今日において、オーディオ・ビジュアル指向の高まりから、より高解像度の画像を得ることが出来るようなテレビジョン受像機の開発が望まれ、この要望に応えて、いわゆるハイビジョンが開発された。このハイビジョンは、いわゆるNTSC方式に規定される走査線数525本なのに対して、2倍以上の1125本となっているうえ、表示画面の縦横比もNTSC方式が3:4に対して9:16と広角画面になっている。このため、高解像度で臨場感のある画面を得ることができるようになっている。
ここで、このような優れた特性を有するハイビジョンではあるが、NTSC方式の映像信号をそのまま供給しても画像表示を行うことはできない。これは、上述のようにNTSC方式とハイビジョン方式とでは規格が異なるからである。このため、NTSC方式の映像信号に応じた画像をハイビジョンで表示しようとする場合、従来は、例えば図15に示すような画像情報変換装置を用いて映像信号のレート変換を行っていた。
図15において、上述した従来の画像情報変換装置は、入力端子100を介して供給されるNTSC方式の映像信号(SDデータ)の水平方向の補間処理を行う水平補間フィルタ101と、水平方向の補間処理の行われた映像信号の垂直方向の補間処理を行う垂直補間フィルタ102とから構成されている。
具体的には、水平補間フィルタ101は、図16に示すような構成を有している。図16の例は、例えば縦続接続型のFIRフィルタにより水平補間フィルタ101を構成したものである。図16において、110は、SDデータが供給される入力端子であり、1110〜111mは、それぞれフィルタ係数α0〜αmをSDデータに乗じる乗算器である。1120〜112m-1は、それぞれ加算器であり、1131〜113mは、時間T(T:1サンプリング周期)の遅延素子である。出力端子114には、水平補間された出力データが得られる。この出力データが垂直補間フィルタ102へ供給される。
垂直補間フィルタ102は、水平補間フィルタ101と同様の構成を有しており、水平補間処理の行われた映像信号に対して、垂直方向の画素の補間を行う。これにより、NTSC方式の映像信号に対して、垂直方向の画素の補間を行う。このように変換のなされたハイビジョンの映像信号(HDデータ)は、ハイビジョン受像機に供給される。これにより、NTSC方式の映像信号に応じた画像をハイビジョン受像機で表示することができる。
しかしながら、上述の従来の画像情報変換装置は、NTSC方式の映像信号を基にして、単に水平方向および垂直方向の補間を行っているにすぎないため、解像度は基となるNTSC方式の映像信号と何ら変わらなかった。特に、通常の動画を変換対象とした場合、垂直方向の補間をフィールド内処理で行うのが一般的であるが、その場合、画像のフィールド間相関を使用していないため、画像静止部においては変換ロスにより、NTSC方式の映像信号よりもむしろ解像度が劣化する欠点があった。
これに対し、出願人は、特願平6−205934号の画像信号変換装置において、入力信号である画像信号レベルの3次元(時空間)分布に応じてクラス分割を行い、クラス毎に予め学習により獲得された予測係数値を格納した記憶手段を持ち、予測式に基づいた演算により最適な推定値を出力する、というものを提案している。
この手法は、HD(High Definition)画素を創造する場合、創造するHD画素の近傍にあるSD(Standard Definition)画素データを用いてクラス分割を行い、それぞれのクラス毎に予測係数値を学習により獲得することで、画像静止部においてはフレーム内相関、また動き部においてはフィールド内相関を利用して、より真値に近いHD画素値を得る、というような巧妙なものである。
例えば、図2および図3において示すような、HD画素y1〜y4の創造を目的とした場合、図6において示すSD画素m1〜m5とSD画素n1〜n5のそれぞれ空間的同一位置にある画素同士のフレーム間差分の平均値を求め、それをしきい値処理してクラス分類することにより、主に動きの程度の表現に対してクラス分類を行う。
同時に、図5において示すような、SD画素k1〜k5をADRC(Adaptive Dynamic Range Coding)処理することにより、少ないビット数で、主に空間内の波形表現を目的としたクラス分類を行う。上述の2種類のクラス分類で決定されたクラス毎に、図7において示すようなSD画素x1〜x25を使用して、線形一次式をたて、予測係数値を学習により獲得する。この方式は、主に動きの程度を表すクラス分類と、主に空間内の波形を表すクラス分類とを個別に、それぞれに適した形で行うため、比較的少ないクラス数で高い変換性能を得られるという特徴がある。
HD画素yの推定演算は、上述の手順で得られた予測係数値wnを用いて以下のような式(1)で行われる。
y=w1x1+w2x2+・・・+wnxn (1)
この例では、n=9である。
このように、SDデータに対応するHDデータを推定するための予測係数値を各クラス毎に予め学習により求めた上で、ROMテーブルに格納しておき、入力されるSDデータおよびROMテーブルから読み出した予測係数値を出力することにより、入力されたSDデータを単に補間処理したものとは異なり、実際のHDデータにより近いデータを出力することができるという特徴がある。
この画像情報変換装置を図17に示す。入力端子121からSDデータが供給され、そのSDデータは、領域切り出し回路122、124および128へ供給される。領域切り出し回路122では、ADRC回路123によって生成されるクラスの基となるSDデータが抽出される。領域切り出し回路124では、動きクラス決定回路125によって生成される動きクラスの基となるSDデータが抽出される。クラスコード発生回路126では、ADRC回路123からのクラスと、動きクラス決定回路125からの動きクラスとからクラスコードが発生される。
入力されたSDデータが所定の時間遅延され、領域切り出し回路128において、推定演算回路129で演算されるためのSDデータが抽出される。ROMテーブル127では、供給されたクラスコードに対応した予測係数値が読み出される。推定演算回路129では、領域切り出し回路128からのSDデータとROMテーブル127からのクラスコードによって推定演算が実行され、HDデータが生成される。生成されたHDデータは、出力端子130から出力される。
ところで、画像情報変換装置における学習は、図18に示すような構成により行われていた。入力端子131から、例えばHDビデオカメラの撮像出力として得られたHDデータが入力され、そのHDデータは、垂直間引きフィルタ132および正規方程式加算回路141へ供給される。垂直間引きフィルタ132において、フィールド内の垂直方向の走査線の周波数が1/2になるように間引き処理が行われ、水平間引きフィルタ133において、フィールド内の水平方向のHDデータが1/2になるように間引き処理が行われ、SDデータが得られる。このSDデータは、領域切り出し回路134、136および遅延回路(DL)139へ供給される。
領域切り出し回路134では、ADRC回路135によって生成されるクラスの基となるSDデータが抽出される。領域切り出し回路136では、動きクラス決定回路137によって生成される動きクラスの基となるSDデータが抽出される。クラスコード発生回路138では、ADRC回路135からのクラスと、動きクラス決定回路137からの動きクラスとからクラスコードが発生される。遅延回路139を介して供給されたSDデータが領域切り出し回路140において、正規方程式加算回路141で演算されるためのSDデータが抽出される。正規方程式加算回路141では、クラス毎にSDデータとHDデータとによって、例えば1フレーム分の正規方程式加算がなされる。予測係数決定回路142では、その正規方程式からクラス毎に予測係数値が決定され、決定された予測係数値は、クラス毎にメモリ143に記憶される。
すなわち、入力したHDデータを垂直間引きフィルタ132により、フィールド内の垂直方向の周波数が1/2になるように間引き処理を行い、さらに水平間引きフィルタ133により、HDデータの水平方向の周波数が1/2になるように間引き処理を行い、SDデータを得て、このSDデータと入力HDデータの関係を学習することにより、予測係数値を得ていた。
ところで、実際に信号変換の対象となるSDデータが学習時のようにHDデータを間引いて得られたものとは限らない。例えば、HDビデオカメラの撮像素子(HDデータ)を変換する場合もある。一般的に、テレビカメラの出力信号は、レンズの解像度特性、撮像間の電子ビームのアパーチャー特性などの影響で、高い空間周波数成分ほどその出力が低下してくる。これを補正するとともに、ディスプレイ装置における空間周波数特性の高域の低下をも見込んで映像信号の輪郭を強調して送出し、見た目に鮮鋭な画像を作り出そうとするのが輪郭補正器であり、エンハンサーとも呼ばれている。
輪郭補正器では、一般に、コアリング、輪郭信号に対する非線形処理などの非線形処理を多く含んでいる。コアリングとは、小さな輪郭信号のほとんどがノイズ成分であると見なして、それを抑圧する処理、輪郭信号に対する非線形処理とは、小振幅の補正信号の利得は大きく、大振幅の補正信号の利得は小さくする方法が一般的である。他にも、画像の輝度により補正信号の利得を変化させたり、またSDデータの場合には、NTSCエンコードをも鑑みて、補正信号を制御する場合もある。
以下、この発明に係る画像信号変換装置の実施例について図1を参照しながら詳細に説明する。図1は、この一実施例、すなわち画像信号変換装置の信号処理の概略的構成を示す。1で示す入力端子から外部から供給される画像信号として、例えばいわゆるNTSC方式の映像がディジタル化され、SDデータとして供給される。
この実施例における、SD画素と創造するべきHD画素の位置関係は、図2および図3に示すとおりとする。図2は、水平方向および垂直方向に現フィールドのSD画素、前フィールドのSD画素、現フィールドのHD画素および前フィールドのHD画素を表したものである。図3は、時間方向および垂直方向にSD画素とHD画素を表したものである。このように、創造するべきHD画素には、同一フィールド内で見たとき、SD画素から近い位置に存在するHD画素y1、y2とSD画素から遠い位置に存在するHD画素y3、y4の2種類がある。以降、SD画素から近い位置に存在するHD画素を推定するモードをモード1、およびSD画素から遠い位置に存在するHD画素を推定するモードをモード2と呼ぶ。
領域切り出し回路2では、入力端子1より供給されたSDデータから、タップ選択パラメータ算出のために必要な画素を切り出す。この実施例では、例えば図4に示すように創造すべきHD画素y1〜y4のフィールドと同一フィールドに位置する17個のSD画素t1〜t17を切り出す。領域切り出し回路2により抽出されたSDデータは、タップ選択パラメータ算出回路3に供給される。
タップ選択パラメータ算出回路3は、後に説明する長タップ処理と短タップ処理の切り換えを行うために必要なパラメータを算出するための回路である。このパラメータは、推定しようとするHDデータが輝度変化がほとんどない平坦部内に位置し、且つ平坦部の近傍にエッジが存在する条件が成立するか否かを示すものである。具体的には、領域切り出し回路2より供給された同一フィールド内のSDデータ(t1〜t17)の最大値とその最小値の差であるダイナミックレンジDRallと、領域切り出し回路2より供給されたSDデータのうち、一部のSDデータ(t1〜t9)のダイナミックレンジDRpartialを算出し、その比DRratio(=DRall/DRpartial)を長タップ/短タップ処理を切り換えるための切換回路15に供給する。
ここで、SDデータt1〜t17は、後に説明する長タップのSDデータx1〜x25のうち、推定しようとするHDデータと同一フィールドの画素であり、一部のSDデータt1〜t9は、後に説明する短タップのSDデータx1〜x15のうち、推定しようとするHDデータと同一フィールドの画素である。
一般に、長いタップを使用してSDデータからHDデータへ変換するほうが変換性能が良好な傾向にある。しかしながら、輝度変化がほとんどない平坦な部分に隣接して急峻なエッジがある場合、同じように長いタップを使用して変換処理を行うと、そのエッジの存在により、平坦部にかなり顕著なリンギングが変化後に現れることがある。この画質劣化を防止するために、ダイナミックレンジの比DRratioに応じて変換処理を行うタップの長さを切り換える。また、ダイナミックレンジ以外のパラメータによって、推定しようとする画素データが平坦部内に位置し、且つ平坦部の近傍にエッジが存在する条件を満たすかどうかを判定しても良い。
一方、領域切り出し回路4では、入力端子1より供給されたSD画像信号から、主に空間内の波形表現のためのクラス分類(以降、空間クラスと称する)に必要な画素を切り出す。この実施例では、例えば図5に示すように創造するべきHD画素y1〜y4の近傍に位置する5つのSD画素k1〜k5を切り出す。領域切り出し回路4により抽出されたSDデータは、ADRC回路5に供給される。
ADRC回路5は、上述の領域のSDデータのレベル分布のパターン化を目的として、各領域のデータを、例えば8ビットのSDデータから2ビットのSDデータに圧縮するような演算を行う。これにより、形成されたパターン圧縮データをクラスコード発生回路8に供給する。
本来、ADRCは、VTR向け高能率符号化用に開発された適応的量子化法であるが、信号レベルの局所的なパターンを短い語長で効率的に表現できるので、この発明の実施例では、信号パターンのクラス分類のコード発生に使用している。ADRC回路は、領域内のダイナミックレンジDR、ビット割当をn、領域内画素のデータレベルをL、再量子化コードをQとして以下の式(2)により、領域内の最大値MAXと最小値MINとの間を指定されたビット長で均等に分割して再量子化を行う。
DR=MAX−MIN+1
Q=〔(L−MIN+0.5)・2n/DR〕 (2)
ただし、〔 〕は切り捨て処理を意味する。
この実施例では、領域切り出し回路4により分離されたそれぞれ5画素のSDデータを、各2ビットに圧縮するものとする。圧縮されたSDデータをそれぞれq1〜q5とする。
一方、入力端子1から供給されたSD画像信号は、領域切り出し回路6にも供給される。領域切り出し回路6は、主に動きの程度を表すためのクラス分類(動きクラス)に必要な画素を切り出す働きをする。この実施例では、例えば供給されたSD画像信号から、創造するべきHD画素y1〜y4に対して図6に示す位置に存在する10個のSD画素m1〜m5およびn1〜n5を抽出する。
領域切り出し回路6により切り出されたデータは、動きクラス決定回路7に供給される。動きクラス決定回路7は、供給されたSDデータのフレーム間差分を算出し、その絶対値の平均値をしきい値処理することにより動きの指標である動きパラメータを算出する。具体的には、動きクラス決定回路7は、以下の式(3)により、供給されるSDデータの差分の絶対値の平均値paramを算出する。
上述の手法で算出したSDデータの差分の絶対値の平均値paramを、例えばSDデータの差分の絶対値のヒストグラムをn等分するように予め設定したしきい値により、このSDデータの差分の絶対値の平均値paramを用いて動きクラスmv-classを算出する。例えば、ここでは動きクラスを4つ設けることとして、SDデータの差分の絶対値の平均値param≦2の場合、動きクラスmv-classを0と決定し、平均値param≦4の場合、動きクラスmv-classを1と決定し、平均値param≦8の場合、動きクラスmv-classを2と決定し、平均値param>8の場合、動きクラスmv-classを3と決定する。このように決定された動きクラスmv-classがクラスコード発生回路8へ供給される。
クラスコード発生回路8は、ADRC回路5から供給されるパターン圧縮データ(空間クラス)、および動きクラス決定回路7から供給される動きクラスmv-classに基づいて以下の式(4)の演算を行うことにより、そのブロックが属するクラスを検出し、そのクラスを示すクラスコードclassをROMテーブル9および10へ供給する。このクラスコードclassは、ROMテーブル9および10からの読み出しアドレスを示すものとなっている。
ROMテーブル9および10には、SDデータのパターンとHDデータの関係を学習することにより、線形推定式を用いて、SDデータに対応するHDデータを算出するための係数データが各クラス毎に記憶されている。これは、線形推定式によりSDデータをこの画像情報よりも高い解像度の画像情報である、いわゆるハイビジョンの規格に合致したHDデータに変換するための情報である。この実施例においては、係数データは、モード1とモード2で独立に用意される。なお、ROMテーブル9および10に記憶されている係数データの作成方法については後述する。ROMテーブル9および10からは、クラスコードclassで示されるアドレスから、そのクラスの係数データであるwi(class)が読み出される。この係数データは、推定演算回路13および14へ供給される。
一方、入力SDデータは、領域切り出し回路11および12にも供給される。領域切り出し回路11は、入力SDデータから図7に示すような位置にある、推定演算に使用する25個のSDデータx1〜x25を切り出す。領域切り出し回路11の出力信号は、推定演算回路13に供給される。推定演算回路13は、領域切り出し回路11から供給されるSDデータ、ROMテーブル9から供給される係数データに基づいて、入力されたSDデータに対応するHDデータを算出する。
より具体的には、推定演算回路13は、領域切り出し回路11から供給されるSDデータであるx1〜x25とROMテーブル9より供給された係数データであるw1〜w25により、それぞれ式(5)に示す演算を行うことにより、入力されたSDデータに対応するHDデータhd´を算出する。SDデータx1〜x25は、SDデータに関して設定された第2のタップ(長タップ)の出力データがある。このとき、モード1に関してはブロック1用の係数を用いて、モード2に関してはブロック2用の係数を用いて、係数データであるwi(class)に基づいて、演算が行われる。作成されたHDデータは、切換回路15に供給される。
hd´=w1x1+w2x2+・・・+w25x25 (5)
一方、領域切り出し回路12は、入力SDデータから図8に示すような位置にある、推定演算に使用する15個のSDデータx1〜x15を切り出す。すなわち、SDデータx1〜x15は、SDデータに関して設定された第1のタップ(短タップ)の出力データである。領域切り出し回路12の出力信号(タップ出力)は、推定演算回路14に供給される。推定演算回路14は、領域切り出し回路12から供給されるSDデータ、ROMテーブル10から供給される係数データに基づいて、入力されたSDデータに対応するHDデータを算出する。
より具体的には、推定演算回路14は、領域切り出し回路12から供給されるSDデータであるx1〜x15とROMテーブル10より供給された係数データであるw1〜w15により、それぞれ式(6)に示す演算を行うことにより、入力されたSDデータに対応するHDデータhd´を算出する。このとき、モード1に関してはブロック1用の係数を用いて、モード2に関してはブロック2用の係数を用いて、係数データであるwi(class)に基づいて、演算が行われる。作成されたHDデータは、切換回路15に供給される。
hd´=w1x1+w2x2+・・・+w15x15 (6)
切換回路15では、タップ選択パラメータ算出回路3より供給されたDRratio(=DRall/DRpartial)に基づきDRratioが予め設定されたしきい値(例えば、4)より小さい場合は、推定演算回路13の出力を選択するようにスイッチングが行われ、それ以外の場合は、推定演算回路14の出力を選択するようにスイッチングが行われる。
切換回路15の出力は、出力端子16を介して出力される。この出力端子16を介して出力されるHDデータは、例えばHDテレビジョン受像機やHDビデオテープレコーダ装置等に供給される。
以上のように、この発明の最大の特徴は、長いタップ(この実施例では25タップ)と、短いタップ(この実施例では15タップ)の2種類の処理を行い、それを適応的に切り換えて出力するところに、最大の特徴がある。
概念的に画素データの一次元のレベル変化を図9に示す。×の位置のHDデータを推定しようとする場合、短タップにより推定演算されたHDデータを取り出すか、長タップにより推定演算されたHDデータを取り出すかを簡単に説明する。滑らかレベル変化を示す図9Aのような場合、長タップにより推定されたHDデータが切換回路15から取り出される。図9Bに示すような急峻なエッジの近傍に位置するHDデータを推定しようとする場合、短タップにより推定されたHDデータが切換回路15から取り出される。図9Cに示すような急峻なエッジ上に位置するHDデータを推定しようとする場合、長タップにより推定されたHDデータが切換回路15から取り出される。このように、切換回路15では、タップ選択パラメータ算出回路3からのDRratioより、推定しようとするHDデータが平坦部内に位置し、且つその平坦部の近傍にエッジが存在するか否かが判定される。
一般的に、この発明のような画像情報変換装置の場合、処理対象画像の特性と学習対象の画像の特性が一致する場合は、長いタップで処理を行ったほうが変換性能が良好な傾向にある。SDビデオカメラで撮像された画像信号をHD信号に変換する場合は、処理対象画像の特性と学習対象の画像の特性が必ずしも一致しないが、それでもほとんどの部分では、長いタップで変換処理をしたほうが、変換結果は良好である。
しかしながら、輪郭近傍などにおいては必ずしも、良好な変化結果を得られるとは限らず、とりわけ、輝度変化がほとんどない平坦な部分に隣接して急峻なエッジがある場合など、エッジの存在により、平坦部にかなり顕著なリンギングが現れることがあり、これが視覚的に大きな劣化を引き起こす場合があり、総合的に大きな画質劣化を引き起こすことがあった。
この発明の画像情報変換装置においては、輝度変化があまりない平坦な部分に隣接してエッジがある場合には、短いタップで画像情報変換処理を行い、それ以外の場合には、長いタップで画像情報変化処理を行うことにより上述した問題点を大幅に改善し、処理対象画像の特性と学習対象の画像の特性が多少異なる場合でも、良好な変換結果を得ることができる。
続いて、ROMテーブル9および10に格納される係数データの作成方法について、図10を用いて説明する。係数データを学習によって得るためには、まず既に知られているHD画像に対応したHD画像の1/4の画素数のSD画像を形成する。まず、入力端子21を介してHDデータが供給され、そのHDデータの垂直方向の画素を垂直間引きフィルタ22によりフィールド内の垂直方向の周波数が1/2になるように間引き処理され、さらに水平間引きフィルタ23により、HDデータの水平方向の画素が間引き処理される。
このように、作成されたSDデータは、領域切り出し回路24、26および28、さらに長タップ/短タップ処理を切り換えるための切換回路31に供給される。また、入力端子21より供給されたHDデータは、正規方程式加算回路33および37に供給される。
領域切り出し回路24では、水平間引きフィルタ23より供給されたSDデータから、タップ選択パラメータ算出のために必要な画素が切り出される。これは、すでに説明した領域切り出し回路2と全く同じものである。領域切り出し回路24により抽出されたSDデータは、タップ選択パラメータ算出回路25に供給される。
タップ選択パラメータ算出回路25は、長タップ処理と短タップ処理の切り換えを行うために必要なパラメータを算出するための回路であり、すでに説明したタップ選択パラメータ算出回路3と同様の働きをする。タップ選択パラメータ算出回路3で算出されたDRratioは、切換回路31に供給される。
一方、領域切り出し回路26では、空間クラス分類を行うために、供給されたSDデータから必要な画素が切り出される。具体的には、領域切り出し回路26は、先に説明した領域切り出し回路4と同一の働きをする。切り出されたSDデータは、ADRC回路27に供給される。
ADRC回路27は、領域毎に供給されるSDデータの1次元的、あるいは2次元的なレベル分布のパターンを検出するとともに、上述のように各領域の全てのデータ、あるいは一部のデータを、例えば8ビットのSDデータから2ビットのSDデータに圧縮するような演算を行うことによりパターン圧縮データを形成し、このパターン圧縮データをクラスコード発生回路30に供給する。ADRC回路27は、先に説明したADRC回路5と同一のものである。
一方、領域切り出し回路28に供給されたSD画像信号は、動きクラス分類のために必要なデータ切り出しが行われる。具体的には、領域切り出し回路28は、先に説明した領域切り出し回路6と同一の働きをするものである。領域切り出し回路28により切り出されたSDデータは、動きクラス決定回路29へ供給される。動きクラス決定回路29は具体的には、先に説明した動きクラス決定回路7と同一の働きをするものである。動きクラス決定回路29で決定された動きクラスmv-classは、クラスコード発生回路30に供給される。
クラスコード発生回路30は、先に説明したクラスコード発生回路8と同一のものであり、ADRC回路27から供給されるパターン圧縮データ(空間クラス)および動きクラス決定回路29から供給された動きクラスmv-classに基づいて上述した式(4)の演算を行うことにより、そのブロックが属するクラスを検出し、そのクラスを示すクラスコードclassを出力するものである。クラスコード発生回路30は、クラスコードclassを正規方程式加算回路33および37へ出力する。
一方、水平間引きフィルタ23からのSD信号は、切換回路31に供給され、切換回路31では、タップ選択パラメータ算出回路25から供給されるダイナミックレンジの比DRratioに基づき、領域切り出し回路32または36が選択される。具体的には、ダイナミックレンジの比DRratioが予め設定されたしきい値(例えば、4)より小さい場合は、領域切り出し回路32が選択され、しきい値より大きい場合は、領域切り出し回路36が選択され、選択された領域切り出し回路32または36へSD信号が供給される。
領域切り出し回路32は、正規方程式加算に使用するSDデータを切り出す。領域切り出し回路32は具体的には、先に説明した領域切り出し回路11と同一のものであり、正規方程式加算に必要なSDデータを切り出す働きをする。領域切り出し回路32の出力は、正規方程式加算回路33に供給される。
一方、領域切り出し回路36も正規方程式加算に使用するSDデータを切り出す。領域切り出し回路36は具体的には、先に説明した領域切り出し回路12と同一のものであり、正規方程式加算に必要なSDデータを切り出す働きをする。領域切り出し回路36の出力は、正規方程式加算回路37に供給される。
ここで、正規方程式加算回路33および37の説明のために、複数個のSDデータからHDデータへの変換式の学習とその予測式を用いた信号変換について述べる。以下では、説明のために画素をより一般化してn画素による予測を行う場合について説明する。SD画素レベルをそれぞれx1、x2、・・・xnとして、それぞれにpビットADRCを行った結果の再量子化データをq1、q2、・・・qnとする。このとき、この領域のクラスコードclassを式(4)で定義する。
上述のように、SD画素レベルをそれぞれx1、x2、・・・xnとし、HD画素レベルをyとしたとき、クラス毎に係数データw1、w2、・・・wnによるnタップの線形推定式を設定する。これを上述した式(1)に示す。学習前は、wiが未定係数である。
学習は、クラス毎に複数の信号データに対して行う。データ数がmの場合、式(1)にしたがって、以下に示す式(7)が設定される。
yk=w1xk1+w2xk2+・・・+wnxkn (7)
(k=1,2,・・・,m)
m>nの場合は、w1、w2、・・・、wnは一意に決まらないので、誤差ベクトルeの要素を式(8)で定義して、式(9)を最小にする係数データを求める。いわゆる最小自乗法による解法である。
ek=yk−〔w1xk1+w2xk2+・・・+wnxkn〕 (8)
(k=1,2,・・・,m)
ここで、式(9)のwiによる微分係数を求める。それは以下の式(10)を0にするように、各wiを求めればよい。
以下、式(11)および式(12)のように、XjiYiを定義すると、式(10)は、行列を用いて式(13)に書き換えられる。
この方程式は、一般に正規方程式と呼ばれている。正規方程式加算回路33および37は、クラスコード発生回路30から供給されたクラスコードclass、領域切り出し回路32からのSDデータx1、x2、・・・x25および領域切り出し回路36からのSDデータx1、x2、・・・、x15が入力端子21より供給されたSDデータに対応するHDデータyを用いて、この正規方程式加算を実行する。
全てのトレーニングデータの入力が終了した後、正規方程式加算回路33は、予測係数決定回路34に正規方程式データを出力する。予測係数決定回路34は、正規方程式を掃き出し法などの一般的な行列解法を用いて、wiについて解き、係数データ(予測係数値)を算出する。予測係数決定回路34は、算出された係数データをメモリ35に書き込む。
同様に、全てのトレーニングデータの入力が終了した後、正規方程式加算回路37は、予測係数決定回路38に正規方程式データを出力する。予測係数決定回路38は、正規方程式を掃き出し法などの一般的な行列解法を用いて、wiにつてい解き、係数データを算出する。予測係数決定回路38は、算出された予測係数メモリ39に書き込む。
以上のようにトレーニングを行った結果、メモリ35には、長タップ(この実施例においては25タップ)を使う場合のクラス毎に注目HDデータyを推定するための、統計的に最も真値に近い推定ができる係数データが格納される。このメモリ35に格納されたテーブルが、上述のように、この発明の画像信号変換装置において使用されるROMテーブル9である。
同様にメモリ39には、短タップ(この実施例においては15タップ)を使う場合のクラス毎に注目HDデータyを推定するための、統計的に最も真値に近い推定ができる係数データが格納される。このメモリ39に格納されたテーブルが、上述のように、この発明の画像信号変換装置において使用されるROMテーブル10である。以上の処理により、線形推定式によりSDデータからHDデータを作成するための係数データの学習が終了する。
上述したこの一実施例における推定演算回路13および14の周辺の回路図を図11に示す。アドレスコントロール回路41は、クラスコード発生回路8に対応し、係数メモリ43は、ROMテーブル9に対応し、積和器44は、推定演算回路13に対応し、乗数メモリ46は、ROMテーブル10に対応し、積和器47は、推定演算回路14に対応し、MUX(マルチプレクサ)48は、切換回路15に対応する。さらに、長タップ被乗数レジスタ42は、領域切り出し回路11の出力を保持し、短タップ被乗数レジスタ45は、領域切り出し回路12の出力を保持するものである。
すなわち、図11は、長タップおよび短タップを切り換えて使用可能な構成を示す。長タップ被乗数レジスタ42からNタップ(例えば、25タップ)の画素データが積和器44へ供給される。その画素データに対応する係数データがアドレスコントロール回路41からのクラスコードclassによって乗数メモリ43から読み出され、読み出された25個の係数データは、乗数メモリ43から積和器44へ供給される。積和器44では、式(5)に示すように対応する画素データと係数データとが積和演算され、その積和出力、すなわちHDデータは、MUX(マルチプレクサ)48へ供給される。
短タップ被乗数レジスタ45からMタップ(例えば、15タップ)の画素データが積和器47へ供給される。その画素データに対応する係数データがアドレスコントロール回路41からのクラスコードclassによって乗数メモリ46から読み出され、読み出された15個の係数データは、乗数メモリ46から積和器47へ供給される。積和器47では、式(6)に示すように対応する画素データと係数データとが積和演算され、その積和出力、すなわちHDデータは、MUX48へ供給される。MUX48では、長タップからのHDデータおよび短タップからのHDデータとを外部から供給される切換信号、上述したDRratio(=DRall/DRpartial)によって、切り換えられ出力端子49から選択されたHDデータが出力される。
ここで、式(5)および式(6)で示すように、積和器44と47の違いは、タップ数が異なるのみであり、図12に示すように、長タップ用の積和器44のみを使用することで短タップの積和演算も行うことができる。乗数メモリ51は、ROMテーブル9および10に対応し、MUX52は、切換器15に対応するものである。
長タップ被乗数レジスタ42から25タップの画素データがMUX52に供給され、同様に短タップ被乗数レジスタ45から15タップの画素データがMUX52に供給される。MUX52では、外部からの切換信号であるDRratio(=DRall/DRpartial)によって、長タップ被乗数レジスタ42からの画素データと短タップ被乗数レジスタ45からの画素データとが切り換えられる。MUX52から選択された画素データは、積和器44へ供給される。
アドレスコントロール回路41からMUX52によって選択された画素データに対応するクラスコードclassが乗数メモリ51へ供給される。乗数メモリ51では、外部からの切換信号であるDRratioと供給されたクラスコードclassに基づいて係数データが読み出され、読み出された係数データは、積和器44へ供給される。積和器44では、上述したように積和演算が行われ、積和演算の結果、HDデータが得られる。そのHDデータは、出力端子53から出力される。
このように、図12の回路と図11の回路を比べると、積和器を1つとすることができ、ハードウェアがかなり軽減できる。そこで、図13に示すように、ハードウェアをさらに軽減するために、使用される積和器を長タップ用の積和器44から短タップ用の積和器47へ変更する。長/短タップ判定回路63は、クラスコード発生回路8に対応し、乗数メモリ64は、ROMテーブル9および10に対応し、MUX67は、切換器15に対応するものである。
アドレスコントロール回路41では、対応する画素データのクラスコードclassがコントロールメモリ61および乗数メモリ64へ供給される。コントロールメモリ61は、供給されたクラスコードclassに基づいてタップ縮退演算回路62を制御する。そのタップ縮退演算回路62では、長タップ被乗数レジスタ42からのNタップの画素データがLタップの画素データへ縮退され、MUX67へ供給される。このとき、Nタップ≧Lタップの関係が成立し、一例として、上述の一実施例では、N=25、L=15である。短タップ被乗数レジスタ45からMタップ(例えば、15タップ)の画素データがMUX67へ供給される。
長/短タップ判定回路63によって、長タップの画素データを使用するか、短タップの画素データを使用するかが判定され、その判定結果は、MUX67および乗数メモリ64へ供給される。長/短タップ判定回路63から出力される判定結果は、上述したタップ選択パラメータ算出回路3から出力されるDRratioと同様のものである。MUX67では、長/短タップ判定回路63からの判定結果を切換信号として、タップ縮退演算回路62からの画素データか、短タップ被乗数レジスタ45からの画素データかが選択される。選択された画素データは、MUX67から積和器47へ供給される。
乗数メモリ64では、アドレスコントロール41からのクラスコードclassと、長/短タップ判定回路63からの判定結果とから係数データが選択される。選択された係数データは、乗数メモリ64から積和器47へ供給される。積和器47では、上述した式(6)に基づいて積和演算が行われ、その積和出力、すなわちHDデータは、出力端子66から出力される。
ここで、タップ縮退演算回路62で行われるNタップからLタップへの縮退を簡単に説明する。まず、Nタップの画素データに絶対値化が施される。絶対値化が施されたNタップの画素データから平均値および最大値が求められ、さらに0が仮の代表値Aとして設定される。
仮の代表値A毎にNタップの画素データは、グループに分けられる。分けられたグループ毎に画素データの平均値が求められ、求められた平均値を仮の代表値Bとして設定する。このとき、0は、常に変動しないものとする。仮の代表値BがLと等しいか否かが判断され、等しくないと判断された場合、仮の代表値Bに基づいて、絶対値化されたNタップの画素データは、再びグループに分けられる。仮の代表値Bとグループ内の画素データとの誤差を算出し、最大誤差となるグループの仮の代表値Bに対して±0.0001を加算し、2つに分ける。この2つに分けたものと、最大誤差とならなかった仮の代表値Bとを仮の代表値Aとして再設定する。この処理が仮の代表値BがLと等しくなるまで繰り返される。
また、仮の代表値BがLと等しいか否かが判断されたとき、等しいと判断された場合、仮の代表値BがLタップへ縮退された画素データとなる。
次に、図14に示す回路図を用いて、長/短タップ判定回路63を詳細に説明する。長タップ判定エリアレジスタ71では、入力データから長タップのエリアに含まれる画素データの判定が行われる。長タップのエリアに含まれる画素データが選択されるとその画素データは、長タップ判定エリアレジスタ71からダイナミックレンジ演算回路72へ供給される。ダイナミックレンジ演算回路72では、供給された画素データからダイナミックレンジが演算され、演算されたダイナミックレンジは、レジスタ73を介して比較器79へ供給される。
短タップ判定エリアレジスタ74では、入力データから短タップのエリアに含まれる画素データの判定が行われる。短タップのエリアに含まれる画素データが選択されるとその画素データは、短タップ判定エリアレジスタ74からダイナミックレンジ演算回路75へ供給される。ダイナミックレンジ演算回路75では、供給された画素データからダイナミックレンジが求められ、そのダイナミックレンジは、乗算器77へ供給される。乗算器77では、ダイナミックレンジと、レジスタ76を介して予め設定されたしきい値THとが掛け合わされる。その乗算結果は、レジスタ78を介して比較器79へ供給される。
比較器79では、長タップ用のダイナミックレンジと、しきい値THと掛け合わされた短タップ用のダイナミックレンジとが式(14)に示すように、比較される。その比較結果は、出力端子80から出力される。この式(14)に示す、長タップDRは、上述したDRallとは異なり、図7に示すSDデータx1〜x25と同様のものであり、短タップDRは、上述したDRpartialとは異なり、図8に示すSDデータx1〜x15と同様のものである。
長タップDR≧TH×短タップDR (14)
すなわち、しきい値THは、予め設定された設定レジスタの値を短タップ用のダイナミックレンジに乗算し、長タップ用のダイナミックレンジとコンパレートがなされる。
なお、上述の実施例の説明では、空間波形を少ないビット数でパターン化する情報圧縮手段として、ADRCを設けることにしたが、これはほんの一例であり、信号波形のパターンの少ないクラスで表現できるような情報圧縮手段であれば何を設けるかは自由であり、例えばDPCM(Differential Pulse Code Modulation)やVQ(Vector Quantization)等の圧縮手段を用いても良い。
なお、上述した実施例の説明では、動きパラメータを算出するために、SD画素データのフレーム間差分を算出し、その絶対値の平均値をしきい値処理を行っているが、必ずしもこの手法でなくても良く、例えば時間差分を空間差分で割ることによって、正規化したデータを算出し、さらにその正規化したデータに対してしきい値処理を行うことで動きパラメータとすることも可能である。
この発明は、上述したこの発明の一実施形態等に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。