(57)【特許請求の範囲】
【請求項１】
複数の画素からなる原画像を、より少ない画素からなる上位階層画像に変換する画像符号化装置において、
前記原画像の画素をブロック化し、そのブロック内の複数の画素の画素値を平均化、あるいは、前記複数の画素を間引くことにより、前記上位階層画像の画素の画素値を生成する画素値生成手段と、
前記上位階層画像の注目画素の画素値を０から順にインクリメントする画素値カウント手段と、
前記画素値カウント手段によりインクリメントされた画素値を有する前記注目画素、およびその近傍の画素からなる複数画素の画素値をそれぞれ符号化して並べることにより前記上位階層画像の前記注目画素のクラスコードを生成するクラスコード生成手段と、
前記クラスコード毎に、前記上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により、前記上位階層画像に相当する画像の注目画素に対応する、前記原画像に相当する画像の対応画素を予測するための予測係数が予め学習され記憶されている記憶手段と、
前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記記憶手段に記憶されている前記注目画素のクラスコードに対応する予測係数との線形一次結合により、前記原画像の対応画素の予測値を第１の予測値として予測する第１の予測手段と、
前記第１の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第１の誤差演算手段と、
前記画素値カウント手段により前記上位階層画像の注目画素の画素値がインクリメントされるとともに、前記第１の誤差演算手段により前記第１の予測値に対応する誤差が求められ、その誤差が最小となるときの前記注目画素の画素値を、前記注目画素の新たな画素値として更新する更新手段と、
前記更新手段により更新された前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成する基準クラスコード生成手段と、
前記更新手段により更新された前記上位階層画像の注目画素のクラスコードを０から順にインクリメントするクラスコードカウント手段と、
前記更新手段により更新された前記上位階層画像の注目画素、およびその近傍の画素かなる複数画素の画素値と、前記クラスコードカウント手段により生成されたクラスコードに対応する、前記記憶手段に記憶されている予測係数との線形一次結合により、前記原画像の対応画素の予測値を第２の予測値として予測する第２の予測手段と、
前記第２の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第２の誤差演算手段と、
前記クラスコードカウント手段により、前記更新手段により更新された前記上位階層画像の注目画素のクラスコードがインクリメントされるとともに、前記第２の誤差演算手段により前記第２の予測値に対応する誤差が求められ、その誤差が最小となるときのクラスコードを示す最適クラスコードと前記基準クラスコードとの差分を示す補正情報で、前記更新手段により更新された前記上位階層画像の注目画素の下位ビットの一部を書き換える書き換え手段と、
前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により前記原画像に相当する画像の対応画素を予測するための予測係数を、前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化して並べることにより生成されたクラスコード毎に再学習することにより前記記憶手段の予測係数を更新する予測係数更新手段と、
前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより前記基準クラスコードを生成し、さらに、前記書き換え手段により書き換えられた前記上位階層画像の注目画素の下位ビットの一部から前記補正情報を読み出し、前記基準クラスコードおよび前記補正情報を演算することにより、前記最適クラスコードを生成し、前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記最適クラスコードに対応する、前記予測係数更新手段により更新された予測係数との線形一次結合により、前記原画像の対応画素の予測値を第３の予測値として予測する第３の予測手段と、
前記第３の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第３の誤差演算手段と、
前記第３の誤差演算手段により演算される誤差が収束していないと判定された場合、再び、前記画素値カウント手段から前記第３の誤差演算手段までの処理を繰り返すように制御し、前記第３の誤差演算手段により演算される誤差が収束していると判定された場合、前記記憶手段に記憶される予測係数、および、前記書き換え手段により書き換えられた前記上位階層画像を、符号化結果として出力するように制御する収束判定手段と
を備える画像符号化装置。
【請求項２】
複数の画素からなる原画像を、より少ない画素からなる上位階層画像に変換する画像符号化装置の画像符号化方法において、
前記原画像の画素をブロック化し、そのブロック内の複数の画素の画素値を平均化、あるいは、前記複数の画素を間引くことにより、前記上位階層画像の画素の画素値を生成する画素値生成ステップと、
前記上位階層画像の注目画素の画素値を０から順にインクリメントする画素値カウントステップと、
前記画素値カウントステップでインクリメントされた画素値を有する前記注目画素、およびその近傍の画素からなる複数画素の画素値をそれぞれ符号化して並べることにより前記上位階層画像の前記注目画素のクラスコードを生成するクラスコード生成ステップと、
前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記クラスコード毎に、前記上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により、前記上位階層画像に相当する画像の注目画素に対応する、前記原画像に相当する画像の対応画素を予測するための予測係数が予め学習され記憶されている記憶手段に記憶されている前記注目画素のクラスコードに対応する予測係数との線形一次結合により、前記原画像の対応画素の予測値を第１の予測値として予測する第１の予測ステップと、
前記第１の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第１の誤差演算ステップと、
前記画素値カウントステップで前記上位階層画像の注目画素の画素値がインクリメントされるとともに、前記第１の誤差演算ステップで前記第１の予測値に対応する誤差が求められ、その誤差が最小となるときの前記注目画素の画素値を、前記注目画素の新たな画素値として更新する更新ステップと、
前記更新ステップで更新された前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成する基準クラスコード生成ステップと、
前記更新ステップで更新された前記上位階層画像の注目画素のクラスコードを０から順にインクリメントするクラスコードカウントステップと、
前記更新ステップで更新された前記上位階層画像の注目画素、およびその近傍の画素かなる複数画素の画素値と、前記クラスコードカウントステップで生成されたクラスコードに対応する、前記記憶手段に記憶されている予測係数との線形一次結合により、前記原画像の対応画素の予測値を第２の予測値として予測する第２の予測ステップと、
前記第２の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第２の誤差演算ステップと、
前記クラスコードカウントステップで、前記更新ステップで更新された前記上位階層画像の注目画素のクラスコードがインクリメントされるとともに、前記第２の誤差演算ステップで前記第２の予測値に対応する誤差が求められ、その誤差が最小となるときのクラスコードを示す最適クラスコードと前記基準クラスコードとの差分を示す補正情報で、前記更新ステップで更新された前記上位階層画像の注目画素の下位ビットの一部を書き換える書き換えステップと、
前記書き換えステップで書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により前記原画像に相当する画像の対応画素を予測するための予測係数を、前記書き換えステップで書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化して並べることにより生成されたクラスコード毎に再学習することにより前記記憶手段の予測係数を更新する予測係数更新ステップと、
前記書き換えステップで書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより前記基準クラスコードを生成し、さらに、前記書き換えステップで書き換えられた前記上位階層画像の注目画素の下位ビットの一部から前記補正情報を読み出し、前記基準クラスコードおよび前記補正情報を演算することにより、前記最適クラスコードを生成し、前記書き換えステップで書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記最適クラスコードに対応する、前記予測係数更新ステップで更新された予測係数との線形一次結合により、前記原画像の対応画素の予測値を第３の予測値として予測する第３の予測ステップと、
前記第３の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第３の誤差演算ステップと、
前記第３の誤差演算ステップで演算される誤差が収束していないと判定された場合、再び、前記画素値カウントステップから前記第３の誤差演算ステップまでの処理を繰り返すように制御し、前記第３の誤差演算ステップで演算される誤差が収束していると判定された場合、前記記憶手段に記憶される予測係数、および、前記書き換えステップで書き換えられた前記上位階層画像を、符号化結果として出力するように制御する収束判定ステップと
を含む画像符号化方法。
【請求項３】
複数の画素からなる原画像を、より少ない画素からなる上位階層画像に変換する画像符号化装置のコンピュータに、
前記原画像の画素をブロック化し、そのブロック内の複数の画素の画素値を平均化、あるいは、前記複数の画素を間引くことにより、前記上位階層画像の画素の画素値を生成する画素値生成ステップと、
前記上位階層画像の注目画素の画素値を０から順にインクリメントする画素値カウントステップと、
前記画素値カウントステップでインクリメントされた画素値を有する前記注目画素、およびその近傍の画素からなる複数画素の画素値をそれぞれ符号化して並べることにより前記上位階層画像の前記注目画素のクラスコードを生成するクラスコード生成ステップと、
前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記クラスコード毎に、前記上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により、前記上位階層画像に相当する画像の注目画素に対応する、前記原画像に相当する画像の対応画素を予測するための予測係数が予め学習され記憶されている記憶手段に記憶されている前記注目画素のクラスコードに対応する予測係数との線形一次結合により、前記原画像の対応画素の予測値を第１の予測値として予測する第１の予測ステップと、
前記第１の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第１の誤差演算ステップと、
前記画素値カウントステップで前記上位階層画像の注目画素の画素値がインクリメントされるとともに、前記第１の誤差演算ステップで前記第１の予測値に対応する誤差が求められ、その誤差が最小となるときの前記注目画素の画素値を、前記注目画素の新たな画素値として更新する更新ステップと、
前記更新ステップで更新された前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成する基準クラスコード生成ステップと、
前記更新ステップで更新された前記上位階層画像の注目画素のクラスコードを０から順にインクリメントするクラスコードカウントステップと、
前記更新ステップで更新された前記上位階層画像の注目画素、およびその近傍の画素かなる複数画素の画素値と、前記クラスコードカウントステップで生成されたクラスコードに対応する、前記記憶手段に記憶されている予測係数との線形一次結合により、前記原画像の対応画素の予測値を第２の予測値として予測する第２の予測ステップと、
前記第２の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第２の誤差演算ステップと、
前記クラスコードカウントステップで、前記更新ステップで更新された前記上位階層画像の注目画素のクラスコードがインクリメントされるとともに、前記第２の誤差演算ステップで前記第２の予測値に対応する誤差が求められ、その誤差が最小となるときのクラスコードを示す最適クラスコードと前記基準クラスコードとの差分を示す補正情報で、前記更新ステップで更新された前記上位階層画像の注目画素の下位ビットの一部を書き換える書き換えステップと、
前記書き換えステップで書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により前記原画像に相当する画像の対応画素を予測するための予測係数を、前記書き換えステップで書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化して並べることにより生成されたクラスコード毎に再学習することにより前記記憶手段の予測係数を更新する予測係数更新ステップと、
前記書き換えステップで書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより前記基準クラスコードを生成し、さらに、前記書き換えステップで書き換えられた前記上位階層画像の注目画素の下位ビットの一部から前記補正情報を読み出し、前記基準クラスコードおよび前記補正情報を演算することにより、前記最適クラスコードを生成し、前記書き換えステップで書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記最適クラスコードに対応する、前記予測係数更新ステップで更新された予測係数との線形一次結合により、前記原画像の対応画素の予測値を第３の予測値として予測する第３の予測ステップと、
前記第３の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第３の誤差演算ステップと、
前記第３の誤差演算ステップで演算される誤差が収束していないと判定された場合、再び、前記画素値カウントステップから前記第３の誤差演算ステップまでの処理を繰り返すように制御し、前記第３の誤差演算ステップで演算される誤差が収束していると判定された場合、前記記憶手段に記憶される予測係数、および、前記書き換えステップで書き換えられた前記上位階層画像を、符号化結果として出力するように制御する収束判定ステップと
を含む処理を実行させるコンピュータが読み取り可能なプログラムを記録した記録媒体。
【請求項４】
複数の画素からなる原画像の画素をブロック化し、そのブロック内の複数の画素の画素値を平均化、あるいは、前記複数の画素を間引くことにより、より少ない画素からなる上位階層画像の画素の画素値を生成する画素値生成手段と、
前記上位階層画像の注目画素の画素値を０から順にインクリメントする画素値カウント手段と、
前記画素値カウント手段によりインクリメントされた画素値を有する前記注目画素、およびその近傍の画素からなる複数画素の画素値をそれぞれ符号化して並べることにより前記上位階層画像の前記注目画素のクラスコードを生成するクラスコード生成手段と、
前記クラスコード毎に、前記上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により、前記上位階層画像に相当する画像の注目画素に対応する、前記原画像に相当する画像の対応画素を予測するための予測係数が予め学習され記憶されている記憶手段と、
前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記記憶手段に記憶されている前記注目画素のクラスコードに対応する予測係数との線形一次結合により、前記原画像の対応画素の予測値を第１の予測値として予測する第１の予測手段と、
前記第１の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第１の誤差演算手段と、
前記画素値カウント手段により前記上位階層画像の注目画素の画素値がインクリメントされるとともに、前記第１の誤差演算手段により前記第１の予測値に対応する誤差が求められ、その誤差が最小となるときの前記注目画素の画素値を、前記注目画素の新たな画素値として更新する更新手段と、
前記更新手段により更新された前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成する基準クラスコード生成手段と、
前記更新手段により更新された前記上位階層画像の注目画素のクラスコードを０から順にインクリメントするクラスコードカウント手段と、
前記更新手段により更新された前記上位階層画像の注目画素、およびその近傍の画素かなる複数画素の画素値と、前記クラスコードカウント手段により生成されたクラスコードに対応する、前記記憶手段に記憶されている予測係数との線形一次結合により、前記原画像の対応画素の予測値を第２の予測値として予測する第２の予測手段と、
前記第２の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第２の誤差演算手段と、
前記クラスコードカウント手段により、前記更新手段により更新された前記上位階層画像の注目画素のクラスコードがインクリメントされるとともに、前記第２の誤差演算手段により前記第２の予測値に対応する誤差が求められ、その誤差が最小となるときのクラスコードを示す最適クラスコードと前記基準クラスコードとの差分を示す補正情報で、前記更新手段により更新された前記上位階層画像の注目画素の下位ビットの一部を書き換える書き換え手段と、
前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により前記原画像に相当する画像の対応画素を予測するための予測係数を、前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化して並べることにより生成されたクラスコード毎に再学習することにより前記記憶手段の予測係数を更新する予測係数更新手段と、
前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより前記基準クラスコードを生成し、さらに、前記書き換え手段により書き換えられた前記上位階層画像の注目画素の下位ビットの一部から前記補正情報を読み出し、前記基準クラスコードおよび前記補正情報を演算することにより、前記最適クラスコードを生成し、前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記最適クラスコードに対応する、前記予測係数更新手段により更新された予測係数との線形一次結合により、前記原画像の対応画素の予測値を第３の予測値として予測する第３の予測手段と、
前記第３の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第３の誤差演算手段と、
前記第３の誤差演算手段により演算される誤差が収束していないと判定された場合、再び、前記画素値カウント手段から前記第３の誤差演算手段までの処理を繰り返すように制御し、前記第３の誤差演算手段により演算される誤差が収束していると判定された場合、前記記憶手段に記憶される予測係数、および、前記書き換え手段により書き換えられた前記上位階層画像を、符号化結果として出力するように制御する収束判定手段と
を備える画像符号化装置から出力された、前記記憶手段に記憶される予測係数、および前記書き換え手段により書き換えられた前記上位階層画像に基づき、前記原画像を予測する画像復号装置において、
前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をクラスタップとして抽出するクラスタップ抽出手段と、
前記クラスタップに含まれる画素の画素値を符号化し並べることにより、前記基準クラスコードを生成する基準クラスコード生成手段と、
前記注目画素の画素値の下位ビットの一部から前記補正情報を読み出す読出手段と、
前記基準クラスコードおよび前記補正情報を演算することにより、前記最適クラスコードとして、補正された補正クラスコードを生成する補正クラスコード生成手段と、
前記上位階層画像の前記注目画素、およびその近傍の画素からなる複数画素を予測タップとして抽出する予測タップ抽出手段と、
前記クラスコード毎に、前記上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素としての予測タップに含まれる画素の画素値との線形一次結合により前記原画像に相当する画像の対応画素を予測するための、前記画像符号化装置から出力された前記予測係数が記憶される記憶手段と、
前記予測タップ抽出手段により抽出された前記予測タップに含まれる画素の画素値と、前記記憶手段に記憶されている、前記補正クラスコードに対応する予測係数との線形一次結合により、前記原画像の画素値を予測する予測手段と
を備える画像復号装置。
【請求項５】
複数の画素からなる原画像の画素をブロック化し、そのブロック内の複数の画素の画素値を平均化、あるいは、前記複数の画素を間引くことにより、より少ない画素からなる上位階層画像の画素の画素値を生成する画素値生成手段と、
前記上位階層画像の注目画素の画素値を０から順にインクリメントする画素値カウント手段と、
前記画素値カウント手段によりインクリメントされた画素値を有する前記注目画素、およびその近傍の画素からなる複数画素の画素値をそれぞれ符号化して並べることにより前記上位階層画像の前記注目画素のクラスコードを生成するクラスコード生成手段と、
前記クラスコード毎に、前記上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により、前記上位階層画像に相当する画像の注目画素に対応する、前記原画像に相当する画像の対応画素を予測するための予測係数が予め学習され記憶されている記憶手段と、
前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記記憶手段に記憶されている前記注目画素のクラスコードに対応する予測係数との線形一次結合により、前記原画像の対応画素の予測値を第１の予測値として予測する第１の予測手段と、
前記第１の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第１の誤差演算手段と、
前記画素値カウント手段により前記上位階層画像の注目画素の画素値がインクリメントされるとともに、前記第１の誤差演算手段により前記第１の予測値に対応する誤差が求められ、その誤差が最小となるときの前記注目画素の画素値を、前記注目画素の新たな画素値として更新する更新手段と、
前記更新手段により更新された前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成する基準クラスコード生成手段と、
前記更新手段により更新された前記上位階層画像の注目画素のクラスコードを０から順にインクリメントするクラスコードカウント手段と、
前記更新手段により更新された前記上位階層画像の注目画素、およびその近傍の画素かなる複数画素の画素値と、前記クラスコードカウント手段により生成されたクラスコードに対応する、前記記憶手段に記憶されている予測係数との線形一次結合により、前記原画像の対応画素の予測値を第２の予測値として予測する第２の予測手段と、
前記第２の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第２の誤差演算手段と、
前記クラスコードカウント手段により、前記更新手段により更新された前記上位階層画像の注目画素のクラスコードがインクリメントされるとともに、前記第２の誤差演算手段により前記第２の予測値に対応する誤差が求められ、その誤差が最小となるときのクラスコードを示す最適クラスコードと前記基準クラスコードとの差分を示す補正情報で、前記更新手段により更新された前記上位階層画像の注目画素の下位ビットの一部を書き換える書き換え手段と、
前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により前記原画像に相当する画像の対応画素を予測するための予測係数を、前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化して並べることにより生成されたクラスコード毎に再学習することにより前記記憶手段の予測係数を更新する予測係数更新手段と、
前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより前記基準クラスコードを生成し、さらに、前記書き換え手段により書き換えられた前記上位階層画像の注目画素の下位ビットの一部から前記補正情報を読み出し、前記基準クラスコードおよび前記補正情報を演算することにより、前記最適クラスコードを生成し、前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記最適クラスコードに対応する、前記予測係数更新手段により更新された予測係数との線形一次結合により、前記原画像の対応画素の予測値を第３の予測値として予測する第３の予測手段と、
前記第３の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第３の誤差演算手段と、
前記第３の誤差演算手段により演算される誤差が収束していないと判定された場合、再び、前記画素値カウント手段から前記第３の誤差演算手段までの処理を繰り返すように制御し、前記第３の誤差演算手段により演算される誤差が収束していると判定された場合、前記記憶手段に記憶される予測係数、および、前記書き換え手段により書き換えられた前記上位階層画像を、符号化結果として出力するように制御する収束判定手段と
を備える画像符号化装置から出力された、前記記憶手段に記憶される予測係数、および前記書き換え手段により書き換えられた前記上位階層画像に基づき、前記原画像を予測する画像復号装置の画像復号方法において、
前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をクラスタップとして抽出するクラスタップ抽出ステップと、
前記クラスタップに含まれる画素の画素値を符号化し並べることにより、前記基準クラスコードを生成する基準クラスコード生成ステップと、
前記注目画素の画素値の下位ビットの一部から前記補正情報を読み出す読出ステップと、
前記基準クラスコードおよび前記補正情報を演算することにより、前記最適クラスコードとして、補正された補正クラスコードを生成する補正クラスコード生成ステップと、
前記上位階層画像の前記注目画素、およびその近傍の画素からなる複数画素を予測タップとして抽出する予測タップ抽出ステップと、
前記予測タップ抽出ステップにより抽出された前記予測タップに含まれる画素の画素値と、前記クラスコード毎に、前記上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素としての予測タップに含まれる画素の画素値との線形一次結合により前記原画像に相当する画像の対応画素を予測するための、前記画像符号化装置から出力された前記予測係数が記憶される記憶手段に記憶されている、前記補正クラスコードに対応する予測係数との線形一次結合により、前記原画像の画素値を予測する予測ステップと
を含む画像復号方法。
【請求項６】
複数の画素からなる原画像の画素をブロック化し、そのブロック内の複数の画素の画素値を平均化、あるいは、前記複数の画素を間引くことにより、より少ない画素からなる上位階層画像の画素の画素値を生成する画素値生成手段と、
前記上位階層画像の注目画素の画素値を０から順にインクリメントする画素値カウント手段と、
前記画素値カウント手段によりインクリメントされた画素値を有する前記注目画素、およびその近傍の画素からなる複数画素の画素値をそれぞれ符号化して並べることにより前記上位階層画像の前記注目画素のクラスコードを生成するクラスコード生成手段と、
前記クラスコード毎に、前記上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により、前記上位階層画像に相当する画像の注目画素に対応する、前記原画像に相当する画像の対応画素を予測するための予測係数が予め学習され記憶されている記憶手段と、
前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記記憶手段に記憶されている前記注目画素のクラスコードに対応する予測係数との線形一次結合により、前記原画像の対応画素の予測値を第１の予測値として予測する第１の予測手段と、
前記第１の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第１の誤差演算手段と、
前記画素値カウント手段により前記上位階層画像の注目画素の画素値がインクリメントされるとともに、前記第１の誤差演算手段により前記第１の予測値に対応する誤差が求められ、その誤差が最小となるときの前記注目画素の画素値を、前記注目画素の新たな画素値として更新する更新手段と、
前記更新手段により更新された前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成する基準クラスコード生成手段と、
前記更新手段により更新された前記上位階層画像の注目画素のクラスコードを０から順にインクリメントするクラスコードカウント手段と、
前記更新手段により更新された前記上位階層画像の注目画素、およびその近傍の画素かなる複数画素の画素値と、前記クラスコードカウント手段により生成されたクラスコードに対応する、前記記憶手段に記憶されている予測係数との線形一次結合により、前記原画像の対応画素の予測値を第２の予測値として予測する第２の予測手段と、
前記第２の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第２の誤差演算手段と、
前記クラスコードカウント手段により、前記更新手段により更新された前記上位階層画像の注目画素のクラスコードがインクリメントされるとともに、前記第２の誤差演算手段により前記第２の予測値に対応する誤差が求められ、その誤差が最小となるときのクラスコードを示す最適クラスコードと前記基準クラスコードとの差分を示す補正情報で、前記更新手段により更新された前記上位階層画像の注目画素の下位ビットの一部を書き換える書き換え手段と、
前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により前記原画像に相当する画像の対応画素を予測するための予測係数を、前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化して並べることにより生成されたクラスコード毎に再学習することにより前記記憶手段の予測係数を更新する予測係数更新手段と、
前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより前記基準クラスコードを生成し、さらに、前記書き換え手段により書き換えられた前記上位階層画像の注目画素の下位ビットの一部から前記補正情報を読み出し、前記基準クラスコードおよび前記補正情報を演算することにより、前記最適クラスコードを生成し、前記書き換え手段により書き換えられた前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、前記最適クラスコードに対応する、前記予測係数更新手段により更新された予測係数との線形一次結合により、前記原画像の対応画素の予測値を第３の予測値として予測する第３の予測手段と、
前記第３の予測値と、前記原画像の対応画素の画素値とを比較することにより誤差を演算する第３の誤差演算手段と、
前記第３の誤差演算手段により演算される誤差が収束していないと判定された場合、再び、前記画素値カウント手段から前記第３の誤差演算手段までの処理を繰り返すように制御し、前記第３の誤差演算手段により演算される誤差が収束していると判定された場合、前記記憶手段に記憶される予測係数、および、前記書き換え手段により書き換えられた前記上位階層画像を、符号化結果として出力するように制御する収束判定手段と
を備える画像符号化装置から出力された、前記記憶手段に記憶される予測係数、および前記書き換え手段により書き換えられた前記上位階層画像に基づき、前記原画像を予測する画像復号装置のコンピュータに、
前記上位階層画像の注目画素、およびその近傍の画素からなる複数画素をクラスタップとして抽出するクラスタップ抽出ステップと、
前記クラスタップに含まれる画素の画素値を符号化し並べることにより、前記基準クラスコードを生成する基準クラスコード生成ステップと、
前記注目画素の画素値の下位ビットの一部から前記補正情報を読み出す読出ステップと、
前記基準クラスコードおよび前記補正情報を演算することにより、前記最適クラスコードとして、補正された補正クラスコードを生成する補正クラスコード生成ステップと、
前記上位階層画像の前記注目画素、およびその近傍の画素からなる複数画素を予測タップとして抽出する予測タップ抽出ステップと、
前記予測タップ抽出ステップにより抽出された前記予測タップに含まれる画素の画素値と、前記クラスコード毎に、前記上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素としての予測タップに含まれる画素の画素値との線形一次結合により前記原画像に相当する画像の対応画素を予測するための、前記画像符号化装置から出力された前記予測係数が記憶される記憶手段に記憶されている、前記補正クラスコードに対応する予測係数との線形一次結合により、前記原画像の画素値を予測する予測ステップと
を含む処理を実行させるコンピュータが読み取り可能なプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像符号化装置および方法、画像復号装置および方法、並びに記録媒体に関し、特に、原画像とほぼ同一の画像を復元できる圧縮画像を生成する画像符号化装置および方法、画像復号装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
原画像を構成する画素数よりも少ない画素数から構成される上位階層画像を生成し、この上位階層画像から、原画像とほぼ同一の下位階層画像を生成する（原画像を復元する）する技術が本出願人により提案されている。
【０００３】
この提案は、クラス分類適応処理を用いた統合圧縮と呼ばれており、この統合圧縮において、下位階層画像の画素値は、上位階層画像の注目画素を中心とする予測タップの画素値と、注目画素が分類されるクラスコードに対応する予測係数の線形１次結合を演算することにより求められる。なお、注目画素のクラスコードは、注目画素とその近傍の画素から構成されるクラスタップの画素値から決定される。
【０００４】
【発明が解決しようとする課題】
ところで、上述したように、クラスタップの画素値から決定される注目画素のクラスコードに対応する予測係数を用いて下位階層画像を生成した場合、その予測係数が最適なものであるとは限らない、すなわち、クラスタップから決定されたクラスコードが最適ではない場合が存在する課題があった。
【０００５】
本発明はこのような状況に鑑みてなされたものであり、注目画素の画素値の所定の部分をクラスコードの補正情報で書き換えることにより、原画像に近い下位階層画像を復元可能な上位階層画像を生成できるようにするものである。
【０００６】
【課題を解決するための手段】
請求項１に記載の画像符号化装置は、原画像の画素をブロック化し、そのブロック内の複数の画素の画素値を平均化、あるいは、複数の画素を間引くことにより、上位階層画像の画素の画素値を生成する画素値生成手段と、上位階層画像の注目画素の画素値を０から順にインクリメントする画素値カウント手段と、画素値カウント手段によりインクリメントされた画素値を有する注目画素、およびその近傍の画素からなる複数画素の画素値をそれぞれ符号化して並べることにより上位階層画像の注目画素のクラスコードを生成するクラスコード生成手段と、クラスコード毎に、上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により、上位階層画像に相当する画像の注目画素に対応する、原画像に相当する画像の対応画素を予測するための予測係数が予め学習され記憶されている記憶手段と、上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、記憶手段に記憶されている注目画素のクラスコードに対応する予測係数との線形一次結合により、原画像の対応画素の予測値を第１の予測値として予測する第１の予測手段と、第１の予測値と、原画像の対応画素の画素値とを比較することにより誤差を演算する第１の誤差演算手段と、画素値カウント手段により上位階層画像の注目画素の画素値がインクリメントされるとともに、第１の誤差演算手段により第１の予測値に対応する誤差が求められ、その誤差が最小となるときの注目画素の画素値を、注目画素の新たな画素値として更新する更新手段と、更新手段により更新された上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成する基準クラスコード生成手段と、更新手段により更新された上位階層画像の注目画素のクラスコードを０から順にインクリメントするクラスコードカウント手段と、更新手段により更新された上位階層画像の注目画素、およびその近傍の画素かなる複数画素の画素値と、クラスコードカウント手段により生成されたクラスコードに対応する、記憶手段に記憶されている予測係数との線形一次結合により、原画像の対応画素の予測値を第２の予測値として予測する第２の予測手段と、第２の予測値と、原画像の対応画素の画素値とを比較することにより誤差を演算する第２の誤差演算手段と、クラスコードカウント手段により、更新手段により更新された上位階層画像の注目画素のクラスコードがインクリメントされるとともに、第２の誤差演算手段により第２の予測値に対応する誤差が求められ、その誤差が最小となるときのクラスコードを示す最適クラスコードと基準クラスコードとの差分を示す補正情報で、更新手段により更新された上位階層画像の注目画素の下位ビットの一部を書き換える書き換え手段と、書き換え手段により書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により原画像に相当する画像の対応画素を予測するための予測係数を、書き換え手段により書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化して並べることにより生成されたクラスコード毎に再学習することにより記憶手段の予測係数を更新する予測係数更新手段と、書き換え手段により書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成し、さらに、書き換え手段により書き換えられた上位階層画像の注目画素の下位ビットの一部から補正情報を読み出し、基準クラスコードおよび補正情報を演算することにより、最適クラスコードを生成し、書き換え手段により書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、最適クラスコードに対応する、予測係数更新手段により更新された予測係数との線形一次結合により、原画像の対応画素の予測値を第３の予測値として予測する第３の予測手段と、第３の予測値と、原画像の対応画素の画素値とを比較することにより誤差を演算する第３の誤差演算手段と、第３の誤差演算手段により演算される誤差が収束していないと判定された場合、再び、画素値カウント手段から第３の誤差演算手段までの処理を繰り返すように制御し、第３の誤差演算手段により演算される誤差が収束していると判定された場合、記憶手段に記憶される予測係数、および、書き換え手段により書き換えられた上位階層画像を、符号化結果として出力するように制御する収束判定手段とを備える。
【０００７】
請求項２に記載の画像符号化方法は、原画像の画素をブロック化し、そのブロック内の複数の画素の画素値を平均化、あるいは、複数の画素を間引くことにより、上位階層画像の画素の画素値を生成する画素値生成ステップと、上位階層画像の注目画素の画素値を０から順にインクリメントする画素値カウントステップと、画素値カウントステップでインクリメントされた画素値を有する注目画素、およびその近傍の画素からなる複数画素の画素値をそれぞれ符号化して並べることにより上位階層画像の注目画素のクラスコードを生成するクラスコード生成ステップと、上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、クラスコード毎に、上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により、上位階層画像に相当する画像の注目画素に対応する、原画像に相当する画像の対応画素を予測するための予測係数が予め学習され記憶されている記憶手段に記憶されている注目画素のクラスコードに対応する予測係数との線形一次結合により、原画像の対応画素の予測値を第１の予測値として予測する第１の予測ステップと、第１の予測値と、原画像の対応画素の画素値とを比較することにより誤差を演算する第１の誤差演算ステップと、画素値カウントステップで上位階層画像の注目画素の画素値がインクリメントされるとともに、第１の誤差演算ステップで第１の予測値に対応する誤差が求められ、その誤差が最小となるときの注目画素の画素値を、注目画素の新たな画素値として更新する更新ステップと、更新ステップで更新された上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成する基準クラスコード生成ステップと、更新ステップで更新された上位階層画像の注目画素のクラスコードを０から順にインクリメントするクラスコードカウントステップと、更新ステップで更新された上位階層画像の注目画素、およびその近傍の画素かなる複数画素の画素値と、クラスコードカウントステップで生成されたクラスコードに対応する、記憶手段に記憶されている予測係数との線形一次結合により、原画像の対応画素の予測値を第２の予測値として予測する第２の予測ステップと、第２の予測値と、原画像の対応画素の画素値とを比較することにより誤差を演算する第２の誤差演算ステップと、クラスコードカウントステップで、更新ステップで更新された上位階層画像の注目画素のクラスコードがインクリメントされるとともに、第２の誤差演算ステップで第２の予測値に対応する誤差が求められ、その誤差が最小となるときのクラスコードを示す最適クラスコードと基準クラスコードとの差分を示す補正情報で、更新ステップで更新された上位階層画像の注目画素の下位ビットの一部を書き換える書き換えステップと、書き換えステップで書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により原画像に相当する画像の対応画素を予測するための予測係数を、書き換えステップで書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化して並べることにより生成されたクラスコード毎に再学習することにより記憶手段の予測係数を更新する予測係数更新ステップと、書き換えステップで書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成し、さらに、書き換えステップで書き換えられた上位階層画像の注目画素の下位ビットの一部から補正情報を読み出し、基準クラスコードおよび補正情報を演算することにより、最適クラスコードを生成し、書き換えステップで書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、最適クラスコードに対応する、予測係数更新ステップで更新された予測係数との線形一次結合により、原画像の対応画素の予測値を第３の予測値として予測する第３の予測ステップと、第３の予測値と、原画像の対応画素の画素値とを比較することにより誤差を演算する第３の誤差演算ステップと、第３の誤差演算ステップで演算される誤差が収束していないと判定された場合、再び、画素値カウントステップから第３の誤差演算ステップまでの処理を繰り返すように制御し、第３の誤差演算ステップで演算される誤差が収束していると判定された場合、記憶手段に記憶される予測係数、および、書き換えステップで書き換えられた上位階層画像を、符号化結果として出力するように制御する収束判定ステップとを含む。
【０００８】
請求項３に記載の記録媒体は、原画像の画素をブロック化し、そのブロック内の複数の画素の画素値を平均化、あるいは、複数の画素を間引くことにより、上位階層画像の画素の画素値を生成する画素値生成ステップと、上位階層画像の注目画素の画素値を０から順にインクリメントする画素値カウントステップと、画素値カウントステップでインクリメントされた画素値を有する注目画素、およびその近傍の画素からなる複数画素の画素値をそれぞれ符号化して並べることにより上位階層画像の注目画素のクラスコードを生成するクラスコード生成ステップと、上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、クラスコード毎に、上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により、上位階層画像に相当する画像の注目画素に対応する、原画像に相当する画像の対応画素を予測するための予測係数が予め学習され記憶されている記憶手段に記憶されている注目画素のクラスコードに対応する予測係数との線形一次結合により、原画像の対応画素の予測値を第１の予測値として予測する第１の予測ステップと、第１の予測値と、原画像の対応画素の画素値とを比較することにより誤差を演算する第１の誤差演算ステップと、画素値カウントステップで上位階層画像の注目画素の画素値がインクリメントされるとともに、第１の誤差演算ステップで第１の予測値に対応する誤差が求められ、その誤差が最小となるときの注目画素の画素値を、注目画素の新たな画素値として更新する更新ステップと、更新ステップで更新された上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成する基準クラスコード生成ステップと、更新ステップで更新された上位階層画像の注目画素のクラスコードを０から順にインクリメントするクラスコードカウントステップと、更新ステップで更新された上位階層画像の注目画素、およびその近傍の画素かなる複数画素の画素値と、クラスコードカウントステップで生成されたクラスコードに対応する、記憶手段に記憶されている予測係数との線形一次結合により、原画像の対応画素の予測値を第２の予測値として予測する第２の予測ステップと、第２の予測値と、原画像の対応画素の画素値とを比較することにより誤差を演算する第２の誤差演算ステップと、クラスコードカウントステップで、更新ステップで更新された上位階層画像の注目画素のクラスコードがインクリメントされるとともに、第２の誤差演算ステップで第２の予測値に対応する誤差が求められ、その誤差が最小となるときのクラスコードを示す最適クラスコードと基準クラスコードとの差分を示す補正情報で、更新ステップで更新された上位階層画像の注目画素の下位ビットの一部を書き換える書き換えステップと、書き換えステップで書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により原画像に相当する画像の対応画素を予測するための予測係数を、書き換えステップで書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化して並べることにより生成されたクラスコード毎に再学習することにより記憶手段の予測係数を更新する予測係数更新ステップと、書き換えステップで書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードを生成し、さらに、書き換えステップで書き換えられた上位階層画像の注目画素の下位ビットの一部から補正情報を読み出し、基準クラスコードおよび補正情報を演算することにより、最適クラスコードを生成し、書き換えステップで書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、最適クラスコードに対応する、予測係数更新ステップで更新された予測係数との線形一次結合により、原画像の対応画素の予測値を第３の予測値として予測する第３の予測ステップと、第３の予測値と、原画像の対応画素の画素値とを比較することにより誤差を演算する第３の誤差演算ステップと、第３の誤差演算ステップで演算される誤差が収束していないと判定された場合、再び、画素値カウントステップから第３の誤差演算ステップまでの処理を繰り返すように制御し、第３の誤差演算ステップで演算される誤差が収束していると判定された場合、記憶手段に記憶される予測係数、および、書き換えステップで書き換えられた上位階層画像を、符号化結果として出力するように制御する収束判定ステップとを含む処理をコンピュータに実行させるコンピュータが読み取り可能なプログラムを記録する。
【０００９】
請求項４に記載の画像復号装置は、上位階層画像の注目画素、およびその近傍の画素からなる複数画素をクラスタップとして抽出するクラスタップ抽出手段と、クラスタップに含まれる画素の画素値を符号化し並べることにより、基準クラスコードを生成する基準クラスコード生成手段と、注目画素の画素値の下位ビットの一部から補正情報を読み出す読出手段と、基準クラスコードおよび補正情報を演算することにより、最適クラスコードとして、補正された補正クラスコードを生成する補正クラスコード生成手段と、上位階層画像の注目画素、およびその近傍の画素からなる複数画素を予測タップとして抽出する予測タップ抽出手段と、クラスコード毎に、上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素としての予測タップに含まれる画素の画素値との線形一次結合により原画像に相当する画像の対応画素を予測するための、画像符号化装置から出力された予測係数が記憶される記憶手段と、予測タップ抽出手段により抽出された予測タップに含まれる画素の画素値と、記憶手段に記憶されている、補正クラスコードに対応する予測係数との線形一次結合により、原画像の画素値を予測する予測手段とを備える。
【００１０】
請求項５に記載の画像復号方法は、上位階層画像の注目画素、およびその近傍の画素からなる複数画素をクラスタップとして抽出するクラスタップ抽出ステップと、クラスタップに含まれる画素の画素値を符号化し並べることにより、基準クラスコードを生成する基準クラスコード生成ステップと、注目画素の画素値の下位ビットの一部から補正情報を読み出す読出ステップと、基準クラスコードおよび補正情報を演算することにより、最適クラスコードとして、補正された補正クラスコードを生成する補正クラスコード生成ステップと、上位階層画像の注目画素、およびその近傍の画素からなる複数画素を予測タップとして抽出する予測タップ抽出ステップと、予測タップ抽出ステップにより抽出された予測タップに含まれる画素の画素値と、クラスコード毎に、上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素としての予測タップに含まれる画素の画素値との線形一次結合により原画像に相当する画像の対応画素を予測するための、画像符号化装置から出力された予測係数が記憶される記憶手段に記憶されている、補正クラスコードに対応する予測係数との線形一次結合により、原画像の画素値を予測する予測ステップとを含む。
【００１１】
請求項６に記載の記録媒体は、上位階層画像の注目画素、およびその近傍の画素からなる複数画素をクラスタップとして抽出するクラスタップ抽出ステップと、クラスタップに含まれる画素の画素値を符号化し並べることにより、基準クラスコードを生成する基準クラスコード生成ステップと、注目画素の画素値の下位ビットの一部から補正情報を読み出す読出ステップと、基準クラスコードおよび補正情報を演算することにより、最適クラスコードとして、補正された補正クラスコードを生成する補正クラスコード生成ステップと、上位階層画像の注目画素、およびその近傍の画素からなる複数画素を予測タップとして抽出する予測タップ抽出ステップと、予測タップ抽出ステップにより抽出された予測タップに含まれる画素の画素値と、クラスコード毎に、上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素としての予測タップに含まれる画素の画素値との線形一次結合により原画像に相当する画像の対応画素を予測するための、画像符号化装置から出力された予測係数が記憶される記憶手段に記憶されている、補正クラスコードに対応する予測係数との線形一次結合により、原画像の画素値を予測する予測ステップとを含む処理をコンピュータに実行させるコンピュータが読み取り可能なプログラムを記録する。
【００１２】
請求項１に記載の画像符号化装置、請求項２に記載の画像符号化方法、および請求項３に記載の記録媒体においては、原画像の画素をブロック化し、そのブロック内の複数の画素の画素値を平均化、あるいは、複数の画素を間引くことにより、上位階層画像の画素の画素値が生成され、上位階層画像の注目画素の画素値が０から順にインクリメントされ、インクリメントされた画素値を有する注目画素、およびその近傍の画素からなる複数画素の画素値をそれぞれ符号化して並べることにより上位階層画像の注目画素のクラスコードが生成され、上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、クラスコード毎に、上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により、上位階層画像に相当する画像の注目画素に対応する、原画像に相当する画像の対応画素を予測するための予測係数が予め学習され記憶されている記憶手段に記憶されている注目画素のクラスコードに対応する予測係数との線形一次結合により、原画像の対応画素の予測値が第１の予測値として予測され、第１の予測値と、原画像の対応画素の画素値とを比較することにより誤差が演算され、上位階層画像の注目画素の画素値がインクリメントされるとともに、第１の予測値に対応する誤差が求められ、その誤差が最小となるときの注目画素の画素値が、注目画素の新たな画素値として更新され、更新された上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードが生成され、更新された上位階層画像の注目画素のクラスコードが０から順にインクリメントされ、更新された上位階層画像の注目画素、およびその近傍の画素かなる複数画素の画素値と、生成されたクラスコードに対応する、記憶手段に記憶されている予測係数との線形一次結合により、原画像の対応画素の予測値が第２の予測値として予測され、第２の予測値と、原画像の対応画素の画素値とを比較することにより誤差が演算され、更新された上位階層画像の注目画素のクラスコードがインクリメントされるとともに、第２の予測値に対応する誤差が求められ、その誤差が最小となるときのクラスコードを示す最適クラスコードと基準クラスコードとの差分を示す補正情報で、更新された上位階層画像の注目画素の下位ビットの一部が書き換えられ、書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値との線形一次結合により原画像に相当する画像の対応画素を予測するための予測係数が、書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化して並べることにより生成されたクラスコード毎に再学習されることにより記憶手段の予測係数が更新され、書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素をそれぞれ符号化し並べることにより基準クラスコードが生成され、さらに、書き換えられた上位階層画像の注目画素の下位ビットの一部から補正情報が読み出され、基準クラスコードおよび補正情報が演算されることにより、最適クラスコードが生成され、書き換えられた上位階層画像の注目画素、およびその近傍の画素からなる複数画素の画素値と、最適クラスコードに対応する、更新された予測係数との線形一次結合により、原画像の対応画素の予測値が第３の予測値として予測され、第３の予測値と、原画像の対応画素の画素値とを比較することにより誤差が演算され、演算される誤差が収束していないと判定された場合、再び、上述した処理を繰り返すように制御し、演算される誤差が収束していると判定された場合、記憶手段に記憶される予測係数、および、書き換えられた上位階層画像を、符号化結果として出力するように制御される。
【００１３】
請求項４に記載の画像復号装置、請求項５に記載の画像復号方法、および請求項６に記載の記録媒体においては、上位階層画像の注目画素、およびその近傍の画素からなる複数画素がクラスタップとして抽出されて、クラスタップに含まれる画素の画素値が符号化し並べることにより基準クラスコードが生成される。また、注目画素の画素値の下位ビットの一部から補正情報が読み出され、基準クラスコードおよび補正情報を演算することにより、最適クラスコードとして、補正された補正クラスコードが生成される。さらに、上位階層画像の注目画素、およびその近傍の画素からなる複数画素が予測タップとして抽出されて、抽出された予測タップに含まれる画素の画素値と、クラスコード毎に、上位階層画像に相当する画像の注目画素、およびその近傍の画素からなる複数画素としての予測タップに含まれる画素の画素値との線形一次結合により原画像に相当する画像の対応画素を予測するための、画像符号化装置から出力された予測係数が記憶される記憶手段に記憶されている、補正クラスコードに対応する予測係数との線形一次結合により、原画像の画素値が予測される。
【００１４】
【発明の実施の形態】
本発明を適用したエンコーダの構成例について、図１を参照して説明する。このエンコーダ１において、入力される原画像は、初期上位画像生成回路２、誤差演算回路６、上位画像更新回路９、および予測係数更新回路１０に供給される。初期上位画像生成回路２は、供給される原画像を、例えば図２に示すように、３画素×３画素からなるブロックに分割し、各ブロック内の９画素の画素値の平均値をブロックの中心に位置する上位階層画像（以下、上位画像とも記述する）の画素の画素値として初期上位階層画像を生成して、スイッチ３の接点ａに出力する。したがって、上位階層画像の縦および横の画素数は、原画像の縦および横の画素数の１／３となる。なお、初期上位階層画像を、原画像の画素を間引くことにより生成してもかまわない。
【００１５】
スイッチ３は、カウンタ８から入力される制御信号に基づいて、初期上位画像生成回路２から接点ａに供給される初期上位階層画像、または、上位画像更新回路９から接点ｂに供給される更新された上位階層画像を、デコード回路４、上位画像更新回路９、予測係数更新回路１０、およびスイッチ１１に出力する。
【００１６】
デコード回路４は、スイッチ３を介して入力される上位階層画像の画素値と、予測係数メモリ５から供給される予測係数を用いて下位階層画像（以下、下位画像とも記述する）の画素値を演算し、誤差演算回路６に出力する。なお、デコード回路４の詳細な構成は、後述するデコーダ７１と同様であるので、その説明は省略する。
【００１７】
予測係数メモリ５には、クラスコードに対応する予測係数（予測係数テーブル）が予め入力されて記憶されている。例えば図３に示すように、クラスコードが５ビット（３２クラス）で表される場合、予測係数は３２種類存在し、予測係数は、クラスコードと１対１に対応付けられて記憶される。また、予測係数メモリ５には、予測係数更新回路１０から更新された予測係数が供給され、それを用いて、それまで記憶されていた予測係数テーブルが更新される。
【００１８】
誤差演算回路６は、原画像に対するデコード回路４から入力された下位階層画像のS/Nを演算して収束判定回路７に出力する。収束判定回路７は、誤差演算回路６から入力されるS/Nの増加量が収束しているか否かを判定し、S/Nの増加量が収束していると判定した場合、または、カウンタ８からの制御信号を受信した場合、スイッチ１１をオンとする制御信号を出力する。
【００１９】
カウンタ８は、所定のタイミングでスイッチ３に制御信号を出力するとともに、上位階層画像更新回路９による更新回数をカウントし、カウント数が所定の値に達した場合、収束判定回路７に制御信号を出力する。
【００２０】
上位画像更新回路９は、スイッチ３を介して入力される上位階層画像の画素値を適切な値に更新する。図４は、上位画像更新回路９の詳細な構成例を示している。上位画像更新回路９において、原画像と予測係数は、画素値更新回路２１およびクラスコード補正回路２２に供給され、スイッチ３を介して入力される上位階層画像は画素値更新回路２１に供給される。
【００２１】
図５は、画素値更新回路２１の詳細な構成例を示している。上位画像メモリ３１は、入力される上位階層画像を記憶するとともに、画素値レジスタ４３からスイッチ４４を介して入力される画素値を用いて、それまで記憶していた画素値を更新する。
【００２２】
予測タップ抽出回路３２は、上位画像メモリ３１に記憶されている上位階層画像の画素を、順次、注目画素に決定し、注目画素を中心とする予測タップ（例えば、図６に示すような３×３画素）を構成する画素と、注目画素が含まれる予測タップを構成する画素、すなわち、いまの例の場合、図７に示すような注目画素を中心とする５×５画素を抽出し、注目画素の画素値だけを更新画素値カウンタ４１から入力されるカウンタの値に置き換えてマッピング回路３６に出力する。なお、予測タップの形状は、３×３画素に限られるものではなく、他の形状であってもかまわない。
【００２３】
クラスタップ抽出回路３３は、予測タップ抽出回路３２で注目画素としていた画素を中心とする３×３の９個の画素を順次、着目画素として、図２に●を用いて示したように、着目画素とその上下左右に位置する画素からなるクラスタップの画素値を抽出して、クラス分類回路３４に出力する。クラス分類回路３４は、入力されたクラスタップを構成する５個の画素の画素値に、１ビットADRC(Adaptive Dynamic Range Coding)処理を適用して５ビットのクラスコードを生成し、予測係数取得回路３５に出力する。なお、クラスコードを１ビットADRC処理以外の方法で生成してもかまわない。予測係数取得回路３５は、クラス分類回路３４から入力されたクラスコードに対応する予測係数を予測係数メモリ５から読み出してマッピング回路３６に出力する。
【００２４】
マッピング回路３６は、注目画素に対応する下位階層画像の画素を中心とする９×９画素（図７のマッピング範囲）、すなわち、注目画素の画素値の変化が影響する範囲の画素値として、予測タップ抽出回路３２から入力された注目画素を中心とする５×５画素の画素値と、予測係数取得回路３５から入力された９組の予測係数との線形１次結合を演算し、誤差演算回路３７に出力する。
【００２５】
誤差演算回路３７は、マッピング回路３６から入力される下位階層画像の９×９画素の画素値と、対応する原画像の画素値との誤差（S/N）を演算して比較回路３８に出力する。比較回路３８は、入力された誤差と最小誤差レジスタ３９が記憶している最小誤差（最大S/N）とを比較し、誤差演算回路３７から入力された誤差が最小誤差レジスタ３９が記憶している最小誤差よりも小さい場合、スイッチ４０，４２をオンとする制御信号を出力する。この制御信号に対応して、スイッチ２８がオンとされることにより、最小誤差レジスタ３９に記憶されている最小誤差が誤差演算回路３７からの誤差値で更新され、スイッチ４２がオンとされることにより、画素値レジスタ４３に記憶されている画素値が、画素値カウンタ４１からのカウンタの値で更新される。また、比較回路３８は、比較判定後、画素値カウンタ４１をインクリメントさせる信号を出力する。
【００２６】
画素値カウンタ４１は、比較回路３８からの信号に対応して自己のカウンタの値を０乃至２５５まで１ずつインクリメントして予測タップ抽出回路３２およびスイッチ４２に出力する。また、画素値カウンタ４１は、自己のカウンタの値が２５５になったとき、スイッチ４４をオンとする制御信号を出力するとともに、カウンタの値を０にリセットする。この制御信号に対応して、スイッチ４４がオンとされることにより、画素値レジスタ４３に記憶されている画素値が上位画像メモリ３１に出力され、その値を用いて、上位画像メモリ３１で記憶されている上位階層画像の画素値が更新される。上位画像メモリ３１に記憶されている上位階層画像の全ての画素値が更新された後、その更新された上位階層画像は、クラスコード補正回路２２に出力される。
【００２７】
図８は、クラスコード補正回路２２の詳細な構成例を示している。クラスコード補正回路２２において、画素値更新回路２１から入力される上位階層画像は、上位画像メモリ５１に入力されて記憶される。
【００２８】
予測タップ抽出回路５２は、上位画像メモリ５１に記憶されている上位階層画像の画素を、順次、注目画素に決定し、注目画素を中心とする予測タップ（図６に示すような３×３画素）を抽出してマッピング回路５５に出力する。予測係数取得回路５３は、クラスコードカウンタ５４から入力されるカウンタの値をクラスコードとし、そのクラスコードに対応する予測係数を予測係数メモリ５から読み出してマッピング回路５５に出力する。
【００２９】
クラスコードカウンタ５４は、比較回路５７からの信号に対応して自己の５ビットのカウンタの値を、00000（＝０）乃至11111（＝３１）まで１ずつインクリメントして予測係数取得回路５３およびスイッチ６０に出力する。また、クラスコードカウンタ５４は、自己のカウンタの値が11111（＝３１）になったとき、スイッチ６４をオンとする制御信号を出力するとともに、カウンタの値を00000にリセットする。この制御信号に対応してスイッチ６４がオンとされることにより、クラスコードレジスタ６１に記憶されていた最適なクラスコードがLSB(Least Significant Bit)書換回路６５に供給される。
【００３０】
マッピング回路５５は、注目画素に対応する下位階層画像の画素を中心とする３×３画素の画素値として、予測タップ抽出回路５２から入力された予測タップを構成する画素の画素値と、予測係数取得回路５３から入力された予測係数との線形１次結合を演算し、誤差演算回路５６に出力する。
【００３１】
誤差演算回路５６は、マッピング回路５５から入力される下位階層画像の３×３画素の画素値と、対応する原画像の画素値との誤差（S/N）を演算して比較回路５７に出力する。比較回路５７は、入力された誤差と最小誤差レジスタ５８が記憶している最小誤差（最大S/N）とを比較し、誤差演算回路５６から入力された誤差が最小誤差レジスタ５８が記憶している最小誤差よりも小さい場合、スイッチ５９，６０をオンとする制御信号を出力する。この制御信号に対応して、スイッチ５９がオンとされることにより、最小誤差レジスタ５８に記憶されている最小誤差が誤差演算回路５６からの誤差値で更新され、スイッチ６０がオンとされることにより、クラスコードレジスタ６１に記憶されているクラスコードが、クラスコードカウンタ５４からのカウンタの値で更新される。また、比較回路５７は、比較判定後、クラスコードカウンタ５４のカウンタをインクリメントさせる信号を出力する。
【００３２】
クラスタップ抽出回路６２は、注目画素に対応するクラスタップ（注目画素とその上下左右に位置する画素）を抽出して、クラス分類回路６３に出力する。クラス分類回路６３は、入力されたクラスタップを構成する５個の画素の画素値に、１ビットADRC処理を適用して５ビットの基準クラスコードを生成し、LSB書換回路６５に出力する。
【００３３】
LSB書換回路６５は、クラスコードレジスタ６１からスイッチ６４を介して入力される最適なクラスコードと、クラス分類回路６３から入力される基準クラスコードとの差、すなわち補正量を演算し、その補正量を用いて、上位画像メモリ５１に記憶されている注目画素の画素値のLSB側の５ビットを書き換える。なお、基準クラスコードの値が最適クラスコードの値よりも小さい場合は、最適クラスコードの値から基準クラスコードの値を減算した値が補正量とされる。反対に、基準クラスコードの値が最適クラスコードの値よりも大きい場合、100000（＝３２）から基準クラスコードの値が減算され、最適クラスコードの値が加算された値が補正量とされる。
【００３４】
例えば、基準クラスコードが01001（＝９）であり、最適クラスコードが01100（＝１２）である場合、補正量は00011（３＝１２−９）となり、図９に示すように、注目画素の画素値のLSB側の５ビットが、補正量00011で書き換えられる。また、例えば、基準クラスコードが01100（＝１２）であり、最適クラスコードが01001（＝９）である場合、補正量は11101（＝２９＝３２−１２＋９）となり、注目画素の画素値のLSB側の５ビットが、補正量11101で書き換えられる。
【００３５】
図１の説明に戻る。予測係数更新回路１０は、入力される教師データとしての原画像の画素値と、スイッチ３を介して入力される学習データとしての上位階層画像の画素値、および更新する予測係数からなる正規方程式をクラスコード毎に生成し、さらに、例えば、掃き出し法（Gauss-Jordanの消去法）などを適用して正規方程式を解くことにより、クラスコード毎の予測係数を取得して予測係数メモリ５に出力する。
【００３６】
スイッチ１１は、収束判定回路７からの制御信号に対応してオンとされ、これにより、スイッチ３を介して入力される最適化された上位階層画像が後段に出力される。またこのとき、最適化された予測係数テーブルも後段に出力される。
【００３７】
次に、エンコーダ１の動作について、図１０のフローチャートを参照して説明する。このエンコード処理は、エンコーダ１に原画像が入力されたときに開始される。ステップＳ１において、初期上位画像生成回路２は、入力された原画像を、例えば図２に示すように、３画素×３画素からなるブロックに分割し、各ブロック内の９個の画素の画素値を平均値して、得られた値をブロックの中心に位置する上位階層画像の画素の画素値として初期上位階層画像を生成して、スイッチ３の接点ａに出力する。なお、このとき、スイッチ３はカウンタ８からの制御により接点ａに切り換えられているので、初期上位階層画像がデコード回路４、上位画像更新回路９、予測係数更新回路１０、およびスイッチ１１に供給される。
【００３８】
ステップＳ２において、デコード回路４は、スイッチ３を介して入力された初期上位階層画像の画素値と、予測係数メモリ５から供給される予測係数を用いて下位階層画像の画素値を演算して、誤差演算回路６に出力する。ステップＳ３において、誤差演算回路６は、デコード回路４から入力された下位階層画像の原画像に対するS/Nを演算して収束判定回路７に出力する。
【００３９】
ステップＳ４において、収束判定回路７は、誤差演算回路６から入力されたS/Nの増加量を演算し、増加量が収束しているか否かを判定する。増加量が収束していないと判定された場合、または、１回目の収束判定であってS/Nの増加量が演算できない場合、ステップＳ５に進む。
【００４０】
ステップＳ５において、上位画像更新回路９の画素値更新回路２１は、スイッチ３を介して入力された上位階層画像の画素値を適切な値に更新する。この画素値更新処理の詳細について、図１１のフローチャートを参照して説明する。この画素値更新処理は、上段からの上位階層画像が、上位画像メモリ３１に記憶された後に開始される。
【００４１】
ステップＳ１１において、画素値更新回路２１の予測タップ抽出回路３２は、上位画像メモリ３１に記憶された上位階層画像の１個の画素を、注目画素として指定し、注目画素を中心とする予測タップを構成する画素と、注目画素が含まれる予測タップを構成する画素、すなわち、図７に示すような注目画素を中心とする５×５画素を抽出する。ステップＳ１２において、画素値カウンタ４１は、自己のカウンタの値を０にリセットするとともに、その値を予測タップ抽出回路３２およびスイッチ４２に供給する。
【００４２】
ステップＳ１３において、クラスタップ抽出回路３３は、予測タップ抽出回路３２で注目画素とされた画素を中心とする３×３画素の９個の画素を順次、着目画素として決定し、着目画素とその上下左右に位置する画素からなるクラスタップの画素値を抽出して、クラス分類回路３４に出力する。クラス分類回路３４は、入力されたクラスタップを構成する５個の画素の画素値に、１ビットADRC処理を適用して５ビットのクラスコードを生成し、予測係数取得回路３５に出力する。予測係数取得回路３５は、クラス分類回路３４から入力されたクラスコードに対応する予測係数を予測係数メモリ５から読み出してマッピング回路３６に出力する。
【００４３】
ステップＳ１４において、予測タップ抽出回路３２は、ステップＳ１１で抽出した注目画素の画素値を、画素値カウンタ４１から入力された値に置換して、同時に抽出した他の画素の画素値とともにマッピング回路３６に出力する。マッピング回路３６は、注目画素に対応する下位階層画像の画素を中心とする９×９画素（図７のマッピング範囲）、すなわち、注目画素の画素値の変化が影響する範囲の画素値として、予測タップ抽出回路３２から入力された注目画素を中心とする５×５画素の画素値と、予測係数取得回路３５から入力された９組の予測係数との線形１次結合を演算し、誤差演算回路３７に出力する。
【００４４】
ステップＳ１５において、誤差演算回路３７は、マッピング回路３６から入力された下位階層画像の画素値と、対応する原画像の画素値との誤差（S/N）を演算して比較回路３８に出力する。ステップＳ１６において、比較回路３８は、誤差演算回路３７から入力された誤差が、最小誤差レジスタ３９が記憶している最小誤差（最大S/N）よりも小さいか否かを判定した後、画素値カウンタ４１のカウンタをインクリメントさせる信号を出力する。誤差演算回路３７から入力された誤差が最小誤差レジスタ３９が記憶している最小誤差よりも小さいと判定された場合、ステップＳ１７に進む。
【００４５】
ステップＳ１７において、比較回路３８は、スイッチ４０，４２をオンとする制御信号を出力する。この制御信号に対応して、スイッチ２８がオンとされ、最小誤差レジスタ３９に記憶されている最小誤差が誤差演算回路３７からの誤差値で更新される。また、スイッチ４２がオンとされ、画素値レジスタ４３に記憶されている画素値が、画素値カウンタ４１からのカウンタの値で更新される。
【００４６】
ステップＳ１８において、画素値カウンタ４１は、比較回路３８からの信号に対応して、自己のカウンタの値（注目画素の画素値）が最大値である２５５よりも小さいか否かを判定し、最大値である２５５よりも小さいと判定した場合、ステップＳ１９に進み、自己のカウンタの値（注目画素の画素値）を１だけインクリメントして予測タップ抽出回路３２およびスイッチ４２に出力する。
【００４７】
その後、ステップＳ１８において、画素値カウンタ４１のカウンタの値が、最大値である２５５よりも小さくない（最大値である２５５と等しい）と判定されるまで、ステップＳ１３乃至Ｓ１９の処理が繰り返される。
【００４８】
なお、ステップＳ１６において、誤差演算回路３７から入力された誤差が、最小誤差レジスタ３９で記憶されている最小誤差よりも小さくないと判定された場合、ステップＳ１７はスキップされる。
【００４９】
ステップＳ１８において、画素値カウンタ４１のカウンタの値が、最大値である２５５よりも小さくないと判定された場合、画素値カウンタ４１は、スイッチ４４をオンとする制御信号を出力し、カウンタの値を０にリセットする。この制御信号に対応して、スイッチ４４がオンとされることにより、画素値レジスタ４３に記憶されている画素値が上位画像メモリ３１に出力され、その値を用いて、上位画像メモリ３１で記憶されている上位階層画像の画素値が更新される。
【００５０】
ステップＳ２０において、予測タップ抽出回路３２は、上位画像メモリ３１に記憶されている上位階層画像の全ての画素を、注目画素としたか否かを判定する。全ての画素が注目画素とされていないと判定された場合、ステップＳ１１に戻り、それ以降の処理が繰り返される。また、上位画像メモリ３１に記憶されている上位階層画像の全ての画素が、注目画素として指定したと判定された場合、上位画像メモリ３１に記憶されている、画素値が更新された上位階層画像は、後段のクラスコード補正回路２２に出力される。
【００５１】
以上のように、画素値更新処理が実行された後、図１０のステップＳ６に戻り、上位階層画像の画素値のLSB側の５ビットにクラスコードの補正量が書き込まれる。このクラスコード補正処理の詳細について、図１２のフローチャートを参照して説明する。
【００５２】
このクラスコード補正処理は、画素値更新回路２１からの上位階層画像が、上位画像メモリ５１に記憶された後に開始される。ステップＳ３１において、予測タップ抽出回路５２は、上位画像メモリ５１に記憶されている上位階層画像の１個の画素を注目画素として決定し、注目画素を中心とする３×３画素の予測タップを構成する画素の画素値を上位画像メモリ５１から抽出し、マッピング回路５５に出力する。
【００５３】
ステップＳ３２において、クラスタップ抽出回路６２は、注目画素を中心とするクラスタップ（注目画素とその上下左右に位置する画素）を抽出して、クラス分類回路６３に出力する。クラス分類回路６３は、入力されたクラスタップを構成する５個の画素の画素値に１ビットADRC処理を適用し、５ビットの基準クラスコードを生成して、LSB書換回路６５に出力する。
【００５４】
ステップＳ３３において、クラスコードカウンタ５４は、自己のカウンタの値を00000（＝０）にリセットし、その値を予測係数取得回路５３、およびスイッチ６０に供給する。ステップＳ３４において、予測係数取得回路５３は、クラスコードカウンタ５４から供給されたカウンタの値をクラスコードとし、そのクラスコードに対応する予測係数を予測係数メモリ５から読み出してマッピング回路５５に出力する。
【００５５】
ステップＳ３５において、マッピング回路５５は、注目画素に対応する下位階層画像の画素を中心とする３×３画素の画素値として、予測タップ抽出回路５２から入力された予測タップを構成する画素の画素値と、予測係数取得回路５３から入力された予測係数との線形１次結合を演算し、誤差演算回路５６に出力する。
【００５６】
ステップＳ３６において、誤差演算回路５６は、マッピング回路５５から入力される下位階層画像の３×３画素の画素値と、対応する原画像の画素値との誤差（S/N）を演算して比較回路５７に出力する。ステップＳ３７において、比較回路５７は、誤差演算回路５６から入力された誤差が、最小誤差レジスタ５８で記憶されている最小誤差（最大S/N）よりも小さいか否かを判定するとともに、クラスコードカウンタ５４をインクリメントさせる信号を出力する。
【００５７】
誤差演算回路５６から入力された誤差が、最小誤差レジスタ５８で記憶されている最小誤差よりも小さいと判定された場合、ステップＳ３８に進み、スイッチ５９，６０をオンとする制御信号が出力される。この制御信号に対応して、スイッチ５９がオンとされることにより、最小誤差レジスタ５８に記憶されている最小誤差が誤差演算回路５６からの誤差値で更新され、スイッチ６０がオンとされることにより、クラスコードレジスタ６１に記憶されているクラスコードが、クラスコードカウンタ５４からのカウンタの値で更新される。
【００５８】
ステップＳ３９において、クラスコードカウンタ５４は、比較回路５７からの信号に対応して、自己のカウンタの値（クラスコード）が最大値である11111（＝３１）よりも小さいか否かを判定し、最大値である11111（＝３１）よりも小さいと判定した場合、ステップＳ４０に進み、自己のカウンタの値（クラスコード）を１だけインクリメントして予測係数取得回路５３およびスイッチ６０に出力する。
【００５９】
その後、ステップＳ３９において、クラスコードカウンタ５４のカウンタの値が、最大値11111（＝３１）よりも小さくないと判定されるまで、ステップＳ３４乃至Ｓ４０の処理が繰り返される。なお、ステップＳ３７において、誤差演算回路５６から入力された誤差が、最小誤差レジスタ３９で記憶されている最小誤差よりも小さくないと判定された場合、ステップＳ３８はスキップされる。
【００６０】
ステップＳ３９において、クラスコードカウンタ５４のカウンタの値が、最大値である11111（＝３１）よりも小さくないと判定された場合、ステップＳ４１に進む。ステップＳ４１において、クラスコードカウンタ５４は、スイッチ６４をオンとする制御信号を出力し、カウンタの値を00000（＝０）にリセットする。この制御信号に対応して、スイッチ６４がオンとされ、クラスコードレジスタ６１に記憶されている最適クラスコードが、LSB書換回路６５に供給される。
【００６１】
LSB書換回路６５は、クラスコードレジスタ６１からスイッチ６４を介して入力された最適クラスコードと、ステップＳ３２でクラス分類回路６３から入力された基準クラスコードとの差、すなわち補正量を演算し、その補正値を用いて、上位画像メモリ５１に記憶されている注目画素の画素値のLSB側の５ビットを書き換える。
【００６２】
ステップＳ４２において、予測タップ抽出回路５２は、上位画像メモリ５１に記憶されている上位階層画像の全ての画素を、注目画素としたか否かを判定する。全ての画素が注目画素とされていないと判定された場合、ステップＳ３１に戻り、それ以降の処理が繰り返される。ステップＳ４２において、上位画像メモリ５１に記憶されている上位階層画像の全ての画素が、注目画素として指定したと判定された場合、上位画像メモリ３１に記憶されている、画素値のLSB側の５ビットがクラスコードの補正量に書き換えられた上位階層画像は、スイッチ３の接点ｂに出力される。
【００６３】
以上のように、クラスコード補正処理が実行された後、図１０のステップＳ７に戻る。ステップＳ７において、カウンタ８は、自己のカウンタを１だけインクリメントするとともに、スイッチ３に制御信号を出力する。この制御信号に対応して、スイッチ３は、接点ｂに切り換えられ、上位画像更新回路９から出力された上位階層画像が予測係数更新回路１０に入力される。予測係数更新回路１０は、スイッチ３を介して入力された教師データとしての原画像の画素値と、スイッチ３を介して入力される学習データとしての上位階層画像の画素値、および更新する予測係数からなる正規方程式をクラスコード毎に生成し、さらに、その正規方程式を解くことにより、クラスコード毎の予測係数を取得して予測係数メモリ５に出力する。予測係数メモリ５は、入力された予測係数（予測係数テーブル）を用いて、それまで記憶していた予測係数（予測係数テーブル）を更新する。
【００６４】
その後、ステップＳ４において、収束判定回路７が、S/Nの増加量が収束していると判定するか、または、カウンタ８からの制御信号を受信するまで、ステップＳ２乃至Ｓ７の処理が繰り返されことにより、最適化された上位階層画像と予測係数テーブルが生成される。
【００６５】
なお、生成された上位階層画像および予測係数テーブルは、図示せぬ伝送媒体または記録媒体を介してデコーダ（図１３）に供給される。
【００６６】
以上のように、本実施の形態であるエンコーダ１においては、画素値のLSB側に、クラスタップによって決定されるクラスコードを補正するための情報を記録するようにしたので、原画像に近い下位階層画像を生成できる上位階層画像を少ない更新回数で生成することが可能である。
【００６７】
図１３は、エンコーダ１が出力した上位階層画像および予測係数テーブルを用いて原画像を復元するデコーダの構成例を示している。このデコーダ７１において、エンコーダ１からの上位階層画像は、上位画像メモリ７２に記憶され、予測係数テーブルは、マッピング回路７８に内蔵されたメモリに記憶される。
【００６８】
予測タップ取得回路７３は、上位画像メモリ７２に記憶されている上位階層画像の画素を、順次、注目画素に決定して、その注目画素を中心とする予測タップの画素値を取得してマッピング回路７８に出力する。クラスタップ取得回路７４は、予測タップ取得回路７３で決定された注目画素を中心とするクラスタップの画素値を取得してADRCクラス分類回路７５に出力し、注目画素の画素値をクラスコード補正回路７６に出力する。
【００６９】
ADRCクラス分類回路７５は、クラスタップ取得回路７４から入力されたクラスタップを構成する５個の画素の画素値に、１ビットADRC処理を施して５ビットの基準クラスコードを生成し、クラスコード決定回路７７の出力する。クラスコード補正回路７６は、クラスタップ取得回路７４から入力された注目画素の画素値のLSB側の５ビットを読み出して、クラスコード決定回路７７に出力する。クラスコード決定回路７７は、ADRCクラス分類回路７５から入力された基準クラスコードに、クラスコード補正回路７６から入力された値（補正量）を加算して最適クラスコードを決定し、マッピング回路７８に出力する。ただし、基準クラスコードに補正量を加算した値が、クラスコードの最大値である11111（＝３１）よりも大きい場合、その値から100000（＝３２）を減算した値を最適クラスコードに決定する。
【００７０】
マッピング回路７８は、クラスコード決定回路７７から入力された最適クラスコードに対応する予測係数を、エンコーダ１から供給された予測係数テーブルから読み出し、予測タップ取得回路７３から入力された予測タップを構成する画素の画素値と、読み出した予測係数との線形１次結合を演算して、復元した原画像の画素値として下位画像メモリ７９に記録される。下位画像メモリ７９に記録された下位階層画像は、所定のタイミングで、例えば図示せぬモニタに出力される。
【００７１】
次に、このデコーダ７１の動作について、図１４のフローチャートを参照して説明する。このデコード処理は、エンコーダ１からの上位階層画像が上位画像メモリ７２に記憶され、予測係数テーブルがマッピング回路７８に内蔵されたメモリに記憶された後に開始される。
【００７２】
ステップＳ５１において、予測タップ取得回路７３は、上位画像メモリ７２に記憶されている上位階層画像の１個の画素を注目画素に決定する。ステップＳ５２において、クラスタップ取得回路７４は、ステップＳ５１で予測タップ取得回路７３が決定した注目画素を中心とするクラスタップの画素値を取得してADRCクラス分類回路７５に出力し、注目画素の画素値をクラスコード補正回路７６に出力する。
【００７３】
ステップＳ５３において、ADRCクラス分類回路７５は、クラスタップ取得回路７４から入力されたクラスタップを構成する５個の画素の画素値に、１ビットADRC処理を施して５ビットの基準クラスコードを生成し、クラスコード決定回路７７の出力する。ステップＳ５４において、クラスコード補正回路７６は、クラスタップ取得回路７４から入力された注目画素の画素値のLSB側の５ビットを読み出し、補正量としてクラスコード決定回路７７に出力する。クラスコード決定回路７７は、ADRCクラス分類回路７５から入力された基準クラスコードに、クラスコード補正回路７６から入力されたクラスコード補正量を加算して最適クラスコードを決定し、マッピング回路７８に出力する。
【００７４】
例えば、図１５に示すように、基準クラスコードが01001（＝９）であって、補正量が00011（＝３）である場合、最適クラスコードは01100（＝１２＝９＋３）となる。  また、基準クラスコードが01001（＝９）であって、補正量が11011（＝２７）である場合、最適クラスコードは00100（＝４＝９＋２７−３２）となる。
【００７５】
ステップＳ５５において、予測タップ取得回路７３は、ステップＳ５１で決定した注目画素を中心とする予測タップの画素値を取得してマッピング回路７８に出力する。
【００７６】
ステップＳ５６において、マッピング回路７８は、ステップＳ５４でクラスコード決定回路７７から入力された最適クラスコードに対応する予測係数を、エンコーダ１から供給されて記憶している予測係数テーブルから読み出し、予測タップ取得回路７３から入力された予測タップを構成する画素の画素値と、読み出した予測係数との線形１次結合を演算して、復元した原画像の画素値として下位画像メモリ７９に記憶させる。
【００７７】
ステップＳ５７において、予測タップ取得回路７３は、上位画像メモリ７２に記憶されている上位階層画像の全ての画素を注目画素に決定したか否かを判定し、全ての画素を注目画素に決定していないと判定した場合、ステップＳ５１に戻り、それ以降の処理が繰り返される。その後、ステップＳ５７において、全ての画素が注目画素に決定されたと判定された場合、下位画像メモリ７９に記憶された下位階層画像が、図示せぬモニタに出力される。
【００７８】
このようにエンコードされた下位階層画像は、最適クラスコードに対応する予測係数が用いられて復元させているので、原画像に対するS/Nが良好なものとなる。
【００７９】
なお、本実施の形態においては、補正量の情報量を５ビットとすることにより、３１通りの補正が可能とされているが、情報量は５ビットに限られるものではない。
【００８０】
また、本実施の形態においては、注目画素のLSB側をクラスコードの補正量で書き換えるようにしたが、図１６に示すように、最適クラスコード（図１６の場合01011（＝１１））で書き換えるようにしてもよい。この場合、エンコーダ１およびデコーダ７１において、クラスタップを抽出する回路や、ADRC処理を実行する回路を省略することが可能である。
【００８１】
なお、上述したような処理を行うコンピュータプログラムをユーザに提供する提供媒体としては、磁気ディスク、CD-ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
【００８２】
【発明の効果】
以上のように、請求項１に記載の画像符号化装置、請求項２に記載の画像符号化方法、および請求項３に記載の記録媒体によれば、原画像に近い下位階層画像を復元可能な上位階層画像を生成することが可能となる。
【００８３】
また、請求項４に記載の画像復号装置、請求項５に記載の画像復号方法、および請求項６に記載の記録媒体によれば、原画像に近い下位階層画像を復元することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用したエンコーダ１の構成例を示すブロック図である。
【図２】画素の配置を説明するための図である。
【図３】予測係数テーブルを説明するための図である。
【図４】図１の上位画像更新回路９の詳細な構成例を示すブロック図である。
【図５】図４の画素値更新回路２１の詳細な構成例を示すブロック図である。
【図６】予測タップを説明するための図である。
【図７】マッピングの範囲を説明するための図である。
【図８】図４のクラスコード補正回路２２の詳細な構成例を示すブロック図である。
【図９】図８のLSB書換回路６５の処理を説明するための図である。
【図１０】エンコーダ１の動作を説明するフローチャートである。
【図１１】図１０のステップＳ５の画素値更新処理を説明するフローチャートである。
【図１２】図１０のステップＳ６のクラスコード補正処理を説明するフローチャートである。
【図１３】本発明を適用したデコーダ７１の構成例を示すブロック図である。
【図１４】デコーダ７１の動作を説明するフローチャートである。
【図１５】図１３のクラスコード決定回路７７の処理を説明するための図である。
【図１６】上位階層画像の画素値のLSB側を最適なクラスコードで書き換えた一例を示す図である。
【符号の説明】
１  エンコーダ，  ２  初期上位画像生成回路，  ３  スイッチ，  ４  デコード回路，  ５  予測係数メモリ，  ６  誤差演算回路，  ７  収束判定回路，８  カウンタ，  ９  上位画像更新回路，  １０  予測係数更新回路，  １１スイッチ，  ２１  画素値更新回路，  ２２  クラスコード補正回路，  ７１デコーダ，  ７２  上位画像メモリ，  ７３  予測タップ取得回路，  ７４  クラスタップ取得回路，  ７５  ADRCクラス分類回路，  ７６  クラスコード補正回路，  ７７  クラスコード決定回路，  ７８  マッピング回路，  ７９  下位画像メモリ
【図１】
0004217930.tif 000002
【図２】
0004217930.tif 000003
【図３】
0004217930.tif 000004
【図４】
0004217930.tif 000005
【図５】
0004217930.tif 000006
【図６】
0004217930.tif 000007
【図７】
0004217930.tif 000008
【図８】
0004217930.tif 000009
【図９】
0004217930.tif 000010
【図１０】
0004217930.tif 000011
【図１１】
0004217930.tif 000012
【図１２】
0004217930.tif 000013
【図１３】
0004217930.tif 000014
【図１４】
0004217930.tif 000015
【図１５】
0004217930.tif 000016
【図１６】
0004217930.tif 000017