(57)【要約】【課題】圧縮による画質の劣化を最小限に抑えることができる画像圧縮回路を提供する。【解決手段】画像データ変換回路１でＲＧＢからＹＵＶフォーマットに変換された画像データは、第１の量子化回路２で、それぞれ所定の画素数からなる複数の単位領域に分割されると共に単位領域毎に複数の仮想代表値ｘ０を設定して量子化を行うことで仮想量子化データＡ０が取得され、最適化回路３で、複数の仮想代表値ｘ０と仮想量子化データＡ０に基づいて最小二乗法により単位領域毎にデータ圧縮の誤差を最小にする複数の最適代表値ｘ１が演算され、第２の量子化回路４で、複数の最適代表値ｘ１に基づいて量子化をし直すことで最適量子化データＡ１が取得され、パッキング回路５で、複数の最適代表値ｘ１と最適量子化データＡ１に基づき圧縮データが所定のデータセット構造にパッキングされる。【選択図】図１
2015192372.tif 000002
【特許請求の範囲】
【請求項１】
画像データをそれぞれ所定の画素数からなる複数の単位領域に分割し、単位領域毎に複数の仮想代表値を設定すると共に前記複数の仮想代表値から複数の第１の量子化候補値を算出し、各単位領域内の画素毎に前記複数の第１の量子化候補値の中から前記画像データの値にもっとも近い第１の量子化候補値を選択することで仮想量子化データを取得する第１の量子化回路と、
前記第１の量子化回路により設定された前記複数の仮想代表値および前記第１の量子化回路により取得された前記仮想量子化データに基づいて前記単位領域毎にデータ圧縮の誤差を最小にする複数の最適代表値を最小二乗法により演算する最適化回路と、
前記最適化回路で得られた前記複数の最適代表値に基づいて前記単位領域毎に量子化に用いられる複数の第２の量子化候補値を算出し、各単位領域内の画素毎に前記複数の第２の量子化候補値の中から前記画像データの値にもっとも近い第２の量子化候補値を選択することで最適量子化データを取得する第２の量子化回路と
を備えたことを特徴とする画像圧縮回路。
【請求項２】
前記第１の量子化回路は、各単位領域内の画素毎に選択された前記第１の量子化候補値を前記複数の仮想代表値に対する係数の行列で表したものを前記仮想量子化データとし、
前記第２の量子化回路は、各単位領域内の画素毎に選択された前記第２の量子化候補値を前記複数の最適代表値に対する係数の行列で表したものを前記最適量子化データとする請求項１に記載の画像圧縮回路。
【請求項３】
前記第１の量子化回路は、前記単位領域毎に画素値の最大値および最小値を前記複数の仮想代表値として設定する請求項１または２に記載の画像圧縮回路。
【請求項４】
前記第１の量子化回路は、前記複数の仮想代表値と、前記複数の仮想代表値の間の補間値を、各単位領域に対する前記複数の第１の量子化候補値として算出する請求項３に記載の画像圧縮回路。
【請求項５】
前記最適化回路は、ヤコビ法を用いて前記複数の最適代表値を演算する請求項１〜４のいずれか一項に記載の画像圧縮回路。
【請求項６】
前記最適化回路は、整数倍された前記画像データおよび前記仮想量子化データを用いた漸化計算を複数回繰り返すことにより前記複数の最適代表値を演算する請求項５に記載の画像圧縮回路。
【請求項７】
前記第２の量子化回路は、前記複数の最適代表値と、前記複数の最適代表値の間の補間値を、各単位領域に対する前記複数の第２の量子化候補値として算出する請求項１〜６のいずれか一項に記載の画像圧縮回路。
【請求項８】
入力されたＲＧＢデータをＹＵＶフォーマットに変換し、前記画像データとして前記第１の量子化回路に出力する画像データ変換回路をさらに備えた請求項１〜７のいずれか一項に記載の画像圧縮回路。
【請求項９】
前記最適化回路で演算されたＹ成分の前記複数の最適代表値および前記第２の量子化回路で得られたＹ成分の前記最適量子化データと前記最適化回路で演算されたＵＶ成分の前記複数の最適代表値および前記第２の量子化回路で得られたＵＶ成分の前記最適量子化データを所定のデータセット構造にパッキングして出力するパッキング回路をさらに備えた請求項８に記載の画像圧縮回路。
【請求項１０】
画像データをそれぞれ所定の画素数からなる複数の単位領域に分割し、単位領域毎に複数の仮想代表値を設定すると共に前記複数の仮想代表値から複数の第１の量子化候補値を算出し、各単位領域内の画素毎に前記複数の第１の量子化候補値の中から前記画像データの値にもっとも近い第１の量子化候補値を選択することで仮想量子化データを取得し、
設定された前記複数の仮想代表値および取得された前記仮想量子化データに基づいて前記単位領域毎にデータ圧縮の誤差を最小にする複数の最適代表値を最小二乗法により演算し、
前記複数の最適代表値に基づいて前記単位領域毎に量子化に用いられる複数の第２の量子化候補値を算出し、各単位領域内の画素毎に前記複数の第２の量子化候補値の中から前記画像データの値にもっとも近い第２の量子化候補値を選択することで最適量子化データを取得する
ことを特徴とする画像圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像圧縮回路および画像圧縮方法に係り、特に、テクスチャ圧縮により画像データを圧縮する画像圧縮回路および方法に関する。
【背景技術】
【０００２】
例えば、特許文献１には、圧縮処理の中間で用いられる輝度変更子と圧縮処理前の輝度との間の誤差を低減するように輝度変更子および量子化色を選択する画像処理方法が開示されている。
また、特許文献２には、液晶ディスプレイのソースドライバで用いられる画像圧縮において、所定範囲の画素ブロックを輝度および色差の変化に合致した複数のサブ領域に分割し、サブ領域毎に処理前の色との間の誤差を小さくするように代表色を決定する画像処理方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４４４４９６７号公報
【特許文献２】特開２００９−１３０６９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１および２に開示された画像処理方法では、画像データの圧縮前後における誤差の低減はなされるものの、圧縮処理に先立って、輝度変更子および量子化色、あるいは、代表色を決定するのみであるので、誤差の低減は十分なものとは言い難く、圧縮による画質の劣化を伴うものであった。
【０００５】
この発明は、このような従来の問題点を解消するためになされたもので、圧縮による画質の劣化を最小限に抑えることができる画像圧縮回路および画像圧縮方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る画像圧縮回路は、画像データをそれぞれ所定の画素数からなる複数の単位領域に分割し、単位領域毎に複数の仮想代表値を設定すると共に複数の仮想代表値から複数の第１の量子化候補値を算出し、各単位領域内の画素毎に複数の第１の量子化候補値の中から画像データの値にもっとも近い第１の量子化候補値を選択することで仮想量子化データを取得する第１の量子化回路と、第１の量子化回路により設定された前記複数の仮想代表値および第１の量子化回路により取得された仮想量子化データに基づいて単位領域毎にデータ圧縮の誤差を最小にする複数の最適代表値を最小二乗法により演算する最適化回路と、最適化回路で得られた複数の最適代表値に基づいて単位領域毎に量子化に用いられる複数の第２の量子化候補値を算出し、各単位領域内の画素毎に複数の第２の量子化候補値の中から画像データの値にもっとも近い第２の量子化候補値を選択することで最適量子化データを取得する第２の量子化回路とを備えたものである。
【０００７】
第１の量子化回路は、各単位領域内の画素毎に選択された第１の量子化候補値を複数の仮想代表値に対する係数の行列で表したものを仮想量子化データとし、第２の量子化回路は、各単位領域内の画素毎に選択された第２の量子化候補値を複数の最適代表値に対する係数の行列で表したものを最適量子化データとすることができる。
第１の量子化回路は、単位領域毎に画素値の最大値および最小値を複数の仮想代表値として設定することが好ましい。
この場合、第１の量子化回路は、複数の仮想代表値と、複数の仮想代表値の間の補間値を、各単位領域に対する複数の第１の量子化候補値として算出することができる。
最適化回路は、ヤコビ法を用いて複数の最適代表値を演算することが好ましい。
この場合、最適化回路は、整数倍された画像データおよび仮想量子化データを用いた漸化計算を複数回繰り返すことにより複数の最適代表値を演算することができる。
【０００８】
また、第２の量子化回路は、複数の最適代表値と、複数の最適代表値の間の補間値を、各単位領域に対する複数の第２の量子化候補値として算出することができる。
なお、入力されたＲＧＢデータをＹＵＶフォーマットに変換し、画像データとして第１の量子化回路に出力する画像データ変換回路をさらに備えてもよい。
また、最適化回路で演算されたＹ成分の複数の最適代表値および第２の量子化回路で得られたＹ成分の最適量子化データと最適化回路で演算されたＵＶ成分の複数の最適代表値および第２の量子化回路で得られたＵＶ成分の最適量子化データを所定のデータセット構造にパッキングして出力するパッキング回路をさらに備えることもできる。
【０００９】
この発明に係る画像圧縮方法は、画像データをそれぞれ所定の画素数からなる複数の単位領域に分割し、単位領域毎に複数の仮想代表値を設定すると共に複数の仮想代表値から複数の第１の量子化候補値を算出し、各単位領域内の画素毎に複数の第１の量子化候補値の中から画像データの値にもっとも近い第１の量子化候補値を選択することで仮想量子化データを取得し、設定された前記複数の仮想代表値および取得された仮想量子化データに基づいて単位領域毎にデータ圧縮の誤差を最小にする複数の最適代表値を最小二乗法により演算し、複数の最適代表値に基づいて単位領域毎に量子化に用いられる複数の第２の量子化候補値を算出し、各単位領域内の画素毎に複数の第２の量子化候補値の中から画像データの値にもっとも近い第２の量子化候補値を選択することで最適量子化データを取得する方法である。
【発明の効果】
【００１０】
この発明によれば、複数の仮想代表値に基づいて仮想量子化データを取得した後、データ圧縮の誤差を最小にする複数の最適代表値を最小二乗法により演算し、演算された複数の最適代表値に基づいて最適量子化データを取得するので、圧縮による画質の劣化を最小限に抑えることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態に係る画像圧縮回路の構成を示すブロック図である。
【図２】１つの単位領域における圧縮前のＹデータの一例を示す図である。
【図３】図２に示したＹデータを３倍したＹ成分の整数倍データを示す図である。
【図４】図３に示したデータに対して画素毎に選択された第１の量子化候補値を示す図である。
【図５】Ｙ成分の仮想量子化データを示す図である。
【図６】単位領域における画素の並びを示す図である。
【図７】ＵＶ成分の仮想量子化データを示す図である。
【図８】実施の形態における最適化回路の内部構成を示す機能ブロック図である。
【図９】圧縮されたＹ成分データを示す図である。
【図１０】パッキング回路でパッキングされた圧縮データを示す図である。
【発明を実施するための形態】
【００１２】
以下、この発明の実施の形態を添付図面に基づいて説明する。
図１に、実施の形態に係る画像圧縮回路の構成を示す。画像圧縮回路は、画像データ変換回路１を有し、この画像データ変換回路１に第１の量子化回路２が接続され、第１の量子化回路２に最適化回路３が接続されている。さらに、最適化回路３に第２の量子化回路４が接続され、第２の量子化回路４にパッキング回路５が接続されている。
【００１３】
画像データ変換回路１は、圧縮処理の対象となるＲＧＢ画像データをＹＵＶフォーマットに変換し、変換されたＹＵＶ画像データを第１の量子化回路２に出力するものであり、汎用の変換回路を使用することができる。
一般に、画像圧縮による誤差のうち、もっとも人間の目に感じやすい誤差が輝度変化であるため、画像データ変換回路１によりＲＧＢ画像データをＹＵＶフォーマットに変換すれば、輝度を表すＹ成分のデータとそれ以外の色差に関するＵＶ成分のデータとに分けて圧縮処理を行うことで、圧縮率を維持しながら、特に輝度に関して圧縮誤差を低減することができ、人間の目から見た画質の劣化を効果的に抑制することが可能となる。
【００１４】
第１の量子化回路２は、画像データ変換回路１から入力された画像データを、それぞれ所定の画素数からなる複数の単位領域に分割し、単位領域毎に複数の仮想代表値を設定して量子化を行うことで仮想量子化データを取得する回路である。具体的には、複数の仮想代表値から複数の第１の量子化候補値が算出され、各単位領域内の画素毎に複数の第１の量子化候補値の中から画像データの値にもっとも近い第１の量子化候補値を選択することで仮想量子化データが取得される。
最適化回路３は、第１の量子化回路２により設定された複数の仮想代表値および第１の量子化回路２により取得された仮想量子化データに基づき、最小二乗法により、単位領域毎にデータ圧縮の誤差を最小にする複数の最適代表値を演算する。
【００１５】
第２の量子化回路４は、最適化回路３で演算された複数の最適代表値に基づいて、量子化をし直すことで最適量子化データを取得する回路である。具体的には、複数の最適代表値から複数の第２の量子化候補値が算出され、各単位領域内の画素毎に複数の第２の量子化候補値の中から画像データの値にもっとも近い第２の量子化候補値を選択することで最適量子化データが取得される。
パッキング回路５は、最適化回路３で演算された複数の最適代表値と第２の量子化回路４で得られた最適量子化データに基づき、圧縮データを所定のデータセット構造にパッキングして出力する。
【００１６】
次に、具体例を挙げて、実施の形態に係る画像圧縮回路の動作について説明する。
まず、ＹＵＶデータのうち、Ｙデータについて、処理を行う場合を説明する。
Ｙデータは、画素毎に８ビットを有するデータであり、圧縮を行う単位領域を４画素×４画素の領域とする。
１つの単位領域における圧縮前のＹデータの一例を図２に示す。
第１の量子化回路２は、この単位領域内のＹデータから仮想代表値ｘ０として画素値の最小値ｍｉｎＹと最大値ｍａｘＹを抽出する。すなわち、図２の例では、ｍｉｎＹ＝０、ｍａｘＹ＝１００となる。
【００１７】
次に、最小値ｍｉｎＹおよび最大値ｍａｘＹと、これら最小値ｍｉｎＹおよび最大値ｍａｘＹの間を線形に補間した２つの補間値（２＊ｍｉｎＹ＋１＊ｍａｘＹ）／３および（１＊ｍｉｎＹ＋２＊ｍａｘＹ）／３を用いて、単位領域毎にＹデータに対する４つの第１の量子化候補値ｃ０〜ｃ３を次式（１）のように設定する。
ｃ０＝３＊minＹ
ｃ１＝２＊minＹ＋１＊maxＹ
ｃ２＝１＊minＹ＋２＊maxＹ
ｃ３＝３＊maxＹ                  ・・・（１）
【００１８】
最小値ｍｉｎＹおよび最大値ｍａｘＹの間を線形に補間することで、圧縮誤差の低減を図っている。
なお、上記の式（１）の右辺は、圧縮前のＹデータの値を３倍したものに対応している。すなわち、式（１）の右辺を「３」で除算することで、圧縮前のＹデータの値に対応するものとなるが、計算における除算の導入による回路の煩雑化を回避するため、「３」で除算せずに、圧縮前のＹデータの値を３倍した整数倍データｂを用いて計算を進めるものとする。
【００１９】
Ｙデータに対する第１の量子化候補値ｃ０〜ｃ３は、式（１）における最小値ｍｉｎＹおよび最大値ｍａｘＹの係数ｃｏｅｆＹを抜き出して以下の式（２）のような形で、第１の量子化回路２内に予め保持された係数ＬＵＴ（ルックアップテーブル）に設定することができる。
(coefＹ) for ｃ０＝(３，０)
(coefＹ) for ｃ１＝(２，１)
(coefＹ) for ｃ２＝(１，３)
(coefＹ) for ｃ３＝(０，３)      ・・・（２）
【００２０】
図２に示したＹデータでは、ｍｉｎＹ＝０、ｍａｘＹ＝１００であるので、
ｃ０＝０
ｃ１＝１００
ｃ２＝２００
ｃ３＝３００      ・・・（３）
となる。
【００２１】
これらの第１の量子化候補値ｃ０〜ｃ３に対し、図２に示したＹデータを量子化する手順を以下に示す。
上述したように、仮想代表値ｘ０および補間値を３倍した値で第１の量子化候補値ｃ０〜ｃ３を設定したため、図２に示したＹデータをそれぞれ３倍して図３に示すＹ成分の整数倍データｂを作成し、図４に示されるように、単位領域内の画素毎に第１の量子化候補値ｃ０〜ｃ３のうち、整数倍データｂの値にもっとも近い値を有する第１の量子化候補値を選択する。さらに、選択された第１の量子化候補値に、上記の式（２）に示した係数ｃｏｅｆＹを割り当てると、図５に示されるような画素毎のＹ成分の仮想量子化データが得られる。
【００２２】
このようにして、仮想代表値ｘ０に基づく仮想の量子化処理が行われる。処理結果として得られた画素毎の係数で表されるＹ成分の仮想量子化データは、図６に示されるような画素Ｐ１〜Ｐ１６の並びに従って、画素Ｐ１から画素Ｐ１６まで羅列した数値データとして、以下のように１６行×２列の行列Ａ０として定義することができる。
【００２３】
【数１】
2015192372.tif 000003
【００２４】
ここで、Ｙデータの最小値ｍｉｎＹおよび最大値ｍａｘＹからなる２値の仮想代表値を、２×１型のベクトルｘ０として再定義すると共に、図３に示したように、圧縮前のＹデータの値を３倍した整数倍データを、１６×１型のベクトルｂとして再定義すると、第１の量子化回路２における仮想の量子化処理は、
Ａ０・ｘ０＝ｂ      ・・・（４）
にもっとも近くなるように、行列Ａ０を選定する作業に他ならない。
【００２５】
このようなＹデータに対する量子化処理と同様にして、ＹＵＶデータのうち、ＵＶデータについても量子化の処理が行われる。
圧縮前のＵデータおよびＶデータも、Ｙデータと同様に、それぞれ画素毎に８ビットを有するデータであり、圧縮を行う単位領域を４画素×４画素の領域とする。
【００２６】
第１の量子化回路２は、圧縮対象の単位領域内のＵデータおよびＶデータから仮想代表値ｘ０としてそれぞれの最小値ｍｉｎＵおよびｍｉｎＶと最大値ｍａｘＵおよびｍａｘＶを抽出し、ＵおよびＶを軸とした仮想２次元平面上で、これら最小値および最大値を４点で補間することにより、単位領域毎にＵＶデータに対する４つの第１の量子化候補値ｃ０〜ｃ３を次式（５）のように設定する。
ｃ０＝(２＊minＵ，２＊minＶ)
ｃ１＝(minＵ＋maxＵ−minＶ＋maxＶ，minＵ−maxＵ＋minＶ＋maxＶ)
ｃ２＝(−minＵ＋maxＵ＋minＶ＋maxＶ，minＵ＋maxＵ＋minＶ−maxＶ)
ｃ３＝(２＊maxＵ，２＊maxＶ)                              ・・・（５）
【００２７】
なお、上記の式（５）の右辺は、圧縮前のＵデータおよびＶデータの値を２倍したものに対応している。すなわち、式（５）の右辺を「２」で除算することで、圧縮前のＵデータおよびＶデータの値に対応するものとなるが、計算における除算の導入による回路の煩雑化を回避するため、「２」で除算せずに、圧縮前のＵデータおよびＶデータの値を２倍した整数倍データｂを用いて計算を進めるものとする。
【００２８】
ＵＶデータに対する第１の量子化候補値ｃ０〜ｃ３は、式（５）におけるＵデータの最小値ｍｉｎＵおよび最大値ｍａｘＵの係数ｃｏｅｆＵとＶデータの最小値ｍｉｎＶおよび最大値ｍａｘＶの係数ｃｏｅｆＶを抜き出して以下の式（６）のような形で、第１の量子化回路２内の係数ＬＵＴに設定することができる。
(coefＵ，coefＶ) for ｃ０＝(２，０，０，０)，(０，０，２，０)
(coefＵ，coefＶ) for ｃ１＝(１，１，-１，１)，(１，-１，１，１)
(coefＵ，coefＶ) for ｃ２＝(-１，１，１，１)，(１，１，１，-１)
(coefＵ，coefＶ) for ｃ３＝(０，２，０，０)，(０，０，０，２)   ・・・（６）
【００２９】
これらの第１の量子化候補値ｃ０〜ｃ３を用いて、Ｙデータの際と同様に、ＵデータおよびＶデータの量子化が行われる。仮想代表値ｘ０および補間値を２倍した値で第１の量子化候補値ｃ０〜ｃ３を設定したため、圧縮前の画素毎のＵデータおよびＶデータの値をそれぞれ２倍してＵＶ成分の整数倍データｂを生成し、整数倍データｂの値に対して、第１の量子化候補値ｃ０〜ｃ３のうちもっとも近い値を有する第１の量子化候補値を選択する。選択された第１の量子化候補値に、上記の式（６）に示した係数ｃｏｅｆＵおよびｃｏｅｆＶを割り当てると、例えば図７に示されるような画素毎のＵＶ成分の仮想量子化データが得られる。
【００３０】
この場合、画素Ｐ１のＵ、画素Ｐ１のＶ、画素Ｐ２のＵ、画素Ｐ２のＶ・・・というように、画素毎にＵ成分の仮想量子化データとＶ成分の仮想量子化データを並べながら画素Ｐ１から画素Ｐ１６まで各画素の仮想量子化データを羅列すると、以下のように３２行×４列の行列Ａ０として定義することができる。
【００３１】
【数２】
2015192372.tif 000004
【００３２】
ここで、Ｕデータの最小値ｍｉｎＵおよび最大値ｍａｘＵとＶデータの最小値ｍｉｎＶおよび最大値ｍａｘＶからなる４値の仮想代表値を、４×１型のベクトルｘ０として再定義すると共に、圧縮前のＵデータおよびＶデータの値を２倍した整数倍データを、画素Ｐ１のＵ、画素Ｐ１のＶ、画素Ｐ２のＵ、画素Ｐ２のＶ・・・の順で並べた３２×１型のベクトルｂとして再定義すると、Ｙデータの際と同様に、ＵデータおよびＶデータに対しても、第１の量子化回路２における仮想の量子化処理は、上記の式（４）にもっとも近くなるように、行列Ａ０を選定する作業となる。
【００３３】
このようにして演算された各画素の仮想量子化データＡ０と仮想代表値ｘ０と整数倍データｂは、圧縮による誤差のない理想的な状態においては、上記の式（４）の関係を満たすこととなるが、実際には、量子化誤差を含むため、式（４）の関係を満たなくなる。
そこで、
Ａ０・ｘ−ｂ・・・（７）
を最小にするような代表値ｘを最適代表値ｘ１として求め、この最適代表値ｘ１を用いて改めて量子化処理を実施することにより、理想的な状態に近づけることができる。
【００３４】
単位領域毎にデータ圧縮の誤差を最小にする最適代表値ｘ１が、最適化回路３により演算される。
上記の式（７）を最小にすることは、ＣＴがＣの転置行列を表すものとして、
(Ａ０・ｘ−ｂ)＊(Ａ０・ｘ−ｂ)Ｔ  ・・・（８）
を最小にすることと同等であり、この式（８）をベクトルの各成分に関して微分したものが０になるという条件と等価となる。すなわち、
２Ａ０ＴＡ０＊ｘ−２Ａ０Ｔｂ＝０  ・・・（９）
となり、さらに、式（９）を変形して、
Ａ０ＴＡ０＊ｘ＝Ａ０Ｔｂ  ・・・（１０）
となる。
【００３５】
最適化回路３は、ヤコビ（Jacobi）法を用いて最小二乗法により式（１０）を数値的に解くことで、代表値ｘの最適化を行い、最適代表値ｘ１を演算する。
ここで、行列Ｂ、ベクトルｚおよびｙが、
Ｂｚ＝ｙ  ・・・（１１）
の関係を満たすとき、これをｚについて解いた場合に、ｋ番目のｚｋと（ｋ＋１）番目のｚｋ＋１に対し、以下の漸化式として表されることが知られている。
ｚｋ＋１＝Ｂｄｉａｇ−１(ｙ−Ｂｎｏｎｄｉａｇｚｋ)  ・・・（１２）
ただし、Ｂｄｉａｇ−１はＢの対角成分の逆行列、ＢｎｏｎｄｉａｇはＢの非対角成分の行列を表す。
【００３６】
式（１０）と式（１１）を比較すると、Ａ０ＴＡ０がＢに、ｘがｚに、Ａ０Ｔｂがｙに相当する。従って、Ａ０ＴＡ０の対角成分の逆行列および非対角成分の行列並びにＡ０Ｔｂの値を計算し、式（１２）の形に当てはめ、ｘを繰り返し算出することで、ヤコビ法により式（１０）をｘについて漸化的に解くことが可能となる。
最適化回路３は、図８に示されるように、直列に接続された第１の計算部３１、第２の計算部３２および第３の計算部３３を有して、漸化計算をパイプライン処理する構造を備えている。第１の計算部３１、第２の計算部３２および第３の計算部３３は、それぞれ、同一のＡ０を用いて、式（１２）による漸化計算を１回実行する回路ブロックである。
【００３７】
第１の計算部３１は、第１の量子化回路２で得られた画素毎の仮想量子化データの行列Ａ０によるＡ０ＴＡ０およびＡ０Ｔｂと、第１の量子化回路２で設定された仮想代表値ｘ０とに基づいて、式（１２）による漸化計算を１回行って新たな代表値ｘａを算出する。
第２の計算部３２は、第１の量子化回路２で得られた画素毎の仮想量子化データの行列Ａ０によるＡ０ＴＡ０およびＡ０Ｔｂと、第１の計算部３１で算出された代表値ｘａとに基づいて、式（１２）による漸化計算をさらに１回行って新たな代表値ｘｂを算出する。
第３の計算部３３は、第１の量子化回路２で得られた画素毎の仮想量子化データの行列Ａ０によるＡ０ＴＡ０およびＡ０Ｔｂと、第２の計算部３２で算出された代表値ｘｂとに基づいて、式（１２）による漸化計算をさらに１回行い、算出された代表値を最適化回路３で得られた最適代表値ｘ１として第２の量子化回路４へ出力する。
このようなパイプライン処理により算出された代表値は、仮想代表値ｘ０から、ｘａおよびｘｂを経て最適代表値ｘ１に至るほど、次第に精度を増して最適化されることとなる。
【００３８】
なお、この実施の形態においては、Ｙデータに対する仮想量子化データの行列Ａ０は、１６行×２列の行列であり、転置行列Ａ０Ｔは、２行×１６列の行列となるため、Ａ０ＴＡ０は、２行×２列の行列となる。さらに、整数倍データｂは１６×１型のベクトルであるので、Ａ０Ｔｂは、２行×１列の行列となる。
また、ＵデータおよびＶデータに対する仮想量子化データの行列Ａ０は、３２行×４列の行列であり、転置行列Ａ０Ｔは、４行×３２列の行列となるため、Ａ０ＴＡ０は、４行×４列の行列となる。さらに、整数倍データｂは３２×１型のベクトルであるので、Ａ０Ｔｂは、４行×１列の行列となる。
【００３９】
このようにして最適化回路３で演算された最適代表値ｘ１が第２の量子化回路４に入力されると、第２の量子化回路４は、最適代表値ｘ１を用いて改めてＹデータの量子化を実施すると共に、最適代表値ｘ１を用いて改めてＵデータおよびＶデータの量子化を実施することでＹ成分の最適量子化データおよびＵＶ成分の最適量子化データを演算する。
第２の量子化回路４における量子化処理は、仮想代表値ｘ０の代わりに最適代表値ｘ１を使用する点を除いて、第１の量子化回路２で行われた仮想の量子化処理と同様である。すなわち、最適代表値ｘ１に基づいて複数の第２の量子化候補値ｃ０〜ｃ３が算出され、各単位領域内の画素毎に複数の第２の量子化候補値ｃ０〜ｃ３の中から画像データの値にもっとも近い第２の量子化候補値を選択することで最適量子化データが取得される。
【００４０】
取得された最適量子化データは、４つの第２の量子化候補値ｃ０〜ｃ３に対応する２ビットのデータで表すことができる。例えば、図９に示されるように、圧縮されたＹ成分データは、画素毎に、第２の量子化候補値ｃ０〜ｃ３にそれぞれ対応するデータ「００」、「０１」、「１０」および「１１」のいずれかとなる。
この実施の形態においては、ＹＵＶのデータを、Ｙ成分とＵＶ成分の２系統に分けてそれぞれ圧縮を行っており、双方とも同数の第２の量子化候補値ｃ０〜ｃ３が用いられるので、ＵＶ成分についても、図９に示したものと同様に、画素毎に２ビットの圧縮されたＵＶ成分データが生成される。
【００４１】
このようにして第２の量子化回路４で得られた最適量子化データは、最適化回路３で演算された最適代表値ｘ１と共にパッキング回路５に入力され、所定のデータセット構造を有する圧縮データにパッキングされる。例えば、図１０に示されるように、単位領域毎に、Ｙ成分は、最適代表値ｘ１である最小値ｍｉｎＹおよび最大値ｍａｘＹと画素毎の圧縮されたＹ成分データＹ１〜Ｙ１６から構成され、ＵＶ成分は、最適代表値ｘ１である最小値ｍｉｎＵおよびｍｉｎＶと最大値ｍａｘＵおよびｍａｘＶと画素毎の圧縮されたＵＶ成分データＵＶ１〜ＵＶ１６から構成されるデータセット構造となる。
【００４２】
この実施の形態においては、最適代表値ｘ１を構成するＹデータの最小値および最大値、Ｕデータの最小値および最大値、Ｖデータの最小値および最大値は、それぞれ８ビットのデータであるので、Ｙ成分とＵＶ成分を併せて４８ビットとなる。また、圧縮された成分データＹ１〜Ｙ１６およびＵＶ１〜ＵＶ１６は、それぞれ２ビットのデータであるので、併せて６４ビットとなる。すなわち、１つの単位領域の画像データが、合計１１２ビットの圧縮データで表されることとなる。
【００４３】
これに対して、圧縮前のデータは、それぞれ８ビットのＹデータ、ＵデータおよびＶデータを有する画素が、単位領域内に４×４＝１６個存在するため、合計８×３×１６＝３８４ビットであり、この実施の形態により、大幅なデータ圧縮がなされたことがわかる。さらに、最適化回路３で代表値の最適化が行われているため、圧縮の誤差は最小となり、画質の劣化が最小限に抑制されたものとなっている。
【００４４】
以上のようにして圧縮され、パッキングされた圧縮データは、この圧縮データを受信した回路で伸張することにより、画像データに戻すことができる。
このとき、まず、Ｙデータに関して、最適代表値ｘ１である最小値ｍｉｎＹおよび最大値ｍａｘＹから、次の式（１３）により量子化候補値ｃ０〜ｃ３を算出する。
ｃ０＝minＹ
ｃ１＝(２＊minＹ＋１＊maxＹ)/３
ｃ２＝(１＊minＹ＋２＊maxＹ)/３
ｃ３＝maxＹ                        ・・・（１３）
ここでは、回路処理の煩雑化を回避するために省略した、右辺を「３」で除算する処理を行っている。
次に、各画素の圧縮されたＹ成分データに基づき、それぞれ該当する量子化候補値ｃ０〜ｃ３を参照して、式（１３）によりデータの値を変換することで、画像データへの伸張を行うことができる。
【００４５】
ＵデータおよびＶデータについても、同様に、最適代表値ｘ１である最小値ｍｉｎＵおよびｍｉｎＶと最大値ｍａｘＵおよびｍａｘＶから、次の式（１４）により量子化候補値ｃ０〜ｃ３を算出する。
ｃ０＝(minＵ，minＶ)
ｃ１＝((maxＵ＋minＵ＋maxＶ−minＶ)/２，(−maxＵ＋minＵ＋maxＶ＋minＶ)/２)
ｃ２＝((maxＵ−minＵ＋maxＶ＋minＶ)/２，(maxＵ＋minＵ−maxＶ＋minＶ)/２)
ｃ３＝(maxＵ，maxＶ)
・・・（１４）
ここでは、回路処理の煩雑化を回避するために省略した、右辺を「２」で除算する処理を行っている。
次に、各画素の圧縮されたＵＶ成分データに基づき、それぞれ該当する量子化候補値ｃ０〜ｃ３を参照して、式（１４）によりデータの値を変換することで、画像データへの伸張を行うことができる。
【００４６】
図１０に示したデータ構造は、通常のテクスチャ圧縮で使用される汎用の構造であるため、圧縮データを受信した回路で伸張する場合も、特別な処理を必要とすることなく、汎用の処理回路で取り扱うことが可能となる。
以上説明したように、第１の量子化回路２で仮想代表値ｘ０に基づいて仮想量子化データを取得した後、最適化回路３でデータ圧縮の誤差を最小にする最適代表値ｘ１を最小二乗法により演算し、演算された複数の最適代表値ｘ１に基づいて第２の量子化回路４で最適量子化データを取得し、さらに、パッキング回路５が、最適量子化データに基づいて圧縮データを所定のデータセット構造にパッキングするので、圧縮による画質の劣化を最小限に抑えながら、画像データの圧縮を行うことが可能となる。
【００４７】
また、上記の実施の形態では、最適化回路３がヤコビ法を用いて漸化計算を効率的にパイプライン処理しているので、計算処理を繰り返しているにもかかわらず、処理速度の低下が回避されている。このため、動画処理、液晶画面のパネルセルフリフレッシュ（ＰＳＲ）機能等、画像データの処理に所定の速度が要求される用途において、特に有用な画像圧縮回路を提供することができる。
なお、最適化回路３では、第１の計算部３１、第２の計算部３２および第３の計算部３３により、漸化計算を３回行ったが、これに限るものではなく、処理結果の精度と処理に必要な時間に対応して、２回以下の漸化計算あるいは４回以上の漸化計算を行ってもよい。
【００４８】
また、上記の実施の形態では、式（１）および式（５）により算出された第１の量子化候補値および第２の量子化候補値を用いたが、これに限るものではなく、他の演算式により、これら第１の量子化候補値および第２の量子化候補値を算出することもできる。
上記の実施の形態においては、圧縮を行う単位領域を４画素×４画素の領域としたが、これに限るものではなく、任意の画素数を有する単位領域を設定して圧縮処理を行うことができる。
【００４９】
さらに、上記の実施の形態では、ＲＧＢ画像データをＹＵＶフォーマットに変換し、輝度を表すＹ成分のデータとそれ以外の色差に関するＵＶ成分のデータの２系統に分けて圧縮処理を行ったが、これに限るものではない。例えば、画像データをＹ成分とＵ成分とＶ成分の３系統に分けて処理してもよく、また、ＹＵＶのデータを複数系統に分けずに一度に三次元近似することもできる。さらに、ＹＵＶフォーマットに変換することなく、ＲＧＢ画像データのまま、圧縮処理を行うこともできる。
【符号の説明】
【００５０】
１  画像データ変換回路、２  第１の量子化回路、３  最適化回路、４  第２の量子化回路、５  パッキング回路、３１  第１の計算部、３２  第２の計算部、３３  第３の計算部、ｘ０  仮想代表値、ｘａ，ｘｂ  代表値、ｘ１  最適代表値、ｃ０〜ｃ３  第１の量子化候補値，第２の量子化候補値、ｂ  整数倍データ、Ａ０  仮想量子化データ、Ａ１  最適量子化データ、Ｐ１〜Ｐ１６  画素、ｍｉｎＹ，ｍｉｎＵ，ｍｉｎＶ  最小値、ｍａｘＹ，ｍａｘＵ，ｍａｘＶ  最大値、Ｙ１〜Ｙ１６  圧縮されたＹ成分データ、ＵＶ１〜ＵＶ１６  圧縮されたＵＶ成分データ。
【図１】
2015192372.tif 000005
【図２】
2015192372.tif 000006
【図３】
2015192372.tif 000007
【図４】
2015192372.tif 000008
【図５】
2015192372.tif 000009
【図６】
2015192372.tif 000010
【図７】
2015192372.tif 000011
【図８】
2015192372.tif 000012
【図９】
2015192372.tif 000013
【図１０】
2015192372.tif 000014