JP2007264780A - データ通信を利用した装置制御 - Google Patents

データ通信を利用した装置制御 Download PDF

Info

Publication number
JP2007264780A
JP2007264780A JP2006085922A JP2006085922A JP2007264780A JP 2007264780 A JP2007264780 A JP 2007264780A JP 2006085922 A JP2006085922 A JP 2006085922A JP 2006085922 A JP2006085922 A JP 2006085922A JP 2007264780 A JP2007264780 A JP 2007264780A
Authority
JP
Japan
Prior art keywords
data
command
packet
image
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006085922A
Other languages
English (en)
Inventor
Eiji Kaneko
英司 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006085922A priority Critical patent/JP2007264780A/ja
Priority to US11/674,509 priority patent/US7742051B2/en
Priority to CN201010242426.XA priority patent/CN101895449A/zh
Priority to CN200710091554.7A priority patent/CN101047693B/zh
Publication of JP2007264780A publication Critical patent/JP2007264780A/ja
Priority to US12/775,618 priority patent/US8203565B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2838Distribution of signals within a home automation network, e.g. involving splitting/multiplexing signals to/from different paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

【課題】種々の制御に対応するために通信が複雑化することを抑制できる技術を提供することを目的とする。
【解決手段】データ供給装置は、入力データとコマンドデータとのそれぞれを、共通固定長のパケットによってデータ処理装置に送信する。コマンドデータについては、パケットの識別部分がコマンドデータを示す所定のコマンド識別値に設定される。入力データについては、パケットの識別部分がコマンド識別値以外の値に設定される。データ処理装置は、受信パケットの識別部分がコマンド識別値に設定されている場合には、受信パケットの残余部分をコマンドデータとして利用し、識別部分がコマンド識別値とは異なる値に設定されている場合には、残余部分を入力データとして利用する。
【選択図】図2

Description

