(57)【要約】      （修正有）【課題】情報処理装置の画面中に画面キャプチャＡＰＩによって取得できない画像が含まれていたとしても、表示装置が表示する画面を情報処理装置の画面と同様にする。【解決手段】プロジェクタへ画像を送信するＰＣは、複数のレイヤーから成る画面データに基いて第１の画像を表示する表示部と、複数のレイヤーの内、予め決められた少なくとも１つのレイヤーに描画された第２の画像をキャプチャする画像取得部１２１と、第１の画像と第２の画像とが異なるかどうかを判定する判定部１２４と、判定部により異なると判定された場合に、第２の画像を第１の画像と同じ画像にするための付加情報を取得する付加情報取得部１２５と、第２の画像を表示装置へ送信すると共に、付加情報取得部により付加情報を取得した場合に、該付加情報を表示装置へ送信するデータ送信部１２６とを有する。【選択図】図６
2012042753.tif 000002
【特許請求の範囲】
【請求項１】
表示装置へ画像を送信する情報処理装置であって、
複数のレイヤーから成る画面データに基いて第１の画像を表示する表示手段と、
前記複数のレイヤーの内、予め決められた少なくとも１つのレイヤーに描画された第２の画像をキャプチャする画像取得手段と、
前記第１の画像と前記第２の画像とが異なるかどうかを判定する判定手段と、
前記判定手段により異なると判定された場合に、前記第２の画像を前記第１の画像と同じ画像にするための付加情報を取得する付加情報取得手段と、
前記第２の画像を前記表示装置へ送信すると共に、前記付加情報取得手段により前記付加情報を取得した場合に、該付加情報を前記表示装置へ送信する送信手段と
を有する情報処理装置。
【請求項２】
表示装置へ画像を送信する情報処理装置であって、
複数のレイヤーから成る画面データに基いて第１の画像を表示する表示手段と、
前記複数のレイヤーの内、予め決められた少なくとも１つのレイヤーに描画された第２の画像をキャプチャする画像取得手段と、
前記第１の画像と前記第２の画像とが異なるかどうかを判定する判定手段と、
前記判定手段により異なると判定された場合に、前記第２の画像を前記第１の画像と同じ画像にするための付加情報を取得する付加情報取得手段と、
前記付加情報取得手段により前記付加情報を取得した場合に、前記付加情報を用いて前記第２の画像を変更して、第３の画像を生成する画像変更手段と、
前記付加情報取得手段により前記付加情報を取得していない場合に、前記第２の画像を前記表示装置へ送信し、前記付加情報取得手段により前記付加情報を取得した場合に、前記第３の画像を前記表示装置へ送信する送信手段と
を有する情報処理装置。
【請求項３】
前記複数のレイヤーに含まれる１つのレイヤーから、ポインタ画像をポインタ情報として取得するポインタ情報取得手段を更に有し、
前記送信手段は、更に、前記ポインタ情報を前記表示装置へ送信し、
前記判定手段は、前記第２の画像に前記ポインタ情報に基づいてポインタ画像を重畳して表示した場合に、該ポインタ画像が重複して表示されているかどうかを更に判断し、
前記判定手段が前記ポインタ画像が重複して表示されていると判定した場合に、前記付加情報取得手段は前記ポインタ画像を表示しないことを指示する命令を生成し、前記送信手段は、更に、該命令を前記表示装置へ送信する請求項１に記載の情報処理装置。
【請求項４】
前記複数のレイヤーに含まれる１つのレイヤーから、ポインタ画像をポインタ情報として取得するポインタ情報取得手段を更に有し、
前記判定手段は、前記第２の画像に前記ポインタ情報に基づいてポインタ画像を重畳して表示した場合に、該ポインタ画像が重複して表示されているかどうかを更に判断し、
前記送信手段は、前記判定手段が前記ポインタ画像が重複して表示されていないと判定した場合に前記ポインタ情報を前記表示装置へ送信し、前記判定手段が前記ポインタ画像が重複して表示されていると判定した場合に、前記ポインタ情報を前記表示装置へ送信しないようにする請求項１または２に記載の情報処理装置。
【請求項５】
前記判定手段は、前記第１の画像が、前記第２の画像に含まれないレイヤーの画像を含んでいるかどうかを判定し、
前記付加情報取得手段は、前記判定手段により含んでいると判定されたことに応じて、前記第２の画像に含まれないレイヤーの画像を付加情報として取得する請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記付加情報取得手段により取得される前記第２の画像に含まれないレイヤーの画像は、ドラッグ中のウィンドウの画像データ、大きさ、位置の全てまたはいずれかを含む請求項５に記載の情報処理装置。
【請求項７】
前記付加情報取得手段により取得される前記第２の画像に含まれないレイヤーの画像は、ドラッグ中のアイコンの画像データ及び位置の全てまたはいずれかを含む請求項５に記載の情報処理装置。
【請求項８】
請求項１から７のいずれか１項に記載の情報処理装置から、画像を含む情報を入力する入力手段と、
前記情報に前記付加情報が含まれているかどうかを判断する判断手段と、
前記判断手段により前記付加情報が含まれていると判断した場合に、前記画像を前記付加情報に基づいて変更することで、前記第１の画像を生成する変更手段と、
前記第１の画像を表示する表示手段と
を有する表示装置。
【請求項９】
請求項１から５のいずれか１項に記載の情報処理装置と、請求項８に記載の表示装置とからなる画像伝送システム。
【請求項１０】
表示装置へ画像を送信する情報処理装置の制御方法であって、
複数のレイヤーから成る画面データに基づいて第１の画像を表示する表示ステップと、
前記複数のレイヤーの内、予め決められた少なくとも１つのレイヤーに描画された第２の画像をキャプチャする画像取得ステップと、
前記第１の画像と前記第２の画像とが異なるかどうかを判定する判定ステップと、
前記判定ステップにおいて異なると判定された場合に、前記第２の画像を前記第１の画像と同じ画像にするための付加情報を取得する付加情報取得ステップと、
前記第２の画像を前記表示装置へ送信すると共に、前記付加情報取得ステップにより前記付加情報を取得した場合に、該付加情報を前記表示装置へ送信する送信ステップと
を有する制御方法。
【請求項１１】
表示装置へ画像を送信する情報処理装置の制御方法であって、
複数のレイヤーから成る画面データに基いて第１の画像を表示する表示ステップと、
前記複数のレイヤーの内、予め決められた少なくとも１つのレイヤーに描画された第２の画像をキャプチャする画像取得ステップと、
前記第１の画像と前記第２の画像とが異なるかどうかを判定する判定ステップと、
前記判定ステップにおいて異なると判定された場合に、前記第２の画像を前記第１の画像と同じ画像にするための付加情報を取得する付加情報取得ステップと、
前記付加情報取得ステップにより前記付加情報を取得した場合に、前記付加情報を用いて前記第２の画像を変更して、第３の画像を生成する画像変更ステップと、
前記付加情報取得ステップにより前記付加情報を取得していない場合に、前記第２の画像を前記表示装置へ送信し、前記付加情報取得ステップにより前記付加情報を取得した場合に、前記第３の画像を前記表示装置へ送信する送信ステップと
を有する制御方法。
【請求項１２】
請求項１から７のいずれか１項に記載の情報処理装置から、画像を含む情報を入力する入力ステップと、
前記情報に前記付加情報が含まれているかどうかを判断する判断ステップと、
前記判断ステップにより前記付加情報が含まれていると判断した場合に、前記画像を前記付加情報に基づいて変更することで、前記第１の画像を生成する変更ステップと、
前記第１の画像を表示する表示ステップと
を有する表示装置の制御方法。
【請求項１３】
コンピュータに、請求項１０から１２のいずれか１項に記載の制御方法の各ステップを実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ（以下、ＰＣ）等の情報処理装置による生成画像をプロジェクタ等の表示装置に送信する、画像の伝送システム及び伝送方法に関する。
【背景技術】
【０００２】
近年、会議や研修会等でプレゼンテーションを行う際は、ＰＣから受信した画像信号をスクリーンに投射させるプロジェクタを用いることが多い。
【０００３】
従来、ＰＣとプロジェクタとはＲＧＢケーブルを用いたアナログ接続によって画像信号の送受信を行っていた。しかしながら、接続に手間がかかる、遠隔地からの接続が困難、複数台のＰＣと同時に接続したい、といった理由からネットワークを介してＰＣとプロジェクタを接続する画像転送システムが注目されている。
【０００４】
この画像転送システムを実現するために、従来では、ＰＣ等の情報処理装置に表示された画面について定期的に画面キャプチャを行い、画面キャプチャによって取得された画像データをプロジェクタ等の表示装置に送信している（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２４２１５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、画面キャプチャを行う際にオペレーティングシステム（以下、ＯＳ）が提供するＡｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ（以下、ＡＰＩ）を用いると、以下のような問題があった。即ち、ＰＣの表示画面には表示されているオブジェクトであっても、画像データとしてキャプチャできないものが存在し、その結果として、プロジェクタにはＰＣの表示画面とは異なった画像データが送信され、ＰＣと同様の画面を投射できなかった。
【０００７】
なお、上記オペレーティングシステムがマイクロソフト社によって提供されるＷｉｎｄｏｗｓ（登録商標）であるとすると、キャプチャを行うＡＰＩは関数ＢｉｔＢｌｔである。関数ＢｉｔＢｌｔを用いたＰＣ画面のキャプチャは、通常、単一のレイヤーの画像しか取得できず、上記の問題が発生する。ただし、関数ＢｉｔＢｌｔのオプションによっては、別レイヤーの画像も含めてキャプチャできるが、この場合はＰＣ画面上のポインタが点滅するという別の問題が発生する。
【０００８】
本発明は、情報処理装置の画面中に、画面キャプチャＡＰＩによって取得ができないオブジェクトの画像が含まれていたとしても、表示装置が表示する画面を情報処理装置の画面と同様のものにすることのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明に係る情報処理装置は、表示装置へ画像を送信する情報処理装置であって、複数のレイヤーから成る画面データに基いて第１の画像を表示する表示手段と、前記複数のレイヤーの内、予め決められた少なくとも１つのレイヤーに描画された第２の画像をキャプチャする画像取得手段と、前記第１の画像と前記第２の画像とが異なるかどうかを判定する判定手段と、前記判定手段により異なると判定された場合に、前記第２の画像を前記第１の画像と同じ画像にするための付加情報を取得する付加情報取得手段と、前記第２の画像を前記表示装置へ送信すると共に、前記付加情報取得手段により前記付加情報を取得した場合に、該付加情報を前記表示装置へ送信する送信手段とを有する。
【発明の効果】
【００１０】
本発明によれば、情報処理装置の画面中に画面キャプチャＡＰＩによって取得できない画像が含まれていたとしても、表示装置が表示する画面を情報処理装置の画面と同様にすることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態１に係る情報処理装置を用いた画像伝送システムの一例を示す図。
【図２】本発明の実施形態１〜３のいずれかによって解決可能な状況の一例を説明するための図。
【図３】本発明の実施形態１〜３のいずれかによって解決可能な別の状況を説明するための図。
【図４】本発明の実施形態１〜３のいずれかによって解決可能な更に別の状況を説明するための図。
【図５】本発明の実施形態１におけるＰＣ及びプロジェクタの構成を示すブロック図。
【図６】実施形態１におけるプログラムのモジュール構成図。
【図７】実施形態１におけるＰＣ画面データ送信プログラムの内、キャプチャ画像送信プログラムの処理を説明するためのフローチャート。
【図８】実施形態１におけるＰＣ画面データ送信プログラムの内、ポインタ情報・付加情報送信プログラムの処理を説明するためのフローチャート。
【図９】実施形態１における判定処理を説明するためのフローチャート。
【図１０】実施形態１におけるＰＣ画面データ送信プログラムの内、ＰＣ画面データ送信プログラムの処理を説明するためのフローチャート。
【図１１】実施形態１におけるＰＣ画面データ受信プログラムの内、ポインタ情報・付加情報受信プログラムの処理を説明するためのフローチャート。
【図１２】実施形態２におけるプログラムのモジュール構成図。
【図１３】実施形態２におけるＰＣ画面データ送信プログラムの内、キャプチャ画像送信プログラムの処理を説明するためのフローチャート。
【図１４】実施形態２における判定変更処理を説明するためのフローチャート。
【図１５】実施形態２におけるＰＣ画面データ送信プログラムの内、ポインタ情報送信プログラムの処理を説明するためのフローチャート。
【発明を実施するための形態】
【００１２】
以下、図面を参照し、本発明の実施形態を説明する。
【００１３】
＜実施形態１＞
図１は、本発明の実施形態１に係る情報処理装置を用いた画像伝送システムの一例を示す図である。実施形態１の画像伝送システム１０は、情報処理装置の一例としてＰＣ１００と、表示装置の一例としてプロジェクタ２００とを備えており、ＰＣ１００とプロジェクタ２００とは無線ＬＡＮ３００を通して通信ネットワークを形成している。各部の役割を簡単に説明すると、ＰＣ１００は、ディスプレイに表示されている画像信号を、通信ネットワークを介してプロジェクタ２００に送信する。プロジェクタ２００は、ＰＣ１００から送られた画像信号を受信して、出力できる形への変換を行い表示する。また、このとき、マウス１００ａによってＰＣ１００におけるウィンドウシステム上のポインタが操作されるが、ポインタ表示位置は、画像データとは別にプロジェクタ２００に送信する。このようにする理由は、ポインタ位置情報だけの少ないデータ量で通信を行うことで、プロジェクタ２００におけるポインタ画像の表示応答速度を向上させ、ユーザがプロジェクタ投影面を見たときに、自然なポインタの動きを表現するためである。なお、ここでいうウィンドウシステムとはＷｉｎｄｏｗｓ等のＯＳによって実現される、Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ）のことで、複数のタスクに固有の領域を割当てて、画面出力を多重化する仕組みのことである。
【００１４】
次に、図２から図４を用いて、ＰＣ１００の表示画面と画面キャプチャＡＰＩを用いて取得された画面データが異なる状況について説明する。本発明の実施形態１〜３は、これらの状況のいずれかを解決できるように構成されている。なお、実施形態１においては、ＰＣ１００のＯＳとして、マイクロソフト社によって提供されるＷｉｎｄｏｗｓ２０００（登録商標）を用いている場合を想定して説明するが、本発明はこれに限定されるものではない。
【００１５】
図２は、ポインタを操作してウィンドウをドラッグしている状況を示している。図２（ａ）の左図は、ＰＣ１００の表示画面１５０（第１の画像）を示している。図２（ｂ）の左図は、ＷｉｎｄｏｗｓＡＰＩの画面キャプチャを行う関数ＢｉｔＢｌｔを用いて取得した画面データ１３０（第２の画像）を示している。図２（ｂ）の右図は、ＷｉｎｄｏｗｓＡＰＩのカーソルポインタ情報取得関数ＧｅｔＣｕｒｓｏｒＩｎｆｏ及び、カーソル画像取得関数ＧｅｔＩｃｏｎＩｎｆｏを用いて取得したポインタ画像１４０とポインタ位置を示している。また、図２（ａ）の右図は、上記のようにして取得した画面データとポインタ情報をプロジェクタ２００で受信後に投射した投射画像２５０を表している。
【００１６】
ここで、ＰＣ表示画面１５０と取得画面データ１３０を比べるとわかるように、取得画面データ１３０にはドラッグ中のウィンドウを示す枠画像がキャプチャされていない。これはキャプチャ関数ＢｉｔＢｌｔによって取得できる画像のレイヤーとは別レイヤーに枠画像が描画されているためである。そのため投射画像２５０には取得画面データ１３０とポインタ画像１４０とを重畳させた画像のみで構成されることなり、ユーザの視認性を損なうこととなる。
【００１７】
このようにドラッグ中のウィンドウが枠線で表現され、さらにそれがキャプチャできない状況となるのは、Ｗｉｎｄｏｗｓのデスクトップ画面のプロパティにおいて「ドラッグ中にウィンドウの内容を表示する」オプションが「無効」になっていた場合である。
【００１８】
なお、キャプチャ関数ＢｉｔＢｌｔのオプションによっては別レイヤーの画像も取得することが可能であるが、その場合にはＰＣ表示画面１５０中のカーソルが点滅するため、これもユーザの操作感を損なってしまう。以下、実施形態１ではキャプチャ関数ＢｉｔＢｌｔは別レイヤーの画像を取得しないモードで用いるものとして説明する。
【００１９】
図３は、ポインタを操作してアイコンをドラッグしている状況を示している。図３（ａ）の左図は、ＰＣ１００の表示画面１５２（第１の画像）を示している。図３（ｂ）の左図は、ＷｉｎｄｏｗｓＡＰＩの画面キャプチャを行う関数ＢｉｔＢｌｔを用いて取得した画面データ１３２（第２の画像）を示している。図３（ｂ）の右図は、ＷｉｎｄｏｗｓＡＰＩのカーソルポインタ情報取得関数ＧｅｔＣｕｒｓｏｒＩｎｆｏ及び、カーソル画像取得関数ＧｅｔＩｃｏｎＩｎｆｏを用いて取得したポインタ画像１４２とポインタ位置を示している。また、図３（ａ）の右図は、上記のようにして取得した画面データとポインタ情報をプロジェクタ２００で受信後に投射した投射画像２５２を表している。
【００２０】
ここで、ＰＣ表示画面１５２と取得画面データ１３２を比べるとわかるように、取得画面データ１３２にはドラッグ中のアイコンを示す画像がキャプチャされていない。これはキャプチャ関数ＢｉｔＢｌｔによって取得できる画像のレイヤーとは別レイヤーにドラッグ中のアイコン画像が描画されているためである。そのため投射画像２５２には取得画面データ１３２とポインタ画像１４２とを重畳させた画像のみで構成されることなり、ユーザの視認性を損なうこととなる。
【００２１】
このようにドラッグ中のアイコン画像がキャプチャできない状況となるのは、Ｗｉｎｄｏｗｓのデスクトップ画面のプロパティにおいて「ドラッグ中にウィンドウの内容を表示する」オプションが「有効」になっていた場合である。
【００２２】
図４は、図３と同様にポインタを操作してアイコンをドラッグしている状況を示している。図４（ａ）の左図は、ＰＣ１００の表示画面１５４（第１の画像）を示している。図４（ｂ）の左図は、ＷｉｎｄｏｗｓＡＰＩの画面キャプチャを行う関数ＢｉｔＢｌｔを用いて取得した画面データ１３４（第２の画像）を示している。図４（ｂ）の右図は、ＷｉｎｄｏｗｓＡＰＩのカーソルポインタ情報取得関数ＧｅｔＣｕｒｓｏｒＩｎｆｏ及び、カーソル画像取得関数ＧｅｔＩｃｏｎＩｎｆｏを用いて取得したポインタ画像１７４とポインタ位置を示している。また、図４（ａ）の右図は、上記のようにして取得した画面データとポインタ情報をプロジェクタ２００で受信後に投射した投射画像２５４を表している。
【００２３】
ここで、ＰＣ表示画面１５４と取得画面データ１３４を比べるとわかるように、取得画面データ１３４にはポインタ画像も重畳されてキャプチャされている。
【００２４】
これはキャプチャ関数ＢｉｔＢｌｔによって取得できる画像のレイヤーと同じレイヤーにドラッグ中のポインタ画像が描画されているためである。そのため投射画像２５４には取得画面データ１３４とポインタ画像１４４とを重畳させた画像で構成されることなり、ポインタ画像が重複して二重に描画されることとなり、結果としてユーザの視認性を損なうこととなる。
【００２５】
このようにドラッグ中のポインタ画像がキャプチャされてしまう状況となるのは、Ｗｉｎｄｏｗｓのデスクトップ画面のプロパティにおいて「ドラッグ中にウィンドウの内容を表示する」オプションが「無効」になっていた場合である。
【００２６】
図５は、図１のＰＣ１００とプロジェクタ２００とを備えた画像伝送システム１０の実施形態１における内部構成を示した図である。
【００２７】
ＰＣ１００は、ＣＰＵ１０１と、ＣＰＵ１０１の処理手順を記述した制御プログラムを格納するためのＲＯＭ１０２と、ワークメモリとしてのＲＡＭ１０３と、ハードディスクドライブ１０４とを備える。更に、ＰＣ１００は、ＬＡＮ等を経由してプロジェクタ２００やサーバ等と通信するためのインタフェースであるネットワークＩＦ１０５と、キーボードやポインティングデバイス（マウス等）からのユーザ入力を処理するユーザＩＦ１０６とを備える。また、ＰＣ１００は、ＰＣ１００の表示する画像が記憶されているＶＲＡＭ１０７と、画像処理部１０８と、表示制御部１０９と、液晶ディスプレイ等の表示部１１０とを備える。そして、上述した各要素を接続する内部バス１１１を備えている。
【００２８】
プロジェクタ２００は、ＣＰＵ２０１と、ＣＰＵ２０１の処理手順を記述した制御プログラムを格納するためのＲＯＭ２０２と、ワークメモリとしてのＲＡＭ２０３とを備える。更に、プロジェクタ２００は、ＰＣ１００との接続用インタフェースであるネットワークＩＦ２０４と、各種の操作ボタンや操作リモコン等からのユーザ入力を処理するユーザＩＦ２０５とを備える。また、プロジェクタ２００は、画像を出力するための投射画像制御部２０６と、入力画像を投射する液晶パネル及びその駆動ドライバ、レンズ及びその駆動系及び光源で構成される投射部２０７とを備える。そして、上述した各要素を接続する内部バス２０８を備えている。
【００２９】
図６は、実施形態１におけるＰＣ１００のＣＰＵ１０１とプロジェクタ２００のＣＰＵ２０１上で動作するプログラムのモジュール構成図である。ＰＣ１００のＣＰＵ１０１上で動作するＰＣ画面データ送信プログラム１２０は、ＶＲＡＭ１０７に記憶されている画面データをキャプチャする画像取得部１２１と、キャプチャした画面データを圧縮する画像圧縮部１２２とを備える。更に、ＰＣ画面データ送信プログラム１２０は、マウス等の入力デバイスによって操作されるポインタの画像及び、位置を取得するポインタ情報取得部１２３と、キャプチャした画面データが正しいものかどうかを判定する判定部１２４とを備える。また、ＰＣ画面データ送信プログラム１２０は、判定部１２４が、キャプチャした画面データとＰＣ１００が表示している画面データとが異なっていると判断した場合に、付加する情報を取得する付加情報取得部１２５とを備える。そして、これらの各情報をプロジェクタ２００に送信するための処理を行うデータ送信部１２６を備えている。
【００３０】
一方、プロジェクタ２００のＣＰＵ２０１上で動作するＰＣ画面データ受信プログラム２２０は、ＰＣ画面データ送信プログラム１２０から送信された各情報を受信するデータ受信部２２１と、受信した画面データを展開する画像展開部２２２とを有する。更に、ＰＣ画面データ受信プログラム２２０は、画面データとポインタを重畳させてプロジェクタが投射する投射画像を生成し、さらに受信した付加情報によって投射画像に変更を加える画像制御部２２３とを備える。
【００３１】
次に、上記のように構成された画像伝送システム１０における画像伝送方法について、フローチャートを参照して説明する。
【００３２】
図７及び図８は、図６に示したＰＣ画面データ送信プログラム１２０により行われる処理を説明するためのフローチャートである。図７は、ＰＣ画面データ送信プログラム１２０の内、画像取得部１２１と、画像圧縮部１２２と、データ送信部１２６とで実現されるキャプチャ画像送信プログラムの処理を示しており、ＰＣ１００の出力画面をキャプチャして送信する。これはＰＣ１００のＣＰＵ１０１の１プロセス上で動作する。また、図８は、ポインタ情報取得部１２３と、判定部１２４と、付加情報取得部１２５と、データ送信部１２６とで実現されるポインタ情報・付加情報送信プログラムの処理を示しており、ポインタ情報及び付加情報を取得して送信する。この処理も図７に示した処理と同様にＰＣ１００のＣＰＵ１０１の１プロセス上で動作する。つまり、図７と図８に示した処理はそれぞれ並列に動作する。
【００３３】
図７において、画像伝送システム１０が起動すると、まず、画像取得部１２１がＰＣ１００の出力画像（第２の画像）をキャプチャする（Ｓ１１）。この処理はＰＣ１００のＯＳがアプリケーションソフトに対して標準で提供している機能の集合であるＡＰＩを用いることで実現できる。なお、ここでキャプチャされる出力画像は、必ずしも全てのレイヤーの画像ではなく、例えば、上述した「ドラッグ中にウィンドウの内容を表示する」オプションの設定内容などに応じて、ＡＰＩにより決まるレイヤーの画像のことである。
【００３４】
次に、Ｓ１１でキャプチャした画面データに対して、画像圧縮部１２２が画像圧縮処理を行う（Ｓ１２）。ここで行う圧縮処理は、例えばランレングス圧縮、ＪＰＥＧ圧縮、Ｚｌｉｂ圧縮等が考えられるが、その他の圧縮方法も適用可能である。以上の処理によって得られた圧縮された画面データをデータ送信部１２６がプロジェクタ２００に対して送信する（Ｓ１３）。最後に、画面伝送処理の終了判定を行い、終了要求がユーザ入力等からあれば処理を終了する（Ｓ１４でＹＥＳ）。終了要求が無ければＳ１１から処理を繰り返す（Ｓ１４でＮＯ）。
【００３５】
次に、図８を参照してポインタ情報・付加情報送信プログラムの処理について説明する。図８において、画像伝送システム１０が起動すると、まず、ポインタ情報取得部１２３がポインタ情報を取得する（Ｓ１５）。この処理は、ＡＰＩを用いて、ポインタの位置情報とポインタの画像データを取得することで実現可能である。
【００３６】
続いて、現在の画像伝送システム１０の状態が、図２から図４に示したような、ＰＣ１００の表示画面と画面キャプチャＡＰＩを用いて取得された画面データとが異なる状況かどうかの判定を判定部１２４によって行う（Ｓ１６）。ここで行われる判定処理の内容を詳細に記述したものが図９である。
【００３７】
判定処理が開始されると、判定部１２４はウィンドウのドラッグ中であるかを判定する（Ｓ１００）。ウィンドウのドラッグ中であり（Ｓ１００でＹＥＳ）、かつＷｉｎｄｏｗｓのデスクトップの表示プロパティにおいて、「ドラッグ中にウィンドウの内容を表示する」オプションが「無効」であれば（Ｓ１０１でＮＯ）、これは図２に示した状況と一致する。つまり付加情報としてドラッグ中のウィンドウ情報があれば、プロジェクタ２００の投影面をＰＣ１００の表示画面と同様の状態にできるので、Ｓ１０２において、付加情報取得部１２５がドラッグ中のウィンドウ情報を付加情報として取得する。ここでウィンドウ情報とはドラッグ中のウィンドウの大きさ、位置、線種のすべて、またはいずれかによって構成される情報である。ウィンドウの大きさ、及び位置はＡＰＩによって取得可能であり、線種についてはＯＳ標準の線種を予め取得しておくことで対応可能である。この場合は、以上で判定処理を終了する。
【００３８】
また、「ドラッグ中にウィンドウの内容を表示する」オプションが「有効」であれば、（Ｓ１０１でＹＥＳ）付加情報の必要はなく、そこで判定処理を終了する。
【００３９】
ウィンドウのドラッグ中ではなく（Ｓ１００でＮＯ）、アイコンのドラッグ中であれば（Ｓ１０３でＹＥＳ）、次に「ドラッグ中にウィンドウの内容を表示する」オプションが「有効」であるかを判定する（Ｓ１０４）。「有効」であれば（Ｓ１０４でＹＥＳ）、これは図３に示した状況と一致する。つまり付加情報としてドラッグ中のアイコン情報があれば、プロジェクタ２００の投影面をＰＣ１００の表示画面と同様の状態にできるので、Ｓ１０５において、付加情報取得部１２５がドラッグ中のアイコン情報を付加情報として取得する。ここでアイコン情報とは、ドラッグ中のアイコンの位置、画像のすべて、またはいずれかによって構成される情報である。アイコン画像、及び位置はＡＰＩによって取得可能である。この場合は、以上で処理を終了する。
【００４０】
また、「ドラッグ中にウィンドウの内容を表示する」オプションが「無効」であれば（Ｓ１０４のＮＯ）、これは図４に示した状況と一致する。つまり、ポインタ画像の描画中止命令を付加情報とする（Ｓ１０６）ことで、プロジェクタ２００側でポインタ画像が二重に描画されることを防ぐことができる。以上で処理を終了する。また、ここでは付加情報としてポインタ画像の中止命令をプロジェクタ２００に送信することで、ポインタ画像の二重の描画を停止させているが、ポインタ画像の取得及び送信を停止することでもこの処理は可能である。
【００４１】
ウィンドウのドラッグ中でなく（Ｓ１００でＮＯ）、かつ、アイコンのドラッグ中でも無ければ（Ｓ１０３でＮＯ）、判定処理による付加情報の取得は必要ないので、判定処理を終了する。以上のように図９の処理が終了すると、図８のＳ１７に進む。
【００４２】
Ｓ１７では、Ｓ１５で取得したポインタ情報及び、Ｓ１６で取得していれば、付加情報をデータ送信部１２６がプロジェクタ２００に対して送信する（Ｓ１７）。最後に、画面伝送処理の終了判定を行い、終了要求がユーザ入力等からあれば処理を終了する（Ｓ１８でＹＥＳ）。終了要求が無ければＳ１５から処理を繰り返す（Ｓ１８でＮＯ）。
【００４３】
図１０及び図１１は、図６に示したＰＣ画面データ受信プログラム２２０により行われる処理を説明するためのフローチャートである。図１０はＰＣ画面データ受信プログラム２２０の内、データ受信部２２１と、画像展開部２２２と、画像制御部２２３とで実現されるＰＣ画面データ受信プログラムの処理を示しており、ＰＣ１００から送信された画面データを受信して表示する。これはプロジェクタ２００のＣＰＵ２０１の１プロセス上で動作する。また、図１１は、データ受信部２２１と、画像制御部２２３とで実現されるポインタ情報・付加情報受信プログラムを示しており、ＰＣ１００から送信されたポインタ情報を受信して描画したり、付加情報を受信して、それに応じて画像データを修正する。これも図１０に示した処理と同様にプロジェクタ２００のＣＰＵ２０１の１プロセス上で動作する。つまり、図１０と図１１に示した処理はそれぞれ並列に動作する。
【００４４】
図１０において、画像伝送システム１０が起動し、図７に示した処理フローによって、ＰＣ１００から圧縮された画面データが送信されてくると、データ受信部２２１がこれを受信する（Ｓ２１）。次に、このデータを画像展開部２２２が展開する（Ｓ２２）。ここで行う展開処理は、図７の圧縮処理（Ｓ１２）に対応したものであり、事前にＰＣ１００とプロジェクタ２００間でどのような圧縮方法をとるかは設定されている。そして、画像制御部２２３が展開された画面データの描画処理を行う（Ｓ２３）。最後に、画面伝送処理の終了判定を行い、終了要求がユーザ入力等からあれば処理を終了する（Ｓ２４でＹＥＳ）。終了要求が無ければＳ２１から処理を繰り返す（Ｓ２４でＮＯ）。
【００４５】
次に、図１１を参照してポインタ情報・付加情報受信プログラムの処理について説明する。図８に示した処理フローによって、ＰＣ１００からポインタ情報と、場合によって付加情報が送信されてくると、データ受信部２２１がデータ受信を行う（Ｓ２５）。そして、付加情報としてドラッグ中のウィンドウ情報を受信すると（Ｓ２６でＹＥＳ）、画像制御部２２３がウィンドウのドラッグ中を示す画像の描画処理を行う（Ｓ２７）。ここで、ウィンドウのドラッグ中を示す画像とは、例えば、ドラッグ中のウィンドウサイズの枠画像を、付加情報によって得られたウィンドウ位置に描画したものである。
【００４６】
一方、ドラッグ中のウィンドウ情報の受信はなく（Ｓ２６でＮＯ）、ドラッグ中のアイコン情報を受信すると（Ｓ２８でＹＥＳ）、画像制御部２２３がアイコンのドラッグ中を示す画像の描画処理を行う（Ｓ２９）。ここでアイコンのドラッグ中を示す画像とは、例えば、ドラッグ中のアイコン画像を、付加情報によって得られたアイコン位置に描画したものである。
【００４７】
Ｓ２７、Ｓ２９の処理の後、画像制御部２２３は受信したポインタ情報に従ってポインタ画像の描画処理を行う（Ｓ３０）。
【００４８】
また、付加情報としてドラッグ中のアイコン情報ではなく（Ｓ２８でＮＯ）、ポインタ画像の描画中止命令を受信すると（Ｓ３１でＹＥＳ）、Ｓ３０のポインタ画像描画処理は行わない。なお、ここではＰＣ１００からポインタ情報が送信されているものとしているが、ポインタ画像の中止命令ではなく、ポインタ画像の送信自体をＰＣ１００側で停止させる構成も可能である。その場合、プロジェクタ２００では、ポインタ画像の受信がなくなれば、以前に表示していたポインタ画像の消去を行い、ポインタ画像の描画を停止させる。
【００４９】
また、付加情報の受信が無ければ（Ｓ３１でＮＯ）、ＰＣ１００の表示画面と、キャプチャ画面データに違いがないということなので、ポインタ画像の描画のみを行う（Ｓ３０）。
【００５０】
最後に、画面伝送処理の終了判定を行い、終了要求がユーザ入力等からあれば処理を終了する（Ｓ３２でＹＥＳ）。終了要求が無ければＳ２５から処理を繰り返す（Ｓ３２でＮＯ）。
【００５１】
図１０に示した画面データの受信描画処理と、図１１に示したポインタ情報及び付加情報の受信描画処理とをプロジェクタ２００のＣＰＵ２０１上で別々のプロセスで並列的に行うのは、次の理由による。即ち、画面データの受信、展開、描画処理はデータサイズが大きいだけ処理に時間がかかる一方、ポインタ情報の受信、描画処理は、データサイズが小さく、比較的短時間の処理で行うことができる。従って、並列的にこれらを処理することで、少なくともポインタの動作だけはＰＣ１００上で表現されているのと同程度の更新間隔で表示可能であり、ユーザの操作感を向上させることができるからである。
【００５２】
このように、実施形態１によれば、ＰＣ１００の画面中に画面キャプチャＡＰＩによって取得できない画像が含まれていたとしても、プロジェクタ２００が表示する画面をＰＣ１００の画面と同様にすることができる。
【００５３】
＜実施形態２＞
上述した実施形態１では、ＰＣ１００の表示画面とキャプチャ画面データとが異なる場合に、プロジェクタ２００で受信した付加情報を基に画面データに変更を加えて、ＰＣ１００の表示画面とキャプチャ画面データの違いを修正した。実施形態２では、ＰＣ１００側でキャプチャ画像に変更を加えることで、プロジェクタ側での変更を行うことなく、プロジェクタ投影面に表示する画面データを修正する手法について説明する。なお、実施形態２における画像伝送システム１０の構成は図５に記載したものと同様であるので、ここでは説明を省略する。
【００５４】
図１２は、実施形態２におけるＰＣ１００のＣＰＵ１０１上で動作するプログラムのモジュール構成図である。ＰＣ１００のＣＰＵ１０１上で動作するＰＣ画面データ送信プログラム１６０は、ＶＲＡＭ１０７に記憶されている画面データをキャプチャする画像取得部１６１と、キャプチャした画面データを圧縮する画像圧縮部１６２とを備える。更に、ＰＣ画面データ送信プログラム１６０は、マウス等の入力デバイスによって操作されるポインタの画像及び、位置を取得するポインタ情報取得部１６３と、キャプチャした画面データが正しいものかどうかを判定する判定部１６４とを備える。また、ＰＣ画面データ送信プログラム１６０は、判定部１６４が、キャプチャした画面データとＰＣ１００が表示している画面データとが異なっていると判断した場合に、キャプチャした画面データに変更を加える画像変更部１６５とを備える。そして、画面データとポインタ情報とをプロジェクタ２００に送信するためのデータ送信部１２６を備えている。
【００５５】
次に、上記のように構成されたＰＣ画面データ送信プログラム１６０による画像取得、変更、伝送方法について、図１３〜図１５のフローチャートを参照して説明する。図１３は、ＰＣ画面データ送信プログラム１６０の内、画像取得部１６１と、画像圧縮部１６２と、判定部１６４と、画像変更部１６５と、データ送信部１６６とで実現されるキャプチャ画像送信プログラムの処理を示している。この処理では、ＰＣ画面データをキャプチャして、そのときの状況に応じて修正後、送信し、ＰＣ１００のＣＰＵ１０１の１プロセス上で動作する。図１４は、図１３のＳ３２の処理を説明するためのフローチャートである。また、図１５は、ポインタ情報取得部１６３と、データ送信部１６６とで実現されるポインタ情報送信プログラムの処理を示しており、ポインタ情報を取得して送信する。この処理も図１３に示した処理と同様にＰＣ１００のＣＰＵ１０１の１プロセス上で動作する。つまり、図１３と図１５に示した処理はそれぞれ並列に動作する。
【００５６】
図１３において、画像伝送システム１０が起動すると、まず、画像取得部１６１がＰＣ１００の出力画像（第２の画像）をキャプチャする（Ｓ４１）。なお、ここでキャプチャされる出力画像は、必ずしも全てのレイヤーの画像ではなく、例えば、上述した「ドラッグ中にウィンドウの内容を表示する」オプションの設定内容などに応じて、ＡＰＩにより決まるレイヤーの画像のことである。次に、判定部１６４と画像変更部１６５によって画像データの判定処理と判定結果に従った画像データの変更処理を行う（Ｓ４２）。この処理の詳細を図１４に示す。
【００５７】
図１４において、判定部１６４はＰＣ１００上でウィンドウのドラッグ中であるかどうかの判定を行う（Ｓ１５０）。ウィンドウのドラッグ中であれば（Ｓ１５０でＹＥＳ）、「ドラッグ中にウィンドウの内容を表示する」オプションが「有効」であるかを判定する（Ｓ１５１）。これが「無効」であれば（Ｓ１５１でＮＯ）、これは図２に示した状況と一致する。よってキャプチャした画面データにドラッグ中のウィンドウを表す画像を追加すれば、プロジェクタ２００の投影面をＰＣ１００の表示画面と同様の状態にできる。従ってＳ１５２では、画像変更部１６５が、ドラッグ中のウィンドウを表す画像をキャプチャした画像データに追加する。ここでドラッグ中のウィンドウを表す画像とは、例えばドラッグ中のウィンドウの大きさ、位置の情報から構成されるウィンドウの枠画像であり、ウィンドウの大きさ、位置はＷｉｎｄｏｗｓのＡＰＩを用いることで取得可能である。ドラッグ中のウィンドウを表す画像をキャプチャした画像データに追加し終えると（第３の画像）、判定変更処理を終了する。
【００５８】
一方、「ドラッグ中のウィンドウの内容を表示する」オプションが「有効」であれば（Ｓ１５１でＹＥＳ）、画像の変更は必要ないため、そのまま判定変更処理を終了する。
【００５９】
また、ウィンドウのドラッグ中ではなく（Ｓ１５０でＮＯ）、アイコンのドラッグ中であれば（１５３でＹＥＳ）、「ドラッグ中にウィンドウの内容を表示する」オプションが「有効」かどうかを判定する（Ｓ１５４）。「有効」であれば（Ｓ１５４でＹＥＳ）、これは図３に示した状況と一致する。よってキャプチャした画面データにドラッグ中のアイコンを表す画像を追加すれば、プロジェクタ２００の投影面をＰＣ１００の表示画面と同様の状態にできる。従ってＳ１５５では、画像変更部１６５が、ドラッグ中のアイコンを表す画像をキャプチャした画像データに追加する。ここでドラッグ中のアイコンを表す画像とは、例えばドラッグ中のアイコン画像、位置の情報から構成されるものであり、アイコン画像、位置はＷｉｎｄｏｗｓ  ＡＰＩを用いることでウィンドウ情報と同様に取得可能である。ドラッグ中のアイコンを表す画像をキャプチャした画像データに追加し終えると（第３の画像）、判定変更処理を終了する。
【００６０】
一方、「ドラッグ中にウィンドウの内容を表示する」オプションが「無効」であれば（Ｓ１５４でＮＯ）、これは図４に示した状況と一致する。つまり、キャプチャした画像データにポインタ画像が含まれているので、別プロセスで行われているポインタ画像の送信を止めなくてはならない。そこで、ポインタ画像の送信中止をデータ送信部に対して指示して（Ｓ１５６）、判定変更処理を終了する。
【００６１】
また、ウィンドウのドラッグ中でも（Ｓ１５０でＮＯ）、アイコンのドラッグ中でも無ければ（Ｓ１５３でＮＯ）、キャプチャした画像の変更処理は必要無いので、判定変更処理を終了する。以上のように図１４の処理が終了すると、図１３のステップＳ４３に進む。
【００６２】
Ｓ４３では、このようにして得られた、キャプチャしたＳ４２の判定変更処理を経た画像データを画像圧縮部１６２が圧縮する。そして圧縮された画像データを、データ送信部１６６が、プロジェクタ２００に対して送信する（Ｓ４４）。最後に、画面伝送処理の終了判定を行い、終了要求がユーザ入力等からあれば処理を終了する（Ｓ４５でＹＥＳ）。終了要求が無ければＳ４１から処理を繰り返す（Ｓ４５でＮＯ）。
【００６３】
次に、図１５を参照してポインタ情報送信プログラムの処理について説明する。図１５において、画像伝送システム１０が起動すると、まず、ポインタ情報取得部１６３がポインタ情報を取得する（Ｓ４６）。この処理は、ＡＰＩを用いて、ポインタの位置情報とポインタの画像データを取得することで実現可能である。
【００６４】
データ送信部１６６はポインタ情報の送信を行うかどうかの判定処理を行う（Ｓ４７）。これは、図１４のＳ１５６に示したように、キャプチャ画像データにポインタ画像が含まれていた場合のための処理であり、ポインタ情報の送信中止の指示があれば（Ｓ４７でＹＥＳ）、Ｓ４６の処理に戻る。一方、ポインタ情報の送信中止の指示が無ければ（Ｓ４７でＮＯ）、ポインタ情報をプロジェクタ２００に対して送信する（Ｓ４８）。
【００６５】
最後に、画面伝送処理の終了判定を行い、終了要求がユーザ入力等からあれば処理を終了する（Ｓ４９でＹＥＳ）。終了要求が無ければＳ４１から処理を繰り返す（Ｓ４９でＮＯ）。
【００６６】
このように、実施形態２によれば、ＰＣ１００の画面中に画面キャプチャＡＰＩによって取得できない画像が含まれていたとしても、プロジェクタ２００が表示する画面をＰＣ１００の画面と同様にすることができる。また、上述した実施形態１と比較して、プロジェクタ２００で特別な処理を必要としないので、従来のプロジェクタと組み合わせて用いることができる。
【００６７】
なお、上述した実施形態１及び２では、ＰＣのＯＳとしてＷｉｎｄｏｗｓを採用しているものについて説明した。しかしながら、その他のＯＳであっても、ＰＣの表示画面とキャプチャした画面データに相違があるものであれば、どのようなものであっても適用することができる。
【００６８】
また、実施形態１及び２では情報処理装置の一例としてＰＣ１００を、表示装置の一例としてプロジェクタ２００を用いた場合にについて説明したが、本発明はこれに限られるものではない。表示画面をキャプチャ可能な情報処理装置と、情報処理装置から送信されるデータを表示可能な表示装置であれば、本発明を適用することが可能である。
【００６９】
＜実施形態３＞
実施形態１及び２で説明した様々な機能及び処理は、パーソナルコンピュータ、マイクロコンピュータ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などがコンピュータプログラムなどのソフトウェアを用いて実現することもできる。以下、実施形態３では、パーソナルコンピュータ、マイクロコンピュータ、ＣＰＵなどを「コンピュータ」と呼ぶ。また、実施形態３では、コンピュータプログラムなどのソフトウェアであって、実施形態１及び２で説明した様々な機能及び処理を実現するためのソフトウェアを「所定のソフトウェア」と呼ぶ。
【００７０】
実施形態１及び２で説明した様々な機能及び処理は、コンピュータが所定のソフトウェアを実行することによって実現される。この場合において、所定のソフトウェアは、コンピュータ読み取り可能な記録媒体を介してコンピュータに供給される。実施形態３におけるコンピュータ読み取り可能な記録媒体は、ハードディスク装置、光ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＲＯＭ、ＲＡＭなどを含む。また、実施形態３におけるコンピュータ読み取り可能な記録媒体は、non-transitory（非一時的）な記録媒体である。
【図１】
2012042753.tif 000003
【図２】
2012042753.tif 000004
【図３】
2012042753.tif 000005
【図４】
2012042753.tif 000006
【図５】
2012042753.tif 000007
【図６】
2012042753.tif 000008
【図７】
2012042753.tif 000009
【図８】
2012042753.tif 000010
【図９】
2012042753.tif 000011
【図１０】
2012042753.tif 000012
【図１１】
2012042753.tif 000013
【図１２】
2012042753.tif 000014
【図１３】
2012042753.tif 000015
【図１４】
2012042753.tif 000016
【図１５】
2012042753.tif 000017