動画像を具現する用途に従来から主として用いられてきた陰極線管(CRT:Cathode Ray Tube)に対して、LCD(Liquid Crystal Display)は、動きのある画像を表示した場合に、観る者には動き部分の輪郭がぼけて知覚されてしまうという、所謂、動きぼけの欠点がある。この動きぼけは、LCDの表示方式そのものに起因することが指摘されている(例えば、特許文献1、非特許文献1参照)。
電子ビームを走査して蛍光体を発光させて表示を行うCRTでは、各画素の発光は蛍光体の若干の残光はあるものの概ねインパルス状になる。これをインパルス型表示方式という。一方、LCDでは、液晶に電界を印加することにより蓄えられた電荷が、次に電界が印加されるまで比較的高い割合で保持される。特に、TFT方式の場合、画素を構成するドット毎にTFTスイッチが設けられており、さらに通常は各画素に補助容量が設けられており、蓄えられた電荷の保持能力が極めて高い。このため、画素が次のフレームあるいはフィールド(以下、フレームで代表する)の画像情報に基づく電界印加により書き換えられるまで発光し続ける。これをホールド型表示方式という。
上記のようなホールド型表示方式においては、画像表示光のインパルス応答が時間的な広がりを持つため、時間周波数特性が劣化して、それに伴い空間周波数特性も低下し、動きぼけが生じる。すなわち、人の視線は動くものに対して滑らかに追従するため、ホールド型のように発光時間が長いと、時間積分効果により画像の動きがぎくしゃくして不自然に見えてしまう。
上記のホールド型表示方式における動きぼけを改善するために、フレーム間に画像を内挿することにより、フレームレート(フレーム数)を変換する技術が知られている。この技術は、FRC(Frame Rate Converter)と呼ばれ、液晶表示装置等において実用化されている。
従来、フレームレートを変換する方法には、単に同一フレームの複数回繰り返し読み出しや、フレーム間の直線内挿(線形補間)によるフレーム内挿などの各種の手法がある(例えば、非特許文献2参照)。しかしながら、線形補間によるフレーム内挿処理の場合、フレームレート変換に伴う動きの不自然さ(ジャーキネス、ジャダー)が発生するとともに、上述したホールド型表示方式に起因する動きぼけ妨害を十分に改善することはできず、画質的には不十分なものであった。
そこで、上記ジャーキネスの影響等をなくして動画質を改善するために、動きベクトルを用いた動き補償処理が提案されている。この動き補償処理によれば、動画像そのものをとらえて動き補償するため、解像度の劣化がなく、また、ジャーキネスの発生もなく、極めて自然な動画を得ることができる。さらに、内挿画像信号は動き補償して形成されるので、上述したホールド型表示方式に起因する動きぼけ妨害を十分に改善することが可能となる。
前述の特許文献1には、動き適応的に内挿フレームを生成することにより、表示画像のフレーム周波数を上げて、動きぼけの原因となる空間周波数特性の低下を改善するための技術が開示されている。これは、表示画像のフレーム間に内挿する少なくとも1つの内挿画像信号を、前後のフレームから動き適応的に形成し、形成した内挿画像信号をフレーム間に内挿して順次表示するようにしている。
図15は、従来の液晶表示装置におけるFRC駆動表示回路の概略構成を示すブロック図で、図中、FRC駆動表示回路は、入力画像信号のフレーム間に動き補償処理を施した画像信号を内挿することにより入力画像信号のフレーム数を変換するFRC部100と、液晶層と該液晶層に走査信号及びデータ信号を印加するための電極とを有するアクティブマトリクス型の液晶表示パネル103と、FRC部100によりフレームレート変換された画像信号に基づいて液晶表示パネル103の走査電極及びデータ電極を駆動するための電極駆動部104と、を備えて構成される。
FRC部100は、入力画像信号から動きベクトル情報を検出する動きベクトル検出部101と、動きベクトル検出部101により得られた動きベクトル情報に基づいて内挿フレームを生成する内挿フレーム生成部102とを備える。
上記構成において、動きベクトル検出部101は、例えば、後述するブロックマッチング法や勾配法などを用いて動きベクトル情報を求めてもよいし、入力画像信号に何らかの形で動きベクトル情報が含まれている場合、これを利用してもよい。例えば、MPEG方式を用いて圧縮符号化された画像データには、符号化時に算出された動画像の動きベクトル情報が含まれており、この動きベクトル情報を取得する構成としてもよい。
図16は、図15に示した従来のFRC駆動表示回路によるフレームレート変換処理を説明するための図である。FRC部100は、動きベクトル検出部101より出力された動きベクトル情報を用いた動き補償により、フレーム間の内挿フレーム(図中グレーに色付けされた画像)を生成し、この生成された内挿フレーム信号を入力フレーム信号とともに、順次出力することで、入力画像信号のフレームレートを例えば毎秒60フレーム(60Hz)から毎秒120フレーム(120Hz)に変換する処理を行う。
図17は、動きベクトル検出部101及び内挿フレーム生成部102による内挿フレーム生成処理について説明するための図である。動きベクトル検出部101は、図17に示した例えばフレーム#1とフレーム#2から勾配法等により動きベクトル105を検出する。すなわち、動きベクトル検出部101は、フレーム#1とフレーム#2の1/60秒間に、どの方向にどれだけ動いたかを測定することにより動きベクトル105を求める。次に、内挿フレーム生成部102は、求めた動きベクトル105を用いて、フレーム#1とフレーム#2間に内挿ベクトル106を割り付ける。この内挿ベクトル106に基づいてフレーム#1の位置から1/120秒後の位置まで対象(ここでは自動車)を動かすことにより、内挿フレーム107を生成する。
このように、動きベクトル情報を用いて動き補償フレーム内挿処理を行い、表示フレーム周波数を上げることで、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のテロップ出現頻度が高いことがわかる。すなわち、スクロールするテロップはテレビ番組の中では一般的な被写体に比べてより速い速度で動く場合が多い。
特許第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
以下、添付図面を参照しながら本発明の好適な画像表示装置の実施の形態について詳細に説明するが、上述した従来例と同一部分には同一符号を付し、その説明は省略する。なお、本発明は、フィールド信号及び内挿フィールド信号、フレーム信号及び内挿フレーム信号のいずれに対しても適用できるものであるが、両者(フィールドとフレーム)は互いに類似の関係にあるため、フレーム信号及び内挿フレーム信号を代表例として説明するものとする。
(1)全体構成およびテロップ情報の利用方法
図1は、本発明の画像表示装置が備える動きベクトル検出部の一例を示す機能ブロック図で、図15に示した画像表示装置の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では、入力画像信号に含まれるテロップの特徴量(テロップ情報)として、例えば画面中のどの動き検出ブロックがテロップに該当するかを示すテロップ領域情報と、テロップの移動速度/方向を示すテロップベクトル情報とが検出される。もし画面中にテロップが複数存在する場合は、そのそれぞれについて、テロップ領域情報とテロップベクトル情報とを検出するようにしても良い。このテロップ情報検出部5の詳細については後述する。
また、ここでは、動きベクトル演算部3における演算方法として反復勾配法を用いた例について説明するが、この反復勾配法に限定されず、ブロックマッチング法などを用いてもよい。
更に詳細に説明すると、図1に示す動きベクトル検出部101は、前述のように、初期変位ベクトル選択部2と、動きベクトル演算部3と、ベクトルメモリ4と、テロップ情報検出部5とを含んで構成されている。初期変位ベクトル選択部2及び動きベクトル演算部3には、それぞれ、現フレーム信号とフレーム遅延部1を介して1フレーム分遅延させた前フレーム信号とが供給されている。
初期変位ベクトル選択部2は、前フレームの動きベクトル演算で求められた既検出動きベクトルの中から被検出ブロックの動きに最もふさわしい値、例えば被検出ブロックの動きに最も近い値の動きベクトルを、勾配法演算の起点となる初期変位ベクトルとして選択する選択回路であり、前述した候補ベクトル群とテロップベクトルとの中から適切な動きベクトルを選択するものである。初期変位ベクトル選択部2では、例えば前述のように前フレーム信号をm画素×nラインのブロックに分割し、分割されたそれぞれのブロック毎に初期変位ベクトルを選択する基準として、現フレーム信号と前フレーム信号とを利用する。
初期変位ベクトル選択部2は、例えば図2に示すように、座標変換部2aと減算部2bと、絶対値累積部2cと、選択部2dと、テロップベクトル追加判定部2eとを有している。初期変位ベクトル選択部2では、ベクトルメモリ4から順次読み出された被検出ブロックに対応するブロックの周辺8ブロックの動きベクトル、すなわち候補ベクトル群と、テロップ情報検出部5から出力された1つ以上のテロップベクトルおよびテロップ領域情報と、前フレーム信号と、現フレーム信号とが入力される。
テロップベクトル追加判定部2eでは、1つ以上のテロップベクトルおよびテロップ領域情報を入力し、処理中のブロックがあるテロップ領域に該当する場合に、該テロップ領域におけるテロップベクトルを座標変換部2aに出力する。また、処理中のブロックが複数のテロップ領域に該当する場合は、該複数のテロップ領域それぞれにおけるテロップベクトル、すなわち複数のテロップベクトルを座標変換部2aに出力する。
各候補ベクトル群の各動きベクトルおよびテロップベクトル追加判定部2eから出力された1つ以上のテロップベクトルが、初期変位ベクトルの候補となる。該初期変位ベクトルの候補はそれぞれの座標変換部2aに供給されて、フレーム遅延部1から供給される前フレーム信号の対象ブロックをその動きベクトルにて変位させて、現フレームへの座標変換を行ない、該座標変換結果が、それぞれの減算部2bに供給される。
尚、本実施形態においては、候補ベクトル群は、被検出ブロックの周囲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で使用する方法について説明したが、いずれか片方の情報のみを用いる構成としても構わない。例えばテロップ領域の情報のみを用いる構成の例について、図3を用いて説明する。この構成では、テロップベクトルは入力しないため、図2におけるテロップベクトル追加判定部2eを除外している。本例では、選択部2dにおいて、絶対値累計部2cの出力に対し、処理中のブロックがテロップ領域以外の場合は全画面の平均ベクトルあるいは0ベクトルを優先させる重み付けを行い、処理中のブロックがテロップ領域の場合はそのような重み付けを行わない。このような処理を行うことで、テロップ領域では相対的に速いベクトルも選ばれやすくなる。すなわち動きの速いテロップに対応したベクトルが選ばれやすくなる。
また、例えばテロップベクトルの情報のみを用いる構成の例について、図4を用いて説明する。この構成では、テロップ領域情報を入力しない。このため、図2におけるテロップベクトル追加判定部2eも不要となり、全てのブロックに対して初期変位ベクトルの候補にテロップベクトルを加える。テロップの存在するブロックに対する初期変位ベクトル候補の中に、テロップベクトルと同じ或いは近いベクトルが存在するかどうかは、前フレームでのベクトル検出状況に依存しており、確実ではない。従って、別途テロップベクトルを候補として与えることで、より適切な初期変位ベクトルを選択する可能性を向上させることが可能である。
さらに、前述したようなテロップ領域情報、テロップベクトル情報の利用方法の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回の反復勾配法の場合、図5に示すように、初期変位ベクトルをV0として、1回目の変位分V1及び2回目の変位分V2を求めて、それらをベクトル加算した動きベクトルVを、次の式(3)により求める。
式(3)により、図6に示すように、前フレームにて座標(m1,n1)のブロックに存在していた画像が、現フレームにおいて座標(m1+α0,n1+β0)の座標位置のブロックに移動した際に、その動き量が、ベクトルVとして求められる。ここで、図6は、1フレーム前の前フレームと現フレームとの間で移動した画像の動きベクトルVを具体的に説明するための模式図である。
このようにして、図1における動きベクトル演算部3で求められた動きベクトルVは、ベクトルメモリ4に蓄積され、次のフレーム以降の動きベクトル算出のために用いる初期変位ベクトル選択用の候補ベクトルとして利用される。
以上のように、画面全体の動き特徴を抽出し、画面全体の動き特徴に基づいて補償した初期変位ベクトルを適用することにより、初期変位ベクトルの誤検出を防ぎ、例えば2回程度の少ない反復勾配法による演算回数で、現フレーム信号のブロック毎の真の動きベクトルを正しく算出することが可能になる。
ここで、動きベクトル演算部3にはテロップ情報検出部5からの1つ以上のテロップ領域情報が入力されており、被検出ブロックがテロップ領域に該当する場合に、特別な処理を行っても良い。例えば、テロップベクトルの方向が水平方向であった場合、x値のみで反復勾配法を実施し、最終的に得られる動きベクトルを水平方向の動きに限定しても良い。あるいは、テロップベクトルの方向が垂直方向であった場合、y値のみで反復勾配法を実施し、最終的に得られる動きベクトルを垂直方向の動きに限定しても良い。これは、テロップベクトルの方向に従って演算を行うことで、テロップの動きにより追従させやすくするためである。
尚、上記の説明では、動きベクトル演算部3における動きベクトルの算出方法としては、1乃至複数回の勾配法演算を用いる反復勾配法を採用しているが、これに限るものではなく、パターンマッチング法やその他の演算方法を用いても良い。
ベクトルメモリ4は、各ブロック毎に既に検出された少なくとも1フレーム分の動きベクトルを蓄積するRAM(Random Access Memory)などを含む記憶部であり、その入力端子が動きベクトル演算部3の出力端子に接続されていて、例えば8画素×8ラインに分割された各ブロックの位置に応じたアドレスに、動きベクトル演算部3にて該当ブロックで検出された動きベクトルを順次更新して蓄積するように構成されている。
上述の手順により、動きベクトル検出部101から各ブロック毎の動きベクトル検出結果が出力される。
そして、内挿フレーム生成部102では、各ブロック毎の動きベクトル検出結果を用いて、内挿画像を生成する。この時、画面の全領域において動きベクトルを用いた内挿画像生成を行っても良いし、また、テロップ領域では動きベクトルを用いた内挿画像生成を行い、その他の領域では動きベクトルを用いた内挿画像生成を行わず、例えば前フレーム或いは後フレームと同じ画像を繰り返し出力するようにしても良い。
すなわち、テロップが検出されていない時は、画面全体にわたって動き補償処理を行わず、テロップが検出されている時は、テロップ領域に対してのみ動き補償処理を行い、それ以外の領域に対しては動き補償処理を行わないようにしても良い。
前述のように、通常カメラによって撮影された被写体は、その動きが速い場合にはカメラの光蓄積時間に起因するボケ(カメラボケ)を含む。元々存在するカメラボケが多ければ、FRCによって動きボケを低減したとしてもその効果はわかりにくい。これに対して、テロップは後から画像合成されたものであるため、その動きが速くてもカメラボケなどは含まれず、FRCによる動きボケ改善効果が高い。よって、テロップ領域のみで動き補償処理を行うだけでも、視覚的には大きな改善効果を得ることができ、且つ、内挿画像生成処理をテロップ領域のみに限定することで、内挿画像を生成するための処理量を削減することができる。
また、このようにテロップ領域のみに対して動き補償による内挿画像生成を行った場合、テロップ領域とそれ以外の領域との境界において動き補償処理の有無が明らかに画像に現れて目立つ場合がある。これを軽減するために、テロップ領域とそれ以外の領域との境界部分に対してはローパスフィルタをかける等のフィルタ処理を行うことにより、動き補償処理の強度を連続的に変化させて境界が目立つのを抑制することが望ましい。
ここで、動き補償内挿処理を施さないテロップ領域以外の領域に対しては、上述したとおり、動き補償内挿処理を行うのではなく、同一フレームの画像信号を高速連続出力して、すなわち、入力画像信号のフレーム間に、該フレームの画像信号を挿入することにより、フレームレート変換するようにしても良いし、或いは、前後フレームから線形補間処理により生成した画像を内挿して、すなわち、入力画像信号のフレーム間に、線形補間処理を施した画像信号を内挿することにより、フレームレート変換するようにしても良い。尚、線形補間処理とは、前後フレームの画像信号から、フレーム内挿比αによる線形補間により内挿フレームを得るものである。
(2)テロップ情報検出方法の例
上述のとおり、テロップ情報検出部5では、ベクトルメモリ4に蓄積された前フレームの動きベクトル演算で求められた既検出動きベクトルを用いて、テロップ情報を検出する。このテロップ情報検出部5の具体的な実現方法の一例について、以下詳細に説明する。
テロップ検出に使える情報は、ベクトルメモリ4に蓄積された各動き検出ブロックの動きベクトルと、各動き検出ブロックのテクスチャの情報のみである。このうち、テロップの色は様々であるため、テクスチャの情報は補助的にしか使えない。このため、各動き検出ブロックの動きベクトルの情報から、テロップ領域情報とテロップベクトル情報とを検出することが必要となる。
また、映像の中には、テロップ以外にも例えば人物や自動車などの様々な動いているオブジェクトが存在する。カメラのパンによって画面全体が相対的に動いている場合もある。このため、例えば動きの速い領域がテロップ領域であるといったような単純な判定、すなわち動きベクトルの絶対量からテロップか否かを判定することは困難である。
このため、本実施形態においては、画面全体の平均ベクトルと各動き検出ブロックの動きベクトルの差分量、動きベクトルの平均偏差といった、統計的な情報を用いてテロップ領域とテロップ速度とを検出する。
図7は、画像をベクトル検出のためのブロックに分解した様子を示している。画像全体の大きさは、幅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))とする。
ここで、テロップは水平方向に動くものが多いため、本実施形態では、水平方向に動くテロップを検出対象とする。水平方向に動くテロップは、図8に示すように、画面上では横長の帯状の領域に位置することになる。そこで、図9に示すように、画面を横長の帯状の領域L(1)からL(n)のn個に分割し、それぞれの領域がテロップを含むか否かを判定する。
帯状領域L(j)は、図7における動き検出ブロックB(1,j)からB(m,j)を含む。L(j)に含まれる動き検出ブロックの動きベクトルの平均ベクトルを、(Vave_x(j),Vave_y(j))とすると、
である。
また、全動き検出ブロックの動きベクトルの平均ベクトル(全体平均ベクトル)を、(Vave_x,Vave_y)とすると、
である。
さてここで、図10に示すように、画面をテロップが含まれる領域とそれ以外の領域とに分けて考える。画面の高さを1とした場合のテロップ領域の高さをkとする。ただし、テロップ領域が画面の半分を超えることは無いと仮定する。すなわち、
と仮定する。また、テロップ以外の領域の高さは1−kとなる。なお、テロップ以外の領域がテロップ領域によって2つ以上に分割されているときは、それぞれの高さを加えるものとする。
次に、テロップ領域に含まれる動き検出ブロックの動きベクトルの平均を(Vt_x,Vt_y)、テロップ以外の領域(本願明細書では背景領域と呼ぶ)に含まれる動き検出ブロックの動きベクトルの平均を(Vb_x,Vb_y)とすると、テロップ領域の平均ベクトル、テロップ以外の領域の平均ベクトル、および画面全体の平均ベクトルとの間には、
という関係が成り立つ。
実際は、テロップ領域内の全てのブロックがテロップの移動速度と同一の動きベクトルを持つとは限らない。例えばテロップの文字が途切れている部分のブロックは、テロップの移動速度以外の動きベクトルを持つ。しかしながら、本実施形態では、テロップ領域内のブロックは全てテロップの移動速度を持つとひとまず仮定し、以下の説明を進める。この仮定については後述する。
本実施形態においては、水平方向に動くテロップを検出対象としているため、以下では各平均ベクトルについても水平方向の値、すなわちベクトルのx値に注目して説明を進める。
式(9)におけるテロップ領域の平均ベクトルVt_x、テロップ以外の領域の平均ベクトルVb_x、および全体平均ベクトルVave_xの関係を図示すると、図11、図12に示すようになる。
図11は、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との間の距離より小さい。
図12は、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)が常に成り立つ。よって、図11の場合と同様、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を用いて、図9における各帯状領域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を小さくすると、テロップではない領域が誤検出される可能性も増加する。
一方、テロップ領域中でテロップの文字を含まないブロックが少ない場合、例えばテロップの文字が密に存在する場合は、ほぼ上記の検討どおりの動作が期待できる。
このように、実際に適用する際には、どの程度文字が疎なテロップまで検出対象とするか、どの程度の誤検出を許容するかを勘案し、定数αを決定する必要がある。
尚、上記実施形態においては、テロップを水平方向に動くものと仮定してテロップを検出したが、縦方向や斜め方向に動く場合も、同様の手法で検出することが可能である。その場合は、帯状領域の分割の仕方を、検出したい方向に合わせて設定すればよい。例えば縦方向に移動するテロップを検出したい場合は、帯状領域も縦長の領域に設定すれば良い。
次に、画面内に複数のテロップが存在する場合のテロップ情報検出方法について述べる。例えば図13に示すように、画面を上下で2つのテロップ検出領域1、2に分割し、それぞれの領域において前述のテロップ検出方法を実行することで、テロップ領域情報A、テロップベクトル情報Vaとテロップ領域情報B、テロップベクトル情報Vbとの2つのテロップ情報を検出することができる。
あるいは、例えば図14に示すように、水平方向のテロップ検出処理と垂直方向のテロップ検出処理を並列して実行して、水平方向のテロップ領域情報C、テロップベクトル情報Vcと垂直方向のテロップ領域情報D、テロップベクトル情報Vdとの2つのテロップ情報を検出するようにしてもよい。ここで、テロップ領域Cとテロップ領域Dとの共通領域は、前述のベクトル検出手段の説明における、処理中のブロックが複数のテロップ領域に該当する場合、に相当する。
本実施形態によれば、以上のような手順により、1つ以上のテロップ情報を検出することができる。検出されたテロップ情報を用いた処理は、既に上記で述べたとおりである。
なお、前述のテロップ情報検出手段は一例であり、その他の手段を用いてテロップ情報を検出する構成とした場合であっても、本発明における動きベクトル検出方法および内挿画像生成方法に適用することが可能であることは言うまでも無い。
ここで、テロップ情報検出部5への入力として、ベクトルメモリ4に蓄積された各動き検出ブロックの動きベクトルを用いていることに注意が必要である。ベクトルメモリ4に蓄積されている各動き検出ブロックの動きベクトルは、1フレーム前の動きベクトル検出結果である。すなわち、テロップ情報検出部5の処理は、1フレーム前の動きベクトル検出結果を用いて行われている。テロップは通常、複数のフレームに渡って同一の位置に存在するため、上記のように1フレーム前の動きベクトル検出結果を用いても大きな問題にはならない。
以上詳述したとおり、本実施形態に係る動きベクトル検出方法においては、テロップの特徴量としてテロップ領域とテロップベクトルとを検出し、その結果を初期変位ベクトル選択や動きベクトル演算に反映させて動き補償処理を制御することにより、テロップ領域の動きベクトル検出をより正しく行うことが可能となり、その結果、テロップ領域の画質改善を図ることができる。
ところで、入力画像信号において、シーンチェンジ等により連続するフレーム間の相関が途切れる場合がある。この場合は、ベクトルメモリ4に蓄積された1フレーム前の動きベクトル検出結果を参照すると、逆にベクトル誤検出の原因となる。このため、シーンチェンジ等により連続するフレーム間の相関が途切れた場合は、それより前のフレームにおける動きベクトル検出結果をリセットするという方法が、従来より提案されている(例えば特開2000−333134号公報)。
しかしながら、シーンチェンジの存在する画像にスクロールするテロップが重畳されている入力画像信号の場合、前記のようなリセット処理を行うと、テロップの存在する領域の動きベクトルもリセットされ、テロップが滑らかにスクロールする内挿画像が得られなくなる。従って、テロップ領域として検出された領域については、入力画像信号にシーンチェンジが発生した場合であっても、その他の領域とは異なる動き補償処理を行い、テロップが滑らかにスクロールする内挿画像を得られるようにするのが望ましい。
より具体的には、シーンチェンジが発生した場合であっても、テロップ領域に対しては上記のような動きベクトル検出結果のリセット処理を行わず、継続してベクトル検出処理を続けることで、シーンチェンジが発生した場合もテロップが滑らかにスクロールする内挿画像を得ることが可能になるとともに、テロップ領域以外の領域に対しては、シーンチェンジが発生した場合に上記リセット処理を行い、ベクトルの誤検出を防止することが可能となり、テロップ領域とそれ以外の領域との画質の両立を図ることができる。
本発明の画像表示装置は、表示パネルとして液晶パネルを用いた液晶ディスプレイばかりでなく、有機ELディスプレイ、電気泳動ディスプレイなどのホールド型の表示特性を有する画像表示装置全般に適用することが可能である。また、入力画像信号としては、テレビジョン放送信号に限らず、外部メディアから再生された画像信号など種々の画像信号であってもよいことは言うまでもない。
また、以上の説明においては、本発明の画像処理装置及び方法に関する実施形態の一例について説明したが、これらの説明から、本画像処理方法をコンピュータによりプログラムとして実行する画像処理プログラム、及び、該画像処理プログラムをコンピュータにより読み取り可能な記録媒体に記録したプログラム記録媒体についても容易に理解することができるであろう。