(57)【特許請求の範囲】
【請求項１】
複数の入力デバイスおよび表示装置と接続可能な表示制御装置であり、１つの前記入力デバイスから映像信号の入力を受け付け、前記表示装置に映像を表示させる制御を行う表示制御装置であって、
前記１つの入力デバイスから入力され、前記表示装置に表示されている前記映像信号を構成するフレーム画像の画像データを取得するキャプチャ手段と、
前記表示装置の表示画面に入力された情報を取得する手段と、
前記取得する手段により取得された前記情報から入力画像データを生成する手段と、
前記映像信号の入力の有無を検知し、検知結果に応じて、前記表示制御装置が保持する、入力デバイスが接続されているか否かを示す接続状態と該入力デバイスが接続された時刻とを含むテーブルの情報を更新し、該テーブルの情報に基づき、前記表示装置に映像またはフレーム画像を表示させるように指示する信号検知手段と、
前記フレーム画像の画像データと前記入力画像データとを合成することにより生成された合成画像を前記表示装置に表示させる制御手段であって、前記信号検知手段から前記入力がなくなったことを検知し、前記テーブルの情報を更新し、更新した該テーブルの情報に基づく前記フレーム画像を表示させる指示を受けた場合に、前記キャプチャ手段が最後に取得した画像データからフレーム画像を生成して前記表示装置に表示させる制御手段とを含む、表示制御装置。
【請求項２】
前記信号検知手段は、新たに入力デバイスが接続され、当該入力デバイスからの映像信号の入力を検知した場合、前記制御手段に対し、当該映像信号により生成した映像を表示させるように指示する、請求項１に記載の表示制御装置。
【請求項３】
前記信号検知手段は、前記映像信号の入力がなくなったが、他の前記入力デバイスからの映像信号の入力があることを検知した場合、前記制御手段に対し、当該他の入力デバイスからの映像信号により生成した映像を表示させるように指示する、請求項１または２に記載の表示制御装置。
【請求項４】
前記信号検知手段は、一定時間間隔で前記映像信号の入力の有無を検知する手段、または前記映像信号の入力の有無が変化したことを検知する手段を含む、請求項１〜３のいずれか１項に記載の表示制御装置。
【請求項５】
前記キャプチャ手段は、前記映像信号を構成するフレーム画像の画像データを取得する手段と、取得した前記画像データを転送する手段とを含み、前記制御手段は、転送された前記画像データを用いて前記表示装置の表示画面に描画して前記映像または前記フレーム画像を表示させる手段を含む、請求項１〜４のいずれか１項に記載の表示制御装置。
【請求項６】
映像信号を入力する１以上の入力デバイスと、映像を表示する表示装置と、前記１以上の入力デバイスと接続可能で、１つの前記入力デバイスから映像信号の入力を受け付け、前記表示装置に映像を表示させる制御を行う、請求項１〜５のいずれか１項に記載の表示制御装置とを含む、画像表示システム。
【請求項７】
複数の入力デバイスおよび表示装置と接続可能な表示制御装置が実行する、１つの前記入力デバイスから映像信号の入力を受け付け、前記表示装置に映像を表示させる表示制御方法であって、
前記１つの入力デバイスから入力され、前記表示装置に表示されている前記映像信号を構成するフレーム画像の画像データを連続して取得するステップと、
前記表示装置の表示画面に入力された情報を取得するステップと、
取得された前記情報から入力画像データを生成するステップと、
前記映像信号の入力の有無を検知し、検知結果に応じて、前記表示制御装置が保持する、入力デバイスが接続されているか否かを示す接続状態と該入力デバイスが接続された時刻とを含むテーブルの情報を更新し、該テーブルの情報に基づき、前記表示装置に映像またはフレーム画像を表示させるように指示するステップと、
前記入力があることを検知し、前記テーブルの情報に基づく前記映像を表示させる指示を受けた場合、前記フレーム画像の画像データと前記入力画像データとを合成することにより生成された合成画像を前記表示装置に表示させるステップと、
前記入力がなくなったことを検知し、前記テーブルの情報を更新し、更新した該テーブルの情報に基づく前記フレーム画像を表示させる指示を受けた場合、前記画像データを連続して取得するステップで最後に取得した前記画像データから前記フレーム画像を生成して前記表示装置に表示させるステップとを含む、表示制御方法。
【請求項８】
請求項７に記載の表示制御方法に含まれる各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示画面に表示させる映像を制御する表示制御装置、その表示制御装置を含む画像表示システム、その制御方法およびプログラムに関する。
【背景技術】
【０００２】
液晶やプラズマ等のフラットパネルやプロジェクタを用いたディスプレイに、タッチパネルを搭載した電子情報ボードと呼ばれる機器が使用されるようになってきている。この電子情報ボードは、ＰＣを接続することができ、接続したＰＣの画面を拡大して表示する機能を有することから、教育現場や企業等における会議等に利用されている。
【０００３】
この電子情報ボードは、搭載するタッチパネル機能を用い、表示している画面を直接タッチすることで、その画面を表示させているＰＣを操作する機能も備える。また、この電子情報ボードの提供に合わせて、ＰＣ上で動作する電子黒板アプリケーションが提供される。電子黒板アプリケーションは、黒板の役割を果たす画面を提供し、その上に手書き文字等を、タッチパネルを介して描く機能や、ＰＣの画面を取り込み、その上に手書き文字等を重畳して描く機能等を提供する。
【０００４】
このような電子情報ボートの具体的な製品として、日立ソフトウェアエンジニアリング社のＳｔａｒＢｏａｒｄ（登録商標）や、パイオニア社のサイバーカンファレンス（登録商標）等が知られている。
【０００５】
上述した手書き文字等を描く機能や、手書き文字等を重畳して描く機能を実現可能な電子情報ボードを利用することで、会議において、説明のための資料を表示させながら、適宜画面上に指摘事項等の書き込みを直接行うことができる。また、必要に応じて書き込みを含む画面内容を記録することができる。その結果、会議終了時に画面内容を振り返り、画面内容を再利用することができ、効率的に結論等をまとめることができる。
【０００６】
ところで、ビデオ入力技術の発展により、ＨＤＭＩ(High-Definition Multimedia Interface)やＶＧＡ(Video Graphics Array)を含む複数のビデオ入力をサポートする機器が普及し、それに伴い、様々な規格のビデオ入力ケーブルを接続することができるようになっている。電子情報ボードも、複数のビデオ入力をサポートしており、様々な規格のビデオ入力ケーブルを接続することが可能である。そのため、複数のＰＣを接続し、各ＰＣの画面を切り替えて表示させることが可能となっている。
【０００７】
例えば、電子ホワイトボードに複数台のコンピュータを、切替手段を介して接続し、いずれかのコンピュータを選択し、その選択したコンピュータから電子ホワイトボードへ映像信号を供給し、その選択したコンピュータと電子ホワイトボードとの間でコントロール信号を送受信する技術が提案されている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
こういった機能を備える電子情報ボードを利用した会議では、会議の進行を妨げることなく、電子情報ボードが操作され、必要な情報が表示され、入力されることが重要である。しかしながら、従来の電子情報ボードでは、映像表示のために接続したデバイスの表示信号を停止するか、接続ケーブルを引き抜く等の操作をした場合、それまでに表示していた映像がなくなってしまうことから、映像が消えてしまう。これでは、会議の途中で映像が消えることになり、会議の進行を妨げてしまう。
【０００９】
したがって、現在画面を表示させているデバイスのケーブルを引き抜いたとしても、映像が消えることなく、継続して電子情報ボード上に画面表示させることができる装置や方法の提供が望まされていた。
【課題を解決するための手段】
【００１０】
本発明は、上記課題に鑑み、複数の入力デバイスと接続可能で、１つの入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる制御を行う表示制御装置であって、入力される映像信号を構成するフレーム画像の画像データを取得するキャプチャ手段と、映像信号の入力の有無を検知し、当該入力の有無に応じて表示装置に映像またはフレーム画像を表示させるように指示する信号検知手段と、当該入力がなくなったことを検知し、フレーム画像を表示させる指示を受けた場合に、キャプチャ手段が最後に取得した画像データからフレーム画像を生成して表示装置に表示させる制御手段とを含む、表示制御装置が提供される。
【図面の簡単な説明】
【００１１】
【図１】本実施形態の画像表示システムの構成例を示した図。
【図２】本実施形態の表示制御装置としてのコントローラのハードウェア構成を例示した図。
【図３】図３に示すコントローラが備える映像キャプチャデバイスのハードウェア構成を例示した図。
【図４】コントローラの第１実施形態を示した機能ブロック図。
【図５】コントローラが備える信号検知部が行う処理の流れを示したフローチャート図。
【図６】信号検知部が設定するポート入力信号フラグを例示した図。
【図７】コントローラが実行する全体の処理の流れを示した第１フローチャート図。
【図８】コントローラが実行する全体の処理の流れを示した第２フローチャート図。
【図９】コントローラが実行する全体の処理の流れを示した第３フローチャート図。
【図１０】映像を再生する処理の流れを示したシーケンス図。
【図１１】コントローラの第２実施形態を示した機能ブロック図。
【図１２】割り込み発生時の処理の流れを示したシーケンス図。
【図１３】信号検知部が映像信号の入力を検知したときの処理の流れを示したフローチャート図。
【図１４】信号検知部が映像信号の入力がなくなったことを検知したときの処理の流れを示したフローチャート図。
【図１５】映像キャプチャデバイスの他のハードウェア構成を例示した図。
【図１６】ポート入力信号フラグの他の例を示した図。
【発明を実施するための形態】
【００１２】
図１は、本実施形態の画像表示システム１００の構成例を示した図である。画像表示システム１００は、映像を表示する表示装置１１０と、表示装置１１０へその映像を構成するフレーム画像の画像データを入力する入力デバイスとしてのＰＣ１２０と、表示装置１１０とＰＣ１２０とを接続し、表示装置１１０の画像表示を制御するための表示制御装置として用いられるコントローラ１３０とを含んで構成される。ここでは、表示装置１１０とコントローラ１３０とが分離されて別個に構成されているが、同じ筐体に表示装置１１０とコントローラ１３０とを収納し、一体として構成されていてもよいものである。
【００１３】
表示装置１１０は、ケーブル１４０によってコントローラ１３０と接続され、コントローラ１３０によって描画された連続するフレーム画像を一定速度で順に表示することにより映像を表示する装置である。表示装置１１０は、フレーム画像を表示する表示部と、フレーム画像の画像データを受け付けるデータ入力部とを含んで構成される。
【００１４】
フレーム画像の画像データは、例えば、各画素に対する各色の輝度値として与えられるデジタルデータとされ、表示部は、そのデータを受け付けると、表示画面上の対応する位置にある各画素に各輝度値を与えることによりそのフレーム画像を表示画面に表示する。デジタルデータは、連続するフレーム画像の画像データを一定速度で供給するものであるから、表示部は、これを再生することにより、映像を表示画面に表示することができる。
【００１５】
表示部は、その表面にタッチパネルが設置されていてもよく、タッチパネルを構成する位置入力装置である接触位置センサによりユーザがタッチした位置を検出することができる。タッチパネルは、その動作原理に応じて、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式等があり、いずれかの方式を採用することができる。なお、ユーザがタッチした位置の情報は、図示しないケーブルを介してユーザ入力としてコントローラ１３０へ送られ、処理される。
【００１６】
表示装置１１０は、複数の操作ボタンを含んでいてもよい。操作ボタンとしては、画像を表示するだけの表示モードと手入力可能な入力モードの切り替え、指でタッチして選択や文字等の入力が可能なタッチモードとタッチペンを使用して選択や文字等の入力が可能なペンモードの切り替え、ペンの色の変更、ツールバー表示の切り替え、入力した文字等を消すための消しゴム機能の使用、ＰＣ操作等を挙げることができる。
【００１７】
表示部がタッチパネルを備える場合、コントローラ１３０は、表示装置１１０の操作ボタンにより選択されたモード等に応じ、その位置を選択したり、画像を拡大または縮小等しているのか、文字等の入力なのかを判断することができる。また、コントローラ１３０は、文字等の入力モードであれば、画面に接触した連続する位置の情報をユーザ入力として受け付け、その情報から文字等の画像データを生成し、その画像データを用いて現在表示されている画像に重畳させる画像データを生成して再び表示装置１１０へ入力することができる。
【００１８】
データ入力部は、コントローラ１３０から連続してフレーム画像の画像データの入力を受け付ける。本実施形態では、データ入力部は、ＨＤＭＩ端子により構成されるＨＤＭＩ入力コネクタや、ＶＧＡ端子により構成されるＶＧＡ入力コネクタとすることができ、コントローラ１３０から映像ケーブル１４０を介してＨＤＭＩ信号やＶＧＡ信号として連続するフレーム画像の画像データを受け付けることができる。他の実施形態では、データ入力部は、Ｂｌｕｅｔｏｏｔｈ（登録商標）やＷｉＦｉ等の無線通信プロトコルに準拠した無線通信により、コントローラ１３０からフレーム画像の画像データの入力を受け付けることも可能である。このため、表示装置１１０およびコントローラ１３０は、電波を送受信するための送受信機を備えることができる。
【００１９】
ＰＣ１２０は、表示画面を備えており、その表示画面に表示されている画像の画像データを、コントローラ１３０を介して表示装置１１０へ入力する。このため、ＰＣ１２０は、コントローラ１３０とケーブル１５０で接続される。ＰＣ１２０としては、デスクトップＰＣ、ノートＰＣ、タブレットＰＣ等を挙げることができるが、携帯電話、スマートフォン、ＰＤＡ(Personal Digital Assistant)等であってもよい。ＰＣ１２０は、コントローラ１３０へケーブル１５０を使用して接続するため、データ入力部と同様のＨＤＭＩ入力コネクタやＶＧＡ入力コネクタを備えることができる。ここではケーブル１５０を使用した構成を例示しているが、ＰＣ１２０は、電波を送受信するための送受信機を備え、コントローラ１３０と無線通信により接続可能にされていてもよい。
【００２０】
ＰＣ１２０は、ＰＥＮＴＩＵＭ（登録商標）プロセッサまたは互換プロセッサ等のプロセッサを搭載し、ＷＩＮＤＯＷＳ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ＩＴＲＯＮ、μＩＴＲＯＮなどのＯＳの管理下で、アセンブラ、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＰＥＲＬ、ＲＵＢＹ、ＰＹＴＨＯＮなどのプログラム言語で記述されたプログラムを実行することができる。また、ＰＣ１２０は、そのプログラムを実行するための実行空間を提供するＲＡＭ、そのプログラムやデータなどを持続的に保持するためのハードディスク装置(HDD)等を含み、表示装置１１０に映像を表示させるために映像信号を生成し、コントローラ１３０へ入力するプログラムを実行する。
【００２１】
コントローラ１３０は、ＰＣ１２０から受け付けた映像信号を構成するフレーム画像の画像データを処理し、必要に応じて手書き文字等の画像を重畳させた合成画像の画像データを生成し、表示装置１１０へ入力する。コントローラ１３０は、この処理を実現するためのプログラムを保持する。このプログラムは、ＨＤＤ、ＣＤ−ＲＯＭ、ＭＯ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭ等のコンピュータ可読な記録媒体に格納して頒布することができ、また、ネットワークを介してダウンロードすることにより実装することが可能である。
【００２２】
コントローラ１３０について詳細に説明するために、図２〜図４を参照する。図２は、コントローラ１３０のハードウェア構成を例示した図である。コントローラ１３０は、ＰＣアーキテクチャにより構成され、メモリ２００と、ＣＰＵ２１０と、ＨＤＤ２２０と、ビデオアダプター２３０と、映像キャプチャデバイス２４０とを含む。メモリ２００は、データやコマンドを格納し、ＨＤＤ２２０は、アプリケーションやＯＳ等を長期的に保存するために用いられる。ＣＰＵ２１０は、メモリ２００からデータやコマンドを読み出し、また、ＨＤＤ２２０からアプリケーションやＯＳ等を読み出し、実行する。この実行により、表示装置１１０の画像表示の制御を行う。
【００２３】
ビデオアダプター２３０は、表示装置１１０へフレーム画像の画像データを入力し、その表示画面に描画を行う。映像キャプチャデバイス２４０は、ＰＣ１２０から入力された映像信号を構成するフレーム画像の画像データを、その映像信号から取得し、その画像データをメモリに保存する。このため、映像キャプチャデバイス２４０は、画像データのキャプチャ手段として機能する。
【００２４】
映像キャプチャデバイス２４０は、図３に示すようなハードウェア構成とされる。映像キャプチャデバイス２４０は、ＰＣ１２０からの映像信号の入力を受け付けるためのディスプレイポート３００と、ＶＧＡポート３１０とを備える。ディスプレイポート３００は、液晶ディスプレイ等のデジタルディスプレイ装置のために設計された映像入力インタフェースであり、ＤＶＩ(Digital Visual Interface)信号を受け付ける。ＶＧＡポート３１０は、アナログのＲＧＢコンポーネント映像信号の入力を受け付けるための映像入力インタフェースである。
【００２５】
ディスプレイポート３００は、ディスプレイレシーバを備え、ＶＧＡポート３１０は、ＶＧＡレシーバを備える。これらのレシーバは、入力された信号を量子化する。そして、これらのレシーバは、量子化された信号を一定間隔で１ラインずつ走査し、後述するバッファ制御部３３０へ転送する。
【００２６】
映像ＳＷ３２０は、ディスプレイポート３００とＶＧＡポート３１０とに接続され、ディスプレイポート３００またはＶＧＡポート３１０のいずれか一方を選択し、選択したポートから量子化された信号を、バッファ制御部３３０へ転送する。バッファ制御部３３０は、映像ＳＷ３２０を通して転送された、量子化されたデジタル信号をフレーム画像の画像データとしてメモリ３５０へ一時的に保存する。そして、映像ＳＷ３２０を通してすべてのデータがバッファ制御部３３０へ転送され、メモリ３５０に一時保存された後、バッファ制御部３３０は、ＤＭＡ(Digital Memory Access)転送部３４０へＤＭＡを開始するように指示する。ＤＭＡは、入出力装置がＣＰＵを介さずにメモリとの間でデータを転送する方式である。
【００２７】
ＤＭＡ転送部３４０は、その指示を受けて、バッファ制御部３３０を利用して、メモリ３５０から転送する準備ができたフレーム画像の画像データを、ＰＣＩｅ(Peripheral Component Interconnect Express)インタフェース３６０を通してコントローラ１３０が備えるメモリ２００へ転送する。フレーム画像の画像データは、ＤＭＡ転送部３４０から転送されるたびに上書きされ、更新することもできるし、各々が別個のファイルとしてメモリ２００に格納されてもよい。メモリ２００の容量に上限があることを考慮すれば、最新のデータのみを保持するように上書きして更新することが望ましい。
【００２８】
ＰＣＩｅインタフェース３６０は、フレーム画像の画像データをパケット化し、パケット化したフレーム画像の画像データにシーケンス番号や誤り検出符号を付加し、シリアルデータとしてメモリ２００へ転送する。
【００２９】
コントローラ１３０は、ＨＤＤ２２０に格納されているＯＳをＣＰＵ２１０が呼び出し実行して、そのＯＳによる制御の下、アプリケーションを読み出し実行する。図４に示す第１実施形態のコントローラ１３０のように、このＯＳの実行により、ＣＰＵ２１０は、描画機能部４００と、映像キャプチャデバイスドライバ部４１０として機能する。また、アプリケーションの実行により、ＣＰＵ２１０は、信号検知部４２０と、再生制御部４３０と、サンプル取得部４４０と、描画部４５０と、手書き機能部４６０として機能する。
【００３０】
描画機能部４００は、アプリケーションおよびその他のソフトウェアの描画命令を合成し、ビデオアダプター２３０を制御して、表示装置１１０の表示画面に、２つの画像を合成して表示させる。映像キャプチャデバイスドライバ部４１０は、映像キャプチャデバイス２４０を制御する。
【００３１】
描画機能部４００は、その機能を実現するために、ＯＳの既存の機能を利用することができる。既存の機能として、ＯＳがＷｉｎｄｏｗｓ（登録商標）である場合、Ｄｅｓｋｔｏｐ  Ｗｉｎｄｏｗｓ（登録商標）  Ｍａｎａｇｅｒ、ＧＤＩ、ＤｉｒｅｃｔＸ等の機能を利用することができる。映像キャプチャデバイスドライバ部４１０は、映像キャプチャデバイス２４０の制御として、例えば、映像キャプチャデバイス２４０のレジスタ値を設定したり、ＤＭＡ転送の際、メモリ３５０の目的物理アドレスを指示したりする。
【００３２】
信号検知部４２０は、信号検知手段として機能し、映像キャプチャデバイスドライバ部４１０を介して映像信号の入力の有無を検知する。再生制御部４３０は、制御手段の１つとして機能し、信号検知部４２０またはユーザからの指示を受けて、サンプル取得部４４０および描画部４５０の動作を制御する。サンプル取得部４４０も、制御手段の１つとして機能し、映像キャプチャデバイスドライバ部４１０を介して１フレームずつ画像を取得するように指示する。
【００３３】
また、描画部４５０も、制御手段の１つとして機能し、描画機能部４００に指示し、表示装置１１０の表示画面の中の指定された部分に、ＰＣ１２０の画面に表示されている画像と、手書き機能部４６０により生成したユーザが手書きした画像とを合成し、表示させる。手書き機能部４６０は、表示画面にユーザがタッチすることにより入力した文字や図形といった情報を取得し、その取得した情報から合成するための入力画像を生成する。このときの情報としては、タッチした位置座標等が挙げられる。
【００３４】
描画機能部４００は、合成した画像の画像データを生成し、その画像データを表示装置１１０へ入力して表示部に表示させる。ここでは合成した画像を表示させているが、手書きした画像がなければ合成しなくてもよい。
【００３５】
コントローラ１３０は、映像信号の入力がなくなった場合においても、事前に自動的に映像をキャプチャするので、そのキャプチャした映像を表示させることができる。このため、会議途中で、ケーブルが引き抜かれたとしても、手動で画面を切り替える必要がないため、その会議の進行を妨げずに利用者が望む表示を実現することができる。
【００３６】
このコントローラ１３０が行う処理について以下に詳細に説明する。まず、コントローラ１３０のスタートアップ時に信号検知部４２０が行う処理について説明する。図５は、この信号検知部４２０が行う処理の流れを示したフローチャート図である。ステップ５００から処理を開始し、ステップ５０５で、信号検知部４２０は、映像キャプチャデバイスドライバ部４１０が有するレジスタアクセス機能を利用し、映像キャプチャデバイス２４０が備えるディスプレイポート３００およびＶＧＡポート３１０に問い合わせ、それらのポートに映像信号の入力があるかどうかを確認する。
【００３７】
映像キャプチャデバイス２４０のレジスタ値は、映像信号の入力があるかどうかに関連した値であり、信号検知部４２０がこのレジスタ値を読み取り、レジスタ値から映像信号の入力の有無を確認することができる。
【００３８】
次に、ステップ５１０で、それぞれのポートにつき、フラグの接続状態を設定する。フラグとしては、図６に示すようなテーブルを例示することができる。フラグは、各ポートに割り当てられたポート番号と、入力デバイスが接続されているか否かを示す接続状態と、接続された時刻のタイムスタンプとを対応付けたものとされる。図６では、接続状態が、映像信号の入力がある場合をＯＮとして示し、映像信号の入力がない場合をＯＦＦとして示している。ステップ５１０で、すべてのポートの初期状態として、フラグをＯＦＦにして、タイムスタンプを０にする。
【００３９】
例えば、ポート２に映像信号の入力があると判断されれば、接続状態をＯＮに設定し、そのときの時刻をタイムスタンプとして設定する。すべてのポートにつき、設定が終了したところで、ステップ５１５へ進み、このスタートアップ時の処理を終了する。
【００４０】
上記のスタートアップ後、コントローラ１３０が行う処理について、図７〜図９に示すフローチャートを参照して説明する。図７に示すステップ７００から処理を開始し、ステップ７０５で、信号検知部４２０は、一定時間間隔で各ポートへの映像信号の入力の有無を確認する。コントローラ１３０を起動後、信号検知部４２０は、ＯＳのタイマー割り込みが一定時間経過する毎に発生するため、そのタイマー割り込みを監視し、それが発生した時点で、映像キャプチャデバイスドライバ部４１０を介して映像キャプチャデバイス２４０にアクセスし、その映像キャプチャデバイス２４０が保持するレジスタ値を読み取り、そのレジスタ値から映像信号の入力の有無を確認することができる。
【００４１】
ステップ７１０で、信号検知部４２０は、１つのポートにつき、接続状態をフラグに設定された接続状態と比較する。そして、ステップ７１５で、信号検知部４２０は、接続状態に変化があるかどうかを判断する。接続状態が前回の確認の結果と同じである場合は、ステップ７２０へ進み、信号検知部４２０は、再生制御部４３０に指示し、再生制御部４３０がサンプル取得部４４０の動作を制御して、そのポートに接続されている入力デバイスから映像を構成するフレーム画像の画像データを受け付けて取得し、描画部４５０に指示して、そのフレーム画像の画像データを表示装置１１０へ入力し、映像を表示させているかを判断する。
【００４２】
表示中であれば、その映像はタイムスタンプが最も新しいポート番号に接続された入力デバイスからの映像である。このため、コントローラ１３０は、表示を継続させるべく、信号検知部４２０が、ステップ７２５で、映像キャプチャデバイスドライバ部４１０を介して映像キャプチャデバイス２４０がキャプチャした画像を一時保存する。
【００４３】
このキャプチャ画像は、現在映像を表示させている入力デバイスの接続が切断されたときに表示させるためにも用いられる。キャプチャ画像は、フレーム画像の画像データとしてメモリ３５０に格納されるが、切断時に読み出され、ビデオアダプター２３０によって描画され、表示装置１１０の表示画面上に表示される。具体的には、信号検知部４２０がメモリ３５０に格納される画像データを取得する。そして、信号検知部４２０が再生制御部４３０に指示し、再生制御部４３０が描画部４５０に指示し、描画部４５０が描画機能部４００に指示して、描画機能部４００がビデオアダプター２３０を使用して描画する。
【００４４】
これに対し、表示されていない場合は、前回確認したときも、今回の確認でもそのポートにＰＣ等が接続されていないか、接続されてはいるが、タイムスタンプが古いので表示されないかである。このため、信号検知部４２０は、何も実行しない。したがって、この場合は、ステップ７４５へ進むことになる。
【００４５】
ステップ７１５で、接続状態に変化があると判断された場合、ステップ７３０へ進み、前回が入力信号なしであれば今回はあり、前回が入力信号ありであれば今回はなしということであるため、フラグの接続状態の設定を変更するべく、フラグを更新する。更新したフラグを参照し、ステップ７３５でその接続状態がＯＮで、映像信号の入力があるかどうかを判断する。映像信号の入力がある場合は、新しく接続されたことを意味するので、ステップ７４０でタイムスタンプを更新する。そして、ステップ７４５へ進む。
【００４６】
ステップ７３５でその接続状態がＯＦＦで、映像信号の入力がないと判断した場合、接続が切断されたことを意味するので、何も実行することなくステップ７４５へ進む。タイムスタンプは、接続された時刻を示すものであるから、切断された場合は更新されない。しかしながら、ステップ７２５で画像をキャプチャした後は、新しく接続していないが、ステップ７４０へ進み、そのキャプチャした時刻へタイムスタンプを更新する。
【００４７】
ステップ７４５では、すべてのポートにつき、接続状態をフラグに設定された接続状態と比較したかどうかを判断する。まだ比較していないポートがある場合、ステップ７１０へ戻り、比較していないポートにつき比較を行う。これに対し、すべてのポートにつき比較が終了した場合は、Ａで示される処理ステップへ進む。
【００４８】
図８は、コントローラ１３０が行う処理の続きを示したフローチャート図である。Ａで示される処理ステップに続いて、まず初めに、ステップ８０５で、信号検知部４２０がフラグを参照し、各ポートのタイムスタンプを確認する。次に、ステップ８１０で、１つのポートの接続状態を確認する。そして、ステップ８１５で、その接続状態がＯＮであるかどうかを判断する。ＯＮである場合、ステップ８２０へ進み、タイムスタンプが最も新しい時刻を示すものであるかどうかを判断する。そうである場合、ステップ８２５へ進み、そのポート番号を一時的に記録し、ステップ８３０へ進む。
【００４９】
ステップ８１５で、その接続状態がＯＦＦであると判断された場合、ステップ８２０で、タイムスタンプが最も新しい時刻を示すものではないと判断された場合、ステップ８３０へ進む。ステップ８３０では、すべてのポートにつき、接続状態の確認を終えたかどうかを判断する。まだ終えていないポートが存在する場合、ステップ８１０へ戻り、まだ確認していないポートにつき、ステップ８１０〜８２５までの同様の確認を行う。
【００５０】
ステップ８３０ですべてのポートにつき接続状態の確認を終えたと判断した場合、ステップ８３５へ進み、現在、表示装置１１０の表示画面上に表示させている映像の映像信号が入力されるポート番号と、ステップ８２５で一時的に記録したポート番号とを比較し、違うかどうかを判断する。この表示中のポートを指示する変数は、スタート時にダミーな値が付与され、新しい入力を検知した場合に随時更新される。
【００５１】
ステップ８３５で違うと判断した場合、ステップ８４０へ進み、現在表示中の映像の表示を終了する。表示装置１１０の表示画面に表示させたい映像は、コントローラ１３０に接続した時刻が最も新しいものである。ステップ８３５で違うと判断された場合、その最も新しい映像とは異なっていることを示す。したがって、最も新しい映像に切り替えるべく、このステップ８４０では、それより古い、現在表示中の映像の表示を終了する。
【００５２】
ステップ８４５では、最も新しい映像を取得するべく、信号検知部４２０は、再生制御部４３０に指示し、サンプル取得部４４０および描画部４５０のリソースを解放する。これにより、サンプル取得部４４０が、現在表示中の映像を構成する次のフレーム画像を取得するのを停止し、描画部４５０も、表示装置１１０の表示画面への描画を停止する。
【００５３】
ステップ８５０では、映像キャプチャデバイスドライバ部４１０が、映像ＳＷ３２０を入力ポートに接続した時刻が最も新しい入力デバイスへ切り替え、その入力デバイスからの映像信号の入力を受け付ける。ステップ８５５では、再生制御部４３０が、サンプル取得部４４０および描画部４５０を初期化し、ステップ８６０で、それらに指示して、映像サンプルの取得を開始させ、表示装置１１０への描画を開始させて、映像の表示を開始する。その後、Ｂで示される処理ステップへ進む。
【００５４】
ステップ８３５で同じと判断した場合、現在表示中の映像を表示し続ければよいため、ステップ８４０〜８６０のような処理を行う必要はなく、直接Ｂで示される処理ステップへ進む。
【００５５】
図９は、コントローラ１３０が行う処理の続きを示したフローチャート図である。Ｂで示される処理ステップに続いて、ステップ９０５で、表示中のポートのフラグを参照し、そのフラグの接続状態がＯＦＦになっているかどうかを確認する。
【００５６】
表示中のポートのフラグの接続状態がＯＦＦになっていない場合、ステップ９１５へ進み、表示中のポートのポート番号と、一時記録したポート番号とが同じであるかどうかを判断する。ポート番号が異なる場合は、ステップ９２０へ進み、表示中のポート番号を更新し、ステップ９２５でこの処理を終了する。
【００５７】
これに対し、表示中のポートのフラグの接続状態がＯＦＦになっている場合、接続が切断されたことを示すため、最後に接続されたポートからキャプチャされた画像を表示させる。このため、ステップ９１０へ進み、最後にキャプチャした画像の画像データをメモリ３５０から取得し、その画像を表示装置１１０の表示画面上に表示させる。この表示後、ステップ９１５へ進み、上記と同様、表示中のポート番号と、一時記録したポート番号とが同じであるかどうかを判断し、異なる場合、ステップ９２０へ進み、表示中のポート番号を更新し、ステップ９２５でこの処理を終了する。
【００５８】
ステップ９１５で、表示中のポート番号と、一時記録したポート番号とが同じ場合は、ステップ９２５へ直接進み、この処理を終了する。
【００５９】
これまでコントローラ１３０が行う処理について詳細に説明してきたが、映像を再生する際のコントローラ１３０が備える各部の動作について、図１０に示すシーケンス図を参照して説明する。コントローラ１３０は、ＣＰＵ２１０と、ＨＤＤ２２０と、映像キャプチャデバイス２４０というハードウェアを備えており、ＨＤＤ２２０に記憶されるアプリケーションおよびＯＳをＣＰＵ２１０が実行することにより、上述した描画機能部４００、映像キャプチャデバイスドライバ部４１０、描画部４５０、再生制御部４３０、サンプル取得部４４０として機能する。
【００６０】
表示装置１１０の表示画面に映像を表示する場合、その映像を構成するフレーム画像の画像データを取得しなければならない。そのため、信号検知部４２０またはユーザの指示を受け、再生制御部４３０がサンプル取得部４４０に画像データを取得するように指示する。この指示は、どのポート番号に接続されている入力デバイスから画像データを取得するかを示したものである。サンプル取得部４４０は、画像データというサンプルを取得するために、映像信号の入力を受け付ける映像キャプチャデバイス２４０を呼び出す必要がある。このため、サンプル取得部４４０は、映像キャプチャデバイスドライバ部４１０に対し、映像キャプチャデバイス２４０を呼び出し、サンプルを取得させるように指示する。
【００６１】
映像キャプチャデバイスドライバ部４１０は、サンプル取得部４４０からの指示を受けて、映像キャプチャデバイス２４０を呼び出し、その映像キャプチャデバイス２４０が備えるバッファ制御部３３０にサンプル取得を指示する。バッファ制御部３３０は、映像ＳＷ３２０に対し、その指示を受け、量子化された１フレームの画像の画像データを取得するように指示する。映像ＳＷ３２０は、指示されたポート番号のポートへ入力され、そのポートから出力された１フレームの画像の画像データを取得する。
【００６２】
映像ＳＷ３２０は、指示を受けたバッファ制御部３３０へ、取得した１フレームの画像の画像データを返送する。バッファ制御部３３０は、その１フレームの画像の画像データを取得し、ＤＭＡ転送部３４０に対し、ＤＭＡ転送を指示する。ＤＭＡ転送部３４０は、映像キャプチャデバイスドライバ部４１０からの指示に従って、指定されたメモリアドレスへＤＭＡ転送を行う。
【００６３】
ＤＭＡ転送部３４０は、画像データの転送が終了すると、映像キャプチャデバイスドライバ部４１０へ通知する。映像キャプチャデバイスドライバ部４１０は、その通知を受け、サンプルの取得が完了したことをサンプル取得部４４０へ通知し、その画像データが格納されているメモリアドレスおよびデータサイズの情報を渡す。サンプル取得部４４０は、再生制御部４３０へサンプルの取得が完了したことを通知し、そのメモリアドレスおよびデータサイズの情報を渡す。
【００６４】
再生制御部４３０は、描画部４５０に対し、この情報を渡し、映像を表示させるために描画を指示する。描画部４５０は、そのメモリアドレスへアクセスして取得した１フレームの画像の画像データを加工し、描画機能部４００へ描画を指示する。描画機能部４００は、その指示を受け、１フレームの画像を、指定された通りに表示画面上に描画し、表示させる。
【００６５】
なお、サンプル取得部４４０は、再生制御部４３０へ１フレームの画像の画像データの取得が完了したことを通知した後、次のフレーム画像の画像データを取得するために、映像キャプチャデバイスドライバ部４１０へサンプル取得を指示する。このようにして、すべてのフレーム画像の画像データを取得し、取得した順に描画して表示させることにより、表示装置１１０の表示画面上に映像を表示させることができる。
【００６６】
図４に示すコントローラ１３０の構成では、一定時間間隔で映像信号の入力の有無を確認する構成とされていたが、映像信号の入力の有無が変化した場合に割り込みによって信号検知部４２０へ通知し、映像信号の入力の有無を確認する構成を採用することも可能である。これを実現するために、図１１に示すような構成を採用することができる。
【００６７】
図１１は、コントローラ１３０の第２実施形態を示した機能ブロック図である。コントローラ１３０が、描画機能部４００、映像キャプチャデバイスドライバ部４１０、信号検知部４２０、再生制御部４３０、サンプル取得部４４０、描画部４５０、手書き機能部４６０を備える点では、上記第１実施形態のコントローラ１３０と同様であるが、さらにプロセス管理機能部４７０を備える点で異なっている。描画機能部４００等についてはすでに説明したので、ここではプロセス管理機能部４７０についてのみ説明する。
【００６８】
プロセス管理機能部４７０を説明するために、図１２に示すシーケンス図を参照する。ディスプレイポート３００およびＶＧＡポート３１０はいずれも、レシーバを備えており、レシーバは、映像信号の入力がありからなしへ、またはなしからありへと変化すれば、その変化を検知する。また、ディスプレイポート３００およびＶＧＡポート３１０は、映像信号の入力が始まれば、ＤＭＡ転送を開始し、その入力がなくなれば、ＤＭＡ転送を停止する。
【００６９】
映像信号の入力の有無の変化は、ＯＳを実行するＣＰＵ２１０へ伝えられ、ＯＳへの割り込みを発生させる。ＯＳの実行により機能する映像キャプチャデバイスドライバ部４１０は、その割り込みを検知する。映像キャプチャデバイスドライバ部４１０は、この割り込みを処理させるため、プロセス管理機能部４７０を呼び出す。
【００７０】
プロセス管理機能部４７０は、コントローラ１３０が起動する際に登録されたアプリケーションへのコールバック関数を保持する。コールバック関数は、割り込みを検知するための処理と、その割り込みが発生したときに実行すべき処理とを記述するものである。プロセス管理機能部４７０は、映像キャプチャデバイスドライバ部４１０からの通知を受けて、割り込みを検知し、実行すべき処理として、信号検知部４２０に対し、映像信号の入力の有無の通知を行う。信号検知部４２０は、この通知を受けて、上述した各処理を実行する。コールバック関数としては、ＯＳがｗｉｎｄｏｗｓ（登録商標）である場合、ｗｉｎｄｏｗｓ（登録商標）メッセージを処理する関数等が挙げられる。
【００７１】
例えば、信号検知部４２０は、入力信号ありという通知を受け、図１３に示すような処理を実行する。ステップ１３００からその処理を開始し、ステップ１３０５で、映像信号の入力を検知する。このとき、映像信号が入力されるポートのポート番号を取得する。ステップ１３１０で、図６に示すようなフラグのポート番号に対する接続状態をＯＦＦからＯＮへ変更する。この処理は、図７に示すステップ７３０に相当する処理である。
【００７２】
信号検知部４２０は、入力信号ありという通知を受けているので、続いてステップ１３１５でフラグのタイムスタンプを更新する。このため、このタイムスタンプが現在に最も近い時刻を示すものである。また、ここで始めて映像信号が入力されるため、現在、表示装置１１０の表示画面に映像が表示されていれば、その映像の映像信号とは異なる信号である。
【００７３】
したがって、ステップ１３２０では、図８に示すステップ８４０に相当する、現在表示中の映像の表示を終了する。新しく入力された映像信号へ切り替え、その映像を表示させるためである。
【００７４】
次に、ステップ１３２５で、信号検知部４２０が、再生制御部４３０に指示し、サンプル取得部４４０および描画部４５０のリソースを解放する。これにより、サンプル取得部４４０が、現在表示中の映像の次の画像の画像データを取得するのを停止し、描画部４５０も、表示装置１１０の表示画面への描画を停止する。
【００７５】
ステップ１３３０で、映像キャプチャデバイスドライバ部４１０が、映像ＳＷ３２０をそのポートへ切り替え、そのポートに接続される入力デバイスからの映像信号の入力を受け付ける。ステップ１３３５で、再生制御部４３０が、サンプル取得部４４０および描画部４５０を初期化し、ステップ１３４０で、それらに指示して、映像サンプルの取得を開始させ、表示装置１１０への描画を開始させて、映像の表示を開始する。その後、ステップ１３４５へ進み、現在表示中のポート番号を更新し、ステップ１３５０でこの処理を終了する。
【００７６】
図１３に示した処理は、新しく任意のポートに入力デバイスが接続され、映像信号がそのポートに入力された場合の処理である。任意のポートに接続された入力デバイスは、ユーザがケーブルに接触することで、そのケーブルが抜けて接続が切断される場合がある。また、ユーザがケーブルを引き抜き、接続を切断したり、入力デバイスにおいて映像信号の入力を停止する場合もある。この場合の処理について、図１４を参照して説明する。ポートへの映像信号の入力がなくなり、変化が生じると、割り込みが発生し、映像キャプチャデバイスドライバ部４１０がこの割り込みを処理する。
【００７７】
ステップ１４００から処理を開始し、ステップ１４０５で、信号検知部４２０は、映像キャプチャデバイスドライバ部４１０から映像信号の入力なしという通知を受ける。このとき、映像信号の入力がなくなったポートのポート番号を取得する。ステップ１４１０で、図６に示すようなフラグのポート番号に対する接続状態をＯＮからＯＦＦへ変更する。この処理は、図７に示すステップ７３０に相当する処理である。
【００７８】
信号検知部４２０は、映像信号の入力なしという通知を受けているので、ステップ１４１５でそのポートが表示中の映像の映像信号を供給する入力デバイスが接続されたポートであるかどうかを判断する。具体的に、該当するポートのポート番号と、現在表示中のポート番号とを比較する。そうである場合、表示中の映像の映像信号を供給することができなくなるため、ステップ１４２０で、信号検知部４２０は、再生制御部４３０にＤＭＡ転送を停止する直前にＤＭＡ転送部３４０がメモリ２００へ転送した画像データの取得を指示し、再生制御部４３０がサンプル取得部４４０に指示してその画像データを取得する。そして、ステップ１４２５で、再生制御部４３０は、取得した画像データを描画部４５０へ送り、画像の描画を指示し、表示装置１１０の表示画面上に画像を表示させる。この表示により、ステップ１４３０で処理を終了する。
【００７９】
これに対し、違う場合は、表示中の映像の映像信号を供給する入力デバイスが他のポートに接続され、その映像信号の供給が可能であるため、その映像信号の供給を継続することができる。したがって、ステップ１４３０へ直接進み、この処理を終了する。
【００８０】
これまで本発明の表示制御装置について、２つの実施形態を例示し、各構成および処理の内容を詳細に説明してきた。しかしながら、本発明は、これらの実施形態に限定されるものではない。
【００８１】
例えば、コントローラ１３０は、図３に示した複数のポートを備える映像キャプチャデバイス２４０を含む構成ではなく、図１５（ａ）、（ｂ）に示すような１つのポート、制御部、メモリ、ＰＣｌｅインタフェースを備える複数の映像キャプチャデバイスを含む構成とすることも可能である。
【００８２】
この場合、フラグは、ポート番号に代えて、映像キャプチャデバイスを識別するためのデバイス番号といったデバイス識別情報が用いられることになる。図１６に、そのフラグを表すテーブルを例示する。テーブルには、デバイス番号に対応付けて接続状態を示す「ＯＮ」、「ＯＦＦ」と、接続された日時、時刻を表すタイムスタンプとが示されている。
【００８３】
コントローラ１３０は、図２に示したハードウェアを備えるものであればいかなる装置であってもよく、ＰＣ、サーバ、ワークステーション等であってもよい。また、コントローラ１３０が実行する上記の表示制御処理は、アプリケーションやＯＳといったプログラムとして構成し、そのプログラムを提供することにより実現することができる。したがって、本発明では、そのプログラムも提供することができ、プログラムは、ＣＤ−ＲＯＭやＳＤカード等の記録媒体に格納して提供することもできるし、サーバ等に格納し、要求に応じてダウンロードするという形式により提供することも可能である。
【００８４】
このような本発明の表示制御装置、表示制御方法およびプログラムを提供することで、入力デバイスの接続が切断された場合であっても、手動で切り替えなくても、自動的に事前に取得した画像を表示させることができる。このため、メモやスナップショットを取る前に接続が切断されたとしても、自動に画像が表示されるので、メモを取ることが可能になり、スナップショットを取ることも可能となる。また、手書き入力において書き足したい場合もあり、それが可能となる。
【００８５】
また、新たに接続した入力デバイスの映像信号が入力された場合に、自動で切り替えて表示されるので、ユーザの手を煩わせることなく、その映像信号の映像を表示させることができる。新たに入力される映像は、画像表示システムの利用者に対して最も見せたい映像である。したがって、新たに入力される映像を表示することで、利用者が望む表示を実現することができる。さらに、入力デバイスに電子黒板アプリケーションを実装していなくても、この機能やプログラムを実装することで、映像もしくは画像またはそれらと手書き文字等の合成画像へ自動で切り替え、表示させることができる。これらのことから、会議等の進行を妨げることがなくなる。
【００８６】
要するに、本発明では、複数の入力デバイスと接続可能で、１つの入力デバイスから映像信号の入力を受け付け、表示装置に映像を表示させる制御を行う表示制御装置を提供することができる。この装置は、入力される映像信号を構成するフレーム画像の画像データを取得するキャプチャ手段と、映像信号の入力の有無を検知し、入力の有無に応じて表示装置に映像またはフレーム画像を表示させるように指示する信号検知手段と、入力がなくなったことを検知し、フレーム画像を表示させる指示を受けた場合に、キャプチャ手段が最後に取得した画像データからフレーム画像を生成して表示装置に表示させる制御手段とを含む。
【００８７】
そして、信号検知手段は、新たに入力デバイスが接続され、当該入力デバイスからの映像信号の入力を検知した場合、制御手段に対し、当該映像信号により生成した映像を表示させるように指示することができる。そのほか、映像信号の入力がなくなったが、他の入力デバイスからの映像信号の入力があることを検知した場合、制御手段に対し、当該他の入力デバイスからの映像信号により生成した映像を表示させるように指示することもできる。
【００８８】
２以上の他の入力デバイスからの映像信号の入力があることを検知する場合もあるが、この場合、２以上の他の入力デバイスのうちの第１入力デバイスが、上記の１つの入力デバイスの直前に、表示装置に表示させる映像の映像信号を入力していたとき、制御手段に対し、当該第１入力デバイスからの映像信号により生成した映像を表示させるように指示することができる。
【００８９】
信号検知手段は、一定時間間隔で映像信号の入力の有無を検知する手段、または映像信号の入力の有無が変化したことを検知する手段を含むことができる。これにより、一定時間間隔で映像信号の入力を確認して、または、映像信号の入力がありからなし等へと変化したときに、映像が消えないように他の映像や画像に切り替えることができる。
【００９０】
本発明は、上記以外の他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００９１】
１００…画像表示システム、１１０…表示装置、１２０…ＰＣ、１３０…コントローラ、１４０、１５０…ケーブル、２００…メモリ、２１０…ＣＰＵ、２２０…ＨＤＤ、２３０…ビデオアダプター、２４０…映像キャプチャデバイス、３００…ディスプレイポート、３１０…ＶＧＡポート、３２０…映像ＳＷ、３３０…バッファ制御部、３４０…ＤＭＡ転送部、３５０…メモリ、３６０…ＰＣＩｅインタフェース、４００…描画機能部、４１０…映像キャプチャデバイスドライバ部、４２０…信号検知部、４３０…再生制御部、４４０…サンプル取得部、４５０…描画部、４６０…手書き機能部、４７０…プロセス管理機能部
【先行技術文献】
【特許文献】
【００９２】
【特許文献１】特開２００２−３６６３４３号公報
【図１】
0006031750.tif 000002
【図２】
0006031750.tif 000003
【図３】
0006031750.tif 000004
【図４】
0006031750.tif 000005
【図５】
0006031750.tif 000006
【図６】
0006031750.tif 000007
【図７】
0006031750.tif 000008
【図８】
0006031750.tif 000009
【図９】
0006031750.tif 000010
【図１０】
0006031750.tif 000011
【図１１】
0006031750.tif 000012
【図１２】
0006031750.tif 000013
【図１３】
0006031750.tif 000014
【図１４】
0006031750.tif 000015
【図１５】
0006031750.tif 000016
【図１６】
0006031750.tif 000017