(57)【特許請求の範囲】
【請求項１】
画像データが所定のブロック単位でＤＣＴ(Discrete Cosine Transform)変換されることにより得られたＤＣＴ係数を、元の前記画像データに復号するデータ処理装置であって、
前記所定のブロック単位の前記画像データの画素のうち、復号される復号対象の画素である注目画素を、前記注目画素を含むブロックである注目ブロックのDCT係数の性質に基づいて、複数のクラスのうち、前記注目ブロックのDCT係数の性質を表すクラスにクラス分けするクラス分類手段と、
前記注目ブロックのＤＣＴ係数と所定の変換係数とを用いた積和演算に用いられる前記所定の変換係数を生成する元となる種データであって、前記注目画素の位置に対応する前記注目ブロックの行と列におけるＤＣＴ変換の基底波形の値を表す前記種データどうしの積を演算することにより、前記所定の変換係数を生成するときに、前記種データにかける係数である、前記注目画素のクラスに対応する種重みデータによって前記種データを補正する種データ補正手段と、
前記種データ補正手段によって補正された後の前記種データどうしの積を演算することより、前記所定の変換係数を生成する変換係数生成手段と、
前記注目ブロックのＤＣＴ係数と前記所定の変換係数との前記積和演算を行うことにより、前記注目画素の画素値を求める演算手段と
を備え、
前記種重みデータは、
所定のタップ係数を求める学習の教師となる前記画像データである教師データを、複数のクラスのうちのいずれかのクラスにクラス分けし、
前記教師データが前記所定のブロック単位でＤＣＴ変換されることにより得られたＤＣＴ係数を、前記学習の生徒となる生徒データとして、前記生徒データと前記所定のタップ係数との他の積和演算を行うことにより得られる前記教師データの予測値の予測誤差を、統計的に最小にする前記所定のタップ係数を、前記クラスごとに求める学習を行う
ことにより得られる前記クラスごとの前記所定のタップ係数と、前記種データどうしの積を演算することにより生成される他の変換係数との比を演算することにより、前記クラスごとに求められたものである
データ処理装置。
【請求項２】
複数の種データが、前記注目画素の位置毎に予め記憶されている種データ記憶手段と、
前記種重みデータが予め記憶されている種重みデータ記憶手段と
をさらに備え、
前記種データ補正手段は、前記種データ記憶手段に記憶されている複数の種データのうち、前記注目画素の位置に対応する前記種データを、前記種重みデータ記憶手段に記憶されている前記注目画素のクラスの前記種重みデータによって補正し、
前記演算手段は、前記注目ブロックのＤＣＴ係数と前記所定の変換係数との前記積和演算を行うことにより、前記注目ブロックのＤＣＴ係数から、前記注目画素の画素値を求める
請求項１に記載のデータ処理装置。
【請求項３】
前記注目ブロックに近接するブロックである近接ブロックの前記ＤＣＴ係数を画素値に変換するＤＣＴ係数変換手段をさらに備え、
前記演算手段は、前記注目ブロックのＤＣＴ係数および前記所定の変換係数の他に、前記近接ブロックの画素値と、その画素値にかける係数である画素重みデータをも用いて前記積和演算を行うことにより、前記注目画素の画素値を求め、
前記画素重みデータは、
所定のタップ係数を求める学習の教師となる前記画像データである教師データを、前記所定のブロック単位でＤＣＴ変換することによりＤＣＴ係数とし、
前記注目ブロックの前記ＤＣＴ係数と、前記注目ブロックに近接するブロックである近接ブロックの画素値とを、前記学習の生徒となる生徒データとして、その生徒データと前記所定のタップ係数との前記他の積和演算を行うことにより得られる前記教師データの予測値の予測誤差を、統計的に最小にする前記所定のタップ係数を求める学習を行う
ことにより得られる前記所定のタップ係数のうち、前記他の積和演算において前記近接ブロックの画素の画素値との演算に用いられる前記所定のタップ係数の平均をとることにより求められたものである
請求項１に記載のデータ処理装置。
【請求項４】
前記近接ブロックの画素値は、前記注目ブロックに隣接するブロックの画素のうち、前記注目ブロックに隣接する、前記注目画素と同一行または同一列の画素の画素値である
請求項３に記載のデータ処理装置。
【請求項５】
前記変換係数生成手段は、前記注目ブロックの第１行または第１列の画素から、前記注目ブロックの行数または列数の１／２の行または列の画素までの各位置における前記基底波形の値を、前記種データとして、前記所定の変換係数を生成する
請求項１に記載のデータ処理装置。
【請求項６】
前記注目ブロックを、上下方向と左右方向にそれぞれ２等分して得られる左上、右上、左下、および右下の４つの領域のうち、前記注目画素が位置する領域を注目領域とし、
前記注目領域が、前記左上の領域である場合、前記注目ブロックにおける注目画素の位置を表す情報を、前記縮退画素位置情報として出力し、
前記注目領域が、前記右上の領域である場合、前記注目ブロックを左右に２等分する線について、前記注目画素と線対称の位置にある前記左上の領域における画素の位置を表す情報を、前記縮退画素位置情報として出力し、
前記注目領域が、前記左下の領域である場合、前記注目ブロックを上下に２等分する線について、前記注目画素と線対称の位置にある前記左上の領域における画素の位置を表す情報を、前記縮退画素位置情報として出力し、
前記注目領域が、前記右下の領域である場合、前記注目ブロックを左右に２等分する線と上下に２等分する線との交点について、前記注目画素と点対称の位置にある前記左上の領域における画素の位置を表す情報を、前記縮退画素位置情報として出力する画素位置情報縮退手段をさらに備え、
前記変換係数生成手段は、前記注目画素の縮退画素位置情報が表す位置に対応する前記種データどうしの積を演算することにより、前記所定の変換係数を生成する
請求項１に記載のデータ処理装置。
【請求項７】
前記注目領域が、前記左上の領域である場合、前記注目ブロックのＤＣＴ係数の正負の符号を、そのままとし、
前記注目領域が、前記右上の領域である場合、前記注目ブロックのＤＣＴ係数のうち、前記注目ブロックの偶数列に位置するものの正負の符号を反転し、
前記注目領域が、前記左下の領域である場合、前記注目ブロックのＤＣＴ係数のうち、前記注目ブロックの偶数行に位置するものの正負の符号を反転し、
前記注目領域が、前記右下の領域である場合、前記注目ブロックのＤＣＴ係数のうち、前記注目ブロックの偶数列に位置するものの正負の符号を反転し、さらに、前記注目ブロックの偶数行に位置するものの正負の符号を反転する符号操作手段をさらに備え、
前記演算手段は、符号が操作された前記注目ブロックのＤＣＴ係数と、前記所定の変換係数との前記積和演算を行うことにより、前記注目画素の画素値を求める
請求項６に記載のデータ処理装置。
【請求項８】
前記符号操作手段は、前記注目ブロックのＤＣＴ係数に代えて、前記所定の変換係数の正負の符号を操作する
請求項７に記載のデータ処理装置。
【請求項９】
画像データが所定のブロック単位でＤＣＴ(Discrete Cosine Transform)変換されることにより得られたＤＣＴ係数を、元の前記画像データに復号するデータ処理装置のデータ処理方法であって、
前記所定のブロック単位の前記画像データの画素のうち、復号される復号対象の画素である注目画素を、前記注目画素を含むブロックである注目ブロックのDCT係数の性質に基づいて、複数のクラスのうち、前記注目ブロックのDCT係数の性質を表すクラスにクラス分けするクラス分類ステップと、
前記注目ブロックのＤＣＴ係数と所定の変換係数とを用いた積和演算に用いられる前記所定の変換係数を生成する元となる種データであって、前記注目画素の位置に対応する前記注目ブロックの行と列におけるＤＣＴ変換の基底波形の値を表す前記種データどうしの積を演算することにより、前記所定の変換係数を生成するときに、前記種データにかける係数である、前記注目画素のクラスに対応する種重みデータによって前記種データを補正する種データ補正ステップと、
前記種データ補正ステップで補正された後の前記種データどうしの積を演算することより、前記所定の変換係数を生成する変換係数生成ステップと、
前記注目ブロックのＤＣＴ係数と前記所定の変換係数との前記積和演算を行うことにより、前記注目画素の画素値を求める演算ステップと
を含み、
前記種重みデータは、
所定のタップ係数を求める学習の教師となる前記画像データである教師データを、複数のクラスのうちのいずれかのクラスにクラス分けし、
前記教師データが前記所定のブロック単位でＤＣＴ変換されることにより得られたＤＣＴ係数を、前記学習の生徒となる生徒データとして、前記生徒データと前記所定のタップ係数との他の積和演算を行うことにより得られる前記教師データの予測値の予測誤差を、統計的に最小にする前記所定のタップ係数を、前記クラスごとに求める学習を行う
ことにより得られる前記クラスごとの前記所定のタップ係数と、前記種データどうしの積を演算することにより生成される他の変換係数との比を演算することにより、前記クラスごとに求められたものである
データ処理方法。
【請求項１０】
画像データが所定のブロック単位でＤＣＴ(Discrete Cosine Transform)変換されることにより得られたＤＣＴ係数を、元の前記画像データに復号するデータ処理を、コンピュータに行わせるプログラムであって、
前記所定のブロック単位の前記画像データの画素のうち、復号される復号対象の画素である注目画素を、前記注目画素を含むブロックである注目ブロックのDCT係数の性質に基づいて、複数のクラスのうち、前記注目ブロックのDCT係数の性質を表すクラスにクラス分けするクラス分類ステップと、
前記注目ブロックのＤＣＴ係数と所定の変換係数とを用いた積和演算に用いられる前記所定の変換係数を生成する元となる種データであって、前記注目画素の位置に対応する前記注目ブロックの行と列におけるＤＣＴ変換の基底波形の値を表す前記種データどうしの積を演算することにより、前記所定の変換係数を生成するときに、前記種データにかける係数である、前記注目画素のクラスに対応する種重みデータによって前記種データを補正する種データ補正ステップと、
前記種データ補正ステップで補正された後の前記種データどうしの積を演算することより、前記所定の変換係数を生成する変換係数生成ステップと、
前記注目ブロックのＤＣＴ係数と前記所定の変換係数との前記積和演算を行うことにより、前記注目画素の画素値を求める演算ステップと
を含み、
前記種重みデータは、
所定のタップ係数を求める学習の教師となる前記画像データである教師データを、複数のクラスのうちのいずれかのクラスにクラス分けし、
前記教師データが前記所定のブロック単位でＤＣＴ変換されることにより得られたＤＣＴ係数を、前記学習の生徒となる生徒データとして、前記生徒データと前記所定のタップ係数との他の積和演算を行うことにより得られる前記教師データの予測値の予測誤差を、統計的に最小にする前記所定のタップ係数を、前記クラスごとに求める学習を行う
ことにより得られる前記クラスごとの前記所定のタップ係数と、前記種データどうしの積を演算することにより生成される他の変換係数との比を演算することにより、前記クラスごとに求められたものである
処理を、コンピュータに行わせるプログラム。
【請求項１１】
画像データが所定のブロック単位でＤＣＴ(Discrete Cosine Transform)変換されることにより得られたＤＣＴ係数を、元の前記画像データに復号するデータ処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
前記所定のブロック単位の前記画像データの画素のうち、復号される復号対象の画素である注目画素を、前記注目画素を含むブロックである注目ブロックのDCT係数の性質に基づいて、複数のクラスのうち、前記注目ブロックのDCT係数の性質を表すクラスにクラス分けするクラス分類ステップと、
前記注目ブロックのＤＣＴ係数と所定の変換係数とを用いた積和演算に用いられる前記所定の変換係数を生成する元となる種データであって、前記注目画素の位置に対応する前記注目ブロックの行と列におけるＤＣＴ変換の基底波形の値を表す前記種データどうしの積を演算することにより、前記所定の変換係数を生成するときに、前記種データにかける係数である、前記注目画素のクラスに対応する種重みデータによって前記種データを補正する種データ補正ステップと、
前記種データ補正ステップで補正された後の前記種データどうしの積を演算することより、前記所定の変換係数を生成する変換係数生成ステップと、
前記注目ブロックのＤＣＴ係数と前記所定の変換係数との前記積和演算を行うことにより、前記注目画素の画素値を求める演算ステップと
を含み、
前記種重みデータは、
所定のタップ係数を求める学習の教師となる前記画像データである教師データを、複数のクラスのうちのいずれかのクラスにクラス分けし、
前記教師データが前記所定のブロック単位でＤＣＴ変換されることにより得られたＤＣＴ係数を、前記学習の生徒となる生徒データとして、前記生徒データと前記所定のタップ係数との他の積和演算を行うことにより得られる前記教師データの予測値の予測誤差を、統計的に最小にする前記所定のタップ係数を、前記クラスごとに求める学習を行う
ことにより得られる前記クラスごとの前記所定のタップ係数と、前記種データどうしの積を演算することにより生成される他の変換係数との比を演算することにより、前記クラスごとに求められたものである
処理をコンピュータに行わせるプログラムが記録されている
コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体に関し、特に、例えば、画像データをＭＰＥＧ符号化した符号化データを、少ないメモリによって、高画質の画像データに復号することができるようにするデータ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体に関する。
【０００２】
【従来の技術】
ＭＰＥＧ(Moving Picture Experts Group)１や２等の符号化方式では、画像データが、８×８画素のブロック単位で、ＤＣＴ(Discrete Cosine Transform)変換され、さらに量子化されることにより、符号化データとされる。このため、ＭＰＥＧの規格に準拠したＭＰＥＧデコーダでは、符号化データが、逆量子化され、さらに逆ＤＣＴ変換されることにより復号される。
【０００３】
上述のように、ＭＰＥＧ符号化方式では、画像データが、ブロック単位でＤＣＴ変換され、その結果得られるＤＣＴ係数が量子化されるため、ＭＰＥＧの規格に準拠したＭＰＥＧデコーダにおいて得られる復号画像には、符号化時の量子化の影響により、ブロック歪みやモスキートノイズといった各種の歪みが生じ、また、解像度が低下する。
【０００４】
しかしながら、ＭＰＥＧでは、復号画像に生じる各種の歪みを除去（低減）し、また、低下した解像度を向上させる方法については、何ら規定されていない。
【０００５】
【発明が解決しようとする課題】
そこで、本件出願人は、画像データをＤＣＴ変換して量子化することにより符号化するＭＰＥＧ符号化等によって得られた符号化データを、高画質の画像に復号する復号方法として、クラス分類適応処理を利用した方法を、先に提案している。
【０００６】
クラス分類適応処理は、クラス分類処理と適応処理とからなり、クラス分類処理によって、データを、その性質に基づいてクラス分けし、各クラスごとに適応処理を施すものであり、適応処理は、以下のような手法のものである。
【０００７】
即ち、例えば、いま、ＭＰＥＧ符号化された符号化データから、量子化されたＤＣＴ係数を得て、そのＤＣＴ係数を、元の画像に復号することとすると、適応処理では、例えば、量子化されたＤＣＴ係数と、所定のタップ係数との線形結合により、元の画素の予測値を求めることで、ＤＣＴ係数が、元の画素値に復号される。
【０００８】
具体的には、例えば、いま、ある画像を、タップ係数を求める学習の教師データとするとともに、その画像を、ブロック単位でＤＣＴ処理し、さらに量子化して得られるＤＣＴ係数を、学習の生徒データとして、教師データである画素の画素値ｙの予測値Ｅ［ｙ］を、幾つかのＤＣＴ係数ｘ1，ｘ2，・・・の集合と、所定のタップ係数ｗ1，ｗ2，・・・の線形結合により規定される線形１次結合モデルにより求めることを考える。この場合、予測値Ｅ［ｙ］は、次式で表すことができる。
【０００９】
0004154647.tif 000002
【００１０】
式（１）を一般化するために、タップ係数ｗjの集合でなる行列Ｗ、生徒データｘijの集合でなる行列Ｘ、および予測値Ｅ［ｙj］の集合でなる行列Ｙ’を、
【数１】
0004154647.tif 000003
で定義すると、次のような観測方程式が成立する。
【００１１】
ＸＷ＝Ｙ’・・・（２）
ここで、行列Ｘの成分ｘijは、ｉ件目の生徒データの集合（ｉ件目の教師データｙiの予測に用いる生徒データの集合）の中のｊ番目の生徒データを意味し、行列Ｗの成分ｗjは、生徒データの集合の中のｊ番目の生徒データとの積が演算されるタップ係数を表す。また、ｙiは、ｉ件目の教師データを表し、従って、Ｅ［ｙi］は、ｉ件目の教師データの予測値を表す。なお、式（１）の左辺におけるｙは、行列Ｙの成分ｙiのサフィックスｉを省略したものであり、また、式（１）の右辺におけるｘ1，ｘ2，・・・も、行列Ｘの成分ｘijのサフィックスｉを省略したものである。
【００１２】
そして、この観測方程式に最小自乗法を適用して、元の画素値ｙに近い予測値Ｅ［ｙ］を求めることを考える。この場合、教師データとなる真の画素値ｙの集合でなる行列Ｙ、および画素値ｙに対する予測値Ｅ［ｙ］の残差ｅの集合でなる行列Ｅを、
【数２】
0004154647.tif 000004
で定義すると、式（２）から、次のような残差方程式が成立する。
【００１３】
ＸＷ＝Ｙ＋Ｅ・・・（３）
【００１４】
この場合、元の画素値ｙに近い予測値Ｅ［ｙ］を求めるためのタップ係数ｗjは、自乗誤差
【数３】
0004154647.tif 000005
を最小にすることで求めることができる。
【００１５】
従って、上述の自乗誤差をタップ係数ｗjで微分したものが０になる場合、即ち、次式を満たすタップ係数ｗjが、元の画素値ｙに近い予測値Ｅ［ｙ］を求めるため最適値ということになる。
【００１６】
【数４】
0004154647.tif 000006
0004154647.tif 000007
【００１７】
そこで、まず、式（３）を、タップ係数ｗjで微分することにより、次式が成立する。
【００１８】
【数５】
0004154647.tif 000008
0004154647.tif 000009
【００１９】
式（４）および（５）より、式（６）が得られる。
【００２０】
【数６】
0004154647.tif 000010
0004154647.tif 000011
【００２１】
さらに、式（３）の残差方程式における生徒データｘij、タップ係数ｗj、教師データｙi、および残差ｅiの関係を考慮すると、式（６）から、次のような正規方程式を得ることができる。
【００２２】
【数７】
0004154647.tif 000012
0004154647.tif 000013
【００２３】
なお、式（７）に示した正規方程式は、行列（共分散行列）Ａおよびベクトルｖを、
【数８】
0004154647.tif 000014
で定義するとともに、ベクトルＷを、数１で示したように定義すると、式
ＡＷ＝ｖ・・・（８）
で表すことができる。
【００２４】
式（７）における各正規方程式は、生徒データｘijおよび教師データｙiのセットを、ある程度の数だけ用意することで、求めるべきタップ係数ｗjの数Ｊと同じ数だけたてることができ、従って、式（８）を、ベクトルＷについて解くことで（但し、式（８）を解くには、式（８）における行列Ａが正則である必要がある）、最適なタップ係数（ここでは、自乗誤差を最小にするタップ係数）ｗjを求めることができる。なお、式（８）を解くにあたっては、例えば、掃き出し法（Gauss-Jordanの消去法）などを用いることが可能である。
【００２５】
以上のようにして、最適なタップ係数ｗjを求めておき、さらに、そのタップ係数ｗjを用い、式（１）により、元の画素値ｙに近い予測値Ｅ［ｙ］を求めるのが適応処理である。
【００２６】
なお、例えば、教師データとして、ＭＰＥＧ符号化する画像と同一画質の画像を用いるとともに、生徒データとして、その教師データをＤＣＴおよび量子化して得られるＤＣＴ係数を用いた場合、タップ係数としては、ＭＰＥＧ符号化された画像データを、元の画像データに復号するのに、予測誤差が、統計的に最小となるものが得られることになる。
【００２７】
従って、ＭＰＥＧ符号化を行う際の圧縮率を高くしても、即ち、量子化に用いる量子化ステップを粗くしても、適応処理によれば、予測誤差が、統計的に最小となる復号処理が施されることになり、実質的に、ＭＰＥＧ符号化された画像の復号処理と、その画質を向上させるための処理とが、同時に施されることになる。その結果、圧縮率を高くしても、復号画像の画質を高いレベルに維持することができる。
【００２８】
また、例えば、教師データとして、ＭＰＥＧ符号化する画像よりも高画質の画像を用いるとともに、生徒データとして、その教師データの画質を、ＭＰＥＧ符号化する画像と同一画質に劣化させ、さらに、ＤＣＴ変換および量子化して得られるＤＣＴ係数を用いた場合、タップ係数としては、ＭＰＥＧ符号化された画像データを、高画質の画像データに復号するのに、予測誤差が、統計的に最小となるものが得られることになる。
【００２９】
従って、この場合、適応処理によれば、ＭＰＥＧ符号化された画像の復号処理と、その画質をより向上させるための処理とが、同時に施されることになる。なお、上述したことから、教師データまたは生徒データとなる画像の画質を変えることで、復号画像の画質を任意のレベルとするタップ係数を得ることができる。
【００３０】
以上のように、クラス分類適応処理によれば、ＭＰＥＧ符号化された符号化データを、各種の歪みを十分に低減した、解像度の高い高画質の画像に変換することができる。
【００３１】
ところで、クラス分類適応処理においては、教師データに対応する画像データを式（１）により予測するのに用いられる、生徒データに対応するデータ（以下、適宜、予測タップという）としてのＤＣＴ係数の数によって、必要なタップ係数の数が変動する。即ち、予測タップのタップ数が多くなるほど、必要なタップ数も多くなる。
【００３２】
さらに、クラス分類適応処理では、式（８）の正規方程式をたててタップ係数を求める学習が、所定数のクラスごとに行われる。従って、必要なタップ係数の数は、クラスの数が多くなるほど多くなる。
【００３３】
即ち、クラス分類適応処理において必要なタップ係数の数は、（予測タップのタップ数）×（クラスの数）となる。
【００３４】
そして、ＤＣＴ係数を、教師データとした画像データの画質に近い画像データに変換するには、基本的には、予測タップのタップ数も、クラスの数も多い方が良い。
【００３５】
しかしながら、予測タップのタップ数やクラスの数を多くすると、クラス分類適応処理において必要なタップ係数の数も多くなり、そのタップ係数を記憶させておくためのメモリとして大容量のものが必要となる。
【００３６】
本発明は、このような状況に鑑みてなされたものであり、少ないメモリによって、高画質の画像データを復号することができるようにするものである。
【００３７】
【課題を解決するための手段】
本発明のデータ処理装置は、所定のブロック単位の画像データの画素のうち、復号される復号対象の画素である注目画素を、注目画素を含むブロックである注目ブロックのDCT係数の性質に基づいて、複数のクラスのうち、注目ブロックのDCT係数の性質を表すクラスにクラス分けするクラス分類手段と、注目ブロックのＤＣＴ係数と所定の変換係数とを用いた積和演算に用いられる所定の変換係数を生成する元となる種データであって、注目画素の位置に対応する注目ブロックの行と列におけるＤＣＴ変換の基底波形の値を表す種データどうしの積を演算することにより、所定の変換係数を生成するときに、種データにかける係数である、注目画素のクラスに対応する種重みデータによって種データを補正する種データ補正手段と、種データ補正手段によって補正された後の種データどうしの積を演算することより、所定の変換係数を生成する変換係数生成手段と、注目ブロックのＤＣＴ係数と所定の変換係数との積和演算を行うことにより、注目画素の画素値を求める演算手段とを備え、種重みデータは、所定のタップ係数を求める学習の教師となる画像データである教師データを、複数のクラスのうちのいずれかのクラスにクラス分けし、教師データが所定のブロック単位でＤＣＴ変換されることにより得られたＤＣＴ係数を、学習の生徒となる生徒データとして、生徒データと所定のタップ係数との他の積和演算を行うことにより得られる教師データの予測値の予測誤差を、統計的に最小にする所定のタップ係数を、クラスごとに求める学習を行うことにより得られるクラスごとの所定のタップ係数と、種データどうしの積を演算することにより生成される他の変換係数との比を演算することにより、クラスごとに求められたものである。
【００３８】
本発明のデータ処理方法は、所定のブロック単位の画像データの画素のうち、復号される復号対象の画素である注目画素を、注目画素を含むブロックである注目ブロックのDCT係数の性質に基づいて、複数のクラスのうち、注目ブロックのDCT係数の性質を表すクラスにクラス分けするクラス分類ステップと、注目ブロックのＤＣＴ係数と所定の変換係数とを用いた積和演算に用いられる所定の変換係数を生成する元となる種データであって、注目画素の位置に対応する注目ブロックの行と列におけるＤＣＴ変換の基底波形の値を表す種データどうしの積を演算することにより、所定の変換係数を生成するときに、種データにかける係数である、注目画素のクラスに対応する種重みデータによって種データを補正する種データ補正ステップと、種データ補正ステップで補正された後の種データどうしの積を演算することより、所定の変換係数を生成する変換係数生成ステップと、注目ブロックのＤＣＴ係数と所定の変換係数との積和演算を行うことにより、注目画素の画素値を求める演算ステップとを含み、種重みデータは、所定のタップ係数を求める学習の教師となる画像データである教師データを、複数のクラスのうちのいずれかのクラスにクラス分けし、教師データが所定のブロック単位でＤＣＴ変換されることにより得られたＤＣＴ係数を、学習の生徒となる生徒データとして、生徒データと所定のタップ係数との他の積和演算を行うことにより得られる教師データの予測値の予測誤差を、統計的に最小にする所定のタップ係数を、クラスごとに求める学習を行うことにより得られるクラスごとの所定のタップ係数と、種データどうしの積を演算することにより生成される他の変換係数との比を演算することにより、クラスごとに求められたものである。
【００３９】
本発明のプログラムは、所定のブロック単位の画像データの画素のうち、復号される復号対象の画素である注目画素を、注目画素を含むブロックである注目ブロックのDCT係数の性質に基づいて、複数のクラスのうち、注目ブロックのDCT係数の性質を表すクラスにクラス分けするクラス分類ステップと、注目ブロックのＤＣＴ係数と所定の変換係数とを用いた積和演算に用いられる所定の変換係数を生成する元となる種データであって、注目画素の位置に対応する注目ブロックの行と列におけるＤＣＴ変換の基底波形の値を表す種データどうしの積を演算することにより、所定の変換係数を生成するときに、種データにかける係数である、注目画素のクラスに対応する種重みデータによって種データを補正する種データ補正ステップと、種データ補正ステップで補正された後の種データどうしの積を演算することより、所定の変換係数を生成する変換係数生成ステップと、注目ブロックのＤＣＴ係数と所定の変換係数との積和演算を行うことにより、注目画素の画素値を求める演算ステップとを含み、種重みデータは、所定のタップ係数を求める学習の教師となる画像データである教師データを、複数のクラスのうちのいずれかのクラスにクラス分けし、教師データが所定のブロック単位でＤＣＴ変換されることにより得られたＤＣＴ係数を、学習の生徒となる生徒データとして、生徒データと所定のタップ係数との他の積和演算を行うことにより得られる教師データの予測値の予測誤差を、統計的に最小にする所定のタップ係数を、クラスごとに求める学習を行うことにより得られるクラスごとの所定のタップ係数と、種データどうしの積を演算することにより生成される他の変換係数との比を演算することにより、クラスごとに求められたものである処理を、コンピュータに行わせる。
【００４０】
本発明の記録媒体は、所定のブロック単位の画像データの画素のうち、復号される復号対象の画素である注目画素を、注目画素を含むブロックである注目ブロックのDCT係数の性質に基づいて、複数のクラスのうち、注目ブロックのDCT係数の性質を表すクラスにクラス分けするクラス分類ステップと、注目ブロックのＤＣＴ係数と所定の変換係数とを用いた積和演算に用いられる所定の変換係数を生成する元となる種データであって、注目画素の位置に対応する注目ブロックの行と列におけるＤＣＴ変換の基底波形の値を表す種データどうしの積を演算することにより、所定の変換係数を生成するときに、種データにかける係数である、注目画素のクラスに対応する種重みデータによって種データを補正する種データ補正ステップと、種データ補正ステップで補正された後の種データどうしの積を演算することより、所定の変換係数を生成する変換係数生成ステップと、注目ブロックのＤＣＴ係数と所定の変換係数との積和演算を行うことにより、注目画素の画素値を求める演算ステップとを含み、種重みデータは、所定のタップ係数を求める学習の教師となる画像データである教師データを、複数のクラスのうちのいずれかのクラスにクラス分けし、教師データが所定のブロック単位でＤＣＴ変換されることにより得られたＤＣＴ係数を、学習の生徒となる生徒データとして、生徒データと所定のタップ係数との他の積和演算を行うことにより得られる教師データの予測値の予測誤差を、統計的に最小にする所定のタップ係数を、クラスごとに求める学習を行うことにより得られるクラスごとの所定のタップ係数と、種データどうしの積を演算することにより生成される他の変換係数との比を演算することにより、クラスごとに求められたものである処理を、コンピュータに行わせるプログラムが記録されている。
【００４１】
本発明のデータ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体においては、所定のブロック単位の画像データの画素のうち、復号される復号対象の画素である注目画素が、注目画素を含むブロックである注目ブロックのDCT係数の性質に基づいて、複数のクラスのうち、注目ブロックのDCT係数の性質を表すクラスにクラス分けされ、注目ブロックのＤＣＴ係数と所定の変換係数とを用いた積和演算に用いられる所定の変換係数を生成する元となる種データであって、注目画素の位置に対応する注目ブロックの行と列におけるＤＣＴ変換の基底波形の値を表す種データどうしの積を演算することにより、所定の変換係数を生成するときに、種データにかける係数である、注目画素のクラスに対応する種重みデータによって種データが補正され、その補正された後の種データどうしの積を演算することより、所定の変換係数が生成される。そして、注目ブロックのＤＣＴ係数と所定の変換係数との積和演算を行うことにより、注目画素の画素値が求められる。
【００４２】
【発明の実施の形態】
以下、本発明の実施の形態について説明するが、その前に、ＭＰＥＧに準拠した復号方式について、簡単に説明する。
【００４３】
図１は、例えば、ＭＰＥＧ２方式で符号化された符号化データを、ＭＰＥＧに準拠して復号するＭＰＥＧデコーダの構成例を示している。
【００４４】
画像データをＭＰＥＧ２方式で符号化することにより得られる符号化データ（ビデオストリーム）は、分離部１に供給される。分離部１は、符号化データから、コーデッドブロックパターン(Coded Block Pattern)（以下、適宜、ＣＢＰという）、ＤＣＴタイプ、量子化されたＤＣＴ係数のＶＬＣ（可変長符号化）コード、量子化スケール、動きベクトル、動き補償タイプ（frame motion type, field motion type）等を分離して出力する。
【００４５】
ＤＣＴ係数抽出／逆量子化部２は、分離部１が出力する、量子化されたＤＣＴ係数（以下、適宜、量子化ＤＣＴ係数という）のＶＬＣコード、量子化スケール、およびＤＣＴタイプを受信し、ＤＣＴ係数を復号する。即ち、ＤＣＴ係数抽出／逆量子化部２は、分離部１が出力する量子化ＤＣＴ係数のＶＬＣコードを可変長復号し、８×８画素のブロックごとの量子化ＤＣＴ係数を求める。さらに、ＤＣＴ係数抽出／逆量子化部２は、ブロックごとの量子化ＤＣＴ係数を、分離部１が出力する量子化スケールによって逆量子化し、ブロックごとのＤＣＴ係数を求める。ＤＣＴ係数抽出／逆量子化部２で得られたブロックごとのＤＣＴ係数は、逆ＤＣＴ変換部３に供給される。
【００４６】
逆ＤＣＴ変換部３は、ＤＣＴ係数抽出／逆量子化部２からのブロックごとのＤＣＴ係数、即ち、８×８単位のＤＣＴ係数を逆ＤＣＴ変換し、動き補償加算部６に供給する。
【００４７】
ここで、図２Ａに示すような８×８画素のブロックにおける画素値を、８行×８列の行列Ｘで表すとともに、図２Ｂに示すような８×８のブロックにおけるＤＣＴ係数を、８行×８列の行列Ｆで表すこととすると、２次元のＤＣＴ変換／逆ＤＣＴ変換は、次式で表すことができる。
【００４８】
ＣＸＣT＝Ｆ・・・（９）
ＣTＦＣ＝Ｘ・・・（１０）
【００４９】
ここで、上付のＴは、転置を表す。また、Ｃは、８行×８列のＤＣＴ変換行列で、その第ｉ＋１行第ｊ＋１列のコンポーネントｃijは、次式で表される。
【００５０】
ｃij＝Ａi×ｃｏｓ（（２ｊ＋１）×ｉ×π／１６）・・・（１１）
【００５１】
但し、式（１１）におけるＡiは、ｉ＝０のときは、Ａ0＝１／（２√２）であり、ｉ≠０のときは、Ａi＝１／２である。また、ｉとｊは、０乃至７の範囲の整数値である。
【００５２】
式（９）は、画素値Ｘを、ＤＣＴ係数Ｆに変換するＤＣＴ変換を表し、式（１０）は、ＤＣＴ係数Ｆを、画素値Ｘに変換する逆ＤＣＴ変換を表す。
【００５３】
従って、逆ＤＣＴ変換部３では、式（１０）の演算が行われることにより、８×８のＤＣＴ係数が、８×８の画素値に変換される。
【００５４】
動き補償加算部６には、逆ＤＣＴ変換部３が出力する逆ＤＣＴ変換結果の他、分離部１が出力するＣＢＰおよびＤＣＴタイプが供給される。動き補償加算部６は、ＣＢＰやＤＣＴタイプに基づき、必要に応じて、逆ＤＣＴ変換部３からの逆ＤＣＴ結果に対して、画像メモリ５に記憶された予測画像を加算することで、８×８の画素値のブロックを復号して出力する。
【００５５】
即ち、ＭＰＥＧ符号化では、Ｉピクチャのブロックは、イントラ(intra)符号化され、Ｐピクチャのブロックは、イントラ符号化、または前方予測符号化され、Ｂピクチャのブロックは、イントラ符号化、前方予測符号化、後方予測符号化、または両方向予測符号化される。
【００５６】
ここで、前方予測符号化では、符号化対象のブロックのフレーム（またはフィールド）より時間的に先行するフレーム（またはフィールド）の画像を参照画像として、その参照画像を動き補償することにより得られる、符号化対象のブロックの予測画像と、符号化対象のブロックとの差分が求められ、その差分値（以下、適宜、残差画像という）がＤＣＴ変換される。
【００５７】
また、後方予測符号化では、符号化対象のブロックのフレームより時間的に後行するフレームの画像を参照画像として、その参照画像を動き補償することにより得られる、符号化対象のブロックの予測画像と、符号化対象のブロックとの差分が求められ、その差分値（残差画像）がＤＣＴ変換される。
【００５８】
さらに、両方向予測符号化では、符号化対象のブロックのフレームより時間的に先行するフレームと後行するフレームの２フレーム（またはフィールド）の画像を参照画像として、その参照画像を動き補償することにより得られる、符号化対象のブロックの予測画像と、符号化対象のブロックとの差分が求められ、その差分値（残差画像）がＤＣＴ変換される。
【００５９】
従って、ブロックが、ノンイントラ(non-intra)符号化（前方予測符号化、後方予測符号化、または両方向予測符号化）されている場合、逆ＤＣＴ変換部３が出力する逆ＤＣＴ変換結果は、残差画像（元の画像と、その予測画像との差分値）であり、動き補償加算部６は、この残差画像と、画像メモリ５に記憶された予測画像とを加算することで、ノンイントラ符号化されたブロックを復号する。
【００６０】
一方、動き補償加算部６は、逆ＤＣＴ変換部４が出力するブロックが、イントラ符号化されたものであった場合には、そのブロックを、そのまま復号結果とする。
【００６１】
動き補償加算部６は、１フレーム（またはフィールド）分のブロックの復号結果、即ち、１フレーム（またはフィールド）の復号画像を得ると、その復号画像を、画像メモリ（Ｉ，Ｐピクチャ用画像メモリ）７と、ピクチャ選択部８に供給する。
【００６２】
画像メモリ７は、動き補償加算部６から供給される復号画像が、ＩピクチャまたはＰピクチャの画像である場合、その復号画像を、その後に復号される符号化データの参照画像として一時記憶する。なお、ＭＰＥＧ２では、Ｂピクチャは参照画像とされないことから、動き補償加算部６から供給される復号画像が、Ｂピクチャの画像である場合には、その復号画像は、画像メモリ７に記憶されない。
【００６３】
ピクチャ選択部８は、動き補償加算部６が出力する復号画像、または画像メモリ７に記憶された復号画像のフレーム（またはフィールド）を、表示順に選択して出力する。即ち、ＭＰＥＧ２方式では、画像のフレーム（またはフィールド）の表示順と復号順（符号化順）とが一致していないため、ピクチャ選択部８は、復号順に並んでいる復号画像のフレーム（またはフィールド）を表示順に並べ替えて出力する。
【００６４】
このようにして表示順の並びとされた復号画像は、例えば、図示せぬディスプレイ等に供給されて表示される。
【００６５】
一方、動き補償部４は、分離部１が出力する動きベクトルや動き補償タイプを受信し、その動き補償タイプに基づいて、参照画像となるフレーム（またはフィールド）を、画像メモリ７から読み出す。さらに、動き補償部４は、画像メモリ７から読み出した参照画像に対して、分離部１が出力する動きベクトルにしたがった動き補償を施し、その結果得られる予測画像を、画像メモリ５に供給して記憶させる。
【００６６】
このようにして画像メモリ５に記憶された予測画像は、上述したように、動き補償加算部６において、逆ＤＣＴ変換部３が出力する残差画像と加算される。
【００６７】
なお、図１のＭＰＥＧデコーダにおいては、各ブロックにおける遅延時間を吸収するためのタイミング調整用のメモリと同期信号を必要とするが、その図示は、省略してある。後述する画像処理装置や学習装置においても同様である。
【００６８】
次に、図３は、ＭＰＥＧ符号化された符号化データとしてのビデオストリームを、逆ＤＣＴ変換せずに復号する画像処理装置の構成例を示している。なお、図中、図１のＭＰＥＧデコーダにおける場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図３の画像処理装置は、逆ＤＣＴ変換部３に代えて、ＦＴ(Frequency-Time)変換部１０が設けられている他は、図１のＭＰＥＧデコーダと同様に構成されている。
【００６９】
図１のＭＰＥＧデコーダにおいては、逆ＤＣＴ変換部３において、ＭＰＥＧ符号化された符号化データとしてのビデオストリームに含まれるブロックごとのＤＣＴ係数を逆ＤＣＴ変換し、これにより、周波数領域のデータとしてのＤＣＴ係数を、時間領域または空間領域のデータ（以下、適宜、時空間領域のデータという）としての画素値に変換するようになっているが、図３の画像処理装置では、ＦＴ変換部１０において、ブロックごとのＤＣＴ係数が、画素値に変換されるようになっている。
【００７０】
即ち、図４は、図３のＦＴ変換部１０の構成例を示している。
【００７１】
モード制御部１１は、ＤＣＴ係数抽出／逆量子化部２（図３）から供給されるＤＣＴ係数のブロックを、順次、注目ブロックとし、その注目ブロックのＤＣＴ係数を、符号制御部１２に供給する。さらに、モード制御部１１は、注目ブロックの各画素を、例えば、いわゆるラスタスキャン順に、順次、注目画素とする。
【００７２】
さらに、モード制御部１１は、注目ブロックにおける注目画素の位置を認識し、その位置を表す情報を画素位置モードとする。
【００７３】
即ち、本実施の形態では、ＭＰＥＧ符号化された符号化データ（ビデオストリーム）を復号対象としており、ＭＰＥＧでは、ブロックは、横×縦が８×８の画素またはＤＣＴ係数で構成される。従って、ここでは、ブロックにおける画素の位置としては、６４カ所の位置が存在し、モード制御部１１は、その６４カ所の各位置を表す情報を、画素位置モードとする。
【００７４】
なお、ここでは、ブロックの６４カ所の位置における、例えば、ラスタスキャン順で、ｎ番目の位置を、画素位置モード＃ｎ−１と表すこととする。本実施の形態では、０乃至６３の６４モードの画素位置モードが存在する。
【００７５】
モード制御部１１は、さらに、注目画素の画素位置モードを、例えば、１／４に縮退し、ブロックにおける画素の数よりも総数が少ない画素位置モードである縮退画素位置モードを得て、種データ記憶部１３に供給する。ここで、本実施の形態では、６４モードの画素位置モードが存在するから、縮退画素位置モードは、１６モード（６４モード／４）だけ存在することとなる。
【００７６】
また、モード制御部１１は、後述する注目画素の領域情報を得て、その領域情報に基づき、符号制御部１２を制御する。
【００７７】
符号制御部１２は、モード制御部１１から供給される領域情報に基づき、やはり、モード制御部１１から供給される注目ブロックのＤＣＴ係数の符号を操作し、積和演算部１５に出力する。
【００７８】
種データ記憶部１３は、周波数領域のデータであるＤＣＴ係数を、時空間領域のデータである画素値に変換するのに用いられる変換係数を生成する元となる種データを、縮退画素位置モードと対応付けて記憶しており、モード制御部１１から供給される注目画素の縮退画素位置モードに対応する種データを、変換係数生成部１４に供給する。
【００７９】
変換係数生成部１４は、種データ記憶部１３から供給される種データから、変換係数を生成し、積和演算部１５に供給する。積和演算部１５は、変換係数生成部１４から供給される変換係数と、符号制御部１２から供給される注目ブロックのＤＣＴ係数とを用いた積和演算を行い、その積和演算結果を、注目画素の復号画素値として出力する。
【００８０】
以上のように構成されるＦＴ変換部１０では、周波数領域のデータであるＤＣＴ係数が、時空間領域のデータである画素値に変換される。従って、ＦＴ変換部１０における処理は、周波数(Frequency)と時間(Time)の頭文字をとって、ＦＴ変換と呼ぶことができる。
【００８１】
なお、逆ＤＣＴ変換を表す式（１０）によれば、注目ブロックのＤＣＴ係数をコンポーネントとする８×８の行列Ｆの左側から、ＤＣＴ変換行列Ｃの転置行列である８×８の行列ＣTを乗算し、その乗算の結果得られる８×８の行列の右側から、８×８のＤＣＴ変換行列Ｃを乗算することにより、８×８の画素値の行列Ｘが求められる。
【００８２】
これに対して、ＦＴ変換部１０では、画素位置モード＃ｎの画素の画素値Ｌnが、原理的には、次式の積和演算によって求められる。
【００８３】
Ｌn＝Ｆn,0×ｆ0＋Ｆn,1×ｆ1＋・・・＋Ｆn,63×ｆ63・・・（１２）
【００８４】
但し、ｆi-1は、注目ブロックの６４個のＤＣＴ係数のシーケンス（例えば、ラスタスキャン順のシーケンス）のうちの、先頭からｉ番目のＤＣＴ係数を表す。また、Ｆn,iは、画素位置モード＃ｎの画素の画素値を求めるのに、注目ブロックの６４個のＤＣＴ係数のシーケンスの先頭からｉ番目のＤＣＴ係数ｆi-1と乗算される変換係数を表す。
【００８５】
式（１０）の左辺の行列演算ＣTＦＣによって、８×８の画素値の行列Ｘを求めることは、その行列Ｘのある１つの画素だけに注目すれば、式（１２）を計算することに対応する。従って、ＦＴ変換部１０で行われるＦＴ変換と、図１の逆ＤＣＴ変換部３で行われる逆ＤＣＴ変換とは、等価である。
【００８６】
但し、図１の逆ＤＣＴ変換部３において、式（１０）の逆ＤＣＴ変換を行うためには、８行×８列のＤＣＴ変換行列Ｃのコンポーネントｃij、即ち、６４個のコンポーネントｃ00乃至ｃ77を記憶しておく必要がある。これに対して、ＦＴ変換部１０では、変換係数生成部１４において、後述するように、種データどうしの積を計算することによって、式（１２）の６４個の変換係数Ｆn,0乃至Ｆ63が生成されるが、その変換係数の生成のために、種データ記憶部１３に記憶させておく種データの数が、ＤＣＴ変換行列Ｃの６４個のコンポーネントｃijよりも少ないため、ＤＣＴ係数を画素値に変換するのに必要なデータを記憶させる種データ記憶部１３として、記憶容量の小さいメモリを採用することができる。
【００８７】
次に、図５乃至図１０を参照して、図４のモード制御部１１による画素位置モードの縮退（画素位置モードの縮退画素位置モードへの変換）と、符号制御部１２によるＤＣＴ係数の符号の操作について説明する。
【００８８】
モード制御部１１は、注目画素が、注目ブロックにおける複数の領域のうちのいずれに位置するかによって、その注目画素の画素位置モードを縮退画素位置モードに変換（縮退）する。
【００８９】
即ち、モード制御部１１は、注目ブロックを、垂直方向と水平方向にそれぞれ２等分して得られる左上、右上、左下、右下の４つの４×４の領域のうちのいずれの領域に、注目画素が位置するかを判定する。
【００９０】
注目画素が位置する領域（以下、適宜、注目領域という）が、注目ブロックの左上の領域（左上領域）である場合、モード制御部１１は、注目ブロックにおける注目画素の位置を表す情報を、縮退画素位置モードとして出力する。即ち、この場合、モード制御部１１は、例えば、図５Ａに示すように、注目ブロックの４×４の左上領域のいずれに、注目画素が位置するかによって、０乃至１５の１６モードの縮退画素位置モードのうちのいずれかを、注目画素の縮退画素位置モードとして出力する。ここで、図５Ａの実施の形態では、４×４の左上領域のラスタスキャン順に、０から１５までの縮退画素位置モードが割り当てられている。即ち、例えば、いま、注目ブロックの左からｘ番目で、上からｙ番目の画素を、ｐ（ｘ，ｙ）と表すこととすると、左上領域に位置する画素ｐ（１，１），ｐ（２，１），ｐ（３，１），ｐ（４，１），ｐ（１，２），ｐ（２，２），ｐ（３，２），ｐ（４，２），ｐ（１，３），ｐ（２，３），ｐ（３，３），ｐ（４，３），ｐ（１，４），ｐ（２，４），ｐ（３，４），ｐ（４，４）については、縮退画素位置モード＃０，＃１，＃２，＃３，＃４，＃５，＃６，＃７，＃８，＃９，＃１０，＃１１，＃１２，＃１３，＃１４，＃１５が、それぞれ出力される。
【００９１】
さらに、注目領域が左上領域である場合には、モード制御部１１は、その旨を表す領域情報を、符号制御部１２に供給する。符号制御部１２は、注目領域が左上領域である旨の領域情報を受信すると、モード制御部１１から供給される注目ブロックの８×８のＤＣＴ係数の符号を、図５Ｂに示すように、特に操作せず、そのままにして、そのＤＣＴ係数を、そのまま積和演算部１５に供給する。
【００９２】
なお、図５Ｂにおける数字は（図６Ｂ、図９Ｂ、および図１０Ｂにおいても同様）、注目ブロックの６４個のＤＣＴ係数を、例えば、ラスタスキャン順のシーケンスに並べた場合の、先頭からｉ番目のＤＣＴ係数をｆi-1と表したときの、そのＤＣＴ係数ｆi-1のサフィックスｉ−１を表す。
【００９３】
積和演算部１５は、縮退画素位置モードが＃ｎ’のときには、その縮退画素位置モード＃ｎ’の画素の画素値を求めるための６４個の変換係数Ｆn',0，Ｆn',1，・・・，Ｆn',63と、符号制御部１２から供給される注目ブロックの６４個のＤＣＴ係数ｆ0，ｆ1，・・・，ｆ63との積和演算を行い、その積和演算結果を、注目画素の復号結果とする。
【００９４】
従って、左上領域に位置する注目画素の縮退画素位置モードを＃ｎ’とすると、積和演算部１５において、その注目画素の画素値Ｌn'は、式（１２）に対応する次式にしたがって求められる。
【００９５】
Ｌn'＝Ｆn',0×ｆ0＋Ｆn',1×ｆ1＋・・・＋Ｆn',63×ｆ63・・・（１３）
【００９６】
次に、注目領域が、注目ブロックの右上の領域（右上領域）である場合、モード制御部１１は、注目ブロックを左右に２等分する線（以下、適宜、垂直分割線という）について、注目画素と線対称の位置にある注目ブロックの左上領域における画素の位置を表す情報としての縮退画素位置モードを、注目画素の縮退画素位置モードとして出力する。即ち、モード制御部１１は、例えば、図６Ａに示すように、注目ブロックの４×４の右上領域のいずれに、注目画素が位置するかによって、０乃至１５の１６モードの縮退画素位置モードのうちのいずれかを、注目画素の縮退画素位置モードとして出力する。従って、右上領域に位置する画素ｐ（８，１），ｐ（７，１），ｐ（６，１），ｐ（５，１），ｐ（８，２），ｐ（７，２），ｐ（６，２），ｐ（５，２），ｐ（８，３），ｐ（７，３），ｐ（６，３），ｐ（５，３），ｐ（８，４），ｐ（７，４），ｐ（６，４），ｐ（５，４）については、左上領域に位置する画素ｐ（１，１）乃至ｐ（４，４）における場合と同様に、縮退画素位置モード＃０乃至＃１５が、それぞれ出力される。
【００９７】
さらに、注目領域が右上領域である場合には、モード制御部１１は、その旨を表す領域情報を、符号制御部１２に供給する。符号制御部１２は、注目領域が右上領域である旨の領域情報を受信すると、図６Ｂに示すように、モード制御部１１から供給される注目ブロックの８×８のＤＣＴ係数のうち、注目ブロックの偶数列（最左列を第１列とする）に位置するものの符号を反転し、その結果得られるＤＣＴ係数を、積和演算部１５に供給する。
【００９８】
積和演算部１５は、縮退画素位置モードが＃ｎ’のときには、その縮退画素位置モード＃ｎ’の画素の画素値を求めるための６４個の変換係数Ｆn',0，Ｆn',1，・・・，Ｆn',63と、符号制御部１２から供給される注目ブロックの６４個のＤＣＴ係数ｆ0，−ｆ1，・・・，−ｆ63との積和演算を行い、その積和演算結果を、注目画素の復号結果とする。
【００９９】
従って、右上領域に位置する注目画素の縮退画素位置モードを＃ｎ’とすると、積和演算部１５において、その注目画素の画素値Ｌn'は、式（１２）に対応する次式にしたがって求められる。
【０１００】
Ｌn'＝Ｆn',0×ｆ0＋Ｆn',1×（−ｆ1）＋・・・＋Ｆn',63×（−ｆ63）・・・（１４）
【０１０１】
なお、式（１４）においては、ＤＣＴ係数を構成する注目ブロックの６４個のＤＣＴ係数のうち、偶数列に位置するもの（以下、適宜、偶数列ＤＣＴ係数という）に対して、（−１）が乗算されることにより、その偶数列ＤＣＴ係数の符号が反転されている（＋から−、または−から＋にされている）。
【０１０２】
ここで、注目領域が、右上領域である場合、モード制御部１１は、上述のように、垂直分割線について、注目画素と線対称の位置にある左上領域における画素（以下、適宜、垂直線対称画素という）の縮退画素位置モードを、注目画素の縮退画素位置モードとして採用することにより、画素位置モードを縮退している。
【０１０３】
このように、右上領域の画素の縮退画素位置モード＃ｎ’を、その垂直線対称画素の縮退画素位置モード＃ｎ’と兼用する場合、右上領域の画素と、その垂直線対称画素とは、同一の変換係数Ｆn',0，Ｆn',1，・・・，Ｆn',63を用いて求められることになる。
【０１０４】
即ち、右上領域の画素と、その垂直線対称画素とは、垂直分割線に対して左右対称となる位置関係を有し、右上領域の画素の画素値は、その位置関係が左右対称になっている垂直線対称画素と同一の縮退画素位置モード＃ｎ’に対応する変換係数Ｆn',0乃至Ｆn',63を用いて求められる。この場合、右上領域の画素の位置におけるＤＣＴ係数の基底となるコサイン波形には、その垂直線対称画素の位置におけるＤＣＴ係数の基底となるコサイン波形の左右を反転したコサイン波形が割り当てられることになる。このため、右上領域の画素の画素値を求める場合には、式（１４）に示したように、偶数列ＤＣＴ係数の符号を反転することとしている。
【０１０５】
ここで、図７は、偶数列ＤＣＴ係数となっているＤＣＴ係数の１つであるｆ1の基底となっているコサイン波形を示しており、図８は、偶数列ＤＣＴ係数ではないＤＣＴ係数の１つであるｆ2の基底となっているコサイン波形を示している。
【０１０６】
８×８のＤＣＴ係数のブロックについて、左上のＤＣＴ係数の座標を原点として、水平方向の周波数に対応する横方向の座標をｕと、垂直方向の周波数に対応する縦方向の座標をｖと、それぞれ表すとともに、８×８の画素値のブロックについて、左上の画素の座標を原点として、水平方向の位置に対応する横方向の座標をｉと、垂直方向の位置に対応する縦方向の座標をｊと、それぞれ表すこととすると、ブロックのある位置（ｉ，ｊ）における水平方向または垂直方向の基底波形（ＤＣＴ係数の基底となるコサイン波形）の値は、式（１１）から、Ａu×ｃｏｓ（（２ｊ＋１）×ｕ×π／１６）またはＡv×ｃｏｓ（（２ｉ＋１）×ｖ×π／１６）で、それぞれ表される。なお、いまの場合、ｉ，ｊ，ｕ，ｖは、０乃至７の範囲の整数値をとる。
【０１０７】
従って、図７Ａに示す偶数列ＤＣＴ係数ｆ1の水平方向の基底のコサイン波形は、図７Ｂにおいて実線で示すものとなる。このコサイン波形は、その左右を反転すると、図７Ｂにおいて点線で示す波形となり、この左右反転波形（点線の波形）は、元のコサイン波形（実線の波形）の符号を反転したもの（−１倍したもの）となる。
【０１０８】
一方、図８Ａに示す偶数列ＤＣＴ係数でないＤＣＴ係数ｆ2の基底のコサイン波形は、図８Ｂにおいて実線で示すものとなる。このコサイン波形は、その左右を反転しても、元の図８Ｂに実線で示す波形に一致する。
【０１０９】
従って、時空間領域（ここでは、空間領域）において、右上領域の画素を、その垂直線対称画素と対応させることは、周波数領域において、偶数列ＤＣＴ係数の基底のコサイン波形の符号を反転させることに相当する。
【０１１０】
このため、右上領域の画素の画素値を、縮退画素位置モード＃ｎ’に対応する変換係数Ｆn',0，Ｆn',1，・・・，Ｆn',63によって求める場合には、式（１４）に示したように、偶数列ＤＣＴ係数の符号が反転される。
【０１１１】
なお、上述のように、偶数列ＤＣＴ係数でないＤＣＴ係数の基底のコサイン波形は、その左右を反転しても、元のコサイン波形に一致するので、偶数列ＤＣＴ係数でないＤＣＴ係数については、符号を反転する必要はない。
【０１１２】
次に、注目領域が、注目ブロックの左下の領域（左下領域）である場合、モード制御部１１は、注目ブロックを上下に２等分する線（以下、適宜、水平分割線という）について、注目画素と線対称の位置にある注目ブロックの左上領域における画素の位置を表す情報としての縮退画素位置モードを、注目画素の縮退画素位置モードとして出力する。即ち、モード制御部１１は、例えば、図９Ａに示すように、注目ブロックの４×４の左下領域のいずれに、注目画素が位置するかによって、０乃至１５の１６モードの縮退画素位置モードのうちのいずれかを、注目画素の縮退画素位置モードとして出力する。従って、左下領域に位置する画素ｐ（１，８），ｐ（２，８），ｐ（３，８），ｐ（４，８），ｐ（１，７），ｐ（２，７），ｐ（３，７），ｐ（４，７），ｐ（１，６），ｐ（２，６），ｐ（３，６），ｐ（４，６），ｐ（１，５），ｐ（２，５），ｐ（３，５），ｐ（４，５）については、左上領域に位置する画素ｐ（１，１）乃至ｐ（４，４）における場合と同様に、縮退画素位置モード＃０乃至＃１５が、それぞれ出力される。
【０１１３】
さらに、注目領域が左下領域である場合には、モード制御部１１は、その旨を表す領域情報を、符号制御部１２に供給する。符号制御部１２は、注目領域が左下領域である旨の領域情報を受信すると、図９Ｂに示すように、モード制御部１１から供給される注目ブロックの８×８のＤＣＴ係数のうち、注目ブロックの偶数行（最上行を第１行とする）に位置するものの符号を反転し、その結果得られるＤＣＴ係数を、積和演算部１５に供給する。
【０１１４】
積和演算部１５は、縮退画素位置モードが＃ｎ’のときには、その縮退画素位置モード＃ｎ’の画素の画素値を求めるための６４個の変換係数Ｆn',0，Ｆn',1，・・・，Ｆn',63と、符号制御部１２から供給される注目ブロックの６４個のＤＣＴ係数ｆ0，ｆ1，・・・，−ｆ63との積和演算を行い、その積和演算結果を、注目画素の復号結果とする。
【０１１５】
従って、左下領域に位置する注目画素の縮退画素位置モードを＃ｎ’とすると、積和演算部１５において、その注目画素の画素値Ｌn'は、式（１２）に対応する次式にしたがって求められる。
【０１１６】
Ｌn'＝Ｆn',0×ｆ0＋Ｆn',1×ｆ1＋・・・＋Ｆn',63×（−ｆ63）・・・（１５）
【０１１７】
なお、式（１５）においては、ＤＣＴ係数を構成する注目ブロックの６４個のＤＣＴ係数のうち、偶数行に位置するもの（以下、適宜、偶数行ＤＣＴ係数という）に対して、（−１）が乗算されることにより、その偶数行ＤＣＴ係数の符号が反転されている。
【０１１８】
ここで、注目領域が、左下領域である場合、モード制御部１１は、上述のように、水平分割線について、注目画素と線対称の位置にある左上領域における画素（以下、適宜、水平線対称画素という）の縮退画素位置モードを、注目画素の縮退画素位置モードとして採用することにより、画素位置モードを縮退している。
【０１１９】
このように、左下領域の画素の縮退画素位置モードを、その水平線対称画素の縮退画素位置モードと兼用する場合、左下領域の画素と、その水平線対称画素とは、同一の変換係数Ｆn',0，Ｆn',1，・・・，Ｆn',63を用いて求められることになる。
【０１２０】
即ち、左下領域の画素と、その水平線対称画素とは、水平分割線に対して上下対称となる位置関係を有し、左下領域の画素の画素値は、その位置関係が上下対称になっている水平線対称画素と同一の縮退画素位置モードに対応する変換係数Ｆn',0乃至Ｆn',63を用いて求められる。この場合、左下領域の画素の位置におけるＤＣＴ係数の基底となるコサイン波形には、その水平線対称画素の位置におけるＤＣＴ係数の基底となるコサイン波形の上下を反転したコサイン波形が割り当てられることになる。このため、左下領域の画素の画素値を求める場合には、式（１５）に示したように、偶数行ＤＣＴ係数の符号を反転することとしている。
【０１２１】
即ち、偶数行ＤＣＴ係数の基底のコサイン波形は、その上下を反転すると、図７Ｂに示した偶数列ＤＣＴ係数における場合と同様に、元のコサイン波形の符号を反転したもの（−１倍したもの）となる。
【０１２２】
一方、偶数行ＤＣＴ係数でないＤＣＴ係数の基底のコサイン波形は、その上下を反転すると、図８Ｂに示した偶数列ＤＣＴ係数でないＤＣＴ係数における場合と同様に、元の波形に一致する。
【０１２３】
従って、空間領域において、左下領域の画素を、その水平線対称画素と対応させることは、周波数領域において、偶数行ＤＣＴ係数の基底のコサイン波形の符号を反転させることに相当する。
【０１２４】
このため、左下領域の画素の画素値を、縮退画素位置モード＃ｎ’に対応する変換係数Ｆn',0，Ｆn',1，・・・，Ｆn',63によって求める場合には、式（１５）に示したように、偶数行ＤＣＴ係数の符号が反転される。
【０１２５】
なお、上述のように、偶数行ＤＣＴ係数でないＤＣＴ係数の基底のコサイン波形は、その上下を反転しても、元のコサイン波形に一致するので、偶数行ＤＣＴ係数でないＤＣＴ係数については、符号を反転する必要はない。
【０１２６】
次に、注目領域が、注目ブロックの右下の領域（右下領域）である場合、モード制御部１１は、注目ブロックの垂直分割線と水平分割線との交点（以下、適宜、ブロック中心点という）について、注目画素と点対称の位置にある注目ブロックの左上領域における画素の位置を表す情報としての縮退画素位置モードを、注目画素の縮退画素位置モードとして出力する。即ち、モード制御部１１は、例えば、図１０Ａに示すように、注目ブロックの４×４の右下領域のいずれに、注目画素が位置するかによって、０乃至１５の１６モードの縮退画素位置モードのうちのいずれかを、注目画素の縮退画素位置モードとして出力する。従って、右下領域に位置する画素ｐ（８，８），ｐ（７，８），ｐ（６，８），ｐ（５，８），ｐ（８，７），ｐ（７，７），ｐ（６，７），ｐ（５，７），ｐ（８，６），ｐ（７，６），ｐ（６，６），ｐ（５，６），ｐ（８，５），ｐ（７，５），ｐ（６，５），ｐ（５，５）については、左上領域に位置する画素ｐ（１，１）乃至ｐ（４，４）における場合と同様に、縮退画素位置モード＃０乃至＃１５が、それぞれ出力される。
【０１２７】
さらに、注目領域が右下領域である場合には、モード制御部１１は、その旨を表す領域情報を、符号制御部１２に供給する。符号制御部１２は、注目領域が右下領域である旨の領域情報を受信すると、図１０Ｂに示すように、モード制御部１１から供給される注目ブロックの８×８のＤＣＴ係数のうち、偶数列ＤＣＴ係数の符号を反転するとともに、偶数行ＤＣＴ係数の符号を反転し、積和演算部１５に供給する。
【０１２８】
従って、この場合、注目ブロックの８×８のＤＣＴ係数のうち、図１０Ｂに影を付して示す注目ブロックの偶数列ＤＣＴ係数にのみなっているものと、偶数行ＤＣＴ係数にのみなっているものの符号が反転されることになる。即ち、この場合、注目ブロックのＤＣＴ係数のうち、偶数列ＤＣＴ係数にもなっており、偶数行ＤＣＴ係数にもなっているものは、符号が２回反転されるため、結局、元の符号に戻される。
【０１２９】
積和演算部１５は、縮退画素位置モードが＃ｎ’のときには、その縮退画素位置モード＃ｎ’の画素の画素値を求めるための６４個の変換係数Ｆn',0，Ｆn',1，・・・，Ｆn',63と、符号制御部１２から供給される注目ブロックの６４個のＤＣＴ係数ｆ0，−ｆ1，・・・，ｆ63との積和演算を行い、その積和演算結果を、注目画素の復号結果とする。
【０１３０】
従って、右下領域に位置する注目画素の縮退画素位置モードを＃ｎ’とすると、積和演算部１５において、その注目画素の画素値Ｌn'は、式（１２）に対応する次式にしたがって求められる。
【０１３１】
Ｌn'＝Ｆn',0×ｆ0＋Ｆn',1×（−ｆ1）＋・・・＋Ｆn',63×ｆ63・・・（１６）
【０１３２】
なお、式（１６）においては、ＤＣＴ係数を構成する注目ブロックの６４個のＤＣＴ係数のうち、偶数列ＤＣＴ係数と偶数行ＤＣＴ係数の両方に対して、（−１）が乗算されることにより、偶数列ＤＣＴ係数または偶数行ＤＣＴ係数のうちのいずれか一方のみになっているＤＣＴ係数の符号が反転されている。
【０１３３】
ここで、注目領域が、右下領域である場合、モード制御部１１は、上述のように、ブロック中心点について、注目画素と点対称の位置にある左上領域における画素（以下、適宜、点対称画素という）の縮退画素位置モードを、注目画素の縮退画素位置モードとして採用することにより、画素位置モードを縮退している。
【０１３４】
このように、右下領域の画素の縮退画素位置モードを、その点対称画素の縮退画素位置モードと兼用する場合、右下領域の画素と、その点対称画素とは、同一の変換係数Ｆn',0，Ｆn',1，・・・，Ｆn',63を用いて求められることになる。
【０１３５】
即ち、右下領域の画素と、その点対称画素とは、ブロック中心点に対して点対称となる位置関係を有し、即ち、垂直分割線に対して線対称に移動し、さらに、水平分割線に対して線対称に移動した位置関係を有し、右下領域の画素の画素値は、その位置関係が点対称になっている点対称画素と同一の縮退画素位置モードに対応する変換係数Ｆn',0乃至Ｆn',63を用いて求められる。。従って、右下領域の画素の位置におけるＤＣＴ係数の基底となるコサイン波形には、その点対称画素の位置におけるＤＣＴ係数の基底となるコサイン波形の左右を反転し、さらに、上下を反転したコサイン波形が割り当てられることになる。このため、右下領域の画素の画素値を求める場合には、式（１６）に示したように、偶数列ＤＣＴ係数の符号を反転し、さらに偶数行ＤＣＴ係数の符号を反転することとしている。
【０１３６】
即ち、上述したように、偶数列ＤＣＴ係数の基底のコサイン波形は、その左右を反転すると、元のコサイン波形の符号を反転したものとなり、偶数行ＤＣＴ係数の基底のコサイン波形は、その上下を反転すると、元のコサイン波形の符号を反転したものとなる。
【０１３７】
従って、空間領域において、右下領域の画素を、その点対称画素と対応させることは、周波数領域において、偶数行ＤＣＴ係数の基底のコサイン波形の符号を反転させるとともに、偶数行ＤＣＴ係数の基底のコサイン波形の符号を反転させることに相当する。
【０１３８】
このため、左下領域の画素の画素値を、縮退画素位置モード＃ｎ’に対応する変換係数Ｆn',0，Ｆn',1，・・・，Ｆn',63によって求める場合には、式（１６）に示したように、偶数列ＤＣＴ係数にのみなっているＤＣＴ係数と、偶数行ＤＣＴ係数にのみなっているＤＣＴ係数の符号が反転される。
【０１３９】
なお、偶数列ＤＣＴ係数でもあり、偶数行ＤＣＴ係数でもあるＤＣＴ係数については、符号の反転が２度行われることにより、結局、元の符号に戻るため、符号の反転を行う必要はない。
【０１４０】
ここで、上述の場合には、符号制御部１２において、モード制御部１１が出力するＤＣＴ係数の符号を操作するようにしたが、符号制御部１２では、変換係数生成部１４が出力する変換係数の符号を操作するようにし、積和演算部１５において、実質的に、式（１３）乃至式（１６）の積和演算が行われるようにすることも可能である。
【０１４１】
次に、図１１を参照して、図４の種データ記憶部１３に記憶される種データについて説明する。
【０１４２】
上述したように、８×８のＤＣＴ係数のブロックについて、左上のＤＣＴ係数の座標を原点として、水平方向の周波数に対応する横方向の座標をｕと、垂直方向の周波数に対応する縦方向の座標をｖと、それぞれ表すとともに、８×８の画素値のブロックについて、左上の画素の座標を原点として、水平方向の位置に対応する横方向の座標をｉと、垂直方向の位置に対応する縦方向の座標をｊと、それぞれ表すこととすると、ブロックのある位置（ｉ，ｊ）における水平方向または垂直方向の基底波形（ＤＣＴ係数の基底となるコサイン波形）の値は、式（１１）から、Ａu×ｃｏｓ（（２ｊ＋１）×ｕ×π／１６）またはＡv×ｃｏｓ（（２ｉ＋１）×ｖ×π／１６）で、それぞれ表される。
【０１４３】
そして、ブロックの座標（ｕ，ｖ）（左からｕ＋１番目で、上からｖ＋１番目）に位置するＤＣＴ係数は、そのブロックの画素における水平方向の周波数ｕ（正確には、ｕに相当する周波数）の空間周波数成分と、垂直方向の周波数ｖ（正確には、ｖに相当する周波数）の空間周波数成分との積であるから、そのブロックの空間領域における水平方向の周波数ｕの空間周波数成分と、垂直方向の周波数ｖの空間周波数成分を表す。
【０１４４】
いま、ブロックのある位置（ｉ，ｊ）における、ある周波数ｕの水平方向の基底波形Ａu×ｃｏｓ（（２ｊ＋１）×ｕ×π／１６）の値と、ある周波数ｖの垂直方向の基底波形Ａv×ｃｏｓ（（２ｉ＋１）×ｖ×π／１６）の値との積を、Ｆ（ｉ，ｊ，ｕ，ｖ）と表すこととすると、ブロックのある位置（ｉ，ｊ）の画素の画素値Ｌ（ｉ，ｊ）は、そのブロックの各位置（ｕ，ｖ）のＤＣＴ係数ｆ（ｕ，ｖ）と、各周波数ｕ，ｖについてのＦ（ｉ，ｊ，ｕ，ｖ）との、次式のような積和演算によって求めることができる。
【０１４５】
Ｌ（ｉ，ｊ）＝Σ（Ｆ（ｉ，ｊ，ｕ，ｖ）×ｆ（ｕ，ｖ））・・・（１７）
但し、式（１７）において、Σは、ｕ，ｖを、それぞれ０乃至７の整数値に代えてのサメーションを表す。
【０１４６】
ここで、式（１７）におけるＦ（ｉ，ｊ，ｕ，ｖ）とｆ（ｕ，ｖ）は、式（１２）におけるＦn,iとｆi-1に、それぞれ等価なものであり、図４の積和演算部１５では、原理的には、式（１７）の積和演算によって、画素値が求められる。
【０１４７】
従って、式（１７）における、ＤＣＴ係数ｆ（ｕ，ｖ）に対する係数Ｆ（ｉ，ｊ，ｕ，ｖ）が、変換係数生成部１４で生成される変換係数となるが、この変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）としては、ある位置（ｉ，ｊ）の画素の画素値を求めるのに、ｕとｖが、それぞれ０乃至７の値のときのもの、即ち、６４個の変換係数Ｆ（ｉ，ｊ，０，０）乃至Ｆ（ｉ，ｊ，７，７）が必要となる。
【０１４８】
よって、ブロックの８×８画素の画素値を復号するには、その６４（＝８×８）の各位置の画素について、それぞれ、６４個の変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）が必要となる。即ち、ＤＣＴ係数のブロックを、画素値のブロックに変換（復号）するには、６４×６４個の変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）が必要となる。
【０１４９】
しかしながら、図４のＦＴ変換部１０において、このような６４×６４個の多数の変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）を記憶しておくのでは、大容量のメモリが必要となる。
【０１５０】
そこで、図４のＦＴ変換部１０では、変換係数生成部１４において、種データ記憶部１３に記憶された種データから、変換係数が生成される。
【０１５１】
即ち、式（１７）の変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）は、上述したように、周波数ｕの水平方向の基底波形Ａu×ｃｏｓ（（２ｊ＋１）×ｕ×π／１６）の値と、周波数ｕの垂直方向の基底波形Ａv×ｃｏｓ（（２ｉ＋１）×ｖ×π／１６）の値との積として求められる。
【０１５２】
いまの場合、ｉ，ｊ，ｕ，ｖは、いずれも、０乃至７の整数値をとるから、水平方向の基底波形Ａu×ｃｏｓ（（２ｊ＋１）×ｕ×π／１６）も、垂直方向の基底波形Ａv×ｃｏｓ（（２ｉ＋１）×ｖ×π／１６）も、６４（＝８×８）の値を取り得る。また、水平方向の基底波形Ａu×ｃｏｓ（（２ｊ＋１）×ｕ×π／１６）がとる値と、垂直方向の基底波形Ａv×ｃｏｓ（（２ｉ＋１）×ｖ×π／１６）がとる値とは同一であるから、水平方向の基底波形Ａu×ｃｏｓ（（２ｊ＋１）×ｕ×π／１６）がとる６４個の値か、または、垂直方向の基底波形Ａv×ｃｏｓ（（２ｉ＋１）×ｖ×π／１６）がとる６４個の値を、種データとして、種データ記憶部１３（図４）に記憶させておくことで、変換係数生成部１４（図４）では、式（１７）によって画素値を求めるための変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）を得ることができる。
【０１５３】
ところで、いま、水平方向と垂直方向のうちの、例えば、水平方向の空間周波数にのみ注目し、ＤＣＴ変換における水平方向の、周波数ｕの基底波形Ａu×ｃｏｓ（（２ｊ＋１）×ｕ×π／１６）を、ｇuと表すこととすると、ｕが０，１，２，３，４，５，６，７である場合の基底波形ｇ0，ｇ1，ｇ2，ｇ3，ｇ4，ｇ5，ｇ6，ｇ7は、それぞれ、図１１Ａ、図１１Ｂ、図１１Ｃ、図１１Ｄ、図１１Ｅ、図１１Ｆ、図１１Ｇ、図１１Ｈに示すようになる。
【０１５４】
なお、図１１Ａ乃至図１１Ｈにおいて、横軸のｊがとる整数値０乃至７は、ブロックの上からｊ＋１番目の画素の中心位置を表す。
【０１５５】
図１１Ａ乃至図１１Ｈから、水平方向の基底波形ｇuは、周波数ｕが偶数（０，２，４，６）の場合は、空間領域において、ブロックの中心に対して線対称になり、周波数ｕが奇数（１，３，５，７）の場合は、ブロックの中心に対して点対称になる。
【０１５６】
従って、水平方向の基底波形ｇuにおける、ブロックの垂直方向の各位置ｊの値は、そのすべて記憶していなくても、ブロックを、そのブロック中心で上下に２等分した２つのうちの一方についての値だけを記憶していれば、求めることができる。
【０１５７】
即ち、水平方向の基底波形ｇuについては、周波数ｕが偶数の場合、位置（座標）を表すｊが０，１，２，３それぞれのときの値と、位置ｊが７，６，５，４それぞれのときの値とは等しい。また、水平方向の基底波形ｇuについては、周波数ｕが奇数の場合、位置ｊが０，１，２，３それぞれのときの値と、位置ｊが７，６，５，４それぞれのときの値とは、符号が逆で、大きさが等しい。従って、水平方向の基底波形ｇuについては、周波数ｕが偶数の場合、位置ｊが０乃至３のときの値（または４乃至７のときの値）を記憶しておけば、位置ｊが４乃至７のときの値（または位置ｊが１乃至３のときの値）を求めることができる。
【０１５８】
なお、このことは、垂直方向の基底波形Ａv×ｃｏｓ（（２ｉ＋１）×ｖ×π／１６）について考えた場合も、同様である。
【０１５９】
以上から、周波数ｕ（またはｖ）が、０乃至７それぞれである場合についての、位置ｊ（またはｉ）が、０乃至３それぞれのときの、水平方向（または垂直方向）の基底波形の値、即ち、３２個の基底波形の値を、種データとして、種データ記憶部１３（図４）に記憶させておくことで、変換係数生成部１４（図４）では、式（１７）によって画素値を求めるための変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）をすべて得ることができる。
【０１６０】
ここで、周波数ｕが０の場合においては、基底波形Ａu×ｃｏｓ（（２ｊ＋１）×ｕ×π／１６）の値は、Ａ0であり（式（１１）で説明したように、１／（２√２）であり）、従って、実際には、種データとしては、図１１Ｉに示すように、３２個の基底波形の値ではなく、２９個の基底波形の値、即ち、周波数ｕが０のときの１つの基底波形の値と、周波数ｕが１乃至７それぞれの場合についての、位置ｊが０乃至３それぞれのときの２８（＝７×４）個の基底波形の値との、合計で２９個の値を記憶しておけば済む。
【０１６１】
以上から、種データ記憶部１３（図４）としては、少なくとも２９個の基底波形の値を記憶することのできる、記憶容量の小さいメモリを採用することができる。
【０１６２】
なお、図１１Ｉの実施の形態では、種データを、小数点以下第６位までの精度で示してあるが、種データの精度は、これに限定されるものではない。
【０１６３】
次に、図１２のフローチャートおよび図１３を参照して、図４のＦＴ変換部１０の処理（ＦＴ変換）について説明する。
【０１６４】
モード制御部１１は、ＤＣＴ係数抽出／逆量子化部２（図３）からＤＣＴ係数のブロックを受信すると、そのブロックを注目ブロックとし、その注目ブロックのＤＣＴ係数を、符号制御部１２に供給する。
【０１６５】
そして、ステップＳ１において、モード制御部１１は、図１３Ａに示すように、注目ブロックの画素のうちの、ラスタスキャン順で、まだ、注目画素としていない画素を、注目画素として選択し、ステップＳ２に進む。図１３Ａの実施の形態では、ブロックにおける位置（１，３）の画素（左から２（＝１＋１）番目で、上から４（＝３＋１）番目の画素）が、注目画素とされている。
【０１６６】
ステップＳ２では、モード制御部１１は、注目画素の座標（ｉ，ｊ）に基づき、画素位置モード＃ｎと領域情報を求め、領域情報を、符号制御部１２に供給し、ステップＳ３に進む。ここで、図１３Ａの実施の形態においては、ブロックにおける位置（１，３）の画素即ち、ラスタスキャン順で２６番目の画素が、注目画素とされているが、この場合、画素位置モード＃ｎは、２５（＝２６−１）となる。
【０１６７】
ステップＳ３では、モード制御部１１は、注目画素の画素位置モード＃ｎを縮退することにより、縮退画素位置モード＃ｎ’を求め、種データ記憶部１３に供給して、ステップＳ４に進む。ここで、図１３Ａに示したように、画素位置モード＃ｎが２５の場合、縮退画素位置モード＃ｎ’は、１３となる。
【０１６８】
ステップＳ４では、種データ記憶部１３が、縮退画素位置モード＃ｎ’に対応する種データを読み出し、変換係数生成部１４に供給する。
【０１６９】
ここで、種データ記憶部１３は、図１１Ｉに示した種データとしての２９個の基底波形の値、つまり、周波数ｕが０のときの１つの基底波形の値と、周波数ｕが１乃至７それぞれの場合についての、位置ｊが０乃至４それぞれのときの２８個の基底波形の値とを記憶しているが、種データ記憶部１３では、これらの２９個の基底波形の値が、縮退画素位置モード＃ｎ’と対応付けて記憶されている。そして、種データ記憶部１３は、モード制御部１１からの注目画素の縮退画素位置モード＃ｎ’に対応する種データを読み出し、変換係数生成部１４に供給する。
【０１７０】
即ち、縮退画素位置モード＃ｎ’によれば、注目画素が、ブロックの左上領域の４×４画素のどの画素であるのか、あるいは、ブロックの左上領域の４×４画素のどの画素に対応する右上領域、左下領域、または右下領域の画素であるのかを認識することができる。
【０１７１】
そこで、いま、ＩＮＴ［ｎ’／４］が、括弧［］内の値以下の最大の整数値を意味し、ＭＯＤ４［ｎ’］が、括弧［］内の値を、４で除算したときの剰余を意味するものとすると、縮退画素位置モードが＃ｎ’の注目画素の位置に対応する左上領域の位置の行と列（注目画素の位置に対応する行と列）は、それぞれ、ＩＮＴ［ｎ’／４］＋１と、ＭＯＤ４［ｎ’］＋１で表すことができる。
【０１７２】
ここで、注目画素の位置に対応する行または列とは、注目画素が左上領域の画素であると場合には、その画素の行または列をそれぞれ意味し、注目画素が右上領域、左下領域、または右下領域の画素である場合には、注目画素に対応する左上領域の行または列をそれぞれ意味する。
【０１７３】
また、以下、適宜、注目画素の位置に対応する行を表すＩＮＴ［ｎ’／４］をＶと表すとともに、注目画素の位置に対応する列を表すＭＯＤ４［ｎ’］をＨと表すこととし、このＨとＶで座標（Ｈ，Ｖ）を表す２次元座標系を、縮退座標系ということとする。さらに、縮退座標系において表される座標（Ｈ，Ｖ）を、縮退座標ということとすると、例えば、図１３Ａに示したように、縮退画素位置モード＃ｎ’が１３の注目画素については、その縮退座標（Ｈ，Ｖ）は、（１，３）となる。
【０１７４】
なお、縮退座標（Ｈ，Ｖ）は、ブロックの左上領域の画素が注目画素である場合には、ブロックの左上を原点として、その注目画素そのものの座標（ｉ，ｊ）を表すこととなるが、ブロックの右上領域、左下領域、および右下領域の画素が注目画素である場合には、その注目画素が対応する、ブロックの左上領域の画素の座標を表すこととなる。
【０１７５】
ところで、いま、例えば、図１３Ｂに示すように、直交する２つの軸で定義される２次元平面における一方の軸に、周波数ｕをとり、他方の軸に、位置ｊをとることとする。なお、位置ｊは、縮退画素位置モード＃ｎ’によって決まるＩＮＴ［ｎ’／４］やＭＯＤ４［ｎ’］と一意に対応するから、図１３Ｂにおける他方の軸は、縮退画素位置モード＃ｎ’ということもできる。また、図１３Ｂにおける他方の軸は、基底波形Ａu×ｃｏｓ（（２ｊ＋１）×ｕ×π／１６）の位相ということもできる。
【０１７６】
図１３Ｂに示すように、周波数ｕの軸と、位置ｊの軸とで定義される２次元平面を考えると、その２次元平面では、１乃至７の周波数ｕそれぞれについての位置ｊが０乃至３それぞれの基底波形の２８個の値を表すことができる。ここで、図１３Ｂにおいては、１つのマス目が、ある周波数ｕの、ある位置ｊにおける基底波形の値を表している。
【０１７７】
上述したように、縮退座標（Ｈ，Ｖ）の画素の画素値を復号するには、式（１７）で用いられる６４個の変換係数Ｆ（Ｈ，Ｖ，０，０）乃至Ｆ（Ｈ，Ｖ，７，７）が必要であり、その６４個の変換係数Ｆ（Ｈ，Ｖ，０，０）乃至Ｆ（Ｈ，Ｖ，７，７）を生成するには、位置ｊがＨの、周波数が０乃至７それぞれの基底波形の８つの値と、位置ｊがＶの、周波数ｕが０乃至７それぞれの基底波形の８つの値が必要である。このため、種データ記憶部１３は、モード制御部１１から縮退画素位置モード＃ｎ’を受信すると、その縮退画素位置モード＃ｎ’から、注目画素の縮退座標（Ｈ，Ｖ）を求め、図１３Ｂにおける位置ｊがＨの、周波数ｕが１乃至７それぞれの基底波形の７つの値と、位置ｊがＶの、周波数ｕが１乃至７それぞれの基底波形の７つの値を読み出し、変換係数生成部１４に供給する。
【０１７８】
さらに、種データ記憶部１３は、周波数ｕが０のときの１つの基底波形の値を読み出し、変換係数生成部１４に供給する。
【０１７９】
従って、例えば、図１３Ａに示したように、縮退座標（Ｈ，Ｖ）が、（１，３）の画素が注目画素とされた場合には、位置ｊが１の、周波数が１乃至７それぞれの基底波形の７つの値、位置ｊが３の、周波数が１乃至７それぞれの基底波形の７つの値、および周波数ｕが０のときの１つの基底波形の値である種データが、種データ記憶部１３から変換係数生成部１４に供給される。
【０１８０】
そして、ステップＳ５に進み、変換係数生成部１４は、種データ記憶部１３から供給された種データとしての基底波形の値から、水平方向の基底波形の８つの値Ｆhと、垂直方向の基底波形の８つの値Ｆvを求め、さらに、その水平方向の基底波形Ｆhと、垂直方向の基底波形Ｆvから、注目画素の画素値を復号するための変換係数を生成する。
【０１８１】
即ち、変換係数生成部１４は、ステップＳ５において、図１３Ｃに示すように、周波数ｕが０のときの１つの基底波形の値を先頭として、位置ｊがＨの、周波数が１乃至７それぞれの基底波形の７つの値を順次配置することにより、水平方向の基底波形の８つの値Ｆhとするとともに、周波数ｕが０のときの１つの基底波形の値を先頭として、位置ｊがＶの、周波数が１乃至７それぞれの基底波形の７つの値を順次配置することにより、垂直方向の基底波形の８つの値Ｆvとする。
【０１８２】
さらに、変換係数生成部１４は、図１３Ｄに示すように、水平方向の基底波形の８つの値Ｆhそれぞれと、垂直方向の基底波形の８つの値Ｆvそれぞれとを、総当たりで乗算することにより、図１３Ｅに示す８×８の変換係数、即ち、縮退座標（Ｈ，Ｖ）の注目画素の画素値を復号するための式（１７）における６４個の変換係数Ｆ（Ｈ，Ｖ，０，０）乃至Ｆ（Ｈ，Ｖ，７，７）を生成し、積和演算部１５に供給する。
【０１８３】
ここで、水平方向の基底波形の８つの値Ｆhの先頭からｕ＋１番目の値と、垂直方向の基底波形の８つの値Ｆvの先頭からｖ＋１番目の値とが乗算されることにより、注目ブロックの座標（ｕ，ｖ）の位置にあるＤＣＴ係数と乗算される変換係数Ｆ（Ｈ，Ｖ，ｕ，ｖ）が生成されることになる。図１３Ｄおよび図１３Ｅの実施の形態では、水平方向の基底波形の８つの値Ｆhの先頭から６（＝５＋１）番目の値と、垂直方向の基底波形の８つの値Ｆvの先頭から２（＝１＋１）番目の値とが乗算されることにより、注目ブロックの座標（５，１）の位置にあるＤＣＴ係数と乗算される変換係数が生成されている。
【０１８４】
その後、ステップＳ６に進み、符号制御部１２は、ステップＳ２でモード制御部１１から供給される注目画素の領域情報に基づいて、図５乃至図１０で説明したように、モード制御部１１から供給される注目ブロックのＤＣＴ係数の符号を反転し、積和演算部１５に供給して、ステップＳ７に進む。
【０１８５】
即ち、本実施の形態では、変換係数生成部１４において、ブロックの左上領域の座標（ｉ，ｊ）にある画素が注目画素とされた場合に、変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）が生成されるとすると、ブロックの右上領域、左下領域、右下領域の、対応する画素が注目画素とされた場合も、同一の変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）が生成される。
【０１８６】
即ち、図７および図８で説明したように、偶数列ＤＣＴ係数については（偶数行ＤＣＴ係数についても同様）、位置ｊが０乃至３のときの基底波形の値それぞれと、位置ｊが７乃至４のときの基底波形の値それぞれとは、符号が異なるだけで大きさが同一であり、偶数列ＤＣＴ係数でないＤＣＴ係数については（偶数行ＤＣＴ係数でないＤＣＴ係数についても同様）、位置ｊが０乃至３のときの基底波形の値それぞれと、位置ｊが７乃至４のときの基底波形の値それぞれとは、符号も大きさも同一であることから、本実施の形態では、種データとして、式Ａu×ｃｏｓ（（２ｊ＋１）×ｕ×π／１６）（またはＡv×ｃｏｓ（（２ｉ＋１）×ｖ×π／１６））で表される基底波形における周波数ｕが０乃至７についての、位置ｊが０乃至３のときの値だけが採用されており、位置ｊが４乃至７のときの値は存在しない。このため、ブロックの左上領域の画素と、その画素に対応する右上領域、左下領域、右下領域の画素それぞれについては、同一の変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）が生成される。
【０１８７】
そこで、図５乃至図１０で説明した式（１３）乃至（１６）の積和演算を行うために、ステップＳ６では、符号制御部１２において、注目画素の領域情報に基づいて、図５乃至図１０で説明した、注目ブロックのＤＣＴ係数の符号の操作が行われる。
【０１８８】
ステップＳ７では、積和演算部１５は、変換係数生成部１４からの変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）と、符号制御部１２からの注目ブロックのＤＣＴ係数ｆ（ｕ，ｖ）とを用いて、式（１７）の積和演算を行い、これにより、注目画素が左上領域、右上領域、左下領域、右下領域の画素である場合には、それぞれ、式（１３）乃至（１６）の演算を行い、注目画素の画素値を復号する。
【０１８９】
そして、ステップＳ８に進み、モード制御部１１は、注目ブロックのすべての画素を注目画素としたかどうかを判定する。ステップＳ８において、注目ブロックのすべての画素を、まだ注目画素としていないと判定された場合、ステップＳ１に戻り、注目ブロックの画素のうちの、ラスタスキャン順で、まだ、注目画素とされていない画素が、新たな注目画素として選択され、以下、同様の処理が繰り返される。
【０１９０】
また、ステップＳ８において、注目ブロックのすべての画素を注目画素としたと判定された場合、処理を終了する。
【０１９１】
なお、図１２の処理は、モード制御部１１に、ＤＣＴ係数のブロックが供給されるごとに、そのブロックを注目ブロックとして繰り返し行われる。
【０１９２】
また、図１２の処理において、点線で囲んであるステップＳ４およびＳ５の処理と、ステップＳ６の処理とは、並列に行うことが可能である。
【０１９３】
以上のように、図３の画像処理装置においては、図４のＦＴ変換部１０において、種データから、変換係数を生成するようにしたので、種データ記憶部１３として、少ない容量のメモリを採用することができる。
【０１９４】
ところで、図３の画像処理装置では、ＦＴ変換部１０において、図１のＭＰＥＧデコーダにおける逆ＤＣＴ変換部３と、実質的に等価の演算が行われるため、その復号画像は、図１のＭＰＥＧデコーダが出力する復号画像と同様に、ブロック歪みやモスキートノイズ等の歪みを有する、解像度の劣化したものとなる。
【０１９５】
そこで、図１４は、本発明を適用した画像処理装置の一実施の形態の構成例を示している。なお、図中、図１のＭＰＥＧデコーダまたは図３の画像処理装置における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０１９６】
図１４の画像処理装置は、前処理部２０および画像再構成部５０から構成されており、例えば、画像データをＭＰＥＧ２方式で符号化することにより得られる符号化データ（ビットストリーム）を復号するようになっている。
【０１９７】
即ち、符号化データは、前処理部２０に供給されるようになっている。また、前処理部２０には、符号化データの他、画像再構成部５０から、既に復号された画像が、参照画像として供給されるようになっている。
【０１９８】
前処理部２０は、分離部１、ＤＣＴ係数抽出／逆量子化部２、動き補償部４、画像メモリ５、ＤＣＴ変換部２１、周波数領域動き補償加算部２２、およびバッファメモリ２３から構成されており、符号化データに対して、前処理を施すようになっている。
【０１９９】
即ち、ＤＣＴ変換部２１には、分離部１から、ＤＣＴタイプが供給されるとともに、画像メモリ５から、動き補償部４において参照画像に動き補償処理を施すことにより得られた予測画像が供給される。
【０２００】
ＤＣＴ変換部２１は、分離部１から供給されるＤＣＴタイプに基づき、ＤＣＴ係数抽出／逆量子化部２が出力する注目ブロックのＤＣＴタイプを認識する。さらに、ＤＣＴ変換部２１は、注目ブロックのＤＣＴタイプに基づいて、画像メモリ５に記憶された予測画像から、ブロックと同一の大きさの８×８画素を選択し、その８×８画素をＤＣＴ変換することで、ＤＣＴ係数を得る。この予測画像から得られたＤＣＴ係数（以下、適宜、予測ＤＣＴ係数という）は、ＤＣＴ変換部２１から周波数領域動き補償加算部２２に供給される。
【０２０１】
周波数領域動き補償加算部２２には、ＤＣＴ変換部２１から、８×８の予測ＤＣＴ係数が供給される他、分離部１から、注目ブロックを含むマクロブロック（以下、適宜、注目マクロブロックという）のＣＢＰが供給されるとともに、ＤＣＴ係数抽出／逆量子化部２から、注目ブロックのＤＣＴ係数が供給される。
【０２０２】
周波数領域動き補償加算部２２は、注目マクロブロックのＣＢＰに基づき、必要に応じて、注目ブロックの各ＤＣＴ係数と、対応する予測ＤＣＴ係数とを加算することで、注目ブロックの画素値をＤＣＴ変換したＤＣＴ係数を求める。
【０２０３】
即ち、注目ブロックがイントラ符号化されているものである場合、その注目ブロックのＤＣＴ係数は、画素値のブロック（画素ブロック）をＤＣＴ変換したものとなっているから、周波数領域動き補償加算部２２は、その注目ブロックのＤＣＴ係数を、そのまま、注目ブロックの画素値をＤＣＴ変換したＤＣＴ係数とする。
【０２０４】
また、注目ブロックがノンイントラ符号化されているものである場合、その注目ブロックは、画素値のブロック（画素ブロック）と、予測画像との差分値（残差画像）をＤＣＴ変換したものとなっているから、周波数領域動き補償加算部２２は、その注目ブロックの各ＤＣＴ係数と、ＤＣＴ変換部２１において８×８画素の予測画像をＤＣＴ変換して得られる８×８の予測ＤＣＴ係数のうちの対応するものとを加算することにより、注目ブロックの画素値をＤＣＴ変換したＤＣＴ係数を求める。
【０２０５】
周波数領域動き補償加算部２２において求められた注目ブロックのＤＣＴ係数は、分離部１が出力する、その注目ブロック（を含むマクロブロック）のＤＣＴタイプと対応付けられ、前処理部２０からバッファメモリ２３に供給される。
【０２０６】
バッファメモリ２３は、前処理部２０から供給される注目ブロックとそのＤＣＴタイプとのセットを、一時記憶する。
【０２０７】
ここで、バッファメモリ２３に記憶されるブロックのＤＣＴ係数は、前処理部２０の周波数領域動き補償加算部２２が出力するものであるから、ブロックのピクチャタイプによらず、また、ブロックがイントラ符号化またはノンイントラ符号化されたかによらず、元の画像の画素値（残差画像ではなく、元の画像）をＤＣＴ変換したものとなっている。
【０２０８】
なお、ここでいう元の画像とは、ＭＰＥＧ符号化の対象となった原画像そのものではなく、ＭＰＥＧ符号化の影響により原画像よりも画質が劣化した画像を意味する。
【０２０９】
画像再構成部５０は、画像メモリ７、ピクチャ選択部８、およびＦＴ変換部５１から構成されており、バッファメモリ２３に記憶されたＤＣＴ係数から、画像を復号（再構成）する。
【０２１０】
即ち、ＦＴ変換部５１は、バッファメモリ２３に記憶された注目ブロックのＤＣＴ係数を対象に、ＦＴ変換処理を行うことで、注目ブロックの画素値を復号する。さらに、ＦＴ変換部５１は、１フレーム（またはフィールド）分の画素値、即ち、１フレーム（またはフィールド）の画像データを復号すると、その復号画像データを、画像メモリ７とピクチャ選択部８に供給する。
【０２１１】
画像メモリ７は、ＦＴ変換部５１から供給される復号画像データのうち、ＩピクチャとＰピクチャの復号画像データを、参照画像として記憶する。ピクチャ選択部８は、ＦＴ変換部５１から供給される復号画像データ、または画像メモリ７に記憶された復号画像データを、表示順で選択して出力する。
【０２１２】
次に、図１５は、図１４のＤＣＴ変換部２１および周波数領域動き補償加算部２２の構成例を示している。
【０２１３】
ＤＣＴ変換部２１は、（８×８画素）サンプリング部６１とＤＣＴ部６２から構成され、画像メモリ５に記憶された予測画像をＤＣＴ変換した予測ＤＣＴ係数を生成するようになっている。
【０２１４】
即ち、サンプリング部６１には、画像メモリ５に記憶された予測画像と、分離部１（図１４）が出力する注目ブロック（を含むマクロブロック）のＤＣＴタイプが供給されるようになっている。
【０２１５】
ここで、画像メモリ５には、動き補償部４（図１４）から、マクロブロックと同一の大きさである１６×１６画素の予測画像が供給されるようになっており、画像メモリ５は、注目ブロックに対応する１６×１６画素の予測画像を記憶する。従って、画像メモリ５は、少なくとも１６×１６画素の画像を記憶することのできる記憶容量を有している。
【０２１６】
サンプリング部６１は、画像メモリ５に記憶された１６×１６画素の予測画像を、注目ブロックのＤＣＴタイプにしたがってサンプリングし、ブロックと同一の大きさの８×８画素の予測画像を生成する。
【０２１７】
即ち、画像メモリ５に記憶された１６×１６画素の予測画像は、フレーム構造になっており、注目ブロックの構造と一致している場合と、一致していない場合とがある。
【０２１８】
具体的には、注目ブロックがフレーム構造である場合には、注目ブロックと、画像メモリ５に記憶された１６×１６画素の予測画像とは、一致した構造のものとなる。
【０２１９】
従って、注目ブロックが、図１６Ａに示すように、マクロブロック（注目マクロブロック）の左上、左下、右上、または右下のブロックである場合、サンプリング部６１は、図１６Ｂに示すように、画像メモリ５に記憶された１６×１６画素の予測画像のうち、左上、左下、右上、または右下の８×８画素を、それぞれサンプリングし、これにより、注目ブロックの各画素と空間的に対応する位置にある８×８画素の予測画像を得て、ＤＣＴ部６２に供給する。
【０２２０】
ここで、図１６において（後述する図１７においても同様）、影を付してあるラインは、奇数ライン（トップフィールド）を表し、影を付していないラインは、偶数ライン（ボトムフィールド）を表す。
【０２２１】
一方、注目ブロックがフィールド構造である場合は、注目ブロックと、画像メモリ５に記憶された１６×１６画素の予測画像とは、異なる構造のものとなる。
【０２２２】
即ち、この場合、注目ブロックを含むマクロブロック（注目マクロブロック）は、図１７Ａに示すように、上側の８ラインが奇数ライン（トップフィールド）で構成され、下側の８ラインが偶数ライン（ボトムフィールド）で構成される。
【０２２３】
従って、注目ブロックが、注目マクロブロックの左上のブロックである場合、その注目ブロックの８×８画素は、図１７Ｂに示すように、画像メモリ５に記憶された１６×１６画素の予測画像のうちの、８つの奇数ライン（影を付してあるライン）の左側の８画素に対応する。また、注目ブロックが、注目マクロブロックの左下のブロックである場合、その注目ブロックの８×８画素は、図１７Ｂに示すように、画像メモリ５に記憶された１６×１６画素の予測画像のうちの、８つの偶数ライン（影を付してないライン）の左側の８画素に対応する。さらに、注目ブロックが、注目マクロブロックの右上のブロックである場合には、その注目ブロックの８×８画素は、図１７Ｂに示すように、画像メモリ５に記憶された１６×１６画素の予測画像のうちの、８つの奇数ライン（影を付してあるライン）の右側の８画素に対応し、また、注目ブロックが、注目マクロブロックの右下のブロックである場合には、その注目ブロックの８×８画素は、図１７Ｂに示すように、画像メモリ５に記憶された１６×１６画素の予測画像のうちの、８つの偶数ライン（影を付してないライン）の右側の８画素に対応する。
【０２２４】
そこで、サンプリング部６１は、注目ブロックが、フィールド構造である場合には、画像メモリ５に記憶された１６×１６画素の予測画像のうち、注目マクロブロックにおける注目ブロックの位置に対応する、上述のような８×８画素をサンプリングし、これにより、注目ブロックの各画素と空間的に対応する位置にある８×８画素の予測画像を得て、ＤＣＴ部６２に供給する。
【０２２５】
ＤＣＴ部６２は、サンプリング部６１から供給される、注目ブロックの各画素と空間的に対応する位置にある８×８画素の予測画像をＤＣＴ変換し、これにより、８×８の予測ＤＣＴ係数を得て、周波数領域動き補償加算部２２に供給する。
【０２２６】
なお、サンプリング部６１において、注目ブロックの構造は、分離部１（図１４）が出力する注目ブロック（を含む注目マクロブロック）のＤＣＴタイプに基づいて認識される。
【０２２７】
図１５において、周波数領域動き補償加算部２２は、ＤＣＴ係数選択部７１、加算部７２、および選択部７３から構成され、ＤＣＴ係数抽出／逆量子化部２（図１４）から供給される注目ブロックのＤＣＴ係数と、ＤＣＴ変換部２１から供給される予測ＤＣＴ係数とを、必要に応じて加算することにより、注目ブロックの元の画像のＤＣＴ係数を求める。
【０２２８】
即ち、ＤＣＴ係数選択部７１には、ＤＣＴ係数抽出／逆量子化部２（図１４）が出力する注目ブロックのＤＣＴ係数と、分離部１（図１４）が出力する注目ブロック（を含む注目マクロブロック）のＣＢＰが供給されるようになっている。
【０２２９】
注目ブロックがイントラ符号化されたものである場合、その注目ブロックのＤＣＴ係数は、注目ブロックの元の画像をＤＣＴ変換したものであるから、ＤＣＴ係数選択部７１は、注目ブロックを、そのまま出力する。ＤＣＴ係数選択部７１の出力は、加算部７２と選択部７３に供給される。
【０２３０】
注目ブロックがイントラ符号化されたものである場合、加算部７２は、特に処理を行わず、また、選択部７３は、ＤＣＴ係数選択部７１の出力を選択し、後段のバッファメモリ２３（図１４）に供給する。
【０２３１】
従って、注目ブロックがイントラ符号化されたものである場合、即ち、ＤＣＴ係数抽出／逆量子化部２（図１４）が出力する注目ブロックのＤＣＴ係数が、注目ブロックの元の画像をＤＣＴ変換したものである場合には、ＤＣＴ係数抽出／逆量子化部２（図１４）が出力する注目ブロックが、そのまま、バッファメモリ２３（図１４）に供給される。
【０２３２】
一方、ＤＣＴ係数選択部７１は、注目ブロックがノンイントラ符号化されたものである場合、その注目ブロックのＣＢＰを参照し、残差画像のＤＣＴ係数の有無を認識する。即ち、注目ブロックがノンイントラ符号化されたものである場合には、その注目ブロックには、原則として、残差画像のＤＣＴ係数が（ビデオストリーム中に）配置されるが、残差画像のＤＣＴ係数がすべて０となるときには、ＣＢＰが０とされ、ＤＣＴ係数は配置されない。そして、この場合、注目ブロックの画像は、予測画像に一致する。
【０２３３】
そこで、ＤＣＴ係数選択部７１は、注目ブロックがノンイントラ符号化されたものであり、そのＣＢＰが０である場合には、残差画像のＤＣＴ係数として０を出力する。
【０２３４】
また、ＤＣＴ係数選択部７１は、注目ブロックがノンイントラ符号化されたものであり、そのＣＢＰが１である場合、ＤＣＴ係数抽出／逆量子化部２（図１４）が出力する注目ブロックには、残差画像のＤＣＴ係数が配置されているから、そのＤＣＴ係数を出力する。
【０２３５】
ＤＣＴ係数選択部７１の出力は、上述したように、加算部７２と選択部７３に供給される。
【０２３６】
加算部７２は、注目ブロックがノンイントラ符号化されたものである場合、ＤＣＴ係数選択部７１の出力と、ＤＣＴ変換部２１（のＤＣＴ部６２）が出力する予測画像のＤＣＴ係数とを加算し、これにより、注目ブロックについて、元の画像のＤＣＴ係数を得て、選択部７３に供給する。
【０２３７】
選択部７３は、注目ブロックがノンイントラ符号化されたものである場合、演算部７２の出力を選択し、後段のバッファメモリ２３（図１４）に供給する。
【０２３８】
従って、注目ブロックがノンイントラ符号化されたものである場合において、注目ブロックのＣＢＰが０であるときには、注目ブロックの画像が、予測画像に一致するため、加算部７２において、ＤＣＴ係数選択部７１が出力する０と、ＤＣＴ部６２が出力する予測画像のＤＣＴ係数（予測ＤＣＴ係数）とが加算されることにより、注目ブロックの元の画像のＤＣＴ係数が求められる。
【０２３９】
また、注目ブロックのＣＢＰが１であるときには、加算部７２において、ＤＣＴ係数選択部７１が出力する注目ブロックの残差画像のＤＣＴ係数と、ＤＣＴ部６２が出力する予測画像のＤＣＴ係数（予測ＤＣＴ係数）とが加算されることにより、やはり、注目ブロックの元の画像のＤＣＴ係数が求められる。
【０２４０】
そして、選択部７３では、加算部７２において上述したようにして得られる、注目ブロックの元の画像のＤＣＴ係数が選択されて出力される。
【０２４１】
なお、前処理部２０（図１４）では、周波数領域において、残差画像と予測画像とを加算して、元の画像のＤＣＴ係数を求めるようにしたが、即ち、残差画像のＤＣＴ係数と、予測画像のＤＣＴ係数とを加算して、元の画像のＤＣＴ係数を求めるようにしたが、これは、後述するクラス分類部１６において、周波数領域のＤＣＴ係数を用いて処理を行うため、前処理部２０とクラス分類部１６の処理を、周波数領域で行うように統一した方が都合が良いと考えられるためである。
【０２４２】
従って、元の画像のＤＣＴ係数は、残差画像と予測画像とを、時間領域において加算し、その加算結果を、ＤＣＴ変換することによって求めても良い。
【０２４３】
次に、図１８は、図１４のＦＴ変換部５１の構成例を示している。なお、図中、図４のＦＴ変換部１０と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図１８のＦＴ変換部５１は、クラス分類部１６、種重み記憶部１７、および種データ補正部１８が新たに設けられている他は、基本的に、図４のＦＴ変換部１０と同様に構成されている。
【０２４４】
クラス分類部１６には、バッファメモリ２３（図１４）に記憶された、注目画素のブロックのＤＣＴ係数とＤＣＴタイプ、さらには、必要に応じて、そのブロックに隣接するブロックのＤＣＴ係数とＤＣＴタイプが供給されるようになっており、クラス分類部１６は、そこに供給されるＤＣＴ係数とＤＣＴタイプに基づき、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行う。そして、クラス分類部１６は、注目画素のクラスを表すクラスコードを、アドレスとして、種重み記憶部１７に供給する。
【０２４５】
種重み記憶部１７は、種データに付す重みである種重みデータを、クラスごとに記憶しており、クラス分類部１６から供給されるクラスコードが表すクラスの種重みデータを、種データ補正部１８に供給する。
【０２４６】
種データ補正部１８は、種データ記憶部１３から供給される種データに対して、種重み記憶部１７から供給される種重みデータを付すことにより、種データを補正し、その補正後の種データ（以下、適宜、補正種データという）を、変換係数生成部１４に供給する。
【０２４７】
次に、図１９は、図１８のクラス分類部１６の構成例を示している。
【０２４８】
クラス分類部１６は、１次元逆ＤＣＴ変換部３１、隣接１次元ＤＣＴ係数選択／変換部３２、ＡＣパワー算出部３３、ＡＣ内積計算部３４、クラスコード生成部３６および３７から構成され、バッファメモリ２３に記憶されたブロックのＤＣＴ係数とＤＣＴタイプに基づき、注目ブロックの各画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行う。
【０２４９】
即ち、１次元逆ＤＣＴ変換部３１は、バッファメモリ２３（図１４）に記憶されたブロックのＤＣＴ係数を、１次元逆ＤＣＴ変換することにより、水平方向の空間周波数成分を表す水平１次元ＤＣＴ係数と、垂直方向の空間周波数成分を表す垂直１次元ＤＣＴ係数とを求める。
【０２５０】
ここで、以下、適宜、垂直１次元ＤＣＴ係数と水平１次元ＤＣＴ係数とをまとめて、１次元ＤＣＴ係数という。
【０２５１】
また、ＭＰＥＧ符号化において画素値をＤＣＴ変換することにより得られるＤＣＴ係数は、水平方向と垂直方向の２方向の空間周波数成分を表すものであり、１次元ＤＣＴ係数と区別するために、以下、適宜、２次元ＤＣＴ係数という。
【０２５２】
さらに、以下、適宜、画素値から２次元ＤＣＴ係数への変換を、２次元ＤＣＴ変換と、２次元ＤＣＴ係数から画素値への変換を、２次元逆ＤＣＴ変換と、それぞれいう。図１４のＤＣＴ変換部２１で行われるＤＣＴ変換は、２次元ＤＣＴ変換であり、図１の逆ＤＣＴ変換部３で行われる逆ＤＣＴ変換は、２次元逆ＤＣＴ変換である。
【０２５３】
１次元逆ＤＣＴ変換部３１で得られる１次元ＤＣＴ係数は、隣接１次元ＤＣＴ係数選択／変換部３２、ＡＣパワー算出部３３、ＡＣ内積計算部３４、およびクラスコード生成部３６に供給される。
【０２５４】
隣接１次元ＤＣＴ係数選択／変換部３２は、バッファメモリ２３から、注目ブロックのＤＣＴタイプを受信し、そのＤＣＴタイプに基づき、注目ブロックに隣接する画素（列）の１次元ＤＣＴ係数（以下、適宜、隣接１次元ＤＣＴ係数という）を、１次元逆ＤＣＴ変換部３１から供給される１次元ＤＣＴ係数から取得し、ＡＣパワー算出部３３、ＡＣ内積計算部３４、およびクラスコード生成部３６に供給する。
【０２５５】
ＡＣパワー算出部３３は、１次元逆ＤＣＴ係数変換部３１から供給される１次元ＤＣＴ係数の交流成分のパワー（以下、適宜、ＡＣパワーという）を求めるとともに、隣接１次元ＤＣＴ係数選択／変換部３２から供給される１次元ＤＣＴ係数のＡＣパワーを求め、クラスコード生成部３６および３７に供給する。
【０２５６】
ＡＣ内積計算部３４は、１次元逆ＤＣＴ係数変換部３１から供給される注目ブロックの境界部分の１次元ＤＣＴ係数の交流成分と、隣接１次元ＤＣＴ係数選択／変換部３２から供給される隣接１次元ＤＣＴ係数の交流成分とを、それぞれベクトルのコンポーネントとみなして、その２つのベクトルの内積（以下、適宜、ＡＣ内積という）を求める。ＡＣ内積計算部３４で求められるＡＣ内積は、クラスコード生成部３６に供給される。
【０２５７】
クラスコード生成部３６は、輝度信号Ｙのブロックを構成する画素のクラス分類を行い、クラスコード生成部３７は、色差信号（色信号）Ｃのブロックを構成する画素のクラス分類を行う。
【０２５８】
ここで、符号化データは、例えば、カラーの画像データをＭＰＥＧ符号化したものとなっている。
【０２５９】
そして、１次元逆ＤＣＴ変換部３１は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックの１次元ＤＣＴ係数を、隣接１次元ＤＣＴ係数選択／変換部３２は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックに隣接する隣接１次元ＤＣＴ係数を、ＡＣパワー算出部３３は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックについて得られたＡＣパワーを、ＡＣ内積計算部３４は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックについて得られたＡＣ内積を、それぞれ、クラスコード生成部３６に供給するようになっており、クラスコード生成部３６は、そこに供給される情報に基づいて、注目ブロックの各画素をクラス分類する。
【０２６０】
さらに、クラスコード生成部３６は、注目ブロックの輝度信号の画素のクラス分類を行うことにより得られるクラスを表すクラスコードを生成し、種重み記憶部１７（図１８）に供給する。ここで、クラスコード生成部３６において得られる、輝度信号のブロックの画素についてのクラスコードを、以下、適宜、輝度クラスコードという。
【０２６１】
クラスコード生成部３６が出力する注目ブロックの各画素についての輝度クラスコードは、クラスコード生成部３７にも供給される。また、クラスコード生成部３７には、ＡＣパワー算出部３３から、注目ブロックが色差信号のブロックである場合の、その注目ブロックについて得られたＡＣパワーも供給されるようになっている。
【０２６２】
クラスコード生成部３７は、ＡＣパワー算出部３３から供給される注目ブロックのＡＣパワーと、クラスコード生成部３６から供給される、色差信号の注目ブロックに対応する輝度信号のブロックの画素の輝度クラスコードとに基づいて、注目ブロックの各画素をクラス分類する。
【０２６３】
そして、クラスコード生成部３７は、注目ブロックの色差信号の画素のクラス分類を行うことにより得られるクラスを表すクラスコードを生成し、種重み記憶部１７（図１８）に供給する。ここで、クラスコード生成部３７において得られる、色差信号のブロックの画素についてのクラスコードを、以下、適宜、色差クラスコードという。
【０２６４】
従って、クラス分類部１６から種重み記憶部１７には、輝度クラスコードと色差クラスコードとの２つのクラスコードが供給され、種重み記憶部１７では、輝度クラスコードと色差クラスコードそれぞれに対応して、種重みデータが読み出される。そして、その後は、輝度クラスコードに対応して読み出された種重みデータを用いて、輝度信号についての処理が行われ、色差クラスコードに対応して読み出された種重みデータを用いて、色差信号についての処理が行われる。
【０２６５】
但し、図１８を含む各図では、図が煩雑になるのを避けるため、輝度信号および色差信号に関する信号の流れをまとめて１本の線で表してある。
【０２６６】
次に、図２０および図２１を参照して、図１９の１次元逆ＤＣＴ変換部３１の処理について説明する。
【０２６７】
ＭＰＥＧやＪＰＥＧ(Joint Photographic Experts Group)等のＤＣＴ変換を利用した画像の符号化方式では、画像データが、水平方向および垂直方向の２次元のＤＣＴ変換（２次元ＤＣＴ変換）／逆ＤＣＴ変換（２次元逆ＤＣＴ変換）が行われる。
【０２６８】
図２０Ａに示すような８×８画素のブロックにおける画素値を、８行×８列の行列Ｘで表すとともに、図２０Ｂに示すような８×８のブロックにおけるＤＣＴ係数を、８行×８列の行列Ｆで表すこととすると、２次元ＤＣＴ変換／２次元逆ＤＣＴ変換は、上述の式（９）乃至（１１）で表すことができる。
【０２６９】
式（１０）によれば、２次元ＤＣＴ係数Ｆは、その左側から行列ＣTをかけるとともに、その右側から行列Ｃをかけることにより、画素値Ｘに変換されるが、１次元逆ＤＣＴ変換部３１は、２次元ＤＣＴ係数Ｆに対して、その左側から行列ＣTをかけるだけか、または、その右側から行列Ｃをかけるだけかすることにより、１次元ＤＣＴ係数を求める。
【０２７０】
即ち、１次元逆ＤＣＴ変換部３１は、２次元ＤＣＴ係数Ｆに対して、その左側から行列ＣTだけをかける。この場合、図２０Ｃに示すように、２次元ＤＣＴ係数Ｆにおける垂直方向が空間領域に変換され、水平方向が周波数領域のままとされる垂直１次元逆ＤＣＴ変換が行われることとなり、その結果、水平方向の空間周波数成分を表す水平１次元ＤＣＴ係数ｖＸｈＦを得ることができる。
【０２７１】
また、１次元逆ＤＣＴ変換部３１は、２次元ＤＣＴ係数Ｆに対して、その右側から行列Ｃだけをかける。この場合、図２０Ｄに示すように、２次元ＤＣＴ係数Ｆにおける水平方向が空間領域に変換され、垂直方向が周波数領域のままとされる水平１次元逆ＤＣＴ変換が行われることとなり、その結果、垂直方向の空間周波数成分を表す垂直１次元ＤＣＴ係数ｈＸｖＦを得ることができる。
【０２７２】
なお、横×縦が８×８の２次元ＤＣＴ係数Ｆを、垂直１次元逆ＤＣＴ変換した場合には、８×１の水平１次元ＤＣＴ係数が、８セット（８行分）得られることになる（図２０Ｃ）。また、２次元ＤＣＴ係数Ｆを、水平１次元逆ＤＣＴ変換した場合には、１×８の垂直１次元ＤＣＴ係数が、８セット（８列分）得られることになる（図２０Ｄ）。
【０２７３】
そして、ある行における８×１の水平１次元ＤＣＴ係数については、その左端のＤＣＴ係数が、その行の８画素の画素値の直流成分（ＤＣ成分）（８画素の画素値の平均値）を表し、他の７つのＤＣＴ係数が、その行の水平方向の交流成分を表す。また、ある列における１×８の垂直１次元ＤＣＴ係数については、その最上行のＤＣＴ係数が、その列の８画素の画素値の直流成分を表し、他の７つのＤＣＴ係数が、その列の垂直方向の交流成分を表す。
【０２７４】
ここで、式（９）によれば、水平１次元ＤＣＴ係数は、２次元ＤＣＴ係数Ｆに対応する画素値Ｘに対して、その右側から行列ＣTをかける水平１次元ＤＣＴ変換を行うことによっても求めることができる。また、垂直１次元ＤＣＴ係数は、２次元ＤＣＴ係数Ｆに対応する画素値Ｘに対して、その左側から行列Ｃをかける垂直１次元ＤＣＴ変換を行うことによっても求めることができる。
【０２７５】
図２１は、実際の画像と、その画像についての２次元ＤＣＴ係数、水平１次元ＤＣＴ係数、および垂直１次元ＤＣＴ係数を示している。
【０２７６】
なお、図２１は、横×縦が８×９ブロックの画像と、その画像についての２次元ＤＣＴ係数、水平１次元ＤＣＴ係数、および垂直１次元ＤＣＴ係数を示している。また、図２１Ａが、実際の画像を、図２１Ｂが、２次元ＤＣＴ係数を、図２１Ｃが、水平１次元ＤＣＴ係数を、図２１Ｄが、垂直１次元ＤＣＴ係数を、それぞれ示している。
【０２７７】
ここで、図２１Ａの画像は、８ビットの画素値を有するものであり、そのような画素値から求められるＤＣＴ係数は、負の値も取り得る。但し、図２１Ｂ乃至図２１Ｄの実施の形態では、求められたＤＣＴ係数に対して、１２８（＝２7）を加算し、その加算値が０未満となるものは０にクリップするとともに、加算値が２５６以上となるものは２５５にクリップすることにより、０乃至２５５の範囲のＤＣＴ係数を、図示してある。
【０２７８】
２次元ＤＣＴ係数には、８×８画素のブロック全体の情報が反映されているため、２次元ＤＣＴ係数からでは、ブロック内の特定の画素の情報等の局所的な情報を把握するのは困難である。これに対して、水平１次元ＤＣＴ係数または垂直１次元ＤＣＴ係数には、ブロックのある１行または１列だけの情報が、それぞれ反映されているため、２次元ＤＣＴ係数に比較して、ブロック内の局所的な情報を容易に把握することができる。
【０２７９】
即ち、ブロックのある行の特徴は、その行の８×１の水平１次元ＤＣＴ係数から把握することができ、ある列の特徴は、その列の１×８の垂直１次元ＤＣＴ係数から把握することができる。さらに、ブロックのある画素の特徴は、その画素が位置する行の８×１の水平１次元ＤＣＴ係数と、その画素が位置する列の１×８の垂直１次元ＤＣＴ係数とから把握することができる。
【０２８０】
また、左右に隣接するブロックどうしの境界の状態は、ブロック全体の情報が反映された２次元ＤＣＴ係数よりも、ブロックの境界部分の垂直方向の空間周波数成分を表す垂直１次元ＤＣＴ係数を用いた方が、より正確に把握することができる。さらに、上下に隣接するブロックどうしの境界の状態も、ブロック全体の情報が反映された２次元ＤＣＴ係数よりも、ブロックの境界部分の水平方向の空間周波数成分を表す水平１次元ＤＣＴ係数を用いた方が、より正確に把握することができる。
【０２８１】
次に、図１９の隣接次元ＤＣＴ係数選択／変換部３２は、上述したように、１次元逆ＤＣＴ変換部３１から供給される１次元ＤＣＴ係数の中から、注目ブロックに隣接する画素（列）の１次元ＤＣＴ係数（隣接１次元ＤＣＴ係数）を取得するが、この隣接１次元ＤＣＴ係数は、注目ブロックと、その注目ブロックと空間的に隣接するブロック（以下、適宜、隣接ブロックという）との間のブロック境界の状態を分析するのに用いられるものであるため、空間領域において、注目ブロックの境界と隣接する画素列を１次元ＤＣＴ変換したものである必要がある。
【０２８２】
しかしながら、ＭＰＥＧ２では、マクロブロック単位で、フレーム構造とフィールド構造の選択が可能であることから、注目ブロックを含む注目マクロブロックの構造や、注目マクロブロックに隣接するマクロブロック（以下、適宜、隣接マクロブロックという）の構造によっては、注目ブロックに隣接する隣接ブロックにおける、注目ブロックに隣接する１次元ＤＣＴ係数が、空間領域において、注目ブロックの境界と隣接する画素列を１次元ＤＣＴ変換したものとなっていない場合がある。
【０２８３】
そこで、隣接１次元ＤＣＴ係数選択／変換部３２は、バッファメモリ２３から供給されるＤＣＴタイプによって、注目ブロックと隣接ブロックの構造を認識し、注目ブロックの構造を基準として、空間領域において、その注目ブロックの境界と隣接する隣接ブロックの画素列を１次元ＤＣＴ変換した１次元ＤＣＴ係数（隣接１次元ＤＣＴ係数）を取得するようになっている。
【０２８４】
ここで、図２２乃至図３７を参照して、注目ブロックの構造を基準とした場合に、空間領域において、その注目ブロックの境界と隣接する隣接ブロックの画素列を１次元ＤＣＴ変換したものとなる１次元ＤＣＴ係数について説明する。
【０２８５】
なお、図２２乃至図３７では、注目マクロブロックをＭＢNと、注目マクロブロックＭＢNの上下左右に隣接するマクロブロックを、それぞれＭＢU，ＭＢD，ＭＢL，ＭＢRと表す。
【０２８６】
さらに、注目マクロブロックＭＢNの左上、左下、右上、右下のブロックを、それぞれ、ＢNUL，ＢNDL，ＢNUR，ＢNDRと表し、上隣接マクロブロック（注目ブロックの上に隣接するマクロブロック）ＭＢUの左上、左下、右上、右下のブロックを、それぞれ、ＢUUL，ＢUDL，ＢUUR，ＢUDRと表す。また、下隣接マクロブロック（注目ブロックの下に隣接するマクロブロック）ＭＢDの左上、左下、右上、右下のブロックを、それぞれ、ＢDUL，ＢDDL，ＢDUR，ＢDDRと表し、左隣接マクロブロック（注目ブロックの左に隣接するマクロブロック）ＭＢLの左上、左下、右上、右下のブロックを、それぞれ、ＢLUL，ＢLDL，ＢLUR，ＢLDRと表す。さらに、右隣接マクロブロック（注目ブロックの右に隣接するマクロブロック）ＭＢRの左上、左下、右上、右下のブロックを、それぞれ、ＢRUL，ＢRDL，ＢRUR，ＢRDRと表す。
【０２８７】
図２２は、注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNULの上側の境界、即ち、最上行の８画素に隣接する隣接ブロックの画素列（以下、適宜、上隣接画素列という）を示している。
【０２８８】
なお、図２２において、影を付してあるラインが、注目ブロックＢNULの最上行の画素列を表し、斜線を付してあるラインが、上隣接画素列を表している。
【０２８９】
注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックである場合の上に隣接するブロックは、注目マクロブロックＭＢNの中のブロックではない上隣接マクロブロックＭＢUの左下のブロックＢUDLとなるから、注目ブロックＢNULの最上行の画素列の上に隣接する上隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNと、上隣接マクロブロックＭＢUの両方の構造を考慮する必要がある。
【０２９０】
即ち、注目マクロブロックＭＢNと上隣接マクロブロックＭＢUのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNULは、注目マクロブロックＭＢNの左上の８×８画素であり、図２２Ａに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フレーム構造の上隣接マクロブロックＭＢUの左下のブロックＢUDLの最下行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNULの最上行の水平１次元ＤＣＴ係数に対し、空間領域において上側に隣接する画素列の水平１次元ＤＣＴ係数（以下、適宜、上隣接１次元ＤＣＴ係数という）は、ブロックＢUDLの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０２９１】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNULは、注目マクロブロックＭＢNの左上の８×８画素であり、図２２Ｂに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フィールド構造の上隣接マクロブロックＭＢUの左下のブロックＢUDLの最下行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNULの最上行の水平１次元ＤＣＴ係数に対する上隣接１次元ＤＣＴ係数は、ブロックＢUDLの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０２９２】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNULは、注目マクロブロックＭＢNの８つの奇数ラインの左側の８画素であり、図２２Ｃに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フレーム構造の上隣接マクロブロックＭＢUの左下ブロックＢUDLの第７行目（上から７行目）の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNULの最上行の水平１次元ＤＣＴ係数に対する上隣接１次元ＤＣＴ係数は、ブロックＢUDLの第７行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０２９３】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNULは、注目マクロブロックＭＢNの８つの奇数ラインの左側の８画素であり、図２２Ｄに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フィールド構造の上隣接マクロブロックＭＢUの左上のブロックＢUULの最下行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNULの最上行の水平１次元ＤＣＴ係数に対する上隣接１次元ＤＣＴ係数は、ブロックＢUULの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０２９４】
次に、図２３は、注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNULの下側の境界、即ち、最下行の８画素に隣接する隣接ブロックの画素列（以下、適宜、下隣接画素列という）を示している。
【０２９５】
なお、図２３において、影を付してあるラインが、注目ブロックＢNULの最下行の画素列を表し、斜線を付してあるラインが、下隣接画素列を表している。
【０２９６】
注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックである場合の下に隣接するブロックは、注目マクロブロックＭＢNの中の左下のブロックＢNDLとなるから、注目ブロックＢNULの最下行の画素列の下に隣接する下隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNの構造のみを考慮すれば良い。
【０２９７】
即ち、注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNULは、注目マクロブロックＭＢNの左上の８×８画素であり、図２３Ａに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フレーム構造の注目マクロブロックＭＢNの左下のブロックＢNDLの最上行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNULの最下行の水平１次元ＤＣＴ係数に対し、空間領域において下側に隣接する画素列の水平１次元ＤＣＴ係数（以下、適宜、下隣接１次元ＤＣＴ係数という）は、ブロックＢNDLの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０２９８】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴである場合は、注目ブロックＢNULは、注目マクロブロックＭＢNの８つの奇数ラインの左側の８画素であり、図２３Ｂに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フィールド構造の注目マクロブロックＭＢNの下に隣接する下隣接マクロブロックＭＢDの左上のブロックＢDULの最上行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNULの最下行の水平１次元ＤＣＴ係数に対する下隣接１次元ＤＣＴ係数は、ブロックＢDULの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０２９９】
次に、図２４は、注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNULの左側の境界、即ち、最左列の８画素に隣接する隣接ブロックの画素列（以下、適宜、左隣接画素列という）を示している。
【０３００】
なお、図２４において、影を付してあるラインが、注目ブロックＢNULの最左列の画素列を表し、斜線を付してあるラインが、左隣接画素列を表している。
【０３０１】
注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックである場合の左に隣接するブロックは、注目マクロブロックＭＢNの中のブロックではない左隣接マクロブロックＭＢLの右上のブロックＢLURとなるから、注目ブロックＢNULの最左列の画素列の左に隣接する左隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNと、左隣接マクロブロックＭＢLの両方の構造を考慮する必要がある。
【０３０２】
即ち、注目マクロブロックＭＢNと左隣接マクロブロックＭＢUのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNULは、注目マクロブロックＭＢNの左上の８×８画素であり、図２４Ａに示すように、その最左列の８画素（影を付してある部分）は、空間領域において、フレーム構造の左隣接マクロブロックＭＢLの右上のブロックＢLURの最右列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNULの最左列の垂直１次元ＤＣＴ係数に対し、空間領域において左側に隣接する画素列の垂直１次元ＤＣＴ係数（以下、適宜、左隣接１次元ＤＣＴ係数という）は、ブロックＢLURの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３０３】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNULは、注目マクロブロックＭＢNの左上の８×８画素であり、図２４Ｂに示すように、その最左列の８画素（影を付してある部分）は、空間領域において、フィールド構造の左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の上４画素と、その右下のブロックＢLDRにおける最右列の上４画素の合計８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNULの最左列の垂直１次元ＤＣＴ係数に対する左隣接１次元ＤＣＴ係数は、ブロックＢLURにおける最右列の上４画素とブロックＢLDRにおける最右列の上４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３０４】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNULは、注目マクロブロックＭＢNの８つの奇数ラインの左側の８画素であり、図２４Ｃに示すように、その最左列の８画素（影を付してある部分）は、空間領域において、フレーム構造の左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の奇数行の４画素と、その右下のブロックＢLDRにおける奇数行の４画素の合計８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNULの最左列の垂直１次元ＤＣＴ係数に対する左隣接１次元ＤＣＴ係数は、ブロックＢLURにおける最右列の奇数行の４画素とブロックＢLDRにおける奇数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３０５】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNULは、注目マクロブロックＭＢNの８つの奇数ラインの左側の８画素であり、図２４Ｄに示すように、その最左列の８画素（影を付してある部分）は、空間領域において、フィールド構造の左隣接マクロブロックＭＢLの右上のブロックＢLURの最右列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNULの最左列の垂直１次元ＤＣＴ係数に対する左隣接１次元ＤＣＴ係数は、ブロックＢLURの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３０６】
次に、図２５は、注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNULの右側の境界、即ち、最右列の８画素に隣接する隣接ブロックの画素列（以下、適宜、右隣接画素列という）を示している。
【０３０７】
なお、図２５において、影を付してあるラインが、注目ブロックＢNULの最右列の画素列を表し、斜線を付してあるラインが、右隣接画素列を表している。
【０３０８】
注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックである場合の右に隣接するブロックは、注目マクロブロックＭＢNの中の右上のブロックＢNURになるから、注目ブロックＢNULの最右列の画素列の右に隣接する右隣接画素列は、必ず、ブロックNURの最左列の８画素となるので、注目マクロブロックＭＢNや、その注目マクロブロックＭＢNに隣接するマクロブロックの構造を考慮する必要はない。
【０３０９】
即ち、注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックである場合には、図２５に示すように、その最右列の８画素（影を付してある部分）は、空間領域において、注目ブロックＢNULの右隣のブロックＢNURの最左列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNULの最右列の垂直１次元ＤＣＴ係数に対し、空間領域において右側に隣接する画素列の垂直１次元ＤＣＴ係数（以下、適宜、右隣接１次元ＤＣＴ係数という）は、ブロックＢNURの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３１０】
次に、図２６は、注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDLの上側の境界、即ち、最上行の８画素に隣接する隣接ブロックの画素列（上隣接画素列）を示している。
【０３１１】
なお、図２６において、影を付してあるラインが、注目ブロックＢNDLの最上行の画素列を表し、斜線を付してあるラインが、上隣接画素列を表している。
【０３１２】
注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックである場合の上に隣接するブロックは、注目マクロブロックＭＢNの中の左上のブロックＢNULとなるから、注目ブロックＢNDLの最上行の画素列の上に隣接する上隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNの構造のみを考慮すれば良い。
【０３１３】
即ち、注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDLは、注目マクロブロックＭＢNの左下の８×８画素であり、図２６Ａに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フレーム構造の注目マクロブロックＭＢNの左上ブロックＢNULの最下行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDLの最上行の水平１次元ＤＣＴ係数に対する上隣接１次元ＤＣＴ係数は、ブロックＢNULの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３１４】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴである場合は、注目ブロックＢNDLは、注目マクロブロックＭＢNの８つの偶数ラインの左側の８画素であり、図２６Ｂに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フレーム構造の注目マクロブロックＭＢNの上に隣接する上隣接マクロブロックＭＢUの左下のブロックＢUDLの最下行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDLの最上行の水平１次元ＤＣＴ係数に対する上隣接１次元ＤＣＴ係数は、ブロックＢUDLの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３１５】
次に、図２７は、注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDLの下側の境界、即ち、最下行の８画素に隣接する隣接ブロックの画素列（下隣接画素列）を示している。
【０３１６】
なお、図２７において、影を付してあるラインが、注目ブロックＢNDLの最下行の画素列を表し、斜線を付してあるラインが、下隣接画素列を表している。
【０３１７】
注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックである場合の下に隣接するブロックは、注目マクロブロックＭＢNの中のブロックではない下隣接マクロブロックＭＢDの左上のブロックＢDULとなるから、注目ブロックＢNDLの最下行の画素列の下に隣接する下隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNと、下隣接マクロブロックＭＢDの両方の構造を考慮する必要がある。
【０３１８】
即ち、注目マクロブロックＭＢNと下隣接マクロブロックＭＢDのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNDLは、注目マクロブロックＭＢNの左下の８×８画素であり、図２７Ａに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フレーム構造の下隣接マクロブロックＭＢDの左上のブロックＢDULの最上行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDLの最下行の水平１次元ＤＣＴ係数に対する下隣接１次元ＤＣＴ係数は、ブロックＢDULの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３１９】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNDLは、注目マクロブロックＭＢNの左下の８×８画素であり、図２７Ｂに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フィールド構造の下隣接マクロブロックＭＢDの左上のブロックＢDULの最上行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDLの最下行の水平１次元ＤＣＴ係数に対する下隣接１次元ＤＣＴ係数は、ブロックＢDULの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３２０】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDLは、注目マクロブロックＭＢNの８つの偶数ラインの左側の８画素であり、図２７Ｃに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フレーム構造の下隣接マクロブロックＭＢDの左上のブロックＢDULの第２行目の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDLの最下行の水平１次元ＤＣＴ係数に対する下隣接１次元ＤＣＴ係数は、ブロックＢDULの第２行目の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３２１】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNDLは、注目マクロブロックＭＢNの８つの偶数ラインの左側の８画素であり、図２７Ｄに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フィールド構造の下隣接マクロブロックＭＢDの左下のブロックＢDDLの最上行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDLの最下行の水平１次元ＤＣＴ係数に対する下隣接１次元ＤＣＴ係数は、ブロックＢDDLの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３２２】
次に、図２８は、注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDLの左側の境界、即ち、最左列の８画素に隣接する隣接ブロックの画素列（左隣接画素列）を示している。
【０３２３】
なお、図２８において、影を付してあるラインが、注目ブロックＢNDLの最左列の画素列を表し、斜線を付してあるラインが、左隣接画素列を表している。
【０３２４】
注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックである場合の左に隣接するブロックは、注目マクロブロックＭＢNの中のブロックではない左隣接マクロブロックＭＢLの右下のブロックＢLDRとなるから、注目ブロックＢNDLの最左列の画素列の左に隣接する左隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNと、左隣接マクロブロックＭＢLの両方の構造を考慮する必要がある。
【０３２５】
即ち、注目マクロブロックＭＢNと左隣接マクロブロックＭＢLのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNDLは、注目マクロブロックＭＢNの左下の８×８画素であり、図２８Ａに示すように、その最左列の８画素（影を付してある部分）は、空間領域において、フレーム構造の左隣接マクロブロックＭＢLの右下のブロックＢLDRの最右列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDLの最左列の垂直１次元ＤＣＴ係数に対する左隣接１次元ＤＣＴ係数は、ブロックＢLDRの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３２６】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNDLは、注目マクロブロックＭＢNの左下の８×８画素であり、図２８Ｂに示すように、その最左列の８画素（影を付してある部分）は、空間領域において、フィールド構造の左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の下４画素と、その右下のブロックＢLDRにおける最右列の下４画素の合計８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDLの最左列の垂直１次元ＤＣＴ係数に対する左隣接１次元ＤＣＴ係数は、ブロックＢLURにおける最右列の下４画素とブロックＢLDRにおける最右列の下４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３２７】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDLは、注目マクロブロックＭＢNの８つの偶数ラインの左側の８画素であり、図２８Ｃに示すように、その最左列の８画素（影を付してある部分）は、空間領域において、フレーム構造の左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の偶数行の４画素と、その右下のブロックＢLDRにおける偶数行の４画素の合計８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDLの最左列の垂直１次元ＤＣＴ係数に対する左隣接１次元ＤＣＴ係数は、ブロックＢLURにおける最右列の偶数行の４画素とブロックＢLDRにおける偶数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３２８】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNDLは、注目マクロブロックＭＢNの８つの偶数ラインの左側の８画素であり、図２８Ｄに示すように、その最左列の８画素（影を付してある部分）は、空間領域において、フィールド構造の左隣接マクロブロックＭＢLの右下のブロックＢLDRの最右列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDLの最左列の垂直１次元ＤＣＴ係数に対する左隣接１次元ＤＣＴ係数は、ブロックＢLDRの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３２９】
次に、図２９は、注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDLの右側の境界、即ち、最右列の８画素に隣接する隣接ブロックの画素列（右隣接画素列）を示している。
【０３３０】
なお、図２９において、影を付してあるラインが、注目ブロックＢNDLの最右列の画素列を表し、斜線を付してあるラインが、右隣接画素列を表している。
【０３３１】
注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックである場合の右に隣接するブロックは、注目マクロブロックＭＢNの中の右下のブロックＢNDRになるから、注目ブロックＢNDLの最右列の画素列の右に隣接する右隣接画素列は、必ず、ブロックNDRの最左列の８画素となるので、注目マクロブロックＭＢNや、その注目マクロブロックＭＢNに隣接するマクロブロックの構造を考慮する必要はない。
【０３３２】
即ち、注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックである場合には、図２９に示すように、その最右列の８画素（影を付してある部分）は、空間領域において、注目ブロックＢNDLの右隣のブロックＢNDRの最左列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDLの最右列の垂直１次元ＤＣＴ係数に対する右隣接１次元ＤＣＴ係数は、ブロックＢNDRの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３３３】
図３０は、注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNURの上側の境界、即ち、最上行の８画素に隣接する隣接ブロックの画素列（上隣接画素列）を示している。
【０３３４】
なお、図３０において、影を付してあるラインが、注目ブロックＢNURの最上行の画素列を表し、斜線を付してあるラインが、上隣接画素列を表している。
【０３３５】
注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックである場合の上に隣接するブロックは、注目マクロブロックＭＢNの中のブロックではない上隣接マクロブロックＭＢUの右下のブロックＢUDRとなるから、注目ブロックＢNURの最上行の画素列の上に隣接する上隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNと、上隣接マクロブロックＭＢUの両方の構造を考慮する必要がある。
【０３３６】
即ち、注目マクロブロックＭＢNと上隣接マクロブロックＭＢUのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNURは、注目マクロブロックＭＢNの右上の８×８画素であり、図３０Ａに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フレーム構造の上隣接マクロブロックＭＢUの右下のブロックＢUDRの最下行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNURの最上行の水平１次元ＤＣＴ係数に対する上隣接１次元ＤＣＴ係数は、ブロックＢUDRの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３３７】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNURは、注目マクロブロックＭＢNの右上の８×８画素であり、図３０Ｂに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フィールド構造の上隣接マクロブロックＭＢUの右下ブロックＢUDRの最下行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNURの最上行の水平１次元ＤＣＴ係数に対する上隣接１次元ＤＣＴ係数は、ブロックＢUDRの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３３８】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNURは、注目マクロブロックＭＢNの８つの奇数ラインの右側の８画素であり、図３０Ｃに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フレーム構造の上隣接マクロブロックＭＢUの右下のブロックＢUDRの第７行目の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNURの最上行の水平１次元ＤＣＴ係数に対する上隣接１次元ＤＣＴ係数は、ブロックＢUDRの第７行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３３９】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNURは、注目マクロブロックＭＢNの８つの奇数ラインの右側の８画素であり、図３０Ｄに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フィールド構造の上隣接マクロブロックＭＢUの右上のブロックＢUURの最下行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNURの最上行の水平１次元ＤＣＴ係数に対する上隣接１次元ＤＣＴ係数は、ブロックＢUURの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３４０】
次に、図３１は、注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNURの下側の境界、即ち、最下行の８画素に隣接する隣接ブロックの画素列（下隣接画素列）を示している。
【０３４１】
なお、図３１において、影を付してあるラインが、注目ブロックＢNURの最下行の画素列を表し、斜線を付してあるラインが、下隣接画素列を表している。
【０３４２】
注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックである場合の下に隣接するブロックは、注目マクロブロックＭＢNの中の右下のブロックＢNDRとなるから、注目ブロックＢNURの最下行の画素列の下に隣接する下隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNの構造のみを考慮すれば良い。
【０３４３】
即ち、注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNURは、注目マクロブロックＭＢNの右上の８×８画素であり、図３１Ａに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フレーム構造の注目マクロブロックＭＢNの右下のブロックＢNDRの最上行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNURの最下行の水平１次元ＤＣＴ係数に対する下隣接１次元ＤＣＴ係数は、ブロックＢNDRの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３４４】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴである場合は、注目ブロックＢNURは、注目マクロブロックＭＢNの８つの奇数ラインの右側の８画素であり、図３１Ｂに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フレーム構造の注目マクロブロックＭＢNの下に隣接する下隣接マクロブロックＭＢDの右上のブロックＢDURの最上行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNURの最下行の水平１次元ＤＣＴ係数に対する下隣接１次元ＤＣＴ係数は、ブロックＢDURの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３４５】
次に、図３２は、注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNURの左側の境界、即ち、最左列の８画素に隣接する隣接ブロックの画素列（左隣接画素列）を示している。
【０３４６】
なお、図３２において、影を付してあるラインが、注目ブロックＢNURの最左列の画素列を表し、斜線を付してあるラインが、左隣接画素列を表している。
【０３４７】
注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックである場合の左に隣接するブロックは、注目マクロブロックＭＢNの中の左上のブロックＢNULになるから、注目ブロックＢNURの最左列の画素列の左に隣接する左隣接画素列は、必ず、ブロックＢNULの最右列の８画素となるので、注目マクロブロックＭＢNや、その注目マクロブロックＭＢNに隣接するマクロブロックの構造を考慮する必要はない。
【０３４８】
即ち、注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックである場合には、図３２に示すように、その最左列の８画素（影を付してある部分）は、空間領域において、注目ブロックＢNURの左隣のブロックＢNULの最右列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNURの最左列の垂直１次元ＤＣＴ係数に対する左隣接１次元ＤＣＴ係数は、ブロックＢNULの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３４９】
次に、図３３は、注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNURの右側の境界、即ち、最右列の８画素に隣接する隣接ブロックの画素列（右隣接画素列）を示している。
【０３５０】
なお、図３３において、影を付してあるラインが、注目ブロックＢNURの最右列の画素列を表し、斜線を付してあるラインが、右隣接画素列を表している。
【０３５１】
注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックである場合の右に隣接するブロックは、注目マクロブロックＭＢNの中のブロックではない右隣接マクロブロックＭＢRの左上のブロックＢRULとなるから、注目ブロックＢNURの最右列の画素列の右に隣接する右隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNと、右隣接マクロブロックＭＢRの両方の構造を考慮する必要がある。
【０３５２】
即ち、注目マクロブロックＭＢNと右隣接マクロブロックＭＢRのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNURは、注目マクロブロックＭＢNの右上の８×８画素であり、図３３Ａに示すように、その最右列の８画素（影を付してある部分）は、空間領域において、フレーム構造の右隣接マクロブロックＭＢRの左上のブロックＢRULの最左列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNURの最右列の垂直１次元ＤＣＴ係数に対する右隣接１次元ＤＣＴ係数は、ブロックＢRULの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３５３】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、右隣接マクロブロックＭＢRのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNURは、注目マクロブロックＭＢNの右上の８×８画素であり、図３３Ｂに示すように、その最左列の８画素（影を付してある部分）は、空間領域において、フィールド構造の右隣接マクロブロックＭＢLの左上のブロックＢRULにおける最左列の上４画素と、その左下のブロックＢRDLにおける最左列の上４画素の合計８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNURの最右列の垂直１次元ＤＣＴ係数に対する右隣接１次元ＤＣＴ係数は、ブロックＢRULにおける最左列の上４画素とブロックＢRDLにおける最左列の上４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３５４】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、右隣接マクロブロックＭＢRのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNURは、注目マクロブロックＭＢNの８つの奇数ラインの右側の８画素であり、図３３Ｃに示すように、その最右列の８画素（影を付してある部分）は、空間領域において、フレーム構造の右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の奇数行の４画素と、その左下のブロックＢRDLにおける奇数行の４画素の合計８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNURの最右列の垂直１次元ＤＣＴ係数に対する右隣接１次元ＤＣＴ係数は、ブロックＢRULにおける最右列の奇数行の４画素とブロックＢRDLにおける奇数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３５５】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、右隣接マクロブロックＭＢRのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNURは、注目マクロブロックＭＢNの８つの奇数ラインの右側の８画素であり、図３３Ｄに示すように、その最右列の８画素（影を付してある部分）は、空間領域において、フィールド構造の右隣接マクロブロックＭＢRの左上のブロックＢRULの最左列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNURの最右列の垂直１次元ＤＣＴ係数に対する右隣接１次元ＤＣＴ係数は、ブロックＢRULの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３５６】
次に、図３４は、注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDRの上側の境界、即ち、最上行の８画素に隣接する隣接ブロックの画素列（上隣接画素列）を示している。
【０３５７】
なお、図３４において、影を付してあるラインが、注目ブロックＢNDRの最上行の画素列を表し、斜線を付してあるラインが、上隣接画素列を表している。
【０３５８】
注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックである場合の上に隣接するブロックは、注目マクロブロックＭＢNの中の右上のブロックＢNURとなるから、注目ブロックＢNDRの最上行の画素列の上に隣接する上隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNの構造のみを考慮すれば良い。
【０３５９】
即ち、注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDRは、注目マクロブロックＭＢNの右下の８×８画素であり、図３４Ａに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フレーム構造の注目マクロブロックＭＢNの右下のブロックＢNDRの最上行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDRの最上行の水平１次元ＤＣＴ係数に対する上隣接１次元ＤＣＴ係数は、ブロックＢNDRの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３６０】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴである場合は、注目ブロックＢNDRは、注目マクロブロックＭＢNの８つの偶数ラインの右側の８画素であり、図３４Ｂに示すように、その最上行の８画素（影を付してある部分）は、空間領域において、フレーム構造の注目マクロブロックＭＢNの上に隣接する上隣接マクロブロックＭＢUの右下のブロックＢUDRの最下行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDRの最上行の水平１次元ＤＣＴ係数に対する上隣接１次元ＤＣＴ係数は、ブロックＢUDRの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３６１】
次に、図３５は、注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDRの下側の境界、即ち、最下行の８画素に隣接する隣接ブロックの画素列（下隣接画素列）を示している。
【０３６２】
なお、図３５において、影を付してあるラインが、注目ブロックＢNDRの最下行の画素列を表し、斜線を付してあるラインが、下隣接画素列を表している。
【０３６３】
注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックである場合の下に隣接するブロックは、注目マクロブロックＭＢNの中のブロックではない下隣接マクロブロックＭＢDの右上のブロックＢDURとなるから、注目ブロックＢNDRの最下行の画素列の下に隣接する下隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNと、下隣接マクロブロックＭＢDの両方の構造を考慮する必要がある。
【０３６４】
即ち、注目マクロブロックＭＢNと下隣接マクロブロックＭＢDのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNDRは、注目マクロブロックＭＢNの右下の８×８画素であり、図３５Ａに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フレーム構造の下隣接マクロブロックＭＢDの右上のブロックＢDURの最上行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDRの最下行の水平１次元ＤＣＴ係数に対する下隣接１次元ＤＣＴ係数は、ブロックＢDURの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３６５】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNDRは、注目マクロブロックＭＢNの右下の８×８画素であり、図３５Ｂに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フィールド構造の下隣接マクロブロックＭＢDの右上のブロックＢDURの最上行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDRの最下行の水平１次元ＤＣＴ係数に対する下隣接１次元ＤＣＴ係数は、ブロックＢDURの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３６６】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDRは、注目マクロブロックＭＢNの８つの偶数ラインの右側の８画素であり、図３５Ｃに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フレーム構造の下隣接マクロブロックＭＢDの右上のブロックＢDURの第２行目の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDRの最下行の水平１次元ＤＣＴ係数に対する下隣接１次元ＤＣＴ係数は、ブロックＢDURの第２行目の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３６７】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNDRは、注目マクロブロックＭＢNの８つの偶数ラインの右側の８画素であり、図３５Ｄに示すように、その最下行の８画素（影を付してある部分）は、空間領域において、フィールド構造の下隣接マクロブロックＭＢDの右下のブロックＢDDRの最上行の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDRの最下行の水平１次元ＤＣＴ係数に対する下隣接１次元ＤＣＴ係数は、ブロックＢDDRの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数になる。
【０３６８】
次に、図３６は、注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDRの左側の境界、即ち、最左列の８画素に隣接する隣接ブロックの画素列（左隣接画素列）を示している。
【０３６９】
なお、図３６において、影を付してあるラインが、注目ブロックＢNDRの最左列の画素列を表し、斜線を付してあるラインが、左隣接画素列を表している。
【０３７０】
注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックである場合の左に隣接するブロックは、注目マクロブロックＭＢNの中の左下のブロックＢNDLになるから、注目ブロックＢNDRの最左列の画素列の左に隣接する左隣接画素列は、必ず、ブロックNDLの最右列の８画素となるので、注目マクロブロックＭＢNや、その注目マクロブロックＭＢNに隣接するマクロブロックの構造を考慮する必要はない。
【０３７１】
即ち、注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックである場合には、図３６に示すように、その最左列の８画素（影を付してある部分）は、空間領域において、注目ブロックＢNDRの左隣のブロックＢNDLの最右列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDRの最左列の垂直１次元ＤＣＴ係数に対する左隣接１次元ＤＣＴ係数は、ブロックＢNDLの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３７２】
次に、図３７は、注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDRの右側の境界、即ち、最右列の８画素に隣接する隣接ブロックの画素列（右隣接画素列）を示している。
【０３７３】
なお、図３７において、影を付してあるラインが、注目ブロックＢNDRの最右列の画素列を表し、斜線を付してあるラインが、右隣接画素列を表している。
【０３７４】
注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックである場合の右に隣接するブロックは、注目マクロブロックＭＢNの中のブロックではない右隣接マクロブロックＭＢRの右下のブロックＢRDLとなるから、注目ブロックＢNDRの最右列の画素列の右に隣接する右隣接画素列がいずれの画素列になるかは、注目マクロブロックＭＢNと、右隣接マクロブロックＭＢRの両方の構造を考慮する必要がある。
【０３７５】
即ち、注目マクロブロックＭＢNと右隣接マクロブロックＭＢRのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNDRは、注目マクロブロックＭＢNの右下の８×８画素であり、図３７Ａに示すように、その最右列の８画素（影を付してある部分）は、空間領域において、フレーム構造の右隣接マクロブロックＭＢRの左下のブロックＢRDLの最左列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDRの最右列の垂直１次元ＤＣＴ係数に対する右隣接１次元ＤＣＴ係数は、ブロックＢRDLの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３７６】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、右隣接マクロブロックＭＢRのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNDRは、注目マクロブロックＭＢNの右下の８×８画素であり、図３７Ｂに示すように、その最右列の８画素（影を付してある部分）は、空間領域において、フィールド構造の右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の下４画素と、その左下のブロックＢRDLにおける最左列の下４画素の合計８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDRの最右列の垂直１次元ＤＣＴ係数に対する右隣接１次元ＤＣＴ係数は、ブロックＢRULにおける最左列の下４画素とブロックＢRDLにおける最左列の下４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３７７】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、右隣接マクロブロックＭＢRのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDRは、注目マクロブロックＭＢNの８つの偶数ラインの左側の８画素であり、図３７Ｃに示すように、その最右列の８画素（影を付してある部分）は、空間領域において、フレーム構造の右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の偶数行の４画素と、その左下のブロックＢRDLにおける最左列の偶数行の４画素の合計８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDRの最左列の垂直１次元ＤＣＴ係数に対する右隣接１次元ＤＣＴ係数は、ブロックＢRULにおける最左列の偶数行の４画素とブロックＢRDLにおける偶数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３７８】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、右隣接マクロブロックＭＢＲのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNDRは、注目マクロブロックＭＢNの８つの偶数ラインの右側の８画素であり、図３７Ｄに示すように、その最右列の８画素（影を付してある部分）は、空間領域において、フィールド構造の右隣接マクロブロックＭＢRの左下のブロックＢRDLの最左列の８画素（斜線を付してある部分）と隣接する。従って、注目ブロックＢNDRの最右列の垂直１次元ＤＣＴ係数に対する右隣接１次元ＤＣＴ係数は、ブロックＢRDLの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数になる。
【０３７９】
次に、図３８は、図２２乃至図３７で説明したような、注目ブロックに対する隣接１次元ＤＣＴ係数（上隣接１次元ＤＣＴ係数、下隣接１次元ＤＣＴ係数、左隣接１次元ＤＣＴ係数、および右隣接１次元ＤＣＴ係数）を取得する、図１９の隣接１次元ＤＣＴ係数選択／変換部３２の構成例を示している。
【０３８０】
隣接１次元ＤＣＴ係数選択／変換部３２において、１次元逆ＤＣＴ変換部３１（図１９）が出力する１次元ＤＣＴ係数（水平１次元ＤＣＴ係数および垂直１次元ＤＣＴ係数）は、メモリ８１に供給されるようになっており、バッファメモリ２３（図２６）に記憶された注目マクロブロックと隣接マクロブロック（上隣接マクロブロック、下隣接マクロブロック、左隣接マクロブロック、および右隣接マクロブロック）のＤＣＴタイプは、サンプリング部８３および選択部８５に供給されるようになっている。
【０３８１】
制御部８０は、隣接１次元ＤＣＴ係数選択／変換部３２を構成する各ブロックを制御する。
【０３８２】
メモリ８１は、１次元逆ＤＣＴ変換部３１（図１９）が出力する１次元ＤＣＴ係数を、一時記憶する。
【０３８３】
垂直１次元逆ＤＣＴ変換部８２は、メモリ８１に記憶された垂直１次元ＤＣＴ係数を読み出して、垂直１次元逆ＤＣＴ変換し、これにより、横×縦が１×８の画素列を得て出力する。垂直１次元逆ＤＣＴ変換部８２が出力する１×８の画素列は、サンプリング部８３に供給される。
【０３８４】
サンプリング部８３は、バッファメモリ２３（図１４）に記憶された注目マクロブロックと隣接マクロブロックのＤＣＴタイプに基づき、垂直１次元逆ＤＣＴ変換部８３から供給される画素列を対象としたサンプリングを行い、そのサンプリングの結果得られる画素から、１×８の画素列を再構成して、垂直１次元ＤＣＴ変換部８４に供給する。
【０３８５】
垂直１次元ＤＣＴ変換部８４は、サンプリング部８３から供給される１×８の画素列を、垂直１次元ＤＣＴ変換し、これにより、横×縦が１×８の垂直１次元ＤＣＴ係数を得て、選択部８５に供給する。
【０３８６】
選択部８５は、メモリ８１に記憶された水平１次元ＤＣＴ係数もしくは垂直１次元ＤＣＴ係数、または垂直１次元ＤＣＴ変換部８４が出力する垂直１次元ＤＣＴ係数を選択し、隣接１次元ＤＣＴ係数として出力する。
【０３８７】
以上のように構成される隣接１次元ＤＣＴ係数選択／変換部３２では、メモリ８１に、注目マクロブロック、上隣接マクロブロック、下隣接マクロブロック、左隣接マクロブロック、および右隣接マクロブロックの１次元ＤＣＴ係数が供給されて記憶される。また、サンプリング部８３および選択部８５には、注目マクロブロック、上隣接マクロブロック、下隣接マクロブロック、左隣接マクロブロック、および右隣接マクロブロックのＤＣＴタイプが供給される。
【０３８８】
そして、制御部８０が、注目マクロブロックにおける注目ブロックの位置を判定し、注目ブロックが、注目ブロックの左上、左下、右上、または右下のブロックであると判定された場合、図３９乃至図４２に示す左上ブロック処理、左下ブロック処理、右上ブロック処理、または右下ブロック処理がそれぞれ行われる。
【０３８９】
図３９は、図３８の隣接１次元ＤＣＴ係数選択／変換部３２が行う左上ブロック処理を示すフローチャートである。
【０３９０】
左上ブロック処理では、注目マクロブロックの左上のブロックＢNULについて、上隣接１次元ＤＣＴ係数、下隣接１次元ＤＣＴ係数、左隣接１次元ＤＣＴ係数、右隣接１次元ＤＣＴ係数が取得される。
【０３９１】
即ち、左上ブロック処理では、まず最初に、ステップＳ１１において、選択部８５が、注目マクロブロックと上隣接マクロブロックのＤＣＴタイプを判定する。
【０３９２】
ステップＳ１１において、注目マクロブロックと上隣接マクロブロックのＤＣＴタイプが、いずれもフレームＤＣＴであると判定された場合、ステップＳ１２に進み、選択部８５は、図２２Ａで説明したように、上隣接マクロブロックＭＢUの左下のブロックＢUDLにおける最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０３９３】
即ち、注目ブロックが、注目マクロブロックの左上のブロックＢNULである場合において、注目マクロブロックと上隣接マクロブロックが、いずれもフレーム構造であるときには、上隣接１次元ＤＣＴ係数は、図２２Ａで説明したように、上隣接マクロブロックＭＢUの左下のブロックＢUDLにおける最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢUDLの第８行の水平１次元ＤＣＴ係数である。ブロックＢUDLの第８行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ１２において、メモリ８１から、ブロックＢUDLの第８行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０３９４】
また、ステップＳ１１において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであり、上隣接マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ１３に進み、選択部８５は、図２２Ｂで説明したように、上隣接マクロブロックＭＢUの左下のブロックＢUDLの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０３９５】
即ち、注目ブロックが、注目マクロブロックの左上のブロックＢNULである場合において、注目マクロブロックがフレーム構造であり、上隣接マクロブロックがフィールド構造であるときには、上隣接１次元ＤＣＴ係数は、図２２Ｂで説明したように、上隣接マクロブロックＭＢUの左下のブロックＢUDLにおける最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢUDLの第８行の水平１次元ＤＣＴ係数である。ブロックＢUDLの第８行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ１３において、メモリ８１から、ブロックＢUDLの第８行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０３９６】
また、ステップＳ１１において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであり、上隣接マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ１４に進み、選択部８５は、図２２Ｃで説明したように、上隣接マクロブロックＭＢUの左下ブロックＢUDLの第７行目の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０３９７】
即ち、注目ブロックが、注目マクロブロックの左上のブロックＢNULである場合において、注目マクロブロックがフィールド構造であり、上隣接マクロブロックがフレーム構造であるときには、上隣接１次元ＤＣＴ係数は、図２２Ｃで説明したように、上隣接マクロブロックＭＢUの左下ブロックＢUDLの第７行目の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢUDLの第７行の水平１次元ＤＣＴ係数である。ブロックＢUDLの第７行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ１４において、メモリ８１から、ブロックＢUDLの第７行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０３９８】
また、ステップＳ１１において、注目マクロブロックと上隣接マクロブロックのＤＣＴタイプが、いずれもフィールドＤＣＴであると判定された場合、ステップＳ１５に進み、選択部８５は、図２２Ｄで説明したように、上隣接マクロブロックＭＢUの左上のブロックＢUULの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０３９９】
即ち、注目ブロックが、注目マクロブロックの左上のブロックＢNULである場合において、注目マクロブロックと上隣接マクロブロックが、いずれもフィールド構造であるときには、上隣接１次元ＤＣＴ係数は、図２２Ｄで説明したように、上隣接マクロブロックＭＢUの左上のブロックＢUULの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢUULの第８行の水平１次元ＤＣＴ係数である。ブロックＢUULの第８行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ１５において、メモリ８１から、ブロックＢUULの第８行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０４００】
ステップＳ１２乃至Ｓ１５の処理後は、いずれも、ステップＳ１６に進み、選択部８５が、注目マクロブロックのＤＣＴタイプを判定する。
【０４０１】
ステップＳ１６において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ１７に進み、選択部８５は、図２３Ａで説明したように、注目マクロブロックＭＢNの左下のブロックＢNDLの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０４０２】
即ち、注目ブロックが、注目マクロブロックの左上のブロックＢNULである場合において、注目マクロブロックがフレーム構造であるときには、下隣接１次元ＤＣＴ係数は、図２３Ａで説明したように、注目マクロブロックＭＢNの左下のブロックＢNDLの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢNDLの第１行の水平１次元ＤＣＴ係数である。ブロックＢNDLの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ１７において、メモリ８１から、ブロックＢNDLの第１行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０４０３】
また、ステップＳ１６において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ１８に進み、選択部８５は、図２３Ｂで説明したように、下隣接マクロブロックＭＢDの左上のブロックＢDULの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０４０４】
即ち、注目ブロックが、注目マクロブロックの左上のブロックＢNULである場合において、注目マクロブロックがフィールド構造であるときには、下隣接１次元ＤＣＴ係数は、図２３Ｂで説明したように、下隣接マクロブロックＭＢDの左上のブロックＢDULの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢDULの第１行の水平１次元ＤＣＴ係数である。ブロックＢDULの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ１８において、メモリ８１から、ブロックＢDULの第１行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０４０５】
ステップＳ１７およびＳ１８の処理後は、いずれも、ステップＳ１９に進み、サンプリング部８３および選択部８５が、注目マクロブロックと左隣接マクロブロックのＤＣＴタイプを判定する。
【０４０６】
ステップＳ１９において、注目マクロブロックと左隣接マクロブロックのＤＣＴタイプが、いずれもフレームＤＣＴであると判定された場合、ステップＳ２０に進み、選択部８５は、図２４Ａで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、左隣接１次元ＤＣＴ係数として取得する。
【０４０７】
即ち、注目ブロックが、注目マクロブロックの左上のブロックＢNULである場合において、注目マクロブロックと左隣接マクロブロックが、いずれもフレーム構造であるときには、左隣接１次元ＤＣＴ係数は、図２４Ａで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢLURの第８列（左から８列目）の垂直１次元ＤＣＴ係数である。ブロックＢLURの第８列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ２０において、メモリ８１から、ブロックＢLURの第８列の垂直１次元ＤＣＴ係数を読み出して選択し、左隣接１次元ＤＣＴ係数として出力する。
【０４０８】
また、ステップＳ１９において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであり、左隣接マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ２１乃至Ｓ２３に順次進み、選択部８５は、図２４Ｂで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の上４画素と、その右下のブロックＢLDRにおける最右列の上４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、左隣接１次元ＤＣＴ係数として取得する。
【０４０９】
即ち、注目ブロックが、注目マクロブロックの左上のブロックＢNULである場合において、注目マクロブロックがフレーム構造であり、左隣接マクロブロックがフィールド構造であるときには、左隣接１次元ＤＣＴ係数は、図２４Ｂで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の上４画素と、その右下のブロックＢLDRにおける最右列の上４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数となるが、このような垂直１次元ＤＣＴ係数は、メモリ８１に存在しない。
【０４１０】
そこで、サンプリング部８３は、ブロックＢLURの第８列の垂直１次元ＤＣＴ係数と、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数の垂直１次元逆ＤＣＴ変換を、垂直１次元逆ＤＣＴ変換部８２に要求する。
【０４１１】
垂直１次元逆ＤＣＴ変換部８２は、サンプリング部８３からの要求に応じ、ステップＳ２１において、ブロックＢLURの第８列の垂直１次元ＤＣＴ係数と、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数を、メモリ８１から読み出し、垂直１次元逆ＤＣＴ変換を施す。これにより、垂直１次元逆ＤＣＴ変換部８２は、ブロックＢLURの第８列の８画素と、ブロックＢLDRの第８列の８画素を得て、サンプリング部８３に供給し、ステップＳ２２に進む。
【０４１２】
ステップＳ２２では、サンプリング部８３は、垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢLURの第８列の８画素のうちの上４画素をサンプリングするとともに、同じく垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢLDRの第８列の８画素のうちの上４画素をサンプリングし、ブロックＢLURの第８列からサンプリングした上４画素を奇数行（トップフィールド）に配置するとともに、ブロックＢLDRの第８列からサンプリングした上４画素を偶数行（ボトムフィールド）に配置することにより、注目マクロブロックと同一のフレーム構造とした垂直方向に並ぶ８画素を、垂直１次元ＤＣＴ変換部８４に供給する。
【０４１３】
垂直１次元ＤＣＴ変換部８４は、サンプリング部８３でサンプリングされた８画素を受信すると、ステップＳ２３において、その８画素を、垂直１次元ＤＣＴ変換し、これにより、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の上４画素と、その右下のブロックＢLDRにおける最右列の上４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を得て、選択部８５に供給する。選択部８５は、垂直１次元ＤＣＴ変換部８４から供給される垂直１次元ＤＣＴ係数を選択し、左隣接１次元ＤＣＴ係数として出力する。
【０４１４】
また、ステップＳ１９において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであり、左隣接マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ２４乃至Ｓ２６に順次進み、選択部８５は、図２４Ｃで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の奇数行の４画素と、その右下のブロックＢLDRにおける奇数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、左隣接１次元ＤＣＴ係数として取得する。
【０４１５】
即ち、注目ブロックが、注目マクロブロックの左上のブロックＢNULである場合において、注目マクロブロックがフィールド構造であり、左隣接マクロブロックがフレーム構造であるときには、左隣接１次元ＤＣＴ係数は、図２４Ｃで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の奇数行の４画素と、その右下のブロックＢLDRにおける奇数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数となるが、そのような垂直１次元ＤＣＴ係数は、メモリ８１に存在しない。
【０４１６】
そこで、サンプリング部８３は、ブロックＢLURの第８列の垂直１次元ＤＣＴ係数と、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数の垂直１次元逆ＤＣＴ変換を、垂直１次元逆ＤＣＴ変換部８２に要求する。
【０４１７】
垂直１次元逆ＤＣＴ変換部８２は、サンプリング部８３からの要求に応じ、ステップＳ２４において、ブロックＢLURの第８列の垂直１次元ＤＣＴ係数と、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数を、メモリ８１から読み出し、垂直１次元逆ＤＣＴ変換を施す。これにより、垂直１次元逆ＤＣＴ変換部８２は、ブロックＢLURの第８列の８画素と、ブロックＢLDRの第８列の８画素を得て、サンプリング部８３に供給し、ステップＳ２５に進む。
【０４１８】
ステップＳ２５では、サンプリング部８３は、垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢLURの第８列の８画素のうちの奇数行の４画素をサンプリングするとともに、同じく垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢLDRの第８列の８画素のうちの奇数行の４画素をサンプリングし、ブロックＢLURの第８列からサンプリングした奇数行の４画素を上側に配置するとともに、ブロックＢLDRの第８列からサンプリングした奇数行の４画素を下側に配置することにより、注目マクロブロックと同一のフィールド（トップフィールド）構造とした垂直方向に並ぶ８画素を、垂直１次元ＤＣＴ変換部８４に供給する。
【０４１９】
垂直１次元ＤＣＴ変換部８４は、サンプリング部８３でサンプリングされた８画素を受信すると、ステップＳ２６において、その８画素を、垂直１次元ＤＣＴ変換し、これにより、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の奇数行の４画素と、その右下のブロックＢLDRにおける奇数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を得て、選択部８５に供給する。選択部８５は、垂直１次元ＤＣＴ変換部８４から供給される垂直１次元ＤＣＴ係数を選択し、左隣接１次元ＤＣＴ係数として出力する。
【０４２０】
また、ステップＳ１９において、注目マクロブロックと左隣接マクロブロックのＤＣＴタイプが、いずれもフィールドＤＣＴであると判定された場合、ステップＳ２７に進み、選択部８５は、図２４Ｄで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、左隣接１次元ＤＣＴ係数として取得する。
【０４２１】
即ち、注目ブロックが、注目マクロブロックの左上のブロックＢNULである場合において、注目マクロブロックと左隣接マクロブロックが、いずれもフィールド構造であるときには、左隣接１次元ＤＣＴ係数は、図２４Ｄで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢLURの第８列の垂直１次元ＤＣＴ係数である。ブロックＢLURの第８列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ２７において、メモリ８１から、ブロックＢLURの第８列の垂直１次元ＤＣＴ係数を読み出して選択し、左隣接１次元ＤＣＴ係数として出力する。
【０４２２】
ステップＳ２０，Ｓ２３，Ｓ２６、およびＳ２７の処理後は、いずれも、ステップＳ２８に進み、選択部８５は、図２５で説明したように、注目ブロックＢNULの右隣のブロックＢNURの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、右隣接１次元ＤＣＴ係数として取得する。
【０４２３】
即ち、注目ブロックが、注目マクロブロックの左上のブロックＢNULである場合には、右隣接１次元ＤＣＴ係数は、図２５で説明したように、注目ブロックＢNULの右隣のブロックＢNURの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢNURの第１列の垂直１次元ＤＣＴ係数である。ブロックＢNURの第１列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ２８において、メモリ８１から、ブロックＢNURの第１列の垂直１次元ＤＣＴ係数を読み出して選択し、右隣接１次元ＤＣＴ係数として出力して、左上ブロック処理を終了する。
【０４２４】
次に、図４０は、図３８の隣接１次元ＤＣＴ係数選択／変換部３２が行う左下ブロック処理を示すフローチャートである。
【０４２５】
左下ブロック処理では、注目マクロブロックの左下のブロックＢNDLについて、上隣接１次元ＤＣＴ係数、下隣接１次元ＤＣＴ係数、左隣接１次元ＤＣＴ係数、右隣接１次元ＤＣＴ係数が取得される。
【０４２６】
即ち、左下ブロック処理では、まず最初に、ステップＳ３１において、選択部８５が、注目マクロブロックのＤＣＴタイプを判定する。
【０４２７】
ステップＳ３１において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ３２に進み、選択部８５は、図２６Ａで説明したように、注目マクロブロックＭＢNの左上のブロックＢNULの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０４２８】
即ち、注目ブロックが、注目マクロブロックの左下のブロックＢNDLである場合において、注目マクロブロックがフレーム構造であるときには、上隣接１次元ＤＣＴ係数は、図２６Ａで説明したように、注目マクロブロックＭＢNの左上のブロックＢNULの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢNULの第８行の水平１次元ＤＣＴ係数である。ブロックＢNULの第８行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ３２において、メモリ８１から、ブロックＢNULの第８行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０４２９】
また、ステップＳ３１において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ３３に進み、選択部８５は、図２６Ｂで説明したように、上隣接マクロブロックＭＢUの左下のブロックＢUDLの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０４３０】
即ち、注目ブロックが、注目マクロブロックの左下のブロックＢNDLである場合において、注目マクロブロックがフィールド構造であるときには、上隣接１次元ＤＣＴ係数は、図２６Ｂで説明したように、上隣接マクロブロックＭＢUの左下のブロックＢUDLの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢUDLの第８行の水平１次元ＤＣＴ係数である。ブロックＢUDLの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ３３において、メモリ８１から、ブロックＢUDLの第１行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０４３１】
ステップＳ３２およびＳ３３の処理後は、いずれも、ステップＳ３４に進み、選択部８５が、注目マクロブロックと下隣接マクロブロックのＤＣＴタイプを判定する。
【０４３２】
ステップＳ３４において、注目マクロブロックと下隣接マクロブロックのＤＣＴタイプが、いずれもフレームＤＣＴであると判定された場合、ステップＳ３５に進み、選択部８５は、図２７Ａで説明したように、下隣接マクロブロックＭＢDの左上のブロックＢDULにおける最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０４３３】
即ち、注目ブロックが、注目マクロブロックの左下のブロックＢNDLである場合において、注目マクロブロックと下隣接マクロブロックが、いずれもフレーム構造であるときには、下隣接１次元ＤＣＴ係数は、図２７Ａで説明したように、下隣接マクロブロックＭＢDの左上のブロックＢDULにおける最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢDULの第１行の水平１次元ＤＣＴ係数である。ブロックＢDULの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ３５において、メモリ８１から、ブロックＢDULの第１行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０４３４】
また、ステップＳ３４において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであり、下隣接マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ３６に進み、選択部８５は、図２７Ｂで説明したように、下隣接マクロブロックＭＢDの左上のブロックＢDULの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０４３５】
即ち、注目ブロックが、注目マクロブロックの左下のブロックＢNDLである場合において、注目マクロブロックがフレーム構造であり、下隣接マクロブロックがフィールド構造であるときには、下隣接１次元ＤＣＴ係数は、図２７Ｂで説明したように、下隣接マクロブロックＭＢDの左上のブロックＢDULにおける最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢDULの第１行の水平１次元ＤＣＴ係数である。ブロックＢDULの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ３６において、メモリ８１から、ブロックＢDULの第１行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０４３６】
また、ステップＳ３４において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであり、下隣接マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ３７に進み、選択部８５は、図２７Ｃで説明したように、下隣接マクロブロックＭＢDの左上のブロックＢDULの第２行目の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０４３７】
即ち、注目ブロックが、注目マクロブロックの左下のブロックＢNDLである場合において、注目マクロブロックがフィールド構造であり、下隣接マクロブロックがフレーム構造であるときには、下隣接１次元ＤＣＴ係数は、図２７Ｃで説明したように、下隣接マクロブロックＭＢDの左上のブロックＢDULの第２行目の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢDULの第２行の水平１次元ＤＣＴ係数である。ブロックＢDULの第２行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ３７において、メモリ８１から、ブロックＢDULの第２行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０４３８】
また、ステップＳ３４において、注目マクロブロックと下隣接マクロブロックのＤＣＴタイプが、いずれもフィールドＤＣＴであると判定された場合、ステップＳ３８に進み、選択部８５は、図２７Ｄで説明したように、下隣接マクロブロックＭＢDの左下のブロックＢDDLの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０４３９】
即ち、注目ブロックが、注目マクロブロックの左下のブロックＢNDLである場合において、注目マクロブロックと下隣接マクロブロックが、いずれもフィールド構造であるときには、下隣接１次元ＤＣＴ係数は、図２７Ｄで説明したように、下隣接マクロブロックＭＢDの左下のブロックＢDDLの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢDDLの第１行の水平１次元ＤＣＴ係数である。ブロックＢDDLの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ３８において、メモリ８１から、ブロックＢDDLの第１行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０４４０】
ステップＳ３５乃至Ｓ３８の処理後は、いずれも、ステップＳ３９に進み、サンプリング部８３および選択部８５が、注目マクロブロックと左隣接マクロブロックのＤＣＴタイプを判定する。
【０４４１】
ステップＳ３９において、注目マクロブロックと左隣接マクロブロックのＤＣＴタイプが、いずれもフレームＤＣＴであると判定された場合、ステップＳ４０に進み、選択部８５は、図２８Ａで説明したように、左隣接マクロブロックＭＢLの右下のブロックＢLDRの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、左隣接１次元ＤＣＴ係数として取得する。
【０４４２】
即ち、注目ブロックが、注目マクロブロックの左下のブロックＢNDLである場合において、注目マクロブロックと左隣接マクロブロックが、いずれもフレーム構造であるときには、左隣接１次元ＤＣＴ係数は、図２８Ａで説明したように、左隣接マクロブロックＭＢLの右下のブロックＢLDRの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数である。ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ４０において、メモリ８１から、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数を読み出して選択し、左隣接１次元ＤＣＴ係数として出力する。
【０４４３】
また、ステップＳ３９において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであり、左隣接マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ４１乃至Ｓ４３に順次進み、選択部８５は、図２８Ｂで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の下４画素と、その右下のブロックＢLDRにおける最右列の下４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、左隣接１次元ＤＣＴ係数として取得する。
【０４４４】
即ち、注目ブロックが、注目マクロブロックの左下のブロックＢNDLである場合において、注目マクロブロックがフレーム構造であり、左隣接マクロブロックがフィールド構造であるときには、左隣接１次元ＤＣＴ係数は、図２８Ｂで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の上４画素と、その右下のブロックＢLDRにおける最右列の上４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数となるが、このような垂直１次元ＤＣＴ係数は、メモリ８１に存在しない。
【０４４５】
そこで、サンプリング部８３は、ブロックＢLURの第８列の垂直１次元ＤＣＴ係数と、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数の垂直１次元逆ＤＣＴ変換を、垂直１次元逆ＤＣＴ変換部８２に要求する。
【０４４６】
垂直１次元逆ＤＣＴ変換部８２は、サンプリング部８３からの要求に応じ、ステップＳ４１において、ブロックＢLURの第８列の垂直１次元ＤＣＴ係数と、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数を、メモリ８１から読み出し、垂直１次元逆ＤＣＴ変換を施す。これにより、垂直１次元逆ＤＣＴ変換部８２は、ブロックＢLURの第８列の８画素と、ブロックＢLDRの第８列の８画素を得て、サンプリング部８３に供給し、ステップＳ４２に進む。
【０４４７】
ステップＳ４２では、サンプリング部８３は、垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢLURの第８列の８画素のうちの下４画素をサンプリングするとともに、同じく垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢLDRの第８列の８画素のうちの下４画素をサンプリングし、ブロックＢLURの第８列からサンプリングした上４画素を奇数行（トップフィールド）に配置するとともに、ブロックＢLDRの第８列からサンプリングした上４画素を偶数行（ボトムフィールド）に配置することにより、注目マクロブロックと同一のフレーム構造とした垂直方向に並ぶ８画素を、垂直１次元ＤＣＴ変換部８４に供給する。
【０４４８】
垂直１次元ＤＣＴ変換部８４は、サンプリング部８３でサンプリングされた８画素を受信すると、ステップＳ４３において、その８画素を、垂直１次元ＤＣＴ変換し、これにより、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の上４画素と、その右下のブロックＢLDRにおける最右列の上４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を得て、選択部８５に供給する。選択部８５は、垂直１次元ＤＣＴ変換部８４から供給される垂直１次元ＤＣＴ係数を選択し、左隣接１次元ＤＣＴ係数として出力する。
【０４４９】
また、ステップＳ３９において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであり、左隣接マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ４４乃至Ｓ４６に順次進み、選択部８５は、図２８Ｃで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の偶数行の４画素と、その右下のブロックＢLDRにおける偶数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、左隣接１次元ＤＣＴ係数として取得する。
【０４５０】
即ち、注目ブロックが、注目マクロブロックの左下のブロックＢNDLである場合において、注目マクロブロックがフィールド構造であり、左隣接マクロブロックがフレーム構造であるときには、左隣接１次元ＤＣＴ係数は、図２８Ｃで説明したように、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の偶数行の４画素と、その右下のブロックＢLDRにおける偶数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数となるが、そのような垂直１次元ＤＣＴ係数は、メモリ８１に存在しない。
【０４５１】
そこで、サンプリング部８３は、ブロックＢLURの第８列の垂直１次元ＤＣＴ係数と、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数の垂直１次元逆ＤＣＴ変換を、垂直１次元逆ＤＣＴ変換部８２に要求する。
【０４５２】
垂直１次元逆ＤＣＴ変換部８２は、サンプリング部８３からの要求に応じ、ステップＳ４４において、ブロックＢLURの第８列の垂直１次元ＤＣＴ係数と、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数を、メモリ８１から読み出し、垂直１次元逆ＤＣＴ変換を施す。これにより、垂直１次元逆ＤＣＴ変換部８２は、ブロックＢLURの第８列の８画素と、ブロックＢLDRの第８列の８画素を得て、サンプリング部８３に供給し、ステップＳ４５に進む。
【０４５３】
ステップＳ４５では、サンプリング部８３は、垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢLURの第８列の８画素のうちの偶数行の４画素をサンプリングするとともに、同じく垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢLDRの第８列の８画素のうちの偶数行の４画素をサンプリングし、ブロックＢLURの第８列からサンプリングした偶数行の４画素を上側に配置するとともに、ブロックＢLDRの第８列からサンプリングした偶数行の４画素を下側に配置することにより、注目マクロブロックと同一のフィールド（ボトムフィールド）構造とした垂直方向に並ぶ８画素を、垂直１次元ＤＣＴ変換部８４に供給する。
【０４５４】
垂直１次元ＤＣＴ変換部８４は、サンプリング部８３でサンプリングされた８画素を受信すると、ステップＳ４６において、その８画素を、垂直１次元ＤＣＴ変換し、これにより、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の偶数行の４画素と、その右下のブロックＢLDRにおける偶数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を得て、選択部８５に供給する。選択部８５は、垂直１次元ＤＣＴ変換部８４から供給される垂直１次元ＤＣＴ係数を選択し、左隣接１次元ＤＣＴ係数として出力する。
【０４５５】
また、ステップＳ３９において、注目マクロブロックと左隣接マクロブロックのＤＣＴタイプが、いずれもフィールドＤＣＴであると判定された場合、ステップＳ４７に進み、選択部８５は、図２８Ｄで説明したように、左隣接マクロブロックＭＢLの右下のブロックＢLDRの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、左隣接１次元ＤＣＴ係数として取得する。
【０４５６】
即ち、注目ブロックが、注目マクロブロックの左下のブロックＢNDLである場合において、注目マクロブロックと左隣接マクロブロックが、いずれもフィールド構造であるときには、左隣接１次元ＤＣＴ係数は、図２８Ｄで説明したように、左隣接マクロブロックＭＢLの右下のブロックＢLDRの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数である。ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ４７において、メモリ８１から、ブロックＢLDRの第８列の垂直１次元ＤＣＴ係数を読み出して選択し、左隣接１次元ＤＣＴ係数として出力する。
【０４５７】
ステップＳ４０，Ｓ４３，Ｓ４６、およびＳ４７の処理後は、いずれも、ステップＳ４８に進み、選択部８５は、図２９で説明したように、注目ブロックＢNDLの右隣のブロックＢNDRの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、右隣接１次元ＤＣＴ係数として取得する。
【０４５８】
即ち、注目ブロックが、注目マクロブロックの左下のブロックＢNDLである場合には、右隣接１次元ＤＣＴ係数は、図２９で説明したように、注目ブロックＢNDLの右隣のブロックＢNDRの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢNDRの第１列の垂直１次元ＤＣＴ係数である。ブロックＢNDRの第１列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ４８において、メモリ８１から、ブロックＢNDRの第１列の垂直１次元ＤＣＴ係数を読み出して選択し、右隣接垂直１次元ＤＣＴ係数として出力して、左下ブロック処理を終了する。
【０４５９】
次に、図４１は、図３８の隣接１次元ＤＣＴ係数選択／変換部３２が行う右上ブロック処理を示すフローチャートである。
【０４６０】
右上ブロック処理では、注目マクロブロックの右上のブロックＢNURについて、上隣接１次元ＤＣＴ係数、下隣接１次元ＤＣＴ係数、左隣接１次元ＤＣＴ係数、右隣接１次元ＤＣＴ係数が取得される。
【０４６１】
即ち、右上ブロック処理では、まず最初に、ステップＳ５１において、選択部８５が、注目マクロブロックと上隣接マクロブロックのＤＣＴタイプを判定する。
【０４６２】
ステップＳ５１において、注目マクロブロックと上隣接マクロブロックのＤＣＴタイプが、いずれもフレームＤＣＴであると判定された場合、ステップＳ５２に進み、選択部８５は、図３０Ａで説明したように、上隣接マクロブロックＭＢUの右下のブロックＢUDRにおける最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０４６３】
即ち、注目ブロックが、注目マクロブロックの右上のブロックＢNURである場合において、注目マクロブロックと上隣接マクロブロックが、いずれもフレーム構造であるときには、上隣接１次元ＤＣＴ係数は、図３０Ａで説明したように、上隣接マクロブロックＭＢUの右下のブロックＢUDRにおける最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢUDRの第８行の水平１次元ＤＣＴ係数である。ブロックＢUDRの第８行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ５２において、メモリ８１から、ブロックＢUDRの第８行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０４６４】
また、ステップＳ５１において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであり、上隣接マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ５３に進み、選択部８５は、図３０Ｂで説明したように、上隣接マクロブロックＭＢUの右下のブロックＢUDRの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０４６５】
即ち、注目ブロックが、注目マクロブロックの右上のブロックＢNURである場合において、注目マクロブロックがフレーム構造であり、上隣接マクロブロックがフィールド構造であるときには、上隣接１次元ＤＣＴ係数は、図３０Ｂで説明したように、上隣接マクロブロックＭＢUの右下のブロックＢUDRにおける最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢUDRの第８行の水平１次元ＤＣＴ係数である。ブロックＢUDRの第８行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ５３において、メモリ８１から、ブロックＢUDRの第８行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０４６６】
また、ステップＳ５１において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであり、上隣接マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ５４に進み、選択部８５は、図３０Ｃで説明したように、上隣接マクロブロックＭＢUの右下のブロックＢUDRの第７行目の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０４６７】
即ち、注目ブロックが、注目マクロブロックの右上のブロックＢNURである場合において、注目マクロブロックがフィールド構造であり、上隣接マクロブロックがフレーム構造であるときには、上隣接１次元ＤＣＴ係数は、図３０Ｃで説明したように、上隣接マクロブロックＭＢUの右下のブロックＢUDRの第７行目の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢUDRの第７行の水平１次元ＤＣＴ係数である。ブロックＢUDRの第７行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ５４において、メモリ８１から、ブロックＢUDRの第７行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０４６８】
また、ステップＳ５１において、注目マクロブロックと上隣接マクロブロックのＤＣＴタイプが、いずれもフィールドＤＣＴであると判定された場合、ステップＳ５５に進み、選択部８５は、図３０Ｄで説明したように、上隣接マクロブロックＭＢUの右上のブロックＢUURの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０４６９】
即ち、注目ブロックが、注目マクロブロックの右上のブロックＢNURである場合において、注目マクロブロックと上隣接マクロブロックが、いずれもフィールド構造であるときには、上隣接１次元ＤＣＴ係数は、図３０Ｄで説明したように、上隣接マクロブロックＭＢUの右上のブロックＢUURの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢUULの第８行の水平１次元ＤＣＴ係数である。ブロックＢUURの第８行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ５５において、メモリ８１から、ブロックＢUURの第８行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０４７０】
ステップＳ５２乃至Ｓ５５の処理後は、いずれも、ステップＳ５６に進み、選択部８５が、注目マクロブロックのＤＣＴタイプを判定する。
【０４７１】
ステップＳ５６において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ５７に進み、選択部８５は、図３１Ａで説明したように、注目マクロブロックＭＢNの右下のブロックＢNDRの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０４７２】
即ち、注目ブロックが、注目マクロブロックの右上のブロックＢNURである場合において、注目マクロブロックがフレーム構造であるときには、下隣接１次元ＤＣＴ係数は、図３１Ａで説明したように、注目マクロブロックＭＢNの右下のブロックＢNDRの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢNDRの第１行の水平１次元ＤＣＴ係数である。ブロックＢNDRの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ５７において、メモリ８１から、ブロックＢNDRの第１行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０４７３】
また、ステップＳ５６において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ５８に進み、選択部８５は、図３１Ｂで説明したように、下隣接マクロブロックＭＢDの右上のブロックＢDURの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０４７４】
即ち、注目ブロックが、注目マクロブロックの右上のブロックＢNURである場合において、注目マクロブロックがフィールド構造であるときには、下隣接１次元ＤＣＴ係数は、図３１Ｂで説明したように、下隣接マクロブロックＭＢDの右上のブロックＢDURの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢDURの第１行の水平１次元ＤＣＴ係数である。ブロックＢDURの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ５８において、メモリ８１から、ブロックＢDURの第１行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０４７５】
ステップＳ５７およびＳ５８の処理後は、いずれも、ステップＳ５９に進み、サンプリング部８３および選択部８５が、注目マクロブロックと右隣接マクロブロックのＤＣＴタイプを判定する。
【０４７６】
ステップＳ５９において、注目マクロブロックと右隣接マクロブロックのＤＣＴタイプが、いずれもフレームＤＣＴであると判定された場合、ステップＳ６０に進み、選択部８５は、図３３Ａで説明したように、右隣接マクロブロックＭＢRの左上のブロックＢRULの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、右隣接１次元ＤＣＴ係数として取得する。
【０４７７】
即ち、注目ブロックが、注目マクロブロックの右上のブロックＢNURである場合において、注目マクロブロックと右隣接マクロブロックが、いずれもフレーム構造であるときには、右隣接１次元ＤＣＴ係数は、図３３Ａで説明したように、右隣接マクロブロックＭＢRの左上のブロックＢRULの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数である。ブロックＢRULの第１列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ６０において、メモリ８１から、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数を読み出して選択し、右隣接１次元ＤＣＴ係数として出力する。
【０４７８】
また、ステップＳ５９において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであり、右隣接マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ６１乃至Ｓ６３に順次進み、選択部８５は、図３３Ｂで説明したように、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の上４画素と、その左下のブロックＢRDLにおける最左列の上４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、右隣接１次元ＤＣＴ係数として取得する。
【０４７９】
即ち、注目ブロックが、注目マクロブロックの右上のブロックＢNURである場合において、注目マクロブロックがフレーム構造であり、右隣接マクロブロックがフィールド構造であるときには、右隣接１次元ＤＣＴ係数は、図３３Ｂで説明したように、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の上４画素と、その左下のブロックＢRDLにおける最左列の上４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数となるが、このような垂直１次元ＤＣＴ係数は、メモリ８１に存在しない。
【０４８０】
そこで、サンプリング部８３は、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数と、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数の垂直１次元逆ＤＣＴ変換を、垂直１次元逆ＤＣＴ変換部８２に要求する。
【０４８１】
垂直１次元逆ＤＣＴ変換部８２は、サンプリング部８３からの要求に応じ、ステップＳ６１において、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数と、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数を、メモリ８１から読み出し、垂直１次元逆ＤＣＴ変換を施す。これにより、垂直１次元逆ＤＣＴ変換部８２は、ブロックＢRULの第１列の８画素と、ブロックＢRDLの第１列の８画素を得て、サンプリング部８３に供給し、ステップＳ６２に進む。
【０４８２】
ステップＳ６２では、サンプリング部８３は、垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢRULの第１列の８画素のうちの上４画素をサンプリングするとともに、同じく垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢRDLの第１列の８画素のうちの上４画素をサンプリングし、ブロックＢRULの第１列からサンプリングした上４画素を奇数行（トップフィールド）に配置するとともに、ブロックＢRDLの第１列からサンプリングした上４画素を偶数行（ボトムフィールド）に配置することにより、注目マクロブロックと同一のフレーム構造とした垂直方向に並ぶ８画素を、垂直１次元ＤＣＴ変換部８４に供給する。
【０４８３】
垂直１次元ＤＣＴ変換部８４は、サンプリング部８３でサンプリングされた８画素を受信すると、ステップＳ６３において、その８画素を、垂直１次元ＤＣＴ変換し、これにより、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の上４画素と、その左下のブロックＢRDLにおける最左列の上４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を得て、選択部８５に供給する。選択部８５は、垂直１次元ＤＣＴ変換部８４から供給される垂直１次元ＤＣＴ係数を選択し、右隣接１次元ＤＣＴ係数として出力する。
【０４８４】
また、ステップＳ５９において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであり、右隣接マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ６４乃至Ｓ６６に順次進み、選択部８５は、図３３Ｃで説明したように、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の奇数行の４画素と、その左下のブロックＢRDLにおける奇数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、右隣接１次元ＤＣＴ係数として取得する。
【０４８５】
即ち、注目ブロックが、注目マクロブロックの右上のブロックＢNURである場合において、注目マクロブロックがフィールド構造であり、右隣接マクロブロックがフレーム構造であるときには、右隣接１次元ＤＣＴ係数は、図３３Ｃで説明したように、右隣接マクロブロックＭＢLの左上のブロックＢRULにおける最左列の奇数行の４画素と、その左下のブロックＢRDLにおける奇数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数となるが、そのような垂直１次元ＤＣＴ係数は、メモリ８１に存在しない。
【０４８６】
そこで、サンプリング部８３は、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数と、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数の垂直１次元逆ＤＣＴ変換を、垂直１次元逆ＤＣＴ変換部８２に要求する。
【０４８７】
垂直１次元逆ＤＣＴ変換部８２は、サンプリング部８３からの要求に応じ、ステップＳ６４において、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数と、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数を、メモリ８１から読み出し、垂直１次元逆ＤＣＴ変換を施す。これにより、垂直１次元逆ＤＣＴ変換部８２は、ブロックＢRULの第１列の８画素と、ブロックＢRDLの第１列の８画素を得て、サンプリング部８３に供給し、ステップＳ６５に進む。
【０４８８】
ステップＳ６５では、サンプリング部８３は、垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢRULの第１列の８画素のうちの奇数行の４画素をサンプリングするとともに、同じく垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢRDLの第１列の８画素のうちの奇数行の４画素をサンプリングし、ブロックＢRULの第１列からサンプリングした奇数行の４画素を上側に配置するとともに、ブロックＢRDLの第１列からサンプリングした奇数行の４画素を下側に配置することにより、注目マクロブロックと同一のフィールド（トップフィールド）構造とした垂直方向に並ぶ８画素を、垂直１次元ＤＣＴ変換部８４に供給する。
【０４８９】
垂直１次元ＤＣＴ変換部８４は、サンプリング部８３でサンプリングされた８画素を受信すると、ステップＳ６６において、その８画素を、垂直１次元ＤＣＴ変換し、これにより、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の奇数行の４画素と、その左下のブロックＢRDLにおける奇数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を得て、選択部８５に供給する。選択部８５は、垂直１次元ＤＣＴ変換部８４から供給される垂直１次元ＤＣＴ係数を選択し、右隣接１次元ＤＣＴ係数として出力する。
【０４９０】
また、ステップＳ５９において、注目マクロブロックと右隣接マクロブロックのＤＣＴタイプが、いずれもフィールドＤＣＴであると判定された場合、ステップＳ６７に進み、選択部８５は、図３３Ｄで説明したように、右隣接マクロブロックＭＢRの左上のブロックＢRULの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、右隣接１次元ＤＣＴ係数として取得する。
【０４９１】
即ち、注目ブロックが、注目マクロブロックの右上のブロックＢNURである場合において、注目マクロブロックと右隣接マクロブロックが、いずれもフィールド構造であるときには、右隣接１次元ＤＣＴ係数は、図３３Ｄで説明したように、右隣接マクロブロックＭＢRの左上のブロックＢRULの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数である。ブロックＢRULの第１列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ６７において、メモリ８１から、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数を読み出して選択し、右隣接１次元ＤＣＴ係数として出力する。
【０４９２】
ステップＳ６０，Ｓ６３，Ｓ６６、およびＳ６７の処理後は、いずれも、ステップＳ６８に進み、選択部８５は、図３２で説明したように、注目ブロックＢNURの左隣のブロックＢNULの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、左隣接１次元ＤＣＴ係数として取得する。
【０４９３】
即ち、注目ブロックが、注目マクロブロックの右上のブロックＢNURである場合には、左隣接１次元ＤＣＴ係数は、図３２で説明したように、注目ブロックＢNURの左隣のブロックＢNULの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢNULの第８列の垂直１次元ＤＣＴ係数である。ブロックＢNURの第８列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ６８において、メモリ８１から、ブロックＢNULの第８列の垂直１次元ＤＣＴ係数を読み出して選択し、左隣接垂直１次元ＤＣＴ係数として出力して、右上ブロック処理を終了する。
【０４９４】
次に、図４２は、図３８の隣接１次元ＤＣＴ係数選択／変換部３２が行う右下ブロック処理を示すフローチャートである。
【０４９５】
右下ブロック処理では、注目マクロブロックの右下のブロックＢNDRについて、上隣接１次元ＤＣＴ係数、下隣接１次元ＤＣＴ係数、左隣接１次元ＤＣＴ係数、右隣接１次元ＤＣＴ係数が取得される。
【０４９６】
即ち、右下ブロック処理では、まず最初に、ステップＳ７１において、選択部８５が、注目マクロブロックのＤＣＴタイプを判定する。
【０４９７】
ステップＳ７１において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ７２に進み、選択部８５は、図３４Ａで説明したように、注目マクロブロックＭＢNの右上のブロックＢNURの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０４９８】
即ち、注目ブロックが、注目マクロブロックの右下のブロックＢNDRである場合において、注目マクロブロックがフレーム構造であるときには、上隣接１次元ＤＣＴ係数は、図３４Ａで説明したように、注目マクロブロックＭＢNの右上のブロックＢNURの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢNURの第８行の水平１次元ＤＣＴ係数である。ブロックＢNURの第８行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ７２において、メモリ８１から、ブロックＢNURの第８行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０４９９】
また、ステップＳ７１において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ７３に進み、選択部８５は、図３４Ｂで説明したように、上隣接マクロブロックＭＢUの右下のブロックＢUDRの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、上隣接１次元ＤＣＴ係数として取得する。
【０５００】
即ち、注目ブロックが、注目マクロブロックの右下のブロックＢNDRである場合において、注目マクロブロックがフィールド構造であるときには、上隣接１次元ＤＣＴ係数は、図３４Ｂで説明したように、上隣接マクロブロックＭＢUの右下のブロックＢUDRの最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢUDRの第８行の水平１次元ＤＣＴ係数である。ブロックＢUDRの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ７３において、メモリ８１から、ブロックＢUDRの第８行の水平１次元ＤＣＴ係数を読み出して選択し、上隣接１次元ＤＣＴ係数として出力する。
【０５０１】
ステップＳ７２およびＳ７３の処理後は、いずれも、ステップＳ７４に進み、選択部８５が、注目マクロブロックと下隣接マクロブロックのＤＣＴタイプを判定する。
【０５０２】
ステップＳ７４において、注目マクロブロックと下隣接マクロブロックのＤＣＴタイプが、いずれもフレームＤＣＴであると判定された場合、ステップＳ７５に進み、選択部８５は、図３５Ａで説明したように、下隣接マクロブロックＭＢDの右上のブロックＢDURにおける最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０５０３】
即ち、注目ブロックが、注目マクロブロックの右下のブロックＢNDRである場合において、注目マクロブロックと下隣接マクロブロックが、いずれもフレーム構造であるときには、下隣接１次元ＤＣＴ係数は、図３５Ａで説明したように、下隣接マクロブロックＭＢDの右上のブロックＢDURにおける最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢDURの第１行の水平１次元ＤＣＴ係数である。ブロックＢDURの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ７５において、メモリ８１から、ブロックＢDURの第１行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０５０４】
また、ステップＳ７４において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであり、下隣接マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ７６に進み、選択部８５は、図３５Ｂで説明したように、下隣接マクロブロックＭＢDの右上のブロックＢDURの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０５０５】
即ち、注目ブロックが、注目マクロブロックの右下のブロックＢNDRである場合において、注目マクロブロックがフレーム構造であり、下隣接マクロブロックがフィールド構造であるときには、下隣接１次元ＤＣＴ係数は、図３５Ｂで説明したように、下隣接マクロブロックＭＢDの右上のブロックＢDURにおける最下行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢDURの第１行の水平１次元ＤＣＴ係数である。ブロックＢDURの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ７６において、メモリ８１から、ブロックＢDURの第１行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０５０６】
また、ステップＳ７４において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであり、下隣接マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ７７に進み、選択部８５は、図３５Ｃで説明したように、下隣接マクロブロックＭＢDの右上のブロックＢDURの第２行目の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０５０７】
即ち、注目ブロックが、注目マクロブロックの右下のブロックＢNDRである場合において、注目マクロブロックがフィールド構造であり、下隣接マクロブロックがフレーム構造であるときには、下隣接１次元ＤＣＴ係数は、図３５Ｃで説明したように、下隣接マクロブロックＭＢDの右上のブロックＢDURの第２行目の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢDURの第２行の水平１次元ＤＣＴ係数である。ブロックＢDURの第２行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ７７において、メモリ８１から、ブロックＢDURの第２行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０５０８】
また、ステップＳ７４において、注目マクロブロックと下隣接マクロブロックのＤＣＴタイプが、いずれもフィールドＤＣＴであると判定された場合、ステップＳ７８に進み、選択部８５は、図３５Ｄで説明したように、下隣接マクロブロックＭＢDの右下のブロックＢDDRの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数を、下隣接１次元ＤＣＴ係数として取得する。
【０５０９】
即ち、注目ブロックが、注目マクロブロックの右下のブロックＢNDRである場合において、注目マクロブロックと下隣接マクロブロックが、いずれもフィールド構造であるときには、下隣接１次元ＤＣＴ係数は、図３５Ｄで説明したように、下隣接マクロブロックＭＢDの右下のブロックＢDDRの最上行の８画素を水平１次元ＤＣＴ変換した水平１次元ＤＣＴ係数であり、この水平１次元ＤＣＴ係数は、ブロックＢDDRの第１行の水平１次元ＤＣＴ係数である。ブロックＢDDRの第１行の水平１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ７８において、メモリ８１から、ブロックＢDDRの第１行の水平１次元ＤＣＴ係数を読み出して選択し、下隣接１次元ＤＣＴ係数として出力する。
【０５１０】
ステップＳ７５乃至Ｓ７８の処理後は、いずれも、ステップＳ７９に進み、サンプリング部８３および選択部８５が、注目マクロブロックと左隣接マクロブロックのＤＣＴタイプを判定する。
【０５１１】
ステップＳ７９において、注目マクロブロックと左隣接マクロブロックのＤＣＴタイプが、いずれもフレームＤＣＴであると判定された場合、ステップＳ８０に進み、選択部８５は、図３７Ａで説明したように、右隣接マクロブロックＭＢRの左下のブロックＢRDLの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、右隣接１次元ＤＣＴ係数として取得する。
【０５１２】
即ち、注目ブロックが、注目マクロブロックの右下のブロックＢNDRである場合において、注目マクロブロックと右隣接マクロブロックが、いずれもフレーム構造であるときには、右隣接１次元ＤＣＴ係数は、図３７Ａで説明したように、右隣接マクロブロックＭＢRの左下のブロックＢRDLの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数である。ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ８０において、メモリ８１から、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数を読み出して選択し、右隣接１次元ＤＣＴ係数として出力する。
【０５１３】
また、ステップＳ７９において、注目マクロブロックのＤＣＴタイプがフレームＤＣＴであり、右隣接マクロブロックのＤＣＴタイプがフィールドＤＣＴであると判定された場合、ステップＳ８１乃至Ｓ８３に順次進み、選択部８５は、図３７Ｂで説明したように、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の下４画素と、その左下のブロックＢRDLにおける最左列の下４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、右隣接１次元ＤＣＴ係数として取得する。
【０５１４】
即ち、注目ブロックが、注目マクロブロックの右下のブロックＢNDRである場合において、注目マクロブロックがフレーム構造であり、右隣接マクロブロックがフィールド構造であるときには、右隣接１次元ＤＣＴ係数は、図３７Ｂで説明したように、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の下４画素と、その左下のブロックＢRDLにおける最左列の下４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数となるが、このような垂直１次元ＤＣＴ係数は、メモリ８１に存在しない。
【０５１５】
そこで、サンプリング部８３は、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数と、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数の垂直１次元逆ＤＣＴ変換を、垂直１次元逆ＤＣＴ変換部８２に要求する。
【０５１６】
垂直１次元逆ＤＣＴ変換部８２は、サンプリング部８３からの要求に応じ、ステップＳ８１において、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数と、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数を、メモリ８１から読み出し、垂直１次元逆ＤＣＴ変換を施す。これにより、垂直１次元逆ＤＣＴ変換部８２は、ブロックＢRULの第１列の８画素と、ブロックＢRDLの第１列の８画素を得て、サンプリング部８３に供給し、ステップＳ８２に進む。
【０５１７】
ステップＳ８２では、サンプリング部８３は、垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢRULの第１列の８画素のうちの下４画素をサンプリングするとともに、同じく垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢRDLの第１列の８画素のうちの下４画素をサンプリングし、ブロックＢRULの第１列からサンプリングした上４画素を奇数行（トップフィールド）に配置するとともに、ブロックＢRDLの第１列からサンプリングした上４画素を偶数行（ボトムフィールド）に配置することにより、注目マクロブロックと同一のフレーム構造とした垂直方向に並ぶ８画素を、垂直１次元ＤＣＴ変換部８４に供給する。
【０５１８】
垂直１次元ＤＣＴ変換部８４は、サンプリング部８３でサンプリングされた８画素を受信すると、ステップＳ８３において、その８画素を、垂直１次元ＤＣＴ変換し、これにより、右隣接マクロブロックＭＢLの左上のブロックＢRULにおける最左列の下４画素と、その左下のブロックＢRDLにおける最左列の下４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を得て、選択部８５に供給する。選択部８５は、垂直１次元ＤＣＴ変換部８４から供給される垂直１次元ＤＣＴ係数を選択し、右隣接１次元ＤＣＴ係数として出力する。
【０５１９】
また、ステップＳ７９において、注目マクロブロックのＤＣＴタイプがフィールドＤＣＴであり、右隣接マクロブロックのＤＣＴタイプがフレームＤＣＴであると判定された場合、ステップＳ８４乃至Ｓ８６に順次進み、選択部８５は、図３７Ｃで説明したように、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の偶数行の４画素と、その左下のブロックＢRDLにおける偶数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、右隣接１次元ＤＣＴ係数として取得する。
【０５２０】
即ち、注目ブロックが、注目マクロブロックの右下のブロックＢNDRである場合において、注目マクロブロックがフィールド構造であり、右隣接マクロブロックがフレーム構造であるときには、右隣接１次元ＤＣＴ係数は、図３７Ｃで説明したように、右隣接マクロブロックＭＢLの左上のブロックＢRULにおける最左列の偶数行の４画素と、その左下のブロックＢRDLにおける偶数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数となるが、そのような垂直１次元ＤＣＴ係数は、メモリ８１に存在しない。
【０５２１】
そこで、サンプリング部８３は、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数と、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数の垂直１次元逆ＤＣＴ変換を、垂直１次元逆ＤＣＴ変換部８２に要求する。
【０５２２】
垂直１次元逆ＤＣＴ変換部８２は、サンプリング部８３からの要求に応じ、ステップＳ８４において、ブロックＢRULの第１列の垂直１次元ＤＣＴ係数と、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数を、メモリ８１から読み出し、垂直１次元逆ＤＣＴ変換を施す。これにより、垂直１次元逆ＤＣＴ変換部８２は、ブロックＢRULの第１列の８画素と、ブロックＢRDLの第１列の８画素を得て、サンプリング部８３に供給し、ステップＳ８５に進む。
【０５２３】
ステップＳ８５では、サンプリング部８３は、垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢRULの第１列の８画素のうちの偶数行の４画素をサンプリングするとともに、同じく垂直１次元逆ＤＣＴ変換部８２から供給されるブロックＢRDLの第１列の８画素のうちの偶数行の４画素をサンプリングし、ブロックＢRULの第１列からサンプリングした偶数行の４画素を上側に配置するとともに、ブロックＢRDLの第１列からサンプリングした偶数行の４画素を下側に配置することにより、注目マクロブロックと同一のフィールド（ボトムフィールド）構造とした垂直方向に並ぶ８画素を、垂直１次元ＤＣＴ変換部８４に供給する。
【０５２４】
垂直１次元ＤＣＴ変換部８４は、サンプリング部８３でサンプリングされた８画素を受信すると、ステップＳ８６において、その８画素を、垂直１次元ＤＣＴ変換し、これにより、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の偶数行の４画素と、その左下のブロックＢRDLにおける偶数行の４画素の合計８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を得て、選択部８５に供給する。選択部８５は、垂直１次元ＤＣＴ変換部８４から供給される垂直１次元ＤＣＴ係数を選択し、右隣接１次元ＤＣＴ係数として出力する。
【０５２５】
また、ステップＳ７９において、注目マクロブロックと右隣接マクロブロックのＤＣＴタイプが、いずれもフィールドＤＣＴであると判定された場合、ステップＳ８７に進み、選択部８５は、図３７Ｄで説明したように、右隣接マクロブロックＭＢRの左下のブロックＢRDLの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、右隣接１次元ＤＣＴ係数として取得する。
【０５２６】
即ち、注目ブロックが、注目マクロブロックの右下のブロックＢNDRである場合において、注目マクロブロックと右隣接マクロブロックが、いずれもフィールド構造であるときには、右隣接１次元ＤＣＴ係数は、図３７Ｄで説明したように、右隣接マクロブロックＭＢRの左下のブロックＢRDLの最左列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数である。ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ８７において、メモリ８１から、ブロックＢRDLの第１列の垂直１次元ＤＣＴ係数を読み出して選択し、右隣接１次元ＤＣＴ係数として出力する。
【０５２７】
ステップＳ８０，Ｓ８３，Ｓ８６、およびＳ８７の処理後は、いずれも、ステップＳ８８に進み、選択部８５は、図３６で説明したように、注目ブロックＢNDRの左隣のブロックＢNDLの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数を、左隣接１次元ＤＣＴ係数として取得する。
【０５２８】
即ち、注目ブロックが、注目マクロブロックの右下のブロックＢNDRである場合には、左隣接１次元ＤＣＴ係数は、図３６で説明したように、注目ブロックＢNDRの左隣のブロックＢNDLの最右列の８画素を垂直１次元ＤＣＴ変換した垂直１次元ＤＣＴ係数であり、この垂直１次元ＤＣＴ係数は、ブロックＢNDLの第８列の垂直１次元ＤＣＴ係数である。ブロックＢNDLの第８列の垂直１次元ＤＣＴ係数は、メモリ８１に記憶されており、選択部８５は、ステップＳ８８において、メモリ８１から、ブロックＢNDLの第８列の垂直１次元ＤＣＴ係数を読み出して選択し、左隣接垂直１次元ＤＣＴ係数として出力して、右下ブロック処理を終了する。
【０５２９】
次に、図１９のＡＣパワー算出部３３の処理について説明する。
【０５３０】
ＡＣパワー算出部３３は、上述したように、１次元逆ＤＣＴ係数変換部３１から供給される１次元ＤＣＴ係数の交流成分のパワー（ＡＣパワー）を求めるとともに、隣接１次元ＤＣＴ係数選択／変換部３２から供給される隣接１次元ＤＣＴ係数のＡＣパワーを求めるようになっている。
【０５３１】
即ち、ＡＣパワー算出部３３は、図４３に示すように、注目ブロックにおける注目画素の位置の行の水平１次元ＤＣＴ係数から、水平方向のＡＣパワーを求めるとともに、注目画素の位置の列の垂直１次元ＤＣＴ係数から、垂直方向のＡＣパワーを求める。
【０５３２】
ここで、１次元ＤＣＴ係数の７つの交流成分をＡＣnと表すこととすると（ｎ＝１，２，・・・，７）、ＡＣパワーＰACは、例えば、次式によって計算される。
【０５３３】
ＰAC＝ΣＡＣn2・・・（１８）
【０５３４】
但し、式（１８）において、Σは、変数ｎを１から７に変えてのサメーションを表す。
【０５３５】
また、ＡＣパワー算出部３３は、注目ブロックについての上隣接１次元ＤＣＴ係数、下隣接１次元ＤＣＴ係数、左隣接１次元ＤＣＴ係数、右隣接１次元ＤＣＴ係数それぞれについても、式（１８）にしたがい、ＡＣパワーを求める。なお、上隣接１次元ＤＣＴ係数と下隣接１次元ＤＣＴ係数は、いずれも水平１次元ＤＣＴ係数であり、従って、これらから求められるＡＣパワーは、水平方向のＡＣパワーである。また、左隣接１次元ＤＣＴ係数と右隣接１次元ＤＣＴ係数は、いずれも垂直１次元ＤＣＴ係数であり、従って、これらから求められるＡＣパワーは、垂直方向のＡＣパワーである。
【０５３６】
ＡＣパワー算出部３３は、さらに、注目ブロックの１次元ＤＣＴ係数のうち、その境界に隣接するもの（以下、適宜、境界１次元ＤＣＴ係数という）についても、式（１８）にしたがい、ＡＣパワーを求める。
【０５３７】
即ち、ＡＣパワー算出部３３は、注目ブロックの上側の境界に隣接する第１行の水平１次元ＤＣＴ係数（以下、適宜、上境界１次元ＤＣＴ係数という）から、水平方向のＡＣパワーを求める。さらに、ＡＣパワー算出部３３は、注目ブロックの下側の境界に隣接する第８行の水平１次元ＤＣＴ係数（以下、適宜、下境界１次元ＤＣＴ係数という）から、水平方向のＡＣパワーを求める。また、ＡＣパワー算出部３３は、注目ブロックの左側の境界に隣接する第１列の垂直１次元ＤＣＴ係数（以下、適宜、左境界１次元ＤＣＴ係数という）から、垂直方向のＡＣパワーを求めるとともに、注目ブロックの右側の境界に隣接する第８列の垂直１次元ＤＣＴ係数（以下、適宜、右境界１次元ＤＣＴ係数という）から、垂直方向のＡＣパワーを求める。
【０５３８】
次に、図４４は、以上のようにしてＡＣパワーを求める図１９のＡＣパワー算出部３３の構成例を示している。
【０５３９】
水平１次元ＤＣＴ係数抽出部９１および垂直１次元ＤＣＴ係数抽出部９２には、１次元逆ＤＣＴ変換部３１（図１９）と、隣接１次元ＤＣＴ係数選択／変換部３２から、１次元ＤＣＴ係数が供給されるようになっている。
【０５４０】
水平１次元ＤＣＴ係数抽出部９１は、そこに供給される１次元ＤＣＴ係数から、ＡＣパワーの計算対象とするものを抽出し、水平ＡＣパワー計算部９３に供給する。即ち、水平１次元ＤＣＴ係数抽出部９１は、そこに供給される１次元ＤＣＴ係数から、注目ブロックにおける注目画素の位置の行の水平１次元ＤＣＴ係数、注目ブロックについての上隣接１次元ＤＣＴ係数および下隣接１次元ＤＣＴ係数、並びに注目ブロックの上境界１次元ＤＣＴ係数および下境界１次元ＤＣＴ係数を抽出し、水平ＡＣパワー計算部９３に供給する。
【０５４１】
垂直１次元ＤＣＴ係数抽出部９２には、そこに供給される１次元ＤＣＴ係数から、ＡＣパワーの計算対象とするものを抽出し、垂直ＡＣパワー計算部９４に供給する。即ち、垂直１次元ＤＣＴ係数抽出部９２は、そこに供給される１次元ＤＣＴ係数から、注目ブロックにおける注目画素の位置の列の垂直１次元ＤＣＴ係数、注目ブロックについての左隣接１次元ＤＣＴ係数および右隣接１次元ＤＣＴ係数、並びに注目ブロックの左境界１次元ＤＣＴ係数および右境界１次元ＤＣＴ係数を抽出し、垂直ＡＣパワー計算部９４に供給する。
【０５４２】
水平ＡＣパワー計算部９３は、水平１次元ＤＣＴ係数抽出部９１から供給される水平１次元ＤＣＴ係数から、式（１８）にしたがって、水平方向のＡＣパワーを計算して出力する。即ち、水平ＡＣパワー計算部９３は、注目ブロックにおける注目画素の位置の行の水平１次元ＤＣＴ係数、注目ブロックについての上隣接１次元ＤＣＴ係数および下隣接１次元ＤＣＴ係数、並びに注目ブロックの上境界１次元ＤＣＴ係数および下境界１次元ＤＣＴ係数それぞれから、水平方向のＡＣパワーを計算する。
【０５４３】
垂直ＡＣパワー計算部９４は、垂直１次元ＤＣＴ係数抽出部９２から供給される垂直１次元ＤＣＴ係数から、式（１８）にしたがって、垂直方向のＡＣパワーを計算して出力する。即ち、垂直ＡＣパワー計算部９４は、注目ブロックにおける注目画素の位置の列の垂直１次元ＤＣＴ係数、注目ブロックについての左隣接１次元ＤＣＴ係数および右隣接１次元ＤＣＴ係数、並びに注目ブロックの左境界１次元ＤＣＴ係数および右境界１次元ＤＣＴ係数それぞれから、垂直方向のＡＣパワーを計算する。
【０５４４】
なお、以上のようにして、１次元ＤＣＴ係数から求められるＡＣパワーは、その１次元ＤＣＴ係数に対応する８画素の交流成分の電力と捉えることができ、従って、画像のアクティビティを表す。
【０５４５】
次に、図１９のＡＣ内積計算部３４の処理について説明する。
【０５４６】
ＡＣ内積計算部３４は、上述したように、１次元逆ＤＣＴ係数変換部３１から供給される注目ブロックの境界部分の１次元ＤＣＴ係数（境界１次元ＤＣＴ係数）の交流成分と、隣接１次元ＤＣＴ係数選択／変換部３２から供給される隣接１次元ＤＣＴ係数の交流成分とを、それぞれベクトルのコンポーネントとみなして、その２つのベクトルの内積（ＡＣ内積）を求める。
【０５４７】
即ち、ＡＣ内積計算部３４は、図４５に示すように、注目ブロックについての上境界１次元ＤＣＴ係数の交流成分と、上隣接１次元ＤＣＴ係数の交流成分とを、それぞれベクトルのコンポーネントとみなして、その２つのベクトルのＡＣ内積（以下、上内積という）を、次式にしたがって求める。
【０５４８】
Ｉ＝Σ（ＡＣn×ＡＣn’）・・・（１９）
【０５４９】
但し、式（１９）において、Ｉは、ＡＣ内積を表す。さらに、ＡＣnは、注目ブロックについての上境界１次元ＤＣＴ係数のｎ番目の交流成分を表し、ＡＣn’は、注目ブロックについての上隣接１次元ＤＣＴ係数のｎ番目の交流成分を表す。また、Σは、ｎを１から７に変えてのサメーションを表す。
【０５５０】
ＡＣ内積計算部３４は、注目ブロックについての下境界１次元ＤＣＴ係数と下隣接１次元ＤＣＴ係数、左境界１次元ＤＣＴ係数と左隣接１次元ＤＣＴ係数、または右境界１次元ＤＣＴ係数と右隣接１次元ＤＣＴ係数それぞれについても、式（１９）にしたがい、ＡＣ内積を求める。
【０５５１】
ここで、以下、適宜、注目ブロックについての下境界１次元ＤＣＴ係数と下隣接１次元ＤＣＴ係数とから求められるＡＣ内積を、下内積と、左境界１次元ＤＣＴ係数と左隣接１次元ＤＣＴ係数とから求められるＡＣ内積を、左内積と、右境界１次元ＤＣＴ係数と右隣接１次元ＤＣＴ係数とから求められるＡＣ内積を、右内積と、それぞれいう。
【０５５２】
ＡＣ内積は、注目ブロックの境界を挟む境界１次元ＤＣＴ係数と隣接１次元ＤＣＴ係数の交流成分が類似する場合、即ち、境界１次元ＤＣＴ係数の交流成分をコンポーネントとするベクトルと、隣接１次元ＤＣＴ係数の交流成分をコンポーネントとするベクトルとがつくる角度が９０度未満（以下）である場合に正の値（０以上の値）となる。従って、ＡＣ内積が正の値であることは、注目ブロックの境界を挟む境界１次元ＤＣＴ係数に対応する８画素と、隣接１次元ＤＣＴ係数に対応する８画素の波形パターンが似ていることを表しており、例えば、注目ブロックとそれに隣接するブロックの境界において、その境界を横切る形で連続しているエッジが存在することを表す。
【０５５３】
次に、図４６は、注目ブロックについて、上述のようなＡＣ内積（上内積、下内積、左内積、右内積）を計算する図１９のＡＣ内積計算部３４の構成例を示している。
【０５５４】
１次元逆ＤＣＴ変換部３１と隣接１次元ＤＣＴ係数選択／変換部３２が出力する１次元ＤＣＴ係数は、上内積用１次元ＤＣＴ係数抽出部１０１、下内積用１次元ＤＣＴ係数抽出部１０２、左内積用１次元ＤＣＴ係数抽出部１０３、および右内積用１次元ＤＣＴ係数抽出部１０４に供給されるようになっている。
【０５５５】
上内積用１次元ＤＣＴ係数抽出部１０１は、注目ブロックについて、上内積を計算するのに用いる上境界１次元ＤＣＴ係数と上隣接１次元ＤＣＴ係数を、そこに供給される１次元ＤＣＴ係数から抽出し、上内積演算部１０５に供給する。
【０５５６】
上内積演算部１０５は、上内積用１次元ＤＣＴ係数抽出部１０１から供給される上境界１次元ＤＣＴ係数と上隣接１次元ＤＣＴ係数から、式（１９）にしたがって、上内積を計算して出力する。
【０５５７】
下内積用１次元ＤＣＴ係数抽出部１０２は、注目ブロックについて、下内積を計算するのに用いる下境界１次元ＤＣＴ係数と下隣接１次元ＤＣＴ係数を、そこに供給される１次元ＤＣＴ係数から抽出し、下内積演算部１０６に供給する。
【０５５８】
下内積演算部１０６は、下内積用１次元ＤＣＴ係数抽出部１０２から供給される下境界１次元ＤＣＴ係数と下隣接１次元ＤＣＴ係数から、式（１９）にしたがって、下内積を計算して出力する。
【０５５９】
左内積用１次元ＤＣＴ係数抽出部１０３は、注目ブロックについて、左内積を計算するのに用いる左境界１次元ＤＣＴ係数と左隣接１次元ＤＣＴ係数を、そこに供給される１次元ＤＣＴ係数から抽出し、左内積演算部１０７に供給する。
【０５６０】
左内積演算部１０７は、左内積用１次元ＤＣＴ係数抽出部１０３から供給される左境界１次元ＤＣＴ係数と左隣接１次元ＤＣＴ係数から、式（１９）にしたがって、左内積を計算して出力する。
【０５６１】
右内積用１次元ＤＣＴ係数抽出部１０４は、注目ブロックについて、右内積を計算するのに用いる右境界１次元ＤＣＴ係数と右隣接１次元ＤＣＴ係数を、そこに供給される１次元ＤＣＴ係数から抽出し、右内積演算部１０８に供給する。
【０５６２】
右内積演算部１０８は、右内積用１次元ＤＣＴ係数抽出部１０４から供給される右境界１次元ＤＣＴ係数と右隣接１次元ＤＣＴ係数から、式（１９）にしたがって、右内積を計算して出力する。
【０５６３】
次に、図４７は、図１９のクラスコード生成部３６の構成例を示している。
【０５６４】
クラスコード生成部３６は、輝度信号のブロックを対象に、そのブロックを構成する画素をクラス分類するようになっている。
【０５６５】
即ち、比較部１１１および１１２には、ＡＣパワー算出部３３（図１９）が出力するＡＣパワーが供給される。平坦性条件判定部１１３には、ＡＣパワー算出部３３（図１９）が出力するＡＣパワー、並びに１次元逆ＤＣＴ変換部３１および隣接１次元ＤＣＴ係数選択／変換部３２が出力する１次元ＤＣＴ係数が供給される。連続性判定部１１４には、ＡＣ内積計算部３４（図１９）が出力するＡＣ内積が供給される。境界部エッジ条件判定部１１５には、１次元逆ＤＣＴ変換部３１および隣接１次元ＤＣＴ係数選択／変換部３２が出力する１次元ＤＣＴ係数が供給される。
【０５６６】
比較部１１１は、ＡＣパワー算出部３３（図１９）が出力するＡＣパワーのうちの、注目画素の行の水平１次元ＤＣＴ係数から求められた水平方向のＡＣパワーを、所定の閾値Ａと比較し、その比較結果を、クラスコード作成部１１６に供給する。
【０５６７】
比較部１１２は、ＡＣパワー算出部３３（図１９）が出力するＡＣパワーのうちの、注目画素の列の垂直１次元ＤＣＴ係数から求められた垂直方向のＡＣパワーを、所定の閾値Ａと比較し、その比較結果を、クラスコード作成部１１６に供給する。
【０５６８】
平坦性条件判定部１１３は、注目ブロックについて、境界１次元ＤＣＴ係数から求められたＡＣパワー、隣接１次元ＤＣＴ係数から求められたＡＣパワー、さらには、境界１次元ＤＣＴ係数の直流成分、隣接１次元ＤＣＴ係数の直流成分に基づき、注目ブロックの上下左右それぞれの境界について、各境界部分における画像の平坦性を判定し、その判定結果を、クラスコード生成部１１６に供給する。
【０５６９】
連続性条件判定部１１４は、注目ブロックについて求められた上内積、下内積、左内積、右内積に基づき、注目ブロックの上下左右それぞれの境界について、各境界部分における画像の連続性を判定し、その判定結果を、クラスコード生成部１１６に供給する。
【０５７０】
境界部エッジ条件判定部１１５は、注目ブロックについての境界１次元ＤＣＴ係数の直流成分と、隣接１次元ＤＣＴ係数の直流成分とに基づき、注目ブロックの上下左右それぞれの境界について、その境界に沿ってエッジが存在するかどうかを判定し、その判定結果を、クラスコード生成部１１６に供給する。
【０５７１】
クラスコード作成部１１６は、比較部１１１および１１２、平坦性条件判定部１１３、連続性条件判定部１１４、並びに境界部エッジ条件判定部１１５の出力に基づき、注目画素をクラス分類し、そのクラスを表すクラスコード（輝度クラスコード）を作成（生成）して出力する。
【０５７２】
ここで、図４８は、クラスコード作成部１１６が出力するクラスコードのフォーマットを示している。
【０５７３】
図４８の実施の形態では、クラスコードは、１０ビットとされており、その先頭から、２ビットのＡＣパワークラスコード、４ビットのブロック平坦性クラスコード、４ビットのブロック間連続性クラスコードが順次配置されて構成される。
【０５７４】
２ビットのＡＣパワークラスコードは、注目画素を、その垂直方向のＡＣパワーと水平方向のＡＣパワーによってクラス分けするもので、その先頭のビットは、注目画素の列の垂直１次元ＤＣＴ係数から求められた垂直方向のＡＣパワーによって決定され、２番目のビットは、注目画素の行の水平１次元ＤＣＴ係数から求められた水平方向のＡＣパワーによって決定される。従って、ＡＣパワークラスコードは、画素ごとに決定される。
【０５７５】
４ビットのブロック平坦性クラスコードは、注目画素を含むブロック（注目ブロック）を、その上下左右それぞれの境界部分の平坦性（注目ブロックとそれに隣接するブロックとの間における画像の平坦さ）によってクラス分けするもので、その１乃至４番目のビットは、注目ブロックの上、下、左、右それぞれの境界の平坦性によって決定される。従って、ブロック平坦性クラスコードは、ブロックごとに決定される。
【０５７６】
４ビットのブロック間連続性クラスコードは、注目画素を含むブロック（注目ブロック）を、その上下左右それぞれの境界部分の連続性（注目ブロックとそれに隣接するブロックとの間における画像のつながり具合）によってクラス分けするもので、その１乃至４番目のビットは、注目ブロックの上、下、左、右それぞれの境界の連続性によって決定される。従って、ブロック連続性クラスコードも、ブロック平坦性クラスコードと同様に、ブロックごとに決定される。
【０５７７】
以上から、ＡＣパワークラスコードは、基本的に、画素ごとに異なるが、ブロック平坦性クラスコードとブロック間連続性クラスコードは、同一ブロックの画素については、同一となる。
【０５７８】
次に、図４９のフローチャートを参照して、図４７のクラスコード生成部３６の処理（クラス分類処理）について説明する。
【０５７９】
クラスコード生成部３６では、まず最初に、ステップＳ９１において、比較部１１１が、ＡＣパワー算出部３３（図１９）が出力するＡＣパワーのうちの、注目画素の行の水平１次元ＤＣＴ係数から求められた水平方向のＡＣパワーを、所定の閾値Ａと比較し、その比較結果を、クラスコード作成部１１６に供給する。さらに、ステップＳ９１では、比較部１１２が、ＡＣパワー算出部３３（図１９）が出力するＡＣパワーのうちの、注目画素の列の垂直１次元ＤＣＴ係数から求められた垂直方向のＡＣパワーを、所定の閾値Ａと比較し、その比較結果を、クラスコード作成部１１６に供給する。
【０５８０】
そして、クラスコード作成部１１６は、比較部１１１と１１２の出力に基づいて、注目画素のＡＣパワークラスコードを決定する。
【０５８１】
即ち、クラスコード作成部１１６は、注目画素の列の垂直１次元ＤＣＴ係数から求められた垂直方向のＡＣパワーが、所定の閾値Ａより大の場合は、２ビットのＡＣパワークラスコードのうちの１番目のビットを、例えば１とし、その垂直方向のＡＣパワーが、所定の閾値Ａより大でない場合は、ＡＣパワークラスコードの１番目のビットを、例えば、０とする。さらに、クラスコード作成部１１６は、注目画素の行の水平１次元ＤＣＴ係数から求められた水平方向のＡＣパワーが、所定の閾値Ａより大の場合は、２ビットのＡＣパワークラスコードのうちの２番目のビットを、例えば１とし、その水平方向のＡＣパワーが、所定の閾値Ａより大でない場合は、ＡＣパワークラスコードの２番目のビットを、例えば、０とする。
【０５８２】
その後、ステップＳ９２に進み、境界部エッジ条件判定部１１５は、注目ブロックについての境界１次元ＤＣＴ係数の直流成分と、隣接１次元ＤＣＴ係数の直流成分とに基づき、注目ブロックの境界について、その境界に沿ってエッジが存在するという境界部エッジ条件が満たされるかどうかを判定する。
【０５８３】
即ち、境界部エッジ条件判定部１１５は、例えば、注目ブロックについての境界１次ＤＣＴ係数の直流成分ＤＣと、隣接１次ＤＣＴ係数の直流成分ＤＣ’との差分絶対値｜ＤＣ−ＤＣ’｜が、所定の閾値Ｅよりも大きい（または以上である）という条件を、境界部エッジ条件として、そのような境界部エッジ条件が満たされるかどうかを判定する。
【０５８４】
ステップＳ９２において、境界部エッジ条件が満たされると判定した場合、即ち、注目ブロックについての境界１次ＤＣＴ係数の直流成分ＤＣと、隣接１次ＤＣＴ係数の直流成分ＤＣ’との差が非常に大きく、従って、注目ブロックの境界部分にエッジが存在し、注目ブロックとそれに隣接するブロックの画像パターンにつながりがないと考えられる場合、境界部エッジ条件判定部１１５は、その旨を、クラスコード作成部１１６に出力し、ステップＳ９７に進む。ステップＳ９７では、クラスコード作成部１１６は、ブロック平坦性クラスコードおよびブロック間連続性クラスコードを、いずれも、例えば０とし、ステップＳ９８に進む。
【０５８５】
また、ステップＳ９２において、境界部エッジ条件が満たされないと判定された場合、ステップＳ９３に進み、平坦性条件判定部１１３は、注目ブロックについて、境界１次元ＤＣＴ係数から求められたＡＣパワー、隣接１次元ＤＣＴ係数から求められたＡＣパワー、さらには、境界１次元ＤＣＴ係数の直流成分、隣接１次元ＤＣＴ係数の直流成分に基づき、注目ブロックの境界部分が平坦であるという平坦性条件が満たされるかどうかを判定する。
【０５８６】
即ち、平坦性条件判定部１１３は、例えば、次式で表される条件を、平坦性条件として、そのような平坦性条件が満たされるかどうかを判定する。
【０５８７】
（ＰAC≦Ｂ）∩（ＰAC’≦Ｂ）∩（｜ＤＣ−ＤＣ’｜≦Ｄ）・・・（２０）
【０５８８】
ＰAC’≦Ｃ・・・（２１）
【０５８９】
但し、式（２０）および（２１）において、Ｂ，Ｃ，Ｄは、所定の閾値であり、閾値Ｃは、閾値Ｂよりも十分小さいものとする。また、式（２０）および（２１）において、ＰACは、注目ブロックについての境界１次元ＤＣＴ係数から求められたＡＣパワーを表し、ＰAC’は、注目ブロックについての隣接１次元ＤＣＴ係数から求められたＡＣパワーを表す。さらに、式（２０）において、ＤＣは、注目ブロックについての境界１次元ＤＣＴ係数の直流成分を表し、ＤＣ’は、注目ブロックについての隣接１次元ＤＣＴ係数の直流成分を表す。また、∩は、論理積を表す。
【０５９０】
式（２０）は、注目ブロックについての境界１次元ＤＣＴ係数と隣接１次元ＤＣＴ係数からそれぞれ求められるＡＣパワーＰACとＰAC’が、いずれも閾値Ｂ以下で（または未満で）、かつ、それぞれの直流成分ＤＣとＤＣ’の差分絶対値｜ＤＣ−ＤＣ’｜が、閾値Ｄ以下（または未満）の場合に、真となる。また、式（２１）は、注目ブロックについての隣接１次元ＤＣＴ係数から求められたＡＣパワーＰAC’が、閾値Ｃ以下（または未満）の場合に、真となる。
【０５９１】
ここで、閾値Ｃは、上述したように、閾値Ｂよりも十分小さい、例えば、０に近い値であり、従って、式（２１）は、注目ブロックについての隣接１次元ＤＣＴ係数から求められたＡＣパワーＰAC’が０に近い場合に、真となる。
【０５９２】
なお、ここでは、平坦性条件は、例えば、式（２０）および（２１）のうちのいずれか一方が真であれば満たされるものとする。
【０５９３】
ステップＳ９３において、平坦性条件が満たされると判定された場合、平坦性条件判定部１１３は、その旨を、クラスコード作成部１１６に供給して、ステップＳ９４に進む。
【０５９４】
ステップＳ９４では、クラスコード作成部１１６は、ブロック平坦性クラスコードおよびブロック間連続性クラスコードを、いずれも、例えば１とし、ステップＳ９８に進む。
【０５９５】
また、ステップＳ９３において、平坦性条件が満たされないと判定された場合、ステップＳ９５に進み、連続性条件判定部１１４は、注目ブロックについて求められたＡＣ内積に基づき、注目ブロックの境界部分に連続性があるという連続性条件が満たされるかどうかを判定する。
【０５９６】
即ち、連続性条件判定部１１４は、例えば、注目ブロックについてのＡＣ内積Ｉが、正の値（または０以上）であるという条件を、連続性条件として、そのような連続性条件が満たされるかどうかを判定する。
【０５９７】
ステップＳ９５において、連続性条件が満たされると判定された場合、連続性条件判定部１１４は、その旨を、クラスコード作成部１１６に供給して、ステップＳ９６に進む。
【０５９８】
ステップＳ９６では、クラスコード作成部１１６は、ブロック平坦性クラスコードを、例えば、０とするとともに、ブロック間連続性クラスコードを、例えば、１とし、ステップＳ９８に進む。
【０５９９】
一方、ステップＳ９６において、連続性条件が満たされないと判定された場合、連続性条件判定部１１４は、その旨を、クラスコード作成部１１６に供給して、ステップＳ９７に進む。ステップＳ９７では、クラスコード作成部１１６は、上述したように、ブロック平坦性クラスコードおよびブロック間連続性クラスコードを、いずれも０とし、ステップＳ９８に進む。
【０６００】
なお、ステップＳ９２乃至Ｓ９７の処理は、注目ブロックの上下左右の境界それぞれについて、独立に行われ、これにより、ブロック平坦性クラスコードとブロック間連続性クラスコードは、注目ブロックの上下左右の境界それぞれについて求められる。
【０６０１】
ステップＳ９８では、クラスコード作成部１１６は、ステップＳ９１乃至Ｓ９７の処理によって求められたＡＣパワークラスコード、ブロック平坦性クラスコード、およびブロック間連続性クラスコードから、図４８に示した１０ビットのクラスコードを作成し、処理を終了する。
【０６０２】
なお、図４９のフローチャートに示した処理は、新たな画素が注目画素とされるごとに行われる。但し、上述したように、ブロック平坦生クラスコードとブロック間連続性クラスコードは、同一ブロックの画素については同一となるため、同一ブロックを構成する画素については、最初の画素に対してのみ、ステップＳ９１乃至９８の処理を行い、他の画素に対しては、ステップＳ９１とＳ９８の処理だけを行い、ブロック平坦生クラスコードとブロック間連続性クラスコードは、最初の画素に対して得られたものを流用するようにすることが可能である。
【０６０３】
ここで、本実施の形態では、図４８に示したように、クラスコードを１０ビットとしているため、そのような１０ビットのクラスコードによれば、１０２４（＝２10）通りのクラスを表すことができる。
【０６０４】
しかしながら、図４９に示したクラス分類処理では、ブロック平坦性クラスコードが１で、ブロック間連続性クラスコードが０となるケースは、存在しない。即ち、ここでは、ブロックの境界部分が平坦であるのに、連続性がないということはありえないとして、ブロック平坦性クラスコードが１となる場合には、ブロック間連続性クラスコードも、必ず１とするようにしている。
【０６０５】
従って、例えば、ブロックの上の境界についてのブロック平坦性クラスコードとブロック間連続性クラスコードとの組（ｂ１，ｂ２）は、（０，０），（０，１），（１，１）の３通りしか取り得ない。その結果、ブロックの上下左右の４つの境界すべてについての４ビットのブロック平坦性クラスコード、および４ビットのブロック間連続性クラスコードで表現されるクラス数は、８１（＝３4）通りとなる。
【０６０６】
また、２ビットのＡＣパワークラスコードで表現されるクラス数は、４（＝２2）通りである。
【０６０７】
従って、ここでは、図４８の１０ビットのクラスコードで表現されるクラス数は、３２４（＝８１×４）通りとなる。
【０６０８】
ここで、上述の場合において、ブロック平坦性クラスコードとブロック間連続性クラスコードとの組（ｂ１，ｂ２）が、（０，０）となるケースは、注目ブロックとそれに隣接する隣接ブロックにおける画像どうしにつながりがなく、注目ブロックと隣接ブロックとが、いわば「無関係」であることを表す。また、（ｂ１，ｂ２）が、（０，１）となるケースは、注目ブロックと隣接ブロックにおける画像が、平坦ではないが、「連続」していることを表す。さらに、（ｂ１，ｂ２）が、（１，１）となるケースは、注目ブロックと隣接ブロックにおける画像が、「平坦」であること（従って、「連続」でもある）ことを表す。
【０６０９】
なお、上述の場合には、ブロック平坦性クラスコードとブロック間連続性クラスコードとの組（ｂ１，ｂ２）を、３通りとして、１０ビットのクラスコードにより、３２４通りのクラスを表現するようにしたが、（ｂ１，ｂ２）は、３通りではなく、（０，０），（０，１），（１，０）、（１，１）の４通りを取り得るようにして、１０ビットのクラスコードにより、１０２４（＝２10）通りのクラスを表現することができるようにすることも可能である。
【０６１０】
即ち、上述の場合には、式（２０）または（２１）のいずれか一方のみが満たされれば、平坦性条件が満たされることとして、（ｂ１，ｂ２）に（１，１）を割り当てるようにしたが、例えば、式（２０）と（２１）の両方が満たされる場合と、式（２０）だけが満たされる場合とを区別するようにし、式（２０）と（２１）の両方が満たされる場合には、（ｂ１，ｂ２）に、（１，１）を割り当てるとともに、式（２０）だけが満たされる場合には、（ｂ１，ｂ２）に、（１，０）を割り当てるようにすることが可能である。
【０６１１】
この場合、（ｂ１，ｂ２）が、（１，１）となるケースは、注目ブロックと隣接ブロックにおける画像が、「注目ブロック側と隣接ブロック側の両方で平坦」であることを表し、（ｂ１，ｂ２）が、（１，０）となるケースは、注目ブロックと隣接ブロックにおける画像が、「隣接ブロック側だけで平坦」であることを表す。
【０６１２】
また、図４９のフローチャートでは、境界エッジ条件が満たされるケースであっても、平坦性条件と連続性条件のいずれもが満たされないケースであっても、（ｂ１，ｂ２）を、（０，０）とするようにしたが、境界エッジ条件が満たされるケースか、平坦性条件と連続性条件のいずれもが満たされないケースのうちのいずれか一方を、（１，０）に割り当てることにより、ブロック平坦性クラスコードとブロック間連続性クラスコードとの組（ｂ１，ｂ２）が、４通りを取り得るようにすることも可能である。
【０６１３】
さらに、式（２０）と（２１）の両方が満たされるケースと、式（２０）だけが満たされるケースとを区別するとともに、境界エッジ条件が満たされるケースと、平坦性条件と連続性条件のいずれもが満たされないケースとを区別するようにすることも可能である。但し、この場合、注目ブロックと隣接ブロックにおける画像が「連続」しているケース、および注目ブロックと隣接ブロックにおける画像が「平坦」であるケースとあわせると、注目ブロックの１つ（１辺）の境界について、５通りの場合分けが必要となる。従って、この場合、注目ブロックの境界によるクラスの場合の数は、６２５通りとなり、その結果、２ビットのＡＣパワークラスコードも考慮すると、全クラス数は、２５００となる。
【０６１４】
次に、図５０は、図１９のクラスコード生成部３７の構成例を示している。
【０６１５】
クラスコード生成部３７は、色差信号のブロックを対象に、そのブロックを構成する画素をクラス分類するようになっている。
【０６１６】
従って、クラスコード生成部３７は、輝度クラスコードを出力するクラスコード生成部３６と同様に構成することも可能である。
【０６１７】
しかしながら、色差信号のブロックは、一般に、輝度信号のブロックに比較して、画像のアクティビティが低く、１次元ＤＣＴ係数の交流成分の値が小さくなるため、クラスコード生成部３６と同一の処理を行うと、効果的なクラス分類が困難な場合がある。
【０６１８】
そこで、ここでは、クラスコード生成部３７は、クラスコード生成部３６で得られた輝度クラスコードをも用いて、色差信号の画素のクラス分類を行うようになっている。
【０６１９】
即ち、図５０の実施の形態において、比較部１２１および１２２には、ＡＣパワー算出部３３（図１９）が出力するＡＣパワーが供給される。
【０６２０】
比較部１２１は、図４７の比較部１１１と同様に、ＡＣパワー算出部３３（図１９）が出力するＡＣパワーのうちの、注目画素の行の水平１次元ＤＣＴ係数から求められた水平方向のＡＣパワーを、所定の閾値Ａと比較し、その比較結果を、クラスコード作成部１２３に供給する。
【０６２１】
比較部１２２は、図４６の比較部１１２と同様に、ＡＣパワー算出部３３（図１９）が出力するＡＣパワーのうちの、注目画素の列の垂直１次元ＤＣＴ係数から求められた垂直方向のＡＣパワーを、所定の閾値Ａと比較し、その比較結果を、クラスコード作成部１２３に供給する。
【０６２２】
なお、クラスコード生成部３７では、色差信号のブロックを対象に処理が行われるが、上述したように、色差信号については、その１次元ＤＣＴ係数の交流成分の値が小さくなることから、ＡＣパワーも小さくなる。このため、比較部１２１と１２２で用いられる閾値Ａは、図４７の比較部１１１と１１２で用いられるものよりも小さい値のものを用いるのが望ましい。
【０６２３】
クラスコード作成部１２３には、比較部１２１および１２２の出力の他、クラスコード作成部３６が出力する図４８の輝度クラスコードも供給されるようになっており、クラスコード作成部１２３は、これらの比較部１２１および１２２の出力、並びに輝度クラスコードに基づき、注目画素をクラス分類し、そのクラスを表すクラスコード（色差クラスコード）を作成（生成）して出力する。
【０６２４】
ここで、クラスコード作成部１２３は、図４８に示した輝度クラスコードと同一フォーマットの色差クラスコードを作成するようになっている。
【０６２５】
即ち、クラスコード作成部１２３は、注目画素のＡＣパワークラスコードについては、比較部１２１と１２２の出力に基づき、図４７のクラスコード作成部１１６と同様にして作成する。
【０６２６】
また、クラスコード作成部１２３は、注目画素のブロック平坦性クラスコードと、ブロック間連続性クラスコードについては、その注目画素を含む色差信号のブロック（注目ブロック）と空間的に同一位置にある輝度信号のブロックにおける画素の輝度クラスコードを用いて作成する。
【０６２７】
即ち、例えば、いま、画像データがＹＵＶ形式で表されるものとし、その画像フォーマットが、４：２：２であるとすると、図５１Ａに示すように、左右に並ぶ２つの輝度ブロックＹ１およびＹ２と、１つの色差ブロックＵと、１つの色差ブロックＶとが対応する。
【０６２８】
そして、この場合、色差ブロックＵの上の境界は、左の輝度ブロックＹ１の上の境界ａと右の輝度ブロックＹ２の上の境界ｂに、色差ブロックＵの下の境界は、輝度ブロックＹ１の下の境界ｅと輝度ブロックＹ２の下の境界ｆに、色差ブロックＵの左の境界は、輝度ブロックＹ１の左の境界ｃに、色差ブロックＵの右の境界は、輝度ブロックＹ２の右の境界ｄに、それぞれ対応する。
【０６２９】
そこで、図５１Ａに点線で示してあるように、色差ブロックＵを、横×縦が４×８画素の、左右に隣接する２つの小ブロックＵｌとＵｒに分割すると、図５１Ｂに示すように、左の小ブロックＵｌの上の境界は、輝度ブロックＹ１の上の境界ａに、小ブロックＵｌの下の境界は、輝度ブロックＹ１の下の境界ｅに、小ブロックＵｌの左の境界は、輝度ブロックＹ１の左の境界ｃに、小ブロックＵｌの右の境界は、輝度ブロックＹ２の右の境界ｄに、それぞれ対応する。また、右の小ブロックＵｒの上の境界は、輝度ブロックＹ２の上の境界ｂに、小ブロックＵｒの下の境界は、輝度ブロックＹ２の下の境界ｆに、小ブロックＵｒの左の境界は、輝度ブロックＹ１の左の境界ｃに、小ブロックＵｒの右の境界は、輝度ブロックＹ２の右の境界ｄに、それぞれ対応する。
【０６３０】
ここで、図４８のクラスコードにおいて、ブロックの上下左右の境界について求められたブロック平坦性クラスコードを、以下、適宜、上境界平坦性コード、下境界平坦性コード、左境界平坦性コード、右境界平坦性コードと、それぞれいう。また、ブロックの上下左右の境界について求められたブロック間連続性クラスコードを、以下、適宜、上境界連続性コード、下境界連続性コード、左境界連続性コード、右境界連続性コードと、それぞれいう。さらに、以下、適宜、上境界平坦性コードと上境界連続性コードをまとめて、上境界コードと、下境界平坦性コードと下境界連続性コードをまとめて、下境界コードと、左境界平坦性コードと左境界連続性コードをまとめて、左境界コードと、右境界平坦性コードと右境界連続性コードをまとめて、右境界コードと、それぞれいう。また、以下、適宜、上境界コード、下境界コード、左境界コード、および右境界コードをまとめて、境界コードという。
【０６３１】
輝度ブロックＹ１およびＹ２の境界と、小ブロックＵｌやＵｒの境界との間には、上述のような対応関係があることから、クラスコード作成部１２３は、小ブロックＵｌとＵｒそれぞれの画素の色差クラスコードにおける境界コードとして、輝度ブロックＹ１およびＹ２の対応する境界について求められたものを、そのまま用いるようになっている。
【０６３２】
即ち、クラスコード作成部１２３は、小ブロックＵｌの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックＹ１の上境界コード、輝度ブロックＹ１の下境界コード、輝度ブロックＹ１の左境界コード、輝度ブロックＹ２の右境界をセットする。
【０６３３】
また、クラスコード作成部１２３は、小ブロックＵｒの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックＹ２の上境界コード、輝度ブロックＹ２の下境界コード、輝度ブロックＹ１の左境界コード、輝度ブロックＹ２の右境界コードをセットする。
【０６３４】
色差ブロックＶと、輝度ブロックＹ１およびＹ２との対応関係も、色差ブロックＵと、輝度ブロックＹ１およびＹ２との対応関係と同一であり、クラスコード作成部１２３は、色差ブロックＵにおける場合と同様に、色差ブロックＶを、横×縦が４×８画素の２つの小ブロックＶｌとＶｒに分割し、小ブロックＶｌとＶｒの色差クラスコードにおける境界コードとして、輝度ブロックＹ１およびＹ２の境界コードを、色差ブロックＵにおける場合と同様にしてセットする。
【０６３５】
その結果、クラスコード作成部１２３では、小ブロックＵｌ，Ｕｒ，Ｖｌ，Ｖｒの画素について、次のような色差クラスコードが作成される。
【０６３６】
即ち、例えば、いま、図５２Ａに示すように、色差ブロックＵ，Ｖに対応する２つの輝度ブロックＹ１またはＹ２の画素について得られている１０ビットの輝度クラスコードの第ｉビット（最下位ビットからｉビット目）を、ＢＬ＃ｉ−１またはＢＲ＃ｉ−１と、それぞれ表すこととすると、小ブロックＵｌ，Ｕｒ，Ｖｌ，Ｖｒの画素については、図５２Ｂに示すようなクラスコードが作成される。
【０６３７】
即ち、小ブロックＵｌ，Ｖｌの画素の色差クラスコードの第１乃至第８ビットには、ＢＲ０，ＢＬ１，ＢＬ２，ＢＬ３，ＢＲ４，ＢＬ５，ＢＬ６，ＢＬ７がそれぞれ配置される。また、小ブロックＵｒ，Ｖｒの画素の色差クラスコードの第１乃至第８ビットには、ＢＲ０，ＢＬ１，ＢＲ２，ＢＲ３，ＢＲ４，ＢＬ５，ＢＲ６，ＢＲ７がそれぞれ配置される。
【０６３８】
ここで、色差クラスコードの第９ビットと第１０ビットは、輝度クラスコードにおける場合と同様に、注目画素のＡＣパワーに基づいて決定される。
【０６３９】
次に、画像フォーマットが、例えば、４：２：０である場合には、図５３Ａに示すように、左上、左下、右上、右下の位置関係にある４つの隣接する輝度ブロックＹ１，Ｙ２，Ｙ３，Ｙ４と、１つの色差ブロックＵと、１つの色差ブロックＶとが対応する。
【０６４０】
そして、この場合、図５３Ａに点線で示してあるように、色差ブロックＵを、横×縦が４×４画素の左上、左下、右上、右下の位置関係にある４つの小ブロックＵｕｌ，Ｕｌｌ，Ｕｕｒ，Ｕｌｒに分割すると、図５３Ｂに示すように、小ブロックＵｕｌの上の境界は、輝度ブロックＹ１の上の境界ａに、小ブロックＵｕｌの下の境界は、輝度ブロックＹ３の下の境界ｇに、小ブロックＵｕｌの左の境界は、輝度ブロックＹ１の左の境界ｃに、小ブロックＵｕｌの右の境界は、輝度ブロックＹ２の右の境界ｄに、それぞれ対応する。また、小ブロックＵｌｌの上の境界は、輝度ブロックＹ１の上の境界ａに、小ブロックＵｌｌの下の境界は、輝度ブロックＹ３の下の境界ｇに、小ブロックＵｌｌの左の境界は、輝度ブロックＹ３の左の境界ｅに、小ブロックＵｌｌの右の境界は、輝度ブロックＹ４の右の境界ｆに、それぞれ対応する。さらに、小ブロックＵｕｒの上の境界は、輝度ブロックＹ２の上の境界ｂに、小ブロックＵｕｒの下の境界は、輝度ブロックＹ４の下の境界ｈに、小ブロックＵｕｒの左の境界は、輝度ブロックＹ１の左の境界ｃに、小ブロックＵｕｒの右の境界は、輝度ブロックＹ２の右の境界ｄに、それぞれ対応する。さらに、小ブロックＵｌｒの上の境界は、輝度ブロックＹ２の上の境界ｂに、小ブロックＵｌｒの下の境界は、輝度ブロックＹ４の下の境界ｈに、小ブロックＵｌｒの左の境界は、輝度ブロックＹ３の左の境界ｅに、小ブロックＵｌｒの右の境界は、輝度ブロックＹ４の右の境界ｆに、それぞれ対応する。
【０６４１】
輝度ブロックＹ１乃至Ｙ４の境界と、小ブロックＵｕｌや、Ｕｌｌ，Ｕｕｒ，Ｕｌｒの境界との間には、上述のような対応関係があることから、クラスコード作成部１２３は、画像フォーマットが４：２：２である場合と同様に、小ブロックＵｕｌ，Ｕｌｌ，Ｕｕｒ，Ｕｌｒそれぞれの画素の色差クラスコードにおける境界コードとして、輝度ブロックＹ１乃至Ｙ４の対応する境界について求められたものを、そのまま用いるようになっている。
【０６４２】
即ち、クラスコード作成部１２３は、小ブロックＵｕｌの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックＹ１の上境界コード、輝度ブロックＹ３の下境界コード、輝度ブロックＹ１の左境界コード、輝度ブロックＹ２の右境界をセットする。
【０６４３】
また、クラスコード作成部１２３は、小ブロックＵｌｌの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックＹ１の上境界コード、輝度ブロックＹ３の下境界コード、輝度ブロックＹ３の左境界コード、輝度ブロックＹ４の右境界をセットする。
【０６４４】
さらに、クラスコード作成部１２３は、小ブロックＵｕｒの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックＹ２の上境界コード、輝度ブロックＹ４の下境界コード、輝度ブロックＹ１の左境界コード、輝度ブロックＹ２の右境界コードをセットする。
【０６４５】
また、クラスコード作成部１２３は、小ブロックＵｌｒの画素については、その色差クラスコードにおける上境界コード、下境界コード、左境界コード、右境界コードとして、それぞれ、輝度ブロックＹ２の上境界コード、輝度ブロックＹ４の下境界コード、輝度ブロックＹ３の左境界コード、輝度ブロックＹ４の右境界コードをセットする。
【０６４６】
色差ブロックＶと、輝度ブロックＹ１乃至Ｙ４との対応関係も、色差ブロックＵと、輝度ブロックＹ１乃至Ｙ４との対応関係と同一であり、クラスコード作成部１２３は、色差ブロックＵにおける場合と同様に、色差ブロックＶを、横×縦が４×４画素の４つの小ブロックＶｕｌ，Ｖｌｌ，Ｖｕｒ，Ｖｌｒに分割し、小ブロックＶｕｌ，Ｖｌｌ，Ｖｕｒ，Ｖｌｒの色差クラスコードにおける境界コードとして、輝度ブロックＹ１乃至Ｙ４の境界コードを、色差ブロックＵにおける場合と同様にしてセットする。
【０６４７】
その結果、クラスコード作成部１２３では、小ブロックＵｕｌ，Ｕｌｌ，Ｕｕｒ，Ｕｌｒ、およびＶｕｌ，Ｖｌｌ，Ｖｕｒ，Ｖｌｒの画素について、次のような色差クラスコードが作成される。
【０６４８】
即ち、例えば、いま、図５４Ａに示すように、色差ブロックＵ，Ｖに対応する２つの輝度ブロックＹ１乃至Ｙ４の画素について得られている１０ビットの輝度クラスコードの第ｉビットを、ＢＵＬ＃ｉ−１，ＢＵＲ＃ｉ−１，ＢＤＬ＃ｉ−１，ＢＤＲ＃ｉ−１と、それぞれ表すこととすると、小ブロックＵｕｌ，Ｕｌｌ，Ｕｕｒ，Ｕｌｒ、およびＶｕｌ，Ｖｌｌ，Ｖｕｒ，Ｖｌｒの画素については、図５４Ｂに示すようなクラスコードが作成される。
【０６４９】
即ち、小ブロックＵｕｌ，Ｖｕｌの画素の色差クラスコードの第１乃至第８ビットには、ＢＵＲ０，ＢＵＬ１，ＢＤＬ２，ＢＵＬ３，ＢＵＲ４，ＢＵＬ５，ＢＤＬ６，ＢＵＬ７がそれぞれ配置される。また、小ブロックＵｌｌ，Ｖｌｌの画素の色差クラスコードの第１乃至第８ビットには、ＢＤＲ０，ＢＤＬ１，ＢＤＬ２，ＢＵＬ３，ＢＤＲ４，ＢＤＬ５，ＢＤＬ６，ＢＵＬ７がそれぞれ配置される。さらに、小ブロックＵｕｒ，Ｖｕｒの画素の色差クラスコードの第１乃至第８ビットには、ＢＵＲ０，ＢＵＬ１，ＢＤＲ２，ＢＵＲ３，ＢＵＲ４，ＢＵＬ５，ＢＤＲ６，ＢＵＲ７がそれぞれ配置される。また、小ブロックＵｌｒ，Ｖｌｒの画素の色差クラスコードの第１乃至第８ビットには、ＢＤＲ０，ＢＤＬ１，ＢＤＲ２，ＢＵＲ３，ＢＤＲ４，ＢＤＬ５，ＢＤＲ６，ＢＵＲ７がそれぞれ配置される。
【０６５０】
ここで、色差クラスコードの第９ビットと第１０ビットは、輝度クラスコードにおける場合と同様に、注目画素のＡＣパワーに基づいて決定される。
【０６５１】
なお、ここでは、画像データが、Ｙ，Ｕ，Ｖ形式で表されるものとして説明したが、画像データが、その他、例えば、Ｙ，Ｃｂ，Ｃｒ形式で表される場合も、同様のクラス分類を行うことが可能である。
【０６５２】
さらに、ここでは、画像フォーマットが、４：２：２の場合と、４：２：０の場合について説明したが、画像フォーマットが、４：４：４の場合（例えば、画像データが、Ｒ(red)，Ｇ(green)，Ｂ(blue)形式の場合）は、各信号について、同一のクラス分類を行っても良いし、ある信号について行ったクラス分類により得られたクラスコードを、そのまま、他の信号に用いるようにしても良い。
【０６５３】
次に、図１８のＦＴ変換部５１における種重み記憶部１７に記憶される種重みデータについて説明する。
【０６５４】
ＦＴ変換部５１では、積和演算部１５において、上述した式（１７）の積和演算が行われるが、式（１７）の積和演算によって求められる画素値は、変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）と、２次元ＤＣＴ係数ｆ（ｕ，ｖ）との積和である。
【０６５５】
一方、本件出願人が先に提案した、各種の歪みを十分に低減した、解像度の高い高画質の画像を復号するクラス分類適応処理で行われる、前述の式（１）によって求められる画素値は、タップ係数ｗkと、２次元ＤＣＴ係数ｘkとの積和である。
【０６５６】
従って、式（１７）の変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）が、式（８）の正規方程式を解くことにより得られる式（１）のタップ係数ｗkに一致する場合には、ＦＴ変換部５１において、クラス分類適応処理で得られるのと同様の解像度の高い高画質の画像を復号することができることになる。
【０６５７】
そこで、種重み記憶部１７には、式（８）の正規方程式を解くことにより得られる式（１）のタップ係数ｗkと同様の変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）を生成することができるように種データを補正する種重みデータが記憶されており、以下において、そのような種重みデータの生成方法について説明するが、その前に、クラス分類適応処理を行うクラス分類適応処理回路と、そのクラス分類適応処理に用いられるタップ係数を学習する学習装置について説明する。
【０６５８】
図５５は、２次元ＤＣＴ係数を画素値に復号（変換）するクラス分類適応処理を行うクラス分類適応処理回路の構成例を示している。
【０６５９】
なお、図１４の画像処理装置は、ＦＴ変換部５１に代えて、図５５のクラス分類適応処理回路を設けて構成することができる。そこで、ここでは、図５５のクラス分類適応処理回路には、図１４の画像処理装置におけるバッファメモリ２３に記憶された２次元ＤＣＴ係数のブロックが供給され、画素値のブロックに変換されるものとして、説明を行う。
【０６６０】
バッファメモリ２３（図１４）に記憶された２次元ＤＣＴ係数のブロックは、タップ生成部１３１およびクラス分類部１３２に供給される。
【０６６１】
タップ生成部１３１は、バッファメモリ２３（図１４）から供給される２次元ＤＣＴ係数のブロックを、注目ブロックとし、さらに、その注目ブロックの画素を、例えば、ラスタスキャン順で、順次、注目画素とする。そして、タップ生成部１３１は、注目画素について、バッファメモリ２３から供給される２次元ＤＣＴ係数を用い、注目画素を予測する式（１）の線形１次予測演算を行うための予測タップを生成して、積和演算部１３５に供給する。
【０６６２】
ここで、注目画素の空間周波数成分は、注目ブロックの２次元ＤＣＴ係数全体に、いわば分散しているから、注目画素を予測するにあたっては、少なくとも、注目ブロックの２次元ＤＣＴ係数すべてを、予測タップとして用いるのが望ましい。さらに、図１８のＦＴ変換部５１では、積和演算部１５において、注目ブロックのすべてのＤＣＴ係数を用いて積和演算が行われるため、そのこととの均衡からも、注目ブロックの２次元ＤＣＴ係数すべてを、予測タップとして用いるのが望ましい。
【０６６３】
そこで、タップ生成部１３１は、例えば、バッファメモリ２３から供給される注目ブロックの２次元ＤＣＴ係数すべてを、予測タップとする。この場合、予測タップは、６４（＝８×８）タップで構成されることになる。
【０６６４】
クラス分類部１３２は、図１９のクラス分類部１６と同様に構成され、バッファメモリ２３から供給されるブロックの２次元ＤＣＴ係数を用いて、注目画素をクラス分類し、その注目画素のクラスを表すクラスコードを、タップ係数記憶部１３３に供給する。従って、クラス分類部１３２から、タップ係数記憶部１３３に対しては、図１９のクラス分類部１６における場合と同様に、輝度クラスコードと色差クラスコードが供給される。
【０６６５】
タップ係数記憶部１３３は、クラスごとに、後述する学習装置で求められるタップ係数をクラスごとに記憶している。そして、タップ係数記憶部１３３は、クラス分類部１３２から供給されるクラスコードが表すクラスのタップ係数を読み出し、タップ係数バッファ１３４に供給する。なお、クラス分類部１３２から、タップ係数記憶部１３３に対しては、上述したように、輝度クラスコードと色差クラスコードが供給されるが、これに対応して、タップ係数バッファ１３３は、輝度信号用のタップ係数と、色差信号用のタップ係数を記憶している。そして、タップ係数記憶部１３３は、クラス分類部１３２から輝度クラスコードが供給された場合には、その輝度クラスコードが表すクラスの輝度信号用のタップ係数を、色差クラスコードが供給された場合には、その色差クラスコードが表すクラスの色差信号用のタップ係数を、それぞれ読み出し、タップ係数バッファ１３４に供給する。
【０６６６】
タップ係数バッファ１３４は、タップ係数記憶部１３３から供給されるタップ係数を一時記憶する。
【０６６７】
積和演算部１３５は、タップ生成部１３１から供給される予測タップと、タップ係数バッファ１３４に記憶されたタップ係数とを用いて、式（１）の線形１次予測演算を行い、注目画素の復号値を出力する。
【０６６８】
次に、図５６のフローチャートを参照して、図５５のクラス分類適応処理回路の処理（クラス分類適応処理）について説明する。
【０６６９】
まず最初に、ステップＳ１０１において、タップ生成部１３１は、バッファメモリ２３（図１４）から供給される２次元ＤＣＴ係数のブロックを、注目ブロックとし、その注目ブロックの各画素を予測する式（１）の線形１次予測演算を行うための予測タップを、例えば、バッファメモリ２３（図１４）からの注目ブロックのすべての２次元ＤＣＴ係数を用いて生成し、積和演算部１３５に供給して、ステップＳ１０２に進む。
【０６７０】
ステップＳ１０２では、タップ生成部１３１が、画素位置モードを表す変数ｉを、例えば０に初期化し、積和演算部１３５に供給する。
【０６７１】
ここで、ブロックの２次元ＤＣＴ係数を２次元逆ＤＣＴ変換する場合は、そのブロックにおける各画素の空間上の位置を表す位置情報が、式（１１）に示した変換行列Ｃのコンポーネントｃijを定義するｃｏｓ（（２ｊ＋１）×ｉ×π／１６）の位相という形で考慮される。
【０６７２】
一方、クラス分類適応処理では、予測タップを構成するＤＣＴ係数と、タップ係数とを用いた式（１）の線形１次予測演算が行われるが、この線形１次予測演算では、復号しようとしている画素（注目画素）の位置情報が考慮されない。そこで、注目画素の位置情報を考慮した線形１次予測演算を行うために、ここでは、注目画素の位置によって異なるタップ係数が用いられるようになっている。即ち、同一のクラスに分類される画素であっても、ブロックにおける位置が異なる場合には、異なるタップ係数を用いて、線形１次予測演算が行われるようになっている。この場合、線形１次予測演算に用いられるタップ係数が、ブロックにおける注目画素の位置、即ち、画素位置モードによって切り替えられることとなる。
【０６７３】
なお、ここでは、上述のように、画素位置モードによって、用いるタップ係数を切り替えるようにしたが、その他、例えば、画素位置モードは、クラスコードに含めるようにし、そのクラスコードによって、用いるタップ係数を、実質的に切り替えるようにすることが可能である。即ち、クラスコードとしては、クラス分類部１３２が出力するクラスコードに、画素位置モードを付加したものを採用するようにすることが可能である。
【０６７４】
その後、タップ生成部１３１は、画素位置モード＃ｉの画素を注目画素とし、ステップＳ１０３において、クラス分類部１３２が、バッファメモリ２３から供給される注目ブロックの２次元ＤＣＴ係数を用いて、注目画素をクラス分類し、その注目画素のクラスを表すクラスコードを、タップ係数記憶部１３３に供給する。これにより、タップ係数記憶部１３３からは、注目画素のクラスのタップ係数が読み出され、タップ係数バッファ１３４に供給されて記憶される。
【０６７５】
ここで、上述のように、同一のクラスに分類される画素であっても、ブロックにおける位置（画素位置モード）が異なる場合には、異なるタップ係数が用いられる。従って、タップ係数記憶部１３３からは、注目画素のクラスのタップ係数として、画素位置モードの総数である６４セットのタップ係数が供給されるようになっており、タップ係数バッファ１３４は、そのような６４セットのタップ係数を記憶する。
【０６７６】
その後、ステップＳ１０４に進み、積和演算部１３５は、画素位置モード＃ｉに対応するタップ係数のセット（式（１）におけるｗ1，ｗ2，・・・）を、タップ係数バッファ１３４から読み出すことにより取得し、ステップＳ１０５に進む。
【０６７７】
ステップＳ１０５では、積和演算部１３５は、タップ生成部１３１からの予測タップと、タップ係数バッファ１３４から読み出したタップ係数とを用いて、式（１）の線形１次予測演算を行い、これにより、注目画素の画素値を復号する。
【０６７８】
そして、ステップＳ１０６に進み、タップ生成部１３１は、画素位置モード＃ｉを１だけインクリメントし、ステップＳ１０７に進む。ステップＳ１０７では、タップ生成部１３１は、画素位置モード＃ｉが、注目ブロックの画素数である６４（＝８×８）未満であるかどうかを判定する。
【０６７９】
ステップＳ１０７において、画素位置モード＃ｉが６４未満であると判定された場合、ステップＳ１０３に戻り、以下、同様の処理が繰り返される。
【０６８０】
また、ステップＳ１０７において、画素位置モード＃ｉが６４未満でないと判定された場合、即ち、注目ブロックのすべての画素値を復号した場合、処理を終了する。
【０６８１】
なお、図５５のクラス分類適応処理回路では、バッファメモリ２３（図１４）から供給されるブロックを、順次、注目ブロックとして、図５６の適応処理が繰り返し行われる。
【０６８２】
また、積和演算部１３５は、１フレーム（またはフィールド）の復号画像を得るまでは、復号したブロックを一時記憶しており、１フレームの復号画像が得られると、その１フレームの復号画像を出力する。
【０６８３】
次に、図５５のタップ係数記憶部１３３に記憶させるタップ係数の学習について説明する。
【０６８４】
ＭＰＥＧでは、予測方式の違いにより、Ｉピクチャ、Ｐピクチャ、Ｂピクチャの３つのピクチャタイプがあるので、タップ係数の学習も、ピクチャタイプごとに行われる。
【０６８５】
図５７は、Ｉピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。
【０６８６】
教師データストレージ１４１は、学習用の画像データを、教師データとして記憶している。
【０６８７】
生徒データ生成部１４２は、ＭＰＥＧエンコーダ１５１、分離部１５２、およびＤＣＴ係数抽出／逆量子化部１５３から構成され、教師データストレージ１４１に記憶された学習用の画像データ（ここでは、教師データでもある）から、生徒データを生成するようになっている。
【０６８８】
即ち、ＭＰＥＧエンコーダ１５１は、教師データストレージ１４１に記憶された学習用の画像データを読み出して、ＭＰＥＧ符号化し、その結果得られる符号化データを、分離部１５２に供給する。分離部１５２とＤＣＴ係数抽出／逆量子化部１５３は、図１４の分離部１とＤＣＴ係数抽出／逆量子化部２とそれぞれ同様に構成されており、符号化データから、量子化ＤＣＴ係数を分離、抽出し、逆量子化して出力する。
【０６８９】
なお、分離部１５２およびＤＣＴ係数抽出／逆量子化部１５３は、Ｉピクチャのみを対象に処理を行う。また、分離部１５２は、符号化データから、量子化ＤＣＴ係数の他、量子化スケールやＤＣＴタイプ等の、いわゆるサイドインフォメーションも、必要に応じて分離する。
【０６９０】
従って、ＤＣＴ係数抽出／逆量子化部１５３からは、Ｉピクチャについての２次元ＤＣＴ係数の他、ＤＣＴタイプ等の必要なサイドインフォメーションも出力される。
【０６９１】
ＤＣＴ係数抽出／逆量子化部１５３が出力するＩピクチャについての２次元ＤＣＴ係数やＤＣＴタイプ等は、生徒データとして、生徒データストレージ１４３に供給される。
【０６９２】
生徒データストレージ１４３は、生徒データ生成部１４２（のＤＣＴ係数抽出／逆量子化部１５３）から供給される生徒データを記憶する。
【０６９３】
タップ生成部１４４は、生徒データストレージ１４３に記憶された生徒データから、図５５のタップ生成部１３１が生成するのと同一の予測タップを生成し、足し込み部１４６に供給する。従って、ここでは、タップ生成部１４４は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のうち、注目ブロックを構成するすべての２次元ＤＣＴ係数を読み出して、予測タップとする。
【０６９４】
クラス分類部１４５は、図１９のクラス分類部１６と同様にされ、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数から１次元ＤＣＴ係数を求め、さらに、その１次元ＤＣＴ係数に基づき、図１９のクラス分類部１６における場合と同様にして、注目ブロックにおける注目画素をクラス分類し、注目画素のクラスを表すクラスコードを、足し込み部１４６に出力する。
【０６９５】
足し込み部１４６は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のブロックを、順次、注目ブロックとし、さらに、注目ブロックの画素を、順次、注目画素（注目教師データ）として、タップ生成部１４４からの生徒データとしての予測タップ（を構成する２次元ＤＣＴ係数）、および注目画素（の画素値）を対象とした足し込みを行う。
【０６９６】
即ち、足し込み部１４６は、クラス分類部１４５から供給されるクラスコードに対応するクラスごとに、予測タップ（生徒データ）を用い、式（８）の行列Ａにおける各コンポーネントとなっている、生徒データどうしの乗算（ｘinｘim）と、サメーション（Σ）に相当する演算を行う。
【０６９７】
さらに、足し込み部１４６は、やはり、クラス分類部１４５から供給されるクラスコードに対応するクラスごとに、予測タップ（生徒データ）および注目画素（教師データ）を用い、式（８）のベクトルｖにおける各コンポーネントとなっている、生徒データと教師データの乗算（ｘinｙi）と、サメーション（Σ）に相当する演算を行う。
【０６９８】
なお、足し込み部１４６における、上述のような足し込みは、各クラスについて、注目画素に対する画素位置モードごとに行われる。
【０６９９】
足し込み部１４６は、以上の足し込みを、生徒データストレージ１４３に記憶されている生徒データとしての２次元ＤＣＴ係数を構成するブロックすべてを注目ブロックとして行い、これにより、各クラスについて、画素位置モードごとに、式（８）に示した正規方程式をたてる。
【０７００】
タップ係数演算部１４７は、足し込み部１４６においてクラスごとに、かつ、画素位置モードごとに生成された各正規方程式を解くことにより、クラスごとに、６４の画素位置モードに対応した６４セットのタップ係数を求める。
【０７０１】
なお、学習用の画像として用意する画像の枚数や、その画像の内容等によっては、足し込み部１４６において、タップ係数を求めるのに必要な数の正規方程式が得られないクラス、さらには画素位置モードが生じる場合があり得るが、タップ係数演算部１４７は、そのようなクラスや画素位置モードについては、例えば、デフォルトのタップ係数を出力する。
【０７０２】
次に、図５８のフローチャートを参照して、図５７の学習装置の処理（学習処理）について説明する。
【０７０３】
まず最初に、ステップＳ１１１において、生徒データ生成部１４２は、上述したように、教師データストレージ１４１に記憶された学習用の画像データから、Ｉピクチャについての生徒データを生成し、生徒データストレージ１４３に供給して記憶させる。
【０７０４】
そして、ステップＳ１１２に進み、足し込み部１４６は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のブロックのうち、まだ、注目ブロックとしていないものの１つを選択して、注目ブロックとし、ステップＳ１１３に進む。
【０７０５】
ステップＳ１１３では、タップ生成部１４４が、注目ブロックの生徒データとしての２次元ＤＣＴ係数すべてを、生徒データストレージ１４３から読み出すことにより、図５５のタップ生成部１３１と同一構造の予測タップを生成し、ステップＳ１１４に進む。
【０７０６】
ステップＳ１１４では、足し込み部１４６が、画素位置モードを表す変数ｉを、例えば１に初期化し、ステップＳ１１５に進む。ステップＳ１１５では、クラス分類部１４５が、注目ブロックにおける画素位置モード＃ｉが表す位置の画素を注目画素として、図１９のクラス分類部１６における場合と同様にして、注目画素のクラス分類を行い、その結果得られるクラスコードを、足し込み部１４６に出力する。
【０７０７】
足し込み部１４６は、ステップＳ１１６において、教師データストレージ１４１から、注目画素となっている教師データ（画素値）を読み出し、生徒データとしての予測タップ（を構成する２次元ＤＣＴ係数）、および教師データとしての注目画素を対象として、式（８）の行列Ａとベクトルｖの、上述したような足し込みを行う。なお、この足し込みは、クラス分類部１４５からのクラスコードに対応するクラスごとに、かつ注目画素に対する画素位置モード＃ｉごとに行われる。
【０７０８】
そして、ステップＳ１１７に進み、足し込み部１４６は、画素位置モード＃ｉを１だけインクリメントし、ステップＳ１１８に進む。ステップＳ１１８では、足し込み部１４６は、画素位置モード＃ｉが、注目ブロックの画素数である６４未満であるかどうかを判定する。
【０７０９】
ステップＳ１１７において、画素位置モード＃ｉが６４未満であると判定された場合、ステップＳ１１５に戻り、以下、同様の処理が繰り返される。
【０７１０】
また、ステップＳ１１７において、画素位置モード＃ｉが６４未満でないと判定された場合、即ち、注目ブロックのすべての画素を注目画素として足し込みを行った場合、ステップＳ１１９に進み、足し込み部１４６は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のブロックのうち、まだ、注目ブロックとしていないもの（以下、適宜、未処理ブロックという）があるかどうかを判定する。
【０７１１】
ステップＳ１１９において、未処理ブロックがあると判定された場合、ステップＳ１１２に戻り、その未処理ブロックの中から、新たに注目ブロックとするものが選択され、以下、同様の処理が繰り返される。
【０７１２】
また、ステップＳ１１９において、未処理ブロックがないと判定された場合、即ち、足し込み部１４６において、各クラスについて、画素位置モードごとの正規方程式が得られた場合、ステップＳ１２０に進み、タップ係数演算部１４７は、各クラスの画素位置モードごとに生成された正規方程式を解くことにより、各クラスごとに、そのクラスの６４の画素位置モードそれぞれに対応する６４セットのタップ係数を求め、学習処理を終了する。
【０７１３】
次に、図５９は、Ｐピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。なお、図中、図５７における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図５９の学習装置は、生徒データ生成部１５１に代えて、生徒データ生成部１６２が設けられている他は、図５７における場合と基本的に同様に構成されている。
【０７１４】
ここで、Ｐピクチャは、時間的に先行して復号（符号化）されるＩまたはＰピクチャを参照画像として予測符号化（ノンイントラ符号化）されるため、即ち、原画像から予測画像を減算した残差画像が２次元ＤＣＴ変換されるため、図５５のクラス分類適応処理回路では、図１４の前処理部２０において、先に復号されたＩまたはＰピクチャに動き補償を施し、その結果得られる予測画像の２次元ＤＣＴ係数と、残差画像の２次元ＤＣＴ係数とを加算して得られる２次元ＤＣＴ係数を対象に、クラス分類適応処理を施すようになっている。
【０７１５】
従って、Ｐピクチャ用のタップ係数の学習においては、残差画像の２次元ＤＣＴ係数に、予測画像の２次元ＤＣＴ係数を加算したものを、生徒データとして用いる必要がある。
【０７１６】
ところで、Ｐピクチャの予測画像は、先に復号されたＩまたはＰピクチャを参照画像として、その参照画像に、動き補償を施すことで得ることができるが、いまの場合、Ｐピクチャのタップ係数を学習しようとしているので、Ｐピクチャ用のタップ係数は存在しない。
【０７１７】
一方、Ｉピクチャ用のタップ係数は、図５７の学習装置において、あらかじめ求めておくことができる。
【０７１８】
そこで、図５９の学習装置では、生徒データ生成部１６２において、Ｉピクチャを参照画像として予測符号化されるＰピクチャのブロックについて、生徒データが生成されるようになっている。
【０７１９】
即ち、ＭＰＥＧエンコーダ１７１は、教師データストレージ１４１に記憶された学習用の画像データを読み出して、ＭＰＥＧ符号化し、その結果得られる符号化データを、分離部１７２に供給する。分離部１７２とＤＣＴ係数抽出／逆量子化部１７３は、図１４の分離部１とＤＣＴ係数抽出／逆量子化部２とそれぞれ同様に構成されており、符号化データから、量子化ＤＣＴ係数を分離、抽出し、逆量子化する。
【０７２０】
なお、分離部１７２およびＤＣＴ係数抽出／逆量子化部１７３は、Ｉピクチャと、Ｐピクチャの予測符号化されたブロックのみを対象に処理を行う。また、分離部１７２は、符号化データから、量子化ＤＣＴ係数の他、量子化スケールやＤＣＴタイプや動きベクトル等のサイドインフォメーションも、必要に応じて分離する。
【０７２１】
ＤＣＴ係数抽出／逆量子化部１７３は、Ｉピクチャの２次元ＤＣＴ係数を得た場合、そのＩピクチャの２次元ＤＣＴ係数を、クラス分類適応処理回路１７６に供給する。
【０７２２】
また、ＤＣＴ係数抽出／逆量子化部１７３は、Ｐピクチャの予測符号化されたブロックの２次元ＤＣＴ係数、即ち、残差画像の２次元ＤＣＴ係数を得た場合、その残差画像の２次元ＤＣＴ係数を、周波数領域動き補償加算部１８１に供給する。
【０７２３】
さらに、ＤＣＴ係数抽出／逆量子化部１７３は、Ｐピクチャの予測符号化されたブロックの動きベクトルを得た場合、その動きベクトルを、動き補償部１７８に供給する。
【０７２４】
クラス分類適応処理回路１７６は、図５５のクラス分類適応処理回路と同様に構成されており、ＤＣＴ係数抽出／逆量子化部１７３から供給される、注目画素を含むブロックの２次元ＤＣＴ係数すべてを予測タップとして、クラス分類適応処理を行う。但し、クラス分類適応処理回路１７６においては、図５７の学習装置で得られたＩピクチャ用のタップ係数を記憶しており、そのタップ係数を用いて、クラス分類適応処理が行われる。
【０７２５】
クラス分類適応処理回路１７６においてクラス分類適応処理が行われることにより得られるＩピクチャの復号画像は、Ｉピクチャストレージ１７７に供給されて記憶される。
【０７２６】
その後、動き補償部１７８は、ＤＣＴ係数抽出／逆量子化部１７３から供給される動きベクトルによって動き補償を施すべき参照画像としてのＩピクチャを、Ｉピクチャストレージ１７７から読み出し、そのＩピクチャに動き補償を施すことで、予測画像を生成する。この予測画像は、画像メモリ１７９に供給されて記憶される。画像メモリ１７９に記憶された予測画像は、ＤＣＴ変換部１８０において２次元ＤＣＴ係数に変換され、周波数領域動き補償加算部１８１に供給される。周波数領域動き補償加算部１８１は、ＤＣＴ係数抽出／逆量子化部１７３から供給されるＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部１８０から供給される予測画像の２次元ＤＣＴ係数とを加算する。
【０７２７】
即ち、動き補償部１７８、画像メモリ１７９、ＤＣＴ変換部１８０、および周波数領域動き補償加算部１８１は、図１４の動き補償部４、画像メモリ５、ＤＣＴ変換部２１、周波数領域動き補償加算部２２と同様に構成されるものであり、従って、周波数領域動き補償加算部１８１において、ＤＣＴ係数抽出／逆量子化部１７３からのＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部１８０からの予測画像の２次元ＤＣＴ係数とが加算されることにより、Ｐピクチャの元の画像（上述したように、原画像ではない）を２次元ＤＣＴ変換した２次元ＤＣＴ係数が得られる。
【０７２８】
周波数領域動き補償加算部１８１で得られたＰピクチャの元の画像の２次元ＤＣＴ係数は、生徒データとして、生徒データストレージ１４３に供給されて記憶される。
【０７２９】
以降は、図５７の学習装置における場合と同様の処理が行われ、これにより、Ｐピクチャ用（正確には、Ｐピクチャの予測符号化されたブロック用）のタップ係数が求められる。
【０７３０】
次に、図６０は、Ｂピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。なお、Ｂピクチャ用のタップ係数を学習する学習装置も、図５９のＰピクチャ用のタップ係数を学習する学習装置と同様に、生徒データを生成する生徒データ生成部だけが、図５７のＩピクチャ用のタップ係数を学習する学習装置と異なるだけであるため、図６０においては、Ｂピクチャ用のタップ係数を学習する学習装置の生徒データ生成部だけを図示してある。
【０７３１】
Ｂピクチャも、Ｐピクチャと同様に、時間的に先行して復号されるＩまたはＰピクチャを参照画像として予測符号化（ノンイントラ符号化）されるため、即ち、原画像から予測画像を減算した残差画像が２次元ＤＣＴ変換されるため、図５５のクラス分類適応処理回路では、図１４の前処理部２０において、先に復号されたＩまたはＰピクチャに動き補償を施し、その結果得られる予測画像の２次元ＤＣＴ係数と、残差画像の２次元ＤＣＴ係数とを加算して得られる２次元ＤＣＴ係数に、クラス分類適応処理を施すようになっている。
【０７３２】
従って、Ｂピクチャ用のタップ係数の学習においては、残差画像の２次元ＤＣＴ係数に、予測画像の２次元ＤＣＴ係数を加算したものを、生徒データとして用いる必要がある。
【０７３３】
そこで、図６０の学習装置では、そのような生徒データを生成して、学習を行うようになっている。
【０７３４】
即ち、ＭＰＥＧエンコーダ１９１には、学習用の画像データ（ここでは、教師データに等しい）が供給されるようになっており、ＭＰＥＧエンコーダ１９１は、その学習用の画像データをＭＰＥＧ符号化し、その結果得られる符号化データを、分離部１９２に供給する。分離部１９２とＤＣＴ係数抽出／逆量子化部１９３は、図１４の分離部１とＤＣＴ係数抽出／逆量子化部２とそれぞれ同様に構成されており、符号化データから、量子化ＤＣＴ係数を分離、抽出し、逆量子化して出力する。
【０７３５】
ＤＣＴ係数抽出／逆量子化部１９３が出力するＩピクチャの２次元ＤＣＴ係数は、クラス分類適応処理回路１９６に供給される。また、ＤＣＴ係数抽出／逆量子化部１９３が出力するＰピクチャの２次元ＤＣＴ係数は、周波数領域動き補償加算部２０１に供給される。さらに、ＤＣＴ係数抽出／逆量子化部１９３が出力するＢピクチャの２次元ＤＣＴ係数は、周波数領域動き補償加算部２０９に供給される。
【０７３６】
ここで、分離部１９２は、符号化データから、量子化ＤＣＴ係数の他、量子化スケールやＤＣＴタイプや動くベクトル等のサイドインフォメーションも、必要に応じて分離し、ＤＣＴ係数抽出／逆量子化部１９３を介して、必要なブロックに供給する。なお、サイドインフォメーションについては、図６０の実施の形態では、ＤＣＴ係数抽出／逆量子化部１９３から動き補償部１９８へのＰピクチャの動きベクトルの供給と、ＤＣＴ係数抽出／逆量子化部１９３から動き補償部２０６へのＢピクチャの動きベクトルの供給だけを、図示してある。
【０７３７】
また、ＤＣＴ係数抽出／逆量子化部１９３は、Ｂピクチャの予測符号化されたブロックの２次元ＤＣＴ係数、即ち、残差画像の２次元ＤＣＴ係数だけを、周波数領域動き補償加算部２０９に供給する。
【０７３８】
さらに、ＤＣＴ係数抽出／逆量子化部１９３は、Ｐピクチャについては、予測符号化されたブロックの２次元ＤＣＴ係数だけを、周波数領域動き補償加算部２０１に供給する。また、ＤＣＴ係数抽出／逆量子化部１９３では、Ｐピクチャのイントラ符号化されたブロックの２次元ＤＣＴ係数は、クラス分類適応処理回路１９６に供給され、以下、イントラ符号化されたＩピクチャと同様に処理される。
【０７３９】
即ち、クラス分類適応処理回路１９６は、図５５のクラス分類適応処理回路と同様に構成されており、図５７の学習装置で得られたＩピクチャ用のタップ係数を記憶している。そして、クラス分類適応処理回路１９６は、ＤＣＴ係数抽出／逆量子化部１９３から供給される、注目画素を含むブロックの２次元ＤＣＴ係数すべてを予測タップとして、クラス分類適応処理適応処理を行う。
【０７４０】
クラス分類適応処理回路１９６においてクラス分類適応処理が行われることにより得られるＩピクチャの復号画像は、Ｉピクチャストレージ１９７に供給されて記憶される。なお、クラス分類適応処理回路１９６では、イントラ符号化されたＰピクチャのブロックの復号画像も得られるが、このＰピクチャの復号画像は、クラス分類適応処理回路１９６からＰピクチャストレージ２０５に供給されて記憶される。
【０７４１】
その後、動き補償部１９８は、ＤＣＴ係数抽出／逆量子化部１９３から供給される動きベクトルによって動き補償を施すべき参照画像としてのＩピクチャを、Ｉピクチャストレージ１９７から読み出し、そのＩピクチャに動き補償を施すことで、Ｐピクチャの予測画像を生成する。このＰピクチャの予測画像は、画像メモリ１９９に供給されて記憶される。画像メモリ１９９に記憶された予測画像は、ＤＣＴ変換部２００において２次元ＤＣＴ係数に変換され、周波数領域動き補償加算部２０１に供給される。周波数領域動き補償加算部２０１は、ＤＣＴ係数抽出／逆量子化部１９３から供給されるＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２００から供給される予測画像の２次元ＤＣＴ係数とを加算する。
【０７４２】
即ち、動き補償部１９８、画像メモリ１９９、ＤＣＴ変換部２００、および周波数領域動き補償加算部２０１は、図１４の動き補償部４、画像メモリ５、ＤＣＴ変換部２１、周波数領域動き補償加算部２２と同様に構成されるものであり、従って、周波数領域動き補償加算部２０１において、ＤＣＴ係数抽出／逆量子化部１９３からのＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２００からの予測画像の２次元ＤＣＴ係数とが加算されることにより、Ｐピクチャの元の画像（上述したように、原画像ではない）を２次元ＤＣＴ変換した２次元ＤＣＴ係数が得られる。
【０７４３】
周波数領域動き補償加算部２０１で得られたＰピクチャの元の画像の２次元ＤＣＴ係数は、クラス分類適応処理回路２０４に供給される。
【０７４４】
クラス分類適応処理回路２０４は、図５５のクラス分類適応処理回路と同様に構成され、図５９の学習装置で得られたＰピクチャ用のタップ係数を記憶している。そして、クラス分類適応処理回路２０４は、周波数領域動き補償加算部２０１から供給されるＰピクチャの予測符号化されたブロックの画素を、順次、注目画素として、その注目画素を含むブロックの２次元ＤＣＴ係数すべてを予測タップとし、クラス分類適応処理を行う。
【０７４５】
クラス分類適応処理回路２０４において適応処理が行われることにより得られる、予測符号化されたＰピクチャのブロックの復号画像は、Ｐピクチャストレージ２０５に供給されて記憶される。なお、上述したように、Ｐピクチャストレージ２０５は、クラス分類適応処理回路１９６から供給される、イントラ符号化されたＰピクチャのブロックの復号画像も記憶する。
【０７４６】
その後、動き補償部２０６は、ＤＣＴ係数抽出／逆量子化部１９３から供給されるＢピクチャの動きベクトルによって動き補償を施すべき参照画像としてのＩまたはＰピクチャを、Ｉピクチャストレージ１９７またはＰピクチャストレージ２０５から読み出し、そのＩまたはＰピクチャに動き補償を施すことで、Ｂピクチャの予測画像を生成する。このＢピクチャの予測画像は、画像メモリ２０７に供給されて記憶される。画像メモリ２０７に記憶された予測画像は、ＤＣＴ変換部２０８において２次元ＤＣＴ係数に変換され、周波数領域動き補償加算部２０９に供給される。周波数領域動き補償加算部２０９は、ＤＣＴ係数抽出／逆量子化部１９３から供給されるＢピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２０８から供給される予測画像の２次元ＤＣＴ係数とを加算する。
【０７４７】
即ち、動き補償部２０６、画像メモリ２０７、ＤＣＴ変換部２０８、および周波数領域動き補償加算部２０９は、図１４の動き補償部４、画像メモリ５、ＤＣＴ変換部２１、周波数領域動き補償加算部２２と同様に構成されるものであり、従って、周波数領域動き補償加算部２０９において、ＤＣＴ係数抽出／逆量子化部１９３からのＢピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２０８からの予測画像の２次元ＤＣＴ係数とが加算されることにより、Ｂピクチャの元の画像（上述したように、原画像ではない）を２次元ＤＣＴ変換した２次元ＤＣＴ係数が得られる。
【０７４８】
周波数領域動き補償加算部２０９で得られたＢピクチャの元の画像の２次元ＤＣＴ係数は、生徒データとして出力される。そして、以降は、図５７の学習装置における場合と同様の処理が行われ、これにより、Ｂピクチャ用（正確には、Ｂピクチャの予測符号化されたブロック用）のタップ係数が求められる。
【０７４９】
図５５のタップ係数記憶部１３３には、以上のような学習によって、各クラスごとに求められた６４の画素位置モードそれぞれごとの、Ｉ，Ｐ，Ｂピクチャ用のタップ係数が記憶されている。
【０７５０】
従って、タップ係数記憶部１３３に記憶されたタップ係数は、線形１次予測演算を行うことにより得られる元の画素値の予測値の予測誤差（ここでは、自乗誤差）が、統計的に最小になるように学習を行うことにより求められたものであり、その結果、図５５のクラス分類適応処理回路によれば、ＭＰＥＧ符号化された画像を、元の画像に限りなく近い画像、即ち、ブロック歪みやモスキートノイズ等の各種の歪みを十分に低減した、画質の良い画像に復号することができる。
【０７５１】
ここで、学習装置では、輝度信号と色差信号について、別々に正規方程式がたてられ、輝度信号からたてられた正規方程式を解くことにより得られるタップ係数は、輝度信号用にタップ係数として、タップ係数記憶部１３３に記憶され、色差信号からたてられた正規方程式を解くことにより得られるタップ係数は、色差信号用のタップ係数として、タップ係数記憶部１３３に記憶される。
【０７５２】
なお、図５５のクラス分類適応処理回路において、Ｉピクチャのブロックについては、Ｉピクチャ用のタップ係数を用いてクラス分類適応処理が行われる。また、ＰピクチャまたはＢピクチャのブロックについては、そのブロックが予測符号化（ノンイントラ符号化）されている場合には、ＰピクチャまたはＢピクチャ用のタップ係数を用いてクラス分類適応処理が行われるが、ブロックがイントラ符号化されている場合には、Ｉピクチャ用のタップ係数を用いてクラス分類適応処理が行われる。
【０７５３】
また、上述の場合には、Ｉ，Ｐ，Ｂピクチャそれぞれ用のタップ係数を学習するようにしたが、例えば、Ｂピクチャ用のタップ係数の学習は省略することが可能である。この場合、図５５のクラス分類適応処理回路では、ＰピクチャとＢピクチャの予測符号化されたブロックについて、例えば、いずれも、Ｐピクチャ用のタップ係数を用いてクラス分類適応処理が行われる。さらに、図５５のクラス分類適応処理回路において、Ｉ，Ｐ，Ｂピクチャについてのクラス分類適応処理は、すべて、Ｉピクチャ用のタップ係数を用いて行うようにすることが可能である。
【０７５４】
次に、図６１および図６２は、図１４の画像処理装置を、ＦＴ変換部５１に代えて、図５５のクラス分類適応処理回路を設けて構成し、ＭＰＥＧ符号化された画像を復号するシミュレーションを行って得られたシミュレーション結果を示している。
【０７５５】
なお、シミュレーションにおいては、４：２：２フォーマットの画像を、約３．３ＭｂｐｓのデータレートでＭＰＥＧ２方式により符号化して得られた符号化データを用いた。また、シミュレーションでは、ＩピクチャとＰピクチャを、それぞれ偶数フレームと奇数フレームとして、１フレームごとに交代する画像シーケンスを用いた。
【０７５６】
図６１は、シミュレーションによって得られた復号画像の輝度信号についてのＳ／Ｎ(Signal to Noise ratio)を示している。
【０７５７】
図６１において、実線で示すＳ／Ｎは、ＦＴ変換部５１に代えて図５５のクラス分類適応処理回路を設けた図１４の画像処理装置による復号画像のものを示しており、点線で示すＳ／Ｎは、ＭＰＥＧの規格に準拠した従来のＭＰＥＧソフトウェアデコーダによる復号画像のものを示している。図６１から、クラス分類適応処理回路を設けた図１４の画像処理装置による復号画像のＳ／Ｎが、従来のＭＰＥＧソフトウェアデコーダによる復号画像と比較して、約１ｄＢ程度向上していることが分かる。
【０７５８】
図６２は、シミュレーションによって得られた復号画像を示している。
【０７５９】
即ち、図６２Ａは、原画像を、図６２Ｂは、従来のＭＰＥＧソフトウェアデコーダによる復号画像を、図６２Ｃは、クラス分類適応処理による復号画像を、それぞれ示している。なお、図６２Ａ乃至図６２Ｃにおいて、その右側の約１／３の部分が、瓶の全体が表示されている全体の画像を示しており、左側の約２／３の部分が、その瓶のラベルの部分を拡大した画像を示している。また、図６２に示した画像は、Ｉピクチャの画像である。
【０７６０】
図６２Ａの原画像と、図６２Ｂの従来のＭＰＥＧソフトウェアデコーダによる復号画像を比較すると、図６２Ｂの復号画像には、ブロックの境界が顕著に現れるブロック歪みが生じ、さらに、瓶のラベルにおける「Ｚ」の文字の部分に、モスキートノイズが顕著に現れている。
【０７６１】
これに対して、図６２Ｃのクラス分類適応処理による復号画像においては、ブロック歪みが十分に低減されており、さらに、モスキートノイズも低減されている。
【０７６２】
ところで、図５５のクラス分類適応処理回路では、タップ生成部１３１において、注目ブロックの８×８個の２次元ＤＣＴ係数を予測タップとして採用することから、図５７乃至図６０で説明した学習においては、１クラスの１つの画素位置モードについて、予測タップとしての８×８個の２次元ＤＣＴ係数それぞれと乗算されるタップ係数、即ち、８×８個のタップ係数が求められる。また、画素位置モードは、６４モード存在するから、１クラスについて、８×８個のタップ係数は、６４セット求められることになる。
【０７６３】
従って、図５５のクラス分類適応処理回路においては、１クラスにつき、８×８個のタップ係数が６４セット必要となるが、クラス分類適応処理回路においても、図４のＦＴ変換部１０における場合と同様に、縮退画素位置モードを採用することができ、この場合、１クラスについて必要な８×８個のタップ係数のセット数は、縮退画素位置モードと同一の数、即ち、１６セットに減らすことができる。
【０７６４】
但し、この場合、図５５のクラス分類適応処理回路では、例えば、タップ生成部１３１または積和演算部１３５において、予測タップとしての８×８個の２次元ＤＣＴ係数について、図４の符号制御部１２における場合と同様の符号制御を行う必要がある。さらに、図５７乃至図６０で説明した学習においても、同様に、縮退画素位置モードを採用し、予測タップとしての８×８個の２次元ＤＣＴ係数について、符号制御を行う必要がある。即ち、足し込み部１４６（図５７、図５９）において、各クラスについて、縮退画素位置モードごとに足し込みを行うとともに、タップ生成部１４４（図５７、図５９）または足し込み部１４６において、予測タップとしての８×８個の２次元ＤＣＴ係数について、図４の符号制御部１２における場合と同様の符号制御を行う必要がある。また、図５９のクラス分類適応処理回路１７６や、図６０のクラス分類適応処理回路１９６および２０４でも、縮退画素位置モードを採用し、予測タップについて、図４の符号制御部１２における場合と同様の符号制御を行う必要がある。
【０７６５】
図５５のクラス分類適応処理回路において、縮退画素位置モードを採用した場合、１クラスについて必要な８×８個のタップ係数のセット数は、上述したように、縮退画素位置モードと同一の数である１６セットになる。
【０７６６】
そこで、図６３は、縮退画素位置モードを採用し、実際の画像を用いた学習によって求められた、あるクラスについての、１６の縮退画素位置モードそれぞれの８×８個のタップ係数のうちの、水平方向または垂直方向に並ぶものの平均値と、ＤＣＴ変換の基底波形（あるいは、種データとしての基底波形から生成される変換係数）との比を示している。
【０７６７】
即ち、いま、縮退画素位置モード＃ｎ’の８×８個のタップ係数のうち、第ｖ＋１行第ｕ＋１列の位置のタップ係数を、ｗ（ｎ’，ｕ，ｖ）と表す。また、式（１７）に示したように、ブロックの第ｉ＋１行第ｊ＋１列にある画素の画素値Ｌ（ｉ，ｊ）を求めるときに、そのブロックの８×８個の２次元ＤＣＴ係数ｆ（ｕ，ｖ）それぞれと乗算される８×８個の変換係数を、Ｆ（ｉ，ｊ，ｕ，ｖ）と表す。
【０７６８】
ここで、変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）は、ブロックにおける画素の位置（ｉ，ｊ）ごとに、８×８個存在し、そのブロックの第ｖ＋１行第ｕ＋１列の２次元ＤＣＴ係数ｆ（ｕ，ｖ）と乗算される。また、いまの場合、縮退画素位置モードを採用しており、図５乃至図１０を参照して説明したように、ブロックにおける画素の位置（ｉ，ｊ）に対して、縮退画素位置モード＃ｎ’は、一意に決まる。そこで、いま、変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）を、縮退画素位置モード＃ｎ’を用いて、Ｆ（ｎ’，ｕ，ｖ）と表すこととする。
【０７６９】
以上のように、タップ係数ｗ（ｎ’，ｕ，ｖ）および変換係数Ｆ（ｎ’，ｕ，ｖ）のいずれも、縮退画素位置モード＃ｎ’ごとに、８×８個ずつ存在する。そこで、いま、タップ係数ｗ（ｎ’，ｕ，ｖ）を、変換係数Ｆ（ｎ’，ｕ，ｖ）で除算した値（ｗ（ｎ’，ｕ，ｖ）／Ｆ（ｎ’，ｕ，ｖ））を、係数比と呼ぶこととし、ｋ（ｎ’，ｕ，ｖ）で表すこととする。
【０７７０】
タップ係数ｗ（ｎ’，ｕ，ｖ）および変換係数Ｆ（ｎ’，ｕ，ｖ）が、縮退画素位置モード＃ｎ’ごとに、８×８個ずつ存在するから、係数比ｋ（ｎ’，ｕ，ｖ）も、図６４に示すように、やはり、１６の縮退画素位置モード＃０乃至＃１５それぞれについて、８×８個ずつ存在する。
【０７７１】
図６４に示した８×８個ずつの係数比ｋ（ｎ’，ｕ，ｖ）は、１６の縮退画素位置モード＃０乃至＃１５それぞれごとに存在する。そして、１６の縮退画素位置モードについては、例えば、図５Ａに示した、ブロックの４×４の左上領域を基準として、位置を考えると、縮退画素位置モード＃ｎ’が０，１，２，３である４つの位置の水平方向の並びは第１行と、縮退画素位置モード＃ｎ’が４，５，６，７である４つの位置の水平方向の並びは第２行と、縮退画素位置モード＃ｎ’が８，９，１０，１１である４つの位置の水平方向の並びは第３行と、縮退画素位置モード＃ｎ’が１２，１３，１４，１５である４つの位置の水平方向の並びは第４行と、それぞれいうことができる。
【０７７２】
同様に、縮退画素位置モード＃ｎ’が０，４，８，１２である４つの位置の垂直方向の並びは第１列と、縮退画素位置モード＃ｎ’が１，５，９，１３である４つの位置の垂直方向の並びは第２列と、縮退画素位置モード＃ｎ’が２，６，１０，１４である４つの位置の垂直方向の並びは第３列と、縮退画素位置モード＃ｎ’が３，７，１１，１５である４つの位置の垂直方向の並びは第４列と、それぞれいうことができる。
【０７７３】
そこで、いま、１６の縮退画素位置モード＃０乃至＃１５それぞれについて、８×８個ずつ存在する係数比ｋ（ｎ’，ｕ，ｖ）を、縮退画素位置モード＃ｎ’ごとに配置すると、図６４に示すようになる。
【０７７４】
ここで、図６４において、縮退画素位置モード＃０についての８×８個の係数比ｋ（０，ｕ，ｖ）、縮退画素位置モード＃１についての８×８個の係数比ｋ（１，ｕ，ｖ）、縮退画素位置モード＃２についての８×８個の係数比ｋ（２，ｕ，ｖ）、縮退画素位置モード＃３についての８×８個の係数比ｋ（３，ｕ，ｖ）の横方向の並びが、上述の第１行であり、この並びを、以下、適宜、第１行の係数比という。同様に、以下、適宜、係数比ｋ（４，ｕ，ｖ）、ｋ（５，ｕ，ｖ）、ｋ（６，ｕ，ｖ）、およびｋ（７，ｕ，ｖ）の横方向の並びを、第２行の係数比と、係数比ｋ（８，ｕ，ｖ）、ｋ（９，ｕ，ｖ）、ｋ（１０，ｕ，ｖ）、およびｋ（１１，ｕ，ｖ）の横方向の並びを、第３行の係数比と、係数比ｋ（１２，ｕ，ｖ）、ｋ（１３，ｕ，ｖ）、ｋ（１４，ｕ，ｖ）、およびｋ（１５，ｕ，ｖ）の横方向の並びを、第４行の係数比と、それぞれいう。
【０７７５】
また、図６４において、縮退画素位置モード＃０についての８×８個の係数比ｋ（０，ｕ，ｖ）、縮退画素位置モード＃４についての８×８個の係数比ｋ（４，ｕ，ｖ）、縮退画素位置モード＃８についての８×８個の係数比ｋ（８，ｕ，ｖ）、縮退画素位置モード＃１２についての８×８個の係数比ｋ（１２，ｕ，ｖ）の縦方向の並びが、上述の第１列であり、この並びを、以下、適宜、第１列の係数比という。同様に、以下、適宜、係数比ｋ（１，ｕ，ｖ）、ｋ（５，ｕ，ｖ）、ｋ（９，ｕ，ｖ）、およびｋ（１３，ｕ，ｖ）の横方向の並びを、第２列の係数比と、係数比ｋ（２，ｕ，ｖ）、ｋ（６，ｕ，ｖ）、ｋ（１０，ｕ，ｖ）、およびｋ（１４，ｕ，ｖ）の横方向の並びを、第３列の係数比と、係数比ｋ（３，ｕ，ｖ）、ｋ（７，ｕ，ｖ）、ｋ（１１，ｕ，ｖ）、およびｋ（１５，ｕ，ｖ）の横方向の並びを、第４列の係数比と、それぞれいう。
【０７７６】
係数比は、タップ係数と変換係数との比であり、図６４において、例えば、第１行の係数比ｋ（０，ｕ，ｖ）、ｋ（１，ｕ，ｖ）、ｋ（２，ｕ，ｖ）、およびｋ（３，ｕ，ｖ）について、周波数ｖごとに、その平均値を演算すると、その周波数ｖごとの第１行の係数比の平均値は、第１行のタップ係数の周波数特性（以下、適宜、第１行についての周波数特性という）を表しているということができる。
【０７７７】
即ち、第１行の係数比ｋ（０，ｕ，ｖ）、ｋ（１，ｕ，ｖ）、ｋ（２，ｕ，ｖ）、およびｋ（３，ｕ，ｖ）について、周波数ｖが０の場合の平均値を求める。これは、例えば、Σｋ（０，ｕ，０）／８、Σｋ（１，ｕ，０）／８、ｋ（２，ｕ，０）／８、およびｋ（３，ｕ，０）／８を計算し（Σは、ｕを０から７に変えてのサメーションを表す）、さらに、（Σｋ（０，ｕ，０）／８＋Σｋ（１，ｕ，０）／８＋ｋ（２，ｕ，０）／８＋ｋ（３，ｕ，０）／８）／４を計算することで求めることができる。同様に、第１行の係数比ｋ（０，ｕ，ｖ）、ｋ（１，ｕ，ｖ）、ｋ（２，ｕ，ｖ）、およびｋ（３，ｕ，ｖ）について、周波数ｖが１乃至７それぞれの場合の平均値も求めることができ、このようにして求められる周波数ｖごとの平均値が、第１行についての周波数特性を表す。
【０７７８】
第２行乃至第４行の係数比に関しても同様にして、第２行乃至第４行それぞれについての周波数特性を求めることができる。
【０７７９】
また、図６４において、例えば、第１列の係数比ｋ（０，ｕ，ｖ）、ｋ（４，ｕ，ｖ）、ｋ（８，ｕ，ｖ）、およびｋ（１２，ｕ，ｖ）について、周波数ｕごとに、その平均値を演算すると、その周波数ｕごとの第１列の係数比の平均値は、第１列のタップ係数の周波数特性（以下、適宜、第１列についての周波数特性という）を表しているということができる。
【０７８０】
即ち、第１列の係数比ｋ（０，ｕ，ｖ）、ｋ（４，ｕ，ｖ）、ｋ（８，ｕ，ｖ）、およびｋ（１２，ｕ，ｖ）について、周波数ｕが０の場合の平均値を求める。これは、例えば、Σｋ（０，０，ｖ）／８、Σｋ（４，０，ｖ）／８、ｋ（８，０，ｖ）／８、およびｋ（１２，０，ｖ）／８を計算し（Σは、ｖを０から７に変えてのサメーションを表す）、さらに、（Σｋ（０，０，ｖ）／８＋Σｋ（４，０，ｖ）／８＋ｋ（８，０，ｖ）／８＋ｋ（１２，０，ｖ）／８）／４を計算することで求めることができる。同様に、第１列の係数比ｋ（０，ｕ，ｖ）、ｋ（４，ｕ，ｖ）、ｋ（８，ｕ，ｖ）、およびｋ（１２，ｕ，ｖ）について、周波数ｕが１乃至７それぞれの場合の平均値も求めることができ、このようにして求められる周波数ｕごとの平均値が、第１列についての周波数特性を表す。
【０７８１】
第２列乃至第４列の係数比に関しても同様にして、第２列乃至第４列それぞれについての周波数特性を求めることができる。
【０７８２】
図６３Ａは、以上のようにして求められた、第１行乃至第４行それぞれについてのタップ係数の周波数特性を示しており、図６３Ｂは、第１列乃至第４列それぞれについてのタップ係数の周波数特性を示している。なお、図６３Ａにおける横軸は周波数ｖを表しており、図６３Ｂにおける横軸は周波数ｕを表している。
【０７８３】
図６３に示した周波数特性は、実際に学習を行って得られたタップ係数から求められたものであり、図６３Ａに示した周波数特性は、周波数ｖが高くなるほど、値が大きくなる傾向がある。また、図６３Ｂに示した周波数特性は、周波数ｕが大きくなるほど、値が小さくなる傾向があり、さらに、符号の逆転も生じている。
【０７８４】
図１８の種重み記憶部１７に記憶された種重みデータとしては、クラスごとのタップ係数からそれぞれ求められる、図６３および図６４に示したようなクラスごとの周波数特性が採用されている。
【０７８５】
なお、係数比の平均値を求めるにあたっては、特異な値のタップ係数（例えば、他のタップ係数と値が大きく異なるタップ係数など）から求められた係数比は除外するのが望ましい。
【０７８６】
また、種重み記憶部１７には、上述したような、各クラスについて、各行および各列についての周波数特性の、各周波数ｕ（ｖ）における値を、種重みデータとして記憶させておくことも可能であるが、各行および各列についての周波数特性を、注目画素のクラスや画素位置モード＃ｎを引数とする所定の関数で近似し、その関数を、種重みデータとして記憶させておくことも可能である。この場合、種重み記憶部１７として、容量の小さいメモリを採用することが可能となる。
【０７８７】
さらに、種重みデータは、上述したようなタップ係数の周波数特性に限定されるものではない。
【０７８８】
また、種重み記憶部１７には、種重みデータとして、各クラスについて、図６３および図６４に示した第１行乃至第４行それぞれについての周波数特性と、第１列乃至第４列それぞれについての周波数特性が記憶される。従って、種重み記憶部１７に記憶された種重みデータを特定するには、クラスを表すクラスコードの他、その種重みデータが第何列または第何行についての周波数特性であるのかを表す情報が必要である。なお、この情報としては、注目画素の縮退画素位置モード＃ｎ’から、上述したようにして求められる縮退座標系の座標を採用することができる。
【０７８９】
次に、図６５のフローチャートおよび図６６を参照して、図１８のＦＴ変換部５１の処理（ＦＴ変換）について説明する。
【０７９０】
モード制御部１１は、バッファメモリ２３（図１４）に記憶された２次元ＤＣＴ係数のブロックのうち、まだ、注目ブロックとしていない、バッファメモリ２３への記憶順で最も古いブロックを、注目ブロックとし、その注目ブロックのＤＣＴ係数を、符号制御部１２に供給する。
【０７９１】
そして、ステップＳ１３１において、モード制御部１１は、図６６Ａに示すように、注目ブロックの画素のうちの、ラスタスキャン順で、まだ、注目画素としていない画素を、注目画素として選択し、ステップＳ１３２に進む。図６６Ａの実施の形態では、ブロックにおける位置（１，３）の画素（左から２（＝１＋１）番目で、上から４（＝３＋１）番目の画素）が、注目画素とされている。
【０７９２】
ステップＳ１３２では、モード制御部１１は、注目画素の座標（ｉ，ｊ）に基づき、画素位置モード＃ｎと領域情報を求め、領域情報を、符号制御部１２に供給し、ステップＳ１３３に進む。ここで、図６６Ａの実施の形態においては、ブロックにおける位置（１，３）の画素が、注目画素とされているが、この場合、画素位置モード＃ｎは、２５となる。
【０７９３】
ステップＳ１３３では、モード制御部１１は、注目画素の画素位置モード＃ｎを縮退することにより、縮退画素位置モード＃ｎ’を求め、種データ記憶部１３に供給して、ステップＳ１３４に進む。ここで、図６６Ａに示したように、画素位置モード＃ｎが２５の場合、縮退画素位置モード＃ｎ’は、１３となる。
【０７９４】
ステップＳ１３４では、クラス分類部１６が、バッファメモリ２３（図１４）に記憶された２次元ＤＣＴ係数に基づいて、注目画素のクラス分類を行い、その結果得られるクラスコードを、種重み記憶部１７に供給して、ステップＳ１３５に進む。
【０７９５】
ステップＳ１３５では、種重み記憶部１７は、クラス分類部１６からのクラスコードが表すクラスの種重みデータを読み出し、種データ補正部１８に供給する。
【０７９６】
ここで、種重み記憶部１７には、例えば、上述したように、各クラスについて、図６３に示したような４行それぞれと４列それぞれについての各周波数ｕにおける値を、種重みデータとして記憶しているが、種重み記憶部１７は、ステップＳ１３５において、注目画素のクラスの、４行それぞれと４列それぞれについての各周波数ｕにおける種重みデータを読み出して、種データ補正部１８に供給する。
【０７９７】
その後、ステップＳ１３６に進み、種データ記憶部１３が、モード制御部１１から供給される縮退画素位置モード＃ｎ’に対応する種データを読み出し、種データ補正部１８に供給する。
【０７９８】
即ち、種データ記憶部１３は、上述の図１３Ｂと同様の図６６Ｂに示すように、周波数ｕの軸と、位置ｊの軸とで定義される２次元平面上において考えることのできる１乃至７の周波数ｕそれぞれについての位置ｊが０乃至３それぞれの基底波形の２８個の値と、周波数ｕが０のときの１つの基底波形の値を記憶している。
【０７９９】
そして、ステップＳ１３６では、種データ記憶部１３は、図１２のステップＳ４における場合と同様に、モード制御部１１から供給される注目画素の縮退画素位置モード＃ｎ’から、その注目画素の縮退座標（Ｈ，Ｖ）を求め、図６６Ｂにおける位置ｊがＨの、周波数が１乃至７それぞれの基底波形の７つの値と、位置ｊがＶの、周波数が１乃至７それぞれの基底波形の７つの値を読み出し、種データ補正部１８に供給する。
【０８００】
さらに、種データ記憶部１３は、周波数ｕが０のときの１つの基底波形の値を読み出し、種データ補正部１８に供給する。
【０８０１】
従って、例えば、図６６Ａに示したように、縮退座標（Ｈ，Ｖ）が、（１，３）の画素が注目画素とされた場合には、位置ｊが１の、周波数が１乃至７それぞれの基底波形の７つの値、位置ｊが３の、周波数が１乃至７それぞれの基底波形の７つの値、および周波数ｕが０のときの１つの基底波形の値としての種データが、種データ記憶部１３から種データ補正部１８に供給される。
【０８０２】
そして、ステップＳ１３７に進み、種データ補正部１８は、種データ記憶部１３から供給された基底波形の値から、水平方向の基底波形の８つの値Ｆhと、垂直方向の基底波形の８つの値Ｆvを求める。
【０８０３】
即ち、種データ補正部１８は、ステップＳ１３７において、図６６Ｃに示すように、周波数ｕが０のときの１つの基底波形の値を先頭として、位置ｊがＨの、周波数が１乃至７それぞれの基底波形の７つの値を順次配置することにより、水平方向の基底波形の８つの値Ｆhとするとともに、周波数ｕが０のときの１つの基底波形の値を先頭として、位置ｊがＶの、周波数が１乃至７それぞれの基底波形の７つの値を順次配置することにより、垂直方向の基底波形の８つの値Ｆvとする。
【０８０４】
さらに、種データ補正部１８は、ステップＳ１３７において、水平方向の基底波形の８つの値Ｆhと、垂直方向の基底波形の８つの値Ｆvを、ステップＳ１３５で種重みデータ記憶部１７から供給された、注目画素のクラスの種重みデータによって補正する。
【０８０５】
即ち、種データ補正部１８は、種重み記憶部１７から供給される、注目画素のクラスの、４行それぞれについての各周波数ｕにおける種重みデータ（図６３Ａに示した周波数特性としての種重みデータ）から、注目画素の行Ｈに一致する行についての各周波数ｕにおける種重みデータを選択し、図６６Ｄに示すように、その各周波数ｕにおける種重みデータを、水平方向の基底波形の８つの値Ｆhのうちの、対応する周波数ｕのものに乗算することにより、その水平方向の基底波形の８つの値Ｆhを補正する。さらに、種データ補正部１８は、種重み記憶部１７から供給される、注目画素のクラスの、４列それぞれについての各周波数ｕにおける種重みデータ（図６３Ｂに示した周波数特性としての種重みデータ）から、注目画素の行Ｖに一致する行についての各周波数ｕにおける種重みデータを選択し、図６６Ｄに示すように、その各周波数ｕにおける種重みデータを、垂直方向の基底波形の８つの値Ｆvのうちの、対応する周波数ｕのものに乗算することにより、その垂直方向の基底波形の８つの値Ｆvを補正する。
【０８０６】
そして、種データ補正部１８は、その補正後の水平方向の基底波形の８つの値Ｆhと垂直方向の基底波形の８つの値Ｆvを、変換係数生成部１４に供給し、ステップＳ１３８に進む。
【０８０７】
ステップＳ１３８では、変換係数生成部１４が、種データ補正部１８から供給される、補正後の水平方向の基底波形Ｆhと垂直方向の基底波形Ｆvから、注目画素の画素値を復号するための変換係数を生成する。
【０８０８】
即ち、変換係数生成部１４は、図６６Ｅ示すように、補正後の水平方向の基底波形の８つの値Ｆhそれぞれと、補正後の垂直方向の基底波形の８つの値Ｆvそれぞれとを、総当たりで乗算することにより、図６６Ｆに示す８×８の変換係数、即ち、座標（ｉ，ｊ）の注目画素の画素値を復号するための式（１７）における６４個の変換係数Ｆ（ｉ，ｊ，０，０）乃至Ｆ（ｉ，ｊ，７，７）を生成し、積和演算部１５に供給する。
【０８０９】
このように、種重みデータによって補正された水平方向の基底波形Ｆhと垂直方向の基底波形Ｆvによって得られる変換係数は、図６３に示したような周波数特性を有するものとなる。
【０８１０】
ここで、図６６Ｅおよび図６６Ｆの実施の形態では、水平方向の基底波形の８つの値Ｆhの先頭から６（＝５＋１）番目の値と、垂直方向の基底波形の８つの値Ｆvの先頭から２（＝１＋１）番目の値とが乗算されることにより、注目ブロックの座標（５，１）の位置にある２次元ＤＣＴ係数と乗算される変換係数が生成されている。
【０８１１】
その後、ステップＳ１３９に進み、符号制御部１２は、ステップＳ１３２でモード制御部１１から供給される注目画素の領域情報に基づいて、図５乃至図１０で説明したように、モード制御部１１から供給される注目ブロックの２次元ＤＣＴ係数の符号を反転し、積和演算部１５に供給して、ステップＳ１４０に進む。
【０８１２】
ステップＳ１４０では、積和演算部１５は、変換係数生成部１４からの変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）と、符号制御部１２からの注目ブロックの２次元ＤＣＴ係数ｆ（ｕ，ｖ）とを用いて、式（１７）の積和演算を行い、これにより、注目画素が左上領域、右上領域、左下領域、右下領域の画素である場合には、それぞれ、式（１３）乃至（１６）の演算が行われ、注目画素の画素値が復号される。
【０８１３】
そして、ステップＳ１４１に進み、モード制御部１１は、注目ブロックのすべての画素を注目画素としたかどうかを判定する。ステップＳ１４１において、注目ブロックのすべての画素を、まだ注目画素としていないと判定された場合、ステップＳ１３１に戻り、注目ブロックの画素のうちの、ラスタスキャン順で、まだ、注目画素とされていない画素が、新たな注目画素として選択され、以下、同様の処理が繰り返される。
【０８１４】
また、ステップＳ１４１において、注目ブロックのすべての画素を注目画素としたと判定された場合、処理を終了する。
【０８１５】
以上のように、種重みデータによって、種データを補正し、その補正後の種データによって変換係数を生成することにより、クラス分類適応処理で用いられるタップ係数と同様の周波数特性を有する変換係数を求めるようにしたので、積和演算部１５において、その変換係数を用いて、式（１７）の積和演算が行われることにより得られる復号画像は、図５５のクラス分類適応処理回路で得られるものと同様に、高画質の画像となる。
【０８１６】
なお、図６５の処理は、バッファメモリ２３（図１４）に記憶されたＤＣＴ係数のブロックを、順次、注目ブロックとして繰り返し行われる。
【０８１７】
また、図６５の処理において、点線で囲んであるステップＳ１３４乃至Ｓ１３８の処理と、ステップＳ１３９の処理とは、並列に行うことが可能である。
【０８１８】
次に、図６７は、図１４のＦＴ変換部５１の他の構成例を示している。なお、図中、図１８における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図６７のＦＴ変換部５１は、逆ＤＣＴ変換部２２１および画素重み記憶部２２２が新たに設けられている他は、基本的に、図１８における場合と同様に構成されている。
【０８１９】
逆ＤＣＴ変換部２２１は、バッファメモリ２３（図１４）から注目ブロックの上下左右それぞれに隣接する４つの隣接ブロックを読み出し、その４つの隣接ブロックを、２次元逆ＤＣＴ変換して、画素値のブロックに復号する。さらに、逆ＤＣＴ変換部２２１は、図６８に示すように、注目ブロックの上下それぞれに隣接する２つの隣接ブロックの画素から、注目画素と同一列にある、注目ブロックの上側に隣接する画素（以下、適宜、同一列上隣接画素という）ａと、注目ブロックの下側に隣接する画素（以下、適宜、同一列下隣接画素という）ｂを選択するとともに、注目ブロックの左右それぞれに隣接する２つの隣接ブロックの画素から、注目画素と同一行にある、注目ブロックの左側に隣接する画素（以下、適宜、同一行左隣接画素という）ｃと、注目ブロックの右側に隣接する画素（以下、適宜、同一行右隣接画素という）ｄを選択する。
【０８２０】
なお、同一列上隣接画素ａとは、注目ブロックの構造を基準とした場合に、空間領域において、その注目ブロックの上側の境界と隣接する、上隣接ブロックの画素のうちの、注目画素と同一列にあるものを意味する。画素ｂ乃至ｄについても同様である。従って、逆ＤＣＴ変換部２２１においては、図２２乃至図３７で説明した上隣接画素列、下隣接画素列、左隣接画素列、右隣接画素列から、画素ａ乃至ｄが、それぞれ選択される。
【０８２１】
逆ＤＣＴ変換部２２１は、画素ａ乃至ｄを選択すると、その画素値を、積和演算部１５に供給する。
【０８２２】
画素重み記憶部２２２は、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、同一行右隣接画素ｄに付される重みとしての画素重みデータを記憶しており、この画素重みデータは、積和演算部１５に供給される。
【０８２３】
従って、図６７の実施の形態では、積和演算部１５には、変換係数生成部１４から変換係数が供給されるとともに、符号制御部１２から注目ブロックの２次元ＤＣＴ係数が供給される他、逆ＤＣＴ変換部２２１から、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄの画素値が供給されるとともに、画素重み記憶部２２２から画素重みデータが供給されるようになっている。
【０８２４】
そして、積和演算部１５では、注目ブロックのある位置（ｉ，ｊ）の画素の画素値Ｌ（ｉ，ｊ）が、式（１７）の積和演算に代えて、次式に示す積和演算によって求められるようになっている。
【０８２５】
0004154647.tif 000015
【０８２６】
但し、式（２２）において、ａ，ｂ，ｃ，ｄは、同一列上隣接画素、同一列下隣接画素、同一行左隣接画素、同一行右隣接画素それぞれの画素値を表す。また、ｗa，ｗb，ｗc，ｗdは、同一列上隣接画素、同一列下隣接画素、同一行左隣接画素、同一行右隣接画素にそれぞれ付される重みとしての画素重みデータを表す。
【０８２７】
従って、式（２２）の積和演算は、式（１７）の積和演算に、画素値と画素重みデータとの積和演算を加えたものとなっている。
【０８２８】
なお、図６７の実施の形態では、同一列上隣接画素、同一列下隣接画素、同一行左隣接画素、および同一行右隣接画素の画素値として、逆ＤＣＴ変換部２２１による２次元逆ＤＣＴ変換の結果得られる画素値を用いるようにしたが、同一列上隣接画素および同一行左隣接画素については、注目ブロックを対象として処理を行う際に、既に、ＦＴ変換部５１で復号されているので、その復号された画素値を用いるようにすることが可能である。
【０８２９】
ところで、式（１７）の変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）は、クラス分類適応処理で用いられる式（１）のタップ係数ｗkに対応する。また、式（１７）の２次元ＤＣＴ係数ｆ（ｕ，ｖ）は、クラス分類適応処理で用いられる式（１）の予測タップを構成する２次元ＤＣＴ係数ｘkに対応する。
【０８３０】
従って、式（２２）において、式（１７）に追加されている画素重みデータは、ｗa乃至ｗdは、クラス分類適応処理におけるタップ係数ｗkに対応し、画素値ａ乃至ｄは、予測タップに対応していると考えることができる。
【０８３１】
そこで、図６７のＦＴ変換部５１の処理を説明する前に、予測タップを、注目ブロックの２次元ＤＣＴ係数と、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄで構成して行われるクラス分類適応処理について説明する。
【０８３２】
即ち、図６９は、予測タップを、注目ブロックの２次元ＤＣＴ係数と、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄで構成してクラス分類適応処理を行うクラス分類適応処理回路の構成例を示している。なお、図中、図５５における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図６９のクラス分類適応処理回路は、逆ＤＣＴ変換部２３１が新たに設けられている他は、図５５における場合と基本的に同様に構成されている。
【０８３３】
バッファメモリ２３（図１４）に記憶された２次元ＤＣＴ係数のブロックは、タップ生成部１３１およびクラス分類部１３２に供給される他、逆ＤＣＴ変換部２３１にも供給される。
【０８３４】
逆ＤＣＴ変換部２３１は、バッファメモリ２３（図１４）から供給される注目ブロックの上下左右にそれぞれ隣接するブロックを２次元逆ＤＣＴ変換することにより、２次元ＤＣＴ係数を画素値に復号し、そのうちの同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄの画素値を、タップ生成部１３１に供給する。
【０８３５】
タップ生成部１３１は、バッファメモリ２３から供給される注目ブロックの２次元ＤＣＴ係数すべてと、逆ＤＣＴ変換部２３１から供給される同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄの画素値を、予測タップとし、積和演算部１３５に供給する。この場合、予測タップは、６８（＝８×８＋４）タップで構成されることになる。
【０８３６】
一方、クラス分類部１３２、タップ係数記憶部１３３、タップ係数バッファ１３４では、図５５における場合と同様の処理が行われ、これにより、タップ係数バッファ１３４には、注目画素のクラスについてのタップ係数が記憶される。
【０８３７】
そして、積和演算部１３５は、タップ生成部１３１から供給される予測タップと、タップ係数バッファ１３４に記憶されたタップ係数とを用いて、式（１）の線形１次予測演算を行い、注目画素の復号値を出力する。
【０８３８】
次に、図７０乃至７２は、図６９のタップ係数記憶部１３３に記憶させるタップ係数の学習を行う学習装置の構成例を示している。
【０８３９】
上述したように、ＭＰＥＧでは、予測方式の違いにより、Ｉピクチャ、Ｐピクチャ、Ｂピクチャの３つのピクチャタイプがあるので、タップ係数の学習も、ピクチャタイプごとに行われる。
【０８４０】
図７０は、Ｉピクチャ用のタップ係数を学習する場合の学習装置の構成例を示している。なお、図中、図５７における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図７０の学習装置は、逆ＤＣＴ変換部２４１が新たに設けられている他は、図５７における場合と同様に構成されている。
【０８４１】
逆ＤＣＴ変換部２４１は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のブロックを２次元逆ＤＣＴ変換することにより、画素値のブロックに復号し、そのうちの同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄの画素値を、タップ生成部１４４に供給する。
【０８４２】
タップ生成部１４４は、注目ブロックの２次元ＤＣＴ係数の他、逆ＤＣＴ変換部２４１から供給される同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄの画素値を用いて、予測タップを構成する。そして、以降は、図５７における場合と同様の処理が行われ、Ｉピクチャ用のタップ係数が求められる。
【０８４３】
次に、図７１は、Ｐピクチャ用のタップ係数を学習する場合の学習装置の他の一実施の形態の構成例を示している。なお、図中、図５９における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図７１の学習装置は、図７０で説明した逆ＤＣＴ変換部２４１が新たに設けられている他は、図５９における場合と同様に構成されている。
【０８４４】
また、図７２は、Ｂピクチャ用のタップ係数を学習する場合の学習装置の他の一実施の形態の構成例を示している。なお、図７２においても、図６０の学習装置と同様に、生徒データを生成する生徒データ生成部だけが、図５７のＩピクチャ用のタップ係数を学習する学習装置と異なるだけであるため、図７２においては、Ｂピクチャ用のタップ係数を学習する学習装置の生徒データ生成部だけを図示してある。また、図中、図６０における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図７２の学習装置も、図７０で説明した逆ＤＣＴ変換部２４１が新たに設けられている他は、図６０における場合と同様に構成されている。
【０８４５】
従って、図７１と図７２の学習装置も、図７０の学習装置における場合と同様に、タップ生成部１４４で構成される予測タップのタップ構造が、図５９と図６０における場合とそれぞれ異なるだけであるため、その説明は省略する。
【０８４６】
以上のように、注目ブロックの２次元ＤＣＴ係数の他、逆ＤＣＴ変換部２４１から供給される同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄの画素値から、予測タップを構成し、その予測タップを用いて学習を行うことにより得られるタップ係数を、図６９のタップ係数記憶部１３３に記憶させておくことにより、図６９のクラス分類適応処理回路では、図５５における場合よりも、より高画質の画像を復号することができる。
【０８４７】
即ち、ＭＰＥＧ符号化では、圧縮率を上げて、符号化データのデータレートを抑えるために、ＤＣＴ係数が量子化されるが、その際、人間に画質の劣化を感じさせないようにするために、一般に、高周波数のＤＣＴ係数ほど、粗い量子化が行われる。従って、そのようなＭＰＥＧ符号化によって得られた符号化データを、図１のＭＰＥＧデコーダで復号した場合には、高周波数成分が失われた復号画像が得られることになる。
【０８４８】
一方、図６９のクラス分類適応処理回路では、予測タップとして、注目ブロックの２次元ＤＣＴ係数の他、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄの画素値を採用することにより、その同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄの画素値によって、ＭＰＥＧ符号化によって失われた高周波数成分が、いわば補われ、その結果、より高画質の画像を復号することができる。
【０８４９】
そこで、図６７のＦＴ変換部５１でも、積和演算部１５において、注目ブロックの２次元ＤＣＴ係数だけでなく、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄの画素値をも用いて、式（２２）の積和演算を行うことで、ＭＰＥＧ符号化によって失われた高周波数成分が補われた、より高画質の画像が復号されるようになっている。
【０８５０】
従って、この場合、式（２２）において、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、同一行右隣接画素ｄそれぞれに乗算される画素重みデータｗa，ｗb，ｗc，ｗdとしては、図６９のクラス分類適応処理回路の積和演算部１３５において、予測タップとしての同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、同一行右隣接画素ｄそれぞれと乗算されるタップ係数と同様の値を採用するのが望ましい。
【０８５１】
そこで、図７３は、実際の画像を用いた学習によって得られた、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、または同一行右隣接画素ｄに乗算されるタップ係数を示している。なお、学習においては、クラス数を１クラス（モノクラス）とした。
【０８５２】
図７３Ａは、注目画素と、同一列上隣接画素ａまたは同一列下隣接画素ｂとの間の画素数（距離）を横軸にとり、その縦軸に、同一列上隣接画素ａまたは同一列下隣接画素ｂと乗算されるタップ係数の平均値をプロットしたグラフであり、注目画素から、ある画素数だけ離れた同一列上隣接画素ａや同一列下隣接画素ｂが、注目画素に対して、どの程度影響するのかを表している。
【０８５３】
また、図７３Ｂは、注目画素と、同一行左隣接画素ｃまたは同一行右隣接画素ｄとの間の画素数（距離）を横軸にとり、その縦軸に、同一行左隣接画素ｃまたは同一行右隣接画素ｄと乗算されるタップ係数の平均値をプロットしたグラフであり、注目画素から、ある画素数だけ離れた同一行左隣接画素ｃや同一行右隣接画素ｄが、注目画素に対して、どの程度影響するのかを表している。
【０８５４】
図７３から、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、または同一行右隣接画素ｄが、注目画素に隣接する場合に（注目画素との距離が１の場合に）、その同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、または同一行右隣接画素ｄが、注目画素の復号値に大きく影響していることが分かる。
【０８５５】
図７３の画素重み記憶部２２２においては、図７３に示したグラフの、各距離における値が、画素重みデータとして記憶されている。
【０８５６】
なお、図７３においては、実線、点線、および２点破線の３種類のグラフを図示してあるが、実線のグラフは、教師データとしての画像を、２Ｍｂｐｓのデータレートの符号化データにＭＰＥＧ符号化して学習を行って得られたタップ係数を用いて求められたものであり、点線のグラフは、教師データとしての画像を、８Ｍｂｐｓのデータレートの符号化データにＭＰＥＧ符号化して学習を行って得られたタップ係数を用いて求められたものである。さらに、２点破線のグラフは、教師データとしての画像を、２Ｍｂｐｓと８Ｍｂｐｓのデータレートの符号化データにＭＰＥＧ符号化し、その両者を用いて学習を行って得られたタップ係数から求められたものである。画素重みデータとしては、いずれのグラフを採用することも可能である。
【０８５７】
次に、図７４のフローチャートおよび図７５を参照して、図６７のＦＴ変換部５１の処理（ＦＴ変換）について説明する。
【０８５８】
モード制御部１１は、バッファメモリ２３（図１４）に記憶された２次元ＤＣＴ係数のブロックのうち、まだ、注目ブロックとしていない、バッファメモリ２３への記憶順で最も古いブロックを、注目ブロックとし、その注目ブロックのＤＣＴ係数を、符号制御部１２に供給する。
【０８５９】
そして、ステップＳ１５１乃至Ｓ１５９において、図６５のステップＳ１３１乃至Ｓ１３９における場合とそれぞれ同様の処理が行われる。
【０８６０】
即ち、ステップＳ１５１において、モード制御部１１は、図７５Ａに示すように、注目ブロックの画素のうちの、ラスタスキャン順で、まだ、注目画素としていない画素を、注目画素として選択し、ステップＳ１５２に進む。図７５Ａの実施の形態では、ブロックにおける位置（１，３）の画素（左から２（＝１＋１）番目で、上から４（＝３＋１）番目の画素）が、注目画素とされている。
【０８６１】
ステップＳ１５２では、モード制御部１１は、注目画素の座標（ｉ，ｊ）に基づき、画素位置モード＃ｎと領域情報を求め、領域情報を、符号制御部１２に供給し、ステップＳ１５３に進む。ここで、図７５Ａの実施の形態においては、ブロックにおける位置（１，３）の画素が、注目画素とされているが、この場合、画素位置モード＃ｎは、２５となる。
【０８６２】
ステップＳ１５３では、モード制御部１１は、注目画素の画素位置モード＃ｎを縮退することにより、縮退画素位置モード＃ｎ’を求め、種データ記憶部１３に供給して、ステップＳ１５４に進む。ここで、図７５Ａに示したように、画素位置モード＃ｎが２５の場合、縮退画素位置モード＃ｎ’は、１３となる。
【０８６３】
ステップＳ１５４では、クラス分類部１６が、バッファメモリ２３（図１４）に記憶された２次元ＤＣＴ係数に基づいて、注目画素のクラス分類を行い、その結果得られるクラスコードを、種重み記憶部１７に供給して、ステップＳ１５５に進む。
【０８６４】
ステップＳ１５５では、種重み記憶部１７は、クラス分類部１６からのクラスコードが表すクラスの種重みデータを読み出し、種データ補正部１８に供給する。
【０８６５】
その後、ステップＳ１５６に進み、種データ記憶部１３が、モード制御部１１から供給される縮退画素位置モード＃ｎ’に対応する種データを読み出し、種データ補正部１８に供給する。
【０８６６】
即ち、種データ記憶部１３は、上述の図１３Ｂと同様の図７５Ｂに示すように、周波数ｕの軸と、位置ｊの軸とで定義される２次元平面上において考えることのできる１乃至７の周波数ｕそれぞれについての位置ｊが０乃至３それぞれの基底波形の２８個の値と、周波数ｕが０のときの１つの基底波形の値を記憶している。
【０８６７】
そして、ステップＳ１５６では、種データ記憶部１３は、図１２のステップＳ４における場合と同様に、モード制御部１１から供給される注目画素の縮退画素位置モード＃ｎ’から、その注目画素の縮退座標（Ｈ，Ｖ）を求め、図７５Ｂにおける位置ｊがＨの、周波数が１乃至７それぞれの基底波形の７つの値と、位置ｊがＶの、周波数が１乃至７それぞれの基底波形の７つの値を読み出し、種データ補正部１８に供給する。
【０８６８】
さらに、種データ記憶部１３は、周波数ｕが０のときの１つの基底波形の値を読み出し、種データ補正部１８に供給する。
【０８６９】
従って、例えば、図７５Ａに示したように、縮退座標（Ｈ，Ｖ）が、（１，３）の画素が注目画素とされた場合には、位置ｊが１の、周波数が１乃至７それぞれの基底波形の７つの値、位置ｊが３の、周波数が１乃至７それぞれの基底波形の７つの値、および周波数ｕが０のときの１つの基底波形の値が、種データとして、種データ記憶部１３から種データ補正部１８に供給される。
【０８７０】
そして、ステップＳ１５７に進み、種データ補正部１８は、種データ記憶部１３から供給された基底波形の値から、水平方向の基底波形の８つの値Ｆhと、垂直方向の基底波形の８つの値Ｆvを求める。
【０８７１】
即ち、種データ補正部１８は、ステップＳ１５７において、図７５Ｃに示すように、周波数ｕが０のときの１つの基底波形の値を先頭として、位置ｊがＨの、周波数が１乃至７それぞれの基底波形の７つの値を順次配置することにより、水平方向の基底波形の８つの値Ｆhとするとともに、周波数ｕが０のときの１つの基底波形の値を先頭として、位置ｊがＶの、周波数が１乃至７それぞれの基底波形の７つの値を順次配置することにより、垂直方向の基底波形の８つの値Ｆvとする。
【０８７２】
さらに、種データ補正部１８は、ステップＳ１５７において、水平方向の基底波形の８つの値Ｆhと、垂直方向の基底波形の８つの値Ｆvを、ステップＳ１５５で種重みデータ記憶部１７から供給された、注目画素のクラスの種重みデータによって補正する。
【０８７３】
即ち、種データ補正部１８は、種重み記憶部１７から供給される、注目画素のクラスの、４行それぞれについての各周波数ｕにおける種重みデータ（図６３Ａの周波数特性としての種重みデータ）から、注目画素の行Ｈに一致する行についての各周波数ｕにおける種重みデータを選択し、図７５Ｄに示すように、その各周波数ｕにおける種重みデータを、水平方向の基底波形の８つの値Ｆhのうちの、対応する周波数ｕのものに乗算することにより、その水平方向の基底波形の８つの値Ｆhを補正する。さらに、種データ補正部１８は、種重み記憶部１７から供給される、注目画素のクラスの、４列それぞれについての各周波数ｕにおける種重みデータ（図６３Ｂの周波数特性としての種重みデータ）から、注目画素の行Ｖに一致する行についての各周波数ｕにおける種重みデータを選択し、図７５Ｄに示すように、その各周波数ｕにおける種重みデータを、垂直方向の基底波形の８つの値Ｆvのうちの、対応する周波数ｕのものに乗算することにより、その垂直方向の基底波形の８つの値Ｆvを補正する。
【０８７４】
そして、種データ補正部１８は、その補正後の水平方向の基底波形の８つの値Ｆhと垂直方向の基底波形の８つの値Ｆvを、変換係数生成部１４に供給し、ステップＳ１５８に進む。
【０８７５】
ステップＳ１５８では、変換係数生成部１４が、種データ補正部１８から供給される、補正後の水平方向の基底波形Ｆhと垂直方向の基底波形Ｆvから、注目画素の画素値を復号するための変換係数を生成する。
【０８７６】
即ち、変換係数生成部１４は、図７５Ｅ示すように、補正後の水平方向の基底波形の８つの値Ｆhそれぞれと、補正後の垂直方向の基底波形の８つの値Ｆvそれぞれとを、総当たりで乗算することにより、図７５Ｆに示す８×８の変換係数、即ち、座標（ｉ，ｊ）の注目画素の画素値を復号するための式（１７）における６４個の変換係数Ｆ（ｉ，ｊ，０，０）乃至Ｆ（ｉ，ｊ，７，７）を生成し、積和演算部１５に供給する。
【０８７７】
ここで、図７５Ｅおよび図７５Ｆの実施の形態では、水平方向の基底波形の８つの値Ｆhの先頭から６（＝５＋１）番目の値と、垂直方向の基底波形の８つの値Ｆvの先頭から２（＝１＋１）番目の値とが乗算されることにより、注目ブロックの座標（５，１）の位置にあるＤＣＴ係数と乗算される変換係数が生成されている。
【０８７８】
その後、ステップＳ１５９に進み、符号制御部１２は、ステップＳ１５２でモード制御部１１から供給される注目画素の領域情報に基づいて、図５乃至図１０で説明したように、モード制御部１１から供給される注目ブロックのＤＣＴ係数の符号を反転し、積和演算部１５に供給して、ステップＳ１６０に進む。
【０８７９】
ステップＳ１６０では、逆ＤＣＴ変換部２２１が、バッファメモリ２３（図１４）から、注目ブロックの上下左右にそれぞれ隣接する４つのブロックを読み出し、２次元逆ＤＣＴ変換することにより、画素値のブロックに復号する。さらに、ステップＳ１６０では、逆ＤＣＴ変換部２２１が、上述したようにして復号した４つのブロックから、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄを選択し、その画素値を、積和演算部１５に供給する。
【０８８０】
そして、ステップＳ１６１に進み、積和演算部１５は、画素重み記憶部２２２から、必要な画素重みデータを読み出す。
【０８８１】
即ち、画素重み記憶部２２２は、図７３に示したような、注目画素からの距離に応じた、同一列上隣接画素ａおよび同一列下隣接画素ｂに対する画素重みデータと、同一行左隣接画素ｃおよび同一行右隣接画素ｄに対する画素重みデータを記憶している。そして、積和演算部１５は、注目画素から、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、同一行右隣接画素ｄそれぞれまでの距離に対応して、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、同一行右隣接画素ｄそれぞれに対する画素重みデータｗa，ｗb，ｗc，ｗdを、画素重み記憶部２２２から読み出す。
【０８８２】
その後、ステップＳ１６２に進み、積和演算部１５は、図７５Ｇに示すように、変換係数生成部１４からの変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）、および符号制御部１２からの注目ブロックのＤＣＴ係数ｆ（ｕ，ｖ）、さらには、画素重み記憶部２２２から読み出した画素重みデータｗa乃至ｗd、および逆ＤＣＴ変換部２２１からの同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、同一行右隣接画素ｄそれぞれの画素値を用いて、式（２２）の積和演算を行い、これにより、注目画素の画素値を復号する。
【０８８３】
なお、符号制御部１２からの注目ブロックのＤＣＴ係数ｆ（ｕ，ｖ）は、上述したように、注目画素が左上領域、右上領域、左下領域、右下領域のいずれに位置する画素であるかによって、その符号が操作されており、従って、ステップＳ１６２では、式（２２）における、変換係数Ｆ（ｉ，ｊ，ｕ，ｖ）と、符号制御部１２からの注目ブロックのＤＣＴ係数ｆ（ｕ，ｖ）との積和演算については、図６５のステップＳ１４０における場合と同様に、注目画素が左上領域、右上領域、左下領域、右下領域のいずれの画素であるかによって、それぞれ、式（１３）乃至（１６）の演算が行われる。
【０８８４】
そして、ステップＳ１６３に進み、モード制御部１１は、注目ブロックのすべての画素を注目画素としたかどうかを判定する。ステップＳ１６３において、注目ブロックのすべての画素を、まだ注目画素としていないと判定された場合、ステップＳ１５１に戻り、注目ブロックの画素のうちの、ラスタスキャン順で、まだ、注目画素とされていない画素が、新たな注目画素として選択され、以下、同様の処理が繰り返される。
【０８８５】
また、ステップＳ１６３において、注目ブロックのすべての画素を注目画素としたと判定された場合、処理を終了する。
【０８８６】
以上のように、種重みデータによって補正した種データから変換係数を生成し、積和演算に用いるとともに、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、同一行右隣接画素ｄの画素値と、画素重みデータとの積和演算も行うようにしたので、ＭＰＥＧ符号化によって失われた高周波数成分が補われた、より高画質の復号画像を得ることができる。
【０８８７】
なお、図７４の処理は、バッファメモリ２３（図１４）に記憶されたＤＣＴ係数のブロックを、順次、注目ブロックとして繰り返し行われる。
【０８８８】
また、図７４の処理において、点線で囲んであるステップＳ１５４乃至Ｓ１５８の処理、ステップＳ１５９の処理、ステップＳ１６０の処理、およびステップＳ１６１の処理は、並列に行うことが可能である。
【０８８９】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０８９０】
そこで、図７６は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０８９１】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク４０５やＲＯＭ４０３に予め記録しておくことができる。
【０８９２】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体４１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体４１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０８９３】
なお、プログラムは、上述したようなリムーバブル記録媒体４１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部４０８で受信し、内蔵するハードディスク４０５にインストールすることができる。
【０８９４】
コンピュータは、CPU(Central Processing Unit)４０２を内蔵している。CPU４０２には、バス４０１を介して、入出力インタフェース４１０が接続されており、CPU４０２は、入出力インタフェース４１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部４０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)４０３に格納されているプログラムを実行する。あるいは、また、CPU４０２は、ハードディスク４０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部４０８で受信されてハードディスク４０５にインストールされたプログラム、またはドライブ４０９に装着されたリムーバブル記録媒体４１１から読み出されてハードディスク４０５にインストールされたプログラムを、RAM(Random Access Memory)４０４にロードして実行する。これにより、CPU４０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU４０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース４１０を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部４０６から出力、あるいは、通信部４０８から送信、さらには、ハードディスク４０５に記録等させる。
【０８９５】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０８９６】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０８９７】
なお、本実施の形態では、ＭＰＥＧ符号化された動画像を対象としたが、本発明は、２次元ＤＣＴ変換を用いる、ＭＰＥＧ以外の符号化方式により符号化された動画像や、ＪＰＥＧ符号化された静止画等を復号する場合にも適用可能である。さらに、本発明は、画像のみならず、例えば、時間領域のデータである音声データを、周波数領域のデータに変換して符号化することにより得られる符号化データ、即ち、例えば、ＭＰＥＧ符号化された音声データや、ＡＴＲＡＣ(Adaptive TRansform Acoustic Coding)方式で符号化された音声データ等を復号する場合にも適用可能である。この場合、高音質の音声を復号することができる。
【０８９８】
また、図６７の実施の形態では、積和演算部１５における積和演算の対象として、同一列上隣接画素ａ、同一列下隣接画素ｂ、同一行左隣接画素ｃ、および同一行右隣接画素ｄを含めるようにしたが、積和演算部１５における積和演算の対象としては、その他、例えば、注目ブロックの上下左右それぞれに隣接する４つの隣接ブロックの画素のうちの、注目ブロックに隣接する画素すべてや、注目画素と同一位置にある、注目画素のフレームの前または後のフレームの画素、注目画素から動きベクトルに対応する分だけ移動した位置にある、注目画素のフレームの前または後のフレームの画素などを含めるようにすることが可能である。
【０８９９】
さらに、本実施の形態では、ＦＴ変換部５１（図１８、図６７）の積和演算部１５において、線形１次演算を行うことにより、２次元ＤＣＴ係数を画素値に復号するようにしたが、積和演算部１５では、２次以上の式の演算を行うことによって画素値を復号するようにすることが可能である。
【０９００】
【発明の効果】
以上の如く、本発明によれば、少ないメモリによって装置を構成し、高画質の画像データなどの高品質のデータを復号することが可能となる。
【図面の簡単な説明】
【図１】ＭＰＥＧデコーダの構成例を示すブロック図である。
【図２】ＤＣＴ変換および逆ＤＣＴ変換を説明する図である。
【図３】ＭＰＥＧ符号化されたデータを、逆ＤＣＴ変換せずに復号する画像処理装置の構成例を示す図である。
【図４】ＦＴ変換部１０の構成例を示すブロック図である。
【図５】縮退画素位置モードと、２次元ＤＣＴ係数の符号の操作を説明するための図である。
【図６】縮退画素位置モードと、２次元ＤＣＴ係数の符号の操作を説明するための図である。
【図７】ＤＣＴ係数の基底となっているコサイン波形（基底波形）を示す図である。
【図８】ＤＣＴ係数の基底となっているコサイン波形（基底波形）を示す図である。
【図９】縮退画素位置モードと、２次元ＤＣＴ係数の符号の操作を説明するための図である。
【図１０】縮退画素位置モードと、２次元ＤＣＴ係数の符号の操作を説明するための図である。
【図１１】ＤＣＴ係数の基底となっているコサイン波形（基底波形）と種データを示す図である。
【図１２】ＦＴ変換部１０の処理を説明するフローチャートである。
【図１３】ＦＴ変換部１０の処理を説明するための図である。
【図１４】本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。
【図１５】ＤＣＴ変換部２１と周波数領域動き補償加算部２２の構成例を示すブロック図である。
【図１６】サンプリング部６１の処理を説明するための図である。
【図１７】サンプリング部６１の処理を説明するための図である。
【図１８】ＦＴ変換部５１の構成例を示すブロック図である。
【図１９】クラス分類部１６の構成例を示すブロック図である。
【図２０】２次元ＤＣＴ変換および２次元逆ＤＣＴ変換、並びに１次元ＤＣＴ変換および１次元逆ＤＣＴ変換を説明するための図である。
【図２１】原画像、水平１次元ＤＣＴ係数、垂直１次元ＤＣＴ係数、および２次元ＤＣＴ係数を示すディスプレイ上に表示された中間階調の写真である。
【図２２】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２３】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２４】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２５】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２６】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２７】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２８】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２９】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図３０】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図３１】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図３２】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図３３】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図３４】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図３５】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図３６】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図３７】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図３８】隣接１次元ＤＣＴ係数選択／変換部３２の構成例を示すブロック図である。
【図３９】左上ブロック処理を説明するフローチャートである。
【図４０】左下ブロック処理を説明するフローチャートである。
【図４１】右上ブロック処理を説明するフローチャートである。
【図４２】右下ブロック処理を説明するフローチャートである。
【図４３】ＡＣパワーを説明するための図である。
【図４４】ＡＣパワー算出部３３の構成例を示すブロック図である。
【図４５】ＡＣ内積を説明するための図である。
【図４６】ＡＣ内積計算部３４の構成例を示すブロック図である。
【図４７】クラスコード生成部３６の構成例を示すブロック図である。
【図４８】クラスコードのフォーマットを示す図である。
【図４９】クラスコード生成部３６の処理を説明するフローチャートである。
【図５０】クラスコード生成部３７の構成例を示すブロック図である。
【図５１】４：２：２フォーマットにおける輝度ブロックと色差ブロックとの対応関係を示す図である。
【図５２】輝度クラスコードを利用した色差クラスコードの生成を説明する図である。
【図５３】４：２：０フォーマットにおける輝度ブロックと色差ブロックとの対応関係を示す図である。
【図５４】輝度クラスコードを利用した色差クラスコードの生成を説明する図である。
【図５５】クラス分類適応処理回路の構成例を示すブロック図である。
【図５６】クラス分類適応処理回路によるクラス分類適応処理を説明するフローチャートである。
【図５７】タップ係数を学習する学習装置の第１実施の形態の構成例を示すブロック図である。
【図５８】学習装置による学習処理を説明するフローチャートである。
【図５９】タップ係数を学習する学習装置の第２実施の形態の構成例を示すブロック図である。
【図６０】タップ係数を学習する学習装置の第３実施の形態の構成例を示すブロック図である。
【図６１】シミュレーションにより得られた復号画像のＳ／Ｎを示す図である。
【図６２】シミュレーションにより得られた復号画像を示すディスプレイ上に表示された中間階調の写真である。
【図６３】学習により求められたタップ係数の周波数特性の例を示す図である。
【図６４】係数比を示す図である。
【図６５】ＦＴ変換部５１の処理を説明するフローチャートである。
【図６６】ＦＴ変換部５１の処理を説明するための図である。
【図６７】ＦＴ変換部５１の他の構成例を示すブロック図である。
【図６８】逆ＤＣＴ変換部２２１が選択する画素を説明する図である。
【図６９】クラス分類適応処理回路の他の構成例を示すブロック図である。
【図７０】タップ係数を学習する学習装置の第４実施の形態の構成例を示すブロック図である。
【図７１】タップ係数を学習する学習装置の第５実施の形態の構成例を示すブロック図である。
【図７２】タップ係数を学習する学習装置の第６実施の形態の構成例を示すブロック図である。
【図７３】注目画素から予測タップを構成する画素までの距離と、その画素に対するタップ係数との関係を示す図である。
【図７４】ＦＴ変換部５１の処理を説明するフローチャートである。
【図７５】ＦＴ変換部５１の処理を説明するための図である。
【図７６】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
１  分離部，  ２  ＤＣＴ係数抽出／逆量子化部，  ４  動き補償部，  ５  画像メモリ，  ６  動き補償加算部，  ７  画像メモリ，  ８  ピクチャ選択部，  １０  ＦＴ変換部，  １１  モード制御部，  １２  符号制御部，  １３  種データ記憶部，  １４  変換係数生成部，  １５  積和演算部，  １６  クラス分類部，  １７  種重み記憶部，  １８  種データ補正部，  ２０  前処理部，  ２１  ＤＣＴ変換部，  ２２  周波数領域動き補償加算部，  ２３  バッファメモリ，  ３１  １次元逆ＤＣＴ変換部，  ３２  隣接１次元ＤＣＴ係数選択／変換部，  ３３  ＡＣパワー算出部，  ３４  ＡＣ内積計算部，  ３６，３７クラスコード生成部，  ５０  画像再構成部，  ５１  ＦＴ変換部，  ６１  サンプリング部，  ６２  ＤＣＴ部，  ７１  ＤＣＴ係数選択部，  ７２  加算部，  ７３  選択部，  ８０  制御部，  ８１  メモリ，  ８２  垂直１次元逆ＤＣＴ変換部，  ８３  サンプリング部，  ８４  垂直１次元ＤＣＴ変換部，  ８５  選択部，  ９１  水平１次元ＤＣＴ係数抽出部，  ９２  垂直１次元ＤＣＴ係数抽出部，  ９３  水平ＡＣパワー計算部，  ９４  垂直ＡＣパワー計算部，  １０１  上内積用１次元ＤＣＴ係数抽出部，  １０２  下内積用１次元ＤＣＴ係数抽出部，  １０３  左内積用１次元ＤＣＴ係数抽出部，  １０４  右内積用１次元ＤＣＴ係数抽出部，  １０５  上内積演算部，  １０６  下内積演算部，  １０７  左内積演算部，  １０８  右内積演算部，  １１１，１１２  比較部，  １１３  平坦性条件判定部，  １１４  連続性条件判定部，  １１５  境界部エッジ条件判定部，  １１６  クラスコード作成部，  １２１，１２２  比較部，  １２３  クラスコード作成部，  １３１  タップ生成部，  １３２  クラス分類部，  １３３  タップ係数記憶部，  １３４  タップ係数バッファ，  １３５  積和演算部，  １４１  教師データストレージ，  １４２  生徒データ生成部，  １４３  生徒データストレージ，  １４４  タップ生成部，  １４５クラス分類部，  １４６  足し込み部，  １４７  タップ係数演算部，  １５１  ＭＰＥＧエンコーダ，  １５２  分離部，  １５３  ＤＣＴ係数抽出／逆量子化部，  １７１  ＭＰＥＧエンコーダ，  １７２  分離部，  １７３  ＤＣＴ係数抽出／逆量子化部，  １７６  クラス分類適応処理回路，  １７７  Ｉピクチャストレージ，  １７８  動き補償部，  １７９  画像メモリ，  １８０  ＤＣＴ変換部，  １８１  周波数領域動き補償加算部，  １９１  ＭＰＥＧエンコーダ，  １９２  分離部，  １９３  ＤＣＴ係数抽出／逆量子化部，  １９６  クラス分類適応処理回路，  １９７  Ｉピクチャストレージ，  １９８  動き補償部，  １９９  画像メモリ，  ２００  ＤＣＴ変換部，  ２０１  周波数領域動き補償加算部，  ２０４  クラス分類適応処理回路，  ２０５  Ｐピクチャストレージ，  ２０６  動き補償部，  ２０７  画像メモリ，  ２０８  ＤＣＴ変換部，  ２０９  周波数領域動き補償加算部，  ２２１  逆ＤＣＴ変換部，  ２２２  画素重み記憶部，  ２３１，２４１  逆ＤＣＴ変換部，  ４０１  バス，４０２  CPU，  ４０３  ROM，  ４０４  RAM，  ４０５  ハードディスク，４０６  出力部，  ４０７  入力部，  ４０８  通信部，  ４０９  ドライブ，  ４１０  入出力インタフェース，  ４１１  リムーバブル記録媒体
【図１】
0004154647.tif 000016
【図２】
0004154647.tif 000017
【図３】
0004154647.tif 000018
【図４】
0004154647.tif 000019
【図５】
0004154647.tif 000020
【図６】
0004154647.tif 000021
【図７】
0004154647.tif 000022
【図８】
0004154647.tif 000023
【図９】
0004154647.tif 000024
【図１０】
0004154647.tif 000025
【図１１】
0004154647.tif 000026
【図１２】
0004154647.tif 000027
【図１３】
0004154647.tif 000028
【図１４】
0004154647.tif 000029
【図１５】
0004154647.tif 000030
【図１６】
0004154647.tif 000031
【図１７】
0004154647.tif 000032
【図１８】
0004154647.tif 000033
【図１９】
0004154647.tif 000034
【図２０】
0004154647.tif 000035
【図２１】
0004154647.tif 000036
【図２２】
0004154647.tif 000037
【図２３】
0004154647.tif 000038
【図２４】
0004154647.tif 000039
【図２５】
0004154647.tif 000040
【図２６】
0004154647.tif 000041
【図２７】
0004154647.tif 000042
【図２８】
0004154647.tif 000043
【図２９】
0004154647.tif 000044
【図３０】
0004154647.tif 000045
【図３１】
0004154647.tif 000046
【図３２】
0004154647.tif 000047
【図３３】
0004154647.tif 000048
【図３４】
0004154647.tif 000049
【図３５】
0004154647.tif 000050
【図３６】
0004154647.tif 000051
【図３７】
0004154647.tif 000052
【図３８】
0004154647.tif 000053
【図３９】
0004154647.tif 000054
【図４０】
0004154647.tif 000055
【図４１】
0004154647.tif 000056
【図４２】
0004154647.tif 000057
【図４３】
0004154647.tif 000058
【図４４】
0004154647.tif 000059
【図４５】
0004154647.tif 000060
【図４６】
0004154647.tif 000061
【図４７】
0004154647.tif 000062
【図４８】
0004154647.tif 000063
【図４９】
0004154647.tif 000064
【図５０】
0004154647.tif 000065
【図５１】
0004154647.tif 000066
【図５２】
0004154647.tif 000067
【図５３】
0004154647.tif 000068
【図５４】
0004154647.tif 000069
【図５５】
0004154647.tif 000070
【図５６】
0004154647.tif 000071
【図５７】
0004154647.tif 000072
【図５８】
0004154647.tif 000073
【図５９】
0004154647.tif 000074
【図６０】
0004154647.tif 000075
【図６１】
0004154647.tif 000076
【図６２】
0004154647.tif 000077
【図６３】
0004154647.tif 000078
【図６４】
0004154647.tif 000079
【図６５】
0004154647.tif 000080
【図６６】
0004154647.tif 000081
【図６７】
0004154647.tif 000082
【図６８】
0004154647.tif 000083
【図６９】
0004154647.tif 000084
【図７０】
0004154647.tif 000085
【図７１】
0004154647.tif 000086
【図７２】
0004154647.tif 000087
【図７３】
0004154647.tif 000088
【図７４】
0004154647.tif 000089
【図７５】
0004154647.tif 000090
【図７６】
0004154647.tif 000091