(57)【特許請求の範囲】
【請求項１】
ｎ（正の整数）次元座標空間内の各画素点が有する画素データの集まりに対してｎ次元線形変換を行い、その結果得られるｎ次元座標空間内の各係数を所定順序に従って一列に並べ、その列における非零係数とその位置を示す順番号との組からなる組データを符号化することによって前記画素データを圧縮する圧縮装置に対応して用いられる画素データ伸長装置であって、
前記ｎ次元座標空間内の各係数を記憶する領域を有する記憶手段と、
前記組データが与えられると、その組データに含まれる順番号に基づいて、その組データに含まれる非零係数の前記ｎ次元座標空間における座標値を算出する座標値算出手段と、
任意の座標軸について、前記座標値算出手段により算出された非零係数の座標値の中から前記任意の座標軸の座標値の最小値、最大値を求め、他の座標軸については、前記任意の座標軸の異なる座標値ごとに非零係数の座標値の最小値、最大値を求めることにより、非零係数の座標領域を特定する非零係数領域特定手段と、
前記非零係数領域特定手段により特定された座標領域の係数を用いて積和演算で表現されるｎ次元逆変換を行うことにより元画素データ相当のデータを復元する逆変換手段と
を備えたことを特徴とする画像データ伸長装置。
【請求項２】
前記ｎ次元逆変換は、ｎ個の独立した１次元逆変換に分解可能であり、
前記逆変換手段は、
前記任意の座標軸について、前記非零係数領域特定手段により特定された座標領域に属する係数のみを用いて１次元逆変換を行う第１逆変換部と、
他の座標軸について、前記非零係数が存在する座標区間を特定し、前記座標区間の係数を用いて１次元逆変換を行う第２逆変換部とからなることを特徴とする請求項１記載の画像データ伸長装置。
【請求項３】
前記変換は直交変換であり、
前記逆変換は前記直交変換に対応する直交逆変換であることを特徴とする請求項２記載の画像データ伸長装置。
【請求項４】
前記変換はＤＣＴであり、
前記逆変換は逆ＤＣＴであることを特徴とする請求項３記載の画像データ伸長装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、離散余弦変換に代表される線形変換を経て圧縮された画像データを伸長する装置に関し、特に、積和演算を高速化するための改良技術に関する。
【０００２】
【従来の技術】
近年、膨大な情報量を有する画像を効率よく通信したり蓄積したりするための、画像データの圧縮／伸長技術として、各種の高効率符号化方式が提案されている。
その方式の一例として、ＧＩＶ規格のカラーファクシミリ等のためのカラー静止画符号方式ＪＰＥＧ（ＩＳＯのＪｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔ  ＧｒｏｕｐとＣＣＩＴＴ  ＳＧＶＩＩの定めたカラー静止画像の国際標準符号化方式）を挙げられる。この方式の詳細は、例えば、ＣＱ出版社刊「インターフェース」１９９１年１２月号の１６０頁から１８２頁、その他、日経ＢＰ社刊「日経エレクトロニクス」１９９０年１０月１５日号（Ｎｏ．５１１）の１１５頁から１４２頁等に記載されている。
【０００３】
以下、このＪＰＥＧ方式による従来の画像データ圧縮／伸長装置を図面を用いて説明する。
図２０は、従来の画像データ圧縮／伸長装置の構成を示すブロック図である。従来の画像データ圧縮／伸長装置は、大きく分けて、圧縮部２０１０、伸長部２０２０及びテーブル記憶部２０３０から構成される。
【０００４】
圧縮部２０１０は、原画像データ２００１の圧縮を行い、その結果得られた符号化データを伝送路や蓄積部２００３に送出する機能を果たすものであり、その圧縮のための各変換処理に応じた個別の構成部、即ち、ＤＣＴ部２０１１、量子化部２０１２、スキャン部２０１３及びエントロピー符号化部２０１４からなる。なお、ＤＣＴとは、”Discrete Cosine Transform（離散余弦変換）”の略である。
【０００５】
同様に、伸長部２０２０は、伝送路／蓄積部２００３から受けた符号化データの伸長を行うことにより、元の画像データ２００１相当の再生画像データ２００２を復元する機能を果たすものであり、その伸長のための各逆変換処理に応じた個別の構成部、即ち、エントロピー復号化部２０２４、座標値算出部２０２３、逆量子化部２０２２及び逆ＤＣＴ部２０２１からなる。なお、これら４個の構成部２０１１〜２０１４が行う逆変換処理は、伸長部２０２０を構成する４個の各構成部２０２１〜２０２４が行う変換処理と逆の関係にある。また、逆ＤＣＴとは、離散余弦逆変換の略である。
【０００６】
テーブル記憶部２０３０は、画像データの圧縮条件となる３種のデータテーブル、即ち、量子化テーブル２０３１、スキャンテーブル２０３２及び符号化テーブル２０３３からなり、これらは、圧縮部２０１０での変換処理及び伸長部２０２０での逆変換処理において参照される。
以上のように構成された従来の画像データ圧縮／伸長装置の動作を、図２１に示される画像データの圧縮／伸長例を用いて説明する。
【０００７】
いま、４×４の画素ブロックである原画像データＰ(x,y)２１０１が与えられたとする。ここで、Ｐ(x,y)は、例えば、各画素の輝度を４ビットで表現した値である。なお、ＪＰＥＧ方式によれば、１枚の静止画像を８×８の画素を１個のブロックとする複数の画素ブロックに分割し、各画素ブロックごとに圧縮／伸長を行うこととしているが、ここでは、説明の便宜のため、上記サイズの画素ブロックとして説明する。
【０００８】
与えられた原画像データＰ(x,y)２１０１は、図示されていない作業用メモリに格納され、圧縮部２０１０において、以下に示される手順により、その圧縮が行われる。
（１）先ず、原画像データＰ(x,y)２１０１は、ＤＣＴ部２０１１によって、ＤＣＴ係数Ｓ(u,v)２１０２に変換される。具体的には、圧縮部２０１０は、数１に示されるＤＣＴを行う。
【０００９】
【数１】
0003837197.tif 000002
なお、ＤＣＴは線形変換の一つであり、この出力は空間周波数に対応する。つまり、ＤＣＴ係数Ｓ(u,v)２１０２の左上、即ち、Ｓ(0,0)が最も低い周波数（ＤＣ）成分の係数に相当し、座標値ｕ，ｖの増加に伴って高い周波数成分の係数に相当する。
（２）次に、ＤＣＴ係数Ｓ(u,v)２１０２は、量子化部２０１２によって、量子化ＤＣＴ係数Ｒ(u,v)２１０３に変換される。具体的には、量子化部２０１２は、量子化テーブルＱ(u,v)２１１１を用いて、数２に示される数値の丸め演算を行う。
【００１０】
【数２】
0003837197.tif 000003
（３）続いて、量子化ＤＣＴ係数Ｒ(u,v)２１０３は、スキャン部２０１３によって、組データＱn(z,w)２１０４に変換される。具体的には、スキャン部２０１３は、スキャンテーブル２０３２に格納されたスキャン方式、即ち、図２１の量子化ＤＣＴ係数Ｒ(u,v)２１０３に示された矢印に従って順次に係数を読み出して（以下、このような読み出し方式を「ジグザグスキャン」という。）一列に並べ、その列においてゼロが連続する個数ｚ（以下、この個数を「ゼロラン長」という。）とゼロでない係数ｗ（以下、「非零係数」という。）とを一組とする組データＱn(z,w)２１０４の集まりにする。
【００１１】
例えば、量子化ＤＣＴ係数Ｒ(u,v)２１０３においては、ジグザグスキャンにより、先頭から”０”が４個連続した後”−２”が読み出されるので、組データＱ2（４，−２）が得られる。
なお、１ブロックを構成する組データＱn(z,w)２１０４の最後は、これ以上の組データＱn(z,w)２１０４が存在しないことを示す予め定められた組データ”ＥＮＤ”となる。
（４）最後に、組データＱn(z,w)２１０４は、エントロピー符号化部２０１４によって、対応する符号語Ｗn２１０５に変換され、さらに、例えば、ビット直列の符号化データＷ２１０６にされた後、伝送路／蓄積部２００３に送出される。具体的には、エントロピー符号化部２０１４は、符号化テーブル２０３３を用いて、エントロピー符号化の一つであるハフマン符号化を行う。
【００１２】
なお、圧縮部２０１０で用いられた量子化テーブル２０３１と符号化テーブル２０３３は、伸長部２０２０での復号時に使用されるべく、出力される符号化データＷ２１０６の先頭部にパラメータとして付加されて送出される。
以上のようにして伝送路／蓄積部２００３に送出された符号化データＷ２１０６は、伸長部２０２０によって読み出されると、以下に示される、圧縮部２０１０での処理と逆の手順により復号化が行われる。その際には、同時に送出されてきた量子化テーブル２０３１と符号化テーブル２０３３が使用される。
（１'）先ず、符号化データＷ２１０６は、エントロピー復号化部２０２４での復号化よって、組データＱ'n(z,w)２１０７に復元される。
（２'）次に、組データＱ'n(z,w)２１０７は、座標値算出部２０２３によって、量子化ＤＣＴ係数Ｒ'(u,v)２１０８に復元される。具体的には、座標値算出部２０２３は、各組データＱ'n(z,w)２１０７のゼロラン長ｚから量子化ＤＣＴ係数Ｒ'(u,v)２１０８の座標値ｕ，ｖを決定し、その非零係数ｗを量子化ＤＣＴ係数Ｒ'(u,v)とし、その他の座標値を有する量子化ＤＣＴ係数Ｒ'(u,v)をゼロとする。
（３'）続いて、量子化ＤＣＴ係数Ｒ'(u,v)２１０８は、数３に示される逆量子化部２０２２での逆量子化によって、ＤＣＴ係数Ｓ'(u,v)２１０９に逆量子化される。
【００１３】
【数３】
0003837197.tif 000004
（４'）最後に、ＤＣＴ係数Ｓ'(u,v)２１０９は、数４に示される逆ＤＣＴ部２０２１での離散余弦逆変換によって、再生画像データ２００２に復元される。
【００１４】
【数４】
0003837197.tif 000005
なお、逆ＤＣＴ部２０２１は、計算量を減らすために、数４に示される２次元逆ＤＣＴを一度に行う代わりに、先ず、数５に示されるｕ座標軸についての１次元逆ＤＣＴを行い、次に、数６に示されるｖ座標軸についての１次元逆ＤＣＴを行っている。
【００１５】
【数５】
0003837197.tif 000006
【００１６】
【数６】
0003837197.tif 000007
以上のようにして、ＪＰＥＧ方式により圧縮された画像データは、元の画像データ相当のデータに復元される。
【００１７】
【発明が解決しようとする課題】
しかしながら、上記従来の画像データ圧縮／伸長装置の伸長部２０２０では、与えられた符号化データＷ２１０６を伸長するのに、常に、膨大な回数の積和演算が必要とされる。
即ち、再生画像データ２１１０を復元するには、先ず、数５より、１６個のＧ(x,v)を求めるが、これには各４回、即ち、計６４回の積和演算が必要とされる。次に、数６より、１６個のＰ'(x,y)を求めるが、これには各４回、即ち、計６４回の積和演算が必要とされる。従って、１ブロックの再生画像データＰ'(x,y)２１１０を得るには、合計１２８回の積和演算が必要とされる。
【００１８】
ところで、ＪＰＥＧ方式では、上述したように、１ブロックは８×８の画素からなるので、１ブロック当たり１０２４（＝８×８×８＋８×８×８）回の積和演算が必要とされ、さらに、１枚の画像を構成する全てのブロックについて、それぞれ１０２４回の積和演算が必要とされる。
このように、従来の画像データ圧縮／伸長装置における伸長部２０２０によれば、１ブロックの再生画像データＰ'(x,y)２１１０を得るためには非常に多くの回数の積和演算を行うことが避けられず、処理時間の点において充分に満足できるものではないという問題点がある。
【００１９】
そこで、本発明はかかる問題点に鑑みてなされたものであり、ＪＰＥＧ方式に代表されるような線形変換を経て圧縮された画像データを高速に伸長する画像データ伸長装置を提供することを目的とする。
具体的には、本発明は、例えば、上記８×８の画素ブロックの画像データを再生するのに、１０２４以下の回数の積和演算により、従来と同様の再生画像データを復元する。
【００２０】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る画像データ伸長装置は、ｎ（正の整数）次元座標空間内の各画素点が有する画素データの集まりに対してｎ次元線形変換を行い、その結果得られるｎ次元座標空間内の各係数を所定順序に従って一列に並べ、その列における非零係数とその位置を示す順番号との組からなる組データを符号化することによって前記画素データを圧縮する圧縮装置に対応して用いられる画像データ伸長装置であって、
前記ｎ次元座標空間内の各係数を記憶する領域を有する記憶手段と、前記全ての係数を零として前記記憶手段に格納する初期化手段と、前記組データが与えられるとその組データに含まれる順番号に基づいてその組データに含まれる非零係数の前記ｎ次元座標空間における座標値を算出する座標値算出手段と、前記座標値算出手段により算出された座標値に対応する前記記憶手段の記憶箇所に前記非零係数を格納する格納手段と、前記記憶手段において非零係数が格納されている領域を特定する非零係数領域特定手段と、前記非零係数領域特定手段により特定された領域内の係数のみを用いて積和演算で表現されるｎ次元逆変換を行うことにより元画素データ相当のデータを復元する逆変換手段とを備えたことを特徴とする。
【００２１】
これにより、値がゼロである係数（以下、「零係数」という。）についての無駄な積和演算が回避されるので、圧縮された画像データを高速に伸長する装置が実現される。
【００２２】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて詳細に説明する。
（第１実施形態）
先ず、本発明の第１実施形態に係る画像データ伸長装置を説明する。
本装置は、非零係数Ｓ'(u,v)の座標値（ｕ，ｖ）の中から座標軸ごとの最小値ｕmin、ｖmin及び最大値ｕmax、ｖmaxを特定し、その座標範囲（ｕmin≦ｕ≦ｕmax、ｖmin≦ｖ≦ｖmax）に位置する非零係数Ｓ'(u,v)についてのみ逆ＤＣＴを行うことを特徴とする。
（構成）
図１は、本装置の構成を示すブロック図である。
【００２３】
本装置は、大きく分けて、伸長部１２０とテーブル記憶部２０３０から構成される。
伸長部１２０は、さらに、エントロピー復号化部２０２４、非零係数スキャン順番号計算部２０２３ａ、非零係数位置変換部２０２３ｂ、逆量子化部２０２２、非零係数範囲計算部１２２、演算順序制御部１２３、逆ＤＣＴ部２０２１及び係数記憶部１２１からなる。一方、テーブル記憶部２０３０は、さらに、量子化テーブル２０３１、スキャンテーブル２０３２及び符号化テーブル２０３３からなる。これらの構成部のうち、図２０に示された従来の装置が有する構成部と同一のものについては、同一の符号を付し、その詳細な説明は省略する。
【００２４】
係数記憶部１２１は、従来の装置における作業用メモリに相当するものであり、１個のブロックを構成する８×８個のＤＣＴ係数を一時的に格納する領域を有する。
非零係数スキャン順番号計算部２０２３ａ及び非零係数位置変換部２０２３ｂは、それぞれ従来の装置の座標値算出部２０２３における前半及び後半の処理を行うものである。
【００２５】
非零係数範囲計算部１２２は、８×８個のＤＣＴ係数Ｓ'(u,v)２１０９が格納されている係数記憶部１２１において非零係数が存在する領域を特定し、その領域についての情報を座標値ｕ，ｖを用いて演算順序制御部１２３に通知する。
図３は、非零係数範囲計算部１２２の詳細な構成と他の構成部１２３、２０２１、１２１との関連を示す図である。
【００２６】
非零係数範囲計算部１２２は、本図に示されるように、本実施形態に特有の比較部１２２ａを有し、非零係数位置変換部２０２３ｂからの通知に基づいて座標値の大小判断をする。
演算順序制御部１２３は、非零係数範囲計算部１２２から通知された領域に格納されているＤＣＴ係数Ｓ'(u,v)２１０９についてのみ、逆ＤＣＴ部２０２１が逆ＤＣＴを行うよう逆ＤＣＴ部２０２１を制御する。
【００２７】
逆ＤＣＴ部２０２１は、基本的には従来の装置のものと同一であるが、演算順序制御部１２３からの制御の下で逆ＤＣＴを行う点だけが異なる。
なお、量子化テーブル２０３１、符号化テーブル２０３３及び係数記憶部１２１はＲＡＭ等により、また、スキャンテーブル２０３２はＲＯＭ等により、さらに、他の構成部２０２４、２０２３ａ、２０２３ｂ、１２２、１２３、２０２１は加算器、乗算器、比較器等からなる専用の論理回路又は汎用のＣＰＵと制御プログラムとの組合せにより実現することができる。
（動作）
以上のように構成された本装置の動作について説明する。ここでは、伸長部１２０によって伝送路／蓄積部２００３から読み出された符号化データＷ２１０６が伸長部１２０において複数ステップの復号化処理によって最終的に再生画像データ２００２に復元されるので、その過程に従って順に説明する。なお、「従来の技術」での説明と同様に、原画像データＰ(x,y)及び再生画像データＰ'(x,y)のサイズは、説明の便宜上、４×４の画素ブロックとする。
【００２８】
先ず、エントロピー復号化部２０２４は、従来の装置と同様にして、符号化テーブル２０３３を参酌することにより、伸長部１２０が伝送路／蓄積部２００３から読み出した符号化データＷ２１０６を復号することにより、組データＱ'n(z,w)２１０７に復元する。
次に、非零係数スキャン順番号計算部２０２３ａは、エントロピー復号化部２０２４から送られてきた組データＱ'n(z,w)２１０７のゼロラン長ｚよりスキャン順番号を算出し、そのスキャン順番号を非零係数ｗと共に非零係数位置変換部２０２３ｂに出力する。ここで、スキャン順番号とは、圧縮時においてジグザグスキャンによりＤＣＴ係数が一列に並べられるが、その際における列の先頭からの順番をいう。
【００２９】
具体的には、非零係数スキャン順番号計算部２０２３ａは、最初に与えられた組データＱ'1(-,0)の”−”より非零係数”０”のスキャン順番号として”１”を、２番目に与えられた組データＱ'2(4,-2)の”４”より非零係数”−２”のスキャン順番号として”５（＝４＋１）”を、３番目に与えられた組データＱ'3(2,1)の”２”より非零係数”１”のスキャン順番号として”８（＝５＋２＋１）”を、・・・、算出し、それぞれの非零係数と共に出力する。
【００３０】
続いて、非零係数スキャン順番号計算部２０２３ａから出力されたスキャン順番号と非零係数ｗとの組を受けとった非零係数位置変換部２０２３ｂは、スキャンテーブル２０３２の内容を参酌することにより、そのスキャン順番号を非零係数位置（ｕ，ｖ）に変換し、その非零係数位置（ｕ，ｖ）を非零係数範囲計算部１２２に出力すると共に、受け取った非零係数ｗをその非零係数位置（ｕ，ｖ）に相当する係数記憶部１２１の番地に格納する。ここで、非零係数位置（ｕ，ｖ）とは、８×８ブロックにおける非零係数の位置を示す２次元座標値（ｕ，ｖ）をいい、係数記憶部１２１における記憶番地に対応するものである。
【００３１】
図２は、スキャンテーブル２０３２の内容を示す図であり、ここには、スキャン順番号と座標値（ｕ，ｖ）との対応が記されている。
具体的には、非零係数位置変換部２０２３ｂは、図２に示された対応を参酌することにより、例えば、スキャン順番号”１”と非零係数”０”との組が与えられると係数記憶部１２１の座標値（０、０）に相当する番地に”０”を、スキャン順番号”４”と非零係数”−２”との組が与えられると係数記憶部１２１の座標値（０、２）に相当する番地に”−２”を、・・・、格納する。なお、座標値算出部２０２３は、非零係数の格納に先立ち、係数記憶部１２１の全ての番地に”０”を書き込むことによって係数記憶部１２１を初期化している。
【００３２】
以上のようにして、１個の画素ブロックを構成する全ての組データＱ'n(z,w)２１０７についての非零係数スキャン順番号計算部２０２３ａ及び非零係数位置変換部２０２３ｂでの処理が完了し、その結果、図２に示された１６個の量子化ＤＣＴ係数Ｒ'(u,v)２１０８が生成される。
次に、逆量子化部２０２２は、従来の装置と同様にして、係数記憶部１２１に格納された全ての量子化ＤＣＴ係数Ｒ'(u,v)２１０８を順次読み出し、数３に示されるように、量子化テーブル２０３１の対応する位置に格納された量子化ステップサイズＱ(u,v)を用いて逆量子化し、再び係数記憶部１２１に戻す。その結果、係数記憶部１２１に格納されていた全ての量子化ＤＣＴ係数Ｒ'(u,v)は、ＤＣＴ係数Ｓ'(u,v)２１０９に復元される。
【００３３】
続いて、非零係数範囲計算部１２２の比較部１２２ａは、図３に示されるように、非零係数位置変換部２０２３ｂから通知された１個のブロックを構成する全ての非零係数位置（ｕ，ｖ）から、各座標値ｕ、ｖのそれぞれの最大値ｕmax、ｖmax及び最小値ｕmin、ｕminを求め、その結果を演算順序制御部１２３に通知する。従って、例えば、最大値ｕmaxより大きいｕ座標値を有する非零係数や、最小値ｕminより小さいｕ座標値を有する非零係数は、ブロックの中には存在しないことになる。
【００３４】
図４は、比較部１２２ａの動作手順を示すフローチャートである。
比較部１２２ａは、先ず、横（ｕ軸）方向と縦（ｖ軸）方向のそれぞれの最小値と最大値の候補を初期化し（ステップＳ４０１）、非零係数位置変換部２０２３ｂから次々に与えられる非零係数位置（ｕ，ｖ）ごとに、それら候補と各座標値ｕ，ｖを逐一に比較する（ステップＳ４０２〜ステップＳ４１１）。これにより、横方向の最小値の候補ｕmin（ステップＳ４０４〜Ｓ４０５）、最大値の候補ｕmax（ステップＳ４０６〜Ｓ４０７）、縦方向の最小値の候補ｖmin（ステップＳ４０８〜Ｓ４０９）、最大値の候補ｖmax（ステップＳ４１０〜Ｓ４１１）が求められる。
【００３５】
図５は、比較部１２２ａの具体的な動作内容を説明するための図である。
５０１の列は、非零係数位置変換部２０２３ｂから次々に与えられる非零係数位置（ｕ，ｖ）であり、５０２及び５０５の列は、その非零係数位置（ｕ，ｖ）のそれぞれ横方向の座標値ｕ及び縦方向の座標値ｖを分離して示したものである。
【００３６】
５０３、５０４、５０６及び５０７の列は、それら非零係数位置（ｕ，ｖ）が与えられた場合の比較部１２２ａでの比較結果であり、それぞれ横方向の座標値ｕの最小値ｕmin、最大値ｕmax、縦方向の座標値ｖの最小値ｖmin、最大値ｖmaxを示している。なお、これらの初期値５０８をそれぞれ８、−１、８、−１に設定しておくことにより、与えられた全ての非零係数に対して同一の判断手法（ステップＳ４０４〜Ｓ４１１）を適用できるようにしている。
【００３７】
５０９の行は、これら４個の非零係数が与えられた場合における比較部１２２ａでの比較による最終結果ｕmin、ｕmax、ｖmin、ｖmaxを示している。
最後に、逆ＤＣＴ部２０２１は、演算順序制御部１２３の制御の下に２次元逆ＤＣＴを行うことにより、係数記憶部１２１内の８×８（６４個）のＤＣＴ係数Ｓ'(u,v)２１０９から８×８（６４個）の再生画像データＰ'(x,y)２１１０を生成する。なお、逆ＤＣＴ部２０２１は、この２次元逆ＤＣＴを、横方向の１次元逆ＤＣＴと縦方向の１次元逆ＤＣＴとに分解して実行している。
【００３８】
これら逆ＤＣＴの処理においては、演算順序制御部１２３は、逆ＤＣＴ部２０２１が、横方向の１次元逆ＤＣＴについては非零係数範囲計算部１２２で計算された横方向の座標値の最小値と最大値との間（ｕmin≦ｕ≦ｕmax）に属するＤＣＴ係数Ｓ'(u,v)２１０９だけを対象として積和演算を行ない、一方、縦方向の１次元逆ＤＣＴについては非零係数範囲計算部１２２で計算された縦方向の座標値の最小値と最大値との間（ｖmin≦ｖ≦ｖmax）に属するＤＣＴ係数Ｓ'(u,v)２１０９だけを対象として積和演算を行なうよう制御する。
【００３９】
その結果、逆ＤＣＴ部２０２１は、先ず、数７に示される横方向の１次元逆ＤＣＴの演算を行い、次に、数８に示される縦方向の１次元逆ＤＣＴの演算を行う。
【００４０】
【数７】
0003837197.tif 000008
【００４１】
【数８】
0003837197.tif 000009
図６（ａ）と図６（ｂ）は、数７及び数８による積和演算の回数を具体的に説明するための図であり、図６（ａ）は、逆ＤＣＴが行われる前における係数記憶部１２１に格納された１ブロック分のＤＣＴ係数を、図６（ｂ）は、横方向の１次元逆変換、即ち、数７による演算が行われた直後における係数記憶部１２１に格納されている中間計算値を示す模式図である。ここで、白色部分は、その値がゼロである箇所を、一方、黒色部分は、その値がゼロでない箇所を示している。
【００４２】
図６（ａ）に示されるようなＤＣＴ係数Ｓ'(u,v)２１０９が与えられた場合には、非零係数範囲計算部１２２は、ｕmin＝０、ｕmax＝１、ｖmin＝０、ｖmax＝２と算出する。そして、演算順序制御部１２３は、それら４つの値に基づいて、逆ＤＣＴ部２０２１が行う積和演算を制御する。
その結果、逆ＤＣＴ部２０２１は、先ず、数７に従って、ｖ＝０〜２かつｕ＝０、１であるＤＣＴ係数、即ち、Ｓ'(0,0)、Ｓ'(1,0)、Ｓ'(0,1)、Ｓ'(1,1)、Ｓ'(0,2)、Ｓ'(1,2)の６個のみを対象として積和演算を行い、図６（ｂ）の黒色部分に示される１２個の中間計算値Ｇ(x,v)を算出する。続いて、逆ＤＣＴ部２０２１は、数８に従って、その１２個の中間計算値Ｇ(x,v)のみを対象として積和演算を行う。
【００４３】
このようにして、従来の装置で行われていたゼロとの積和演算、即ち、結果が自明である無駄な演算が、本装置においては回避される。なお、本装置においてはゼロとの積和演算のみを回避しているので、全てのＤＣＴ係数について積和演算を行う従来の装置が復元する再生画像データと本装置が復元する再生画像データとは、全く同一であることは言うまでもない。
【００４４】
本装置における積和演算の回数について具体的に検討すると、ｕ＝０〜３及びｖ＝０〜３の範囲について積和演算を行う場合に比べ、数７の演算においては、６４回の積和演算が２４（＝６×４）回で済み、数８の演算においては、６４回の積和演算が４８（＝１２×４）回で済む。従って、この例においては、従来の装置では合計１２８回の積和演算が必要とされるところが、本装置によれば７２回で済む。
（考察）
ところで、本装置は、従来の装置に比較し、同一の再生画像データを得るのに必要な積和演算の回数を減少させることができたが、その反面、比較部１２２ａにおける比較演算という新たな処理が必要になっている。従って、１ブロックの符号化データＷ２１０６を伸長するのに要する処理時間を比較した場合には、本装置における積和演算と比較演算の両方の回数を考慮する必要があり、いかなる場合において本装置がその効果を発揮できるかが問題となる。
【００４５】
ところが、画像自体が持っている以下の性質等により、多くの種類の画像データに対して、その伸長に要する時間が本装置によって短縮されることが判明している。
即ち、例えば、カメラで撮ったような自然画においては、一般に空間方向の色の変化が緩やかで滑らかな部分が多い。これは、空間周波数の低周波成分は多く含まれ、高周波成分は少ないことを意味する。従って、このような画像データから得られるＤＣＴ係数の値は、一般に、低周波成分については大きく、高周波成分については小さい。よって、これらＤＣＴ係数が整数に量子化された場合には、高周波成分についてのＤＣＴ係数の多くが零となる。
【００４６】
さらに、自然画等においては重要でない高周波成分をカットすることによって情報量を圧縮するために、高周波成分に対する量子化ステップサイズを低周波成分のそれよりも大きくしておくことが多く、これによっても、高周波成分についてのＤＣＴ係数の多くが零となる。
これらのことは、ＪＰＥＧ方式が圧縮効率の高い符号化方式の１つであると言える根拠でもある。
【００４７】
以上のことから、多くの画像に対しては、その量子化ＤＣＴ係数の多くが零となる。これによって、１ブロックを構成する組データの数が少なくなり、比較部１２２ａにおける比較演算の回数が少なくなると共に、伸長時における零との積和演算を回避できる頻度が多くなる。
よって、多くの種類の画像データに対して、その伸長に要する時間が本装置によって短縮される。
【００４８】
なお、本実施形態においては、２次元逆ＤＣＴを行うために、先ず、数７に示される横（ｕ軸）方向の１次元逆ＤＣＴを行った後に、数８に示される縦（ｖ軸）方向の１次元逆ＤＣＴを行っているが、この順序に限定されるものではない。先ず、数９に示される縦（ｖ軸）方向の１次元逆ＤＣＴを行った後に、数１０に示される横（ｕ軸）方向の１次元逆ＤＣＴを行っても同様の結果及び効果が得られる。
【００４９】
【数９】
0003837197.tif 000010
【００５０】
【数１０】
0003837197.tif 000011
このことは、ｎ次元逆ＤＣＴの性質、即ち、ｎ次元逆ＤＣＴはｎ個の各軸についての１次元逆ＤＣＴに分解することが可能であり、かつ、分解された１次元逆ＤＣＴが可換である（それら１次元逆ＤＣＴを行う順序によってはｎ次元逆ＤＣＴの結果は変わらない）という性質に基づく。
【００５１】
また、本装置では、非零係数Ｓ'(u,v)の座標値（ｕ，ｖ）の中から座標軸ごとの最小値ｕmin、ｖmin及び最大値ｕmax、ｖmaxを特定し、その座標範囲（ｕmin≦ｕ≦ｕmax、ｖmin≦ｖ≦ｖmax）に位置する非零係数Ｓ'(u,v)についてのみ逆ＤＣＴを行ったが、この特定処理を簡略化し、最大値のみを特定する方法も考えられる。
【００５２】
即ち、非零係数Ｓ'(u,v)の座標値（ｕ，ｖ）の中から座標軸ごとの最大値ｕmax、ｖmaxのみを特定し、その座標範囲（０≦ｕ≦ｕmax、０≦ｖ≦ｖmax）に位置する非零係数Ｓ'(u,v)についてのみ逆ＤＣＴを行う方法である。この場合の処理手順は、本装置における比較部１２２ａが特定した最小値ｕmin、ｖminが双方ともゼロ、即ち、第１番目の座標値と一致した場合の処理手順と同一となる。
【００５３】
この方法は、上述したように、「画像データは一般に低周波数成分を多く含むので各座標値ｕ，ｖが小さい位置のＤＣＴ係数Ｓ'(u,v)の多くは非零である」という特性を利用したものである。即ち、非零係数が存在する領域の座標値の最小値ｕmin、ｖminは非零になる場合が多いので、不要となる確率の高い最小値の特定という処理を回避することにより、比較部１２２ａでの比較演算の回数を減らす（最大値の特定のみを行わせる）ものである。
【００５４】
また、本実施形態においては、逆量子化部２０２２は、従来の装置と同様にして、係数記憶部１２１に格納された全ての量子化ＤＣＴ係数Ｒ'(u,v)２１０８を順次読み出して逆量子化したが、非零係数のみを対象に逆量子化したり、非零係数範囲計算部１２２での結果に基づいて逆量子化するものであってもよい。
これによって、逆量子化の処理において、ゼロとの積という無駄な演算を回避することができるが、本装置は、逆量子化の高速化自体を主眼とするものではないので、これ以上の詳細な説明は行わない。
（第２実施形態）
次に、本発明の第２実施形態に係る画像データ伸長装置を説明する。
【００５５】
第１実施形態では、非零係数Ｓ'(u,v)の座標値（ｕ，ｖ）の中から座標軸ごとの最小値ｕmin、ｖmin及び最大値ｕmax、ｖmaxを特定したが、本実施形態では、座標軸ｖについては同様に最小値ｖmin、最大値ｖmaxを求め、座標軸ｕについては異なる座標値ｖごとの最小値ｕmin、最大値ｕmaxを求め、それらで特定される座標範囲（ｖmin≦ｖ≦ｖmax、各ｖについて、ｕmin≦ｕ≦ｕmax）に位置する非零係数Ｓ'(u,v)についてのみ逆ＤＣＴを行うことを特徴とする。
（構成）
本装置の基本的な構成は、図１に示されるブロック図の通りであり、第１実施形態と同一である。但し、非零係数範囲計算部１２２の詳細な構成及び演算順序制御部１２３の具体的な動作内容が異なる。以下、第１実施形態の装置と異なる点を中心に説明する。
【００５６】
図７は、非零係数範囲計算部１２２の詳細な構成と他の構成部１２３、２０２１、１２１との関連を示す図である。
非零係数範囲計算部１２２は、本図に示されるように、本実施形態に特有の比較部１２２ａを有し、非零係数位置変換部２０２３ｂからの通知に基づいて座標値の大小判断をする。
【００５７】
演算順序制御部１２３は、比較部１２２ａから通知された領域に格納されているＤＣＴ係数Ｓ'(u,v)２１０９についてのみ、逆ＤＣＴ部２０２１が逆ＤＣＴを行うよう逆ＤＣＴ部２０２１を制御する点は第１実施形態と同様であるが、比較部１２２ａから通知される内容が異なる。
（動作）
以上のように構成された本装置の動作について説明する。
【００５８】
なお、エントロピー復号化部２０２４、非零係数スキャン順番号計算部２０２３ａ、非零係数位置変換部２０２３ｂ及び逆量子化部２０２２の動作は、第１実施形態と同一であるので、ここでは、非零係数範囲計算部１２２での処理から後の動作を説明する。
非零係数範囲計算部１２２の比較部１２２ｂは、図７に示されるように、非零係数位置変換部２０２３ｂから通知された１個のブロックを構成する全ての非零係数位置（ｕ，ｖ）から、座標値ｖについての最小値ｖmax及び最大値ｖmaxと、その範囲に属する各座標値ｖ（ｖmin≦ｖ≦ｖmax）についての座標値ｕの最小値ｕmin（at ｖ＝ｖmin、…、ｖmax）及び最大値ｕmax（at ｖ＝ｖmin、…、ｖmax）を求め、その結果を演算順序制御部１２３に通知する。以下、ｕmin（at ｖ＝ｋ）やｕmax（at ｖ＝ｋ）等をｕmin（ｋ）、ｕmax（ｋ）等と記す。
【００５９】
図８は、比較部１２２ｂの動作手順を示すフローチャートであり、第１実施形態の図４に相当する。
比較部１２２ｂは、先ず、最小値と最大値の全ての候補を初期化し（ステップＳ８０１）、非零係数位置変換部２０２３ｂから次々に与えられる非零係数位置（ｕ，ｖ）ごとに、それら候補と各座標値ｕ，ｖを逐一に比較する（ステップＳ８０２〜ステップＳ８１１）。これにより、各座標値ｖごとの横方向の最小値の候補ｕmin（０）、…、ｕmin（７）（ステップＳ８０４〜Ｓ８０５）、最大値の候補ｕmax（０）、…、ｕmax（７）（ステップＳ８０６〜Ｓ８０７）、縦方向の最小値の候補ｖmin（ステップＳ８０８〜Ｓ８０９）、最大値の候補ｖmax（ステップＳ８１０〜Ｓ８１１）が求められる。
【００６０】
図９は、比較部１２２ｂの具体的な動作内容を説明するための図であり、第１実施形態の図５に相当する。
９０１の列は、非零係数位置変換部２０２３ｂから次々に与えられる非零係数位置（ｕ，ｖ）である。９０２〜９０７、９０８及び９０９の列は、それら非零係数位置（ｕ，ｖ）が与えられた場合の比較部１２２ｂでの比較結果であり、それぞれ座標値ｖ＝０である横方向の座標値ｕの最小値ｕmin（０）、最大値ｕmax（０）、座標値ｖ＝１である横方向の座標値ｕの最小値ｕmin（１）、最大値ｕmax（１）、座標値ｖ＝７である横方向の座標値ｕの最小値ｕmin（７）、最大値ｕmax（７）、縦方向の座標値ｖの最小値ｖmin、最大値ｖmaxを示している。なお、本図における初期値９１０や最終値９１１は、第１実施形態と同様の意味である。
【００６１】
次に、逆ＤＣＴ部２０２１は、演算順序制御部１２３の制御の下に、２次元逆ＤＣＴを横方向の１次元逆ＤＣＴと縦方向の１次元逆ＤＣＴとに分解して実行するが、逆ＤＣＴを行う対象となるＤＣＴ係数Ｓ'(u,v)が第１実施形態の場合と異なる。
即ち、演算順序制御部１２３は、逆ＤＣＴ部２０２１が、横方向の１次元逆ＤＣＴについては非零係数範囲計算部１２２で計算された各座標値ｖごとの横方向の座標値ｕの最小値と最大値との間（ｕmin（ｖ）≦ｕ≦ｕmax（ｖ））に属するＤＣＴ係数Ｓ'(u,v)２１０９だけを対象として積和演算を行ない、一方、縦方向の１次元逆ＤＣＴについては第１実施形態と同様の範囲（ｖmin≦ｖ≦ｖmax）に属するＤＣＴ係数Ｓ'(u,v)２１０９だけを対象として積和演算を行なうよう制御する。
【００６２】
その結果、逆ＤＣＴ部２０２１は、先ず、数１１に示される横方向の１次元逆ＤＣＴの演算を行い、次に、数８に示される縦方向の１次元逆ＤＣＴの演算を行う。即ち、第１実施形態における数７の演算に代わって、本装置では、数１１の演算が行われる。
【００６３】
【数１１】
0003837197.tif 000012
図１０（ａ）と図１０（ｂ）は、数１１及び数８による積和演算の回数を具体的に説明するための図であり、第１実施形態における図６（ａ）と図６（ｂ）に対応する。
即ち、図１０（ａ）に示されるようなＤＣＴ係数Ｓ'(u,v)２１０９が与えられた場合には、非零係数範囲計算部１２２は、ｕmin（０）＝０、ｕmax（０）＝１、ｕmin（１）＝１、ｕmax（１）＝１、ｕmin（２）＝１、ｕmax（２）＝１、ｖmin＝０、ｖmax＝２と算出する。そして、演算順序制御部１２３は、それら６つの値に基づいて、逆ＤＣＴ部２０２１が行う積和演算を制御する。
【００６４】
その結果、逆ＤＣＴ部２０２１は、数１１に従って、ｖ＝０に対してはｕ＝０及び１、ｖ＝１に対してはｕ＝１、ｖ＝２に対してはｕ＝１のＤＣＴ係数、即ち、Ｓ'(0,0)、Ｓ'(1,0)、Ｓ'(1,1)、Ｓ'(1,2)の４個のみを対象として積和演算を行う。従って、数７を用いた第１実施形態の場合（６個）よりも、さらに、その対象が２個減っている。
【００６５】
但し、数１１に基づく演算の結果得られる中間計算値Ｇ(x,v)は、第１実施形態と同様に、図１０（ｂ）の黒色部分に示される１２個であるので、続く数８に基づく演算における積和演算の回数は、第１実施形態の場合と同一である。
このようにして、従来の装置で行われていたゼロとの積和演算、即ち、結果が自明である無駄な演算が、本装置においては回避される。
【００６６】
なお、本実施形態においては、比較部１２２ｂは、座標値ｖについての最小値ｖmax及び最大値ｖmaxと、その範囲に属する各座標値ｖ（ｖmin≦ｖ≦ｖmax）についての座標値ｕの最小値ｕmin（）及び最大値ｕmax（）を求めたが、各座標軸ｕ，ｖを相互に入れ替えた処理を行うものであっても同様の効果を得られることは言うまでもない。
【００６７】
また、第１実施形態で述べたように、非零係数Ｓ'(u,v)が存在する座標範囲の特定処理を簡略化する方法も考えられる。
即ち、非零係数Ｓ'(u,v)の座標値（ｕ，ｖ）の中から最大値のみ、即ち、座標値ｖの最大値ｖmax、各座標値ｖ（０≦ｖ≦ｖmax）についての座標値ｕの最大値ｕmax（）のみを特定し、その座標範囲（０≦ｕ≦ｕmax（）、０≦ｖ≦ｖmax）に位置する非零係数Ｓ'(u,v)についてのみ逆ＤＣＴを行う方法である。これによって、不要となる確率の高い最小値の特定という処理を回避することができるので、比較部１２２ａでの必要な比較演算の回数が減る。
（第３実施形態）
次に、本発明の第３実施形態に係る画像データ伸長装置を説明する。
【００６８】
第１及び第２実施形態では、１次元逆ＤＣＴを行う対象となる座標軸の順序（先ずｕ軸、次にｖ軸）が固定的であったが、本実施形態では、与えられたＤＣＴ係数の内容によって、その順序を動的に変更することを特徴とする。
（構成）
本装置の基本的な構成は、図１に示されるブロック図の通りであり、第１実施形態と同一である。また、非零係数範囲計算部１２２の詳細な構成、即ち、非零係数範囲計算部１２２は比較部１２２ａを有している点も同一である。
【００６９】
但し、演算順序制御部１２３の詳細な構成とその動作内容が異なる。以下、第１実施形態の装置と異なる点を中心に説明する。
図１１は、演算順序制御部１２３の詳細な構成と他の構成部１２２、２０２１、１２１との関連を示す図である。
演算順序制御部１２３は、第１実施形態における機能、即ち、比較部１２２ａから通知される横軸及び縦軸のそれぞれの最大値及び最小値に基づいて逆ＤＣＴ部２０２１での演算順序を制御する点で第１実施形態の場合と同一であるが、本図に示されるように、第１実施形態が有する機能に加えて本実施形態に特有の減算部１２３ａとソート部１２３ｂとを有し、減算とソートという本実施形態に特有の演算を施しその結果に基づいて逆ＤＣＴを制御している点が第１実施形態の場合と異なる。
（動作）
以上のように構成された本装置の動作について説明する。
【００７０】
減算部１２３ａは、比較部１２２ａから横方向の最大値ｕmaxと最小値ｕmin、縦方向の最大値ｖmaxと最小値ｖminの４個が与えられると、それぞれの方向における最大値と最小値との差、即ち、Δｕ（＝ｕmax−ｕmin）とΔｖ（＝ｖmax−ｖmin）を算出する。
続いて、ソート部１２３ｂは、減算部１２３ａで算出された全ての減算値Δｕ、Δｖを降順に並び替える。演算順序制御部１２３は、その結果得られた座標軸の順序を１次元逆ＤＣＴを施す座標軸の順序とし、逆ＤＣＴ部２０２１を制御する。
【００７１】
従って、最後に、逆ＤＣＴ部２０２１は、それらの範囲（ｕmin≦ｕ≦ｕmax、ｖmin≦ｖ≦ｖmax）に属するＤＣＴ係数Ｓ'(u,v)２１０９を対象として逆ＤＣＴを行うが、その際の１次元逆ＤＣＴの順序、即ち数７の演算の後に数８の演算を行うか又は数９の演算の後に数１０の演算を行うかは、演算順序制御部１２３からの指示によって定められる。
【００７２】
図１２（ａ）と図１２（ｂ）は、演算順序制御部１２３による制御の下に逆ＤＣＴ部２０２１が行う積和演算の回数を具体的に説明するための図であり、第１実施形態における図６（ａ）と図６（ｂ）に対応する。
図１２（ａ）に示されるようなＤＣＴ係数Ｓ'(u,v)２１０９が与えられた場合には、比較部１２２ａは、第１実施形態と同様に、ｕmin＝０、ｕmax＝１、ｖmin＝０、ｖmax＝２と算出する。
【００７３】
続いて、減算部１２３ａは、それら４つの値に基づいて、Δｕ（＝１）とΔｖ（２）を算出する。
ソート部１２３ｂは、ΔｕとΔｖを降順、即ち、Δｖの後にΔｕの順に並べ替える。
演算順序制御部１２３は、ソート部１２３ｂで得られた座標軸の順に逆ＤＣＴ部２０２１を制御する。その結果、逆ＤＣＴ部２０２１は、先ず、Δｖ方向、即ち、数９に基づく１次元逆ＤＣＴを実行することにより、図１２（ｂ）の黒色部分に示される中間計算値Ｇ(x,v)を求め、次に、Δｕ方向、即ち、数１０に基づく１次元逆ＤＣＴを実行する。
【００７４】
その結果、第１実施形態においては、数７の積和演算に対しては６個のＤＣＴ係数がその対象となり、続く数８の積和演算に対しては１２個の中間計算値がその対象となったが、本実施形態においては、数９の積和演算に対しては６個のＤＣＴ係数がその対象となり、続く数１０の積和演算に対しては８個の中間計算値がその対象となっている。
【００７５】
このように、本実施形態では、第１実施形態と比較して、逆ＤＣＴの演算においては、１次元逆ＤＣＴを行う際の座標軸の順序が異なっているだけである。それにも拘らず、本実施形態では、第１実施形態に比べ、後半の１次元逆ＤＣＴにおける積和演算の回数が減少している。
これは、１次元逆ＤＣＴが行われると次の１次元逆ＤＣＴの積和演算の対象となる中間計算値が存在する位置がその１次元領域全体に広がるという数学的な特性を考慮したためであり、このことは、数７及び数８あるいは数９及び数１０から明らかである。即ち、本実施形態では、ｕmin、ｕmax、ｖmin、ｖmaxで特定される２次元座標上の矩形領域が、正方形でなく長方形である場合には、その辺が長い方向の座標軸を優先して１次元逆ＤＣＴを実行することとしている。このように、逆ＤＣＴの対象となる座標上の面積が少なくなる座標方向から先に１次元逆ＤＣＴを行なうことで、非零係数の広がり方を抑えることができ、積和演算の回数を減少させている。
【００７６】
このようにして、従来の装置で行われていたゼロとの積和演算、即ち、結果が自明である無駄な演算が、本装置においては回避される。
なお、本実施形態においても、第１実施形態で述べたように、非零係数Ｓ'(u,v)が存在する座標範囲の特定処理を簡略化する方法も考えられる。
即ち、非零係数Ｓ'(u,v)の座標値（ｕ，ｖ）の中から最大値のみ、即ち、座標値ｖの最大値ｖmax、座標値ｕの最大値ｕmaxのみを特定し、それら最大値ｕmax、ｖmaxを降順にソートし、その順序に従って１次元逆ＤＣＴを行う方法である。これによって、本実施形態の減算部１２３ａでの減算という処理が不要となり、演算順序制御部１２３での必要な演算回数が減る。
（第４実施形態）
次に、本発明の第４実施形態に係る画像データ伸長装置を説明する。
【００７７】
第１〜第３実施形態では、逆ＤＣＴを行う対象となる非零係数の座標範囲を特定するために比較演算が行われたが、本実施形態では、その比較演算に代わって、予め作成されたテーブルが参照されることを特徴とする。
（構成）
図１３は、本装置の基本的な構成を示すブロック図である。
【００７８】
本図が第１実施形態の図１と異なるのは、接続関係だけであり、非零係数位置変換部２０２３ｂの出力が非零係数範囲計算部１２２に接続されるのではなく、非零係数スキャン順番号計算部２０２３ａの出力が非零係数範囲計算部１２２に接続されている点である。
なお、非零係数範囲計算部１２２の詳細な構成も、第１実施形態の場合と異なる。以下、第１実施形態の装置と異なる点を中心に説明する。
【００７９】
図１４は、非零係数範囲計算部１２２の詳細な構成と他の構成部１２３、２０２１、１２１との関連を示す図である。
非零係数範囲計算部１２２は、本図に示されるように、本実施形態に特有の対応表１２２ｃを有し、この対応表１２２ｃを参酌することにより、非零係数スキャン順番号計算部２０２３ａから通知されるスキャン順番号の最後のスキャン順番号から、非零係数が存在する領域の両座標軸の最大値を特定する。
【００８０】
図１５は、対応表１２２ｃの内容を示す図である。
対応表１２２ｃは、図１５に示されるような、予め作成された内容のデータを記憶している。列１５０１には、１ブロックを構成する全てのスキャン順番号が格納され、列１５０２及び１５０３には、各スキャン順番号までのＤＣＴ係数Ｓ'(u,v)の全てが非零であると仮定した場合の非零係数が有する座標値（ｕ，ｖ）中の各座標軸ごとの最大値ｕmax、ｖmaxが格納されている。
【００８１】
図１６は、対応表１２２ｃにおけるスキャン順番号１５０１と、ｕmax１５０２及びｖmax１５０３の関係を説明するための図である。
例えば、非零係数スキャン順番号計算部２０２３ａから通知された最後のスキャン順番号が”５”の場合には、図１５において、ｕmax＝１、ｖmax＝２となっている。図１６から判るように、スキャン順番号が１から５までの５個のＤＣＴ係数Ｓ'(u,v)がいずれも非零であった場合には、それらＤＣＴ係数Ｓ'(u,v)のｕ軸及びｖ軸ごとの座標値ｕ，ｖの最大値ｕmax、ｖmaxは、それぞれ１及び２である。
【００８２】
このように、本実施形態では、１ブロックの左上から右下へのジグザグスキャンによって圧縮された画像データの伸長を対象としているので、一義的な対応表１２２ｃの作成が可能となる。
（動作）
以上のように構成された本装置の動作について説明する。
【００８３】
非零係数スキャン順番号計算部２０２３ａは、１ブロックを構成する全ての非零係数とそのスキャン順番号との組を非零係数範囲計算部１２２に通知するが、この点は第１実施形態の場合と同様である。
非零係数範囲計算部１２２は、非零係数スキャン順番号計算部２０２３ａからスキャン順番号が次々に通知されると、最新のスキャン順番号のみを更新しながら記憶すると共に、それが１ブロックを構成する最後の非零係数であるかどうかをも判断する。１ブロックの最後の非零係数であるかどうかの判断は、１ブロックの最後に置かれたデータ”ＥＮＤ”を検出することにより行われる。
【００８４】
その結果、最後の非零係数を獲得すると、非零係数範囲計算部１２２は、対応表１２２ｃを参酌することにより、その非零係数と一致するジグザグスキャン順番号の行に格納された２個の最大値ｕmax、ｖmaxを読み出して演算順序制御部１２３に通知する。即ち、非零係数範囲計算部１２２は、対応表１２２ｃを１回引くだけで、非零係数が存在する座標範囲を特定している。
【００８５】
上記最大値ｕmax、ｖmaxの通知を受けた演算順序制御部１２３は、それら最大値ｕmax、ｖmaxに基づいて逆ＤＣＴ部２０２１を制御するが、この制御の基本的な内容は第１実施形態と同様である。即ち、逆ＤＣＴ部２０２１は、数７及び数８（但し、ｕmin＝０、ｖmin＝０）に従って、逆ＤＣＴを実行する。
図１７（ａ）と図１７（ｂ）は、本実施形態における積和演算の回数を具体的に説明するための図であり、第１実施形態における図６（ａ）と図６（ｂ）に対応する。図１７は、非零係数スキャン順番号計算部２０２３ａから通知された最後のスキャン順番号が”５”である場合における係数記憶部１２１に格納されたＤＣＴ係数Ｓ'(u,v)２１０９の値を示しており、図１７（ａ）の黒色部分が非零係数、灰色部分が零係数であることを示している。
【００８６】
この場合には、非零係数範囲計算部１２２は、対応表１２２ｃを引くことにより、ｕmax＝１とｖmax＝２を獲得し演算順序制御部１２３に通知するので、逆ＤＣＴ部２０２１は、先ず、６個のＤＣＴ係数Ｓ'(0,0)、Ｓ'(1,0)、Ｓ'(0,1)、Ｓ'(1,1)、Ｓ'(0,2)、Ｓ'(1,2)を対象として横（ｕ軸）方向の１次元逆ＤＣＴを行い、次に、その結果得られた図１７（ｂ）の黒色部分に示される１２個の中間計算値Ｇ(x,v)のみを対象として縦（ｖ軸）方向の１次元逆ＤＣＴを行う。
【００８７】
このように、本実施形態では、逐一に座標値の比較演算を行なうのではなく、予め作成された対応表１２２ｃを１回だけ引くことにより、逆ＤＣＴを行う対象となる非零係数の座標範囲を特定している。これによって、第１実施形態等で行っていたような比較演算を不要とすることができる。なお、従来の装置で行われていたゼロとの積和演算、即ち、結果が自明である無駄な演算が回避される点は、第１実施形態の場合と同様である。
【００８８】
なお、本装置は、図１５に示されるように、ｕmaxとｖmaxの２種類の最大値のみを記憶する対応表１２２ｃを用いたが、この表に替えて、例えば、図１８（ａ）に示される対応表、あるいは図１８（ｂ）に示される対応表を用いるものであってもよい。
図１８（ａ）の対応表は、図１５の対応表１２２ｃを詳細化したものであり、図１５に示された１種類のｕmaxに替えて、各座標値ｖ（但し、０≦ｖ≦ｖmax）ごとの最大値ｕmax（ｖ）を予め記憶している。
【００８９】
例えば、非零係数スキャン順番号計算部２０２３ａから通知された最後のジグザグスキャン順番号が”５”である場合には、非零係数範囲計算部１２２は、この対応表を参酌することにより、ｕmax（０）＝１、ｕmax（１）＝１、ｕmax（２）＝０、ｕmax（３）＝−１、ｖmax＝２を獲得し、演算順序制御部１２３に通知する。その結果、逆ＤＣＴ部２０２１は、図１９（ａ）に示される５個のＤＣＴ係数Ｓ'(0,0)、Ｓ'(1,0)、Ｓ'(0,1)、Ｓ'(1,1)、Ｓ'(0,2)のみを対象として横（ｕ軸）方向の１次元逆ＤＣＴを行う。
【００９０】
具体的には、ｖ＝０の中間計算値Ｇ(x,0)の算出にはＳ'(0,0)とＳ'(1,0)のみを対象として積和演算を行い、ｖ＝１の中間計算値Ｇ(x,1)の算出にはＳ'(0,1)とＳ'(1,1)のみを対象として積和演算を行い、ｖ＝２の中間計算値Ｇ(x,2)の算出にはＳ'(0,2)のみを対象として積和演算を行う。なお、続く、縦（ｖ軸）方向の１次元逆ＤＣＴにおける積和演算の回数は、図１９（ｂ）から明らかなように、図１５の対応表を用いる場合との差は生じない。
【００９１】
このように、図１５の対応表を用いた場合には、６個のＤＣＴ係数が積和演算の対象となっていたが、図１８（ａ）の対応表を用いることにより、その個数を５個に減少させることができた。なお、図１５の対応表に替えて図１８（ａ）の対応表を用いることは、第２実施形態において、第１実施形態の比較部１２２ａに替えて比較部１２２ｂを用いたことと基本的な技術的思想が共通するのは言うまでもない。
【００９２】
一方、図１８（ｂ）の対応表は、図１８（ｂ）の対応表のサイズを小さくしたものであり、図１８（ｂ）における複数のジグザグスキャン順番号をまとめて７個のグループにしたものである。
これは、「ジグザグスキャン順番号は画像の空間周波数の昇順に対応するものであり、一般的に、その周波数が高くなる程それに含まれる成分は少なくなる」という性質を利用している。
【００９３】
この対応表を用いることにより、図１８（ａ）の対応表よりもサイズを小さくできると共に、図１５の対応表よりもゼロとの積和演算を回避できる確率が増える。
以上、本発明を４つの実施形態に基づいて説明したが、本発明は何もこれら実施形態に限定されないのはもちろんである。
【００９４】
即ち、上記実施形態においては、２次元画像データＰ(x,y)を対象としたが、この次元に限定されるものではない。
例えば、第２実施形態において、３次元立体画像データＰ(x,y,z)を対象とする場合であれば、減算部１２３ａは３軸を対象に差を算出し、ソート部１２３ｂは３軸を対象にソートし、演算順序制御部１２３は３種の１次元逆ＤＣＴの順序を制御することとなる。
【００９５】
また、上記装置は、線形変換の一つであるＤＣＴを経て圧縮された画像データを伸長するものであったが、線形変換の種類としては、このＤＣＴに限定されるものではなく、例えば、Ｋ−Ｌ変換（Karhunen-Loeve transform）などであってもよい。また、ＤＣＴやＫ−Ｌ変換は直交変換の一つであるが、直交変換に限定されるものでもない。本装置は、ゼロとの積和演算を回避することによって高速な伸長を実現しているので、逆変換が積和演算となるような線形変換を経て圧縮された画像データを伸長するものである。
【００９６】
また、製造の都合で、本発明の一つの必要不可欠の構成要件を複数に分割したり、逆に複数の構成要件を一体としたり、あるいは、適宜これらを組み合わせたりしてもよい。
また、動画の圧縮方式であるＭＰＥＧの復号化においても、Ｉピクチャと呼ばれる最初の画像やシーンが変化した場合の最初の画像において、本発明を使用してもよい。
【００９７】
さらに、ＭＰＥＧの復号化においては、ＰピクチャあるいはＢピクチャと呼ばれる時間方向の差分を取り、更に動き補償などを行なった画像を復号化するが、この場合には、更に２次元離散余弦変換された係数の高周波部分に、零係数が多くなるため、時間方向の差分の復元とに動き補償の復元と本発明とを併用することもできる。
【００９８】
【発明の効果】
上記目的を達成するために、本発明に係る画像データ伸長装置は、ｎ（正の整数）次元座標空間内の各画素点が有する画素データの集まりに対してｎ次元線形変換を行い、その結果得られるｎ次元座標空間内の各係数を所定順序に従って一列に並べ、その列における非零係数とその位置を示す順番号との組からなる組データを符号化することによって前記画素データを圧縮する圧縮装置に対応して用いられる画像データ伸長装置であって、
前記ｎ次元座標空間内の各係数を記憶する領域を有する記憶手段と、前記全ての係数を零として前記記憶手段に格納する初期化手段と、前記組データが与えられるとその組データに含まれる順番号に基づいてその組データに含まれる非零係数の前記ｎ次元座標空間における座標値を算出する座標値算出手段と、前記座標値算出手段により算出された座標値に対応する前記記憶手段の記憶箇所に前記非零係数を格納する格納手段と、前記記憶手段において非零係数が格納されている領域を特定する非零係数領域特定手段と、前記非零係数領域特定手段により特定された領域内の係数のみを用いて積和演算で表現されるｎ次元逆変換を行うことにより元画素データ相当のデータを復元する逆変換手段とを備えたことを特徴とする。
【００９９】
これにより、零係数についての無駄な積和演算が回避されるので、圧縮された画像データは高速に伸長される。
ここで、前記ｎ次元逆変換はｎ個の独立した１次元逆変換に分解可能であり、前記非零係数領域特定手段は前記ｎ次元座標空間を構成するｍ（１以上ｎ以下の整数）個の座標軸について座標軸ごとに前記非零係数が存在する座標区間を特定し、前記逆変換手段は、前記ｍ個の座標軸について座標軸ごとに前記非零係数領域特定手段により特定された座標区間に属する係数のみを用いて１次元逆変換を行う第１逆変換部と、残る（ｎ−ｍ）個の座標軸について、座標軸ごとに、全座標区間の係数を用いて１次元逆変換を行う第２逆変換部とからなるとすることもできる。
【０１００】
これにより、ｎ次元逆変換は１次元逆変換に分解されて行われ、座標軸ごとに無駄な積和演算が回避されるので、一括してｎ次元逆変換を行う場合に比べ、より少ない回数の積和演算でｎ次元逆変換が終了する。
また、前記非零係数領域特定手段は前記ｍ個の座標軸について座標軸ごとに前記座標値算出手段により算出された全ての非零係数の座標値の中から最大値を特定し、その最大値を一端として前記座標区間を特定するとすることもできる。
【０１０１】
これにより、座標値が上記最大値より大きい零係数についての積和演算が回避されるので、伸長処理が高速化される。
また、前記非零係数領域特定手段は、前記ｍ個の座標軸について座標軸ごとに前記座標値算出手段により算出された全ての非零係数の座標値の中から最小値と最大値を特定し、その最小値以上かつ最大値以下を前記座標区間として特定するとすることもできる。
【０１０２】
これにより、座標値が上記最小値より小さい零係数や上記最大値より大きい零係数についての積和演算が回避されるので、伸長処理がより高速化される。
また、前記ｍは前記ｎに等しいとすることもできる。
これにより、全ての座標軸について、座標値が上記最小値より小さい零係数や上記最大値より大きい零係数についての積和演算が回避されるので、伸長処理がより高速化される。
【０１０３】
また、前記変換は直交変換であり、前記逆変換は前記直交変換に対応する直交逆変換としたり、さらに、前記変換はＤＣＴであり、前記逆変換は逆ＤＣＴとすることもできる。
これにより、本装置は、ＪＰＥＧ方式等の業界標準の圧縮方式による画像データに好適な伸長装置となる。
【０１０４】
また、前記ｍは２以上であり、前記逆変換手段は、さらに、前記ｍ個の座標軸について前記非零係数領域特定手段により特定された座標区間の長さの降順に座標軸を並べるソート部を有し、前記第１逆変換部は前記第２逆変換部による１次元逆変換の終了後であって、かつ、前記ソート部により並べられた座標軸の順に前記１次元逆変換を行うとすることもできる。
【０１０５】
これにより、単に座標値が上記最小値より小さい零係数や上記最大値より大きい零係数についての積和演算が回避されるのではなく、積和演算の回数をより少なくできる座標軸の順に１次元逆変換が行われるので、１次元逆変換を行う順序を考慮しない場合に比べ、より少ない回数の積和演算でｎ次元逆変換が終了する。
【０１０６】
また、前記非零係数領域特定手段は、前記順番号とその順番号以下の前記係数が全て非零係数であると仮定した場合におけるそれら非零係数の座標値の中の座標軸ごとの最大値との対応を全ての順番号について記憶する第１対応記憶部と、元画素データ相当の全データを復元するために必要な非零係数中の最後の非零係数が与えられたことを検出する最終非零係数検出部と、前記第１対応記憶部に記憶された対応に基づいて前記最終非零係数検出部により検出された非零係数についての順番号に対応する前記座標軸ごとの最大値を特定し、その最大値を一端として前記座標区間を特定する第１最大値特定部とからなるとすることもできる。
【０１０７】
これにより、上記最大値を特定するための多数回の比較演算が不要となり、画像データの伸長に要する全体の時間が短縮化される。
また、前記ｎ次元逆変換はｎ個の独立した１次元逆変換に分解可能であり、前記非零係数領域特定手段は、前記ｎ次元座標空間を構成するｎ個の座標軸中の１個の座標軸についてその１個を除く（ｎ−１）個の座標軸についての座標値の組合せごとに前記非零係数が存在する座標区間を特定する第１特定部を有し、前記逆変換手段は、前記１個の座標軸について前記第１特定部により特定された座標区間に属する係数のみを用いて１次元逆変換を行う第３逆変換部と、残る（ｎ−１）個の座標軸について座標軸ごとに１次元逆変換を行う第４逆変換部とからなるとすることもできる。
【０１０８】
これにより、座標軸ごとではなく、（ｎ−１）個の座標軸の座標値の組合せごとに、無駄な零係数のついての積和演算が回避されるので、さらに、伸長処理が高速化される。
また、前記ｎ次元逆変換はｎ個の独立した１次元逆変換に分解可能であり、
前記非零係数領域特定手段は、前記順番号と「その順番号以下の前記係数が全て非零係数であると仮定した場合におけるそれら非零係数」のうち「前記ｎ次元座標空間を構成するｎ個の座標軸中の１個の座標軸を除く（ｎ−１）個の座標軸についての全ての座標値の組合せが同一である非零係数」の「前記１個の座標軸についての座標値の中の前記組合せごとの最大値」と「前記仮定をした場合における前記非零係数」の「前記（ｎ−１）個の座標軸ごとの最大値」との対応を全ての順番号について記憶する第２対応記憶部と、元画素データ相当の全データを復元するために必要な非零係数中の最後の非零係数が与えられたことを検出する最終非零係数検出部と、前記第２対応記憶部に記憶された対応に基づいて、前記最終非零係数検出部により検出された非零係数についての順番号に対応する前記組合せ及び前記座標軸ごとの最大値を特定し、その最大値を一端として前記座標区間を特定する第２最大値特定部とからなり、前記逆変換手段は、前記１個の座標軸について、前記第２最大値特定部により特定された座標区間に属する係数のみを用いて１次元逆変換を行う第７逆変換部と、残る（ｎ−１）個の座標軸について、座標軸ごとに、前記第２最大値特定部により特定された座標区間に属する係数のみを用いて１次元逆変換を行う第８逆変換部とからなるとすることもできる。
【０１０９】
これにより、上記最大値を特定するための多数回の比較演算が不要となるばかりでなく、（ｎ−１）個の座標軸の座標値の組合せごとに無駄な零係数のついての積和演算が回避されるので、さらに、画像データの伸長に要する全体の時間が短縮化される。
以上のように、本発明に係る画像データ伸長装置により、線形変換を経て圧縮された画像データの伸長処理時間が従来よりも飛躍的に短縮化されるので、特に、ＭＰＥＧ方式により圧縮された動画像データの高速伸長が要求されるマルティメディア分野における実用的効果は大きい。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る画像データ伸長装置の構成を示すブロック図である。
【図２】同装置のスキャンテーブル２０３２の内容を示す図である。
【図３】同装置の非零係数範囲計算部１２２の詳細な構成と他の構成部との関連を示す図である。
【図４】同装置の比較部１２２ａの動作手順を示すフローチャートである。
【図５】同装置の比較部１２２ａの具体的な動作内容を説明するための図である。
【図６】図６（ａ）は、同実施形態において、最初に行われる１次元逆ＤＣＴの対象となるＤＣＴ係数を示す模式図である。
図６（ｂ）は、同実施形態において、次に行われる１次元逆ＤＣＴの対象となる中間計算値を示す模式図である。
【図７】第２実施形態における非零係数範囲計算部１２２の詳細な構成と他の構成部との関連を示す図である。
【図８】同装置の比較部１２２ｂの動作手順を示すフローチャートである。
【図９】同装置の比較部１２２ｂの具体的な動作内容を説明するための図である。
【図１０】図１０（ａ）は、同実施形態において、最初に行われる１次元逆ＤＣＴの対象となるＤＣＴ係数を示す模式図である。
図１０（ｂ）は、同実施形態において、次に行われる１次元逆ＤＣＴの対象となる中間計算値を示す模式図である。
【図１１】第３実施形態における演算順序制御部１２３の詳細な構成と他の構成部との関連を示す図である。
【図１２】図１２（ａ）は、同実施形態において、最初に行われる１次元逆ＤＣＴの対象となるＤＣＴ係数を示す模式図である。
図１２（ｂ）は、同実施形態において、次に行われる１次元逆ＤＣＴの対象となる中間計算値を示す模式図である。
【図１３】第４実施形態に係る画像データ伸長装置の構成を示すブロック図である。
【図１４】同装置の非零係数範囲計算部１２２の詳細な構成と他の構成部との関連を示す図である。
【図１５】同装置の対応表１２２ｃの内容を示す図である。
【図１６】同装置の対応表１２２ｃにおけるスキャン順番号と最大値ｕmax、ｖmaxとの関係を説明するための図である。
【図１７】同装置の非零係数範囲計算部１２２の具体的な動作内容を説明するための図である。
【図１８】図１８（ａ）は、同装置の対応表１２２ｃを詳細化した場合の別の対応表の内容を示す図である。
図１８（ｂ）は、図１８（ａ）の対応表を複数のジグザグスキャン順番号ごとにまとめた場合の別の対応表の内容を示す図である。
【図１９】図１８の対応表を用いた場合の非零係数範囲計算部１２２の具体的な動作内容を説明するための図である。
【図２０】従来の画像データ圧縮／伸長装置の構成を示すブロック図である。
【図２１】画像データが圧縮／伸長されて変化する様子を示す図である。
【符号の説明】
１２０    伸長部
１２１    係数記憶部
１２２    非零係数範囲計算部
１２２ａ  比較部
１２２ｂ  比較部
１２２ｃ  対応表
１２３    演算順序制御部
１２３ａ  減算部
１２３ｂ  ソート部
２０２１    逆ＤＣＴ部
２０２２    逆量子化部
２０２３ａ  非零係数スキャン順番号計算部
２０２３ｂ  非零係数位置変換部
２０２４    エントロピー復号化部
２０３０    テーブル記憶部
２０３１    量子化テーブル
２０３２    スキャンテーブル
２０３３    符号化テーブル
【図１】
0003837197.tif 000013
【図２】
0003837197.tif 000014
【図３】
0003837197.tif 000015
【図４】
0003837197.tif 000016
【図５】
0003837197.tif 000017
【図６】
0003837197.tif 000018
【図７】
0003837197.tif 000019
【図８】
0003837197.tif 000020
【図９】
0003837197.tif 000021
【図１０】
0003837197.tif 000022
【図１１】
0003837197.tif 000023
【図１２】
0003837197.tif 000024
【図１３】
0003837197.tif 000025
【図１４】
0003837197.tif 000026
【図１５】
0003837197.tif 000027
【図１６】
0003837197.tif 000028
【図１７】
0003837197.tif 000029
【図１８】
0003837197.tif 000030
【図１９】
0003837197.tif 000031
【図２０】
0003837197.tif 000032
【図２１】
0003837197.tif 000033