(57)【要約】【課題】画質を劣化させずに簡易なハードウェア構成で画像データの圧縮率を高める。【解決手段】ＬＣＤソースドライバ２は、ＲＧＢデータ受信回路４と、ＲＧＢ／ＹＣＣ変換回路５と、ＢＴＣ符号化回路６と、符号化データメモリ７と、ＢＴＣ復号化回路８と、ＹＣＣ／ＲＧＢ変換回路９と、ＬＣＤ駆動回路１０とを有する。画素ブロック内の画像の変化量が閾値を超えるか否かを検出し、閾値を超える場合には画像の変化が激しいと判断して、画素ブロック内の各画素を３つの代表値に変換して符号化する３レベル最大最小除外ＢＴＣ符号化処理を行い、変化量が閾値以下の場合には、平坦な画像と判断して、画素ブロック内の各画素を２つの代表値に変換して符号化する２レベル差分ＢＴＣ符号化処理を行う。３レベル最大最小除外ＢＴＣ符号化処理では、画素ブロック内の最大値ＭＡＸと最小値ＭＩＮを除いた画素値の平均値に基づいて閾値を計算するため、実際の輝度および色合いに合致した３つの代表値を選択できる。【選択図】図１
2009027556.tif 000002
【特許請求の範囲】
【請求項１】
隣接する複数画素からなる画素ブロックのそれぞれごとに、前記画素ブロック内の複数画素の画素値同士の差分が所定の閾値を超えたか否かを判定する活動量検出手段と、
前記画素ブロックのそれぞれごとに、前記所定の閾値を設定する閾値設定手段と、
前記活動量検出手段により前記所定の閾値を超えたと判定された前記画素ブロック内の各画素値をｎ（ｎは２以上の整数）個の代表値に変換してビット圧縮する第１の符号化処理を行い、前記活動量検出手段により前記所定の閾値を超えなかったと判定された前記画素ブロック内の各画素値を前記ｎ個以下の代表値に変換してビット圧縮する第２の符号化処理を行う符号化手段と、を備え、
前記閾値設定手段は、
前記画素ブロック内の各画素値の最大値および最小値を除いた残りの画素値に基づいて、前記画素ブロック内の各画素値の平均値を計算する平均値計算手段と、
前記画素ブロック内の各画素値の最大値および最小値と、前記平均値計算手段で計算された平均値と、に基づいて、前記閾値を計算する閾値計算手段と、を有することを特徴とする画像処理回路。
【請求項２】
前記第１の符号化処理は、前記第１の符号化処理を行ったことを示すフラグ情報と、前記ｎ個の代表値をビット圧縮処理したビット列と、前記画素ブロック内の各画素に対応する代表値の割り当てを示すビットマップ情報と、を含む第１の符号化データを生成し、
前記第２の符号化処理は、前記第２の符号化処理を行ったことを示すフラグ情報と、前記ｎ個以下の代表値をビット圧縮処理したビット列と、前記画素ブロック内の各画素に対応する代表値の割り当てを示すビットマップ情報と、を含む第２の符号化データを生成することを特徴とする請求項１に記載の画像処理回路。
【請求項３】
前記第１の符号化データは、前記ｎ個の代表値をビット圧縮したビット列に対応する値に共通の値を足し合わせた値であることを特徴とする請求項２に記載の画像処理回路。
【請求項４】
前記第２の符号化処理は、
前記画素ブロックを縦長または横長の複数のサブブロックに分割した後、前記複数のサブブロックのそれぞれに前記ｎ個以下の代表値のいずれかを割り当てて、前記第２の符号化データを生成することを特徴とする請求項２または３に記載の画像処理回路。
【請求項５】
複数の色情報からなる画像データを輝度データと色差データとに変換する色情報変換手段を備え、
前記活動量検出手段は、前記画素ブロックのそれぞれごとに、前記画素ブロック内の複数画素の輝度データの差分と色差データの差分とのそれぞれが所定の閾値を超えたか否かを判定し、
前記第１の符号化処理は、
前記活動量検出手段により前記所定の閾値を超えたと判定された前記画素ブロック内の複数画素の輝度データを３個の代表値に変換してビット圧縮する第３の符号化処理と、
前記活動量検出手段により前記所定の閾値を超えたと判定された前記画素ブロック内の複数画素の色差データを２個の代表値に変換してビット圧縮する第４の符号化処理と、を含み、
前記第２の符号化処理は、
前記活動量検出手段により前記所定の閾値を超えなかったと判定された前記画素ブロック内の複数画素の輝度データを中央値と差分値とに変換してビット圧縮する第５の符号化処理と、
前記活動量検出手段により前記所定の閾値を超えなかったと判定された前記画素ブロック内の複数画素の色差データを中央値と差分値とに変換してビット圧縮する第６の符号化処理と、を含むことを特徴とする請求項１乃至４のいずれかに記載の画像処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを符号化する画像処理回路に関する。
【背景技術】
【０００２】
ＰＣで生成した画像のような人工的な画像では、文字やウィンドウ枠などの人工的な絵文字情報を正しく表示できないと、違和感を感じやすい。特に、文字情報を違和感なく表示することは重要である。
【０００３】
特許文献１では、画素ブロック内の４レベルの代表値を設定して画像の品質保持を図っている。ところが、特許文献１の技術では、画像が本来的に３レベルの値からなる場合には、その画像を正しく表示できない。特許文献１では、４レベルの代表値を選択するにあたり、最大と最小の２つの代表値を保存し、残りの２つの代表値は、最大・最小の代表値から補間して予想することで、保存メモリの削減を図っている。このため、この補間による予想が実際のデータとうまく一致するときには問題ないが、画像が本来的に３レベルの値からなる場合は、実際の画像とは異なる画像が生成されてしまう。
【０００４】
このような問題に対処するには、代表値を正しく予想することが大切である。しかしながら、特許文献２においても、２つの代表色から等間隔で補間して代表値を選定している。ここでは、３レベルでの補間も含んでいるが、等間隔で補間する点は同じである。
【０００５】
非特許文献１ではビットマップ情報をＲＧＢで共通に利用し、かつ代表値を４ビット精度および差分モード時に５ビット精度とすることで、高い圧縮効果を実現している。しかしその一方で次のような問題がある。
【０００６】
ビットマップ情報をＲＧＢで１つに共通化するために、量子化テーブル、代表色、修飾子の組み合わせを最適に選択する必要があり、これは非常に探索負担が大きい。特に、携帯機器用ＬＣＤドライバＩＣの内蔵ＲＡＭに格納されるビット圧縮データを生成するのは、ハードウェアの負担が非常に大きい。
【０００７】
また、ビットマップ共通化は、輝度と色を個別に制御することができないから、色の急激な変化に対しては４×２ブロックの大きなサイズのアーティファクト（カラーバウンディング：色固定）として知覚されてしまうという問題がある。また、８ビットの高階調を実現するには、差分モード時でも代表値で５ビット精度しか確保されず、大きな問題となる。量子化テーブルの精度は平坦な画像の場合でも高くとれないため、８ビット精度を保証するこができないためである。
【特許文献１】米国特許７０５８２１８公報
【特許文献２】米国特許７０４３０８７公報
【非特許文献１】Jacob Stroem, Thomas Akenine-Moeller. iPACKMAN: High-Quality, Low-Complexity texture Compression for Mobile Phones, ACM Graphics Hardware 2005, pp. 63- 70.
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、画質を劣化させずに簡易なハードウェア構成で画像データの圧縮率を高めることが可能な画像処理回路を提供するものである。
【課題を解決するための手段】
【０００９】
本発明の一態様によれば、隣接する複数画素からなる画素ブロックのそれぞれごとに、前記画素ブロック内の複数画素の画素値同士の差分が所定の閾値を超えたか否かを判定する活動量検出手段と、前記画素ブロックのそれぞれごとに、前記所定の閾値を設定する閾値設定手段と、前記活動量検出手段により前記所定の閾値を超えたと判定された前記画素ブロック内の各画素値をｎ（ｎは２以上の整数）個の代表値に変換してビット圧縮する第１の符号化処理を行い、前記活動量検出手段により前記所定の閾値を超えなかったと判定された前記画素ブロック内の各画素値を前記ｎ個以下の代表値に変換してビット圧縮する第２の符号化処理を行う符号化手段と、を備え、前記閾値設定手段は、前記画素ブロック内の各画素値の最大値および最小値を除いた残りの画素値に基づいて、前記画素ブロック内の各画素値の平均値を計算する平均値計算手段と、前記画素ブロック内の各画素値の最大値および最小値と、前記平均値計算手段で計算された平均値と、に基づいて、前記閾値を計算する閾値計算手段と、を有することを特徴とする画像処理回路が提供される。
【発明の効果】
【００１０】
本発明によれば、画質を劣化させずに画像データの圧縮率を高めることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１２】
図１は本実施形態による画像処理回路を内蔵した液晶表示装置の概略構成を示すブロック図である。図１の液晶表示装置は、液晶パネル（ＬＣＤ：Liquid Crystal Display）１と、液晶パネル１を駆動するＬＣＤソースドライバ２と、ＬＣＤソースドライバ２にＲＧＢの画像データを供給するＲＧＢデータ送信回路３とを備えている。ＲＧＢデータ送信回路は、例えばアプリケーションプロセッサである。
【００１３】
ＬＣＤソースドライバ２は、ＲＧＢデータ受信回路４と、ＲＧＢ／ＹＣＣ変換回路５と、ＢＴＣ符号化回路６と、符号化データメモリ７と、ＢＴＣ復号化回路８と、ＹＣＣ／ＲＧＢ変換回路９と、ＬＣＤ駆動回路１０とを有する。
【００１４】
ＲＧＢデータ受信回路４は、ＲＧＢデータ送信回路３から送信された画像データを受信する。ＲＧＢ／ＹＣＣ変換回路５は、ＲＧＢの画像データを、輝度データＹおよび色差データＣｂ，ＣｒからなるＹＣＣデータに変換する。ＢＴＣ符号化回路６は、輝度データＹおよび色差データＣｂ，Ｃｒに対応する符号化データを生成する。生成された符号化データは、符号化データメモリ７に格納される。
【００１５】
ＢＴＣ復号化回路８は、符号化データメモリ７に格納されている符号化データを読み出して、輝度データＹおよび色差データＣｂ，Ｃｒを復元する。ＹＣＣ／ＲＧＢ変換回路９は、復元された輝度データＹおよび色差データをＲＧＢの画像データに変換する。ＬＣＤ駆動回路１０は、変換された画像データをアナログ画素電圧に変換して液晶パネル１に供給する。
【００１６】
図２は図１のＢＴＣ符号化回路６の内部構成の一例を示すブロック図である。図２のＢＴＣ符号化回路６は、４Ｈラインメモリ１１と、１６画素保存レジスタ１２と、変化量計算部１３と、最大最小計算部１４と、閾値計算部１５と、代表値計算部１６と、ビットマップ計算部１７と、圧縮データ保存レジスタ１８とを有する。
【００１７】
４Ｈラインメモリ１１は、４水平ライン分の画像データを格納するだけのメモリ容量を有する。１６画素保存レジスタ１２は、４Ｈラインメモリ１１に格納された画像データのうち、１画素ブロック（４×４＝１６画素）分の画像データを格納する。
【００１８】
変化量計算部１３は、画素ブロック内の輝度データＹの変化量と色差データＣｂ，Ｃｒの変化量を計算する。最大最小計算部１４は、画素ブロック内の輝度データＹの最大値および最小値と、色差データＣｂ，Ｃｒの最大値および最小値とを計算する。
【００１９】
閾値計算部１５は、画素ブロック内の輝度データＹの閾値と色差データＣｂ，Ｃｒの閾値とを計算する。代表値計算部１６は、画素ブロック内の輝度データＹの代表値と色差データＣｂ，Ｃｒの代表値とを計算する。
【００２０】
ビットマップ計算部１７は、画素ブロック内の輝度データＹの符号化データのビットマップと色差データＣｂ，Ｃｒの符号化データのビットマップとを計算する。
【００２１】
圧縮データ保存レジスタ１８は、画素ブロック内の輝度データＹの符号化データと色差データＣｂ，Ｃｒの符号化データを格納する。圧縮データ保存レジスタ１８に格納された１画素ブロック分の符号化データは、符号化データメモリ７に転送される。
【００２２】
図３は図１のＢＴＣ復号化回路８の内部構成の一例を示すブロック図である。図３のＢＴＣ復号化回路８は、圧縮データ保存レジスタ２１と、フラグ抽出部２２と、代表値抽出部２３と、ビットマップ抽出部２４と、１６画素保存レジスタ２５と、４Ｈラインメモリ２６とを有する。
【００２３】
圧縮データ保存レジスタ２１は、符号化データメモリ７に格納されている１画素ブロック分の符号化データを保存する。符号化データは、後述するように、圧縮形式を示すフラグ情報と、代表値を表すビット列と、１６画素分の符号情報を示すビットマップとを含んでいる。このような符号化データに対して、フラグ抽出部２２はフラグ情報を抽出し、代表値抽出部２３は代表値を表すビット列を抽出し、ビットマップ抽出部２４はビットマップを抽出する。
【００２４】
抽出された各ビット列は、輝度データＹと色差データＣｂ，Ｃｒに変換された後に１６画素保存レジスタ２５に格納される。１６画素保存レジスタ２５に格納された輝度データＹおよび色差データＣｂ，Ｃｒは、４Ｈラインメモリ２６に格納される。４Ｈラインメモリ２６に格納された符号化データは、ＹＣＣ／ＲＧＢ変換回路９にてＲＧＢの画像データに変換された後、ＬＣＤ駆動回路１０内の１Ｈラインメモリ２７に転送される。
【００２５】
図４は図１のＢＴＣ復号化回路８の内部構成の変形例を示すブロック図である。図４のＢＴＣ復号化回路８は、ＹＣＣ／ＲＧＢ変換回路９と４Ｈラインメモリ２６の接続順序が図３と逆になっている。
【００２６】
図４の場合、４Ｈラインメモリ２６に格納された画像データを１Ｈ（１水平ライン）単位で１Ｈラインメモリ２７に転送でき、転送効率がよくなる。また、図４の場合、ＢＴＣ復号化回路８の回路構成はランダムロジックであり、ＢＴＣ復号化回路８の外側に規則構造からなる４Ｈラインメモリ２６と１Ｈラインメモリ２７をまとめたため、効率的なレイアウト設計が行える。
【００２７】
本実施形態による画像処理回路は、図１のＢＴＣ符号化回路６とＢＴＣ復号化回路８の少なくとも一方を含むことを特徴としている。
【００２８】
図５は本実施形態による画像処理回路の概略的な処理手順の一例を示すフローチャートである。このフローチャートは、図１のＲＧＢ／ＹＣＣ変換回路５とＢＴＣ符号化回路６の処理動作に対応する。
【００２９】
まず、ＲＧＢの画像データをＹＣＣの色空間に変換する（ステップＳ１）。次に、画素ブロック内での画像の変化量を計算する（ステップＳ２）。
【００３０】
次に、輝度データＹと色差データＣｂ，Ｃｒのそれぞれについて、画素ブロック内での変化量が予め定めた閾値未満であるか否かを判定する（ステップＳ３）。
【００３１】
変化量が閾値未満であれば、画素ブロックに対して後述する２レベル差分ＢＴＣによる符号化処理を行う（ステップＳ４）。変化量が閾値未満ということは、画素ブロック内が平坦な画像であることを示しており、画素ブロック内の各画素の輝度データおよび色差データをそれぞれ２レベルで表現しても差し支えないため、各画素の輝度データＹおよび色差データＣｂ，Ｃｒをそれぞれ２レベルに置き換えた符号化データを生成する。
【００３２】
一方、変化量が閾値以上であれば、画素ブロックに対して後述する３レベル最大最小除外ＢＴＣによる符号化処理を行う（ステップＳ５）。変化量が閾値以上ということは、画素ブロック内の画像の変化が激しいことを示している。そこで、画素ブロック内の各画素を３レベルで表現することにする。なお、色情報は、輝度情報ほど人間が敏感に差異を視覚できないため、色差データＣｂ，Ｃｒについては、変化量が閾値以上であっても、２レベルで表現してもよい。
【００３３】
上述した図３において、ステップＳ１は色情報変換手段に、ステップＳ３は活動量検出手段に、ステップＳ４，Ｓ５は符号化手段に対応する。
【００３４】
以下、図５の処理動作を詳述する。図６は４×４画素からなる画素ブロックの一例を示す図である。図６中の各画素の数字は輝度データＹの値を表している。図６では、画素ブロック内に３種類の輝度データ値が存在する例を示している。
【００３５】
図６において、輝度データＹの最大値ＭＡＸと最小値ＭＩＮの差分は、２５５−０＝２５５である。この差分を画像データの変化量Δとして定義する。この変化量Δが小さければ、画像は平坦であることを示し、変化量が大きければ、画像の変化が激しいことを示す。
【００３６】
変化量Δが小さければ、画素ブロック内にレベルの異なる２つの代表値を設けることにする。この場合、代表値同士の値は似通っているため、それぞれの代表値をそのままビット列で表現するのではなく、２つの代表値の中央値と、これら代表値の差分値とで表すことにする。すなわち、代表値１＝中央値＋差分値、代表値２＝中央値−差分値とする。
【００３７】
中央値は例えば８ビットで表現されるが、変化量Δが小さいことが前提であるため、差分値として８ビットを設ける必要はなく、例えば差分は５ビットで足りる。このようにしても、８ビット精度で２つの代表値を計算できるため、８ビットの精度が保証できる。
【００３８】
一方、変化量Δが大きい場合、人間の視覚は８ビット精度で認識できないことから、荒く４ビットにしても支障はない。そこで、この場合は、レベルの異なる３つの代表値を設けるものの、各代表値のビット幅を削減する。携帯電話等に用いられる小サイズ画面に高精細画像を表示する場合、画素ブロックを３レベルで表現することで、画像のエッジ変化のギザギザ感を緩和でき、高画質を維持できる。
【００３９】
変化量は、輝度データＹと色差データＣｂ，Ｃｒのそれぞれについて計算されるが、各データの変化量の最大値ＭＡＸを最終的な変化量としてもよい。すなわち、輝度データＹの変化量をΔＹ、色差データＣｂの変化量をΔＣｂ、色差データＣｒの変化量をΔＣｒとすると、最終的な変化量Δ＝ＭＡＸ（ΔＹ，ΔＣｂ，ΔＣｒ）としてもよい。
【００４０】
自然画像における青空は、変化量Δ＝１５以下であることが経験的にわかっている。また、青空と地上の境界では、変化量Δ＝３１以下であることも経験的にわかっている。そこで、例えば、これらの経験的な値を参考にして、図５のステップＳ３における閾値Δｔｈを設定する。なお、後述するように、閾値Δｔｈは、所定のアルゴリズムに従って計算してもよい。以下では、輝度データＹと色差データＣｂ，Ｃｒごとに別個に変化量と閾値を設定する例について説明する。
【００４１】
図７は図６の画素ブロックに対応する符号化データを示す図である。図７の符号化データは、図１のＢＴＣ符号化回路６により生成される。
【００４２】
図６の場合、変化量Δが２５５−０＝２５５であり、変化量Δは閾値Δｔｈよりも大きいと判定され、３レベル最大最小除外ＢＴＣ符号化処理が行われる。画素ブロック内の各画素は、３つの代表値で表される。３つの代表値は、図７に示すように、それぞれ４ビットで表現される。３つの代表値”００００”、”１０００”、”１１１１”はＬＳＢ側４ビットを省略したビット列である。これら３つの代表値には、実際には４ビットに圧縮することによる調整値として８が足される。これにより、代表値”００００”は値８を表し、代表値”１０００”は１２８＋８＝１３６を表し、代表値”１１１１”は２４０＋８＝２４８を表すことになる。
【００４３】
８を足さなかった場合、全体として輝度が暗くなることから、上述した調整値が必要となる。３つの代表値は、それぞれ４ビットで保存されるが、実際にはＬＳＢ側に４ビットの”１０００”を加えて８ビットとして利用される。
【００４４】
図６の画素ブロックは３つの代表値で表されるため、これら代表値を識別する情報としては２ビットで足りる。そこで、画素ブロックのビットマップを表す情報は、図７に示すように各画素を２ビットとして、計２×１６＝３２ビットで表される。
【００４５】
以上より、図６の画素ブロックの符号化データは、図７に示すように、３つの代表値を表す計４×３＝１２ビットのビット列と、画素ブロックのビットマップを表す３２ビットのビット列とを合わせた計４４ビットで表される。
【００４６】
なお、３つの代表値を４ビットに圧縮する際、圧縮の仕方を変えれば、必ずしも調整値を加える必要はなくなる。したがって、調整値を任意に変更できるようにしてもよい。
【００４７】
本実施形態は、iPACKMANのような全サーチによる最適化を行わずに、後述する決定的なアルゴリズムにより計算を行うため、ハードウェアで実現する場合のハードウェアの規模縮小が図れる。
【００４８】
図８は画素ブロックの他の例を示す図、図９は図８の画素ブロックに対応する符号化データを示す図である。図８の画素ブロック内の各数字は輝度データＹの値を示している。
【００４９】
図８の画素ブロックの変化量Δは、１４５−１１５＝３０である。この場合、変化量Δが閾値よりも小さいと判断され、２レベル差分ＢＴＣ符号化処理が行われる。画素ブロック内の各画素は２つの代表値で表される。
【００５０】
図８の画素ブロック内の輝度データＹの平均値は１３０である。平均値以上の値を持つ画素（図８の白ヌキ部）の平均値（上平均値）は１３５、平均値未満の値を持つ画素（図８の斜線部）の平均値（下平均値）は１２５である。上平均値と平均値との差分値は５で、下平均値と平均値との差分値は−５である。したがって、平均値１３０と差分値５だけで、各画素の値をおおまかに表現できる。そこで、図８の画素ブロックを符号化する際には、平均値１３０を表すビット列と、平均値からの差分値５を表すビット列とで、画素ブロック内の２つの代表値を表す。
【００５１】
図８の画素ブロックのように、画像の変化が小さい場合、図６のように変化の激しい画像と比べて、画素単位での変化に気づきやすい。このため、代表値を表すビット列のビット幅を増やして画素単位のビット精度を上げる。具体的には、図９に示すように、平均値を表すビット列は８ビットで表現する。また、平均値からの差分値はあまり大きな値にならないため、図９に示すように５ビットのビット列で表現する。
【００５２】
また、図８の画素ブロックは２つの代表値しかないため、これら２つの代表値の識別は１ビットで行える。したがって、図９に示すように、ビットマップは計１６ビットで表現する。
【００５３】
この結果、図８の画素ブロックに対応する符号化データは、図９に示すように、平均値を表す８ビットと、差分値を表す５ビットと、ビットマップを表す１６ビットの計２９ビットになる。
【００５４】
次に、色差データＣｂ，Ｃｒの符号化処理について説明する。図１０は画素ブロックの一例を示す図、図１１は図１０の画素ブロックを２×２画素のサブブロックごとに間引いた例を示す図、図１２は画素ブロックを４つのサブブロックの値だけで表した図である。
【００５５】
図１１および図１２は、４×４画素の画素ブロックを２×２画素のサブブロックに分割して、各サブブロック内の画素値を等しくする間引き処理を行った例を示している。このような間引き処理は、４２０間引きとして一般に知られている。
【００５６】
サブブロックの値は、サブブロックを構成する４つの画素の平均値である。例えば、図１０の画素ブロック内の左上のサブブロックの値は、（１２８＋２５５＋０＋１２８）／４＝１２８になる。
【００５７】
図１２は図１０の画素ブロックを４つの画素値だけで表現しているが、４２０間引きを行えば、４つの画素値だけで画素ブロックの全画素の値を表現できるため、データ量を大幅に削減できることがわかる。
【００５８】
図１３は４２０間引きを行った後の符号化処理を示す図である。図１０の画素ブロックは、変化量Δが大きい例を示すが、色差データは輝度データＹよりも空間的変化が緩やかであるため、輝度データＹのように３つの代表値を設ける必要はない。そこで、本実施形態では２つの代表値を設け、各代表値のビット長を、ＬＳＢ側４ビットを省略して４ビットとする。また、各代表値を表すビット列に、データ圧縮の調整値として８を加えることとする。
【００５９】
図１３の例では、２つの代表値を表すビット列を”００００”と”１１１１”とする例を示しているが、これらビット列は実際にはＬＳＢ側に”０１００”を加えた値を持つ。すなわち、”００００”は値８を表し、”１１１１”は値２４８を表す。
【００６０】
また、画素ブロックを表すビットマップは、図１３に示すように、わずか４ビット”０１００” （左上から右下への順番）で表現できる。結果として、図１０の画素ブロックは、４×２＋４＝１２ビットで表現できる。
【００６１】
一方、図１４は画素ブロック内の画像が平坦な場合（変化量が閾値よりも小さい場合）の符号化処理の一例を示す図である。画素ブロック内の変化量が小さい場合は、図９と同様に、画素ブロック内の平均値を表すビット列と、平均値からの差分値を表すビット列と、ビットマップを表すビット列とを含む符号化データを生成する。
【００６２】
図１４の場合、平均値を表すビット列は８ビットで表現し、平均値を表すビット列は５ビットで表現し、ビットマップを表すビット列は４ビットで表現する。これにより、画素ブロック内の画素値が８ビット精度になるようにする。
【００６３】
ここで、差分値は量子化（圧縮）していないことに注意されたい。ビット幅を削減するには、差分値も量子化するのが望ましく、差分値を量子化する公知技術も存在する。差分値を量子化する必要性があるのは、差分値が画素値と同じ範囲の値を取りうるためである。
【００６４】
本実施形態では、最大値ＭＡＸと最小値ＭＩＮの差分である変化量が閾値Δｔｈよりも小さい場合しか、差分値を符号化しないため、差分値は画素値よりはるかに小さな値しか取らない。これにより、差分値のビット幅を画素値のビット幅よりも少なくしても、画素値のビット幅の精度を確保できる。
【００６５】
図９等では、閾値Δｔｈ＝３０としており、差分値は−１５〜＋１５の範囲内であり、差分値は４ビットで表現できる。図９では、閾値Δｔｈが３１を超える場合も考慮して、差分値を５ビットで表現しているが、Δｔｈを３０以下に限定してよければ差分値を４ビットで表現できる。
【００６６】
図１５は画素ブロックの変化量Δが閾値Δｔｈよりも大きい場合の輝度データＹと色差データＣｂ，Ｃｒの符号化データの一例を示す図であり、図７と図１３の符号化データを組み合わせたものである。図１５の場合、輝度データＹの符号化データが４４ビットで、色差データＣｂ，Ｃｒの符号化データが各１２ビットであり、計６８ビットの符号化データになる。
【００６７】
図１６は画素ブロックの変化量Δが閾値Δｔｈよりも小さい場合の輝度データＹと色差データＣｂ，Ｃｒの符号化データの一例を示す図であり、図９と図１４の符号化データを組み合わせたものである。図１６の場合、輝度データＹの符号化データが２９ビットで、色差データＣｂ，Ｃｒの符号化データが各１７ビットであり、計６３ビットの符号化データになる。
【００６８】
図１７は図１５および図１６の符号化データの先頭ビットに圧縮形式を示すフラグ情報を追加した符号化データの一例を示す図である。このフラグ情報は、図１５のように３つの代表値を設けて符号化データを生成する３レベル最大最小除外ＢＴＣ符号化処理を行った場合には０になり、図１６のように２つの代表値を設けて符号化データを生成する２レベル差分ＢＴＣ符号化処理を行った場合には１になる。
【００６９】
なお、先にも述べたが、Ｙ、Ｃｂ、Ｃｒそれぞれに独立に判定を行えばフラグは３つ必要で、Ｙ、Ｃｂ、Ｃｒそれぞれで代表値とビットマップの選択を行う構成となる。ここではΔ＝ＭＡＸ（ΔＹ、ΔＣｂ、ΔＣｒ）と１つの最大Δで判定したフラグの構成例を示している。３つの独立したΔ判定を排除するわけではないが、最大Δでデータを構成することにより、後に図２２で示すようにデータサイズを調整しやすいというメリットがある。もし独立してフラグ３つで取り扱いたいなら、これら３フラグ値の組み合わせに関する符号化データの構成があるので、その最大サイズで考える必要がある。
【００７０】
図１７（ａ）は図１５に対応する符号化データを示し、図１７（ｂ）は図１６に対応する符号化データを示している。
【００７１】
図１８は図５で説明した閾値の決め方を説明する図である。まず、画素ブロック内の最大値ＭＡＸと最小値ＭＩＮを検出し、これら最大値ＭＡＸと最小値ＭＩＮを除いた残りの画素値の平均値ＡＶＥ’を計算する。最大値ＭＡＸと最小値ＭＩＮを除いて平均値ＡＶＥ’を計算することにより、平均値ＡＶＥ’が最大値ＭＡＸまたは最小値ＭＩＮの影響を受けなくなり、実際の輝度および色に近い平均値を検出できる。
【００７２】
ＰＣで生成した画像の場合、絵や文字が表示される割合が多く、最大値ＭＡＸや最小値ＭＩＮが他の画素値とかけ離れた値になることがある。この場合、最大値ＭＡＸと最小値ＭＩＮを用いて平均値を計算しても、実際の輝度や色とは異なった値である可能性が高い。
【００７３】
また、ＰＣで生成した画像に表示されるウィンドウ枠等の絵情報は、広範囲にわたって同じ色であることが多い。このため、最大値ＭＡＸと最小値ＭＩＮを用いて平均値を計算すると、ウィンドウ枠の色やサイズ等によって、平均値が大きく変化してしまい、実際の画面全体の輝度や色合いとは異なったものになる。
【００７４】
これに対して、自然画像の場合は、最大値ＭＡＸと最小値ＭＩＮを考慮に入れて平均値を計算しても、実際の輝度や色との違いはそれほど感じられない。
【００７５】
最大値ＭＡＸと最小値ＭＩＮを除いて平均値ＡＶＥ’を計算した後、図１８に示すように、平均値ＡＶＥ’と最小値ＭＩＮとの中間値を低レベル閾値Th_lowとし、平均値ＡＶＥ’と最大値ＭＡＸとの中間値を高レベル閾値Th_highとする。得られた低レベル閾値Th_lowと高レベル閾値Th_highは、画素ブロック内で３つの代表値を計算する場合に用いられる。
【００７６】
本実施形態のように、最大値ＭＡＸと最小値ＭＩＮを除いて平均値を計算すると、特にＰＣで生成した画像を符号化する場合に効果が大きい。ＰＣで生成した画像の場合、画面全体に現れる輝度や色の数はそれほど多くないため、上述したように３レベルの符号化を行うことにより、画質を低下させずに圧縮率を高めることができる。
【００７７】
一方、自然画像の場合、画像内に同じ値が存在する確率は低いため、低レベル閾値と高レベル閾値で区分けされる各領域の平均値を代表値とすることも考えられる。本実施形態では、処理の簡略化のために、ＰＣで生成した画像でも自然画像でも、最大値ＭＡＸと最小値ＭＩＮを除いて平均値を計算する。これにより、ＰＣで生成した画像と自然画像で処理方法を変えなくて済み、ハードウェア構成を簡略化できるとともに、符号化処理に要する演算量も削減でき、高速に符号化処理を行うことができる。したがって、本実施形態は、携帯電話等のハードウェア性能が高くなく、メモリ容量も限られている電子機器に応用すると、より効果が大きい。
【００７８】
図１９は画素ブロックの各画素を３つの代表値で表す処理手順の一例を示すフローチャートである。まず、画像ブロック中の最大値ＭＡＸと最小値ＭＩＮを検出する（ステップＳ１１）。次に、高レベル閾値Th_highおよび低レベル閾値Th_lowと、最大値ＭＡＸおよび最小値ＭＩＮの中間値ＭＩＮとを計算する（ステップＳ１２）。このステップＳ１２の詳細な処理手順は後述する。
【００７９】
次に、画素ブロック内の３つの代表値V_plus，V_mid，V_minusを計算する（ステップＳ１３）。これら３つの代表値は以下の（１）〜（３）式で表される。
V_plus＝Round1（ＭＡＸ，ｂｉｔ）    …（１）
V_mid＝Round1（ＭＩＤ，ｂｉｔ）    …（２）
V_plus＝Round1（ＭＩＮ，ｂｉｔ）    …（３）
【００８０】
関数Round1は、ビット幅の削減を行う関数であり、引数のｂｉｔは、削減後のビット幅を示している。
【００８１】
例えば、１２８は８ビットでは”１０００００００”であるが、４ビット”１０００”で表される。実際にはビット圧縮時の調整値として８が加算されるため、V_mid＝Round1（10000000，４）＝１２８＋８＝１３６となる。同様に、V_plus＝２４８、V_minus＝８となる。これらV_plus、V_mid、V_minusが代表値となる。
【００８２】
次に、画素ブロック中の各画素を３つの代表値に振り分ける処理を行う（ステップＳ１４〜Ｓ７）。まず、ステップＳ１４では、画素値を高レベル閾値Th_highおよび低レベル閾値Th_lowと比較する。そして、画素値が高レベル閾値Th_high以上であれば、代表値V_plusを選択する（ステップＳ１５）。画素値が低レベル閾値Th_lowより大きくて高レベル閾値Th_high未満であれば、代表値V_midを選択する（ステップＳ１６）。画素値が低レベル以下であれば、代表値V_minを選択する（ステップＳ１７）。
【００８３】
図２０は図１９のステップＳ１８の詳細な処理手順の一例を示すフローチャートである。まず、画素値の総計を計算する変数ＳＵＭと、画素値の数を計測する変数ＣＮＴとをともにゼロに初期設定する（ステップＳ２１）。
【００８４】
次に、画素値が最大値ＭＡＸまたは最小値ＭＩＮか否かを判定する（ステップＳ２２）。ステップＳ２２の判定がＮＯであれば、変数ＳＵＭに画素値を加算し、変数ＣＮＴを１だけ増やす（ステップＳ２３）。
【００８５】
ステップＳ２２の判定がＹＥＳの場合、あるいはステップＳ２３の処理が終了した場合は、画素ブロック内の全画素の処理が終わったか否かを判定する（ステップＳ２４）。ステップＳ２４の判定がＮＯの場合にはステップＳ２２以降の処理を繰り返す。
【００８６】
このステップＳ２２〜Ｓ１４の処理により、最大値ＭＡＸと最小値ＭＩＮを除いた画素値の累積加算値が変数ＳＵＭに保持され、最大値ＭＡＸと最小値ＭＩＮを除いた画素値の総数が変数ＣＮＴに保持される。
【００８７】
ステップＳ２４の判定がＹＥＳの場合、変数ＣＮＴがゼロか否かを判定する（ステップＳ２５）。変数ＣＮＴがゼロの場合は、画素ブロック内の全画素が最大値ＭＡＸか最小値ＭＩＮであり、中間値が存在しないことを示しており、この場合は、２レベル（あるいは１レベル）を扱う仮の処理として、最大値ＭＡＸと最小値ＭＩＮの中間値を計算し、これを中間値ＭＩＤとする（ステップＳ２６）。
【００８８】
ステップＳ２５の判定がＮＯの場合、最大値ＭＡＸと最小値ＭＩＮが等しいか否かを判定する（ステップＳ２７）。両者が等しい場合、中間値が存在しないことになるが、仮の処理として最大値ＭＡＸを中間値として設定する（ステップＳ２８）。
【００８９】
ステップＳ２７の判定がＮＯの場合は、中間値が存在することを示しており、変数ＳＵＭを変数ＣＮＴで割った値を中間値ＭＩＤとして設定する（ステップＳ２９）。この中間値ＭＩＤは、最大値ＭＡＸと最小値ＭＩＮを除いた画素値の平均値に他ならない。このステップＳ２９は平均値計算手段に対応する。
【００９０】
ステップＳ２６、Ｓ２８またはＳ２９の処理が終わった場合、以下の（４）（５）式に基づいて閾値を計算する（ステップＳ３０）。このステップＳ３０は閾値設定手段に対応する。
Th_high＝ROUND（（ＭＡＸ＋ＭＩＤ）／２）    …（４）
Th_low＝ROUND（（ＭＩＮ＋ＭＩＤ）／２）    …（５）
【００９１】
図２０のフローチャートの特徴は、最適化のために検索処理を行わないことである。決定的なアルゴリズムで処理を行うため、少ない計算量で済み、計算時間も短縮できる。したがって、図２０のフローチャートによれば、図２に示すＢＴＣ符号化回路６のハードウェア構成を簡略化できる。
【００９２】
このように、第１の実施形態では、画素ブロック内の画像の変化量が閾値を超えるか否かを検出し、閾値を超える場合には画像の変化が激しいと判断して、画素ブロック内の各画素を３つの代表値（色差データの場合は２つの代表値）に変換して符号化する３レベル最大最小除外ＢＴＣ符号化処理を行い、変化量が閾値以下の場合には、平坦な画像と判断して、画素ブロック内の各画素を２つの代表値に変換して符号化する２レベル差分ＢＴＣ符号化処理を行う。３レベル最大最小除外ＢＴＣ符号化処理では、画素ブロック内の最大値ＭＡＸと最小値ＭＩＮを除いた画素値の平均値に基づいて閾値を計算するため、実際の輝度および色合いに合致した３つの代表値を選択できる。３つの代表値は、それぞれ４ビットで表現するため、ビット幅の削減が図れる。２レベル差分ＢＴＣ符号化処理では、４２０間引き処理を利用して２つの代表値を選定し、各代表値を８ビットで表現するため、８ビット精度が得られる。
【００９３】
このような処理により、３レベル最大最小除外ＢＴＣ符号化処理と２レベル差分ＢＴＣ符号化処理のいずれでも、画質を劣化させずに、符号化データのビット幅をより削減できる。
【００９４】
（第２の実施形態）
第２の実施形態は、３レベル最大最小除外ＢＴＣ符号化処理が第１の実施形態と異なることを特徴とする。この他は第１の実施形態と同様であるため、以下では、相違点を中心に説明する。
【００９５】
図２１は第２の実施形態による３レベル最大最小除外ＢＴＣ符号化処理の概要を説明する図である。図２１（ａ）は画素ブロック内の各画素を３つの代表値で表現した場合のビットマップの一例を示す図である。
【００９６】
画素ブロック内の３画素からなるグループを考えると、このグループ内の代表値の組み合わせとして、３×３×３＝２７通りが考えられる。したがって、各グループを表現するには、５ビット（２の５乗＝３２＞２７）があれば足りる。したがって、各グループを２×３＝６ビットで表現するよりも１ビット削減できる。
【００９７】
図２１（ａ）では、隣接する３画素を一つのグループとして、破線で図示している。画素ブロック内に、５個のグループと残りの１画素ができる。各グループは、図２１（ｂ）に示すように、５ビットで表現される。したがって、ビットマップは、図２１（ｃ）に示すように、５×５＋２＝２７ビットで表現でき、図７等のように３２ビットのビットマップに比べて５ビットの削減になる。
【００９８】
なお、図２１では３画素を一つのグループにする例を説明したが、３画素以外の複数画素でグループを構成してもよい。ただし、ビットマップのビット幅をできるだけ削減するようなグループ分けが望ましい。ビット幅削減の観点からは、グループの数を増やすのが望ましい。したがって、ビットマップのビット幅を考慮しながらグループ分けを行うのが望ましい。
【００９９】
図２２は第２の実施形態にて生成した符号化データの一例を示す図である。図２２の符号化データは、圧縮形式を示すフラグ情報が０の場合の符号化データが図１７と異なる。より具体的には、ビットマップを構成するビット列が異なっており、フラグ情報が０の場合の総ビット幅は６４ビットであり、図１７に比べて５ビット削減されている。
【０１００】
図２１では、６ビットを５ビットに変換する手法について説明したが、ビットを削減する他の手法を採用してもよい。具体的には、３進表示での値を２進表示の値に変換する手法がある。例えば０００１０１は、０×９＋１×３＋１＝４であるため、３進表示では、０１１となる。したがって、２進表示に変換すると、００１００になり、１ビット減って５ビットになることがわかる。なお、この手法も一例にすぎず、他の手法を採用してもよい。
【０１０１】
このように、第２の実施形態では、３レベル最大最小除外ＢＴＣ符号化処理を行う際に、ビットマップを表すビット幅をより削減できるため、符号化データのよりいっそうのビット幅削減が図れる。
【０１０２】
（第３の実施形態）
第３の実施形態は、２レベル差分ＢＴＣ符号化処理の内容が第１および第２の実施形態とは異なることを特徴とする。
【０１０３】
上述したように、２レベル差分ＢＴＣ符号化処理では、画素ブロックの平均値と、この平均値からの差分値とを符号化データに含めている。差分値は、値が小さいものほど出現頻度が高い。したがって、出現頻度の高い差分値を表すビット列にできるだけ多くの０を含ませて、出現頻度の高い差分値ほど、ビットの遷移確率が低くなるようにする。これにより、ＢＴＣ符号化回路６から符号化データメモリ７に符号化データを転送する際の消費電力削減を図る。
【０１０４】
例えば、差分値０には符号０００００を割り当て、発生頻度が最も低い差分値３１には符号１１１１１を割り当てる。これにより、符号化データメモリ７に格納されるデータが０に偏る。ビットが０から１、あるいは１から０に遷移すると、符号化データメモリ７には電流が流れて消費電力が増大する。したがって、ビットの遷移回数を減らすことにより、符号化データメモリ７の消費電力削減が図れる。
【０１０５】
図２３は差分値に対応する符号化データの一例を示す図である。ここで、遷移とは、符号化データメモリ７の同一の記憶領域にてビット値がフレーム間で変化することを意味し、差分値を表すビット列の０と１が変化するという意味ではない。したがって、ビットの遷移が少ないビット列よりも、ビット列中に０が多いビット列が優先的に選択される。
【０１０６】
上記では、差分値の符号化について説明したが、ビットマップを表すビット列にも同じ原理を適用することができる。ビットマップ中の隣接する画素は同じ画素値を取ることが多い。そこで、第２の実施形態で説明した６ビットから５ビットへの変換の代わりに、ビット列の発生頻度を考慮に入れて５ビットへの変換を行ってもよい。
【０１０７】
図２４は画素ブロックのビットマップに対応する符号化データの一例を示す図である。図２４の「組み合わせ」の欄では、ビットマップ値００を値０、ビットマップ値０１を値１、ビットマップ値１０を値２としている。例えば、「００」「０１」「０１」なるビットマップの組み合わせは０１１である。
【０１０８】
図２１（ａ）のグループは全部で２７種類あり、各グループを３ビット幅で表している。図２１（ａ）では、グループを構成する３画素は隣接している必要はなかったが、本実施形態では、隣接する３画素にて一つのグループが構成されている。
【０１０９】
グループを構成する３画素同士の変化量が少ないものは、３画素とも同じ値を取る組み合わせ”０００”、”１１１”、”２２２”である。したがって、これらの組み合わせについては、１を最大一つしか含まない符号化データを割り当てる。
【０１１０】
逆に、組み合わせ”０２０”は最も変化量が大きい。０から２に変化して、また０に戻るため、変化量は２＋２＝４である。したがって、組み合わせ”０２０”には、すべてが１の符号化データを割り当てる。
【０１１１】
図２５は第３の実施形態によるＢＴＣ符号化回路６の内部構成を示すブロック図、図２６は第３の実施形態によるＢＴＣ復号化回路８の内部構成を示すブロック図である。図２５および図２６では、図２および図３と共通する構成部分には同一符号を付しており、以下では相違点を中心に説明する。
【０１１２】
図２５のＢＴＣ符号化回路６は、図２になかった構成として、第１の遷移最小符号化回路３１と、第２の遷移最小符号化回路３２とを有する。第１の遷移最小符号化回路３１は、図２３に示すように、差分値に対応する符号化データを生成する。第２の遷移最小符号化回路３２は、図２４に示すように、ビットマップに対応する符号化データを生成する。
【０１１３】
第１および第２の遷移最小符号化回路３１，３２で生成された符号化データを用いて最終的な符号化データが生成されて、圧縮データ保存レジスタ１８に保存される。
【０１１４】
図２６のＢＴＣ復号化回路８は、図３になかった構成として、第１の遷移最小復号化回路３３と、第２の遷移最小復号化回路３４とを有する。第１の遷移最小復号化回路３３は、図２３の符号化データを元の差分値に復号する。第２の遷移最小復号化回路３４は、図２４の符号化データを元のビットマップデータに復号する。
【０１１５】
第１および第２の遷移最小復号化回路３３，３４で復号された差分値およびビットマップデータは、１６画素保存レジスタ１２に保存されて、１６画素分の輝度データＹおよび色差データが生成される。
【０１１６】
このように、第３の実施形態では、画像の相関が高いことを利用して、２レベル差分ＢＴＣ符号化処理と３レベル最大最小除外ＢＴＣ符号化処理にチャネル符号化技術を適用し、これにより符号化データメモリ７の消費電力（電流）の削減を図っている。より具体的には、出現頻度の高い差分値を表すビット列にできるだけ多くの０を割り当てるため、符号化データメモリ７でのビット遷移確率を削減でき、符号化データメモリ７の消費電力をより削減できる。また、ビットマップを構成するビット列についても、変化の少ない画素を表すビット列にできるだけ多くの０を割り当てるため、同様に符号化データメモリ７の消費電力の削減が図れる。
【０１１７】
可変長符号を利用して符号化処理を行うと、符号化データメモリ７へのランダムアクセスが困難になる。そこで、本実施形態では、符号長（ビット幅）は共通にして符号化データメモリ７へのランダムアクセスを可能としている。図２４の遷移最小符号化処理は可逆変換であり、この符号化により情報は失われないため、画質への影響はない。
【０１１８】
（第４の実施形態）
上述した２レベル差分ＢＴＣ符号化処理では、４２０間引き処理を採用したが、３レベル最大最小除外ＢＴＣ符号化処理と２レベル差分ＢＴＣ符号化処理の少なくとも一方は、以下に説明する４２２間引き処理を行ってもよい。
【０１１９】
図２７は画素ブロックの一例を示す図である。図２８は図２７の画素ブロックを縦方向に隣接する２画素で４２２間引きを行った例を示す図である。図２８では、縦方向に隣接する２画素の平均値を、その２画素の値として設定する。例えば、左上隅から縦方向に２画素の平均値は、（１２８＋０）／２＝６４であり、これら２画素の値はいずれも６４に設定される。
【０１２０】
図２９は図２８の処理結果を８画素で表現した図である。なお、縦方向に隣接する２画素の代わりに、横方向に隣接する２画素単位で４２２間引きを行ってもよい。
【０１２１】
図３０は２レベル差分ＢＴＣ符号化処理の中で４２２間引き処理を行う例を示す図である。図３０の場合、ビットマップが図１３のような４ビットから８ビットに増加することで、空間的な解像度の向上が図れ、４２０間引きよりも元の画像に近い画像が得られる。
【０１２２】
図３０の符号化データは、２つの代表値をそれぞれ４ビット幅とし、データ圧縮による調整値として８を各代表値に加算する。
【０１２３】
図３１は縦方向および横方向の４２２間引きを行う場合の水平変化量と垂直変化量を説明する図である。水平方向の画素同士の変化量の総和が水平変化量であり、垂直方向の画素同士の変化量の総和が垂直変化量である。
【０１２４】
図３１の場合、水平方向変化量＝０で、垂直変化量＝４×５＋４×２０＋４×５＝１２０である。水平変化量と垂直変化量を比較して、変化量の小さい水平方向を選択して、４２２間引きを行う。
【０１２５】
図３２は図３１の例について水平方向の４２２間引きを行って生成した符号化データの一例を示す図である。図３２（ａ）は、ＢＴＣモード選択フラグが０の場合（輝度データＹについて３レベル最大最小除外ＢＴＣ符号化処理を行う場合）を示しており、一方の色差データＣｂだけを４２２間引きし、色差データＣｒは図１７（ａ）と同様に４２０間引きをする例を示している。色差データＣｒに対しては、水平または垂直方向に変化量を計算したことを示すＨＶ選択フラグが設けられる。このフラグが０であるので、水平方向に変化量を計算したことを示している。
【０１２６】
色差データＣｒではなく、色差データＣｂについて４２２間引きを行う理由は、ＣｒはＣｂよりも画素間の相関が強いためであり、色差データＣｒについて４２２間引きを行っても、さほど画質は改善しないためである。
【０１２７】
一方、図３２（ｂ）は、ＢＴＣモード選択フラグが１の場合（輝度データＹについて２レベル差分ＢＴＣ符号化処理を行う場合）を示しており、色差データＣｂ，Ｃｒともに４２２間引きを行う例を示している。
【０１２８】
図３２（ａ）で、色差データＣｂしか４２２間引きを行わない理由は、ＢＴＣモード選択フラグが０の場合と１の場合で、符号化データの総ビット数を同じにするためである。
【０１２９】
なお、この第４の実施形態を第３の実施形態と組み合わせてもよい。
【０１３０】
このように、第４の実施形態では、色差データについて４２２間引き処理を行うため、４２０間引き処理を行うよりも、画質向上が図れる。
【０１３１】
上述した各実施形態では、変化量が閾値よりも大きい場合には、輝度データＹについては３つの代表値、色差データＣｂ，Ｃｒについてはそれぞれ２つの代表値を設け、変化量が閾値以下の場合には、輝度データＹと色差データＣｂ，Ｃｒについていずれも２つの代表値を設ける例を説明したが、代表値の数には特に制限はない。代表値の数について一般化すると、変化量が閾値よりも大きい場合にはｎ（ｎは２以上の整数）個の代表値を設け、変化量が閾値以下の場合にはｎ個以下の代表値を設けることになる。
【図面の簡単な説明】
【０１３２】
【図１】本実施形態による画像処理回路を内蔵した液晶表示装置の概略構成を示すブロック図。
【図２】図１のＢＴＣ符号化回路６の内部構成の一例を示すブロック図。
【図３】図１のＢＴＣ復号化回路８の内部構成の一例を示すブロック図。
【図４】図１のＢＴＣ復号化回路８の内部構成の変形例を示すブロック図。
【図５】本実施形態による画像処理回路の概略的な処理手順の一例を示すフローチャート。
【図６】４×４画素からなる画素ブロックの一例を示す図。
【図７】図６の画素ブロックに対応する符号化データを示す図。
【図８】画素ブロックの他の例を示す図。
【図９】図８の画素ブロックに対応する符号化データを示す図。
【図１０】画素ブロックの一例を示す図。
【図１１】図１０の画素ブロックを２×２画素のサブブロックごとに間引いた例を示す図。
【図１２】画素ブロックを４つのサブブロックの値だけで表した図。
【図１３】４２０間引きを行った後の符号化処理を示す図。
【図１４】画素ブロック内の画像が平坦な場合の符号化処理の一例を示す図。
【図１５】画素ブロックの変化量Δが閾値Δｔｈよりも大きい場合の輝度データＹと色差データＣｂ，Ｃｒの符号化データの一例を示す図。
【図１６】画素ブロックの変化量Δが閾値Δｔｈよりも小さい場合の輝度データＹと色差データＣｂ，Ｃｒの符号化データの一例を示す図。
【図１７】（ａ）（ｂ）は図１５および図１６の符号化データの先頭ビットに圧縮形式を示すフラグ情報を追加した符号化データの一例を示す図。
【図１８】図５で説明した閾値の決め方を説明する図。
【図１９】画素ブロックの各画素を３つの代表値で表す処理手順の一例を示すフローチャート。
【図２０】図１９のステップＳ１８の詳細な処理手順の一例を示すフローチャート。
【図２１】（ａ）（ｂ）（ｃ）は第２の実施形態による３レベル最大最小除外ＢＴＣ符号化処理の概要を説明する図。
【図２２】（ａ）（ｂ）は第２の実施形態にて生成した符号化データの一例を示す図。
【図２３】差分値に対応する符号化データの一例を示す図。
【図２４】画素ブロックのビットマップに対応する符号化データの一例を示す図。
【図２５】第３の実施形態によるＢＴＣ符号化回路６の内部構成を示すブロック図。
【図２６】第３の実施形態によるＢＴＣ復号化回路８の内部構成を示すブロック図。
【図２７】画素ブロックの一例を示す図。
【図２８】図２７の画素ブロックを縦方向に隣接する２画素で４２２間引きを行った例を示す図。
【図２９】図２８の処理結果を８画素で表現した図。
【図３０】２レベル差分ＢＴＣ符号化処理の中で４２２間引き処理を行う例を示す図。
【図３１】縦方向および横方向の４２２間引きを行う場合の水平変化量と垂直変化量を説明する図。
【図３２】図３１の例について水平方向の４２２間引きを行って生成した符号化データの一例を示す図。
【符号の説明】
【０１３３】
１  液晶パネル
２  ＬＣＤソースドライバ
３  ＲＧＢデータ送信回路
４  ＲＧＢデータ受信回路
５  ＲＧＢ／ＹＣＣ変換回路
６  ＢＴＣ符号化回路
７  符号化データメモリ
８  ＢＴＣ復号化回路
９  ＹＣＣ／ＲＧＢ変換回路
１０  ＬＣＤ駆動回路
１１  ４Ｈラインメモリ
１２  １６画素保存レジスタ
１３  変化量計算部
１４  最大最小計算部
１５  閾値計算部
１６  代表値計算部
１７  ビットマップ計算部
１８  圧縮データ保存レジスタ
２１  圧縮データ保存レジスタ
２２  フラグ抽出部
２３  代表値抽出部
２４  ビットマップ抽出部
２５  １６画素保存レジスタ
２６  ４Ｈラインメモリ
２７  １Ｈラインメモリ
【図１】
2009027556.tif 000003
【図２】
2009027556.tif 000004
【図３】
2009027556.tif 000005
【図４】
2009027556.tif 000006
【図５】
2009027556.tif 000007
【図６】
2009027556.tif 000008
【図７】
2009027556.tif 000009
【図８】
2009027556.tif 000010
【図９】
2009027556.tif 000011
【図１０】
2009027556.tif 000012
【図１１】
2009027556.tif 000013
【図１２】
2009027556.tif 000014
【図１３】
2009027556.tif 000015
【図１４】
2009027556.tif 000016
【図１５】
2009027556.tif 000017
【図１６】
2009027556.tif 000018
【図１７】
2009027556.tif 000019
【図１８】
2009027556.tif 000020
【図１９】
2009027556.tif 000021
【図２０】
2009027556.tif 000022
【図２１】
2009027556.tif 000023
【図２２】
2009027556.tif 000024
【図２３】
2009027556.tif 000025
【図２４】
2009027556.tif 000026
【図２５】
2009027556.tif 000027
【図２６】
2009027556.tif 000028
【図２７】
2009027556.tif 000029
【図２８】
2009027556.tif 000030
【図２９】
2009027556.tif 000031
【図３０】
2009027556.tif 000032
【図３１】
2009027556.tif 000033
【図３２】
2009027556.tif 000034