本発明は、画像処理回路及び画像処理方法並びにそれを用いた表示パネルドライバ及び表示装置に関し、特に、画像の圧縮処理及び展開処理を行うための画像処理回路及び画像処理方法並びにそれを用いた表示パネルドライバ及び表示装置に関する。
液晶表示装置、有機EL(electroluminescence)表示装置、プラズマ表示パネルその他の表示装置では、画像圧縮技術が用いられることがある。例えば、表示パネル(例えば、液晶表示パネル、有機EL表示パネル、及びプラズマ表示パネル)を駆動する表示パネルドライバに画像メモリを搭載する場合、画像圧縮を用いることで該画像メモリの容量を低減させることができる。また、画像データを圧縮して表示パネルドライバに転送すれば、データ転送量を低減することができる。これは、データ転送に必要なデータ転送速度及び消費電力の低減に寄与する。
一般的に使用される圧縮方式の一つは、複数の画素からなるブロック単位で圧縮処理を行うブロック符号化である。ブロック符号化では、ブロックを構成する複数の画素の画像データが、少なくとも一つの代表値で表現される。ブロック符号化の代表例が、BTC(Block Truncation Coding)である。例えば、BTCについては、例えば、特開2006−42194号公報、特開2009−212789号公報、特開2011−19204号公報、特許第3790728号に開示されている。BTCは、圧縮率がそれほど高くないので、圧縮率を改善するために、同じ圧縮方法を複数回行う方法も提案されている(特開2007−43577号公報、特許第3036058号公報)。
公知の他の圧縮方式の一つは、各画素の画像データを周波数領域の情報に変換することで圧縮を行う方法である。このような圧縮方式の代表例は、DCT(Discrete Cosine Translation)である。DCTは、JPEG(Joint
Photographic Experts Group)等の画像圧縮の基本的な技術であり、画像処理において広く用いられている。
しかしながら、BTC、DCTは、いずれも、固定長の圧縮処理(圧縮率が固定)を行う場合、特定の画像で圧縮誤差が大きくなり、その結果、画像劣化が起こるという問題がある。具体的には、BTCは、低周波成分を多く含む画像(例えば、写真のような画像)で画像劣化が顕著になり、DCTは、高周波成分を多く含む画像(例えば、文字のような画像)で画像劣化が顕著になる。例えばスマートフォンその他の携帯端末の表示装置では、例えばWeb表示を行う場合のように、文字、画像、グラフィック画像が混在した画像を表示する機会が多く、特定の画像において画像劣化が増大する圧縮処理を採用することは困難である。
出願人は、このような問題に対処するために、ブロック内の画素の相関性に応じて圧縮手法を選択する技術を提案している(例えば、特許第4507265号)。この技術の一つの特徴は、ブロックに含まれる画素のうちから2画素を選択する組み合わせの全てについて相関性が算出されることである。組み合わせの全てについて算出された相関性に応じて圧縮手法を選択することで、圧縮誤差を低減し、画像劣化を抑制することができる。
しかしながら、ブロック内の画素の相関性に応じて圧縮手法を選択する技術は、圧縮誤差の低減には有効であるが、1度に処理される画素の数(ブロックに含まれる画素の数)が増えると画素の組み合わせの数が飛躍的に増加するため、回路規模が増加してしまうという問題がある。例えば、ブロックの画素が4個である場合、そのうちから2画素を選択する組み合わせの数は6(=4C2)であるが、ブロックの画素が8個である場合、組み合わせの数は28(=8C2)である。
したがって、圧縮誤差を低減しながら回路規模の増大を抑制する技術を提供することには、技術的なニーズが存在する。
特開2006−42194号公報
特開2009−212789号公報
特開2011−19204号公報
特許第3790728号
特開2007−43577号公報
特許第3036058号公報
特許第4507265号
したがって、本発明の目的は、圧縮誤差を低減しながら回路規模の増大を抑制することができる画像処理回路及び画像処理方法並びにそれを用いた表示パネルドライバ及び表示装置を提供することにある。
本発明の一の観点では、表示パネルドライバが、N個(Nは、3以上の自然数)の画素の画像データを圧縮して圧縮画像データを生成する圧縮回路と、圧縮画像データを格納する画像メモリと、画像メモリから読み出された圧縮画像データを展開して展開画像データを生成する展開回路と、展開画像データに応答して表示パネルを駆動する駆動回路とを具備する。圧縮回路は、N個の画素の画像データに対して前処理を行い、それぞれが複数の代表値を含むM個(Mは、Nより小さい2以上の自然数)のデータセットを生成する代表値算出回路と、M個のデータセットのうちから2個のデータセットを選択する組み合わせの全てについて2個のデータセットの間の相関性を算出し、算出された相関性に応じて複数の圧縮処理のうちのいずれかを選択し、選択された圧縮処理によってM個のデータセットを圧縮して圧縮画像データを生成する総比較圧縮回路とを含む。
一実施形態では、代表値算出回路は、前処理において、N個の画素を、M個のデータセットに対応づけられたM個のグループにグループ化し、M個のデータセットのそれぞれに含まれる代表値を、M個のグループのうちの対応するグループに属する画素の画像データから算出する。
ここで、N個の画素のそれぞれは、第1色に対応する副画素、第2色に対応する副画素、及び、第3色に対応する副画素を含む場合、前処理におけるN個の画素をM個のグループへのグループ化は、初期的にN個の画素を一のグループに分類すると共に、処理対象になっているグループについて、副画素の階調の最大値と最小値との差が大きいグループ及び色を選択し、選択されたグループに属する画素を、選択された色の副画素の階調によって2つのグループに分類する手順を繰り返すことによって行われることが好ましい。
一実施形態では、M個のデータセットは、4個のデータセットからなり、該複数の圧縮処理は、4個のデータセットに対応する第1代表値を算出し、第1代表値を圧縮画像データに組み込む第1圧縮処理と、4個のデータセットのうちの2個のデータセットに対応する第2代表値を算出し、残りの2個のデータセットに対応する第3代表値を算出し、圧縮画像データに第2代表値及び第3代表値を含める第2圧縮処理と、4個のデータセットのうちの2個のデータセットに対応する第4代表値を算出すると共に、残りの2個のデータセットのそれぞれについてビット数を減少させる処理を独立に行うことによって第1ビット減少データを生成し、圧縮画像データに第4代表値及び第1ビット減少データを組み込む第3圧縮処理と、4個のデータセットそれぞれに対してビット数を減少させる処理を独立に行うことによって第2ビットプレーン減少データを算出し、圧縮画像データに第2ビットプレーン減少データを含める第4圧縮処理とを含んでいてもよい。
他の実施形態では、該N個の画素は、8個の画素からなり、該M個のデータセットは、それぞれが3つの代表値を含む4個のデータセットからなる。この場合、代表値算出回路は、前処理において、8個の画素の画像データに対してYCrCb変換を行って8個の画素のそれぞれについてYデータ、Crデータ、Cbデータを生成し、8個の画素のYデータ、Crデータ、Cbデータのうち、最大値と最小値とが最も大きいデータから8個の第1代表値を算出し、8個の画素のYデータ、Crデータ、Cbデータのうちの残りの2つのデータから、4個の第2代表値を算出し、4個のデータセットのそれぞれは、8個の第1代表値のうちの2つと、4個の第2代表値のうちの1つとを含んでいることが好ましい。
本発明の他の観点では、表示装置が、表示パネルと、表示パネルを駆動する表示パネルドライバとを備えている。表示パネルドライバは、N個(Nは、3以上の自然数)の画素の画像データを圧縮して圧縮画像データを生成する圧縮回路と、圧縮画像データを格納する画像メモリと、画像メモリから読み出された圧縮画像データを展開して展開画像データを生成する展開回路と、展開画像データに応答して表示パネルを駆動する駆動回路とを具備する。圧縮回路は、N個の画素の画像データに対して前処理を行い、それぞれが複数の代表値を含むM個(Mは、Nより小さい2以上の自然数)のデータセットを生成する代表値算出回路と、M個のデータセットのうちから2個のデータセットを選択する組み合わせの全てについて2個のデータセットの間の相関性を算出し、算出された相関性に応じて複数の圧縮処理のうちのいずれかを選択し、選択された圧縮処理によってM個のデータセットを圧縮して圧縮画像データを生成する総比較圧縮回路とを含む。
本発明の更に他の観点では、画像処理回路が、N個(Nは、3以上の自然数)の画素の画像データに対して前処理を行い、それぞれが複数の代表値を含むM個のデータセットを生成する代表値算出回路と、M個(Mは、Nより小さい2以上の自然数)のデータセットのうちから2個のデータセットを選択する組み合わせの全てについて2個のデータセットの間の相関性を算出し、算出された相関性に応じて複数の圧縮処理のうちのいずれかを選択し、選択された圧縮処理によってM個のデータセットを圧縮して圧縮画像データを生成する総比較圧縮回路とを含む。
本発明の更に他の観点では、画像処理方法が、
N個(Nは、3以上の自然数)の画素の画像データに対して前処理を行い、それぞれが複数の代表値を含むM個(Mは、Nより小さい2以上の自然数)のデータセットを生成するステップと、
M個のデータセットのうちから2個のデータセットを選択する組み合わせの全てについて2個のデータセットの間の相関性を算出し、算出された相関性に応じて複数の圧縮処理のうちのいずれかを選択し、選択された圧縮処理によってM個のデータセットを圧縮して圧縮画像データを生成するステップ
とを具備する。
本発明によれば、圧縮誤差を低減しながら回路規模の増大を抑制することができる画像処理回路及び画像処理方法並びにそれを用いた表示パネルドライバ及び表示装置が提供される。
本発明の第1の実施形態の液晶表示装置の構成を示すブロック図である。
第1の実施形態における画像圧縮回路の構成を示すブロック図である。
第1の実施形態における総比較圧縮回路の構成を示すブロック図である。
第1の実施形態における画像展開回路の構成を示すブロック図である。
第1の実施形態における12代表値復元回路の構成を示すブロック図である。
第1の実施形態において12代表値算出回路によって行われる前処理の内容を示すフローチャートである。
第1の実施形態において12代表値算出回路によって行われる前処理の内容を示すフローチャートである。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態におけるデータセットA、B、C、Dの内容を示す図である。
第1の実施形態において、総比較圧縮回路の形状認識部において最適な圧縮処理を選択する動作を示すフローチャートである。
第1の実施形態において、4つのデータセットが図12に図示されている内容のデータで構成されている場合に、復元される8画素の画像データの内容を示す表である。
第2の実施形態において12代表値算出回路によって行われる前処理の内容を示すフローチャートである。
第2の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第2の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第2の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第2の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第2の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第2の実施形態におけるデータセットA、B、C、Dの内容を示す図である。
第2の実施形態において、画像展開回路で行われる展開処理の内容を示すフローチャートである。
第2の実施形態において画像展開回路で行われる展開処理を、具体的な数値例で説明する図である。
第2の実施形態において画像展開回路で行われる展開処理を、具体的な数値例で説明する図である。
可逆圧縮データのフォーマットを示す図である。
(1×4)圧縮データのフォーマットを示す図である。
(2+1×2)圧縮データのフォーマットを示す図である。
(2×2)圧縮データのフォーマットを示す図である。
(4×1)圧縮データのフォーマットを示す図である。
まず、本発明で用いられる画像圧縮方法の概要について説明する。本発明の画像圧縮方法では、N個の画素毎に圧縮処理が行われる。圧縮処理では、まず、N個(Nは、3以上の自然数)の画素の画像データに対して前処理を行ってM個(Mは、Nより小さい2以上の自然数)のデータセットを生成する。各データセットは、該N個の画素の画像データに対して決定された複数の代表値を有している。更に、M個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法を選択し、選択した圧縮手法によってM個のデータセットに対して圧縮処理を行って最終的な圧縮画像データを生成する。
展開処理では、最終的な圧縮画像データに対し、該M個のデータセットに対して選択された圧縮処理に対応する展開処理が行われ、M個のデータセットが復元される。更に、当該M個のデータセットに対して上記の前処理に対応する後処理が行われ、元のN個の画素の画像データが復元される。
上記のような圧縮処理及び復元処理によれば、前処理によって相関性の演算の組み合わせの数を減らすことで回路規模の増大を抑制することができる一方で、M個のデータセットの間の相関性に応じて圧縮手法を選択することで、圧縮誤差の低減も実現することができる。
以下では、本発明の実施形態について詳細に説明する。以下に述べられる実施形態では、圧縮対象のブロックの8画素の画像データに対して前処理を行って、それぞれが3つの代表値を含む4個のデータセットを生成し、4個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法を選択する圧縮処理が記載される。しかしながら、ブロックの画素の数は8に限定されない。また、該ブロックに対応して生成されるデータセットの数は4に限定されない。更に、各データセットに含まれる代表値の数も3には限定されない。
(第1の実施形態)
1.液晶表示装置の全体構成
図1は、本発明の第1の実施形態の液晶表示装置の構成を示すブロック図である。本発明の液晶表示装置1は、LCDパネル(液晶表示パネル)2とコントローラドライバ3とを備えている。LCDパネル2は、データ線と、ゲート線と、V行H列に配置された画素とを備えている。LCDパネル2の1水平ラインには、H個の画素が設けられている。各画素は、赤に対応する副画素(R副画素)、緑に対応する副画素(G副画素)、青に対応する副画素(B副画素)の3つの副画素で構成されており、各副画素は、データ線とゲート線とが交差する位置に設けられている。コントローラドライバ3は、処理装置4から受け取った入力画像データ5に応答してLCDパネル2の各副画素を駆動し、所望の画像を表示する。本実施形態では、入力画像データ5は、各画素の3つの副画素の階調を8ビットで表すデータ、言い換えれば、各画素の色を24ビットで表すデータである。コントローラドライバ3の動作は、処理装置4から供給される制御信号群6によって制御される。処理装置4としては、例えば、CPU(central processing unit)が使用される。制御信号群6としては、例えば、ドットクロック信号DCLK、水平同期信号Hsync、垂直同期信号Vsyncが含まれ得る。
コントローラドライバ3は、命令制御回路11と、ラインメモリ12と、画像圧縮回路13と、画像メモリ14と、画像展開回路15と、データ線駆動回路16と、ゲート線駆動回路17と、タイミング制御回路18と、階調電圧発生回路19とを備えている。
命令制御回路11は、下記の3つの機能を有している。第1に、命令制御回路11は、制御信号群6に応答して、コントローラドライバ3の動作タイミングを示すタイミング設定データ25をタイミング制御回路18に供給する機能を有している。第2に、命令制御回路11は、LCDパネル2に供給される駆動電圧の電圧レベルと、入力画像データ5に示されている階調値との間の関係(即ち、γカーブ)を設定する階調設定データ26を階調電圧発生回路19に供給する機能を有している。
第3に、命令制御回路11は、処理装置4から供給される入力画像データ5を画像圧縮回路13に転送する機能を有している。このとき、命令制御回路11は、入力画像データ5を2行4列の画素(2水平ライン×4画素/水平ライン)毎に画像圧縮回路13に転送する。通常、画像データは、上の水平ラインの画素から順次にLCDドライバに送られるため、入力画像データ5を2行4列の画素毎に画像圧縮回路13に転送するためには入力画像データ5の並べ替えを行う必要がある。命令制御回路11は、1水平ラインの画素の入力画像データ5を保持する容量を有するラインメモリ12を用いて並べ替えを行う。図1においては、並べ替えによって得られた画像データが、符号21によって示されている。
画像圧縮回路13は、命令制御回路11から送られてくる画像データ21に対して画像圧縮処理を行う。画像圧縮回路13による画像圧縮処理は、2行4列の画素毎に行われる。以下では、画像圧縮処理の単位となる2行4列の画素を「ブロック」と呼び、画像圧縮処理の対象のブロックを「対象ブロック」と呼ぶことにする。対象ブロックの画素の画像データ21が命令制御回路11から送られてくると、画像圧縮回路13は、その画像データ21に対して画像圧縮処理が行って圧縮画像データ22を生成する。
本実施形態では、画像圧縮回路13によって生成される圧縮画像データ22は、各ブロックを構成する8つの画素の階調を64ビットで表すデータである。元の画像データ21は、8つの画素の階調を192(=24×8)ビットで表すから、画像圧縮回路13による画像圧縮処理によりデータ量が3分の1になる。即ち、あるブロックについて生成された圧縮画像データ22のビット数は、当該ブロックの圧縮前の画像データ21のビット数の3分の1である。
画像メモリ14は、画像圧縮回路13によって生成された圧縮画像データ22を保存する。一実施形態では、画像メモリ14は、(1/8)×V×H×64ビットの容量を有している。画像メモリ14から読みだされた圧縮画像データは、画像展開回路15に送られる。図1では、画像メモリ14から読みだされた圧縮画像データが符号23で示されている。
画像展開回路15は、画像メモリ14から読み出された圧縮画像データ23を展開して展開画像データ24を生成する。本実施形態では、展開画像データ24は、各画素の3つの副画素の階調をそれぞれ8ビットで表す、24ビットデータである。画像展開回路15の構成、及び動作は、後に詳細に説明する。生成された展開画像データ24は、データ線駆動回路16に送られる。
データ線駆動回路16は、画像展開回路15から送られてくる展開画像データ24に応答してLCDパネル2を駆動する。詳細には、データ線駆動回路16は、シフトレジスタ16aと、表示ラッチ16bと、駆動回路16cとを備えている。シフトレジスタ16aは、画像展開回路15から展開画像データを順次に受け取って保存する。シフトレジスタ16aは、1水平ラインにあるH個の画素の展開画像データを保持する容量を有している。表示ラッチ16bは、シフトレジスタ16aに保持されている1水平ライン分の画素(H個の画素)の展開画像データを一時にラッチし、ラッチした展開画像データを駆動回路16cに転送する。シフトレジスタ16aと表示ラッチ16bの動作タイミングは、タイミング制御回路18から供給されるタイミング制御信号27によって制御される。駆動回路16cは、表示ラッチ16bから送られてくる1ライン分の展開画像データに応答して対応するLCDパネル2のデータ線を駆動する。より具体的には、駆動回路16cは、展開画像データに応答して階調電圧発生回路19から供給される複数の階調電圧V1〜Vmのうちから対応する階調電圧を選択し、LCDパネル2の対応するデータ線を選択された階調電圧に駆動する。
ゲート線駆動回路17は、LCDパネル2のゲート線を駆動する。ゲート線駆動回路17の動作タイミングは、タイミング制御回路18から送られるタイミング制御信号28によって制御される。
タイミング制御回路18は、命令制御回路11から送られるタイミング設定データ25に応答して、コントローラドライバ3全体のタイミング制御を行う。より具体的には、タイミング制御回路18は、タイミング制御信号27をデータ線駆動回路16に供給してデータ線駆動回路16の動作タイミングを制御すると共に、タイミング制御信号28をゲート線駆動回路17に供給してゲート線駆動回路17の動作タイミングを制御する。
階調電圧発生回路19は、命令制御回路11から受け取った階調設定データ26に応答して、階調電圧V1〜Vmを発生し、データ線駆動回路16に供給する。階調電圧V1〜Vmの電圧レベルは、階調設定データ26に応じて制御される。
2.画像圧縮回路と画像展開回路の構成及び動作
続いて、画像圧縮回路13と画像展開回路15の構成及び動作について説明する。図2Aは、画像圧縮回路13の構成を示すブロック図である。画像圧縮回路13は、192ビットデータである8個の画素(即ち、24個の副画素)の画像データ21を、64ビットデータに圧縮することで圧縮画像データ22を生成する機能を有しており、12代表値算出回路31と、総比較圧縮回路32とを備えている。
12代表値算出回路31は、対象ブロックの8個の画素(即ち、24個の副画素)の画像データ21から代表値データ33を生成する回路であり、上述の前処理を行う回路である。代表値データ33は、8個の画素(即ち、24個の副画素)の画像データ21を4個のデータセット及び付属データで表わすデータである。本実施形態では、4個のデータセットが、それぞれが8ビットの3つの代表値を含んでいる。言い換えれば、代表値データ33は、12個の代表値を含んでいることになる。また、付属データは16ビットデータである。即ち、代表値データ33は、112(=8×12+16)ビットデータである。
後に詳細に説明するように、本実施形態では、8個の画素が4つのグループにグループ化され、これら4つのグループが4個のデータセットにそれぞれに対応づけられる。各データセットの3個の代表値は、対応するグループに属する画素のR副画素の階調の平均値、G副画素の階調値の平均値、B副画素の階調の平均値として決定される。なお、各「グループ」には、1個の画素しか属しないことも許容されることに留意されたい。また、グループ化の手法によっては、あるグループに画素が分類されないことがあり得る(例えば、全ての画素が同一のデータである場合)。このような場合、当該グループのデータとして、他の任意のグループのデータがコピーされる。
総比較圧縮回路32は、代表値データ33の4個のデータセットの間の相関性に応じて複数の圧縮処理のうちから最適な圧縮処理を選択し、該4個のデータセットに対して選択した圧縮処理を行って圧縮画像データ22を生成する回路である。圧縮画像データ22は、選択された圧縮処理によって得られる圧縮データと、代表値データ33の付属データとを含むように生成される。
総比較圧縮回路32の圧縮処理は、概略的には、次のようにして行われる。総比較圧縮回路32は、代表値データ33に記述された4個のデータセットのうちから2個のデータセットを選択する組み合わせの全てについて該2個のデータセットの間の相関性を算出する。総比較圧縮回路32は、算出された相関性に応じて圧縮処理を選択し、総比較圧縮回路32は、該4個のデータセットに対して選択された圧縮処理を行う。総比較圧縮回路32は、この圧縮処理によって生成された48ビットデータに、代表値データ33に含まれていた16ビットの付属データを付加することで、64ビットの圧縮画像データ22を生成する。総比較圧縮回路32によって生成された圧縮画像データ22が画像メモリ14に送られて保存される。
本実施形態では、総比較圧縮回路32によって選択される圧縮処理は、次の5つの圧縮処理:可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮を含んでいる。これらの5つの圧縮処理の詳細については後に詳細に説明する。
一方、図3Aは、画像展開回路15の構成を示すブロック図である。画像展開回路15は、12代表値復元回路34と、画像データ復元回路35とを備えている。12代表値復元回路34は、総比較圧縮回路32で行われる圧縮処理に対応する展開処理を行って代表値データ33の4個のデータセットを復元する機能を有している。詳細には、12代表値復元回路34は、画像メモリ14から読みだされた圧縮画像データ23が、上記の5つの圧縮処理のいずれによって圧縮されたかを判断し、圧縮に使用された圧縮処理に対応した展開処理で圧縮画像データ23を展開することで代表値データ33の4個のデータセットを復元する。12代表値復元回路34は、更に、復元した4個のデータセットと、圧縮画像データ23に含まれていた付属データ(即ち、代表値データ33に含まれていた付属データ)とを含む代表値復元データ36を出力する。本実施形態では、上述のように、4個のデータセットのそれぞれが3つの代表値を含み、各代表値が8ビットで表わされ、且つ、付属データが16ビットであるから、代表値復元データ36は、112ビットデータである。
画像データ復元回路35は、代表値復元データ36に含まれている、復元された4個のデータセットと付属データとから、元の8個の画素の画像データを復元する。画像データ復元回路35は、復元された8つの画素の画像データを展開画像データ24としてデータ線駆動回路16に出力する。
3.12代表値算出回路における前処理の詳細
続いて、画像圧縮回路13の12代表値算出回路31によって行われる前処理について詳細に説明する。図4A、図4Bは、12代表値算出回路31によって行われる前処理の内容を示すフローチャートであり、図5〜図12は、12代表値算出回路31における前処理を、具体的な数値例を示して説明する図である。
8個の画素の画像データ21に対して12代表値算出回路31によって行われる前処理は、全体としては、(a)該8個の画素を4つのグループにグループ化し、(b)該4つのグループのそれぞれについて、各グループに属する画素のR副画素の階調の平均値、G副画素の階調の平均値、B副画素の階調の平均値を算出する手順を含んでいる。算出されたR副画素の階調の平均値、G副画素の階調の平均値、B副画素の階調の平均値が、各グループに対応するデータセットを構成する代表値として使用される。
ここで、該8個の画素を4つのグループにグループ化する処理は、次の3つの処理:
(a1)各グループに属する画素のR副画素の階調のバラツキを示すデータ、G副画素の階調のバラツキを示すデータ、及び、G副画素の階調のバラツキを示すデータを算出する処理(ステップS12、S13、S16、S17、S20、S21参照)、
(a2)算出されたバラツキが最も大きいグループ及び色の組み合わせを選択する処理(ステップS14、S18、S22参照)、及び、
(a3)選択されたグループの画素を、選択された色の副画素の階調により2つのグループにグループ分けを行う処理(ステップS15、S19、S23参照)
が、所望数のグループがグループ分けによって定義されるまで繰り返して行われる。ここで、初期状態では、8個の画素が単一のグループに属しているとして、上記の(a2)、(a3)の処理が行われる。即ち、1回目の(a2)の処理では、グループの選択枝が一つのみであり、1回目の(a3)の処理では、初期状態で定義されているグループが自動的に選択される。
ここで、(a2)、(a3)の処理によれば、バラツキが最も大きいグループが分割されることに留意されたい。これにより、各グループに含まれる画素のバラツキを小さくすることができる。これは、R副画素の階調の平均値、G副画素の階調の平均値、B副画素の階調の平均値を代表値として使用した場合に、失われる情報が少ないことを意味しており、画質劣化の低減に寄与する。以下、12代表値算出回路31によって行われる前処理について詳細に説明する。
図4Aを参照して、8画素の画像データ21が12代表値算出回路31に入力されると(ステップS11)、当該8画素のR副画素の階調のバラツキを示すデータ、G副画素の階調のバラツキを示すデータ、及び、G副画素の階調のバラツキを示すデータを算出するための処理が行われる(S12、13)。より具体的には、当該8画素のR副画素について、該R副画素の階調の最大値、最小値が算出される(ステップS12−1)。例えば、図5に図示されている8個の画素#0〜#7の画像データについて前処理が行われる場合、図6に図示されているように、画素#0〜#7のR副画素の階調の最大値Rmaxは“107”であり、最小値Rminは“100”である。
同様に、該8画素のG副画素の階調の最大値、最小値、及び、B副画素の階調の最大値、最小値が算出される(ステップS12−2、S12−3)。図5に図示されている8個の画素#0〜#7の画像データについて前処理が行われる場合、図6に図示されているように、画素#0〜#7のG副画素の階調の最大値Gmaxは“235”であり、最小値Gminは“200”である。一方、画素#0〜#7のB副画素の階調の最大値Bmaxは“187”であり、最小値Gminは“97”である。
更に、当該8画素のR副画素の階調の中央値R_center(即ち、最大値と最小値の平均値)が算出されると共に、R副画素の階調のバラツキを示すデータとして、最大値と最小値の差Rdiffとが算出される(ステップS13−1)。図6の例では、R副画素の階調の中央値R_centerは、“103.5”と算出され、差Rdiffは、“7”と算出される。
同様に、当該8画素のG副画素の階調の中央値G_center(即ち、最大値と最小値の平均値)が算出されると共に、G副画素の階調のバラツキを示すデータとして、最大値と最小値の差Gdiffとが算出される(ステップS13−2)。更に、当該8画素のB副画素の階調の中央値B_center(即ち、最大値と最小値の平均値)が算出されると共に、B副画素の階調のバラツキを示すデータとして、最大値と最小値の差Bdiffとが算出される。
続いて、当該8画素について、副画素の階調のバラツキ(即ち、最大値と最小値との差)が最も大きい色が選択される(ステップS14)。図6の例では、Bdiffが、Rdiff及びGdiffよりも大きく、よって、B副画素が階調のバラツキが最も大きい。このため、図6の例では、色“B”(青)が選択される。
続いて、選択された色の副画素の階調により当該8画素についてグループ分けが行われる(ステップS15)。図7の例では、色“B”が選択されているので、B画素の階調に基づいてグループ分けが行われる。詳細には、当該8画素のうち、B副画素の階調が中央値B_centerより大きい画素がグループ#0に分類され、B副画素の階調が中央値B_centerより小さい画素がグループ#1に分類される。このような分類は、各画素のB副画素の階調を、B副画素の階調の中央値B_centerと比較することで行うことができる。図7には、B副画素の階調の中央値B_centerが142である例が図示されている。図7に図示されている例では、B副画素の階調が中央値B_centerより大きい画素#2、#3、#6、#7がグループ#0に分類され、B副画素の階調が中央値B_centerより小さい画素#0、#1、#4、#5がグループ#1に分類されている。
続いて、各グループについて、各グループに属する4画素のR副画素の階調のバラツキを示すデータ、G副画素の階調のバラツキを示すデータ、及び、G副画素の階調のバラツキを示すデータを算出するための処理が行われる(ステップS16、S17)。より具体的には、グループ#0の4画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、及び、B副画素の階調の最大値Bmax、最小値Gminが算出される(ステップS16−1)。同様に、グループ#1の4画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、及び、B副画素の階調の最大値Bmax、最小値Gminが算出される(ステップS16−2)。図8は、図7に図示されている例についての、グループ#0、#1のそれぞれについての、最大値、最小値の算出結果を示している。
更に、グループ#0の4画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出されると共に、R副画素、G副画素、B副画素の階調の最大値と最小値の差Rdiff、Gdiff、Bdiffが算出される(ステップS17−1)。同様に、グループ#1の4画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出されると共に、R副画素、G副画素、B副画素の階調の最大値と最小値の差Rdiff、Gdiff、Bdiffが算出される(ステップS17−2)。
続いて、副画素の階調のバラツキ(即ち、最大値と最小値との差)が最も大きいグループ及び色の組み合わせが選択される(ステップS18)。図8の例では、グループ#1のB副画素の階調のバラツキ(Bdiff)が、グループ#1のR副画素、G副画素の階調のバラツキ(Rdiff、Gdiff)、及び、グループ#0のR副画素、G副画素、B副画素の階調のバラツキ(Rdiff、Gdiff、Bdiff)よりも大きいので、グループ#1、及び、色“B”が選択される。
続いて、図4Bに図示されているように、選択されたグループの画素に対し、選択された色の副画素の階調によりグループ分けが行われる(ステップS19)。グループ#1、及び、色“B”が選択される図8の例については、図9に図示されているように、グループ#1に属する画素#0、#1、#4、#5について、B副画素の階調が、該グループ#1のB副画素の階調の中央値よりも大きい2個の画素が、グループ#10に分類され、B副画素の階調が、該グループ#1のB副画素の階調の中央値よりも小さい2個の画素が、グループ#11に分類される。このような分類は、グループ#1の各画素のB副画素の階調を、グループ#1に属する画素のB副画素の階調の中央値B_centerと比較することで行うことができる。図9には、B副画素の階調の中央値B_centerが114である例が図示されている。なお、ステップS19において、選択されていないグループについてはグループ化(即ち、グループの分割)は行われないことに留意されたい。
以下、同様に、各グループに属する画素のR副画素の階調のバラツキを示すデータ、G副画素の階調のバラツキを示すデータ、及び、G副画素の階調のバラツキを示すデータを算出する処理(ステップS16、17参照)と、算出されたバラツキが最も大きいグループ及び色の組み合わせを選択する処理(ステップS18参照)と、選択されたグループの画素を、選択された色の副画素の階調により2つのグループにグループ分けを行う処理(ステップS19参照)が、所望数のグループがグループ分けによって定義されるまで繰り返して行われる。
本実施形態では、4つのグループが定義されるので、上記の一連の処理がもう一度行われる。詳細には、グループ#0の4画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、及び、B副画素の階調の最大値Bmax、最小値Gminが算出される(ステップS20−1)。同様に、グループ#10の4画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、及び、B副画素の階調の最大値Bmax、最小値Gminが算出され(ステップS20−2)、グループ#11の4画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、及び、B副画素の階調の最大値Bmax、最小値Gminが算出される(ステップS20−3)。図10は、図9に図示されている例についての、グループ#0、#10、#11のそれぞれについての、最大値、最小値の算出結果を示している。
更に、グループ#0の4画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出されると共に、R副画素、G副画素、B副画素の階調の最大値と最小値の差Rdiff、Gdiff、Bdiffが算出される(ステップS21−1)。同様に、グループ#10の4画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出されると共に、R副画素、G副画素、B副画素の階調の最大値と最小値の差Rdiff、Gdiff、Bdiffが算出される(ステップS21−2)。更に、グループ#11の4画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出されると共に、R副画素、G副画素、B副画素の階調の最大値と最小値の差Rdiff、Gdiff、Bdiffが算出される。
続いて、副画素の階調のバラツキ(即ち、最大値と最小値との差)が最も大きいグループ及び色の組み合わせが選択される(ステップS22)。図10の例では、グループ#0のG副画素の階調のバラツキ(Gdiff)が、グループ#10のR副画素、G副画素の階調のバラツキ、及び、グループ#11のR副画素、G副画素、B副画素の階調のバラツキよりも大きいので、グループ#0、及び、色“G”が選択される。
続いて、選択されたグループ#0の画素に対し、選択された色“G”の副画素の階調によりグループ分けが行われる(ステップS23)。グループ#0、及び、色“G”が選択される図10の例については、図11に図示されているように、グループ#0に属する画素#2、#3、#6、#7について、G副画素の階調が、該グループ#0のG副画素の階調の中央値よりも大きい2個の画素が、グループ#00に分類され、G副画素の階調が、該グループ#0のG副画素の階調の中央値よりも小さい2つの画素が、グループ#01に分類される。このような分類は、グループ#0の各画素のG副画素の階調を、G副画素の階調の中央値G_centerと比較することで行うことができる。図11には、B副画素の階調の中央値G_centerが222である例が図示されている。
以上の処理により、4つのグループ#00、#01、#10、#10が定義される。なお、上述では、まず、8個の画素がグループ#0、#1に分類された後、グループ#0、#1のそれぞれが、2つのグループに分割されて4つのグループが定義されているが、このような手順で4つのグループが定義されるとは限らないことに留意されたい。例えば、ステップS22において、グループ#0、#10、#11のうち、グループ#10の特定の色が、副画素の階調のバラツキが最も大きいグループ及び色の組み合わせとして選択された場合には、グループ#10が2つのグループ#100、#101に分割される。また、グループ分けの結果、1個の画素しか属しないグループが定義され得ることにも留意されたい。また、例えば、全ての画素が同一のデータである場合のように、中央値と比較することでグループ化する手法を採用する本実施形態では、あるグループに画素が分類されないことがあり得る。このような場合、当該グループのデータとして、他の任意のグループのデータがコピーされる。
続いて、4つのグループのそれぞれについて、各グループに属する画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、B副画素の階調の最大値Gmax、最小値Gminが算出される(ステップS24−1〜S24−4)。更に、4つのグループのそれぞれについて、各グループに属する画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出される(ステップS25−1〜S25−4)。図12は、図11に図示されている例についての、グループ#00、#01、#10、#11のそれぞれについての、R副画素、G副画素、B副画素の階調の中央値の算出結果を示している。
続いて、グループの並び替え処理が行われる(ステップS26)。並び替え処理は、特定の画素(本実施形態では画素#0)が、特定のグループIDを有するグループ(本実施形態では、グループ#00)に属するように決定される。ここで、グループIDとは、グループを特定する一連番号であり、本実施形態では、「グループ#x」と記載した場合におけるxが、グループIDである。
この並び替え処理は、代表値データ33に含まれる付属データのビット数をなるべく低減するために行われる。代表値データ33に含まれる付属データには、各画素が、どのグループに属するかを示すグループデータが組み込まれる。そして、特定の画素(本実施形態では画素#0)が、特定のグループIDを有するグループ(本実施形態では、グループ#00)に属するように決定することで、グループデータのビット数、即ち、付属データのビット数を低減することができる。本実施形態では、(画素#0を除く)画素#1〜画素#7のそれぞれが属するグループが2ビットで表現される。即ち、付属データのうちの14ビットが、画素#1〜画素#7のそれぞれが属するグループを記述するグループデータとして使用される。付属データのうちの残りの2ビットは、任意に使用され得るが、例えば、本実施形態のような圧縮処理(前処理による4つのデータセットの生成と、4個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法を選択する圧縮処理)が行われたことを示す識別子として使用されうる。
上記のようにして定義された4つのグループのそれぞれについて算出された、各グループに属する画素のR副画素、G副画素、B副画素の階調の中央値が、12個の代表値として用いられる。ここで、各グループのR副画素、G副画素、B副画素の階調の中央値で構成される3つのデータが、データセットとして使用される。図13は、4個のデータセットの内容を示す図である。4個のデータセットA〜Dは、それぞれ、グループ#00、#01、#10、#11に対応づけられている。データセットAは、グループ#00に属する画素のR副画素、G副画素、B副画素の階調の中央値で構成され、データセットBは、グループ#01に属する画素のR副画素、G副画素、B副画素の階調の中央値で構成される。同様に、グループ#10に属する画素のR副画素、G副画素、B副画素の階調の中央値で構成され、データセットBは、グループ#11に属する画素のR副画素、G副画素、B副画素の階調の中央値で構成される。
以上に定義された4個のデータセットに16ビットの付属データを付加することで、代表値データ33が生成される。上述のように、付属データには、各画素が、どのグループに属するかを示す14ビットのグループデータが含まれている。
4.総比較圧縮回路における圧縮処理
続いて、画像圧縮回路13の総比較圧縮回路32によって行われる圧縮処理について説明する。上述されているように、総比較圧縮回路32は、代表値データ33に記述された4個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法を選択し、選択した圧縮手法によって該4個のデータセットに対して圧縮処理を行って圧縮画像データ22を生成する。ここで、本実施形態では、上述されているように、可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮のうちから最適な圧縮手法が選択される。
ここで、可逆圧縮は、圧縮画像データから完全に元の4個のデータセットを復元できるように圧縮する方式であり、本実施形態では、圧縮対象の4個のデータセットが特定のパターンを有している場合に使用される。
(1×4)圧縮とは、圧縮対象の4個のデータセットのそれぞれについてビット数を減少させる処理(本実施形態では、ディザマトリックスを用いたディザ処理)を独立に行う方式である。この(1×4)圧縮は、圧縮対象の4個のデータセットの相関性が低い場合に好適である。
(2+1×2)圧縮とは、圧縮対象の4個のデータセットのうちの2つのデータセットの値を代表する代表値を定める一方、他の2つのデータセットのそれぞれについて、ビット数を減少させる処理(本実施形態では、ディザマトリックスを用いたディザ処理)を行う方式である。この(2+1×2)圧縮は、4個のデータセットのうちの2つのデータセットの間の相関性が高く、且つ、他の2つのデータセットの間の相関性が低い場合に好適である。
(2×2)圧縮とは、圧縮対象の4個のデータセットを2つのデータセットからなる2つの組に分け、当該2つのデータセットの組のそれぞれについてデータを代表する代表値を定める方式である。この(2×2)圧縮は、4個のデータセットのうちの2つのデータセットの相関性が高く、且つ、他の2つのデータセットの相関性が高い場合に好適である。
(4×1)圧縮とは、圧縮対象の4個のデータセットを代表する代表値を定めて当該4個のデータセットを圧縮する方式である。この(4×1)圧縮は、対象ブロックの全4個のデータセットの間の相関性が高い場合に好適である。
上記の5つの圧縮処理のいずれが使用されるかは、圧縮対象の4個のデータセットが特定のパターンを有しているか否か、及び、4個のデータセットのうちから2つのデータセットを選択する組み合わせの全てについて算出された2つのデータセットの間の相関性に応じて決定される。例えば、全4個のデータセットの画像データの相関性が高い場合には(4×1)圧縮が使用され、4個のデータセットのうちの2つのデータセットの画像データの相関性が高く、且つ、他の2つのデータセットの画像データの相関性が高い場合には(2×2)圧縮が使用される。
上記の動作を行うために、図2Bに示されているように、総比較圧縮回路32は、形状認識部41と、可逆圧縮部42と、(1×4)圧縮部43と、(2+1×2)圧縮部44と、(2×2)圧縮部45と、(4×1)圧縮部46と、圧縮データ選択部47とを備えている。
形状認識部41は、代表値データ33の4個のデータセットを受け取り、上記の5つの圧縮処理のいずれを選択すべきかを決定する。例えば、形状認識部41は、4個のデータセットのうち、どの組み合わせのデータセットの相関性が高いか、或いは、どのデータセットが他のデータセットに対して相関性が低いかを認識する。更に、形状認識部41は、認識結果に応答して、5つの圧縮処理:可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮のいずれを使用すべきかを指示する選択データを生成する。
(1×4)圧縮部43、(2+1×2)圧縮部44、(2×2)圧縮部45、及び(4×1)圧縮部46は、それぞれ、代表値データ33の4個のデータセットに対して上述の(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、及び(4×1)圧縮を行い、それぞれ、(1×4)圧縮データ、(2+1×2)圧縮データ、(2×2)圧縮データ、及び(4×1)圧縮データを生成する。
圧縮データ選択部47は、形状認識部41から送られてくる選択データに基づいて、(1×4)圧縮データ、(2+1×2)圧縮データ、(2×2)圧縮データ、及び(4×1)圧縮データのいずれかを選択し、選択した圧縮データに、代表値データ33に含まれる16ビットの付属データを付加したデータを圧縮画像データ22として出力する。圧縮画像データ22には、上記の5つの圧縮処理のいずれが使用されたかを示す圧縮種類認識ビットが含まれている。圧縮データ選択部47から出力された圧縮画像データ22は、画像メモリ14に送られて書き込まれる。
図14は、総比較圧縮回路32の形状認識部41において、最適な圧縮処理を選択する動作を示すフローチャートである。以下の説明では、データセットA、B、C、Dに記述されたR副画素の階調の平均値を、それぞれ、RデータRA、RB、RC、RDと記載する。同様に、データセットA、B、C、Dに記述されたG副画素の階調の平均値を、それぞれ、GデータGA、GB、GC、GDと記載し、データセットA、B、C、Dに記述されたB副画素の階調の平均値をそれぞれ、BデータBA、BB、BC、BDと記載する。
まず、データセットA、B、C、Dが特定パターンに該当するかが判断され(ステップS01)、データセットA、B、C、Dが特定パターンに該当する場合、可逆圧縮が行われる。本実施形態では、データセットA、B、C、Dのデータ値が5種類以下であるような所定のパターンが、可逆圧縮が行われる特定パターンとして選択されている。
一例では、データセットA、B、C、Dが、以下の4つのパターン(1)〜(4)のいずれかに該当する場合、可逆圧縮が行われる:
(1) データセットA、B、C、Dが一致
データセットA、B、C、Dが下記条件(1a)を満足する場合、可逆圧縮が行われる。
条件(1a):
RA=RB=RC=RD,
GA=GB=GC=GD,
BA=BB=BC=BD.
この場合、データセットA、B、C、Dのデータ値は3種類である。
(2) データセットA、B、C、Dそれぞれにおいて、3つの代表値が同一
データセットA、B、C、Dが下記条件(2a)を満足する場合にも可逆圧縮が行われる。
条件(2a):
RA=GA=BA,
RB=GB=BB,
RC=GC=BC,
RD=GD=BD.
この場合、データセットA、B、C、Dのデータ値は4種類である。
(3)Rデータ、Gデータ、Bデータのうちの2つの値が、データセットA、B、C、Dについて同一
下記の3つの条件(3a)〜(3c)のいずれかを満足する場合にも可逆圧縮が行われる:
条件(3a): GA=GB=GC=GD=BA=BB=BC=BD.
条件(3b): BA=BB=BC=BD=RA=RB=RC=RD.
条件(3c): RA=RB=RC=RD=GA=GB=GC=GD.
この場合、データセットA、B、C、Dのデータ値は5種類である。
(4)Rデータ、Gデータ、Bデータのうちの1つのデータ値が同一、且つ、残りの2つのデータがデータセットA、B、C、Dについて同一
更に、下記の3つの条件(4a)〜(4c)のいずれかを満足する場合にも可逆圧縮が行われる:
条件(4a):
GA=GB=GC=GD,
RA=BA,
RB=BB,
RC=BC,
RD=BD.
条件(4b):
BA=BB=BC=BD.
RA=GA,
RB=GB,
RC=GC,
RD=GD.
条件(4c)
RA=RB=RC=RD.
GA=BA,
GB=BB,
GC=BC,
GD=BD.
この場合、データセットA、B、C、Dのデータ値は5種類である。
可逆圧縮が行われない場合、データセットA、B、C、Dの間の相関に応じて圧縮手法が選択される。より具体的には、形状認識部41は、データセットA、B、C、Dが、下記のいずれの場合に該当するかを判断する:
ケースA:データセットA、B、C、Dのから選択された任意の2つのデータセットの組み合わせのすべてについて、相関性が低い。
ケースB:データセットA、B、C、Dのうちの2つの間に高い相関性があり、かつ、残り2つのデータセットは、先の2つのデータセットと相関性が低く、且つ、互いに相関性が低い。
ケースC:データセットA、B、C、Dのうちの2つのデータセットの間に高い相関性があり、かつ、残りの2つのデータセットの間に高い相関性がある
ケースD:データセットA、B、C、Dの間に高い相関性がある。
詳細には、
i∈{A,B,C,D}
j∈{A,B,C,D}
i≠j
なるi、jの全ての組み合わせについて下記条件(A)が成立しない場合、形状認識部41は、ケースAに該当する(即ち、4画素のうちの任意の組み合わせの画素の画像データの間の相関性が低い)と判断する(ステップS02)。
条件(A):
|Ri―Rj|≦Th1,且つ
|Gi―Gj|≦Th1,且つ
|Bi―Bj|≦Th1,
ケースAに該当する場合、形状認識部41は、(1×4)圧縮を行うと決定する。
ケースAに該当しないと判断した場合、形状認識部41は、データセットA、B、C、Dに対して第1組の2つのデータセットと第2組の2つのデータセットを規定し、その全ての組み合わせについて、前記第1組の2つのデータセットのデータ値の差分が所定値よりも小さく且つ前記第2組の2つのデータセットのデータ値の差分が所定値よりも小さいという条件が満足されるか否かを判断する。より具体的には、形状認識部41は、下記条件(B1)〜(B3)のいずれかが成立するか否かを判断する(ステップS03)。
条件(B1):
|RA―RB|≦Th2,且つ
|GA―GB|≦Th2,且つ
|BA―BB|≦Th2,且つ
|RC―RD|≦Th2,且つ
|GC―GD|≦Th2,且つ
|BC―BD|≦Th2.
条件(B2):
|RA―RC|≦Th2,且つ
|GA―GC|≦Th2,且つ
|BA―BC|≦Th2,且つ
|RB―RD|≦Th2,且つ
|GB―GD|≦Th2,且つ
|BB―BD|≦Th2.
条件(B3):
|RA―RD|≦Th2,且つ
|GA―GD|≦Th2,且つ
|BA―BD|≦Th2,且つ
|RB―RC|≦Th2,且つ
|GB―GC|≦Th2,且つ
|BB―BC|≦Th2.
下記条件(B1)〜(B3)がいずれも成立しない場合、形状認識部41は、ケースBに該当する(即ち、2つのデータセットの間に高い相関性があり、かつ、他の2つのデータセットは、互いに相関性が低い)と判断する。この場合、形状認識部41は、(2+1×2)圧縮を行うと決定する。
ケースA、Bのいずれにも該当しないと判断した場合、形状認識部41は、4つのデータセットのRデータ、Gデータ、Bデータのそれぞれについて、4つのデータセットの最大値と最小値との差が所定値より小さいという条件が満足されるか否かを判断する。より具体的には、形状認識部41は、下記条件(C)が成立するか否かを判断する(ステップS04)。
条件(C):
max(RA,RB,RC,RD)−min(RA,RB,RC,RD)<Th3,且つ
max(GA,GB,GC,GD)−min(GA,GB,GC,GD)<Th3,且つ
max(BA,BB,BC,BD)−min(BA,BB,BC,BD)<Th3.
条件(C)が成立しない場合、形状認識部41は、ケースCに該当する(即ち、4つのデータセットの間に高い相関性があり、かつ、他の4つのデータセットの間に高い相関性がある)と判断する。この場合、形状認識部41は、(2×2)圧縮を行うと決定する。
一方、条件(C)が成立する場合、形状認識部41は、ケースDに該当する(4つのデータセットの間に高い相関性がある)と判断する。この場合、形状認識部41は、(4×1)圧縮を行うと決定する。
形状認識部41は、上記の相関性の認識結果に基づき、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮のいずれを使用すべきかを指示する選択データを生成し、圧縮データ選択部47に送る。上述のように、圧縮データ選択部47は、形状認識部41から送られてくる選択データに基づいて、可逆圧縮部42から出力される可逆圧縮データ、(1×4)圧縮部43から出力される(1×4)圧縮データ、(2+1×2)圧縮部44から出力される(2+1×2)圧縮データ、(2×2)圧縮部45から出力される(2×2)圧縮データ、及び(4×1)圧縮部46から出力される(4×1)圧縮データのいずれかを圧縮画像データ22として出力する。
なお、可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮それぞれの詳細については、後の章において詳細に説明する。
5.12代表値復元回路で行われる展開処理
12代表値復元回路34は、画像メモリ14から送られてきた圧縮画像データ23が、上記の5つの圧縮処理のいずれによって圧縮されたかを判断し、圧縮に使用された圧縮処理に対応した展開処理で圧縮画像データ23を展開する。
このような動作を行うために、図3Bに示されているように、12代表値復元回路34は、元データ復元部51、(1×4)展開部52、(2+1×2)展開部53と、(2×2)展開部54と、(4×1)展開部55と、展開データ選択部56とを備えている。元データ復元部51、(1×4)展開部52、(2+1×2)展開部53、(2×2)展開部54、及び(4×1)展開部55は、それぞれ、可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、及び(4×1)圧縮によって圧縮された圧縮画像データ23を展開する機能を有している。展開データ選択部56は、圧縮画像データ23に含まれている圧縮種類認識ビットから実際に圧縮に使用された圧縮処理を認識し、元データ復元部51、(1×4)展開部52、(2+1×2)展開部53、(2×2)展開部54、及び(4×1)展開部55から出力される展開データのうち実際に使用された圧縮処理に対応する展開処理で展開されて生成された展開データを選択する。展開データ選択部56は、選択した展開データに、圧縮画像データ23に含まれる16ビットの付属データを付加したデータを代表値復元データ36として出力する。12代表値復元回路34による展開処理で得られた代表値復元データ36は、復元された4つのデータセットと、16ビットの付属データとを含んで構成されることになる。よって、代表値復元データ36は、112ビットデータである。
なお、元データ復元部51、(1×4)展開部52、(2+1×2)展開部53、(2×2)展開部54、及び(4×1)展開部55において行われる展開処理については、後の章で詳細に説明する。
6.画像データ復元回路による後処理
画像データ復元回路35は、代表値復元データ36に記述されている4つのデータセットと付属データとから、元の8画素の画像データを復元する処理(以下では、「後処理」とも呼ばれる。)を行う。画像データ復元回路35は、後処理によって復元した画像データを展開画像データ24として出力する。画像データ復元回路35による後処理においては、各画素の画像データの復元が以下の手順で行われる。
まず、画像データを復元すべき画素が8つの画素のうちから選択される。以下では選択された画素を対象画素という。続いて、対象画素が属するグループが、付属データから特定される。当該グループに対応するデータセットに記述されているR副画素、G副画素、B副画素の階調の平均値が、それぞれ、該対象画素のR副画素、G副画素、B副画素の階調と決定され、これにより、対象画素の画像データが復元される。
図15は、4つのデータセットが図12に図示されている内容のデータで構成されている場合に、復元された8画素の画像データの内容(即ち、展開画像データ24の内容)を示す表である。例えば、グループ#00に属する画素#0について考える。代表値復元データ36の付属データから、画像データ復元回路35は、画素#0がグループ#00に属すると認識する。このとき、グループ#00に対応するデータセットAには、R副画素、G副画素、B副画素の階調の平均値が、それぞれ、“102”、“210”、“97”であると記述されている。この場合、画素#0のR副画素、G副画素、B副画素の階調は、それぞれ、“102”、“210”、“97”と復元される。他の画素#1〜#7についても、同様の処理が行われて、展開画像データ24が生成される。
展開画像データ24は、データ線駆動回路16に送られ、LCDパネル2のデータ線の駆動は、展開画像データ24に応答して行われる。
以上に説明されているように、本実施形態では、画像圧縮回路13において、8個の画素の画像データ21に対して前処理を行って4個のデータセットを含む代表値データ33が生成される。更に、4個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法が選択され、選択した圧縮手法によって代表値データ33の4個のデータセットに対して圧縮処理を行って最終的な圧縮画像データ22が生成される。
一方、展開処理では、選択された圧縮処理に対応する展開処理が圧縮画像データ23に対して行われ、4個のデータセットを含む代表値復元データ36が復元される。更に、当該4個のデータセットに対して上記の前処理に対応する後処理が行われ、元の8個の画素の画像データが復元された展開画像データ24が生成される。
上記のような圧縮処理及び復元処理によれば、前処理によって相関性の演算の組み合わせの数を減らすことで回路規模の増大を抑制することができる一方で、4個のデータセットの間の相関性に応じて圧縮手法を選択することで、圧縮誤差の低減も実現することができる。
加えて、本実施形態の前処理では、バラツキが最も大きいグループが分割されてグループ化されるので、各グループに含まれる画素のバラツキを小さくすることができる。これは、R副画素の階調の平均値、G副画素の階調の平均値、B副画素の階調の平均値を代表値として使用した場合に、失われる情報が少ないことを意味しており、画質劣化の低減に寄与する。
(第2の実施形態)
図16は、本発明の第2の実施形態における12代表値算出回路31によって行われる前処理の内容を示すフローチャートであり、図16〜図22は、12代表値算出回路31における前処理を、具体的な数値例を示して説明する図である。また、図23は、画像データ復元回路35によって行われる後処理の内容を示すフローチャートであり、図24、図25は、画像データ復元回路35における後処理を、具体的な数値例を示して説明する図である。
第2の実施形態では、12代表値算出回路31における前処理、及び、画像データ復元回路35における後処理の内容が第1の実施形態と異なっている。以下では、第2の実施形態における12代表値算出回路31における前処理、及び、画像データ復元回路35における後処理について詳細に説明する。なお、第2の実施形態における液晶表示装置1の構成及び動作は、12代表値算出回路31における前処理、及び、画像データ復元回路35における後処理以外は第1の実施形態と同一である。
第2の実施形態において、12代表値算出回路31によって行われる前処理は、全体としては、
(a)該8個の画素の画像データ21に対してYCrCb変換を行う処理
(b)YCrCb変換によって得られた輝度データ(Yデータ)と2種類の色差データ(Crデータ、Cbデータ)のうち、最もバラツキが大きいデータから8つの代表値を生成する処理、
(c)他の2つのデータのそれぞれから2つの代表値を生成する(即ち、合計で4つの代表値を生成する)処理
を含んでいる。このようにして得られた12個の代表値が、4つのデータセットにグループ化される。更に、このようにして定義された4つのデータセットについて総比較圧縮回路32による圧縮処理(即ち、4つのデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法を選択する処理)が行われて圧縮画像データ22が生成される。以下、12代表値算出回路31における前処理について詳細に説明する。
8画素の画像データ21が12代表値算出回路31に入力されると(ステップS31)、入力された8画素の画像データ21に対してYCrCb変換が行われる(ステップS32)。本実施形態では、各画素について、下記式によってYCrCb変換が行われる:
Y=R+2G+B ・・・(11a)
Cr=R−G ・・・(11b)
Cb=B−G ・・・(11c)
ここで、Rは、各画素のR副画素の階調であり、Gは、各画素のG副画素の階調であり、
なお、当業者には周知であるように、YCrCb変換は、式(11a)〜(11c)とは異なる様々な式を用いて実行され得ることに留意されたい。図17は、8画素の画像データ21の具体的な数値例を示しており、図18は、図17に図示されている8画素の画像データ21に対して式(11a)〜(11c)によるYCrCb変換を行って得られたYデータ、Crデータ、Cbデータを示している。
続いて、Yデータ、Crデータ、Cbデータのうち、バラツキが最大のデータが選択され、選択されたデータから8つの代表値が生成されて保存される(ステップS33)。詳細には、8画素のYデータ、Crデータ、Cbデータのそれぞれについて、最大値、最小値が算出され、更に、最大値と最小値との差が算出される。Yデータ、Crデータ、Cbデータのうち、最大値と最小値との差が最も大きいデータが、バラツキが最大のデータとして選択される。図18の例では、Yデータの最大値と最小値との差が、Crデータ、Cbデータの最大値と最小値との差よりも大きいため、Yデータが、バラツキが最大のデータとして選択され、8画素のYデータから8つの代表値が生成されて保存される。
ここで、本実施形態では代表値は8ビットデータなので、バラツキが最大のデータとして選択されたデータのビット幅が8ビットを超える場合には、ビット数を低減する処理が行われる。例えば、画像データ21においてR副画素、G副画素、B副画素の階調がそれぞれ8ビットデータで記述されている場合、上記式(11a)によって演算されたYデータは10ビットデータになる。そのためYデータが、バラツキが最大のデータとして選択された場合には、下位2ビットを切り捨てる処理(言い換えれば、4で除算する処理)が行われる。即ち、8画素のYデータに対して下位2ビットを切り捨てる処理を行うことで、8つの代表値が生成される。図16では、得られた8つの代表値がY0〜Y7として図示されている。
更に、Yデータ、Crデータ、Cbデータのいずれが選択されたかを示す色変換データが生成される。色変換データは2ビットデータであり、付属データ(16ビット)のうちの2ビットとして代表値データ33に組み込まれる。
なお、以下の説明では、ステップS33において、Yデータが、バラツキが最大のデータとして選択された場合について説明するが、Crデータ又はCbデータの一方が、バラツキが最大のデータとして選択された場合、残りの2つのデータ(Yデータと、Crデータ又はCbデータの他方)について、下記のステップS34〜S41の処理が行われることに留意されたい。
続いて、Crデータ、Cbデータのそれぞれについて(即ち、ステップS33において選択されなかった残り2つのデータについて)、最大値、最小値が算出される(ステップSS34−1、S34−2)。更に、Crデータ、Cbデータのそれぞれについて、中央値(即ち、最大値と最小値の平均値)、及び、バラツキ(即ち、最大値と最小値の差)が算出される(ステップS35−1、35−2)。図19には、図18に図示されているCrデータ、Cbデータのそれぞれについて算出された最大値、最小値、バラツキ(最大値と最小値の差)が図示されている。ここで、Cr_Max、Cr_Min、Cr_Diffは、それぞれ、Crデータの最大値、最小値、バラツキ(最大値と最小値の差)を示している。同様に、Cb_Max、Cb_Min、Cb_Diffは、それぞれ、Cbデータの最大値、最小値、バラツキ(最大値と最小値の差)を示している。
続いて、Crデータ、Cbデータのうち、バラツキが大きい方のデータ(即ち、最大値と最小値の差が大きい方のデータ)が、選択される(ステップS36)。図19の例では、CbデータのばらつきCb_Diffが、CrデータのばらつきCr_Diffよりも大きいので、Cbデータが選択される。
続いて、選択されたデータにより、当該8画素についてグループ分けが行われる(ステップS37)。図20の例では、Cbデータが選択されているので、Cbデータに基づいてグループ分けが行われる。詳細には、当該8画素のうち、Cbデータが中央値Cb_centerより大きい画素が、グループ#0に分類され、Cbデータが中央値Cb_centerより小さい画素が、グループ#1に分類される。このような分類は、各画素のCbデータを、Cbデータの中央値Cb_centerと比較することで行うことができる。図20には、Cbデータの中央値Cb_centerが75である例が図示されている。図20に図示されている例では、Cbデータが中央値Cb_centerより大きい画素#0、#4、#5がグループ#0に分類され、Cbデータが中央値Cb_centerより小さい画素#1、#2、#3、#6、#7がグループ#1に分類されている。
ここで、ステップS37のグループ分けは、特定の画素(本実施形態では、画素#0)が、必ずグループ#0に分類されるように行われる。これにより、画素#0については、いずれのグループに属するかを示す情報を保存する必要がなくなる。
ステップS37におけるグループ分けにより、画素#1〜#7がいずれのグループに分類されたかを示すグループデータが生成される。グループデータは7ビットデータであり、付属データ(16ビット)のうちの7ビットとして代表値データ33に組み込まれる。
続いて、各グループに属する画素のCrデータ、Cbデータの最大値、最小値を算出する処理(ステップS38)、及び、各グループに属する画素のCrデータ、Cbデータの中央値(最大値と最小値の平均値)を算出する処理(ステップS39)が行われる。より具体的には、グループ#0の画素のCrデータの最大値Cr_Max0、最小値Cr_Min0、及び、Cbデータの最大値Cb_Max0、最小値Cb_Min0が算出される(ステップS38−1)。同様に、グループ#1の画素のCrデータの最大値Cr_Max1、最小値Cr_Min1、及び、Cbデータの最大値Cb_Max1、最小値Cb_Min1が算出される(ステップS38−2)。図21は、図20に図示されている例についての、グループ#0、#1のそれぞれについての、Crデータ、Cbデータの最大値、最小値の算出結果を示している。
更に、グループ#0に属する画素のCrデータ、Cbデータの中央値Cr_Center0、Cb_Center0が算出される(ステップS39−1)。中央値Cr_Center0、Cb_Center0は、それぞれ、Crデータ、Cbデータの最大値、最小値の平均値として算出される。即ち、
Cr_Center0=(Cr_Max0+Cr_Min0)/2 ・・・(12a)
Cb_Center0=(Cb_Max0+Cb_Min0)/2 ・・・(12b)
グループ#1についても同様に、グループ#1に属する画素のCrデータ、Cbデータの中央値Cr_center1、Cb_center1が下記式により算出される(ステップS39−2)。
Cr_Center1=(Cr_Max1+Cr_Min1)/2 ・・・(12c)
Cb_Center1=(Cb_Max1+Cb_Min1)/2 ・・・(12d)
続いて、グループ#0に属する画素のCrデータ、Cbデータの中央値Cr_center0、Cb_center0と、グループ#1に属する画素のCrデータ、Cbデータの中央値Cr_center1、Cb_center1とから、残り4つの代表値を決定する処理が行われる。以下に述べられるステップS40、S41は、残り4つの代表値を決定するための処理である(8つの代表値が、既に、8画素のYデータから決定されていることに留意されたい)。
グループ#0、#1それぞれのCrデータの中央値Cr_center0、Cr_center1は、そのまま、2つの代表値として使用される。ここで、グループ#0、#1それぞれのCrデータの中央値Cr_center0、Cr_center1から決定された代表値を、それぞれ、Cr0、Cr1と表記する。即ち、
Cr0=Cr_center0 ・・・(13a)
Cr1=Cr_center1 ・・・(13b)
である。
一方、Cbデータの中央値Cb_center0、Cb_center1については、Cb_center0がCr_center0の値に近い値になるように加減算処理がなされ、該加減算処理によって得られた2つの値が2つの代表値として使用される。ここで、グループ#0、#1それぞれのCrデータの中央値Cb_center0、Cb_center1から決定された代表値を、それぞれ、Cb0、Cb1と表記する。
詳細には、まず、グループ#0に属する画素のCrデータ、Cbデータの中央値の差分ΔCrCb0(=Cr_center0−Cb_center0)が算出される(ステップS40)。
更に、Cbデータの中央値Cb_center0、Cb_center1に対して、差分ΔCrCb0に応じて決定されるパラメータ値ηを加算する処理が行われる(ステップ。即ち、代表値Cr0、Cr1は、下記式によって算出される:
Cb0=Cb_center0+η ・・・(14a)
Cb1=Cb_center1+η ・・・(14b)
ここで、パラメータ値ηは、負の値であることが許容されている。言い換えれば、式(14a)、(14b)による処理は、Cbデータの中央値Cb_center0、Cb_center1に対して、加算又は減算を行う処理である。
式(4a)、(4b)のパラメータ値ηは、
η=m・2K ・・・(15a)
となるように決定されている値である。ここで、mは、差分ΔCrCb0(=Cr_center0−Cb_center0)に応じて決定される整数であり、Kは、Crデータ、Cbデータのビット数より小さい所定の自然数である。ここで、mは、正の整数、負の整数、0のいずれかである。本実施形態では、Crデータ、Cbデータのビット数が9であり、Kは、5と定められているとする。よって、式(15a)は、下記式(15b)と書き換えることができる。
η=32×m ・・・(15b)
即ち、式(15b)によりパラメータ値ηが決定される本実施形態では、式(14a)、(14b)は、32(=25)の整数倍を加算又は減算する演算である。
mは、差分ΔCrCb0(=Cr_center0−Cb_center0)に応じて決定される。より具体的には、mは、次のように決定される:
(A)Cr_center0≦Cb_center0の場合
m=[|ΔCrCb0|/2K] ・・・(16a)
(B)Cr_center0>Cb_center0の場合
m=−[|ΔCrCb0|/2K] ・・・(16b)
ここで、[x]は、ガウス記号(より厳密には床関数(floor function))を示しており、実数xに対してx以下の最大の整数を意味している。
mを表わすために必要であるビット数は、Crデータ、Cbデータのビット数から式(5a)のKを減じた数に1を加えた数である。即ち、本実施形態では、mは、5ビットデータである。式(16a)、(16b)で決定されたmが、CrCb差分データとして、付属データ(16ビット)のうちの5ビットとして代表値データ33に組み込まれる。
例えば、図21の例では、差分ΔCrCb0は2である。このため、式m=0と決定される。即ち、η=0である。よって、
Cb0=Cb_center0 ・・・(14a’)
Cb1=Cb_center1 ・・・(14b’)
となり、中央値Cb_center0、Cb_center1が、そのまま、代表値Cb0、Cb1として用いられる。
なお、ステップS40においては、グループ#0のCrデータの中央値Cr_center0と、CbデータのCb_center0から算出された差分ΔCrCb0に基づいて、Cbデータの中央値Cb_center0、Cb_center1に対して加減算が行われているが、グループ#1のCrデータの中央値Cr_center1と、CbデータのCb_center1から算出された差分ΔCrCb1に基づいて、Cbデータの中央値Cb_center0、Cb_center1に対して加減算が行われてもよい。この場合、mは、差分ΔCrCb1(=Cr_center1−Cb_center1)に応じて決定される。より具体的には、mは、次のように決定される:
(A)Cr_center1≦Cb_center1の場合
m=[|ΔCrCb1|/2K] ・・・(16c)
(B)Cr_center1>Cb_center1の場合
m=−[|ΔCrCb1|/2K] ・・・(16c)
上記の過程により、12個の代表値(即ち、Y0〜Y7、Cr0、Cb0、Cr1、Cb1)が決定される。これらの12個の代表値から、4個のデータセットA、B、C、Dが決定される。図22は、4個のデータセットA、B、C、Dの内容を示す表である。データセットAは、データY0、Cr0、Y4で構成され、データセットBは、データY1、Cb0、Y5で構成される。また、データセットCは、データY2、Cr1、Y6で構成され、データセットDは、データY3、Cb1、Y7で構成される。
上記の演算によれば、4個のデータセットA、B、C、Dが、比較的に相関性が高いように決定されていることに留意されたい。Y0〜Y7は、2行4列に並んだ(言い換えれば、比較的に近接した)8画素の画像データ21から算出された輝度データ(Yデータ)から得られているので差異は小さい。Cr0、Cr1も同様に、2行4列に並んだ8画素の画像データ21から算出された色差データ(Crデータ)から得られているので、差異が小さい。また、Cr0、Cb0も、上記のステップS40、S41の演算により、差異が小さくなるように決定されている。これは、失われる情報が少ないことを意味しており、画質劣化の低減に寄与している。
以上に定義された4個のデータセットに16ビットの付属データを付加することで、代表値データ33が生成される。上述のように、付属データは、ステップS33においてYデータ、Crデータ、Cbデータのいずれが選択されたかを示す色変換データ(2ビット)と、各画素が属するグループを示すグループデータ(7ビット)と、式(16a)、(16b)で決定されたmを示すCrCb差分データ(5ビット)とを含んでいる。付属データのうちの残りの2ビットは、任意に使用され得るが、例えば、本実施形態のような圧縮処理が行われたことを示す識別子として使用され得る。
このようにして生成された代表値データ33は総比較圧縮回路32に入力され、代表値データ33のデータセットA、B、C、Dに対し、総比較圧縮回路32によって圧縮処理が行われる。ただし、本実施形態では、代表値データ33のデータセットA、B、C、Dを構成するデータと、総比較圧縮回路32の入力として使用される12個のデータ(RA、RB、RC、RD、GA、GB、GC、GD、BA、BB、BC、BD)の対応関係が、次のように定義される。まず、代表値データ33のデータセットA、B、C、DのデータY0、Y1、Y2、Y3が、それぞれ、RデータRA、RB、RC、RDとして用いられる。また、代表値データ33のデータセットA、B、C、DのデータCr0、Cb0、Cr1、Cb1が、それぞれ、GデータGA、GB、GC、GDとして用いられる。更に、代表値データ33のデータセットA、B、C、DのデータY4、Y5、Y6、Y7が、それぞれ、BデータBA、BB、BC、BDとして用いられる。第2の実施形態では、総比較圧縮回路32の入力であるRデータ、Gデータ、Bデータには、色を識別するという技術的意味は失われているが、総比較圧縮回路32における演算処理としては、第1の実施形態と同一の処理が行われて圧縮画像データ22が生成される。なお、圧縮画像データ22には、代表値データ33に含まれていた付属データも組み込まれることに留意されたい。
図23は、第2の実施形態における、画像メモリ14から送られてきた圧縮画像データ23に対して行われる展開処理を示すフローチャートである。まず、画像メモリ14から送られてきた圧縮画像データ23が画像展開回路15に入力されると(ステップS51)、12代表値復元回路34により、総比較圧縮回路32における圧縮処理に対応する展開処理が行われる(ステップS52)。具体的には、画像メモリ14から送られてきた圧縮画像データ23が、上記の5つの圧縮処理のいずれによって圧縮されたかを判断し、圧縮に使用された圧縮処理に対応した展開処理で圧縮画像データ23が展開され、代表値復元データ36が生成される。即ち、12個の代表値(即ち、Y0〜Y7、Cr0、Cb0、Cr1、Cb1)が復元される。ここで、代表値復元データ36には、圧縮画像データ23に含まれていた付属データがそのまま組み込まれる。
更に、画像データ復元回路35は、代表値復元データ36に記述されている4つのデータセットと付属データとから、元の8画素の画像データを復元する後処理を行う。画像データ復元回路35は、後処理によって復元した画像データを展開画像データ24として出力する。本実施形態では、画像データ復元回路35による後処理において、各画素の画像データの復元が以下の手順で行われる。
まず、画像データ復元回路35は、付属データに含まれる。色変換データから、ステップS33において、輝度データ(Yデータ)が選択されたことを認識する。
更に、画像データ復元回路35は、代表値復元データ36に記述されているCr0、Cb0、Cr1、Cb1と、CrCb差分データとから、グループ#0、#1のCrデータ、Cbデータの中央値Cr_Center0、Cb_Center0、Cr_Center1、Cb_Center1を復元する(ステップS53)。ここで、CrCb差分データは、式(16a)、(16b)で決定されたmを示すデータであるから、式(14a)、(14b)、(15a)、(15b)を介して、中央値Cr_Center0、Cb_Center0、Cr_Center1、Cb_Center1が復元可能であることに留意されたい。
更に、画像データ復元回路35は、データY0〜Y7と、中央値Cr_Center0、Cb_Center0、Cr_Center1、Cb_Center1とから、元の8画素のYデータ、Crデータ、Cbデータを復元する処理を行う(ステップS54)。元の8画素のYデータ、Crデータ、Cbデータを復元する処理は、下記の手順で行われる。
まず、Yデータ、Crデータ、Cbデータを復元すべき画素が8つの画素のうちから選択される。以下では選択された画素を対象画素という。続いて、対象画素が属するグループが、付属データから特定される。対象グループが属するグループのCrデータ、Cbデータの中央値の組(Cr_Center0、Cb_Center0の組、又は、)が、対象画素のCrデータ、Cbデータとして復元される。加えて、データY0〜Y7のうち対象画素に対応するデータから該対象画素のYデータが復元される。本実施形態では、Yデータについて下位2ビットを切り捨てる処理を行ってデータYi(iは0〜7の整数)を生成しているので、データY0〜Y7のうち対象画素に対応するデータを4倍した値として対象画素のYデータが復元される。
図24は、グループ#0、#1のCrデータ、Cbデータの中央値が、図21に示されているような値である場合に、復元された8画素のYデータ、Crデータ、Cbデータの内容(即ち、展開画像データ24の内容)を示す表である。例えば、グループ#0に属する画素#0について考える。このとき、画素#0に対応するデータY0を4倍することで画素#0のYデータが復元される。更に、代表値復元データ36の付属データから、画像データ復元回路35は、画素#0がグループ#0に属すると認識する。画素#0のCrデータは、グループ#0について算出されたCrデータの中央値Cr_Center0と決定され、画素#0のCbデータは、グループ#0について算出されたCbデータの中央値Cb_Center0と決定される。この結果、画素#0のYデータ、Crデータ、Cbデータは、それぞれ、596、110、108と決定される。他の画素#1〜#7についても同様の処理が行われて、画素#1〜#7のYデータ、Crデータ、Cbデータが決定される。
更に、画素#0〜#7のYデータ、Crデータ、Cbデータに対して、YCrCb−RGB変換が行われ、画素#0〜#7の展開画像データ24が生成される(ステップS55)。展開画像データ24は、データ線駆動回路16に送られ、LCDパネル2のデータ線の駆動は、展開画像データ24に応答して行われる。
なお、以上の説明では、ステップS33において、Yデータが、バラツキが最大のデータとして選択された場合について説明されているが、Crデータ又はCbデータの一方が、バラツキが最大のデータとして選択された場合、残りの2つのデータ(Yデータと、Crデータ又はCbデータの他方)について、上記のステップS53〜S54の処理が行われることに留意されたい。
以上に説明されているように、本実施形態においても、画像圧縮回路13において、8個の画素の画像データ21に対して前処理を行って4個のデータセットを含む代表値データ33が生成される。更に、4個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法が選択され、選択した圧縮手法によって代表値データ33の4個のデータセットに対して圧縮処理を行って最終的な圧縮画像データ22が生成される。
一方、展開処理では、選択された圧縮処理に対応する展開処理が圧縮画像データ23に対して行われ、4個のデータセットを含む代表値復元データ36が復元される。更に、当該4個のデータセットに対して上記の前処理に対応する後処理が行われ、元の8個の画素の画像データが復元された展開画像データ24が生成される。
上記のような圧縮処理及び復元処理によれば、前処理によって相関性の演算の組み合わせの数を減らすことで回路規模の増大を抑制することができる一方で、4個のデータセットの間の相関性に応じて圧縮手法を選択することで、圧縮誤差の低減も実現することができる。
加えて、第2の実施形態においては、4個のデータセットA、B、C、Dが、比較的に相関性が高いように決定される。Y0〜Y7は、2行4列に並んだ8画素の画像データ21から算出された輝度データ(Yデータ)から得られているので差異は小さい。Cr0、Cr1も同様に、2行4列に並んだ8画素の画像データ21から算出された色差データ(Crデータ)から得られているので、差異が小さい。また、Cr0、Cb0も、上記のステップS40、S41の演算により、差異が小さくなるように決定されている。これは、失われる情報が少ないことを意味しており、画質劣化の低減に寄与している。
(総比較圧縮回路における圧縮処理及び12代表値復元回路における展開処理の詳細)
以下では、第1及び第2の実施形態において、総比較圧縮回路32で行われる可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮、及び、これらの圧縮処理によって圧縮された圧縮画像データに対して12代表値復元回路34で行われる展開処理の例について詳細に説明する。
1.可逆圧縮及びその展開処理
本実施形態では、可逆圧縮は、データセットA、B、C、Dのデータ値を並び替えることによって行われる。図26は、可逆圧縮によって生成された可逆圧縮データのフォーマットを示す図である。本実施形態では、可逆圧縮データは、48ビットデータであり、圧縮種類認識ビットと、パターン種類データと、データ#1〜#5と、パディングデータとで構成される。
圧縮種類認識ビットは、圧縮に使われた圧縮処理の種類を示すデータであり、可逆圧縮データでは、4ビットが圧縮種類認識ビットに割り当てられる。本実施形態では、可逆圧縮データの圧縮種類認識ビットの値は「1111」である。
パターン種類データは、データセットA、B、C、Dが該当するパターンを指定するデータである。本実施形態では、8つの特定パターン(即ち、上述の条件(1a)、(2a)、(3a)〜(3c)、(4a)〜(4c)に該当するパターン)が定義されているから、パターン種類データは3ビットである。
データ#1〜#5は、データセットA、B、C、Dのデータ値を並び替えることによって得られるデータである。データ#1〜#5は、いずれも8ビットデータである。上述のように、可逆圧縮が行われる場合、データセットA、B、C、Dのデータ値は5種類以下であるから、データ#1〜#5に全てのデータ値を格納することができる。
パディングデータは、可逆圧縮データのビット数を、他の圧縮処理で圧縮された圧縮画像データと同一にするために追加されるデータである。本実施形態では、パディングデータは1ビットである。
上述の可逆圧縮によって生成された可逆圧縮データの展開は、パターン種類データを参照してデータ#1〜#5を並び替えることによって行われる。パターン種類データには、データセットA、B、C、Dが該当するパターンが記述されているから、パターン種類データを参照することにより、データセットA、B、C、Dを、何らの圧縮歪みを生じさせずに完全に復元することができる。
2.(1×4)圧縮及びその展開処理
図27は、(1×4)圧縮データのフォーマットを示す概念図である。上述のように、(1×4)圧縮は、4データセットのうちから選択された2つのデータセットの組み合わせの全てについて、該2つのデータセットの間の相関性が低い場合に採用される圧縮処理である。図27に示されているように、本実施形態では、(1×4)圧縮データが、圧縮種類認識ビットと、RA *、GA *、BA *データと、RB *、GB *、BB *データと、RC *、GC *、BC *データと、RD *、GD *、BD *データとで構成される。本実施形態では、(1×4)圧縮データは、48ビットデータである。
圧縮種類認識ビットとは、圧縮に使われた圧縮処理の種類を示すデータであり、(1×4)圧縮データでは、1ビットが圧縮種類認識ビットに割り当てられる。本実施形態では、(1×4)圧縮データの圧縮種類認識ビットの値は「0」である。
一方、RA *、GA *、BA *データは、それぞれ、データセットAのRデータRA、GデータGA、BデータBAに対してビット数を減少させる処理を行って得られるデータであり、RB *、GB *、BB *データは、データセットBのRデータRB、GデータGB、BデータBBに対してビット数を減少させる処理を行って得られるデータである。同様に、RC *、GC *、BC *データは、それぞれ、データセットCのRデータRC、GデータGC、BデータBCに対してビット数を減少させる処理を行って得られるデータであり、RD *、GD *、BD *データは、データセットDのRデータRD、GデータGD、BデータBDに対してビット数を減少させる処理を行って得られるデータである。本実施形態では、データセットDのBデータに対応するBD *データのみ3ビットデータであり、残りのデータ(RA *、GA *、BA *データ、RB *、GB *、BB *データ、RC *、GC *、BC *データ、及び、RD *、GD *データ)は4ビットデータである。
以下、図27を参照しながら、(1×4)圧縮におけるデータ処理について説明する。(1×4)圧縮では、データセットA〜Dのそれぞれについて、ディザマトリックスを用いたディザ処理が行われ、これにより、データセットA〜Dのビット数が減少される。詳細には、まず、データセットA、B、C、DのRデータ、Gデータ、Bデータのそれぞれに誤差データαを加算する処理が行われる。本実施形態では、誤差データαは、当該圧縮処理の対象のブロックの位置から適宜の方法(例えば、ベイヤーマトリックスである基本マトリックスを用いた方法)で決定される。以下では、データセットA、B、C、Dについて定められた誤差データαが、それぞれ、0、5、10、15であるとして説明が行われる。
誤差データαが加算されたデータセットA、B、C、DのRデータ、Gデータ、Bデータに、丸め処理とビット切捨て処理が行われてRA *、GA *、BA *データ、RB *、GB *、BB *データ、RC *、GC *、BC *データ、及びRD *、GD *、BD *データが生成される。詳細には、データセットDのBデータBDについては、値16を加算した後、下位5ビットを切り捨てる処理が行われる。データセットA、B、CのRデータ、Gデータ、Bデータ、及び、データセットDのRデータ、Gデータについては、値8を加算した後、下位4ビットを切り捨てる処理が行われる。このようにして生成されたRA *、GA *、BA *データ、RB *、GB *、BB *データ、RC *、GC *、BC *データ、及びRD *、GD *、BD *データに、圧縮種類認識ビットとして値「0」を付加することにより、(1×4)圧縮データが生成される。
一方、(1×4)圧縮で圧縮された圧縮画像データの展開では、まず、RA *、GA *、BA *データ、RB *、GB *、BB *データ、RC *、GC *、BC *データ、及びRD *、GD *、BD *データのビット繰上げが行われる。詳細には、データセットDのBデータBDに対応するBD *データについては、5ビットの繰上げが行われ、他のデータ(RA *、GA *、BA *データ、RB *、GB *、BB *データ、RC *、GC *、BC *データ、及びRD *、GD *データ)については、4ビットの繰上げが行われる。更に、誤差データαの減算が行われ、これにより、データセットA〜DのRデータ、Gデータ、Bデータが復元される。即ち、(1×4)圧縮で圧縮された圧縮画像データの展開処理が完了する。
3.(2+1×2)圧縮及びその展開処理
図28は、(2+1×2)圧縮データのフォーマットを示す概念図である。上述のように、(2+1×2)圧縮は、2つのデータセットの間に高い相関性があり、かつ、他の2つのデータセットは、先の2つのデータセットと相関性が低く、且つ、互いに相関性が低い場合に採用される。図28に示されているように、本実施形態では、(2+1×2)圧縮データが、圧縮種類認識ビット、選択データ、R代表値、G代表値、B代表値、付加情報データ、Ri *、Gi *、Bi *データ、及びRj *、Gj *、Bj *データで構成される。ここで、(2+1×2)圧縮データは、上述の(1×4)圧縮データと同様に48ビットデータである。
圧縮種類認識ビットとは、圧縮に使われた圧縮処理の種類を示すデータであり、(2+1×2)圧縮データでは、2ビットが圧縮種類認識ビットに割り当てられる。本実施形態では、(2+1×2)圧縮データの圧縮種類認識ビットの値は「10」である。
選択データとは、データセットA〜Dのうち、どの2つのデータセットの間の相関性が高いかを示す3ビットデータである。(2+1×2)圧縮が使用される場合、データセットA〜Dのうち、2つのデータセットの間の相関性が高く、残りの2つのデータセットは他の2つのデータセットとの相関性が低い。したがって、相関性が高い2つのデータセットの組み合わせは、下記の6通りである:
・データセットA、C
・データセットB、D
・データセットA、B
・データセットC、D
・データセットB、C
・データセットA、D
選択データは、3ビットによって、相関性が高い2つのデータセットが、これらの6つの組み合わせのいずれであるかを示している。
R代表値、G代表値、B代表値は、それぞれ、相関性が高い2つのデータセットのRデータ、Gデータ、Bデータを代表する値である。図28の例では、R代表値及びG代表値に5ビット又は6ビットのデータであり、B代表値は5ビットのデータである。
付加情報データは、β比較データと、大小認識データとを含んでいる。β比較データとは、相関性が高い2つのデータセットのRデータの差及びGデータの差が、所定の閾値βよりも大きいか否かを示すデータである。本実施形態では、β比較データは2ビットのデータである。一方、大小認識データは、相関性が高い2つのデータセットのうち、どちらのデータセットのRデータが大きいか、及び、どちらのデータセットのGデータが大きいかを示すデータである。Rデータに対応する大小認識データは、相関性が高い2つのデータセットのRデータの差が閾値βよりも大きい場合にのみ生成され、Gデータに対応する大小認識データは、相関性が高い2つのデータセットのGデータの差が閾値βよりも大きい場合にのみ生成される。したがって、大小認識データは、0〜2ビットのデータである。
Ri *、Gi *、Bi *データ、及びRj *、Gj *、Bj *データは、相関性が低い2つのデータセットのRデータ、Gデータ、Bデータに対してビット数を減少させる処理を行って得られるデータである。なお、i、jは、A、B、C、Dから互いに異なるように選択された2つである。本実施形態では、Ri *、Gi *、Bi *データ、及びRj *、Gj *、Bj *データは、いずれも、4ビットデータである。
以下、図28を参照しながら、(2+1×2)圧縮におけるデータ処理について説明する。以下の説明では、データセットA、Bの間の相関性が高く、データセットC、DのそれぞれがデータセットA、Bに対して相関性が低く、且つ、データセットC、D相互の相関性が低い場合における(2+1×2)圧縮データの生成について記述している。他の場合も同様にして(2+1×2)圧縮データが生成可能であることは、当業者には容易に理解されよう。
まず、(相関性が高い)データセットA、Bの圧縮処理について説明する。まず、Rデータ、Gデータ、Bデータのそれぞれの平均値が算出される。Rデータ、Gデータ、Bデータの平均値Rave、Gave、Baveは、下記式によって算出される:
Rave=(RA+RB+1)/2,
Gave=(GA+GB+1)/2,
Bave=(BA+BB+1)/2.
更に、データセットA、BのRデータの差|RA−RB|及び、Gデータの差|GA−GB|が、所定の閾値βよりも大きいか否かが比較される。この比較結果がβ比較データとして(2+1×2)圧縮データの付加情報データに組み込まれる。
更に、下記の手順により、データセットA、BのRデータ及びGデータについて大小認識データが作成される。データセットA、BのRデータの差|RA−RB|が閾値βよりも大きい場合、データセットA、BのいずれのRデータが大きいかが、大小認識データに記述される。データセットA、BのRデータの差|RA−RB|が閾値β以下の場合には、データセットA、BのRデータの大小関係は、大小認識データに記述されない。同様に、データセットA、BのGデータの差|GA−GB|が閾値βよりも大きい場合、データセットA、BのいずれのGデータが大きいかが、大小認識データとして、(2+1×2)圧縮データの付加情報データに組み込まれる。データセットA、BのGデータの差|GA−GB|が閾値β以下の場合には、データセットA、BのGデータの大小関係は、大小認識データに記述されない。
続いて、Rデータ、Gデータ、Bデータの平均値Rave、Gave、Baveに誤差データαが加算される。本実施形態では、本実施形態では、誤差データαは、当該圧縮処理の対象のブロックの位置から適宜の方法(例えば、ベイヤーマトリックスである基本マトリックスを用いた方法)で決定される。以下では、本実施形態では、データセットA、Bについて定められた誤差データαが0であるとして説明が行われる。
更に、丸め処理及びビット切捨て処理が行われてR代表値、G代表値、B代表値が算出される。詳細には、Rデータの平均値Rave及びGデータの平均値Gaveについての丸め処理において加算される数値及びビット切捨て処理で切り捨てられるビット数は、それぞれ、差|RA−RB|、|GA−GB|と閾値βとの大小関係に応じて決定される。Rデータの平均値Raveについては、Rデータの差|RA−RB|が閾値βよりも大きい場合、Rデータの平均値Raveに値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりR代表値が算出される。そうでない場合、平均値Raveに値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりR代表値が算出される。Gデータの平均値Gaveについても同様に、Gデータの差|GA−GB|が閾値βよりも大きい場合、Gデータの平均値Gaveに値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりG代表値が算出される。そうでない場合、平均値Gaveに値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりG代表値が算出される。
一方、B代表値については、Bデータの平均値Baveに値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりB代表値が算出される。以上により、データセットA、Bの圧縮処理が完了する。
(相関性が低い)データセットC、Dについては、(1×4)圧縮と同様の処理が行われる。即ち、データセットC、Dのそれぞれについて、ディザマトリックスを用いたディザ処理が独立に行われ、これにより、データセットC、DのRデータ、Gデータ、Bデータのビット数を減少する処理が行われる。詳細には、まず、データセットC、DのRデータ、Gデータ、Bデータのそれぞれに誤差データαを加算する処理が行われる。上述のように、誤差データαは、当該圧縮処理の対象のブロックの位置から算出される。以下では、データセットC、Dについて定められた誤差データαがそれぞれ10、15であるとして説明が行われる。
更に、丸め処理とビット切捨て処理が行われてRC *、GC *、BC *データ、RD *、GD *、BD *データが生成される。詳細には、データセットC、DそれぞれのR、G、Bデータのそれぞれについて、値8を加算した後、下位4ビットを切り捨てる処理が行われる。これにより、RC *、GC *、BC *データ、RD *、GD *、BD *データが算出される。
以上のようにして生成されたR代表値、G代表値、B代表値、大小認識データ、β比較結果データ、RC *、GC *、BC *データ、及びRD *、GD *、BD *データに、圧縮種類認識ビット及び選択データを付加することにより、(2+1×2)圧縮データが生成される。
(2+1×2)圧縮で圧縮された圧縮画像データの展開処理は、以下のようにして行われる。以下では、データセットA、Bの間の相関性が高く、データセットC、DがデータセットA、Bに対して相関性が低く、且つ、データセットC、D相互の相関性が低い場合における(2+1×2)圧縮データの展開について記述している。他の場合も同様にして(2+1×2)圧縮データが展開可能であることは、当業者には容易に理解されよう。
まず、(相関性が高い)データセットA、Bに関する展開処理について説明する。まず、R代表値、G代表値、B代表値に対してビット繰上げ処理が行われる。R代表値、G代表値に対するビット繰上げ処理のビット数は、β比較データに記述された、階調値の差|RA−RB|、|GA−GB|と閾値βとの大小関係に応じて決定される。Rデータの差|RA−RB|が閾値βよりも大きい場合、R代表値に対して3ビットのビット繰上げ処理が行われ、そうでない場合、2ビットのビット繰上げ処理が行われる。同様に、Gデータの差|GA−GB|が閾値βよりも大きい場合、G代表値に対して3ビットのビット繰上げ処理が行われ、そうでない場合、2ビットのビット繰上げ処理が行われる。
更に、R代表値、G代表値、B代表値のそれぞれについて、誤差データαの減算が行われた後、R代表値、G代表値、B代表値からデータセットA、BのRデータ、Gデータ、Bデータの階調値を復元する処理が行われる。
データセットA、BのRデータの復元においては、付加情報データに含まれるβ比較データ及び大小認識データが使用される。β比較データにおいて、Rデータの差|RA−RB|が閾値βよりも大きいと記述されている場合、R代表値に一定値(例えば、5)を加えた値が、データセットA、Bのうち大小認識データにおいて大きいと記述されている方のRデータとして復元され、R代表値に該一定値を減じた値が大小認識データにおいて小さいと記述されている方のRデータの階調値として復元される。一方、Rデータの差|RA−RB|が閾値βよりも小さい場合、データセットA、BのRデータは、R代表値に一致するとして復元される。
データセットA、BのGデータの復元においても、β比較データ及び大小認識データを用いて同様の処理が行われる。一方、データセットA、BのBデータの階調値の復元においては、β比較データ及び大小認識データに無関係に、データセットA、BのBデータの値がいずれも、B代表値に一致するとして復元される。
以上で、データセットA、BのRデータ、Gデータ、Bデータの復元が完了する。
(相関性が低い)データセットC、Dに対する展開処理では、上述の(1×4)圧縮データの展開処理と同様の処理が行われる。データセットC、Dに対する展開処理では、まず、RC *、GC *、BC *データ、及びRD *、GD *、BD *データのそれぞれについて、4ビットのビット繰上げ処理が行われる。更に、誤差データαの減算が行われ、これにより、データセットC、DのRデータ、Gデータ、Bデータが復元される。
以上の過程により、データセットA〜Dの全ての復元が完了する。即ち、(2+1×2)圧縮で圧縮された圧縮画像データの展開処理が完了する。
4.(2×2)圧縮及びその展開処理
図29は、(2×2)圧縮データのフォーマットを示す概念図である。上述のように、(2×2)圧縮は、2つのデータセットの間に高い相関性があり、かつ、他の2つのデータセットの間に高い相関性がある場合に使用される圧縮処理である。図29に示されているように、本実施形態では、(2×2)圧縮データが48ビットデータであり、圧縮種類認識ビットと、選択データと、R代表値#1と、G代表値#1と、B代表値#1と、R代表値#2と、G代表値#2と、B代表値#2と、大小認識データと、β比較結果データとで構成される。
圧縮種類認識ビットとは、圧縮に使われた圧縮処理の種類を示すデータであり、(2×2)圧縮データでは、3ビットが圧縮種類認識ビットに割り当てられる。本実施形態では、(2×2)圧縮データの圧縮種類認識ビットの値は「110」である。
選択データとは、データセットA〜Dのうち、どの2つのデータセットの間の相関性が高いかを示す2ビットデータである。(2×2)圧縮が使用される場合、データセットA〜Dのうち、2つのデータセット(以下、第1データセット対という)の間に高い相関性があり、かつ、他の2つのデータセット(以下、第2データセット対という)の間に高い相関性がある。したがって、相関性が高い2つのデータセットの組み合わせは、下記の3通りである:
・データセットA、Bの相関性が高く、データセットC、Dの相関性が高い
・データセットA、Cの相関性が高く、データセットB、Dの相関性が高い
・データセットA、Dの相関性が高く、データセットB、Cの相関性が高い
選択データは、2ビットによって、これらの3つの組み合わせのいずれかを示している。
R代表値#1、G代表値#1、B代表値#1は、それぞれ、第1データセット対のデータセットのRデータ、Gデータ、Bデータを代表する値であり、R代表値#2、G代表値#2、B代表値#2は、それぞれ、第2データセット対のデータセットのRデータ、Gデータ、Bデータを代表する値である。図29の例では、R代表値#1、G代表値#1、B代表値#1、R代表値#2、及びB代表値#2は、5ビット又は6ビットのデータであり、G代表値#2は6又は7ビットのデータである。
付加情報データは、β比較データと大小認識データとを含んでいる。β比較データとは、相関性が高い2つのデータセットのRデータの差、Gデータの差、及び、Bデータの差が、それぞれ、所定の閾値βよりも大きいか否かを示すデータである。本実施形態では、β比較データは、第1データセット対及び第2データセット対のそれぞれに3ビットが割り当てられた6ビットのデータである。一方、大小認識データは、第1データセット対、及び第2データセット対のそれぞれについて、どちらのデータセットのRデータの値が大きいか、どちらのデータセットのGデータの値が大きいか、及び、どちらのデータセットのBデータの値が大きいかを示すデータである。各データセット対について、Rデータに対応する大小認識データは、該データセット対のRデータの差が閾値βよりも大きい場合にのみ生成される。同様に、各データセット対について、Gデータに対応する大小認識データは、該データセット対のGデータの差が閾値βよりも大きい場合にのみ生成され、Bデータに対応する大小認識データは、該データセット対のBデータの差が閾値βよりも大きい場合にのみ生成される。したがって、大小認識データは、0〜6ビットのデータである。
以下、図29を参照しながら、(2×2)圧縮におけるデータ処理について説明する。以下では、データセットA、Bの間の相関性が高く、データセットC、Dの間の相関性が高い場合における(2×2)圧縮データの生成について記述している。データセットA、Bが第1データセット対と定義され、データセットC、Dが第2データセット対と定義される。他の場合も同様にして(2×2)圧縮データが生成可能であることは、当業者には容易に理解されよう。
まず、各データセット対について、Rデータ、Gデータ、Bデータの平均値が算出される。詳細には、データセットA、BのRデータ、Gデータ、Bデータの平均値Rave1、Gave1、Bave1、及びデータセットC、DのRデータ、Gデータ、Bデータの平均値Rave2、Gave2、Bave2は、下記式によって算出される:
Rave1=(RA+RB+1)/2,
Gave1=(GA+GB+1)/2,
Bave1=(BA+BB+1)/2,
Rave2=(RA+RB+1)/2,
Gave2=(GA+GB+1)/2,
Bave1=(BA+BB+1)/2.
更に、データセットA、BのRデータの差|RA−RB|、Gデータの差|GA−GB|、及び、Bデータの差|BA−BB|が、所定の閾値βよりも大きいか否かが比較される。同様に、データセットC、DのRデータの差|RC−RD|、Gデータの差|GC−GD|、及び、Bデータの差|BC−BD|が、所定の閾値βよりも大きいか否かが比較される。これらの比較結果は、β比較データとして(2×2)圧縮データの付加情報データに組み込まれる。
更に、データセットA、Bの組み合わせ、及びデータセットC、Dの組み合わせのそれぞれについて大小認識データが作成される。作成された大小認識データは、(2+1×2)圧縮データの付加情報データに組み込まれる。
詳細には、データセットA、BのRデータの差|RA−RB|が閾値βよりも大きい場合、データセットA、BのいずれのRデータが大きいかが、大小認識データに記述される。データセットA、BのRデータの差|RA−RB|が閾値β以下の場合には、データセットA、BのRデータの大小関係は、大小認識データに記述されない。同様に、データセットA、BのGデータの差|GA−GB|が閾値βよりも大きい場合、データセットA、BのいずれのGデータが大きいかが、大小認識データに記述される。データセットA、BのGデータの差|GA−GB|が閾値β以下の場合には、データセットA、BのGデータの大小関係は、大小認識データに記述されない。加えて、データセットA、BのBデータの差|BA−BB|が閾値βよりも大きい場合、データセットA、BのいずれのBデータが大きいかが、大小認識データに記述される。データセットA、BのBデータの差|BA−BB|が閾値β以下の場合には、データセットA、BのBデータの大小関係は、大小認識データに記述されない。
同様に、データセットC、DのRデータの差|RC−RD|が閾値βよりも大きい場合、データセットC、DのいずれのRデータが大きいかが、大小認識データに記述される。データセットC、DのRデータの差|RC−RD|が閾値β以下の場合には、データセットC、DのRデータの大小関係は、大小認識データに記述されない。同様に、データセットC、DのGデータの差|GC−GD|が閾値βよりも大きい場合、データセットC、DのいずれのGデータが大きいかが、大小認識データに記述される。データセットC、DのGデータの差|GC−GD|が閾値β以下の場合には、データセットC、DのGデータの大小関係は、大小認識データに記述されない。加えて、データセットC、DのBデータの差|BC−BD|が閾値βよりも大きい場合、データセットC、DのいずれのBデータが大きいかが、大小認識データに記述される。データセットC、DのBデータの差|BC−BD|が閾値β以下の場合には、データセットC、DのBデータの大小関係は、大小認識データに記述されない。
更に、データセットA、BのRデータ、Gデータ、Bデータの平均値Rave1、Gave1、Bave1、及び、データセットC、DのRデータ、Gデータ、Bデータの平均値Rave2、Gave2、Bave2に、誤差データαが加算される。本実施形態では、誤差データαは、圧縮処理の対象のブロックの位置からベイヤーマトリックスである基本マトリックスを用いて決定される。以下では、本実施形態では、データセットA、Bについて定められた誤差データαが0であるとして説明が行われる。
更に、丸め処理及びビット切捨て処理が行われてR代表値#1、G代表値#1、B代表値#1、R代表値#2、G代表値#2、B代表値#2が算出される。まず、データセットA、Bについて説明すると、丸め処理において加算される数値及びビット切捨て処理で切り捨てられるビット数は、Rデータ、Gデータ、Bデータの差|RA−RB|、|GA−GB|、及び|BA−BB|と閾値βとの大小関係に応じて、2ビット又は3ビットに決定される。Rデータについては、Rデータの差|RA−RB|が閾値βよりも大きい場合、Rデータの平均値Rave1に値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりR代表値#1が算出される。そうでない場合、平均値Rave1に値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりR代表値#1が算出される。結果として、R代表値#1は、5ビット又は6ビットになる。Gデータ、Bデータについても同様である。Gデータの差|GA−GB|が閾値βよりも大きい場合、Gデータの平均値Gave1に値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりG代表値#1が算出される。そうでない場合、平均値Gave1に値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりG代表値#1が算出される。更に、Bデータの差|BA−BB|が閾値βよりも大きい場合、Bデータの平均値Bave1に値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりB代表値#1が算出される。そうでない場合、平均値Bave1に値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりB代表値#1が算出される。
データセットC、Dの組み合わせについても同様の処理が行われてR代表値#2、G代表値#2、B代表値#2が算出される。ただし、データセットC、DのGデータについては、丸め処理において加算される数値及びビット切捨て処理で切り捨てられるビット数は、1ビット又は2ビットである。Gデータの差|GC−GD|が閾値βよりも大きい場合、Gデータの平均値Gave2に値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりG代表値#2が算出される。そうでない場合、平均値Gave2に値1を加えた後下位1ビットを切り捨てる処理が行われ、これによりG代表値#2が算出される。
以上により、(2×2)圧縮による圧縮処理が完了する。
一方、(2×2)圧縮で圧縮された圧縮画像データの展開処理は、以下のようにして行われる。以下では、データセットA、Bの画像データの間の相関性が高く、且つ、データセットC、Dの画像データの間の相関性が高い場合における(2×2)圧縮データの展開について記述している。他の場合も同様にして(2×2)圧縮データが展開可能であることは、当業者には容易に理解されよう。
まず、R代表値#1、G代表値#1、B代表値#1に対してビット繰上げ処理が行われる。ビット繰上げ処理のビット数は、β比較データに記述された、データセットA、BのRデータ、Gデータ、Bデータの差|RA−RB|、|GA−GB|、|BA−BB|と閾値βとの大小関係に応じて決定される。データセットA、BのRデータの差|RA−RB|が閾値βよりも大きい場合、R代表値#1に対して3ビットのビット繰上げ処理が行われ、そうでない場合、2ビットのビット繰上げ処理が行われる。同様に、データセットA、BのGデータの差|GA−GB|が閾値βよりも大きい場合、G代表値#1に対して3ビットのビット繰上げ処理が行われ、そうでない場合、2ビットのビット繰上げ処理が行われる。更に、データセットA、BのBデータの差|BA−BB|が閾値βよりも大きい場合、B代表値#1に対して3ビットのビット繰上げ処理が行われ、そうでない場合、2ビットのビット繰上げ処理が行われる。
R代表値#2、G代表値#2、B代表値#2についても同様のビット繰上げ処理が行われる。ただし、G代表値#2のビット繰上げ処理のビット数は、1ビット又は2ビットのうちから選ばれる。データセットC、DのGデータの差|GC−GD|が閾値βよりも大きい場合、G代表値#2に対して2ビットのビット繰上げ処理が行われ、そうでない場合、1ビットのビット繰上げ処理が行われる。
更に、R代表値#1、G代表値#1、B代表値#1、R代表値#2、G代表値#2、B代表値#2のそれぞれから誤差データαが減算された後、これらの代表値から、データセットA〜DのRデータ、Gデータ、Bデータを復元する処理が行われる。
Rデータ、Gデータ、Bデータの復元においては、β比較データ及び大小認識データが使用される。β比較データにおいて、データセットA、BのRデータの差|RA−RB|が閾値βよりも大きいと記述されている場合、R代表値#1に一定値(例えば、5)を加えた値が、データセットA、Bのうち大小認識データにおいて大きいと記述されている方のRデータとして復元され、R代表値#1に該一定値を減じた値が、大小認識データにおいて小さいと記述されている方のRデータとして復元される。データセットA、BのRデータの差|RA−RB|が閾値βよりも小さい場合、データセットA、BのRデータは、R代表値#1に一致するとして復元される。同様に、データセットA、BのGデータ、Bデータ、及びデータセットC、DのRデータ、Gデータ、Bデータも同様の手順によって復元される。
以上でデータセットA〜DのRデータ、Gデータ、Bデータの復元が完了する。即ち、(2×2)圧縮で圧縮された圧縮画像データの展開処理が完了する。
5.(4×1)圧縮及びその展開処理
図30は、(4×1)圧縮データのフォーマットを示す概念図である。上述のように、(4×1)圧縮は、4つのデータセットA〜Dの間に高い相関性がある場合に使用される圧縮処理である。図30に示されているように、本実施形態では、(4×1)圧縮データが48ビットデータであり、圧縮種類認識ビットと、下記の7つのデータ:Ymin、Ydist0〜Ydist2、アドレスデータ、Cb’、Cr’とで構成される。
圧縮種類認識ビットとは、圧縮に使われた圧縮処理の種類を示すデータであり、(4×1)圧縮データでは、4ビットが圧縮種類認識ビットに割り当てられる。本実施形態では、(4×1)圧縮データの圧縮種類認識ビットの値は「1110」である。
Ymin、Ydist0〜Ydist2、アドレスデータ、Cb’、Cr’は、データセットA〜DのRデータ、Gデータ、Bデータに対してYUV変換を行ってYUVデータに変換し、更に、該YUVデータについて圧縮処理を行うことによって得られるデータである。ここで、Ymin、Ydist0〜Ydist2は、4つのデータセットのYUVデータのうち、輝度データから得られるデータであり、Cb’、Cr’は、色差データから得られるデータである。Ymin、Ydist0〜Ydist2及びCb’、Cr’が、データセットA〜Dの代表値である。本実施形態では、最小輝度データYminに10ビット、Ydist0〜Ydist2のそれぞれに4ビット、アドレスデータに2ビット、Cb’、Cr’のそれぞれに10ビットが割り当てられている。以下、(4×1)圧縮について詳細に説明する。
まず、データセットA〜DのそれぞれのRデータ、Gデータ、Bデータについて下記のマトリックス演算が行われ、輝度データYと色差データCr、Cbが算出される:
ここで、Y
kは、データセットkの輝度データであり、Cr
k、Cb
kは、データセットkの色差データである。また、上述の通り、R
k、G
k、B
kは、それぞれ、データセットkのRデータ、Gデータ、Bデータである。
更に、データセットA〜Dの輝度データYk、色差データCrk、Cbkから、Ymin、Ydist0〜Ydist2、アドレスデータ、Cb’、Cr’が作成される。
Yminは、輝度データYA〜YDのうちの最小のもの(最小輝度データ)として定義される。また、Ydist0〜Ydist2は、残りの輝度データと最小輝度データYminの差分に2ビットの切捨て処理を行うことによって生成される。アドレスデータは、データセットA〜Dのいずれの輝度データが最小であるかを示すデータとして生成される。即ち、Ymin、Ydist0〜Ydist2は、下記式によって算出される:
Ymin=YD,
Ydist0=(YA−Ymin)>>2
Ydist1=(YB−Ymin)>>2
Ydist2=(YC−Ymin)>>2
ここで、「>>2」は、2ビットの切捨て処理を示す演算子である。アドレスデータには、輝度データYDが最小である旨が記載される。
更に、Cr’が、CrA〜CrDの和に1ビットの切捨て処理を行うことによって生成され、同様に、Cb’が、CbA〜CbDの和に1ビットの切捨て処理を行うことによって生成される。即ち、Cr’、Cb’が下記の式によって算出される:
Cr’=(CrA+CrB+CrC+CrD)>>1
Cb’=(CbA+CbB+CbC+CbD)>>1
ここで、「>>1」は、1ビットの切捨て処理を示す演算子である。以上で、(4×1)圧縮データの生成が完了する。
一方、(4×1)圧縮で圧縮された圧縮画像データの展開処理は、以下のようにして行われる。(4×1)圧縮で圧縮された圧縮画像データの展開では、まず、Ymin、Ydist0〜Ydist2から、データセットA〜Dそれぞれの輝度データが復元される。以下では、復元されたデータセットA〜Dの輝度データをYA’〜YD’と記載する。より具体的には、アドレスデータによって最小であると示されているデータセットの輝度データとして、最小輝度データYminの値が使用される。更に、Ydist0〜Ydist2に2ビットの繰上げ処理を行った後、最小輝度データYminに加算することにより、他のデータセットの輝度データが復元される。本実施形態では、下記式によって輝度データYA’〜YD’が復元される:
YA’=Ydist0×4+Ymin
YB’=Ydist1×4+Ymin
YC’=Ydist2×4+Ymin
YD’=Ymin=4
更に、輝度データY
A’〜Y
D’と色差データCr’、Cb’から、下記のマトリックス演算により、データセットA〜DのR、G、Bデータが復元される:
ここで、「>>2」は、2ビットを切り捨てる処理を示す演算子である。上記の式から理解されるように、データセットA〜DのRデータ、Gデータ、Bデータの復元では、色差データCr’、Cb’が共通に使用される。
以上でデータセットA〜DのRデータ、Gデータ、Bデータの復元が完了する。即ち、(4×1)圧縮で圧縮された圧縮画像データの展開処理が完了する。
以上には、本発明の実施形態が具体的に記述されているが、本発明は、上記の実施形態には限定されない。本発明が、様々な変更と共に実施され得ることは、当業者には容易に理解されよう。例えば、上記の実施形態では、LCDパネル2を備えた液晶表示装置1が記述されているが、本発明は、他の表示パネル(例えば、プラズマ表示パネル及び有機EL表示パネル)を備える表示装置にも適用可能である。
また、上記の実施形態では、画像メモリ14に記憶される圧縮画像データ22を生成するために圧縮処理が行われているが、本発明の画像処理方法は、他の用途にも適用可能である。例えば、表示パネルドライバにデータ圧縮された画像データを転送する場合に、本発明による画像処理方法が適用されてもよい。
更に、上記の実施形態において、第1の実施形態の前処理と、第2の実施形態の前処理のいずれかが、画像データの内容に応じて選択され、選択された前処理が用いられても良い。
1 :液晶表示装置
2 :LCDパネル
3 :コントローラドライバ
4 :処理装置
5 :入力画像データ
6 :制御信号群
11 :命令制御回路
12 :ラインメモリ
13 :画像圧縮回路
14 :画像メモリ
15 :画像展開回路
16 :データ線駆動回路
16a :シフトレジスタ
16b :表示ラッチ
16c :駆動回路
17 :ゲート線駆動回路
18 :タイミング制御回路
19 :階調電圧発生回路
21 :画像データ
22 :圧縮画像データ
23 :圧縮画像データ
24 :展開画像データ
25 :タイミング設定データ
26 :階調設定データ
27 :タイミング制御信号
28 :タイミング制御信号
31 :12代表値算出回路
32 :総比較圧縮回路
33 :代表値データ
34 :12代表値復元回路
35 :画像データ復元回路
36 :代表値復元データ
41 :形状認識部
42 :可逆圧縮部
43 :(1×4)圧縮部
44 :(2+1×2)圧縮部
45 :(2×2)圧縮部
46 :(4×1)圧縮部
47 :圧縮データ選択部
51 :元データ復元部
52 :(1×4)展開部
53 :(2+1×2)展開部
54 :(2×2)展開部
55 :(4×1)展開部
56 :展開データ選択部
本発明は、画像処理回路及び画像処理方法並びにそれを用いた表示パネルドライバ及び表示装置に関し、特に、画像の圧縮処理及び展開処理を行うための画像処理回路及び画像処理方法並びにそれを用いた表示パネルドライバ及び表示装置に関する。
液晶表示装置、有機EL(electroluminescence)表示装置、プラズマ表示パネルその他の表示装置では、画像圧縮技術が用いられることがある。例えば、表示パネル(例えば、液晶表示パネル、有機EL表示パネル、及びプラズマ表示パネル)を駆動する表示パネルドライバに画像メモリを搭載する場合、画像圧縮を用いることで該画像メモリの容量を低減させることができる。また、画像データを圧縮して表示パネルドライバに転送すれば、データ転送量を低減することができる。これは、データ転送に必要なデータ転送速度及び消費電力の低減に寄与する。
一般的に使用される圧縮方式の一つは、複数の画素からなるブロック単位で圧縮処理を行うブロック符号化である。ブロック符号化では、ブロックを構成する複数の画素の画像データが、少なくとも一つの代表値で表現される。ブロック符号化の代表例が、BTC(Block Truncation Coding)である。例えば、BTCについては、例えば、特開2006−42194号公報、特開2009−212789号公報、特開2011−19204号公報、特許第3790728号に開示されている。BTCは、圧縮率がそれほど高くないので、圧縮率を改善するために、同じ圧縮方法を複数回行う方法も提案されている(特開2007−43577号公報、特許第3036058号公報)。
公知の他の圧縮方式の一つは、各画素の画像データを周波数領域の情報に変換することで圧縮を行う方法である。このような圧縮方式の代表例は、DCT(Discrete Cosine Translation)である。DCTは、JPEG(Joint Photographic Experts Group)等の画像圧縮の基本的な技術であり、画像処理において広く用いられている。
しかしながら、BTC、DCTは、いずれも、固定長の圧縮処理(圧縮率が固定)を行う場合、特定の画像で圧縮誤差が大きくなり、その結果、画像劣化が起こるという問題がある。具体的には、BTCは、低周波成分を多く含む画像(例えば、写真のような画像)で画像劣化が顕著になり、DCTは、高周波成分を多く含む画像(例えば、文字のような画像)で画像劣化が顕著になる。例えばスマートフォンその他の携帯端末の表示装置では、例えばWeb表示を行う場合のように、文字、画像、グラフィック画像が混在した画像を表示する機会が多く、特定の画像において画像劣化が増大する圧縮処理を採用することは困難である。
出願人は、このような問題に対処するために、ブロック内の画素の相関性に応じて圧縮手法を選択する技術を提案している(例えば、特許第4507265号)。この技術の一つの特徴は、ブロックに含まれる画素のうちから2画素を選択する組み合わせの全てについて相関性が算出されることである。組み合わせの全てについて算出された相関性に応じて圧縮手法を選択することで、圧縮誤差を低減し、画像劣化を抑制することができる。
しかしながら、ブロック内の画素の相関性に応じて圧縮手法を選択する技術は、圧縮誤差の低減には有効であるが、1度に処理される画素の数(ブロックに含まれる画素の数)が増えると画素の組み合わせの数が飛躍的に増加するため、回路規模が増加してしまうという問題がある。例えば、ブロックの画素が4個である場合、そのうちから2画素を選択する組み合わせの数は6(=4C2)であるが、ブロックの画素が8個である場合、組み合わせの数は28(=8C2)である。
したがって、圧縮誤差を低減しながら回路規模の増大を抑制する技術を提供することには、技術的なニーズが存在する。
特開2006−42194号公報
特開2009−212789号公報
特開2011−19204号公報
特許第3790728号
特開2007−43577号公報
特許第3036058号公報
特許第4507265号
したがって、本発明の目的は、圧縮誤差を低減しながら回路規模の増大を抑制することができる画像処理回路及び画像処理方法並びにそれを用いた表示パネルドライバ及び表示装置を提供することにある。
本発明の一の観点では、表示パネルドライバが、N個(Nは、3以上の自然数)の画素の画像データを圧縮して圧縮画像データを生成する圧縮回路と、圧縮画像データを格納する画像メモリと、画像メモリから読み出された圧縮画像データを展開して展開画像データを生成する展開回路と、展開画像データに応答して表示パネルを駆動する駆動回路とを具備する。圧縮回路は、N個の画素の画像データに対して前処理を行い、それぞれが複数の代表値を含むM個(Mは、Nより小さい2以上の自然数)のデータセットを生成する代表値算出回路と、M個のデータセットのうちから2個のデータセットを選択する組み合わせの全てについて2個のデータセットの間の相関性を算出し、算出された相関性に応じて複数の圧縮処理のうちのいずれかを選択し、選択された圧縮処理によってM個のデータセットを圧縮して圧縮画像データを生成する総比較圧縮回路とを含む。
一実施形態では、代表値算出回路は、前処理において、N個の画素を、M個のデータセットに対応づけられたM個のグループにグループ化し、M個のデータセットのそれぞれに含まれる代表値を、M個のグループのうちの対応するグループに属する画素の画像データから算出する。
ここで、N個の画素のそれぞれは、第1色に対応する副画素、第2色に対応する副画素、及び、第3色に対応する副画素を含む場合、前処理におけるN個の画素をM個のグループへのグループ化は、初期的にN個の画素を一のグループに分類すると共に、処理対象になっているグループについて、副画素の階調の最大値と最小値との差が大きいグループ及び色を選択し、選択されたグループに属する画素を、選択された色の副画素の階調によって2つのグループに分類する手順を繰り返すことによって行われることが好ましい。
一実施形態では、M個のデータセットは、4個のデータセットからなり、該複数の圧縮処理は、4個のデータセットに対応する第1代表値を算出し、第1代表値を圧縮画像データに組み込む第1圧縮処理と、4個のデータセットのうちの2個のデータセットに対応する第2代表値を算出し、残りの2個のデータセットに対応する第3代表値を算出し、圧縮画像データに第2代表値及び第3代表値を含める第2圧縮処理と、4個のデータセットのうちの2個のデータセットに対応する第4代表値を算出すると共に、残りの2個のデータセットのそれぞれについてビット数を減少させる処理を独立に行うことによって第1ビット減少データを生成し、圧縮画像データに第4代表値及び第1ビット減少データを組み込む第3圧縮処理と、4個のデータセットそれぞれに対してビット数を減少させる処理を独立に行うことによって第2ビットプレーン減少データを算出し、圧縮画像データに第2ビットプレーン減少データを含める第4圧縮処理とを含んでいてもよい。
他の実施形態では、該N個の画素は、8個の画素からなり、該M個のデータセットは、それぞれが3つの代表値を含む4個のデータセットからなる。この場合、代表値算出回路は、前処理において、8個の画素の画像データに対してYCrCb変換を行って8個の画素のそれぞれについてYデータ、Crデータ、Cbデータを生成し、8個の画素のYデータ、Crデータ、Cbデータのうち、最大値と最小値とが最も大きいデータから8個の第1代表値を算出し、8個の画素のYデータ、Crデータ、Cbデータのうちの残りの2つのデータから、4個の第2代表値を算出し、4個のデータセットのそれぞれは、8個の第1代表値のうちの2つと、4個の第2代表値のうちの1つとを含んでいることが好ましい。
本発明の他の観点では、表示装置が、表示パネルと、表示パネルを駆動する表示パネルドライバとを備えている。表示パネルドライバは、N個(Nは、3以上の自然数)の画素の画像データを圧縮して圧縮画像データを生成する圧縮回路と、圧縮画像データを格納する画像メモリと、画像メモリから読み出された圧縮画像データを展開して展開画像データを生成する展開回路と、展開画像データに応答して表示パネルを駆動する駆動回路とを具備する。圧縮回路は、N個の画素の画像データに対して前処理を行い、それぞれが複数の代表値を含むM個(Mは、Nより小さい2以上の自然数)のデータセットを生成する代表値算出回路と、M個のデータセットのうちから2個のデータセットを選択する組み合わせの全てについて2個のデータセットの間の相関性を算出し、算出された相関性に応じて複数の圧縮処理のうちのいずれかを選択し、選択された圧縮処理によってM個のデータセットを圧縮して圧縮画像データを生成する総比較圧縮回路とを含む。
本発明の更に他の観点では、画像処理回路が、N個(Nは、3以上の自然数)の画素の画像データに対して前処理を行い、それぞれが複数の代表値を含むM個のデータセットを生成する代表値算出回路と、M個(Mは、Nより小さい2以上の自然数)のデータセットのうちから2個のデータセットを選択する組み合わせの全てについて2個のデータセットの間の相関性を算出し、算出された相関性に応じて複数の圧縮処理のうちのいずれかを選択し、選択された圧縮処理によってM個のデータセットを圧縮して圧縮画像データを生成する総比較圧縮回路とを含む。
本発明の更に他の観点では、画像処理方法が、
N個(Nは、3以上の自然数)の画素の画像データに対して前処理を行い、それぞれが複数の代表値を含むM個(Mは、Nより小さい2以上の自然数)のデータセットを生成するステップと、
M個のデータセットのうちから2個のデータセットを選択する組み合わせの全てについて2個のデータセットの間の相関性を算出し、算出された相関性に応じて複数の圧縮処理のうちのいずれかを選択し、選択された圧縮処理によってM個のデータセットを圧縮して圧縮画像データを生成するステップ
とを具備する。
本発明によれば、圧縮誤差を低減しながら回路規模の増大を抑制することができる画像処理回路及び画像処理方法並びにそれを用いた表示パネルドライバ及び表示装置が提供される。
本発明の第1の実施形態の液晶表示装置の構成を示すブロック図である。
第1の実施形態における画像圧縮回路の構成を示すブロック図である。
第1の実施形態における総比較圧縮回路の構成を示すブロック図である。
第1の実施形態における画像展開回路の構成を示すブロック図である。
第1の実施形態における12代表値復元回路の構成を示すブロック図である。
第1の実施形態において12代表値算出回路によって行われる前処理の内容を示すフローチャートである。
第1の実施形態において12代表値算出回路によって行われる前処理の内容を示すフローチャートである。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第1の実施形態におけるデータセットA、B、C、Dの内容を示す図である。
第1の実施形態において、総比較圧縮回路の形状認識部において最適な圧縮処理を選択する動作を示すフローチャートである。
第1の実施形態において、4つのデータセットが図12に図示されている内容のデータで構成されている場合に、復元される8画素の画像データの内容を示す表である。
第2の実施形態において12代表値算出回路によって行われる前処理の内容を示すフローチャートである。
第2の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第2の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第2の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第2の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第2の実施形態において12代表値算出回路によって行われる前処理を、具体的な数値例で説明する図である。
第2の実施形態におけるデータセットA、B、C、Dの内容を示す図である。
第2の実施形態において、画像展開回路で行われる展開処理の内容を示すフローチャートである。
第2の実施形態において画像展開回路で行われる展開処理を、具体的な数値例で説明する図である。
第2の実施形態において画像展開回路で行われる展開処理を、具体的な数値例で説明する図である。
可逆圧縮データのフォーマットを示す図である。
(1×4)圧縮データのフォーマットを示す図である。
(2+1×2)圧縮データのフォーマットを示す図である。
(2×2)圧縮データのフォーマットを示す図である。
(4×1)圧縮データのフォーマットを示す図である。
まず、本発明で用いられる画像圧縮方法の概要について説明する。本発明の画像圧縮方法では、N個の画素毎に圧縮処理が行われる。圧縮処理では、まず、N個(Nは、3以上の自然数)の画素の画像データに対して前処理を行ってM個(Mは、Nより小さい2以上の自然数)のデータセットを生成する。各データセットは、該N個の画素の画像データに対して決定された複数の代表値を有している。更に、M個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法を選択し、選択した圧縮手法によってM個のデータセットに対して圧縮処理を行って最終的な圧縮画像データを生成する。
展開処理では、最終的な圧縮画像データに対し、該M個のデータセットに対して選択された圧縮処理に対応する展開処理が行われ、M個のデータセットが復元される。更に、当該M個のデータセットに対して上記の前処理に対応する後処理が行われ、元のN個の画素の画像データが復元される。
上記のような圧縮処理及び復元処理によれば、前処理によって相関性の演算の組み合わせの数を減らすことで回路規模の増大を抑制することができる一方で、M個のデータセットの間の相関性に応じて圧縮手法を選択することで、圧縮誤差の低減も実現することができる。
以下では、本発明の実施形態について詳細に説明する。以下に述べられる実施形態では、圧縮対象のブロックの8画素の画像データに対して前処理を行って、それぞれが3つの代表値を含む4個のデータセットを生成し、4個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法を選択する圧縮処理が記載される。しかしながら、ブロックの画素の数は8に限定されない。また、該ブロックに対応して生成されるデータセットの数は4に限定されない。更に、各データセットに含まれる代表値の数も3には限定されない。
(第1の実施形態)
1.液晶表示装置の全体構成
図1は、本発明の第1の実施形態の液晶表示装置の構成を示すブロック図である。本発明の液晶表示装置1は、LCDパネル(液晶表示パネル)2とコントローラドライバ3とを備えている。LCDパネル2は、データ線と、ゲート線と、V行H列に配置された画素とを備えている。LCDパネル2の1水平ラインには、H個の画素が設けられている。各画素は、赤に対応する副画素(R副画素)、緑に対応する副画素(G副画素)、青に対応する副画素(B副画素)の3つの副画素で構成されており、各副画素は、データ線とゲート線とが交差する位置に設けられている。コントローラドライバ3は、処理装置4から受け取った入力画像データ5に応答してLCDパネル2の各副画素を駆動し、所望の画像を表示する。本実施形態では、入力画像データ5は、各画素の3つの副画素の階調を8ビットで表すデータ、言い換えれば、各画素の色を24ビットで表すデータである。コントローラドライバ3の動作は、処理装置4から供給される制御信号群6によって制御される。処理装置4としては、例えば、CPU(central processing unit)が使用される。制御信号群6としては、例えば、ドットクロック信号DCLK、水平同期信号Hsync、垂直同期信号Vsyncが含まれ得る。
コントローラドライバ3は、命令制御回路11と、ラインメモリ12と、画像圧縮回路13と、画像メモリ14と、画像展開回路15と、データ線駆動回路16と、ゲート線駆動回路17と、タイミング制御回路18と、階調電圧発生回路19とを備えている。
命令制御回路11は、下記の3つの機能を有している。第1に、命令制御回路11は、制御信号群6に応答して、コントローラドライバ3の動作タイミングを示すタイミング設定データ25をタイミング制御回路18に供給する機能を有している。第2に、命令制御回路11は、LCDパネル2に供給される駆動電圧の電圧レベルと、入力画像データ5に示されている階調値との間の関係(即ち、γカーブ)を設定する階調設定データ26を階調電圧発生回路19に供給する機能を有している。
第3に、命令制御回路11は、処理装置4から供給される入力画像データ5を画像圧縮回路13に転送する機能を有している。このとき、命令制御回路11は、入力画像データ5を2行4列の画素(2水平ライン×4画素/水平ライン)毎に画像圧縮回路13に転送する。通常、画像データは、上の水平ラインの画素から順次にLCDドライバに送られるため、入力画像データ5を2行4列の画素毎に画像圧縮回路13に転送するためには入力画像データ5の並べ替えを行う必要がある。命令制御回路11は、1水平ラインの画素の入力画像データ5を保持する容量を有するラインメモリ12を用いて並べ替えを行う。図1においては、並べ替えによって得られた画像データが、符号21によって示されている。
画像圧縮回路13は、命令制御回路11から送られてくる画像データ21に対して画像圧縮処理を行う。画像圧縮回路13による画像圧縮処理は、2行4列の画素毎に行われる。以下では、画像圧縮処理の単位となる2行4列の画素を「ブロック」と呼び、画像圧縮処理の対象のブロックを「対象ブロック」と呼ぶことにする。対象ブロックの画素の画像データ21が命令制御回路11から送られてくると、画像圧縮回路13は、その画像データ21に対して画像圧縮処理が行って圧縮画像データ22を生成する。
本実施形態では、画像圧縮回路13によって生成される圧縮画像データ22は、各ブロックを構成する8つの画素の階調を64ビットで表すデータである。元の画像データ21は、8つの画素の階調を192(=24×8)ビットで表すから、画像圧縮回路13による画像圧縮処理によりデータ量が3分の1になる。即ち、あるブロックについて生成された圧縮画像データ22のビット数は、当該ブロックの圧縮前の画像データ21のビット数の3分の1である。
画像メモリ14は、画像圧縮回路13によって生成された圧縮画像データ22を保存する。一実施形態では、画像メモリ14は、(1/8)×V×H×64ビットの容量を有している。画像メモリ14から読みだされた圧縮画像データは、画像展開回路15に送られる。図1では、画像メモリ14から読みだされた圧縮画像データが符号23で示されている。
画像展開回路15は、画像メモリ14から読み出された圧縮画像データ23を展開して展開画像データ24を生成する。本実施形態では、展開画像データ24は、各画素の3つの副画素の階調をそれぞれ8ビットで表す、24ビットデータである。画像展開回路15の構成、及び動作は、後に詳細に説明する。生成された展開画像データ24は、データ線駆動回路16に送られる。
データ線駆動回路16は、画像展開回路15から送られてくる展開画像データ24に応答してLCDパネル2を駆動する。詳細には、データ線駆動回路16は、シフトレジスタ16aと、表示ラッチ16bと、駆動回路16cとを備えている。シフトレジスタ16aは、画像展開回路15から展開画像データを順次に受け取って保存する。シフトレジスタ16aは、1水平ラインにあるH個の画素の展開画像データを保持する容量を有している。表示ラッチ16bは、シフトレジスタ16aに保持されている1水平ライン分の画素(H個の画素)の展開画像データを一時にラッチし、ラッチした展開画像データを駆動回路16cに転送する。シフトレジスタ16aと表示ラッチ16bの動作タイミングは、タイミング制御回路18から供給されるタイミング制御信号27によって制御される。駆動回路16cは、表示ラッチ16bから送られてくる1ライン分の展開画像データに応答して対応するLCDパネル2のデータ線を駆動する。より具体的には、駆動回路16cは、展開画像データに応答して階調電圧発生回路19から供給される複数の階調電圧V1〜Vmのうちから対応する階調電圧を選択し、LCDパネル2の対応するデータ線を選択された階調電圧に駆動する。
ゲート線駆動回路17は、LCDパネル2のゲート線を駆動する。ゲート線駆動回路17の動作タイミングは、タイミング制御回路18から送られるタイミング制御信号28によって制御される。
タイミング制御回路18は、命令制御回路11から送られるタイミング設定データ25に応答して、コントローラドライバ3全体のタイミング制御を行う。より具体的には、タイミング制御回路18は、タイミング制御信号27をデータ線駆動回路16に供給してデータ線駆動回路16の動作タイミングを制御すると共に、タイミング制御信号28をゲート線駆動回路17に供給してゲート線駆動回路17の動作タイミングを制御する。
階調電圧発生回路19は、命令制御回路11から受け取った階調設定データ26に応答して、階調電圧V1〜Vmを発生し、データ線駆動回路16に供給する。階調電圧V1〜Vmの電圧レベルは、階調設定データ26に応じて制御される。
2.画像圧縮回路と画像展開回路の構成及び動作
続いて、画像圧縮回路13と画像展開回路15の構成及び動作について説明する。図2Aは、画像圧縮回路13の構成を示すブロック図である。画像圧縮回路13は、192ビットデータである8個の画素(即ち、24個の副画素)の画像データ21を、64ビットデータに圧縮することで圧縮画像データ22を生成する機能を有しており、12代表値算出回路31と、総比較圧縮回路32とを備えている。
12代表値算出回路31は、対象ブロックの8個の画素(即ち、24個の副画素)の画像データ21から代表値データ33を生成する回路であり、上述の前処理を行う回路である。代表値データ33は、8個の画素(即ち、24個の副画素)の画像データ21を4個のデータセット及び付属データで表わすデータである。本実施形態では、4個のデータセットが、それぞれが8ビットの3つの代表値を含んでいる。言い換えれば、代表値データ33は、12個の代表値を含んでいることになる。また、付属データは16ビットデータである。即ち、代表値データ33は、112(=8×12+16)ビットデータである。
後に詳細に説明するように、本実施形態では、8個の画素が4つのグループにグループ化され、これら4つのグループが4個のデータセットにそれぞれに対応づけられる。各データセットの3個の代表値は、対応するグループに属する画素のR副画素の階調の中央値、G副画素の階調値の中央値、B副画素の階調の中央値として決定される。ここで、中央値とは、最大値と最小値の平均値を意味している。なお、各「グループ」には、1個の画素しか属しないことも許容されることに留意されたい。また、グループ化の手法によっては、あるグループに画素が分類されないことがあり得る(例えば、全ての画素が同一のデータである場合)。このような場合、当該グループのデータとして、他の任意のグループのデータがコピーされる。
総比較圧縮回路32は、代表値データ33の4個のデータセットの間の相関性に応じて複数の圧縮処理のうちから最適な圧縮処理を選択し、該4個のデータセットに対して選択した圧縮処理を行って圧縮画像データ22を生成する回路である。圧縮画像データ22は、選択された圧縮処理によって得られる圧縮データと、代表値データ33の付属データとを含むように生成される。
総比較圧縮回路32の圧縮処理は、概略的には、次のようにして行われる。総比較圧縮回路32は、代表値データ33に記述された4個のデータセットのうちから2個のデータセットを選択する組み合わせの全てについて該2個のデータセットの間の相関性を算出する。総比較圧縮回路32は、算出された相関性に応じて圧縮処理を選択し、総比較圧縮回路32は、該4個のデータセットに対して選択された圧縮処理を行う。総比較圧縮回路32は、この圧縮処理によって生成された48ビットデータに、代表値データ33に含まれていた16ビットの付属データを付加することで、64ビットの圧縮画像データ22を生成する。総比較圧縮回路32によって生成された圧縮画像データ22が画像メモリ14に送られて保存される。
本実施形態では、総比較圧縮回路32によって選択される圧縮処理は、次の5つの圧縮処理:可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮を含んでいる。これらの5つの圧縮処理の詳細については後に詳細に説明する。
一方、図3Aは、画像展開回路15の構成を示すブロック図である。画像展開回路15は、12代表値復元回路34と、画像データ復元回路35とを備えている。12代表値復元回路34は、総比較圧縮回路32で行われる圧縮処理に対応する展開処理を行って代表値データ33の4個のデータセットを復元する機能を有している。詳細には、12代表値復元回路34は、画像メモリ14から読みだされた圧縮画像データ23が、上記の5つの圧縮処理のいずれによって圧縮されたかを判断し、圧縮に使用された圧縮処理に対応した展開処理で圧縮画像データ23を展開することで代表値データ33の4個のデータセットを復元する。12代表値復元回路34は、更に、復元した4個のデータセットと、圧縮画像データ23に含まれていた付属データ(即ち、代表値データ33に含まれていた付属データ)とを含む代表値復元データ36を出力する。本実施形態では、上述のように、4個のデータセットのそれぞれが3つの代表値を含み、各代表値が8ビットで表わされ、且つ、付属データが16ビットであるから、代表値復元データ36は、112ビットデータである。
画像データ復元回路35は、代表値復元データ36に含まれている、復元された4個のデータセットと付属データとから、元の8個の画素の画像データを復元する。画像データ復元回路35は、復元された8つの画素の画像データを展開画像データ24としてデータ線駆動回路16に出力する。
3.12代表値算出回路における前処理の詳細
続いて、画像圧縮回路13の12代表値算出回路31によって行われる前処理について詳細に説明する。図4A、図4Bは、12代表値算出回路31によって行われる前処理の内容を示すフローチャートであり、図5〜図12は、12代表値算出回路31における前処理を、具体的な数値例を示して説明する図である。
8個の画素の画像データ21に対して12代表値算出回路31によって行われる前処理は、全体としては、(a)該8個の画素を4つのグループにグループ化し、(b)該4つのグループのそれぞれについて、各グループに属する画素のR副画素の階調の中央値、G副画素の階調の中央値、B副画素の階調の中央値を算出する手順を含んでいる。算出されたR副画素の階調の中央値、G副画素の階調の中央値、B副画素の階調の中央値が、各グループに対応するデータセットを構成する代表値として使用される。
ここで、該8個の画素を4つのグループにグループ化する処理は、次の3つの処理:
(a1)各グループに属する画素のR副画素の階調のバラツキを示すデータ、G副画素の階調のバラツキを示すデータ、及び、G副画素の階調のバラツキを示すデータを算出する処理(ステップS12、S13、S16、S17、S20、S21参照)、
(a2)算出されたバラツキが最も大きいグループ及び色の組み合わせを選択する処理(ステップS14、S18、S22参照)、及び、
(a3)選択されたグループの画素を、選択された色の副画素の階調により2つのグループにグループ分けを行う処理(ステップS15、S19、S23参照)
が、所望数のグループがグループ分けによって定義されるまで繰り返して行われる。ここで、初期状態では、8個の画素が単一のグループに属しているとして、上記の(a2)、(a3)の処理が行われる。即ち、1回目の(a2)の処理では、グループの選択枝が一つのみであり、1回目の(a3)の処理では、初期状態で定義されているグループが自動的に選択される。
ここで、(a2)、(a3)の処理によれば、バラツキが最も大きいグループが分割されることに留意されたい。これにより、各グループに含まれる画素のバラツキを小さくすることができる。これは、R副画素の階調の中央値、G副画素の階調の中央値、B副画素の階調の中央値を代表値として使用した場合に、失われる情報が少ないことを意味しており、画質劣化の低減に寄与する。以下、12代表値算出回路31によって行われる前処理について詳細に説明する。
図4Aを参照して、8画素の画像データ21が12代表値算出回路31に入力されると(ステップS11)、当該8画素のR副画素の階調のバラツキを示すデータ、G副画素の階調のバラツキを示すデータ、及び、B副画素の階調のバラツキを示すデータを算出するための処理が行われる(ステップS12、S13)。より具体的には、当該8画素のR副画素について、該R副画素の階調の最大値、最小値が算出される(ステップS12−1)。例えば、図5に図示されている8個の画素#0〜#7の画像データについて前処理が行われる場合、図6に図示されているように、画素#0〜#7のR副画素の階調の最大値Rmaxは“107”であり、最小値Rminは“100”である。
同様に、該8画素のG副画素の階調の最大値、最小値、及び、B副画素の階調の最大値、最小値が算出される(ステップS12−2、S12−3)。図5に図示されている8個の画素#0〜#7の画像データについて前処理が行われる場合、図6に図示されているように、画素#0〜#7のG副画素の階調の最大値Gmaxは“235”であり、最小値Gminは“200”である。一方、画素#0〜#7のB副画素の階調の最大値Bmaxは“187”であり、最小値Gminは“97”である。
更に、当該8画素のR副画素の階調の中央値R_center(即ち、最大値と最小値の平均値)が算出されると共に、R副画素の階調のバラツキを示すデータとして、最大値と最小値の差Rdiffとが算出される(ステップS13−1)。図6の例では、R副画素の階調の中央値R_centerは、“103.5”と算出され、差Rdiffは、“7”と算出される。
同様に、当該8画素のG副画素の階調の中央値G_center(即ち、最大値と最小値の平均値)が算出されると共に、G副画素の階調のバラツキを示すデータとして、最大値と最小値の差Gdiffとが算出される(ステップS13−2)。更に、当該8画素のB副画素の階調の中央値B_center(即ち、最大値と最小値の平均値)が算出されると共に、B副画素の階調のバラツキを示すデータとして、最大値と最小値の差Bdiffとが算出される。
続いて、当該8画素について、副画素の階調のバラツキ(即ち、最大値と最小値との差)が最も大きい色が選択される(ステップS14)。図6の例では、Bdiffが、Rdiff及びGdiffよりも大きく、よって、B副画素が階調のバラツキが最も大きい。このため、図6の例では、色“B”(青)が選択される。
続いて、選択された色の副画素の階調により当該8画素についてグループ分けが行われる(ステップS15)。図7の例では、色“B”が選択されているので、B画素の階調に基づいてグループ分けが行われる。詳細には、当該8画素のうち、B副画素の階調が中央値B_centerより大きい画素がグループ#0に分類され、B副画素の階調が中央値B_centerより小さい画素がグループ#1に分類される。このような分類は、各画素のB副画素の階調を、B副画素の階調の中央値B_centerと比較することで行うことができる。図7には、B副画素の階調の中央値B_centerが142である例が図示されている。図7に図示されている例では、B副画素の階調が中央値B_centerより大きい画素#2、#3、#6、#7がグループ#0に分類され、B副画素の階調が中央値B_centerより小さい画素#0、#1、#4、#5がグループ#1に分類されている。
続いて、各グループについて、各グループに属する4画素のR副画素の階調のバラツキを示すデータ、G副画素の階調のバラツキを示すデータ、及び、B副画素の階調のバラツキを示すデータを算出するための処理が行われる(ステップS16、S17)。より具体的には、グループ#0の4画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、及び、B副画素の階調の最大値Bmax、最小値Gminが算出される(ステップS16−1)。同様に、グループ#1の4画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、及び、B副画素の階調の最大値Bmax、最小値Gminが算出される(ステップS16−2)。図8は、図7に図示されている例についての、グループ#0、#1のそれぞれについての、最大値、最小値の算出結果を示している。
更に、グループ#0の4画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出されると共に、R副画素、G副画素、B副画素の階調の最大値と最小値の差Rdiff、Gdiff、Bdiffが算出される(ステップS17−1)。同様に、グループ#1の4画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出されると共に、R副画素、G副画素、B副画素の階調の最大値と最小値の差Rdiff、Gdiff、Bdiffが算出される(ステップS17−2)。
続いて、副画素の階調のバラツキ(即ち、最大値と最小値との差)が最も大きいグループ及び色の組み合わせが選択される(ステップS18)。図8の例では、グループ#1のB副画素の階調のバラツキ(Bdiff)が、グループ#1のR副画素、G副画素の階調のバラツキ(Rdiff、Gdiff)、及び、グループ#0のR副画素、G副画素、B副画素の階調のバラツキ(Rdiff、Gdiff、Bdiff)よりも大きいので、グループ#1、及び、色“B”が選択される。
続いて、図4Bに図示されているように、選択されたグループの画素に対し、選択された色の副画素の階調によりグループ分けが行われる(ステップS19)。グループ#1、及び、色“B”が選択される図8の例については、図9に図示されているように、グループ#1に属する画素#0、#1、#4、#5について、B副画素の階調が、該グループ#1のB副画素の階調の中央値よりも大きい2個の画素が、グループ#10に分類され、B副画素の階調が、該グループ#1のB副画素の階調の中央値よりも小さい2個の画素が、グループ#11に分類される。このような分類は、グループ#1の各画素のB副画素の階調を、グループ#1に属する画素のB副画素の階調の中央値B_centerと比較することで行うことができる。図9には、B副画素の階調の中央値B_centerが114である例が図示されている。なお、ステップS19において、選択されていないグループについてはグループ化(即ち、グループの分割)は行われないことに留意されたい。
以下、同様に、各グループに属する画素のR副画素の階調のバラツキを示すデータ、G副画素の階調のバラツキを示すデータ、及び、G副画素の階調のバラツキを示すデータを算出する処理(ステップS16、17参照)と、算出されたバラツキが最も大きいグループ及び色の組み合わせを選択する処理(ステップS18参照)と、選択されたグループの画素を、選択された色の副画素の階調により2つのグループにグループ分けを行う処理(ステップS19参照)が、所望数のグループがグループ分けによって定義されるまで繰り返して行われる。
本実施形態では、4つのグループが定義されるので、上記の一連の処理がもう一度行われる。詳細には、グループ#0の4画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、及び、B副画素の階調の最大値Bmax、最小値Gminが算出される(ステップS20−1)。同様に、グループ#10の2画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、及び、B副画素の階調の最大値Bmax、最小値Gminが算出され(ステップS20−2)、グループ#11の2画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、及び、B副画素の階調の最大値Bmax、最小値Gminが算出される(ステップS20−3)。図10は、図9に図示されている例についての、グループ#0、#10、#11のそれぞれについての、最大値、最小値の算出結果を示している。
更に、グループ#0の4画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出されると共に、R副画素、G副画素、B副画素の階調の最大値と最小値の差Rdiff、Gdiff、Bdiffが算出される(ステップS21−1)。同様に、グループ#10の2画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出されると共に、R副画素、G副画素、B副画素の階調の最大値と最小値の差Rdiff、Gdiff、Bdiffが算出される(ステップS21−2)。更に、グループ#11の2画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出されると共に、R副画素、G副画素、B副画素の階調の最大値と最小値の差Rdiff、Gdiff、Bdiffが算出される。
続いて、副画素の階調のバラツキ(即ち、最大値と最小値との差)が最も大きいグループ及び色の組み合わせが選択される(ステップS22)。図10の例では、グループ#0のG副画素の階調のバラツキ(Gdiff)が、グループ#0のR副画素、B副画素の階調のバラツキ、グループ#10のR副画素、G副画素、B副画素の階調のバラツキ、及び、グループ#11のR副画素、G副画素、B副画素の階調のバラツキよりも大きいので、グループ#0、及び、色“G”が選択される。
続いて、選択されたグループ#0の画素に対し、選択された色“G”の副画素の階調によりグループ分けが行われる(ステップS23)。グループ#0、及び、色“G”が選択される図10の例については、図11に図示されているように、グループ#0に属する画素#2、#3、#6、#7について、G副画素の階調が、該グループ#0のG副画素の階調の中央値よりも大きい2個の画素が、グループ#00に分類され、G副画素の階調が、該グループ#0のG副画素の階調の中央値よりも小さい2つの画素が、グループ#01に分類される。このような分類は、グループ#0の各画素のG副画素の階調を、G副画素の階調の中央値G_centerと比較することで行うことができる。図11には、G副画素の階調の中央値G_centerが222である例が図示されている。
以上の処理により、4つのグループ#00、#01、#10、#10が定義される。なお、上述では、まず、8個の画素がグループ#0、#1に分類された後、グループ#0、#1のそれぞれが、2つのグループに分割されて4つのグループが定義されているが、このような手順で4つのグループが定義されるとは限らないことに留意されたい。例えば、ステップS22において、グループ#0、#10、#11のうち、グループ#10の特定の色が、副画素の階調のバラツキが最も大きいグループ及び色の組み合わせとして選択された場合には、グループ#10が2つのグループ#100、#101に分割される。また、グループ分けの結果、1個の画素しか属しないグループが定義され得ることにも留意されたい。また、例えば、全ての画素が同一のデータである場合のように、中央値と比較することでグループ化する手法を採用する本実施形態では、あるグループに画素が分類されないことがあり得る。このような場合、当該グループのデータとして、他の任意のグループのデータがコピーされる。
続いて、4つのグループのそれぞれについて、各グループに属する画素のR副画素の階調の最大値Rmax、最小値Rmin、G副画素の階調の最大値Gmax、最小値Gmin、B副画素の階調の最大値Gmax、最小値Gminが算出される(ステップS24−1〜S24−4)。更に、4つのグループのそれぞれについて、各グループに属する画素のR副画素、G副画素、B副画素の階調の中央値(最大値と最小値の平均値)R_center、G_center、B_centerが算出される(ステップS25−1〜S25−4)。図12は、図11に図示されている例についての、グループ#00、#01、#10、#11のそれぞれについての、R副画素、G副画素、B副画素の階調の中央値の算出結果を示している。
続いて、グループの並び替え処理が行われる(ステップS26)。並び替え処理は、特定の画素(本実施形態では画素#0)が、特定のグループIDを有するグループ(本実施形態では、グループ#00)に属するように決定される。ここで、グループIDとは、グループを特定する一連番号であり、本実施形態では、「グループ#x」と記載した場合におけるxが、グループIDである。
この並び替え処理は、代表値データ33に含まれる付属データのビット数をなるべく低減するために行われる。代表値データ33に含まれる付属データには、各画素が、どのグループに属するかを示すグループデータが組み込まれる。そして、特定の画素(本実施形態では画素#0)が、特定のグループIDを有するグループ(本実施形態では、グループ#00)に属するように決定することで、グループデータのビット数、即ち、付属データのビット数を低減することができる。本実施形態では、(画素#0を除く)画素#1〜画素#7のそれぞれが属するグループが2ビットで表現される。即ち、付属データのうちの14ビットが、画素#1〜画素#7のそれぞれが属するグループを記述するグループデータとして使用される。付属データのうちの残りの2ビットは、任意に使用され得るが、例えば、本実施形態のような圧縮処理(前処理による4つのデータセットの生成と、4個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法を選択する圧縮処理)が行われたことを示す識別子として使用されうる。
上記のようにして定義された4つのグループのそれぞれについて算出された、各グループに属する画素のR副画素、G副画素、B副画素の階調の中央値が、12個の代表値として用いられる。ここで、各グループのR副画素、G副画素、B副画素の階調の中央値で構成される3つのデータが、データセットとして使用される。図13は、4個のデータセットの内容を示す図である。4個のデータセットA〜Dは、それぞれ、グループ#00、#01、#10、#11に対応づけられている。データセットAは、グループ#00に属する画素のR副画素、G副画素、B副画素の階調の中央値で構成され、データセットBは、グループ#01に属する画素のR副画素、G副画素、B副画素の階調の中央値で構成される。同様に、データセットCは、グループ#10に属する画素のR副画素、G副画素、B副画素の階調の中央値で構成され、データセットDは、グループ#11に属する画素のR副画素、G副画素、B副画素の階調の中央値で構成される。
以上に定義された4個のデータセットに16ビットの付属データを付加することで、代表値データ33が生成される。上述のように、付属データには、各画素が、どのグループに属するかを示す14ビットのグループデータが含まれている。
4.総比較圧縮回路における圧縮処理
続いて、画像圧縮回路13の総比較圧縮回路32によって行われる圧縮処理について説明する。上述されているように、総比較圧縮回路32は、代表値データ33に記述された4個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法を選択し、選択した圧縮手法によって該4個のデータセットに対して圧縮処理を行って圧縮画像データ22を生成する。ここで、本実施形態では、上述されているように、可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮のうちから最適な圧縮手法が選択される。
ここで、可逆圧縮は、圧縮画像データから完全に元の4個のデータセットを復元できるように圧縮する方式であり、本実施形態では、圧縮対象の4個のデータセットが特定のパターンを有している場合に使用される。
(1×4)圧縮とは、圧縮対象の4個のデータセットのそれぞれについてビット数を減少させる処理(本実施形態では、ディザマトリックスを用いたディザ処理)を独立に行う方式である。この(1×4)圧縮は、圧縮対象の4個のデータセットの相関性が低い場合に好適である。
(2+1×2)圧縮とは、圧縮対象の4個のデータセットのうちの2つのデータセットの値を代表する代表値を定める一方、他の2つのデータセットのそれぞれについて、ビット数を減少させる処理(本実施形態では、ディザマトリックスを用いたディザ処理)を行う方式である。この(2+1×2)圧縮は、4個のデータセットのうちの2つのデータセットの間の相関性が高く、且つ、他の2つのデータセットの間の相関性が低い場合に好適である。
(2×2)圧縮とは、圧縮対象の4個のデータセットを2つのデータセットからなる2つの組に分け、当該2つのデータセットの組のそれぞれについてデータを代表する代表値を定める方式である。この(2×2)圧縮は、4個のデータセットのうちの2つのデータセットの相関性が高く、且つ、他の2つのデータセットの相関性が高い場合に好適である。
(4×1)圧縮とは、圧縮対象の4個のデータセットを代表する代表値を定めて当該4個のデータセットを圧縮する方式である。この(4×1)圧縮は、対象ブロックの全4個のデータセットの間の相関性が高い場合に好適である。
上記の5つの圧縮処理のいずれが使用されるかは、圧縮対象の4個のデータセットが特定のパターンを有しているか否か、及び、4個のデータセットのうちから2つのデータセットを選択する組み合わせの全てについて算出された2つのデータセットの間の相関性に応じて決定される。例えば、全4個のデータセットの相関性が高い場合には(4×1)圧縮が使用され、4個のデータセットのうちの2つのデータセットの相関性が高く、且つ、他の2つのデータセットの相関性が高い場合には(2×2)圧縮が使用される。
上記の動作を行うために、図2Bに示されているように、総比較圧縮回路32は、形状認識部41と、可逆圧縮部42と、(1×4)圧縮部43と、(2+1×2)圧縮部44と、(2×2)圧縮部45と、(4×1)圧縮部46と、圧縮データ選択部47とを備えている。
形状認識部41は、代表値データ33の4個のデータセットを受け取り、上記の5つの圧縮処理のいずれを選択すべきかを決定する。例えば、形状認識部41は、4個のデータセットのうち、どの組み合わせのデータセットの相関性が高いか、或いは、どのデータセットが他のデータセットに対して相関性が低いかを認識する。更に、形状認識部41は、認識結果に応答して、5つの圧縮処理:可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮のいずれを使用すべきかを指示する選択データを生成する。
(1×4)圧縮部43、(2+1×2)圧縮部44、(2×2)圧縮部45、及び(4×1)圧縮部46は、それぞれ、代表値データ33の4個のデータセットに対して上述の(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、及び(4×1)圧縮を行い、それぞれ、(1×4)圧縮データ、(2+1×2)圧縮データ、(2×2)圧縮データ、及び(4×1)圧縮データを生成する。
圧縮データ選択部47は、形状認識部41から送られてくる選択データに基づいて、(1×4)圧縮データ、(2+1×2)圧縮データ、(2×2)圧縮データ、及び(4×1)圧縮データのいずれかを選択し、選択した圧縮データに、代表値データ33に含まれる16ビットの付属データを付加したデータを圧縮画像データ22として出力する。圧縮画像データ22には、上記の5つの圧縮処理のいずれが使用されたかを示す圧縮種類認識ビットが含まれている。圧縮データ選択部47から出力された圧縮画像データ22は、画像メモリ14に送られて書き込まれる。
図14は、総比較圧縮回路32の形状認識部41において、最適な圧縮処理を選択する動作を示すフローチャートである。以下の説明では、データセットA、B、C、Dに記述されたR副画素の階調の中央値を、それぞれ、RデータRA、RB、RC、RDと記載する。同様に、データセットA、B、C、Dに記述されたG副画素の階調の中央値を、それぞれ、GデータGA、GB、GC、GDと記載し、データセットA、B、C、Dに記述されたB副画素の階調の中央値をそれぞれ、BデータBA、BB、BC、BDと記載する。
まず、データセットA、B、C、Dが特定パターンに該当するかが判断され(ステップS01)、データセットA、B、C、Dが特定パターンに該当する場合、可逆圧縮が行われる。本実施形態では、データセットA、B、C、Dのデータ値が5種類以下であるような所定のパターンが、可逆圧縮が行われる特定パターンとして選択されている。
一例では、データセットA、B、C、Dが、以下の4つのパターン(1)〜(4)のいずれかに該当する場合、可逆圧縮が行われる:
(1) データセットA、B、C、Dが一致
データセットA、B、C、Dが下記条件(1a)を満足する場合、可逆圧縮が行われる。
条件(1a):
RA=RB=RC=RD,
GA=GB=GC=GD,
BA=BB=BC=BD.
この場合、データセットA、B、C、Dのデータ値は3種類である。
(2) データセットA、B、C、Dそれぞれにおいて、3つの代表値が同一
データセットA、B、C、Dが下記条件(2a)を満足する場合にも可逆圧縮が行われる。
条件(2a):
RA=GA=BA,
RB=GB=BB,
RC=GC=BC,
RD=GD=BD.
この場合、データセットA、B、C、Dのデータ値は4種類である。
(3)Rデータ、Gデータ、Bデータのうちの2つの値が、データセットA、B、C、Dについて同一
下記の3つの条件(3a)〜(3c)のいずれかを満足する場合にも可逆圧縮が行われる:
条件(3a): GA=GB=GC=GD=BA=BB=BC=BD.
条件(3b): BA=BB=BC=BD=RA=RB=RC=RD.
条件(3c): RA=RB=RC=RD=GA=GB=GC=GD.
この場合、データセットA、B、C、Dのデータ値は5種類である。
(4)Rデータ、Gデータ、Bデータのうちの1つのデータ値が同一、且つ、残りの2つのデータがデータセットA、B、C、Dについて同一
更に、下記の3つの条件(4a)〜(4c)のいずれかを満足する場合にも可逆圧縮が行われる:
条件(4a):
GA=GB=GC=GD,
RA=BA,
RB=BB,
RC=BC,
RD=BD.
条件(4b):
BA=BB=BC=BD.
RA=GA,
RB=GB,
RC=GC,
RD=GD.
条件(4c)
RA=RB=RC=RD.
GA=BA,
GB=BB,
GC=BC,
GD=BD.
この場合、データセットA、B、C、Dのデータ値は5種類である。
可逆圧縮が行われない場合、データセットA、B、C、Dの間の相関に応じて圧縮手法が選択される。より具体的には、形状認識部41は、データセットA、B、C、Dが、下記のいずれの場合に該当するかを判断する:
ケースA:データセットA、B、C、Dのから選択された任意の2つのデータセットの組み合わせのすべてについて、相関性が低い。
ケースB:データセットA、B、C、Dのうちの2つの間に高い相関性があり、かつ、残り2つのデータセットは、先の2つのデータセットと相関性が低く、且つ、互いに相関性が低い。
ケースC:データセットA、B、C、Dのうちの2つのデータセットの間に高い相関性があり、かつ、残りの2つのデータセットの間に高い相関性がある
ケースD:データセットA、B、C、Dの間に高い相関性がある。
詳細には、
i∈{A,B,C,D}
j∈{A,B,C,D}
i≠j
なるi、jの全ての組み合わせについて下記条件(A)が成立しない場合、形状認識部41は、ケースAに該当する(即ち、データセットA、B、C、Dのうちの任意の組み合わせの間の相関性が低い)と判断する(ステップS02)。
条件(A):
|Ri―Rj|≦Th1,且つ
|Gi―Gj|≦Th1,且つ
|Bi―Bj|≦Th1,
ケースAに該当する場合、形状認識部41は、(1×4)圧縮を行うと決定する。
ケースAに該当しないと判断した場合、形状認識部41は、データセットA、B、C、Dに対して第1組の2つのデータセットと第2組の2つのデータセットを規定し、その全ての組み合わせについて、前記第1組の2つのデータセットのデータ値の差分が所定値よりも小さく且つ前記第2組の2つのデータセットのデータ値の差分が所定値よりも小さいという条件が満足されるか否かを判断する。より具体的には、形状認識部41は、下記条件(B1)〜(B3)のいずれかが成立するか否かを判断する(ステップS03)。
条件(B1):
|RA―RB|≦Th2,且つ
|GA―GB|≦Th2,且つ
|BA―BB|≦Th2,且つ
|RC―RD|≦Th2,且つ
|GC―GD|≦Th2,且つ
|BC―BD|≦Th2.
条件(B2):
|RA―RC|≦Th2,且つ
|GA―GC|≦Th2,且つ
|BA―BC|≦Th2,且つ
|RB―RD|≦Th2,且つ
|GB―GD|≦Th2,且つ
|BB―BD|≦Th2.
条件(B3):
|RA―RD|≦Th2,且つ
|GA―GD|≦Th2,且つ
|BA―BD|≦Th2,且つ
|RB―RC|≦Th2,且つ
|GB―GC|≦Th2,且つ
|BB―BC|≦Th2.
上記条件(B1)〜(B3)がいずれも成立しない場合、形状認識部41は、ケースBに該当する(即ち、2つのデータセットの間に高い相関性があり、かつ、他の2つのデータセットは、互いに相関性が低い)と判断する。この場合、形状認識部41は、(2+1×2)圧縮を行うと決定する。
ケースA、Bのいずれにも該当しないと判断した場合、形状認識部41は、4つのデータセットのRデータ、Gデータ、Bデータのそれぞれについて、4つのデータセットの最大値と最小値との差が所定値より小さいという条件が満足されるか否かを判断する。より具体的には、形状認識部41は、下記条件(C)が成立するか否かを判断する(ステップS04)。
条件(C):
max(RA,RB,RC,RD)−min(RA,RB,RC,RD)<Th3,且つ
max(GA,GB,GC,GD)−min(GA,GB,GC,GD)<Th3,且つ
max(BA,BB,BC,BD)−min(BA,BB,BC,BD)<Th3.
条件(C)が成立しない場合、形状認識部41は、ケースCに該当する(即ち、2つのデータセットの間に高い相関性があり、かつ、他の2つのデータセットの間に高い相関性がある)と判断する。この場合、形状認識部41は、(2×2)圧縮を行うと決定する。
一方、条件(C)が成立する場合、形状認識部41は、ケースDに該当する(4つのデータセットの間に高い相関性がある)と判断する。この場合、形状認識部41は、(4×1)圧縮を行うと決定する。
形状認識部41は、上記の相関性の認識結果に基づき、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮のいずれを使用すべきかを指示する選択データを生成し、圧縮データ選択部47に送る。上述のように、圧縮データ選択部47は、形状認識部41から送られてくる選択データに基づいて、可逆圧縮部42から出力される可逆圧縮データ、(1×4)圧縮部43から出力される(1×4)圧縮データ、(2+1×2)圧縮部44から出力される(2+1×2)圧縮データ、(2×2)圧縮部45から出力される(2×2)圧縮データ、及び(4×1)圧縮部46から出力される(4×1)圧縮データのいずれかを圧縮画像データ22として出力する。
なお、可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮それぞれの詳細については、後の章において詳細に説明する。
5.12代表値復元回路で行われる展開処理
12代表値復元回路34は、画像メモリ14から送られてきた圧縮画像データ23が、上記の5つの圧縮処理のいずれによって圧縮されたかを判断し、圧縮に使用された圧縮処理に対応した展開処理で圧縮画像データ23を展開する。
このような動作を行うために、図3Bに示されているように、12代表値復元回路34は、元データ復元部51、(1×4)展開部52、(2+1×2)展開部53と、(2×2)展開部54と、(4×1)展開部55と、展開データ選択部56とを備えている。元データ復元部51、(1×4)展開部52、(2+1×2)展開部53、(2×2)展開部54、及び(4×1)展開部55は、それぞれ、可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、及び(4×1)圧縮によって圧縮された圧縮画像データ23を展開する機能を有している。展開データ選択部56は、圧縮画像データ23に含まれている圧縮種類認識ビットから実際に圧縮に使用された圧縮処理を認識し、元データ復元部51、(1×4)展開部52、(2+1×2)展開部53、(2×2)展開部54、及び(4×1)展開部55から出力される展開データのうち実際に使用された圧縮処理に対応する展開処理で展開されて生成された展開データを選択する。展開データ選択部56は、選択した展開データに、圧縮画像データ23に含まれる16ビットの付属データを付加したデータを代表値復元データ36として出力する。12代表値復元回路34による展開処理で得られた代表値復元データ36は、復元された4つのデータセットと、16ビットの付属データとを含んで構成されることになる。よって、代表値復元データ36は、112ビットデータである。
なお、元データ復元部51、(1×4)展開部52、(2+1×2)展開部53、(2×2)展開部54、及び(4×1)展開部55において行われる展開処理については、後の章で詳細に説明する。
6.画像データ復元回路による後処理
画像データ復元回路35は、代表値復元データ36に記述されている4つのデータセットと付属データとから、元の8画素の画像データを復元する処理(以下では、「後処理」とも呼ばれる。)を行う。画像データ復元回路35は、後処理によって復元した画像データを展開画像データ24として出力する。画像データ復元回路35による後処理においては、各画素の画像データの復元が以下の手順で行われる。
まず、画像データを復元すべき画素が8つの画素のうちから選択される。以下では選択された画素を対象画素という。続いて、対象画素が属するグループが、付属データから特定される。当該グループに対応するデータセットに記述されているR副画素、G副画素、B副画素の階調の中央値が、それぞれ、該対象画素のR副画素、G副画素、B副画素の階調と決定され、これにより、対象画素の画像データが復元される。
図15は、4つのデータセットが図12に図示されている内容のデータで構成されている場合に、復元された8画素の画像データの内容(即ち、展開画像データ24の内容)を示す表である。例えば、グループ#00に属する画素#0について考える。代表値復元データ36の付属データから、画像データ復元回路35は、画素#0がグループ#00に属すると認識する。このとき、グループ#00に対応するデータセットAには、R副画素、G副画素、B副画素の階調の中央値が、それぞれ、“102”、“210”、“97”であると記述されている。この場合、画素#0のR副画素、G副画素、B副画素の階調は、それぞれ、“102”、“210”、“97”と復元される。他の画素#1〜#7についても、同様の処理が行われて、展開画像データ24が生成される。
展開画像データ24は、データ線駆動回路16に送られ、LCDパネル2のデータ線の駆動は、展開画像データ24に応答して行われる。
以上に説明されているように、本実施形態では、画像圧縮回路13において、8個の画素の画像データ21に対して前処理を行って4個のデータセットを含む代表値データ33が生成される。更に、4個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法が選択され、選択した圧縮手法によって代表値データ33の4個のデータセットに対して圧縮処理を行って最終的な圧縮画像データ22が生成される。
一方、展開処理では、選択された圧縮処理に対応する展開処理が圧縮画像データ23に対して行われ、4個のデータセットを含む代表値復元データ36が復元される。更に、当該4個のデータセットに対して上記の前処理に対応する後処理が行われ、元の8個の画素の画像データが復元された展開画像データ24が生成される。
上記のような圧縮処理及び復元処理によれば、前処理によって相関性の演算の組み合わせの数を減らすことで回路規模の増大を抑制することができる一方で、4個のデータセットの間の相関性に応じて圧縮手法を選択することで、圧縮誤差の低減も実現することができる。
加えて、本実施形態の前処理では、バラツキが最も大きいグループが分割されてグループ化されるので、各グループに含まれる画素のバラツキを小さくすることができる。これは、R副画素の階調の中央値、G副画素の階調の中央値、B副画素の階調の中央値を代表値として使用した場合に、失われる情報が少ないことを意味しており、画質劣化の低減に寄与する。
(第2の実施形態)
図16は、本発明の第2の実施形態における12代表値算出回路31によって行われる前処理の内容を示すフローチャートであり、図17〜図22は、12代表値算出回路31における前処理を、具体的な数値例を示して説明する図である。また、図23は、画像データ復元回路35によって行われる後処理の内容を示すフローチャートであり、図24、図25は、画像データ復元回路35における後処理を、具体的な数値例を示して説明する図である。
第2の実施形態では、12代表値算出回路31における前処理、及び、画像データ復元回路35における後処理の内容が第1の実施形態と異なっている。以下では、第2の実施形態における12代表値算出回路31における前処理、及び、画像データ復元回路35における後処理について詳細に説明する。なお、第2の実施形態における液晶表示装置1の構成及び動作は、12代表値算出回路31における前処理、及び、画像データ復元回路35における後処理以外は第1の実施形態と同一である。
第2の実施形態において、12代表値算出回路31によって行われる前処理は、全体としては、
(a)該8個の画素の画像データ21に対してYCrCb変換を行う処理
(b)YCrCb変換によって得られた輝度データ(Yデータ)と2種類の色差データ(Crデータ、Cbデータ)のうち、最もバラツキが大きいデータから8つの代表値を生成する処理、
(c)他の2つのデータのそれぞれから2つの代表値を生成する(即ち、合計で4つの代表値を生成する)処理
を含んでいる。このようにして得られた12個の代表値が、4つのデータセットにグループ化される。更に、このようにして定義された4つのデータセットについて総比較圧縮回路32による圧縮処理(即ち、4つのデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法を選択する処理)が行われて圧縮画像データ22が生成される。以下、12代表値算出回路31における前処理について詳細に説明する。
8画素の画像データ21が12代表値算出回路31に入力されると(ステップS31)、入力された8画素の画像データ21に対してYCrCb変換が行われる(ステップS32)。本実施形態では、各画素について、下記式によってYCrCb変換が行われる:
Y=R+2G+B ・・・(11a)
Cr=R−G ・・・(11b)
Cb=B−G ・・・(11c)
ここで、Rは、各画素のR副画素の階調であり、Gは、各画素のG副画素の階調であり、Bは、各画素のB副画素の階調である。なお、当業者には周知であるように、YCrCb変換は、式(11a)〜(11c)とは異なる様々な式を用いて実行され得ることに留意されたい。図17は、8画素の画像データ21の具体的な数値例を示しており、図18は、図17に図示されている8画素の画像データ21に対して式(11a)〜(11c)によるYCrCb変換を行って得られたYデータ、Crデータ、Cbデータを示している。
続いて、Yデータ、Crデータ、Cbデータのうち、バラツキが最大のデータが選択され、選択されたデータから8つの代表値が生成されて保存される(ステップS33)。詳細には、8画素のYデータ、Crデータ、Cbデータのそれぞれについて、最大値、最小値が算出され、更に、最大値と最小値との差が算出される。Yデータ、Crデータ、Cbデータのうち、最大値と最小値との差が最も大きいデータが、バラツキが最大のデータとして選択される。図18の例では、Yデータの最大値と最小値との差が、Crデータ、Cbデータの最大値と最小値との差よりも大きいため、Yデータが、バラツキが最大のデータとして選択され、8画素のYデータから8つの代表値が生成されて保存される。
ここで、本実施形態では代表値は8ビットデータなので、バラツキが最大のデータとして選択されたデータのビット幅が8ビットを超える場合には、ビット数を低減する処理が行われる。例えば、画像データ21においてR副画素、G副画素、B副画素の階調がそれぞれ8ビットデータで記述されている場合、上記式(11a)によって演算されたYデータは10ビットデータになる。そのためYデータが、バラツキが最大のデータとして選択された場合には、下位2ビットを切り捨てる処理(言い換えれば、4で除算する処理)が行われる。即ち、8画素のYデータに対して下位2ビットを切り捨てる処理を行うことで、8つの代表値が生成される。図16では、得られた8つの代表値がY0〜Y7として図示されている。
更に、Yデータ、Crデータ、Cbデータのいずれが選択されたかを示す色変換データが生成される。色変換データは2ビットデータであり、付属データ(16ビット)のうちの2ビットとして代表値データ33に組み込まれる。
なお、以下の説明では、ステップS33において、Yデータが、バラツキが最大のデータとして選択された場合について説明するが、Crデータ又はCbデータの一方が、バラツキが最大のデータとして選択された場合、残りの2つのデータ(Yデータと、Crデータ又はCbデータの他方)について、下記のステップS34〜S41の処理が行われることに留意されたい。
続いて、Crデータ、Cbデータのそれぞれについて(即ち、ステップS33において選択されなかった残り2つのデータについて)、最大値、最小値が算出される(ステップS34−1、S34−2)。更に、Crデータ、Cbデータのそれぞれについて、中央値(即ち、最大値と最小値の平均値)、及び、バラツキ(即ち、最大値と最小値の差)が算出される(ステップS35−1、35−2)。図19には、図18に図示されているCrデータ、Cbデータのそれぞれについて算出された最大値、最小値、バラツキ(最大値と最小値の差)が図示されている。ここで、Cr_Max、Cr_Min、Cr_Diffは、それぞれ、Crデータの最大値、最小値、バラツキ(最大値と最小値の差)を示している。同様に、Cb_Max、Cb_Min、Cb_Diffは、それぞれ、Cbデータの最大値、最小値、バラツキ(最大値と最小値の差)を示している。
続いて、Crデータ、Cbデータのうち、バラツキが大きい方のデータ(即ち、最大値と最小値の差が大きい方のデータ)が、選択される(ステップS36)。図19の例では、CbデータのばらつきCb_Diffが、CrデータのばらつきCr_Diffよりも大きいので、Cbデータが選択される。
続いて、選択されたデータにより、当該8画素についてグループ分けが行われる(ステップS37)。図20の例では、Cbデータが選択されているので、Cbデータに基づいてグループ分けが行われる。詳細には、当該8画素のうち、Cbデータが中央値Cb_centerより大きい画素が、グループ#0に分類され、Cbデータが中央値Cb_centerより小さい画素が、グループ#1に分類される。このような分類は、各画素のCbデータを、Cbデータの中央値Cb_centerと比較することで行うことができる。図20には、Cbデータの中央値Cb_centerが75である例が図示されている。図20に図示されている例では、Cbデータが中央値Cb_centerより大きい画素#0、#4、#5がグループ#0に分類され、Cbデータが中央値Cb_centerより小さい画素#1、#2、#3、#6、#7がグループ#1に分類されている。
ここで、ステップS37のグループ分けは、特定の画素(本実施形態では、画素#0)が、必ずグループ#0に分類されるように行われる。これにより、画素#0については、いずれのグループに属するかを示す情報を保存する必要がなくなる。
ステップS37におけるグループ分けにより、画素#1〜#7がいずれのグループに分類されたかを示すグループデータが生成される。グループデータは7ビットデータであり、付属データ(16ビット)のうちの7ビットとして代表値データ33に組み込まれる。
続いて、各グループに属する画素のCrデータ、Cbデータの最大値、最小値を算出する処理(ステップS38)、及び、各グループに属する画素のCrデータ、Cbデータの中央値(最大値と最小値の平均値)を算出する処理(ステップS39)が行われる。より具体的には、グループ#0の画素のCrデータの最大値Cr_Max0、最小値Cr_Min0、及び、Cbデータの最大値Cb_Max0、最小値Cb_Min0が算出される(ステップS38−1)。同様に、グループ#1の画素のCrデータの最大値Cr_Max1、最小値Cr_Min1、及び、Cbデータの最大値Cb_Max1、最小値Cb_Min1が算出される(ステップS38−2)。図21は、図20に図示されている例についての、グループ#0、#1のそれぞれについての、Crデータ、Cbデータの最大値、最小値の算出結果を示している。
更に、グループ#0に属する画素のCrデータ、Cbデータの中央値Cr_Center0、Cb_Center0が算出される(ステップS39−1)。中央値Cr_Center0、Cb_Center0は、それぞれ、Crデータ、Cbデータの最大値、最小値の平均値として算出される。即ち、
Cr_Center0=(Cr_Max0+Cr_Min0)/2 ・・・(12a)
Cb_Center0=(Cb_Max0+Cb_Min0)/2 ・・・(12b)
グループ#1についても同様に、グループ#1に属する画素のCrデータ、Cbデータの中央値Cr_center1、Cb_center1が下記式により算出される(ステップS39−2)。
Cr_Center1=(Cr_Max1+Cr_Min1)/2 ・・・(12c)
Cb_Center1=(Cb_Max1+Cb_Min1)/2 ・・・(12d)
続いて、グループ#0に属する画素のCrデータ、Cbデータの中央値Cr_center0、Cb_center0と、グループ#1に属する画素のCrデータ、Cbデータの中央値Cr_center1、Cb_center1とから、残り4つの代表値を決定する処理が行われる。以下に述べられるステップS40、S41は、残り4つの代表値を決定するための処理である(8つの代表値が、既に、8画素のYデータから決定されていることに留意されたい)。
グループ#0、#1それぞれのCrデータの中央値Cr_center0、Cr_center1は、そのまま、2つの代表値として使用される。ここで、グループ#0、#1それぞれのCrデータの中央値Cr_center0、Cr_center1から決定された代表値を、それぞれ、Cr0、Cr1と表記する。即ち、
Cr0=Cr_center0 ・・・(13a)
Cr1=Cr_center1 ・・・(13b)
である。
一方、Cbデータの中央値Cb_center0、Cb_center1については、Cb_center0がCr_center0の値に近い値になるように加減算処理がなされ、該加減算処理によって得られた2つの値が2つの代表値として使用される。ここで、グループ#0、#1それぞれのCbデータの中央値Cb_center0、Cb_center1から決定された代表値を、それぞれ、Cb0、Cb1と表記する。
詳細には、まず、グループ#0に属する画素のCrデータ、Cbデータの中央値の差分ΔCrCb0(=Cr_center0−Cb_center0)が算出される(ステップS40)。
更に、Cbデータの中央値Cb_center0、Cb_center1に対して、差分ΔCrCb0に応じて決定されるパラメータ値ηを加算する処理が行われる(ステップS41)。即ち、代表値Cr0、Cr1は、下記式によって算出される:
Cb0=Cb_center0+η ・・・(14a)
Cb1=Cb_center1+η ・・・(14b)
ここで、パラメータ値ηは、負の値であることが許容されている。言い換えれば、式(14a)、(14b)による処理は、Cbデータの中央値Cb_center0、Cb_center1に対して、加算又は減算を行う処理である。
式(4a)、(4b)のパラメータ値ηは、
η=m・2K ・・・(15a)
となるように決定されている値である。ここで、mは、差分ΔCrCb0(=Cr_center0−Cb_center0)に応じて決定される整数であり、Kは、Crデータ、Cbデータのビット数より小さい所定の自然数である。ここで、mは、正の整数、負の整数、0のいずれかである。本実施形態では、Crデータ、Cbデータのビット数が9であり、Kは、5と定められているとする。よって、式(15a)は、下記式(15b)と書き換えることができる。
η=32×m ・・・(15b)
即ち、式(15b)によりパラメータ値ηが決定される本実施形態では、式(14a)、(14b)は、32(=25)の整数倍を加算又は減算する演算である。
mは、差分ΔCrCb0(=Cr_center0−Cb_center0)に応じて決定される。より具体的には、mは、次のように決定される:
(A)Cr_center0≦Cb_center0の場合
m=[|ΔCrCb0|/2K] ・・・(16a)
(B)Cr_center0>Cb_center0の場合
m=−[|ΔCrCb0|/2K] ・・・(16b)
ここで、[x]は、ガウス記号(より厳密には床関数(floor function))を示しており、実数xに対してx以下の最大の整数を意味している。
mを表わすために必要であるビット数は、Crデータ、Cbデータのビット数から式(5a)のKを減じた数に1を加えた数である。即ち、本実施形態では、mは、5ビットデータである。式(16a)、(16b)で決定されたmが、CrCb差分データとして、付属データ(16ビット)のうちの5ビットとして代表値データ33に組み込まれる。
例えば、図21の例では、差分ΔCrCb0は2である。このため、式m=0と決定される。即ち、η=0である。よって、
Cb0=Cb_center0 ・・・(14a’)
Cb1=Cb_center1 ・・・(14b’)
となり、中央値Cb_center0、Cb_center1が、そのまま、代表値Cb0、Cb1として用いられる。
なお、ステップS40においては、グループ#0のCrデータの中央値Cr_center0と、CbデータのCb_center0から算出された差分ΔCrCb0に基づいて、Cbデータの中央値Cb_center0、Cb_center1に対して加減算が行われているが、グループ#1のCrデータの中央値Cr_center1と、CbデータのCb_center1から算出された差分ΔCrCb1に基づいて、Cbデータの中央値Cb_center0、Cb_center1に対して加減算が行われてもよい。この場合、mは、差分ΔCrCb1(=Cr_center1−Cb_center1)に応じて決定される。より具体的には、mは、次のように決定される:
(A)Cr_center1≦Cb_center1の場合
m=[|ΔCrCb1|/2K] ・・・(16c)
(B)Cr_center1>Cb_center1の場合
m=−[|ΔCrCb1|/2K] ・・・(16c)
上記の過程により、12個の代表値(即ち、Y0〜Y7、Cr0、Cb0、Cr1、Cb1)が決定される。これらの12個の代表値から、4個のデータセットA、B、C、Dが決定される。図22は、4個のデータセットA、B、C、Dの内容を示す表である。データセットAは、データY0、Cr0、Y4で構成され、データセットBは、データY1、Cb0、Y5で構成される。また、データセットCは、データY2、Cr1、Y6で構成され、データセットDは、データY3、Cb1、Y7で構成される。
上記の演算によれば、4個のデータセットA、B、C、Dが、比較的に相関性が高いように決定されていることに留意されたい。Y0〜Y7は、2行4列に並んだ(言い換えれば、比較的に近接した)8画素の画像データ21から算出された輝度データ(Yデータ)から得られているので差異は小さい。Cr0、Cr1も同様に、2行4列に並んだ8画素の画像データ21から算出された色差データ(Crデータ)から得られているので、差異が小さい。また、Cr0、Cb0も、上記のステップS40、S41の演算により、差異が小さくなるように決定されている。これは、失われる情報が少ないことを意味しており、画質劣化の低減に寄与している。
以上に定義された4個のデータセットに16ビットの付属データを付加することで、代表値データ33が生成される。上述のように、付属データは、ステップS33においてYデータ、Crデータ、Cbデータのいずれが選択されたかを示す色変換データ(2ビット)と、各画素が属するグループを示すグループデータ(7ビット)と、式(16a)、(16b)で決定されたmを示すCrCb差分データ(5ビット)とを含んでいる。付属データのうちの残りの2ビットは、任意に使用され得るが、例えば、本実施形態のような圧縮処理が行われたことを示す識別子として使用され得る。
このようにして生成された代表値データ33は総比較圧縮回路32に入力され、代表値データ33のデータセットA、B、C、Dに対し、総比較圧縮回路32によって圧縮処理が行われる。ただし、本実施形態では、代表値データ33のデータセットA、B、C、Dを構成するデータと、総比較圧縮回路32の入力として使用される12個のデータ(RA、RB、RC、RD、GA、GB、GC、GD、BA、BB、BC、BD)の対応関係が、次のように定義される。まず、代表値データ33のデータセットA、B、C、DのデータY0、Y1、Y2、Y3が、それぞれ、RデータRA、RB、RC、RDとして用いられる。また、代表値データ33のデータセットA、B、C、DのデータCr0、Cb0、Cr1、Cb1が、それぞれ、GデータGA、GB、GC、GDとして用いられる。更に、代表値データ33のデータセットA、B、C、DのデータY4、Y5、Y6、Y7が、それぞれ、BデータBA、BB、BC、BDとして用いられる。第2の実施形態では、総比較圧縮回路32の入力であるRデータ、Gデータ、Bデータには、色を識別するという技術的意味は失われているが、総比較圧縮回路32における演算処理としては、第1の実施形態と同一の処理が行われて圧縮画像データ22が生成される。なお、圧縮画像データ22には、代表値データ33に含まれていた付属データも組み込まれることに留意されたい。
図23は、第2の実施形態における、画像メモリ14から送られてきた圧縮画像データ23に対して行われる展開処理を示すフローチャートである。まず、画像メモリ14から送られてきた圧縮画像データ23が画像展開回路15に入力されると(ステップS51)、12代表値復元回路34により、総比較圧縮回路32における圧縮処理に対応する展開処理が行われる(ステップS52)。具体的には、画像メモリ14から送られてきた圧縮画像データ23が、上記の5つの圧縮処理のいずれによって圧縮されたかを判断し、圧縮に使用された圧縮処理に対応した展開処理で圧縮画像データ23が展開され、代表値復元データ36が生成される。即ち、12個の代表値(即ち、Y0〜Y7、Cr0、Cb0、Cr1、Cb1)が復元される。ここで、代表値復元データ36には、圧縮画像データ23に含まれていた付属データがそのまま組み込まれる。
更に、画像データ復元回路35は、代表値復元データ36に記述されている4つのデータセットと付属データとから、元の8画素の画像データを復元する後処理を行う。画像データ復元回路35は、後処理によって復元した画像データを展開画像データ24として出力する。本実施形態では、画像データ復元回路35による後処理において、各画素の画像データの復元が以下の手順で行われる。
まず、画像データ復元回路35は、付属データに含まれる色変換データから、ステップS33において、輝度データ(Yデータ)が選択されたことを認識する。
更に、画像データ復元回路35は、代表値復元データ36に記述されているCr0、Cb0、Cr1、Cb1と、CrCb差分データとから、グループ#0、#1のCrデータ、Cbデータの中央値Cr_Center0、Cb_Center0、Cr_Center1、Cb_Center1を復元する(ステップS53)。ここで、CrCb差分データは、式(16a)、(16b)で決定されたmを示すデータであるから、式(14a)、(14b)、(15a)、(15b)を介して、中央値Cr_Center0、Cb_Center0、Cr_Center1、Cb_Center1が復元可能であることに留意されたい。
更に、画像データ復元回路35は、データY0〜Y7と、中央値Cr_Center0、Cb_Center0、Cr_Center1、Cb_Center1とから、元の8画素のYデータ、Crデータ、Cbデータを復元する処理を行う(ステップS54)。元の8画素のYデータ、Crデータ、Cbデータを復元する処理は、下記の手順で行われる。
まず、Yデータ、Crデータ、Cbデータを復元すべき画素が8つの画素のうちから選択される。以下では選択された画素を対象画素という。続いて、対象画素が属するグループが、付属データから特定される。対象画素が属するグループのCrデータ、Cbデータの中央値の組(Cr_Center0、Cb_Center0の組、又は、Cr_Center1、Cb_Center1の組)が、対象画素のCrデータ、Cbデータとして復元される。加えて、データY0〜Y7のうち対象画素に対応するデータから該対象画素のYデータが復元される。本実施形態では、Yデータについて下位2ビットを切り捨てる処理を行ってデータYi(iは0〜7の整数)を生成しているので、データY0〜Y7のうち対象画素に対応するデータを4倍した値として対象画素のYデータが復元される。
図24は、グループ#0、#1のCrデータ、Cbデータの中央値が、図21に示されているような値である場合に、復元された8画素のYデータ、Crデータ、Cbデータの内容(即ち、展開画像データ24の内容)を示す表である。例えば、グループ#0に属する画素#0について考える。このとき、画素#0に対応するデータY0を4倍することで画素#0のYデータが復元される。更に、代表値復元データ36の付属データから、画像データ復元回路35は、画素#0がグループ#0に属すると認識する。画素#0のCrデータは、グループ#0について算出されたCrデータの中央値Cr_Center0と決定され、画素#0のCbデータは、グループ#0について算出されたCbデータの中央値Cb_Center0と決定される。この結果、画素#0のYデータ、Crデータ、Cbデータは、それぞれ、596、110、108と決定される。他の画素#1〜#7についても同様の処理が行われて、画素#1〜#7のYデータ、Crデータ、Cbデータが決定される。
更に、画素#0〜#7のYデータ、Crデータ、Cbデータに対して、YCrCb−RGB変換が行われ、画素#0〜#7の展開画像データ24が生成される(ステップS55)。展開画像データ24は、データ線駆動回路16に送られ、LCDパネル2のデータ線の駆動は、展開画像データ24に応答して行われる。
なお、以上の説明では、ステップS33において、Yデータが、バラツキが最大のデータとして選択された場合について説明されているが、Crデータ又はCbデータの一方が、バラツキが最大のデータとして選択された場合、残りの2つのデータ(Yデータと、Crデータ又はCbデータの他方)について、上記のステップS53〜S54の処理が行われることに留意されたい。
以上に説明されているように、本実施形態においても、画像圧縮回路13において、8個の画素の画像データ21に対して前処理を行って4個のデータセットを含む代表値データ33が生成される。更に、4個のデータセットの間の相関性に応じて複数の圧縮手法のうちから最適な圧縮手法が選択され、選択した圧縮手法によって代表値データ33の4個のデータセットに対して圧縮処理を行って最終的な圧縮画像データ22が生成される。
一方、展開処理では、選択された圧縮処理に対応する展開処理が圧縮画像データ23に対して行われ、4個のデータセットを含む代表値復元データ36が復元される。更に、当該4個のデータセットに対して上記の前処理に対応する後処理が行われ、元の8個の画素の画像データが復元された展開画像データ24が生成される。
上記のような圧縮処理及び復元処理によれば、前処理によって相関性の演算の組み合わせの数を減らすことで回路規模の増大を抑制することができる一方で、4個のデータセットの間の相関性に応じて圧縮手法を選択することで、圧縮誤差の低減も実現することができる。
加えて、第2の実施形態においては、4個のデータセットA、B、C、Dが、比較的に相関性が高いように決定される。Y0〜Y7は、2行4列に並んだ8画素の画像データ21から算出された輝度データ(Yデータ)から得られているので差異は小さい。Cr0、Cr1も同様に、2行4列に並んだ8画素の画像データ21から算出された色差データ(Crデータ)から得られているので、差異が小さい。また、Cr0、Cb0も、上記のステップS40、S41の演算により、差異が小さくなるように決定されている。これは、失われる情報が少ないことを意味しており、画質劣化の低減に寄与している。
(総比較圧縮回路における圧縮処理及び12代表値復元回路における展開処理の詳細)
以下では、第1及び第2の実施形態において、総比較圧縮回路32で行われる可逆圧縮、(1×4)圧縮、(2+1×2)圧縮、(2×2)圧縮、(4×1)圧縮、及び、これらの圧縮処理によって圧縮された圧縮画像データに対して12代表値復元回路34で行われる展開処理の例について詳細に説明する。
1.可逆圧縮及びその展開処理
本実施形態では、可逆圧縮は、データセットA、B、C、Dのデータ値を並び替えることによって行われる。図26は、可逆圧縮によって生成された可逆圧縮データのフォーマットを示す図である。本実施形態では、可逆圧縮データは、48ビットデータであり、圧縮種類認識ビットと、パターン種類データと、データ#1〜#5と、パディングデータとで構成される。
圧縮種類認識ビットは、圧縮に使われた圧縮処理の種類を示すデータであり、可逆圧縮データでは、4ビットが圧縮種類認識ビットに割り当てられる。本実施形態では、可逆圧縮データの圧縮種類認識ビットの値は「1111」である。
パターン種類データは、データセットA、B、C、Dが該当するパターンを指定するデータである。本実施形態では、8つの特定パターン(即ち、上述の条件(1a)、(2a)、(3a)〜(3c)、(4a)〜(4c)に該当するパターン)が定義されているから、パターン種類データは3ビットである。
データ#1〜#5は、データセットA、B、C、Dのデータ値を並び替えることによって得られるデータである。データ#1〜#5は、いずれも8ビットデータである。上述のように、可逆圧縮が行われる場合、データセットA、B、C、Dのデータ値は5種類以下であるから、データ#1〜#5に全てのデータ値を格納することができる。
パディングデータは、可逆圧縮データのビット数を、他の圧縮処理で圧縮された圧縮画像データと同一にするために追加されるデータである。本実施形態では、パディングデータは1ビットである。
上述の可逆圧縮によって生成された可逆圧縮データの展開は、パターン種類データを参照してデータ#1〜#5を並び替えることによって行われる。パターン種類データには、データセットA、B、C、Dが該当するパターンが記述されているから、パターン種類データを参照することにより、データセットA、B、C、Dを、何らの圧縮歪みを生じさせずに完全に復元することができる。
2.(1×4)圧縮及びその展開処理
図27は、(1×4)圧縮データのフォーマットを示す概念図である。上述のように、(1×4)圧縮は、4データセットのうちから選択された2つのデータセットの組み合わせの全てについて、該2つのデータセットの間の相関性が低い場合に採用される圧縮処理である。図27に示されているように、本実施形態では、(1×4)圧縮データが、圧縮種類認識ビットと、RA *、GA *、BA *データと、RB *、GB *、BB *データと、RC *、GC *、BC *データと、RD *、GD *、BD *データとで構成される。本実施形態では、(1×4)圧縮データは、48ビットデータである。
圧縮種類認識ビットとは、圧縮に使われた圧縮処理の種類を示すデータであり、(1×4)圧縮データでは、1ビットが圧縮種類認識ビットに割り当てられる。本実施形態では、(1×4)圧縮データの圧縮種類認識ビットの値は「0」である。
一方、RA *、GA *、BA *データは、それぞれ、データセットAのRデータRA、GデータGA、BデータBAに対してビット数を減少させる処理を行って得られるデータであり、RB *、GB *、BB *データは、データセットBのRデータRB、GデータGB、BデータBBに対してビット数を減少させる処理を行って得られるデータである。同様に、RC *、GC *、BC *データは、それぞれ、データセットCのRデータRC、GデータGC、BデータBCに対してビット数を減少させる処理を行って得られるデータであり、RD *、GD *、BD *データは、データセットDのRデータRD、GデータGD、BデータBDに対してビット数を減少させる処理を行って得られるデータである。本実施形態では、データセットDのBデータに対応するBD *データのみ3ビットデータであり、残りのデータ(RA *、GA *、BA *データ、RB *、GB *、BB *データ、RC *、GC *、BC *データ、及び、RD *、GD *データ)は4ビットデータである。
以下、図27を参照しながら、(1×4)圧縮におけるデータ処理について説明する。(1×4)圧縮では、データセットA〜Dのそれぞれについて、ディザマトリックスを用いたディザ処理が行われ、これにより、データセットA〜Dのビット数が減少される。詳細には、まず、データセットA、B、C、DのRデータ、Gデータ、Bデータのそれぞれに誤差データαを加算する処理が行われる。本実施形態では、誤差データαは、当該圧縮処理の対象のブロックの位置から適宜の方法(例えば、ベイヤーマトリックスである基本マトリックスを用いた方法)で決定される。以下では、データセットA、B、C、Dについて定められた誤差データαが、それぞれ、0、5、10、15であるとして説明が行われる。
誤差データαが加算されたデータセットA、B、C、DのRデータ、Gデータ、Bデータに、丸め処理とビット切捨て処理が行われてRA *、GA *、BA *データ、RB *、GB *、BB *データ、RC *、GC *、BC *データ、及びRD *、GD *、BD *データが生成される。詳細には、データセットDのBデータBDについては、値16を加算した後、下位5ビットを切り捨てる処理が行われる。データセットA、B、CのRデータ、Gデータ、Bデータ、及び、データセットDのRデータ、Gデータについては、値8を加算した後、下位4ビットを切り捨てる処理が行われる。このようにして生成されたRA *、GA *、BA *データ、RB *、GB *、BB *データ、RC *、GC *、BC *データ、及びRD *、GD *、BD *データに、圧縮種類認識ビットとして値「0」を付加することにより、(1×4)圧縮データが生成される。
一方、(1×4)圧縮で圧縮された圧縮画像データの展開では、まず、RA *、GA *、BA *データ、RB *、GB *、BB *データ、RC *、GC *、BC *データ、及びRD *、GD *、BD *データのビット繰上げが行われる。詳細には、データセットDのBデータBDに対応するBD *データについては、5ビットの繰上げが行われ、他のデータ(RA *、GA *、BA *データ、RB *、GB *、BB *データ、RC *、GC *、BC *データ、及びRD *、GD *データ)については、4ビットの繰上げが行われる。更に、誤差データαの減算が行われ、これにより、データセットA〜DのRデータ、Gデータ、Bデータが復元される。即ち、(1×4)圧縮で圧縮された圧縮画像データの展開処理が完了する。
3.(2+1×2)圧縮及びその展開処理
図28は、(2+1×2)圧縮データのフォーマットを示す概念図である。上述のように、(2+1×2)圧縮は、2つのデータセットの間に高い相関性があり、かつ、他の2つのデータセットは、先の2つのデータセットと相関性が低く、且つ、互いに相関性が低い場合に採用される。図28に示されているように、本実施形態では、(2+1×2)圧縮データが、圧縮種類認識ビット、選択データ、R代表値、G代表値、B代表値、付加情報データ、Ri *、Gi *、Bi *データ、及びRj *、Gj *、Bj *データで構成される。ここで、(2+1×2)圧縮データは、上述の(1×4)圧縮データと同様に48ビットデータである。
圧縮種類認識ビットとは、圧縮に使われた圧縮処理の種類を示すデータであり、(2+1×2)圧縮データでは、2ビットが圧縮種類認識ビットに割り当てられる。本実施形態では、(2+1×2)圧縮データの圧縮種類認識ビットの値は「10」である。
選択データとは、データセットA〜Dのうち、どの2つのデータセットの間の相関性が高いかを示す3ビットデータである。(2+1×2)圧縮が使用される場合、データセットA〜Dのうち、2つのデータセットの間の相関性が高く、残りの2つのデータセットは他の2つのデータセットとの相関性が低い。したがって、相関性が高い2つのデータセットの組み合わせは、下記の6通りである:
・データセットA、C
・データセットB、D
・データセットA、B
・データセットC、D
・データセットB、C
・データセットA、D
選択データは、3ビットによって、相関性が高い2つのデータセットが、これらの6つの組み合わせのいずれであるかを示している。
R代表値、G代表値、B代表値は、それぞれ、相関性が高い2つのデータセットのRデータ、Gデータ、Bデータを代表する値である。図28の例では、R代表値及びG代表値に5ビット又は6ビットのデータであり、B代表値は5ビットのデータである。
付加情報データは、β比較データと、大小認識データとを含んでいる。β比較データとは、相関性が高い2つのデータセットのRデータの差及びGデータの差が、所定の閾値βよりも大きいか否かを示すデータである。本実施形態では、β比較データは2ビットのデータである。一方、大小認識データは、相関性が高い2つのデータセットのうち、どちらのデータセットのRデータが大きいか、及び、どちらのデータセットのGデータが大きいかを示すデータである。Rデータに対応する大小認識データは、相関性が高い2つのデータセットのRデータの差が閾値βよりも大きい場合にのみ生成され、Gデータに対応する大小認識データは、相関性が高い2つのデータセットのGデータの差が閾値βよりも大きい場合にのみ生成される。したがって、大小認識データは、0〜2ビットのデータである。
Ri *、Gi *、Bi *データ、及びRj *、Gj *、Bj *データは、相関性が低い2つのデータセットのRデータ、Gデータ、Bデータに対してビット数を減少させる処理を行って得られるデータである。なお、i、jは、A、B、C、Dから互いに異なるように選択された2つである。本実施形態では、Ri *、Gi *、Bi *データ、及びRj *、Gj *、Bj *データは、いずれも、4ビットデータである。
以下、図28を参照しながら、(2+1×2)圧縮におけるデータ処理について説明する。以下の説明では、データセットA、Bの間の相関性が高く、データセットC、DのそれぞれがデータセットA、Bに対して相関性が低く、且つ、データセットC、D相互の相関性が低い場合における(2+1×2)圧縮データの生成について記述している。他の場合も同様にして(2+1×2)圧縮データが生成可能であることは、当業者には容易に理解されよう。
まず、(相関性が高い)データセットA、Bの圧縮処理について説明する。まず、Rデータ、Gデータ、Bデータのそれぞれの平均値が算出される。Rデータ、Gデータ、Bデータの平均値Rave、Gave、Baveは、下記式によって算出される:
Rave=(RA+RB+1)/2,
Gave=(GA+GB+1)/2,
Bave=(BA+BB+1)/2.
更に、データセットA、BのRデータの差|RA−RB|及び、Gデータの差|GA−GB|が、所定の閾値βよりも大きいか否かが比較される。この比較結果がβ比較データとして(2+1×2)圧縮データの付加情報データに組み込まれる。
更に、下記の手順により、データセットA、BのRデータ及びGデータについて大小認識データが作成される。データセットA、BのRデータの差|RA−RB|が閾値βよりも大きい場合、データセットA、BのいずれのRデータが大きいかが、大小認識データに記述される。データセットA、BのRデータの差|RA−RB|が閾値β以下の場合には、データセットA、BのRデータの大小関係は、大小認識データに記述されない。同様に、データセットA、BのGデータの差|GA−GB|が閾値βよりも大きい場合、データセットA、BのいずれのGデータが大きいかが、大小認識データとして、(2+1×2)圧縮データの付加情報データに組み込まれる。データセットA、BのGデータの差|GA−GB|が閾値β以下の場合には、データセットA、BのGデータの大小関係は、大小認識データに記述されない。
続いて、Rデータ、Gデータ、Bデータの平均値Rave、Gave、Baveに誤差データαが加算される。本実施形態では、本実施形態では、誤差データαは、当該圧縮処理の対象のブロックの位置から適宜の方法(例えば、ベイヤーマトリックスである基本マトリックスを用いた方法)で決定される。以下では、本実施形態では、データセットA、Bについて定められた誤差データαが0であるとして説明が行われる。
更に、丸め処理及びビット切捨て処理が行われてR代表値、G代表値、B代表値が算出される。詳細には、Rデータの平均値Rave及びGデータの平均値Gaveについての丸め処理において加算される数値及びビット切捨て処理で切り捨てられるビット数は、それぞれ、差|RA−RB|、|GA−GB|と閾値βとの大小関係に応じて決定される。Rデータの平均値Raveについては、Rデータの差|RA−RB|が閾値βよりも大きい場合、Rデータの平均値Raveに値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりR代表値が算出される。そうでない場合、平均値Raveに値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりR代表値が算出される。Gデータの平均値Gaveについても同様に、Gデータの差|GA−GB|が閾値βよりも大きい場合、Gデータの平均値Gaveに値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりG代表値が算出される。そうでない場合、平均値Gaveに値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりG代表値が算出される。
一方、B代表値については、Bデータの平均値Baveに値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりB代表値が算出される。以上により、データセットA、Bの圧縮処理が完了する。
(相関性が低い)データセットC、Dについては、(1×4)圧縮と同様の処理が行われる。即ち、データセットC、Dのそれぞれについて、ディザマトリックスを用いたディザ処理が独立に行われ、これにより、データセットC、DのRデータ、Gデータ、Bデータのビット数を減少する処理が行われる。詳細には、まず、データセットC、DのRデータ、Gデータ、Bデータのそれぞれに誤差データαを加算する処理が行われる。上述のように、誤差データαは、当該圧縮処理の対象のブロックの位置から算出される。以下では、データセットC、Dについて定められた誤差データαがそれぞれ10、15であるとして説明が行われる。
更に、丸め処理とビット切捨て処理が行われてRC *、GC *、BC *データ、RD *、GD *、BD *データが生成される。詳細には、データセットC、DそれぞれのR、G、Bデータのそれぞれについて、値8を加算した後、下位4ビットを切り捨てる処理が行われる。これにより、RC *、GC *、BC *データ、RD *、GD *、BD *データが算出される。
以上のようにして生成されたR代表値、G代表値、B代表値、大小認識データ、β比較結果データ、RC *、GC *、BC *データ、及びRD *、GD *、BD *データに、圧縮種類認識ビット及び選択データを付加することにより、(2+1×2)圧縮データが生成される。
(2+1×2)圧縮で圧縮された圧縮画像データの展開処理は、以下のようにして行われる。以下では、データセットA、Bの間の相関性が高く、データセットC、DがデータセットA、Bに対して相関性が低く、且つ、データセットC、D相互の相関性が低い場合における(2+1×2)圧縮データの展開について記述している。他の場合も同様にして(2+1×2)圧縮データが展開可能であることは、当業者には容易に理解されよう。
まず、(相関性が高い)データセットA、Bに関する展開処理について説明する。まず、R代表値、G代表値、B代表値に対してビット繰上げ処理が行われる。R代表値、G代表値に対するビット繰上げ処理のビット数は、β比較データに記述された、階調値の差|RA−RB|、|GA−GB|と閾値βとの大小関係に応じて決定される。Rデータの差|RA−RB|が閾値βよりも大きい場合、R代表値に対して3ビットのビット繰上げ処理が行われ、そうでない場合、2ビットのビット繰上げ処理が行われる。同様に、Gデータの差|GA−GB|が閾値βよりも大きい場合、G代表値に対して3ビットのビット繰上げ処理が行われ、そうでない場合、2ビットのビット繰上げ処理が行われる。
更に、R代表値、G代表値、B代表値のそれぞれについて、誤差データαの減算が行われた後、R代表値、G代表値、B代表値からデータセットA、BのRデータ、Gデータ、Bデータの階調値を復元する処理が行われる。
データセットA、BのRデータの復元においては、付加情報データに含まれるβ比較データ及び大小認識データが使用される。β比較データにおいて、Rデータの差|RA−RB|が閾値βよりも大きいと記述されている場合、R代表値に一定値(例えば、5)を加えた値が、データセットA、Bのうち大小認識データにおいて大きいと記述されている方のRデータとして復元され、R代表値に該一定値を減じた値が大小認識データにおいて小さいと記述されている方のRデータの階調値として復元される。一方、Rデータの差|RA−RB|が閾値βよりも小さい場合、データセットA、BのRデータは、R代表値に一致するとして復元される。
データセットA、BのGデータの復元においても、β比較データ及び大小認識データを用いて同様の処理が行われる。一方、データセットA、BのBデータの階調値の復元においては、β比較データ及び大小認識データに無関係に、データセットA、BのBデータの値がいずれも、B代表値に一致するとして復元される。
以上で、データセットA、BのRデータ、Gデータ、Bデータの復元が完了する。
(相関性が低い)データセットC、Dに対する展開処理では、上述の(1×4)圧縮データの展開処理と同様の処理が行われる。データセットC、Dに対する展開処理では、まず、RC *、GC *、BC *データ、及びRD *、GD *、BD *データのそれぞれについて、4ビットのビット繰上げ処理が行われる。更に、誤差データαの減算が行われ、これにより、データセットC、DのRデータ、Gデータ、Bデータが復元される。
以上の過程により、データセットA〜Dの全ての復元が完了する。即ち、(2+1×2)圧縮で圧縮された圧縮画像データの展開処理が完了する。
4.(2×2)圧縮及びその展開処理
図29は、(2×2)圧縮データのフォーマットを示す概念図である。上述のように、(2×2)圧縮は、2つのデータセットの間に高い相関性があり、かつ、他の2つのデータセットの間に高い相関性がある場合に使用される圧縮処理である。図29に示されているように、本実施形態では、(2×2)圧縮データが48ビットデータであり、圧縮種類認識ビットと、選択データと、R代表値#1と、G代表値#1と、B代表値#1と、R代表値#2と、G代表値#2と、B代表値#2と、付加情報データとで構成される。
圧縮種類認識ビットとは、圧縮に使われた圧縮処理の種類を示すデータであり、(2×2)圧縮データでは、3ビットが圧縮種類認識ビットに割り当てられる。本実施形態では、(2×2)圧縮データの圧縮種類認識ビットの値は「110」である。
選択データとは、データセットA〜Dのうち、どの2つのデータセットの間の相関性が高いかを示す2ビットデータである。(2×2)圧縮が使用される場合、データセットA〜Dのうち、2つのデータセット(以下、第1データセット対という)の間に高い相関性があり、かつ、他の2つのデータセット(以下、第2データセット対という)の間に高い相関性がある。したがって、相関性が高い2つのデータセットの組み合わせは、下記の3通りである:
・データセットA、Bの相関性が高く、データセットC、Dの相関性が高い
・データセットA、Cの相関性が高く、データセットB、Dの相関性が高い
・データセットA、Dの相関性が高く、データセットB、Cの相関性が高い
選択データは、2ビットによって、これらの3つの組み合わせのいずれかを示している。
R代表値#1、G代表値#1、B代表値#1は、それぞれ、第1データセット対のデータセットのRデータ、Gデータ、Bデータを代表する値であり、R代表値#2、G代表値#2、B代表値#2は、それぞれ、第2データセット対のデータセットのRデータ、Gデータ、Bデータを代表する値である。図29の例では、R代表値#1、G代表値#1、B代表値#1、R代表値#2、及びB代表値#2は、5ビット又は6ビットのデータであり、G代表値#2は6又は7ビットのデータである。
付加情報データは、β比較データと大小認識データとを含んでいる。β比較データとは、相関性が高い2つのデータセットのRデータの差、Gデータの差、及び、Bデータの差が、それぞれ、所定の閾値βよりも大きいか否かを示すデータである。本実施形態では、β比較データは、第1データセット対及び第2データセット対のそれぞれに3ビットが割り当てられた6ビットのデータである。一方、大小認識データは、第1データセット対、及び第2データセット対のそれぞれについて、どちらのデータセットのRデータの値が大きいか、どちらのデータセットのGデータの値が大きいか、及び、どちらのデータセットのBデータの値が大きいかを示すデータである。各データセット対について、Rデータに対応する大小認識データは、該データセット対のRデータの差が閾値βよりも大きい場合にのみ生成される。同様に、各データセット対について、Gデータに対応する大小認識データは、該データセット対のGデータの差が閾値βよりも大きい場合にのみ生成され、Bデータに対応する大小認識データは、該データセット対のBデータの差が閾値βよりも大きい場合にのみ生成される。したがって、大小認識データは、0〜6ビットのデータである。
以下、図29を参照しながら、(2×2)圧縮におけるデータ処理について説明する。以下では、データセットA、Bの間の相関性が高く、データセットC、Dの間の相関性が高い場合における(2×2)圧縮データの生成について記述している。データセットA、Bが第1データセット対と定義され、データセットC、Dが第2データセット対と定義される。他の場合も同様にして(2×2)圧縮データが生成可能であることは、当業者には容易に理解されよう。
まず、各データセット対について、Rデータ、Gデータ、Bデータの平均値が算出される。詳細には、データセットA、BのRデータ、Gデータ、Bデータの平均値Rave1、Gave1、Bave1、及びデータセットC、DのRデータ、Gデータ、Bデータの平均値Rave2、Gave2、Bave2は、下記式によって算出される:
Rave1=(RA+RB+1)/2,
Gave1=(GA+GB+1)/2,
Bave1=(BA+BB+1)/2,
Rave2=(RA+RB+1)/2,
Gave2=(GA+GB+1)/2,
Bave1=(BA+BB+1)/2.
更に、データセットA、BのRデータの差|RA−RB|、Gデータの差|GA−GB|、及び、Bデータの差|BA−BB|が、所定の閾値βよりも大きいか否かが比較される。同様に、データセットC、DのRデータの差|RC−RD|、Gデータの差|GC−GD|、及び、Bデータの差|BC−BD|が、所定の閾値βよりも大きいか否かが比較される。これらの比較結果は、β比較データとして(2×2)圧縮データの付加情報データに組み込まれる。
更に、データセットA、Bの組み合わせ、及びデータセットC、Dの組み合わせのそれぞれについて大小認識データが作成される。作成された大小認識データは、(2×2)圧縮データの付加情報データに組み込まれる。
詳細には、データセットA、BのRデータの差|RA−RB|が閾値βよりも大きい場合、データセットA、BのいずれのRデータが大きいかが、大小認識データに記述される。データセットA、BのRデータの差|RA−RB|が閾値β以下の場合には、データセットA、BのRデータの大小関係は、大小認識データに記述されない。同様に、データセットA、BのGデータの差|GA−GB|が閾値βよりも大きい場合、データセットA、BのいずれのGデータが大きいかが、大小認識データに記述される。データセットA、BのGデータの差|GA−GB|が閾値β以下の場合には、データセットA、BのGデータの大小関係は、大小認識データに記述されない。加えて、データセットA、BのBデータの差|BA−BB|が閾値βよりも大きい場合、データセットA、BのいずれのBデータが大きいかが、大小認識データに記述される。データセットA、BのBデータの差|BA−BB|が閾値β以下の場合には、データセットA、BのBデータの大小関係は、大小認識データに記述されない。
同様に、データセットC、DのRデータの差|RC−RD|が閾値βよりも大きい場合、データセットC、DのいずれのRデータが大きいかが、大小認識データに記述される。データセットC、DのRデータの差|RC−RD|が閾値β以下の場合には、データセットC、DのRデータの大小関係は、大小認識データに記述されない。同様に、データセットC、DのGデータの差|GC−GD|が閾値βよりも大きい場合、データセットC、DのいずれのGデータが大きいかが、大小認識データに記述される。データセットC、DのGデータの差|GC−GD|が閾値β以下の場合には、データセットC、DのGデータの大小関係は、大小認識データに記述されない。加えて、データセットC、DのBデータの差|BC−BD|が閾値βよりも大きい場合、データセットC、DのいずれのBデータが大きいかが、大小認識データに記述される。データセットC、DのBデータの差|BC−BD|が閾値β以下の場合には、データセットC、DのBデータの大小関係は、大小認識データに記述されない。
更に、データセットA、BのRデータ、Gデータ、Bデータの平均値Rave1、Gave1、Bave1、及び、データセットC、DのRデータ、Gデータ、Bデータの平均値Rave2、Gave2、Bave2に、誤差データαが加算される。本実施形態では、誤差データαは、圧縮処理の対象のブロックの位置からベイヤーマトリックスである基本マトリックスを用いて決定される。以下では、本実施形態では、データセットA、Bについて定められた誤差データαが0であるとして説明が行われる。
更に、丸め処理及びビット切捨て処理が行われてR代表値#1、G代表値#1、B代表値#1、R代表値#2、G代表値#2、B代表値#2が算出される。まず、データセットA、Bについて説明すると、丸め処理において加算される数値及びビット切捨て処理で切り捨てられるビット数は、Rデータ、Gデータ、Bデータの差|RA−RB|、|GA−GB|、及び|BA−BB|と閾値βとの大小関係に応じて、2ビット又は3ビットに決定される。Rデータについては、Rデータの差|RA−RB|が閾値βよりも大きい場合、Rデータの平均値Rave1に値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりR代表値#1が算出される。そうでない場合、平均値Rave1に値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりR代表値#1が算出される。結果として、R代表値#1は、5ビット又は6ビットになる。Gデータ、Bデータについても同様である。Gデータの差|GA−GB|が閾値βよりも大きい場合、Gデータの平均値Gave1に値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりG代表値#1が算出される。そうでない場合、平均値Gave1に値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりG代表値#1が算出される。更に、Bデータの差|BA−BB|が閾値βよりも大きい場合、Bデータの平均値Bave1に値4を加えた後下位3ビットを切り捨てる処理が行われ、これによりB代表値#1が算出される。そうでない場合、平均値Bave1に値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりB代表値#1が算出される。
データセットC、Dの組み合わせについても同様の処理が行われてR代表値#2、G代表値#2、B代表値#2が算出される。ただし、データセットC、DのGデータについては、丸め処理において加算される数値及びビット切捨て処理で切り捨てられるビット数は、1ビット又は2ビットである。Gデータの差|GC−GD|が閾値βよりも大きい場合、Gデータの平均値Gave2に値2を加えた後下位2ビットを切り捨てる処理が行われ、これによりG代表値#2が算出される。そうでない場合、平均値Gave2に値1を加えた後下位1ビットを切り捨てる処理が行われ、これによりG代表値#2が算出される。
以上により、(2×2)圧縮による圧縮処理が完了する。
一方、(2×2)圧縮で圧縮された圧縮画像データの展開処理は、以下のようにして行われる。以下では、データセットA、Bの間の相関性が高く、且つ、データセットC、Dの間の相関性が高い場合における(2×2)圧縮データの展開について記述している。他の場合も同様にして(2×2)圧縮データが展開可能であることは、当業者には容易に理解されよう。
まず、R代表値#1、G代表値#1、B代表値#1に対してビット繰上げ処理が行われる。ビット繰上げ処理のビット数は、β比較データに記述された、データセットA、BのRデータ、Gデータ、Bデータの差|RA−RB|、|GA−GB|、|BA−BB|と閾値βとの大小関係に応じて決定される。データセットA、BのRデータの差|RA−RB|が閾値βよりも大きい場合、R代表値#1に対して3ビットのビット繰上げ処理が行われ、そうでない場合、2ビットのビット繰上げ処理が行われる。同様に、データセットA、BのGデータの差|GA−GB|が閾値βよりも大きい場合、G代表値#1に対して3ビットのビット繰上げ処理が行われ、そうでない場合、2ビットのビット繰上げ処理が行われる。更に、データセットA、BのBデータの差|BA−BB|が閾値βよりも大きい場合、B代表値#1に対して3ビットのビット繰上げ処理が行われ、そうでない場合、2ビットのビット繰上げ処理が行われる。
R代表値#2、G代表値#2、B代表値#2についても同様のビット繰上げ処理が行われる。ただし、G代表値#2のビット繰上げ処理のビット数は、1ビット又は2ビットのうちから選ばれる。データセットC、DのGデータの差|GC−GD|が閾値βよりも大きい場合、G代表値#2に対して2ビットのビット繰上げ処理が行われ、そうでない場合、1ビットのビット繰上げ処理が行われる。
更に、R代表値#1、G代表値#1、B代表値#1、R代表値#2、G代表値#2、B代表値#2のそれぞれから誤差データαが減算された後、これらの代表値から、データセットA〜DのRデータ、Gデータ、Bデータを復元する処理が行われる。
Rデータ、Gデータ、Bデータの復元においては、β比較データ及び大小認識データが使用される。β比較データにおいて、データセットA、BのRデータの差|RA−RB|が閾値βよりも大きいと記述されている場合、R代表値#1に一定値(例えば、5)を加えた値が、データセットA、Bのうち大小認識データにおいて大きいと記述されている方のRデータとして復元され、R代表値#1に該一定値を減じた値が、大小認識データにおいて小さいと記述されている方のRデータとして復元される。データセットA、BのRデータの差|RA−RB|が閾値βよりも小さい場合、データセットA、BのRデータは、R代表値#1に一致するとして復元される。同様に、データセットA、BのGデータ、Bデータ、及びデータセットC、DのRデータ、Gデータ、Bデータも同様の手順によって復元される。
以上でデータセットA〜DのRデータ、Gデータ、Bデータの復元が完了する。即ち、(2×2)圧縮で圧縮された圧縮画像データの展開処理が完了する。
5.(4×1)圧縮及びその展開処理
図30は、(4×1)圧縮データのフォーマットを示す概念図である。上述のように、(4×1)圧縮は、4つのデータセットA〜Dの間に高い相関性がある場合に使用される圧縮処理である。図30に示されているように、本実施形態では、(4×1)圧縮データが48ビットデータであり、圧縮種類認識ビットと、下記の7つのデータ:Ymin、Ydist0〜Ydist2、アドレスデータ、Cb’、Cr’とで構成される。
圧縮種類認識ビットとは、圧縮に使われた圧縮処理の種類を示すデータであり、(4×1)圧縮データでは、4ビットが圧縮種類認識ビットに割り当てられる。本実施形態では、(4×1)圧縮データの圧縮種類認識ビットの値は「1110」である。
Ymin、Ydist0〜Ydist2、アドレスデータ、Cb’、Cr’は、データセットA〜DのRデータ、Gデータ、Bデータに対してYUV変換を行ってYUVデータに変換し、更に、該YUVデータについて圧縮処理を行うことによって得られるデータである。ここで、Ymin、Ydist0〜Ydist2は、4つのデータセットのYUVデータのうち、輝度データから得られるデータであり、Cb’、Cr’は、色差データから得られるデータである。Ymin、Ydist0〜Ydist2及びCb’、Cr’が、データセットA〜Dの代表値である。本実施形態では、最小輝度データYminに10ビット、Ydist0〜Ydist2のそれぞれに4ビット、アドレスデータに2ビット、Cb’、Cr’のそれぞれに10ビットが割り当てられている。以下、(4×1)圧縮について詳細に説明する。
まず、データセットA〜DのそれぞれのRデータ、Gデータ、Bデータについて下記のマトリックス演算が行われ、輝度データYと色差データCr、Cbが算出される:
ここで、Y
kは、データセットkの輝度データであり、Cr
k、Cb
kは、データセットkの色差データである。また、上述の通り、R
k、G
k、B
kは、それぞれ、データセットkのRデータ、Gデータ、Bデータである。
更に、データセットA〜Dの輝度データYk、色差データCrk、Cbkから、Ymin、Ydist0〜Ydist2、アドレスデータ、Cb’、Cr’が作成される。
Yminは、輝度データYA〜YDのうちの最小のもの(最小輝度データ)として定義される。また、Ydist0〜Ydist2は、残りの輝度データと最小輝度データYminの差分に2ビットの切捨て処理を行うことによって生成される。アドレスデータは、データセットA〜Dのいずれの輝度データが最小であるかを示すデータとして生成される。即ち、輝度データY A 〜Y D のうち、Y D が最小である場合には、下Ymin、Ydist0〜Ydist2は、下記式によって算出される:
Ymin=YD,
Ydist0=(YA−Ymin)>>2
Ydist1=(YB−Ymin)>>2
Ydist2=(YC−Ymin)>>2
ここで、「>>2」は、2ビットの切捨て処理を示す演算子である。アドレスデータには、輝度データYDが最小である旨が記載される。
更に、Cr’が、CrA〜CrDの和に1ビットの切捨て処理を行うことによって生成され、同様に、Cb’が、CbA〜CbDの和に1ビットの切捨て処理を行うことによって生成される。即ち、Cr’、Cb’が下記の式によって算出される:
Cr’=(CrA+CrB+CrC+CrD)>>1
Cb’=(CbA+CbB+CbC+CbD)>>1
ここで、「>>1」は、1ビットの切捨て処理を示す演算子である。以上で、(4×1)圧縮データの生成が完了する。
一方、(4×1)圧縮で圧縮された圧縮画像データの展開処理は、以下のようにして行われる。(4×1)圧縮で圧縮された圧縮画像データの展開では、まず、Ymin、Ydist0〜Ydist2から、データセットA〜Dそれぞれの輝度データが復元される。以下では、復元されたデータセットA〜Dの輝度データをYA’〜YD’と記載する。より具体的には、アドレスデータによって最小であると示されているデータセットの輝度データとして、最小輝度データYminの値が使用される。更に、Ydist0〜Ydist2に2ビットの繰上げ処理を行った後、最小輝度データYminに加算することにより、他のデータセットの輝度データが復元される。本実施形態では、輝度データY A 〜Y D のうち、Y D が最小である場合には、下記式によって輝度データYA’〜YD’が復元される:
YA’=Ydist0×4+Ymin
YB’=Ydist1×4+Ymin
YC’=Ydist2×4+Ymin
YD’=Ymin
更に、輝度データY
A’〜Y
D’と色差データCr’、Cb’から、下記のマトリックス演算により、データセットA〜DのR、G、Bデータが復元される:
ここで、「>>2」は、2ビットを切り捨てる処理を示す演算子である。上記の式から理解されるように、データセットA〜DのRデータ、Gデータ、Bデータの復元では、色差データCr’、Cb’が共通に使用される。
以上でデータセットA〜DのRデータ、Gデータ、Bデータの復元が完了する。即ち、(4×1)圧縮で圧縮された圧縮画像データの展開処理が完了する。
以上には、本発明の実施形態が具体的に記述されているが、本発明は、上記の実施形態には限定されない。本発明が、様々な変更と共に実施され得ることは、当業者には容易に理解されよう。例えば、上記の実施形態では、LCDパネル2を備えた液晶表示装置1が記述されているが、本発明は、他の表示パネル(例えば、プラズマ表示パネル及び有機EL表示パネル)を備える表示装置にも適用可能である。
また、上記の実施形態では、画像メモリ14に記憶される圧縮画像データ22を生成するために圧縮処理が行われているが、本発明の画像処理方法は、他の用途にも適用可能である。例えば、表示パネルドライバにデータ圧縮された画像データを転送する場合に、本発明による画像処理方法が適用されてもよい。
更に、上記の実施形態において、第1の実施形態の前処理と、第2の実施形態の前処理のいずれかが、画像データの内容に応じて選択され、選択された前処理が用いられても良い。
1 :液晶表示装置
2 :LCDパネル
3 :コントローラドライバ
4 :処理装置
5 :入力画像データ
6 :制御信号群
11 :命令制御回路
12 :ラインメモリ
13 :画像圧縮回路
14 :画像メモリ
15 :画像展開回路
16 :データ線駆動回路
16a :シフトレジスタ
16b :表示ラッチ
16c :駆動回路
17 :ゲート線駆動回路
18 :タイミング制御回路
19 :階調電圧発生回路
21 :画像データ
22 :圧縮画像データ
23 :圧縮画像データ
24 :展開画像データ
25 :タイミング設定データ
26 :階調設定データ
27 :タイミング制御信号
28 :タイミング制御信号
31 :12代表値算出回路
32 :総比較圧縮回路
33 :代表値データ
34 :12代表値復元回路
35 :画像データ復元回路
36 :代表値復元データ
41 :形状認識部
42 :可逆圧縮部
43 :(1×4)圧縮部
44 :(2+1×2)圧縮部
45 :(2×2)圧縮部
46 :(4×1)圧縮部
47 :圧縮データ選択部
51 :元データ復元部
52 :(1×4)展開部
53 :(2+1×2)展開部
54 :(2×2)展開部
55 :(4×1)展開部
56 :展開データ選択部