(57)【要約】【課題】種々の制御に対応するために通信が複雑化することを抑制できる技術を提供することを目的とする。【解決手段】データ供給装置は、入力データとコマンドデータとのそれぞれを、共通固定長のパケットによってデータ処理装置に送信する。コマンドデータについては、パケットの識別部分がコマンドデータを示す所定のコマンド識別値に設定される。入力データについては、パケットの識別部分がコマンド識別値以外の値に設定される。データ処理装置は、受信パケットの識別部分がコマンド識別値に設定されている場合には、受信パケットの残余部分をコマンドデータとして利用し、識別部分がコマンド識別値とは異なる値に設定されている場合には、残余部分を入力データとして利用する。【選択図】図２
2007264780.tif 000002
【特許請求の範囲】
【請求項１】
データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置であって、
前記データ供給装置との通信を制御する通信制御部と、
前記データ供給装置から受信した入力データに応じて前記データ処理を実行するデータ処理部と、
前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行する装置制御部と、
を備え、
前記通信制御部は、
前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ供給装置から受信するとともに、
（ａ１）前記データ供給装置から受信した受信パケットの内部の所定位置の識別部分が、前記コマンドデータを示す所定のコマンド識別値に設定されている場合には、前記受信パケットに含まれるデータを前記装置制御部に供給し、
（ａ２）前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットに含まれるデータを前記データ処理部に供給し、
前記装置制御部は、前記受信パケットの内部の前記識別部分を除く残余部分を前記コマンドデータとして利用し、
前記データ処理部は、前記残余部分を前記入力データとして利用する、
データ処理装置。
【請求項２】
請求項１に記載のデータ処理装置であって、
前記入力データは、画像のサイズ情報を含むヘッダデータと、前記画像を表す画像データと、を含む表示データであり、
前記データ処理部は、前記所定の処理として、前記表示データに基づいて前記画像を出力する処理を実行し、
前記データ処理部は、前記ヘッダデータを含むヘッダパケットと、前記画像データを分割して格納する複数の画像パケットと、のそれぞれを受信することによって、前記表示データの全体を取得し、
前記データ処理部は、
（ｂ１）前記識別部分が前記ヘッダデータを示す所定のヘッダ識別値に設定されている場合には、前記残余部分を前記ヘッダデータとして利用し、
（ｂ２）前記識別部分が続き有りの画像データを示す所定の継続画像識別値に設定されている場合には、前記残余部分を前記画像データとして利用し、
（ｂ３）前記識別部分が最後の画像データを示す所定の最後画像識別値に設定されている場合には、前記残余部分を前記画像データとして利用するとともに、前記画像データの全体を受信したと判断する、
データ処理装置。
【請求項３】
請求項２に記載のデータ処理装置であって、
前記データ処理部は、前記画像の出力処理として、前記画像を表示画面に表示する処理を実行し、
前記ヘッダデータは、さらに、前記表示画面内における前記画像の位置情報を含み、
前記データ処理部は、前記表示画面内の部分画像であって位置が互いに異なるｎ個（ｎは２以上の整数）の部分画像をそれぞれ表すｎ個の表示データを１つずつ順番に受信することによって、前記表示画面の内の前記ｎ個の部分画像の全てが更新された画像を前記表示画面に表示し、
前記データ処理部は、前記ヘッダパケットを受信するとともに、前記ヘッダパケットの後に複数の前記画像パケットの全てを受信することによって、１つの表示データの全体を取得し、
前記データ処理部は、
（ｃ１）最初のｎ−１個の表示データのそれぞれについては、１つの表示データの複数の画像パケットの全てを、前記識別部分が前記継続画像識別値に設定されている画像パケットとして受信するとともに、次の表示データのヘッダパケットを受信することによって全ての画像パケットの受信が完了したと判断し、
（ｃ２）最後のｎ番目の表示データについては、最後の画像パケットを除く他の全ての画像パケットを、前記識別部分が前記継続画像識別値に設定されている画像パケットとして受信し、最後の画像パケットを、前記識別部分が前記最後画像識別値に設定されている画像パケットとして受信するとともに、前記最後の画像パケットを受信することによって、前記最後のｎ番目の表示データの全ての画像パケットの受信と、全ての表示データの受信とが完了したと判断する、
データ処理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載のデータ処理装置であって、さらに、
前記データ供給装置に送信するためのデータをアドレスが異なる複数の記憶部分に格納するメモリを備え、
前記メモリは、第１アドレス長を有する第１メモリと、前記第１アドレス長よりも長い第２アドレス長を有する第２メモリと、を含み、
前記コマンドデータは、
前記第１メモリのデータを読み出すための第１リードコマンドデータと、
前記第２メモリのデータを読み出すための第２リードコマンドデータと、
を含む複数種類のコマンドデータの中から設定され、
前記装置制御部は、
（ｄ１）前記受信パケットの前記残余部分の内の所定位置の部分であるコマンド部分が前記第１リードコマンドデータを示す所定の第１リード識別値に設定されている場合には、前記受信パケットの前記識別部分と前記コマンド部分とを除いた残りの部分の内の所定位置の前記第１アドレス長の第１アドレス部分をリードの対象アドレスとして利用し、
（ｄ２）前記コマンド部分が前記第２リードコマンドデータを示す所定の第２リード識別値に設定されている場合には、前記受信パケットの前記識別部分と前記コマンド部分とを除いた残りの部分の内の所定位置の前記第２アドレス長の第２アドレス部分をリードの対象アドレスとして利用する、
データ処理装置。
【請求項５】
請求項４に記載のデータ処理装置であって、
前記装置制御部は、前記各リードコマンドデータを受信したことに応じて、受信したリードコマンドデータで指定されたメモリのアドレスに格納された対象データを、前記固定長のパケットによって前記データ供給装置に送信するとともに、前記対象データを送信する前に、新たな前記各リードコマンドデータを受信可能であり、
前記装置制御部は、
（ｅ１）前記第１リードコマンドデータに対する応答として、前記識別部分と前記コマンド部分と前記第１アドレス部分とが元の前記第１リードコマンドデータと同じ値に設定されるとともに、残りの部分に前記対象データが格納された第１データパケットを送信し、
（ｅ２）前記第２リードコマンドデータに対する応答として、前記識別部分と前記コマンド部分とが元の前記第２リードコマンドデータと同じ値に設定されるとともに、残りの部分に前記対象データが格納され、さらに、前記対象アドレスを含まない第２データパケットを送信し、
前記通信制御部による前記データ供給装置との通信では、複数のパケットが受信側によって受信される順序は、前記複数のパケットが送信側によって送信された順序と同じであり、
前記装置制御部は、先に受信した前記第２リードコマンドデータに対する応答を送信する前に、新たな前記第２リードコマンドデータを受信した場合には、前記後の第２リードコマンドデータの応答を送信する前に前記先の第２リードコマンドデータの応答を送信し、その後、前記後の第２リードコマンドデータの応答を送信する、
データ処理装置。
【請求項６】
請求項５に記載のデータ処理装置であって、さらに、
前記第２メモリから読み出された前記対象データを格納するとともに格納した前記対象データを前記装置制御部に供給する先入先出メモリを備え、
前記装置制御部は、前記先の第２リードコマンドデータに基づく前記第２メモリからの読み出し要求を先に発行し、その後、前記後の第２リードコマンドデータに基づく前記第２メモリからの読み出し要求を発行し、
前記装置制御部は、前記各読み出し要求によって読み出された対象データを前記先入先出メモリから取得し、前記取得した対象データのアドレスを確認せずに、前記先入先出メモリから取得した順番に、前記取得した対象データを含む前記第２データパケットを送信する、
【請求項７】
データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置の制御方法であって、
前記データ処理装置は、
前記データ供給装置との通信を制御する通信制御部と、
前記データ供給装置から受信した入力データに応じて前記データ処理を実行するデータ処理部と、
前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行する装置制御部と、
を備え、
前記制御方法は、
（ａ）前記通信制御部が、前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ供給装置から受信する工程と、
（ｂ）前記通信制御部が、前記データ供給装置から受信した受信パケットの内部の所定位置の識別部分が、前記コマンドデータを示す所定のコマンド識別値に設定されている場合には、前記受信パケットに含まれるデータを前記装置制御部に供給する工程と、
（ｃ）前記通信制御部が、前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットに含まれるデータを前記データ処理部に供給する工程と、
（ｄ）前記装置制御部が、前記受信パケットの内部の前記識別部分を除く残余部分を前記コマンドデータとして利用する工程と、
（ｅ）前記データ処理部が、前記残余部分を前記入力データとして利用する工程と、
を備える、制御方法。
【請求項８】
データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置の制御をコンピュータに実行させるためのコンピュータプログラムであって、
前記データ供給装置との通信を制御する通信制御機能と、
前記データ供給装置から受信した入力データに応じて前記データ処理を実行するデータ処理機能と、
前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行する装置制御機能と、
をコンピュータに実現させるプログラムであり、
前記通信制御機能は、
（ａ）前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ供給装置から受信する機能と、
（ｂ）前記データ供給装置から受信した受信パケットの内部の所定位置の識別部分が、前記コマンドデータを示す所定のコマンド識別値に設定されている場合には、前記受信パケットに含まれるデータを前記装置制御機能に供給する機能と、
（ｃ）前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットに含まれるデータを前記データ処理機能に供給する機能と、
を有し、
前記装置制御機能は、前記受信パケットの内部の前記識別部分を除く残余部分を前記コマンドデータとして利用する機能を有し、
前記データ処理機能は、前記残余部分を前記入力データとして利用する機能を有する、
コンピュータプログラム。
【請求項９】
データ供給装置と、前記データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置と、の間の通信方式であって、
前記データ処理装置は、前記データ供給装置から受信した入力データに応じて前記データ処理を実行するとともに、前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行し、
前記データ供給装置は、
前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ処理装置に送信するとともに、
（ａ）前記コマンドデータを送信する場合には、前記パケットの内部の所定位置の識別部分を、前記コマンドデータを示す所定のコマンド識別値に設定するとともに、前記パケットの内部の前記識別部分を除く残余部分に前記コマンドデータを格納し、
（ｂ）前記入力データを送信する場合には、前記識別部分を前記コマンド識別値とは異なる値に設定するとともに、前記残余部分に前記入力データを格納し、
前記データ処理装置は、
（ｃ）前記データ供給装置から受信した受信パケットの前記識別部分が、前記コマンド識別値に設定されている場合には、前記受信パケットの前記残余部分を前記コマンドデータとして利用し、
（ｄ）前記受信パケットの前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットの前記残余部分を前記入力データとして利用する、
通信方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信を利用した装置制御に関するものである。
【背景技術】
【０００２】
従来より、プロジェクタやプリンタ等の画像出力装置は、コンピュータに接続されて制御されている。画像出力装置に画像を出力させるために、コンピュータが、コマンドコード、パラメータ、データを、所定の順番に画像出力装置に送信する通信方式が提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平１１−３３８６５１号公報
【０００４】
ところで、ユーザの利便性向上のためには、画像の出力に限らず、種々の制御（例えば、プロジェクタのファンの駆動状態の制御）をコンピュータとの通信を介して行うことが好ましい。しかし、従来は、通信を介して種々の制御を行う場合には、種々の制御に対応するために通信が複雑化する場合が多かった。
【０００５】
なお、このような問題は、画像出力装置の制御を行う場合に限らず、種々のデータ処理装置の制御を行う場合に共通する問題であった。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記の課題を解決するためになされたものであり、種々の制御に対応するために通信が複雑化することを抑制できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題の少なくとも一部を解決するため、本発明の第１の態様に係るデータ処理装置は、データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置であって、前記データ供給装置との通信を制御する通信制御部と、前記データ供給装置から受信した入力データに応じて前記データ処理を実行するデータ処理部と、前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行する装置制御部と、を備え、前記通信制御部は、前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ供給装置から受信するとともに、（ａ１）前記データ供給装置から受信した受信パケットの内部の所定位置の識別部分が、前記コマンドデータを示す所定のコマンド識別値に設定されている場合には、前記受信パケットに含まれるデータを前記装置制御部に供給し、（ａ２）前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットに含まれるデータを前記データ処理部に供給し、前記装置制御部は、前記受信パケットの内部の前記識別部分を除く残余部分を前記コマンドデータとして利用し、前記データ処理部は、前記残余部分を前記入力データとして利用する。
【０００８】
このデータ処理装置によれば、入力データとコマンドデータとのそれぞれが共通固定長のパケットによって受信されるので、通信処理の簡素化を図ることができる。また、パケットの内部の所定位置の識別部分の値に基づいて、そのパケットに格納されたデータ種類の識別が可能であるので、入力データとコマンドデータとを適切に使い分けることが可能である。従って、種々の制御に対応するために通信が複雑化することを抑制することが可能となる。
【０００９】
上記データ処理装置において、前記入力データは、画像のサイズ情報を含むヘッダデータと、前記画像を表す画像データと、を含む表示データであり、前記データ処理部は、前記所定の処理として、前記表示データに基づいて前記画像を出力する処理を実行し、前記データ処理部は、前記ヘッダデータを含むヘッダパケットと、前記画像データを分割して格納する複数の画像パケットと、のそれぞれを受信することによって、前記表示データの全体を取得し、前記データ処理部は、（ｂ１）前記識別部分が前記ヘッダデータを示す所定のヘッダ識別値に設定されている場合には、前記残余部分を前記ヘッダデータとして利用し、（ｂ２）前記識別部分が続き有りの画像データを示す所定の継続画像識別値に設定されている場合には、前記残余部分を前記画像データとして利用し、（ｂ３）前記識別部分が最後の画像データを示す所定の最後画像識別値に設定されている場合には、前記残余部分を前記画像データとして利用するとともに、前記画像データの全体を受信したと判断することとしてもよい。
【００１０】
この構成によれば、ヘッダデータと、画像データと、のそれぞれが、固定長のパケットによって受信されるので、通信処理の簡素化を図ることができる。また、画像データが分割して受信される場合であっても、識別部分の値に基づいて、続き有りの画像データと最後の画像データとの区別が可能であるので、画像データの全体の受信完了を適切に判断できる。
【００１１】
上記データ処理装置において、前記データ処理部は、前記画像の出力処理として、前記画像を表示画面に表示する処理を実行し、前記ヘッダデータは、さらに、前記表示画面内における前記画像の位置情報を含み、前記データ処理部は、前記表示画面内の部分画像であって位置が互いに異なるｎ個（ｎは２以上の整数）の部分画像をそれぞれ表すｎ個の表示データを１つずつ順番に受信することによって、前記表示画面の内の前記ｎ個の部分画像の全てが更新された画像を前記表示画面に表示し、前記データ処理部は、前記ヘッダパケットを受信するとともに、前記ヘッダパケットの後に複数の前記画像パケットの全てを受信することによって、１つの表示データの全体を取得し、前記データ処理部は、（ｃ１）最初のｎ−１個の表示データのそれぞれについては、１つの表示データの複数の画像パケットの全てを、前記識別部分が前記継続画像識別値に設定されている画像パケットとして受信するとともに、次の表示データのヘッダパケットを受信することによって全ての画像パケットの受信が完了したと判断し、（ｃ２）最後のｎ番目の表示データについては、最後の画像パケットを除く他の全ての画像パケットを、前記識別部分が前記継続画像識別値に設定されている画像パケットとして受信し、最後の画像パケットを、前記識別部分が前記最後画像識別値に設定されている画像パケットとして受信するとともに、前記最後の画像パケットを受信することによって、前記最後のｎ番目の表示データの全ての画像パケットの受信と、全ての表示データの受信とが完了したと判断することとしてもよい。
【００１２】
この構成によれば、複数の部分画像を受信する場合であっても、１つずつ順番に各部分画像の表示データが受信され、さらに、各表示データの最初には、画像パケットと区別可能なヘッダパケットが受信されるので、各表示データの識別を適切に行うことができる。また、最後の表示データの最後の画像パケットの識別部分のみが最後画像識別値に設定されるので、全ての表示データの受信が完了したことを適切に判断することができる。
【００１３】
上記各データ処理装置において、さらに、前記データ供給装置に送信するためのデータをアドレスが異なる複数の記憶部分に格納するメモリを備え、前記メモリは、第１アドレス長を有する第１メモリと、前記第１アドレス長よりも長い第２アドレス長を有する第２メモリと、を含み、前記コマンドデータは、前記第１メモリのデータを読み出すための第１リードコマンドデータと、前記第２メモリのデータを読み出すための第２リードコマンドデータと、を含む複数種類のコマンドデータの中から設定され、前記装置制御部は、（ｄ１）前記受信パケットの前記残余部分の内の所定位置の部分であるコマンド部分が前記第１リードコマンドデータを示す所定の第１リード識別値に設定されている場合には、前記受信パケットの前記識別部分と前記コマンド部分とを除いた残りの部分の内の所定位置の前記第１アドレス長の第１アドレス部分をリードの対象アドレスとして利用し、（ｄ２）前記コマンド部分が前記第２リードコマンドデータを示す所定の第２リード識別値に設定されている場合には、前記受信パケットの前記識別部分と前記コマンド部分とを除いた残りの部分の内の所定位置の前記第２アドレス長の第２アドレス部分をリードの対象アドレスとして利用することとしてもよい。
【００１４】
この構成によれば、コマンド部分の値に基づいて、パケットに格納されたデータ長の異なるアドレスの識別が可能であるので、アドレス長が異なる第１メモリと第２メモリとからデータを読み出す場合であっても、データ長の異なるアドレスを適切に使い分けることが可能である。
【００１５】
上記データ処理装置において、前記装置制御部は、前記各リードコマンドデータを受信したことに応じて、受信したリードコマンドデータで指定されたメモリのアドレスに格納された対象データを、前記固定長のパケットによって前記データ供給装置に送信するとともに、前記対象データを送信する前に、新たな前記各リードコマンドデータを受信可能であり、前記装置制御部は、（ｅ１）前記第１リードコマンドデータに対する応答として、前記識別部分と前記コマンド部分と前記第１アドレス部分とが元の前記第１リードコマンドデータと同じ値に設定されるとともに、残りの部分に前記対象データが格納された第１データパケットを送信し、（ｅ２）前記第２リードコマンドデータに対する応答として、前記識別部分と前記コマンド部分とが元の前記第２リードコマンドデータと同じ値に設定されるとともに、残りの部分に前記対象データが格納され、さらに、前記対象アドレスを含まない第２データパケットを送信し、
前記通信制御部による前記データ供給装置との通信では、複数のパケットが受信側によって受信される順序は、前記複数のパケットが送信側によって送信された順序と同じであり、前記装置制御部は、先に受信した前記第２リードコマンドデータに対する応答を送信する前に、新たな前記第２リードコマンドデータを受信した場合には、前記後の第２リードコマンドデータの応答を送信する前に前記先の第２リードコマンドデータの応答を送信し、その後、前記後の第２リードコマンドデータの応答を送信することとしてもよい。
【００１６】
この構成によれば、アドレス長の比較的短い第１リードコマンドデータに対しては、識別部分とコマンド部分と第１アドレス部分とが元の第１リードコマンドデータと同じで、残りの部分に対象データが格納された第１データパケットが送信されるので、データ供給装置は、受信した対象データと、送信した第１リードコマンドデータと、の対応関係を容易に特定できる。また、アドレス長の比較的長い第２リードコマンドデータに対する第２データパケットでは、アドレスが省略されるので、対象データを１つの第２データパケットに格納することが可能となる。また、後の第２リードコマンドデータの応答が送信される前に先の第２リードコマンドデータの応答が送信されるので、データ供給装置は、受信した対象データと、送信した第２リードコマンドデータと、の対応関係を、対象データを受信した順番に基づいて容易に特定することができる。
【００１７】
上記データ処理装置において、さらに、前記第２メモリから読み出された前記対象データを格納するとともに格納した前記対象データを前記装置制御部に供給する先入先出メモリを備え、前記装置制御部は、前記先の第２リードコマンドデータに基づく前記第２メモリからの読み出し要求を先に発行し、その後、前記後の第２リードコマンドデータに基づく前記第２メモリからの読み出し要求を発行し、前記装置制御部は、前記各読み出し要求によって読み出された対象データを前記先入先出メモリから取得し、前記取得した対象データのアドレスを確認せずに、前記先入先出メモリから取得した順番に、前記取得した対象データを含む前記第２データパケットを送信することとしてもよい。
【００１８】
この構成によれば、装置制御部は、第２メモリから読み出された対象データの送信順の管理をせずに済むので、装置制御部によって実行される処理の簡素化を図ることができる。
【００１９】
また、本発明の第２の態様に係る通信方式は、データ供給装置と、前記データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置と、の間の通信方式であって、前記データ処理装置は、前記データ供給装置から受信した入力データに応じて前記データ処理を実行するとともに、前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行し、前記データ供給装置は、前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ処理装置に送信するとともに、（ａ）前記コマンドデータを送信する場合には、前記パケットの内部の所定位置の識別部分を、前記コマンドデータを示す所定のコマンド識別値に設定するとともに、前記パケットの内部の前記識別部分を除く残余部分に前記コマンドデータを格納し、（ｂ）前記入力データを送信する場合には、前記識別部分を前記コマンド識別値とは異なる値に設定するとともに、前記残余部分に前記入力データを格納し、前記データ処理装置は、（ｃ）前記データ供給装置から受信した受信パケットの前記識別部分が、前記コマンド識別値に設定されている場合には、前記受信パケットの前記残余部分を前記コマンドデータとして利用し、（ｄ）前記受信パケットの前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットの前記残余部分を前記入力データとして利用する。
【００２０】
この通信方式によれば、入力データとコマンドデータとのそれぞれが共通固定長のパケットによって転送されるので、通信処理の簡素化を図ることができる。また、パケットの内部の所定位置の識別部分の値に基づいて、そのパケットに格納されたデータ種類の識別が可能であるので、入力データとコマンドデータとを適切に使い分けることが可能である。従って、種々の制御に対応するために通信が複雑化することを抑制することが可能となる。
【００２１】
なお、本発明は種々の形態で実現することが可能であり、例えば、データ処理システム、データ処理システムを構成するデータ供給装置及びデータ処理装置、これらの装置間における通信方法及び通信方式、データ供給方法及びデータ処理方法、それら方法又は装置を実現するためのコンピュータプログラム、それらのコンピュータプログラムを記録した記録媒体などの種々の態様で実現することが可能である。また、データ処理としては、画像出力や画像表示等の種々の処理を採用可能である。
【発明を実施するための最良の形態】
【００２２】
次に、この発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．第４実施例：
Ｅ．変形例：
【００２３】
Ａ．第１実施例：
図１は本発明の一実施例として画像表示システムの構成を示す説明図である。本実施例の画像表示システム１０は、画像供給装置としてのパーソナルコンピュータ１００と、画像表示装置としてのプロジェクタ２００と、コンピュータ１００とプロジェクタ２００とをつなぐＵＳＢケーブル３００と、を備えている。コンピュータ１００は、ＵＳＢケーブル３００を介して画像をプロジェクタ２００供給して、プロジェクタ２００に画像を投写させて投写表示画面７０（スクリーン）に表示させる機能を有している。
【００２４】
図２は、コンピュータ１００とプロジェクタ２００の内部構成を示すブロック図である。コンピュータ１００は、ＣＰＵ１０２と、ＲＯＭ１０４と、汎用メモリ（「システムメモリ」とも呼ぶ）としてのＲＡＭ１０６と、ハードディスクドライブ１０８と、キーボードやポインティングデバイスなどで構成される入力部１１０と、ＵＳＢインターフェース部１１２と、フレームメモリとしてのＶＲＡＭ１１４と、グラフィックコントローラ１１６と、液晶ディスプレイなどの表示デバイス１１８と、これら各要素を接続するバス１２０と、を備えている。入力部１１０は、ユーザの指示を受け取り、受け取った指示をコンピュータ１００の各構成要素に供給する。
【００２５】
ＲＡＭ１０６には、画像転送プログラム１７０と、通信モジュール１５４と、管理モジュール１５６と、を含む各種コンピュータプログラムが格納されている。画像転送プログラム１７０は、キャプチャモジュール１５０と、補正モジュール１５２と、を含んでいる。このような各種コンピュータプログラムは、フレキシブルディスクやＣＤ−ＲＯＭ等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。
【００２６】
一方、プロジェクタ２００は、ＵＳＢインターフェース部２１０と、デマルチプレクサ２１２と、メモリコントローラ２３０と、フレームメモリ２３２と、液晶ドライバ２３４と、ランプを有する照明光学系２３５と、液晶ライトバルブ２３６（「液晶パネル」とも呼ばれる）と、投写光学系２３７と、システムコントローラ２４０と、ＲＯＭ２５２と、ＦＩＦＯ（First-in First out）メモリ２５０と、冷却装置としてのファンユニット２６０と、を備えている。
【００２７】
コンピュータ１００の通信モジュール１５４と、プロジェクタ２００のデマルチプレクサ２１２とは、ＵＳＢインターフェース部１１２、２１０をそれぞれ制御し、ＵＳＢプロトコルを利用することによってデータ通信を行う。このデータ通信は、固定長のパケットを交換することによって行われる。画像転送プログラム１７０は、通信モジュール１５４を制御することによって、表示データ（画像データを含む）をプロジェクタ２００に送信する。また、管理モジュール１５６は、通信モジュール１５４を制御することによって、コマンドデータをプロジェクタ２００に送信する。表示データとコマンドデータとは、パケット内の所定位置の一部のビット情報に基づいて区別される（詳細は後述）。
【００２８】
デマルチプレクサ２１２は、表示データ用のパケットを受信した場合には、受信したデータをメモリコントローラ２３０に供給する。メモリコントローラ２３０は、受信したデータに含まれる画像データをフレームメモリ２３２に展開する。そして、メモリコントローラ２３０は、フレームメモリ２３２に格納された画像データを液晶ドライバ２３４に供給する。液晶ドライバ２３４は、供給された画像データに応じて液晶ライトバルブ２３６を制御する。液晶ライトバルブ２３６は、照明光学系２３５から射出された照明光を変調する。投写光学系２３７は、液晶ライトバルブ２３６によって変調された投写光を投写表示画面７０に投写する。これにより、投写表示画面７０に画像が投写表示される。
【００２９】
デマルチプレクサ２１２は、コマンドデータ用のパケットを受信した場合には、受信したデータをシステムコントローラ２４０に供給する。システムコントローラ２４０は、受信したコマンドデータに応じて、プロジェクタ２００の各構成要素を制御する。なお、第１実施例では、プロジェクタ２００の構成要素の内の一部は、その構成要素に設けられたレジスタ（メモリ）に格納されたデータ値に基づいて動作する。システムコントローラ２４０は、レジスタに制御データを書き込むことによって、各構成要素を制御する。図２の例では、照明光学系２３５とファンユニット２６０とが、レジスタ２３５Ｒ、２６０Ｒを、それぞれ有している。照明光学系２３５とファンユニット２６０とは、図示しない制御装置を含み、その制御装置は、レジスタの値に応じた制御を行う。例えば、ファンユニット２６０のレジスタ２６０Ｒに、駆動を意味するデータが書き込まれた場合に、ファンユニット２６０は駆動を開始する。逆に、このレジスタ２６０Ｒに、停止を意味するデータが書き込まれた場合に、ファンユニット２６０は停止する。
【００３０】
なお、デマルチプレクサ２１２とメモリコントローラ２３０とシステムコントローラ２４０とは、論理回路によって構成されている。
【００３１】
図３は、通信モジュール１５４とデマルチプレクサ２１２との間で交換されるパケットのフォーマットを示す説明図である。図３（Ａ）は、コマンドデータ用のパケットを示し、図３（Ｂ）（Ｃ）（Ｄ）は、表示データ用のパケットを示している。画像データを送信する場合には、最初にヘッダパケット（図３（Ｂ））が送信され、続けて、画像データパケット（図３（Ｃ）（Ｄ））が送信される。画像データは複数のパケットに分割して順番に送信される。図３（Ｃ）は、途中の画像データパケットを示し、図３（Ｄ）は、最後の画像データパケットを示している。
【００３２】
図示するように、第１実施例では、いずれのパケットの長さ（サイズ）も３２ビットである。また、３２ビットの内の最初の２つのビット（第０ビットと第１ビット）は、パケット種類の識別子である。コマンドパケット（図３（Ａ））では、この識別ビットの値が「１１ｂ（ｂは２進表記を意味する。以下同様）」に設定され、ヘッダパケット（図３（Ｂ））では「０１ｂ」に設定され、途中の画像データパケット（図３（Ｃ））では「００ｂ」に設定され、最後の画像データパケット（図３（Ｄ））では「１０ｂ」に設定される。すなわち、「００ｂ」は、画像データパケットがさらに続くことを意味し、「１０ｂ」は、画像データパケットの終わりを意味する。
【００３３】
図３（Ａ）に示すように、コマンドパケットの内の、第２〜第７ビットはコマンドコードを示し、第８〜第１５ビットはアドレスを示し、第１６〜第２３ビットは制御データの下位部分を示し、第２４〜第３１ビットは制御データの上位部分を示している。このコマンドパケットは、プロジェクタ２００の構成要素のレジスタに制御データを書き込むためのパケットである。コマンドコードは、制御対象の構成要素に固有なコード番号に設定される。アドレスは、レジスタに固有なレジスタアドレスに設定される。１つの構成要素に、複数のレジスタが設けられている場合には、レジスタアドレスは、１つの構成要素内においてレジスタ毎に異なるように設定される。ただし、異なる構成要素間では、レジスタアドレスが重なっていてもよい。
【００３４】
図４は、コマンドパケットの一例を示す説明図である。図中には、第１〜第６の６つのコマンドＣ１〜Ｃ６が示されている。コマンドコードが「００００１０ｂ」に設定されたコマンドＣ１〜Ｃ４は、照明光学系２３５のランプを制御するコマンドである。これらの内、アドレスが「００ｈ（ｈは１６進表記を意味する。以下同様）」に設定されたコマンドＣ１、Ｃ２は、ランプの点灯状態を制御するコマンドである。ここで、制御データが「００００ｈ」に設定された第１コマンドＣ１は、ランプを消灯させるコマンドであり、制御データが「００００１ｈ」に設定された第２コマンドＣ２は、ランプを点灯させるコマンドである。
【００３５】
一方、これらのコマンドＣ１〜Ｃ４の内、アドレスが「０１ｈ」に設定されたコマンドＣ３、Ｃ４は、ランプの輝度を制御するコマンドである。第１実施例では、ランプの輝度を「高輝度」と「低輝度」との２段階に切り替えることができる。ここで、制御データが「００００ｈ」に設定された第３コマンドＣ３は、ランプの輝度を「低輝度」に設定するコマンドであり、制御データが「０００１ｈ」に設定された第４コマンドＣ４は、ランプの輝度を「高輝度」に設定するコマンドである。
【００３６】
また、コマンドコードが「００００２０ｂ」に設定されたコマンドＣ５、Ｃ６は、ファンユニット２６０（図２）を制御するコマンドである。ここで、アドレスが「０５ｈ」に設定されていることは、ファンユニット２６０の駆動状態を制御することを意味している。制御データが「００００ｈ」に設定された第５コマンドＣ５は、ファンユニット２６０を停止させるコマンドであり、制御データが「０００１ｈ」に設定された第６コマンドＣ６は、ファンユニット２６０を駆動させるコマンドである。
【００３７】
図５は、コンピュータ１００がコマンドパケットをプロジェクタ２００に送信する様子を示す概略図である。図５では、コンピュータ１００の構成要素として、ＵＳＢインターフェース部１１２と、通信モジュール１５４と、管理モジュール１５６と、のみが示されており、他の構成要素は図示が省略されている。また、プロジェクタ２００の構成要素として、ＵＳＢインターフェース部２１０と、デマルチプレクサ２１２と、システムコントローラ２４０と、照明光学系２３５と、のみが示されており、他の構成要素は図示が省略されている。
【００３８】
図５には、第１コマンドＣ１が発行される場合が示されている。まず、管理モジュール１５６は、第１コマンドＣ１を定めるデータ（識別ビットと、コマンドコードと、アドレスと、制御データ）を通信モジュール１５４に供給する。通信モジュール１５４は、管理モジュール１５６から受け取ったデータを利用することによって第１コマンドＣ１を生成し、ＵＳＢプロトコルに従って第１コマンドＣ１をプロジェクタ２００に送信する。
【００３９】
一方、プロジェクタ２００では、デマルチプレクサ２１２が、ＵＳＢインターフェース部２１０を介してパケットを受信する。デマルチプレクサ２１２は、受信したパケットの識別ビットが「１１ｂ」に設定されている場合には、受信したデータをシステムコントローラ２４０に供給する。システムコントローラ２４０は、受信したデータに含まれるコマンドコードとアドレスとによって特定されるレジスタに、受信データに含まれる制御データを書き込む。図５の例では、第１コマンドＣ１によって、照明光学系２３５のレジスタ２３５Ｒの内のアドレスが「００ｈ」であるレジスタが選択される。そして、選択されたレジスタに、制御データ「０００１ｈ」が書き込まれる。この制御データ「０００１ｈ」は、点灯を意味している。従って、照明光学系２３５は、ランプを点灯させる。
【００４０】
他のコマンドが発行された場合も、同様に、システムコントローラ２４０は、受信したコマンドに応じた制御を実行する。なお、管理モジュール１５６は、ユーザの指示に応じて各コマンドを発行してもよく、あるいは、自動的に各コマンドを発行してもよい。自動的にコマンドを発行するための条件としては、任意の条件を採用可能である。例えば、プロジェクタ２００がコンピュータ１００に接続されたことを検知したことに応じて、第１コマンドＣ１を発行してもよい。
【００４１】
図６は、表示データを説明する説明図である。図中には、プロジェクタ２００による表示画面ＶＡが示されている。第１実施例では、表示画面ＶＡの幅（ｘ方向ピクセル数）が１０２４ピクセルで、高さ（ｙ方向ピクセル数）が７６８ピクセルであることとしている。また、表示画面ＶＡは複数の画像ブロックＩＢに分割されている。１つの画像ブロックＩＢの幅は８ピクセルであり、高さは４ピクセルである。従って、表示画面ＶＡ内には、ｘ方向に沿って１２８個の画像ブロックＩＢが並び、ｙ方向に沿って１９３個の画像ブロックＩＢが並ぶこととなる。また、表示画面ＶＡ内の各画像ブロックＩＢには、ｘ方向の位置を示すＸ番号Ｘｎと、ｙ方向の位置を示すＹ番号Ｙｎとが割り振られている。Ｘ番号Ｘｎは、０〜１２７の整数に設定され、Ｙ番号Ｙｎは、０〜１９２の整数に設定される。
【００４２】
画像データの送信は、これらの画像ブロックＩＢで構成された矩形領域を対象として行われる。このような矩形領域の画面内の位置とサイズ（高さと幅）とが、ヘッダパケット（図３（Ｂ））に設定される。画面内の位置は、矩形領域の基準ブロック（例えば、左上角の画像ブロックＩＢ）のＸ番号Ｘｎ及びＹ番号Ｙｎによって表される。また、サイズ（高さ及び幅）は、画像ブロックＩＢの数で表される。図３（Ｂ）の例では、第２〜第８ビットは基準ブロックのＸ番号Ｘｎを示し、第９〜第１５ビットは矩形領域の「幅−１（ブロック数）」を示し、第１６〜第２３ビットは基準ブロックのＹ番号Ｙｎを示し、第２４〜第３１ビットは矩形領域の「高さ−１（ブロック数）」を示している。なお、本実施例では、基準ブロックとして左上角の画像ブロックＩＢが用いられる。
【００４３】
図６には、矩形領域の一例が示されている。この矩形領域ＰＡは、表示画面ＶＡの内の一部の領域を示している。幅は３ブロックであり、高さは２ブロックである。また、左上のブロックのＸ番号Ｘｎは１であり、Ｙ番号Ｙｎは２である。図６には、このような領域ＰＡを表すヘッダパケットＰＡＨも示されている。このヘッダパケットＰＡＨでは、Ｘ番号Ｘｎが「１ｄ（ｄは１０進表記を意味する。以下同様）」に設定され、Ｙ番号Ｙｎが「２ｄ」に設定されている。また、「幅−１」が「２ｄ」に設定され、「高さ−１」が「１ｄ」に設定される。
【００４４】
なお、「Ｘ番号Ｘｎ」と「幅−１」とには、ヘッダパケットの内の７ビットがそれぞれ割り当てられている。この理由は、「Ｘ番号Ｘｎ」は０〜１２７の範囲内であり、その結果、「幅−１」も０〜１２７の範囲内であるので、いずれも、７ビットで表現可能だからである。一方、「Ｙ番号Ｙｎ」と「高さ−１」とには、ヘッダパケットの内の８ビットがそれぞれ割り当てられている。この理由は、「Ｙ番号Ｙｎ」は０〜１９２の範囲内であり、その結果、「高さ−１」も０〜１９２の範囲内であるので、いずれも、８ビットで表現可能だからである。このように、矩形領域の位置とサイズとを画像ブロックＩＢを基準にして表すことによって、位置とサイズを表すための情報量（ビット数）を低減できる（例えば、ピクセルを基準とする場合には、ｘ方向の位置（０〜１０２３）を表すために１０ビットが必要になる）。これにより、矩形領域の位置とサイズとを、１つのパケットによって表すことができる。なお、「幅」と「高さ」との代わりに「幅−１」と「高さ−１」とを利用する理由は、情報量を低減するためである。また、表示画面ＶＡのサイズと画像ブロックＩＢのサイズとのそれぞれとしては、図６に示すサイズ以外種々のサイズを採用できる。いずれの場合も、矩形領域の位置とサイズとを、１つのパケットによって表すことができるように、画像ブロックＩＢのサイズを設定することが好ましい。
【００４５】
図７は、コンピュータ１００が画像データをプロジェクタ２００に送信する様子を示す概略図である。図７では、コンピュータ１００の構成要素として、ＵＳＢインターフェース部１１２と、通信モジュール１５４と、補正モジュール１５２と、キャプチャモジュール１５０と、のみが示されており、他の構成要素は図示が省略されている。また、プロジェクタ２００の構成要素として、ＵＳＢインターフェース部２１０と、デマルチプレクサ２１２と、メモリコントローラ２３０と、フレームメモリ２３２と、液晶ドライバ２３４と、液晶ライトバルブ２３６と、のみが示されており、他の構成要素は図示が省略されている。
【００４６】
図７には、表示画面ＶＡの全体が送信される場合が示されている。まず、キャプチャモジュール１５０は、表示用の画像データを取得する。画像データの取得方法としては、任意の方法を採用可能である。例えば、コンピュータ１００の表示デバイス１１８（図２）に表示されている画像と同じ画像をプロジェクタ２００に表示させる場合には、ＶＲＡＭ１１４から画像データを取得してもよい。また、描画に関するアプリケーションプログラムインタフェース（ＡＰＩ：Application Program Interface）を利用して、画像データを取得してもよい。また、特定のアプリケーションプログラムによって描画される画像のみをプロジェクタ２００に表示させてもよい。この場合には、そのアプリケーションプログラムから画像データを取得すればよい。また、そのアプリケーションプログラムによって発行された描画命令をフックして（横取りして）、その描画命令に従った画像データを生成してもよい。なお、ＡＰＩとは、一般に、アプリケーションプログラムがオペレーティングシステムの持つ様々な機能を利用するための手続きの集まりを言う。
【００４７】
次に、キャプチャモジュール１５０は、取得した画像データを補正モジュール１５２に供給する。補正モジュール１５２は、供給された画像データに対して所定の補正処理を実行する。第１実施例では、ＶＴ（印加電圧Ｖ−光透過率Ｔ）補正が実行される。ＶＴ補正は、液晶ライトバルブ２３６に固有な非線形な入出力特性に応じて画像データ（例えば、ＲＧＢの各色成分の階調値）を補正する処理である。なお、補正処理としては、ＶＴ補正に限らず、任意の処理を採用可能である。例えば、ＶＴ補正とスケーリング処理（拡大または縮小処理）とコントラスト補正とガンマ補正との中から任意に選択された処理を採用してもよい。
【００４８】
次に、補正モジュール１５２は、通信モジュール１５４を制御することによって、補正済みの画像データをプロジェクタ２００に送信する。図７には、コンピュータ１００からプロジェクタ２００に送信されるパケットが示されている。補正モジュール１５２は、まずヘッダパケットＨＰを送信し、続いて、７８６４３２個の画像データパケットＤＰ１〜ＤＰ７８６４３２を、順番に送信する。
【００４９】
図７に示すヘッダパケットＨＰでは、Ｘ番号Ｘｎが「０ｄ」に設定され、Ｙ番号Ｙｎが「０ｄ」に設定されている。また、「幅−１」が「１２７ｄ」に設定され、「高さ−１」が「１９２ｄ」に設定されている。補正モジュール１５２は、これらのデータと識別ビットとを通信モジュール１５４に供給する。通信モジュール１５４は、補正モジュール１５２から受け取ったデータを利用することによってヘッダパケットＨＰを生成し、ＵＳＢプロトコルに従ってヘッダパケットＨＰをプロジェクタ２００に送信する。
【００５０】
次に、補正モジュール１５２は、画像データパケットを送信する。第１実施例では、補正後の画像データでは、１つのピクセルの画素値が、ＲＧＢの各色成分の階調値で表されている。そして、各色成分の階調値は１０ビットで表されている。１つの画像データパケットには、１つのピクセルの画素値が格納される。図３（Ｃ）、図３（Ｄ）に示すように、画像データパケットの内の、第２〜第７ビットは、ＲＧＢ各色成分の第０及び第１ビットの値を示し、第８〜第１５ビットはＢ成分の第２〜第９ビットの値を示し、第１６〜第２３ビットはＧ成分の第２〜第９ビットの値を示し、第２４〜第３１ビットはＲ成分の第２〜第９ビットの値を示している。なお、各色成分の１０ビットが、２ビットと８ビットに分かれている理由は、補正モジュール１５２やメモリコントローラ２３０が、８ビット単位でのデータ処理を高速に行うことができるからである。ただし、各色成分の階調値が画像データパケット内の連続な１０ビットで表されていても良い。また、各色成分のビット数は、１０でなくてもよい。例えば、各色成分が８ビットで表されていても良い。この場合には、パケットの内の第８〜第３１ビットを、各色成分の階調値用のビットとして利用すればよい。そして、第２〜第７ビットを、他の目的に利用してもよい。
【００５１】
上述したように、図７の例では、表示画面ＶＡの全体が送信される。従って、補正モジュール１５２は、７８６４３２（１０２４*７６８）個の画像データパケットＤ１〜Ｄ７８６４３２を送信する。送信されるピクセルの順番は、所定の順番に設定される。例えば、ｘ方向に延びる複数のラインについては、上のラインから順番に送信される。また、１つのライン内の複数のピクセルについては、左のピクセルから順番に送信される。
【００５２】
補正モジュール１５２は、各ピクセルの画像データ（画素値データ）と識別ビットとを通信モジュール１５４に供給する。通信モジュール１５４は、補正モジュール１５２から受け取ったデータを利用することによって画像データパケットを生成し、ＵＳＢプロトコルに従って画像データパケットをプロジェクタ２００に送信する。なお、識別ビットが「１０ｂ」に設定されるのは、最後に送信される画像データパケットＤＰ７８６４３２のみである。
【００５３】
一方、プロジェクタ２００では、デマルチプレクサ２１２が、ＵＳＢインターフェース部２１０を介してパケットを受信する。デマルチプレクサ２１２は、受信したパケットの識別ビットが「１１ｂ」とは異なる値に設定されている場合には、受信したデータをメモリコントローラ２３０に供給する。その結果、ヘッダパケットＨＰと、７８６４３２個の画像データパケットＤＰ１〜ＤＰ７８６４３２とが、受信された順番に、メモリコントローラ２３０に供給される。
【００５４】
メモリコントローラ２３０は、受信した画像データをフレームメモリ２３２に格納する。この際、各ピクセルの画面内の位置は、ヘッダパケットＨＰのデータ値に従って、決定される。そして、メモリコントローラ２３０は、最後のピクセルの画像データ（識別ビットの値が「１０ｂ」）をフレームメモリ２３２に格納したことに応じて、液晶ドライバ２３４に対する新たな画像データの供給を開始する。この結果、プロジェクタ２００は、コンピュータ１００から送信された新たな画像を表示することができる。
【００５５】
なお、第１実施例では、フレームメモリ２３２は、表示中の画像データを格納する表示用記憶領域と、更新用の画像データを格納する更新用記憶領域と、の２画面分の記憶領域を有している。メモリコントローラ２３０は、受信した画像データを更新用記憶領域に格納する。そして、メモリコントローラ２３０は、更新用の画像データの格納を完了したら、更新用記憶領域を新たな表示用記憶領域として利用し、この新表示用記憶領域に格納された画像データを液晶ドライバ２３４に供給する。そして、メモリコントローラ２３０は、旧表示用記憶領域を新たな更新用記憶領域として利用する。このような記憶領域の切り替えは、識別ビットが「１０ｂ」に設定されたパケットの画像データの格納が完了したことに応じて行われる。
【００５６】
ただし、フレームメモリ２３２が、１画面分の記憶領域のみを有することとしてもよい。この際、あるピクセルの画像データの格納（更新）前に、そのピクセルの画像データの読み出しを行うと、不具合（例えば、画像の乱れ）が生じる可能性がある。そこで、メモリコントローラ２３０は、不具合が生じないように、フレームメモリ２３２に対する画像データの格納と読み出しとの調停を行うことが好ましい。調停の方法としては、周知の種々の方法を採用可能である。
【００５７】
以上説明した、コンピュータ１００による画像データの取得と、取得された画像データの転送と、プロジェクタ２００による画像の表示と、の一連の処理は、繰り返し実行される。これにより、プロジェクタ２００によって表示される画像は、繰り返し更新される。
【００５８】
以上のように、第１実施例では、コンピュータ１００からプロジェクタ２００に送信されるパケットのサイズが固定されているので（データ長が３２ビット）、可変長パケットを利用する場合と比べて、通信処理の簡素化を図ることができる。特に、第１実施例では、コマンド（図３（Ａ））が１つのパケットで送信されるので、さらに、通信処理の簡素化を図ることができる。また、パケット内部の所定位置の識別ビットの値に基づいて他のビットの意味が特定されるので、表示データと種々のコマンドとを適切に使い分けることが可能である。
【００５９】
また、第１実施例では、識別ビットの値に基づいて、途中の画像データパケット（図３（Ｃ））と最後の画像データパケット（図３（Ｄ））とが区別されるので、メモリコントローラ２３０は、画像データの全体の受信の完了を適切に判断できる。
【００６０】
Ｂ．第２実施例：
図８は、第２実施例において、コンピュータ１００からプロジェクタ２００に送信される画像を示す説明図である。第１実施例との差違は、表示画面ＶＡの内の変化領域のみが、コンピュータ１００からプロジェクタ２００に送信される点である。装置の構成は、図１、図２に示す第１実施例と同じである。
【００６１】
図８には、２つの変化領域ＭＡＲａ、ＭＡＲｂが示されている。キャプチャモジュール１５０（図２）は、このような変化領域のみをキャプチャしてプロジェクタ２００に送信する。変化領域を表す画像の取得方法としては、任意の方法を採用可能である。例えば、キャプチャモジュール１５０が、ＶＲＡＭ１１４を監視し続けることによって、変化した領域を検出してもよい。この場合には、キャプチャモジュール１５０は、ＶＲＡＭ１１４から変化領域の画像データを取得すればよい。また、図示しないアプリケーションプログラムによって発行された描画命令の内、画面の一部を描画するものをフックして、その描画命令に従った画像データを生成してもよい。いずれの場合も、本実施例では、キャプチャモジュール１５０は、変化した部分を含む矩形形状の画像を取得することとしている。
【００６２】
キャプチャモジュール１５０（図２）によって取得された画像データは、第１実施例と同様に、補正モジュール１５２によって補正される。そして、補正後の画像データは、通信モジュール１５４によってプロジェクタ２００に送信される。
【００６３】
図９は、送信されるパケットの概略を示す説明図である。図９には、図８に示す２つの変化領域ＭＡＲａ、ＭＡＲｂが転送される場合が示されている。図９の例では、最初に第１変化領域ＭＡＲａのパケットが送信され、続けて第２変化領域ＭＡＲｂのパケットが送信されている。第１変化領域ＭＡＲａのためのパケットは、ヘッダパケットＨＰａと、ｍ個（ｍは１以上の整数）の画像データパケットＤＰａ１〜ＤＰａｍとを含んでいる。第２変化領域ＭＡＲｂのためのパケットは、ヘッダパケットＨＰｂと、ｎ個（ｎは１以上の整数）の画像データパケットＤＰｂ１〜ＤＰｂｎとを含んでいる。補正モジュール１５２は、複数の変化領域を１つずつ順番に続けて送信する。また、補正モジュール１５２は、各変化領域のパケットを、図７の例と同様に、ヘッダパケット−画像データパケットの順番に続けて送信する。
【００６４】
これらのパケットのデータ値は、図７の例と同様に設定される。ただし、第１変化領域ＭＡＲａの最後の画像データパケットＤＰａｍの識別ビットは「１０ｂ」ではなく「００ｂ」に設定される。この理由は、画像データパケットがさらに続くからである。最後の変化領域ＭＡＲｂの最後の画像データパケットＤＰｂｎの識別ビットは「１０ｂ」に設定される。この理由は、このパケットが、最後の画像データパケットだからである。
【００６５】
一方、プロジェクタ２００では、上述の第１実施例と同様に、メモリコントローラ２３０が、各パケットを受信し、受信した画像データをフレームメモリ２３２に格納する。この際、メモリコントローラ２３０は、第１ヘッダパケットＨＰａの後、次の第２ヘッダパケットＨＰｂを受信するまでの間に受信した全てのｍ個の画像データパケットを、第１ヘッダパケットＨＰａによって定められる領域の画像データとして利用する。また、第２ヘッダパケットＨＰｂの後には、新たなヘッダパケットは受信されていない。ただし、第２ヘッダパケットＨＰｂの後の最後の画像データパケットＤＰｂｎの識別ビットは「１０ｂ」に設定されている。従って、メモリコントローラ２３０は、第２ヘッダパケットＨＰｂの後から、この最後の画像データパケットＤＰｂｎまでの全てのｎ個の画像データパケットを、第２ヘッダパケットＨＰｂによって定められる領域の画像データとして利用する。
【００６６】
また、メモリコントローラ２３０は、識別ビットが「１０ｂ」に設定された画像データパケットＤＰｂｎを受信することによって、全ての変化領域の表示データの受信が完了したと判断することができる。これにより、メモリコントローラ２３０は、変化領域の全ての画像データを液晶ドライバ２３４に供給することができる。この結果、プロジェクタ２００は、図８に示すような、変化領域が更新された画像を表示することができる。
【００６７】
なお、本実施例では、画面内の変化領域以外の部分（以下「非変化領域」と呼ぶ）の画像データについては、更新されずに維持される。ここで、フレームメモリ２３２が、表示用記憶領域と更新用記憶領域との２画面分の記憶領域を有している場合には、メモリコントローラ２３０は、表示用記憶領域から更新用記憶領域へ非変化領域の画像データをコピーすればよい。ここで、このようなコピーは、最後の画像データパケット（識別ビットの値が「１０ｂ」）を受信したことに応じて実行されることが好ましい。こうすれば、変化領域の画像データを余計にコピーすることを抑制できる。
【００６８】
また、フレームメモリ２３２が１画面分の記憶領域のみを有している場合には、メモリコントローラ２３０は、非変化領域の画像データを更新せずに維持する。この場合には、メモリコントローラ２３０は、最後の画像データパケット（識別ビットの値が「１０ｂ」）を受信したことに応じて、表示画像の更新（本実施例では、液晶ドライバ２３４に対する画像データの供給）を開始すればよい。最後の画像データパケットを受信したことによって、全てのピクセルの画素値（画像データ）が確定する。従って、更新前の画像データが誤って液晶ドライバ２３４に供給されることを抑制できる。
【００６９】
以上、変化領域の数が２つである場合について説明したが、１つである場合や、３以上である場合も、同様に処理が実行される。いずれの場合も、最後に送信される変化領域の最後の画像データパケットの識別ビットが「１０ｂ」に設定される。また、先に送信される変化領域の最後の画像データパケットの識別ビットは「００ｂ」に設定される。
【００７０】
また、コンピュータ１００による変化領域の画像データ取得と、取得された画像データの転送と、プロジェクタ２００による更新画像の表示と、の一連の処理は繰り返し実行される。ただし、少なくとも１回は、第１実施例のように、画面の全体を表す画像データがコンピュータ１００からプロジェクタ２００に送信される。このような画面全体の送信は、初めて画像データを送信する際に行うことが好ましい。
【００７１】
以上説明したように、第２実施例では、コンピュータ１００の画像転送プログラム１７０は、画面内の変化領域のみを取得して、プロジェクタ２００に送信する。一方、プロジェクタ２００のメモリコントローラ２３０は、変化領域のみを受信した場合には、変化領域のみを更新する。これらにより、送信されるデータ量を低減することができる。その結果、プロジェクタ２００によって表示される画像の更新頻度を速めることが可能となる。
【００７２】
また、第２実施例では、複数の領域の表示データが送信される場合には、１つずつ順番に表示データが送信され、各表示データの最初には、画像データパケットと区別可能なヘッダパケットが送信される。その結果、メモリコントローラ２３０は、識別ビットを確認することによって、ある画像データパケットを誤った表示データのものであると判断することなく、各表示データの識別を適切に行うことができる。
【００７３】
また、第２実施例では、先に送信される表示データの最後の画像データパケットの識別ビットは、画像データパケットの続きがあることを示す「００ｂ」に設定される。そして、最後に送信される表示データの最後の画像データパケットの識別ビットのみが、画像データパケットの続きがないことを示す「１０ｂ」に設定される。その結果、複数の変化領域（表示データ）がコンピュータ１００からプロジェクタ２００に転送される場合であっても、メモリコントローラ２３０は、この識別ビットを確認することによって、全ての変化領域の受信が完了したことを適切に判断することができる。
【００７４】
また、メモリコントローラ２３０は、このような最後の画像データパケット（識別ビットの値が「１０ｂ」）を受信したことに応じて表示画像を更新する。その結果、メモリコントローラ２３０は、変化領域の画素値（画像データ）と非変化領域の画素値とが確定した状態で、表示画像を更新することができるので、適切な表示画像の更新が可能である。なお、表示画像の更新方法としては、上述した方法に限らず、最後の画像データパケット（識別ビットの値が「１０ｂ」）を受信したことに応じて表示画像を更新する種々の方法を採用可能である。
【００７５】
Ｃ．第３実施例：
図１０は、リードコマンドと、そのリードコマンドに対する応答パケットと、を示す説明図である。第３実施例では、コンピュータ１００は、リードコマンドを発行することによって、プロジェクタ２００の状態を表す状態データを、プロジェクタ２００から取得する。なお、装置の構成は、図１、図２に示す第１および第２実施例と同じである。また、画像データの送信処理と、プロジェクタ２００を制御するコマンド（例えば、図４のコマンド）の送信処理とは、上述の各実施例と同様に実行される。
【００７６】
図１０（Ａ）には、リードコマンドの一例が示されている。コンピュータ１００は、これらのリードコマンドＣ１１〜Ｃ１２を発行することによって、プロジェクタ２００のレジスタに格納されたデータを、プロジェクタ２００の状態を表すデータとして取得する。
【００７７】
リードコマンドＣ１１〜Ｃ１３のパケットフォーマットは、図３（Ａ）に示すコマンドパケットと同じである。コマンドコードは、構成要素に固有なコード番号に設定される。例えば、コマンドコードが「００００１１ｂ」に設定されたコマンドＣ１１、Ｃ１２は、照明光学系２３５（図２）のランプの状態を取得するコマンドである。また、コマンドコードが「００００２１ｂ」に設定されたリードコマンドＣ１３は、ファンユニット２６０の状態を取得するコマンドである。なお、これらのリードコマンドＣ１１〜Ｃ１３のそれぞれのコマンドコードは、制御用コマンド（例えば、図４のコマンドＣ１〜Ｃ６）のいずれとも異なっている。すなわち、コマンドコードは、制御用コマンドとリードコマンドとを含む複数のコマンドのそれぞれに固有な値に設定されている。
【００７８】
アドレスフィールドは、目的の状態データを格納するレジスタを指し示すレジスタアドレスに設定される。例えば、照明光学系２３５におけるアドレスが「００ｈ」であるレジスタ２３５Ｒには、ランプの点灯状態を表す制御データが格納されている（図４：コマンドＣ１、Ｃ２）。従って、照明光学系２３５（図２）に対するリードコマンドＣ１１、Ｃ１２の内の、アドレスが「００ｈ」に設定された第１リードコマンドＣ１１は、ランプの点灯状態を表すデータを取得するために利用される。他のコマンドＣ１２、Ｃ１３も、同様に、コマンドコードとアドレスとによって特定されるレジスタのデータを読み出すために利用される。
【００７９】
また、リードコマンドでは、制御データフィールド（図３（Ａ）：第１６〜第３１ビット）の値は利用されない。従って、このフィールドの値は、パケット長の整合性のために所定のダミー値（例えば、００００ｈ）に設定される。
【００８０】
一方、図１０（Ｂ）には、応答パケットのフォーマットが示されている。この応答パケットは、リードコマンドに応じてプロジェクタ２００からコンピュータ１００へ送信されるパケットである。この応答パケットのフォーマットは、図３（Ａ）に示すコマンドパケットと同じである。識別ビットとコマンドコードとアドレスフィールドの値は、元の「リードコマンド」と同じ値に設定される。また、状態データフィールド（第１６〜第３１ビット）の値は、状態を表す値に設定される。
【００８１】
図１１は、コンピュータ１００がリードコマンドを発行する様子を示す概略図である。図１１では、コンピュータ１００とプロジェクタ２００との構成要素の内の一部のみが示されている。
【００８２】
図１１には、第１のリードコマンドＣ１１（以下「点灯リードコマンドＣ１１」とも呼ぶ）と第３のリードコマンドＣ１３（以下「送風リードコマンドＣ１３」とも呼ぶ）とがこの順番に発行される場合が示されている。これらのリードコマンドＣ１１、Ｃ１３は、制御用のコマンドと同様に（図５）、管理モジュール１５６が通信モジュール１５４を制御することによって、プロジェクタ２００に送信される。なお、管理モジュール１５６は、先のリードコマンドに対する応答パケットを受信する前に、他のパケット（例えば、次のリードコマンド）を送信可能である。
【００８３】
一方、プロジェクタ２００では、デマルチプレクサ２１２は、受信した２つのコマンド（パケット）Ｃ１１、Ｃ１３のそれぞれの識別ビットが「１１ｂ」に設定されているので、受信したデータをシステムコントローラ２４０に供給する。システムコントローラ２４０は、受信したリードコマンドに応じた状態の確認を行う。図１１の例では、システムコントローラ２４０は、点灯リードコマンドＣ１１に応じて、照明光学系２３５のレジスタ２３５Ｒ（アドレス＝００ｈ）のデータを取得し、その後、送風リードコマンドＣ１３に応じて、ファンユニット２６０のレジスタ２６０Ｒ（アドレス＝０５ｈ）のデータを取得する。
【００８４】
なお、データの取得を開始してからその取得を完了するまでに要する時間は、レジスタによって異なる場合がある。ここで、本実施例では、システムコントローラ２４０は、先に受信したリードコマンドのデータ取得が完了する前であっても、新たなリードコマンドを受信した場合には、そのリードコマンドのためのデータの取得を開始する。そして、システムコントローラ２４０は、リードコマンドを受信した順番に拘わらずに、データの取得が完了した順番に、応答パケットを送信する。これにより、応答に要する合計時間が過剰に長くなることを抑制できる。図１１の例では、システムコントローラ２４０は、ファンユニット２６０からのデータ取得を、照明光学系２３５からのデータ取得よりも先に完了したこととしている。その結果、後の送風リードコマンドＣ１３に応じる応答パケットＲ１３（以下「送風応答パケットＲ１３」とも呼ぶ）が、先の点灯リードコマンドＣ１１に応じる応答パケットＲ１１（以下「点灯応答パケットＲ１１」とも呼ぶ）よりも、先に送信されている。
【００８５】
送風応答パケットＲ１３では、識別ビットとコマンドコードとアドレスとが、応答の対象であるリードコマンドＣ１３と同じ値に設定されている。そして、状態データフィールド（第１６〜第３１ビット：図１０（Ｂ））は、レジスタから取得されたデータ値に設定されている。図１１の例では、状態データが「０００１ｈ」に設定されている。これは、ファンユニット２６０が駆動していることを示している。一方、点灯応答パケットＲ１１の識別ビットとコマンドコードとアドレスとは、応答の対象である点灯リードコマンドＣ１１と同じ値に設定されている。そして、状態データは「００００ｈ」に設定されている。これは、ランプが消灯していることを示している（図４：第１コマンドＣ１）。
【００８６】
システムコントローラ２４０は、これらの応答パケットＲ１１、Ｒ１３を定めるデータ（識別ビットとコマンドコードとアドレスと状態データ）をデマルチプレクサ２１２に供給する。デマルチプレクサ２１２は、システムコントローラ２４０から受け取ったデータを利用することによって各応答パケットＲ１１、Ｒ１３を生成し、ＵＳＢプロトコルに従ってこれらの応答パケットＲ１１、Ｒ１３をコンピュータ１００に送信する。
【００８７】
一方、コンピュータ１００では、受信したパケットの識別ビットが「１１ｂ」に設定されているので、通信モジュール１５４は、受信データを管理モジュール１５６に供給する。管理モジュール１５６は、送信したリードコマンドと、受信したデータと、の対応関係を、識別ビットとコマンドコードとアドレスとの組み合わせによって特定する。なお、管理モジュール１５６は、受信した状態データを種々の用途に利用可能である。例えば、管理モジュール１５６は、コンピュータ１００の表示デバイス１１８に状態を表示してもよい。また、管理モジュール１５６は、状態データに基づく所定の処理を実行してもよい。このような処理としては、任意の処理を採用可能である。例えば、ランプが消灯している場合には、画像転送プログラム１７０が画像データの送信を開始する前に、管理モジュール１５６がランプ点灯用の第２コマンドＣ２を発行することとしてもよい。
【００８８】
他のリードコマンドが発行された場合も、同様に、プロジェクタ２００は、状態データをコンピュータ１００に送信する。なお、管理モジュール１５６は、ユーザの指示に応じて各リードコマンドを発行してもよく、あるいは、自動的に各リードコマンドを発行してもよい。自動的にリードコマンドを発行するための条件としては、任意の条件を採用可能である。例えば、プロジェクタ２００がコンピュータ１００に接続されたことを検知したことに応じて、点灯させるための第２コマンドＣ２（図４）の発行の要否を判定するために、点灯リードコマンドＣ１１を発行してもよい。
【００８９】
以上のように、第３実施例では、管理モジュール１５６は、プロジェクタ２００から状態データを取得するので、プロジェクタ２００の状態に応じた処理を実行可能である。また、応答パケットには、応答対象のリードコマンドを特定する情報（第３実施例では、識別ビットとコマンドコードとアドレス）が格納されている。従って、管理モジュール１５６は、受信したデータと、送信したリードコマンドと、の対応関係を、容易に特定できる。特に、管理モジュール１５６は、複数種類のリードコマンドの送信順序と異なる順序で応答パケットを受信した場合であっても、各応答パケットが、いずれのリードコマンドに応じるものかを適切に判断することができる。また、第３実施例では、応答が１つのパケットで送信されるので、通信処理の簡素化を図ることができる。
【００９０】
Ｄ．第４実施例：
図１２は、ＲＯＭリードコマンドと、ＲＯＭリードコマンドに対する応答パケットと、を示す説明図である。第４実施例では、コンピュータ１００は、ＲＯＭリードコマンドを発行することによって、プロジェクタ２００（図２）のＲＯＭ２５２のデータを取得する。なお、装置の構成は、図１、図２に示す第１〜第３実施例と同じである。また、画像データの送信処理と、プロジェクタ２００を制御するコマンド（例えば、図４のコマンド）の送信処理と、プロジェクタ２００の状態を表す状態データの取得処理とは、上述の各実施例と同様に実行される。
【００９１】
図１２（Ａ）には、ＲＯＭリードコマンドのフォーマットが示されている。図３（Ａ）に示すコマンドパケットとの差違は、第８〜第１５ビットに加えて、第１６〜第３１ビットも、アドレスを指定するために利用される点だけである。第８〜第１５ビットには、アドレスの下位部分が格納され、第１６〜第２３ビットには、アドレスの中位部分が格納され、第２４〜第３１ビットには、アドレスの上位部分が格納される。また、コマンドコードは、他のいずれのコマンドとも異なる所定の値（図１２の例では「１０００１１ｂ」）に設定されている。
【００９２】
このように、ＲＯＭ２５２のアドレス（メモリアドレス）を表すビット数（図１２（Ａ）の例では２４ビット）が、上述のレジスタのアドレスを表すビット数（図３（Ａ）の例では８ビット）よりも大きい理由は、レジスタよりも容量の多いメモリをＲＯＭ２５２として利用しているからである。第４実施例では、ＲＯＭ２５２には、ＶＴ（印加電圧Ｖ−光透過率Ｔ）補正用のパラメータ値が格納されている。具体的には、ＲＧＢの各色成分の補正前の値と補正後の値との対応関係を表すルックアップテーブル（ＬＵＴ）がＲＯＭ２５２に格納されている。このＬＵＴは、液晶ライトバルブ２３６の個体に固有な特性を補正するために、液晶ライトバルブ２３６の個体毎のＶＴ特性の測定結果に基づいて準備されたものである。このＬＵＴは、プロジェクタ２００の製造時にＲＯＭ２５２に格納される。そして、プロジェクタ２００の利用時に、コンピュータ１００によって読み出され、ＶＴ補正に利用される。その結果、プロジェクタ２００による表示画面の個体差が抑制される。
【００９３】
このＬＵＴは、種々の入力値に関する対応関係を含んでいるので、そのデータ量は多くなる場合が多い。そこで、ＲＯＭ２５２としては、このようなＬＵＴを格納するのに十分な容量を有するものが採用される。その結果、ＲＯＭ２５２のアドレスのビット数（２４ビット）がレジスタアドレスのビット数（８ビット）よりも大きな数に設定されている。
【００９４】
また、図１２（Ｂ）には、ＲＯＭリードコマンド応答のパケットフォーマットが示されている。このＲＯＭリードコマンド応答（以下、単に「ＲＯＭ応答」とも呼ぶ）のパケットは、ＲＯＭリードコマンドに応じてプロジェクタ２００からコンピュータ１００へ送信される。第０〜第７ビットは、ＲＯＭリードコマンドパケット（図１２（Ａ））と同じ値に設定される。第８〜第３１ビットには、読み出されたデータが格納される。第４実施例では、ＲＯＭ２５２における１つのアドレスによって指定される記憶領域のサイズは、上述のレジスタにおけるサイズ（図３（Ａ）：１６ビット）よりも大きな「２４ビット」である。第８〜第１５ビットには、データの下位部分が格納され、第１６〜第２３ビットには、データの中位部分が格納され、第２４〜第３１ビットには、データの上位部分が格納される。なお、このＲＯＭ応答パケットには、応答対象のＲＯＭリードコマンドで指定されたアドレスは格納されていない。この点については後述する。
【００９５】
図１３は、コンピュータ１００がＲＯＭリードコマンドを発行する様子を示す概略図である。図１３では、コンピュータ１００とプロジェクタ２００との構成要素の内の一部のみが示されている。
【００９６】
図１３には、互いに異なるアドレスＡｊ、Ａｋを読むための２つのＲＯＭリードコマンドＣｊ、Ｃｋが、管理モジュール１５６によって、この順番に発行される場合が示されている。これらのＲＯＭリードコマンドＣｊ、Ｃｋは、制御用のコマンドと同様に（図５）、管理モジュール１５６が通信モジュール１５４を制御することによって、プロジェクタ２００に送信される。なお、通信モジュール１５４は、これらのコマンドＣｊ、Ｃｋを、発行された順番に、プロジェクタ２００に送信する。また、管理モジュール１５６は、先のＲＯＭリードコマンドに対するＲＯＭ応答パケットを受信する前に、他のパケット（例えば、別のアドレスのＲＯＭリードコマンドや、レジスタに対するリードコマンド）を送信可能である。
【００９７】
一方プロジェクタでは、デマルチプレクサ２１２は、識別ビットが「１１ｂ」に設定されたこれらのコマンドＣｊ、Ｃｋのデータを、システムコントローラ２４０に供給する。コマンドコードが「１０００１１ｂ」に設定されるので、システムコントローラ２４０は、ＲＯＭ２５２に対して、コマンドＣｊ、Ｃｋで指定されたメモリアドレスのデータリード要求を発行する。ＲＯＭ２５２は、システムコントローラ２４０からの要求に応じて、指定されたアドレスに格納されたデータをＦＩＦＯメモリ２５０に供給する。
【００９８】
なお、通信モジュール１５４とデマルチプレクサ２１２との間の通信では、ＵＳＢインターフェースが利用されているので、複数のパケットが受信側によって受信される順序は、送信側によって送信された順序と同じである。また、デマルチプレクサ２１２は、受信した順番に、受信データ（ＲＯＭリードコマンド）をシステムコントローラ２４０に供給する。システムコントローラ２４０は、元のＲＯＭリードコマンドを受信した順番に、データリード要求をＲＯＭ２５２に対して発行する。ＲＯＭ２５２は、データリード要求を受けた順番に、指定されたアドレスのデータをＦＩＦＯメモリ２５０に供給する。その結果、ＦＩＦＯメモリ２５０には、管理モジュール１５６によって要求されたアドレス順にデータが格納される。具体的には、まず、先のコマンドＣｊ（アドレスＡｊ）のデータＤｊが格納され、その後、後のコマンドＣｋ（アドレスＡｋ）のデータＤｋが格納される。
【００９９】
次に、システムコントローラ２４０は、ＦＩＦＯメモリ２５０からデータを取得し、取得したデータを、ＲＯＭ応答パケット（図１２（Ｂ））に格納してコンピュータ１００に送信する。この際、システムコントローラ２４０は、ＦＩＦＯメモリ２５０から取得したデータのアドレスを確認せずに、ＦＩＦＯメモリ２５０から読み出された順番に、データをコンピュータ１００に送信する。よく知られているように、ＦＩＦＯメモリ２５０からは、先に格納されたデータが先に読み出される。従って、システムコントローラ２４０は、まず、先のデータＤｊを格納するＲＯＭ応答パケットＲｊを送信し、次に、後のデータＤｋを格納するＲＯＭ応答パケットＲｋを送信する。これらのパケットＲｊ、Ｒｋの送信は、図１１の例における応答パケットＲ１１、Ｒ１３の送信と同様に行われる。
【０１００】
一方、コンピュータ１００では、受信したパケットの識別ビットが「１１ｂ」に設定されているので、通信モジュール１５４は、受信データを管理モジュール１５６に供給する。管理モジュール１５６は、コマンドコードが「１０００１１ｂ」に設定されているので、受信データが、ＲＯＭリードコマンドの応答（ＲＯＭ応答）であると判断する。ここで、通信モジュール１５４は、受信した順番に、受信データ（ＲＯＭ応答）を管理モジュール１５６に供給する。また、ＲＯＭ応答パケットの送信順は、上述したように、元のＲＯＭリードコマンドの送信順と同じである。従って、ＲＯＭ応答にメモリアドレスが含まれていなくても、管理モジュール１５６は、送信したＲＯＭリードコマンドと、受信したＲＯＭ応答と、の対応関係を、ＲＯＭ応答の受信順に基づいて特定可能である。例えば、先に受信したデータＤｊは、先に発行したＲＯＭリードコマンドＣｊの応答であり、後に受信したデータＤｋは、後に発行したＲＯＭリードコマンドＣｋの応答であると、特定される。
【０１０１】
なお、ＬＵＴは、ＲＯＭ２５２の所定の複数のアドレスに渡って格納されている。そこで、管理モジュール１５６は、各アドレスに対するＲＯＭリードコマンドを発行することによってＬＵＴの全体を取得し、取得したＬＵＴを補正モジュール１５２に供給する。補正モジュール１５２は、供給されたＬＵＴ、すなわち、プロジェクタ２００の個体に固有なＬＵＴを利用してＶＴ補正を実行する。
【０１０２】
以上のように、第４実施例では、管理モジュール１５６とシステムコントローラ２４０とは、プロジェクタ２００のメモリ（レジスタ）のデータを読み出す処理に利用するパケットとして、アドレスを表す部分の長さが異なる２種類のパケットを利用している。すなわち、ＲＯＭ２５２からデータを読み出す場合には、図１２、図１３に示すように、２４ビットでアドレスを表すＲＯＭリードコマンド用のパケットが利用される。一方、レジスタからデータを読み出す場合には、図１０、図１１に示すように、８ビットでアドレスを表すリードコマンド用のパケットが利用される。従って、アドレス長が異なる複数種類のメモリ（レジスタ）がプロジェクタ２００に設けられている場合であっても、コンピュータ１００は、適切に、これらのメモリのアドレスを指定することができる。
【０１０３】
なお、管理モジュール１５６とシステムコントローラ２４０とは、このようなパケットの識別を、コマンドコードに基づいて行う。すなわち、コマンドコードがＲＯＭ２５２用の値（本実施例では「１０００１１ｂ」）に設定されている場合には、第８〜第３１ビットのデータがアドレスとして利用される。一方、コマンドコードが、レジスタ用の値（例えば、「００００１１ｂ」。図１０（Ａ））に設定されている場合には、第８〜第１５ビットのデータのみがアドレスとして利用され、第１６〜第３１ビットのデータは、アドレスとして利用されない。このように、管理モジュール１５６とシステムコントローラ２４０とは、パケット内の所定位置の情報（コマンドコード）に基づいて、パケットの識別（各ビットの意味の特定）を適切に行うことができる。
【０１０４】
また、第４実施例では、ＲＯＭのデータは、管理モジュール１５６に要求されたアドレス順に、システムコントローラ２４０によってコンピュータ１００に送信される。従って、管理モジュール１５６は、データを受信した順番に基づいて、受信したデータのアドレスを特定できる。その結果、プロジェクタ２００からコンピュータ１００にアドレスを送信せずに済むので、データ量を低減することが可能である。また、アドレス長が長い場合であっても、アドレスを省略することによって、１つのパケットでデータ全体を送信することが可能となる。その結果、１つのアドレスのデータを送信するために、データを複数のパケットに分割することや、パケット長（サイズ）を他の種類のパケットよりも長くすることを、防止できる。これにより、システムコントローラ２４０と管理モジュール１５６とによる通信処理が複雑化することを抑制できる。
【０１０５】
なお、管理モジュール１５６に要求された順番にデータを送信するためのプロジェクタ２００の構成としては、任意の構成を採用可能である。例えば、システムコントローラ２４０が、ＦＩＦＯメモリ２５０を利用せずに、送信順序を管理しつつ、ＲＯＭ２５２から読み出したデータをコンピュータ１００に送信してもよい。ただし、図１３に示すように、システムコントローラ２４０が、ＲＯＭリードコマンドを受信した順に、ＲＯＭ２５２に対してリード要求を発行し、ＲＯＭ２５２は、要求されたデータを順番にＦＩＦＯメモリ２５０に供給し、システムコントローラ２４０は、ＦＩＦＯメモリ２５０から読み出した順番に、データをコンピュータ１００に送信する構成を採用することが好ましい。こうすれば、システムコントローラ２４０は、データの送信順番を管理せずに済むので、システムコントローラ２４０の処理を簡略化することができる。また、システムコントローラ２４０がＦＩＦＯメモリ２５０からデータを取得するタイミングは任意に設定可能である。従って、ＲＯＭ２５２からＦＩＦＯメモリ２５０にデータが供給されている間に、システムコントローラ２４０は、他の処理（例えば、他のパケットの受信処理や、レジスタから取得したデータの送信処理）を実行することができる。これにより、プロジェクタ２００の応答に要する合計時間が過剰に長くなることを抑制できる。
【０１０６】
なお、ＲＯＭ２５２に格納するデータとしては、ＶＴ補正用のＬＵＴに限らず、コンピュータ１００によって利用される任意のデータを採用可能である。例えば、ガンマ補正に利用されるパラメータを格納してもよい。
【０１０７】
Ｅ．変形例：
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１０８】
変形例１：
上記各実施例において、各データのビット数は、任意に設定可能である。また、互いにアドレス長が異なる３種類以上のメモリ（レジスタ）を利用することとしてもよい。
【０１０９】
変形例２：
上記各実施例において、通信インターフェースとしては、ＵＳＢインターフェースに限らず、種々のインターフェースを採用可能である。例えば、ＩＥＥＥ１３９４インターフェースを採用してもよい。いずれの場合も、複数のパケットが受信側によって受信される順序が、それらのパケットが送信側によって送信された順序と同じであるようなインターフェースを採用することが好ましい。こうすれば、図１２、図１３に示す第４実施例と同様に、メモリのリードコマンドの応答からメモリのアドレスを省略することができる。
【０１１０】
変形例３：
図１０、図１１に示す第３実施例において、システムコントローラ２４０は、図１２、図１３に示すＲＯＭ応答と同様に、リードコマンドを受信した順番に応答パケットを送信することとしてもよい。この際、図１３に示す例と同様に、レジスタから読み出されたデータが一旦ＦＩＦＯメモリに格納されてもよく、また、システムコントローラ２４０が、送信順序を管理しつつ、レジスタから読み出したデータをコンピュータ１００に送信してもよい。ただし、アドレスと読み出したデータとの両方を１つのパケットに格納できる場合には、システムコントローラ２４０は、リードコマンドを受信した順番に拘わらずに、データの取得が完了した順番に、アドレスと読み出しデータとを含む応答パケットを送信することが好ましい。
【０１１１】
変形例４：
上記各実施例において、リードコマンドの対象となるレジスタが、システムコントローラ２４０に設けられていても良い。また、読み出されるデータとしては、制御対象の状態を表すデータに限らず、種々の状態を表すデータを採用可能である。例えば、ランプの合計点灯時間を読み出してもよい。この場合には、システムコントローラ２４０は、合計点灯時間を計測するタイマから読み出した時間データをコンピュータ１００に送信すればよい。
【０１１２】
また、システムコントローラ２４０によるプロジェクタ２００の制御方法としては、レジスタに制御データを書き込む方法に限らず、任意の方法を採用可能である。例えば、システムコントローラ２４０が、直接、ランプのスイッチを駆動してもよい。また、プロジェクタ２００に対して発行されるコマンドとしては、メモリへのデータ書き込みと、メモリからのデータ読み出しと、に限らず、種々のコマンドを採用可能である。例えば、ランプのスイッチを駆動させるコマンドを採用してもよい。この場合には、例えば、システムコントローラ２４０が、図４の第１コマンドＣ１や第２コマンドＣ２を受信したことに応じて、ランプのスイッチを駆動すればよい。また、ランプの温度センサ（図示せず）の測定結果を取得するコマンドを採用してもよい。この場合には、システムコントローラ２４０は、コマンドコードが所定の値に設定されたコマンドパケットを受信した場合には、温度センサの測定結果を取得し、取得した温度データをコンピュータ１００に送信すればよい。
【０１１３】
変形例５：
上記各実施例において、コンピュータ１００が、常に表示画面ＶＡの全体を表す画像データをプロジェクタ２００に送信することとしてもよい。この場合には、表示データのヘッダパケットから、位置を省略してもよい。また、画像サイズ（幅及び高さ）が固定値である場合には、ヘッダパケットを省略してもよい。ただし、図８、図９に示す第２実施例のように、表示データは、変化領域の位置及びサイズ（幅と高さ）を示す情報と変化領域の画像データとを含むことが好ましい。この理由は、変化領域に関するデータ（変化領域情報及びその画像データ）のみを転送すれば、転送すべきデータ量が少なくなるからである。
【０１１４】
変形例６：
上記各実施例では、データ処理装置としてプロジェクタ２００を採用したが、プロジェクタ２００に限らず、種々の画像出力装置を採用可能である。例えば、プリンタを利用してもよい。この場合も、図３と同じパケットフォーマットを利用可能である。この際、プリンタは、表示データを用いて印刷を行えばよい。
【０１１５】
また、画像出力装置に限らず、種々のデータ処理装置を採用可能である。例えば、データ供給装置から受信した音声データを加工する音声データ処理装置を採用してもよい。
【０１１６】
変形例７：
上記実施例においては、画像供給装置としてパーソナルコンピュータを用いていたが、この代わりに、他の種類のコンピュータ（モバイルコンピュータ、ハンドヘルドコンピュータ、ワークステーションなど）を用いるようにしても良い。また、これらコンピュータの他に、インターフェースを有するとともに、コンピュータと同様な機能を有する機器を用いるようにしても良い。そのような機器には、例えば、情報携帯端末や、携帯電話機や、メール端末や、ゲーム機や、セットトップボックスなどが含まれる。また、画像表示装置としては、プロジェクタ以外の種々の表示装置を使用することが可能である。
【０１１７】
変形例８：
上記実施例においてソフトウェアで実現されている機能の一部をハードウェアで実現してもよく、あるいは、ハードウェアで実現されている機能の一部をソフトウェアで実現してもよい。
【図面の簡単な説明】
【０１１８】
【図１】本発明の一実施例として画像表示システムの構成を示す説明図。
【図２】コンピュータ１００とプロジェクタ２００の内部構成を示すブロック図。
【図３】パケットのフォーマットを示す説明図。
【図４】コマンドパケットの一例を示す説明図。
【図５】コンピュータ１００がコマンドパケットをプロジェクタ２００に送信する様子を示す概略図。
【図６】表示データを説明する説明図。
【図７】コンピュータ１００が画像データをプロジェクタ２００に送信する様子を示す概略図。
【図８】第２実施例においてコンピュータ１００からプロジェクタ２００に送信される画像を示す説明図。
【図９】送信されるパケットの概略を示す説明図。
【図１０】リードコマンドとそのリードコマンドに対する応答パケットとを示す説明図。
【図１１】コンピュータ１００がリードコマンドを発行する様子を示す概略図。
【図１２】ＲＯＭリードコマンドとＲＯＭリードコマンドに対する応答パケットとを示す説明図。
【図１３】コンピュータ１００がＲＯＭリードコマンドを発行する様子を示す概略図。
【符号の説明】
【０１１９】
１０...画像表示システム
６０...表示画面
７０...投写表示画面
１００...コンピュータ（パーソナルコンピュータ）
１０２...ＣＰＵ
１０４...ＲＯＭ
１０６...ＲＡＭ
１０８...ハードディスクドライブ
１１０...入力部
１１２...ＵＳＢインターフェース部
１１４...ＶＲＡＭ
１１６...グラフィックコントローラ
１１８...表示デバイス
１２０...バス
１５０...キャプチャモジュール
１５２...補正モジュール
１５４...通信モジュール
１５６...管理モジュール
１７０...画像転送プログラム
２００...プロジェクタ
２１０...ＵＳＢインターフェース部
２１２...デマルチプレクサ
２３０...メモリコントローラ
２３２...フレームメモリ
２３４...液晶ドライバ
２３５...照明光学系
２３５Ｒ...レジスタ
２３６...液晶ライトバルブ
２３７...投写光学系
２４０...システムコントローラ
２５０...ＦＩＦＯメモリ
２５２...ＲＯＭ
２６０...ファンユニット
２６０Ｒ...レジスタ
３００...ＵＳＢケーブル
【図１】
2007264780.tif 000003
【図２】
2007264780.tif 000004
【図３】
2007264780.tif 000005
【図４】
2007264780.tif 000006
【図５】
2007264780.tif 000007
【図６】
2007264780.tif 000008
【図７】
2007264780.tif 000009
【図８】
2007264780.tif 000010
【図９】
2007264780.tif 000011
【図１０】
2007264780.tif 000012
【図１１】
2007264780.tif 000013
【図１２】
2007264780.tif 000014
【図１３】
2007264780.tif 000015