JPWO2012066866A1 - 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法 - Google Patents

動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法 Download PDF

Info

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
Application number
JP2012544149A
Other languages
English (en)
Inventor
督 那須
督 那須
良樹 小野
良樹 小野
俊明 久保
俊明 久保
直之 藤山
直之 藤山
知篤 堀部
知篤 堀部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2012066866A1 publication Critical patent/JPWO2012066866A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion 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の方法は、既に画素単位の動きベクトルが決定された際に最多適用された画素単位の動きベクトルを候補に加えることで、さらなる検出精度の向上を図るものである。
特許第4419062号公報(図5〜図12、段落0057〜0093など) 特許第4374048号公報(図3〜図6、段落0019〜0040など) 特開平11−177940号公報(図1,図18、段落0025〜0039など)
上述のとおり、特許文献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に係る階層的な分割により第1階層から第3階層に分類されたサブブロックを概念的に例示する図である。 実施の形態1の動きベクトル細密化部の構成を概略的に示す機能ブロック図である。 実施の形態1の動きベクトル生成部の構成を概略的に示す機能ブロック図である。 実施の形態1の候補ベクトル抽出部により実行される候補ベクトル抽出処理の手順を概略的に示すフローチャートである。 (A)及び(B)は、実施の形態1に係る候補ベクトル抽出処理の一例を説明するための図である。 実施の形態1に係る候補ベクトル抽出処理の他の例を説明するための図である。 (A)及び(B)は、実施の形態1に係る候補ベクトル抽出処理のさらに他の例を説明するための図である。 実施の形態1に係る候補ベクトルの選択に使用される一対のフレームの時間軸上の配置例を概略的に示す図である。 (A)及び(B)は、実施の形態1に係る動きベクトル補正方法の一例を説明するための図である。 実施の形態1の動きベクトル補正部により実行される動きベクトル補正処理の手順を概略的に示す図である。 本発明に係る実施の形態2の動きベクトル検出装置の構成を概略的に示す機能ブロック図である。 実施の形態2に係る動き推定に使用される3枚のフレームの時間軸上の配置例を概略的に示す図である。 本発明に係る実施の形態3の動きベクトル検出装置の構成を概略的に示す機能ブロック図である。 実施の形態3に係る動き推定に使用される一対のフレームの時間軸上の配置例を概略的に示す図である。 実施の形態3の動きベクトル細密化部の構成を概略的に示す機能ブロック図である。 実施の形態3の動きベクトル生成部の構成を概略的に示す機能ブロック図である。 第k階層におけるサブブロック画像に現れる移動物体を示す図である。 本発明に係る実施の形態4の動きベクトル検出装置の構成を概略的に示す機能ブロック図である。 本発明に係る実施の形態5の動きベクトル検出装置における動きベクトル細密化部の構成を概略的に示す機能ブロック図である。 実施の形態5の動きベクトル生成部の構成を概略的に示す機能ブロック図である。 実施の形態5の候補ベクトル抽出部により実行される候補ベクトル抽出処理の手順を概略的に示すフローチャートである。 本発明に係る実施の形態5のフレーム補間装置の構成を概略的に示す機能ブロック図である。 フレーム補間方法の一例である線形補間法を説明するための図である。 フレーム補間装置のハードウェア構成の一例を概略的に示す図である。
以下、本発明に係る種々の実施の形態について図面を参照しつつ説明する。
実施の形態1.
図1は、本発明に係る実施の形態1の動きベクトル検出装置10の構成を概略的に示す機能ブロック図である。動きベクトル検出装置10は、動画像を構成する一連のフレームのうち時間的に互いに前後する第1及び第2フレームFa,Fbがそれぞれ入力される入力部100a,100bを備えている。また、動きベクトル検出装置10は、入力された第1及び第2フレームFa,Fbからブロック単位の動きベクトルMVを検出する動き推定部120と、ブロック単位の動きベクトルMVに基づいて画素単位(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),…のそれぞれを順次着目ブロックCBとして、着目フレームFbから参照フレームFaへの着目ブロックCBの動きを推定する。具体的には、動き推定部120は、着目フレームFb内の着目ブロックCBと最も相関の高い参照ブロックRBfを参照フレームFaの中から探索し、着目ブロックCBと当該参照ブロックRBfとの間の空間方向(水平画素方向Xと垂直画素方向Yとで定まる方向)のズレを着目ブロックCBの動きベクトルとして検出する。このようにして動き推定部120は、MB(1),MB(2),MB(3),…のそれぞれの動きベクトルMV(1),MV(2),MV(3),…を検出する。
このような動きベクトルMV(1),MV(2),MV(3),…(動きベクトルMV)の検出法としては、公知のブロックマッチング法を使用することができる。ブロックマッチング法では、参照ブロックRBfと着目ブロックCBとの間の相関の程度を評価するために、これら2つのブロック間の類似度または非類似度に基づいた評価値が求められる。評価値の算出方法には様々なものが提案されているが、たとえば、ブロック間の画素ごとの輝度値の差分の絶対値を算出し、その総和を絶対値差分和(SAD:Sum of Absolute Difference)として求め、絶対値差分和を評価値とする方法を用いることができる。SADが小さいほど、対比される両ブロック間の類似度は大きくなる(言い換えれば、両ブロック間の非類似度は小さくなる)。
なお、参照ブロックRBfの探索範囲は、参照フレームFaの全体を網羅することが理想的であるが、その全体の位置について評価値を算出するには、膨大な演算量が必要となるため、着目ブロックCBのフレーム内位置に相当する位置を中心とする一定の範囲で探索することが好ましい。
また、本実施の形態では、動きベクトルの好適な検出法としてブロックマッチング法を使用するが、これに限定されずに、ブロックマッチング法以外の方法を使用することも可能である。たとえば、動き推定部120は、ブロックマッチング法に代えて、公知の勾配法(たとえば、Lucas−Kanade法)によりブロック単位の動きベクトルMVを高速に生成してもよい。
動きベクトル細密化部130は、着目フレームFbから派生するブロックMB(1),MB(2),MB(3),…の各々を階層的に分割して第1階層から第N階層(Nは2以上の整数)に分類された複数のサブブロックを生成する。動きベクトル細密化部130は、階層ごとに各サブブロックの動きベクトルを生成する機能を有する。
図3は、第1階層から第3階層に分類されたサブブロックSB(1),SB(2),…,SB(1),SB(2),…,SB(1),SB(2),…を概念的に例示する図である。図3に示されるように、第1階層の4つのサブブロックSB(1),SB(2),SB(3),SB(4)は、1つ上位の階層(第0階層)のブロックMB(p)(pは正整数)を水平画素方向X及び垂直画素方向Yの縮小率1/2で4分割することで得られる。また、第0階層における複数のブロックの複数の動きベクトルに基づいて第1階層のサブブロックSB(1),SB(2),SB(3),SB(4),…のそれぞれの動きベクトルMV(1),MV(2),MV(3),MV(4),…が求められる。また、第2階層のサブブロックSB(1),SB(2),SB(3),SB(4),…は、1つ上位の第1階層のサブブロックSB(1),SB(2),…の各々を縮小率1/2で4分割することで得られる。これらサブブロックSB(1),SB(2),SB(3),SB(4),…のそれぞれの動きベクトルは、第1階層における複数のサブブロックの複数の動きベクトルに基づいて求められる。そして、第3階層のサブブロックSB(1),SB(2),SB(3),…は、1つ上位の第2階層のサブブロックSB(1),SB(2),…の各々を縮小率1/2で4分割することで得られる。これらサブブロックSB(1),SB(2),SB(3),SB(4),…のそれぞれの動きベクトルは、第2階層における複数のサブブロックの複数の動きベクトルに基づいて求められる。このように、動きベクトル細密化部130は、第0階層のブロックの各々を再帰的に分割して第1階層から第3階層のサブブロックSB(1),SB(2),…,SB(1),SB(2),…,SB(1),SB(2),…を生成しつつ、第0階層における密度(単位画素当たりの動きベクトルの数)の低い動きベクトルから、より密度の高い動きベクトルを段階的に生成する機能を有している。
なお、図3の例では、ブロックMB(p)及びサブブロックSB(1),SB(2),…,SB(1),SB(2),…の分割の際に使用される縮小率はすべて1/2であったが、これに限定されるものではない。分割のそれぞれの段階で縮小率を個別に設定することが可能である。
また、サブブロックのサイズと縮小率によっては、分割の過程で、サブブロックのサイズ(水平画素数と垂直画素数)が整数値とならない場合がある。かかる場合は、そのサイズの少数点以下の数値を切り捨てもしくは切り上げる処理を行うことができる。さらに、互いに異なる複数の生成元(ブロックまたはサブブロック)から分割により生成された複数のサブブロックが同一フレーム内で互いに重複する場合がある。かかる場合は、複数の生成元のうちの1つを選択し、選択された生成元から生成されたサブブロックを選択すればよい。
図4は、動きベクトル細密化部130の構成を概略的に示す機能ブロック図である。図4に示されるように、動きベクトル細密化部130は、ブロック単位の動きベクトルMVが入力される入力部132と、参照フレームFa及び着目フレームFbが入力される入力部131a,131bと、第1乃至第Nの階層処理部133〜133(Nは2以上の整数)と、画素単位の動きベクトルMVを出力する出力部138とを有する。各階層処理部133(kは1〜Nのいずれかの整数)は、動きベクトル生成部134と動きベクトル補正部137とを有している。
図5は、動きベクトル生成部134の構成を概略的に示す機能ブロック図である。図5に示されるように、動きベクトル生成部134は、前段から入力された動きベクトルMVk−1を受ける入力部141と、参照フレームFa及び着目フレームFbが入力される入力部140A,140Bと、候補ベクトル抽出部142と、評価部143と、動きベクトル決定部144とを有している。
階層処理部133〜133の基本的な動作は同じである。以下、第1の階層処理部133で処理されるブロックMB(1),MB(2),…を第0階層のサブブロックSB(1),SB(2),…とみなして、各階層処理部133の処理について詳細に説明する。
動きベクトル生成部134においては、候補ベクトル抽出部142は、サブブロックSB(1),SB(2),SB(3),…のそれぞれを順次着目サブブロックCBとし、この着目サブブロックCBに対して、1つ上位の階層のサブブロックSBk−1(1),SBk−1(2),SBk−1(3),…の動きベクトル群の中から少なくとも1つの候補ベクトルCVを抽出する。抽出された候補ベクトルCVは、評価部143に与えられる。
図6は、候補ベクトル抽出部142により実行される候補ベクトル抽出処理の手順を概略的に示すフローチャートである。図6に示されるように、候補ベクトル抽出部142は、まず、サブブロック番号jを初期値「1」に設定し(ステップS10)、j番目のサブブロックSB(j)を着目サブブロックCBに設定する(ステップS11)。次いで、候補ベクトル抽出部142は、1つ上位の第k−1階層のサブブロック群のうち、着目サブブロックCBの生成元であるサブブロックSBk−1(i)を選択し(ステップS12)、このサブブロックSBk−1(i)の動きベクトルMVk−1(i)を候補ベクトル集合V(j)に登録する(ステップS13)。
その後、候補ベクトル抽出部142は、第k−1階層における生成元のサブブロックSBk−1(i)の周辺領域のサブブロック群を選択し(ステップS14)、このサブブロック群の動きベクトルを候補ベクトル集合V(j)に登録する(ステップS15)。
次に、候補ベクトル抽出部142は、サブブロック番号jが、第k階層に属するサブブロックの総数Nに達したか否かを判定し(ステップS16)、サブブロック番号jが総数Nに達していない場合(ステップS16のNO)には、サブブロック番号jを1だけインクリメントし(ステップS17)、ステップS11に処理を戻す。他方で、サブブロック番号jが総数Nに達している場合(ステップS16のYES)には、候補ベクトル抽出処理は終了する。
図7(A),(B)は、候補ベクトル抽出処理の手順の一例を説明するための図である。図7(A)に示される第k−1階層の各サブブロックを縮小率α=1/2(=0.5)で分割することにより、図7(B)に示される第k階層のサブブロックSB(1),SB(2),SB(3),…が生成されている。図7(B)のサブブロックSB(j)が着目サブブロックCBとされたときは、この着目サブブロックCBに対応する生成元のサブブロックSBk−1(i)が選択される(ステップS12)。次に、このサブブロックSBk−1(i)の動きベクトルMVk−1(i)が候補ベクトル集合V(j)に登録される(ステップS13)。また、生成元のサブブロックSBk−1(i)に対して水平画素方向、垂直画素方向、右上がり斜め方向、右下がり斜め方向、左上がり斜め方向及び左下がり斜め方向という8方向にそれぞれ隣接する周辺領域の8個のサブブロックSBk−1(a)〜SBk−1(h)が選択される(ステップS14)。次に、これらサブブロックSBk−1(a)〜SBk−1(h)の動きベクトルが候補ベクトル集合V(j)に登録される(ステップS15)。結果として、第k階層の1つの着目サブブロックCBに対して、第k−1階層における9個のサブブロックSBk−1(i),SBk−1(a)〜SBk−1(h)の9個の動きベクトルが候補ベクトルとして抽出され、候補ベクトル集合V(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階層のサブブロックSB(1),SB(2),SB(3),SB(4),…が生成されている。図9(B)のサブブロックSB(j)が着目サブブロックCBとされたときは、この着目サブブロックCBに対応する生成元のサブブロックSBk−1(i)が選択される(ステップS12)。次に、このサブブロックSBk−1(i)の動きベクトルMVk−1(i)が候補ベクトル集合V(j)に登録される(ステップS13)。また、生成元のサブブロックSBk−1(i)に対して周辺の隣接サブブロックSBk−1(a)〜SBk−1(h)の中からサブブロックを選択し(ステップS14)、選択されたサブブロックの動きベクトルを候補ベクトル集合V(j)に登録することができる(ステップS15)。ステップS14では、生成元のサブブロックSBk−1(i)の境界4辺のうち、着目サブブロックCBと空間方向に最も近い2辺に隣接するサブブロックSBk−1(c)〜SBk−1(g)を選択してもよい。
上記のごとく候補ベクトルが抽出された後、評価部143は、着目サブブロックCBのフレーム内位置pos=(Xc,Yc)に相当する参照フレームFa内の位置(Xr,Yr)から候補ベクトルCVの分ずれた位置(Xr+CVx,Yr+CVy)にある参照サブブロックRBを抽出する。ここで、CVx,CVyは、それぞれ、候補ベクトルCVの水平画素方向成分(X成分)と垂直画素方向成分(Y成分)であり、参照サブブロックRBのサイズは、着目サブブロックCBのサイズと同じである。たとえば、図10に示されるように、着目フレームFb内の着目サブブロックCBに対して、4個の候補ベクトルCV(1)〜CV(4)が抽出された場合、これら候補ベクトルCV(1)〜CV(4)で指定される4個の参照サブブロックRB(1)〜RB(4)を抽出することができる。
さらに、評価部143は、抽出された参照サブブロックRBと着目サブブロックCBとのブロック対の類似度または非類似度を算出し、この算出結果に基づいて候補ベクトルの評価値Edを求める。たとえば、ブロック対の絶対値差分和(SAD)を評価値Edとして算出することができる。図10の例では、着目サブブロックCBと、4個の参照サブブロックRB(1)〜RB(4)との間で4つのブロック対が形成されるので、評価部143は、ブロック対それぞれについて候補ベクトルの評価値Edを算出することとなる。これら評価値Edと候補ベクトルCVの組は、動きベクトル決定部144に与えられる。
そして、動きベクトル決定部144は、評価値Edに基づいて、候補ベクトル集合V(j)の中から最も確からしい動きベクトルを、着目サブブロックCB(=SB(j))の動きベクトルMVとして選択する。この動きベクトルMVは出力部145を介して後段に出力される。
動きベクトル決定部144は、次式(1)を用いて動きベクトルを選択することができる。
Figure 2012066866
ここで、vは、候補ベクトル集合Vの要素である候補ベクトルであり、f(x)は、位置ベクトルxで指定される参照フレームFa内の画素の値であり、f(x)は、位置ベクトルxで指定される着目フレームFb内の画素の値であり、Bは、着目サブブロック内の位置を示す位置ベクトルの集合であり、posは、集合Bの要素である位置ベクトルである。また、SAD(v)は、候補ベクトルvで指定される参照フレームFa内の参照サブブロックと着目サブブロックとの対の差分絶対値和(SAD)を出力する関数である。argmin(SAD(v))は、SAD(v)を最小にするv(=v)を与える。
このようにして、SADに基づいて真の動きベクトルに対して最も確からしい動きベクトルMV(=v)を選ぶことができる。なお、評価値EdをSADとは異なる定義を用いて算出してもよい。
次に、図4の動きベクトル補正部137について説明する。
動きベクトル補正部137は、第k階層のサブブロックSB(1),…,SB(N)のそれぞれを順次着目サブブロックとし、この着目サブブロックの周辺領域に位置する周辺サブブロックの動きベクトルに基づいて、当該着目サブブロックの動きベクトルを補正するフィルタ機能を有する。このフィルタ機能により、動きベクトル生成部134から誤った動きベクトルMVが出力されたとき、その誤った動きベクトルMVが後段の階層処理部133k+1または出力部138に伝達されることを防止することができる。
ここで、着目サブブロックの動きベクトルがその周辺領域のサブブロックの動きベクトルとは明らかに異なる場合にその動きベクトルを排除し、サブブロック単位の動きベクトルの分布を滑らかにするには、平滑化フィルタを使用することが考えられる。しかしながら、平滑化フィルタを適用すると、本来存在しない動きベクトルが出現する場合がある。
たとえば、着目サブブロックの動きベクトルが誤検出により(9,9)となり、着目サブブロックに隣接する8個のサブブロックの動きベクトルがすべて(0,0)であった場合に、当該着目サブブロックに対して、3×3個のサブブロックを適用範囲(フィルタ窓)とする単純な平滑化フィルタ(複数の動きベクトルの算術平均を行う平均化フィルタ)を適用すると、この平滑化フィルタの出力は(1,1)となる。この出力は、より確からしい(0,0)とは異なり、本来存在しない動きベクトルが出力されてしまう。動きベクトルを利用した補間フレーム生成や超解像においては、周辺に全く存在しないベクトルを出力することを回避することが好ましい。
そこで、本実施の形態の動きベクトル補正部137は、当該着目サブブロック(補正対象サブブロック)とこの着目サブブロックを中心とする周辺サブブロックとを含む適用範囲(フィルタ窓)内の複数のサブブロックの複数の動きベクトルを補正候補ベクトルvとし、補正候補ベクトルvの中から、周辺サブブロックの動きベクトルと着目サブブロックの動きベクトルとの間の距離(distance)の総和を最小とする補正候補ベクトルを選択し、当該選択された補正候補ベクトルで着目サブブロックの動きベクトルを置き換えるというフィルタ機能を有する。ここで、2つの動きベクトル間の距離としては、ユークリッド距離、マンハッタン距離並びにチェビシェフ距離など、数学的な様々な概念が知られている。
本実施の形態の場合、周辺サブブロックの動きベクトルと当該着目サブブロックの動きベクトルとの間の距離として、マンハッタン距離が採用される。マンハッタン距離を採用した場合、次式(2)を用いて、着目サブブロックの新たな動きベクトルvを生成することができる。
Figure 2012066866
ここで、vは、補正候補ベクトルであり、Vは、フィルタ窓内のサブブロックの動きベクトルからなる集合であり、x,yは、それぞれ、補正候補ベクトルvの水平画素方向成分(X成分)及び垂直画素方向成分(Y成分)であり、x,yは、それぞれ、集合Vに属する動きベクトルvのX成分及びY成分である。そして、dif(v)は、動きベクトルv,v間のマンハッタン距離の総和を出力する関数である。argmin(dif(v))は、dif(v)を最小するvを補正ベクトルvとして与える。このようにして集合Vに属する補正候補ベクトルvから補正ベクトルvを選択することで、本来存在しない動きベクトルを補正ベクトルとして生成することを確実に回避することができる。なお、フィルタ窓内のサブブロックの位置に応じて、サブブロックの動きベクトルに重み付けを行うといった最適化処理を行うこともできる。また、フィルタ窓内のサブブロックの動きベクトルの空間分布によっては、補正候補ベクトルvが集合Vに属するとの制限を外して補正ベクトルvを算出する処理を実行してもよい。
図11(A),(B)は、3×3画素分のフィルタ窓Fwを有する動きベクトル補正部137を用いて着目サブブロックCBを補正する様子を概略的に示す図である。図11(A)が補正前の状態を表し、図11(B)が補正後の状態を表している。図11(A)に示されるように、着目サブブロックCBの動きベクトルMVcの方向は、周辺サブブロックCB(a)〜CB(h)の動きベクトルと比べて大きく外れている。周辺サブブロックCB(a)〜CB(h)の動きベクトルに基づくフィルタ処理(補正)を行うと、図11(B)に示されるように、着目サブブロックCBは、周辺サブブロックCB(a)〜CB(c)の動きベクトルとほぼ同じ方向の動きベクトルMVcを有するようになる。
図12は、動きベクトル補正部137により実行される動きベクトル補正処理の手順を概略的に示す図である。図12に示されるように、動きベクトル補正部137は、まず、サブブロック番号iを初期値「1」に設定し(ステップS20)、i番目のサブブロックSB(i)を着目サブブロックCBに設定する(ステップS21)。次いで、動きベクトル補正部137は、着目サブブロックCBを中心とするフィルタ窓内の周辺サブブロックの動きベクトルを集合Vに登録する(ステップS22)。次に、動きベクトル補正部137は、集合Vに属する動きベクトルと着目サブブロックCBの動きベクトルとの間の距離の総和を算出し、この総和を最小にする補正ベクトルを求める(ステップS23)。そして、動きベクトル補正部137は、着目サブブロックCBの動きベクトルを補正ベクトルで置換する(ステップS24)。
その後、動きベクトル補正部137は、サブブロック番号iが、第k階層に属するサブブロックの総数Nに達したか否かを判定し(ステップS25)、サブブロック番号iが総数Nに達していない場合(ステップS25のNO)には、サブブロック番号iを1だけインクリメントし(ステップS26)、ステップS21に処理を戻す。他方で、サブブロック番号iが総数Nに達している場合(ステップS25のYES)には、動きベクトル補正処理は終了する。
上記したように各階層処理部133は、前段から入力された動きベクトルMVk−1に基づいて、より密度の高い動きベクトルMVを生成し後段に出力する。最終段の階層処理部133は、画素単位の動きベクトルMVを動きベクトルMVとして出力する。
以上に説明したように実施の形態1の動きベクトル細密化部130は、ブロックMB(1),MB(2),…の各々を階層的に分割することにより複数階層のサブブロックSB(1),SB(2),…,SB(1),SB(2),…,SB(1),SB(2),…を生成しつつ、密度の粗い動きベクトルMVから、階層が増すにつれて密度が次第に細かくなる動きベクトルMV,MV,…,MVを段階的に生成する。このため、画像中に現れるノイズや空間的な周期パターンの影響が抑制された細密な動きベクトルMVを生成することができる。
また、複数階層で求められた動きベクトルMV,MV,…,MVは、動きベクトル補正部137〜137で補正されるので、各階層における誤った動きベクトルを後段に伝達することを防止することができる。したがって、ブロック単位の動きベクトルMVに基づいて、推定精度の高い細密な動きベクトル(画素単位の動きベクトル)MVを生成することができる。
なお、図4に示したように、本実施の形態の動きベクトル細密化部130は、複数の階層処理部133〜133を有しているが、これら階層処理部133〜133は、ハードウェア構成を有する複数個の処理ユニットで実現されてもよいし、あるいは、再帰的な処理を行う単一の処理ユニットで実現されてもよい。
実施の形態2.
次に、本発明に係る実施の形態2について説明する。図13は、実施の形態2の動きベクトル検出装置20の構成を概略的に示す機能ブロック図である。
この動きベクトル検出装置20は、動画像を構成する一連のフレームのうち時間的に連続する3枚のフレームFa,Fb,Fcがそれぞれ入力される入力部200a,200b,200cを備えている。また、動きベクトル検出装置20は、入力されたフレームFa,Fb,Fcからブロック単位の動きベクトルMVを検出する動き推定部220と、ブロック単位の動きベクトルMVに基づいて画素単位(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),…のそれぞれを順次着目ブロックCBとして、時刻tc〜taにおける着目ブロックCBの動きを推定する。具体的には、動き推定部220は、着目フレームFb内の着目ブロックCBと最も相関の高い一対の参照ブロックRBf,RBbをそれぞれ参照フレームFa,Fcの中から探索し、着目ブロックCBと当該参照ブロックRBf,RBbのいずれか一方との間の空間方向のズレを着目ブロックCBの動きベクトルMvfまたはMvbとして検出する。ここで、着目ブロックCBと参照ブロックRBf,RBbとは、時空間(時間軸、X軸及びY軸で定まる空間)上で一直線上に配列されているので、参照ブロックRBf,RBbのうちの一方の位置が定まると、他方の位置が定まることとなる。また、参照ブロックRBf,RBbは、着目ブロックCBを中心として点対称に位置する。
このような動きベクトルMvfまたはMvbの検出法としては、上記実施の形態1の場合と同様に、公知のブロックマッチング法を使用することができる。ブロックマッチング法では、一対の参照ブロックRBf,RBbと着目ブロックCBとの間の相関の程度を評価するために、類似度または非類似度に基づいた評価値が求められる。本実施の形態では、参照ブロックRBfと着目ブロックCBとの間の類似度と、参照ブロックRBbと着目ブロックCBとの間の類似度とを加算した値を評価値として利用するか、あるいは、参照ブロックRBfと着目ブロックCBとの間の非類似度と、参照ブロックRBbと着目ブロックCBとの間の非類似度とを加算した値を評価値として利用することができる。参照ブロックRBf,RBbの探索範囲については、演算量の低減のため、着目ブロックCBのフレーム内位置に相当する位置を中心とする一定の範囲で探索することが好ましい。
なお、フレームFa,Fb,Fcは、時間軸上に等間隔で配列されていなくてもよい。この場合は、フレームFa,Fc上の参照ブロックRBf,RBbの位置は、着目ブロックCBに関して点対称の位置とならない。また、着目ブロックCBがこれらフレームFa,Fb,Fcにおいて等速直線運動をすると仮定して、参照ブロックRBf,RBbの位置を定めることが望ましい。ただし、フレームFa,Fb,Fcが、動きが大きく変化するタイミングをまたいで存在すると、動きの推定精度が低下する可能性が高くなるので、時間間隔ta−tb,tb−tcを短くし、両時間間隔の差を小さくすることが好ましい。
上記したように実施の形態2の動きベクトル検出装置30は、3枚のフレームFa,Fb,Fcを用いて、推定精度の高い動きベクトルMVを生成するので、動きベクトル細密化部330は、実施の形態1の場合と比べると、より推定精度の高い細密な動きベクトルMVを生成することができる。
なお、本実施の形態の動き推定部220は、3枚のフレームFa,Fb,Fcに基づいて動き推定を行っているが、この代わりに、4枚以上のフレームに基づいて動き推定を行うようにその構成を変更してもよい。
実施の形態3.
次に、本発明に係る実施の形態3について説明する。図15は、実施の形態3の動きベクトル検出装置30の構成を概略的に示す機能ブロック図である。
この動きベクトル検出装置30は、動画像を構成する一連のフレームのうち時間的に互いに前後する第1及び第2フレームFa,Fbがそれぞれ入力される入力部300a,300bを備えている。また、動きベクトル検出装置30は、入力された第1及び第2フレームFa,Fbからブロック単位の動きベクトルMVA,MVBを検出する動き推定部320と、これら動きベクトルMVA,MVBに基づいて画素単位(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),…のそれぞれを順次着目ブロックCBとし、着目フレームFbから参照フレームFaへの着目ブロックCBの動きを推定して信頼度の高い順に上位2つの動きベクトルMVA,MVBを検出する。具体的には、動き推定部320は、着目ブロックCBと最も相関の高い参照ブロックRB1と、2番目に相関の高い参照ブロックRB2とを参照フレームFaの中から探索する。そして、着目ブロックCBと当該参照ブロックRB1との間の空間方向のズレが動きベクトルMVAとして検出され、着目ブロックCBと当該参照ブロックRB2との間の空間方向のズレが動きベクトルMVBとして検出される。
動きベクトルMVA,MVBの検出法としては、公知のブロックマッチング法を使用すればよい。たとえば、サブブロック対の非類似度を表す差分絶対値和(SAD)を使用する場合は、SADが最も小さい動きベクトルを1位の動きベクトルMVAとし、SADが2番目の小さい動きベクトルを2位の動きベクトルMVBとすることができる。
動きベクトル細密化部330は、実施の形態1の動きベクトル細密化部130と同様に、着目フレームFbから派生したブロックMB(1),MB(2),…の各々を分割して、第1階層から第N階層に分類された複数のサブブロックを生成する。動きベクトル細密化部330は、さらに、ブロック単位の動きベクトルMVA,MVBに基づいて、最終段の第N階層を除く階層ごとに各サブブロックについて信頼度の高い順に上位2つの動きベクトルを生成し、最終段の第N階層では、最も信頼度の高い動きベクトルMVを生成する。ここで、動きベクトルの信頼度は、当該動きベクトルの検出に使用された参照サブブロックと着目サブブロックとの類似度または非類似度に基づいて定められるものである。サブブロック対の類似度が高いほど(言い換えれば、サブブロック対の非類似度が低いほど)、動きベクトルの信頼度も高くなる。
図17は、動きベクトル細密化部330の構成を概略的に示す機能ブロック図である。図17に示されるように、動きベクトル細密化部330は、上位2つの動きベクトルMVA,MVBがそれぞれ入力される入力部332a,332bと、参照フレームFa及び着目フレームFbがそれぞれ入力される入力部331a,331bと、第1乃至第Nの階層処理部333〜333(Nは2以上の整数)と、細密化された動きベクトルMVを出力する出力部338とを有する。さらに、各階層処理部333(kは1〜Nのいずれかの整数)は、動きベクトル生成部334と動きベクトル補正部337とを有している。
階層処理部333〜333の基本的な動作は同じである。以下、第1の階層処理部333で処理されるブロックMB(1),MB(2),…を第0階層のサブブロックSB(1),SB(2),…とみなして、階層処理部333〜333の処理について詳細に説明する。
図18は、階層処理部333における動きベクトル生成部334の構成を概略的に示す機能ブロック図である。図18に示されるように、動きベクトル生成部334は、前段から入力された上位2つの動きベクトルMVAk−1,MVBk−1を受ける入力部341A,341Bと、参照フレームFa及び着目フレームFbが入力される入力部340A,340Bと、候補ベクトル抽出部342と、評価部343と、動きベクトル決定部344とを有している。
候補ベクトル抽出部342は、サブブロックSB(1),SB(2),…のそれぞれを順次着目サブブロックCBとし、この着目サブブロックCBに対して、1つ上位の階層のサブブロックSBk−1(1),SBk−1(2),…の1位の動きベクトル群MVAk−1の中から候補ベクトルCVAを抽出する。これと並行して、候補ベクトル抽出部342は、着目サブブロックCBに対して、1つ上位の階層のサブブロックSBk−1(1),SBk−1(2),…の2位の動きベクトル群MVBk−1の中から候補ベクトルCVBを抽出する。抽出された候補ベクトルCVA,CVBは、評価部343に与えられる。候補ベクトルCVA,CVBの抽出方法は、実施の形態1の候補ベクトル抽出部142(図5)による抽出方法と同じである。
候補ベクトルCVA,CVBが抽出された後、評価部343は、一方の候補ベクトルCVAを用いて参照フレームFa内の参照サブブロックを抽出し、当該参照サブブロックと着目サブブロックCBとの間の類似度または非類似度に基づいた評価値Edaを算出する。これと並行して、評価部343は、他方の候補ベクトルCVBを用いて参照フレームFa内の参照サブブロックを抽出し、当該参照サブブロックと着目サブブロックCBとの間の類似度または非類似度に基づいた評価値Edbを算出する。これら評価値Eda,Edbの算出方法は、実施の形態1の評価部143(図5)による評価値Edの算出方法と同じである。
そして、動きベクトル決定部344は、評価値Eda,Edbに基づいて、候補ベクトルCVA,CVBの中から、最も信頼度の高い1位の動きベクトルMVAと、2番目に信頼度の高い2位の動きベクトルMVBとを選択する。これら動きベクトルMVA,MVBは、それぞれ、出力部345A,345Bを介して後段に出力される。ただし、最終段の階層処理部333における動きベクトル決定部344は、前段から供給されたCVA,CVBの中から最も信頼度の高い動きベクトルMVを選択し、出力する。
図17の動きベクトル補正部337は、動きベクトルMVAを補正する処理と、動きベクトルMVBを補正する処理とを並行に実行するフィルタ機能を有する。これら動きベクトルMVA,MVBの補正方法は、上記実施の形態1の動きベクトル補正部337による動きベクトルMVの補正方法と同じである。このフィルタ機能により、動きベクトル生成部334から誤った動きベクトルMVA,MVBが出力されたとしても、このような動きベクトルMVA,MVBが後段の階層処理部333k+1に伝達されることを防止することができる。
上記したように各階層処理部333は、前段から入力された上位2つの動きベクトルMVAk−1,MVBk−1に基づいて、より密度の高い動きベクトルMVA,MVBを生成し後段に出力する。最終段の階層処理部333は、最も信頼度の高い動きベクトルを画素単位の動きベクトルMVとして出力する。
以上に説明したように実施の形態3の動きベクトル細密化部330は、ブロックMB(1),MB(2),…の各々を階層的に分割することにより複数階層のサブブロックSB(1),SB(2),…,SB(1),SB(2),…,SB(1),SB(2),…を生成しつつ、密度の粗い動きベクトルMVA,MVBから、階層が増すにつれて密度が次第に細かくなる動きベクトルMVA,MVB,MVA,MVB,…,MVAN−1,MVBN−1,MVを段階的に生成する。このため、画像中に現れるノイズや空間的な周期パターンの影響が抑制された細密な動きベクトルMVを生成することができる。
また、複数階層で求められた動きベクトルMVA,MVB,MVA,MVB,…,MVAN−1,MVBN−1,MVは、動きベクトル補正部337〜337で補正されるので、各階層における誤った動きベクトルを後段に伝達することを防止することができる。したがって、ブロック単位の動きベクトルMVA,MVBに基づいて、推定精度の高い細密な動きベクトル(画素単位の動きベクトル)MVを生成することができる。
さらに、上述したように、動き推定部320は、ブロックMB(1),MB(2),…の各々について上位2つの動きベクトルMVA,MVBを検出し、動きベクトル細密化部330の各階層処理部333(k=1〜N−1)も、サブブロックSB(1),SB(2),…の各々について上位2つの動きベクトルMVA,MVBを生成している。これにより、図18の動きベクトル決定部344は、実施の形態1の場合と比べると、より多くの候補ベクトルCVA,CVBの中から、より確からしい動きベクトルを選択することができるので、動きベクトルの推定精度を向上させることができる。
また、図19に示されるように、サブブロックの境界と画像中の物体O1,O2の境界とは必ずしも一致せず、物体O1,O2の移動方向が互いに異なる場合がある。このような場合に、サブブロックSB(1),SB(2),…の各々について単一の動きベクトルを生成すると、物体O1,O2の2つの移動方向に関する情報が失われてしまう可能性がある。これに対し、本実施の形態の動きベクトル検出装置30は、ブロックMB(1),MB(2),…及びサブブロックSB(1),SB(2),SB(3),…(k=1〜N−1)の各々について信頼度の高い上位2つの動きベクトルを生成するので、ブロックMB(1),MB(2),…またはサブブロックSB(1),SB(2),…に存在し得る複数方向の動きに関する情報が失われることを防止することができる。したがって、実施の形態1と比べると、動きベクトルの推定精度をより向上させることができる。
なお、動き推定部320及び階層処理部333(k=1〜N−1)は、それぞれ、上位2つの動きベクトルを生成しているが、これに限定されるものではない。動き推定部320及び階層処理部333は、それぞれ、信頼度の高い順に上位3つ以上の動きベクトルを生成してもよい。
また、本実施の形態の動き推定部320は、2枚のフレームFa,Fbに基づいてブロック単位の動きベクトルMVA,MVBを検出しているが、この代わりに、上記実施の形態2の動き推定部220のように3枚以上のフレームに基づいて動きベクトルMVA,MVBを検出してもよい。
実施の形態4.
次に、本発明に係る実施の形態4について説明する。図20は、実施の形態4の動きベクトル検出装置40の構成を概略的に示す機能ブロック図である。
この動きベクトル検出装置40は、動画像を構成する一連のフレームのうち時間的に互いに前後する第1及び第2フレームFa,Fbがそれぞれ入力される入力部400a,400bと、入力された第1及び第2フレームFa,Fbからブロック単位の動きベクトルMVA,MVBを検出する動き推定部420とを備えている。動き推定部420の機能は、上記実施の形態3の動き推定部320の機能と同じである。
また、動きベクトル検出装置40は、最も信頼度の高い動きベクトルMVAに基づいて画素単位(1画素精度)の候補ベクトルMVaを生成する動きベクトル細密化部430Aと、2番目に信頼度の高い動きベクトルMVBに基づいて画素単位の候補ベクトルMVbを生成する動きベクトル細密化部430Bと、候補ベクトルMVa,MVbのうちの一方を動きベクトルMVとして選択する動きベクトル選択部440と、動きベクトルMVを外部に出力する出力部450とを備える。
動きベクトル細密化部430Aは、上記実施の形態1の動きベクトル細密化部130(図1)と同様に、着目フレームFbから派生したブロックMB(1),MB(2),…の各々を階層的に分割して第1階層から第N階層に分類された複数のサブブロックを生成し、ブロック単位の動きベクトルMVAに基づいて、階層ごとに各サブブロックの動きベクトルを生成する機能を有する。他方、動きベクトル細密化部(副動きベクトル細密化部)430Bも、上記実施の形態1の動きベクトル細密化部130と同様に、着目フレームFbから派生したブロックMB(1),MB(2),…の各々を階層的に分割して第1階層から第N階層に分類された複数のサブブロックを生成し、ブロック単位の動きベクトルMVBに基づいて、階層ごとに各サブブロックの動きベクトルを生成する機能を有する。
動きベクトル選択部440は、候補ベクトルMVa,MVbのうちの一方を動きベクトルMVとして選択し、この動きベクトルMVを出力部450を介して外部に出力する。たとえば、動きベクトル細密化部430A,430Bの最終階層で得られた、参照サブブロックと着目サブブロックとの間の類似度または非類似度に基づいて、候補ベクトルMVa,MVbのうち信頼度が高い方を動きベクトルMVとして選択することができるが、これに限定されるものではない。
上記したように実施の形態4の動きベクトル検出装置40は、ブロックMB(1),MB(2),…の各々について上位2つの動きベクトルMVA,MVBを検出して2つの細密な候補ベクトルMVa,MVbを生成するので、これら候補ベクトルMVa,MVbのうち信頼度の高い方を動きベクトルMVとして出力することができる。また、実施の形態3の場合と同様に、ブロックMB(1),MB(2),…の各々に存在し得る複数方向の動きに関する情報が失われることを防止することができる。したがって、実施の形態1と比べると、動きベクトルの推定精度をより向上させることができる。
なお、動き推定部420は、上位2つの動きベクトルMVA,MVBを生成しているが、これに限定されるものではない。動き推定部420は、信頼度の高い順にM個以上(Mは3以上の整数)の動きベクトルを生成してもよい。この場合は、M個の動きベクトルに基づいてM個の細密な候補ベクトルを生成するM個の動きベクトル細密化部を組み込めばよい。
実施の形態5.
次に、本発明に係る実施の形態5について説明する。図21は、実施の形態5の動きベクトル検出装置における動きベクトル細密化部160の構成を概略的に示す機能ブロック図である。本実施の形態の動きベクトル検出装置は、図1の動きベクトル細密化部130の代わりに図21の動きベクトル細密化部160を有する点を除いて、実施の形態1の動きベクトル検出装置10と同じ構成を有する。
図21に示されるように、動きベクトル細密化部160は、ブロック単位の動きベクトルMVが入力される入力部162と、参照フレームFa及び着目フレームFbが入力される入力部161a,161bと、第1乃至第Nの階層処理部163〜163(Nは2以上の整数)と、画素単位の動きベクトルMVを出力する出力部168とを有する。各階層処理部163(kは1〜Nのいずれかの整数)は、動きベクトル生成部134と動きベクトル補正部137とを有しており、図21の動きベクトル補正部137は、図4の動きベクトル補正部137と同じ構成を有する。
図22は、図21の動きベクトル細密化部160におけるk番目の動きベクトル生成部164の構成を概略的に示す機能ブロック図である。図22に示されるように、動きベクトル生成部164は、前段から入力された動きベクトルMVk−1を受ける入力部171と、参照フレームFa及び着目フレームFbが入力される入力部170A,170Bと、候補ベクトル抽出部172と、評価部143と、動きベクトル決定部144とを有しており、図22の評価部143及び動きベクトル決定部144は、図5の評価部143及び動きベクトル決定部144と同じ構成を有する。本実施の形態の候補ベクトル抽出部172は、着目サブブロックの生成元(1つ上位の階層のサブブロック)に対する当該着目サブブロックの相対位置を検出する相対位置検出部172aを有している。
図23は、候補ベクトル抽出部172により実行される候補ベクトル抽出処理の手順を概略的に示すフローチャートである。図23に示されるように、候補ベクトル抽出部172は、まず、サブブロック番号jを初期値「1」に設定し(ステップS10)、j番目のサブブロックSB(j)を着目サブブロックCBに設定する(ステップS11)。次いで、候補ベクトル抽出部172は、1つ上位の第k−1階層のサブブロック群のうち、着目サブブロックCBの生成元であるサブブロックSBk−1(i)を選択する(ステップS12)。次いで、候補ベクトル抽出部172は、サブブロックSBk−1(i)の動きベクトルMVk−1(i)を候補ベクトル集合V(j)に登録する(ステップS13)。
その後、候補ベクトル抽出部172の相対位置検出部172aは、上位階層のサブブロックSBk−1(i)に対する着目サブブロックCBの相対位置を検出する(ステップS13A)。たとえば、図7(A),(B)の場合には、第k階層の着目サブブロックCBの生成元は、第k−1階層のサブブロックSBk−1(i)である。この場合、相対位置検出部172aは、第k−1階層のサブブロックSBk−1(i)の中心に対して着目サブブロックCBが右下方に位置することを検出することができる。また、図9(A),(B)の場合、着目サブブロックCBは、サブブロックSBk−1(i)の境界に相当する点線の枠の頂点に接しない位置に配置されている。この場合、相対位置検出部172aは、着目サブブロックCBと空間的に最も近い枠の頂点の位置情報を出力することができる。
次に、候補ベクトル抽出部142は、ステップS13Aで検出された相対位置を用いて、第k−1階層における生成元のサブブロックSBk−1(i)の周辺領域のサブブロック群を選択し(ステップS14M)、このサブブロック群の動きベクトルを候補ベクトル集合V(j)に登録する(ステップS15)。たとえば、図7(A),(B)の場合、候補ベクトル抽出部142は、ステップS13Aで検出された相対位置を用いて、着目サブブロックCBの生成元であるサブブロック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の後、候補ベクトル抽出部172は、サブブロック番号jが、第k階層に属するサブブロックの総数Nに達したか否かを判定し(ステップS16)、サブブロック番号jが総数Nに達していない場合(ステップS16のNO)には、サブブロック番号jを1だけインクリメントし(ステップS17)、ステップS11に処理を戻す。他方で、サブブロック番号jが総数Nに達している場合(ステップS16のYES)には、候補ベクトル抽出処理は終了する。
以上に説明したように実施の形態5の候補ベクトル抽出部172は、相対位置検出部172aによる検出結果を用いて、着目サブブロックCBの生成元SBk−1(i)の周辺領域に位置するサブブロックの中から、着目サブブロックCBと空間的に比較的近いサブブロックを選択することができる(ステップS14M)。したがって、実施の形態1の候補ベクトル抽出処理(図6)と比べると、候補ベクトルの数を減らすことができ、後段の評価部143の処理負荷の軽減あるいは演算速度の向上を図ることができる。また、候補ベクトル抽出部172がハードウエアで構成されている場合には、回路規模を削減することができる。
なお、本実施の形態の動きベクトル細密化部160の構成は、上記実施の形態2,3,4の動きベクトル細密化部230,330,430A,430Bに適用することができる。
実施の形態6.
次に、本発明に係る実施の形態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,Fの間に補間フレームFが生成(線形補間)される。フレームFk+1,Fにはそれぞれ時刻tk+1,tが割り当てられており、補間フレームFの時刻tは、時刻tよりもΔtだけ先方にあり、時刻tk+1よりもΔtだけ後方にある。フレームFk+1上の画素Pk+1の位置は、フレームFk+1上の画素Pの位置が動きベクトルMV=(Vx,Vy)の分だけ移動したものである。
補間フレームF上の補間画素Pの位置は、フレームF上の画素Pの位置が動きベクトルMVi=(Vxi,Vyi)の分だけ移動したものである。動きベクトルMViのX成分及びY成分については、以下の式が成立する。
Vxi=Vx・(1−Δt/ΔT)
Vyi=Vy・(1−Δt/ΔT)
ここで、ΔT=Δt+Δt、である。補間画素Pの画素値は、フレームF上の画素Pの画素値とすることができる。
なお、フレーム補間方法は、線形補間法に限定されず、画素の動き方に適した他の補間法を使用してもよい。
上記したように実施の形態6のフレーム補間装置1は、動きベクトル検出装置60で生成された推定精度の高い細密な動きベクトルMVを用いてフレーム補間を行うことができるので、補間フレーム内に現れる物体の境界部分におけるブロックノイズなどの画像の乱れを抑制することができ、高画質の補間フレームを生成することができる。
なお、フレームバッファ11は、解像度の高い補間フレームFを生成するために、入力された映像信号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の動きベクトル細密化部130では、図4に示されるように、全ての階層処理部133〜133が動きベクトル補正部137〜137を有しているが、これに限定されるものではない。階層処理部133〜133のうちの少なくとも1つの階層処理部133(mは1〜Nのうちのいずれか)が動きベクトル補正部137を有し、その他の階層処理部133(n≠m)が動きベクトル補正部を有していない形態もあり得る。また、実施の形態3の動きベクトル細密化部330についても、階層処理部333〜333のうちの少なくとも1つの階層処理部133(pは1〜Nのうちのいずれか)が動きベクトル補正部137を有し、その他の階層処理部133(q≠p)が動きベクトル補正部を有していない形態があり得る。実施の形態2,4,5の動きベクトル細密化部230,430A,430B,160についても同様である。
また、上記サブブロックSB(j)へのサブブロック番号jの割り当て法は、特に限定されるものではなく、任意の割り当て法を採用することができる。
1 フレーム補間装置、 2 入力部、 3 出力部、 10,20,30,40,50 動きベクトル検出装置、 120,220,320,420 動き推定部、 130,230,330,430A,430B 動きベクトル細密化部、 133〜133,333〜333 階層処理部、 134〜134,334〜334 動きベクトル生成部、 137〜137,337〜337 動きベクトル補正部、 142,342 候補ベクトル抽出部、 143,343 評価部、 144,344 動きベクトル決定部、 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. 動画像を構成する一連のフレームにおける動きを検出する動きベクトル検出装置であって、
    前記一連のフレームの中の着目フレームを複数のブロックに分割し、前記一連のフレームのうち前記着目フレームとは時間的に異なるフレームを参照フレームとして、前記着目フレームと前記参照フレームとの間における前記各ブロックの動きを推定してブロック単位の動きベクトルを検出する動き推定部と、
    前記複数のブロックに基づいて第1階層乃至第N階層(Nは2以上の整数)に分類された複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記複数のサブブロック各々の動きベクトルを生成する動きベクトル細密化部と
    を備え、
    前記動きベクトル細密化部は、
    前記複数のブロックの各々を生成元として前記第1階層の複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記第1階層の複数のサブブロック各々の動きベクトルを生成する第1の動きベクトル生成部と、
    前記第1階層乃至第N階層のうちの第2階層乃至第N階層の各階層について、当該各階層よりも1つ上位の階層の複数のサブブロックの各々を生成元として当該各階層の複数のサブブロックを生成し、当該1つ上位の階層の複数のサブブロックの動きベクトルに基づいて、当該各階層の複数のサブブロック各々の動きベクトルを生成する第2の動きベクトル生成部と、
    前記第1階層乃至第N階層のうちの少なくとも1つの補正対象階層について、当該補正対象階層の複数のサブブロックのそれぞれを補正対象サブブロックとし、前記補正対象サブブロックの周辺領域に位置する周辺サブブロックの動きベクトルと前記補正対象サブブロックの動きベクトルとを包含する集合に属する動きベクトルと前記補正対象サブブロックの動きベクトルとの間の距離の総和が最小となるように前記補正対象サブブロックの動きベクトルを補正する動きベクトル補正部と
    を含み、
    前記第2の動きベクトル生成部は、前記動きベクトル補正部により補正された動きベクトルを用いて、前記補正対象階層よりも1つ下位の階層の複数のサブブロック各々の動きベクトルを生成する
    ことを特徴とする動きベクトル検出装置。
  2. 請求項1に記載の動きベクトル検出装置であって、前記動きベクトル補正部は、前記集合に属する動きベクトルの中から前記距離の総和を最小にする動きベクトルを選択し、当該選択された動きベクトルで前記補正対象サブブロックの動きベクトルを置換することで前記補正対象サブブロックの動きベクトルを補正することを特徴とする動きベクトル検出装置。
  3. 請求項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の評価値に基づいて、当該各階層の候補ベクトルの中から当該各階層の着目サブブロックの動きベクトルを選択することで当該各階層の複数のサブブロック各々の動きベクトルを生成する動きベクトル決定部と
    を有することを特徴とする動きベクトル検出装置。
  4. 請求項3に記載の動きベクトル検出装置であって、
    前記第1階層候補ベクトル抽出部は、前記第1階層の着目サブブロックの生成元に対する前記第1階層の着目サブブロックの相対位置を検出し、該相対位置を用いて前記第1階層の候補ベクトルを抽出し、
    前記候補ベクトル抽出部は、当該各階層の着目サブブロックの生成元に対する当該各階層の着目サブブロックの相対位置を検出し、該相対位置を用いて当該各階層の候補ベクトルを抽出する
    ことを特徴とする動きベクトル検出装置。
  5. 請求項3または4に記載の動きベクトル検出装置であって、
    前記第1階層動きベクトル決定部は、前記第1階層の着目サブブロックの動きベクトルとして、前記第1階層の候補ベクトルの中から信頼度の高い順に複数の動きベクトルを選択し、
    前記動きベクトル決定部は、前記第2階層乃至第N−1階層の各階層の複数のサブブロックのそれぞれを当該各階層の着目サブブロックとするとき、当該各階層の着目サブブロックの動きベクトルとして、当該各階層の候補ベクトルの中から信頼度の高い順に複数の動きベクトルを選択する、
    ことを特徴とする動きベクトル検出装置。
  6. 請求項3から5のうちのいずれか1項に記載の動きベクトル検出装置であって、
    前記第1階層の着目サブブロックの生成元の周辺領域に位置する当該ブロックは、当該生成元のブロックに対して、水平画素方向、垂直画素方向、右上がり斜め方向、右下がり斜め方向、左上がり斜め方向及び左下がり斜め方向にそれぞれ隣接する8個のブロックのうちから選択された2以上のブロックからなり、
    当該各階層の着目サブブロックの生成元の周辺領域に位置する当該サブブロックは、当該生成元のサブブロックに対して、水平画素方向、垂直画素方向、右上がり斜め方向、右下がり斜め方向、左上がり斜め方向及び左下がり斜め方向にそれぞれ隣接する8個のサブブロックのうちから選択された2以上のサブブロックからなる
    ことを特徴とする動きベクトル検出装置。
  7. 請求項1から6のうちのいずれか1項に記載の動きベクトル検出装置であって、
    前記第1階層の複数のサブブロックは、前記複数のブロックの各々を分割することにより生成され、
    前記第2階層乃至第N階層の各階層の複数のサブブロックは、当該各階層よりも1つ上位の階層の複数のサブブロックの各々を分割することにより生成される
    ことを特徴とする動きベクトル検出装置。
  8. 請求項1から7のうちのいずれか1項に記載の動きベクトル検出装置であって、前記距離は、マンハッタン距離であることを特徴とする動きベクトル検出装置。
  9. 請求項1から8のうちのいずれか1項に記載の動きベクトル検出装置であって、前記補正対象サブブロックの周辺領域に位置する当該周辺サブブロックは、前記各サブブロックと隣接するサブブロック、または、前記各サブブロックから所定範囲内にあるサブブロックであることを特徴とする動きベクトル検出装置。
  10. 請求項1から9のうちのいずれか1項に記載の動きベクトル検出装置であって、前記動き推定部は、前記各ブロックの動きを推定した結果に基づいて、信頼度の高い順にM個(Mは2以上の整数)の動きベクトルを前記ブロック単位の動きベクトルとして検出することを特徴とする動きベクトル検出装置。
  11. 請求項10に記載の動きベクトル検出装置であって、
    前記第N階層のサブブロックについてM個の前記動きベクトル細密化部により生成されたM個の動きベクトルの中から最も信頼度の高い動きベクトルを選択する動きベクトル選択部をさらに備え、
    M個の前記動きベクトル細密化部は、前記動き推定部により検出された当該M個の動きベクトルに基づいて前記第N階層の各サブブロックの当該M個の動きベクトルをそれぞれ生成する
    ことを特徴とする動きベクトル検出装置。
  12. 請求項1から11のうちのいずれか1項に記載の動きベクトル検出装置であって、前記動き推定部は、前記一連のフレームのうち時間的に互いに前後する一対のフレームを入力とし、前記一対のフレームのうちの一方を前記複数のブロックに分割し、前記各ブロックの前記一対のフレーム間の動きを推定して前記ブロック単位の動きベクトルを検出することを特徴とする動きベクトル検出装置。
  13. 請求項1から11のうちのいずれか1項に記載の動きベクトル検出装置であって、前記動き推定部は、前記一連のフレームのうち時間的に連続する少なくとも3枚のフレームを入力とし、前記3枚のフレームのうちの中間フレームを前記複数のブロックに分割し、前記少なくとも3枚のフレームにおける前記各ブロックの動きを推定して前記ブロック単位の動きベクトルを検出することを特徴とする動きベクトル検出装置。
  14. 請求項1から13のうちのいずれか1項に記載の動きベクトル検出装置であって、前記第N階層のサブブロックの動きベクトルは、1画素精度の動きベクトルであることを特徴とする動きベクトル検出装置。
  15. 請求項1から14のうちのいずれか1項に記載の動きベクトル検出装置と、
    前記第N階層の複数のサブブロックの各々について前記動きベクトル検出装置により検出された動きベクトルに基づいて補間フレームを生成する補間部と
    を備えることを特徴とするフレーム補間装置。
  16. 動画像を構成する一連のフレームの中の動きを検出する動きベクトル検出方法であって、
    前記一連のフレームの中の着目フレームを複数のブロックに分割し、前記一連のフレームのうち前記着目フレームとは時間的に異なるフレームを参照フレームとして、前記着目フレームと前記参照フレームとの間における前記各ブロックの動きを推定してブロック単位の動きベクトルを検出する動き推定ステップと、
    前記複数のブロックに基づいて第1階層乃至第N階層(Nは2以上の整数)に分類された複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記複数のサブブロック各々の動きベクトルを生成する動きベクトル細密化ステップと
    を備え、
    前記動きベクトル細密化ステップは、
    前記複数のブロックの各々を生成元として前記第1階層の複数のサブブロックを生成し、前記ブロック単位の動きベクトルに基づいて前記第1階層の複数のサブブロック各々の動きベクトルを生成する第1の動きベクトル生成ステップと、
    前記第1階層乃至第N階層のうちの第2階層乃至第N階層の各階層について、当該各階層よりも1つ上位の階層の複数のサブブロックの各々を生成元として当該各階層の複数のサブブロックを生成し、当該1つ上位の階層の複数のサブブロックの動きベクトルに基づいて、当該各階層の複数のサブブロック各々の動きベクトルを生成する第2の動きベクトル生成ステップと、
    前記第1階層乃至第N階層のうちの少なくとも1つの補正対象階層について、当該補正対象階層の複数のサブブロックのそれぞれを補正対象サブブロックとし、前記補正対象サブブロックの周辺領域に位置する周辺サブブロックの動きベクトルと前記補正対象サブブロックの動きベクトルとを包含する集合に属する動きベクトルと前記補正対象サブブロックの動きベクトルとの間の距離の総和が最小となるように前記補正対象サブブロックの動きベクトルを補正する補正ステップと
    を含み、
    前記第2の動きベクトル生成ステップでは、当該補正された動きベクトルを用いて、前記補正対象階層よりも1つ下位の階層の複数のサブブロック各々の動きベクトルが生成される
    ことを特徴とする動きベクトル検出方法。
  17. 請求項16に記載の動きベクトル検出方法であって、
    前記補正ステップは、
    前記集合に属する動きベクトルの中から前記距離の総和を最小にする動きベクトルを選択するステップと、
    当該選択された動きベクトルで前記補正対象サブブロックの動きベクトルを置換することで前記補正対象サブブロックの動きベクトルを補正するステップと
    を含むことを特徴とする動きベクトル検出方法。
  18. 請求項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の選択ステップと
    を有することを特徴とする動きベクトル検出方法。
  19. 請求項18に記載の動きベクトル検出方法であって、
    前記第1の抽出ステップは、
    前記第1階層の着目サブブロックの生成元に対する前記第1階層の着目サブブロックの相対位置を検出するステップと、
    該相対位置を用いて前記第1階層の候補ベクトルを抽出するステップと
    を含み、
    前記第2の抽出ステップは、
    当該各階層の着目サブブロックの生成元に対する当該各階層の着目サブブロックの相対位置を検出するステップと、
    該相対位置を用いて当該各階層の候補ベクトルを抽出するステップと
    を含むことを特徴とする動きベクトル検出方法。
  20. 請求項15から19のうちのいずれか1項に記載の動きベクトル検出方法が備える動き推定ステップ及び動きベクトル細密化ステップと、
    前記第N階層のサブブロックについて前記動きベクトル細密化ステップで生成された動きベクトルを用いて補間フレームを生成するステップと
    を備えることを特徴とするフレーム補間方法。
JP2012544149A 2010-11-17 2011-10-07 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法 Pending JPWO2012066866A1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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