(57)【特許請求の範囲】
【請求項１】
画像データを複数の画素ブロックに分割して各ブロック平均値からなるＤＣ画像を生成するステップと、
前記各画素ブロックからそれぞれのブロック平均値を分離してブロック毎の残差ベクトルを求めると共に、該残差ベクトルの大きさが所定の許容値を超えていることにより、前記ＤＣ画像の一部を基底ベクトルの巣として使用した適応的直交変換により、前記残差ベクトルを近似するための１又は２以上の正規化直交基底ベクトルと展開係数との積からなる直交基底系を求めるステップと、
前記求めた直交基底系をこれと等価なスカラー展開係数と基底ベクトルとの積からなる基底系に変換するステップと、
前記画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに前記基底ベクトルの巣より基底ベクトルを抽出するための座標情報をそれぞれ符号化して符号データを作成するステップとを備えることを特徴とする画像符号方法。
【請求項２】
請求項１記載の符号データを入力して画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに基底ベクトルの巣より基底ベクトルを抽出するための座標情報を復号するステップと、
前記復号したブロック平均値によりＤＣ画像を再生し、その一部を基底ベクトルの巣となすステップと、
前記復号した画素ブロック毎の座標情報により前記基底ベクトルの巣から抽出した基底ベクトルに前記復号したスカラー展開係数を掛けて残差ベクトルを近似した近似ベクトルを再生するステップと、
該再生した近似ベクトルに前記復号したブロック平均値を加算して各画素ブロックを復号するステップとを備えることを特徴とする画像復号方法。
【請求項３】
画像データを複数の画素ブロックに分割して各ブロック平均値からなるＤＣ画像を生成するステップと、
前記各画素ブロックからそれぞれのブロック平均値を分離してブロック毎の残差ベクトルを求めると共に、該残差ベクトルの大きさが所定の許容値を超えていることにより、前記ＤＣ画像の一部を基底ベクトルの巣として使用した適応的直交変換により、前記残差ベクトルを近似するための１又は２以上の正規化直交基底ベクトルと展開係数との積からなる直交基底系を求めるステップと、
前記求めた直交基底系をこれと等価なスカラー展開係数と基底ベクトルとの積からなる基底系に変換するステップと、
前記画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに前記基底ベクトルの巣より基底ベクトルを抽出するための座標情報をそれぞれ符号化して符号データを作成するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項４】
請求項１記載の符号データを入力して画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに基底ベクトルの巣より基底ベクトルを抽出するための座標情報を復号するステップと、
前記復号したブロック平均値によりＤＣ画像を再生し、その一部を基底ベクトルの巣となすステップと、
前記復号した画素ブロック毎の座標情報により前記基底ベクトルの巣から抽出した基底ベクトルに前記復号したスカラー展開係数を掛けて残差ベクトルを近似した近似ベクトルを再生するステップと、
該再生した近似ベクトルに前記復号したブロック平均値を加算して各画素ブロックを復号するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項５】
画像データを複数の画素ブロックに分割して各ブロック平均値からなるＤＣ画像を生成するＤＣ画像生成手段と、
前記各画素ブロックからそれぞれのブロック平均値を分離してブロック毎の残差ベクトルを求めると共に、該残差ベクトルの大きさが所定の許容値を超えていることにより、前記ＤＣ画像の一部を基底ベクトルの巣として使用した適応的直交変換により、前記残差ベクトルを近似するための１又は２以上の正規化直交基底ベクトルと展開係数との積からなる直交基底系を求める演算手段と、
前記求めた直交基底系をこれと等価なスカラー展開係数と基底ベクトルとの積からなる基底系に変換する変換手段と、
前記画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに前記基底ベクトルの巣より基底ベクトルを抽出するための座標情報をそれぞれ符号化して符号データを作成する符号化手段とを備えることを特徴とする画像符号装置。
【請求項６】
請求項１記載の符号データを入力して画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに基底ベクトルの巣より基底ベクトルを抽出するための座標情報を復号する復号手段と、
前記復号したブロック平均値によりＤＣ画像を再生し、その一部を基底ベクトルの巣となすネスト生成手段と、
前記復号した画素ブロック毎の座標情報により前記基底ベクトルの巣から抽出した基底ベクトルに前記復号したスカラー展開係数を掛けて残差ベクトルを近似した近似ベクトルを再生する近似ベクトル再生手段と、
該再生した近似ベクトルに前記復号したブロック平均値を加算して各画素ブロックを復号する画像復号手段とを備えることを特徴とする画像復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像符号／復号方法及びそのプログラムを記録した記録媒体並びに装置に関し、更に詳しくはゲーム機等の比較的低性能なハードウェア（ＣＰＵ，メモリ等）でも高速に良質な画像（ＣＧ画像，アニメーション画像，自然画像等）を再生可能な画像符号／復号方法及びそのプログラムを記録した記録媒体並びに装置に関する。
【０００２】
【従来の技術】
図１６，図１７は従来技術を説明する図（１），（２）で、図１６はＪＰＥＧによる画像圧縮処理のイメージを示している。図１６（Ａ）において、今日、静止画像圧縮方式の主流となっているＪＰＥＧでは、画像を８×８画素のブロックに分割し、それを２次元ＤＣＴ（離散コサイン変換）によりＤＣ（平均値）及び基本周波数から６３倍周波数までの各係数値に変換する。更に、自然画像の周波数成分が低周波領域に集中していることを利用し、画品質が低下しない範囲で各係数値を異なる量子化幅で量子化し、情報量の削減を行ってから可変長符号化（ハフマン符号化）を行う。
【０００３】
一方、この様な画像符号データを家庭用ゲーム機等で利用する場合には、ＣＰＵ性能やメモリ容量に制限があるため、復号演算負荷の大きな画像圧縮法（ＪＰＥＧ等）をソフトウェアで復号すると、様々なデメリットが発生する。例えば、ＪＰＥＧでは８×８画素のブロックに対して必ず６４個の可変長符号化を行うべき符号が生成されるため、復号時の計算負荷の増大を招いている。
【０００４】
図１６（Ｂ）はハフマン符号の一部を示している。ハフマン符号化では、出現頻度の高い係数値Ｈ13等は相対的に短い符号長ビットで、また出現頻度の低い係数値Ｈ6 等は相対的に長い符号長ビットで夫々符号化されるため、これらの符号は各オクテット（バイト）上で図示の如く不揃いに詰め込まれてしまうことになり、このことが復号時の計算負荷を非常に大きくしている。このため従来のゲームシステムでは、動画として容認出来る程の速度で画像を復元するためには画品質を犠牲にせざる得ない状況であった。
【０００５】
また画品質については、高周波成分ほど粗い精度で量子化されるため、輪郭部分の画像情報が失われてモスキートノイズを発生し、文字やアニメーション画像の圧縮には適していない。特にゲームソフトでは人工画像（ＣＧ画像，アニメーション画像等）が多用されるため、モスキートノイズによる主観的画品質の劣化は大きな問題である。
【０００６】
これに対して、近年は、以下の文献〔１〕〜〔５〕が報告されている。
〔１〕Michael F. Barnsley, Lyman P. Hurd "FRACTAL IMAGE COMPRESSION"  AK Peters Ltd., 1993
〔２〕井田  孝，駄竹  建志"反復変換符号化による画像圧縮"第５回  回路とシステム軽井沢ワークショップ論文集，pp.137-142, 1992
〔３〕ユ  ヒョンベ，高橋  隆史，河野  裕之，徳永  隆治"グラム・シュミットの直交化を応用したＬＩＦＳ画像符号化法の画品質改善"電子情報通信学会技術研究報告，vol.NLP-98, no.146, pp.37-42,1998
〔４〕渡邊  敏明，大関  和夫"平均値を用いた交流成分予測方式の一検討"画像符号化シンポジウム(PCSJ89), pp29-30, Oct. 1989
〔５〕高橋  隆史，徳永  隆治"画像のブロック平均値から交流成分を予測する高速演算アルゴリズム"電子情報通信学会論文誌 Vol.J81-D-II No.4, pp.778-780, Apr. 1998
ここで、方式〔１〕，〔２〕は復号演算負荷の小さな圧縮方式としてのフラクタル符号化、方式〔３〕はＪＰＥＧと同程度の符号化効率を有する適応的直交変換の改良、そして、方式〔４〕，〔５〕はブロック平均値（ＤＣ値）に基づく交流成分予測に関する。
【０００７】
中でも方式〔３〕は、画像をＫ×Ｋ画素の正方形ブロックに分割し、全ブロックを許容誤差Ｚに応じて、交流成分予測法，フラクタル変換法，適応的直交変換の何れかで近似するブロック符号化法である。交流成分予測法は自ブロックを含む周囲のブロック平均値（ＤＣ値）から自ブロックの交流成分（加算データ）を求め、対象画像との残差を符号化する平均値分離方式に利用される。また適応的直交変換は、画像が有する自己相似性を利用し、ベクトル量子化のコードブックに相当する画像（ネスト）からブロック画像を近似するための基底ベクトルを抽出し、グラム・シュミット法によって必要最小次元の直交基底系を構成する方式である。
【０００８】
しかし、上記方式〔１〕，〔２〕のフラクタル変換は、復号において反復計算を必要とし、かつ画像平面規模のワークスペースを消費するため、ビデオゲーム機等には不向きである。また方式〔３〕の適応的直交変換では、ネストとして対象画像と等しい大きさの加算データを利用するため、復号時に非常に大きなワークスペースを必要とする。更には、復号時に解凍されたブロックを逐次的にネスト上の対応するブロックへ書き戻すため、画品質は改善されるが、アドレス計算及びデータ転送の負荷が重い。更にまた、方式〔３〕
では基底の座標及びサンプリング係数の圧縮にハフマン符号を適用しているが、自然画像ではどの基底の出現頻度にも大きな偏りが無いため、圧縮効率が上がらないのみか、ハフマン復号の計算量のみが消費されている。また適応的直交変換では、画像により必要最小次元の直交基底数が多くなる場合があるが、基底数が多くなると残差ベクトルを直接符号化するよりも多くのビット数が使用され、符号化効率が低下する。
【０００９】
また方式〔４〕の交流成分予測法では、画像中の輪郭部分周辺でオーバーシュートやアンダーシュートを発生する傾向があり、輝度の立ち上がりが鋭い人工画像では逆に画品質を劣化させる傾向がある。また方式〔５〕の段階的交流成分予測方式では、ＣＰＵ負荷が重いばかりか、中間的に生成される補間値の記憶領域が必要となる。
【００１０】
図１７に段階的交流成分予測方式のイメージを示す。図１７（Ａ）において、段階的交流成分予測方では、注目ブロックを含む周囲４ブロックの各ＤＣ値（Ｓ，Ｕ，Ｒ，Ｂ，Ｌ）から注目ブロックＳ上のサブブロックＳ1 〜Ｓ4 の各ＤＣ値を次式により推定する。
【００１１】
Ｓ1 ＝Ｓ＋（Ｕ＋Ｌ−Ｂ−Ｒ）／８
Ｓ2 ＝Ｓ＋（Ｕ＋Ｒ−Ｂ−Ｌ）／８
Ｓ3 ＝Ｓ＋（Ｂ＋Ｌ−Ｕ−Ｒ）／８
Ｓ4 ＝Ｓ＋（Ｂ＋Ｒ−Ｕ−Ｌ）／８
図１７（Ｂ）において、上記方式を再帰的に適用することで、更にサブブロックＳ1 上の４画素Ｐ1 〜Ｐ4 の各画素値を次式により推定できる。
【００１２】
Ｐ1 ＝Ｓ1 ＋（Ｕ3 ＋Ｌ2 −Ｓ3 −Ｓ2 ）／８
Ｐ2 ＝Ｓ1 ＋（Ｕ3 ＋Ｓ2 −Ｓ3 −Ｌ2 ）／８
Ｐ3 ＝Ｓ1 ＋（Ｓ3 ＋Ｌ2 −Ｕ3 −Ｓ2 ）／８
Ｐ4 ＝Ｓ1 ＋（Ｓ3 ＋Ｓ2 −Ｕ3 −Ｌ2 ）／８
また同様にして、サブブロックＳ2 上の４画素Ｐ1 〜Ｐ4 の各画素値を次式により推定できる。
【００１３】
Ｐ1 ＝Ｓ2 ＋（Ｕ4 ＋Ｓ1 −Ｓ4 −Ｒ1 ）／８
Ｐ2 ＝Ｓ2 ＋（Ｕ4 ＋Ｒ1 −Ｓ4 −Ｓ1 ）／８
Ｐ3 ＝Ｓ2 ＋（Ｓ4 ＋Ｓ1 −Ｕ4 −Ｒ1 ）／８
Ｐ4 ＝Ｓ2 ＋（Ｓ4 ＋Ｒ1 −Ｕ4 −Ｓ1 ）／８
以下同様にして、サブブロックＳ３，Ｓ４ 上の各４画素Ｐ1 〜Ｐ4 の各画素値を推定できる。
【００１４】
しかし、最初のＤＣ値（Ｓ，Ｕ，Ｒ，Ｂ，Ｌ）から出発して原画像の全予測値Ｐ1 〜Ｐ4 を得るには、上記方式を段階的に適用して細分化しなくてはならず、中間値を保持するメモリが必要なばかりか、ＣＰＵの演算負荷も増大する。
【発明が解決しようとする課題】
【００１５】
本発明は上記従来技術の問題点に鑑み成されたもので、その目的とする所は、コンピュータ利用可能な画像データに対して高い画品質を保持しつつ画像データの圧縮率を高めると共に、符号／復号時の計算負荷を軽減できる画像符号／復号方法及びそのプログラムを記録した記録媒体並びに装置を提供することにある。
【００１６】
【課題を解決するための手段】
上記の課題は例えば図１（Ａ）の構成により解決される。即ち、本発明（１）の画像符号方法は、画像データを複数の画素ブロックに分割して各ブロック平均値からなるＤＣ画像を生成するステップと、前記各画素ブロックからそれぞれのブロック平均値を分離してブロック毎の残差ベクトルを求めると共に、該残差ベクトルの大きさが所定の許容値を超えていることにより、前記ＤＣ画像の一部を基底ベクトルの巣として使用した適応的直交変換により、前記残差ベクトルを近似するための１又は２以上の正規化直交基底ベクトルと展開係数（α）との積からなる直交基底系を求めるステップと、前記求めた直交基底系をこれと等価なスカラー展開係数（β）と基底ベクトルとの積からなる基底系に変換するステップと、前記画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに前記基底ベクトルの巣より基底ベクトルを抽出するための座標情報をそれぞれ符号化して符号データを作成するステップとを備えるものである。
【００１７】
本発明（１）におけるネスト（基底ベクトルの巣）は、原画像を１／ブロックサイズに縮小したものであるため、特に、エッジや平坦な輝度成分を多く含むような人工画像（ＣＧ画像，アニメーション画像等）への適用例では、比較的小さいＤＣネストに原画像の特徴的な画像要素が漏れなく含まれると共に、このような原画像と縮小されたネストとの間には強い相関が得られる。
【００１８】
従って、本発明（１）によれば、小さいネスト（メモリ）を使用して、原画像に含まれる特徴的な画像要素（基底ベクトル）を漏れなく、かつ能率よく（高速に）探索できる。また、このように縮小されたネストを使用しても、残差ベクトルを許容値以下に近似するための１又は２以上の直交基底を求める構成により、最終的に所要の画品質が得られる。
【００１９】
好ましくは、上記本発明（１）において、残差ベクトルの大きさが許容値未満の場合は、直交基底を求める代わりに、基底数＝０の情報を符号化する。
【００２０】
例えば、一般に輝度の立ち上がりが鋭い人工画像に対しては、輪郭部分が近傍に存在しない（即ち、残差ベクトルの大きさが許容値未満の）画素ブロックに対して基底数＝０の符号が限定的に生成される。従って、このような画素ブロックについては高い画像圧縮率が得られる。
【００２１】
一方、復号側では対応する画素ブロックに対して限定的に段階的交流成分予測法又は本発明による非段階的交流成分予測法を適用することで、少ないＣＰＵ及びメモリ負荷で画素ブロックを再生できる。
【００２２】
また好ましくは、上記本発明（１）において、求めた直交基底系の総符号量が残差ベクトルの総符号量以上となる場合は、直交基底系の符号化に代えて、残差ベクトルそのものを符号化する。従って、画像圧縮率をいたずらに低下させることが無い。
【００２３】
また好ましくは、上記本発明（１）において、予め求められた基底数ｎｋにより残差ベクトル〈ｄ〉との第１の誤差〈ｄnk〉が許容値未満となる場合に、前記求められた順にｍ（０≦ｍ＜ｎｋ）個の基底を使用した後の第２の誤差ベクトル〈ｄm 〉を、使用されなかった余基底数ｙｋ（＝ｎｋ−ｍ）に対応して予め定められた量子化係数Ｑykでスカラー量子化し、かつこれをスカラー逆量子化して、これを前記第２の誤差ベクトル〈ｄm 〉から引いて得られるｎｋ種類の第３の誤差ベクトル〈ｄ'm 〉と前記第１の誤差〈ｄnk〉との中で最も誤差が小さいものを選択し、対応する基底及び必要なら第２の誤差ベクトルを併せて符号化するものである。
【００２４】
以下、図１２（Ａ）の（ｃ），（ｄ）を参照して一例の符号方法を具体的に説明する。図１２（Ａ）の（ｃ）において、今、残差ベクトル〈ｄ〉との誤差の大きさ‖〈ｄnk〉‖を許容値Ｚ未満とするようなｎｋ（例えばｎｋ＝３）個の基底からなる線形結合、
〈ｄ〉≒β1 〈ｖ1 〉＋β2 〈ｖ2 〉＋β3 〈ｖ3 〉        （ｎｋ＝３）
が求まったとする。但し、〈ｖ〉はｖがベクトルであることを表す。
【００２５】
上記ｎｋ＝３個の基底を使用した場合の第１の誤差ベクトル〈ｄ3 〉＝〈ｄnk〉及び前記求められた順にｍ（０≦ｍ＜ｎｋ）個の基底を使用した後の第２の誤差ベクトル〈ｄ0 〉〜〈ｄ2 〉については次の関係がある。
【００２６】
〈ｄ0 〉＝〈ｄ〉                              （ｍ＝０，ｙｋ＝３）
〈ｄ1 〉＝〈ｄ〉−β1 〈ｖ1 〉                  （ｍ＝１，ｙｋ＝２）
〈ｄ2 〉＝〈ｄ〉−β1 〈ｖ1 〉−β2 〈ｖ2 〉      （ｍ＝２，ｙｋ＝１）
〈ｄ3 〉＝〈ｄ〉−β1 〈ｖ1 〉−β2 〈ｖ2 〉−β3 〈ｖ3 〉
（ｍ＝３，ｙｋ＝０）
図１２（Ａ）の（ｄ）において、上記第２の誤差ベクトル〈ｄ0 〉〜〈ｄ2 〉を、使用されなかった余基底数ｙｋ＝３，２，１に対応して予め定められた量子化係数Ｑyk（例えばＱ3 ＝６，Ｑ2 ＝７，Ｑ1 ＝８）により夫々にスカラー量子化（かつクリッピング）し、かつこれらを同量子化係数Ｑykで夫々逆量子化して逆量子化後の第２の誤差ベクトル〈ｄ0 Ｑ'〉〜〈ｄ2 Ｑ'〉を求める。
【００２７】
〈ｄ0 Ｑ'〉＝［〈ｄ0 〉／Ｑ3 ］×Ｑ3 
〈ｄ1 Ｑ'〉＝［〈ｄ1 〉／Ｑ2 ］×Ｑ2 
〈ｄ2 Ｑ'〉＝［〈ｄ2 〉／Ｑ1 ］×Ｑ1 
但し、記号［  ］は演算結果の整数化を表す。
【００２８】
更に、これらを前記第２の誤差ベクトル〈ｄ0 〉，〈ｄ1 〉，〈ｄ2 〉から夫々に差し引いて得られる第３の誤差ベクトル〈ｄ' 0 〉〜〈ｄ' 2 〉を求める。
【００２９】
〈ｄ' 0 〉＝〈ｄ0 〉−〈ｄ0 Ｑ' 〉
〈ｄ' 1 〉＝〈ｄ1 〉−〈ｄ1 Ｑ' 〉
〈ｄ' 2 〉＝〈ｄ2 〉−〈ｄ2 Ｑ' 〉
ところで、これらの第３の誤差ベクトル〈ｄ' 0 〉〜〈ｄ' 2 〉の大きさは、必ずしも前記第１の誤差ベクトル〈ｄ3 〉よりも大きいとは限らない。即ち、３個の基底β1 〈ｖ1 〉＋β2 〈ｖ2 〉＋β3 〈ｖ3 〉を符号化した結果、その復号後の誤差が前記第１の誤差ベクトル＝〈ｄ3 〉となるよりも、例えば２個の基底β1 〈ｖ1 〉＋β2 〈ｖ2 〉を符号化し、かつその残りの１基底分の符号量を利用して第２の誤差ベクトル〈ｄ2 〉をスカラー量子化した結果、その復号後の誤差が前記第３の誤差ベクトル＝〈ｄ' 2 〉となる方が、最終的な復号誤差は小さいかも知れない。
【００３０】
そこで、第３の誤差ベクトル〈ｄ' 0 〉，〈ｄ' 1 〉，〈ｄ' 2 〉と第１の誤差ベクトル〈ｄ3 〉とのなかで、最も誤差が小さいものを選択して対応する基底及び必要なら第２の誤差ベクトルを符号化するものである。
【００３１】
上記の例で言うと、もし第３の誤差ベクトル〈ｄ' 2 〉が最も誤差が小さい場合は、直交基底系として｛β1 〈ｖ1 〉＋β2 〈ｖ2 〉｝を採用し、これらを符号化すると共に、第２の誤差ベクトル〈ｄ2 〉を併せて符号化（スカラー量子化）する。このようにして生成した符号は、基底をｎｋ個使用する場合の総符号量よりも大きくはならない様に量子化係数Ｑykを定めているので、画素ブロック当たりの符号量を増加させずに画品質のみを向上させることが出来る。
【００３２】
この様に、上記においては、適応的直交変換と、必要ならｍ個の基底を使用した後の第２の誤差ベクトルのスカラー量子化とを併用する構成により、残差ベクトル〈ｄ〉をより高い精度で符号化可能となる。また、その際には、第２の誤差ベクトルを余基底数ｙｋ（＝ｎｋ−ｍ）に応じた量子化係数Ｑykでスカラー量子化し、かつこれを余基底数ｙｋ分の符号量に符号化するので、当該画素ブロックに対する総符号量を増さずに画品質のみを向上させ、かつ当該画素ブロック当たりの符号長を復号容易な形（所定ビット数の倍数）にでき、よって復号時の演算負荷が大幅に軽減される。
【００３３】
また図１（Ｂ）の構成による画像符号／復号方法は、Ｋ×Ｋ画素のブロック平均値からなる自ブロックＳを含む上下左右Ｕ，Ｂ，Ｌ，Ｒの計５つのＤＣ画像データに基づき、自ブロックＳ上の左上の第１のサブブロックＳ1 の（Ｋ／２）×（Ｋ／２）の各画素データＰ1 〜Ｐ4 を次式、
Ｐ1 ＝Ｓ＋（２Ｕ＋２Ｌ−２Ｓ−Ｂ−Ｒ）／８
Ｐ2 ＝Ｓ＋（２Ｕ−Ｂ−Ｒ）／８
Ｐ3 ＝Ｓ＋（２Ｌ−Ｂ−Ｒ）／８
Ｐ4 ＝Ｓ＋（２Ｓ−Ｂ−Ｒ）／８
また自ブロックＳ上の右上の第２のサブブロックＳ2 の（Ｋ／２）×（Ｋ／２）の各画素データＰ1 〜Ｐ4 を次式、
Ｐ1 ＝Ｓ＋（２Ｕ−Ｂ−Ｌ）／８
Ｐ2 ＝Ｓ＋（２Ｕ＋２Ｒ−２Ｓ−Ｂ−Ｌ）／８
Ｐ3 ＝Ｓ＋（２Ｓ−Ｂ−Ｌ）／８
Ｐ4 ＝Ｓ＋（２Ｒ−Ｂ−Ｌ）／８
また自ブロックＳ上の左下の第３のサブブロックＳ3 の（Ｋ／２）×（Ｋ／２）の各画素データＰ1 〜Ｐ4 を次式、
Ｐ1 ＝Ｓ＋（２Ｌ−Ｕ−Ｒ）／８
Ｐ2 ＝Ｓ＋（２Ｓ−Ｕ−Ｒ）／８
Ｐ3 ＝Ｓ＋（２Ｂ＋２Ｌ−２Ｓ−Ｕ−Ｒ）／８
Ｐ4 ＝Ｓ＋（２Ｂ−Ｕ−Ｒ）／８
及び又は、自ブロックＳ上の右下の第４のサブブロックＳ4 の（Ｋ／２）×（Ｋ／２）の各画素データＰ1 〜Ｐ4 を次式、
Ｐ1 ＝Ｓ＋（２Ｓ−Ｕ−Ｌ）／８
Ｐ2 ＝Ｓ＋（２Ｒ−Ｕ−Ｌ）／８
Ｐ3 ＝Ｓ＋（２Ｂ−Ｕ−Ｌ）／８
Ｐ4 ＝Ｓ＋（２Ｂ＋２Ｒ−２Ｓ−Ｕ−Ｌ）／８
により求めるものである。
【００３４】
上記においては、自ブロックを含む近傍のＤＣ画像データＳ，Ｕ，Ｂ，Ｌ，Ｒから無段階で自ブロックＳ上のＫ×Ｋ画素の画素データを直接に求める構成により、画像符号／復号時のＣＰＵ及びメモリ負荷が大幅に軽減される。なおこの方法は、画像符号時には交流成分の予測等に、また画像復号時には交流成分の再生等に利用できる。
【００３５】
また本発明（２）の画像復号方法は、請求項１記載の符号データを入力して画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに基底ベクトルの巣より基底ベクトルを抽出するための座標情報を復号するステップと、前記復号したブロック平均値によりＤＣ画像を再生し、その一部を基底ベクトルの巣となすステップと、前記復号した画素ブロック毎の座標情報により前記基底ベクトルの巣から抽出した基底ベクトルに前記復号したスカラー展開係数を掛けて残差ベクトルを近似した近似ベクトルを再生するステップと、該再生した近似ベクトルに前記復号したブロック平均値を加算して各画素ブロックを復号するステップとを備えるものである。
【００３６】
また本発明（３）の記録媒体は、画像データを複数の画素ブロックに分割して各ブロック平均値からなるＤＣ画像を生成するステップと、前記各画素ブロックからそれぞれのブロック平均値を分離してブロック毎の残差ベクトルを求めると共に、該残差ベクトルの大きさが所定の許容値を超えていることにより、前記ＤＣ画像の一部を基底ベクトルの巣として使用した適応的直交変換により、前記残差ベクトルを近似するための１又は２以上の正規化直交基底ベクトルと展開係数との積からなる直交基底系を求めるステップと、前記求めた直交基底系をこれと等価なスカラー展開係数と基底ベクトルとの積からなる基底系に変換するステップと、前記画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに前記基底ベクトルの巣より基底ベクトルを抽出するための座標情報をそれぞれ符号化して符号データを作成するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体である。
また本発明（４）の記録媒体は、請求項１記載の符号データを入力して画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに基底ベクトルの巣より基底ベクトルを抽出するための座標情報を復号するステップと、前記復号したブロック平均値によりＤＣ画像を再生し、その一部を基底ベクトルの巣となすステップと、前記復号した画素ブロック毎の座標情報により前記基底ベクトルの巣から抽出した基底ベクトルに前記復号したスカラー展開係数を掛けて残差ベクトルを近似した近似ベクトルを再生するステップと、該再生した近似ベクトルに前記復号したブロック平均値を加算して各画素ブロックを復号するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体である。
【００３７】
また本発明（５）の画像符号装置は、画像データを複数の画素ブロックに分割して各ブロック平均値からなるＤＣ画像を生成するＤＣ画像生成手段と、前記各画素ブロックからそれぞれのブロック平均値を分離してブロック毎の残差ベクトルを求めると共に、該残差ベクトルの大きさが所定の許容値を超えていることにより、前記ＤＣ画像の一部を基底ベクトルの巣として使用した適応的直交変換により、前記残差ベクトルを近似するための１又は２以上の正規化直交基底ベクトルと展開係数との積からなる直交基底系を求める演算手段と、前記求めた直交基底系をこれと等価なスカラー展開係数と基底ベクトルとの積からなる基底系に変換する変換手段と、前記画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに前記基底ベクトルの巣より基底ベクトルを抽出するための座標情報をそれぞれ符号化して符号データを作成する符号化手段とを備えるものである。
また本発明（６）の画像復号装置は、請求項１記載の符号データを入力して画素ブロック毎のブロック平均値及びその残差ベクトルを近似した基底系のスカラー展開係数並びに基底ベクトルの巣より基底ベクトルを抽出するための座標情報を復号する復号手段と、前記復号したブロック平均値によりＤＣ画像を再生し、その一部を基底ベクトルの巣となすネスト生成手段と、前記復号した画素ブロック毎の座標情報により前記基底ベクトルの巣から抽出した基底ベクトルに前記復号したスカラー展開係数を掛けて残差ベクトルを近似した近似ベクトルを再生する近似ベクトル再生手段と、該再生した近似ベクトルに前記復号したブロック平均値を加算して各画素ブロックを復号する画像復号手段とを備えるものである。
【００３８】
【発明の実施の形態】
以下、添付図面に従って本発明に好適なる実施の形態を詳細に説明する。なお、全図を通して同一符号は同一又は相当部分を示すものとする。図２は実施の形態による画像符
号／復号方式の構成を示す図で、ゲームシステムへの適用例を示している。
【００３９】
図２において、１０はゲーム機本体、１１はゲーム機の主制御｛ゲームプログラム，３ＤＣＧ及びテクスチャデータＴＸＤの読込制御，ユーザによるゲーム操作データの読込制御等）並びに３ＤＣＧアニメーションに係るゲーム処理（ゲームキャラクタの移動処理等）を行うＣＰＵ（ゲームプロセッサ）、１２はＣＰＵ１１が使用するＲＡＭ，ＲＯＭ，ＥＥＰＲＯＭ等からなる主メモリ（ＭＭ）、１３はＣＰＵ１１のローカル（ホスト）バス、１４はデータを高速転送可能なバス、１５はバス間の接続（及び競合調停）制御を行うブリッジ、１６はユーザがゲーム操作やパラメータ設定等を行うための各種制御キー（スタートキー，選択キー，十字キー等）や、マウス，ジョイスティック等の位置入力手段を備える操作パッド、１７は操作パッド１６をゲームシステムに収容する周辺インタフェース（ＰＩＦ）、１８はゲームプログラム（処理手順，ゲームパラメータ，３ＤＣＧモデルデータ，テクスチャデータ等）をマスクＲＯＭ等に記録しているＲＯＭカートリッジ（ＲＯＭ−Ｃ）、１９はＲＯＭカートリッジ１８をゲームシステムに着脱自在に収容可能なＲＯＭカートリッジインタフェース（ＲＯＭ−ＣＩＦ）、２０は上記ゲームプログラムを記録しているコンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、２１はＣＤ−ＲＯＭ２０をゲームシステムに着脱自在に収容し、駆動可能なＣＤ−ＲＯＭドライバ、２２は、ゲームプログラムのオンラインダウンロードや他のゲーム機との間で対戦ゲームを行うために、本システムを不図示の公衆網に接続する通信制御部（ＣＯＭ）、２３は通信線である。
【００４０】
更に、３０は入力の３ＤＣＧモデルデータを２Ｄ画面に透視変換するための３Ｄアクセラレータ、３１はジオメトリプロセッサ、３２はキャラクタ，背景等の各基準位置データ、及びその形状モデルデータに従って３Ｄ空間上の各対応位置にポリゴン等の集合からなる実サイズの３ＤＣＧモデルを生成・展開するモデリング変換部、３３は前記生成モデルに対して光線（太陽光，照明光等）を考慮した陰影を付ける陰影処理部、３４はワールド座標系ＸＹＺにおける３ＤＣＧ画像データをカメラ視点情報に従う視点座標系ｘｙｚの３ＤＣＧ画像データに変換する視点変換部、３５はカメラの視点情報（視点座標系ｘｙｚ）に従って３ＤＣＧ生成モデルの透視変換を行う透視変換部である。
【００４１】
更に、３６は表示ラスタに同期した処理を行うレンダリング（ラスタ）プロセッサ、３７は透視変換後の各画素データをＣＲＴ４５の走査線アドレスｘ，ｙに従って抽出する走査線分解部、３８はＺバッファ、３９はＺバッファ３８を使用して画面４５Ａに見えないはずの部分の画素データを画面４５Ａに見える部分の画素データで書き換える隠面消去部、４０は本発明による入力のテクスチャ圧縮データを解凍（復号）するテクスチャ復号部、４１はテクスチャデータを一時的に蓄えるテクスチャバッファ、４２は画面４５Ａに見える部分の各画素データに対してテクスチャバッファ４１の各対応するテクスチャデータを貼付けるテクスチャ処理部、４３は出力のカラー画像データ（Ｒ，Ｇ，Ｂ）を記憶するフレームメモリ、４４はフレームメモリ４３のカラー画素データをアナログ画素信号に変換してＣＲＴ４５にビデオ信号ＶＳを提供するＤ／Ａ変換部（ＤＡＣ）、４５は表示部としての例えばカラーＣＲＴモニタ、４５Ａはその表示画面、４６はＣＲ４５の水平垂直同期信号Ｈ，Ｖ及び３Ｄアクセラレータ３０のｘ，ｙ同期信号を発生するＣＲＴ制御部（ＣＲＴＣ）である。
【００４２】
更に、外部のゲーム作成装置５０は、ゲームプログラム（処理手順，ゲームパラメータ，３ＤＣＧモデルデータ，テクスチャデータ等）を作成してＲＯＭカートリッジ１８又はＣＤ−ＲＯＭ２０に記録する。またテクスチャデータの作成時には本発明による画像符号化方式が実行され、画像圧縮されたテクスチャデータＴＸＤがＲＯＭカートリッジ１８又はＣＤ−ＲＯＭ２０に記録される。そして、この画像圧縮されたテクスチャデータＴＸＤはテクスチャ復号部４０で高速に復号され、更に２Ｄ透視画像に貼りつけられ、画面４５Ａに表示される。以下、ゲーム作成装置５０における画像符号（圧縮）処理を説明する。
【００４３】
図３〜図７は実施の形態による画像符号化処理のフローチャート（１）〜（５）、図８は同画像符号化処理のテーブルを説明する図、図９〜図１２は同画像符号化処理のイメージ図（１）〜（４）であり、以下、これらの図を参照して画像符号化処理の詳細を説明する。
【００４４】
なお、明細書を通して、記号〈  〉はベクトル、記号‖  ‖はベクトルの大きさ、記号・はベクトルの内積、記号［演算］は演算結果の整数化を夫々表す。但し、記号［演算］を異なる意味で使用する場合はその旨を付記する。また図や［数］中のベクトルを太文字で表す。
【００４５】
また、フローチャートにおいて、原画像のサイズを横ｎ，縦ｍ画素とする。また、記号Ｔm,n は画像Ｔのｍ行ｎ列から４×４画素の正方形ブロックを取り出した部分画像データを表し、記号Ｂy,x,sy,sx はＤＣ画像のｙ行，ｘ列から横方向にｓｘ，縦方向にｓｙのステップで４×４の合計１６画素分のデータを取り出したブロックを表すものとする。
【００４６】
図３は画像符号化処理のメイン処理を示している。ステップＳ１では原画像データを読み込む。図９（Ａ）に原画像データＴのイメージを示す。ＲＧＢ系の対象画像をＹＵＶ系に変換して読み込む。Ｙは輝度データ、Ｕ，Ｖは色差データに相当し、Ｕ，Ｖは横２画素の輝度平均を用いてダウンサンプリングされる。一例の輝度データＹは縦９６０×横１２８０画素から成り、Ｕ，Ｖは夫々縦９６０×横６４０画素からなる。Ｙ，Ｕ，Ｖの各画素データには夫々例えば８ビットが割り付けられている。
【００４７】
なお、以下は輝度データＹの処理を中心に述べるが、Ｕ，Ｖについても同様に処理できる。
【００４８】
図３に戻り、ステップＳ２ではＤＣ画像作成処理を実行する。ＤＣ画像作成処理は原画像を４×４画素のブロック毎に分割し、各ブロックの平均値ＭよりなるＤＣ画像を作成する処理である。図４にＤＣ画像作成処理のフローチャートを示す。ステップＳ２１では原画像のアドレスレジスタｉ，ｊを共に「０」に初期化する。ステップＳ２２ではＤＣ画像のアドレスレジスタＩ，Ｊにｉ／４．ｊ／４をセットする。ステップＳ２３では原画像から４×４画素のブロックデータＴj,i を取り出す。ステップＳ２４ではブロックデータＴj,i に含まれる１６画素データの平均値Ｍを求める。ステップＳ２５では該平均値ＭをＤＣ画像の記憶位置ＤＣJ,I に格納する。ステップＳ２６ではｉに＋４し、ステップＳ２７ではｉ＞ｎか否かを判別する。ｉ＞ｎでない場合はステップＳ２２に戻り、今度は次列のブロックデータＴj,i の平均値Ｍを求め、次列のＤＣJ,I に格納する。以下同様にして進み、やがてステップＳ２７の判別でｉ＞ｎになると、ステップＳ２８ではｉを「０」に初期化し、かつｊに＋４する。ステップＳ２９ではｊ＞ｍか否かを判別し、ｊ＞ｍでない場合はステップＳ２２に戻り、今度は次行のブロックデータＴj,i の平均値Ｍを求め、次行のＤＣJ,I に格納する。以下同様にして進み、やがてステップＳ２９の判別でｊ＞ｍになると、この処理を抜ける。
【００４９】
図９（Ｂ）にＤＣ画像データＤＣのイメージを示す。１例のＤＣ画像は縦２４０×横３２０のＤＣ値から成っている。
【００５０】
図３に戻り、ステップＳ３ではＤＣ画像を２次元ＤＰＣＭにより符号化して出力する。図１０（Ａ）に２次元ＤＰＣＭの処理イメージを示す。今、ＤＣ画像のＪ行，Ｉ列のＤＣ値をＤＣJ,I とする時に、該ＤＣJ,I の予測値ＤＣ' J,I を例えばＤＣ' J,I ＝（ＤＣJ,I-1 ＋ＤＣJ-1,I ）／２により求め、その予測誤差ΔＤＣJ,I ＝ＤＣJ,I −ＤＣ' J,I を量子化係数ＱS によりスカラー量子化｛即ち、［ΔＤＣJ,I ／ＱS ］｝して出力する。但
し、この場合の記号［ａ］は実数ａを四捨五入した結果を表す。なお、予測誤差ΔＤＣJ,I が「０」の場合のみランレングスを考慮して、予測誤差ΔＤＣJ,I 及びランレングスを夫々独立にハフマン符号化する。
【００５１】
図８（Ａ）に量子化係数ＱS のテーブルを示す。量子化係数ＱS の値は複数段階の許容誤差Ｚと対応付けられている。使用者は、高い画品質を要求する時は許容誤差Ｚを小の範囲で選び、また低い画品質でも良い時は許容誤差Ｚを大の範囲で選ぶ。これに応じて量子化係数ＱS は１〜８の範囲で変化する。
【００５２】
図３に戻り、ステップＳ４では原画像のアドレスレジスタｉ，ｊを共に「０」に初期化する。ステップＳ５ではＤＣ画像のアドレスレジスタＩ，Ｊにｉ／４，ｊ／４をセットする。ステップＳ６では４×４の画素ブロックに対応する１６次元の残差ベクトル〈ｄ〉を、
〈ｄ〉＝Ｔj,i −ＤＣJ,I 
により求める。
【００５３】
図１０（Ｂ）に残差ベクトル〈ｄ〉のイメージを示す。残差ベクトル〈ｄ〉の各要素には夫々８ビットが割り付けられている。
【００５４】
図３に戻り、ステップＳ７では残差ベクトル〈ｄ〉の大きさ（２乗）が許容誤差Ｚより小さいか否かを判別する。小さい場合は、復号側でこの部分のブロック画像データＴj,i を後述の非段階的交流成分予測法により高精度に復元できるので、フローはステップＳ１８に進み、基底数「０」を符号Ｆ1 として出力する。また小さくない場合は、残差ベクトル〈ｄ〉を近似するための基底ベクトルを探査すべく、ステップＳ８に進み、適応的直交化処理を実行する。
【００５５】
図１１に適応的直交化処理のイメージを示す。適応的直交化処理は、残差ベクトル〈ｄ〉を許容近似誤差Ｚ以内に近似するために必要な基底ベクトルの個数ｎｋと、各基底ベクトル〈ｖnk〉とを求める処理である。本実施の形態では、原画像を縦横とも１：Ｋ（例えばＫ＝４）で圧縮したＤＣ画像の一部を切り出してネストとして用い、ネストの軽量化を図っている。
【００５６】
図１１（Ａ）において、ＤＣ画像から例えば縦３９×横７１のＤＣ値の領域を切り出してネストとする。また基底ベクトル〈ｖnk〉の探査は、縦横１ＤＣ値毎に頂点（ｘ，ｙ）∈［０，６３］×［０，３１］を設定し、かつそのサブサンプル間隔は（ｓｘ，ｓｙ）∈｛（１，１），（１，２），（２，１），（２，２）｝の計４種類とする。なお、これは一例であり、ネストのサイズ、切り出し位置、基底ベクトルのサブサンプル間隔等は任意に設定できる。
【００５７】
図１１（Ｂ）はネストから各種パターンでサンプリングされた各ＤＣ値が基底ベクトル〈ｖnk〉の４×４の記憶領域に集められる状態を示している。即ち、（ｓｘ，ｓｙ）＝（１，１）の時はネスト上の４×４の領域から４×４のＤＣ値が集められ、また（ｓｘ，ｓｙ）＝（１，２）の時はネスト上のｙ方向に間延びした領域から４×４のＤＣ値が集められ、また（ｓｘ，ｓｙ）＝（２，１）の時はネスト上のｘ方向に間延びした領域から４×４のＤＣ値が集められ、また（ｓｘ，ｓｙ）＝（２，２）の時はネスト上のｘ及びｙ方向に間延びした領域から４×４のＤＣ値が集められ、基底ベクトル〈ｖnk〉の記憶領域に格納される。これは原画像が有する自己相似性を利用して、ネスト上のＤＣ画像から様々な角度で原画像の画素ブロックに似た画像を探査する処理である。
【００５８】
図５，図６は実施の形態による適応的直交化処理のフローチャートである。 図５にお
いて、ステップＳ３１では誤差レジスタＥrrに大きな値（例えば１０００００）をセットし、かつ基底数レジスタｎｋを「１」に初期化する。ステップＳ３２ではネスト画像の開始アドレスレジスタｘ，ｙを共に「０」に初期化する。ステップＳ３３ではネスト画像のサブサンプル間隔レジスタｓｘ，ｓｙを共に「１」に初期化する。
【００５９】
ステップＳ３４ではネスト画像から４×４のＤＣブロック画像Ｂy,x,sy,sx を取り出して基底ベクトル〈ｖnk〉｛後述の図１１（Ｃ）における基底ベクトル〈ｕnk〉に相当｝を作成し、かつｎｋ＞１の場合はグラム・シュミットの直交化法により、それ以前の基底ベクトルと直交化する。
【００６０】
グラム・シュミットの直交化法とは、ｎ次元内積空間Ｖの一つの基底｛ｖ1 ，…，ｖn ｝よりＶの正規直交基底｛ｖ'1，…，ｖ' n ｝を構成する方法であり、以下、図１１（Ｃ）を参照してグラム・シュミットの直交化法を概説する。 第１の基底ベクトル〈ｖ1〉（但し、〈u1〉に相当）とすると、第１の正規化基底ベクトル〈ｖ'1〉は単位ベクトルであるから、
【００６１】
【数１】
0003814637.tif 000002
【００６２】
とおける。次にネスト画像から第２の基底ベクトル〈u２〉が抽出されたとすると、前記第１の正規化基底ベクトル〈ｖ'1〉と直交するような第２の直交基底ベクトル〈ｖ2 〉は仮に、
【００６３】
【数２】
0003814637.tif 000003
【００６４】
と置ける。すると、〈ｖ2 〉・〈ｖ'1〉＝０より、
【００６５】
【数３】
0003814637.tif 000004
【００６６】
の関係が得られる。この時、スカラー係数ｋは、
【００６７】
【数４】
0003814637.tif 000005
【００６８】
となる。更に係数ｋを上式に代入すると、第２の直交基底ベクトル〈ｖ2 〉は、
【００６９】
【数５】
0003814637.tif 000006
【００７０】
で表せる。そして、第２の正規化基底ベクトル〈ｖ'2〉も単位ベクトルであるから、
【００７１】
【数６】
0003814637.tif 000007
【００７２】
となる。以下同様にして、一般に第ｎの正規化基底ベクトル〈ｖ'n 〉は、
【００７３】
【数７】
0003814637.tif 000008
【００７４】
となる。
【００７５】
ステップＳ３５では正規化基底ベクトル〈ｖ' nk〉を使用し、残差ベクトル〈ｄ〉との距離が最小となる様な基底ベクトルの展開係数αnkを求める。
【００７６】
図１２（Ａ）の（ａ）に正規化基底ベクトル〈ｖ' nk〉を使用して残差ベクトル〈ｄ〉を近似する処理のイメージを示す。図１２（Ａ）の（ａ）において、残差ベクトル〈ｄ〉と展開係数αnkを掛けた基底ベクトルαnk〈ｖ' nk〉との差ベクトル｛〈ｄ〉−αnk〈ｖ' nk〉｝の大きさが最小となるのは、基底ベクトルαnk〈ｖ' nk〉と差ベクトル｛〈ｄ〉−αnk〈ｖ' nk〉｝とが直交する時（内積＝０）であるから、下式に従い正規化基底ベクトル〈ｖ' nk〉の展開係数αnkが求まる。
【００７７】
【数８】
0003814637.tif 000009
【００７８】
図１２（Ａ）の（ｂ）については後述する。
【００７９】
図５に戻り、ステップＳ３６では残差ベクトル〈ｄ〉を基底ベクトルαnk〈ｖ' nk〉で近似した時の誤差ベクトルの大きさεr を求める。ステップＳ３７ではεr ＜Ｅrrか否かを判別する。εr ＜Ｅrrの場合はステップＳ３８でεr の最小値に係る各種情報を記憶するためのレジスタＥrr，Ｘ，Ｙ，ＳＸ，ＳＹにその時のεr ，ｘ，ｙ，ｓｘ，ｓｙを夫々保持する。また、レジスタαにはその時の展開係数αnk、基底ベクトルの記憶領域〈ｖ〉にはその時の基底ベクトル〈ｖnk〉，直交化基底ベクトルの記憶領域〈ｖ' 〉にはその時の直交化基底ベクトル〈ｖ' nk〉を夫々記憶する。またεr ＜Ｅrrでない場合は上記ステップＳ３８の処理をスキップする。
【００８０】
ステップＳ３９ではサンプル間隔ｓｘに＋１し、ステップＳ４０ではｓｘ＞２か否かを判別する。ｓｘ＞２でない場合はステップＳ３４に戻り、今度は異なるサンプル間隔ｓｘで抽出された基底ベクトル〈ｖnk〉につき上記同様の処理を行う。以下同様にして進み、やがて、ステップＳ４０の判別でｓｘ＞２になると、ステップＳ４１ではｓｘを「１」に初期化し、かつサンプル間隔ｓｙに＋１する。ステップＳ４２ではｓｙ＞２か否かを判別し、ｓｙ＞２でない場合はステップＳ３４に戻り、今度は異なるサンプル間隔ｓｙで抽出された基底ベクトル〈ｖnk〉につき上記同様の処理を行う。以下同様にして進み、やがて、ステップＳ４１の判別でｓｙ＞２になると、まずネスト画像の開始位置（ｘ，ｙ）＝（０，０）につき、異なるサンプル間隔（ｓｘ，ｓｙ）＝（１，１），（１，２），（２，１），（２，２）を有する計４種類の各基底ベクトル〈ｖnk〉が試されたことになる。処理は図６のステップＳ４３に進む。
【００８１】
ステップＳ４３ではネスト上の開始位置ｘに＋１し、ステップＳ４４ではｘ＞ｐ（例えばｐ＝６３）か否かを判別する。ｘ＞ｐでない場合はステップＳ３３（2)）に戻り、今度はｘ方向に１ＤＣ値分シフトさせた開始位置の各基底ベクトル〈ｖnk〉につき上記同様の処理を行う。以下同様にして進み、やがてステップＳ４４の判別でｘ＞ｐになると、ステップＳ４５では開始位置ｘを「０」に初期化し、かつ開始位置ｙに＋１する。ステップＳ４６ではｙ＞ｑ（例えばｑ＝３１）か否かを判別する。ｙ＞ｑでない場合はステップＳ３３（2)）に戻り、今度はｙ方向に１ＤＣ値分シフトさせた開始位置の各基底ベクトル〈ｖnk〉につき上記同様の処理を行う。こうして、やがてステップＳ４６の判別でｙ＞ｑになると、ネスト画像上の全開始位置（ｘ，ｙ）∈［０，６３］×［０，３１］につき、全サンプル間隔（ｓｘ，ｓｙ）∈｛（１，１），（１，２），（２，１），（２，２）｝の各基底ベクトル〈ｖnk〉が試されたことになる。処理はステップＳ４７に進む。
【００８２】
ステップＳ４７では残差ベクトル〈ｄ〉からこの時点で最小の近似誤差εr をもたらした直交基底ベクトルα〈ｖ' 〉を差し引いて、誤差の大きさを求め、該大きさが許容値Ｚより小さいか否かを判別する。小さくない場合は、ステップＳ４８で残差ベクトル〈ｄ〉を｛〈ｄ〉−α〈ｖ' 〉｝で置き換え、更新する。またこの時点で最小の近似誤差εr をもたらした展開係数α，基底ベクトル〈ｖ〉，直交化基底ベクトル〈ｖ' 〉の内容をαnk，〈ｖnk〉，〈ｖ' nk〉として記憶エリアに退避・保持する。因みに、ｎｋ＝１の時はα1 ，〈ｖ1 〉，〈ｖ' 1 〉が退避・保持される。またｎｋに＋１して、ステップＳ３２（1)）に戻る。
【００８３】
以下同様にして進み、やがてステップＳ４７の判別で近似残差が許容値Ｚより小さくなると、ステップＳ４９に進み、各直交化基底ベクトルαnk〈ｖ' nk〉（但し、ｎｋ＝１，２，…）の１次結合からなるベクトルを各基底ベクトルβnk〈ｖnk〉｛図１１（Ｃ）の各基底ベクトルに相当｝の１次結合からなるベクトルに変換する。以下、係数βを基底ベクトル〈ｖ〉の展開係数と呼ぶ。
【００８４】
ここで、上記ステップＳ４９の変換方法を具体的に説明する。今、ｋ＝１〜ｎｋとする時に、基底ベクトル ｛但し、上記図１１（Ｃ）の基底ベクトルに相当｝からなる行列を、スカラー展開計数からなる行列をＢ、正規化直交基底ベクトル からなる行列を、スカラー係数からなる行列をＡとする時に、夫々を、
【００８５】
【数９】
0003814637.tif 000010
【００８６】
と置くと、上記ステップＳ４９の変換は、
【００８７】
【数１０】
0003814637.tif 000011
【００８８】
と置くことにより得られる。これを行列Ｂについて解くためには、まず行列Ｖを正方行列に変換すべく、行列Ｖに行列（はＶの転置行列）を左から掛け、
【００８９】
【数１１】
0003814637.tif 000012
【００９０】
を得る。この行列（ＶＴＶ）は、
【００９１】
【数１２】
0003814637.tif 000013
【００９２】
の様に展開され、ここで〈ｖｉ〉・〈ｖｊ〉は内積を表し、かつ〈ｖｉ〉・〈ｖｊ〉＝〈ｖｊ〉・〈ｖｉ〉であるから、対角要素に対して対称な正方行列が得られ、かつ〈ｖｉ〉とｖｊ〉とが異なるから、逆行列が存在する。そこで、更に左から行列（ＶＴＶ）の逆行列（ＶＴＶ）−１を掛け、
【００９３】
【数１３】
0003814637.tif 000014
【００９４】
が得られる。
【００９５】
このように、本実施の形態では、残差ベクトル〈ｄ〉との誤差を許容値Ｚ未満に近似するのに必要な最小限個数ｎｋの直交化基底ベクトル〈ｖ' nk〉を探索した後、それらを元の基底ベクトル〈ｖnk〉（＝〈ｕnk〉）の線形結合で表し、かつ各基底ベクトル〈ｖnk〉の展開係数βnkを求めて、これらを符号化する構成により、復号時にはグラム・シュミッ
トの直交化計算が不要となるように配慮している。また、ノルムを１に正規化することも省略している。
【００９６】
図１２（Ａ）の（ｂ）は基底数ｎｋ＝３であった場合の残差ベクトル近似のイメージを示している。最初に残差ベクトル〈ｄ〉との誤差εr を最小とするような第１の基底ベクトルα1 〈ｖ'1〉が求まる。次に該ベクトル〈ｖ'1〉に直交し、かつ更新された残りの残差ベクトル〈ｄ' 〉との誤差εr を最小とするような第２の直交化基底ベクトルα2 〈ｖ'2〉が求まる。次に該ベクトル〈ｖ'2〉に直交し、かつ更新された残りの残差ベクトル〈ｄ''〉との誤差εr を最小とするような第３の直交化基底ベクトルα3 〈ｖ'3〉が求まる。
【００９７】
図３に戻り、ステップＳ９では使用した基底数ｎｋ＞７か否かを判別する  。ｎｋ＞７（８以上）の場合は、基底ベクトルを使用しても画像圧縮のメリットが出ないので、ステップＳ１９に進み、基底数「８」を符号Ｆ1 、使用基底数「０」を符号Ｆ2 、また残差ベクトル〈ｄ〉そのものを符号Ｆ3 として夫々出力する。またｎｋ≦７の場合は、ステップＳ１０に進み、上記基底ベクトルの使用に併せて以下のスカラー量子化処理を実行する。
【００９８】
スカラー量子化処理では、まず選択されたｎｋ個の内の選択された順に各ｍ個（０≦ｍ≦ｎｋ）の基底を採用した場合の誤差ベクトル〈ｄm 〉を、
【００９９】
【数１４】
0003814637.tif 000015
【０１００】
により求める。なお、ｍ＝０の場合の、
【０１０１】
【数１５】
0003814637.tif 000016
【０１０２】
はゼロベクトルを表す。更に、この誤差ベクトル〈ｄm 〉を採用されなかった余基底数ｙｋ＝ｎｋ−ｍに相当する符号量でスカラー量子化する。即ち、誤差ベクトル〈ｄm 〉を余基底数ｙｋに対応する量子化係数Ｑykでスカラー量子化し、その値を［−２yk-1，２yk-1−１］の値域でクリッピングする。
【０１０３】
ところで、こうしてスカラー量子化・クリッピングされた誤差ベクトル〈ｄ' m 〉がその復号後に元の誤差ベクトル〈ｄm 〉と同一になるとは限らない。そこで、予め各ｍ（ｍ＝１，２，…，ｎｋ）につき、各量子化誤差ベクトル〈ｄ' m 〉を各対応する量子化係数Ｑykで逆量子化して各逆量子化残差ベクトル〈ｄ''m 〉を求め、誤差‖〈ｄm 〉−〈ｄ''m 〉‖が最小となるようなｍを探査し、最終的にはこのｍ個の基底を採用した場合の符号を生成することとする。
【０１０４】
図８（Ｂ）にスカラー量子化テーブルを示す。ｎｋ＝８の場合には、基底を１つ使用した時（ｍ＝１）の余基底数ｙｋ＝７であり、以下同様にして進み、基底を７つ使用した時（ｍ＝７）の余基底数ｙｋ＝１である。
【０１０５】
なお、後述するが、本実施の形態では１つの基底につきその符号に２バイトを使用するので、もし８つの基底を使用するとトータルの符号長は１６バイトになる。しかるに、１６バイトの容量があれば、１６次元の残差ベクトル〈ｄ〉をそのまま符号化できるから、適応的直交変換を行うメリットが無い。そこで、基底を０〜７個の範囲で使用し、これに応じて余基底数ｙｋは７〜１となる。
【０１０６】
各量子化係数Ｑykは余基底数ｙｋに対応して予め定められている。好ましくは、各量子化係数Ｑykは誤差ベクトル〈ｄm 〉を余基底数ｙｋ分の符号量に収められる様に選ばれている。
【０１０７】
今、余基底数ｙｋ＝１の場合は、１６×１ビットを誤差ベクトル〈ｄm 〉のスカラー量子化に使用できる。これは誤差ベクトル〈ｄm 〉の各要素当たり１ビットの符号量である。即ち、この場合は誤差ベクトル〈ｄm 〉をＱyk＝８でスカラー量子化し、その値を［−２1-1 ，２1-1 −１］＝［−１，０］にクリッピングする。ここで、例えば符号のビット「０」は大きさ「−１」、ビット「１」は大きさ「０」に対応する。以下同様にして進み、今、余基底数ｙｋ＝７の場合は、１６×７ビットを誤差ベクトル〈ｄm 〉のスカラー量子化に使用できる。これは誤差ベクトル〈ｄm 〉の各要素当たり７ビットの符号量であり、この場合は誤差ベクトル〈ｄm 〉をＱyk＝２でスカラー量子化し、その値を［−２7-1 ，２7-1 −１］＝［−６４，６３］にクリッピングする。こうして、ｍ個の基底とスカラー量子化された誤差とを併用することで、符号量を変えずに画品質のみを向上させることができる。また余基底数ｙｋ分の展開係数βは不要となるため、若干の符号量が減少する。
【０１０８】
図７はスカラー量子化処理のフローチャートである。ステップＳ６１では使用基底数カウント用のレジスタｍを「０」に初期化する。ステップＳ６２ではｍ個の基底を採用した後の誤差ベクトル〈ｄm 〉を求める。なお、ｍ＝０の場合のΣの項はゼロベクトルを表す。即ち、誤差ベクトル〈ｄ0 〉＝〈ｄ〉（残差ベクトル）となる。ステップＳ６３ではｎｋ（１≦ｎｋ≦７）個の内の今回の試行では使用されない余基底数ｙｋを、ｙｋ＝ｎｋ−ｍにより求める。ステップＳ６４では誤差ベクトル〈ｄm 〉をＱykでスカラー量子化し、結果の誤差ベクトル〈ｄ' m 〉の各要素を［−２yk-1，２yk-1−１］の範囲にクリッピングする。
【０１０９】
ステップＳ６５では上記量子化（かつクリッピング）後の誤差ベクトル〈ｄ' m 〉を同Ｑykによりスカラー逆量子化する。ステップＳ６６では元の誤差ベクトル〈ｄm 〉と前記逆量子化した誤差ベクトル〈ｄ''m 〉とを比較した場合の誤差εｒm を求め、これを所定エリアに退避・保持する。ステップＳ６７ではレジスタｍに＋１する。ステップＳ６８ではｍ＞ｎｋ（１≦ｎｋ≦７）か否かを判別する。ｍ＞ｎｋでない場合はステップＳ６２に戻り、上記同様の処理を行う。
【０１１０】
やがて、上記ステップＳ６８の判別でｍ＞ｎｋになると、各ｍ（ｍ＝０，１，２，３，…，ｎｋ）個の基底を採用した場合の誤差εｒ0 〜εｒnkが求まる。ステップＳ６９では誤差εｒ0 〜εｒnkの中から最小の誤差εｒmkを抽出する。ステップＳ７０では基底数ｎｋを符号Ｆ１として出力する。ステップＳ７１では使用基底数（実効基底数）ｍｋを符号Ｆ２として出力する。ステップＳ７２では各使用基底のネスト上の開始位置（ｘ，ｙ）、サブサンプル間隔（ｓｘ，ｓｙ）及び各使用基底の展開係数βをＱ（例えば８）で量子化した乗余を各基底毎に１６ビットにつめて符号Ｆ4 として出力する。
【０１１１】
符号Ｆ4 の内訳は、ネスト上の開始位置（ｘ，ｙ）に横６ビットと縦５ビットの計１１ビット、４種類の内のいずれかのサブサンプル間隔に２ビット、展開係数βの剰余に３ビットの計１６ビットとなる。従って、符号Ｆ4 は使用基底毎に２バイトを消費する。
【０１１２】
ステップＳ７３では上記基底の展開係数βをＱ（例えば８）で量子化した商を符号Ｆ5 として出力する。ステップＳ７４では上記最小の逆量子化誤差εｒmkとなる時の誤差ベクトル〈ｄ' mk〉を余基底数ｙｋ相当の１６×（ｎｋ−ｍｋ）ビットの領域に割り振り、符号Ｆ3 として出力する。そして、この処理を抜ける。
【０１１３】
図３に戻り、かくして、この時点で原画像の１残差ベクトル〈ｄ〉の符号化が終了した。更に、ステップＳ１１ではアドレスレジスタｉに＋４し、ステップＳ１２ではｉ＞ｎか否かを判別する。ｉ＞ｎでない場合はステップＳ５に戻り、次のｉ軸方向に４ビットずれた位置からの１残差ベクトル〈ｄ〉につき上記同様の処理を行い、符号化する。以下同様にして進み、やがて上記ステップＳ１２の判別でｉ＞ｎになると、ステップＳ１３ではｉを「０」に初期化し、かつｊに＋４する。ステップＳ１４ではｊ＞ｍか否かを判別し、ｊ＞ｍでない場合はステップＳ５に戻り、次のｊ軸方向に４ビットずれた各残差ベクトル〈ｄ〉につき上記同様の処理を行い、符号化する。以下同様にして進み、やがて上記ステップＳ１４の判別でｊ＞ｍになると、全画像の残差ベクトル〈ｄ〉につき上記符号化処理が終了した。
【０１１４】
なお、図１２（Ｂ）に画像圧縮符号の表を示す。以下の説明ではこの表も参照されたい。
【０１１５】
図３に戻り、ステップＳ１５では可変長符号Ｆ1 ，Ｆ2 ，Ｆ5 をハフマン符号化して出力する。但し、符号Ｆ1 の基底数「ｎｋ」については、ｎｋ＝０の場合のみランレングスを考慮して、ハフマン符号化を行う。符号Ｆ2 の使用基底数「ｍｋ」についても同様に考えられる。符号Ｆ5 については、展開係数βを定数Ｑ（例えば８）で量子化した商をハフマン符号化する。なお、余基底数ｙｋ≠０の場合は、画素ブロックの切り替わりを示すための符号ＥＯＢを書き込む。
【０１１６】
ステップＳ１６では可変長符号Ｆ6 をハフマン符号化して出力する。符号Ｆ6 はＤＣ値の２次元ＤＰＣＭによる予測残差△ＤＣJ,I を量子化係数Ｑs で量子化したものである。但し、予測残差△ＤＣJ,I ＝０の場合のみランレングスを考慮して、予測残差△ＤＣJ,I 及びランレングスを夫々独立にハフマン符号化する。
【０１１７】
ステップＳ１７では可変長符号Ｆ3 ，固定長符号Ｆ4 をハフマン符号化して出力する。符号Ｆ3 は、使用基底数ｍｋ＞０の場合の最終的な誤差ベクトル〈ｄ' mk〉をＱykでスカラー量子化［〈ｄ' mk〉／Ｑyk］したものであり、使用基底数ｍｋ＝０の場合は元の残差ベクトル〈ｄ〉そのものが符号となる。符号Ｆ4 は、１基底当たり、ネストの開始座標（ｘ，ｙ）の１１ビットと、サブサンプル係数（ｓｘ，ｓｙ）の２ビットと、展開係数βの剰余（β／Ｑ）の３ビットとの計１６ビット固定から成り、これらは使用基底の出現順に詰めて構成される。
【０１１８】
また上記符号の全体としては画素ブロック単位で出現順に詰めて符号列を構成する。実際上、大半のブロックでは基底数ｎｋが２個前後となり、少数の可変長符号にするのは基底の展開係数βをＱで量子化した商と、ＤＣ画像のＤＰＣＭ符号及び基底数「ｎｋ」，使用基底数「ｍｋ」のみとなる。
【０１１９】
図１３は実施の形態による画像復号化処理のフローチャートである。ステップＳ８１では画像符号データを読み込む。ステップＳ８２ではＹ，Ｕ，Ｖの各ＤＣ値を解凍（復号）する。因みに、復号結果のＤＣ値ＤＣ''J,I は、ＤＣ''J,I ＝ＤＣ' J,I ＋［ΔＤＣJ,I ／Ｑs ］Ｑs により得られる。ここで、ＤＣ' J,I は復号側におけるＤＣの予測値であり、ＤＣ' J,I ＝（ＤＣ''J,I-1 ＋ＤＣ''J-1,I ）／２で与えられる。ステップＳ８３では
Ｙ成分のＤＣ値からネストを生成する。ネストはＤＣ画像上の開始位置及びサイズの情報を別途受け取ることで生成できる。ステップＳ８４では復号（再生）画像のアドレスレジスタｉ，ｊを共に「０」に初期化する。
【０１２０】
ステップＳ８５ではブロック画像（即ち、残差ベクトル）に関する符号データを入力する。ステップＳ８６では基底数ｎｋ＞０か否かを判別する。ｎｋ＝０の場合はステップＳ９７で後述する非段階的交流成分予測法により１６画素分の輝度データを求める。またｎｋ＞０の場合は更にステップＳ８７で使用基底数ｍｋ＞０か否かを判別する。
【０１２１】
ｍｋ＝０の場合は、ステップＳ９６で残差ベクトル〈ｄ〉を逆量子化する。ステップＳ９０では求めた残差ベクトル〈ｄ〉に復号ＤＣ値を加算する。
【０１２２】
またｍｋ＞０の場合は、ステップＳ８８で余基底数ｙｋ（＝ｎｋ−ｍｋ）を求め、誤差ベクトル〈ｄ' mk〉をＱykで逆量子化する。ステップＳ８９では各基底の開始位置（ｘ，ｙ），サブサンプル間隔（ｓｘ，ｓｙ）に従いネストからｍｋ個の基底ベクトルを作成し、展開係数βとの積をとり、これらの１次結合から成る近似ベクトル（直交基底系）を形成し、これに誤差ベクトル〈ｄ' mk〉を合成して、元の残差ベクトル〈ｄ〉を再生する。ステップＳ９０では求めた残差ベクトル〈ｄ〉に復号ＤＣ値を加算する。こうして、上記何れかの方法により４×４のブロック画像Ｔj,i が再生された。ステップＳ９１では再生画像Ｔj,i を画像メモリに格納する。
【０１２３】
ステップＳ９２ではアドレスレジスタｉに＋４し、ステップＳ９３ではｉ＞ｎか否かを判別する。ｉ＞ｎでない場合はステップＳ８５に戻り、今度は次列のブロック画像データＴj,i を復号し、画像メモリに格納する。以下同様にして進み、やがてステップＳ９３の判別でｉ＞ｎになると、ステップＳ９４ではｉを「０」に初期化し、かつｊに＋４する。ステップＳ９５ではｊ＞ｍか否かを判別し、ｊ＞ｍでない場合はステップＳ８５に戻り、今度は次行の各ブロックデータＴj,i を復号し、画像メモリに格納する。以下同様にして進み、やがてステップＳ９５の判別でｊ＞ｍになると、画像復号化処理を終了する。
【０１２４】
なお、図示しないが、ＹＵＶ系からＲＧＢ系に変換する。この時、Ｕ，Ｖのアップサンプリングには、補間フィルタを利用せず、横２画素に同一の値を代入する。
【０１２５】
図１４は実施の形態による非段階的交流成分予測処理のイメージ図である。本実施の形態では近傍のＤＣ画像から非段階的交流成分予測法により一挙に原画素ブロックの近似画像（ＡＣ画像）を生成する。
【０１２６】
ところで、上記従来の段階的交流成分予測方によれば、注目ブロックを含む周囲４ブロックの各ＤＣ値（Ｓ，Ｕ，Ｒ，Ｂ，Ｌ）から注目ブロックＳ上のサブブロックＳ1 〜Ｓ4 の各ＤＣ値は次式、
Ｓ1 ＝Ｓ＋（Ｕ＋Ｌ−Ｂ−Ｒ）／８
Ｓ2 ＝Ｓ＋（Ｕ＋Ｒ−Ｂ−Ｌ）／８
Ｓ3 ＝Ｓ＋（Ｂ＋Ｌ−Ｕ−Ｒ）／８
Ｓ4 ＝Ｓ＋（Ｂ＋Ｒ−Ｕ−Ｌ）／８
により推定された。
【０１２７】
図１４（Ａ）に上記図１７（Ｂ）と同様の図を再度示す。同様にして、この１段階目ではＵ1 〜Ｕ4 ，Ｌ1 〜Ｌ4 ，Ｒ1 〜Ｒ4 ，Ｂ1 〜Ｂ4 等が推定される  。また、上記方法を再帰的に使用することで、Ｓ1 上の４画素Ｐ1 〜Ｐ4 は次式、
Ｐ1 ＝Ｓ1 ＋（Ｕ3 ＋Ｌ2 −Ｓ3 −Ｓ2 ）／８
Ｐ2 ＝Ｓ1 ＋（Ｕ3 ＋Ｓ2 −Ｓ3 −Ｌ2 ）／８
Ｐ3 ＝Ｓ1 ＋（Ｓ3 ＋Ｌ2 −Ｕ3 −Ｓ2 ）／８
Ｐ4 ＝Ｓ1 ＋（Ｓ3 ＋Ｓ2 −Ｕ3 −Ｌ2 ）／８
Ｓ2 上の４画素Ｐ1 〜Ｐ4 は次式、
Ｐ1 ＝Ｓ2 ＋（Ｕ4 ＋Ｓ1 −Ｓ4 −Ｒ1 ）／８
Ｐ2 ＝Ｓ2 ＋（Ｕ4 ＋Ｒ1 −Ｓ4 −Ｓ1 ）／８
Ｐ3 ＝Ｓ2 ＋（Ｓ4 ＋Ｓ1 −Ｕ4 −Ｒ1 ）／８
Ｐ4 ＝Ｓ2 ＋（Ｓ4 ＋Ｒ1 −Ｕ4 −Ｓ1 ）／８
Ｓ3 上の４画素Ｐ1 〜Ｐ4 は次式、
Ｐ1 ＝Ｓ3 ＋（Ｓ1 ＋Ｌ4 −Ｂ1 −Ｓ4 ）／８
Ｐ2 ＝Ｓ3 ＋（Ｓ1 ＋Ｓ4 −Ｂ1 −Ｌ4 ）／８
Ｐ3 ＝Ｓ3 ＋（Ｂ1 ＋Ｌ4 −Ｓ1 −Ｓ4 ）／８
Ｐ4 ＝Ｓ3 ＋（Ｂ1 ＋Ｓ4 −Ｓ1 −Ｌ4 ）／８
Ｓ4 上の４画素Ｐ1 〜Ｐ4 は次式、
Ｐ1 ＝Ｓ4 ＋（Ｓ2 ＋Ｓ3 −Ｂ2 −Ｒ3 ）／８
Ｐ2 ＝Ｓ4 ＋（Ｓ2 ＋Ｒ3 −Ｂ2 −Ｓ3 ）／８
Ｐ3 ＝Ｓ4 ＋（Ｂ2 ＋Ｓ3 −Ｓ2 −Ｒ3 ）／８
Ｐ4 ＝Ｓ4 ＋（Ｂ2 ＋Ｒ3 −Ｓ2 −Ｓ3 ）／８
により夫々推定される。
【０１２８】
図１４（Ｂ）は本実施の形態による非段階的交流成分予測法を示している。なお、以下の説明では図１４（Ａ）も参照する。まずＳ1 上の４画素Ｐ1 〜Ｐ4 を求める場合は、Ｓ2 ≒Ｓ3 ≒Ｓ，Ｕ3 ≒Ｕ，Ｌ2 ≒Ｌの各近似を行う。この近似を上記Ｓ1 上のＰ1 の式に適用すると、
Ｐ1 ＝Ｓ1 ＋（Ｕ3 ＋Ｌ2 −Ｓ3 −Ｓ2 ）／８
＝Ｓ1 ＋（Ｕ＋Ｌ−Ｓ−Ｓ）／８
が得られる。更に、この式に上記Ｓ1 の式、Ｓ1 ＝Ｓ＋（Ｕ＋Ｌ−Ｂ−Ｒ）／８を代入すると、Ｓ1 上のＰ1 は最終的に、
Ｐ1 ＝Ｓ＋（２Ｕ＋２Ｌ−２Ｓ−Ｂ−Ｒ）／８
で表せる。また上記Ｓ1 上のＰ2 については、
Ｐ2 ＝Ｓ1 ＋（Ｕ3 ＋Ｓ2 −Ｓ3 −Ｌ2 ）／８
＝Ｓ1 ＋（Ｕ＋Ｓ−Ｓ−Ｌ）／８
が得られる。更に、この式に上記Ｓ1 の式、Ｓ1 ＝Ｓ＋（Ｕ＋Ｌ−Ｂ−Ｒ）／８を代入すると、Ｓ1 上のＰ2 は最終的に、
Ｐ2 ＝Ｓ＋（２Ｕ−Ｂ−Ｒ）／８
で表せる。また上記Ｓ1 上のＰ3 については、
Ｐ3 ＝Ｓ1 ＋（Ｓ3 ＋Ｌ2 −Ｕ3 −Ｓ2 ）／８
＝Ｓ1 ＋（Ｓ＋Ｌ−Ｕ−Ｓ）／８
が得られる。更に、この式に上記Ｓ1 の式、Ｓ1 ＝Ｓ＋（Ｕ＋Ｌ−Ｂ−Ｒ）／８を代入すると、Ｓ1 上のＰ3 は最終的に、
Ｐ3 ＝Ｓ＋（２Ｌ−Ｂ−Ｒ）／８
で表せる。また上記Ｓ1 上のＰ4 については、
Ｐ4 ＝Ｓ1 ＋（Ｓ3 ＋Ｓ2 −Ｕ3 −Ｌ2 ）／８
＝Ｓ1 ＋（Ｓ＋Ｓ−Ｕ−Ｌ）／８
が得られる。更に、この式に上記Ｓ1 の式、Ｓ1 ＝Ｓ＋（Ｕ＋Ｌ−Ｂ−Ｒ）／８を代入すると、Ｓ1 上のＰ4 は最終的に、
Ｐ4 ＝Ｓ＋（２Ｓ−Ｂ−Ｒ）／８
で表せる。従って、Ｓ1 上のＰ1 〜Ｐ4 は最終的に、
Ｐ1 ＝Ｓ＋（２Ｕ＋２Ｌ−２Ｓ−Ｂ−Ｒ）／８
Ｐ2 ＝Ｓ＋（２Ｕ−Ｂ−Ｒ）／８
Ｐ3 ＝Ｓ＋（２Ｌ−Ｂ−Ｒ）／８
Ｐ4 ＝Ｓ＋（２Ｓ−Ｂ−Ｒ）／８
で表せる。
【０１２９】
次にＳ2 上の４画素Ｐ1 〜Ｐ4 を求める場合は、Ｓ1 ≒Ｓ4 ≒Ｓ，Ｒ1 ≒Ｒ，Ｕ4 ≒Ｕ，の近似を行う。この近似を上記Ｓ2 上のＰ1 の式に適用すると、
Ｐ1 ＝Ｓ2 ＋（Ｕ4 ＋Ｓ1 −Ｓ4 −Ｒ1 ）／８
＝Ｓ2 ＋（Ｕ＋Ｓ−Ｓ−Ｒ）／８
が得られる。更に、この式に上記Ｓ2 の式、Ｓ2 ＝Ｓ＋（Ｕ＋Ｒ−Ｂ−Ｌ）／８を代入すると、Ｓ2 上のＰ1 は最終的に、
Ｐ1 ＝Ｓ＋（２Ｕ−Ｂ−Ｌ）／８
で表せる。また上記Ｓ2 上のＰ2 については、
Ｐ2 ＝Ｓ2 ＋（Ｕ4 ＋Ｒ1 −Ｓ4 −Ｓ1 ）／８
＝Ｓ2 ＋（Ｕ＋Ｒ−Ｓ−Ｓ）／８
が得られる。更に、この式に上記Ｓ2 の式、Ｓ2 ＝Ｓ＋（Ｕ＋Ｒ−Ｂ−Ｌ）／８を代入すると、Ｓ2 上のＰ2 は最終的に、
Ｐ2 ＝Ｓ＋（２Ｕ＋２Ｒ−２Ｓ−Ｂ−Ｌ）／８
で表せる。また上記Ｓ2 上のＰ3 については、
Ｐ3 ＝Ｓ2 ＋（Ｓ4 ＋Ｓ1 −Ｕ4 −Ｒ1 ）／８
＝Ｓ2 ＋（Ｓ＋Ｓ−Ｕ−Ｒ）／８
が得られる。更に、この式に上記Ｓ2 の式、Ｓ2 ＝Ｓ＋（Ｕ＋Ｒ−Ｂ−Ｌ）／８を代入すると、Ｓ2 上のＰ3 は最終的に、
Ｐ3 ＝Ｓ＋（２Ｓ−Ｂ−Ｌ）／８
で表せる。また上記Ｓ2 上のＰ4 については、
Ｐ4 ＝Ｓ2 ＋（Ｓ4 ＋Ｒ1 −Ｕ4 −Ｓ1 ）／８
＝Ｓ2 ＋（Ｓ＋Ｒ−Ｕ−Ｓ）／８
が得られる。更に、この式に上記Ｓ2 の式、Ｓ2 ＝Ｓ＋（Ｕ＋Ｒ−Ｂ−Ｌ）／８を代入すると、Ｓ2 上のＰ4 は最終的に、
Ｐ4 ＝Ｓ＋（２Ｒ−Ｂ−Ｌ）／８
で表せる。従って、Ｓ2 上のＰ1 〜Ｐ4 は最終的に、
Ｐ1 ＝Ｓ＋（２Ｕ−Ｂ−Ｌ）／８
Ｐ2 ＝Ｓ＋（２Ｕ＋２Ｒ−２Ｓ−Ｂ−Ｌ）／８
Ｐ3 ＝Ｓ＋（２Ｓ−Ｂ−Ｌ）／８
Ｐ4 ＝Ｓ＋（２Ｒ−Ｂ−Ｌ）／８
で表せる。
【０１３０】
次にＳ3 上の４画素Ｐ1 〜Ｐ4 を求める場合は、Ｓ1 ≒Ｓ4 ≒Ｓ，Ｌ4 ≒Ｌ，Ｂ1 ≒Ｂの各近似を行う。この近似を上記Ｓ3 上のＰ1 の式に適用すると、
Ｐ1 ＝Ｓ3 ＋（Ｓ1 ＋Ｌ4 −Ｂ1 −Ｓ4 ）／８
＝Ｓ3 ＋（Ｓ＋Ｌ−Ｂ−Ｓ）／８
が得られる。更に、この式に上記Ｓ3 の式、Ｓ3 ＝Ｓ＋（Ｂ＋Ｌ−Ｕ−Ｒ）／８を代入すると、Ｓ3 上のＰ1 は最終的に、
Ｐ1 ＝Ｓ＋（２Ｌ−Ｕ−Ｒ）／８
で表せる。また上記Ｓ3 上のＰ2 については、
Ｐ2 ＝Ｓ3 ＋（Ｓ1 ＋Ｓ4 −Ｂ1 −Ｌ4 ）／８
＝Ｓ3 ＋（Ｓ＋Ｓ−Ｂ−Ｌ）／８
が得られる。更に、この式に上記Ｓ3 の式、Ｓ3 ＝Ｓ＋（Ｂ＋Ｌ−Ｕ−Ｒ）／８を代入すると、Ｓ3 上のＰ2 は最終的に、
Ｐ2 ＝Ｓ＋（２Ｓ−Ｕ−Ｒ）／８
で表せる。また上記Ｓ3 上のＰ3 については、
Ｐ3 ＝Ｓ3 ＋（Ｂ1 ＋Ｌ4 −Ｓ1 −Ｓ4 ）／８
＝Ｓ3 ＋（Ｂ＋Ｌ−Ｓ−Ｓ）／８
が得られる。更に、この式に上記Ｓ3 の式、Ｓ3 ＝Ｓ＋（Ｂ＋Ｌ−Ｕ−Ｒ）／８を代入すると、Ｓ3 上のＰ3 は最終的に、
Ｐ3 ＝Ｓ＋（２Ｂ＋２Ｌ−２Ｓ−Ｕ−Ｒ）／８
で表せる。また上記Ｓ3 上のＰ4 については、
Ｐ4 ＝Ｓ3 ＋（Ｂ1 ＋Ｓ4 −Ｓ1 −Ｌ4 ）／８
＝Ｓ3 ＋（Ｂ＋Ｓ−Ｓ−Ｌ）／８
が得られる。更に、この式に上記Ｓ3 の式、Ｓ3 ＝Ｓ＋（Ｂ＋Ｌ−Ｕ−Ｒ）／８を代入すると、Ｓ3 上のＰ4 は最終的に、
Ｐ4 ＝Ｓ＋（２Ｂ−Ｕ−Ｒ）／８
で表せる。従って、Ｓ3 上のＰ1 〜Ｐ4 は最終的に、
Ｐ1 ＝Ｓ＋（２Ｌ−Ｕ−Ｒ）／８
Ｐ2 ＝Ｓ＋（２Ｓ−Ｕ−Ｒ）／８
Ｐ3 ＝Ｓ＋（２Ｂ＋２Ｌ−２Ｓ−Ｕ−Ｒ）／８
Ｐ4 ＝Ｓ＋（２Ｂ−Ｕ−Ｒ）／８
で表せる。
【０１３１】
次にＳ4 上の４画素Ｐ1 〜Ｐ4 を求める場合は、Ｓ2 ≒Ｓ3 ≒Ｓ，Ｒ3 ≒Ｒ，Ｂ2 ≒Ｂの各近似を行う。この近似を上記Ｓ4 上のＰ1 の式に適用すると、
Ｐ1 ＝Ｓ4 ＋（Ｓ2 ＋Ｓ3 −Ｂ2 −Ｒ3 ）／８
＝Ｓ4 ＋（Ｓ＋Ｓ−Ｂ−Ｒ）／８
が得られる。更に、この式に上記Ｓ4 の式、Ｓ4 ＝Ｓ＋（Ｂ＋Ｒ−Ｕ−Ｌ）／８を代入すると、Ｓ4 上のＰ1 は最終的に、
Ｐ1 ＝Ｓ＋（２Ｓ−Ｕ−Ｌ）／８
で表せる。また上記Ｓ4 上のＰ2 については、
Ｐ2 ＝Ｓ4 ＋（Ｓ2 ＋Ｒ3 −Ｂ2 −Ｓ3 ）／８
＝Ｓ4 ＋（Ｓ＋Ｒ−Ｂ−Ｓ）／８
が得られる。更に、この式に上記Ｓ4 の式、Ｓ4 ＝Ｓ＋（Ｂ＋Ｒ−Ｕ−Ｌ）／８を代入すると、Ｓ4 上のＰ2 は最終的に、
Ｐ2 ＝Ｓ＋（２Ｒ−Ｕ−Ｌ）／８
で表せる。また上記Ｓ4 上のＰ3 については、
Ｐ3 ＝Ｓ4 ＋（Ｂ2 ＋Ｓ3 −Ｓ2 −Ｒ3 ）／８
＝Ｓ4 ＋（Ｂ＋Ｓ−Ｓ−Ｒ）／８
が得られる。更に、この式に上記Ｓ4 の式、Ｓ4 ＝Ｓ＋（Ｂ＋Ｒ−Ｕ−Ｌ）／８を代入すると、Ｓ4 上のＰ3 は最終的に、
Ｐ3 ＝Ｓ＋（２Ｂ−Ｕ−Ｌ）／８
で表せる。また上記Ｓ4 上のＰ4 については、
Ｐ4 ＝Ｓ4 ＋（Ｂ2 ＋Ｒ3 −Ｓ2 −Ｓ3 ）／８
＝Ｓ4 ＋（Ｂ＋Ｒ−Ｓ−Ｓ）／８
が得られる。更に、この式に上記Ｓ4 の式、Ｓ4 ＝Ｓ＋（Ｂ＋Ｒ−Ｕ−Ｌ）／８を代入すると、Ｓ4 上のＰ4 は最終的に、
Ｐ4 ＝Ｓ＋（２Ｂ＋２Ｒ−２Ｓ−Ｕ−Ｌ）／８
で表せる。従って、Ｓ4 上のＰ1 〜Ｐ4 は最終的に、
Ｐ1 ＝Ｓ＋（２Ｓ−Ｕ−Ｌ）／８
Ｐ2 ＝Ｓ＋（２Ｒ−Ｕ−Ｌ）／８
Ｐ3 ＝Ｓ＋（２Ｂ−Ｕ−Ｌ）／８
Ｐ4 ＝Ｓ＋（２Ｂ＋２Ｒ−２Ｓ−Ｕ−Ｌ）／８
で表せる。かくして、本実施の形態によれば、自己を含む近傍の各ＤＣ値（Ｓ，Ｕ，Ｒ，Ｂ，Ｌ）から４×４画素の近似画像が直接（非段階的）に求められる。
【０１３２】
図１５は実施の形態による符号化効率のグラフ図である。サンプル画像（３２０×２４０画素，１画素のＲＧＢ各成分８ビット精度）を用い、ＢＰＰ（Bit Per Pixel ）、
ＢＰＲ＝［圧縮後の総データ量(bit) ］／［原画像の画素数］
に対するＰＳＮＲ（Peak-to-peak Signal-to-Noise Ratio）、
ＰＳＮＲ［dB］＝２０ｌｏｇ10（２５５／√ε2 ）
により符号化性能を評価した。但し、ε2 は画素当たりの平均二乗誤差を表す。
【０１３３】
図１５（Ａ）はアニメ−ション画像を使用した場合で、実線は本実施の形態、点線はＪＰＥＧの場合を夫々示しており、図示の如くＪＰＥＧの効率を大きく上回る符号化性能が得られている。図１５（Ｂ）はＣＧ画像を使用した場合で、上記同様の傾向が得られた。しかも、本方式では直交変換符号法に特有のモスキ−トノイズやブロックノイズが見られず、本方式が人工画像に対し有効であると考えられる。なお、図示しないが、自然画像に対してはＪＰＥＧと略同一の性能が得られた。
【０１３４】
なお、上記実施の形態ではゲームシステムへの適用例を述べたが、本発明は写真画像、アニメーション画像等の通常のフレーム画像の符号／復号にも適用できることは明らかである。
【０１３５】
また、上記本発明に好適なる実施の形態を述べたが、本発明思想を逸脱しない範囲内で、各部の構成、処理、及びこれらの組合せの様々な変更が行えることは言うまでも無い。
【０１３６】
【発明の効果】
以上述べた如く本発明によれば、ネストを軽量化し、かつ可変長符号量を削減出来るために、復号時の計算負荷を大幅に軽減でき、比較的低性能のシステムでも動画や静止画の画像データを画品質を落とさずに利用可能となる  。また輪郭部分でもモスキートノイズが発生せず、文字やアニメーション画像等の再現性も良い高圧縮率の画像データを提供できる。
【図面の簡単な説明】
【図１】  本発明の原理を説明する図である。
【図２】  実施の形態による画像符号／復号方式の構成を示す図である。
【図３】  実施の形態による画像符号化処理のフローチャート（１）である。
【図４】  実施の形態による画像符号化処理のフローチャート（２）である。
【図５】  実施の形態による画像符号化処理のフローチャート（３）である。
【図６】  実施の形態による画像符号化処理のフローチャート（４）である。
【図７】  実施の形態による画像符号化処理のフローチャート（５）である。
【図８】  実施の形態による画像符号化処理のテーブルを説明する図である。
【図９】  実施の形態による画像符号化処理のイメージ図（１）である。
【図１０】  実施の形態による画像符号化処理のイメージ図（２）である。
【図１１】  実施の形態による画像符号化処理のイメージ図（３）である。
【図１２】  実施の形態による画像符号化処理のイメージ図（４）である。
【図１３】  実施の形態による画像復号化処理のフローチャートである。
【図１４】  実施の形態による非段階的交流成分予測処理のイメージ図である。
【図１５】  実施の形態による符号化効率のグラフ図である。
【図１６】  従来技術を説明する図（１）である。
【図１７】  従来技術を説明する図（２）である。
【符号の説明】
【０１３８】
１３  バス
１５  ブリッジ
１６  摸作パッド
１７  周辺インタフェース（ＰＩＦ）
１８  ＲＯＭカートリッジ（ＲＯＭ−Ｃ）
１９  ＲＯＭカートリッジインタフェース（ＲＯＭ−ＣＩＦ）
２０  コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）
２１  ＣＤ−ＲＯＭドライバ
２２  通信制御部（ＣＯＭ）
２３  通信線
４５  カラーＣＲＴモニタ
４６  ＣＲＴ制御部（ＣＲＴＣ）
５０  ゲーム作成装置
【図１】
0003814637.tif 000017
【図２】
0003814637.tif 000018
【図３】
0003814637.tif 000019
【図４】
0003814637.tif 000020
【図５】
0003814637.tif 000021
【図６】
0003814637.tif 000022
【図７】
0003814637.tif 000023
【図８】
0003814637.tif 000024
【図９】
0003814637.tif 000025
【図１０】
0003814637.tif 000026
【図１１】
0003814637.tif 000027
【図１２】
0003814637.tif 000028
【図１３】
0003814637.tif 000029
【図１４】
0003814637.tif 000030
【図１５】
0003814637.tif 000031
【図１６】
0003814637.tif 000032
【図１７】
0003814637.tif 000033