説明

動き推定方法及び動き推定装置、並びにプログラム

【課題】正確な動きタイプ予測が可能で、映像内容が複雑な動きを示す場合でも高い頑健性を得ることができる動き推定技術の提供。
【解決手段】対象フレームの各ブロックの既に決定された動きベクトルに基づき、ブロックCの動きベクトルの仮推定値MV”を決定する。MV”とブロックC周囲のブロックの動きベクトルMVとの距離の代表値δ、すなわち動き複雑性を算出する。更に、参照フレームについても動き複雑性δT−1を算出する。この代表値δ、δT−1の値に対応するブロック探索方法を、代表値δ、δT−1の各値に対応して予め決められている各種ブロック探索方法の中から選択する。このブロック探索方法によって、ブロック探索を行い、動きベクトルを決定する。このように、動き複雑性によりブロック探索方法を適応化させることで、映像内容が複雑な動きを示す場合であっても高い頑健性を得ることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像圧縮におけるブロックマッチングによる動き推定技術に関するものであり、特に、動きベクトルによっては捉えにくい映像の動きを感度よく検出することにより、適応的にブロックマッチングを行うことが可能な動き推定技術に関する。
【背景技術】
【0002】
ブロックマッチング動き推定(Block Matching Motion Estimation:BMME)は、ソフトウェア実装においてもハードウェア実装においても、現在のところ最も有力な動き推定(Motion Estimation:ME)方法であり、MPEG-1/2/4やH.216/263/263+等の種々の国際標準において採用されている。
【0003】
ブロックマッチング動き推定において、判定基準(matching criterion)として、通常、(数1)で表される差分絶対値和(Sum of Absolution Difference:SAD)が使用される。ここで、Mはブロックサイズを表す。また、ICとIRは、それぞれ、対象フレーム(current flame)内におけるブロックマッチングの対象のブロックである対象ブロック(current block)内の画素値、及び参照フレーム(reference frame)内において発見された再一致候補ブロック内の画素値を表す。
【0004】
【数1】

