JP4200401B2 - 画像変換装置および方法、並びに記録媒体 - Google Patents
画像変換装置および方法、並びに記録媒体 Download PDFInfo
- Publication number
- JP4200401B2 JP4200401B2 JP08086799A JP8086799A JP4200401B2 JP 4200401 B2 JP4200401 B2 JP 4200401B2 JP 08086799 A JP08086799 A JP 08086799A JP 8086799 A JP8086799 A JP 8086799A JP 4200401 B2 JP4200401 B2 JP 4200401B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- layer image
- pixels
- upper layer
- class code
- 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
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【発明の属する技術分野】
本発明は、画像変換装置および方法、並びに記録媒体に関し、特に、原画像を、原画像に復元可能な画像に変換する画像変換装置および方法、並びに記録媒体に関する。
【0002】
【従来の技術】
原画像を構成する画素数よりも少ない画素数から構成される上位階層画像を生成し、この上位階層画像から、原画像とほぼ同一の下位階層画像を生成する(原画像を復元する)する技術が本出願人により提案されている。
【0003】
この提案においては、下位階層画像の画素値は、上位階層画像の着目画素を中心とする予測タップの画素値と、着目画素が分類されるクラスコードに対応する予測係数の線形1次結合を演算することにより求められる。なお、着目画素のクラスコードは、着目画素とその近傍の画素から構成されるクラスタップの画素値から決定される。
【0004】
したがって、原画像とほぼ等しい下位階層画像を生成することが可能な上位階層画像を生成するには、画素値とクラスコード(予測係数)を同時に最適化することが理想的である。
【0005】
【発明が解決しようとする課題】
しかしながら、画素値とクラスコード(予測係数)を同時に最適化するためには、上位階層画像の全ての画素の画素値を同時に変動させる必要があるが、そのようにするには演算量が膨大となることから、画素値とクラスコード(予測係数)を同時に最適化することは、実質的には不可能である課題があった。
【0006】
また、画素値および予測係数を最適化するためには、それぞれの更新を交互に複数回繰り返して実行する必要があるので、その処理にかかる時間が長くなる課題があった。
【0007】
本発明はこのような状況に鑑みてなされたものであり、前処理の直後に、クラスコード選択処理と予測係数更新処理を実行することにより、原画像を復元可能な上位階層画像を短時間で生成できるようにするものである。
【0008】
【課題を解決するための手段】
本発明の画像変換装置は、複数の画素からなる原画像を、前記原画像に復元するための、前記原画像より少ない画素からなり、各画素の所定のビット列から成る画素データの上位側ビット列が画素値を示し、前記画像データの前記上位側ビット列以外の下位側ビット列がクラスコードを示す上位階層画像に変換する画像変換装置において、前処理として、前記原画像を所定のサイズの画素ブロックに分割し、前記画素ブロック毎に画素値を平均化または画素を間引くことによって初期の上位階層画像の1画素分の画素値を決定して前記画素データの上位側ビット列とし、各画素の画素データの上位側ビット列だけが決定された前記初期の上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成るクラスタップを前記初期の上位階層画像から抽出し、前記クラスタップを構成する複数の画素の画素値を符号化することによって前記着目画素に対応するクラスコードを決定して前記着目画素の画素データの下位側ビット列とすることにより、前記初期の上位階層画像の前記着目画素の画素データを生成し、前記着目画素とその近傍の複数の画素から成る予測タップを前記初期の上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画素の画素値と、未知である予測係数とからなる正規方程式を、同一のクラスコードに分類される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を生成し、生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させるとともに、生成した前記初期の上位階層画像を上位階層画像メモリに記憶させる前処理手段と、前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記予測係数メモリに記憶されている各クラスコードにそれぞれ対応する予測係数との線形1次結合により前記下位階層画像の画素値を生成し、生成した前記下位階層画像の画素値と前記原画像の対応する画素値との比較結果に応じて、前記着目画素に対する最適なクラスコードを決定し、決定したクラスコードを用いて、前記着目画素の画素データの下位側ビット列を更新するクラスコード更新手段と、前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画素の画素値と、更新対象の予測係数とからなる正規方程式を、同一のクラスコードに分類される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を再度生成して、再度生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させる予測係数更新手段と、前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記着目画素の画素データの下位側ビット列に記録されているクラスコードに対応する予測係数との線形1次結合により、前記原画像と同じ画素数から成る下位階層画像の画素値を演算する演算手段と、前記原画像と前記下位階層画像と S/N の変化を検出する検出手段とを含み、前記予測係数更新手段は、前記前処理手段の動作後であって、前記演算手段および前記検出手段の動作の前に、動作を行い、前記 S/N の増加量が収束していない場合にも動作する。
【0009】
本発明の画像変換方法は、複数の画素からなる原画像を、前記原画像に復元するための、前記原画像より少ない画素からなり、各画素の所定のビット列から成る画素データの上位側ビット列が画素値を示し、前記画像データの前記上位側ビット列以外の下位側ビット列がクラスコードを示す上位階層画像に変換する画像変換装置の画像変換方法において、前処理として、前記原画像を所定のサイズの画素ブロックに分割し、前記画素ブロック毎に画素値を平均化または画素を間引くことによって初期の上位階層画像の1画素分の画素値を決定して前記画素データの上位側ビット列とし、各画素の画素データの上位側ビット列だけが決定された前記初期の上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成るクラスタップを前記初期の上位階層画像から抽出し、前記クラスタップを構成する複数の画素の画素値を符号化することによって前記着目画素に対応するクラスコードを決定して前記着目画素の画素データの下位側ビット列とすることにより、前記初期の上位階層画像の前記着目画素の画素データを生成し、前記着目画素とその近傍の複数の画素から成る予測タップを前記初期の上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画素の画素値と、未知である予測係数とからなる正規方程式を、同一のクラスコードに分類される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を生成し、生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させるとともに、生成した前記初期の上位階層画像を上位階層画像メモリに記憶させる前処理ステップと、前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記予測係数メモリに記憶されている各クラスコードにそれぞれ対応する予測係数との線形1次結合により前記下位階層画像の画素値を生成し、生成した前記下位階層画像の画素値と前記原画像の対応する画素値との比較結果に応じて、前記着目画素に対する最適なクラスコードを決定し、決定したクラスコードを用いて、前記着目画素の画素データの下位側ビット列を更新するクラスコード更新ステップと、前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画素の画素値と、更新対象の予測係数とからなる正規方程式を、同一のクラスコードに分類される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を再度生成して、再度生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させる予測係数更新ステップと、前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記着目画素の画素データの下位側ビット列に記録されているクラスコードに対応する予測係数との線形1次結合により、前記原画像と同じ画素数から成る下位階層画像の画素値を演算する演算ステップと、前記原画像と前記下位階層画像と S/N の変化を検出する検出ステップとを含み、前記予測係数更新ステップは、前記前処理ステップの実行後であって、前記演算ステップおよび前記検出ステップの実行の前に、実行され、前記 S/N の増加量が収束していない場合にも実行される。
【0010】
本発明の記録媒体は、複数の画素からなる原画像を、前記原画像に復元するための、前記原画像より少ない画素からなり、各画素の所定のビット列から成る画素データの上位側ビット列が画素値を示し、前記画像データの前記上位側ビット列以外の下位側ビット列がクラスコードを示す上位階層画像に変換する画像変換装置の制御用のプログラムであって、前処理として、前記原画像を所定のサイズの画素ブロックに分割し、前記画素ブロック毎に画素値を平均化または画素を間引くことによって初期の上位階層画像の1画素分の画素値を決定して前記画素データの上位側ビット列とし、各画素の画素データの上位側ビット列だけが決定された前記初期の上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成るクラスタップを前記初期の上位階層画像から抽出し、前記クラスタップを構成する複数の画素の画素値を符号化することによって前記着目画素に対応するクラスコードを決定して前記着目画素の画素データの下位側ビット列とすることにより、前記初期の上位階層画像の前記着目画素の画素データを生成し、前記着目画素とその近傍の複数の画素から成る予測タップを前記初期の上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画素の画素値と、未知である予測係数とからなる正規方程式を、同一のクラスコードに分類される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を生成し、生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させるとともに、生成した前記初期の上位階層画像を上位階層画像メモリに記憶させる前処理ステップと、前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記予測係数メモリに記憶されている各クラスコードにそれぞれ対応する予測係数との線形1次結合により前記下位階層画像の画素値を生成し、生成した前記下位階層画像の画素値と前記原画像の対応する画素値との比較結果に応じて、前記着目画素に対する最適なクラスコードを決定し、決定したクラスコードを用いて、前記着目画素の画素データの下位側ビット列を更新するクラスコード更新ステップと、前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画素の画素値と、更新対象の予測係数とからなる正規方程式を、同一のクラスコードに分類される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を再度生成して、再度生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させる予測係数更新ステップと、前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記着目画素の画素データの下位側ビット列に記録されているクラスコードに対応する予測係数との線形1次結合により、前記原画像と同じ画素数から成る下位階層画像の画素値を演算する演算ステップと、前記原画像と前記下位階層画像と S/N の変化を検出する検出ステップとを含み、前記予測係数更新ステップは、前記前処理ステップの実行後であって、前記演算ステップおよび前記検出ステップの実行の前に、実行され、前記 S/N の増加量が収束していない場合にも実行される処理を画像変換装置のコンピュータに実行させるコンピュータが読み取り可能なプログラムが記録されている。
【0011】
本発明においては、前処理として、各画素の画素データの上位側ビット列が画素値、下位側ビット列がクラスコードをされた初期の上位階層画像が生成されて上位階層画像メモリに記憶されるとともに、予測係数が生成されてクラスコードに対応付けて予測係数メモリに記憶される。この前処理の後、上位階層画像の画素の画素データの下位側ビット列のクラスコートが更新され、さらに、予測係数メモリの予測係数が更新される。さらに、上位階層画像メモリに記憶されている上位階層画像に基づいて原画像と同じ画素数から成る下位階層画像の画素値が演算され、原画像と下位階層画像と S/N の変化が検出される。そして、 S/N の増加量が収束していない場合、再び予測係数が更新される。
【0012】
【発明の実施の形態】
本発明を適用したエンコーダの構成例について、図1を参照して説明する。なお、このエンコーダ1に入力される原画像は、1画素当たり8ビットの画素値を有し、エンコーダ1によって生成される上位階層画像も1画素当たり8ビットの情報量(画素データ)を有するものとする。
【0013】
また、以下において、着目画素は、画素値の更新が行われずに位置を特定するために指定される画素とし、注目画素は、位置を特定するために指定され、かつ、画素値が更新される画素とする。
【0014】
このエンコーダ1において、原画像は、前処理回路2、画素値更新回路6、予測係数更新回路7、クラスコード選択回路8、および収束判定回路10に供給される。前処理回路2は、供給された原画像を用い、初期上位階層画像を生成して上位階層画像メモリ3に記憶させ、初期予測係数テーブルを生成して予測係数メモリ4に記憶させる。
【0015】
上位階層画像メモリ3は、記憶している上位階層画像をセレクタ5に出力する。また、上位階層画像メモリ3は、画素値更新回路6から入力される画素値(4ビット)を用いて、それまで記憶していた上位階層画像のMSB(Most Significant Bit)側の4ビットを更新し、クラスコード選択回路8から入力されるクラスコード(4ビット)を用いて、それまで記憶していた上位階層画像のLSB(Least Significant Bit)側の4ビットを更新する。
【0016】
予測係数メモリ4は、記憶している予測係数テーブルを画素値更新回路6、クラスコード選択回路8、デコード回路9、および収束判定回路10に供給する。また、予測係数メモリ4は、予測係数更新回路7から入力される予測係数を用いて、それまで記憶していた予測係数テーブルを更新する。
【0017】
セレクタ5は、更新回数カウンタ11から入力される制御信号に対応して、上位階層画像メモリ3から入力された上位階層画像を、デコード回路9および収束判定回路10の他、画素値更新回路6、予測係数更新回路7、クラスコード選択回路8に順次出力する。
【0018】
画素値更新回路6は、原画像および予測係数を用いて、セレクタ5から入力された上位階層画像の画素値(画素データのMSB側の4ビット)を更新し、上位階層画像メモリ3に出力する。予測係数更新回路7は、セレクタ5から入力された上位階層画像、および原画像を用いて予測係数を生成し、予測係数メモリ4に出力する。
【0019】
クラスコード選択回路8は、セレクタ5から入力された上位階層画像の各画素毎に、予測係数メモリ4に記憶されている予測係数テーブル内の最適な予測係数を選択し、その予測係数に対応するクラスコード(4ビット)を上位階層画像メモリ3に出力する。
【0020】
デコード回路9は、セレクタ5から入力された上位階層画像と予測係数メモリ4に記憶されている予測係数を用いて下位階層画像を生成し、収束判定回路10に出力する。
【0021】
収束判定回路10は、デコード回路9から入力された下位階層画像と原画像のS/Nを演算し、さらにその増加量を求めて、S/Nの増加が収束していると判定した場合、セレクタ5から入力された上位階層画像および予測係数メモリ4から入力された予測係数テーブルを後段に出力する。また、収束判定回路10は、更新カウンタ11から制御信号が入力された場合も、セレクタ5から入力された上位階層画像および予測係数メモリ4から入力された予測係数テーブルを後段に出力する。
【0022】
更新回数カウンタ11は、収束判定回路10、画素値更新回路6、予測係数更新回路7、またはクラスコード選択回路8が自己の処理を終了したことに対応して、セレクタ5に制御信号を出力するとともに、制御信号を出力した回数をカウントし、カウントした値が所定の数に達したとき、収束判定回路10に制御信号を出力する。
【0023】
次に、エンコーダ1の動作について、図2のフローチャートを参照して説明する。このエンコード処理は、原画像がエンコーダ1に入力されたときに開始される。ステップS1において、前処理回路2は、入力された原画像を用いて前処理を実行する。
【0024】
この前処理は、図3に示すように、ステップS11,S12から成る。ステップS11の初期上位階層画像生成処理について、図4のフローチャートを参照して説明する。ステップS21において、前処理回路2は、入力された原画像を所定のサイズ(例えば、図5に示すように3×3画素)のブロックに分割する。
【0025】
ステップS22において、前処理回路2は、ステップS21で分割したブロックに含まれる複数(いまの場合、9個)の画素の画素値を平均し、その平均値(8ビット)のMSB側の4ビットを初期上位階層画像の1個の画素の画素値として、図6に示すように、上位階層画像データ(8ビット)のMSB側の4ビットに記録する。
【0026】
ただし、上位階層画像データのMSB側に記録された4ビットを画素値として用いる全ての回路においては、その4ビットの値を8ビット化して用いるが、MSB側の4ビットの値を単に16倍しただけの値を用いると画像全体の輝度値が低下するので、これを抑止するために、16倍した値に所定のオフセット値(例えば、7または8)を加算した値を画素値として用いる。
【0027】
なお、初期上位階層画像の画素値を決定する方法は、上述したような平均化による方法ではなく、原画像を直接、間引く方法やローパスフィルタ(ガウシアンフィルタ等)を用いてから間引く方法でもかまわない。
【0028】
図3に戻る。このようなステップS11の処理の後、ステップS12で初期予測係数生成処理が実行される。この処理について、図7のフローチャートを参照して説明する。ステップS31において、前処理回路2は、図3のステップS11で画素値(画素データ(8ビット)のうちのMSB側の4ビット)だけが決定された初期上位階層画像の画素を着目画素に決定する。
【0029】
ステップS32において、前処理回路2は、着目画素に対応するクラスタップ(例えば、着目画素とその上下左右に位置する合計5個の画素)の画素値(各4ビット)を抽出する。
【0030】
ステップS33において、前処理回路2は、ステップS32で抽出した5個の画素値(MSB側の4ビット)に1ビットADRC(Adaptive Dynamic Range Coding)処理を施して、それぞれを1ビットに変換し、それらを、例えば、画素の位置に対応する所定の順序で並べることにより、5ビットのクラスコードを取得する。さらに、前処理回路2は、着目画素の画素データ(8ビット)のLSB側の4ビットに任意の値(例えば、5ビットのクラスコードのMSB側の4ビット)を、図6に示すように記録する。
【0031】
ステップS34において、前処理回路2は、着目画素を中心とする所定のサイズ(例えば、5×5画素)の予測タップの画素値を抽出する。ステップS35において、前処理回路2は、既知である原画像および予測タップの画素値、並びに未知である予測係数から成る正規方程式を生成する。
【0032】
ステップS36において、前処理回路2は、初期上位階層画像の全ての画素を着目画素としたか否かを判定し、全ての画素を着目画素としたと判定するまで、ステップS31乃至S36の処理を繰り返す。ステップS36において、全ての画素を着目画素としたと判定された場合、ステップS37に進む。
【0033】
ステップS37において、前処理回路2は、ステップS35で生成された正規方程式を、5ビット(32種類)のクラス毎に生成し、その方程式に最小自乗法を適用して32種類のクラスコードに対応する予測係数を取得する。ステップS38において、前処理回路2は、ステップS33で各クラスコードに分類された着目画素の数を示すヒストグラムを生成する。
【0034】
ステップS39において、前処理回路2は、ステップS38で生成したヒストグラムを参照し、その上位側の16個の予測係数(数の多い16個のクラスコードの予測係数)と、4ビットで表されるクラスコード(0000乃至1111)を任意に対応付ける。
【0035】
ステップS40において、前処理回路2は、4ビット(16種類)のクラスコードに対応付けられた予測係数を予測係数メモリ4に出力する。また、前処理回路2は、MSB側の4ビットが画素値であり、LSB側の4ビットがクラスコードである画素データから成る初期上位階層画像を上位階層画像メモリ3に出力する。
【0036】
なお、上述した処理以外に初期予測係数を生成する方法として、4ビットで表されるクラスコード(0000乃至1111)に乱数を対応付けてもかまわない。また、クラスコードが乱数であってもよいし、予測係数が乱数であってもよいし、あるいは、クラスコードと予測係数の両方が乱数であってもよい。
【0037】
図2に戻る。以上のようにして、ステップS1の前処理が行われた後、ステップS2において、クラスコード選択回路8は、入力された上位階層画像の各画素に対して、予測係数メモリ4に記憶されている16種類の予測係数のうちの最適なものを選択する。なお、クラスコード選択回路8の構成例と動作については、図14および図15を参照して後述する。
【0038】
ステップS3において、デコード処理が行われる。すなわち、上位階層画像メモリ3からセレクタ5に入力された上位階層画像は、更新回数カウンタ11からの制御信号に対応して、デコード回路9に供給される。デコード回路9は、セレクタ5から入力された上位階層画像(いまの場合、初期上位階層画像)と、予測係数メモリ4から供給される予測係数テーブル(いまの場合、初期予測係数テーブル)を用いて下位階層画像を生成し、収束判定回路10に出力する。なお、下位階層画像の画素としては、図5に示すように、上位階層画像の1個の着目画素に対して、対応する位置の下位階層画像の画素iを中心とする3×3画素(画素a乃至i)が生成される。デコード回路9の構成と動作については、図16および図17を参照して後述する。
【0039】
ステップS4において、収束判定回路10は、デコード回路9から入力された下位階層画像と原画像のS/Nを演算し、さらに、その増加量を求めて、S/Nの増加量が収束しているか否かを判定する。S/Nの増加量が収束していると判定された場合、または、更新回数カウンタ11からの制御信号が受信された場合、ステップS7に進む。また、S/Nの増加量が収束していないと判定され、かつ、更新回数カウンタ11からの制御信号が受信されていない場合、ステップS5に進む。
【0040】
いまの場合、1回目にデコードされた下位階層画像に対する収束判定処理であるので、S/Nの増加量は演算されず、更新回数カウンタ11からの制御信号も受信されていないので、ステップS5に進む。
【0041】
収束判定回路10の判定処理が終了したことに対応して、更新回数カウンタ11は、セレクタ5に制御信号を出力する。
【0042】
ステップS5において、上位階層画像メモリ3からセレクタ5に入力された上位階層画像は、更新回数カウンタ11からの制御信号に対応して、画素値更新回路6に供給される。画素値更新回路6は、入力された上位階層画像の画素値(画素データのMSB側の4ビット)を更新する。
【0043】
この画素値更新処理について説明する前に、画素値更新回路6の第1の構成例について、図8および図9を参照して説明する。セレクタ5から入力された上位階層画像は、画素値更新回路6において、上位階層画像メモリ21に記憶される。上位階層画像メモリ21は、記憶している上位階層画像を最適画素値決定回路22に供給する。また、上位階層画像メモリ21は、最適画素値決定回路22からの最適化された画素値(4ビット)を用いて、それまで記憶していた上位階層画像の画素値(画素データのMBS側の4ビット)を更新する。全ての画素の画素値が最適化された上位階層画像は、スイッチ24を介して上位階層画像メモリ3に出力される。
【0044】
最適画素値決定回路22には、原画像、および予測係数メモリ4から予測係数テーブルも供給される。最適画素値決定回路22は、注目画素決定回路23から指定された注目画素の画素値を最適化して上位階層画像メモリ21に出力する。注目画素決定回路23は、上位階層画像の画素を順次注目画素に決定し、その情報を最適画素値決定回路22に出力する。また、注目画素決定回路23は、上位階層画像の全ての画素を注目画素に決定した後、スイッチ24をオンとする制御信号を出力する。
【0045】
図9は、最適画素値決定回路22の詳細な構成例を示している。最適画素値決定回路22においては、注目画素以外の画素の画素値が固定された状態で、注目画素の画素値が最適化される。
【0046】
着目画素決定回路31は、注目画素決定回路23で決定された注目画素の画素値が変化されたことにより、デコードの際に影響を受ける範囲(注目画素を含む予測タップの中心の画素の集合、以下、影響範囲と記述する)を設定し、その影響範囲内に存在する上位階層画像の画素を順次、着目画素に決定して、その位置情報をクラスコード読取回路32、および予測タップ抽出回路33に出力する。また、着目画素決定回路31は、影響範囲内の全ての画素を着目画素に決定した後、スイッチ36をオンとする制御信号を出力する。
【0047】
クラスコード読取回路32は、着目画素のクラスコード(画素データのLSB側の4ビット)を読み出して誤差関数生成回路34に出力する。予測タップ抽出回路33は、着目画素を中心とする5×5画素の予測タップの画素値(画素データのMSB側の4ビット)を抽出して誤差関数生成回路34に出力する。
【0048】
誤差関数生成回路34は、着目画素に対応する誤差関数(その詳細は後述する)を生成して影響誤差関数レジスタ35に出力する。影響誤差関数レジスタ35は、全ての着目画素に対応する誤差関数を足し合わせて影響誤差関数を生成し、スイッチ36を介して注目画素値演算回路37に出力する。
【0049】
注目画素値演算回路37は、スイッチ36を介して入力された影響誤差関数を解くことにより、注目画素の画素値を演算する(その詳細については後述する)。
【0050】
次に、画素値更新回路6の第1の構成例の動作について、図10のフローチャートを参照して説明する。この画素値更新処理は、セレクタ5から入力された上位階層画像が、画素値更新回路6の上位階層画像メモリ21に記憶されたときに開始される。
【0051】
ステップS51において、注目画素決定回路23は、図11(A)に示すように、上位階層画像の注目画素を決定し、その位置情報を最適画素値決定回路22に出力する。最適画素値決定回路22の着目画素決定回路31は、ステップS52において、注目画素の画素値が変化された際に影響を受ける範囲(影響範囲)を決定する。例えば、予測タップのサイズが5×5画素である場合、図11(B)に示したような注目画素を中心とする5×5画素を含む範囲(この上位階層画像から生成される下位階層画像においては、図11(C)に示すように15×15画素)が影響範囲とされる。
【0052】
ステップS53において、着目画素決定回路31は、影響範囲内の1個の画素を着目画素に決定し、その位置情報をクラスコード読取回路32、および予測タップ抽出回路33に出力する。
【0053】
ステップS54において、クラスコード読取回路32は、着目画素のクラスコード(画素データのLSB側の4ビット)を読み出し、誤差関数生成回路34に出力する。予測タップ抽出回路33は、着目画素を中心とする5×5画素の予測タップを抽出して誤差関数生成回路34に出力する。この予測タップには、注目画素が含まれている。
【0054】
ステップS55において、誤差関数生成回路34は、着目画素に対応する誤差関数を生成して影響誤差関数レジスタ35に出力する。
【0055】
ここで、誤差関数について説明する。上位階層画像の1個の着目画素(例えば、図5の上位階層画像の注目画素)に対応する、下位階層画像の3×3画素の9個の画素(例えば、図5の下位階層画像の画素a乃至i)の画素値(予測値)yi’(i=1,2,・・・,9、ただし、図5の画素iのiとは異なる)は、次式(1)に示すように、上位階層画像の画素値xと予測係数wの線形1次結合で表すことができる。
【0056】
【数1】
【0057】
ただし、wi1乃至wi25は、着目画素のクラスコードに対応する予測係数であり、x1乃至x25は、着目画素を中心とする予測タップに含まれる画素の画素値である。特に、画素値数xk、および予測係数wikは、注目画素の画素値と、それに対応する予測係数である。
【0058】
下位階層画像の画素値(予測値)yi’に対応する原画像の画素値(真値)をyiとすれば、着目画素に対応する下位階層画像の9画素分の自乗誤差の和Ekは、次式(2)のように表すことができる。
【0059】
【数2】
【0060】
ところで、式(2)において、注目画素の画素値xkは最適化される値、すなわち変数である。また、真値yi、予測係数wij,wik、および画素値xjは定数としておく。したがって、式(2)は、次式(3)に示すように、注目画素値xkの2次式として表すことが可能となる。
【0061】
Ek=ak・xk2+bk・xk+ck ・・・(3)
ただし、
【0062】
【数3】
【0063】
である。ここで、Ekを誤差関数と呼ぶことにする。
【0064】
図10に戻る。ステップS56において、着目画素決定回路31は、影響範囲内の全ての画素を着目画素に決定したか否かを判定し、影響範囲内の全ての画素を着目画素に決定していないと判定した場合、ステップS53に戻り、それ以降の処理が繰り返される。
【0065】
その後、ステップS56において、影響範囲内の全ての画素を着目画素に決定したと判定された場合、ステップS57に進む。ステップS57において、着目画素決定回路31は、スイッチ36をオンとする制御信号を出力する。影響誤差関数レジスタ35は、影響範囲内の全ての画素を、順次、着目画素としたときの誤差関数Ek(式(3))を足し合わせて、影響誤差関数Echeck
【0066】
【数4】
【0067】
を生成し、スイッチ36を介して注目画素値演算回路37に出力する。
【0068】
なお、影響誤差関数Echeckは、注目画素のの画素値xkの2次式である誤差関数Ekの和であるので、次式(4)に示すように、注目画素の画素値xkの2次関数となる。
【0069】
影響誤差関数Echeck=a’・xk2+b’・xk+c’ ・・・(4)
ただし、
【0070】
【数5】
【0071】
である。
【0072】
ステップS58において、注目画素値演算回路37は、2次式である影響誤差関数Echeckを最小とする画素値xk=−b’/2a’を、注目画素の最適画素値として演算し、上位階層画像メモリ21に出力する。上位階層画像メモリ21は、入力された最適画素値を用い、それまで記憶していた注目画素の画素値を更新する。
【0073】
ステップS59において、注目画素決定回路23は、上位階層画像の全ての画素を注目画素に決定したか否かを判定し、全ての画素を注目画素に決定していないと判定した場合、ステップS51に戻り、それ以降の処理が繰り返される。
【0074】
その後、ステップS59において、上位階層画像の全ての画素を注目画素に決定したと判定した場合、注目画素決定回路23は、スイッチ24をオンとする制御信号を出力する。スイッチ24がオンとされることにより、上位階層画像メモリ21に記憶されている、画素値が最適化された上位階層画像が後段の上位階層画像メモリ3に出力される。画素値更新回路6の処理が終了したことに対応して、更新回数カウンタ11はセレクタ5に制御信号を出力する。
【0075】
図2に戻る。以上のようにして、ステップS5で画素値更新処理が行われた後、ステップS6において、上位階層画像メモリ3からセレクタ5に入力された上位階層画像は、更新回数カウンタ11からの制御信号に対応して、予測係数更新回路7に供給される。予測係数更新回路7は、入力された上位階層画像および原画像を用い、予測係数メモリ4に記憶させる予測係数テーブルを更新する。
【0076】
この予測係数更新処理について説明する前に、予測係数更新回路7の詳細な構成例について、図12を参照して説明する。セレクタ5から入力された上位階層画像は、予測係数更新回路7において、予測タップ抽出回路42およびクラスコード読取回路43に供給される。着目画素決定回路41は、上位階層画像の画素を順次、着目画素に決定し、その位置情報を予測タップ抽出回路42、およびクラスコード読取回路43に出力する。
【0077】
予測タップ抽出回路42は、着目画素を中心とする5×5画素の予測タップの画素値(画素データのMSB側の4ビット)を抽出して正規方程式生成回路45に出力する。クラスコード読取回路43は、着目画素のクラスコード(画素データのLSB側の4ビット)を読み出して正規方程式生成回路45に出力する。
【0078】
教師データ抽出回路44は、原画像から教師データ(生成される下位階層画像の画素値に対応する真値)を抽出して正規方程式生成回路45に出力する。正規方程式生成回路45は、着目画素のクラスコード毎に、既知である教師データおよび予測タップの画素値、並びに、変数としての予測係数から成る正規方程式を生成して、予測係数演算回路46に出力する。
【0079】
予測係数演算回路46は、入力された正規方程式に最小自乗法を適用して16種類のクラスコードに対応する予測係数(予測係数テーブル)を演算し、予測係数メモリ4に出力する。
【0080】
次に、予測係数更新回路7の動作について、図13のフローチャートを参照して説明する。この予測係数更新処理は、セレクタ5から予測係数更新回路7に、上位階層画像が入力されたときに開始される。
【0081】
ステップS61において、着目画素決定回路41は、上位階層画像の1個の画素を着目画素に決定し、その位置情報を予測タップ抽出回路42とクラスコード読取回路43に出力する。
【0082】
ステップS62において、クラスコード読取回路43は、着目画素のクラスコード(画素データのLSB側の4ビット)を読み出して正規方程式生成回路45に出力する。ステップS63において、予測タップ抽出回路42は、着目画素を中心とする5×5画素の予測タップの画素値(画素データのMSB側の4ビット)を抽出して正規方程式生成回路45に出力する。
【0083】
ステップS64において、正規方程式生成回路45は、着目画素のクラスコード毎に、既知である教師データおよび予測タップの画素値、並びに更新する予測係数を用いて正規方程式を生成して、予測係数演算回路46に出力する。
【0084】
ステップS65において、着目画素決定回路41は、上位階層画像の全ての画素を着目画素としたか否かを判定し、全ての画素を着目画素としていないと判定した場合、ステップS61に戻り、それ以降の処理が繰り返される。ステップS65において、全ての画素を着目画素としたと判定された場合、ステップS66に進む。
【0085】
ステップS66において、予測係数演算回路46は、ステップS64で正規方程式生成回路45が生成した正規方程式に最小自乗法を適用して16種類のクラスコードに対応する予測係数を演算する。ステップS67において、予測係数演算回路46は、得られた予測係数(予測係数テーブル)を予測係数メモリ4に出力する。予測係数メモリ4は、入力された予測係数テーブルを用いて、それまで記憶していた予測係数テーブルを更新する。予測係数更新回路6の処理が終了したことに対応して、更新回数カウンタ11はセレクタ5に制御信号を出力する。
【0086】
図2に戻る。以上のようにして、ステップS6で予測係数更新処理が実行された後、ステップS2に戻る。ステップS2において、上位階層画像メモリ3からセレクタ5に入力された上位階層画像は、更新回数カウンタ11からの制御信号に対応して、クラスコード選択回路8に供給される。クラスコード選択回路8は、入力された上位階層画像の各画素に対して、予測係数メモリ4に記憶されている16種類の予測係数のうちの最適なものを選択する。
【0087】
このクラスコード選択処理について説明する前に、クラスコード選択回路8の詳細な構成例について、図14を参照して説明する。着目画素決定回路51は、上位階層画像の画素を順次、着目画素に決定し、その情報を予測タップ抽出回路52に出力する。予測タップ抽出回路52は、セレクタ5より入力された上位階層画像から、着目画素を中心とする5×5画素の予測タップに含まれる画素の画素値(画素データのMSB側の4ビット)を抽出してマッピング回路53に出力する。
【0088】
マッピング回路53は、クラスコードカウンタ58より入力されるクラスコードに対応する予測係数を予測係数メモリ4から読み出して、読み出した予測係数と予測タップの各画素の画素値との線形1次結合を演算し、演算結果を下位階層画像の画素値(予測値)として誤差演算回路54に出力する。
【0089】
誤差演算回路54は、マッピング回路53から入力された予測値と、それに対応する原画像の画素値(真値)の誤差(S/N)を演算し、比較器55、およびスイッチ57に出力する。比較器55は、誤差演算回路54から入力された誤差と最小誤差レジスタ56から入力される誤差を比較して、誤差演算回路54から入力された誤差の方が小さい(S/Nが大きい)場合、スイッチ57,59をオンとする制御信号を出力する。また、比較器55は、比較の結果に拘わらず、誤差を比較した後、クラスコードカウンタ58のカウント値をインクリメントさせる制御信号を出力する。
【0090】
最小誤差レジスタ56は、記憶している誤差の値を比較器55に供給する。また、最小誤差レジスタ56は、スイッチ57を介して入力される値を用いて、それまで記憶していた値を更新する。
【0091】
クラスコードカウンタ58は、4ビットのカウンタを有し、その値をクラスコード(0000乃至1111)としてマッピング回路およびスイッチ59に出力する。なお、カウンタの値(クラスコード)は、比較器55から入力される制御信号に対応して1ずつインクリメントされる。また、クラスコードカウンタ58は、カウンタの値が1111になったとき、スイッチ61をオンとする制御信号を出力するとともに、自己のカウンタを0000にリセットする。
【0092】
最適クラスコードレジスタ60は、スイッチ59を介して入力されるクラスコードを用いて、それまで記憶していたクラスコードを更新する。したがって、最適クラスコードレジスタ60には、誤差を最小とする予測係数に対応した、最適なクラスコードが保持される。また、最適クラスコードレジスタ60は、着目画素の最適なクラスコードをスイッチ61を介して、後段の上位階層画像メモリ3に出力する。
【0093】
次に、クラスコード選択回路8に動作について、図15のフローチャートを参照して説明する。このクラスコード選択処理は、セレクタ5からクラスコード選択回路8に上位階層画像が入力されたときに開始される。
【0094】
ステップS71において、着目画素決定回路51は、上位階層画像の1個の画素を着目画素に決定し、その情報を予測タップ抽出回路52に出力する。ステップS72において、予測タップ抽出回路52は、セレクタ5より入力された上位階層画像から、着目画素を中心とする5×5画素の予測タップに含まれる画素の画素値を抽出してマッピング回路53に出力する。
【0095】
ステップS73において、クラスコードカウンタ58は、カウンタの値0000をクラスコードとして、マッピング回路53に出力する。ステップS74において、マッピング回路53は、クラスコードカウンタ58より入力されたクラスコードに対応する予測係数を予測係数メモリ4から読み出して、読み出した予測係数と予測タップの各画素の画素値との線形1次結合を演算し、演算結果を下位階層画像の画素値(予測値)として誤差演算回路54に出力する。
【0096】
ステップS75において、誤差演算回路54は、マッピング回路53から入力された予測値と、それに対応する原画像の画素値(真値)との誤差(S/N)を演算し、比較器55、およびスイッチ57に出力する。比較器55は、誤差演算回路54から入力された誤差と最小誤差レジスタ56から入力される誤差を比較して、誤差演算回路54から入力された誤差の方が小さい(S/Nが大きい)場合、スイッチ57,59をオンとする制御信号を出力する。これにより、クラスカウンタ58のそのときのカウント値がスイッチ59を介して最適クラスコードレジスタ60に転送されて記憶される。また、誤差演算回路54のそのときの出力が最小誤差レジスタ56に転送されて記憶される。比較器55はまた、クラスコードカウンタ58に制御信号を出力する。
【0097】
ステップS76において、クラスコードカウンタ58は、カウンタ(クラスコード)の値が1111よりも小さいか否かを判定し、カウンタの値が1111よりも小さいと判定した場合、ステップS77において、カウンタの値を1だけインクリメントして、その値をクラスコードとしてマッピング回路およびスイッチ59に出力する。
【0098】
その後、ステップS76において、カウンタの値が1111よりも小さくないと判定されるまで、ステップS74乃至S77の処理が繰り返される。ステップS76において、カウンタの値が1111よりも小さくない(カウンタの値が1111である)と判定された場合、ステップS78に進む。
【0099】
ステップS78において、クラスコードカウンタ58は、スイッチ61をオンとする制御信号を出力するとともに、自己のカウンタを0000にリセットする。この制御信号に対応してスイッチ61はオンとされ、最適クラスコードレジスタ60に保持されている着目画素の最適なクラスコードが、後段の上位階層画像メモリ3に出力される。上位階層画像メモリ3は、入力された最適なクラスコードを用いて、対応する画素の画素データのLSB側の4ビットを書き換える。
【0100】
ステップS79において、着目画素決定回路51は、上位階層画像の全ての画素を着目画素としたか否かを判定し、全ての画素を着目画素としたと判定するまで、ステップS71乃至S79の処理が繰り返される。ステップS79において、全ての画素を着目画素としたと判定された場合、図2のステップS3に戻る。
【0101】
ステップS3のデコード処理について説明する前に、デコード回路9の詳細な構成例について、図16を参照して説明する。着目画素決定回路71は、上位階層画像の画素を順次、着目画素に決定し、その情報をクラスコード読取回路72および予測タップ抽出回路73に出力する。クラスコード読取回路72は、セレクタ5より入力された上位階層画像から、着目画素のクラスコード(画素データのLSB側の4ビット)を読み取って、マッピング回路74に出力する。予測タップ抽出回路73は、セレクタ5より入力された上位階層画像から、着目画素を中心とする5×5画素の予測タップに含まれる画素の画素値(画素データのMSB側の4ビット)を抽出してマッピング回路74に出力する。
【0102】
マッピング回路74は、クラスコード読取回路72より入力されるクラスコードに対応する予測係数を予測係数メモリ4から読み出して、読み出した予測係数と、予測タップ抽出回路73から供給される予測タップの各画素の画素値との線形1次結合を演算し、演算結果を下位階層画像の画素値として下位階層画像メモリ75に出力する。
【0103】
下位階層画像メモリ75は、マッピング回路74から入力される下位階層画像の画素値を記憶し、記憶した画素値をフレーム単位で後段の収束判定回路10に出力する。
【0104】
次に、デコード回路9のデコード処理について、図17のフローチャートを参照して説明する。このデコード処理は、セレクタ5からデコード回路9に上位階層画像が入力されたときに開始される。
【0105】
ステップS81において、着目画素決定回路71は、上位階層画像の1個の画素を、着目画素に決定し、その情報をクラスコード読取回路72および予測タップ抽出回路73に出力する。ステップS82において、クラスコード読取回路72は、セレクタ5より入力された上位階層画像から、着目画素のクラスコード(画素データのLSB側の4ビット)を読み取って、マッピング回路74に出力する。ステップS83において、予測タップ抽出回路73は、セレクタ5より入力された上位階層画像から、着目画素を中心とする5×5画素の予測タップに含まれる画素の画素値(画素データのMSB側の4ビット)を抽出してマッピング回路74に出力する。
【0106】
ステップS84において、マッピング回路74は、クラスコード読取回路72より入力されるクラスコードに対応する予測係数を予測係数メモリ4から読み出して、読み出した予測係数と、予測タップ抽出回路73から供給された予測タップの各画素の画素値との線形1次結合を演算し、演算結果を下位階層画像の画素値として下位階層画像メモリ75に出力する。
【0107】
ステップS85において、着目画素決定回路71は、上位階層画像の全ての画素を着目画素としたか否かを判定し、全ての画素を着目画素としていないと判定した場合、ステップS81に戻り、それ以降の処理が繰り返される。ステップS85において、全ての画素を着目画素としたと判定された場合、ステップS86において、下位階層画像メモリ75から下位階層画像の画素値がフレーム単位で後段の収束判定回路10に出力される。
【0108】
図2に戻る。再び、ステップS4において、収束判定回路10で、デコード回路9から入力された下位階層画像と原画像のS/Nとその増加量が演算されて、S/Nの増加量が収束しているか否かが判定され、S/Nの増加量が収束していると判定されるか、または、更新回数カウンタ11からの制御信号が受信されるまで、ステップS2乃至S6の処理が繰り返される。
【0109】
その後、ステップS4において、S/Nの増加量が収束していると判定された場合、または、更新回数カウンタ11からの制御信号が受信された場合、ステップS7に進む。ステップS7において、収束判定回路10は、上位階層画像および予測係数テーブルを、図示せぬ媒体を介してデコーダ81(図18)に出力する。
【0110】
以上のように、エンコーダ1は、生成する上位階層画像の画素データ(8ビット)のMSB側の4ビットを画素値とし、LSB側の4ビットをクラスコードとしているので、一方の値を最適化するときに他方の値が変化されることがなく、それぞれを独立して最適化することが可能である。
【0111】
また、図2に示したエンコード処理において、第1回目のステップS2、すなわち、ステップS1の前処理の直後のクラスコード選択処理を省略してもかまわない。この場合、第1回目のステップS4における収束判定結果、すなわち、ステップS1の前処理だけを実行した上位階層画像の原画像に対するS/Nは、従来のエンコーダによる初期上位階層画像の原画像に対するS/Nよりも良好なものとなる。
【0112】
また、図1に示したエンコーダ1から画素値更新回路6を削除し、図2のステップS5の画素値更新処理を省略してもよい。すなわち、上位階層画像の画素値(画像データのMSB側の4ビット)は更新させず、予測係数更新処理とクラスコード選択処理だけを実行するようにしても、従来のエンコーダよりは良好な上位階層画像を生成することが可能である。
【0113】
図18は、エンコーダ1で生成された上位階層画像から原画像を復元する(下位階層画像を生成する)デコーダの構成例を示している。このデコーダ81において、エンコーダ1からの上位階層画像は、クラスコード読取回路83および予測タップ抽出回路84に供給され、予測係数テーブルは、マッピング回路85に供給される。
【0114】
着目画素決定回路82は、上位階層画像の画素を順次、着目画素に決定し、その位置情報をクラスコード読取回路83および予測タップ抽出回路84に出力する。クラスコード読取回路83は、上位階層画像から着目画素のクラスコード(画素データのLSB側の4ビット)を読み取って、マッピング回路85に出力する。予測タップ抽出回路84は、上位階層画像から、着目画素を中心とする5×5画素の予測タップに含まれる画素の画素値(画素データのMSB側の4ビット)を抽出してマッピング回路85に出力する。
【0115】
マッピング回路85は、クラスコード読取回路83より入力されるクラスコードに対応する予測係数を予測係数テーブルから読み出して、読み出した予測係数と、予測タップ抽出回路84から供給される予測タップの各画素の画素値との線形1次結合を演算し、演算結果を下位階層画像の画素値として下位階層画像メモリ86に出力する。
【0116】
下位階層画像メモリ86は、マッピング回路85から入力される下位階層画像の画素値を記憶し、記憶した画素値を、例えば図示せぬモニタに出力する。
【0117】
次に、デコーダ81の動作について、図19のフローチャートを参照して説明する。このデコード処理は、エンコーダ1からの予測係数テーブルがマッピング回路85に供給された後、順次入力される上位階層画像に対して実行される。
【0118】
ステップS91において、着目画素決定回路82は、上位階層画像の1個の画素を、着目画素に決定し、その位置情報をクラスコード読取回路83および予測タップ抽出回路84に出力する。ステップS92において、クラスコード読取回路83は、上位階層画像から着目画素のクラスコード(画素データのLSB側の4ビット)を読み取って、マッピング回路85に出力する。ステップS93において、予測タップ抽出回路84は、入力された上位階層画像から着目画素を中心とする5×5画素の予測タップに含まれる画素の画素値(画素データのMSB側の4ビット)を抽出してマッピング回路85に出力する。
【0119】
ステップS94において、マッピング回路85は、クラスコード読取回路83より入力されるクラスコードに対応する予測係数を予測係数テーブルから読み出して、読み出した予測係数と、予測タップ抽出回路84から供給された予測タップの各画素の画素値との線形1次結合を演算し、演算結果を下位階層画像の画素値として下位階層画像メモリ86に出力する。
【0120】
ステップS95において、着目画素決定回路82は、上位階層画像の全ての画素を着目画素としたか否かを判定し、全ての画素を着目画素としていないと判定した場合、ステップS91に戻り、それ以降の処理が繰り返される。ステップS95において、全ての画素を着目画素としたと判定された場合、ステップS96で、下位階層画像メモリ86から下位階層画像の画素値が、図示せぬモニタに出力される。
【0121】
図20は、上述したエンコード処理(図2)とは異なる順序で実行される、エンコーダ1の動作を説明するフローチャートである。このエンコード処理は、図2に示したエンコード処理のステップS6として実行されていたクラスコード選択処理、および、ステップS5として実行されていた予測係数更新処理を、図2のステップS1の前処理の直後に実行するようにしたものである。すなわち、前処理が実行された後、クラスコード選択処理が実行され、その後、予測係数更新処理が実行される。
【0122】
なお、図20のステップS101乃至S107における各処理は、図2のステップS1,S6,S5,S2,S3,S4,S7における各処理と同様であるので、その説明は省略する。
【0123】
図20のフローチャートに示した順序で各処理を実行させるためには、セレクタ5(図1)が、更新回数カウンタ11から入力される制御信号に対応して、上位階層画像メモリ3から入力された上位階層画像を、クラスコード選択回路8、予測係数更新回路7、デコード回路9および収束判定回路10、画素値更新回路6、に順次出力するようにすればよい。
【0124】
図21は、同一の原画像を用いて生成された複数の上位階層画像から復元された下位階層画像の原画像に対するS/Nを演算したシミュレーションの結果を表している。なお、縦軸はS/Nを表し、横軸は、一連のエンコード処理を実行した回数(更新回数)を表している。
【0125】
図21の曲線Aは、図20に示したフローチャートに従って生成された上位階層画像から復元された下位階層画像のS/Nを示し、曲線Bは、図2に示したフローチャートに従って生成された上位階層画像から復元された下位階層画像のS/Nを示し、曲線Cは、図2に示したフローチャートから、ステップS4の画素値更新処理を省略して生成された上位階層画像から復元された下位階層画像のS/Nを示し、曲線Dは、従来の方法に従って生成された上位階層画像から復元された下位階層画像のS/Nを示している。
【0126】
同図の曲線Aから明らかなように、図20に示したフローチャートに従って生成された上位階層画像から復元された下位階層画像は、特に、更新回数が少ない段階において、他のものよりも高いS/Nを示している。これは、図20のフローチャートに従えば、所望のS/Nを示す下位階層画像を復元可能な上位階層画像を短い処理時間で生成できることを示している。
【0127】
次に、画素値更新回路6の第2の構成例について、図22を参照して説明する。この構成例は、図8に示した画素値更新回路6の第1の構成例の最適画素値決定回路22および注目画素決定回路23を、それぞれ領域最適化回路91および注目領域決定回路92に置換したものである。図8の最適画素値決定回路22が、注目画素だけの画素値を最適化するのに対して、図22の領域最適化回路91は、注目領域に含まれる複数の画素の画素値を同時に最適化する。
【0128】
注目領域決定回路92は、上位階層画像の所定のサイズの領域(例えば、7×7画素)を、順次、注目領域に決定し、その位置情報を領域最適化回路91に出力する。また、注目領域決定回路92は、上位階層画像の全ての画素を注目領域とした後、スイッチ24をオンとする制御信号を出力する。
【0129】
図23は、領域最適化回路91の詳細な構成例を示している。着目画素決定回路101は、注目領域の画素を、順次、着目画素に決定し、その位置情報をクラスコード読取回路102、および予測タップ抽出回路103に出力する。また、着目画素決定回路101は、注目領域内の全ての画素を着目画素に決定した後、スイッチ106をオンとする制御信号を出力する。
【0130】
クラスコード読取回路102は、上位階層画像メモリ3から着目画素のクラスコード(画素データのLSB側の4ビット)を読み出して誤差関数生成回路104に出力する。予測タップ抽出回路103は、上位階層画像メモリ3から着目画素を中心とする5×5画素の予測タップを抽出して誤差関数生成回路104に出力する。
【0131】
誤差関数生成回路104は、着目画素に対応する誤差関数(その詳細は後述する)を生成して影響誤差関数マトリクスレジスタ105に出力する。影響誤差関数マトリクスレジスタ105は、注目領域内の全ての着目画素に対応する誤差関数を用いて、影響誤差関数マトリクスを生成し、スイッチ106を介して注目領域画素値演算回路107に出力する。
【0132】
注目領域画素値演算回路107は、スイッチ106を介して入力された影響誤差関数マトリクスを解いて注目領域内の画素の画素値を演算する(その詳細については後述する)。
【0133】
次に、画素値更新回路6の第2の構成例の動作について、図24のフローチャートを参照して説明する。この画素値更新処理においては、注目領域以外の画素の画素値が固定されて、注目領域内の画素の画素値が最適化される。画素値更新処理は、セレクタ5から入力された上位階層画像が画素値更新回路6の上位階層画像メモリ21に記憶されたときに開始される。
【0134】
ステップS111において、注目領域決定回路92は、上位階層画像の7×7画素を注目領域に決定し、その位置情報を領域最適化回路91に出力する。領域最適化回路91の着目画素決定回路101は、ステップS112において、注目領域内の1個の画素を着目画素に決定し、その位置情報をクラスコード読取回路102、および予測タップ抽出回路103に出力する。
【0135】
ステップS113において、クラスコード読取回路102は、着目画素のクラスコード(画素データのLSB側の4ビット)を読み出して誤差関数生成回路104に出力する。予測タップ抽出回路103は、着目画素を中心とする5×5画素の予測タップを抽出して誤差関数生成回路104に出力する。
【0136】
ステップS114において、誤差関数生成回路104は、着目画素に対応する誤差関数を生成して影響誤差関数マトリクスレジスタ105に出力する。
【0137】
ステップS115において、着目画素決定回路101は、注目領域内の全ての画素を着目画素に決定したか否かを判定し、全ての画素が着目画素に決定されていないと判定された場合、ステップS112に戻り、それ以降の処理が繰り返される。ステップS115において、注目領域内の全ての画素が着目画素に決定されたと判定された場合、ステップS116に進む。
【0138】
ステップS116において、着目画素決定回路101は、スイッチ106をオンとする制御信号を出力する。影響誤差関数マトリクスレジスタ105は、入力された着目画素に対応する誤差関数から、影響誤差関数マトリクスを生成し、スイッチ106を介して注目領域画素値演算回路107に出力する。
【0139】
ここで、注目領域、予測タップ、誤差関数、および影響誤差関数マトリクスについて説明する。注目領域は、図25(A)に示すように、7×7画素の49個の画素から構成され、その左上角を1番目とした場合、j番目の画素jが着目画素とされたとき、着目画素jに対応する予測タップ(tapsj)として、図25(B)に示すように、画素jを中心とする5×5画素の25個の画素が抽出される。したがって、図25(A)においてs=49であり、図25(B)においてt=25である。
【0140】
また、注目領域(area)と、着目画素jに対する予測タップ(tapsj)について、3種類の範囲(A1j乃至A3j)が設定される。ただし、範囲A1jは、予測タップ(tapsj)に属し、注目領域(area)に属さない範囲とされ、範囲A2jは、予測タップ(tapsj)に属さない、かつ、注目領域(area)に属する範囲とされ、範囲A3jは、予測タップ(tapsj)に属し、注目領域(area)に属する範囲とされる。
【0141】
さて、上位階層画像の着目画素jに対応する、下位階層画像の画素値(予測値)y’jは、次式(5)で表すことができる。なお、以下において、上付き文字(例えば、y’jのj)は注目領域における番号を示し、下付き文字(例えば、wtのt)は、予測タップ内における番号を示すものとする。
【0142】
【数6】
【0143】
また、xpjは、着目画素jの予測タップ(tapsj)のp番目の画素値であり、wpjは、着目画素jのクラスコードに対応した係数ベクトルの、xpjにかかる係数である。ただし、実際には、上位階層画像の1個の着目画素には、下位階層画像の9個の画素が対応するので、式(5)と同様の式が、他に8本生成される。
【0144】
ここで、予測値y’jに対応する真値(原画像の画素値)をyjとすれば、その誤差ejは、次式(6)で示される。
【0145】
【数7】
【0146】
ただし、
【数8】
である。
【0147】
なお、n’は、注目領域(area)内における番号nを、予測タップ(tapsj)における番号に変換した値である。また、範囲A1jに位置する画素の画素値は、更新しないので、y''jは固定値である。したがって、着目画素に対応する自乗誤差を求めるには、式(6)と同様の式を、他に8本生成し、それぞれを2乗して足し合わせればよい。その結果を誤差関数Ekとする。
【0148】
注目領域(area)内の全ての画素に対応する誤差関数Ekを足し合わせたものを影響誤差関数Eareaとする。
【0149】
【数9】
【0150】
ここで、既に述べたように、Ekは、(ek)2を9つ足し合わせたものであるが、簡略化するために、Ek=(ek)2とする。
【0151】
次に、注目領域(area)内における番号nに対応する画素の画素値をxiとし、影響誤差関数Eareaの値を最小にする画素値x1乃至xsを最小自乗法により求める。
【0152】
まず、式(8)の画素値xiによる偏微分係数(次式(9))を求め、その値が0となるように画素値xiを決定する。
【0153】
【数10】
【0154】
ここで、式(7)に基づいて、WjiおよびYiを次式(10)のように定める。
【0155】
【数11】
【0156】
式(9)の値を0として、次式(11)のような行列式を得る。
【数12】
ここで、式(10)のWjiおよびYiは、9画素分に対応して値があるので、それらを足し合わせた行列式(1)を影響誤差関数マトリクスとする。
【0157】
図24のステップS117の説明に戻る。ステップS117において、注目領域画素値演算回路107は、入力された影響誤差関数マトリクスに対し、掃き出し法等の一般的な行列解法を適用して、画素値x1乃至xsを演算し、上位階層画像メモリ21に出力する。上位階層画像メモリ21は、入力された画素値x1乃至xsを用いて、それまで記憶していた値を更新する。
【0158】
ステップS118において、注目領域決定回路92は、上位階層画像の全ての画素を注目領域に決定したか否かを判定し、全ての画素を注目領域に決定していないと判定した場合、ステップS111に戻り、それ以降の処理が繰り返される。
【0159】
その後、ステップS118において、上位階層画像の全ての画素が注目領域に決定されたと判定された場合、注目領域決定回路92は、スイッチ24をオンとする制御信号を出力する。スイッチ24がオンとされることにより、上位階層画像メモリ21に記憶されている、画素値が最適化された上位階層画像が後段の上位階層画像メモリ3に出力される。
【0160】
このように、領域単位で処理すると、より高いS/Nの画像を得ることができる。
【0161】
図26は、本発明を適用したエンコーダの第2の構成例を表している。このエンコーダ111は、図1に示したエンコーダ1の収束判定回路10の後段に予測係数拡張回路112を追加したものである。予測係数拡張回路112は、収束判定回路10が出力した、4ビット(16種類)のクラスコードに対応する予測係数テーブルを、5ビット(32種類)の拡張クラスコードに対応するさせるものである。
【0162】
予測係数拡張回路112の詳細な構成例について、図27を参照して説明する。収束判定回路10から入力された上位階層画像は、予測係数拡張回路112において、予測タップ抽出回路122、クラスコード読取回路123、および空間クラスコード判定回路124に供給される。着目画素決定回路121は、上位階層画像の画素を順次、着目画素に決定し、その位置情報を予測タップ抽出回路122、クラスコード読取回路123、および空間クラスコード判定回路124に出力する。
【0163】
予測タップ抽出回路122は、着目画素を中心とする5×5画素の予測タップの画素値(画素データのMSB側の4ビット)を抽出して正規方程式生成回路126に出力する。クラスコード読取回路123は、着目画素のクラスコード(画素データのLSB側の4ビット)を読み出して空間クラスコード判定回路124に出力する。
【0164】
空間クラスコード判定回路124は、着目画素の空間クラスコードを判定する。すなわち、図28に示すように、着目画素の画素値と、その近傍(例えば、左隣の画素)の画素の画素値を比較して、着目画素の画素値の方が大きい場合、空間クラスコード(1ビット)を0に決定し、近傍の画素の画素値の方が大きい場合、空間クラスコードを1に決定する。さらに、空間クラスコード判定回路124は、クラスコード読取回路123から入力された4ビットのクラスコードのMSB側に空間クラスコードを付加して拡張クラスコード(5ビット)を生成し、正規方程式生成回路126に出力する。
【0165】
なお、空間クラスコードのビット数は、1ビットに限定されるものではなく、複数ビットであってもよい。また、空間クラスコードを上述した方法によって決定するのではなく、例えば、1ビットADRC処理や微分値や差分値から決定してもよい。
【0166】
教師データ抽出回路125は、原画像から教師データ(予測タップを用いて生成される下位階層画像の画素値の真値)を抽出して正規方程式生成回路126に出力する。正規方程式生成回路126は、着目画素の拡張クラスコード毎に、既知である教師データおよび予測タップの画素値、並びに、変数としての予測係数から成る正規方程式を生成して、予測係数演算回路127に出力する。
【0167】
予測係数演算回路127は、入力された正規方程式に最小自乗法を適用して32種類(5ビット)の拡張クラスコードに対応する予測係数を演算し、後段に出力する。なお、正規方程式生成回路126からの正規方程式が解けない場合、予測係数演算回路127は、予測係数メモリ4から供給される16種類(4ビット)のクラスコードに対応した予測係数テーブルを後段に出力する。
【0168】
次に、予測係数拡張回路112の動作について、図29のフローチャートを参照して説明する。この予測係数拡張処理は、収束判定回路10から最適上位階層画像が入力されたときに開始される。
【0169】
ステップS121において、着目画素決定回路121は、上位階層画像の1個の画素を着目画素に決定し、その位置情報を予測タップ抽出回路122、クラスコード読取回路123、および空間クラスコード判定回路124に出力する。
【0170】
ステップS122において、クラスコード読取回路123は、着目画素のクラスコード(画素データのLSB側の4ビット)を読み出して空間クラスコード判定回路124に出力する。ステップS123において、空間クラスコード判定回路124は、着目画素の画素値と、その近傍の画素の画素値を比較して、着目画素の画素値の方が大きい場合、空間クラスコード(1ビット)を0に決定し、近傍の画素の画素値の方が大きい場合、空間クラスコードを1に決定する。さらに、空間クラスコード判定回路124は、クラスコード読取回路123から入力された4ビットのクラスコードのMSB側に空間クラスコードを付加して拡張クラスコード(5ビット)を生成し、正規方程式生成回路126に出力する。
【0171】
ステップS124において、予測タップ抽出回路122は、着目画素を中心とする5×5画素の予測タップの画素値(画素データのMSB側の4ビット)を抽出して正規方程式生成回路126に出力する。
【0172】
ステップS125において、正規方程式生成回路126は、着目画素のクラスコード毎に、既知である教師データおよび予測タップの画素値、並びに、変数としての予測係数から成る正規方程式を生成して、予測係数演算回路127に出力する。
【0173】
ステップS126において、着目画素決定回路121は、上位階層画像の全ての画素を着目画素としたか否かを判定し、全ての画素を着目画素としていないと判定した場合、ステップS121に戻り、それ以降の処理が繰り返される。ステップS126において、全ての画素を着目画素としたと判定された場合、ステップS127に進む。
【0174】
ステップS127において、予測係数演算回路127は、ステップS125で正規方程式生成回路126が生成した正規方程式に最小自乗法を適用し、32種類(5ビット)の拡張クラスコードに対応する予測係数を演算し、得られた予測係数(予測係数テーブル)を後段に出力する。
【0175】
以上のように、予測係数拡張回路112では、予測係数を拡張クラスコード(5ビット)に対応させるが、着目画素の画素データのLSB側の5ビットに拡張クラスコードを書き込むわけではなく、着目画素の画素値(画素データのMSB側の4ビット)を変化させないので、この上位階層画像から生成される下位階層画像に階調欠如を発生させることはない。
【0176】
図30は、図26に示したエンコーダ111で生成された上位階層画像から原画像を復元する(下位階層画像を生成する)デコーダの構成例を示している。
【0177】
このデコーダ131は、図18に示したデコーダ81に空間クラスコード判定回路132を追加したものである。空間クラスコード判定回路132には、エンコーダ1からの上位階層画像、着目画素決定回路82からの着目画素の位置情報、およびクラスコード読取回路83からのクラスコード(着目画素の画素データのLSB側の4ビット)が入力される。
【0178】
空間クラスコード判定回路132は、着目画素の画素値と、その所定の近傍(いまの場合、左隣)の画素の画素値を比較して、着目画素の画素値の方が大きい場合、空間クラスコード(1ビット)を0に決定し、近傍の画素の画素値の方が大きい場合、空間クラスコードを1に決定する。さらに、空間クラスコード判定回路132は、クラスコード読取回路83から入力された4ビットのクラスコードのMSB側に空間クラスコードを付加して拡張クラスコード(5ビット)を生成し、マッピング回路85に出力する。なお、空間クラスコード判定回路132以外の構成回路については、図18に示したものと同様であるので、その説明は省略する。
【0179】
次に、デコーダ131の動作について、図31のフローチャートを参照して説明する。このデコード処理は、エンコーダ111が出力した予測係数テーブルが、マッピング回路85に供給された後、順次入力されるフレーム単位の上位階層画像に対して実行される。
【0180】
ステップS131において、着目画素決定回路82は、上位階層画像の1個の画素を、着目画素に決定し、その位置情報をクラスコード読取回路83、予測タップ抽出回路84、および空間クラスコード判定回路132に出力する。ステップS132において、クラスコード読取回路83は、上位階層画像から着目画素のクラスコード(画素データのLSB側の4ビット)を読み取って、空間クラスコード判定回路132に出力する。
【0181】
ステップS133において、空間クラスコード判定回路132は、着目画素の画素値と、その左隣の画素の画素値を比較して、着目画素の画素値の方が大きい場合、空間クラスコード(1ビット)を0に決定し、近傍の画素の画素値の方が大きい場合、空間クラスコードを1に決定する。さらに、空間クラスコード判定回路132は、クラスコード読取回路83から入力された4ビットのクラスコードのMSB側に空間クラスコードを付加して拡張クラスコード(5ビット)を生成し、マッピング回路85に出力する。
【0182】
ステップS134において、予測タップ抽出回路84は、入力された上位階層画像から着目画素を中心とする5×5画素の予測タップに含まれる画素の画素値(画素データのMSB側の4ビット)を抽出してマッピング回路85に出力する。
【0183】
ステップS135において、マッピング回路85は、空間クラスコード判定回路132より入力される拡張クラスコードに対応する予測係数を予測係数テーブルから読み出して、読み出した予測係数と、予測タップの各画素の画素値との線形1次結合を演算し、演算結果を下位階層画像の画素値として下位階層画像メモリ86に出力する。
【0184】
ステップS136において、着目画素決定回路82は、上位階層画像の全ての画素を着目画素としたか否かを判定し、全ての画素を着目画素としたと判定するまで、ステップS131乃至S136の処理が繰り返される。ステップS137において、全ての画素を着目画素としたと判定された場合、ステップS137で下位階層画像メモリ86から下位階層画像の画素値がフレーム単位で、図示せぬモニタに出力される。
【0185】
図32は、図26に示したエンコーダ111で生成された上位階層画像を用い、図30に示したデコーダ131が復元した下位階層画像の原画像に対するS/Nを演算したシミュレーションの結果を表している。同図から明らかなように、LSB側4ビットをクラスコードとして繰り返し更新を実行してS/Nが収束した後(更新回数20回目まで)、更新回数21回目において、予測係数を32種類(5ビット)の拡張クラスコードに対応させることにより、さらにS/Nが向上する。
【0186】
なお、本実施の形態においては、画素データを8ビットとして、そのMSB側の4ビットを画素値、LSB側の4ビットをクラスコードとしたが、これらのビット数は変更してもかまわない。また、そのMSB側をクラスコードとし、LSB側を画素値としてもかまわない。さらに、画素値とクラスコードを分離して記憶するようにしてもかまわない。
【0187】
また、クラスタップ、予測タップ、および、画素値の更新を行う領域等の形状は、上述したものに限定されず、例えば、円形や不連続な形状でもよい。また、対称形状であってもよいし、非対称形状であってもよい。
【0188】
また、本実施の形態においては、原画像を、より少ない画素数からなる、原画像に復元可能な画像に変換したが、例えば、原画像を、原画像と同じ画素数からなる画像であって、かつ、1画素当たりの情報量(例えば、5ビット)が、原画像の1画素当たりの情報量(例えば、8ビット)よりも少ない、原画像に復元可能な画像に変換する場合にも、本発明を適用することが可能である。
【0189】
また、本発明の主旨を逸脱しない範囲において、様々な変形や応用例が考えられる。したがって、本発明の主旨は本実施の形態に限定されるものではない。
【0190】
なお、上記各処理を行うコンピュータプログラムは、磁気ディスク、CD-ROM等の情報記録媒体よりなる提供媒体のほか、インターネット、デジタル衛星などのネットワーク提供媒体を介してユーザに提供することができる。
【0191】
【発明の効果】
以上のように、本発明によれば、原画像を復元可能な上位階層画像を短時間で生成することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用したエンコーダ1の第1の構成例を示すブロック図である。
【図2】図1のエンコーダ1の動作を説明するフローチャートである。
【図3】図1の前処理回路2の動作を説明するフローチャートである。
【図4】図3のステップS11の詳細を説明するフローチャートである。
【図5】画素の配置を説明する図である。
【図6】画素データを説明する図である。
【図7】図3のステップS12の詳細を説明するフローチャートである。
【図8】図1の画素値更新回路6の第1の構成例を示すブロック図である。
【図9】図8の最適画素値決定回路22の構成例を示すブロック図である。
【図10】図8の画素値更新回路6の動作を説明するフローチャートである。
【図11】画素の配置を説明する図である。
【図12】図1の予測係数更新回路7の構成例を示すブロック図である。
【図13】図12の予測係数更新回路7の動作を説明するフローチャートである。
【図14】図1のクラスコード選択回路8の構成例を示すブロック図である。
【図15】図14のクラスコード選択回路8の動作を説明するフローチャートである。
【図16】図1のデコード回路9の構成例を示すブロック図である。
【図17】図16のデコード回路9の動作を説明するフローチャートである。
【図18】図1に示したエンコーダ1に対応するデコータ81の構成例を示すブロック図である。
【図19】図18のデコーダ81の動作を説明するフローチャートである。
【図20】図1のエンコーダ1の他の動作を説明するフローチャートである。
【図21】シミュレーション結果を示す図である。
【図22】図1の画素値更新回路6の第2の構成例を示すブロック図である。
【図23】図22の領域最適化回路91の構成例を示すブロック図である。
【図24】図22の画素値更新回路6の動作を説明するフローチャートである。
【図25】影響誤差関数マトリクスを説明するための図である。
【図26】本発明を適用したエンコーダの第2の構成例を示すブロック図である。
【図27】図26の予測係数拡張回路112の構成例を示すブロック図である。
【図28】拡張クラスコードを説明するための図である。
【図29】図27の予測係数拡張回路112の動作を説明するフローチャートである。
【図30】図26のエンコーダ1の対応するデコーダ131の構成例を示すブロック図である。
【図31】図30のデコーダ131の動作を説明するフローチャートである。
【図32】シミュレーション結果を示す図である。
【符号の説明】
1 エンコーダ, 2 前処理回路, 3 上位階層画像メモリ, 4 予測係数メモリ, 5 セレクタ, 6 画素値更新回路, 7 予測係数更新回路, 8 クラスコード選択回路, 9 デコード回路, 10 収束判定回路,11 更新回数カウンタ, 22 最適画素値決定回路, 81 デコーダ,82 着目画素決定回路, 83 クラスコード読取回路, 84 予測タップ抽出回路, 85 マッピング回路, 86 下位階層画像メモリ, 91 領域最適化回路, 111 エンコーダ, 112 予測係数拡張回路, 124 空間クラスコード判定回路, 131 デコーダ, 132 空間クラスコード判定回路
Claims (4)
- 複数の画素からなる原画像を、前記原画像に復元するための、前記原画像より少ない画素からなり、各画素の所定のビット列から成る画素データの上位側ビット列が画素値を示し、前記画像データの前記上位側ビット列以外の下位側ビット列がクラスコードを示す上位階層画像に変換する画像変換装置において、
前処理として、
前記原画像を所定のサイズの画素ブロックに分割し、前記画素ブロック毎に画素値を平均化または画素を間引くことによって初期の上位階層画像の1画素分の画素値を決定して前記画素データの上位側ビット列とし、
各画素の画素データの上位側ビット列だけが決定された前記初期の上位階層画像の画素を順次、着目画素とし、
前記着目画素とその近傍の複数の画素から成るクラスタップを前記初期の上位階層画像から抽出し、前記クラスタップを構成する複数の画素の画素値を符号化することによって前記着目画素に対応するクラスコードを決定して前記着目画素の画素データの下位側ビット列とすることにより、前記初期の上位階層画像の前記着目画素の画素データを生成し、
前記着目画素とその近傍の複数の画素から成る予測タップを前記初期の上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画素の画素値と、未知である予測係数とからなる正規方程式を、同一のクラスコードに分類される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を生成し、
生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させるとともに、
生成した前記初期の上位階層画像を上位階層画像メモリに記憶させる
前処理手段と、
前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記予測係数メモリに記憶されている各クラスコードにそれぞれ対応する予測係数との線形1次結合により前記下位階層画像の画素値を生成し、生成した前記下位階層画像の画素値と前記原画像の対応する画素値との比較結果に応じて、前記着目画素に対する最適なクラスコードを決定し、決定したクラスコードを用いて、前記着目画素の画素データの下位側ビット列を更新するクラスコード更新手段と、
前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画素の画素値と、更新対象の予測係数とからなる正規方程式を、同一のクラスコードに分類される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を再度生成して、再度生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させる予測係数更新手段と、
前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記着目画素の画素データの下位側ビット列に記録されているクラスコードに対応する予測係数との線形1次結合により、前記原画像と同じ画素数から成る下位階層画像の画素値を演算する演算手段と、
前記原画像と前記下位階層画像と S/N の変化を検出する検出手段とを含み、
前記予測係数更新手段は、前記前処理手段の動作後であって、前記演算手段および前記検出手段の動作の前に、動作を行い、前記 S/N の増加量が収束していない場合にも動作す る
画像変換装置。 - 前記 S/N の増加量が収束していない場合、前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、注目画素とし、前記注目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記注目画素の画素データの下位ビット列に記憶されているクラスコードに対応する予測係数との線形1次結合により前記下位階層画像の画素値を生成し、生成した前記下位階層画像の画素値と前記原画像の対応する画素値との比較結果に応じて、前記注目画素に対する最適な画素値を決定し、決定した画素値を用いて、前記注目画素の画素データの上位側ビット列を更新する画素値更新手段を
さらに含む請求項1に記載の画像変換装置。 - 複数の画素からなる原画像を、前記原画像に復元するための、前記原画像より少ない画素からなり、各画素の所定のビット列から成る画素データの上位側ビット列が画素値を示し、前記画像データの前記上位側ビット列以外の下位側ビット列がクラスコードを示す上位階層画像に変換する画像変換装置の画像変換方法において、
前処理として、
前記原画像を所定のサイズの画素ブロックに分割し、前記画素ブロック毎に画素値を平均化または画素を間引くことによって初期の上位階層画像の1画素分の画素値を決定して前記画素データの上位側ビット列とし、
各画素の画素データの上位側ビット列だけが決定された前記初期の上位階層画像の画素を順次、着目画素とし、
前記着目画素とその近傍の複数の画素から成るクラスタップを前記初期の上位階層画像から抽出し、前記クラスタップを構成する複数の画素の画素値を符号化することによって前記着目画素に対応するクラスコードを決定して前記着目画素の画素データの下位側ビット列とすることにより、前記初期の上位階層画像の前記着目画素の画素データを生成し、
前記着目画素とその近傍の複数の画素から成る予測タップを前記初期の上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画素の画素値と、未知である予測係数とからなる正規方程式を、同一のクラスコードに分類される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を生成し、
生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させるとともに、
生成した前記初期の上位階層画像を上位階層画像メモリに記憶させる
前処理ステップと、
前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記予測係数メモリに記憶されている各クラスコードにそれぞれ対応する予測係数との線形1次結合により前記下位階層画像の画素値を生成し、生成した前記下位階層画像の画素値と前記原画像の対応する画素値との比較結果に応じて、前記着目画素に対する最適なクラスコードを決定し、決定したクラスコードを用いて、前記着目画素の画素データの下位側ビット列を更新するクラスコード更新ステップと、
前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画素の画素値と、更新対象の予測係数とからなる正規方程式を、同一のクラスコードに分類 される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を再度生成して、再度生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させる予測係数更新ステップと、
前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記着目画素の画素データの下位側ビット列に記録されているクラスコードに対応する予測係数との線形1次結合により、前記原画像と同じ画素数から成る下位階層画像の画素値を演算する演算ステップと、
前記原画像と前記下位階層画像と S/N の変化を検出する検出ステップとを含み、
前記予測係数更新ステップは、前記前処理ステップの実行後であって、前記演算ステップおよび前記検出ステップの実行の前に、実行され、前記 S/N の増加量が収束していない場合にも実行される
画像変換方法。 - 複数の画素からなる原画像を、前記原画像に復元するための、前記原画像より少ない画素からなり、各画素の所定のビット列から成る画素データの上位側ビット列が画素値を示し、前記画像データの前記上位側ビット列以外の下位側ビット列がクラスコードを示す上位階層画像に変換する画像変換装置の制御用のプログラムであって、
前処理として、
前記原画像を所定のサイズの画素ブロックに分割し、前記画素ブロック毎に画素値を平均化または画素を間引くことによって初期の上位階層画像の1画素分の画素値を決定して前記画素データの上位側ビット列とし、
各画素の画素データの上位側ビット列だけが決定された前記初期の上位階層画像の画素を順次、着目画素とし、
前記着目画素とその近傍の複数の画素から成るクラスタップを前記初期の上位階層画像から抽出し、前記クラスタップを構成する複数の画素の画素値を符号化することによって前記着目画素に対応するクラスコードを決定して前記着目画素の画素データの下位側ビット列とすることにより、前記初期の上位階層画像の前記着目画素の画素データを生成し、
前記着目画素とその近傍の複数の画素から成る予測タップを前記初期の上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画素の画素値と、未知である予測係数とからなる正規方程式を、同一のクラスコードに分類される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を生成し、
生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させるとともに、
生成した前記初期の上位階層画像を上位階層画像メモリに記憶させる
前処理ステップと、
前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記予測係数メモリに記憶されている各クラスコードにそれぞれ対応する予測係数との線形1次結合により前記下位階層画像の画素値を生成し、生成した前記下位階層画像の画素値と前記原画像の対応する画素値との比較結果に応じて、前記着目画素に対する最適なクラスコードを決定し、決定したクラスコードを用いて、前記着目画素の画素データの下位側ビット列を更新するクラスコード更新ステップと、
前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、既知である前記原画像の画素値と、既知である前記予測タップを構成する複数の画 素の画素値と、更新対象の予測係数とからなる正規方程式を、同一のクラスコードに分類される着目画素毎に解くことによって各クラスコードに対応する前記予測係数を再度生成して、再度生成した前記予測係数を前記クラスコードに対応付けて予測係数メモリに記憶させる予測係数更新ステップと、
前記上位階層画像メモリに記憶されている前記上位階層画像の画素を順次、着目画素とし、前記着目画素とその近傍の複数の画素から成る予測タップを前記上位階層画像から抽出し、前記予測タップを構成する複数の画素の画素データの上位ビット列に記憶されている画素値と、前記着目画素の画素データの下位側ビット列に記録されているクラスコードに対応する予測係数との線形1次結合により、前記原画像と同じ画素数から成る下位階層画像の画素値を演算する演算ステップと、
前記原画像と前記下位階層画像と S/N の変化を検出する検出ステップとを含み、
前記予測係数更新ステップは、前記前処理ステップの実行後であって、前記演算ステップおよび前記検出ステップの実行の前に、実行され、前記 S/N の増加量が収束していない場合にも実行される
処理を画像変換装置のコンピュータに実行させるコンピュータが読み取り可能なプログラムが記録されている記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08086799A JP4200401B2 (ja) | 1999-03-25 | 1999-03-25 | 画像変換装置および方法、並びに記録媒体 |
TW89105530A TW554628B (en) | 1999-03-25 | 2000-03-24 | Image-signal conversion method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08086799A JP4200401B2 (ja) | 1999-03-25 | 1999-03-25 | 画像変換装置および方法、並びに記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000278698A JP2000278698A (ja) | 2000-10-06 |
JP4200401B2 true JP4200401B2 (ja) | 2008-12-24 |
Family
ID=13730306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08086799A Expired - Fee Related JP4200401B2 (ja) | 1999-03-25 | 1999-03-25 | 画像変換装置および方法、並びに記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4200401B2 (ja) |
-
1999
- 1999-03-25 JP JP08086799A patent/JP4200401B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000278698A (ja) | 2000-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6912014B2 (en) | Image processing device and method, and recording medium | |
KR20210129206A (ko) | 인코딩 및 디코딩 방법 및 장치, 인코딩단 기기 및 디코딩단 기기 | |
JPH0795475A (ja) | 信号変換装置 | |
JPH07177502A (ja) | 画像情報圧縮方法、圧縮画像情報記録媒体、圧縮画像情報再生装置 | |
AU714554B2 (en) | Image coding and decoding using mapping coefficients corresponding to class information of pixel blocks | |
US6658155B1 (en) | Encoding apparatus | |
JP4200401B2 (ja) | 画像変換装置および方法、並びに記録媒体 | |
JP4200403B2 (ja) | 画像符号化装置および方法、画像復号装置および方法、画像伝送システムおよび方法、並びに記録媒体 | |
JP4200402B2 (ja) | 画像変換装置および方法、並びに記録媒体 | |
JP4214595B2 (ja) | 画像変換装置および方法、並びに記録媒体 | |
JP4306082B2 (ja) | 画像信号変換装置および方法、情報信号変換装置および方法、並びに記録媒体 | |
Kim et al. | Block matching algorithm using a genetic algorithm | |
JP3991346B2 (ja) | 画像変換装置および方法、並びに記録媒体 | |
JP4103059B2 (ja) | 画像変換装置および方法、並びに記録媒体 | |
JP2000348019A (ja) | データ処理装置およびデータ処理方法、並びに媒体 | |
JP4281230B2 (ja) | 画像符号化装置および方法、記録媒体、並びに画像処理システム | |
KR102664248B1 (ko) | 인코딩 및 디코딩 방법 및 장치, 인코딩단 기기 및 디코딩단 기기 | |
JP2000512827A (ja) | 像間動き評価方法 | |
JP3620069B2 (ja) | 信号変換装置および方法 | |
JP2000217106A (ja) | 画像符号化装置および方法、画像復号装置および方法、並びに提供媒体 | |
JP3075049B2 (ja) | 画像符号化装置 | |
JP3777600B2 (ja) | 画像情報変換装置、係数算出装置、代表画素信号設定装置および方法、記憶装置、記録媒体、並びにプログラム | |
JP3612728B2 (ja) | 信号変換装置および方法 | |
JP4151316B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4623345B2 (ja) | 画像処理装置および方法、並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080821 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080911 |
|
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: 20080924 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111017 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121017 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131017 Year of fee payment: 5 |
|
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 |