(57)【要約】【課題】画像データが存在しない隙間や重なる部分ができることがなく、複数の動きが重なっている領域やオクルージョン領域でも正しいフレーム補間を行う。【解決手段】画像の隣接フレーム間の第１動きベクトルを検出し（Ｓ１０１）、その終点を固定し始点を補間フレーム面上に移動させた第２動きベクトルを生成し（Ｓ１０２）、補間フレーム面上の補間対象ブロックのそれぞれに対して、第２動きベクトルの中で補間対象ブロックに始点が含まれるベクトルを補間対象ブロックの始点に平行移動したときに補間対象ブロックに始点が含まれる第２動きベクトルの終点によって指し示される局所領域を探索領域として検出し、該探索領域の情報を含むオーバーラップ情報を求め（Ｓ１０３）、探索領域から検出した第３動きベクトルを用いて補間対象ブロックに対して動き補償を行うことにより補間フレームを生成する（Ｓ１０４〜Ｓ１０８）。【選択図】　　図３
2004128702.tif 000002
【特許請求の範囲】
【請求項１】
画像の第１参照フレームと第２参照フレームとの間の補間フレーム面上に補間フレームを内挿補間するフレーム補間方法において、
前記第１参照フレームと第２参照フレームとの相関に基づきブロック単位の複数の第１動きベクトルを求めるステップと、
前記第１動きベクトルをそれぞれスケール変換した複数の第２動きベクトルを生成するステップと、
前記補間フレーム面を分割した複数の補間対象ブロックのそれぞれに対して、前記複数の第２動きベクトルの中で前記補間対象ブロックに始点が含まれる第２動きベクトルを前記補間対象ブロックの始点に平行移動したときに、該補間対象ブロックに始点が含まれる第２動きベクトルの終点によって指し示される局所領域を探索領域として検出し、該探索領域の情報を含むオーバーラップ情報を出力するステップと、
前記オーバラップ情報に基づき前記探索領域から第３動きベクトルを検出するステップと、
前記第３動きベクトルを用いて前記補間対象ブロックに対して動き補償を行うことにより前記補間フレームを生成するステップと
を具備するフレーム補間方法。
【請求項２】
前記第３動きベクトルを検出するステップは、
前記補間対象ブロックがオクルージョン領域か、背景領域か、あるいはオブジェクト領域かを判定する判定ステップと、
前記補間対象ブロックがオクルージョン領域であると判定された場合に、前記補間フレームから見て時間軸の前方または後方のいずれか一方の方向のみに存在する複数のフレームを用いて前記探索領域から前記第３動きベクトルをオクルージョン動きベクトルとして検出する第１の検出ステップと、
前記補間対象ブロックが背景領域であると判定された場合に、前記補間フレーム面から見て時間軸の前方および後方の両方向に存在する複数のフレームを用いて前記探索領域から前記第３動きベクトルを背景動きベクトルとして検出する第２の検出ステップと、
前記補間対象ブロックがオブジェクト領域であると判定された場合に、前記第１参照フレームと前記第２参照フレームを用いて前記探索領域から前記第３動きベクトルをオクルージョン動きベクトルとして検出する第３の検出ステップと、を有する請求項１に記載のフレーム補間方法。
【請求項３】
前記第１動きベクトルを求めるステップは、前記第１参照フレームを分割した複数の第１ブロックのそれぞれに対して該第１ブロックと最も相関値の高い第２ブロックを前記第２参照フレームから探索して、該第１ブロックの位置を始点とし該第２ブロックの位置を終点とする前記第１動きベクトルを検出する請求項１記載のフレーム間補間方法。
【請求項４】
前記第１動きベクトルを求めるステップは、
前記第１参照フレームを分割した複数の第１ブロックのそれぞれに対して該第１ブロックと最も相関値の高い第２ブロックを前記第２参照フレームから探索して、該第１ブロックの位置を始点とし該第２ブロックの位置を終点とする少なくとも一つの順方向動きベクトルを検出するステップと、
前記第２参照フレームを分割した複数の第２ブロックのそれぞれに対して該第２ブロックと最も相関値の高い第１ブロックを前記第１参照フレームから探索して、該第２ブロックの位置を始点とし該第１ブロックの位置を終点とする少なくとも一つの逆方向動きベクトルを検出するステップと、
前記順方向動きベクトル及び逆方向動きベクトルのうち前記相関値が大きい方を前記第１動きベクトルとして検出するステップとを有する請求項１記載のフレーム間補間方法。
【請求項５】
前記判定ステップは、
前記オーバラップ情報によって示される前記探索領域の数が０個の場合は前記補間対象ブロックがオクルージョン領域であると判定し、該探索領域の数が１個の場合は前記補間対象ブロックが背景領域と判定し、該探索領域の数が複数個の場合は前記補間対象ブロックが背景領域及びオブジェクト領域であると判定する請求項２記載のフレーム補間方法。
【請求項６】
前記第１の検出ステップは、
前記補間フレーム面の時間位置を原点としたときの第ｉ参照フレーム（ｉは１からｎまでの連続整数数列、ｎは２以上の任意の整数）の時間位置をｔｉ（時間の順方向を正とする実数）とし、前記補間フレーム面から前記第２参照フレームへの動きベクトルをｄとしたとき、前記補間フレームから見て時間軸の前方または後方の方向のうち前記オクルージョン動きベクトルの検出に最適な方向を求め、該最適な方向に存在する第ｉ参照フレームと第ｊ参照フレーム（ｊは１からｎまでの整数、但しｉ≠ｊ）に対して、動きベクトルｄｉ＝ｄ・ｔｉ／ｔ２が指し示す第ｉ参照フレーム上のブロックと、動きベクトルｄｊ＝ｄ・ｔｊ／ｔ２が指し示す第ｊ参照フレーム上のブロックとの相関値ｃｉを２以上の全ての前記ｉについて求め、該相関値ｃｉの和Ｃが最大となる動きベクトルｄを前記オクルージョン動きベクトルとして検出する請求項２記載のフレーム補間方法。
【請求項７】
前記第２の検出ステップは、
前記補間フレーム面の時間位置を原点としたときの第ｉ参照フレーム（ｉは１からｎまでの連続整数数列、ｎは２以上の任意の整数）の時間位置をｔｉ（時間の順方向を正とする実数）とし、前記補間フレーム面から前記第２参照フレームへの動きベクトルをｄとしたとき、前記画像の第ｉ参照フレームと第ｊ参照フレーム（ｊは１からｎまでの整数、但しｉ≠ｊ）に対して、ベクトルｄｉ＝ｄ・ｔｉ／ｔ２が指し示す第ｉ参照フレーム上のブロックと、ベクトルｄｊ＝ｄ・ｔｊ／ｔ２が指し示す第ｊ参照フレーム上のブロックとの相関値ｃｉを２以上の全てのｉについて求め、前記探索領域から検出される前記動きベクトルｄの中で、前記相関値ｃｉの和Ｃが最大の動きベクトルを前記背景ベクトルとして検出する請求項２記載のフレーム補間方法。
【請求項８】
前記第３の検出ステップは、
前記補間フレーム面と第１及び第２参照フレームとの時間間隔をｔ１，ｔ２（いずれも実数）とし、前記補間フレーム面から前記第２参照フレームへの動きベクトルをｄとしたとき、該動きベクトルｄが指し示す前記第２参照フレーム上の第２ブロックと、ベクトルｄ１＝−ｄ・ｔ１／ｔ２が指し示す前記第１参照フレーム上の第１ブロックとの相関値を求め、前記探索領域から検出される前記動きベクトルｄの全てを前記オブジェクト動きベクトルとして検出する請求項２記載のフレーム補間方法。
【請求項９】
前記補間フレームを生成するステップは、前記補間フレームと前記第１及び第２の参照フレームとの時間間隔をｔ１，ｔ２（いずれも実数）とし、前記オクルージョン動きベクトル、背景動きベクトル及びオブジェクト動きベクトルを動きベクトルｄで表したとき、（ａ）前記オクルージョン動きベクトルが検出された場合には、前記動きベクトルｄが指し示す前記第２参照フレーム上の第２ブロックを前記補間フレーム上の前記補間対象ブロックに背景画像信号としてコピーし、（ｂ）前記背景動きベクトルが検出された場合には、前記ベクトルｄが指し示す前記第２参照フレーム上の第２ブロックと動きベクトルｄ１＝−ｄ・ｔ１／ｔ２が指し示す前記第１参照フレーム上の第１ブロックとの平均を前記補間フレーム上の補間対象ブロックに背景画像信号としてコピーし、（ｃ）前記オブジェクト動きベクトルが検出された場合には、複数の該オブジェクト動きベクトルについて前記動きベクトルｄが指し示す前記第２参照フレーム上の第２ブロックと動きベクトルｄ１＝−ｄ・ｔ１／ｔ２が指し示す前記第１参照フレーム上の第１ブロックとの画素毎の差分を該第２ブロックと該第１ブロックとの相関値の小さいものから順にとり、該差分が閾値以下の画素であって、かつ前記第２動きベクトルによって指し示されるブロックのオーバラップ領域内の画素を前記補間フレーム面上の補間対象ブロックにオブジェクト画像信号としてコピーする請求項１記載のフレーム補間方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像の再生に当たって表示フレーム間隔を短くするために隣接フレーム間に少なくとも一つの補間フレームを内挿補間するフレーム補間方法に関する。
【０００２】
【従来の技術】
液晶ディスプレイやエレクトロルミネッセンスディスプレイのように、新たに画像の書き込みが行われるまで前フレームの表示を保持し続けるホールド型画像表示装置では、動画表示に際して動体の動きに観察者の眼が追随することによるボケ現象の発生と、コマ数の少ない動画を表示する場合に不自然な動きが生じるという問題がある。
【０００３】
これらの問題を解決するためには、表示のフレーム間隔を短くすればよい。その具体的な手法として、ＭＰＥＧ（Ｍｏｔｉｏｎ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ　ｐｈａｓｅ）で用いられている動き補償を利用して補間フレームを作成し、隣接するフレーム間に内挿補間を行う方法がある。ＭＰＥＧにおける動き補償では、ブロックマッチング法によって検出される動きベクトルが用いられる。ブロックマッチング法とは、第１参照フレームを複数のブロックに分割し、各ブロックに対して第１参照フレームに隣接する第２参照フレームから最も相関の高いブロックを探索して、第２参照フレーム中の最も相関の高いブロックから第１参照フレーム中のブロックへのベクトルを動きベクトルとして求める手法である。
【０００４】
従来のフレーム補間方法として、例えば特開２０００−２２４５９３（特許文献１）に記載されているように、ブロックマッチング法をベースにしながら、ブロック内で領域分割を行うことによって、より精度の高いフレーム補間を行う手法が知られている。この手法によると、動き補償によって補間フレームを生成する際に、まず第１参照フレームと第２参照フレーム間について求められた第１動きベクトルを補間フレーム面と第１参照フレーム間の第２動きベクトルに変換する操作、すなわちスケール変換を行う。こうしてスケール変換された第１動きベクトルを用いて動き補償を行うことにより、補間フレームを生成する。すなわち、第２動きベクトルの終点を第１参照フレーム上に固定し、第１参照フレーム上の該終点が指し示すブロックの画像データを第２動きベクトルの始点が指し示す補間フレーム面上のブロックの位置にコピーする。
【０００５】
一方、特許２５２８１０３号（特許文献２）には、画像の隙間や重なりの生じないフレーム補間の手法が開示されている。この手法では、図１８に示すように補間フレームｑ面上の補間対象ブロックを中心として、幾何対称的に前後の参照フレームｐ１，ｐ２間の相関を求めて、矢印に示す動きベクトルを検出し、この動きベクトルを用いて動き補償を行うことにより補間フレームｑを生成する。従って、動きベクトルを求めた後にスケール変換することなく、ダイレクトに補間フレームを求めることができる。
【０００６】
【特許文献１】
特開２０００−２２４５９３
【０００７】
【特許文献２】
特許２５２８１０３号
【０００８】
【発明が解決しようとする課題】
特許文献１の手法では、スケール変換後の動きベクトルの始点位置は、必ずしも補間フレーム面上の本来の補間対象ブロックの位置と異なることから、図１７に示すように補間フレームに画像データの存在しない隙間ができてしまったり、逆に画像データが重なる領域ができてしまう。
【０００９】
特許文献２の方式では、補間フレーム面上に一様格子の補間対象ブロックを考えるため、補間フレームに画像の隙間や重なりが生じることはない。しかし、特許文献２の方式では、図１８に示すようにオブジェクト部分の相関がそれほど高くないために、オブジェクト部分に動きベクトルが検出されるべきところ、静止しているはずの背景部分に誤った動きベクトル（誤ベクトル）を割り当ててしまったりするという問題がある。
【００１０】
さらに、この方式では補間フレーム面を中心に幾何対照的に探索を行うが、通常のブロックマッチングとは異なり基準ブロックが決定していないために、ブロック同士の相関の対応が１対１にはならず、多対多の関係になってしまう。このため本来の動きを表現しているブロック対ではなく、誤ったブロック対を選択してしまい、動きベクトルの誤検出を行う可能性が高く、例えば本来オブジェクトが来るはずの部分に背景が誤って混入してきてしまったり、あるいは図１９のようにオクルージョン領域では動きベクトルの探索ができなくなり、正しい補間を行うことが難しいという問題がある。
【００１１】
本発明は、上述したような従来技術の問題点を解決して、高品質の補間フレームを生成するフレーム補間方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記の課題を解決するため、本発明は画像の第１参照フレームと第２参照フレームとの間の補間フレーム面上に補間フレームを内挿補間するフレーム補間方法において、第１参照フレームと第２参照フレームとの相関に基づきブロック単位の複数の第１動きベクトルを求めた後、該第１動きベクトルをそれぞれスケール変換した複数の第２動きベクトルを生成する。スケール変換は、第１動きベクトルの終点を固定し、始点を補間フレーム面上に移動させることにより行われる。
【００１３】
次に、補間フレーム面を分割した複数の補間対象ブロックのそれぞれに対して、複数の第２動きベクトルの中で補間対象ブロックに始点が含まれる第２動きベクトルを補間対象ブロックの始点に平行移動したときに、該補間対象ブロックに始点が含まれる第２動きベクトルの終点によって指し示される局所領域を探索領域として検出し、該探索領域の情報を含むオーバーラップ情報を出力する。すなわち、補間フレーム面を分割した複数の補間対象ブロック（第３ブロック）のそれぞれに対する、第２動きベクトルによって指し示される少なくとも一つの第４ブロックのオーバラップ状態を検出し、オーバラップが生じている場合に該オーバラップに関わる第２動きベクトルから探索領域を検出する。
【００１４】
次に、オーバラップ情報に基づき探索領域から第３動きベクトルを検出するステップと、第３動きベクトルを用いて補間対象ブロックに対して動き補償を行うことにより補間フレームを生成する。
【００１５】
第３動きベクトルを検出するステップは、例えば探索領域の数に従って補間対象ブロックがオクルージョン領域か、背景領域か、あるいは背景領域及びオブジェクト領域かを判定する判定ステップと、補間対象ブロックがオクルージョン領域であると判定された場合に、補間フレームから見て時間軸の前方または後方いずれか一方のみに存在する複数のフレームを用いて探索領域から第３動きベクトルをオクルージョン動きベクトルとして検出する第１の検出ステップと、補間対象ブロックが背景領域であると判定された場合に、補間フレーム面から見て時間軸の前方および後方に存在する複数のフレームを用いて探索領域から第３動きベクトルを背景動きベクトルとして検出する第２の検出ステップと、補間対象ブロックがオブジェクト領域であると判定された場合に、第１参照フレームと第２参照フレームを用いて探索領域から第３動きベクトルをオクルージョン動きベクトルとして検出する第３の検出ステップと有する。これらのオクルージョン動きベクトル、背景動きベクトルまたはオブジェクト動きベクトルを用いて、補間対象ブロックに対し動き補償を行うことにより、補間フレームを生成する。
【００１６】
本発明によると、第１参照フレームと第２参照フレームとの間の第１動ベクトルをスケール変換した第２動きベクトルによって動き補償を行うことで補間フレームを生成するのではなく、第２の動きベクトルを用いて補間フレーム面を分割した複数の補間対象ブロック（第３ブロック）への動き補償を行い、このときの第２動きベクトルにより指し示される第４ブロックのオーバラップ状態を求め、第２動きベクトルを平行移動することにより求められる探索領域を検出して、その探索領域の数から補間対象ブロックがオクルージョン領域か、背景領域か、あるいは背景領域及びオブジェクト領域かを判定し、それに基き探索領域によって限定された領域を探索することにより検出されるオクルージョン動きベクトル、背景動きベクトル及びオブジェクト動きベクトルを用いて動き補償を行うことにより、補間フレームを生成する。
【００１７】
従って、補間フレームに画像データの存在しない隙間ができたり、画像データが重なる部分ができてしまうという問題が基本的になく、さらに多対多の相関関係が発生しないように探索領域を限定することにより、誤った動きベクトルを選択してしまう可能性を減少させ、またオクルージョン領域においても、正しいフレーム補間を行うことが可能となる。
【００１８】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
［第１の実施形態］
ここでは、入力の画像信号（動画像信号）が６０Ｈｚのノンインタレース信号（プログレッシブ信号）であり、６０Ｈｚのノンインタレース信号に対して隣接する二つの参照フレーム間の時間的中央位置（補間フレーム面）に補間フレームを生成し、それを二つの参照フレーム間に内挿することにより１２０Ｈｚのノンインタレース信号に変換する場合を例にとって説明する。
【００１９】
まず、図１に示すように補間フレームｑを内挿する二つのフレームを参照フレームｐ１及び参照フレームｐ２とする。また、ここでは基準となるフレームを参照フレームｐ１とする。さらに、参照フレームｐ１に対して時間的に後のフレームを参照フレームｐ３とし、参照フレームｐ２に対して時間的に前のフレームを参照フレームｐ４とする。参照フレームｐ１，ｐ２，ｐ３，ｐ４の間の時間間隔は等しく１／（１Ｈｚ）とし、参照フレームｐ１とｐ２との時間的中央位置に補間フレームｑを内挿するものとする。ここでは、このような時間間隔と枚数の参照フレームを用いたが、これらはあくまで一例であり、特に限定されない。
【００２０】
図２に、本発明の第１の実施形態に係るフレーム補間装置の構成を示す。入力画像信号（動画像信号）１０は、縦続に配置されたフレームメモリ１１Ａ，１１Ｂ，１１Ｃと動き推定部１２に入力される。入力画像信号１０の現フレームを参照フレームｐ１とし、フレームメモリ１１Ａ，１１Ｂ，１１Ｃに蓄えられている画像信号をそれぞれ参照フレームｐ２，ｐ３，ｐ４とする。
【００２１】
動き推定部１２では、入力画像信号１０の現フレームである参照フレームｐ１を分割した複数の第１ブロックに対して、フレームメモリ１１Ａに蓄えられている画像信号である参照フレームｐ２から、第１ブロックと最も相関値の高い第２ブロックをそれぞれ探索し、第１ブロックの位置を始点とし第２ブロックの位置を終点とするベクトルを参照フレームｐ１，ｐ２間の第１動きベクトルｍｖ１として求める。第１動きベクトルｍｖ１は、スケール変換部１３によって第１参照フレームｐ１と補間フレームｑ面との間の第２動きベクトルｍｖ２にスケール変換される。第２動きベクトルｍｖ２は、オーバラップ検出部１４に入力される。
【００２２】
オーバラップ検出部１４は、補間フレームｑ面上の補間対象ブロックである第３ブロックに対して第２動きベクトルｍｖ２を用いて動き補償を行うときの第３ブロックに対する動き補償ブロック（第４ブロック、本実施形態では第２参照フレームｐ２上の第２ブロックのいずれかと同じ）のオーバラップ状態を検出し、オーバラップ領域（第５ブロック）の情報を第２動きベクトルｍｖ２及び第２動きベクトルｍｖ２から求まる探索領域の情報と共にオーバラップ情報（以下、オーバラップベクトルという）ｏｍｖ１として出力する。オーバラップベクトルｏｍｖ１は、背景動き推定部１５、オブジェクト動き推定部１６及びオクルージョン動き推定部１７に入力される。
【００２３】
背景動き推定部１５、オブジェクト動き推定部１６及びオクルージョン動き推定部１７では、オーバラップベクトルｏｍｖ１と入力画像信号１０の現フレームである参照フレームｐ１及びフレームメモリ１１Ａ，１１Ｂ，１１Ｃに蓄積された参照フレームｐ２，ｐ３，ｐ４に基づいて、補間フレームｑ面上の各第３ブロックが背景領域、オブジェクト領域及びオクルージョン領域である場合のそれぞれの動きを推定し、背景動きベクトルｍｖ３、オブジェクト動きベクトルｍｖ４及びオクルージョン動きベクトルｍｖ５を生成する。これらの動きベクトルｍｖ３、ｍｖ４及びｍｖ５は、オーバラップ動き補償部１８に入力される。
【００２４】
オーバラップ動き補償部１８は、背景動きベクトルｍｖ３、オブジェクト動きベクトルｍｖ４及びオクルージョン動きベクトルｍｖ５に従って補間フレームｑ面上のそれぞれの第３ブロックに動き補償を行うことにより、補間フレームｑの画像信号２０を生成する。この補間フレームｑの画像信号２０は、参照フレームｐ１とｐ２との時間的中央位置である補間フレーム面に内挿補間される。このようにしてフレーム補間が行われる。
【００２５】
次に、図３に示すフローチャートを用いて本実施形態におけるフレーム補間処理の手順について詳細に説明する。
（動き推定）
まず、動き推定ステップＳ１０１では、図４に示すように第１参照フレームｐ１を一様格子の小ブロックｂｋ１（第１ブロック）に分割し、それぞれの第１ブロックｂｋ１に対して、第２参照フレームｐ２の画像領域から最も相関値の高いブロックｂｋ２（第２ブロック）を探索して、第２ブロックｂｋ２と第１ブロックｂｋ１との間の第１動きベクトルｍｖ１を求める。第２ブロックｂｋ２の探索には、例えばブロックマッチングアルゴリズムを使うことができる。相関値の尺度には、例えば絶対値差分和（Ｓｕｍ　ｏｆ　Ａｂｓｏｌｕｔｅ　Ｄｉｆｆｅｒｅｎｃｅ、以下ＳＡＤという）を用いることができる。
【００２６】
（スケール変換）
次に、スケール変換ステップＳ１０２では、図４に示すように動き推定ステップＳ１０１で求められた第１動きベクトルｍｖ１の終点を第２ブロックｂｋ２上に固定し、参照フレームｐ２と補間フレームｑ面との間の時間間隔に応じて動きベクトルｍｖ１の始点を移動させることにより、第２動きベクトルｍｖ２を生成する。すなわち、第１参照フレームｐ１と第２参照フレームｐ２との間の第１動きベクトルｍｖ１を第１参照フレームｐ１と補間フレームｑ面との間の動きベクトルｍｖ２に変換する。この操作をスケール変換と呼ぶ。
【００２７】
参照フレームｐ２と補間フレームｑ面との間の時間間隔に応じた第１動きベクトルｍｖ１の始点の移動には、例えば線形補間を用いることができる。線形補間によると、参照フレームｐ１と参照フレームｐ２との時間間隔をｔとし、補間フレームｑ面と参照フレームｐ２との時間間隔をｎ、第１動きベクトルｍｖ１の始点をＳｍｖ１＝（Ｓｘ，Ｓｙ）とすれば、第１動きベクトルｍｖ１の移動後の始点、すなわち第２動きベクトルｍｖ２の始点Ｓｍｖ２は、次のように記述できる。
【数１】
2004128702.tif 000003
【００２８】
ただし、第１動きベクトルをｍｖ１＝（ｍｖ１ｘ，ｍｖ１ｙ）とする。ｍｖ１ｘはｍｖ１のｘ（横方向）成分、ｍｖ１ｙはｍｖ１のｙ（縦方向）成分である。本実施形態では、補間フレームｑ面の時間的位置が参照フレームｐ１と参照フレームｐ２のちょうど中間であり、ｎ／ｔ＝１／２であるため、Ｓｍｖ２はさらに以下のように表される。
【数２】
2004128702.tif 000004
【００２９】
（オーバラップ検出）
次に、オーバラップ検出ステップＳ１０３では、図４〜図６に示すように補間フレームｑ面を一様格子の小ブロックｂｋ３（第３ブロック）に分割し、図５及び図６に示すように個々の第３ブロックｂｋ３に対する、スケール変換ステップＳ１０２で得られた第２動きベクトルｍｖ２が指し示す少なくとも一つの第４ブロックｂｋ４（本実施形態では、第２ブロックｂｋ２のいずれかと同じ）のオーバラップ（重複）状態をそれぞれ検出する。図５及び図６において、斜線が第３ブロックｂｋ３に対する第４ブロックのオーバラップ領域を示しており、第３ブロックｂｋ３に対して二つの第４ブロックｂｋ４−１，ｂｋ４−２がオーバラップしている。図５の例では二つの第４ブロックｂｋ４−１，ｂｋ４−２は分離されている。勿論、このようなオーバラップ状態が元々存在しなければ、オーバラップ検出ステップＳ１０３では検出はなされない。
【００３０】
オーバラップ検出ステップＳ１０３では、このようなオーバラップ状態を検出し、補間フレームｑ面上の個々の第３ブロックｂｋ３に対する第４ブロックのオーバラップ領域を新たな小ブロックｂｋ５（第５ブロック）としてそれぞれ切り出す。そして、図６に示すように第２動きベクトルｍｖ２を小ブロックｂｋ３の始点に平行移動したときに、平行移動した動きベクトルｍｖ２′によって指し示される局所領域を探索領域ｓｒ１として決定し、第５ブロックｂｋ５の情報を探索領域ｓｒ１を示す情報と共にオーバラップ情報（以下、オーバラップベクトルという）ｏｍｖ１として出力する。オーバラップベクトルｏｍｖ１は、第３ブロックｂｋ３に対して必ず一つ出力されるというわけではなく、オーバラップ領域がなければ一つも出力されないし、図５及び図６のように複数のオーバラップベクトルｏｍｖ１−１，ｏｍｖ１−２が出力される場合もあり、オーバラップの有無及び状態によって変化する。
【００３１】
（オーバラップベクトル判定）
次のオーバラップ判定ステップＳ１０４を説明する前に、図７を用いてオクルージョンについて述べる。図７に示すように隣接する参照フレームｐ１，ｐ２間で双方向に動きベクトル（矢印で示す）の検出を行うと、オクルージョン領域は存在しない。ここでいうオクルージョン領域とは、片方向のフレームからのみでは対応する相関度の高い部分が見つからない領域である。これに対して、本実施形態では動き推定ステップＳ１０１において参照フレームｐ１を基準とする参照フレームｐ１と参照フレームｐ２との間の動きベクトル検出、すなわち片方向の動き推定しか行っていないため、オクルージョン領域が存在する可能性がある。
【００３２】
例えば、参照フレームｐ１上の動き領域が存在する第１ブロックから参照フレームｐ２へは動きベクトルを求めることができるが、参照フレームｐ１上の第１ブロックとフレーム内の位置が同じ参照フレームｐ２上の第２ブロックが背景領域の場合、背景領域は静止しているために第２ブロックから参照フレームｐ１への動きベクトルを求めることは難しく、オクルージョンが発生することになる。しかし、双方向の動きベクトル検出を行えば、上記のように参照フレームｐ１上の第１ブロックから参照フレームｐ２への動きベクトルを求めることができるため、オクルージョンの発生を回避できる。
【００３３】
第２動きベクトルｍｖ２は、前述のように第１動きベクトルｍｖ１をスケール変換しているので、オーバラップベクトルｏｍｖ１が存在している部分、すなわち補間フレームｑ面上のオーバラップ領域である第５ブロックｂｋ５が含まれる第３ブロックｂｋ３は、オクルージョン領域ではあり得ない。逆にいえば、オーバラップベクトルが存在しない部分がオクルージョン領域といえる。オーバラップベクトル判定ステップＳ１０４では、このことを利用している。
【００３４】
すなわち、オーバラップベクトル判定ステップＳ１０４では、オーバラップ検出ステップＳ１０３で求められたオーバラップベクトルｏｍｖ１の情報に従い、補間フレームｑ面上の第３ブロックｂｋ３がオクルージョン領域、背景領域及びオブジェクト領域のいずれの領域かを判定し、第３ブロックｂｋ３に対してオクルージョン動き推定、背景動き推定及びオブジェクト動き推定のいずれを用いるかを選択する。
【００３５】
具体的には、例えばオーバラップベクトルｏｍｖ１が全くない第３ブロックｂｋ３に対しては、そのブロックがオクルージョン領域であると判定し、オクルージョン動き推定ステップＳ１０７を用いる。一つのオーバラップベクトルｏｍｖ１のみが存在する第３ブロックｂｋ３に対しては、背景動き推定ステップＳ１０５を用いる。複数のオーバラップベクトルｏｍｖ１が存在する第３ブロックｂｋ３に対しては、背景動き推定ステップＳ１０５とオブジェクト動き推定ステップＳ１０６を用いるように切り替える。オーバラップベクトル判定ステップＳ１０４では、３つの動き推定ステップＳ１０５，Ｓ１０６，Ｓ１０７のいずれが用いられたかを示す情報をオーバラップベクトル判定情報ｏｊ１として出力し、オーバラップベクトルｏｍｖ１があればそれもオーバラップベクトル判定情報ｏｊ１に付加して出力し、ｏｍｖ１が存在しない場合、設定された領域（例えば、小ブロックｂｋ３の始点を中心とした１６×１６の矩形領域）を探索領域として含むｏｍｖ１を付加して出力する。
【００３６】
（背景動き推定）
背景動き推定ステップＳ１０５では、オーバラップベクトルｏｍｖ１に含まれる第２動きベクトルｍｖ２を初期値として、補間フレームｑ面上の第３ブロックｂｋ３に対する背景の動きを示す背景動きベクトルｍｖ３の探索を行う。
【００３７】
背景動きベクトルｍｖ３の探索に際しては、図８に示すように、まず補間フレームｑ面上の第３ブロックｂｋ３に対して、時間的に連続する４つの参照フレームｐ１，ｐ２，ｐ３，ｐ４において隣接する２つの参照フレーム間のブロック単位の相関値を求める。すなわち、（ａ）動きベクトルｄが指し示す参照フレームｐ２上の第２ブロックｂｋ２と動きベクトルｄ１＝−ｄが指し示す参照フレームｐ１上の第１ブロックｂｋ１との相関値ｃ１と、（ｂ）動きベクトルｄ１＝−ｄが指し示す参照フレームｐ１上の第１ブロックｂｋ１と動きベクトルｄ３＝−３ｄが指し示す参照フレームｐ３上の第４ブロックｂｋ４との相関値ｃ２、及び（ｃ）動きベクトルｄ２＝ｄが指し示す参照フレームｐ２上の第２ブロックｂｋ２と動きベクトルｄ４＝３ｄが指し示す参照フレームｐ４上の第５ブロックｂｋ５との相関値ｃ３を求める。そして、動きベクトルｄをオーバラップベクトルｏｍｖ１に含まれる探索領域の範囲内で変化させ、３つの相関値の和ｃ１＋ｃ２＋ｃ３＝Ｃが最大となる動きベクトルｄを探索する。
【００３８】
ここで、補間フレームｑ面上の第３ブロックｂｋ３に対して、オーバラップベクトルｏｍｖ１が一つの場合には、オーバラップベクトルｏｍｖ１に含まれる探索領域内で検出される動きベクトルｄの中で、相関値和Ｃが最大となる動きベクトルを背景動きベクトルｍｖ３として出力する。補間フレームｑ面上の第３ブロックｂｋ３に対して、オーバラップベクトルｏｍｖ１が複数ある場合には、上述のように複数のオーバラップベクトルｏｍｖ１に含まれる探索領域内で検出される動きベクトルｄの中で、相関値和Ｃが最大の動きベクトルを背景動きベクトルｍｖ３として出力する。
【００３９】
相関値ｃ１，ｃ２，ｃ３の演算（相関値和Ｃの演算）には、例えばＳＡＤを用いることができる。フレームｔ、点ｙにおける画像の輝度値をｆ（ｙ，ｔ）とすると、位置ベクトルｘを基点とする補間フレームｑ面上の第３ブロックｂｋ３に対するＳＡＤ演算の評価関数Ｆ（ｘ，ｄ）は、次のようになる。
【数３】
2004128702.tif 000005
【００４０】
ここで、Ｂは第３ブロックｂｋ３を表し、ＸはブロックＢ内の各点の基点ｘからの相対座標をベクトルで表す。
このように時間的に連続する複数の参照フレームを用いて、背景動きベクトルの探索を行う。背景の動きは画像全体の支配的な動きであり、一般的に画像内のオブジェクトの動きよりも安定している。そこで、本実施形態では時間的に連続した複数の参照フレームを用いることによって、より安定した動きを背景動きベクトルとして探索するようにしている。また、画像全体の支配的な動きであれば、オブジェクトよりも画像全体を覆っている可能性が高く、小さなオブジェクトよりも背景にマッチしやすくなるため、このように時間的な拡張を行っている。
【００４１】
上述した背景動き推定ステップＳ１０５の処理を一般化して示すと、次の通りである。
補間フレームｑ面の時間位置を原点としたときの第ｉ参照フレーム（ｉは１からｎまでの連続整数数列、ｎは２以上の任意の整数）の時間位置をｔｉ（時間の順方向を正とする実数）とし、補間フレームｑ面から参照フレームｐ２への動きベクトルをｄ（ｄ＝ｍｖ２を初期値とする）とする。
第ｉ参照フレームと第ｊ参照フレーム（ｊは１からｎまでの整数、但しｉ≠ｊ）に対して、ベクトルｄｉ＝ｄ・ｔｉ／ｔ２が指し示す第ｉ参照フレーム上のブロックと、ベクトルｄｊ＝ｄ・ｔｊ／ｔ２が指し示す第ｊ参照フレーム上のブロックとの相関値ｃｉを２以上の全てのｉについて求める。
次に、少なくとも一つのオーバラップベクトルｏｍｖ１に含まれる探索領域内から検出される動きベクトルｄの中で、相関値和Ｃが最大の動きベクトルを背景動きベクトルｍｖ３として出力する。
【００４２】
（オブジェクト動き推定）
次に、オブジェクト動き推定ステップＳ１０６では、オーバラップ検出ステップＳ１０３で求められたオーバラップベクトルｏｍｖ１に含まれる第２動きベクトルｍｖ２を初期値として、補間フレームｑ面上の第３ブロックｂｋ３に対するオブジェクトの動きを示すオブジェクト動きベクトルｍｖ４を求める。
【００４３】
オブジェクト動きベクトルｍｖ４の探索に際しては、図９に示すように、まず補間フレームｑ面上の第３ブロックｂｋ３に対して、動きベクトルｄが指し示す参照フレームｐ２上の第２ブロックｂｋ２とベクトルｄ１＝−ｄが指し示す参照フレームｐ１上の第１ブロックｂｋ１との相関値ｃ１を求める。そして、動きベクトルｄをオーバラップベクトルｏｍｖ１に含まれる探索領域の範囲内で変化させ、相関値ｃ１が最大となる動きベクトルｄを探索する。
【００４４】
ここで、補間フレームｑ面上の第３ブロックｂｋ３に対して、オーバラップベクトルｏｍｖ１が一つの場合には、オーバラップベクトルｏｍｖ１に含まれる探索領域内で検出される動きベクトルｄの中で、相関値ｃ１が最大となる動きベクトルをオブジェクト動きベクトルｍｖ４として出力する。補間フレームｑ面上の第３ブロックｂｋ３に対して、オーバラップベクトルｏｍｖ１が複数ある場合には、上述のように複数のオーバラップベクトルｏｍｖ１に含まれる探索領域内で検出される全ての動きベクトルｄをオブジェクト動きベクトルｍｖ４として出力する。さらに、オブジェクト動き推定ステップＳ１０６では、オーバラップベクトルｏｍｖ１に付加されている第５ブロックｂｋ５の情報をオブジェクト動きベクトルｍｖ４に付加して出力する。
【００４５】
相関値ｃ１の演算には、例えばＳＡＤを用いることができる。フレームｔ、点ｙにおける画像の輝度値をｆ（ｙ，ｔ）とすると、位置ベクトルｘを基点とする補間フレームｑ面上のブロックＢに対するＳＡＤ演算の評価関数Ｆ（ｘ，ｄ）は、次のようになる。
【００４６】
【数４】
2004128702.tif 000006
【００４７】
ここで、式（３）の場合と同様、Ｂは第３ブロックｂｋ３を表し、ＸはブロックＢ内の各点の基点ｘからの相対座標ベクトルで表す。
上述したオブジェクト動き推定ステップＳ１０６の処理を一般化して示すと、次のようになる。
補間フレームｑ面と参照フレームｐ１及びｐ２との時間間隔をｔ１，ｔ２（いずれも実数）とし、補間フレームｑ面から参照フレームｐ２への動きベクトルをｄとする。
次に、動きベクトルｄが指し示す第２参照フレームｐ２上のブロックｂｋ２と、ベクトルｄ１＝−ｄ・ｔ１／ｔ２が指し示す第１参照フレームｐ１上のブロックｂｋ１との相関値ｃを求める。
次に、少なくとも一つのオーバラップベクトルｏｍｖ１に含まれる探索領域内で検出される動きベクトルｄの全てをオブジェクト動きベクトルｍｖ４として出力する。
【００４８】
（オクルージョン動き推定）
次に、オクルージョン動き推定ステップＳ１０７では、オーバラップ検出ステップＳ１０３によりオーバラップベクトルｏｍｖ１が求められなかった場合に、補間フレームｑ面上の第３ブロックｂｋ３に対して、オクルージョン領域の動きを示すオクルージョン動きベクトルｍｖ５を求める。
【００４９】
オクルージョン動きベクトルｍｖ５の探索に際しては、図１０に示すように、まず補間フレームｑ面上の第３ブロックｂｋ３に対して、動きベクトルｄが指し示す参照フレームｐ２上の第２ブロックｂｋ２と、ベクトルｄ４＝３ｄが指し示す参照フレームｐ４上の第５ブロックｂｋ５との相関値ｃ３を求める。そして、相関値ｃ３が最大となる動きベクトルｄを探索し、相関値ｃ３が最大となる動きベクトルｄをオクルージョン動きベクトルｍｖ５として求める。
【００５０】
相関値ｃ３の演算には、ＳＡＤを用いる。フレームｔ、点ｙにおける画像の輝度値をｆ（ｙ，ｔ）とすると、位置ベクトルｘを基点とする補間フレームｑ面上のブロックＢに対するＳＡＤ演算の評価関数Ｆ（ｘ，ｄ）は、次のようになる。
【００５１】
【数５】
2004128702.tif 000007
【００５２】
ここで、式（３）（４）と同様、Ｂは第３ブロックｂｋ３を表し、ＸはブロックＢ内の各点の基点ｘからの相対座標を表すベクトルを表す。
【００５３】
オクルージョン領域については、背景動き推定とは異なり、単純に補間フレームｑ面の前後の参照フレームｐ１，ｐ２だけからは探索が難しいため、上記のように時間的に離れた複数の参照フレーム（図１０の例では、参照フレームｐ４）の情報を利用することによって、オクルージョン動きベクトルｍｋ５の検出を可能とする。
【００５４】
上述したオクルージョン動き推定ステップＳ１０７の処理を一般化して示すと、次の通りである。
補間フレームｑ面の時間位置を原点としたときの第ｉ参照フレーム（ｉは１からｎまでの連続整数数列、ｎは２以上の任意の整数）の時間位置をｔｉ（時間の順方向を正とする実数）とし、補間フレームｑ面から参照フレームｐ２への動きベクトルをｄとする。
ここで、補間フレームから見て時間軸の前方または後方の方向のうち、オクルージョン動きベクトルの検出に最適な方向を求める。この最適な方向は、例えば後述する第２の実施形態で説明するように、補間フレームから見て時間軸の前方及び後方の方向の双方向についての動きベクトル検出、すなわち前方動き推定及び後方動き推定を行い、相関値の高い方を検出することにより求めることができる。
次に、求められた最適な方向に存在する第ｉ参照フレームと第ｊ参照フレーム（ｊは１からｎまでの整数、但しｉ≠ｊ）に対して、ベクトルｄｉ＝ｄ・ｔｉ／ｔ２が指し示す第ｉ参照フレーム上のブロックと、ベクトルｄｊ＝ｄ・ｔｊ／ｔ２が指し示す第ｊ参照フレーム上のブロックとの相関値ｃｉを２以上の全てのｉについて求める。
次に、オーバラップベクトルｏｍｖ１に含まれる探索領域内で検出される動きベクトルｄのうち、相関値ｃｉの和Ｃが最大の動きベクトルをオクルージョン動きベクトルｍｖ５として出力する。
【００５５】
（オーバラップ動き補償）
次に、オーバラップ動き補償ステップＳ１０８では、背景動きベクトルｍｖ３、オブジェクト動きベクトルｍｖ４、オクルージョン動きベクトルｍｖ５、オーバラップベクトル判定情報ｏｊ１及び参照フレームｐ１，ｐ２に基づいてオーバラップ動き補償を行い、補間フレームｑを生成する。
具体的には、まず補間フレームｑ面上の第３ブロックｂｋ３に対して、オーバラップベクトル判定情報ｏｊ１を参照してオクルージョン動き推定、背景動き推定及びオブジェクト動き推定のいずれが行われたかを調べる。
【００５６】
オーバラップベクトル判定情報ｏｊ１がオクルージョン動き推定が行われたことを示している場合には、オクルージョン動きベクトルｍｖ５が指し示す参照フレームｐ２上のブロックを補間フレームｑ面上の第３ブロックｂｋ３にコピーして、第３ブロックｂｋ３の背景画像信号とする。
【００５７】
オーバラップベクトル判定情報ｏｊ１が背景動き推定が行われたことを示している場合には、背景動きベクトルｍｖ３が指し示す参照フレームｐ２上のブロックと、−ｍｖ３が指し示す参照フレームｐ１上のブロックとの平均をとったものを補間フレームｑ面上の第３ブロックｂｋ３上にコピーして、第３ブロックｂｋ３の背景画像信号とする。
【００５８】
オーバラップベクトル判定情報ｏｊ１がオブジェクト動き推定が行われたことを示している場合には、オブジェクト動きベクトルｍｖ４が指し示す参照フレームｐ２上の第２ブロックと、−ｍｖ４が指し示す参照フレームｐ１上の第１ブロックとの画素毎の差分をとり、その差分が所定の閾値（例えば１０）以下の領域のみを切り出し、切り出した領域のうちオブジェクト動きベクトルｍｖ４に含まれている第５ブロックｂｋ５と一致する部分のみを補間フレームｑ面上の第３ブロックｂｋ３にオブジェクト画像信号としてコピーする。オブジェクト動きベクトルｍｖ４が複数個ある場合には、それぞれのｍｖ４のうちで最も相関値の低いものから順に同様のコピー処理を行う。
以上の処理を補間フレームｑ面上の全ての第３ブロックｂｋ３に対して行うことにより、補間フレームｑを生成する。
【００５９】
上述したオーバラップ動き補償ステップＳ１０８の処理を一般化して示すと、次の通りである。
補間フレームｑ面と参照フレームｐ１及びｐ２との時間間隔をｔ１，ｔ２（いずれも実数）とし、オクルージョン動きベクトルｍｖ５、背景動きベクトルｍｖ３及びオブジェクト動きベクトルｍｖ４を動きベクトルｄで表したとき、オーバラップベクトル判定ステップＳ１０４で得られたオーバラップベクトル判定情報ｏｍｖ１に基づいて、
（ａ）オクルージョン動き推定が行われたと判定されている場合（オクルージョン動きベクトルｍｖ５＝ｄが検出された場合）には、オクルージョン動きベクトルｄが指し示す第２参照フレームｐ２上のブロックを補間フレームｑ面上の第３ブロックｂｋ３に背景画像信号としてコピーし、
（ｂ）背景動き推定が行われたと判定されている場合（背景動きベクトルｍｖ３＝ｄが検出された場合）には、背景動きベクトルｄが指し示す第２参照フレームｐ２上のブロックと動きベクトルｄ１＝−ｄ・ｔ１／ｔ２が指し示す第１参照フレームｐ１上のブロックとの平均を補間フレームｑ面上の第３ブロックｂｋ３に背景画像信号としてコピーし、
（ｃ）オブジェクト動き推定が行われたと判定されている場合（オブジェクト動きベクトルｍｖ４＝ｄが検出された場合）には、複数のオブジェクト動きベクトルｄについて、オブジェクト動きベクトルｄが指し示す第２参照フレームｐ２上の第２ブロックと動きベクトルｄ１＝−ｄ・ｔ１／ｔ２が指し示す第１参照フレームｐ１上の第１ブロックとの画素毎の差分を該第２ブロックと該第１ブロックと相関値の小さいものから順にとる。そして、該差分が閾値以下の画素であって、かつオーバラップベクトルｏｍｖ１に含まれる第５ブロック内の画素を補間フレームｑ面上の第３ブロックｂｋ３にオブジェクト画像信号としてコピーする。
【００６０】
このように本実施形態では、第１参照フレームｐ１と第２参照フレームｐ２との間の第１動ベクトルｍｖ１をスケール変換した第２動きベクトルｍｖ２によって補間フレームｑ面上の第３ブロックｂｋ３に対し動き補償を行って、第２動きベクトルｍｖ２により指し示される第４ブロックｂｋ４のオーバラップ状態をオーバラップベクトルｏｍｖ１として検出し、オーバラップベクトルｏｍｖ１に含まれる第２動きベクトルｍｖ２の数に基づいて第３ブロックｂｋ３がオクルージョン領域か、背景領域か、あるいは背景領域及びオブジェクト領域かを判定し、それに基づいて検出されるオクルージョン動きベクトルｍｖ５、背景動きベクトルｍｖ３及びオブジェクト動きベクトルｍｖ４を用いて動き補償を行うことにより、補間フレームｑを生成する。
【００６１】
こうすることにより、補間フレームｑに画像データの存在しない隙間ができたり、画像データが重なる部分ができてしまうという特開２０００−２２４５９３の問題が解消される。また、特許２３２８１０３では正しいフレーム補間が困難であった、補間フレーム面の補間対象ブロック上で背景の動きとオブジェクトの動きのような複数の動きが重なっている領域や、オクルージョン領域でのフレーム補間を正しく行うことができる。
【００６２】
［第２の実施形態］（双方向探索）
図１１に、本発明の第２の実施形態に係るフレーム補間装置の構成を示す。本実施形態では、時間的に双方向の動きベクトル探索を行うことによってオクルージョンの問題を回避する。図２に示した第１の実施形態に係るフレーム補間装置との相違点について説明すると、本実施形態では動き推定部に双方向動き推定部２１が用いられ、さらにアドレスセット生成部２２が追加されている。双方向動き推定部２１は、第１及び第２参照フレームｐ１，ｐ２の間の双方向の動き推定を行って第１動きベクトルｍｖ１を生成する。アドレスセット生成部２１は、背景動き推定部１５、オブジェクト動き推定部１６及びオクルージョン動き推定部１７が参照フレームを参照するためのアドレスが集合になったアドレスセットを生成し、これを背景動き推定部１５、オブジェクト動き推定部１６及びオクルージョン動き推定部１７に与える。
【００６３】
次に、図１３に示すフローチャートを用いて本実施形態におけるフレーム補間処理について説明する。
（双方向動き推定）
双方向動き推定ステップＳ２００では、第１の実施形態における動き推定ステップＳ１０１と同様に、第１参照フレームｐ１を一様格子の第１ブロックｂｋ１に分割し、それぞれの第１ブロックｂｋ１に対して、第２参照フレームｐ２の画像領域から最も相関値の高い第２ブロックｂｋ２を探索して、第１ブロックｂｋ１と第２ブロックｂｋ２との間の動きベクトル（順方向動きベクトルという）ｍｖ１ａを求める。
【００６４】
さらに、参照フレームｐ２を一様格子の小ブロックｂｋ６（第６ブロック）に分割し、それぞれの第６ブロックｂｋ６に対して、参照フレームｐ１の画像領域から最も相関値の高いブロックｂｋ７（第７ブロック）を探索して、第６ブロックｂｋ６と第７ブロックｂｋ７との間の動きベクトル（逆方向動きベクトルという）ｍｖ１ｂを求める。
【００６５】
ここで、順方向動きベクトルｍｖ１ａは、時間的に過去のフレームから時間的に未来のフレームに対する動きベクトルであり、前方動き推定によって求められる。これに対し、逆方向動きベクトルｍｖ１ｂは、時間的に未来のフレームから時間的に過去のフレームに対する動きベクトルであり、後方動き推定によって求められる。
【００６６】
次に、これら二つの動きベクトルｍｖ１ａ及びｍｖ１ｂにそれぞれ関わる相関値、すなわち第１ブロックｂｋ１と第２ブロックｂｋ２との相関値、及び第６ブロックｂｋ６と第７ブロックｂｋ７との相関値を比較し、ｍｖ１ａ及びｍｖ１ｂのうち相関値の高い方に対応する動きベクトルを第１動きベクトルｍｖ１として出力する。第１動きベクトルｍｖ１には、これがｍｖ１ａとｍｖ１ｂのいずれかを示す情報、つまり前方動き推定により求められた動きベクトルであるか、後方動き推定によって求められた動きベクトルであるかの情報（以下、動き推定方向情報という）も付加する。
【００６７】
（アドレスセット生成）
アドレスセット生成ステップＳ２０１では、双方向動き推定ステップＳ２００で生成された第１動きベクトルｍｖ１に付加されている動き推定方向情報に基づき、背景動き推定ステップＳ２０５、オブジェクト動き推定ステップＳ２０６及びオクルージョン動き推定ステップＳ２０７が参照フレームを参照するためのアドレスが集合になったアドレスセットを生成する。
【００６８】
図１２を用いて説明すると、実際のフレームには、例えば時間の順方向にｉ−１，ｉ，ｉ＋１，ｉ＋２というようにアドレス付けがなされているとする。時間の順方向に対応する前方アドレスセットは、フレームｉ−１，ｉ，ｉ＋１，ｉ＋２に対して参照フレームｐ３，ｐ１，ｐ２，ｐ４のようにラベル付けする。一方、時間の逆方向に対応する後方アドレスセットは、順方向とは逆方向に、フレームｉ−１，ｉ，ｉ＋１，ｉ＋２に対して、参照フレームｐ４，ｐ２，ｐ１，ｐ３のようにラベル付けする。このようにフレームｉとフレームｉ＋１との間の補間フレームｑ面を中心として、点対称にラベル付けを変更する。このアドレスセットは、双方向動き推定ステップＳ２００における前方動き推定と後方動き推定に対して、背景動き推定ステップＳ２０５、オブジェクト動き推定ステップＳ２０６及びオクルージョン動き推定ステップＳ２０７が対応するために必要となる。
【００６９】
（スケール変換）
スケール変換ステップＳ２０２では、第１の実施形態におけるスケール変換ステップＳ１０２と全く同様の処理を行うが、第１動きベクトルｍｖ１に付与されている動き推定方向情報を出力の第２動きベクトルｍｖ２にも付加する。
【００７０】
（オーバラップ検出）
オーバラップ検出ステップＳ２０３は、第１の実施形態におけるオーバラップ検出ステップＳ１０３と同様の処理を行うが、動きベクトルｍｖ１に付加された動き推定方向情報を出力のオーバラップベクトルｏｍｖ１にも付加する。
【００７１】
（オーバラップベクトル判定）
オーバラップベクトル判定ステップＳ２０４は、第１の実施形態におけるオーバラップベクトル判定ステップＳ１０４と同様の処理を行うが、動き推定方向情報が付加されたオーバラップベクトルｏｍｖ１をオーバラップベクトル判定情報ｏｊ１と共に出力する。
【００７２】
（背景動き推定）
背景動き推定ステップＳ２０５は、第１の実施形態における背景動き推定ステップＳ１０５と基本的に同様であるが、式（３）に示した相関値和ＣのＳＡＤ演算において、オーバラップベクトルｏｍｖ１に付加されている動き推定情報に基づき、前方動き推定の場合には参照フレームｐ１をフレームｉ、参照フレームｐ２をフレームｉ＋１、参照フレームｐ３をフレームｉ−１、参照フレームｐ４をフレームｉ＋２とし、後方動き推定の場合には参照フレームｐ１をフレームｉ＋１、参照フレームｐ２をフレームｉ、参照フレームｐ３をフレームｉ＋２、参照フレームｐ４をフレームｉ−１とする。
【００７３】
（オブジェクト動き推定）
オブジェクト動き推定ステップＳ２０６は、第１の実施形態におけるオブジェクト動き推定ステップＳ１０６と基本的に同様であるが、式（４）における相関値ｃ１のＳＡＤ演算において、前方動き推定の場合には参照フレームｐ１をフレームｉ、参照フレームｐ２をフレームｉ＋１とし、後方動き推定の場合には参照フレームｐ１をフレームｉ＋１、参照フレームｐ２をフレームｉとする。
【００７４】
（オクルージョン動き推定）
オクルージョン動き推定ステップＳ２０７は、第１の実施形態におけるオクルージョン動き推定ステップＳ１０７と基本的に同様であるが、オーバラップベクトルｏｍｖ１に付加されている動き推定方向情報に基づいて、補間フレームｑ面上の第３ブロックｂｋ３のうち、前方動き推定となっているブロックに対しては前方アドレスセットを用い、動き推定方向が後方動き推定となっているブロックに対しては後方アドレスセットを用いる。この場合には、式（５）における相関値ｃ３のＳＡＤ演算において、前方動き推定の場合には参照フレームｐ２をフレームｉ＋１、参照フレームｐ４をフレームｉ＋２とし、後方動き推定の場合には参照フレームｐ２をフレームｉ、参照フレームｐ４をフレームｉ−１とする。
【００７５】
（オーバラップ動き補償）
オーバラップ動き補償ステップＳ２０８は、第１の実施形態におけるオーバラップ動き補償ステップＳ１０８と同様に、背景動きベクトルｍｖ３、オブジェクト動きベクトルｍｖ４、オクルージョン動きベクトルｍｖ５、オーバラップベクトル判定情報ｏｊ１、参照フレームｐ１及びｐ２からオーバラップ動き補償を行って補間フレームｑを生成するが、オーバラップベクトルｏｍｖ１に付加されている動き推定方向情報に基づいて、補間フレームｑ面上の第３ブロックｂｋ３のうち、動き推定方向が前方動き推定となっているブロックに対しては前方アドレスセットを用い、動き推定方向が後方動き推定となっているブロックに対しては後方アドレスセットを用いる。
【００７６】
本実施形態によれば、第１の実施形態による効果に加えて、双方向動き推定を行い、前方動き推定に基づく動き補償と後方動き推定に基づく動き補償のうち良好な方を採用して補間フレームを生成するため、より一層良好なフレーム補間が可能となるという利点がある。
【００７７】
［第３の実施形態］（階層探索）
図１５に、本発明の第３の実施形態に係るフレーム補間装置の構成を示す。本実施形態は、動きベクトルを大きな探索領域から探索する際に、エラーを少なくして計算時間を縮小するために階層探索を採用した例である。
【００７８】
例えば、動きの速い物体は一定の時間間隔内により大きな距離を動くため、動きの速い物体にも対応させようとすると、動きベクトル探索領域を大きくしなければならない。動きベクトル探索領域を大きくすると、その分だけ隣接フレーム間で相関値の高いブロック対が増えるため、誤った動きベクトルを選択してしまう可能性が高くなる。また、動きベクトル探索領域が大きくなることは、その分余計な計算が増えることになり、好ましくない。
【００７９】
そこで、本実施形態では階層的なピクチャ構造を導入する。元の入力画像信号１０をサブサンプリングした階層をいくつか用意することによって、大きな動きはサブサンプリングされた粗い画像信号の階層で求め、細かい動きをサブサンプリングされていない元の入力画像信号１０の階層で求める。サブサンプリングされている階層は、その分高域のノイズ成分もカットされ、画像サイズも圧縮されているために、大きな動きを検出するのに適している。このようにすることによって、少ない計算量で大きな動きにも対応することができる。本実施形態では、元の入力画像を１回サブサンプリングした上位階層を一つ用意した２階層構造について説明するが、これに限ったものではなく、何階層の構造でも構築可能である。
【００８０】
図１４に示すフレーム間補間装置では、図１１に示したフレーム補間装置に対してサブサンプリング部２３とフレームメモリ２４が追加されている。サブサンプリング部２３は、入力画像信号１０をサブサンプリングし、サブサンプリングした画像信号を双方向動き推定部２１及びフレームメモリ２４に供給する。双方向動き推定部２１は、サブサンプリング部２３からの画像信号を第１参照フレームｐ１′とし、フレームメモリ２４からの画像信号を第２参照フレームｐ２′として第２の実施形態と同様に双方向の動き推定を行う。
【００８１】
図１５は、本実施形態におけるフレーム補間処理を示すフローチャートであり、第２の実施形態のフレーム補間処理を示す図１３に対して、サブサンプリング部２３よるサブサンプリングステップＳ３００が追加されている。サブサンプリングステップＳ３００では、参照フレームｐ１，ｐ２をサブサンプリングして参照フレームｐ１′，ｐ２′を求める。ここでは、１回のサブサンプリングを行い、画像の縦と横を１／２にする。参照フレームｐ１′は、フレームメモリ２４を介して出力される。
【００８２】
双方向動き推定ステップＳ２００は、基本的に第２の実施形態と同様であるが、第２の実施形態ではサブサンプリング後の参照フレームｐ１′，ｐ２′に対して双方向の動き推定を行う点が異なる。
【００８３】
すなわち、本実施形態の動き推定ステップＳ２００では、参照フレームｐ１′を一様格子の小ブロックｂｋ１に分割し、それらの小ブロックｂｋ１に対して参照フレームｐ２′の画像領域から最も相関値の高いブロックを探索して動きベクトルｍｖ１ａを求め、次に参照フレームｐ２′を一様格子の小ブロックｂｋ６に分割し、それらの小ブロックｂｋ６に対して、参照フレームｐ１′の画像領域から最も相関値の高いブロックを探索して動きベクトルｍｖ１ｂを求める。次に、これら二つの動きベクトルｍｖ１ａ及びｍｖ１ｂにそれぞれ関わる二つの相関値である第１ブロックｂｋ１と第２ブロックｂｋ２との相関値、及び第６ブロックｂｋ６と第７ブロックｂｋ７との相関値を比較し、ｍｖ１ａ及びｍｖ１ｂのうち相関値の高い方に対応する動きベクトルを第１動きベクトルｍｖ１として出力する。第１動きベクトルｍｖ１には、これがｍｖ１ａとｍｖ１ｂのいずれかを示す情報、つまり前方動き推定により求められた動きベクトルであるか、後方動き推定によって求められた動きベクトルであるかの動き推定方向情報も付加する。
【００８４】
スケール変換ステップＳ２０２は、基本的に第１及び第２の実施形態と同様であるが、双方向動き推定ステップＳ２００で得られた第１動きベクトルｍｖ１に対して、動きベクトルｍｖ１の終点を固定し、参照フレームｐ２と補間フレームｑ面の間の時間間隔に応じて、かつサブサンプリングされている分のスケールに合わせて動きベクトルｍｖ１の始点を移動させることにより、スケール変換された第２動きベクトルｍｖ２を生成する。また、動きベクトルｍｖ１に付与されている動き推定方向情報も、動きベクトルｍｖ２に付与して出力する。時間間隔とサンプリングスケールに応じた始点の移動は、例えば線形補間を考えることができる。線形補間によると、参照フレームｐ１と参照フレームｐ２との時間間隔をｔ、補間フレームｑ面と参照フレームｐ２との時間間隔をｎ、縦方向のサブサンプリング回数をｊ、横方向のサブサンプリング回数をｋとし、第１動きベクトルｍｖ１の移動前の始点をＳｍｖ１＝（Ｓｘ，Ｓｙ）とすれば、第１動きベクトルｍｖ１の移動後の始点、すなわち第２動きベクトルｍｖ２の始点Ｓｍｖ２は、次のように記述できる。
【数６】
2004128702.tif 000008
【００８５】
ただし、第１動きベクトルをｍｖ１＝（ｍｖ１ｘ，ｍｖ１ｙ）とする。ｍｖ１ｘはｍｖ１のｘ（横方向）成分、ｍｖ１ｙはｍｖ１のｙ（縦方向）成分である。本実施形態では、補間フレームｑ面の時間的位置が参照フレームｐ１と参照フレームｐ２のちょうど中間であるためｎ／ｔ＝１／２であり、また縦横とも１回ずつサンプリングされているため、Ｓｍｖ２はさらに以下のように表される。
【数７】
2004128702.tif 000009
【００８６】
以降のステップＳ２０３〜Ｓ２０８の処理は第２の実施形態に準ずるため、説明を省略する。
【００８７】
［第４の実施形態］階層探索＋双方向時間拡張バージョン
図１６に、本発明の第４の実施形態に係るフレーム補間装置の構成を示す。本実施形態は、第３の実施形態における階層構造と、時間方向に拡張した動きベクトル探索を組み合わせて、よりロバスト性を高くした例である。本実施形態では、元の入力画像信号１０を１回サブサンプリングした上位階層を一つ用意した２階層構造について説明するが、これに限るものではなく、何階層の構造でも構築可能である。
【００８８】
第３の実施形態との相違点を説明すると、本実施形態ではサブサンプリングされた画像信号を蓄積するために３つのフレームメモリ２４Ａ，２４Ｂ，２４Ｃが設けられ、さらに双方向動き推定部２１とは別に時間拡張動き推定部２５が設けられている。
【００８９】
サブサンプリング部２３よるサブサンプリングステップでは、参照フレームｐ１，ｐ２，ｐ３，ｐ４をサブサンプリングし、参照フレームｐ１′，ｐ２′，ｐ３′，ｐ４′を求める。ここでは、１回のサブサンプリングを行い、画像の縦と横のサイズを１／２にする。参照フレーム１′，ｐ２′，ｐ３′，ｐ４′は、それぞれフレームメモリ２４Ａ，２４Ｂ，２４Ｃを介して出力される。
【００９０】
双方向動き推定部２１による双方向動き推定ステップでは、第３の実施形態と全く同様に参照フレームｐ１′を一様格子の小ブロックｂｋ１に分割し、それらの小ブロックｂｋ１に対して参照フレームｐ２′の画像領域から最も相関値の高いブロックを探索して動きベクトルｍｖ１ａを求め、次に参照フレームｐ２′を一様格子の小ブロックｂｋ６に分割し、それらの小ブロックｂｋ６に対して、参照フレームｐ１′の画像領域から最も相関値の高いブロックを探索して動きベクトルｍｖ１ｂを求める。
【００９１】
次に、これら二つの動きベクトルｍｖ１ａ及びｍｖ１ｂにそれぞれ関わる二つの相関値である第１ブロックｂｋ１と第２ブロックｂｋ２との相関値、及び第６ブロックｂｋ６と第７ブロックｂｋ７との相関値を比較し、ｍｖ１ａ及びｍｖ１ｂのうち相関値の高い方に対応する動きベクトルを第１動きベクトルｍｖ１として出力する。第１動きベクトルｍｖ１には、これがｍｖ１ａとｍｖ１ｂのいずれかを示す情報、つまり前方動き推定により求められた動きベクトルであるか、後方動き推定によって求められた動きベクトルであるかの動き推定方向情報も付加する。
【００９２】
次に、時間拡張動き推定部２５による時間拡張動き推定ステップでは、参照フレームｐ１′，ｐ２′，ｐ３′，ｐ４′から時間方向にロバスト性の高い動きベクトルを探索して求める。探索の際には、参照フレームｐ１′上の小ブロックｂｋ３に対して、（ａ）動きベクトルｄが指し示す参照フレームｐ２′上の小ブロックと小ブロックｂｋ３との相関値ｃ１と、（ｂ）小ブロックｂｋ３とベクトルｄ３＝−ｄが指し示す参照フレームｐ３′上の小ブロックとの相関値ｃ２、及び（ｃ）ベクトルｄ２＝ｄが指し示す参照フレームｐ２′上の小ブロックとベクトルｄ４＝２ｄが指し示す参照フレームｐ４′上の小ブロックとの相関値ｃ３を求める。そして、３つの相関値の和ｃ１＋ｃ２＋ｃ３＝Ｃが最大となる動きベクトルｍｖ１′ａを探索する。
【００９３】
さらに、参照フレームｐ２′上の小ブロックｂｋ１０に対して、（ｄ）動きベクトルｄが指し示す参照フレームｐ１′上の小ブロックと小ブロックｂｋ１０との相関値ｃ１と、（ｅ）小ブロックｂｋ１０とベクトルｄ３＝−ｄが指し示す参照フレームｐ４′上の小ブロックとの相関値ｃ２、及び（ｆ）ベクトルｄ２＝ｄが指し示す参照フレームｐ１′上の小ブロックとベクトルｄ４＝２ｄが指し示す参照フレームｐ３′上の小ブロックとの相関値ｃ３を求める。そして、３つの相関値の和ｃ１＋ｃ２＋ｃ３＝Ｃが最大となる動きベクトルｍｖ１′ｂを探索する。
【００９４】
次に、これら二つの動きベクトルｍｖ１′ａ及びｍｖ１′ｂにそれぞれ関わる二つの相関値を比較し、ｍｖ１ａ及びｍｖ１ｂのうち相関値の高い方に対応する動きベクトルを動きベクトルｍｖ１′として出力する。動きベクトルｍｖ１′には、これがｍｖ１′ａとｍｖ１′ｂのいずれかを示す情報、つまり前方動き推定により求められた動きベクトルであるか、後方動き推定によって求められた動きベクトルであるかの動き推定方向情報も付加する。
他の処理は第３の実施形態に準ずるため、説明を省略する。
【００９５】
【発明の効果】
以上説明したように、本発明によれば補間フレームに画像データの存在しない隙間ができたり、画像データが重なる部分ができてしまうという問題が基本的になく、さらに誤った動きベクトルを選択してしまう可能性を減少させ、またオクルージョン領域においても正しいフレーム補間を行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態を説明するための参照フレームと補間フレームの関係を示す図
【図２】本発明の第１の実施形態に係るフレーム補間装置の構成を示すブロック図
【図３】同実施形態におけるフレーム補間処理の手順を示すフローチャート
【図４】動きベクトルのスケール変換についての説明図
【図５】オーバラップについての説明図
【図６】オーバラップについての説明図
【図７】オクルージョン動き推定についての説明図
【図８】背景動き推定についての説明図
【図９】オブジェクト動き推定についての説明図
【図１０】オクルージョン動き推定についての説明図
【図１１】本発明の第２の実施形態に係るフレーム補間装置の構成を示すブロック図
【図１２】同実施形態におけるアドレスセットについての説明図
【図１３】同実施形態におけるフレーム補間処理の手順を示すフローチャート
【図１４】本発明の第３の実施形態に係るフレーム補間装置の構成を示すブロック図
【図１５】同実施形態におけるフレーム補間処理の手順を示すフローチャート
【図１６】本発明の第４実施形態に係るフレーム補間装置の構成を示すブロック図
【図１７】第１の従来技術における補間フレームに画像データの存在しない隙間や画像データが重なる領域ができる問題について説明する図
【図１８】第２の従来技術における複数の動きが生じた場合の問題について説明する図
【図１９】第２の従来技術におけるオクルージョン領域での動き推定の問題について説明する図
【符号の説明】
１０…入力画像信号
１１…動き推定部
１２…スケール変換部
１３…オーバラップ検出部
１４…オーバラップベクトル判定部
１５…背景動き推定推定部
１６…オブジェクト動き推定部
１７…オクルージョン動き推定部
１８…オーバラップ動き補償部
１９Ａ，１９Ｂ，１９Ｃ…参照フレームメモリ
２０…補間フレーム画像信号
２１…双方向動き推定部
２２…アドレスセット生成部
２３…サブサンプリング部
２４，２４Ａ，２４Ｂ，２４Ｃ…参照フレームメモリ
２５…時間拡張動き推定部
【図１】
2004128702.tif 000010
【図２】
2004128702.tif 000011
【図３】
2004128702.tif 000012
【図４】
2004128702.tif 000013
【図５】
2004128702.tif 000014
【図６】
2004128702.tif 000015
【図７】
2004128702.tif 000016
【図８】
2004128702.tif 000017
【図９】
2004128702.tif 000018
【図１０】
2004128702.tif 000019
【図１１】
2004128702.tif 000020
【図１２】
2004128702.tif 000021
【図１３】
2004128702.tif 000022
【図１４】
2004128702.tif 000023
【図１５】
2004128702.tif 000024
【図１６】
2004128702.tif 000025
【図１７】
2004128702.tif 000026
【図１８】
2004128702.tif 000027
【図１９】
2004128702.tif 000028