表示制御装置、画像表示システム、表示制御方法およびプログラム
【課題】
会議の途中で映像が消えないようにし、会議の進行を妨げないようにすることができる装置や方法を提供する。
【解決手段】 この装置は、複数の入力デバイスと接続可能で、1つの入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる制御を行う表示制御装置である。表示制御装置は、入力される映像信号を構成するフレーム画像の画像データを取得するキャプチャ手段と、映像信号の入力の有無を検知し、入力の有無に応じて表示装置に映像またはフレーム画像を表示させるように指示する信号検知手段と、入力がなくなったことを検知し、フレーム画像を表示させる指示を受けた場合に、キャプチャ手段が最後に取得した画像データからフレーム画像を生成して表示装置に表示させる制御手段とを含む。
会議の途中で映像が消えないようにし、会議の進行を妨げないようにすることができる装置や方法を提供する。
【解決手段】 この装置は、複数の入力デバイスと接続可能で、1つの入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる制御を行う表示制御装置である。表示制御装置は、入力される映像信号を構成するフレーム画像の画像データを取得するキャプチャ手段と、映像信号の入力の有無を検知し、入力の有無に応じて表示装置に映像またはフレーム画像を表示させるように指示する信号検知手段と、入力がなくなったことを検知し、フレーム画像を表示させる指示を受けた場合に、キャプチャ手段が最後に取得した画像データからフレーム画像を生成して表示装置に表示させる制御手段とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示画面に表示させる映像を制御する表示制御装置、その表示制御装置を含む画像表示システム、その制御方法およびプログラムに関する。
【背景技術】
【0002】
液晶やプラズマ等のフラットパネルやプロジェクタを用いたディスプレイに、タッチパネルを搭載した電子情報ボードと呼ばれる機器が使用されるようになってきている。この電子情報ボードは、PCを接続することができ、接続したPCの画面を拡大して表示する機能を有することから、教育現場や企業等における会議等に利用されている。
【0003】
この電子情報ボードは、搭載するタッチパネル機能を用い、表示している画面を直接タッチすることで、その画面を表示させているPCを操作する機能も備える。また、この電子情報ボードの提供に合わせて、PC上で動作する電子黒板アプリケーションが提供される。電子黒板アプリケーションは、黒板の役割を果たす画面を提供し、その上に手書き文字等を、タッチパネルを介して描く機能や、PCの画面を取り込み、その上に手書き文字等を重畳して描く機能等を提供する。
【0004】
このような電子情報ボートの具体的な製品として、日立ソフトウェアエンジニアリング社のStarBoard(登録商標)や、パイオニア社のサイバーカンファレンス(登録商標)等が知られている。
【0005】
上述した手書き文字等を描く機能や、手書き文字等を重畳して描く機能を実現可能な電子情報ボードを利用することで、会議において、説明のための資料を表示させながら、適宜画面上に指摘事項等の書き込みを直接行うことができる。また、必要に応じて書き込みを含む画面内容を記録することができる。その結果、会議終了時に画面内容を振り返り、画面内容を再利用することができ、効率的に結論等をまとめることができる。
【0006】
ところで、ビデオ入力技術の発展により、HDMI(High-Definition Multimedia Interface)やVGA(Video Graphics Array)を含む複数のビデオ入力をサポートする機器が普及し、それに伴い、様々な規格のビデオ入力ケーブルを接続することができるようになっている。電子情報ボードも、複数のビデオ入力をサポートしており、様々な規格のビデオ入力ケーブルを接続することが可能である。そのため、複数のPCを接続し、各PCの画面を切り替えて表示させることが可能となっている。
【0007】
例えば、電子ホワイトボードに複数台のコンピュータを、切替手段を介して接続し、いずれかのコンピュータを選択し、その選択したコンピュータから電子ホワイトボードへ映像信号を供給し、その選択したコンピュータと電子ホワイトボードとの間でコントロール信号を送受信する技術が提案されている(特許文献1参照)。
【発明の概要】
【発明が解決しようとする課題】
【0008】
こういった機能を備える電子情報ボードを利用した会議では、会議の進行を妨げることなく、電子情報ボードが操作され、必要な情報が表示され、入力されることが重要である。しかしながら、従来の電子情報ボードでは、映像表示のために接続したデバイスの表示信号を停止するか、接続ケーブルを引き抜く等の操作をした場合、それまでに表示していた映像がなくなってしまうことから、映像が消えてしまう。これでは、会議の途中で映像が消えることになり、会議の進行を妨げてしまう。
【0009】
したがって、現在画面を表示させているデバイスのケーブルを引き抜いたとしても、映像が消えることなく、継続して電子情報ボード上に画面表示させることができる装置や方法の提供が望まされていた。
【課題を解決するための手段】
【0010】
本発明は、上記課題に鑑み、複数の入力デバイスと接続可能で、1つの入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる制御を行う表示制御装置であって、入力される映像信号を構成するフレーム画像の画像データを取得するキャプチャ手段と、映像信号の入力の有無を検知し、当該入力の有無に応じて表示装置に映像またはフレーム画像を表示させるように指示する信号検知手段と、当該入力がなくなったことを検知し、フレーム画像を表示させる指示を受けた場合に、キャプチャ手段が最後に取得した画像データからフレーム画像を生成して表示装置に表示させる制御手段とを含む、表示制御装置が提供される。
【図面の簡単な説明】
【0011】
【図1】本実施形態の画像表示システムの構成例を示した図。
【図2】本実施形態の表示制御装置としてのコントローラのハードウェア構成を例示した図。
【図3】図3に示すコントローラが備える映像キャプチャデバイスのハードウェア構成を例示した図。
【図4】コントローラの第1実施形態を示した機能ブロック図。
【図5】コントローラが備える信号検知部が行う処理の流れを示したフローチャート図。
【図6】信号検知部が設定するポート入力信号フラグを例示した図。
【図7】コントローラが実行する全体の処理の流れを示した第1フローチャート図。
【図8】コントローラが実行する全体の処理の流れを示した第2フローチャート図。
【図9】コントローラが実行する全体の処理の流れを示した第3フローチャート図。
【図10】映像を再生する処理の流れを示したシーケンス図。
【図11】コントローラの第2実施形態を示した機能ブロック図。
【図12】割り込み発生時の処理の流れを示したシーケンス図。
【図13】信号検知部が映像信号の入力を検知したときの処理の流れを示したフローチャート図。
【図14】信号検知部が映像信号の入力がなくなったことを検知したときの処理の流れを示したフローチャート図。
【図15】映像キャプチャデバイスの他のハードウェア構成を例示した図。
【図16】ポート入力信号フラグの他の例を示した図。
【発明を実施するための形態】
【0012】
図1は、本実施形態の画像表示システム100の構成例を示した図である。画像表示システム100は、映像を表示する表示装置110と、表示装置110へその映像を構成するフレーム画像の画像データを入力する入力デバイスとしてのPC120と、表示装置110とPC120とを接続し、表示装置110の画像表示を制御するための表示制御装置として用いられるコントローラ130とを含んで構成される。ここでは、表示装置110とコントローラ130とが分離されて別個に構成されているが、同じ筐体に表示装置110とコントローラ130とを収納し、一体として構成されていてもよいものである。
【0013】
表示装置110は、ケーブル140によってコントローラ130と接続され、コントローラ130によって描画された連続するフレーム画像を一定速度で順に表示することにより映像を表示する装置である。表示装置110は、フレーム画像を表示する表示部と、フレーム画像の画像データを受け付けるデータ入力部とを含んで構成される。
【0014】
フレーム画像の画像データは、例えば、各画素に対する各色の輝度値として与えられるデジタルデータとされ、表示部は、そのデータを受け付けると、表示画面上の対応する位置にある各画素に各輝度値を与えることによりそのフレーム画像を表示画面に表示する。デジタルデータは、連続するフレーム画像の画像データを一定速度で供給するものであるから、表示部は、これを再生することにより、映像を表示画面に表示することができる。
【0015】
表示部は、その表面にタッチパネルが設置されていてもよく、タッチパネルを構成する位置入力装置である接触位置センサによりユーザがタッチした位置を検出することができる。タッチパネルは、その動作原理に応じて、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式等があり、いずれかの方式を採用することができる。なお、ユーザがタッチした位置の情報は、図示しないケーブルを介してユーザ入力としてコントローラ130へ送られ、処理される。
【0016】
表示装置110は、複数の操作ボタンを含んでいてもよい。操作ボタンとしては、画像を表示するだけの表示モードと手入力可能な入力モードの切り替え、指でタッチして選択や文字等の入力が可能なタッチモードとタッチペンを使用して選択や文字等の入力が可能なペンモードの切り替え、ペンの色の変更、ツールバー表示の切り替え、入力した文字等を消すための消しゴム機能の使用、PC操作等を挙げることができる。
【0017】
表示部がタッチパネルを備える場合、コントローラ130は、表示装置110の操作ボタンにより選択されたモード等に応じ、その位置を選択したり、画像を拡大または縮小等しているのか、文字等の入力なのかを判断することができる。また、コントローラ130は、文字等の入力モードであれば、画面に接触した連続する位置の情報をユーザ入力として受け付け、その情報から文字等の画像データを生成し、その画像データを用いて現在表示されている画像に重畳させる画像データを生成して再び表示装置110へ入力することができる。
【0018】
データ入力部は、コントローラ130から連続してフレーム画像の画像データの入力を受け付ける。本実施形態では、データ入力部は、HDMI端子により構成されるHDMI入力コネクタや、VGA端子により構成されるVGA入力コネクタとすることができ、コントローラ130から映像ケーブル140を介してHDMI信号やVGA信号として連続するフレーム画像の画像データを受け付けることができる。他の実施形態では、データ入力部は、Bluetooth(登録商標)やWiFi等の無線通信プロトコルに準拠した無線通信により、コントローラ130からフレーム画像の画像データの入力を受け付けることも可能である。このため、表示装置110およびコントローラ130は、電波を送受信するための送受信機を備えることができる。
【0019】
PC120は、表示画面を備えており、その表示画面に表示されている画像の画像データを、コントローラ130を介して表示装置110へ入力する。このため、PC120は、コントローラ130とケーブル150で接続される。PC120としては、デスクトップPC、ノートPC、タブレットPC等を挙げることができるが、携帯電話、スマートフォン、PDA(Personal Digital Assistant)等であってもよい。PC120は、コントローラ130へケーブル150を使用して接続するため、データ入力部と同様のHDMI入力コネクタやVGA入力コネクタを備えることができる。ここではケーブル150を使用した構成を例示しているが、PC120は、電波を送受信するための送受信機を備え、コントローラ130と無線通信により接続可能にされていてもよい。
【0020】
PC120は、PENTIUM(登録商標)プロセッサまたは互換プロセッサ等のプロセッサを搭載し、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、ITRON、μITRONなどのOSの管理下で、アセンブラ、C、C++、Java(登録商標)、JavaScript(登録商標)、PERL、RUBY、PYTHONなどのプログラム言語で記述されたプログラムを実行することができる。また、PC120は、そのプログラムを実行するための実行空間を提供するRAM、そのプログラムやデータなどを持続的に保持するためのハードディスク装置(HDD)等を含み、表示装置110に映像を表示させるために映像信号を生成し、コントローラ130へ入力するプログラムを実行する。
【0021】
コントローラ130は、PC120から受け付けた映像信号を構成するフレーム画像の画像データを処理し、必要に応じて手書き文字等の画像を重畳させた合成画像の画像データを生成し、表示装置110へ入力する。コントローラ130は、この処理を実現するためのプログラムを保持する。このプログラムは、HDD、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROM等のコンピュータ可読な記録媒体に格納して頒布することができ、また、ネットワークを介してダウンロードすることにより実装することが可能である。
【0022】
コントローラ130について詳細に説明するために、図2〜図4を参照する。図2は、コントローラ130のハードウェア構成を例示した図である。コントローラ130は、PCアーキテクチャにより構成され、メモリ200と、CPU210と、HDD220と、ビデオアダプター230と、映像キャプチャデバイス240とを含む。メモリ200は、データやコマンドを格納し、HDD220は、アプリケーションやOS等を長期的に保存するために用いられる。CPU210は、メモリ200からデータやコマンドを読み出し、また、HDD220からアプリケーションやOS等を読み出し、実行する。この実行により、表示装置110の画像表示の制御を行う。
【0023】
ビデオアダプター230は、表示装置110へフレーム画像の画像データを入力し、その表示画面に描画を行う。映像キャプチャデバイス240は、PC120から入力された映像信号を構成するフレーム画像の画像データを、その映像信号から取得し、その画像データをメモリに保存する。このため、映像キャプチャデバイス240は、画像データのキャプチャ手段として機能する。
【0024】
映像キャプチャデバイス240は、図3に示すようなハードウェア構成とされる。映像キャプチャデバイス240は、PC120からの映像信号の入力を受け付けるためのディスプレイポート300と、VGAポート310とを備える。ディスプレイポート300は、液晶ディスプレイ等のデジタルディスプレイ装置のために設計された映像入力インタフェースであり、DVI(Digital Visual Interface)信号を受け付ける。VGAポート310は、アナログのRGBコンポーネント映像信号の入力を受け付けるための映像入力インタフェースである。
【0025】
ディスプレイポート300は、ディスプレイレシーバを備え、VGAポート310は、VGAレシーバを備える。これらのレシーバは、入力された信号を量子化する。そして、これらのレシーバは、量子化された信号を一定間隔で1ラインずつ走査し、後述するバッファ制御部330へ転送する。
【0026】
映像SW320は、ディスプレイポート300とVGAポート310とに接続され、ディスプレイポート300またはVGAポート310のいずれか一方を選択し、選択したポートから量子化された信号を、バッファ制御部330へ転送する。バッファ制御部330は、映像SW320を通して転送された、量子化されたデジタル信号をフレーム画像の画像データとしてメモリ350へ一時的に保存する。そして、映像SW320を通してすべてのデータがバッファ制御部330へ転送され、メモリ350に一時保存された後、バッファ制御部330は、DMA(Digital Memory Access)転送部340へDMAを開始するように指示する。DMAは、入出力装置がCPUを介さずにメモリとの間でデータを転送する方式である。
【0027】
DMA転送部340は、その指示を受けて、バッファ制御部330を利用して、メモリ350から転送する準備ができたフレーム画像の画像データを、PCIe(Peripheral Component Interconnect Express)インタフェース360を通してコントローラ130が備えるメモリ200へ転送する。フレーム画像の画像データは、DMA転送部340から転送されるたびに上書きされ、更新することもできるし、各々が別個のファイルとしてメモリ200に格納されてもよい。メモリ200の容量に上限があることを考慮すれば、最新のデータのみを保持するように上書きして更新することが望ましい。
【0028】
PCIeインタフェース360は、フレーム画像の画像データをパケット化し、パケット化したフレーム画像の画像データにシーケンス番号や誤り検出符号を付加し、シリアルデータとしてメモリ200へ転送する。
【0029】
コントローラ130は、HDD220に格納されているOSをCPU210が呼び出し実行して、そのOSによる制御の下、アプリケーションを読み出し実行する。図4に示す第1実施形態のコントローラ130のように、このOSの実行により、CPU210は、描画機能部400と、映像キャプチャデバイスドライバ部410として機能する。また、アプリケーションの実行により、CPU210は、信号検知部420と、再生制御部430と、サンプル取得部440と、描画部450と、手書き機能部460として機能する。
【0030】
描画機能部400は、アプリケーションおよびその他のソフトウェアの描画命令を合成し、ビデオアダプター230を制御して、表示装置110の表示画面に、2つの画像を合成して表示させる。映像キャプチャデバイスドライバ部410は、映像キャプチャデバイス240を制御する。
【0031】
描画機能部400は、その機能を実現するために、OSの既存の機能を利用することができる。既存の機能として、OSがWindows(登録商標)である場合、Desktop Windows(登録商標) Manager、GDI、DirectX等の機能を利用することができる。映像キャプチャデバイスドライバ部410は、映像キャプチャデバイス240の制御として、例えば、映像キャプチャデバイス240のレジスタ値を設定したり、DMA転送の際、メモリ350の目的物理アドレスを指示したりする。
【0032】
信号検知部420は、信号検知手段として機能し、映像キャプチャデバイスドライバ部410を介して映像信号の入力の有無を検知する。再生制御部430は、制御手段の1つとして機能し、信号検知部420またはユーザからの指示を受けて、サンプル取得部440および描画部450の動作を制御する。サンプル取得部440も、制御手段の1つとして機能し、映像キャプチャデバイスドライバ部410を介して1フレームずつ画像を取得するように指示する。
【0033】
また、描画部450も、制御手段の1つとして機能し、描画機能部400に指示し、表示装置110の表示画面の中の指定された部分に、PC120の画面に表示されている画像と、手書き機能部460により生成したユーザが手書きした画像とを合成し、表示させる。手書き機能部460は、表示画面にユーザがタッチすることにより入力した文字や図形といった情報を取得し、その取得した情報から合成するための入力画像を生成する。このときの情報としては、タッチした位置座標等が挙げられる。
【0034】
描画機能部400は、合成した画像の画像データを生成し、その画像データを表示装置110へ入力して表示部に表示させる。ここでは合成した画像を表示させているが、手書きした画像がなければ合成しなくてもよい。
【0035】
コントローラ130は、映像信号の入力がなくなった場合においても、事前に自動的に映像をキャプチャするので、そのキャプチャした映像を表示させることができる。このため、会議途中で、ケーブルが引き抜かれたとしても、手動で画面を切り替える必要がないため、その会議の進行を妨げずに利用者が望む表示を実現することができる。
【0036】
このコントローラ130が行う処理について以下に詳細に説明する。まず、コントローラ130のスタートアップ時に信号検知部420が行う処理について説明する。図5は、この信号検知部420が行う処理の流れを示したフローチャート図である。ステップ500から処理を開始し、ステップ505で、信号検知部420は、映像キャプチャデバイスドライバ部410が有するレジスタアクセス機能を利用し、映像キャプチャデバイス240が備えるディスプレイポート300およびVGAポート310に問い合わせ、それらのポートに映像信号の入力があるかどうかを確認する。
【0037】
映像キャプチャデバイス240のレジスタ値は、映像信号の入力があるかどうかに関連した値であり、信号検知部420がこのレジスタ値を読み取り、レジスタ値から映像信号の入力の有無を確認することができる。
【0038】
次に、ステップ510で、それぞれのポートにつき、フラグの接続状態を設定する。フラグとしては、図6に示すようなテーブルを例示することができる。フラグは、各ポートに割り当てられたポート番号と、入力デバイスが接続されているか否かを示す接続状態と、接続された時刻のタイムスタンプとを対応付けたものとされる。図6では、接続状態が、映像信号の入力がある場合をONとして示し、映像信号の入力がない場合をOFFとして示している。ステップ510で、すべてのポートの初期状態として、フラグをOFFにして、タイムスタンプを0にする。
【0039】
例えば、ポート2に映像信号の入力があると判断されれば、接続状態をONに設定し、そのときの時刻をタイムスタンプとして設定する。すべてのポートにつき、設定が終了したところで、ステップ515へ進み、このスタートアップ時の処理を終了する。
【0040】
上記のスタートアップ後、コントローラ130が行う処理について、図7〜図9に示すフローチャートを参照して説明する。図7に示すステップ700から処理を開始し、ステップ705で、信号検知部420は、一定時間間隔で各ポートへの映像信号の入力の有無を確認する。コントローラ130を起動後、信号検知部420は、OSのタイマー割り込みが一定時間経過する毎に発生するため、そのタイマー割り込みを監視し、それが発生した時点で、映像キャプチャデバイスドライバ部410を介して映像キャプチャデバイス240にアクセスし、その映像キャプチャデバイス240が保持するレジスタ値を読み取り、そのレジスタ値から映像信号の入力の有無を確認することができる。
【0041】
ステップ710で、信号検知部420は、1つのポートにつき、接続状態をフラグに設定された接続状態と比較する。そして、ステップ715で、信号検知部420は、接続状態に変化があるかどうかを判断する。接続状態が前回の確認の結果と同じである場合は、ステップ720へ進み、信号検知部420は、再生制御部430に指示し、再生制御部430がサンプル取得部440の動作を制御して、そのポートに接続されている入力デバイスから映像を構成するフレーム画像の画像データを受け付けて取得し、描画部450に指示して、そのフレーム画像の画像データを表示装置110へ入力し、映像を表示させているかを判断する。
【0042】
表示中であれば、その映像はタイムスタンプが最も新しいポート番号に接続された入力デバイスからの映像である。このため、コントローラ130は、表示を継続させるべく、信号検知部420が、ステップ725で、映像キャプチャデバイスドライバ部410を介して映像キャプチャデバイス240がキャプチャした画像を一時保存する。
【0043】
このキャプチャ画像は、現在映像を表示させている入力デバイスの接続が切断されたときに表示させるためにも用いられる。キャプチャ画像は、フレーム画像の画像データとしてメモリ350に格納されるが、切断時に読み出され、ビデオアダプター230によって描画され、表示装置110の表示画面上に表示される。具体的には、信号検知部420がメモリ350に格納される画像データを取得する。そして、信号検知部420が再生制御部430に指示し、再生制御部430が描画部450に指示し、描画部450が描画機能部400に指示して、描画機能部400がビデオアダプター230を使用して描画する。
【0044】
これに対し、表示されていない場合は、前回確認したときも、今回の確認でもそのポートにPC等が接続されていないか、接続されてはいるが、タイムスタンプが古いので表示されないかである。このため、信号検知部420は、何も実行しない。したがって、この場合は、ステップ745へ進むことになる。
【0045】
ステップ715で、接続状態に変化があると判断された場合、ステップ730へ進み、前回が入力信号なしであれば今回はあり、前回が入力信号ありであれば今回はなしということであるため、フラグの接続状態の設定を変更するべく、フラグを更新する。更新したフラグを参照し、ステップ735でその接続状態がONで、映像信号の入力があるかどうかを判断する。映像信号の入力がある場合は、新しく接続されたことを意味するので、ステップ740でタイムスタンプを更新する。そして、ステップ745へ進む。
【0046】
ステップ735でその接続状態がOFFで、映像信号の入力がないと判断した場合、接続が切断されたことを意味するので、何も実行することなくステップ745へ進む。タイムスタンプは、接続された時刻を示すものであるから、切断された場合は更新されない。しかしながら、ステップ725で画像をキャプチャした後は、新しく接続していないが、ステップ740へ進み、そのキャプチャした時刻へタイムスタンプを更新する。
【0047】
ステップ745では、すべてのポートにつき、接続状態をフラグに設定された接続状態と比較したかどうかを判断する。まだ比較していないポートがある場合、ステップ710へ戻り、比較していないポートにつき比較を行う。これに対し、すべてのポートにつき比較が終了した場合は、Aで示される処理ステップへ進む。
【0048】
図8は、コントローラ130が行う処理の続きを示したフローチャート図である。Aで示される処理ステップに続いて、まず初めに、ステップ805で、信号検知部420がフラグを参照し、各ポートのタイムスタンプを確認する。次に、ステップ810で、1つのポートの接続状態を確認する。そして、ステップ815で、その接続状態がONであるかどうかを判断する。ONである場合、ステップ820へ進み、タイムスタンプが最も新しい時刻を示すものであるかどうかを判断する。そうである場合、ステップ825へ進み、そのポート番号を一時的に記録し、ステップ830へ進む。
【0049】
ステップ815で、その接続状態がOFFであると判断された場合、ステップ820で、タイムスタンプが最も新しい時刻を示すものではないと判断された場合、ステップ830へ進む。ステップ830では、すべてのポートにつき、接続状態の確認を終えたかどうかを判断する。まだ終えていないポートが存在する場合、ステップ810へ戻り、まだ確認していないポートにつき、ステップ810〜825までの同様の確認を行う。
【0050】
ステップ830ですべてのポートにつき接続状態の確認を終えたと判断した場合、ステップ835へ進み、現在、表示装置110の表示画面上に表示させている映像の映像信号が入力されるポート番号と、ステップ825で一時的に記録したポート番号とを比較し、違うかどうかを判断する。この表示中のポートを指示する変数は、スタート時にダミーな値が付与され、新しい入力を検知した場合に随時更新される。
【0051】
ステップ835で違うと判断した場合、ステップ840へ進み、現在表示中の映像の表示を終了する。表示装置110の表示画面に表示させたい映像は、コントローラ130に接続した時刻が最も新しいものである。ステップ835で違うと判断された場合、その最も新しい映像とは異なっていることを示す。したがって、最も新しい映像に切り替えるべく、このステップ840では、それより古い、現在表示中の映像の表示を終了する。
【0052】
ステップ845では、最も新しい映像を取得するべく、信号検知部420は、再生制御部430に指示し、サンプル取得部440および描画部450のリソースを解放する。これにより、サンプル取得部440が、現在表示中の映像を構成する次のフレーム画像を取得するのを停止し、描画部450も、表示装置110の表示画面への描画を停止する。
【0053】
ステップ850では、映像キャプチャデバイスドライバ部410が、映像SW320を入力ポートに接続した時刻が最も新しい入力デバイスへ切り替え、その入力デバイスからの映像信号の入力を受け付ける。ステップ855では、再生制御部430が、サンプル取得部440および描画部450を初期化し、ステップ860で、それらに指示して、映像サンプルの取得を開始させ、表示装置110への描画を開始させて、映像の表示を開始する。その後、Bで示される処理ステップへ進む。
【0054】
ステップ835で同じと判断した場合、現在表示中の映像を表示し続ければよいため、ステップ840〜860のような処理を行う必要はなく、直接Bで示される処理ステップへ進む。
【0055】
図9は、コントローラ130が行う処理の続きを示したフローチャート図である。Bで示される処理ステップに続いて、ステップ905で、表示中のポートのフラグを参照し、そのフラグの接続状態がOFFになっているかどうかを確認する。
【0056】
表示中のポートのフラグの接続状態がOFFになっていない場合、ステップ915へ進み、表示中のポートのポート番号と、一時記録したポート番号とが同じであるかどうかを判断する。ポート番号が異なる場合は、ステップ920へ進み、表示中のポート番号を更新し、ステップ925でこの処理を終了する。
【0057】
これに対し、表示中のポートのフラグの接続状態がOFFになっている場合、接続が切断されたことを示すため、最後に接続されたポートからキャプチャされた画像を表示させる。このため、ステップ910へ進み、最後にキャプチャした画像の画像データをメモリ350から取得し、その画像を表示装置110の表示画面上に表示させる。この表示後、ステップ915へ進み、上記と同様、表示中のポート番号と、一時記録したポート番号とが同じであるかどうかを判断し、異なる場合、ステップ920へ進み、表示中のポート番号を更新し、ステップ925でこの処理を終了する。
【0058】
ステップ915で、表示中のポート番号と、一時記録したポート番号とが同じ場合は、ステップ925へ直接進み、この処理を終了する。
【0059】
これまでコントローラ130が行う処理について詳細に説明してきたが、映像を再生する際のコントローラ130が備える各部の動作について、図10に示すシーケンス図を参照して説明する。コントローラ130は、CPU210と、HDD220と、映像キャプチャデバイス240というハードウェアを備えており、HDD220に記憶されるアプリケーションおよびOSをCPU210が実行することにより、上述した描画機能部400、映像キャプチャデバイスドライバ部410、描画部450、再生制御部430、サンプル取得部440として機能する。
【0060】
表示装置110の表示画面に映像を表示する場合、その映像を構成するフレーム画像の画像データを取得しなければならない。そのため、信号検知部420またはユーザの指示を受け、再生制御部430がサンプル取得部440に画像データを取得するように指示する。この指示は、どのポート番号に接続されている入力デバイスから画像データを取得するかを示したものである。サンプル取得部440は、画像データというサンプルを取得するために、映像信号の入力を受け付ける映像キャプチャデバイス240を呼び出す必要がある。このため、サンプル取得部440は、映像キャプチャデバイスドライバ部410に対し、映像キャプチャデバイス240を呼び出し、サンプルを取得させるように指示する。
【0061】
映像キャプチャデバイスドライバ部410は、サンプル取得部440からの指示を受けて、映像キャプチャデバイス240を呼び出し、その映像キャプチャデバイス240が備えるバッファ制御部330にサンプル取得を指示する。バッファ制御部330は、映像SW320に対し、その指示を受け、量子化された1フレームの画像の画像データを取得するように指示する。映像SW320は、指示されたポート番号のポートへ入力され、そのポートから出力された1フレームの画像の画像データを取得する。
【0062】
映像SW320は、指示を受けたバッファ制御部330へ、取得した1フレームの画像の画像データを返送する。バッファ制御部330は、その1フレームの画像の画像データを取得し、DMA転送部340に対し、DMA転送を指示する。DMA転送部340は、映像キャプチャデバイスドライバ部410からの指示に従って、指定されたメモリアドレスへDMA転送を行う。
【0063】
DMA転送部340は、画像データの転送が終了すると、映像キャプチャデバイスドライバ部410へ通知する。映像キャプチャデバイスドライバ部410は、その通知を受け、サンプルの取得が完了したことをサンプル取得部440へ通知し、その画像データが格納されているメモリアドレスおよびデータサイズの情報を渡す。サンプル取得部440は、再生制御部430へサンプルの取得が完了したことを通知し、そのメモリアドレスおよびデータサイズの情報を渡す。
【0064】
再生制御部430は、描画部450に対し、この情報を渡し、映像を表示させるために描画を指示する。描画部450は、そのメモリアドレスへアクセスして取得した1フレームの画像の画像データを加工し、描画機能部400へ描画を指示する。描画機能部400は、その指示を受け、1フレームの画像を、指定された通りに表示画面上に描画し、表示させる。
【0065】
なお、サンプル取得部440は、再生制御部430へ1フレームの画像の画像データの取得が完了したことを通知した後、次のフレーム画像の画像データを取得するために、映像キャプチャデバイスドライバ部410へサンプル取得を指示する。このようにして、すべてのフレーム画像の画像データを取得し、取得した順に描画して表示させることにより、表示装置110の表示画面上に映像を表示させることができる。
【0066】
図4に示すコントローラ130の構成では、一定時間間隔で映像信号の入力の有無を確認する構成とされていたが、映像信号の入力の有無が変化した場合に割り込みによって信号検知部420へ通知し、映像信号の入力の有無を確認する構成を採用することも可能である。これを実現するために、図11に示すような構成を採用することができる。
【0067】
図11は、コントローラ130の第2実施形態を示した機能ブロック図である。コントローラ130が、描画機能部400、映像キャプチャデバイスドライバ部410、信号検知部420、再生制御部430、サンプル取得部440、描画部450、手書き機能部460を備える点では、上記第1実施形態のコントローラ130と同様であるが、さらにプロセス管理機能部470を備える点で異なっている。描画機能部400等についてはすでに説明したので、ここではプロセス管理機能部470についてのみ説明する。
【0068】
プロセス管理機能部470を説明するために、図12に示すシーケンス図を参照する。ディスプレイポート300およびVGAポート310はいずれも、レシーバを備えており、レシーバは、映像信号の入力がありからなしへ、またはなしからありへと変化すれば、その変化を検知する。また、ディスプレイポート300およびVGAポート310は、映像信号の入力が始まれば、DMA転送を開始し、その入力がなくなれば、DMA転送を停止する。
【0069】
映像信号の入力の有無の変化は、OSを実行するCPU210へ伝えられ、OSへの割り込みを発生させる。OSの実行により機能する映像キャプチャデバイスドライバ部410は、その割り込みを検知する。映像キャプチャデバイスドライバ部410は、この割り込みを処理させるため、プロセス管理機能部470を呼び出す。
【0070】
プロセス管理機能部470は、コントローラ130が起動する際に登録されたアプリケーションへのコールバック関数を保持する。コールバック関数は、割り込みを検知するための処理と、その割り込みが発生したときに実行すべき処理とを記述するものである。プロセス管理機能部470は、映像キャプチャデバイスドライバ部410からの通知を受けて、割り込みを検知し、実行すべき処理として、信号検知部420に対し、映像信号の入力の有無の通知を行う。信号検知部420は、この通知を受けて、上述した各処理を実行する。コールバック関数としては、OSがwindows(登録商標)である場合、windows(登録商標)メッセージを処理する関数等が挙げられる。
【0071】
例えば、信号検知部420は、入力信号ありという通知を受け、図13に示すような処理を実行する。ステップ1300からその処理を開始し、ステップ1305で、映像信号の入力を検知する。このとき、映像信号が入力されるポートのポート番号を取得する。ステップ1310で、図6に示すようなフラグのポート番号に対する接続状態をOFFからONへ変更する。この処理は、図7に示すステップ730に相当する処理である。
【0072】
信号検知部420は、入力信号ありという通知を受けているので、続いてステップ1315でフラグのタイムスタンプを更新する。このため、このタイムスタンプが現在に最も近い時刻を示すものである。また、ここで始めて映像信号が入力されるため、現在、表示装置110の表示画面に映像が表示されていれば、その映像の映像信号とは異なる信号である。
【0073】
したがって、ステップ1320では、図8に示すステップ840に相当する、現在表示中の映像の表示を終了する。新しく入力された映像信号へ切り替え、その映像を表示させるためである。
【0074】
次に、ステップ1325で、信号検知部420が、再生制御部430に指示し、サンプル取得部440および描画部450のリソースを解放する。これにより、サンプル取得部440が、現在表示中の映像の次の画像の画像データを取得するのを停止し、描画部450も、表示装置110の表示画面への描画を停止する。
【0075】
ステップ1330で、映像キャプチャデバイスドライバ部410が、映像SW320をそのポートへ切り替え、そのポートに接続される入力デバイスからの映像信号の入力を受け付ける。ステップ1335で、再生制御部430が、サンプル取得部440および描画部450を初期化し、ステップ1340で、それらに指示して、映像サンプルの取得を開始させ、表示装置110への描画を開始させて、映像の表示を開始する。その後、ステップ1345へ進み、現在表示中のポート番号を更新し、ステップ1350でこの処理を終了する。
【0076】
図13に示した処理は、新しく任意のポートに入力デバイスが接続され、映像信号がそのポートに入力された場合の処理である。任意のポートに接続された入力デバイスは、ユーザがケーブルに接触することで、そのケーブルが抜けて接続が切断される場合がある。また、ユーザがケーブルを引き抜き、接続を切断したり、入力デバイスにおいて映像信号の入力を停止する場合もある。この場合の処理について、図14を参照して説明する。ポートへの映像信号の入力がなくなり、変化が生じると、割り込みが発生し、映像キャプチャデバイスドライバ部410がこの割り込みを処理する。
【0077】
ステップ1400から処理を開始し、ステップ1405で、信号検知部420は、映像キャプチャデバイスドライバ部410から映像信号の入力なしという通知を受ける。このとき、映像信号の入力がなくなったポートのポート番号を取得する。ステップ1410で、図6に示すようなフラグのポート番号に対する接続状態をONからOFFへ変更する。この処理は、図7に示すステップ730に相当する処理である。
【0078】
信号検知部420は、映像信号の入力なしという通知を受けているので、ステップ1415でそのポートが表示中の映像の映像信号を供給する入力デバイスが接続されたポートであるかどうかを判断する。具体的に、該当するポートのポート番号と、現在表示中のポート番号とを比較する。そうである場合、表示中の映像の映像信号を供給することができなくなるため、ステップ1420で、信号検知部420は、再生制御部430にDMA転送を停止する直前にDMA転送部340がメモリ200へ転送した画像データの取得を指示し、再生制御部430がサンプル取得部440に指示してその画像データを取得する。そして、ステップ1425で、再生制御部430は、取得した画像データを描画部450へ送り、画像の描画を指示し、表示装置110の表示画面上に画像を表示させる。この表示により、ステップ1430で処理を終了する。
【0079】
これに対し、違う場合は、表示中の映像の映像信号を供給する入力デバイスが他のポートに接続され、その映像信号の供給が可能であるため、その映像信号の供給を継続することができる。したがって、ステップ1430へ直接進み、この処理を終了する。
【0080】
これまで本発明の表示制御装置について、2つの実施形態を例示し、各構成および処理の内容を詳細に説明してきた。しかしながら、本発明は、これらの実施形態に限定されるものではない。
【0081】
例えば、コントローラ130は、図3に示した複数のポートを備える映像キャプチャデバイス240を含む構成ではなく、図15(a)、(b)に示すような1つのポート、制御部、メモリ、PCleインタフェースを備える複数の映像キャプチャデバイスを含む構成とすることも可能である。
【0082】
この場合、フラグは、ポート番号に代えて、映像キャプチャデバイスを識別するためのデバイス番号といったデバイス識別情報が用いられることになる。図16に、そのフラグを表すテーブルを例示する。テーブルには、デバイス番号に対応付けて接続状態を示す「ON」、「OFF」と、接続された日時、時刻を表すタイムスタンプとが示されている。
【0083】
コントローラ130は、図2に示したハードウェアを備えるものであればいかなる装置であってもよく、PC、サーバ、ワークステーション等であってもよい。また、コントローラ130が実行する上記の表示制御処理は、アプリケーションやOSといったプログラムとして構成し、そのプログラムを提供することにより実現することができる。したがって、本発明では、そのプログラムも提供することができ、プログラムは、CD−ROMやSDカード等の記録媒体に格納して提供することもできるし、サーバ等に格納し、要求に応じてダウンロードするという形式により提供することも可能である。
【0084】
このような本発明の表示制御装置、表示制御方法およびプログラムを提供することで、入力デバイスの接続が切断された場合であっても、手動で切り替えなくても、自動的に事前に取得した画像を表示させることができる。このため、メモやスナップショットを取る前に接続が切断されたとしても、自動に画像が表示されるので、メモを取ることが可能になり、スナップショットを取ることも可能となる。また、手書き入力において書き足したい場合もあり、それが可能となる。
【0085】
また、新たに接続した入力デバイスの映像信号が入力された場合に、自動で切り替えて表示されるので、ユーザの手を煩わせることなく、その映像信号の映像を表示させることができる。新たに入力される映像は、画像表示システムの利用者に対して最も見せたい映像である。したがって、新たに入力される映像を表示することで、利用者が望む表示を実現することができる。さらに、入力デバイスに電子黒板アプリケーションを実装していなくても、この機能やプログラムを実装することで、映像もしくは画像またはそれらと手書き文字等の合成画像へ自動で切り替え、表示させることができる。これらのことから、会議等の進行を妨げることがなくなる。
【0086】
要するに、本発明では、複数の入力デバイスと接続可能で、1つの入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる制御を行う表示制御装置を提供することができる。この装置は、入力される映像信号を構成するフレーム画像の画像データを取得するキャプチャ手段と、映像信号の入力の有無を検知し、入力の有無に応じて表示装置に映像またはフレーム画像を表示させるように指示する信号検知手段と、入力がなくなったことを検知し、フレーム画像を表示させる指示を受けた場合に、キャプチャ手段が最後に取得した画像データからフレーム画像を生成して表示装置に表示させる制御手段とを含む。
【0087】
そして、信号検知手段は、新たに入力デバイスが接続され、当該入力デバイスからの映像信号の入力を検知した場合、制御手段に対し、当該映像信号により生成した映像を表示させるように指示することができる。そのほか、映像信号の入力がなくなったが、他の入力デバイスからの映像信号の入力があることを検知した場合、制御手段に対し、当該他の入力デバイスからの映像信号により生成した映像を表示させるように指示することもできる。
【0088】
2以上の他の入力デバイスからの映像信号の入力があることを検知する場合もあるが、この場合、2以上の他の入力デバイスのうちの第1入力デバイスが、上記の1つの入力デバイスの直前に、表示装置に表示させる映像の映像信号を入力していたとき、制御手段に対し、当該第1入力デバイスからの映像信号により生成した映像を表示させるように指示することができる。
【0089】
信号検知手段は、一定時間間隔で映像信号の入力の有無を検知する手段、または映像信号の入力の有無が変化したことを検知する手段を含むことができる。これにより、一定時間間隔で映像信号の入力を確認して、または、映像信号の入力がありからなし等へと変化したときに、映像が消えないように他の映像や画像に切り替えることができる。
【0090】
本発明は、上記以外の他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0091】
100…画像表示システム、110…表示装置、120…PC、130…コントローラ、140、150…ケーブル、200…メモリ、210…CPU、220…HDD、230…ビデオアダプター、240…映像キャプチャデバイス、300…ディスプレイポート、310…VGAポート、320…映像SW、330…バッファ制御部、340…DMA転送部、350…メモリ、360…PCIeインタフェース、400…描画機能部、410…映像キャプチャデバイスドライバ部、420…信号検知部、430…再生制御部、440…サンプル取得部、450…描画部、460…手書き機能部、470…プロセス管理機能部
【先行技術文献】
【特許文献】
【0092】
【特許文献1】特開2002−366343号公報
【技術分野】
【0001】
本発明は、表示画面に表示させる映像を制御する表示制御装置、その表示制御装置を含む画像表示システム、その制御方法およびプログラムに関する。
【背景技術】
【0002】
液晶やプラズマ等のフラットパネルやプロジェクタを用いたディスプレイに、タッチパネルを搭載した電子情報ボードと呼ばれる機器が使用されるようになってきている。この電子情報ボードは、PCを接続することができ、接続したPCの画面を拡大して表示する機能を有することから、教育現場や企業等における会議等に利用されている。
【0003】
この電子情報ボードは、搭載するタッチパネル機能を用い、表示している画面を直接タッチすることで、その画面を表示させているPCを操作する機能も備える。また、この電子情報ボードの提供に合わせて、PC上で動作する電子黒板アプリケーションが提供される。電子黒板アプリケーションは、黒板の役割を果たす画面を提供し、その上に手書き文字等を、タッチパネルを介して描く機能や、PCの画面を取り込み、その上に手書き文字等を重畳して描く機能等を提供する。
【0004】
このような電子情報ボートの具体的な製品として、日立ソフトウェアエンジニアリング社のStarBoard(登録商標)や、パイオニア社のサイバーカンファレンス(登録商標)等が知られている。
【0005】
上述した手書き文字等を描く機能や、手書き文字等を重畳して描く機能を実現可能な電子情報ボードを利用することで、会議において、説明のための資料を表示させながら、適宜画面上に指摘事項等の書き込みを直接行うことができる。また、必要に応じて書き込みを含む画面内容を記録することができる。その結果、会議終了時に画面内容を振り返り、画面内容を再利用することができ、効率的に結論等をまとめることができる。
【0006】
ところで、ビデオ入力技術の発展により、HDMI(High-Definition Multimedia Interface)やVGA(Video Graphics Array)を含む複数のビデオ入力をサポートする機器が普及し、それに伴い、様々な規格のビデオ入力ケーブルを接続することができるようになっている。電子情報ボードも、複数のビデオ入力をサポートしており、様々な規格のビデオ入力ケーブルを接続することが可能である。そのため、複数のPCを接続し、各PCの画面を切り替えて表示させることが可能となっている。
【0007】
例えば、電子ホワイトボードに複数台のコンピュータを、切替手段を介して接続し、いずれかのコンピュータを選択し、その選択したコンピュータから電子ホワイトボードへ映像信号を供給し、その選択したコンピュータと電子ホワイトボードとの間でコントロール信号を送受信する技術が提案されている(特許文献1参照)。
【発明の概要】
【発明が解決しようとする課題】
【0008】
こういった機能を備える電子情報ボードを利用した会議では、会議の進行を妨げることなく、電子情報ボードが操作され、必要な情報が表示され、入力されることが重要である。しかしながら、従来の電子情報ボードでは、映像表示のために接続したデバイスの表示信号を停止するか、接続ケーブルを引き抜く等の操作をした場合、それまでに表示していた映像がなくなってしまうことから、映像が消えてしまう。これでは、会議の途中で映像が消えることになり、会議の進行を妨げてしまう。
【0009】
したがって、現在画面を表示させているデバイスのケーブルを引き抜いたとしても、映像が消えることなく、継続して電子情報ボード上に画面表示させることができる装置や方法の提供が望まされていた。
【課題を解決するための手段】
【0010】
本発明は、上記課題に鑑み、複数の入力デバイスと接続可能で、1つの入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる制御を行う表示制御装置であって、入力される映像信号を構成するフレーム画像の画像データを取得するキャプチャ手段と、映像信号の入力の有無を検知し、当該入力の有無に応じて表示装置に映像またはフレーム画像を表示させるように指示する信号検知手段と、当該入力がなくなったことを検知し、フレーム画像を表示させる指示を受けた場合に、キャプチャ手段が最後に取得した画像データからフレーム画像を生成して表示装置に表示させる制御手段とを含む、表示制御装置が提供される。
【図面の簡単な説明】
【0011】
【図1】本実施形態の画像表示システムの構成例を示した図。
【図2】本実施形態の表示制御装置としてのコントローラのハードウェア構成を例示した図。
【図3】図3に示すコントローラが備える映像キャプチャデバイスのハードウェア構成を例示した図。
【図4】コントローラの第1実施形態を示した機能ブロック図。
【図5】コントローラが備える信号検知部が行う処理の流れを示したフローチャート図。
【図6】信号検知部が設定するポート入力信号フラグを例示した図。
【図7】コントローラが実行する全体の処理の流れを示した第1フローチャート図。
【図8】コントローラが実行する全体の処理の流れを示した第2フローチャート図。
【図9】コントローラが実行する全体の処理の流れを示した第3フローチャート図。
【図10】映像を再生する処理の流れを示したシーケンス図。
【図11】コントローラの第2実施形態を示した機能ブロック図。
【図12】割り込み発生時の処理の流れを示したシーケンス図。
【図13】信号検知部が映像信号の入力を検知したときの処理の流れを示したフローチャート図。
【図14】信号検知部が映像信号の入力がなくなったことを検知したときの処理の流れを示したフローチャート図。
【図15】映像キャプチャデバイスの他のハードウェア構成を例示した図。
【図16】ポート入力信号フラグの他の例を示した図。
【発明を実施するための形態】
【0012】
図1は、本実施形態の画像表示システム100の構成例を示した図である。画像表示システム100は、映像を表示する表示装置110と、表示装置110へその映像を構成するフレーム画像の画像データを入力する入力デバイスとしてのPC120と、表示装置110とPC120とを接続し、表示装置110の画像表示を制御するための表示制御装置として用いられるコントローラ130とを含んで構成される。ここでは、表示装置110とコントローラ130とが分離されて別個に構成されているが、同じ筐体に表示装置110とコントローラ130とを収納し、一体として構成されていてもよいものである。
【0013】
表示装置110は、ケーブル140によってコントローラ130と接続され、コントローラ130によって描画された連続するフレーム画像を一定速度で順に表示することにより映像を表示する装置である。表示装置110は、フレーム画像を表示する表示部と、フレーム画像の画像データを受け付けるデータ入力部とを含んで構成される。
【0014】
フレーム画像の画像データは、例えば、各画素に対する各色の輝度値として与えられるデジタルデータとされ、表示部は、そのデータを受け付けると、表示画面上の対応する位置にある各画素に各輝度値を与えることによりそのフレーム画像を表示画面に表示する。デジタルデータは、連続するフレーム画像の画像データを一定速度で供給するものであるから、表示部は、これを再生することにより、映像を表示画面に表示することができる。
【0015】
表示部は、その表面にタッチパネルが設置されていてもよく、タッチパネルを構成する位置入力装置である接触位置センサによりユーザがタッチした位置を検出することができる。タッチパネルは、その動作原理に応じて、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式等があり、いずれかの方式を採用することができる。なお、ユーザがタッチした位置の情報は、図示しないケーブルを介してユーザ入力としてコントローラ130へ送られ、処理される。
【0016】
表示装置110は、複数の操作ボタンを含んでいてもよい。操作ボタンとしては、画像を表示するだけの表示モードと手入力可能な入力モードの切り替え、指でタッチして選択や文字等の入力が可能なタッチモードとタッチペンを使用して選択や文字等の入力が可能なペンモードの切り替え、ペンの色の変更、ツールバー表示の切り替え、入力した文字等を消すための消しゴム機能の使用、PC操作等を挙げることができる。
【0017】
表示部がタッチパネルを備える場合、コントローラ130は、表示装置110の操作ボタンにより選択されたモード等に応じ、その位置を選択したり、画像を拡大または縮小等しているのか、文字等の入力なのかを判断することができる。また、コントローラ130は、文字等の入力モードであれば、画面に接触した連続する位置の情報をユーザ入力として受け付け、その情報から文字等の画像データを生成し、その画像データを用いて現在表示されている画像に重畳させる画像データを生成して再び表示装置110へ入力することができる。
【0018】
データ入力部は、コントローラ130から連続してフレーム画像の画像データの入力を受け付ける。本実施形態では、データ入力部は、HDMI端子により構成されるHDMI入力コネクタや、VGA端子により構成されるVGA入力コネクタとすることができ、コントローラ130から映像ケーブル140を介してHDMI信号やVGA信号として連続するフレーム画像の画像データを受け付けることができる。他の実施形態では、データ入力部は、Bluetooth(登録商標)やWiFi等の無線通信プロトコルに準拠した無線通信により、コントローラ130からフレーム画像の画像データの入力を受け付けることも可能である。このため、表示装置110およびコントローラ130は、電波を送受信するための送受信機を備えることができる。
【0019】
PC120は、表示画面を備えており、その表示画面に表示されている画像の画像データを、コントローラ130を介して表示装置110へ入力する。このため、PC120は、コントローラ130とケーブル150で接続される。PC120としては、デスクトップPC、ノートPC、タブレットPC等を挙げることができるが、携帯電話、スマートフォン、PDA(Personal Digital Assistant)等であってもよい。PC120は、コントローラ130へケーブル150を使用して接続するため、データ入力部と同様のHDMI入力コネクタやVGA入力コネクタを備えることができる。ここではケーブル150を使用した構成を例示しているが、PC120は、電波を送受信するための送受信機を備え、コントローラ130と無線通信により接続可能にされていてもよい。
【0020】
PC120は、PENTIUM(登録商標)プロセッサまたは互換プロセッサ等のプロセッサを搭載し、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、ITRON、μITRONなどのOSの管理下で、アセンブラ、C、C++、Java(登録商標)、JavaScript(登録商標)、PERL、RUBY、PYTHONなどのプログラム言語で記述されたプログラムを実行することができる。また、PC120は、そのプログラムを実行するための実行空間を提供するRAM、そのプログラムやデータなどを持続的に保持するためのハードディスク装置(HDD)等を含み、表示装置110に映像を表示させるために映像信号を生成し、コントローラ130へ入力するプログラムを実行する。
【0021】
コントローラ130は、PC120から受け付けた映像信号を構成するフレーム画像の画像データを処理し、必要に応じて手書き文字等の画像を重畳させた合成画像の画像データを生成し、表示装置110へ入力する。コントローラ130は、この処理を実現するためのプログラムを保持する。このプログラムは、HDD、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROM等のコンピュータ可読な記録媒体に格納して頒布することができ、また、ネットワークを介してダウンロードすることにより実装することが可能である。
【0022】
コントローラ130について詳細に説明するために、図2〜図4を参照する。図2は、コントローラ130のハードウェア構成を例示した図である。コントローラ130は、PCアーキテクチャにより構成され、メモリ200と、CPU210と、HDD220と、ビデオアダプター230と、映像キャプチャデバイス240とを含む。メモリ200は、データやコマンドを格納し、HDD220は、アプリケーションやOS等を長期的に保存するために用いられる。CPU210は、メモリ200からデータやコマンドを読み出し、また、HDD220からアプリケーションやOS等を読み出し、実行する。この実行により、表示装置110の画像表示の制御を行う。
【0023】
ビデオアダプター230は、表示装置110へフレーム画像の画像データを入力し、その表示画面に描画を行う。映像キャプチャデバイス240は、PC120から入力された映像信号を構成するフレーム画像の画像データを、その映像信号から取得し、その画像データをメモリに保存する。このため、映像キャプチャデバイス240は、画像データのキャプチャ手段として機能する。
【0024】
映像キャプチャデバイス240は、図3に示すようなハードウェア構成とされる。映像キャプチャデバイス240は、PC120からの映像信号の入力を受け付けるためのディスプレイポート300と、VGAポート310とを備える。ディスプレイポート300は、液晶ディスプレイ等のデジタルディスプレイ装置のために設計された映像入力インタフェースであり、DVI(Digital Visual Interface)信号を受け付ける。VGAポート310は、アナログのRGBコンポーネント映像信号の入力を受け付けるための映像入力インタフェースである。
【0025】
ディスプレイポート300は、ディスプレイレシーバを備え、VGAポート310は、VGAレシーバを備える。これらのレシーバは、入力された信号を量子化する。そして、これらのレシーバは、量子化された信号を一定間隔で1ラインずつ走査し、後述するバッファ制御部330へ転送する。
【0026】
映像SW320は、ディスプレイポート300とVGAポート310とに接続され、ディスプレイポート300またはVGAポート310のいずれか一方を選択し、選択したポートから量子化された信号を、バッファ制御部330へ転送する。バッファ制御部330は、映像SW320を通して転送された、量子化されたデジタル信号をフレーム画像の画像データとしてメモリ350へ一時的に保存する。そして、映像SW320を通してすべてのデータがバッファ制御部330へ転送され、メモリ350に一時保存された後、バッファ制御部330は、DMA(Digital Memory Access)転送部340へDMAを開始するように指示する。DMAは、入出力装置がCPUを介さずにメモリとの間でデータを転送する方式である。
【0027】
DMA転送部340は、その指示を受けて、バッファ制御部330を利用して、メモリ350から転送する準備ができたフレーム画像の画像データを、PCIe(Peripheral Component Interconnect Express)インタフェース360を通してコントローラ130が備えるメモリ200へ転送する。フレーム画像の画像データは、DMA転送部340から転送されるたびに上書きされ、更新することもできるし、各々が別個のファイルとしてメモリ200に格納されてもよい。メモリ200の容量に上限があることを考慮すれば、最新のデータのみを保持するように上書きして更新することが望ましい。
【0028】
PCIeインタフェース360は、フレーム画像の画像データをパケット化し、パケット化したフレーム画像の画像データにシーケンス番号や誤り検出符号を付加し、シリアルデータとしてメモリ200へ転送する。
【0029】
コントローラ130は、HDD220に格納されているOSをCPU210が呼び出し実行して、そのOSによる制御の下、アプリケーションを読み出し実行する。図4に示す第1実施形態のコントローラ130のように、このOSの実行により、CPU210は、描画機能部400と、映像キャプチャデバイスドライバ部410として機能する。また、アプリケーションの実行により、CPU210は、信号検知部420と、再生制御部430と、サンプル取得部440と、描画部450と、手書き機能部460として機能する。
【0030】
描画機能部400は、アプリケーションおよびその他のソフトウェアの描画命令を合成し、ビデオアダプター230を制御して、表示装置110の表示画面に、2つの画像を合成して表示させる。映像キャプチャデバイスドライバ部410は、映像キャプチャデバイス240を制御する。
【0031】
描画機能部400は、その機能を実現するために、OSの既存の機能を利用することができる。既存の機能として、OSがWindows(登録商標)である場合、Desktop Windows(登録商標) Manager、GDI、DirectX等の機能を利用することができる。映像キャプチャデバイスドライバ部410は、映像キャプチャデバイス240の制御として、例えば、映像キャプチャデバイス240のレジスタ値を設定したり、DMA転送の際、メモリ350の目的物理アドレスを指示したりする。
【0032】
信号検知部420は、信号検知手段として機能し、映像キャプチャデバイスドライバ部410を介して映像信号の入力の有無を検知する。再生制御部430は、制御手段の1つとして機能し、信号検知部420またはユーザからの指示を受けて、サンプル取得部440および描画部450の動作を制御する。サンプル取得部440も、制御手段の1つとして機能し、映像キャプチャデバイスドライバ部410を介して1フレームずつ画像を取得するように指示する。
【0033】
また、描画部450も、制御手段の1つとして機能し、描画機能部400に指示し、表示装置110の表示画面の中の指定された部分に、PC120の画面に表示されている画像と、手書き機能部460により生成したユーザが手書きした画像とを合成し、表示させる。手書き機能部460は、表示画面にユーザがタッチすることにより入力した文字や図形といった情報を取得し、その取得した情報から合成するための入力画像を生成する。このときの情報としては、タッチした位置座標等が挙げられる。
【0034】
描画機能部400は、合成した画像の画像データを生成し、その画像データを表示装置110へ入力して表示部に表示させる。ここでは合成した画像を表示させているが、手書きした画像がなければ合成しなくてもよい。
【0035】
コントローラ130は、映像信号の入力がなくなった場合においても、事前に自動的に映像をキャプチャするので、そのキャプチャした映像を表示させることができる。このため、会議途中で、ケーブルが引き抜かれたとしても、手動で画面を切り替える必要がないため、その会議の進行を妨げずに利用者が望む表示を実現することができる。
【0036】
このコントローラ130が行う処理について以下に詳細に説明する。まず、コントローラ130のスタートアップ時に信号検知部420が行う処理について説明する。図5は、この信号検知部420が行う処理の流れを示したフローチャート図である。ステップ500から処理を開始し、ステップ505で、信号検知部420は、映像キャプチャデバイスドライバ部410が有するレジスタアクセス機能を利用し、映像キャプチャデバイス240が備えるディスプレイポート300およびVGAポート310に問い合わせ、それらのポートに映像信号の入力があるかどうかを確認する。
【0037】
映像キャプチャデバイス240のレジスタ値は、映像信号の入力があるかどうかに関連した値であり、信号検知部420がこのレジスタ値を読み取り、レジスタ値から映像信号の入力の有無を確認することができる。
【0038】
次に、ステップ510で、それぞれのポートにつき、フラグの接続状態を設定する。フラグとしては、図6に示すようなテーブルを例示することができる。フラグは、各ポートに割り当てられたポート番号と、入力デバイスが接続されているか否かを示す接続状態と、接続された時刻のタイムスタンプとを対応付けたものとされる。図6では、接続状態が、映像信号の入力がある場合をONとして示し、映像信号の入力がない場合をOFFとして示している。ステップ510で、すべてのポートの初期状態として、フラグをOFFにして、タイムスタンプを0にする。
【0039】
例えば、ポート2に映像信号の入力があると判断されれば、接続状態をONに設定し、そのときの時刻をタイムスタンプとして設定する。すべてのポートにつき、設定が終了したところで、ステップ515へ進み、このスタートアップ時の処理を終了する。
【0040】
上記のスタートアップ後、コントローラ130が行う処理について、図7〜図9に示すフローチャートを参照して説明する。図7に示すステップ700から処理を開始し、ステップ705で、信号検知部420は、一定時間間隔で各ポートへの映像信号の入力の有無を確認する。コントローラ130を起動後、信号検知部420は、OSのタイマー割り込みが一定時間経過する毎に発生するため、そのタイマー割り込みを監視し、それが発生した時点で、映像キャプチャデバイスドライバ部410を介して映像キャプチャデバイス240にアクセスし、その映像キャプチャデバイス240が保持するレジスタ値を読み取り、そのレジスタ値から映像信号の入力の有無を確認することができる。
【0041】
ステップ710で、信号検知部420は、1つのポートにつき、接続状態をフラグに設定された接続状態と比較する。そして、ステップ715で、信号検知部420は、接続状態に変化があるかどうかを判断する。接続状態が前回の確認の結果と同じである場合は、ステップ720へ進み、信号検知部420は、再生制御部430に指示し、再生制御部430がサンプル取得部440の動作を制御して、そのポートに接続されている入力デバイスから映像を構成するフレーム画像の画像データを受け付けて取得し、描画部450に指示して、そのフレーム画像の画像データを表示装置110へ入力し、映像を表示させているかを判断する。
【0042】
表示中であれば、その映像はタイムスタンプが最も新しいポート番号に接続された入力デバイスからの映像である。このため、コントローラ130は、表示を継続させるべく、信号検知部420が、ステップ725で、映像キャプチャデバイスドライバ部410を介して映像キャプチャデバイス240がキャプチャした画像を一時保存する。
【0043】
このキャプチャ画像は、現在映像を表示させている入力デバイスの接続が切断されたときに表示させるためにも用いられる。キャプチャ画像は、フレーム画像の画像データとしてメモリ350に格納されるが、切断時に読み出され、ビデオアダプター230によって描画され、表示装置110の表示画面上に表示される。具体的には、信号検知部420がメモリ350に格納される画像データを取得する。そして、信号検知部420が再生制御部430に指示し、再生制御部430が描画部450に指示し、描画部450が描画機能部400に指示して、描画機能部400がビデオアダプター230を使用して描画する。
【0044】
これに対し、表示されていない場合は、前回確認したときも、今回の確認でもそのポートにPC等が接続されていないか、接続されてはいるが、タイムスタンプが古いので表示されないかである。このため、信号検知部420は、何も実行しない。したがって、この場合は、ステップ745へ進むことになる。
【0045】
ステップ715で、接続状態に変化があると判断された場合、ステップ730へ進み、前回が入力信号なしであれば今回はあり、前回が入力信号ありであれば今回はなしということであるため、フラグの接続状態の設定を変更するべく、フラグを更新する。更新したフラグを参照し、ステップ735でその接続状態がONで、映像信号の入力があるかどうかを判断する。映像信号の入力がある場合は、新しく接続されたことを意味するので、ステップ740でタイムスタンプを更新する。そして、ステップ745へ進む。
【0046】
ステップ735でその接続状態がOFFで、映像信号の入力がないと判断した場合、接続が切断されたことを意味するので、何も実行することなくステップ745へ進む。タイムスタンプは、接続された時刻を示すものであるから、切断された場合は更新されない。しかしながら、ステップ725で画像をキャプチャした後は、新しく接続していないが、ステップ740へ進み、そのキャプチャした時刻へタイムスタンプを更新する。
【0047】
ステップ745では、すべてのポートにつき、接続状態をフラグに設定された接続状態と比較したかどうかを判断する。まだ比較していないポートがある場合、ステップ710へ戻り、比較していないポートにつき比較を行う。これに対し、すべてのポートにつき比較が終了した場合は、Aで示される処理ステップへ進む。
【0048】
図8は、コントローラ130が行う処理の続きを示したフローチャート図である。Aで示される処理ステップに続いて、まず初めに、ステップ805で、信号検知部420がフラグを参照し、各ポートのタイムスタンプを確認する。次に、ステップ810で、1つのポートの接続状態を確認する。そして、ステップ815で、その接続状態がONであるかどうかを判断する。ONである場合、ステップ820へ進み、タイムスタンプが最も新しい時刻を示すものであるかどうかを判断する。そうである場合、ステップ825へ進み、そのポート番号を一時的に記録し、ステップ830へ進む。
【0049】
ステップ815で、その接続状態がOFFであると判断された場合、ステップ820で、タイムスタンプが最も新しい時刻を示すものではないと判断された場合、ステップ830へ進む。ステップ830では、すべてのポートにつき、接続状態の確認を終えたかどうかを判断する。まだ終えていないポートが存在する場合、ステップ810へ戻り、まだ確認していないポートにつき、ステップ810〜825までの同様の確認を行う。
【0050】
ステップ830ですべてのポートにつき接続状態の確認を終えたと判断した場合、ステップ835へ進み、現在、表示装置110の表示画面上に表示させている映像の映像信号が入力されるポート番号と、ステップ825で一時的に記録したポート番号とを比較し、違うかどうかを判断する。この表示中のポートを指示する変数は、スタート時にダミーな値が付与され、新しい入力を検知した場合に随時更新される。
【0051】
ステップ835で違うと判断した場合、ステップ840へ進み、現在表示中の映像の表示を終了する。表示装置110の表示画面に表示させたい映像は、コントローラ130に接続した時刻が最も新しいものである。ステップ835で違うと判断された場合、その最も新しい映像とは異なっていることを示す。したがって、最も新しい映像に切り替えるべく、このステップ840では、それより古い、現在表示中の映像の表示を終了する。
【0052】
ステップ845では、最も新しい映像を取得するべく、信号検知部420は、再生制御部430に指示し、サンプル取得部440および描画部450のリソースを解放する。これにより、サンプル取得部440が、現在表示中の映像を構成する次のフレーム画像を取得するのを停止し、描画部450も、表示装置110の表示画面への描画を停止する。
【0053】
ステップ850では、映像キャプチャデバイスドライバ部410が、映像SW320を入力ポートに接続した時刻が最も新しい入力デバイスへ切り替え、その入力デバイスからの映像信号の入力を受け付ける。ステップ855では、再生制御部430が、サンプル取得部440および描画部450を初期化し、ステップ860で、それらに指示して、映像サンプルの取得を開始させ、表示装置110への描画を開始させて、映像の表示を開始する。その後、Bで示される処理ステップへ進む。
【0054】
ステップ835で同じと判断した場合、現在表示中の映像を表示し続ければよいため、ステップ840〜860のような処理を行う必要はなく、直接Bで示される処理ステップへ進む。
【0055】
図9は、コントローラ130が行う処理の続きを示したフローチャート図である。Bで示される処理ステップに続いて、ステップ905で、表示中のポートのフラグを参照し、そのフラグの接続状態がOFFになっているかどうかを確認する。
【0056】
表示中のポートのフラグの接続状態がOFFになっていない場合、ステップ915へ進み、表示中のポートのポート番号と、一時記録したポート番号とが同じであるかどうかを判断する。ポート番号が異なる場合は、ステップ920へ進み、表示中のポート番号を更新し、ステップ925でこの処理を終了する。
【0057】
これに対し、表示中のポートのフラグの接続状態がOFFになっている場合、接続が切断されたことを示すため、最後に接続されたポートからキャプチャされた画像を表示させる。このため、ステップ910へ進み、最後にキャプチャした画像の画像データをメモリ350から取得し、その画像を表示装置110の表示画面上に表示させる。この表示後、ステップ915へ進み、上記と同様、表示中のポート番号と、一時記録したポート番号とが同じであるかどうかを判断し、異なる場合、ステップ920へ進み、表示中のポート番号を更新し、ステップ925でこの処理を終了する。
【0058】
ステップ915で、表示中のポート番号と、一時記録したポート番号とが同じ場合は、ステップ925へ直接進み、この処理を終了する。
【0059】
これまでコントローラ130が行う処理について詳細に説明してきたが、映像を再生する際のコントローラ130が備える各部の動作について、図10に示すシーケンス図を参照して説明する。コントローラ130は、CPU210と、HDD220と、映像キャプチャデバイス240というハードウェアを備えており、HDD220に記憶されるアプリケーションおよびOSをCPU210が実行することにより、上述した描画機能部400、映像キャプチャデバイスドライバ部410、描画部450、再生制御部430、サンプル取得部440として機能する。
【0060】
表示装置110の表示画面に映像を表示する場合、その映像を構成するフレーム画像の画像データを取得しなければならない。そのため、信号検知部420またはユーザの指示を受け、再生制御部430がサンプル取得部440に画像データを取得するように指示する。この指示は、どのポート番号に接続されている入力デバイスから画像データを取得するかを示したものである。サンプル取得部440は、画像データというサンプルを取得するために、映像信号の入力を受け付ける映像キャプチャデバイス240を呼び出す必要がある。このため、サンプル取得部440は、映像キャプチャデバイスドライバ部410に対し、映像キャプチャデバイス240を呼び出し、サンプルを取得させるように指示する。
【0061】
映像キャプチャデバイスドライバ部410は、サンプル取得部440からの指示を受けて、映像キャプチャデバイス240を呼び出し、その映像キャプチャデバイス240が備えるバッファ制御部330にサンプル取得を指示する。バッファ制御部330は、映像SW320に対し、その指示を受け、量子化された1フレームの画像の画像データを取得するように指示する。映像SW320は、指示されたポート番号のポートへ入力され、そのポートから出力された1フレームの画像の画像データを取得する。
【0062】
映像SW320は、指示を受けたバッファ制御部330へ、取得した1フレームの画像の画像データを返送する。バッファ制御部330は、その1フレームの画像の画像データを取得し、DMA転送部340に対し、DMA転送を指示する。DMA転送部340は、映像キャプチャデバイスドライバ部410からの指示に従って、指定されたメモリアドレスへDMA転送を行う。
【0063】
DMA転送部340は、画像データの転送が終了すると、映像キャプチャデバイスドライバ部410へ通知する。映像キャプチャデバイスドライバ部410は、その通知を受け、サンプルの取得が完了したことをサンプル取得部440へ通知し、その画像データが格納されているメモリアドレスおよびデータサイズの情報を渡す。サンプル取得部440は、再生制御部430へサンプルの取得が完了したことを通知し、そのメモリアドレスおよびデータサイズの情報を渡す。
【0064】
再生制御部430は、描画部450に対し、この情報を渡し、映像を表示させるために描画を指示する。描画部450は、そのメモリアドレスへアクセスして取得した1フレームの画像の画像データを加工し、描画機能部400へ描画を指示する。描画機能部400は、その指示を受け、1フレームの画像を、指定された通りに表示画面上に描画し、表示させる。
【0065】
なお、サンプル取得部440は、再生制御部430へ1フレームの画像の画像データの取得が完了したことを通知した後、次のフレーム画像の画像データを取得するために、映像キャプチャデバイスドライバ部410へサンプル取得を指示する。このようにして、すべてのフレーム画像の画像データを取得し、取得した順に描画して表示させることにより、表示装置110の表示画面上に映像を表示させることができる。
【0066】
図4に示すコントローラ130の構成では、一定時間間隔で映像信号の入力の有無を確認する構成とされていたが、映像信号の入力の有無が変化した場合に割り込みによって信号検知部420へ通知し、映像信号の入力の有無を確認する構成を採用することも可能である。これを実現するために、図11に示すような構成を採用することができる。
【0067】
図11は、コントローラ130の第2実施形態を示した機能ブロック図である。コントローラ130が、描画機能部400、映像キャプチャデバイスドライバ部410、信号検知部420、再生制御部430、サンプル取得部440、描画部450、手書き機能部460を備える点では、上記第1実施形態のコントローラ130と同様であるが、さらにプロセス管理機能部470を備える点で異なっている。描画機能部400等についてはすでに説明したので、ここではプロセス管理機能部470についてのみ説明する。
【0068】
プロセス管理機能部470を説明するために、図12に示すシーケンス図を参照する。ディスプレイポート300およびVGAポート310はいずれも、レシーバを備えており、レシーバは、映像信号の入力がありからなしへ、またはなしからありへと変化すれば、その変化を検知する。また、ディスプレイポート300およびVGAポート310は、映像信号の入力が始まれば、DMA転送を開始し、その入力がなくなれば、DMA転送を停止する。
【0069】
映像信号の入力の有無の変化は、OSを実行するCPU210へ伝えられ、OSへの割り込みを発生させる。OSの実行により機能する映像キャプチャデバイスドライバ部410は、その割り込みを検知する。映像キャプチャデバイスドライバ部410は、この割り込みを処理させるため、プロセス管理機能部470を呼び出す。
【0070】
プロセス管理機能部470は、コントローラ130が起動する際に登録されたアプリケーションへのコールバック関数を保持する。コールバック関数は、割り込みを検知するための処理と、その割り込みが発生したときに実行すべき処理とを記述するものである。プロセス管理機能部470は、映像キャプチャデバイスドライバ部410からの通知を受けて、割り込みを検知し、実行すべき処理として、信号検知部420に対し、映像信号の入力の有無の通知を行う。信号検知部420は、この通知を受けて、上述した各処理を実行する。コールバック関数としては、OSがwindows(登録商標)である場合、windows(登録商標)メッセージを処理する関数等が挙げられる。
【0071】
例えば、信号検知部420は、入力信号ありという通知を受け、図13に示すような処理を実行する。ステップ1300からその処理を開始し、ステップ1305で、映像信号の入力を検知する。このとき、映像信号が入力されるポートのポート番号を取得する。ステップ1310で、図6に示すようなフラグのポート番号に対する接続状態をOFFからONへ変更する。この処理は、図7に示すステップ730に相当する処理である。
【0072】
信号検知部420は、入力信号ありという通知を受けているので、続いてステップ1315でフラグのタイムスタンプを更新する。このため、このタイムスタンプが現在に最も近い時刻を示すものである。また、ここで始めて映像信号が入力されるため、現在、表示装置110の表示画面に映像が表示されていれば、その映像の映像信号とは異なる信号である。
【0073】
したがって、ステップ1320では、図8に示すステップ840に相当する、現在表示中の映像の表示を終了する。新しく入力された映像信号へ切り替え、その映像を表示させるためである。
【0074】
次に、ステップ1325で、信号検知部420が、再生制御部430に指示し、サンプル取得部440および描画部450のリソースを解放する。これにより、サンプル取得部440が、現在表示中の映像の次の画像の画像データを取得するのを停止し、描画部450も、表示装置110の表示画面への描画を停止する。
【0075】
ステップ1330で、映像キャプチャデバイスドライバ部410が、映像SW320をそのポートへ切り替え、そのポートに接続される入力デバイスからの映像信号の入力を受け付ける。ステップ1335で、再生制御部430が、サンプル取得部440および描画部450を初期化し、ステップ1340で、それらに指示して、映像サンプルの取得を開始させ、表示装置110への描画を開始させて、映像の表示を開始する。その後、ステップ1345へ進み、現在表示中のポート番号を更新し、ステップ1350でこの処理を終了する。
【0076】
図13に示した処理は、新しく任意のポートに入力デバイスが接続され、映像信号がそのポートに入力された場合の処理である。任意のポートに接続された入力デバイスは、ユーザがケーブルに接触することで、そのケーブルが抜けて接続が切断される場合がある。また、ユーザがケーブルを引き抜き、接続を切断したり、入力デバイスにおいて映像信号の入力を停止する場合もある。この場合の処理について、図14を参照して説明する。ポートへの映像信号の入力がなくなり、変化が生じると、割り込みが発生し、映像キャプチャデバイスドライバ部410がこの割り込みを処理する。
【0077】
ステップ1400から処理を開始し、ステップ1405で、信号検知部420は、映像キャプチャデバイスドライバ部410から映像信号の入力なしという通知を受ける。このとき、映像信号の入力がなくなったポートのポート番号を取得する。ステップ1410で、図6に示すようなフラグのポート番号に対する接続状態をONからOFFへ変更する。この処理は、図7に示すステップ730に相当する処理である。
【0078】
信号検知部420は、映像信号の入力なしという通知を受けているので、ステップ1415でそのポートが表示中の映像の映像信号を供給する入力デバイスが接続されたポートであるかどうかを判断する。具体的に、該当するポートのポート番号と、現在表示中のポート番号とを比較する。そうである場合、表示中の映像の映像信号を供給することができなくなるため、ステップ1420で、信号検知部420は、再生制御部430にDMA転送を停止する直前にDMA転送部340がメモリ200へ転送した画像データの取得を指示し、再生制御部430がサンプル取得部440に指示してその画像データを取得する。そして、ステップ1425で、再生制御部430は、取得した画像データを描画部450へ送り、画像の描画を指示し、表示装置110の表示画面上に画像を表示させる。この表示により、ステップ1430で処理を終了する。
【0079】
これに対し、違う場合は、表示中の映像の映像信号を供給する入力デバイスが他のポートに接続され、その映像信号の供給が可能であるため、その映像信号の供給を継続することができる。したがって、ステップ1430へ直接進み、この処理を終了する。
【0080】
これまで本発明の表示制御装置について、2つの実施形態を例示し、各構成および処理の内容を詳細に説明してきた。しかしながら、本発明は、これらの実施形態に限定されるものではない。
【0081】
例えば、コントローラ130は、図3に示した複数のポートを備える映像キャプチャデバイス240を含む構成ではなく、図15(a)、(b)に示すような1つのポート、制御部、メモリ、PCleインタフェースを備える複数の映像キャプチャデバイスを含む構成とすることも可能である。
【0082】
この場合、フラグは、ポート番号に代えて、映像キャプチャデバイスを識別するためのデバイス番号といったデバイス識別情報が用いられることになる。図16に、そのフラグを表すテーブルを例示する。テーブルには、デバイス番号に対応付けて接続状態を示す「ON」、「OFF」と、接続された日時、時刻を表すタイムスタンプとが示されている。
【0083】
コントローラ130は、図2に示したハードウェアを備えるものであればいかなる装置であってもよく、PC、サーバ、ワークステーション等であってもよい。また、コントローラ130が実行する上記の表示制御処理は、アプリケーションやOSといったプログラムとして構成し、そのプログラムを提供することにより実現することができる。したがって、本発明では、そのプログラムも提供することができ、プログラムは、CD−ROMやSDカード等の記録媒体に格納して提供することもできるし、サーバ等に格納し、要求に応じてダウンロードするという形式により提供することも可能である。
【0084】
このような本発明の表示制御装置、表示制御方法およびプログラムを提供することで、入力デバイスの接続が切断された場合であっても、手動で切り替えなくても、自動的に事前に取得した画像を表示させることができる。このため、メモやスナップショットを取る前に接続が切断されたとしても、自動に画像が表示されるので、メモを取ることが可能になり、スナップショットを取ることも可能となる。また、手書き入力において書き足したい場合もあり、それが可能となる。
【0085】
また、新たに接続した入力デバイスの映像信号が入力された場合に、自動で切り替えて表示されるので、ユーザの手を煩わせることなく、その映像信号の映像を表示させることができる。新たに入力される映像は、画像表示システムの利用者に対して最も見せたい映像である。したがって、新たに入力される映像を表示することで、利用者が望む表示を実現することができる。さらに、入力デバイスに電子黒板アプリケーションを実装していなくても、この機能やプログラムを実装することで、映像もしくは画像またはそれらと手書き文字等の合成画像へ自動で切り替え、表示させることができる。これらのことから、会議等の進行を妨げることがなくなる。
【0086】
要するに、本発明では、複数の入力デバイスと接続可能で、1つの入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる制御を行う表示制御装置を提供することができる。この装置は、入力される映像信号を構成するフレーム画像の画像データを取得するキャプチャ手段と、映像信号の入力の有無を検知し、入力の有無に応じて表示装置に映像またはフレーム画像を表示させるように指示する信号検知手段と、入力がなくなったことを検知し、フレーム画像を表示させる指示を受けた場合に、キャプチャ手段が最後に取得した画像データからフレーム画像を生成して表示装置に表示させる制御手段とを含む。
【0087】
そして、信号検知手段は、新たに入力デバイスが接続され、当該入力デバイスからの映像信号の入力を検知した場合、制御手段に対し、当該映像信号により生成した映像を表示させるように指示することができる。そのほか、映像信号の入力がなくなったが、他の入力デバイスからの映像信号の入力があることを検知した場合、制御手段に対し、当該他の入力デバイスからの映像信号により生成した映像を表示させるように指示することもできる。
【0088】
2以上の他の入力デバイスからの映像信号の入力があることを検知する場合もあるが、この場合、2以上の他の入力デバイスのうちの第1入力デバイスが、上記の1つの入力デバイスの直前に、表示装置に表示させる映像の映像信号を入力していたとき、制御手段に対し、当該第1入力デバイスからの映像信号により生成した映像を表示させるように指示することができる。
【0089】
信号検知手段は、一定時間間隔で映像信号の入力の有無を検知する手段、または映像信号の入力の有無が変化したことを検知する手段を含むことができる。これにより、一定時間間隔で映像信号の入力を確認して、または、映像信号の入力がありからなし等へと変化したときに、映像が消えないように他の映像や画像に切り替えることができる。
【0090】
本発明は、上記以外の他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0091】
100…画像表示システム、110…表示装置、120…PC、130…コントローラ、140、150…ケーブル、200…メモリ、210…CPU、220…HDD、230…ビデオアダプター、240…映像キャプチャデバイス、300…ディスプレイポート、310…VGAポート、320…映像SW、330…バッファ制御部、340…DMA転送部、350…メモリ、360…PCIeインタフェース、400…描画機能部、410…映像キャプチャデバイスドライバ部、420…信号検知部、430…再生制御部、440…サンプル取得部、450…描画部、460…手書き機能部、470…プロセス管理機能部
【先行技術文献】
【特許文献】
【0092】
【特許文献1】特開2002−366343号公報
【特許請求の範囲】
【請求項1】
複数の入力デバイスと接続可能で、1つの前記入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる制御を行う表示制御装置であって、
入力される前記映像信号を構成するフレーム画像の画像データを取得するキャプチャ手段と、
前記映像信号の入力の有無を検知し、前記入力の有無に応じて前記表示装置に映像またはフレーム画像を表示させるように指示する信号検知手段と、
前記入力がなくなったことを検知し、前記フレーム画像を表示させる指示を受けた場合に、前記キャプチャ手段が最後に取得した画像データからフレーム画像を生成して前記表示装置に表示させる制御手段とを含む、表示制御装置。
【請求項2】
前記信号検知手段は、新たに入力デバイスが接続され、当該入力デバイスからの映像信号の入力を検知した場合、前記制御手段に対し、当該映像信号により生成した映像を表示させるように指示する、請求項1に記載の表示制御装置。
【請求項3】
前記信号検知手段は、前記映像信号の入力がなくなったが、他の前記入力デバイスからの映像信号の入力があることを検知した場合、前記制御手段に対し、当該他の入力デバイスからの映像信号により生成した映像を表示させるように指示する、請求項1または2に記載の表示制御装置。
【請求項4】
前記信号検知手段は、一定時間間隔で前記映像信号の入力の有無を検知する手段、または前記映像信号の入力の有無が変化したことを検知する手段を含む、請求項1〜3のいずれか1項に記載の表示制御装置。
【請求項5】
前記キャプチャ手段は、前記映像信号を構成するフレーム画像の画像データを取得する手段と、取得した前記画像データを転送する手段とを含み、前記制御手段は、転送された前記画像データを用いて前記表示装置の表示画面に描画して前記映像または前記フレーム画像を表示させる手段を含む、請求項1〜4のいずれか1項に記載の表示制御装置。
【請求項6】
前記表示装置の表示画面に入力された情報を取得し、取得した前記情報から入力画像データを生成する手段をさらに含み、
前記制御手段は、前記フレーム画像に、前記入力画像データから生成した入力画像を合成し、前記表示装置に合成された画像を表示させる、請求項1〜5のいずれか1項に記載の表示制御装置。
【請求項7】
映像信号を入力する1以上の入力デバイスと、映像を表示する表示装置と、前記1以上の入力デバイスと接続可能で、1つの前記入力デバイスから映像信号の入力を受け付け、前記表示装置に映像を表示させる制御を行う、請求項1〜6のいずれか1項に記載の表示制御装置とを含む、画像表示システム。
【請求項8】
複数の入力デバイスと接続可能な表示制御装置が実行する、1つの前記入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる表示制御方法であって、
入力される前記映像信号を構成するフレーム画像の画像データを連続して取得するステップと、
前記映像信号の入力の有無を検知し、前記入力の有無に応じて前記表示装置に映像またはフレーム画像を表示させるように指示するステップと、
前記入力があることを検知し、前記映像を表示させる指示を受けた場合、連続して取得した前記画像データから連続する前記フレーム画像を生成して前記表示装置に表示させることにより映像を表示させるステップと、
前記入力がなくなったことを検知し、前記フレーム画像を表示させる指示を受けた場合、前記取得するステップで最後に取得した前記画像データから前記フレーム画像を生成して前記表示装置に表示させるステップとを含む、表示制御方法。
【請求項9】
請求項8に記載の表示制御方法を実行するためのコンピュータ可読なプログラム。
【請求項1】
複数の入力デバイスと接続可能で、1つの前記入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる制御を行う表示制御装置であって、
入力される前記映像信号を構成するフレーム画像の画像データを取得するキャプチャ手段と、
前記映像信号の入力の有無を検知し、前記入力の有無に応じて前記表示装置に映像またはフレーム画像を表示させるように指示する信号検知手段と、
前記入力がなくなったことを検知し、前記フレーム画像を表示させる指示を受けた場合に、前記キャプチャ手段が最後に取得した画像データからフレーム画像を生成して前記表示装置に表示させる制御手段とを含む、表示制御装置。
【請求項2】
前記信号検知手段は、新たに入力デバイスが接続され、当該入力デバイスからの映像信号の入力を検知した場合、前記制御手段に対し、当該映像信号により生成した映像を表示させるように指示する、請求項1に記載の表示制御装置。
【請求項3】
前記信号検知手段は、前記映像信号の入力がなくなったが、他の前記入力デバイスからの映像信号の入力があることを検知した場合、前記制御手段に対し、当該他の入力デバイスからの映像信号により生成した映像を表示させるように指示する、請求項1または2に記載の表示制御装置。
【請求項4】
前記信号検知手段は、一定時間間隔で前記映像信号の入力の有無を検知する手段、または前記映像信号の入力の有無が変化したことを検知する手段を含む、請求項1〜3のいずれか1項に記載の表示制御装置。
【請求項5】
前記キャプチャ手段は、前記映像信号を構成するフレーム画像の画像データを取得する手段と、取得した前記画像データを転送する手段とを含み、前記制御手段は、転送された前記画像データを用いて前記表示装置の表示画面に描画して前記映像または前記フレーム画像を表示させる手段を含む、請求項1〜4のいずれか1項に記載の表示制御装置。
【請求項6】
前記表示装置の表示画面に入力された情報を取得し、取得した前記情報から入力画像データを生成する手段をさらに含み、
前記制御手段は、前記フレーム画像に、前記入力画像データから生成した入力画像を合成し、前記表示装置に合成された画像を表示させる、請求項1〜5のいずれか1項に記載の表示制御装置。
【請求項7】
映像信号を入力する1以上の入力デバイスと、映像を表示する表示装置と、前記1以上の入力デバイスと接続可能で、1つの前記入力デバイスから映像信号の入力を受け付け、前記表示装置に映像を表示させる制御を行う、請求項1〜6のいずれか1項に記載の表示制御装置とを含む、画像表示システム。
【請求項8】
複数の入力デバイスと接続可能な表示制御装置が実行する、1つの前記入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる表示制御方法であって、
入力される前記映像信号を構成するフレーム画像の画像データを連続して取得するステップと、
前記映像信号の入力の有無を検知し、前記入力の有無に応じて前記表示装置に映像またはフレーム画像を表示させるように指示するステップと、
前記入力があることを検知し、前記映像を表示させる指示を受けた場合、連続して取得した前記画像データから連続する前記フレーム画像を生成して前記表示装置に表示させることにより映像を表示させるステップと、
前記入力がなくなったことを検知し、前記フレーム画像を表示させる指示を受けた場合、前記取得するステップで最後に取得した前記画像データから前記フレーム画像を生成して前記表示装置に表示させるステップとを含む、表示制御方法。
【請求項9】
請求項8に記載の表示制御方法を実行するためのコンピュータ可読なプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−113916(P2013−113916A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−257872(P2011−257872)
【出願日】平成23年11月25日(2011.11.25)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
2.WiFi
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願日】平成23年11月25日(2011.11.25)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
2.WiFi
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]