以下、図面を参照して本実施の形態について説明する。
図4は、本発明の一実施の形態である画像処理装置の構成例を示している。
この画像処理装置1は、第1の画像データを、より高画質の第2の画像データに変換する画像変換処理を行う。
ここで、第1及び第2の画像データをどのように定義するかによって、画像処理装置1は様々な画像変換処理を実現することができる。
即ち、例えば、第1の画像データを低解像度の画像データとするとともに、第2の画像データを、第1の画像データよりも解像度が高い高解像度の画像データとすれば、画像変換処理は、解像度を向上させて高画質化させる解像度向上処理ということができる。
また、例えば、第1の画像データを低SNR(Signal to Noise Ratio)の画像データとするとともに、第2の画像データを、第1の画像データよりもSNRが高い高SNRの画像データとすれば、画像変換処理は、ノイズを除去して高画質化させるノイズ除去処理ということができる。
さらに、例えば、第1の画像データをSD(Standard Definition)画像データとするとともに、第2の画像データを、第1の画像データの画素数と解像度を大きくしたHD(High Definition)画像データとすれば、画像変換処理は、SD画像データをHD画像データに高画質化する変換処理ということができる。
以下、第1の画像データを低解像度の画像データとし、第2の画像データを、第1の画像データよりも解像度が高い高解像度の画像データとして、画像処理装置1における画像変換処理を説明する。
図5は、画像処理装置1の詳細な構成例を示している。
画像処理装置1は、予測タップ抽出部30、ピークレベル方向クラスタップ抽出部31、波形クラスタップ抽出部32、レベル成分クラス分類部33、波形パターンクラス分類部34、係数ROM(Read Only Memory)35、及び予測演算部36により構成される。画像処理装置1において、外部から入力される第1の画像データは、予測タップ抽出部30、ピークレベル方向クラスタップ抽出部31、及び波形クラスタップ抽出部32に供給される。
予測タップ抽出部30は、第1の画像データの変換結果となる第2の画像データを構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。
予測タップ抽出部30は、注目画素(の画素値)を予測する予測演算に用いるための予測タップとして、注目画素に対応する、第1の画像データの対応画素を含む、その対応画素の周囲に存在する複数の画素(の画素値)、即ち、注目画素の位置に相当する、第1の画像データの位置に対して、空間的又は時間的に近い位置にある複数の画素を、供給された第1の画像データから抽出し、予測演算部36に供給する。
なお、対応画素とは、注目画素の位置に相当する、第1の画像データの位置から最も近くに存在する第1の画像データの画素をいう。
また、予測タップ抽出部30は、注目画素を、複数のレベル成分クラスのうちのいずれかにクラス分けするレベル成分クラス分類処理に含まれるレベル制限クラス分類処理に用いるためのレベル制限クラスタップ(後述する図8B)として、第1の画像データから抽出した予測タップを、レベル成分クラス分類部33に供給する。
ここで、レベル制限クラスタップは、予測タップと同一のタップ構造(注目画素に対する同一の位置関係)を有するものとする他、異なるタップ構造を有するものとすることも可能であるが、予測タップとレベル制限クラスタップは、同一のタップ構造を有することが望ましい。
従って、本実施の形態では、予測タップ抽出部30において、予測タップを、レベル制限クラスタップとして、レベル成分クラス分類部33に供給している。
ピークレベル方向クラスタップ抽出部31は、注目画素を、複数のレベル成分クラスのうちのいずれかにクラス分けするレベル成分クラス分類処理に含まれるピークレベル方向分類処理に用いるためのピークレベル方向クラスタップとして、対応画素を含む、その対応画素の周囲に存在する複数の画素を、供給された第1の画像データから抽出し、レベル成分クラス分類部33に供給する。
波形クラスタップ抽出部32は、注目画素を、複数の波形パターンクラスのうちのいずれかにクラス分けする波形パターンクラス分類処理に用いるための波形クラスタップとして、対応画素を含む、その対応画素の周囲に存在する複数の画素を、供給された第1の画像データから抽出し、波形パターンクラス分類部34に供給する。
レベル成分クラス分類部33は、予測タップ抽出部30からのレベル制限クラスタップ、及びピークレベル方向クラスタップ抽出部31からのピークレベル方向クラスタップに基づいて、注目画素を、複数のレベル成分クラスのうちのいずれかにクラス分けするレベル成分クラス分類処理を行い、その結果得られる注目画素のレベル成分クラスに対応するレベル成分クラスコードを、係数ROM35に供給する。
なお、レベル成分クラス分類部33の詳細は、図6ないし図15を参照して後述する。
波形パターンクラス分類部34は、波形クラスタップ抽出部32からの波形クラスタップを構成する複数の画素の画素値の変化を表す波形(波形クラスタップの波形)に基づいて、注目画素を、複数の波形パターンクラスのうち、波形クラスタップ抽出部32からの波形クラスタップの波形の特徴を表すクラスにクラス分けする波形パターンクラス分類処理を行い、その結果得られる注目画素の波形パターンクラスに対応する波形パターンクラスコードを、係数ROM35に供給する。
ここで、波形パターンクラス分類処理を行う方法としては、例えば、ADRC(Adaptive Dynamic Range Coding) (適応的ダイナミックレンジ符号化)等を採用することができる。
ADRCを用いる方法では、波形クラスタップを構成する画素の画素値が、ADRC処理され、その結果得られるADRCコードにしたがって、注目画素の波形パターンクラスが決定される。
なお、KビットADRCにおいては、例えば、波形クラスタップを構成する画素の画素値の最大値MAXと最小値MINが検出され、DR=MAX-MINを、波形クラスタップを構成する画素の集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、波形クラスタップを構成する画素(の画素値)がKビットに再量子化される。即ち、波形クラスタップを構成する各画素の画素値から、最小値MINが減算され、その減算値がDR/2Kで除算(量子化)される。
そして、以上のようにして得られる、波形クラスタップを構成するKビットの各画素の画素値を、所定の順番で並べたビット列が、ADRCコードとして出力される。従って、波形クラスタップが、例えば、1ビットADRC処理された場合には、その波形クラスタップを構成する各画素の画素値は、最小値MINが減算された後に、最大値MAXと最小値MINとの差の1/2で除算され(小数点以下切り捨て)、これにより、各画素の画素値が1ビットとされる(2値化される)。そして、その1ビットの画素値を所定の順番で並べたビット列が、ADRCコードとして出力される。
なお、波形パターンクラス分類部34には、例えば、波形クラスタップを構成する画素の画素値のレベル分布のパターンを、そのまま波形パターンクラスコードとして出力させることも可能である。しかしながら、この場合、波形クラスタップが、N個の画素の画素値で構成され、各画素の画素値に、Kビットが割り当てられているとすると、波形パターンクラス分類部34が出力する波形パターンクラスコードの場合の数は、(2N)K通りとなり、画素の画素値のビット数Kに指数的に比例した膨大な数となる。
従って、波形パターンクラス分類部34においては、波形クラスタップの情報量を、上述のADRC処理や、あるいはベクトル量子化等によって圧縮して、波形パターンクラス分類処理を行うのが好ましい。
係数ROM35は、後述する学習によって予め求められた、レベル成分クラスと波形パターンクラスとの複数の組合せにそれぞれ対応する予測係数のセットを記憶(保持)している。
また、係数ROM35は、記憶している予測係数のセットのうち、レベル成分クラス分類部33からのレベル成分クラスコードと波形パターンクラス分類部34からの波形パターンクラスコードとの組合せに対応するアドレスに記憶されている予測係数(レベル成分クラス分類部33からのレベル成分クラスコードが表すレベル成分クラスと、波形パターンクラス分類部34からの波形パターンクラスコードが表す波形パターンクラスとの組合せに対応する予測係数)を、予測演算部36に出力する。
予測演算部36は、予測タップ抽出部30からの予測タップを構成する複数の画素と、係数ROM35が出力する予測係数とを用いて、注目画素を予測(生成)する所定の予測演算(例えば、線形1次演算)を行う。これにより、予測演算部36は、注目画素の画素値(の予測値)、即ち、第2の画像データを構成する画素の画素値を求めて出力する。
図6は、図5のレベル成分クラス分類部33の詳細な構成例を示している。
レベル成分クラス分類部33は、ピークレベル方向分類部61、レベル制限クラス分類部62、及びレベル成分クラス特定部63により構成される。
ピークレベル方向分類部61には、ピークレベル方向クラスタップ抽出部31からピークレベル方向クラスタップが供給される。
ピークレベル方向分類部61は、ピークレベル方向クラスタップ抽出部31からのピークレベル方向クラスタップを構成する複数の画素の画素値のヒストグラムに基づいて、注目画素を、複数のピークレベル方向クラスのうち、ピークレベル方向クラスタップ抽出部31からのピークレベル方向クラスタップのピークレベル方向を表すクラスにクラス分けするピークレベル方向分類処理を行う。
なお、ピークレベル方向とは、ピークレベル方向クラスタップを構成する複数の画素の画素値のピークレベル(極値)が存在する方向をいう。具体的には、例えば、図1に示されたように、上下方向にとった画素値を表す縦軸であって、かつ、上方向である程に画素値が大きくなる縦軸をとり、左右方向に画素の位置を表す横軸をとった場合に、ピークレベル方向クラスタップを構成する複数の画素の画素値の変化を表す波形(以下、ピークレベル方向クラスタップの波形ともいう)が凸となっている方向をいう。
従って、ピークレベル方向クラスタップの波形が上に凸の波形である場合には、ピークレベル方向クラスタップのピークレベル方向は上方向となる。この場合、注目画素は、ピークレベル方向が上方向であることを表すピークレベル方向クラスにクラス分けされる。
また、ピークレベル方向クラスタップの波形が下に凸の波形である場合には、ピークレベル方向クラスタップのピークレベル方向は下方向となる。この場合、注目画素は、ピークレベル方向が下方向であることを表すピークレベル方向クラスにクラス分けされる。
さらに、ピークレベル方向クラスタップの波形が上と下との両方に凸の波形である場合には、ピークレベル方向クラスタップのピークレベル方向は上方向と下方向との両方向となる。この場合、注目画素は、ピークレベル方向が両方向であることを表すピークレベル方向クラスにクラス分けされる。
ピークレベル方向分類部61は、ピークレベル方向分類処理により得られた注目画素のピークレベル方向クラスに対応するピークレベル方向クラスコードを、レベル制限クラス分類部62、及びレベル成分クラス特定部63に供給する。
レベル制限クラス分類部62は、ピークレベル方向分類部61からのピークレベル方向クラスコードが表すピークレベル方向と、予測タップ抽出部30からのレベル制限クラスタップとに応じて求められる許容レベル幅LWと、予測タップ抽出部30からのレベル制限クラスタップのダイナミックレンジDRとの比に基づいて、注目画素を、複数のレベル制限クラスのうち、許容レベル幅LWとダイナミックレンジDRとの比に対応するクラスにクラス分けするレベル制限クラス分類処理を行う。
ここで、許容レベル幅LWとは、レベル制限クラスタップを構成する複数の画素の画素値の最大値から、所定の予測演算により予測される注目画素がとり得る画素値の上限を表す上限レベルまでの範囲、及び、所定の予測演算により予測される注目画素がとり得る画素値の下限を表す下限レベルから、レベル制限クラスタップを構成する複数の画素の画素値の最小値までの範囲のうち、注目画素の真値が存在する範囲の大きさ(幅)をいう。
レベル制限クラス分類部62は、レベル制限クラス分類処理により得られた注目画素のレベル制限クラスに対応するレベル制限クラスコードを、レベル成分クラス特定部63に供給する。
レベル成分クラス特定部63は、ピークレベル方向分類部61からのピークレベル方向クラスコード、及びレベル制限クラス分類部62からのレベル制限クラスコードの組合せに基づいて、注目画素のレベル成分クラスを、複数のレベル成分クラスの中から特定する。
レベル成分クラス特定部63は、特定された注目画素のレベル成分クラスに対応するレベル成分クラスコードを、係数ROM35に出力する。
次に、図7は、図6のピークレベル方向分類部61の詳細な構成例を示している。
ピークレベル方向分類部61は、ヒストグラム生成部91、最大値最小値取得部92、区間分割部93、頻度検出部94、及び頻度比較部95により構成される。
ヒストグラム生成部91には、ピークレベル方向クラスタップ抽出部31からピークレベル方向クラスタップが供給される。ヒストグラム生成部91は、ピークレベル方向クラスタップ抽出部31からのピークレベル方向クラスタップを構成する複数の画素の画素値のヒストグラムを生成し、最大値最小値取得部92に供給する。
最大値最小値取得部92は、ヒストグラム生成部91からのピークレベル方向クラスタップのヒストグラムに基づいて、ピークレベル方向クラスタップを構成する複数の画素の画素値のうち、最大の画素値Maxと最小の画素値Minとを取得(検出)し、ヒストグラム生成部91からのヒストグラムとともに、区間分割部93に供給する。
区間分割部93は、最大値最小値取得部92からの最大の画素値Maxと最小の画素値Minとに対して、次式(1)を適用することにより区間幅stepを算出し、最大値最小値取得部92からのヒストグラムを、次式(2)の区間1(画素値が小さい区間)、及び式(3)の区間2(画素値が大きい区間)の2つの区間に分割し、頻度検出部94に供給する。
なお、'[]'は、ガウス記号であり、従って、[Max-Min+1]は、Max-Min+1の整数部分を示している。
頻度検出部94は、区間分割部93からの、区間1及び区間2に分割されたヒストグラムに基づいて、区間1内の画素数を頻度Freq1として検出するとともに、区間2内の画素数を頻度Freq2として検出して、頻度比較部95に供給する。
頻度比較部95は、頻度検出部94からの頻度Freqn(n=1,2)と閾値Freqthを比較することにより、次式(4)を満たすか否かを判定し、その判定結果に基づいて、ピークレベル方向クラスタップのピークレベル方向を認識(検出)する。
ここで、閾値Freqthは、頻度Freq1と頻度Freq2のうち、値が大の頻度を、任意の正の整数Zで除算することにより得られた値であり、nは、値1及び2をとる。なお、シミュレーションにより、Zに設定する値として、例えば、2を採用することにより、良好な結果が得られることがわかっている。
即ち、例えば、頻度Freq1が閾値Freqth以上であって、かつ、頻度Freq2が閾値Freqth未満である場合、ピークレベル方向クラスタップを構成する複数の画素の画素値は、画素値が小さい区間1に多くの画素値が偏在する。
この場合、ピークレベル方向クラスタップの波形は、上に凸の形状の波形となるため、頻度比較部95は、ピークレベル方向クラスタップのピークレベル方向を上方向であると認識する。
また例えば、頻度Freq1が閾値Freqth未満であって、かつ、頻度Freq2が閾値Freqth以上である場合、ピークレベル方向クラスタップを構成する複数の画素の画素値は、画素値が大きい区間2に多くの画素値が偏在する。
この場合、ピークレベル方向クラスタップの波形は、下に凸の形状の波形となるため、頻度比較部95は、ピークレベル方向クラスタップのピークレベル方向を下方向であると認識する。
さらに、例えば、頻度Freq1が閾値Freqth以上であって、かつ、頻度Freq2が閾値Freqth以上である場合、ピークレベル方向クラスタップを構成する複数の画素の画素値は、同程度、画素値が小さい区間1と、画素値が大きい区間2とに存在する。
この場合、ピークレベル方向クラスタップの波形は、上に凸であって、かつ、下に凸の形状の波形となるため、頻度比較部95は、ピークレベル方向クラスタップのピークレベル方向を上方向と下方向との両方向であると認識する。
頻度比較部95は、ピークレベル方向クラスタップの波形から認識されたピークレベル方向に基づいて、注目画素を、複数のピークレベル方向クラスのうち、ピークレベル方向クラスタップの波形から認識されたピークレベル方向(上方向、下方向、又は両方向)を表すクラスにクラス分けし、そのクラス分けにより得られた注目画素のピークレベル方向クラスに対応するピークレベル方向クラスコードを、レベル制限クラス分類部62、及びレベル成分クラス特定部63に出力する。
図8は、図5の予測タップ抽出部30により抽出されるレベル制限クラスタップ、ピークレベル方向クラスタップ抽出部31により抽出されるピークレベル方向クラスタップ、及び波形クラスタップ抽出部32により抽出される波形クラスタップの一例を示している。
図8Aには、黒丸(●)により示す対応画素を中心として、横×縦が9×9個の合計81個の画素により構成されるピークレベル方向クラスタップが示されている。
また、図8Bには、黒丸(●)により示す対応画素を中心として、菱形13個の画素により構成されるレベル制限クラスタップ(予測タップ)が示されている。
さらに、図8Cには、黒丸(●)により示す対応画素を中心として、十字型9個の画素により構成される波形クラスタップが示されている。
次に、図9を参照して、ピークレベル方向分類部61が行うピークレベル方向分類処理を説明する。
図9は、ピークレベル方向分類部61のヒストグラム生成部91により生成されるヒストグラムの一例を示している。
図9において、横軸は、画素の画素値を示しており、縦軸は、横軸の画素値に対応する画素数(度数)を示している。
ヒストグラム生成部91は、ピークレベル方向クラスタップ抽出部31からのピークレベル方向クラスタップ(図8A)に基づいて、ピークレベル方向クラスタップのヒストグラム(図9)を生成し、最大値最小値取得部92に供給する。
最大値最小値取得部92は、ヒストグラム生成部91からのヒストグラムのうち、最大の画素値Max及び最小の画素値Minを取得し、ヒストグラム生成部91からのヒストグラムとともに、区間分割部93に供給する。
区間分割部93は、最大値最小値取得部92からの最大の画素値Max及び最小の画素値Minに基づいて、最大値最小値取得部92からのヒストグラムを、式(2)に示す区間1、及び式(3)に示す区間2の2つの区間に分割し、頻度検出部94に供給する。
頻度検出部94は、区間分割部93からの、区間1及び区間2に分割されたヒストグラムに基づいて、区間1内の画素数を頻度Freq1として検出するとともに、区間2内の画素数を頻度Freq2として検出して、頻度比較部95に供給する。
頻度比較部95は、頻度検出部94からの頻度Freqnと閾値Freqthを比較することにより、式(4)を満たすか否かを判定し、その判定結果に基づいて、ピークレベル方向クラスタップのピークレベル方向を認識する。
また、頻度比較部95は、判定結果により認識されたピークレベル方向に基づいて、注目画素を、複数のピークレベル方向クラスのうち、判定結果により認識された認識されたピークレベル方向を表すクラスにクラス分けし、そのクラス分けにより得られた注目画素のピークレベル方向クラスに対応するピークレベル方向クラスコードを、レベル制限クラス分類部62、及びレベル成分クラス特定部63に出力する。
次に、ピークレベル方向クラスタップのピークレベル方向を認識し、そのピークレベル方向から得られる注目画素のピークレベル方向クラスに対応するピークレベル方向クラスコードを出力する頻度比較部95について、図10及び図11を参照して説明する。
図10は、ピークレベル方向が、上方向、下方向、又は両方向であるピークレベル方向クラスタップの波形の一例を示している。
図10Aないし図10Cにおいて、横軸は、画素の位置を示しており、縦軸は、画素の画素値を示している。
図10Aには、ピークレベル方向が上方向であるピークレベル方向クラスタップの波形が示されている。ピークレベル方向が上方向であるピークレベル方向クラスタップの波形は、図10Aの上方向に画素値のピークレベル(極値)を有する上に凸の波形であって、ピークレベル方向クラスタップを構成する複数の画素の画素値が、図10Aに示すピークレベルと比較して低い画素値に偏在する波形を示している。
また、図10Bには、ピークレベル方向が下方向であるピークレベル方向クラスタップの波形が示されている。ピークレベル方向が下方向であるピークレベル方向クラスタップの波形は、図10Bの下方向に画素値のピークレベルを有する下に凸の波形であって、ピークレベル方向クラスタップを構成する複数の画素の画素値が、図10Bに示すピークレベルと比較して高い画素値に偏在する波形を示している。
さらに、図10Cには、ピークレベル方向が両方向であるピークレベル方向クラスタップの波形が示されている。ピークレベル方向が両方向であるピークレベル方向クラスタップの波形は、上に凸の波形と、下に凸の波形とにより構成され、上方向及び下方向のいずれにも、画素値のピークレベルを有する波形であって、ピークレベル方向クラスタップを構成する複数の画素の画素値が、同程度、低い画素値と高い画素値とに存在する波形を示している。
図11は、頻度比較部95から出力されるピークレベル方向クラスコードを示している。
図11において、左から1番目の欄には、注目画素が、ピークレベル方向分類処理によりクラス分けされるピークレベル方向クラスに対応するピークレベル方向クラスコードP1,P2及びP3が示されている。
図11において、左から2番目の欄には、区間1内の画素数を表す頻度Freq1が式(4)を満たす場合、式(4)が真であることを示す値1が示されており、区間1内の画素数を表す頻度Freq1が式(4)を満たさない場合、式(4)が偽であることを示す値0が示されている。
また、左から3番目の欄には、区間2内の画素数を表す頻度Freq2が式(4)を満たす場合、式(4)が真であることを示す値1が示されており、区間2内の画素数を表す頻度Freq2が式(4)を満たさない場合、式(4)が偽であることを示す値0が示されている。
さらに、左から4番目の欄には、ピークレベル方向クラスタップのピークレベル方向が示されている。
図11の2行目に示すように、頻度検出部94からの頻度Freq1についての式(4)が真(値1)であり、かつ、頻度検出部94からの頻度Freq2についての式(4)が偽(値0)である場合、ピークレベル方向クラスタップの波形は、図10Aに示したように、画素値がピークレベルと比較して低い画素値に偏在し、ピークレベル方向が上方向の波形となる。
この場合、頻度比較部95は、注目画素を、ピークレベル方向クラスタップのピークレベル方向が上方向であることを示すピークレベル方向クラスにクラス分けし、そのピークレベル方向クラスに対応するピークレベル方向クラスコードP1を、レベル制限クラス分類部62、及びレベル成分クラス特定部63に供給する。
また、図11の3行目に示すように、頻度検出部94からの頻度Freq1についての式(4)が偽(値0)であり、かつ、頻度検出部94からの頻度Freq2についての式(4)が真(値1)である場合、ピークレベル方向クラスタップの波形は、図10Bに示したように、画素値がピークレベルと比較して高い画素値に偏在し、ピークレベル方向が下方向の波形となる。
この場合、頻度比較部95は、注目画素を、ピークレベル方向クラスタップのピークレベル方向が下方向であることを示すピークレベル方向クラスにクラス分けし、そのピークレベル方向クラスに対応するピークレベル方向クラスコードP2を、レベル制限クラス分類部62、及びレベル成分クラス特定部63に供給する。
さらに、図11の4行目に示すように、頻度検出部94からの頻度Freq1についての式(4)、及び頻度Freq2についての式(4)がいずれも真(値1)である場合、ピークレベル方向クラスタップの波形は、図10Cに示したように、画素値が低い画素値と高い画素値とに同程度に存在し、ピークレベル方向が両方向の波形となる。
この場合、頻度比較部95は、注目画素を、ピークレベル方向クラスタップのピークレベル方向が両方向であることを示すピークレベル方向クラスにクラス分けし、そのピークレベル方向クラスに対応するピークレベル方向クラスコードP3を、レベル制限クラス分類部62、及びレベル成分クラス特定部63に供給する。
次に、図12は、図6のレベル制限クラス分類部62の詳細な構成例を示している。
レベル制限クラス分類部62は、許容レベル幅算出部121、DR算出部122、及びレベル制限クラス特定部123により構成される。
許容レベル幅算出部121には、予測タップ抽出部30から、レベル制限クラスタップとともに、ピークレベル方向分類部61から、注目画素のピークレベル方向クラスに対応するピークレベル方向クラスコードが供給される。
許容レベル幅算出部121は、予測タップ抽出部30からのレベル制限クラスタップを構成する複数の画素の画素値のうち、最大の画素値又は最小の画素値のいずれか一方、及びピークレベル方向分類部61からのピークレベル方向クラスコードが表すピークレベル方向に基づいて、注目画素の許容レベル幅LWを取得する許容レベル幅取得処理を行う。
許容レベル幅算出部121は、許容レベル幅取得処理により得られた注目画素の許容レベル幅LWを、レベル制限クラス特定部123に供給する。
DR算出部122には、予測タップ抽出部30から、レベル制限クラスタップが供給される。
DR算出部122は、予測タップ抽出部30からのレベル制限クラスタップのダイナミックレンジDRを算出し、レベル制限クラス特定部123に供給する。
レベル制限クラス特定部123は、許容レベル幅算出部121からの許容レベル幅LWを、DR算出部122からのレベル制限クラスタップのダイナミックレンジDRにより除算することにより、許容レベル幅LWとダイナミックレンジDRとの比ratio(=LW/DR)を算出する。
また、レベル制限クラス特定部123は、許容レベル幅LW、及びダイナミックレンジDRから算出した比ratioに基づいて、その比ratioに対応するレベル制限クラスを、注目画素のレベル制限クラスとして、複数のレベル制限クラスの中から特定する。
即ち、例えば、注目画素を、レベル制限クラス1とレベル制限クラス2との2つのクラスのうちのいずれかのクラスにクラス分けする場合、レベル制限クラス特定部123は、比ratioが、閾値0以上であって、かつ、閾値0.5以下であるとき、注目画素のレベル制限クラスをレベル制限クラス1に特定し、比ratioが、閾値0.5以上であるとき、注目画素のレベル制限クラスをレベル制限クラス2に特定する。
なお、レベル制限クラスは、レベル制限クラス1とレベル制限クラス2との2つのクラスに限定されるものではなく、レベル制限クラス特定部123は、閾値の設定の仕方により、3以上のレベル制限クラスの中から、注目画素のレベル制限クラスを特定することが可能である。
レベル制限クラス特定部123は、注目画素のレベル制限クラスに対応するレベル制限クラスコードを、レベル成分クラス特定部63に出力する。
次に、図13及び図14を参照して、図12の許容レベル幅算出部121が行う許容レベル幅取得処理の詳細を説明する。
なお、許容レベル幅取得処理では、ピークレベル方向クラスコードに応じて、それぞれ異なる取得方法により、許容レベル幅LWを取得する。
図13は、ピークレベル方向クラスコードが、ピークレベル方向クラスタップのピークレベル方向として上方向又は下方向を示す場合に、許容レベル幅LWを取得する取得方法を説明する図である。
図13において、縦軸は、画素の画素値を示している。なお、図14においても同様である。
また、図13左側には、ピークレベル方向が上方向であるピークレベル方向クラスタップの波形が示されている。さらに、図13右側には、ピークレベル方向が下方向であるピークレベル方向クラスタップの波形が示されている。
なお、図13左側及び図13右側に示されるピークレベル方向クラスタップの波形は、対応画素(黒色で示す)を中心として、水平方向に並ぶ9画素により構成されるピークレベル方向クラスタップの波形を示している。
また、ピークレベル方向クラスタップは、レベル制限クラスタップを含むように構成されており、レベル制限クラスタップは、対応画素と、その対応画素に水平方向に隣接する2画素との合計3画素により構成されている。このことは、図14においても同様である。
許容レベル幅算出部121は、ピークレベル方向分類部61からのピークレベル方向クラスコードが、ピークレベル方向クラスタップのピークレベル方向として上方向を示している場合、図13左側に示すように、上限レベル(値255)から、レベル制限クラスタップを構成する、対応画素と対応画素に水平方向に隣接する2画素との合計3画素の画素値のうちの最大の画素値Maxpを減算し、許容レベル幅LW(=255-Maxp)を算出する。
ここで、レベル制限クラスタップ(を含むピークレベル方向クラスタップ)の波形が上に凸の波形である場合、注目画素の予測値は、レベル制限クラスタップを構成する複数の画素それぞれの画素値よりも大きな値となる。従って、レベル制限クラスタップを構成する複数の画素の画素値が上限レベル255付近に存在する場合に、注目画素の予測値は、上限レベル255を上回りやすい傾向にある。
そして、注目画素の予測値は、上限レベル255を上回ったとき、上限レベル255に置き換えられてしまう。
従って、この場合、注目画素の予測値が真値として許容される範囲は、レベル制限クラスタップを構成する複数の画素それぞれの画素値(画素値Maxp)以上であって、上限レベル255以下の範囲となり、この範囲の幅を、許容レベル幅LWとしている。
また、許容レベル幅算出部121は、ピークレベル方向分類部61からのピークレベル方向クラスコードが、ピークレベル方向クラスタップのピークレベル方向として下方向を示している場合、図13右側に示すように、レベル制限クラスタップを構成する、対応画素と対応画素に水平方向に隣接する2画素との合計3画素の画素値のうちの最小の画素値Minp(=Minp-0)を、そのまま、許容レベル幅LWとする。
ここで、レベル制限クラスタップの波形が下に凸の波形である場合、注目画素の予測値は、レベル制限クラスタップを構成する複数の画素それぞれの画素値よりも小さな値となる。従って、レベル制限クラスタップを構成する複数の画素の画素値が下限レベル0付近に存在する場合に、注目画素の予測値は、下限レベル0を下回りやすい傾向にある。
そして、注目画素の予測値は、下限レベル0を下回ったとき、下限レベル0に置き換えられてしまう。
従って、この場合、注目画素の予測値が真値として許容される範囲は、レベル制限クラスタップを構成する複数の画素それぞれの画素値(画素値Minp)以下であって、下限レベル0以上の範囲となり、この範囲の幅を、許容レベル幅LWとしている。
図14は、ピークレベル方向クラスコードが、ピークレベル方向クラスタップのピークレベル方向として両方向を示す場合に、許容レベル幅LWを取得する取得方法を説明する図である。
図14左側及び図14右側には、ピークレベル方向が両方向であるピークレベル方向クラスタップの波形が示されている。
また、図14左側に示されたピークレベル方向クラスタップの対応画素の画素値は、Minp+[Maxp-Minp+1]/2以上であり、図14右側に示されたピークレベル方向クラスタップの対応画素の画素値は、Minp+[Maxp-Minp+1]/2未満である。
許容レベル幅算出部121は、ピークレベル方向分類部61からのピークレベル方向クラスコードが、ピークレベル方向クラスタップのピークレベル方向として両方向を示している場合、対応画素の画素値が、Minp+[Maxp-Minp+1]/2以上であるか否かを判定し、その判定結果に基づいて、許容レベル幅LWを算出する。
即ち、例えば、許容レベル幅算出部121は、対応画素の画素値が、Minp+[Maxp-Minp+1]/2以上であると判定したとき、図14左側に示すように、上限レベルから、レベル制限クラスタップを構成する、対応画素と対応画素に水平方向に隣接する2画素との合計3画素の画素値のうちの最大の画素値Maxpを減算し、許容レベル幅LW(=255-Maxp)を算出する。
また、例えば、許容レベル幅算出部121は、対応画素の画素値が、Minp+[Maxp-Minp+1]/2未満であると判定したとき、図14右側に示すように、レベル制限クラスタップを構成する、対応画素と対応画素に水平方向に隣接する2画素との合計3画素の画素値のうちの最小の画素値Minpを、そのまま、許容レベル幅LWとする。
許容レベル幅算出部121は、許容レベル幅取得処理により取得された許容レベル幅LWを、レベル制限クラス特定部123に供給する。
レベル制限クラス特定部123は、許容レベル幅算出部121からの許容レベル幅LWを、DR算出部122からのレベル制限クラスタップのダイナミックレンジDRにより除算することにより、許容レベル幅LWとダイナミックレンジDRとの比ratio(=LW/DR)を算出する。
次に、図15を参照して、図12のレベル制限クラス特定部123により算出される比ratioの一例を説明する。
波形A(図15左側)、波形B(図15中央)、及び波形C(図15右側)は、それぞれ、対応画素(黒丸で示す)を中心として、水平方向に並ぶ9個の画素により構成されるレベル制限クラスタップの波形であって、上に凸の形状を有する波形である。
なお、図13及び図14において、レベル制限クラスタップは、対応画素と対応画素に水平方向に隣接する2画素との合計3画素により構成されることとしたが、図15では、レベル制限クラスタップは、対応画素を中心として、水平方向に並ぶ9個の画素により構成されることとして説明している。
波形Aにおいて画素値が最大の対応画素xAの画素値は、波形Bにおいて画素値が最大の対応画素xBの画素値よりも大きいため、波形Aの許容レベル幅LWAは、波形Bの許容レベル幅LWBよりも狭い幅となっている。また、波形Bにおいて画素値が最大の対応画素xBの画素値は、波形Cにおいて画素値が最大の対応画素xCの画素値と同一の値であるため、波形Bの許容レベル幅LWBと波形Cの許容レベル幅LWCとは、同一の広さの幅となっている。
波形AのダイナミックレンジDRAは、波形BのダイナミックレンジDRBと同一の値であり、波形CのダイナミックレンジDRCは、波形AのダイナミックレンジDRAよりも大きな値である。
上述したように、波形Aの許容レベル幅LWAは、波形Bの許容レベル幅LWBよりも狭いとともに、波形AのダイナミックレンジDRAと、波形BのダイナミックレンジDRBとは同一の値であるため、波形Aにおける比ratio(=LWA/DRA)は、波形Bにおける比ratio(=LWB/DRB)よりも小さいものとなる。
また、上述したように、波形Bの許容レベル幅LWBは、波形Cの許容レベル幅LWCと同一の値であるとともに、波形BのダイナミックレンジDRBは、波形CのダイナミックレンジDRCよりも小さいため、波形Bにおける比ratio(=LWB/DRB)は、波形Cにおける比ratio(=LWC/DRC)よりも大きいものとなる。
ところで、許容レベル幅LWが狭い程、ダイナミックレンジDRが大きい程、注目画素の予測値は、上限レベル255を上回ってしまう傾向にある。
従って、上限レベルを上回ったり、下限レベルを下回ったりする注目画素の予測値が予測されにくくするために、レベル制限クラス特定部123では、許容レベル幅LW、及びダイナミックレンジDRから算出した比ratio(=LW/DR)に対応するレベル制限クラスを、注目画素のレベル制限クラスとして、複数のレベル制限クラスの中から特定している。
次に、図16のフローチャートを参照して、図5の画像処理装置1が行う画像変換処理を説明する。
ステップS1において、予測タップ抽出部30は、第1の画像データの変換結果となる第2の画像データを構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。
また、ステップS1では、予測タップ抽出部30は、その注目画素を予測する予測演算に用いるための予測タップとして、注目画素に対応する、第1の画像データの対応画素を含む、その対応画素の周囲に存在する複数の画素を、供給された第1の画像データから抽出し、予測演算部36に供給する。
さらに、ステップS1において、予測タップ抽出部30は、注目画素を、複数のレベル成分クラスのうちのいずれかにクラス分けするレベル成分クラス分類処理に含まれるレベル制限クラス分類処理に用いるためのレベル制限クラスタップとして、第1の画像データから抽出した予測タップを、レベル成分クラス分類部33に供給する。
ステップS2において、ピークレベル方向クラスタップ抽出部31は、注目画素を、複数のレベル成分クラスのうちのいずれかにクラス分けするレベル成分クラス分類処理に含まれるピークレベル方向分類処理に用いるためのピークレベル方向クラスタップとして、対応画素を含む、その対応画素の周囲に存在する複数の画素を、供給された第1の画像データから抽出し、レベル成分クラス分類部33に供給する。
ステップS3において、波形クラスタップ抽出部32は、注目画素を、複数の波形パターンクラスのうちのいずれかにクラス分けする波形パターンクラス分類処理に用いるための波形クラスタップとして、対応画素を含む、その対応画素の周囲に存在する複数の画素を、供給された第1の画像データから抽出し、波形パターンクラス分類部34に供給する。
ステップS4において、レベル成分クラス分類部33は、予測タップ抽出部30からのレベル制限クラスタップ、及びピークレベル方向クラスタップ抽出部31からのピークレベル方向クラスタップに基づいて、注目画素を、複数のレベル成分クラスのうちのいずれかにクラス分けするレベル成分クラス分類処理を行い、その結果得られる注目画素のレベル成分クラスに対応するレベル成分クラスコードを、係数ROM35に供給する。
ステップS5において、波形パターンクラス分類部34は、波形クラスタップ抽出部32からの波形クラスタップの波形に基づいて、注目画素を、複数の波形パターンクラスのうち、波形クラスタップ抽出部32からの波形クラスタップの波形の特徴を表すクラスにクラス分けする波形パターンクラス分類処理を行い、その結果得られる注目画素の波形パターンクラスに対応する波形パターンクラスコードを、係数ROM35に供給する。
ステップS6において、係数ROM35は、記憶している予測係数のセットのうち、レベル成分クラス分類部33からのレベル成分クラスコードと波形パターンクラス分類部34からの波形パターンクラスコードとの組合せに対応するアドレスに記憶されている予測係数(レベル成分クラス分類部33からのレベル成分クラスコードが表すレベル成分クラスと、波形パターンクラス分類部34からの波形パターンクラスコードが表す波形パターンクラスとの組合せに対応する予測係数)を、予測演算部36に出力する。
ステップS7において、予測演算部36は、予測タップ抽出部30からの予測タップを構成する複数の画素と、係数ROM35が出力する予測係数とを用いて、注目画素を予測する所定の予測演算を行う。
以上のようにして、第2の画像データを構成する画素すべてを注目画素とすることにより、画像処理装置1に入力された第1の画像データを、第2の画像データに変換したときに、図16の画像変換処理は終了される。
次に、図17のフローチャートを参照して、図16のステップS4におけるレベル成分クラス分類処理の詳細を説明する。
ステップS31において、ピークレベル方向分類部61は、ピークレベル方向クラスタップ抽出部31からのピークレベル方向クラスタップを構成する複数の画素の画素値のヒストグラムに基づいて、注目画素を、複数のピークレベル方向クラスのうち、ピークレベル方向クラスタップ抽出部31からのピークレベル方向クラスタップのピークレベル方向を表すクラスにクラス分けするピークレベル方向分類処理を行い、その結果得られた注目画素のピークレベル方向クラスに対応するピークレベル方向クラスコードを、レベル制限クラス分類部62、及びレベル成分クラス特定部63に供給する。
ステップS32において、レベル制限クラス分類部62は、ピークレベル方向分類部61からのピークレベル方向クラスコードが表すピークレベル方向と、予測タップ抽出部30からのレベル制限クラスタップとに応じて求められる許容レベル幅LWと、予測タップ抽出部30からのレベル制限クラスタップのダイナミックレンジDRとの比に基づいて、注目画素を、複数のレベル制限クラスのうち、許容レベル幅LWとダイナミックレンジDRとの比に対応するクラスにクラス分けするレベル制限クラス分類処理を行い、その結果得られた注目画素のレベル制限クラスに対応するレベル制限クラスコードを、レベル成分クラス特定部63に供給する。
ステップS33において、レベル成分クラス特定部63は、ピークレベル方向分類部61からのピークレベル方向クラスコード、及びレベル制限クラス分類部62からのレベル制限クラスコードの組合せに基づいて、注目画素のレベル成分クラスを、複数のレベル成分クラスの中から特定する。
以上のように図17のレベル成分クラス分類処理が行われた後、レベル成分クラス特定部63は、特定された注目画素のレベル成分クラスに対応するレベル成分クラスコードを、係数ROM35に出力して、処理は、図16のステップS4にリターンされる。
次に、図18のフローチャートを参照して、図17のステップS31のピークレベル方向分類処理の詳細を説明する。
ステップS61において、ヒストグラム生成部91は、ピークレベル方向クラスタップ抽出部31からのピークレベル方向クラスタップを構成する複数の画素の画素値のヒストグラムを生成し、最大値最小値取得部92に供給する。
ステップS62において、最大値最小値取得部92は、ヒストグラム生成部91からのピークレベル方向クラスタップのヒストグラムに基づいて、ピークレベル方向クラスタップを構成する複数の画素の画素値のうち、最大の画素値Maxと最小の画素値Minとを取得(検出)し、ヒストグラム生成部91からのヒストグラムとともに、区間分割部93に供給する。
ステップS63において、区間分割部93は、最大値最小値取得部92からの最大の画素値Maxと最小の画素値Minとに対して、式(1)を適用することにより区間幅stepを算出し、最大値最小値取得部92からのヒストグラムを、式(2)の区間1、及び式(3)の区間2の2つの区間に分割し、頻度検出部94に供給する。
ステップS64において、頻度検出部94は、区間分割部93からの、区間1及び区間2に分割されたヒストグラムに基づいて、区間1内の画素数を頻度Freq1として検出するとともに、区間2内の画素数を頻度Freq2として検出し、頻度比較部95に供給する。
ステップS65において、頻度比較部95は、頻度検出部94からの頻度Freqnと閾値Freqthを比較することにより、式(4)を満たすか否かを判定し、その判定結果に基づいて、ピークレベル方向クラスタップのピークレベル方向を認識する。
また、ステップS65において、頻度比較部95は、判定結果により認識されたピークレベル方向クラスタップのピークレベル方向に基づいて、注目画素を、複数のピークレベル方向クラスのうちのいずれかのクラスにクラス分けする。
以上のようにして、図18のピークレベル方向分類処理が行われた後、頻度比較部95は、図18のピークレベル方向分類処理の結果得られた注目画素のピークレベル方向クラスに対応するピークレベル方向クラスコードを、レベル制限クラス分類部62、及びレベル成分クラス特定部63に供給して、処理は、図17のステップS31にリターンされる。
次に、図19のフローチャートを参照して、図17のステップS32におけるレベル制限クラス分類処理の詳細を説明する。
ステップS91において、許容レベル幅算出部121は、予測タップ抽出部30からのレベル制限クラスタップを構成する複数の画素の画素値のうち、最大の画素値又は最小の画素値のいずれか一方、及びピークレベル方向分類部61からのピークレベル方向クラスコードが表すピークレベル方向に基づいて、注目画素の許容レベル幅LWを算出する許容レベル幅取得処理を行い、その結果得られた許容レベル幅LWを、レベル制限クラス特定部123に供給する。
ステップS92において、DR算出部122は、予測タップ抽出部30からのレベル制限クラスタップのダイナミックレンジDRを算出し、レベル制限クラス特定部123に供給する。
ステップS93において、レベル制限クラス特定部123は、許容レベル幅算出部121からの許容レベル幅LWを、DR算出部122からのレベル制限クラスタップのダイナミックレンジDRにより除算することにより、許容レベル幅LWとダイナミックレンジDRとの比ratio(=LW/DR)を算出し、その比ratioに対応するレベル制限クラスを、注目画素のレベル制限クラスとして、複数のレベル制限クラスの中から特定する。
以上のようにして、図19のレベル制限クラス分類処理が行われた後、レベル制限クラス特定部123は、特定された注目画素のレベル制限クラスに対応するレベル制限クラスコードを、レベル成分クラス特定部63に出力して、処理は、図17のステップS32にリターンされる。
次に、図20のフローチャートを参照して、図19のステップS91における許容レベル幅取得処理の詳細を説明する。
ステップS121において、許容レベル幅算出部121は、ピークレベル方向分類部61からのピークレベル方向クラスコードが、ピークレベル方向クラスタップ抽出部31が出力したピークレベル方向クラスタップのピークレベル方向として、上方向、下方向、又は両方向のいずれを示しているかを判定する。
ステップS121で、ピークレベル方向クラスコードが、ピークレベル方向クラスタップのピークレベル方向として上方向を示していると判定された場合、処理は、ステップS122に進められ、許容レベル幅算出部121は、上限レベル(値255)から、レベル制限クラスタップを構成する複数の画素の画素値のうちの最大の画素値Maxpを減算し、許容レベル幅LW(=255-Maxp)を算出して、許容レベル幅取得処理は終了される。
また、ステップS121で、ピークレベル方向クラスコードが、ピークレベル方向クラスタップのピークレベル方向として下方向を示していると判定された場合、処理は、ステップS124に進められ、許容レベル幅算出部121は、レベル制限クラスタップを構成する複数の画素の画素値のうちの最小の画素値Minpを、そのまま、許容レベル幅LWとして、許容レベル幅取得処理は終了される。
さらに、ステップS121で、ピークレベル方向クラスコードが、ピークレベル方向クラスタップのピークレベル方向として両方向を示していると判定された場合、処理は、ステップS123に進められ、許容レベル幅算出部121は、対応画素の画素値が、Minp+[Maxp-Minp+1]/2以上であるか否かを判定する。
ステップS123において、対応画素の画素値が、Minp+[Maxp-Minp+1]/2以上であると判定された場合、処理は、ステップS122に進められ、ピークレベル方向クラスコードが上方向を示している場合と同様に、許容レベル幅算出部121は、上限レベル(値255)から、レベル制限クラスタップを構成する複数の画素の画素値のうちの最大の画素値Maxpを減算し、許容レベル幅LW(=255-Maxp)を算出する。
また、ステップS123において、対応画素の画素値が、Minp+[Maxp-Minp+1]/2以上でないと判定された場合、処理は、ステップS124に進められ、ピークレベル方向クラスコードが下方向を示している場合と同様に、許容レベル幅算出部121は、画素値Minpを、そのまま、許容レベル幅LWとする。
以上のようにして、図20の許容レベル幅取得処理が行われた後、処理は、図19のステップS91にリターンされる。
上述したように、注目画素のレベル制限クラスは、図19のレベル制限クラス分類処理において、許容レベル幅LWと、レベル制限クラスタップのダイナミックレンジDRとの比ratio(=LW/DR)に基づいて特定される。
また、注目画素のレベル成分クラスは、図17のレベル成分クラス分類処理において、注目画素のレベル制限クラスに基づいて特定される。
従って、図17のレベル成分クラス分類処理では、許容レベル幅LWと、レベル制限クラスタップのダイナミックレンジDRとの比ratioを、注目画素を複数のレベル成分クラスのうちのいずれかのクラスにクラス分けするために用いている。
さらに、許容レベル幅LWが狭い程、またダイナミックレンジDRが大きい程、注目画素の予測値は、上限レベルを上回ってしまったり、下限レベルを下回ってしまう傾向にある。
そこで、図16の画像変換処理(レベル成分クラス分類処理を含む)では、許容レベル幅LW、及びレベル制限クラスタップのダイナミックレンジDRを考慮しつつ、注目画素をクラス分けするようにした。これにより、従来のクラス分類適応処理と比較して、注目画素の予測値として、上限レベルを上回ったり、下限レベルを下回ったりすることが抑止されるので、高画質の画像を予測することが可能となる。
次に、図5の予測演算部36における予測演算と、係数ROM35に記憶された予測係数の学習について説明する。
上述したように、画像変換処理として、例えば、高解像度の画像データ(高解像度画像データ)を第2の画像データとするとともに、その高解像度画像データをサブサンプリングする等してその解像度を低下させた低解像度の画像データ(低解像度画像データ)を第1の画像データとして、低解像度画像データから予測タップを抽出し、その予測タップと予測係数を用いて、高解像度画像データの画素(以下、適宜、高解像度画素という)の画素値を、所定の予測演算によって求める(予測する)ことを考える。
所定の予測演算として、例えば、線形1次演算を採用することとすると、高解像度画素の画素値yは、次式(5)の線形1次式によって求められることになる。
但し、式(5)において、xnは、高解像度画素yについての予測タップを構成する、n番目の低解像度画像データの画素(以下、適宜、低解像度画素という)の画素値を表し、wnは、n番目の低解像度画素(の画素値)と乗算されるn番目の予測係数を表す。なお、式(5)では、予測タップが、N個の低解像度画素x1,x2,・・・,xNで構成されるものとしてある。
ここで、高解像度画素の画素値yは、式(5)に示した線形1次式ではなく、2次以上の高次の式によって求めるようにすることも可能である。
いま、第kサンプルの高解像度画素の画素値の真値をykと表すとともに、式(5)によって得られるその真値ykの予測値をyk’と表すと、その予測誤差ekは、次式(6)で表される。
いま、式(6)の予測値yk’は、式(5)にしたがって求められるため、式(6)のyk’を、式(5)にしたがって置き換えると、次式(7)が得られる。
但し、式(7)において、xn,kは、第kサンプルの高解像度画素についての予測タップを構成するn番目の低解像度画素を表す。
式(7)(又は式(6))の予測誤差ekを0とする予測係数wnが、高解像度画素を予測するのに最適なものとなるが、すべての高解像度画素について、そのような予測係数wnを求めることは、一般には困難である。
そこで、予測係数wnが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適な予測係数wnは、次式(8)で表される自乗誤差の総和Eを最小にすることで求めることができる。
但し、式(8)において、Kは、高解像度画素ykと、その高解像度画素ykについての予測タップを構成する低解像度画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
式(8)の自乗誤差の総和Eの最小値(極小値)は、次式(9)に示すように、総和Eを予測係数wnで偏微分したものを0とするwnによって与えられる。
一方、上述の式(7)を予測係数wnで偏微分すると、次式(10)が得られる。
式(9)と式(10)から、次式(11)が得られる。
式(11)のekに、式(7)を代入することにより、式(11)は、次式(12)に示す正規方程式で表すことができる。
式(12)の正規方程式は、例えば、掃き出し法(Gauss-Jordanの消去法)などを用いることにより、予測係数wnについて解くことができる。
式(12)の正規方程式を、波形パターンクラス及びレベル成分クラス(の組合せ)毎にたてて解くことにより、最適な予測係数(ここでは、自乗誤差の総和Eを最小にする予測係数)wnを、波形パターンクラス及びレベル成分クラス毎(波形パターンクラスとレベル成分クラスとの複数の組合せ毎)に求めることができる。
図5の画像処理装置1では、以上のような波形パターンクラス及びレベル成分クラス毎の予測係数を用いて、式(5)の演算を行うことにより、第1の画像データとしての低解像度画像データが、第2の画像データとしての高解像度画像データに変換される。
次に、図21は、式(12)の正規方程式を波形パターンクラス及びレベル成分クラス毎にたてて解くことにより予測係数wnを求める学習を行う学習装置の構成例を示している。
図21の学習装置151は、サブサンプリング部180、予測タップ抽出部181、ピークレベル方向クラスタップ抽出部182、波形クラスタップ抽出部183、レベル成分クラス分類部184、波形パターンクラス分類部185、足し込み部186、及び係数算出部187により構成される。
サブサンプリング部180には、高解像度画像データに相当する画像(学習用の第2の画像データ)が供給される。以下、学習用の第2の画像データを、教師画像ともいう。
サブサンプリング部180は、そこに供給された教師画像をサブサンプリングし、その解像度を低下させることにより低解像度画像データに相当する画像(学習用の第1の画像データ)を生成する。以下、学習用の第1の画像データを、生徒画像ともいう。
サブサンプリング部180は、教師画像をサブサンプリングすることにより得られた生徒画像を、予測タップ抽出部181、ピークレベル方向クラスタップ抽出部182及び波形クラスタップ抽出部183に供給する。
予測タップ抽出部181は、教師画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。さらに、予測タップ抽出部181は、サブサンプリング部180からの生徒画像を構成する画素のうちの所定のものを抽出することにより、図5の予測タップ抽出部30が注目画素について得る予測タップと同一のタップ構造の予測タップ(図5の予測タップ抽出部30が注目画素について得る予測タップを構成する画素と同一の位置関係にある生徒画像の画素からなる予測タップ)を得て、足し込み部186に供給する。
また、予測タップ抽出部181は、図5の予測タップ抽出部30が注目画素について得る予測タップと同一のタップ構造の予測タップを、レベル制限クラスタップとして、レベル成分クラス分類部184に供給する。
ピークレベル方向クラスタップ抽出部182は、サブサンプリング部180から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図5のピークレベル方向クラスタップ抽出部31が注目画素について得るピークレベル方向クラスタップと同一のタップ構造のピークレベル方向クラスタップ(図5のピークレベル方向クラスタップ抽出部31が注目画素について得るピークレベル方向クラスタップを構成する画素と同一の位置関係にある生徒画像の画素からなるピークレベル方向クラスタップ)を得て、レベル成分クラス分類部184に供給する。
波形クラスタップ抽出部183は、サブサンプリング部180から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図5の波形クラスタップ抽出部32が注目画素について得る波形クラスタップと同一のタップ構造の波形クラスタップ(図5の波形クラスタップ抽出部32が注目画素について得る波形クラスタップを構成する画素と同一の位置関係にある生徒画像の画素からなる波形クラスタップ)を得て、波形パターンクラス分類部185に供給する。
レベル成分クラス分類部184は、予測タップ抽出部181からのレベル制限クラスタップ、及びピークレベル方向クラスタップ抽出部182からのピークレベル方向クラスタップに基づいて、図5のレベル成分クラス分類部33と同一のレベル成分クラス分類処理を行い、その結果得られた注目画素のレベル成分クラスに対応するレベル成分クラスコードを、足し込み部186に供給する。
波形パターンクラス分類部185は、波形クラスタップ抽出部183からの波形クラスタップの波形に基づいて、図5の波形パターンクラス分類部34と同一の波形パターンクラス分類処理を行い、その結果得られた注目画素の波形パターンクラスに対応する波形パターンクラスコードを、足し込み部186に供給する。
足し込み部186には、サブサンプリング部180から出力される生徒画像に対応する教師画像が供給される。足し込み部186は、そこに供給された教師画像の注目画素(の画素値)と、予測タップ抽出部181からの注目画素についての予測タップを構成する生徒画像の画素とを対象とした足し込みを、レベル成分クラス分類部184からのレベル成分クラスコード及び波形パターンクラス分類部185からの波形パターンクラスコード毎に行う。
即ち、足し込み部186には、教師画像を構成する画素のうちの注目画素の画素値yk、予測タップ抽出部181が出力する注目画素についての予測タップを構成する生徒画像の画素の画素値xn,k、レベル成分クラス分類部184が出力する、注目画素のレベル成分クラスを表すレベル成分クラスコード、及び波形パターンクラス分類部185が出力する、注目画素の波形パターンクラスを表す波形パターンクラスコードが供給される。
そして、足し込み部186は、レベル成分クラス分類部184からのレベル成分クラスコードに対応するレベル成分クラス、及び波形パターンクラス分類部185からの波形パターンクラスコードに対応する波形パターンクラス毎に、予測タップ(生徒画像)xn,kを用い、式(12)の左辺の行列における生徒画像どうしの乗算(xn,kxn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部186は、やはり、レベル成分クラス分類部184からのレベル成分クラスコードに対応するレベル成分クラス、及び波形パターンクラス分類部185からの波形パターンクラスコードに対応する波形パターンクラス毎に、予測タップ(生徒画像)xn,kと教師画像ykを用い、式(12)の右辺のベクトルにおける生徒画像xn,k及び教師画像ykの乗算(xn,kyk)と、サメーション(Σ)に相当する演算を行う。
即ち、足し込み部186は、前回、注目画素とされた教師画像について求められた式(12)における左辺の行列のコンポーネント(Σxn,kxn',k)と、右辺のベクトルのコンポーネント(Σxn,kyk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kxn',k)又はベクトルのコンポーネント(Σxn,kyk)に対して、新たに注目画素とされた教師画像について、その教師画像yk+1及び生徒画像xn,k+1を用いて計算される、対応するコンポーネントxn,k+1xn',k+1又はxn,k+1yk+1を足し込む(式(12)のサメーションで表される加算を行う)。
そして、足し込み部186は、教師画像の画素すべてを注目画素として、上述の足し込みを行うことにより、レベル成分クラスと波形パターンクラスとの複数の組合せそれぞれについて、式(12)に示した正規方程式をたてると、その正規方程式を、係数算出部187に供給する。
係数算出部187は、足し込み部186から供給された、レベル成分クラスと波形パターンクラスとの複数の組合せそれぞれについての正規方程式を解くことにより、レベル成分クラスと波形パターンクラスとの複数の組合せそれぞれについて、予測係数wnを求めて出力する。
次に、図22のフローチャートを参照して、図21の学習装置151が行う学習処理を説明する。
ステップS151において、サブサンプリング部180は、供給された教師画像をサブサンプリングして、その解像度を低下させることにより生徒画像を生成し、予測タップ抽出部181、ピークレベル方向クラスタップ抽出部182及び波形クラスタップ抽出部183に供給する。
ステップS152において、予測タップ抽出部181は、教師画像を構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とする。
ステップS153において、予測タップ抽出部181は、サブサンプリング部180からの生徒画像を構成する画素のうちの所定のものを抽出することにより、図5の予測タップ抽出部30が注目画素について得る予測タップと同一のタップ構造の予測タップ(図5の予測タップ抽出部30が注目画素について得る予測タップを構成する画素と同一の位置関係にある生徒画像の画素からなる予測タップ)を得て、足し込み部186に供給する。
また、ステップS153において、予測タップ抽出部181は、図5の予測タップ抽出部30が注目画素について得る予測タップと同一のタップ構造の予測タップを、レベル制限クラスタップとして、レベル成分クラス分類部184に供給する。
ステップS154において、ピークレベル方向クラスタップ抽出部182は、サブサンプリング部180から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図5のピークレベル方向クラスタップ抽出部31が注目画素について得るピークレベル方向クラスタップと同一のタップ構造のピークレベル方向クラスタップ(図5のピークレベル方向クラスタップ抽出部31が注目画素について得るピークレベル方向クラスタップを構成する画素と同一の位置関係にある生徒画像の画素からなるピークレベル方向クラスタップ)を得て、レベル成分クラス分類部184に供給する。
ステップS155において、波形クラスタップ抽出部183は、サブサンプリング部180から供給された生徒画像を構成する画素のうちの所定のものを抽出することにより、図5の波形クラスタップ抽出部32が注目画素について得る波形クラスタップと同一のタップ構造の波形クラスタップ(図5の波形クラスタップ抽出部32が注目画素について得る波形クラスタップを構成する画素と同一の位置関係にある生徒画像の画素からなる波形クラスタップ)を得て、波形パターンクラス分類部185に供給する。
ステップS156において、レベル成分クラス分類部184は、予測タップ抽出部181からのレベル制限クラスタップ、及びピークレベル方向クラスタップ抽出部182からのピークレベル方向クラスタップに基づいて、図5のレベル成分クラス分類部33と同一のレベル成分クラス分類処理を行い、その結果得られた注目画素のレベル成分クラスに対応するレベル成分クラスコードを、足し込み部186に供給する。
ステップS157において、波形パターンクラス分類部185は、波形クラスタップ抽出部183からの波形クラスタップの波形に基づいて、図5の波形パターンクラス分類部34と同一の波形パターンクラス分類処理を行い、その結果得られた注目画素の波形パターンクラスに対応する波形パターンクラスコードを、足し込み部186に供給する。
ステップS158において、足し込み部186は、そこに供給された教師画像の注目画素(の画素値)と、予測タップ抽出部181からの注目画素についての予測タップを構成する生徒画像の画素とを対象とした足し込みを、レベル成分クラス分類部184からのレベル成分クラスコード及び波形パターンクラス分類部185からの波形パターンクラスコード毎に行う。
処理は、ステップS158からステップS159に進められ、予測タップ抽出部181は、教師画像を構成する画素のうち、まだ注目画素とされていない画素が存在するか否かを判定する。
ステップS159において、まだ注目画素とされていない画素が存在すると判定された場合、ステップS152に戻り、予測タップ抽出部181は、まだ注目画素とされていない教師画像を構成する画素のうちの1つを、新たな注目画素として、処理は、ステップS153に進められ、以下、同様の処理を繰り返す。
一方、ステップS159において、まだ注目画素とされていない画素が存在しないと判定された場合、即ち、足し込み部186においては、教師画像の画素すべてを注目画素として、上述の足し込みを行うことにより、レベル成分クラス及び波形パターンクラスの組合せそれぞれについて、式(12)に示した正規方程式が得られた場合、処理は、ステップS160に進められ、足し込み部186は、正規方程式を、係数算出部187に供給する。
そして、処理は、ステップS160からステップS161に進められ、係数算出部187は、足し込み部186から供給された、レベル成分クラス及び波形パターンクラスの組合せそれぞれについての正規方程式を解くことにより、レベル成分クラス及び波形パターンクラスの組合せそれぞれについて、予測係数wnを求めて出力して、図22の学習処理は終了される。
以上のように、図22の学習処理におけるステップS156のレベル成分クラス分類処理では、許容レベル幅LWと、レベル制限クラスタップのダイナミックレンジDRとの比ratioを、注目画素を複数のレベル成分クラスのうちのいずれかのクラスにクラス分けするために用いている。
さらに、許容レベル幅LWが狭い程、またダイナミックレンジDRが大きい程、注目画素の予測値は、上限レベルを上回ってしまったり、下限レベルを下回ってしまう傾向にある。
そこで、図22の学習処理では、許容レベル幅LW、及びレベル制限クラスタップのダイナミックレンジDRを考慮しつつ、注目画素をクラス分けするようにした。これにより、従来のクラス分類適応処理と比較して、注目画素の予測値として、上限レベルを上回ったり、下限レベルを下回ったりすることを抑止する予測係数、即ち、高画質の画像を予測できる予測係数を学習(生成)することが可能となる。
次に、図23は、レベル成分クラス分類処理、及び波形パターンクラス分類処理を行う図16の画像変換処理により、図22の学習処理に用いた生徒画像を用いて、その生徒画像に対応する教師画像を予測した場合と、レベル成分クラス分類処理を行わずに波形パターンクラス分類処理のみを行う従来の画像変換処理により、生徒画像を用いて、その生徒画像に対応する教師画像を予測した場合とで、予測された教師画像の予測値が上限レベル以上、又は下限レベル未満となる教師画像の画素数を比較したシミュレーションの結果を示している。
なお、シミュレーションに用いた生徒画像は8bitの画像データであり、上限レベルは255、下限レベルは0である。
図23に示すように、レベル成分クラス分類処理を行わずに波形パターンクラス分類のみを行う従来の画像変換処理では、予測された教師画像の予測値が下限レベル未満になる画素数が、231687個であり、予測値が上限レベル以上になる画素数が、896917個である。
また、レベル成分クラス分類処理を行うとともに、波形パターンクラス分類を行う図16の画像変換処理では、予測された教師画像の予測値が下限レベル未満になる画素数が、160357個であり、予測値が上限レベル以上になる画素数が、710933個である。
図23に示すシミュレーションの結果から、図16の画像変換処理では、従来の画像変換処理と比較して、予測された教師画像の予測値が、下限レベル未満、又は上限レベル以上になりにくいことがわかる。従って、図16の画像変換処理によれば、より高画質の画像を予測することが可能であるといえる。
上記実施の形態において、図17のレベル成分クラス分類処理におけるステップS33では、図6のレベル成分クラス特定部63が、ピークレベル方向分類部61からのピークレベル方向クラスコード、及びレベル制限クラス分類部62からのレベル制限クラスコードの組合せに基づいて、注目画素のレベル成分クラスを特定し、特定された注目画素のレベル成分クラスに対応するレベル成分クラスコードを出力することとしたが、注目画素のレベル制限クラスに対応するレベル制限クラスコードを、そのまま、注目画素のレベル成分クラスに対応するレベル成分クラスコードとして採用するようにしてもよい。
すなわち、例えば、図17のレベル成分クラス分類処理におけるステップS32において、図6のレベル制限クラス分類部62が、注目画素を、複数のレベル制限クラスのうちのいずれかのクラスにクラス分けするレベル制限クラス分類処理を行い、その結果得られた注目画素のレベル制限クラスに対応するレベル制限クラスコードを、注目画素のレベル成分クラスに対応するレベル成分クラスコードとして、係数ROM35に出力するようにしてもよい。
この場合、図17のレベル成分クラス分類処理におけるステップS33を省略することができるため、ステップS33の処理を行う場合と比較して、レベル成分クラス分類処理を迅速に行うことが可能となる。
また、上記実施の形態において、図21の学習装置151では、高解像度画像データに相当する画像を教師画像とするとともに、教師画像をサブサンプリングすることにより得られた低解像度画像データに相当する画像を生徒画像として、レベル成分クラス及び波形パターンクラス毎の予測係数を算出することとしたが、その他、同一の被写体を解像度が異なるカメラで撮像し、解像度が高いカメラで撮像して得られた画像を教師画像とするとともに、解像度が低いカメラで撮像して得られた画像を生徒画像として、レベル成分クラス及び波形パターンクラス毎の予測係数を算出するようにすることが可能である。
なお、本発明を適用した画像処理装置としては、例えば、テレビジョン受像機や、ハードディスクレコーダ等を採用することができる。
ところで、上述した図16の画像変換処理、及び図22の学習処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、いわゆる組み込み型のコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
図24は、上述した図16の画像変換処理、及び図22の学習処理をプログラムにより実行するコンピュータの構成例を示すブロック図である。
CPU(Central Processing Unit)201は、ROM(Read Only Memory)202、または記憶部208に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
CPU201にはまた、バス204を介して入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行する。そして、CPU201は、処理の結果を出力部207に出力する。
入出力インタフェース205に接続されている記憶部208は、例えばハードディスクからなり、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
また、通信部209を介してプログラムを取得し、記憶部208に記憶してもよい。
入出力インタフェース205に接続されているドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部208に転送され、記憶される。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図24に示されるように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini-Disc)を含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211、または、プログラムが一時的もしくは永続的に格納されるROM202や、記憶部208を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部209を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 画像処理装置, 30 予測タップ抽出部, 31 ピークレベル方向クラスタップ抽出部, 32 波形クラスタップ抽出部, 33 レベル成分クラス分類部, 34 波形パターンクラス分類部, 35 係数ROM, 36 予測演算部, 61 ピークレベル方向分類部, 62 レベル制限クラス分類部, 63 レベル成分クラス特定部, 91 ヒストグラム生成部, 92 最大値最小値取得部, 93 区間分割部, 94 頻度検出部, 95 頻度比較部, 121 許容レベル幅算出部, 122 DR算出部, 123 レベル制限クラス特定部, 151 学習装置, 180 サブサンプリング部, 181 予測タップ抽出部, 182 ピークレベル方向クラスタップ抽出部, 183 波形クラスタップ抽出部, 184 レベル成分クラス分類部, 185 波形パターンクラス分類部, 186 足し込み部, 187 係数算出部