以下、本発明の映像信号処理装置及び方法の各実施形態について、添付図面を参照して説明する。以下詳述する第1,第2,第4,第5実施形態は、映像信号処理装置の一例として、垂直周波数60Hzのフレームレートを120Hzに変換するフレームレート変換装置を示している。第3実施形態は、フレームレートを変換せず、フィルム画像に基づいて生成された映像信号の動きを滑らかにする、いわゆるデジャダ処理を行うデジャダ処理装置を例にしている。映像信号処理装置としては、動きベクトルに基づいて補間画素を生成するものであればよい。フレームレートを4倍またはそれ以上に変換するフレームレート変換装置であってもよい。
<第1実施形態>
図1〜図8を用いて第1実施形態の構成及び動作について説明する。図1において、動きベクトル検出部1及びフレームメモリ2には入力映像信号S0を構成する各画素データが順次入力される。入力映像信号S0の垂直周波数は60Hzである。フレームメモリ2は入力映像信号S0を1フレーム期間遅延させて映像信号(第1の遅延映像信号)S1として出力する。映像信号S1は動きベクトル検出部1,フレームメモリ3,補間画素生成部6内の遅延選択部62に入力される。フレームメモリ3は、映像信号S1を1フレーム期間遅延させて映像信号(第2の遅延映像信号)S2として出力する。映像信号S2は補間画素生成部6内の遅延選択部63に入力される。
動きベクトル検出部1は、入力映像信号S0及び映像信号S1それぞれの所定の水平方向及び垂直方向の複数画素よりなる探索範囲間の画素のレベルを比較して、差分が最も小さい方向を動きベクトルMVとして出力する。動きベクトル検出部1は、複数のラインメモリ及びフリップフロップ等の複数の画素遅延器を含む。動きベクトル検出部1としては公知の構成を採用すればよいので、動きベクトル検出部1の具体的構成は省略する。ここでは隣接する2フレームの複数画素を用いて動きベクトルMVを検出しているが、検出精度を向上させるため3フレーム以上の複数画素を用いて動きベクトルMVを検出してもよい。
動きベクトル検出部1より出力された動きベクトルMVは、度数分布モニタ部4及び補間画素生成部6内の選択制御部61に入力される。図2において、映像信号S1が実フレームf1であり、映像信号S2が実フレームf2であるとする。実フレームf1,f2間に、補間フレームf12を内挿するとする。動きベクトル検出部1は、一例として、実フレームf2の画素を基準として動きベクトルMVを検出する。図2に示すように、実フレームf1上には画素Pf1(-2),Pf1(-1),Pf1(0),Pf1(1),Pf1(2)…が配列しており、実フレームf2上には画素Pf2(-2),Pf2(-1),Pf2(0),Pf2(1),Pf2(2)…が配列している。補間フレームf12の補間画素Pf12(0)を生成する際の動きベクトルMVが図示のようなベクトルであったとする。
図2において、補間画素Pf12(0)を生成するには、実フレームf1上の画素Pf1(-2)と実フレームf2上の画素Pf2(2)との平均を取ればよい。後述する補間画素生成部6は、補間画素を生成する際に、実フレームf2の画素を基準とした動きベクトルMVをそのまま用いない。補間画素生成部6は、動きベクトルMVを、補間画素Pf12(0)を基準とした実フレームf1と補間フレームf12との間の動きベクトルMV/2と、補間画素Pf12(0)を基準とした実フレームf2と補間フレームf12との間の動きベクトル−MV/2とに変換して、動きベクトルMV/2,−MV/2を用いる。
度数分布モニタ部4は、動きベクトルMVを例えばフレーム単位でモニタして、動きベクトルMVの垂直成分がどのような大きさでどのように分布しているかを検出する。例えば、図3のヒストグラムに示すように、動きベクトルMVの垂直成分が取る範囲を一定範囲ずつ区切ってクラスとし、それぞれのクラスの1フレームにおける出現回数を度数とする。図3に示す例は、動きベクトルMVの垂直成分が8〜−8の範囲を取り、2ずつの範囲で区切ってクラスとしている。クラスの数字は、動きベクトルMVの垂直成分である画素数(ライン数)を示している。なお、動きベクトルMVの垂直成分は、映像信号S1の実フレームf1から映像信号S2の実フレームf2を見たときの垂直方向上側に向かう場合を正方向、下側に向かう場合を負方向としている。
1フレーム内で検出した全ての動きベクトルMVに基づいてそれぞれのクラスの出現回数をカウントしてもよいし、動きベクトルMVを間引いて出現回数をカウントしてもよい。なお、1フレーム内の全画素に対してそれぞれ動きベクトルMVを求めてもよいし、複数画素単位で動きベクトルMVを求めてもよい。
度数分布モニタ部4は、図3のようにして求めた度数分布を示すデータSfdをオフセット制御部5に供給する。オフセット制御部5は、図3に示す度数分布の特定のクラスCLspで度数が閾値yを越えた場合に、絶対値が0を超える所定のオフセット量を示すオフセット信号Sos1,Sos2を生成する。オフセット制御部5は、閾値yを越えない場合には、オフセット量0を示すオフセット信号Sos1,Sos2を出力する。オフセット量については後に詳述する。
後述するように、補間画素生成部6内の遅延選択部62,63は、入力された画素データを水平方向に1〜4画素遅延させ、垂直方向に1〜4ライン遅延させるようになっている。即ち、遅延選択部62,63は、映像信号S1,S2における水平方向に5画素、垂直方向に5画素の範囲の画素データから所定の画素データを選択するようになっている。オフセット制御部5で設定する特定のクラスCLspは、動きベクトルMV(MV/2,−MV/2)に基づいて補間画素データを生成するための所定の画素データを遅延選択部62,63によって選択する際に、選択できない範囲となってしまうクラスとすることが好ましい。
第1実施形態では、選択できない範囲となってしまうクラスは、5,6のクラス、7,8のクラス、−5,−6のクラス、−7,−8のクラスであり、ここでは特定のクラスCLspを7,8のクラスと−7,−8のクラスとしている。図3の例は、7,8のクラスで閾値yを越えている状態を示している。5,6のクラスと−5,−6のクラスを特定のクラスとしてもよいし、5,6のクラス、7,8のクラス、−5,−6のクラス、−7,−8のクラスの全てを特定のクラスとしてもよい。
5,6のクラス、7,8のクラス、−5,−6のクラス、−7,−8のクラスを特定のクラスCLspとする場合、5,6のクラスにおける度数と7,8のクラスにおける度数とを合わせた度数が閾値yを越えるか、−5,−6のクラスにおける度数と−7,−8のクラスにおける度数とを合わせた度数が閾値yを越えた場合に、所定のオフセット量を示すオフセット信号Sos1,Sos2を生成するようにしてもよい。
オフセット信号Sos1はフレームメモリ2に入力され、オフセット信号Sos2はフレームメモリ3に入力される。オフセット信号Sos1,Sos2は、選択制御部61にも入力される。
ここで、図4を用いて遅延選択部62,63の具体的構成及び動作について説明する。遅延選択部62,63は、ラインメモリ601〜604,画素遅延器であるフリップフロップ605〜624,選択部625を備える。映像信号S1,S2の画素データはラインメモリ601〜604によって1ライン期間ずつ順次遅延される。入力された画素データは、フリップフロップ605〜608によって1画素期間ずつ順次遅延される。ラインメモリ601より出力された画素データは、フリップフロップ609〜612によって1画素期間ずつ順次遅延される。ラインメモリ602より出力された画素データは、フリップフロップ613〜616によって1画素期間ずつ順次遅延される。ラインメモリ603より出力された画素データは、フリップフロップ617〜620によって1画素期間ずつ順次遅延される。ラインメモリ604より出力された画素データは、フリップフロップ621〜624によって1画素期間ずつ順次遅延される。
入力された画素データと、ラインメモリ601〜604より出力された画素データと、フリップフロップ605〜624より出力された画素データは、選択部625に入力される。選択部625に入力される画素データは、映像信号S1,S2における水平方向に5画素、垂直方向に5画素の範囲に含まれる計25画素の画素データである。フリップフロップ614より出力された画素データが25画素の画素データにおける中央の画素データであり、フリップフロップ614より出力された画素データの位置が基準位置となる。
第1実施形態では、遅延選択部62,63は補間画素データを生成する際の参照範囲として25画素の画素データからそれぞれ1つの画素データを選択するようにしているが、参照範囲は25画素に限定されるものではない。さらに多くのラインメモリ及びフリップフロップを備えて25画素より多いそれぞれの参照範囲内の画素より1つの画素データを選択してもよい。
まず、動きベクトルMVの垂直成分が例えば4画素(4ライン)の場合について説明する。前述のように、補間画素生成部6で補間画素データを生成する際に使用する動きベクトルは動きベクトルMV/2,−MV/2であるから、動きベクトルMVの垂直成分が4画素の場合、補間画素生成部6で使用する動きベクトルの垂直成分は+2画素,−2画素となる。図4より分かるように、遅延選択部62,63は、フリップフロップ614より出力された画素データの位置を基準位置とした場合、+2画素,−2画素垂直方向にシフトした位置の画素データを選択することが可能である。即ち、動きベクトルMVの垂直成分が4画素以内であれば、フリップフロップ614より出力された画素データの位置を基準位置としたままで画素データを選択することができる。
次に、動きベクトルMVの垂直成分が例えば8画素(8ライン)の場合について説明する。動きベクトルMVの垂直成分が8画素の場合、補間画素生成部6で使用する動きベクトルの垂直成分は+4画素,−4画素となる。図4より分かるように、遅延選択部62,63は、フリップフロップ614より出力された画素データの位置を基準位置とした場合、+4画素,−4画素垂直方向にシフトした位置の画素データを選択することはできない。そこで、第1実施形態においては、特定のクラスCLspである7,8のクラスと−7,−8のクラスの少なくとも一方のクラスで度数が閾値yを越えた場合に、遅延選択部62,63によって動きベクトルMVの垂直成分に対応した画素データを選択して出力することができるよう次のように構成している。
オフセット制御部5がオフセット量を求める基準としての動きベクトルMVの垂直成分を8画素とする。遅延選択部62,63で+4画素,−4画素垂直方向にシフトした位置の画素データを選択するためには、フリップフロップ614より出力された画素データの位置を基準位置とした場合の垂直方向の画素データの選択範囲が+2画素,−2画素であるから、オフセット信号Sos1のオフセット量を2、オフセット信号Sos2のオフセット量を−2とすればよい。オフセット量2を示すオフセット信号Sos1はフレームメモリ2に入力され、オフセット量−2を示すオフセット信号Sos2はフレームメモリ3に入力される。フレームメモリ2,3は、入力されたオフセット量に応じて映像信号S1,S2を読み出す際の垂直方向の読み出しアドレスをシフトする。
選択制御部61は、入力されたオフセット信号Sos1,Sos2のオフセット量に応じて選択制御信号Ssel1,Ssel2を生成して遅延選択部62,63に入力する。図4に示すように、選択制御信号Ssel1,Ssel2は選択部625に入力される。オフセット信号Sos1,Sos2のオフセット量が0であれば、選択制御部61は、遅延選択部62,63の選択部625に対して、フリップフロップ614より出力された画素データの位置を基準位置として、動きベクトルMV/2,−MV/2に基づいて画素データを選択させるような選択制御信号Ssel1,Ssel2を生成して供給する。
一方、オフセット信号Sos1のオフセット量が2であれば、選択制御部61は、遅延選択部62の選択部625に対して、フリップフロップ622より出力された画素データの位置を基準位置として、動きベクトルMV/2に基づいて画素データを選択させるような選択制御信号Ssel1を生成して供給する。また、オフセット信号Sos2のオフセット量が−2であれば、選択制御部61は、遅延選択部63の選択部625に対して、フリップフロップ606より出力された画素データの位置を基準位置として、動きベクトル−MV/2に基づいて画素データを選択させるような選択制御信号Ssel2を生成して供給する。
選択制御部61は、オフセット信号Sos1,Sos2のオフセット量に応じて、遅延選択部62,63における基準とする垂直方向の画素データの位置をシフトさせる。結果として、選択部625が動きベクトルMV/2,−MV/2に応じて選択して出力する画素データは、垂直方向にシフトされることになる。
遅延選択部62の選択部625からは選択した画素データPsel1が出力され、遅延選択部63の選択部625からは選択した画素データPsel2が出力される。混合部64は、画素データPsel1,Psel2を混合して補間画素データPiを生成する。混合部64は、画素データPsel1,Psel2の平均を取るよう両者を混合すればよい。補間画素データPiは図2における補間画素Pf12(0)に相当する。
映像信号S1は実フレーム信号として時系列変換メモリ7に入力され、混合部64より順次出力される補間画素データPiは補間フレーム信号として時系列変換メモリ7に入力される。時系列変換メモリ7は実フレーム信号の画素データと補間フレーム信号の補間画素データPiとを垂直周波数120Hzで交互に読み出すことによって、フレームレート変換した映像信号を出力する。
図5,図6を用いて、フレームメモリ2,3における垂直方向の読み出しアドレスのシフトについて説明する。図5は、オフセット信号Sos1,Sos2のオフセット量が0の場合の補間画素生成を概念的に示している。補間フレームf12内の画素として補間画素Pf12(0)を生成する場合、映像信号S1のフレームf1で参照する画素は参照範囲である領域Arf1内の画素であり、映像信号S2のフレームf2で参照する画素は参照範囲である領域Arf2内の画素である。第1実施形態では、領域Arf1,Arf2のライン数Lf1,Lf2は5ラインである。垂直成分が4画素である動きベクトルMVをMV(v4)とし、垂直成分が8画素である動きベクトルMVをMV(v8)とする。
図5に示すように、動きベクトル検出部1が検出した動きベクトルMVが動きベクトルMV(v4)であれば、領域Arf1,Arf2内の画素を用いて補間画素Pf12(0)を生成することができる。動きベクトルMVが動きベクトルMV(v8)の場合には、補間画素Pf12(0)を生成するためのフレームf1,f2内の画素は領域Arf1,Arf2の範囲外となる。従って、補間画素生成部6は補間画素Pf12(0)を生成することができない。
そこで、第1実施形態においては、前述のように、所定のオフセット量のオフセット信号Sos1,Sos2をフレームメモリ2,3に供給して垂直方向の読み出しアドレスをシフトすると共に、遅延選択部62,63における垂直方向の基準位置をシフトする。その結果、図6に示すように、領域Arf1は図5と比較して垂直方向下方にシフトした領域Arf1’に示す位置となり、領域Arf2は図5と比較して垂直方向上方にシフトした領域Arf2’に示す位置となる。領域Arf1’,Arf2’のライン数Lf1’,Lf2’は5ラインである。図6に示すように、動きベクトルMVが動きベクトルMV(v8)であっても、補間画素Pf12(0)を生成するためのフレームf1,f2内の画素は領域Arf1’,Arf2’の範囲内となり、補間画素生成部6は補間画素Pf12(0)を生成することが可能となる。
図6では便宜上、領域Arf1が垂直方向下方にシフトして領域Arf1’となり、領域Arf2が垂直方向上方にシフトして領域Arf2’となるように図示している。実際には、図7(A),(B)に示すように、フレームメモリ2,3からの画素データの垂直方向の読み出しアドレスがシフトされている。図7(A)の一点鎖線で示すフレームf2は、読み出しアドレスをシフトしない状態を概念的に示しており、図7(B)の一点鎖線で示すフレームf1は、読み出しアドレスをシフトしない状態を概念的に示している。
オフセット信号Sos1,Sos2のオフセット量が0で、読み出しアドレスをシフトしない場合には、フレームメモリ2,3からの画素データは一点鎖線で示すタイミングで読み出されることになる。図7(A)の実線で示すフレームf2は、読み出しアドレスをシフトした状態を概念的に示しており、図7(B)の実線で示すフレームf1は、読み出しアドレスをシフトした状態を概念的に示している。オフセット量が0を超える所定の値であれば、フレームメモリ2,3からの画素データは実線で示すフレームf1,f2で示すタイミングで読み出されることになる。なお、図7(A),(B)では理解を容易にするためシフト量を誇張して図示している。
前述の例では、オフセット信号Sos1によるオフセット量が2であるから、フレームメモリ2はオフセット量2に相当するライン数Ls1(即ち、2ライン)だけ上方に読み出しアドレスをシフトする。また、オフセット信号Sos2によるオフセット量が−2であるから、フレームメモリ3はオフセット量−2に相当するライン数Ls2(即ち、2ライン)だけ下方に読み出しアドレスをシフトする。
その結果、遅延選択部62で参照する画素の範囲は、図5に示す領域Arf1から図6に示す領域Arf1’へと垂直方向下方にシフトし、遅延選択部63で参照する画素の範囲は、図5に示す領域Arf2から図6に示す領域Arf2’へと垂直方向上方にシフトすることとなる。なお、読み出しアドレスの垂直方向下方または上方へのシフトは、映像信号S1,S2の読み出し開始位置と読み出し終了位置をブランキング期間にずらすことによって容易に実現することができる。
図1においては、フレームメモリ2によって入力映像信号S0を1フレーム期間遅延させて映像信号S1としたが、1フレーム未満の期間遅延させるようにしてもよい。図8は、フレームメモリ2の代わりに、1フレーム未満の期間遅延させる遅延部20を用いた場合の構成を示している。遅延部20は複数のラインメモリによって構成することができる。遅延部20は、入力映像信号S0を1フレーム未満の期間遅延させて、映像信号S1’として出力する。映像信号S1’は遅延選択部62へと供給される。
この場合、動きベクトル検出部1には、互いに1フレーム期間離れた2つのフレーム信号を入力する必要があるので、フレームメモリ21を設けている。フレームメモリ21は、入力映像信号S0を1フレーム期間遅延させて映像信号S10として出力する。動きベクトル検出部1は、入力映像信号S0と映像信号S10とに基づいて動きベクトルMVを検出する。このように、遅延選択部62に供給する映像信号は、入力映像信号S0を1フレーム期間遅延させた映像信号S1に限定されない。
以上の説明では、動きベクトルMVの垂直成分が偶数の場合について説明したが、奇数の場合には次のようにすればよい。遅延選択部62,63における選択部625は、垂直方向に隣接する2つの画素データの平均を取り、平均した画素データを画素データPsel1,Psel2として出力すればよい。動きベクトルMVの水平成分が奇数の場合も同様であり、選択部625は、水平方向に隣接する2つの画素データの平均を取り、平均した画素データを画素データPsel1,Psel2として出力すればよい。
また、動きベクトルMVの垂直成分が奇数の場合には、オフセット制御部5は、正の場合には1つ大きい偶数の値に基づいてオフセット量を求め、負の場合には1つ小さい偶数の値に基づいてオフセット量を求めればよい。即ち、図3で、動きベクトルMVの垂直成分が1,3,5,7の場合にはそれぞれ垂直成分を2,4,6,8としてオフセット量を求め、動きベクトルMVの垂直成分が−1,−3,−5,−7の場合にはそれぞれ垂直成分を−2,−4,−6,−8としてオフセット量を求める。
このように、オフセット制御部5が、動きベクトルMVの垂直成分が奇数の場合に偶数に置き換えてオフセット量を求め、遅延選択部62,63が、動きベクトルMVの垂直成分が奇数の場合に対応した画素データPsel1,Psel2として出力することにより、動きベクトルMVの垂直成分が奇数の場合でも動きベクトルMVの垂直成分が偶数の場合と同様の処理を行うことができる。
ところで、第1実施形態において、特定のクラスCLspで度数が閾値yを越えず、オフセット信号Sos1,Sos2の値が0の状態から、特定のクラスCLspで度数が閾値yを越えて、オフセット信号Sos1,Sos2の値が所定の値となった場合、またはその逆の場合に、フレームメモリ2,3からの映像信号S1,S2の読み出しアドレスをシフトしない状態とシフトする状態とが急激に変化しないようにすることが好ましい。オフセット制御部5は、オフセット信号Sos1,Sos2の値を1または複数のフレーム毎に順次変化させることが好ましい。例えばオフセット量を0から2にする場合には、閾値yを越えたことを検出した次のフレームでオフセット量を1とし、さらにその次のフレームでオフセット量を2とすればよい。
<第2実施形態>
図9〜図11を用いて第2実施形態の構成及び動作について説明する。図9において、図1と同一部分には同一符号を付し、その説明を省略する。図9においては、図1のオフセット制御部5の代わりにオフセット制御部50が設けられている。オフセット制御部50は、判別部501とオフセット量決定部502とを備える。
第2実施形態においては、図10に示すように、オフセット制御部50は、5,6のクラス、7,8のクラス、−5,−6のクラス、−7,−8のクラスを特定のクラスCLspとしている。図10に示す例は、特定のクラスCLspである7,8のクラスで閾値yを越え、7,8のクラスとは垂直方向の動き方向が逆方向であり、特定のクラスCLspではない−1,−2のクラスでも閾値yを越えている状態を示している。判別部501は、特定のクラスCLspにおけるいずれかのクラスで閾値yを越えると共に、閾値yを越えているいずれかの特定のクラスCLspとは垂直方向の動き方向が逆方向の特定のクラスCLsp以外のクラスで閾値yを越えている状態を判別する。
判別部501は、上記の状態を判別した場合に、閾値yを越えている特定のクラスCLspの垂直成分の値と、特定のクラスCLsp以外で閾値yを越えているクラスの垂直成分の値とをオフセット量決定部502に入力する。オフセット量決定部502は、図10の例では、閾値yを越えている特定のクラスCLspの垂直成分の値である8と、特定のクラスCLsp以外で閾値yを越えているクラスの垂直成分の値である−2とを加算して、垂直方向の画素数を6画素と算出する。従って、補間画素生成部6で使用する動きベクトルの垂直成分は+3画素,−3画素となる。
なお、7,8のクラスと5,6のクラスで閾値yを越え、−1,−2のクラスでも閾値yを越えている場合には、垂直成分の大きさが最も大きいクラスである7,8のクラスを基準とする。即ち、この場合も、8と−2とを加算して、垂直方向の画素数を6画素と算出する。
そして、オフセット量決定部502は、第1実施形態と同様、フリップフロップ614より出力された画素データの位置を基準位置とした場合の垂直方向の画素データの選択範囲が+2画素,−2画素であるから、オフセット信号Sos10のオフセット量を1、オフセット信号Sos20のオフセット量を−1とすればよい。
図11を用いて、第2実施形態による効果について説明する。図11(A)は、遅延選択部62,63における垂直方向のメモリ領域を示している。メモリ領域は、図5で説明した領域Arf1,Arf2のライン数Lf1,Lf2に相当する。図11(B)に示すように、7,8のクラスはaで示す位置であり、−1,−2のクラスのクラスはbで示す位置である。図11(C)は、第1実施形態で説明したシフトを行った状態を示している。
図11(C)より分かるように、第1実施形態で説明したシフトを行うと、動きベクトルMVの垂直成分が7,8のクラスの補間画素データPiを生成することは可能になるが、−1,−2のクラスはメモリ領域から外れるので、−1,−2のクラスの補間画素データPiを生成することができなくなる。図11(D)はシフトを行わなかった状態である。図11(D)の場合には、−1,−2のクラスの補間画素データPiを生成することができるが、7,8のクラスの補間画素データPiを生成することはできない。
−1,−2のクラスの動きは、本来、補間画素生成部6で補間画素データPiを生成することができる範囲の動きであり、−1,−2のクラスの補間画素データPiを生成しないということは好ましくない。シフトを行わない状態で補間画素データPiを生成することができる範囲の動きについては、補間画素データPiを生成することが望ましい。そこで、第2実施形態においては、−1,−2のクラスの動きに対応することができ、メモリ領域を超えた部分の動きにも極力対応させるため、図11(E)に示すように、オフセット量を1(及び−1)としている。
図11(E)に示すシフトによれば、−1,−2のクラスの補間画素データPiを生成することができる。7,8のクラスの補間画素データPiを生成することはできないが、7,8のクラスに近く、図11(D)では対応できない5,6のクラスの補間画素データPiを生成することができる。
第2実施形態においても、オフセット制御部50は、オフセット信号Sos10,Sos20の値を1または複数のフレーム毎に順次変化させることが好ましい。
<第3実施形態>
図12〜図14を用いて第3実施形態の構成及び動作について説明する。図12において、図1と同一部分には同一符号を付し、その説明を省略する。図12に示す第3実施形態は、デジャダ処理装置を例にしている。
図12において、フィルム信号検出部8には、映像信号S1,S2が入力される。フィルム信号検出部8は、映像信号S1,S2に基づいて、入力映像信号S0が、フィルム画像から2−2プルダウンまたは2−3プルダウンによって垂直周波数60Hzに変換された映像信号であるか否かを検出する。フィルム画像が30コマ(30フレーム)であれば、2−2プルダウンによって60フレームのフレームレートに変換することができ、フィルム画像が24コマ(24フレーム)であれば、2−3プルダウンによって60フレームのフレームレートに変換することができる。
入力映像信号S0が2−3プルダウンによって生成された映像信号である場合には、図13(A)より理解できるように、2フレームで同一の画像、次の3フレームで同一の画像、さらにその次の2フレームで同一の画像となる。図13(A)に示すフレームf1〜f6では、フレームf1,f2で同じ画像Im1、フレームf3〜f5で同じ画像Im2、フレームf6及び図示していない次のフレームで同じ画像Im3となる。フィルム信号検出部8は、2−2プルダウンまたは2−3プルダウンによって変換された映像信号であるか否か示す検出信号Sdetを生成してオフセット制御部51に入力する。
例えば、フィルム信号検出部8は、プルダウン変換された映像信号でないと検出した場合には検出信号Sdetとして値“0”を、プルダウン変換された映像信号であると検出した場合には検出信号Sdetとして値“1”を出力する。フィルム信号検出部8は、プルダウン変換された映像信号である場合に、2−2プルダウンであるのか2−3プルダウンであるかを区別して検出することが好ましい。両者を区別する場合には、例えば、フィルム信号検出部8は、プルダウン変換された映像信号でないと検出した場合には検出信号Sdetとして値“00”を、2−2プルダウンであると検出した場合には検出信号Sdetとして値“01”、2−3プルダウンであると検出した場合には検出信号Sdetとして値“10”を出力すればよい。
図13(A)より分かるように、2−2プルダウンまたは2−3プルダウンによって変換された映像信号は画像の動きが滑らかでなく、画像の動きを滑らかにするために、図13(B)に示すように、デジャダ処理が行われる場合がある。図13(B)に示すフレームf10はフレームf1と同じである。画像Im10は画像Im1と同じである。フレームf20においては、画像Im1と画像Im2との間の、画像Im1と画像Im2とから等間隔の位置に画像Im20を生成している。フレームf30はフレームf3と同じであり、画像Im30は画像Im2と同じである。
フレームf40においては、画像Im2と画像Im3との間の画像Im2の位置から1/3の位置に画像Im40を生成している。フレームf50においては、画像Im2と画像Im3との間の、画像Im2の位置から2/3の位置に画像Im50を生成している。フレームf60はフレームf6と同じであり、画像Im60は画像Im3と同じである。図13(A)の映像信号を図13(B)のように変換することによって画像の動きを滑らかにすることができる。
図14は、フレームf50の画像Im50を生成する場合の補間処理を概念的に示している。通常の画素補間においては、隣接する2つの画素の中央に補間画素を生成するのに対し、デジャダ処理においては、上記の説明でも分かるように、隣接する2つの画素の一方の偏った位置に補間画素を生成する場合がある。図14では水平方向の補間を示しているが、垂直方向でも同様である。デジャダ処理を行う場合には、第1実施形態で説明したオフセット信号Sos1,Sos2のオフセット量ではオフセットが不足する場合が発生することになる。
そこで、第3実施形態においては、フィルム信号検出部8より出力された検出信号Sdetが2−2プルダウンまたは2−3プルダウンによって変換された映像信号であることを示す値の場合に、オフセット制御部51は、オフセット信号Sos11,Sos21として、第1実施形態におけるオフセット量よりも増大したオフセット量を出力する。例えば、検出信号Sdetが値“1”または値“01”,“10”の場合に、オフセット量を50%増大させる。プルダウンでない場合のオフセット量が2,−2であれば、プルダウンの場合のオフセット量は3,−3となる。
2−2プルダウンと2−3プルダウンとを区別する場合には、2−3プルダウンの場合のオフセット量の増大の程度を2−2プルダウンの場合のオフセット量の増大の程度よりも大きくすることが好ましい。例えば、2−2プルダウンの場合にはオフセット量を50%増大させ、2−3プルダウンの場合にはオフセット量を60%に増大させる。プルダウンでない場合のオフセット量が2,−2であれば、2−2プルダウンの場合のオフセット量は3,−3となり、2−3プルダウンの場合のオフセット量は小数を繰り上げて4,−4となる。2−3プルダウンの場合に、オフセット量を60%を超える率で増大させてもよい。
オフセット信号Sos11,Sos21が第1実施形態の場合よりも増大することにより、遅延選択部62,63が選択制御信号Ssel1,Ssel2に基づいて選択して出力する画素データPsel1,Psel2も、第1実施形態の場合とは異なった垂直方向の位置へとシフトされることになる。
なお、オフセット量を増大させる前のオフセット量が、オフセット量の上限値またはそれに近い値の場合には、上記のようにオフセット量を50%または60%増大させると、計算上、上限値を超えることになる。この場合には、オフセット量はクリッピングされるので、プルダウンによって変換された映像信号であってもオフセット量は増大しない。また、計算上、小数点を切り捨てる場合にオフセット量を増大させない場合もある。
図12において、デジャダ処理部9は、実フレーム信号の画素データと補間フレーム信号の補間画素データPiとを垂直周波数60Hzで交互に読み出すことによって、デジャダ処理を施した映像信号を出力する。デジャダ処理部9はメモリで構成することができる。第3実施形態では、デジャダ処理部9を備えるデジャダ処理装置を例としたが、第1,第2実施形態と同様、フレームレート変換装置としてもよい。
第3実施形態においても、オフセット制御部51は、オフセット信号Sos11,Sos21の値を1または複数のフレーム毎に順次変化させることが好ましい。
<第4実施形態>
図15を用いて第4実施形態の構成及び動作について説明する。図15において、図1,図12と同一部分には同一符号を付し、その説明を省略する。第4実施形態は、第2実施形態と第3実施形態とを合わせたものに相当する。図15において、オフセット制御部52は、判別部521と、制限部522と、オフセット量決定部533とを備える。判別部521は、図9の判別部501で説明したように、特定のクラスCLspで閾値yを越えると共に、閾値yを越えている特定のクラスCLspとは垂直方向の動き方向が逆方向の特定のクラスCLsp以外のクラスで閾値yを越えている状態を判別する。
制限部522は、判別部521が上記の状態を判別した場合に、第2実施形態と同様、閾値yを越えている特定のクラスCLspの垂直成分の値と、特定のクラスCLsp以外で閾値yを越えているクラスの垂直成分の値とを加算して、垂直方向の画素数を制限した画素数を算出する。制限部522によって算出された画素数は、オフセット量決定部533に入力される。オフセット量決定部533には、フィルム信号検出部8より出力された検出信号Sdetが入力される。
オフセット量決定部533は、検出信号Sdetがプルダウンを示す値でない場合には、制限部522から入力された制限した画素数に基づいたオフセット量であるオフセット信号Sos12,Sos22を出力する。オフセット量決定部533は、検出信号Sdetがプルダウンを示す値である場合には、制限部522から入力された制限した画素数に基づいたオフセット量を増大させたオフセット信号Sos12,Sos22を出力する。
また、判別部521が上記の状態を判別せず、制限部522が垂直方向の画素数を制限しないで第1実施形態と同様の画素数をオフセット量決定部533に入力した場合には、オフセット量決定部533は、制限しない画素数に基づいて、検出信号Sdetがプルダウンを示す値であるか否かによってオフセット量を決定してオフセット信号Sos12,Sos22を出力する。
第4実施形態においても、オフセット制御部51は、オフセット信号Sos12,Sos22の値を1または複数のフレーム毎に順次変化させることが好ましい。
<第5実施形態>
図16〜図20を用いて第5実施形態の構成及び動作について説明する。図16において、図1と同一部分には同一符号を付し、その説明を適宜省略する。第1〜第4実施形態においては、度数分布モニタ部4が、動きベクトルMVを例えばフレーム単位でモニタすることによって、動きベクトルMVの垂直成分がどのような大きさでどのように分布しているかを検出し、度数分布を示すデータSfdを生成している。画像が1フレームの全体で同様に動いている場合には、度数分布を示すデータSfdに基づいて特定のクラスCLspで度数が閾値yを越えたことが検出され、フレームメモリ2,3における垂直方向の読み出しアドレスがシフトされる。
例えば、画像表示装置の画面の左右に互いに異なる映像信号を表示させる、いわゆる2画面表示を行った場合には、画像の動きは左右で異なることから、1フレームの全体で動きベクトルMVをモニタして図3で説明したようにヒストグラムをとったとしても、特定のクラスCLspで閾値yを越えない場合が発生する。この場合には、フレームメモリ2,3における垂直方向の読み出しアドレスはシフトされず、補間処理の範囲が拡大するという効果を奏することはない。このようなことは2画面表示に限らず、1つの映像信号を表示する場合でも、1フレーム内の左右で異なる動きをする画像の場合には同様に発生する。
第5実施形態は、画像の動きが複数の領域で異なる場合にも、補間処理の範囲が拡大するという効果を奏するように、第1実施形態の構成を発展させたものである。ここでは、第1実施形態の構成を発展させた構成を第5実施形態として説明するが、第2〜第4実施形態も、第5実施形態と同様の構成を採用することが可能である。第5実施形態においては、一例として、1フレームを左右に均等に2分割したそれぞれの領域で映像信号を処理する。均等ではなく、それぞれの領域の面積が異なるように分割して処理してもよい。
図16において、動きベクトル検出部1より出力された動きベクトルMVは、左領域度数分布モニタ部4L及び右領域度数分布モニタ部4R、左領域補間画素生成部6L及び右領域補間画素生成部6Rに入力される。左領域度数分布モニタ部4L及び右領域度数分布モニタ部4Rは、度数分布モニタ部4と同様、動きベクトルMVを例えばフレーム単位でモニタして、動きベクトルMVの垂直成分がどのような大きさでどのように分布しているかを検出する。但し、左領域補間画素生成部6Lは1フレームの左領域内のみの動きベクトルMVをモニタし、右領域補間画素生成部6Rは1フレームの右領域内のみの動きベクトルMVをモニタする。
図17(A)は、左領域度数分布モニタ部4Lが生成した動きベクトルMVの分布を示すヒストグラムの例であり、図17(B)は、右領域度数分布モニタ部4Rが生成した動きベクトルMVの分布を示すヒストグラムの例である。動きベクトルMVのクラスの設定は図3と同じである。左領域度数分布モニタ部4Lは、左領域内の度数分布を示すデータSfdLを左領域オフセット制御部5Lに供給し、右領域度数分布モニタ部4Rは、右領域内の度数分布を示すデータSfdRを右領域オフセット制御部5Rに供給する。図17(A),(B)に示すように、ここでも特定のクラスCLspを7,8のクラスと−7,−8のクラスとしている。
図17(C)は、図17(A),(B)との比較のため、1フレームを左右に2分割せず、第1実施形態と同様に1フレームの全体で動きベクトルMVをモニタして生成したヒストグラムを示している。
左領域オフセット制御部5Lは、図17(A)に示す度数分布の特定のクラスCLspで度数が閾値y1を越えた場合に、絶対値が0を超える所定のオフセット量を示すオフセット信号Sos1L,Sos2Lを生成する。右領域オフセット制御部5Rは、図17(B)に示す度数分布の特定のクラスCLspで度数が閾値y1を越えた場合に、絶対値が0を超える所定のオフセット量を示すオフセット信号Sos1R,Sos2Rを生成する。第5実施形態においては、左領域オフセット制御部5L及び右領域オフセット制御部5Rは、図3,図17(C)に示す閾値yよりも小さい値である閾値y1を設定している。これは、1フレームを左右に2分割しているため、左右それぞれの領域における動きベクトルMVの垂直成分のそれぞれのクラスの出現回数は、1フレーム全体でモニタしたときの出現回数よりも少なくなるからである。
図17(C)の場合には、特定のクラスCLspで度数が閾値yを越えない。図17(A),(B)の場合には、閾値yよりも小さい値の閾値y1を設定しているので、特定のクラスCLspで度数が閾値y1を越える。
オフセット信号Sos1L,Sos2Lは、フレームメモリ2,3及び左領域補間画素生成部6Lに入力され、オフセット信号Sos1R,Sos2Rは、フレームメモリ2,3及び右領域補間画素生成部6Rに入力される。オフセット信号Sos1L,Sos2Lは、オフセット量に応じて、フレームメモリ2,3における垂直方向の読み出しアドレスを互いに逆方向にシフトさせる。オフセット信号Sos1R,Sos2Rは、オフセット量に応じて、フレームメモリ2,3における垂直方向の読み出しアドレスを互いに逆方向にシフトさせる。
左領域補間画素生成部6L及び右領域補間画素生成部6Rの内部構成は補間画素生成部6と同じである。図1で説明したように、左領域補間画素生成部6L及び右領域補間画素生成部6Rは、選択制御部61と、遅延選択部62,63と、混合部64とを有する。遅延選択部62,63の具体的構成は図4で説明した通りである。
フレームメモリ2は、左領域補間画素生成部6Lが左領域内の補間画素を生成するための必要な映像信号S1Lを左領域補間画素生成部6Lに供給し、右領域補間画素生成部6Rが右領域内の補間画素を生成するための必要な映像信号S1Rを右領域補間画素生成部6Rに供給する。フレームメモリ3は、左領域補間画素生成部6Lが左領域内の補間画素を生成するための必要な映像信号S2Lを左領域補間画素生成部6Lに供給し、右領域補間画素生成部6Rが右領域内の補間画素を生成するための必要な映像信号S2Rを右領域補間画素生成部6Rに供給する。
映像信号S1Lは、映像信号S1としてフレームメモリ2より順次出力される画素データのうち、左領域内の画素データであり、オフセット信号Sos1Lが示すオフセット量に応じて、垂直方向にアドレスをシフトさせた画素データである。映像信号S2Lは、フレームメモリ3より順次出力される画素データのうち、左領域内の画素データであり、オフセット信号Sos2Lが示すオフセット量に応じて、垂直方向にアドレスをシフトさせた画素データである。オフセット量が0であれば、映像信号S1L,S2Lはシフトさせない画素データである。
映像信号S1Rは、映像信号S1としてフレームメモリ2より順次出力される画素データのうち、右領域内の画素データであり、オフセット信号Sos1Rが示すオフセット量に応じて、垂直方向にアドレスをシフトさせた画素データである。映像信号S2Rは、フレームメモリ3より順次出力される画素データのうち、右領域内の画素データであり、オフセット信号Sos2Rが示すオフセット量に応じて、垂直方向にアドレスをシフトさせた画素データである。オフセット量が0であれば、映像信号S1R,S2Rはシフトさせない画素データである。
左領域補間画素生成部6L内の選択制御部61は、オフセット信号Sos1L,Sos2Lのオフセット量に応じて、遅延選択部62,63における基準とする垂直方向の画素データの位置をシフトさせる。右領域補間画素生成部6R内の選択制御部61は、オフセット信号Sos1R,Sos2Rのオフセット量に応じて、遅延選択部62,63における基準とする垂直方向の画素データの位置をシフトさせる。図1の補間画素生成部6と同様の動作によって、左領域補間画素生成部6Lは左領域補間信号を生成し、右領域補間画素生成部6Rは右領域補間信号を生成する。左領域補間信号と右領域補間信号とを合わせたものが補間フレーム信号である。
時系列変換メモリ7には、映像信号S1が実フレーム信号として入力され、左領域補間信号と右領域補間信号とが補間フレーム信号として入力される。時系列変換メモリ7は、左領域補間信号と右領域補間信号とを合成することにより補間フレーム信号の補間画素データとする。時系列変換メモリ7は、実フレーム信号の画素データと補間フレーム信号の補間画素データとを垂直周波数120Hzで交互に読み出すことによって、フレームレート変換した映像信号を出力する。
図18〜図20を用いて、第5実施形態による効果について説明する。図18は、フレームf1,f2の左領域において、垂直方向下方にシフトした領域Arf1’Lと垂直方向上方にシフトした領域Arf2’Lを示している。動きベクトルMVの垂直成分が8画素である動きベクトルMV(v8)であっても、補間画素Pf12(0)Lを生成するためのフレームf1,f2内の画素は領域Arf1’L,Arf2’Lの範囲内となり、左領域補間画素生成部6Lは補間画素Pf12(0)Lを生成することができる。
図19は、フレームf1,f2の右領域において、垂直方向上方にシフトした領域Arf1’Rと垂直方向下方にシフトした領域Arf2’Rを示している。図19は、動きベクトルMVの垂直成分が図18とは逆方向である−8画素であり、動きベクトルMVはMV(-v8)である。動きベクトルMVの垂直成分が−8画素である動きベクトルMV(-v8)であっても、補間画素Pf12(0)Rを生成するためのフレームf1,f2内の画素は領域Arf1’R,Arf2’Rの範囲内となり、右領域補間画素生成部6Rは補間画素Pf12(0)Rを生成することができる。
図20は、図18,図19との比較のため、1フレームを左右に2分割せず、第1実施形態と同様に1フレームの全体で動きベクトルMVをモニタしてオフセット信号Sos1,Sos2を生成した場合を示している。図17(C)に示すように、特定のクラスCLspで度数が閾値yを越えないので、オフセット量は0となり、補間画素Pf12(0)L,Pf12(0)Rを生成するための領域Arf1L,Arf1R,Arf2L,Arf2Rはシフトされない。従って、左領域において動きベクトルMVが動きベクトルMV(v8)であり、右領域において動きベクトルMVが動きベクトルMV(-v8)である場合には、補間画素Pf12(0)L,Pf12(0)Rを生成することができない。
以上のように、第5実施形態によれば、フレーム内の複数の領域で互いに異なる動きをした場合でも、それぞれの領域ごとに適切に補間処理の範囲を拡大することが可能となる。よって、複数の領域それぞれで、画像の垂直方向の動きが大きい場合でも動きベクトルに基づいて適切な補間画素を生成することができる。
第5実施形態においては、フレームの領域を2分割したが、3分割以上に分割してもよく、領域を水平方向に分割する分割の仕方及び分割数は適宜設定すればよい。度数分布モニタ部4とオフセット制御部5と補間画素生成部6とをそれぞれ分割数に応じて設ければよい。
本発明は以上説明した第1〜第5実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変更可能である。第1〜第5実施形態においては、動きベクトル検出部1を備える構成を示したが、他の装置で利用するために検出した動きベクトルMVを度数分布モニタ部4(4L,4R)及び補間画素生成部6(6L,6R)に供給するように構成してもよい。度数分布モニタ部4(4L,4R)は、それぞれのクラスの1フレームにおける出現回数を度数としたが、2フレームにおける出現回数を度数としてもよく、適宜設定すればよい。