(57)【特許請求の範囲】
【請求項１】
ウィンドウシステムを実行する情報処理装置であって、
前記ウィンドウシステムの画面を表示装置に表示させる表示手段と、
外部の表示装置と通信する通信手段と、
制御手段とを有し、
前記ウィンドウシステムのウィンドウのうち指定されたウィンドウに対応する画像データを前記通信手段を介して前記外部の表示装置に送信する場合、前記制御手段は、前記外部の表示装置の表示領域の水平画素数及び垂直画素数を前記通信手段を介して取得し、前記指定されたウィンドウのサイズを前記外部の表示装置の表示領域の水平画素数及び垂直画素数よりも小さくしてから、前記サイズを小さくしたウィンドウに表示される画像データを前記通信手段を介して前記外部の表示装置に送信することを特徴とする情報処理装置。
【請求項２】
前記指定されたウィンドウはユーザにより選択されたウィンドウであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記指定されたウィンドウはアクティブウィンドウであることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記制御手段は、前記ウィンドウのサイズを小さくする前に前記表示装置に警告画面を表示するように前記表示手段を制御することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記制御手段は、前記ウィンドウシステムのウィンドウサイズ取得関数を用いて前記ウィンドウのサイズを取得することを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記制御手段は、前記指定されたウィンドウに対応する画像データを圧縮してから前記通信手段を介して前記外部の表示装置に送信することを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記制御手段は、前記指定されたウィンドウに対応する画像データを前記通信手段を介して前記外部の表示装置に送信する動作が終了したことに応じて、前記指定されたウィンドウのサイズを元のサイズに戻すことを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
ウィンドウシステムを実行する情報処理装置から送信された画像データに対応する画像を表示する表示装置であって、
前記情報処理装置と通信する通信手段と、
前記通信手段を介して受信した画像データを表示する表示手段と、
制御手段とを有し、
前記ウィンドウシステムのウィンドウのうち指定されたウィンドウに対応する画像データを受信して前記表示手段により表示する場合、前記制御手段は、前記指定されたウィンドウのサイズに関する情報を前記通信手段を介して取得し、前記指定されたウィンドウのサイズを前記表示手段の表示領域の水平画素数及び垂直画素数よりも小さくする指示を前記通信手段を介して前記情報処理装置に送信し、前記通信手段を介して受信した前記指定されたウィンドウに対応する画像データの解像度を変更せずに前記表示手段に表示させることを特徴とする表示装置。
【請求項９】
前記表示装置は、前記ウィンドウを指定するための指定手段を有することを特徴とする請求項８に記載の表示装置。
【請求項１０】
前記情報処理装置は、前記指定されたウィンドウのサイズを前記表示手段の表示領域の水平画素数及び垂直画素数よりも小さくする指示を受信したことに応じて、前記指定されたウィンドウのサイズを前記表示手段の表示領域の水平画素数及び垂直画素数よりも小さくしてから前記ウィンドウに対応する画像データを送信することを特徴とする請求項８または９に記載の表示装置。
【請求項１１】
前記表示手段は、画像を投影面に投影する投影手段であることを特徴とする請求項８から１０のいずれか１項に記載の表示装置。
【請求項１２】
ウィンドウシステムを実行する情報処理装置の制御方法であって、
前記情報処理装置は、前記ウィンドウシステムの画面を表示装置に表示させる表示手段と、外部の表示装置と通信する通信手段とを有し、
前記ウィンドウシステムのウィンドウのうち指定されたウィンドウに対応する画像データを前記通信手段を介して前記外部の表示装置に送信する場合、前記外部の表示装置の表示領域の水平画素数及び垂直画素数を前記通信手段を介して取得し、前記指定されたウィンドウのサイズを前記外部の表示装置の表示領域の水平画素数及び垂直画素数よりも小さくしてから、前記サイズを小さくしたウィンドウに表示される画像データを前記通信手段を介して前記外部の表示装置に送信することを特徴とする情報処理装置の制御方法。
【請求項１３】
ウィンドウシステムを実行する情報処理装置から送信された画像データに対応する画像を表示する表示装置の制御方法であって、
前記表示装置は、前記情報処理装置と通信する通信手段と、前記通信手段を介して受信した画像データを表示する表示手段とを有し、
前記ウィンドウシステムのウィンドウのうち指定されたウィンドウに対応する画像データを受信して前記表示手段により表示する場合、前記指定されたウィンドウのサイズに関する情報を前記通信手段を介して取得し、前記指定されたウィンドウのサイズを前記表示手段の表示領域の水平画素数及び垂直画素数よりも小さくする指示を前記通信手段を介して前記情報処理装置に送信し、前記通信手段を介して受信した前記指定されたウィンドウに対応する画像データの解像度を変更せずに前記表示手段に表示させることを特徴とする表示装置の制御方法。
【請求項１４】
コンピュータに、請求項１２に記載の情報処理装置の制御方法を実行させるためのプログラム。
【請求項１５】
コンピュータに、請求項１３に記載の表示装置の制御方法を実行させるためのプログラム。
【請求項１６】
請求項１４または１５に記載のプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ（以下、「ＰＣ」と記す。）等の情報処理装置の生成画像をプロジェクタなどの表示装置に送信する画像転送システムにおける画像の転送方法に関する。
【背景技術】
【０００２】
近年、会議や研修会等でプレゼンテーションを行う際に、ＰＣから受信した画像信号に基づく画像をスクリーンに投射させるプロジェクタを用いる機会が増加している。
【０００３】
一般的に、ＰＣとプロジェクタは映像ケーブルを接続することによって画像信号の送受信を行っているが、接続に手間がかかる、遠隔地からの接続が困難、同時に接続できるＰＣの台数に制限がある、といった問題があった。そのため、近年ではネットワークを介してＰＣとプロジェクタを接続する画像転送システムが注目されている。
【０００４】
この画像転送システムを実現するために、従来では、ＰＣなどの情報処理装置で特定のウィンドウや画面全体をキャプチャし、キャプチャによって得られた画像データをプロジェクタなどの表示装置に送信している。
【０００５】
上記のような画像転送システムにおいて、ＰＣとプロジェクタなどの表示装置との表示画素数が異なる場合は、従来、表示装置に画像の解像度変換手段を設け、画像の解像度変換を行っていた。また、ＰＣの表示画素数が表示装置よりも多い場合には、画像データをそのまま表示装置に送ることで、ネットワークに無駄な負荷を掛けてしまうという問題があった。
【０００６】
上記のような問題を解決するために、特許文献１では、ＰＣ側であらかじめ表示装置の表示画素数となるように画像データを解像度変換して、送信する方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１０６１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら特許文献１に記載された構成では、ＰＣと表示装置の解像度が異なる場合に、ＰＣで解像度変換処理が必要となるため、ＰＣに負荷が掛かるという問題があった。また、ＰＣの表示画素数が表示装置の表示画素数よりも多い場合には、画像を縮小する必要が生じるため、画像の縮小処理によって画像の劣化が発生してしまうという問題があった。
【０００９】
本発明は上記問題点を鑑みてなされたものであり、画像を送信する情報処理装置と、送信された画像を表示する表示装置とからなるシステムにおいて、画像転送処理の負荷を軽減すると共に、画像の縮小処理による画像の劣化を回避することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、ウィンドウシステムを実行する本発明の情報処理装置は、前記ウィンドウシステムの画面を表示装置に表示させる表示手段と、外部の表示装置と通信する通信手段と、制御手段とを有し、前記ウィンドウシステムのウィンドウのうち指定されたウィンドウに対応する画像データを前記通信手段を介して前記外部の表示装置に送信する場合、前記制御手段は、前記外部の表示装置の表示領域の水平画素数及び垂直画素数を前記通信手段を介して取得し、前記指定されたウィンドウのサイズを前記外部の表示装置の表示領域の水平画素数及び垂直画素数よりも小さくしてから、前記サイズを小さくしたウィンドウに表示される画像データを前記通信手段を介して前記外部の表示装置に送信する。
【発明の効果】
【００１１】
本発明によれば、画像を送信する情報処理装置と、送信された画像を表示する表示装置とからなるシステムにおいて、画像転送処理の負荷を軽減すると共に、画像の縮小処理による画像の劣化を回避することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態における画像転送システムの構成図。
【図２】図１の画像転送システムを構成するＰＣ及びプロジェクタの構成を示すブロック図。
【図３】第１の実施形態におけるＰＣでの領域指定処理のフローチャート。
【図４】第１の実施形態における領域指定枠を設定するためのＧＵＩの一例を示す図。
【図５】第１の実施形態における領域指定枠の削減処理の様子を示す図。
【図６】第１の実施形態における警告表示の一例を示す図。
【図７】第１の実施形態における画像転送処理のフローチャート。
【図８】第２の実施形態におけるＰＣでのウィンドウ指定処理のフローチャート。
【図９】第２の実施形態におけるウィンドウ選択画面の一例を示す図。
【図１０】第２の実施形態における画像転送処理のフローチャート。
【図１１】第３の実施形態におけるプロジェクタでの画面転送指示処理のフローチャート。
【図１２】第３の実施形態におけるウィンドウ選択画面の一例を示す図。
【図１３】第４の実施形態におけるＰＣでの領域指定処理のフローチャート。
【図１４】第５の実施形態におけるＰＣでの領域指定処理のフローチャート。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。ただし、本形態において例示される画面構成部品の寸法、形状、それらの相対配置などは、本発明が適用される装置の構成や各種条件により適宜変更されるべきものであり、本発明がそれらの例示に限定されるものではない。
【００１４】
図１は本発明の実施の形態における情報処理装置を用いた画像転送システム１０の構成を示す図である。画像転送システム１０は、ＰＣ１００（情報処理装置）とプロジェクタ２００（表示装置）とを備えており、ＰＣ１００とプロジェクタ２００はＬＡＮを介して通信ネットワーク３００を形成している。ＰＣ１００はウィンドウシステムを搭載している。なお、ここでいうウィンドウシステムとは、複数のタスクに固有の領域を割当てて、画面出力を多重化する仕組みのことである。ウィンドウシステムとしては、例えばマイクロソフト社のオペレーティングシステム（ＯＳ）であるＷｉｎｄｏｗｓ（登録商標）によって実現される、Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ）などがある。
【００１５】
画像転送システム１０では、ＰＣ１００はディスプレイに表示されている画像をキャプチャし、キャプチャによって得られた画像データを通信ネットワーク３００を介してプロジェクタ２００に送信する。プロジェクタ２００は、ＰＣ１００から送られた画像データを受信して、出力できる形式へ変換し、画像を表示する。またこのとき、マウス１００ａによってＰＣ１００におけるウィンドウシステム上のポインタが操作されるが、ポインタの位置情報は、画像データとは別にプロジェクタ２００に送信される。
【００１６】
図２は、図１に示すＰＣ１００及びプロジェクタ２００の構成を示すブロック図である。
【００１７】
１０１はＰＣ１００の全体を制御するＣＰＵ、１０２はＣＰＵ１０１の処理手順を記述した制御プログラムを記憶するためのＲＯＭ、１０３はワークメモリとして一時的に制御プログラムやデータを格納するＲＡＭである。１０４はアプリケーションやＯＳなどの各プログラムとデータを格納するためのハードディスクドライブ（ＨＤＤ）、１０５は画像データを圧縮するためのエンコーダである。１０６はＬＡＮ等を経由してプロジェクタ２００やサーバなどと通信するためのインタフェースであるネットワークＩＦ、１０７はキーボードやポインティングデバイス（マウス等）からのユーザ入力を処理するユーザＩＦである。１０８はＰＣで表示する画像データが記憶されているＶＲＡＭ、１０９はＶＲＡＭ１０８から受け取った画像データを処理する画像処理部である。１１０は表示制御部であり、画像処理部１０９から受け取った画像データを基に、表示部１１１を制御する。また、ＰＣ１００は、これら各要素を接続する内部バス１１２を備えている。
【００１８】
２０１はプロジェクタ２００の全体を制御するＣＰＵ、２０２はＣＰＵ２０１の処理手順を記述した制御プログラムを記憶するためのＲＯＭ、２０３はワークメモリとして一時的に制御プログラムやデータを格納するＲＡＭである。２０４は所定の圧縮方式で圧縮されたデータをデコードするためのデコーダである。２０５は、ネットワークを介してＰＣ１００と接続するためのインタフェースであるネットワークＩＦである。２０６は操作キー２０６ａや、リモコン受光部２０６ｂを介してリモコン２０６ｃからのユーザ入力を受け付けるユーザＩＦである。２０７は画像を出力するための投影画像制御部である。２０８は入力画像を投射する液晶パネル及びその駆動ドライバ、レンズ及びその駆動系及び光源で構成される投影部２０８である。また、プロジェクタ２００は、これら各要素を接続する内部バス２０９を備えている。
【００１９】
＜第１の実施形態＞
次に、上記構成を有する画像通信システムの第１の実施形態における動作について、図３〜図８を用いて説明する。
【００２０】
ＰＣ１００はＣＰＵ１０１からの命令により、画像転送用のプログラムをＨＤＤ１０４から読み込みＲＡＭ１０３に展開し、図３に示す領域指定処理を開始する。すなわち、図３のフローチャートは、ＲＡＭ１０３に展開されたプログラムに基づいてＣＰＵ１０１が、ＰＣ１００の各ブロックを制御することにより実行される。ここで図３のフローチャートを用いて領域指定処理の流れを説明する。
【００２１】
まず、領域指定処理が開始されると、ネットワークＩＦ１０６を介して、プロジェクタ２００（外部表示装置）の表示領域の画素数（以下、「表示画素数」と呼ぶ。）を取得する（画素数取得、Ｓ１１）。プロジェクタ２００のＣＰＵ２０１は、ＰＣ１００からの表示画素数の問い合わせに対して、あらかじめＲＯＭ２０２に格納されている自身の表示画素数を読み出し、ネットワークＩＦ２０５を介してＰＣ１００へ表示画素数を送信する。
【００２２】
次に、ＣＰＵ１０１は、画像をキャプチャする、少なくとも一部の領域を指定するための領域指定枠を表示部１１１に表示させ（Ｓ１２）、領域指定を促すメッセージを表示部１１１に表示させる（Ｓ１３）。その後、ユーザが領域指定を完了するまで待機する（Ｓ１４）。
【００２３】
図４（ａ）に、ＰＣ１００の表示部１１１上で、Ｓ１２〜Ｓ１４までの処理が実施されている様子を示す。まず、Ｓ１２で領域指定枠４０が表示され、続いてＳ１３で領域指定メッセージウィンドウ４１が表示される。ユーザはマウスポインタ４２を用いて領域指定枠の大きさを任意のサイズに指定し、領域指定メッセージウィンドウ４１のＯＫボタン４１ａを押下することによって（Ｓ１４）、領域指定枠の位置と大きさを決定する。
【００２４】
ユーザによって領域指定枠の大きさが決定されると、ＣＰＵ１０１は、領域指定枠の大きさが、取得したプロジェクタ２００の表示画素数以下かを判定する（Ｓ１５）。ここでは、領域指定枠の水平画素数と垂直画素数を、プロジェクタ２００の水平画素数、垂直画素数とそれぞれ比較する。どちらか一方、もしくは両方がプロジェクタ２００の水平画素数および垂直画素数よりも多い場合は、図４（ｂ）のような警告ウィンドウ５０を表示させ、ユーザに警告表示を行う（Ｓ１６）。その後、領域指定枠をプロジェクタ２００の表示画素数以下のサイズに変更し（Ｓ１７）、領域指定処理を終了する。一方、Ｓ１５で領域指定枠の大きさがプロジェクタ２００の表示画素数以下であると判定されると、そのまま領域指定処理を終了する。因みに、本実施形態では、領域指定枠を表示する例について説明しているが、領域指定をするものであれば枠でなくとも、指定領域の色を変えるなどの方法を用いても良い。
【００２５】
図５にＳ１７で行われる領域指摘枠の大きさの削減処理の様子を示す。図５の（ａ）〜（ｃ）において、太線で示されている矩形６０がプロジェクタの表示画素数を表し、実線で示されている枠が領域指定枠４０を表している。図５（ａ）は、プロジェクタの表示画素数より領域指定枠４０の水平画素数が多いケースを表している。この場合、ＣＰＵ１０１は、領域指定枠４０の水平画素数をプロジェクタの水平画素数以下の範囲内（矩形６０）となるように削減する。削減後の領域指定枠４０の大きさは、斜線で示すエリアとなる。また、図５（ｂ）は、プロジェクタの表示画素数より領域指定枠４０の垂直画素数が大きいケースを表している。この場合、ＣＰＵ１０１は、領域指定枠４０の垂直画素数をプロジェクタの垂直画素数以下の範囲内（矩形６０）となるように削減する。削減後の領域指定枠４０の大きさは、斜線で示すエリアとなる。また、図５（ｃ）は、プロジェクタの表示画素数より領域指定枠４０の水平画素数、垂直画素数が共に大きいケースを表している。この場合、ＣＰＵ１０１は、領域指定枠４０の水平画素数と垂直画素数とをプロジェクタの水平画素数及び垂直画素数以下の範囲内（矩形６０）となるように削減する。削減後の領域指定枠４０の大きさは、プロジェクタの表示画素数（矩形６０）と等しい斜線で示すエリアとなる。なお、図５に示す例では、領域指定枠４０の左上角を基準として、その角から水平画素数及び垂直画素数が、プロジェクタの表示画素数の範囲内となるように変更した例を示している。別の例として、領域指定枠４０の他の角を基準としても良いし、領域指定枠４０の中心を基準として、上下、左右で同じ画素数ずつ、領域指定枠を狭くするようにすることもできる。つまり、領域指定枠４０の水平画素数と垂直画素数とをプロジェクタの表示画素数（矩形６０）の範囲内となるように削減するのであれば、どのように行っても構わない。
【００２６】
なお、図４（ｂ）で警告ウィンドウを表示する代わりに、図６に示されるような警告ウィンドウ７０を表示させ、ユーザが「はい」ボタン７０ａもしくは「いいえ」ボタン７０ｂを選択できるように構成しても良い。警告ウィンドウ７０において、ユーザが「いいえ」ボタン７０ｂを押下した場合は、領域指定枠４０がプロジェクタ２００の解像度を超えてしまうため、ＰＣ１００もしくはプロジェクタ２００で画像の縮小処理が必要となる。その結果、画像の縮小処理に伴う負荷の増加や、画像の劣化が発生することとなる。
【００２７】
また、本第１の実施形態では、Ｓ１７において領域指定枠４０をプロジェクタの表示画素数以下となるように変更した。これに対し、ユーザがマウスポインタを用いて領域指定枠４０の大きさを変更する際に、プロジェクタ２００の表示画素数以上に領域指定枠４０を拡大できないように処理を実施してもよい。
【００２８】
以上説明した様にして領域指定処理が終了すると、図７に示す画面転送処理が開始される。図７を用いて、画面転送処理を説明する。図７のフローチャートの動作は、先ほど説明したのと同様に、ＰＣ１００のＲＡＭ１０３に展開されたアプリケーションに基づいて、ＣＰＵ１０１がＰＣ１００の各部を制御することにより実行される。
【００２９】
まず、画面転送処理が開始されると、ＣＰＵ１０１は、プロジェクタ２００から送信された画像要求信号をネットワークＩＦ１０６で受信する度に以下の動作を実行する。ＣＰＵ１０１は、表示部１１１に出力されている画像をキャプチャし、キャプチャした画像の画像データを、ドライバを介してＶＲＡＭ１０８からＲＡＭ１０３に記憶する（Ｓ２１）。この際に、上述した領域指定処理によって指定された領域の画像データのみを取得して、ＲＡＭ１０３に記憶する（画像取得）。
【００３０】
次に、ＣＰＵ１０１が、ＲＡＭ１０３に記憶した画像データを、エンコーダ１０５を用いて所定のデータ形式に変換する（Ｓ２２）。所定のデータ形式への変換とは、例えばＪＰＥＧ圧縮やランレングス圧縮などである。一般的に、画像データは巨大なため、取得した画像データをそのまま転送してしまうと、ネットワークの帯域を圧迫してしまう。そのため、Ｓ２２で画像の変換を行い、画像を圧縮する。なお、ＰＣ１００にエンコーダ１０５が搭載されていない場合は、データ形式変換処理をソフトウェア処理によって行っても良い。また、画像データ変換処理はＪＥＰＧ圧縮やランレングス圧縮に限定されるものではなく、どのようなデータ変換処理を用いても良い。また、画像データを変換せずにそのまま転送することも可能である。
【００３１】
次に、ＣＰＵ１０１は、変換された画像データをネットワークＩＦ１０６を介してプロジェクタ２００へ送信する（Ｓ２３）。画像データの送信後、ＣＰＵ１０１は、ユーザからの終了指示かあるか確認し（Ｓ２４）、終了指示があれば処理を終了する。終了指示が無い場合は、再びＳ２１に戻り、プロジェクタ２００から送信された画像要求信号を受信する度に、画像の取得（Ｓ２１）、変換（Ｓ２２）、送信（Ｓ２３）をユーザの終了指示があるまで繰り返す。
【００３２】
Ｓ２３の転送処理によって送信された画像データは、通信ネットワーク３００を介して、プロジェクタ２００のネットワークＩＦ２０５に送信される。ネットワークＩＦ２０５を介して画像データを受信したプロジェクタ２００は、デコーダ２０４を用いて画像データをデコードし、内部バス２０９を介してデコードした画像データを投影画像制御部２０７に送信し、投影部２０８を介して画像を投影する。なお、プロジェクタ２００がデコーダ２０４を搭載していない場合は、ソフトウェア処理によってデコードを行っても良い。
【００３３】
上記の通り本第１の実施形態によれば、ＰＣ１００の表示部１１１に表示される任意の領域の画像を、ＰＣ１００、プロジェクタ２００の双方において解像度変換を行うことなく転送し、プロジェクタ２００で表示することが可能となる。
【００３４】
＜第２の実施形態＞
次に、画像通信システムの第２の実施形態における動作について、図８〜図１０を用いて説明する。上述した第１の実施形態では、キャプチャする領域を画面上で任意に指定したが、第２の実施形態では、キャプチャする領域を特定のウィンドウとした場合について説明する。
【００３５】
ＰＣ１００はＣＰＵ１０１からの命令により、画像転送用のプログラムをＨＤＤ１０４から読み込み、図８に示すウィンドウ指定処理を開始する。ここで図８を用いてウィンドウ指定処理の流れを説明する。図８のフローチャートの動作は、ＰＣ１００のＲＡＭ１０３に展開されたアプリケーションに基づいて、ＣＰＵ１０１がＰＣ１００の各部を制御することにより実行される。
【００３６】
まず、ウィンドウ指定処理が開始されると、ＣＰＵ１０１は、ネットワークＩＦ１０６を介して、プロジェクタ２００（外部表示装置）の表示領域の表示画素数を取得する（Ｓ３１）。プロジェクタ２００は、ＰＣ１００からの表示画素数の問い合わせに対して、あらかじめＲＯＭ２０２に格納されている自身の表示画素数を読み出し、ネットワークＩＦ２０５を介してＰＣ１００へ表示画素数を送信する。次に、キャプチャウィンドウ選択画面を表示し（Ｓ３２）、ユーザがウィンドウ指定を完了するまで待機する（Ｓ３３）。
【００３７】
図９（ａ）に、キャプチャする領域の選択画面の一例であるキャプチャウィンドウ選択ウィンドウ８０を表示している様子を示す。図９（ａ）に示す例では、ＣＰＵ１０１は、表示部１１１に３つのウィンドウを表示している。ユーザはラジオボタン８０ａ〜８０ｃによって現在画面上に表示している３つのウィンドウの中から１つをポインタを操作することにより選択し、キャプチャしたいウィンドウを選ぶことができる。なお、画面上に３つのウィンドウがある例を図示しているため、キャプチャウィンドウ選択ウィンドウ８０に表示されるウィンドウ一覧も３つとなっているが、ウィンドウ一覧の内容は、画面上に表示しているウィンドウの数や内容に応じて変化する。また、選択画面を表示せずに、アクティブなウィンドウをキャプチャウィンドウとして指定するようにしても良い。
【００３８】
ユーザがウィンドウの選択をして、ＯＫボタン８０ｄをポインタにより押下されるとＣＰＵ１０１は、次のフローへ移行する。（Ｓ３４）。ここで、ＯＫボタン８０ｄではなく、キャンセルボタン８０ｅが押下された場合は、ＣＰＵ１０１は、そのまま画面転送プログラムを終了する。ＯＫボタン８０ｄが押下された場合は、選択されたウィンドウの画素数がプロジェクタの表示画素数以下かを判断する（Ｓ３５）。選択されたウィンドウの水平画素数もしくは垂直画素数のいずれか、もしくは両方がプロジェクタ２００の表示画素数よりも多い場合には、ＣＰＵ１０１は、図９（ｂ）のような警告メッセージ９０を表示部１１１に表示させる（Ｓ３６）。ここで、警告メッセージ９０を表示する際に、第１の実施形態の図６に示したように、ユーザが「はい」ボタン、「いいえ」ボタンの何れかを選択できるような画面を表示部１１１に表示させても良い。
【００３９】
警告メッセージを表示後、ＣＰＵ１０１は、ウィンドウをプロジェクタ２００の表示画素数以下のサイズに削減し（Ｓ３７）、ウィンドウ指定処理を終了する。削減処理は、第１の実施形態で説明した図５の例と同様であるが、本実施形態では、ウィンドウのサイズを図５に示すごとく変更する。一方、Ｓ３５でウィンドウの大きさがプロジェクタ２００の表示画素数以下であると判定されると、そのままウィンドウ指定処理を終了する。
【００４０】
ウィンドウ指定処理が終了した後は、画面転送処理を行う。図１０を用いて、画面転送処理を説明する。図１０のフローチャートの動作は、先ほど説明したのと同様に、ＰＣ１００のＲＡＭ１０３に展開されたアプリケーションに基づいて、ＣＰＵ１０１がＰＣ１００の各部を制御することにより実行される。
【００４１】
まず、画面転送処理が開始されると、ＣＰＵ１０１は、プロジェクタ２００から画像要求信号を受信する度に以下の動作を行う。ＣＰＵ１０１は、キャプチャ対象のウィンドウのウィンドウサイズを取得する（Ｓ４１）。ウィンドウサイズの取得は、例えばＷｉｎｄｏｗｓ（登録商標）環境では、ＧｅｔＷｉｎｄｏｗＲｅｃｔ関数を用いて各Ｗｉｎｄｏｗの水平画素数、垂直画素数などの情報を取得可能である。次にＣＰＵ１０１は、取得したウィンドウサイズがプロジェクタ２００の表示画素数以下か判定する（Ｓ４２）。ここで判定を行う理由は、画面転送を行っている最中に、ユーザがウィンドウの拡大や縮小、最大化や最小化といった操作を行う可能性があるからである。
【００４２】
ウィンドウの水平画素数もしくは垂直画素数のいずれか、もしくは両方がプロジェクタ２００の表示画素数よりも多い場合には、ＣＰＵ１０１は、図９（ｂ）に示すような警告メッセージを表示部１１１に表示させる（Ｓ４３）。そして、ウィンドウをプロジェクタ２００の表示画素数以下に削減する（Ｓ４４）。なお、ウィンドウの削減処理は、第１の実施形態で説明した図５の例と同様に行うものとするが、本実施形態では、ウィンドウのサイズを指定することでサイズの変更を行う。
【００４３】
次に、ＣＰＵ１０１は、表示部１１１に出力されている画像をキャプチャし、キャプチャした画像の画像データを、ドライバを介してＶＲＡＭ１０８からＲＡＭ１０３に記憶する（Ｓ４５）。この際に、ＣＰＵ１０１は、指定されているウィンドウの画像のみを取得して、ＲＡＭ１０３に記憶する。
【００４４】
次に、ＣＰＵ１０１が、ＲＡＭ１０３に記憶した画像データを、エンコーダ１０５を用いて所定のデータ形式に変換する（Ｓ４６）。第１の実施形態でも示した通り、所定のデータ形式への変換とは、例えばＪＰＥＧ圧縮やランレングス圧縮などである。また、第１の実施形態と同様に、ＰＣ１００にエンコーダ１０５が搭載されていない場合は、データ形式変換処理をソフトウェア処理によって行うように構成しても良い。
【００４５】
次に、ＣＰＵ１０１は、変換された画像データをネットワークＩＦ１０６を介してプロジェクタ２００へ送信する（Ｓ４７）。画像データの送信後、ＣＰＵ１０１は、ユーザからの終了指示かあるか確認し（Ｓ４８）、終了指示があれば処理を終了する。終了指示が無い場合は、プロジェクタ２００から送信される画像要求信号を受信する度に、Ｓ４１〜Ｓ４７までの処理をユーザの終了指示があるまで繰り返す。
【００４６】
なお、本第２の実施形態ではウィンドウのサイズを毎回取得し、プロジェクタ２００の表示画素数と比較するものとして説明した。しかしながら、本発明はこれに限られるものではなく、例えば、ユーザによりウィンドウの拡大や縮小、最大化や最小化といった操作が行われた時にのみ、Ｓ４２〜Ｓ４４の処理を行うように構成しても良い。これは、例えばＷｉｎｄｏｗｓ（登録商標）環境では、ＳｅｔＷｉｎｄｏｓＨｏｏｋＥｘ関数を用いて、メッセージをフックすることによって実現可能である。
【００４７】
上記の通り本第２の実施形態によれば、ＰＣ１００の表示部１１１に表示される特定領域の画像を、ＰＣ１００、プロジェクタ２００の双方において解像度変換を行うことなく転送し、プロジェクタ２００で表示することが可能となる。
【００４８】
なお、Ｓ３７においてＣＰＵ１０１は、ウィンドウのサイズをプロジェクタ２００の表示画素数以下のサイズに縮小している。この場合、画像転送処理が終了し、プロジェクタ２００との通信が切断された際に、ＣＰＵ１０１は、ウィンドウのサイズを元に戻しても良い。この様な動作を実行するためには、ＣＰＵ１０１は、ウィンドウのサイズをプロジェクタ２００の表示画素数以下に縮小した際に、元の指定されたウィンドウサイズをＲＡＭ１０３に記憶する。そして、画像転送が終了した場合や、プロジェクタ２００との通信が切断されると、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されたウィンドウサイズを読出して元のサイズにウィンドウサイズを改めて変更するようにする。
【００４９】
本実施形態の処理によれば、ウィンドウサイズを最大化した場合であっても、プロジェクタ２００の表示画素数以下にウィンドウサイズを制限することになる。
【００５０】
＜第３の実施形態＞
次に、画像通信システムの第３の実施形態における動作について、図１１及び図１２を用いて説明する。第１及び第２の実施形態では、ＰＣ１００（外部情報処理装置）においてキャプチャする領域の指定を行っていたが、第３の実施形態ではプロジェクタ２００からキャプチャする領域の指定を行う場合について説明する。
【００５１】
プロジェクタ２００はＣＰＵ２０１からの命令により、キャプチャ領域指定プログラムをＲＯＭ２０２から読み込み、図１１に示す画面転送指示処理が開始される。ここで図１１を用いて領域指定処理の流れを説明する。なお、プロジェクタ２００で図１１の領域指定処理が開始される以前に、ＰＣ１００において第１及び第２の実施形態で説明したような、画面転送用のプログラムが起動しているものとして説明を行う。
【００５２】
まず、プロジェクタ２００はネットワークＩＦ２０５を介して、ＰＣ１００からＰＣ１００が現在表示しているウィンドウの情報（ウィンドウ情報）を取得する（Ｓ５１）。ウィンドウ情報とは、ウィンドウを一意に識別できるＩＤ、ウィンドウのタイトル、ウィンドウの水平画素数と垂直画素数などの情報である。ウィンドウ情報は、まず、プロジェクタ２００からＰＣ１００の画面転送プログラムに対してウィンドウ情報取得要求を送信し、要求を受けたＰＣ１００の画面転送プログラムがウィンドウ情報を収集し、プロジェクタ２００へ送信することによって取得される。ＰＣ１００の画面転送プログラムによるウィンドウ情報の収集は、水平画素数、垂直画素数に関しては、第２の実施形態で述べた方法を用いて取得する。ウィンドウタイトルは、例えばＷｉｎｄｏｗｓ（登録商標）環境では、ＧｅｔＷｉｎｄｏｗＴｅｘｔ関数を用いて取得可能である。取得した水平画素数、垂直画素数、ウィンドウタイトルに、ＰＣ１００の画面転送プログラムがウィンドウを一意に識別できるＩＤを付加し、ウィンドウ情報としてプロジェクタ２００へ送信する。
【００５３】
ウィンドウ情報を取得後、プロジェクタ２００は投影している映像に、図１２に示す、キャプチャウィンドウ選択ウィンドウ１０００を重畳して表示する（Ｓ５２）。ユーザは、プロジェクタ２００の操作キー２０６ａやリモコン２０６ｃを用いて、キャプチャウィンドウ選択ウィンドウ１０００を操作し、キャプチャするウィンドウを選択する。キャプチャウィンドウ選択ウィンドウ１０００を表示後、ユーザがキャプチャするウィンドウを選択し終えたか確認する（Ｓ５３）。次にユーザがＯＫボタン１０００ａを押下したか確認し（Ｓ５４）、ＯＫボタン１０００ａが押下されておらず、キャンセルボタン１０００ｂが押下されていた場合は、そのまま処理を終了する。
【００５４】
ＯＫボタン１０００ａが押下されていた場合は、ユーザによって選択されたウィンドウがプロジェクタの表示画素数以下か判定する（Ｓ５５）。この判定には、Ｓ５１で取得したウィンドウ情報と、ＲＯＭ２０２に格納されている自身の表示画素数とを比較することによって行う。選択されたウィンドウの水平画素数および垂直画素数のいずれか一方、もしくは両方がプロジェクタの水平画素数、垂直画素数以上であった場合には、ウィンドウサイズ算出処理を行う（Ｓ５６）。ウィンドウサイズ算出処理では、第１の実施形態で説明した図５の例と同様の方法で、プロジェクタ２００の表示画素数に納まるウィンドウの水平画素数と垂直画素数を算出する。ウィンドウサイズを算出後、算出されたウィンドウの水平画素数及び垂直画素数の情報を含むウィンドウ情報をＰＣ１００の画面転送プログラムに送信し（Ｓ５７）、処理を終了する。ＰＣ１００の画面転送プログラムはＳ５７の処理によって送信されたウィンドウ情報を受信し、該当ウィンドウをプロジェクタの指示通りの大きさにリサイズし、画面転送処理を開始する。
【００５５】
上記の通り本第３の実施形態によれば、ＰＣ１００の表示部１１１に表示される特定領域の画像を、ＰＣ１００、プロジェクタ２００の双方において解像度変換を行うことなく転送し、プロジェクタ２００で表示することが可能となる。
【００５６】
＜第４の実施形態＞
次に、画像通信システムの第４の実施形態における動作について、図１３を用いて説明する。第４の実施形態は、システム構成は第１の実施形態と同様であり、第１の実施形態で図３を参照して説明した領域指定処理のみが異なるため、ＰＣ１００にて実行される第４の実施形態における領域指定処理について、図１３を用いて説明する。
【００５７】
ＰＣ１００はＣＰＵ１０１からの命令により、画像転送用のプログラムをＨＤＤ１０４から読み込むことで、図１３に示す領域指定処理が開始される。
【００５８】
まず、ＰＣ１００において領域指定処理が開始されると、ＣＰＵ１０１は、ネットワークＩＦ１０６を介して、プロジェクタ２００の表示画素数と画像処理時間とを取得する（Ｓ６１）。プロジェクタ２００の画像処理時間とは、プロジェクタ２００の表示画素数と同一のサイズの画像を、プロジェクタ２００でデコードし表示するために要する時間のことである。
【００５９】
プロジェクタ２００のＣＰＵ２０１は、ＰＣ１００からの画像処理時間の問い合わせに対して、予めＲＯＭ２０２に格納されている自身の表示画素数と画像処理時間を読み出し（画像処理時間取得）、ネットワークＩＦ２０５を介してＰＣ１００へ送信する。次に、ＣＰＵ１０１は、画像をキャプチャする領域を指定するための領域指定枠を表示部１１１に表示し（Ｓ６２）、領域指定を促すメッセージを表示する（Ｓ６３）。その後、ユーザが領域指定を完了するまで待機する（Ｓ６４）。Ｓ６２〜Ｓ６４は図３のＳ１２〜Ｓ１４と同様の処理であるため、説明を省略する。
【００６０】
ユーザによって指定の処理が完了すると、ＣＰＵ１０１は、Ｓ６１にて得られたプロジェクタの画像処理時間が所定時間未満であるか判定する（Ｓ６５）。なお、Ｓ６５における所定時間は、例えば100msecなどのように、予め所定の値に決めておく。予め値を決めておく場合は、ＨＤＤ１０４に格納してある画像転送用プログラムと一緒に値を記録しておき、画像転送用プログラムを読み込む際に同時に読み込む。なお、本実施形態では所定時間は予め決めておくものとしたが、ユーザが任意の値に変更できるように構成しても良い。Ｓ６５において、処理時間が所定の時間以上であると判断された場合は、ＣＰＵ１０１は、領域指定枠の大きさが、取得したプロジェクタ２００の表示画素数以下かを判定する（Ｓ６６）。領域指定枠の水平画素数と垂直画素数のどちらか一方、もしくは両方がプロジェクタ２００の水平画素数および垂直画素数よりも多い場合は、ＣＰＵ１０１は、表示部１１１にユーザ対する警告画面を表示する（Ｓ６７）。そして、領域指定枠をプロジェクタの表示画素数以下に縮小し（Ｓ６８）、領域指定処理を終了する。
【００６１】
なお、本実施形態では、Ｓ６５の判断にプロジェクタの画像処理時間のみを用いたが、第１の実施形態で説明した領域指定枠の大きさを考慮してＳ６５の判断を行っても良い。すなわち、まず、プロジェクタ２００の表示画素数と画像処理時間を基に、ユーザの指定した領域指定枠の大きさの画像を処理するまでの時間を算出する。そして、その値が所定の時間以上だった場合にＳ６６の警告表示を行い、指定枠の大きさを所定の処理時間未満になる大きさ以下に縮小するように構成しても良い。
【００６２】
ここで、より具体的に、数値を用いて図１３に示されているフローの説明を行う。Ｓ６１によって得られたプロジェクタ２００の表示画素数が1024 × 768、画像処理時間が200msecであったとする。また、ユーザが指定した枠の大きさが1000 × 500であったとする。また、Ｓ６５の判定基準となる所定の時間が100msecであったとする。Ｓ６１によって得られたプロジェクタ２００の表示画素数と、画像処理時間とから、プロジェクタ２００の１画素あたりの処理時間が算出可能である。１画素あたりの処理時間は、前述の例の場合、次のような式で表される。
200msec  ÷  (1024 × 768)  ＝  0.000254…
【００６３】
上記の式で算出した値に、ユーザが指定した枠の大きさを掛ければ、ユーザが指定した領域の画像をプロジェクタ２００で処理するために必要な時間を算出することができる。
【００６４】
上記例では、ユーザが指定した枠の大きさは1000 × 500であるので、ユーザが指定した枠の領域の画像をプロジェクタ２００で処理するための時間は次式で算出することができる。
0.000254…  ×1000 × 500  ＝  127.15…
【００６５】
上記の式で算出した値をＳ６５の基準値100msecと比較すると、基準値よりも大きな値となるため、Ｓ６６でユーザに警告表示を行う。その後、Ｓ６７で指定枠を縮小する。この際、先ほどの基準値100msecよりも少ない処理時間となるように、指定枠の縮小を行う。Ｓ６７における領域指定枠の縮小処理は、画像処理時間がＳ６５の基準値よりも小さな値になるように行う。例えば、800 × 400のサイズに領域指定枠の大きさを縮小する。指定枠の大きさが800 × 400の場合の処理時間は、
0.000254…  ×800 × 400  ＝  81.38…
【００６６】
となり、Ｓ６５の基準値である100msecよりも小さな値となる。
上記のＳ６７における縮小処理は、Ｓ６５の基準値よりも画像処理時間が小さくなるように行えれば、どのような値に指定枠を縮小しても良い。
【００６７】
領域指定処理後の画像転送処理は第１の実施形態と同様の処理であるため、説明を省略する。
【００６８】
なお、上記説明では、ＰＣ１００において領域指定を行う場合について説明したが、第３の実施形態で説明したようにプロジェクタ２００側で領域指定をする場合に、本第４の実施形態を適用することも可能である。その場合、Ｓ６５における画像処理時間が所定時間以上であるかの判断をプロジェクタ２００で行い、プロジェクタ２００はその判断に応じて水平画素数、垂直画素数の変更処理を行うかどうかを制御すればよい。
【００６９】
＜第５の実施形態＞
次に、画像通信システムの第５の実施形態における領域指定処理の動作について、図１４を用いて説明する。第５の実施形態は、システム構成は第１の実施形態と同様であり、第１の実施形態で図３を参照して説明した領域指定処理のみが異なるため、第５の実施形態における領域指定処理について、図１４を用いて説明する。
【００７０】
ＰＣ１００はＣＰＵ１０１からの命令により、画像転送用のプログラムをＨＤＤ１０４から読み込むことで、図１４に示す領域指定処理が開始される。
【００７１】
まず、領域指定処理が開始されると、ＰＣ１００からプロジェクタ２００へネットワークＩＦ１０６を介して、通信速度計測用パケットが送信される（Ｓ７１）。通信速度計測用パケットとは、ＰＣ１００とプロジェクタ２００の間の通信速度を計測するための任意サイズのパケットであり、中身のデータはどのようなものであっても良い。この通信速度計測用パケットを受信したプロジェクタ２００は、ＰＣ１００へ同一のサイズのパケットをネットワークＩＦ２０５を介して返信する。
【００７２】
次にＰＣ１００はプロジェクタからの応答を受信する（Ｓ７２）。ＰＣ１００は、通信速度計測用パケットを送信してから、プロジェクタの応答を受信するまでの時間と、通信速度計測用パケットのサイズとから、通信速度を算出する（Ｓ７３）（通信速度検知）。
【００７３】
更に、プロジェクタ２００の表示画素数を取得する（Ｓ７４）。次に、画像をキャプチャする領域を指定するための領域指定枠を表示し（Ｓ７５）、領域指定を促すメッセージを表示する（Ｓ７６）。その後、ユーザが領域指定を完了するまで待機する（Ｓ７７）。Ｓ７４〜Ｓ７７における処理は、図３のＳ１１〜Ｓ１４における処理と同様であるため、説明を省略する。
【００７４】
ユーザによって指定の処理が完了すると、Ｓ７３にて得られた通信速度が予め決められた速度以下であるか判定する（Ｓ７８）。通信速度が予め決められた速度以下であった場合は、ＣＰＵ１０１は、領域指定枠の大きさが、取得したプロジェクタ２００の表示画素数以下かを判定する（Ｓ７９）。領域指定枠の水平画素数と垂直画素数のどちらか一方、もしくは両方がプロジェクタ２００の水平画素数および垂直画素数よりも多い場合は、ＣＰＵ１０１は、表示部１１１にユーザ対する警告画面を表示する（Ｓ８０）。そして、領域指定枠をプロジェクタの表示画素数以下に縮小し（Ｓ８１）、領域指定処理を終了する。
【００７５】
なお、本第５の実施形態では、通信速度が予め決められた速度以下であった場合に、領域指定枠をプロジェクタの表示画素数以下に縮小することとしたが、通信速度に比例して縮小する領域指定枠の大きさを変更するように構成しても良い。
【００７６】
領域指定処理後の画像転送処理は第１の実施形態と同様の処理であるため、説明を省略する。
【００７７】
なお、上記説明では、ＰＣ１００において領域指定を行う場合について説明したが、第３の実施形態で説明したようにプロジェクタ２００側で領域指定をする場合に、本第５の実施形態を適用することも可能である。その場合、Ｓ７７における通信速度が所定値以下であるかの判断をプロジェクタ２００で行い、プロジェクタ２００はその判断に応じて水平画素数、垂直画素数の変更処理を行うかどうかを制御すればよい。
【００７８】
＜他の実施形態＞
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005706637.tif 000002
【図２】
0005706637.tif 000003
【図３】
0005706637.tif 000004
【図４】
0005706637.tif 000005
【図５】
0005706637.tif 000006
【図６】
0005706637.tif 000007
【図７】
0005706637.tif 000008
【図８】
0005706637.tif 000009
【図９】
0005706637.tif 000010
【図１０】
0005706637.tif 000011
【図１１】
0005706637.tif 000012
【図１２】
0005706637.tif 000013
【図１３】
0005706637.tif 000014
【図１４】
0005706637.tif 000015