(57)【要約】  本発明では、画像を分割するブロック内に存在する複数の画素分の第１の画素データ群を分割して複数の第２の画素データ群を生成し、その第２の画素データ群に対し、直交変換により得られた係数のうち、最低周波数側から所定数に制限した係数を用いた直交変換を複数階層化して行い、最上位階層での直交変換により得られた係数のなかで最低周波数側から予め定めた個数の係数、及び最上位階層以外の階層で得られた直交変換に用いていない係数を符号化して圧縮データを生成する。それにより、低周波成分と高周波成分とに分けた符号化を行う。
2008120279.tif 000002
【特許請求の範囲】
【請求項１】
画素毎に画素データを有する画像データを圧縮する画像圧縮装置において、
画像を分割するブロック内に存在する複数の画素分の第１の画素データ群を分割して複数の第２の画素データ群を生成するデータ生成部と、
前記データ生成部が生成した前記第２の画素データ群毎に直交変換を行い、周波数成分を示す複数の係数を出力する第１の変換部と、
前記第１の変換部が複数の前記第２の画素データ群に対して前記直交変換をそれぞれ行って得られる複数の係数のうち、最低周波数側から所定数の係数を用いて直交変換を行う第２の変換部と、
前記第２の変換部が出力する係数、及び前記第１の変換部が出力する係数のなかで該第２の変換部が前記直交変換に用いない係数から圧縮データを生成する符号化部と、
を具備することを特徴とする画像圧縮装置。
【請求項２】
前記第２の変換部は、前記直交変換の点数を異ならせると共に、該直交変換に用いる係数を最低周波数側から所定数に制限した該直交変換を２階層以上に分けて行う、
ことを特徴とする請求項１記載の画像圧縮装置。
【請求項３】
前記符号化部は、
前記第２の変換部が最終的に出力する係数毎に、該係数と前に復元された係数との係数差分値を算出する係数差分値算出部と、
前記係数差分値算出部が前記係数毎に算出する係数差分値を量子化し、該量子化によって得られる量子化値を出力する係数差分値量子化部と、
前記係数差分値量子化部から前記係数毎に出力された量子化値の逆量子化を行い、前記係数差分値を出力する逆量子化部と、
前記逆量子化部が前記係数毎に出力する係数差分値と、前記前に復元された係数とを用いた計算により、該係数を復元して出力する係数復元部と、
前記係数差分値量子化部が出力する量子化値、及び前記第１の変換部が出力する係数のなかで前記第２の変換部が前記直交変換に用いない係数を用いて前記圧縮データを生成する圧縮データ生成部と、
を具備することを特徴とする請求項１記載の画像圧縮装置。
【請求項４】
前記第２の変換部は、最低周波数側から所定数に制限して前記係数を算出する、
ことを特徴とする請求項１記載の画像圧縮装置。
【請求項５】
画素毎に画素データを有する画像データを圧縮するための画像圧縮方法において、
画像を分割するブロック内に存在する複数の画素分の第１の画素データ群を分割して複数の第２の画素データ群を生成し、
前記第２の画素データ群に対し、直交変換により得られた係数のうち、最低周波数側から所定数に制限した係数を用いた直交変換を複数階層化して行い、
最上位階層での直交変換により得られた係数のなかで最低周波数側から予め定めた個数の係数、及び該最上位階層以外の階層で得られた該直交変換に用いていない係数を符号化して圧縮データを生成する、
ことを特徴とする画像圧縮方法。
【請求項６】
請求項１記載の画像圧縮装置により符号化された画像データを復元する装置であって、
前記圧縮データから、前記第２の変換部が出力した係数、及び前記第１の変換部が出力した係数のなかで該第２の変換部が前記直交変換に用いない係数を復元する第１の復元部と、
前記第１の復元部が復元した前記第２の変換部の係数を用いて逆直交変換を行う第１の逆変換部と、
前記第１の逆変換部が出力する係数のなかで最低周波数側から所定数の係数、及び前記第１の復元部が復元した前記第１の変換部の係数を用いて逆直交変換を行い、前記第２の画素データ群を復元する第２の逆変換部と、
を具備することを特徴とする画像復元装置。
【請求項７】
画素毎に画素データを有する画像データを圧縮する画像圧縮装置として用いることが可能なコンピュータに、
画像を分割するブロック内に存在する複数の画素分の第１の画素データ群を分割して複数の第２の画素データ群を生成するデータ生成機能と、
前記データ生成機能により生成した前記第２の画素データ群毎に直交変換を行い、周波数成分を示す複数の係数を出力する第１の変換機能と、
前記第１の変換機能により複数の前記第２の画素データ群に対して前記直交変換をそれぞれ行って得られる複数の係数のうち、最低周波数側から所定数の係数を用いて直交変換を行う第２の変換機能と、
前記第２の変換機能により出力する係数、及び前記第１の変換機能により出力する係数のなかで該第２の変換機能が前記直交変換に用いない係数から圧縮データを生成する符号化機能と、
を実現させるためのプログラム。
【請求項８】
請求項１記載の画像圧縮装置により符号化された画像データを復元する画像復元装置として用いることが可能なコンピュータに、
前記圧縮データから、前記第２の変換機能により出力した係数、及び前記第１の変換機能により出力した係数のなかで該第２の変換機能が前記直交変換に用いない係数を復元する第１の復元機能と、
前記第１の復元機能により復元した前記第２の変換機能の係数を用いて逆直交変換を行う第１の逆変換機能と、
前記第１の逆変換機能により出力する係数のなかで最低周波数側から所定数の係数、及び前記第１の復元機能により復元した前記第１の変換機能の係数を用いて逆直交変換を行い、前記第２の画素データ群を復元する第２の逆変換機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間領域のデータを周波数領域のデータに変換する直交変換を用いて画像データを圧縮するための技術に関する。
【背景技術】
【０００２】
画像圧縮には既に様々な技術が存在する。その技術の一つとして、空間領域のデータを周波数領域（空間周波数領域）のデータに変換する直交変換を用いたものがある。その直交変換を用いた画像圧縮技術では、比較的に高い圧縮率を得ることができる。【０００３】
上記直交変換には、多くの計算を行う必要がある。このため、その直交変換を用いて画像圧縮を行う画像圧縮装置を実現させるハードウェアの規模は大きくなる。画像圧縮技術は今後、より広い範囲で採用されると予想されている。このこともあり、画像圧縮装置は、高い圧縮率は維持しつつ、より小さい規模のハードウェアで実現できるようにすることが重要と考えられる。これは、圧縮された画像を復元する画像復元装置も同様である。【０００４】
例えば自動車では、近年、複数の監視用カメラを設置してその映像を運転席で確認したり、ＤＶＤやカーナビゲーションの映像を後部座席で楽しむといったように、映像を多チャンネルで利用するニーズが高くなっている。チャンネルが多数になることに伴う配線の煩雑化を回避するため、自動車内にＬＡＮを敷設し、そのＬＡＮ（車載ＬＡＮ）を用いて多チャンネルのデータ伝送を行うことが考えられている。【０００５】
その車載ＬＡＮの性能要件は、（１）軽量（低コスト）、（２）自然画とＣＧ（Computer Graphics）画像の両方の高画質、（３）低遅延、である。（３）低遅延は、安全向けに車載カメラの映像を伝送するために必要となる。映像（画像）はデータ量が大きいことから、低遅延を実現するためには或る程度、高い圧縮率でデータ圧縮を行うことが求められる。それにより、画像圧縮技術は今後、車載ＬＡＮにも不可欠の技術となると考えられる。
【特許文献１】特開２００６−０５４８４６号公報
【非特許文献１】Z-X Hou, H Chen, X-L Li, “Fast Slant Transform with SequencyIncrement and Its Application in Image Compression”, Proc. of 3rd International Conference on Machine Learning and Cybernetics, Shanghai, pp.4085-4089, 26-29, Aug. 2004
【非特許文献２】W.K. Pratt, W-H. Chen, L.R. Welch, “Slant Transform ImageCoding”, IEEE Trans. on Communications, Vol. COM-22, No.8, pp. 1075-1093, Aug. 1974
【非特許文献３】貴家仁志、“サブバンド符号化とウェーブレット変換（ＤＣＴなどの圧縮技法と信号処理の融合”、インターフェース、pp.１４７−１６９、１９９２．０８
【発明の開示】
【０００６】
本発明は、高い圧縮率を維持しつつ、より小さい規模のハードウェアで実現できる画像圧縮装置を提供すると共に、圧縮された画像を復元する画像復元装置を提供することを目的とする。
【０００７】
本発明の画像圧縮装置は、画素毎に画素データを有する画像データを圧縮することを前提とし、画像を分割するブロック内に存在する複数の画素分の第１の画素データ群を分割して複数の第２の画素データ群を生成するデータ生成部と、データ生成部が生成した第２の画素データ群毎に直交変換を行い、周波数成分を示す複数の係数を出力する第１の変換部と、第１の変換部が複数の第２の画素データ群に対して直交変換をそれぞれ行って得られる複数の係数のうち、最低周波数側から所定数の係数を用いて直交変換を行う第２の変換部と、第２の変換部が出力する係数、及び第１の変換部が出力する係数のなかで該第２の変換部が直交変換に用いない係数から圧縮データを生成する符号化部と、を具備する。
【０００８】
本発明の画像圧縮方法は、画素毎に画素データを有する画像データを圧縮するための方法であって、画像を分割するブロック内に存在する複数の画素分の第１の画素データ群を分割して複数の第２の画素データ群を生成し、第２の画素データ群に対し、直交変換により得られた係数のうち、最低周波数側から所定数に制限した係数を用いた直交変換を複数階層化して行い、最上位階層での直交変換により得られた係数のなかで最低周波数側から予め定めた個数の係数、及び該最上位階層以外の階層で得られた該直交変換に用いていない係数を符号化して圧縮データを生成する。
【０００９】
本発明の画像復元装置は、上記画像圧縮装置により符号化された画像データを復元することを前提とし、圧縮データから、第２の変換部が出力した係数、及び第１の変換部が出力した係数のなかで該第２の変換部が直交変換に用いない係数を復元する第１の復元部と、第１の復元部が復元した第２の変換部の係数を用いて逆直交変換を行う第１の逆変換部と、第１の逆変換部が出力する係数のなかで最低周波数側から所定数の係数、及び第１の復元部が復元した第１の変換部の係数を用いて逆直交変換を行い、第２の画素データ群を復元する第２の逆変換部と、を具備する。
【００１０】
本発明では、画像を分割するブロック内に存在する複数の画素分の第１の画素データ群を分割して複数の第２の画素データ群を生成し、第２の画素データ群に対し、直交変換により得られた係数のうち、最低周波数側から所定数に制限した係数を用いた直交変換を複数階層化して行い、最上位階層（最後の階層）での直交変換により得られた係数のなかで最低周波数側から予め定めた個数の係数、及びその最上位階層以外の階層で得られた他の階層での直交変換に用いていない係数を符号化して圧縮データを生成する。
【００１１】
直交変換により得られた係数を最低周波数側から所定数に制限して、それよりも後段の階層での直交変換に用いることにより、直交変換全体で必要な計算量をより少なくすることができる。それにより、より大きなブロックの直交変換をより少ない計算量で実現できることになる。この結果、回路規模はより抑えることができ、リアルタイム性もより容易に実現できることとなる。
【００１２】
符号化は、最上位階層での直交変換により得られた係数のなかで最低周波数側から予め定めた個数の係数、及び他の階層で得られた直交変換に用いていない係数を対象に行う。それにより、低周波成分はブロック全体、高周波成分は階層化によりそのブロックより小さいブロックのものを符号化する。そのようにして周波数によって異なる長さの基底関数を用いるため、高い圧縮率、高い画質を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態による画像圧縮装置の構成を示すブロック図である。
【図２】本実施形態で階層化して行われる直交変換を示す図である。
【図３】１６点のスラント変換の基底関数を示す図である。
【図４Ａ】４点のスラント変換で行われる演算を示す図である。
【図４Ｂ】４点のスラント変換を用いた８点のスラント変換で行われる演算を示す図である。
【図４Ｃ】８点のスラント変換を用いた１６点のスラント変換で行われる演算を示す図である。
【図５】４点のスラント変換を用いた８点のスラント変換で実際に行われる演算を示す図である。
【図６】８点のスラント変換を用いた１６点のスラント変換で実際に行われる演算を示す図である。
【図７】本実施形態による画像復元装置の構成を示すブロック図である。
【図８】本実施形態で階層化して行われる逆直交変換を示す図である。
【図９】画像圧縮装置、或いは画像復元装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
【図１０Ａ】空間領域での各画素の表記を示す図である。
【図１０Ｂ】横方向に４画素ブロックの直交変換を行って得られる係数を示す図である。
【図１０Ｃ】横方向の４画素ブロックの直交変換に続けて縦方向の４画素ブロックの直交変換を行って得られる係数を示す図である。
【図１０Ｄ】縦方向の４画素ブロックの直交変換の次に係数の並び替えを行った状態を示す図である。
【図１０Ｅ】並び替えの後に横方向と縦方向のそれぞれで８画素ブロックの直交変換を行って得られる係数を示す図である。
【図１１】横方向に４画素ブロック、８画素ブロックの直交変換を行って得られる係数を示す図である。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本発明の実施形態による画像圧縮装置の構成を示すブロック図である。
その画像圧縮装置は、例えば自動車の車載ＬＡＮを想定したものであり、図１に示すように、１ラインメモリ１０１、１６個のレジスタを備えたレジスタ群１０２、２個のレジスタを備えた１０個のレジスタ群１６１〜１７０、４個のレジスタ１７１〜１７４、２個の係数メモリ１０３及び１０４、４個のマルチプレクサ（ＭＰＸ）１１１〜１１４、３個の直交変換器１２１〜１２３，２個の係数差分器１３１及び１３２、２個の係数加算器１３５及び１３６、３個の量子化器１４１〜１４３、２個の逆量子化器１５１及び１５２、可変長符号器１８１、及び順序制御回路１８２を備えた構成となっている。【００１５】
以上の構成において動作を説明する。
１ラインメモリ１０１は、１ライン分の画像データを保持することが可能なメモリである。レジスタ群１０２には、そのメモリ１０１に格納された画像データのなかから１ブロック分の画素データ（ここではライン上連続する１６画素分の画素データ）が読み出されて格納される。それにより、画像データの圧縮はブロック単位で行うようになっている。レジスタ群１０２への画素データの読み出しを含む全体的な制御は、順序制御回路１８２によって行われる。【００１６】
順序制御回路１８２は、レジスタ群１０２に１６画素分の画素データを格納させると、その画素データのなかからマルチプレクサ１１１により４画素分、選択させて４点の直交変換器１２１に出力される。それにより直交変換器１２１は、４画素分の画素データの直交変換を行う。順序制御回路１８２は、その直交変換により得られた最低周波数側から２個の係数をレジスタ群１６１に格納させる。残り２個の係数は例えばレジスタ群１６７に格納させる。【００１７】
その格納が終了すると、順序制御回路１８２はマルチプレクサ１１１により次の４画素分の画素データを選択させて直交変換器１２１に出力させる。それにより直交変換器１２１が直交変換を行って得られる係数は、最低周波数側から２個の係数はレジスタ群１６２に格納させ、残り２個の係数はレジスタ群１６８に格納させる。【００１８】
上記のようにして計８画素分の画素データを２回に分けて直交変換を行わせると、順序制御回路１８２は次に、レジスタ群１６１及び１６２にそれぞれ格納された２個の係数を用いた８点の直交変換を直交変換器１２２に行わせる。その直交変換により得られた最低周波数側から２個の係数は例えばレジスタ群１６３に格納させ、その次に周波数の低い２個の係数（最低周波数側から３番目、及び４番目の係数）は例えばレジスタ群１６５に格納させる。【００１９】
このようにして８点の直交変換を行わせた後は、順序制御回路１８２はマルチプレクサ１１１により４画素分の画素データを選択させて、同様に２回の直交変換を直交変換部１２１に行わせる。その２回の直交変換を行わせることにより、レジスタ群１６１及び１６２にはそれぞれ最低周波数側から２個の係数が格納され、レジスタ群１６９及び１７０にはそれぞれ残り２個の係数が格納される。【００２０】
１６画素分の画素データをレジスタ群１０２に格納させた後の直交変換部１２２による２回目の直交変換は、その状態で行われる。直交変換器１２２に直交変換を行わせる。その直交変換により得られた最低周波数側から２個の係数は例えばレジスタ群１６４に格納させ、その次に周波数の低い２個の係数は例えばレジスタ群１６６に格納させる。【００２１】
直交変換器１２３は１６点の直交変換を行うものである。順序制御回路１８２は、２回目の８点の直交変換を行わせた後、レジスタ群１６３及び１６４にそれぞれ格納された２個の係数を用いたその１６点の直交変換を直交変換器１２３に行わせる。その直交変換により得られた最低周波数側から４個の係数はそれぞれレジスタ１７１〜１７４に格納させる。図１に表記のＤＣは直流成分の係数を表し、ＡＣ１〜ＡＣ３は交流（ＡＣ）成分の係数を表している。「ＡＣ」に付した「１」〜「３」の数字はＡＣ成分の周波数の高さを表している。【００２２】
このようにして本実施形態では、１ブロック分の画素データを４つに分け、４点、８点、及び１６点の直交変換をそれぞれ第１〜第３階層として行うようにしている。それにより、図２に示すように、２回の４点の直交変換に対し１回の８点の直交変換を行い、２回の８点の直交変換に対し１回の１６点の直交変換を行うようにしている。そのために直交変換としてはスラント変換を採用している。これは、図４Ａ〜図４Ｃに示すように、小さいブロックサイズの係数から大きいブロックサイズの係数を求めることができる性質をスラント変換が持っているためである（非特許文献１）。その性質を持つ直交変換であれば、別のものを採用しても良い。そのスラント変換には、点数が異なっても同様な回路構成で計算を行えるため、ＬＳＩに実装しやすいという利点もある。【００２３】
図２において、「Ｘ（０）」〜「Ｘ（３１）」は画素データを表し、係数はＹｉ（ｊ）ｋ（ｉは階層の番号、ｊは変換係数の番号、ｋはブロックの番号）で表している。それにより例えば「Ｙ２（０）１」は、第２階層でブロック番号が１のブロック（１回目の直交変換を行うブロック）の直交変換を行うことで得られるＤＣ成分であることを表している。また、「１／４」「１／８」及び「１／１６」は乗数を表している。図４Ａ〜図４Ｃにおいて、「Ｘ（０）」〜「Ｘ（３１）」は図２と同様に画素データを表し、「Ｙ（０）」〜「Ｙ（１５）」は係数を表している。「−１」「１／４」「１／８」「ａ」「ｂ」「ａ８」「ｂ８」「ａ１６」及び「ｂ１６」等は同様に乗数を表している。１の乗数は省略している。「ａ」「ｂ」「ａ８」「ｂ８」「ａ１６」及び「ｂ１６」の具体的な値は、ａ＝３／５１／２、ｂ＝１／５１／２、ａ８＝４／２１１／２、ｂ８＝（５／２１）１／２、ａ１６＝８／８５１／２、ｂ１６＝（２１／８５）１／２である。１６点のスラント変換の基底関数を図３に示す。【００２４】
本実施形態では、８点のスラント変換を行って得られる係数のなかで４個の係数のみを用いている。このため、第２階層の直交変換器１２２は、２回の４点の直交変換により得られる計４個の係数を用いて図５に示す演算を行い、４個の係数のみを算出するようになっている。第３階層の直交変換器１２３も同様に、２回の４点の直交変換により得られる計４個の係数を用いて図６に示す演算を行い、４個の係数のみを算出するようになっている。図５、及び図６では、正変換の計算の節点（ノード）を白丸で示すと共に、逆変換の計算の節点を黒丸で示している。【００２５】
１６点のスラント変換を普通に行う場合、加算は４８回、乗算は２０回、それぞれ行う必要がある。しかし、図５及び図６に示すように必要な係数を得るための計算のみを行う場合、加算は２８回、乗算は１７回、それぞれ行えば済むようになる。このため、計算量が大幅に削減される。その削減により、回路規模はより抑えることができ、画像圧縮はより高速に行えるようになる。【００２６】
本実施形態では、４点の直交変換により得られる４個の係数のなかで低次の２個の係数は８点の直交変換に用い、残りの２個の係数（高周波成分）は符号化する。８点の直交変換では、最低周波数側から４個の係数を算出し、そのなかで低次の２個の係数は１６点の直交変換に用い、残りの２個の係数（高周波成分）は符号化する。１６点の直交変換では、最低周波数側から４個の係数を算出し、その４個の係数を符号化する。このようにして、低周波成分の係数は最上位階層で得られたものを符号化し、最上位階層以外で得られた高周波成分の係数は各低階層で符号化するようにしている。これは、以下のような理由からである。【００２７】
低周波成分は、滑らかな階調変化を表す成分であり、広い画像領域に影響を及ぼす。最上位階層（ここでは第３階層）では最も多く画素間の相関を取り込むことができる。圧縮率を上げるためには、ブロックサイズは大きいほうが望ましい。このようなことから、低周波成分は最上位階層で得られたもののみを符号化する。【００２８】
一方、高周波成分は、大きい階調変化（エッジ部分）を表す成分であり、狭い画像領域にしか影響を及ぼさない。低階層となるほど、低い周波数分解能、高い空間分解能を持つことになる。このため、高周波成分を低階層で符号化することにより、細かい空間変化を再現することができ、常に高い画質を得ることができる。【００２９】
長い基底関数の使用は、モスキート雑音を視覚的により目障りなものにすることが知られている。そのモスキート雑音を抑えるためには、高周波成分は短い基底関数を使用し、圧縮率に直接関係する低周波成分は長い基底関数を使用することが望まれる。【００３０】
複数階層化してのスラント変換（階層スラント変換）では、高周波成分は４点のスラント変換で得られたものを符号化し、低周波成分は１６点のスラント変換段階で得られたものを符号化するといったように、基底関数の長さを周波数によって変えることができる。つまりオクターブ帯域分割が可能である。このため、モスキート雑音を効果的に軽減させることができる。また、量子化ノイズの広がりも効果的に軽減させることができる。このようなことから階層スラント変換を用いると、大きなブロックサイズでの符号化をより少ない計算量で行える以外に、常に高い画質を実現できるという効果が得られる。【００３１】
図１の説明に戻る。
係数メモリ１０３は、直前ラインの符号化により得られた各係数（復元された係数）を１ライン分、格納させるメモリである。順序制御回路１８２は、レジスタ１７１〜１７４に各係数を格納させると、マルチプレクサ１１２によりその一つを選択させ、選択させたレジスタに格納されている係数を係数差分器１３１に出力させる。それにより係数差分器１３１に、マルチプレクサ１１２を介して入力した係数と、係数メモリ１０３に格納されている、１ライン前の同じ位置のブロックを符号化して得られた係数との差分値（係数差分値）を算出させる。算出された係数差分値は、量子化器１４１に出力されて量子化される。その係数差分値は、レジスタ１７１〜１７４に格納されている係数を「現係数」、係数メモリ１０３に格納されている係数を「前係数」と表記すると、前係数から現係数を減算して得られる値である。【００３２】
量子化された係数差分値（以降「インデックス値」）は逆量子化器１５１、及び可変長符号器１８１に出力される。可変長符号器１８１に出力されたインデックス値は可変長符号化され、その符号化後のデータが圧縮データとして可変長符号器１８１から出力される。逆量子化器１５１に出力されたインデックス値は、逆量子化され、その逆量子化によって得られた係数差分値が係数加算器１３５に出力される。その係数加算器１３５は、その係数差分値を前係数に加算することにより現係数を復元し、係数メモリ１０３に出力する。順序制御回路１８２は、その復元された現係数を格納させることにより、直前ラインで得られた係数を係数メモリ１０３に保持させる。【００３３】
このようにして本実施形態では、第３階層のスラント変換により得られた係数は直前ラインの同じ位置のブロックで得られた係数との差分値を量子化して符号化している。それにより、圧縮データのデータ量がより小さくなるようにしている。【００３４】
上記のようにして１レジスタに格納された係数の処理が終了すると、順序制御回路１８２はマルチプレクサ１１２により別のレジスタを選択させて、同様の処理を行わせる。それにより、レジスタ１７１〜１７４にそれぞれ格納された係数の差分値を算出させ、その差分値を量子化して符号化する。【００３５】
第２階層での２回のスラント変換により得られた、最低周波数側から３番目、及び４番目の係数はレジスタ群１６５及び１６６にそれぞれ格納されている。それらの係数も同様にして、差分値の算出、その差分値の量子化しての符号化が行われる。そのためにマルチプレクサ１１３、係数メモリ１０４、係数差分器１３２、係数加算器１３６、量子化器１４２、及び逆量子化器１５２は備えられている。しかし、それらの機能や接続関係等は、マルチプレクサ１１２、係数メモリ１０３、係数差分器１３１、係数加算器１３５、量子化器１４１、及び逆量子化器１５１と基本的に同じであるため、詳細な説明は省略する。【００３６】
第１階層での４回のスラント変換により得られた、最低周波数側から３番目、及び４番目の係数はレジスタ群１６７〜１７０にそれぞれ格納されている。順序制御回路１８２は、それらのレジスタ群１６７〜１７０に格納された係数を個別にマルチプレクサ１１４により選択させて量子化器１４３に出力させ、量子化させる。その量子化によって得られたインデックス値が可変長符号器１８１に出力され、可変長符号化される。それにより本実施形態では、第２及び第３階層で得られた係数は、差分値を算出し、その差分値を量子化して可変長符号化し、第１階層で得られた係数はそれを量子化して可変長符号化するようになっている。【００３７】
図１は、第２，第３階層は前ラインの係数との差分値を量子化・符号化し、第１階層は係数をそのまま量子化符号化する構成である。高い階層ほど前ライン係数との差分を取ったときの効果が大きくなるので，図１に示す実施形態では、効果と回路規模を天秤にかけて、最下位の第１階層では差分を取らない構成を採用しているが、本発明はこれに限るものではなく、例えば、第１階層も前ラインの係数との差分値を量子化・符号化をしても良い。前ライン係数との差分を取ることは圧縮率の向上に有効である。全階層で前ライン係数との差分を取るべきか否かは、圧縮率と回路規模によって、本実施形態の適用場面に応じて適宜決定すればよい。【００３８】
図９は、上記画像圧縮装置を実現できるコンピュータのハードウェア構成の一例を示す図である。そのコンピュータは、図９に示すように、ＣＰＵ９１、メモリ９２、入力装置９３、出力装置９４、外部記憶装置９５、媒体駆動装置９６、及びネットワーク接続装置９７を有し、これらがバス９８によって互いに接続された構成となっている。この構成は一例であり、これに限定されるものではない。【００３９】
上記メモリ９２は、プログラム実行、データ更新等の際に、外部記憶装置９５（あるいは可搬型の記録媒体Ｍ）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。入力装置９３は、例えば、キーボード、マウス等の入力装置と接続されたインターフェース、或いはそれらを全て有するものである。出力装置９４は、例えば表示装置と接続された表示制御装置、或いはそれらを有するものである。外部記憶装置９５は、例えばハードディスク装置である。記憶媒体駆動装置９６は、光ディスクや光磁気ディスク等の可搬型の記録媒体Ｍにアクセスするものである。【００４０】
本実施形態による画像圧縮装置は、それに必要な機能を搭載したプログラム（以降「圧縮ソフト」と呼ぶ）をＣＰＵ９１に実行させることで実現される。その圧縮ソフトが外部記憶装置９５に記憶されている場合、図１に示す各部は、その外部記憶装置９５、ＣＰＵ９１、メモリ９２、及びバス９８によって実現される。このことから、画像圧縮装置はコンピュータに圧縮ソフトを実行させることで実現させても良い。その圧縮ソフトは、記録媒体Ｍに記録して配布しても良く、或いはネットワーク接続装置９７により取得できるようにしても良い。これは圧縮データを復元する画像復元装置でも同様である。【００４１】
次に、上記画像圧縮装置により出力される圧縮データを復元する画像復元装置について詳細に説明する。
図７は、本実施形態による画像復元装置の構成を示すブロック図である。その画像復元装置は、図７に示すように、可変長復号器７０１、１ラインメモリ７０２、順序制御回路７０３、３個の逆量子化器７１１〜７１３、２個の係数メモリ７２１及び７２２、２個の係数加算器７３１及び７３２、３個の逆直交（スラント）変換器７４１〜７４３、４個のマルチプレクサ７５１〜７５４、１個のデマルチプレクサ（ＤＭＰＸ）７５５、４個のレジスタ７６１〜７６４、１６個のレジスタを備えたレジスタ群７５６、及び２個のレジスタを備えた６個のレジスタ群７７１〜７７６、を備えた構成である。【００４２】
以上の構成において動作を説明する。
可変長復号器７０１は、図１に示す画像圧縮装置により出力される圧縮データを復号する。その画像圧縮装置では、第２及び第３階層で得られた係数は、差分値を算出し、その差分値を量子化して可変長符号化し、第１階層で得られた係数はそれを量子化して可変長符号化するようになっている。このことから可変長復号器７０１は、階層毎に復号を行い、その階層に応じて逆量子化７１１〜７１３の何れかに復号結果を出力する。【００４３】
第１階層の復号結果、つまり図１のレジスタ群１６７〜１７０に格納された係数のインデックス値は逆量子化器７１３に出力される。その逆量子化器７１３は、インデックス値毎に逆量子化を行い、それによって得られる係数をレジスタ群７７３〜７７６に格納する。順序制御回路７０３は、マルチプレクサ７５４によりそのなかの一つを選択させることにより、２個の係数を逆直交変換器７４３に出力させる。【００４４】
第２階層の復号結果、つまり図１のレジスタ群１６５及び１６６に格納されていた係数から算出された係数差分値のインデックス値は逆量子化器７１２に出力される。その逆量子化器７１２は、インデックス値毎に逆量子化を順次、行い、係数加算器７３２に出力する。係数メモリ７２２には、直前の１ライン分の復元された係数が格納されている。係数加算器７３２は、そのメモリ７２２に格納された、１ライン前の同じ位置のブロックで復元された係数に、逆量子化器７１２から入力した係数差分値を加算することで係数の復元を行う。そのようにして復元された係数はレジスタ群７７１及び７７２のうちの何れかに格納されると共に、係数メモリ７２２に格納される。それにより係数メモリ７２２には、直前の１ライン分の係数が保持される。【００４５】
レジスタ群７７１及び７７２にそれぞれ格納された２個の係数は、順序制御回路７０３が制御するマルチプレクサ７５３により選択されて逆直交変換器７４２に出力される。
第１階層の復号結果、つまり図１のレジスタ１７１〜１７４に格納されていた係数から算出された係数差分値のインデックス値は逆量子化器７１１に出力される。その逆量子化器７１１は、インデックス値毎に逆量子化を順次、行い、係数加算器７３１に出力する。係数メモリ７２１には、直前の１ライン分の復元された係数が格納されている。係数加算器７３１は、そのメモリ７２１に格納された、１ライン前の同じ位置のブロックで復元された係数に、逆量子化器７１１から入力した係数差分値を加算することで係数の復元を行う。そのようにして復元された係数はレジスタ７６１〜７６４のうちの何れかに格納されると共に、係数メモリ７２１に格納される。それにより係数メモリ７２１には、直前の１ライン分の係数が保持される。【００４６】
逆直交変換器７４１は、レジスタ７６１〜７６４にそれぞれ格納された４個の係数を用いて第３階層での１６点の逆直交変換（図６）を行い、計４個の係数をマルチプレクサ７５１に出力する。そのマルチプレクサ７５１は、順序制御回路７０３の制御により、低次の２個の係数を選択して逆直交変換器７４２に出力する。逆直交変換器７４２は、マルチプレクサ７５１及び７５３からそれぞれ入力する２個の係数を用いて第２階層での８点の逆直交変換（図５）を行い、計４個の係数をマルチプレクサ７５２に出力する。【００４７】
そのマルチプレクサ７５２は、順序制御回路７０３の制御により、低次の２個の係数を選択して逆直交変換器７４３に出力する。逆直交変換器７４３は、マルチプレクサ７５２及び７５４からそれぞれ入力する２個の係数を用いて第１階層での４点の逆直交変換を行い、４画素分の画素データをデマルチプレクサ７５５に出力する。
デマルチプレクサ７５５は、逆直交変換器７４３から入力した４画素分の画素データをレジスタ群７５６に格納する。順序制御回路７０３は、１回の８点の逆直交変換を行わせる度に、マルチプレクサ７５４に選択させるレジスタ群を変えて、２回の４点の逆直交変換を行わせる。それにより計４回の４点の逆直交変換を逆直交変換器７４３に順次、行わせる。その逆直交変換を行わせる度に逆直交変換器７４３から出力される４画素分の画素データをデマルチプレクサ７５５によりレジスタ群７５６中の異なる場所に格納させることにより、１６画素分の画素データをレジスタ群７５６に格納させる。そのようにして１ブロック、つまり１６画素分の画素データの復元が終了すると、その画素データをレジスタ群７５６から１ラインメモリ７０２に出力させて格納させる。【００４８】
その１ラインメモリ７０２は、１ライン分の画像データを記憶可能なものである。それにより復元した画像データは、１ライン分、１ラインメモリ７０２に一旦、格納してから後段に渡すようにしている。【００４９】
上述したようなことから画像復元装置は、ブロック単位、ライン単位に画像データの復元を行うようになっている。ブロック単位の復元は、圧縮側と同様にして図８に示すように、１回の１６点の逆直交変換に対し２回の８点の逆直交変換を行い、１回の８点の逆直交変換に対し２回の４点の逆直交変換を行う、３階層の逆直交変換により行っている。【００５０】
なお、本実施形態では、１ライン上で連続する複数の画素からなる１次元のブロックを対象に画像圧縮を行っているが、２次元のブロックを対象にしても良い。ここで、１次元の４点、及び８点の直交変換により８×８画素の２次元ブロックの直交変換を行う場合を例にとり、その場合の直交変換の階層化について、図１０Ａ〜図１０Ｅ及び図１１を参照して具体的に説明する。【００５１】
図１０Ａは、空間領域での各画素の表記を示す図である。図１０Ａのように画素が表記された画像に対し、先ず、横（走査）方向に４画素をブロックとした直交変換を行う。図１０Ｂは、その直交変換を行って得られる係数を示す図である。図１０Ｂにおいて、Ｙｎ（ｉ）ｊｋの表記は、ｎは階層番号、ｉは係数番号、ｊはブロック番号、ｋはライン番号をそれぞれ表している。【００５２】
横方向の４画素をブロックとした直交変換を行った後は、縦（副走査）方向に４画素（係数）をブロックとした直交変換を行う。図１０Ｃは、その直交変換を行って得られる係数を示す図である。図１０Ｃにおいて、Ｙｎ（ｉ，ｊ）ｋの表記は、ｎは階層番号、ｉ及びｊは行列表現の係数番号、ｋはブロック番号をそれぞれ表している。階層番号としては、１は第１階層の４×４画素ブロック、２は第２階層の８×８画素ブロックを示している。【００５３】
縦方向の４画素をブロックとした直交変換を行った後は、４×４画素ブロック毎に、最低周波数側から４個の係数（低周波成分）を集めることにより、低周波成分と高周波成分とを並べ替える。その並び替えにより、図１０Ｃに示す係数の配置は図１０Ｄに示すように変更され、４個の４×４画素ブロックの低周波成分は、２×２の画素ブロックの形で４×４画素ブロック内に集められる。その後、４画素ブロックのときと同様に、横方向と縦方向にそれぞれ８画素ブロックの直交変換を順次、行うことにより、８×８画素ブロックの直交変換が実現される。図１０Ｅは、その直交変換を行った後の状態を示している。【００５４】
上記２次元ブロックの直交変換は、縦方向と横方向の画素ブロックの直交変換を交互に行うようにしているが、横方向に４画素ブロック、８画素ブロックの直交変換を連続して行い、その後に縦方向の直交変換を行うようにしても良い。このことから明らかなように、直交変換を行う順序は変更が可能である。図１１は、横方向に４画素ブロック、８画素ブロックの直交変換を行って得られる係数を示す図である。Ｙｎ（ｉ）ｊｋの表記は、ｎは階層番号、ｉは係数番号、ｊはブロック番号、ｋはライン番号をそれぞれ表している。【００５５】
本実施形態では、３階層の直交変換を行うようにしている。上記２次元ブロックの直交変換例は２階層の直交変換を行うものであるが、その階層数は３階層以上としても良い。それにより例えば１６×１６画素ブロックの直交変換を行うようにしても良い。
【図１】
2008120279.tif 000003
【図２】
2008120279.tif 000004
【図３】
2008120279.tif 000005
【図４Ａ】
2008120279.tif 000006
【図４Ｂ】
2008120279.tif 000007
【図４Ｃ】
2008120279.tif 000008
【図５】
2008120279.tif 000009
【図６】
2008120279.tif 000010
【図７】
2008120279.tif 000011
【図８】
2008120279.tif 000012
【図９】
2008120279.tif 000013
【図１０Ａ】
2008120279.tif 000014
【図１０Ｂ】
2008120279.tif 000015
【図１０Ｃ】
2008120279.tif 000016
【図１０Ｄ】
2008120279.tif 000017
【図１０Ｅ】
2008120279.tif 000018
【図１１】
2008120279.tif 000019
【手続補正書】
【提出日】平成21年6月3日(2009.6.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画素毎に画素データを有する画像データを圧縮する画像圧縮装置において、
画像を分割するブロック内に存在する複数の画素分の第１の画素データ群を分割して複数の第２の画素データ群を生成するデータ生成部と、
前記データ生成部が生成した前記第２の画素データ群毎に直交変換を行い、周波数成分を示す複数の係数を出力する第１の変換部と、
前記第１の変換部が複数の前記第２の画素データ群に対して前記直交変換をそれぞれ行って得られる複数の係数のうち、最低周波数側から所定数の係数を用いて直交変換を行う第２の変換部と、
前記第２の変換部が出力する係数、及び前記第１の変換部が出力する係数のなかで該第２の変換部が前記直交変換に用いない係数から圧縮データを生成する符号化部と、
を具備することを特徴とする画像圧縮装置。
【請求項２】
前記第２の変換部は、前記直交変換の点数を異ならせると共に、該直交変換に用いる係数を最低周波数側から所定数に制限した該直交変換を２階層以上に分けて行う、
ことを特徴とする請求項１記載の画像圧縮装置。
【請求項３】
画素毎に画素データを有する画像データを圧縮するための画像圧縮方法において、
画像を分割するブロック内に存在する複数の画素分の第１の画素データ群を分割して複数の第２の画素データ群を生成し、
前記第２の画素データ群に対し、直交変換により得られた係数のうち、最低周波数側から所定数に制限した係数を用いた直交変換を複数階層化して行い、
最上位階層での直交変換により得られた係数のなかで最低周波数側から予め定めた個数の係数、及び該最上位階層以外の階層で得られた該直交変換に用いていない係数を符号化して圧縮データを生成する、
ことを特徴とする画像圧縮方法。
【請求項４】
請求項１記載の画像圧縮装置により符号化された画像データを復元する装置であって、
前記圧縮データから、前記第２の変換部が出力した係数、及び前記第１の変換部が出力した係数のなかで該第２の変換部が前記直交変換に用いない係数を復元する第１の復元部と、
前記第１の復元部が復元した前記第２の変換部の係数を用いて逆直交変換を行う第１の逆変換部と、
前記第１の逆変換部が出力する係数のなかで最低周波数側から所定数の係数、及び前記第１の復元部が復元した前記第１の変換部の係数を用いて逆直交変換を行い、前記第２の画素データ群を復元する第２の逆変換部と、
を具備することを特徴とする画像復元装置。
【請求項５】
画素毎に画素データを有する画像データを圧縮する画像圧縮装置として用いることが可能なコンピュータに、
画像を分割するブロック内に存在する複数の画素分の第１の画素データ群を分割して複数の第２の画素データ群を生成するデータ生成機能と、
前記データ生成機能により生成した前記第２の画素データ群毎に直交変換を行い、周波数成分を示す複数の係数を出力する第１の変換機能と、
前記第１の変換機能により複数の前記第２の画素データ群に対して前記直交変換をそれぞれ行って得られる複数の係数のうち、最低周波数側から所定数の係数を用いて直交変換を行う第２の変換機能と、
前記第２の変換機能により出力する係数、及び前記第１の変換機能により出力する係数のなかで該第２の変換機能が前記直交変換に用いない係数から圧縮データを生成する符号化機能と、
を実現させるためのプログラム。
【国際調査報告】
2008120279.tif 000020
2008120279.tif 000021