(57)【特許請求の範囲】
【請求項１】
画像データを、少なくとも２次元ＤＣＴ(Discrete Cosine Transform)変換して得られる２次元ＤＣＴ係数を含む符号化データを復号する画像処理装置であって、
前記符号化データは、前記画像データを、所定のブロック単位で２次元ＤＣＴ変換した前記２次元ＤＣＴ係数を含み、
前記２次元ＤＣＴ係数を、１次元逆ＤＣＴ変換することにより、１次元ＤＣＴ係数を求める１次元逆ＤＣＴ変換手段と、
前記画像データを構成する画素のうちの注目している画素である注目画素を含むブロックである注目ブロックにおける前記注目画素の位置に対応する前記１次元ＤＣＴ係数から求められる特徴量と、前記注目ブロックにおける、前記注目ブロックに隣接するブロックである隣接ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数、および、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数から求められる特徴量とを含むコードを、前記注目画素のクラスコードとして出力することで、前記注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行うクラス分類手段と、
所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記２次元ＤＣＴ係数を２次元逆ＤＣＴ変換して得られる画素値のうちの、前記注目画素の近傍位置にある幾つかの画素値の集合との前記積和演算を行うことにより、前記注目画素の画素値を求めること、
所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記２次元ＤＣＴ係数のうちの、前記注目画素の近傍位置に対応する幾つかの２次元ＤＣＴ係数を含む係数の集合との前記積和演算を行うことにより、前記注目画素に対する新たな２次元ＤＣＴ係数を求め、その新たな２次元ＤＣＴ係数を２次元逆ＤＣＴ変換して前記注目画素の画素値を求めること、
および、所定の積和演算に用いられる係数である演算係数であり、所定の学習によって得られるクラスごとの演算係数のうちの、前記注目画素のクラスに対応するものと、前記２次元ＤＣＴ係数のうちの、前記注目画素の近傍位置に対応する幾つかの２次元ＤＣＴ係数を含む係数の集合との前記積和演算を行うことにより、前記注目画素の画素値を求めること
のうちのいずれかにより、前記符号化データを復号する処理手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記１次元逆ＤＣＴ変換手段は、前記注目ブロックの２次元ＤＣＴ係数を、水平方向の空間周波数成分を表す水平１次元ＤＣＴ係数と、垂直方向の空間周波数成分を表す垂直１次元ＤＣＴ係数に変換し、
前記クラス分類手段は、前記注目ブロックの水平１次元ＤＣＴ係数のうちの、前記注目画素の位置に対応するものと、前記注目ブロックの垂直１次元ＤＣＴ係数のうちの、前記注目画素の位置に対応するものとに基づいて、前記注目画素のクラス分類を行う
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記注目ブロックにおける前記注目画素の位置に対応する前記水平１次元ＤＣＴ係数の交流成分の自乗和と、垂直１次元ＤＣＴ係数の交流成分の自乗和とを、それぞれの交流成分のパワーとして求めるパワー算出手段をさらに備え、
前記クラス分類手段は、前記交流成分のパワーに基づいて、前記注目画素のクラス分類を行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記クラス分類手段は、前記注目ブロックにおける前記１次元ＤＣＴ係数から、前記注目画素のアクティビティを求め、そのアクティビティに基づいて、前記注目画素のクラス分類を行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記クラス分類手段は、前記１次元ＤＣＴ係数の交流成分の自乗和を、前記アクティビティとして求める
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記クラス分類手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数と、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数とに基づいて、前記注目画素のクラス分類を行う
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記クラス分類手段は、前記注目ブロックと空間上において隣接するブロックを、前記隣接ブロックとして、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数と、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数とに基づいて、前記注目画素のクラス分類を行う
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記符号化データは、前記画像データをＭＰＥＧ(Moving Picture xperts Group)符号化したものであり、
前記注目ブロックを含むマクロブロックである注目マクロブロックのＤＣＴタイプと、前記注目マクロブロックに隣接するマクロブロックのＤＣＴタイプによって、前記注目ブロックの構造と前記隣接ブロックの構造を認識し、前記注目ブロックの構造を基準として、空間領域において、前記注目ブロックに隣接する前記隣接ブロックの画素列を１次元ＤＣＴ変換することにより、前記注目ブロックと空間上において隣接する前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数を取得する隣接１次元ＤＣＴ係数取得手段をさらに備える
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記クラス分類手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数の交流成分のパワーと、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数の交流成分のパワーとに基づいて、前記注目画素のクラス分類を行う
ことを特徴とする請求項６に記載の画像処理装置。
【請求項１０】
前記クラス分類手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数の直流成分と、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数の直流成分とに基づいて、前記注目画素のクラス分類を行う
ことを特徴とする請求項６に記載の画像処理装置。
【請求項１１】
前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数をコンポーネントとするベクトルと、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数をコンポーネントとするベクトルとの内積を求める内積演算手段をさらに備え、
前記クラス分類手段は、前記注目ブロックと隣接ブロックの前記１次元ＤＣＴ係数から求められる内積に基づいて、前記注目画素のクラス分類を行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項１２】
前記注目ブロックにおける前記１次元ＤＣＴ係数と、前記隣接ブロックにおける前記１次元ＤＣＴ係数と、所定の閾値とからなる所定の平坦性条件を表す式が満たされるか否かにより、前記注目ブロックと隣接ブロックとの間の平坦性を判定する平坦性判定手段をさらに備え、
前記クラス分類手段は、前記注目ブロックと隣接ブロックとの間の平坦性に基づいて、前記注目画素のクラス分類を行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項１３】
前記平坦性判定手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数の交流成分のパワーと、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数の交流成分のパワーとに基づいて、前記注目ブロックと隣接ブロックとの間の平坦性を判定する
ことを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記平坦性判定手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数の直流成分と、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数の直流成分に基づいて、前記注目ブロックと隣接ブロックとの間の平坦性を判定する
ことを特徴とする請求項１２に記載の画像処理装置。
【請求項１５】
前記注目ブロックにおける前記１次元ＤＣＴ係数と、前記隣接ブロックにおける前記１次元ＤＣＴ係数と、所定の閾値とからなる所定の連続性条件を表す式が満たされるか否かにより、前記注目ブロックと隣接ブロックとの間の連続性を判定する連続性判定手段をさらに備え、
前記クラス分類手段は、前記注目ブロックと隣接ブロックとの間の連続性に基づいて、前記注目画素のクラス分類を行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項１６】
前記連続性判定手段は、前記注目ブロックにおける、前記隣接ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数をコンポーネントとするベクトルと、前記隣接ブロックにおける、前記注目ブロックに隣接する位置に対応する前記１次元ＤＣＴ係数をコンポーネントとするベクトルとの内積に基づいて、前記注目ブロックと隣接ブロックとの間の連続性を判定する
ことを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
前記画像データは、カラーの画像データであり、
前記クラス分類手段は、輝度信号の画素と、色信号の画素とを別にクラス分類する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１８】
前記クラス分類手段は、前記輝度信号の画素のクラス分類の結果を用いて、前記色信号の画素のクラス分類を行う
ことを特徴とする請求項１７に記載の画像処理装置。
【請求項１９】
前記符号化データは、前記画像データをＭＰＥＧ(Moving Picture Experts Group)符号化したものであり、
前記クラス分類手段は、輝度信号のマクロブロックを構成するブロックの画素のクラス分類の結果を用いて、対応する色信号のマクロブロックを構成するブロックの画素のクラス分類を行う
ことを特徴とする請求項１７に記載の画像処理装置。
【請求項２０】
前記処理手段は、前記符号化データに含まれる前記２次元ＤＣＴ係数を、画素値に変換する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項２１】
前記処理手段は、
所定の学習によって得られるクラスごとの演算係数のうちの、注目している画素である注目画素のクラスに対応するものを取得する取得手段と、
前記取得手段によって取得された前記演算係数との前記積和演算に用いる係数の集合を、前記２次元ＤＣＴ係数から生成する係数集合生成手段と、
前記注目画素のクラスの演算係数と、前記画素値の集合との前記積和演算を行うことにより、前記注目画素の画素値を求める予測演算手段と
を有する
ことを特徴とする請求項２０に記載の画像処理装置。
【請求項２２】
前記演算係数は、前記２次元ＤＣＴ係数と演算係数との前記積和演算を行うことにより得られる前記注目画素の画素値の予測値の予測誤差が統計的に最小になるように学習を行うことにより求められたものである
ことを特徴とする請求項２１に記載の画像処理装置。
【請求項２３】
前記符号化データは、前記画像データを、所定のブロック単位で２次元ＤＣＴ変換した前記２次元ＤＣＴ係数を含み、
前記係数集合生成手段は、前記注目画素を含むブロックである注目ブロックの前記２次元ＤＣＴ係数すべてを用いて、前記係数の集合を生成する
ことを特徴とする請求項２１に記載の画像処理装置。
【請求項２４】
前記取得手段は、前記注目画素のクラスについて、前記ブロックにおける画素の位置ごとの演算係数を取得し、
前記予測演算手段は、前記注目画素のクラスの、その注目画素の注目ブロックにおける位置に対応する演算係数を用いて、前記積和演算を行う
ことを特徴とする請求項２３に記載の画像処理装置。
【請求項２５】
前記係数集合生成手段は、前記注目ブロックに隣接するブロックである隣接ブロックの情報をも用いて、前記係数の集合を生成する
ことを特徴とする請求項２３に記載の画像処理装置。
【請求項２６】
前記係数集合生成手段は、前記隣接ブロックの２次元ＤＣＴ係数または１次元ＤＣＴ係数をも用いて、前記係数の集合を生成する
ことを特徴とする請求項２５に記載の画像処理装置。
【請求項２７】
前記処理手段は、
所定の学習によって得られるクラスごとの演算係数のうちの、注目している画素である注目画素のクラスに対応するものを取得する取得手段と、
前記取得手段によって取得された前記演算係数との前記積和演算に用いる係数の集合を、前記２次元ＤＣＴ係数から生成する係数集合生成手段と、
前記注目画素のクラスの演算係数と、前記係数の集合との前記積和演算を行うことにより、前記注目画素に対する新たな２次元ＤＣＴ係数を求める予測演算手段と、
前記新たな２次元ＤＣＴ係数を、２次元逆ＤＣＴ変換することにより、前記注目画素の画素値を求める２次元逆ＤＣＴ変換手段と
を有する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項２８】
前記演算係数は、前記２次元ＤＣＴ係数と演算係数の前記積和演算を行うことにより得られる前記注目画素に対する新たな２次元ＤＣＴ係数の予測値の予測誤差が統計的に最小になるように学習を行うことにより求められたものである
ことを特徴とする請求項２７に記載の画像処理装置。
【請求項２９】
前記符号化データは、前記画像データを、所定のブロック単位で２次元ＤＣＴ変換した前記２次元ＤＣＴ係数を含み、
前記係数集合生成手段は、前記注目画素を含むブロックである注目ブロックの前記２次元ＤＣＴ係数すべてを用いて、前記係数の集合を生成する
ことを特徴とする請求項２７に記載の画像処理装置。
【請求項３０】
前記取得手段は、前記注目画素のクラスについて、前記ブロックにおける画素の位置ごとの演算係数を取得し、
前記予測演算手段は、前記注目画素のクラスの、その注目画素の注目ブロックにおける位置に対応する演算係数を用いた前記積和演算を行う
ことを特徴とする請求項２９に記載の画像処理装置。
【請求項３１】
前記係数集合生成手段は、前記注目ブロックに隣接するブロックである隣接ブロックの情報をも用いて、前記係数の集合を生成する
ことを特徴とする請求項２９に記載の画像処理装置。
【請求項３２】
前記係数集合生成手段は、前記隣接ブロックの２次元ＤＣＴ係数または１次元ＤＣＴ係数をも用いて、前記係数の集合を生成する
ことを特徴とする請求項３１に記載の画像処理装置。
【請求項３３】
前記符号化データを、前記画像データに復号する復号手段と、
前記復号手段により復号された前記画像データを、２次元ＤＣＴ変換することにより、２次元ＤＣＴ係数を求める２次元ＤＣＴ変換手段と
をさらに備え、
前記１次元逆ＤＣＴ変換手段は、前記２次元ＤＣＴ変換手段が出力する前記２次元ＤＣＴ係数を、１次元逆ＤＣＴ変換することにより、１次元ＤＣＴ係数を求め、
前記クラス分類手段は、前記１次元ＤＣＴ係数に基づいて、前記画像データを構成する画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類を行い、
前記処理手段は、前記クラス分類手段によるクラス分類の結果得られるクラスごとに、前記符号化データから復号された前記画像データを処理する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３４】
前記処理手段は、
所定の学習によって得られるクラスごとの演算係数のうちの、注目している画素である注目画素のクラスに対応するものを取得する取得手段と、
前記取得手段によって取得された前記演算係数との前記積和演算に用いる画素値の集合を、前記復号手段が出力する前記画像データを構成する画素から生成する画素値集合生成手段と、
前記注目画素のクラスの演算係数と、前記画素値の集合との前記積和演算を行うことにより、前記注目画素の画素値を求める予測演算手段と
を有する
ことを特徴とする請求項３３に記載の画像処理装置。
【請求項３５】
前記演算係数は、前記画素値の集合と演算係数との前記積和演算を行うことにより得られる前記注目画素の画素値の予測値の予測誤差が統計的に最小になるように学習を行うことにより求められたものである
ことを特徴とする請求項３４に記載の画像処理装置。
【請求項３６】
前記符号化データは、前記画像データを、所定のブロック単位で２次元ＤＣＴ変換した前記２次元ＤＣＴ係数を含み、
前記画素値集合生成手段は、前記注目画素を含むブロックである注目ブロックの画素すべてを用いて、前記画素値の集合を生成する
ことを特徴とする請求項３４に記載の画像処理装置。
【請求項３７】
前記取得手段は、前記注目画素のクラスについて、前記ブロックにおける画素の位置ごとの演算係数を取得し、
前記予測演算手段は、前記注目画素のクラスの、その注目画素の注目ブロックにおける位置に対応する演算係数を用いた前記積和演算を行う
ことを特徴とする請求項３６に記載の画像処理装置。
【請求項３８】
前記画素値集合生成手段は、前記注目ブロックに隣接するブロックである隣接ブロックの情報をも用いて、前記画素値の集合を生成する
ことを特徴とする請求項３６に記載の画像処理装置。
【請求項３９】
前記画素値集合生成手段は、前記隣接ブロックの２次元ＤＣＴ係数または１次元ＤＣＴ係数をも用いて、前記画素値の集合を生成する
ことを特徴とする請求項３８に記載の画像処理装置。
【請求項４０】
前記符号化データは、前記画像データから、その予測画像を減算して得られる残差画像を２次元ＤＣＴ変換した２次元ＤＣＴ係数を含み、
前記処理手段が前記符号化データを処理することにより得られる、前記画像データの復号画像から、前記予測画像を生成する予測画像生成手段と、
前記予測画像を２次元ＤＣＴ変換し、２次元ＤＣＴ係数を出力する２次元ＤＣＴ変換手段と、
前記残差画像の２次元ＤＣＴ係数と、対応する前記予測画像の２次元ＤＣＴ係数とを加算し、元の画像の２次元ＤＣＴ係数を求める加算手段と
をさらに備え、
前記１次元逆ＤＣＴ変換手段は、前記元の画像の２次元ＤＣＴ係数を、１次元ＤＣＴ係数に変換する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４１】
前記予測画像生成手段は、前記画像データの復号画像を参照画像として、動き補償を施すことにより、前記予測画像を生成する
ことを特徴とする請求項４０に記載の画像処理装置。
【請求項４２】
画像データを、少なくとも２次元ＤＣＴ(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，・・・の線形結合により規定される線形１次結合モデルにより求めることを考える。この場合、予測値Ｅ［ｙ］は、次式で表すことができる。
【００８２】
0004154902.tif 000002
【００８３】
式（１）を一般化するために、タップ係数ｗjの集合でなる行列Ｗ、生徒データｘijの集合でなる行列Ｘ、および予測値Ｅ［ｙj］の集合でなる行列Ｙ’を、
【数１】
0004154902.tif 000003
で定義すると、次のような観測方程式が成立する。
【００８４】
ＸＷ＝Ｙ’・・・（２）
【００８５】
ここで、行列Ｘの成分ｘijは、ｉ件目の生徒データの集合（ｉ件目の教師データｙiの予測に用いる生徒データの集合）（予測タップ）の中のｊ番目の生徒データを意味し、行列Ｗの成分ｗjは、生徒データの集合の中のｊ番目の生徒データとの積が演算されるタップ係数を表す。また、ｙiは、ｉ件目の教師データを表し、従って、Ｅ［ｙi］は、ｉ件目の教師データの予測値を表す。なお、式（１）の左辺におけるｙは、行列Ｙの成分ｙiのサフィックスｉを省略したものであり、また、式（１）の右辺におけるｘ1，ｘ2，・・・も、行列Ｘの成分ｘijのサフィックスｉを省略したものである。
【００８６】
式（２）の観測方程式に最小自乗法を適用して、元の画素値ｙに近い予測値Ｅ［ｙ］を求めることを考える。この場合、教師データとなる真の画素値ｙの集合でなる行列Ｙ、および画素値ｙに対する予測値Ｅ［ｙ］の残差ｅの集合でなる行列Ｅを、
【数２】
0004154902.tif 000004
で定義すると、式（２）から、次のような残差方程式が成立する。
【００８７】
ＸＷ＝Ｙ＋Ｅ・・・（３）
【００８８】
この場合、元の画素値ｙに近い予測値Ｅ［ｙ］を求めるためのタップ係数ｗjは、自乗誤差
【数３】
0004154902.tif 000005
を最小にすることで求めることができる。
【００８９】
従って、上述の自乗誤差をタップ係数ｗjで微分したものが０になる場合、即ち、次式を満たすタップ係数ｗjが、元の画素値ｙに近い予測値Ｅ［ｙ］を求めるため最適値ということになる。
【００９０】
【数４】
0004154902.tif 000006
・・・（４）
【００９１】
そこで、まず、式（３）を、タップ係数ｗjで微分することにより、次式が成立する。
【００９２】
【数５】
0004154902.tif 000007
・・・（５）
【００９３】
式（４）および（５）より、式（６）が得られる。
【００９４】
【数６】
0004154902.tif 000008
・・・（６）
【００９５】
さらに、式（３）の残差方程式における生徒データｘij、タップ係数ｗj、教師データｙi、および残差ｅiの関係を考慮すると、式（６）から、次のような正規方程式を得ることができる。
【００９６】
【数７】
0004154902.tif 000009
・・・（７）
【００９７】
なお、式（７）に示した正規方程式は、行列（共分散行列）Ａおよびベクトルｖを、
【数８】
0004154902.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を定義するｃｏｓ（（２ｊ＋１）×ｉ×π／１６）の位相という形で考慮される。
【０５４１】
一方、適応処理では、予測タップを構成するＤＣＴ係数と、タップ係数とを用いた式（１）の線形１次予測演算が行われるが、この線形１次予測演算では、復号しようとしている画素（注目画素）の位置情報が考慮されない。そこで、注目画素の位置情報を考慮した線形１次予測演算を行うために、ここでは、注目画素の位置によって異なるタップ係数が用いられるようになっている。即ち、同一のクラスに分類される画素であっても、ブロックの位置が異なる場合には、異なるタップ係数を用いて、線形１次予測演算が行われるようになっている。この場合、線形１次予測演算に用いるタップ係数が、ブロックにおける注目画素の位置によって切り替えられることとなるが、この注目画素の位置を表す情報が、画素位置モードである。
【０５４２】
いまの場合、ブロックは８×８画素で構成されるから、６４カ所の位置が存在し、ここでは、例えば、ラスタスキャン順で、ｉ番目の位置を、画素位置モード＃ｉと表すこととする。
【０５４３】
その後、画素位置モード＃ｉの画素が注目画素とされ、クラス分類部１３（図２）において、その注目画素についてクラス分類が行われることにより、タップ係数記憶部１４から、注目画素のクラスコードに対応するタップ係数が供給されてくるのを待って、ステップＳ１０３に進む。
【０５４４】
ステップＳ１０３では、タップ係数記憶部１４からのタップ係数が、タップ係数バッファ１３２に供給されて記憶される。
【０５４５】
ここで、上述のように、同一のクラスに分類される画素であっても、ブロックにおける位置（画素位置モード）が異なる場合には、異なるタップ係数が用いられる。従って、タップ係数記憶部１４からは、注目画素のクラスのタップ係数として、画素位置モードの総数である６４セットのタップ係数が供給されるようになっており、タップ係数バッファ１３２は、そのような６４セットのタップ係数を記憶する。
【０５４６】
その後、ステップＳ１０４に進み、積和演算部１３３は、画素位置モード＃ｉに対応するタップ係数のセット（式（１）におけるｗ１，ｗ２，・・・）を、タップ係数バッファ１３２から読み出し、ステップＳ１０５に進む。
【０５４７】
ステップＳ１０５では、積和演算部１３３は、予測タップ生成部１３１からの予測タップと、タップ係数バッファ１３２から読み出したタップ係数とを用いて、式（１）の線形１次予測演算を行い、これにより、注目画素の画素値を復号する。
【０５４８】
そして、ステップＳ１０６に進み、積和演算部１３３は、画素位置モード＃ｉが、注目ブロックの画素数である６４（＝８×８）に等しいかどうかを判定する。
【０５４９】
ステップＳ１０６において、画素位置モード＃ｉが６４に等しくないと判定された場合、ステップＳ１０７に進み、積和演算部１３３は、画素位置モード＃ｉを１だけインクリメントして、ステップＳ１０３に戻り、以下、同様の処理が繰り返される。
【０５５０】
また、ステップＳ１０６において、画素位置モード＃ｉが６４に等しいと判定された場合、即ち、注目ブロックのすべての画素値を復号した場合、処理を終了する。
【０５５１】
なお、適応処理部５１では、バッファメモリ１２（図２）に記憶されるブロックを、順次、注目ブロックとして、図４３の適応処理を繰り返し行う。
【０５５２】
また、積和演算部１３３は、１フレーム（またはフィールド）の復号画像を得るまでは、復号したブロックを一時記憶しており、１フレームの復号画像が得られると、その１フレームの復号画像を出力する。
【０５５３】
ここで、ＭＰＥＧ符号化では、８ビットの画像データを符号化する場合、画素値および２次元ＤＣＴ係数を、０を中心とした正側と負側に均等に分布させるため、原画像の画素値から１２８（＝２7）を減算して得られる画素値が符号化される。
【０５５４】
このため、積和演算部１３３では、復号画像として、各画素値のレベルが、１２８だけ低いものが得られる。そこで、積和演算部１３３は、復号画像の各画素値に、１２８を加算して出力するようになっている。
【０５５５】
次に、図２の係数メモリ４３および４４に記憶させるタップ係数の学習について説明する。
【０５５６】
ＭＰＥＧでは、予測方式の違いにより、Ｉピクチャ、Ｐピクチャ、Ｂピクチャの３つのピクチャタイプがあるので、タップ係数の学習も、ピクチャタイプごとに行われる。
【０５５７】
図４４は、Ｉピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。
【０５５８】
教師データストレージ１４１は、学習用の画像データを、教師データとして記憶している。
【０５５９】
生徒データ生成部１４２は、ＭＰＥＧエンコーダ１５１、分離部１５２、およびＤＣＴ係数抽出／逆量子化部１５３から構成され、教師データストレージ１４１に記憶された学習用の画像データ（ここでは、教師データでもある）から、生徒データを生成するようになっている。
【０５６０】
即ち、ＭＰＥＧエンコーダ１５１は、教師データストレージ１４１に記憶された学習用の画像データを読み出して、ＭＰＥＧ符号化し、その結果得られる符号化データを、分離部１５２に供給する。分離部１５２とＤＣＴ係数抽出／逆量子化部１５３は、図２の分離部１とＤＣＴ係数抽出／逆量子化部２とそれぞれ同様に構成されており、符号化データから、量子化ＤＣＴ係数を分離、抽出し、逆量子化して出力する。
【０５６１】
なお、分離部１５２およびＤＣＴ係数抽出／逆量子化部１５３は、Ｉピクチャのみを対象に処理を行う。また、分離部１５２は、符号化データから、量子化ＤＣＴ係数の他、量子化スケールやＤＣＴタイプ等の、いわゆるサイドインフォメーションも、必要に応じて分離する。
【０５６２】
従って、ＤＣＴ係数抽出／逆量子化部１５３からは、Ｉピクチャについての２次元ＤＣＴ係数の他、ＤＣＴタイプ等の必要なサイドインフォメーションも出力される。
【０５６３】
ＤＣＴ係数抽出／逆量子化部１５３が出力するＩピクチャについての２次元ＤＣＴ係数やＤＣＴタイプ等は、生徒データとして、生徒データストレージ１４３に供給される。
【０５６４】
生徒データストレージ１４３は、生徒データ生成部１４２（のＤＣＴ係数抽出／逆量子化部１５３）から供給される生徒データを記憶する。
【０５６５】
予測タップ生成部１４４は、生徒データストレージ１４３に記憶された生徒データから、図４２の予測タップ生成部１３１が生成するのと同一の予測タップを生成し、足し込み部１４６に供給する。従って、ここでは、予測タップ生成部１４４は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のうち、注目ブロックを構成するすべての２次元ＤＣＴ係数を読み出して、予測タップとする。
【０５６６】
なお、図４２の予測タップ生成部１３１が注目ブロックの２次元ＤＣＴ係数の他、注目ブロックに隣接するブロックの２次元ＤＣＴ係数や１次元ＤＣＴ係数、注目ブロックの１次元ＤＣＴ係数等を用いて予測タップを生成する場合には、予測タップ生成部１４４も、注目ブロックの２次元ＤＣＴ係数の他、注目ブロックに隣接する２次元ＤＣＴ係数や１次元ＤＣＴ係数、注目ブロックの１次元ＤＣＴ係数等を用いて、予測タップ生成部１３１が生成するのと同一構造の予測タップを生成する。この場合、予測タップ生成部１４４では、注目ブロックに隣接するブロックの２次元ＤＣＴ係数は、生徒データストレージ１４３から取得され、注目ブロックとそれに隣接するブロックの１次元ＤＣＴ係数は、後述するクラス分類部１４５から取得される。
【０５６７】
クラス分類部１４５は、図２のクラス分類部１３と同様にされ、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数から１次元ＤＣＴ係数を求め、さらに、その１次元ＤＣＴ係数に基づき、図２のクラス分類部１３における場合と同様にして、注目ブロックにおける注目画素をクラス分類し、注目画素のクラスを表すクラスコードを、足し込み部１４６に出力する。
【０５６８】
足し込み部１４６は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のブロックを、順次、注目ブロックとし、さらに、注目ブロックの画素を、順次、注目画素として、予測タップ生成部１４４からの生徒データとしての予測タップ（を構成する２次元ＤＣＴ係数）、および注目画素を対象とした足し込みを行う。
【０５６９】
即ち、足し込み部１４６は、クラス分類部１４５から供給されるクラスコードに対応するクラスごとに、予測タップ（生徒データ）を用い、式（８）の行列Ａにおける各コンポーネントとなっている、生徒データどうしの乗算（ｘinｘim）と、サメーション（Σ）に相当する演算を行う。
【０５７０】
さらに、足し込み部１４６は、やはり、クラス分類部１４５から供給されるクラスコードに対応するクラスごとに、予測タップ（生徒データ）および注目画素（教師データ）を用い、式（８）のベクトルｖにおける各コンポーネントとなっている、生徒データと教師データの乗算（ｘinｙi）と、サメーション（Σ）に相当する演算を行う。
【０５７１】
なお、足し込み部１４６における、上述のような足し込みは、各クラスについて、注目画素に対する画素位置モードごとに行われる。
【０５７２】
足し込み部１４６は、以上の足し込みを、生徒データストレージ１４３に記憶されている生徒データとしての２次元ＤＣＴ係数を構成するブロックすべてを注目ブロックとして行い、これにより、各クラスについて、画素位置モードごとに、式（８）に示した正規方程式をたてる。
【０５７３】
タップ係数演算部１４７は、足し込み部１４６においてクラスごとに、かつ、画素位置モードごとに生成された各正規方程式を解くことにより、クラスごとに、６４の画素位置モードに対応した６４セットのタップ係数を求める。
【０５７４】
なお、学習用の画像として用意する画像の枚数や、その画像の内容等によっては、足し込み部１４６において、タップ係数を求めるのに必要な数の正規方程式が得られないクラス、さらには画素位置モードが生じる場合があり得るが、タップ係数演算部１４７は、そのようなクラスや画素位置モードについては、例えば、デフォルトのタップ係数を出力する。
【０５７５】
次に、図４５のフローチャートを参照して、図４４の学習装置の処理（学習処理）について説明する。
【０５７６】
まず最初に、ステップＳ１１１において、生徒データ生成部１４２は、上述したように、教師データストレージ１４１に記憶された学習用の画像データから、Ｉピクチャについての生徒データを生成し、生徒データストレージ１４３に供給して記憶させる。
【０５７７】
そして、ステップＳ１１２に進み、足し込み部１４６は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のブロックのうち、まだ、注目ブロックとしていないものの１つを選択して、注目ブロックとし、ステップＳ１１３に進む。
【０５７８】
ステップＳ１１３では、予測タップ生成部１４４が、注目ブロックの生徒データとしての２次元ＤＣＴ係数すべてを、生徒データストレージ１４３から読み出すことにより、予測タップを生成し、ステップＳ１１４に進む。
【０５７９】
ステップＳ１１４では、足し込み部１４６が、画素位置モードを表す変数ｉを、例えば１に初期化し、ステップＳ１１５に進む。ステップＳ１１５では、クラス分類部１４５が、注目ブロックにおける画素位置モード＃ｉが表す位置の画素を注目画素として、図２のクラス分類部１３における場合と同様にして、注目画素のクラス分類を行い、その結果得られるクラスコードを、足し込み部１４６に出力する。
【０５８０】
足し込み部１４６は、ステップＳ１１６において、教師データストレージ１４１から、注目画素となっている教師データ（画素値）を読み出し、生徒データとしての予測タップ（を構成する２次元ＤＣＴ係数）、および教師データとしての注目画素を対象として、式（８）の行列Ａとベクトルｖの、上述したような足し込みを行う。なお、この足し込みは、クラス分類部１４５からのクラスコードに対応するクラスごとに、かつ注目画素に対する画素位置モード＃ｉごとに行われる。
【０５８１】
そして、ステップＳ１１７に進み、足し込み部１４６は、画素位置モード＃ｉが、注目ブロックの画素数である６４に等しいかどうかを判定する。
【０５８２】
ステップＳ１１７において、画素位置モード＃ｉが６４に等しくないと判定された場合、ステップＳ１１８に進み、足し込み部１４６は、画素位置モード＃ｉを１だけインクリメントして、ステップＳ１１５に戻り、以下、同様の処理が繰り返される。
【０５８３】
また、ステップＳ１１７において、画素位置モード＃ｉが６４に等しいと判定された場合、即ち、注目ブロックのすべての画素を注目画素として足し込みを行った場合、ステップＳ１１９に進み、足し込み部１４６は、生徒データストレージ１４３に記憶された生徒データとしての２次元ＤＣＴ係数のブロックのうち、まだ、注目ブロックとしていないもの（以下、適宜、未処理ブロックという）があるかどうかを判定する。
【０５８４】
ステップＳ１１９において、未処理ブロックがあると判定された場合、ステップＳ１１２に戻り、その未処理ブロックの中から、新たに注目ブロックとするものが選択され、以下、同様の処理が繰り返される。
【０５８５】
また、ステップＳ１１９において、未処理ブロックがないと判定された場合、即ち、足し込み部１４６において、各クラスについて、画素位置モードごとの正規方程式が得られた場合、ステップＳ１２０に進み、タップ係数演算部１４７は、各クラスの画素位置モードごとに生成された正規方程式を解くことにより、各クラスごとに、そのクラスの６４の画素位置モードそれぞれに対応する６４セットのタップ係数を求め、学習処理を終了する。
【０５８６】
次に、図４６は、Ｐピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。なお、図中、図４４における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図４６の学習装置は、生徒データ生成部１５１に代えて、生徒データ生成部１６２が設けられている他は、図４４における場合と基本的に同様に構成されている。
【０５８７】
ここで、Ｐピクチャは、時間的に先行して復号（符号化）されるＩまたはＰピクチャを参照画像として予測符号化（ノンイントラ符号化）されるため、即ち、原画像から予測画像を減算した残差画像が２次元ＤＣＴ変換されるため、図２の画像処理装置では、前処理部１１において、先に復号されたＩまたはＰピクチャに動き補償を施し、その結果得られる予測画像の２次元ＤＣＴ係数と、残差画像の２次元ＤＣＴ係数とを加算した後に、適応処理部５１において、適応処理を施すようになっている。
【０５８８】
従って、Ｐピクチャ用のタップ係数の学習においては、残差画像の２次元ＤＣＴ係数に、予測画像の２次元ＤＣＴ係数を加算したものを、生徒データとして用いる必要がある。
【０５８９】
ところで、Ｐピクチャの予測画像は、先に復号されたＩまたはＰピクチャを参照画像として、その参照画像に、動き補償が施されることで得ることができるが、いまの場合、Ｐピクチャのタップ係数を学習しようとしているので、Ｐピクチャ用のタップ係数は存在しない。
【０５９０】
一方、Ｉピクチャ用のタップ係数は、図４４の学習装置において、あらかじめ求めておくことができる。
【０５９１】
そこで、図４６の学習装置では、生徒データ生成部１６２において、Ｉピクチャを参照画像として予測符号化されるＰピクチャのブロックについて、生徒データが生成されるようになっている。
【０５９２】
即ち、ＭＰＥＧエンコーダ１７１は、教師データストレージ１４１に記憶された学習用の画像データを読み出して、ＭＰＥＧ符号化し、その結果得られる符号化データを、分離部１７２に供給する。分離部１７２とＤＣＴ係数抽出／逆量子化部１７３は、図２の分離部１とＤＣＴ係数抽出／逆量子化部２とそれぞれ同様に構成されており、符号化データから、量子化ＤＣＴ係数を分離、抽出し、逆量子化する。
【０５９３】
なお、分離部１７２およびＤＣＴ係数抽出／逆量子化部１７３は、Ｉピクチャと、Ｐピクチャの予測符号化されたブロックのみを対象に処理を行う。また、分離部１７２は、符号化データから、量子化ＤＣＴ係数の他、量子化スケールやＤＣＴタイプや動きベクトル等のサイドインフォメーションも、必要に応じて分離する。
【０５９４】
ＤＣＴ係数抽出／逆量子化部１７３は、Ｉピクチャの２次元ＤＣＴ係数を得た場合、そのＩピクチャの２次元ＤＣＴ係数を、クラス分類部１７４および適応処理部１７６に供給する。
【０５９５】
また、ＤＣＴ係数抽出／逆量子化部１７３は、Ｐピクチャの予測符号化されたブロックの２次元ＤＣＴ係数、即ち、残差画像の２次元ＤＣＴ係数を得た場合、その残差画像の２次元ＤＣＴ係数を、周波数領域動き補償加算部１８１に供給する。
【０５９６】
さらに、ＤＣＴ係数抽出／逆量子化部１７３は、Ｐピクチャの予測符号化されたブロックの動きベクトルを得た場合、その動きベクトルを、動き補償部１７８に供給する。
【０５９７】
クラス分類部１７４は、ＤＣＴ係数抽出／逆量子化部１７３から供給されるＩピクチャのブロックの画素を、順次、注目画素として、その注目画素について、図２のクラス分類部１３における場合と同様にしてクラス分類を行い、その結果得られるクラスコードを、タップ係数記憶部１７５に供給する。タップ係数記憶部１７５は、図４４の学習装置で得られたＩピクチャ用のタップ係数を記憶しており、図２のタップ係数記憶部１４と同様に、クラス分類部１７４から供給されるクラスコードに対応するタップ係数を取得して、適応処理部１７６に供給する。
【０５９８】
適応処理部１７６は、図２の適応処理部５１と同様に、ＤＣＴ係数抽出／逆量子化部１７３から供給される、注目画素を含むブロックの２次元ＤＣＴ係数すべてを予測タップとして、その予測タップと、タップ係数記憶部１７５から供給されるタップ係数とを用いた線形１次予測演算、即ち、適応処理を行う。
【０５９９】
適応処理部１７６において適応処理が行われることにより得られるＩピクチャの復号画像は、Ｉピクチャストレージ１７７に供給されて記憶される。
【０６００】
その後、動き補償部１７８は、ＤＣＴ係数抽出／逆量子化部１７３から供給される動きベクトルによって動き補償を施すべき参照画像としてのＩピクチャを、Ｉピクチャストレージ１７７から読み出し、そのＩピクチャに動き補償を施すことで、予測画像を生成する。この予測画像は、画像メモリ１７９に供給されて記憶される。画像メモリ１７９に記憶された予測画像は、ＤＣＴ変換部１８０において２次元ＤＣＴ係数に変換され、周波数領域動き補償加算部１８１に供給される。周波数領域動き補償加算部１８１は、ＤＣＴ係数抽出／逆量子化部１７３から供給されるＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部１８０から供給される予測画像の２次元ＤＣＴ係数とを加算する。
【０６０１】
即ち、動き補償部１７８、画像メモリ１７９、ＤＣＴ変換部１８０、および周波数領域動き補償加算部１８１は、図２の動き補償部４、画像メモリ５、ＤＣＴ変換部２１、周波数領域動き補償加算部２２と同様に構成されるものであり、従って、周波数領域動き補償加算部１８１において、ＤＣＴ係数抽出／逆量子化部１７３からのＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部１８０からの予測画像の２次元ＤＣＴ係数とが加算されることにより、Ｐピクチャの元の画像（上述したように、原画像ではない）を２次元ＤＣＴ変換した２次元ＤＣＴ係数が得られる。
【０６０２】
周波数領域動き補償加算部１８１で得られたＰピクチャの元の画像の２次元ＤＣＴ係数は、生徒データとして、生徒データストレージ１４３に供給されて記憶される。
【０６０３】
以降は、図４４の学習装置における場合と同様の処理が行われ、これにより、Ｐピクチャ用（正確には、Ｐピクチャの予測符号化されたブロック用）のタップ係数が求められる。
【０６０４】
次に、図４７は、Ｂピクチャ用のタップ係数を学習する場合の学習装置の一実施の形態の構成例を示している。なお、Ｂピクチャ用のタップ係数を学習する学習装置も、図４６のＰピクチャ用のタップ係数を学習する学習装置と同様に、生徒データ生成部だけが、図４４のＩピクチャ用のタップ係数を学習する学習装置と異なるだけであるため、図４７においては、Ｂピクチャ用のタップ係数を学習する学習装置の生徒データ生成部だけを図示してある。
【０６０５】
Ｂピクチャも、Ｐピクチャと同様に、時間的に先行して復号されるＩまたはＰピクチャを参照画像として予測符号化（ノンイントラ符号化）されるため、即ち、原画像から予測画像を減算した残差画像が２次元ＤＣＴ変換されるため、図２の画像処理装置では、前処理部１１において、先に復号されたＩまたはＰピクチャに動き補償を施し、その結果得られる予測画像の２次元ＤＣＴ係数と、残差画像の２次元ＤＣＴ係数とを加算した後に、適応処理部５１において、適応処理を施すようになっている。
【０６０６】
従って、Ｂピクチャ用のタップ係数の学習においては、残差画像の２次元ＤＣＴ係数に、予測画像の２次元ＤＣＴ係数を加算したものを、生徒データとして用いる必要がある。
【０６０７】
そこで、図４７の学習装置では、そのような生徒データを生成して、学習を行うようになっている。
【０６０８】
即ち、ＭＰＥＧエンコーダ１９１には、学習用の画像データ（ここでは、教師データに等しい）が供給されるようになっており、ＭＰＥＧエンコーダ１９１は、その学習用の画像データをＭＰＥＧ符号化し、その結果得られる符号化データを、分離部１９２に供給する。分離部１９２とＤＣＴ係数抽出／逆量子化部１９３は、図２の分離部１とＤＣＴ係数抽出／逆量子化部２とそれぞれ同様に構成されており、符号化データから、量子化ＤＣＴ係数を分離、抽出し、逆量子化して出力する。
【０６０９】
ＤＣＴ係数抽出／逆量子化部１９３が出力するＩピクチャの２次元ＤＣＴ係数は、クラス分類部１９４と適応処理部１９６に供給される。また、ＤＣＴ係数抽出／逆量子化部１９３が出力するＰピクチャの２次元ＤＣＴ係数は、周波数領域動き補償加算部２０１に供給される。さらに、ＤＣＴ係数抽出／逆量子化部１９３が出力するＢピクチャの２次元ＤＣＴ係数は、周波数領域動き補償加算部２０９に供給される。
【０６１０】
ここで、分離部１９２は、符号化データから、量子化ＤＣＴ係数の他、量子化スケールやＤＣＴタイプや動くベクトル等のサイドインフォメーションも、必要に応じて分離し、ＤＣＴ係数抽出／逆量子化部１９３を介して、必要なブロックに供給する。なお、サイドインフォメーションについては、図４７の実施の形態では、ＤＣＴ係数抽出／逆量子化部１９３から動き補償部１９８へのＰピクチャの動きベクトルの供給と、ＤＣＴ係数抽出／逆量子化部１９３から動き補償部２０６へのＢピクチャの動きベクトルの供給だけを、図示してある。
【０６１１】
また、ＤＣＴ係数抽出／逆量子化部１９３は、Ｂピクチャの予測符号化されたブロックの２次元ＤＣＴ係数、即ち、残差画像の２次元ＤＣＴ係数だけを、周波数領域動き補償加算部２０９に供給する。
【０６１２】
さらに、ＤＣＴ係数抽出／逆量子化部１９３は、Ｐピクチャについては、予測符号化されたブロックの２次元ＤＣＴ係数だけを、周波数領域動き補償加算部２０１に供給する。さらに、ＤＣＴ係数抽出／逆量子化部１９３では、Ｐピクチャのイントラ符号化されたブロックの２次元ＤＣＴ係数は、クラス分類部１９４および適応処理部１９６に供給され、以下、イントラ符号化されたＩピクチャと同様に処理される。
【０６１３】
クラス分類部１９４は、ＤＣＴ係数抽出／逆量子化部１９３から供給されるＩピクチャおよびＰピクチャのイントラ符号化されたブロックの画素を、順次、注目画素として、その注目画素について、図２のクラス分類部１３における場合と同様にしてクラス分類を行い、その結果得られるクラスコードを、タップ係数記憶部１９５に供給する。タップ係数記憶部１９５は、図４４の学習装置で得られたＩピクチャ用のタップ係数を記憶しており、図２のタップ係数記憶部１４と同様に、クラス分類部１９４から供給されるクラスコードに対応するタップ係数を取得して、適応処理部１９６に供給する。
【０６１４】
適応処理部１９６は、図２の適応処理部５１と同様に、注目画素を含むブロックの２次元ＤＣＴ係数すべてを予測タップとして、その予測タップと、タップ係数記憶部１９５から供給されるタップ係数とを用いた線形１次予測演算、即ち、適応処理を行う。
【０６１５】
適応処理部１９６において適応処理が行われることにより得られるＩピクチャの復号画像は、Ｉピクチャストレージ１９７に供給されて記憶される。なお、適応処理部１９６では、イントラ符号化されたＰピクチャのブロックの復号画像も得られるが、このＰピクチャの復号画像は、適応処理部１９６からＰピクチャストレージ２０５に供給されて記憶される。
【０６１６】
その後、動き補償部１９８は、ＤＣＴ係数抽出／逆量子化部１９３から供給される動きベクトルによって動き補償を施すべき参照画像としてのＩピクチャを、Ｉピクチャストレージ１９７から読み出し、そのＩピクチャに動き補償を施すことで、Ｐピクチャの予測画像を生成する。このＰピクチャの予測画像は、画像メモリ１９９に供給されて記憶される。画像メモリ１９９に記憶された予測画像は、ＤＣＴ変換部２００において２次元ＤＣＴ係数に変換され、周波数領域動き補償加算部２０１に供給される。周波数領域動き補償加算部２０１は、ＤＣＴ係数抽出／逆量子化部１９３から供給されるＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２００から供給される予測画像の２次元ＤＣＴ係数とを加算する。
【０６１７】
即ち、動き補償部１９８、画像メモリ１９９、ＤＣＴ変換部２００、および周波数領域動き補償加算部２０１は、図２の動き補償部４、画像メモリ５、ＤＣＴ変換部２１、周波数領域動き補償加算部２２と同様に構成されるものであり、従って、周波数領域動き補償加算部２０１において、ＤＣＴ係数抽出／逆量子化部１９３からのＰピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２００からの予測画像の２次元ＤＣＴ係数とが加算されることにより、Ｐピクチャの元の画像（上述したように、原画像ではない）を２次元ＤＣＴ変換した２次元ＤＣＴ係数が得られる。
【０６１８】
周波数領域動き補償加算部２０１で得られたＰピクチャの元の画像の２次元ＤＣＴ係数は、クラス分類部２０２および適応処理部２０４に供給される。
【０６１９】
クラス分類部２０２は、周波数領域動き補償加算部２０１から供給されるＰピクチャの予測符号化されたブロックの画素を、順次、注目画素として、その注目画素について、図２のクラス分類部１３における場合と同様にしてクラス分類を行い、その結果得られるクラスコードを、タップ係数記憶部２０３に供給する。タップ係数記憶部２０３は、図４６の学習装置で得られたＰピクチャ用のタップ係数を記憶しており、図２のタップ係数記憶部１４と同様に、クラス分類部２０２から供給されるクラスコードに対応するタップ係数を取得して、適応処理部２０４に供給する。
【０６２０】
適応処理部２０４は、図２の適応処理部５１と同様に、注目画素を含むブロックの２次元ＤＣＴ係数すべてを予測タップとして、その予測タップと、タップ係数記憶部２０３から供給されるタップ係数とを用いた線形１次予測演算、即ち、適応処理を行う。
【０６２１】
適応処理部２０４において適応処理が行われることにより得られる、予測符号化されたＰピクチャのブロックの復号画像は、Ｐピクチャストレージ２０５に供給されて記憶される。なお、上述したように、Ｐピクチャストレージ２０５は、適応処理部１９６から供給される、イントラ符号化されたＰピクチャのブロックの復号画像も記憶する。
【０６２２】
その後、動き補償部２０６は、ＤＣＴ係数抽出／逆量子化部１９３から供給されるＢピクチャの動きベクトルによって動き補償を施すべき参照画像としてのＩまたはＰピクチャを、Ｉピクチャストレージ１９７またはＰピクチャストレージ２０５から読み出し、そのＩまたはＰピクチャに動き補償を施すことで、Ｂピクチャの予測画像を生成する。このＢピクチャの予測画像は、画像メモリ２０７に供給されて記憶される。画像メモリ２０７に記憶された予測画像は、ＤＣＴ変換部２０８において２次元ＤＣＴ係数に変換され、周波数領域動き補償加算部２０９に供給される。周波数領域動き補償加算部２０９は、ＤＣＴ係数抽出／逆量子化部１９３から供給されるＢピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２０８から供給される予測画像の２次元ＤＣＴ係数とを加算する。
【０６２３】
即ち、動き補償部２０６、画像メモリ２０７、ＤＣＴ変換部２０８、および周波数領域動き補償加算部２０９は、図２の動き補償部４、画像メモリ５、ＤＣＴ変換部２１、周波数領域動き補償加算部２２と同様に構成されるものであり、従って、周波数領域動き補償加算部２０９において、ＤＣＴ係数抽出／逆量子化部１９３からのＢピクチャの残差画像の２次元ＤＣＴ係数と、ＤＣＴ変換部２０８からの予測画像の２次元ＤＣＴ係数とが加算されることにより、Ｂピクチャの元の画像（上述したように、原画像ではない）を２次元ＤＣＴ変換した２次元ＤＣＴ係数が得られる。
【０６２４】
周波数領域動き補償加算部２０９で得られたＢピクチャの元の画像の２次元ＤＣＴ係数は、生徒データとして出力される。そして、以降は、図４４の学習装置における場合と同様の処理が行われ、これにより、Ｂピクチャ用（正確には、Ｂピクチャの予測符号化されたブロック用）のタップ係数が求められる。
【０６２５】
図２の係数メモリ４３および４４には、以上のような学習によって、各クラスごとに求められた６４の画素位置モードそれぞれごとの、Ｉ，Ｐ，Ｂピクチャ用のタップ係数が記憶されている。
【０６２６】
従って、係数メモリ４３および４４に記憶されたタップ係数は、線形１次予測演算を行うことにより得られる元の画素値の予測値の予測誤差（ここでは、自乗誤差）が、統計的に最小になるように学習を行うことにより求められたものであり、その結果、図２の適応処理部５１によれば、ＭＰＥＧ符号化された画像を、元の画像に限りなく近い画像、即ち、ブロック歪みやモスキートノイズ等の各種の歪みを十分に低減した、画質の良い画像に復号することができる。
【０６２７】
ここで、学習装置では、輝度信号と色差信号について、別々に正規方程式がたてられ、輝度信号からたてられた正規方程式を解くことにより得られるタップ係数は、係数メモリ４３に記憶され、色差信号からたてられた正規方程式を解くことにより得られるタップ係数は、係数メモリ４４に記憶される。
【０６２８】
また、上述したように、ＭＰＥＧ符号化では、原画像の画素値から１２８（＝２7）を減算して得られる画素値が符号化される。このため、足し込み部１４６は、足し込みにおいて、教師データストレージ１４１に記憶された教師データとしての画素値から、１２８を減算した値を用いるようになっている。
【０６２９】
なお、図２の画像処理装置において、Ｉピクチャのブロックについては、Ｉピクチャ用のタップ係数を用いて適応処理が行われる。また、ＰピクチャまたはＢピクチャのブロックについては、そのブロックが予測符号化（ノンイントラ符号化）されている場合には、ＰピクチャまたはＢピクチャ用のタップ係数を用いて適応処理が行われるが、ブロックがイントラ符号化されている場合には、Ｉピクチャ用のタップ係数を用いて適応処理が行われる。
【０６３０】
また、上述の場合には、Ｉ，Ｐ，Ｂピクチャそれぞれ用のタップ係数を学習するようにしたが、Ｂピクチャ用のタップ係数の学習は省略することが可能である。この場合、図２の画像処理装置では、ＰピクチャとＢピクチャの予測符号化されたブロックについて、例えば、いずれも、Ｐピクチャ用のタップ係数を用いて適応処理が行われる。
【０６３１】
次に、図４８および図４９は、図２の画像処理装置で、ＭＰＥＧ符号化された画像を復号するシミュレーションを行って得られたシミュレーション結果を示している。
【０６３２】
なお、シミュレーションにおいては、４：２：２フォーマットの画像を、約３．３ＭｂｐｓのデータレートでＭＰＥＧ２方式により符号化して得られた符号化データを用いた。また、シミュレーションでは、ＩピクチャとＰピクチャを、それぞれ偶数フレームと奇数フレームとして、１フレームごとに交代する画像シーケンスを用いた。さらに、シミュレーションでは、上述の閾値Ａ，Ｂ，Ｃ，Ｄ，Ｅとして、それぞれ、７００，７００，３５０，１２０，１２０を用いた。但し、色差信号については、閾値Ａとして、８０を用いた。
【０６３３】
図４８は、シミュレーションによって得られた復号画像の輝度信号についてのＳ／Ｎ(Signal to Noise ratio)を示している。
【０６３４】
図４８において、実線で示すＳ／Ｎは、図２の画像処理装置による復号画像のものを示しており、点線で示すＳ／Ｎは、ＭＰＥＧの規格に準拠した従来のＭＰＥＧソフトウェアデコーダによる復号画像のものを示している。図４８から、図２の画像処理装置による復号画像のＳ／Ｎが、従来のＭＰＥＧソフトウェアデコーダによる復号画像と比較して、約１ｄＢ程度向上していることが分かる。
【０６３５】
図４９は、シミュレーションによって得られた復号画像を示している。
【０６３６】
即ち、図４９（Ａ）は、原画像を、図４９（Ｂ）は、従来のＭＰＥＧソフトウェアデコーダによる復号画像を、図４９（Ｃ）は、図２の画像処理装置による復号画像を、それぞれ示している。なお、図４９（Ａ）乃至図４９（Ｃ）において、その右側の約１／３の部分が、瓶の全体が表示されている全体の画像を示しており、左側の約２／３の部分が、その瓶のラベルの部分を拡大した画像を示している。また、図４９に示した画像は、Ｉピクチャの画像である。
【０６３７】
図４９（Ａ）の原画像と、図４９（Ｂ）の従来のＭＰＥＧソフトウェアデコーダによる復号画像を比較すると、図４９（Ｂ）の復号画像には、ブロックの境界が顕著に現れるブロック歪みが生じ、さらに、瓶のラベルにおける「Ｚ」の文字の部分に、モスキートノイズが顕著に現れている。
【０６３８】
これに対して、図４９（Ｃ）の図２の画像処理装置による復号画像においては、ブロック歪みが十分に低減されており、さらに、モスキートノイズも低減されている。
【０６３９】
次に、図５０は、本発明を適用した画像処理装置の第２実施の形態の構成例を示している。なお、図中、図２における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図５０の画像処理装置は、画像再構成部１５において、逆ＤＣＴ変換部５２が新たに設けられている他は、図２における場合と基本的に同様に構成されている。
【０６４０】
逆ＤＣＴ変換部５２は、適応処理部５１の出力を２次元逆ＤＣＴ変換することにより、復号画像を求め、画像メモリ７およびピクチャ選択部８に出力するようになっている。
【０６４１】
即ち、図２の実施の形態においては、タップ係数記憶部１４において、画素値を、教師データとするとともに、その画素値を２次元ＤＣＴ変換、量子化し（ＭＰＥＧ符号化し）、さらに逆量子化した２次元ＤＣＴ係数を生徒データとして学習を行うことにより得られたタップ係数が記憶され、適応処理部５１において、そのようなタップ係数を用いて適応処理を行うことにより、２次元ＤＣＴ係数を画素値に変換するＦＴ変換が行われるようになっていた。
【０６４２】
これに対して、図５０の実施の形態においては、タップ係数記憶部１４において、画素値を２次元ＤＣＴ変換した２次元ＤＣＴ係数を教師データとするとともに、その２次元ＤＣＴ係数を量子化し、さらに逆量子化した２次元ＤＣＴ係数を生徒データとして学習を行うことにより得られたタップ係数が記憶されており、適応処理部５１において、そのようなタップ係数を用いて適応処理を行うことにより、そのまま逆２次元ＤＣＴ変換したのではブロック歪み等の目立つ復号画像となってしまう２次元ＤＣＴ係数を、ブロック歪み等が目立たない復号画像が得られる２次元ＤＣＴ係数に変換するようになっている。
【０６４３】
そして、図５０の実施の形態では、適応処理部５１で得られる２次元ＤＣＴ係数が、逆ＤＣＴ変換部５２において２次元逆ＤＣＴ変換され、これにより、ブロック歪み等が十分に低減された復号画像を得ることができるようになっている。
【０６４４】
ここで、上述のように、画素値を２次元ＤＣＴ変換した２次元ＤＣＴ係数を教師データとするとともに、その２次元ＤＣＴ係数を量子化し、さらに逆量子化した２次元ＤＣＴ係数を生徒データとする場合には、量子化され、さらに逆量子化された２次元ＤＣＴ係数を、式（１）の線形予測演算によって、元の２次元ＤＣＴ係数（量子化される前の２次元ＤＣＴ係数）に変換するのに最適なタップ係数を得ることができる。そして、２次元ＤＣＴ係数は、周波数領域のデータであるから、上述のようなタップ係数を用いて、そのまま逆２次元ＤＣＴ変換したのではブロック歪み等の目立つ復号画像となってしまう２次元ＤＣＴ係数を、ブロック歪み等が目立たない復号画像が得られる２次元ＤＣＴ係数に変換する適応処理は、周波数(Frequency)の頭文字をとって、ＦＦ変換と呼ぶことができる。
【０６４５】
次に、図５１は、上述のようなＦＦ変換を行う場合に用いるタップ係数を学習する学習装置の一実施の形態の構成例を示している。なお、図中、図４４における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０６４６】
学習用データストレージ２２１は、学習用の画像データを記憶している。
【０６４７】
教師データ生成部２２２は、学習用データストレージ２２１から学習用の画像データを読み出して、ＭＰＥＧ符号化における場合と同様に、ブロック単位で、２次元ＤＣＴ変換し、その結果得られる２次元ＤＣＴ係数を、教師データとして出力する。ここで、教師データ生成部２２２が出力する２次元ＤＣＴ係数は、学習用の画像データを２次元ＤＣＴ変換のみしたものであり、従って量子化、逆量子化されていないので、その２次元ＤＣＴ係数を、２次元逆ＤＣＴ変換することにより、原画像と同一の復号画像を得ることができる。
【０６４８】
教師データ生成部２２２が出力する教師データとしての２次元ＤＣＴ係数は、教師データストレージ１４１に供給されて記憶される。
【０６４９】
生徒データ生成部２２３は、学習用データストレージ２２１から学習用の画像データを読み出し、図４４、図４６、図４７における場合とそれぞれ同様にして、生徒データとなる２次元ＤＣＴ係数を生成して出力する。生徒データ生成部２２３が出力する生徒データとしての２次元ＤＣＴ係数は、生徒データストレージ１４３に供給されて記憶される。
【０６５０】
以降は、教師データストレージ１４１に記憶された２次元ＤＣＴ係数を教師データとするとともに、生徒データストレージ１４３に記憶された２次元ＤＣＴ係数を生徒データとして、図４４の学習装置における場合と同様の処理が行われ、これにより、上述のようなＦＦ変換を行うためのＩ，Ｐ，Ｂピクチャそれぞれ用のタップ係数が求められる。
【０６５１】
次に、上述の場合には、ＦＴ変換を行うためのタップ係数や、ＦＦ変換を行うためのタップ係数を用いて適応処理を行うことにより、各種の歪みが低減された復号画像を得るようにしたが、その他、例えば、後述するＴＴ変換を行うためのタップ係数を用いて適応処理を行うことにより、各種の歪みが低減された復号画像を得るようにすることも可能である。
【０６５２】
即ち、図２の画像処理装置においては、図５２（Ａ）に示すように、適応処理部５１において、符号化データから得た２次元ＤＣＴ係数から予測タップを生成し、ＦＴ変換を行うためのタップ係数を用いて適応処理を行うことにより、復号画像を得るようにした。さらに、図５０の画像処理装置においては、図５２（Ｂ）に示すように、適応処理部５１において、符号化データから得た２次元ＤＣＴ係数から予測タップを生成し、ＦＦ変換を行うためのタップ係数を用いて適応処理を行うことにより得た２次元ＤＣＴ係数を、２次元逆ＤＣＴ変換することにより、復号画像を得るようにした。
【０６５３】
その他、図５２（Ｃ）に示すように、適応処理部５１において、従来のＭＰＥＧエンコーダが出力する画像から予測タップを生成して適応処理を施すことにより、各種の歪みが低減された復号画像を得るようにすることが可能である。
【０６５４】
図５３は、そのような画像処理装置の一実施の形態の構成例を示している。なお、図中、図２における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０６５５】
図５３において、ＭＰＥＧデコーダ３０１には、ＭＰＥＧ符号化された符号化データが供給されるようになっている。ＭＰＥＧデコーダ３０１は、ＭＰＥＧの規格に準拠したデコーダで、そこに供給される符号化データをＭＰＥＧデコードし、その結果得られる復号画像（以下、適宜、ＭＰＥＧ復号画像という）を画像再構成部１５およびＤＣＴ変換部３０２に供給する。なお、ＭＰＥＧデコーダ３０１は、符号化データに含まれるＤＣＴタイプその他のサイドインフォメーションを、クラス分類部１３に供給するようにもなっている。
【０６５６】
ＤＣＴ変換部３０２は、ＭＰＥＧデコーダ３０１からのＭＰＥＧ復号画像を、ブロック単位で２次元ＤＣＴ変換し、その結果得られる２次元ＤＣＴ係数を、クラス分類部１３に供給する。クラス分類部１３およびタップ係数記憶部１４では、図２における場合と同様の処理が行われ、これにより、必要なタップ係数が、画像再構成部１５に供給される。
【０６５７】
なお、タップ係数記憶部１４においては、後述するＴＴ変換用のタップ係数が記憶されている。
【０６５８】
画像再構成部１５は、適応処理部５１だけで構成されており、ＭＰＥＧデコーダ３０１からのＭＰＥＧ復号画像から予測タップを生成し、即ち、例えば、ＭＰＥＧ復号画像の注目画素を含むブロックの画素値すべてを予測タップとし、その予測タップと、タップ係数記憶部１４から供給されるタップ係数とを用いて、式（１）の線形１次予測演算を行うことにより、各種の歪みが除去された復号画像を得て出力する。
【０６５９】
次に、図５４は、図５３のタップ係数記憶部１４に記憶されるタップ係数を学習する学習装置の一実施の形態の構成例を示している。なお、図中、図４４における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０６６０】
図５４の実施の形態においては、生徒データ生成部１４２が、ＭＰＥＧエンコーダ３１１とＭＰＥＧデコーダ３１２とから構成されている。ＭＰＥＧエンコーダ３１１は、教師データストレージ１４１に記憶された画像データをＭＰＥＧ符号化し、その結果得られる符号化データを、ＭＰＥＧデコーダ３１２に出力する。ＭＰＥＧデコーダ３１２は、ＭＰＥＧエンコーダ３１１からの符号化データをＭＰＥＧデコードし、その結果得られるＭＰＥＧ復号画像を、生徒データとして出力する。
【０６６１】
ＭＰＥＧデコーダ３１２が生徒データとして出力するＭＰＥＧ復号画像は、生徒データストレージ１４３に供給されて記憶される。
【０６６２】
なお、ＭＰＥＧデコーダ３１２は、ＭＰＥＧエンコーダ３１１が出力する符号化データから、ＤＣＴタイプ等の必要なサイドインフォメーションを抽出し、このサイドインフォメーションも、生徒データストレージ１４３に供給して記憶させるようになっている。
【０６６３】
ＤＣＴ変換部３２１は、生徒データストレージ１４３に記憶された生徒データとしてのＭＰＥＧ復号画像を読み出し、ブロック単位で２次元ＤＣＴ変換することにより、２次元ＤＣＴ係数を得て、クラス分類部１４５に供給する。クラス分類部１４５は、ＤＣＴ変換部３２１からの２次元ＤＣＴ係数に基づき、必要に応じて、生徒データストレージ１４３に記憶されたサイドインフォメーションを参照しながら、図２のクラス分類部１３における場合と同様にクラス分類を行う。
【０６６４】
以降は、教師データストレージ１４１に記憶された画像データを教師データとするとともに、生徒データストレージ１４３に記憶されたＭＰＥＧ復号画像を生徒データとして、図４４の学習装置における場合と同様の処理が行われ、これにより、タップ係数が求められる。なお、予測タップ生成部１４４では、図５３の適応処理部５１が生成するのと同一構造の予測タップが生成される。
【０６６５】
ここで、上述のように、画像データ（原画像）を教師データとするとともに、その画像データをＭＰＥＧ符号化し、さらにＭＰＥＧ復号して得られるＭＰＥＧ復号画像を生徒データとする場合には、ＭＰＥＧ復号画像を、式（１）の線形予測演算によって、ブロック歪み等のない原画像データ（の予測値）に変換するのに最適なタップ係数を得ることができる。そして、原画像データおよびＭＰＥＧ復号画像は、時間領域のデータであるから、上述のようなタップ係数を用いて、ＭＰＥＧ復号画像を、原画像データが得られる２次元ＤＣＴ係数に変換する適応処理は、時間(Time)の頭文字をとって、ＴＴ変換と呼ぶことができ、図５４の学習装置で学習されるタップ係数は、ＴＴ変換用のタップ係数ということができる。
【０６６６】
なお、ここでは、ＴＴ変換用のタップ係数を、ピクチャタイプ別に学習するようにしなかったが、ＴＴ変換用のタップ係数も、ＦＴ変換用のタップ係数と同様に、ピクチャタイプ別に学習するようにすることが可能である。
【０６６７】
次に、図５５は、本発明を適用した画像処理装置のさらに他の実施の形態の構成例を示している。なお、図中、図２における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図５５の画像処理装置は、図２の画像処理装置と基本的に同様に構成されている。但し、適応処理部５１には、バッファメモリ１２に記憶された２次元ＤＣＴ係数ではなく、ＤＣＴ係数抽出／逆量子化部２が出力する２次元ＤＣＴ係数と、画像メモリ５に記憶された予測画像が供給されるようになっている。
【０６６８】
従って、適応処理部５１では、ＤＣＴ係数抽出／逆量子化部２が出力する２次元ＤＣＴ係数と、画像メモリ５に記憶された予測画像とから、予測タップが生成される。即ち、適応処理部５１は、例えば、ＤＣＴ係数抽出／逆量子化部２が出力する注目ブロックの６４個の２次元ＤＣＴ係数と、画像メモリ５に記憶された、注目ブロックに対応する８×８画素の予測画像の６４個の画素値との合計で１２８タップからなる予測タップを生成する。
【０６６９】
ここで、イントラ符号化されたブロックについては、予測画像は存在せず、ＤＣＴ係数抽出／逆量子化部２が出力する２次元ＤＣＴ係数は、元の画像を２次元ＤＣＴ変換したものとなっている。また、ノンイントラ符号化されたブロックについては、予測画像が存在し、ＤＣＴ係数抽出／逆量子化部２が出力する２次元ＤＣＴ係数は、元の画像から予測画像を減算して得られる残差画像を２次元ＤＣＴ変換したものとなっているが、ＭＰＥＧでは、残差画像の画素値がほとんど０である場合には、残差画像の２次元ＤＣＴ係数が存在しないことがある。
【０６７０】
このため、適応処理部５１では、イントラ符号化されたブロックが注目ブロックとされた場合には、予測画像から生成される６４の予測タップは、例えば０とされる。また、適応処理部５１では、ノンイントラ符号化されたブロックが注目ブロックとされ、その注目ブロックにおける残差画像の２次元ＤＣＴ係数が存在しない場合には、ＤＣＴ係数抽出／逆量子化部２が出力する２次元ＤＣＴ係数から生成される６４の予測タップは、例えば０とされる。
【０６７１】
図５５の画像処理装置では、適応処理部５１における予測タップの生成以外については、図２における場合と同様の処理が行われ、これにより、画像再構成部１５からは、ブロック歪み等が低減された復号画像が出力される。
【０６７２】
ここで、図５５の適応処理部５１では、上述したように、ＤＣＴ係数抽出／逆量子化部２が出力する注目ブロックの６４個の２次元ＤＣＴ係数と、画像メモリ５に記憶された、注目ブロックに対応する８×８画素の予測画像の６４個の画素値との合計で１２８タップからなる予測タップが生成され、その予測タップを用いて適応処理が行われることにより、原画像の予測値、即ち、ブロック歪み等の低減された復号画像が求められる。即ち、ノンイントラ符号化されたブロックについては、残差画像の２次元ＤＣＴ係数と、予測画像の画素値からなる予測タップから、画像が復号される。
【０６７３】
従って、この場合、適応処理部５１での適応処理では、ブロック歪み等の低減とともに、残差画像に対する予測画像の加算が一括して行われているということができる。
【０６７４】
次に、図５５の画像処理装置において用いられるタップ係数の学習について説明する。
【０６７５】
まず、Ｉピクチャ用のタップ係数の学習は、図４４の学習装置で行うことができる。但し、図４４の予測タップ生成部１４４では、図５５の適応処理部５１における場合と同様に、注目ブロックの６４個の２次元ＤＣＴ係数と、注目ブロックに対応する８×８画素の予測画像の６４個の画素値との合計で１２８タップからなる予測タップが生成される。また、上述したように、イントラ符号化されるＩピクチャのブロックについては、予測画像から生成される６４の予測タップは０とされる。
【０６７６】
次に、図５６は、図５５のタップ係数記憶部１４に記憶されるＰピクチャ用のタップ係数を学習する学習装置の一実施の形態の構成例を示している。なお、図中、図４６における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図５６の学習装置は、基本的に、図４６における場合と同様に構成されている。
【０６７７】
但し、生徒データストレージ１４３には、周波数領域動き補償加算部１８１から、元の画像の２次元ＤＣＴ係数（残差画像の２次元ＤＣＴ係数と、予測画像の２次元ＤＣＴ係数とを加算したもの）が供給される他、ＤＣＴ係数抽出／逆量子化部１７３から、Ｐピクチャの残差画像の２次元ＤＣＴ係数が供給されるとともに、画像メモリ１７９に記憶された予測画像が供給されるようになっている。
【０６７８】
そして、クラス分類部１４５では、図２のクラス分類部１３における場合と同様に、生徒データストレージ１４３に記憶された元の画像の２次元ＤＣＴ係数を用いてクラス分類が行われる。
【０６７９】
また、予測タップ生成部１４４では、生徒データストレージ１４３に記憶されたＰピクチャの残差画像の２次元ＤＣＴ係数と、予測画像とから、図５の適応処理部５１で生成されるのと同一構造の予測タップが生成される。
【０６８０】
次に、図５７は、図５５のタップ係数記憶部１４に記憶されるＢピクチャ用のタップ係数を学習する学習装置の一実施の形態の構成例を示している。なお、図中、図４７における場合と対応する部分については、同一の符号を付してある。また、図５７においても、図４７における場合と同様に、生徒データ生成部以外のブロックの図示は省略してある。
【０６８１】
図５７の学習装置は、基本的には、図４７の学習装置と同様に構成されている。但し、周波数領域動き補償加算部２０９から、Ｂピクチャの元の画像の２次元ＤＣＴ係数（残差画像の２次元ＤＣＴ係数と、予測画像の２次元ＤＣＴ係数とを加算したもの）が、生徒データとして出力される他、Ｂピクチャの残差画像の２次元ＤＣＴ係数と、予測画像も、ＤＣＴ係数抽出／逆量子化部１９３と、画像メモリ２０７それぞれから、生徒データとして出力されるようになっている。
【０６８２】
そして、以降の処理では、図５６の学習装置における場合と同様に、Ｂピクチャの元の画像の２次元ＤＣＴ係数を用いてクラス分類が行われるとともに、Ｂピクチャの残差画像の２次元ＤＣＴ係数と、予測画像とから、予測タップが生成される。
【０６８３】
なお、図５５の実施の形態では、予測画像と、残差画像の２次元ＤＣＴ係数（あるいは元の画像の２次元ＤＣＴ係数）とから生成した予測タップを用いて適応処理を行うことにより、ブロック歪み等を低減した復号画像を得るようにしたが、その他、例えば、予測画像と、残差画像の２次元ＤＣＴ係数とから生成した予測タップを用いて、ブロック歪み等を低減した２次元ＤＣＴ係数を得て、その２次元ＤＣＴ係数を２次元逆ＤＣＴ変換することにより、ブロック歪み等を低減した復号画像を得るようにすることも可能である。
【０６８４】
この場合、タップ係数の学習は、画像データ（原画像）を教師データとするのではなく、画像データをブロック単位で２次元ＤＣＴ変換して得られる２次元ＤＣＴ係数を教師データとして行うようにすれば良い。
【０６８５】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０６８６】
そこで、図５８は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０６８７】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク４０５やＲＯＭ４０３に予め記録しておくことができる。
【０６８８】
あるいはまた、プログラムは、フレキシブルディスク、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)やスピーカ等で構成される出力部４０６から出力、あるいは、通信部４０８から送信、さらには、ハードディスク４０５に記録等させる。
【０６９１】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０６９２】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０６９３】
以上のように、１次元ＤＣＴ係数に基づいてクラス分類を行い、各クラスごとに処理を行うようにしたので、ブロック間における水平方向や垂直方向の平坦さや連続性が反映された、効果的なクラス分けをすることができ、そのようなクラスごとに、適応処理を行うことで、ブロック歪みやモスキートノイズ等の歪みを十分に低減した高画質の復号画像を得ることが可能となる。
【０６９４】
なお、本実施の形態では、教師データの予測値を、式（１）の線形１次予測演算によって求めるようにしたが、教師データの予測値は、その他、例えば、２次以上の高次の式を用いて求めるようにすることが可能である。
【０６９５】
また、本実施の形態では、クラス分類を、注目ブロックとそれに隣接するブロックの１次元ＤＣＴ係数を用いて行うようにしたが、その他、クラス分類は、注目ブロックと空間的または時間的に近いブロックの１次元ＤＣＴ係数をも用いて行うことが可能である。さらに、クラス分類は、１次元ＤＣＴ係数の他、２次元ＤＣＴ係数も用いて行うことが可能である。また、クラス分類は、注目ブロックに対して、時間方向に近接するブロックの１次元ＤＣＴ係数をも用いて行うことが可能である。
【０６９６】
さらに、本実施の形態では、ＭＰＥＧ符号化された動画像を対象としたが、本発明は、２次元ＤＣＴ変換を用いる、ＭＰＥＧ以外の符号化方式により符号化された動画像や、ＪＰＥＧ符号化された静止画等を復号する場合にも適用可能である。
【０６９７】
【発明の効果】
本発明の第１の画像処理装置および画像処理方法、並びにプログラムによれば、２次元ＤＣＴ係数を、１次元逆ＤＣＴ変換することにより、１次元ＤＣＴ係数が求められ、その１次元ＤＣＴ係数に基づいて、画像データを構成する画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類が行われる。そして、その結果得られるクラスごとに、符号化データが処理される。従って、例えば、高画質の画像を復号することが可能となる。
【０６９８】
本発明の第２の画像処理装置および画像処理方法、並びにプログラムによれば、学習用の画像データが、少なくとも２次元ＤＣＴ変換されることにより符号化され、２次元ＤＣＴ係数を含む符号化データが出力される。さらに、符号化データに含まれる２次元ＤＣＴ係数を、１次元逆ＤＣＴ変換することにより、１次元ＤＣＴ係数が求められる。そして、学習用の画像データから得られる、学習の教師となる教師データを、１次元ＤＣＴ係数に基づいて、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類が行われ、教師データと、学習用の画像データから得られる、学習の生徒となる生徒データとを用いて、教師データのクラスごとに学習を行うことにより、クラスごとのタップ係数が求められる。従って、そのタップ係数を用いることにより、高画質の画像を復号することが可能となる。
【図面の簡単な説明】
【図１】ＭＰＥＧデコーダの構成例を示すブロック図である。
【図２】本発明を適用した画像処理装置の第１実施の形態の構成例を示すブロック図である。
【図３】ＤＣＴ変換部２１と周波数領域動き補償加算部２２の構成例を示すブロック図である。
【図４】サンプリング部６１の処理を説明するための図である。
【図５】サンプリング部６１の処理を説明するための図である。
【図６】２次元ＤＣＴ変換および２次元逆ＤＣＴ変換、並びに１次元ＤＣＴ変換および１次元逆ＤＣＴ変換を説明するための図である。
【図７】原画像、水平１次元ＤＣＴ係数、垂直１次元ＤＣＴ係数、および２次元ＤＣＴ係数を示すディスプレイ上に表示された中間階調の写真である。
【図８】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図９】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１０】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１１】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１２】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１３】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１４】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１５】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１６】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１７】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１８】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図１９】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２０】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２１】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２２】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２３】注目ブロックの境界の画素列に空間的に隣接する隣接ブロックの画素列を説明するための図である。
【図２４】隣接１次元ＤＣＴ係数選択／変換部３２の構成例を示すブロック図である。
【図２５】隣接１次元ＤＣＴ係数選択／変換部３２の処理を説明するフローチャートである。
【図２６】左上ブロック処理の詳細を説明するフローチャートである。
【図２７】左下ブロック処理の詳細を説明するフローチャートである。
【図２８】右上ブロック処理の詳細を説明するフローチャートである。
【図２９】右下ブロック処理の詳細を説明するフローチャートである。
【図３０】ＡＣパワーを説明するための図である。
【図３１】ＡＣパワー算出部３３の構成例を示すブロック図である。
【図３２】ＡＣ内積を説明するための図である。
【図３３】ＡＣ内積計算部３４の構成例を示すブロック図である。
【図３４】クラスコード生成部３６の構成例を示すブロック図である。
【図３５】クラスコードのフォーマットを示す図である。
【図３６】クラスコード生成部３６の処理を説明するフローチャートである。
【図３７】クラスコード生成部３７の構成例を示すブロック図である。
【図３８】４：２：２フォーマットにおける輝度ブロックと色差ブロックとの対応関係を示す図である。
【図３９】輝度クラスコードを利用した色差クラスコードの生成を説明する図である。
【図４０】４：２：０フォーマットにおける輝度ブロックと色差ブロックとの対応関係を示す図である。
【図４１】輝度クラスコードを利用した色差クラスコードの生成を説明する図である。
【図４２】適応処理部５１の構成例を示すブロック図である。
【図４３】適応処理部５１の処理を説明するフローチャートである。
【図４４】タップ係数を学習する学習装置の第１実施の形態の構成例を示すブロック図である。
【図４５】学習装置による学習処理を説明するフローチャートである。
【図４６】タップ係数を学習する学習装置の第２実施の形態の構成例を示すブロック図である。
【図４７】タップ係数を学習する学習装置の第３実施の形態の構成例を示すブロック図である。
【図４８】シミュレーションにより得られた復号画像のＳ／Ｎを示す図である。
【図４９】シミュレーションにより得られた復号画像を示すディスプレイ上に表示された中間階調の写真である。
【図５０】本発明を適用した画像処理装置の第２実施の形態の構成例を示すブロック図である。
【図５１】タップ係数を学習する学習装置の第４の実施の形態の構成例を示すブロック図である。
【図５２】本発明を適用した画像処理装置の第３実施の形態の概要を説明する図である。
【図５３】本発明を適用した画像処理装置の第３実施の形態の構成例を示すブロック図である。
【図５４】タップ係数を学習する学習装置の第５の実施の形態の構成例を示すブロック図である。
【図５５】本発明を適用した画像処理装置の第４実施の形態の構成例を示すブロック図である。
【図５６】タップ係数を学習する学習装置の第６の実施の形態の構成例を示すブロック図である。
【図５７】タップ係数を学習する学習装置の第７の実施の形態の構成例を示すブロック図である。
【図５８】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
１  分離部，  ２  ＤＣＴ係数抽出／逆量子化部，  ４  動き補償部，  ５  画像メモリ，  １１  前処理部，  １２  バッファメモリ，  １３  クラス分類部，  １４  タップ係数記憶部，  １５  画像再構成部，  ２１  ＤＣＴ変換部，  ２２  周波数領域動き補償加算部，  ３１  １次元逆ＤＣＴ変換部，  ３２隣接１次元ＤＣＴ係数選択／変換部，  ３３  ＡＣパワー算出部，  ３４  ＡＣ内積計算部，  ３５  隣接タップデータ生成部，  ３６，３７  クラスコード生成部，  ４１，４２  タップ係数選択部，  ４３，４４  係数メモリ，  ５１適応処理部，  ５２  逆ＤＣＴ変換部，  ６１  サンプリング部，  ６２  ＤＣＴ部，  ７１  ＤＣＴ係数選択部，  ７２  加算部，  ７３  選択部，  ８０制御部，  ８１  メモリ，  ８２  垂直１次元逆ＤＣＴ変換部，  ８３  サンプリング部，  ８４  垂直１次元ＤＣＴ変換部，  ８５  選択部，  ９１  水平１次元ＤＣＴ係数抽出部，  ９２  垂直１次元ＤＣＴ係数抽出部，  ９３  水平ＡＣパワー計算部，  ９４  垂直ＡＣパワー計算部，  １０１  上内積用１次元ＤＣＴ係数抽出部，  １０２  下内積用１次元ＤＣＴ係数抽出部，  １０３  左内積用１次元ＤＣＴ係数抽出部，  １０４  右内積用１次元ＤＣＴ係数抽出部，１０５  上内積演算部，  １０６  下内積演算部，  １０７  左内積演算部，１０８  右内積演算部，  １１１，１１２  比較部，  １１３  平坦性条件判定部，  １１４  連続性条件判定部，  １１５  境界部エッジ条件判定部，  １１６  クラスコード作成部，  １２１，１２２  比較部，  １２３  クラスコード作成部，  １３１  予測タップ生成部，  １３２  タップ係数バッファ，  １３３  積和演算部，  １４１  教師データストレージ，  １４２  生徒データ生成部，  １４３  生徒データストレージ，  １４４  予測タップ生成部，  １４５  クラス分類部，  １４６  足し込み部，  １４７  タップ係数演算部，  １５１  ＭＰＥＧエンコーダ，  １５２  分離部，  １５３  ＤＣＴ係数抽出／逆量子化部，  １７１  ＭＰＥＧエンコーダ，  １７２  分離部，  １７３  ＤＣＴ係数抽出／逆量子化部，  １７４  クラス分類部，  １７５  タップ係数記憶部，  １７６  適応処理部，  １７７  Ｉピクチャストレージ，  １７８  動き補償部，  １７９  画像メモリ，  １８０  ＤＣＴ変換部，  １８１  周波数領域動き補償加算部，  １９１  ＭＰＥＧエンコーダ，  １９２  分離部，  １９３  ＤＣＴ係数抽出／逆量子化部，  １９４  クラス分類部，  １９５  タップ係数記憶部，  １９６  適応処理部，  １９７  Ｉピクチャストレージ，  １９８  動き補償部，  １９９  画像メモリ，  ２００  ＤＣＴ変換部，  ２０１  周波数領域動き補償加算部，  ２０２  クラス分類部，  ２０３  タップ係数記憶部，  ２０４  適応処理部，  ２０５  Ｐピクチャストレージ，  ２０６  動き補償部，  ２０７  画像メモリ，  ２０８  ＤＣＴ変換部，  ２０９  周波数領域動き補償加算部，  ２２１  学習用データストレージ，  ２２２  教師データ生成部，  ２２３  生徒データ生成部，  ３０１  ＭＰＥＧデコーダ，  ３０２  ＤＣＴ変換部，  ３１１  ＭＰＥＧエンコーダ，  ３１２  ＭＰＥＧデコーダ，  ４０１  バス，  ４０２  CPU，  ４０３  ROM，  ４０４  RAM，  ４０５  ハードディスク，  ４０６  出力部，  ４０７  入力部，  ４０８  通信部，  ４０９  ドライブ，  ４１０  入出力インタフェース，  ４１１  リムーバブル記録媒体
【図１】
0004154902.tif 000011
【図２】
0004154902.tif 000012
【図３】
0004154902.tif 000013
【図４】
0004154902.tif 000014
【図５】
0004154902.tif 000015
【図６】
0004154902.tif 000016
【図７】
0004154902.tif 000017
【図８】
0004154902.tif 000018
【図９】
0004154902.tif 000019
【図１０】
0004154902.tif 000020
【図１１】
0004154902.tif 000021
【図１２】
0004154902.tif 000022
【図１３】
0004154902.tif 000023
【図１４】
0004154902.tif 000024
【図１５】
0004154902.tif 000025
【図１６】
0004154902.tif 000026
【図１７】
0004154902.tif 000027
【図１８】
0004154902.tif 000028
【図１９】
0004154902.tif 000029
【図２０】
0004154902.tif 000030
【図２１】
0004154902.tif 000031
【図２２】
0004154902.tif 000032
【図２３】
0004154902.tif 000033
【図２４】
0004154902.tif 000034
【図２５】
0004154902.tif 000035
【図２６】
0004154902.tif 000036
【図２７】
0004154902.tif 000037
【図２８】
0004154902.tif 000038
【図２９】
0004154902.tif 000039
【図３０】
0004154902.tif 000040
【図３１】
0004154902.tif 000041
【図３２】
0004154902.tif 000042
【図３３】
0004154902.tif 000043
【図３４】
0004154902.tif 000044
【図３５】
0004154902.tif 000045
【図３６】
0004154902.tif 000046
【図３７】
0004154902.tif 000047
【図３８】
0004154902.tif 000048
【図３９】
0004154902.tif 000049
【図４０】
0004154902.tif 000050
【図４１】
0004154902.tif 000051
【図４２】
0004154902.tif 000052
【図４３】
0004154902.tif 000053
【図４４】
0004154902.tif 000054
【図４５】
0004154902.tif 000055
【図４６】
0004154902.tif 000056
【図４７】
0004154902.tif 000057
【図４８】
0004154902.tif 000058
【図４９】
0004154902.tif 000059
【図５０】
0004154902.tif 000060
【図５１】
0004154902.tif 000061
【図５２】
0004154902.tif 000062
【図５３】
0004154902.tif 000063
【図５４】
0004154902.tif 000064
【図５５】
0004154902.tif 000065
【図５６】
0004154902.tif 000066
【図５７】
0004154902.tif 000067
【図５８】
0004154902.tif 000068