この発明の実施の形態について説明する。図1は、実施の形態としての画像信号処理装置100の構成を示している。この画像信号処理装置100は、入力端子101と、入力基板102と、ノイズ除去処理基板103と、解像度創造処理基板104と、出力基板105と、出力端子106とからなっている。入力端子101は、処理すべき画像信号Sinを入力するための端子である。出力端子106は、処理された画像信号Soutを出力するための端子である。
ここで、画像信号Sinは、例えばMPEGデータ等のブロック毎に符号化が行われたデジタル画像信号を復号化することで得られた画像信号であり、ブロックノイズ(ブロック歪)、モスキートノイズ等の符号化ノイズを持っている。
入力基板102は、入力端子101に入力された画像信号Sinに対して、A/D変換等の処理を行って、後段の基板で用いるために適切な形式の、第1の情報信号としての画像信号Saを生成する。この画像信号Saは、複数の画素データからなるものであり、SD(Standard Definition)信号である。
ノイズ除去処理基板103は、入力基板102で生成された画像信号Saに対して、上述したブロックノイズ、モスキートノイズ等の符号化ノイズを除去する処理を行って、第2の情報信号としての画像信号Sbを取得する。この画像信号Sbは、画像信号Saと同じ数の複数の画素データからなるものであり、SD信号である。
また、このノイズ除去処理基板103は、画像信号Sbに残る所定のノイズ、例えばブロックノイズに対応した制御信号Vr,Vzを発生する。制御信号Vr,Vzは、後述する解像度創造処理基板104で、それぞれ、解像度、ノイズ除去度を決めるパラメータr,zの値を制御するために用いられる。
解像度創造処理基板104は、ノイズ除去処理基板103で得られた画像信号Sbに対して、当該ノイズ除去処理基板103で発生された制御信号Vr,Vzに応じて解像度を上げるための処理を行って、第3の情報信号としての画像信号Scを取得する。この場合、処理基板104は、制御信号Vr,Vzに応じて、解像度、ノイズ除去度を制御し、画像信号Sbに残る所定のノイズ、例えばブロックノイズが強調されることを抑制する。
この画像信号Scは、複数の画素データからなるものであり、HD(High Definition)信号である。図2は、SD信号とHD信号の画素位置関係を示しており、大きなドットがSD信号の画素を示し、小さいドットがHD信号の画素を示している。この図2から分かるように、HD信号のライン数はSD信号の2倍であり、またHD信号の各ラインの画素数はSD信号の2倍である。
出力基板105は、解像度創造処理基板104で得られた画像信号Scに対して、D/A変換等の処理を行って適切なフォーマットの画像信号Soutを取得し、当該画像信号Soutを出力端子106に出力する。
図1に示す画像信号処理装置100の動作を説明する。
例えばMPEGデータ等のブロック毎に符号化が行われたデジタル画像信号を復号化することで得られた画像信号が、入力端子101に、処理すべき画像信号Sinとして入力される。この画像信号Sinは入力基板102に供給される。この入力基板102では、画像信号Sinに対してA/D変換等の処理が行われ、後段の基板で用いるために適切な形式の画像信号Saが生成される。
入力基板102で生成された画像信号Saは、ノイズ除去処理基板103に供給される。この処理基板103では、画像信号Saに対して、ブロックノイズ、モスキートノイズ等の符号化ノイズを除去する処理が行われ、符号化ノイズの低減された画像信号Sbが得られる。また、この処理基板103では、画像信号Sbに残る、所定のノイズ、例えばブロックノイズに対応した制御信号Vr,Vzが発生される。
ノイズ除去処理基板103で得られた画像信号Sbおよび当該ノイズ処理基板103で発生された制御信号Vr,Vzは、それぞれ、解像度創造処理基板104に供給される。この処理基板104では、SD信号としての画像信号Sbに対して、解像度を上げるための処理が行われ、HD信号としての画像信号Scが得られる。この場合、制御信号Vr,Vzに応じて、解像度、ノイズ除去度が制御され、画像信号Sbに残る所定のノイズ、例えばブロックノイズが強調されることが抑制される。
解像度創造処理基板104で得られた画像信号Scは、出力基板105に供給される。この出力基板105では、画像信号Scに対してD/A変換等の処理が行われ、適切なフォーマットの画像信号Soutが得られる。そして、この処理後の画像信号Soutは、出力端子106に出力される。
次に、上述したノイズ除去処理基板103の詳細を説明する。図3は、ノイズ除去処理基板103の回路構成を示している。この処理基板103は、クラス分類適応処理により、ノイズ除去処理を行う。
この処理基板103は、入力端子121と、バッファメモリ122とを有している。入力端子121は、画像信号Saを入力するための端子である。バッファメモリ122は、入力端子121に入力された画像信号Saを一時的に記憶する。
また、処理基板103は、予測タップ選択部123と、クラスタップ選択部124とを有している。予測タップ選択部123は、バッファメモリ122に記憶されている画像信号Saから、画像信号Sbにおける注目画素位置の周辺に位置する複数の画素データを、予測タップのデータとして選択的に抽出する。図4は、予測タップのパターン例を示しており、APは注目画素位置である。
クラスタップ選択部124は、バッファメモリ122に記憶されている画像信号Saから、画像信号Sbにおける注目画素位置の画素データを含むDCT(Discrete Cosine Transform)処理ブロックを構成する複数の画素データを、クラスタップのデータとして選択的に抽出する。MPEGデータの復号化時には、DCT処理ブロック毎にデコード処理が行われている。図5は、DCT処理ブロックを構成する8×8の画素データを示している。
また、処理基板103は、クラス検出部125を有している。このクラス検出部125は、クラスタップ選択部124で選択的に抽出されたクラスタップのデータとしての複数の画素データに対してデータ圧縮処理を施して、画像信号Sbにおける注目画素位置の画素データが属するクラスを示すクラスコードCLを取得する。例えば、データ圧縮処理としては、ADRC(Adaptive Dynamic Range Coding)、DPCM(予測符号化)、VQ(ベクトル量子化)等を利用できる。本実施の形態では、ADRC、例えば1ビットADRCが利用される。
まず、KビットADRCを利用する場合について説明する。この場合、クラスタップに含まれる画素データの最大値MAXと最小値MINの差分であるダイナミックレンジDR=MAX−MINを検出し、またクラスタップに含まれるそれぞれの画素データについて、その画素データから最小値MINを減算し、その減算値をDR/2Kで除算(量子化)し、クラスタップを構成するそれぞれの画素データをKビットに再量子化し、それを所定の順番で並べたビット列をクラスコードCLとする。
1ビットADRCを利用する場合には、クラスタップに含まれるそれぞれの画素データについて、その画素データから最小値MINを減算し、その減算値をDR/2で除算し、クラスタップに含まれるそれぞれの画素データを1ビットに再量子化し、それを所定の順番で並べたビット列をクラスコードCLとして出力する。
また、処理基板103は、係数メモリ126を有している。この係数メモリ126は、後述する推定予測演算部127で使用される、推定式で用いられる係数データWi(i=1〜n、nは予測タップの個数)を、クラス毎に、記憶している。この場合、各クラスの係数データWiは、DCT処理ブロック内の8×8の各画素位置(図5の(1,1)〜(8,8)の64位置)にそれぞれ対応した係数データからなっている。結局、係数メモリ126には、クラスおよび画素位置の各組み合わせに対応した係数データWiが記憶されている。
この係数データWiは、画像信号Sbに対応した教師信号STと画像信号Saに対応した生徒信号SSとから学習によって生成されたものであり、画像信号Saを画像信号Sbに変換するための情報である。このような係数データWiを用いて画像信号Saを画像信号Sbに変換することで、画像信号Saは、ブロックノイズ、モスキートノイズ等の符号化ノイズが低減された画像信号Sbに変換される。この係数データWiの生成方法については後述する。
係数メモリ126には上述したクラス検出部125で得られたクラスコードCLが読み出しアドレス情報として供給される。この係数メモリ126からは、クラスコードCLが表すクラス、および画像信号Sbにおける注目画素位置の、DCT処理ブロック内における画素位置に対応した係数データWiが読み出されて、推定予測演算部127に供給される。
また、処理基板103は、推定予測演算部127を有している。この推定予測演算部127は、予測タップ選択部123で選択的に抽出された予測タップのデータとしての複数の画素データxiと、係数メモリ126から読み出された係数データWiとを用い、(1)式の推定式に基づいて、画像信号Sbにおける注目画素位置の画素データyを求める。
また、処理基板103は、バッファメモリ128と、出力端子129とを有している。バッファメモリ128は、推定予測演算部127より順次出力される、画像信号Sbを構成する画素データyを一時的に記憶する。出力端子129は、バッファメモリ128に記憶されている画像信号Sbを出力するための端子である。
また、処理基板103は、制御信号発生部130と、出力端子131とを有している。この制御信号発生部130は、バッファメモリ128に記憶されている画像信号Sbに基づいて、当該画像信号Sbに残る所定のノイズ、本実施の形態ではブロックノイズ(ブロック歪)に対応した制御信号Vr,Vzを発生する。この制御信号発生部130では、画像信号Sbの各DCT処理ブロックの境界に位置する境界画素のそれぞれに対応して、以下のようにして、制御信号Vr,Vzを生成する。
図6Aに示すように、境界画素の画素データa1と、この境界画素に対してブロック境界線と直交する方向に隣接する画素の画素データa0,a2とを用いる。そして、図6Bに示すように、境界画素における二次微分値dを、(2)式に基づいて、求める。この二次微分値dの大きさは、ブロックノイズが大きい程大きくなる。
d=(a0−a1)−(a1−a2) ・・・(2)
そして、図6Cに示すように、二次微分値dの絶対値|d|に、それぞれ、定数−kr,kzを乗算して、(3)式、(4)式で、境界画素における制御信号Vr,Vzを生成する。ここで、kr>0、kz>0である。
Vr=−kr*|d| ・・・(3)
Vz= kz*|d| ・・・(4)
なお、制御信号発生部130は、画像信号Sbの各DCT処理ブロックの境界に位置する境界画素に対応しては、上述したように、(3)式、(4)式で制御信号Vr,Vzを生成する。しかし、この制御信号発生部130は、境界画素以外の画素に対応しては、その値が0である制御信号Vr,Vzを発生する。
出力端子131は、制御信号発生部130で発生された制御信号Vr,Vzを出力するための端子である。制御信号Vrは、解像度創造処理基板104において、解像度を決めるパラメータrの値を制御するために使用される。制御信号Vzは、解像度創造処理基板104において、ノイズ除去度を決めるパラメータzの値を制御するために使用される。
図3に示すノイズ除去処理基板103の動作を説明する。
入力基板102(図1参照)から供給される、入力画像信号としての画像信号Saは、入力端子121を介してバッファメモリ122に供給され、当該バッファメモリ122に一時的に記憶される。クラスタップ選択部124では、バッファメモリ122に記憶されている画像信号Saから、画像信号Sbにおける注目画素位置の画素データを含むDCT処理ブロックを構成する複数の画素データが、クラスタップのデータとして選択的に抽出される。この複数の画素データはクラス検出部125に供給される。
クラス検出部125では、クラスタップのデータとしての複数の画素データに、例えば1ビットADRC等のデータ圧縮処理が施されて、画像信号Sbにおける注目画素位置の画素データが属するクラスを表すクラスコードCLが得られる。このクラスコードCLは係数メモリ126に読み出しアドレス情報として供給される。これにより、推定予測演算部127には、係数メモリ126から、クラスコードCLが表すクラス、および画像信号Sbにおける注目画素位置の、DCT処理ブロック内における画素位置に対応した係数データWiが供給される。
予測タップ選択部123では、バッファメモリ122に一時的に記憶されている画像信号Saから、画像信号Sbにおける注目画素位置の周辺に位置する、複数の画素データxiが予測タップのデータとして選択的に取り出される。この複数の画素データxiは推定予測演算部127に供給される。
推定予測演算部127では、予測タップのデータとしての複数の画素データxiおよび係数データWiが用いられ、(1)式の推定式に基づいて、画像信号Sbにおける注目画素位置の画素データyが求められる。画像信号Sbにおける注目画素位置が順次変化するようにされ、推定予測演算部127からは、画像信号Sbにおける各注目画素位置の画素データyが順次出力される。
このように推定予測演算部127から順次出力される、各注目画素位置の画素データyはバッファメモリ128に供給されて一時的に記憶される。このバッファメモリ128に記憶された画像信号Sbを構成する各画素データは、その後に適宜なタイミングで読み出され、出力端子129を介して、解像度創造処理基板104(図1参照)に供給される。
また、バッファメモリ128に一時的に記憶されている画像信号Sbは、制御信号発生部130に供給される。この制御信号発生部130では、画像信号Sbに基づいて、当該画像信号Sbに残る所定のノイズ、本実施の形態ではブロックノイズに対応した制御信号Vr,Vzが発生される。
この制御信号Vr,Vzは、画像信号Sbの各DCT処理ブロックの境界に位置する境界画素に対応しては、当該境界画素を中心とした複数の画素データを用いて得られた二次微分値dの絶対値|d|に定数−kr,kzを乗算して得られる((2)式〜(4)式参照)。また、この制御信号Vr,Vzは、画像信号Sbの各DCT処理ブロックの境界画素以外の画素に対応しては、Vr=0、Vz=0とされる。
このように制御信号発生部130で発生される制御信号Vr,Vzは、出力端子131を介して、解像度創造処理基板104に供給される。この場合、画像信号Sbとその各画素データに対応した制御信号Vr,Vzとは、その対応関係を保持した状態で、処理基板104に供給される。
次に、係数メモリ126に記憶される係数データWi(i=1〜n)の生成方法について説明する。この係数データWiは、予め学習によって生成されたものである。
まず、この学習方法について説明する。上述の(1)式において、学習前は係数データW1,W2,‥‥,Wnは未定係数である。学習は、クラス毎に、複数の学習データを用いることで行われる。学習データ数がmの場合、(1)式に従って、以下に示す(5)式が設定される。nは予測タップの数を示している。
yk=W1×xk1+W2×xk2+‥‥+Wn×xkn ・・・(5)
(k=1,2,‥‥,m)
m>nの場合、係数データW1,W2,‥‥,Wnは、一意に決まらないので、誤差ベクトルeの要素ekを、以下の(6)式で定義し、(7)式のe2を最小にする係数データを求める。いわゆる最小二乗法によって係数データを一意に定める。
ek=yk−{W1×xk1+W2×xk2+‥‥+Wn×xkn} ・・・(6)
(k=1,2,‥‥m)
(7)式のe2を最小とする係数データを求めるための実際的な計算方法としては、まず、(8)式に示すように、e2を係数データWiで偏微分し、iの各値について偏微分値が0となるように係数データWiを求めればよい。
(9)式、(10)式のようにXji,Yiを定義すると、(8)式は、(11)式の行列式の形に書くことができる。この(11)式が、係数データWiを算出するための正規方程式である。この正規方程式を掃き出し法(Gauss-Jordanの消去法)等の一般解法で解くことにより、係数データWiを求めることができる。
次に、上述した係数データWi(i=1〜n)を生成するための係数データ生成装置150について説明する。図7は、この係数データ生成装置150の構成を示している。
この係数データ生成装置150は、入力端子151と、MPEG符号化部152と、MPEG復号化部153とを有している。入力端子151は、上述した画像信号Sbに対応した教師信号STを入力する。MPEG符号化部152は、この教師信号STに対してMPEGの符号化を行ってMPEGストリームを生成する。MPEG復号化部153は、このMPEGストリームに対して復号化を行って、上述した画像信号Saに対応した生徒信号SSを生成する。この生徒信号SSには、MPEGの符号化、復号化を経たことによって、ブロック歪、モスキートノイズが発生している。
また、係数データ生成装置150は、予測タップ選択部154を有している。この予測タップ選択部154は、MPEG復号化部153で生成された生徒信号SSから、教師信号STにおける注目画素位置の周辺に位置する複数の画素データを、予測タップのデータとして選択的に抽出する。この予測タップ選択部154は、上述した処理基板103の予測タップ選択部123に対応するものである。
また、係数データ生成装置150は、クラスタップ選択部155を有している。このクラスタップ選択部155は、MPEG復号化部153で生成された生徒信号SSから、教師信号STにおける注目画素位置の画素データを含むDCT処理ブロックを構成する複数の画素データを、クラスタップのデータとして選択的に抽出する。このクラスタップ選択部155は、上述した処理基板103のクラスタップ選択部124に対応するものである。
また、係数データ生成装置150は、クラス検出部156を有している。このクラス検出部156は、クラスタップ選択部155で選択的に抽出されるクラスタップのデータとしての複数の画素データを処理して、教師信号STにおける注目画素位置の画素データが属するクラスを表すクラスコードCLを生成する。このクラス検出部156は、上述した処理基板103のクラス検出部125に対応するものである。
また、係数データ生成装置150は、教師タップ選択部157を有している。この教師タップ選択部157は、入力端子151に入力される教師信号STから、注目画素位置の画素データを選択的に抽出する。
また、係数データ生成装置150は、正規方程式生成部158を有している。この正規方程式生成部158は、教師タップ選択部157で選択的に抽出された、教師信号STにおける各注目画素位置の画素データyと、この各注目画素位置の画素データyにそれぞれ対応して予測タップ選択部154で選択的に抽出された、予測タップのデータとしての複数の画素データxiと、各注目画素位置の画素データyにそれぞれ対応してクラス検出部156で得られたクラスコードCLとから、クラスおよびDCT処理ブロック内の画素位置の組み合わせ毎に、係数データWiを得るための正規方程式((11)式参照)を生成する。
この場合、1個の画素データyとそれに対応する複数の画素データxiとの組み合わせで1個の学習データが生成されるが、教師信号STと生徒信号SSとの間で、クラス毎に、多くの学習データが生成されていく。これにより、正規方程式生成部158では、クラス毎に、係数データWiを得るための正規方程式が生成される。またこの場合、正規方程式生成部158では、DCT処理ブロック内の画素位置毎に、正規方程式が生成される。すなわち、DCT処理ブロック内の8×8の各画素位置に対応した正規方程式は、それぞれ、その画素位置に存在する画素データyから構成される学習データを用いて生成される。
結局、正規方程式生成部158では、上述したように、クラスおよびDCT処理ブロック内の画素位置の組み合わせ毎に、正規方程式が生成される。
また、係数データ生成装置150は、係数データ決定部159と、係数メモリ160とを有している。係数データ決定部159は、正規方程式生成部158から正規方程式のデータの供給を受け、当該正規方程式を掃き出し法等によって解き、クラスおよびDCT処理ブロック内の画素位置の組み合わせ毎に、係数データWiを求める。係数メモリ160は、係数データ決定部159で求められた係数データWiを格納する。
次に、図7に示す係数データ生成装置150の動作を説明する。
入力端子151には、画像信号Sbに対応した教師信号STが入力され、この教師信号STは、MPEG符号化部152に供給される。MPEG符号化部152では、この教師信号STに対してMPEGの符号化が施されて、MPEGストリームが生成される。このMPEGストリームは、MPEG復号化部153に供給される。MPEG復号化部153では、このMPEGストリームに対して復号化が施されて、画像信号Saに対応した生徒信号SSが生成される。
クラスタップ選択部155では、MPEG復号化部153で生成された生徒信号SSから、教師信号STにおける注目画素位置の画素データを含むDCT処理ブロックを構成する複数の画素データが、クラスタップのデータとして選択的に抽出される。この複数の画素データはクラス検出部156に供給される。このクラス検出部156では、クラスタップのデータとしての複数の画素データに、例えば1ビットADRCのデータ圧縮処理が施されて、教師信号STにおける注目画素位置の画素データが属するクラスを表すクラスコードCLが得られる。このクラスコードCLは、正規方程式生成部158に供給される。
予測タップ選択部154では、MPEG復号化部153で生成された生徒信号SSから、教師信号STにおける注目画素位置の周辺に位置する複数の画素データxiが予測タップのデータとして選択的に抽出される。この複数の画素データxiは正規方程式生成部158に供給される。また、教師タップ選択部157では、入力端子151に入力される教師信号STから、注目画素位置の画素データyが選択的に抽出される。この画素データyは正規方程式生成部158に供給される。
正規方程式生成部158では、教師タップ選択部157で選択的に抽出された、教師信号STにおける各注目画素位置の画素データyと、この各注目画素位置の画素データyにそれぞれ対応して予測タップ選択部154で選択的に抽出された、予測タップのデータとしての複数の画素データxiと、各注目画素位置の画素データyにそれぞれ対応してクラス検出部156で得られたクラスコードCLとから、クラスおよびDCT処理ブロック内の画素位置の組み合わせ毎に、係数データWiを得るための正規方程式((11)式参照)が生成される。
そして、係数データ決定部159では、正規方程式生成部158から正規方程式のデータが供給され、当該正規方程式が掃き出し法等によって解かれ、クラスおよびDCT処理ブロック内の画素位置の組み合わせ毎に、係数データWiが求められる。この係数データWiは、係数メモリ160に格納される。
このように、図7に示す係数データ生成装置150においては、上述の図3に示すノイズ除去処理基板103の係数メモリ126格納される係数データWiを、良好に生成できる。
次に、上述した解像度創造処理基板104の詳細を説明する。図8は、解像度創造処理基板104の回路構成を示している。
この処理基板104は、入力端子221と、バッファメモリ222とを有している。入力端子221は、画像信号Sbを入力するための端子である。バッファメモリ222は、入力端子221に入力された画像信号Sbを一時的に記憶する。
また、処理基板104は、予測タップ選択部223と、クラスタップ選択部224とを有している。予測タップ選択部223、クラスタップ選択部224は、それぞれ、バッファメモリ222に記憶されている画像信号Sbから、画像信号Scにおける注目画素位置の周辺に位置する複数の画素データを、予測タップ、クラスタップのデータとして選択的に抽出する。図9A,Bは、それぞれ、クラスタップ、予測タップのパターン例を示している。SD0は中心予測タップを示している。
また、処理基板104は、クラス検出部225を有している。このクラス検出部225は、クラスタップ選択部224で選択的に抽出されたクラスタップのデータとしての複数の画素データに対して上述した1ビットADRC等のデータ圧縮処理を施して、画像信号Scにおける注目画素位置の画素データが属するクラスを表すクラスコードCLを生成する。
また、処理基板104は、係数データ生成部229と、記憶手段としてのROM230とを有している。ROM230は、各クラスの係数種データwijを記憶している。この係数種データwijは、上述した(1)式の推定式の係数データWi(i=1〜n)を生成するための、パラメータr,zを含む生成式の係数データである。(12)式は、その生成式の一例を示しており、wi0〜wi9が係数種データである。ここで、rは解像度を決めるパラメータであり、zはノイズ除去度を決めるパラメータである。
SD信号をHD信号に変換する場合、SD信号の1画素に対応してHD信号の4画素を得る必要がある(図2参照)。この場合、HD信号を構成する2×2の単位画素ブロック内の4画素は、それぞれSD信号の中心予測タップSD0に対して異なる位相ずれを持っている。図10は、HD信号を構成する2×2の単位画素ブロック内の4画素HD1〜HD4における、SD信号の中心予測タップSD0からの位相ずれを示している。ここで、HD1〜HD4の位置は、それぞれ、SD0の位置から水平方向にk1〜k4、垂直方向にm1〜m4だけずれている。そのため、上述した各クラスの係数種データwijは、それぞれ、出力画素(HD1〜HD4)に対応した4種類の係数種データからなっている。
この係数種データwijは、画像信号Scに対応した教師信号STと画像信号Sbに対応した生徒信号SSとから学習によって生成されたものであり、画像信号Sbを画像信号Scに変換するための情報である。このような係数種データwijを用いて画像信号Sbを画像信号Scに変換することで、SD信号としての画像信号Sbは、HD信号としての画像信号Scに変換される。この係数種データwijの生成方法については後述する。
係数データ生成部229は、ROM230から、クラス検出部225で得られたクラスコードCLが表すクラスの、出力画素(HD1〜HD4)にそれぞれ対応した4画素分の係数種データwijを取得し、さらに後述するパラメータ制御部228から出力されるパラメータr,zの値を用い、(12)式の生成式に基づいて、4画素分の係数データWiを生成する。
また、処理基板104は、入力端子226と、バッファメモリ227とを有している。入力端子226は、制御信号Vr,Vzを入力するための端子である。バッファメモリ227は、入力端子226に入力された制御信号Vr,Vzを一時的に記憶する。
また、処理基板104は、パラメータ制御部228を有している。このパラメータ制御部228には、ユーザによってその値が調整されたパラメータr′,z′が供給される。r′は解像度を決めるパラメータであり、z′はノイズ除去度を決めるパラメータである。このパラメータ制御部228は、バッファメモリ227から画像信号Scにおける注目画素位置、従って中心予測タップSD0に対応した制御信号Vr,Vzを取得すると共に、この制御信号Vr,Vzを用いて、パラメータr′,z′の値を制御し、係数データ生成部229に供給するパラメータr,zの値を得る。この場合、パラメータ制御部228は、例えば、(14)式、(15)式に基づいて、パラメータr,zの値を求める。
r=r′+Vr ・・・(13)
z=z′+Vz ・・・(14)
中心予測タップSD0(画像信号Scにおける注目画素位置に対応している)がDRC処理ブロックの境界に位置する境界画素であるとき、上述したように、制御信号Vrはブロックノイズの大きさに対応した大きさを持つ負の値であり、また制御信号Vzはブロックノイズの大きさに対応した大きさを持つ正の値である。したがってこのとき、パラメータrの値は、ユーザによって調整されたパラメータr′の値より、ブロックノイズが大きい程小さくなり、解像度が低くなるようにされる。また、パラメータzの値は、ユーザによって調整されたパラメータz′の値より、ブロックノイズが大きい程大きくなり、ノイズ除去度が高くなるようにされる。
なお、中心予測タップSD0が境界画素以外の画素である場合、上述したように、制御信号Vr,Vzはそれぞれ0であり、パラメータr,zの値は、ユーザによって調整されたパラメータr′,z′の値そのものとなる。
また、処理基板104は、推定予測演算部231を有している。この推定予測演算部231は、画像信号Scを構成する2×2の単位画素ブロック毎に、画素データを求める。すなわち、この推定予測演算部231には、予測タップ選択部223から単位画素ブロック内の4画素(注目画素)に対応した、予測タップのデータとしての複数の画素データxiが供給され、また係数データ生成部229で生成された、その単位画素ブロックを構成する4画素分の係数データWiが供給される。この推定予測演算部231は、単位画素ブロックを構成する4画素の画素データy1〜y4を、それぞれ上述した(1)式の推定式で個別に演算する。
また、処理基板104は、バッファメモリ232と、出力端子233とを有している。バッファメモリ232は、推定予測演算部231より順次出力される、画像信号Scを構成する各単位画素ブロック内の4画素の画素データy1〜y4を一時的に記憶する。出力端子233は、バッファメモリ232に記憶されている画像信号Scを出力するための端子である。
図8に示す解像度創造処理基板104の動作を説明する。
ノイズ除去処理基板103(図1参照)から供給される、入力画像信号としての画像信号Sbは、入力端子221を介してバッファメモリ222に供給され、当該バッファメモリ222に一時的に記憶される。同様に、ノイズ除去処理基板103から供給される制御信号Vr,Vzは、入力端子226を介してバッファメモリ227に供給され、当該バッファメモリ227に一時的に記憶される。
クラスタップ選択部224では、バッファメモリ222に記憶されている画像信号Sbから、画像信号Scにおける注目画素位置の周辺に位置する複数の画素データがクラスタップのデータとして選択的に抽出される。この複数の画素データはクラス検出部225に供給される。
クラス検出部225では、クラスタップのデータとしての複数の画素データに、例えば1ビットADRC等のデータ圧縮処理が施されて、画像信号Scにおける注目画素位置の画素データが属するクラスを表すクラスコードCLが得られる。このクラスコードCLは係数データ生成部229に供給される。
パラメータ制御部228には、ユーザによってその値が調整されたパラメータr′,z′が供給される。このパラメータ制御部228では、バッファメモリ227から画像信号Scにおける注目画素位置、従って中心予測タップSD0に対応した制御信号Vr,Vzが取得されると共に、この制御信号Vr,Vzが用いられて、例えば(14)式、(15)式に基づいて、パラメータr,zの値が求められる。このパラメータr,zの値は、係数データ生成部229に供給される。
係数データ生成部229では、クラスコードCLが表すクラスの、出力画素(HD1〜HD4)にそれぞれ対応した係数種データwijが、ROM230から取得される。そして、この係数データ生成部229では、4画素分の係数種データwi0〜wi9およびパラメータr,zの値が用いられ、(12)式の生成式に基づいて、画像信号Scの2×2の単位画素ブロックを構成する4画素分の係数データWiが生成される。
予測タップ選択部223では、バッファメモリ222に記憶されている画像信号Sbから、画像信号Scにおける注目画素位置の周辺、つまりその注目画素位置の単位画素ブロック内の4画素の周辺に位置する、複数の画素データxiが予測タップのデータとして選択的に抽出される。この複数の画素データxiは推定予測演算部231に供給される。
また、この推定予測演算部231には、係数データ生成部229で生成された、画像信号Scの単位画素ブロックを構成する4画素分の係数データWiが供給される。そして、この推定予測演算部231では、予測タップのデータとしての複数の画素データxiおよび4画素分の係数データWiが用いられ、注目画素位置の単位画素ブロックを構成する4画素の画素データy1〜y4が、それぞれ(1)式の推定式に基づいて、個別に求められる。
画像信号Scにおける注目画素位置が順次変化するようにされ、推定予測演算部231からは、画像信号Scにおける各注目画素位置の単位画素ブロックを構成する画素データy1〜y4が順次出力される。このように推定予測演算部231から順次出力される、各注目画素位置の単位画素ブロックを構成する画素データy1〜y4はバッファメモリ232に供給されて一時的に記憶される。このバッファメモリ232に記憶された画像信号Scを構成する各画素データは、その後に適宜なタイミングで読み出され、出力端子233を介して、出力基板105(図1参照)に供給される。
上述したように、ノイズ除去処理基板103で発生される制御信号Vrは、中心予測タップSD0(画像信号Scにおける注目画素位置に対応している)がDRC処理ブロックの境界に位置する境界画素である場合、ブロックノイズの大きさに対応した大きさを持つ負の値である。そして、パラメータ制御部228では、(13)式に基づいてパラメータrの値が求められることから、解像度を決めるパラメータrの値は、ユーザによって調整されたパラメータr′の値より、ブロックノイズが大きい程小さくされる。
また、ノイズ除去処理基板103で発生される制御信号Vzは、中心予測タップSD0がDRC処理ブロックの境界に位置する境界画素である場合、ブロックノイズの大きさに対応した大きさを持つ正の値である。そして、パラメータ制御部228では、(14)式に基づいてパラメータzの値が求められることから、ノイズ除去度を決めるパラメータzの値は、ユーザによって調整されたパラメータz′の値より、ブロックノイズが大きい程大きくされる。
そのため、中心予測タップSD0がDRC処理ブロックの境界に位置する境界画素である場合、ブロックノイズが大きい程、解像度が小さくなると共に、ノイズ除去度は大きくなる。そのため、図8に示す解像度創造処理基板104においては、画像信号Sbに残るブロックノイズが強調されることを抑制でき、従って画像信号Scとして、ブロックノイズ等の符号化ノイズが低減されると共に、画質劣化なく解像度が上げられた良好な画像信号を得ることができる。
次に、ROM230に記憶される係数種データwijの生成方法について説明する。この係数種データwijは、学習によって生成される。ここでは、(12)式の生成式における係数データである係数種データwi0〜wi9(i=1〜n)を求める例を示すものとする。
ここで、以下の説明のため、(15)式のように、tj(j=0〜9)を定義する。
t0=1,t1=r,t2=z,t3=r2,t4=rz,t5=z2,t6=r3,
t7=r2z,t8=rz2,t9=z3
・・・(15)
この(15)式を用いると、(12)式は、(16)式のように書き換えられる。
最終的に、学習によって未定係数wijを求める。すなわち、クラスおよび出力画素の組み合わせ毎に、複数の学習データを用いて、二乗誤差を最小にする係数値を決定する。いわゆる最小二乗法による解法である。学習数をm、k(1≦k≦m)番目の学習データにおける残差をek、二乗誤差の総和をEとすると、(1)式および(12)式を用いて、Eは(17)式で表される。ここで、xikはSD信号のi番目の予測タップ位置におけるk番目の画素データ、ykはそれに対応するk番目のHD信号の画素データを表している。
最小二乗法による解法では、(17)式のwijによる偏微分が0になるようなwijを求める。これは、(18)式で示される。
ここで、(19)式、(20)式のように、Xipjq、Yipを定義すると、(18)式は、行列を用いて、(21)式のように書き換えられる。
この(21)式が、係数種データwi0〜wi9(i=1〜n)を算出するための正規方程式である。この正規方程式を掃き出し法(Gauss-Jordanの消去法)等の一般解法で解くことにより、係数種データwi0〜wi9を求めることができる。
図11は、上述した係数種データの生成方法の概念を示している。教師信号STとしてのHD信号から、生徒信号SSとしての複数のSD信号を生成する。ここで、HD信号からSD信号を生成する際に使用する間引きフィルタの周波数特性を変えることにより、解像度の異なるSD信号を生成する。
解像度の異なるSD信号によって、解像度を上げる効果の異なる係数種データを生成できる。例えばボケ具合の大きな画像が得られるSD信号とボケ具合の小さな画像が得られるSD信号があった場合、ボケ具合の大きな画像が得られるSD信号による学習で、解像度を上げる効果の強い係数種データが生成され、ボケ具合の小さな画像が得られるSD信号による学習で、解像度を上げる効果の弱い係数種データが生成される。
また、解像度の異なるSD信号の各々に対してノイズを加えることで、ノイズの加わったSD信号を生成する。ノイズを加える量を可変することでノイズ量が異なるSD信号が生成され、それによってノイズ除去効果の異なる係数種データが生成される。例えばノイズをたくさん加えたSD信号とノイズを少し加えたSD信号とがあった場合、ノイズをたくさん加えたSD信号による学習でノイズ除去効果の強い係数種データが生成され、ノイズを少し加えたSD信号による学習でノイズ除去効果の弱い係数種データが生成される。
ノイズを加える量としては、例えば(22)式のように、SD信号の画素値xに対して、ノイズnを加えてノイズの加わったSD信号の画素値x′を生成する場合、Gを可変することでノイズ量を調整する。
x′=x+G・n ・・・(22)
例えば、周波数特性を可変するパラメータrの値を0〜1.0まで0.1のステップで11段階に可変し、ノイズを加える量を可変するパラメータzの値を0〜1.0まで0.1のステップで11段階に可変し、合計121種類のSD信号を生成する。このようにして生成した複数のSD信号とHD信号との間で学習を行って係数種データを生成する。このパラメータr,zは、図8の係数データ生成部229に供給されるパラメータr,zに対応したものである。
次に、上述した係数種データwi0〜wi9(i=1〜n)を生成するための係数種データ生成装置250について説明する。図12は、この係数種データ生成装置250の構成を示している。
この係数種データ生成装置250は、入力端子251と、生徒信号生成回路252とを有している。入力端子251は、教師信号STとしてのHD信号を入力する。生徒信号生成回路252は、このHD信号に対して、水平および垂直の間引き処理を行って、生徒信号SSとしてのSD信号を生成する。この生徒信号生成回路252には、パラメータr,zが供給される。パラメータrの値に対応して、HD信号からSD信号を生成する際に使用する間引きフィルタの周波数特性が可変される。また、パラメータzの値に対応して、SD信号に加えるノイズの量が可変される。
また、係数種データ生成装置250は、予測タップ選択部253と、クラスタップ選択部254とを有している。これら予測タップ選択部253、クラスタップ選択部254は、それぞれ、生徒信号生成回路252より出力される生徒信号SSから、HD信号における注目画素位置の周辺に位置する複数のSD画素データを、予測タップ、クラスタップのデータとして選択的に抽出する。この予測タップ選択部253、クラスタップ選択部254は、それぞれ、上述した処理基板104の予測タップ選択部223、クラスタップ選択部224に対応するものである。
また、係数種データ生成装置250は、クラス検出部255を有している。このクラス検出部255は、クラスタップ選択部254で選択的に抽出されるクラスタップのデータとしての複数の画素データを処理して、教師信号STにおける注目画素位置の画素データが属するクラスを示すクラスコードCLを生成する。このクラス検出部255は、上述した処理基板104のクラス検出部225に対応するものである。
また、係数種データ生成装置250は、教師タップ選択部256を有している。この教師タップ選択部256は、入力端子251に入力される教師信号STから、注目画素位置の画素データを選択的に抽出する。
また、係数種データ生成装置250は、正規方程式生成部257を有している。この正規方程式生成部257は、教師タップ選択部256で選択的に抽出された、教師信号STにおける各注目画素位置の画素データyと、この各注目画素位置の画素データyにそれぞれ対応して予測タップ選択部253で選択的に抽出された、予測タップのデータとしての複数の画素データxiと、各注目画素位置の画素データyにそれぞれ対応してクラス検出部255で得られたクラスコードCLと、パラメータr,zの値とから、クラスおよび出力画素の組み合わせ毎に、係数種データwi0〜wi9を得るための正規方程式((21)式参照)を生成する。
この場合、1個の画素データyとそれに対応する複数個の画素データxiとの組み合わせで1個の学習データが生成されるが、教師信号STと生徒信号SSとの間で、クラス毎に、多くの学習データが生成されていく。これにより、正規方程式生成部257では、クラス毎に、係数種データwi0〜wi9を得るための正規方程式が生成される。
またこの場合、正規方程式生成部257では、出力画素(図10のHD1〜HD4参照)毎に、正規方程式が生成される。例えば、HD1に対応した正規方程式は、中心予測タップに対するずれ値がHD1と同じ関係にある画素データyから構成される学習データから生成される。結果的に正規方程式生成部257では、上述したように、クラスおよび出力画素の組み合わせ毎に、正規方程式が生成される。
また、係数種データ生成装置250は、係数種データ決定部258と、係数種メモリ259とを有している。係数種データ決定部258は、正規方程式生成部257から正規方程式のデータの供給を受け、当該正規方程式を掃き出し法等によって解き、クラスおよび出力画素の組み合わせ毎に、係数種データwi0〜wi9を求める。係数種メモリ259は、係数種データ決定部258で求められた係数種データwi0〜wi9を格納する。
図12に示す係数種データ生成装置250の動作を説明する。
入力端子251に入力される教師信号STとしてのHD信号に対して、生徒信号生成回路252で水平および垂直の間引き処理が行われて、生徒信号SSとしてのSD信号が生成される。この場合、SD信号生成回路252にはパラメータr,zが制御信号として供給され、周波数特性およびノイズ加算量が段階的に変化した複数のSD信号が順次生成されていく。
クラスタップ選択部254では、生徒信号生成回路252で生成される生徒信号SSから、教師信号STにおける注目画素位置の周辺に位置する複数の画素データがクラスタップのデータとして選択的に抽出される。この複数の画素データはクラス検出部255に供給される。このクラス検出部255では、クラスタップのデータとしての複数の画素データに、例えば1ビットADRCのデータ圧縮処理が施されて、教師信号STにおける注目画素位置の画素データが属するクラスを表すクラスコードCLが得られる。このクラスコードCLは、正規方程式生成部257に供給される。
予測タップ選択部253では、生徒信号生成回路252で生成される生徒信号SSから、教師信号STにおける注目画素位置の周辺に位置する複数の画素データxiが予測タップのデータとして選択的に抽出される。この複数の画素データxiは正規方程式生成部257に供給される。また、教師タップ選択部256では、入力端子251に入力される教師信号STから、注目画素位置の画素データyが選択的に抽出される。この画素データyは正規方程式生成部257に供給される。
正規方程式生成部257では、教師タップ選択部256で選択的に抽出された、教師信号STにおける各注目画素位置の画素データyと、この各注目画素位置の画素データyにそれぞれ対応して予測タップ選択部253で選択的に抽出された、予測タップのデータとしての複数の画素データxiと、各注目画素位置の画素データyにそれぞれ対応してクラス検出部255で得られたクラスコードCLと、パラメータr,zの値とから、クラスおよび出力画素の組み合わせ毎に、係数種データwi0〜wi9を得るための正規方程式((21)式参照)が生成される。
そして、係数種データ決定部258では、正規方程式生成部257から正規方程式のデータが供給され、当該正規方程式が掃き出し法等によって解かれ、クラスおよび出力画素の組み合わせ毎に、係数種データwi0〜wi9が求められる。この係数種データwi0〜wi9は、係数種メモリ259に格納される。
このように、図12に示す係数種データ生成装置250においては、上述の図8に示す処理基板104のROM230に記憶される係数種データwi0〜wi9を、良好に生成できる。
なお、図1のノイズ除去処理基板103および解像度創造処理基板104における処理を、例えば図13に示すような画像信号処理装置500により、ソフトウェアで実現することも可能である。
まず、図13に示す画像信号処理装置500について説明する。この画像信号処理装置500は、装置全体の動作を制御するCPU501と、このCPU501の制御プログラム、さらには係数データWi、係数種データwi0〜wi9等が格納されたROM(Read Only Memory)502と、CPU501の作業領域を構成するRAM(Random Access Memory)503とを有している。これらCPU501、ROM502およびRAM503は、それぞれバス504に接続されている。
また、画像信号処理装置500は、外部記憶装置としてのハードディスクドライブ(HDD)505と、光ディスク、磁気ディスク、メモリカード等のリムーバブルな記憶媒体を取り扱うドライブ506とを有している。これらドライブ505,506は、それぞれバス504に接続されている。
また、画像信号処理装置500は、インターネット等の通信網507に有線または無線で接続する通信部508を有している。この通信部508は、インタフェース509を介してバス504に接続されている。
また、画像信号処理装置500は、ユーザインタフェース部を備えている。このユーザインタフェース部は、リモコン送信機510からのリモコン信号RMを受信するリモコン信号受信回路511と、LCD(liquid Crystal Display)、PDP(Plasma Display Panel)等からなるディスプレイ513とを有している。受信回路511はインタフェース512を介してバス504に接続され、同様にディスプレイ513はインタフェース514を介してバス504に接続されている。
また、画像信号処理装置500は、SD信号である画像信号Saを入力するための入力端子515と、HD信号である画像信号Scを出力するための出力端子517とを有している。入力端子515はインタフェース516を介してバス504に接続され、同様に出力端子517はインタフェース518を介してバス504に接続される。
ここで、上述したようにROM502に制御プログラム等を予め格納しておく代わりに、これら制御プログラム等を例えばインターネットなどの通信網507より通信部508を介してダウンロードし、HDD505やRAM503に格納して使用することもできる。また、これら制御プログラム等をドライブ506を介してリムーバブルな記憶媒体で提供するようにしてもよい。
また、処理すべき画像信号Saを入力端子515より入力する代わりに、予めHDD505に記録しておき、あるいはインターネットなどの通信網507より通信部508を介してダウンロードしてもよい。また、処理後の画像信号Scを出力端子517に出力する代わり、あるいはそれと並行してディスプレイ513に供給して画像表示をしたり、さらにはHDD505に格納したり、ドライブ506で記憶媒体に記憶したり、また通信部508を介してインターネットなどの通信網507に送出するようにしてもよい。
図14のフローチャートを参照して、図13に示す画像信号処理装置500における、画像信号Saから画像信号Scを得るための処理手順を説明する。
まず、ステップS10で、処理を開始し、ステップS11で、例えば入力端子515より装置内に1フレーム分または1フィールド分の画像信号Saを入力する。このように入力される画像信号SaはRAM503に一時的に記憶される。なお、この画像信号Saが装置内のHDD505に予め記録されている場合には、このHDD505から画像信号Saを読み出し、読み出された画像信号SaをRAM503に一時的に記憶する。
そして、ステップS12で、画像信号Saの全フレームまたは全フィールドの処理が終わっているか否かを判定する。処理が終わっているときは、ステップS13で、処理を終了する。一方、処理が終わっていないときは、ステップS14のノイズ除去処理に進む。
ノイズ除去処理では、ステップS141で、画像信号Saに基づいて、画像信号Sbにおける注目画素位置の画素データを含むDCT処理ブロックを構成する複数の画素データを、クラスタップのデータとして取得する。ここで、画像信号Sbは、このノイズ除去処理により生成される画像信号である。そして、ステップS142で、このクラスタップのデータに基づいて、画像信号Sbにおける注目画素位置の画素データが属するクラスコードCLを生成する。
次に、ステップS143で、画像信号Saに基づいて、画像信号Sbにおける注目画素位置の周辺に位置する複数の画素データxiを予測タップのデータとして取得する。そして、ステップS144で、ステップS142で生成されたクラスコードCLが表すクラス、および画像信号Sbにおける注目画素位置の、DCT処理ブロック内における画素位置に対応した係数データWiと、ステップS143で取得された複数の画素データxiを使用して、(1)式の推定式に基づいて、画像信号Sbにおける注目画素位置の画素データyを生成する。
次に、ステップS145で、ステップS11で入力された1フレーム分または1フィールド分の画像信号Saの画素データの全領域において画像信号Sbの画素データを得る処理が終了したか否かを判定する。処理を終了していないときは、ステップS141に戻り、次の注目画素位置についての処理に移る。一方、処理が終了しているときは、ノイズ除去処理を終了し、ステップS15に進む。
このステップS15では、上述したステップS14のノイズ除去処理で生成された画像信号Sbに基づいて、各画素に対応した制御信号Vr,Vzを生成する。この制御信号Vr,Vzは、画像信号Sbの各DCT処理ブロックの境界に位置する境界画素に対応しては、当該境界画素を中心とした複数の画素データを用いて得られた二次微分値dの絶対値|d|に定数−kr,kzを乗算して得られる((2)式〜(4)式参照)。また、この制御信号Vr,Vzは、画像信号Sbの各DCT処理ブロックの境界画素以外の画素に対応しては、Vr=0、Vz=0とされる。制御信号Vrは、後述する解像度創造処理において、解像度を決めるパラメータrの値を制御するために使用される。制御信号Vzは、後述する解像度創造処理において、ノイズ除去度を決めるパラメータzの値を制御するために使用される。
次に、ステップS16の解像度創造処理に進む。この解像度創造処理では、ステップS161で、ユーザが調整し、RAM503に記憶されている、パラメータr′,z′の値を取得する。r′は解像度を決めるパラメータであり、z′はノイズ除去度を決めるパラメータである。
そして、ステップS162で、ステップS15で生成された制御信号Vr,Vzのうち、画像信号Scにおける注目画素位置、従って中心予測タップSD0に対応した制御信号Vr,Vzを取得し、この制御信号Vr,Vzを用いてパラメータr′,z′の値を制御してパラメータr,zの値を取得する((13)式、(14)式参照)。
この場合、中心予測タップSD0がDRC処理ブロックの境界に位置する境界画素であるとき、制御信号Vrはブロックノイズの大きさに対応した大きさを持つ負の値であり、また制御信号Vzはブロックノイズの大きさに対応した大きさを持つ正の値である。したがってこのとき、パラメータrの値は、ユーザによって調整されたパラメータr′の値より、ブロックノイズが大きい程小さくなり、解像度が低くなるようにされる。また、パラメータzの値は、ユーザによって調整されたパラメータz′の値より、ブロックノイズが大きい程大きくなり、ノイズ除去度が高くなるようにされる。
なお、中心予測タップSD0が境界画素以外の画素である場合、制御信号Vr,Vzはそれぞれ0であり、パラメータr,zの値は、ユーザによって調整されたパラメータr′,z′の値そのものとなる。
次に、ステップS163で、画像信号Sbに基づいて、画像信号Scにおける注目画素位置の周辺に位置する複数の画素データをクラスタップのデータとして取得し、ステップS164で、このクラスタップのデータに基づいて、画像信号Scにおける注目画素位置の画素データが属するクラスコードCLを生成する。
次に、ステップS165で、ステップS163で生成されたクラスコードCLが表すクラスの、出力画素(図10のHD1〜HD4参照)にそれぞれ対応した4画素分の係数種データwij、およびステップS162で取得されたパラメータr,zの値を用い、(12)式の生成式に基づいて、単位画素ブロックを構成する4画素分の係数データWiを生成する。
次に、ステップS166で、画像信号Sbに基づいて、画像信号Scにおける注目画素位置の周辺に位置する複数の画素データxiを、予測タップのデータとして取得する。そして、ステップS167で、ステップS165で生成された4画素分の係数データWiおよびステップS166で取得された複数の画素データxiを使用して、(1)式の推定式に基づいて、画像信号Scにおける注目画素位置の単位画素ブロックを構成する4画素の画素データy1〜y4を、それぞれ上述した(1)式の推定式で個別に演算する。
次に、ステップS168で、ステップS11で生成された画像信号Sbの画素データの全領域において画像信号Scの画素データを得る処理が終了したか否かを判定する。処理を終了していないときは、ステップS162に戻り、次の注目画素位置についての処理に移る。一方、処理が終了しているときは、解像度創造処理を終了し、ステップS11に戻り、次の1フレーム分または1フィールド分の画像信号Saの入力処理に移る。
このように、図14に示すフローチャートに沿って処理をすることで、SD信号としての画像信号Saの画素データに対して、ノイズ除去処理、解像度創造処理を施し、HD信号としての画像信号Scの画素データを得ることができる。このように処理して得られた画像信号Scは出力端子517に出力されたり、ディスプレイ513に供給されてそれによる画像が表示されたり、さらにはHDD505に供給されて記録されたりする。
また、処理装置の図示は省略するが、図7の係数データ生成装置150における処理も、ソフトウェアで実現可能である。図15のフローチャートを参照して、係数データを生成するための処理手順を説明する。
まず、ステップS20で、処理を開始し、ステップS21で、画像信号Sbに対応した教師信号STを1フレーム分または1フィールド分だけ入力する。そして、ステップS22で、教師信号STの全フレームまたは全フィールドの処理が終了したか否かを判定する。終了していないときは、ステップS23で、ステップS21で入力された教師信号STに対して水平および垂直の間引き処理を行って、画像信号Saに対応した生徒信号SSを生成する。
次に、ステップS24で、生徒信号SSに基づいて、教師信号STにおける注目画素位置の画素データを含むDCT処理ブロックを構成する複数の画素データを、クラスタップのデータとして取得する。そして、ステップS25で、このクラスタップのデータに基づいて、教師信号STにおける注目画素位置の画素データが属するクラスコードCLを生成する。
次に、ステップS26で、生徒信号SSに基づいて、教師信号STにおける注目画素位置の周辺に位置する複数の画素データxiを予測タップのデータとして取得する。また、ステップS27で、教師信号STに基づいて、当該教師信号STにおける注目画素位置の画素データyを教師タップのデータとして取得する。
そして、ステップS28で、ステップS25で生成されたクラスコードCL、ステップS26で取得された複数の画素データxi、およびステップS27で取得された画素データyを用いて、クラスおよびDCT処理ブロック内の画素位置の組み合わせ毎に、(11)式の正規方程式を得るための足し込みをする((9)式、(10)式参照)。
次に、ステップS29で、ステップS21で入力された1フレーム分または1フィールド分の教師信号STの画素データの全領域において学習処理が終了したか否かを判定する。学習処理を終了しているときは、ステップS21に戻って、次の1フレーム分または1フィールド分の教師信号STの入力を行って、上述したと同様の処理を繰り返す。一方、学習処理を終了していないときは、ステップS24に戻って、次の注目画素位置についての処理に移る。
上述したステップS22で、処理が終了したときは、ステップS30で、上述のステップS28の足し込み処理によって生成された、正規方程式を解いて、クラスおよびDCT処理ブロック内の画素位置の組み合わせ毎に、係数データWiを求める。そして、ステップS31で、その係数データWiを係数メモリにストアし、ステップS32で処理を終了する。
このように、図15に示すフローチャートに沿って処理をすることで、図7に示す係数データ生成装置150と同様の手法によって、係数データWiを生成できる。
また、処理装置の図示は省略するが、図12の係数種データ生成装置250における処理も、ソフトウェアで実現可能である。図16のフローチャートを参照して、係数種データを生成するための処理手順を説明する。
まず、ステップS40で、処理を開始し、ステップS41で、画質パターンを特定するパラメータr,zの値を選択する。そして、ステップS42で、パラメータr,zの値の全組み合わせに対して学習が終わったか否かを判定する。全組み合わせに対して学習が終わっていないときは、ステップS43で、画像信号Scに対応した教師信号STを1フレーム分または1フィールド分だけ入力する。
そして、ステップS44で、教師信号STの全フレームまたは全フィールドの処理が終了したか否かを判定する。処理が終了したときは、ステップS41に戻って、次のパラメータr,zの値を選択し、上述したと同様の処理を繰り返す。一方、処理が終了していないときは、ステップS45で、ステップS43で入力された教師信号STに対して水平および垂直の間引き処理を行って、画像信号Sbに対応した生徒信号SSを生成する。この場合、パラメータrの値に対応して、教師信号STから生徒信号SSを生成する際に使用する間引きフィルタの周波数特性が可変される。また、パラメータzの値に対応して、生徒信号SSに加えるノイズの量が可変される。
次に、ステップS46で、生徒信号SSに基づいて、教師信号STにおける注目画素位置の周辺に位置する複数の画素データをクラスタップのデータとして取得し、ステップS47で、このクラスタップのデータに基づいて、教師信号STにおける注目画素位置の画素データが属するクラスコードCLを生成する。
次に、ステップS48で、生徒信号SSに基づいて、教師信号STにおける注目画素位置の周辺に位置する複数の画素データxiを予測タップのデータとして取得する。また、ステップS49で、教師信号STに基づいて、当該教師信号STにおける注目画素位置の画素データyを教師タップのデータとして取得する。
そして、ステップS50で、ステップS47で生成されたクラスコードCL、ステップS48で取得された複数の画素データxi、ステップS49で取得された画素データy、およびステップS41で選択されたパラメータr,zの値を用いて、クラスおよび出力画素(図10のHD1〜HD4参照)の組み合わせ毎に、(21)式に示す正規方程式を得るための足し込みをする((19)式、(20)式参照)。
次に、ステップS51で、ステップS43で入力された1フレーム分または1フィールド分の教師信号STの画素データの全領域において学習処理が終了したか否かを判定する。学習処理を終了しているときは、ステップS43に戻って、次の1フレーム分または1フィールド分の教師信号STの入力を行って、上述したと同様の処理を繰り返す。一方、学習処理を終了していないときは、ステップS46に戻って、次の注目画素位置についての処理に移る。
また、上述したステップS42で、パラメータr,zの値の全組み合わせに対して学習が終わっているときは、ステップS52で、上述のステップS50の足し込み処理によって生成された、正規方程式を解いて、クラスおよび出力画素の各組み合わせの係数種データwi0〜wi9を求める。そして、ステップS53で、その係数種データwi0〜wi9を係数種メモリにストアし、ステップS54で処理を終了する。
このように、図16に示すフローチャートに沿って処理をすることで、図12に示す係数データ生成装置250と同様の手法によって、係数種データwi0〜wi9を生成できる。
なお、上述実施の形態において、解像度創造処理基板104においては、ユーザがパラメータr′,z′の値を調整できるものを示したが、このパラメータr′,z′の値は固定であってもよい。
また、上述実施の形態において、ノイズ除去処理基板103の制御信号発生部130では、各DCT処理ブロックの境界に位置する境界画素に対応した制御信号Vr,Vzを、当該境界画素を中心とした複数の画素データを用いて得られた二次微分値dの絶対値|d|に定数−kr,kzを乗算して求め、そして、この制御信号Vr,Vzを後段の解像度創造処理基板104に供給するものである。つまり、解像度創造処理基板104に供給される制御信号Vr,Vzは、二次微分値dが加工されて得られた値である。
しかし、ノイズ除去処理基板103から解像度創造処理基板104に制御信号として二次微分値dそのもものを供給し、解像度創造処理基板104でその二次微分値dに定数−kr,kzを乗算してVr,Vzを求めて使用するようにしてもよい。
また、上述実施の形態においては、二次微分値dに乗算される定数−kr,kzが固定であるように説明しているが、この定数の大きさを、例えば解像度創造処理基板104で得られる画像信号Scに残るブロックノイズに対応して変化させ、結果的に画像信号Scに残るブロックノイズが低減されるようにフィードバック制御をかけることもできる。
この場合、例えば、図1に破線で示すように、解像度創造処理基板104で得られる画像信号Scがノイズ除去処理基板103に供給される。すなわちこの場合、図8に示すように、解像度創造処理基板104のバッファメモリ232に記憶されている画像信号Scが読み出され、出力端子234に出力される。そして、この画像信号Scが、図3に示すように、ノイズ除去処理基板103の入力端子132を介して、制御信号発生部130に供給される。
この場合、制御信号発生部130は、画像信号Sbの各DCT処理ブロックの境界に位置する境界画素に対応して二次微分値dを求めたと同様にして、画像信号Scの各DCT処理ブロックの境界に位置する境界画素に対応して二次微分値d′を求め、上述した(3)式、(4)式におけるkr,kzの値を、この二次微分値d′の大きさ|d′|が大きくなる程大きくする。
これにより、画像信号Scに残るブロックノイズが大きくなると、中心予測タップSD0がDRC処理ブロックの境界に位置する境界画素に対応して、制御信号Vr,Vzの大きさがより大きくなり、解像度創造処理において解像度がより低くされると共にノイズ除去度がより高くされ、結果的に画像信号Scに残るブロックノイズが小さくなるように制御される。
また、上述実施の形態においては、ノイズ除去処理基板103の制御信号発生部130で画像信号Sbに基づいて制御信号Vr,Vzを生成し、この制御信号Vr,Vzを解像度創造処理基板104に供給するものを示した。しかし、図17に示すように、解像度創造処理基板104側に制御信号発生部130を設け、この解像度創造処理基板104側で制御信号Vr,Vzを生成して用いるようにしてもよい。このように解像度創造処理基板104側に制御信号発生部130を設けることで、ノイズ除去処理基板103から解像度創造処理基板104への制御信号Vr,Vzの信号線を省略でき、また上述したようにフィードバック制御を行う場合に、解像度創造処理基板104からノイズ除去処理基板103への画像信号Scの信号線を省略できる等の効果がある。
また、上述実施の形態においては、ノイズ除去処理基板103はブロックノイズ、モスキートノイズ等の符号化ノイズを低減し得るものを示したが、このノイズ除去処理基板103の代わりに符号化ノイズ以外の所定のノイズを配置する構成も考えられる。その場合、出力画像信号に残るその所定のノイズに対応した制御信号を発生し、これを解像度創造処理基板104に供給することで、解像度創造処理基板104でその所定のノイズが強調されることを抑制でき、結果的に解像度創造処理基板104からは、所定のノイズが低減されると共に画質劣化なく解像度が上げられた良好な画像信号を得ることが可能となる。
また、上述実施の形態においては、情報信号が画像信号である場合を示したが、この発明はこれに限定されない。例えば、情報信号が音声信号である場合にも、この発明を同様に適用することができる。
100・・・画像信号処理装置、101・・・入力端子、102・・・入力基板、103・・・ノイズ除去処理基板、104・・・解像度創造処理基板、105・・・出力基板、106・・・出力端子、121,132・・・入力端子、122,128・・・バッファメモリ、123・・・予測タップ選択部、124・・・クラスタップ選択部、125・・・クラス検出部、126・・・係数メモリ、127・・・推定予測演算部、129,131・・・出力端子、130・・・制御信号発生部、150・・・係数データ生成装置、221,226・・・入力端子、222,227,232・・・バッファメモリ、223・・・予測タップ選択部、224・・・クラスタップ選択部、225・・・クラス検出部、228・・・パラメータ制御部、229・・・係数データ生成部、230・・・ROM、231・・・推定予測演算部、233,234・・・出力端子、250・・・係数種データ生成装置