本発明は、データ通信を利用した装置制御に関するものである。
従来より、プロジェクタやプリンタ等の画像出力装置は、コンピュータに接続されて制御されている。画像出力装置に画像を出力させるために、コンピュータが、コマンドコード、パラメータ、データを、所定の順番に画像出力装置に送信する通信方式が提案されている(例えば、特許文献1参照)。
特開平11−338651号公報
ところで、ユーザの利便性向上のためには、画像の出力に限らず、種々の制御(例えば、プロジェクタのファンの駆動状態の制御)をコンピュータとの通信を介して行うことが好ましい。しかし、従来は、通信を介して種々の制御を行う場合には、種々の制御に対応するために通信が複雑化する場合が多かった。
なお、このような問題は、画像出力装置の制御を行う場合に限らず、種々のデータ処理装置の制御を行う場合に共通する問題であった。
本発明は、上記の課題を解決するためになされたものであり、種々の制御に対応するために通信が複雑化することを抑制できる技術を提供することを目的とする。
上述の課題の少なくとも一部を解決するため、本発明の第1の態様に係るデータ処理装置は、データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置であって、前記データ供給装置との通信を制御する通信制御部と、前記データ供給装置から受信した入力データに応じて前記データ処理を実行するデータ処理部と、前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行する装置制御部と、を備え、前記通信制御部は、前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ供給装置から受信するとともに、(a1)前記データ供給装置から受信した受信パケットの内部の所定位置の識別部分が、前記コマンドデータを示す所定のコマンド識別値に設定されている場合には、前記受信パケットに含まれるデータを前記装置制御部に供給し、(a2)前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットに含まれるデータを前記データ処理部に供給し、前記装置制御部は、前記受信パケットの内部の前記識別部分を除く残余部分を前記コマンドデータとして利用し、前記データ処理部は、前記残余部分を前記入力データとして利用する。
このデータ処理装置によれば、入力データとコマンドデータとのそれぞれが共通固定長のパケットによって受信されるので、通信処理の簡素化を図ることができる。また、パケットの内部の所定位置の識別部分の値に基づいて、そのパケットに格納されたデータ種類の識別が可能であるので、入力データとコマンドデータとを適切に使い分けることが可能である。従って、種々の制御に対応するために通信が複雑化することを抑制することが可能となる。
上記データ処理装置において、前記入力データは、画像のサイズ情報を含むヘッダデータと、前記画像を表す画像データと、を含む表示データであり、前記データ処理部は、前記所定の処理として、前記表示データに基づいて前記画像を出力する処理を実行し、前記データ処理部は、前記ヘッダデータを含むヘッダパケットと、前記画像データを分割して格納する複数の画像パケットと、のそれぞれを受信することによって、前記表示データの全体を取得し、前記データ処理部は、(b1)前記識別部分が前記ヘッダデータを示す所定のヘッダ識別値に設定されている場合には、前記残余部分を前記ヘッダデータとして利用し、(b2)前記識別部分が続き有りの画像データを示す所定の継続画像識別値に設定されている場合には、前記残余部分を前記画像データとして利用し、(b3)前記識別部分が最後の画像データを示す所定の最後画像識別値に設定されている場合には、前記残余部分を前記画像データとして利用するとともに、前記画像データの全体を受信したと判断することとしてもよい。
この構成によれば、ヘッダデータと、画像データと、のそれぞれが、固定長のパケットによって受信されるので、通信処理の簡素化を図ることができる。また、画像データが分割して受信される場合であっても、識別部分の値に基づいて、続き有りの画像データと最後の画像データとの区別が可能であるので、画像データの全体の受信完了を適切に判断できる。
上記データ処理装置において、前記データ処理部は、前記画像の出力処理として、前記画像を表示画面に表示する処理を実行し、前記ヘッダデータは、さらに、前記表示画面内における前記画像の位置情報を含み、前記データ処理部は、前記表示画面内の部分画像であって位置が互いに異なるn個(nは2以上の整数)の部分画像をそれぞれ表すn個の表示データを1つずつ順番に受信することによって、前記表示画面の内の前記n個の部分画像の全てが更新された画像を前記表示画面に表示し、前記データ処理部は、前記ヘッダパケットを受信するとともに、前記ヘッダパケットの後に複数の前記画像パケットの全てを受信することによって、1つの表示データの全体を取得し、前記データ処理部は、(c1)最初のn−1個の表示データのそれぞれについては、1つの表示データの複数の画像パケットの全てを、前記識別部分が前記継続画像識別値に設定されている画像パケットとして受信するとともに、次の表示データのヘッダパケットを受信することによって全ての画像パケットの受信が完了したと判断し、(c2)最後のn番目の表示データについては、最後の画像パケットを除く他の全ての画像パケットを、前記識別部分が前記継続画像識別値に設定されている画像パケットとして受信し、最後の画像パケットを、前記識別部分が前記最後画像識別値に設定されている画像パケットとして受信するとともに、前記最後の画像パケットを受信することによって、前記最後のn番目の表示データの全ての画像パケットの受信と、全ての表示データの受信とが完了したと判断することとしてもよい。
この構成によれば、複数の部分画像を受信する場合であっても、1つずつ順番に各部分画像の表示データが受信され、さらに、各表示データの最初には、画像パケットと区別可能なヘッダパケットが受信されるので、各表示データの識別を適切に行うことができる。また、最後の表示データの最後の画像パケットの識別部分のみが最後画像識別値に設定されるので、全ての表示データの受信が完了したことを適切に判断することができる。
上記各データ処理装置において、さらに、前記データ供給装置に送信するためのデータをアドレスが異なる複数の記憶部分に格納するメモリを備え、前記メモリは、第1アドレス長を有する第1メモリと、前記第1アドレス長よりも長い第2アドレス長を有する第2メモリと、を含み、前記コマンドデータは、前記第1メモリのデータを読み出すための第1リードコマンドデータと、前記第2メモリのデータを読み出すための第2リードコマンドデータと、を含む複数種類のコマンドデータの中から設定され、前記装置制御部は、(d1)前記受信パケットの前記残余部分の内の所定位置の部分であるコマンド部分が前記第1リードコマンドデータを示す所定の第1リード識別値に設定されている場合には、前記受信パケットの前記識別部分と前記コマンド部分とを除いた残りの部分の内の所定位置の前記第1アドレス長の第1アドレス部分をリードの対象アドレスとして利用し、(d2)前記コマンド部分が前記第2リードコマンドデータを示す所定の第2リード識別値に設定されている場合には、前記受信パケットの前記識別部分と前記コマンド部分とを除いた残りの部分の内の所定位置の前記第2アドレス長の第2アドレス部分をリードの対象アドレスとして利用することとしてもよい。
この構成によれば、コマンド部分の値に基づいて、パケットに格納されたデータ長の異なるアドレスの識別が可能であるので、アドレス長が異なる第1メモリと第2メモリとからデータを読み出す場合であっても、データ長の異なるアドレスを適切に使い分けることが可能である。
上記データ処理装置において、前記装置制御部は、前記各リードコマンドデータを受信したことに応じて、受信したリードコマンドデータで指定されたメモリのアドレスに格納された対象データを、前記固定長のパケットによって前記データ供給装置に送信するとともに、前記対象データを送信する前に、新たな前記各リードコマンドデータを受信可能であり、前記装置制御部は、(e1)前記第1リードコマンドデータに対する応答として、前記識別部分と前記コマンド部分と前記第1アドレス部分とが元の前記第1リードコマンドデータと同じ値に設定されるとともに、残りの部分に前記対象データが格納された第1データパケットを送信し、(e2)前記第2リードコマンドデータに対する応答として、前記識別部分と前記コマンド部分とが元の前記第2リードコマンドデータと同じ値に設定されるとともに、残りの部分に前記対象データが格納され、さらに、前記対象アドレスを含まない第2データパケットを送信し、
前記通信制御部による前記データ供給装置との通信では、複数のパケットが受信側によって受信される順序は、前記複数のパケットが送信側によって送信された順序と同じであり、前記装置制御部は、先に受信した前記第2リードコマンドデータに対する応答を送信する前に、新たな前記第2リードコマンドデータを受信した場合には、前記後の第2リードコマンドデータの応答を送信する前に前記先の第2リードコマンドデータの応答を送信し、その後、前記後の第2リードコマンドデータの応答を送信することとしてもよい。
この構成によれば、アドレス長の比較的短い第1リードコマンドデータに対しては、識別部分とコマンド部分と第1アドレス部分とが元の第1リードコマンドデータと同じで、残りの部分に対象データが格納された第1データパケットが送信されるので、データ供給装置は、受信した対象データと、送信した第1リードコマンドデータと、の対応関係を容易に特定できる。また、アドレス長の比較的長い第2リードコマンドデータに対する第2データパケットでは、アドレスが省略されるので、対象データを1つの第2データパケットに格納することが可能となる。また、後の第2リードコマンドデータの応答が送信される前に先の第2リードコマンドデータの応答が送信されるので、データ供給装置は、受信した対象データと、送信した第2リードコマンドデータと、の対応関係を、対象データを受信した順番に基づいて容易に特定することができる。
上記データ処理装置において、さらに、前記第2メモリから読み出された前記対象データを格納するとともに格納した前記対象データを前記装置制御部に供給する先入先出メモリを備え、前記装置制御部は、前記先の第2リードコマンドデータに基づく前記第2メモリからの読み出し要求を先に発行し、その後、前記後の第2リードコマンドデータに基づく前記第2メモリからの読み出し要求を発行し、前記装置制御部は、前記各読み出し要求によって読み出された対象データを前記先入先出メモリから取得し、前記取得した対象データのアドレスを確認せずに、前記先入先出メモリから取得した順番に、前記取得した対象データを含む前記第2データパケットを送信することとしてもよい。
この構成によれば、装置制御部は、第2メモリから読み出された対象データの送信順の管理をせずに済むので、装置制御部によって実行される処理の簡素化を図ることができる。
また、本発明の第2の態様に係る通信方式は、データ供給装置と、前記データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置と、の間の通信方式であって、前記データ処理装置は、前記データ供給装置から受信した入力データに応じて前記データ処理を実行するとともに、前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行し、前記データ供給装置は、前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ処理装置に送信するとともに、(a)前記コマンドデータを送信する場合には、前記パケットの内部の所定位置の識別部分を、前記コマンドデータを示す所定のコマンド識別値に設定するとともに、前記パケットの内部の前記識別部分を除く残余部分に前記コマンドデータを格納し、(b)前記入力データを送信する場合には、前記識別部分を前記コマンド識別値とは異なる値に設定するとともに、前記残余部分に前記入力データを格納し、前記データ処理装置は、(c)前記データ供給装置から受信した受信パケットの前記識別部分が、前記コマンド識別値に設定されている場合には、前記受信パケットの前記残余部分を前記コマンドデータとして利用し、(d)前記受信パケットの前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットの前記残余部分を前記入力データとして利用する。
この通信方式によれば、入力データとコマンドデータとのそれぞれが共通固定長のパケットによって転送されるので、通信処理の簡素化を図ることができる。また、パケットの内部の所定位置の識別部分の値に基づいて、そのパケットに格納されたデータ種類の識別が可能であるので、入力データとコマンドデータとを適切に使い分けることが可能である。従って、種々の制御に対応するために通信が複雑化することを抑制することが可能となる。
なお、本発明は種々の形態で実現することが可能であり、例えば、データ処理システム、データ処理システムを構成するデータ供給装置及びデータ処理装置、これらの装置間における通信方法及び通信方式、データ供給方法及びデータ処理方法、それら方法又は装置を実現するためのコンピュータプログラム、それらのコンピュータプログラムを記録した記録媒体などの種々の態様で実現することが可能である。また、データ処理としては、画像出力や画像表示等の種々の処理を採用可能である。
次に、この発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
B.第2実施例:
C.第3実施例:
D.第4実施例:
E.変形例:
A.第1実施例:
図1は本発明の一実施例として画像表示システムの構成を示す説明図である。本実施例の画像表示システム10は、画像供給装置としてのパーソナルコンピュータ100と、画像表示装置としてのプロジェクタ200と、コンピュータ100とプロジェクタ200とをつなぐUSBケーブル300と、を備えている。コンピュータ100は、USBケーブル300を介して画像をプロジェクタ200供給して、プロジェクタ200に画像を投写させて投写表示画面70(スクリーン)に表示させる機能を有している。
図2は、コンピュータ100とプロジェクタ200の内部構成を示すブロック図である。コンピュータ100は、CPU102と、ROM104と、汎用メモリ(「システムメモリ」とも呼ぶ)としてのRAM106と、ハードディスクドライブ108と、キーボードやポインティングデバイスなどで構成される入力部110と、USBインターフェース部112と、フレームメモリとしてのVRAM114と、グラフィックコントローラ116と、液晶ディスプレイなどの表示デバイス118と、これら各要素を接続するバス120と、を備えている。入力部110は、ユーザの指示を受け取り、受け取った指示をコンピュータ100の各構成要素に供給する。
RAM106には、画像転送プログラム170と、通信モジュール154と、管理モジュール156と、を含む各種コンピュータプログラムが格納されている。画像転送プログラム170は、キャプチャモジュール150と、補正モジュール152と、を含んでいる。このような各種コンピュータプログラムは、フレキシブルディスクやCD−ROM等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。
一方、プロジェクタ200は、USBインターフェース部210と、デマルチプレクサ212と、メモリコントローラ230と、フレームメモリ232と、液晶ドライバ234と、ランプを有する照明光学系235と、液晶ライトバルブ236(「液晶パネル」とも呼ばれる)と、投写光学系237と、システムコントローラ240と、ROM252と、FIFO(First-in First out)メモリ250と、冷却装置としてのファンユニット260と、を備えている。
コンピュータ100の通信モジュール154と、プロジェクタ200のデマルチプレクサ212とは、USBインターフェース部112、210をそれぞれ制御し、USBプロトコルを利用することによってデータ通信を行う。このデータ通信は、固定長のパケットを交換することによって行われる。画像転送プログラム170は、通信モジュール154を制御することによって、表示データ(画像データを含む)をプロジェクタ200に送信する。また、管理モジュール156は、通信モジュール154を制御することによって、コマンドデータをプロジェクタ200に送信する。表示データとコマンドデータとは、パケット内の所定位置の一部のビット情報に基づいて区別される(詳細は後述)。
デマルチプレクサ212は、表示データ用のパケットを受信した場合には、受信したデータをメモリコントローラ230に供給する。メモリコントローラ230は、受信したデータに含まれる画像データをフレームメモリ232に展開する。そして、メモリコントローラ230は、フレームメモリ232に格納された画像データを液晶ドライバ234に供給する。液晶ドライバ234は、供給された画像データに応じて液晶ライトバルブ236を制御する。液晶ライトバルブ236は、照明光学系235から射出された照明光を変調する。投写光学系237は、液晶ライトバルブ236によって変調された投写光を投写表示画面70に投写する。これにより、投写表示画面70に画像が投写表示される。
デマルチプレクサ212は、コマンドデータ用のパケットを受信した場合には、受信したデータをシステムコントローラ240に供給する。システムコントローラ240は、受信したコマンドデータに応じて、プロジェクタ200の各構成要素を制御する。なお、第1実施例では、プロジェクタ200の構成要素の内の一部は、その構成要素に設けられたレジスタ(メモリ)に格納されたデータ値に基づいて動作する。システムコントローラ240は、レジスタに制御データを書き込むことによって、各構成要素を制御する。図2の例では、照明光学系235とファンユニット260とが、レジスタ235R、260Rを、それぞれ有している。照明光学系235とファンユニット260とは、図示しない制御装置を含み、その制御装置は、レジスタの値に応じた制御を行う。例えば、ファンユニット260のレジスタ260Rに、駆動を意味するデータが書き込まれた場合に、ファンユニット260は駆動を開始する。逆に、このレジスタ260Rに、停止を意味するデータが書き込まれた場合に、ファンユニット260は停止する。
なお、デマルチプレクサ212とメモリコントローラ230とシステムコントローラ240とは、論理回路によって構成されている。
図3は、通信モジュール154とデマルチプレクサ212との間で交換されるパケットのフォーマットを示す説明図である。図3(A)は、コマンドデータ用のパケットを示し、図3(B)(C)(D)は、表示データ用のパケットを示している。画像データを送信する場合には、最初にヘッダパケット(図3(B))が送信され、続けて、画像データパケット(図3(C)(D))が送信される。画像データは複数のパケットに分割して順番に送信される。図3(C)は、途中の画像データパケットを示し、図3(D)は、最後の画像データパケットを示している。
図示するように、第1実施例では、いずれのパケットの長さ(サイズ)も32ビットである。また、32ビットの内の最初の2つのビット(第0ビットと第1ビット)は、パケット種類の識別子である。コマンドパケット(図3(A))では、この識別ビットの値が「11b(bは2進表記を意味する。以下同様)」に設定され、ヘッダパケット(図3(B))では「01b」に設定され、途中の画像データパケット(図3(C))では「00b」に設定され、最後の画像データパケット(図3(D))では「10b」に設定される。すなわち、「00b」は、画像データパケットがさらに続くことを意味し、「10b」は、画像データパケットの終わりを意味する。
図3(A)に示すように、コマンドパケットの内の、第2〜第7ビットはコマンドコードを示し、第8〜第15ビットはアドレスを示し、第16〜第23ビットは制御データの下位部分を示し、第24〜第31ビットは制御データの上位部分を示している。このコマンドパケットは、プロジェクタ200の構成要素のレジスタに制御データを書き込むためのパケットである。コマンドコードは、制御対象の構成要素に固有なコード番号に設定される。アドレスは、レジスタに固有なレジスタアドレスに設定される。1つの構成要素に、複数のレジスタが設けられている場合には、レジスタアドレスは、1つの構成要素内においてレジスタ毎に異なるように設定される。ただし、異なる構成要素間では、レジスタアドレスが重なっていてもよい。
図4は、コマンドパケットの一例を示す説明図である。図中には、第1〜第6の6つのコマンドC1〜C6が示されている。コマンドコードが「000010b」に設定されたコマンドC1〜C4は、照明光学系235のランプを制御するコマンドである。これらの内、アドレスが「00h(hは16進表記を意味する。以下同様)」に設定されたコマンドC1、C2は、ランプの点灯状態を制御するコマンドである。ここで、制御データが「0000h」に設定された第1コマンドC1は、ランプを消灯させるコマンドであり、制御データが「00001h」に設定された第2コマンドC2は、ランプを点灯させるコマンドである。
一方、これらのコマンドC1〜C4の内、アドレスが「01h」に設定されたコマンドC3、C4は、ランプの輝度を制御するコマンドである。第1実施例では、ランプの輝度を「高輝度」と「低輝度」との2段階に切り替えることができる。ここで、制御データが「0000h」に設定された第3コマンドC3は、ランプの輝度を「低輝度」に設定するコマンドであり、制御データが「0001h」に設定された第4コマンドC4は、ランプの輝度を「高輝度」に設定するコマンドである。
また、コマンドコードが「000020b」に設定されたコマンドC5、C6は、ファンユニット260(図2)を制御するコマンドである。ここで、アドレスが「05h」に設定されていることは、ファンユニット260の駆動状態を制御することを意味している。制御データが「0000h」に設定された第5コマンドC5は、ファンユニット260を停止させるコマンドであり、制御データが「0001h」に設定された第6コマンドC6は、ファンユニット260を駆動させるコマンドである。
図5は、コンピュータ100がコマンドパケットをプロジェクタ200に送信する様子を示す概略図である。図5では、コンピュータ100の構成要素として、USBインターフェース部112と、通信モジュール154と、管理モジュール156と、のみが示されており、他の構成要素は図示が省略されている。また、プロジェクタ200の構成要素として、USBインターフェース部210と、デマルチプレクサ212と、システムコントローラ240と、照明光学系235と、のみが示されており、他の構成要素は図示が省略されている。
図5には、第1コマンドC1が発行される場合が示されている。まず、管理モジュール156は、第1コマンドC1を定めるデータ(識別ビットと、コマンドコードと、アドレスと、制御データ)を通信モジュール154に供給する。通信モジュール154は、管理モジュール156から受け取ったデータを利用することによって第1コマンドC1を生成し、USBプロトコルに従って第1コマンドC1をプロジェクタ200に送信する。
一方、プロジェクタ200では、デマルチプレクサ212が、USBインターフェース部210を介してパケットを受信する。デマルチプレクサ212は、受信したパケットの識別ビットが「11b」に設定されている場合には、受信したデータをシステムコントローラ240に供給する。システムコントローラ240は、受信したデータに含まれるコマンドコードとアドレスとによって特定されるレジスタに、受信データに含まれる制御データを書き込む。図5の例では、第1コマンドC1によって、照明光学系235のレジスタ235Rの内のアドレスが「00h」であるレジスタが選択される。そして、選択されたレジスタに、制御データ「0001h」が書き込まれる。この制御データ「0001h」は、点灯を意味している。従って、照明光学系235は、ランプを点灯させる。
他のコマンドが発行された場合も、同様に、システムコントローラ240は、受信したコマンドに応じた制御を実行する。なお、管理モジュール156は、ユーザの指示に応じて各コマンドを発行してもよく、あるいは、自動的に各コマンドを発行してもよい。自動的にコマンドを発行するための条件としては、任意の条件を採用可能である。例えば、プロジェクタ200がコンピュータ100に接続されたことを検知したことに応じて、第1コマンドC1を発行してもよい。
図6は、表示データを説明する説明図である。図中には、プロジェクタ200による表示画面VAが示されている。第1実施例では、表示画面VAの幅(x方向ピクセル数)が1024ピクセルで、高さ(y方向ピクセル数)が768ピクセルであることとしている。また、表示画面VAは複数の画像ブロックIBに分割されている。1つの画像ブロックIBの幅は8ピクセルであり、高さは4ピクセルである。従って、表示画面VA内には、x方向に沿って128個の画像ブロックIBが並び、y方向に沿って193個の画像ブロックIBが並ぶこととなる。また、表示画面VA内の各画像ブロックIBには、x方向の位置を示すX番号Xnと、y方向の位置を示すY番号Ynとが割り振られている。X番号Xnは、0〜127の整数に設定され、Y番号Ynは、0〜192の整数に設定される。
画像データの送信は、これらの画像ブロックIBで構成された矩形領域を対象として行われる。このような矩形領域の画面内の位置とサイズ(高さと幅)とが、ヘッダパケット(図3(B))に設定される。画面内の位置は、矩形領域の基準ブロック(例えば、左上角の画像ブロックIB)のX番号Xn及びY番号Ynによって表される。また、サイズ(高さ及び幅)は、画像ブロックIBの数で表される。図3(B)の例では、第2〜第8ビットは基準ブロックのX番号Xnを示し、第9〜第15ビットは矩形領域の「幅−1(ブロック数)」を示し、第16〜第23ビットは基準ブロックのY番号Ynを示し、第24〜第31ビットは矩形領域の「高さ−1(ブロック数)」を示している。なお、本実施例では、基準ブロックとして左上角の画像ブロックIBが用いられる。
図6には、矩形領域の一例が示されている。この矩形領域PAは、表示画面VAの内の一部の領域を示している。幅は3ブロックであり、高さは2ブロックである。また、左上のブロックのX番号Xnは1であり、Y番号Ynは2である。図6には、このような領域PAを表すヘッダパケットPAHも示されている。このヘッダパケットPAHでは、X番号Xnが「1d(dは10進表記を意味する。以下同様)」に設定され、Y番号Ynが「2d」に設定されている。また、「幅−1」が「2d」に設定され、「高さ−1」が「1d」に設定される。
なお、「X番号Xn」と「幅−1」とには、ヘッダパケットの内の7ビットがそれぞれ割り当てられている。この理由は、「X番号Xn」は0〜127の範囲内であり、その結果、「幅−1」も0〜127の範囲内であるので、いずれも、7ビットで表現可能だからである。一方、「Y番号Yn」と「高さ−1」とには、ヘッダパケットの内の8ビットがそれぞれ割り当てられている。この理由は、「Y番号Yn」は0〜192の範囲内であり、その結果、「高さ−1」も0〜192の範囲内であるので、いずれも、8ビットで表現可能だからである。このように、矩形領域の位置とサイズとを画像ブロックIBを基準にして表すことによって、位置とサイズを表すための情報量(ビット数)を低減できる(例えば、ピクセルを基準とする場合には、x方向の位置(0〜1023)を表すために10ビットが必要になる)。これにより、矩形領域の位置とサイズとを、1つのパケットによって表すことができる。なお、「幅」と「高さ」との代わりに「幅−1」と「高さ−1」とを利用する理由は、情報量を低減するためである。また、表示画面VAのサイズと画像ブロックIBのサイズとのそれぞれとしては、図6に示すサイズ以外種々のサイズを採用できる。いずれの場合も、矩形領域の位置とサイズとを、1つのパケットによって表すことができるように、画像ブロックIBのサイズを設定することが好ましい。
図7は、コンピュータ100が画像データをプロジェクタ200に送信する様子を示す概略図である。図7では、コンピュータ100の構成要素として、USBインターフェース部112と、通信モジュール154と、補正モジュール152と、キャプチャモジュール150と、のみが示されており、他の構成要素は図示が省略されている。また、プロジェクタ200の構成要素として、USBインターフェース部210と、デマルチプレクサ212と、メモリコントローラ230と、フレームメモリ232と、液晶ドライバ234と、液晶ライトバルブ236と、のみが示されており、他の構成要素は図示が省略されている。
図7には、表示画面VAの全体が送信される場合が示されている。まず、キャプチャモジュール150は、表示用の画像データを取得する。画像データの取得方法としては、任意の方法を採用可能である。例えば、コンピュータ100の表示デバイス118(図2)に表示されている画像と同じ画像をプロジェクタ200に表示させる場合には、VRAM114から画像データを取得してもよい。また、描画に関するアプリケーションプログラムインタフェース(API:Application Program Interface)を利用して、画像データを取得してもよい。また、特定のアプリケーションプログラムによって描画される画像のみをプロジェクタ200に表示させてもよい。この場合には、そのアプリケーションプログラムから画像データを取得すればよい。また、そのアプリケーションプログラムによって発行された描画命令をフックして(横取りして)、その描画命令に従った画像データを生成してもよい。なお、APIとは、一般に、アプリケーションプログラムがオペレーティングシステムの持つ様々な機能を利用するための手続きの集まりを言う。
次に、キャプチャモジュール150は、取得した画像データを補正モジュール152に供給する。補正モジュール152は、供給された画像データに対して所定の補正処理を実行する。第1実施例では、VT(印加電圧V−光透過率T)補正が実行される。VT補正は、液晶ライトバルブ236に固有な非線形な入出力特性に応じて画像データ(例えば、RGBの各色成分の階調値)を補正する処理である。なお、補正処理としては、VT補正に限らず、任意の処理を採用可能である。例えば、VT補正とスケーリング処理(拡大または縮小処理)とコントラスト補正とガンマ補正との中から任意に選択された処理を採用してもよい。
次に、補正モジュール152は、通信モジュール154を制御することによって、補正済みの画像データをプロジェクタ200に送信する。図7には、コンピュータ100からプロジェクタ200に送信されるパケットが示されている。補正モジュール152は、まずヘッダパケットHPを送信し、続いて、786432個の画像データパケットDP1〜DP786432を、順番に送信する。
図7に示すヘッダパケットHPでは、X番号Xnが「0d」に設定され、Y番号Ynが「0d」に設定されている。また、「幅−1」が「127d」に設定され、「高さ−1」が「192d」に設定されている。補正モジュール152は、これらのデータと識別ビットとを通信モジュール154に供給する。通信モジュール154は、補正モジュール152から受け取ったデータを利用することによってヘッダパケットHPを生成し、USBプロトコルに従ってヘッダパケットHPをプロジェクタ200に送信する。
次に、補正モジュール152は、画像データパケットを送信する。第1実施例では、補正後の画像データでは、1つのピクセルの画素値が、RGBの各色成分の階調値で表されている。そして、各色成分の階調値は10ビットで表されている。1つの画像データパケットには、1つのピクセルの画素値が格納される。図3(C)、図3(D)に示すように、画像データパケットの内の、第2〜第7ビットは、RGB各色成分の第0及び第1ビットの値を示し、第8〜第15ビットはB成分の第2〜第9ビットの値を示し、第16〜第23ビットはG成分の第2〜第9ビットの値を示し、第24〜第31ビットはR成分の第2〜第9ビットの値を示している。なお、各色成分の10ビットが、2ビットと8ビットに分かれている理由は、補正モジュール152やメモリコントローラ230が、8ビット単位でのデータ処理を高速に行うことができるからである。ただし、各色成分の階調値が画像データパケット内の連続な10ビットで表されていても良い。また、各色成分のビット数は、10でなくてもよい。例えば、各色成分が8ビットで表されていても良い。この場合には、パケットの内の第8〜第31ビットを、各色成分の階調値用のビットとして利用すればよい。そして、第2〜第7ビットを、他の目的に利用してもよい。
上述したように、図7の例では、表示画面VAの全体が送信される。従って、補正モジュール152は、786432(1024*768)個の画像データパケットD1〜D786432を送信する。送信されるピクセルの順番は、所定の順番に設定される。例えば、x方向に延びる複数のラインについては、上のラインから順番に送信される。また、1つのライン内の複数のピクセルについては、左のピクセルから順番に送信される。
補正モジュール152は、各ピクセルの画像データ(画素値データ)と識別ビットとを通信モジュール154に供給する。通信モジュール154は、補正モジュール152から受け取ったデータを利用することによって画像データパケットを生成し、USBプロトコルに従って画像データパケットをプロジェクタ200に送信する。なお、識別ビットが「10b」に設定されるのは、最後に送信される画像データパケットDP786432のみである。
一方、プロジェクタ200では、デマルチプレクサ212が、USBインターフェース部210を介してパケットを受信する。デマルチプレクサ212は、受信したパケットの識別ビットが「11b」とは異なる値に設定されている場合には、受信したデータをメモリコントローラ230に供給する。その結果、ヘッダパケットHPと、786432個の画像データパケットDP1〜DP786432とが、受信された順番に、メモリコントローラ230に供給される。
メモリコントローラ230は、受信した画像データをフレームメモリ232に格納する。この際、各ピクセルの画面内の位置は、ヘッダパケットHPのデータ値に従って、決定される。そして、メモリコントローラ230は、最後のピクセルの画像データ(識別ビットの値が「10b」)をフレームメモリ232に格納したことに応じて、液晶ドライバ234に対する新たな画像データの供給を開始する。この結果、プロジェクタ200は、コンピュータ100から送信された新たな画像を表示することができる。
なお、第1実施例では、フレームメモリ232は、表示中の画像データを格納する表示用記憶領域と、更新用の画像データを格納する更新用記憶領域と、の2画面分の記憶領域を有している。メモリコントローラ230は、受信した画像データを更新用記憶領域に格納する。そして、メモリコントローラ230は、更新用の画像データの格納を完了したら、更新用記憶領域を新たな表示用記憶領域として利用し、この新表示用記憶領域に格納された画像データを液晶ドライバ234に供給する。そして、メモリコントローラ230は、旧表示用記憶領域を新たな更新用記憶領域として利用する。このような記憶領域の切り替えは、識別ビットが「10b」に設定されたパケットの画像データの格納が完了したことに応じて行われる。
ただし、フレームメモリ232が、1画面分の記憶領域のみを有することとしてもよい。この際、あるピクセルの画像データの格納(更新)前に、そのピクセルの画像データの読み出しを行うと、不具合(例えば、画像の乱れ)が生じる可能性がある。そこで、メモリコントローラ230は、不具合が生じないように、フレームメモリ232に対する画像データの格納と読み出しとの調停を行うことが好ましい。調停の方法としては、周知の種々の方法を採用可能である。
以上説明した、コンピュータ100による画像データの取得と、取得された画像データの転送と、プロジェクタ200による画像の表示と、の一連の処理は、繰り返し実行される。これにより、プロジェクタ200によって表示される画像は、繰り返し更新される。
以上のように、第1実施例では、コンピュータ100からプロジェクタ200に送信されるパケットのサイズが固定されているので(データ長が32ビット)、可変長パケットを利用する場合と比べて、通信処理の簡素化を図ることができる。特に、第1実施例では、コマンド(図3(A))が1つのパケットで送信されるので、さらに、通信処理の簡素化を図ることができる。また、パケット内部の所定位置の識別ビットの値に基づいて他のビットの意味が特定されるので、表示データと種々のコマンドとを適切に使い分けることが可能である。
また、第1実施例では、識別ビットの値に基づいて、途中の画像データパケット(図3(C))と最後の画像データパケット(図3(D))とが区別されるので、メモリコントローラ230は、画像データの全体の受信の完了を適切に判断できる。
B.第2実施例:
図8は、第2実施例において、コンピュータ100からプロジェクタ200に送信される画像を示す説明図である。第1実施例との差違は、表示画面VAの内の変化領域のみが、コンピュータ100からプロジェクタ200に送信される点である。装置の構成は、図1、図2に示す第1実施例と同じである。
図8には、2つの変化領域MARa、MARbが示されている。キャプチャモジュール150(図2)は、このような変化領域のみをキャプチャしてプロジェクタ200に送信する。変化領域を表す画像の取得方法としては、任意の方法を採用可能である。例えば、キャプチャモジュール150が、VRAM114を監視し続けることによって、変化した領域を検出してもよい。この場合には、キャプチャモジュール150は、VRAM114から変化領域の画像データを取得すればよい。また、図示しないアプリケーションプログラムによって発行された描画命令の内、画面の一部を描画するものをフックして、その描画命令に従った画像データを生成してもよい。いずれの場合も、本実施例では、キャプチャモジュール150は、変化した部分を含む矩形形状の画像を取得することとしている。
キャプチャモジュール150(図2)によって取得された画像データは、第1実施例と同様に、補正モジュール152によって補正される。そして、補正後の画像データは、通信モジュール154によってプロジェクタ200に送信される。
図9は、送信されるパケットの概略を示す説明図である。図9には、図8に示す2つの変化領域MARa、MARbが転送される場合が示されている。図9の例では、最初に第1変化領域MARaのパケットが送信され、続けて第2変化領域MARbのパケットが送信されている。第1変化領域MARaのためのパケットは、ヘッダパケットHPaと、m個(mは1以上の整数)の画像データパケットDPa1〜DPamとを含んでいる。第2変化領域MARbのためのパケットは、ヘッダパケットHPbと、n個(nは1以上の整数)の画像データパケットDPb1〜DPbnとを含んでいる。補正モジュール152は、複数の変化領域を1つずつ順番に続けて送信する。また、補正モジュール152は、各変化領域のパケットを、図7の例と同様に、ヘッダパケット−画像データパケットの順番に続けて送信する。
これらのパケットのデータ値は、図7の例と同様に設定される。ただし、第1変化領域MARaの最後の画像データパケットDPamの識別ビットは「10b」ではなく「00b」に設定される。この理由は、画像データパケットがさらに続くからである。最後の変化領域MARbの最後の画像データパケットDPbnの識別ビットは「10b」に設定される。この理由は、このパケットが、最後の画像データパケットだからである。
一方、プロジェクタ200では、上述の第1実施例と同様に、メモリコントローラ230が、各パケットを受信し、受信した画像データをフレームメモリ232に格納する。この際、メモリコントローラ230は、第1ヘッダパケットHPaの後、次の第2ヘッダパケットHPbを受信するまでの間に受信した全てのm個の画像データパケットを、第1ヘッダパケットHPaによって定められる領域の画像データとして利用する。また、第2ヘッダパケットHPbの後には、新たなヘッダパケットは受信されていない。ただし、第2ヘッダパケットHPbの後の最後の画像データパケットDPbnの識別ビットは「10b」に設定されている。従って、メモリコントローラ230は、第2ヘッダパケットHPbの後から、この最後の画像データパケットDPbnまでの全てのn個の画像データパケットを、第2ヘッダパケットHPbによって定められる領域の画像データとして利用する。
また、メモリコントローラ230は、識別ビットが「10b」に設定された画像データパケットDPbnを受信することによって、全ての変化領域の表示データの受信が完了したと判断することができる。これにより、メモリコントローラ230は、変化領域の全ての画像データを液晶ドライバ234に供給することができる。この結果、プロジェクタ200は、図8に示すような、変化領域が更新された画像を表示することができる。
なお、本実施例では、画面内の変化領域以外の部分(以下「非変化領域」と呼ぶ)の画像データについては、更新されずに維持される。ここで、フレームメモリ232が、表示用記憶領域と更新用記憶領域との2画面分の記憶領域を有している場合には、メモリコントローラ230は、表示用記憶領域から更新用記憶領域へ非変化領域の画像データをコピーすればよい。ここで、このようなコピーは、最後の画像データパケット(識別ビットの値が「10b」)を受信したことに応じて実行されることが好ましい。こうすれば、変化領域の画像データを余計にコピーすることを抑制できる。
また、フレームメモリ232が1画面分の記憶領域のみを有している場合には、メモリコントローラ230は、非変化領域の画像データを更新せずに維持する。この場合には、メモリコントローラ230は、最後の画像データパケット(識別ビットの値が「10b」)を受信したことに応じて、表示画像の更新(本実施例では、液晶ドライバ234に対する画像データの供給)を開始すればよい。最後の画像データパケットを受信したことによって、全てのピクセルの画素値(画像データ)が確定する。従って、更新前の画像データが誤って液晶ドライバ234に供給されることを抑制できる。
以上、変化領域の数が2つである場合について説明したが、1つである場合や、3以上である場合も、同様に処理が実行される。いずれの場合も、最後に送信される変化領域の最後の画像データパケットの識別ビットが「10b」に設定される。また、先に送信される変化領域の最後の画像データパケットの識別ビットは「00b」に設定される。
また、コンピュータ100による変化領域の画像データ取得と、取得された画像データの転送と、プロジェクタ200による更新画像の表示と、の一連の処理は繰り返し実行される。ただし、少なくとも1回は、第1実施例のように、画面の全体を表す画像データがコンピュータ100からプロジェクタ200に送信される。このような画面全体の送信は、初めて画像データを送信する際に行うことが好ましい。
以上説明したように、第2実施例では、コンピュータ100の画像転送プログラム170は、画面内の変化領域のみを取得して、プロジェクタ200に送信する。一方、プロジェクタ200のメモリコントローラ230は、変化領域のみを受信した場合には、変化領域のみを更新する。これらにより、送信されるデータ量を低減することができる。その結果、プロジェクタ200によって表示される画像の更新頻度を速めることが可能となる。
また、第2実施例では、複数の領域の表示データが送信される場合には、1つずつ順番に表示データが送信され、各表示データの最初には、画像データパケットと区別可能なヘッダパケットが送信される。その結果、メモリコントローラ230は、識別ビットを確認することによって、ある画像データパケットを誤った表示データのものであると判断することなく、各表示データの識別を適切に行うことができる。
また、第2実施例では、先に送信される表示データの最後の画像データパケットの識別ビットは、画像データパケットの続きがあることを示す「00b」に設定される。そして、最後に送信される表示データの最後の画像データパケットの識別ビットのみが、画像データパケットの続きがないことを示す「10b」に設定される。その結果、複数の変化領域(表示データ)がコンピュータ100からプロジェクタ200に転送される場合であっても、メモリコントローラ230は、この識別ビットを確認することによって、全ての変化領域の受信が完了したことを適切に判断することができる。
また、メモリコントローラ230は、このような最後の画像データパケット(識別ビットの値が「10b」)を受信したことに応じて表示画像を更新する。その結果、メモリコントローラ230は、変化領域の画素値(画像データ)と非変化領域の画素値とが確定した状態で、表示画像を更新することができるので、適切な表示画像の更新が可能である。なお、表示画像の更新方法としては、上述した方法に限らず、最後の画像データパケット(識別ビットの値が「10b」)を受信したことに応じて表示画像を更新する種々の方法を採用可能である。
C.第3実施例:
図10は、リードコマンドと、そのリードコマンドに対する応答パケットと、を示す説明図である。第3実施例では、コンピュータ100は、リードコマンドを発行することによって、プロジェクタ200の状態を表す状態データを、プロジェクタ200から取得する。なお、装置の構成は、図1、図2に示す第1および第2実施例と同じである。また、画像データの送信処理と、プロジェクタ200を制御するコマンド(例えば、図4のコマンド)の送信処理とは、上述の各実施例と同様に実行される。
図10(A)には、リードコマンドの一例が示されている。コンピュータ100は、これらのリードコマンドC11〜C12を発行することによって、プロジェクタ200のレジスタに格納されたデータを、プロジェクタ200の状態を表すデータとして取得する。
リードコマンドC11〜C13のパケットフォーマットは、図3(A)に示すコマンドパケットと同じである。コマンドコードは、構成要素に固有なコード番号に設定される。例えば、コマンドコードが「000011b」に設定されたコマンドC11、C12は、照明光学系235(図2)のランプの状態を取得するコマンドである。また、コマンドコードが「000021b」に設定されたリードコマンドC13は、ファンユニット260の状態を取得するコマンドである。なお、これらのリードコマンドC11〜C13のそれぞれのコマンドコードは、制御用コマンド(例えば、図4のコマンドC1〜C6)のいずれとも異なっている。すなわち、コマンドコードは、制御用コマンドとリードコマンドとを含む複数のコマンドのそれぞれに固有な値に設定されている。
アドレスフィールドは、目的の状態データを格納するレジスタを指し示すレジスタアドレスに設定される。例えば、照明光学系235におけるアドレスが「00h」であるレジスタ235Rには、ランプの点灯状態を表す制御データが格納されている(図4:コマンドC1、C2)。従って、照明光学系235(図2)に対するリードコマンドC11、C12の内の、アドレスが「00h」に設定された第1リードコマンドC11は、ランプの点灯状態を表すデータを取得するために利用される。他のコマンドC12、C13も、同様に、コマンドコードとアドレスとによって特定されるレジスタのデータを読み出すために利用される。
また、リードコマンドでは、制御データフィールド(図3(A):第16〜第31ビット)の値は利用されない。従って、このフィールドの値は、パケット長の整合性のために所定のダミー値(例えば、0000h)に設定される。
一方、図10(B)には、応答パケットのフォーマットが示されている。この応答パケットは、リードコマンドに応じてプロジェクタ200からコンピュータ100へ送信されるパケットである。この応答パケットのフォーマットは、図3(A)に示すコマンドパケットと同じである。識別ビットとコマンドコードとアドレスフィールドの値は、元の「リードコマンド」と同じ値に設定される。また、状態データフィールド(第16〜第31ビット)の値は、状態を表す値に設定される。
図11は、コンピュータ100がリードコマンドを発行する様子を示す概略図である。図11では、コンピュータ100とプロジェクタ200との構成要素の内の一部のみが示されている。
図11には、第1のリードコマンドC11(以下「点灯リードコマンドC11」とも呼ぶ)と第3のリードコマンドC13(以下「送風リードコマンドC13」とも呼ぶ)とがこの順番に発行される場合が示されている。これらのリードコマンドC11、C13は、制御用のコマンドと同様に(図5)、管理モジュール156が通信モジュール154を制御することによって、プロジェクタ200に送信される。なお、管理モジュール156は、先のリードコマンドに対する応答パケットを受信する前に、他のパケット(例えば、次のリードコマンド)を送信可能である。
一方、プロジェクタ200では、デマルチプレクサ212は、受信した2つのコマンド(パケット)C11、C13のそれぞれの識別ビットが「11b」に設定されているので、受信したデータをシステムコントローラ240に供給する。システムコントローラ240は、受信したリードコマンドに応じた状態の確認を行う。図11の例では、システムコントローラ240は、点灯リードコマンドC11に応じて、照明光学系235のレジスタ235R(アドレス=00h)のデータを取得し、その後、送風リードコマンドC13に応じて、ファンユニット260のレジスタ260R(アドレス=05h)のデータを取得する。
なお、データの取得を開始してからその取得を完了するまでに要する時間は、レジスタによって異なる場合がある。ここで、本実施例では、システムコントローラ240は、先に受信したリードコマンドのデータ取得が完了する前であっても、新たなリードコマンドを受信した場合には、そのリードコマンドのためのデータの取得を開始する。そして、システムコントローラ240は、リードコマンドを受信した順番に拘わらずに、データの取得が完了した順番に、応答パケットを送信する。これにより、応答に要する合計時間が過剰に長くなることを抑制できる。図11の例では、システムコントローラ240は、ファンユニット260からのデータ取得を、照明光学系235からのデータ取得よりも先に完了したこととしている。その結果、後の送風リードコマンドC13に応じる応答パケットR13(以下「送風応答パケットR13」とも呼ぶ)が、先の点灯リードコマンドC11に応じる応答パケットR11(以下「点灯応答パケットR11」とも呼ぶ)よりも、先に送信されている。
送風応答パケットR13では、識別ビットとコマンドコードとアドレスとが、応答の対象であるリードコマンドC13と同じ値に設定されている。そして、状態データフィールド(第16〜第31ビット:図10(B))は、レジスタから取得されたデータ値に設定されている。図11の例では、状態データが「0001h」に設定されている。これは、ファンユニット260が駆動していることを示している。一方、点灯応答パケットR11の識別ビットとコマンドコードとアドレスとは、応答の対象である点灯リードコマンドC11と同じ値に設定されている。そして、状態データは「0000h」に設定されている。これは、ランプが消灯していることを示している(図4:第1コマンドC1)。
システムコントローラ240は、これらの応答パケットR11、R13を定めるデータ(識別ビットとコマンドコードとアドレスと状態データ)をデマルチプレクサ212に供給する。デマルチプレクサ212は、システムコントローラ240から受け取ったデータを利用することによって各応答パケットR11、R13を生成し、USBプロトコルに従ってこれらの応答パケットR11、R13をコンピュータ100に送信する。
一方、コンピュータ100では、受信したパケットの識別ビットが「11b」に設定されているので、通信モジュール154は、受信データを管理モジュール156に供給する。管理モジュール156は、送信したリードコマンドと、受信したデータと、の対応関係を、識別ビットとコマンドコードとアドレスとの組み合わせによって特定する。なお、管理モジュール156は、受信した状態データを種々の用途に利用可能である。例えば、管理モジュール156は、コンピュータ100の表示デバイス118に状態を表示してもよい。また、管理モジュール156は、状態データに基づく所定の処理を実行してもよい。このような処理としては、任意の処理を採用可能である。例えば、ランプが消灯している場合には、画像転送プログラム170が画像データの送信を開始する前に、管理モジュール156がランプ点灯用の第2コマンドC2を発行することとしてもよい。
他のリードコマンドが発行された場合も、同様に、プロジェクタ200は、状態データをコンピュータ100に送信する。なお、管理モジュール156は、ユーザの指示に応じて各リードコマンドを発行してもよく、あるいは、自動的に各リードコマンドを発行してもよい。自動的にリードコマンドを発行するための条件としては、任意の条件を採用可能である。例えば、プロジェクタ200がコンピュータ100に接続されたことを検知したことに応じて、点灯させるための第2コマンドC2(図4)の発行の要否を判定するために、点灯リードコマンドC11を発行してもよい。
以上のように、第3実施例では、管理モジュール156は、プロジェクタ200から状態データを取得するので、プロジェクタ200の状態に応じた処理を実行可能である。また、応答パケットには、応答対象のリードコマンドを特定する情報(第3実施例では、識別ビットとコマンドコードとアドレス)が格納されている。従って、管理モジュール156は、受信したデータと、送信したリードコマンドと、の対応関係を、容易に特定できる。特に、管理モジュール156は、複数種類のリードコマンドの送信順序と異なる順序で応答パケットを受信した場合であっても、各応答パケットが、いずれのリードコマンドに応じるものかを適切に判断することができる。また、第3実施例では、応答が1つのパケットで送信されるので、通信処理の簡素化を図ることができる。
D.第4実施例:
図12は、ROMリードコマンドと、ROMリードコマンドに対する応答パケットと、を示す説明図である。第4実施例では、コンピュータ100は、ROMリードコマンドを発行することによって、プロジェクタ200(図2)のROM252のデータを取得する。なお、装置の構成は、図1、図2に示す第1〜第3実施例と同じである。また、画像データの送信処理と、プロジェクタ200を制御するコマンド(例えば、図4のコマンド)の送信処理と、プロジェクタ200の状態を表す状態データの取得処理とは、上述の各実施例と同様に実行される。
図12(A)には、ROMリードコマンドのフォーマットが示されている。図3(A)に示すコマンドパケットとの差違は、第8〜第15ビットに加えて、第16〜第31ビットも、アドレスを指定するために利用される点だけである。第8〜第15ビットには、アドレスの下位部分が格納され、第16〜第23ビットには、アドレスの中位部分が格納され、第24〜第31ビットには、アドレスの上位部分が格納される。また、コマンドコードは、他のいずれのコマンドとも異なる所定の値(図12の例では「100011b」)に設定されている。
このように、ROM252のアドレス(メモリアドレス)を表すビット数(図12(A)の例では24ビット)が、上述のレジスタのアドレスを表すビット数(図3(A)の例では8ビット)よりも大きい理由は、レジスタよりも容量の多いメモリをROM252として利用しているからである。第4実施例では、ROM252には、VT(印加電圧V−光透過率T)補正用のパラメータ値が格納されている。具体的には、RGBの各色成分の補正前の値と補正後の値との対応関係を表すルックアップテーブル(LUT)がROM252に格納されている。このLUTは、液晶ライトバルブ236の個体に固有な特性を補正するために、液晶ライトバルブ236の個体毎のVT特性の測定結果に基づいて準備されたものである。このLUTは、プロジェクタ200の製造時にROM252に格納される。そして、プロジェクタ200の利用時に、コンピュータ100によって読み出され、VT補正に利用される。その結果、プロジェクタ200による表示画面の個体差が抑制される。
このLUTは、種々の入力値に関する対応関係を含んでいるので、そのデータ量は多くなる場合が多い。そこで、ROM252としては、このようなLUTを格納するのに十分な容量を有するものが採用される。その結果、ROM252のアドレスのビット数(24ビット)がレジスタアドレスのビット数(8ビット)よりも大きな数に設定されている。
また、図12(B)には、ROMリードコマンド応答のパケットフォーマットが示されている。このROMリードコマンド応答(以下、単に「ROM応答」とも呼ぶ)のパケットは、ROMリードコマンドに応じてプロジェクタ200からコンピュータ100へ送信される。第0〜第7ビットは、ROMリードコマンドパケット(図12(A))と同じ値に設定される。第8〜第31ビットには、読み出されたデータが格納される。第4実施例では、ROM252における1つのアドレスによって指定される記憶領域のサイズは、上述のレジスタにおけるサイズ(図3(A):16ビット)よりも大きな「24ビット」である。第8〜第15ビットには、データの下位部分が格納され、第16〜第23ビットには、データの中位部分が格納され、第24〜第31ビットには、データの上位部分が格納される。なお、このROM応答パケットには、応答対象のROMリードコマンドで指定されたアドレスは格納されていない。この点については後述する。
図13は、コンピュータ100がROMリードコマンドを発行する様子を示す概略図である。図13では、コンピュータ100とプロジェクタ200との構成要素の内の一部のみが示されている。
図13には、互いに異なるアドレスAj、Akを読むための2つのROMリードコマンドCj、Ckが、管理モジュール156によって、この順番に発行される場合が示されている。これらのROMリードコマンドCj、Ckは、制御用のコマンドと同様に(図5)、管理モジュール156が通信モジュール154を制御することによって、プロジェクタ200に送信される。なお、通信モジュール154は、これらのコマンドCj、Ckを、発行された順番に、プロジェクタ200に送信する。また、管理モジュール156は、先のROMリードコマンドに対するROM応答パケットを受信する前に、他のパケット(例えば、別のアドレスのROMリードコマンドや、レジスタに対するリードコマンド)を送信可能である。
一方プロジェクタでは、デマルチプレクサ212は、識別ビットが「11b」に設定されたこれらのコマンドCj、Ckのデータを、システムコントローラ240に供給する。コマンドコードが「100011b」に設定されるので、システムコントローラ240は、ROM252に対して、コマンドCj、Ckで指定されたメモリアドレスのデータリード要求を発行する。ROM252は、システムコントローラ240からの要求に応じて、指定されたアドレスに格納されたデータをFIFOメモリ250に供給する。
なお、通信モジュール154とデマルチプレクサ212との間の通信では、USBインターフェースが利用されているので、複数のパケットが受信側によって受信される順序は、送信側によって送信された順序と同じである。また、デマルチプレクサ212は、受信した順番に、受信データ(ROMリードコマンド)をシステムコントローラ240に供給する。システムコントローラ240は、元のROMリードコマンドを受信した順番に、データリード要求をROM252に対して発行する。ROM252は、データリード要求を受けた順番に、指定されたアドレスのデータをFIFOメモリ250に供給する。その結果、FIFOメモリ250には、管理モジュール156によって要求されたアドレス順にデータが格納される。具体的には、まず、先のコマンドCj(アドレスAj)のデータDjが格納され、その後、後のコマンドCk(アドレスAk)のデータDkが格納される。
次に、システムコントローラ240は、FIFOメモリ250からデータを取得し、取得したデータを、ROM応答パケット(図12(B))に格納してコンピュータ100に送信する。この際、システムコントローラ240は、FIFOメモリ250から取得したデータのアドレスを確認せずに、FIFOメモリ250から読み出された順番に、データをコンピュータ100に送信する。よく知られているように、FIFOメモリ250からは、先に格納されたデータが先に読み出される。従って、システムコントローラ240は、まず、先のデータDjを格納するROM応答パケットRjを送信し、次に、後のデータDkを格納するROM応答パケットRkを送信する。これらのパケットRj、Rkの送信は、図11の例における応答パケットR11、R13の送信と同様に行われる。
一方、コンピュータ100では、受信したパケットの識別ビットが「11b」に設定されているので、通信モジュール154は、受信データを管理モジュール156に供給する。管理モジュール156は、コマンドコードが「100011b」に設定されているので、受信データが、ROMリードコマンドの応答(ROM応答)であると判断する。ここで、通信モジュール154は、受信した順番に、受信データ(ROM応答)を管理モジュール156に供給する。また、ROM応答パケットの送信順は、上述したように、元のROMリードコマンドの送信順と同じである。従って、ROM応答にメモリアドレスが含まれていなくても、管理モジュール156は、送信したROMリードコマンドと、受信したROM応答と、の対応関係を、ROM応答の受信順に基づいて特定可能である。例えば、先に受信したデータDjは、先に発行したROMリードコマンドCjの応答であり、後に受信したデータDkは、後に発行したROMリードコマンドCkの応答であると、特定される。
なお、LUTは、ROM252の所定の複数のアドレスに渡って格納されている。そこで、管理モジュール156は、各アドレスに対するROMリードコマンドを発行することによってLUTの全体を取得し、取得したLUTを補正モジュール152に供給する。補正モジュール152は、供給されたLUT、すなわち、プロジェクタ200の個体に固有なLUTを利用してVT補正を実行する。
以上のように、第4実施例では、管理モジュール156とシステムコントローラ240とは、プロジェクタ200のメモリ(レジスタ)のデータを読み出す処理に利用するパケットとして、アドレスを表す部分の長さが異なる2種類のパケットを利用している。すなわち、ROM252からデータを読み出す場合には、図12、図13に示すように、24ビットでアドレスを表すROMリードコマンド用のパケットが利用される。一方、レジスタからデータを読み出す場合には、図10、図11に示すように、8ビットでアドレスを表すリードコマンド用のパケットが利用される。従って、アドレス長が異なる複数種類のメモリ(レジスタ)がプロジェクタ200に設けられている場合であっても、コンピュータ100は、適切に、これらのメモリのアドレスを指定することができる。
なお、管理モジュール156とシステムコントローラ240とは、このようなパケットの識別を、コマンドコードに基づいて行う。すなわち、コマンドコードがROM252用の値(本実施例では「100011b」)に設定されている場合には、第8〜第31ビットのデータがアドレスとして利用される。一方、コマンドコードが、レジスタ用の値(例えば、「000011b」。図10(A))に設定されている場合には、第8〜第15ビットのデータのみがアドレスとして利用され、第16〜第31ビットのデータは、アドレスとして利用されない。このように、管理モジュール156とシステムコントローラ240とは、パケット内の所定位置の情報(コマンドコード)に基づいて、パケットの識別(各ビットの意味の特定)を適切に行うことができる。
また、第4実施例では、ROMのデータは、管理モジュール156に要求されたアドレス順に、システムコントローラ240によってコンピュータ100に送信される。従って、管理モジュール156は、データを受信した順番に基づいて、受信したデータのアドレスを特定できる。その結果、プロジェクタ200からコンピュータ100にアドレスを送信せずに済むので、データ量を低減することが可能である。また、アドレス長が長い場合であっても、アドレスを省略することによって、1つのパケットでデータ全体を送信することが可能となる。その結果、1つのアドレスのデータを送信するために、データを複数のパケットに分割することや、パケット長(サイズ)を他の種類のパケットよりも長くすることを、防止できる。これにより、システムコントローラ240と管理モジュール156とによる通信処理が複雑化することを抑制できる。
なお、管理モジュール156に要求された順番にデータを送信するためのプロジェクタ200の構成としては、任意の構成を採用可能である。例えば、システムコントローラ240が、FIFOメモリ250を利用せずに、送信順序を管理しつつ、ROM252から読み出したデータをコンピュータ100に送信してもよい。ただし、図13に示すように、システムコントローラ240が、ROMリードコマンドを受信した順に、ROM252に対してリード要求を発行し、ROM252は、要求されたデータを順番にFIFOメモリ250に供給し、システムコントローラ240は、FIFOメモリ250から読み出した順番に、データをコンピュータ100に送信する構成を採用することが好ましい。こうすれば、システムコントローラ240は、データの送信順番を管理せずに済むので、システムコントローラ240の処理を簡略化することができる。また、システムコントローラ240がFIFOメモリ250からデータを取得するタイミングは任意に設定可能である。従って、ROM252からFIFOメモリ250にデータが供給されている間に、システムコントローラ240は、他の処理(例えば、他のパケットの受信処理や、レジスタから取得したデータの送信処理)を実行することができる。これにより、プロジェクタ200の応答に要する合計時間が過剰に長くなることを抑制できる。
なお、ROM252に格納するデータとしては、VT補正用のLUTに限らず、コンピュータ100によって利用される任意のデータを採用可能である。例えば、ガンマ補正に利用されるパラメータを格納してもよい。
E.変形例:
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
変形例1:
上記各実施例において、各データのビット数は、任意に設定可能である。また、互いにアドレス長が異なる3種類以上のメモリ(レジスタ)を利用することとしてもよい。
変形例2:
上記各実施例において、通信インターフェースとしては、USBインターフェースに限らず、種々のインターフェースを採用可能である。例えば、IEEE1394インターフェースを採用してもよい。いずれの場合も、複数のパケットが受信側によって受信される順序が、それらのパケットが送信側によって送信された順序と同じであるようなインターフェースを採用することが好ましい。こうすれば、図12、図13に示す第4実施例と同様に、メモリのリードコマンドの応答からメモリのアドレスを省略することができる。
変形例3:
図10、図11に示す第3実施例において、システムコントローラ240は、図12、図13に示すROM応答と同様に、リードコマンドを受信した順番に応答パケットを送信することとしてもよい。この際、図13に示す例と同様に、レジスタから読み出されたデータが一旦FIFOメモリに格納されてもよく、また、システムコントローラ240が、送信順序を管理しつつ、レジスタから読み出したデータをコンピュータ100に送信してもよい。ただし、アドレスと読み出したデータとの両方を1つのパケットに格納できる場合には、システムコントローラ240は、リードコマンドを受信した順番に拘わらずに、データの取得が完了した順番に、アドレスと読み出しデータとを含む応答パケットを送信することが好ましい。
変形例4:
上記各実施例において、リードコマンドの対象となるレジスタが、システムコントローラ240に設けられていても良い。また、読み出されるデータとしては、制御対象の状態を表すデータに限らず、種々の状態を表すデータを採用可能である。例えば、ランプの合計点灯時間を読み出してもよい。この場合には、システムコントローラ240は、合計点灯時間を計測するタイマから読み出した時間データをコンピュータ100に送信すればよい。
また、システムコントローラ240によるプロジェクタ200の制御方法としては、レジスタに制御データを書き込む方法に限らず、任意の方法を採用可能である。例えば、システムコントローラ240が、直接、ランプのスイッチを駆動してもよい。また、プロジェクタ200に対して発行されるコマンドとしては、メモリへのデータ書き込みと、メモリからのデータ読み出しと、に限らず、種々のコマンドを採用可能である。例えば、ランプのスイッチを駆動させるコマンドを採用してもよい。この場合には、例えば、システムコントローラ240が、図4の第1コマンドC1や第2コマンドC2を受信したことに応じて、ランプのスイッチを駆動すればよい。また、ランプの温度センサ(図示せず)の測定結果を取得するコマンドを採用してもよい。この場合には、システムコントローラ240は、コマンドコードが所定の値に設定されたコマンドパケットを受信した場合には、温度センサの測定結果を取得し、取得した温度データをコンピュータ100に送信すればよい。
変形例5:
上記各実施例において、コンピュータ100が、常に表示画面VAの全体を表す画像データをプロジェクタ200に送信することとしてもよい。この場合には、表示データのヘッダパケットから、位置を省略してもよい。また、画像サイズ(幅及び高さ)が固定値である場合には、ヘッダパケットを省略してもよい。ただし、図8、図9に示す第2実施例のように、表示データは、変化領域の位置及びサイズ(幅と高さ)を示す情報と変化領域の画像データとを含むことが好ましい。この理由は、変化領域に関するデータ(変化領域情報及びその画像データ)のみを転送すれば、転送すべきデータ量が少なくなるからである。
変形例6:
上記各実施例では、データ処理装置としてプロジェクタ200を採用したが、プロジェクタ200に限らず、種々の画像出力装置を採用可能である。例えば、プリンタを利用してもよい。この場合も、図3と同じパケットフォーマットを利用可能である。この際、プリンタは、表示データを用いて印刷を行えばよい。
また、画像出力装置に限らず、種々のデータ処理装置を採用可能である。例えば、データ供給装置から受信した音声データを加工する音声データ処理装置を採用してもよい。
変形例7:
上記実施例においては、画像供給装置としてパーソナルコンピュータを用いていたが、この代わりに、他の種類のコンピュータ(モバイルコンピュータ、ハンドヘルドコンピュータ、ワークステーションなど)を用いるようにしても良い。また、これらコンピュータの他に、インターフェースを有するとともに、コンピュータと同様な機能を有する機器を用いるようにしても良い。そのような機器には、例えば、情報携帯端末や、携帯電話機や、メール端末や、ゲーム機や、セットトップボックスなどが含まれる。また、画像表示装置としては、プロジェクタ以外の種々の表示装置を使用することが可能である。
変形例8:
上記実施例においてソフトウェアで実現されている機能の一部をハードウェアで実現してもよく、あるいは、ハードウェアで実現されている機能の一部をソフトウェアで実現してもよい。
本発明の一実施例として画像表示システムの構成を示す説明図。 コンピュータ100とプロジェクタ200の内部構成を示すブロック図。 パケットのフォーマットを示す説明図。 コマンドパケットの一例を示す説明図。 コンピュータ100がコマンドパケットをプロジェクタ200に送信する様子を示す概略図。 表示データを説明する説明図。 コンピュータ100が画像データをプロジェクタ200に送信する様子を示す概略図。 第2実施例においてコンピュータ100からプロジェクタ200に送信される画像を示す説明図。 送信されるパケットの概略を示す説明図。 リードコマンドとそのリードコマンドに対する応答パケットとを示す説明図。 コンピュータ100がリードコマンドを発行する様子を示す概略図。 ROMリードコマンドとROMリードコマンドに対する応答パケットとを示す説明図。 コンピュータ100がROMリードコマンドを発行する様子を示す概略図。
符号の説明
10...画像表示システム
60...表示画面
70...投写表示画面
100...コンピュータ(パーソナルコンピュータ)
102...CPU
104...ROM
106...RAM
108...ハードディスクドライブ
110...入力部
112...USBインターフェース部
114...VRAM
116...グラフィックコントローラ
118...表示デバイス
120...バス
150...キャプチャモジュール
152...補正モジュール
154...通信モジュール
156...管理モジュール
170...画像転送プログラム
200...プロジェクタ
210...USBインターフェース部
212...デマルチプレクサ
230...メモリコントローラ
232...フレームメモリ
234...液晶ドライバ
235...照明光学系
235R...レジスタ
236...液晶ライトバルブ
237...投写光学系
240...システムコントローラ
250...FIFOメモリ
252...ROM
260...ファンユニット
260R...レジスタ
300...USBケーブル

