JP3873017B2 - フレーム補間方法及び装置 - Google Patents
フレーム補間方法及び装置 Download PDFInfo
- Publication number
- JP3873017B2 JP3873017B2 JP2002287362A JP2002287362A JP3873017B2 JP 3873017 B2 JP3873017 B2 JP 3873017B2 JP 2002287362 A JP2002287362 A JP 2002287362A JP 2002287362 A JP2002287362 A JP 2002287362A JP 3873017 B2 JP3873017 B2 JP 3873017B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- interpolation
- block
- motion vector
- motion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、動画像の再生に当たって表示フレーム間隔を短くするために隣接フレーム間に少なくとも一つの補間フレームを内挿補間するフレーム補間方法及び装置に関する。
【0002】
【従来の技術】
液晶ディスプレイやエレクトロルミネッセンスディスプレイのように、新たに画像の書き込みが行われるまで前フレームの表示を保持し続けるホールド型画像表示装置では、動画表示に際して動体の動きに観察者の眼が追随することによるボケ現象の発生と、コマ数の少ない動画を表示する場合に不自然な動きが生じるという問題がある。
【0003】
これらの問題を解決するためには、表示のフレーム間隔を短くすればよい。その具体的な手法として、MPEG(Motion Picture Experts Group phase)で用いられている動き補償を利用して補間フレームを作成し、隣接するフレーム間に内挿補間を行う方法がある。MPEGにおける動き補償では、ブロックマッチング法によって検出される動きベクトルが用いられる。ブロックマッチング法とは、第1参照フレームを複数のブロックに分割し、各ブロックに対して第1参照フレームに隣接する第2参照フレームから最も相関の高いブロックを探索して、第2参照フレーム中の最も相関の高いブロックから第1参照フレーム中のブロックへのベクトルを動きベクトルとして求める手法である。
【0004】
従来のフレーム補間方法として、例えば特開2000−224593(特許文献1)に記載されているように、ブロックマッチング法をベースにしながら、ブロック内で領域分割を行うことによって、より精度の高いフレーム補間を行う手法が知られている。この手法によると、動き補償によって補間フレームを生成する際に、まず第1参照フレームと第2参照フレーム間について求められた第1動きベクトルを補間フレーム面と第1参照フレーム間の第2動きベクトルに変換する操作、すなわちスケール変換を行う。こうしてスケール変換された第2動きベクトルを用いて動き補償を行うことにより、補間フレームを生成する。すなわち、第2動きベクトルの終点を第1参照フレーム上に固定し、第1参照フレーム上の該終点が指し示すブロックの画像データを第2動きベクトルの始点が指し示す補間フレーム面上のブロックの位置にコピーする。
【0005】
一方、特許2528103号(特許文献2)には、画像の隙間や重なりの生じないフレーム補間の手法が開示されている。この手法では、図18に示すように補間フレームq面上の補間対象ブロックを中心として、幾何対称的に前後の参照フレームp1,p2間の相関を求めて、矢印に示す動きベクトルを検出し、この動きベクトルを用いて動き補償を行うことにより補間フレームqを生成する。従って、動きベクトルを求めた後にスケール変換することなく、ダイレクトに補間フレームを求めることができる。
【0006】
【特許文献1】
特開2000−224593
【0007】
【特許文献2】
特許2528103号
【0008】
【発明が解決しようとする課題】
特許文献1の手法では、スケール変換後の動きベクトルの始点位置は、必ずしも補間フレーム面上の本来の補間対象ブロックの位置と異なることから、図17に示すように補間フレームに画像データの存在しない隙間ができてしまったり、逆に画像データが重なる領域ができてしまう。
【0009】
特許文献2の方式では、補間フレーム面上に一様格子の補間対象ブロックを考えるため、補間フレームに画像の隙間や重なりが生じることはない。しかし、特許文献2の方式では、図18に示すようにオブジェクト部分の相関がそれほど高くないために、オブジェクト部分に動きベクトルが検出されるべきところ、静止しているはずの背景部分に誤った動きベクトル(誤ベクトル)を割り当ててしまったりするという問題がある。
【0010】
さらに、この方式では補間フレーム面を中心に幾何対照的に探索を行うが、通常のブロックマッチングとは異なり基準ブロックが決定していないために、ブロック同士の相関の対応が1対1にはならず、多対多の関係になってしまう。このため本来の動きを表現しているブロック対ではなく、誤ったブロック対を選択してしまい、動きベクトルの誤検出を行う可能性が高く、例えば本来オブジェクトが来るはずの部分に背景が誤って混入してきてしまったり、あるいは図19のようにオクルージョン領域では動きベクトルの探索ができなくなり、正しい補間を行うことが難しいという問題がある。
【0011】
本発明は、上述したような従来技術の問題点を解決して、高品質の補間フレームを生成するフレーム補間方法及び装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
上記の課題を解決するため、本発明は画像の第1参照フレームと第2参照フレームとの間の補間フレーム面上に補間フレームを内挿補間するフレーム補間方法において、第1参照フレームと第2参照フレームとの相関に基づきブロック単位の複数の第1動きベクトルを求めた後、該第1動きベクトルをそれぞれスケール変換した複数の第2動きベクトルを生成する。スケール変換は、第1動きベクトルの終点を固定し、始点を補間フレーム面上に移動させることにより行われる。
【0013】
次に、補間フレーム面を分割した複数の補間対象ブロックのそれぞれに対して、複数の第2動きベクトルの中で補間対象ブロックに始点が含まれる第2動きベクトルを補間対象ブロックの始点に平行移動したときに、該補間対象ブロックに始点が含まれる第2動きベクトルの終点によって指し示される局所領域を探索領域として検出し、該探索領域の情報を含むオーバーラップ情報を出力する。すなわち、補間フレーム面を分割した複数の補間対象ブロック(第3ブロック)のそれぞれに対する、第2動きベクトルによって指し示される少なくとも一つの第4ブロックのオーバラップ状態を検出し、オーバラップが生じている場合に該オーバラップに関わる第2動きベクトルから探索領域を検出する。
【0014】
次に、オーバラップ情報に基づき探索領域から第3動きベクトルを検出するステップと、第3動きベクトルを用いて補間対象ブロックに対して動き補償を行うことにより補間フレームを生成する。
【0015】
第3動きベクトルを検出するステップは、例えば探索領域の数に従って補間対象ブロックがオクルージョン領域か、背景領域か、あるいは背景領域及びオブジェクト領域かを判定する判定ステップと、補間対象ブロックがオクルージョン領域であると判定された場合に、補間フレームから見て時間軸の前方または後方いずれか一方のみに存在する複数のフレームを用いて探索領域から第3動きベクトルをオクルージョン動きベクトルとして検出する第1の検出ステップと、補間対象ブロックが背景領域であると判定された場合に、補間フレーム面から見て時間軸の前方および後方に存在する複数のフレームを用いて探索領域から第3動きベクトルを背景動きベクトルとして検出する第2の検出ステップと、補間対象ブロックがオブジェクト領域であると判定された場合に、第1参照フレームと第2参照フレームを用いて探索領域から第3動きベクトルをオクルージョン動きベクトルとして検出する第3の検出ステップと有する。これらのオクルージョン動きベクトル、背景動きベクトルまたはオブジェクト動きベクトルを用いて、補間対象ブロックに対し動き補償を行うことにより、補間フレームを生成する。
【0016】
本発明によると、第1参照フレームと第2参照フレームとの間の第1動ベクトルをスケール変換した第2動きベクトルによって動き補償を行うことで補間フレームを生成するのではなく、第2の動きベクトルを用いて補間フレーム面を分割した複数の補間対象ブロック(第3ブロック)への動き補償を行い、このときの第2動きベクトルにより指し示される第4ブロックのオーバラップ状態を求め、第2動きベクトルを平行移動することにより求められる探索領域を検出して、その探索領域の数から補間対象ブロックがオクルージョン領域か、背景領域か、あるいは背景領域及びオブジェクト領域かを判定し、それに基き探索領域によって限定された領域を探索することにより検出されるオクルージョン動きベクトル、背景動きベクトル及びオブジェクト動きベクトルを用いて動き補償を行うことにより、補間フレームを生成する。
【0017】
従って、補間フレームに画像データの存在しない隙間ができたり、画像データが重なる部分ができてしまうという問題が基本的になく、さらに多対多の相関関係が発生しないように探索領域を限定することにより、誤った動きベクトルを選択してしまう可能性を減少させ、またオクルージョン領域においても、正しいフレーム補間を行うことが可能となる。
【0018】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
[第1の実施形態]
ここでは、入力の画像信号(動画像信号)が60Hzのノンインタレース信号(プログレッシブ信号)であり、60Hzのノンインタレース信号に対して隣接する二つの参照フレーム間の時間的中央位置(補間フレーム面)に補間フレームを生成し、それを二つの参照フレーム間に内挿することにより120Hzのノンインタレース信号に変換する場合を例にとって説明する。
【0019】
まず、図1に示すように補間フレームqを内挿する二つのフレームを参照フレームp1及び参照フレームp2とする。また、ここでは基準となるフレームを参照フレームp1とする。さらに、参照フレームp1に対して時間的に後のフレームを参照フレームp3とし、参照フレームp2に対して時間的に前のフレームを参照フレームp4とする。参照フレームp1,p2,p3,p4の間の時間間隔は等しく1/(1Hz)とし、参照フレームp1とp2との時間的中央位置に補間フレームqを内挿するものとする。ここでは、このような時間間隔と枚数の参照フレームを用いたが、これらはあくまで一例であり、特に限定されない。
【0020】
図2に、本発明の第1の実施形態に係るフレーム補間装置の構成を示す。入力画像信号(動画像信号)10は、縦続に配置されたフレームメモリ11A,11B,11Cと動き推定部12に入力される。入力画像信号10の現フレームを参照フレームp1とし、フレームメモリ11A,11B,11Cに蓄えられている画像信号をそれぞれ参照フレームp2,p3,p4とする。
【0021】
動き推定部12では、入力画像信号10の現フレームである参照フレームp1を分割した複数の第1ブロックに対して、フレームメモリ11Aに蓄えられている画像信号である参照フレームp2から、第1ブロックと最も相関値の高い第2ブロックをそれぞれ探索し、第1ブロックの位置を始点とし第2ブロックの位置を終点とするベクトルを参照フレームp1,p2間の第1動きベクトルmv1として求める。第1動きベクトルmv1は、スケール変換部13によって第1参照フレームp1と補間フレームq面との間の第2動きベクトルmv2にスケール変換される。第2動きベクトルmv2は、オーバラップ検出部14に入力される。
【0022】
オーバラップ検出部14は、補間フレームq面上の補間対象ブロックである第3ブロックに対して第2動きベクトルmv2を用いて動き補償を行うときの第3ブロックに対する動き補償ブロック(第4ブロック、本実施形態では第2参照フレームp2上の第2ブロックのいずれかと同じ)のオーバラップ状態を検出し、オーバラップ領域(第5ブロック)の情報を第2動きベクトルmv2及び第2動きベクトルmv2から求まる探索領域の情報と共にオーバラップ情報(以下、オーバラップベクトルという)omv1として出力する。オーバラップベクトルomv1は、背景動き推定部15、オブジェクト動き推定部16及びオクルージョン動き推定部17に入力される。
【0023】
背景動き推定部15、オブジェクト動き推定部16及びオクルージョン動き推定部17では、オーバラップベクトルomv1と入力画像信号10の現フレームである参照フレームp1及びフレームメモリ11A,11B,11Cに蓄積された参照フレームp2,p3,p4に基づいて、補間フレームq面上の各第3ブロックが背景領域、オブジェクト領域及びオクルージョン領域である場合のそれぞれの動きを推定し、背景動きベクトルmv3、オブジェクト動きベクトルmv4及びオクルージョン動きベクトルmv5を生成する。これらの動きベクトルmv3、mv4及びmv5は、オーバラップ動き補償部18に入力される。
【0024】
オーバラップ動き補償部18は、背景動きベクトルmv3、オブジェクト動きベクトルmv4及びオクルージョン動きベクトルmv5に従って補間フレームq面上のそれぞれの第3ブロックに動き補償を行うことにより、補間フレームqの画像信号20を生成する。この補間フレームqの画像信号20は、参照フレームp1とp2との時間的中央位置である補間フレーム面に内挿補間される。このようにしてフレーム補間が行われる。
【0025】
次に、図3に示すフローチャートを用いて本実施形態におけるフレーム補間処理の手順について詳細に説明する。
(動き推定)
まず、動き推定ステップS101では、図4に示すように第1参照フレームp1を一様格子の小ブロックbk1(第1ブロック)に分割し、それぞれの第1ブロックbk1に対して、第2参照フレームp2の画像領域から最も相関値の高いブロックbk2(第2ブロック)を探索して、第2ブロックbk2と第1ブロックbk1との間の第1動きベクトルmv1を求める。第2ブロックbk2の探索には、例えばブロックマッチングアルゴリズムを使うことができる。相関値の尺度には、例えば絶対値差分和(Sum of Absolute Difference、以下SADという)を用いることができる。
【0026】
(スケール変換)
次に、スケール変換ステップS102では、図4に示すように動き推定ステップS101で求められた第1動きベクトルmv1の終点を第2ブロックbk2上に固定し、参照フレームp2と補間フレームq面との間の時間間隔に応じて動きベクトルmv1の始点を移動させることにより、第2動きベクトルmv2を生成する。すなわち、第1参照フレームp1と第2参照フレームp2との間の第1動きベクトルmv1を第1参照フレームp1と補間フレームq面との間の動きベクトルmv2に変換する。この操作をスケール変換と呼ぶ。
【0027】
参照フレームp2と補間フレームq面との間の時間間隔に応じた第1動きベクトルmv1の始点の移動には、例えば線形補間を用いることができる。線形補間によると、参照フレームp1と参照フレームp2との時間間隔をtとし、補間フレームq面と参照フレームp2との時間間隔をn、第1動きベクトルmv1の始点をSmv1=(Sx,Sy)とすれば、第1動きベクトルmv1の移動後の始点、すなわち第2動きベクトルmv2の始点Smv2は、次のように記述できる。
【数1】
【0028】
ただし、第1動きベクトルをmv1=(mv1x,mv1y)とする。mv1xはmv1のx(横方向)成分、mv1yはmv1のy(縦方向)成分である。本実施形態では、補間フレームq面の時間的位置が参照フレームp1と参照フレームp2のちょうど中間であり、n/t=1/2であるため、Smv2はさらに以下のように表される。
【数2】
【0029】
(オーバラップ検出)
次に、オーバラップ検出ステップS103では、図4〜図6に示すように補間フレームq面を一様格子の小ブロックbk3(第3ブロック)に分割し、図5及び図6に示すように個々の第3ブロックbk3に対する、スケール変換ステップS102で得られた第2動きベクトルmv2が指し示す少なくとも一つの第4ブロックbk4(本実施形態では、第2ブロックbk2のいずれかと同じ)のオーバラップ(重複)状態をそれぞれ検出する。図5及び図6において、斜線が第3ブロックbk3に対する第4ブロックのオーバラップ領域を示しており、第3ブロックbk3に対して二つの第4ブロックbk4−1,bk4−2がオーバラップしている。図5の例では二つの第4ブロックbk4−1,bk4−2は分離されている。勿論、このようなオーバラップ状態が元々存在しなければ、オーバラップ検出ステップS103では検出はなされない。
【0030】
オーバラップ検出ステップS103では、このようなオーバラップ状態を検出し、補間フレームq面上の個々の第3ブロックbk3に対する第4ブロックのオーバラップ領域を新たな小ブロックbk5(第5ブロック)としてそれぞれ切り出す。そして、図6に示すように第2動きベクトルmv2を小ブロックbk3の始点に平行移動したときに、平行移動した動きベクトルmv2′によって指し示される局所領域を探索領域sr1として決定し、第5ブロックbk5の情報を探索領域sr1を示す情報と共にオーバラップ情報(以下、オーバラップベクトルという)omv1として出力する。オーバラップベクトルomv1は、第3ブロックbk3に対して必ず一つ出力されるというわけではなく、オーバラップ領域がなければ一つも出力されないし、図5及び図6のように複数のオーバラップベクトルomv1−1,omv1−2が出力される場合もあり、オーバラップの有無及び状態によって変化する。
【0031】
(オーバラップベクトル判定)
次のオーバラップ判定ステップS104を説明する前に、図7を用いてオクルージョンについて述べる。図7に示すように隣接する参照フレームp1,p2間で双方向に動きベクトル(矢印で示す)の検出を行うと、オクルージョン領域は存在しない。ここでいうオクルージョン領域とは、片方向のフレームからのみでは対応する相関度の高い部分が見つからない領域である。これに対して、本実施形態では動き推定ステップS101において参照フレームp1を基準とする参照フレームp1と参照フレームp2との間の動きベクトル検出、すなわち片方向の動き推定しか行っていないため、オクルージョン領域が存在する可能性がある。
【0032】
例えば、参照フレームp1上の動き領域が存在する第1ブロックから参照フレームp2へは動きベクトルを求めることができるが、参照フレームp1上の第1ブロックとフレーム内の位置が同じ参照フレームp2上の第2ブロックが背景領域の場合、背景領域は静止しているために第2ブロックから参照フレームp1への動きベクトルを求めることは難しく、オクルージョンが発生することになる。しかし、双方向の動きベクトル検出を行えば、上記のように参照フレームp1上の第1ブロックから参照フレームp2への動きベクトルを求めることができるため、オクルージョンの発生を回避できる。
【0033】
第2動きベクトルmv2は、前述のように第1動きベクトルmv1をスケール変換しているので、オーバラップベクトルomv1が存在している部分、すなわち補間フレームq面上のオーバラップ領域である第5ブロックbk5が含まれる第3ブロックbk3は、オクルージョン領域ではあり得ない。逆にいえば、オーバラップベクトルが存在しない部分がオクルージョン領域といえる。オーバラップベクトル判定ステップS104では、このことを利用している。
【0034】
すなわち、オーバラップベクトル判定ステップS104では、オーバラップ検出ステップS103で求められたオーバラップベクトルomv1の情報に従い、補間フレームq面上の第3ブロックbk3がオクルージョン領域、背景領域及びオブジェクト領域のいずれの領域かを判定し、第3ブロックbk3に対してオクルージョン動き推定、背景動き推定及びオブジェクト動き推定のいずれを用いるかを選択する。
【0035】
具体的には、例えばオーバラップベクトルomv1が全くない第3ブロックbk3に対しては、そのブロックがオクルージョン領域であると判定し、オクルージョン動き推定ステップS107を用いる。一つのオーバラップベクトルomv1のみが存在する第3ブロックbk3に対しては、背景動き推定ステップS105を用いる。複数のオーバラップベクトルomv1が存在する第3ブロックbk3に対しては、背景動き推定ステップS105とオブジェクト動き推定ステップS106を用いるように切り替える。オーバラップベクトル判定ステップS104では、3つの動き推定ステップS105,S106,S107のいずれが用いられたかを示す情報をオーバラップベクトル判定情報oj1として出力し、オーバラップベクトルomv1があればそれもオーバラップベクトル判定情報oj1に付加して出力し、omv1が存在しない場合、設定された領域(例えば、小ブロックbk3の始点を中心とした16×16の矩形領域)を探索領域として含むomv1を付加して出力する。
【0036】
(背景動き推定)
背景動き推定ステップS105では、オーバラップベクトルomv1に含まれる第2動きベクトルmv2を初期値として、補間フレームq面上の第3ブロックbk3に対する背景の動きを示す背景動きベクトルmv3の探索を行う。
【0037】
背景動きベクトルmv3の探索に際しては、図8に示すように、まず補間フレームq面上の第3ブロックbk3に対して、時間的に連続する4つの参照フレームp1,p2,p3,p4において隣接する2つの参照フレーム間のブロック単位の相関値を求める。すなわち、(a)動きベクトルdが指し示す参照フレームp2上の第2ブロックbk2と動きベクトルd1=−dが指し示す参照フレームp1上の第1ブロックbk1との相関値c1と、(b)動きベクトルd1=−dが指し示す参照フレームp1上の第1ブロックbk1と動きベクトルd3=−3dが指し示す参照フレームp3上の第4ブロックbk4との相関値c2、及び(c)動きベクトルd2=dが指し示す参照フレームp2上の第2ブロックbk2と動きベクトルd4=3dが指し示す参照フレームp4上の第5ブロックbk5との相関値c3を求める。そして、動きベクトルdをオーバラップベクトルomv1に含まれる探索領域の範囲内で変化させ、3つの相関値の和c1+c2+c3=Cが最大となる動きベクトルdを探索する。
【0038】
ここで、補間フレームq面上の第3ブロックbk3に対して、オーバラップベクトルomv1が一つの場合には、オーバラップベクトルomv1に含まれる探索領域内で検出される動きベクトルdの中で、相関値和Cが最大となる動きベクトルを背景動きベクトルmv3として出力する。補間フレームq面上の第3ブロックbk3に対して、オーバラップベクトルomv1が複数ある場合には、上述のように複数のオーバラップベクトルomv1に含まれる探索領域内で検出される動きベクトルdの中で、相関値和Cが最大の動きベクトルを背景動きベクトルmv3として出力する。
【0039】
相関値c1,c2,c3の演算(相関値和Cの演算)には、例えばSADを用いることができる。フレームt、点yにおける画像の輝度値をf(y,t)とすると、位置ベクトルxを基点とする補間フレームq面上の第3ブロックbk3に対するSAD演算の評価関数F(x,d)は、次のようになる。
【数3】
【0040】
ここで、Bは第3ブロックbk3を表し、XはブロックB内の各点の基点xからの相対座標をベクトルで表す。
このように時間的に連続する複数の参照フレームを用いて、背景動きベクトルの探索を行う。背景の動きは画像全体の支配的な動きであり、一般的に画像内のオブジェクトの動きよりも安定している。そこで、本実施形態では時間的に連続した複数の参照フレームを用いることによって、より安定した動きを背景動きベクトルとして探索するようにしている。また、画像全体の支配的な動きであれば、オブジェクトよりも画像全体を覆っている可能性が高く、小さなオブジェクトよりも背景にマッチしやすくなるため、このように時間的な拡張を行っている。
【0041】
上述した背景動き推定ステップS105の処理を一般化して示すと、次の通りである。
補間フレームq面の時間位置を原点としたときの第i参照フレーム(iは1からnまでの連続整数数列、nは2以上の任意の整数)の時間位置をti(時間の順方向を正とする実数)とし、補間フレームq面から参照フレームp2への動きベクトルをd(d=mv2を初期値とする)とする。
第i参照フレームと第j参照フレーム(jは1からnまでの整数、但しi≠j)に対して、ベクトルdi=d・ti/t2が指し示す第i参照フレーム上のブロックと、ベクトルdj=d・tj/t2が指し示す第j参照フレーム上のブロックとの相関値ciを2以上の全てのiについて求める。
次に、少なくとも一つのオーバラップベクトルomv1に含まれる探索領域内から検出される動きベクトルdの中で、相関値和Cが最大の動きベクトルを背景動きベクトルmv3として出力する。
【0042】
(オブジェクト動き推定)
次に、オブジェクト動き推定ステップS106では、オーバラップ検出ステップS103で求められたオーバラップベクトルomv1に含まれる第2動きベクトルmv2を初期値として、補間フレームq面上の第3ブロックbk3に対するオブジェクトの動きを示すオブジェクト動きベクトルmv4を求める。
【0043】
オブジェクト動きベクトルmv4の探索に際しては、図9に示すように、まず補間フレームq面上の第3ブロックbk3に対して、動きベクトルdが指し示す参照フレームp2上の第2ブロックbk2とベクトルd1=−dが指し示す参照フレームp1上の第1ブロックbk1との相関値c1を求める。そして、動きベクトルdをオーバラップベクトルomv1に含まれる探索領域の範囲内で変化させ、相関値c1が最大となる動きベクトルdを探索する。
【0044】
ここで、補間フレームq面上の第3ブロックbk3に対して、オーバラップベクトルomv1が一つの場合には、オーバラップベクトルomv1に含まれる探索領域内で検出される動きベクトルdの中で、相関値c1が最大となる動きベクトルをオブジェクト動きベクトルmv4として出力する。補間フレームq面上の第3ブロックbk3に対して、オーバラップベクトルomv1が複数ある場合には、上述のように複数のオーバラップベクトルomv1に含まれる探索領域内で検出される全ての動きベクトルdをオブジェクト動きベクトルmv4として出力する。さらに、オブジェクト動き推定ステップS106では、オーバラップベクトルomv1に付加されている第5ブロックbk5の情報をオブジェクト動きベクトルmv4に付加して出力する。
【0045】
相関値c1の演算には、例えばSADを用いることができる。フレームt、点yにおける画像の輝度値をf(y,t)とすると、位置ベクトルxを基点とする補間フレームq面上のブロックBに対するSAD演算の評価関数F(x,d)は、次のようになる。
【0046】
【数4】
【0047】
ここで、式(3)の場合と同様、Bは第3ブロックbk3を表し、XはブロックB内の各点の基点xからの相対座標ベクトルで表す。
上述したオブジェクト動き推定ステップS106の処理を一般化して示すと、次のようになる。
補間フレームq面と参照フレームp1及びp2との時間間隔をt1,t2(いずれも実数)とし、補間フレームq面から参照フレームp2への動きベクトルをdとする。
次に、動きベクトルdが指し示す第2参照フレームp2上のブロックbk2と、ベクトルd1=−d・t1/t2が指し示す第1参照フレームp1上のブロックbk1との相関値cを求める。
次に、少なくとも一つのオーバラップベクトルomv1に含まれる探索領域内で検出される動きベクトルdの全てをオブジェクト動きベクトルmv4として出力する。
【0048】
(オクルージョン動き推定)
次に、オクルージョン動き推定ステップS107では、オーバラップ検出ステップS103によりオーバラップベクトルomv1が求められなかった場合に、補間フレームq面上の第3ブロックbk3に対して、オクルージョン領域の動きを示すオクルージョン動きベクトルmv5を求める。
【0049】
オクルージョン動きベクトルmv5の探索に際しては、図10に示すように、まず補間フレームq面上の第3ブロックbk3に対して、動きベクトルdが指し示す参照フレームp2上の第2ブロックbk2と、ベクトルd4=3dが指し示す参照フレームp4上の第5ブロックbk5との相関値c3を求める。そして、相関値c3が最大となる動きベクトルdを探索し、相関値c3が最大となる動きベクトルdをオクルージョン動きベクトルmv5として求める。
【0050】
相関値c3の演算には、SADを用いる。フレームt、点yにおける画像の輝度値をf(y,t)とすると、位置ベクトルxを基点とする補間フレームq面上のブロックBに対するSAD演算の評価関数F(x,d)は、次のようになる。
【0051】
【数5】
【0052】
ここで、式(3)(4)と同様、Bは第3ブロックbk3を表し、XはブロックB内の各点の基点xからの相対座標を表すベクトルを表す。
【0053】
オクルージョン領域については、背景動き推定とは異なり、単純に補間フレームq面の前後の参照フレームp1,p2だけからは探索が難しいため、上記のように時間的に離れた複数の参照フレーム(図10の例では、参照フレームp4)の情報を利用することによって、オクルージョン動きベクトルmk5の検出を可能とする。
【0054】
上述したオクルージョン動き推定ステップS107の処理を一般化して示すと、次の通りである。
補間フレームq面の時間位置を原点としたときの第i参照フレーム(iは1からnまでの連続整数数列、nは2以上の任意の整数)の時間位置をti(時間の順方向を正とする実数)とし、補間フレームq面から参照フレームp2への動きベクトルをdとする。
ここで、補間フレームから見て時間軸の前方または後方の方向のうち、オクルージョン動きベクトルの検出に最適な方向を求める。この最適な方向は、例えば後述する第2の実施形態で説明するように、補間フレームから見て時間軸の前方及び後方の方向の双方向についての動きベクトル検出、すなわち前方動き推定及び後方動き推定を行い、相関値の高い方を検出することにより求めることができる。
次に、求められた最適な方向に存在する第i参照フレームと第j参照フレーム(jは1からnまでの整数、但しi≠j)に対して、ベクトルdi=d・ti/t2が指し示す第i参照フレーム上のブロックと、ベクトルdj=d・tj/t2が指し示す第j参照フレーム上のブロックとの相関値ciを2以上の全てのiについて求める。
次に、オーバラップベクトルomv1に含まれる探索領域内で検出される動きベクトルdのうち、相関値ciの和Cが最大の動きベクトルをオクルージョン動きベクトルmv5として出力する。
【0055】
(オーバラップ動き補償)
次に、オーバラップ動き補償ステップS108では、背景動きベクトルmv3、オブジェクト動きベクトルmv4、オクルージョン動きベクトルmv5、オーバラップベクトル判定情報oj1及び参照フレームp1,p2に基づいてオーバラップ動き補償を行い、補間フレームqを生成する。
具体的には、まず補間フレームq面上の第3ブロックbk3に対して、オーバラップベクトル判定情報oj1を参照してオクルージョン動き推定、背景動き推定及びオブジェクト動き推定のいずれが行われたかを調べる。
【0056】
オーバラップベクトル判定情報oj1がオクルージョン動き推定が行われたことを示している場合には、オクルージョン動きベクトルmv5が指し示す参照フレームp2上のブロックを補間フレームq面上の第3ブロックbk3にコピーして、第3ブロックbk3の背景画像信号とする。
【0057】
オーバラップベクトル判定情報oj1が背景動き推定が行われたことを示している場合には、背景動きベクトルmv3が指し示す参照フレームp2上のブロックと、−mv3が指し示す参照フレームp1上のブロックとの平均をとったものを補間フレームq面上の第3ブロックbk3上にコピーして、第3ブロックbk3の背景画像信号とする。
【0058】
オーバラップベクトル判定情報oj1がオブジェクト動き推定が行われたことを示している場合には、オブジェクト動きベクトルmv4が指し示す参照フレームp2上の第2ブロックと、−mv4が指し示す参照フレームp1上の第1ブロックとの画素毎の差分をとり、その差分が所定の閾値(例えば10)以下の領域のみを切り出し、切り出した領域のうちオブジェクト動きベクトルmv4に含まれている第5ブロックbk5と一致する部分のみを補間フレームq面上の第3ブロックbk3にオブジェクト画像信号としてコピーする。オブジェクト動きベクトルmv4が複数個ある場合には、それぞれのmv4のうちで最も相関値の低いものから順に同様のコピー処理を行う。
以上の処理を補間フレームq面上の全ての第3ブロックbk3に対して行うことにより、補間フレームqを生成する。
【0059】
上述したオーバラップ動き補償ステップS108の処理を一般化して示すと、次の通りである。
補間フレームq面と参照フレームp1及びp2との時間間隔をt1,t2(いずれも実数)とし、オクルージョン動きベクトルmv5、背景動きベクトルmv3及びオブジェクト動きベクトルmv4を動きベクトルdで表したとき、オーバラップベクトル判定ステップS104で得られたオーバラップベクトル判定情報omv1に基づいて、
(a)オクルージョン動き推定が行われたと判定されている場合(オクルージョン動きベクトルmv5=dが検出された場合)には、オクルージョン動きベクトルdが指し示す第2参照フレームp2上のブロックを補間フレームq面上の第3ブロックbk3に背景画像信号としてコピーし、
(b)背景動き推定が行われたと判定されている場合(背景動きベクトルmv3=dが検出された場合)には、背景動きベクトルdが指し示す第2参照フレームp2上のブロックと動きベクトルd1=−d・t1/t2が指し示す第1参照フレームp1上のブロックとの平均を補間フレームq面上の第3ブロックbk3に背景画像信号としてコピーし、
(c)オブジェクト動き推定が行われたと判定されている場合(オブジェクト動きベクトルmv4=dが検出された場合)には、複数のオブジェクト動きベクトルdについて、オブジェクト動きベクトルdが指し示す第2参照フレームp2上の第2ブロックと動きベクトルd1=−d・t1/t2が指し示す第1参照フレームp1上の第1ブロックとの画素毎の差分を該第2ブロックと該第1ブロックと相関値の小さいものから順にとる。そして、該差分が閾値以下の画素であって、かつオーバラップベクトルomv1に含まれる第5ブロック内の画素を補間フレームq面上の第3ブロックbk3にオブジェクト画像信号としてコピーする。
【0060】
このように本実施形態では、第1参照フレームp1と第2参照フレームp2との間の第1動ベクトルmv1をスケール変換した第2動きベクトルmv2によって補間フレームq面上の第3ブロックbk3に対し動き補償を行って、第2動きベクトルmv2により指し示される第4ブロックbk4のオーバラップ状態をオーバラップベクトルomv1として検出し、オーバラップベクトルomv1に含まれる第2動きベクトルmv2の数に基づいて第3ブロックbk3がオクルージョン領域か、背景領域か、あるいは背景領域及びオブジェクト領域かを判定し、それに基づいて検出されるオクルージョン動きベクトルmv5、背景動きベクトルmv3及びオブジェクト動きベクトルmv4を用いて動き補償を行うことにより、補間フレームqを生成する。
【0061】
こうすることにより、補間フレームqに画像データの存在しない隙間ができたり、画像データが重なる部分ができてしまうという特開2000−224593の問題が解消される。また、特許2328103では正しいフレーム補間が困難であった、補間フレーム面の補間対象ブロック上で背景の動きとオブジェクトの動きのような複数の動きが重なっている領域や、オクルージョン領域でのフレーム補間を正しく行うことができる。
【0062】
[第2の実施形態](双方向探索)
図11に、本発明の第2の実施形態に係るフレーム補間装置の構成を示す。本実施形態では、時間的に双方向の動きベクトル探索を行うことによってオクルージョンの問題を回避する。図2に示した第1の実施形態に係るフレーム補間装置との相違点について説明すると、本実施形態では動き推定部に双方向動き推定部21が用いられ、さらにアドレスセット生成部22が追加されている。双方向動き推定部21は、第1及び第2参照フレームp1,p2の間の双方向の動き推定を行って第1動きベクトルmv1を生成する。アドレスセット生成部21は、背景動き推定部15、オブジェクト動き推定部16及びオクルージョン動き推定部17が参照フレームを参照するためのアドレスが集合になったアドレスセットを生成し、これを背景動き推定部15、オブジェクト動き推定部16及びオクルージョン動き推定部17に与える。
【0063】
次に、図13に示すフローチャートを用いて本実施形態におけるフレーム補間処理について説明する。
(双方向動き推定)
双方向動き推定ステップS200では、第1の実施形態における動き推定ステップS101と同様に、第1参照フレームp1を一様格子の第1ブロックbk1に分割し、それぞれの第1ブロックbk1に対して、第2参照フレームp2の画像領域から最も相関値の高い第2ブロックbk2を探索して、第1ブロックbk1と第2ブロックbk2との間の動きベクトル(順方向動きベクトルという)mv1aを求める。
【0064】
さらに、参照フレームp2を一様格子の小ブロックbk6(第6ブロック)に分割し、それぞれの第6ブロックbk6に対して、参照フレームp1の画像領域から最も相関値の高いブロックbk7(第7ブロック)を探索して、第6ブロックbk6と第7ブロックbk7との間の動きベクトル(逆方向動きベクトルという)mv1bを求める。
【0065】
ここで、順方向動きベクトルmv1aは、時間的に過去のフレームから時間的に未来のフレームに対する動きベクトルであり、前方動き推定によって求められる。これに対し、逆方向動きベクトルmv1bは、時間的に未来のフレームから時間的に過去のフレームに対する動きベクトルであり、後方動き推定によって求められる。
【0066】
次に、これら二つの動きベクトルmv1a及びmv1bにそれぞれ関わる相関値、すなわち第1ブロックbk1と第2ブロックbk2との相関値、及び第6ブロックbk6と第7ブロックbk7との相関値を比較し、mv1a及びmv1bのうち相関値の高い方に対応する動きベクトルを第1動きベクトルmv1として出力する。第1動きベクトルmv1には、これがmv1aとmv1bのいずれかを示す情報、つまり前方動き推定により求められた動きベクトルであるか、後方動き推定によって求められた動きベクトルであるかの情報(以下、動き推定方向情報という)も付加する。
【0067】
(アドレスセット生成)
アドレスセット生成ステップS201では、双方向動き推定ステップS200で生成された第1動きベクトルmv1に付加されている動き推定方向情報に基づき、背景動き推定ステップS205、オブジェクト動き推定ステップS206及びオクルージョン動き推定ステップS207が参照フレームを参照するためのアドレスが集合になったアドレスセットを生成する。
【0068】
図12を用いて説明すると、実際のフレームには、例えば時間の順方向にi−1,i,i+1,i+2というようにアドレス付けがなされているとする。時間の順方向に対応する前方アドレスセットは、フレームi−1,i,i+1,i+2に対して参照フレームp3,p1,p2,p4のようにラベル付けする。一方、時間の逆方向に対応する後方アドレスセットは、順方向とは逆方向に、フレームi−1,i,i+1,i+2に対して、参照フレームp4,p2,p1,p3のようにラベル付けする。このようにフレームiとフレームi+1との間の補間フレームq面を中心として、点対称にラベル付けを変更する。このアドレスセットは、双方向動き推定ステップS200における前方動き推定と後方動き推定に対して、背景動き推定ステップS205、オブジェクト動き推定ステップS206及びオクルージョン動き推定ステップS207が対応するために必要となる。
【0069】
(スケール変換)
スケール変換ステップS202では、第1の実施形態におけるスケール変換ステップS102と全く同様の処理を行うが、第1動きベクトルmv1に付与されている動き推定方向情報を出力の第2動きベクトルmv2にも付加する。
【0070】
(オーバラップ検出)
オーバラップ検出ステップS203は、第1の実施形態におけるオーバラップ検出ステップS103と同様の処理を行うが、動きベクトルmv1に付加された動き推定方向情報を出力のオーバラップベクトルomv1にも付加する。
【0071】
(オーバラップベクトル判定)
オーバラップベクトル判定ステップS204は、第1の実施形態におけるオーバラップベクトル判定ステップS104と同様の処理を行うが、動き推定方向情報が付加されたオーバラップベクトルomv1をオーバラップベクトル判定情報oj1と共に出力する。
【0072】
(背景動き推定)
背景動き推定ステップS205は、第1の実施形態における背景動き推定ステップS105と基本的に同様であるが、式(3)に示した相関値和CのSAD演算において、オーバラップベクトルomv1に付加されている動き推定情報に基づき、前方動き推定の場合には参照フレームp1をフレームi、参照フレームp2をフレームi+1、参照フレームp3をフレームi−1、参照フレームp4をフレームi+2とし、後方動き推定の場合には参照フレームp1をフレームi+1、参照フレームp2をフレームi、参照フレームp3をフレームi+2、参照フレームp4をフレームi−1とする。
【0073】
(オブジェクト動き推定)
オブジェクト動き推定ステップS206は、第1の実施形態におけるオブジェクト動き推定ステップS106と基本的に同様であるが、式(4)における相関値c1のSAD演算において、前方動き推定の場合には参照フレームp1をフレームi、参照フレームp2をフレームi+1とし、後方動き推定の場合には参照フレームp1をフレームi+1、参照フレームp2をフレームiとする。
【0074】
(オクルージョン動き推定)
オクルージョン動き推定ステップS207は、第1の実施形態におけるオクルージョン動き推定ステップS107と基本的に同様であるが、オーバラップベクトルomv1に付加されている動き推定方向情報に基づいて、補間フレームq面上の第3ブロックbk3のうち、前方動き推定となっているブロックに対しては前方アドレスセットを用い、動き推定方向が後方動き推定となっているブロックに対しては後方アドレスセットを用いる。この場合には、式(5)における相関値c3のSAD演算において、前方動き推定の場合には参照フレームp2をフレームi+1、参照フレームp4をフレームi+2とし、後方動き推定の場合には参照フレームp2をフレームi、参照フレームp4をフレームi−1とする。
【0075】
(オーバラップ動き補償)
オーバラップ動き補償ステップS208は、第1の実施形態におけるオーバラップ動き補償ステップS108と同様に、背景動きベクトルmv3、オブジェクト動きベクトルmv4、オクルージョン動きベクトルmv5、オーバラップベクトル判定情報oj1、参照フレームp1及びp2からオーバラップ動き補償を行って補間フレームqを生成するが、オーバラップベクトルomv1に付加されている動き推定方向情報に基づいて、補間フレームq面上の第3ブロックbk3のうち、動き推定方向が前方動き推定となっているブロックに対しては前方アドレスセットを用い、動き推定方向が後方動き推定となっているブロックに対しては後方アドレスセットを用いる。
【0076】
本実施形態によれば、第1の実施形態による効果に加えて、双方向動き推定を行い、前方動き推定に基づく動き補償と後方動き推定に基づく動き補償のうち良好な方を採用して補間フレームを生成するため、より一層良好なフレーム補間が可能となるという利点がある。
【0077】
[第3の実施形態](階層探索)
図15に、本発明の第3の実施形態に係るフレーム補間装置の構成を示す。本実施形態は、動きベクトルを大きな探索領域から探索する際に、エラーを少なくして計算時間を縮小するために階層探索を採用した例である。
【0078】
例えば、動きの速い物体は一定の時間間隔内により大きな距離を動くため、動きの速い物体にも対応させようとすると、動きベクトル探索領域を大きくしなければならない。動きベクトル探索領域を大きくすると、その分だけ隣接フレーム間で相関値の高いブロック対が増えるため、誤った動きベクトルを選択してしまう可能性が高くなる。また、動きベクトル探索領域が大きくなることは、その分余計な計算が増えることになり、好ましくない。
【0079】
そこで、本実施形態では階層的なピクチャ構造を導入する。元の入力画像信号10をサブサンプリングした階層をいくつか用意することによって、大きな動きはサブサンプリングされた粗い画像信号の階層で求め、細かい動きをサブサンプリングされていない元の入力画像信号10の階層で求める。サブサンプリングされている階層は、その分高域のノイズ成分もカットされ、画像サイズも圧縮されているために、大きな動きを検出するのに適している。このようにすることによって、少ない計算量で大きな動きにも対応することができる。本実施形態では、元の入力画像を1回サブサンプリングした上位階層を一つ用意した2階層構造について説明するが、これに限ったものではなく、何階層の構造でも構築可能である。
【0080】
図14に示すフレーム間補間装置では、図11に示したフレーム補間装置に対してサブサンプリング部23とフレームメモリ24が追加されている。サブサンプリング部23は、入力画像信号10をサブサンプリングし、サブサンプリングした画像信号を双方向動き推定部21及びフレームメモリ24に供給する。双方向動き推定部21は、サブサンプリング部23からの画像信号を第1参照フレームp1′とし、フレームメモリ24からの画像信号を第2参照フレームp2′として第2の実施形態と同様に双方向の動き推定を行う。
【0081】
図15は、本実施形態におけるフレーム補間処理を示すフローチャートであり、第2の実施形態のフレーム補間処理を示す図13に対して、サブサンプリング部23よるサブサンプリングステップS300が追加されている。サブサンプリングステップS300では、参照フレームp1,p2をサブサンプリングして参照フレームp1′,p2′を求める。ここでは、1回のサブサンプリングを行い、画像の縦と横を1/2にする。参照フレームp1′は、フレームメモリ24を介して出力される。
【0082】
双方向動き推定ステップS200は、基本的に第2の実施形態と同様であるが、第2の実施形態ではサブサンプリング後の参照フレームp1′,p2′に対して双方向の動き推定を行う点が異なる。
【0083】
すなわち、本実施形態の動き推定ステップS200では、参照フレームp1′を一様格子の小ブロックbk1に分割し、それらの小ブロックbk1に対して参照フレームp2′の画像領域から最も相関値の高いブロックを探索して動きベクトルmv1aを求め、次に参照フレームp2′を一様格子の小ブロックbk6に分割し、それらの小ブロックbk6に対して、参照フレームp1′の画像領域から最も相関値の高いブロックを探索して動きベクトルmv1bを求める。次に、これら二つの動きベクトルmv1a及びmv1bにそれぞれ関わる二つの相関値である第1ブロックbk1と第2ブロックbk2との相関値、及び第6ブロックbk6と第7ブロックbk7との相関値を比較し、mv1a及びmv1bのうち相関値の高い方に対応する動きベクトルを第1動きベクトルmv1として出力する。第1動きベクトルmv1には、これがmv1aとmv1bのいずれかを示す情報、つまり前方動き推定により求められた動きベクトルであるか、後方動き推定によって求められた動きベクトルであるかの動き推定方向情報も付加する。
【0084】
スケール変換ステップS202は、基本的に第1及び第2の実施形態と同様であるが、双方向動き推定ステップS200で得られた第1動きベクトルmv1に対して、動きベクトルmv1の終点を固定し、参照フレームp2と補間フレームq面の間の時間間隔に応じて、かつサブサンプリングされている分のスケールに合わせて動きベクトルmv1の始点を移動させることにより、スケール変換された第2動きベクトルmv2を生成する。また、動きベクトルmv1に付与されている動き推定方向情報も、動きベクトルmv2に付与して出力する。時間間隔とサンプリングスケールに応じた始点の移動は、例えば線形補間を考えることができる。線形補間によると、参照フレームp1と参照フレームp2との時間間隔をt、補間フレームq面と参照フレームp2との時間間隔をn、縦方向のサブサンプリング回数をj、横方向のサブサンプリング回数をkとし、第1動きベクトルmv1の移動前の始点をSmv1=(Sx,Sy)とすれば、第1動きベクトルmv1の移動後の始点、すなわち第2動きベクトルmv2の始点Smv2は、次のように記述できる。
【数6】
【0085】
ただし、第1動きベクトルをmv1=(mv1x,mv1y)とする。mv1xはmv1のx(横方向)成分、mv1yはmv1のy(縦方向)成分である。本実施形態では、補間フレームq面の時間的位置が参照フレームp1と参照フレームp2のちょうど中間であるためn/t=1/2であり、また縦横とも1回ずつサンプリングされているため、Smv2はさらに以下のように表される。
【数7】
【0086】
以降のステップS203〜S208の処理は第2の実施形態に準ずるため、説明を省略する。
【0087】
[第4の実施形態]階層探索+双方向時間拡張バージョン
図16に、本発明の第4の実施形態に係るフレーム補間装置の構成を示す。本実施形態は、第3の実施形態における階層構造と、時間方向に拡張した動きベクトル探索を組み合わせて、よりロバスト性を高くした例である。本実施形態では、元の入力画像信号10を1回サブサンプリングした上位階層を一つ用意した2階層構造について説明するが、これに限るものではなく、何階層の構造でも構築可能である。
【0088】
第3の実施形態との相違点を説明すると、本実施形態ではサブサンプリングされた画像信号を蓄積するために3つのフレームメモリ24A,24B,24Cが設けられ、さらに双方向動き推定部21とは別に時間拡張動き推定部25が設けられている。
【0089】
サブサンプリング部23よるサブサンプリングステップでは、参照フレームp1,p2,p3,p4をサブサンプリングし、参照フレームp1′,p2′,p3′,p4′を求める。ここでは、1回のサブサンプリングを行い、画像の縦と横のサイズを1/2にする。参照フレーム1′,p2′,p3′,p4′は、それぞれフレームメモリ24A,24B,24Cを介して出力される。
【0090】
双方向動き推定部21による双方向動き推定ステップでは、第3の実施形態と全く同様に参照フレームp1′を一様格子の小ブロックbk1に分割し、それらの小ブロックbk1に対して参照フレームp2′の画像領域から最も相関値の高いブロックを探索して動きベクトルmv1aを求め、次に参照フレームp2′を一様格子の小ブロックbk6に分割し、それらの小ブロックbk6に対して、参照フレームp1′の画像領域から最も相関値の高いブロックを探索して動きベクトルmv1bを求める。
【0091】
次に、これら二つの動きベクトルmv1a及びmv1bにそれぞれ関わる二つの相関値である第1ブロックbk1と第2ブロックbk2との相関値、及び第6ブロックbk6と第7ブロックbk7との相関値を比較し、mv1a及びmv1bのうち相関値の高い方に対応する動きベクトルを第1動きベクトルmv1として出力する。第1動きベクトルmv1には、これがmv1aとmv1bのいずれかを示す情報、つまり前方動き推定により求められた動きベクトルであるか、後方動き推定によって求められた動きベクトルであるかの動き推定方向情報も付加する。
【0092】
次に、時間拡張動き推定部25による時間拡張動き推定ステップでは、参照フレームp1′,p2′,p3′,p4′から時間方向にロバスト性の高い動きベクトルを探索して求める。探索の際には、参照フレームp1′上の小ブロックbk3に対して、(a)動きベクトルdが指し示す参照フレームp2′上の小ブロックと小ブロックbk3との相関値c1と、(b)小ブロックbk3とベクトルd3=−dが指し示す参照フレームp3′上の小ブロックとの相関値c2、及び(c)ベクトルd2=dが指し示す参照フレームp2′上の小ブロックとベクトルd4=2dが指し示す参照フレームp4′上の小ブロックとの相関値c3を求める。そして、3つの相関値の和c1+c2+c3=Cが最大となる動きベクトルmv1′aを探索する。
【0093】
さらに、参照フレームp2′上の小ブロックbk10に対して、(d)動きベクトルdが指し示す参照フレームp1′上の小ブロックと小ブロックbk10との相関値c1と、(e)小ブロックbk10とベクトルd3=−dが指し示す参照フレームp4′上の小ブロックとの相関値c2、及び(f)ベクトルd2=dが指し示す参照フレームp1′上の小ブロックとベクトルd4=2dが指し示す参照フレームp3′上の小ブロックとの相関値c3を求める。そして、3つの相関値の和c1+c2+c3=Cが最大となる動きベクトルmv1′bを探索する。
【0094】
次に、これら二つの動きベクトルmv1′a及びmv1′bにそれぞれ関わる二つの相関値を比較し、mv1a及びmv1bのうち相関値の高い方に対応する動きベクトルを動きベクトルmv1′として出力する。動きベクトルmv1′には、これがmv1′aとmv1′bのいずれかを示す情報、つまり前方動き推定により求められた動きベクトルであるか、後方動き推定によって求められた動きベクトルであるかの動き推定方向情報も付加する。
他の処理は第3の実施形態に準ずるため、説明を省略する。
【0095】
【発明の効果】
以上説明したように、本発明によれば補間フレームに画像データの存在しない隙間ができたり、画像データが重なる部分ができてしまうという問題が基本的になく、さらに誤った動きベクトルを選択してしまう可能性を減少させ、またオクルージョン領域においても正しいフレーム補間を行うことが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態を説明するための参照フレームと補間フレームの関係を示す図
【図2】本発明の第1の実施形態に係るフレーム補間装置の構成を示すブロック図
【図3】同実施形態におけるフレーム補間処理の手順を示すフローチャート
【図4】動きベクトルのスケール変換についての説明図
【図5】オーバラップについての説明図
【図6】オーバラップについての説明図
【図7】オクルージョン動き推定についての説明図
【図8】背景動き推定についての説明図
【図9】オブジェクト動き推定についての説明図
【図10】オクルージョン動き推定についての説明図
【図11】本発明の第2の実施形態に係るフレーム補間装置の構成を示すブロック図
【図12】同実施形態におけるアドレスセットについての説明図
【図13】同実施形態におけるフレーム補間処理の手順を示すフローチャート
【図14】本発明の第3の実施形態に係るフレーム補間装置の構成を示すブロック図
【図15】同実施形態におけるフレーム補間処理の手順を示すフローチャート
【図16】本発明の第4実施形態に係るフレーム補間装置の構成を示すブロック図
【図17】第1の従来技術における補間フレームに画像データの存在しない隙間や画像データが重なる領域ができる問題について説明する図
【図18】第2の従来技術における複数の動きが生じた場合の問題について説明する図
【図19】第2の従来技術におけるオクルージョン領域での動き推定の問題について説明する図
【符号の説明】
10…入力画像信号
11…動き推定部
12…スケール変換部
13…オーバラップ検出部
14…オーバラップベクトル判定部
15…背景動き推定推定部
16…オブジェクト動き推定部
17…オクルージョン動き推定部
18…オーバラップ動き補償部
19A,19B,19C…参照フレームメモリ
20…補間フレーム画像信号
21…双方向動き推定部
22…アドレスセット生成部
23…サブサンプリング部
24,24A,24B,24C…参照フレームメモリ
25…時間拡張動き推定部
Claims (4)
- 画像の第1参照フレームと第2参照フレームとの間の補間フレーム面上に補間フレームを内挿補間するフレーム補間方法において、
前記第1参照フレームを分割した複数の第1ブロックのそれぞれに対して該第1ブロックと最も相関値の高い第2ブロックを前記第2参照フレームから探索して、該第2ブロックの位置を始点とし該第1ブロックの位置を終点とする複数の第1動きベクトルを求めるステップと、
前記複数の第1動きベクトルをそれぞれ前記第1参照フレームと前記補間フレーム面との間の複数の第2動きベクトルに変換するステップと、
前記補間フレーム面を分割した複数の補間対象ブロックのそれぞれに対して、前記複数の第2動きベクトルの中で前記補間対象ブロック内に始点が含まれる第2動きベクトルを前記補間対象ブロックの始点に平行移動したときに、該補間対象ブロックに始点が含まれる第2動きベクトルの終点によって指し示される局所領域を探索領域として検出するステップと、
前記探索領域の数が0個の場合に、前記補間フレームから見て時間軸の前方または後方のいずれか一方の方向のみに存在する複数の参照フレームを用いて前記探索領域から第3動きベクトルを検出するステップと、
前記探索領域の数が1個以上の場合に、前記補間フレームから見て時間軸の前方および後方の両方向に存在する複数の参照フレームを用いて前記探索領域から前記第3動きベクトルを検出するステップと、
前記第3動きベクトルを用いて前記補間対象ブロックに対して動き補償を行うことにより前記補間フレームを生成するステップと
を具備するフレーム補間方法。 - 画像の第1参照フレームと第2参照フレームとの間の補間フレーム面上に補間フレームを内挿補間するフレーム補間方法において、
前記第1参照フレームを分割した複数の第1ブロックのそれぞれに対して該第1ブロックと最も相関値の高い第2ブロックを前記第2参照フレームから探索して、該第2ブロックの位置を始点とし該第1ブロックの位置を終点とする少なくとも一つの順方向動きベクトルを検出するステップと、
前記第2参照フレームを分割した複数の第2ブロックのそれぞれに対して該第2ブロックと最も相関値の高い第1ブロックを前記第1参照フレームから探索して、該第1ブロックの位置を始点とし該第2ブロックの位置を終点とする少なくとも一つの逆方向動きベクトルを検出するステップと、
前記順方向動きベクトル及び逆方向動きベクトルのうち前記相関値が大きい方を選択することにより複数の第1動きベクトルを求めるステップと、
前記複数の第1動きベクトルをそれぞれ前記第1参照フレームと前記補間フレーム面との間の複数の第2動きベクトルに変換するステップと、
前記補間フレーム面を分割した複数の補間対象ブロックのそれぞれに対して、前記複数の第2動きベクトルの中で前記補間対象ブロック内に始点が含まれる第2動きベクトルを前記補間対象ブロックの始点に平行移動したときに、該補間対象ブロックに始点が含まれる第2動きベクトルの終点によって指し示される局所領域を探索領域として検出するステップと、
前記探索領域の数が0個の場合に、前記補間フレームから見て時間軸の前方または後方のいずれか一方の方向のみに存在する複数の参照フレームを用いて前記探索領域から第3動きベクトルを検出するステップと、
前記探索領域の数が1個以上の場合に、前記補間フレームから見て時間軸の前方および後方の両方向に存在する複数の参照フレームを用いて前記探索領域から前記第3動きベクトルを検出するステップと、
前記第3動きベクトルを用いて前記補間対象ブロックに対して動き補償を行うことにより前記補間フレームを生成するステップと
を具備するフレーム補間方法。 - 画像の第1参照フレームと第2参照フレームとの間の補間フレーム面上に補間フレームを内挿補間するフレーム補間装置において、
前記第1参照フレームを分割した複数の第1ブロックのそれぞれに対して該第1ブロックと最も相関値の高い第2ブロックを前記第2参照フレームから探索して、該第2ブロックの位置を始点とし該第1ブロックの位置を終点とする複数の第1動きベクトルを求める手段と、
前記複数の第1動きベクトルをそれぞれ前記第1参照フレームと前記補間フレーム面との間の複数の第2動きベクトルに変換する手段と、
前記補間フレーム面を分割した複数の補間対象ブロックのそれぞれに対して、前記複数の第2動きベクトルの中で前記補間対象ブロック内に始点が含まれる第2動きベクトルを前記補間対象ブロックの始点に平行移動したときに、該補間対象ブロックに始点が含まれる第2動きベクトルの終点によって指し示される局所領域を探索領域として検出する手段と、
前記探索領域の数が0個の場合に、前記補間フレームから見て時間軸の前方または後方のいずれか一方の方向のみに存在する複数の参照フレームを用いて前記探索領域から第3動きベクトルを検出する手段と、
前記探索領域の数が1個以上の場合に、前記補間フレームから見て時間軸の前方および後方の両方向に存在する複数の参照フレームを用いて前記探索領域から前記第3動きベクトルを検出する手段と、
前記第3動きベクトルを用いて前記補間対象ブロックに対して動き補償を行うことにより前記補間フレームを生成する手段と
を具備するフレーム補間装置。 - 画像の第1参照フレームと第2参照フレームとの間の補間フレーム面上に補間フレームを内挿補間するフレーム補間装置において、
前記第1参照フレームを分割した複数の第1ブロックのそれぞれに対して該第1ブロックと最も相関値の高い第2ブロックを前記第2参照フレームから探索して、該第2ブロックの位置を始点とし該第1ブロックの位置を終点とする少なくとも一つの順方向動きベクトルを検出する手段と、
前記第2参照フレームを分割した複数の第2ブロックのそれぞれに対して該第2ブロックと最も相関値の高い第1ブロックを前記第1参照フレームから探索して、該第1ブロックの位置を始点とし該第2ブロックの位置を終点とする少なくとも一つの逆方向動きベクトルを検出する手段と、
前記順方向動きベクトル及び逆方向動きベクトルのうち前記相関値が大きい方を選択することにより複数の第1動きベクトルを求める手段と、
前記複数の第1動きベクトルをそれぞれ前記第1参照フレームと前記補間フレーム面との間の複数の第2動きベクトルに変換する手段と、
前記補間フレーム面を分割した複数の補間対象ブロックのそれぞれに対して、前記複数の第2動きベクトルの中で前記補間対象ブロック内に始点が含まれる第2動きベクトルを前記補間対象ブロックの始点に平行移動したときに、該補間対象ブロックに始点が含まれる第2動きベクトルの終点によって指し示される局所領域を探索領域として検出する手段と、
前記探索領域の数が0個の場合は前記補間対象ブロックがオクルージョン領域であると判定し、該探索領域の数が1個以上の場合は前記補間対象ブロックが非オクルージョン領域であると判定する手段と、
前記探索領域の数が0個の場合に、前記補間フレームから見て時間軸の前方または後方 のいずれか一方の方向のみに存在する複数の参照フレームを用いて前記探索領域から第3動きベクトルを検出する手段と、
前記探索領域の数が1個以上の場合に、前記補間フレームから見て時間軸の前方および後方の両方向に存在する複数の参照フレームを用いて前記探索領域から前記第3動きベクトルを検出する手段と、
前記第3動きベクトルを用いて前記補間対象ブロックに対して動き補償を行うことにより前記補間フレームを生成する手段と
を具備するフレーム補間装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002287362A JP3873017B2 (ja) | 2002-09-30 | 2002-09-30 | フレーム補間方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002287362A JP3873017B2 (ja) | 2002-09-30 | 2002-09-30 | フレーム補間方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004128702A JP2004128702A (ja) | 2004-04-22 |
JP3873017B2 true JP3873017B2 (ja) | 2007-01-24 |
Family
ID=32280190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002287362A Expired - Fee Related JP3873017B2 (ja) | 2002-09-30 | 2002-09-30 | フレーム補間方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3873017B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8280170B2 (en) | 2009-05-01 | 2012-10-02 | Fujifilm Corporation | Intermediate image generating apparatus and method of controlling operation of same |
US9426337B2 (en) | 2012-07-19 | 2016-08-23 | Samsung Electronics Co., Ltd. | Apparatus, method and video decoder for reconstructing occlusion region |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4398925B2 (ja) | 2005-03-31 | 2010-01-13 | 株式会社東芝 | 補間フレーム生成方法、補間フレーム生成装置および補間フレーム生成プログラム |
JP4658686B2 (ja) * | 2005-05-25 | 2011-03-23 | 日本放送協会 | 双方向動きベクトル検出による内挿画像生成装置及びプログラム |
EP1941455A1 (en) * | 2005-10-17 | 2008-07-09 | Koninklijke Philips Electronics N.V. | Motion estimation and compensation of image sequences |
JP4872424B2 (ja) * | 2006-04-12 | 2012-02-08 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにプログラム |
JP4670918B2 (ja) | 2008-08-26 | 2011-04-13 | ソニー株式会社 | フレーム補間装置及びフレーム補間方法 |
JP4991890B2 (ja) * | 2010-03-01 | 2012-08-01 | 株式会社東芝 | 補間フレーム生成装置及び方法 |
JP2012089986A (ja) | 2010-10-18 | 2012-05-10 | Mitsubishi Electric Corp | 画像処理装置及び方法、並びに画像表示装置及び方法 |
JP7102844B2 (ja) * | 2018-03-27 | 2022-07-20 | 株式会社リコー | フレーム補間装置、フレーム補間方法およびフレーム補間プログラム |
JP7091767B2 (ja) * | 2018-03-27 | 2022-06-28 | 株式会社リコー | フレーム補間装置およびフレーム補間方法 |
-
2002
- 2002-09-30 JP JP2002287362A patent/JP3873017B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8280170B2 (en) | 2009-05-01 | 2012-10-02 | Fujifilm Corporation | Intermediate image generating apparatus and method of controlling operation of same |
US9426337B2 (en) | 2012-07-19 | 2016-08-23 | Samsung Electronics Co., Ltd. | Apparatus, method and video decoder for reconstructing occlusion region |
Also Published As
Publication number | Publication date |
---|---|
JP2004128702A (ja) | 2004-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8724022B2 (en) | Frame rate conversion using motion estimation and compensation | |
US11240406B2 (en) | Object tracking using momentum and acceleration vectors in a motion estimation system | |
US8929451B2 (en) | External vectors in a motion estimation system | |
JP4198608B2 (ja) | 補間画像生成方法および装置 | |
JP4472986B2 (ja) | 動き推定および/または補償 | |
JP5657391B2 (ja) | ハローを低減する画像補間 | |
TWI455588B (zh) | 以雙向、局部及全域移動評估為基礎之框率轉換 | |
JP3840129B2 (ja) | 動きベクトル検出方法と装置、補間画像作成方法と装置及び画像表示システム | |
JP2004297719A (ja) | フレーム補間方法及びこれを用いた画像表示システム | |
JP3873017B2 (ja) | フレーム補間方法及び装置 | |
KR101756842B1 (ko) | 영상 프레임의 보간 방법 및 장치 | |
US7321396B2 (en) | Deinterlacing apparatus and method | |
JP2011010304A (ja) | 動きベクトル推定器 | |
KR20050061556A (ko) | 고장시 조치를 갖는 이미지 처리 유닛 | |
JP2012089986A (ja) | 画像処理装置及び方法、並びに画像表示装置及び方法 | |
KR100955415B1 (ko) | 움직임 파라미터 세트 및 화상 반복 패턴을 제공하기 위한 방법, 컴퓨터 판독가능 저장 매체 및 집적 회로와, 움직임 파라미터를 제공하기 위한 컴퓨터 | |
US20130235274A1 (en) | Motion vector detection device, motion vector detection method, frame interpolation device, and frame interpolation method | |
JP2007060192A (ja) | 補間フレーム生成装置、その方法、画像表示システム、並びに、プログラムおよび記録媒体 | |
JP2009295029A (ja) | 動き量検出装置及び動き量検出方法 | |
KR20110048252A (ko) | 움직임 벡터 공유에 기초한 영상을 변환하는 방법 및 장치 | |
Lee et al. | Motion vector correction based on the pattern-like image analysis | |
Braun et al. | Motion-compensating real-time format converter for video on multimedia displays | |
JP5435242B2 (ja) | 画像処理方法、画像処理装置及び画像処理プログラム | |
US8805101B2 (en) | Converting the frame rate of video streams | |
Grammalidis et al. | Temporal frame interpolation for stereoscopic sequences using object-based motion estimation and occlusion detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060314 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060515 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061023 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101027 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111027 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111027 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121027 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131027 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |