(57)【要約】【課題】画質の劣化をできるだけ抑えつつ、高効率に圧縮可能な符号化データを生成する。【解決手段】６４画素からなる１ブロックを第１の色軸方向に４つの領域に分割して、各画素を４つの領域に分類し、各領域を第２の色軸方向に分割して、１ブロックを８領域に分割し、６４画素を８つの領域に分類して、各領域ごとに代表色を設定し、各領域ごとの代表色の代表値の差分を計算して、量子化モードを決定する。量子化モードと代表値に基づいて符号化データを生成する。これにより、元の画像の画質をそれほど劣化させることなく、高圧縮で符号化処理を行える。【選択図】図１
2011124866.tif 000002
【特許請求の範囲】
【請求項１】
入力された複数画素からなる画素ブロックのそれぞれを、第１の色軸に沿ってｍ個（ｍは２以上の整数）の領域に分割して、該画素ブロック内の前記複数画素を前記ｍ個の領域に分類し、前記ｍ個の領域のそれぞれについて、各領域に属する画素の画素値の最小値、最大値および平均値を計算する第１の色分類手段と、
前記ｍ個の領域のそれぞれごとに、前記第１の色分類手段の計算結果に基づいて選択された第２の色軸に沿ってｎ個（ｎは２以上の整数）の領域に分割して、該画素ブロック内の前記複数画素をｍ×ｎ個の領域に分類し、前記ｍ×ｎ個の領域のそれぞれについて、代表色に対応する符号化情報と、元の前記画素ブロック内の画素位置に割り当てられた代表色についてのビットマップ情報と、を計算する第２の色分類手段と、
前記ｍ×ｎ個の領域のそれぞれの代表色を表す代表値同士の差分により、前記ｍ×ｎ個の領域に対応する前記画素ブロック内の複数画素の画素値を符号化した符号化データを生成する符号化手段と、を備えることを特徴とする符号化装置。
【請求項２】
前記第１の分類手段は、前記画素ブロック内で各色または色差成分ごとに色成分の広がりを検出して、広がりが最も大きい色または色差成分方向を前記第１の色軸とし、
前記第２の分類手段は、前記ｍ個の領域のそれぞれについて、各色または色差成分ごとに色成分の広がりを検出して、広がりが最も大きい色または色差成分方向を前記第２の色軸とすることを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記符号化手段は、前記ｍ×ｎ個の領域のそれぞれの代表色を表す代表値同士の差分により定まる量子化モード情報と、前記ｍ×ｎ個の領域の中で代表値の最小値を表す情報と、前記最小値を予め定めたビット精度にするための最小値補填ビット情報とを含む前記符号化データを生成することを特徴とする請求項１または２に記載の符号化装置。
【請求項４】
前記第１の色分類手段は、前記ｍ個の領域の中で前記第１の色軸上の値が最大の領域をさらに分けた計（ｍ＋ｐ）個（ｐは１以上の整数）の領域のそれぞれについて、各領域に属する画素の画素値の最小値、最大値および平均値を計算し、
前記第２の色分類手段は、前記（ｍ×ｎ＋ｐ）個の領域のそれぞれについて、代表色とビットマップ情報とを計算し、
前記符号化手段は、前記（ｍ×ｎ＋ｐ）個の領域の中に画素が存在しない少なくともｐ個の空き領域がある場合には該領域を利用して前記（ｍ×ｎ＋ｐ）個の領域に属する画素を再分類して前記符号化データを生成し、前記（ｍ×ｎ＋ｐ）個の領域の中に画素が存在しない（ｐ−１）個より少ない空き領域がある場合には前記ｍ×ｎ個の領域分割を用いて前記符号化データを生成することを特徴とする請求項１に記載の符号化装置。
【請求項５】
前記ｍ×ｎ個の領域のそれぞれに割り振られる代表色の総数がｋ個（ｋはｍ×ｎ以下の正の整数）以上か否かを判定する代表色数判定手段と、
代表色の総数が前記ｋ個以上の場合に、各色または色差成分ごとに、前記ｍ×ｎ個の領域それぞれの代表色の差分が所定の閾値以上か否かを判定する差分値判定手段と、を備え、
前記符号化手段は、前記閾値未満と判定された場合には、前記ｍ×ｎ個の領域のそれぞれの代表色同士の差分により、前記ｍ×ｎ個の領域に対応する前記画素ブロック内の複数画素の画素値を符号化した符号化データを生成し、前記閾値以上と判定されるか、または前記代表色数判定手段により前記ｋ個未満と判定された場合には、前記ｍ×ｎ個の領域のそれぞれの代表色の総数により定められるビット精度にて、前記ｍ×ｎ個の領域に対応する前記画素ブロック内の複数画素の画素値を符号化した符号化データを生成することを特徴とする請求項１または２に記載の符号化装置。
【請求項６】
色または色差情報を含む画像データに基づいて符号化データを生成する符号化部と、
前記符号化データを保存する記憶部と、
前記記憶部から読み出した前記符号化データを復号して新たな画像データを生成する復号化部と、
入力された画像データを１フレーム前の画像データと画素単位で比較して、その比較結果に応じて表示パネルに供給される階調電圧を制御するオーバードライブ部と、を備えた表示制御装置であって、
前記符号化部は、
入力された複数画素からなる画素ブロックのそれぞれを、ｍ個（ｍは２以上の整数）の領域に分割して、該画素ブロック内の前記複数画素を前記ｍ個の領域に分類し、前記ｍ個の領域のそれぞれについて、
代表色に対応する符号化情報と、元の前記画素ブロック内の画素位置に割り当てられた代表色についてのビットマップ情報と、を計算する色分類手段と、
を有し、
前記復号化部は、
前記記憶部から読み出した前記符号化データをブロック単位に分解する分解手段と、
ブロック単位に分解された前記符号化データに含まれる、前記ｍ個の領域のそれぞれについての前記代表色に対応する符号化情報と前記ビットマップ情報とに基づいて、ブロックを構成する各画素の色を代表色に置換して画像データを復元し、復元した画像データを１フレーム前の画像データとして前記オーバードライブ部に供給する復元手段と、を備えることを特徴とする表示制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画素データを圧縮した符号化データを生成する符号化装置および表示制御装置に関する。
【背景技術】
【０００２】
薄型表示パネルの価格が低下したこともあり、大量の画像データを画質を劣化させることなく効率よく圧縮する技術が種々提案されている。
【０００３】
画像圧縮の一手法として、ＤＣＴ（Discrete Cosine Transform：離散コサイン変換）やウェーブレット変換が知られている。これらの変換は、圧縮率は非常に高いものの、ハードウェア規模が大きくなるという問題がある。ハードウェア規模を縮小するために、処理ブロックを小さくして圧縮率も下げることが考えられるが、予測符号器の量子化ステップ調整が画面の左右で均等にならず、画面の左側でエッジのエラーが目立つという問題もある。
【０００４】
また、別の手法として、ＤＰＣＭ（Differential Pulse Code Modulation）を利用した技術も知られている（特許文献１、２参照）。この技術も、高画質が得られるが、圧縮率が高くないという問題がある。
【０００５】
上記の二つの手法以外に、比較的圧縮率の高い手法も知られている。以下、代表的な３つの手法について、簡単に説明する。
【０００６】
一つ目は、ローカル色量子化である（G. Qiu, “Coding Colour Quantized Images by Local Colour Quantization,” The Sixth Color Imaging Conference: Color Science, Systems, and Applications, 1998, IS&T  pp. 206-207 (section 3: Local Color Quantization and of Color Quantized Images)参照）。この文献では、K-means法を利用して代表色を計算する。より具体的には、代表色の最適値を求めるために、計算を繰り返す。このため、計算を高速化すると言っても、繰り返しの演算処理を行う以上、実時間処理には向かない。また、ＰＣにて人工的に生成される画像（例えば、アイコン画像）は、小さな画素ブロック単位であっても３色以上を用いている場合が多く、代表色を２色としてしまうと、画質劣化が目立ってしまう。
【０００７】
二つ目は、テクスチャ圧縮である（特許文献３参照）。一般に、テクスチャ圧縮は、画像処理に先立って圧縮を行い、デコードだけが実時間処理で行われることを想定している。したがって、エンコーダは一般にソフトウェアで実現されており、実時間処理は念頭に置いていない。一方、文献（Oskar Alexanderson, Christoffer Gurell, “Compressing Dynamically Generated Textures on the GPU,” thesis for a diploma in computer science, Department of Computer Science, Faculty of Science, Lund University. 2006. (Available from graphics.cs.lth.se/research/papers/gputc2006/thesis.pdf, extended paper for ACM SIGGRAPG 2006 P-80.  page 4-17 (section 3.2 algorithm in detail))は、エンコーダの実時間処理を実現する技術を提案しているが、代表色を決定するための処理をＧＰＵで行っており、ＧＰＵを持たない簡易なハードウェアでの実現は不可能である。またテクスチャ圧縮は、代表色の直線近似により導出代表色を生成することで圧縮率を向上させるが、このためにチラツキを生じやすく、画像が劣化するという問題がある。
【０００８】
三つ目は、ＢＴＣ（Block Truncation Code）である（Jun Someya, et al. “Development of Single Chip Overdrive LSI with Embedded Frame Memory,” SID 2008, 33.2  page 464-465 (section 2: hcFFD using SRAM-based frame memory参照）。ところが、従来のＢＴＣは、原理的にチラツキが生じやすく、画質の劣化が大きいという問題がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国出願公開公報ＵＳ２００８／０１３１０８７Ａ１
【特許文献２】欧州出願公開公報ＥＰ１９７８７４６Ａ２
【特許文献３】米国特許第７０４３０８７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、画質の劣化をできるだけ抑えつつ、高効率に圧縮可能な符号化データを生成する符号化装置および表示制御装置を提供するものである。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明は、入力された複数画素からなる画素ブロックのそれぞれを、第１の色軸に沿ってｍ個（ｍは２以上の整数）の領域に分割して、該画素ブロック内の前記複数画素を前記ｍ個の領域に分類し、前記ｍ個の領域のそれぞれについて、各領域に属する画素の画素値の最小値、最大値および平均値を計算する第１の色分類手段と、
前記ｍ個の領域のそれぞれごとに、前記第１の色分類手段の計算結果に基づいて選択された第２の色軸に沿ってｎ個（ｎは２以上の整数）の領域に分割して、該画素ブロック内の前記複数画素をｍ×ｎ個の領域に分類し、前記ｍ×ｎ個の領域のそれぞれについて、代表色に対応する符号化情報と、元の前記画素ブロック内の画素位置に割り当てられた代表色についてのビットマップ情報と、を計算する第２の色分類手段と、
前記ｍ×ｎ個の領域のそれぞれの代表色を表す代表値同士の差分により、前記ｍ×ｎ個の領域に対応する前記画素ブロック内の複数画素の画素値を符号化した符号化データを生成する符号化手段と、を備えることを特徴とする符号化装置を提供する。
【発明の効果】
【００１２】
本発明によれば、画質の劣化をできるだけ抑えつつ、高効率に圧縮可能な符号化データを生成することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係る符号化装置を備えた液晶表示装置の概略構成を示すブロック図。
【図２】ＴＣＯＮ２の内部の詳細構成を示すブロック図。
【図３】図１のＥＮＣ４が行う符号化処理の一例を示すフローチャート。
【図４】図３のステップＳ３の詳細な処理手順の一例を示すフローチャート。
【図５】図４のステップＳ１１の詳細な処理手順の一例を示すフローチャート。
【図６】第１の色軸上に設定される閾値１〜３を説明する図。
【図７】第１の色軸としてＹ軸に沿ってブロックを４つに分割した例を示す図。
【図８】第２の分割の一例を示す図。
【図９Ａ】領域１と２の分割候補をすべて挙げた図。
【図９Ｂ】領域３と４の分割候補をすべて挙げた図。
【図１０】ビットマップ情報の一例を示す図。
【図１１】図４のステップＳ１２の詳細な処理手順の一例を示すフローチャート。
【図１２】Ｙ成分の差分モードを説明する図。
【図１３】ＣｂとＣｒの差分モードを説明する図。
【図１４】ＥＮＣ４が生成する符号化データに含まれる個々のデータを説明する図。
【図１５】符号化データのデータフォーマットの一例を示す図。
【図１６】図１のＤＥＣ６が行う復号処理の一例を示すフローチャート。
【図１７】図１６のステップＳ４３の詳細な処理手順の一例を示すフローチャート。
【図１８】画像データを復元する様子を模式的に示した図。
【図１９】（ａ）は符号化前の元のアイコン画像、（ｂ）は第１の実施形態の符号化処理および復号化処理を行った後のアイコン画像を示す図。
【図２０】図１９の破線で示す領域１０の１ブロックをＹ方向に４つの領域に分割した例を示す図。
【図２１】図２０の不具合を解消する方策を説明した図。
【図２２】本実施形態による第１の色軸方向の分割例を示す図。
【図２３】本実施形態による第２の色軸方向の分割例を示す図。
【図２４Ａ】第２の実施形態による符号化処理の一例を示すフローチャート。
【図２４Ｂ】図２４Ａに続くフローチャート。
【図２５】図２４のステップＳ６２の処理を模式的に示した図。
【図２６】図２４のステップＳ６５の処理を模式的に示した図。
【図２７】第３の実施形態に係る符号化処理の処理手順の一例を示すフローチャート。
【図２８】図２７のステップＳ７１の詳細な処理手順の一例を示すフローチャート。
【図２９】図２８のステップＳ８２の処理内容を説明する図。
【図３０】Ｙ成分方向に沿って領域１と２に分割する例を示す図。
【図３１】第２の色軸による第２の分割を行った例を示す図。
【図３２】領域１Ａ，１Ｂ，２Ａ，２Ｂに１６画素を分類した例を示す図。
【図３３】領域１の分割方向のバリエーションと領域２の分割方向のバリエーションを示す図。
【図３４】図２７のステップＳ７６の詳細な処理手順の一例を示すフローチャート。
【図３５】値モードにおける代表色の総数とビット精度との対応関係を示す図。
【図３６】４つの領域１Ａ，１Ｂ，２Ａ，２Ｂに４つの代表色が存在する場合の処理内容を説明する図。
【図３７】第３の実施形態における符号化データのデータフォーマットの一例を示す図。
【図３８】第３の実施形態の復号化処理の処理手順の一例を示すフローチャート。
【図３９】図３８のステップＳ１０３の詳細な処理手順の一例を示すフローチャート。
【図４０】第３の実施形態によるＥＮＣ４の内部構成の一例を示すブロック図。
【図４１】第４の実施形態による符号化処理の処理手順を示すフローチャート。
【図４２】代表色の総数が３色の場合の上記ステップＳ１２６の処理内容を説明する図。
【図４３】第４の実施形態による符号化データのデータフォーマットを示す図。
【図４４】１ブロックを３画素ずつのグループに分割した例を示す図。
【図４５】代表色の総数が３色の場合のビットマップ情報のビット値変更の一例を示す図。
【図４６】代表色の総数が２色の場合のビットマップ情報のビットマップ情報のビット値変更の一例を示す図。
【図４７】図４４〜図４６の手順でビットマップ情報を圧縮した場合の符号化データのデータフォーマットを示す図。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明の実施形態について詳細に説明する。
【００１５】
（第１の実施形態）
図１は本発明の第１の実施形態に係る符号化装置を備えた液晶表示装置の概略構成を示すブロック図である。図１の液晶表示装置は、アプリケーションプロセッサ（ＡＰＰ）１と、タイミングコントローラ（ＴＣＯＮ）２と、液晶パネル３とを備えている。ＴＣＯＮ２は、本実施形態に係る符号化装置（ＥＮＣ）４と、フレームメモリ（ＦＭ）５と、復号化装置（ＤＥＣ）６と、オーバードライブ装置（ＯＤ）７とを有する。
【００１６】
ＡＰＰ１は、液晶パネルに表示すべき画像データをＴＣＯＮ２に供給する。ＴＣＯＮ２は、ＡＰＰ１から供給された１フレーム分の画像データをＯＤ７に供給すると共に、この画像データをＥＮＣ４で圧縮して符号化データを生成する。この符号化データはＦＭ５に格納される。ＦＭ５は、１フレーム分の符号化データを格納するメモリ容量を最低限備えている。この符号化データは、ＤＥＣ６で画像データに復号される。
【００１７】
ＯＤ７は、ＡＰＰ１から供給された１フレーム分の画像データを、ＦＭ５に格納された後にＤＥＣ６で復号された１フレーム前の画像データと画素ごとに比較し、前後のフレームで画素値が変化した場合には階調電圧を高くする制御を行う。これにより、画像データが変化しても残像が軽減される。
【００１８】
このように、本実施形態に係るＥＮＣ４で生成された符号化データは、液晶パネル３に表示される画像データを生成するために直接使われるのではなく、オーバードライブ用の１フレーム前の画像データをＦＭ５に格納するために用いられる。したがって、本実施形態では、画質の劣化を極力抑えるという目的よりも、オーバードライブ機能の妨げにならない程度の画質を維持しつつ、ＦＭ５に格納されるデータ量を極力抑えることを主眼としている。
【００１９】
図２はＴＣＯＮ２の内部の詳細構成を示すブロック図である。ＥＮＣ４は、ラインメモリ１１と、色量子化計算部１２と、圧縮データ生成部１３とを有する。
【００２０】
ラインメモリ１１は、画像データをブロック単位で処理するために用いられる。以下に説明する第１の実施形態では、１つのブロックが８画素×８画素で構成される例を説明する。この場合、ラインメモリ１１は８水平ライン分の画像データを格納するメモリ容量が必要となる。
【００２１】
色量子化計算部１２は、後述するように、１つのブロックを８つの領域に分割して、これら８つの領域にブロック内の６４画素を分類して、各領域の代表色を計算する処理を行う。
【００２２】
圧縮データ生成部１３は、後述するように、色量子化計算部１２の計算結果に基づいてブロック内の６４画素の画像データを圧縮した符号化データを生成する。生成された符号化データはＦＭ５に格納される。
【００２３】
ＤＥＣ６は、データ抽出部１４と、画像復元部１５と、ラインメモリ１６とを有する。データ抽出部１４は、ＦＭ５から読み出した符号化データの区切りを検出する。画像復元部１５は、各画素の代表色データを不可逆に復元し、その後に色量子化計算部１２で量子化処理を行う前の画像データを生成する。画像復元部１５で復元された画像データはラインメモリ１６に格納される。
【００２４】
ＯＤ７は、ＤＥＣ６内のラインメモリ１６に格納された画像データを、ＡＰＰ１から供給された画像データと比較して、フレーム前後で画像が変化したか否かを画素ごとに検出して、階調電圧の制御を行う。
【００２５】
図３は図１のＥＮＣ４が行う符号化処理の一例を示すフローチャートである。ＥＮＣ４は、例えば８画素×８画素からなるブロック単位で画像データの色量子化を行う。
【００２６】
まず、ＡＰＰ１から供給された画像データを取り込む（ステップＳ１）。ＡＰＰ１から供給される画像データは、ＲＧＢの３色データでもよいし、その補色データでもよいし、あるいは輝度および色差データＹ，Ｃｂ，Ｃｒでもよい。
【００２７】
次に、取り込んだ画像データを８画素×８画素からなるブロックに分割する（ステップＳ２）。次に、ブロックごとに画像データを圧縮して符号化データを生成する（ステップＳ３）。次に、生成した符号化データをＦＭ５に格納する（ステップＳ４）。
【００２８】
図４は図３のステップＳ３の詳細な処理手順の一例を示すフローチャートである。まず、ブロックを８領域に分割して、これら８領域の各領域ごとに代表色を計算する（ステップＳ１１）。この処理は、色量子化処理とも呼ばれる。本実施形態では、代表色の総数が計８色の例を説明するが、代表色の総数には特に制限はない。また、ブロックのサイズは、必ずしも８×８画素でなくてもよく、任意のサイズが選択可能である。
【００２９】
次に、８領域のそれぞれの代表色同士を比較して、代表色を表す代表値同士の差分の大きさにより、代表値のビット数を設定し、符号化データを生成する（ステップＳ１２）。この処理は、ビット深度の制御とも呼ばれる。ステップＳ１２は符号化手段に対応する。
【００３０】
なお、以下では、符号化前の画像データがＹ，Ｃｂ，Ｃｒの色差データで、各データが１０ビット精度で表される例を説明する。
【００３１】
図５は図４のステップＳ１１の詳細な処理手順の一例を示すフローチャートである。まず、各色成分について、ブロック内の各画素の平均値、最大値および最小値を検出する（ステップＳ２１）。各色成分とは、ＲＧＢ成分でもよいし、その補色成分でもよいし、輝度および色差成分Ｙ，Ｃｂ，Ｃｒでもよい。以下では、符号化前の画像データがＹ，Ｃｂ，Ｃｒの色差データで、各データが１０ビット精度で表される例を説明する。この場合、ステップＳ２１では、各画素のＹ，Ｃｂ，Ｃｒ成分の平均値、最大値および最小値を検出する。
【００３２】
次に、ステップＳ２１の検出結果に基づいて、ブロックを４つの領域に分割するための第１の色軸を決定する。具体的には、下記の（１）〜（３）式を計算して、Ｙ成分の広がり、Ｃｂ成分の広がり、およびＣｒ成分の広がりを検出する。
Ｙ成分の広がり＝Ｙ最大値−Ｙ最小値    …（１）
Ｃｂ成分の広がり＝Ｃｂ最大値−Ｃｂ最小値    …（２）
Ｃｒ成分の広がり＝Ｃｒ最大値−Ｃｒ最小値    …（３）
【００３３】
そして、各色成分の広がりの中で、最大の広がりをもつ色軸を第１の色軸として選択する。次に、選択した第１の色軸上に３つの閾値を設定して、ブロック内の８×８＝６４画素のそれぞれを４つの領域のいずれかに分類する（ステップＳ２２）。
【００３４】
図５のステップＳ２１〜Ｓ２３は第１の色分類手段に対応し、ステップＳ２４〜Ｓ２５は第２の色分類手段に対応する。
【００３５】
図６は第１の色軸上に設定される閾値１〜３を説明する図である。閾値１〜３はそれぞれ以下の（１）〜（３）式で計算される。
閾値１＝（最小値＋平均値）／２    …（４）
閾値２＝平均値    …（５）
閾値３＝（平均値＋最大値）／２    …（６）
ここで、閾値１〜３は、ビット精度に応じて四捨五入する等して丸められる。例えば、中央溝型（mid-tread type）の丸め（truncation）が行われる。これら閾値１〜３を用いると、以下の４つの領域１〜４が得られる。
最小値≦領域１＜閾値１    …（７）
閾値１≦領域２＜閾値２    …（８）
閾値２≦領域３＜閾値３    …（９）
閾値３≦領域４≦最大値    …（１０）
【００３６】
なお、領域１〜４と閾値１〜３との境界値は必ずしも（７）〜（１０）の関係を満たしている必要はなく、例えば以下の（１１）〜（１４）の関係を満たしていてもよい。
最小値≦領域１≦閾値１    …（１１）
閾値１＜領域２≦閾値２    …（１２）
閾値２＜領域３≦閾値３    …（１３）
閾値３＜領域４≦最大値    …（１４）
【００３７】
図７は第１の色軸としてＹ軸に沿ってブロックを４つに分割した例を示している。この場合、Ｙ軸に沿って閾値１平面、閾値２平面および閾値３平面が設けられ、これら３平面を境界としてＹ軸方向に領域１〜４が形成される。
【００３８】
次に、第１の色軸に沿って４つに分割した領域１〜４のそれぞれについて、各領域に属する画素の平均値、最大値および最小値を検出する（ステップＳ２３）。この検出処理は、Ｙ，Ｃｂ，Ｃｒのそれぞれの色成分について行われる。例えば、図７の領域１については、以下の手順で平均値、最大値および最小値が検出される。
領域１のＹ最小値＝領域１に属する画素データ中のＹ成分の最小値
領域１のＹ平均値＝領域１に属する画素データ中のＹ成分の平均値
領域１のＹ最大値＝領域１に属する画素データ中のＹ成分の最大値
領域１のＣｂ最小値＝領域１に属する画素データ中のＣｂ成分の最小値
領域１のＣｂ平均値＝領域１に属する画素データ中のＣｂ成分の平均値
領域１のＣｂ最大値＝領域１に属する画素データ中のＣｂ成分の最大値
領域１のＣｒ最小値＝領域１に属する画素データ中のＣｒ成分の最小値
領域１のＣｒ平均値＝領域１に属する画素データ中のＣｒ成分の平均値
領域１のＣｒ最大値＝領域１に属する画素データ中のＣｒ成分の最大値
領域２〜４についても、領域１と同様の手順で検出される。
【００３９】
次に、領域１〜４のそれぞれごとに、各色成分の最大値と最小値の差分を計算し、差分が最も大きい色成分を第２の分割のための第２の色軸方向として設定する（ステップＳ２４）。このステップＳ２４では、各領域ごとに、以下の（１５）〜（１７）式を計算して、Ｙ成分の広がり、Ｃｂ成分の広がり、およびＣｒ成分の広がりを検出する。
Ｙ成分の広がり＝Ｙ最大値−Ｙ最小値    …（１５）
Ｃｂ成分の広がり＝Ｃｂ最大値−Ｃｂ最小値    …（１６）
Ｃｒ成分の広がり＝Ｃｒ最大値−Ｃｒ最小値    …（１７）
【００４０】
そして、（１５）〜（１７）式のうち、最も広がりが大きい色成分を第２の分割のための第２の色軸方向として決定する。この処理を、領域１〜４のそれぞれについて行う。
【００４１】
なお、最大値と最小値の差分を計算する代わりに、平均値と２次のモーメントを利用して広がりを検出してもよい。
【００４２】
図８は第２の分割の一例を示す図である。図８では、領域１〜４のそれぞれを２分割して得られる領域をＡ，Ｂで区別している。図８では、領域１についてはＹ軸方向に２分割して１Ａ，１Ｂを生成し、領域２についてはＣｒ方向に２分割して２Ａ，２Ｂを生成し、領域３についてはＣｂ方向に２分割して３Ａ，３Ｂを生成し、領域４についてはＣｒ方向に２分割して４Ａ，４Ｂを生成している。このように、第２の分割を行うことで、１ブロックが４×２＝計８領域に分割される。
【００４３】
第２の分割の際には、領域１〜４のそれぞれごとに、分割される方向がＹ，Ｃｂ，Ｃｒの３通りずつある。図９Ａは領域１と２の分割候補をすべて挙げた図であり、図９Ｂは領域３と４の分割候補をすべて挙げた図である。図９Ａに示すように領域１と２の間では３×３＝９通りの組合せがあり、図９Ｂに示すように領域３と４の間でも３×３＝９通りの組合せがある。したがって、領域１〜４の全体では、９×９＝８１通りの組合せがある。上述した図８は、８１通りのうちの１つである。
【００４４】
図５のステップＳ２４で第２の分割のための第２の色軸方向が設定されると、次に、第２の分割により得られた８領域のそれぞれについて、代表色とビットマップ情報を計算する（ステップＳ２５）。このステップＳ２５では、まず、８領域のそれぞれについて、各領域に属する各色成分の画素値の平均値を計算する。この平均値は、Ｙ，Ｃｂ，Ｃｒの各色差成分ごとに計算されるため、３つの平均値からなる色ベクトルとして表すことができ、これを代表色の代表値とする。これにより、８領域のそれぞれごとに代表色が設定される。
【００４５】
上述したステップＳ２５では、１ブロック内の８×８＝６４画素のそれぞれが８領域のどれに属するかを示すビットマップ情報も生成する。すなわち、ビットマップ情報は、６４画素のそれぞれを、８領域のいずれかの代表色で表したものである。領域は８つしかないため、各領域の代表色を特定する情報は３ビットで表現できる。例えば、ある画素が図８の領域１Ａに属する場合には０Ｈ（０００）とする。
【００４６】
図１０はビットマップ情報の一例を示す図である。図１０では、領域１Ａ〜４Ｂまでの８つの領域のそれぞれに対して、０〜７までの３ビットのビットマップ値を割り当てている。領域１Ａ〜４Ｂに対応する代表色１Ａ〜４Ｂは、各領域に属する画素の各色成分の平均値からなる色ベクトルである。すなわち、代表色１Ａ〜４Ｂのそれぞれは、Ｙ成分、Ｃｂ成分およびＣｒ成分の３色成分からなる代表色の色ベクトルである。
【００４７】
図１０を用いることにより、１ブロック内の８×８＝６４画素のそれぞれは、８つの領域のいずれかの代表色に置換されることになり、これにより、色量子化が行われる。
【００４８】
なお、図１０に示した８領域のうち、画素データが存在しない領域については、平均値を計算する必要はないため、デフォルト値を与えておくのが望ましい。本実施形態による符号化処理をハードウェアで実現する場合を考えると、何かしら値を確定しておく方が望ましいためである。ただし、画素データが存在しない領域については、対応するビットマップ値は利用されることはなく、代表色を参照するという計算自体も不要となる。
【００４９】
次に、図４のステップＳ１２で説明したビット深度の制御について、より詳細に説明する。図１１は図４のステップＳ１２の詳細な処理手順の一例を示すフローチャートである。まず、各色成分ごとに、１ブロック内の８領域それぞれの代表値同士の差分を計算する（ステップＳ３１）。次に、各色成分ごとに、ステップＳ３１で計算された差分の最大値により差分モードを決定し、保存すべき差分データのビット構成を決定する（ステップＳ３２）。
【００５０】
図１２はＹ成分の差分モードを説明する図である。図１２は、１ブロック内の８領域のＹ成分の代表値を最小値から最大値まで順に並べた図である。図１２（ａ）は最大値と最小値の差分が６３以下の例、図１２（ｂ）は差分が６４以上１２７以下の例、図１２（ｃ）は差分が１２８以上の例を示している。
【００５１】
ここで、仮に領域２ＡのＹ成分の代表値が最小値だったとする。この場合、各領域内のＹ成分の代表値との差分はそれぞれ以下の（１８）〜（２５）式で表される。
領域１ＡのＹ差分＝領域１ＡのＹ代表値−領域２ＡのＹ代表値    …（１８）
領域１ＢのＹ差分＝領域１ＢのＹ代表値−領域２ＡのＹ代表値    …（１９）
領域２ＡのＹ差分＝領域２ＡのＹ代表値−領域２ＡのＹ代表値    …（２０）
領域２ＢのＹ差分＝領域２ＢのＹ代表値−領域２ＡのＹ代表値    …（２１）
領域３ＡのＹ差分＝領域３ＡのＹ代表値−領域２ＡのＹ代表値    …（２２）
領域３ＢのＹ差分＝領域３ＢのＹ代表値−領域２ＡのＹ代表値    …（２３）
領域４ＡのＹ差分＝領域４ＡのＹ代表値−領域２ＡのＹ代表値    …（２４）
領域４ＢのＹ差分＝領域４ＢのＹ代表値−領域２ＡのＹ代表値    …（２５）
領域２Ａに関する（２０）式のＹ差分はゼロである。他の領域のＹ差分は、ゼロから正の値になる。
【００５２】
なお、ここでの差分は領域代表値同士の差分であることに注意すべきである。平均値との差分を取ることは一般的に行われることも多いが、平均値が領域の代表値と一致することは期待できない。すなわち、平均値との差分の場合、平均値を余分に保存する必要が生じる。本実施形態では、このようなデータ量の増加をできるだけ抑えるという観点で、よりデータ量の少ない処理（以下に説明する「最小値補填ビット」や「最小指示ビット」）を採用する。
【００５３】
図１１のステップＳ３１では、各色成分ごとに、８領域間での最大値と最小値の差分の大きさにより、量子化モードの選択を行う。より具体的には、画素変化が少ない平坦な画像の場合は、精度を向上させて画質を向上させる。また、画素変化が激しい画像の場合は、微小な画素変化を人間が視覚的に認識できないため、精度を粗くしても問題ない。そこで、差分の大きさにより、適応的な量子化を採用する。
【００５４】
最大値と最小値の差分が６３以下の場合は、すべての差分値を６ビットで表現することができる。本実施形態では、説明を簡略化するために、代表色の代表値を８ビット精度で表すものとする。８ビット精度を確保するためには、最小値のデータも８ビットにする必要がある。最小値を取る領域（上述した説明の場合は領域２Ａ）については、差分が必ずゼロになるため、わざわざ差分値の情報を保存する必要はない。その代わりに最小値そのものを保存する必要がある。そこで、領域２Ａの差分値を保存するために確保した６ビットに、余計に２ビットを追加して、最小値そのものを保存するための８ビット領域を確保する。ここで追加される２ビットを、本明細書では、「最小値補填ビット」と呼ぶ。
【００５５】
ここでは、領域２Ａで最小値を取る例を説明したが、他の７つの領域のいずれかで最小値を取る可能性もある。このため、どの領域で最小値を取るかを示すために３ビットが必要であり、これを「最小指示ビット」と呼ぶ。図１２中の「＊」は、差分の６ビットに最小値を足し合わせることで８ビットが得られることを示している。また、図１２中の「＋」は、最小値の６ビットに追加される最小値補填ビットを示している。
【００５６】
一方、最大値と最小値の差分が６４以上で１２７以下の場合は、精度を７ビット深度までとする。差分値は６ビットであり、ＬＳＢに対応するビットは持たない。
【００５７】
また、最大値と最小値の差分が１２８以上の場合は、精度を６ビット深度までとする。差分値は６ビットであり、ＬＳＢ側２ビットに対応するビットは持たない。
【００５８】
本実施形態では、このような場合分けを量子化モードと呼び、その値を量子化モードフラグとして保存する。
【００５９】
図１２ではＹ成分の差分モードを説明したが、ＣｂとＣｒについても同様の処理が行われる。図１３はＣｂとＣｒの差分モードを説明する図である。ＣｂとＣｒについては差分値を５ビットとしたために、量子化モードが４つ（図１３（ａ）〜図１３（ｄ））ある。最小値はやはり８ビットで表されるため、最小値補填ビットは３ビットになる。最小値指示ビットは代表色数が８色のため、Ｙと同様に３ビットである。
【００６０】
図１４はＥＮＣ４が生成する符号化データに含まれる個々のデータを説明する図である。図１４は、１ブロックの画像データを符号化するのに必要なデータを示している。
【００６１】
１ブロックは８領域に分割されて、各領域ごとに、Ｙ成分代表色の代表値６ビットと、Ｃｂ成分代表色の代表値５ビットと、Ｃｒ成分代表色の代表値５ビットとが設けられる。このため、１ブロック全体では、８つの代表色が存在するため、図１４（ａ）に示すように、（６＋５＋５）×８＝１２８ビットが必要となる。
【００６２】
符号化データには、Ｙ，Ｃｂ，Ｃｒ成分のそれぞれごとに、各２ビットの量子化モードフラグが設けられる。量子化モードフラグは、１ブロックごとに設けられるため、図１４（ｂ）に示すように、（２＋２＋２）＝６ビットが必要となる。
【００６３】
符号化データには、Ｙ，Ｃｂ，Ｃｒ成分のそれぞれごとに、最小値補填ビットが設けられる。最小値補填ビットは、Ｙ成分については２ビット、Ｃｂ成分とＣｒ成分については３ビットが必要となる。このため、図１４（ｃ）に示すように、１ブロックでは、（２＋３＋３）＝８ビットが必要となる。
【００６４】
符号化データには、Ｙ，Ｃｂ，Ｃｒ成分のそれぞれごとに、最小指示ビットが設けられる。最小指示ビットは、図１４（ｄ）に示すように、各成分ごとに３ビットである。このため、１ブロックでは、（３＋３＋３）＝９ビットが必要となる。
【００６５】
符号化データには、１ブロック内の８×８＝６４画素それぞれが８領域のどれに属するかを示すビットマップ情報が設けられる。図１４（ｅ）に示すように、８領域のいずれかを特定するのに３ビットが必要であるため、１ブロックでは、３×６４＝１９２ビットが必要となる。
【００６６】
以上より、符号化データの全体では、１２８＋６＋８＋９＋１９２＝３４３ビットが必要となる。圧縮前は、各色成分が１０ビットであったため、（１０＋１０＋１０）×８×８＝１９２０ビットである。したがって、圧縮率は、１９２０／３４３＝５．６倍となる。
【００６７】
図１５は符号化データのデータフォーマットの一例を示す図である。図示のように、符号化データは、制御フラグと、代表値データと、ビットマップ情報とで構成される。制御フラグには、図１４で説明した量子化モードフラグ、最小指示ビットおよび最小値補填ビットが含まれ、計６＋９＋８＝２３ビットである。代表値データは、図１４で説明した８領域の各色成分の代表値データであり、計（６＋５＋５）×８＝１２８ビットである。ビットマップ情報は、図１４で説明したビットマップ情報であり、計３×６４＝１９２ビットである。
【００６８】
なお、符号化データのデータフォーマットは、必ずしも図１５に示したものでなくてもよく、ＦＭ５の構成に合わせて種々の変更が可能である。
【００６９】
次に、図１５のデータフォーマットを持つ符号化データを復号する手法について説明する。図１６は図１のＤＥＣ６が行う復号処理の一例を示すフローチャートである。まず、ＤＥＣ６は、ＦＭ５に保存された符号化データを読み出す（ステップＳ４１）。次に、符号化データをブロック単位に分解する（ステップＳ４２）。次に、ブロック単位に分解した符号化データを復号して各画素の代表色データを復元する（ステップＳ４３）。次に、復元したデータをブロック単位で不図示のメモリに保存する（ステップＳ４４）。
【００７０】
図１７は図１６のステップＳ４３の詳細な処理手順の一例を示すフローチャートである。まず、ブロック単位に分解した符号化データから、制御フラグ、代表値データおよびビットマップ情報を抽出する（ステップＳ５１）。
【００７１】
次に、制御フラグと代表値データを用いて、代表色を再構成する。ここでは、図１２〜図１４で説明した圧縮手順を逆の順序で行う。より具体的には、まずは、最小指示ビットにより、どの代表色が最小値であるかを検出する。最小指示ビットは、各色成分ごとに設けられているため、各色成分ごとに最小値を取る代表色を検出する。
【００７２】
以下では、説明の簡略化のために、Ｙ成分について説明する。Ｙ成分の最小値を取る代表色が２Ａであったとする。この場合、代表色２Ａに対応する領域２Ａの代表値データ６ビットの下位ビット側に最小補填ビット２ビットを加えて、８ビット精度で最小値を再構成する。
【００７３】
次に、それぞれの差分の精度を決めるために、Ｙ成分の量子化フラグを検出する。量子化フラグが００であれば図１２（ａ）の量子化モードが、０１であれば図１２（ｂ）の量子化モードが、１０であれば図１２（ｃ）の量子化モードがそれぞれ選択される。
【００７４】
仮に、図１２（ａ）の量子化モードが選択されたとする。この場合、最小値を取る領域２Ａ以外の７領域の代表値は以下の式に従って再構成される。
領域１Ａの代表値＝Ｙ差分データ１Ａ＋再構成された最小値８ビットＹデータ
領域１Ｂの代表値＝Ｙ差分データ１Ｂ＋再構成された最小値８ビットＹデータ
領域２Ｂの代表値＝Ｙ差分データ２Ｂ＋再構成された最小値８ビットＹデータ
領域３Ａの代表値＝Ｙ差分データ３Ａ＋再構成された最小値８ビットＹデータ
領域３Ｂの代表値＝Ｙ差分データ３Ｂ＋再構成された最小値８ビットＹデータ
領域４Ａの代表値＝Ｙ差分データ４Ａ＋再構成された最小値８ビットＹデータ
領域４Ｂの代表値＝Ｙ差分データ４Ｂ＋再構成された最小値８ビットＹデータ
【００７５】
Ｃｂ，Ｃｒデータについても、同様の手順で行われる。
【００７６】
次に、再構成された代表値とビットマップ情報を用いて、画像データを復元する（ステップＳ５３）。この処理は、図５のステップＳ２５の逆変換処理である。符号化の際に、１ブロック内の各画素の色を代表色に置換したため、ステップＳ５３で復元される各画素の色は代表色となる。
【００７７】
図１８は画像データを復元する様子を模式的に示した図である。図示のように、１ブロック内の６４画素のビットマップ情報は、８個の代表色を表す３ビットデータで構成されているため、復元後は、各画素が８個の代表色のいずれかに置換される。
【００７８】
このように、第１の実施形態では、６４画素からなる１ブロックを第１の色軸方向に４つの領域に分割して、各画素をこれら４つの領域に分類し、さらに、各領域を第２の色軸方向に分割して、１ブロックを８領域に分割する。そして、６４画素を８つの領域に分類して、各領域ごとに代表色を設定し、各領域ごとの代表色の代表値の差分を計算して、量子化モードを決定する。そして、量子化モードと代表値に基づいて、図１４に示すデータフォーマットの符号化データを生成する。このため、本実施形態によれば、元の画像の画質をそれほど劣化させることなく、高圧縮で符号化処理を行うことができる。
【００７９】
本実施形態の符号化処理は、オーバードライブ用に１フレーム前の画像データをＦＭ５に格納するためにも利用でき、ＦＭ５のメモリ容量を削減できることから、表示制御装置のハードウェア規模を縮小できる。
【００８０】
上述した第１の実施形態では、１ブロックを８×８画素として、第１の分割で第１の色軸方向に４分割し、これら各領域を第２の分割では第２の色軸方向に２分割する例を説明したが、ブロックを構成する画素数や、第１および第２の分割での分割数は任意に調整可能である。一般化すると、以下のようになる。
【００８１】
入力された複数画素からなる画素ブロックのそれぞれを、第１の色軸に沿ってｍ個（ｍは２以上の整数）の領域に分割して、該画素ブロック内の複数画素をｍ個の領域に分類し、ｍ個の領域のそれぞれについて、各領域に属する画素の画素値の最小値、最大値および平均値を計算する（第１の色分類手段）。
【００８２】
次に、ｍ個の領域のそれぞれごとに、第１の色分類手段の計算結果に基づいて選択された第２の色軸に沿ってｎ個（ｎは２以上の整数）の領域に分割して、該画素ブロック内の複数画素をｍ×ｎ個の領域に分類し、ｍ×ｎ個の領域のそれぞれについて、代表色に対応する符号化情報と、元の画素ブロック内の画素位置に割り当てられた代表色についてのビットマップ情報と、を計算する（第２の色分類手段）。
【００８３】
次に、ｍ×ｎ個の領域のそれぞれの代表色を表す代表値同士の差分により、ｍ×ｎ個の領域に対応する画素ブロック内の複数画素の画素値を符号化した符号化データを生成する（符号化手段）。
【００８４】
（第２の実施形態）
第１の実施形態では、オーバードライブ用の１フレーム前の符号化データを生成する目的で符号化処理を行う例を説明したが、第１の実施形態で生成した符号化データは、表示目的で用いることも可能である。ただし、第１の実施形態では、各色成分ごとに、１ブロック内の８領域の色を計８色のいずれかから選択された代表色に置換してしまうため、画素の色を正確に再現できないという問題がある。また、本発明者が第１の実施形態の符号化データを表示目的用に用いたところ、以下に説明する表示上の不具合が生じる場合があることがわかった。
【００８５】
図１９はプリンタのアイコン画像を拡大した図であり、図１９（ａ）は符号化前の元のアイコン画像、図１９（ｂ）は第１の実施形態の符号化処理および復号化処理を行った後のアイコン画像である。
【００８６】
図１９からわかるように、プリンタのアイコン画像の中で、紙を表す本来は白色の部分が灰色になっている。これは、紙の白色と、背景およびプリンタ本体の灰色とがブロック内の同一領域に割り当てられて処理した結果、色が混ざり合って、代表色がより薄い灰色になったためである。以下に説明する第２の実施形態では、このような不具合を解消することを目的とする。
【００８７】
図１９において、破線で囲まれた領域１０は１ブロック（＝６４画素）の範囲を示している。図２０は、図１９の破線で示す領域１０の１ブロックをＹ方向に４つの領域に分割した例を示す図である。この１ブロック内には、白色、黄色、薄灰色、濃灰色および黒色の５つの色が含まれており、図２０では、各色を矩形で図示している。これら５つの色のうち、白色、黄色および薄灰色は領域４に分類される。黄色も薄灰色も、Ｙ成分が白色に近いためである。
【００８８】
第１の実施形態では、第１の色軸（例えばＹ軸）方向に４つの領域に分割した後に、さらに各領域を２つの領域に分割する。このため、領域４の３色は２つの領域４Ａ，４Ｂに分けられ、例えば領域４Ａには黄色が、領域４Ｂには白色と薄灰色が分類される。その結果、領域４Ｂでは、白色と薄灰色が平均化されて代表色が計算され、本来は白色であっても、薄灰色の影響で色が混ざってしまい、その色が視認されてしまう。
【００８９】
図２１は図２０の不具合を解消する方策を説明した図である。図２１に示すように、１ブロックをＹ成分方向に４つの領域に分割すると、Ｙ成分方向の最大値と閾値３の間の領域４に白色、薄灰色、黄色が分類される。そこで、領域４を２つに分割して、Ｙ成分が最大である白色が属する領域（以下、拡張領域４’Ｃ）と、白色以外の薄灰色と黄色が属する領域（以下、領域４’）とを新たに新設する。これにより、Ｙ成分方向の最大である白色が他の色と混じり合う不具合を確実に防止できる。
【００９０】
図２２は本実施形態による第１の色軸方向の分割例を示す図である。図２２では、Ｙ成分方向に分割する例を示している。第１の実施形態では、第１の色軸方向に４つの領域に分割したが、本実施形態では、４つの領域に分割した後、そのうちの領域４について、さらに拡張領域４’Ｃと領域４’に２分割する。これにより、見かけ上、第１の色軸方向に４＋１＝５つの領域が生成されることになる。
【００９１】
図２３は本実施形態による第２の色軸方向の分割例を示す図である。第１の色軸方向の分割で得られた拡張領域４’Ｃについては２分割することはせず、それ以外の領域１〜３，４’についてはそれぞれ２分割される。これにより、図２１の例では、領域４’に属した黄色と薄灰色は別個の領域４’Ａと４’Ｂに分けられ、例えば領域４’Ａには黄色が、領域４’Ｂには薄灰色が分類される。これにより、混色による実際の色との相違が起きなくなる。
【００９２】
図２４Ａおよび図２４Ｂは第２の実施形態による符号化処理の一例を示すフローチャートである。まず、１ブロック全体について、各色成分ごとに、平均値、最大値および最小値を計算する（ステップＳ６１）。次に、第１の色軸に沿って、第１の実施形態と同様に４分割して領域１〜４を生成すると共に、領域４を拡張領域４’Ｃと領域４’に分割する処理を行う（ステップＳ６２）。このステップＳ６２により、計６つの領域が生成される。これらステップＳ６１とＳ６２は通常分割と拡張分割の共通の計算処理である。
【００９３】
本実施形態では、第１の実施形態と同様の処理手順で領域４を生成する通常分割処理を行う（ステップＳ６３〜Ｓ６５）とともに、この領域４を拡張領域４’Ｃと領域４’に分割する拡張分割処理が行われる（ステップＳ６６〜Ｓ６９）。図２５は通常分割処理と拡張分割処理の概略を模式的に示した図である。
【００９４】
拡張分割処理では、１ブロック内の６４画素を、ステップＳ６３で生成された５つの領域を分類して、各領域について色成分ごとに、平均値、最大値および最小値を計算する（ステップＳ６６）。
【００９５】
次に、拡張領域４’Ｃを除く４つの領域のそれぞれごとに、最大値と最小値の差分を計算し、色成分ごとに、色成分の広がりを検出し、色成分の広がりが最も大きい色成分を第２の分割のための第２の色軸方向として決定する（ステップＳ６７）。
【００９６】
次に、拡張領域４’Ｃを除く４つの領域のそれぞれごとに、第２の色軸に沿って２分割して計９個の領域を生成し、１ブロック内の６４画素をこれら９個の領域に分類する。そして、各領域ごとに、代表色とビットマップ情報を計算する（ステップＳ６８）。
【００９７】
なお、実際には画素データが存在しないで、計算の実行ができない場合もある。このような領域を「空き領域」とよぶ。このときには、代表色の成分として例えば「０」といった値を仮に割り当てる。またデータが非存在であることを示すため存在フラグ情報を「空き」を示す「０」にする。（存在している場合には「１」とする。）このフラグ情報は空き領域の検出に使用する。
【００９８】
図２６はステップＳ６８の処理を模式的に示した図である。拡張領域４’Ｃについては２分割されないが、それ以外の領域１〜４と領域４’については、それぞれ２分割される。
【００９９】
次に、９個の領域の中に、空き領域があるか否かを検出する（ステップＳ６９、Ｓ７０）。各領域の存在フラグ情報を調べ、一つでも「空き」があれば、空き領域を検出したことになる。もし、空き領域がある場合には、上述した拡張領域４’Ｃと領域４’を利用した拡張分割による符号化処理を行う（ステップＳ７１）。
【０１００】
拡張分割による符号化処理では、第１の実施形態よりも領域の数が増えるため、代表色の数も増えてしまうが、実際には画素が一つも存在しない領域に本来割り当てられていた代表色を新たな領域の代表色として利用することで、ビットマップ情報のビット数を増やさずに対応できる。
【０１０１】
一方、すべての領域に画素が存在する場合には、拡張領域４’Ｃを利用せずに、第１の実施形態（通常分割）と同様の手順で、８つの領域を用いた符号化処理を行う（ステップＳ７２）。
【０１０２】
このように、第２の実施形態では、類似の色が混ざり合って代表色が生成される不具合を防止するために、複数の色が分類された特定の領域をさらに２つの領域に分割する拡張分割を行って、これら複数の色を別個の領域に分類するようにし、最終的に生成された複数の領域の中に、画素が存在しない空き領域がある場合には、この空き領域に、上述した拡張分割で得られた領域の代表色を割り振るようにしたため、代表色の色が実際の色とは異なる不具合を軽減できる。
【０１０３】
なお、上述した例では、Ｙ成分の領域４を拡張領域４’Ｃと領域４’に拡張分割する例を説明したが、拡張分割の対象となる領域の種類は必ずしもＹ成分の領域４には限定されない。実際には、ブロック内に含まれる画素の色に応じて最適な領域を拡張分割するのが望ましい。
【０１０４】
さらに、上述した例では、ｍ×ｎ個の領域に１領域を追加して拡張分割する技術を述べたが、例えば、Ｙ成分の最小値による領域をさらに追加し、（ｍ×ｎ＋２）個の拡張領域を考えることも可能である。この場合は、少なくとも２個の空き領域があることが確認されたときに、この（ｍ×ｎ＋２）個の拡張領域による代表色を採用できる。追加する領域としては、さらにＹ成分での他の領域の境界値（閾値）を利用することも可能である。このように考えれば、ｐ個（ｐは正の整数）の領域を追加をした（ｍ×ｎ＋ｐ）個の拡張領域も考えることができる。この場合には、ｐ個の空き領域があることが確認されたときに、（ｍ×ｎ＋ｐ）個の拡張領域による代表色を採用できる。
【０１０５】
上述した第２の実施形態を一般化すると、以下のようになる。
【０１０６】
ｍ個の領域の中で第１の色軸上の値が最大の領域をさらに分けた計（ｍ＋ｐ）個の領域のそれぞれについて、各領域に属する画素の画素値の最小値、最大値および平均値を計算する（第１の色分類手段）。
【０１０７】
（ｍ×ｎ＋ｐ）個の領域（ｐは１以上の整数）のそれぞれについて、代表色とビットマップ情報とを計算する（第２の色分類手段）。
【０１０８】
（ｍ×ｎ＋ｐ）個の領域の中に画素が存在しない少なくともｐ個の空き領域がある場合には該領域を利用して（ｍ×ｎ＋ｐ）個の領域に属する画素を再分類して符号化データを生成し、（ｍ×ｎ＋ｐ）個の領域の中に画素が存在しない（ｐ−１）個より少ない空き領域がある場合にはｍ×ｎ個の領域分割を用いて符号化データを生成する（符号化手段）。
【０１０９】
（第３の実施形態）
第１および第２の実施形態では、８×８画素からなるブロックを単位として符号化処理を行う例を説明したが、ブロックの単位は８×８画素に制限されない。以下に説明する第３の実施形態では、４×４画素からなるブロックを単位として符号化処理を行う例を説明する。ブロックの単位を小さくすることで、ラインメモリ１１のメモリ容量が半減し、ハードウェア規模を縮小でき、かつ画質の向上も図れる。第３の実施形態は、１ブロックを複数の領域に分割したときに、各領域の代表色のビット精度を制御することにより、画質の改善を図ることを特徴とする。
【０１１０】
第３の実施形態では、第１および第２の実施形態と同程度の圧縮率を確保するために、１ブロックを最終的に４つの領域に分割して、最大４色の代表色の割り当てを考える。
【０１１１】
図２７は第３の実施形態に係る符号化処理の処理手順の一例を示すフローチャートである。まず、１ブロックを第１の色軸方向に２分割して領域１，２を生成した後、領域１，２のそれぞれを第２の色軸方向に分割して領域１〜４を生成する。そして、１ブロック内の４×４＝１６画素を領域１〜４のそれぞれに分類して、各領域ごとに代表色を計算する（ステップＳ７５）。
【０１１２】
次に、領域１〜４の異なる代表色の総数により、後述するように、差分モードか値モードかを設定して、符号化処理を行う（ステップＳ７６）。このステップＳ７６では、領域１〜４の中で、画素が分類されていない空き領域を削除する処理を行って、圧縮効率を高める。
【０１１３】
図２８は図２７のステップＳ７５の詳細な処理手順の一例を示すフローチャートである。まず、ブロック内の４×４＝１６画素について、色成分ごとに、平均値、最大値および最小値を計算する（ステップＳ８１）。次に、色成分ごとに、最大値と最小値の差分を計算して色成分の広がりを検出し、広がりが最も大きい色成分を第１の色軸として選択する。そして、第１の色軸に沿って、ブロックを２分割して領域１〜２を生成する（ステップＳ８２）。
【０１１４】
次に、１ブロック内の１６画素を、ステップＳ８２で生成された領域１〜２に分類し、各領域ごとに、各色成分の平均値、最大値および最小値を計算する（ステップＳ８３）。図２９はステップＳ８２の処理内容を説明する図である。例えば平均値を閾値として、１６画素を領域１と２に分類する。
【０１１５】
第１の色軸がＹ成分方向の場合は、図３０に示すように、Ｙ成分方向に沿って、領域１と２が生成される。
【０１１６】
次に、色成分ごとに、ステップＳ８３で計算した最大値と最小値の差分を計算して色成分の広がりを検出し、広がりが最も大きい色成分を第２の色軸として選択する（ステップＳ８４）。第２の色軸は、領域１〜２のそれぞれごとに選択される。
【０１１７】
図３１は第２の色軸による第２の分割を行った例を示す図である。図３１では、領域１についてはＣｂ成分方向に２分割して領域１Ａと１Ｂを生成し、領域２についてはＣｒ成分方向に２分割して領域２Ａと２Ｂを生成している。
【０１１８】
次に、領域１〜２のそれぞれを第２の色軸に沿って２分割して、領域１Ａ，１Ｂ，２Ａ，２Ｂを生成する。そして、１ブロック内の１６画素を各領域に分類して、各領域ごとに、各色成分の代表色を計算し、かつ１ブロック内の１６画素と代表色との対応関係を示すビットマップ情報を生成する（ステップＳ８５）。
【０１１９】
図３２は領域１Ａ，１Ｂ，２Ａ，２Ｂに１６画素を分類した例を示す図であり、各画素を黒丸、黒四角、黒三角、黒菱形で表している。
【０１２０】
図３３は領域１の分割方向のバリエーションと領域２の分割方向のバリエーションを示す図である。図示のように、第２の分割の仕方は全部で、３×３＝９通りの組合せがある。
【０１２１】
図３４は図２７のステップＳ７６の詳細な処理手順の一例を示すフローチャートである。まず、４つの領域１Ａ，１Ｂ，２Ａ，２Ｂのそれぞれに割り当てられた代表色の総数が４か否かを判定する（ステップＳ９１）。代表色の総数が３個以下であれば、値モードを選択する。値モードでは、まず、代表色の総数により定まるビット精度（深度）を選択する（ステップＳ９２）。ステップＳ９１は代表色数判定手段に対応する。
【０１２２】
なお、「代表色の総数」とは、計算された領域分割に関して実際に画素データが存在しているか、存在していないかを確認した結果、実際に存在する「代表色の数」である。すなわち、「代表色の総数」は、ブロック処理ごとに変化する実際に有効な代表色の数を意味し、この総数の色数まで割り当てを想定するという意味での最初に定める「最大の色数」ではない。
【０１２３】
図３５は値モードにおける代表色の総数とビット精度との対応関係を示す図である。代表色の総数が１色だけの場合は各色成分を１０ビットとする。代表色の総数が２色の場合は各色成分を８ビットとする。代表色の総数が３色の場合は、Ｙ成分を６ビット、Ｃｂ成分とＣｒ成分を５ビットとする。
【０１２４】
ステップＳ９２の処理が終わると、次に、選択されたビット精度に従って、代表色のデータを生成する（ステップＳ９３）。
【０１２５】
一方、ステップＳ９１で代表色の総数が４色と判定された場合には、各代表色に対応する領域について、色ごとに最大値と最小値の差分を計算する（ステップＳ９４）。次に、差分が所定の閾値以上か否かを判定する（ステップＳ９５）。差分が所定の閾値以上であれば、やはり値モードを選択し、上述したステップＳ９２とＳ９３の処理を行う。ステップＳ９５は差分値判定手段に対応する。
【０１２６】
差分が所定の閾値未満であれば、差分に応じた差分モードを選択して、符号化データを生成する（ステップＳ９６）。このように、代表色の総数が４色の場合は、差分が閾値以上であれば値モードを選択し、閾値未満であれば差分モードを選択する。
【０１２７】
図３６は４つの領域１Ａ，１Ｂ，２Ａ，２Ｂに４つの代表色が存在する場合の処理内容を説明する図である。この場合、代表色同士の差分の大きさにより、差分モードが選択される場合と値モードが選択される場合がある。どちらが選択されたかを識別するために、１ビットのモード識別情報が設けられている。モード識別情報が０の場合は例えば差分モードを選択したことを示し、１の場合は例えば値モードを選択したことを示す。値モードが選択されるのは、差分が３２以上の場合であり、差分が３１以下の場合は差分モードが選択される。
【０１２８】
差分モードが選択される場合は、差分の大きさにより、図３６に示す二通りのいずれかの符号化処理が行われる。このため、どちらの処理を行うかを識別する１ビットの差分識別情報が設けられている。差分識別情報が０の場合は例えば差分が０〜１５であり、１の場合は例えば差分が１６〜３１であることを示す。
【０１２９】
差分が１６〜３１の場合は、４つの領域の代表色の最小値を５ビット精度で表現し、各領域の代表色を、最小値からの差分情報として２ビットで表現する。この場合、５＋２×４＝１３ビットが必要となる。
【０１３０】
差分が０〜１５の場合は、４つの領域の代表色の最小値を６ビット精度で表現し、各領域の代表色を、最小値からの差分情報として２ビットで表現する。この場合、６＋２×４＝１４ビットが必要となる。
【０１３１】
このように、差分が０〜１５の場合は、差分が１６〜３１の場合よりも、１ビット余計に必要となる。実際には、１ビットのモード識別情報と１ビットの差分識別情報が必要であるため、全体では、２＋１４＝１５ビットのビット数になる。
【０１３２】
図３７は第３の実施形態における符号化データのデータフォーマットの一例を示す図である。図３７の符号化データは、４つの領域１Ａ，１Ｂ，２Ａ，２Ｂの中に画素が存在するか否かを示す４ビットからなる色構成情報と、４９ビットの代表色情報と、３２ビットのビットマップ情報とで構成されている。したがって、符号化データは、計４＋４９＋３２＝８５ビットで表される。
【０１３３】
色構成情報は、符号化データを復号する際に用いられる。各領域に画素が存在する場合には、その領域の色構成情報は１となり、画素が存在しない場合は０となる。
【０１３４】
ビットマップ情報は、４×４＝１６画素分の画素情報を含んでおり、各画素の代表色が２ビットで表現される。４つの領域のうち、画素が存在しない領域がある場合には、代表色の総数も３色以下となり、使用されない代表色の情報はビットマップ情報には出現しないようにする。
【０１３５】
代表色情報は、図３４の処理により差分モードと値モードのいずれを選択するかにより、ビット数が異なる。値モードを選択した場合は、代表色の総数が１色の場合は１０＋１０＋１０＝３０ビット、代表色の総数が２色の場合は（８＋８＋８）×２＝４８ビット、代表色の総数が３色の場合は、（６＋５＋５）×３＝４８ビットである。
【０１３６】
代表色の総数が４色の場合は、（４＋４＋４）×４＝４８ビットに加えて、モード識別情報の１ビットが必要となり、計４９ビットとなる。
【０１３７】
また、差分モードが選択された場合は、差分の大きさが０〜１５の場合は１＋１３×３＝４０ビット、差分の大きさが１６〜３１の場合は１＋１４×３＝４３ビットである。
【０１３８】
これにより、符号化データは、一番ビット数が多い場合で、色構成情報が４ビット、代表色情報が４９ビット、ビットマップ情報が３２ビットで、計４＋４９＋３２＝８５ビットとなる。
【０１３９】
これに対して、圧縮前の画像データは、各色成分が１０ビットであるため、１ブロック分で、（１０＋１０＋１０）×４×４＝４８０ビットとなり、圧縮率は、４８０／８５＝５．６となり、第１の実施形態と同程度の圧縮率が得られる。
【０１４０】
次に、第３の実施形態の復号化処理について説明する。図３８は第３の実施形態の復号化処理の処理手順の一例を示すフローチャートである。ＦＭ５から符号化データを読み出して（ステップＳ１０１）、符号化データをブロック単位に分解する（ステップＳ１０２）。次に、ブロック単位に分解した符号化データを復号化し（ステップＳ１０３）、復号化した符号化データをブロック単位で不図示のメモリに保存する（ステップＳ１０４）。
【０１４１】
図３９は図３８のステップＳ１０３の詳細な処理手順の一例を示すフローチャートである。まず、符号化データに含まれる色構成情報、代表色情報およびビットマップ情報を抽出する（ステップＳ１１１）。符号化データのビット長を固定長としておけば、これらの情報を簡易に抽出できるため、都合がよい。代表色情報は、図３７に示すように、必ずしもビット長が同じでないが、代表色情報として予め４９ビット長分を確保しておき、使われないビットは特定のビット値（例えば０）にしておけばよい。
【０１４２】
次に、色構成情報の４ビットの値を検出することで、代表色の総数が４色か、それとも１〜３色かを判定する（ステップＳ１１２）。
【０１４３】
なお、具体的には、色構成情報の０（非存在）や１（存在）の存在フラグ情報を数値として加算することで、代表色の総数を計算できる。例えば、１（存在する）＋１（存在する）＋０（存在しない）＋１（存在する）＝３で代表色の総数が３色であることがわかる。４色の場合には、代表色情報に含まれるモード識別情報のビット値により、差分モードか値モードかを判別し、差分モードの場合には、代表色情報に含まれる差分識別情報のビット値により、差分が０〜１５か１６〜３１かを判別し、最小値のビット数を検出する。そして、最小値に各領域の差分値を足し合わせて、各領域の代表色を復元する。また、値モードの場合は、図３６に示すように各領域の各色成分が４ビットで表されており、容易に各領域の代表色を復元できる（ステップＳ１１３）。
【０１４４】
ステップＳ１１２で代表色の総数が１〜３色と判定されると、図３７に示すように、色数に応じて各領域の代表色を復元する（ステップＳ１１４）。
【０１４５】
ステップＳ１１３またはＳ１１４の処理が終了すると、各領域の代表色とビットマップ情報に基づいて、画像データを復元する（ステップＳ１１５）。
【０１４６】
図４０は第３の実施形態によるＥＮＣ４の内部構成の一例を示すブロック図である。図４０のＥＮＣ４は、図１９の色量子化計算部１２の代わりに代表色計算部１７が設けられている。この他の構成は同様である。図１９の色量子化計算部１２は、量子化モード情報、最小指示ビット情報および最小値補填ビット情報を生成して出力したが、代表色計算部１７は、色構成情報、モード識別情報および差分識別情報を生成して出力する。
【０１４７】
このように、第３の実施形態では、第１および第２の実施形態よりもブロックサイズを小さくし、かつブロックを分割して得られた複数の領域内に画素が存在するか否かを検出して、できるだけ空き領域が生じないように圧縮処理を行うため、圧縮率の向上と画質の向上の双方が可能となる。
【０１４８】
（第４の実施形態）
第４の実施形態は、第３の実施形態の変形例であるが、第３の実施形態よりもさらに画質の向上を図るものである。第３の実施形態では、代表色の総数が４色の場合のみ、差分モードを採用しており、代表色の総数が３色の場合は、値モードを採用して、Ｙ成分６ビット、ＣｂとＣｒ成分が５ビットの精度しか持っていなかった。以下に説明する第４の実施形態では、代表色の総数が３色の場合でも差分モードを採用し、画質のさらなる向上を図る。
【０１４９】
図４１は第４の実施形態による符号化処理の処理手順を示すフローチャートである。まず、代表色の総数が３色または４色であるか否かを判定する（ステップＳ１２１）。なお、「代表色の総数」とは、計算された領域分割に関して実際に画素データが存在しているか、存在していないかを確認した結果、実際に存在する「代表色の数」である。代表色の総数が１色か２色であれば、図３４のステップＳ９２とＳ９３と同様の処理を行って、代表色の総数に応じて予め定められるビット精度で、各領域の代表色を符号化する（ステップＳ１２２，Ｓ１２３）。
【０１５０】
ステップＳ１２１で、３色か４色と判定された場合は、各領域ごとに、代表色を構成する各色成分について、最大値と最小値の差分を計算する（ステップＳ１２４）。次に、差分が所定の閾値（例えば８）以上か否かを判定し（ステップＳ１２５）、８以上であれば、値モードを採用すべく、ステップＳ１２２の処理を行う。
【０１５１】
差分が８未満であれば、差分の大きさにより、最小値のビット精度を変更する（ステップＳ１２６）。
【０１５２】
図４２は代表色の総数が３色の場合の上記ステップＳ１２６の処理内容を説明する図である。差分が７以下の場合はモード識別情報が０に設定され、差分モードが選択される。差分が０〜３の場合は、差分識別情報が０に設定され、最小値は８ビット精度となり、各領域の最小値との差分は２ビットで表される。差分が４〜７の場合は、差分識別情報は１に設定され、最小値は７ビット精度となり、各領域の最小値との差分は２ビットで表される。
【０１５３】
差分が８以上の場合は、モード識別情報は１に設定され、値モードが選択される。この場合、３つの代表色のそれぞれは、Ｙ成分が６ビット、ＣｂとＣｒ成分は５ビットで表される。
【０１５４】
図４３は第４の実施形態による符号化データのデータフォーマットを示す図である。図３７と比較して、代表色の総数が３色の場合の代表色情報が異なっており、それ以外は同じである。
【０１５５】
第３および第４の実施形態では、４色を表現可能なビットマップ情報を前提として、ビットマップ情報として各画素に２ビットを割り当てていた。ところが、代表色の総数が３色以下の場合は、各画素に２ビットを割り当てると、すべてのビットが有効に使われずに無駄が生じる。そこで、ビットマップ情報のビット数を代表色の総数により可変とすることも可能である。
【０１５６】
例えば、代表色の総数が３色とする。この場合、隣接する３画素を考えると、各画素が３色のいずれかを取り得るため、すべての色の組合せは、３×３×３＝２７通りである。ビットマップ情報が各画素を２ビットで表しているとすると、３画素では６ビットとなり、３２通りの組合せを表現できることになり、３２−２７＝５ビットは無駄である。
【０１５７】
そこで、３画素分の６ビットを５ビットに圧縮することにする。１ブロックには、４×４＝１６画素が含まれるため、これらを３画素ずつにグループ化すると、図４４（ａ）のように、５つのグループができて、残り１画素分が余る。これら５つのグループについては、それぞれ５ビットで表すことにし、残り１画素分は２ビットで表すことにする。
【０１５８】
これにより、図４４（ｂ）のように、５つのグループのビット総数は５×５＝２５ビットとなり、これに残り１画素分の２ビットが加わって、計２７ビットでビットマップ情報を表現できることになり、３２−２７＝５ビットを削減できる。
【０１５９】
また、上記のように、ビットマップ情報を圧縮する際には、画素が存在しない領域の代表色にビット値を割り当てることを省略して、代表色を表すビット値を変更するのが望ましい。例えば、図４５は代表色の総数が３色の場合のビットマップ情報のビット値変更の一例を示す図である。画素が存在しない代表色のビット値を省略して、他の代表色を予め定めた３種類のビット値００，０１，１０で表現することにすれば、効率よくビットマップ情報を圧縮できる。
【０１６０】
同様に、図４６は代表色の総数が２色の場合のビットマップ情報のビットマップ情報のビット値変更の一例を示す図である。図４６の場合は、代表色が２種類だけであり、１ビットで表現できるため、代表色を表すビット値を１ビットに変更する。
【０１６１】
図４７は図４４〜図４６の手順でビットマップ情報を圧縮した場合の符号化データのデータフォーマットを示す図である。図４３との違いは、ビットマップ情報の総ビット数が代表色の総数により変化することである。
【０１６２】
図４７の符号化データを復号化処理する場合は、以下の手順で行う。符号化データの総ビット数は、ビットマップ情報の総ビット数によって異なる。したがって、まずは、色構成情報より、代表色の総数を検出する。具体的には、色構成情報の０や１の存在フラグ情報を数値として加算する。代表色の総数によってビットマップ情報の圧縮の仕方が異なるため、代表色の総数が判れば、ビットマップ情報を復号して、各画素の代表色を特定することが可能となる。
【０１６３】
このように、第４の実施形態では、代表色の総数と、代表色同士の最大値と最小値の差分とにより、代表色情報のビット構成を決めるため、画質の向上を図りつつ、効率よく圧縮できる。また、ブロックを複数の領域に分割する際に、画素が存在しない領域についてはビットマップ情報を割り振らないようにすることで、ビットマップ情報を効率よく圧縮できる。
【０１６４】
上述した第３および第４の実施形態では、代表色の数を最大４色としたが、代表色の数には特に制限はない。第３および第４の実施形態を一般化すると、以下のようになる。
【０１６５】
ｍ×ｎ個の領域のそれぞれに割り振られる代表色の総数がｋ個（ｋはｍ×ｎ以下の正の整数）以上か否かを判定する（代表色数判定手段）。
【０１６６】
代表色の総数がｋ個以上の場合に、各色または色差成分ごとに、ｍ個の領域それぞれの代表色の差分が所定の閾値以上か否かを判定する（差分値判定手段）。
【０１６７】
閾値未満と判定された場合には、ｍ×ｎ個の領域のそれぞれの代表色同士の差分により、ｍ×ｎ個の領域に対応する画素ブロック内の複数画素の画素値を符号化した符号化データを生成し、閾値以上と判定されるか、または代表色数判定手段によりｋ個未満と判定された場合には、ｍ×ｎ個の領域のそれぞれの代表色の総数により定められるビット精度にて、ｍ×ｎ個の領域に対応する画素ブロック内の複数画素の画素値を符号化した符号化データを生成する（符号化手段）。
【符号の説明】
【０１６８】
１  アプリケーションプロセッサ（ＡＰＰ）
２  タイミングコントローラ（ＴＣＯＮ）
３  液晶パネル
４  符号化装置（ＥＮＣ）
５  フレームメモリ（ＦＭ）
６  復号化装置（ＤＥＣ）
７  オーバードライブ装置（ＯＤ）
１１  ラインメモリ
１２  色量子化計算部
１３  圧縮データ生成部
１４  データ抽出部
１５  画像復元部
１６  ラインメモリ
【図１】
2011124866.tif 000003
【図２】
2011124866.tif 000004
【図３】
2011124866.tif 000005
【図４】
2011124866.tif 000006
【図５】
2011124866.tif 000007
【図６】
2011124866.tif 000008
【図７】
2011124866.tif 000009
【図８】
2011124866.tif 000010
【図９Ａ】
2011124866.tif 000011
【図９Ｂ】
2011124866.tif 000012
【図１０】
2011124866.tif 000013
【図１１】
2011124866.tif 000014
【図１２】
2011124866.tif 000015
【図１３】
2011124866.tif 000016
【図１４】
2011124866.tif 000017
【図１５】
2011124866.tif 000018
【図１６】
2011124866.tif 000019
【図１７】
2011124866.tif 000020
【図１８】
2011124866.tif 000021
【図１９】
2011124866.tif 000022
【図２０】
2011124866.tif 000023
【図２１】
2011124866.tif 000024
【図２２】
2011124866.tif 000025
【図２３】
2011124866.tif 000026
【図２４Ａ】
2011124866.tif 000027
【図２４Ｂ】
2011124866.tif 000028
【図２５】
2011124866.tif 000029
【図２６】
2011124866.tif 000030
【図２７】
2011124866.tif 000031
【図２８】
2011124866.tif 000032
【図２９】
2011124866.tif 000033
【図３０】
2011124866.tif 000034
【図３１】
2011124866.tif 000035
【図３２】
2011124866.tif 000036
【図３３】
2011124866.tif 000037
【図３４】
2011124866.tif 000038
【図３５】
2011124866.tif 000039
【図３６】
2011124866.tif 000040
【図３７】
2011124866.tif 000041
【図３８】
2011124866.tif 000042
【図３９】
2011124866.tif 000043
【図４０】
2011124866.tif 000044
【図４１】
2011124866.tif 000045
【図４２】
2011124866.tif 000046
【図４３】
2011124866.tif 000047
【図４４】
2011124866.tif 000048
【図４５】
2011124866.tif 000049
【図４６】
2011124866.tif 000050
【図４７】
2011124866.tif 000051