以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の一実施の形態に係る学習装置の構成例を示すブロック図である。
この学習装置10は、画像の高画質化処理に用いられる学習装置とされ、入力された生徒画像および教師画像(または教師信号)のデータに基づいて、高画質化処理において用いられる係数を生成するようになされている。ここで、高画質化処理は、例えば、ノイズの含まれる画像からノイズが除去された画像を生成する処理、ぼけのある画像からぼけのない画像を生成する処理、低解像度の画像から高解像度の画像を生成する処理、あるいはそれらの複合問題を解決する処理などとされる。
学習装置10は、生徒画像を入力画像として、教師画像に近い高画質の画像を出力画像として生成するための係数である回帰係数を学習するようになされている。詳細は後述するが、回帰係数は、入力画像の注目画素に対応する複数の画素の値から得られる特徴量をパラメータとし、高画質化された画像において注目画素に対応する画素の値を演算する線形一次式に用いられる係数とされる。なお、回帰係数は、後述するクラス番号毎に学習される。
また、学習装置10は、入力画像の注目画素に対応する複数の画素値およびそれらの画素値から得られる特徴量に基づいて、注目画素を、複数のクラスのうちのいずれかにクラス分けする。すなわち、学習装置10は、入力画像の注目画素のそれぞれが、高画質化処理のためのどのクラスに属する画素であるかを特定するための判別係数を学習するようになされている。詳細は後述するが、判別係数は、入力画像の注目画素に対応する複数の画素の値から得られる特徴量をパラメータとする線形一次式に用いられる係数とされる。
すなわち、学習装置10により学習された判別係数を用いて、入力画像の注目画素に対応する複数の画素値およびそれらの画素値から得られる特徴量をパラメータとした線形一次式の演算を繰り返し実行することにより、高画質化処理のためのクラスが特定されるようになされている。そして、特定されたクラスに対応する回帰係数を用いて、入力画像の注目画素に対応する複数の画素値およびそれらの画素値から得られる特徴量をパラメータとした線形一次式の演算を実行することにより、高画質化された画像の画素値が演算されるようになされている。
学習装置10においては、例えば、教師画像としてノイズのない画像を入力され、生徒画像として教師画像に対してノイズを付加した画像が入力される。
生徒画像のデータは、回帰係数学習部21、回帰予測部23、判別係数学習部25、および判別予測部27に供給される。
回帰係数学習部21は、生徒画像を構成する画素の中から所定の画素を注目画素として設定する。そして、回帰係数学習部21は、生徒画像の注目画素とその周辺の画素値から、注目画素に対応する教師画像画素値を予測するための回帰予測演算式の係数を、例えば、最小二乗法を用いて学習する。
教師画像の画素値ti(i=1,2,..N)とし、予測値yi(i=1,2,..N)とおくと、式(1)が成立する。ここでNは、生徒画像の画素と教師画像の画素との全サンプル数を表すものとする。
ここで、εi(i=1,2,..N)は、誤差項である。
予測値yiは、回帰係数wを用いた線形モデルを仮定すると、生徒画像の画素値xij(i=1,2,..N,j=1,2,・・・M)を用いて、式(2)のように表現できる。
なお、wTは、行列式として表されるwの転置行列を表している。woは、バイアスパラメータであり、定数項である。なお、Mの値は、後述するタップの要素数に対応する。
式(2)において、パラメータとして用いられるxiは、生徒画像の注目画素を中心とする所定の位置の画素の値のそれぞれを要素するベクトルとされる。以下、式(2)において、パラメータとして用いられるxiを、タップと称することにする。
図2は、タップの要素となる画素の例を示す図である。同図は、水平方向をx軸で表し、垂直方向をy軸で表した2次元の図であり、注目画素の周辺の25個の画素(xi1乃至xi25)によりタップが構成されている。いまの場合、注目画素は、xi13の画素であり、xi13の画素の位置が、式(2)により予測される教師画像の画素の位置(位相)に対応する。
回帰係数学習部22は、式(2)の係数wおよびバイアスパラメータwoを学習して、回帰係数記憶部22に記憶するようになされている。
上記においては、注目画素の周辺の25個の画素(xi1乃至xi25)の値によりタップが構成される例について説明した。この場合、タップは、生徒画像から得られる線形特徴量により構成されていることになる。
しかしながら、タップに、生徒画像から得られる非線形特徴量が含まれるようにすることで、予測の精度をさらに高めることが可能となる。生徒画像から得られる非線形特徴量の例として、注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値が挙げられる。
注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値の演算に用いる式の例を式(3)に示す。
式(3)における水平微分絶対値および垂直微分絶対値の演算には、ソーベル演算子が用いられており、xijで表される注目画素を中心として、図3に示されるようなフィルタ処理を施すことにより水平微分絶対値および垂直微分絶対値が求められる。
図3は、水平方向をx軸で表し、垂直方向をy軸で表した2次元の図であり、注目画素の周辺の9個の画素のそれぞれを対象とするフィルタが示されている。図中円で示される部分に示される数値が、それぞれの位置の画素値に乗じられることになる。
図4は、水平微分値の演算の例を説明する図である。同図の例では、xi12と記された画素とその周辺の9個の画素それぞれを対象とするフィルタ処理の演算例が示されている。なお、同図では、図中円で示された画素にそれぞれ記されたxi12などの値が、そのまま画素値を表すものとする。
式(3)により、水平微分絶対値および垂直微分絶対値を求める場合、注目画素を中心としたM個の画素のそれぞれに対応する水平微分絶対値および垂直微分絶対値が求められることになる。例えば、図2に示されるように注目画素とその周辺の画素25個をタップに含める場合、Mの値が25となるから、1つの注目画素に対して水平微分絶対値が25個、垂直微分絶対値が25個求められることになる。
また、生徒画像から得られる非線形特徴量の例として、注目画素の周辺の画素値の最大値および最小値、並びに上述した水平微分絶対値の最大値および垂直微分絶対値の最大値が挙げられる。注目画素の周辺の画素値の最大値および最小値、並びに上述した水平微分絶対値の最大値および垂直微分絶対値の最大値は、式(4)により求めることができる。
このように、タップに、生徒画像から得られる非線形特徴量が含まれるようにすることで、予測の精度をさらに高めることが可能となる。詳細は後述するが、例えば、ノイズが含まれた入力画像に基づいてノイズのない画像の画素値を予測する場合、タップに、生徒画像から得られる非線形特徴量が含まれるようにすることで、画像のS/N比を0.3から0.5dB(デシベル)向上させることができる。
回帰予測演算式の係数を、最小二乗法を用いて学習する場合、上述したように構成されるタップを用いて求められた予測値を式(1)に代入し、式(1)の誤差項の全サンプル分の自乗和を式(5)により演算する。
そして、式(5)の誤差項の全サンプル分の自乗和Eが最小となるような、回帰係数をつぎのようにして導出する。
式(6)のS(xx)、S(xt)は、それぞれ生徒画像、教師画像の分散・共分散を要素とする行列とベクトルであり、各要素は、式(7)により求めることができる。
また、式(2)のバイアスパラメータwoは、式(6)を用いて式(9)のように求めることができる。
なお、式(2)において定数項であるバイアスパラメータwoは含まれないようにすることも可能である。
このようにして得られる係数wは、上述したタップの要素数と同じ要素数のベクトルとなる。回帰係数学習部21により得られた係数wは、回帰予測によって、高画質化された画像の画素値を予測するための演算に用いられる係数であり、回帰係数wと称することにする。なお、バイアスパラメータwoも広義の回帰係数であるものとし、必要に応じて回帰係数wに対応付けられて記憶されるものとする。
例えば、図2に示されるように、生徒画像から得られる線形特徴量のみによってタップが構成される場合、タップの要素数は25個となり、回帰係数wのベクトルの要素数も25個となる。また、図2に示される生徒画像から得られる線形特徴量に、式(3)により得られる、注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値を非線形特徴量として加えたものをタップとする場合、タップの要素数は75(=25+25+25)個となるので、回帰係数wのベクトルの要素数も75個となる。さらに、式(4)により得られる、注目画素の周辺の画素値の最大値および最小値、並びに水平微分絶対値の最大値および垂直微分絶対値の最大値を、非線形特徴量として加えたものをタップとする場合、タップの要素数は79(=25+25+25+2+2)個となるので、回帰係数wのベクトルの要素数も79個となる。
図1に戻って、回帰係数学習部21により得られた回帰係数wは、回帰係数記憶部22に記憶される。
回帰予測部23は、生徒画像を構成する画素の中から所定の画素を注目画素として設定する。そして、回帰予測部23は、図2を参照して上述した、注目画素とその周辺の画素値からなるタップ、図2の注目画素とその周辺の画素値、並びに式(3)により求められる注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値からなるタップ、または、図2の注目画素とその周辺の画素値、式(3)により求められる注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値、並びに式(4)により求められる注目画素の周辺の画素値の最大値および最小値と、上述した水平微分絶対値の最大値および垂直微分絶対値の最大値とからなるタップを取得する。
回帰予測部23は、式(2)にタップと回帰係数w(必要に応じてバイアスパラメータwoも含む)を代入して予測値yiを演算する。
ラベリング部24は、回帰予測部23により演算された予測値yiを、教師画像の画素値である真値tiと比較する。ラベリング部24は、例えば、予測値yiが真値ti以上となった注目画素を判別クラスAとしてラベリングし、予測値yiが真値ti未満となった注目画素を判別クラスBとしてラベリングする。すなわち、ラベリング部24は、回帰予測部23の演算結果に基づいて、生徒画像の各画素を判別クラスAと判別クラスBに分類するのである。
図5は、ラベリング部24の処理を説明するヒストグラムである。同図の横軸は、予測値yiから真値tiを引いた差分値を表し、縦軸は、その差分値が得られたサンプル(教師画像の画素と生徒画像の画素との組み合わせ)の相対頻度を表している。
同図に示されるように、回帰予測部23の演算により、予測値yiから真値tiを引いた差分値が0となったサンプルの頻度が最も高くなっている。差分値が0である場合、回帰予測部23により正確な予測値(=真値)が演算されたことになり、適切に高画質化の処理がなされたことになる。すなわち、回帰係数学習部21により回帰係数wが学習されたので、式(2)により正確な予測値が演算される可能性は高いといえる。
しかし、差分値が0以外のものについては、正確な回帰予測がなされたとはいえない。そうであれば、より適切な回帰係数wを学習する余地があると考えられる。
本発明では、例えば、予測値yiが真値ti以上となった注目画素のみを対象として回帰係数wを学習すれば、それらの注目画素に対してより適切な回帰係数wを学習することができ、予測値yiが真値ti未満となった注目画素のみを対象として回帰係数wを学習すれば、それらの注目画素に対してより適切な回帰係数wを学習することができると仮定する。このため、ラベリング部24は、回帰予測部23の演算結果に基づいて、生徒画像の各画素を判別クラスAと判別クラスBに分類する。
そして、この後、判別係数学習部25の処理によって、生徒画像の画素値に基づいて、各画素を判別クラスAと判別クラスBに分類するための予測演算に用いられる係数が学習されるのである。すなわち、本発明においては、真値が不明であっても、入力画像の画素値に基づいて各画素を判別クラスAと判別クラスBに分類できるようにするのである。
ここでは、ラベリング部24が生徒画像の各画素をラベリングすると説明したが、ラベリングの単位は、正確には教師画像の画素値である真値tiに対応する生徒画像のタップ(注目画素周辺画素値や非線形特徴量を含むベクトル)毎に1個ずつラベリングされることになる。
また、ここでは、予測値yiが真値ti以上となった注目画素と、予測値yiが真値ti未満となった注目画素とを判別してラベリングする例について説明したが、他の方式でラベリングするようにしてもよい。例えば、予測値yiと真値tiの差分絶対値が予め設定された閾値未満の値となった注目画素を判別クラスAとしてラベリングし、予測値yiと真値tiの差分絶対値が予め設定された閾値以上の値となった注目画素を判別クラスBとしてラベリングするようにしてもよい。さらに、それ以外の方式で注目画素を判別クラスAと判別クラスBにラベリングしてもよい。以下では、予測値yiが真値ti以上となった注目画素と、予測値yiが真値ti未満となった注目画素とを判別してラベリングする場合の例について説明する。
図1に戻って、判別係数学習部25は、生徒画像を構成する画素の中から所定の画素を注目画素として設定する。そして、判別係数学習部25は、生徒画像の注目画素とその周辺の画素値から、判別クラスAと判別クラスBを判定するための予測値の演算に用いられる係数を、例えば、最小二乗法を用いて学習する。
判別係数の学習においては、生徒画像の注目画素とその周辺の画素値から、判別クラスAと判別クラスBを判定するための予測値yiが式(10)により求められるものとする。
なお、zTは、行列式として表されるzの転置行列を表している。zoは、バイアスパラメータであり、定数項である。なお、Mの値は、タップの要素数に対応する。
式(2)の場合と同様に、式(10)において、パラメータとして用いられるxiをタップと称する。判別係数の学習におけるタップは、回帰係数の学習におけるタップと同様とする。すなわち、図2を参照して上述した、注目画素とその周辺の画素値からなるタップ、図2の注目画素とその周辺の画素値、並びに式(3)により求められる注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値からなるタップ、または、図2の注目画素とその周辺の画素値、式(3)により求められる注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値、並びに式(4)により求められる注目画素の周辺の画素値の最大値および最小値と、上述した水平微分絶対値の最大値および垂直微分絶対値の最大値とからなるタップとされる。
判別係数学習部25は、式(10)の係数zおよびバイアスパラメータzoを学習して、判別係数記憶部26に記憶するようになされている。
判別予測演算式の係数を、最小二乗法を用いて学習する場合、上述したように構成されるタップを用いて求められた予測値を式(1)に代入し、式(1)の誤差項の全サンプル分の自乗和を式(11)により演算する。
式(11)のS(AB)は、式(12)により求められる値を要素とする行列である。
式(12)のNAとNBは、それぞれ判別クラスAと判別クラスBに属するサンプルの総数である。
また、式(12)のSA jkとSB jkは、それぞれ判別クラスAと判別クラスBに属するサンプル(タップ)を用いて求めた分散・共分散値であり、式(13)により求められる。
式(10)のバイアスパラメータzoは、式(11)を用いて式(15)のように求めることができる。
なお、式(15)において定数項であるバイアスパラメータzoは含まれないようにすることも可能である。
このようにして得られる係数zは、上述したタップの要素数と同じ要素数のベクトルとなる。判別係数学習部25により得られた係数zは、所定の注目画素が判別クラスAまたは判別クラスBのいずれに属するかを予測するための演算に用いられる係数であり、判別係数zと称することにする。なお、バイアスパラメータzoも広義の判別係数であるものとし、必要に応じて判別係数zに対応付けられて記憶されるものとする。
例えば、図2に示されるように、生徒画像から得られる線形特徴量のみによってタップが構成される場合、タップの要素数は25個となり、判別係数zのベクトルの要素数も25個となる。また、図2に示される生徒画像から得られる線形特徴量に、式(3)により得られる、注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値を非線形特徴量として加えたものをタップとする場合、タップの要素数は75(=25+25+25)個となるので、判別係数zのベクトルの要素数も75個となる。さらに、式(4)により得られる、注目画素の周辺の画素値の最大値および最小値、並びに水平微分絶対値の最大値および垂直微分絶対値の最大値を、非線形特徴量として加えたものをタップとする場合、タップの要素数は79(=25+25+25+2+2)個となるので、判別係数zのベクトルの要素数も79個となる。
このようにして学習された係数zを用いて判別予測部27により予測値が演算されて生徒画像の注目画素が判別クラスAに属するものであるか判別クラスBに属するものであるかを判定することができる。判別予測部27は、式(10)にタップと判別係数z(必要に応じてバイアスパラメータzoも含む)を代入して予測値yiを演算する。
そして、判別予測部27による演算の結果、予測値yiが0以上となったタップの注目画素は、判別クラスAに属する画素であり、予測値yiが0未満となったタップの注目画素は、判別クラスBに属する画素であるものと推定できる。
しかしながら、判別予測部27による演算の結果に基づく推定が必ずしも真実であるとは限らない。すなわち、式(10)にタップと判別係数zを代入して演算された予測値yiは、教師画像の画素値(真値)に係らず、生徒画像の画素値から予測した結果であるから、実際には判別クラスAに属する画素が判別クラスBに属する画素として推定されてしまったり、実際には判別クラスBに属する画素が判別クラスAに属する画素として推定されてしまうことがある。
そこで、本発明においては、反復して判別係数を学習させることにより、より精度の高い予測を可能とする。
すなわち、クラス分割部28が、判別予測部27の予測結果に基づいて、生徒画像を構成する各画素を、判別クラスAに属する画素と判別クラスBに属する画素とに分割する。
そして、回帰係数学習部21が、クラス分割部28により判別クラスAに属する画素のみを対象として、上述した場合と同様に回帰係数wを学習して回帰係数記憶部22に記憶する。回帰予測部23は、クラス分割部28により判別クラスAに属するとされた画素のみを対象として、上述した場合と同様に回帰予測による予測値を演算する。
このようにして、得られた予測値と真値とを比較して、ラベリング部24がクラス分割部28により判別クラスAに属するとされた画素を、さらに判別クラスAと判別クラスBにラベリングする。
また、回帰係数学習部21が、クラス分割部28により判別クラスBに属するとされた画素のみを対象として、上述した場合と同様に回帰係数wを学習する。回帰予測部23は、クラス分割部28により判別クラスBに属するとされた画素のみを対象として、上述した場合と同様に回帰予測による予測値を演算する。
このようにして、得られた予測値と真値とを比較して、ラベリング部24がクラス分割部28により判別クラスBに属するとされた画素を、さらに判別クラスAと判別クラスBにラベリングする。
つまり、生徒画像の画素が、4つの集合に分割されることになる。第1の集合は、クラス分割部28により判別クラスAに属するとされた画素であって、ラベリング部24により判別クラスAにラベリングされた画素の集合とされる。第2の集合は、クラス分割部28により判別クラスAに属するとされた画素であって、ラベリング部24により判別クラスBにラベリングされた画素の集合とされる。第3の集合は、クラス分割部28により判別クラスBに属するとされた画素であって、ラベリング部24により判別クラスAにラベリングされた画素の集合とされる。第4の集合は、クラス分割部28により判別クラスBに属するとされた画素であって、ラベリング部24により判別クラスBにラベリングされた画素の集合とされる。
この後、判別係数学習部25は、上述した4つの集合のうち、第1の集合と第2の集合に基づいて、あらためて判別係数zを、上述した場合と同様にして学習する。このとき、例えば、式(12)のNAとNBが、それぞれ第1の集合の画素(サンプル)の総数と第2の集合の画素(サンプル)の総数とされる。また、判別係数学習部25は、上述した4つの集合のうち、第3の集合と第4の集合に基づいて、あらためて判別係数zを、上述した場合と同様にして学習する。このとき、例えば、式(12)のNAとNBが、それぞれ第3の集合の画素(サンプル)の総数と第4の集合の画素(サンプル)の総数とされる。
図6と図7は、反復して行われる判別係数の学習を説明する図である。
図6は、生徒画像から得られたタップ値であって、タップ値1を横軸とし、タップ値2を縦軸として生徒画像のタップのそれぞれを表す空間を示した図である。すなわち、同図においては、説明を簡単にするために、仮想的にタップの要素数を2個として生徒画像において存在し得る全てのタップを2次元空間上に表している。従って、同図においては、タップが2個の要素からなるベクトルであるものと仮定する。
同図に示される円71は、ラベリング部24が最初に判別クラスAとラベリングした画素に対応するタップの集合を表しており、円72は、ラベリング部24が最初に判別クラスBとラベリングした画素に対応するタップの集合を表している。円71に示される記号73は、円71に含まれるタップの要素の値の平均値の位置を表しており、円71に示される記号74は、円72に含まれるタップの要素の値の平均値の位置を表している。
同図に示されるように、円71と円72は、互いに重なり合っているので、生徒画像から得られたタップの要素の値のみに基づいて、正確に判別クラスAとラベリングした画素に対応するタップと判別クラスBとラベリングした画素に対応するタップとを判別することはできなかったことになる。
しかしながら、記号73と記号74とに基づいて、おおよそ2つのクラスを判別するための境界線75を特定することは可能である。ここで、境界線75を特定する処理が、判別係数学習部25により行われる第1回目の学習により得られた判別係数zを用いた判別予測部27の判別予測の処理に対応することになる。なお、境界線75上に位置するタップが、式(10)により演算された予測値yiが0となったタップである。
境界線75の図中右側に位置するタップの集合を識別するために、クラス分割部28がそれらのタップに対応する画素にクラスコードビット1を付与する。また、境界線75の図中左側に位置するタップの集合を識別するために、図1のクラス分割部28がそれらのタップに対応する画素にクラスコードビット0を付与する。
なお、第1回目の学習により得られた判別係数zは、第1回目の判別予測に用いられる判別係数であることを表すコードなどに対応付けられて、図1の判別係数記憶部26に記憶される。また、第1回目の判別予測の結果に基づいて、クラスコードビット1が付与された画素のみに基づいて、あらためて回帰係数wが学習されて回帰予測が行われる。同様に、第1回目の判別予測の結果に基づいて、クラスコードビット0が付与された画素のみに基づいて、あらためて回帰係数wが学習されて回帰予測が行われる。
そして、クラスコードビット1が付与された画素群と、クラスコードビット0が付与された画素群のそれぞれに基づいて判別係数の学習が繰り返される。その結果、クラスコードビット1が付与された画素群がさらに2つに分割され、クラスコードビット2が付与された画素群もさらに2つに分割されることになる。このときの分割は、判別係数学習部25により行われる第2回目の学習により得られた判別係数zを用いた判別予測部27の判別予測によりなされることになる。
なお、第2回目の学習により得られた判別係数zは、第2回目の判別予測に用いられる判別係数であることを表すコードなどに対応付けられて、図1の判別係数記憶部26に記憶される。第2回目の学習により得られる判別係数zは、第1回目の判別予測によりクラスコードビット1が付与された画素群と、第1回目の判別予測によりクラスコードビット0が付与された画素群のそれぞれを対象として行われる判別予測に用いられるので、いずれの画素群を対象とする判別予測に用いられるものであるのかを表すコードなどに対応付けられて、図1の判別係数記憶部26に記憶される。すなわち、第2回目の判別予測に用いられる判別係数zは、2種類記憶されることになる。
また、第1回目と第2回目の判別予測の結果に基づいて、クラスコードビット11が付与された画素のみに基づいて、あらためて回帰係数wが学習されて回帰予測が行われることになる。同様に、第1回目と第2回目の判別予測の結果に基づいて、クラスコードビット10が付与された画素のみに基づいて、あらためて回帰係数wが学習されて回帰予測が行われることになる。さらに、第1回目と第2回目の判別予測の結果に基づいて、クラスコードビット01が付与された画素のみに基づいて、あらためて回帰係数wが学習されて回帰予測が行われ、クラスコードビット00が付与された画素のみに基づいて、あらためて回帰係数wが学習されて回帰予測が行われることになる。
このような処理を繰り返すことにより、図6に示される空間が図7に示されるように分割される。
図7は、図6と同様に、タップ値1を横軸とし、タップ値2を縦軸として生徒画像のタップのそれぞれを表す空間を示した図である。同図では、判別係数学習部25により3回反復して判別係数の学習が行われた場合の例が示されている。すなわち、第1回目の学習により得られた判別係数zを用いた判別予測により境界線75が特定され、第2回目の学習により得られた判別係数zを用いた判別予測により境界線76−1と境界線76−2が特定される。第3回目の学習により得られた判別係数zを用いた判別予測により境界線77−1乃至境界線77−4が特定される。
図1のクラス分割部28は、境界線75により分割されたタップの集合を識別するために、第1ビット目のクラスコードビットを付与し、境界線76−1と境界線76−2により分割されたタップの集合を識別するために、第2ビット目のクラスコードビットを付与し、境界線77−1乃至境界線77−4により分割されたタップの集合を識別するために、第3ビット目のクラスコードビットを付与する。
従って、図7に示されるように、生徒画像のタップのそれぞれは、3ビットのクラスコードに基づいて特定されるクラス番号C0乃至C7の8つのクラスに分割(分類)されることになる。
図7に示されるようにクラス分類された場合、図1の判別係数記憶部26に、第1回目の判別予測に用いられる判別係数zが1種類記憶され、第2回目の判別予測に用いられる判別係数zが2種類記憶され、第3回目の判別予測に用いられる判別係数zが4種類記憶されていることになる。
また、図7に示されるようにクラス分類された場合、図1の回帰係数記憶部22に、クラス番号C0乃至C7のそれぞれに対応する8種類の回帰係数wが記憶されていることになる。ここで、クラス番号C0乃至C7のそれぞれに対応する8種類の回帰係数wは、第3回目の判別予測の結果、クラス番号C0乃至C7のそれぞれに分類された生徒画像の注目画素のタップと、注目画素に対応する教師画像の画素値とをサンプルとし、それぞれのクラス番号毎にあらためて回帰係数の学習が行われて記憶される。
このように、生徒画像と教師画像を用いて予め判別係数zを学習しておき、入力された画像について反復して判別予測を繰り返せば、入力画像の画素をクラス番号C0乃至C7の8つのクラスに分類することが可能となる。そして、8つのクラスに分類された画素に対応するタップと、それぞれのクラスに対応する回帰係数wを用いて回帰予測を行えば、適切な高画質化処理を行うことが可能となる。
図8は、入力画像を図7のようにクラス分類する場合の例を、2分木構造を用いて説明する図である。入力画像の各画素が、第1回目の判別予測によって、第1ビットのクラスコードビット1または0が付与された画素に分類される。このとき、判別予測に用いられる判別係数zは、反復コード1に対応する判別係数zとして図1の判別係数記憶部26に記憶されているものとする。
第1ビットのクラスコードビット1が付与された画素は、第2ビットのクラスコードビット1または0が付与された画素にさらに分類される。このとき、判別予測に用いられる判別係数zは、反復コード21に対応する判別係数zとして図1の判別係数記憶部26に記憶されているものとする。同様に、第1ビットのクラスコードビット0が付与された画素は、第2ビットのクラスコードビット1または0が付与された画素にさらに分類される。このとき、判別予測に用いられる判別係数zは、反復コード22に対応する判別係数zとして図1の判別係数記憶部26に記憶されているものとする。
第1ビットおよび第2ビットのクラスコードビット11が付与された画素は、第3ビットのクラスコードビット1または0が付与された画素にさらに分類される。このとき、判別予測に用いられる判別係数zは、反復コード31に対応する判別係数zとして図1の判別係数記憶部26に記憶されているものとする。第1ビットおよび第2ビットのクラスコードビット10が付与された画素は、第3ビットのクラスコードビット1または0が付与された画素にさらに分類される。このとき、判別予測に用いられる判別係数zは、反復コード32に対応する判別係数zとして図1の判別係数記憶部26に記憶されているものとする。
同様に、第1ビットおよび第2ビットのクラスコードビット01または00が付与された画素も、第3ビットのクラスコードビット1または0が付与された画素にさらに分類される。そして、反復コード33または反復コード34に対応する判別係数zが図1の判別係数記憶部26に記憶されているものとする。
このように、3回反復して判別を行うことにより、入力画像の画素のそれぞれに3ビットからなるクラスコードが設定され、クラス番号が特定される。そして特定されたクラス番号に対応する回帰係数wも特定される。
この例では、クラスコードビットを反復回数順に、上位から下位ビットに繋げた値がクラス番号に対応している。従って、最終的なクラスコードに対応するクラス番号Ckは、例えば、式(16)のようにして特定される。
また、図8に示されるように,反復回数pと最終的なクラス数Ncとの関係は、式(17)により表される。
なお、最終的なクラス数Ncは、最終的に使用する回帰係数wの総数Nmと等しくなる。
判別係数zの総数Ndは、式(18)により表される。
なお、後述する画像処理装置を用いた高画質化処理における判別予測において、適応的に反復回数を減らすことで、処理のロバスト化や高速化を図ることも可能である。そのようにする場合には図8の各分岐において用いられた回帰係数も必要になるので、回帰係数の総数は式(19)により表されるものとなる。
ここでは、主として、判別係数の学習が3回反復して行われる例について説明したが、反復回数は、1回であってもよい。すなわち、第1回目の判別係数の学習が終了した後、判別係数学習部25による判別係数zの演算、判別予測部27による判別予測が繰り返し実行されないようにしてもよい。
図9は、本発明の一実施の形態に係る画像処理装置の構成例を示すブロック図である。
同図の画像処理装置100は、図1の学習装置10に対応する画像処理装置とされる。すなわち、画像処理装置100は、学習装置10により学習された判別係数を用いて入力画像の各画素のそれぞれのクラスを判別する。そして、画像処理装置100は、判別されたクラスに対応する回帰係数であって、学習装置10により学習された判別係数を用いて入力画像から得られるタップの回帰予測演算を行い、入力画像を高画質化する画像処理を行うようになされている。
すなわち、画像処理装置100の判別係数記憶部122には、学習装置10の判別係数記憶部26に記憶されていた判別係数zが予め記憶される。画像処理装置100の回帰係数記憶部124には、学習装置10の回帰係数記憶部22に記憶されていた回帰係数wが予め記憶される。
同図の判別予測部121は、入力画像において注目画素を設定し、注目画素に対応するタップを取得して式(10)を参照して予測した演算を行う。このとき、判別予測部121は、反復回数と判別予測の対象とする画素群に基づいて反復コードを特定し、判別係数記憶部122から反復コードに対応する判別係数zを読み出すようになされている。
クラス分割部123は、判別予測部121の予測結果に基づいて、注目画素にクラスコードビットを付与していくことで、入力画像の画素を2つの集合に分割する。このとき、上述したように、例えば、式(10)により演算された予測値yiと0との大小比較を行って、注目画素にクラスコードビットが付与される。
クラス分割部123の処理を経て、判別予測部121は、反復して判別予測を行い、クラス分割部123によってさらなる分割がなされる。判別予測は、予め設定された回数だけ反復して行われる。例えば、判別予測が3回反復して行われる場合、例えば、図7または図8を参照して上述したように、入力画像が3ビットのクラスコードのクラス番号に対応する画素群に分類されることになる。
なお、画像処理装置100における判別予測の反復回数は、学習装置10による判別係数の学習の反復回数と同じとなるように設定される。
クラス分割部123は、入力画像の各画素を特定する情報とその画素のクラス番号とを対応付けて回帰係数記憶部124に供給するようになされている。
回帰予測部125は、入力画像において注目画素を設定し、注目画素に対応するタップを取得して式(2)を参照して予測した演算を行う。このとき、回帰予測部125は、注目画素を特定する情報を回帰係数記憶部124に供給して、その注目画素のクラス番号に対応する回帰係数wを、回帰係数記憶部124から読み出すようになされている。
そして、回帰予測部125の演算により得られた予測値を、注目画素に対応する画素の値とする出力画像が生成される。これにより、入力画像が高画質化された出力画像が得られることになる。
このように、本発明によれば、入力画像に対して判別予測を行うことにより、入力画像を構成する各画素(実際には、注目画素に対応するタップ)を、高画質化処理に適したクラスに分類することができる。
従来の技術では、例えば、1ビットADRCなどを用いた入力画像の局所特徴量だけに応じた決め打ちのクラス分類になってしまうために、入力画像と教師画像の間を結ぶ回帰係数という意味では、必ずしも効率的な分類になっていないという問題があった。
これに対して、本発明では、ノイズの含まれる画像からノイズが除去された画像を生成する処理、ぼけのある画像からぼけのない画像を生成する処理、低解像度の画像から高解像度の画像を生成する処理など、高画質化処理の目的に応じた適切なクラス分類方式が自動的に学習されるようにすることができる。
また、本発明では、反復して判別予測を行うことにより、より適切にクラス分類することが可能となる。さらに、反復して行われる判別予測の処理の途中において、入力画像の画素値などに処理を施した中間データなどを生成する必要がないので、処理を高速化することが可能である。すなわち、出力画像を予測する際に,どの画素に対しても高々(p+1)回の予測式(式(2))の演算で、クラス分類と回帰予測を行うことができるので高速な処理が可能である。また、クラス分類と回帰予測を行う際に、タップの演算の中間データなどを用いることなく、常に入力に対する演算のみで完結しているために、実装においてパイプライン構造を利用することが可能となる。
次に、図10のフローチャートを参照して、判別係数回帰係数学習処理の詳細について説明する。この処理は、図1の学習装置10により実行される。
ステップS101において、判別係数学習部25は、反復コードを特定する。いまの場合、第1回目の学習の処理であるから反復コードは1と特定される。
ステップS102において、回帰係数学習部21乃至ラベリング部24は、図11を参照して後述するラベリング処理を実行する。ここで、図11のフローチャートを参照して図10のステップS102のラベリング処理の詳細な例について説明する。
ステップS131において、回帰係数学習部21は、図12を参照して後述する回帰係数学習処理を実行する。これにより、生徒画像の画素値に基づいて教師画像の画素値を予測するための演算に用いられる回帰係数wが求められる。
ステップS132において、回帰予測部23は、ステップS131の処理により求められた回帰係数wを用いて回帰予測値を演算する。このとき、例えば、式(2)の演算が行われ、予測値yiが求められる。
ステップS133において、ラベリング部24は、ステップS132の処理により得られた予測値yiを、教師画像の画素値である真値tiと比較する。
ステップS134において、ラベリング部24は、ステップS133の比較結果に基づいて、注目画素(実際には、注目画素に対応するタップ)を判別クラスAまたは判別クラスBにラベリングする。これにより、例えば、図5を参照して上述したように、判別クラスAまたは判別クラスBのラベリングがなされる。
なお、ステップS132乃至ステップS134の処理は、反復コードに対応して定まる処理対象の画素のそれぞれを対象として行われる。
このようにしてラベリング処理が実行される。
次に、図12のフローチャートを参照して、図11のステップS131の回帰係数演算処理の詳細な例について説明する。
ステップS151において、回帰係数学習部21は、ステップS101の処理で特定された反復コードに対応するサンプルを特定する。ここでの、サンプルは、生徒画像の注目画素に対応するタップと、その注目画素に対応する教師画像の画素との組み合わせを意味する。例えば、反復コードが1であれば、第1回目の学習の処理なので、生徒画像の全画素のそれぞれを注目画素としてサンプルが特定される。例えば、反復コードが21であれば、第2回目の学習の処理の一部なので、生徒画像の画素のうち、1回目の学習の処理でクラスコードビット1が付与された画素のそれぞれを注目画素としてサンプルが特定される。例えば、反復コードが34であれば、第3回目の学習の処理の一部なので、生徒画像の画素のうち、1回目の学習の処理でクラスコードビット0が付与され、2回目の学習の処理でクラスコードビット0が付与された画素のそれぞれを注目画素としてサンプルが特定される。
ステップS152において、回帰係数学習部21は、ステップS151の処理で特定されたサンプルの足しこみを行う。このとき、例えば、式(1)にサンプルのタップと教師画像の画素値が足しこまれていく。
ステップS153において、回帰係数学習部21は、全サンプルを足しこんだか否かを判定し、全サンプルを足しこんだと判定されるまで、ステップS152の処理が繰り返し実行される。
ステップS154において、回帰係数学習部21は、式(6)乃至式(9)の演算により回帰係数wを導出する。
このようにして、回帰係数演算処理が実行される。
以上により図10のステップS102のラベリング処理が終了し、処理は、図10のステップS103の判別係数演算処理に進む。
ステップS103において、判別係数学習部25は、図13を参照して後述する判別係数演算処理を実行する。ここで、図13のフローチャートを参照して、図10のステップS103の判別係数演算処理の詳細な例について説明する。
ステップS171において、判別係数学習部25は、ステップS101の処理で特定された反復コードに対応するサンプルを特定する。ここでの、サンプルは、生徒画像の注目画素に対応するタップと、注目画素についての判別クラスAまたは判別クラスBのラベリングの結果との組み合わせを意味する。例えば、反復コードが1であれば、第1回目の学習の処理なので、生徒画像の全画素のそれぞれを注目画素としてサンプルが特定される。例えば、反復コードが21であれば、第2回目の学習の処理の一部なので、生徒画像の画素のうち、1回目の学習の処理でクラスコードビット1が付与された画素のそれぞれを注目画素としてサンプルが特定される。例えば、反復コードが34であれば、第3回目の学習の処理の一部なので、生徒画像の画素のうち、1回目の学習の処理でクラスコードビット0が付与され、2回目の学習の処理でクラスコードビット0が付与された画素のそれぞれを注目画素としてサンプルが特定される。
ステップS172において、判別係数学習部25は、ステップS171の処理で特定されたサンプルの足しこみを行う。このとき、例えば、式(11)にサンプルのタップと、判別クラスAまたは判別クラスBのラベリングの結果に基づく数値が足しこまれていく。
ステップS173において、判別係数学習部25は、全サンプルを足しこんだか否かを判定し、全サンプルを足しこんだと判定されるまで、ステップS172の処理が繰り返し実行される。
ステップS174において、判別係数学習部25は、式(12)乃至式(15)の演算により判別係数zを導出する。
このようにして、判別係数演算処理が実行される。
図10に戻って、ステップS104において、判別予測部23は、ステップS103の処理により求められた係数zと、生徒画像から得られるタップを用いて、判別予測値を演算する。このとき、例えば、式(10)の演算が行われ、予測値yi(判別予測値)が求められる。
ステップS105において、クラス分割部28は、ステップS104の処理により求められた判別予測値が0以上であるか否かを判定する。
ステップS105において、判別予測値が0以上であると判定された場合、処理は、ステップS106に進み、当該注目画素(実際にはタップ)にクラスコードビット1が設定される。一方、ステップS105において、判別予測値が0未満であると判定された場合、処理は、ステップS107に進み、当該注目画素(実際にはタップ)にクラスコードビット0が設定される。
なお、ステップS104乃至ステップS107の処理は、反復コードに対応して定まる処理対象の画素のそれぞれを対象として行われる。
ステップS106、またはステップS107の処理の後、処理は、ステップS108に進み、判別係数記憶部26は、ステップS103の処理で求められた判別係数zを、ステップS101で特定された反復コードに対応付けて記憶する。
ステップS109において、学習装置10は、反復が終了したか否かを判定する。例えば、3回反復して学習することが予め設定されている場合、まだ、反復が終了していないと判定され、処理は、ステップS101に戻る。
そして、ステップS101において、あらためて反復コードが特定される。いまの場合、第2回目の学習の最初の処理であるから、反復コードは21と特定される。
そして、同様に、ステップS102乃至S108の処理が実行される。このとき、上述したように、ステップS102の処理と、ステップS103の処理では、生徒画像の画素のうち、1回目の学習の処理でクラスコードビット1が付与された画素のそれぞれを注目画素としてサンプルが特定されることになる。
そして、ステップS109で反復が終了したか否かが判定される。
このように、ステップS109において反復が終了したと判定されるまで、ステップS101乃至S108の処理が繰り返し実行される。3回反復して学習することが予め設定されている場合、ステップS101で反復コードは34であると特定された後、ステップS102乃至S108の処理が実行され、ステップS109において、反復は終了したと判定されることになる。
このように、ステップS101乃至S109の処理が繰り返し実行されたことにより、図8を参照して上述したように、7種類の判別係数zが、それぞれ反復コードに対応付けられて判別係数記憶部26に記憶されたことになる。
ステップS109において、反復は終了したと判定された場合、処理は、ステップS110に進む。
ステップS110において、回帰係数学習部21は、回帰係数演算処理を実行する。この処理は、図12のフローチャートを参照して上述した場合と同様なので、詳細な説明は省略するが、いまの場合、ステップS151では、反復コードに対応するサンプルが特定されるのではなく、各クラス番号に対応するサンプルがそれぞれ特定される。
すなわち、ステップS101乃至S109の処理が繰り返し実行されたことにより、図8を参照して上述したように、生徒画像の各画素は、クラス番号C0乃至C7のいずれかのクラスに分類されたことになる。従って、生徒画像のクラス番号C0の画素を、注目画素としてサンプルが特定されて、第1の回帰係数wが導出される。また、生徒画像のクラス番号C1の画素を、注目画素としてサンプルが特定されて、第2の回帰係数wが導出され、生徒画像のクラス番号C2の画素を、注目画素としてサンプルが特定されて、第3の回帰係数wが導出され、・・・生徒画像のクラス番号C7の画素を、注目画素としてサンプルが特定されて、第8の回帰係数wが導出される。
つまり、ステップS110の回帰係数演算処理においては、クラス番号C0乃至C7のそれぞれに対応する8種類の回帰係数wが求められることになる。
ステップS111において、回帰係数記憶部22は、ステップS110の処理により求められた8種類の回帰係数wのそれぞれを、クラス番号に対応付けて記憶する。
このようにして、判別回帰係数学習処理が実行される。
なお、ここでは、主として、判別係数の学習が3回反復して行われる例について説明したが、反復回数は、1回であってもよい。すなわち、第1回目の判別係数の学習が終了した後、判別係数学習部25による判別係数zの演算、判別予測部27による判別予測が繰り返し実行されないようにしてもよい。
次に、図14のフローチャートを参照して、判別回帰予測処理の例について説明する。この処理は、図9の画像処理装置100により実行される。また、処理の実行に先立って、画像処理装置100の判別係数記憶部122と回帰係数記憶部124には、それぞれ、図10の判別回帰係数学習処理によって、判別係数記憶部26に記憶された7種類の判別係数zと、回帰係数記憶部22に記憶された8種類の回帰係数wとが記憶されているものとする。
ステップS191において、判別予測部121は、反復コードを特定する。いまの場合、第1回目の判別の処理であるから反復コードは1と特定される。
ステップS192において、判別予測部121は、図15を参照して後述する判別処理を実行する。ここで、図15のフローチャートを参照して、図14のステップS192の判別処理の詳細な例について説明する。
ステップS211において、判別予測部121は、反復コードに対応する注目画素を設定する。例えば、反復コードが1であれば、第1回目の判別の処理なので、入力画像の全画素のそれぞれが注目画素として設定される。例えば、反復コードが21であれば、第2回目の判別の処理の一部なので、入力画像の画素のうち、1回目の判別の処理でクラスコードビット1が付与された画素のそれぞれが注目画素として設定される。例えば、反復コードが34であれば、第3回目の判別の処理の一部なので、入力画像の画素のうち、1回目の判別の処理でクラスコードビット0が付与され、2回目の判別の処理でクラスコードビット0が付与された画素のそれぞれが注目画素として設定される。
ステップS212において、判別予測部121は、ステップS211で設定された注目画素に対応するタップを取得する。
ステップS213において、判別予測部121は、ステップS211の処理で特定された反復コードに対応する判別係数zを特定し、判別係数記憶部122から読み出す。
ステップS214において、判別予測部121は、判別予測値を演算する。このとき、例えば、上述した式(10)の演算が行われることになる。
ステップS215において、クラス分割部123は、ステップS214の処理で演算された判別予測値に基づいて、注目画素にクラスコードビットを設定(付与)する。このとき、上述したように、例えば、式(10)により演算された予測値yiと0との大小比較を行って、注目画素にクラスコードビットが付与される。
なお、ステップS211乃至ステップS215の処理は、反復コードに対応して定まる処理対象の画素のそれぞれを対象として行われる。
このようにして、判別処理が実行される。
図14に戻って、ステップS192の処理の後、ステップS193において、判別予測部121は、反復が終了したか否かを判定する。例えば、3回反復して学習することが予め設定されている場合、まだ、反復が終了していないと判定され、処理は、ステップS191に戻る。
この後、ステップS191では反復コードが21と特定され、同様に、ステップS192の処理が実行される。このとき、上述したように、ステップS192の処理では、入力画像の画素のうち、1回目の判別の処理でクラスコードビット1が付与された画素のそれぞれが注目画素として設定されることになる。
そして、ステップS193で反復が終了したか否かが判定される。
このように、ステップS193において反復が終了したと判定されるまで、ステップS191乃至S193の処理が繰り返し実行される。3回反復して学習することが予め設定されている場合、ステップS191で反復コードは34であると特定された後、ステップS192の処理が実行され、ステップS193において、反復は終了したと判定されることになる。
ステップS193においては、反復が終了したと判定された場合、処理は、ステップS194に進む。なお、ここまでの処理により、図7または図8を参照して上述したように、入力画像が3ビットのクラスコードのクラス番号に対応する画素群に分類されていることになる。また、上述したように、クラス分割部123は、入力画像の各画素を特定する情報とその画素のクラス番号とを対応付けて回帰係数記憶部124に供給するようになされている。
ステップS194において、回帰予測部125は、入力画像において注目画素を設定する。
ステップS195において、回帰予測部125は、ステップS194で設定された注目画素に対応するタップを取得する。
ステップS196において、回帰予測部125は、ステップS194で設定された注目画素を特定する情報を回帰係数記憶部124に供給して、その注目画素のクラス番号に対応する回帰係数wを特定し、回帰係数記憶部124から読み出す。
ステップS197において、回帰予測部125は、ステップS195で取得したタップと、ステップS196で特定して読み出した回帰係数wを用いて式(2)の演算を行い、回帰予測値を演算する。
なお、ステップS191乃至ステップS197の処理は、入力画像の各画素のそれぞれを対象として行われる。
そして、回帰予測部125の演算により得られた予測値を、注目画素に対応する画素の値とする出力画像が生成される。これにより、入力画像が高画質化された出力画像が得られることになる。
このようにして判別予測処理が実行される。このようにすることで、画像の高画質化処理を、より効率的で高速に行うことができる
図16は、本発明の学習装置10と画像処理装置100を用いた高画質化処理の効果を説明する図である。
同図は、横軸を判別係数の学習および判別予測の反復回数とし、縦軸をS/N比とし、ノイズが付加された画像である入力画像に対して、本発明の画像処理装置100または従来の画像処理装置による画像処理を施して得られた画像の特性を示した図である。同図の図中三角形の記号でプロットされた点が、本発明の画像処理装置100による画像処理を施して得られた画像の特性を示し、図中菱形の記号でプロットされた点が、従来の画像処理装置による画像処理を施して得られた画像の特性を示している。
ここで、従来の画像処理装置による画像処理は、図17に示されるようなクラスタップを用いて行われるクラス分類適応処理による画像処理である。すなわち、従来の画像処理装置による画像処理は、入力画像について、図17の図中ハッチングされた円で示される画素を注目画素とし、9(=3×3)個の画素の画素値に基づく1bitADRC (Adaptive Dynamic Range Coding)コードを算出し、その1bitADRCコード毎にクラス分類するものである。従来のクラス分類適応処理による画像処理については、例えば、特開平7−79418号公報などに詳細に記載されている。
図17に示されるようなクラスタップを取得して従来のクラス分類適応処理による画像処理を行う場合、入力画像の各画素は、それぞれ512(=29)通りのクラスに分類されることになる。本発明の学習装置10において、9回反復して判別係数の学習を行った場合、入力画像の各画素が512通りのクラスに分類されることになるから、同図において、本発明の画像処理装置100による画像処理の反復回数9回に対応する位置に、従来の画像処理装置による画像処理が施された画像の特性値が記されている。実際には、従来の画像処理装置による画像処理の反復回数は1回のみである(そもそも従来のクラス分類適応処理による画像処理では反復が想定されていない)。
また、本発明の画像処理装置100においては、図2に示される線形特徴量に、式(3)により得られる、注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値、および式(4)により得られる、注目画素の周辺の画素値の最大値および最小値、並びに水平微分絶対値の最大値および垂直微分絶対値の最大値を、非線形特徴量として加えたものをタップとしている。本発明の画像処理装置100において反復回数pの値を9とした場合、判別係数zの種類の数Nd、および回帰係数wの種類の数Nmは、式(20)により表される。
図16においては、正規乱数ノイズ(σ=10.0)のノイズが含まれた入力画像を、それぞれ本発明の画像処理装置100と、従来の画像処理装置により高画質化処理している。同図のS/N比の値の評価式は、式(21)を用いている。
同図に示されるように、従来の方式と比較して、本発明による画像処理が施された画像の特性は、約1dBほどS/N比の値が改善されている。
図18は、やはり、本発明の学習装置10と画像処理装置100を用いた高画質化処理の効果を説明する図である。
同図は、図16の場合と同様に、横軸を判別係数の学習および判別予測の反復回数とし、縦軸をS/N比とし、ノイズが付加された画像である入力画像に対して、本発明の画像処理装置100または従来の画像処理装置による画像処理を施して得られた画像の特性を示した図である。同図の図中三角形の記号でプロットされた点が、本発明の画像処理装置100による画像処理を施して得られた画像の特性を示し、図中菱形の記号でプロットされた点が、従来の画像処理装置による画像処理を施して得られた画像の特性を示している。
ここで、従来の画像処理装置による画像処理は、図17を参照して上述した場合と同様である。また、本発明の画像処理装置100においては、図16の場合と同様のものをタップとしている。
図18においては、空間的な正規分布状のボケ劣化(σ=1.5)が含まれた入力画像を、それぞれ本発明の画像処理装置100と、従来の画像処理装置により高画質化処理している。同図のS/N比の値の評価式は、式(21)を用いている
同図に示されるように、従来の方式と比較して、本発明による画像処理が施された画像の特性は、約0.5dBほどS/N比の値が改善されている。
図19は、やはり、本発明の学習装置10と画像処理装置100を用いた高画質化処理の効果を説明する図である。
同図は、図16の場合と同様に、横軸を判別係数の学習および判別予測の反復回数とし、縦軸をS/N比とし、ノイズが付加された画像である入力画像に対して、本発明の画像処理装置100または従来の画像処理装置による画像処理を施して得られた画像の特性を示した図である。同図の図中三角形の記号でプロットされた点が、本発明の画像処理装置100による画像処理を施して得られた画像の特性を示し、図中菱形の記号でプロットされた点が、従来の画像処理装置による画像処理を施して得られた画像の特性を示している。
ここで、従来の画像処理装置による画像処理は、図17を参照して上述した場合と同様である。また、本発明の画像処理装置100においては、図16の場合と同様のものをタップとしている。
図19においては、空間的に水平/垂直方向に1/3のサイズに縮小されて帯域劣化した入力画像を、それぞれ本発明の画像処理装置100と、従来の画像処理装置により高画質化処理(いまの場合、画像の拡大処理)している。すなわち、図19の例は、ダウンコン劣化した画像をアップコン(3×3倍)するものである。同図のS/N比の値の評価式は、式(21)を用いている
同図に示されるように、従来の方式と比較して、本発明による画像処理が施された画像の特性は、約0.2dBほどS/N比の値が改善されている。
図16、図18、図19に示されるように、本発明により、従来と比較してより効果的な高画質化処理を行うことが可能となる。
すなわち、本発明によれば、正規乱数ノイズ(σ=10.0)のノイズが含まれた入力画像の場合、空間的な正規分布状のボケ劣化(σ=1.5)が含まれた入力画像の場合、ダウンコン劣化した入力画像の場合のいずれにおいても従来の方式よりも適切に高画質化処理を行うことが可能である。また、図16、図18、図19に示した例以外にも、本発明を、画像の高画質化に関係する様々なアプリケーションプログラムなどに応用することが可能である。例えば、本発明を、ノイズ除去、符号化歪除去、ボケ除去、解像度創造、階調創造、デモザイキング、IP変換等に関係する高画質化処理のアプリケーションプログラムなどに適用することが可能である。
さらに、本発明によれば、ノイズ除去、符号化歪除去、ボケ除去、・・・など画像の劣化原因が複数あった場合でも適切に高画質化処理を行うことができる。例えば、ノイズ、符号化歪、およびボケを含んだ画像であっても、本発明により適切に高画質化処理を施すことが可能である。また、本発明では、このように、画像の劣化原因が複雑化した場合であっても、判別係数zまたは回帰係数wの要素数および種類の数を増やすことなく、適切に高画質化処理を施すことが可能である。
ところで、本発明においては、上述したように、図2に示される線形特徴量に、式(3)により得られる、注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値、および式(4)により得られる、注目画素の周辺の画素値の最大値および最小値、並びに水平微分絶対値の最大値および垂直微分絶対値の最大値を、非線形特徴量として加えたものをタップとしている。非線形特徴量を加えたタップを用いる場合の高画質化処理における効果について、図20を参照して説明する。
図20は、やはり、本発明の学習装置10と画像処理装置100を用いた高画質化処理の効果を説明する図である。
同図は、図16の場合と同様に、横軸を判別係数の学習および判別予測の反復回数とし、縦軸をS/N比とし、ノイズが付加された画像である入力画像に対して、本発明の画像処理装置100または従来の画像処理装置による画像処理を施して得られた画像の特性を示した図である。同図の図中三角形の記号でプロットされた点が、本発明の画像処理装置100による画像処理を施して得られた画像の特性を示し、図中四角形(菱形)の記号でプロットされた点が、従来の画像処理装置100による画像処理を施して得られた画像の特性を示している。
ここで、従来の画像処理装置による画像処理は、図17を参照して上述した場合と同様である。また、本発明の画像処理装置100においては、図16の場合と同様のものをタップとしている。
図20においては、正規乱数ノイズ(σ=10.0)のノイズが含まれた入力画像を、それぞれ本発明の画像処理装置100と、従来の画像処理装置により高画質化処理している。同図のS/N比の値の評価式は、式(21)を用いている。同図の点線が、図2に示される生徒画像から得られる線形特徴量のみのタップを用いた本発明の画像処理装置100による高画質化処理により得られた画像の特性を表している。また、同図の実線が、図2に示される生徒画像から得られる線形特徴量に、式(3)により得られる、注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値、および式(4)により得られる、注目画素の周辺の画素値の最大値および最小値、並びに水平微分絶対値の最大値および垂直微分絶対値の最大値を、非線形特徴量として加えたタップを用いた本発明の画像処理装置100による高画質化処理により得られた画像の特性を表している。
同図に示されるように、線形特徴量のみのタップを用いる場合と比較して、非線形特徴量を加えたタップを用いる高画質化処理が施された画像の特性は、約0.5dBほどS/N比の値が改善されている。
また、図20の菱形でプロットされた点が、図17に示される線形特徴量のみのタップを用いた従来の画像処理装置による高画質化処理により得られた画像の特性を表している。また、同図の四角形でプロットされた点が、図17に示される線形特徴量に、式(3)により得られる、注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値、および式(4)により得られる、注目画素の周辺の画素値の最大値および最小値、並びに水平微分絶対値の最大値および垂直微分絶対値の最大値を、非線形特徴量として加えたタップを用いた従来の画像処理装置による高画質化処理により得られた画像の特性を表している。
同図に示されるように、従来の方式においても、線形特徴量のみのタップを用いる場合と比較して、非線形特徴量を加えたタップを用いる高画質化処理が施された画像の特性は、約0.4dBほどS/N比の値が改善されている。
非線形特徴量を加えたタップを用いる高画質化処理を従来のクラス分類適応処理に適用する場合、例えば、次のような処理となる。
入力画像において、クラスタップについては、線形特徴量のみのタップを用いる場合と同じように図17に示されるタップを取得する。そのため、9個の要素の値に基づく1bitADRC (Adaptive Dynamic Range Coding)コードを算出し、算出された1bitADRCコード毎に、注目画素をクラス分類する。
また、予測タップとしては、図2に示される生徒画像から得られる線形特徴量に、式(3)により得られる、注目画素の周辺の画素値の水平微分絶対値および垂直微分絶対値、および式(4)により得られる、注目画素の周辺の画素値の最大値および最小値、並びに水平微分絶対値の最大値および垂直微分絶対値の最大値を、非線形特徴量として加えたものを用いる。そのタップの要素のそれぞれに回帰係数wを乗じることで、式(2)を参照して上述した回帰演算を行った予測値を演算する。そして、得られた予測値を、注目画素に対応する画素の値とする出力画像が生成される。これにより、入力画像が高画質化された出力画像が得られることになり、その出力画像の特性は、上述したように、線形特徴量のみのタップを用いる場合と比較してS/N比の値が改善されたものとなる。
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば図21に示されるような汎用のパーソナルコンピュータ700などに、ネットワークや記録媒体からインストールされる。
図21において、CPU(Central Processing Unit)701は、ROM(Read Only Memory)702に記憶されているプログラム、または記憶部708からRAM(Random Access Memory)703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU701、ROM702、およびRAM703は、バス704を介して相互に接続されている。このバス704にはまた、入出力インタフェース705も接続されている。
入出力インタフェース705には、キーボード、マウスなどよりなる入力部706、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部707、ハードディスクなどより構成される記憶部708、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部709が接続されている。通信部709は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース705にはまた、必要に応じてドライブ710が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア711が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部708にインストールされる。
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア711などからなる記録媒体からインストールされる。
なお、この記録媒体は、図21に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フロッピディスク(登録商標)を含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア711により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM702や、記憶部708に含まれるハードディスクなどで構成されるものも含む。
なお、本明細書において上述した一連の処理は、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。