(57)【特許請求の範囲】
【請求項１】
原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮手段と、
前記圧縮手段により生成された前記縮小画像データの画素値、または、前記縮小画像データの画素値を補正した補正データの画素値を補正し、前記補正データを生成する補正手段と、
前記補正手段により生成された前記補正データであって、前記原画像のうちの第１の原画像に対応する第１の補正データと、前記第１の原画像より時間的に前の第２の原画像に対応する第２の補正データとの間の動き、または、前記第１の補正データと前記第１の原画像より時間的に後の第３の原画像に対応する第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定手段と、
前記第１の補正データを構成する画素のうちの１つを注目画素とし、前記第２の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素、または、前記第３の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、前記注目画素を少なくとも予測補正データとして抽出する抽出手段と、
前記抽出手段により前記予測補正データとして抽出された画素の画素値、および、前記原画像の画素値の予測値を予測するための予測式の係数である予測係数を前記予測式に代入して、前記第１の原画像における前記注目画素を含む前記注目画素の近傍の領域の画素値の予測値を演算する演算手段と、
前記演算手段により演算された前記予測値からなる予測画像の、前記第１の原画像に対する前記予測誤差を算出する予測誤差算出手段と、
前記予測誤差算出手段により算出された前記予測誤差の所定の閾値との比較、または、前記補正データを生成した回数の所定の回数との比較を行うことにより、前記補正手段により生成された前記第１の補正データが前記第１の原画像の符号化結果として適正であるか否かを判定する判定手段と、
前記判定手段により、前記第１の補正データが前記第１の原画像の符号化結果として適正であると判定された場合、そのときの前記第１の補正データを最適な圧縮データとして出力する出力手段と
を備え、
前記判定手段により、前記第１の補正データが前記第１の原画像の符号化結果として適正であると判定されるまで、
前記補正手段は、前記予測誤差が減少するように画素値を補正する方向および量を調整しながら前記第１の補正データを生成し、
前記動き推定手段は、前記第１の補正データと前記第２の補正データとの間の動き、または、前記第１の補正データと前記第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、
前記抽出手段は、前記予測補正データを抽出し、
前記演算手段は、前記注目画素の近傍の領域の画素値の予測値を演算し、
前記予測誤差算出手段は、前記予測誤差を算出する
処理を繰り返す
ことを特徴とする画像符号化装置。
【請求項２】
前記動き推定手段は、
前記補正手段により生成された前記第１の補正データ、前記第２の補正データ、および前記第３の補正データを保持する補正データ保持手段と、
前記補正データ保持手段により保持されている前記第１の補正データと前記第２の補正データとの間の絶対差分和を計算する第１の計算手段と、
前記補正データ保持手段により保持されている前記第１の補正データと前記第３の補正データとの間の絶対差分和を計算する第２の計算手段と、
前記第１の計算手段により計算された前記絶対差分和の最小値を検出する第１の最小値検出手段と、
前記第２の計算手段により計算された前記絶対差分和の最小値を検出する第２の最小値検出手段と
を備えることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記予測手段は、
前記補正データを、その画素値に応じて所定のクラスに分類するクラス分類手段と、
前記クラス毎に前記予測係数を保持し、前記クラス分類手段により分類された前記クラスに対応する予測係数を出力する予測係数保持手段と
をさらに備え、
前記演算手段は、前記抽出手段により前記予測補正データとして抽出された画素の画素値、および、前記予測係数保持手段により出力された前記予測係数を前記予測式に代入して、前記予測値を演算する
を備えることを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記出力手段は、出力する前記補正データが分類された前記クラスに対応する前記予測係数をさらに出力する
ことを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮ステップと、
前記圧縮ステップの処理により生成された前記縮小画像データの画素値、または、前記縮小画像データの画素値を補正した補正データの画素値を補正し、前記補正データを生成する補正ステップと、
前記補正ステップの処理により生成された前記補正データであって、前記原画像のうちの第１の原画像に対応する第１の補正データと、前記第１の原画像より時間的に前の第２の原画像に対応する第２の補正データとの間の動き、または、前記第１の補正データと前記第１の原画像より時間的に後の第３の原画像に対応する第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、
前記第１の補正データを構成する画素のうちの１つを注目画素とし、前記第２の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素、または、前記第３の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、前記注目画素を少なくとも予測補正データとして抽出する抽出ステップと、
前記抽出ステップの処理により前記予測補正データとして抽出された画素の画素値、および、前記原画像の画素値の予測値を予測するための予測式の係数である予測係数を前記予測式に代入して、前記第１の原画像における前記注目画素を含む前記注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、
前記演算ステップの処理により演算された前記予測値からなる予測画像の、前記第１の原画像に対する前記予測誤差を算出する予測誤差算出ステップと、
前記予測誤差算出ステップの処理により算出された前記予測誤差の所定の閾値との比較、または、前記補正データを生成した回数の所定の回数との比較を行うことにより、前記補正ステップの処理により生成された前記補正データが前記第１の原画像の符号化結果として適正であるか否かを判定する判定ステップと、
前記判定ステップの処理により、前記第１の補正データが前記第１の原画像の符号化結果として適正であると判定された場合、そのときの前記第１の補正データを最適な圧縮データとして出力する出力ステップと
を含み、
前記判定ステップの処理により、前記第１の補正データが前記第１の原画像の符号化結果として適正であると判定されるまで、
前記補正ステップの処理により、前記予測誤差が減少するように画素値を補正する方向および量を調整しながら前記第１の補正データを生成し、
前記動き推定ステップの処理により、前記第１の補正データと前記第２の補正データとの間の動き、または、前記第１の補正データと前記第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、
前記抽出ステップの処理により、前記予測補正データを抽出し、
前記演算ステップの処理により、前記注目画素の近傍の領域の画素値の予測値を演算し、
前記予測誤差算出ステップの処理により、前記予測誤差を算出する
処理を繰り返す
ことを特徴とする画像符号化方法。
【請求項６】
原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮ステップと、
前記圧縮ステップの処理により生成された前記縮小画像データの画素値、または、前記縮小画像データの画素値を補正した補正データの画素値を補正し、前記補正データを生成する補正ステップと、
前記補正ステップの処理により生成された前記補正データであって、前記原画像のうちの第１の原画像に対応する第１の補正データと、前記第１の原画像より時間的に前の第２の原画像に対応する第２の補正データとの間の動き、または、前記第１の補正データと前記第１の原画像より時間的に後の第３の原画像に対応する第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、
前記第１の補正データを構成する画素のうちの１つを注目画素とし、前記第２の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素、または、前記第３の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、前記注目画素を少なくとも予測補正データとして抽出する抽出ステップと、
前記抽出ステップの処理により前記予測補正データとして抽出された画素の画素値、および、前記原画像の画素値の予測値を予測するための予測式の係数である予測係数を前記予測式に代入して、前記第１の原画像における前記注目画素を含む前記注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、
前記演算ステップの処理により演算された前記予測値からなる予測画像の、前記第１の原画像に対する前記予測誤差を算出する予測誤差算出ステップと、
前記予測誤差算出ステップの処理により算出された前記予測誤差の所定の閾値との比較、または、前記補正データを生成した回数の所定の回数との比較を行うことにより、前記補正ステップの処理により生成された前記補正データが前記第１の原画像の符号化結果として適正であるか否かを判定する判定ステップと、
前記判定ステップの処理により、前記第１の補正データが前記第１の原画像の符号化結果として適正であると判定された場合、そのときの前記第１の補正データを最適な圧縮データとして出力する出力ステップと
を含み、
前記判定ステップの処理により、前記第１の補正データが前記第１の原画像の符号化結果として適正であると判定されるまで、
前記補正ステップの処理により、前記予測誤差が減少するように画素値を補正する方向および量を調整しながら前記第１の補正データを生成し、
前記動き推定ステップの処理により、前記第１の補正データと前記第２の補正データとの間の動き、または、前記第１の補正データと前記第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、
前記抽出ステップの処理により、前記予測補正データを抽出し、
前記演算ステップの処理により、前記注目画素の近傍の領域の画素値の予測値を演算し、
前記予測誤差算出ステップの処理により、前記予測誤差を算出する
処理を繰り返す
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項７】
原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮ステップと、
前記圧縮ステップの処理により生成された前記縮小画像データの画素値、または、前記縮小画像データの画素値を補正した補正データの画素値を補正し、前記補正データを生成する補正ステップと、
前記補正ステップの処理により生成された前記補正データであって、前記原画像のうちの第１の原画像に対応する第１の補正データと、前記第１の原画像より時間的に前の第２の原画像に対応する第２の補正データとの間の動き、または、前記第１の補正データと前記第１の原画像より時間的に後の第３の原画像に対応する第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、
前記第１の補正データを構成する画素のうちの１つを注目画素とし、前記第２の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素、または、前記第３の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、前記注目画素を少なくとも予測補正データとして抽出する抽出ステップと、
前記抽出ステップの処理により前記予測補正データとして抽出された画素の画素値、および、前記原画像の画素値の予測値を予測するための予測式の係数である予測係数を前記予測式に代入して、前記第１の原画像における前記注目画素を含む前記注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、
前記演算ステップの処理により演算された前記予測値からなる予測画像の、前記第１の原画像に対する前記予測誤差を算出する予測誤差算出ステップと、
前記予測誤差算出ステップの処理により算出された前記予測誤差の所定の閾値との比較、または、前記補正データを生成した回数の所定の回数との比較を行うことにより、前記補正ステップの処理により生成された前記補正データが前記第１の原画像の符号化結果として適正であるか否かを判定する判定ステップと、
前記判定ステップの処理により、前記第１の補正データが前記第１の原画像の符号化結果として適正であると判定された場合、そのときの前記第１の補正データを最適な圧縮データとして出力する出力ステップと
を含み、
前記判定ステップの処理により、前記第１の補正データが前記第１の原画像の符号化結果として適正であると判定されるまで、
前記補正ステップの処理により、前記予測誤差が減少するように画素値を補正する方向および量を調整しながら前記第１の補正データを生成し、
前記動き推定ステップの処理により、前記第１の補正データと前記第２の補正データとの間の動き、または、前記第１の補正データと前記第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、
前記抽出ステップの処理により、前記予測補正データを抽出し、
前記演算ステップの処理により、前記注目画素の近傍の領域の画素値の予測値を演算し、
前記予測誤差算出ステップの処理により、前記予測誤差を算出する
処理を繰り返す
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像符号化装置および方法、記録媒体、並びにプログラムに関し、特に、原画像とほぼ同一の復号画像が得られるように、画像を、例えば間引くことにより符号化する場合において、より原画像に近い画像を符号化し、復号することができるようにした、画像符号化装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
従来より、画像の符号化方法については、種々の方法が提案されているが、そのうちの１つに、例えば、画像を、その画素を間引くこと（subsampling）により圧縮して符号化する方法がある。
【０００３】
しかしながら、このように間引いて圧縮した画像を、単純に補間により伸張した場合、その結果得られる復号画像の解像度が劣化する。
【０００４】
このように復号画像の解像度が劣化する原因として、第１に、間引いた画像には、元の画像に含まれる高周波数成分が含まれていないことと、第２に、間引き後の画像を構成する画素の画素値が、元の画像を復元するのに、必ずしも適当でないことが考えられる。
【０００５】
そこで、本出願人は、例えば、特願平９−２０８４８３号として、図１に示されるような画像符号化装置を先に提案した。
【０００６】
図１の例においては、縮小画像作成部１１が、入力された画像データを、例えば９個の画素から１つの画素だけを選択する（間引く）ことで縮小画像データを生成する。補正部１２は、制御部１５より供給される制御信号に基づいて、縮小画像作成部１１より供給される縮小画像データを補正して、補正データを生成する。ローカルデコード部１３は、補正部１２により生成された補正データを、クラス分類適応処理を利用してデコードし、元の画像を予測する予測値を生成する。誤差算出部１４は、ローカルデコード部１３により算出された予測値を入力画像データと比較し、その誤差を予測誤差として算出して、制御部１５に供給する。
【０００７】
制御部１５は、誤差算出部１４により算出された予測誤差に基づいて制御信号を生成し、補正部１２に供給する。補正部１２は、この制御信号に基づいて縮小画像データを補正して、ローカルデコード部１３に供給する。
【０００８】
以上のような処理が繰り返し実行されることで、予測誤差が所定値以下になったとき、制御部１５は、そのとき補正部１２より出力される補正データを最適圧縮データとして、そのときローカルデコード部１３により予測処理に用いられた予測係数とともに多重化部１６に供給し、多重化させ、符号化データとして出力させる。
【０００９】
【発明が解決しようとする課題】
しかしながら、先の提案においては、ローカルデコード部１３において、予測処理に用いられる補正データが同一のフレーム内の補正データとされているため、特に、動きがある画像を正確に元の画像により近い画像として復号することが困難である課題があった。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、より正確に、原画像に近い画像を復号することができるようにするものである。
【００１１】
【課題を解決するための手段】
本発明の画像符号化装置は、原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮手段と、圧縮手段により生成された縮小画像データの画素値、または、縮小画像データの画素値を補正した補正データの画素値を補正し、補正データを生成する補正手段と、補正手段により生成された補正データであって、原画像のうちの第１の原画像に対応する第１の補正データと、第１の原画像より時間的に前の第２の原画像に対応する第２の補正データとの間の動き、または、第１の補正データと第１の原画像より時間的に後の第３の原画像に対応する第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定手段と、第１の補正データを構成する画素のうちの１つを注目画素とし、第２の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素、または、第３の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、注目画素を少なくとも予測補正データとして抽出する抽出手段と、抽出手段により予測補正データとして抽出された画素の画素値、および、原画像の画素値の予測値を予測するための予測式の係数である予測係数を予測式に代入して、第１の原画像における注目画素を含む注目画素の近傍の領域の画素値の予測値を演算する演算手段と、演算手段により演算された予測値からなる予測画像の、第１の原画像に対する予測誤差を算出する予測誤差算出手段と、予測誤差算出手段により算出された予測誤差の所定の閾値との比較、または、補正データを生成した回数の所定の回数との比較を行うことにより、補正手段により生成された第１の補正データが第１の原画像の符号化結果として適正であるか否かを判定する判定手段と、判定手段により、第１の補正データが第１の原画像の符号化結果として適正であると判定された場合、そのときの第１の補正データを最適な圧縮データとして出力する出力手段とを備え、判定手段により、第１の補正データが第１の原画像の符号化結果として適正であると判定されるまで、補正手段は、予測誤差が減少するように画素値を補正する方向および量を調整しながら第１の補正データを生成し、動き推定手段は、第１の補正データと第２の補正データとの間の動き、または、第１の補正データと第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、抽出手段は、予測補正データを抽出し、演算手段は、注目画素の近傍の領域の画素値の予測値を演算し、予測誤差算出手段は、予測誤差を算出する処理を繰り返すことを特徴とする。
【００１２】
前記動き推定手段は、補正手段により生成された第１の補正データ、第２の補正データ、および第３の補正データを保持する補正データ保持手段と、補正データ保持手段により保持されている第１の補正データと第２の補正データとの間の絶対差分和を計算する第１の計算手段と、補正データ保持手段により保持されている第１の補正データと第３の補正データとの間の絶対差分和を計算する第２の計算手段と、第１の計算手段により計算された絶対差分和の最小値を検出する第１の最小値検出手段と、第２の計算手段により計算された絶対差分和の最小値を検出する第２の最小値検出手段とを備えるようにすることができる。
【００１３】
前記予測手段は、補正データを、その画素値に応じて所定のクラスに分類するクラス分類手段と、クラス毎に予測係数を保持し、クラス分類手段により分類されたクラスに対応する予測係数を出力する予測係数保持手段とをさらに備えるようにし、前記演算手段は、抽出手段により予測補正データとして抽出された画素の画素値、および、予測係数保持手段により出力された予測係数を予測式に代入して、予測値を演算することができる。
【００１４】
前記出力手段は、出力する補正データが分類されたクラスに対応する予測係数をさらに出力することができる。
【００１５】
本発明の画像符号化方法は、原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮ステップと、圧縮ステップの処理により生成された縮小画像データの画素値、または、縮小画像データの画素値を補正した補正データの画素値を補正し、補正データを生成する補正ステップと、補正ステップの処理により生成された補正データであって、原画像のうちの第１の原画像に対応する第１の補正データと、第１の原画像より時間的に前の第２の原画像に対応する第２の補正データとの間の動き、または、第１の補正データと第１の原画像より時間的に後の第３の原画像に対応する第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、第１の補正データを構成する画素のうちの１つを注目画素とし、第２の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素、または、第３の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、注目画素を少なくとも予測補正データとして抽出する抽出ステップと、抽出ステップの処理により予測補正データとして抽出された画素の画素値、および、原画像の画素値の予測値を予測するための予測式の係数である予測係数を予測式に代入して、第１の原画像における注目画素を含む注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、演算ステップの処理により演算された予測値からなる予測画像の、第１の原画像に対する予測誤差を算出する予測誤差算出ステップと、予測誤差算出ステップの処理により算出された予測誤差の所定の閾値との比較、または、補正データを生成した回数の所定の回数との比較を行うことにより、補正ステップの処理により生成された補正データが第１の原画像の符号化結果として適正であるか否かを判定する判定ステップと、判定ステップの処理により、第１の補正データが第１の原画像の符号化結果として適正であると判定された場合、そのときの第１の補正データを最適な圧縮データとして出力する出力ステップとを含み、判定ステップの処理により、第１の補正データが第１の原画像の符号化結果として適正であると判定されるまで、補正ステップの処理により、予測誤差が減少するように画素値を補正する方向および量を調整しながら第１の補正データを生成し、動き推定ステップの処理により、第１の補正データと第２の補正データとの間の動き、または、第１の補正データと第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、抽出ステップの処理により、予測補正データを抽出し、演算ステップの処理により、注目画素の近傍の領域の画素値の予測値を演算し、予測誤差算出ステップの処理により、予測誤差を算出する処理を繰り返すことを特徴とする。
【００１６】
本発明の記録媒体のプログラムは、原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮ステップと、圧縮ステップの処理により生成された縮小画像データの画素値、または、縮小画像データの画素値を補正した補正データの画素値を補正し、補正データを生成する補正ステップと、補正ステップの処理により生成された補正データであって、原画像のうちの第１の原画像に対応する第１の補正データと、第１の原画像より時間的に前の第２の原画像に対応する第２の補正データとの間の動き、または、第１の補正データと第１の原画像より時間的に後の第３の原画像に対応する第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、第１の補正データを構成する画素のうちの１つを注目画素とし、第２の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素、または、第３の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、注目画素を少なくとも予測補正データとして抽出する抽出ステップと、抽出ステップの処理により予測補正データとして抽出された画素の画素値、および、原画像の画素値の予測値を予測するための予測式の係数である予測係数を予測式に代入して、第１の原画像における注目画素を含む注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、演算ステップの処理により演算された予測値からなる予測画像の、第１の原画像に対する予測誤差を算出する予測誤差算出ステップと、予測誤差算出ステップの処理により算出された予測誤差の所定の閾値との比較、または、補正データを生成した回数の所定の回数との比較を行うことにより、補正ステップの処理により生成された補正データが第１の原画像の符号化結果として適正であるか否かを判定する判定ステップと、判定ステップの処理により、第１の補正データが第１の原画像の符号化結果として適正であると判定された場合、そのときの第１の補正データを最適な圧縮データとして出力する出力ステップとを含み、判定ステップの処理により、第１の補正データが第１の原画像の符号化結果として適正であると判定されるまで、補正ステップの処理により、予測誤差が減少するように画素値を補正する方向および量を調整しながら第１の補正データを生成し、動き推定ステップの処理により、第１の補正データと第２の補正データとの間の動き、または、第１の補正データと第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、抽出ステップの処理により、予測補正データを抽出し、演算ステップの処理により、注目画素の近傍の領域の画素値の予測値を演算し、予測誤差算出ステップの処理により、予測誤差を算出する処理を繰り返すことを特徴とする。
【００１７】
本発明のプログラムは、原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮ステップと、圧縮ステップの処理により生成された縮小画像データの画素値、または、縮小画像データの画素値を補正した補正データの画素値を補正し、補正データを生成する補正ステップと、補正ステップの処理により生成された補正データであって、原画像のうちの第１の原画像に対応する第１の補正データと、第１の原画像より時間的に前の第２の原画像に対応する第２の補正データとの間の動き、または、第１の補正データと第１の原画像より時間的に後の第３の原画像に対応する第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、第１の補正データを構成する画素のうちの１つを注目画素とし、第２の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素、または、第３の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、注目画素を少なくとも予測補正データとして抽出する抽出ステップと、抽出ステップの処理により予測補正データとして抽出された画素の画素値、および、原画像の画素値の予測値を予測するための予測式の係数である予測係数を予測式に代入して、第１の原画像における注目画素を含む注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、演算ステップの処理により演算された予測値からなる予測画像の、第１の原画像に対する予測誤差を算出する予測誤差算出ステップと、予測誤差算出ステップの処理により算出された予測誤差の所定の閾値との比較、または、補正データを生成した回数の所定の回数との比較を行うことにより、補正ステップの処理により生成された補正データが第１の原画像の符号化結果として適正であるか否かを判定する判定ステップと、判定ステップの処理により、第１の補正データが第１の原画像の符号化結果として適正であると判定された場合、そのときの第１の補正データを最適な圧縮データとして出力する出力ステップとを含み、判定ステップの処理により、第１の補正データが第１の原画像の符号化結果として適正であると判定されるまで、補正ステップの処理により、予測誤差が減少するように画素値を補正する方向および量を調整しながら第１の補正データを生成し、動き推定ステップの処理により、第１の補正データと第２の補正データとの間の動き、または、第１の補正データと第３の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、抽出ステップの処理により、予測補正データを抽出し、演算ステップの処理により、注目画素の近傍の領域の画素値の予測値を演算し、予測誤差算出ステップの処理により、予測誤差を算出する処理を繰り返す処理をコンピュータに実行させることを特徴とする。
【００２３】
本発明の画像符号化装置および方法、記録媒体、並びにプログラムにおいては、第１の原画像に対応する第１の補正データと、第１の原画像より時間的に前の第２の原画像に対応する第２の補正データ、または第１の原画像より時間的に後の第３の原画像に対応する第３の補正データの少なくとも一方を利用して、第１の原画像の動きが推定され、その動きベクトルに基づいて、第１の原画像が予測される。
【００２５】
【発明の実施の形態】
図２は、本発明を適用した画像処理装置の一実施の形態の構成を示している。
【００２６】
送信装置４１には、ディジタル化された画像データが供給される。送信装置４１は、入力された画像データを、例えば図３に示されるように、１／９に間引くこと（その画素数を少なくすること）により圧縮、符号化し、その結果得られる符号化データを、さらにクラス分類適応処理により予測し、例えば、光ディスク、光磁気ディスク、磁気テープ、相変化ディスク、その他でなる記録媒体４２に記録したり、または、例えば、地上波、衛星回線、電話回線、ＣＡＴＶ網、インターネット、その他の伝送路４３を介して伝送する。
【００２７】
受信装置４４では、記録媒体４２に記録された符号化データが再生され、または、伝送路４３を介して伝送されてくる符号化データが受信される。その符号化データは、図４に示されるように、クラス分類適応処理に基づいて、伸張、復号される。そして、その結果得られる復号画像が、図示せぬディスプレイに供給されて表示される。
【００２８】
なお、以上のような画像処理装置は、例えば、光ディスク装置や、光磁気ディスク装置、磁気テープ装置、その他の、画像の記録または再生を行う装置、あるいはまた、例えば、テレビ電話装置、テレビジョン放送システム、ＣＡＴＶシステム、その他の、画像の伝送を行う装置などに適用される。また、後述するように、送信装置４１が出力する符号化データのデータ量が少ないため、図２の画像処理装置は、伝送レートの低い、例えば、携帯電話機、その他の、移動に便利な携帯端末などにも適用可能である。
【００２９】
図５は、図２の送信装置４１のハードウェアの構成例を示している。
【００３０】
Ｉ／Ｆ（InterFace）６１は、外部から供給される画像データの受信処理と、送信機／記録装置６６に対しての、符号化データの送信処理を行う。ＲＯＭ（Read Only Memory）６２は、ＩＰＬ（Initial Program Loading）用のプログラムその他を記憶している。ＲＡＭ（Random Access Memory）６３は、外部記憶装置６５に記録されているシステムプログラム（ＯＳ（Operating System））やアプリケーションプログラムを記憶したり、また、ＣＰＵ（Central Processing Unit）６４の動作上必要なデータを記憶する。ＣＰＵ６４は、ＲＯＭ６２に記憶されているＩＰＬプログラムにしたがい、外部記憶装置６５からシステムプログラムおよびアプリケーションプログラムを、ＲＡＭ６３に展開し、そのシステムプログラムの制御の下、アプリケーションプログラムを実行することで、Ｉ／Ｆ６１から供給される画像データについての、後述するような符号化処理を行う。
【００３１】
外部記憶装置６５は、例えば、磁気ディスク７１、光ディスク７２、光磁気ディスク７３、または半導体メモリ７４などでなり、上述したように、ＣＰＵ６４が実行するシステムプログラムやアプリケーションプログラムを記憶している他、ＣＰＵ６４が動作上必要とするデータも記憶している。送信機／記録装置６６は、Ｉ／Ｆ６１から供給される符号化データを、記録媒体４２に記録したり、または伝送路４３を介して伝送する。
【００３２】
なお、Ｉ／Ｆ６１，ＲＯＭ６２，ＲＡＭ６３，ＣＰＵ６４、および外部記憶装置６５は、相互にバスを介して接続されている。
【００３３】
以上のように構成される送信装置４１においては、Ｉ／Ｆ６１に画像データが供給されると、その画像データは、ＣＰＵ６４に供給される。ＣＰＵ６４は、画像データを符号化し、その結果得られる符号化データを、Ｉ／Ｆ６１に供給する。Ｉ／Ｆ６１は、符号化データを受信すると、それを、送信機／記録装置６６に供給する。送信機／記録装置６６は、Ｉ／Ｆ６１からの符号化データを、記録媒体４２に記録したり、または伝送路４３を介して伝送する。
【００３４】
図６は、図５の送信装置４１の、送信機／記録装置６６を除く部分の機能的な構成例を示している。
【００３５】
符号化すべき画像データは、縮小画像作成部１１１および誤差算出部１１５に供給される。縮小画像生成部１１１は、画像データを、その画素を、例えば、単純に間引くことにより圧縮し、その結果得られる圧縮データ（間引きが行われた後の縮小画像データ）を補正部１１２に出力する。補正部１１２は、制御部１１６からの制御信号にしたがって、圧縮データを補正する。補正部１１２における補正の結果得られる補正データは、動き推定部１１３、ローカルデコード部１１４、および制御部１１６に供給される。動き推定部１１３は、画像データと補正データから画像の動きを推定し、動きベクトルをローカルデコード部１１４に出力する。
【００３６】
ローカルデコード部１１４は、補正部１１２からの補正データと動き推定部１１３からの動きベクトルに基づいて、元の画像を予測し、その予測値を、誤差算出部１１５に供給する。なお、ローカルデコード部１１４は、後述するように、補正データと予測係数との線形結合により、予測値を算出する。そして、ローカルデコード部１１４は、予測値を、誤差算出部１１５に供給する他、そのとき求めたクラスごとの予測係数を、制御部１１６に供給する。
【００３７】
誤差算出部１１５は、そこに入力される、元の画像データ（原画像）に対する、ローカルデコード部１１４からの予測値の予測誤差を算出する。この予測誤差は、誤差情報として、制御部１１６に供給される。
【００３８】
制御部１１６は、誤差算出部１１５からの誤差情報に基づいて、補正部１１２が出力した補正データを、元の画像の符号化結果とすることの適正さを判定する。そして、制御部１１６は、補正部１１２が出力した補正データを、元の画像の符号化結果とすることが適正でないと判定した場合には、補正部１１２を制御し、さらに、圧縮データを補正させ、その結果得られる新たな補正データを出力させる。また、制御部１１６は、補正部１１２が出力した補正データを、元の画像の符号化結果とすることが適正であると判定した場合には、補正部１１２から供給された補正データを、最適な圧縮データ（以下、適宜、最適圧縮データという）として多重化部１１７に供給するとともに、ローカルデコード部１１４から供給されたクラスごとの予測係数を多重化部１１７に供給する。
【００３９】
多重化部１１７は、制御部１１６からの最適圧縮データ（補正データ）と、クラスごとの予測係数とを多重化し、その多重化結果を、符号化データとして、送信機／記録装置６６（図５）に供給する。
【００４０】
次に、図７のフローチャートを参照して、送信装置４１が実行する符号化処理について説明する。補正部１１２に対して、画像データが供給されると、補正部１１２は、ステップＳ１１において、縮小画像作成処理を実行する。
【００４１】
図８は、縮小画像作成処理の１つの例としての単純間引き処理を表している。最初に、ステップＳ３１において、縮小画像作成部１１１は、圧縮される前の画像データを、ｍ×ｎ個の画素データで構成されるブロックに分割する。次に、ステップＳ３２において、ｍ×ｎ個の画素データの中から１つの画素データを抽出し、その画素データをそのブロックを代表する１つの画素データとする。
【００４２】
ステップＳ３３において、縮小画像作成部１１１は、以上の処理が、そのフレームの全てのブロックについて終了したか否かを判定し、まだ処理していないブロックが残っている場合には、ステップＳ３１に戻り、それ以降の処理を繰り返し実行する。全てのブロックについての処理が終了したと判定された場合、処理は終了される。
【００４３】
すなわち、この例においては、図９に示されるように、例えば３×３個（ｍ＝ｎ＝３）の画素データａ１乃至ａ９の中から、中央の１個の画素ａ５が選択される。同様にして、隣の３×３個のｂ１乃至ｂ９の９個の画素の中から、中央の画素ｂ５が選択される。
【００４４】
以上のような単純間引き処理が繰り返し実行されることで、入力された画像データは、１／９の縮小画像データに圧縮される。
【００４５】
図１０は、縮小画像作成処理の他の例を表している。この例においては、ステップＳ５１において、縮小画像作成部１１１は、入力された画像データをｍ×ｎ個のブロックに分割する。ステップＳ５２において、縮小画像作成部１１１は、ステップＳ５１の処理で分割されたｍ×ｎ個の画素の平均値を計算する。そして、その平均値をｍ×ｎ個の画素で構成されるブロックを代表する１つの画素とする。
【００４６】
ステップＳ５３において、縮小画像作成部１１１は、全てのブロックについて同様の処理を実行したか否かを判定し、まだ処理していないブロックが残っている場合にはステップＳ５１に戻り、それ以降の処理を繰り返し実行する。全てのブロックについての処理が終了したと判定された場合、処理は終了される。
【００４７】
このようにして、例えば、図１１に示されるように、ａ１乃至ａ９の３×３個の画素の平均値Ａが、次式に基づいて演算される。
【００４８】
【数１】
0004518727.tif 000002
【００４９】
また、画素ｂ１乃至ｂ９の３×３個の画素の平均値Ｂが次式に基づいて演算される。
【００５０】
【数２】
0004518727.tif 000003
【００５１】
さらに、同様に、画素ｃ１乃至ｃ９の３×３個の画素の平均値Ｃが次式に基づいて演算される。
【００５２】
【数３】
0004518727.tif 000004
【００５３】
縮小画像作成部１１１で生成された縮小画像データ（圧縮データ）は、補正部１１２に供給され、最初は補正が行われずに、そのまま補正データとして、ローカルデコード部１１４と動き推定部１１３に供給される。
【００５４】
ステップＳ１２において、動き推定部１１３は、補正部１１２より供給された補正データに基づいて画像の動きを検出し、その動きに対応する動きベクトルを生成して、ローカルデコード部１１４に出力する。この動きベクトル推定処理の詳細については、図１４と図１５を参照して後述する。
【００５５】
次に、ステップＳ１３において、ローカルデコード部１１４は、補正部１１２からの補正データ（最初は、上述したように縮小画像データそのもの）を、クラス分類適応処理に基づいてデコードする（復号する）。
【００５６】
この復号処理の詳細については、図１６乃至図１９を参照して後述するが、ローカルデコード部１１４は、補正部１１２より供給される補正データから、動き推定部１１３より供給される動きベクトルに基づいて、予測処理を行うための補正データ（予測タップ）で構成される予測値計算用ブロック（予測対象データ）を抽出し、その抽出した予測対象データに対して、クラス毎の予測係数を線形結合させることで、予測値を演算する。ローカルデコード部１１４で生成された予測値は、誤差算出部１１５に供給され、用いられた予測係数は、制御部１１６に供給される。
【００５７】
ここで、ローカルデコード部１１４が出力する予測値で構成される画像は、受信装置４４（図２）側において得られる復号画像と同一のものである。
【００５８】
ステップＳ１４において誤差算出部１１５は、ローカルデコード部１１４より供給された予測値と画像データ（縮小される前の画像データ）との予測誤差を算出し、誤差情報として制御部１１６に供給する。
【００５９】
ステップＳ１５において、制御部１１６は、誤差算出部１１５からの誤差情報に基づいて、最適化処理を実行する。すなわち、制御部１１６は、誤差算出部１１５からの予測誤差に基づいて、圧縮データを補正させる。補正部１１２は、制御部１１６からの制御信号に基づいて、補正量（後述する補正値Δ）を変更して圧縮データを補正し、その結果得られる補正データを動き推定部１１３、ローカルデコード部１１４、および制御部１１６に出力する。
【００６０】
ステップＳ１６において、動き推定部１１３は、画像の動きを再び検出し、動きベクトルを生成する。このとき、処理対象とされている補正データは、ステップＳ１２における場合とは異なる値に補正されているため、異なる動きベクトルが得られる可能性がある。
【００６１】
動き推定部１１３により生成された動きベクトルは、ローカルデコード部１１４に供給される。ローカルデコード部１１４は、ステップＳ１７において、ステップＳ１６の処理で動き推定部１１３により生成された動きベクトルを利用して、補正データの中から予測値計算用ブロックを抽出し、クラス分類適応処理を施すことで予測値を演算する。このとき、処理対象とされている予測値計算用ブロックは、ステップＳ１３の処理における場合と異なるものとなるため、多くの場合、得られる予測値も異なるものとなる。
【００６２】
ステップＳ１８において、誤差算出部１１５は、ステップＳ１７の処理でローカルデコード部１１４により生成された予測値の元の画像（原画像）の画像データとの差（予測誤差）を算出し、誤差情報として制御部１１６に出力する。
【００６３】
制御部１１６は、ステップＳ１９において、補正部１１２により生成された補正データを、原画像の符号化結果とすることの適正さを判定する。具体的には、例えば、予測誤差が所定の閾値εより小さいか否か、あるいは最適化処理を行った回数が、予め設定された所定の回数に達したか否かが判定される。予測誤差が所定の閾値εより大きい場合、あるいは、最適化の処理回数がまだ所定の回数に達していない場合、ステップＳ１５に戻り、それ以降の処理が繰り返し実行される。
【００６４】
ステップＳ１９において、予測誤差が所定の閾値εより小さくなったと判定された場合、あるいは最適化処理が所定の回数実行されたと判定された場合、制御部１１６は、補正データを原画像の符号化結果とすることが適正であると判定し、ステップＳ２０において、補正部１１２より、そのとき得られる補正データを最適圧縮データとして多重化部１１７に供給するとともに、ローカルデコード部１１４より、そのとき予測に用いられていた予測係数を多重化部１１７に出力する。多重化部１１７は、制御部１１６より供給される最適圧縮データと予測係数とを多重化し、符号化データとして送信機／記録装置６６に供給する。
【００６５】
送信機／記録装置６６は、この符号化データを、記録媒体４２に記録したり、伝送路４３を介して伝送する。
【００６６】
以上のように、予測誤差が所定の閾値ε以下となるか、または、最適化処理が所定回数に達したときにおける、縮小画像データを補正した補正データを、原画像の符号化結果とするようにしたので、受信装置４４側においては、その補正データに基づいて、元の画像（原画像）とほぼ同一の画像を得ることが可能となる。
【００６７】
図１２は、図６の補正部１１２の構成例を示している。
【００６８】
補正回路１３１は、制御部１１６（図６）からの制御信号にしたがって、補正値ROM１３２にアドレスを与え、これにより、補正値Δを読み出す。そして、補正回路１３１は、縮小画像作成部１１１からの縮小画像データ（圧縮データ）に対して、補正値ROM１３２からの補正値Δを、例えば加算することで、補正データを生成し、動き推定部１１３、ローカルデコード部１１４、および制御部１１６に供給する。補正値ROM１３２は、縮小画像作成部１１１が出力する圧縮データを補正するための、各種の補正値Δの組合せ（例えば、１フレーム分の圧縮データを補正するための補正値の組合せなど）を記憶しており、補正回路１３１から供給されるアドレスに対応する補正値Δの組合せを読み出して、補正回路１３１に供給する。
【００６９】
次に、図１３を参照して、図１２の補正部１１２の処理について説明する。
【００７０】
補正回路１３１は、縮小画像作成部１１１から圧縮データを受信すると、ステップＳ７１において、制御部１１６（図６）から制御信号を受信したかどうかを判定する。ステップＳ７１において、制御信号を受信していないと判定された場合、ステップＳ７２およびＳ７３の処理をスキップしてステップＳ７４に進み、補正回路１３１は、縮小画像作成部１１１からの圧縮データを、そのまま補正データとして、動き推定部１１３、ローカルデコード部１１４、および制御部１１６に出力し、ステップＳ７１に戻る。
【００７１】
即ち、制御部１１６は、上述したように、誤差情報に基づいて、補正部１１２（補正回路１３１）を制御するようになされており、縮小画像作成部１１１から圧縮データが出力された直後は、まだ、誤差情報が得られないため（誤差情報が、誤差算出部１１５から出力されないため）、制御部１１６からは制御信号は出力されない。このため、縮小画像作成部１１１から圧縮データが出力された直後は、補正回路１３１は、その圧縮データを補正せず（０を加算する補正をして）、そのまま補正データとして、動き推定部１１３、ローカルデコード部１１４、および制御部１１６に出力する。
【００７２】
一方、ステップＳ７１において、制御部１１６からの制御信号を受信したと判定された場合、ステップＳ７２に進み、補正回路１３１は、その制御信号にしたがったアドレスを、補正値ROM１３２に出力する。これにより、ステップＳ７２では、補正値ROM１３２から、そのアドレスに記憶されている、１フレーム分の圧縮データを補正するための補正値Δの組合せ（集合）が読み出され、補正回路１３１に供給される。補正回路１３１は、補正値ROM１３２から補正値Δの組合せを受信すると、ステップＳ７３において、１フレームの圧縮データそれぞれに、対応する補正値Δを加算し、これにより、圧縮データを補正した補正データを算出する。その後は、ステップＳ７４に進み、補正データが、補正回路１３１から動き推定部１１３、ローカルデコード部１１４、および制御部１１６に出力され、ステップＳ７１に戻る。
【００７３】
以上のようにして、補正部１１２は、制御部１１６の制御にしたがって、圧縮データを、種々の値に補正した補正データを出力することを繰り返す。
【００７４】
なお、制御部１１６は、例えば、１フレームの画像についての符号化を終了すると、その旨を表す制御信号を、補正部１１２に供給するようになされており、補正部１１２は、ステップＳ７１において、そのような制御信号を受信したかどうかも判定する。ステップＳ７１において、１フレームの画像についての符号化を終了した旨の制御信号を受信したと判定された場合、補正部１１２は、そのフレーム（フィールド）に対する処理を終了し、次のフレームが供給された場合、ステップＳ７１乃至Ｓ７４の処理を繰り返す。
【００７５】
図１４は、動き推定部１１３の構成例を表している。この例においては、フレームメモリ１５１に、補正部１１２より出力された補正データが１フレーム分記憶される。フレームメモリ１５１に記憶された１フレーム分の補正データは、そこから読み出され、後段のフレームメモリ１５２に転送され、記憶される。このときフレームメモリ１５１には、時間的に後の次のフレームの補正データが記憶される。フレームメモリ１５２に記憶された１フレーム分の補正データは、さらに、後段のフレームメモリ１５３に転送され、記憶される。フレームメモリ１５２には、それまでフレームメモリ１５１に記憶されていた１フレーム分の補正データが転送され、記憶される。そして、フレームメモリ１５１には、それまで記憶されていたフレームより、さらに時間的に後の１フレーム分の補正データが記憶される。
【００７６】
このようにして、フレームメモリ１５１乃至１５３には、時間的に連続する３つのフレームの補正データが記憶される。すなわち、フレームメモリ１５２に記憶されている現在フレームの補正データより、時間的に前のフレームの補正データがフレームメモリ１５３に記憶され、時間的に後のフレームの補正データがフレームメモリ１５１に記憶される。
【００７７】
動きベクトル検出部１５４は、フレームメモリ１５２に記憶されている現在フレームの補正データと、フレームメモリ１５１に記憶されている前フレームの補正データとの間の動きを検出し、動きベクトルを出力する。動きベクトル検出部１５５は、フレームメモリ１５２に記憶されている現在フレームの補正データと、フレームメモリ１５３に記憶されている後フレームの補正データとの間の動きを検出し、動きベクトルを出力する。動きベクトル検出部１５５が出力する動きベクトルを、便宜上、前フレーム動きベクトルと称し、動きベクトル検出部１５４が出力する動きベクトルを、後フレーム動きベクトルと称する。
【００７８】
次に、図１５のフローチャートを参照して、動き推定部１１３の前動きベクトル推定（検出）処理について説明する。なお、フレームメモリ１５１乃至１５３には、それぞれ、後フレーム、現在フレーム、または前フレームの補正データが、それぞれ記憶されているものとする。
【００７９】
ステップＳ９１において、動きベクトル検出部１５５は、内蔵するメモリに比較値をセットする。この比較値は、後述するステップＳ９６において利用される。
【００８０】
ステップＳ９２において、動きベクトル検出部１５５は、内蔵する相対アドレス用メモリをクリアする。この相対アドレス用メモリには、後述するステップＳ９８において、動きベクトル（前動きベクトル）に対応する相対アドレスが格納される。
【００８１】
ステップＳ９３において、動きベクトル検出部１５５は、フレームメモリ１５２に記憶されている現在フレームをブロックに分割する処理を行う。ステップＳ９４において、動きベクトル検出部１５５は、フレームメモリ１５３に記憶されている前フレームの補正データをブロックに分割する処理を行う。
【００８２】
ステップＳ９５において、動きベクトル検出部１５５は、ステップＳ９３の処理で分割された現在フレームの１つのブロックと、ステップＳ９４の処理で分割された前フレームの１つのブロックとの対応する位置の補正データの差の絶対値の和、すなわち絶対差分和を計算する。
【００８３】
ステップＳ９６において、動きベクトル検出部１５５は、ステップＳ９５の処理で計算された絶対差分和を評価値として、ステップＳ９１の処理でセットされた比較値と比較する処理を行う。評価値が比較値より小さい場合には、ステップＳ９７において、動きベクトル検出部１５５は、ステップＳ９１の処理で、セットした比較値を、ステップＳ９５の処理で計算して得られた評価値で更新する。そして、ステップＳ９８において、動きベクトル検出部１５５は、その前フレームのブロックの現在フレームの注目画素を含むブロックの位置に対する相対的なアドレス（前動きベクトルに対応する）を相対アドレスメモリに格納する。
【００８４】
ステップＳ９６において、ステップＳ９５の処理で計算された評価値が、比較値と等しいか、それより大きいと判定された場合には、ステップＳ９７とステップＳ９８の処理はスキップされる。
【００８５】
次に、ステップＳ９９に進み、動きベクトル検出部１５５は、前フレームの予め設定されている所定の探索範囲内の探索が終了したか否かを判定し、終了していない場合には、ステップＳ１００に進み、前フレームのブロックの位置を変化させる。
【００８６】
その後、ステップＳ９４に戻り、変化された位置における前フレームのブロックが抽出され、ステップＳ９５において、その前フレームのブロックと注目画素を含む現在フレームのブロックとの絶対差分和が計算される。ステップＳ９６において、ステップＳ９５で計算された絶対差分和としての評価値が比較値（前回のステップＳ９７の処理で、前回のブロックの評価値に更新されている）と比較される。評価値が比較値より小さい場合には、ステップＳ９７において、比較値を、その評価値に変更する処理が行われ、ステップＳ９８において、相対アドレスメモリ内のアドレスが、いま処理対象とされているブロックの相対アドレスに変更される。
【００８７】
ステップＳ９６において、評価値が比較値と等しいか、それより大きいと判定された場合には、ステップＳ９７とステップＳ９８の処理はスキップされる。
【００８８】
このような処理は、ステップＳ９９において、前フレームの探索範囲内の全てのブロックについての処理が終了したと判定されるまで、繰り返し実行される。その結果、ステップＳ９７の処理で、比較値として、探索範囲内の各ブロックの絶対差分和のうちの最小値が記憶されることになり、ステップＳ９８の処理で、相対アドレスメモリに、その最小の絶対差分和に対応するブロックの相対アドレス、すなわち前動きベクトルが格納される。
【００８９】
ステップＳ９９において、前フレームの探索範囲の全ての探索が終了したと判定された場合、動きベクトル検出部１５５は、ステップＳ１０１において、ステップＳ９８の処理で、相対アドレスメモリに格納した相対アドレスよりなる前フレーム動きベクトルをローカルデコード部１１４に出力する。
【００９０】
以上においては、動きベクトル検出部１５５の動きベクトル推定処理について説明したが、動きベクトル検出部１５４においても、フレームメモリ１５２に記憶されている現在フレームの補正データと、フレームメモリ１５１に記憶されている後フレームの補正データとの間の動きを検出するために、同様の処理が実行される。
【００９１】
この場合においては、図１５におけるステップＳ９４の処理で、前フレームのブロックを抽出するのに代えて、後フレームのブロックを抽出する処理が実行され、ステップＳ９９の判定処理においては、前フレームの探索範囲内の処理が終了したか否かが判定されるのに代えて、後フレームの探索範囲内の探索処理が終了したか否かが判定される。ステップＳ１０１において、出力されるのは、前フレーム動きベクトルでなく、後フレーム動きベクトルとなる。その他の処理は、動きベクトル検出部１５５の前フレーム動きベクトルを検出するための処理と同様である。
【００９２】
図１６は、図６のローカルデコード部１１４の構成例を示している。
【００９３】
補正部１１２からの補正データは、クラス分類用ブロック化回路２６１および予測値計算用ブロック化回路２６２に供給される。クラス分類用ブロック化回路２６１は、現在フレームの補正データを、その性質に応じて所定のクラスに分類するための単位である、注目補正データを中心としたクラス分類用ブロックにブロック化する。
【００９４】
即ち、いま、図１７において、上からｉ番目で、左からｊ番目の補正データ（圧縮データ）（または画素）（図中、黒の円形の印で示す部分）をＸijと表すとすると、クラス分類用ブロック化回路２６１は、注目補正データＸijの左上、上、右上、左、右、左下、下、右下に隣接する８つの補正データＸ(i-1)(j-1)，Ｘ(i-1)j，Ｘ(i-1)(j+1)，Ｘi(j-1)，Ｘi(j+1)，Ｘ(i-1)(j-1)，Ｘ(i-1)j，Ｘ(i+1)(j+1)に、自身を含め、合計９個の補正データで構成されるクラス分類用ブロック２４２を構成する。このクラス分類用ブロック２４２は、クラス分類適応処理回路２６３に供給される。
【００９５】
なお、この場合、クラス分類用ブロック２４２は、３×３画素でなる正方形状のブロックで構成されることとなるが、クラス分類用ブロック２４２の形状は、正方形である必要はなく、その他、例えば、図１８に示されるように菱形にしたり、長方形、十文字形、その他の任意な形とすることが可能である。また、クラス分類用ブロックを構成する画素数も、３×３の９画素に限定されるものではない。
【００９６】
予測値計算用ブロック化回路２６２は、動きベクトルに基づいて、補正データを、元の画像の予測値を計算するための単位である、注目補正データを基準とした予測値計算用ブロックにブロック化する。即ち、現在フレームにおいては、図１７に示されるように、補正データＸij（図中、黒い円形の印で示す部分）を中心とする、元の画像（原画像）における３×３の９画素の画素値を、その最も左から右方向、かつ上から下方向に、Ｙij（１），Ｙij（２），Ｙij（３），Ｙij（４），Ｙij（５），Ｙij（６），Ｙij（７），Ｙij（８），Ｙij（９）と表すとすると、画素Ｙij（１）乃至Ｙij（９）の予測値の計算のために、予測値計算用ブロック化回路２６２は、例えば、注目補正データＸijを中心とする５×５の２５画素Ｘ(i-2)(j-2)，Ｘ(i-2)(j-1)，Ｘ(i-2)j，Ｘ(i-2)(j+1)，Ｘ(i-2)(j+2)，Ｘ(i-1)(j-2)，Ｘ(i-1)(j-1)，Ｘ(i-1)j，Ｘ(i-1)(j+1)，Ｘ(i-1)(j+2)，Ｘi(j-2)，Ｘi(j-1)，Ｘij，Ｘi(j+1)，Ｘi(j+2)，Ｘ(i+1)(j-2)，Ｘ(i+1)(j-1)，Ｘ(i+1)j，Ｘ(i+1)(j+1)，Ｘ(i+1)(j+2)，Ｘ(i+2)(j-2)，Ｘ(i+2)(j-1)，Ｘ(i+2)j，Ｘ(i+2)(j+1)，Ｘ(i+2)(j+2)で構成される正方形状の予測値計算用ブロック２５１を構成する。
【００９７】
具体的には、例えば、図１７において四角形で囲む、元の画像における画素Ｙ33（１）乃至Ｙ33（９）の９画素の予測値の計算のために、現在フレームにおいては、画素Ｘ11，Ｘ12，Ｘ13，Ｘ14，Ｘ15，Ｘ21，Ｘ22，Ｘ23，Ｘ24，Ｘ25，Ｘ31，Ｘ32，Ｘ33，Ｘ34，Ｘ35，Ｘ41，Ｘ42，Ｘ43，Ｘ44，Ｘ45，Ｘ51，Ｘ52，Ｘ53，Ｘ54，Ｘ55により、予測値計算用ブロックが構成される（この場合の注目補正データは、Ｘ33となる）。
【００９８】
予測値計算用ブロック化回路２６２は、さらに、動き推定部１１３より供給される動きベクトルに基づいて、図１９に示されるように、現在フレーム２０１より時間的に前の前フレーム２０２と、時間的に後の後フレーム２０３の補正データからも、予測値計算用ブロック部２５１を構成する補正データを抽出する。
【００９９】
図１９の現在フレーム２０１は、図１７に示されるフレームである。図１９には、図１７に黒い丸印で示される補正データのみが示されている。すなわち、図１９においては、図１７における白い丸印で示される原画像の画素は、その図示が省略されている。
【０１００】
現在フレーム２０１の注目補正データ２１１は、図１７の注目補正データＸ33に対応し、注目補正データ２１１より左側に２個、かつ上側に２個移動した位置の補正データ２１２は、図１７の補正データＸ11に対応し、注目補正データ２１１のすぐ上の補正データとしての予測タップ２１３は、図１７の補正データＸ23に対応する。
【０１０１】
現在フレーム（ｔ＝Ｔのフレーム）２０１より時間的に１フレーム前の前フレーム（ｔ＝Ｔ−１のフレーム）２０２における注目対応補正データ２２１は、現在フレーム２０１の注目補正データ２１１に対応する位置の補正データである。予測タップ２２２を構成する補正データは、動き推定部１１３の動きベクトル検出部１５５により検出された前フレーム動きベクトル２２３に基づいて、注目補正データ２２１を移動した位置の補正データである。予測値計算用ブロック化回路２６２は、この予測タップ２２２も、予測値計算用ブロック２５１を構成する補正データとして抽出する。
【０１０２】
同様に、予測値計算用ブロック化回路２６２は、現在フレーム２０１より時間的に後の後フレーム（ｔ＝Ｔ＋１のフレーム）２０３における、現在フレーム２０１の注目補正データ２１１に対応する位置の補正データである注目対応補正データ２３１を、動きベクトル検出部１５４により検出された後フレーム動きベクトル２３３に基づいて移動した位置の補正データである予測タップ２３２を、予測値計算用ブロック２５１を構成する補正データとして抽出する。
【０１０３】
このように、この例においては、現在フレーム内の補正データだけでなく、現在フレームより時間的に前、または後のフレームの補正データが、予測値計算用ブロック２５を構成する補正データとされるため、特に、原画像が動画像である場合においても、正確に原画像を復元することが可能となる。
【０１０４】
図２０は、横軸を時間軸方向とし、縦軸をフレームの水平方向または垂直方向として、図１９の前フレーム２６２、現在フレーム２０１、および後フレーム２０３の注目補正データと予測タップの位置関係を表している。
【０１０５】
予測値計算用ブロック化回路２６２において得られた予測値計算用ブロック２５１の補正データは、クラス分類適応処理回路２６３に供給される。
【０１０６】
なお、予測値計算用ブロック２５１についても、クラス分類用ブロック２４２における場合と同様に、その画素数および形状は、上述したものに限定されるものではない。但し、予測値計算用ブロック２５１を構成する画素数は、クラス分類用ブロック２４２を構成する画素数よりも多くするのが望ましい。
【０１０７】
また、上述のようなブロック化を行う場合において（ブロック化以外の処理についても同様）、画像の画枠付近では、対応する画素（補正データ）が存在しないことがあるが、この場合には、例えば、画枠を構成する画素と同一の画素が、その外側に存在するものとして処理を行う。
【０１０８】
クラス分類適応処理回路２６３は、ＡＤＲＣ（Adaptive Dynamic Range Coding）処理回路２６４、クラス分類回路２６５、予測係数ROM２６６、および予測回路２６７で構成され、クラス分類適応処理を行う。
【０１０９】
クラス分類適応処理とは、入力信号を、その特徴に基づいて幾つかのクラスに分類し、各クラスの入力信号に、そのクラスに適切な適応処理を施すもので、大きく、クラス分類処理と適応処理とに分かれている。
【０１１０】
ここで、クラス分類処理および適応処理について簡単に説明する。
【０１１１】
まず、クラス分類処理について説明する。
【０１１２】
いま、例えば、図２１に示されるように、ある注目画素と、それに隣接する３つの画素により、２×２画素でなるブロック（クラス分類用ブロック）を構成し、また、各画素は、１ビットで表現される（０または１のうちのいずれかのレベルをとる）ものとする。この場合、注目画素を含む２×２の４画素のブロックは、各画素のレベル分布により、図２２に示されるように、１６（＝（２1）4）パターンに分類することができる。従って、いまの場合、注目画素は、１６のパターンに分類することができ、このようなパターン分けが、クラス分類処理であり、クラス分類回路２６５において行われる。
【０１１３】
なお、クラス分類処理は、画像（ブロック内の画像）のアクティビティ（画像の複雑さ）（変化の激しさ）などをも考慮して行うようにすることが可能である。
【０１１４】
ところで、通常、各画素には、例えば８ビット程度が割り当てられる。また、本実施の形態においては、上述したように、クラス分類用ブロック２４２は、３×３の９個の補正データで構成される。従って、このようなクラス分類用ブロック２４２を対象にクラス分類処理を行うものとすると、（２8）9という膨大な数のクラスが発生することになる。
【０１１５】
そこで、本実施の形態においては、ADRC処理回路２６４において、クラス分類用ブロック２４２に対して、ＡＤＲＣ処理が施され、これにより、クラス分類用ブロック２４２を構成する補正データのビット数を小さくすることで、クラス数が削減される。
【０１１６】
即ち、例えば、いま、説明を簡単にするため、図２３に示されるように、４個の画素（補正データ）で構成されるブロックを考えると、ＡＤＲＣ処理においては、その画素値の最大値ＭＡＸと最小値ＭＩＮが検出される。そして、ＤＲ＝ＭＡＸ−ＭＩＮが、そのブロックの局所的なダイナミックレンジとされ、このダイナミックレンジＤＲに基づいて、ブロックを構成する画素の画素値がＫビットに再量子化される。
【０１１７】
即ち、ブロック内の各画素値から、最小値ＭＩＮが減算され、その減算された値がＤＲ／２Kで除算される。そして、各画素値は、その結果得られる除算値に対応するコード（ＡＤＲＣコード）に変換される。具体的には、例えば、Ｋ＝２とした場合、図２４に示されるように、除算値が、ダイナミックレンジＤＲを４（＝２2）等分して得られるいずれの範囲に属するかが判定され、除算値が、最も下のレベルの範囲、下から２番目のレベルの範囲、下から３番目のレベルの範囲、または最も上のレベルの範囲に属する場合には、それぞれ、例えば、００Ｂ，０１Ｂ，１０Ｂ、または１１Ｂなどの２ビットにコード化される（Ｂは２進数であることを表す）。そして、復号側（受信装置４４）において、ＡＤＲＣコード００Ｂ，０１Ｂ，１０Ｂ、または１１Ｂは、ダイナミックレンジＤＲを４等分して得られる最も下のレベルの範囲の中心値Ｌ00、下から２番目のレベルの範囲の中心値Ｌ01、下から３番目のレベルの範囲の中心値Ｌ10、または最も上のレベルの範囲の中心値Ｌ11にそれぞれ変換され、その値に、最小値ＭＩＮが加算されることで復号が行われる。
【０１１８】
このようなＡＤＲＣ処理はノンエッジマッチングと呼ばれる。
【０１１９】
なお、ＡＤＲＣ処理については、本件出願人が先に出願した、例えば、特開平３−５３７７８号公報などに、その詳細が開示されている。
【０１２０】
ブロックを構成する画素に割り当てられているビット数より少ないビット数で再量子化を行うＡＤＲＣ処理を施すことにより、上述したように、クラス数を削減することができ、このようなＡＤＲＣ処理が、ADRC処理回路２６４において行われる。
【０１２１】
なお、本実施の形態では、クラス分類回路２６５において、ADRC処理回路２６４から出力されるＡＤＲＣコードに基づいて、クラス分類処理が行われるが、クラス分類処理は、その他、例えば、ＤＰＣＭ（予測符号化）や、ＢＴＣ（Block Truncation Coding）、ＶＱ（ベクトル量子化）、ＤＣＴ（離散コサイン変換）、アダマール変換などを施したデータを対象に行うようにすることも可能である。
【０１２２】
次に、適応処理について説明する。
【０１２３】
例えば、いま、元の画像の画素値ｙの予測値Ｅ［ｙ］を、その周辺の幾つかの画素の画素値（補正データの値）（以下、適宜、学習データという）ｘ1，ｘ2，・・・と、所定の予測係数ｗ1，ｗ2，・・・の線形結合により規定される線形１次結合モデルにより求めることを考える。この場合、予測値Ｅ［ｙ］は、次式で表すことができる。
【０１２４】
Ｅ［ｙ］＝ｗ1ｘ1＋ｗ2ｘ2＋・・・
・・・（１）
【０１２５】
そこで、一般化するために、予測係数ｗの集合でなる行列Ｗ、学習データの集合でなる行列Ｘ、および予測値Ｅ［ｙ］の集合でなる行列Ｙ’を、
【数４】
0004518727.tif 000005
で定義すると、次のような観測方程式が成立する。
【０１２６】
ＸＷ＝Ｙ’
・・・（２）
【０１２７】
そして、この観測方程式に最小自乗法を適用して、元の画像の画素値ｙに近い予測値Ｅ［ｙ］を求めることを考える。この場合、元の画像の画素値（以下、適宜、教師データという）ｙの集合でなる行列Ｙ、および元の画像の画素値ｙに対する予測値Ｅ［ｙ］の残差ｅの集合でなる行列Ｅを、
【数５】
0004518727.tif 000006
で定義すると、式（２）から、次のような残差方程式が成立する。
【０１２８】
ＸＷ＝Ｙ＋Ｅ
・・・（３）
【０１２９】
この場合、元の画像の画素値ｙに近い予測値Ｅ［ｙ］を求めるための予測係数ｗiは、自乗誤差
【数６】
0004518727.tif 000007
を最小にすることで求めることができる。
【０１３０】
従って、上述の自乗誤差を予測係数ｗiで微分したものが０になる場合、即ち、次式を満たす予測係数ｗiが、元の画像の画素値ｙに近い予測値Ｅ［ｙ］を求めるため最適値ということになる。
【０１３１】
【数７】
0004518727.tif 000008
・・・（４）
【０１３２】
そこで、まず、式（３）を、予測係数ｗiで微分することにより、次式が成立する。
【０１３３】
【数８】
0004518727.tif 000009
・・・（５）
【０１３４】
式（４）および（５）より、式（６）が得られる。
【０１３５】
【数９】
0004518727.tif 000010
・・・（６）
【０１３６】
さらに、式（３）の残差方程式における学習データｘ、予測係数ｗ、教師データｙ、および残差ｅの関係を考慮すると、式（６）から、次のような正規方程式を得ることができる。
【０１３７】
【数１０】
0004518727.tif 000011
・・・（７）
【０１３８】
式（７）の正規方程式は、求めるべき予測係数ｗの数と同じ数だけたてることができ、従って、式（７）を解くことで、最適な予測係数ｗを求めることができる。なお、式（７）を解くにあたっては、例えば、掃き出し法（Gauss-Jordanの消去法）などを適用することが可能である。
【０１３９】
以上のようにして、クラスごとに最適な予測係数ｗを求め、さらに、その予測係数ｗを用い、式（１）により、元の画像の画素値ｙに近い予測値Ｅ［ｙ］を求めるのが適応処理であり、この適応処理に基づく予測処理が、予測回路２６７において行われる。
【０１４０】
なお、適応処理は、間引かれた画像（圧縮データ）には含まれていない、元の画像に含まれる成分が再現される点で、単なる補間処理とは異なる。即ち、適応処理は、式（１）だけを見る限りは、いわゆる補間フィルタを用いての補間処理と同一であるが、その補間フィルタのタップ係数に相当する予測係数ｗが、教師データｙを用いての、いわば学習により求められるため、元の画像に含まれる成分を再現することができる。このことから、適応処理は、いわば画像の創造作用がある処理ということができる。
【０１４１】
次に、図２５のフローチャートを参照して、図１６のローカルデコード部１１４の処理について説明する。
【０１４２】
ローカルデコード部１１４においては、まず最初に、ステップＳ１２１において、補正部１１２からの補正データがブロック化される。即ち、クラス分類用ブロック化回路２６１において、補正データが、注目補正データ（図１７の補正データＸ33）を中心とする３×３画素のクラス分類用ブロック２４２（図１７）にブロック化され、クラス分類適応処理回路２６３に供給されるとともに、予測値計算用ブロック化回路２６２において、現在フレームの補正データが、注目補正データ２１１（Ｘ33）を中心とする５×５画素の予測値計算用ブロック２５１（図１７、図１９）にブロック化される。
【０１４３】
さらにまた、予測値計算用ブロック化回路２６２は、動き推定部１１３より供給される前フレーム動きベクトル２２３に対応して求められる前フレーム２０２の補正データである予測タップ２２２と、後フレーム動きベクトル２３３に対応して求められる後フレーム２０３の補正データである予測タップ２３２を、それぞれ予測値計算用ブロック２５１を構成する補正データとする（図１９）。従って、この例の場合、結局、合計２７個（＝５×５＋１＋１）の補正データが予測値計算用ブロック２５１の補正データとしてクラス分類適応処理回路２６３に供給される。
【０１４４】
クラス分類適応処理回路２６３において、クラス分類用ブロック２４２はADRC処理回路２６４に供給され、予測値計算用ブロック２５１は予測回路２６７に供給される。
【０１４５】
ADRC処理回路２６４は、クラス分類用ブロック２４２を受信すると、ステップＳ１２２において、そのクラス分類用ブロック２４２に対して、例えば、１ビットのＡＤＲＣ（１ビットで再量子化を行うＡＤＲＣ）処理を施し、これにより、補正データを、１ビットに変換（符号化）して、クラス分類回路２６５に出力する。クラス分類回路２６５は、ステップＳ１２３において、ＡＤＲＣ処理が施されたクラス分類用ブロック２４２に基づいて、クラス分類処理を実行する。即ち、ＡＤＲＣ処理が施されたクラス分類用ブロック２４２を構成する各補正データのレベル分布の状態を検出し、そのクラス分類用ブロックが属するクラス（そのクラス分類用ブロック２４２を構成する注目補正データ２１１（中心に配置された補正データ）のクラス）を判定する。このクラスの判定結果は、クラス情報として、予測係数ROM２６６に供給される。
【０１４６】
なお、本実施の形態においては、１ビットのＡＤＲＣ処理が施された３×３の９個の補正データで構成されるクラス分類用ブロック２４２に対して、クラス分類処理が施されるので、各クラス分類用ブロック２４２は、５１２（＝（２1）9）のクラスのうちのいずれかに分類されることになる。
【０１４７】
そして、ステップＳ１２４に進み、予測係数ROM２６６において、クラス分類回路２６５からのクラス情報に基づいて、予測係数が読み出され、予測回路２６７に供給される。予測回路２６７は、ステップＳ１２５において、各クラスごとに適応処理を施し、これにより、１フレームの元の画像データ（原画像データ）の予測値を算出する。
【０１４８】
即ち、本実施の形態においては、例えば、クラスごとに２７×９個の予測係数が読み出される。さらに、ある１つの補正データに注目した場合に、その注目補正データに対応する元画像の画素と、その画素の周りに隣接する８個の元画像の画素の、合計９個の画素についての予測値が、注目補正データのクラス情報に対応する２７×９個の予測係数と、その注目補正データを中心とする５×５画素でなる予測値計算用ブロックとを用いて、適応処理が行われることにより算出される。
【０１４９】
具体的には、例えば、いま、図１７に示した補正データ（注目補正データ）Ｘ33を中心とする３×３の補正データＸ22，Ｘ23，Ｘ24，Ｘ32，Ｘ33，Ｘ34，Ｘ42，Ｘ43，Ｘ44でなるクラス分類用ブロック２４２についてのクラス情報Ｃが、クラス分類回路２６５から出力され、また、そのクラス分類用ブロック２４２に対応する予測値計算用ブロック２５１として、現在フレームの補正データＸ33を中心とする５×５画素の補正データＸ11，Ｘ12，Ｘ13，Ｘ14，Ｘ15，Ｘ21，Ｘ22，Ｘ23，Ｘ24，Ｘ25，Ｘ31，Ｘ32，Ｘ33，Ｘ34，Ｘ35，Ｘ41，Ｘ42，Ｘ43，Ｘ44，Ｘ45，Ｘ51，Ｘ52，Ｘ53，Ｘ54，Ｘ55と、前フレームの予測タップ２２２としての対応する補正データＸmv1と、後フレームの予測タップ２３２としての補正データＸmv2でなる予測値計算用ブロック２５１が、予測値計算用ブロック化回路２６２から出力される。
【０１５０】
そして、クラス情報Ｃについての予測係数ｗ1乃至ｗ27と、予測値計算用ブロック２５１とを用い、式（１）に対応する次式にしたがって、予測値Ｅ［Ｙ33（ｋ）］が求められる。
【０１５１】
0004518727.tif 000012
【０１５２】
ステップＳ１２５では、以上のようにして、２７×９個のクラスごとの予測係数を用いて、注目補正データを中心とする３×３個の原画像の画素の予測値が求められる。
【０１５３】
その後、ステップＳ１２６に進み、クラスごとの２７×９個の予測係数は制御部１１６に供給され、３×３個の予測値は誤差算出部１１５に供給される。そして、ステップＳ１２１に戻り、以下同様の処理が、例えば、上述したように１フレーム単位で繰り返される。
【０１５４】
図２６は、図６の誤差算出部１１５の構成例を示している。
【０１５５】
ブロック化回路３５１には、元の画像データ（縮小される前の原画像の画像データ）が供給されている。ブロック化回路３５１は、その画像データの中から、注目画素を補正した場合に影響のある範囲の全ての画素を抽出し、自乗誤差算出回路３５２に出力する。例えば、図１７の画素Ｘ３３の値が補正される場合、予測タップ数Ｘ９（９は、Ｘ３３（１）乃至Ｘ３３（９）に対応する）個の画素が自乗誤差算出回路３５２に出力される。自乗誤差算出回路３５２には、上述したように、ブロック化回路３５１から元の画像データのブロックが供給される他、ローカルデコード部１１４から予測値が、９個単位（３×３画素のブロック単位）で供給される。自乗誤差算出回路３５２は、原画像に対する、予測値の予測誤差としての自乗誤差を算出し、積算部３５５に供給する。
【０１５６】
即ち、自乗誤差算出回路は３５２は、演算器３５３および３５４で構成されている。演算器３５３は、ブロック化回路３５１からのブロック化された画像データそれぞれから、対応する予測値を減算し、その減算値を、演算器３５４に供給する。演算器３５４は、演算器３５３の出力（元の画像データと予測値との差分）を自乗し、積算部３５５に供給する。
【０１５７】
積算部３５５は、自乗誤差算出回路３５２から自乗誤差を受信すると、メモリ３５６の記憶値を読み出し、その記憶値と自乗誤差とを加算して、再び、メモリ３５６に供給して記憶させることを繰り返すことで、自乗誤差の積算値（誤差分散）を求める。さらに、積算部３５５は、所定量（例えば、１フレーム分など）についての自乗誤差の積算が終了すると、その積算値を、メモリ３５６から読み出し、誤差情報として、制御部１１６に供給する。メモリ３５６は、１フレームについての処理が終了するごとに、その記憶値をクリアしながら、積算部３５５の出力値を記憶する。
【０１５８】
次に、その動作について、図２７のフローチャートを参照して説明する。誤差算出部１１５では、まず最初に、ステップＳ１３１において、メモリ３５６の記憶値が、例えば０にクリア（初期化）され、ステップＳ１３２に進み、ブロック化回路３５１において、画像データが、上述したようにブロック化され、その結果得られるブロックが、自乗誤差算出回路３５２に供給される。自乗誤差算出回路３５２では、ステップＳ１３３において、ブロック化回路３５１から供給されるブロックを構成する、元の画像（原画像）の画像データと、ローカルデコード部１１４から供給される予測値との自乗誤差が算出される。
【０１５９】
即ち、ステップＳ１３３では、演算器３５３において、ブロック化回路３５１より供給されたブロック化された画像データそれぞれから、対応する予測値が減算され、演算器３５４に供給される。演算器３５４は、演算器３５３の出力を自乗し、積算部３５５に供給する。
【０１６０】
積算部３５５は、自乗誤差算出回路３５２から自乗誤差を受信すると、ステップＳ１３４において、メモリ３５６の記憶値を読み出し、その記憶値と自乗誤差とを加算することで、自乗誤差の積算値を求める。積算部３５５において算出された自乗誤差の積算値は、メモリ３５６に供給され、前回の記憶値に上書きされることで記憶される。
【０１６１】
そして、積算部３５５では、ステップＳ１３５において、所定量としての、例えば、１フレーム分についての自乗誤差の積算が終了したかどうかが判定される。ステップＳ１３５において、１フレーム分についての自乗誤差の積算が終了していないと判定された場合、ステップＳ１３２に戻り、再び、ステップＳ１３２からの処理が繰り返される。また、ステップＳ１３５において、１フレーム分についての自乗誤差の積算が終了したと判定された場合、ステップＳ１３６に進み、積算部３５５は、メモリ３５６に記憶された１フレーム分についての自乗誤差の積算値を読み出し、誤差情報として、制御部１１６に出力する。そして、ステップＳ１３１に戻り、次のフレームについての原画像および予測値が供給されるのを待って、再び、ステップＳ１３１からの処理が繰り返される。
【０１６２】
従って、誤差算出部１１５では、元の画像データをＹij（ｋ）とするとともに、その予測値をＥ［Ｙij（ｋ）］とするとき、次式にしたがった演算が行われることで、誤差情報Ｑが算出される。
【０１６３】
Ｑ＝Σ（Ｙij（ｋ）−Ｅ［Ｙij（ｋ）］）2
但し、Σは、１フレーム分についてのサメーションを意味する。
【０１６４】
図２８は、図６の制御部１１６の構成例を示している。
【０１６５】
予測係数メモリ３６１は、ローカルデコード部１１４から供給される予測係数を記憶する。補正データメモリ３６２は、補正部１１２から供給される補正データを記憶する。
【０１６６】
なお、補正データメモリ３６２は、補正部１１２において、圧縮データが新たに補正され、これにより、新たな補正データが供給された場合には、既に記憶している補正データ（前回の補正データ）に代えて、新たな補正データを記憶する。また、このように補正データが、新たなものに更新されるタイミングで、ローカルデコード部１１４からは、その新たな補正データに対応する、新たなクラスごとの予測係数のセットが出力されるが、予測係数メモリ３６１も、このように新たなクラスごとの予測係数が供給された場合には、既に記憶しているクラスごとの予測係数（前回のクラスごとの予測係数）に代えて、その新たなクラスごとの予測係数を記憶する。
【０１６７】
誤差情報メモリ３６３は、誤差算出部１１５から供給される誤差情報を記憶する。なお、誤差情報メモリ３６３は、誤差算出部１１５から、今回供給された誤差情報の他に、前回供給された誤差情報も記憶する（新たな誤差情報が供給されても、さらに新たな誤差情報が供給されるまでは、既に記憶している誤差情報を保持する）。また、誤差情報メモリ３６３は、新たなフレームについての処理が開始されるごとにクリアされる。
【０１６８】
比較回路３６４は、誤差情報メモリ３６３に記憶された今回の誤差情報と、予め設定されている所定の閾値εとを比較し、さらに、必要に応じて、今回の誤差情報と前回の誤差情報との比較も行う。比較回路３６４における比較結果は、制御回路３６５に供給される。
【０１６９】
制御回路３６５は、比較回路３６４における比較結果に基づいて、補正データメモリ３６２に記憶された補正データを、元の画像の符号化結果とすることの適正（最適）さを判定し、最適でないと認識（判定）した場合には、新たな補正データの出力を要求する制御信号を、補正部１１２（補正回路１３１）（図１２）に供給する。また、制御回路３６５は、補正データメモリ３６２に記憶された補正データを、元の画像の符号化結果とすることが最適であると認識した場合には、予測係数メモリ３６１に記憶されているクラスごとの予測係数を読み出し、多重化部１１７に出力するとともに、補正データメモリ３６２に記憶されている補正データを読み出し、最適圧縮データとして、やはり多重化部１１７に供給する。さらに、この場合、制御回路３６５は、１フレームの画像についての符号化を終了した旨を表す制御信号を、補正部１１２に出力し、これにより、上述したように、補正部１１２に、次のフレームについての処理を開始させる。
【０１７０】
次に、図２９を参照して、制御部１１６が実行する最適化処理について説明する。
【０１７１】
制御部１１６では、まず最初に、ステップＳ１４１において、誤差算出部１１５から誤差情報を受信したかどうかが、比較回路３６４によって判定され、誤差情報を受信していないと判定された場合、ステップＳ１４１に戻る。また、ステップＳ１４１において、誤差情報を受信したと判定された場合、即ち、誤差情報メモリ３６３に誤差情報が記憶された場合、ステップＳ１４２に進み、比較回路３６４において、誤差情報メモリ３６３に、いま記憶された誤差情報（今回の誤差情報）と、所定の閾値εとが比較され、いずれが大きいかが判定される。
【０１７２】
ステップＳ１４２において、今回の誤差情報が、所定の閾値ε以上であると判定された場合、比較回路３６４において、誤差情報メモリ３６３に記憶されている前回の誤差情報が読み出される。そして、比較回路３６４は、ステップＳ１４３において、前回の誤差情報と、今回の誤差情報とを比較し、いずれが大きいかを判定する。
【０１７３】
なお、１フレームについての処理が開始され、最初に誤差情報が供給された場合には、誤差情報メモリ３６３には、前回の誤差情報は記憶されていない。そこで、この場合には、制御部１１６においては、ステップＳ１４３以降の処理は行われず、制御回路３６５において、所定の初期アドレスを補正値ROM１３２に出力するように、補正回路１３１（図１２）を制御する制御信号が出力される。
【０１７４】
ステップＳ１４３において、今回の誤差情報が、前回の誤差情報以下であると判定された場合、即ち、圧縮データの補正を行うことにより誤差情報が減少した場合、ステップＳ１４４に進み、制御回路３６５は、補正値Δを、前回と同様に変化させるように指示する制御信号を、補正回路１３１に出力し、ステップＳ１４１に戻る。また、ステップＳ１４３において、今回の誤差情報が、前回の誤差情報より大きいと判定された場合、即ち、圧縮データの補正を行うことにより誤差情報が増加した場合、ステップＳ１４５に進み、制御回路３６５は、補正値Δを、前回と逆に変化させるように指示する制御信号を、補正回路１３１に出力し、ステップＳ１４１に戻る。
【０１７５】
なお、減少し続けていた誤差情報が、あるタイミングで上昇するようになったときは、制御回路３６５は、補正値Δを、いままでの場合の、例えば１／２の大きさで、前回と逆に変化させるように指示する制御信号を出力する。
【０１７６】
そして、ステップＳ１４１乃至Ｓ１４５の処理を繰り返すことにより、誤差情報が減少し、これにより、ステップＳ１４２において、今回の誤差情報が、所定の閾値εより小さくなったと判定された場合、ステップＳ１４６に進み、制御回路３６５は、予測係数メモリ３６１に記憶されているクラスごとの予測係数を読み出すとともに、補正データメモリ３６２に記憶されている１フレームの補正データを、最適圧縮データとして読み出し、多重化部１１７に供給して、処理を終了する。
【０１７７】
その後は、次のフレームについての誤差情報が供給されるのを待って、再び、図２９に示すフローチャートにしたがった処理が繰り返される。
【０１７８】
なお、補正回路１３１には、圧縮データの補正は、１フレームすべての圧縮データについて行わせるようにすることもできるし、その一部の圧縮データについてだけ行わせるようにすることもできる。一部の圧縮データについてだけ補正を行う場合においては、制御回路３６５に、例えば、誤差情報に対する影響の強い画素を検出させ、そのような画素についての圧縮データだけを補正するようにすることができる。誤差情報に対する影響の強い画素は、例えば、次のようにして検出することができる。即ち、まず最初に、例えば、間引き後に残った画素についての圧縮データをそのまま用いて処理を行うことにより、その誤差情報を得る。そして、間引き後に残った画素についての圧縮データを、１つずつ、同一の補正値Δだけ補正するような処理を行わせる制御信号を、制御回路３６５から補正回路１３１に出力し、その結果得られる誤差情報を、圧縮データをそのまま用いた場合に得られた誤差情報と比較し、その差が、所定値以上となる画素を、誤差情報に対する影響の強い画素として検出すれば良い。
【０１７９】
以上のように、誤差情報を所定の閾値εより小さくする（以下にする）まで、圧縮データの補正が繰り返され、誤差情報が所定の閾値εより小さくなったときにおける補正データが、画像の符号化結果として出力されるので、受信装置４４（図２）においては、間引き後の画像を構成する画素の画素値を、元の画像を復元するのに最も適当な値にした補正データから、原画像と同一（ほぼ同一）の復号画像を得ることが可能となる。
【０１８０】
また、画像は、間引き処理により圧縮される他、ＡＤＲＣ処理およびクラス分類適応処理などによっても圧縮されるため、非常に高圧縮率の符号化データを得ることができる。なお、送信装置４１における、以上のような符号化処理は、間引きによる圧縮処理と、クラス分類適応処理とを、いわば有機的に統合して用いることにより、高能率圧縮を実現するものであり、このことから統合符号化処理ということができる。
【０１８１】
図３０は、図２の受信装置４４のハードウェアの構成例を表している。
【０１８２】
受信機／再生装置４４６は、送信装置４１が符号化データを記録した記録媒体４２を再生したり、送信装置４１が伝送路４３を介して伝送した符号化データを受信する。I/F４６１は、受信機／再生装置４６６に対しての符号化データの受信処理を行うとともに、復号された画像データを図示せぬ装置に出力する処理を実行する。
【０１８３】
ＲＯＭ（Read Only Memory）４６２は、ＩＰＬ（Initial Program Loading）用のプログラムその他を記憶している。ＲＡＭ（Random Access Memory）４６３は、外部記憶装置４６５に記録されているシステムプログラム（ＯＳ（Operating System））やアプリケーションプログラムを記憶したり、また、ＣＰＵ（Central Processing Unit）４６４の動作上必要なデータを記憶する。ＣＰＵ４６４は、ＲＯＭ４６２に記憶されているＩＰＬプログラムにしたがい、外部記憶装置４６５からシステムプログラムおよびアプリケーションプログラムを、ＲＡＭ４６３に展開し、そのシステムプログラムの制御の下、アプリケーションプログラムを実行することで、Ｉ／Ｆ４６１から供給される符号化データについての、後述するような復号処理を行う。
【０１８４】
外部記憶装置４６５は、例えば、磁気ディスク４７１、光ディスク４７２、光磁気ディスク４７３、または半導体メモリ４７４などでなり、上述したように、ＣＰＵ４６４が実行するシステムプログラムやアプリケーションプログラムを記憶している他、ＣＰＵ４６４の動作上必要なデータも記憶している。
【０１８５】
なお、Ｉ／Ｆ４６１，ＲＯＭ４６２，ＲＡＭ４６３，ＣＰＵ４６４、および外部記憶装置４６５は、相互にバスを介して接続されている。
【０１８６】
以上のように構成される受信装置４４においては、Ｉ／Ｆ４６１に受信機／再生装置４６６から符号化データが供給されると、その符号化データは、ＣＰＵ４６４に供給される。ＣＰＵ４６４は、符号化データを復号し、その結果得られる復号データを、Ｉ／Ｆ４６１に供給する。Ｉ／Ｆ４６１は、復号データ（画像データ）を受信すると、それを、図示せぬディスプレイ等に出力し、表示させる。
【０１８７】
図３１は、図３０の受信装置４４の受信機／再生装置５７１を除く部分の機能的な構成例を示している。
【０１８８】
受信機／再生装置５７１においては、記録媒体４２に記録された符号化データが再生されるか、または伝送路４３を介して伝送されてくる符号化データ（処理対象データ）が受信されるか、分離部５７２に供給される。分離部５７２では、符号化データから、補正データ（最適圧縮データ）とクラスごとの予測係数とが抽出される。補正データは、クラス分類用ブロック化回路５７３、動き推定部５７７、および予測値計算用ブロック化回路５７８に供給され、クラスごとの予測係数は、予測回路５７６に供給されて、その内蔵するメモリ５７６Ａに記憶される。
【０１８９】
クラス分類用ブロック化回路５７３、ＡＤＲＣ処理回路５７４、クラス分類回路５７５、予測回路５７６、または予測値計算用ブロック化回路５７８は、図１６におけるクラス分類用ブロック化回路２６１、ADRC処理回路２６４、クラス分類回路２６５、予測回路２６７、または予測値計算用ブロック化回路２６２と、それぞれ同様に構成されており、また、動き推定部５７７は、図１４（図６）の動き推定部１１３と同様に構成されている。従って、これらのブロックにおいては、図１４と図１６における場合と同様の処理が行われ、これにより、予測値計算用ブロック化回路５７８からは予測値計算用ブロックが出力され、また、クラス分類回路５７５からはクラス情報が出力される。これらの予測値計算用ブロックおよびクラス情報は、予測回路５７６に供給される。
【０１９０】
予測回路５７６は、クラス分類回路５７５から供給されるクラス情報に対応した２７×９個の予測係数を、メモリ５７６Ａから読み出し、その２７×９個の予測係数と、予測値計算用ブロック化回路５７８から供給される５×５画素の予測値計算用ブロック２５１を構成する補正データとを用い、式（１）にしたがって、原画像の３×３画素の予測値を算出し、そのような予測値で構成される画像を、復号画像として、例えば、１フレーム単位で出力する。この復号画像は、上述したように、元の画像とほぼ同一の画像となる。
【０１９１】
次に、図３１の受信装置４４の復号処理について、図３２のフローチャートを参照して説明する。
【０１９２】
最初に、ステップＳ１６１において、分離部５７２は、受信機／再生装置５７１より供給された符号化データから、補正データと予測係数を分離し、補正データをクラス分類用ブロック化回路５７３、動き推定部５７７、および予測値計算用ブロック化回路５７８に供給するとともに、予測係数を予測回路５７６のメモリ５７６Ａに供給する。
【０１９３】
ステップＳ１６２において、クラス分類用ブロック化回路５７３は、クラス分類用ブロック化処理を行い、クラス分類用ブロックをADRC処理回路５７４に供給する。
【０１９４】
ステップＳ１６３において、ADRC処理回路５７４は、クラス分類用ブロック化回路５７３より供給されたクラス分類用ブロックの補正データを１ビットADRC処理し、クラス分類回路５７５に出力する。
【０１９５】
クラス分類回路５７５は、ステップＳ１６４において、ADRC処理回路５７４より供給されたデータに基づいて、クラス分類処理を行い、クラスコードを予測回路５７６に出力する。
【０１９６】
ステップＳ１６５において、動き推定部５７７は、分離部５７２より供給された補正データに基づいて、動き推定処理を行い、前フレーム動きベクトルと後フレーム動きベクトルを予測値計算用ブロック化回路５７８に供給する。
【０１９７】
予測値計算用ブロック化回路５７８は、ステップＳ１６６において、動き推定部５７７より供給される前フレーム動きベクトルと後フレーム動きベクトルに基づいて、分離部５７２より供給される補正データの中から、予測値計算用ブロックを構成する補正データを抽出する。
【０１９８】
ステップＳ１６７において、予測回路５７６は、クラス分類回路５７５から供給されるクラス情報に対応した２７×９個の予測係数をメモリ５７６Ａから読み出し、その２７×９個の予測係数と、予測値計算用ブロック化回路５７８から供給される２７個の予測値計算用ブロックを構成する補正データとを用い、式（１）に従って、原画像の３×３画素の予測値を算出する。
【０１９９】
その後、ステップＳ１６８に進み、予測回路５７６は、ステップＳ１６７の処理で算出した予測値を復号結果として出力する。
【０２００】
なお、受信側においては、図３１に示すような受信装置４４でなくても、間引きされた画像を単純な補間により復号する装置により、予測係数を用いずに、復号画像を得ることができる。但し、この場合に得られる復号画像は、画質（解像度）が劣化したものとなる。
【０２０１】
図３３は、図１６の予測係数ROM２６６に記憶されている予測係数を得るための学習を行う画像処理装置の構成例を示している。
【０２０２】
この画像処理装置には、あらゆる画像に適応可能な予測係数を得るための学習用の画像データ（学習用画像）が供給される。図１４に示される動き推定部１１３と同様に構成される動き推定部５９０は、入力された画像データから、前フレーム動きベクトルと後フレーム動きベクトルを検出し、学習用ブロック化回路５９１に供給する。
【０２０３】
学習用ブロック化回路５９１は、動き推定部５９０から供給される動きベクトルに基づいて、画像データから学習用ブロックを抽出し、ADRC処理回路５９３と学習データメモリ５９６に供給する。ADRC処理回路５９３は、学習用ブロック化回路５９１より供給される学習用ブロックを１ビットADRC処理し、処理した結果をクラス分類回路５９４に出力する。
【０２０４】
クラス分類回路５９４は、ADRC処理回路５９３より供給されたデータをクラス分類し、得られた結果をスイッチ５９５の端子ａを介して学習データメモリ５９６のアドレス端子に供給する。
【０２０５】
スイッチ５９５はまた、端子ｂからカウンタ５９７の出力を学習データメモリ５９６のアドレス端子に供給する。
【０２０６】
教師用ブロック化回路５９２は、画像データから教師用ブロックを抽出し、教師データメモリ５９８に出力する。教師データメモリ５９８のアドレス端子には、スイッチ５９５により、端子ａから取り込まれたクラス分類回路５９４の出力、または端子ｂから取り込まれたカウンタ５９７の出力が供給されている。
【０２０７】
演算回路５９９は、学習データメモリ５９６の出力と、教師データメモリ５９８の出力とを演算し、演算して得られた結果をメモリ６００に供給する。メモリ６００のアドレス端子には、カウンタ５９７の出力が供給されている。
【０２０８】
次に、図３４のフローチャートを参照して、図３３の画像処理装置の学習処理について説明する。
【０２０９】
ステップＳ１８１において、動き推定部５９０は、入力された画像データから前フレーム動きベクトルと後フレーム動きベクトルを抽出し、学習量ブロック化回路５９１に出力する。
【０２１０】
学習用ブロック化回路５９１は、ステップＳ１８２において、入力される画像データから、例えば、図１７に黒い円形の印で示した位置関係の２５画素（５×５画素）、並びに、図１９に示される前フレームの予測タップ２２２と後フレームの予測タップ２３２に対応する２個の画素を抽出し、この２７画素で構成されるブロックを、学習用ブロックとして、ＡＤＲＣ処理５９３および学習データメモリ５９６に供給する。
【０２１１】
また、教師用ブロック化回路５９２は、ステップＳ１８３において、入力される画像データから、例えば、３×３個の９画素で構成されるブロックを生成し、この９画素で構成されるブロックを、教師用ブロックとして、教師データメモリ５９８に供給する。
【０２１２】
なお、学習用ブロック化回路５９１において、例えば、図１７と図１９に黒い円形の印で示した位置関係の２７画素を含む学習用ブロックが生成されるとき、教師用ブロック化回路５９２では、図１７に四角形で囲んで示される３×３画素の教師用ブロックが生成される。
【０２１３】
ＡＤＲＣ処理回路５９３は、ステップＳ１８４において、学習用ブロックを構成する２７画素から、例えば、その中心の９画素（３×３画素）を抽出し、この９画素でなるブロックに対して、図１６のADRC処理回路２６４における場合と同様に、１ビットのＡＤＲＣ処理を施す。ＡＤＲＣ処理の施された３×３画素のブロックは、クラス分類回路５９４に供給される。クラス分類回路５９４は、ステップＳ１８５において、図１６のクラス分類回路２６５における場合と同様に、ＡＤＲＣ処理回路５９３からのブロックをクラス分類処理し、それにより得られるクラス情報を、スイッチ５９５の端子ａを介して、学習データメモリ５９６および教師データメモリ５９８に供給する。
【０２１４】
学習データメモリ５９６または教師データメモリ５９８は、それぞれステップＳ１８６，Ｓ１８７において、そこに供給されるクラス情報に対応するアドレスに、学習用ブロック化回路５９１からの学習用ブロックまたは教師用ブロック化回路５９２からの教師用ブロックを、それぞれ記憶する。
【０２１５】
従って、学習データメモリ５９６において、例えば、図１７と図１９に黒い円形の印で示した２７（＝５×５＋２）個の画素でなるブロックが学習用ブロックとして、あるアドレスに記憶されたとすると、教師データメモリ５９８においては、そのアドレスと同一のアドレスに、図１７において、四角形で囲んで示す３×３画素のブロックが、教師用ブロックとして記憶される。
【０２１６】
以下、同様の処理が、あらかじめ用意されたすべての学習用の画像について繰り返され、これにより、学習用ブロックと、図１６のローカルデコード部１１４において、その学習用ブロックを構成する２７画素と同一の位置関係を有する２７個の補正データで構成される予測値計算用ブロックを用いて予測値が求められる９画素で構成される教師用ブロックとが、学習用データメモリ５９６と、教師用データメモリ５９８とにおいて、同一のアドレスに記憶される。
【０２１７】
なお、学習用データメモリ５９６と教師用データメモリ５９８においては、同一アドレスに複数の情報を記憶することができるようになされており、これにより、同一アドレスには、複数の学習用ブロックと教師用ブロックを記憶することができるようになされている。
【０２１８】
学習用画像すべてについての学習用ブロックと教師用ブロックとが、学習データメモリ５９６と教師データメモリ５９８に記憶されると、ステップＳ１８８において、端子ａを選択していたスイッチ５９５が、端子ｂに切り替わり、これにより、カウンタ５９７の出力が、アドレスとして、学習データメモリ５９６および教師データメモリ５９８に供給される。カウンタ５９７は、所定のクロックをカウントし、そのカウント値を出力しており、学習データメモリ５９６または教師データメモリ５９８では、そのカウント値に対応するアドレスに記憶された学習用ブロックまたは教師用ブロックが読み出され、演算回路５９９に供給される。
【０２１９】
従って、演算回路５９９には、カウンタ５９７のカウント値に対応するクラスの学習用ブロックのセットと、教師用ブロックのセットとが供給される。
【０２２０】
演算回路５９９は、あるクラスについての学習用ブロックのセットと、教師用ブロックのセットとを受信すると、それらを用いて、最小自乗法により、誤差を最小とする予測係数を算出する。
【０２２１】
即ち、例えば、いま、学習用ブロックを構成する画素の画素値を、ｘ1，ｘ2，ｘ3，・・・とし、求めるべき予測係数をｗ1，ｗ2，ｗ3，・・・とするとき、これらの線形１次結合により、教師用ブロックを構成する、ある画素の画素値ｙを求めるには、予測係数ｗ1，ｗ2，ｗ3，・・・は、次式を満たす必要がある。
【０２２２】
ｙ＝ｗ1ｘ1＋ｗ2ｘ2＋ｗ3ｘ3＋・・・
【０２２３】
そこで、演算回路５９９では、同一クラスの学習用ブロックと、対応する教師用ブロックとから、真値ｙに対する、予測値ｗ1ｘ1＋ｗ2ｘ2＋ｗ3ｘ3＋・・・の自乗誤差を最小とする予測係数ｗ1，ｗ2，ｗ3，・・・が、上述した式（７）に示す正規方程式をたてて解くことにより求められる。従って、この処理をクラスごとに行うことにより、各クラスごとに、２７×９個の予測係数が生成される。
【０２２４】
演算回路５９９において求められた、クラスごとの予測係数は、ステップＳ１８９において、メモリ６００に供給される。メモリ６００には、演算回路５９９からの予測係数の他、カウンタ５９７からカウント値が供給されており、これにより、メモリ６００においては、演算回路５９９からの予測係数が、カウンタ５９７からのカウント値に対応するアドレスに記憶される。
【０２２５】
以上のようにして、メモリ６００には、各クラスに対応するアドレスに、そのクラスのブロックの３×３画素を予測するのに最適な２７×９個の予測係数が記憶される。
【０２２６】
図１６の予測係数ROM２６６には、以上のようにしてメモリ６００に記憶されたクラスごとの予測係数が記憶される。
【０２２７】
なお、図１９の例においては、現在フレーム２０１の１フレーム前の前フレーム２０２と、１フレーム後の後フレーム２０３からも予測タップを抽出するようにしたが、例えば、図３５に示されるように、前フレーム２０２よりさらに１フレーム前の前フレーム２０４において、注目補正データ４５１に対して動きベクトル４５３に対応する位置の補正データを予測タップ４５２として抽出し、さらに、後フレーム２０３よりさらに１フレームだけ後の後フレーム２０５における注目対応補正データ４６１に対して動きベクトル４６３に対応する位置の補正データで構成される予測タップ４６２を抽出し、それらも予測値計算用ブロックの補正データとすることができる。
【０２２８】
また、以上においては、現在フレームより前のフレームと後のフレームの両方から予測タップを抽出するようにしたが、少なくとも一方からだけ予測タップを抽出するようにしてもよい。
【０２２９】
但し、時間的により広い範囲から予測タップを抽出するようにした方が、動きが速い動画像が原画像である場合においても、より、原画像に近い画像を復号することが可能となる。
【０２３０】
以上、本発明を適用した画像処理装置について説明したが、このような画像処理装置は、例えば、ＮＴＳＣ方式などの標準方式のテレビジョン信号を符号化する場合の他、データ量の多い、いわゆるハイビジョン方式のテレビジョン信号などを符号化する場合に、特に有効である。
【０２３１】
なお、本実施の形態においては、誤差情報として、誤差の自乗和を用いるようにしたが、誤差情報としては、その他、例えば、誤差の絶対値和や、その３乗以上したものの和などを用いるようにすることが可能である。いずれを誤差情報として用いるかは、例えば、その収束性などに基づいて決定するようにすることが可能である。
【０２３２】
また、本実施の形態では、誤差情報が、所定の閾値ε以下になるまで、圧縮データの補正を繰り返し行うようする場合において、圧縮データの補正の回数に、上限を設けるようにすることも可能である。即ち、例えば、リアルタイムで画像の伝送を行う場合などにおいては、１フレームについての処理が、所定の期間内に終了することが必要であるが、誤差情報は、そのような所定の期間内に収束するとは限らない。そこで、補正の回数に上限を設けることにより、所定の期間内に、誤差情報が閾値ε以下に収束しないときは、そのフレームについての処理を終了し（そのときにおける補正データを、符号化結果とし）、次のフレームについての処理を開始するようにすることが可能である。
【０２３３】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０２３４】
この記録媒体は、図５と図３０に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク７１，４７１（フロッピディスクを含む）、光ディスク７２，４７２（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク７３，４７３（ＭＤ（Mini-Disk）を含む）、もしくは半導体メモリ７４，４７４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM６２，４６２や、ハードディスクなどで構成される。
【０２３５】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２３６】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０２３７】
【発明の効果】
本発明によれば、より適正に補正された補正データを得ることができ、より原画像に近い復号画像を得ることが可能となる。
【図面の簡単な説明】
【図１】従来の画像圧縮処理を行う装置の構成例を示すブロック図である。
【図２】本発明を適用した画像処理装置の一実施の形態の構成を示すブロック図である。
【図３】図２の送信装置における圧縮処理を説明する図である。
【図４】図２における受信装置の復号処理を説明する図である。
【図５】図２の送信装置の構成例を示すブロック図である。
【図６】図２の送信装置の機能的構成例を示すブロック図である。
【図７】図６の送信装置の動作を説明するフローチャートである。
【図８】単純間引き処理を説明するフローチャートである。
【図９】単純間引き処理を説明する図である。
【図１０】画像平均処理を説明するフローチャートである。
【図１１】画像平均処理を説明する図である。
【図１２】図６の補正部の構成例を示すブロック図である。
【図１３】図１２の補正部の動作を説明するフローチャートである。
【図１４】図６の送信装置の動き推定部の構成例を示すブロック図である。
【図１５】図１４の動き推定部の処理を説明するフローチャートである。
【図１６】図６のローカルデコード部の構成例を示すブロック図である。
【図１７】クラス分類用ブロックを説明する図である。
【図１８】クラス分類用ブロックの他の例を説明する図である。
【図１９】予測値計算用ブロックを説明する図である。
【図２０】予測値計算用ブロックを説明する他の図である。
【図２１】クラス分類処理を説明するための図である。
【図２２】クラス分類処理を説明するための図である。
【図２３】ＡＤＲＣ処理を説明するための図である。
【図２４】ＡＤＲＣ処理を説明するための図である。
【図２５】図１６のローカルデコード部の動作を説明するフローチャートである。
【図２６】図６の誤差算出部の構成例を示すブロック図である。
【図２７】図２６の誤差算出部の動作を説明するフローチャートである。
【図２８】図６の制御部の構成例を示すブロック図である。
【図２９】図２８の制御部の動作を説明するフローチャートである。
【図３０】図２の受信装置の構成例を示すブロック図である。
【図３１】図２の受信装置の機能的構成例を示すブロック図である。
【図３２】図３１の受信装置の動作を説明するフローチャートである。
【図３３】図１６の予測係数ＲＯＭに記憶されている予測係数を算出する画像処理装置の一実施の形態の構成を示すブロック図である。
【図３４】図３３の画像処理装置の動作を説明するフローチャートである。
【図３５】予測タップを説明する図である。
【符号の説明】
４１  送信装置，  ４２  記録媒体，  ４３  伝送路，  ４４  受信装置，  １１１  縮小画像生成部，  １１２  補正部，  １１３  動き推定部，  １１４ローカルデコード部，  １１５  誤差算出部，  １１６  制御部，  １１７  多重化部，  １３１  補正回路，  １３２  補正値ＲＯＭ，  １５１，１５２，１５３  フレームメモリ，  １５４，１５５  動きベクトル検出部，  ２６１  クラス分類用ブロック化回路，  ２６２  予測値計算用ブロック化回路，  ２６３  クラス分類適応処理回路，  ２６４  ＡＤＲＣ処理回路，  ２６５  クラス分類回路，  ２６６  予測係数ROM，  ２６７  予測回路，  ３５１  ブロック化回路，  ３５２  自乗誤差算出回路，  ３５３，３５４  演算器，  ３５５  積算部，  ３５６  メモリ，  ３６１  予測係数メモリ，  ３６２  補正データメモリ，  ３６３  誤差情報メモリ，  ３６４  比較回路，  ３６５  制御回路，  ５７２  分離部，  ５７３  クラス分類用ブロック化回路，  ５７４  ＡＤＲＣ処理回路，  ５７５  クラス分類回路，  ５７６  予測回路，  ５７６Ａ  メモリ，  ５７７  動き推定部，  ５７８  予測値計算用ブロック化回路，  ５９０  動き推定部，  ５９１  学習用ブロック化回路，  ５９２  教師用ブロック化回路，  ５９３  ＡＤＲＣ処理回路，  ５９４  クラス分類回路，  ５９５スイッチ，  ５９６  学習データメモリ，  ５９７  カウンタ，  ５９８  教師データメモリ，  ５９９  演算回路，  ６００  メモリ
【図１】
0004518727.tif 000013
【図２】
0004518727.tif 000014
【図３】
0004518727.tif 000015
【図４】
0004518727.tif 000016
【図５】
0004518727.tif 000017
【図６】
0004518727.tif 000018
【図７】
0004518727.tif 000019
【図８】
0004518727.tif 000020
【図９】
0004518727.tif 000021
【図１０】
0004518727.tif 000022
【図１１】
0004518727.tif 000023
【図１２】
0004518727.tif 000024
【図１３】
0004518727.tif 000025
【図１４】
0004518727.tif 000026
【図１５】
0004518727.tif 000027
【図１６】
0004518727.tif 000028
【図１７】
0004518727.tif 000029
【図１８】
0004518727.tif 000030
【図１９】
0004518727.tif 000031
【図２０】
0004518727.tif 000032
【図２１】
0004518727.tif 000033
【図２２】
0004518727.tif 000034
【図２３】
0004518727.tif 000035
【図２４】
0004518727.tif 000036
【図２５】
0004518727.tif 000037
【図２６】
0004518727.tif 000038
【図２７】
0004518727.tif 000039
【図２８】
0004518727.tif 000040
【図２９】
0004518727.tif 000041
【図３０】
0004518727.tif 000042
【図３１】
0004518727.tif 000043
【図３２】
0004518727.tif 000044
【図３３】
0004518727.tif 000045
【図３４】
0004518727.tif 000046
【図３５】
0004518727.tif 000047