JPWO2012066866A1 - 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法 - Google Patents
動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法 Download PDFInfo
- Publication number
- JPWO2012066866A1 JPWO2012066866A1 JP2012544149A JP2012544149A JPWO2012066866A1 JP WO2012066866 A1 JPWO2012066866 A1 JP WO2012066866A1 JP 2012544149 A JP2012544149 A JP 2012544149A JP 2012544149 A JP2012544149 A JP 2012544149A JP WO2012066866 A1 JPWO2012066866 A1 JP WO2012066866A1
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- sub
- block
- layer
- blocks
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/014—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
- Television Systems (AREA)
Abstract
動きベクトル検出装置は、ブロック単位の動きベクトル(MV0)を検出する動き推定部と動きベクトル細密化部(130)とを備える。動きベクトル細密化部(130)は、第1の動きベクトル生成部(1341)と第2の動きベクトル生成部(1342〜134N)と動きベクトル補正部(1371〜137N)とを含む。第1の動きベクトル生成部(1341)は、各ブロックを生成元として第1階層のサブブロックを生成し、第1階層の各サブブロックの動きベクトル(MV1)を生成する。第2の動きベクトル生成部(1342〜134N)は、第2階層乃至第N階層の各階層について、当該各階層の各サブブロックの動きベクトル(MVk;kは2〜N)を生成する。動きベクトル補正部(1371〜137N)は、第1階層乃至第N階層のうちの補正対象階層のサブブロックの動きベクトルを補正する。
Description
本発明は、映像信号に含まれる一連のフレームに基づいて動きベクトルを検出する技術に関する。
液晶表示装置(LCD)に代表されるホールド型表示装置は、同一の表示画像を一定期間(たとえば、1フレーム期間)保持(ホールド)し表示し続けるため、視聴者には、動画像中の移動する物体がぼやけて見えるという特有の問題がある。具体的には、視聴者の視点は、ホールド型表示装置の表示画面中の移動する物体に追随して移動するが、この物体は一定期間ホールドされている間は移動しないので、この物体の実際の表示位置と視聴者の視点との間にズレが発生し、このことが、当該物体がぼやけて見える原因となる。この種の動画像のぼけを軽減する手段としては、フレーム間に補間フレームを内挿して単位時間当たりの表示フレーム数を増やすフレーム補間技術が知られている。また、解像度の低い複数のフレームから解像度の高いフレームを生成し、これら高解像度フレームを用いて補間フレームを生成することにより、より高精細な映像を提供する技術もある。
このようなフレーム補間技術では、フレーム間の画素対応、すなわち、フレーム間における物体の動きを推定する必要がある。フレーム間の物体の動きを推定する方法としては、各フレームを複数のブロックに分割し、ブロックごとの動きを推定するブロックマッチング法が広く使用されている。ブロックマッチング法は、一般に、時間的に連続する2つのフレームの一方を複数のブロックに分割し、これら複数のブロックのそれぞれを順次着目ブロックとして、他方のフレームの中から着目ブロックと最も相関の高い参照ブロックを探索するものである。そして、最も相関の高い参照ブロックと当該着目ブロックとの位置のズレが動きベクトルとして検出される。たとえば、着目ブロックと参照ブロックとの間の画素の輝度差の絶対値を算出し、算出された絶対値の総和を算出して、この総和が最小となる参照ブロックを最も相関の高い参照ブロックとすることができる。
従来のブロックマッチング法では、各ブロックは8×8画素や16×16画素といったサイズを有するため、ブロックマッチング法による動きベクトルを用いて生成した補間フレームでは、ブロック境界部で画像の乱れが発生して画質が低下するという問題がある。この問題は、画素単位(1画素精度)の動きベクトルを正確に検出することができれば、解決可能なものである。しかしながら、画素単位の動きベクトルの推定精度を向上させることはむずかしいという問題がある。たとえば、ブロックごとに検出された動きベクトルを、当該ブロック内の画素1つ1つの動きベクトルとすることも可能ではあるが、この場合は、当該ブロックに属する画素が全て同じ動きを示すため、画素単位の動きベクトルを正確に検出したことにはならない。また、画素単位の動きベクトルを検出するためにブロックサイズを小さくすると、動きベクトルの推定精度が向上しないことが知られている。さらに、ブロックサイズを小さくすると演算量が膨大となるという問題もある。
特許第4419062号公報(特許文献1)、特許第4374048号公報(特許文献2)及び特開平11−177940号公報(特許文献3)には、ブロック単位の動きベクトルに基づいて画素単位の動きベクトルを生成する技術が開示されている。特許文献1乃至3に開示されている方法は、時間的に前後する2つのフレームのうちの一方のフレームにおける注目画素が存在するブロック(注目ブロック)の動きベクトルと、当該注目ブロックに隣接する周辺ブロックの動きベクトルとを候補とし、他方のフレームにおいて当該注目画素に対応する位置から動きベクトルの候補分移動した位置の画素と当該着目画素との間の画素値の差分を求める。そして、動きベクトルの候補のなかから当該差分が最小となる動きベクトルが、当該注目画素の動きベクトル(画素単位の動きベクトル)として選択される。特許文献2の方法は、既に画素単位の動きベクトルが決定された際に最多適用された画素単位の動きベクトルを候補に加えることで、さらなる検出精度の向上を図るものである。
上述のとおり、特許文献1乃至3の方法は、ブロック単位の動きベクトルの候補の中から、注目画素の動きベクトルを選択するものである。しかしながら、画像中に空間的な周期パターン(たとえば、空間周波数の高い縞模様などの繰り返しパターン)やノイズが存在すると、動きベクトルの候補の中から推定精度の高い正確な動きベクトルを選択することが妨げられるという問題がある。
上記に鑑みて本発明の目的は、画像中に現れる空間的な周期パターンやノイズの影響により画素単位の動きベクトルの推定精度が低下することを抑制することができる動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法を提供することである。
本発明の第1の態様による動きベクトル検出装置は、動画像を構成する一連のフレームにおける動きを検出する動きベクトル検出装置であって、前記一連のフレームの中の着目フレームを複数のブロックに分割し、前記一連のフレームのうち前記着目フレームとは時間的に異なるフレームを参照フレームとして、前記着目フレームと前記参照フレームとの間における前記各ブロックの動きを推定してブロック単位の動きベクトルを検出する動き推定部と、前記複数のブロックに基づいて第1階層乃至第N階層(Nは2以上の整数)に分類された複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記複数のサブブロック各々の動きベクトルを生成する動きベクトル細密化部とを備え、前記動きベクトル細密化部は、前記複数のブロックの各々を生成元として前記第1階層の複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記第1階層の複数のサブブロック各々の動きベクトルを生成する第1の動きベクトル生成部と、前記第1階層乃至第N階層のうちの第2階層乃至第N階層の各階層について、当該各階層よりも1つ上位の階層の複数のサブブロックの各々を生成元として当該各階層の複数のサブブロックを生成し、当該1つ上位の階層の複数のサブブロックの動きベクトルに基づいて、当該各階層の複数のサブブロック各々の動きベクトルを生成する第2の動きベクトル生成部と、前記第1階層乃至第N階層のうちの少なくとも1つの補正対象階層について、当該補正対象階層の複数のサブブロックのそれぞれを補正対象サブブロックとし、前記補正対象サブブロックの周辺領域に位置する周辺サブブロックの動きベクトルと前記補正対象サブブロックの動きベクトルとを包含する集合に属する動きベクトルと前記補正対象サブブロックの動きベクトルとの間の距離の総和が最小となるように前記補正対象サブブロックの動きベクトルを補正する動きベクトル補正部とを含み、前記第2の動きベクトル生成部は、前記動きベクトル補正部により補正された動きベクトルを用いて、前記補正対象階層よりも1つ下位の階層の複数のサブブロック各々の動きベクトルを生成する。
本発明の第2の態様によるフレーム補間装置は、上記第1の態様による動きベクトル検出装置と、前記動きベクトル検出装置で検出されたサブブロック単位の動きベクトルに基づいて補間フレームを生成する補間部とを備える。
本発明の第3の態様による動きベクトル検出方法は、動画像を構成する一連のフレームの中の動きを検出する動きベクトル検出方法であって、前記一連のフレームの中の着目フレームを複数のブロックに分割し、前記一連のフレームのうち前記着目フレームとは時間的に異なるフレームを参照フレームとして、前記着目フレームと前記参照フレームとの間における前記各ブロックの動きを推定してブロック単位の動きベクトルを検出する動き推定ステップと、前記複数のブロックに基づいて第1階層乃至第N階層(Nは2以上の整数)に分類された複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記複数のサブブロック各々の動きベクトルを生成する動きベクトル細密化ステップとを備え、前記動きベクトル細密化ステップは、前記複数のブロックの各々を生成元として前記第1階層の複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記第1階層の複数のサブブロック各々の動きベクトルを生成する第1の動きベクトル生成ステップと、前記第1階層乃至第N階層のうちの第2階層乃至第N階層の各階層について、当該各階層よりも1つ上位の階層の複数のサブブロックの各々を生成元として当該各階層の複数のサブブロックを生成し、当該1つ上位の階層の複数のサブブロックの動きベクトルに基づいて、当該各階層の複数のサブブロック各々の動きベクトルを生成する第2の動きベクトル生成ステップと、前記第1階層乃至第N階層のうちの少なくとも1つの補正対象階層について、当該補正対象階層の複数のサブブロックのそれぞれを補正対象サブブロックとし、前記補正対象サブブロックの周辺領域に位置する周辺サブブロックの動きベクトルと前記補正対象サブブロックの動きベクトルとを包含する集合に属する動きベクトルと前記補正対象サブブロックの動きベクトルとの間の距離の総和が最小となるように前記補正対象サブブロックの動きベクトルを補正する補正ステップとを含み、前記第2の動きベクトル生成ステップでは、当該補正された動きベクトルを用いて、前記補正対象階層よりも1つ下位の階層の複数のサブブロック各々の動きベクトルが生成される。
本発明の第4の態様によるフレーム補間方法は、上記第3の態様による動きベクトル検出方法が備える動き推定ステップ及び動きベクトル細密化ステップと、前記動きベクトル細密化ステップで検出されたサブブロック単位の動きベクトルを用いて補間フレームを生成するステップとを備える。
本発明によれば、画像中に現れる空間的な周期パターンやノイズの影響により画素単位の動きベクトルの推定精度が低下することを効果的に抑制することができる。
以下、本発明に係る種々の実施の形態について図面を参照しつつ説明する。
実施の形態1.
図1は、本発明に係る実施の形態1の動きベクトル検出装置10の構成を概略的に示す機能ブロック図である。動きベクトル検出装置10は、動画像を構成する一連のフレームのうち時間的に互いに前後する第1及び第2フレームFa,Fbがそれぞれ入力される入力部100a,100bを備えている。また、動きベクトル検出装置10は、入力された第1及び第2フレームFa,Fbからブロック単位の動きベクトルMV0を検出する動き推定部120と、ブロック単位の動きベクトルMV0に基づいて画素単位(1画素精度)の動きベクトルMVを生成する動きベクトル細密化部130とを備える。動きベクトルMVは、出力部150から外部に出力される。
図1は、本発明に係る実施の形態1の動きベクトル検出装置10の構成を概略的に示す機能ブロック図である。動きベクトル検出装置10は、動画像を構成する一連のフレームのうち時間的に互いに前後する第1及び第2フレームFa,Fbがそれぞれ入力される入力部100a,100bを備えている。また、動きベクトル検出装置10は、入力された第1及び第2フレームFa,Fbからブロック単位の動きベクトルMV0を検出する動き推定部120と、ブロック単位の動きベクトルMV0に基づいて画素単位(1画素精度)の動きベクトルMVを生成する動きベクトル細密化部130とを備える。動きベクトルMVは、出力部150から外部に出力される。
図2は、第1フレームFaと第2フレームFbの時間軸上の配置例を概略的に示す図である。第1フレームFaと第2フレームFbには、それぞれ、タイムスタンプ情報で特定される時刻ta,tbが割り当てられている。本実施の形態では、動きベクトル検出装置10は、第2フレームFbを着目フレームとし、この第2フレームFbよりも時間的に後に入力する第1フレームFaを参照フレームとして利用するが、これに限定されるものではない。第1フレームFaを着目フレームとし、第2フレームFbを参照フレームとして利用することもできる。
動き推定部120は、図2に概略的に示されるように着目フレームFbを複数のブロック(たとえば、8×8画素や16×16画素)MB(1),MB(2),MB(3),…に分割し、これら複数のブロックMB(1),MB(2),MB(3),…のそれぞれを順次着目ブロックCB0として、着目フレームFbから参照フレームFaへの着目ブロックCB0の動きを推定する。具体的には、動き推定部120は、着目フレームFb内の着目ブロックCB0と最も相関の高い参照ブロックRBfを参照フレームFaの中から探索し、着目ブロックCB0と当該参照ブロックRBfとの間の空間方向(水平画素方向Xと垂直画素方向Yとで定まる方向)のズレを着目ブロックCB0の動きベクトルとして検出する。このようにして動き推定部120は、MB(1),MB(2),MB(3),…のそれぞれの動きベクトルMV0(1),MV0(2),MV0(3),…を検出する。
このような動きベクトルMV0(1),MV0(2),MV0(3),…(動きベクトルMV0)の検出法としては、公知のブロックマッチング法を使用することができる。ブロックマッチング法では、参照ブロックRBfと着目ブロックCB0との間の相関の程度を評価するために、これら2つのブロック間の類似度または非類似度に基づいた評価値が求められる。評価値の算出方法には様々なものが提案されているが、たとえば、ブロック間の画素ごとの輝度値の差分の絶対値を算出し、その総和を絶対値差分和(SAD:Sum of Absolute Difference)として求め、絶対値差分和を評価値とする方法を用いることができる。SADが小さいほど、対比される両ブロック間の類似度は大きくなる(言い換えれば、両ブロック間の非類似度は小さくなる)。
なお、参照ブロックRBfの探索範囲は、参照フレームFaの全体を網羅することが理想的であるが、その全体の位置について評価値を算出するには、膨大な演算量が必要となるため、着目ブロックCB0のフレーム内位置に相当する位置を中心とする一定の範囲で探索することが好ましい。
また、本実施の形態では、動きベクトルの好適な検出法としてブロックマッチング法を使用するが、これに限定されずに、ブロックマッチング法以外の方法を使用することも可能である。たとえば、動き推定部120は、ブロックマッチング法に代えて、公知の勾配法(たとえば、Lucas−Kanade法)によりブロック単位の動きベクトルMV0を高速に生成してもよい。
動きベクトル細密化部130は、着目フレームFbから派生するブロックMB(1),MB(2),MB(3),…の各々を階層的に分割して第1階層から第N階層(Nは2以上の整数)に分類された複数のサブブロックを生成する。動きベクトル細密化部130は、階層ごとに各サブブロックの動きベクトルを生成する機能を有する。
図3は、第1階層から第3階層に分類されたサブブロックSB1(1),SB1(2),…,SB2(1),SB2(2),…,SB3(1),SB3(2),…を概念的に例示する図である。図3に示されるように、第1階層の4つのサブブロックSB1(1),SB1(2),SB1(3),SB1(4)は、1つ上位の階層(第0階層)のブロックMB(p)(pは正整数)を水平画素方向X及び垂直画素方向Yの縮小率1/2で4分割することで得られる。また、第0階層における複数のブロックの複数の動きベクトルに基づいて第1階層のサブブロックSB1(1),SB1(2),SB1(3),SB1(4),…のそれぞれの動きベクトルMV1(1),MV1(2),MV1(3),MV1(4),…が求められる。また、第2階層のサブブロックSB2(1),SB2(2),SB2(3),SB2(4),…は、1つ上位の第1階層のサブブロックSB1(1),SB1(2),…の各々を縮小率1/2で4分割することで得られる。これらサブブロックSB2(1),SB2(2),SB2(3),SB2(4),…のそれぞれの動きベクトルは、第1階層における複数のサブブロックの複数の動きベクトルに基づいて求められる。そして、第3階層のサブブロックSB3(1),SB3(2),SB3(3),…は、1つ上位の第2階層のサブブロックSB2(1),SB2(2),…の各々を縮小率1/2で4分割することで得られる。これらサブブロックSB3(1),SB3(2),SB3(3),SB3(4),…のそれぞれの動きベクトルは、第2階層における複数のサブブロックの複数の動きベクトルに基づいて求められる。このように、動きベクトル細密化部130は、第0階層のブロックの各々を再帰的に分割して第1階層から第3階層のサブブロックSB1(1),SB1(2),…,SB2(1),SB2(2),…,SB3(1),SB3(2),…を生成しつつ、第0階層における密度(単位画素当たりの動きベクトルの数)の低い動きベクトルから、より密度の高い動きベクトルを段階的に生成する機能を有している。
なお、図3の例では、ブロックMB(p)及びサブブロックSB1(1),SB1(2),…,SB2(1),SB2(2),…の分割の際に使用される縮小率はすべて1/2であったが、これに限定されるものではない。分割のそれぞれの段階で縮小率を個別に設定することが可能である。
また、サブブロックのサイズと縮小率によっては、分割の過程で、サブブロックのサイズ(水平画素数と垂直画素数)が整数値とならない場合がある。かかる場合は、そのサイズの少数点以下の数値を切り捨てもしくは切り上げる処理を行うことができる。さらに、互いに異なる複数の生成元(ブロックまたはサブブロック)から分割により生成された複数のサブブロックが同一フレーム内で互いに重複する場合がある。かかる場合は、複数の生成元のうちの1つを選択し、選択された生成元から生成されたサブブロックを選択すればよい。
図4は、動きベクトル細密化部130の構成を概略的に示す機能ブロック図である。図4に示されるように、動きベクトル細密化部130は、ブロック単位の動きベクトルMV0が入力される入力部132と、参照フレームFa及び着目フレームFbが入力される入力部131a,131bと、第1乃至第Nの階層処理部1331〜133N(Nは2以上の整数)と、画素単位の動きベクトルMVを出力する出力部138とを有する。各階層処理部133k(kは1〜Nのいずれかの整数)は、動きベクトル生成部134kと動きベクトル補正部137kとを有している。
図5は、動きベクトル生成部134kの構成を概略的に示す機能ブロック図である。図5に示されるように、動きベクトル生成部134kは、前段から入力された動きベクトルMVk−1を受ける入力部141kと、参照フレームFa及び着目フレームFbが入力される入力部140Ak,140Bkと、候補ベクトル抽出部142kと、評価部143kと、動きベクトル決定部144kとを有している。
階層処理部1331〜133Nの基本的な動作は同じである。以下、第1の階層処理部1331で処理されるブロックMB(1),MB(2),…を第0階層のサブブロックSB0(1),SB0(2),…とみなして、各階層処理部133kの処理について詳細に説明する。
動きベクトル生成部134kにおいては、候補ベクトル抽出部142kは、サブブロックSBk(1),SBk(2),SBk(3),…のそれぞれを順次着目サブブロックCBkとし、この着目サブブロックCBkに対して、1つ上位の階層のサブブロックSBk−1(1),SBk−1(2),SBk−1(3),…の動きベクトル群の中から少なくとも1つの候補ベクトルCVkを抽出する。抽出された候補ベクトルCVkは、評価部143kに与えられる。
図6は、候補ベクトル抽出部142kにより実行される候補ベクトル抽出処理の手順を概略的に示すフローチャートである。図6に示されるように、候補ベクトル抽出部142kは、まず、サブブロック番号jを初期値「1」に設定し(ステップS10)、j番目のサブブロックSBk(j)を着目サブブロックCBkに設定する(ステップS11)。次いで、候補ベクトル抽出部142kは、1つ上位の第k−1階層のサブブロック群のうち、着目サブブロックCBkの生成元であるサブブロックSBk−1(i)を選択し(ステップS12)、このサブブロックSBk−1(i)の動きベクトルMVk−1(i)を候補ベクトル集合Vk(j)に登録する(ステップS13)。
その後、候補ベクトル抽出部142kは、第k−1階層における生成元のサブブロックSBk−1(i)の周辺領域のサブブロック群を選択し(ステップS14)、このサブブロック群の動きベクトルを候補ベクトル集合Vk(j)に登録する(ステップS15)。
次に、候補ベクトル抽出部142kは、サブブロック番号jが、第k階層に属するサブブロックの総数Nkに達したか否かを判定し(ステップS16)、サブブロック番号jが総数Nkに達していない場合(ステップS16のNO)には、サブブロック番号jを1だけインクリメントし(ステップS17)、ステップS11に処理を戻す。他方で、サブブロック番号jが総数Nkに達している場合(ステップS16のYES)には、候補ベクトル抽出処理は終了する。
図7(A),(B)は、候補ベクトル抽出処理の手順の一例を説明するための図である。図7(A)に示される第k−1階層の各サブブロックを縮小率α=1/2(=0.5)で分割することにより、図7(B)に示される第k階層のサブブロックSBk(1),SBk(2),SBk(3),…が生成されている。図7(B)のサブブロックSBk(j)が着目サブブロックCBkとされたときは、この着目サブブロックCBkに対応する生成元のサブブロックSBk−1(i)が選択される(ステップS12)。次に、このサブブロックSBk−1(i)の動きベクトルMVk−1(i)が候補ベクトル集合Vk(j)に登録される(ステップS13)。また、生成元のサブブロックSBk−1(i)に対して水平画素方向、垂直画素方向、右上がり斜め方向、右下がり斜め方向、左上がり斜め方向及び左下がり斜め方向という8方向にそれぞれ隣接する周辺領域の8個のサブブロックSBk−1(a)〜SBk−1(h)が選択される(ステップS14)。次に、これらサブブロックSBk−1(a)〜SBk−1(h)の動きベクトルが候補ベクトル集合Vk(j)に登録される(ステップS15)。結果として、第k階層の1つの着目サブブロックCBkに対して、第k−1階層における9個のサブブロックSBk−1(i),SBk−1(a)〜SBk−1(h)の9個の動きベクトルが候補ベクトルとして抽出され、候補ベクトル集合Vk(j)に登録される。
なお、ステップS14において、生成元のサブブロックSBk−1(i)に隣接するサブブロックSBk−1(a)〜SBk−1(h)の全てを選択しない場合もありうる。また、生成元のサブブロックSBk−1(i)に対して隣接しない周辺のサブブロックを選択する場合や、生成元のサブブロックSBk−1(i)が属するフレームFbに対して時間的に隣接する他のフレーム上のサブブロック(たとえば、当該サブブロックSBk−1(i)のフレーム内位置に相当する位置を有するサブブロック)を選択する場合にも、本実施の形態は成立し得る。
また、ステップS14においては、生成元のサブブロックSBk−1(i)に対して8方向に隣接する領域以外の領域のサブブロックが選択されてもよい。たとえば、図8に示されるように、生成元のサブブロックSBk−1(i)に対して、8方向に2サブブロック分離れた8個のサブブロックSBk−1(m)〜SBk−1(t)の中からサブブロックを選択してもよい。このように、隣接サブブロックに限定せずに離れたサブブロックを選択することで、誤検出された動きベクトルを有する複数のサブブロックが局在している場合(複数のサブブロックが固まって存在している場合)でも、これらの誤検出された動きベクトル以外の正しい動きベクトルを候補ベクトル集合に加えることができる。
さらに、縮小率αは1/2に限定されない。図9(A),(B)は、候補ベクトル抽出処理の手順の他の例を説明するための図である。図9(A)に示される第k−1階層の各サブブロックを縮小率α=1/4(=0.25)で分割することにより、図9(B)に示される第k階層のサブブロックSBk(1),SBk(2),SBk(3),SBk(4),…が生成されている。図9(B)のサブブロックSBk(j)が着目サブブロックCBkとされたときは、この着目サブブロックCBkに対応する生成元のサブブロックSBk−1(i)が選択される(ステップS12)。次に、このサブブロックSBk−1(i)の動きベクトルMVk−1(i)が候補ベクトル集合Vk(j)に登録される(ステップS13)。また、生成元のサブブロックSBk−1(i)に対して周辺の隣接サブブロックSBk−1(a)〜SBk−1(h)の中からサブブロックを選択し(ステップS14)、選択されたサブブロックの動きベクトルを候補ベクトル集合Vk(j)に登録することができる(ステップS15)。ステップS14では、生成元のサブブロックSBk−1(i)の境界4辺のうち、着目サブブロックCBkと空間方向に最も近い2辺に隣接するサブブロックSBk−1(c)〜SBk−1(g)を選択してもよい。
上記のごとく候補ベクトルが抽出された後、評価部143kは、着目サブブロックCBkのフレーム内位置pos=(Xc,Yc)に相当する参照フレームFa内の位置(Xr,Yr)から候補ベクトルCVkの分ずれた位置(Xr+CVx,Yr+CVy)にある参照サブブロックRBを抽出する。ここで、CVx,CVyは、それぞれ、候補ベクトルCVkの水平画素方向成分(X成分)と垂直画素方向成分(Y成分)であり、参照サブブロックRBのサイズは、着目サブブロックCBkのサイズと同じである。たとえば、図10に示されるように、着目フレームFb内の着目サブブロックCBkに対して、4個の候補ベクトルCVk(1)〜CVk(4)が抽出された場合、これら候補ベクトルCVk(1)〜CVk(4)で指定される4個の参照サブブロックRB(1)〜RB(4)を抽出することができる。
さらに、評価部143kは、抽出された参照サブブロックRBと着目サブブロックCBkとのブロック対の類似度または非類似度を算出し、この算出結果に基づいて候補ベクトルの評価値Edを求める。たとえば、ブロック対の絶対値差分和(SAD)を評価値Edとして算出することができる。図10の例では、着目サブブロックCBkと、4個の参照サブブロックRB(1)〜RB(4)との間で4つのブロック対が形成されるので、評価部143kは、ブロック対それぞれについて候補ベクトルの評価値Edを算出することとなる。これら評価値Edと候補ベクトルCVkの組は、動きベクトル決定部144kに与えられる。
そして、動きベクトル決定部144kは、評価値Edに基づいて、候補ベクトル集合Vk(j)の中から最も確からしい動きベクトルを、着目サブブロックCBk(=SBk(j))の動きベクトルMVkとして選択する。この動きベクトルMVkは出力部145kを介して後段に出力される。
ここで、viは、候補ベクトル集合Vkの要素である候補ベクトルであり、fa(x)は、位置ベクトルxで指定される参照フレームFa内の画素の値であり、fb(x)は、位置ベクトルxで指定される着目フレームFb内の画素の値であり、Bは、着目サブブロック内の位置を示す位置ベクトルの集合であり、posは、集合Bの要素である位置ベクトルである。また、SAD(vi)は、候補ベクトルviで指定される参照フレームFa内の参照サブブロックと着目サブブロックとの対の差分絶対値和(SAD)を出力する関数である。argmin(SAD(vi))は、SAD(vi)を最小にするvi(=vt)を与える。
このようにして、SADに基づいて真の動きベクトルに対して最も確からしい動きベクトルMVk(=vt)を選ぶことができる。なお、評価値EdをSADとは異なる定義を用いて算出してもよい。
次に、図4の動きベクトル補正部137kについて説明する。
動きベクトル補正部137kは、第k階層のサブブロックSBk(1),…,SBk(Nk)のそれぞれを順次着目サブブロックとし、この着目サブブロックの周辺領域に位置する周辺サブブロックの動きベクトルに基づいて、当該着目サブブロックの動きベクトルを補正するフィルタ機能を有する。このフィルタ機能により、動きベクトル生成部134kから誤った動きベクトルMVkが出力されたとき、その誤った動きベクトルMVkが後段の階層処理部133k+1または出力部138に伝達されることを防止することができる。
ここで、着目サブブロックの動きベクトルがその周辺領域のサブブロックの動きベクトルとは明らかに異なる場合にその動きベクトルを排除し、サブブロック単位の動きベクトルの分布を滑らかにするには、平滑化フィルタを使用することが考えられる。しかしながら、平滑化フィルタを適用すると、本来存在しない動きベクトルが出現する場合がある。
たとえば、着目サブブロックの動きベクトルが誤検出により(9,9)となり、着目サブブロックに隣接する8個のサブブロックの動きベクトルがすべて(0,0)であった場合に、当該着目サブブロックに対して、3×3個のサブブロックを適用範囲(フィルタ窓)とする単純な平滑化フィルタ(複数の動きベクトルの算術平均を行う平均化フィルタ)を適用すると、この平滑化フィルタの出力は(1,1)となる。この出力は、より確からしい(0,0)とは異なり、本来存在しない動きベクトルが出力されてしまう。動きベクトルを利用した補間フレーム生成や超解像においては、周辺に全く存在しないベクトルを出力することを回避することが好ましい。
そこで、本実施の形態の動きベクトル補正部137kは、当該着目サブブロック(補正対象サブブロック)とこの着目サブブロックを中心とする周辺サブブロックとを含む適用範囲(フィルタ窓)内の複数のサブブロックの複数の動きベクトルを補正候補ベクトルvcとし、補正候補ベクトルvcの中から、周辺サブブロックの動きベクトルと着目サブブロックの動きベクトルとの間の距離(distance)の総和を最小とする補正候補ベクトルを選択し、当該選択された補正候補ベクトルで着目サブブロックの動きベクトルを置き換えるというフィルタ機能を有する。ここで、2つの動きベクトル間の距離としては、ユークリッド距離、マンハッタン距離並びにチェビシェフ距離など、数学的な様々な概念が知られている。
本実施の形態の場合、周辺サブブロックの動きベクトルと当該着目サブブロックの動きベクトルとの間の距離として、マンハッタン距離が採用される。マンハッタン距離を採用した場合、次式(2)を用いて、着目サブブロックの新たな動きベクトルvnを生成することができる。
ここで、vcは、補正候補ベクトルであり、Vfは、フィルタ窓内のサブブロックの動きベクトルからなる集合であり、xc,ycは、それぞれ、補正候補ベクトルvcの水平画素方向成分(X成分)及び垂直画素方向成分(Y成分)であり、xi,yiは、それぞれ、集合Vfに属する動きベクトルviのX成分及びY成分である。そして、dif(vc)は、動きベクトルvc,vi間のマンハッタン距離の総和を出力する関数である。argmin(dif(vc))は、dif(vc)を最小するvcを補正ベクトルvnとして与える。このようにして集合Vfに属する補正候補ベクトルvcから補正ベクトルvnを選択することで、本来存在しない動きベクトルを補正ベクトルとして生成することを確実に回避することができる。なお、フィルタ窓内のサブブロックの位置に応じて、サブブロックの動きベクトルに重み付けを行うといった最適化処理を行うこともできる。また、フィルタ窓内のサブブロックの動きベクトルの空間分布によっては、補正候補ベクトルvcが集合Vfに属するとの制限を外して補正ベクトルvnを算出する処理を実行してもよい。
図11(A),(B)は、3×3画素分のフィルタ窓Fwを有する動きベクトル補正部137kを用いて着目サブブロックCBkを補正する様子を概略的に示す図である。図11(A)が補正前の状態を表し、図11(B)が補正後の状態を表している。図11(A)に示されるように、着目サブブロックCBkの動きベクトルMVcの方向は、周辺サブブロックCBk(a)〜CBk(h)の動きベクトルと比べて大きく外れている。周辺サブブロックCBk(a)〜CBk(h)の動きベクトルに基づくフィルタ処理(補正)を行うと、図11(B)に示されるように、着目サブブロックCBkは、周辺サブブロックCBk(a)〜CBk(c)の動きベクトルとほぼ同じ方向の動きベクトルMVcを有するようになる。
図12は、動きベクトル補正部137kにより実行される動きベクトル補正処理の手順を概略的に示す図である。図12に示されるように、動きベクトル補正部137kは、まず、サブブロック番号iを初期値「1」に設定し(ステップS20)、i番目のサブブロックSBk(i)を着目サブブロックCBkに設定する(ステップS21)。次いで、動きベクトル補正部137kは、着目サブブロックCBkを中心とするフィルタ窓内の周辺サブブロックの動きベクトルを集合Vfに登録する(ステップS22)。次に、動きベクトル補正部137kは、集合Vfに属する動きベクトルと着目サブブロックCBkの動きベクトルとの間の距離の総和を算出し、この総和を最小にする補正ベクトルを求める(ステップS23)。そして、動きベクトル補正部137kは、着目サブブロックCBkの動きベクトルを補正ベクトルで置換する(ステップS24)。
その後、動きベクトル補正部137kは、サブブロック番号iが、第k階層に属するサブブロックの総数Nkに達したか否かを判定し(ステップS25)、サブブロック番号iが総数Nkに達していない場合(ステップS25のNO)には、サブブロック番号iを1だけインクリメントし(ステップS26)、ステップS21に処理を戻す。他方で、サブブロック番号iが総数Nkに達している場合(ステップS25のYES)には、動きベクトル補正処理は終了する。
上記したように各階層処理部133kは、前段から入力された動きベクトルMVk−1に基づいて、より密度の高い動きベクトルMVkを生成し後段に出力する。最終段の階層処理部133Nは、画素単位の動きベクトルMVNを動きベクトルMVとして出力する。
以上に説明したように実施の形態1の動きベクトル細密化部130は、ブロックMB(1),MB(2),…の各々を階層的に分割することにより複数階層のサブブロックSB1(1),SB1(2),…,SB2(1),SB2(2),…,SBN(1),SBN(2),…を生成しつつ、密度の粗い動きベクトルMV0から、階層が増すにつれて密度が次第に細かくなる動きベクトルMV1,MV2,…,MVNを段階的に生成する。このため、画像中に現れるノイズや空間的な周期パターンの影響が抑制された細密な動きベクトルMVを生成することができる。
また、複数階層で求められた動きベクトルMV1,MV2,…,MVNは、動きベクトル補正部1371〜137Nで補正されるので、各階層における誤った動きベクトルを後段に伝達することを防止することができる。したがって、ブロック単位の動きベクトルMV0に基づいて、推定精度の高い細密な動きベクトル(画素単位の動きベクトル)MVを生成することができる。
なお、図4に示したように、本実施の形態の動きベクトル細密化部130は、複数の階層処理部1331〜133Nを有しているが、これら階層処理部1331〜133Nは、ハードウェア構成を有する複数個の処理ユニットで実現されてもよいし、あるいは、再帰的な処理を行う単一の処理ユニットで実現されてもよい。
実施の形態2.
次に、本発明に係る実施の形態2について説明する。図13は、実施の形態2の動きベクトル検出装置20の構成を概略的に示す機能ブロック図である。
次に、本発明に係る実施の形態2について説明する。図13は、実施の形態2の動きベクトル検出装置20の構成を概略的に示す機能ブロック図である。
この動きベクトル検出装置20は、動画像を構成する一連のフレームのうち時間的に連続する3枚のフレームFa,Fb,Fcがそれぞれ入力される入力部200a,200b,200cを備えている。また、動きベクトル検出装置20は、入力されたフレームFa,Fb,Fcからブロック単位の動きベクトルMV0を検出する動き推定部220と、ブロック単位の動きベクトルMV0に基づいて画素単位(1画素精度)の動きベクトルMVを生成する動きベクトル細密化部230と、動きベクトルMVを出力する出力部250とを備える。動きベクトル細密化部230の機能は、上記実施の形態1の動きベクトル細密化部130の機能と同じである。
図14は、3枚のフレームFa,Fb,Fcの時間軸上の配置例を概略的に示す図である。フレームFa,Fb,Fcには、それぞれ、タイムスタンプ情報で特定される時刻ta,tb,tcが等間隔で割り当てられている。本実施の形態では、動き推定部220は、フレームFbを着目フレームとし、このフレームFbよりも時間的に前後する2つのフレームFa,Fcを参照フレームとして利用する。
動き推定部220は、図14に概略的に示されるように着目フレームFbを複数のブロック(たとえば、8×8画素や16×16画素)MB(1),MB(2),MB(3),…に分割し、これら複数のブロックMB(1),MB(2),MB(3),…のそれぞれを順次着目ブロックCB0として、時刻tc〜taにおける着目ブロックCB0の動きを推定する。具体的には、動き推定部220は、着目フレームFb内の着目ブロックCB0と最も相関の高い一対の参照ブロックRBf,RBbをそれぞれ参照フレームFa,Fcの中から探索し、着目ブロックCB0と当該参照ブロックRBf,RBbのいずれか一方との間の空間方向のズレを着目ブロックCB0の動きベクトルMvfまたはMvbとして検出する。ここで、着目ブロックCB0と参照ブロックRBf,RBbとは、時空間(時間軸、X軸及びY軸で定まる空間)上で一直線上に配列されているので、参照ブロックRBf,RBbのうちの一方の位置が定まると、他方の位置が定まることとなる。また、参照ブロックRBf,RBbは、着目ブロックCB0を中心として点対称に位置する。
このような動きベクトルMvfまたはMvbの検出法としては、上記実施の形態1の場合と同様に、公知のブロックマッチング法を使用することができる。ブロックマッチング法では、一対の参照ブロックRBf,RBbと着目ブロックCB0との間の相関の程度を評価するために、類似度または非類似度に基づいた評価値が求められる。本実施の形態では、参照ブロックRBfと着目ブロックCB0との間の類似度と、参照ブロックRBbと着目ブロックCB0との間の類似度とを加算した値を評価値として利用するか、あるいは、参照ブロックRBfと着目ブロックCB0との間の非類似度と、参照ブロックRBbと着目ブロックCB0との間の非類似度とを加算した値を評価値として利用することができる。参照ブロックRBf,RBbの探索範囲については、演算量の低減のため、着目ブロックCB0のフレーム内位置に相当する位置を中心とする一定の範囲で探索することが好ましい。
なお、フレームFa,Fb,Fcは、時間軸上に等間隔で配列されていなくてもよい。この場合は、フレームFa,Fc上の参照ブロックRBf,RBbの位置は、着目ブロックCB0に関して点対称の位置とならない。また、着目ブロックCB0がこれらフレームFa,Fb,Fcにおいて等速直線運動をすると仮定して、参照ブロックRBf,RBbの位置を定めることが望ましい。ただし、フレームFa,Fb,Fcが、動きが大きく変化するタイミングをまたいで存在すると、動きの推定精度が低下する可能性が高くなるので、時間間隔ta−tb,tb−tcを短くし、両時間間隔の差を小さくすることが好ましい。
上記したように実施の形態2の動きベクトル検出装置30は、3枚のフレームFa,Fb,Fcを用いて、推定精度の高い動きベクトルMV0を生成するので、動きベクトル細密化部330は、実施の形態1の場合と比べると、より推定精度の高い細密な動きベクトルMVを生成することができる。
なお、本実施の形態の動き推定部220は、3枚のフレームFa,Fb,Fcに基づいて動き推定を行っているが、この代わりに、4枚以上のフレームに基づいて動き推定を行うようにその構成を変更してもよい。
実施の形態3.
次に、本発明に係る実施の形態3について説明する。図15は、実施の形態3の動きベクトル検出装置30の構成を概略的に示す機能ブロック図である。
次に、本発明に係る実施の形態3について説明する。図15は、実施の形態3の動きベクトル検出装置30の構成を概略的に示す機能ブロック図である。
この動きベクトル検出装置30は、動画像を構成する一連のフレームのうち時間的に互いに前後する第1及び第2フレームFa,Fbがそれぞれ入力される入力部300a,300bを備えている。また、動きベクトル検出装置30は、入力された第1及び第2フレームFa,Fbからブロック単位の動きベクトルMVA0,MVB0を検出する動き推定部320と、これら動きベクトルMVA0,MVB0に基づいて画素単位(1画素精度)の動きベクトルMVを生成する動きベクトル細密化部330と、動きベクトルMVを外部に出力する出力部350とを備える。
図16は、第1フレームFaと第2フレームFbの時間軸上の配置例を概略的に示す図である。第1フレームFaと第2フレームFbには、それぞれ、タイムスタンプ情報で特定される時刻ta,tbが割り当てられている。本実施の形態の動きベクトル検出装置30は、第2フレームFbを着目フレームとし、この第2フレームFbよりも時間的に後に入力する第1フレームFaを参照フレームとして利用する。
動き推定部320は、図16に概略的に示されるように着目フレームFbを複数のブロック(たとえば、8×8画素や16×16画素)MB(1),MB(2),MB(3),…に分割する。そして、動き推定部320は、これら複数のブロックMB(1),MB(2),MB(3),…のそれぞれを順次着目ブロックCB0とし、着目フレームFbから参照フレームFaへの着目ブロックCB0の動きを推定して信頼度の高い順に上位2つの動きベクトルMVA0,MVB0を検出する。具体的には、動き推定部320は、着目ブロックCB0と最も相関の高い参照ブロックRB1と、2番目に相関の高い参照ブロックRB2とを参照フレームFaの中から探索する。そして、着目ブロックCB0と当該参照ブロックRB1との間の空間方向のズレが動きベクトルMVA0として検出され、着目ブロックCB0と当該参照ブロックRB2との間の空間方向のズレが動きベクトルMVB0として検出される。
動きベクトルMVA0,MVB0の検出法としては、公知のブロックマッチング法を使用すればよい。たとえば、サブブロック対の非類似度を表す差分絶対値和(SAD)を使用する場合は、SADが最も小さい動きベクトルを1位の動きベクトルMVA0とし、SADが2番目の小さい動きベクトルを2位の動きベクトルMVB0とすることができる。
動きベクトル細密化部330は、実施の形態1の動きベクトル細密化部130と同様に、着目フレームFbから派生したブロックMB(1),MB(2),…の各々を分割して、第1階層から第N階層に分類された複数のサブブロックを生成する。動きベクトル細密化部330は、さらに、ブロック単位の動きベクトルMVA0,MVB0に基づいて、最終段の第N階層を除く階層ごとに各サブブロックについて信頼度の高い順に上位2つの動きベクトルを生成し、最終段の第N階層では、最も信頼度の高い動きベクトルMVを生成する。ここで、動きベクトルの信頼度は、当該動きベクトルの検出に使用された参照サブブロックと着目サブブロックとの類似度または非類似度に基づいて定められるものである。サブブロック対の類似度が高いほど(言い換えれば、サブブロック対の非類似度が低いほど)、動きベクトルの信頼度も高くなる。
図17は、動きベクトル細密化部330の構成を概略的に示す機能ブロック図である。図17に示されるように、動きベクトル細密化部330は、上位2つの動きベクトルMVA0,MVB0がそれぞれ入力される入力部332a,332bと、参照フレームFa及び着目フレームFbがそれぞれ入力される入力部331a,331bと、第1乃至第Nの階層処理部3331〜333N(Nは2以上の整数)と、細密化された動きベクトルMVを出力する出力部338とを有する。さらに、各階層処理部333k(kは1〜Nのいずれかの整数)は、動きベクトル生成部334kと動きベクトル補正部337kとを有している。
階層処理部3331〜333Nの基本的な動作は同じである。以下、第1の階層処理部3331で処理されるブロックMB(1),MB(2),…を第0階層のサブブロックSB0(1),SB0(2),…とみなして、階層処理部3331〜333Nの処理について詳細に説明する。
図18は、階層処理部333kにおける動きベクトル生成部334kの構成を概略的に示す機能ブロック図である。図18に示されるように、動きベクトル生成部334kは、前段から入力された上位2つの動きベクトルMVAk−1,MVBk−1を受ける入力部341Ak,341Bkと、参照フレームFa及び着目フレームFbが入力される入力部340Ak,340Bkと、候補ベクトル抽出部342kと、評価部343kと、動きベクトル決定部344kとを有している。
候補ベクトル抽出部342kは、サブブロックSBk(1),SBk(2),…のそれぞれを順次着目サブブロックCBkとし、この着目サブブロックCBkに対して、1つ上位の階層のサブブロックSBk−1(1),SBk−1(2),…の1位の動きベクトル群MVAk−1の中から候補ベクトルCVAkを抽出する。これと並行して、候補ベクトル抽出部342kは、着目サブブロックCBkに対して、1つ上位の階層のサブブロックSBk−1(1),SBk−1(2),…の2位の動きベクトル群MVBk−1の中から候補ベクトルCVBkを抽出する。抽出された候補ベクトルCVAk,CVBkは、評価部343kに与えられる。候補ベクトルCVAk,CVBkの抽出方法は、実施の形態1の候補ベクトル抽出部142k(図5)による抽出方法と同じである。
候補ベクトルCVAk,CVBkが抽出された後、評価部343kは、一方の候補ベクトルCVAkを用いて参照フレームFa内の参照サブブロックを抽出し、当該参照サブブロックと着目サブブロックCBkとの間の類似度または非類似度に基づいた評価値Edaを算出する。これと並行して、評価部343kは、他方の候補ベクトルCVBkを用いて参照フレームFa内の参照サブブロックを抽出し、当該参照サブブロックと着目サブブロックCBkとの間の類似度または非類似度に基づいた評価値Edbを算出する。これら評価値Eda,Edbの算出方法は、実施の形態1の評価部143k(図5)による評価値Edの算出方法と同じである。
そして、動きベクトル決定部344kは、評価値Eda,Edbに基づいて、候補ベクトルCVAk,CVBkの中から、最も信頼度の高い1位の動きベクトルMVAkと、2番目に信頼度の高い2位の動きベクトルMVBkとを選択する。これら動きベクトルMVAk,MVBkは、それぞれ、出力部345Ak,345Bkを介して後段に出力される。ただし、最終段の階層処理部333Nにおける動きベクトル決定部344Nは、前段から供給されたCVAN,CVBNの中から最も信頼度の高い動きベクトルMVを選択し、出力する。
図17の動きベクトル補正部337kは、動きベクトルMVAkを補正する処理と、動きベクトルMVBkを補正する処理とを並行に実行するフィルタ機能を有する。これら動きベクトルMVAk,MVBkの補正方法は、上記実施の形態1の動きベクトル補正部337kによる動きベクトルMVkの補正方法と同じである。このフィルタ機能により、動きベクトル生成部334kから誤った動きベクトルMVAk,MVBkが出力されたとしても、このような動きベクトルMVAk,MVBkが後段の階層処理部333k+1に伝達されることを防止することができる。
上記したように各階層処理部333kは、前段から入力された上位2つの動きベクトルMVAk−1,MVBk−1に基づいて、より密度の高い動きベクトルMVAk,MVBkを生成し後段に出力する。最終段の階層処理部333Nは、最も信頼度の高い動きベクトルを画素単位の動きベクトルMVとして出力する。
以上に説明したように実施の形態3の動きベクトル細密化部330は、ブロックMB(1),MB(2),…の各々を階層的に分割することにより複数階層のサブブロックSB1(1),SB1(2),…,SB2(1),SB2(2),…,SBN(1),SBN(2),…を生成しつつ、密度の粗い動きベクトルMVA0,MVB0から、階層が増すにつれて密度が次第に細かくなる動きベクトルMVA1,MVB1,MVA2,MVB2,…,MVAN−1,MVBN−1,MVを段階的に生成する。このため、画像中に現れるノイズや空間的な周期パターンの影響が抑制された細密な動きベクトルMVを生成することができる。
また、複数階層で求められた動きベクトルMVA1,MVB1,MVA2,MVB2,…,MVAN−1,MVBN−1,MVは、動きベクトル補正部3371〜337Nで補正されるので、各階層における誤った動きベクトルを後段に伝達することを防止することができる。したがって、ブロック単位の動きベクトルMVA0,MVB0に基づいて、推定精度の高い細密な動きベクトル(画素単位の動きベクトル)MVを生成することができる。
さらに、上述したように、動き推定部320は、ブロックMB(1),MB(2),…の各々について上位2つの動きベクトルMVA0,MVB0を検出し、動きベクトル細密化部330の各階層処理部333k(k=1〜N−1)も、サブブロックSBk(1),SBk(2),…の各々について上位2つの動きベクトルMVAk,MVBkを生成している。これにより、図18の動きベクトル決定部344kは、実施の形態1の場合と比べると、より多くの候補ベクトルCVAk,CVBkの中から、より確からしい動きベクトルを選択することができるので、動きベクトルの推定精度を向上させることができる。
また、図19に示されるように、サブブロックの境界と画像中の物体O1,O2の境界とは必ずしも一致せず、物体O1,O2の移動方向が互いに異なる場合がある。このような場合に、サブブロックSBk(1),SBk(2),…の各々について単一の動きベクトルを生成すると、物体O1,O2の2つの移動方向に関する情報が失われてしまう可能性がある。これに対し、本実施の形態の動きベクトル検出装置30は、ブロックMB(1),MB(2),…及びサブブロックSBk(1),SBk(2),SBk(3),…(k=1〜N−1)の各々について信頼度の高い上位2つの動きベクトルを生成するので、ブロックMB(1),MB(2),…またはサブブロックSBk(1),SBk(2),…に存在し得る複数方向の動きに関する情報が失われることを防止することができる。したがって、実施の形態1と比べると、動きベクトルの推定精度をより向上させることができる。
なお、動き推定部320及び階層処理部333k(k=1〜N−1)は、それぞれ、上位2つの動きベクトルを生成しているが、これに限定されるものではない。動き推定部320及び階層処理部333kは、それぞれ、信頼度の高い順に上位3つ以上の動きベクトルを生成してもよい。
また、本実施の形態の動き推定部320は、2枚のフレームFa,Fbに基づいてブロック単位の動きベクトルMVA0,MVB0を検出しているが、この代わりに、上記実施の形態2の動き推定部220のように3枚以上のフレームに基づいて動きベクトルMVA0,MVB0を検出してもよい。
実施の形態4.
次に、本発明に係る実施の形態4について説明する。図20は、実施の形態4の動きベクトル検出装置40の構成を概略的に示す機能ブロック図である。
次に、本発明に係る実施の形態4について説明する。図20は、実施の形態4の動きベクトル検出装置40の構成を概略的に示す機能ブロック図である。
この動きベクトル検出装置40は、動画像を構成する一連のフレームのうち時間的に互いに前後する第1及び第2フレームFa,Fbがそれぞれ入力される入力部400a,400bと、入力された第1及び第2フレームFa,Fbからブロック単位の動きベクトルMVA0,MVB0を検出する動き推定部420とを備えている。動き推定部420の機能は、上記実施の形態3の動き推定部320の機能と同じである。
また、動きベクトル検出装置40は、最も信頼度の高い動きベクトルMVA0に基づいて画素単位(1画素精度)の候補ベクトルMVaを生成する動きベクトル細密化部430Aと、2番目に信頼度の高い動きベクトルMVB0に基づいて画素単位の候補ベクトルMVbを生成する動きベクトル細密化部430Bと、候補ベクトルMVa,MVbのうちの一方を動きベクトルMVとして選択する動きベクトル選択部440と、動きベクトルMVを外部に出力する出力部450とを備える。
動きベクトル細密化部430Aは、上記実施の形態1の動きベクトル細密化部130(図1)と同様に、着目フレームFbから派生したブロックMB(1),MB(2),…の各々を階層的に分割して第1階層から第N階層に分類された複数のサブブロックを生成し、ブロック単位の動きベクトルMVA0に基づいて、階層ごとに各サブブロックの動きベクトルを生成する機能を有する。他方、動きベクトル細密化部(副動きベクトル細密化部)430Bも、上記実施の形態1の動きベクトル細密化部130と同様に、着目フレームFbから派生したブロックMB(1),MB(2),…の各々を階層的に分割して第1階層から第N階層に分類された複数のサブブロックを生成し、ブロック単位の動きベクトルMVB0に基づいて、階層ごとに各サブブロックの動きベクトルを生成する機能を有する。
動きベクトル選択部440は、候補ベクトルMVa,MVbのうちの一方を動きベクトルMVとして選択し、この動きベクトルMVを出力部450を介して外部に出力する。たとえば、動きベクトル細密化部430A,430Bの最終階層で得られた、参照サブブロックと着目サブブロックとの間の類似度または非類似度に基づいて、候補ベクトルMVa,MVbのうち信頼度が高い方を動きベクトルMVとして選択することができるが、これに限定されるものではない。
上記したように実施の形態4の動きベクトル検出装置40は、ブロックMB(1),MB(2),…の各々について上位2つの動きベクトルMVA0,MVB0を検出して2つの細密な候補ベクトルMVa,MVbを生成するので、これら候補ベクトルMVa,MVbのうち信頼度の高い方を動きベクトルMVとして出力することができる。また、実施の形態3の場合と同様に、ブロックMB(1),MB(2),…の各々に存在し得る複数方向の動きに関する情報が失われることを防止することができる。したがって、実施の形態1と比べると、動きベクトルの推定精度をより向上させることができる。
なお、動き推定部420は、上位2つの動きベクトルMVA0,MVB0を生成しているが、これに限定されるものではない。動き推定部420は、信頼度の高い順にM個以上(Mは3以上の整数)の動きベクトルを生成してもよい。この場合は、M個の動きベクトルに基づいてM個の細密な候補ベクトルを生成するM個の動きベクトル細密化部を組み込めばよい。
実施の形態5.
次に、本発明に係る実施の形態5について説明する。図21は、実施の形態5の動きベクトル検出装置における動きベクトル細密化部160の構成を概略的に示す機能ブロック図である。本実施の形態の動きベクトル検出装置は、図1の動きベクトル細密化部130の代わりに図21の動きベクトル細密化部160を有する点を除いて、実施の形態1の動きベクトル検出装置10と同じ構成を有する。
次に、本発明に係る実施の形態5について説明する。図21は、実施の形態5の動きベクトル検出装置における動きベクトル細密化部160の構成を概略的に示す機能ブロック図である。本実施の形態の動きベクトル検出装置は、図1の動きベクトル細密化部130の代わりに図21の動きベクトル細密化部160を有する点を除いて、実施の形態1の動きベクトル検出装置10と同じ構成を有する。
図21に示されるように、動きベクトル細密化部160は、ブロック単位の動きベクトルMV0が入力される入力部162と、参照フレームFa及び着目フレームFbが入力される入力部161a,161bと、第1乃至第Nの階層処理部1631〜163N(Nは2以上の整数)と、画素単位の動きベクトルMVを出力する出力部168とを有する。各階層処理部163k(kは1〜Nのいずれかの整数)は、動きベクトル生成部134kと動きベクトル補正部137kとを有しており、図21の動きベクトル補正部137kは、図4の動きベクトル補正部137kと同じ構成を有する。
図22は、図21の動きベクトル細密化部160におけるk番目の動きベクトル生成部164kの構成を概略的に示す機能ブロック図である。図22に示されるように、動きベクトル生成部164kは、前段から入力された動きベクトルMVk−1を受ける入力部171kと、参照フレームFa及び着目フレームFbが入力される入力部170Ak,170Bkと、候補ベクトル抽出部172kと、評価部143kと、動きベクトル決定部144kとを有しており、図22の評価部143k及び動きベクトル決定部144kは、図5の評価部143k及び動きベクトル決定部144kと同じ構成を有する。本実施の形態の候補ベクトル抽出部172kは、着目サブブロックの生成元(1つ上位の階層のサブブロック)に対する当該着目サブブロックの相対位置を検出する相対位置検出部172aを有している。
図23は、候補ベクトル抽出部172kにより実行される候補ベクトル抽出処理の手順を概略的に示すフローチャートである。図23に示されるように、候補ベクトル抽出部172kは、まず、サブブロック番号jを初期値「1」に設定し(ステップS10)、j番目のサブブロックSBk(j)を着目サブブロックCBkに設定する(ステップS11)。次いで、候補ベクトル抽出部172kは、1つ上位の第k−1階層のサブブロック群のうち、着目サブブロックCBkの生成元であるサブブロックSBk−1(i)を選択する(ステップS12)。次いで、候補ベクトル抽出部172kは、サブブロックSBk−1(i)の動きベクトルMVk−1(i)を候補ベクトル集合Vk(j)に登録する(ステップS13)。
その後、候補ベクトル抽出部172kの相対位置検出部172aは、上位階層のサブブロックSBk−1(i)に対する着目サブブロックCBkの相対位置を検出する(ステップS13A)。たとえば、図7(A),(B)の場合には、第k階層の着目サブブロックCBkの生成元は、第k−1階層のサブブロックSBk−1(i)である。この場合、相対位置検出部172aは、第k−1階層のサブブロックSBk−1(i)の中心に対して着目サブブロックCBkが右下方に位置することを検出することができる。また、図9(A),(B)の場合、着目サブブロックCBkは、サブブロックSBk−1(i)の境界に相当する点線の枠の頂点に接しない位置に配置されている。この場合、相対位置検出部172aは、着目サブブロックCBkと空間的に最も近い枠の頂点の位置情報を出力することができる。
次に、候補ベクトル抽出部142kは、ステップS13Aで検出された相対位置を用いて、第k−1階層における生成元のサブブロックSBk−1(i)の周辺領域のサブブロック群を選択し(ステップS14M)、このサブブロック群の動きベクトルを候補ベクトル集合Vk(j)に登録する(ステップS15)。たとえば、図7(A),(B)の場合、候補ベクトル抽出部142kは、ステップS13Aで検出された相対位置を用いて、着目サブブロックCBkの生成元であるサブブロックSBk−1(i)に隣接する周辺サブブロックSBk−1(a)〜SBk−1(h)の中から、当該サブブロックSBk−1(i)の境界4辺のうち当該境界の右下の頂点を含む2辺に隣接するサブブロックSBk−1(c)〜SBk−1(g)を選択することができる(ステップS14M)。図9(A),(B)の場合にも同様に、ステップS13Aで検出された相対位置を用いて、サブブロックSBk−1(i)に隣接する周辺サブブロックSBk−1(a)〜SBk−1(h)の中からサブブロックSBk−1(c)〜SBk−1(g)を選択することが可能である(ステップS14M)。なお、ステップS14Mで選択されるサブブロックは、サブブロックSBk−1(i)と隣接するサブブロックSBk−1(d)〜SBk−1(f)に限定されているが、これに限定されず、サブブロックSBk−1(i)と隣接しないサブブロックが選択されてもよい。
ステップS15の後、候補ベクトル抽出部172kは、サブブロック番号jが、第k階層に属するサブブロックの総数Nkに達したか否かを判定し(ステップS16)、サブブロック番号jが総数Nkに達していない場合(ステップS16のNO)には、サブブロック番号jを1だけインクリメントし(ステップS17)、ステップS11に処理を戻す。他方で、サブブロック番号jが総数Nkに達している場合(ステップS16のYES)には、候補ベクトル抽出処理は終了する。
以上に説明したように実施の形態5の候補ベクトル抽出部172kは、相対位置検出部172aによる検出結果を用いて、着目サブブロックCBkの生成元SBk−1(i)の周辺領域に位置するサブブロックの中から、着目サブブロックCBkと空間的に比較的近いサブブロックを選択することができる(ステップS14M)。したがって、実施の形態1の候補ベクトル抽出処理(図6)と比べると、候補ベクトルの数を減らすことができ、後段の評価部143kの処理負荷の軽減あるいは演算速度の向上を図ることができる。また、候補ベクトル抽出部172kがハードウエアで構成されている場合には、回路規模を削減することができる。
なお、本実施の形態の動きベクトル細密化部160の構成は、上記実施の形態2,3,4の動きベクトル細密化部230,330,430A,430Bに適用することができる。
実施の形態6.
次に、本発明に係る実施の形態6について説明する。図24は、実施の形態6のフレーム補間装置1の構成を概略的に示す機能ブロック図である。
次に、本発明に係る実施の形態6について説明する。図24は、実施の形態6のフレーム補間装置1の構成を概略的に示す機能ブロック図である。
図24に示されるように、このフレーム補間装置1は、図示されない外部装置から入力部2を介して入力された映像信号13を一時的に格納するフレームバッファ11と、動きベクトル検出装置60と、補間部12とを備えている。動きベクトル検出装置60の構成は、上記実施の形態1〜4の動きベクトル検出装置10,20,30,40及び上記実施の形態5の動きベクトル検出装置のうちのいずれかの構成と同じである。
フレームバッファ11は、動画像を構成する一連のフレームを表す映像信号14を、2フレーム単位または3フレーム単位で動きベクトル検出装置60に出力する。動きベクトル検出装置60は、フレームバッファ11から読み出され入力された映像信号14に基づいて画素単位(1画素精度)の動きベクトルMVを生成し、補間部12に出力する。
補間部12は、フレームバッファ11から読み出された時間的に連続するフレームのデータ15を用い、細密な動きベクトルMVに基づいてフレーム間に補間フレーム(内挿補間フレームあるいは外挿補間フレーム)を生成する機能を有する。補間フレームを含む補間映像信号16は、出力部3を介して外部に出力される。
図25は、フレーム補間方法の一例である線形補間法を説明するための図である。図25に示されるように、時間的に前後するフレームFk+1,Fkの間に補間フレームFiが生成(線形補間)される。フレームFk+1,Fkにはそれぞれ時刻tk+1,tkが割り当てられており、補間フレームFiの時刻tiは、時刻tkよりもΔt1だけ先方にあり、時刻tk+1よりもΔt2だけ後方にある。フレームFk+1上の画素Pk+1の位置は、フレームFk+1上の画素Pkの位置が動きベクトルMV=(Vx,Vy)の分だけ移動したものである。
補間フレームFi上の補間画素Piの位置は、フレームFk上の画素Pkの位置が動きベクトルMVi=(Vxi,Vyi)の分だけ移動したものである。動きベクトルMViのX成分及びY成分については、以下の式が成立する。
Vxi=Vx・(1−Δt2/ΔT)
Vyi=Vy・(1−Δt2/ΔT)
Vxi=Vx・(1−Δt2/ΔT)
Vyi=Vy・(1−Δt2/ΔT)
ここで、ΔT=Δt1+Δt2、である。補間画素Piの画素値は、フレームFk上の画素Pkの画素値とすることができる。
なお、フレーム補間方法は、線形補間法に限定されず、画素の動き方に適した他の補間法を使用してもよい。
上記したように実施の形態6のフレーム補間装置1は、動きベクトル検出装置60で生成された推定精度の高い細密な動きベクトルMVを用いてフレーム補間を行うことができるので、補間フレーム内に現れる物体の境界部分におけるブロックノイズなどの画像の乱れを抑制することができ、高画質の補間フレームを生成することができる。
なお、フレームバッファ11は、解像度の高い補間フレームFiを生成するために、入力された映像信号13に含まれるフレーム各々の解像度をより高い解像度に変換する機能を有していてもよい。これにより、フレーム補間装置1は、フレームレートが高く、且つ、解像度も高い高品質な映像信号16を出力することができる。
また、動きベクトル検出装置60及び補間部12の機能の全部または一部は、ハードウェア構成で実現されてもよいし、あるいは、マイクロプロセッサにより実行されるコンピュータプログラムで実現されてもよい。
図26は、当該機能の全部または一部をコンピュータプログラムで実現する場合のフレーム補間装置1の構成を概略的に示す図である。図26のフレーム補間装置1は、CPU(central processing unit)を含むプロセッサ71、専用処理ユニット72、入出力インタフェース73、RAM(random access memory)74、不揮発性メモリ75、記録媒体76及びバス80を備えている。記録媒体76としては、たとえば、ハードディスク(磁気ディスク)、光ディスクまたはフラッシュメモリが挙げられる。
入出力インタフェース73内には図24のフレームバッファ11を組み込むことができ、動きベクトル検出装置60及び補間部12は、プロセッサ71または専用処理ユニット72で実現することができる。プロセッサ71は、不揮発性メモリ75または記録媒体76からコンピュータプログラムをロードし実行することによって動きベクトル検出装置60の機能や補間部12の機能を実現することができる。
実施の形態1〜6の変形例.
以上、図面を参照して本発明の実施の形態について述べたが、これらは本発明の例示であり、上記以外の様々な形態を採用することもできる。たとえば、上記実施の形態1〜5では、いずれも、最終的に出力される動きベクトルMVの精度は1画素精度であるが、これに限定されるものではない。半画素精度や1/4画素精度や1.5画素精度といった、整数画素精度以外の画素精度の動きベクトルMVを生成するように各実施の形態の構成を変更することも可能である。
以上、図面を参照して本発明の実施の形態について述べたが、これらは本発明の例示であり、上記以外の様々な形態を採用することもできる。たとえば、上記実施の形態1〜5では、いずれも、最終的に出力される動きベクトルMVの精度は1画素精度であるが、これに限定されるものではない。半画素精度や1/4画素精度や1.5画素精度といった、整数画素精度以外の画素精度の動きベクトルMVを生成するように各実施の形態の構成を変更することも可能である。
また、上記実施の形態1の動きベクトル細密化部130では、図4に示されるように、全ての階層処理部1331〜133Nが動きベクトル補正部1371〜137Nを有しているが、これに限定されるものではない。階層処理部1331〜133Nのうちの少なくとも1つの階層処理部133m(mは1〜Nのうちのいずれか)が動きベクトル補正部137mを有し、その他の階層処理部133n(n≠m)が動きベクトル補正部を有していない形態もあり得る。また、実施の形態3の動きベクトル細密化部330についても、階層処理部3331〜333Nのうちの少なくとも1つの階層処理部133p(pは1〜Nのうちのいずれか)が動きベクトル補正部137pを有し、その他の階層処理部133q(q≠p)が動きベクトル補正部を有していない形態があり得る。実施の形態2,4,5の動きベクトル細密化部230,430A,430B,160についても同様である。
また、上記サブブロックSBk(j)へのサブブロック番号jの割り当て法は、特に限定されるものではなく、任意の割り当て法を採用することができる。
1 フレーム補間装置、 2 入力部、 3 出力部、 10,20,30,40,50 動きベクトル検出装置、 120,220,320,420 動き推定部、 130,230,330,430A,430B 動きベクトル細密化部、 1331〜133N,3331〜333N 階層処理部、 1341〜134N,3341〜334N 動きベクトル生成部、 1371〜137N,3371〜337N 動きベクトル補正部、 142k,342k 候補ベクトル抽出部、 143k,343k 評価部、 144k,344k 動きベクトル決定部、 440 動きベクトル選択部、 11 フレームバッファ、 12 補間部、 71 プロセッサ、 72 専用処理ユニット、 73 入出力インタフェース、 74 RAM、 75 不揮発性メモリ、 76 記録媒体、 80 バス。
本発明の第1の態様による動きベクトル検出装置は、動画像を構成する一連のフレームにおける動きを検出する動きベクトル検出装置であって、前記一連のフレームの中の着目フレームを複数のブロックに分割し、前記一連のフレームのうち前記着目フレームとは時間的に異なるフレームを参照フレームとするとともに前記複数のブロックの各々を着目ブロックとして、前記参照フレームの中から前記着目ブロックと最も相関の高い参照ブロックを探索し、前記参照ブロックと前記着目サブブロックとの間の空間方向のズレを前記着目ブロックの動きベクトルとして検出する動き推定部と、前記複数のブロックを第0階層の複数のサブブロックとみなし、前記第0階層の複数のサブブロックの各々を階層的に分割して第1階層乃至第N階層(Nは2以上の整数)に分類された複数のサブブロックを生成し、前記第1階層乃至第N階層の各階層ごとに前記複数のサブブロック各々の動きベクトルを生成する動きベクトル細密化部とを備え、前記動きベクトル細密化部は、前記各階層よりも1つ上位の階層の当該サブブロックを生成元として当該各階層のサブブロックを生成し、前記複数のサブブロックの各々を着目サブブロックとして前記着目サブブロックの生成元である生成元サブブロックの動きベクトルを候補ベクトル集合に登録するとともに、前記生成元サブブロックの同一階層における周辺領域に位置するサブブロックの動きベクトルをも前記候補ベクトル集合に登録し、前記候補ベクトル集合から前記着目サブブロックの動きベクトルを選択する動きベクトル生成部と、前記第1階層乃至第N階層のうちの少なくとも1つの補正対象階層について、当該補正対象階層の複数のサブブロックのそれぞれを補正対象サブブロックとし、前記補正対象サブブロックの周辺領域に位置する周辺サブブロックの動きベクトルに基づいて、前記補正対象サブブロックの動きベクトルを補正する動きベクトル補正部とを含み、前記動きベクトル補正部は、前記補正対象サブブロックの動きベクトル及び前記周辺サブブロックの動きベクトルの中から、前記補正対象サブブロックの動きベクトルと前記周辺サブブロックの動きベクトルとの間の距離の総和を最小とする補正候補ベクトルを選択し、前記補正候補ベクトルの動きベクトルで前記補正対象サブブロックの動きベクトルを置き換えることによって前記補正対象サブブロックの動きベクトルを補正することを特徴とする。
本発明の第3の態様による動きベクトル検出方法は、動画像を構成する一連のフレームの中の動きを検出する動きベクトル検出方法であって、前記一連のフレームの中の着目フレームを複数のブロックに分割し、前記一連のフレームのうち前記着目フレームとは時間的に異なるフレームを参照フレームとするとともに前記複数のブロックの各々を着目ブロックとして、前記参照フレームの中から前記着目ブロックと最も相関の高い参照ブロックを探索し、前記参照ブロックと前記着目サブブロックとの間の空間方向のズレを前記着目ブロックの動きベクトルとして検出する動き推定ステップと、前記複数のブロックを第0階層の複数のサブブロックとみなし、前記第0階層の複数のサブブロックの各々を階層的に分割して第1階層乃至第N階層(Nは2以上の整数)に分類された複数のサブブロックを生成し、前記第1階層乃至第N階層の各階層ごとに前記複数のサブブロック各々の動きベクトルを生成する動きベクトル細密化ステップとを備え、前記動きベクトル細密化ステップは、前記各階層よりも1つ上位の階層の当該サブブロックを生成元として当該各階層のサブブロックを生成し、前記複数のサブブロックの各々を着目サブブロックとして前記着目サブブロックの生成元である生成元サブブロックの動きベクトルを候補ベクトル集合に登録するとともに、前記生成元サブブロックの同一階層における周辺領域に位置するサブブロックの動きベクトルをも前記候補ベクトル集合に登録し、前記候補ベクトル集合から前記着目サブブロックの動きベクトルを選択する動きベクトル生成ステップと、前記第1階層乃至第N階層のうちの少なくとも1つの補正対象階層について、当該補正対象階層の複数のサブブロックのそれぞれを補正対象サブブロックとし、前記補正対象サブブロックの周辺領域に位置する周辺サブブロックの動きベクトルに基づいて、前記補正対象サブブロックの動きベクトルを補正する補正ステップとを含み、前記動きベクトル補正ステップは、前記補正対象サブブロックの動きベクトル及び前記周辺サブブロックの動きベクトルの中から、前記補正対象サブブロックの動きベクトルと前記周辺サブブロックの動きベクトルとの間の距離の総和を最小とする補正候補ベクトルを選択するステップと、前記補正候補ベクトルの動きベクトルで前記補正対象サブブロックの動きベクトルを置き換えることによって前記補正対象サブブロックの動きベクトルを補正するステップとを含むことを特徴とする。
Claims (20)
- 動画像を構成する一連のフレームにおける動きを検出する動きベクトル検出装置であって、
前記一連のフレームの中の着目フレームを複数のブロックに分割し、前記一連のフレームのうち前記着目フレームとは時間的に異なるフレームを参照フレームとして、前記着目フレームと前記参照フレームとの間における前記各ブロックの動きを推定してブロック単位の動きベクトルを検出する動き推定部と、
前記複数のブロックに基づいて第1階層乃至第N階層(Nは2以上の整数)に分類された複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記複数のサブブロック各々の動きベクトルを生成する動きベクトル細密化部と
を備え、
前記動きベクトル細密化部は、
前記複数のブロックの各々を生成元として前記第1階層の複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記第1階層の複数のサブブロック各々の動きベクトルを生成する第1の動きベクトル生成部と、
前記第1階層乃至第N階層のうちの第2階層乃至第N階層の各階層について、当該各階層よりも1つ上位の階層の複数のサブブロックの各々を生成元として当該各階層の複数のサブブロックを生成し、当該1つ上位の階層の複数のサブブロックの動きベクトルに基づいて、当該各階層の複数のサブブロック各々の動きベクトルを生成する第2の動きベクトル生成部と、
前記第1階層乃至第N階層のうちの少なくとも1つの補正対象階層について、当該補正対象階層の複数のサブブロックのそれぞれを補正対象サブブロックとし、前記補正対象サブブロックの周辺領域に位置する周辺サブブロックの動きベクトルと前記補正対象サブブロックの動きベクトルとを包含する集合に属する動きベクトルと前記補正対象サブブロックの動きベクトルとの間の距離の総和が最小となるように前記補正対象サブブロックの動きベクトルを補正する動きベクトル補正部と
を含み、
前記第2の動きベクトル生成部は、前記動きベクトル補正部により補正された動きベクトルを用いて、前記補正対象階層よりも1つ下位の階層の複数のサブブロック各々の動きベクトルを生成する
ことを特徴とする動きベクトル検出装置。 - 請求項1に記載の動きベクトル検出装置であって、前記動きベクトル補正部は、前記集合に属する動きベクトルの中から前記距離の総和を最小にする動きベクトルを選択し、当該選択された動きベクトルで前記補正対象サブブロックの動きベクトルを置換することで前記補正対象サブブロックの動きベクトルを補正することを特徴とする動きベクトル検出装置。
- 請求項1または2に記載の動きベクトル検出装置であって、
前記第1の動きベクトル生成部は、
前記第1階層の複数のサブブロックのそれぞれを第1階層の着目サブブロックとし、前記第1階層の着目サブブロックの生成元の動きベクトルと、前記複数のブロックのうち前記第1階層の着目サブブロックの生成元の周辺領域に位置するブロックの動きベクトルとを第1階層の候補ベクトルとして抽出する第1階層候補ベクトル抽出部と、
前記第1階層の候補ベクトルの各々について、前記第1階層の着目サブブロックのフレーム内位置に相当する前記参照フレーム内の位置から前記第1階層の候補ベクトル分ずれた位置にある参照サブブロックと前記第1階層の着目サブブロックとの間の類似度または非類似度を示す第1の評価値を算出する第1階層評価部と、
前記第1の評価値に基づいて、前記第1階層の候補ベクトルの中から前記第1階層の着目サブブロックの動きベクトルを選択することで前記第1階層の複数のサブブロック各々の当該動きベクトルを生成する第1階層動きベクトル決定部と
を有し、
前記第2の動きベクトル生成部は、
前記第2階層乃至第N階層の各階層の複数のサブブロックのそれぞれを当該各階層の着目サブブロックとし、当該各階層の着目サブブロックの生成元の動きベクトルと、当該各階層よりも1つ上位の階層の複数のサブブロックのうち当該各階層の着目サブブロックの生成元の周辺領域に位置するサブブロックの動きベクトルとを当該各階層の候補ベクトルとして抽出する候補ベクトル抽出部と、
当該各階層の候補ベクトルの各々について、当該各階層の着目サブブロックのフレーム内位置に相当する前記参照フレーム内の位置から当該各階層の候補ベクトル分ずれた位置にある参照サブブロックと当該各階層の着目サブブロックとの間の類似度または非類似度を示す第2の評価値を算出する評価部と、
前記第2の評価値に基づいて、当該各階層の候補ベクトルの中から当該各階層の着目サブブロックの動きベクトルを選択することで当該各階層の複数のサブブロック各々の動きベクトルを生成する動きベクトル決定部と
を有することを特徴とする動きベクトル検出装置。 - 請求項3に記載の動きベクトル検出装置であって、
前記第1階層候補ベクトル抽出部は、前記第1階層の着目サブブロックの生成元に対する前記第1階層の着目サブブロックの相対位置を検出し、該相対位置を用いて前記第1階層の候補ベクトルを抽出し、
前記候補ベクトル抽出部は、当該各階層の着目サブブロックの生成元に対する当該各階層の着目サブブロックの相対位置を検出し、該相対位置を用いて当該各階層の候補ベクトルを抽出する
ことを特徴とする動きベクトル検出装置。 - 請求項3または4に記載の動きベクトル検出装置であって、
前記第1階層動きベクトル決定部は、前記第1階層の着目サブブロックの動きベクトルとして、前記第1階層の候補ベクトルの中から信頼度の高い順に複数の動きベクトルを選択し、
前記動きベクトル決定部は、前記第2階層乃至第N−1階層の各階層の複数のサブブロックのそれぞれを当該各階層の着目サブブロックとするとき、当該各階層の着目サブブロックの動きベクトルとして、当該各階層の候補ベクトルの中から信頼度の高い順に複数の動きベクトルを選択する、
ことを特徴とする動きベクトル検出装置。 - 請求項3から5のうちのいずれか1項に記載の動きベクトル検出装置であって、
前記第1階層の着目サブブロックの生成元の周辺領域に位置する当該ブロックは、当該生成元のブロックに対して、水平画素方向、垂直画素方向、右上がり斜め方向、右下がり斜め方向、左上がり斜め方向及び左下がり斜め方向にそれぞれ隣接する8個のブロックのうちから選択された2以上のブロックからなり、
当該各階層の着目サブブロックの生成元の周辺領域に位置する当該サブブロックは、当該生成元のサブブロックに対して、水平画素方向、垂直画素方向、右上がり斜め方向、右下がり斜め方向、左上がり斜め方向及び左下がり斜め方向にそれぞれ隣接する8個のサブブロックのうちから選択された2以上のサブブロックからなる
ことを特徴とする動きベクトル検出装置。 - 請求項1から6のうちのいずれか1項に記載の動きベクトル検出装置であって、
前記第1階層の複数のサブブロックは、前記複数のブロックの各々を分割することにより生成され、
前記第2階層乃至第N階層の各階層の複数のサブブロックは、当該各階層よりも1つ上位の階層の複数のサブブロックの各々を分割することにより生成される
ことを特徴とする動きベクトル検出装置。 - 請求項1から7のうちのいずれか1項に記載の動きベクトル検出装置であって、前記距離は、マンハッタン距離であることを特徴とする動きベクトル検出装置。
- 請求項1から8のうちのいずれか1項に記載の動きベクトル検出装置であって、前記補正対象サブブロックの周辺領域に位置する当該周辺サブブロックは、前記各サブブロックと隣接するサブブロック、または、前記各サブブロックから所定範囲内にあるサブブロックであることを特徴とする動きベクトル検出装置。
- 請求項1から9のうちのいずれか1項に記載の動きベクトル検出装置であって、前記動き推定部は、前記各ブロックの動きを推定した結果に基づいて、信頼度の高い順にM個(Mは2以上の整数)の動きベクトルを前記ブロック単位の動きベクトルとして検出することを特徴とする動きベクトル検出装置。
- 請求項10に記載の動きベクトル検出装置であって、
前記第N階層のサブブロックについてM個の前記動きベクトル細密化部により生成されたM個の動きベクトルの中から最も信頼度の高い動きベクトルを選択する動きベクトル選択部をさらに備え、
M個の前記動きベクトル細密化部は、前記動き推定部により検出された当該M個の動きベクトルに基づいて前記第N階層の各サブブロックの当該M個の動きベクトルをそれぞれ生成する
ことを特徴とする動きベクトル検出装置。 - 請求項1から11のうちのいずれか1項に記載の動きベクトル検出装置であって、前記動き推定部は、前記一連のフレームのうち時間的に互いに前後する一対のフレームを入力とし、前記一対のフレームのうちの一方を前記複数のブロックに分割し、前記各ブロックの前記一対のフレーム間の動きを推定して前記ブロック単位の動きベクトルを検出することを特徴とする動きベクトル検出装置。
- 請求項1から11のうちのいずれか1項に記載の動きベクトル検出装置であって、前記動き推定部は、前記一連のフレームのうち時間的に連続する少なくとも3枚のフレームを入力とし、前記3枚のフレームのうちの中間フレームを前記複数のブロックに分割し、前記少なくとも3枚のフレームにおける前記各ブロックの動きを推定して前記ブロック単位の動きベクトルを検出することを特徴とする動きベクトル検出装置。
- 請求項1から13のうちのいずれか1項に記載の動きベクトル検出装置であって、前記第N階層のサブブロックの動きベクトルは、1画素精度の動きベクトルであることを特徴とする動きベクトル検出装置。
- 請求項1から14のうちのいずれか1項に記載の動きベクトル検出装置と、
前記第N階層の複数のサブブロックの各々について前記動きベクトル検出装置により検出された動きベクトルに基づいて補間フレームを生成する補間部と
を備えることを特徴とするフレーム補間装置。 - 動画像を構成する一連のフレームの中の動きを検出する動きベクトル検出方法であって、
前記一連のフレームの中の着目フレームを複数のブロックに分割し、前記一連のフレームのうち前記着目フレームとは時間的に異なるフレームを参照フレームとして、前記着目フレームと前記参照フレームとの間における前記各ブロックの動きを推定してブロック単位の動きベクトルを検出する動き推定ステップと、
前記複数のブロックに基づいて第1階層乃至第N階層(Nは2以上の整数)に分類された複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記複数のサブブロック各々の動きベクトルを生成する動きベクトル細密化ステップと
を備え、
前記動きベクトル細密化ステップは、
前記複数のブロックの各々を生成元として前記第1階層の複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記第1階層の複数のサブブロック各々の動きベクトルを生成する第1の動きベクトル生成ステップと、
前記第1階層乃至第N階層のうちの第2階層乃至第N階層の各階層について、当該各階層よりも1つ上位の階層の複数のサブブロックの各々を生成元として当該各階層の複数のサブブロックを生成し、当該1つ上位の階層の複数のサブブロックの動きベクトルに基づいて、当該各階層の複数のサブブロック各々の動きベクトルを生成する第2の動きベクトル生成ステップと、
前記第1階層乃至第N階層のうちの少なくとも1つの補正対象階層について、当該補正対象階層の複数のサブブロックのそれぞれを補正対象サブブロックとし、前記補正対象サブブロックの周辺領域に位置する周辺サブブロックの動きベクトルと前記補正対象サブブロックの動きベクトルとを包含する集合に属する動きベクトルと前記補正対象サブブロックの動きベクトルとの間の距離の総和が最小となるように前記補正対象サブブロックの動きベクトルを補正する補正ステップと
を含み、
前記第2の動きベクトル生成ステップでは、当該補正された動きベクトルを用いて、前記補正対象階層よりも1つ下位の階層の複数のサブブロック各々の動きベクトルが生成される
ことを特徴とする動きベクトル検出方法。 - 請求項16に記載の動きベクトル検出方法であって、
前記補正ステップは、
前記集合に属する動きベクトルの中から前記距離の総和を最小にする動きベクトルを選択するステップと、
当該選択された動きベクトルで前記補正対象サブブロックの動きベクトルを置換することで前記補正対象サブブロックの動きベクトルを補正するステップと
を含むことを特徴とする動きベクトル検出方法。 - 請求項16または17に記載の動きベクトル検出方法であって、
前記第1の動きベクトル生成ステップは、
前記第1階層の複数のサブブロックのそれぞれを第1階層の着目サブブロックとし、前記第1階層の着目サブブロックの生成元の動きベクトルと、前記複数のブロックのうち前記第1階層の着目サブブロックの生成元の周辺領域に位置するブロックの動きベクトルとを第1階層の候補ベクトルとして抽出する第1の抽出ステップと、
前記第1階層の候補ベクトルの各々について、前記第1階層の着目サブブロックのフレーム内位置に相当する前記参照フレーム内の位置から前記第1階層の候補ベクトル分ずれた位置にある参照サブブロックと前記第1階層の着目サブブロックとの間の類似度または非類似度を示す第1の評価値を算出する第1の評価ステップと、
前記第1の評価値に基づいて、前記第1階層の候補ベクトルの中から前記第1階層の着目サブブロックの動きベクトルを選択することで前記第1階層の複数のサブブロック各々の当該動きベクトルを生成する第1の選択ステップと
を有し、
前記第2の動きベクトル生成ステップは、
前記第2階層乃至第N階層の各階層の複数のサブブロックのそれぞれを当該各階層の着目サブブロックとし、当該各階層の着目サブブロックの生成元の動きベクトルと、当該各階層よりも1つ上位の階層の複数のサブブロックのうち当該各階層の着目サブブロックの生成元の周辺領域に位置するサブブロックの動きベクトルとを当該各階層の候補ベクトルとして抽出する第2の抽出ステップと、
当該各階層の候補ベクトルの各々について、当該各階層の着目サブブロックのフレーム内位置に相当する前記参照フレーム内の位置から当該各階層の候補ベクトル分ずれた位置にある参照サブブロックと当該各階層の着目サブブロックとの間の類似度または非類似度を示す第2の評価値を算出する第2の評価ステップと、
前記第2の評価値に基づいて、当該各階層の候補ベクトルの中から当該各階層の着目サブブロックの動きベクトルを選択することで当該各階層の複数のサブブロック各々の動きベクトルを生成する第2の選択ステップと
を有することを特徴とする動きベクトル検出方法。 - 請求項18に記載の動きベクトル検出方法であって、
前記第1の抽出ステップは、
前記第1階層の着目サブブロックの生成元に対する前記第1階層の着目サブブロックの相対位置を検出するステップと、
該相対位置を用いて前記第1階層の候補ベクトルを抽出するステップと
を含み、
前記第2の抽出ステップは、
当該各階層の着目サブブロックの生成元に対する当該各階層の着目サブブロックの相対位置を検出するステップと、
該相対位置を用いて当該各階層の候補ベクトルを抽出するステップと
を含むことを特徴とする動きベクトル検出方法。 - 請求項15から19のうちのいずれか1項に記載の動きベクトル検出方法が備える動き推定ステップ及び動きベクトル細密化ステップと、
前記第N階層のサブブロックについて前記動きベクトル細密化ステップで生成された動きベクトルを用いて補間フレームを生成するステップと
を備えることを特徴とするフレーム補間方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010256818 | 2010-11-17 | ||
JP2010256818 | 2010-11-17 | ||
PCT/JP2011/073188 WO2012066866A1 (ja) | 2010-11-17 | 2011-10-07 | 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2012066866A1 true JPWO2012066866A1 (ja) | 2014-05-12 |
Family
ID=46083807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012544149A Pending JPWO2012066866A1 (ja) | 2010-11-17 | 2011-10-07 | 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130235274A1 (ja) |
JP (1) | JPWO2012066866A1 (ja) |
WO (1) | WO2012066866A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014146983A2 (en) * | 2013-03-18 | 2014-09-25 | Fotonation Limited | A method and apparatus for motion estimation |
JP6532187B2 (ja) * | 2014-03-17 | 2019-06-19 | キヤノン株式会社 | 画像処理装置、その制御方法、および制御プログラム |
AU2015395514B2 (en) * | 2015-05-21 | 2019-10-10 | Huawei Technologies Co., Ltd. | Apparatus and method for video motion compensation |
US10136155B2 (en) * | 2016-07-27 | 2018-11-20 | Cisco Technology, Inc. | Motion compensation using a patchwork motion field |
JP7009253B2 (ja) * | 2018-02-20 | 2022-01-25 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04288789A (ja) * | 1991-02-25 | 1992-10-13 | Mitsubishi Electric Corp | 動き補償予測回路 |
JPH07203462A (ja) * | 1993-12-29 | 1995-08-04 | Sony Corp | 動きベクトル検出方法及び画像データの符号化方法 |
JP2009004919A (ja) * | 2007-06-19 | 2009-01-08 | Sharp Corp | 動きベクトル処理装置、動きベクトル検出方法、動きベクトル検出プログラム、および該プログラムを記録した記録媒体 |
JP2010239268A (ja) * | 2009-03-30 | 2010-10-21 | Toshiba Corp | 画像処理装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5477272A (en) * | 1993-07-22 | 1995-12-19 | Gte Laboratories Incorporated | Variable-block size multi-resolution motion estimation scheme for pyramid coding |
US5929919A (en) * | 1994-04-05 | 1999-07-27 | U.S. Philips Corporation | Motion-compensated field rate conversion |
JP4404180B2 (ja) * | 2002-04-25 | 2010-01-27 | ソニー株式会社 | データ配信システム、データ処理装置及びデータ処理方法、並びにコンピュータ・プログラム |
JP4203736B2 (ja) * | 2002-09-09 | 2009-01-07 | 日本ビクター株式会社 | 画像の動き検出装置及びコンピュータプログラム |
KR100579493B1 (ko) * | 2003-06-16 | 2006-05-15 | 삼성전자주식회사 | 움직임 벡터 생성 장치 및 방법 |
US20050259734A1 (en) * | 2004-05-21 | 2005-11-24 | Timothy Hellman | Motion vector generator for macroblock adaptive field/frame coded video data |
KR20060059774A (ko) * | 2004-11-29 | 2006-06-02 | 엘지전자 주식회사 | 시간적 분해레벨이 다른 픽처의 모션벡터를 이용하는영상신호의 엔코딩/디코딩 방법 및 장치 |
JP5022366B2 (ja) * | 2005-07-28 | 2012-09-12 | トムソン ライセンシング | 補間フレームを生成するためのデバイス |
KR100766085B1 (ko) * | 2006-02-28 | 2007-10-11 | 삼성전자주식회사 | 프레임레이트 변환기능을 구비한 영상표시장치 및프레임레이트 변환방법 |
JP2008187222A (ja) * | 2007-01-26 | 2008-08-14 | Hitachi Ltd | 動きベクトル検出装置、動きベクトル検出方法、映像表示装置 |
TWI373696B (en) * | 2007-04-04 | 2012-10-01 | Mstar Semiconductor Inc | Methods of calculating a motion estimation value and estimating a motion vector of an image |
US8159605B2 (en) * | 2007-07-13 | 2012-04-17 | Fujitsu Limited | Frame interpolating apparatus and method |
JP5100495B2 (ja) * | 2008-05-09 | 2012-12-19 | 株式会社東芝 | 画像処理装置 |
WO2009157713A2 (en) * | 2008-06-24 | 2009-12-30 | Samsung Electronics Co., Ltd. | Image processing method and apparatus |
JP4513913B2 (ja) * | 2008-08-07 | 2010-07-28 | ソニー株式会社 | 画像信号処理装置および方法 |
JP5245783B2 (ja) * | 2008-12-09 | 2013-07-24 | 富士通株式会社 | フレーム補間装置、方法、及びプログラム、フレームレート変換装置、映像再生装置、映像表示装置 |
JP2010081411A (ja) * | 2008-09-26 | 2010-04-08 | Toshiba Corp | フレーム補間装置及びフレーム補間方法 |
US8320455B2 (en) * | 2009-03-05 | 2012-11-27 | Qualcomm Incorporated | System and method to process motion vectors of video data |
-
2011
- 2011-10-07 WO PCT/JP2011/073188 patent/WO2012066866A1/ja active Application Filing
- 2011-10-07 US US13/882,851 patent/US20130235274A1/en not_active Abandoned
- 2011-10-07 JP JP2012544149A patent/JPWO2012066866A1/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04288789A (ja) * | 1991-02-25 | 1992-10-13 | Mitsubishi Electric Corp | 動き補償予測回路 |
JPH07203462A (ja) * | 1993-12-29 | 1995-08-04 | Sony Corp | 動きベクトル検出方法及び画像データの符号化方法 |
JP2009004919A (ja) * | 2007-06-19 | 2009-01-08 | Sharp Corp | 動きベクトル処理装置、動きベクトル検出方法、動きベクトル検出プログラム、および該プログラムを記録した記録媒体 |
JP2010239268A (ja) * | 2009-03-30 | 2010-10-21 | Toshiba Corp | 画像処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20130235274A1 (en) | 2013-09-12 |
WO2012066866A1 (ja) | 2012-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4398925B2 (ja) | 補間フレーム生成方法、補間フレーム生成装置および補間フレーム生成プログラム | |
US8306121B2 (en) | Method and apparatus for super-resolution of images | |
JP4053490B2 (ja) | フレーム補間のための補間画像作成方法及びこれを用いた画像表示システム、補間画像作成装置 | |
JP4997281B2 (ja) | イメージ中の推定動きベクトルの決定方法、コンピュータプログラムおよびディスプレイ装置 | |
JP4417918B2 (ja) | 補間フレーム作成装置、動きベクトル検出装置、補間フレーム作成方法、動きベクトル検出方法、補間フレーム作成プログラムおよび動きベクトル検出プログラム | |
KR100869497B1 (ko) | 계층적 움직임 추정방법 및 이를 적용한 초음파 영상장치 | |
CN106254885B (zh) | 数据处理系统、执行运动估计的方法 | |
EP1549047B1 (en) | Robust camera pan vector estimation using iterative center of mass | |
EP1885129A2 (en) | Interpolation frame generating method and interpolation frame forming apparatus | |
JP4869045B2 (ja) | 補間フレーム作成方法および補間フレーム作成装置 | |
WO2012066866A1 (ja) | 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法 | |
US20080181306A1 (en) | Method and apparatus for motion vector estimation using motion vectors of neighboring image blocks | |
KR20130023644A (ko) | 영상 프레임의 보간 방법 및 장치 | |
JP5492223B2 (ja) | 動きベクトル検出装置及び方法 | |
KR20050097936A (ko) | 효과적인 예측 이미지 파라미터 추정 | |
JP2001520781A (ja) | 動き又はデプス推定 | |
KR100955415B1 (ko) | 움직임 파라미터 세트 및 화상 반복 패턴을 제공하기 위한 방법, 컴퓨터 판독가능 저장 매체 및 집적 회로와, 움직임 파라미터를 제공하기 위한 컴퓨터 | |
US8787696B1 (en) | Method and apparatus for replacing a block of pixels in a digital image frame to conceal an error associated with the block of pixels | |
US9106926B1 (en) | Using double confirmation of motion vectors to determine occluded regions in images | |
KR100969420B1 (ko) | 프레임 레이트 변환 방법 | |
KR20080066486A (ko) | 움직임 벡터 추정 장치 및 방법 | |
KR20050081730A (ko) | 움직임 보상 기반의 영상 신호 프레임율 변환 방법 | |
JP2006521740A (ja) | 動きベクトル決定方法 | |
JP2006215657A (ja) | 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体 | |
JP2008193730A (ja) | 画像表示装置及び方法、画像処理装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140311 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140819 |