(57)【要約】【課題】より効率的にデータ転送を行うことが可能な制御システム等を提供すること。【解決手段】制御システム１００が、少なくとも１つのブロック群で構成され、かつ、画像を表示するために用いられる画像データをパケットごとに外部装置から入力するＵＳＢインターフェース部１１０と、ＳＤＲＡＭ１６０と、複数のバッファメモリを有し、ヘッダパケットに基づき、ブロック群ごとに使用するバッファメモリを切り替えて使用するとともに、データパケットをバッファメモリに書き込むとともに、書き込んだパケットをＳＤＲＡＭ１６０に転送するＦＩＦＯ制御部１４０と、パケットの種別を判定するヘッダ検出部１２０とを含んで構成される。【選択図】図１
2007140936.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのブロック群で構成され、かつ、画像を表示するために用いられる画像データをパケットごとに外部装置から入力する入力手段と、
複数のバッファメモリと、
前記パケットの種別を判定する判定手段と、
メインメモリと、
前記入力手段からの所定のパケットを前記複数のバッファメモリのうちの１つのバッファメモリに書き込むとともに、書き込んだパケットを前記メインメモリに転送する制御手段と、
を含み、
前記画像データは、
前記ブロック群の属性を示す少なくとも１つのヘッダパケットと、
前記画像を構成する画素の内容を示す少なくとも１つのデータパケットと、
を含み、
前記ブロック群は、同一水平走査線上にある少なくとも１つの画素ブロックで構成され、
前記画素ブロックは、少なくとも１つの画素で構成され、
前記制御手段は、前記ヘッダパケットに基づき、前記ブロック群ごとに使用するバッファメモリを切り替えて使用するとともに、前記データパケットを前記バッファメモリに書き込むことを特徴とする制御システム。
【請求項２】
請求項１に記載の制御システムにおいて、
前記ヘッダパケットは、前記ブロック群を構成する画素ブロックの総数を示す総数データを含み、
前記制御手段は、前記総数データに基づき、前記ブロック群ごとに使用するバッファメモリを切り替えて使用することを特徴とする制御システム。
【請求項３】
請求項１、２のいずれかに記載の制御システムにおいて、
前記バッファメモリは、少なくとも水平走査方向の１ラインを構成する全画素の前記データパケットを記憶可能な記憶容量を有することを特徴とする制御システム。
【請求項４】
請求項２に従属する請求項３に記載の制御システムにおいて、
前記総数は、前記１ラインを構成する全画素数以下であることを特徴とする制御システム。
【請求項５】
請求項１〜４のいずれかに記載の制御システムにおいて、
前記バッファメモリは、ＦＩＦＯメモリであって、
前記制御手段は、前記ＦＩＦＯメモリに書き込んだデータパケット数が前記総数−１になった時点で、前記メインメモリへの転送を開始する準備を行うことを特徴とする制御システム。
【請求項６】
請求項５に記載の制御システムにおいて、
前記制御手段は、前記ＦＩＦＯメモリに書き込んだデータパケット数が前記総数になった時点で、前記メインメモリへの転送を開始することを特徴とする制御システム。
【請求項７】
請求項１〜６のいずれかに記載の制御システムにおいて、
前記データパケットは、通常データパケットと、前記画像データの終端を示す終端データパケットとを含み、
前記パケットは、前記パケットの種別を識別するための識別情報を含み、
前記判定手段は、前記識別情報に基づき、前記パケットが、前記ヘッダパケット、前記通常データパケット、前記終端データパケットのうちのどれに該当するかを判定し、
前記制御手段は、前記パケットが前記終端データパケットである場合に前記終端データパケットの書き込み終了時に前記バッファメモリへの書き込みを終了することを特徴とする制御システム。
【請求項８】
請求項１〜７のいずれかに記載の制御システムにおいて、
前記メインメモリは、ＳＤＲＡＭであることを特徴とする制御システム。
【請求項９】
請求項１〜８のいずれかに記載の制御システムを有する表示装置。
【請求項１０】
少なくとも１つのブロック群で構成され、かつ、画像を表示するために用いられる画像データをパケットごとに外部装置から入力する入力手段と、
複数のバッファメモリと、
前記パケットの種別を判定する判定手段と、
メインメモリと、
前記入力手段からの所定のパケットを前記複数のバッファメモリのうちの１つのバッファメモリに書き込むとともに、書き込んだパケットを前記メインメモリに転送する制御手段と、
を含むコンピュータによる制御方法であって、
前記画像データは、
前記画像を構成する画素の内容を示す少なくとも１つのデータパケットと、
前記ブロック群の属性を示し、後続の前記データパケットの総数を示す総数データを含む少なくとも１つのヘッダパケットと、
を含み、
前記ブロック群は、同一水平走査線上にある少なくとも１つの画素ブロックで構成され、
前記画素ブロックは、少なくとも１つの画素で構成され、
前記入力手段は、前記パケットを入力し、
前記制御手段は、
前記パケットが前記ヘッダパケットである場合に前記バッファメモリへの書き込みを準備し、
前記パケットが前記データパケットである場合に当該データパケットを前記バッファメモリに書き込み、
前記総数データに基づき、前記ブロック群ごとに使用するバッファメモリを切り替えて使用することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリへのデータ転送を制御するための制御システム、表示装置および制御方法に関する。
【背景技術】
【０００２】
例えば、画像処理装置が、矩形ブロック状に構成された画像データをＦＩＦＯメモリ等のバッファメモリからＳＤＲＡＭ等のメインメモリに転送する場合について説明する。なお、バッファメモリがｍビット×ｎワードの固定的な記憶容量を有するものとする。
【０００３】
例えば、画像処理装置が、横方向がｉドットで縦方向がｊラインの画像データを転送する場合、ｉドット分のバースト転送を行うことにより、効率よく高速にメインメモリに画像データを格納することができる。
【０００４】
しかし、ｉ＜ｎの場合、ｉ／ｎが整数にならない場合がある。この場合、画像処理装置は、一旦バースト転送を中止し、再度ＲＯＷアドレスを設定する必要があるため、メモリ転送の効率が低下する。しかも、同一の矩形ブロック転送中であるにも関わらず、バースト長が変化する可能性があるため、画像処理装置による制御は複雑になる。
【０００５】
特に、動画像における画像の変化が少ない場合、変化した部分のデータのみを転送する方が画像データ全体を転送する場合と比べ効率的である。上記変化した部分のデータは可変的であるため、ｉ／ｎが整数にならない場合が生じやすい。
【０００６】
例えば、特許文献１では、転送データのサイズに応じてデータ書き込みを行えるように複数のＦＩＦＯブロックの状態を判定してデータ転送を制御するデータ転送制御装置が提案されている。
【特許文献１】特開平１１−１７５３１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１の手法であっても複数のＦＩＦＯブロックの切り替え時の待ち時間は長くなり、問題を適切に解決することができない。
【０００８】
すなわち、例えば、容量３２ビット×１０２４ワードのＦＩＦＯメモリの書き込み周波数が４０ＭＨｚ、ＳＤＲＡＭの書き込み周波数が８０ＭＨｚの場合、ＦＩＦＯメモリの書き込みには約２５．６マイクロ秒かかる。これに対し、ＳＤＲＡＭの書き込みには約１２．９マイクロ秒かかる。したがって、画像処理装置が、１つのＦＩＦＯメモリからデータを読み出している間に別のＦＩＦＯメモリにデータを書き込む場合、２５．６マイクロ秒−１２．９マイクロ秒＝１２．７マイクロ秒の間、ＳＤＲＡＭへのアクセスが行われないアイドル状態が発生する。
【０００９】
また、ＦＩＦＯメモリの設定記憶容量を固定に設定した場合も待ち時間が発生する。例えば、画像処理装置が、設定最大値＝１０２４で、８ピクセル×３ブロック×４４ラインのデータをバースト転送する場合、４３ライン目の途中で設定記憶容量を超えてしまう。この場合、画像処理装置は、別のＦＩＦＯメモリが設定記憶容量（ＦＵＬＬ）になるまでＳＤＲＡＭへのデータ転送を停止しなければならない。
【００１０】
このように単純に複数のＦＩＦＯメモリを設けただけでは問題を適切に解決することができない。
【００１１】
本発明の目的は、より効率的にデータ転送を行うことが可能な制御システム、表示装置および制御方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明に係る制御システムは、少なくとも１つのブロック群で構成され、かつ、画像を表示するために用いられる画像データをパケットごとに外部装置から入力する入力手段と、
複数のバッファメモリと、
前記パケットの種別を判定する判定手段と、
メインメモリと、
前記入力手段からの所定のパケットを前記複数のバッファメモリのうちの１つのバッファメモリに書き込むとともに、書き込んだパケットを前記メインメモリに転送する制御手段と、
を含み、
前記画像データは、
前記ブロック群の属性を示す少なくとも１つのヘッダパケットと、
前記画像を構成する画素の内容を示す少なくとも１つのデータパケットと、
を含み、
前記ブロック群は、同一水平走査線上にある少なくとも１つの画素ブロックで構成され、
前記画素ブロックは、少なくとも１つの画素で構成され、
前記制御手段は、前記ヘッダパケットに基づき、前記ブロック群ごとに使用するバッファメモリを切り替えて使用するとともに、前記データパケットを前記バッファメモリに書き込むことを特徴とする。
【００１３】
また、本発明に係る表示装置は、上記制御システムを有することを特徴とする。
【００１４】
また、本発明に係る制御方法は、少なくとも１つのブロック群で構成され、かつ、画像を表示するために用いられる画像データをパケットごとに外部装置から入力する入力手段と、
複数のバッファメモリと、
前記パケットの種別を判定する判定手段と、
メインメモリと、
前記入力手段からの所定のパケットを前記複数のバッファメモリのうちの１つのバッファメモリに書き込むとともに、書き込んだパケットを前記メインメモリに転送する制御手段と、
を含むコンピュータによる制御方法であって、
前記画像データは、
前記画像を構成する画素の内容を示す少なくとも１つのデータパケットと、
前記ブロック群の属性を示し、後続の前記データパケットの総数を示す総数データを含む少なくとも１つのヘッダパケットと、
を含み、
前記ブロック群は、同一水平走査線上にある少なくとも１つの画素ブロックで構成され、
前記画素ブロックは、少なくとも１つの画素で構成され、
前記入力手段は、前記パケットを入力し、
前記制御手段は、
前記パケットが前記ヘッダパケットである場合に前記バッファメモリへの書き込みを準備し、
前記パケットが前記データパケットである場合に当該データパケットを前記バッファメモリに書き込み、
前記総数データに基づき、前記ブロック群ごとに使用するバッファメモリを切り替えて使用することを特徴とする。
【００１５】
本発明によれば、制御システム等は、ブロック群ごとに使用するバッファメモリを切り替えてデータパケットを書き込むことにより、アイドル状態の発生を低減し、より効率的にデータ転送を行うことができる。
【００１６】
また、前記ヘッダパケットは、前記ブロック群を構成する画素ブロックの総数を示す総数データを含み、
前記制御手段は、前記総数データに基づき、前記ブロック群ごとに使用するバッファメモリを切り替えて使用してもよい。
【００１７】
これによれば、制御システム等は、ヘッダパケットの総数データに基づいて使用するバッファメモリを切り替えることができ、総数を可変にすることが可能となるため、画像データに応じて効率のよいデータ転送を行うことができる。
【００１８】
また、前記バッファメモリは、少なくとも水平走査方向の１ラインを構成する全画素の前記データパケットを記憶可能な記憶容量を有してもよい。
【００１９】
これによれば、制御システム等は、１ラインを構成する全画素のデータパケットを一度に転送する場合であっても、途中でバッファメモリを切り替える必要がないため、効率的にデータ転送を行うことができる。
【００２０】
また、前記総数は、前記１ラインを構成する全画素数以下であってもよい。
【００２１】
これによれば、制御システム等は、１ラインを構成する全画素数以下のブロック群ごとにバッファメモリを切り替えることにより、アイドル状態の発生を低減し、効率的にデータ転送を行うことができる。
【００２２】
また、前記バッファメモリは、ＦＩＦＯメモリであって、
前記制御手段は、前記ＦＩＦＯメモリに書き込んだデータパケット数が前記総数−１になった時点で、前記メインメモリへの転送を開始する準備を行ってもよい。
【００２３】
これによれば、制御システム等は、総数−１になった時点で、メインメモリへの転送を開始する準備を行うことにより、よりスムーズにメインメモリへの転送を行うことができる。
【００２４】
また、前記制御手段は、前記ＦＩＦＯメモリに書き込んだデータパケット数が前記総数になった時点で、前記メインメモリへの転送を開始してもよい。
【００２５】
これによれば、制御システム等は、総数分のデータをメインメモリに転送することにより、データ転送量を低減することができ、より効率的にデータ転送を行うことができる。
【００２６】
また、前記データパケットは、通常データパケットと、前記画像データの終端を示す終端データパケットとを含み、
前記パケットは、前記パケットの種別を識別するための識別情報を含み、
前記判定手段は、前記識別情報に基づき、前記パケットが、前記ヘッダパケット、前記通常データパケット、前記終端データパケットのうちのどれに該当するかを判定し、
前記制御手段は、前記パケットが前記終端データパケットである場合に前記終端データパケットの書き込み終了時に前記バッファメモリへの書き込みを終了してもよい。
【００２７】
これによれば、制御システム等は、終端専用のパケットではなく、終端データパケットを用いることにより、データ転送量を低減することができ、より効率的にデータ転送を行うことができる。
【００２８】
また、前記メインメモリは、ＳＤＲＡＭであってもよい。
【００２９】
これによれば、制御システム等は、ＳＤＲＡＭへのデータ転送を行う場合であっても、一旦バースト転送を中止する必要がないため、効率的にデータ転送を行うことができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明をＦＩＦＯメモリにデータを転送する制御システムに適用した場合を例に採り、図面を参照しつつ説明する。なお、以下に示す実施例は、特許請求の範囲に記載された発明の内容を何ら限定するものではない。また、以下の実施例に示す構成の全てが、特許請求の範囲に記載された発明の解決手段として必須であるとは限らない。
【００３１】
図１は、本実施例における制御システム１００の機能ブロック図である。
【００３２】
制御システム１００は、ＰＣ等の外部装置とＵＳＢケーブルを介してＵＳＢ信号（パケット）を送受信する。なお、制御システム１００は、例えば、プロジェクタ等の表示装置に実装される。
【００３３】
制御システム１００は、画像を表示するために用いられる画像データをパケットごとに外部装置から入力する入力手段として機能するＵＳＢインターフェース部１１０と、パケットの種別を判定する判定手段の一部として機能するヘッダ検出部１２０と、ＦＩＦＯ制御部１４０と、メインメモリの一種であるＳＤＲＡＭ１６０と、ＳＤＲＡＭ１６０へのデータの書き込み等を制御するＳＤＲＡＭ制御部１５０とを含んで構成されている。なお、ＦＩＦＯ制御部１４０およびＳＤＲＡＭ制御部１５０は、データの転送を制御する制御手段として機能する。
【００３４】
なお、本実施例における表示装置および外部装置は、データ転送をより効率的に行うため、前フレームの画像と比べて画像の変化した部分を示す画像データのみを転送する。
【００３５】
次に、ＦＩＦＯ制御部１４０の構成について説明する。
【００３６】
図２は、本実施例におけるＦＩＦＯ制御部１４０の機能ブロック図である。
【００３７】
ＦＩＦＯ制御部１４０は、バッファメモリの一種であるＦＩＦＯメモリ１４５、１４６と、ヘッダパケットからヘッダデータをラッチするヘッダラッチ部１４１と、ヘッダデータに基づいてＦＩＦＯメモリ１４５またはＦＩＦＯメモリ１４６のサイズを演算するＦＩＦＯサイズ演算部１４２と、判定手段の一種であるフレーム終了デコード部１４７と、ＦＩＦＯメモリ１４５、１４６の書き込みおよび読み出しを制御する制御手段の一部である制御部１４８および出力選択部１４９とを含んで構成されている。
【００３８】
なお、ＦＩＦＯメモリ１４５、１４６は、少なくとも水平走査方向の１ラインを構成する全画素のデータパケットを記憶可能な記憶容量を有する。具体的には、例えば、１ラインが１０２４画素、データパケットが３２ビットの場合、ＦＩＦＯメモリ１４５、１４６は、４０９６バイト（３２７６８ビット）の記憶容量を有する。
【００３９】
また、図１および図２に示す各部は、回路のようにハードウェア的に構成されてもよいし、プログラムに従ってＣＰＵが動作するようにソフトウェア的に構成されてもよい。
【００４０】
次に、ＵＳＢインターフェース部１１０が入力するパケットのデータ形式について説明する。
【００４１】
図３（Ａ）は、ヘッダパケット２０１のデータ形式を示す図であり、図３（Ｂ）は、通常データパケット２０２のデータ形式を示す図であり、図３（Ｃ）は、終端データパケット２０３のデータ形式を示す図である。また、図４（Ａ）は、４つのブロックで構成されるブロック群を示す模式図であり、図４（Ｂ）は、図４（Ａ）の場合の画像データを示す模式図である。また、図５（Ａ）は、４つのブロックで構成されるブロック群と、２つのブロックで構成されるブロック群を示す模式図であり、図５（Ｂ）は、図５（Ａ）の場合の画像データを示す模式図である。
【００４２】
なお、本実施例では、例えば、Ｘ方向（横方向、水平走査方向）が１０２４画素、Ｙ方向（縦方向、ライン）が７６８画素の場合、横８画素で縦４画素で構成される領域を画素ブロックとして用いている。また、本実施例では、転送対象のラインごとの画素ブロックの集合をブロック群と呼び、転送に必要になるデータを画像データと呼ぶ。なお、この場合、Ｘ方向の画素ブロックを識別するためのブロック番号は０〜１２７であり、Ｙ方向の画素ブロックを識別するためのブロック番号は０〜１９１である。
【００４３】
パケットとしては、例えば、ブロック群の属性を示すヘッダパケット２０１、画素の内容を示す通常データパケット２０２、画素の内容を示し、かつ、画像データの終端を示す終端データパケット２０３等が該当する。
【００４４】
例えば、各パケットのデータ長が３２ビットの場合、図３（Ａ）に示すように、ヘッダパケット２０１は、ビット０、１が「１０」であり、ビット２〜７が「Ｘ方向開始ブロック」であり、ビット８〜１５が「Ｘ方向転送ブロック数−１」であり、ビット１６〜２３が「Ｙ方向開始ブロック」であり、ビット２４〜３１が「Ｙ方向転送ブロック数−１」である。なお、「−１」となっているのは必要なビット数を減らすためである。もちろん、ブロック数がそのまま用いられてもよい。
【００４５】
また、「Ｘ方向転送ブロック数−１」は、ブロック群を構成する画素ブロックの総数を示す総数データの一種である。なお、「Ｘ方向開始ブロック」、「Ｘ方向転送ブロック数−１」、「Ｙ方向開始ブロック」、「Ｙ方向転送ブロック数−１」は、制御システム１００の後段の回路によって画像の変化部分を特定し、画像を生成するために用いられる。
【００４６】
また、データパケットとしては、通常データパケット２０２と、転送対象の画像データの終端を示す終端データパケット２０３が該当する。
【００４７】
例えば、図３（Ｂ）に示すように、通常データパケット２０２は、ビット０、１が「００」であり、ビット２、３がＢデータの補正データ「Ｂ’」であり、ビット４、５がＧデータの補正データ「Ｇ’」であり、ビット６、７がＲデータの補正データ「Ｒ’」であり、ビット８〜１５が「Ｂデータ」であり、ビット１６〜２３が「Ｇデータ」であり、ビット２４〜３１が「Ｒデータ」である。
【００４８】
また、図３（Ｃ）に示すように、終端データパケット２０３は、ビット０、１が「０１」であり、ビット２、３がＢデータの補正データ「Ｂ’」であり、ビット４、５がＧデータの補正データ「Ｇ’」であり、ビット６、７がＲデータの補正データ「Ｒ’」であり、ビット８〜１５が「Ｂデータ」であり、ビット１６〜２３が「Ｇデータ」であり、ビット２４〜３１が「Ｒデータ」である。
【００４９】
このように、本実施例では、パケットを構成する３２ビットのうちビット０、１は、パケットの種別を識別するための識別情報として用いられている。この識別情報によってパケットの種別が判定される。
【００５０】
また、例えば、図４（Ａ）に示すように１ラインに４つの画素ブロックが存在するブロック群が使用される場合、図４（Ｂ）に示すように、画像データは、ヘッダパケット２０１、１２７個の通常データパケット２０２、終端データパケット２０３で構成される。
【００５１】
また、例えば、図５（Ａ）に示すように１ラインに４つのブロックが存在するブロック群と、次のラインに２つのブロックが存在するブロック群が使用される場合、図５（Ｂ）に示すように、画像データは、ヘッダパケット２０１、１２８個の通常データパケット２０２、ヘッダパケット２０１、６３個の通常データパケット２０２、終端データパケット２０３で構成される。
【００５２】
このように、ヘッダパケット２０１は、ブロック群ごとに設けられる。また、終端データパケット２０３は、画像データごとに設けられる。
【００５３】
次に、本実施例におけるデータ転送処理の流れについて説明する。
【００５４】
図６は、本実施例におけるデータ転送処理の流れを示すフローチャートである。
【００５５】
ＵＳＢインターフェース部１１０は、外部装置からパケットを入力する（ステップＳ１）。なお、この場合、ＵＳＢインターフェース部１１０は、実際に使用される状況に応じ、１６ビットデータから３２ビットデータへの変換処理、シリアルデータからパラレルデータへの変換処理等を行ってもよい。
【００５６】
ヘッダ検出部１２０は、ＵＳＢインターフェース部１１０からのパケットデータＲＤの０ビット目を参照することにより、入力されたパケットがヘッダパケット２０１かどうかを判定する（ステップＳ２）。例えば、図３（Ａ）〜図３（Ｃ）に示すように、０ビット目が「１」ならばヘッダパケット２０１であり、０ビット目が「０」ならばデータパケットである。
【００５７】
ヘッダ検出部１２０は、入力されたパケットがヘッダパケット２０１である場合、ヘッダラッチ信号ＨＤＬＴをＦＩＦＯ制御部１４０に出力する。なお、ＦＩＦＯ制御部１４０は、パケットデータＲＤも入力する。
【００５８】
ヘッダラッチ部１４１は、ヘッダラッチ信号ＨＤＬＴを入力した場合、ヘッダパケット２０１（パケットデータＲＤ）をラッチする。ＦＩＦＯサイズ演算部１４２は、パケットデータＲＤのうちビット０、１以外のビット２〜３２であるデータＨＤを入力し、ヘッダの内容を判別する（ステップＳ３）。なお、データＨＤは後段のモジュールにも転送される。
【００５９】
そして、ＦＩＦＯサイズ演算部１４２は、データＨＤのビット８〜１５で示される「Ｘ方向転送ブロック数−１」に１を加えた値を８倍することにより、ＦＩＦＯサイズＭＡＸを演算して制御部１４８に出力し、ＦＩＦＯメモリ１４５、１４６はｎを初期化（ｎ＝０）する（ステップＳ４）。なお、ＭＡＸはＸ方向の転送画素数を示し、ｎは書き込み数のカウント値である。
【００６０】
なお、本実施例における制御システム１００内の各部は、データ書き込みのタイミングは、書き込みクロックＷＲＣＬＫに同期して動作し、データ読み出しのタイミングは、読み出しクロックＲＤＣＬＫに同期して動作する。
【００６１】
また、入力されたパケットがヘッダパケット２０１ではない場合、パケットデータＲＤも、書き込みポインタで示されるＦＩＦＯメモリ（ＦＩＦＯメモリ１４５またはＦＩＦＯメモリ１４６）に書き込まれる（ステップＳ５）。また、書き込みのタイミングは、制御部１４８からのライトイネーブル信号（Ｆ１ＷＲＥＮまたはＦ２ＷＲＥＮ）がハイのタイミングで行われる。
【００６２】
なお、初期状態では書き込みポインタおよび読み出しポインタは、ＦＩＦＯメモリ１４５を示しているものとする。
【００６３】
また、ＦＩＦＯメモリ１４５、１４６は、データを書き込む度にカウント値ｎをインクリメントし（ステップＳ６）、ＦＩＦＯメモリ１４５、１４６はｎを制御部１４８に出力する。
【００６４】
制御部１４８は、ｎがＭＡＸ−１になったかどうか、すなわち、ＡＬＭＯＳＴ＿ＦＵＬＬ状態になったかどうかを判定する（ステップＳ７）。ＡＬＭＯＳＴ＿ＦＵＬＬ状態になった場合、制御部１４８は、フラグＦＩＦＯＡＶをセットし、ＳＤＲＡＭ制御部１５０にデータの読み出し準備を行わせる（ステップＳ８）。
【００６５】
また、ＡＬＭＯＳＴ＿ＦＵＬＬ状態になった場合、制御部１４８は、書き込み対象を示すライトポインタを変更する（ステップＳ９）。より具体的には、例えば、ライトポインタがＦ１側のＦＩＦＯメモリ１４５になっている場合、制御部１４８は、ライトポインタをＦ２側のＦＩＦＯメモリ１４６に変更する。なお、ステップＳ７の判定を行う時点では次のデータの書き込み（ステップＳ５）が行われているため、ライトポインタを変更しても問題はない。
【００６６】
また、ｎがＭＡＸ−１ではない場合、制御部１４８は、ｎがＭＡＸになっているかどうか、すなわち、ＦＵＬＬ状態になっているかどうかを判定する（ステップＳ１０）。ＦＵＬＬ状態になっている場合、制御部１４８は、フラグＦＩＦＯＡＶをアサートし、ＳＤＲＡＭ制御部１５０に読み出しイネーブル信号ＦＲＤＥＮをアサートさせ、データの読み出しを行わせる（ステップＳ１１）。
【００６７】
なお、制御部１４８は、信号ＦＲＤＥＮをアサートさせた場合、読み出しイネーブル信号Ｆ１ＲＤＥＮまたはＦ２ＲＤＥＮを用いてリードポインタで示されるＦＩＦＯメモリ１４５またはＦＩＦＯメモリ１４６からデータＦＯＤ１またはデータＦＯＤ２を出力選択部１４９に出力させる。
【００６８】
また、制御部１４８は、リードポインタに基づいてＦＯＤ１、ＦＯＤ２のどちらを使用すべきかを示す信号ＦＯＤＳＥＬを出力選択部１４９に出力する。出力選択部１４９は、信号ＦＯＤＳＥＬに基づいて選択したデータＦＯＤをＳＤＲＡＭ制御部１５０に出力し、ＳＤＲＡＭ制御部１５０は、データＦＯＤをＳＤＲＡＭ１６０に書き込む。
【００６９】
また、ＦＵＬＬ状態になった場合、制御部１４８は、内部のリードカウンタＲＣＮＴにＭＡＸをセットし、データの読み出し開始後、データの読み出しごとにＲＤＣＬＫに同期してＲＣＮＴの値を１つずつ減らす。
【００７０】
なお、例えば、ＦＩＦＯメモリ１４５からデータを読み出している場合であっても、ＦＩＦＯメモリ１４６へのデータの書き込みは可能である。
【００７１】
制御部１４８は、ＲＣＮＴが０になったかどうかを判定することにより、データの読み出しが完了したかどうかを判定する（ステップＳ１２）。
【００７２】
そして、データの読み出しが完了した場合、制御部１４８は、リードポインタを別のＦＩＦＯメモリ１４６に変更し（ステップＳ１３）、ＦＩＦＯＡＶをＬＯにし、ＳＤＲＡＭ制御部１５０はＲＤＥＮをＬＯにする。
【００７３】
また、パケットがヘッダパケット２０１ではなく、ステップＳ７、Ｓ１０の判定が偽である場合、あるいは、ステップＳ９の判定が真であってデータ読み出し（ステップＳ１１）が終了した場合、フレーム終了デコード部１４７は、パケットのビット０、１をデコードすることにより、終端データパケット２０３かどうかを判定する（ステップＳ１４）。
【００７４】
終端データパケット２０３である場合、制御システム１００は、ライトポインタを変更する（ステップＳ１５）。これにより、ＦＩＦＯ制御部１４０は、終端データパケット２０３を入力して最後のブロック群のデータの読み出しを行っている場合に新たな画像データを入力する場合であっても、新たな画像データの書き込みを行うことができる。なお、ステップＳ１５の処理は、ステップＳ９の処理と同じである。
【００７５】
以上のように、本実施例によれば、制御システム１００は、ブロック群ごとに使用するＦＩＦＯメモリを切り替えてデータパケットを書き込むことにより、一旦バースト転送を中止する必要がなく、アイドル状態の発生を低減することができるため、より効率的にデータ転送を行うことができる上、より単純な構成で制御システム１００の回路を構成することができる。
【００７６】
すなわち、ブロック群は、同一水平走査線上にある少なくとも１つの画素ブロックで構成されているため、制御システム１００は、走査線を切り替えるタイミングと同期してＦＩＦＯメモリを切り替えることができるため、ＦＩＦＯメモリの書き込み中に一旦バースト転送を中止して再度ＲＯＷアドレスを設定する必要はないため、より効率的にデータ転送を行うことができる。なお、この走査線は画素単位でなくてもよく、画像処理単位（例えば、本実施例では４画素が１水平走査線）であってもよい。
【００７７】
また、本実施例によれば、制御システム１００は、複数のＦＩＦＯメモリ１４５、１４６を切り替えてデータパケットを書き込むことにより、１つのＦＩＦＯメモリからデータを読み出し時に他のＦＩＦＯメモリにデータを書き込むことが可能であるため、効率的にデータ転送を行うことができる。また、これにより、制御システム１００は、タイミング変換（所定周波数で入力したデータを異なる周波数で出力すること）を行うことも可能になる。
【００７８】
また、本実施例によれば、制御システム１００は、ヘッダパケット２０１の総数データに基づいて使用するＦＩＦＯメモリ１４５、１４６を切り替えることができ、総数を可変にすることが可能となるため、画像データに応じて効率のよいデータ転送を行うことができる。
【００７９】
すなわち、本実施例によれば、制御システム１００は、ＦＩＦＯメモリ１４５、１４６のサイズを、実際のデータ転送サイズに応じてソフトウェア的に可変にすることができる。これにより、制御システム１００は、画像データに応じて効率のよいデータ転送を行うことができる。
【００８０】
また、本実施例によれば、制御システム１００は、図５（Ｂ）に示すようにブロック群ごとにヘッダパケット２０１を設けることにより、図５（Ａ）に示すように矩形状ではないデータを転送することも可能になり、効率のよいデータ転送を行うことができる。
【００８１】
また、本実施例によれば、制御システム１００は、１ラインを構成する全画素のデータパケットを一度に転送する場合であっても、途中でＦＩＦＯメモリ１４５、１４６を切り替える必要がないため、効率的にデータ転送を行うことができる。
【００８２】
また、本実施例によれば、制御システム１００は、１ラインを構成する全画素数以下のブロック群ごとにＦＩＦＯメモリ１４５、１４６を切り替えることにより、アイドル状態の発生を低減し、効率的にデータ転送を行うことができる。
【００８３】
また、本実施例によれば、制御システム１００は、総数−１になった時点で、ＳＤＲＡＭ１６０への転送を開始する準備を行うことにより、よりスムーズにＳＤＲＡＭ１６０への転送を行うことができる。
【００８４】
また、本実施例によれば、制御システム１００は、総数分のデータをＳＤＲＡＭ１６０に転送することにより、データ転送量を低減することができ、より効率的にデータ転送を行うことができる。
【００８５】
また、本実施例によれば、制御システム１００は、終端専用のパケットではなく、終端データパケット２０３を用いることにより、データ転送量を低減することができ、より効率的にデータ転送を行うことができる。
【００８６】
なお、本発明の適用は上述した実施例に限定されず、種々の変形が可能である。
【００８７】
例えば、上述した実施例では、制御システム１００は、複数の画素で構成される画素ブロックを用いたが、１つの画素で構成される画素ブロックを用いてもよい。また、上述した実施例では、制御システム１００は、複数の画素ブロックで構成されるブロック群を用いたが、１つの画素ブロックで構成されるブロック群を用いてもよい。
【００８８】
また、ヘッダパケット２０１、通常データパケット２０２、終端データパケット２０３の構造は図３（Ａ）〜図３（Ｃ）に示す例に限定されない。例えば、通常データパケット２０２および終端データパケット２０３の「Ｂ’」、「Ｇ’」、「Ｒ’」は必須ではない。また、ブロック群が必ず１ラインで構成される場合、ヘッダパケット２０１の「Ｙ方向転送ブロック数−１」はなくてもよい。さらに、パケットは３２ビットに限定されず、例えば、３２ビット未満（例えば、１６ビット等）であってもよいし、３３ビット以上（例えば、６４ビット等）であってもよい。
【００８９】
また、制御システム１００の構成は図１、図２に示す構成には限定されない。例えば、ヘッダ検出部１２０は、ＦＩＦＯ制御部１４０の内部にあってもよい。また、外部装置からパケットを入力するための伝送路は、ＵＳＢケーブル（ＵＳＢ信号）に限定されず、例えば、ＬＡＮケーブル、無線通信路等であってもよい。
【００９０】
また、外部装置としては、画像の変化部分を抽出する抽出部と、当該変化部分の画素データからヘッダパケットおよびデータパケットを含む画像データを生成する画像データ生成部と、当該画像データをパケットごとに送信する通信部とを含む種々の装置を採用可能である。
【００９１】
また、バッファメモリはＦＩＦＯメモリに限定されず、バッファとして機能する種々のメモリを採用可能である。また、メインメモリはＳＤＲＡＭに限定されず、種々のメモリを採用可能である。
【００９２】
また、制御システム１００を搭載するプロジェクタとしては、液晶プロジェクタ、ＤＭＤ(Digital Micromirror Device)を用いたプロジェクタ、ＣＲＴプロジェクタ等の種々のプロジェクタを採用可能である。なお、ＤＭＤは米国テキサスインスツルメンツ社の商標である。
【００９３】
また、制御システム１００を搭載する表示装置は、プロジェクタに限定されず、プロジェクションＴＶ、液晶ＴＶ、液晶ディスプレイ、ＣＲＴディスプレイ、携帯型ゲーム装置、携帯電話、ＰＤＡ等の種々の表示装置を採用可能である。
【００９４】
また、制御システム１００を搭載する表示装置は、単体の装置には限定されず、表示装置の機能を複数の装置に分散してもよい。具体的には、例えば、表示装置の機能の一部をＰＣに実装し、他の機能を液晶ディスプレイに実装してもよい。
【図面の簡単な説明】
【００９５】
【図１】本実施例における制御システムの機能ブロック図である。
【図２】本実施例におけるＦＩＦＯ制御部の機能ブロック図である。
【図３】図３（Ａ）は、ヘッダパケットのデータ形式を示す図であり、図３（Ｂ）は、通常データパケットのデータ形式を示す図であり、図３（Ｃ）は、終端データパケットのデータ形式を示す図である。
【図４】図４（Ａ）は、４つのブロックで構成されるブロック群を示す模式図であり、図４（Ｂ）は、図４（Ａ）の場合の画像データを示す模式図である。
【図５】図５（Ａ）は、４つのブロックで構成されるブロック群と、２つのブロックで構成されるブロック群を示す模式図であり、図５（Ｂ）は、図５（Ａ）の場合の画像データを示す模式図である。
【図６】本実施例におけるデータ転送処理の流れを示すフローチャートである。
【符号の説明】
【００９６】
１００  制御システム、１１０  ＵＳＢインターフェース部（入力手段）、１２０  ヘッダ検出部（判定手段）、１３０  ＵＳＢ制御部、１４０  ＦＩＦＯ制御部（制御手段）、１４１  ヘッダラッチ部、１４２  ＦＩＦＯサイズ演算部、１４５、１４６  ＦＩＦＯメモリ（バッファメモリ）、１４７  フレーム終了デコード部（判定手段）、１４８  制御部（制御手段）、１４９  出力選択部（制御手段）、１５０  ＳＤＲＡＭ制御部（制御手段）、１６０  ＳＤＲＡＭ（メインメモリ）、２０１  ヘッダパケット、２０２  通常データパケット、２０３  終端データパケット
【図１】
2007140936.tif 000003
【図２】
2007140936.tif 000004
【図３】
2007140936.tif 000005
【図４】
2007140936.tif 000006
【図５】
2007140936.tif 000007
【図６】
2007140936.tif 000008