以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の画像処理装置は、
原画像データ(例えば、図1の原画像)の画素数を所定数倍に変換した変換後画像データ(例えば、図1の縮小画像)を所定のブロックごとに符号化して得られる符号化データ(例えば、図1のMPEG符号化画像)を、前記所定のブロックごとに復号し、
前記符号化データを復号することによって得られる画像データ(例えば、図1のMPEG復号画像)を、その画素数を前記所定数の逆数倍にすることにより、前記原画像データの画素数と同一の画素数の出力画像データ(例えば、図1の拡大MPEG復号画像)に変換する
デコーダ(例えば、図1のデコーダ32)が出力する前記出力画像データを処理する画像処理装置(例えば、図2の画像変換部61)において、
前記出力画像データの注目している画素である注目画素に対応する、前記出力画像データよりも高画質の高画質画像データの画素を予測するために用いる複数の画素を、前記出力画像データから予測タップとして抽出する予測タップ抽出手段(例えば、図2の予測タップ抽出部123)と、
前記注目画素を複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類に用いる複数の画素を、前記出力画像データからクラスタップとして抽出するクラスタップ抽出手段(例えば、図2のクラスタップ抽出部124)と、
前記クラスタップ抽出手段により抽出された前記クラスタップに基づいて、前記注目画素をクラス分類するクラス分類手段(例えば、図2のクラス分類部125)と、
前記出力画像データに相当する生徒画像データと所定の係数とを用いた予測演算により求められる、前記高画質画像データに相当する教師画像データを予測した予測値と、前記教師画像データとの誤差を最小にする学習により求められた、前記複数のクラスそれぞれに対応する前記係数の中から、前記注目画素のクラスに対応する係数を出力する係数出力手段(例えば、図2の係数記憶部126)と、
前記係数出力手段により出力された前記係数と、前記予測タップ抽出手段により抽出された前記予測タップとを用いた前記予測演算により、前記注目画素に対応する、前記高画質画像データの画素を求める予測演算手段(例えば、図2の予測演算部127)と
を有し、前記出力画像データを前記高画質画像データに変換する画像変換処理を行う画像変換手段(例えば、図2の画像変換部61)と、
前記所定数倍に基づいて決定されるブロックサイズの、前記出力画像データの処理ブロックごとに、前記画像変換処理が行われるように、前記画像変換手段を制御する制御手段(例えば、図2の制御部128)と、
前記所定のブロックのブロックサイズを、前記所定数の逆数倍にした逆数倍ブロックの境界上の、前記出力画像データの画素である境界上画素が、前記処理ブロックに含まれるか否かを判定する境界上画素判定手段(例えば、図7のステップS33の処理を実行する図2の閾値算出部122)と、
前記境界上画素判定手段により、前記処理ブロックに、前記境界上画素が含まれると判定された場合、前記注目画素の前記クラス分類に用いる閾値を、前記注目画素を含む前記処理ブロックの画素から前記境界上画素を除外した画素を用いて算出する閾値算出手段(例えば、図7のステップS34の処理を実行する図2の閾値算出部122)と
を備え、
前記クラス分類手段は、前記クラスタップ抽出手段により抽出された前記クラスタップと、前記閾値算出手段により算出された前記閾値とに基づいて、前記注目画素をクラス分類する。
前記処理ブロックにおける各画素の位置を表す情報を画素位置モードとして、前記注目画素の画素位置モードを判定する画素位置モード判定手段(例えば、図10の画素位置モード判定部275)をさらに備え、
前記係数出力手段は、前記注目画素のクラスと画素位置モードに対応する係数を出力する。
前記注目画素が、前記処理ブロックを複数の領域に区分したときに、前記複数の領域のうちの、いずれかの領域に位置するかを判定する領域判定手段(例えば、図10の領域判定部277)をさらに備え、
前記予測演算手段は、前記注目画素が位置する領域に対応した前記予測演算により、前記注目画素に対応する、前記高画質画像データの画素を求める。
本発明の一側面の画像処理方法、またはプログラムは、
原画像データ(例えば、図1の原画像)の画素数を所定数倍に変換した変換後画像データ(例えば、図1の縮小画像)を所定のブロックごとに符号化して得られる符号化データ(例えば、図1のMPEG符号化画像)を、前記所定のブロックごとに復号し、
前記符号化データを復号することによって得られる画像データ(例えば、図1のMPEG復号画像)を、その画素数を前記所定数の逆数倍にすることにより、前記原画像データの画素数と同一の画素数の出力画像データ(例えば、図1の拡大MPEG復号画像)に変換する
デコーダ(例えば、図2のデコーダ32)が出力する前記出力画像データを処理する画像処理装置(例えば、図2の画像変換部61)の画像処理方法、
または
原画像データの画素数を所定数倍に変換した変換後画像データを所定のブロックごとに符号化して得られる符号化データを、前記所定のブロックごとに復号し、
前記符号化データを復号することによって得られる画像データを、その画素数を前記所定数の逆数倍にすることにより、前記原画像データの画素数と同一の画素数の出力画像データに変換する
デコーダが出力する前記出力画像データを処理する画像処理をコンピュータに実行させるプログラムにおいて、
前記出力画像データの注目している画素である注目画素に対応する、前記出力画像データよりも高画質の高画質画像データの画素を予測するために用いる複数の画素を、前記出力画像データから予測タップとして抽出する予測タップ抽出ステップ(例えば、図7のステップS37)と、
前記注目画素を複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類に用いる複数の画素を、前記出力画像データからクラスタップとして抽出するクラスタップ抽出ステップ(例えば、図7のステップS38)と、
前記クラスタップ抽出ステップにより抽出された前記クラスタップに基づいて、前記注目画素をクラス分類するクラス分類ステップ(例えば、図7のステップS39)と、
前記出力画像データに相当する生徒画像データと所定の係数とを用いた予測演算により求められる、前記高画質画像データに相当する教師画像データを予測した予測値と、前記教師画像データとの誤差を最小にする学習により求められた、前記複数のクラスそれぞれに対応する前記係数の中から、前記注目画素のクラスに対応する係数を出力する係数出力ステップ(例えば、図7のステップS40)と、
前記係数出力ステップにより出力された前記係数と、前記予測タップ抽出ステップにより抽出された前記予測タップとを用いた前記予測演算により、前記注目画素に対応する、前記高画質画像データの画素を求める予測演算ステップ(例えば、図7のステップS41)と
を有し、前記出力画像データを前記高画質画像データに変換する画像変換処理を行う画像変換ステップ(例えば、図7のステップS31乃至ステップS43)と、
前記所定数倍に基づいて決定されるブロックサイズの、前記出力画像データの処理ブロックごとに、前記画像変換処理が行われるように、前記画像変換ステップを制御する制御ステップ(例えば、図7のステップS31)と、
前記所定のブロックのブロックサイズを、前記所定数の逆数倍にした逆数倍ブロックの境界上の、前記出力画像データの画素である境界上画素が、前記処理ブロックに含まれるか否かを判定する境界上画素判定ステップ(例えば、図7のステップS33)と、
前記境界上画素判定ステップにより、前記処理ブロックに、前記境界上画素が含まれると判定された場合、前記注目画素の前記クラス分類に用いる閾値を、前記注目画素を含む前記処理ブロックの画素から前記境界上画素を除外した画素を用いて算出する閾値算出ステップ(例えば、図7のステップS34)と
を含み、
前記クラス分類ステップは、前記クラスタップ抽出ステップにより抽出された前記クラスタップと、前記閾値算出ステップにより算出された前記閾値とに基づいて、前記注目画素をクラス分類する。
以下、図面を参照して、本発明の実施の形態について説明する。
図2は、本発明を適用した画像変換部の一実施の形態の構成例を示すブロック図である。
図2の画像変換部61は、例えば、図1のデコーダ32が出力する出力画像データを、その出力画像データよりも高画質の高画質画像データに変換する画像変換処理を行う。即ち、画像変換部61は、例えば、図1のデコーダ32が出力する出力画像データとしての、例えば、図1で説明したような拡大MPEG復号画像などから、MPEG-2による8×8画素のブロック単位での符号化および復号に起因して生じたブロック歪やモスキートノイズを除去するノイズ除去処理を行う。
なお、出力画像データは、ここでは、MPEG-2の復号によって直接得られる1440×1080画素のMPEG復号画像を横方向に4/3倍した1920×1080画素の拡大MPEG復号画像であるため、出力画像データにおいて、MPEG復号画像の16×16画素(横×縦)のマクロブロックは、そのマクロブロックを横方向に4/3倍にした21.333(正確には、21.333・・・)×16画素(横×縦)の拡大マクロブロックになる。また、出力画像データにおいて、MPEG復号画像のマクロブロックを構成する8×8画素のブロックは、そのブロックを横方向に4/3倍にした10.666×8画素(横×縦)の拡大ブロックとなる。
ここで、以下では、説明を簡単にするために、輝度信号のみを考える。従って、MPEG復号画像のマクロブロックは、2×2個(横×縦)の輝度信号のブロックで構成され、拡大MPEG復号画像の拡大マクロブロックは、2×2個(横×縦)の輝度信号の拡大ブロックで構成されることとする。
画像変換部61は、ブロック抽出部121、閾値算出部122、予測タップ抽出部123、クラスタップ抽出部124、クラス分類部125、係数記憶部126、予測演算部127、および制御部128により構成される。
ブロック抽出部121は、図1のデコーダ32から供給されてくる出力画像データから、後述する64×16画素の抽出対象ブロックを、例えば、いわゆるラスタスキャン順に、順次抽出する。また、ブロック抽出部121は、抽出対象ブロックを、後述する複数の処理対象ブロックに区分し、閾値算出部122に、順次供給する。
閾値算出部122は、ブロック抽出部121から供給された処理対象ブロックを、後述する複数の処理ブロックに区分し、その処理ブロックを、例えば、ラスタスキャン順に、順次注目ブロックとする。
閾値算出部122は、後述する予測タップ抽出部123が注目する画素である注目画素を、複数のクラスのうちのいずれかのクラスにクラス分けするクラス分類に用いる閾値を、注目ブロックから算出し、クラス分類部125に供給する。
予測タップ抽出部123は、注目ブロックに含まれる画素を、例えば、ラスタスキャン順に、順次、注目画素として選択し、さらに、注目画素に対応する、出力画像データを変換して得ようとする高画質画像データの画素の画素値を予測するために用いる複数の画素を、予測タップとして、出力画像データから抽出する。
即ち、予測タップ抽出部123は、例えば、注目画素を中心として水平方向に並ぶ複数の画素である水平方向のタップ71を、予測タップとして、出力画像データから抽出する。ここで、図2では、図2右上に白丸で示す注目画素の右に隣接する、黒丸で示す4個の画素、注目画素の左に隣接する、黒丸で示す4個の画素、および注目画素の、水平方向に並ぶ9個の画素が、水平方向のタップ71として示されている。
予測タップ抽出部123は、出力画像データから抽出した予測タップを、予測演算部127に供給する。
クラスタップ抽出部124は、注目画素を、クラス分類するのに用いる複数の画素を、クラスタップとして、出力画像データから抽出する。
即ち、クラスタップ抽出部124は、例えば、注目画素を中心として水平方向に並ぶ複数の画素である水平方向のタップ71を、クラスタップとして、出力画像データから抽出する。
なお、ここでは、説明を簡単にするために、予測タップとクラスタップとは、同一のタップ構造(注目画素に対する位置関係)を有する複数の画素とする。但し、予測タップとクラスタップとは、異なるタップ構造を有する複数の画素とすることができる。
クラスタップ抽出部124は、出力画像データから抽出したクラスタップを、クラス分類部125に供給する。
クラス分類部125は、閾値算出部122から供給された閾値と、クラタップ抽出部124から供給されたクラスタップとに基づき、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを係数記憶部126に供給する。
係数記憶部126は、後述する学習処理が行われることにより得られるタップ係数が登録された係数テーブルを記憶しており、クラス分類部125から供給されたクラスコードに対応付けられたタップ係数(注目画素のクラスのタップ係数)を予測演算部127に供給する。
予測演算部127は、予測タップ抽出部123から供給された予測タップと、係数記憶部126から供給されたタップ係数とを用いて、注目画素に対応する、高画質画像データの画素の画素値(予測値)を求める所定の予測演算を行う。これにより、予測演算部127は、注目画素に対応する、高画質画像データの画素の画素値を求めて出力する。
制御部128は、ブロック抽出部121、閾値算出部122、予測タップ抽出部123、クラスタップ抽出部124、クラス分類部125、係数記憶部126、および予測演算部127を制御する。
即ち、制御部128は、画像変換部61における画像変換処理が、処理ブロックごとに行われるように、各ブロックを制御する。
次に、図3および図4を参照して、図2のブロック抽出部121における処理を説明する。
図3は、ブロック抽出部121が、抽出対象ブロックを抽出する順番を示す図である。
ブロック抽出部121は、出力画像データから、複数の拡大マクロブロックにより構成されるN×M画素(横×縦)(N,Mは自然数)の抽出対象ブロックを、例えば、ラスタスキャン順に順次抽出し、複数の処理対象ブロックに区分する。
即ち、ブロック抽出部121は、1920×1080画素(横×縦)の出力画像データから、64×16画素(横×縦)の抽出対象ブロックを、例えば、ラスタスキャン順に、順次抽出し、処理対象ブロックに区分する。
次に、図4は、ブロック抽出部121が、抽出対象ブロックを、複数の処理対象ブロックに区分する方法を示す図である。
図4上側には、ブロック抽出部121が抽出する64×16画素の抽出対象ブロックが示されており、抽出対象ブロックは、水平方向に並ぶ3個の、21.333×16画素の拡大マクロブロックにより構成される。
また、拡大マクロブロックは、2×2個の、10.666×8画素の拡大ブロックにより構成される。
図4下側には、抽出対象ブロックを区分することで得られる3個の処理対象ブロック131乃至133が示されている。
64×16画素の抽出対象ブロックは、垂直方向に区切られることによって、左から順に、水平方向に並ぶ、21×16画素の処理対象ブロック131、22×16画素の処理対象ブロック132、および21×16画素の処理対象ブロック133に区分される。
そして、21×16画素の処理対象ブロック131は、11×8画素(横×縦)の左上および左下の処理ブロックと、10×8画素(横×縦)の右上および右下の処理ブロックとの合計4個の処理ブロックにより区分される。
また、22×16画素の処理対象ブロック132は、11×8画素の左上、左下、右上および右下の処理ブロックにより区分される。
さらに、21×16画素の処理対象ブロック133は、10×8画素の左上および左下の処理ブロックと、11×8画素の右上および右下の処理ブロックとの合計4個の処理ブロックにより区分される。
ここで、図4下側の11×8画素の処理ブロックにおいて、斜線が付された部分は、図4上側の白色の矩形で示される拡大ブロックの境界を含む境界上画素を示している。なお、境界上画素は、11×8画素の処理ブロックにのみ含まれ、10×8画素の処理ブロックには含まれない。
なお、処理ブロックのブロックサイズは、図1において、放送局31側で行われる、原画像を縮小画像に変換するときの倍率(3/4倍)に基づいて決定される。
即ち、処理ブロックのブロックサイズは、MPEG復号画像の8×8画素のブロックを、横方向に、原画像を縮小画像に変換するときの倍率(3/4倍)の逆数倍である4/3倍し、その結果得られた10.666×8画素のブロックの横方向の画素の個数を、切捨てまたは切り上げをすることで得られたブロックサイズである。つまり、10.666×8画素のブロックの横方向の画素の個数の小数点第1位以下の部分を切り捨てることにより、処理ブロックのブロックサイズが、10×8画素のサイズに決定し、さらに、10.666×8画素のブロックの横方向の画素の個数の小数点第1位以下の部分を切り上げることにより、処理ブロックのブロックサイズが、11×8画素のサイズに決定する。
また、図4下側の処理対象ブロック131、処理対象ブロック132、処理対象ブロック133は、それぞれ、図4上側の左から1番目、2番目、3番目の拡大マクロブロックに対応する。
ブロック抽出部121は、図4上側に示された抽出対象ブロックを、図4下側に示された処理対象ブロック131乃至133に区分し、まず、処理対象ブロック131を、閾値算出部122に供給する。
そして、処理対象ブロック131のすべての画素が注目画素とされると、ブロック抽出部121は、処理対象ブロック132を、閾値算出部122に供給する。
さらに、処理対象ブロック132のすべての画素が注目画素とされると、ブロック抽出部121は、処理対象ブロック133を、閾値算出部122に供給する。
閾値算出部122は、ブロック抽出部121から、処理対象ブロックが供給されると、その処理対象ブロックを、図4下側に示した、10×8画素の処理ブロックや11×8画素の処理ブロックに区分し、例えば、ラスタスキャン順に、順次、注目ブロックとして、閾値を算出する。
次に、図5は、閾値算出部122が、ブロック抽出部121から供給される処理ブロックから閾値を算出する処理を説明する図である。
図5上側には、閾値算出部121に供給された処理対象ブロック131(図4)が示されており、図5中央右側には、処理対象ブロック131に対応する拡大マクロブロック(の拡大前のマクロブロック)のブロック構造がフレーム構造である場合、つまりDCTタイプがフレームDCTである場合の処理対象ブロック131が示されている。また、図5中央左側には、処理対象ブロック131に対応する拡大マクロブロック(の拡大前のマクロブロック)のブロック構造がフィールド構造である場合、つまりDCTタイプがフィールドDCTである場合の処理対象ブロック131が示されている。
なお、図5中央右側のブロック、および図5中央左側のブロックに示される斜線部分は、処理対象ブロック131における偶数ライン(ボトムフィールド)を表しており、白色の部分は、処理対象ブロック131における奇数ライン(トップフィールド)を表している。
さらに、図5下側には、処理対象ブロック131の左上または左下の11×8画素の処理ブロックが示されている。なお、図5下側に示される11×8画素の処理ブロックのうちの斜線部分は、境界上画素を示している。
閾値算出部122は、例えば、ブロック抽出部121から供給された処理対象ブロック131に対応する拡大マクロブロックのブロック構造が、フレーム構造であるかフィールド構造であるかを判定する。なお、例えば、閾値算出部122は、処理対象ブロック131に対応する拡大マクロブロックのフィールド内自己相関とフィールド間相関とを比較することで、処理対象ブロック131に対応する拡大マクロブロックのブロック構造を判定することができる。
処理対象ブロック131に対応する拡大マクロブロックのブロック構造がフレーム構造であると判定された場合、閾値算出部122は、図5中央右側に示された処理対象ブロック131のうちの、左上の11×8画素の処理ブロックを注目ブロックとして、閾値を算出する。
閾値算出部121は、注目ブロックとしている左上の処理ブロックの画素のすべてが注目画素とされた後は、処理対象ブロック131の右上の10×8画素の処理ブロック、左下の11×8画素の処理ブロック、右下の10×8画素の処理ブロックの順番で、順次、注目ブロックとして、閾値を算出する。
一方、処理対象ブロック131に対応する拡大マクロブロックのブロック構造がフィールド構造であると判定された場合、閾値算出部122は、図5中央右側に示された処理対象ブロック131のうちの、左上の、左上の11×8画素の処理ブロックを注目ブロックとして、閾値を算出する。
閾値算出部121は、いま、注目ブロックとしている左上の処理ブロックの画素のすべてが注目画素とされた後は、処理対象ブロック131の右上の10×8画素の処理ブロック、左下の11×8画素の処理ブロック、右下の10×8画素の処理ブロックの順番で、順次、注目ブロックとして、閾値を算出する。
閾値算出部121は、例えば、次のようにして、注目ブロックから、閾値を算出する。
即ち、閾値算出部121は、図5下側に示されるように、注目ブロックの、横方向(水平方向)に並ぶ画素のうちの、隣接する画素同士の画素値の差分絶対値である画素間差分を求める。
但し、画素間差分は、境界上画素を除外した画素のみを対象として求められる。
従って、注目ブロックが、境界上画素が含まれない10×8画素の処理ブロックである場合には、その処理ブロックを構成する画素すべてを対象として、9×8=72個の画素間差分が求められる。
閾値算出部121は、注目ブロックについて72個の画素間差分を求めると、その72個の画素間差分のうちの、最大値MAXと最小値MINとを求め、DR=MAX-MINを、画素間差分のダイナミックレンジDRとして求める。さらに、閾値算出部121は、そのダイナミックレンジDRを4で除算した値に最小値MINを加算した値を、閾値Th=(DR/4)+MINとして算出する。
一方、注目ブロックが、図5下側に示される、境界上画素を含む11×8画素の処理ブロックである場合には、その処理ブロックを構成する11×8画素のうちの、図5下側に示される斜線部分が示す1×8画素の境界上画素を除外した画素を対象として、やはり、72個の画素間差分が求められる。
閾値算出部122は、注目ブロックから閾値を算出すると、その閾値をクラス分類部125に供給する。クラス分類部125は、クラスタップ抽出部124から供給されたクラスタップと、閾値算出部122から供給された閾値とに基づき、注目画素をクラス分類する。
図6は、図2のクラス分類部125により行われるクラス分類を説明する図である。
図6上側の横方向に並んだ9個の白丸は、クラスタップ抽出部124から供給されたクラスタップとしての水平方向のタップ71を示しており、横方向に並んだ9個の白丸の下側に示される数値は、白丸で表される、クラスタップを構成する画素それぞれの画素値を示している。
また、図6中央の数値は、水平方向に並ぶ9画素である水平方向のタップ71のうちの、図中、横方向(水平方向)に隣接する画素同士の差分の絶対値である画素間差分を示している。さらに、図6下側の数値は、クラス分類部125が出力するクラスコードを示している。
クラス分類部125は、図6上側に示される水平方向に並ぶ9画素である水平方向のタップ71のうちの、隣接する画素同士の8個の画素間差分を求める。
次に、クラス分類部125は、図6中央に示される8個の画素間差分が、閾値算出部122から供給された閾値Th以上であるか否かを判定する。
画素間差分が、閾値Th以上である場合、クラス分類部125は、画素間差分に対して、Th以上であることを表す1をセットした1ビットの大小フラグを割り当てる。また、画素間差分が、閾値Th以上でない場合、クラス分類部125は、画素間差分に対して、Th以上でないことを表す0をセットした大小フラグを割り当てる。そして、クラス分類部125は、図6下側に示される、1または0がセットされた8個の大小フラグの並びを、クラスコードとして、係数記憶部126に出力する。
次に、図7のフローチャートを参照して、図2の画像変換部61における画像変換処理を説明する。
この画像変換処理は、例えば、図1のデコーダ32により、出力画像データが、画像変換部61に供給されたときに開始される。このとき、ブロック抽出部121、予測タップ抽出部123、およびクラスタップ抽出部124それぞれに、出力画像データが供給される。
ステップS31において、制御部128は、画像変換部61における画像変換処理が、処理ブロックごとに行われるように、各ブロックの制御を開始する。
具体的には、制御部128は、ブロック抽出部121を制御し、図1のデコーダ32から出力される出力画像データから、64×16画素の抽出対象ブロック(図4)を、図3に示されるように、例えば、ラスタスキャン順に、順次抽出させ、抽出した抽出対象ブロックを、図4に示されるように、処理対象ブロック131、132、または133に区分させる。
また、制御部128は、ブロック抽出部121を制御し、区分された処理対象ブロックを、適宜、閾値算出部122に供給させる。さらに、制御部128は、閾値算出部122を制御し、処理対象ブロックを、11×8画素、または10×8画素の処理ブロックに区分させる。そして、制御部128は、閾値算出部122、予測タップ抽出部123、クラスタップ抽出部124、クラス分類部125、係数記憶部126、または予測演算部127を制御することで、処理ブロックごとに画像変換処理を行わせる。
閾値算出部122、予測タップ抽出部123、クラスタップ抽出部124、クラス分類部125、係数記憶部126、または予測演算部127は、制御部128の制御に従い、処理ブロックごとに画像変換処理を行う。
即ち、ステップS31の処理後、処理はステップS32に進み、閾値算出部122は、ブロック抽出部121から供給された処理対象ブロックに含まれる2×2個の処理ブロックを、例えば、ラスタスキャン順に、順次注目ブロックとし、処理は、ステップS33に進む。
ステップS33において、閾値算出部122は、注目ブロックが、境界上画素を含むかを判定する。
ステップS33において、注目ブロックに、境界上画素が含まれると判定された場合、処理は、ステップS34に進み、閾値算出部122は、図5下側に示されるように、注目ブロックの画素から境界上画素を除外した画素を用いて閾値を算出し、クラス分類部125に供給して、処理は、ステップS36に進む。
一方、ステップS33において、注目ブロックに、境界上画素が含まれないと判定された場合、処理は、ステップS35に進み、閾値算出部122は、注目ブロックn画素のすべてから閾値を算出し、クラス分類部125に供給して、処理は、ステップS36に進む。
ステップS36において、予測タップ抽出部123は、注目ブロックに含まれる画素を、ラスタスキャン順に、順次、図1のデコーダ32から供給されてくる出力画像データから抽出し、注目画素として選択して、処理は、ステップS37に進む。
ステップS37において、予測タップ抽出部123は、注目画素に対応する、出力画像データを変換して得ようとする高画質画像データの画素の画素値を予測するために用いる複数の画素を、予測タップとして、出力画像データから抽出して、予測演算部127に供給する。
その後、ステップS37からステップS38に進み、クラスタップ抽出部124は、注目画素をクラス分類するのに用いる複数の画素を、クラスタップとして、図1のデコーダ32から供給されてくる出力画像データから抽出し、クラス分類部125に供給して、処理は、ステップS39に進む。
ステップS39において、クラス分類部125は、閾値算出部122から供給された閾値と、クラタップ抽出部124から供給されたクラスタップに基づき、図6を参照して説明した処理を行うことで、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを係数記憶部126に供給して、処理は、ステップS40に進む。
係数記憶部126は、後述する学習処理が行われることにより得られるタップ係数が登録された係数テーブルを記憶しており、ステップS40において、クラス分類部125から供給されたクラスコードに対応付けられたタップ係数を予測演算部127に供給して、処理は、ステップS41に進む。
ステップS41において、予測演算部127は、予測タップ抽出部123から供給された予測タップと、係数記憶部126から供給されたタップ係数を用いて、注目画素に対応する、高画質画像データの画素の画素値(予測値)を求める所定の予測演算を行い、処理は、ステップS42に進む。
ステップS42において、予測タップ抽出部123は、注目ブロックのすべての画素を、注目画素としたかを判定する。
ステップS42において、注目ブロックのすべての画素を、まだ注目画素としていないと判定された場合、処理は、ステップS36に戻り、予測タップ抽出部123は、注目ブロックのうちの、まだ注目画素としていない画素を注目画素として、処理は、ステップS37に進み、以下、同様の処理を繰り返す。
一方、ステップS42において、注目ブロックのすべての画素を、注目画素としたと判定された場合、処理は、ステップS43に進み、制御部128は、出力画像データすべての処理ブロックを、注目ブロックとしたか否かを判定する。
ステップS43において、出力画像データすべての処理ブロックを、注目ブロックとしていないと判定された場合、処理は、ステップS32に戻り、以下、同様の処理を繰り返す。
一方、ステップS43において、出力画像データすべての処理ブロックを、注目ブロックとしたと判定された場合、図7の画像変換処理は終了される。
以上のような図7の画像変換処理では、処理ブロックに境界上画素が含まれるときには、処理ブロックの画素から境界上画素を除外した画素を用いて閾値を算出し、処理ブロックに境界上画素が含まれないときには、処理ブロックのすべての画素から閾値を算出することとしたので、処理ブロックに境界上画素が含まれるときと含まれないときとのいずれにも、処理ブロックの画素から閾値を算出する同一の処理を行う場合と比較して、より適切な閾値を算出することができる。
したがって、図7の画像変換処理では、注目画素を適切なクラスにクラス分類することができ、ひいては、誤差の少ない(高画質の)高画質画像データの画素値を求めることができる。即ち、出力画像データの10.666×8画素の拡大ブロックの境界(付近)に生じているモスキートノイズやブロック歪を、効果的に除去することができる。
次に、図2の予測演算部127における予測演算と、係数記憶部126に記憶されたタップ係数の学習について説明する。
いま、画像変換処理として、出力画像データから予測タップを抽出し、その予測タップとタップ係数を用いて、モスキートノイズやブロック歪のない高画質画像データの画素(以下、適宜、高画質画素という)の画素値を、所定の予測演算によって求める(予測する)ことを考える。
所定の予測演算として、例えば、線形1次予測演算を採用することとすると、高画質画素の画素値yは、次の線形1次式によって求められることになる。
但し、式(1)において、xnは、高画質画素yについての予測タップを構成する、n番目の出力画像データの画素(以下、適宜、出力画素という)の画素値を表す。ここで、例えば、予測タップとして、図2右上側に示される水平方向に並ぶ9画素である水平方向のタップ71を例にとれば、n番目の出力画素の画素値とは、水平方向のタップ71に付された番号nに対応する出力画素の画素値である。
また、wnは、n番目の出力画素(の画素値)と乗算されるn番目のタップ係数を表す。なお、式(1)では、予測タップが、N個の出力画素x1,x2,・・・,xNで構成されるものとしてある。
ここで、高画質画素の画素値yは、式(1)に示した線形1次式ではなく、2次以上の高次の式によって求めるようにすることも可能である。
いま、第kサンプルの高画質画素の画素値の真値をykと表すとともに、式(1)によって得られるその真値ykの予測値をyk'と表すと、その予測誤差ekは、次式で表される。
いま、式(2)の予測値yk'は、式(1)にしたがって求められるため、式(2)のyk'を、式(1)にしたがって置き換えると、次式が得られる。
但し、式(3)において、xn,kは、第kサンプルの高画質画素についての予測タップを構成するn番目の出力画素を表す。
式(3)(または式(2))の予測誤差ekを0とするタップ係数wnが、高画質画素を予測するのに最適なものとなるが、すべての高画質画素について、そのようなタップ係数wnを求めることは、一般には困難である。
そこで、タップ係数wnが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適なタップ係数wnは、次式で表される自乗誤差の総和Eを最小にすることで求めることができる。
但し、式(4)において、Kは、高画質画素ykと、その高画質画素ykについての予測タップを構成する出力画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
式(4)の自乗誤差の総和Eの最小値(極小値)は、式(5)に示すように、総和Eをタップ係数wnで偏微分したものを0とするwnによって与えられる。
一方、上述の式(3)をタップ係数wnで偏微分すると、次式が得られる。
式(5)と式(6)から、次式が得られる。
式(7)のekに、式(3)を代入することにより、式(7)は、式(8)に示す正規方程式で表すことができる。
式(8)の正規方程式は、例えば、掃き出し法(Gauss-Jordanの消去法)などを用いることにより、タップ係数wnについて解くことができる。
式(8)の正規方程式を、クラスごとにたてて解くことにより、最適なタップ係数(ここでは、自乗誤差の総和Eを最小にするタップ係数)wnを、クラスごとに求めることができる。
図2の画像変換部61では、以上のようなクラスごとのタップ係数を用いて、式(1)の演算を行うことにより、出力画像データが、高画質画像データに変換される。
次に、図8は、式(8)の正規方程式をクラスごとにたてて解くことによりタップ係数wnを求める学習処理を行う学習装置201の構成例を示している。
図8の学習装置201は、学習用画像記憶部231、ノイズ付加部232、ブロック抽出部233、閾値算出部234、予測タップ抽出部235、クラスタップ抽出部236、クラス分類部237、足し込み部238、係数算出部239、および制御部240により構成される。
また、学習装置201には、放送局31で得られる原画像(図1)に相当する多数の1920×1080画素の画像データが、タップ係数wnの学習に用いられる学習用画像データとして入力されるようになっている。
学習装置201において、学習用画像データは、学習用画像記憶部231に供給され、記憶される。
ノイズ付加部232は、学習用画像記憶部231から、学習用画像データを読み出し、学習用画像データに、図1で行われる処理と同様の処理を行うことで、出力画像データに相当する画像である生徒画像データを生成する。
即ち、ノイズ付加部232は、学習用画像記憶部231に記憶された1920×1080画素の学習用画像データを、横方向に3/4倍して、1440×1080画素の画像データを得て、MPEG符号化する。さらに、ノイズ付加部232は、MPEG符号化によって得られた符号化データを、1440×1080画素の画像データに復号し、その画像データを、横方向に4/3倍して、出力画像データに相当する画像である生徒画像データを生成する。
ノイズ付加部232は、生成した生徒画像データを、ブロック抽出部233、予測タップ抽出部235、およびクラスタップ抽出部236に供給する。
ブロック抽出部233は、図2のブロック抽出部121と同様にして、ノイズ付加部232から供給されてくる生徒画像データから、抽出対象ブロックを、例えば、ラスタスキャン順に、順次抽出する。
さらに、ブロック抽出部233は、図2のブロック抽出部121と同様にして、抽出対象ブロックを、複数の処理対象ブロック131乃至133に区分し、例えば、ラスタスキャン順に、順次、閾値算出部234に供給する。
閾値算出部234は、図2の閾値算出部122と同様にして、ブロック抽出部233から供給された処理対象ブロックを、2×2個の処理ブロックに区分し、例えば、ラスタスキャン順に、順次注目ブロックとする。
さらに、閾値算出部234は、図2の閾値算出部122と同一の処理を行うことで、クラス分類に用いる閾値を、注目ブロックから算出し、クラス分類部237に供給する。
予測タップ抽出部235は、注目ブロックに含まれる画素を例えば、ラスタスキャン順に、順次、ノイズ付加部232から供給されてくる生徒画像データから抽出し、注目画素とする。さらに、予測タップ抽出部235は、ノイズ付加部232から供給された生徒画像データを構成する画素のうちの所定のものを抽出することにより、図2の予測タップ抽出部123が注目画素について得る予測タップと同一のタップ構造の予測タップ(図2の予測タップ抽出部123が注目画素について得る予測タップを構成する画素と同一の位置関係にある生徒画像データの画素からなる予測タップ)を得て、足し込み部238に供給する。
クラスタップ抽出部236は、ノイズ付加部232から供給された生徒画像データを構成する画素のうちの所定のものを抽出することにより、図2のクラスタップ抽出部124が注目画素について得るクラスタップと同一のタップ構造のクラスタップ(図2のクラスタップ抽出部124が注目画素について得るクラスタップを構成する画素と同一の位置関係にある生徒画像データの画素からなるクラスタップ)を得て、クラス分類部237に供給する。
クラス分類部237は、閾値算出部234から供給された閾値と、クラスタップ抽出部236から供給されたクラスタップとに基づき、図2のクラス分類部125と同一のクラス分類を行い、その結果得られるクラスに対応するクラスコードを、足し込み部238に供給する。
足し込み部238は、学習用画像記憶部231から、注目画素に対応する、教師画像データ(学習用画像データ)の画素(の画素値)を読み出し、その画素と、予測タップ抽出部235から供給された注目画素についての予測タップを構成する生徒画像データの画素とを対象とした足し込みを、クラス分類部237から供給されたクラスコードごとに行う。
即ち、足し込み部238には、学習用画像記憶部231に記憶された教師画像データ(の画素のうちの、注目画素に対応する画素の画素値)yk、予測タップ抽出部235が出力する予測タップ(を構成する生徒画像データの画素の画素値)xn,k、クラス分類部237が出力する、注目画素のクラスを表すクラスコードが供給される。
そして、足し込み部238は、クラス分類部237から供給されたクラスコードに対応するクラスごとに、予測タップ(生徒画像データ)xn,kを用い、式(8)の左辺の行列における生徒画像データどうしの乗算(xn,kxn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部238は、やはり、クラス分類部237から供給されたクラスコードに対応するクラスごとに、予測タップ(生徒画像データ)xn,kと教師画像データykを用い、式(8)の右辺のベクトルにおける生徒画像データxn,kおよび教師画像データykの乗算(xn,kyk)と、サメーション(Σ)に相当する演算を行う。
即ち、足し込み部238は、前回、注目画素とされた生徒画像データについて求められた式(8)における左辺の行列のコンポーネント(Σxn,kxn',k)と、右辺のベクトルのコンポーネント(Σxn,kyk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kxn',k)またはベクトルのコンポーネント(Σxn,kyk)に対して、新たに注目画素とされた生徒画像データについて、その生徒画像データxn,k+1および教師画像データyk+1を用いて計算される、対応するコンポーネントxn,k+1xn',k+1またはxn,k+1yk+1を足し込む(式(8)のサメーションで表される加算を行う)。
そして、足し込み部238は、ノイズ付加部232により生成される生徒画像データすべてを注目画素として、上述の足し込みを行うことにより、各クラスについて、式(8)に示した正規方程式をたてると、その正規方程式を、係数算出部239に供給する。
係数算出部239は、足し込み部238から供給された各クラスについての正規方程式を解くことにより、各クラスについて、最適なタップ係数wnを求めて出力する。
制御部240は、学習用画像記憶部231、ノイズ付加部232、ブロック抽出部233、閾値算出部234、予測タップ抽出部235、クラスタップ抽出部236、クラス分類部237、足し込み部238、または係数算出部239を制御する。
即ち、制御部240は、学習装置201における学習処理が、ノイズ付加部232が生成する生徒画像データの処理ブロックごとに行われるように、各ブロックを制御する。
次に、図9のフローチャートを参照して、図8の学習装置201における学習処理を説明する。
なお、学習用画像記憶部231には、多数の1920×1080画素の学習用画像データが、すでに記憶されていることとする。
ステップS71において、制御部240は、学習装置201における学習処理が、生徒画像データの処理ブロックごとに行われるように、各ブロックの制御を開始する。
具体的には、制御部240は、ノイズ付加部232を制御し、学習用画像記憶部231から、学習用画像データを読み出させ、学習用画像データに、図1で行われる処理と同様の処理を行わせることで、出力画像データに相当する画像である生徒画像データを生成させ、ブロック抽出部233に供給させる。
また、制御部240は、ブロック抽出部233を制御し、処理対象ブロックを、例えば、ラスタスキャン順に、順次、閾値算出部234に供給させる。具体的には、ブロック抽出部233は、制御部240の制御に従い、図2のブロック抽出部121と同様にして、ノイズ付加部232から供給されてくる生徒画像データから、抽出対象ブロックを、例えば、ラスタスキャン順に、順次抽出する。さらに、ブロック抽出部233は、制御部240の制御に従い、図2のブロック抽出部121と同様にして、抽出対象ブロックを、処理対象ブロック131乃至133に区分し、例えば、ラスタスキャン順に、順次、閾値算出部234に供給する。
さらに、制御部240は、閾値算出部234を制御し、図2の閾値算出部122と同様にして、処理対象ブロックを、11×8画素、または10×8画素の処理ブロックに区分させる。そして、制御部240は、閾値算出部234、予測タップ抽出部235、クラスタップ抽出部236、クラス分類部237、足し込み部238、または係数算出部239を制御することで、ノイズ付加部232により生成される生徒画像データの処理ブロックごとに学習処理を行わせる。
閾値算出部234、予測タップ抽出部235、クラスタップ抽出部236、クラス分類部237、足し込み部238、または係数算出部239は、制御部240の制御に従い、処理ブロックごとに学習処理を行う。
即ち、ステップS71の処理後、処理はステップS72に進み、閾値算出部234は、図2の閾値算出部122と同様にして、ブロック抽出部233から供給された処理対象ブロックを、2×2個の処理ブロックに区分し、例えば、ラスタスキャン順に、順次注目ブロックとし、処理は、ステップS72に進む。
ステップS73において、閾値算出部234は、図2の閾値算出部122と同様にして、注目ブロックが、境界上画素を含むかを判定する。
ステップS73において、注目ブロックに、境界上画素が含まれると判定された場合、処理は、ステップS74に進み、閾値算出部234は、図2の閾値算出部122と同一の処理を行うことで、注目ブロックの画素から境界上画素を除外した画素を用いて閾値を算出し、クラス分類部237に供給して、処理は、ステップS76に進む。
一方、ステップS73において、注目ブロックに、境界上画素が含まれないと判定された場合、処理は、ステップS75に進み、閾値算出部234は、図2の閾値算出部122と同一の処理を行うことで、注目ブロックの画素すべてから閾値を算出し、クラス分類部237に供給して、処理は、ステップS76に進む。
ステップS76において、予測タップ抽出部235は、注目ブロックに含まれる画素を、ラスタスキャン順に、順次、ノイズ付加部232から供給されてくる生徒画像データから抽出し、注目画素として、選択して、処理は、ステップS76に進む。
ステップS77において、予測タップ抽出部235は、ノイズ付加部232から供給された生徒画像データを構成する画素のうちの所定のものを抽出することにより、注目画素について、図2の予測タップ抽出部123が注目画素について得る予測タップと同一のタップ構造の予測タップを得て、足し込み部238に供給する。
その後、処理は、ステップS77からステップS78に進み、クラスタップ抽出部236は、ノイズ付加部232から供給された生徒画像データを構成する画素のうちの所定のものを抽出することにより、注目画素について、図2のクラスタップ抽出部124が注目画素について得るクラスタップと同一のタップ構造のクラスタップを得て、クラス分類部237に供給する。
さらに、処理は、ステップS78からステップS79に進み、クラス分類部237は、閾値算出部234から供給された閾値と、クラスタップ抽出部236から供給されたクラスタップに基づき、図2のクラス分類部125と同一のクラス分類を行い、その結果得られるクラスに対応するクラスコードを、足し込み部238に供給して、処理は、ステップS80に進む。
ステップS80において、足し込み部238は、学習用画像記憶部231から、注目画素に対応する、教師画像データの画素(の画素値)を読み出し、その画素と、予測タップ抽出部235から供給された注目画素についての予測タップを構成する生徒画像データの画素とを対象とした足し込みを、クラス分類部237から供給されたクラスコードごとに行い、処理は、ステップS81に進む。
ステップS81において、予測タップ抽出部235は、注目ブロックのすべての画素を、注目画素としたか否かを判定する。
ステップS81において、注目ブロックのすべての画素を、まだ注目画素としていないと判定された場合、処理は、ステップS76に戻り、予測タップ抽出部235は、注目ブロックのうちの、まだ注目画素としていない画素を注目画素として、処理は、ステップS77に進み、以下、同様の処理を繰り返す。
一方、ステップS81において、注目ブロックのすべての画素を、注目画素としたと判定された場合、ステップS82に進み、制御部240は、ノイズ付加部232から供給された生徒画像データすべての処理ブロックを、注目ブロックとしたか否かを判定する。
ステップS82において、ノイズ付加部232から供給された生徒画像データすべての処理ブロックを、注目ブロックとしていないと判定された場合、処理は、ステップS72に戻り、以下、同様の処理を繰り返す。
一方、ステップS82において、ノイズ付加部232から供給された生徒画像データすべての処理ブロックを、注目ブロックとしたと判定された場合、即ち、足し込み部238において、ノイズ付加部232により生成される生徒画像データすべてを注目画素として、上述の足し込みを行うことにより、各クラスについて、式(8)に示した正規方程式が得られた場合、足し込み部238は、その正規方程式を係数算出部239に供給し、処理は、ステップS83に進む。係数算出部239は、足し込み部238から供給された各クラスについての正規方程式を解くことにより、各クラスについて、最適なタップ係数wnを求めて出力する。
その後、図9の学習処理は終了される。
次に、図10は、本発明を適用した画像変換部の他の一実施の形態の構成例を示すブロック図である。
なお、図中、図2の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図10の画像変換部61は、図2の、係数記憶部126、予測演算部127、または制御部128に代えて、それぞれ、係数記憶部276、予測演算部278、または制御部279が設けられており、さらに、画素位置モード判定部275および領域判定部277が新たに設けられているほかは、図2の場合と同様に構成されている。
なお、図10では、予測タップ抽出部123は、予測タップを予測演算部278に供給する他、いま注目画素となっている画素の位置情報(例えば、注目ブロックにおける注目画素の座標など)を、画素位置モード判定部275と、領域判定部277に供給するようになっている。
画素位置モード判定部275は、予測タップ抽出部123から供給された注目画素の位置情報に基づいて、注目画素の画素位置モードを判定し、係数記憶部276に供給する。
ここで、画素位置モードとは、処理ブロックにおける各画素の位置を表す情報であり、クラス分類部125からのクラスコードと同様、係数記憶部276が出力するタップ係数を決定するのに用いられる値である。なお、画素位置モードの詳細については、後述する。
係数記憶部276は、後述するような学習処理が行われることにより得られるタップ係数が登録された係数テーブルを記憶しており、クラス分類部125から供給されたクラスコードと、画素位置モード判定部275から供給された画素位置モードとに対応付けられたタップ係数を予測演算部278に供給する。
領域判定部277は、予測タップ抽出部123から供給された位置情報に基づいて、注目画素の領域情報を判定し、予測演算部278に供給する。
ここで、領域情報とは、処理ブロックを複数の領域に区分したときに、注目画素が、その複数の領域のうちの、いずれかの領域に位置するかを示す情報である。
予測演算部278は、予測タップ抽出部123から供給された予測タップと、係数記憶部276から供給されたタップ係数とを用いて、領域判定部277から供給された領域情報に対応した所定の予測演算を行うことにより、注目画素に対応する、高画質画像データの画素の画素値(予測値)を求めて出力する。即ち、予測演算部278は、注目画素に対応する、高画質画像データの画素の画素値を求めて出力する。なお、領域情報に対応した所定の予測演算については、後述する。
制御部279は、ブロック抽出部121、閾値算出部122、予測タップ抽出部123、クラスタップ抽出部124、クラス分類部125、画素位置モード判定部275、係数記憶部276、領域判定部277、または予測演算部278を制御する。
即ち、制御部279は、画像変換部61における画像変換処理が、出力画像データの処理ブロックごとに行われるように、各ブロックを制御する。
次に、図11は、8×8画素のブロックを処理ブロックとして、画素位置モード、および領域情報に対応した所定の予測演算を説明する図である。
図11上側には、MPEG-2による符号化および復号で用いられる処理単位である8×8画素のブロックが、処理ブロックとして示されている。また、図11上側には、処理単位である8×8画素のブロックの中心を通る形で、左右方向(水平方向)に伸びた太線で表される水平線と、上下方向(垂直方向)に伸びた太線で表される垂直線とが示されている。
なお、図11上側に示された8×8画素のブロックは、MPEG-2による符号化および復号の過程で、DCT変換/逆DCT変換の対象となるブロックである。
図11中央上側には、白丸で示す注目画素を中心として水平方向に並ぶ9画素であるタップ311が示されている。さらに、図11中央下側には、タップ311の注目画素を起点(中心)として、左右反転したタップ312が示されている。
図11左下側には、白丸で示す注目画素を中心として垂直方向に並ぶ9画素であるタップ313が示されている。さらに、図11右下側には、タップ313の注目画素を起点(中心)として、上下反転したタップ314が示されている。
例えば、8×8画素のブロックを、垂直線と水平線とにより、4×4画素の左上のブロックである左上領域、4×4画素の右上のブロックである右上領域、4×4画素の左下のブロックである左下領域、および4×4画素の右下のブロックである右下領域に区分し、左上領域の各画素に、例えば、ラスタスキャン順に、画素位置モード0乃至15を割り当てる。
そして、左上領域の各画素において、垂直線または水平線を基準として、線対称の位置関係にある画素、および8×8画素のブロックの中心を基準として、点対称の位置関係にある画素に、画素位置モードとして同一の値が割り当てられる。
画素位置モード判定部275は、予測タップ抽出部123から供給された注目画素の位置情報に基づいて、注目画素の画素位置モードを判定し、係数記憶部276に供給する。
係数記憶部276は、画素位置モード判定部275から供給された画素位置モード、およびクラス分類部125から供給されたクラスコードに対応したタップ係数を、予測演算部278に出力する。
領域判定部277は、予測タップ抽出部123から供給された注目画素の位置情報に基づいて、注目画素が、左上領域、右上領域、左下領域、および右下領域のうちの、いずれかの領域に位置するか示す領域情報を判定し、予測演算部278に供給する。
予測演算部278は、領域判定部277からの領域情報に対応した所定の予測演算を行う。
即ち、領域判定部277からの領域情報が、注目画素が左上領域に位置することを表す情報である場合、予測演算部278は、予測タップ抽出部123から供給された予測タップx1,x2,・・・,x9と、係数記憶部276から供給されたタップ係数w1,w2・・・,w9とを、順番に乗算することで、注目画素に対応する、高画質画像データの画素の画素値(予測値)w1x1+w2x2+・・・+w9x9を得て出力する。
領域判定部277からの領域情報が、注目画素が右上領域または右下領域に位置することを表す情報である場合、予測演算部278は、予測タップ抽出部123から供給された予測タップを、図11中央に示されるように、注目画素を起点として左右反転する。そして、予測演算部278は、注目画素を起点として左右反転させた予測タップと、係数記憶部276から供給されたタップ係数とを、順番に乗算することで、注目画素に対応する、高画質画像データの画素の画素値を求めて出力する。
具体的には、予測タップ抽出部123から供給された予測タップが、タップ311であり、タップ311に付された番号に対応する画素の画素値がx1,x2,・・・,x9である場合、予測演算部278は、タップ311を、注目画素を起点として左右反転することでタップ312とし、タップ312に付された番号に対応する画素の画素値x9,x8,・・・,x1と、係数記憶部276から供給されたタップ係数w1,w2・・・,w9とを、順番に乗算することで、注目画素に対応する、高画質画像データの画素の画素値(予測値)w1x9+w2x8+・・・+w9x1を得て出力する。
また、領域判定部277からの領域情報が、注目画素が左下領域または右下領域に位置することを表す情報である場合、予測演算部278は、予測タップ抽出部123から供給された予測タップを、図11下側に示されるように、注目画素を起点として上下反転する。そして、予測演算部278は、注目画素を起点として上下反転させた予測タップと、係数記憶部276から供給されたタップ係数とを、順番に乗算することで、注目画素に対応する、高画質画像データの画素の画素値を求めて出力する。
具体的には、予測タップ抽出部123から供給された予測タップが、図11左下側のタップ313であり、タップ313に付された番号に対応する画素の画素値がx1,x2,・・・,x9である場合、予測演算部278は、タップ313を、注目画素を起点として上下反転することでタップ314とし、タップ314に付された番号に対応する画素の画素値x9,x8,・・・,x1と、係数記憶部276から供給されたタップ係数w1,w2・・・,w9とを、順番に乗算することで、注目画素に対応する、高画質画像データの画素の画素値(予測値)w1x9+w2x8+・・・+w9x1を得て出力する。
次に、図12は、10×8画素の処理ブロックの画素に、画素位置モードを割り当てた一例を示す図である。
図12には、10×8画素(横×縦)の処理ブロックが示されている。
また、図12には、10×8画素の処理ブロックの中心を通る形で、左右方向(水平方向)に伸びた太線で表される水平線と、上下方向(垂直方向)に伸びた太線で表される垂直線とが示されている。
画素位置モードにおいては、10×8画素のブロックを、垂直線と水平線とにより、5×4画素の左上のブロックである左上領域、5×4画素の右上のブロックである右上領域、5×4画素の左下のブロックである左下領域、および5×4画素の右下のブロックである右下領域に区分し、左上領域の各画素に、例えば、ラスタスキャン順に、画素位置モード0乃至19を割り当てる。
そして、左上領域の各画素において、垂直線または水平線を基準として、線対称の位置関係にある画素、および10×8画素のブロックの中心を基準として、点対称の位置関係にある画素に、画素位置モードとして同一の値が割り当てられる。
即ち、領域判定部277からの領域情報が、注目画素が左上領域に位置することを表す情報である場合、予測演算部278は、図11の場合と同様に、予測タップ抽出部123から供給された予測タップx1,x2,・・・,x9と、係数記憶部276から供給されたタップ係数w1,w2・・・,w9とを、順番に乗算することで、注目画素に対応する、高画質画像データの画素の画素値(予測値)w1x1+w2x2+・・・+w9x9を得て出力する。
領域判定部277からの領域情報が、注目画素が右上領域または右下領域に位置することを表す情報である場合、予測演算部278は、図11の場合と同様に、予測タップ抽出部123から供給された予測タップを、注目画素を起点として左右反転する。そして、予測演算部278は、注目画素を起点として左右反転させた予測タップと、係数記憶部276から供給されたタップ係数とを、順番に乗算することで、注目画素に対応する、高画質画像データの画素の画素値を求めて出力する。
また、領域判定部277からの領域情報が、注目画素が左下領域または右下領域に位置することを表す情報である場合、予測演算部278は、図11の場合と同様に、予測タップ抽出部123から供給された予測タップを、注目画素を起点として上下反転する。そして、予測演算部278は、注目画素を起点として上下反転させた予測タップと、係数記憶部276から供給されたタップ係数とを、順番に乗算することで、注目画素に対応する、高画質画像データの画素の画素値を求めて出力する。
図13は、11×8画素(横×縦)の処理ブロックの画素に、画素位置モードを割り当てた一例を示す図である。
図13には、11×8画素の処理ブロックが示されており、図13右側の太線の矩形で囲まれた部分は、境界上画素を示している。
また、図13には、11×8画素の処理ブロックのうちの、境界上画素を除外した10×8画素のブロックの中心を通る形で、左右方向(水平方向)に伸びた太線で表される水平線と、上下方向(垂直方向)に伸びた太線で表される垂直線とが示されている。
例えば、11×8画素の処理ブロックのうちの、境界上画素を除外した10×8画素のブロックを、垂直線と水平線とにより、5×4画素の左上のブロックである左上領域、5×4画素の右上のブロックである右上領域、5×4画素の左下のブロックである左下領域、および5×4画素の右下のブロックである右下領域に区分し、左上領域の各画素に、例えば、ラスタスキャン順に、画素位置モード0乃至19を割り当てる。
そして、左上領域の各画素において、垂直線または水平線を基準として、線対称の位置関係にある画素、および10×8画素のブロックの中心を基準として、点対称の位置関係にある画素に、画素位置モードとして同一の値が割り当てられる。
なお、11×8画素の処理ブロックのうちの、境界上画素である1×8画素のブロックには、11×8画素の処理ブロックのうちの、境界上画素を除外した10×8画素のブロックの各画素に割り当てた画素位置モードがとる値と異なる画素位置モードの値を割り当てる。
ここで、領域判定部277からの領域情報が、注目画素が左上領域に位置することを表す情報である場合、予測演算部278は、図11の場合と同様に、予測タップ抽出部123から供給された予測タップx1,x2,・・・,x9と、係数記憶部276から供給されたタップ係数w1,w2・・・,w9とを、順番に乗算することで、注目画素に対応する、高画質画像データの画素の画素値(予測値)w1x1+w2x2+・・・+w9x9を得て出力する。を求めて出力する。
領域判定部277からの領域情報が、注目画素が右上領域または右下領域に位置することを表す情報である場合、予測演算部278は、図11の場合と同様に、予測タップ抽出部123から供給された予測タップを、注目画素を起点として左右反転する。そして、予測演算部278は、注目画素を起点として左右反転させた予測タップと、係数記憶部276から供給されたタップ係数とを、順番に乗算することで、注目画素に対応する、高画質画像データの画素の画素値を求めて出力する。
また、領域判定部277からの領域情報が、注目画素が左下領域または右下領域に位置することを表す情報である場合、予測演算部278は、図11の場合と同様に、予測タップ抽出部123から供給された予測タップを、注目画素を起点として上下反転する。そして、予測演算部278は、注目画素を起点として上下反転させた予測タップと、係数記憶部276から供給されたタップ係数とを、順番に乗算することで、注目画素に対応する、高画質画像データの画素の画素値を求めて出力する。
なお、11×8画素の処理ブロックとしては、図13に示される、境界上画素が右側に存在する処理ブロックのほかに、境界上画素が左側に存在する処理ブロックもあるが、この場合も同様に、画素位置モードを割り当てることができる。
また、図12および図13においては、垂直線に隣接する画素の画素位置モードの値を4としているが、例えば、いま、画素位置モードが4の画素の画素位置モードを、画素位置モードが4の画素に隣接する画素の画素位置モードと同一の3にするようにしてもよい。この場合、画素位置モードのモード数を1個節約することができるため、係数記憶部276に記憶させるタップ係数を、値4が割り当てられた画素位置モードに対応するタップ係数分減らすことができ、係数記憶部276のメモリ容量を節約することができる。
次に、図14のフローチャートを参照して、図10の画像変換部61における画像変換処理を説明する。
この画像変換処理は、例えば、図1のデコーダ32により、1920×1080画素の出力画像データが、画像変換部61に供給されたときに開始される。このとき、ブロック抽出部121、予測タップ抽出部123、およびクラスタップ抽出部124それぞれに、出力画像データが供給される。
ステップS131において、制御部279は、画像変換部61における画像変換処理が、出力画像データの処理ブロックごとに行われるように、各ブロックの制御を開始する。
具体的には、制御部279は、ブロック抽出部121を制御し、図1のデコーダ32から出力される出力画像データから、64×16画素の抽出対象ブロック(図4)を、図3に示されるように順次抽出させ、抽出した抽出対象ブロックを、図4に示されるように、処理対象ブロック131、132、または133に区分させる。
また、制御部279は、ブロック抽出部121を制御し、区分された処理対象ブロックを、適宜、閾値算出部122に供給させる。さらに、制御部279は、閾値算出部122を制御し、処理対象ブロックを、11×8画素または10×8画素の処理ブロックに区分させる。制御部279は、閾値算出部122、予測タップ抽出部123、クラスタップ抽出部124、クラス分類部125、画素位置モード判定部275、係数記憶部276、領域判定部277、または予測演算部278を制御することで、出力画像データの処理ブロックごとに画像変換処理を行わせる。
閾値算出部122、予測タップ抽出部123、クラスタップ抽出部124、クラス分類部125、画素位置モード判定部275、係数記憶部276、領域判定部277または予測演算部278は、制御部279の制御に従い、出力画像データの処理ブロックごとに画像変換処理を行う。
即ち、ステップS131の処理後、処理は、ステップS132に進み、ステップS132乃至ステップS139それぞれにおいて、図7のステップS32乃至ステップS39それぞれと同様の処理を行い、処理は、ステップS140に進む。
ステップS140において、画素位置モード判定部275は、予測タップ抽出部123から供給された位置情報に基づいて、注目画素の画素位置モードを判定し、係数記憶部276に供給して、ステップS141に進む。なお、ステップS137において、予測タップ抽出部123は、予測タップを抽出するとともに、いま注目画素となっている画素の位置情報(例えば、注目ブロックにおける注目画素の座標など)を、画素位置モード判定部275に供給するようになっている。
ステップS141において、係数記憶部276は、後述するような学習処理が行われることにより得られるタップ係数が登録された係数テーブルを記憶しており、クラス分類部125から供給されたクラスコードと、画素位置モード判定部275から供給された画素位置モードとに対応付けられたタップ係数を予測演算部278に供給する。なお、ステップS139において、クラス分類部125は、クラス分類により得られるクラスに対応するクラスコードを係数記憶部276に、供給するようになっている。
ステップS141の処理後、処理は、ステップS142に進み、領域判定部277は、予測タップ抽出部123から供給された位置情報に基づいて、注目画素の領域情報を判定し、予測演算部278に供給して、処理は、ステップS143に進む。なお、ステップS137において、予測タップ抽出部123は、予測タップを抽出するとともに、いま注目画素となっている画素の位置情報を、領域判定部277に供給するようになっている。
ステップS143において、予測演算部278は、予測タップ抽出部123から供給された予測タップと、係数記憶部276から供給されたタップ係数とを用いて、領域判定部277から供給された領域情報に対応した所定の予測演算を行うことにより、注目画素に対応する、高画質画像データの画素の画素値(予測値)を求めて出力し、処理は、ステップS144に進み、図7のステップS42と同様の処理を行う。
その後、処理は、ステップS145に進み、制御部279は、出力画像データすべての処理ブロックを、注目ブロックとしたか否かを判定する。
ステップS144において、出力画像データすべての処理ブロックを、注目ブロックとしていないと判定された場合、処理は、ステップS132に戻り、以下、同様の処理を繰り返す。
一方、ステップS145において、出力画像データすべての処理ブロックを、注目ブロックとしたと判定された場合、図14の画像変換処理は終了される。
以上のような図14の画像変換処理では、注目画素がクラス分類され、さらに、注目画素の画素位置モードが判定されることにより、注目画素のクラスと画素位置モードとに基づいて、タップ係数が選択されるため、注目画素のクラスに基づいてタップ係数が選択される場合と比較して、より適切なタップ係数が選択され、そのため、誤差の少ない高画質画像データの画素値を求めることができる。即ち、出力画像データに付加されたモスキートノイズやブロック歪を、より効果的に除去することができる。
図15は、式(8)の正規方程式をクラスと画素位置モード(とのセット)ごとにたてて解くことによりタップ係数wnを求める学習処理を行う学習装置201の構成例を示している。
なお、図中、図8の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
即ち、図15の学習装置201は、図8の、足し込み部238、係数算出部239、または制御部240に代えて、足し込み部340、係数算出部341、または制御部342がそれぞれ設けられており、さらに画素位置モード判定部339が新たに設けられているほかは、図8の場合と同様に構成される。
なお、予測タップ抽出部235は、いま注目画素となっている画素の位置情報(例えば、注目ブロックにおける注目画素の座標など)を、画素位置モード判定部339に供給するようになっている。
画素位置モード判定部339は、予測タップ抽出部235から供給された位置情報に基づいて、図10の画素位置モード判定部275と同一の判定を行うことで、注目画素の画素位置モードを判定し、足し込み部340に供給する。
足し込み部340は、学習用画像記憶部231から、注目画素に対応する、教師画像データ(学習用画像データ)の画素(の画素値)を読み出し、その画素と、予測タップ抽出部235から供給された注目画素についての予測タップを構成する生徒画像データの画素とを対象とした足し込みを、クラス分類部237から供給されたクラスコードと、画素位置モード判定部339から供給された画素位置モードごとに行う。
即ち、足し込み部340には、学習用画像記憶部231に記憶された教師画像データ(の画素のうちの、注目画素に対応する画素の画素値)yk、予測タップ抽出部235が出力する予測タップ(を構成する生徒画像データの画素の画素値)xn,k、クラス分類部237が出力する、注目画素のクラスを表すクラスコード、および画素位置モード判定部339が出力する、注目画素の画素位置モードが供給される。
そして、足し込み部340は、クラス分類部237から供給されたクラスコードに対応するクラスと、画素位置モード判定部339から供給された画素位置モードごとに、予測タップ(生徒画像データ)xn,kを用い、式(8)の左辺の行列における生徒画像データどうしの乗算(xn,kxn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部340は、やはり、クラス分類部237から供給されたクラスコードに対応するクラスと、画素位置モード判定部339から供給された画素位置モードごとに、予測タップ(生徒画像データ)xn,kと教師画像データykを用い、式(8)の右辺のベクトルにおける生徒画像データxn,kおよび教師画像データykの乗算(xn,kyk)と、サメーション(Σ)に相当する演算を行う。
即ち、足し込み部340は、前回、注目画素とされた生徒画像データについて求められた式(8)における左辺の行列のコンポーネント(Σxn,kxn',k)と、右辺のベクトルのコンポーネント(Σxn,kyk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kxn',k)またはベクトルのコンポーネント(Σxn,kyk)に対して、新たに注目画素とされた生徒画像データについて、その生徒画像データxn,k+1および教師画像データyk+1を用いて計算される、対応するコンポーネントxn,k+1xn',k+1またはxn,k+1yk+1を足し込む(式(8)のサメーションで表される加算を行う)。
そして、足し込み部340は、ノイズ付加部232により生成される生徒画像データすべてを注目画素として、上述の足し込みを行うことにより、それぞれの、クラスと画素位置モードについて、式(8)に示した正規方程式をたてると、その正規方程式を、係数算出部341に供給する。
係数算出部341は、足し込み部340から供給されたそれぞれの、クラスと画素位置モードについての正規方程式を解くことにより、それぞれの、クラスと画素位置モードについて、最適なタップ係数wnを求めて出力する。
制御部342は、学習用画像記憶部231、ノイズ付加部232、ブロック抽出部233、閾値算出部234、予測タップ抽出部235、クラスタップ抽出部236、クラス分類部237、画素位置モード判定部339、足し込み部340、または係数算出部341を制御する。
即ち、制御部342は、学習装置201における学習処理が、生徒画像データの処理ブロックごとに行われるように、各ブロックを制御する。
次に、図16のフローチャートを参照して、図15の学習装置201における学習処理を説明する。
この学習処理は、例えば、ユーザにより、放送局31で得られる原画像(図1)に相当する画像データが、タップ係数wnの学習に用いられる学習用画像データとして、学習装置201に供給されたときに開始される。このとき、学習装置201において、学習用画像データは、学習用画像記憶部231に供給され、記憶される。
ステップS171において、制御部342は、学習装置201における学習処理が、生徒画像データの処理ブロックごとに行われるように、各ブロックを制御する。
具体的には、制御部342は、ノイズ付加部232を制御し、学習用画像記憶部231から、学習用画像データを読み出させ、学習用画像データに、図1で行われる処理と同様の処理を行わせることで、出力画像データに相当する画像である生徒画像データを生成させる。
即ち、ノイズ付加部232は、図1で示される放送局31で得られる原画像に相当する画像データである学習用画像データを、図1における原画像を、拡大MPEG復号画像に変換する処理と同様の処理を行うことで、出力画像データに相当する画像である生徒画像データを生成する。
また、制御部342は、ブロック抽出部233を制御し、処理対象ブロックを、例えば、ラスタスキャン順に、順次、閾値算出部234に供給させる。即ち、ブロック抽出部233は、制御部342の制御に従い、ノイズ付加部232から供給されてくる生徒画像データから、所定のブロックを、例えば、ラスタスキャン順に、順次抽出することにより、図10のブロック抽出部121が抽出する抽出対象ブロックと同一の抽出対象ブロックを得る。また、ブロック抽出部233は、制御部342の制御に従い、抽出した抽出対象ブロックを複数のブロックに区分することにより、図10のブロック抽出部121により区分される複数の処理対象ブロックと同一の複数の処理対象ブロックを得て、例えば、ラスタスキャン順に、順次、閾値算出部234に供給する。
その後、制御部342は、閾値算出部234、予測タップ抽出部235、クラスタップ抽出部236、クラス分類部237、画素位置モード判定部339、足し込み部340、または係数算出部341を制御することで、ノイズ付加部232により生成される生徒画像データの処理ブロックごとに学習処理を行わせる。
このとき、閾値算出部234、予測タップ抽出部235、クラスタップ抽出部236、クラス分類部237、画素位置モード判定部339、足し込み部340、または係数算出部341は、制御部342の制御に従い、ノイズ付加部232により生成される生徒画像データの処理ブロックごとに学習処理を行う。
即ち、処理は、ステップS171からステップS172に進み、ステップS172乃至ステップS179それぞれにおいて、図9のステップS72乃至ステップS79と同様の処理を行い、ステップS180に進み、画素位置モード判定部339は、予測タップ抽出部235から供給された位置情報に基づいて、図10の画素位置モード判定部275と同一の判定を行うことで、注目画素の画素位置モードを判定し、足し込み部340に供給する。なお、ステップS177において、予測タップ抽出部235は、予測タップを抽出するとともに、いま注目画素となっている画素の位置情報を、画素位置モード判定部339に供給するようになっている。
処理は、ステップS180からステップS181に進み、足し込み部340は、学習用画像記憶部231から、注目画素に対応する、学習用画像である教師画像データの画素(の画素値)を読み出し、その画素と、予測タップ抽出部235から供給された注目画素についての予測タップを構成する生徒画像データの画素とを対象とした足し込みを、クラス分類部237から供給されたクラスコードと、画素位置モード判定部339から供給された画素位置モードごとに行い、処理は、ステップS182に進む。
ステップS182において、予測タップ抽出部235は、注目ブロックのすべての画素を、注目画素としたかを判定する。
ステップS182において、注目ブロックのすべての画素を、まだ注目画素としていないと判定された場合、処理は、ステップS176に戻り、予測タップ抽出部235は、注目ブロックのうちの、まだ注目画素としていない画素を注目画素として、処理は、ステップS177に進み、以下、同様の処理を繰り返す。
一方、ステップS182において、注目ブロックのすべての画素を、注目画素としたと判定された場合、処理は、ステップS183に進み、制御部342は、ノイズ付加部232により生成される生徒画像データすべての処理ブロックを、注目ブロックとしたか否かを判定する。
ステップS183において、ノイズ付加部232により生成される生徒画像データすべての処理ブロックを、注目ブロックとしていないと判定された場合、処理は、ステップS172に戻り、以下、同様の処理を繰り返す。
一方、ステップS183において、ノイズ付加部232により生成される生徒画像データすべての処理ブロックを、注目ブロックとしたと判定された場合、即ち、足し込み部340においては、ノイズ付加部232により生成される生徒画像データすべてを注目画素として、上述の足し込みを行うことにより、それぞれの、クラスと画素位置モードについて、式(8)に示した正規方程式をたてて、その正規方程式を、係数算出部341に供給する場合、処理は、ステップS184に進み、係数算出部341は、足し込み部340から供給された、それぞれの、クラスと画素位置モードについての正規方程式を解くことにより、それぞれの、クラスと画素位置モードについて、最適なタップ係数wnを求めて出力する。
その後、図16の学習処理は終了される。
以上のような図16の学習処理では、生徒画像データの注目画素がクラス分類され、生徒画像データの注目画素の画素位置モードが判定されるとともに、注目画素のクラスと画素位置モードと(のセット)に対応付けられたタップ係数が学習されるため、注目画素の画素位置モードが判定されずにタップ係数が学習される場合と比較して、より多くのバリエーションのタップ係数を学習することができる。
図17は、図2の画像変換部61における画像変換処理と、上述した特許文献1や2などにおける画像変換処理とを選択的に用いることができる画像処理装置371を示すブロック図である。
画像処理装置371は、ブロックサイズ検出部401、ブロックサイズ判定部402、図2の画像変換部61、および画像変換部403により構成される。
なお、画像処理装置371には、例えば、図1のデコーダ32から出力される拡大MPEG復号画像などの出力画像データや、他のデコーダなどから出力される、例えば、8×8画素のブロックごとにMPEG-2などで符号化され、復号されることで得られた画像データが、入力画像データとして供給されるようになっている。このとき、画像処理装置371のブロックサイズ検出部401には、入力画像データが供給される。
ブロックサイズ検出部401は、そこに供給された入力画像データのブロックサイズを検出し、入力画像データとともに、ブロックサイズ判定部402に供給する。
ここで、入力画像データのブロックサイズとは、例えば、入力画像データが出力画像データである場合、10.666×8画素のブロックのサイズをいい、入力画像データが画像データである場合、8×8画素のブロックのサイズをいう。
ブロックサイズ判定部402は、ブロックサイズ検出部401から供給されたブロックサイズが、例えば、8×8画素などの所定のブロックサイズであるか否かを判定する。即ち、ブロックサイズ判定部402は、ブロックサイズ検出部401から供給された入力画像データが境界上画素を含む画像であるか否かを判定する。
ブロックサイズ検出部401から供給されたブロックサイズが、8×8画素などの所定のブロックサイズであると判定された場合、即ち、ブロックサイズ検出部401から供給された入力画像データが境界上画素を含む画像ではないと判定された場合、ブロックサイズ判定部402は、ブロックサイズ検出部401からの入力画像データを、画像変換部403に供給する。
一方、ブロックサイズ検出部401から供給されたブロックサイズが、8×8画素などの所定のブロックサイズでない(10.666×8画素などのブロックサイズである)と判定された場合、即ち、ブロックサイズ検出部401から供給された入力画像データが境界上画素を含む画像であると判定された場合、ブロックサイズ判定部402は、ブロックサイズ検出部401からの入力画像データを、画像変換部61に供給する。
画像変換部403は、ブロックサイズ判定部402からの入力画像データに対して、特許文献1や2に開示された技術を用いた画像変換処理を行う。
画像変換部61は、ブロックサイズ判定部402からの入力画像データに対して、図2で説明した画像変換処理を行う。
次に、図18のフローチャートを参照して、図18の画像処理装置371における画像変換処理を説明する。
この画像変換処理は、例えば、図1のデコーダ32から出力される拡大MPEG復号画像などの出力画像データや、他のデコーダなどから出力される、例えば、8×8画素のブロックごとにMPEG-2などで符号化され、復号されることで得られた画像データが、入力画像データとして、画像処理装置371に供給されたときに、開始される。このとき、画像処理装置371のブロックサイズ検出部401には、入力画像データが供給される。
ステップS191において、ブロックサイズ検出部401は、そこに供給された入力画像データのブロックサイズを検出し、入力画像データとともに、ブロックサイズ判定部402に供給して、ステップS192に進み、ブロックサイズ判定部402は、ブロックサイズ検出部401から供給されたブロックサイズが、例えば、8×8画素などの所定のブロックサイズであるか否かを判定する。即ち、ステップS192において、ブロックサイズ判定部402は、ブロックサイズ検出部401から供給された入力画像データが境界上画素を含む画像であるか否かを判定する。
ステップS192において、ブロックサイズ検出部401から供給されたブロックサイズが、8×8画素などの所定のブロックサイズであると判定された場合、即ち、ブロックサイズ検出部401から供給された入力画像データが境界上画素を含む画像ではないと判定された場合、ブロックサイズ判定部402は、ブロックサイズ検出部401からの入力画像データを、画像変換部403に供給して、ステップS193に進み、画像変換部403は、ブロックサイズ判定部402からの入力画像データに対して、特許文献1や2に開示された技術を用いた画像変換処理を行い、画像処理装置371における画像変換処理は終了される。
一方、ブロックサイズ検出部401から供給されたブロックサイズが、8×8画素などの所定のブロックサイズでない(10.666×8画素などのブロックサイズである)と判定された場合、即ち、ブロックサイズ検出部401から供給された入力画像データが境界上画素を含む画像であると判定された場合、ブロックサイズ判定部402は、ブロックサイズ検出部401からの入力画像データを、画像変換部61に供給して、ステップS194に進み、画像変換部61は、ブロックサイズ判定部402からの入力画像データに対して、図2で説明した画像変換処理を行い、図18の画像変換処理は終了される。
以上のような図18の画像変換処理では、入力画像データのブロックサイズが判定され、そのブロックサイズに応じて最適な画像変換処理が行われるため、異なるブロックサイズの入力画像データに対して、同一の画像変換処理が行われる場合と比較して、例えば、入力画像データに付加されたモスキートノイズやブロック歪などが効果的に除去される。
次に、図19乃至図25を参照して、ブロックサイズが10.666×8画素の出力画像データに対して、特許文献1のノイズ除去処理を行った場合の処理結果と、本発明を適用した特許文献1のノイズ除去処理を行った場合の処理結果とを示すことにより、本発明によるノイズ除去効果を説明する。
図19は、ブロックサイズが10.666×8画素の出力画像データに対して、特許文献1のノイズ除去処理を行った場合に得られた画像を示す図である。
図20は、特許文献1のノイズ除去処理を行った場合に得られた画像の所定の位置における画素の画素値の波形を示す図である。
即ち、図20上側には、特許文献1のノイズ除去処理を行った場合に得られた画像が示されており、その画像には、10.666×8画素のブロックの境界と直交する左右方向に伸びた矢印が示されている。
また、図20下側には、図20上側に示された矢印の位置を示す横軸と、その矢印の位置に対応する画素の画素値を示す縦軸とで表されたグラフが示されている。
さらに、図20下側に示されたグラフに示される記号Yの近傍は、10.666×8画素のブロックの境界の近傍を示している。
図21は、ブロックサイズが10.666×8画素の出力画像データに対して、本発明を適用した特許文献1のノイズ除去処理を行った場合に得られた画像を示す図である。
図22は、本発明を適用した特許文献1のノイズ除去処理を行った場合に得られた画像の所定の位置における画素の画素値の波形を示す図である。
即ち、図22上側には、本発明を適用した特許文献1のノイズ除去処理を行った場合に得られた画像が示されており、その画像には、10.666×8画素のブロックの境界と直交する左右方向に伸びた矢印が示されている。
また、図22下側には、図22上側に示された矢印の位置を示す横軸と、その矢印の位置に対応する画素の画素値を示す縦軸とで表されたグラフが示されている。
さらに、図22下側に示されたグラフに示される記号Yの近傍は、10.666×8画素のブロックの境界の近傍を示している。
図23は、図20下側に示されたグラフと、図22下側に示されたグラフとを重ね合わせた図である。
図23には、グラフoldとして、図20下側に示されたグラフ(特許文献1のノイズ除去処理を行った場合に得られる画像から得られたグラフ)が、グラフnewとして、図22下側に示されたグラフ(本発明を適用した特許文献1のノイズ除去処理を行った場合に得られる画像から得られたグラフ)が示されている。
図23に示される記号Yの近傍では、グラフoldが上下に振れた曲線を描いているのに対して、グラフnewは滑らかな曲線を描いている。このことから、本発明を適用した特許文献1のノイズ除去を行った場合のほうが、10.666×8画素のブロックによるブロック歪を低減することができることがわかる。
図24は、出力画像データに対して、特許文献1のノイズ除去処理を行った場合のSNR(signal to noise ratio)と、本発明を適用した特許文献1のノイズ除去処理をおこなった場合のSNRとを比較した図である。
図24に示される表の左側から1番目の欄(列)は、ノイズ除去処理の対象である、ビットレートが12Mbps(megabit per second)の出力画像データが示された欄である。
また、図24に示される表の左側から2番目の欄は、1番目の欄に示された出力画像データに対して、特許文献1のノイズ除去処理を行った場合のSNRが示された欄である。さらに、図24に示される表の左側から3番目の欄は、1番目の欄に示された出力画像データに対して、本発明を適用した特許文献1のノイズ除去処理を行った場合のSNRが示された欄である。
図24に示される表を参照すると、いずれの場合も、本発明を適用した特許文献1のノイズ除去処理のSNRが良いことがわかる。
図25は、出力画像データに対して、特許文献1のノイズ除去処理を行った場合のSNRと、本発明を適用した特許文献1のノイズ除去処理をおこなった場合のSNRとを比較した他の図である。
図25に示される表の左側から1番目の欄(列)は、ノイズ除去処理の対象である、ビットレートが15Mbpsの出力画像データが示された欄である。
また、図25に示される表の左側から2番目の欄は、1番目の欄に示された出力画像データに対して、特許文献1のノイズ除去処理を行った場合のSNRが示された欄である。さらに、図25に示される表の左側から3番目の欄は、1番目の欄に示された出力画像データに対して、本発明を適用した特許文献1のノイズ除去処理を行った場合のSNRが示された欄である。
図25に示される表を参照すると、図24の場合と同様に、いずれの場合も、本発明を適用した特許文献1のノイズ除去処理のSNRが良いことがわかる。
次に、上述した図2および図10の画像変換部61、図8および図15の学習装置201、および図17の画像処理装置371が行う一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、いわゆる組み込み型のコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、プログラム格納媒体からインストールされる。
図26は、上述した一連の処理をプログラムにより実行するコンピュータの構成例を示すブロック図である。
CPU(Central Processing Unit)701は、ROM(Read Only Memory)702、または記憶部708に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)703には、CPU701が実行するプログラムやデータなどが適宜記憶される。これらのCPU701、ROM702、およびRAM703は、バス704により相互に接続されている。
CPU701にはまた、バス704を介して入出力インタフェース705が接続されている。入出力インタフェース705には、キーボード、マウス、マイクロホンなどよりなる入力部706、ディスプレイ、スピーカなどよりなる出力部707が接続されている。CPU701は、入力部706から入力される指令に対応して各種の処理を実行する。そして、CPU701は、処理の結果を出力部707に出力する。
入出力インタフェース705に接続されている記憶部708は、例えばハードディスクからなり、CPU701が実行するプログラムや各種のデータを記憶する。通信部709は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
また、通信部709を介してプログラムを取得し、記憶部708に記憶してもよい。
入出力インタフェース705に接続されているドライブ710は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア711が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部708に転送され、記憶される。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図26に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク(MD(Mini-Disc)を含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア711、または、プログラムが一時的もしくは永続的に格納されるROM702や、記憶部708を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部709を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本実施の形態において、画像変換処理を行うものとして、図2の画像変換部61や、図10の画像変換部61、図17の画像処理装置371を説明したが、かかる画像変換処理を行う装置の具体例として、例えば、テレビジョン受像機や、ハードディスクレコーダ、DVDレコーダなどを採用することができる。
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
61 画像変換部, 121 ブロック抽出部, 122 閾値算出部, 123 予測タップ抽出部, 124 クラスタップ抽出部, 125 クラス分類部, 126 係数記憶部, 127 予測演算部, 201 学習装置, 231 学習用画像記憶部, 232 ノイズ付加部, 233 ブロック抽出部, 234 閾値算出部, 235 予測タップ抽出部, 236 クラスタップ抽出部, 237 クラス分類部, 238 足し込み部, 239 係数算出部, 240 制御部, 275 画素位置モード判定部, 276 係数記憶部, 277 領域判定部, 278 予測演算部, 279 制御部, 339 画素位置モード判定部, 340 足し込み部, 341 係数算出部, 342 制御部, 371 画像処理装置, 401 ブロックサイズ検出部, 402 ブロックサイズ判定部, 403 画像変換部