(57)【要約】【課題】動きベクトル検出装置が動き探索を行う際に、画像中のノイズ等の擾乱の影響を受けにくくし、演算量が少なくし、かつ、物体の境界に位置するマクロブロックでも動きベクトルを適切に検出できるようにする。【解決手段】近傍探索器８が、ゼロベクトルの近傍と動きベクトル予測値の近傍とを予め動き探索し、動きベクトルを検出できなかったブロックを示す情報を一次探索器６に出力する。一次探索器６は、マクロブロック単位で動き探索を行い、近傍探索器８が動きベクトルを検出できなかったブロックの画素値に基づいて動きベクトルを評価する。【選択図】図１
2011130264.tif 000002
【特許請求の範囲】
【請求項１】
入力動画像のマクロブロックを分割したブロック毎に、参照画像上で前記ブロックに対応する領域の位置を示す動きベクトルを検出する動きベクトル検出装置であって、
前記ブロック毎に、前記参照画像上での当該ブロックの位置を示すゼロベクトルの周辺と、前記ブロックに隣接するブロックの動きベクトルに基づいて定まる動きベクトル予測値の周辺との動きベクトルの候補の各々について、前記ブロックの画素と前記参照画像の画素との差分に基づいて動きベクトル評価値を算出し、所定の閾値以下の動きベクトル評価値の有無を判定する事前近傍探索器と、
前記マクロブロックに対する一次動きベクトルを、前記事前近傍探索器が所定の閾値以下の動きベクトル評価値無しと判定した各ブロックの画素と前記参照画像の画素との差分に基づく動き探索によって検出する一次探索器と、
前記事前近傍探索器が所定の閾値以下の動きベクトル評価値無しと判定したブロックの各々については、前記一次動きベクトルの周辺の動き探索を行って動きベクトルを検出し、前記事前近傍探索器が所定の閾値以下の動きベクトル評価値有りと判定したブロックの各々については、前記動きベクトル評価値が所定の閾値以下の動きベクトルの候補を当該ブロックの動きベクトルとする二次探索器と、
を具備することを特徴とする動きベクトル検出装置。
【請求項２】
入力動画像のマクロブロックを分割したブロック毎に、参照画像上で前記ブロックに対応する領域の位置を示す動きベクトルを検出する動きベクトル検出装置の動きベクトル検出方法であって、
前記ブロック毎に、前記参照画像上での当該ブロックの位置を示すゼロベクトルの周辺と、前記ブロックに隣接するブロックの動きベクトルに基づいて定まる動きベクトル予測値の周辺との、動きベクトルの候補の各々について、前記ブロックの画素と前記参照画像の画素との差分に基づいて動きベクトル評価値を算出し、所定の閾値以下の動きベクトル評価値の有無を判定する事前近傍探索ステップと、
前記マクロブロックに対する一次動きベクトルを、前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値無しと判定した各ブロックの画素と前記参照画像の画素との差分に基づく動き探索によって検出する一次探索ステップと、
前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値無しと判定したブロックの各々については、前記一次動きベクトルの周辺の動き探索を行って動きベクトルを検出し、前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値有りと判定したブロックの各々については、前記動きベクトル評価値が前記所定の閾値以下の前記動きベクトルの候補を当該ブロックの動きベクトルとする二次探索ステップと、
を具備することを特徴とする動きベクトル検出方法。
【請求項３】
コンピュータに、入力動画像のマクロブロックを分割したブロック毎に、参照画像上で前記ブロックに対応する領域の位置を示す動きベクトルを出力させるためのプログラムであって、
前記ブロック毎に、前記参照画像上での当該ブロックの位置を示すゼロベクトルの周辺と、前記ブロックに隣接するブロックの動きベクトルに基づいて定まる動きベクトル予測値の周辺との、動きベクトルの候補の各々について、前記ブロックの画素と前記参照画像の画素との差分に基づいて動きベクトル評価値を算出し、所定の閾値以下の動きベクトル評価値の有無を判定する事前近傍探索ステップと、
前記マクロブロックに対する一次動きベクトルを、前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値無しと判定した各ブロックの画素と前記参照画像の画素との差分に基づく動き探索によって検出する一次探索ステップと、
前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値無しと判定したブロックの各々については、前記一次動きベクトルの周辺の動き探索を行って動きベクトルを検出し、前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値有りと判定したブロックの各々については、前記動きベクトル評価値が前記所定の閾値以下の前記動きベクトルの候補を当該ブロックの動きベクトルとする二次探索ステップと、
を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル検出装置、動きベクトル検出方法およびプログラムに関する。
【背景技術】
【０００２】
動画像を圧縮符号化する動画像符号化方式として、ＭＰＥＧ（Moving Picture Experts Group）符号化方式や、Ｈ．２６４／ＡＶＣ符号化方式などが知られている。ＭＰＥＧ符号化方式として、ディジタル放送やＤＶＤなどの高画質用途にはＭＰＥＧ−２符号化方式が用いられ、携帯テレビ電話などの低ビットレート用途にはＭＰＥＧ−４符号化方式が広く用いられている。また、Ｈ．２６４／ＡＶＣ符号化方式は、ＩＴＵ−Ｔ（The International Telecommunication Union Telecommunication Standardization Sector）とＭＰＥＧとが共同で標準化を行った符号化方式であり、高画質と高圧縮率とを両立する新たな方式として注目を集めている。
【０００３】
これらの動画像符号化方式では、一般に、動き予測（インター予測）を行って符号量の削減を図っている。動き予測は、ある一枚の画像（フレーム（Frame））を分割した一部分であるマクロブロック（Macroblock；ＭＢ）を符号化する際に、時間的に過去ないし未来に位置する画像（参照画像）の中から、符号化対象のマクロブロック、あるいは、このマクロブロックをさらに分割したブロックと画像が類似する領域を探索し、探索によって検出した領域の画像と符号化対象の画像との差分を取って符号化を行う技術であり、時間的に連続して存在する被写体を示す符号量を大きく削減することができる。この、符号化対象のマクロブロックまたはブロックと画像が類似する領域を探索する作業を、動き探索と呼ぶ。
ＭＰＥＧ方式や、Ｈ．２６４／ＡＶＣ方式では、符号化対象の画像は、Ｉピクチャ（Intra-coded Picture）とＰピクチャ（Predicated Picture）とＢピクチャ（Bi-directed Picture）との３種類に分類される。Ｉピクチャは、動き予測を行わない画像であり、ＰピクチャやＢピクチャで参照される。Ｐピクチャは、時間的に過去に位置するＩピクチャまたはＰピクチャを用いて、１方向の動き予測を行う画像である。Ｂピクチャは、時間的に過去に位置するＩピクチャまたはＰピクチャ、および、未来に位置するＩピクチャまたはＰピクチャを用いて、双方向の動き予測を行う画像である。
【０００４】
図７は、ＭＰＥＧ−２やＨ．２６４／ＡＶＣの動き予測において参照する画像の例を示す図である。
ＭＰＥＧ−２の動き予測では、ＰピクチャやＢピクチャで参照する画像は、直前や直後に位置する画像に一意に定まる。Ｐピクチャの動き予測で参照する画像は、直前のＩピクチャまたはＰピクチャである。図７（ａ）の例では、時間順に５枚の画像Ｐ７１５〜Ｐ７１１が示されており、Ｐ７１５とＰ７１３とＰ７１１とがＰピクチャであり、Ｐ７１４とＰ７１２とがＢピクチャである。このうち、ＰピクチャＰ７１１の動き予測を行う際に、直前のＰピクチャＰ７１３を参照している。また、Ｂピクチャの動き予測で参照する画像は、直前のＩピクチャまたはＰピクチャ、および、直後のＩピクチャまたはＰピクチャである。図７（ａ）の例では、ＢピクチャＰ７１２の動き予測を行う際に、直前のＰピクチャＰ７１３と直後のＰピクチャＰ７１１とを参照している。
【０００５】
これに対し、Ｈ．２６４／ＡＶＣ符号化方式では、符号化効率を高めるため、動き予測に使用する参照画像を、多数の候補の中から選択することができる。
図７（ｂ）の例では、時間順に５枚の画像Ｐ７２５〜Ｐ７２１が示されており、Ｐ７２５とＰ７２３とＰ７２１とがＰピクチャであり、Ｐ７２４とＰ７２２とがＢピクチャである。このうち、ＰピクチャＰ２５の動き予測を行う際に、時間的に前方向のＩピクチャおよびＰピクチャ（かつ参照画像メモリから削除されていないもの）から、参照画像としてＰピクチャＰ７２５およびＰ７２３を選択している。また、図７（ｂ）の例では、ＢピクチャＰ２４の動き予測を行う際に、時間的に前方向のＰピクチャＰ７２５およびＰ７２３と、時間的に後方向のＰピクチャＰ７２１とを選択している。
【０００６】
図８は、Ｈ．２６４／ＡＶＣ符号化方式で、動き予測を行う単位となるブロックのサイズを示す図である。
ＭＰＥＧ−２符号化方式では、動き予測を行う単位は、横１６×縦１６画素のマクロブロック単位（、あるいは、符号化モードによっては横１６×縦８画素のブロック単位）に限定されている。これに対して、Ｈ．２６４／ＡＶＣ符号化方式では、図８に示す横１６×縦１６画素ブロックＢ８１１、横１６×縦８画素ブロックＢ８２１およびＢ８２２、横８×縦１６画素ブロックＢ８３１およびＢ８３２、横８×縦８画素ブロックＢ８４１〜Ｂ８４４、さらには横８×縦８画素ブロックの各々をさらに分割した横８×縦４画素のサブブロックＢ８５１およびＢ８５２、横４×縦８画素のサブブロックＢ８６１およびＢ８６２、横４×縦４画素のサブブロックＢ８７１〜Ｂ８７４の中から、いずれかの分割方法を選択する。そして、ブロック毎あるいはサブブロック毎に、符号化対象の画像のブロックまたはサブブロックに類似する参照画像上の領域を探索する動き探索を行って、この領域を示す動きベクトル（符号化対象の画像のブロックまたはサブブロックからの相対座標）を算出し、ブロック毎あるいはサブブロック毎に動き予測を行うことができる。もっとも、リアルタイム処理を要求される符号化器においては、処理の煩雑さを避けるため、横８×縦８画素以上のブロックサイズを選択して動き予測を行うことが多い。
【０００７】
Ｈ.２６４／ＡＶＣ符号化方式のように、参照画像および符号化対象ブロックサイズを多くの候補から選択できる場合、符号化効率を向上させるために、理想的にはすべての参照画像とブロックサイズとを候補として動き探索を行い、最適な参照画像およびブロックサイズを決定することが望ましい。しかし、全ての参照画像とブロックサイズとについて動き探索を行うと、演算量が膨大になってしまう。そこで、一般的な符号化器では、２段階で動き探索を行うことにより、演算量を削減する。この場合、まず、限定したブロックサイズについて、複数の参照画像に対する広範囲な動き探索を行う一次探索により、参照画像とブロックサイズとの候補を絞り込む。そして、一次探索の結果に基づいて、その他のブロックサイズも含めた詳細な動き探索である二次探索を、一次探索の結果得られたベクトルの近傍に限定して行い、最終的な参照画像やブロックサイズを決定する。
【０００８】
また、一次探索において、参照画像上から、符号化対象の部分と、より類似性の高い部分を検出するためには、参照画像上の広い範囲を動き探索する必要があり、演算量が非常に大きくなる。そこで、一般的な符号化器では、符号化対象の画像および参照画像を縮小して一次探索を行う。例えば、符号化対象の画像および参照画像を、縦横共に２分の１に縮小することにより、比較する画素数を４分の１に減らすことができ、より少ない演算量で広い範囲を動き探索することができる。
さらに、特許文献１の段落００２８〜００３２では、テレスコピック探索法と呼ばれる動き探索方法が示されている。テレスコピック探索法では、比較的小さな範囲の探索の繰り返しによって、参照画像上での物体の大きな動きに追従することができる。
【０００９】
図９は、テレスコピック探索の例を示す図である。
同図において、符号化対象画像Ｐ９１と参照画像Ｐ９４とは、非参照画像Ｐ９２およびＰ９３を挟み、時間方向に３画像ぶん離れている。テレスコピック探索では、符号化対象画像Ｐ９１の符号化対象ブロックが参照する、参照画像Ｐ９４中の部分を決定する際に、参照画像Ｐ９４を直接動き探索するのではなく、まず時間的に隣接する非参照画像Ｐ９２に、符号化対象ブロックの座標に応じた探索範囲を設定し、動き探索を行う。動き探索により、探索結果Ｒ９２として、符号化対象ブロックＢ９１に類似する領域を示す相対座標（動きベクトル）が得られたら、この探索結果Ｒ９２が示す座標を中心として、非参照画像Ｐ９３に探索範囲を設定し、動き探索を行う。探索結果Ｒ９３が得られたら、この探索結果Ｒ９３が示す座標を中心として、参照画像Ｐ９４に探索範囲を設定し、動き探索を行う。そして、この動き探索によって得られる探索結果Ｒ９４を、最終的な動き探索結果とする。
このように、時間的に隣接する画像で順に動き探索を行うことにより、符号化対象ブロックの被写体の動きを追うことができる。これにより、各回の動き探索の対象領域は比較的狭い範囲としつつ、最終的な参照画像Ｐ９４に対しては、広い範囲を動き探索の対象領域とすることができる。
【００１０】
Ｈ．２６４／ＡＶＣ符号化方式のように、小さなブロックサイズを使用した動き予測が可能な場合、画面中の物体の動きを細かく追うためには、なるべく小さなブロックサイズで一次探索を行うことが望ましい。例えば、横８×縦８画素のブロックサイズと横１６×縦１６画素のブロックサイズとの何れかで一次探索を行う符号化器においては、８×８画素のブロックサイズで一次探索を行うほうが、横１６×縦１６画素で一次探索を行うよりも、より詳細な動き探索を行うことができる。具体的には、符号化対象の画像に物体と背景との境界が含まれる場合に、小さなブロックサイズを用いることにより、物体のブロックと背景のブロックとを区別し、それぞれの動きを細かく追うことができる。
しかしながら、横８×縦８画素のブロックサイズの一次探索を、縦横２分の１に縮小した画像で行う場合、動き探索に使用する画像が横４×縦４画素＝１６画素という小さなサイズとなるため、画像中のノイズ等による擾乱の影響を受けて、物体の動きを正確に追うことが困難になる場合がある。例えばテレスコピック探索を使用する場合、動体の追跡に一度失敗すると、探索の中心点がずれ、以降の探索も失敗する確率が高い。また、１マクロブロックあたり４つのブロックそれぞれについて、テレスコピック探索を独立して行うと、演算量も大きくなる。
【００１１】
そこで、一次探索において、マクロブロック単位で動き探索を行う方法が考えられる。例えば、縦横２分の１に縮小した画像上で、横８×縦８画素＝６４画素のテレスコピック探索を行う。これにより、ノイズによる擾乱を防ぐことができ、また、演算量を削減することができる。
この場合、１つのマクロブロックに対して１つの動きベクトルが得られるのみとなる。そこで、横１６×縦８画素または横８×縦１６画素または横８×縦８画素のブロックなどの動き予測に対応するためには、二次探索において一次探索結果の動きベクトルの近傍を横８×縦８画素ブロック単位で探索することや、二次探索においてゼロベクトルの近傍や動きベクトル予測値（予測動きベクトル、Predicted Motion Vector；ＰＭＶ）の近傍を横８×縦８画素ブロック単位で探索することができる。
【００１２】
ここでいう「ゼロベクトル」は、原点を示すベクトルである。ゼロベクトルは、参照画像上での符号化対象のブロックの位置を、符号化対象のブロックの位置からの相対座標で示している。ゼロベクトル近傍の探索は、静止している背景等の検出に有効である。
また、「動きベクトル予測値」は、符号化対象のブロックの上または右上または左上または左に隣接する、既に動きベクトルを検出済みの各ブロックの動きベクトルから、Ｈ．２６４／ＡＶＣ等の符号化標準で定められた手順に基づいて算出されるベクトルである。例えば、図８で説明した横１６×縦８画素ブロックＢ８２１およびＢ８２２の場合、上側のブロックＢ８２１では、このブロックＢ８２１に上隣接するブロックの動きベクトルから動きベクトル予測値を算出する。また、下側のブロックＢ８２２では、このブロックＢ８２２に左隣接するブロックの動きベクトルから動きベクトル予測値を算出する。
動きベクトル予測値は、周辺のブロックの動きを代表したベクトル値であり、符号化対象のブロックの画像が、周辺のブロックの画像と同様の動きを示している場合は、この符号化対象のブロックの動きベクトルが動きベクトル予測値とほぼ同じ値となることが期待される。例えば、Ｈ．２６４／ＡＶＣの符号化標準に従って動きベクトルを符号化する場合、動きベクトルと動きベクトル予測値との差分をとって符号化を行う。このため、動きベクトルの値が動きベクトル予測値に近いほど、動きベクトルを表現するための符号量が少なくて済む。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０００−２４２５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
一次探索をマクロブロック単位で探索する場合、動体と背景など、物体の境界に位置するマクロブロックでは、動体を正確に追うことができない場合がある。
図１０は、動体と背景の境界に位置するマクロブロックの例を示す図である。
同図のマクロブロックＢ１０１は、横１６×縦１６画素の領域全体が「移動している自動車」の画像であり、マクロブロック単位の動き探索で画像の動きを追うことができる。
これに対して、マクロブロックＢ１０２は、上半分の横１６×縦８画素の領域が「背景」の画像であり、下半分の横１６×縦８画素の領域が「移動している自動車」の画像である。このため、マクロブロック単位の探索では、背景領域に影響を受け、移動している車の動きベクトルを適切に検出できない場合がある。
【００１５】
マクロブロックＢ１０２の上半分の「背景」部分については、例えば二次探索においてゼロベクトル近傍を横８×縦８画素ブロック単位で探索することによって、動きベクトルを得ることが期待できる。あるいは、背景が移動（パン）している場合でも、前述の動きベクトル予測値が、周辺の背景の動きを反映している。そこで、動きベクトル予測値の近傍を探索することにより、背景部分をある程度正確に動き予測することができる。
しかし、背景の影響を受けて正確に探索ができなかったマクロブロックＢ１０２の下半分の動体領域については、二次探索を行う元の座標が得られず、二次探索によって対処することはできない。その結果、例えば、符号化対象のマクロブロックと類似性の低い画像との差分を取って動き予測を行う、あるいは、Ｉピクチャと同様に動き予測を使用しないイントラ予測を行うなど、符号量の増大や復号画像の画質低下の原因となる。
【００１６】
本発明は、このような事情を考慮してなされたものであり、その目的は、画像中のノイズ等の擾乱の影響を受けにくく、演算量が少なく、かつ、物体の境界に位置するマクロブロックでも動きベクトルを適切に検出できる動きベクトル検出装置、動きベクトル検出方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１７】
［１］この発明は上述した課題を解決するためになされたもので、本発明の一態様による動きベクトル検出装置は、入力動画像のマクロブロックを分割したブロック毎に、参照画像上で前記ブロックに対応する領域の位置を示す動きベクトルを検出する動きベクトル検出装置であって、前記ブロック毎に、前記参照画像上での当該ブロックの位置を示すゼロベクトルの周辺と、前記ブロックに隣接するブロックの動きベクトルに基づいて定まる動きベクトル予測値の周辺との動きベクトルの候補の各々について、前記ブロックの画素と前記参照画像の画素との差分に基づいて動きベクトル評価値を算出し、所定の閾値以下の動きベクトル評価値の有無を判定する事前近傍探索器と、前記マクロブロックに対する一次動きベクトルを、前記事前近傍探索器が所定の閾値以下の動きベクトル評価値無しと判定した各ブロックの画素と前記参照画像の画素との差分に基づく動き探索によって検出する一次探索器と、前記事前近傍探索器が所定の閾値以下の動きベクトル評価値無しと判定したブロックの各々については、前記一次動きベクトルの周辺の動き探索を行って動きベクトルを検出し、前記事前近傍探索器が所定の閾値以下の動きベクトル評価値有りと判定したブロックの各々については、前記動きベクトル評価値が所定の閾値以下の動きベクトルの候補を当該ブロックの動きベクトルとする二次探索器と、を具備することを特徴とする。
ここでいう「一次動きベクトル」とは、近傍探索（二次探索）に先立って行う動き探索である一次探索によって得られる動きベクトルであり、二次探索の中心を示す。
【００１８】
［２］また、本発明の一形態による動きベクトル検出方法は、入力動画像のマクロブロックを分割したブロック毎に、参照画像上で前記ブロックに対応する領域の位置を示す動きベクトルを検出する動きベクトル検出装置の動きベクトル検出方法であって、前記ブロック毎に、前記参照画像上での当該ブロックの位置を示すゼロベクトルの周辺と、前記ブロックに隣接するブロックの動きベクトルに基づいて定まる動きベクトル予測値の周辺との、動きベクトルの候補の各々について、前記ブロックの画素と前記参照画像の画素との差分に基づいて動きベクトル評価値を算出し、所定の閾値以下の動きベクトル評価値の有無を判定する事前近傍探索ステップと、前記マクロブロックに対する一次動きベクトルを、前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値無しと判定した各ブロックの画素と前記参照画像の画素との差分に基づく動き探索によって検出する一次探索ステップと、前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値無しと判定したブロックの各々については、前記一次動きベクトルの周辺の動き探索を行って動きベクトルを検出し、前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値有りと判定したブロックの各々については、前記動きベクトル評価値が前記所定の閾値以下の前記動きベクトルの候補を当該ブロックの動きベクトルとする二次探索ステップと、を具備することを特徴とする。
【００１９】
［３］また、本発明の一形態によるプログラムは、コンピュータに、入力動画像のマクロブロックを分割したブロック毎に、参照画像上で前記ブロックに対応する領域の位置を示す動きベクトルを検出させるためのプログラムであって、前記ブロック毎に、前記参照画像上での当該ブロックの位置を示すゼロベクトルの周辺と、前記ブロックに隣接するブロックの動きベクトルに基づいて定まる動きベクトル予測値の周辺との、動きベクトルの候補の各々について、前記ブロックの画素と前記参照画像の画素との差分に基づいて動きベクトル評価値を算出し、所定の閾値以下の動きベクトル評価値の有無を判定する事前近傍探索ステップと、前記マクロブロックに対する一次動きベクトルを、前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値無しと判定した各ブロックの画素と前記参照画像の画素との差分に基づく動き探索によって検出する一次探索ステップと、前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値無しと判定したブロックの各々については、前記一次動きベクトルの周辺の動き探索を行って動きベクトルを検出し、前記事前近傍探索ステップにて所定の閾値以下の動きベクトル評価値有りと判定したブロックの各々については、前記動きベクトル評価値が前記所定の閾値以下の前記動きベクトルの候補を当該ブロックの動きベクトルとする二次探索ステップと、を前記コンピュータに実行させるためのプログラムである。
【発明の効果】
【００２０】
この発明によれば、画像中のノイズ等の擾乱の影響を受けにくく、演算量が少なく、かつ、物体の境界に位置するマクロブロックでも動きベクトルを適切に検出できる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態における動きベクトル検出装置の概略構成を示す構成図である。
【図２】同実施形態における一次探索器６の概略構成を示す構成図である。
【図３】同実施形態において近傍探索器８が事前近傍探索の対象とする位置および各ブロックの動きベクトルに対する評価の例を示す図である。
【図４】同実施形態において一次探索器６が行う、動きベクトルに対する評価の例を示す図である。
【図５】同実施形態において一次探索器６がテレスコピック探索を行う例を示す図である。
【図６】同実施形態において動きベクトル検出装置１００が、符号化対象のマクロブロックＣ１２１に対する動きベクトルを検出する処理手順を示すフローチャートである。
【図７】ＭＰＥＧ−２やＨ．２６４／ＡＶＣの動き予測において参照する画像の例を示す図である。
【図８】Ｈ．２６４／ＡＶＣ符号化方式で、動き予測を行う単位となるブロックのサイズを示す図である。
【図９】テレスコピック探索の例を示す図である。
【図１０】動体と背景の境界に位置するマクロブロックの例を示す図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して、本発明の一実施形態について説明する。
図１は、本発明の一実施形態における動きベクトル検出装置の概略構成を示す構成図である。
同図において、動きベクトル検出装置１００は、画像メモリ１と、探索範囲切り出し器２と、画像縮小器３および１２と、縮小画像キャッシュメモリ４と、画像キャッシュメモリ５と、一次探索器６と、探索中心指示器７と、近傍探索器（事前近傍探索器、二次探索器）８とを具備する。
画像縮小器１２は、入力動画像をマクロブロック単位に分割した、符号化対象のマクロブロック画像Ｃ１２１の入力を受け、この符号化対象のマクロブロック画像Ｃ１２１を縦横共に２分の１の画素数に縮小し、縮小した画像Ｃ１２２を一次探索器６に出力する。
【００２３】
画像メモリ１は、ローカル復号画像Ｃ１１の入力を受け、このローカル復号画像Ｃ１１を蓄積する。画像メモリ１が記憶するローカル復号画像は、動き探索のために使用する参照画像を切り出す元の画像となる。なお、ここでいう「ローカル復号画像」とは、動きベクトル検出装置１００を含む動画像符号化装置が、入力画像を符号化し、さらに復号した画像である。ローカル復号画像は、動画像復号装置も生成する画像であり、このローカル復号画像を用いて動き探索を行うことにより、符号化および復号による画像誤差を抑制することができる。なお、画像メモリ１が、ローカル復号画像に代えて入力画像を蓄積するようにしてもよい。入力画像を用いて動き探索を行うと、ローカル復号画像の生成や転送を待つことなく動き探索を行うことができるため、動画像符号化装置の構成の自由度が増す。
【００２４】
探索範囲切り出し器２は、画像メモリ１が蓄積する画像Ｃ１２を読み出し、一次探索器６と近傍探索器８とが動き探索の対象とする範囲として符号化対象のマクロブロックを中心に設定される範囲の画像を切り出して、画像縮小器３と画像キャッシュメモリ５とに出力する。例えば、符号化対象のマクロブロックが画像Ｃ１２の左上に位置する場合、一次探索器６と近傍探索器８とが動き探索の対象とする範囲は、この符号化対象のマクロブロックを中心として画像Ｃ１２の左上に設定され、探索範囲切り出し器２は、この範囲の画像を切り出して、画像縮小器３と画像キャッシュメモリ５とに出力する。
画像縮小器３は、探索範囲切り出し器２から出力される画像Ｃ２１を、縦横共に２分の１の画素数に縮小して縮小画像Ｃ３１を生成し、縮小画像キャッシュメモリ４に出力する。縮小画像キャッシュメモリ４は、一次探索器６が行う一次探索用の参照画像として、画像縮小器３が出力する縮小画像Ｃ３１を記憶する。一方、画像キャッシュメモリ５は、近傍探索器８が行う二次探索用の参照画像として、探索範囲切り出し器２から出力される画像Ｃ２１を記憶する。
探索中心指示器７は、ゼロベクトルおよび動きベクトル予測値Ｃ７１を、近傍探索器８に出力する。前述したように、ゼロベクトルは、参照画像上での符号化対象のブロックの位置を示す。また、動きベクトル予測値は、周辺のブロックの動きを代表したベクトル値であり、符号化標準で規定される方法に基づいて計算される。なお、符号化対象のブロックの左に位置するマクロブロックの符号化モードが確定していない場合など、正確な動きベクトル予測値を得ることができない場合には、探索中心指示器７が、仮の動きベクトル予測値を生成して近傍探索器８に出力するようにしてもよい。ここでいう「仮の動きベクトル予測値」とは、動きベクトル予測値に近い値を示すと期待される推測値である。仮の動きベクトル予測値は、例えば、符号化対象のマクロブロックの上または右上または左上または左に隣接する各マクロブロックに対する一次探索器６の動き探索が終了している場合に、この一次探索器６の動き探索の結果得られた各動きベクトルＣ６１を用いて、自マクロブロックおよび上・右上・左上・左マクロブロックがすべて横１６画素×縦１６画素のブロックサイズであると仮定し、符号化標準で定められた手順に基づいて算出する。なお、以下では一次探索器６が行う動き探索を「一次探索」ともいい、一次探索の結果得られる動きベクトルを「一次動きベクトル」ともいう。一次動きベクトルは、符号化対象のマクロブロックに対して２画素単位の精度で得られる動きベクトルであり、近傍探索器８が行う動き探索（二次探索）の中心を示す。
【００２５】
近傍探索器８は、符号化対象のマクロブロックＣ１２１を横８×縦８画素ブロックに分割し、分割したブロック毎に、探索中心指示器７から出力されるゼロベクトルおよび動きベクトル予測値Ｃ７１に基づいて、参照画像Ｃ５１上でのゼロベクトル周辺や動きベクトル予測値周辺の各位置を候補として動き探索を行う。以下では、近傍探索器８が、ゼロベクトル周辺や動きベクトル予測値周辺の各位置を候補として行う動き探索を「事前近傍探索」ともいう。近傍探索器８は、事前近傍探索の結果、動きベクトルを検出できなかったブロックを示す情報Ｃ８２を、一次探索器６に出力する。
また、近傍探索器８は、事前近傍探索で動きベクトルを検出できなかった各ブロックについて、一次探索器６が出力する一次動きベクトルＣ６１に基づいて（具体的には、一次動きベクトルＣ６１が示す参照画像Ｃ５１上の位置を中心とする探索範囲を設定して）、参照画像Ｃ５１上での動き探索を行う。以下では、近傍探索器８が、一次動きベクトルＣ６１に基づいて行う動き探索を「二次探索」ともいう。
近傍探索器８は、事前近傍探索および二次探索で検出した動きベクトルＣ２０１を、動きベクトル検出装置１００の外部（例えば、この動きベクトル検出装置１００を含む動画像符号化装置の予測画像生成手段）に出力する。
【００２６】
一次探索器６は、画像縮小器１２が出力する符号化対象マクロブロックの縮小画像Ｃ１２２を用いて、縮小参照画像Ｃ４１上での一次探索をマクロブロック単位で行い、一次動きベクトルＣ６１を生成して近傍探索器８に出力する。一次探索を行う際、一次探索器６は、近傍探索器８が、事前近傍探索で動きベクトルを検出できなかったブロックの画素と縮小参照画像Ｃ４１の画素との差分の絶対値の和を用いて動きベクトルの評価を行い、この評価結果に基づいて、一次動きベクトルＣ６１を検出する。
【００２７】
図２は、一次探索器６の概略構成を示す構成図である。
同図において、一次探索器６は、差分絶対値和算出器６１１と差分絶対値和加算制御器６２１と差分絶対値和加算器６３１と評価器６４１とを具備する。
差分絶対値和算出器６１１は、画像縮小器１２が出力する、符号化対象マクロブロックの横８×縦８画素の縮小画像Ｃ１２２を横４×縦４画素ブロックに４分割する。そして、差分絶対値和算出器６１１は、分割したブロック毎に、当該ブロックと、縮小参照画像Ｃ４１上で当該ブロックに対応する領域との、画素毎の差分の絶対値の和（以下では「差分絶対値和」ともいう）を算出し、算出した差分絶対値和を差分絶対値和加算制御器６２１に出力する。
【００２８】
差分絶対値和加算制御器６２１は、差分絶対値和算出器６１１から出力されるブロック毎の差分絶対値和のうち、近傍探索器８が事前近傍探索において動きベクトルを検出できなかったブロックの差分絶対値和を差分絶対値和加算器６３１に出力する。差分絶対値和加算器６３１は、差分絶対値和加算制御器６２１から出力される差分絶対値和の和を算出し、評価器６４１に出力する。評価器６４１は、差分絶対値和加算器６３１から出力される差分絶対値和の和に基づいて一次動きベクトルの候補の各々を評価し、一次動きベクトルを選択する。ここで、一次動きベクトルの候補は、例えば、縮小参照画像Ｃ４１上での符号化対象のマクロブロックの位置を中心として予め定められた範囲内に含まれる、横８×縦８画素の各領域を示す動きベクトル（符号化対象のマクロブロックの位置からの相対座標）である。
【００２９】
図３は、近傍探索器８が事前近傍探索の対象とする位置および各ブロックの動きベクトルに対する評価の例を示す図である。
探索中心指示器７から、マクロブロックの左上端の相対座標にてゼロベクトルが出力され示されると、近傍探索器８は、このゼロベクトル周辺の動き探索を行う。具体的には、近傍探索器８は、ゼロベクトルおよび縦横にそれぞれ予め定められた画素のずれ量以内でずれた位置を候補として動き探索を行う。例えば、同図の例では、ゼロベクトルおよび縦横にそれぞれ１画素ずれた、合計９点を候補として動き探索を行う。なお、近傍探索器８が探索を行う候補は同図に示す９点に限らない。例えば、中心から２画素ずれた点、あるいは、０．５画素や０．２５画素など、整数値以外の画像だけずれた点も探索するなど、より多くの点を動き探索の候補とするようにしてもよい。これにより、０．５画素精度あるいは０．２５画素精度の動きベクトルが得られるなど、より精度の高い動き探索を行うことができる。動きベクトル予測値についても同様である。
【００３０】
近傍探索器８は、候補の点が示す横１６×縦１６画素のマクロブロック領域を、横８×縦８画素の４つのブロックＢ２１〜Ｂ２４に分割し、ブロック毎に動きベクトル評価値を算出する。ここでいう、「動きベクトル評価値」とは、ブロック内の各画素と対応する参照画像の各画素との差分の絶対値の和に、動きベクトルや符号化モードを記述するために必要なビット量（符号化コスト）に相当する値を加えた値である。動きベクトル評価値は、当該動きベクトルを用いて動き予測を行った場合の符号量や画像誤差を示す指標であり、動きベクトル評価値が小さい動きベクトルほど、符号化対象のマクロブロックに対する動き予測に用いるのに適している。
近傍探索器８は、十分正確な動きベクトルが得られているかどうかを判定するために、式（１）を満たす動きベクトルが存在するか否かを判定する。
【００３１】
【数１】
2011130264.tif 000003
【００３２】
ここで、αは、評価値の閾値を示す。このαは、例えば予め定められた定数である。あるいは、αは、直前の画像（フレーム）の解析結果に応じて定められる値であってもよい。例えば、直前の画像（フレーム）において、ゼロベクトル近傍または動きベクトル評価値近傍の位置を動きベクトルとするブロックが多い場合、静止する画像のブロックや、周辺のブロックと同様の動きをする画像のブロックが多いと考えられる。そして、この画像（フレーム）に時間的に隣接する、符号化対象の画像（フレーム）においても、静止する画像のブロックや、周辺のブロックと同様の動きをする画像のブロックが多いことが予測される。そこで、αの値を大きくして、動きベクトルとしてゼロベクトル近傍または動きベクトル評価値近傍の位置を選択し易くすることにより、近傍探索器８が、より適切な動きベクトルを検出することが期待できる。逆に、直前の画像（フレーム）において、ゼロベクトル近傍または動きベクトル評価値近傍の位置を動きベクトルとするブロックが少ない場合には、αの値を小さくして、直前の画像（フレーム）と同様に、動きベクトルとしてゼロベクトル近傍または動きベクトル評価値近傍の位置を選択し難くする。
【００３３】
あるいは、αは、符号化対象の画像（フレーム）の事前解析結果に応じて定められる値であってもよい。例えば、縦横共に８分の１画素など、小さい画素数に縮小した画像（フレーム）を用いて符号化対象の画像（フレーム）から時間的に直前の画像（フレーム）との画素毎の類似度(例えば、画素値の差分絶対値和)を算出し、類似度が高い場合にはαの値を大きくして、近傍探索器８が、動きベクトルとしてゼロベクトル近傍または動きベクトル評価値近傍の位置を選択し易くする。逆に類似度が小さい低い場合にはαの値を小さくする。
【００３４】
あるいは、符号化対象マクロブロックの分散値ないしアクティビティに基づいてαの値を変更するようにしてもよい。ここでいう符号化対象マクロブロックの「アクティビティ」は、マクロブロック内の画素値のばらつきを示す値の１つである。アクティビティは、マクロブロックを横８×縦８画素の４つのブロックに分割し、ブロック毎に分散値を算出し、算出した分散値のうち最小のものに１を加えることにより得られる。
一般的に、分散値ないしアクティビティが小さいマクロブロックでは動きベクトルのずれによる動きベクトル評価値の差が小さく、逆に分散値ないしアクティビティの大きなマクロブロックでは、動きベクトルのずれによる動きベクトル評価値の差が大きくなる。したがって、αの値を分散値ないしアクティビティの値に応じて、例えば、分散値ないしアクティビティの値に比例した値に設定したり、あるいは、分散値ないしアクティビティが、ある閾値Ｓを超える場合と超えない場合とでそれぞれ異なるαを設定したりすることにより、判定を行う際にマクロブロックの性質の影響を受けにくくすることができる。なお、上記閾値Ｓは１つに限らず、複数の閾値Ｓｋとそれぞれに対応する複数のαｋを設定することにより、符号化対象マクロブロックの分散値ないしアクティビティに応じて、αｋの中から上記αを選択するようにしてもよい。
【００３５】
近傍探索器８は、事前近傍探索において、式（１）を満たす動きベクトルが存在するブロックについては、動きベクトルの評価値が最小の動きベクトルを、当該ブロックの動きベクトルとして選択する。一方、式（１）を満たす動きベクトルが存在しないブロックについては、当該ブロックの動きベクトルを検出できなかったと判定する。
例えば、図３の上側の横８×縦８画素ブロックＢ２１およびＢ２２が静止する背景画像の領域である場合など、ゼロベクトルを動きベクトルとすると動きベクトル評価値が最小となり、かつ、式（１）を満たす場合は、近傍探索器８は、ブロックＢ２１およびＢ２２の各々について、式（１）を満たす動きベクトルが存在することを判定し、ブロックＢ２１およびＢ２２の各々の動きベクトルとして、動きベクトル評価値が最小となるゼロベクトルを検出する。
【００３６】
一方、図３の下側の横８×縦８画素ブロックＢ２３およびＢ２４が動体の画像の領域である場合など、事前近傍探索では式（１）を満たす動きベクトルが検出されない場合は、近傍探索器８は、ブロックＢ２３およびＢ２４の各々について、式（１）を満たす動きベクトルが存在しないことを判定することにより、当該ブロックの動きベクトルを検出できなかったと判定する。
近傍探索器８は、動きベクトルを検出できなかったと判定したブロックを示す情報を一次探索器６に出力する。図３の例では、近傍探索器８は、ブロックＢ２３およびＢ２４を示す情報を一次探索器６に出力する。
【００３７】
図４は、一次探索器６が行う、動きベクトルに対する評価の例を示す図である。
同図のブロックＢ４１およびＢ４２は、例えば、静止する背景画像の領域であり、近傍探索器８が事前近傍探索において動きベクトルを検出したブロックである。一方、ブロックＢ４３およびＢ４４は、例えば、動体の画像の領域であり、近傍探索器８が事前近傍探索において動きベクトルを検出できなかったと判定したブロックである。
一次探索器６は、動き探索を行う際に、事前近傍探索で近傍探索器８が動きベクトルを検出できなかったと判定したブロックの画素を用いて、動き探索結果を評価する。図４の例では、差分絶対値和算出器６１１が、ブロックＢ４１〜Ｂ４４の各々について、符号化対象のマクロブロックの縮小画像Ｃ１２２上の画素と縮小参照画像Ｃ４１上の画素との差分絶対値和Ｃ３４１〜Ｃ３４４を算出し、差分絶対値和加算制御器６２１に出力する。差分絶対値和加算制御器６２１は、差分絶対値和算出器６１１が出力する差分絶対値和Ｃ３４１〜Ｃ３４４のうち、事前近傍探索で近傍探索器８が動きベクトルを検出できなかったと判定したブロックＢ４３およびＢ４４の差分絶対値和Ｃ３４３およびＣ３４４のみを差分絶対値和加算器６３１に出力する。
【００３８】
一方、事前近傍探索で近傍探索器８が動きベクトルを検出したブロックＢ４１およびＢ４２の差分絶対値和Ｃ３４１およびＣ３４２については、差分絶対値和加算制御器６２１は何もしない（捨てる）。差分絶対値和加算器６３１は、差分絶対値和加算制御器６２１から出力される差分絶対値和Ｃ３４３とＣ３４４との和を算出して評価器６４１に出力する。評価器６４１は、差分絶対値和加算器６３１から出力される差分絶対値和の和に基づいて動きベクトルの評価を行う。
【００３９】
このように、一次探索器６は、事前近傍探索で近傍探索器８が動きベクトルを検出したブロックの画素を動きベクトルの評価対象から除外して動きベクトルを評価するので、近傍探索器８が、ゼロベクトルの近傍の動き探索で動きベクトルを検出する静止した背景画像のブロックや、近傍探索器８が、動きベクトル評価値の近傍の動き探索で動きベクトルを検出する移動（パン）する背景画像のブロックの影響を受けずに、動体の画像のブロックのみに基づいて動きベクトルを評価できる。これにより、符号化対象のマクロブロックが動体と背景の境界に位置する場合など、動体の境界を含む場合でも、動体を追跡することができる。
【００４０】
図５は、一次探索器６がテレスコピック探索を行う例を示す図である。同図において、符号化対象画像Ｐ５１と参照画像Ｐ５４とは、非参照画像Ｐ５２およびＰ５３を挟み、時間方向に３画像ぶん離れている。
テレスコピック探索を行う場合、一次探索器６は、隣接する画像で行う各回の動き探索において、図４で説明したように、近傍探索器８が事前近傍探索において動きベクトルを検出できなかったと判定したブロックの画素のみを用いて動きベクトルを評価する。
まず、一次探索器６は、符号化対象画像Ｐ５１に隣接する非参照画像Ｐ５２に、符号化対象ブロックＢ５１の座標に応じた探索範囲を設定し、動き探索を行う。この際、一次探索器６は、事前近傍探索で近傍探索器８が動きベクトルを検出できなかったと判定したブロックの画素のみを用いて動きベクトルを評価する。図５の例では、マクロブロックを４分割したブロックのうち、上側２つのブロックは、事前近傍探索で近傍探索器８が動きベクトルを検出したブロックであり、一次探索器６は、これらの画素を動きベクトルの評価に用いない。一方、下側２つのブロックは、事前近傍探索で近傍探索器８が動きベクトルを検出できなかったと判定したブロックであり、一次探索器６は、これらの画素を用いて動きベクトルを評価する。
【００４１】
次に、一次探索器６は、非参照画像Ｐ５２に隣接する非参照画像Ｐ５３に、非参照画像Ｐ５２での探索結果Ｒ５２が示す座標を中心とした探索範囲を設定し、動き探索を行う。ここでも、一次探索器６は、下側２つのブロックの画素を用いて動きベクトルを評価する。
さらに、一次探索器６は、非参照画像Ｐ５３に隣接する参照画像Ｐ５４に、非参照画像Ｐ５３での探索結果Ｒ５３が示す座標を中心とした探索範囲を設定し、動き探索を行う。ここでも、一次探索器６は、下側２つのブロックの画素を用いて動きベクトルを評価する。そして、一次探索器６は、この動き探索によって得られる探索結果Ｒ５４を、最終的な動き探索結果（一次動きベクトル）とする。
このように、一次探索器６は、動きベクトルを評価する際に、事前近傍探索で近傍探索器８が動きベクトルを検出したブロックの画素を除外して評価を行うことにより、例えば、符号化対象のマクロブロックが動体の画像と背景の画像とを含む場合に、背景の画像に影響されずに動体の動きを追うことができる。
【００４２】
図６は、動きベクトル検出装置１００が、符号化対象のマクロブロックＣ１２１に対する動きベクトルを検出する処理手順を示すフローチャートである。
ステップＳ１１において、探索中心指示器７は、近傍探索器８にゼロベクトルを出力し、近傍探索器８は、符号化対処のマクロブロックＣ１２１を横８×縦８画素の４つのブロックに分割し、ブロック毎に、画像キャッシュメモリ５から読み出す参照画像Ｃ５１のゼロベクトルの周辺を動き探索する。
ステップＳ１２において、探索中心指示器７は、近傍探索器８に動きベクトル予測値を出力し、近傍探索器８は、符号化対処のマクロブロックＣ１２１を分割したブロック毎に、参照画像Ｃ５１の動きベクトル予測値の周辺を動き探索する。近傍探索器８は、ステップＳ１１およびステップＳ１２で動きベクトルを検出できなかったブロックを示す情報Ｃ８２を一次探索器６に出力する。
【００４３】
ステップＳ１３において、画像縮小器１２は、符号化対象のマクロブロックＣ１２１を縦横共に２分の１の画素数に縮小した画像Ｃ１２２を生成して、一次探索器６に出力し、一次探索器６は、縮小画像Ｃ１２２を用いて、縮小画像キャッシュメモリ４から読み出す縮小参照画像Ｃ４１上での動き探索をマクロブロック単位で行い、一次動きベクトルＣ６１を生成して近傍探索器８に出力する。その際、一次探索器６は、近傍探索器８がステップＳ１１およびステップＳ１２で動きベクトルを検出できなかったブロックの画素を用いて動きベクトルの評価を行い、この評価結果に基づいて、一次動きベクトルＣ６１を検出する。
ステップＳ１４において、近傍探索器８は、ステップＳ１１およびステップＳ１２で動きベクトルを検出できなかった各ブロックについて、一次探索器６が出力する一次動きベクトルＣ６１周辺の動き探索を行う。具体的には、近傍探索器８は、参照画像Ｃ５１上に、一次動きベクトルに応じた探索範囲を設定して（すなわち、一次動きベクトルおよび予め定められた画素のずれ量以内でずれた位置を候補として）動き探索を行う。近傍探索器８は、ステップＳ１１またはステップＳ１２またはステップＳ１４で検出した動きベクトルＣ２０１を、動きベクトル検出装置１００の外部に出力する。具体的には、ステップＳ１１またはステップＳ１２で動きベクトルを検出できたブロックについては、その動きベクトルを出力する。一方、ステップＳ１１またはステップＳ１２で動きベクトルを検出できなかったブロックについては、ステップＳ１４で検出した動きベクトルを出力する。その後、符号化対象のマクロブロックＣ１２１に対する動きベクトルを検出する処理を終了する。
【００４４】
以上のように、動きベクトル検出装置１００は、横１６×縦１６画素のマクロブロック単位の一次探索を行うに先立ち、マクロブロックサイズ未満のブロックサイズ、例えば横８×縦８画素のブロック単位でゼロベクトル周辺や動きベクトル予測値周辺の近傍探索を予め行っておく。そして、動きベクトルを検出できたブロックがあった場合、一次探索では、そのブロックの画素を差分絶対値和の演算から除外して探索を行う。
この動きベクトル検出装置１００は、マクロブロック単位で一次探索を行うので、画像中のノイズ等の擾乱の影響を受けにくく、また、テレスコピック探索を行う場合でも比較的演算量が少ない。また、ゼロベクトル周辺や動きベクトル予測値周辺の近傍探索で動きベクトルを検出できたブロックを、差分絶対値和の演算から除外して一次探索を行うので、例えば、マクロブロックが物体の境界に位置する場合でも背景等の影響を受けにくく、動きベクトルを適切に検出できる。
【００４５】
なお、一次探索器６が一次探索を行う際に用いる参照画像の縮小比率は、上述した縦横２分の１倍に限らない。また、近傍探索器８が二次探索を行う際に用いる参照画像は非縮小のものに限らない。例えば、一次探索器６が縦横４分の１の縮小比率の参照画像を用いて一次探索を行い、近傍探索器８が縦横２分の１の縮小比率の参照画像を用いて二次探索を行うようにしてもよい。あるいは、一次探索器６が非縮小の参照画像を用いて整数画素単位の一次探索を行い、近傍探索器８が非縮小の参照画像を用いて０．５画素単位あるいは０．２５画素単位の二次探索を行うようにしてもよい。
【００４６】
なお、動きベクトル検出装置１００の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００４７】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【産業上の利用可能性】
【００４８】
本発明は、例えば、動画像のディジタル信号をＭＰＥＧ（Moving Picture Experts Group）方式、あるいは、ＩＴＵ−Ｔ（The International Telecommunication Union Telecommunication Standardization Sector）Ｈシリーズ方式に従って符号化する映像符号化器など、動き予測を行う映像符号化器において、動きベクトルを出力する動きベクトル検出装置、動きベクトル検出方法およびプログラムに用いて好適である。
【符号の説明】
【００４９】
１  画像メモリ
２  探索範囲切り出し器
３、１２  画像縮小器
４  縮小画像キャッシュメモリ
５  画像キャッシュメモリ
６  一次探索器
７  探索中心指示器
８  近傍探索器
１００  動きベクトル検出装置
６１１  差分絶対値和算出器
６２１  差分絶対値和加算制御器
６３１  差分絶対値和加算器
６４１  評価器
【図１】
2011130264.tif 000004
【図２】
2011130264.tif 000005
【図３】
2011130264.tif 000006
【図４】
2011130264.tif 000007
【図５】
2011130264.tif 000008
【図６】
2011130264.tif 000009
【図７】
2011130264.tif 000010
【図８】
2011130264.tif 000011
【図９】
2011130264.tif 000012
【図１０】
2011130264.tif 000013