以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の課題を解決するために必須の構成要件であるとは限らない。
以下では、本発明に係る画像表示装置として液晶表示装置を例に説明するが、本発明はこれに限定されるものではない。
1. 画像表示システム
図1に、本発明の一実施形態における画像表示システムの構成例のブロック図を示す。
画像表示システム10は、液晶表示装置(広義には、画像表示装置)20と、画像処理装置(表示コントローラー、画像処理コントローラー、画像供給装置)100と、ホスト装置50とを含む。ホスト装置50は、液晶表示装置20に表示する画像データを生成し、画像処理装置100に対して出力する。画像処理装置100は、ホスト装置50からの画像データを圧縮し、圧縮後の画像データを内蔵する画像メモリーにバッファリングする。その後、液晶表示装置20に対して画像データを出力する際に、画像処理装置100は、画像メモリーから読み出した画像データを伸張し、伸張後の画像データを液晶表示装置20に対して出力する。液晶表示装置20は、画像処理装置100からの画像データに基づいて画像の表示を行う。
液晶表示装置20は、液晶表示パネル30と、液晶駆動回路40とを含む。液晶表示パネル30は、第1のガラス基板及び第2のガラス基板の間に液晶を封入したものである。第1のガラス基板は例えばアクティブマトリクス基板であり、各画素にアクティブ素子である薄膜トランジスター(Thin Film Transistor:以下、TFT)が設けられている。各画素のTFTのドレイン端子に透明画素電極が、ソース端子にデータ線であるソース線が、ゲート端子に走査線であるゲート線がそれぞれ接続されている。第1のガラス基板と対向する第2のガラス基板には透明電極が設けられている。第2のガラス基板上には、第1のガラス基板の短辺に沿って、液晶表示パネル30を駆動する液晶駆動回路40がCOG(Chip On Glass)実装されている。液晶駆動回路40は、液晶表示パネル30のゲート線に走査信号を、ソース線にデータ信号を供給して液晶表示パネル30を表示駆動する。
ホスト装置50は、中央演算処理装置(Central Processing Unit:以下、CPU)及びメモリーを有し、該メモリーに記憶されたプログラムを読み込んだCPUが、該プログラムに対応した処理を実行することで、例えばコンテンツ画像に対応した画像データを生成する。例えばコンテンツ画像としては、動画や静止画、カメラで撮影した自然画、操作に必要なメニュー画面、アイコンなどの文字・図形情報等がある。また、ホスト装置50は、制御データを画像処理装置100が内蔵する制御レジスターに設定することで、画像処理装置100を制御することができる。
本実施形態では、上記のように、画像処理装置100が、ホスト装置50からの画像データを圧縮して画像メモリーにバッファリングした後、該画像メモリーから読み出した画像データを伸張して液晶表示装置20に供給する。ここで、画像メモリー内にバッファリングされる画像データの一部を、ホスト装置50が生成した画像データで更新(置換)する場合に、画像処理装置100が、当該領域に対応する画像データを伸張し、更新部分のみ1画素単位で新たな画像データで置き換えて、当該領域の画像データを再び圧縮して画像メモリーに書き戻す。これにより、画像メモリーを有効活用し、且つ使い勝手を向上させた画像処理装置100を提供する。
更に、画像処理装置100は、上記の圧縮処理及び伸張処理を、1走査ラインを分割したブロック単位で行う。これにより、圧縮率を低下させることなく、上記のように1画素単位で圧縮した画像データが更新可能な画像処理装置100を提供できるようになる。
2. 画像処理装置
2.1 画像処理装置の概要
図2に、図1の画像処理装置100の構成例のブロック図を示す。
画像処理装置100は、ホストインターフェース(InterFace:以下、I/Fと略す)110と、選択器120と、LCD(Liquid Crystal Display)I/F130と、制御レジスター150と、圧縮器200と、画像メモリー300と、第1の伸張器400と、第2の伸張器500とを含む。
ホストI/F110は、ホスト装置50に接続されたバスを介して入力される画像データ又は制御データに対応する信号の受信インターフェース処理を行う。制御レジスター150には、ホストI/F110を介して受信されたホスト装置50からの制御データが設定される。制御レジスター150に設定された制御データに応じて制御信号が生成され、画像処理装置100の各部は、これらの制御信号に基づいて制御される。
選択器120は、ホストI/F110からの入力画像データと、第1の伸張器400からの伸張画像データとのいずれかを圧縮器200に対して出力する。選択器120は、制御レジスター150に設定された制御データに応じて生成された切り換え信号に基づいて切り換え制御を行う。
圧縮器200は、選択器120から入力される圧縮処理対象の当該画素の周囲の少なくとも一部の画素の画像データを参照して当該画素の画像データを圧縮する。この圧縮器200は、1走査ラインを分割したブロック(例えば10画素)単位で画像データを圧縮する。そのため、圧縮器200は、当該ブロックの画像データについて圧縮処理を行うと、次のブロックの画像データに対しては改めて圧縮処理を行う。即ち、選択器120から出力された画像データに対して圧縮処理を行う圧縮器200は、ホスト装置50からの画像データをブロック単位で圧縮処理を行う。或いは、圧縮器200は、ホスト装置50からの画像データと第1の伸張器400により伸張された伸張画像データとを1ブロック(広義には圧縮処理単位)内に混在させた画像データをブロック単位で圧縮処理を行う。
画像メモリー300は、圧縮器200によって生成された圧縮画像データを記憶する。画像メモリー300は、圧縮処理単位毎に、圧縮画像データの書き込みや読み出しが可能となるように構成される。圧縮器200が、上記のように圧縮処理を行うため、画像メモリー300に格納される画像データのデータサイズを小さくすることができる。
第1の伸張器400は、画像メモリー300に記憶された圧縮画像データ(画像データ)を、上記のブロック単位で伸張する。このとき、第1の伸張器400は、ホスト装置50からの更新用の入力画像データの画素位置に対応して画像メモリー300に記憶される圧縮画像データを伸張して伸張画像データを生成する。この伸張画像データが、上記の選択器120に供給される。そして、選択器120は、ホスト装置50からの更新用の入力画像データ又は伸張画像データのいずれかを選択出力し、圧縮器200が、ホスト装置50からの入力画像データにより1画素単位で伸張画像データを更新した更新画像データを圧縮し、圧縮画像データとして画像メモリー300に書き戻す。
第2の伸張器500は、画像メモリー300に記憶された圧縮画像データを、上記のブロック単位で伸張する。第2の伸張器500によって伸張された伸張画像データは、LCDI/F130に対して出力される。なお、第2の伸張器500の構成は、第1の伸張器400の構成と同様であってもよいし、異なる構成を有していてもよい。第1の伸張器400及び第2の伸張器500は、圧縮器200において圧縮された画像データを伸張する伸張処理を行うものであればよい。
LCDI/F130は、液晶駆動回路40に接続されたバスを介して入出力される信号の送信インターフェース処理を行う。また、LCDI/F120は、液晶表示装置20における表示タイミング制御信号を生成し、画像処理装置100の各部及び液晶表示装置20に対して出力する。この表示タイミング制御信号としては、表示用の垂直同期信号VSYNC、表示用の水平同期信号HSYNC、表示用の画素クロックCLKがあり、LCDI/F130は、上記の表示タイミング制御信号と、該表示タイミング制御信号に同期した送信インターフェース処理後の画像データを液晶表示装置20に対して出力する。
制御レジスター150は、複数のレジスターを有し、各レジスターには画像処理装置100を制御するための制御データがホストI/F110を介してホスト装置50によって設定される。制御レジスター150の各レジスターに設定された制御データに応じて、画像処理装置100の各部に制御信号が供給される。本実施形態では、この制御レジスター150に、既に画像メモリー300に貯えられている圧縮画像データに対して更新すべき領域に対応する制御データが設定される。そして画像処理装置100では、該制御データに基づいて、上記のように動作する。
図3に、本実施形態における圧縮器200における圧縮処理の説明図を模式的に示す。図3において、1走査ラインをn(nは正の整数)画素毎に分割し、各画素の画素値を、「p」に画素番号を付して示している。そして、圧縮処理を関数fで表すものとする。
圧縮器200は、水平方向に並ぶ複数の画素から構成される1走査ラインをn画素単位で分割したブロック単位で、画像データの差分圧縮を行う。即ち、圧縮器200は、各ブロックの先頭画素についてはそのまま出力し、その後、隣接する画素の画素値との差分を圧縮する。例えば、図3に示すように、第1のブロックBLK1について、先頭画素については、そのまま出力し(p11)、その後、第1のブロックBLK1の最終画素(画素値p1nの画素)まで差分圧縮を行う(f(p12−p11)、・・・、f(p1n−p1(n−1)))。そして、第2のブロックBLK2について、先頭画素については、そのまま出力し(p21)、その後、第2のブロックBLK2の最終画素(画素値p2nの画素)まで差分圧縮を行う(f(p22−p21)、・・・、f(p2n−p2(n−1)))。同様に、第m(mは正の整数)のブロックBLKmについて、先頭画素については、そのまま出力し(pm1)、その後、第mのブロックBLKmの最終画素(画素値pmnの画素)まで差分圧縮を行う(f(pm2−pm1)、・・・、f(pmn−pm(n−1)))。このような差分圧縮を行うことで、画像メモリー300に格納される圧縮画像データのデータサイズを小さくする。
なお、第1の伸張器400及び第2の伸張器500も、図3の差分圧縮に対応した差分処理を行う。このようにブロック単位の圧縮処理及び伸張処理は、それぞれの処理において、簡素な構成で、リアルタイムに処理でき、所定以上の圧縮率も確保できる。
図4に、図2の選択器120の動作説明図を示す。図4は、既に画像メモリー300に保存されている圧縮画像データを、ホスト装置50からの更新用の入力画像データで部分的に更新する場合のタイミング図の一例を表す。図4において、横軸は時間をとり、縦に第1の伸張器400によって伸張された伸張画像データ、ホストI/F110からの更新用の入力画像データ、選択器120の切り換え信号、選択器120が出力する更新画像データを模式的に表す。
選択器120は、制御レジスター150に設定された制御データに応じて生成される切り換え信号に基づいて、ホストI/F110からの更新用の入力画像データ、又は第1の伸張器400で伸張された伸張画像データを選択出力する。制御レジスター150に更新領域に対応した制御データが設定されると、画像メモリー300から該更新領域に対応した圧縮画像データがブロック毎に(又は該ブロックを含む走査ライン毎に)読み出され、第1の伸張器400は、伸張処理後の伸張画像データを選択器120に入力する。このとき、更新用の入力画像データの入力タイミングと同期して、伸張画像データが選択器120に入力される。
そこで、当該ブロックの更新領域の画素のタイミングで、切り換え信号を変化させることで、伸張画像データの一部を、更新用の入力画像データに1画素単位で置換することができる。こうして生成された更新画像データを、選択器120は、圧縮器200に供給し、圧縮器200が、圧縮処理の画像データを画像メモリー300に書き戻す。
図5に、図2の制御レジスター150に設定される制御データの説明図を示す。図5は、画像メモリー300に既に保存されている圧縮画像データに対応した画像IMG1において、説明の便宜上、1走査ラインが例えば3ブロックで構成されている例を模式的に表すが、本発明は走査ラインのブロック数に限定されるものではない。
圧縮器200は、例えば図5のブロックBLK単位で、図3に示す差分圧縮を行う。このとき、例えば、ホスト装置50は、ホストI/F110を介して制御レジスター150を構成する各レジスターに、画像IMG1の水平方向書換開始位置(以下、H書換開始位置)、画像IMG1の水平方向書換終了位置(以下、H書換終了位置)、画像IMG1の垂直方向書換開始位置(以下、V書換開始位置)、及び画像IMG1の垂直方向書換終了位置(以下、V書換終了位置)に対応した制御データを設定する。これらの制御データにより、画像処理装置100では、例えば図5の更新領域ARが特定される。
図5のような制御データが制御レジスター150に設定された画像処理装置100は、更新領域ARを含むブロック領域BAR(図5では3ブロック)を特定し、ブロック領域BAR内の圧縮画像データを、ブロック領域BARを含む走査ライン単位(又はブロック領域BARを含む走査ラインのブロック単位)で画像メモリー300から読み出して、第1の伸張器400により伸張処理を行わせる。
図6に、図5のブロック領域BARの更新画像データを模式的に示す。図6において、図5と同一部分には同一符号を付し、適宜説明を省略する。
選択器120には、画像メモリー300から読み出されるブロックの圧縮画像データに対応する更新用の入力画像データと、第1の伸張器400からの伸張画像データとが入力される。そして、選択器120は、更新用の入力画像データと伸張画像データとを図4の切り換え信号により切り換えることで、ブロック毎に、図6に示す構成を有する更新画像データが生成される。圧縮器200は、図6のブロック毎に、差分圧縮処理を行えばよいので、1走査ラインを構成する全画素の画像データに対して再度差分圧縮を行う必要がなく、且つ、1画素単位で、入力画像データに置き換えることが可能となる。
以上のような画像処理装置100は、次のように動作する。
図7に、図2の画像処理装置100の第1の動作例のフローチャートを示す。図7は、ホストI/F110を介してホスト装置50から画像データをそのまま液晶表示装置20に対して供給する通常動作の流れを表す。なお、画像処理装置100が、CPU及びメモリーを有し、該メモリーに格納されたプログラムをCPUが読み出し、CPUがプログラムに対応した処理を実行することで、以下の処理をソフトウェア処理で実現するようにしてもよい。
まず、画像処理装置100では、ホストI/F110において、ホスト装置50からの入力画像データを受け付ける(ステップS10)。このとき、選択器120は、ホストI/F110からの入力画像データを圧縮器200に出力するようになっており、圧縮器200が、ステップS10で受け付けられた入力画像データを差分圧縮する(ステップS12)。圧縮器200は、圧縮画像データを画像メモリー300に格納し、画像メモリー300は該圧縮画像データを保存する(ステップS14)。
そして、第2の伸張器500が、ステップS14において画像メモリー300に格納された圧縮画像データを読み出し、該圧縮画像データを差分伸張する(ステップS16)。第2の伸張器500によって伸張された伸張画像データはLCDI/F130に出力され、LCDI/F130は、表示タイミング制御信号に同期させて伸張画像データを液晶表示装置20に対して出力し(ステップS18)、一連の処理を終了する(エンド)。
図8に、図2の画像処理装置100の第2の動作例のフローチャートを示す。図8は、ホストI/F110を介してホスト装置50から画像データを画像メモリー300にバッファリングし、画像メモリー300内の圧縮画像データの一部を更新してから液晶表示装置20に対して供給する更新動作の流れを表す。なお、画像処理装置100が、CPU及びメモリーを有し、該メモリーに格納されたプログラムをCPUが読み出し、CPUがプログラムに対応した処理を実行することで、以下の処理をソフトウェア処理で実現するようにしてもよい。
まず、画像処理装置100では、ホストI/F110において、ホスト装置50からの入力画像データを受け付ける(ステップS20)。このとき、選択器120は、ホストI/F110からの入力画像データを圧縮器200に出力するようになっており、圧縮器200が、ステップS10で受け付けられた入力画像データを上記のように差分圧縮する(ステップS22、第1の圧縮ステップ)。圧縮器200は、圧縮画像データを画像メモリー300に格納し、画像メモリー300は該圧縮画像データを保存する(ステップS24)。
次に、ホスト装置50は、ステップS24で保存された圧縮画像データの更新領域に対応した制御データを制御レジスター150に設定し、画像処理装置100は、ホストI/F110を介してホスト装置50から入力される更新用の入力画像データを受け付ける(ステップS26)。
ここで、第1の伸張器400は、ステップS26の更新用の入力画像データに対応して画像メモリー300に記憶される圧縮画像データを、更新領域のブロックを含む走査ライン分(又は更新領域の1ブロック分)だけ読み出し、該圧縮画像データを差分伸張する(ステップS28、第1の伸張ステップ)。なお、ステップS28では、画像メモリー300から読み出される圧縮画像データは、制御レジスター150に設定された更新領域に対応する圧縮画像データである。第1の伸張器400によって伸張された伸張画像データは、選択器120に供給される。
選択器120は、制御レジスター150に設定された制御データに対応して生成された切り換え信号により、ホストI/F110からの更新用の入力画像データ又は第1の伸張器400からの伸張画像データを切り換えて、1ブロック内で、更新用の入力画像データ及び伸張画像データが混在した更新画像データを生成する(ステップS30)。この更新画像データは、圧縮器200に入力され、圧縮器200は、ステップS30で生成された更新画像データを差分圧縮する(ステップS32、第2の圧縮ステップ)。圧縮器200は、圧縮画像データを画像メモリー300に格納し、画像メモリー300は該圧縮画像データを保存する(ステップS34)。
そして、第2の伸張器500が、ステップS34において画像メモリー300に格納された圧縮画像データを読み出し、該圧縮画像データを差分伸張する(ステップS36、第2の伸張ステップ)。第2の伸張器500によって差分伸張された伸張画像データはLCDI/F130に出力され、LCDI/F130は、表示タイミング制御信号に同期させて伸張画像データを液晶表示装置20に対して出力し(ステップS38)、一連の処理を終了する(エンド)。
以上のように、第1の圧縮ステップでは、当該画素の周囲の少なくとも一部の画素の画像データを参照して前記当該画素の画像データを圧縮して圧縮画像データを生成し、該圧縮画像データを画像メモリー300に格納する。その後、第1の伸張ステップでは、入力画像データに対応して前記メモリーに記憶される圧縮画像データを伸張して伸張画像データを生成する。更に再び、第2の圧縮ステップでは、入力画像データにより伸張画像データを更新した更新画像データを圧縮し、圧縮画像データとして画像メモリー300に書き戻す。
このように、画像メモリー300に既に記憶されている圧縮画像データのうち、当該領域の圧縮画像データのみを読み出して伸張し、更新用の入力画像データに対して更新すべき領域のみを置き換えるようにしたので、パーシャル圧縮動作の処理単位である1ブロックを構成する画素数を多くして、圧縮率を向上させることができるようになる。そして、1ブロックを構成する画素数を多くしても、画像メモリー300に記憶される圧縮画像データを1画素単位で書き換えることができるようになる。
2.2 画像処理装置の詳細な構成例
次に、本実施形態における画像処理装置100の詳細な構成例について説明する。以下では、画像処理装置100の構成例について、圧縮器200による圧縮処理側と第1の伸張器400による伸張処理側とに着目して説明する。
図9に、画像処理装置100の詳細な構成例のブロック図を示す。図9は、圧縮器200による圧縮処理を実現する構成を表す。図9において、図2と同一部分には同一符号を付し、適宜説明を省略する。
画像処理装置100は、Hカウンター210、Vカウンター220、アドレス計算回路230、メモリーライト回路240、部分書換有効信号生成回路242を含む。図9では、制御レジスター150に、図5で説明したH書換開始位置、H書換終了位置、V書換開始位置、及びV書換終了位置に対応した制御データの他に、部分書換イネーブルに対応した制御データが設定される。この部分書換イネーブル状態が指定されるレジスターに、イネーブルに対応した制御データが設定されると、圧縮画像データの一部の更新処理が行われる。
Hカウンター210は、フレーム先頭信号によりリセットされ、画素クロックCLKに同期して、画像の水平方向の画素数をカウントするカウンターであり、H書換開始位置、及びH書換終了位置の各々に対応する制御データが入力される。Hカウンター210は、カウントを開始すると、ライン先頭識別信号を出力すると共に、H書換開始位置からH書換終了位置に対応するカウント値までアクティブとなる水平書換有効信号を出力する。
Vカウンター220は、フレーム先頭信号によりリセットされ、ライン先頭識別信号に同期して、画像の垂直方向のライン数をカウントするカウンターであり、V書換開始位置、及びV書換終了位置の各々に対応する制御データが入力される。Vカウンター220は、カウントを開始すると、(V書換終了位置−V書換開始位置)に対応するカウント値になったときに、1フレーム終了信号をパルス出力すると同時に、Vカウンター220のカウント値を「0」に初期化する。
部分書換イネーブルに設定されているときライン先頭識別信号が入力されると、アドレス計算回路230は、H書換開始位置及びV書換開始位置に基づいて、画像メモリー300における当該走査ラインの圧縮画像データの記憶位置に対応するライン先頭アドレスを生成する。
メモリーライト回路240は、圧縮器200によって圧縮された画像データを画像メモリー300に格納する制御を行う。より具体的には、メモリーライト回路240は、Vカウンター220からの1フレーム終了信号により初期化され、アドレス計算回路230により生成されたライン先頭アドレスに基づいて、ライト信号WRに同期して、画像メモリー300に対してアドレス信号Add及び画像データDataを出力する。なお、メモリーライト回路240が1フレーム終了信号により初期化されるのではなく、ホストI/F110からのフレーム先頭信号により初期化されるように構成されてもよい。
部分書換有効信号生成回路242は、Hカウンター210により生成された水平書換有効信号及び部分書換イネーブル状態に基づいて部分書換有効信号(選択器120の切り換え信号)を生成する。より具体的には、部分書換有効信号生成回路242は、水平書換有効信号と部分書換イネーブルとの論理積演算結果を部分書換有効信号として出力することができる。
この部分書換有効信号が切り換え信号として供給される選択器120は、第1のセレクターと、第2のセレクターとを有する。第1のセレクターは、ホストI/F110から入力画像データと第1の伸張器400からの伸張画像データのいずれかを部分書換有効信号に基づいて切り換えて出力する。第2のセレクターは、ホストI/F110からデータイネーブル信号と第1の伸張器400からのデータイネーブル信号のいずれかを部分書換有効信号に基づいて切り換えて出力する。
選択器120が、部分書換有効信号によりホストI/F110からの入力画像データを出力する場合、ホストI/F110からのデータイネーブル信号DataEnableがアクティブになって画像の水平方向の画像データが有効になると、Hカウンター210は、ライン先頭識別信号を1パルス分だけアクティブにする。そして、圧縮器200は、図3で説明したように差分圧縮処理を行う。より具体的には、圧縮器200は、ライン先頭識別信号に対応する走査ラインを分割する各ブロックの先頭画素については、そのまま出力し、その後、差分圧縮を行う。
一方、選択器120が、部分書換有効信号によりホストI/F110からの入力画像データと第1の伸張器400からの伸張画像データとを切り換えて更新画像データを生成する場合、ホストI/F110又は第1の伸張器400からのデータイネーブル信号DataEnableがアクティブとなって画像データが有効になると、圧縮器200は、同様に、更新画像データに対して、図3で説明したように差分圧縮処理を行う。
このような圧縮処理を行う圧縮器200は、例えば次のような構成により実現できる。
図10に、図9の圧縮器200の構成例のブロック図を示す。図10において、図2と同一部分には同一符号を付し、適宜説明を省略する。
圧縮器200は、1画素を構成するR成分、G成分及びB成分のサブ画素毎に画像データの圧縮処理(符号化)を行う。図10では、圧縮器200のうち、R成分のサブ画素の画像データに対して圧縮処理を行う構成を示すが、圧縮器200においてG成分及びB成分のサブ画素についても同様に構成される。
圧縮器200のうちR成分の画像データに対して符号化を行う部分は、減算器250R、量子化テーブル252R、逆量子化テーブル254R、加算器256R、選択器258R、260R、フリップフロップ262R、画素カウンター264Rを含む。
減算器250Rは、入力された画像データと、フリップフロップ262Rに保持された直前の隣接画素の画像データとの差分を求め、キャリービット(ボロービット)を含む差分データを出力する。この差分データは、量子化テーブル252Rに供給される。量子化テーブル252Rには、予め入力値に対応して該入力値を量子化した出力値が登録されており、差分データを入力値として、出力値である量子化データを出力する。量子化データは、逆量子化テーブル254Rに供給される。
逆量子化テーブル254Rは、量子化テーブル252Rに対応するテーブルであり、予め入力値に対応して該入力値を逆量子化して量子化テーブル252Rの入力値となるような出力値が登録されている。逆量子化テーブル254Rは、量子化テーブル252Rからの量子化データを入力値として、出力値である逆量子化データを出力する。
量子化テーブル252Rからの量子化データは、選択器258Rにも入力される。選択器258Rには、量子化データと、オリジナルの画像データとが入力され、画素カウンター264Rによって生成される選択制御信号SELに基づいて、いずれか1つのデータを出力する。選択器258Rの出力データが、符号化データとして画像メモリー300に格納される。
逆量子化テーブル254Rからの逆量子化データは、加算器256Rに入力される。加算器256Rには、逆量子化データとフリップフロップ262Rに保持された画像データとが入力される。加算器256Rは、逆量子化データとフリップフロップ262Rの画像データとを加算し、加算データを選択器260Rに供給する。選択器260Rには、加算器256Rからの加算データと、オリジナルの画像データとが入力され、画素カウンター264Rによって生成される選択制御信号SELに基づいて、いずれか1つのデータを出力する。選択器260Rの選択データは、フリップフロップ262Rにおいて保持される。フリップフロップ262Rは、ホストI/F110を介して入力される画像データに対応した画素クロックCLKを用いて、選択データをラッチできる。
画素カウンター264Rには、画素クロックCLK、データイネーブル信号DataEnable、フレーム先頭信号、及びライン先頭識別信号が入力され、1走査ラインを分割したブロック単位で符号化が行われるように選択制御信号SELを生成する。画素カウンター264Rは、フレーム先頭信号又はライン先頭識別信号によりリセットされ、データイネーブル信号DataEnableがアクティブの期間は画素クロックCLKによりカウントアップされるカウンターを有する。
図11に、図10に示す圧縮器200の動作例を模式的に示す。図11は、横軸に時間軸をとり、圧縮器200に入力される圧縮前の画像データ、選択制御信号SEL、及び圧縮画像データを表す。
圧縮器200は、図10に示す構成が色成分毎に並列に設けられており、色成分毎に、並列に各色成分の差分圧縮を行う。各色成分の画素カウンターは、フレーム先頭信号又はライン先頭識別信号によりリセットされ、データイネーブル信号DataEnableがアクティブの期間にカウント動作を行い、1走査ラインを構成するブロック単位の先頭画素の圧縮処理期間にアクティブとなり、それ以外の画素の圧縮処理期間に非アクティブとなるように選択制御信号SELを生成する。これにより、選択器258Rが選択出力するデータが切り換えられ、その結果、ブロック毎に、先頭画素については圧縮処理を行うことなくそのまま出力し(図11の未符号化期間)、先頭画素に続く画素について符号化処理後のデータが出力される(図11の符号化期間)。
図12に、画像処理装置100の詳細な構成例のブロック図を示す。図12は、第1の伸張器400による伸張処理を実現する構成を表す。図12において、図2と同一部分には同一符号を付し、適宜説明を省略する。
画像処理装置100は、Hカウンター410、Vカウンター420、アドレス計算回路430、メモリーリード回路440を含む。
Hカウンター410は、フレーム先頭信号によりリセットされ、画素クロックCLKに同期して、画像の水平方向の画素数をカウントするカウンターであり、H書換ケア開始位置、及びH書換終了位置の各々に対応する制御データが入力される。Hカウンター410は、カウントを開始すると、ライン先頭識別信号を出力する。
Vカウンター420は、フレーム先頭信号によりリセットされ、ライン先頭識別信号に同期して、画像の垂直方向のライン数をカウントするカウンターであり、V書換開始位置、及びV書換終了位置の各々に対応する制御データが入力される。Vカウンター420は、カウントを開始すると、(V書換終了位置−V書換開始位置)に対応するカウント値になったときに、1フレーム終了信号をパルス出力すると同時に、Vカウンター220のカウント値を「0」に初期化する。
アドレス計算回路430は、ライン先頭識別信号が入力されると、H書換開始位置及びV書換開始位置に基づいて、画像メモリー300における当該走査ラインの圧縮画像データの記憶位置に対応するライン先頭アドレスを生成する。
メモリーリード回路440は、画像メモリー300に格納された圧縮画像データを読み出す制御を行う。より具体的には、メモリーリード回路440は、Vカウンター420からの1フレーム終了信号がアクティブになるまで、リード信号RDに同期して、画像メモリー300に対してアドレス信号Addを出力することで、圧縮画像データDataを読み出す。
第1の伸張器400は、データイネーブル信号DataEnableがアクティブとなって画像データが有効になると、アドレス計算回路430によって生成されたライン先頭アドレスに対応して画像メモリー300に記憶された当該ブロックの圧縮画像データに対して、図3で説明した差分圧縮処理に対応した差分伸張処理を行う。
このような伸張処理を行う第1の伸張器400は、例えば次のような構成により実現できる。
図13に、図12の第1の伸張器400の構成例のブロック図を示す。図13において、図2と同一部分には同一符号を付し、適宜説明を省略する。
第1の伸張器400は、1画素を構成するR成分、G成分及びB成分のサブ画素毎に画像データの伸張処理(復号化)を行う。図13では、第1の伸張器400のうち、R成分のサブ画素の画像データに対して伸張処理を行う構成を示すが、第1の伸張器400において、G成分及びB成分のサブ画素についても同様に構成される。
第1の伸張器400のうちR成分の画像データに対して復号化を行う部分は、逆量子化テーブル450R、加算器452R、選択器456R、フリップフロップ458R、画素カウンター460Rを含む。
逆量子化テーブル450Rは、図10の逆量子化テーブル254Rと同様であり、逆量子化テーブル450Rは、符号化データを逆量子化データに変換する。加算器452Rには、逆量子化テーブル450Rからの逆量子化データとフリップフロップ458Rに保持された画像データとが入力される。加算器452Rは、逆量子化データとフリップフロップ458Rの画像データとを加算し、加算データとして出力する。加算データは、選択器456Rに入力される。選択器456Rには、オリジナルの画像データ(画像メモリー300から読み出された画像データ)と、加算データとが入力され、画素カウンター460Rにより生成された選択制御信号SEL1に基づいていずれか1つのデータが出力される。選択器456Rの選択データは、フリップフロップ458Rにおいて保持される。フリップフロップ458Rは、ホストI/F110を介して入力される画像データに対応した画素クロックCLKを用いて、選択データをラッチできる。
画素カウンター460Rには、画素クロックCLK、データイネーブル信号DataEnable、フレーム先頭信号、ライン先頭識別信号が入力され、1走査ラインを分割したブロック単位で復号化が行われるように選択制御信号SEL1を生成する。画素カウンター460Rは、フレーム先頭信号又はライン先頭識別信号によりリセットされ、データイネーブル信号DataEnableがアクティブの期間は画素クロックCLKによりカウントアップされるカウンターを有する。
第1の伸張器400は、図13に示す構成が色成分毎に並列に設けられており、色成分毎に、並列に各色成分の差分伸張を行う。各色成分の画素カウンターは、フレーム先頭信号又はライン先頭識別信号によりリセットされ、データイネーブル信号DataEnableがアクティブの期間にカウント動作を行い、1走査ラインを構成するブロック単位の先頭画素の伸張処理期間にアクティブとなり、それ以外の画素の伸張処理期間に非アクティブとなるように選択制御信号SEL1を生成する。これにより、選択器456Rが選択出力するデータが切り換えられ、その結果、ブロック毎に、先頭画素については伸張処理を行うことなくそのまま出力し、先頭画素に続く画素について復号化処理後のデータが出力される。
以上説明したように、本実施形態では、画像処理装置100において、1走査ラインを分割したブロック単位で圧縮器200により画像データを圧縮して画像メモリー300にバッファリングする場合であっても、1画素単位で更新用の入力画像データと切り換えて生成した更新画像データを圧縮して画像メモリー300に書き戻すようにしたので、圧縮率を低下させることなく、使い勝手を向上させた画像処理装置を提供できるようになる。
3. 変形例
3.1 第1の変形例
上記の実施形態では、1走査ラインを分割したブロック単位で、画像データの圧縮処理及び伸張処理を行うものとして説明したが、本発明はこれに限定されるものではない。本実施形態の第1の変形例では、圧縮器200が1走査ライン単位で画像データを圧縮すると共に、第1の伸張器400が、1走査ライン単位で画像データを伸張する。この場合でも、本実施形態と比べて、画像メモリーを有効活用し、且つ使い勝手を向上させる一方で、圧縮率をより一層向上させることができるようになる。
図14に、本実施形態の第1の変形例における圧縮器の圧縮処理の説明図を示す。図14において、1走査ラインの水平方向の画素数がN(Nは正の整数、以下同様)であり、各画素の画素値を、「p」に画素番号を付して示している。そして、圧縮処理を関数fで表すものとする。
データイネーブル信号DataEnableがアクティブになって画像の水平方向の画像データが有効になると、第1の変形例におけるHカウンターは、ライン先頭識別信号を1パルス分だけアクティブにする。そして、図14に示すように、ライン先頭識別信号に対応する走査ラインの先頭画素については、そのまま出力し(p1)、その後、差分圧縮を行う(f(p2−p1)、f(p3−p2)、・・・、f(pN−1−pN−2)、f(pN−pN−1))。これにより、画像メモリー300格納される圧縮画像データのデータサイズを小さくする。
第1の変形例において、第1の伸張器及び第2の伸張器は、図14に示す圧縮器における圧縮処理に対応した伸張処理を行う。このような第1の変形例では、1走査ライン単位で画像データを圧縮するため、画素値をそのまま出力する先頭画素数が減少し、本実施形態と比較して、1処理単位の圧縮処理時間がかかるものの、圧縮率を向上させることができるようになる。なお、第1の変形例においても、本実施形態と同様に、1画素単位で、画像データを書き換えることは可能である。
3.2 第2の変形例
本実施形態又はその第1の変形例では、画像メモリーに記憶される圧縮画像データを、第1の伸張器とは別に設けられた第2の伸張器により伸張して、LCDI/Fを介して液晶表示装置に出力するものとして説明したが、本発明はこれに限定されるものではない。本実施形態の第2の変形例では、第1の伸張器により伸張された伸張画像データを、LCDI/Fにも出力し、画像処理装置が第2の伸張器を省略した構成を有している。
図15に、本実施形態の第2の変形例における画像処理装置の構成例のブロック図を示す。図15において、図2と同一部分には同一符号を付し、適宜説明を省略する。
画像処理装置600は、ホストI/F110と、選択器120、LCDI/F130と、制御レジスター150と、圧縮器200と、画像メモリー300と、第1の伸張器400と、ラインメモリー610とを含む。即ち、第2の変形例における画像処理装置600が本実施形態における画像処理装置100と異なる点は、第2の伸張器500が省略され、ラインメモリー610が追加されている点である。
ラインメモリー610は、第1の伸張器400によって伸張された更新領域の少なくとも1走査ライン分の伸張画像データ(又は1走査ラインを分割した1ブロック分の伸張画像データ)を保持する。ラインメモリー610に保持された伸張画像データは、選択器120に供給される。そして、第1の伸張器400に伸張された伸張画像データは、LCDI/F130を介して液晶表示装置20に対して出力される。
即ち、選択器120は、本実施形態と同様に、伸張画像データと更新用の入力画像データのいずれかを選択出力して更新画像データを出力するが、この伸張画像データがラインメモリー610に蓄積されたものである。そして、第1の伸張器400が、部分更新される領域の圧縮画像データの伸張処理に加えて、画像メモリー300に記憶された1画面分の圧縮画像データの伸張処理も行う。従って、第1の伸張器400によって伸張された画像データを、液晶表示装置20に供給することができる。
このような第2の変形例によれば、伸張器を1つ備えるだけで済むため、画像処理装置600の構成を簡素化でき、回路規模を縮小することができる。但し、第1の伸張器400が2つの伸張処理を行う必要があるため、伸張処理の切り換え制御が必要となる。
従って、第2の変形例における画像処理装置は、第1の伸張器400によって伸張された画像データを液晶表示装置20に供給することができるように構成される。
以上のような第1の変形例又は第2の変形例における画像処理装置は、図1の画像表示システムにおける画像処理装置に置き換えることが可能である。従って、第1の変形例又は第2の変形例における画像処理装置を含む画像表示システムによれば、本実施形態と同様の効果を得ることができる。
4. 電子機器
本実施形態における画像処理装置100又はその変形例における画像処理装置、又は上記のいずれかの画像処理装置を含む画像表示システムは、例えば次のような電子機器に適用することができる。以下では、本実施形態における画像処理装置100又はこれを含む画像表示システム10が適用される例について説明するが、第1の変形例又は第2の変形例における画像処理装置又はこれを含む画像表示システムも同様に適用できる。
図16に、本実施形態における電子機器としての携帯電話機の構成例のブロック図を示す。図16において、図1と同一部分には同一符号を付し、適宜説明を省略する。
携帯電話機900は、カメラモジュール910を含む。カメラモジュール910は、CCDカメラを含み、CCDカメラで撮像した画像のデータを画像処理装置100に供給する。
また、携帯電話機900は、液晶表示パネル30を含む。液晶表示パネル30は、液晶駆動回路40によって駆動される。液晶表示パネル30は、複数のゲート線、複数のソース線、複数の画素を含む。液晶駆動回路40は、ゲートドライバ42、ソースドライバ44及び電源回路46を含む。ゲートドライバ42は、液晶表示パネル30の複数のゲート線を走査する。ソースドライバ44は、液晶表示パネル30の複数のソース線を、画像データに基づいて駆動する。電源回路46は、ゲートドライバ42、ソースドライバ44及び液晶表示パネル30の電圧を生成する。電源回路46は、ソースドライバ44及びゲートドライバ42に接続され、各ドライバに対して、駆動用の電源電圧を供給する。また電源回路46は、液晶表示パネル30の対向電極に、対向電極電圧Vcomを供給する。
画像処理装置100は、液晶駆動回路40に接続され、ソースドライバ44に対して上記の合成処理が行われたRGBフォーマットの画像データを供給する。
ホスト装置50は、画像処理装置100に接続され、画像データを画像処理装置100に供給すると共に、画像処理装置100を制御する。またホスト装置50は、アンテナ960を介して受信された画像データを、変復調部950で復調した後、画像処理装置100に供給できる。画像処理装置100は、この画像データに基づき、ソースドライバ44及びゲートドライバ42により液晶表示パネル30に表示させる。また、ホスト装置50は、カメラモジュール910で生成された画像データを変復調部950で変調した後、アンテナ960を介して他の通信装置への送信を指示できる。更に、ホスト装置50は、操作入力部970からの操作情報に基づいて画像データの送受信処理、カメラモジュール910の撮像、液晶表示パネル30の表示処理を行う。
図17(A)、図17(B)に、本実施形態における画像処理装置100又は画像表示システム10が適用された電子機器の構成を示す斜視図を示す。図17(A)は、図16の携帯電話機の構成の斜視図を表す。図17(B)は、モバイル型のパーソナルコンピューターの構成の斜視図を表す。図17(A)において、図16と同一部分には同一符号を付し、適宜説明を省略する。
図17(A)に示す携帯電話機900は、本体部980と、表示部990とを含む。表示部990として、本実施形態における画像表示システム10の液晶表示パネル30が実装される。本体部980は、画像表示システム10のうちホスト装置50を含み、この本体部980には操作入力部970としてキーボードが設けられる。即ち、携帯電話機900は、少なくとも上記の実施形態における画像処理装置100を含んで構成される。キーボードを介した操作情報がホスト装置50によって解析され、その操作情報に応じて表示部990に画像が表示される。本実施形態によれば、圧縮画像データを記憶する画像メモリーの一部のみを1画素単位で更新できる上に、圧縮率を向上させることができるため、より多くの画像や情報を蓄積でき、より多機能な携帯電話機を低コストで提供できるようになる。
図17(B)に示すパーソナルコンピューター1000は、本体部1010と、表示部1020とを含む。表示部1020として、本実施形態における画像表示システム10の液晶表示パネル30が実装される。本体部1010は、画像表示システム10のうちホスト装置50を含み、この本体部1010にはキーボード1030が設けられる。即ち、パーソナルコンピューター1000は、少なくとも上記の実施形態における画像処理装置100を含んで構成される。キーボード1030を介した操作情報がホスト装置50によって解析され、その操作情報に応じて表示部1020に画像が表示される。本実施形態によれば、圧縮画像データを記憶する画像メモリーの一部のみを1画素単位で更新できる上に、圧縮率を向上させることができるため、より多くの画像や情報を蓄積でき、より多機能なパーソナルコンピューターを低コストで提供できるようになる。
なお、本実施形態における画像処理装置100又は画像表示システム10(第1の変形例又は第2の変形例における画像処理装置又はこれを含む画像表示システム)が適用された電子機器として、図17(A)、図17(B)に示すものに限定されるものではなく、情報携帯端末(PDA:Personal Digital Assistants)、デジタルスチルカメラ、テレビ、ビデオカメラ、カーナビゲーション装置、ページャー、電子手帳、電子ペーパー、電卓、ワードプロセッサー、ワークステーション、テレビ電話、POS(Point of sale system)端末、プリンター、スキャナー、複写機、ビデオプレーヤー、タッチパネルを備えた機器等が挙げられる。
以上、本発明に係る画像処理装置、画像表示システム、電子機器及び画像処理方法等を上記の実施形態又はその変形例に基づいて説明したが、本発明は上記の実施形態又はその変形例に限定されるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
(1)上記の実施形態又はその変形例では、液晶表示装置に画像データを供給する画像処理装置を例に説明したが、本発明はこれに限定されるものではない。本実施形態における画像処理装置が、有機EL表示装置やCRT(Cathode-Ray Tube)等の表示装置や画像投影装置に画像データを供給するようにしてもよい。
(2)上記の実施形態又はその変形例では、圧縮器及び第1の伸張器が、差分圧縮及びこれに対応する差分伸張処理を行う例について説明したが、本発明は、圧縮処理の処理内容及び伸張処理の処理内容に限定されるものではない。
(3)上記の実施形態又はその変形例では、圧縮処理が、1走査ライン単位、又は1走査ラインを分割したブロック単位で行われ、該圧縮処理に対応した伸張処理も同様であるものとして説明したが、本発明はこれに限定されるものではない。例えば、圧縮処理が、1走査ライン単位又はブロック単位で行われなくてもよい。
(4)上記の実施形態又はその変形例において、圧縮器の構成が図10に示す構成であるものとして説明したが、本発明はこれに限定されるものではない。
(5)上記の実施形態又はその変形例において、第1の伸張器の構成が図13に示す構成であるものとして説明したが、本発明はこれに限定されるものではない。
(6)上記の実施形態又はその変形例において、第2の伸張器の構成に限定されるものではない。また、第1の伸張器と第2の伸張器とが互いに異なるアルゴリズムで圧縮画像データを伸張してもよい。
(7)上の実施形態又はその変形例において、画像処理装置が、圧縮器、第1の伸張器及び第2の伸張器を備える構成を有するものとして説明したが、本発明はこれに限定されるものではない。例えば、圧縮器が行う圧縮処理を、ソフトウェア処理で実現するようにしてもよい。また、第1の伸張器が行う伸張処理を、ソフトウェア処理で実現するようにしてもよい。同様に、第2の伸張器が行う伸張処理を、ソフトウェア処理で実現するようにしてもよい。
(8)上記の実施形態又はその変形例において、本発明を、画像処理装置、画像表示システム、電子機器及び画像処理方法等として説明したが、本発明はこれに限定されるものではない。例えば、上記の画像処理方法の処理手順が記述されたプログラムや、該プログラムが記録された記録媒体であってもよい。