(57)【特許請求の範囲】
【請求項１】
少なくとも所定のブロック単位で２次元ＤＣＴ(Discrete Cosine Transform)変換して得られる２次元ＤＣＴ係数を含む符号化された画像データを復号する画像処理装置であって、
前記画像データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類手段と、
学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、前記学習の生徒となる生徒データとして、所定の学習処理により予め得られたクラスごとの演算係数のうちの、予測対象画素である注目画素のクラスに対応するものを取得する取得手段と、
前記注目画素を含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記取得手段において取得された前記演算係数との積和演算に用いる幾つかの値の集合として生成する生成手段と、
前記注目画素のクラスに対応した演算係数と、前記値の集合との積和演算を行うことにより、前記注目画素の画素値を求めることで、前記符号化された画像データを復号する予測演算手段と
を備え、
前記所定の学習処理は、
前記教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けし、
前記教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記演算係数との前記積和演算に用いる幾つかの値の集合として生成し、
前記値の集合と演算係数の積和演算を行うことにより得られる前記注目教師データの予測値の予測誤差を、統計的に最小にする前記演算係数を、前記クラスごとに求める
処理である
ことを特徴とする画像処理装置。
【請求項２】
前記演算係数は、前記値の集合と演算係数との積和演算を行うことにより得られる前記注目画素の画素値の予測値の予測誤差が統計的に最小になるように学習を行うことにより求められたものである
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記周辺ブロックは、前記注目ブロックに対して、空間的または時間的に隣接するブロックである
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記周辺情報として得られる画素値は、前記注目ブロックに隣接するブロックの画素の画素値である
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記周辺情報として得られる画素値は、前記注目ブロックに隣接するブロックにおける、前記注目ブロックに隣接する画素であるブロック隣接画素の画素値である
ことを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記周辺情報として得られる画素値は、前記ブロック隣接画素における、前記注目画素と同一行の左右にある２つの画素の画素値と、前記注目画素と同一列の上下にある２つの画素の画素値である
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記周辺情報として得られる画素値は、前記ブロック隣接画素における、前記注目画素と同一行の左右にある２つの画素のうちの、前記注目画素に近い方の画素値と、前記注目画素と同一列の上下にある２つの画素のうちの、前記注目画素に近い方の画素値である
ことを特徴とする請求項５に記載の画像処理装置。
【請求項８】
前記周辺情報として得られる周波数成分は、前記２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である
ことを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記周辺情報として得られる周波数成分は、前記注目ブロックに隣接するブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数である
ことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記周辺情報は、前記注目ブロックのフレームの前または後のフレームにおける１以上の画素の画素値情報、またはその１以上の画素のＤＣＴ係数である
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１１】
前記周辺情報は、前記注目ブロックのフレームの前または後のフレームにおける、前記注目画素と同一位置にある画素を含む１以上の画素の画素値情報、またはその１以上の画素のＤＣＴ係数である
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記符号化データは、前記画像データの動きを表す動きベクトルを含み、
前記周辺情報は、前記注目ブロックのフレームの前または後のフレームにおける、前記注目画素に対応する位置から前記動きベクトルに対応する分だけ移動した位置にある画素を含む１以上の画素の画素値情報、またはその１以上の画素のＤＣＴ係数である
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１３】
少なくとも所定のブロック単位で２次元ＤＣＴ(Discrete Cosine Transform)変換して得られる２次元ＤＣＴ係数を含む符号化された画像データを復号する画像処理方法であって、
前記画像データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、前記学習の生徒となる生徒データとして、所定の学習処理により予め得られたクラスごとの演算係数のうちの、予測対象画素である注目画素のクラスに対応するものを取得する取得ステップと、
前記注目画素を含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記取得ステップにおいて取得された前記演算係数との積和演算に用いる幾つかの値の集合として生成する生成ステップと、
前記注目画素のクラスに対応した演算係数と、前記値の集合との積和演算を行うことにより、前記注目画素の画素値を求めることで、前記符号化された画像データを復号する予測演算ステップと
を備え、
前記所定の学習処理は、
前記教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けし、
前記教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記演算係数との前記積和演算に用いる幾つかの値の集合として生成し、
前記値の集合と演算係数の積和演算を行うことにより得られる前記注目教師データの予測値の予測誤差を、統計的に最小にする前記演算係数を、前記クラスごとに求める
処理である
ことを特徴とする画像処理方法。
【請求項１４】
少なくとも所定のブロック単位で２次元ＤＣＴ(Discrete Cosine Transform)変換して得られる２次元ＤＣＴ係数を含む符号化された画像データを復号する画像処理を、コンピュータに行わせるプログラムであって、
前記画像データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、前記学習の生徒となる生徒データとして、所定の学習処理により予め得られたクラスごとの演算係数のうちの、予測対象画素である注目画素のクラスに対応するものを取得する取得ステップと、
前記注目画素を含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記取得ステップにおいて取得された前記演算係数との積和演算に用いる幾つかの値の集合として生成する生成ステップと、
前記注目画素のクラスに対応した演算係数と、前記値の集合との積和演算を行うことにより、前記注目画素の画素値を求めることで、前記符号化された画像データを復号する予測演算ステップと
を備え、
前記所定の学習処理は、
前記教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けし、
前記教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記演算係数との前記積和演算に用いる幾つかの値の集合として生成し、
前記値の集合と演算係数の積和演算を行うことにより得られる前記注目教師データの予測値の予測誤差を、統計的に最小にする前記演算係数を、前記クラスごとに求める
処理である
ことを特徴とするプログラム。
【請求項１５】
少なくとも所定のブロック単位で２次元ＤＣＴ(Discrete Cosine Transform)変換して得られる２次元ＤＣＴ係数を含む符号化された画像データを復号する画像処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
前記画像データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、前記学習の生徒となる生徒データとして、所定の学習処理により予め得られたクラスごとの演算係数のうちの、予測対象画素である注目画素のクラスに対応するものを取得する取得ステップと、
前記注目画素を含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記取得ステップにおいて取得された前記演算係数との積和演算に用いる幾つかの値の集合として生成する生成ステップと、
前記注目画素のクラスに対応した演算係数と、前記値の集合との積和演算を行うことにより、前記注目画素の画素値を求めることで、前記符号化された画像データを復号する予測演算ステップと
をコンピュータに実行させるためのプログラムを記録し、
前記所定の学習処理は、
前記教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けし、
前記教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記演算係数との前記積和演算に用いる幾つかの値の集合として生成し、
前記値の集合と演算係数の積和演算を行うことにより得られる前記注目教師データの予測値の予測誤差を、統計的に最小にする前記演算係数を、前記クラスごとに求める
処理である
コンピュータ読み取り可能な記録媒体。
【請求項１６】
少なくとも所定のブロック単位で２次元ＤＣＴ(Discrete Cosine Transform)変換して得られる２次元ＤＣＴ係数を含む符号化された画像データを復号するのに用いる積和演算に用いられる係数である演算係数を学習する画像処理装置であって、
学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、前記学習の生徒となる生徒データとして出力する生徒データ生成手段と、
前記教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類手段と、
前記教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記演算係数との前記積和演算に用いる幾つかの値の集合として生成する生成手段と、
前記値の集合と演算係数の積和演算を行うことにより得られる前記注目教師データの予測値の予測誤差を、統計的に最小にする前記演算係数を、前記クラスごとに求める学習を行う学習手段と
を備えることを特徴とする画像処理装置。
【請求項１７】
前記周辺ブロックは、前記注目ブロックに対して、空間的または時間的に隣接するブロックである
ことを特徴とする請求項１６に記載の画像処理装置。
【請求項１８】
前記周辺情報として得られる画素値は、前記注目ブロックに隣接するブロックの画素の画素値である
ことを特徴とする請求項１６に記載の画像処理装置。
【請求項１９】
前記周辺情報として得られる画素値は、前記注目ブロックに隣接するブロックにおける、前記注目ブロックに隣接する画素であるブロック隣接画素の画素値である
ことを特徴とする請求項１６に記載の画像処理装置。
【請求項２０】
前記周辺情報として得られる画素値は、前記ブロック隣接画素における、前記注目教師データと同一行の左右にある２つの画素の画素値と、前記注目教師データと同一列の上下にある２つの画素の画素値である
ことを特徴とする請求項１７に記載の画像処理装置。
【請求項２１】
前記周辺情報として得られる画素値は、前記ブロック隣接画素における、前記注目教師データと同一行の左右にある２つの画素のうちの、前記注目教師データに近い方の画素値と、前記注目教師データと同一列の上下にある２つの画素のうちの、前記注目教師データに近い方の画素値である
ことを特徴とする請求項１９に記載の画像処理装置。
【請求項２２】
前記周辺情報として得られる周波数成分は、前記２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である
ことを特徴とする請求項１６に記載の画像処理装置。
【請求項２３】
前記周辺情報として得られる周波数成分は、前記注目ブロックに隣接するブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数である
ことを特徴とする請求項２２に記載の画像処理装置。
【請求項２４】
前記周辺情報は、前記注目ブロックのフレームの前または後のフレームにおける１以上の画素の画素値情報、またはその１以上の画素のＤＣＴ係数である
ことを特徴とする請求項１６に記載の画像処理装置。
【請求項２５】
前記周辺情報は、前記注目ブロックのフレームの前または後のフレームにおける、前記注目教師データと同一位置にある画素を含む１以上の画素の画素値情報、またはその１以上の画素のＤＣＴ係数である
ことを特徴とする請求項２４に記載の画像処理装置。
【請求項２６】
前記符号化データは、前記画像データの動きを表す動きベクトルを含み、
前記周辺情報は、前記注目ブロックのフレームの前または後のフレームにおける、前記注目教師データに対応する位置から前記動きベクトルに対応する分だけ移動した位置にある画素を含む１以上の画素の画素値、またはその１以上の画素のＤＣＴ係数である
ことを特徴とする請求項２４に記載の画像処理装置。
【請求項２７】
少なくとも所定のブロック単位で２次元ＤＣＴ(Discrete Cosine Transform)変換して得られる２次元ＤＣＴ係数を含む符号化された画像データを復号するのに用いる積和演算に用いられる係数である演算係数を学習する画像処理方法であって、
学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、前記学習の生徒となる生徒データとして出力する生徒データ生成ステップと、
前記教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
前記教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記演算係数との前記積和演算に用いる幾つかの値の集合として生成する生成ステップと、
前記値の集合と演算係数との積和演算を行うことにより得られる前記注目教師データの予測値の予測誤差を、統計的に最小にする前記演算係数を、前記クラスごとに求める学習を行う学習ステップと
を備えることを特徴とする画像処理方法。
【請求項２８】
少なくとも所定のブロック単位で２次元ＤＣＴ(Discrete Cosine Transform)変換して得られる２次元ＤＣＴ係数を含む符号化された画像データを復号するのに用いる積和演算に用いられる係数である演算係数を学習する画像処理を、コンピュータに行わせるプログラムであって、
学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、前記学習の生徒となる生徒データとして出力する生徒データ生成ステップと、
前記教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
前記教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記演算係数との前記積和演算に用いる幾つかの値の集合として生成する生成ステップと、
前記値の集合と演算係数との積和演算を行うことにより得られる前記注目教師データの予測値の予測誤差を、統計的に最小にする前記演算係数を、前記クラスごとに求める学習を行う学習ステップと
を備えることを特徴とするプログラム。
【請求項２９】
少なくとも所定のブロック単位で２次元ＤＣＴ(Discrete Cosine Transform)変換して得られる２次元ＤＣＴ係数を含む符号化された画像データを復号するのに用いる、所定の積和演算に用いられる係数である演算係数を学習する画像処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、前記学習の生徒となる生徒データとして出力する生徒データ生成ステップと、
前記教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、
前記教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの前記２次元ＤＣＴ係数と、前記注目ブロックの周辺のブロックである周辺ブロックの前記２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または前記周辺ブロックのＤＣＴ係数の特定の周波数成分または前記周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、前記演算係数との前記積和演算に用いる幾つかの値の集合として生成する生成ステップと、
前記値の集合と演算係数との積和演算を行うことにより得られる前記注目教師データの予測値の予測誤差を、統計的に最小にする前記演算係数を、前記クラスごとに求める学習を行う学習ステップと
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および画像処理方法、並びにプログラムおよび記録媒体に関し、特に、例えば、画像データをＭＰＥＧ符号化した符号化データを、高画質の画像データに復号することができるようにする画像処理装置および画像処理方法、並びにプログラムおよび記録媒体に関する。
【０００２】
【従来の技術】
ＭＰＥＧ(Moving Picture Experts Group)１や２等の符号化方式では、画像データが、８×８画素のブロック単位で、ＤＣＴ(Discrete Cosine Transform)変換され、さらに量子化されることにより、符号化データとされる。このため、ＭＰＥＧの規格に準拠したＭＰＥＧデコーダでは、符号化データが、逆量子化され、さらに逆ＤＣＴ変換されることにより復号される。
【０００３】
上述のように、ＭＰＥＧ符号化方式では、画像データが、ブロック単位でＤＣＴ変換され、その結果得られるＤＣＴ係数が量子化されるため、ＭＰＥＧの規格に準拠したＭＰＥＧデコーダにおいて得られる復号画像には、符号化時の量子化の影響により、ブロック歪みやモスキートノイズといった各種の歪みが生じる。
【０００４】
復号画像に生じる歪みを低減する方法としては、例えば、特開平１１−１８７４００号公報や特開平１１−２０５７９２号公報に記載されているように、復号画像に対して後処理を施すことにより、その復号画像に生じている歪みを検知して補正する方法がある。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述のように、歪みを検知して補正する方法では、ブロック境界の位置を検出する必要がある。さらに、符号化データが、ＭＰＥＧ２方式で画像データを符号化したものである場合には、マクロブロック単位で設定可能なＤＣＴタイプが、フレームＤＣＴまたはフィールドＤＣＴのうちのいずれであったかを判別する必要もある。従って、ブロック境界の位置の検出や、ＤＣＴタイプの判別を誤ると、復号画像に生じている歪みを、十分に除去することが困難なことがある。
【０００６】
さらに、上述の方法は、復号画像に生じる歪み波形の基底をなすコサイン波形の位相とは無関係に、補正のためのフィルタ処理を施すものとなっており、従って、必ずしも、最適な歪み除去方式とは言えない。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、各種の歪みを十分に低減した高画質の復号画像を得ることができるようにするものである。
【０００８】
【課題を解決するための手段】
本発明の第１の画像処理装置は、学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、学習の生徒となる生徒データとして、所定の学習処理により予め得られたクラスごとの演算係数のうちの、予測対象画素である注目画素のクラスに対応するものを取得する取得手段と、注目画素を含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、取得手段において取得された演算係数との積和演算に用いる幾つかの値の集合として生成する生成手段と、注目画素のクラスに対応した演算係数と、値の集合との積和演算を行うことにより、注目画素の画素値を求めることで、符号化された画像データを復号する予測演算手段とを備え、所定の学習処理は、教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けし、教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、演算係数との積和演算に用いる幾つかの値の集合として生成し、値の集合と演算係数の積和演算を行うことにより得られる注目教師データの予測値の予測誤差を、統計的に最小にする演算係数を、クラスごとに求める処理であることを特徴とする。
【０００９】
本発明の第１の画像処理方法は、学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、学習の生徒となる生徒データとして、所定の学習処理により予め得られたクラスごとの演算係数のうちの、予測対象画素である注目画素のクラスに対応するものを取得する取得ステップと、注目画素を含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、取得手段において取得された演算係数との積和演算に用いる幾つかの値の集合として生成する生成ステップと、注目画素のクラスに対応した演算係数と、値の集合との積和演算を行うことにより、注目画素の画素値を求めることで、符号化された画像データを復号する予測演算ステップとを備え、所定の学習処理は、教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けし、教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、演算係数との積和演算に用いる幾つかの値の集合として生成し、値の集合と演算係数の積和演算を行うことにより得られる注目教師データの予測値の予測誤差を、統計的に最小にする演算係数を、クラスごとに求める処理であることを特徴とする。
【００１０】
本発明の第１のプログラムは、学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、学習の生徒となる生徒データとして、所定の学習処理により予め得られたクラスごとの演算係数のうちの、予測対象画素である注目画素のクラスに対応するものを取得する取得ステップと、注目画素を含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、取得手段において取得された演算係数との積和演算に用いる幾つかの値の集合として生成する生成ステップと、注目画素のクラスに対応した演算係数と、値の集合との積和演算を行うことにより、注目画素の画素値を求めることで、符号化された画像データを復号する予測演算ステップとを備え、所定の学習処理は、教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けし、教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、演算係数との積和演算に用いる幾つかの値の集合として生成し、値の集合と演算係数の積和演算を行うことにより得られる注目教師データの予測値の予測誤差を、統計的に最小にする演算係数を、クラスごとに求める処理であることを特徴とする。
【００１１】
本発明の第１の記録媒体は、学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、学習の生徒となる生徒データとして、所定の学習処理により予め得られたクラスごとの演算係数のうちの、予測対象画素である注目画素のクラスに対応するものを取得する取得ステップと、注目画素を含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、取得手段において取得された演算係数との積和演算に用いる幾つかの値の集合として生成する生成ステップと、注目画素のクラスに対応した演算係数と、値の集合との積和演算を行うことにより、注目画素の画素値を求めることで、符号化された画像データを復号する予測演算ステップとをコンピュータに実行させるためのプログラムを記録し、所定の学習処理は、教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けし、教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、演算係数との積和演算に用いる幾つかの値の集合として生成し、値の集合と演算係数の積和演算を行うことにより得られる注目教師データの予測値の予測誤差を、統計的に最小にする演算係数を、クラスごとに求める処理であるコンピュータ読み取り可能なものである。
【００１２】
本発明の第２の画像処理装置は、学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、学習の生徒となる生徒データとして出力する生徒データ生成手段と、教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類手段と、教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、演算係数との積和演算に用いる幾つかの値の集合として生成する生成手段と、値の集合と演算係数の積和演算を行うことにより得られる注目教師データの予測値の予測誤差を、統計的に最小にする演算係数を、クラスごとに求める学習を行う学習手段とを備えることを特徴とする。
【００１３】
本発明の第２の画像処理方法は、学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、学習の生徒となる生徒データとして出力する生徒データ生成ステップと、教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、演算係数との積和演算に用いる幾つかの値の集合として生成する生成ステップと、値の集合と演算係数との積和演算を行うことにより得られる注目教師データの予測値の予測誤差を、統計的に最小にする演算係数を、クラスごとに求める学習を行う学習ステップとを備えることを特徴とする。
【００１４】
本発明の第２のプログラムは、学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、学習の生徒となる生徒データとして出力する生徒データ生成ステップと、教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、演算係数との積和演算に用いる幾つかの値の集合として生成する生成ステップと、値の集合と演算係数との積和演算を行うことにより得られる注目教師データの予測値の予測誤差を、統計的に最小にする演算係数を、クラスごとに求める学習を行う学習ステップとを備えることを特徴とする。
【００１５】
本発明の第２の記録媒体は、学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、学習の生徒となる生徒データとして出力する生徒データ生成ステップと、教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類ステップと、教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、演算係数との積和演算に用いる幾つかの値の集合として生成する生成ステップと、値の集合と演算係数との積和演算を行うことにより得られる注目教師データの予測値の予測誤差を、統計的に最小にする演算係数を、クラスごとに求める学習を行う学習ステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能なものである。
【００１６】
本発明の第１の画像処理装置および画像処理方法、並びにプログラムおよび記録媒体においては、学習の教師となる画像データである教師データを、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データを、学習の生徒となる生徒データとして、所定の学習処理により予め得られたクラスごとの演算係数のうちの、予測対象画素である注目画素のクラスに対応するものが取得され、その注目画素を含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とが、演算係数との積和演算に用いる幾つかの値の集合として生成される。そして、注目画素のクラスに対応した演算係数と、値の集合との積和演算を行うことにより、注目画素の画素値を求めることで、符号化された画像データが復号される。また、所定の学習処理は、教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けし、教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とを、演算係数との積和演算に用いる幾つかの値の集合として生成し、値の集合と演算係数の積和演算を行うことにより得られる注目教師データの予測値の予測誤差を、統計的に最小にする演算係数を、クラスごとに求める処理である。
【００１７】
本発明の第２の画像処理装置および画像処理方法、並びにプログラムおよび記録媒体においては、学習の教師となる画像データである教師データが、少なくとも２次元ＤＣＴ変換することにより符号化し、２次元ＤＣＴ係数を含む符号化データが、学習の生徒となる生徒データとして出力される。また、教師データを構成する画素を、当該画素を含むブロックのＤＣＴ係数から求められる特徴量を含むコードに基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類が行われる。そして、教師データを構成する画素のうちの、予測対象画素である注目教師データを含むブロックである注目ブロックの２次元ＤＣＴ係数と、注目ブロックの周辺のブロックである周辺ブロックの２次元ＤＣＴ係数を逆２次元ＤＣＴ変換して得られる画素値情報または周辺ブロックのＤＣＴ係数の特定の周波数成分または周辺ブロックの２次元ＤＣＴ係数から得られる１次元ＤＣＴ係数である周辺情報とが、演算係数との積和演算に用いる幾つかの値の集合として生成され、値の集合と演算係数との積和演算を行うことにより得られる注目教師データの予測値の予測誤差を、統計的に最小にする演算係数が、クラスごとに求められる。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態について説明するが、その前に、ＭＰＥＧに準拠した復号方式について、簡単に説明する。
【００１９】
図１は、例えば、ＭＰＥＧ２方式で符号化された符号化データを、ＭＰＥＧに準拠して復号するＭＰＥＧデコーダの構成例を示している。
【００２０】
画像データをＭＰＥＧ２方式で符号化することにより得られる符号化データ（ビデオストリーム）は、分離部１に供給される。分離部１は、符号化データから、コーデッドブロックパターン(Coded Block Pattern)（以下、適宜、ＣＢＰという）、ＤＣＴタイプ、量子化されたＤＣＴ係数のＶＬＣ（可変長符号化）コード、量子化スケール、動きベクトル、動き補償タイプ（frame motion type, field motion type）等を分離して出力する。
【００２１】
ＤＣＴ係数抽出／逆量子化部２は、分離部１が出力する、量子化されたＤＣＴ係数（以下、適宜、量子化ＤＣＴ係数という）のＶＬＣコード、量子化スケール、およびＤＣＴタイプを受信し、ＤＣＴ係数を復号する。即ち、ＤＣＴ係数抽出／逆量子化部２は、分離部１が出力する量子化ＤＣＴ係数のＶＬＣコードを可変長復号し、８×８画素のブロックごとの量子化ＤＣＴ係数を求める。さらに、ＤＣＴ係数抽出／逆量子化部２は、ブロックごとの量子化ＤＣＴ係数を、分離部１が出力する量子化スケールによって逆量子化し、ブロックごとのＤＣＴ係数を求める。ＤＣＴ係数抽出／逆量子化部２で得られたブロックごとのＤＣＴ係数は、逆ＤＣＴ変換部３に供給される。
【００２２】
逆ＤＣＴ変換部３は、ＤＣＴ係数抽出／逆量子化部２からのブロックごとのＤＣＴ係数を逆ＤＣＴ変換し、動き補償加算部６に供給する。
【００２３】
動き補償加算部６には、逆ＤＣＴ変換部３が出力する逆ＤＣＴ変換結果の他、分離部１が出力するＣＢＰおよびＤＣＴタイプが供給される。動き補償加算部６は、ＣＢＰやＤＣＴタイプに基づき、必要に応じて、逆ＤＣＴ変換部３からの逆ＤＣＴ結果に対して、画像メモリ５に記憶された予測画像を加算することで、８×８の画素値のブロックを復号して出力する。
【００２４】
即ち、ＭＰＥＧ符号化では、Ｉピクチャのブロックは、イントラ(intra)符号化され、Ｐピクチャのブロックは、イントラ符号化、または前方予測符号化され、Ｂピクチャのブロックは、イントラ符号化、前方予測符号化、後方予測符号化、または両方向予測符号化される。
【００２５】
ここで、前方予測符号化では、符号化対象のブロックのフレーム（またはフィールド）より時間的に先行するフレーム（またはフィールド）の画像を参照画像として、その参照画像を動き補償することにより得られる、符号化対象のブロックの予測画像と、符号化対象のブロックとの差分が求められ、その差分値（以下、適宜、残差画像という）がＤＣＴ変換される。
【００２６】
また、後方予測符号化では、符号化対象のブロックのフレームより時間的に後行するフレームの画像を参照画像として、その参照画像を動き補償することにより得られる、符号化対象のブロックの予測画像と、符号化対象のブロックとの差分が求められ、その差分値（残差画像）がＤＣＴ変換される。
【００２７】
さらに、両方向予測符号化では、符号化対象のブロックのフレームより時間的に先行するフレームと後行するフレームの２フレーム（またはフィールド）の画像を参照画像として、その参照画像を動き補償することにより得られる、符号化対象のブロックの予測画像と、符号化対象のブロックとの差分が求められ、その差分値（残差画像）がＤＣＴ変換される。
【００２８】
従って、ブロックが、ノンイントラ(non-intra)符号化（前方予測符号化、後方予測符号化、または両方向予測符号化）されている場合、逆ＤＣＴ変換部３が出力する逆ＤＣＴ変換結果は、残差画像（元の画像と、その予測画像との差分値）であり、動き補償加算部６は、この残差画像と、画像メモリ５に記憶された予測画像とを加算することで、ノンイントラ符号化されたブロックを復号する。
【００２９】
一方、動き補償加算部６は、逆ＤＣＴ変換部４が出力するブロックが、イントラ符号化されたものであった場合には、そのブロックを、そのまま復号結果とする。
【００３０】
動き補償加算部６は、１フレーム（またはフィールド）分のブロックの復号結果、即ち、１フレーム（またはフィールド）の復号画像を得ると、その復号画像を、画像メモリ（Ｉ，Ｐピクチャ用画像メモリ）７と、ピクチャ選択部８に供給する。
【００３１】
画像メモリ７は、動き補償加算部６から供給される復号画像が、ＩピクチャまたはＰピクチャの画像である場合、その復号画像を、その後に復号される符号化データの参照画像として一時記憶する。なお、ＭＰＥＧ２では、Ｂピクチャは参照画像とされないことから、動き補償加算部６から供給される復号画像が、Ｂピクチャの画像である場合には、その復号画像は、画像メモリ７に記憶されない。
【００３２】
ピクチャ選択部８は、動き補償加算部６が出力する復号画像、または画像メモリ７に記憶された復号画像のフレーム（またはフィールド）を、表示順に選択して出力する。即ち、ＭＰＥＧ２方式では、画像のフレーム（またはフィールド）の表示順と復号順（符号化順）とが一致していないため、ピクチャ選択部８は、復号順に並んでいる復号画像のフレーム（またはフィールド）を表示順に並べ替えて出力する。
【００３３】
このようにして表示順の並びとされた復号画像は、例えば、図示せぬディスプレイ等に供給されて表示される。
【００３４】
一方、動き補償部４は、分離部１が出力する動きベクトルや動き補償タイプを受信し、その動き補償タイプに基づいて、参照画像となるフレーム（またはフィールド）を、画像メモリ７から読み出す。さらに、動き補償部４は、画像メモリ７から読み出した参照画像に対して、分離部１が出力する動きベクトルにしたがった動き補償を施し、その結果得られる予測画像を、画像メモリ５に供給して記憶させる。
【００３５】
このようにして画像メモリ５に記憶された予測画像は、上述したように、動き補償加算部６において、逆ＤＣＴ変換部３が出力する残差画像と加算される。
【００３６】
なお、図１のＭＰＥＧデコーダにおいては、各ブロックにおける遅延時間を吸収するためのタイミング調整用のメモリと同期信号を必要とするが、その図示は、省略してある。後述する画像処理装置や学習装置においても同様である。
【００３７】
次に、図２は、本発明を適用した画像処理装置の一実施の形態の構成例を示している。なお、図中、図１のＭＰＥＧデコーダにおける場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【００３８】
図２の画像処理装置は、前処理部１１、バッファメモリ１２、クラス分類部１３、タップ係数記憶部１４、および画像再構成部１５から構成されており、例えば、画像データをＭＰＥＧ２方式で符号化することにより得られる符号化データ（ビットストリーム）を復号するようになっている。
【００３９】
即ち、符号化データは、前処理部１１に供給されるようになっている。また、前処理部１１には、符号化データの他、画像再構成部１５から、既に復号された画像が、参照画像として供給されるようになっている。
【００４０】
前処理部１１は、分離部１、ＤＣＴ係数抽出／逆量子化部２、動き補償部４、画像メモリ５、ＤＣＴ変換部２１、周波数領域動き補償加算部２２から構成されており、符号化データに対して、前処理を施すようになっている。
【００４１】
即ち、ＤＣＴ変換部２１には、分離部１から、ＤＣＴタイプが供給されるとともに、画像メモリ５から、動き補償部４において参照画像に動き補償処理を施すことにより得られた予測画像が供給される。
【００４２】
ここで、いま、復号の対象となっているブロックを、以下、適宜、注目ブロックという。
【００４３】
また、以下、適宜、画素値で構成されるブロックを、画素ブロックというとともに、ＤＣＴ係数で構成されるブロックを、ＤＣＴブロックという。
【００４４】
さらに、以下、適宜、注目ブロックとなっている画素ブロックまたはＤＣＴブロックを、それぞれ、注目画素ブロックまたは注目ＤＣＴブロックという。
【００４５】
ＤＣＴ変換部２１は、分離部１から供給されるＤＣＴタイプに基づき、ＤＣＴ係数抽出／逆量子化部２が出力する注目ブロックのＤＣＴタイプを認識する。さらに、ＤＣＴ変換部２１は、注目ブロックのＤＣＴタイプに基づいて、画像メモリ５に記憶された予測画像から、ブロックと同一の大きさの８×８画素を選択し、ＤＣＴ係数に変換する。この予測画像から得られたＤＣＴ係数（以下、適宜、予測ＤＣＴ係数という）は、ＤＣＴ変換部２１から周波数領域動き補償加算部２２に供給される。
【００４６】
周波数領域動き補償加算部２２には、ＤＣＴ変換部２１から、８×８の予測ＤＣＴ係数が供給される他、分離部１から、注目ブロックを含むマクロブロック（以下、適宜、注目マクロブロックという）のＣＢＰが供給されるとともに、ＤＣＴ係数抽出／逆量子化部２から、注目ブロックが供給される。
【００４７】
周波数領域動き補償加算部２２は、注目マクロブロックのＣＢＰに基づき、必要に応じて、注目ブロックの各ＤＣＴ係数と、対応する予測ＤＣＴ係数とを加算することで、注目ブロックの画素値をＤＣＴ変換した注目ＤＣＴブロックを求める。
【００４８】
即ち、注目ブロックがイントラ符号化されているものである場合、その注目ブロックのＤＣＴ係数は、画素値のブロック（画素ブロック）をＤＣＴ変換したものとなっているから、周波数領域動き補償加算部２２は、その注目ブロックを、そのまま、注目ＤＣＴブロックとする。
【００４９】
また、注目ブロックがノンイントラ符号化されているものである場合、その注目ブロックは、画素値のブロック（画素ブロック）と、予測画像との差分値（残差画像）をＤＣＴ変換したものとなっているから、周波数領域動き補償加算部２２は、その注目ブロックの各ＤＣＴ係数と、ＤＣＴ変換部２１において８×８画素の予測画像をＤＣＴ変換して得られる８×８の予測ＤＣＴ係数のうちの対応するものとを加算することにより、注目ＤＣＴブロックを求める。
【００５０】
周波数領域動き補償加算部２２において求められた注目ＤＣＴブロックは、分離部１が出力する、その注目ＤＣＴブロック（を含むマクロブロック）のＤＣＴタイプと対応付けられ、前処理部１１からバッファメモリ１２に供給される。
【００５１】
バッファメモリ１２は、前処理部１１から供給される注目ＤＣＴブロックとそのＤＣＴタイプとのセットを、一時記憶する。なお、クラス分類部１３では、後述するように、注目ブロックの情報の他、その注目ブロックの上下左右にそれぞれ隣接する４つのブロックの情報も用いて処理が行われるようになっている。このため、バッファメモリ１２は、画面２行分のマクロブロックに、１つのマクロブロックを加えた分の２次元ＤＣＴ係数およびＤＣＴタイプを記憶することのできる記憶容量を、少なくとも有している。
【００５２】
ここで、バッファメモリ１２に記憶されるブロックのＤＣＴ係数は、前処理部１１の周波数領域動き補償加算部２２が出力するものであるから、ブロックのピクチャタイプによらず、また、ブロックがイントラ符号化またはノンイントラ符号化されたかによらず、元の画像の画素値（残差画像ではなく、元の画像）をＤＣＴ変換したものとなっている。
【００５３】
なお、ここでいう元の画像は、残差画像と予測画像とを加算して得られるものを意味し、ＭＰＥＧ符号化の対象となった原画像そのものではない。
【００５４】
クラス分類部１３は、１次元逆ＤＣＴ変換部３１、隣接１次元ＤＣＴ係数選択／変換部３２、ＡＣパワー算出部３３、ＡＣ内積計算部３４、クラスコード生成部３６および３７から構成され、バッファメモリ１２に記憶されたブロックのＤＣＴ係数とＤＣＴタイプに基づき、注目ブロックの各画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行う。
【００５５】
即ち、１次元逆ＤＣＴ変換部３１は、バッファメモリ１２に記憶されたブロックのＤＣＴ係数を、１次元逆ＤＣＴ変換することにより、水平方向の空間周波数成分を表す水平１次元ＤＣＴ係数と、垂直方向の空間周波数成分を表す垂直１次元ＤＣＴ係数とを求める。
【００５６】
ここで、以下、適宜、垂直１次元ＤＣＴ係数と水平１次元ＤＣＴ係数とをまとめて、１次元ＤＣＴ係数という。
【００５７】
また、ＭＰＥＧ符号化された符号化データに含まれるＤＣＴ係数は、水平方向と垂直方向の２方向の空間周波数成分を表すものであり、１次元ＤＣＴ係数と区別するために、以下、適宜、２次元ＤＣＴ係数という。
【００５８】
さらに、以下、適宜、画素値から２次元ＤＣＴ係数への変換を、２次元ＤＣＴ変換と、２次元ＤＣＴ係数から画素値への変換を、２次元逆ＤＣＴ変換と、それぞれいう。図２のＤＣＴ変換部２１で行われるＤＣＴ変換は、２次元ＤＣＴ変換であり、図１の逆ＤＣＴ変換部３で行われる逆ＤＣＴ変換は、２次元逆ＤＣＴ変換である。
【００５９】
１次元逆ＤＣＴ変換部３１で得られる１次元ＤＣＴ係数は、隣接１次元ＤＣＴ係数選択／変換部３２、ＡＣパワー算出部３３、ＡＣ内積計算部３４、およびクラスコード生成部３６に供給される。
【００６０】
隣接１次元ＤＣＴ係数選択／変換部３２は、バッファメモリ１２から、注目ブロックのＤＣＴタイプを受信し、そのＤＣＴタイプに基づき、注目ブロックに隣接する画素（列）の１次元ＤＣＴ係数（以下、適宜、隣接１次元ＤＣＴ係数という）を、１次元逆ＤＣＴ変換部３１から供給される１次元ＤＣＴ係数から取得し、ＡＣパワー算出部３３、ＡＣ内積計算部３４、およびクラスコード生成部３６に供給する。
【００６１】
ＡＣパワー算出部３３は、１次元逆ＤＣＴ係数変換部３１から供給される１次元ＤＣＴ係数の交流成分のパワー（以下、適宜、ＡＣパワーという）を求めるとともに、隣接１次元ＤＣＴ係数選択／変換部３２から供給される１次元ＤＣＴ係数のＡＣパワーを求め、クラスコード生成部３６および３７に供給する。
【００６２】
ＡＣ内積計算部３４は、１次元逆ＤＣＴ係数変換部３１から供給される注目ブロックの境界部分の１次元ＤＣＴ係数の交流成分と、隣接１次元ＤＣＴ係数選択／変換部３２から供給される隣接１次元ＤＣＴ係数の交流成分とを、それぞれベクトルのコンポーネントとみなして、その２つのベクトルの内積（以下、適宜、ＡＣ内積という）を求める。ＡＣ内積計算部３４で求められるＡＣ内積は、クラスコード生成部３６に供給される。
【００６３】
クラスコード生成部３６は、輝度信号Ｙのブロックを構成する画素のクラス分類を行い、クラスコード生成部３７は、色差信号（色信号）Ｃのブロックを構成する画素のクラス分類を行う。
【００６４】
ここで、符号化データは、例えば、カラーの画像データをＭＰＥＧ符号化したものとなっている。
【００６５】
そして、１次元逆ＤＣＴ変換部３１は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックの１次元ＤＣＴ係数を、隣接１次元ＤＣＴ係数選択／変換部３２は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックに隣接する隣接１次元ＤＣＴ係数を、ＡＣパワー算出部３３は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックについて得られたＡＣパワーを、ＡＣ内積計算部３４は、注目ブロックが輝度信号のブロックである場合の、その注目ブロックについて得られたＡＣ内積を、それぞれ、クラスコード生成部３６に供給するようになっており、クラスコード生成部３６は、そこに供給される情報に基づいて、注目ブロックの各画素をクラス分類する。
【００６６】
さらに、クラスコード生成部３６は、注目ブロックの輝度信号の画素のクラス分類を行うことにより得られるクラスを表すクラスコードを生成し、タップ係数記憶部１４に供給する。ここで、クラスコード生成部３６において得られる、輝度信号のブロックの画素についてのクラスコードを、以下、適宜、輝度クラスコードという。
【００６７】
クラスコード生成部３６が出力する注目ブロックの各画素についての輝度クラスコードは、クラスコード生成部３７にも供給される。また、クラスコード生成部３７には、ＡＣパワー算出部３３から、注目ブロックが色差信号のブロックである場合の、その注目ブロックについて得られたＡＣパワーも供給されるようになっている。
【００６８】
クラスコード生成部３７は、ＡＣパワー算出部３３から供給される注目ブロックのＡＣパワーと、クラスコード生成部３６から供給される、色差信号の注目ブロックに対応する輝度信号のブロックの画素の輝度クラスコードとに基づいて、注目ブロックの各画素をクラス分類する。
【００６９】
そして、クラスコード生成部３７は、注目ブロックの色差信号の画素のクラス分類を行うことにより得られるクラスを表すクラスコードを生成し、タップ係数記憶部１４に供給する。ここで、クラスコード生成部３７において得られる、色差信号のブロックの画素についてのクラスコードを、以下、適宜、色差クラスコードという。
【００７０】
タップ係数記憶部１４は、タップ係数選択部４１および４２、並びに係数メモリ４３および４４から供給され、クラス分類部１３のクラスコード生成部３６または３７から供給されるクラスコードに対応するタップ係数を取得し、画像再構成部１５に供給する。
【００７１】
即ち、タップ係数選択部４１には、クラスコード生成部３６が出力する輝度クラスコードが供給されるようになっており、タップ係数選択部４２には、クラスコード生成部３７が出力する色差クラスコードが供給されるようになっている。
【００７２】
また、係数メモリ４３には、輝度信号の画素について、後述する学習により得られたクラスごとのタップ係数が記憶されており、係数メモリ４４には、色差信号の画素について、学習により得られたクラスごとのタップ係数が記憶されている。
【００７３】
そして、タップ係数選択部４１は、クラスコード生成部３６から供給される輝度クラスコードを、係数メモリ４３にアドレスとして与え、これにより、そのクラスコードに対応するクラスのタップ係数を、係数メモリ４３から読み出させ、画像再構成部１５の適応処理部５１に供給させる。
【００７４】
また、タップ係数選択部４２は、クラスコード生成部３７から供給される色差クラスコードを、係数メモリ４４にアドレスとして与え、これにより、そのクラスコードに対応するクラスのタップ係数を、係数メモリ４４から読み出させ、画像再構成部１５の適応処理部５１に供給させる。
【００７５】
画像再構成部１５は、画像メモリ７、ピクチャ選択部８、および適応処理部５１から構成されており、バッファメモリ１２に記憶された２次元ＤＣＴ係数、並びにタップ係数記憶部１４の係数メモリ４３と４４から供給されるタップ係数を用いて、画像を復号（再構成）する。
【００７６】
即ち、適応処理部５１は、バッファメモリ１２に記憶された注目ブロックの２次元ＤＣＴ係数を、タップ係数記憶部１４の係数メモリ４３と４４から供給されるタップ係数を用いて適応処理することにより、注目ブロックの画素値に変換する。さらに、適応処理部５１は、１フレーム（またはフィールド）分の画素値、即ち、１フレーム（またはフィールド）の画像データを復号すると、その復号画像データを、画像メモリ７とピクチャ選択部８に供給する。
【００７７】
画像メモリ７は、適応処理部５１から供給される復号画像データのうち、ＩピクチャとＰピクチャの復号画像データを、参照画像として記憶する。ピクチャ選択部８は、適応処理部５１から供給される復号画像データ、または画像メモリ７に記憶された復号画像データを、表示順で選択して出力する。
【００７８】
ここで、適応処理部５１では、上述したように、ＤＣＴ係数を、タップ係数を用いて画素値に変換する適応処理が行われる。
【００７９】
即ち、適応処理では、例えば、ＤＣＴ係数と、所定のタップ係数との線形結合により、元の画素の予測値を求めることで、ＤＣＴ係数が、元の画素値に復号される。
【００８０】
具体的には、例えば、いま、画像の画素値を教師データとするとともに、その画像を、ブロック単位でＤＣＴ変換し、さらに量子化、逆量子化をして得られるＤＣＴ係数を生徒データとして、教師データである画素の画素値ｙの予測値Ｅ［ｙ］を、幾つかのＤＣＴ係数ｘ1，ｘ2，・・・の集合と、所定のタップ係数ｗ1，ｗ2，・・・の線形結合により規定される線形１次結合モデルにより求めることを考える。この場合、予測値Ｅ［ｙ］は、次式で表すことができる。
【００８１】
0004154903.tif 000002
【００８２】
式（１）を一般化するために、タップ係数ｗjの集合でなる行列Ｗ、生徒データｘijの集合でなる行列Ｘ、および予測値Ｅ［ｙj］の集合でなる行列Ｙ’を、
【数１】
0004154903.tif 000003
で定義すると、次のような観測方程式が成立する。
【００８３】
ＸＷ＝Ｙ’・・・（２）
【００８４】
ここで、行列Ｘの成分ｘijは、ｉ件目の生徒データの集合（ｉ件目の教師データｙiの予測に用いる生徒データの集合）（予測タップ）の中のｊ番目の生徒データを意味し、行列Ｗの成分ｗjは、生徒データの集合の中のｊ番目の生徒データとの積が演算されるタップ係数を表す。また、ｙiは、ｉ件目の教師データを表し、従って、Ｅ［ｙi］は、ｉ件目の教師データの予測値を表す。なお、式（１）の左辺におけるｙは、行列Ｙの成分ｙiのサフィックスｉを省略したものであり、また、式（１）の右辺におけるｘ1，ｘ2，・・・も、行列Ｘの成分ｘijのサフィックスｉを省略したものである。
【００８５】
式（２）の観測方程式に、例えば最小自乗法を適用して、元の画素値ｙに近い予測値Ｅ［ｙ］を求めることを考える。この場合、教師データとなる真の画素値ｙの集合でなる行列Ｙ、および画素値ｙに対する予測値Ｅ［ｙ］の残差ｅの集合でなる行列Ｅを、
【数２】
0004154903.tif 000004
で定義すると、式（２）から、次のような残差方程式が成立する。
【００８６】
ＸＷ＝Ｙ＋Ｅ・・・（３）
【００８７】
この場合、元の画素値ｙに近い予測値Ｅ［ｙ］を求めるためのタップ係数ｗjは、自乗誤差
【数３】
0004154903.tif 000005
を最小にすることで求めることができる。
【００８８】
従って、上述の自乗誤差をタップ係数ｗjで微分したものが０になる場合、即ち、次式を満たすタップ係数ｗjが、元の画素値ｙに近い予測値Ｅ［ｙ］を求めるため最適値ということになる。
【００８９】
【数４】
0004154903.tif 000006
・・・（４）
【００９０】
そこで、まず、式（３）を、タップ係数ｗjで微分することにより、次式が成立する。
【００９１】
【数５】
0004154903.tif 000007
・・・（５）
【００９２】
式（４）および（５）より、式（６）が得られる。
【００９３】
【数６】
0004154903.tif 000008
・・・（６）
【００９４】
さらに、式（３）の残差方程式における生徒データｘij、タップ係数ｗj、教師データｙi、および残差ｅiの関係を考慮すると、式（６）から、次のような正規方程式を得ることができる。
【００９５】
【数７】
0004154903.tif 000009
・・・（７）
【００９６】
なお、式（７）に示した正規方程式は、行列（共分散行列）Ａおよびベクトルｖを、
【数８】
0004154903.tif 000010
で定義するとともに、ベクトルＷを、数１で示したように定義すると、式
ＡＷ＝ｖ・・・（８）
で表すことができる。
【００９７】
式（７）における各正規方程式は、生徒データｘijおよび教師データｙiのセットを、ある程度の数だけ用意することで、求めるべきタップ係数ｗjの数Ｊと同じ数だけたてることができ、従って、式（８）を、ベクトルＷについて解くことで（但し、式（８）を解くには、式（８）における行列Ａが正則である必要がある）、最適なタップ係数（ここでは、自乗誤差を最小にするタップ係数）ｗjを求めることができる。なお、式（８）を解くにあたっては、例えば、掃き出し法（Gauss-Jordanの消去法）などを用いることが可能である。
【００９８】
以上のようにして、最適なタップ係数、即ち、画素値の予測値の統計的な誤差を最小にするタップ係数ｗjを求めておき、さらに、そのタップ係数ｗjを用いて、式（１）により、元の画素値ｙに近い予測値Ｅ［ｙ］を求めるのが適応処理である。
【００９９】
なお、上述のように、画像の画素値を教師データとするとともに、その画像を、ブロック単位でＤＣＴ変換し、さらに量子化、逆量子化をして得られるＤＣＴ係数を生徒データとする場合には、ＤＣＴ係数（画素値をＤＣＴ変換し、量子化し、さらに、逆量子化して得られるＤＣＴ係数）を、式（１）の線形予測演算によって、元の画素値（の予測値）に変換するのに最適なタップ係数を得ることができる。そして、ＤＣＴ係数は、周波数領域のデータであり、画素値は時間領域の信号であるから、上述のようなタップ係数を用いて、ＤＣＴ係数を画素値に変換する適応処理は、周波数(Frequency)と時間(Time)の頭文字をとって、ＦＴ変換と呼ぶことができる。
【０１００】
ここで、上述の場合には、画像を２次元ＤＣＴ変換し、さらに量子化、逆量子化して得られるＤＣＴ係数を生徒データとするとともに、原画像を教師データとして、タップ係数を求めるようにしたが、タップ係数は、その他、例えば、原画像を２次元ＤＣＴ変換し、さらに量子化、逆量子化して得られるＤＣＴ係数を生徒データとするとともに、原画像を２次元ＤＣＴ変換して得られるＤＣＴ係数を教師データとして求めるようにすることも可能である。この場合、量子化誤差のあるＤＣＴ係数を、量子化誤差のないＤＣＴ係数（の予測値）に変換するのに最適なタップ係数を得ることができる。
【０１０１】
また、タップ係数は、原画像を２次元ＤＣＴ変換し、さらに、量子化、逆量子化、２次元逆ＤＣＴ変換して得られる復号画像を生徒データとするとともに、原画像を教師データとして求めるようにすることも可能である。この場合、逆量子化および２次元逆ＤＣＴ変換によって復号された画像を、原画像（の予測値）に変換するのに最適なタップ係数を得ることができる。
【０１０２】
即ち、適応処理によれば、教師データと生徒データとして、どのようなデータを採用するかによって、任意のデータ変換を行う（生徒データに対応するデータを、教師データに対応するデータに変換する）のに最適なタップ係数を得ることができる。
【０１０３】
次に、図３は、図２のＤＣＴ変換部２１および周波数領域動き補償加算部２２の構成例を示している。
【０１０４】
ＤＣＴ変換部２１は、（８×８画素）サンプリング部６１とＤＣＴ部６２から構成され、画像メモリ５に記憶された予測画像を２次元ＤＣＴ変換した予測ＤＣＴ係数を生成するようになっている。
【０１０５】
即ち、サンプリング部６１には、画像メモリ５に記憶された予測画像と、分離部１（図２）が出力する注目ブロック（を含むマクロブロック）のＤＣＴタイプが供給されるようになっている。
【０１０６】
ここで、画像メモリ５には、動き補償部４（図２）から、マクロブロックと同一の大きさである１６×１６画素の予測画像が供給されるようになっており、画像メモリ５は、注目ブロックに対応する１６×１６画素の予測画像を記憶する。従って、画像メモリ５は、少なくとも１６×１６画素の画像を記憶することのできる記憶容量を有している。
【０１０７】
サンプリング部６１は、画像メモリ５に記憶された１６×１６画素の予測画像を、注目ブロックのＤＣＴタイプにしたがってサンプリングし、ブロックと同一の大きさの８×８画素の予測画像を生成する。
【０１０８】
即ち、画像メモリ５に記憶された１６×１６画素の予測画像は、フレーム構造になっており、注目ブロックの構造と一致している場合と、一致していない場合とがある。
【０１０９】
具体的には、注目ブロックがフレーム構造である場合には、注目ブロックと、画像メモリ５に記憶された１６×１６画素の予測画像とは、一致した構造のものとなる。
【０１１０】
従って、注目ブロックが、図４Ａに示すように、マクロブロック（注目マクロブロック）の左上、左下、右上、または右下のブロックである場合、サンプリング部６１は、図４Ｂに示すように、画像メモリ５に記憶された１６×１６画素の予測画像のうち、左上、左下、右上、または右下の８×８画素を、それぞれサンプリングし、これにより、注目ブロックの各画素と空間的に対応する位置にある８×８画素の予測画像を得て、ＤＣＴ部６２に供給する。
【０１１１】
ここで、図４において（後述する図５においても同様）、影を付してあるラインは、奇数ライン（トップフィールド）を表し、影を付していないラインは、偶数ライン（ボトムフィールド）を表す。
【０１１２】
一方、注目ブロックがフィールド構造である場合は、注目ブロックと、画像メモリ５に記憶された１６×１６画素の予測画像とは、異なる構造のものとなる。
【０１１３】
即ち、この場合、注目ブロックを含むマクロブロック（注目マクロブロック）は、図５Ａに示すように、上側の８ラインが奇数ライン（トップフィールド）で構成され、下側の８ラインが偶数ライン（ボトムフィールド）で構成される。
【０１１４】
従って、注目ブロックが、注目マクロブロックの左上のブロックである場合、その注目ブロックの８×８画素は、図５Ｂに示すように、画像メモリ５に記憶された１６×１６画素の予測画像のうちの、８つの奇数ライン（影を付してあるライン）の左側の８画素に対応する。また、注目ブロックが、注目マクロブロックの左下のブロックである場合、その注目ブロックの８×８画素は、図５Ｂに示すように、画像メモリ５に記憶された１６×１６画素の予測画像のうちの、８つの偶数ライン（影を付してないライン）の左側の８画素に対応する。さらに、注目ブロックが、注目マクロブロックの右上のブロックである場合には、その注目ブロックの８×８画素は、図５Ｂに示すように、画像メモリ５に記憶された１６×１６画素の予測画像のうちの、８つの奇数ライン（影を付してあるライン）の右側の８画素に対応し、また、注目ブロックが、注目マクロブロックの右下のブロックである場合には、その注目ブロックの８×８画素は、図５Ｂに示すように、画像メモリ５に記憶された１６×１６画素の予測画像のうちの、８つの偶数ライン（影を付してないライン）の右側の８画素に対応する。
【０１１５】
そこで、サンプリング部６１は、注目ブロックが、フィールド構造である場合には、画像メモリ５に記憶された１６×１６画素の予測画像のうち、注目マクロブロックにおける注目ブロックの位置に対応する、上述のような８×８画素をサンプリングし、これにより、注目ブロックの各画素と空間的に対応する位置にある８×８画素の予測画像を得て、ＤＣＴ部６２に供給する。
【０１１６】
ＤＣＴ部６２は、サンプリング部６１から供給される、注目ブロックの各画素と空間的に対応する位置にある８×８画素の予測画像を２次元ＤＣＴ変換し、これにより、８×８の予測ＤＣＴ係数を得て、周波数領域動き補償加算部２２に供給する。
【０１１７】
なお、サンプリング部６１において、注目ブロックの構造は、分離部１（図２）が出力する注目ブロック（を含む注目マクロブロック）のＤＣＴタイプに基づいて認識される。
【０１１８】
図３において、周波数領域動き補償加算部２２は、ＤＣＴ係数選択部７１、加算部７２、および選択部７３から構成され、ＤＣＴ係数抽出／逆量子化部２（図２）から供給される注目ブロックの２次元ＤＣＴ係数と、ＤＣＴ変換部２１から供給される予測ＤＣＴ係数とを、必要に応じて加算することにより、注目ブロックの元の画像の２次元ＤＣＴ係数を求める。
【０１１９】
即ち、ＤＣＴ係数選択部７１には、ＤＣＴ係数抽出／逆量子化部２（図２）が出力する注目ブロックの２次元ＤＣＴ係数と、分離部１（図２）が出力する注目ブロック（を含む注目マクロブロック）のＣＢＰが供給されるようになっている。
【０１２０】
注目ブロックがイントラ符号化されたものである場合、その注目ブロックの２次元ＤＣＴ係数は、注目ブロックの元の画像を２次元ＤＣＴ変換したものであるから、ＤＣＴ係数選択部７１は、注目ブロックを、そのまま出力する。ＤＣＴ係数選択部７１の出力は、加算部７２と選択部７３に供給される。
【０１２１】
注目ブロックがイントラ符号化されたものである場合、加算部７２は、特に処理を行わず、また、選択部７３は、ＤＣＴ係数選択部７１の出力を選択し、後段のバッファメモリ１２（図２）に供給する。
【０１２２】
従って、注目ブロックがイントラ符号化されたものである場合、即ち、ＤＣＴ係数抽出／逆量子化部２（図２）が出力する注目ブロックの２次元ＤＣＴ係数が、注目ブロックの元の画像を２次元ＤＣＴ変換したものである場合には、ＤＣＴ係数抽出／逆量子化部２（図２）が出力する注目ブロックが、そのまま、バッファメモリ１２（図２）に供給される。
【０１２３】
一方、ＤＣＴ係数選択部７１は、注目ブロックがノンイントラ符号化されたものである場合、その注目ブロックのＣＢＰを参照し、残差画像の２次元ＤＣＴ係数の有無を認識する。即ち、注目ブロックがノンイントラ符号化されたものである場合には、その注目ブロックには、原則として、残差画像の２次元ＤＣＴ係数が（ビデオストリーム中に）配置されるが、残差画像の２次元ＤＣＴ係数がすべて０となるときには、ＣＢＰが０とされ、２次元ＤＣＴ係数は配置されない。そして、この場合、注目ブロックの画像は、予測画像に一致する。
【０１２４】
そこで、ＤＣＴ係数選択部７１は、注目ブロックがノンイントラ符号化されたものであり、そのＣＢＰが０である場合には、残差画像の２次元ＤＣＴ係数として０を出力する。
【０１２５】
また、ＤＣＴ係数選択部７１は、注目ブロックがノンイントラ符号化されたものであり、そのＣＢＰが１である場合、ＤＣＴ係数抽出／逆量子化部２（図２）が出力する注目ブロックには、残差画像の２次元ＤＣＴ係数が配置されているから、その２次元ＤＣＴ係数を出力する。
【０１２６】
ＤＣＴ係数選択部７１の出力は、上述したように、加算部７２と選択部７３に供給される。
【０１２７】
加算部７２は、注目ブロックがノンイントラ符号化されたものである場合、ＤＣＴ係数選択部７１の出力と、ＤＣＴ変換部２１（のＤＣＴ部６２）が出力する予測画像の２次元ＤＣＴ係数とを加算し、これにより、注目ブロックについて、元の画像の２次元ＤＣＴ係数を得て、選択部７３に供給する。
【０１２８】
選択部７３は、注目ブロックがノンイントラ符号化されたものである場合、演算部７２の出力を選択し、後段のバッファメモリ１２（図２）に供給する。
【０１２９】
従って、注目ブロックがノンイントラ符号化されたものである場合において、注目ブロックのＣＢＰが０であるときには、注目ブロックの画像が、予測画像に一致するため、加算部７２において、ＤＣＴ係数選択部７１が出力する０と、ＤＣＴ部６２が出力する予測画像のＤＣＴ係数（予測ＤＣＴ係数）とが加算されることにより、注目ブロックの元の画像の２次元ＤＣＴ係数が求められる。
【０１３０】
また、注目ブロックのＣＢＰが１であるときには、加算部７２において、ＤＣＴ係数選択部７１が出力する注目ブロックの残差画像のＤＣＴ係数と、ＤＣＴ部６２が出力する予測画像のＤＣＴ係数（予測ＤＣＴ係数）とが加算されることにより、やはり、注目ブロックの元の画像の２次元ＤＣＴ係数が求められる。
【０１３１】
そして、選択部７３では、加算部７２において上述したようにして得られる、注目ブロックの元の画像の２次元ＤＣＴ係数が選択されて出力される。
【０１３２】
なお、前処理部１１（図２）では、周波数領域において、残差画像と予測画像とを加算して、元の画像の２次元ＤＣＴ係数を求めるようにしたが、即ち、残差画像の２次元ＤＣＴ係数と、予測画像の２次元ＤＣＴ係数とを加算して、元の画像の２次元ＤＣＴ係数を求めるようにしたが、これは、後段のクラス分類部１３において、周波数領域のＤＣＴ係数を用いて処理を行うため、前処理部１１とクラス分類部１３の処理を、周波数領域で行うように統一した方が都合が良いと考えられるためである。
【０１３３】
従って、元の画像の２次元ＤＣＴ係数は、残差画像と予測画像とを、時間領域において加算し、その加算結果を、２次元ＤＣＴ変換することによって求めても良い。
【０１３４】
次に、図６および図７を参照して、図２の１次元逆ＤＣＴ変換部３１の処理について説明する。
【０１３５】
ＭＰＥＧやＪＰＥＧ(Joint Photographic Experts Group)等のＤＣＴ変換を利用した画像の符号化方式では、画像データが、水平方向および垂直方向の２次元のＤＣＴ変換（２次元ＤＣＴ変換）／逆ＤＣＴ変換（２次元逆ＤＣＴ変換）が行われる。
【０１３６】
図６Ａに示すような８×８画素のブロックにおける画素値を、８行×８列の行列Ｘで表すとともに、図６Ｂに示すような８×８のブロックにおけるＤＣＴ係数を、８行×８列の行列Ｆで表すこととすると、２次元ＤＣＴ変換／２次元逆ＤＣＴ変換は、次式で表すことができる。
【０１３７】
ＣＸＣT＝Ｆ・・・（９）
ＣTＦＣ＝Ｘ・・・（１０）
【０１３８】
ここで、上付のＴは、転置を表す。また、Ｃは、８行×８列のＤＣＴ変換行列で、その第ｉ＋１行第ｊ＋１列のコンポーネントｃijは、次式で表される。
【０１３９】
ｃij＝Ａi×ｃｏｓ（（２ｊ＋１）×ｉ×π／１６）・・・（１１）
【０１４０】
但し、式（１１）において、ｉ＝０のときは、Ａi＝１／（２√２）であり、ｉ≠０のときは、Ａi＝１／２である。また、ｉとｊは、０乃至７の範囲の整数値である。
【０１４１】
式（９）は、画素値Ｘを、２次元ＤＣＴ係数Ｆに変換する２次元ＤＣＴ変換を表し、式（１０）は、２次元ＤＣＴ係数Ｆを、画素値Ｘに変換する２次元逆ＤＣＴ変換を表す。
【０１４２】
従って、式（１０）によれば、２次元ＤＣＴ係数Ｆは、その左側から行列Ｃ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)形式の場合）は、各信号について、同一のクラス分類を行っても良いし、ある信号について行ったクラス分類により得られたクラスコードを、そのまま、他の信号に用いるようにしても良い。
【０５２８】
次に、図４２は、図２の適応処理部５１の構成例を示している。
【０５２９】
予測タップ生成部１３１は、バッファメモリ１２（図２）から２次元ＤＣＴ係数を読み出すことにより、注目画素を予測する式（１）の線形１次予測演算を行うための予測タップを生成し、積和演算部１３３に供給する。
【０５３０】
ここで、図４３は、図４２の予測タップ生成部１３１の構成例を示している。
【０５３１】
読み出し部１３６は、バッファメモリ１２（図２）から必要な２次元ＤＣＴ係数を読み出し、配列部１３７に供給する。配列部１３７は、読み出し部１３６からの２次元ＤＣＴ係数を、所定の順番に配列する（並べる）ことにより、予測タップを構成し、積和演算部１３３（図４２）に供給する。
【０５３２】
ここで、読み出し部１３６は、例えば、バッファメモリ１２に記憶された注目ブロックの２次元ＤＣＴ係数すべてを読み出し、予測タップとして、配列部１３７に供給する。この場合、予測タップは、６４（＝８×８）タップで構成されることになる。
【０５３３】
ところで、注目画素の空間周波数成分は、注目ブロックの２次元ＤＣＴ係数全体に、いわば分散しているから、注目画素を予測するにあたっては、少なくとも、注目ブロックの２次元ＤＣＴ係数すべてを、予測タップとして用いるのが望ましい。
【０５３４】
しかしながら、注目画素は、一般に、注目ブロックの画素のみならず、それに隣接する隣接ブロックなどの、注目ブロックの周辺の周辺ブロックの画素とも相関を有する場合が多く、従って、予測タップは、一般には、周辺ブロックの情報（周辺情報）も含めた形で構成した方が、注目画素を、より精度良く復号（予測）することが可能となる。
【０５３５】
そこで、読み出し部１３６では、例えば、図４４に示すように、バッファメモリ１２に記憶された注目ブロックの２次元ＤＣＴ係数すべてと、その注目ブロックの上下左右それぞれに隣接する４つの隣接ブロックの２次元ＤＣＴ係数すべてとを読み出し、予測タップとして、配列部１３７に供給することができる。この場合、予測タップは、３２０（＝８×８×５）タップで構成されることになる。
【０５３６】
また、読み出し部１３６では、例えば、図４５に示すように、バッファメモリ１２に記憶された注目ブロックの２次元ＤＣＴ係数すべてと、その注目ブロックの上、下、左、右、左上、左下、右上、右下それぞれに隣接する８つの隣接ブロックの２次元ＤＣＴ係数すべてとを読み出し、予測タップとして、配列部１３７に供給することができる。この場合、予測タップは、５７６（＝８×８×９）タップで構成されることになる。
【０５３７】
ところで、図４４や図４５に示したように、注目ブロックに隣接する複数ブロックの２次元ＤＣＴ係数すべてを、予測タップに含めることとすると、予測タップのタップ数が大になり、後述する積和演算部１３３（図４２）において用いられるタップ係数の数も多くなり、さらには、積和演算部１３３の演算量も大になる。
【０５３８】
そこで、読み出し部１３６には、例えば、図４６に示すように、バッファメモリ１２に記憶された注目ブロックの２次元ＤＣＴ係数すべてと、その注目ブロックの上、下、左、右、左上、左下、右上、右下それぞれに隣接する８つのブロックの２次元ＤＣＴ係数のうちの直流成分だけを、予測タップとして読み出させるようにすることができる。この場合、予測タップは、７２（＝８×８＋８）タップで構成されることになり、図４４や図４５における場合に比較して、隣接ブロックの情報を含む予測タップ、即ち、ここでは、２次元ＤＣＴ係数の直流成分によって表される、注目ブロック付近の画素値の勾配の情報を含む予測タップを、少ないタップ数で構成することができる。
【０５３９】
図４２に戻り、タップ係数バッファ１３２は、タップ係数記憶部１４（図２）から供給されるタップ係数を一時記憶する。
【０５４０】
積和演算部１３１は、予測タップ生成部１３１から供給される予測タップと、タップ係数バッファ１３２に記憶されたタップ係数とを用いて、式（１）の線形１次予測演算を行い、注目画素の復号値を出力する。
【０５４１】
次に、図４７のフローチャートを参照して、図４２の適応処理部５１の処理（適応処理）について説明する。
【０５４２】
まず最初に、ステップＳ１０１において、予測タップ生成部１３１は、注目ブロックの各画素を予測する式（１）の線形１次予測演算を行うための予測タップを、例えば、バッファメモリ１２に記憶された注目ブロックのすべての２次元ＤＣＴ係数と、その他の必要な２次元ＤＣＴ係数を用いて生成し、積和演算部１３３に供給して、ステップＳ１０２に進む。
【０５４３】
ステップＳ１０２では、積和演算部１３３が、画素位置モードを表す変数ｉを、例えば１に初期化する。
【０５４４】
ここで、ブロックの２次元ＤＣＴ係数を逆ＤＣＴ変換する場合は、そのブロックにおける各画素の空間上の位置を表す位置情報が、式（１１）に示した変換行列Ｃのコンポーネントｃijを定義するｃｏｓ（（２ｊ＋１）×ｉ×π／１６）の位相という形で考慮される。
【０５４５】
一方、適応処理では、予測タップを構成するＤＣＴ係数と、タップ係数とを用いた式（１）の線形１次予測演算が行われるが、この線形１次予測演算では、復号しようとしている画素（注目画素）の位置情報が考慮されない。そこで、注目画素の位置情報を考慮した線形１次予測演算を行うために、ここでは、注目画素の位置によって異なるタップ係数が用いられるようになっている。即ち、同一のクラスに分類される画素であっても、ブロックにおける位置が異なる場合には、異なるタップ係数を用いて、線形１次予測演算が行われるようになっている。この場合、線形１次予測演算に用いるタップ係数が、ブロックにおける注目画素の位置によって切り替えられることとなるが、この注目画素の位置を表す情報が、画素位置モードである。
【０５４６】
いまの場合、ブロックは８×８画素で構成されるから、６４カ所の位置が存在し、ここでは、例えば、ラスタスキャン順で、ｉ番目の位置を、画素位置モード＃ｉと表すこととする。
【０５４７】
その後、画素位置モード＃ｉの画素が注目画素とされ、クラス分類部１３（図２）において、その注目画素についてクラス分類が行われることにより、タップ係数記憶部１４から、注目画素のクラスコードに対応するタップ係数が供給されてくるのを待って、ステップＳ１０３に進む。
【０５４８】
ステップＳ１０３では、タップ係数記憶部１４からのタップ係数が、タップ係数バッファ１３２に供給されて記憶される。
【０５４９】
ここで、上述のように、同一のクラスに分類される画素であっても、ブロックにおける位置（画素位置モード）が異なる場合には、異なるタップ係数が用いられる。従って、タップ係数記憶部１４からは、注目画素のクラスのタップ係数として、画素位置モードの総数である６４セットのタップ係数が供給されるようになっており、タップ係数バッファ１３２は、そのような６４セットのタップ係数を記憶する。
【０５５０】
その後、ステップＳ１０４に進み、積和演算部１３３は、画素位置モード＃ｉに対応するタップ係数のセット（式（１）におけるｗ1，ｗ2，・・・）を、タップ係数バッファ１３２から読み出すことにより取得し、ステップＳ１０５に進む。
【０５５１】
ステップＳ１０５では、積和演算部１３３は、予測タップ生成部１３１からの予測タップと、タップ係数バッファ１３２から読み出したタップ係数とを用いて、式（１）の線形１次予測演算を行い、これにより、注目画素の画素値を復号する。
【０５５２】
そして、ステップＳ１０６に進み、積和演算部１３３は、画素位置モード＃ｉが、注目ブロックの画素数である６４（＝８×８）に等しいかどうかを判定する。
【０５５３】
ステップＳ１０６において、画素位置モード＃ｉが６４に等しくないと判定された場合、ステップＳ１０７に進み、積和演算部１３３は、画素位置モード＃ｉを１だけインクリメントして、ステップＳ１０３に戻り、以下、同様の処理が繰り返される。
【０５５４】
また、ステップＳ１０６において、画素位置モード＃ｉが６４に等しいと判定された場合、即ち、注目ブロックのすべての画素値を復号した場合、処理を終了する。
【０５５５】
なお、適応処理部５１では、バッファメモリ１２（図２）に記憶されるブロックを、順次、注目ブロックとして、図４７の適応処理を繰り返し行う。
【０５５６】
また、積和演算部１３３は、１フレーム（またはフィールド）の復号画像を得るまでは、復号したブロックを一時記憶しており、１フレームの復号画像が得られると、その１フレームの復号画像を出力する。
【０５５７】
ここで、ＭＰＥＧ符号化では、８ビットの画像データを符号化する場合、画素値および２次元ＤＣＴ係数を、０を中心とした正側と負側に均等に分布させるため、原画像の画素値から１２８（＝２7）を減算して得られる画素値が符号化される。
【０５５８】
このため、積和演算部１３３では、復号画像として、各画素値のレベルが、１２８だけ低いものが得られる。そこで、積和演算部１３３は、復号画像の各画素値に、１２８を加算して出力するようになっている。
【０５５９】
次に、図２の係数メモリ４３および４４に記憶させるタップ係数の学習について説明する。
【０５６０】
ＭＰＥＧでは、予測方式の違いにより、Ｉピクチャ、Ｐピクチャ、Ｂピクチャの３つのピクチャタイプがあるので、タップ係数の学習も、ピクチャタイプごとに行われる。
【０５６１】
図４８は、Ｉピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。
【０５６２】
教師データストレージ１４１は、学習用の画像データを、教師データとして記憶している。
【０５６３】
生徒データ生成部１４２は、ＭＰＥＧエンコーダ１５１、分離部１５２、およびＤＣＴ係数抽出／逆量子化部１５３から構成され、教師データストレージ１４１に記憶された学習用の画像データ（ここでは、教師データでもある）から、生徒データを生成するようになっている。
【０５６４】
即ち、ＭＰＥＧエンコーダ１５１は、教師データストレージ１４１に記憶された学習用の画像データを読み出して、ＭＰＥＧ符号化し、その結果得られる符号化データを、分離部１５２に供給する。分離部１５２とＤＣＴ係数抽出／逆量子化部１５３は、図２の分離部１とＤＣＴ係数抽出／逆量子化部２とそれぞれ同様に構成されており、符号化データから、量子化ＤＣＴ係数を分離、抽出し、逆量子化して出力する。
【０５６５】
なお、分離部１５２およびＤＣＴ係数抽出／逆量子化部１５３は、Ｉピクチャのみを対象に処理を行う。また、分離部１５２は、符号化データから、量子化ＤＣＴ係数の他、量子化スケールやＤＣＴタイプ等の、いわゆるサイドインフォメーションも、必要に応じて分離する。
【０５６６】
従って、ＤＣＴ係数抽出／逆量子化部１５３からは、Ｉピクチャについての２次元ＤＣＴ係数の他、ＤＣＴタイプ等の必要なサイドインフォメーションも出力される。
【０５６７】
ＤＣＴ係数抽出／逆量子化部１５３が出力するＩピクチャについての２次元ＤＣＴ係数やＤＣＴタイプ等は、生徒データとして、生徒データストレージ１４３に供給される。
【０５６８】
生徒データストレージ１４３は、生徒データ生成部１４２（のＤＣＴ係数抽出／逆量子化部１５３）から供給される生徒データを記憶する。
【０５６９】
予測タップ生成部１４４は、生徒データストレージ１４３に記憶された生徒データから、図４２の予測タップ生成部１３１が生成するのと同一の予測タップを生成し、足し込み部１４６に供給する。従って、ここでは、予測タップ生成部１４４は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のうち、注目ブロックを構成するすべての２次元ＤＣＴ係数と、必要な２次元ＤＣＴ係数を読み出して、予測タップとする。
【０５７０】
なお、図４２の予測タップ生成部１３１が注目ブロックの２次元ＤＣＴ係数の他、注目ブロックに隣接するブロックの２次元ＤＣＴ係数を用いて予測タップを生成する場合には、予測タップ生成部１４４も、注目ブロックの２次元ＤＣＴ係数の他、注目ブロックに隣接する２次元ＤＣＴ係数を用いて、予測タップ生成部１３１が生成するのと同一構造の予測タップを生成する。この場合、予測タップ生成部１４４は、注目ブロックに隣接するブロックの２次元ＤＣＴ係数を、生徒データストレージ１４３から取得する。
【０５７１】
クラス分類部１４５は、図２のクラス分類部１３と同様にされ、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数から１次元ＤＣＴ係数を求め、さらに、その１次元ＤＣＴ係数に基づき、図２のクラス分類部１３における場合と同様にして、注目ブロックにおける注目画素をクラス分類し、注目画素のクラスを表すクラスコードを、足し込み部１４６に出力する。
【０５７２】
足し込み部１４６は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のブロックを、順次、注目ブロックとし、さらに、注目ブロックの画素を、順次、注目画素（注目教師データ）として、予測タップ生成部１４４からの生徒データとしての予測タップ（を構成する２次元ＤＣＴ係数）、および注目画素を対象とした足し込みを行う。
【０５７３】
即ち、足し込み部１４６は、クラス分類部１４５から供給されるクラスコードに対応するクラスごとに、予測タップ（生徒データ）を用い、式（８）の行列Ａにおける各コンポーネントとなっている、生徒データどうしの乗算（ｘinｘim）と、サメーション（Σ）に相当する演算を行う。
【０５７４】
さらに、足し込み部１４６は、やはり、クラス分類部１４５から供給されるクラスコードに対応するクラスごとに、予測タップ（生徒データ）および注目画素（教師データ）を用い、式（８）のベクトルｖにおける各コンポーネントとなっている、生徒データと教師データの乗算（ｘinｙi）と、サメーション（Σ）に相当する演算を行う。
【０５７５】
なお、足し込み部１４６における、上述のような足し込みは、各クラスについて、注目画素に対する画素位置モードごとに行われる。
【０５７６】
足し込み部１４６は、以上の足し込みを、生徒データストレージ１４３に記憶されている生徒データとしての２次元ＤＣＴ係数を構成するブロックすべてを注目ブロックとして行い、これにより、各クラスについて、画素位置モードごとに、式（８）に示した正規方程式をたてる。
【０５７７】
タップ係数演算部１４７は、足し込み部１４６においてクラスごとに、かつ、画素位置モードごとに生成された各正規方程式を解くことにより、クラスごとに、６４の画素位置モードに対応した６４セットのタップ係数を求める。
【０５７８】
なお、学習用の画像として用意する画像の枚数や、その画像の内容等によっては、足し込み部１４６において、タップ係数を求めるのに必要な数の正規方程式が得られないクラス、さらには画素位置モードが生じる場合があり得るが、タップ係数演算部１４７は、そのようなクラスや画素位置モードについては、例えば、デフォルトのタップ係数を出力する。
【０５７９】
次に、図４９のフローチャートを参照して、図４８の学習装置の処理（学習処理）について説明する。
【０５８０】
まず最初に、ステップＳ１１１において、生徒データ生成部１４２は、上述したように、教師データストレージ１４１に記憶された学習用の画像データから、Ｉピクチャについての生徒データを生成し、生徒データストレージ１４３に供給して記憶させる。
【０５８１】
そして、ステップＳ１１２に進み、足し込み部１４６は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のブロックのうち、まだ、注目ブロックとしていないものの１つを選択して、注目ブロックとし、ステップＳ１１３に進む。
【０５８２】
ステップＳ１１３では、予測タップ生成部１４４が、注目ブロックの生徒データとしての２次元ＤＣＴ係数すべてと、必要な２次元ＤＣＴ係数を、生徒データストレージ１４３から読み出すことにより、予測タップを生成し、ステップＳ１１４に進む。
【０５８３】
ステップＳ１１４では、足し込み部１４６が、画素位置モードを表す変数ｉを、例えば１に初期化し、ステップＳ１１５に進む。ステップＳ１１５では、クラス分類部１４５が、注目ブロックにおける画素位置モード＃ｉが表す位置の画素を注目画素として、図２のクラス分類部１３における場合と同様にして、注目画素のクラス分類を行い、その結果得られるクラスコードを、足し込み部１４６に出力する。
【０５８４】
足し込み部１４６は、ステップＳ１１６において、教師データストレージ１４１から、注目画素となっている教師データ（画素値）を読み出し、生徒データとしての予測タップ（を構成する２次元ＤＣＴ係数）、および教師データとしての注目画素を対象として、式（８）の行列Ａとベクトルｖの、上述したような足し込みを行う。なお、この足し込みは、クラス分類部１４５からのクラスコードに対応するクラスごとに、かつ注目画素に対する画素位置モード＃ｉごとに行われる。
【０５８５】
そして、ステップＳ１１７に進み、足し込み部１４６は、画素位置モード＃ｉが、注目ブロックの画素数である６４に等しいかどうかを判定する。
【０５８６】
ステップＳ１１７において、画素位置モード＃ｉが６４に等しくないと判定された場合、ステップＳ１１８に進み、足し込み部１４６は、画素位置モード＃ｉを１だけインクリメントして、ステップＳ１１５に戻り、以下、同様の処理が繰り返される。
【０５８７】
また、ステップＳ１１７において、画素位置モード＃ｉが６４に等しいと判定された場合、即ち、注目ブロックのすべての画素を注目画素として足し込みを行った場合、ステップＳ１１９に進み、足し込み部１４６は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のブロックのうち、まだ、注目ブロックとしていないもの（以下、適宜、未処理ブロックという）があるかどうかを判定する。
【０５８８】
ステップＳ１１９において、未処理ブロックがあると判定された場合、ステップＳ１１２に戻り、その未処理ブロックの中から、新たに注目ブロックとするものが選択され、以下、同様の処理が繰り返される。
【０５８９】
また、ステップＳ１１９において、未処理ブロックがないと判定された場合、即ち、足し込み部１４６において、各クラスについて、画素位置モードごとの正規方程式が得られた場合、ステップＳ１２０に進み、タップ係数演算部１４７は、各クラスの画素位置モードごとに生成された正規方程式を解くことにより、各クラスごとに、そのクラスの６４の画素位置モードそれぞれに対応する６４セットのタップ係数を求め、学習処理を終了する。
【０５９０】
次に、図５０は、Ｐピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。なお、図中、図４８における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図５０の学習装置は、生徒データ生成部１５１に代えて、生徒データ生成部１６２が設けられている他は、図４８における場合と基本的に同様に構成されている。
【０５９１】
ここで、Ｐピクチャは、時間的に先行して復号（符号化）されるＩまたはＰピクチャを参照画像として予測符号化（ノンイントラ符号化）されるため、即ち、原画像から予測画像を減算した残差画像が２次元ＤＣＴ変換されるため、図２の画像処理装置では、前処理部１１において、先に復号されたＩまたはＰピクチャに動き補償を施し、その結果得られる予測画像の２次元ＤＣＴ係数と、残差画像の２次元ＤＣＴ係数とを加算した後に、適応処理部５１において、適応処理を施すようになっている。
【０５９２】
従って、Ｐピクチャ用のタップ係数の学習においては、残差画像の２次元ＤＣＴ係数に、予測画像の２次元ＤＣＴ係数を加算したものを、生徒データとして用いる必要がある。
【０５９３】
ところで、Ｐピクチャの予測画像は、先に復号されたＩまたはＰピクチャを参照画像として、その参照画像に、動き補償を施すことで得ることができるが、いまの場合、Ｐピクチャのタップ係数を学習しようとしているので、Ｐピクチャ用のタップ係数は存在しない。
【０５９４】
一方、Ｉピクチャ用のタップ係数は、図４８の学習装置において、あらかじめ求めておくことができる。
【０５９５】
そこで、図５０の学習装置では、生徒データ生成部１６２において、Ｉピクチャを参照画像として予測符号化されるＰピクチャのブロックについて、生徒データが生成されるようになっている。
【０５９６】
即ち、ＭＰＥＧエンコーダ１７１は、教師データストレージ１４１に記憶された学習用の画像データを読み出して、ＭＰＥＧ符号化し、その結果得られる符号化データを、分離部１７２に供給する。分離部１７２とＤＣＴ係数抽出／逆量子化部１７３は、図２の分離部１とＤＣＴ係数抽出／逆量子化部２とそれぞれ同様に構成されており、符号化データから、量子化ＤＣＴ係数を分離、抽出し、逆量子化する。
【０５９７】
なお、分離部１７２およびＤＣＴ係数抽出／逆量子化部１７３は、Ｉピクチャと、Ｐピクチャの予測符号化されたブロックのみを対象に処理を行う。また、分離部１７２は、符号化データから、量子化ＤＣＴ係数の他、量子化スケールやＤＣＴタイプや動きベクトル等のサイドインフォメーションも、必要に応じて分離する。
【０５９８】
ＤＣＴ係数抽出／逆量子化部１７３は、Ｉピクチャの２次元ＤＣＴ係数を得た場合、そのＩピクチャの２次元ＤＣＴ係数を、クラス分類部１７４および適応処理部１７６に供給する。
【０５９９】
また、ＤＣＴ係数抽出／逆量子化部１７３は、Ｐピクチャの予測符号化されたブロックの２次元ＤＣＴ係数、即ち、残差画像の２次元ＤＣＴ係数を得た場合、その残差画像の２次元ＤＣＴ係数を、周波数領域動き補償加算部１８１に供給する。
【０６００】
さらに、ＤＣＴ係数抽出／逆量子化部１７３は、Ｐピクチャの予測符号化されたブロックの動きベクトルを得た場合、その動きベクトルを、動き補償部１７８に供給する。
【０６０１】
クラス分類部１７４は、ＤＣＴ係数抽出／逆量子化部１７３から供給されるＩピクチャのブロックの画素を、順次、注目画素として、その注目画素について、図２のクラス分類部１３における場合と同様にしてクラス分類を行い、その結果得られるクラスコードを、タップ係数記憶部１７５に供給する。タップ係数記憶部１７５は、図４８の学習装置で得られたＩピクチャ用のタップ係数を記憶しており、図２のタップ係数記憶部１４と同様に、クラス分類部１７４から供給されるクラスコードに対応するタップ係数を取得して、適応処理部１７６に供給する。
【０６０２】
適応処理部１７６は、図２の適応処理部５１と同様に、ＤＣＴ係数抽出／逆量子化部１７３から供給される、注目画素を含むブロックの２次元ＤＣＴ係数すべてと、必要な２次元ＤＣＴ係数を予測タップとして、その予測タップと、タップ係数記憶部１７５から供給されるタップ係数とを用いた線形１次予測演算、即ち、適応処理を行う。
【０６０３】
適応処理部１７６において適応処理が行われることにより得られるＩピクチャの復号画像は、Ｉピクチャストレージ１７７に供給されて記憶される。
【０６０４】
その後、動き補償部１７８は、ＤＣＴ係数抽出／逆量子化部１７３から供給される動きベクトルによって動き補償を施すべき参照画像としてのＩピクチャを、Ｉピクチャストレージ１７７から読み出し、そのＩピクチャに動き補償を施すことで、予測画像を生成する。この予測画像は、画像メモリ１７９に供給されて記憶される。画像メモリ１７９に記憶された予測画像は、ＤＣＴ変換部１８０において２次元ＤＣＴ係数に変換され、周波数領域動き補償加算部１８１に供給される。周波数領域動き補償加算部１８１は、ＤＣＴ係数抽出／逆量子化部１７３から供給されるＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部１８０から供給される予測画像の２次元ＤＣＴ係数とを加算する。
【０６０５】
即ち、動き補償部１７８、画像メモリ１７９、ＤＣＴ変換部１８０、および周波数領域動き補償加算部１８１は、図２の動き補償部４、画像メモリ５、ＤＣＴ変換部２１、周波数領域動き補償加算部２２と同様に構成されるものであり、従って、周波数領域動き補償加算部１８１において、ＤＣＴ係数抽出／逆量子化部１７３からのＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部１８０からの予測画像の２次元ＤＣＴ係数とが加算されることにより、Ｐピクチャの元の画像（上述したように、原画像ではない）を２次元ＤＣＴ変換した２次元ＤＣＴ係数が得られる。
【０６０６】
周波数領域動き補償加算部１８１で得られたＰピクチャの元の画像の２次元ＤＣＴ係数は、生徒データとして、生徒データストレージ１４３に供給されて記憶される。
【０６０７】
以降は、図４８の学習装置における場合と同様の処理が行われ、これにより、Ｐピクチャ用（正確には、Ｐピクチャの予測符号化されたブロック用）のタップ係数が求められる。
【０６０８】
次に、図５１は、Ｂピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。なお、Ｂピクチャ用のタップ係数を学習する学習装置も、図５０のＰピクチャ用のタップ係数を学習する学習装置と同様に、生徒データを生成する生徒データ生成部だけが、図４８のＩピクチャ用のタップ係数を学習する学習装置と異なるだけであるため、図５１においては、Ｂピクチャ用のタップ係数を学習する学習装置の生徒データ生成部だけを図示してある。
【０６０９】
Ｂピクチャも、Ｐピクチャと同様に、時間的に先行して復号されるＩまたはＰピクチャを参照画像として予測符号化（ノンイントラ符号化）されるため、即ち、原画像から予測画像を減算した残差画像が２次元ＤＣＴ変換されるため、図２の画像処理装置では、前処理部１１において、先に復号されたＩまたはＰピクチャに動き補償を施し、その結果得られる予測画像の２次元ＤＣＴ係数と、残差画像の２次元ＤＣＴ係数とを加算した後に、適応処理部５１において、適応処理を施すようになっている。
【０６１０】
従って、Ｂピクチャ用のタップ係数の学習においては、残差画像の２次元ＤＣＴ係数に、予測画像の２次元ＤＣＴ係数を加算したものを、生徒データとして用いる必要がある。
【０６１１】
そこで、図５１の学習装置では、そのような生徒データを生成して、学習を行うようになっている。
【０６１２】
即ち、ＭＰＥＧエンコーダ１９１には、学習用の画像データ（ここでは、教師データに等しい）が供給されるようになっており、ＭＰＥＧエンコーダ１９１は、その学習用の画像データをＭＰＥＧ符号化し、その結果得られる符号化データを、分離部１９２に供給する。分離部１９２とＤＣＴ係数抽出／逆量子化部１９３は、図２の分離部１とＤＣＴ係数抽出／逆量子化部２とそれぞれ同様に構成されており、符号化データから、量子化ＤＣＴ係数を分離、抽出し、逆量子化して出力する。
【０６１３】
ＤＣＴ係数抽出／逆量子化部１９３が出力するＩピクチャの２次元ＤＣＴ係数は、クラス分類部１９４と適応処理部１９６に供給される。また、ＤＣＴ係数抽出／逆量子化部１９３が出力するＰピクチャの２次元ＤＣＴ係数は、周波数領域動き補償加算部２０１に供給される。さらに、ＤＣＴ係数抽出／逆量子化部１９３が出力するＢピクチャの２次元ＤＣＴ係数は、周波数領域動き補償加算部２０９に供給される。
【０６１４】
ここで、分離部１９２は、符号化データから、量子化ＤＣＴ係数の他、量子化スケールやＤＣＴタイプや動くベクトル等のサイドインフォメーションも、必要に応じて分離し、ＤＣＴ係数抽出／逆量子化部１９３を介して、必要なブロックに供給する。なお、サイドインフォメーションについては、図５１の実施の形態では、ＤＣＴ係数抽出／逆量子化部１９３から動き補償部１９８へのＰピクチャの動きベクトルの供給と、ＤＣＴ係数抽出／逆量子化部１９３から動き補償部２０６へのＢピクチャの動きベクトルの供給だけを、図示してある。
【０６１５】
また、ＤＣＴ係数抽出／逆量子化部１９３は、Ｂピクチャの予測符号化されたブロックの２次元ＤＣＴ係数、即ち、残差画像の２次元ＤＣＴ係数だけを、周波数領域動き補償加算部２０９に供給する。
【０６１６】
さらに、ＤＣＴ係数抽出／逆量子化部１９３は、Ｐピクチャについては、予測符号化されたブロックの２次元ＤＣＴ係数だけを、周波数領域動き補償加算部２０１に供給する。また、ＤＣＴ係数抽出／逆量子化部１９３では、Ｐピクチャのイントラ符号化されたブロックの２次元ＤＣＴ係数は、クラス分類部１９４および適応処理部１９６に供給され、以下、イントラ符号化されたＩピクチャと同様に処理される。
【０６１７】
即ち、クラス分類部１９４は、ＤＣＴ係数抽出／逆量子化部１９３から供給されるＩピクチャおよびＰピクチャのイントラ符号化されたブロックの画素を、順次、注目画素として、その注目画素について、図２のクラス分類部１３における場合と同様にしてクラス分類を行い、その結果得られるクラスコードを、タップ係数記憶部１９５に供給する。タップ係数記憶部１９５は、図４８の学習装置で得られたＩピクチャ用のタップ係数を記憶しており、図２のタップ係数記憶部１４と同様に、クラス分類部１９４から供給されるクラスコードに対応するタップ係数を取得して、適応処理部１９６に供給する。
【０６１８】
適応処理部１９６は、図２の適応処理部５１と同様に、注目画素を含むブロックの２次元ＤＣＴ係数すべてと、必要な２次元ＤＣＴ係数を予測タップとして、その予測タップと、タップ係数記憶部１９５から供給されるタップ係数とを用いた線形１次予測演算、即ち、適応処理を行う。
【０６１９】
適応処理部１９６において適応処理が行われることにより得られるＩピクチャの復号画像は、Ｉピクチャストレージ１９７に供給されて記憶される。なお、適応処理部１９６では、イントラ符号化されたＰピクチャのブロックの復号画像も得られるが、このＰピクチャの復号画像は、適応処理部１９６からＰピクチャストレージ２０５に供給されて記憶される。
【０６２０】
その後、動き補償部１９８は、ＤＣＴ係数抽出／逆量子化部１９３から供給される動きベクトルによって動き補償を施すべき参照画像としてのＩピクチャを、Ｉピクチャストレージ１９７から読み出し、そのＩピクチャに動き補償を施すことで、Ｐピクチャの予測画像を生成する。このＰピクチャの予測画像は、画像メモリ１９９に供給されて記憶される。画像メモリ１９９に記憶された予測画像は、ＤＣＴ変換部２００において２次元ＤＣＴ係数に変換され、周波数領域動き補償加算部２０１に供給される。周波数領域動き補償加算部２０１は、ＤＣＴ係数抽出／逆量子化部１９３から供給されるＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２００から供給される予測画像の２次元ＤＣＴ係数とを加算する。
【０６２１】
即ち、動き補償部１９８、画像メモリ１９９、ＤＣＴ変換部２００、および周波数領域動き補償加算部２０１は、図２の動き補償部４、画像メモリ５、ＤＣＴ変換部２１、周波数領域動き補償加算部２２と同様に構成されるものであり、従って、周波数領域動き補償加算部２０１において、ＤＣＴ係数抽出／逆量子化部１９３からのＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２００からの予測画像の２次元ＤＣＴ係数とが加算されることにより、Ｐピクチャの元の画像（上述したように、原画像ではない）を２次元ＤＣＴ変換した２次元ＤＣＴ係数が得られる。
【０６２２】
周波数領域動き補償加算部２０１で得られたＰピクチャの元の画像の２次元ＤＣＴ係数は、クラス分類部２０２および適応処理部２０４に供給される。
【０６２３】
クラス分類部２０２は、周波数領域動き補償加算部２０１から供給されるＰピクチャの予測符号化されたブロックの画素を、順次、注目画素として、その注目画素について、図２のクラス分類部１３における場合と同様にしてクラス分類を行い、その結果得られるクラスコードを、タップ係数記憶部２０３に供給する。タップ係数記憶部２０３は、図５０の学習装置で得られたＰピクチャ用のタップ係数を記憶しており、図２のタップ係数記憶部１４と同様に、クラス分類部２０２から供給されるクラスコードに対応するタップ係数を取得して、適応処理部２０４に供給する。
【０６２４】
適応処理部２０４は、図２の適応処理部５１と同様に、注目画素を含むブロックの２次元ＤＣＴ係数すべてを予測タップとして、その予測タップと、タップ係数記憶部２０３から供給されるタップ係数とを用いた線形１次予測演算、即ち、適応処理を行う。
【０６２５】
適応処理部２０４において適応処理が行われることにより得られる、予測符号化されたＰピクチャのブロックの復号画像は、Ｐピクチャストレージ２０５に供給されて記憶される。なお、上述したように、Ｐピクチャストレージ２０５は、適応処理部１９６から供給される、イントラ符号化されたＰピクチャのブロックの復号画像も記憶する。
【０６２６】
その後、動き補償部２０６は、ＤＣＴ係数抽出／逆量子化部１９３から供給されるＢピクチャの動きベクトルによって動き補償を施すべき参照画像としてのＩまたはＰピクチャを、Ｉピクチャストレージ１９７またはＰピクチャストレージ２０５から読み出し、そのＩまたはＰピクチャに動き補償を施すことで、Ｂピクチャの予測画像を生成する。このＢピクチャの予測画像は、画像メモリ２０７に供給されて記憶される。画像メモリ２０７に記憶された予測画像は、ＤＣＴ変換部２０８において２次元ＤＣＴ係数に変換され、周波数領域動き補償加算部２０９に供給される。周波数領域動き補償加算部２０９は、ＤＣＴ係数抽出／逆量子化部１９３から供給されるＢピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２０８から供給される予測画像の２次元ＤＣＴ係数とを加算する。
【０６２７】
即ち、動き補償部２０６、画像メモリ２０７、ＤＣＴ変換部２０８、および周波数領域動き補償加算部２０９は、図２の動き補償部４、画像メモリ５、ＤＣＴ変換部２１、周波数領域動き補償加算部２２と同様に構成されるものであり、従って、周波数領域動き補償加算部２０９において、ＤＣＴ係数抽出／逆量子化部１９３からのＢピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２０８からの予測画像の２次元ＤＣＴ係数とが加算されることにより、Ｂピクチャの元の画像（上述したように、原画像ではない）を２次元ＤＣＴ変換した２次元ＤＣＴ係数が得られる。
【０６２８】
周波数領域動き補償加算部２０９で得られたＢピクチャの元の画像の２次元ＤＣＴ係数は、生徒データとして出力される。そして、以降は、図４８の学習装置における場合と同様の処理が行われ、これにより、Ｂピクチャ用（正確には、Ｂピクチャの予測符号化されたブロック用）のタップ係数が求められる。
【０６２９】
図２の係数メモリ４３および４４には、以上のような学習によって、各クラスごとに求められた６４の画素位置モードそれぞれごとの、Ｉ，Ｐ，Ｂピクチャ用のタップ係数が記憶されている。
【０６３０】
従って、係数メモリ４３および４４に記憶されたタップ係数は、線形１次予測演算を行うことにより得られる元の画素値の予測値の予測誤差（ここでは、自乗誤差）が、統計的に最小になるように学習を行うことにより求められたものであり、その結果、図２の適応処理部５１によれば、ＭＰＥＧ符号化された画像を、元の画像に限りなく近い画像、即ち、ブロック歪みやモスキートノイズ等の各種の歪みを十分に低減した、画質の良い画像に復号することができる。
【０６３１】
ここで、学習装置では、輝度信号と色差信号について、別々に正規方程式がたてられ、輝度信号からたてられた正規方程式を解くことにより得られるタップ係数は、係数メモリ４３に記憶され、色差信号からたてられた正規方程式を解くことにより得られるタップ係数は、係数メモリ４４に記憶される。
【０６３２】
また、上述したように、ＭＰＥＧ符号化では、原画像の画素値から１２８（＝２7）を減算して得られる画素値が符号化される。このため、足し込み部１４６（図４８、図５０）は、足し込みにおいて、教師データストレージ１４１に記憶された教師データとしての画素値から、１２８を減算した値を用いるようになっている。
【０６３３】
なお、図２の画像処理装置において、Ｉピクチャのブロックについては、Ｉピクチャ用のタップ係数を用いて適応処理が行われる。また、ＰピクチャまたはＢピクチャのブロックについては、そのブロックが予測符号化（ノンイントラ符号化）されている場合には、ＰピクチャまたはＢピクチャ用のタップ係数を用いて適応処理が行われるが、ブロックがイントラ符号化されている場合には、Ｉピクチャ用のタップ係数を用いて適応処理が行われる。
【０６３４】
また、上述の場合には、Ｉ，Ｐ，Ｂピクチャそれぞれ用のタップ係数を学習するようにしたが、例えば、Ｂピクチャ用のタップ係数の学習は省略することが可能である。この場合、図２の画像処理装置では、ＰピクチャとＢピクチャの予測符号化されたブロックについて、例えば、いずれも、Ｐピクチャ用のタップ係数を用いて適応処理が行われる。さらに、図２の画像処理装置において、Ｉ，Ｐ，Ｂピクチャについての適応処理は、すべて、Ｉピクチャ用のタップ係数を用いて行うようにすることが可能である。
【０６３５】
次に、図５２および図５３は、図２の画像処理装置で、ＭＰＥＧ符号化された画像を復号するシミュレーションを行って得られたシミュレーション結果を示している。
【０６３６】
なお、シミュレーションにおいては、４：２：２フォーマットの画像を、約３．３ＭｂｐｓのデータレートでＭＰＥＧ２方式により符号化して得られた符号化データを用いた。また、シミュレーションでは、ＩピクチャとＰピクチャを、それぞれ偶数フレームと奇数フレームとして、１フレームごとに交代する画像シーケンスを用いた。さらに、シミュレーションでは、上述の閾値Ａ，Ｂ，Ｃ，Ｄ，Ｅとして、それぞれ、７００，７００，３５０，１２０，１２０を用いた。但し、色差信号については、閾値Ａとして、８０を用いた。
【０６３７】
図５２は、シミュレーションによって得られた復号画像の輝度信号についてのＳ／Ｎ(Signal to Noise ratio)を示している。
【０６３８】
図５２において、実線で示すＳ／Ｎは、図２の画像処理装置による復号画像のものを示しており、点線で示すＳ／Ｎは、ＭＰＥＧの規格に準拠した従来のＭＰＥＧソフトウェアデコーダによる復号画像のものを示している。図５２から、図２の画像処理装置による復号画像のＳ／Ｎが、従来のＭＰＥＧソフトウェアデコーダによる復号画像と比較して、約１ｄＢ程度向上していることが分かる。
【０６３９】
図５３は、シミュレーションによって得られた復号画像を示している。
【０６４０】
即ち、図５３Ａは、原画像を、図５３Ｂは、従来のＭＰＥＧソフトウェアデコーダによる復号画像を、図５３Ｃは、図２の画像処理装置による復号画像を、それぞれ示している。なお、図５３Ａ乃至図５３Ｃにおいて、その右側の約１／３の部分が、瓶の全体が表示されている全体の画像を示しており、左側の約２／３の部分が、その瓶のラベルの部分を拡大した画像を示している。また、図５３に示した画像は、Ｉピクチャの画像である。
【０６４１】
図５３Ａの原画像と、図５３Ｂの従来のＭＰＥＧソフトウェアデコーダによる復号画像を比較すると、図５３Ｂの復号画像には、ブロックの境界が顕著に現れるブロック歪みが生じ、さらに、瓶のラベルにおける「Ｚ」の文字の部分に、モスキートノイズが顕著に現れている。
【０６４２】
これに対して、図５３Ｃの図２の画像処理装置による復号画像においては、ブロック歪みが十分に低減されており、さらに、モスキートノイズも低減されている。
【０６４３】
次に、図５４は、図４２の予測タップ生成部１３１の第２の構成例を示している。なお、図中、図４３における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図５４の実施の形態では、逆ＤＣＴ変換部２２１および選択部２２２が新たに設けられている他は、基本的に、図４３における場合と同様に構成されている。
【０６４４】
ここで、以下においては、予測タップ生成部１３１が構成する予測タップについてだけ説明するが、予測タップ生成部１３１が、以下説明する予測タップを構成する場合には、図４８および図５０に示した学習装置の予測タップ生成部１４４でも、同一のタップ構造の予測タップが構成される。また、図５０の適応処理部１７６、並びに図５１の適応処理部１９６および２０４では、図４２の適応処理部５１と同様の処理が行われるが、その処理にあたっても、予測タップ生成部１３１が生成するのと同一のタップ構造の予測タップが構成（生成）される。
【０６４５】
逆ＤＣＴ変換部２２１は、読み出し部１３６から供給される、注目ブロックの上下左右それぞれに隣接する４つの隣接ブロックを逆ＤＣＴ変換する。即ち、図５４の実施の形態では、読み出し部１３６は、バッファメモリ１２（図２）から、注目ブロックの２次元ＤＣＴ係数の他、その注目ブロックの上下左右それぞれに隣接する４つの隣接ブロックの２次元ＤＣＴ係数も読み出すようになっている。そして、読み出し部１３６は、注目ブロックの２次元ＤＣＴ係数を、配列部１３７に供給するとともに、４つの隣接ブロックの２次元ＤＣＴ係数を、逆ＤＣＴ変換部２２１に供給する。逆ＤＣＴ変換部２２１は、このようにして、読み出し部１３６から供給される、注目ブロックの上下左右それぞれに隣接する４つの隣接ブロックを２次元逆ＤＣＴ変換し、これにより、その４つの隣接ブロックの画素値を復号して、選択部２２２に供給する。
【０６４６】
選択部２２２は、逆ＤＣＴ変換部２２１から供給される４つの隣接ブロックの８×８の画素の画素値から、所定の画素の画素値を選択し、配列部１３７に供給する。この場合、配列部１３７では、読み出し部１３６から供給される注目ブロックの２次元ＤＣＴ係数の他、選択部２２２から供給される画素の画素値が、所定の順番に配列されることにより、予測タップが構成され、積和演算部１３３（図４２）に供給される。
【０６４７】
即ち、選択部２２２は、例えば、図５５Ａに示すように、隣接ブロックの画素のうち、注目ブロックに隣接する画素（ブロック隣接画素）であって、注目画素と同一行の左右にある２つの画素（以下、適宜、それぞれを、左隣接同一行画素と右隣接同一行画素という）の画素値と、注目画素と同一列の上下にある２つの画素（以下、適宜、それぞれを、上隣接同一列画素と下隣接同一列画素という）の画素値を選択し、配列部１３７に供給する。この場合、配列部１３７では、読み出し部１３６から供給される注目ブロックの８×８の２次元ＤＣＴ係数と、選択部２２２から供給される４つの画素の画素値との、合計で６８（＝８×８＋４）タップでなる予測タップが構成される。
【０６４８】
また、選択部２２２は、例えば、図５５Ｂに示すように、左隣接同一行画素、右隣接同一行画素、上隣接同一列画素、および下隣接同一列画素の他に、左隣接同一行画素の左に隣接する画素、右隣接同一行画素の右に隣接する画素、上隣接同一列画素の上に隣接する画素、および下隣接同一列画素の下に隣接する画素を選択し、配列部１３７に供給する。この場合、配列部１３７では、読み出し部１３６から供給される注目ブロックの８×８の２次元ＤＣＴ係数と、選択部２２２から供給される８つの画素の画素値との、合計で７２（＝８×８＋８）タップでなる予測タップが構成される。
【０６４９】
あるいは、また、選択部２２２は、例えば、図５５Ｃに示すように、左隣接同一行画素と右隣接同一行画素のうちの、注目画素に近い方を選択するとともに、上隣接同一列画素と下隣接同一列画素のうちの、注目画素に近い方を選択し、配列部１３７に供給する。この場合、配列部１３７では、読み出し部１３６から供給される注目ブロックの８×８の２次元ＤＣＴ係数と、選択部２２２から供給される２つの画素の画素値との、合計で６６（＝８×８＋２）タップでなる予測タップが構成される。
【０６５０】
また、選択部２２２は、例えば、図５５Ｄに示すように、注目ブロックの上下左右に隣接する４つの隣接ブロックそれぞれにおける、注目ブロックに隣接する８つの画素（ブロック隣接画素）を、４セット選択し、配列部１３７に供給する。この場合、配列部１３７では、読み出し部１３６から供給される注目ブロックの８×８の２次元ＤＣＴ係数と、選択部２２２から供給される８×４の画素の画素値との、合計で９６（＝８×８＋８×４）タップでなる予測タップが構成される。
【０６５１】
ここで、選択部２２２においては、例えば、注目ブロックの上下左右それぞれに隣接する４つの隣接ブロックのすべての画素を選択するようにすることが可能である。しかしながら、この場合、図４４における場合と同様に、配列部１３７で構成される予測タップのタップ数が大になり、積和演算部１３３（図４２）の演算量や、タップ係数を記憶する係数メモリ４３および４４（図２）のメモリ容量なども大になる。
【０６５２】
そこで、例えば、図４６に示したように、注目ブロックの２次元ＤＣＴ係数すべてと、その注目ブロックの上、下、左、右、左上、左下、右上、右下それぞれに隣接する８つの隣接ブロックの２次元ＤＣＴ係数のうちの直流成分とから、予測タップを構成することにより、注目画素との相関がある隣接ブロックの情報を含んだ形で、少ないタップ数の予測タップを構成することができる。
【０６５３】
ところで、注目画素と、隣接ブロックの８×８画素それぞれとの間の相関は、一般には、均一ではない。即ち、隣接ブロックの画素の、注目画素との相関は、一般には、注目画素に近い画素ほど高く、遠い画素ほど低くなることが多い。また、例えば、隣接ブロックの画素と、注目画素との間に、エッジが存在する場合や、複雑な画像については、隣接ブロックの画素と、注目画素との間に、相関がない（ほとんどない）こともある。
【０６５４】
一方、隣接ブロックの２次元ＤＣＴ係数の直流成分は、その隣接ブロックの８×８画素の平均値（画素値の平均値）を表し、その８×８画素すべての情報が反映されている。従って、隣接ブロックの２次元ＤＣＴ係数の直流成分は、注目画素との相関が高い画素の情報を含むが、逆に、注目画素との相関がない画素の情報を含むこともある。このように、注目画素との相関がない（ほとんどない）画素の情報を含んだ形で予測タップが構成される場合には、積和演算部１３３（図４２）で求められる注目画素の復号値の復号精度に悪影響を与える。
【０６５５】
そこで、予測タップは、図５５に示したように、隣接ブロックの画素すべてではなく、そのうちの、注目ブロックに近い（あるいは隣接する）画素だけを選択して構成するようにすることができる。この場合、少ないタップ数の予測タップによって、復号精度を向上させることができる。
【０６５６】
なお、図５５Ａや図５５Ｂに示した左隣接同一行画素、右隣接同一行画素、上隣接同一列画素、および下隣接同一列画素や、左隣接同一行画素の左に隣接する画素、右隣接同一行画素の右に隣接する画素、上隣接同一列画素の上に隣接する画素、および下隣接同一列画素の下に隣接する画素は、注目画素との相関が高い場合が多く、従って、これらを含めて予測タップを構成することは、注目画素の復号精度を向上させるために、即ち、原画像により近く、各種の歪みが十分に低減された高画質の画像を復号するために、基本的に有効である。
【０６５７】
また、例えば、注目ブロックの左端等のブロック境界付近の画素が注目画素とされた場合には、その注目ブロックの左端の注目画素については、左に隣接する隣接ブロックの画素との相関は大きいが、右に隣接する隣接ブロックの画素との相関はほとんどないことがある。従って、図５５Ｃに示したように、左隣接同一行画素と右隣接同一行画素のうちの、注目画素に近い方を選択するとともに、上隣接同一列画素と下隣接同一列画素のうちの、注目画素に近い方を選択して予測タップを構成することは、注目ブロックのブロック境界の画素の復号精度を向上させるのに有効である。なお、その他、例えば、注目ブロック付近が、複雑な画像パターンとなっている場合や、エッジを有する場合も、注目画素から遠い左隣接同一行画素または右隣接同一行画素や、上隣接同一列画素と下隣接同一列画素は、注目画素との相関がほとんどないことがあり、従って、このような場合も、図５５Ｃに示したように予測タップを構成することは、注目画素の復号精度を向上させるのに有効である。
【０６５８】
一方、注目画素のクラス分類が適切に行われている場合には、予測タップを構成する情報量が多い方が、復号精度が向上する。従って、そのような場合に、図５５Ｄに示した予測タップは有効である。
【０６５９】
ここで、予測タップは、図５５Ａ乃至図５５Ｄに示したいずれか１つのタップ構造のものに固定することも可能であるが、図５５Ａ乃至図５５Ｄに示した４つのタップ構造のものを、選択的に採用することも可能である。即ち、予測タップは、注目画素の画素位置モードや、注目画素付近におけるエッジの有無、さらには、注目画素付近における画像の複雑さなどに基づいて、図５５Ａ乃至図５５Ｄに示した４つのタップ構造のものを、選択的に採用することが可能である。
【０６６０】
次に、図５６のフローチャートを参照して、図５４の予測タップ生成部１３１が図４７のステップＳ１０１で行う処理について説明する。
【０６６１】
予測タップ生成部１３１では、まず最初に、ステップＳ１３１において、読み出し部１３６が、注目ブロックと、その上下左右それぞれに隣接する４つの隣接ブロックの２次元ＤＣＴ係数を、バッファメモリ１２（図２）から読み出す。さらに、ステップＳ１３１では、読み出し部１３６が、注目ブロックの２次元ＤＣＴ係数を、配列部１３７に供給するとともに、４つの隣接ブロックの２次元ＤＣＴ係数を、逆ＤＣＴ変換部２２１に供給して、ステップＳ１３２に進む。
【０６６２】
ステップＳ１３２では、逆ＤＣＴ変換部２２１が、読み出し部１３６から供給される４つの隣接ブロックを逆ＤＣＴ変換し、これにより、その４つの隣接ブロックの画素値を復号して、選択部２２２に供給し、ステップＳ１３３に進む。
【０６６３】
ステップＳ１３３では、選択部２２２は、注目ブロックの８×８画素を、順次、注目画素として、各注目画素について、逆ＤＣＴ変換部２２１から供給される４つの隣接ブロックの８×８の画素の画素値から、図５５で説明したようにして、所定の画素の画素値を選択し、配列部１３７に供給して、ステップＳ１３４に進む。
【０６６４】
ステップＳ１３４では、配列部１３７は、注目ブロックの８×８画素それぞれについて、読み出し部１３６から供給される注目ブロックの２次元ＤＣＴ係数と、選択部２２２から供給される画素の画素値とを、所定の順番に配列し、これにより、図５５に示した予測タップを構成して、積和演算部１３３（図４２）に供給し、処理を終了する。
【０６６５】
次に、図５４の予測タップ生成部１３１では、隣接ブロックにおける、注目ブロックに隣接する画素（ブロック隣接画素）の画素値を含む予測タップが生成されるが、このブロック隣接画素は、注目ブロックと空間的に隣接するものである必要がある。
【０６６６】
しかしながら、ＭＰＥＧ２では、上述したように、マクロブロック単位で、フレーム構造とフィールド構造の選択が可能であることから、注目ブロックを含む注目マクロブロックの構造や、注目マクロブロックに隣接する隣接マクロブロックの構造によっては、注目ブロックに隣接する隣接ブロックにおける、注目ブロックに隣接する画素が、空間領域において、注目ブロックの境界と隣接する画素（ブロック隣接画素）となっていない場合がある。
【０６６７】
そこで、読み出し部１３６（図４）は、バッファメモリ１２に記憶されたＤＣＴタイプを参照することにより、注目ブロックと隣接ブロックの構造を認識し、注目ブロックの構造を基準として、空間領域において、その注目ブロックの境界と隣接するブロック隣接画素を有するブロックの２次元ＤＣＴ係数を、バッファメモリ１２から読み出すようになっている。従って、上述の場合には、説明を簡単にするために、図５４の読み出し部１３６が、注目ブロックの上下左右にそれぞれ隣接する４つのブロックの２次元ＤＣＴ係数を読み出すと説明したが、実際には、読み出し部１３６は、空間領域において注目ブロックと隣接する画素（ブロック隣接画素）を得るために、必要に応じて、上述の４つのブロック以外のブロックの２次元ＤＣＴ係数も読み出すようになっている。
【０６６８】
ここで、図５７乃至図７２を参照して、注目ブロックの構造を基準とした場合に、空間領域において、その注目ブロックの境界と隣接するブロック隣接画素について説明する。
【０６６９】
なお、図５７乃至図７２では、図８乃至図２３における場合と同様に、注目マクロブロックをＭＢ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の上側の境界に隣接するブロック隣接画素を示している。
【０６７３】
注目マクロブロックＭＢNと上隣接マクロブロックＭＢUのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、フレーム構造の注目ブロックＢNULの上側の境界に隣接するブロック隣接画素は、図５７Ａに示すように、フレーム構造の上隣接マクロブロックＭＢUの左下のブロックＢUDLの最下行の８画素（斜線を付してある部分）となる。
【０６７４】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプが、フィールドＤＣＴの場合は、フレーム構造の注目ブロックＢNULの上側の境界に隣接するブロック隣接画素は、図５７Ｂに示すように、フィールド構造の上隣接マクロブロックＭＢUの左下のブロックＢUDLの最下行の８画素（斜線を付してある部分）となる。
【０６７５】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプが、フレームＤＣＴの場合は、フィールド構造の注目ブロックＢNULの上側の境界に隣接するブロック隣接画素は、図５７Ｃに示すように、フレーム構造の上隣接マクロブロックＭＢUの左下ブロックＢUDLの第７行目（上から７行目）の８画素となる。
【０６７６】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプも、フィールドＤＣＴの場合は、フィールド構造の注目ブロックＢNULの上側の境界に隣接するブロック隣接画素は、図５７Ｄに示すように、フィールド構造の上隣接マクロブロックＭＢUの左上のブロックＢUULの最下行の８画素（斜線を付してある部分）となる。
【０６７７】
次に、図５８は、注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNULの下側の境界に隣接するブロック隣接画素を示している。
【０６７８】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴの場合は、フレーム構造の注目ブロックＢNULの下側の境界に隣接するブロック隣接画素は、図５８Ａに示すように、フレーム構造の注目マクロブロックＭＢNの左下のブロックＢNDLの最上行の８画素（斜線を付してある部分）となる。
【０６７９】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴである場合は、フィールド構造の注目ブロックＢNULの下側の境界に隣接するブロック隣接画素は、図５８Ｂに示すように、フィールド構造の注目マクロブロックＭＢNの下に隣接する下隣接マクロブロックＭＢDの左上のブロックＢDULの最上行の８画素（斜線を付してある部分）となる。
【０６８０】
次に、図５９は、注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNULの左側の境界に隣接するブロック隣接画素を示している。
【０６８１】
注目マクロブロックＭＢNと左隣接マクロブロックＭＢUのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、フレーム構造の注目ブロックＢNULの左側の境界に隣接するブロック隣接画素は、図５９Ａに示すように、フレーム構造の左隣接マクロブロックＭＢLの右上のブロックＢLURの最右列の８画素（斜線を付してある部分）となる。
【０６８２】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプが、フィールドＤＣＴの場合は、フレーム構造の注目ブロックＢNULの左側の境界に隣接するブロック隣接画素は、図５９Ｂに示すように、フィールド構造の左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の上４画素と、その右下のブロックＢLDRにおける最右列の上４画素（斜線を付してある部分）となる。即ち、注目ブロックＢNULの第１行乃至第８行に隣接する左側のブロック隣接画素は、それぞれ、ブロックＢLURの最右列の第１行乃至第４行の画素、ブロックＢLDRの最右列の第１行乃至第４行の画素となる。
【０６８３】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプが、フレームＤＣＴの場合は、フィールド構造の注目ブロックＢNULの左側の境界に隣接するブロック隣接画素は、図５９Ｃに示すように、フレーム構造の左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の奇数行の４画素と、その右下のブロックＢLDRにおける奇数行の４画素（斜線を付してある部分）となる。即ち、注目ブロックＢNULの第１行乃至第８行に隣接する左側のブロック隣接画素は、それぞれ、ブロックＢLURの最右列の第１，３，５，７行の画素、ブロックＢLDRの最右列の第１，３，５，７行の画素となる。
【０６８４】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプも、フィールドＤＣＴの場合は、フィールド構造の注目ブロックＢNULの左側の境界に隣接するブロック隣接画素は、図５９Ｄに示すように、フィールド構造の左隣接マクロブロックＭＢLの右上のブロックＢLURの最右列の８画素（斜線を付してある部分）となる。
【０６８５】
次に、図６０は、注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNULの右側の境界に隣接するブロック隣接画素を示している。
【０６８６】
注目マクロブロックＭＢNの左上のブロックＢNULが注目ブロックである場合には、その注目ブロックＢNULの右側の境界に隣接するブロック隣接画素は、図６０に示すように、その右隣のブロックＢNURの最左列の８画素（斜線を付してある部分）となる。
【０６８７】
次に、図６１は、注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDLの上側の境界に隣接するブロック隣接画素を示している。
【０６８８】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDLの上側の境界に隣接するブロック隣接画素は、図６１Ａに示すように、注目マクロブロックＭＢNの左上ブロックＢNULの最下行の８画素（斜線を付してある部分）となる。
【０６８９】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴである場合は、注目ブロックＢNDLの上側の境界に隣接するブロック隣接画素は、図６１Ｂに示すように、注目マクロブロックＭＢNの上に隣接する上隣接マクロブロックＭＢUの左下のブロックＢUDLの最下行の８画素（斜線を付してある部分）となる。
【０６９０】
次に、図６２は、注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDLの下側の境界に隣接するブロック隣接画素を示している。
【０６９１】
注目マクロブロックＭＢNと下隣接マクロブロックＭＢDのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNDLの下側の境界に隣接するブロック隣接画素は、図６２Ａに示すように、下隣接マクロブロックＭＢDの左上のブロックＢDULの最上行の８画素（斜線を付してある部分）となる。
【０６９２】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNDLの下側の境界に隣接するブロック隣接画素は、図６２Ｂに示すように、下隣接マクロブロックＭＢDの左上のブロックＢDULの最上行の８画素（斜線を付してある部分）となる。
【０６９３】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDLの下側の境界に隣接するブロック隣接画素は、図６２Ｃに示すように、下隣接マクロブロックＭＢDの左上のブロックＢDULの第２行目の８画素（斜線を付してある部分）となる。
【０６９４】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNDLの下側の境界に隣接するブロック隣接画素は、下隣接マクロブロックＭＢDの左下のブロックＢDDLの最上行の８画素（斜線を付してある部分）となる。
【０６９５】
次に、図６３は、注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDLの左側の境界に隣接するブロック隣接画素を示している。
【０６９６】
注目マクロブロックＭＢNと左隣接マクロブロックＭＢLのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNDLの左側の境界に隣接するブロック隣接画素は、図６３Ａに示すように、左隣接マクロブロックＭＢLの右下のブロックＢLDRの最右列の８画素（斜線を付してある部分）となる。
【０６９７】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNDLの左側の境界に隣接するブロック隣接画素は、図６３Ｂに示すように、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の下４画素と、その右下のブロックＢLDRにおける最右列の下４画素（斜線を付してある部分）となる。即ち、注目ブロックＢNDLの第１行乃至第８行に隣接する左側のブロック隣接画素は、それぞれ、ブロックＢLURの最右列の第５行乃至第８行の画素、ブロックＢLDRの最右列の第５行乃至第８行の画素となる。
【０６９８】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDLの左側の境界に隣接するブロック隣接画素は、図６３Ｃに示すように、左隣接マクロブロックＭＢLの右上のブロックＢLURにおける最右列の偶数行の４画素と、その右下のブロックＢLDRにおける偶数行の４画素（斜線を付してある部分）となる。即ち、注目ブロックＢNDLの第１行乃至第８行に隣接する左側のブロック隣接画素は、それぞれ、ブロックＢLURの最右列の第２，４，６，８行の画素、ブロックＢLDRの最右列の第２，４，６，８行の画素となる。
【０６９９】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、左隣接マクロブロックＭＢLのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNDLの左側の境界に隣接するブロック隣接画素は、図６３Ｄに示すように、左隣接マクロブロックＭＢLの右下のブロックＢLDRの最右列の８画素（斜線を付してある部分）となる。
【０７００】
次に、図６４は、注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDLの右側の境界に隣接するブロック隣接画素を示している。
【０７０１】
注目マクロブロックＭＢNの左下のブロックＢNDLが注目ブロックである場合の、その注目ブロックＢNDRの右側の境界に隣接するブロック隣接画素は、図６４に示すように、注目ブロックＢNDLの右隣のブロックＢNDRの最左列の８画素（斜線を付してある部分）となる。
【０７０２】
図６５は、注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNURの上側の境界に隣接するブロック隣接画素を示している。
【０７０３】
注目マクロブロックＭＢNと上隣接マクロブロックＭＢUのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNURの上側の境界に隣接するブロック隣接画素は、図６５Ａに示すように、上隣接マクロブロックＭＢUの右下のブロックＢUDRの最下行の８画素（斜線を付してある部分）となる。
【０７０４】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNURの上側の境界に隣接するブロック隣接画素は、図６５Ｂに示すように、上隣接マクロブロックＭＢUの右下ブロックＢUDRの最下行の８画素（斜線を付してある部分）となる。
【０７０５】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNURの上側の境界に隣接するブロック隣接画素は、図６５Ｃに示すように、上隣接マクロブロックＭＢUの右下のブロックＢUDRの第７行目の８画素（斜線を付してある部分）となる。
【０７０６】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、上隣接マクロブロックＭＢUのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNURの上側の境界に隣接するブロック隣接画素は、図６５Ｄに示すように、上隣接マクロブロックＭＢUの右上のブロックＢUURの最下行の８画素（斜線を付してある部分）となる。
【０７０７】
次に、図６６は、注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNURの下側の境界に隣接するブロック隣接画素を示している。
【０７０８】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNURの下側の境界に隣接するブロック隣接画素は、図６６Ａに示すように、注目マクロブロックＭＢNの右下のブロックＢNDRの最上行の８画素（斜線を付してある部分）となる。
【０７０９】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴである場合は、注目ブロックＢNURの下側の境界に隣接するブロック隣接画素は、図６６Ｂに示すように、下隣接マクロブロックＭＢDの右上のブロックＢDURの最上行の８画素（斜線を付してある部分）となる。
【０７１０】
次に、図６７は、注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNURの左側の境界に隣接するブロック隣接画素を示している。
【０７１１】
注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックである場合には、その注目ブロックＢNURの左側の境界に隣接するブロック隣接画素は、図６７に示すように、注目ブロックＢNURの左隣のブロックＢNULの最右列の８画素（斜線を付してある部分）となる。
【０７１２】
次に、図６８は、注目マクロブロックＭＢNの右上のブロックＢNURが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNURの右側の境界に隣接するブロック隣接画素を示している。
【０７１３】
注目マクロブロックＭＢNと右隣接マクロブロックＭＢRのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNURの右側の境界に隣接するブロック隣接画素は、図６８Ａに示すように、右隣接マクロブロックＭＢRの左上のブロックＢRULの最左列の８画素（斜線を付してある部分）となる。
【０７１４】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、右隣接マクロブロックＭＢRのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNURの右側の境界に隣接するブロック隣接画素は、図６８Ｂに示すように、右隣接マクロブロックＭＢLの左上のブロックＢRULにおける最左列の上４画素と、その左下のブロックＢRDLにおける最左列の上４画素（斜線を付してある部分）となる。
【０７１５】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、右隣接マクロブロックＭＢRのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNURの右側の境界に隣接するブロック隣接画素は、図６８Ｃに示すように、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の奇数行の４画素と、その左下のブロックＢRDLにおける奇数行の４画素（斜線を付してある部分）となる。
【０７１６】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、右隣接マクロブロックＭＢRのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNURの右側の境界に隣接するブロック隣接画素は、図６８Ｄに示すように、右隣接マクロブロックＭＢRの左上のブロックＢRULの最左列の８画素（斜線を付してある部分）となる。
【０７１７】
次に、図６９は、注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDRの上側の境界に隣接するブロック隣接画素を示している。
【０７１８】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDRの上側の境界に隣接するブロック隣接画素は、図６９Ａに示すように、注目マクロブロックＭＢNの右下のブロックＢNDRの最上行の８画素（斜線を付してある部分）となる。
【０７１９】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴである場合は、注目ブロックＢNDRの上側の境界に隣接するブロック隣接画素は、図６９Ｂに示すように、注目マクロブロックＭＢNの上に隣接する上隣接マクロブロックＭＢUの右下のブロックＢUDRの最下行の８画素（斜線を付してある部分）ととなる。
【０７２０】
次に、図７０は、注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDRの下側の境界に隣接するブロック隣接画素を示している。
【０７２１】
注目マクロブロックＭＢNと下隣接マクロブロックＭＢDのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNDRの下側の境界に隣接するブロック隣接画素は、図７０Ａに示すように、下隣接マクロブロックＭＢDの右上のブロックＢDURの最上行の８画素（斜線を付してある部分）となる。
【０７２２】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNDRの下側の境界に隣接するブロック隣接画素は、図７０Ｂに示すように、下隣接マクロブロックＭＢDの右上のブロックＢDURの最上行の８画素（斜線を付してある部分）となる。
【０７２３】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDRの下側の境界に隣接するブロック隣接画素は、図７０Ｃに示すように、下隣接マクロブロックＭＢDの右上のブロックＢDURの第２行目の８画素（斜線を付してある部分）となる。
【０７２４】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、下隣接マクロブロックＭＢDのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNDRの下側に隣接するブロック隣接画素は、図７０Ｄに示すように、下隣接マクロブロックＭＢDの右下のブロックＢDDRの最上行の８画素（斜線を付してある部分）となる。
【０７２５】
次に、図７１は、注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDRの左側の境界に隣接するブロック隣接画素を示している。
【０７２６】
注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックである場合には、その注目ブロックＢNDRの左側の境界に隣接するブロック隣接画素は、図７１に示すように、注目ブロックＢNDRの左隣のブロックＢNDLの最右列の８画素（斜線を付してある部分）となる。
【０７２７】
次に、図７２は、注目マクロブロックＭＢNの右下のブロックＢNDRが注目ブロックであるとした場合に、空間領域において、注目ブロックＢNDRの右側の境界に隣接するブロック隣接画素を示している。
【０７２８】
注目マクロブロックＭＢNと右隣接マクロブロックＭＢRのＤＣＴタイプが、いずれもフレームＤＣＴの場合は、注目ブロックＢNDRの右側の境界に隣接するブロック隣接画素は、図７２Ａに示すように、右隣接マクロブロックＭＢRの左下のブロックＢRDLの最左列の８画素（斜線を付してある部分）となる。
【０７２９】
注目マクロブロックＭＢNのＤＣＴタイプが、フレームＤＣＴであり、右隣接マクロブロックＭＢRのＤＣＴタイプが、フィールドＤＣＴの場合は、注目ブロックＢNDRの右側の境界に隣接するブロック隣接画素は、図７２Ｂに示すように、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の下４画素と、その左下のブロックＢRDLにおける最左列の下４画素（斜線を付してある部分）となる。
【０７３０】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、右隣接マクロブロックＭＢRのＤＣＴタイプが、フレームＤＣＴの場合は、注目ブロックＢNDRの右側の境界に隣接するブロック隣接画素は、図７２Ｃに示すように、右隣接マクロブロックＭＢRの左上のブロックＢRULにおける最左列の偶数行の４画素と、その左下のブロックＢRDLにおける最左列の偶数行の４画素（斜線を付してある部分）となる。
【０７３１】
注目マクロブロックＭＢNのＤＣＴタイプが、フィールドＤＣＴであり、右隣接マクロブロックＭＢＲのＤＣＴタイプも、フィールドＤＣＴの場合は、注目ブロックＢNDRの右側の境界に隣接するブロック隣接画素は、図７２Ｄに示すように、右隣接マクロブロックＭＢRの左下のブロックＢRDLの最左列の８画素（斜線を付してある部分）となる。
【０７３２】
次に、図７３は、図４２の予測タップ生成部１３１の第３の構成例を示している。なお、図中、図５４における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図７３の実施の形態では、逆ＤＣＴ変換部２２１に代えて、ＭＰＥＧデコーダ２３１およびバッファメモリ２３２が設けられている他は、基本的に、図５４における場合と同様に構成されている。
【０７３３】
ＭＰＥＧデコーダ２３１は、例えば、図１に示したＭＰＥＧデコーダと同様に構成されている。また、図７３の実施の形態では、図２の画像処理装置に供給されるビデオストリームが、ＭＰＥＧデコーダ２３１にも供給されるようになっており、ＭＰＥＧデコーダ２３１は、そこに供給されるビデオストリームを、図１で説明したようにＭＰＥＧデコードし、その結果得られる復号画像を、バッファメモリ２３２に供給する。
【０７３４】
バッファメモリ２３２は、ＭＰＥＧデコーダ２３１から供給される復号画像を一時記憶する。なお、バッファメモリ２３２は、注目画素について、図５５で説明した予測タップを構成する画素を含む復号画像を記憶することのできる記憶容量を、少なくとも有している。
【０７３５】
以上のように構成される予測タップ生成部１３１では、ＭＰＥＧデコーダ２３１において、そこに供給されるビデオストリームがＭＰＥＧデコードされ、その結果得られる復号画像が、バッファメモリ２３２に供給されて記憶される。
【０７３６】
そして、選択部２２２は、バッファメモリ２３２に記憶された復号画像を構成する画素のうち、図５５で説明した予測タップを構成する画素を選択し、その画素の画素値を、バッファメモリ２３２から読み出して、配列部１３７に供給する。
【０７３７】
従って、図７３の実施の形態においても、図５４における場合と同様の予測タップが生成される。
【０７３８】
なお、ＭＰＥＧデコーダ２３１における復号順序は、必ずしも、表示順に一致しない。即ち、ＭＰＥＧデコーダ２３１における復号順序は、例えば、ＧＯＰ(Group Of Picture)構造によって変化する。このため、ＭＰＥＧデコーダ２３１では、選択部２２２において選択され得る画素が、バッファメモリ２３２に記憶された状態となるように、ＭＰＥＧデコードを行うようにする必要がある。
【０７３９】
次に、図７４は、図４２の予測タップ生成部１３１の第４の構成例を示している。なお、図中、図７３における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図７４の実施の形態では、ＭＰＥＧデコーダ２３１に代えて、画像処理装置２４０が設けられている他は、基本的に、図７３における場合と同様に構成されている。
【０７４０】
画像処理装置２４０は、図２の前処理部１１、バッファメモリ１２、クラス分類部１３、タップ係数記憶部１４、画像再構成部１５とそれぞれ同様に構成される前処理部２４１、バッファメモリ２４２、クラス分類部２４３、タップ係数記憶部２４４、画像再構成部２４５で構成されている。また、図７４の実施の形態では、図７３における場合と同様に、図２の画像処理装置に供給されるビデオストリームが、画像処理装置２４０にも供給されるようになっており、画像処理装置２４０は、そこに供給されるビデオストリームを、図２の画像処理装置における場合と同様に処理することにより復号し、その結果得られる復号画像を、バッファメモリ２３２に供給する。
【０７４１】
即ち、図７３の実施の形態では、ＭＰＥＧデコーダ２３１によって、ビデオストリームがＭＰＥＧデコードされるようになっていたが、図７４の実施の形態では、画像処理装置２４０によって、ビデオストリームが復号されるようになっている。
【０７４２】
従って、図７４の実施の形態においても、図５４における場合と同様の予測タップが生成される。
【０７４３】
ここで、画像処理装置２４０における画像再構成部２４５は、図２の画像再構成部１５が有する適応処理部５１と同様の処理を行う適応処理部２５１を有しているが、適応処理部２５１では、例えば、上述した図４３（あるいは、図５４や図７３）の予測タップ生成部１３１における場合と同様にして、予測タップが生成されるようになっている。
【０７４４】
なお、画像処理装置２４０において、ビデオストリームを復号する場合、ノンイントラ符号化されたブロックは、上述したように、そのブロックの画像と予測画像との差分値（残差画像）を２次元ＤＣＴ変換して得られる２次元ＤＣＴ係数（以下、適宜、残差ＤＣＴ係数という）となっているため、画像処理装置２４０では、図２の画像処理装置と同様に、ノンイントラ符号化されたブロックについては、図７５Ａに示すように、残差ＤＣＴ係数と、予測画像をＤＣＴ変換して得られる２次元ＤＣＴ係数とが加算され、その加算の結果得られる２次元ＤＣＴ係数から、予測タップが構成される。そして、その予測タップを用いて適応処理が行われることにより、画像が復号される。
【０７４５】
但し、画像処理装置２４０では、ノンイントラ符号化されたブロックについては、その他、例えば、図７５Ｂに示すように、残差ＤＣＴ係数を２次元逆ＤＣＴ変換して得られる残差画像と、予測画像とを加算し、その加算の結果得られる画像から、予測タップを構成して、適応処理を行うことにより、画像を復号するようにすることが可能である。また、画像処理装置２４０では、ノンイントラ符号化されたブロックについては、例えば、図７５Ｃに示すように、残差ＤＣＴ係数と予測画像とから、予測タップを構成して、適応処理を行うことにより、画像を復号するようにすることも可能である。
【０７４６】
なお、図７５Ａの予測タップを構成して、画像を復号する場合には、学習において、図７５Ａにおける場合と同一構造の予測タップを構成して、タップ係数を求めておく必要がある。図７５Ｂまたは図７５Ｃの予測タップを構成して、画像を復号する場合においても、同様に、図７５Ｂまたは図７５Ｃにおける場合と同一構造の予測タップを構成して、タップ係数を求めておく必要がある。
【０７４７】
次に、図７６は、図４２の予測タップ生成部１３１の第５の構成例を示している。なお、図中、図４３における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図７６の実施の形態では、１次元逆ＤＣＴ変換部２６１および隣接１次元ＤＣＴ係数選択／変換部２６２が新たに設けられている他は、基本的に、図４３における場合と同様に構成されている。
【０７４８】
１次元逆ＤＣＴ変換部２６１は、図２の１次元逆ＤＣＴ変換部３１と同様に構成され、読み出し部１３６から供給されるブロックの２次元ＤＣＴ係数を、１次元逆ＤＣＴ変換することにより、１次元ＤＣＴ係数（水平１次元ＤＣＴ係数と垂直１次元ＤＣＴ係数）を求め、隣接１次元ＤＣＴ係数選択／変換部２６２に供給する。
【０７４９】
隣接１次元ＤＣＴ係数選択／変換部２６２は、図２の隣接１次元ＤＣＴ係数選択／変換部３２と同様に構成され、読み出し部１３６から供給されるブロック（マクロブロック）のＤＣＴタイプに基づき、注目ブロックに隣接する画素列の１次元ＤＣＴ係数（隣接１次元ＤＣＴ係数）を、１次元逆ＤＣＴ変換部２６１から供給される１次元ＤＣＴ係数から取得し、配列部１３７に供給する。
【０７５０】
次に、図７７のフローチャートを参照して、図７６の予測タップ生成部１３１が図４７のステップＳ１０１で行う処理について説明する。
【０７５１】
予測タップ生成部１３１では、まず最初に、ステップＳ１４１において、読み出し部１３６が、注目ブロックと、その注目ブロックを含む注目マクロブロックの上下左右それぞれに隣接する４つの隣接マクロブロックの２次元ＤＣＴ係数を、バッファメモリ１２（図２）から読み出すとともに、それらの各マクロブロックのＤＣＴタイプを、バッファメモリ１２から読み出す。さらに、ステップＳ１４１では、読み出し部１３６が、注目ブロックの２次元ＤＣＴ係数を、配列部１３７に供給するとともに、４つの隣接マクロブロックの２次元ＤＣＴ係数を、１次元逆ＤＣＴ変換部２６１に供給する。また、ステップＳ１４１では、読み出し部１３６が、バッファメモリ１２から読み出したＤＣＴタイプを、隣接１次元ＤＣＴ係数選択／変換部２６２に供給し、ステップＳ１４２に進む。
【０７５２】
ステップＳ１４２では、１次元逆ＤＣＴ変換部２６１が、読み出し部１３６から供給される４つの隣接マクロブロックを構成するブロックを１次元逆ＤＣＴ変換し、その結果得られる１次元ＤＣＴ係数を、隣接１次元ＤＣＴ係数選択／変換部２６２に供給して、ステップＳ１４３に進む。
【０７５３】
ステップＳ１４３では、隣接１次元ＤＣＴ係数選択／変換部２６２は、図２の隣接１次元ＤＣＴ係数選択／変換部３２と同様に、読み出し部１３６から供給されるＤＣＴタイプに基づき、図８乃至図２３で説明した、注目ブロックに隣接する画素列の１次元ＤＣＴ係数（隣接１次元ＤＣＴ係数）を、１次元逆ＤＣＴ変換部２６１から供給される１次元ＤＣＴ係数から取得し、配列部１３７に供給する。
【０７５４】
そして、ステップＳ１４４に進み、配列部１３７は、注目ブロックの８×８画素それぞれの予測タップとして、読み出し部１３６から供給される注目ブロックの２次元ＤＣＴ係数と、隣接１次元ＤＣＴ係数選択／変換部２６２から供給される隣接１次元ＤＣＴ係数とを、所定の順番に配列し、これにより、予測タップを構成して、積和演算部１３３（図４２）に供給し、処理を終了する。
【０７５５】
従って、図７６の予測タップ生成部１３１によれば、図７８に示すように、注目ブロックの８×８の２次元ＤＣＴ係数と、その注目ブロックの上下左右それぞれに隣接する隣接１次元ＤＣＴ係数（上隣接１次元ＤＣＴ係数、下隣接１次元ＤＣＴ係数、左隣接１次元ＤＣＴ係数、および右隣接１次元ＤＣＴ係数）との、合計で９６（＝８×８＋８×４）タップでなる予測タップが構成される。
【０７５６】
図７８のタップ構造の予測タップにおいて、上隣接１次元ＤＣＴ係数、下隣接１次元ＤＣＴ係数、左隣接１次元ＤＣＴ係数、右隣接１次元ＤＣＴ係数は、注目ブロックの上、下、左、右に隣接する隣接ブロックそれぞれの８つのブロック隣接画素の水平方向または垂直方向の空間周波数成分を表すことから、即ち、注目画素に近い位置の空間周波数を表すことから、図７６の予測タップ生成部１３１でも、例えば、図４４や図４５における場合に比較して、注目画素との相関が大きい情報を含んだ形の、少ないタップ数の予測タップが生成されることになる。
【０７５７】
なお、１次元逆ＤＣＴ変換部２６１と隣接１次元ＤＣＴ係数選択／変換部２６２は、図２の１次元逆ＤＣＴ変換部３１と隣接１次元ＤＣＴ係数選択／変換部３２それぞれによって兼用するようにすることが可能である。
【０７５８】
また、上述の場合には、２次元ＤＣＴ係数を１次元逆ＤＣＴ変換することによって、予測タップとする１次元ＤＣＴ係数を求めるようにしたが、この１次元ＤＣＴ係数は、その他、例えば、ビットストリームをＭＰＥＧデコード等することにより復号画像に復号し、その復号画像を１次元ＤＣＴ変換することによって求めるようにすることも可能である。
【０７５９】
次に、図７９は、図４２の予測タップ生成部１３１の第６の構成例を示している。なお、図中、図７３における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図７９の実施の形態では、予想タップ生成部１３１は、基本的に、図７３における場合と同様に構成されている。
【０７６０】
但し、選択部２２２は、バッファメモリ２３２に記憶された復号画像を構成する画素から、図８０に示すように、注目画素のフレームの１フレーム前と後のフレームそれぞれの、注目画素と同一位置にある画素（以下、適宜、同一位置画素という）を選択し、その同一位置画素の画素値を、バッファメモリ２３２から読み出して、配列部１３７に供給する。
【０７６１】
次に、図８１のフローチャートを参照して、図７９の予測タップ生成部１３１が図４７のステップＳ１０１で行う処理について説明する。
【０７６２】
予測タップ生成部１３１では、まず最初に、ステップＳ１５１において、読み出し部１３６が、注目ブロックの２次元ＤＣＴ係数を、バッファメモリ１２（図２）から読み出し、配列部１３７に供給して、ステップＳ１５２に進む。
【０７６３】
ステップＳ１５２では、選択部２２２が、注目画素のフレームの１フレーム前と後のフレームそれぞれにおける注目ブロックの各画素と同一位置にある画素（同一位置画素）を選択し、その同一位置画素の画素値を、バッファメモリ２３２から読み出して、配列部１３７に供給する。
【０７６４】
そして、ステップＳ１５３に進み、配列部１３７は、注目ブロックの８×８画素を、順次、注目画素として、各注目画素について、読み出し部１３６から供給される注目ブロックの２次元ＤＣＴ係数と、選択部２２２から供給される、注目画素に対する２つの同一位置画素とを、所定の順番に配列し、これにより、予測タップを構成して、積和演算部１３３（図４２）に供給し、処理を終了する。
【０７６５】
従って、図７９の予測タップ生成部１３１によれば、注目画素について、注目ブロックの８×８の２次元ＤＣＴ係数と、その注目画素に対する２つの同一位置画素との、合計で６６（＝８×８＋２）タップでなる予測タップが構成される。
【０７６６】
注目画素のフレームの１フレーム前と後のフレームの同一位置画素は、一般に、注目画素との相関が大きいから、図７９の予測タップ生成部１３１では、そのような注目画素との相関が大きい情報を含んだ形の予測タップであって、タップ数の少ないものが生成されることになる。
【０７６７】
なお、図７９のタップ生成部１３１では、注目画素のフレームの１フレーム前と後のフレームの同一位置画素の他、注目画素のフレームの２フレーム以上前や後のフレームの同一位置画素を含めた形の予測タップを生成するようにすることも可能である。
【０７６８】
また、図７９のタップ生成部１３１では、注目画素のフレームの１フレーム前と後のフレームの同一位置画素の他、その同一位置画素に（空間的に）隣接する画素等を含めた形の予測タップを生成するようにすることも可能である。
【０７６９】
次に、図８２は、図４２の予測タップ生成部１３１の第７の構成例を示している。なお、図中、図７９における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図８２の実施の形態では、予想タップ生成部１３１は、基本的に、図７９における場合と同様に構成されている。
【０７７０】
但し、ＭＰＥＧデコーダ２３１は、ＭＰＥＧデコードした復号画像の他、そのＭＰＥＧデコードに用いた動きベクトルも、バッファメモリ２３２に供給するようになっている。また、バッファメモリ２３２は、ＭＰＥＧデコーダ２３１が出力する復号画像と動きベクトルを、一時記憶するようになっている。
【０７７１】
さらに、選択部２２２は、バッファメモリ２３２に記憶された復号画像を構成する画素から、図８３に示すように、注目ブロックのフレームの前または後のフレームにおける、注目画素に対応する位置から、注目ブロックの動きベクトルに対応する分だけ移動した位置にある画素（以下、適宜、動き対応画素という）を選択し、その動き対応画素の画素値を、バッファメモリ２３２から読み出して、配列部１３７に供給する。
【０７７２】
なお、注目ブロックが、両方向予測されるＢピクチャの画像である場合には、図８３Ａに示すように、その注目ブロックについては、注目ブロックのフレームの前のフレームを参照画像として前方予測を行うための動きベクトルと、注目ブロックのフレームの後のフレームを参照画像として後方予測を行うための動きベクトルが存在する。
【０７７３】
ここで、図８３Ａの実施の形態では、第ｎフレームが、注目ブロックのフレームで、Ｂピクチャとなっている。そして、注目ブロックは、Ｉピクチャである第ｎ−２フレームを参照画像として前方予測を行うための動きベクトルｖ1と、Ｐピクチャである第ｎ＋１フレームを参照画像として後方予測を行うための動きベクトルｖ2を有している。
【０７７４】
この場合、選択部２２２では、第ｎ−２フレームの、注目画素に対応する位置から動きベクトルｖ1だけ移動した位置の画素と、第ｎ＋２フレームの、注目画素に対応する位置から動きベクトルｖ2だけ移動した位置の画素が、動き対応画素として選択される。
【０７７５】
一方、注目ブロックが、予測符号化されないＩピクチャや、前方予測されるＰピクチャの画像である場合は、予測を行うための動きベクトルが存在しなかったり、存在しても、注目ブロックのフレームの前のフレームを参照画像として前方予測を行うための動きベクトルしか存在しない。
【０７７６】
ここで、図８３Ｂの実施の形態では、第ｎフレームが、注目ブロックのフレームで、Ｐピクチャとなっている。そして、注目ブロックは、Ｉピクチャである第ｎ−２フレームを参照画像として前方予測を行うための動きベクトルｖ3しか有していない。
【０７７７】
ところで、ＩピクチャやＰピクチャは、ＰピクチャやＢピクチャの予測画像を予測するときの参照画像となりうる。図８３Ｂの実施の形態では、Ｂピクチャである第ｎ＋１フレームのブロックが、注目画素のフレームの、注目画素を含む画像を参照画像として前方予測を行うための動きベクトルｖ4を有している。
【０７７８】
この場合、選択部２２２には、第ｎ−２フレームの、注目画素の対応する位置から動きベクトルｖ3だけ移動した位置の画素と、第ｎ＋１フレームの、注目画素に対応する位置から動きベクトルｖ4だけ移動した位置の画素を、動き対応画素として選択させることができる。
【０７７９】
ここで、以下、適宜、動きベクトルに基づいて参照画像を動き補償して得られる予測画像によって予測される画像のフレームを、非参照フレームという。また、以下、適宜、非参照フレームの画像を予測するのに参照される画像のフレームを、参照フレームという。さらに、注目ブロックが有する動きベクトルと、他のブロックが有する、注目画素を含む画像を参照画像とした動き補償に用いられる動きベクトルの両方をまとめて、以下、適宜、注目ブロックに関する動きベクトルという。
【０７８０】
なお、注目画素のフレームの、注目画素を含む画像を参照画像として前方予測を行うための動きベクトルを有する、他のフレーム（非参照フレーム）のブロックは複数存在しうるが、その場合には、その複数の動きベクトルの任意の１以上に基づいて、その１以上の動きベクトルそれぞれに対応する動き対応画素を選択することが可能である。
【０７８１】
また、上述の場合には、参照フレーム（または非参照フレーム）から、１つの動き対応画素を選択するようにしたが、動き対応画素としては、参照フレームの、注目画素に対応する位置から、注目ブロックの動きベクトルに対応する分だけ移動した位置にある画素と、その周辺の１以上の画素との合計２以上の画素を、動き対応画素として選択するようにすることも可能である。さらに、選択部２２２では、注目画素についての動き対応画素を、仮の注目画素とした場合に、その仮の注目画素についての動き対応画素となる画素も、注目画素についての動き対応画素として選択するようにすることが可能である。
【０７８２】
次に、図８４のフローチャートを参照して、図８２の予測タップ生成部１３１が図４７のステップＳ１０１で行う処理について説明する。
【０７８３】
予測タップ生成部１３１では、まず最初に、ステップＳ１６１において、読み出し部１３６が、注目ブロックの２次元ＤＣＴ係数を、バッファメモリ１２（図２）から読み出し、配列部１３７に供給して、ステップＳ１６２に進む。
【０７８４】
ステップＳ１６２では、選択部２２２が、注目ブロックに関する動きベクトルを、バッファメモリ２３２から読み出し、ステップＳ１６３に進む。
【０７８５】
ステップＳ１６３では、選択部２２２は、参照フレームまたは非参照フレームにおいて、注目ブロックの各画素の位置から、注目ブロックに関する動きベクトルに対応する分だけ移動した位置にある画素を、動き対応画素として選択し、その動き対応画素の画素値を、バッファメモリ２３２から読み出して、配列部１３７に供給する。
【０７８６】
そして、ステップＳ１６４に進み、配列部１３７は、注目ブロックの８×８画素を、順次、注目画素として、各注目画素について、読み出し部１３６から供給される注目ブロックの２次元ＤＣＴ係数と、選択部２２２から供給される動き対応画素とを、所定の順番に配列し、これにより、予測タップを構成して、積和演算部１３３（図４２）に供給し、処理を終了する。
【０７８７】
動き対応画素は、一般に、注目画素との相関が大きいから、図８２の予測タップ生成部１３１では、そのような注目画素との相関が大きい情報を含んだ形の予測タップであって、タップ数の少ないものが生成されることになる。
【０７８８】
ここで、動き対応画素を含む予測タップを構成することは、動きのある物体が表示された画像の復号精度を向上させるのに有効である。
【０７８９】
なお、図７９や図８２の実施の形態では、同一位置画素や動き対応画素の画素値を、予測タップに含めるようにしたが、予測タップには、同一位置画素や動き対応画素の画素値ではなく、その１次元ＤＣＴ係数を含めるようにすることが可能である。また、予測タップには、同一位置画素や動き対応画素を含む、垂直または水平方向に並ぶ所定数の画素列の１次元ＤＣＴ係数を含めるようにすることも可能である。
【０７９０】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０７９１】
そこで、図８５は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０７９２】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク４０５やＲＯＭ４０３に予め記録しておくことができる。
【０７９３】
あるいはまた、プログラムは、フレキシブルディスク、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)やスピーカ等で構成される出力部４０６から出力、あるいは、通信部４０８から送信、さらには、ハードディスク４０５に記録等させる。
【０７９６】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０７９７】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０７９８】
以上のように、注目ブロックの２次元ＤＣＴ係数の他、その注目ブロックのフレームに対して、空間的または時間的に近接するフレームのブロックの２次元ＤＣＴ係数から得られる、画素値や１次元ＤＣＴ係数によって、予測タップを構成するようにしたので、少ないタップ数の予測タップによって、ブロック歪みやモスキートノイズ等の歪みを十分に低減した高画質の復号画像を得ることが可能となる。
【０７９９】
なお、本実施の形態では、教師データの予測値を、式（１）の線形１次予測演算によって求めるようにしたが、教師データの予測値は、その他、例えば、２次以上の高次の式を用いて求めるようにすることが可能である。
【０８００】
また、本実施の形態では、クラス分類を、注目ブロックとそれに隣接するブロックの１次元ＤＣＴ係数を用いて行うようにしたが、その他、クラス分類は、注目ブロックと空間的または時間的に近いブロックの１次元ＤＣＴ係数をも用いて行うことが可能である。さらに、クラス分類は、１次元ＤＣＴ係数の他、２次元ＤＣＴ係数も用いて行うことが可能である。また、クラス分類は、注目ブロックに対して、時間方向に近接するブロックの１次元ＤＣＴ係数をも用いて行うことが可能である。
【０８０１】
さらに、クラス分類は、例えば、注目ブロックや隣接ブロックの８×８の２次元ＤＣＴ係数のうちの、直流成分を除く６３個の２次元ＤＣＴ係数のパワー（自乗和）を求め、そのパワーと所定の閾値との大小関係や、注目ブロックから求めたパワーと、隣接ブロックから求めたパワーとの大小関係に基づいて行うようにすることも可能である。また、クラス分類は、例えば、図４６に示した注目ブロックに隣接する８つの隣接ブロックの２次元ＤＣＴ係数のうちの直流成分と所定の閾値との大小関係や、その８つの隣接ブロックの２次元ＤＣＴ係数のうちの直流成分それぞれと、注目ブロックの２次元ＤＣＴ係数のうちの直流成分との大小関係に基づいて行うようにすることも可能である。
【０８０２】
また、クラス分類は、例えば、注目ブロックや隣接ブロックの複数の画素を含んだ形のクラスタップを構成し、そのクラスタップをADRC(Adaptive Dynamic Range Coding)処理することによって行うことも可能である。
【０８０３】
ここで、KビットADRC処理によれば、例えば、クラスタップを構成する画素の画素値の最大値MAXと最小値MINが検出され、DR=MAX-MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成する画素値がKビットに再量子化される。即ち、クラスタップを構成する各画素の画素値から、最小値MINが減算され、その減算値がDR/2Kで除算（量子化）される。そして、以上のようにして得られる、クラスタップを構成するKビットの各画素の画素値を、所定の順番で並べたビット列が、ADRCコードとして出力される。従って、クラスタップが、例えば、１ビットADRC処理された場合には、そのクラスタップを構成する各画素の画素値は、最小値MINが減算された後に、最大値MAXと最小値MINとの平均値で除算され（小数点以下切り捨て）、これにより、各画素の画素値が１ビットとされる（２値化される）。そして、その１ビットの画素値を所定の順番で並べたビット列であるADRCコードに基づいて、注目画素のクラスが決定される。
【０８０４】
さらに、クラス分類は、例えば、ビデオストリームに含まれるサイドインフォメーションを用いて行うようにすることも可能である。即ち、クラス分類は、例えば、サイドインフォメーションの１つである量子化ステップに基づいて行うことが可能である。また、クラス分類は、例えば、サイドインフォメーションの１つであるＤＣＴタイプに基づき、注目ブロックと隣接ブロックの構造（フィールド構造であるか、またはフレーム構造であるか）の組み合わせを認識し、その認識結果に基づいて行うようにすることも可能である。さらに、クラス分類は、例えば、動き補償タイプやＣＢＰなどのサイドインフォメーションから認識される動き補償の有無や、２次元ＤＣＴ係数の有無に基づいて行うようにすることも可能である。
【０８０５】
また、クラス分類は、例えば、上述した画素位置モードに基づいて行うことも可能である。
【０８０６】
さらに、本実施の形態では、注目ブロックについては、その２次元ＤＣＴ係数だけを、予測タップに含めるようにしたが、予測タップには、その他、例えば、注目ブロックの画素値や１次元ＤＣＴ係数を含めるようにすることが可能である。
【０８０７】
さらに、本実施の形態では、ＭＰＥＧ符号化された動画像を対象としたが、本発明は、２次元ＤＣＴ変換を用いる、ＭＰＥＧ以外の符号化方式により符号化された動画像や、ＪＰＥＧ符号化された静止画等を復号する場合にも適用可能である。
【０８０８】
【発明の効果】
以上の如く、本発明によれば、画像データを、少なくとも２次元ＤＣＴ(Discrete Cosine Transform)変換して得られる２次元ＤＣＴ係数を含む符号化データを、高画質の画像を復号することが可能となる。
【図面の簡単な説明】
【図１】ＭＰＥＧデコーダの構成例を示すブロック図である。
【図２】本発明を適用した画像処理装置の第１実施の形態の構成例を示すブロック図である。
【図３】ＤＣＴ変換部２１と周波数領域動き補償加算部２２の構成例を示すブロック図である。
【図４】サンプリング部６１の処理を説明するための図である。
【図５】サンプリング部６１の処理を説明するための図である。
【図６】２次元ＤＣＴ変換および２次元逆ＤＣＴ変換、並びに１次元ＤＣＴ変換および１次元逆ＤＣＴ変換を説明するための図である。
【図７】原画像、水平１次元ＤＣＴ係数、垂直１次元ＤＣＴ係数、および２次元ＤＣＴ係数を示すディスプレイ上に表示された中間階調の写真である。
【図８】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図９】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１０】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１１】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１２】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１３】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１４】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１５】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１６】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１７】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１８】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１９】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２０】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２１】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２２】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２３】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２４】隣接１次元ＤＣＴ係数選択／変換部３２の構成例を示すブロック図である。
【図２５】隣接１次元ＤＣＴ係数選択／変換部３２の処理を説明するフローチャートである。
【図２６】左上ブロック処理の詳細を説明するフローチャートである。
【図２７】左下ブロック処理の詳細を説明するフローチャートである。
【図２８】右上ブロック処理の詳細を説明するフローチャートである。
【図２９】右下ブロック処理の詳細を説明するフローチャートである。
【図３０】ＡＣパワーを説明するための図である。
【図３１】ＡＣパワー算出部３３の構成例を示すブロック図である。
【図３２】ＡＣ内積を説明するための図である。
【図３３】ＡＣ内積計算部３４の構成例を示すブロック図である。
【図３４】クラスコード生成部３６の構成例を示すブロック図である。
【図３５】クラスコードのフォーマットを示す図である。
【図３６】クラスコード生成部３６の処理を説明するフローチャートである。
【図３７】クラスコード生成部３７の構成例を示すブロック図である。
【図３８】４：２：２フォーマットにおける輝度ブロックと色差ブロックとの対応関係を示す図である。
【図３９】輝度クラスコードを利用した色差クラスコードの生成を説明する図である。
【図４０】４：２：０フォーマットにおける輝度ブロックと色差ブロックとの対応関係を示す図である。
【図４１】輝度クラスコードを利用した色差クラスコードの生成を説明する図である。
【図４２】適応処理部５１の構成例を示すブロック図である。
【図４３】予測タップ生成部１３１の第１の構成例を示すブロック図である。
【図４４】予測タップ生成部１３１が生成する予測タップのタップ構造を示す図である。
【図４５】予測タップ生成部１３１が生成する予測タップのタップ構造を示す図である。
【図４６】予測タップ生成部１３１が生成する予測タップのタップ構造を示す図である。
【図４７】適応処理部５１の処理を説明するフローチャートである。
【図４８】タップ係数を学習する学習装置の第１実施の形態の構成例を示すブロック図である。
【図４９】学習装置による学習処理を説明するフローチャートである。
【図５０】タップ係数を学習する学習装置の第２実施の形態の構成例を示すブロック図である。
【図５１】タップ係数を学習する学習装置の第３実施の形態の構成例を示すブロック図である。
【図５２】シミュレーションにより得られた復号画像のＳ／Ｎを示す図である。
【図５３】シミュレーションにより得られた復号画像を示すディスプレイ上に表示された中間階調の写真である。
【図５４】予測タップ生成部１３１の第２の構成例を示すブロック図である。
【図５５】予測タップ生成部１３１が生成する予測タップのタップ構造を示す図である。
【図５６】予想タップ生成部１３１の処理を説明するフローチャートである。
【図５７】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図５８】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図５９】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図６０】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図６１】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図６２】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図６３】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図６４】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図６５】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図６６】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図６７】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図６８】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図６９】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図７０】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図７１】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図７２】注目ブロックの境界に空間的に隣接するブロック隣接画素を説明するための図である。
【図７３】予測タップ生成部１３１の第３の構成例を示すブロック図である。
【図７４】予測タップ生成部１３１の第４の構成例を示すブロック図である。
【図７５】画像処理装置２４０の処理を説明するための図である。
【図７６】予測タップ生成部１３１の第５の構成例を示すブロック図である。
【図７７】予測タップ生成部１３１の処理を説明するフローチャートである。
【図７８】予測タップ生成部１３１が生成する予測タップのタップ構造を示す図である。
【図７９】予測タップ生成部１３１の第６の構成例を示すブロック図である。
【図８０】予測タップ生成部１３１が生成する予測タップのタップ構造を示す図である。
【図８１】予測タップ生成部１３１の処理を説明するフローチャートである。
【図８２】予測タップ生成部１３１の第７の構成例を示すブロック図である。
【図８３】予測タップ生成部１３１が生成する予測タップのタップ構造を示す図である。
【図８４】予測タップ生成部１３１の処理を説明するフローチャートである。
【図８５】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
１  分離部，  ２  ＤＣＴ係数抽出／逆量子化部，  ４  動き補償部，  ５  画像メモリ，  １１  前処理部，  １２  バッファメモリ，  １３  クラス分類部，  １４  タップ係数記憶部，  １５  画像再構成部，  ２１  ＤＣＴ変換部，  ２２  周波数領域動き補償加算部，  ３１  １次元逆ＤＣＴ変換部，  ３２隣接１次元ＤＣＴ係数選択／変換部，  ３３  ＡＣパワー算出部，  ３４  ＡＣ内積計算部，  ３６，３７  クラスコード生成部，  ４１，４２  タップ係数選択部，  ４３，４４  係数メモリ，  ５１  適応処理部，  ５２  逆ＤＣＴ変換部，  ６１  サンプリング部，  ６２  ＤＣＴ部，  ７１  ＤＣＴ係数選択部，  ７２  加算部，  ７３  選択部，  ８０  制御部，  ８１  メモリ，  ８２垂直１次元逆ＤＣＴ変換部，  ８３  サンプリング部，  ８４  垂直１次元ＤＣＴ変換部，  ８５  選択部，  ９１  水平１次元ＤＣＴ係数抽出部，  ９２  垂直１次元ＤＣＴ係数抽出部，  ９３  水平ＡＣパワー計算部，  ９４  垂直ＡＣパワー計算部，  １０１  上内積用１次元ＤＣＴ係数抽出部，  １０２  下内積用１次元ＤＣＴ係数抽出部，  １０３  左内積用１次元ＤＣＴ係数抽出部，  １０４  右内積用１次元ＤＣＴ係数抽出部，  １０５  上内積演算部，  １０６下内積演算部，  １０７  左内積演算部，  １０８  右内積演算部，  １１１，１１２  比較部，  １１３  平坦性条件判定部，  １１４  連続性条件判定部，  １１５  境界部エッジ条件判定部，  １１６  クラスコード作成部，  １２１，１２２  比較部，  １２３  クラスコード作成部，  １３１  予測タップ生成部，  １３２  タップ係数バッファ，  １３３  積和演算部，  １３６  読み出し部，  １３７  配列部，  １４１  教師データストレージ，  １４２  生徒データ生成部，  １４３  生徒データストレージ，  １４４  予測タップ生成部，  １４５  クラス分類部，  １４６  足し込み部，  １４７  タップ係数演算部，  １５１  ＭＰＥＧエンコーダ，  １５２  分離部，  １５３  ＤＣＴ係数抽出／逆量子化部，  １７１  ＭＰＥＧエンコーダ，  １７２  分離部，  １７３  ＤＣＴ係数抽出／逆量子化部，  １７４  クラス分類部，  １７５  タップ係数記憶部，  １７６  適応処理部，  １７７  Ｉピクチャストレージ，  １７８  動き補償部，  １７９  画像メモリ，  １８０  ＤＣＴ変換部，  １８１  周波数領域動き補償加算部，  １９１  ＭＰＥＧエンコーダ，  １９２  分離部，  １９３  ＤＣＴ係数抽出／逆量子化部，  １９４  クラス分類部，  １９５タップ係数記憶部，  １９６  適応処理部，  １９７  Ｉピクチャストレージ，  １９８  動き補償部，  １９９  画像メモリ，  ２００  ＤＣＴ変換部，  ２０１  周波数領域動き補償加算部，  ２０２  クラス分類部，  ２０３  タップ係数記憶部，  ２０４  適応処理部，  ２０５  Ｐピクチャストレージ，  ２０６  動き補償部，  ２０７  画像メモリ，  ２０８  ＤＣＴ変換部，  ２０９周波数領域動き補償加算部，  ２２１  逆ＤＣＴ変換部，  ２２２  選択部，２３１  ＭＰＥＧデコーダ，  ２３２  バッファメモリ，  ２４０  画像処理装置，  ２４１  前処理部，  ２４２  バッファメモリ，  ２４３  クラス分類部，  ２４４  タップ係数記憶部，  ２４５  画像再構成部，  ２５１  適応処理部，  ２６１  １次元逆ＤＣＴ変換部，  ２６２  隣接１次元ＤＣＴ係数選択／��換部，  ４０１  バス，  ４０２  CPU，  ４０３  ROM，  ４０４  RAM，４０５  ハードディスク，  ４０６  出力部，  ４０７  入力部，  ４０８  通信部，  ４０９  ドライブ，  ４１０  入出力インタフェース，  ４１１  リムーバブル記録媒体
【図１】
0004154903.tif 000011
【図２】
0004154903.tif 000012
【図３】
0004154903.tif 000013
【図４】
0004154903.tif 000014
【図５】
0004154903.tif 000015
【図６】
0004154903.tif 000016
【図７】
0004154903.tif 000017
【図８】
0004154903.tif 000018
【図９】
0004154903.tif 000019
【図１０】
0004154903.tif 000020
【図１１】
0004154903.tif 000021
【図１２】
0004154903.tif 000022
【図１３】
0004154903.tif 000023
【図１４】
0004154903.tif 000024
【図１５】
0004154903.tif 000025
【図１６】
0004154903.tif 000026
【図１７】
0004154903.tif 000027
【図１８】
0004154903.tif 000028
【図１９】
0004154903.tif 000029
【図２０】
0004154903.tif 000030
【図２１】
0004154903.tif 000031
【図２２】
0004154903.tif 000032
【図２３】
0004154903.tif 000033
【図２４】
0004154903.tif 000034
【図２５】
0004154903.tif 000035
【図２６】
0004154903.tif 000036
【図２７】
0004154903.tif 000037
【図２８】
0004154903.tif 000038
【図２９】
0004154903.tif 000039
【図３０】
0004154903.tif 000040
【図３１】
0004154903.tif 000041
【図３２】
0004154903.tif 000042
【図３３】
0004154903.tif 000043
【図３４】
0004154903.tif 000044
【図３５】
0004154903.tif 000045
【図３６】
0004154903.tif 000046
【図３７】
0004154903.tif 000047
【図３８】
0004154903.tif 000048
【図３９】
0004154903.tif 000049
【図４０】
0004154903.tif 000050
【図４１】
0004154903.tif 000051
【図４２】
0004154903.tif 000052
【図４３】
0004154903.tif 000053
【図４４】
0004154903.tif 000054
【図４５】
0004154903.tif 000055
【図４６】
0004154903.tif 000056
【図４７】
0004154903.tif 000057
【図４８】
0004154903.tif 000058
【図４９】
0004154903.tif 000059
【図５０】
0004154903.tif 000060
【図５１】
0004154903.tif 000061
【図５２】
0004154903.tif 000062
【図５３】
0004154903.tif 000063
【図５４】
0004154903.tif 000064
【図５５】
0004154903.tif 000065
【図５６】
0004154903.tif 000066
【図５７】
0004154903.tif 000067
【図５８】
0004154903.tif 000068
【図５９】
0004154903.tif 000069
【図６０】
0004154903.tif 000070
【図６１】
0004154903.tif 000071
【図６２】
0004154903.tif 000072
【図６３】
0004154903.tif 000073
【図６４】
0004154903.tif 000074
【図６５】
0004154903.tif 000075
【図６６】
0004154903.tif 000076
【図６７】
0004154903.tif 000077
【図６８】
0004154903.tif 000078
【図６９】
0004154903.tif 000079
【図７０】
0004154903.tif 000080
【図７１】
0004154903.tif 000081
【図７２】
0004154903.tif 000082
【図７３】
0004154903.tif 000083
【図７４】
0004154903.tif 000084
【図７５】
0004154903.tif 000085
【図７６】
0004154903.tif 000086
【図７７】
0004154903.tif 000087
【図７８】
0004154903.tif 000088
【図７９】
0004154903.tif 000089
【図８０】
0004154903.tif 000090
【図８１】
0004154903.tif 000091
【図８２】
0004154903.tif 000092
【図８３】
0004154903.tif 000093
【図８４】
0004154903.tif 000094
【図８５】
0004154903.tif 000095