動画像を具現する用途に従来から主として用いられてきた陰極線管(CRT:Cathode Ray Tube)に対して、LCD(Liquid Crystal Display)は、動きのある画像を表示した場合に、観る者には動き部分の輪郭がぼけて知覚されてしまうという、所謂、動きぼけの欠点がある。この動きぼけは、LCDの表示方式そのものに起因することが指摘されている(例えば、特許文献1、非特許文献1参照)。
電子ビームを走査して蛍光体を発光させて表示を行うCRTでは、各画素の発光は蛍光体の若干の残光はあるものの概ねインパルス状になる。これをインパルス型表示方式という。一方、LCDでは、液晶に電界を印加することにより蓄えられた電荷が、次に電界が印加されるまで比較的高い割合で保持される。特に、TFT方式の場合、画素を構成するドット毎にTFTスイッチが設けられており、さらに通常は各画素に補助容量が設けられており、蓄えられた電荷の保持能力が極めて高い。このため、画素が次のフレームあるいはフィールド(以下、フレームで代表する)の画像情報に基づく電界印加により書き換えられるまで発光し続ける。これをホールド型表示方式という。
上記のようなホールド型表示方式においては、画像表示光のインパルス応答が時間的な広がりを持つため、時間周波数特性が劣化して、それに伴い空間周波数特性も低下し、動きぼけが生じる。すなわち、人の視線は動くものに対して滑らかに追従するため、ホールド型のように発光時間が長いと、時間積分効果により画像の動きがぎくしゃくして不自然に見えてしまう。
上記のホールド型表示方式における動きぼけを改善するために、フレーム間に画像を内挿することにより、フレームレート(フレーム数)を変換する技術が知られている。この技術は、FRC(Frame Rate Converter)と呼ばれ、液晶表示装置等において実用化されている。
従来、フレームレートを変換する方法には、単に同一フレームの複数回繰り返し読み出しや、フレーム間の直線内挿(線形補間)によるフレーム内挿などの各種の手法がある(例えば、非特許文献2参照)。しかしながら、線形補間によるフレーム内挿処理の場合、フレームレート変換に伴う動きの不自然さ(ジャーキネス、ジャダー)が発生するとともに、上述したホールド型表示方式に起因する動きぼけ妨害を十分に改善することはできず、画質的には不十分なものであった。
そこで、上記ジャーキネスの影響等をなくして動画質を改善するために、動きベクトルを用いた動き補償処理が提案されている。この動き補償処理によれば、動画像そのものをとらえて動き補償するため、解像度の劣化がなく、また、ジャーキネスの発生もなく、極めて自然な動画を得ることができる。さらに、内挿画像信号は動き補償して形成されるので、上述したホールド型表示方式に起因する動きぼけ妨害を十分に改善することが可能となる。
前述の特許文献1には、動き適応的に内挿フレームを生成することにより、表示画像のフレーム周波数を上げて、動きぼけの原因となる空間周波数特性の低下を改善するための技術が開示されている。これは、表示画像のフレーム間に内挿する少なくとも1つの内挿画像信号を、前後のフレームから動き適応的に形成し、形成した内挿画像信号をフレーム間に内挿して順次表示するようにしている。
図3は、従来の液晶表示装置におけるFRC駆動表示回路の概略構成を示すブロック図で、図中、FRC駆動表示回路は、入力画像信号のフレーム間に動き補償処理を施した画像信号を内挿することにより入力画像信号のフレーム数を変換するFRC部100と、液晶層と該液晶層に走査信号及びデータ信号を印加するための電極とを有するアクティブマトリクス型の液晶表示パネル103と、FRC部100によりフレームレート変換された画像信号に基づいて液晶表示パネル103の走査電極及びデータ電極を駆動するための電極駆動部104と、を備えて構成される。
FRC部100は、入力画像信号から動きベクトル情報を検出する動きベクトル検出部101と、動きベクトル検出部101により得られた動きベクトル情報に基づいて内挿フレームを生成する内挿フレーム生成部102とを備える。
上記構成において、動きベクトル検出部101は、例えば、後述するブロックマッチング法や勾配法などを用いて動きベクトル情報を求めてもよいし、入力画像信号に何らかの形で動きベクトル情報が含まれている場合、これを利用してもよい。例えば、MPEG方式を用いて圧縮符号化された画像データには、符号化時に算出された動画像の動きベクトル情報が含まれており、この動きベクトル情報を取得する構成としてもよい。
このように、動きベクトル情報を用いて動き補償フレーム内挿処理を行い、表示フレーム周波数を上げることで、LCD(ホールド型表示方式)の表示状態を、CRT(インパルス型表示方式)の表示状態に近づけることができ、動画表示の際に生じる動きぼけによる画質劣化を改善することが可能となる。
ここで、上記動き補償フレーム内挿処理においては、動き補償のために動きベクトルの検出が不可欠となる。この動きベクトル検出方法としては、例えば、特許文献2に示された「テレビジョン画像の動き検出方法」や特許文献3に示された「画像動ベクトルの漸近的検出方法」などに記載のパターンマッチング法、または、特許文献4に示された「画像動き量検出方式」や特許文献5に示された「動画像の動き推定における初期偏位方式」などに記載の反復勾配法が、それぞれ提案されている。
特に、後者の反復勾配法による動きベクトル検出方式は、パターンマッチング法に比べて、小型でかつ精度良く、動きベクトルを検出することができる。すなわち、反復勾配法による動きベクトル検出方法は、デジタル化したテレビジョン信号のそれぞれのフレームを、例えば、横方向m画素、縦方向nラインを含むm×n画素の予め定めた所定の大きさのブロックに細分化して、それぞれのブロック毎に、その画面内での信号の勾配及び対応する画面間との信号差分値の物理的な対応などに基づいて、反復的な勾配法演算を施すことにより動き量を推定するものである。
ところで、動画像はフレーム間の相関が高く、また時間軸方向の連続性を持つ。あるフレームにおいて移動している画素あるいはブロックは、それに続くフレーム、あるいはそれより前のフレームにおいても、同様の動き量で移動している場合が多い。例えば、ボールが画面の右から左へと転がっていく様子を撮影した動画像の場合、ボールの領域は、どのフレームでも同様の動き量を持ちながら移動していく。すなわち、連続するフレーム間では、動きベクトルに連続性がある場合が多い。
このことから、前フレームでの動きベクトル検出結果を参照することで、その次のフレームでの動きベクトル検出をより容易に、あるいは、より正確に行うことが可能である。前記特許文献5においては、動き量を推定する際の初期値として、被検出ブロックに該当するブロックを含む周辺の複数のブロックにおいて既に検出されている動きベクトルの候補の中から、該被検出ブロックの動きベクトル検出用として最適なものを初期変位ベクトルとして選択し、該被検出ブロックの真の動きベクトルに近い値から勾配法演算を開始することにより、勾配法演算の演算回数を少なくして、例えば2回の勾配法演算にて真の動きベクトルを検出する方法が提案されている。
また、特許文献6に示された「動きベクトル検出回路」では、動きベクトル検出の精度を更に高めるために、少なくとも1フィールド以上又は1フレーム以上離れた画像信号の各ブロック間で動きの初期変位ベクトルを検出する方法が提案されている。さらに、ブロックマッチング法においても、前フレームでの動きベクトル検出結果を参照して探索順序を変えるなどして、効率的な動きベクトル検出を行うことが考えられる。このように、動きベクトルを検出する際に、既検出の動きベクトルを利用することによって、例えばフレームレート変換のリアルタイム処理が可能になる。
ところで、テレビ番組や映画では、字幕、所謂テロップが画像信号中に含まれることが少なくない。その中には、画面上で文字が水平や垂直方向にスクロール(移動)していくテロップも存在する。非特許文献3によれば、一般的なテレビ番組に含まれる被写体の動き速度は、主に20deg/sec以下に分布し、中でも10deg/sec以下の頻度が高いのに対し、テレビ番組のテロップのスクロール速度は平均13.8deg/sec、最大35.9deg/secで、10〜20deg/secのテロップ出現頻度が高いことがわかる。すなわち、スクロールするテロップはテレビ番組の中では一般的な被写体に比べてより速い速度で動く場合が多い。
通常、動画像においては、オブジェクトの動きが速いほどフレーム間の変化が大きくなり、動きベクトルを正確に推定することが困難になる。すなわち、FRCにおいては動きの速いオブジェクトほど正確に内挿画像を生成することが困難である。上述したように、テレビ番組の中で用いられるテロップは一般的な被写体に比べてより速い速度で動く場合が多いことから、テロップは正確に内挿画像を生成することが困難なオブジェクトといえる。
また、通常、カメラによって撮影された被写体は、その動きが速い場合にはカメラの光蓄積時間に起因するボケ(カメラボケ)を含む。このように元々ボケを含む画像については、もしFRCの動きベクトル検出に失敗して内挿画像に破綻が生じた場合であっても、その破綻は目立ちにくい。これに対して、テロップは後から画像合成されたものであるため、その動きが速くてもカメラボケなどは含まれない。このため、テロップ部分の内挿画像に破綻が生じた場合、その破綻が目立ちやすい。
加えて、視聴者はテロップの内容を読み取ろうとするため、スクロールするテロップを注視して目で追いかける。このため、動きベクトル検出に失敗して内挿画像の破綻がテロップ部分に現れた場合、特に画質劣化が目立ちやすい。
このような課題を解決するものとして、本出願人の出願に係る特願2006−264034号明細書には、動き補償型のフレームレート変換(FRC)処理に起因する、テロップ部分の画質劣化を防止することができる画像表示装置及び方法が記載されている。これについて、以下詳細に説明する。
図4は、この画像表示装置が備える動きベクトル検出部の一例を示す機能ブロック図で、図3に示した画像表示装置のFRC部100中に含まれる動きベクトル検出部101の内部構成を詳しく説明するためのものである。動きベクトル検出部101は、フレーム遅延部1、初期変位ベクトル選択部2、動きベクトル演算部3、ベクトルメモリ4、テロップ情報検出部5を有している。
ここで、動きベクトル検出部101は、フレーム毎に入力する入力画像信号を、予め定めた所定の大きさ、例えばm画素×nライン(m,nは整数)からなる複数のブロックに分割して、分割した各ブロック毎に、フレーム遅延部1にて遅延させた例えば1フレーム前の入力画像信号において対応するブロックとの間における動きの方向及び大きさを表わす動きベクトルを求めるためのものであり、既に検出されて、ベクトルメモリ4に蓄積されている動きベクトルの中から選択した候補ベクトル群と、テロップ情報検出部5によって得られたテロップ情報とを併せ用いて、最適な動きベクトルを被検出ブロックにおける初期変位ベクトルとして選択する初期変位ベクトル選択部2と、該初期変位ベクトルを起点として、前記テロップ情報を用いて、例えば2回の勾配法演算にて該被検出ブロックにおける真の動きベクトルを正しく求める動きベクトル演算部3とを備えている。
ここでは、テロップ情報検出部5によって得られたテロップ情報を、初期変位ベクトル選択部2あるいは動きベクトル演算部3での処理に用いることに特徴がある。初期変位ベクトル選択部2においては、テロップの存在する領域とそれ以外の領域とで異なった処理を行うか、あるいは、テロップの移動速度/方向を考慮して初期変位ベクトルを選択するか、あるいは、その両方を組み合わせて処理を行う。また、動きベクトル演算部3では、テロップの存在する領域に対してはテロップの移動速度/方向を考慮したベクトル演算を行う。このような処理を行うことにより、特にテロップの存在する領域において、より正確な検出ベクトルが得られる。
尚、上記テロップ情報検出部5では、入力画像信号に含まれるテロップの特徴量(テロップ情報)として、例えば画面中のどの動き検出ブロックがテロップに該当するかを示すテロップ領域情報と、テロップの移動速度/方向を示すテロップベクトル情報とが検出される。また、ここでは、動きベクトル演算部3における演算方法として反復勾配法を用いた例について説明するが、この反復勾配法に限定されず、ブロックマッチング法などを用いてもよい。
更に詳細に説明すると、図4に示す動きベクトル検出部101は、前述のように、初期変位ベクトル選択部2と、動きベクトル演算部3と、ベクトルメモリ4と、テロップ情報検出部5とを含んで構成されている。初期変位ベクトル選択部2及び動きベクトル演算部3には、それぞれ、現フレーム信号とフレーム遅延部1を介して1フレーム分遅延させた前フレーム信号とが供給されている。
初期変位ベクトル選択部2は、前フレームの動きベクトル演算で求められた既検出動きベクトルの中から被検出ブロックの動きに最もふさわしい値、例えば被検出ブロックの動きに最も近い値の動きベクトルを、勾配法演算の起点となる初期変位ベクトルとして選択する選択回路であり、前述した候補ベクトル群とテロップベクトルとの中から適切な動きベクトルを選択するものである。初期変位ベクトル選択部2では、例えば前述のように前フレーム信号をm画素×nラインのブロックに分割して、分割されたそれぞれのブロック毎に初期変位ベクトルを選択する基準として、現フレーム信号と前フレーム信号とを利用する。
初期変位ベクトル選択部2は、例えば図5に示すように、座標変換部2aと減算部2bと、絶対値累積部2cと、選択部2dとを有している。初期変位ベクトル選択部2では、ベクトルメモリ4から順次読み出された被検出ブロックに対応するブロックの周辺8ブロックの動きベクトル、すなわち候補ベクトル群と、テロップ情報検出部5から出力されたテロップ情報とが入力されており、テロップベクトルも候補ベクトルとして用いる。
各候補ベクトル群の各動きベクトルが、それぞれの座標変換部2aに供給されて、フレーム遅延部1から供給される前フレーム信号の対象ブロックをその動きベクトルにて変位させて、現フレームへの座標変換を行ない、該座標変換結果が、それぞれの減算部2bに供給される。尚、図5において、テロップベクトルは1つのみ図示したが、複数のテロップベクトルを検出し、それらを候補として入力してももちろん構わない。
また、本例においては、候補ベクトル群は、被検出ブロックの周囲8ブロックで検出された前フレームの動きベクトルを、被検出ブロックの初期変位ベクトル選択用の候補ベクトル群としているが、これらの候補ベクトル群は、かかる例のみに限られるものではなく、その他の領域の既検出の動きベクトルから決定するように構成してももちろん構わない。
それぞれの減算部2bでは、座標変換部2aにて座標変換した前フレーム信号と、入力された現フレーム信号との間で減算処理を施して、それぞれの画素毎の差分を算出し、それぞれの差分結果を絶対値累算部2cに供給する。それぞれの絶対値累算部2cでは、それぞれの画素の差分の絶対値を求めて、絶対値化した差分をブロックの画素数分累算し、その累積結果を、候補ベクトルの評価値として選択部2dにそれぞれ出力する。
上記の手順で得られる累積結果は、DFD(Displaced Field Difference)と呼ばれている。DFDとは、算出ベクトル(ここでは、候補ベクトル)の正確さの程度を示す指標であり、DFDの値が小さいほど、前フレームのブロックと現フレームの座標変換されたブロックとのマッチングが良く、対応する候補ベクトルがよりふさわしいことを示す。
次に、各ブロック毎にそれぞれの累積結果(DFD)を受け取った選択部2dは、各ブロックの累積結果(DFD)を比較して、累積結果(DFD)が最小となる候補ベクトル、すなわち最もふさわしいと思われる候補ベクトルを検出して、該候補ベクトルを初期変位ベクトルとして選択し、動きベクトル演算部3に供給する。この時、テロップ情報検出部5からのテロップ領域情報を用いて、被検出ブロックがテロップ領域に該当する場合は、テロップベクトルを優先して選ぶよう処理する。
より具体的には、例えば被検出ブロックがテロップ領域に該当する場合は絶対値累積部2cからの出力値のうち、テロップベクトルに対する累積結果(DFD)を小さくするような重み付けを行う。例えば、テロップベクトルに対する累積結果にw(0<w<1)という係数をかけることで、テロップベクトルに対する累積結果(DFD)の値を小さくする方法を用いることができる。
なお、上述の説明においては、テロップ情報検出部5で検出したテロップ領域情報とテロップベクトル情報との両方を、初期変位ベクトル選択部2で使用する方法について説明したが、いずれか片方の情報のみを用いる構成としても構わない。例えばテロップ領域の情報のみを用いる構成としては、選択部2dにおいて、絶対値累計部2cの出力に対し、テロップ以外の領域では全画面の平均ベクトルあるいは0ベクトルを優先させる重み付けを行い、テロップの領域ではそのような重み付けを行わない構成とすることも可能である。この場合、テロップ領域では相対的に速いベクトルも選ばれやすくなる。
また、例えばテロップベクトルの情報のみを用いる構成としては、全てのブロックに対して初期変位ベクトルの候補にテロップベクトルを加える構成とすることも可能である。テロップの存在するブロックに対する初期変位ベクトル候補の中に、テロップベクトルと同じないしは近いベクトルが存在するかどうかは前フレームでのベクトル検出状況に依存しており、確実ではない。別途テロップベクトルを候補として与えることで、より適切な初期変位ベクトルを選択する可能性を向上させることが可能である。
さらに、前述したようなテロップ領域情報、テロップベクトル情報の利用方法の1つ以上を任意に組み合わせて用いても良いことは言うまでもない。
動きベクトル演算部3では、それぞれのブロック毎に動きベクトルを検出するために現フレーム信号と前フレーム信号とを利用し、初期変位ベクトル選択部2から供給された初期変位ベクトルを起点として、前フレーム信号からの現フレーム信号への真の動きベクトルを、勾配法演算より求める演算回路である。なお、勾配法演算による動きベクトル算出方法については、前述した各特許文献、非特許文献に詳しいので、ここでは特に説明を省略するが、初期変位ベクトルが、本実施形態においてどのように使われるかについて、反復勾配法を例にとって以下に説明する。
例えば、勾配法演算は、初期変位ベクトルV0(α,β)にて前フレーム信号を変位させた座標位置を起点にして、現フレームの動き量を推定した動き変位分V1を、次式(1),(2)に従って求める。
但し、式(1),(2)において、Vxは動きベクトルV0とV1との差のx方向成分、Vyは動きベクトルV0とV1との差のy方向成分である。ここで、Σは、m画素×nライン、例えば8画素×8ラインのブロック領域内の全ての座標について演算して和を求めることを表している。また、ΔXは注目座標における画像輝度のx方向の勾配(x方向の隣接画素との差分値)、ΔYは注目座標における画像輝度のy方向の勾配(y方向の隣接画素との差分値)、DFD(x,y)は前フレームの座標(x,y)と現フレームの座標(x+α,y+β)におけるフレーム間差分値を示すものであり、前述したものと同一の算出方法である。また、sign(ΔX)、sign(ΔY)はそれぞれ、+1,−1,0のいずれかにて表わされる勾配の方向を示す符号である。
例えば、2回の反復勾配法の場合、図6に示すように、初期変位ベクトルをV0として、1回目の変位分V1及び2回目の変位分V2を求めて、それらをベクトル加算した動きベクトルVを、次の式(3)により求める。
式(3)により、図7に示すように、前フレームにて座標(m1,n1)のブロックに存在していた画像が、現フレームにおいて座標(m1+α0,n1+β0)の座標位置のブロックに移動した際に、その動き量が、ベクトルVとして求められる。
このようにして、図4における動きベクトル演算部3で求められた動きベクトルVは、ベクトルメモリ4に蓄積され、次のフレーム以降の動きベクトル算出のために用いる初期変位ベクトル選択用の候補ベクトルとして利用される。
以上のように、画面全体の動き特徴を抽出し、画面全体の動き特徴に基づいて補償した初期変位ベクトルを適用することにより、初期変位ベクトルの誤検出を防ぎ、例えば2回程度の少ない反復勾配法による演算回数で、現フレーム信号のブロック毎の真の動きベクトルを正しく算出することが可能になる。
ここで、動きベクトル演算部3にはテロップ情報検出部5からのテロップ領域情報が入力されており、被検出ブロックがテロップ領域に該当する場合に、特別な処理を行っても良い。例えば、テロップベクトルの方向が水平方向であった場合、x値のみで反復勾配法を実施し、最終的に得られる動きベクトルを水平方向の動きに限定しても良い。あるいは、テロップベクトルの方向が垂直方向であった場合、y値のみで反復勾配法を実施し、最終的に得られる動きベクトルを垂直方向の動きに限定しても良い。これは、テロップベクトルの方向に従って演算を行うことで、テロップの動きにより追従させやすくするためである。
尚、上記の説明では、動きベクトル演算部3における動きベクトルの算出方法としては、1乃至複数回の勾配法演算を用いる反復勾配法を採用しているが、これに限るものではなく、パターンマッチング法やその他の演算方法を用いても良い。
ベクトルメモリ4は、各ブロック毎に既に検出された少なくとも1フレーム分の動きベクトルを蓄積するRAM(Random Access Memory)などを含む記憶部であり、その入力端子が動きベクトル演算部3の出力端子に接続されていて、例えば8画素×8ラインに分割された各ブロックの位置に応じたアドレスに、動きベクトル演算部3にて該当ブロックで検出された動きベクトルを順次更新して蓄積するように構成されている。
テロップ情報検出部5では、ベクトルメモリ4に蓄積された前フレームの動きベクトル演算で求められた既検出動きベクトルを用いて、テロップ情報を検出する。このテロップ情報検出部5の具体的な実現方法の一例について、以下詳細に説明する。
テロップ検出に使える情報は、ベクトルメモリ4に蓄積された各動き検出ブロックの動きベクトルと、各動き検出ブロックのテクスチャの情報のみである。このうち、テロップの色は様々であるため、テクスチャの情報は補助的にしか使えない。このため、各動き検出ブロックの動きベクトルの情報から、テロップ領域情報とテロップベクトル情報とを検出することが必要となる。
また、映像の中には、テロップ以外にも例えば人物や自動車などの様々な動いているオブジェクトが存在する。カメラのパンによって画面全体が相対的に動いている場合もある。このため、例えば動きの速い領域がテロップ領域であるといったような単純な判定、すなわち動きベクトルの絶対量からテロップか否かを判定することは困難である。
このため、ここでは、画面全体の平均ベクトルと各動き検出ブロックの動きベクトルの差分量、動きベクトルの平均偏差といった、統計的な情報を用いてテロップ領域とテロップ速度とを検出する。
図8は、画像をベクトル検出のためのブロックに分解した様子を示している。画像全体の大きさは、幅Waピクセル、高さHaピクセルである。この画像を、幅Wbピクセル、高さHbピクセルの動き検出ブロックで分割すると、ブロック数は横mブロック、縦nブロックである。通常、画像全体のピクセル数は整数のブロック数で割り切れるようにする。すなわち、Wa=Wb×m、Ha=Hb×nである。
例えば、ハイビジョン解像度(Wa=1920ピクセル、Ha=1080ピクセル)の画像で、ブロックの大きさが8×8ピクセルの場合、m=240、n=135となる。各動き検出ブロックをB(i,j)と呼び、各動き検出ブロックで検出された動きベクトルを(V_x(i,j),V_y(i,j))とする。
ここで、テロップは水平方向に動くものが多いため、本例では、水平方向に動くテロップを検出対象とする。水平方向に動くテロップは、図9に示すように、画面上では横長の帯状の領域に位置することになる。そこで、図10に示すように、画面を横長の帯状の領域L(1)からL(n)のn個に分割し、それぞれの領域がテロップを含むか否かを判定する。
帯状領域L(j)は、図8における動き検出ブロックB(1,j)からB(m,j)を含む。L(j)に含まれる動き検出ブロックの動きベクトルの平均ベクトルを、(Vave_x(j),Vave_y(j))とすると、
である。
また、全動き検出ブロックの動きベクトルの平均ベクトル(全体平均ベクトル)を、(Vave_x,Vave_y)とすると、
である。
さてここで、図11に示すように、画面をテロップが含まれる領域とそれ以外の領域とに分けて考える。画面の高さを1とした場合のテロップ領域の高さをkとする。ただし、テロップ領域が画面の半分を超えることは無いと仮定する。すなわち、
と仮定する。また、テロップ以外の領域の高さは1−kとなる。なお、テロップ以外の領域がテロップ領域によって2つに分割されているときは、それぞれの高さを加えるものとする。
次に、テロップ領域に含まれる動き検出ブロックの動きベクトルの平均を(Vt_x,Vt_y)、テロップ以外の領域(本特許では背景領域と呼ぶ)に含まれる動き検出ブロックの動きベクトルの平均を(Vb_x,Vb_y)とすると、テロップ領域の平均ベクトル、テロップ以外の領域の平均ベクトル、および画面全体の平均ベクトルとの間には、
という関係が成り立つ。
実際は、テロップ領域内の全てのブロックがテロップの速度と同一の動きベクトルを持つとは限らない。例えばテロップの文字が途切れている部分のブロックは、テロップの速度以外の動きベクトルを持つ。しかしながら、ここでは、テロップ領域内のブロックは全てテロップの速度を持つとひとまず仮定し、以下の説明を進める。この仮定については後述する。
ここでは、水平方向に動くテロップを検出対象としているため、以下では各平均ベクトルについても水平方向の値、すなわちベクトルのx値に注目して説明を進める。
式(9)におけるテロップ領域の平均ベクトルVt_x、テロップ以外の領域の平均ベクトルVb_x、および全体平均ベクトルVave_xの関係を図示すると、図12、図13に示すようになる。
図12は、Vb_x<Vt_xの場合を図示したものである。Vave_xはVb_xとVt_xとの間に位置し、Vb_xとVave_xとの間の距離と、Vave_xとVt_xとの間の距離との比は、k:1−kになる。この関係は、Vave_x、Vb_x、Vt_xの値の大きさや正負によらず成り立つ。また、式(8)の条件より、
が常に成り立つ。よって、Vb_xとVave_xとの間の距離は、常にVave_xとVt_xとの間の距離より小さい。
図13は、Vt_x<Vb_xの場合を図示したものである。Vave_xはVt_xとVb_xとの間に位置し、Vt_xとVave_xとの間の距離と、Vave_xとVb_xとの間の距離との比は、1−k:kになる。この関係は、Vave_x、Vt_x、Vb_xの値の大きさや正負によらず成り立つ。また、式(8)の条件より式(11)が常に成り立つ。よって、図12の場合と同様、Vt_xとVave_xとの間の距離は、常にVave_xとVb_xの間の距離より小さい。
すなわち、Vb_x<Vt_xの場合でもVt_x<Vb_xの場合でも、Vb_xとVave_xとの間の距離は、常にVave_xとVt_xとの間の距離より小さい。つまり、
が常に成り立つ。
そこで、ある閾値Tを用意し、
となるように定める。この閾値Tを用いて、図10における各帯状領域Ljに含まれる動き検出ブロックの動きベクトルの平均ベクトルx値Vave_x(j)に関して、Vave_x(j)とVave_xとの距離と閾値Tとを比較し、Tより大きければ、その帯状領域Ljはテロップ領域に属する可能性の高い領域であると判定することができる。すなわち、ある帯状領域Ljに関して、
が成り立つと、その帯状領域をテロップ領域と判定する。
ここで問題となるのは、閾値Tをどのように設定するかということである。以下でその方法について説明する。
閾値Tの設定条件は、式(13)に示した通りである。この式(13)から、閾値Tを決めるためには、|Vb_x−Vave_x|と|Vt_x−Vave_x|とに関する情報が必要であることがわかるが、Vt_xとVb_xとを直接求めることはできない。なぜなら、どの領域がテロップ領域であるか、予めわからないからである。
ここで、|Vb_x−Vave_x|と|Vt_x−Vave_x|とはそれぞれ、全体平均ベクトルと背景領域の平均ベクトルとの差分、全体平均ベクトルとテロップ領域との平均ベクトルの差分であり、その値は動きベクトルのばらつき具合と関連が深い。そこで、データのばらつきの尺度の1つである平均偏差を用いて、閾値Tの値を決めることにする。
各帯状領域Ljの平均ベクトルVave_x(j)の平均偏差をMとすると、Mは、
によって算出される。平均偏差Mに定数αをかけ、
と置き、以下のようにして適切な定数αを求める。
まず、Vb_x<Vt_xの場合について考える。この時、平均偏差MをVt_x、Vb_xを用いて表すと、
と表せる。式(17)に式(9)を代入して整理すると、
が得られる。
式(13)および式(16)から、
である。
一方、Vb_x<Vt_xの条件および式(9)から、
が得られる。
式(19)に式(18)、式(20)、式(21)を代入して整理すると、
という条件式が得られる。
尚、詳細な記述は省くが、Vt_x<Vb_xの場合も条件式として式(22)が得られる。
式(22)によって、テロップ領域の高さkを仮定することで、定数αの値を定めることができる。仮に、k=0.2とした場合、式(22)に代入して、
という条件が得られる。定数αをこの範囲内に設定すれば、k=0.2程度のテロップ領域が存在する場合に、それを検出することができる。
また、仮にk=0.4とした場合、同様に式(22)に代入して、
という条件が得られる。すなわち、より大きなテロップ領域が存在する場合まで対応しようとすると、定数αの設定可能範囲は狭くなることがわかる。
以上のように、テロップ領域の高さkの値を仮定することで、定数αの設定可能範囲を導くことができる。実際の映像を解析してテロップ領域の高さkの傾向を求めてkを定め、それによって求まった定数αの設定可能範囲に従って、定数αを定めればよい。
定数αを定め、また式(15)より平均偏差Mを求めれば、式(16)から閾値Tの値を決定することができる。ここで、平均偏差Mは、検出された動きベクトルから算出されることに注意が必要である。すなわち、検出された動きベクトルの状況によって、つまりは映像中のオブジェクトの動きによって、閾値Tの値は毎フレームごとに変わる。
閾値Tの値が求まれば、式(14)に従って、各帯状領域Ljの平均ベクトルのx値Vave_x(j)に対する判定処理を行い、該帯状領域がテロップ領域であるか否かを判定することができる。
さらに、各帯状領域Ljに対して判定を行い、どの帯状領域がテロップ領域であるかが確定すれば、テロップ領域に含まれる動き検出ブロックの動きベクトルの平均(Vt_x,Vt_y)を算出することができる。これがすなわち、テロップベクトルである。
ここで、上述した説明の中で、テロップ領域内のブロックは全てテロップの速度を持つと仮定したことについて考察を加える。実際はテロップ領域内の全てのブロックがテロップの速度と同一の動きベクトルを持つとは限らない。テロップ領域中でテロップの文字を含まないブロックが多いほど、例えばテロップの文字が疎に存在する場合は、テロップ領域の平均ベクトルVt_xは、真のテロップベクトルよりも、全体平均ベクトルVave_xに近い値となる。また同時に、テロップ以外の領域の平均ベクトルVb_xも、全体平均ベクトルVave_xに近い値となる。すなわち、|Vt_x−Vave_x|も|Vb_x−Vave_x|も、値が小さくなる。
このことから、式(13)あるいは式(19)によって設定範囲が制限されている閾値Tの値も小さく設定する、すなわちαの値を小さく設定しなければ、テロップ領域を検出することができなくなる。しかし、閾値Tを小さくすると、テロップではない領域が誤検出される可能性も増加する。
一方、テロップ領域中でテロップの文字を含まないブロックが少ない場合、例えばテロップの文字が密に存在する場合は、ほぼ上記の検討どおりの動作が期待できる。
尚、上記説明においては、テロップを水平方向に動くものと仮定してテロップを検出したが、縦方向や斜め方向に動く場合も、同様の手法で検出することが可能である。その場合は、帯状領域の分割の仕方を、検出したい方向に合わせて設定すればよい。例えば縦方向のテロップを検出したい場合は、帯状領域も縦長の領域に取れば良い。
以上詳述したとおり、特願2006−264034号明細書に記載のものにおいては、面中で所定方向に移動するテロップの特徴量としてテロップ領域とテロップベクトルとを検出し、その結果を初期変位ベクトル選択や動きベクトル演算に反映させて動き補償処理を制御することにより、テロップ領域の動きベクトル検出をより正しく行うことが可能となり、その結果、テロップ領域の画質改善を図ることができる。
特許第3295437号明細書
特開昭55−162683号公報
特開昭55−162684号公報
特開昭60−158786号公報
特開昭62−206980号公報
特開平06−217266号公報
石黒秀一、栗田泰市郎、「8倍速CRTによるホールド発光型ディスプレイの動画質に関する検討」、信学技報、社団法人電子情報通信学会、EID96−4(1996−06)、p.19−26
山内達郎、「テレビジョン方式変換」、テレビジョン学会誌、Vol.45、No.12、pp.1534−1543(1991)
Fujine, et.al., "Real-Life In-Home Viewing Conditions for FPDs and Statistical Characteristics of Broadcast Video", Digest AM-FPD'06
以下、添付図面を参照しながら本発明の好適な画像表示装置の実施の形態について詳細に説明するが、上述した従来例と同一部分には同一符号を付し、その説明は省略する。なお、本発明は、フィールド信号及び内挿フィールド信号、フレーム信号及び内挿フレーム信号のいずれに対しても適用できるものであるが、両者(フィールドとフレーム)は互いに類似の関係にあるため、フレーム信号及び内挿フレーム信号を代表例として説明するものとする。
本発明の画像表示装置は、図4に示した動きベクトル検出部101を備え、この動きベクトル検出部101のテロップ情報検出部5において、テロップを検出するための閾値Tを、入力画像信号に係る番組終了時刻と現在時刻との差に応じて可変することにより、テロップの検出感度の向上と誤検出の防止とを両立して、常にテロップを正確に検出し、動き補償処理をより正確に行うことを主たる目的とする。
なお、本発明は、液晶ディスプレイ、有機ELディスプレイ、電気泳動ディスプレイなどのホールド型の表示特性を有する画像表示装置全般に適用可能であるが、以下の実施形態においては、表示パネルとして液晶表示パネルを用いた液晶テレビジョン受像機に本発明を適用した場合を代表例として説明する。
図1は、本発明の一実施形態に係る液晶テレビジョン受像機の要部構成例を示すブロック図で、液晶テレビジョン受像機は、復調部11、デコーダ12、制御部13、FRC部100、液晶表示パネル103、及び電極駆動部104を備えて構成されている。FRC部100は、動きベクトル検出部101と、内挿フレーム生成部102とを備えており、動きベクトル検出部101は、テロップ情報検出部5を有しており、このテロップ情報検出部5では、入力画像信号に含まれるテロップの領域、動きベクトルが検出され、ここで検出されたテロップに関する情報に基づいて、動き補償処理が制御される。
復調部11は、アンテナANTで受信されたデジタルテレビジョン放送信号に対して選局動作を行った後、デジタル復調処理、誤り訂正処理などを行う。デコーダ12は、放送データから分離抽出された画像データを復号処理して、後段のFRC部100へ出力するとともに、放送データから分離抽出されたEPG(Electronic Program Guide;電子番組ガイド)データを制御部13へ出力する。
制御部13は、デコーダ12からのEPGデータに基づいて、復調部11で選局されているデジタルテレビジョン放送信号に係る番組終了時刻を求め、この番組終了時刻と内蔵時計(図示せず)により計時されている現在時刻との差に応じて、上記テロップ情報検出部5においてテロップを検出するための閾値を可変制御する。
テロップ情報検出部5は、上述したとおり、この閾値Tを用いて、図10における各帯状領域Ljに含まれる動き検出ブロックの動きベクトルの平均ベクトルx値Vave_x(j)に関して、Vave_x(j)とVave_xとの距離と閾値Tとを比較し、Tより大きければ、その帯状領域Ljはテロップ領域に属する領域として判定する。このテロップを検出するための閾値Tの値は、各帯状領域Ljの平均ベクトルVave_x(j)の平均偏差Mに定数αをかけて決定される。
ここで、通常、番組終了時刻に近付くほど、画像信号中にテロップが挿入される可能性が高くなるため、本実施形態においては、現在時刻と番組終了時刻との差が小さいほど、テロップが挿入される可能性が高いため、定数αの値を小さく変化させて、すなわち閾値Tの値を小さくすることにより、テロップの検出感度を向上させるとともに、現在時刻と番組終了時刻との差が大きいほど、テロップが挿入される可能性は低いため、定数αの値を大きくして、すなわち閾値Tの値を大きくすることにより、テロップ以外が誤検出されることを抑制することが可能となる。
このように、表示映像番組の進行時間帯に応じて、テロップを検出するための閾値Tを可変することで、テロップの検出感度の向上と誤検出の防止とを両立して、常にテロップに関する情報を正確に検出することが可能となる。そして、テロップ情報検出部5で検出されたテロップに関する情報に基づいて、FRC部100における動き補償処理を適切に制御する。
例えば、初期変位ベクトル選択部2が、テロップ情報検出部5により検出されたテロップの領域とそれ以外の領域で異なる処理を行うように制御する。具体的には、テロップの領域以外の領域では全画面の平均ベクトルに近い候補ベクトルを優先的に選択するようにしたり、テロップの領域以外の領域では0ベクトルに近い候補ベクトルを優先的に選択するようにする。
また、初期変位ベクトル選択部2が、テロップ情報検出部5により検出されたテロップの領域に該当するブロックに対しては、テロップ情報検出部5により検出されたテロップの動きベクトルを、候補ベクトルに追加して処理するようにしたり、テロップの領域では候補ベクトル中のテロップの動きベクトルが選択されやすいような重み付けを行って初期変位ベクトルの選択処理を行うようにしてもよい。
さらに、動きベクトル演算部3が、テロップ情報検出部5により検出されたテロップの領域に該当するブロックに対しては、テロップ情報検出部5により検出されたテロップの動きベクトルの方向と同一の方向のベクトルが得られるように演算方法を変更するようにしてもよい。
これによって、画面中で所定方向に移動するテロップ部分に対する動き補償処理をより正確に行うことが可能となり、この結果、テロップの存在する領域の画質向上を実現することができる。
図2は、本発明の一実施形態に係る液晶テレビジョン受像機による画像表示方法の一例を説明するためのフロー図である。まず、テロップ情報検出部5により入力画像信号中に含まれるテロップが検出されたかどうかを判定し(ステップS11)、テロップが検出された場合(YESの場合)、このテロップに関する情報に基づいて、テロップの領域に対する動き補償処理を制御する(Sステップ12)。
ステップS11において、テロップが検出されない場合(NOの場合)、視聴中の番組の終了時刻と現在時刻との差が時間t1以下であるかどうかを判定し(Sステップ13)、番組終了時刻と現在時刻との差が時間t1以下である場合(YESの場合)、テロップ情報検出部5においてテロップ検出処理の際に用いる定数αをα1(α1<α)に変化させ(Sステップ14)、ステップS11に戻って、再度テロップの検出処理を行う。
ステップS13において、番組終了時刻と現在時刻との差が時間t1よりい大きい場合(NOの場合)、番組終了時刻と現在時刻との差が時間t2(t2>t1)以下であるかどうかを判定し(Sステップ15)、番組終了時刻と現在時刻との差が時間t2以下である場合(YESの場合)、テロップ情報検出部5においてテロップ検出処理の際に用いる定数αをα2(α2<α、α2>α1)に変化させ(Sステップ16)、ステップS11に戻って、再度テロップの検出処理を行う。
ステップS15において、番組終了時刻と現在時刻との差が時間t2より大きい場合(NOの場合)、入力画像信号にテロップは含まれていない可能性が高く、定数αの値を維持したまま、ステップS11に戻って、再度テロップの検出処理を行う。
以上説明したように、本発明によれば、入力画像信号に係る番組の進行時間帯に応じて、テロップを検出するための閾値を可変することができるので、テロップの検出感度の向上と誤検出の防止とを両立して、常にテロップを正確に検出することが可能となり、表示画像の画質劣化を抑制することができる。
尚、上記一実施形態においては、テロップを検出するための閾値として、通常時に用いる値αから、番組終了時刻が近付くに従ってより小さな値α2、α1へと、3段階に可変するものについて説明したが、これに限らず、本発明は、番組終了時刻と現在時刻との差に応じて、2段階或いは4段階以上でテロップを検出するための閾値を可変するようにしても良いことは言うまでもない。
また、テロップ情報検出部5におけるテロップ検出方法は、上述のものに限らず、本発明は、様々なテロップ検出方法を適用することが可能であり、例えば類似する動きベクトルが一定割合以上含まれる領域をテロップ領域と判定するような手法を用いても良い。この場合、動きベクトルの類似度や、類似する動きベクトルが含まれる割合を、テロップを検出するための閾値として可変制御するようにすれば良い。
このように、どのようなテロップ検出方法を用いた場合であっても、通常はテロップの検出感度を向上させると誤検出を招来する可能性が増大するため、これら相反する技術課題を解決するために、番組終了時刻と現在時刻との差に応じて、テロップを検出するための閾値を可変することは非常に有用である。
さらに、本発明においては、入力画像信号として、テレビジョン放送信号に限らず、外部メディアから再生された画像信号など種々の画像信号であってもよいことは言うまでもない。また、上記一実施形態においては、入力画像信号に係る番組終了時刻を、地上デジタル放送やBS、CSデジタル放送の放送データに重畳して送信されてくるEPGデータの一部に含まれているものを利用して求めるものについて説明したが、これに限られないことは明らかである。
例えば、当該番組の放送時間や残り時間を示す情報が画像データに付加されている場合、これを利用して番組終了時刻を求めるようにしてもよい。また、放送データから分離・取得する場合に限られず、例えば、外部機器(DVD再生機やブルーレイディスク再生機など)で再生された映像情報を表示する場合、メディア媒体内に付加されたコンテンツ内容を表す情報(例えば再生に要する総時間など)を利用して、番組終了時刻を求めるようにしてもよい。さらに、映像番組の総時間などの情報は、入力画像データと同時に入力される場合の他、画像データとは別の経路から入手することも可能である。例えば、XMLTVとはWeb上で公開されているTV番組表を自動的に取得し、XML化して出力するためのアプリケーションであり、これを利用してネットワーク上から表示する映像の番組情報を取得することもできる。
そしてまた、以上の説明においては、本発明の画像表示装置及び方法に関する実施形態の一例について説明したが、これらの説明から、本画像表示方法をコンピュータによりプログラムとして実行する画像表示プログラム、及び、該画像表示プログラムをコンピュータにより読み取り可能な記録媒体に記録したプログラム記録媒体についても容易に理解することができるであろう。