Claims (9)

  1. データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置であって、
    前記データ供給装置との通信を制御する通信制御部と、
    前記データ供給装置から受信した入力データに応じて前記データ処理を実行するデータ処理部と、
    前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行する装置制御部と、
    を備え、
    前記通信制御部は、
    前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ供給装置から受信するとともに、
    (a1)前記データ供給装置から受信した受信パケットの内部の所定位置の識別部分が、前記コマンドデータを示す所定のコマンド識別値に設定されている場合には、前記受信パケットに含まれるデータを前記装置制御部に供給し、
    (a2)前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットに含まれるデータを前記データ処理部に供給し、
    前記装置制御部は、前記受信パケットの内部の前記識別部分を除く残余部分を前記コマンドデータとして利用し、
    前記データ処理部は、前記残余部分を前記入力データとして利用する、
    データ処理装置。
  2. 請求項1に記載のデータ処理装置であって、
    前記入力データは、画像のサイズ情報を含むヘッダデータと、前記画像を表す画像データと、を含む表示データであり、
    前記データ処理部は、前記所定の処理として、前記表示データに基づいて前記画像を出力する処理を実行し、
    前記データ処理部は、前記ヘッダデータを含むヘッダパケットと、前記画像データを分割して格納する複数の画像パケットと、のそれぞれを受信することによって、前記表示データの全体を取得し、
    前記データ処理部は、
    (b1)前記識別部分が前記ヘッダデータを示す所定のヘッダ識別値に設定されている場合には、前記残余部分を前記ヘッダデータとして利用し、
    (b2)前記識別部分が続き有りの画像データを示す所定の継続画像識別値に設定されている場合には、前記残余部分を前記画像データとして利用し、
    (b3)前記識別部分が最後の画像データを示す所定の最後画像識別値に設定されている場合には、前記残余部分を前記画像データとして利用するとともに、前記画像データの全体を受信したと判断する、
    データ処理装置。
  3. 請求項2に記載のデータ処理装置であって、
    前記データ処理部は、前記画像の出力処理として、前記画像を表示画面に表示する処理を実行し、
    前記ヘッダデータは、さらに、前記表示画面内における前記画像の位置情報を含み、
    前記データ処理部は、前記表示画面内の部分画像であって位置が互いに異なるn個(nは2以上の整数)の部分画像をそれぞれ表すn個の表示データを1つずつ順番に受信することによって、前記表示画面の内の前記n個の部分画像の全てが更新された画像を前記表示画面に表示し、
    前記データ処理部は、前記ヘッダパケットを受信するとともに、前記ヘッダパケットの後に複数の前記画像パケットの全てを受信することによって、1つの表示データの全体を取得し、
    前記データ処理部は、
    (c1)最初のn−1個の表示データのそれぞれについては、1つの表示データの複数の画像パケットの全てを、前記識別部分が前記継続画像識別値に設定されている画像パケットとして受信するとともに、次の表示データのヘッダパケットを受信することによって全ての画像パケットの受信が完了したと判断し、
    (c2)最後のn番目の表示データについては、最後の画像パケットを除く他の全ての画像パケットを、前記識別部分が前記継続画像識別値に設定されている画像パケットとして受信し、最後の画像パケットを、前記識別部分が前記最後画像識別値に設定されている画像パケットとして受信するとともに、前記最後の画像パケットを受信することによって、前記最後のn番目の表示データの全ての画像パケットの受信と、全ての表示データの受信とが完了したと判断する、
    データ処理装置。
  4. 請求項1ないし請求項3のいずれかに記載のデータ処理装置であって、さらに、
    前記データ供給装置に送信するためのデータをアドレスが異なる複数の記憶部分に格納するメモリを備え、
    前記メモリは、第1アドレス長を有する第1メモリと、前記第1アドレス長よりも長い第2アドレス長を有する第2メモリと、を含み、
    前記コマンドデータは、
    前記第1メモリのデータを読み出すための第1リードコマンドデータと、
    前記第2メモリのデータを読み出すための第2リードコマンドデータと、
    を含む複数種類のコマンドデータの中から設定され、
    前記装置制御部は、
    (d1)前記受信パケットの前記残余部分の内の所定位置の部分であるコマンド部分が前記第1リードコマンドデータを示す所定の第1リード識別値に設定されている場合には、前記受信パケットの前記識別部分と前記コマンド部分とを除いた残りの部分の内の所定位置の前記第1アドレス長の第1アドレス部分をリードの対象アドレスとして利用し、
    (d2)前記コマンド部分が前記第2リードコマンドデータを示す所定の第2リード識別値に設定されている場合には、前記受信パケットの前記識別部分と前記コマンド部分とを除いた残りの部分の内の所定位置の前記第2アドレス長の第2アドレス部分をリードの対象アドレスとして利用する、
    データ処理装置。
  5. 請求項4に記載のデータ処理装置であって、
    前記装置制御部は、前記各リードコマンドデータを受信したことに応じて、受信したリードコマンドデータで指定されたメモリのアドレスに格納された対象データを、前記固定長のパケットによって前記データ供給装置に送信するとともに、前記対象データを送信する前に、新たな前記各リードコマンドデータを受信可能であり、
    前記装置制御部は、
    (e1)前記第1リードコマンドデータに対する応答として、前記識別部分と前記コマンド部分と前記第1アドレス部分とが元の前記第1リードコマンドデータと同じ値に設定されるとともに、残りの部分に前記対象データが格納された第1データパケットを送信し、
    (e2)前記第2リードコマンドデータに対する応答として、前記識別部分と前記コマンド部分とが元の前記第2リードコマンドデータと同じ値に設定されるとともに、残りの部分に前記対象データが格納され、さらに、前記対象アドレスを含まない第2データパケットを送信し、
    前記通信制御部による前記データ供給装置との通信では、複数のパケットが受信側によって受信される順序は、前記複数のパケットが送信側によって送信された順序と同じであり、
    前記装置制御部は、先に受信した前記第2リードコマンドデータに対する応答を送信する前に、新たな前記第2リードコマンドデータを受信した場合には、前記後の第2リードコマンドデータの応答を送信する前に前記先の第2リードコマンドデータの応答を送信し、その後、前記後の第2リードコマンドデータの応答を送信する、
    データ処理装置。
  6. 請求項5に記載のデータ処理装置であって、さらに、
    前記第2メモリから読み出された前記対象データを格納するとともに格納した前記対象データを前記装置制御部に供給する先入先出メモリを備え、
    前記装置制御部は、前記先の第2リードコマンドデータに基づく前記第2メモリからの読み出し要求を先に発行し、その後、前記後の第2リードコマンドデータに基づく前記第2メモリからの読み出し要求を発行し、
    前記装置制御部は、前記各読み出し要求によって読み出された対象データを前記先入先出メモリから取得し、前記取得した対象データのアドレスを確認せずに、前記先入先出メモリから取得した順番に、前記取得した対象データを含む前記第2データパケットを送信する、
  7. データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置の制御方法であって、
    前記データ処理装置は、
    前記データ供給装置との通信を制御する通信制御部と、
    前記データ供給装置から受信した入力データに応じて前記データ処理を実行するデータ処理部と、
    前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行する装置制御部と、
    を備え、
    前記制御方法は、
    (a)前記通信制御部が、前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ供給装置から受信する工程と、
    (b)前記通信制御部が、前記データ供給装置から受信した受信パケットの内部の所定位置の識別部分が、前記コマンドデータを示す所定のコマンド識別値に設定されている場合には、前記受信パケットに含まれるデータを前記装置制御部に供給する工程と、
    (c)前記通信制御部が、前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットに含まれるデータを前記データ処理部に供給する工程と、
    (d)前記装置制御部が、前記受信パケットの内部の前記識別部分を除く残余部分を前記コマンドデータとして利用する工程と、
    (e)前記データ処理部が、前記残余部分を前記入力データとして利用する工程と、
    を備える、制御方法。
  8. データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置の制御をコンピュータに実行させるためのコンピュータプログラムであって、
    前記データ供給装置との通信を制御する通信制御機能と、
    前記データ供給装置から受信した入力データに応じて前記データ処理を実行するデータ処理機能と、
    前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行する装置制御機能と、
    をコンピュータに実現させるプログラムであり、
    前記通信制御機能は、
    (a)前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ供給装置から受信する機能と、
    (b)前記データ供給装置から受信した受信パケットの内部の所定位置の識別部分が、前記コマンドデータを示す所定のコマンド識別値に設定されている場合には、前記受信パケットに含まれるデータを前記装置制御機能に供給する機能と、
    (c)前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットに含まれるデータを前記データ処理機能に供給する機能と、
    を有し、
    前記装置制御機能は、前記受信パケットの内部の前記識別部分を除く残余部分を前記コマンドデータとして利用する機能を有し、
    前記データ処理機能は、前記残余部分を前記入力データとして利用する機能を有する、
    コンピュータプログラム。
  9. データ供給装置と、前記データ供給装置に接続されるとともに所定のデータ処理を実行するデータ処理装置と、の間の通信方式であって、
    前記データ処理装置は、前記データ供給装置から受信した入力データに応じて前記データ処理を実行するとともに、前記データ供給装置から受信したコマンドデータに応じて、前記コマンドデータに応じた所定の処理を実行し、
    前記データ供給装置は、
    前記入力データと前記コマンドデータとのそれぞれを、共通固定長のパケットによって前記データ処理装置に送信するとともに、
    (a)前記コマンドデータを送信する場合には、前記パケットの内部の所定位置の識別部分を、前記コマンドデータを示す所定のコマンド識別値に設定するとともに、前記パケットの内部の前記識別部分を除く残余部分に前記コマンドデータを格納し、
    (b)前記入力データを送信する場合には、前記識別部分を前記コマンド識別値とは異なる値に設定するとともに、前記残余部分に前記入力データを格納し、
    前記データ処理装置は、
    (c)前記データ供給装置から受信した受信パケットの前記識別部分が、前記コマンド識別値に設定されている場合には、前記受信パケットの前記残余部分を前記コマンドデータとして利用し、
    (d)前記受信パケットの前記識別部分が前記コマンド識別値とは異なる値に設定されている場合には、前記受信パケットの前記残余部分を前記入力データとして利用する、
    通信方式。
