JP4518727B2 - Image encoding apparatus and method, recording medium, and program - Google Patents
Image encoding apparatus and method, recording medium, and program Download PDFInfo
- Publication number
- JP4518727B2 JP4518727B2 JP2002007325A JP2002007325A JP4518727B2 JP 4518727 B2 JP4518727 B2 JP 4518727B2 JP 2002007325 A JP2002007325 A JP 2002007325A JP 2002007325 A JP2002007325 A JP 2002007325A JP 4518727 B2 JP4518727 B2 JP 4518727B2
- Authority
- JP
- Japan
- Prior art keywords
- correction data
- prediction
- correction
- original image
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、画像符号化装置および方法、記録媒体、並びにプログラムに関し、特に、原画像とほぼ同一の復号画像が得られるように、画像を、例えば間引くことにより符号化する場合において、より原画像に近い画像を符号化し、復号することができるようにした、画像符号化装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
従来より、画像の符号化方法については、種々の方法が提案されているが、そのうちの1つに、例えば、画像を、その画素を間引くこと(subsampling)により圧縮して符号化する方法がある。
【0003】
しかしながら、このように間引いて圧縮した画像を、単純に補間により伸張した場合、その結果得られる復号画像の解像度が劣化する。
【0004】
このように復号画像の解像度が劣化する原因として、第1に、間引いた画像には、元の画像に含まれる高周波数成分が含まれていないことと、第2に、間引き後の画像を構成する画素の画素値が、元の画像を復元するのに、必ずしも適当でないことが考えられる。
【0005】
そこで、本出願人は、例えば、特願平9−208483号として、図1に示されるような画像符号化装置を先に提案した。
【0006】
図1の例においては、縮小画像作成部11が、入力された画像データを、例えば9個の画素から1つの画素だけを選択する(間引く)ことで縮小画像データを生成する。補正部12は、制御部15より供給される制御信号に基づいて、縮小画像作成部11より供給される縮小画像データを補正して、補正データを生成する。ローカルデコード部13は、補正部12により生成された補正データを、クラス分類適応処理を利用してデコードし、元の画像を予測する予測値を生成する。誤差算出部14は、ローカルデコード部13により算出された予測値を入力画像データと比較し、その誤差を予測誤差として算出して、制御部15に供給する。
【0007】
制御部15は、誤差算出部14により算出された予測誤差に基づいて制御信号を生成し、補正部12に供給する。補正部12は、この制御信号に基づいて縮小画像データを補正して、ローカルデコード部13に供給する。
【0008】
以上のような処理が繰り返し実行されることで、予測誤差が所定値以下になったとき、制御部15は、そのとき補正部12より出力される補正データを最適圧縮データとして、そのときローカルデコード部13により予測処理に用いられた予測係数とともに多重化部16に供給し、多重化させ、符号化データとして出力させる。
【0009】
【発明が解決しようとする課題】
しかしながら、先の提案においては、ローカルデコード部13において、予測処理に用いられる補正データが同一のフレーム内の補正データとされているため、特に、動きがある画像を正確に元の画像により近い画像として復号することが困難である課題があった。
【0010】
本発明はこのような状況に鑑みてなされたものであり、より正確に、原画像に近い画像を復号することができるようにするものである。
【0011】
【課題を解決するための手段】
本発明の画像符号化装置は、原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮手段と、圧縮手段により生成された縮小画像データの画素値、または、縮小画像データの画素値を補正した補正データの画素値を補正し、補正データを生成する補正手段と、補正手段により生成された補正データであって、原画像のうちの第1の原画像に対応する第1の補正データと、第1の原画像より時間的に前の第2の原画像に対応する第2の補正データとの間の動き、または、第1の補正データと第1の原画像より時間的に後の第3の原画像に対応する第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定手段と、第1の補正データを構成する画素のうちの1つを注目画素とし、第2の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素、または、第3の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、注目画素を少なくとも予測補正データとして抽出する抽出手段と、抽出手段により予測補正データとして抽出された画素の画素値、および、原画像の画素値の予測値を予測するための予測式の係数である予測係数を予測式に代入して、第1の原画像における注目画素を含む注目画素の近傍の領域の画素値の予測値を演算する演算手段と、演算手段により演算された予測値からなる予測画像の、第1の原画像に対する予測誤差を算出する予測誤差算出手段と、予測誤差算出手段により算出された予測誤差の所定の閾値との比較、または、補正データを生成した回数の所定の回数との比較を行うことにより、補正手段により生成された第1の補正データが第1の原画像の符号化結果として適正であるか否かを判定する判定手段と、判定手段により、第1の補正データが第1の原画像の符号化結果として適正であると判定された場合、そのときの第1の補正データを最適な圧縮データとして出力する出力手段とを備え、判定手段により、第1の補正データが第1の原画像の符号化結果として適正であると判定されるまで、補正手段は、予測誤差が減少するように画素値を補正する方向および量を調整しながら第1の補正データを生成し、動き推定手段は、第1の補正データと第2の補正データとの間の動き、または、第1の補正データと第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、抽出手段は、予測補正データを抽出し、演算手段は、注目画素の近傍の領域の画素値の予測値を演算し、予測誤差算出手段は、予測誤差を算出する処理を繰り返すことを特徴とする。
【0012】
前記動き推定手段は、補正手段により生成された第1の補正データ、第2の補正データ、および第3の補正データを保持する補正データ保持手段と、補正データ保持手段により保持されている第1の補正データと第2の補正データとの間の絶対差分和を計算する第1の計算手段と、補正データ保持手段により保持されている第1の補正データと第3の補正データとの間の絶対差分和を計算する第2の計算手段と、第1の計算手段により計算された絶対差分和の最小値を検出する第1の最小値検出手段と、第2の計算手段により計算された絶対差分和の最小値を検出する第2の最小値検出手段とを備えるようにすることができる。
【0013】
前記予測手段は、補正データを、その画素値に応じて所定のクラスに分類するクラス分類手段と、クラス毎に予測係数を保持し、クラス分類手段により分類されたクラスに対応する予測係数を出力する予測係数保持手段とをさらに備えるようにし、前記演算手段は、抽出手段により予測補正データとして抽出された画素の画素値、および、予測係数保持手段により出力された予測係数を予測式に代入して、予測値を演算することができる。
【0014】
前記出力手段は、出力する補正データが分類されたクラスに対応する予測係数をさらに出力することができる。
【0015】
本発明の画像符号化方法は、原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮ステップと、圧縮ステップの処理により生成された縮小画像データの画素値、または、縮小画像データの画素値を補正した補正データの画素値を補正し、補正データを生成する補正ステップと、補正ステップの処理により生成された補正データであって、原画像のうちの第1の原画像に対応する第1の補正データと、第1の原画像より時間的に前の第2の原画像に対応する第2の補正データとの間の動き、または、第1の補正データと第1の原画像より時間的に後の第3の原画像に対応する第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、第1の補正データを構成する画素のうちの1つを注目画素とし、第2の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素、または、第3の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、注目画素を少なくとも予測補正データとして抽出する抽出ステップと、抽出ステップの処理により予測補正データとして抽出された画素の画素値、および、原画像の画素値の予測値を予測するための予測式の係数である予測係数を予測式に代入して、第1の原画像における注目画素を含む注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、演算ステップの処理により演算された予測値からなる予測画像の、第1の原画像に対する予測誤差を算出する予測誤差算出ステップと、予測誤差算出ステップの処理により算出された予測誤差の所定の閾値との比較、または、補正データを生成した回数の所定の回数との比較を行うことにより、補正ステップの処理により生成された補正データが第1の原画像の符号化結果として適正であるか否かを判定する判定ステップと、判定ステップの処理により、第1の補正データが第1の原画像の符号化結果として適正であると判定された場合、そのときの第1の補正データを最適な圧縮データとして出力する出力ステップとを含み、判定ステップの処理により、第1の補正データが第1の原画像の符号化結果として適正であると判定されるまで、補正ステップの処理により、予測誤差が減少するように画素値を補正する方向および量を調整しながら第1の補正データを生成し、動き推定ステップの処理により、第1の補正データと第2の補正データとの間の動き、または、第1の補正データと第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、抽出ステップの処理により、予測補正データを抽出し、演算ステップの処理により、注目画素の近傍の領域の画素値の予測値を演算し、予測誤差算出ステップの処理により、予測誤差を算出する処理を繰り返すことを特徴とする。
【0016】
本発明の記録媒体のプログラムは、原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮ステップと、圧縮ステップの処理により生成された縮小画像データの画素値、または、縮小画像データの画素値を補正した補正データの画素値を補正し、補正データを生成する補正ステップと、補正ステップの処理により生成された補正データであって、原画像のうちの第1の原画像に対応する第1の補正データと、第1の原画像より時間的に前の第2の原画像に対応する第2の補正データとの間の動き、または、第1の補正データと第1の原画像より時間的に後の第3の原画像に対応する第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、第1の補正データを構成する画素のうちの1つを注目画素とし、第2の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素、または、第3の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、注目画素を少なくとも予測補正データとして抽出する抽出ステップと、抽出ステップの処理により予測補正データとして抽出された画素の画素値、および、原画像の画素値の予測値を予測するための予測式の係数である予測係数を予測式に代入して、第1の原画像における注目画素を含む注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、演算ステップの処理により演算された予測値からなる予測画像の、第1の原画像に対する予測誤差を算出する予測誤差算出ステップと、予測誤差算出ステップの処理により算出された予測誤差の所定の閾値との比較、または、補正データを生成した回数の所定の回数との比較を行うことにより、補正ステップの処理により生成された補正データが第1の原画像の符号化結果として適正であるか否かを判定する判定ステップと、判定ステップの処理により、第1の補正データが第1の原画像の符号化結果として適正であると判定された場合、そのときの第1の補正データを最適な圧縮データとして出力する出力ステップとを含み、判定ステップの処理により、第1の補正データが第1の原画像の符号化結果として適正であると判定されるまで、補正ステップの処理により、予測誤差が減少するように画素値を補正する方向および量を調整しながら第1の補正データを生成し、動き推定ステップの処理により、第1の補正データと第2の補正データとの間の動き、または、第1の補正データと第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、抽出ステップの処理により、予測補正データを抽出し、演算ステップの処理により、注目画素の近傍の領域の画素値の予測値を演算し、予測誤差算出ステップの処理により、予測誤差を算出する処理を繰り返すことを特徴とする。
【0017】
本発明のプログラムは、原画像の画素数を少なくすることにより圧縮し、縮小画像データを生成する圧縮ステップと、圧縮ステップの処理により生成された縮小画像データの画素値、または、縮小画像データの画素値を補正した補正データの画素値を補正し、補正データを生成する補正ステップと、補正ステップの処理により生成された補正データであって、原画像のうちの第1の原画像に対応する第1の補正データと、第1の原画像より時間的に前の第2の原画像に対応する第2の補正データとの間の動き、または、第1の補正データと第1の原画像より時間的に後の第3の原画像に対応する第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、第1の補正データを構成する画素のうちの1つを注目画素とし、第2の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素、または、第3の補正データにおける注目画素に対応する位置から注目画素の動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、注目画素を少なくとも予測補正データとして抽出する抽出ステップと、抽出ステップの処理により予測補正データとして抽出された画素の画素値、および、原画像の画素値の予測値を予測するための予測式の係数である予測係数を予測式に代入して、第1の原画像における注目画素を含む注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、演算ステップの処理により演算された予測値からなる予測画像の、第1の原画像に対する予測誤差を算出する予測誤差算出ステップと、予測誤差算出ステップの処理により算出された予測誤差の所定の閾値との比較、または、補正データを生成した回数の所定の回数との比較を行うことにより、補正ステップの処理により生成された補正データが第1の原画像の符号化結果として適正であるか否かを判定する判定ステップと、判定ステップの処理により、第1の補正データが第1の原画像の符号化結果として適正であると判定された場合、そのときの第1の補正データを最適な圧縮データとして出力する出力ステップとを含み、判定ステップの処理により、第1の補正データが第1の原画像の符号化結果として適正であると判定されるまで、補正ステップの処理により、予測誤差が減少するように画素値を補正する方向および量を調整しながら第1の補正データを生成し、動き推定ステップの処理により、第1の補正データと第2の補正データとの間の動き、または、第1の補正データと第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、抽出ステップの処理により、予測補正データを抽出し、演算ステップの処理により、注目画素の近傍の領域の画素値の予測値を演算し、予測誤差算出ステップの処理により、予測誤差を算出する処理を繰り返す処理をコンピュータに実行させることを特徴とする。
【0023】
本発明の画像符号化装置および方法、記録媒体、並びにプログラムにおいては、第1の原画像に対応する第1の補正データと、第1の原画像より時間的に前の第2の原画像に対応する第2の補正データ、または第1の原画像より時間的に後の第3の原画像に対応する第3の補正データの少なくとも一方を利用して、第1の原画像の動きが推定され、その動きベクトルに基づいて、第1の原画像が予測される。
【0025】
【発明の実施の形態】
図2は、本発明を適用した画像処理装置の一実施の形態の構成を示している。
【0026】
送信装置41には、ディジタル化された画像データが供給される。送信装置41は、入力された画像データを、例えば図3に示されるように、1/9に間引くこと(その画素数を少なくすること)により圧縮、符号化し、その結果得られる符号化データを、さらにクラス分類適応処理により予測し、例えば、光ディスク、光磁気ディスク、磁気テープ、相変化ディスク、その他でなる記録媒体42に記録したり、または、例えば、地上波、衛星回線、電話回線、CATV網、インターネット、その他の伝送路43を介して伝送する。
【0027】
受信装置44では、記録媒体42に記録された符号化データが再生され、または、伝送路43を介して伝送されてくる符号化データが受信される。その符号化データは、図4に示されるように、クラス分類適応処理に基づいて、伸張、復号される。そして、その結果得られる復号画像が、図示せぬディスプレイに供給されて表示される。
【0028】
なお、以上のような画像処理装置は、例えば、光ディスク装置や、光磁気ディスク装置、磁気テープ装置、その他の、画像の記録または再生を行う装置、あるいはまた、例えば、テレビ電話装置、テレビジョン放送システム、CATVシステム、その他の、画像の伝送を行う装置などに適用される。また、後述するように、送信装置41が出力する符号化データのデータ量が少ないため、図2の画像処理装置は、伝送レートの低い、例えば、携帯電話機、その他の、移動に便利な携帯端末などにも適用可能である。
【0029】
図5は、図2の送信装置41のハードウェアの構成例を示している。
【0030】
I/F(InterFace)61は、外部から供給される画像データの受信処理と、送信機/記録装置66に対しての、符号化データの送信処理を行う。ROM(Read Only Memory)62は、IPL(Initial Program Loading)用のプログラムその他を記憶している。RAM(Random Access Memory)63は、外部記憶装置65に記録されているシステムプログラム(OS(Operating System))やアプリケーションプログラムを記憶したり、また、CPU(Central Processing Unit)64の動作上必要なデータを記憶する。CPU64は、ROM62に記憶されているIPLプログラムにしたがい、外部記憶装置65からシステムプログラムおよびアプリケーションプログラムを、RAM63に展開し、そのシステムプログラムの制御の下、アプリケーションプログラムを実行することで、I/F61から供給される画像データについての、後述するような符号化処理を行う。
【0031】
外部記憶装置65は、例えば、磁気ディスク71、光ディスク72、光磁気ディスク73、または半導体メモリ74などでなり、上述したように、CPU64が実行するシステムプログラムやアプリケーションプログラムを記憶している他、CPU64が動作上必要とするデータも記憶している。送信機/記録装置66は、I/F61から供給される符号化データを、記録媒体42に記録したり、または伝送路43を介して伝送する。
【0032】
なお、I/F61,ROM62,RAM63,CPU64、および外部記憶装置65は、相互にバスを介して接続されている。
【0033】
以上のように構成される送信装置41においては、I/F61に画像データが供給されると、その画像データは、CPU64に供給される。CPU64は、画像データを符号化し、その結果得られる符号化データを、I/F61に供給する。I/F61は、符号化データを受信すると、それを、送信機/記録装置66に供給する。送信機/記録装置66は、I/F61からの符号化データを、記録媒体42に記録したり、または伝送路43を介して伝送する。
【0034】
図6は、図5の送信装置41の、送信機/記録装置66を除く部分の機能的な構成例を示している。
【0035】
符号化すべき画像データは、縮小画像作成部111および誤差算出部115に供給される。縮小画像生成部111は、画像データを、その画素を、例えば、単純に間引くことにより圧縮し、その結果得られる圧縮データ(間引きが行われた後の縮小画像データ)を補正部112に出力する。補正部112は、制御部116からの制御信号にしたがって、圧縮データを補正する。補正部112における補正の結果得られる補正データは、動き推定部113、ローカルデコード部114、および制御部116に供給される。動き推定部113は、画像データと補正データから画像の動きを推定し、動きベクトルをローカルデコード部114に出力する。
【0036】
ローカルデコード部114は、補正部112からの補正データと動き推定部113からの動きベクトルに基づいて、元の画像を予測し、その予測値を、誤差算出部115に供給する。なお、ローカルデコード部114は、後述するように、補正データと予測係数との線形結合により、予測値を算出する。そして、ローカルデコード部114は、予測値を、誤差算出部115に供給する他、そのとき求めたクラスごとの予測係数を、制御部116に供給する。
【0037】
誤差算出部115は、そこに入力される、元の画像データ(原画像)に対する、ローカルデコード部114からの予測値の予測誤差を算出する。この予測誤差は、誤差情報として、制御部116に供給される。
【0038】
制御部116は、誤差算出部115からの誤差情報に基づいて、補正部112が出力した補正データを、元の画像の符号化結果とすることの適正さを判定する。そして、制御部116は、補正部112が出力した補正データを、元の画像の符号化結果とすることが適正でないと判定した場合には、補正部112を制御し、さらに、圧縮データを補正させ、その結果得られる新たな補正データを出力させる。また、制御部116は、補正部112が出力した補正データを、元の画像の符号化結果とすることが適正であると判定した場合には、補正部112から供給された補正データを、最適な圧縮データ(以下、適宜、最適圧縮データという)として多重化部117に供給するとともに、ローカルデコード部114から供給されたクラスごとの予測係数を多重化部117に供給する。
【0039】
多重化部117は、制御部116からの最適圧縮データ(補正データ)と、クラスごとの予測係数とを多重化し、その多重化結果を、符号化データとして、送信機/記録装置66(図5)に供給する。
【0040】
次に、図7のフローチャートを参照して、送信装置41が実行する符号化処理について説明する。補正部112に対して、画像データが供給されると、補正部112は、ステップS11において、縮小画像作成処理を実行する。
【0041】
図8は、縮小画像作成処理の1つの例としての単純間引き処理を表している。最初に、ステップS31において、縮小画像作成部111は、圧縮される前の画像データを、m×n個の画素データで構成されるブロックに分割する。次に、ステップS32において、m×n個の画素データの中から1つの画素データを抽出し、その画素データをそのブロックを代表する1つの画素データとする。
【0042】
ステップS33において、縮小画像作成部111は、以上の処理が、そのフレームの全てのブロックについて終了したか否かを判定し、まだ処理していないブロックが残っている場合には、ステップS31に戻り、それ以降の処理を繰り返し実行する。全てのブロックについての処理が終了したと判定された場合、処理は終了される。
【0043】
すなわち、この例においては、図9に示されるように、例えば3×3個(m=n=3)の画素データa1乃至a9の中から、中央の1個の画素a5が選択される。同様にして、隣の3×3個のb1乃至b9の9個の画素の中から、中央の画素b5が選択される。
【0044】
以上のような単純間引き処理が繰り返し実行されることで、入力された画像データは、1/9の縮小画像データに圧縮される。
【0045】
図10は、縮小画像作成処理の他の例を表している。この例においては、ステップS51において、縮小画像作成部111は、入力された画像データをm×n個のブロックに分割する。ステップS52において、縮小画像作成部111は、ステップS51の処理で分割されたm×n個の画素の平均値を計算する。そして、その平均値をm×n個の画素で構成されるブロックを代表する1つの画素とする。
【0046】
ステップS53において、縮小画像作成部111は、全てのブロックについて同様の処理を実行したか否かを判定し、まだ処理していないブロックが残っている場合にはステップS51に戻り、それ以降の処理を繰り返し実行する。全てのブロックについての処理が終了したと判定された場合、処理は終了される。
【0047】
このようにして、例えば、図11に示されるように、a1乃至a9の3×3個の画素の平均値Aが、次式に基づいて演算される。
【0048】
【数1】
【0049】
また、画素b1乃至b9の3×3個の画素の平均値Bが次式に基づいて演算される。
【0050】
【数2】
【0051】
さらに、同様に、画素c1乃至c9の3×3個の画素の平均値Cが次式に基づいて演算される。
【0052】
【数3】
【0053】
縮小画像作成部111で生成された縮小画像データ(圧縮データ)は、補正部112に供給され、最初は補正が行われずに、そのまま補正データとして、ローカルデコード部114と動き推定部113に供給される。
【0054】
ステップS12において、動き推定部113は、補正部112より供給された補正データに基づいて画像の動きを検出し、その動きに対応する動きベクトルを生成して、ローカルデコード部114に出力する。この動きベクトル推定処理の詳細については、図14と図15を参照して後述する。
【0055】
次に、ステップS13において、ローカルデコード部114は、補正部112からの補正データ(最初は、上述したように縮小画像データそのもの)を、クラス分類適応処理に基づいてデコードする(復号する)。
【0056】
この復号処理の詳細については、図16乃至図19を参照して後述するが、ローカルデコード部114は、補正部112より供給される補正データから、動き推定部113より供給される動きベクトルに基づいて、予測処理を行うための補正データ(予測タップ)で構成される予測値計算用ブロック(予測対象データ)を抽出し、その抽出した予測対象データに対して、クラス毎の予測係数を線形結合させることで、予測値を演算する。ローカルデコード部114で生成された予測値は、誤差算出部115に供給され、用いられた予測係数は、制御部116に供給される。
【0057】
ここで、ローカルデコード部114が出力する予測値で構成される画像は、受信装置44(図2)側において得られる復号画像と同一のものである。
【0058】
ステップS14において誤差算出部115は、ローカルデコード部114より供給された予測値と画像データ(縮小される前の画像データ)との予測誤差を算出し、誤差情報として制御部116に供給する。
【0059】
ステップS15において、制御部116は、誤差算出部115からの誤差情報に基づいて、最適化処理を実行する。すなわち、制御部116は、誤差算出部115からの予測誤差に基づいて、圧縮データを補正させる。補正部112は、制御部116からの制御信号に基づいて、補正量(後述する補正値Δ)を変更して圧縮データを補正し、その結果得られる補正データを動き推定部113、ローカルデコード部114、および制御部116に出力する。
【0060】
ステップS16において、動き推定部113は、画像の動きを再び検出し、動きベクトルを生成する。このとき、処理対象とされている補正データは、ステップS12における場合とは異なる値に補正されているため、異なる動きベクトルが得られる可能性がある。
【0061】
動き推定部113により生成された動きベクトルは、ローカルデコード部114に供給される。ローカルデコード部114は、ステップS17において、ステップS16の処理で動き推定部113により生成された動きベクトルを利用して、補正データの中から予測値計算用ブロックを抽出し、クラス分類適応処理を施すことで予測値を演算する。このとき、処理対象とされている予測値計算用ブロックは、ステップS13の処理における場合と異なるものとなるため、多くの場合、得られる予測値も異なるものとなる。
【0062】
ステップS18において、誤差算出部115は、ステップS17の処理でローカルデコード部114により生成された予測値の元の画像(原画像)の画像データとの差(予測誤差)を算出し、誤差情報として制御部116に出力する。
【0063】
制御部116は、ステップS19において、補正部112により生成された補正データを、原画像の符号化結果とすることの適正さを判定する。具体的には、例えば、予測誤差が所定の閾値εより小さいか否か、あるいは最適化処理を行った回数が、予め設定された所定の回数に達したか否かが判定される。予測誤差が所定の閾値εより大きい場合、あるいは、最適化の処理回数がまだ所定の回数に達していない場合、ステップS15に戻り、それ以降の処理が繰り返し実行される。
【0064】
ステップS19において、予測誤差が所定の閾値εより小さくなったと判定された場合、あるいは最適化処理が所定の回数実行されたと判定された場合、制御部116は、補正データを原画像の符号化結果とすることが適正であると判定し、ステップS20において、補正部112より、そのとき得られる補正データを最適圧縮データとして多重化部117に供給するとともに、ローカルデコード部114より、そのとき予測に用いられていた予測係数を多重化部117に出力する。多重化部117は、制御部116より供給される最適圧縮データと予測係数とを多重化し、符号化データとして送信機/記録装置66に供給する。
【0065】
送信機/記録装置66は、この符号化データを、記録媒体42に記録したり、伝送路43を介して伝送する。
【0066】
以上のように、予測誤差が所定の閾値ε以下となるか、または、最適化処理が所定回数に達したときにおける、縮小画像データを補正した補正データを、原画像の符号化結果とするようにしたので、受信装置44側においては、その補正データに基づいて、元の画像(原画像)とほぼ同一の画像を得ることが可能となる。
【0067】
図12は、図6の補正部112の構成例を示している。
【0068】
補正回路131は、制御部116(図6)からの制御信号にしたがって、補正値ROM132にアドレスを与え、これにより、補正値Δを読み出す。そして、補正回路131は、縮小画像作成部111からの縮小画像データ(圧縮データ)に対して、補正値ROM132からの補正値Δを、例えば加算することで、補正データを生成し、動き推定部113、ローカルデコード部114、および制御部116に供給する。補正値ROM132は、縮小画像作成部111が出力する圧縮データを補正するための、各種の補正値Δの組合せ(例えば、1フレーム分の圧縮データを補正するための補正値の組合せなど)を記憶しており、補正回路131から供給されるアドレスに対応する補正値Δの組合せを読み出して、補正回路131に供給する。
【0069】
次に、図13を参照して、図12の補正部112の処理について説明する。
【0070】
補正回路131は、縮小画像作成部111から圧縮データを受信すると、ステップS71において、制御部116(図6)から制御信号を受信したかどうかを判定する。ステップS71において、制御信号を受信していないと判定された場合、ステップS72およびS73の処理をスキップしてステップS74に進み、補正回路131は、縮小画像作成部111からの圧縮データを、そのまま補正データとして、動き推定部113、ローカルデコード部114、および制御部116に出力し、ステップS71に戻る。
【0071】
即ち、制御部116は、上述したように、誤差情報に基づいて、補正部112(補正回路131)を制御するようになされており、縮小画像作成部111から圧縮データが出力された直後は、まだ、誤差情報が得られないため(誤差情報が、誤差算出部115から出力されないため)、制御部116からは制御信号は出力されない。このため、縮小画像作成部111から圧縮データが出力された直後は、補正回路131は、その圧縮データを補正せず(0を加算する補正をして)、そのまま補正データとして、動き推定部113、ローカルデコード部114、および制御部116に出力する。
【0072】
一方、ステップS71において、制御部116からの制御信号を受信したと判定された場合、ステップS72に進み、補正回路131は、その制御信号にしたがったアドレスを、補正値ROM132に出力する。これにより、ステップS72では、補正値ROM132から、そのアドレスに記憶されている、1フレーム分の圧縮データを補正するための補正値Δの組合せ(集合)が読み出され、補正回路131に供給される。補正回路131は、補正値ROM132から補正値Δの組合せを受信すると、ステップS73において、1フレームの圧縮データそれぞれに、対応する補正値Δを加算し、これにより、圧縮データを補正した補正データを算出する。その後は、ステップS74に進み、補正データが、補正回路131から動き推定部113、ローカルデコード部114、および制御部116に出力され、ステップS71に戻る。
【0073】
以上のようにして、補正部112は、制御部116の制御にしたがって、圧縮データを、種々の値に補正した補正データを出力することを繰り返す。
【0074】
なお、制御部116は、例えば、1フレームの画像についての符号化を終了すると、その旨を表す制御信号を、補正部112に供給するようになされており、補正部112は、ステップS71において、そのような制御信号を受信したかどうかも判定する。ステップS71において、1フレームの画像についての符号化を終了した旨の制御信号を受信したと判定された場合、補正部112は、そのフレーム(フィールド)に対する処理を終了し、次のフレームが供給された場合、ステップS71乃至S74の処理を繰り返す。
【0075】
図14は、動き推定部113の構成例を表している。この例においては、フレームメモリ151に、補正部112より出力された補正データが1フレーム分記憶される。フレームメモリ151に記憶された1フレーム分の補正データは、そこから読み出され、後段のフレームメモリ152に転送され、記憶される。このときフレームメモリ151には、時間的に後の次のフレームの補正データが記憶される。フレームメモリ152に記憶された1フレーム分の補正データは、さらに、後段のフレームメモリ153に転送され、記憶される。フレームメモリ152には、それまでフレームメモリ151に記憶されていた1フレーム分の補正データが転送され、記憶される。そして、フレームメモリ151には、それまで記憶されていたフレームより、さらに時間的に後の1フレーム分の補正データが記憶される。
【0076】
このようにして、フレームメモリ151乃至153には、時間的に連続する3つのフレームの補正データが記憶される。すなわち、フレームメモリ152に記憶されている現在フレームの補正データより、時間的に前のフレームの補正データがフレームメモリ153に記憶され、時間的に後のフレームの補正データがフレームメモリ151に記憶される。
【0077】
動きベクトル検出部154は、フレームメモリ152に記憶されている現在フレームの補正データと、フレームメモリ151に記憶されている前フレームの補正データとの間の動きを検出し、動きベクトルを出力する。動きベクトル検出部155は、フレームメモリ152に記憶されている現在フレームの補正データと、フレームメモリ153に記憶されている後フレームの補正データとの間の動きを検出し、動きベクトルを出力する。動きベクトル検出部155が出力する動きベクトルを、便宜上、前フレーム動きベクトルと称し、動きベクトル検出部154が出力する動きベクトルを、後フレーム動きベクトルと称する。
【0078】
次に、図15のフローチャートを参照して、動き推定部113の前動きベクトル推定(検出)処理について説明する。なお、フレームメモリ151乃至153には、それぞれ、後フレーム、現在フレーム、または前フレームの補正データが、それぞれ記憶されているものとする。
【0079】
ステップS91において、動きベクトル検出部155は、内蔵するメモリに比較値をセットする。この比較値は、後述するステップS96において利用される。
【0080】
ステップS92において、動きベクトル検出部155は、内蔵する相対アドレス用メモリをクリアする。この相対アドレス用メモリには、後述するステップS98において、動きベクトル(前動きベクトル)に対応する相対アドレスが格納される。
【0081】
ステップS93において、動きベクトル検出部155は、フレームメモリ152に記憶されている現在フレームをブロックに分割する処理を行う。ステップS94において、動きベクトル検出部155は、フレームメモリ153に記憶されている前フレームの補正データをブロックに分割する処理を行う。
【0082】
ステップS95において、動きベクトル検出部155は、ステップS93の処理で分割された現在フレームの1つのブロックと、ステップS94の処理で分割された前フレームの1つのブロックとの対応する位置の補正データの差の絶対値の和、すなわち絶対差分和を計算する。
【0083】
ステップS96において、動きベクトル検出部155は、ステップS95の処理で計算された絶対差分和を評価値として、ステップS91の処理でセットされた比較値と比較する処理を行う。評価値が比較値より小さい場合には、ステップS97において、動きベクトル検出部155は、ステップS91の処理で、セットした比較値を、ステップS95の処理で計算して得られた評価値で更新する。そして、ステップS98において、動きベクトル検出部155は、その前フレームのブロックの現在フレームの注目画素を含むブロックの位置に対する相対的なアドレス(前動きベクトルに対応する)を相対アドレスメモリに格納する。
【0084】
ステップS96において、ステップS95の処理で計算された評価値が、比較値と等しいか、それより大きいと判定された場合には、ステップS97とステップS98の処理はスキップされる。
【0085】
次に、ステップS99に進み、動きベクトル検出部155は、前フレームの予め設定されている所定の探索範囲内の探索が終了したか否かを判定し、終了していない場合には、ステップS100に進み、前フレームのブロックの位置を変化させる。
【0086】
その後、ステップS94に戻り、変化された位置における前フレームのブロックが抽出され、ステップS95において、その前フレームのブロックと注目画素を含む現在フレームのブロックとの絶対差分和が計算される。ステップS96において、ステップS95で計算された絶対差分和としての評価値が比較値(前回のステップS97の処理で、前回のブロックの評価値に更新されている)と比較される。評価値が比較値より小さい場合には、ステップS97において、比較値を、その評価値に変更する処理が行われ、ステップS98において、相対アドレスメモリ内のアドレスが、いま処理対象とされているブロックの相対アドレスに変更される。
【0087】
ステップS96において、評価値が比較値と等しいか、それより大きいと判定された場合には、ステップS97とステップS98の処理はスキップされる。
【0088】
このような処理は、ステップS99において、前フレームの探索範囲内の全てのブロックについての処理が終了したと判定されるまで、繰り返し実行される。その結果、ステップS97の処理で、比較値として、探索範囲内の各ブロックの絶対差分和のうちの最小値が記憶されることになり、ステップS98の処理で、相対アドレスメモリに、その最小の絶対差分和に対応するブロックの相対アドレス、すなわち前動きベクトルが格納される。
【0089】
ステップS99において、前フレームの探索範囲の全ての探索が終了したと判定された場合、動きベクトル検出部155は、ステップS101において、ステップS98の処理で、相対アドレスメモリに格納した相対アドレスよりなる前フレーム動きベクトルをローカルデコード部114に出力する。
【0090】
以上においては、動きベクトル検出部155の動きベクトル推定処理について説明したが、動きベクトル検出部154においても、フレームメモリ152に記憶されている現在フレームの補正データと、フレームメモリ151に記憶されている後フレームの補正データとの間の動きを検出するために、同様の処理が実行される。
【0091】
この場合においては、図15におけるステップS94の処理で、前フレームのブロックを抽出するのに代えて、後フレームのブロックを抽出する処理が実行され、ステップS99の判定処理においては、前フレームの探索範囲内の処理が終了したか否かが判定されるのに代えて、後フレームの探索範囲内の探索処理が終了したか否かが判定される。ステップS101において、出力されるのは、前フレーム動きベクトルでなく、後フレーム動きベクトルとなる。その他の処理は、動きベクトル検出部155の前フレーム動きベクトルを検出するための処理と同様である。
【0092】
図16は、図6のローカルデコード部114の構成例を示している。
【0093】
補正部112からの補正データは、クラス分類用ブロック化回路261および予測値計算用ブロック化回路262に供給される。クラス分類用ブロック化回路261は、現在フレームの補正データを、その性質に応じて所定のクラスに分類するための単位である、注目補正データを中心としたクラス分類用ブロックにブロック化する。
【0094】
即ち、いま、図17において、上からi番目で、左からj番目の補正データ(圧縮データ)(または画素)(図中、黒の円形の印で示す部分)をXijと表すとすると、クラス分類用ブロック化回路261は、注目補正データXijの左上、上、右上、左、右、左下、下、右下に隣接する8つの補正データX(i-1)(j-1),X(i-1)j,X(i-1)(j+1),Xi(j-1),Xi(j+1),X(i-1)(j-1),X(i-1)j,X(i+1)(j+1)に、自身を含め、合計9個の補正データで構成されるクラス分類用ブロック242を構成する。このクラス分類用ブロック242は、クラス分類適応処理回路263に供給される。
【0095】
なお、この場合、クラス分類用ブロック242は、3×3画素でなる正方形状のブロックで構成されることとなるが、クラス分類用ブロック242の形状は、正方形である必要はなく、その他、例えば、図18に示されるように菱形にしたり、長方形、十文字形、その他の任意な形とすることが可能である。また、クラス分類用ブロックを構成する画素数も、3×3の9画素に限定されるものではない。
【0096】
予測値計算用ブロック化回路262は、動きベクトルに基づいて、補正データを、元の画像の予測値を計算するための単位である、注目補正データを基準とした予測値計算用ブロックにブロック化する。即ち、現在フレームにおいては、図17に示されるように、補正データXij(図中、黒い円形の印で示す部分)を中心とする、元の画像(原画像)における3×3の9画素の画素値を、その最も左から右方向、かつ上から下方向に、Yij(1),Yij(2),Yij(3),Yij(4),Yij(5),Yij(6),Yij(7),Yij(8),Yij(9)と表すとすると、画素Yij(1)乃至Yij(9)の予測値の計算のために、予測値計算用ブロック化回路262は、例えば、注目補正データXijを中心とする5×5の25画素X(i-2)(j-2),X(i-2)(j-1),X(i-2)j,X(i-2)(j+1),X(i-2)(j+2),X(i-1)(j-2),X(i-1)(j-1),X(i-1)j,X(i-1)(j+1),X(i-1)(j+2),Xi(j-2),Xi(j-1),Xij,Xi(j+1),Xi(j+2),X(i+1)(j-2),X(i+1)(j-1),X(i+1)j,X(i+1)(j+1),X(i+1)(j+2),X(i+2)(j-2),X(i+2)(j-1),X(i+2)j,X(i+2)(j+1),X(i+2)(j+2)で構成される正方形状の予測値計算用ブロック251を構成する。
【0097】
具体的には、例えば、図17において四角形で囲む、元の画像における画素Y33(1)乃至Y33(9)の9画素の予測値の計算のために、現在フレームにおいては、画素X11,X12,X13,X14,X15,X21,X22,X23,X24,X25,X31,X32,X33,X34,X35,X41,X42,X43,X44,X45,X51,X52,X53,X54,X55により、予測値計算用ブロックが構成される(この場合の注目補正データは、X33となる)。
【0098】
予測値計算用ブロック化回路262は、さらに、動き推定部113より供給される動きベクトルに基づいて、図19に示されるように、現在フレーム201より時間的に前の前フレーム202と、時間的に後の後フレーム203の補正データからも、予測値計算用ブロック部251を構成する補正データを抽出する。
【0099】
図19の現在フレーム201は、図17に示されるフレームである。図19には、図17に黒い丸印で示される補正データのみが示されている。すなわち、図19においては、図17における白い丸印で示される原画像の画素は、その図示が省略されている。
【0100】
現在フレーム201の注目補正データ211は、図17の注目補正データX33に対応し、注目補正データ211より左側に2個、かつ上側に2個移動した位置の補正データ212は、図17の補正データX11に対応し、注目補正データ211のすぐ上の補正データとしての予測タップ213は、図17の補正データX23に対応する。
【0101】
現在フレーム(t=Tのフレーム)201より時間的に1フレーム前の前フレーム(t=T−1のフレーム)202における注目対応補正データ221は、現在フレーム201の注目補正データ211に対応する位置の補正データである。予測タップ222を構成する補正データは、動き推定部113の動きベクトル検出部155により検出された前フレーム動きベクトル223に基づいて、注目補正データ221を移動した位置の補正データである。予測値計算用ブロック化回路262は、この予測タップ222も、予測値計算用ブロック251を構成する補正データとして抽出する。
【0102】
同様に、予測値計算用ブロック化回路262は、現在フレーム201より時間的に後の後フレーム(t=T+1のフレーム)203における、現在フレーム201の注目補正データ211に対応する位置の補正データである注目対応補正データ231を、動きベクトル検出部154により検出された後フレーム動きベクトル233に基づいて移動した位置の補正データである予測タップ232を、予測値計算用ブロック251を構成する補正データとして抽出する。
【0103】
このように、この例においては、現在フレーム内の補正データだけでなく、現在フレームより時間的に前、または後のフレームの補正データが、予測値計算用ブロック25を構成する補正データとされるため、特に、原画像が動画像である場合においても、正確に原画像を復元することが可能となる。
【0104】
図20は、横軸を時間軸方向とし、縦軸をフレームの水平方向または垂直方向として、図19の前フレーム262、現在フレーム201、および後フレーム203の注目補正データと予測タップの位置関係を表している。
【0105】
予測値計算用ブロック化回路262において得られた予測値計算用ブロック251の補正データは、クラス分類適応処理回路263に供給される。
【0106】
なお、予測値計算用ブロック251についても、クラス分類用ブロック242における場合と同様に、その画素数および形状は、上述したものに限定されるものではない。但し、予測値計算用ブロック251を構成する画素数は、クラス分類用ブロック242を構成する画素数よりも多くするのが望ましい。
【0107】
また、上述のようなブロック化を行う場合において(ブロック化以外の処理についても同様)、画像の画枠付近では、対応する画素(補正データ)が存在しないことがあるが、この場合には、例えば、画枠を構成する画素と同一の画素が、その外側に存在するものとして処理を行う。
【0108】
クラス分類適応処理回路263は、ADRC(Adaptive Dynamic Range Coding)処理回路264、クラス分類回路265、予測係数ROM266、および予測回路267で構成され、クラス分類適応処理を行う。
【0109】
クラス分類適応処理とは、入力信号を、その特徴に基づいて幾つかのクラスに分類し、各クラスの入力信号に、そのクラスに適切な適応処理を施すもので、大きく、クラス分類処理と適応処理とに分かれている。
【0110】
ここで、クラス分類処理および適応処理について簡単に説明する。
【0111】
まず、クラス分類処理について説明する。
【0112】
いま、例えば、図21に示されるように、ある注目画素と、それに隣接する3つの画素により、2×2画素でなるブロック(クラス分類用ブロック)を構成し、また、各画素は、1ビットで表現される(0または1のうちのいずれかのレベルをとる)ものとする。この場合、注目画素を含む2×2の4画素のブロックは、各画素のレベル分布により、図22に示されるように、16(=(21)4)パターンに分類することができる。従って、いまの場合、注目画素は、16のパターンに分類することができ、このようなパターン分けが、クラス分類処理であり、クラス分類回路265において行われる。
【0113】
なお、クラス分類処理は、画像(ブロック内の画像)のアクティビティ(画像の複雑さ)(変化の激しさ)などをも考慮して行うようにすることが可能である。
【0114】
ところで、通常、各画素には、例えば8ビット程度が割り当てられる。また、本実施の形態においては、上述したように、クラス分類用ブロック242は、3×3の9個の補正データで構成される。従って、このようなクラス分類用ブロック242を対象にクラス分類処理を行うものとすると、(28)9という膨大な数のクラスが発生することになる。
【0115】
そこで、本実施の形態においては、ADRC処理回路264において、クラス分類用ブロック242に対して、ADRC処理が施され、これにより、クラス分類用ブロック242を構成する補正データのビット数を小さくすることで、クラス数が削減される。
【0116】
即ち、例えば、いま、説明を簡単にするため、図23に示されるように、4個の画素(補正データ)で構成されるブロックを考えると、ADRC処理においては、その画素値の最大値MAXと最小値MINが検出される。そして、DR=MAX−MINが、そのブロックの局所的なダイナミックレンジとされ、このダイナミックレンジDRに基づいて、ブロックを構成する画素の画素値がKビットに再量子化される。
【0117】
即ち、ブロック内の各画素値から、最小値MINが減算され、その減算された値がDR/2Kで除算される。そして、各画素値は、その結果得られる除算値に対応するコード(ADRCコード)に変換される。具体的には、例えば、K=2とした場合、図24に示されるように、除算値が、ダイナミックレンジDRを4(=22)等分して得られるいずれの範囲に属するかが判定され、除算値が、最も下のレベルの範囲、下から2番目のレベルの範囲、下から3番目のレベルの範囲、または最も上のレベルの範囲に属する場合には、それぞれ、例えば、00B,01B,10B、または11Bなどの2ビットにコード化される(Bは2進数であることを表す)。そして、復号側(受信装置44)において、ADRCコード00B,01B,10B、または11Bは、ダイナミックレンジDRを4等分して得られる最も下のレベルの範囲の中心値L00、下から2番目のレベルの範囲の中心値L01、下から3番目のレベルの範囲の中心値L10、または最も上のレベルの範囲の中心値L11にそれぞれ変換され、その値に、最小値MINが加算されることで復号が行われる。
【0118】
このようなADRC処理はノンエッジマッチングと呼ばれる。
【0119】
なお、ADRC処理については、本件出願人が先に出願した、例えば、特開平3−53778号公報などに、その詳細が開示されている。
【0120】
ブロックを構成する画素に割り当てられているビット数より少ないビット数で再量子化を行うADRC処理を施すことにより、上述したように、クラス数を削減することができ、このようなADRC処理が、ADRC処理回路264において行われる。
【0121】
なお、本実施の形態では、クラス分類回路265において、ADRC処理回路264から出力されるADRCコードに基づいて、クラス分類処理が行われるが、クラス分類処理は、その他、例えば、DPCM(予測符号化)や、BTC(Block Truncation Coding)、VQ(ベクトル量子化)、DCT(離散コサイン変換)、アダマール変換などを施したデータを対象に行うようにすることも可能である。
【0122】
次に、適応処理について説明する。
【0123】
例えば、いま、元の画像の画素値yの予測値E[y]を、その周辺の幾つかの画素の画素値(補正データの値)(以下、適宜、学習データという)x1,x2,・・・と、所定の予測係数w1,w2,・・・の線形結合により規定される線形1次結合モデルにより求めることを考える。この場合、予測値E[y]は、次式で表すことができる。
【0124】
E[y]=w1x1+w2x2+・・・
・・・(1)
【0125】
そこで、一般化するために、予測係数wの集合でなる行列W、学習データの集合でなる行列X、および予測値E[y]の集合でなる行列Y’を、
【数4】
で定義すると、次のような観測方程式が成立する。
【0126】
XW=Y’
・・・(2)
【0127】
そして、この観測方程式に最小自乗法を適用して、元の画像の画素値yに近い予測値E[y]を求めることを考える。この場合、元の画像の画素値(以下、適宜、教師データという)yの集合でなる行列Y、および元の画像の画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、
【数5】
で定義すると、式(2)から、次のような残差方程式が成立する。
【0128】
XW=Y+E
・・・(3)
【0129】
この場合、元の画像の画素値yに近い予測値E[y]を求めるための予測係数wiは、自乗誤差
【数6】
を最小にすることで求めることができる。
【0130】
従って、上述の自乗誤差を予測係数wiで微分したものが0になる場合、即ち、次式を満たす予測係数wiが、元の画像の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0131】
【数7】
・・・(4)
【0132】
そこで、まず、式(3)を、予測係数wiで微分することにより、次式が成立する。
【0133】
【数8】
・・・(5)
【0134】
式(4)および(5)より、式(6)が得られる。
【0135】
【数9】
・・・(6)
【0136】
さらに、式(3)の残差方程式における学習データx、予測係数w、教師データy、および残差eの関係を考慮すると、式(6)から、次のような正規方程式を得ることができる。
【0137】
【数10】
・・・(7)
【0138】
式(7)の正規方程式は、求めるべき予測係数wの数と同じ数だけたてることができ、従って、式(7)を解くことで、最適な予測係数wを求めることができる。なお、式(7)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを適用することが可能である。
【0139】
以上のようにして、クラスごとに最適な予測係数wを求め、さらに、その予測係数wを用い、式(1)により、元の画像の画素値yに近い予測値E[y]を求めるのが適応処理であり、この適応処理に基づく予測処理が、予測回路267において行われる。
【0140】
なお、適応処理は、間引かれた画像(圧縮データ)には含まれていない、元の画像に含まれる成分が再現される点で、単なる補間処理とは異なる。即ち、適応処理は、式(1)だけを見る限りは、いわゆる補間フィルタを用いての補間処理と同一であるが、その補間フィルタのタップ係数に相当する予測係数wが、教師データyを用いての、いわば学習により求められるため、元の画像に含まれる成分を再現することができる。このことから、適応処理は、いわば画像の創造作用がある処理ということができる。
【0141】
次に、図25のフローチャートを参照して、図16のローカルデコード部114の処理について説明する。
【0142】
ローカルデコード部114においては、まず最初に、ステップS121において、補正部112からの補正データがブロック化される。即ち、クラス分類用ブロック化回路261において、補正データが、注目補正データ(図17の補正データX33)を中心とする3×3画素のクラス分類用ブロック242(図17)にブロック化され、クラス分類適応処理回路263に供給されるとともに、予測値計算用ブロック化回路262において、現在フレームの補正データが、注目補正データ211(X33)を中心とする5×5画素の予測値計算用ブロック251(図17、図19)にブロック化される。
【0143】
さらにまた、予測値計算用ブロック化回路262は、動き推定部113より供給される前フレーム動きベクトル223に対応して求められる前フレーム202の補正データである予測タップ222と、後フレーム動きベクトル233に対応して求められる後フレーム203の補正データである予測タップ232を、それぞれ予測値計算用ブロック251を構成する補正データとする(図19)。従って、この例の場合、結局、合計27個(=5×5+1+1)の補正データが予測値計算用ブロック251の補正データとしてクラス分類適応処理回路263に供給される。
【0144】
クラス分類適応処理回路263において、クラス分類用ブロック242はADRC処理回路264に供給され、予測値計算用ブロック251は予測回路267に供給される。
【0145】
ADRC処理回路264は、クラス分類用ブロック242を受信すると、ステップS122において、そのクラス分類用ブロック242に対して、例えば、1ビットのADRC(1ビットで再量子化を行うADRC)処理を施し、これにより、補正データを、1ビットに変換(符号化)して、クラス分類回路265に出力する。クラス分類回路265は、ステップS123において、ADRC処理が施されたクラス分類用ブロック242に基づいて、クラス分類処理を実行する。即ち、ADRC処理が施されたクラス分類用ブロック242を構成する各補正データのレベル分布の状態を検出し、そのクラス分類用ブロックが属するクラス(そのクラス分類用ブロック242を構成する注目補正データ211(中心に配置された補正データ)のクラス)を判定する。このクラスの判定結果は、クラス情報として、予測係数ROM266に供給される。
【0146】
なお、本実施の形態においては、1ビットのADRC処理が施された3×3の9個の補正データで構成されるクラス分類用ブロック242に対して、クラス分類処理が施されるので、各クラス分類用ブロック242は、512(=(21)9)のクラスのうちのいずれかに分類されることになる。
【0147】
そして、ステップS124に進み、予測係数ROM266において、クラス分類回路265からのクラス情報に基づいて、予測係数が読み出され、予測回路267に供給される。予測回路267は、ステップS125において、各クラスごとに適応処理を施し、これにより、1フレームの元の画像データ(原画像データ)の予測値を算出する。
【0148】
即ち、本実施の形態においては、例えば、クラスごとに27×9個の予測係数が読み出される。さらに、ある1つの補正データに注目した場合に、その注目補正データに対応する元画像の画素と、その画素の周りに隣接する8個の元画像の画素の、合計9個の画素についての予測値が、注目補正データのクラス情報に対応する27×9個の予測係数と、その注目補正データを中心とする5×5画素でなる予測値計算用ブロックとを用いて、適応処理が行われることにより算出される。
【0149】
具体的には、例えば、いま、図17に示した補正データ(注目補正データ)X33を中心とする3×3の補正データX22,X23,X24,X32,X33,X34,X42,X43,X44でなるクラス分類用ブロック242についてのクラス情報Cが、クラス分類回路265から出力され、また、そのクラス分類用ブロック242に対応する予測値計算用ブロック251として、現在フレームの補正データX33を中心とする5×5画素の補正データX11,X12,X13,X14,X15,X21,X22,X23,X24,X25,X31,X32,X33,X34,X35,X41,X42,X43,X44,X45,X51,X52,X53,X54,X55と、前フレームの予測タップ222としての対応する補正データXmv1と、後フレームの予測タップ232としての補正データXmv2でなる予測値計算用ブロック251が、予測値計算用ブロック化回路262から出力される。
【0150】
そして、クラス情報Cについての予測係数w1乃至w27と、予測値計算用ブロック251とを用い、式(1)に対応する次式にしたがって、予測値E[Y33(k)]が求められる。
【0151】
【0152】
ステップS125では、以上のようにして、27×9個のクラスごとの予測係数を用いて、注目補正データを中心とする3×3個の原画像の画素の予測値が求められる。
【0153】
その後、ステップS126に進み、クラスごとの27×9個の予測係数は制御部116に供給され、3×3個の予測値は誤差算出部115に供給される。そして、ステップS121に戻り、以下同様の処理が、例えば、上述したように1フレーム単位で繰り返される。
【0154】
図26は、図6の誤差算出部115の構成例を示している。
【0155】
ブロック化回路351には、元の画像データ(縮小される前の原画像の画像データ)が供給されている。ブロック化回路351は、その画像データの中から、注目画素を補正した場合に影響のある範囲の全ての画素を抽出し、自乗誤差算出回路352に出力する。例えば、図17の画素X33の値が補正される場合、予測タップ数X9(9は、X33(1)乃至X33(9)に対応する)個の画素が自乗誤差算出回路352に出力される。自乗誤差算出回路352には、上述したように、ブロック化回路351から元の画像データのブロックが供給される他、ローカルデコード部114から予測値が、9個単位(3×3画素のブロック単位)で供給される。自乗誤差算出回路352は、原画像に対する、予測値の予測誤差としての自乗誤差を算出し、積算部355に供給する。
【0156】
即ち、自乗誤差算出回路は352は、演算器353および354で構成されている。演算器353は、ブロック化回路351からのブロック化された画像データそれぞれから、対応する予測値を減算し、その減算値を、演算器354に供給する。演算器354は、演算器353の出力(元の画像データと予測値との差分)を自乗し、積算部355に供給する。
【0157】
積算部355は、自乗誤差算出回路352から自乗誤差を受信すると、メモリ356の記憶値を読み出し、その記憶値と自乗誤差とを加算して、再び、メモリ356に供給して記憶させることを繰り返すことで、自乗誤差の積算値(誤差分散)を求める。さらに、積算部355は、所定量(例えば、1フレーム分など)についての自乗誤差の積算が終了すると、その積算値を、メモリ356から読み出し、誤差情報として、制御部116に供給する。メモリ356は、1フレームについての処理が終了するごとに、その記憶値をクリアしながら、積算部355の出力値を記憶する。
【0158】
次に、その動作について、図27のフローチャートを参照して説明する。誤差算出部115では、まず最初に、ステップS131において、メモリ356の記憶値が、例えば0にクリア(初期化)され、ステップS132に進み、ブロック化回路351において、画像データが、上述したようにブロック化され、その結果得られるブロックが、自乗誤差算出回路352に供給される。自乗誤差算出回路352では、ステップS133において、ブロック化回路351から供給されるブロックを構成する、元の画像(原画像)の画像データと、ローカルデコード部114から供給される予測値との自乗誤差が算出される。
【0159】
即ち、ステップS133では、演算器353において、ブロック化回路351より供給されたブロック化された画像データそれぞれから、対応する予測値が減算され、演算器354に供給される。演算器354は、演算器353の出力を自乗し、積算部355に供給する。
【0160】
積算部355は、自乗誤差算出回路352から自乗誤差を受信すると、ステップS134において、メモリ356の記憶値を読み出し、その記憶値と自乗誤差とを加算することで、自乗誤差の積算値を求める。積算部355において算出された自乗誤差の積算値は、メモリ356に供給され、前回の記憶値に上書きされることで記憶される。
【0161】
そして、積算部355では、ステップS135において、所定量としての、例えば、1フレーム分についての自乗誤差の積算が終了したかどうかが判定される。ステップS135において、1フレーム分についての自乗誤差の積算が終了していないと判定された場合、ステップS132に戻り、再び、ステップS132からの処理が繰り返される。また、ステップS135において、1フレーム分についての自乗誤差の積算が終了したと判定された場合、ステップS136に進み、積算部355は、メモリ356に記憶された1フレーム分についての自乗誤差の積算値を読み出し、誤差情報として、制御部116に出力する。そして、ステップS131に戻り、次のフレームについての原画像および予測値が供給されるのを待って、再び、ステップS131からの処理が繰り返される。
【0162】
従って、誤差算出部115では、元の画像データをYij(k)とするとともに、その予測値をE[Yij(k)]とするとき、次式にしたがった演算が行われることで、誤差情報Qが算出される。
【0163】
Q=Σ(Yij(k)−E[Yij(k)])2
但し、Σは、1フレーム分についてのサメーションを意味する。
【0164】
図28は、図6の制御部116の構成例を示している。
【0165】
予測係数メモリ361は、ローカルデコード部114から供給される予測係数を記憶する。補正データメモリ362は、補正部112から供給される補正データを記憶する。
【0166】
なお、補正データメモリ362は、補正部112において、圧縮データが新たに補正され、これにより、新たな補正データが供給された場合には、既に記憶している補正データ(前回の補正データ)に代えて、新たな補正データを記憶する。また、このように補正データが、新たなものに更新されるタイミングで、ローカルデコード部114からは、その新たな補正データに対応する、新たなクラスごとの予測係数のセットが出力されるが、予測係数メモリ361も、このように新たなクラスごとの予測係数が供給された場合には、既に記憶しているクラスごとの予測係数(前回のクラスごとの予測係数)に代えて、その新たなクラスごとの予測係数を記憶する。
【0167】
誤差情報メモリ363は、誤差算出部115から供給される誤差情報を記憶する。なお、誤差情報メモリ363は、誤差算出部115から、今回供給された誤差情報の他に、前回供給された誤差情報も記憶する(新たな誤差情報が供給されても、さらに新たな誤差情報が供給されるまでは、既に記憶している誤差情報を保持する)。また、誤差情報メモリ363は、新たなフレームについての処理が開始されるごとにクリアされる。
【0168】
比較回路364は、誤差情報メモリ363に記憶された今回の誤差情報と、予め設定されている所定の閾値εとを比較し、さらに、必要に応じて、今回の誤差情報と前回の誤差情報との比較も行う。比較回路364における比較結果は、制御回路365に供給される。
【0169】
制御回路365は、比較回路364における比較結果に基づいて、補正データメモリ362に記憶された補正データを、元の画像の符号化結果とすることの適正(最適)さを判定し、最適でないと認識(判定)した場合には、新たな補正データの出力を要求する制御信号を、補正部112(補正回路131)(図12)に供給する。また、制御回路365は、補正データメモリ362に記憶された補正データを、元の画像の符号化結果とすることが最適であると認識した場合には、予測係数メモリ361に記憶されているクラスごとの予測係数を読み出し、多重化部117に出力するとともに、補正データメモリ362に記憶されている補正データを読み出し、最適圧縮データとして、やはり多重化部117に供給する。さらに、この場合、制御回路365は、1フレームの画像についての符号化を終了した旨を表す制御信号を、補正部112に出力し、これにより、上述したように、補正部112に、次のフレームについての処理を開始させる。
【0170】
次に、図29を参照して、制御部116が実行する最適化処理について説明する。
【0171】
制御部116では、まず最初に、ステップS141において、誤差算出部115から誤差情報を受信したかどうかが、比較回路364によって判定され、誤差情報を受信していないと判定された場合、ステップS141に戻る。また、ステップS141において、誤差情報を受信したと判定された場合、即ち、誤差情報メモリ363に誤差情報が記憶された場合、ステップS142に進み、比較回路364において、誤差情報メモリ363に、いま記憶された誤差情報(今回の誤差情報)と、所定の閾値εとが比較され、いずれが大きいかが判定される。
【0172】
ステップS142において、今回の誤差情報が、所定の閾値ε以上であると判定された場合、比較回路364において、誤差情報メモリ363に記憶されている前回の誤差情報が読み出される。そして、比較回路364は、ステップS143において、前回の誤差情報と、今回の誤差情報とを比較し、いずれが大きいかを判定する。
【0173】
なお、1フレームについての処理が開始され、最初に誤差情報が供給された場合には、誤差情報メモリ363には、前回の誤差情報は記憶されていない。そこで、この場合には、制御部116においては、ステップS143以降の処理は行われず、制御回路365において、所定の初期アドレスを補正値ROM132に出力するように、補正回路131(図12)を制御する制御信号が出力される。
【0174】
ステップS143において、今回の誤差情報が、前回の誤差情報以下であると判定された場合、即ち、圧縮データの補正を行うことにより誤差情報が減少した場合、ステップS144に進み、制御回路365は、補正値Δを、前回と同様に変化させるように指示する制御信号を、補正回路131に出力し、ステップS141に戻る。また、ステップS143において、今回の誤差情報が、前回の誤差情報より大きいと判定された場合、即ち、圧縮データの補正を行うことにより誤差情報が増加した場合、ステップS145に進み、制御回路365は、補正値Δを、前回と逆に変化させるように指示する制御信号を、補正回路131に出力し、ステップS141に戻る。
【0175】
なお、減少し続けていた誤差情報が、あるタイミングで上昇するようになったときは、制御回路365は、補正値Δを、いままでの場合の、例えば1/2の大きさで、前回と逆に変化させるように指示する制御信号を出力する。
【0176】
そして、ステップS141乃至S145の処理を繰り返すことにより、誤差情報が減少し、これにより、ステップS142において、今回の誤差情報が、所定の閾値εより小さくなったと判定された場合、ステップS146に進み、制御回路365は、予測係数メモリ361に記憶されているクラスごとの予測係数を読み出すとともに、補正データメモリ362に記憶されている1フレームの補正データを、最適圧縮データとして読み出し、多重化部117に供給して、処理を終了する。
【0177】
その後は、次のフレームについての誤差情報が供給されるのを待って、再び、図29に示すフローチャートにしたがった処理が繰り返される。
【0178】
なお、補正回路131には、圧縮データの補正は、1フレームすべての圧縮データについて行わせるようにすることもできるし、その一部の圧縮データについてだけ行わせるようにすることもできる。一部の圧縮データについてだけ補正を行う場合においては、制御回路365に、例えば、誤差情報に対する影響の強い画素を検出させ、そのような画素についての圧縮データだけを補正するようにすることができる。誤差情報に対する影響の強い画素は、例えば、次のようにして検出することができる。即ち、まず最初に、例えば、間引き後に残った画素についての圧縮データをそのまま用いて処理を行うことにより、その誤差情報を得る。そして、間引き後に残った画素についての圧縮データを、1つずつ、同一の補正値Δだけ補正するような処理を行わせる制御信号を、制御回路365から補正回路131に出力し、その結果得られる誤差情報を、圧縮データをそのまま用いた場合に得られた誤差情報と比較し、その差が、所定値以上となる画素を、誤差情報に対する影響の強い画素として検出すれば良い。
【0179】
以上のように、誤差情報を所定の閾値εより小さくする(以下にする)まで、圧縮データの補正が繰り返され、誤差情報が所定の閾値εより小さくなったときにおける補正データが、画像の符号化結果として出力されるので、受信装置44(図2)においては、間引き後の画像を構成する画素の画素値を、元の画像を復元するのに最も適当な値にした補正データから、原画像と同一(ほぼ同一)の復号画像を得ることが可能となる。
【0180】
また、画像は、間引き処理により圧縮される他、ADRC処理およびクラス分類適応処理などによっても圧縮されるため、非常に高圧縮率の符号化データを得ることができる。なお、送信装置41における、以上のような符号化処理は、間引きによる圧縮処理と、クラス分類適応処理とを、いわば有機的に統合して用いることにより、高能率圧縮を実現するものであり、このことから統合符号化処理ということができる。
【0181】
図30は、図2の受信装置44のハードウェアの構成例を表している。
【0182】
受信機/再生装置446は、送信装置41が符号化データを記録した記録媒体42を再生したり、送信装置41が伝送路43を介して伝送した符号化データを受信する。I/F461は、受信機/再生装置466に対しての符号化データの受信処理を行うとともに、復号された画像データを図示せぬ装置に出力する処理を実行する。
【0183】
ROM(Read Only Memory)462は、IPL(Initial Program Loading)用のプログラムその他を記憶している。RAM(Random Access Memory)463は、外部記憶装置465に記録されているシステムプログラム(OS(Operating System))やアプリケーションプログラムを記憶したり、また、CPU(Central Processing Unit)464の動作上必要なデータを記憶する。CPU464は、ROM462に記憶されているIPLプログラムにしたがい、外部記憶装置465からシステムプログラムおよびアプリケーションプログラムを、RAM463に展開し、そのシステムプログラムの制御の下、アプリケーションプログラムを実行することで、I/F461から供給される符号化データについての、後述するような復号処理を行う。
【0184】
外部記憶装置465は、例えば、磁気ディスク471、光ディスク472、光磁気ディスク473、または半導体メモリ474などでなり、上述したように、CPU464が実行するシステムプログラムやアプリケーションプログラムを記憶している他、CPU464の動作上必要なデータも記憶している。
【0185】
なお、I/F461,ROM462,RAM463,CPU464、および外部記憶装置465は、相互にバスを介して接続されている。
【0186】
以上のように構成される受信装置44においては、I/F461に受信機/再生装置466から符号化データが供給されると、その符号化データは、CPU464に供給される。CPU464は、符号化データを復号し、その結果得られる復号データを、I/F461に供給する。I/F461は、復号データ(画像データ)を受信すると、それを、図示せぬディスプレイ等に出力し、表示させる。
【0187】
図31は、図30の受信装置44の受信機/再生装置571を除く部分の機能的な構成例を示している。
【0188】
受信機/再生装置571においては、記録媒体42に記録された符号化データが再生されるか、または伝送路43を介して伝送されてくる符号化データ(処理対象データ)が受信されるか、分離部572に供給される。分離部572では、符号化データから、補正データ(最適圧縮データ)とクラスごとの予測係数とが抽出される。補正データは、クラス分類用ブロック化回路573、動き推定部577、および予測値計算用ブロック化回路578に供給され、クラスごとの予測係数は、予測回路576に供給されて、その内蔵するメモリ576Aに記憶される。
【0189】
クラス分類用ブロック化回路573、ADRC処理回路574、クラス分類回路575、予測回路576、または予測値計算用ブロック化回路578は、図16におけるクラス分類用ブロック化回路261、ADRC処理回路264、クラス分類回路265、予測回路267、または予測値計算用ブロック化回路262と、それぞれ同様に構成されており、また、動き推定部577は、図14(図6)の動き推定部113と同様に構成されている。従って、これらのブロックにおいては、図14と図16における場合と同様の処理が行われ、これにより、予測値計算用ブロック化回路578からは予測値計算用ブロックが出力され、また、クラス分類回路575からはクラス情報が出力される。これらの予測値計算用ブロックおよびクラス情報は、予測回路576に供給される。
【0190】
予測回路576は、クラス分類回路575から供給されるクラス情報に対応した27×9個の予測係数を、メモリ576Aから読み出し、その27×9個の予測係数と、予測値計算用ブロック化回路578から供給される5×5画素の予測値計算用ブロック251を構成する補正データとを用い、式(1)にしたがって、原画像の3×3画素の予測値を算出し、そのような予測値で構成される画像を、復号画像として、例えば、1フレーム単位で出力する。この復号画像は、上述したように、元の画像とほぼ同一の画像となる。
【0191】
次に、図31の受信装置44の復号処理について、図32のフローチャートを参照して説明する。
【0192】
最初に、ステップS161において、分離部572は、受信機/再生装置571より供給された符号化データから、補正データと予測係数を分離し、補正データをクラス分類用ブロック化回路573、動き推定部577、および予測値計算用ブロック化回路578に供給するとともに、予測係数を予測回路576のメモリ576Aに供給する。
【0193】
ステップS162において、クラス分類用ブロック化回路573は、クラス分類用ブロック化処理を行い、クラス分類用ブロックをADRC処理回路574に供給する。
【0194】
ステップS163において、ADRC処理回路574は、クラス分類用ブロック化回路573より供給されたクラス分類用ブロックの補正データを1ビットADRC処理し、クラス分類回路575に出力する。
【0195】
クラス分類回路575は、ステップS164において、ADRC処理回路574より供給されたデータに基づいて、クラス分類処理を行い、クラスコードを予測回路576に出力する。
【0196】
ステップS165において、動き推定部577は、分離部572より供給された補正データに基づいて、動き推定処理を行い、前フレーム動きベクトルと後フレーム動きベクトルを予測値計算用ブロック化回路578に供給する。
【0197】
予測値計算用ブロック化回路578は、ステップS166において、動き推定部577より供給される前フレーム動きベクトルと後フレーム動きベクトルに基づいて、分離部572より供給される補正データの中から、予測値計算用ブロックを構成する補正データを抽出する。
【0198】
ステップS167において、予測回路576は、クラス分類回路575から供給されるクラス情報に対応した27×9個の予測係数をメモリ576Aから読み出し、その27×9個の予測係数と、予測値計算用ブロック化回路578から供給される27個の予測値計算用ブロックを構成する補正データとを用い、式(1)に従って、原画像の3×3画素の予測値を算出する。
【0199】
その後、ステップS168に進み、予測回路576は、ステップS167の処理で算出した予測値を復号結果として出力する。
【0200】
なお、受信側においては、図31に示すような受信装置44でなくても、間引きされた画像を単純な補間により復号する装置により、予測係数を用いずに、復号画像を得ることができる。但し、この場合に得られる復号画像は、画質(解像度)が劣化したものとなる。
【0201】
図33は、図16の予測係数ROM266に記憶されている予測係数を得るための学習を行う画像処理装置の構成例を示している。
【0202】
この画像処理装置には、あらゆる画像に適応可能な予測係数を得るための学習用の画像データ(学習用画像)が供給される。図14に示される動き推定部113と同様に構成される動き推定部590は、入力された画像データから、前フレーム動きベクトルと後フレーム動きベクトルを検出し、学習用ブロック化回路591に供給する。
【0203】
学習用ブロック化回路591は、動き推定部590から供給される動きベクトルに基づいて、画像データから学習用ブロックを抽出し、ADRC処理回路593と学習データメモリ596に供給する。ADRC処理回路593は、学習用ブロック化回路591より供給される学習用ブロックを1ビットADRC処理し、処理した結果をクラス分類回路594に出力する。
【0204】
クラス分類回路594は、ADRC処理回路593より供給されたデータをクラス分類し、得られた結果をスイッチ595の端子aを介して学習データメモリ596のアドレス端子に供給する。
【0205】
スイッチ595はまた、端子bからカウンタ597の出力を学習データメモリ596のアドレス端子に供給する。
【0206】
教師用ブロック化回路592は、画像データから教師用ブロックを抽出し、教師データメモリ598に出力する。教師データメモリ598のアドレス端子には、スイッチ595により、端子aから取り込まれたクラス分類回路594の出力、または端子bから取り込まれたカウンタ597の出力が供給されている。
【0207】
演算回路599は、学習データメモリ596の出力と、教師データメモリ598の出力とを演算し、演算して得られた結果をメモリ600に供給する。メモリ600のアドレス端子には、カウンタ597の出力が供給されている。
【0208】
次に、図34のフローチャートを参照して、図33の画像処理装置の学習処理について説明する。
【0209】
ステップS181において、動き推定部590は、入力された画像データから前フレーム動きベクトルと後フレーム動きベクトルを抽出し、学習量ブロック化回路591に出力する。
【0210】
学習用ブロック化回路591は、ステップS182において、入力される画像データから、例えば、図17に黒い円形の印で示した位置関係の25画素(5×5画素)、並びに、図19に示される前フレームの予測タップ222と後フレームの予測タップ232に対応する2個の画素を抽出し、この27画素で構成されるブロックを、学習用ブロックとして、ADRC処理593および学習データメモリ596に供給する。
【0211】
また、教師用ブロック化回路592は、ステップS183において、入力される画像データから、例えば、3×3個の9画素で構成されるブロックを生成し、この9画素で構成されるブロックを、教師用ブロックとして、教師データメモリ598に供給する。
【0212】
なお、学習用ブロック化回路591において、例えば、図17と図19に黒い円形の印で示した位置関係の27画素を含む学習用ブロックが生成されるとき、教師用ブロック化回路592では、図17に四角形で囲んで示される3×3画素の教師用ブロックが生成される。
【0213】
ADRC処理回路593は、ステップS184において、学習用ブロックを構成する27画素から、例えば、その中心の9画素(3×3画素)を抽出し、この9画素でなるブロックに対して、図16のADRC処理回路264における場合と同様に、1ビットのADRC処理を施す。ADRC処理の施された3×3画素のブロックは、クラス分類回路594に供給される。クラス分類回路594は、ステップS185において、図16のクラス分類回路265における場合と同様に、ADRC処理回路593からのブロックをクラス分類処理し、それにより得られるクラス情報を、スイッチ595の端子aを介して、学習データメモリ596および教師データメモリ598に供給する。
【0214】
学習データメモリ596または教師データメモリ598は、それぞれステップS186,S187において、そこに供給されるクラス情報に対応するアドレスに、学習用ブロック化回路591からの学習用ブロックまたは教師用ブロック化回路592からの教師用ブロックを、それぞれ記憶する。
【0215】
従って、学習データメモリ596において、例えば、図17と図19に黒い円形の印で示した27(=5×5+2)個の画素でなるブロックが学習用ブロックとして、あるアドレスに記憶されたとすると、教師データメモリ598においては、そのアドレスと同一のアドレスに、図17において、四角形で囲んで示す3×3画素のブロックが、教師用ブロックとして記憶される。
【0216】
以下、同様の処理が、あらかじめ用意されたすべての学習用の画像について繰り返され、これにより、学習用ブロックと、図16のローカルデコード部114において、その学習用ブロックを構成する27画素と同一の位置関係を有する27個の補正データで構成される予測値計算用ブロックを用いて予測値が求められる9画素で構成される教師用ブロックとが、学習用データメモリ596と、教師用データメモリ598とにおいて、同一のアドレスに記憶される。
【0217】
なお、学習用データメモリ596と教師用データメモリ598においては、同一アドレスに複数の情報を記憶することができるようになされており、これにより、同一アドレスには、複数の学習用ブロックと教師用ブロックを記憶することができるようになされている。
【0218】
学習用画像すべてについての学習用ブロックと教師用ブロックとが、学習データメモリ596と教師データメモリ598に記憶されると、ステップS188において、端子aを選択していたスイッチ595が、端子bに切り替わり、これにより、カウンタ597の出力が、アドレスとして、学習データメモリ596および教師データメモリ598に供給される。カウンタ597は、所定のクロックをカウントし、そのカウント値を出力しており、学習データメモリ596または教師データメモリ598では、そのカウント値に対応するアドレスに記憶された学習用ブロックまたは教師用ブロックが読み出され、演算回路599に供給される。
【0219】
従って、演算回路599には、カウンタ597のカウント値に対応するクラスの学習用ブロックのセットと、教師用ブロックのセットとが供給される。
【0220】
演算回路599は、あるクラスについての学習用ブロックのセットと、教師用ブロックのセットとを受信すると、それらを用いて、最小自乗法により、誤差を最小とする予測係数を算出する。
【0221】
即ち、例えば、いま、学習用ブロックを構成する画素の画素値を、x1,x2,x3,・・・とし、求めるべき予測係数をw1,w2,w3,・・・とするとき、これらの線形1次結合により、教師用ブロックを構成する、ある画素の画素値yを求めるには、予測係数w1,w2,w3,・・・は、次式を満たす必要がある。
【0222】
y=w1x1+w2x2+w3x3+・・・
【0223】
そこで、演算回路599では、同一クラスの学習用ブロックと、対応する教師用ブロックとから、真値yに対する、予測値w1x1+w2x2+w3x3+・・・の自乗誤差を最小とする予測係数w1,w2,w3,・・・が、上述した式(7)に示す正規方程式をたてて解くことにより求められる。従って、この処理をクラスごとに行うことにより、各クラスごとに、27×9個の予測係数が生成される。
【0224】
演算回路599において求められた、クラスごとの予測係数は、ステップS189において、メモリ600に供給される。メモリ600には、演算回路599からの予測係数の他、カウンタ597からカウント値が供給されており、これにより、メモリ600においては、演算回路599からの予測係数が、カウンタ597からのカウント値に対応するアドレスに記憶される。
【0225】
以上のようにして、メモリ600には、各クラスに対応するアドレスに、そのクラスのブロックの3×3画素を予測するのに最適な27×9個の予測係数が記憶される。
【0226】
図16の予測係数ROM266には、以上のようにしてメモリ600に記憶されたクラスごとの予測係数が記憶される。
【0227】
なお、図19の例においては、現在フレーム201の1フレーム前の前フレーム202と、1フレーム後の後フレーム203からも予測タップを抽出するようにしたが、例えば、図35に示されるように、前フレーム202よりさらに1フレーム前の前フレーム204において、注目補正データ451に対して動きベクトル453に対応する位置の補正データを予測タップ452として抽出し、さらに、後フレーム203よりさらに1フレームだけ後の後フレーム205における注目対応補正データ461に対して動きベクトル463に対応する位置の補正データで構成される予測タップ462を抽出し、それらも予測値計算用ブロックの補正データとすることができる。
【0228】
また、以上においては、現在フレームより前のフレームと後のフレームの両方から予測タップを抽出するようにしたが、少なくとも一方からだけ予測タップを抽出するようにしてもよい。
【0229】
但し、時間的により広い範囲から予測タップを抽出するようにした方が、動きが速い動画像が原画像である場合においても、より、原画像に近い画像を復号することが可能となる。
【0230】
以上、本発明を適用した画像処理装置について説明したが、このような画像処理装置は、例えば、NTSC方式などの標準方式のテレビジョン信号を符号化する場合の他、データ量の多い、いわゆるハイビジョン方式のテレビジョン信号などを符号化する場合に、特に有効である。
【0231】
なお、本実施の形態においては、誤差情報として、誤差の自乗和を用いるようにしたが、誤差情報としては、その他、例えば、誤差の絶対値和や、その3乗以上したものの和などを用いるようにすることが可能である。いずれを誤差情報として用いるかは、例えば、その収束性などに基づいて決定するようにすることが可能である。
【0232】
また、本実施の形態では、誤差情報が、所定の閾値ε以下になるまで、圧縮データの補正を繰り返し行うようする場合において、圧縮データの補正の回数に、上限を設けるようにすることも可能である。即ち、例えば、リアルタイムで画像の伝送を行う場合などにおいては、1フレームについての処理が、所定の期間内に終了することが必要であるが、誤差情報は、そのような所定の期間内に収束するとは限らない。そこで、補正の回数に上限を設けることにより、所定の期間内に、誤差情報が閾値ε以下に収束しないときは、そのフレームについての処理を終了し(そのときにおける補正データを、符号化結果とし)、次のフレームについての処理を開始するようにすることが可能である。
【0233】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【0234】
この記録媒体は、図5と図30に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク71,471(フロッピディスクを含む)、光ディスク72,472(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク73,473(MD(Mini-Disk)を含む)、もしくは半導体メモリ74,474などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM62,462や、ハードディスクなどで構成される。
【0235】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0236】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0237】
【発明の効果】
本発明によれば、より適正に補正された補正データを得ることができ、より原画像に近い復号画像を得ることが可能となる。
【図面の簡単な説明】
【図1】従来の画像圧縮処理を行う装置の構成例を示すブロック図である。
【図2】本発明を適用した画像処理装置の一実施の形態の構成を示すブロック図である。
【図3】図2の送信装置における圧縮処理を説明する図である。
【図4】図2における受信装置の復号処理を説明する図である。
【図5】図2の送信装置の構成例を示すブロック図である。
【図6】図2の送信装置の機能的構成例を示すブロック図である。
【図7】図6の送信装置の動作を説明するフローチャートである。
【図8】単純間引き処理を説明するフローチャートである。
【図9】単純間引き処理を説明する図である。
【図10】画像平均処理を説明するフローチャートである。
【図11】画像平均処理を説明する図である。
【図12】図6の補正部の構成例を示すブロック図である。
【図13】図12の補正部の動作を説明するフローチャートである。
【図14】図6の送信装置の動き推定部の構成例を示すブロック図である。
【図15】図14の動き推定部の処理を説明するフローチャートである。
【図16】図6のローカルデコード部の構成例を示すブロック図である。
【図17】クラス分類用ブロックを説明する図である。
【図18】クラス分類用ブロックの他の例を説明する図である。
【図19】予測値計算用ブロックを説明する図である。
【図20】予測値計算用ブロックを説明する他の図である。
【図21】クラス分類処理を説明するための図である。
【図22】クラス分類処理を説明するための図である。
【図23】ADRC処理を説明するための図である。
【図24】ADRC処理を説明するための図である。
【図25】図16のローカルデコード部の動作を説明するフローチャートである。
【図26】図6の誤差算出部の構成例を示すブロック図である。
【図27】図26の誤差算出部の動作を説明するフローチャートである。
【図28】図6の制御部の構成例を示すブロック図である。
【図29】図28の制御部の動作を説明するフローチャートである。
【図30】図2の受信装置の構成例を示すブロック図である。
【図31】図2の受信装置の機能的構成例を示すブロック図である。
【図32】図31の受信装置の動作を説明するフローチャートである。
【図33】図16の予測係数ROMに記憶されている予測係数を算出する画像処理装置の一実施の形態の構成を示すブロック図である。
【図34】図33の画像処理装置の動作を説明するフローチャートである。
【図35】予測タップを説明する図である。
【符号の説明】
41 送信装置, 42 記録媒体, 43 伝送路, 44 受信装置, 111 縮小画像生成部, 112 補正部, 113 動き推定部, 114ローカルデコード部, 115 誤差算出部, 116 制御部, 117 多重化部, 131 補正回路, 132 補正値ROM, 151,152,153 フレームメモリ, 154,155 動きベクトル検出部, 261 クラス分類用ブロック化回路, 262 予測値計算用ブロック化回路, 263 クラス分類適応処理回路, 264 ADRC処理回路, 265 クラス分類回路, 266 予測係数ROM, 267 予測回路, 351 ブロック化回路, 352 自乗誤差算出回路, 353,354 演算器, 355 積算部, 356 メモリ, 361 予測係数メモリ, 362 補正データメモリ, 363 誤差情報メモリ, 364 比較回路, 365 制御回路, 572 分離部, 573 クラス分類用ブロック化回路, 574 ADRC処理回路, 575 クラス分類回路, 576 予測回路, 576A メモリ, 577 動き推定部, 578 予測値計算用ブロック化回路, 590 動き推定部, 591 学習用ブロック化回路, 592 教師用ブロック化回路, 593 ADRC処理回路, 594 クラス分類回路, 595スイッチ, 596 学習データメモリ, 597 カウンタ, 598 教師データメモリ, 599 演算回路, 600 メモリ[0001]
BACKGROUND OF THE INVENTION
The present inventionImage encoding apparatus and method, recording medium, and programIn particular, when an image is encoded by thinning, for example, so that a decoded image almost identical to the original image can be obtained, an image closer to the original image can be encoded and decoded.Image encoding apparatus and method, recording medium, and programAbout.
[0002]
[Prior art]
Various image encoding methods have been proposed in the past, and one of them is, for example, a method of compressing and encoding an image by subsampling its pixels, for example. .
[0003]
However, when the thinned and compressed image is simply expanded by interpolation, the resolution of the resulting decoded image deteriorates.
[0004]
As a cause of the degradation of the resolution of the decoded image in this way, firstly, the thinned image does not contain the high frequency component contained in the original image, and secondly, the image after thinning is configured. It is conceivable that the pixel value of the pixel to be used is not necessarily suitable for restoring the original image.
[0005]
Therefore, the present applicant has previously proposed an image encoding device as shown in FIG. 1 as Japanese Patent Application No. 9-208483, for example.
[0006]
In the example of FIG. 1, the reduced
[0007]
The
[0008]
When the prediction error becomes equal to or less than a predetermined value by repeatedly executing the above processing, the
[0009]
[Problems to be solved by the invention]
However, in the previous proposal, since the correction data used for the prediction process is the correction data in the same frame in the
[0010]
The present invention has been made in view of such a situation, and makes it possible to decode an image close to the original image more accurately.
[0011]
[Means for Solving the Problems]
The image encoding apparatus of the present invention compresses an original image by reducing the number of pixels to generate reduced image data, and the pixel value of the reduced image data generated by the compression unitOr, correct the pixel value of the correction data obtained by correcting the pixel value of the reduced image data,Correction dataGenerateCorrection means, correction data generated by the correction means, first correction data corresponding to the first original image of the original images, and a second temporally preceding the first original image. Movement between the second correction data corresponding to the original image, or the firstCorrection dataAnd a motion estimation means for generating a motion vector by estimating at least one of motion between the first correction image and the third correction data corresponding to the third original image temporally after the first original image, One of the pixels constituting the correction data is set as the target pixel, and the pixel at the position moved by the motion vector of the target pixel from the position corresponding to the target pixel in the second correction data, or the third correction data Extraction means for extracting at least one pixel of the pixel moved from the position corresponding to the target pixel by the motion vector of the target pixel, and at least the target pixel as prediction correction data, and extracting as prediction correction data by the extraction means The prediction coefficient, which is a coefficient of the prediction formula for predicting the pixel value of the selected pixel and the prediction value of the pixel value of the original image, is substituted into the prediction formula, and the first original image A calculation unit that calculates a predicted value of a pixel value in a region in the vicinity of the target pixel including the target pixel, and a prediction that calculates a prediction error of the predicted image that includes the predicted value calculated by the calculation unit with respect to the first original image Generated by the correction means by comparing the error calculation means with a predetermined threshold of the prediction error calculated by the prediction error calculation means, or by comparing the number of times the correction data was generatedFirstA determination unit that determines whether the correction data is appropriate as an encoding result of the first original image;FirstWhen it is determined that the correction data is appropriate as the encoding result of the first original image,FirstOutput means for outputting correction data as optimum compressed data,Until the determination means determines that the first correction data is appropriate as the encoding result of the first original image,The correction means adjusts the direction and amount for correcting the pixel value so that the prediction error is reduced.FirstGenerate correction dataThe motion estimation means estimates at least one of a motion between the first correction data and the second correction data or a motion between the first correction data and the third correction data, A vector is generated, the extraction unit extracts prediction correction data, the calculation unit calculates a prediction value of a pixel value in a region near the target pixel, and the prediction error calculation unit repeats a process of calculating a prediction error.It is characterized by that.
[0012]
The motion estimation unit includes a correction data holding unit that holds the first correction data, the second correction data, and the third correction data generated by the correction unit, and a correction data holding unit that holds the first correction data. A first calculation means for calculating the sum of absolute differences between the correction data and the second correction data, and between the first correction data and the third correction data held by the correction data holding means. A second calculating means for calculating an absolute difference sum; a first minimum value detecting means for detecting a minimum value of the absolute difference sum calculated by the first calculating means; and an absolute value calculated by the second calculating means. Second minimum value detecting means for detecting the minimum value of the difference sum can be provided.
[0013]
The predicting means calculates the correction dataPixel valueClassifying means for classifying into a predetermined class according toPer classA prediction coefficient holding means for holding a prediction coefficient and outputting a prediction coefficient corresponding to the class classified by the class classification means;The calculation means calculates the prediction value by substituting the pixel value of the pixel extracted as prediction correction data by the extraction means and the prediction coefficient output by the prediction coefficient holding means into the prediction formula. Dobe able to.
[0014]
The output means includesThe correction data to be output corresponds to the classified classPrediction coefficients can be further output.
[0015]
The image encoding method of the present invention compresses an original image by reducing the number of pixels to generate reduced image data, and the pixel value of the reduced image data generated by the processing of the compression stepOr, correct the pixel value of the correction data obtained by correcting the pixel value of the reduced image data,Correction dataGenerateA correction step and correction data generated by the processing of the correction step, the first correction data corresponding to the first original image of the original images, and the first temporally preceding the first original image. Movement between the second correction data corresponding to the two original images, or the firstCorrection dataA motion estimation step of estimating a motion vector by estimating at least one of motion between the first correction image and the third correction data corresponding to the third original image temporally after the first original image, One of the pixels constituting the correction data is set as the target pixel, and the pixel at the position moved by the motion vector of the target pixel from the position corresponding to the target pixel in the second correction data, or the third correction data Extraction step for extracting at least one pixel of the pixel moved by the motion vector of the target pixel from the position corresponding to the target pixel, and at least the target pixel as prediction correction data, and prediction correction data by the processing of the extraction step Substituting a prediction coefficient that is a coefficient of a prediction formula for predicting a pixel value of a pixel extracted as a pixel value and a prediction value of a pixel value of an original image into the prediction formula A first original image of a prediction image comprising a calculation step of calculating a prediction value of a pixel value of a region in the vicinity of the target pixel including the target pixel in the first original image, and a prediction value calculated by the processing of the calculation step Comparing the prediction error calculation step for calculating the prediction error with the predetermined threshold value of the prediction error calculated by the processing of the prediction error calculation step, or the predetermined number of times of generating the correction data By the determination step for determining whether or not the correction data generated by the processing of the correction step is appropriate as the encoding result of the first original image, and the processing of the determination step,FirstWhen it is determined that the correction data is appropriate as the encoding result of the first original image,FirstAn output step of outputting the correction data as optimum compressed data,Until it is determined by the process of the determination step that the first correction data is appropriate as the encoding result of the first original image,While adjusting the direction and amount to correct the pixel value so that the prediction error is reduced by the correction step processFirstGenerate correction dataThen, at least one of the movement between the first correction data and the second correction data or the movement between the first correction data and the third correction data is estimated by the process of the movement estimation step. Then, the motion vector is generated, the prediction correction data is extracted by the processing of the extraction step, the prediction value of the pixel value in the region near the target pixel is calculated by the processing of the calculation step, and the processing of the prediction error calculation step is performed, Repeat the process of calculating the prediction errorIt is characterized by that.
[0016]
The program of the recording medium of the present invention isA compression step that compresses the original image by reducing the number of pixels and generates reduced image data, and a pixel value of the reduced image data generated by the processing of the compression stepOr, correct the pixel value of the correction data obtained by correcting the pixel value of the reduced image data,Correction dataGenerateA correction step and correction data generated by the processing of the correction step, the first correction data corresponding to the first original image of the original images, and the first temporally preceding the first original image. Movement between the second correction data corresponding to the two original images, or the firstCorrection dataA motion estimation step of estimating a motion vector by estimating at least one of motion between the first correction image and the third correction data corresponding to the third original image temporally after the first original image, One of the pixels constituting the correction data is set as the target pixel, and the pixel at the position moved by the motion vector of the target pixel from the position corresponding to the target pixel in the second correction data, or the third correction data Extraction step for extracting at least one pixel of the pixel moved by the motion vector of the target pixel from the position corresponding to the target pixel, and at least the target pixel as prediction correction data, and prediction correction data by the processing of the extraction step Substituting a prediction coefficient that is a coefficient of a prediction formula for predicting a pixel value of a pixel extracted as a pixel value and a prediction value of a pixel value of an original image into the prediction formula A first original image of a prediction image comprising a calculation step of calculating a prediction value of a pixel value of a region in the vicinity of the target pixel including the target pixel in the first original image, and a prediction value calculated by the processing of the calculation step Comparing the prediction error calculation step for calculating the prediction error with the predetermined threshold value of the prediction error calculated by the processing of the prediction error calculation step, or the predetermined number of times of generating the correction data By the determination step for determining whether or not the correction data generated by the processing of the correction step is appropriate as the encoding result of the first original image, and the processing of the determination step,FirstWhen it is determined that the correction data is appropriate as the encoding result of the first original image,FirstAn output step of outputting the correction data as optimum compressed data,Until it is determined by the process of the determination step that the first correction data is appropriate as the encoding result of the first original image,While adjusting the direction and amount to correct the pixel value so that the prediction error is reduced by the correction step processFirstGenerate correction dataThen, at least one of the movement between the first correction data and the second correction data or the movement between the first correction data and the third correction data is estimated by the process of the movement estimation step. Then, the motion vector is generated, the prediction correction data is extracted by the processing of the extraction step, the prediction value of the pixel value in the region near the target pixel is calculated by the processing of the calculation step, and the processing of the prediction error calculation step is performed, Repeat the process of calculating the prediction errorIt is characterized by that.
[0017]
The program of the present inventionA compression step that compresses the original image by reducing the number of pixels and generates reduced image data, and a pixel value of the reduced image data generated by the processing of the compression stepOr, correct the pixel value of the correction data obtained by correcting the pixel value of the reduced image data,Correction dataGenerateA correction step and correction data generated by the processing of the correction step, the first correction data corresponding to the first original image of the original images, and the first temporally preceding the first original image. Movement between the second correction data corresponding to the two original images, or the firstCorrection dataA motion estimation step of estimating a motion vector by estimating at least one of motion between the first correction image and the third correction data corresponding to the third original image temporally after the first original image, One of the pixels constituting the correction data is set as the target pixel, and the pixel at the position moved by the motion vector of the target pixel from the position corresponding to the target pixel in the second correction data, or the third correction data Extraction step for extracting at least one pixel of the pixel moved by the motion vector of the target pixel from the position corresponding to the target pixel, and at least the target pixel as prediction correction data, and prediction correction data by the processing of the extraction step Substituting a prediction coefficient that is a coefficient of a prediction formula for predicting a pixel value of a pixel extracted as a pixel value and a prediction value of a pixel value of an original image into the prediction formula A first original image of a prediction image comprising a calculation step of calculating a prediction value of a pixel value of a region in the vicinity of the target pixel including the target pixel in the first original image, and a prediction value calculated by the processing of the calculation step Comparing the prediction error calculation step for calculating the prediction error with the predetermined threshold value of the prediction error calculated by the processing of the prediction error calculation step, or the predetermined number of times of generating the correction data By the determination step for determining whether or not the correction data generated by the processing of the correction step is appropriate as the encoding result of the first original image, and the processing of the determination step,FirstWhen it is determined that the correction data is appropriate as the encoding result of the first original image,FirstAn output step of outputting the correction data as optimum compressed data,Until it is determined by the process of the determination step that the first correction data is appropriate as the encoding result of the first original image,While adjusting the direction and amount to correct the pixel value so that the prediction error is reduced by the correction step processFirstGenerate correction dataThen, at least one of the movement between the first correction data and the second correction data or the movement between the first correction data and the third correction data is estimated by the process of the movement estimation step. Then, the motion vector is generated, the prediction correction data is extracted by the processing of the extraction step, the prediction value of the pixel value in the region near the target pixel is calculated by the processing of the calculation step, and the processing of the prediction error calculation step is performed, Repeat the process of calculating the prediction errorThe processing is executed by a computer.
[0023]
Image coding apparatus and method of the present invention,In the recording medium and the program, the first correction data corresponding to the first original image and the second correction data corresponding to the second original image temporally prior to the first original image, or the second The motion of the first original image is estimated using at least one of the third correction data corresponding to the third original image that is temporally later than the first original image, and based on the motion vector, One original image is predicted.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 2 shows a configuration of an embodiment of an image processing apparatus to which the present invention is applied.
[0026]
The transmitting
[0027]
The receiving device 44 reproduces the encoded data recorded on the recording medium 42 or receives the encoded data transmitted via the transmission path 43. The encoded data is decompressed and decoded based on the class classification adaptation process as shown in FIG. Then, the decoded image obtained as a result is supplied to a display (not shown) and displayed.
[0028]
Note that the image processing apparatus as described above is, for example, an optical disk apparatus, a magneto-optical disk apparatus, a magnetic tape apparatus, or other apparatus that records or reproduces an image, or, for example, a videophone apparatus or a television broadcast. The present invention is applied to a system, a CATV system, and other devices that transmit images. As will be described later, since the amount of encoded data output from the
[0029]
FIG. 5 shows a hardware configuration example of the
[0030]
An I / F (InterFace) 61 performs reception processing of image data supplied from the outside and transmission processing of encoded data to the transmitter /
[0031]
The
[0032]
The I /
[0033]
In the
[0034]
FIG. 6 shows a functional configuration example of a portion of the
[0035]
Image data to be encoded is supplied to the reduced
[0036]
The local decoding unit 114 predicts the original image based on the correction data from the
[0037]
The
[0038]
Based on the error information from the
[0039]
The
[0040]
Next, an encoding process executed by the
[0041]
FIG. 8 shows simple thinning processing as one example of reduced image creation processing. First, in step S31, the reduced
[0042]
In step S33, the reduced
[0043]
That is, in this example, as shown in FIG. 9, one central pixel a5 is selected from, for example, 3 × 3 (m = n = 3) pixel data a1 to a9. Similarly, the central pixel b5 is selected from the adjacent 9 pixels of 3 × 3 b1 to b9.
[0044]
By repeating the simple thinning process as described above, the input image data is compressed to 1/9 reduced image data.
[0045]
FIG. 10 shows another example of reduced image creation processing. In this example, in step S51, the reduced
[0046]
In step S53, the reduced
[0047]
In this manner, for example, as shown in FIG. 11, the average value A of 3 × 3 pixels a1 to a9 is calculated based on the following equation.
[0048]
[Expression 1]
[0049]
Further, an average value B of 3 × 3 pixels of the pixels b1 to b9 is calculated based on the following equation.
[0050]
[Expression 2]
[0051]
Further, similarly, an average value C of 3 × 3 pixels of the pixels c1 to c9 is calculated based on the following equation.
[0052]
[Equation 3]
[0053]
The reduced image data (compressed data) generated by the reduced
[0054]
In step S12, the
[0055]
Next, in step S13, the local decoding unit 114 decodes (decodes) the correction data from the correction unit 112 (initially, the reduced image data itself as described above) based on the class classification adaptation process.
[0056]
Details of this decoding processing will be described later with reference to FIGS. 16 to 19, but the local decoding unit 114 is based on the motion vector supplied from the
[0057]
Here, the image composed of the predicted values output from the local decoding unit 114 is the same as the decoded image obtained on the receiving device 44 (FIG. 2) side.
[0058]
In step S <b> 14, the
[0059]
In step S <b> 15, the
[0060]
In step S16, the
[0061]
The motion vector generated by the
[0062]
In step S18, the
[0063]
In step S19, the
[0064]
If it is determined in step S19 that the prediction error has become smaller than the predetermined threshold value ε, or if it is determined that the optimization process has been executed a predetermined number of times, the
[0065]
The transmitter /
[0066]
As described above, the correction data obtained by correcting the reduced image data when the prediction error is equal to or smaller than the predetermined threshold ε or the optimization process reaches the predetermined number of times is used as the encoding result of the original image. Therefore, on the receiving device 44 side, it is possible to obtain an image that is substantially the same as the original image (original image) based on the correction data.
[0067]
FIG. 12 shows a configuration example of the
[0068]
The
[0069]
Next, processing of the
[0070]
When receiving the compressed data from the reduced
[0071]
That is, as described above, the
[0072]
On the other hand, if it is determined in step S71 that the control signal from the
[0073]
As described above, the
[0074]
For example, when the encoding of one frame image is completed, the
[0075]
FIG. 14 illustrates a configuration example of the
[0076]
In this way, correction data for three consecutive frames is stored in the
[0077]
The motion
[0078]
Next, the previous motion vector estimation (detection) process of the
[0079]
In step S91, the motion
[0080]
In step S92, the motion
[0081]
In step S93, the motion
[0082]
In step S95, the motion
[0083]
In step S96, the motion
[0084]
If it is determined in step S96 that the evaluation value calculated in the process of step S95 is equal to or greater than the comparison value, the processes of step S97 and step S98 are skipped.
[0085]
Next, proceeding to step S99, the motion
[0086]
Thereafter, the process returns to step S94, and the previous frame block at the changed position is extracted. In step S95, the absolute difference sum between the previous frame block and the current frame block including the target pixel is calculated. In step S96, the evaluation value as the sum of absolute differences calculated in step S95 is compared with the comparison value (updated to the previous block evaluation value in the previous step S97). If the evaluation value is smaller than the comparison value, a process for changing the comparison value to the evaluation value is performed in step S97, and in step S98, the address in the relative address memory is the processing target now. Is changed to the relative address.
[0087]
If it is determined in step S96 that the evaluation value is equal to or greater than the comparison value, the processes in steps S97 and S98 are skipped.
[0088]
Such processing is repeatedly executed until it is determined in step S99 that the processing has been completed for all blocks within the search range of the previous frame. As a result, the minimum value of the absolute difference sums of the blocks in the search range is stored as a comparison value in the process of step S97, and the minimum value is stored in the relative address memory in the process of step S98. The relative address of the block corresponding to the absolute difference sum, that is, the previous motion vector is stored.
[0089]
When it is determined in step S99 that all the searches in the search range of the previous frame have been completed, the motion
[0090]
In the above, the motion vector estimation processing of the motion
[0091]
In this case, in the process of step S94 in FIG. 15, instead of extracting the block of the previous frame, a process of extracting the block of the subsequent frame is executed. In the determination process of step S99, the search for the previous frame is performed. Instead of determining whether or not the processing within the range has ended, it is determined whether or not the search processing within the search range of the subsequent frame has ended. In step S101, the output is not the previous frame motion vector but the subsequent frame motion vector. The other processing is the same as the processing for detecting the previous frame motion vector of the motion
[0092]
FIG. 16 shows a configuration example of the local decoding unit 114 of FIG.
[0093]
The correction data from the
[0094]
That is, in FIG. 17, the i-th correction data (compressed data) (or pixel) (or pixel) (the portion indicated by a black circle in the drawing) from the top and the j-th from the left is XijIn this case, the class
[0095]
In this case, the
[0096]
The prediction value
[0097]
Specifically, for example, the pixel Y in the original image surrounded by a rectangle in FIG.33(1) to Y33For the calculation of the predicted value of 9 pixels in (9), in the current frame, the pixel X11, X12, X13, X14, X15, Xtwenty one, Xtwenty two, Xtwenty three, Xtwenty four, Xtwenty five, X31, X32, X33, X34, X35, X41, X42, X43, X44, X45, X51, X52, X53, X54, X55Thus, a prediction value calculation block is configured (in this case, the attention correction data is X33Becomes).
[0098]
Based on the motion vector supplied from the
[0099]
A
[0100]
The
[0101]
The attention corresponding
[0102]
Similarly, the predicted value
[0103]
Thus, in this example, not only the correction data in the current frame but also the correction data of the frame before or after the current frame is the correction data constituting the prediction value calculation block 25. Therefore, particularly when the original image is a moving image, the original image can be accurately restored.
[0104]
20, the horizontal axis is the time axis direction and the vertical axis is the horizontal or vertical direction of the frame, and the positional relationship between the attention correction data and the prediction taps of the
[0105]
The correction data of the prediction
[0106]
Note that the number of pixels and the shape of the prediction
[0107]
In addition, when performing blocking as described above (the same applies to processing other than blocking), there may be no corresponding pixel (correction data) near the image frame of the image. In this case, For example, the processing is performed on the assumption that the same pixel as the pixel constituting the image frame exists outside the image frame.
[0108]
The class classification
[0109]
Class classification adaptation processing classifies input signals into several classes based on their characteristics, and applies appropriate adaptation processing to the input signals of each class. It is divided into processing.
[0110]
Here, the class classification process and the adaptation process will be briefly described.
[0111]
First, the class classification process will be described.
[0112]
Now, for example, as shown in FIG. 21, a block of 2 × 2 pixels (a block for class classification) is configured by a certain target pixel and three pixels adjacent thereto, and each pixel has 1 bit. (Takes a level of 0 or 1). In this case, a 2 × 2 4-pixel block including the pixel of interest has 16 (= (2) as shown in FIG. 22 according to the level distribution of each pixel.1)Four) Can be classified into patterns. Therefore, in this case, the target pixel can be classified into 16 patterns, and such pattern classification is a class classification process and is performed in the
[0113]
The class classification processing can be performed in consideration of the activity (complexity of the image) (severity of change) of the image (image in the block).
[0114]
By the way, normally, for example, about 8 bits are assigned to each pixel. Further, in the present embodiment, as described above, the
[0115]
Therefore, in the present embodiment, the
[0116]
That is, for the sake of simplicity, for example, when a block composed of four pixels (correction data) is considered as shown in FIG. 23, in the ADRC process, the maximum value MAX of the pixel values is considered. And the minimum value MIN is detected. Then, DR = MAX-MIN is set as the local dynamic range of the block, and the pixel values of the pixels constituting the block are requantized to K bits based on the dynamic range DR.
[0117]
That is, the minimum value MIN is subtracted from each pixel value in the block, and the subtracted value is DR / 2.KDivide by. Each pixel value is converted into a code (ADRC code) corresponding to the division value obtained as a result. Specifically, for example, when K = 2, as shown in FIG. 24, the division value has a dynamic range DR of 4 (= 22) It is determined which range is obtained by equally dividing, and the division value is the range of the lowest level, the range of the second level from the bottom, the range of the third level from the bottom, or the top In the case of belonging to the level range, for example, it is encoded into 2 bits such as 00B, 01B, 10B, or 11B (B represents a binary number). On the decoding side (receiving device 44), the ADRC code 00B, 01B, 10B, or 11B is the center value L of the lowest level range obtained by equally dividing the dynamic range DR into four.00, Center value L of the second level range from the bottom01, Center value L of the third level range from the bottomTenOr the center value L of the range of the highest level11And the minimum value MIN is added to the value to perform decoding.
[0118]
Such ADRC processing is called non-edge matching.
[0119]
The details of the ADRC processing are disclosed in, for example, Japanese Patent Application Laid-Open No. 3-53778 filed by the applicant of the present application.
[0120]
By applying ADRC processing that performs requantization with a smaller number of bits than the number of bits allocated to the pixels constituting the block, as described above, the number of classes can be reduced. This is performed in the
[0121]
In the present embodiment, the
[0122]
Next, the adaptation process will be described.
[0123]
For example, the predicted value E [y] of the pixel value y of the original image is now set to the pixel values (correction data values) (hereinafter referred to as learning data as appropriate) x of some surrounding pixels.1, X2, ... and a predetermined prediction coefficient w1, W2Consider a linear primary combination model defined by the linear combination of. In this case, the predicted value E [y] can be expressed by the following equation.
[0124]
E [y] = w1x1+ W2x2+ ...
... (1)
[0125]
Therefore, in order to generalize, a matrix W composed of a set of prediction coefficients w, a matrix X composed of a set of learning data, and a matrix Y ′ composed of a set of predicted values E [y],
[Expression 4]
Then, the following observation equation holds.
[0126]
XW = Y ’
... (2)
[0127]
Then, it is considered to apply the least square method to this observation equation to obtain a predicted value E [y] close to the pixel value y of the original image. In this case, a matrix Y consisting of a set of pixel values y of the original image (hereinafter referred to as teacher data as appropriate) y and a set of residuals e of predicted values E [y] for the pixel values y of the original image. E
[Equation 5]
From the equation (2), the following residual equation is established.
[0128]
XW = Y + E
... (3)
[0129]
In this case, the prediction coefficient w for obtaining the predicted value E [y] close to the pixel value y of the original imageiIs the square error
[Formula 6]
Can be obtained by minimizing.
[0130]
Therefore, the above square error is converted into the prediction coefficient w.iWhen the value differentiated by 0 is 0, that is, the prediction coefficient w satisfying the following equation:iHowever, this is the optimum value for obtaining the predicted value E [y] close to the pixel value y of the original image.
[0131]
[Expression 7]
... (4)
[0132]
Therefore, first, Equation (3) is converted into the prediction coefficient w.iIs differentiated by the following equation.
[0133]
[Equation 8]
... (5)
[0134]
From equations (4) and (5), equation (6) is obtained.
[0135]
[Equation 9]
... (6)
[0136]
Further, considering the relationship among the learning data x, the prediction coefficient w, the teacher data y, and the residual e in the residual equation of Equation (3), the following normal equation can be obtained from Equation (6). .
[0137]
[Expression 10]
... (7)
[0138]
The normal equation of Expression (7) can be established by the same number as the number of prediction coefficients w to be obtained. Therefore, the optimal prediction coefficient w can be obtained by solving Expression (7). In solving equation (7), for example, a sweep-out method (Gauss-Jordan elimination method) or the like can be applied.
[0139]
As described above, the optimum prediction coefficient w is obtained for each class, and further, the prediction value E [y] close to the pixel value y of the original image is obtained by the equation (1) using the prediction coefficient w. Is an adaptive process, and a prediction process based on the adaptive process is performed in the
[0140]
Note that the adaptive processing is different from simple interpolation processing in that a component included in the original image that is not included in the thinned image (compressed data) is reproduced. That is, the adaptive process is the same as the interpolation process using a so-called interpolation filter as long as only Expression (1) is seen, but the prediction coefficient w corresponding to the tap coefficient of the interpolation filter uses the teacher data y. In other words, since it is obtained by learning, the components included in the original image can be reproduced. From this, it can be said that the adaptive process is a process having an image creating action.
[0141]
Next, processing of the local decoding unit 114 in FIG. 16 will be described with reference to the flowchart in FIG.
[0142]
In the local decoding unit 114, first, in step S121, the correction data from the
[0143]
Furthermore, the prediction value
[0144]
In the class classification
[0145]
Upon receiving the
[0146]
In the present embodiment, since the class classification process is performed on the
[0147]
In step S124, the
[0148]
That is, in the present embodiment, for example, 27 × 9 prediction coefficients are read for each class. Furthermore, when attention is paid to a certain correction data, prediction is made for a total of nine pixels, that is, a pixel of the original image corresponding to the correction data of interest and eight pixels of the original image adjacent to the pixel. Adaptive processing is performed using 27 × 9 prediction coefficients whose values correspond to the class information of the target correction data and a prediction value calculation block having 5 × 5 pixels centered on the target correction data. Is calculated by
[0149]
Specifically, for example, the correction data (attention correction data) X shown in FIG.333 × 3 correction data X centered ontwenty two, Xtwenty three, Xtwenty four, X32, X33, X34, X42, X43, X44Is output from the
[0150]
And the prediction coefficient w for class information C1Thru w27And the prediction
[0151]
[0152]
In step S125, as described above, predicted values of pixels of 3 × 3 original images centered on the target correction data are obtained using the prediction coefficients for 27 × 9 classes.
[0153]
Thereafter, the process proceeds to step S126, in which 27 × 9 prediction coefficients for each class are supplied to the
[0154]
FIG. 26 shows a configuration example of the
[0155]
The original image data (image data of the original image before being reduced) is supplied to the
[0156]
That is, the square
[0157]
When receiving the square error from the square
[0158]
Next, the operation will be described with reference to the flowchart of FIG. In the
[0159]
That is, in step S133, the
[0160]
When receiving the square error from the square
[0161]
Then, in step S135, the integrating
[0162]
Therefore, the
[0163]
Q = Σ (Yij(K) -E [Yij(K)])2
However, Σ means summation for one frame.
[0164]
FIG. 28 shows a configuration example of the
[0165]
The
[0166]
In the
[0167]
The
[0168]
The comparison circuit 364 compares the current error information stored in the
[0169]
Based on the comparison result in the comparison circuit 364, the
[0170]
Next, an optimization process executed by the
[0171]
In the
[0172]
If it is determined in step S142 that the current error information is greater than or equal to the predetermined threshold ε, the comparison circuit 364 reads the previous error information stored in the
[0173]
When error information is supplied for the first time when processing for one frame is started, the previous error information is not stored in the
[0174]
If it is determined in step S143 that the current error information is equal to or less than the previous error information, that is, if the error information is reduced by correcting the compressed data, the process proceeds to step S144, and the control circuit 365 A control signal instructing to change the correction value Δ in the same manner as the previous time is output to the
[0175]
When the error information that has continued to decrease starts to increase at a certain timing, the
[0176]
Then, by repeating the processes of steps S141 to S145, the error information decreases, and when it is determined in step S142 that the current error information is smaller than the predetermined threshold ε, the process proceeds to step S146. The
[0177]
After that, after waiting for the error information for the next frame to be supplied, the processing according to the flowchart shown in FIG. 29 is repeated again.
[0178]
The
[0179]
As described above, the correction of the compressed data is repeated until the error information is made smaller (below) than the predetermined threshold ε, and the correction data when the error information becomes smaller than the predetermined threshold ε is the code of the image. Therefore, in the receiving device 44 (FIG. 2), the pixel values of the pixels constituting the thinned image are converted from the correction data in which the pixel values are most appropriate for restoring the original image. It is possible to obtain a decoded image that is the same (substantially the same) as the image.
[0180]
In addition to being compressed by thinning processing, the image is also compressed by ADRC processing, class classification adaptation processing, and the like, so that encoded data with a very high compression rate can be obtained. In addition, the encoding process as described above in the
[0181]
FIG. 30 illustrates a hardware configuration example of the reception device 44 of FIG.
[0182]
The receiver / reproducing device 446 reproduces the recording medium 42 on which the
[0183]
A ROM (Read Only Memory) 462 stores a program for IPL (Initial Program Loading) and others. A RAM (Random Access Memory) 463 stores system programs (OS (Operating System)) and application programs recorded in the
[0184]
The
[0185]
The I /
[0186]
In the receiving device 44 configured as described above, when encoded data is supplied to the I /
[0187]
FIG. 31 shows a functional configuration example of a portion of the receiving device 44 of FIG. 30 excluding the receiver / reproducing
[0188]
In the receiver / reproducing
[0189]
The class
[0190]
The
[0191]
Next, the decoding process of the receiving device 44 in FIG. 31 will be described with reference to the flowchart in FIG.
[0192]
First, in step S161, the
[0193]
In step S162, the class
[0194]
In step S 163, the
[0195]
In step S164, the
[0196]
In step S165, the
[0197]
In step S166, the predicted value
[0198]
In step S167, the
[0199]
Thereafter, the process proceeds to step S168, and the
[0200]
On the receiving side, a decoded image can be obtained without using a prediction coefficient by a device that decodes a thinned image by simple interpolation, instead of the receiving device 44 as shown in FIG. However, the decoded image obtained in this case has deteriorated image quality (resolution).
[0201]
FIG. 33 shows a configuration example of an image processing apparatus that performs learning for obtaining a prediction coefficient stored in the
[0202]
This image processing apparatus is supplied with learning image data (learning image) for obtaining a prediction coefficient applicable to any image. A
[0203]
The
[0204]
The
[0205]
The
[0206]
The teacher
[0207]
The
[0208]
Next, the learning process of the image processing apparatus of FIG. 33 will be described with reference to the flowchart of FIG.
[0209]
In step S181, the
[0210]
In step S182, the
[0211]
In step S183, the
[0212]
In the learning
[0213]
In step S184, the
[0214]
In steps S186 and S187, the learning
[0215]
Therefore, in the learning
[0216]
Thereafter, the same processing is repeated for all learning images prepared in advance, whereby the learning block and the 27 pixels constituting the learning block in the local decoding unit 114 of FIG. 16 are the same. The teacher data block 596 and the
[0217]
In the learning
[0218]
When the learning blocks and the teacher blocks for all the learning images are stored in the learning
[0219]
Accordingly, the
[0220]
When the
[0221]
That is, for example, the pixel values of the pixels constituting the learning block are now expressed as x1, X2, XThree, ..., and the prediction coefficient to be obtained is w1, W2, WThree,..., In order to obtain the pixel value y of a certain pixel constituting the teacher block by these linear linear combinations, the prediction coefficient w1, W2, WThree,... Must satisfy the following equation.
[0222]
y = w1x1+ W2x2+ WThreexThree+ ...
[0223]
Therefore, in the
[0224]
The prediction coefficient for each class obtained by the
[0225]
As described above, the
[0226]
The
[0227]
In the example of FIG. 19, the prediction tap is also extracted from the
[0228]
In the above description, the prediction tap is extracted from both the frame before and after the current frame. However, the prediction tap may be extracted from at least one of the frames.
[0229]
However, if the prediction taps are extracted from a wider range in terms of time, it is possible to decode an image closer to the original image even when the moving image having a fast motion is the original image.
[0230]
The image processing apparatus to which the present invention is applied has been described above. Such an image processing apparatus, for example, encodes a standard system television signal such as the NTSC system, or so-called high vision with a large amount of data. This is particularly effective when encoding a television signal of a system.
[0231]
In this embodiment, the error sum of squares is used as the error information. However, as the error information, for example, the sum of absolute values of errors, the sum of the third power or more, and the like are used. It is possible to do so. Which one is used as error information can be determined based on, for example, its convergence.
[0232]
Further, in the present embodiment, when the correction of the compressed data is repeatedly performed until the error information becomes equal to or less than the predetermined threshold ε, an upper limit can be set for the number of corrections of the compressed data. It is. That is, for example, when image transmission is performed in real time, processing for one frame needs to be completed within a predetermined period, but error information converges within such a predetermined period. Not always. Therefore, by setting an upper limit on the number of corrections, if the error information does not converge below the threshold ε within a predetermined period, the processing for that frame is terminated (the correction data at that time is used as the encoding result). ), It is possible to start processing for the next frame.
[0233]
The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processing is executed by software, a program constituting the software executes various functions by installing a computer incorporated in dedicated hardware or various programs. For example, a general-purpose personal computer is installed from a network or a recording medium.
[0234]
As shown in FIGS. 5 and 30, the recording medium is distributed to provide a program to the user separately from the apparatus main body, and includes
[0235]
In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
[0236]
Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
[0237]
【The invention's effect】
According to the present invention, correction data corrected more appropriately can be obtained, and a decoded image closer to the original image can be obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration example of a conventional apparatus that performs image compression processing.
FIG. 2 is a block diagram showing a configuration of an embodiment of an image processing apparatus to which the present invention is applied.
FIG. 3 is a diagram for explaining compression processing in the transmission apparatus of FIG. 2;
FIG. 4 is a diagram for explaining decoding processing of the receiving device in FIG. 2;
FIG. 5 is a block diagram illustrating a configuration example of the transmission apparatus in FIG. 2;
6 is a block diagram illustrating a functional configuration example of the transmission apparatus in FIG. 2;
7 is a flowchart for explaining the operation of the transmission apparatus in FIG. 6;
FIG. 8 is a flowchart illustrating a simple thinning process.
FIG. 9 is a diagram illustrating a simple thinning process.
FIG. 10 is a flowchart illustrating an image averaging process.
FIG. 11 is a diagram illustrating image averaging processing.
12 is a block diagram illustrating a configuration example of a correction unit in FIG. 6. FIG.
13 is a flowchart illustrating the operation of the correction unit in FIG.
14 is a block diagram illustrating a configuration example of a motion estimation unit of the transmission device in FIG. 6;
15 is a flowchart illustrating processing of a motion estimation unit in FIG.
16 is a block diagram illustrating a configuration example of a local decoding unit in FIG. 6. FIG.
FIG. 17 is a diagram for explaining a class classification block;
FIG. 18 is a diagram illustrating another example of a class classification block.
FIG. 19 is a diagram illustrating a predicted value calculation block.
FIG. 20 is another diagram for explaining a prediction value calculation block;
FIG. 21 is a diagram for explaining class classification processing;
FIG. 22 is a diagram for explaining class classification processing;
FIG. 23 is a diagram for explaining ADRC processing;
FIG. 24 is a diagram for explaining ADRC processing;
FIG. 25 is a flowchart for explaining the operation of the local decoding unit in FIG. 16;
26 is a block diagram illustrating a configuration example of an error calculation unit in FIG. 6;
FIG. 27 is a flowchart for explaining the operation of the error calculation unit of FIG. 26;
FIG. 28 is a block diagram illustrating a configuration example of a control unit in FIG. 6;
FIG. 29 is a flowchart for explaining the operation of the control unit of FIG. 28;
30 is a block diagram illustrating a configuration example of the reception device in FIG. 2;
31 is a block diagram illustrating a functional configuration example of the reception device in FIG. 2;
32 is a flowchart for explaining the operation of the receiving apparatus in FIG. 31;
33 is a block diagram illustrating a configuration of an embodiment of an image processing apparatus that calculates a prediction coefficient stored in a prediction coefficient ROM of FIG.
34 is a flowchart for explaining the operation of the image processing apparatus in FIG. 33;
FIG. 35 is a diagram illustrating a prediction tap.
[Explanation of symbols]
41 transmitting device, 42 recording medium, 43 transmission path, 44 receiving device, 111 reduced image generating unit, 112 correcting unit, 113 motion estimating unit, 114 local decoding unit, 115 error calculating unit, 116 control unit, 117 multiplexing unit, 131 Correction Circuit, 132 Correction Value ROM, 151, 152, 153 Frame Memory, 154, 155 Motion Vector Detection Unit, 261 Class Classification Blocking Circuit, 262 Prediction Value Calculation Blocking Circuit, 263 Class Classification Adaptive Processing Circuit, 264 ADRC processing circuit, 265 class classification circuit, 266 prediction coefficient ROM, 267 prediction circuit, 351 blocking circuit, 352 square error calculation circuit, 353, 354 calculator, 355 accumulator, 356 memory, 361 prediction coefficient memory, 362 Correction data memory, 363 error information memory, 364 comparison circuit, 365 control circuit, 572 separation unit, 573 class classification block circuit, 574 ADRC processing circuit, 575 class classification circuit, 576 prediction circuit, 576A memory, 577 motion estimation unit , 578 Prediction value calculation blocking circuit, 590 motion estimation unit, 591 learning blocking circuit, 592 teacher blocking circuit, 593 ADRC processing circuit, 594 class classification circuit, 595 switch, 596 learning data memory, 597 counter, 598 Teacher data memory, 599 arithmetic circuit, 600 memory
Claims (7)
前記圧縮手段により生成された前記縮小画像データの画素値、または、前記縮小画像データの画素値を補正した補正データの画素値を補正し、前記補正データを生成する補正手段と、
前記補正手段により生成された前記補正データであって、前記原画像のうちの第1の原画像に対応する第1の補正データと、前記第1の原画像より時間的に前の第2の原画像に対応する第2の補正データとの間の動き、または、前記第1の補正データと前記第1の原画像より時間的に後の第3の原画像に対応する第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定手段と、
前記第1の補正データを構成する画素のうちの1つを注目画素とし、前記第2の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素、または、前記第3の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、前記注目画素を少なくとも予測補正データとして抽出する抽出手段と、
前記抽出手段により前記予測補正データとして抽出された画素の画素値、および、前記原画像の画素値の予測値を予測するための予測式の係数である予測係数を前記予測式に代入して、前記第1の原画像における前記注目画素を含む前記注目画素の近傍の領域の画素値の予測値を演算する演算手段と、
前記演算手段により演算された前記予測値からなる予測画像の、前記第1の原画像に対する前記予測誤差を算出する予測誤差算出手段と、
前記予測誤差算出手段により算出された前記予測誤差の所定の閾値との比較、または、前記補正データを生成した回数の所定の回数との比較を行うことにより、前記補正手段により生成された前記第1の補正データが前記第1の原画像の符号化結果として適正であるか否かを判定する判定手段と、
前記判定手段により、前記第1の補正データが前記第1の原画像の符号化結果として適正であると判定された場合、そのときの前記第1の補正データを最適な圧縮データとして出力する出力手段と
を備え、
前記判定手段により、前記第1の補正データが前記第1の原画像の符号化結果として適正であると判定されるまで、
前記補正手段は、前記予測誤差が減少するように画素値を補正する方向および量を調整しながら前記第1の補正データを生成し、
前記動き推定手段は、前記第1の補正データと前記第2の補正データとの間の動き、または、前記第1の補正データと前記第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、
前記抽出手段は、前記予測補正データを抽出し、
前記演算手段は、前記注目画素の近傍の領域の画素値の予測値を演算し、
前記予測誤差算出手段は、前記予測誤差を算出する
処理を繰り返す
ことを特徴とする画像符号化装置。Compression means for reducing the number of pixels of the original image and generating reduced image data;
Correction means for correcting the pixel value of the reduced image data generated by the compression means or the pixel value of correction data obtained by correcting the pixel value of the reduced image data, and generating the correction data;
The correction data generated by the correction means, the first correction data corresponding to the first original image of the original images, and the second temporally prior to the first original image. Movement between second correction data corresponding to the original image, or third correction data corresponding to a third original image temporally later than the first correction data and the first original image Motion estimation means for estimating at least one of the motions between and generating a motion vector;
One of the pixels constituting the first correction data is set as a target pixel, and a pixel at a position moved by the motion vector of the target pixel from a position corresponding to the target pixel in the second correction data, Alternatively, at least one of the pixels at the position moved by the motion vector of the target pixel from the position corresponding to the target pixel in the third correction data, and the target pixel are extracted as at least prediction correction data. Extraction means to
Substituting a prediction coefficient that is a coefficient of a prediction formula for predicting the pixel value of the pixel extracted as the prediction correction data by the extraction unit and the prediction value of the pixel value of the original image into the prediction formula, A computing means for computing a predicted value of a pixel value in a region near the target pixel including the target pixel in the first original image;
Prediction error calculation means for calculating the prediction error of the prediction image composed of the prediction values calculated by the calculation means with respect to the first original image;
By comparing the prediction error calculated by the prediction error calculation means with a predetermined threshold or by comparing the number of times the correction data has been generated with a predetermined number of times, the first error generated by the correction means is calculated . a determination unit configured to determine whether a proper first correction data as the coded result of the first original image,
When it is determined by the determination means that the first correction data is appropriate as the encoding result of the first original image, the first correction data at that time is output as optimum compressed data Means and
Until it is determined by the determination means that the first correction data is appropriate as an encoding result of the first original image,
The correction unit generates the first correction data while adjusting a direction and an amount of correcting a pixel value so that the prediction error is reduced ,
The motion estimation means estimates at least one of a motion between the first correction data and the second correction data, or a motion between the first correction data and the third correction data. And generate a motion vector,
The extraction means extracts the prediction correction data,
The calculation means calculates a predicted value of a pixel value in a region near the target pixel,
The prediction error calculation means calculates the prediction error
An image encoding apparatus characterized by repeating the processing .
前記補正手段により生成された前記第1の補正データ、前記第2の補正データ、および前記第3の補正データを保持する補正データ保持手段と、
前記補正データ保持手段により保持されている前記第1の補正データと前記第2の補正データとの間の絶対差分和を計算する第1の計算手段と、
前記補正データ保持手段により保持されている前記第1の補正データと前記第3の補正データとの間の絶対差分和を計算する第2の計算手段と、
前記第1の計算手段により計算された前記絶対差分和の最小値を検出する第1の最小値検出手段と、
前記第2の計算手段により計算された前記絶対差分和の最小値を検出する第2の最小値検出手段と
を備えることを特徴とする請求項1に記載の画像符号化装置。The motion estimation means includes
Correction data holding means for holding the first correction data, the second correction data, and the third correction data generated by the correction means;
First calculation means for calculating a sum of absolute differences between the first correction data and the second correction data held by the correction data holding means;
Second calculation means for calculating an absolute difference sum between the first correction data and the third correction data held by the correction data holding means;
First minimum value detecting means for detecting a minimum value of the absolute difference sum calculated by the first calculating means;
The image encoding apparatus according to claim 1, further comprising: a second minimum value detecting unit that detects a minimum value of the absolute difference sum calculated by the second calculating unit.
前記補正データを、その画素値に応じて所定のクラスに分類するクラス分類手段と、
前記クラス毎に前記予測係数を保持し、前記クラス分類手段により分類された前記クラスに対応する予測係数を出力する予測係数保持手段と
をさらに備え、
前記演算手段は、前記抽出手段により前記予測補正データとして抽出された画素の画素値、および、前記予測係数保持手段により出力された前記予測係数を前記予測式に代入して、前記予測値を演算する
を備えることを特徴とする請求項1に記載の画像符号化装置。The prediction means includes
Class classification means for classifying the correction data into a predetermined class according to the pixel value;
A prediction coefficient holding unit that holds the prediction coefficient for each class and outputs a prediction coefficient corresponding to the class classified by the class classification unit;
The calculation unit calculates the prediction value by substituting the pixel value of the pixel extracted as the prediction correction data by the extraction unit and the prediction coefficient output by the prediction coefficient holding unit into the prediction formula. The image encoding apparatus according to claim 1, further comprising:
ことを特徴とする請求項3に記載の画像符号化装置。The image encoding apparatus according to claim 3, wherein the output unit further outputs the prediction coefficient corresponding to the class into which the correction data to be output is classified.
前記圧縮ステップの処理により生成された前記縮小画像データの画素値、または、前記縮小画像データの画素値を補正した補正データの画素値を補正し、前記補正データを生成する補正ステップと、
前記補正ステップの処理により生成された前記補正データであって、前記原画像のうちの第1の原画像に対応する第1の補正データと、前記第1の原画像より時間的に前の第2の原画像に対応する第2の補正データとの間の動き、または、前記第1の補正データと前記第1の原画像より時間的に後の第3の原画像に対応する第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、
前記第1の補正データを構成する画素のうちの1つを注目画素とし、前記第2の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素、または、前記第3の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、前記注目画素を少なくとも予測補正データとして抽出する抽出ステップと、
前記抽出ステップの処理により前記予測補正データとして抽出された画素の画素値、および、前記原画像の画素値の予測値を予測するための予測式の係数である予測係数を前記予測式に代入して、前記第1の原画像における前記注目画素を含む前記注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、
前記演算ステップの処理により演算された前記予測値からなる予測画像の、前記第1の原画像に対する前記予測誤差を算出する予測誤差算出ステップと、
前記予測誤差算出ステップの処理により算出された前記予測誤差の所定の閾値との比較、または、前記補正データを生成した回数の所定の回数との比較を行うことにより、前記補正ステップの処理により生成された前記補正データが前記第1の原画像の符号化結果として適正であるか否かを判定する判定ステップと、
前記判定ステップの処理により、前記第1の補正データが前記第1の原画像の符号化結果として適正であると判定された場合、そのときの前記第1の補正データを最適な圧縮データとして出力する出力ステップと
を含み、
前記判定ステップの処理により、前記第1の補正データが前記第1の原画像の符号化結果として適正であると判定されるまで、
前記補正ステップの処理により、前記予測誤差が減少するように画素値を補正する方向および量を調整しながら前記第1の補正データを生成し、
前記動き推定ステップの処理により、前記第1の補正データと前記第2の補正データとの間の動き、または、前記第1の補正データと前記第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、
前記抽出ステップの処理により、前記予測補正データを抽出し、
前記演算ステップの処理により、前記注目画素の近傍の領域の画素値の予測値を演算し、
前記予測誤差算出ステップの処理により、前記予測誤差を算出する
処理を繰り返す
ことを特徴とする画像符号化方法。A compression step of compressing the original image by reducing the number of pixels and generating reduced image data;
A correction step of correcting the pixel value of the reduced image data generated by the processing of the compression step or the pixel value of correction data obtained by correcting the pixel value of the reduced image data, and generating the correction data;
The correction data generated by the process of the correction step, the first correction data corresponding to the first original image of the original images, and the first temporally prior to the first original image. Movement between second correction data corresponding to two original images, or a third corresponding to a third original image temporally later than the first correction data and the first original image. A motion estimation step for estimating at least one of motions between the correction data and generating a motion vector;
One of the pixels constituting the first correction data is set as a target pixel, and a pixel at a position moved by the motion vector of the target pixel from a position corresponding to the target pixel in the second correction data; Alternatively, at least one of the pixels at the position moved by the motion vector of the target pixel from the position corresponding to the target pixel in the third correction data, and the target pixel are extracted as at least prediction correction data. An extraction step to
Substituting a prediction coefficient that is a coefficient of a prediction formula for predicting the pixel value of the pixel extracted as the prediction correction data by the processing of the extraction step and the prediction value of the pixel value of the original image into the prediction formula. Calculating a predicted value of a pixel value of a region in the vicinity of the target pixel including the target pixel in the first original image;
A prediction error calculating step of calculating the prediction error of the predicted image composed of the predicted values calculated by the processing of the calculating step with respect to the first original image;
Generated by the processing of the correction step by comparing the prediction error calculated by the processing of the prediction error calculation step with a predetermined threshold or by comparing the number of times of generating the correction data with a predetermined number of times. A determination step of determining whether or not the corrected data is appropriate as an encoding result of the first original image;
When it is determined by the determination step that the first correction data is appropriate as the encoding result of the first original image, the first correction data at that time is output as optimum compressed data. Including an output step and
Until it is determined by the process of the determination step that the first correction data is appropriate as the encoding result of the first original image,
The correction step generates the first correction data while adjusting the direction and amount for correcting the pixel value so that the prediction error is reduced ,
At least one of the movement between the first correction data and the second correction data or the movement between the first correction data and the third correction data by the process of the movement estimation step. , Generate a motion vector,
The prediction correction data is extracted by the processing of the extraction step,
By the processing of the calculation step, a predicted value of a pixel value in a region near the target pixel is calculated,
The prediction error is calculated by the processing of the prediction error calculation step.
An image encoding method characterized by repeating the processing .
前記圧縮ステップの処理により生成された前記縮小画像データの画素値、または、前記縮小画像データの画素値を補正した補正データの画素値を補正し、前記補正データを生成する補正ステップと、
前記補正ステップの処理により生成された前記補正データであって、前記原画像のうちの第1の原画像に対応する第1の補正データと、前記第1の原画像より時間的に前の第2の原画像に対応する第2の補正データとの間の動き、または、前記第1の補正データと前記第1の原画像より時間的に後の第3の原画像に対応する第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、
前記第1の補正データを構成する画素のうちの1つを注目画素とし、前記第2の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素、または、前記第3の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、前記注目画素を少なくとも予測補正データとして抽出する抽出ステップと、
前記抽出ステップの処理により前記予測補正データとして抽出された画素の画素値、および、前記原画像の画素値の予測値を予測するための予測式の係数である予測係数を前記予測式に代入して、前記第1の原画像における前記注目画素を含む前記注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、
前記演算ステップの処理により演算された前記予測値からなる予測画像の、前記第1の原画像に対する前記予測誤差を算出する予測誤差算出ステップと、
前記予測誤差算出ステップの処理により算出された前記予測誤差の所定の閾値との比較、または、前記補正データを生成した回数の所定の回数との比較を行うことにより、前記補正ステップの処理により生成された前記補正データが前記第1の原画像の符号化結果として適正であるか否かを判定する判定ステップと、
前記判定ステップの処理により、前記第1の補正データが前記第1の原画像の符号化結果として適正であると判定された場合、そのときの前記第1の補正データを最適な圧縮データとして出力する出力ステップと
を含み、
前記判定ステップの処理により、前記第1の補正データが前記第1の原画像の符号化結果として適正であると判定されるまで、
前記補正ステップの処理により、前記予測誤差が減少するように画素値を補正する方向および量を調整しながら前記第1の補正データを生成し、
前記動き推定ステップの処理により、前記第1の補正データと前記第2の補正データとの間の動き、または、前記第1の補正データと前記第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、
前記抽出ステップの処理により、前記予測補正データを抽出し、
前記演算ステップの処理により、前記注目画素の近傍の領域の画素値の予測値を演算し、
前記予測誤差算出ステップの処理により、前記予測誤差を算出する
処理を繰り返す
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。A compression step of compressing the original image by reducing the number of pixels and generating reduced image data;
A correction step of correcting the pixel value of the reduced image data generated by the processing of the compression step or the pixel value of correction data obtained by correcting the pixel value of the reduced image data, and generating the correction data;
The correction data generated by the process of the correction step, the first correction data corresponding to the first original image of the original images, and the first temporally prior to the first original image. Movement between second correction data corresponding to two original images, or a third corresponding to a third original image temporally later than the first correction data and the first original image. A motion estimation step for estimating at least one of motions between the correction data and generating a motion vector;
One of the pixels constituting the first correction data is set as a target pixel, and a pixel at a position moved by the motion vector of the target pixel from a position corresponding to the target pixel in the second correction data; Alternatively, at least one of the pixels at the position moved by the motion vector of the target pixel from the position corresponding to the target pixel in the third correction data, and the target pixel are extracted as at least prediction correction data. An extraction step to
Substituting a prediction coefficient that is a coefficient of a prediction formula for predicting the pixel value of the pixel extracted as the prediction correction data by the processing of the extraction step and the prediction value of the pixel value of the original image into the prediction formula. Calculating a predicted value of a pixel value of a region in the vicinity of the target pixel including the target pixel in the first original image;
A prediction error calculating step of calculating the prediction error of the predicted image composed of the predicted values calculated by the processing of the calculating step with respect to the first original image;
Generated by the processing of the correction step by comparing the prediction error calculated by the processing of the prediction error calculation step with a predetermined threshold or by comparing the number of times of generating the correction data with a predetermined number of times. A determination step of determining whether or not the corrected data is appropriate as an encoding result of the first original image;
When it is determined by the determination step that the first correction data is appropriate as the encoding result of the first original image, the first correction data at that time is output as optimum compressed data. Including an output step and
Until it is determined by the process of the determination step that the first correction data is appropriate as the encoding result of the first original image,
The correction step generates the first correction data while adjusting the direction and amount for correcting the pixel value so that the prediction error is reduced ,
At least one of the movement between the first correction data and the second correction data or the movement between the first correction data and the third correction data by the process of the movement estimation step. , Generate a motion vector,
The prediction correction data is extracted by the processing of the extraction step,
By the processing of the calculation step, a predicted value of a pixel value in a region near the target pixel is calculated,
The prediction error is calculated by the processing of the prediction error calculation step.
A recording medium on which a computer-readable program is recorded, wherein the processing is repeated .
前記圧縮ステップの処理により生成された前記縮小画像データの画素値、または、前記縮小画像データの画素値を補正した補正データの画素値を補正し、前記補正データを生成する補正ステップと、
前記補正ステップの処理により生成された前記補正データであって、前記原画像のうちの第1の原画像に対応する第1の補正データと、前記第1の原画像より時間的に前の第2の原画像に対応する第2の補正データとの間の動き、または、前記第1の補正データと前記第1の原画像より時間的に後の第3の原画像に対応する第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成する動き推定ステップと、
前記第1の補正データを構成する画素のうちの1つを注目画素とし、前記第2の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素、または、前記第3の補正データにおける前記注目画素に対応する位置から前記注目画素の前記動きベクトルだけ移動させた位置の画素のうち少なくとも一方の画素、および、前記注目画素を少なくとも予測補正データとして抽出する抽出ステップと、
前記抽出ステップの処理により前記予測補正データとして抽出された画素の画素値、および、前記原画像の画素値の予測値を予測するための予測式の係数である予測係数を前記予測式に代入して、前記第1の原画像における前記注目画素を含む前記注目画素の近傍の領域の画素値の予測値を演算する演算ステップと、
前記演算ステップの処理により演算された前記予測値からなる予測画像の、前記第1の原画像に対する前記予測誤差を算出する予測誤差算出ステップと、
前記予測誤差算出ステップの処理により算出された前記予測誤差の所定の閾値との比較、または、前記補正データを生成した回数の所定の回数との比較を行うことにより、前記補正ステップの処理により生成された前記補正データが前記第1の原画像の符号化結果として適正であるか否かを判定する判定ステップと、
前記判定ステップの処理により、前記第1の補正データが前記第1の原画像の符号化結果として適正であると判定された場合、そのときの前記第1の補正データを最適な圧縮データとして出力する出力ステップと
を含み、
前記判定ステップの処理により、前記第1の補正データが前記第1の原画像の符号化結果として適正であると判定されるまで、
前記補正ステップの処理により、前記予測誤差が減少するように画素値を補正する方向および量を調整しながら前記第1の補正データを生成し、
前記動き推定ステップの処理により、前記第1の補正データと前記第2の補正データとの間の動き、または、前記第1の補正データと前記第3の補正データとの間の動きの少なくとも一方を推定し、動きベクトルを生成し、
前記抽出ステップの処理により、前記予測補正データを抽出し、
前記演算ステップの処理により、前記注目画素の近傍の領域の画素値の予測値を演算し、
前記予測誤差算出ステップの処理により、前記予測誤差を算出する
処理を繰り返す
処理をコンピュータに実行させるプログラム。A compression step of compressing the original image by reducing the number of pixels and generating reduced image data;
A correction step of correcting the pixel value of the reduced image data generated by the processing of the compression step or the pixel value of correction data obtained by correcting the pixel value of the reduced image data, and generating the correction data;
The correction data generated by the process of the correction step, the first correction data corresponding to the first original image of the original images, and the first temporally prior to the first original image. Movement between second correction data corresponding to two original images, or a third corresponding to a third original image temporally later than the first correction data and the first original image. A motion estimation step for estimating at least one of motions between the correction data and generating a motion vector;
One of the pixels constituting the first correction data is set as a target pixel, and a pixel at a position moved by the motion vector of the target pixel from a position corresponding to the target pixel in the second correction data; Alternatively, at least one of the pixels at the position moved by the motion vector of the target pixel from the position corresponding to the target pixel in the third correction data, and the target pixel are extracted as at least prediction correction data. An extraction step to
Substituting a prediction coefficient that is a coefficient of a prediction formula for predicting the pixel value of the pixel extracted as the prediction correction data by the processing of the extraction step and the prediction value of the pixel value of the original image into the prediction formula. Calculating a predicted value of a pixel value of a region in the vicinity of the target pixel including the target pixel in the first original image;
A prediction error calculating step of calculating the prediction error of the predicted image composed of the predicted values calculated by the processing of the calculating step with respect to the first original image;
Generated by the processing of the correction step by comparing the prediction error calculated by the processing of the prediction error calculation step with a predetermined threshold or by comparing the number of times of generating the correction data with a predetermined number of times. A determination step of determining whether or not the corrected data is appropriate as an encoding result of the first original image;
When it is determined by the determination step that the first correction data is appropriate as the encoding result of the first original image, the first correction data at that time is output as optimum compressed data. Including an output step and
Until it is determined by the process of the determination step that the first correction data is appropriate as the encoding result of the first original image,
The correction step generates the first correction data while adjusting the direction and amount for correcting the pixel value so that the prediction error is reduced ,
At least one of the movement between the first correction data and the second correction data or the movement between the first correction data and the third correction data by the process of the movement estimation step. , Generate a motion vector,
The prediction correction data is extracted by the processing of the extraction step,
By the processing of the calculation step, a predicted value of a pixel value in a region near the target pixel is calculated,
The prediction error is calculated by the processing of the prediction error calculation step.
A program that causes a computer to execute processing that repeats processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002007325A JP4518727B2 (en) | 2002-01-16 | 2002-01-16 | Image encoding apparatus and method, recording medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002007325A JP4518727B2 (en) | 2002-01-16 | 2002-01-16 | Image encoding apparatus and method, recording medium, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003209847A JP2003209847A (en) | 2003-07-25 |
JP4518727B2 true JP4518727B2 (en) | 2010-08-04 |
Family
ID=27645873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002007325A Expired - Fee Related JP4518727B2 (en) | 2002-01-16 | 2002-01-16 | Image encoding apparatus and method, recording medium, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4518727B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5621025B1 (en) * | 2013-09-02 | 2014-11-05 | 泰 坂野 | Image processing system, image processing method, and image processing program |
-
2002
- 2002-01-16 JP JP2002007325A patent/JP4518727B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003209847A (en) | 2003-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3748088B2 (en) | Image processing apparatus and method, and learning apparatus and method | |
JP4462823B2 (en) | Image signal processing apparatus and processing method, coefficient data generating apparatus and generating method used therefor, and program for executing each method | |
JPH11187407A (en) | Image coder, and image coding method therefor, served medium, image decoder and image decoding method therefor, and system and method of learning | |
KR100574732B1 (en) | Image coding apparatus, image coding method, image decoding method, image decoding apparatus, image data transmitting method and recording medium | |
JP4518727B2 (en) | Image encoding apparatus and method, recording medium, and program | |
JP2012104969A (en) | Motion vector generation device, motion vector generation method and computer program | |
JP3747970B2 (en) | Image encoding device, image encoding method, image decoding device, and image decoding method | |
Marvasti-Zadeh et al. | A novel boundary matching algorithm for video temporal error concealment | |
JP4554138B2 (en) | Image encoding apparatus and method, image decoding apparatus and method, image processing system, recording medium, and program | |
JP3844031B2 (en) | Image coding apparatus and image coding method, and image decoding apparatus and image decoding method | |
JP4552262B2 (en) | Noise reduction apparatus and method | |
JP4016249B2 (en) | Image encoding apparatus and encoding method, image decoding apparatus and decoding method, recording medium, program, and image processing system | |
JP4534951B2 (en) | Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium | |
JP3912558B2 (en) | Image encoding apparatus, image encoding method, and recording medium | |
JP2003299096A (en) | Information signal processing apparatus, method therefor, video signal processing apparatus and video display apparatus, apparatus and method of generating coefficient class data using the same, apparatus and method of generating coefficient class data, program for executing each method, and computer-readable medium recording this program | |
JP4140662B2 (en) | Coefficient seed data generation apparatus and coefficient data generation apparatus | |
JP4552263B2 (en) | Digital signal processing apparatus and method, and digital image signal processing apparatus and method | |
JP4552264B2 (en) | Error correction apparatus and method | |
JP3952326B2 (en) | Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium | |
JP4158474B2 (en) | Image signal processing apparatus and processing method, coefficient data generating apparatus and generating method used therefor, and program for executing each method | |
JPH1093980A (en) | Image encoder and image encoding method, image decoder and image decoding method, transmitting method and recording medium | |
JP2000312364A (en) | Image processing unit and image processing method | |
JP4566877B2 (en) | Image processing apparatus and method | |
JP4807349B2 (en) | Learning apparatus and method | |
JP3922286B2 (en) | Coefficient learning apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070622 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070821 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070918 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071113 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071204 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080307 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100518 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |