以下、図面を参照しながら、この発明の実施の形態について説明する。図1は、実施の形態としての画像信号処理装置100の構成を示している。
この画像信号処理装置100は、入力端子101と、画像保存部102と、文字抽出部103と、拡大・縮小部104と、倍率情報入力部105と、画像合成部106と、表示位置入力部107と、出力端子108とを有している。
入力端子101は、例えばDVDプレーヤから出力される画像信号、テレビチューナから出力される画像信号等を入力画像信号SVinとして入力するための端子である。画像保存部102は、図示しないメモリを備えており、入力端子101に入力された入力画像信号SVinを、そのまま、このメモリに一時的に保存する。
文字抽出部103は、入力端子101に入力された入力画像信号SVinから、字幕、テロップ等の文字部分の画像信号を抽出するための文字抽出情報CSIを取得する。拡大・縮小部104は、文字抽出部103で得られた文字抽出情報CSIに基づいて入力画像信号SVinから抽出された抽出領域の画像信号(文字部分の画像信号)に対し、画像サイズの拡大または縮小の処理を行う。この拡大・縮小部104は、倍率情報入力部105から入力される、画像サイズの拡大または縮小の倍率情報MGに基づいて、画像サイズの拡大または縮小の処理を行う。ユーザは、倍率情報入力部105を操作して、この倍率情報MGで示される倍率を任意に変更できる。
画像合成部105は、画像保存部に保存されている入力画像信号SVinに、拡大・縮小処理部104で処理されて得られた文字部分の画像信号SVcを合成して出力画像信号SVoutを取得し、出力端子108に出力する。この画像合成部106は、表示位置入力部107から入力される、表示位置情報DPに基づいて、入力画像信号SVinに対する文字部分の画像信号SVcの合成位置、つまり文字部分の画面上における表示位置を決定する。ユーザは、表示位置入力部107を操作して、表示位置情報DPで示される表示位置を任意に変更できる。
次に、上述した文字抽出部103について、さらに詳細に説明する。この文字抽出部103は、図2に示すように、第1の判定手段としての文字領域の判定部110と、第2の判定手段としての文字画素(文字部分である画素)の判定部150とを有している。判定部110は、入力画像信号SVinから字幕、テロップ等の文字部分が含まれている文字部部分領域を抽出する。判定部150は、判定部110で判定された文字部分領域を構成する各画素が文字部分の画素であるか否かを判定し、その判定結果を上述した文字抽出情報CSIとして出力する。
図3は、文字領域の判定部110の構成を示している。この判定部110は、均一レベル領域検出回路112と、高周波領域検出回路113と、無変化領域検出回路114と、抽出回路115とを有している。これらの回路は、文字部分領域抽出部111を構成している。
文字部分領域抽出部111は、画像蓄積部116を介した入力画像信号SVinから、均一レベル領域検出回路112、高周波領域検出回路113、無変化領域検出回路114および抽出回路115を用いて文字部分領域を抽出し、その文字部分領域の情報CEIを出力する。この情報CEIは、文字部分領域を示す座標データである。
ここで、画像蓄積部116は、5個のフレームメモリ117〜121からなり、入力画像信号SVinを所定の周期で蓄積する。すなわち、文字部分領域抽出部111による一連の文字部分領域の抽出処理が1フレーム分終了したところで、フレームメモリ117内の1フレーム分の画像信号はフレームメモリ118へ、フレームメモリ118内の1フレーム分の画像信号はフレームメモリ119へ、フレームメモリ119内の1フレーム分の画像信号はフレームメモリ120へ、フレームメモリ120内の1フレーム分の画像信号はフレームメモリ121へとシフトする。つまり、フレームメモリ117〜121には、順次1フレーム期間だけ時間方向にずれた画像信号が蓄積されている。
ここで、字幕、テロップ等の文字部分は、以下の(1)〜(3)の特徴を備えている。(1)文字部分は、同一データレベルの画素で構成される。(2)通常、3〜4秒以上は表示されるので、文字部分を構成する画素は所定時間以上、同一のデータレベルを保持する。(3)文字部分を目立たせるため、背景部分とはデータレベルで大きく差がある。つまり、文字部分を含む領域は、画像平面において比較的空間周波数の高い領域となる。
均一レベル領域検出回路112は、入力画像信号SVinの任意の画素のデータとこの任意の画素の空間方向(水平方向、垂直方向)の周辺に位置する周辺画素のデータとを用いて、均一なレベル領域を検出する。この均一レベル領域検出回路112は、上述した字幕、テロップ等の文字部分の特徴のうち、(1)の特徴を満たす領域を検出する。
この均一レベル領域検出回路112は、入力画像信号SVinの任意の画素を中心とした所定画素数よりなる例えば3×3のブロック内で、任意の画素のデータとその周辺の複数の画素のデータとのレベル差をそれぞれ求め、求められた複数のレベル差のうち所定しきい値以下となるレベル差の個数が所定個数以上であるとき、その任意の画素を、周辺に似ている画素が多いということで、均一レベル領域に含まれる画素であると判定する。均一レベル領域検出回路112は、上述した任意の画素を画面内の全ての画素に順次移動していき、その画素が均一レベル領域に含まれるか否かを判定し、均一レベル領域を取得する。
高周波領域検出回路113は、入力画像信号SVinの任意の画素のデータとこの任意の画素の空間方向の周辺に位置する周辺画素のデータとを用いて、高周波成分が存在する高周波領域を検出する。この高周波領域検出回路113は、上述した字幕、テロップ等の文字部分の特徴のうち、(3)の特徴を満たす領域を検出する。
この高周波領域検出回路113は、入力画像信号SVinの任意の画素のデータと、その任意の画素と上下左右方向に隣接する画素のデータとのレベル差が所定のしきい値以上であるとき、その任意の画素を、高周波領域に含まれる画素であると判定する。高周波領域検出回路113は、上述した任意の画素を画面内の全ての画素に順次移動していき、その画素が高周波領域に含まれるか否かを判定し、高周波領域を取得する。
無変化領域検出回路114は、入力画像信号SVinの任意の画素の時間方向(フレーム方向)の複数のデータを用いて所定時間以上変化のない領域を検出する。抽出回路115は、上述した検出回路112〜114の検出出力に基づいて、文字部分領域を抽出する。この無変化領域検出回路114は、上述した字幕、テロップ等の文字部分の特徴のうち、(2)の特徴を満たす領域を検出する。
この無変化領域検出回路114は、画像蓄積部116からの5フレーム分の画像信号を使用し、任意の画素の時間方向の5個のデータのレベルに変化がないとき、その任意の画素を、無変化領域に含まれる画素であると判定する。無変化領域検出回路114は、上述した任意の画素を画面内の全ての画素に順次移動していき、その画素が無変化領域に含まれるか否かを判定し、無変化領域を取得する。例えば、5フレームの画像が、それぞれ図4(a)〜(e)に示すように変化している場合、無変化領域として、図4(f)に示すような長方形領域が検出される。
抽出回路115は、上述した検出回路112〜114の検出出力に基づいて、文字部分領域を抽出する。この抽出回路115は、均一レベル領域検出回路112と高周波領域検出回路113と無変化領域検出回路114の各検出出力に対してそれぞれ所定の重み付けをして加算することで、画面上の各座標の評価値を算出し、この評価値に基づいて文字部分領域を抽出する。
図5のフローチャートは、抽出回路115の処理手順を示している。抽出回路115の処理を、図5のフローチャート、および図6〜図15を参照しながら以下に説明する。
図5のステップST11で、それぞれ“0”と“1”に2値化している均一レベル領域検出回路112の検出出力、高周波領域検出回路113の検出出力、無変化領域検出回路114の検出出力に所定の重み付けをして加算した値を、画面上の各座標の最終的な評価値として算出する。例えば、均一レベル領域検出回路112の検出出力に重み付け係数として“2”が、高周波領域検出回路113の検出出力に重み付け係数として“1”が、無変化領域検出回路114の検出出力に重み付け係数として“3”が掛けられる。
図6は、フレームメモリ117に蓄えられている原画の画像の具体例を示している。図7は、均一レベル領域検出回路112の検出出力の具体例を示している。図8は、高周波領域検出回路113の検出出力の具体例を示している。図9は、無変化領域検出回路114の検出出力の具体例を示している。なお、これら図7〜図9において、黒色の画素部分は検出出力“1”に対応し、白色の画素部分は検出出力“0”に対応している。また、図10は、図7〜図9の検出出力にそれぞれ上述した重み付けをして算出した、画面上の各座標の評価値の具体例を示している。
次に、図5のステップST12で、この各座標の評価値について、二つの直交座標系の二つの基底となる軸にデータを投影累積する。二つの直交座標系としては、例えば、画像の水平・垂直方向の軸を基底とする第1の直交座標系と、この第1の直交座標系を45度回転させた第2の直交座標系とを用いる。図11は、図10に示した各座標の評価値を、第1の直交座標系に投影して求めた累積値分布の具体例を示している。図12は、図10に示した各座標の評価値を、第2の直交座標系に投影して求めた累積値分布の具体例を示している。
次に、図5のステップST13で、図11および図12に示した二つの直交座標系の累積値分布において、それぞれ、二つの基底となる軸で累積値が所定のしきい値以上となる領域を抽出する。そして、図5のステップST14で、それぞれ、図13および図14に示すように、二つの直交座標系で共通領域を抽出する。
次に、図5のステップST15で、この二つの直交座標系で抽出された共通領域について、さらに共通な領域の抽出を行う。図15(a)、(b)はそれぞれ二つの直交座標系で抽出された共通領域を示しており、図15(c)は、それらの共通な領域を示している。そして、図5のステップST16で、ステップST15で抽出された共通な領域に外接する長方形の領域を求め、これを最終的に抽出された文字部分領域とする。図15(d)は、この長方形領域、すなわち文字部分領域を示している。
次に、図5のステップST17で、ステップST16で抽出された文字部分領域の情報CEI、すなわち文字部分領域を示す座標データを出力する。文字部分領域を示す座標データは、例えば図15(d)に示すように、文字部分領域の左上座標および右下座標のデータである。
なお、文字部分領域がない場合には、抽出回路115は、文字部分領域がない旨の情報を出力する。例えば、出力データとなる文字部分領域の左上の水平、垂直方向座標と右下の水平、垂直方向座標をそれぞれ0にして出力する。
図3に示す文字領域の判定部110では、均一レベル領域の検出出力、高周波領域の検出出力、無変化領域の検出出力に基づいて、抽出回路115で文字部分領域を抽出しているので、あらゆる環境における字幕、テロップ等の文字部分を含む文字部分領域を正確に抽出できる。
文字画素(文字部分である画素)の判定部150には、上述したように文字領域の判定部110から出力される文字部分領域の情報CEIが供給される。なお、この文字画素の判定部150には、文字領域の判定部110を通じて、文字部分領域の情報CEIが得られたフレームの画像信号も供給される。
図16は、文字部分領域の画像信号の波形モデル図を示している。このモデル図から明らかなように、文字部分の画素は、以下の(1)、(2)の特徴を持つ。(1)文字部分の画素のデータレベルは、ユーザが文字部分であると認識できるようにするために、文字部分以外の部分の画素のデータレベルと比較して、大幅に高くなっている。(2)文字部分は、同一データレベルの画素で構成される。
文字画素の判定部150は、上述した文字部分の画素の持つ特徴に基づいて、文字部分領域を構成する各画素が文字部分の画素であるか否かを判定する。すなわち、文字部分領域を構成する第1の画素のデータとその第1の画素に隣接する画素のデータとの差分絶対値が第1のしきい値より大きく、かつ第1の画素のデータが第2のしきい値より大きいとき、当該第1の画素を文字部分の画素であると判定する。また、文字部分の画素であると判定された画素のデータと、その画素に隣接する第2の画素のデータとが同一レベルであるとき、当該第2の画素を文字部分の画素であると判定する。
図17は、文字部分の画素の判定方法のモデル図を示している。画素bが判定対象画素であるとき、この画素bのデータと画素aのデータとの差分絶対値Dを求める。この差分絶対値Dがしきい値thD(第1のしきい値)より大きく、かつ画素bのデータ値がしきい値thL(第2のしきい値)より大きいとき、この画素bを、文字部分の画素であると判定する。なお、しきい値thD,thLは、任意の値に設定される。また、画素bに隣接する画素cが判定対象画素であるとき、この画素cのデータと画素bのデータとを比較し、同一レベルであるとき、この画素cも、文字部分の画素であると判定する。
図18は、文字画素の判定部150の要部構成を示している。この判定部150には、文字部分領域を構成する各画素のデータDinが順次入力される。この場合、各画素のデータDinはライン順に入力され、それぞれのラインの画素データDinは連続して入力される。
画素データDinは、1画素期間の遅延回路151を介して減算器152に供給されると共に、さらに比較器155に供給される。減算器152では、判定対象の画素のデータとその1画素前の画素のデータとの差分値が得られ、この差分値は絶対値化回路153に供給されて差分絶対値Dが得られる。この差分絶対値Dは比較器154に供給されてしきい値thDと比較され、その比較結果は判定部157に供給される。
また、画素データDin、すなわち判定対象の画素データは比較器155に供給されてしきい値thLと比較され、その比較結果は判定部157に供給される。また、絶対値化回路153で得られた差分絶対値Dは比較器156に供給されてしきい値th0と比較され、その比較結果は判定部157に供給される。この比較器156は、判定対象の画素のデータとその1画素前の画素のデータとが同一レベルであるか否かを判定するためのものであり、差分絶対値Dがしきい値th0より小さいときは、同一レベルと判定できる。ここで、しきい値th0は、ノイズ等によるレベル変動を吸収するためのものであって、小さな値である。
判定部157では、比較器154〜156の比較結果を使用し、上述した文字部分の画素の判定方法(図17参照)に基づいて、判定対象の画素が文字部分の画素であるか否かを判定する。そして、この判定部157からは、その判定結果が文字抽出情報CSIとして出力される。この文字抽出情報CSIは、文字部分であると判定された画素を示す座標データである。
次に、上述した拡大・縮小部104(図1参照)について、さらに詳細に説明する。この拡大・縮小部104には、上述したように文字抽出部103から出力される文字抽出情報CSIが供給される。なお、この拡大・縮小部104には、文字抽出部103を通じて、文字抽出情報が得られたフレームの画像信号も供給される。
この拡大・縮小部104は、図19に示すように、領域指定部161、背景処理部162と、クラス分類適応処理部163とを有している。領域指定部161は、文字抽出部103から供給される文字抽出情報CSIに基づいて、画像サイズの拡大または縮小の処理を行う抽出領域を指定する。この場合、領域指定部161は、図20に示すように、最も上側に位置する文字部分の画素、最も下側に位置する文字部分の画素、最も右側に位置する文字部分の画素、最も左側に位置する文字部分の画素の座標を求め、これら4画素の座標を通る長方形領域を、上述した画像サイズの拡大または縮小の処理を行う抽出領域に指定する。この抽出領域には、文字部分の画素であると判定された画素が全て含まれている。
背景処理部162は、領域指定部161で指定された抽出領域の画像信号(文字部分の画像信号)を構成する複数の画素データのうち、文字部分以外(背景)の画素データの値を所定値、本実施の形態においては0とする。図21A,Bは、この背景処理部162における処理のイメージ図を示している。図21Aは、処理前の各画素の状態を示しており、文字部分以外の画素のデータは種々の値を持っている。図21Bは、処理後の各画素の状態を示しており、文字部分以外の画素のデータの値は0とされている。
クラス分類適応処理部163は、背景処理部162で処理された抽出領域の画像信号に対し、画像サイズの拡大または縮小の処理を行って文字部分の画像信号SVcを取得する。画像サイズの拡大または縮小を行う場合、処理前の画像信号の各画素のデータに基づいて、処理後の画像信号の各画素のデータを求める必要がある。処理後の画像信号の各画素のデータを、処理前の画像信号の各画素のデータを使用して線形補間処理で求めることもできるが、本実施の形態においてはクラス分類適応処理により求める。
このクラス分類適応処理部163は、倍率情報入力部105(図1参照)から供給される倍率情報MGに基づいて、画像の拡大または縮小の処理を行う。この場合、拡大または縮小の倍率情報MGに応じて、処理前の画像信号の各画素に対する、処理後の画像信号の各画素の位置が変化する。このクラス分類適応処理部163の詳細構成については、後述する。
図22のフローチャートは、拡大・処理部104の処理手順(1フレーム分)を示している。まず、ステップST21で、処理を開始する。そして、ステップST22で、文字抽出情報CSI、すなわち文字部分の画素であると判定された画素の座標データに基づいて、拡大・縮小を行う抽出領域を指定する。次に、ステップST23で、ステップST22で指定された抽出領域の画像信号を構成する複数の画素データのうち、文字部分以外(背景)の画素データの値に所定値、例えば0を代入する。次に、ステップST24で、ステップST23で処理された抽出領域の画像信号に対し、倍率情報MGに応じて、画像サイズの拡大または縮小の処理を行って文字部分の画像信号SVcを取得する。そして、ステップST25で、処理を終了する。
次に、クラス分類適応処理部163の詳細を説明する。図23は、クラス分類適応処理部163の構成を示している。この処理部163は、処理本体部201と、この処理本体部201の動作を制御する制御部202とからなっている。上述した倍率情報MGは、制御部202に供給される。
処理本体部201は、バッファメモリ203と、予測タップ選択部204と、クラスタップ選択部205と、クラス検出部206と、係数データ生成部207と、ROM(Read Only Memory)208と、推定予測演算部209と、バッファメモリ210とを有している。
バッファメモリ203は、背景処理部162で処理された抽出領域の画像信号SVsを一時的に記憶する。予測タップ選択部204、クラスタップ選択部205は、それぞれ、画像信号SVsから、画像信号SVcにおける注目画素位置の周辺に位置する複数の画素データを、予測タップ、クラスタップのデータとして選択的に抽出する。
クラス検出部206は、クラスタップ選択部205で選択的に抽出されるクラスタップのデータとしての複数の画素データに対してデータ圧縮処理を施して、注目画素位置の画素データが属するクラスを示すクラスコード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として出力する。
ROM208は、各クラスの係数種データを記憶している。後述する推定予測演算部209では、予測タップとしての複数の画素データxiと、係数データWiとを用い、(1)式の推定式に基づいて、画像信号SVcにおける注目画素位置の画素データyが求められる。この(1)式において、nは、予測タップとしての複数の画素データxiの個数である。
ROM208に記憶される係数種データは、上述した推定式の係数データWi(i=1〜n)を生成するための、位相情報h,vをパラメータとする生成式の係数データである。(2)式は、その生成式の一例を示している。ここで、位相情報hは水平方向の位相情報であり、位相情報vは垂直方向の位相情報である。
ROM208には、例えば、(2)式の生成式における係数データである係数種データwi0〜wi9(i=1〜n)が、クラス毎に、記憶されている。この係数種データの生成方法については後述する。
係数データ生成部207は、クラス検出部206で得られたクラスコードCLが表すクラスの係数種データwi0〜wi9をROM208から読み出し、さらに制御部202から供給される、画像信号SVcにおける注目画素位置の位相情報h,vの値を用い、(2)式の生成式に基づいて、係数データWiを生成する。上述したように、処理前の画像信号SVsに対する、処理後の画像信号の各画素の位置は、倍率情報MGに応じて変化する。
例えば、図24は、倍率情報MGで示す倍率が0.75倍である縮小時における入力(画像信号SVs)と出力(SVc)の画素位置関係を示している。また例えば、図25は、倍率情報MGで示す倍率が1.25倍である拡大時における入力(画像信号SVs)と出力(SVc)の画素位置関係を示している。なお、図24、図25では、大きなドットが入力の画素であり、小さなドットが出力の画素を示しており、また奇数フィールドの画素位置を実線で示し、偶数フィールドの画素位置を破線で示している。
制御部202は、倍率情報MGに基づき、奇数、偶数のフィールドのそれぞれに対応して、画像信号SVcにおける注目画素位置の位相情報h,vを発生する。この場合、例えば、画像信号SVsの水平方向、垂直方向の画素間隔をそれぞれ16とし、画像信号SVcにおける注目画素位置から水平方向、垂直方向にそれぞれ最も近い位置にある画像信号SVsにおける画素(最短画素)までの距離を、位相情報h,vとしている。
ここで、位相情報hに関しては、注目画素位置が最短画素より左方に位置するときは負の値とされ、逆に注目画素位置が最短画素より右方に位置するときは正の値とされる。同様に、位相情報vに関しては、注目画素位置が最短画素より上方に位置するときは負の値とされ、逆に注目画素位置が最短画素より下方に位置するときは正の値とされる。
推定予測演算部209は、予測タップ選択部204で選択的に抽出された予測タップのデータとしての複数の画素データxiと、係数データ生成部207から読み出された係数データWiとを用い、(1)式の推定式に基づいて、画像信号SVcにおける注目画素位置の画素データyを算出する。バッファメモリ210は、推定予測演算部209で算出された、画像信号SVcを構成する各画素データを一時的に記憶する。
次に、処理本体部201の動作を説明する。
背景処理部162で処理された抽出領域の画像信号SVsはバッファメモリ203に供給されて一時的に記憶される。クラスタップ選択部205では、バッファメモリ203に記憶されている画像信号SVsに基づいて、画像信号SVcにおける注目画素位置の周辺に位置する複数の画素データがクラスタップのデータとして選択的に抽出される。この複数の画素データはクラス検出部206に供給される。
クラス検出部206では、クラスタップのデータとしての複数の画素データに、例えば1ビットADRCのデータ圧縮処理が施されて、画像信号SVcにおける注目画素位置の画素データが属するクラスを表すクラスコードCLが得られる。このクラスコードCLは係数データ生成部207に供給される。
この係数データ生成部207には、制御部202から、画像信号SVcにおける注目画素位置の位相情報h,vが供給される。これにより、係数データ生成部207では、画像信号SVcにおける注目画素位置に対応して、ROM208からクラスコードCLが表すクラスの係数種データwi0〜wi9が読み出され、位相情報h,vの値を用いて、(2)式の生成式に基づいて、係数データWiが生成される。この係数データWiは、推定予測演算部209に供給される。
予測タップ選択部204では、バッファメモリ203に記憶されている画像信号SVsに基づいて、画像信号SVcにおける注目画素位置の周辺に位置する複数の画素データxiが予測タップのデータとして選択的に抽出される。この複数の画素データは推定予測演算部209に供給される。
推定予測演算部209では、予測タップのデータとしての複数の画素データxiと、係数データWiとを用い、(1)式の推定式に基づいて、画像信号SVcにおける注目画素位置の画素データyが算出される。この場合、注目画素位置を、画像信号SVcの全画素位置に順次変化させていくことで、画像信号SVcの全画素位置の画素データyが求められる。
推定予測演算部209で求められた画像信号SVcの全画素位置の画素データyは、バッファメモリ210に供給されて一時的に記憶される。このバッファメモリ210に記憶された画像信号SVcを構成する各画素データは、その後に適宜なタイミングで読み出されて画像合成部106(図1参照)に供給され、入力画像信号SVinに合成される。
上述したように、クラス分類適応処理部163における処理本体部201のROM208には、係数種データwi0〜wi9が、クラス毎に、記憶されている。この係数種データwi0〜wi9は、予め学習によって生成されたものである。
まず、この係数種データの生成方法の一例について説明する。ここでは、(2)式の生成式における係数データである係数種データwi0〜wi9を求める例を示すものとする。
ここで、以下の説明のため、(3)式のように、tj(j=0〜9)を定義する。
t0=1,t1=v,t2=h,t3=v2,t4=vh,t5=h2,t6=v3,
t7=v2h,t8=vh2,t9=h3
・・・(3)
この(3)式を用いると、(2)式は、(4)式のように書き換えられる。
最終的に、学習によって未定係数wijを求める。すなわち、クラス毎に、生徒信号の画素データと教師信号の画素データとを用いて、二乗誤差を最小にする係数値を決定する。いわゆる最小二乗法による解法である。学習数をm、k(1≦k≦m)番目の学習データにおける残差をek、二乗誤差の総和をEとすると、(1)式および(2)式を用いて、Eは(5)式で表される。ここで、xikは生徒画像のi番目の予測タップ位置におけるk番目の画素データ、ykはそれに対応する教師画像のk番目の画素データを表している。
最小二乗法による解法では、(5)式のwijによる偏微分が0になるようなwijを求める。これは、(6)式で示される。
以下、(7)式、(8)式のように、Xipjq、Yipを定義すると、(6)式は、行列を用いて(9)式のように書き換えられる。
この方程式は一般に正規方程式と呼ばれている。この正規方程式は、掃き出し法(Gauss-Jordanの消去法)等を用いて、wijについて解かれ、係数種データが算出される。
図26は、上述した係数種データの生成方法の概念を示している。教師信号としてのHD信号(1050i信号)から生徒信号としてのSD信号(525i信号)を生成する。525i信号は、ライン数が525本でインタレース方式の画像信号を意味している。1050i信号は、ライン数が1050本でインタレース方式の画像信号を意味している。
図27は、SD信号(525i信号)とHD信号(1050i信号)の画素位置関係を示している。ここで、大きなドットが525i信号の画素であり、小さなドットが1050i信号の画素である。また、奇数フィールドの画素位置を実線で示し、偶数フィールドの画素位置を破線で示している。
このSD信号の位相を垂直方向に8段階、水平方向に8段階にシフトさせて、8×8=64種類のSD信号SD1〜SD64を生成する。位相シフトの方法の例として、例えばオーバーサンプリングフィルタから欲しい位相だけを抜き出す方法がある。
図28は、垂直方向への8段階の位相シフト状態V1〜V8を示している。ここでは、SD信号の垂直方向の画素間隔は16であり、下方向が正の方向とされている。また、「o」は奇数フィールドを、「e」は偶数フィールドを表している。
V1の状態はSD信号のシフト量が0とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、4,0,−4,−8の位相を持つようになる。V2の状態はSD信号のシフト量が1とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、7,3,−1,−5の位相を持つようになる。V3の状態はSD信号のシフト量が2とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、6,2,−2,−6の位相を持つようになる。V4の状態はSD信号のシフト量が3とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、5,1,−3,−7の位相を持つようになる。
V5の状態はSD信号のシフト量が4とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、4,0,−4,−8の位相を持つようになる。V6の状態はSD信号のシフト量が5とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、7,3,−1,−5の位相を持つようになる。V7の状態はSD信号のシフト量が6とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、6,2,−2,−6の位相を持つようになる。V8の状態はSD信号のシフト量が7とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、5,1,−3,−7の位相を持つようになる。
図29は、水平方向への8段階の位相シフト状態H1〜H8を示している。ここではSD信号の水平方向の画素間隔は16であり、右方向が正の方向とされている。
H1の状態はSD信号のシフト量が0とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、0,−8の位相を持つようになる。H2の状態はSD信号のシフト量が1とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、7,−1の位相を持つようになる。H3の状態はSD信号のシフト量が2とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、6,−2の位相を持つようになる。H4の状態はSD信号のシフト量が3とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、5,−3の位相を持つようになる。
H5の状態はSD信号のシフト量が4とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、4,−4の位相を持つようになる。H6の状態はSD信号のシフト量が5とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、3,−5の位相を持つようになる。H7の状態はSD信号のシフト量が6とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、2,−6の位相を持つようになる。H8の状態はSD信号のシフト量が7とされたものであり、この場合、HD信号の画素は、SD信号の画素に対して、1,−7の位相を持つようになる。
図30は、上述したように垂直方向に8段階、水平方向に8段階にシフトさせて得られた64種類のSD信号に関し、SD信号の画素を中心とした場合のHD信号の位相を示している。すなわち、SD信号の画素に対して、HD信号の画素は図中の●で示す位相を持つようになる。
図31は、上述した概念で係数種データを生成する係数種データ生成装置250の構成を示している。
この係数種データ生成装置250は、教師信号としてのHD信号(1050i信号)が入力される入力端子251と、位相シフト回路252とを有している。この位相シフト回路252は、入力端子251に入力されたHD信号に対して、水平および垂直方向にオーバーサンプリングフィルタをかけ、欲しい位相を抜き出して、生徒信号としてのSD信号(525i信号)を取得する。この位相シフト回路252には、水平方向、垂直方向への位相シフト量を指定するパラメータH,Vが入力される。この場合、位相シフト回路252では、SD信号の位相が、垂直方向に8段階、水平方向に8段階にシフトするようにされ、合計64種類のSD信号が生成される(図26参照)。
また、係数種データ生成装置250は、予測タップ選択部253と、クラスタップ選択部254とを有している。これら予測タップ選択部253およびクラスタップ選択部254は、それぞれ、位相シフト回路252より出力されるSD信号から、HD信号おける注目画素位置の周辺に位置する複数の画素データを選択的に抽出する。これら予測タップ選択部253、クラスタップ選択部254は、それぞれ、上述した処理本体部201(図23参照)の予測タップ選択部204、クラスタップ選択部205に対応するものである。
また、係数種データ生成装置250は、クラス検出部255を有している。このクラス検出部255は、クラスタップ選択部254で選択的に抽出されるクラスタップのデータとしての複数の画素データを処理して、HD信号における注目画素位置の画素データが属するクラスを示すクラスコードCLを生成する。このクラス検出部255は、上述した処理本体部201のクラス検出部206に対応するものである。
また、係数種データ生成装置250は、教師タップ選択部256を有している。この教師タップ選択部256は、HD信号から、注目画素位置の画素データを選択的に抽出する。
また、係数種データ生成装置250は、正規方程式生成部257を有している。この正規方程式生成部257は、教師タップ選択部256で選択的に抽出された、HD信号における各注目画素位置の画素データyと、この各注目画素位置の画素データyにそれぞれ対応して予測タップ選択部253で選択的に抽出された、予測タップのデータとしての複数の画素データxiと、各注目画素位置の画素データyにそれぞれ対応してクラス検出部255で得られたクラスコードCLと、各注目画素位置の画素データyの水平、垂直の位相h,vとから、クラス毎に、係数種データwi0〜wi9を得るための正規方程式((9)式参照)を生成する。
この場合、一個の画素データyとそれに対応するn個の画素データxiとの組み合わせで一個の学習データが生成される。位相シフト回路252へのパラメータH,Vが順次変更されていき、垂直、水平の位相シフト値が段階的に変化した64種類のSD信号が順次生成されていく。これにより、正規方程式生成部257では、多くの学習データが登録された正規方程式が生成される。このようにSD信号を順次生成して学習データを登録することで、水平、垂直の任意の位相の画素データを得るための係数種データを求めることが可能となる。
また、係数種データ生成装置250は、係数種データ決定部258と、係数種メモリ259とを有している。係数種データ決定部258は、正規方程式生成部257から正規方程式のデータの供給を受け、当該正規方程式を掃き出し法等によって解き、クラス毎に、係数種データwi0〜wi9を求める。係数種メモリ259は、この係数種データwi0〜wi9を格納する。
図31に示す係数種データ生成装置250の動作を説明する。
入力端子251には教師信号としてのHD信号(1050i信号)が入力される。このHD信号に対して、位相シフト回路252では、水平および垂直方向にオーバーサンプリングフィルタがかけられ、欲しい位相が抜き出されてSD信号(525i信号)が得られる。この場合、SD信号として垂直方向に8段階、水平方向に8段階にシフトされたものが順次生成される。
クラスタップ選択部254では、位相シフト回路252で生成される各SD信号から、HD信号における注目画素位置の周辺に位置する複数の画素データが、クラスタップのデータとして選択的に抽出される。この複数の画素データは、クラス検出部255に供給される。そして、クラス検出部255では、各画素データに対してADRC等のデータ圧縮処理が施されて、HD信号における注目画素位置の画素データが属するクラスを示すクラスコードCLが生成される。このクラスコードCLは、正規方程式生成部257に供給される。
予測タップ選択部253では、位相シフト回路252で生成される各SD信号から、HD信号における注目画素位置の周辺に位置する複数の画素データxiが、予測タップのデータとして選択的に抽出される。この複数の画素データxiは、正規方程式生成部257に供給される。また、教師タップ選択部256では、HD信号から、注目画素位置の画素データが選択的に抽出される。この画素データyは、正規方程式生成部257に供給される。
そして、正規方程式生成部257では、教師タップ選択部256で選択的に抽出された、HD信号における各注目画素位置の画素データyと、この各注目画素位置の画素データyにそれぞれ対応して予測タップ選択部253で選択的に抽出された、予測タップのデータとしての複数の画素データxiと、各注目画素位置の画素データyにそれぞれ対応してクラス検出部255で得られたクラスコードCLと、各注目画素位置の画素データyの水平、垂直の位相h,vとから、クラス毎に、係数種データwi0〜wi9を得るための正規方程式((9)式参照)が生成される。
そして、係数種データ決定部258でその正規方程式が解かれ、各クラスの係数種データwi0〜wi9が求められ、その係数種データwi0〜wi9はクラス別にアドレス分割された係数種メモリ259に記憶される。
このように、図31に示す係数種データ生成装置250においては、図23のクラス分類適応処理部163の処理本体部201におけるROM208に記憶される、各クラスの係数種データwi0〜wi9を生成することができる。
次に、上述した画像合成部106(図1参照)について、さらに詳細に説明する。図32は、画像合成部106での処理の流れを示している。画像保存部102に保存されている入力画像信号SVinと、拡大・縮小部104で生成された文字部分の画像信号SVcが用いられる。そして、文字部分の表示位置が選択され、その選択された表示位置に基づいて入力画像信号SVinに画像信号SVcが合成され、出力画像信号SVoutが得られる。
図33(a)〜(e)は、ユーザが表示位置入力部107を操作して選択し得る表示位置の一例を示している。表示位置入力部107から画像合成部106には、上述したように、ユーザにより選択された表示位置を示す表示位置情報DPが供給される。
画像合成部106は、画像メモリ(図示せず)を有しており、拡大・縮小部104で生成された文字部分の画像信号SVcを構成する各画素データを画像メモリの表示位置に対応したアドレスに書き込み、画像メモリのその他のアドレスに、画像保存部102に保存されている入力画像信号SVinを構成する画素データを書き込み、そしてこの画像メモリから出力画像信号SVoutを構成する画素データを読み出して出力する。
なお、上述した拡大・縮小部104では、入力画像信号SVinから抽出された抽出領域の画像信号、つまり処理前の文字部分の画像信号に対して拡大または縮小の処理が行われて、処理後の文字部分の画像信号SVcが生成される。この画像信号SVcの領域(処理後の領域)は、拡大処理の場合は上述した抽出領域より大きくなり、逆に縮小処理の場合は上述した抽出領域より小さくなる。
したがって、縮小処理の場合に、例えば、拡大・縮小部104で処理されて得られた画像信号SVcをそのまま、入力画像信号SVinに、処理前の文字部分の表示位置に対応して合成した場合、処理後の文字部分の周りに処理前の文字部分が表示された見苦しい状態となる。そこで、本実施の形態においては、縮小処理の場合であって、処理後の文字部分の表示位置として処理前の文字部分の表示位置と同じ表示位置が選択された場合、処理後の画像信号SVcの領域を、その領域の周りに、上述した拡大・縮小部104の背景処理部162で文字部分以外(背景)の画素データの値として用いた所定値、例えば0の画素データを付加して拡大し、最終的な画像信号SVcの領域が上述した抽出領域より小さくならないようにする。この所定値の画素データの付加処理は、例えば、画像合成部106で入力画像信号Vinに処理後の画像信号SVcを合成する際に行われる。
図34のフローチャートは、画像合成部106における1フレーム分の画像信号の処理手順を示している。まず、ステップST31で、処理を開始し、ステップST32で、表示位置入力部107から供給される表示位置情報DPに基づいて、表示位置を決定する。
次に、ステップST33で、拡大・縮小処理されて得られた画像信号SVcを構成する画素データを、画像メモリの表示位置に対応したアドレスに書き込む。この場合、上述したように縮小処理の場合であって、処理後の文字部分の表示位置として処理前の文字部分の表示位置と同じ表示位置が選択された場合には、画像信号SVcの領域の周りに対応するアドレスに、所定値、例えば0の画素データを書き込み、上述したように最終的な画像信号SVcの領域が抽出領域より小さくならないようにされる。
次に、ステップST34で、画像メモリのその他のアドレスに、画像保存部102に保存されている入力画像信号SVinを構成する画素データを書き込む。そして、ステップST35で、画像メモリから、出力画像信号SVoutを構成する1フレーム分の画素データを読み出して出力する。そして、ステップST36で、処理を終了する。
次に、図1に示す画像信号処理装置100の動作を説明する。
例えばDVDプレーヤから出力される画像信号、テレビチューナから出力される画像信号等が、入力画像信号SVinとして入力端子101に入力される。この入力画像信号SVinは、画像保存部102および文字抽出部103に供給される。画像保存部102では、入力画像信号SVinが、そのまま一時的に保存される。
文字抽出部103では、入力画像信号SVinから、字幕、テロップ等の文字部分の画像信号を抽出するための文字抽出情報CSIが取得される。すなわち、この文字抽出部103では、入力画像信号SVinから字幕、テロップ等の文字部分が含まれている文字部部分領域が抽出され、さらにその文字部分領域を構成する各画素が文字部分の画素であるか否かが判定され、その判定結果が上述した文字抽出情報CSIとして出力される。この文字抽出情報CSIは、拡大・縮小部104に供給される。なお、拡大・縮小部104には、文字抽出部103を通じて、文字抽出情報CSIが得られたフレームの画像信号も供給される。
拡大・縮小部104では、文字抽出情報CSIに基づいて入力画像信号SVinから抽出された抽出領域の画像信号に対し、画像サイズの拡大または縮小の処理が行われる。すなわち、拡大・縮小部104では、文字抽出情報CSIに基づいて画像サイズの拡大または縮小の処理を行う抽出領域が指定され、この抽出領域の画像信号を構成する複数の画素データのうち、文字部分以外(背景)の画素データの値が所定値、例えば0とする背景処理が行われ、さらに背景処理後の抽出領域の画像信号に対して、画像サイズの拡大または縮小の処理が行われて、処理後の文字部分の画像信号SVcが得られる。
拡大・縮小部104では、例えば、画像サイズの拡大または縮小の処理が、クラス分類適応処理により行われる。また、この拡大・縮小部104では、倍率情報入力部105から入力される、画像サイズの拡大または縮小の倍率情報MGに基づいて、画像サイズの拡大または縮小の処理が行われる。ユーザは、倍率情報入力部105を操作して、この倍率情報MGで示される倍率を任意に変更できる。
画像合成部106では、画像保存部102に保存されている入力画像信号SVinに、拡大・縮小部104で処理されて得られた文字部分の画像信号SVcが合成されて出力画像信号SVoutが得られる。すなわち、この画像合成部106では、例えば文字部分の画像信号SVcを構成する各画素データが画像メモリの表示位置に対応したアドレスに書き込まれ、画像メモリのその他のアドレスに、入力画像信号SVinを構成する画素データが書き込まれ、そしてこの画像メモリから出力画像信号SVoutを構成する画素データが読み出される。
この画像合成部106では、表示位置入力部107から入力される、表示位置情報DPに基づいて、入力画像信号SVinに対する文字部分の画像信号SVcの合成位置、つまり文字部分の画面上における表示位置が決定される。ユーザは、表示位置入力部107を操作して、表示位置情報DPで示される表示位置を任意に変更できる。
画像合成部106から出力される出力画像信号SVoutは、出力端子108に出力される。この出力画像信号SVoutをディスプレイ(図示せず)に供給し、この出力画像信号SVoutによる画像を表示した場合、その画像はユーザの選択する表示位置に、ユーザが指定した倍率で文字部分が拡大または縮小されて表示されたものとなる。
図35のフローチャートは、画像信号処理装置100の処理手順を示している。まず、ステップST41で、処理を開始し、ステップST42で、入力画像信号SVinを保存する。
次に、ステップST43で、入力画像信号SVinから、文字部分の画像信号を抽出するための文字抽出情報CSIを取得する。そして、ステップST44で、文字抽出情報CSIに基づいて、抽出領域の画像信号に対し、倍率情報MGに基づいて、画像サイズの拡大または縮小の処理を行う。
次に、ステップST45で、保存されている入力画像信号SVinに、表示位置情報DPに基づいて、拡大または縮小処理された文字部分の画像信号SVcを合成して、出力画像信号SVoutを取得する。そして、ステップST46で、処理を終了する。
上述したように、図1に示す画像信号処理装置100においては、入力画像信号SVinから文字部分の画像信号を抽出して画像サイズの拡大または縮小の処理を行うと共に、処理後の画像信号SVcを入力画像信号SVinに合成して出力画像信号SVoutを得るものであり、字幕、テロップ等の文字部分を拡大あるいは縮小して表示できる。
また、図1に示す画像信号処理装置100においては、倍率情報入力部105で入力された倍率情報MGに基づいて、画像サイズの拡大または縮小の処理が行われるものであり、ユーザは、倍率情報入力部105を操作して、字幕、テロップ等の文字部分を任意の倍率で拡大または縮小して見ることができる。したがって、ユーザは、図36に示すように、制作者側で決められたサイズにとらわれず、文字部分を自由にサイズを変えて見ることができる。
また、図1に示す画像信号処理装置100においては、表示位置入力部107で入力された表示位置情報DPに基づいて、入力画像信号SVinに、拡大または縮小の処理がされた文字部分の画像信号SVcが合成されるものであり、ユーザは、表示位置入力部107を操作して、字幕、テロップ等の文字部分を任意の画面位置に表示して見ることができる。
次に、この発明の他の実施の形態を説明する。図37は、この発明の他の実施の形態としての画像信号処理装置100Aの構成を示している。この図37において、図1と対応する部分には、同一符号を付し、その詳細説明は省略する。
この画像信号処理装置100Aは、ログデータ記憶部109を有している。このログデータ記憶部109は、拡大・縮小部104の動作に関連する履歴情報を格納する。例えば、この履歴情報は、拡大・縮小の処理を行う対象である、入力画像信号SVinの抽出領域の画像信号、その抽出領域の画像信号に対応した処理後の画像信号SVc、ユーザにより指定される倍率(倍率情報MG)とその頻度、クラスタップのデータとしての複数の画素データとそれに対応したクラスコード等である。
図37に示す画像信号処理装置100Aにおけるその他は、図1に示す画像信号処理装置100と同様に構成される。この画像信号処理装置100Aの動作は、ログデータ記憶部109に、拡大・縮小部104の動作に関連する履歴情報を格納することを除き、図1に示す画像信号処理装置100と同様であるので、その説明は省略する。
この画像信号処理装置100Aにおけるように、ログデータ記憶部109に、入力画像信号SVinの抽出領域の画像信号と、倍率およびその頻度と、その抽出領域の画像信号に対応した処理後の画像信号SVcとを履歴情報として格納することで、ユーザがどのような種類の文字部分の画像信号を、どのような倍率、どのくらいの頻度で拡大や縮小し、またその結果としての画像信号SVcがどの程度の性能で出力されているかを知ることができる。
また、ログデータ記憶部109に、入力画像信号SVinの抽出領域の画像信号から抽出される、クラスタップのデータとしての複数の画素データとそれに対応したクラスコードを格納することで、クラス分類として最適なものとなっているか検証することができる。
図38は、クラスタップのデータのモデル図を示している。クラスタップのデータとしての4個の画素データのデータ値を表した波形1と波形2があったとする。その際、上述した1ビットADRCによるクラスコードを導出した場合、波形1と波形2は同じ波形として扱われる。
しかし、実際には、異なる波形であるので、クラス分類適応処理による拡大または縮小の処理性能が低下するおそれがある。そこで、上述したように、クラスタップのデータとしての複数の画素データとそれに対応したクラスコードをログデータ記憶部109に格納することで、波形1と波形2とを別の波形として扱ってクラス分類適応処理による拡大または縮小の処理性能をあげるアップデートにつなげることができる。
図39は、図23のクラス分類適応処理部163の処理本体部201におけるクラス検出部206の構成例を示している。このクラス検出部206は、1ビットADRCによりクラスコードCLを生成する。このクラス検出部206は、係数メモリ206aと、コア処理部206bとを有している。係数メモリ206aは、しきい値を決定する係数データaを記憶する。
コア処理部206bは、係数メモリ206aに記憶されている係数データaを用いてしきい値thaを決定し、このしきい値thaを用いてクラスタップのデータとしての複数の画素データのそれぞれにおける、複数の画素データの最小値minとの差分値を2値化し、クラスコードCLを取得する。この場合、クラスタップのデータとしての複数の画素データの最小値min、最大値maxと、係数データaとを用い、しきい値thaは、(10)式で算出される。
tha=a(max−min)/2 ・・・(10)
上述した図38に示すように、クラスタップのデータとしての複数の画素データの波形(レベルパターン)があまりにも異なるのに同一のクラスコードCLが得られるケースが多い場合には、そのようなケースが少なくなるように係数データaの値を調整することで、クラス分類適応処理による画像サイズの拡大・縮小の処理の機能向上を図ることができる。この場合例えば、アップデートの際に、係数メモリ206aが、調整された係数データaが記憶された新たな係数メモリ206aに置き換えられる。
なお、図23のクラス分類適応処理部163の処理本体部201におけるクラス検出部206を図39のように構成する場合、図31に示す係数種データ生成装置250におけるクラス検出部255も同様に構成し、係数データaの値を同じ値として、処理本体部201におけるROM208に格納される係数種データwi0〜wi9を生成する。
また、ログデータ記憶部109に、倍率とその頻度のデータを格納することで、例えば、ユーザが特定の倍率のみを選択している場合には、係数種データを学習で得る際に、その倍率に対応した学習データのみを多く使用することで、係数種データの精度を上げ、拡大・処理部104における画像サイズの拡大・縮小の処理機能を向上させることができる。
なお、上述実施の形態を実現するためには、適当なハードウェアを必要とするものの、その多くはソフトウェアによって実現できる。つまり、上述実施の形態は、システムまたは各部のコンピュータ(CPUあるいはMPU)に、上述実施の形態を実現するためのプログラムを供給し、このプログラムに従ってシステムまたは各装置のコンピュータが各種デバイスを動作させることで、上述実施の形態を実現できる。プログラムを記憶するコンピュータ読み取り可能な媒体としては、フロッピー(登録商標)ディスク、光磁気ディスク、光ディスク、不揮発性メモリカード、ROM等を用いることができる。
100,100A・・・画像信号処理装置、101・・・入力端子、102・・・画像保存部、103・・・文字抽出部、104・・・拡大・縮小部、105・・・倍率情報入力部、106・・・画像合成部、107・・・表示位置入力部、108・・・出力端子、109・・・ログデータ記憶部、110・・・文字領域の判定部、111・・・文字部分領域抽出部、112・・・均一レベル領域検出回路、113・・・高周波領域検出回路、114・・・無変化領域検出回路、115・・・抽出回路、116・・・画像蓄積部、117〜121・・・フレームメモリ、150・・・文字画素(文字部分である画素)の判定部、161・・・領域指定部、162・・・背景処理部、163・・・クラス分類適応処理部、201・・・処理本体部、202・・・制御部、203,210・・・バッファメモリ、204・・・予測タップ選択部、205・・・クラスタップ選択部、206・・・クラス検出部、206a・・・係数メモリ、206b・・・コア処理部、207・・・係数データ生成部、208・・・ROM、209・・・推定予測演算部、250・・・係数種データ生成装置