JP2006085922A 2006-03-27 2006-03-27 データ通信を利用した装置制御 Pending JP2007264780A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006085922A JP2007264780A (ja) 2006-03-27 2006-03-27 データ通信を利用した装置制御
US11/674,509 US7742051B2 (en) 2006-03-27 2007-02-13 Device control using data communication
CN201010242426.XA CN101895449A (zh) 2006-03-27 2007-03-27 利用数据通信的装置控制
CN200710091554.7A CN101047693B (zh) 2006-03-27 2007-03-27 利用数据通信的装置控制
US12/775,618 US8203565B2 (en) 2006-03-27 2010-05-07 Device control using data communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006085922A JP2007264780A (ja) 2006-03-27 2006-03-27 データ通信を利用した装置制御

Publications (1)

Publication Number Publication Date
JP2007264780A true JP2007264780A (ja) 2007-10-11

Family

ID=38533312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006085922A Pending JP2007264780A (ja) 2006-03-27 2006-03-27 データ通信を利用した装置制御

Country Status (3)

Country Link
US (2) US7742051B2 (ja)
JP (1) JP2007264780A (ja)
CN (2) CN101047693B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013130768A (ja) * 2011-12-22 2013-07-04 Seiko Epson Corp 画像供給装置、画像供給装置の制御方法、プログラム及び記録媒体

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201421250A (zh) * 2012-11-29 2014-06-01 Faraday Tech Corp 顯示裝置及其影像擷取方法
JP6205776B2 (ja) * 2013-03-22 2017-10-04 カシオ計算機株式会社 電子機器、プログラム及び選択許否決定方法
CN107979778B (zh) * 2016-10-25 2020-04-17 杭州海康威视数字技术股份有限公司 一种视频分析方法、装置及系统
US10878859B2 (en) 2017-12-20 2020-12-29 Micron Technology, Inc. Utilizing write stream attributes in storage write commands
US11803325B2 (en) * 2018-03-27 2023-10-31 Micron Technology, Inc. Specifying media type in write commands
CN110233988B (zh) * 2019-05-05 2023-12-08 中铁第四勘察设计院集团有限公司 地质勘探管理系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535405A (en) 1993-12-23 1996-07-09 Unisys Corporation Microsequencer bus controller system
DE59402759D1 (de) * 1994-06-20 1997-06-19 Eidgenoess Ptt Vorrichtung zur Übermittlung von Meldungen in einem mobilen Kommunikationsnetz
JPH09237224A (ja) 1996-02-29 1997-09-09 Oki Electric Ind Co Ltd ディスクアレイ装置
CN1216427A (zh) * 1997-10-30 1999-05-12 沈阳信息技术研究所 视频像控录像控制器
JP3827049B2 (ja) 1998-03-25 2006-09-27 セイコーエプソン株式会社 プリンタ制御回路、プリンタ及びプリントシステム
JP2001016574A (ja) 1999-06-30 2001-01-19 Victor Co Of Japan Ltd 画像処理システム及び画像処理端末
JP2001144795A (ja) 1999-11-11 2001-05-25 Sony Corp 電子機器
US6924807B2 (en) * 2000-03-23 2005-08-02 Sony Computer Entertainment Inc. Image processing apparatus and method
JP2001313651A (ja) 2000-04-28 2001-11-09 Sony Corp 無線通信方法および装置、並びにそれに使用する情報処理方法および装置
JP2003046592A (ja) 2001-07-30 2003-02-14 Canon Inc 画像処理システム、通信方法、プログラム、及び記憶媒体
EP1495412B1 (en) * 2002-03-22 2012-11-28 Alandro Consulting NY LLC Scalable high performance 3d graphics
JP4261886B2 (ja) 2002-11-28 2009-04-30 キヤノン株式会社 情報処理装置及び情報処理方法
US7088374B2 (en) * 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system
JP4238720B2 (ja) * 2003-12-19 2009-03-18 ソニー株式会社 画像信号の処理装置および処理方法、画像信号の処理基板、画像信号処理システム、並びにプログラムおよびそれを記録した媒体
US8386628B1 (en) * 2005-05-23 2013-02-26 Glance Networks, Inc. Method and apparatus for reducing the amount of information that must be transmitted to slower viewers over a remote viewing session
US7627161B2 (en) * 2005-11-28 2009-12-01 Fuji Xerox Co., Ltd. Authenticity determination method, apparatus and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013130768A (ja) * 2011-12-22 2013-07-04 Seiko Epson Corp 画像供給装置、画像供給装置の制御方法、プログラム及び記録媒体