【0005】
しかしながら、BMMEには、本質的に、極めて計算量が大きなタスクを内在していることは明らかである。そして、そのタスクは、ビデオエンコーダにおける全計算時間の60%〜80%をも占める程度の計算量であるとする試算が報告されている(非特許文献1参照)。特に総当たり法である全域探索ブロックマッチング(Full Search Block Matching:FSBM)の場合には、+/−Nピクセルの探索領域に対して、探索点は(2N+1)2にものぼる。
【0006】
そこで、従来、MEの改良技術として、二次元対数探索法(2-D Logarithmic Search :LOCS)(非特許文献2参照)、3段探索法(Three Step Search :TSS)(非特許文献3,11参照)、4段探索法(Four Step Search :FSS)(非特許文献4参照)、ダイヤモンド探索法(Diamond Search :DS)(非特許文献5,6参照)等、多くの高速探索技術が提案されている。FSBMとは異なり、これらのアルゴリズムは、探索時間の大幅な短縮を理論的に達成するために、予め定義された探索パターンを用いることによって、探索点数を削減する手法を採用している。しかしながら、それにより、ハードウェア実装が困難となる。また、このような剛的な探索戦略(rigid search strategy)を採用すると、その探索戦略は様々な種類の映像に対して常に最適であるとは限らない。そのため、いくつかの映像に対しては、マッチング品質が低下するというリスクも大きくなる。
【0007】
その後、映像内容の動き複雑性に従って、BMの探索戦略を動的に適応化させることにより、映像の歪みを抑えコンピュータの処理コストを低減させることを目的として、適応的動き推定アルゴリズム(Adaptive motion estimation algorithm)が考案された。大部分の適応的動き推定アルゴリズムは、予め複数の探索パターンを用意しておき、対象ブロックに対する動きタイプ予測の結果により、最適な探索戦略を選択するものである。動きベクトル場適応探索法(Motion Vector Field Adaptive Search Technique :MVFAST)では、動きタイプ予測において空間的相関が利用されている(非特許文献7参照)。また、予測動きベクトル場適応探索法(Predictive Motion Vector Field Adaptive Search Technique:PMVFAST)においては、時間的に配列されたブロックも動きタイプ予測の考慮の対象となる(非特許文献8参照)。そして、予測された動きタイプに従って、大ダイヤモンド探索(Large Diamond Search:LDS)又は小ダイヤモンド探索(Small Diamond Search:SDS)が選択される。更に、非特許文献9においては、より洗練された動きタイプ予測アルゴリズムが導入されている。
【特許文献1】特開2003−324743号公報
【特許文献2】特開2003−274416号公報
【特許文献3】特開2002−152760号公報
【特許文献4】特開2002−135784号公報
【非特許文献1】P.M. Kuhn, G. Diebel, S. Hermann, A. Keil, H. Mooshofer, A. Kaup, et al. "Complexity and PSNR-comparison of several fast motion estimation algorithms for MPEG4," in Proceeding of Applications of Digital Image Processing ;XXI, San Diego. SPIE, vol. 3460, pp. 486-499, July, 1998.
【非特許文献2】J. R. Jain and A. K. Jain, "Displacement measurement and its application in interframe image coding," IEEE Trans. Commun., vol. 29, pp. 1799-1808, Dec. 1981.
【非特許文献3】T. Koga, K. Iinuma, A. Hirano, Y. Iijima, and T. Ishiguro, "Motion-compensated interframe coding for video conferencing," in Proc. Nat. Telecommunications Conf., pp.G 5.3.1-G 5.3.5., Nov./Dec. 1981.
【非特許文献4】L. M. Po, and W. C. Ma " A novel Four-Step Search Algorithm for fast blockmatching," IEEE Trans. Circuits Syst. Video Technol., vol. 6, Jun. 1996.
【非特許文献5】G. Cote, M. Gallant, and F. Kossentini, " Efficient motion vector estimation and coding for H.263-based very low bit rate video compression," ITU-T SG 16, Q15-A-45, June 1997.
【非特許文献6】J.Y. Tham, S. Ranganath, M. Ranganath, and A.A. Kassim, "A novel unrestricted center-biased diamond search algorithm for block motion estimation," IEEE Trans. On Circuits & Systems for Video Technology, vol.8, pp.369-377, Aug. 1998.
【非特許文献7】P. I. Hosur and K.K. Ma, "Motion Vector Field Adaptive Fast Motion Estimation," Second International Conference on Information, Communications and Signal Proeessing (IClCS '99). Singapore, 7-lO, Dec. 1999.
【非特許文献8】A. M. Tourapisl, O. C. Au2, and M. L. Liou "Predictive Motion Vector Field Adaptive Search Technique (PMVFAST) - Enhancing Block Based Motion Estimation," in Proc. SPIE, Visual Commuaications and Image Processing, vol. 431O, pp. 883-892, Dec. 2000.
【非特許文献9】J.H. Lim, and H.W. Choi, "Adaptive motion estimation algorithm using spatial and temporal correlation," Pacific Rim (PACRIM) Conference on Communications, Computers and signal Processing, vol.2, pp.26-28 Aug. 2001.
【非特許文献10】T. Sappasitwong, and S. Aramvith, " Adaptive asymmetric diamond search algorithm for block-based motion estimation," International Conference on Digital Signal Processing, vol.2, pp.1-3, July . 2002.
【非特許文献11】酒井善則,吉田俊之共著,「ヒューマンコミュニケーション工学シリーズ 映像情報符号化」,第1版,株式会社オーム社,2001年12月20日,pp.121-141.
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述の適応的動き推定アルゴリズムは、計算速度とマッチング品質において、従前のアルゴリズムに比べて、より優れた性能が得られることが期待される。しかしながら、上述の適応的動き推定アルゴリズムは、ハードウェア実装をする場合には理想的ではないと考えられる複数の高速探索方法を採用している。更に、フレーム間のエラー伝搬の問題も深刻である。
【0009】
そこで、本発明の目的は、正確な動きタイプの予測が可能であり、映像内容が複雑な動きを示す場合であっても高い頑健性(robustness)を得ることができる動き推定技術を提供することにある。
【課題を解決するための手段】
【0010】
最初に本発明に係る動き推定方法について基本となる考え方について説明した後、本発明の構成、作用についての説明を行う。
【0011】
〔1〕観察
映像は多種多様であるが、それらはすべて映像系列を一つのフレームのセットと見なすことができる。一つのフレーム内における動きは一般に複雑である。しかし、一つのフレームを、いくつかの典型的な動きタイプにマッピングすることのできる部分に切り分けることは可能である。これは、動きタイプの予測を行うにあたっての基礎となる。種々の映像を観察した結果、本発明者は以下のように要約される2つの結論を得た。
【0012】
(a)動きタイプの定義は動き複雑性に基づいている。
近年における研究では(非特許文献9,10参照)、動きタイプ(motion types)は動き複雑性(motion complexity)に基づいて定義される。「動き複雑性」とは、予測変数である各動きベクトル(motion vector)の間の相関のことをいう。
【0013】
例えば、図1に例示したフレームでは、フレームの上部においては均一な動きが検出される。均一な動きは、動きがどんなに速くても、大域的な動きベクトルのオフセットを差し引くことにより、固定的な領域に変換できるため、困難は生じない。
【0014】
(b)動きベクトルは往々にして真の動きを正確に表さない場合がある。
動きベクトルは、映像の符号化において予測誤差を最小化するのに役立つものであるが、動きベクトルは必ずしも映像の真の動きを記述するものではないという点に「トラップ」がある。すなわち、ブロックマッチングによって得られる動きベクトルは、実際には「フレーム間の動き」を表すベクトルではなく、むしろ「フレーム間の冗長性を最も除去可能なベクトル」と解釈されるべきものである。例えば、均一なテクスチャは視覚的な識別性に乏しい。従って、図1において、フレームの下の部分(すなわち、グラウンドに相当する部分)において、均一な動きは動きベクトルとしては捉えられない。
【0015】
〔2〕局所的な動きタイプ予測
上記の観察に基づき、本発明に係る動き推定においては、動きタイプの予測は対象ブロック(ブロックマッチングの対象であるブロック)の周囲の動き複雑性の分析に基づいて行われる。動きベクトルの分布を動き複雑性の分析の基礎として利用することにより、動きベクトルが真の動きを捉えることに失敗したときに、上記「トラップ」に陥るのを避けることができる。
【0016】
対象ブロックの近傍に位置するいくつかのブロックを、ブロックマッチングを行うためのコンテキストを形成するブロックとして選択する。図2は、ブロックマッチングを行うために使用されるコンテキストの一例である。
【0017】
コンテキストTは、対象フレーム内のブロックから構成されるコンテキストであって、対象ブロックCの第1隣接にある3つのブロックC,C,Cにより構成されるコンテキストである。ここで、「第1隣接」とは、対象ブロックのいずれかの辺又は頂点に対し、いずれかの辺又は頂点が接しているブロックをいう。
【0018】
対象フレームのブロックマッチングは、ラスタスキャンの走査方向に沿って、フレームの左上のブロックから右下のブロックにかけて、右向きの水平方向の反復走査に沿って行われる。従って、図2において、コンテキストTのブロックC,C,Cはすでに動きベクトルが決定されたブロックである。また、参照フレームについては、すでにすべてのブロックについて動きベクトルが決定されている。
【0019】
また、コンテキストT−1は、参照フレーム内のブロックから構成されるコンテキストであって、対象ブロックCの位置に対応する参照フレーム内のブロックC’及びその第1隣接に位置するブロックC’〜C’により構成されるコンテキストである。
【0020】
本発明に係る動き推定においては、従来提案されている動き推定法(非特許文献9,10参照)とは異なり、ブロックマッチングにおいて空間的な相関を引き出すために、対象フレーム及び参照フレームから数ブロックを抽出し、これを対象ブロックCの動き推定に利用することにある。このように一般化した隣接ブロックは、2つの連続したフレームに含まれる局所的な動きの情報を引き出すためのサンプルとして利用される。動き複雑性の解析は、コンテキストT−1とコンテキストTに対して、以下の2つの評価に基づいて行われる。
【0021】
【数2】

【0022】
【数3】

【0023】
ここで、MV’(i=0,1,…,8)は、コンテキストT−1におけるブロックC’の動きベクトルを表す。MV(i=1,2,3)は、コンテキストTにおけるブロックC’の動きベクトルを表す。δT−1,δは、それぞれ参照フレーム、対象フレームにおける局所的な動き複雑性を表す。これらは、予測変数として用いられる動きベクトルの関数として定義される。
【0024】
本発明においては、局所的な動き複雑性を規定する関数として、対象ブロックC及びそれに対応するブロックC’の動きベクトルMV,MV’と、コンテキストT,T−1内の他のブロックC,C’の動きベクトルMV,MV’との間の距離の代表値を使用する。すなわち、局所的な動き複雑性δT−1,δを(数4)、(数5)により定義する。特に、コンテキストT−1は対称的な構造であり、すべての方向からの動き特性の変化を捉えることができるので、(数4)は敏感な特性値(indicator)となる。
【0025】
【数4】

【0026】
【数5】

【0027】
ここで、RepT−1,Repは、それぞれ、代表値関数である。代表値関数としては、最大値、最頻値、中央値、平均値、総和等を使用することができる。‖・‖は、ベクトルのノルムを表す。また、動きベクトルMVについては、現時点では求まっていないので、δの演算においては、動きベクトルMVの代わりにその仮推定値MV”=MV”(MV,MV,MV)を使用する。MV”の演算式についても、種々の方法が考えられる。
【0028】
より具体的には、局所的な動き複雑性δT−1,δとして(数6)、(数7)を使用することができる。
【0029】
【数6】

【0030】
【数7】

【0031】
上記のようなコンテキストT−1,Tの局所的な動き複雑性δT−1,δに従って、コンテキストT−1,Tの動きタイプTYPET−1,TYPEの分類を行う。動きタイプの分類の決定は、(数8)、(数9)に示すような閾値判定により行うことができる。
【0032】
【数8】

【0033】
【数9】

【0034】
ここで、Th,Thは動きタイプを分類するための閾値を表す。閾値Th,Thを適当な値に選択することによって、時間的及び空間的な予測変数の影響の度合いを調節することができる。
【0035】
次のステップでは、時間コヒーレンス(temporal coherence)を考慮して、前記TYPET−1,TYPEに基づき、対象ブロックCについて、最も可能性の高い動きタイプを予測する。対象ブロックCの動きタイプの予測は、(表1)に従って行うことができる。
【0036】
【表1】

【0037】
対象ブロックCの動きタイプを用いることにより、対象ブロックCの動きベクトルMVのより確実な予測を行うことが可能となる。例えば、均一なテクスチャ部分が高速に動いている場合において、MV’以外の他のすべての動きベクトルが動きを捉えていない場合においても、MV’が動きを捉えている限りは、上記動きタイプ予測によって、対称ブロックCは激しい動きにあることを検出することが可能となる。これに対して、従来の他の動き推定方法では、このような動き検出をすることはできない。
【0038】
〔3〕適応的ブロックマッチング
以上のような推定により得られる動きタイプを用いて、本発明では以下のような適応的ブロックマッチングにより動き推定を行う。
【0039】
(1)ステップ1
上述の局所的な動きタイプ予測を実行した後、(数10)により4つの探索中心候補を決定する。各ベクトルV=(vxi,vyi)は、対象ブロックCに対応するブロックC’の中心位置から探索の中心となる点までのオフセットを表すベクトルである。
【0040】
【数10】

【0041】
ベクトルV,Vは、それぞれ、参照フレーム内のブロックC’の右上半面、左下半面に属するブロックの動きベクトルの代表値を表す。ここでは、ベクトルV,Vとして、(数11)の値を使用する。
【0042】
【数11】

【0043】
(2)ステップ2
上記4つの探索中心候補の中で最良の探索中心を表すベクトルVを選択する。この選択は、(数12)によりSADを計算することによって行う。
【0044】
【数12】

【0045】
ここで、I,IT−1は、それぞれ、対象ブロック、参照ブロックの画素値を表す。また、演算子argmin(・)の部分は、「(・)を最小にするV」を表している。
【0046】
(3)ステップ3
最後に、選択されたベクトルVをオフセットとして、ブロック探索を行う。このとき、上記予測により得られた対象ブロックCの動きタイプによって、対象ブロックCの動きベクトルを決定するための探索方法の選択を行う。この場合、対象ブロックCの動きタイプが‘CHAOS’の場合、対象ブロックCの近傍の動きは複雑であることが予測される。従って、動きベクトルの探索方法は広範囲の探索に適した方法を選択する必要がある。対象ブロックCの動きタイプが‘CRITICAL’の場合、対象ブロックCの近傍の動きは複雑な動きから一様な動きに変化する境界付近にあることが予測される。従って、この場合、動きベクトルの探索方法は中程度の範囲の探索に適した方法を選択する必要がある。対象ブロックCの動きタイプが‘SIMPLE’の場合、対象ブロックCの近傍の動きは一様であることが予測される。従って、動きベクトルの探索方法は狭範囲の探索に適した方法を選択する必要がある。
【0047】
そこで、例えば、対象ブロックCの動きタイプによって、(表2)のように探索方法を選択することができる。
【0048】
【表2】

【0049】
ここで、FSは全域探索(Full Search)法、TSSは3段探索(Three Step Search)法を表す。Nsimple,Ncritical,Nchaosは探索範囲を表す。例えば、Nsimpleの場合には、Nsimple×Nsimpleの領域において探索を行うことを表している。ここで、Nsimple,Ncritical,Nchaosの間には(数13)のような関係がある。
【0050】
【数13】

【0051】
‘SIMPLE’の場合、小さいウィンドウ内に探索領域を限定することによって、かなりの量の無駄な計算を省くことができる。
【0052】
‘CRITICAL’の場合、対象フレームの動き複雑性は参照フレームの動き複雑性よりも低くなる。従って、ほとんどの場合、(数12)によりかなり信頼性の高い探索中心のオフセットを予測することができる。従って、ブロックマッチングにおける探索範囲は小さくてもよい。しかしながら、上述した「トラップ」を考慮して、探索領域はNsimpleよりも大きくあるべきである。
【0053】
‘CHAOS’の場合には、それぞれの動きベクトル間の相関が小さいので、ブロックマッチングを行う際の探索範囲は大きめにとる必要がある。しかしながら、探索中心はオフセットによりシフトされる。また、動きベクトルの探索領域の大きさは、探索によって得られる動きベクトルの大きさが実用範囲内となる程度に制限される。従って、探索範囲の大きさは一定サイズの領域に限定されるので、動き複雑性が大きい場合でも計算量は減少すると考えられる。動きベクトルの探索は、螺旋パターン(spiral pattern)により従って実行し、早期打ち切り法(early break technique)を用いることができる。
【0054】
また、それぞれの場合において、同じSADの候補が2つ以上見つかった場合には、対象ブロックCの位置により近い方を採用すればよい。
【0055】
〔4〕本発明の構成及び作用
本発明に係る動き推定方法の第1の構成は、複数のフレームから構成される映像において、参照フレームに対する対象フレーム内の各ブロックの動きベクトルを推定する動き推定方法であって、前記対象フレーム内における動きベクトル推定の対象となるブロック(以下、「対象ブロック」という。)Cとの相関が最大である前記参照フレーム内のブロックの探索を、以下の各ステップを有する選択手順で選択されたブロック探索方法に従って行うことにより、前記対象ブロックCの動きベクトルMVを決定することを特徴とする:
(1)前記参照フレーム又は前記対象フレームの各ブロックの動きベクトルであって既に決定されているものに基づき、前記対象ブロックCの動きベクトルMVの仮推定値MV”を決定する第1ステップ;
(2)前記仮推定値MV”と、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(j∈R)の動きベクトルMVとの間の距離の代表値δを算出する第2ステップ;
(3)前記対象ブロックCに対応する前記参照フレーム内のブロックC’の動きベクトルMV’と、前記ブロックC’の周囲の所定の範囲R内にある前記参照フレーム内の各ブロックC’(i∈R)の動きベクトルMV’との間の距離の代表値δT−1を算出する第3ステップ;
(4)前記代表値δ及び前記代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、前記第2ステップ及び前記第3ステップで算出された前記代表値δ及び前記代表値δT−1の値に対応するブロック探索方法を選択する第4ステップ。
【0056】
この構成により、対象ブロックCの動きベクトルの仮推定値に対する対象ブロックCの周囲のブロックの局所的な動きベクトルのばらつきの度合い(以下、「局所的な動き複雑性(local motion complexity)」という。)に応じて、適応的にブロック探索方法を決定することができる。「局所的な動き複雑性」とは、対象ブロックCの動きベクトルに対するその周囲の動きベクトルの変化の度合いをいう。この局所的な動き複雑性は、第2ステップ及び第3ステップで演算される代表値δ及びδT−1の値により評価される。
【0057】
すなわち、第2、第3ステップにおいて、対象フレームにおける対象ブロックCを中心とする局所的な動き複雑性と、参照フレーム内におけるブロックC’を中心とする局所的な動き複雑性とが算出される。そして、第4ステップにおいて、それらを参照し、局所的な動き複雑性が大きい場合には、広範囲のブロック探索に適したブロック探索方法を選択し、局所的な動き複雑性が小さい場合には狭範囲のブロック探索に適したブロック探索方法を選択することが可能となる。これにより、ブロック探索に要する演算量を現実的な演算量に抑えつつ、動きが小さい場合において動きベクトルの推定精度を高く維持することができるとともに、動きが大きい場合に動きベクトルの予測が大きく外れることを防止することが可能となる。
【0058】
特に、対象ブロックCの周囲の「局所的な動き複雑性」と参照フレーム内におけるブロックC’の周囲の「局所的な動き複雑性」との双方を評価することで、一様なテクスチャが高速に移動する部分のように、対象ブロックCの周囲に動きがあるにもかかわらずそれが動きベクトルに動きが反映されにくい状態にある映像に対しても、動きの存在を敏感に捉えることが可能となる。すなわち、正確な動きタイプの予測が可能となり、映像内容が複雑な動きを示す場合であっても高い頑健性を得ることができる。そして、捉えられた動きタイプに応じて、適応的にブロック探索方法が選択されるため、高いマッチング品質を得ることができる。そして、捉えられた動きに応じて、適応的にブロック探索方法が選択されるため、残留予測誤差を更に小さくし、映像の圧縮率を改善することができる。
【0059】
ここで、「ブロック」とは、動き補償による画像の符号化を行う際に、一つの動きベクトルに対応させる領域の単位をいう。通常は、16×16画素のブロックを使用するが、本発明においてはブロックの大きさは特に限定しない。
【0060】
「ブロック探索方法」とは、対象フレーム内の対象ブロックCとの相関が最大である(最も一致する)参照フレーム内のブロックの探索を行う方法をいう。本発明においては、「ブロック探索方法」は、特に限定するものではないが、例えば、全域探索法(Full Search Technique)、二次元対数探索法(2-D Logarithmic Search Technique)(非特許文献2参照)、多段探索法(3段探索法(Three Step Search Technique)、4段探索法(Four Step Search Technique)等)(非特許文献3,4,11参照)、動きベクトル場適応探索法(Motion Vector Field Adaptive Search Technique)(非特許文献7参照)、ダイヤモンド探索法(Diamond Search Technique)(非特許文献5,6参照)等を使用することが可能である。
【0061】
第4ステップにおいては、通常、代表値δの値が小さい場合には、対象ブロックC近傍の「局所的な動き複雑性」は小さいと考えられるので、「ブロック探索方法」としてはマッチング誤差を最小化することが可能な全域探索法を選択するようにし、代表値δの値が大きい場合には、対象ブロックC近傍の局所的な動き複雑性は大きいと考えられるので、「ブロック探索方法」としては、多段探索法、動きベクトル場適応探索法、ダイヤモンド探索法等の広い領域を高速に探索できる方法を選択するように設定しておくことが好ましい。
【0062】
「動きベクトル」とは、参照フレームと対象フレーム間において、映像が動いた方向と距離を表す動き量のことをいう。
【0063】
動きベクトルMVの仮推定値MV”の決定方法は、ここでは特に限定はしない。この仮推定値MV”の決定方法としては、例えば、対象ブロックCの近傍にある対象フレーム内のブロックのうち動きベクトルが既に決定されているものの集合をRとした場合、集合Rに属するブロックの動きベクトルの平均値、中央値、最頻値、加重平均値等を仮推定値MV”とする方法などを採ることができる。
【0064】
「所定の範囲R」は、対象ブロックCの近傍であって、対象ブロックCの動きベクトルとの相関が大きい動きベクトルを有するブロックの範囲に定められる。本発明では特に「所定の範囲R」は特に限定しないが、通常は、対象ブロックCの第1隣接又は第2隣接までを含む範囲に設定される。
【0065】
「所定の範囲R」は、ブロックC’の近傍であって、ブロックC’の動きベクトルとの相関が大きい動きベクトルを有するブロックの範囲に定められる。本発明では特に「所定の範囲R」は特に限定しないが、通常は、ブロックC’の第1隣接又は第2隣接までを含む範囲に設定される。
【0066】
2つの動きベクトルの間の「距離」とは、動きベクトル空間における2つの動きベクトルの間の空間的な隔たりをいう。「距離」としては、差分絶対値和(Sum of Absolute Difference : SAD)、平均平方誤差(Mean square error : MSE)、平均絶対誤差(mean absolute error : MAE)、ユークリッド距離等を使用することができる。
【0067】
距離の「代表値」とは、変数の分布を要約する統計量のことをいう。「距離の代表値δ」としては、最大値、最小値、中央値、平均値、最頻値、総和、自乗和、平方和等を使用することができる。
【0068】
本発明に係る動き推定方法の第2の構成は、前記第1の構成において、前記第4ステップにおいて、前記代表値δの値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、所定の探索領域における多段探索法を選択し、前記代表値δの値が所定の閾値Th以下の場合には、ブロック探索方法として、前記多段探索法の探索領域よりも狭い探索領域での全域探索法を選択することを特徴とする。
【0069】
この構成によれば、代表値δの値の閾値判定によって、対象ブロックCの近傍の局所的な動き複雑性に応じて動きベクトルの探索方法を適応的に切り替えることが可能となる。また、閾値判定であるため、簡単なアルゴリズムにより実現可能であり、また、ハードウェアによって回路的に実現する場合の回路構成も簡易である。
【0070】
ここで、「所定の閾値Th」は、実験的に設定する値である。また、「所定の閾値Th」は、必ずしも固定値とする必要はなく、動き推定の精度の要求に応じて、外部から自由に設定できるようにしてもよい。
【0071】
本発明に係る動き推定方法の第3の構成は、前記第1又は2の構成において、前記第4ステップにおいて、前記代表値δの値が所定の閾値Thよりも大きい場合においては、ブロック探索方法として、所定の探索領域Sにおける多段探索法を選択し、前記代表値δの値が所定の閾値Th以下の場合においては、前記代表値δT−1の値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、前記多段探索法の探索領域Sと同じ又はより狭い探索領域Sでの全域探索法を選択し、前記代表値δT−1の値が所定の閾値Th以下の場合には、ブロック探索方法として、前記探索領域R1よりも狭い探索領域Sでの全域探索法を選択することを特徴とする。
【0072】
この構成によれば、代表値δ及び代表値δT−1の値の閾値判定によって、対象ブロックC及びブロックC’の近傍の局所的な動き複雑性に応じて動きベクトルの探索方法を適応的に切り替えることが可能となる。また、閾値判定であるため、簡単なアルゴリズムにより実現可能であり、また、ハードウェアによって回路的に実現する場合の回路構成も簡易である。
【0073】
ここで、各場合における探索領域S,S,Sの大きさは、それぞれ、要求される計算速度、計算精度等に応じて適度な大きさに設定することができる。
【0074】
また、「所定の閾値Th,Th」は、実験的に設定する値である。また、「所定の閾値Th,Th」は、必ずしも固定値とする必要はなく、動き推定の精度の要求に応じて、外部から自由に設定できるようにしてもよい。
【0075】
本発明に係る動き推定方法の第4の構成は、前記第1乃至3の何れか一の構成において、前記第1ステップにおいて、前記仮推定値MV”は、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(k∈R)の動きベクトルMVに基づいて決定されることを特徴とする。
【0076】
この構成により、走査に従って、対象ブロックCの前に決定された動きベクトルを用いて対象ブロックCの動きベクトルの仮推定値MV”を決定することができる。
【0077】
ここで、「所定の範囲R」は特に限定しないが、通常は、対象ブロックCの第1隣接又は第2隣接までを含む範囲に設定される。
【0078】
「動きベクトルMVに基づいて」とは、例えば、動きベクトル{MV|∀k∈R}の平均値、中央値、最頻値等を仮推定値MV”に決定することをいう。また、ラスタスキャンに従って対象ブロックCの動きベクトルMVを決定していく場合には、対象ブロックCの上の行のブロックと、対象ブロックCの行における対象ブロックCの左側のブロックについては、既に動きベクトルが決定されている。そこで、対象ブロックCの左の隣接ブロックをC、左上の隣接ブロックをC、上の隣接ブロックをCとすれば、例えば、MV”=MV+MV−MVのようにして、二次元の画素値予測方法と同様な方法により仮推定値MV”を決定するようにしてもよい。
【0079】
本発明に係る動き推定方法の第5の構成は、前記第4の構成において、前記仮推定値MV”は、(数14)により計算されることを特徴とする。
【0080】
【数14】

【0081】
この構成によれば、前記仮推定値MV”として、{MV|∀k∈R}の中央値を用いることで、簡単なアルゴリズムにより仮推定値MV”を決定することができる。
【0082】
本発明に係る動き推定方法の第6の構成は、前記第1乃至5の何れか一の構成において、第2ステップにおいて、所定の範囲Rは、前記対象ブロックCに対し第1隣接のブロックであって、かつ既に動きベクトルが決定されている4つのブロックの内の一部又は全部のブロックであることを特徴とする。
【0083】
このように、対象ブロックC周囲の局所的な動き複雑性の検出に、対象ブロックCに対し第1隣接のブロックを使用することで、対象ブロックCから離れたブロックの動きベクトルの影響を受けずに、対象ブロックCの周囲の局所的な動き複雑性を検出することができる。従って、ブロック探索方法の選択において、無駄に広域探索の方法が選択されることを防止することができる。
【0084】
本発明に係る動き推定方法の第7の構成は、前記第1乃至5の何れか一の構成において、第2ステップにおいて、代表値δは、(数15)により計算されることを特徴とする。
【0085】
【数15】

【0086】
このように、代表値δとして動きベクトルの差分絶対値和(SAD)を用いれば、代表値δの演算が、局所的な動き複雑性をよく表し、かつ簡単なアルゴリズムにより実現可能となる。
【0087】
本発明に係る動き推定方法の第8の構成は、前記第1乃至7の何れか一の構成において、前記第3ステップにおいて、前記所定の範囲Rは、前記ブロックC’に対して隣接する8つのブロックの範囲であることを特徴とする。
【0088】
このように、ブロックC’に対して隣接する8つのブロックを参照して局所的な動き複雑性を評価することで、すべての方向からの動き特性の変化を捉えることができる。従って、代表値δT−1は、動きの特性の変化を捉える敏感な特性値となる。
【0089】
本発明に係る動き推定方法の第9の構成は、前記第1乃至7の何れか一の構成において、前記第3ステップにおいて、前記代表値δT−1は、(数16)により計算されることを特徴とする。
【0090】
【数16】

【0091】
このように、最大値を利用することで、動き特性の変化に対する敏感性を高め、任意方向に起こる動き特性の変化を正確に捉えることができる。
【0092】
本発明に係る動き推定装置の第1の構成は、複数のフレームから構成される映像において、参照フレームに対する、対象フレームにおける各ブロックの動きベクトルを推定する動き推定装置であって、前記参照フレーム及び前記対象フレームの各ブロックに対する動きベクトルを記憶する動きベクトル記憶手段と、前記動きベクトル記憶手段に記憶されている動きベクトルに基づき、前記対象フレーム内のブロックであって動きベクトル推定の対象となるブロック(以下、「対象ブロック」という。)Cの動きベクトルMVの仮推定値MV”を演算する動きベクトル仮推定手段と、前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(j∈R)の動きベクトルMVと、前記仮推定値MV”との間の距離の代表値δを算出する第1の代表値演算手段と、前記対象ブロックCに対応する前記参照フレーム内のブロックC’の動きベクトルMV’と、前記ブロックC’の周囲の所定の範囲R内にある前記参照フレーム内の各ブロックC’(i∈R)の動きベクトルMV’との間の距離の代表値δT−1を算出する第2の代表値演算手段と、前記代表値δ及び前記代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、前記第1の代表値演算手段により算出された前記代表値δ及び前記代表値δT−1の値に対応するブロック探索方法を選択する探索方法選択手段と、前記探索方法選択手段により選択された探索方法に従って、前記対象ブロックCとの相関が最大である前記参照フレーム内のブロックの探索を行い、前記動きベクトルMVを決定し、前記動きベクトル記憶手段に保存する動きベクトル決定手段とを備えていることを特徴とする。
【0093】
この構成によれば、動きベクトル仮推定手段は、動きベクトル記憶手段に記憶されている動きベクトルに基づき、対象ブロックCの動きベクトルMVの仮推定値MV”を演算する。第1の代表値演算手段は、この仮推定値MV”と各動きベクトルMVとの間の距離の代表値δを算出する。第2の代表値演算手段は、動きベクトルMV’と各動きベクトルMV’との間の距離の代表値δT−1を算出する。次いで、探索方法選択手段は、代表値δ及び代表値δT−1の値に対応するブロック探索方法を選択する。そして、動きベクトル決定手段は、選択された探索方法に従って、参照フレーム内のブロックの探索を行い、動きベクトルMVを決定し、動きベクトル記憶手段に保存する。以上の動作を繰り返すことによって、対象フレーム内の各ブロックの動きベクトルが順次決定される。
【0094】
このとき、動きベクトルの探索方法は、対象ブロックCを中心とする「局所的な動き複雑性」及び対象ブロックC’を中心とする「局所的な動き複雑性」の両方に適応して選択される。これにより、ブロック探索に要する演算量を現実的な演算量に抑えつつ、動きが小さい場合において動きベクトルの推定精度を高く維持することができるとともに、動きが大きい場合に動きベクトルの予測が大きく外れることを防止することが可能となる。
【0095】
また、対象ブロックCの動きベクトルの仮推定値が真の動きを捉えていない場合においても、対象ブロックC及び対象ブロックC’の双方の周囲の「局所的な動き複雑性」を評価することで、対象ブロックCのみに着目する場合よりも、動きの存在をより敏感に捉え易くなる。そして、捉えられた動きに応じて、適応的にブロック探索方法が選択されるため、残留予測誤差をより小さくし、映像の圧縮率を改善することができる。
【0096】
本発明に係る動き推定装置の第2の構成は、前記第1の構成において、前記探索方法選択手段は、前記代表値δの値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、所定の探索領域における多段探索法を選択し、前記代表値δの値が所定の閾値Th以下の場合には、ブロック探索方法として、前記多段探索法の探索領域よりも狭い探索領域での全域探索法を選択することを特徴とする。
【0097】
本発明に係る動き推定装置の第3の構成は、前記第1又は2の構成において、前記探索方法選択手段は、前記代表値δの値が所定の閾値Thよりも大きい場合においては、ブロック探索方法として、所定の探索領域Sにおける多段探索法を選択し、前記代表値δの値が所定の閾値Th以下の場合においては、前記代表値δT−1の値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、前記多段探索法の探索領域Sと同じ又はより狭い探索領域Sでの全域探索法を選択し、前記代表値δT−1の値が所定の閾値Th以下の場合には、ブロック探索方法として、前記探索領域R1よりも狭い探索領域Sでの全域探索法を選択することを特徴とする。
【0098】
本発明に係る動き推定装置の第4の構成は、前記第1乃至3の何れか一の構成において、前記動きベクトル仮推定手段は、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(k∈R)の動きベクトルMVに基づいて前記仮推定値MV”を決定することを特徴とする。
【0099】
本発明に係る動き推定装置の第5の構成は、前記第4の構成において、前記仮推定値MV”は、(数17)により計算されることを特徴とする。
【0100】
【数17】

【0101】
本発明に係る動き推定装置の第6の構成は、前記第1乃至5の何れか一の構成において、前記所定の範囲Rは、前記対象ブロックCに上下左右及び斜め方向に隣接し、かつ既に動きベクトルが決定されている4つのブロックの内の一部又は全部のブロックであることを特徴とする。
【0102】
本発明に係る動き推定装置の第7の構成は、前記第1乃至5の何れか一の構成において、前記第1の代表値演算手段は、(数18)により代表値δを計算することを特徴とする。
【0103】
【数18】

【0104】
本発明に係る動き推定装置の第8の構成は、前記第1乃至7の何れか一の構成において、前記所定の範囲Rは、前記ブロックC’に対して上下左右及び斜め方向に隣接する8つのブロックの範囲であることを特徴とする。
【0105】
本発明に係る動き推定装置の第9の構成は、前記第1乃至7の何れか一の構成において、前記第2の代表値演算手段は、(数19)により代表値δT−1を計算することを特徴とする。
【0106】
【数19】

【0107】
本発明に係るプログラムは、コンピュータに上記第1乃至9の何れか一の構成の動きベクトル推定方法を実行させる
【発明の効果】
【0108】
以上のように、本発明によれば、局所的な動き複雑性が大きい場合には、広範囲のブロック探索に適したブロック探索方法を選択し、局所的な動き複雑性が小さい場合には狭範囲のブロック探索に適したブロック探索方法を選択することが可能となる。これにより、ブロック探索に要する演算量を現実的な演算量に抑えつつ、動きが小さい場合において動きベクトルの推定精度を高く維持することができるとともに、動きが大きい場合に動きベクトルの予測が大きく外れることを防止することが可能となる。
【0109】
また、対象ブロックCの動きベクトルの仮推定値が、真の動きを捉えるのに失敗した場合においても、対象ブロックCの周囲の「局所的な動き複雑性」を評価することで、対象ブロックCのみに着目する場合よりも、動きの存在をより敏感に捉え易くなる。すなわち、正確な動きタイプの予測が可能となり、映像内容が複雑な動きを示す場合であっても高い頑健性が得られる。そして、捉えられた動きに応じて、適応的にブロック探索方法が選択されるため、残留予測誤差をより小さくし、映像の圧縮率を改善することができる。
【発明を実施するための最良の形態】
【0110】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【実施例1】
【0111】
図3は一般の映像符号化装置1の全体構成を表す図である(非特許文献11参照)。尚、図3の映像符号化装置1は、一般に広く使用されているものであるため、ここでの説明は、その概略説明のみにとどめる。
【0112】
映像符号化装置1は、フレームメモリ2、差分器3、離散コサイン変換器(DCT)4、量子化器5、エントロピ符号器6、局所復号器7、動き推定装置8、及び動き補償器9から構成されている。
【0113】
フレームメモリ2は、撮像素子等から入力される映像フレームを一時的に記憶するメモリである。差分器3は、フレームメモリ2が出力する対象フレームfから、動き補償器9が出力する予測フレームf’を差し引いた差分画像Δfを出力する。DCT4は、差分画像Δfに対して離散コサイン変換を施す。量子化器5は、DCT4により出力されるDCT係数を量子化する。エントロピ符号器6は、量子化器5が出力する量子化されたDCT係数と動き推定装置8が出力する動きベクトルMVとをエントロピ符号化して、符号化映像のビット列として出力する。
【0114】
局所復号器7は、量子化器5が出力するDCT係数を再度もとのフレーム画像に復元する。そして、復元したフレーム画像を一時的に記憶し、対象フレームfよりも前の参照フレームfT−1”を出力する。動き推定装置8は、この参照フレームfT−1”と対象フレームfとを用いて、動きベクトルMVを推定し出力する。動き補償器9は、参照フレームfT−1”と動きベクトルMVを用いて、対象フレームfの予測値である予測フレームf’を生成し出力する。この予測フレームf’が、前記差分器3において差分画像Δfを生成する際に使用される。
【0115】
ここで、動き推定装置8において動きベクトルMVを生成するとき、及び動き補償器9において参照フレームとして、入力された映像からそのまま得られるフレームfT−1を使用せず、局所復号器7で復元されたフレームfT−1”を使用しているのは、映像復号側において復号画像に量子化誤差が蓄積することによりドリフトが生じることを防止するためである。
【0116】
尚、局所復号器7は、逆量子化器10、逆離散コサイン変換器(逆DCT)11、加算器12、フレームメモリ13から構成されている。量子化器5が出力するDCT係数は、逆量子化器10に入力され逆量子化が施された後に、逆DCT11において逆離散コサイン返還が施され、差分画像Δf”が復元される。加算器12において、この差分画像Δf”と動き補償器9が出力する予測フレームf’とが加算されて、復元された対象フレームf”がフレームメモリ13に格納される。これらの構成は、一般的な映像復号器と同様である。
【0117】
次に、本発明に係る動き推定装置8について説明する。図4は、本発明の実施例1に係る動き推定装置8の構成を表すブロック図である。
【0118】
動き推定装置8は、動きベクトル記憶手段20、動きベクトル仮推定手段21、代表値演算手段22,23、探索方法選択手段24、動きベクトル決定手段25、及び探索中心決定手段26を備えている。
【0119】
動きベクトル記憶手段20は、参照フレームfT−1”及び対象フレームfの各ブロックに対する動きベクトルMV’,MVを記憶するメモリである。
【0120】
動きベクトル仮推定手段21は、動きベクトル記憶手段20に記憶されている動きベクトルMVに基づき、対象フレームf内のブロックであって動きベクトル推定の対象となるブロック(対象ブロック)Cの動きベクトルMVの仮推定値MV”を演算する。
【0121】
代表値演算手段22は、対象ブロックCの第1隣接の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(j∈R)の動きベクトルMVと、仮推定値MV”との間の距離の代表値δを算出する。
【0122】
代表値演算手段23は、対象ブロックCに対応する参照フレームfT−1”内のブロックC’の動きベクトルMV’と、ブロックC’の第1隣接の範囲R内にある参照フレームfT−1”内の各ブロックC’(i∈R)の動きベクトルMV’との間の距離の代表値δT−1を算出する。
【0123】
探索方法選択手段24は、代表値δ及び代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、代表値演算手段22,23により算出された代表値δ及び代表値δT−1の値に対応するブロック探索方法を選択する。
【0124】
探索中心決定手段26は、動きベクトル決定手段25が探索を行う際の探索中心のオフセットを決定する。
【0125】
動きベクトル決定手段25は、探索方法選択手段24により選択された探索方法に従って、探索中心決定手段26により決定された探索中心を中心として、対象ブロックCとの相関が最大である参照フレームfT−1”内のブロックの探索を行い、動きベクトルMVを決定し、動きベクトル記憶手段20に保存する。
【0126】
探索方法選択手段24は、動きタイプ決定手段31,32、及び探索方法選択手段33を備えている。動きタイプ決定手段31は、代表値演算手段22が出力する代表値δの値を閾値判定し、対象ブロックCの近傍の局所的な動きタイプTYPEを決定する。動きタイプ決定手段32は、代表値演算手段22が出力する代表値δT−1の値を閾値判定し、対象ブロックC’の近傍の局所的な動きタイプTYPEを決定する。そして、探索方法選択手段33は、局所的な動きタイプTYPE,TYPEによって、探索方法の選択を行う。
【0127】
以上のように構成された本実施例に係る動き推定装置8について、以下その動き推定方法について説明する。動きベクトルの推定は、ラスタ走査の走査線に沿って、対象フレームの右上のブロックから左下のブロックに向かって行われるものとする。また、対象フレームの端に位置するブロックについては、全域探索法を用いて動きベクトルの推定が行われるものとする。以下では、対象フレームの端に位置するブロック以外の対象ブロックに対する動き推定動作について説明する。
【0128】
図5は本発明の実施例1に係る動き推定方法を表すフローチャートである。まず、動きベクトル仮推定手段21は、動きベクトル記憶手段20から図2に示したコンテキストTの各ブロックの動きベクトルMV,MV,MVを読み出す。そして、対象ブロックCの動きベクトルの仮推定値MV”を(数20)により算出する(S1)。
【0129】
【数20】

【0130】
次に、代表値演算手段22は、動きベクトル記憶手段20から図2に示したコンテキストTの各ブロックの動きベクトルMV,MV,MVを読み出す。そして、先に算出された動きベクトルの仮推定値MV”と動きベクトルMV,MV,MVとに基づき、対象フレームf内における対象ブロックC近傍の局所的な動き複雑性を算出する(S2)。ここでは、局所的な動き複雑性として、各ブロックC(j∈R)の動きベクトルMVと、仮推定値MV”との間の距離の代表値δを用いる。従って、代表値演算手段22は(数21)により対象ブロックC近傍の局所的な動き複雑性である代表値δを算出する。
【0131】
【数21】

【0132】
一方、代表値演算手段23は、動きベクトル記憶手段20から図2に示したコンテキストT−1の各ブロックの動きベクトルMV’〜MV’を読み出す。そして、これらの動きベクトルMV’〜MV’に基づき、参照フレームfT−1”内におけるブロックC’近傍の局所的な動き複雑性を算出する(S3)。ここでは、局所的な動き複雑性として、各ブロックC’(i∈R)の動きベクトルMV’と、ブロックC’の動きベクトルMV’との間の距離の代表値δT−1を用いる。従って、代表値演算手段23は(数22)により対象ブロックC近傍の局所的な動き複雑性である代表値δT−1を算出する。
【0133】
【数22】

【0134】
次に、探索方法選択手段24は、代表値δ及び代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、代表値演算手段22,23により算出された代表値δ及び代表値δT−1の値に対応するブロック探索方法を選択する(S4)。具体的には、まず、動きタイプ決定手段31が、代表値δに基づき、(数9)に従って動きタイプTYPEを決定する。また、動きタイプ決定手段32が、代表値δT−1に基づき、(数8)に従って動きタイプTYPET−1を決定する。探索方法選択手段33は、動きタイプTYPE,TYPET−1により、(表1)に従って対象ブロックCの動きタイプを決定する。そして、対象ブロックCの動きタイプに基づき、(表2)に従って探索方法の選択を行う。このようにして、局所的な動き複雑性に従って、ブロックマッチングにおける探索戦略が適応的に決定される。
【0135】
次に、探索中心決定手段26は、動きベクトル決定手段25が探索を行う際の探索中心のオフセットVを、(数10)〜(数12)に従って決定する(S5)。
【0136】
次に、動きベクトル決定手段25は、探索方法選択手段24により選択された探索方法に従って、対象ブロックCとの相関が最大である参照フレームfT−1”内のブロックの探索を行う(S6)。このとき、ブロック探索は、ブロックC”の位置から、ステップS5において決定されたオフセットVだけ平行移動した位置を中心として行われる。これにより、対象ブロックCの動きベクトルMVが決定される。
【0137】
最後に、動きベクトル決定手段25は、動きベクトルMVを動きベクトル記憶手段20に保存して(S7)、対象ブロックCの動きベクトル推定動作を終了する。
【0138】
このような動きベクトル推定動作を、ラスタ走査の走査線に沿って、対象ブロックCを移動させながら順次行うことにより、対象フレームfの動きベクトル推定を行うことができる。
【0139】
尚、本実施例の動き推定装置は、映像の性質により適応的に探索戦略を変更できるため、映像内容が複雑な動きを示す場合であっても高い頑健性を得ることができるとともに、ハードウェア実装することもソフトウェア実装することも可能である。また、コンピュータ・プログラムとして構成し、汎用コンピュータによって実現することも可能である。
【図面の簡単な説明】
【0140】
【図1】テスト映像(CIF)から得られたフレーム内の動きベクトルマップを表す図である。
【図2】ブロックマッチングを行うために使用されるコンテキストの一例である。
【図3】一般の映像符号化装置の全体構成を表す図である。
【図4】本発明の実施例1に係る動き推定装置8の構成を表すブロック図である。
【図5】本発明の実施例1に係る動き推定方法を表すフローチャートである。
【符号の説明】
【0141】
1 映像符号化装置
2 フレームメモリ
3 差分器
4 離散コサイン変換器(DCT)
5 量子化器
6 エントロピ符号器
7 局所復号器
8 動き推定装置
9 動き補償器
10 逆量子化器
11 逆離散コサイン変換器(逆DCT)
12 加算器
13 フレームメモリ
20 動きベクトル記憶手段
21 動きベクトル仮推定手段
22,23 代表値演算手段
24 探索方法選択手段
25 動きベクトル決定手段
26 探索中心決定手段
31,32 動きタイプ決定手段
33 探索方法選択手段


【特許請求の範囲】
【請求項1】
複数のフレームから構成される動画像において、参照フレームに対する対象フレーム内の各ブロックの動きベクトルを推定する動き推定方法であって、前記対象フレーム内における動きベクトル推定の対象となるブロック(以下、「対象ブロック」という。)Cとの相関が最大である前記参照フレーム内のブロックの探索を、以下の各ステップを有する選択手順で選択されたブロック探索方法に従って行うことにより、前記対象ブロックCの動きベクトルMVを決定することを特徴とする動き推定方法:
前記参照フレーム又は前記対象フレームの各ブロックの動きベクトルであって既に決定されているものに基づき、前記対象ブロックCの動きベクトルMVの仮推定値MV”を決定する第1ステップ;
前記仮推定値MV”と、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(j∈R)の動きベクトルMVとの間の距離の代表値δを算出する第2ステップ;
前記対象ブロックCに対応する前記参照フレーム内のブロックC’の動きベクトルMV’と、前記ブロックC’の周囲の所定の範囲R内にある前記参照フレーム内の各ブロックC’(i∈R)の動きベクトルMV’との間の距離の代表値δT−1を算出する第3ステップ;
前記代表値δ及び前記代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、前記第2ステップ及び前記第3ステップで算出された前記代表値δ及び前記代表値δT−1の値に対応するブロック探索方法を選択する第4ステップ。
【請求項2】
前記第4ステップにおいて、
前記代表値δの値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、所定の探索領域における多段探索法を選択し、
前記代表値δの値が所定の閾値Th以下の場合には、ブロック探索方法として、前記多段探索法の探索領域よりも狭い探索領域での全域探索法を選択すること
を特徴とする請求項1記載の動き推定方法。
【請求項3】
前記第4ステップにおいて、
前記代表値δの値が所定の閾値Thよりも大きい場合においては、ブロック探索方法として、所定の探索領域Sにおける多段探索法を選択し、
前記代表値δの値が所定の閾値Th以下の場合においては、
前記代表値δT−1の値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、前記多段探索法の探索領域Sと同じ又はより狭い探索領域Sでの全域探索法を選択し、
前記代表値δT−1の値が所定の閾値Th以下の場合には、ブロック探索方法として、前記探索領域R1よりも狭い探索領域Sでの全域探索法を選択すること
を特徴とする請求項1又は2記載の動き推定方法。
【請求項4】
前記第1ステップにおいて、前記仮推定値MV”は、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(k∈R)の動きベクトルMVに基づいて決定されることを特徴とする請求項1乃至3の何れか一記載の動き推定方法。
【請求項5】
前記仮推定値MV”は、(数1)により計算されることを特徴とする請求項4記載の動き推定方法。
【数1】

【請求項6】
第2ステップにおいて、所定の範囲Rは、前記対象ブロックCに対し第1隣接のブロックであって、かつ既に動きベクトルが決定されている4つのブロックの内の一部又は全部のブロックであること
を特徴とする請求項1乃至5の何れか一記載の動き推定方法。
【請求項7】
第2ステップにおいて、代表値δは、(数2)により計算されることを特徴とする請求項1乃至5の何れか一記載の動き推定方法。
【数2】

【請求項8】
前記第3ステップにおいて、前記所定の範囲Rは、前記ブロックC’に対して隣接する8つのブロックの範囲であることを特徴とする請求項1乃至7の何れか一記載の動き推定方法。
【請求項9】
前記第3ステップにおいて、前記代表値δT−1は、(数3)により計算されることを特徴とする請求項1乃至7の何れか一記載の動き推定方法。
【数3】

【請求項10】
複数のフレームから構成される動画像において、参照フレームに対する、対象フレームにおける各ブロックの動きベクトルを推定する動き推定装置であって、
前記参照フレーム及び前記対象フレームの各ブロックに対する動きベクトルを記憶する動きベクトル記憶手段と、
前記動きベクトル記憶手段に記憶されている動きベクトルに基づき、前記対象フレーム内のブロックであって動きベクトル推定の対象となるブロック(以下、「対象ブロック」という。)Cの動きベクトルMVの仮推定値MV”を演算する動きベクトル仮推定手段と、
前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(j∈R)の動きベクトルMVと、前記仮推定値MV”との間の距離の代表値δを算出する第1の代表値演算手段と、
前記対象ブロックCに対応する前記参照フレーム内のブロックC’の動きベクトルMV’と、前記ブロックC’の周囲の所定の範囲R内にある前記参照フレーム内の各ブロックC’(i∈R)の動きベクトルMV’との間の距離の代表値δT−1を算出する第2の代表値演算手段と、
前記代表値δ及び前記代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、前記第1及び前記第2の代表値演算手段により算出された前記代表値δ及び前記代表値δT−1の値に対応するブロック探索方法を選択する探索方法選択手段と、
前記探索方法選択手段により選択された探索方法に従って、前記対象ブロックCとの相関が最大である前記参照フレーム内のブロックの探索を行い、前記動きベクトルMVを決定し、前記動きベクトル記憶手段に保存する動きベクトル決定手段と、
を備えていることを特徴とする動き推定装置。
【請求項11】
前記探索方法選択手段は、
前記代表値δの値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、所定の探索領域における多段探索法を選択し、
前記代表値δの値が所定の閾値Th以下の場合には、ブロック探索方法として、前記多段探索法の探索領域よりも狭い探索領域での全域探索法を選択すること
を特徴とする請求項10記載の動き推定装置。
【請求項12】
前記探索方法選択手段は、
前記代表値δの値が所定の閾値Thよりも大きい場合においては、ブロック探索方法として、所定の探索領域Sにおける多段探索法を選択し、
前記代表値δの値が所定の閾値Th以下の場合においては、
前記代表値δT−1の値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、前記多段探索法の探索領域Sと同じ又はより狭い探索領域Sでの全域探索法を選択し、
前記代表値δT−1の値が所定の閾値Th以下の場合には、ブロック探索方法として、前記探索領域R1よりも狭い探索領域Sでの全域探索法を選択すること
を特徴とする請求項10又は11記載の動き推定装置。
【請求項13】
前記動きベクトル仮推定手段は、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(k∈R)の動きベクトルMVに基づいて前記仮推定値MV”を決定することを特徴とする請求項10乃至12の何れか一記載の動き推定装置。
【請求項14】
前記仮推定値MV”は、(数4)により計算されることを特徴とする請求項13記載の動き推定装置。
【数4】

【請求項15】
前記所定の範囲Rは、前記対象ブロックCに上下左右及び斜め方向に隣接し、かつ既に動きベクトルが決定されている4つのブロックの内の一部又は全部のブロックであること
を特徴とする請求項10乃至14の何れか一記載の動き推定装置。
【請求項16】
前記第1の代表値演算手段は、(数5)により代表値δを計算することを特徴とする請求項10乃至14の何れか一記載の動き推定装置。
【数5】

【請求項17】
前記所定の範囲Rは、前記ブロックC’に対して上下左右及び斜め方向に隣接する8つのブロックの範囲であることを特徴とする請求項10乃至16の何れか一記載の動き推定装置。
【請求項18】
前記第2の代表値演算手段は、(数6)により代表値δT−1を計算することを特徴とする請求項10乃至16の何れか一記載の動き推定方法。
【数6】

【請求項19】
コンピュータに請求項1乃至9の何れか一記載の方法を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2006−33433(P2006−33433A)
【公開日】平成18年2月2日(2006.2.2)
【国際特許分類】
【出願番号】特願2004−209614(P2004−209614)
【出願日】平成16年7月16日(2004.7.16)
【出願人】(802000031)財団法人北九州産業学術推進機構 (187)
【出願人】(899000068)学校法人早稲田大学 (602)
【Fターム(参考)】