Also Published As

Publication number Publication date
CN101895449A (zh) 2010-11-24
US20070223471A1 (en) 2007-09-27
CN101047693A (zh) 2007-10-03
US8203565B2 (en) 2012-06-19
US20100214303A1 (en) 2010-08-26
US7742051B2 (en) 2010-06-22
CN101047693B (zh) 2010-09-29

Similar Documents

Publication Publication Date Title
US8203565B2 (en) Device control using data communication
JP4048870B2 (ja) プロジェクタシステム
JP2010535382A (ja) ピクセルをアップデートバッファから供給する方法
KR101577855B1 (ko) 디스플레이 포트 호환 인터페이스에서의 프로토콜 확장
JP4650318B2 (ja) 画像供給装置と画像表示装置との間の通信
US8933951B2 (en) Techniques for controlling frame refresh
JP2005143087A5 (ja)
JP2004177784A (ja) プロジェクタシステム及びプロジェクタ
JP2001337665A5 (ja)
US8675026B2 (en) Image processing apparatus, image processing method, and computer program storage medium
CN102063857A (zh) 集成电路装置以及电子设备
JP5619473B2 (ja) プロジェクター、制御方法、表示方法ならびにコンピュータープログラム
JP2004032278A (ja) 撮像装置
US6950102B2 (en) Graphics drawing apparatus and method
JP3790703B2 (ja) 表示制御装置及び表示制御方法
JP2013167881A (ja) 画像表示装置、画像表示装置の制御方法
JP2005122119A (ja) Mpuとビデオコーデックとで構成されるシステムにおけるビデオインタフェース装置
US20130293560A1 (en) Rendering device and rendering method
JP3974153B2 (ja) データ転送システム
JP4604956B2 (ja) 情報処理装置
JP2005326701A (ja) 表示装置
JP2015034891A (ja) レジスタ設定制御装置
JP5363366B2 (ja) 表示システム、入出力装置、および表示装置
JP2000231473A (ja) 表示制御装置および表示装置へのデータ転送方法
WO2012060113A1 (ja) 描画装置及び描画方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090714

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091201