(57)【要約】【課題】動きベクトルの検出精度が高い動きベクトル検出装置を提供する。【解決手段】動きベクトル検出装置は、縮小複合ブロックの縮小動きベクトルを検出する縮小動きベクトル検出手段と、縮小動きベクトルに基づいて各符号化ブロックの動きベクトルをそれぞれ検出する動きベクトル検出手段とを具備しており、縮小動きベクトル検出手段は、縮小複合ブロックに配置された画素データと縮小参照領域に設けられた縮小複合参照ブロックに配置された画素データとの間の差分値を加算した評価値に基づいて縮小動きベクトルを検出し、差分値は、縮小複合ブロックにおける所定の領域に配置された画素データと縮小複合参照ブロックにおいて所定の領域に対応する領域に配置された画素データとにそれぞれ重み付けをして算出される。【選択図】  図３
2004179906.tif 000002
【特許請求の範囲】
【請求項１】
参照フレームに設けられた参照領域を縮小した縮小参照領域に配置された画素データに基づいて、符号化フレームに設けられた複数の符号化ブロックを含む複合ブロックを縮小した縮小複合ブロックの縮小動きベクトルを検出する縮小動きベクトル検出手段と、
前記縮小動きベクトル検出手段によって検出された前記縮小動きベクトルに基づいて、前記複合ブロックに含まれる各符号化ブロックの動きベクトルをそれぞれ検出する動きベクトル検出手段とを具備しており、
前記縮小動きベクトル検出手段は、前記縮小複合ブロックに配置された画素データと前記縮小参照領域に設けられた縮小複合参照ブロックに配置された画素データとの間の差分値を加算した評価値に基づいて前記縮小動きベクトルを検出し、
前記差分値は、前記縮小複合ブロックにおける所定の領域に配置された画素データと前記縮小複合参照ブロックにおいて前記所定の領域に対応する領域に配置された画素データとにそれぞれ重み付けをして算出されることを特徴とする動きベクトル検出装置。
【請求項２】
前記縮小複合ブロックには、前記評価値を算出するための画素データに重み付けをする重み付け領域と、前記評価値を算出するための画素データに重み付けをしない非重み付け領域とが設けられており、
前記重み付け領域は、前記縮小複合ブロックの中央に配置されており、
前記非重み付け領域は、前記重み付け領域を囲むように前記縮小複合ブロックの周縁に配置されている、請求項１記載の動きベクトル検出装置。
【請求項３】
前記複合ブロックは、４行×４行の符号化ブロックによって構成されており、
前記縮小複合ブロックに設けられた前記重み付け領域は、前記複合ブロックの中央に配置された２行×２列の符号化ブロックに対応する位置に配置されており、
前記非重み付け領域は、前記複合ブロックの周縁に配置された符号化ブロックに対応する位置に配置されている、請求項２記載の動きベクトル検出装置。
【請求項４】
前記複合ブロックは、マトリックス状に配置された複数の符号化ブロックによって構成されている、請求項１記載の動きベクトル検出装置。
【請求項５】
前記動きベクトル検出手段は、前記縮小動きベクトル検出手段によって検出された前記縮小動きベクトルに応じて各符号化ブロックごとに前記参照領域にそれぞれ設けられる探索領域に配置された画素データに基づいて各符号化ブロックの動きベクトルをそれぞれ検出し、
前記非重み付け領域に対応する符号化ブロックの動きベクトルを検出するための探索領域は、前記重み付け領域に対応する符号化ブロックの動きベクトルを検出するための探索領域よりも広くなっている、請求項２記載の動きベクトル検出装置。
【請求項６】
前記縮小動きベクトル検出手段は、前記評価値が最小となる前記縮小複合参照ブロックに基づいて前記縮小動きベクトルを検出する、請求項１記載の動きベクトル検出装置。
【請求項７】
参照フレームに設けられた参照領域を縮小した縮小参照領域に配置された画素データに基づいて、符号化フレームに設けられた複数の符号化ブロックを含む複合ブロックを縮小した縮小複合ブロックの動きベクトルを表す縮小メイン動きベクトルと、前記符号化フレームにそれぞれ設けられた各符号化ブロックと対応するように前記縮小複合ブロックにそれぞれ配置された縮小サブブロックの動きベクトルを表す縮小サブ動きベクトルとをそれぞれ検出する縮小動きベクトル検出手段と、
前記縮小動きベクトル検出手段によってそれぞれ検出された前記縮小メイン動きベクトルと前記縮小サブ動きベクトルとに基づいて、前記複合ブロックに含まれる各符号化ブロックの動きベクトルをそれぞれ検出する動きベクトル検出手段とを具備することを特徴とする動きベクトル検出装置。
【請求項８】
前記動きベクトル検出手段は、各縮小サブ動きベクトルと前記縮小メイン動きベクトルとの間の差に応じて、各縮小サブ動きベクトルに対応する符号化ブロックの動きベクトルを検出する、請求項７記載の動きベクトル検出装置。
【請求項９】
前記動きベクトル検出手段は、前記縮小サブ動きベクトルと前記縮小メイン動きベクトルとの間の前記差が所定の値よりも大きいときは、前記縮小サブ動きベクトルに基づいて、前記縮小サブ動きベクトルに対応する符号化ブロックの動きベクトルを検出し、
前記縮小サブ動きベクトルと前記縮小メイン動きベクトルとの間の前記差が所定の値以下であるときは、前記縮小メイン動きベクトルに基づいて、前記縮小サブ動きベクトルに対応する符号化ブロックの動きベクトルを検出する、請求項８記載の動きベクトル検出装置。
【請求項１０】
参照フレームに設けられた参照領域を縮小した縮小参照領域に配置された画素データに基づいて、符号化フレームに設けられた複数の符号化ブロックを含む複合ブロックを縮小した縮小複合ブロックの縮小動きベクトルを検出する縮小動きベクトル検出工程と、
前記縮小動きベクトル検出工程によって検出された前記縮小動きベクトルに基づいて、前記複合ブロックに含まれる各符号化ブロックの動きベクトルをそれぞれ検出する動きベクトル検出工程とを包含しており、
前記縮小動きベクトル検出工程は、前記縮小複合ブロックに配置された画素データと前記縮小参照領域に設けられた縮小複合参照ブロックに配置された画素データとの間の差分値を加算した評価値に基づいて前記縮小動きベクトルを検出し、
前記差分値は、前記縮小複合ブロックにおける所定の領域に配置された画素データと前記縮小複合参照ブロックにおいて前記所定の領域に対応する領域に配置された画素データとにそれぞれ重み付けをして算出されることを特徴とする動きベクトル検出方法。
【請求項１１】
参照フレームに設けられた参照領域を縮小した縮小参照領域に配置された画素データに基づいて、符号化フレームに設けられた複数の符号化ブロックを含む複合ブロックを縮小した縮小複合ブロックの動きベクトルを表す縮小メイン動きベクトルと、前記符号化フレームにそれぞれ設けられた各符号化ブロックと対応するように前記縮小複合ブロックにそれぞれ配置された縮小サブブロックの動きベクトルを表す縮小サブ動きベクトルとをそれぞれ検出する縮小動きベクトル検出工程と、
前記縮小動きベクトル検出工程によってそれぞれ検出された前記縮小メイン動きベクトルと前記縮小サブ動きベクトルとに基づいて、前記複合ブロックに含まれる各符号化ブロックの動きベクトルをそれぞれ検出する動きベクトル検出工程とを包含することを特徴とする動きベクトル検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動きベクトルを階層的に検出する動きベクトル検出装置および動きベクトル検出方法に関する。
【０００２】
【従来の技術】
これまでに、動画像の動きベクトルを検出する際に、動きベクトルの検出（探索）範囲の拡大と動きベクトルを検出するための演算量削減とを両立させることを目的として様々な動きベクトル検出方法が提案されてきた。
【０００３】
このような動きベクトル検出方法の一つとして階層的動きベクトル検出方法がある。この階層的動きベクトル検出方法は、まず、１段目の動きベクトル検出として現在のフレームと参照フレームとのそれぞれにおいて縮小画像を生成し、この両縮小画像に基づいて縮小動きベクトルを検出する。その後、原画像（縮小前の通常画面同士）による２段目の動きベクトル検出として、前記１段目の縮小動きベクトルを拡大したベクトルの終点を中心として動きベクトルを探索する方法である。
【０００４】
図１２は、従来の動きベクトル検出装置の動作を説明するための模式図である。縮小化フレーム１７Ｂは、７２０画素×４８０ラインの符号化フレーム３Ｂ（マクロブロックＭＢ）を水平方向および垂直方向に４分の１に縮小したものであり、１８０画素×１２０ラインによって構成されている。符号化フレーム３Ｂは、動きベクトルを求める対象となる符号化ブロック４Ｂを有している。符号化ブロック４Ｂは、１６画素×１６画素によって構成されている。縮小化フレーム１７Ｂは、符号化ブロック４Ｂを水平方向および垂直方向に４分の１に縮小した縮小符号化ブロック６Ｂを有している。縮小符号化ブロック６Ｂは、４画素×４画素によって構成されている。
【０００５】
縮小参照フレーム１６Ｂは、７２０画素×４８０ラインの参照フレーム７Ｂを水平方向および垂直方向に沿って４分の１に縮小したものであり、１８０画素×１２０ラインによって構成されている。参照フレーム７Ｂは、動きベクトルを探索するための参照領域８Ｂを有している。縮小参照フレーム１６Ｂは、縮小動きベクトルを探索するための縮小参照領域９Ｂを有している。
【０００６】
縮小前の符号化フレーム３Ｂおよび参照フレーム７Ｂによって階層Ｌ０が構成されており、縮小後の縮小化フレーム１７Ｂおよび縮小参照フレーム１６Ｂによって階層Ｌ１が構成されている。
【０００７】
図１３は、従来の動きベクトル検出装置における縮小画像を生成する方法を説明するための模式図である。縮小前の階層Ｌ０における２行×２列の４個の画素Ａ、画素Ｂ、画素Ｃおよび画素Ｄは、水平方向および垂直方向に沿って２分の１に縮小された結果、階層Ｌ１において１個の画素ａとなる。階層Ｌ１における画素ａの値は、下記の式に示すように、階層Ｌ０における画素Ａ、画素Ｂ、画素Ｃおよび画素Ｄの値の平均値になる。
【０００８】
ａ＝（Ａ＋Ｂ＋Ｃ＋Ｄ）／４
まず、縮小符号化ブロック６Ｂに配置された画素の画素値と縮小参照領域９Ｂにおける縮小参照ブロックに配置された画素の画素値と間の差分絶対値を算出し、それらの差分絶対値の和（ｓａｄ）が最小になる縮小参照ブロックを終点とし、縮小符号化ブロック６Ｂを始点とする縮小動きベクトルｍｖ＝（ｄｈ、ｄｖ）を求める。
【０００９】
そして、求められた縮小動きベクトルｍｖ＝（ｄｈ、ｄｖ）を水平成分および垂直成分を４倍した初期動きベクトルＭＶ＝（ｄｈ×４、ｄｖ×４）に補正する。次に、初期動きベクトルＭＶの終点を、動きベクトルを探索するための中心とし、その周辺について符号化ブロック４Ｂとブロックマッチングを行う。
【００１０】
このときの差分絶対値和（ＳＡＤ）が最小になる参照領域８Ｂにおける位置を終点とし初期動きベクトルＭＶの始点を始点とするベクトルを符号化ブロック４Ｂの動きベクトルとして検出する。
【００１１】
ブロックマッチングとは、これから動きベクトルを求めようとしている現フレームの対象ブロックについて、そのブロック内画像の輝度信号のパターンと最も類似している画像部分（同サイズのブロック領域）を参照フレームから探索し、探索された参照フレームの画像部分と現在のフレームの対象ブロックとの位置のオフセット量（中心間の変位量）を動きベクトルするものである。
【００１２】
具体的には、符号化フレーム３Ｂを縮小した縮小符号化フレーム６Ｂにおける縮小符号化ブロックをｍｂとし、探索する縮小参照フレーム１６Ｂにおける縮小参照領域をｒｅｆとすると、縮小符号化ブロックｍｂに属する全ての画素値とそれに呼応する縮小参照領域ｒｅｆの画素値との間の差分の絶対値和などの評価量ＳＡＤ（ｍｂｃ，ｒｅｆ）を求め、この評価量が最小となる点を縮小動きベクトルｍｖとして検出する（縮小画像間のＳＡＤは小文字のｓａｄで記述しあるが算出式は同じ）。
【００１３】
【数１】
2004179906.tif 000003
【００１４】
なお、動きベクトルとして整数精度と実数精度があり、実数精度の動きベクトル求めるにはその探索画素が存在しないので、周囲の画素から補間によって参照画素を生成してブロックマッチングする。実数精度の動きベクトルとしては１／２画素精度の動きベクトルが用いられることが多く、整数精度の動きベクトルを探索した後、１／２画素精度の動きベクトルを演算し動きベクトルの検出精度を上げることができる。
【００１５】
このような階層的動きベクトル検出方法の特長は、２段目の処理（階層Ｌ０）のみでブロックマッチングによって動きベクトルを探索するフルサーチと呼ばれる方法と比較すると、縮小画面において大まかな動きベクトルを縮小動きベクトルとして検出するため、階層Ｌ０における動きベクトルの検索範囲を大きく狭めることができる。したがって、階層Ｌ０だけで同じ検出範囲を処理した場合（１階層フルサーチ）の演算量と比べると格段に演算量は減少する。また、動きベクトル検索時に呼び込む画像データのメモリ容量も少なくすることができ、データ読み出しのアクセス回数が軽減されるため消費電力が抑えられる。
【００１６】
しかしながら、このような階層的動きベクトル検出方法にあっては、１段目の動きベクトル検出において用いる縮小画面の縮小比率が大きくなるに従って探索に用いるブロック内の画素数も急激に減少する。このため、動きベクトルが少ない数のブロック内画素に基づいて検出されるので検出精度の劣化（誤検出）が生じるという問題点があった。
【００１７】
図１４は、従来の動きベクトル検出装置の他の動作を説明するための模式図である。縮小符号化フレーム１７Ｃは、７２０画素×４８０ラインの符号化フレーム３Ｃを水平方向および垂直方向に４分の１に縮小したものであり、１８０画素×１２０ラインによって構成されている。
【００１８】
符号化フレーム３Ｃは、動きベクトルを求める対象となる４個の符号化ブロック４Ｃを有している。符号化ブロック４Ｃは、２行×２列に構成されており、複合ブロック５Ｃが構成されている。各符号化ブロック４Ｃは、１６画素×１６画素によって構成されている。
【００１９】
縮小符号化フレーム１７Ｃは、複合ブロック５Ｃを水平方向および垂直方向に４分の１に縮小した縮小複合ブロック６Ｃを有している。縮小複合ブロック６Ｃは、８画素×８画素によって構成されている。
【００２０】
縮小参照フレーム６Ｃは、７２０画素×４８０ラインの参照フレーム７Ｃを水平方向および垂直方向に沿って４分の１に縮小したものであり、１８０画素×１２０ラインによって構成されている。参照フレーム７Ｃは、動きベクトルを探索するための参照領域８Ｃを有している。縮小参照フレーム６Ｃは、縮小動きベクトルを探索するための縮小参照領域１６Ｃを有している。
【００２１】
縮小前の符号化フレーム３Ｃおよび参照フレーム７Ｃによって階層Ｌ０が構成されており、縮小後の縮小符号化フレーム１７Ｃおよび縮小参照フレーム６Ｃによって階層Ｌ１が構成されている。
【００２２】
まず、縮小複合ブロック６Ｃに配置された画素の画素値と縮小参照領域９Ｃにおける縮小参照ブロックに配置された画素の画素値と間の差分絶対値を算出し、それらの差分絶対値の和（ｓａｄ）が最小になる縮小参照ブロックを終点とし、縮小複合ブロック６Ｃを始点とする縮小動きベクトルｍｖ＝（ｄｈ、ｄｖ）を求める。
【００２３】
そして、求められた縮小動きベクトルｍｖ＝（ｄｈ、ｄｖ）を水平成分および垂直成分を４倍した初期動きベクトルＭＶ＝（ｄｈ×４、ｄｖ×４）に補正する。次に、初期動きベクトルＭＶの終点を、動きベクトルを探索するための中心とし、その周辺について複合ブロック５Ｃを構成する４個の符号化ブロック４Ｃとそれぞれブロックマッチングを行う。
【００２４】
このときの差分絶対値和ＳＡＤがそれぞれ最小になる参照領域８Ｃにおける位置を終点とし初期動きベクトルＭＶの始点を始点とするベクトルをそれぞれ４個の符号化ブロック４Ｃの動きベクトルとして検出する。
【００２５】
このように階層Ｌ０において複数の符号化ブロック４Ｃ（ここでは４ブロック）を複合ブロック５Ｃとして１つの対象ブロックとしてまとめ、それを階層Ｌ１で縮小化した場合、縮小複合ブロック６Ｃの画面サイズが、図１２を参照して前述した縮小符号化ブロック６Ｂの画面サイズよりも大きくなり検索に用いる画素数も増える。
【００２６】
この場合、階層Ｌ１において得られた縮小動きベクトルは、階層Ｌ０における複合ブロック５Ｃを構成する４つの符号化ブロック４Ｃのすべてに同じ動きベクトルＭＶ（初期動きベクトル）を充てることになる。従って、複合ブロック５Ｃ内の符号化ブロックが同じような動きベクトルを有している場合はブロックマッチングの回数も削減され、縮小ブロックの縮小化も抑えられ動きベクトルの検出精度も上がるという特長がある。
【００２７】
【特許文献１】
特開平９−１８２０８０号公報（第６頁〜第７頁、第４２図）
【００２８】
【特許文献２】
特開平１１−２６２０１５号公報（第３頁〜第４頁、第６図）
【００２９】
【発明が解決しようとする課題】
しかしながら、前述したような複合ブロックによる縮小化においても、複合ブロックを構成する４個の符号化ブロックのうち、例えば一個の符号化ブロックが特異なブロックであるために、他の符号化ブロックの動きベクトルと大きく異なる特異な動きベクトルを有している場合には、他の符号化ブロックの動きベクトルを検出しようとするときに、この特異な動きベクトルに影響された結果、誤った動きベクトルを検出するおそれがあるという問題がある。
【００３０】
本発明は、係る問題を解決するためになされたものであり、その目的は、動きベクトルの検出精度が高い動きベクトル検出装置および動きベクトル検出方法を提供することにある。
【００３１】
【課題を解決するための手段】
本発明に係る動きベクトル検出装置は、参照フレームに設けられた参照領域を縮小した縮小参照領域に配置された画素データに基づいて、符号化フレームに設けられた複数の符号化ブロックを含む複合ブロックを縮小した縮小複合ブロックの縮小動きベクトルを検出する縮小動きベクトル検出手段と、前記縮小動きベクトル検出手段によって検出された前記縮小動きベクトルに基づいて、前記複合ブロックに含まれる各符号化ブロックの動きベクトルをそれぞれ検出する動きベクトル検出手段とを具備しており、前記縮小動きベクトル検出手段は、前記縮小複合ブロックに配置された画素データと前記縮小参照領域に設けられた縮小複合参照ブロックに配置された画素データとの間の差分値を加算した評価値に基づいて前記縮小動きベクトルを検出し、前記差分値は、前記縮小複合ブロックにおける所定の領域に配置された画素データと前記縮小複合参照ブロックにおいて前記所定の領域に対応する領域に配置された画素データとにそれぞれ重み付けをして算出されることを特徴とする。
【００３２】
本発明に係る他の動きベクトル検出装置は、参照フレームに設けられた参照領域を縮小した縮小参照領域に配置された画素データに基づいて、符号化フレームに設けられた複数の符号化ブロックを含む複合ブロックを縮小した縮小複合ブロックの動きベクトルを表す縮小メイン動きベクトルと、前記符号化フレームにそれぞれ設けられた各符号化ブロックと対応するように前記縮小複合ブロックにそれぞれ配置された縮小サブブロックの動きベクトルを表す縮小サブ動きベクトルとをそれぞれ検出する縮小動きベクトル検出手段と、前記縮小動きベクトル検出手段によってそれぞれ検出された前記縮小メイン動きベクトルと前記縮小サブ動きベクトルとに基づいて、前記複合ブロックに含まれる各符号化ブロックの動きベクトルをそれぞれ検出する動きベクトル検出手段とを具備することを特徴とする。
【００３３】
本発明に係る動きベクトル検出方法は、参照フレームに設けられた参照領域を縮小した縮小参照領域に配置された画素データに基づいて、符号化フレームに設けられた複数の符号化ブロックを含む複合ブロックを縮小した縮小複合ブロックの縮小動きベクトルを検出する縮小動きベクトル検出工程と、前記縮小動きベクトル検出工程によって検出された前記縮小動きベクトルに基づいて、前記複合ブロックに含まれる各符号化ブロックの動きベクトルをそれぞれ検出する動きベクトル検出工程とを包含しており、前記縮小動きベクトル検出工程は、前記縮小複合ブロックに配置された画素データと前記縮小参照領域に設けられた縮小複合参照ブロックに配置された画素データとの間の差分値を加算した評価値に基づいて前記縮小動きベクトルを検出し、前記差分値は、前記縮小複合ブロックにおける所定の領域に配置された画素データと前記縮小複合参照ブロックにおいて前記所定の領域に対応する領域に配置された画素データとにそれぞれ重み付けをして算出されることを特徴とする。
【００３４】
本発明に係る他の動きベクトル検出方法は、参照フレームに設けられた参照領域を縮小した縮小参照領域に配置された画素データに基づいて、符号化フレームに設けられた複数の符号化ブロックを含む複合ブロックを縮小した縮小複合ブロックの動きベクトルを表す縮小メイン動きベクトルと、前記符号化フレームにそれぞれ設けられた各符号化ブロックと対応するように前記縮小複合ブロックにそれぞれ配置された縮小サブブロックの動きベクトルを表す縮小サブ動きベクトルとをそれぞれ検出する縮小動きベクトル検出工程と、前記縮小動きベクトル検出工程によってそれぞれ検出された前記縮小メイン動きベクトルと前記縮小サブ動きベクトルとに基づいて、前記複合ブロックに含まれる各符号化ブロックの動きベクトルをそれぞれ検出する動きベクトル検出工程とを包含することを特徴とする。
【００３５】
【発明の実施の形態】
本実施の形態に係る動きベクトル検出装置においては、縮小複合ブロックに配置された画素データと縮小参照領域に設けられた縮小複合参照ブロックに配置された画素データとの間の差分値を加算した評価値に基づいて縮小動きベクトルが検出され、差分値は、縮小複合ブロックにおける所定の領域に配置された画素データと縮小複合参照ブロックにおいて所定の領域に対応する領域に配置された画素データとにそれぞれ重み付けをして算出される。
【００３６】
このため、縮小複合ブロックに配置された画素データの一部が特異な画素データであっても、特異な画素データの影響を排除するように重み付けをする所定の領域を設定することができる。その結果、動きベクトルの検出精度を向上させることができる。
【００３７】
前記縮小複合ブロックには、前記評価値を算出するための画素データに重み付けをする重み付け領域と、前記評価値を算出するための画素データに重み付けをしない非重み付け領域とが設けられており、前記重み付け領域は、前記縮小複合ブロックの中央に配置されており、前記非重み付け領域は、前記重み付け領域を囲むように前記縮小複合ブロックの周縁に配置されていることが好ましい。
【００３８】
前記複合ブロックは、４行×４行の符号化ブロックによって構成されており、前記縮小複合ブロックに設けられた前記重み付け領域は、前記複合ブロックの中央に配置された２行×２列の符号化ブロックに対応する位置に配置されており、前記非重み付け領域は、前記複合ブロックの周縁に配置された符号化ブロックに対応する位置に配置されていることが好ましい。
【００３９】
前記複合ブロックは、マトリックス状に配置された複数の符号化ブロックによって構成されていることが好ましい。
【００４０】
前記動きベクトル検出手段は、前記縮小動きベクトル検出手段によって検出された前記縮小動きベクトルに応じて各符号化ブロックごとに前記参照領域にそれぞれ設けられる探索領域に配置された画素データに基づいて各符号化ブロックの動きベクトルをそれぞれ検出し、前記非重み付け領域に対応する符号化ブロックの動きベクトルを検出するための探索領域は、前記重み付け領域に対応する符号化ブロックの動きベクトルを検出するための探索領域よりも広くなっていることが好ましい。
【００４１】
前記縮小動きベクトル検出手段は、前記評価値が最小となる前記縮小複合参照ブロックに基づいて前記縮小動きベクトルを検出することが好ましい。
【００４２】
本実施の形態に係る他の動きベクトル検出装置においては、参照フレームに設けられた参照領域を縮小した縮小参照領域に配置された画素データに基づいて、符号化フレームに設けられた複数の符号化ブロックを含む複合ブロックを縮小した縮小複合ブロックの動きベクトルを表す縮小メイン動きベクトルと、符号化フレームにそれぞれ設けられた各符号化ブロックと対応するように縮小複合ブロックにそれぞれ配置された縮小サブブロックの動きベクトルを表す縮小サブ動きベクトルとがそれぞれ検出され、それぞれ検出された縮小メイン動きベクトルと縮小サブ動きベクトルとに基づいて、複合ブロックに含まれる各符号化ブロックの動きベクトルがそれぞれ検出される。
【００４３】
このため、縮小複合ブロックに配置された縮小サブブロックの動きベクトルの一部が縮小メイン動きベクトルと比べ特異な動きベクトルであっても、特異な動きベクトルとして個別にその縮小サブブロックの動きベクトルを設定することができる。その結果、動きベクトルの検出精度を向上させることができる。
【００４４】
前記動きベクトル検出手段は、各縮小サブ動きベクトルと前記縮小メイン動きベクトルとの間の差に応じて、各縮小サブ動きベクトルに対応する符号化ブロックの動きベクトルを検出することが好ましい。
【００４５】
前記動きベクトル検出手段は、前記縮小サブ動きベクトルと前記縮小メイン動きベクトルとの間の前記差が所定の値よりも大きいときは、前記縮小サブ動きベクトルに基づいて、前記縮小サブ動きベクトルに対応する符号化ブロックの動きベクトルを検出し、前記縮小サブ動きベクトルと前記縮小メイン動きベクトルとの間の前記差が所定の値以下であるときは、前記縮小メイン動きベクトルに基づいて、前記縮小サブ動きベクトルに対応する符号化ブロックの動きベクトルを検出することが好ましい。
【００４６】
以下、図面を参照して本発明の実施の形態を説明する。
【００４７】
図１は実施の形態に係る動きベクトル検出装置１００の構成を示すブロック図であり、図２は動きベクトル検出装置１００に設けられた縮小動きベクトル検出器１の構成を説明するためのブロック図であり、図３は動きベクトル検出装置１００が動きベクトルを検出するための符号化フレーム３および参照フレーム７を説明するための模式図である。
【００４８】
動きベクトル検出装置１００は、メモリユニット４０を備えている。メモリユニット４０には、動きベクトル検出装置１００が動きベクトルを検出するための符号化フレーム３および参照フレーム７が格納されている。メモリユニット４０は、大容量であって高速アクセスが可能なメモリによって構成されている。
【００４９】
符号化フレーム３は、例えば７２０画素×４８０ラインによって構成されており、複合ブロック５を有している。複合ブロック５は、動きベクトルを求める対象となる複数の符号化ブロック４を有している。符号化ブロック４は、例えば４行×４列のマトリックス状に配置されている。各符号化ブロック４は、例えば１６行×１６列の画素によって構成されている。参照フレーム７は、例えば７２０画素×４８０ラインによって構成されており、動きベクトルを検出するための参照領域８を有している。
【００５０】
動きベクトル検出装置１００には、縮小器４１が設けられている。縮小器４１は、メモリユニット４０に格納された符号化フレーム３を縮小した縮小符号化フレーム１７を生成して、生成した縮小符号化フレーム１７をメモリユニット４０に格納する。
【００５１】
縮小符号化フレーム１７は、符号化フレーム３を水平方向および垂直方向に沿って４分の１に縮小したものであり、例えば１８０画素×１２０ラインによって構成されている。縮小符号化フレーム１７は、複合ブロック５を水平方向および垂直方向に沿って４分の１に縮小した縮小複合ブロック６を有している。縮小複合ブロック６は、例えば４行×４列のマトリックス状に配置された縮小符号化ブロックによって構成されている。各縮小符号化ブロックは、例えば４行×４列のマトリックス状に配置された画素によって構成されている。
【００５２】
縮小複合ブロック６には、縮小複合ブロック６に配置された画素データと縮小参照領域９に設けられた縮小複合参照ブロックに配置された画素データとの間の差分値を加算した評価値を算出するための画素データに重み付けをする重み付け領域と、評価値を算出するための画素データに重み付けをしない非重み付け領域とが設けられている。重み付け領域は、縮小複合ブロック６の中央に配置された２行×２列の縮小符号化ブロックに設定されている。非重み付け領域は、縮小複合ブロック６の周縁に配置された１２個の縮小符号化ブロックに設定されている。
【００５３】
縮小器４１はまた、メモリユニット４０に格納された参照フレーム７を縮小した縮小参照フレーム１６を生成して、生成した縮小参照フレーム１６をメモリユニット４０に格納する。
【００５４】
縮小参照フレーム１６は、参照フレーム７を水平方向および垂直方向に沿って４分の１に縮小したものであり、例えば１８０画素×１２０ラインによって構成されている。縮小参照フレーム１６は、参照領域８を水平方向および垂直方向に沿って４分の１に縮小した縮小参照領域９を有している。
【００５５】
動きベクトル検出装置１００は、現フレームバッファ４２を備えている。現フレームバッファ４２は、メモリユニット４０に格納された符号化フレーム３と縮小符号化フレーム１７とを読み出して一時的に保持する。
【００５６】
動きベクトル検出装置１００には、参照フレームバッファ４３が設けられている。参照フレームバッファ４３は、メモリユニット４０に格納された参照フレーム７と縮小参照フレーム１６とを読み出して一時的に保持する。
【００５７】
動きベクトル検出装置１００は、縮小動きベクトル検出器１を備えている。縮小動きベクトル検出器１は、参照フレームバッファ４３に保持された縮小参照フレーム１６における縮小参照領域９に配置された画素データに基づいて、現フレームバッファ４２に保持された縮小符号化フレーム１７に設けられた縮小複合ブロック６の縮小動きベクトルを検出する。
【００５８】
動きベクトル検出装置１００は、動きベクトル検出器２を備えている。動きベクトル検出器２は、縮小動きベクトル検出器１によって検出された縮小動きベクトルに基づいて、複合ブロック５に含まれる各符号化ブロック４の動きベクトルをそれぞれ求めて符号化器４５へ供給する。
【００５９】
符号化器４５は、動きベクトル検出器２から供給された各符号化ブロック４の動きベクトルに基づいて、メモリユニット４０に格納された符号化フレーム３に設けられた複合ブロック５を構成する各符号化ブロック４を符号化して符号化ビットストリームとして出力する。
【００６０】
図２を参照すると、縮小動きベクトル検出器１は、コントローラ５５を有している。コントローラ５５は、縮小参照フレーム１６における縮小参照領域９に配置された画素データをメモリユニット４０から参照フレームバッファ４３へ読み出すためのアドレスと縮小符号化フレーム１７における縮小複合ブロック６に配置された画素データをメモリユニット４０から現フレームバッファ４２へ読み出すためのアドレスとをアドレス移動器５０へ供給する。
【００６１】
アドレス移動器５０は、コントローラ５５から供給された各アドレスに基づいて、縮小参照領域９に配置された画素データをメモリユニット４０から読み出して参照フレームバッファ４３へ格納し、縮小複合ブロック６に配置された画素データをメモリユニット４０から読み出して現フレームバッファ４２へ格納する。
【００６２】
縮小動きベクトル検出器１は、差分演算器５１を有している。差分演算器５１は、縮小参照領域９に配置された画素データと縮小複合ブロック６に配置された画素データとの間の差分値を算出して絶対値算出器５２へ供給する。
【００６３】
絶対値算出器５２は、差分演算器５１によって算出された差分値を絶対値に変換した差分絶対値を生成して加算器５３へ供給する。加算器５３は、コントローラ５５からの指示に応じて、縮小参照領域９に配置されたすべての画素データについての差分絶対値を合計した差分絶対値和ＳＡＤを算出して判定器５４へ供給する。
【００６４】
判定器５４は、探索範囲内において最小になる差分絶対値和ＳＡＤおよび差分絶対値和ＳＡＤが最小になる縮小参照領域のアドレスをコントローラ５５へ供給する。
【００６５】
コントローラ５５は、判定器５４から供給された差分絶対値和ＳＡＤおよび縮小参照領域のアドレスに基づいて縮小動きベクトルを検出して動きベクトル検出器２へ供給する。メモリ５６は、判定器５４から供給された差分絶対値和ＳＡＤおよびコントローラ５５によって検出された縮小動きベクトルを一時的に保持する。
【００６６】
このように構成された動きベクトル検出装置の動作を説明する。図４および図５は、実施の形態に係る動きベクトル検出装置１００の動作を示すフローチャートである。図４に示すステップＳ１〜ステップＳ２０１は、符号化フレーム３に設けられた複合ブロック５を縮小した縮小複合ブロック６の縮小動きベクトルを検出する手順を示している。図５に示すステップＳ８〜ステップＳ２０は、符号化フレーム３に設けられた複合ブロック５に含まれる各符号化ブロック４の動きベクトルを縮小動きベクトルに基づいて検出する手順を示している。
【００６７】
まず、階層Ｌ０の符号化フレーム３に設けられた複合ブロック５について動きベクトルの検出が開始される（ステップＳ１）。そして、複合ブロック５を縮小した縮小複合ブロック６に配置された画素データが現フレームバッファ４２から縮小動きベクトル検出器１へ読み出される（ステップＳ２）。次に、縮小動きベクトルを探索するための縮小参照領域９における探索開始位置ｈ＝−Ｈ１、ｖ＝−Ｖ１が設定される（ステップＳ３）。
【００６８】
その後、探索開始位置のアドレスから探索終了位置のアドレスまで、縮小参照領域９に配置された画素データが参照フレームバッファ４３から順次読み出される（ステップＳ４）。そして、ステップＳ２において読み出された縮小複合ブロック６に配置された画素データが重み付け領域に属するか否かが判断される（ステップＳ１０１）。
【００６９】
縮小複合ブロック６に配置された画素データが重み付け領域に属すると判断されたときは（ステップＳ１０１においてＹＥＳ）、縮小動きベクトル１は、縮小複合ブロック６に配置された画素データと縮小参照領域９に設けられた縮小複合参照ブロックに配置された画素データとの間の絶対差分値を算出し、算出した絶対差分値に所定の重み付け係数を乗算した差分絶対値和ｓａｄｗを求める（ステップＳ１０２）。
【００７０】
縮小複合ブロック６に配置された画素データが重み付け領域に属さないと判断されたときは（ステップＳ１０１においてＮＯ）、縮小動きベクトル検出器１は、縮小複合ブロック６に配置された画素データと縮小参照領域９に設けられた縮小複合参照ブロックに配置された画素データとの間の絶対差分値を算出し、算出した絶対差分値を非重み付け領域における差分絶対値和ｓａｄｗｏとする（ステップＳ１０３）。
【００７１】
差分絶対値和ｓａｄｗが求められたとき（ステップＳ１０２）または差分絶対値和ｓａｄｗｏが求められたとき（ステップＳ１０３）は、縮小動きベクトル検出器１は、差分絶対値和ｓａｄｗと差分絶対値和ｓａｄｗｏとを加算した縮小複合ブロック６の差分絶対値和ｓａｄを算出する（ステップＳ１０４）。
【００７２】
そして、ステップＳ１０４において算出された縮小複合ブロック６の差分絶対値和ｓａｄが、これまでに算出された差分絶対値和ｓａｄよりも小さいか否かが判断される（ステップＳ１０５）。縮小複合ブロック６の差分絶対値和ｓａｄが、これまでに算出された差分絶対値和ｓａｄよりも小さいと判断されたときは（ステップＳ１０５においてＹＥＳ）、これまでに算出された差分絶対値和ｓａｄよりも小さいと判断された縮小複合ブロック６の差分絶対値和ｓａｄを算出したときの縮小参照領域９に配置された画素データの位置と、縮小複合ブロック６の中心位置との間の変位量（ｄｈ、ｄｖ）を縮小複合ブロック６の縮小動きベクトルｍｖとして更新する（ステップＳ１０６）。
【００７３】
縮小複合ブロック６の差分絶対値和ｓａｄが、これまでに算出された差分絶対値和ｓａｄよりも小さくないと判断されたとき（ステップＳ１０５においてＮＯ）または縮小複合ブロック６の中心位置との間の変位量（ｄｈ、ｄｖ）を縮小複合ブロック６の縮小動きベクトルｍｖとして更新したとき（ステップＳ１０６）は、縮小参照領域９のアドレスをインクリメントする（ステップＳ６）。
【００７４】
そして、インクリメントされた縮小参照領域９のアドレスが探索範囲外であり探索範囲が終了したか否かが判断される（ステップＳ７）。探索範囲が終了していないと判断されたときは（ステップＳ７においてＮＯ）、ステップＳ４へ戻る。インクリメントされた縮小参照領域９のアドレスの画素データが読み込まれ、ステップＳ４からステップＳ６までの一連のプロセスが繰り返される。
【００７５】
探索範囲が終了したと判断されたときは（ステップＳ７においてＹＥＳ）、縮小複合ブロック６の縮小動きベクトルｍｖに縮小率４分の１の逆数を乗算して縮小動きベクトルｍｖを補正し、階層Ｌ０における動きベクトル検出のための初期動きベクトル（動きベクトルを探索するための中心位置）とする。
【００７６】
そして、階層Ｌ０における複合ブロック５を構成する符号化ブロック４のナンバーｎ＝０として先頭の符号化ブロック４を指定する（ステップＳ８）。次に、ナンバーｎによって示される符号化ブロック４に配置された画素データが現フレームバッファ４２から動きベクトル検出器２へ読み出される（ステップＳ９）。その後、ナンバーｎによって示される符号化ブロック４が縮小複合ブロック６に設定された重み付け領域に対応する符号化ブロックであるか否かが判断される（ステップＳ３０１）。
【００７７】
ナンバーｎによって示される符号化ブロック４が縮小複合ブロック６に設定された重み付け領域に対応する符号化ブロックであると判断されたときは（ステップＳ３０１においてＹＥＳ）、動きベクトルの探索を開始するための動きベクトル探索開始位置をｈ＝−Ｈ０、ｖ＝−Ｖ０（Ｈ０およびＶ０はゼロ以上）に設定する（ステップＳ１０）。ナンバーｎによって示される符号化ブロック４が縮小複合ブロック６に設定された重み付け領域に対応する符号化ブロックでないと判断されたときは（ステップＳ３０１においてＮＯ）、動きベクトルの探索を開始するための動きベクトル探索開始位置をｈ＝−Ｈ０−ｐ、ｖ＝−Ｖ０−ｑ（ｐ＞０、ｑ＞０）に設定する（ステップＳ３０２）。
【００７８】
次に、ナンバーｎによって示される符号化ブロック４とのブロックマッチングのために、参照領域８に配置された画素データが参照フレームバッファ４３から読み出される（ステップＳ１１）。読み出される参照領域８に配置された画素データの先頭アドレス（フレーム内座標）は、ナンバーｎによって示される符号化ブロック４の中心座標に前述した初期動きベクトルと探索範囲の開始位置とが加算されたものである。
【００７９】
その後、動きベクトル検出器２は、ナンバーｎによって示される符号化ブロック４に配置された画素データと参照領域８に配置された画素データとの差分絶対値ＳＡＤを算出する（ステップＳ１２）。そして、動きベクトル検出器２は、算出した差分絶対値ＳＡＤが最小であるか否かを判断する（ステップＳ１３）。
【００８０】
算出した差分絶対値ＳＡＤが最小であると判断したときは（ステップＳ１３においてＹＥＳ）、差分絶対値ＳＡＤが最小であるときの動きベクトルＭＶｎ＝（ｄｈ、ｄｖ）を求めるべき動きベクトルとして更新する（ステップＳ１４）。
【００８１】
算出した差分絶対値ＳＡＤが最小でないと判断したとき（ステップＳ１３においてＮＯ）または動きベクトルＭＶｎ＝（ｄｈ、ｄｖ）を求めるべき動きベクトルとして更新したとき（ステップＳ１４）は、参照領域８における検索開始位置を水平方向および垂直方向にインクリメントする（ステップＳ１５）。
【００８２】
そして、ナンバーｎによって示される符号化ブロック４が重み付け領域に対応する符号化ブロックであるか否かが判断される（ステップＳ４０１）。ナンバーｎによって示される符号化ブロック４が重み付け領域に対応する符号化ブロックであると判断されたときは（ステップＳ４０１においてＹＥＳ）、検索範囲（ｈ＝Ｈ０、ｖ＝Ｖ０）が終了したか否かを判断する（ステップＳ１６）。検索範囲（ｈ＝Ｈ０、ｖ＝Ｖ０）が終了していないと判断されたときは（ステップＳ１６においてＮＯ）、ステップＳ１１へ戻り、次の参照領域データを読み出す。
【００８３】
ナンバーｎによって示される符号化ブロック４が重み付け領域に対応する符号化ブロックでないと判断されたときは（ステップＳ４０１においてＮＯ）、検索範囲（ｈ＝Ｈ０＋ｐ、ｖ＝Ｖ０＋ｑ）が終了したか否かを判断する（ステップＳ４０２）。検索範囲（ｈ＝Ｈ０＋ｐ、ｖ＝Ｖ０＋ｑ）が終了していないと判断されたときは（ステップＳ４０２においてＮＯ）、ステップＳ１１へ戻る。
【００８４】
検索範囲（ｈ＝Ｈ０、ｖ＝Ｖ０）が終了したと判断されたとき（ステップＳ１６においてＹＥＳ）または検索範囲（ｈ＝Ｈ０＋ｐ、ｖ＝Ｖ０＋ｑ）が終了したと判断されたとき（ステップＳ４０２においてＹＥＳ）は、ステップＳ１４において求めた動きベクトルに検索を開始したときの初期動きベクトルを加算してナンバーｎによって示される符号化ブロック４の動きベクトルを算出する（ステップＳ１７）。
【００８５】
そして、ナンバーｎをインクリメントして複合ブロック５における次の符号化ブロック４を指定する（ステップＳ１８）。次に、複合ブロック５におけるすべての符号化ブロック４の動きベクトルの検出が終了したか否かが判断される（ステップＳ１９）。複合ブロック５におけるすべての符号化ブロック４の動きベクトルの検出が終了していないと判断されたときは（ステップＳ１９においてＮＯ）、ステップＳ９へ戻る。複合ブロック５におけるすべての符号化ブロック４の動きベクトルの検出が終了したと判断されたときは（ステップＳ１９においてＹＥＳ）、動きベクトルの検出処理を終了する（ステップＳ２０）。
【００８６】
本実施の形態に係る階層的動きベクトル検出の特徴は、１段目（階層Ｌ１）の動きベクトル検出において縮小複合ブロック６に重み付け／非重み付けの領域分けを導入したことである。また、これらの領域に対応した２段目（階層Ｌ０）の符号化ブロック４の動きベクトル検出において、これら２つの重み付け／非重み付け領域間で動きベクトル探索の範囲を変えることである。
【００８７】
階層Ｌ０における複数の符号化ブロック４によって構成される複合ブロック５を階層Ｌ１において一つの縮小複合ブロック６として扱う。これにより縮小複合ブロックのサイズが拡大するため対象ブロック内データ数も増える。このため、動きベクトル検出の精度劣化を抑えることができる。
【００８８】
しかし一方で、複数の符号化ブロック４を一つの縮小複合ブロック６にすることで広い画像範囲を対象とすることになり、他と異なる動きを有するブロックも含まれるおそれも増大する。このため、縮小複合ブロック６の中央と周辺とで重み付けを変え、中央領域は重み付けし、その周辺領域は重み付けをせず、中央領域の動きが優位に選択されるように設定する。なお、非重み付けの周辺領域については非優位な選択を補うため、２段目の階層Ｌ０で前記周辺領域と空間的に対応するブロックについて動きベクトルの探索範囲を広げることを特徴としている。
【００８９】
具体的には、階層Ｌ０における複合ブロック５を構成する符号化ブロック４に対応するように階層Ｌ１の縮小複合ブロック６を分けた場合、複合ブロックの中央ブロックに対応する縮小複合ブロック６の中央領域（例えば、図３の縮小複合ブロック６の斜線領域）を重み付けし、残った周辺領域を重み付けしない。
【００９０】
重み付け領域についてはブロックマッチングの際、差分絶対値に所定の重み付け値を乗算し非重み付け領域の差分絶対値よりも大きくする。これによって、縮小複合ブロック６の重み付けされた中央領域のＳＡＤ値に縮小複合ブロック６全体のＳＡＤが偏るため、そのときの動きベクトルが検出されやすくなる。
【００９１】
また、階層Ｌ０において縮小複合ブロック６の重み付け領域に対応する符号化ブロックと非重み付け領域に対応する符号化ブロックとで動きベクトルの探索範囲を変える。すなわち、非重み付け領域に対応する符号化ブロックの動きベクトルの探索範囲を重み付け領域に対応する符号化ブロックの探索範囲よりも広げている。
【００９２】
以上のように本実施の形態によれば、縮小複合ブロック６に配置された画素データと縮小参照領域９に設けられた縮小複合参照ブロックに配置された画素データとの間の差分値を加算した評価値に基づいて縮小動きベクトルが検出され、差分値は、縮小複合ブロック６における所定の領域に配置された画素データと縮小複合参照ブロックにおいて所定の領域に対応する領域に配置された画素データとにそれぞれ重み付けをして算出される。
【００９３】
このため、縮小複合ブロック６に配置された画素データの一部が特異な画素データであっても、特異な画素データの影響を排除するように重み付けをする所定の領域を設定することができる。その結果、動きベクトルの検出精度を向上させることができる。
【００９４】
本実施の形態においては、縮小画像による１段目の動きベクトル検出において、縮小複合ブロック６の中央と周辺とで重み付けを変えて縮小動きベクトルを検出し、その縮小動きベクトルに基づいて、縮小前の原画像による２段目の動きベクトル検出において、縮小複合ブロック６における中央と周辺とに対応する符号化ブロックについて動きベクトルの探索範囲を変えることで、階層的動きベクトルの検出精度の劣化を抑えることできる。
【００９５】
なお、本実施の形態では複合ブロック５が１６個の符号化ブロック４によって構成される例を説明したが、本発明はこれに限定されない。複数の符号化ブロックであれば複合ブロック５を任意に構成してもよい。
【００９６】
また、本実施の形態においては、中央と周辺と２段に分けて重み付け／非重み付け領域を分けたが、さらに細かく複数に分けて重み付けを変えてもよい。
【００９７】
図６および図７は、実施の形態に係る動きベクトル検出装置の他の動作を示すフローチャートである。図４および図５を参照して前述した動きベクトル検出装置の動作を示すフローチャートの構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【００９８】
図６および図７に示すフローチャートにおいては、図４および図５を参照して前述した手順と異なり、１段目（階層Ｌ１）の動きベクトル検出において縮小複合ブロック６における重み付け領域の差分絶対値和の最小値ｓａｄｗ＿ｍｉｎを算出する。そして、この最小値ｓａｄｗ＿ｍｉｎと縮小複合ブロック６全体の最小値（ｍｉｎ（ｓａｄ））とを比較する。そこでこれら２つの最小値間の差が小さい場合は、縮小ブロックは全体として一様な動きのブロックであると判定する。従って、一様な動きのブロックと判定された場合、階層Ｌ０での重み付け領域／非重み付け領域間での動きベクトル探索範囲の変更を実施しなくてもよい。このため、２段目の動きベクトル探索の演算が軽減される。
【００９９】
図６および図７を参照すると、ステップＳ１〜ステップＳ４は、図４を参照して前述したステップＳ１〜ステップＳ４と同一である。
【０１００】
そして、ステップＳ２において読み出された縮小複合ブロック６に配置された画素データが重み付け領域に属するか否かが判断される（ステップＳ１０１）。
【０１０１】
縮小複合ブロック６に配置された画素データが重み付け領域に属すると判断されたときは（ステップＳ１０１においてＹＥＳ）、縮小動きベクトル検出器１は、縮小複合ブロック６に配置された画素データと縮小参照領域９に設けられた縮小複合参照ブロックに配置された画素データとの間の絶対差分値を算出し、算出した絶対差分値に所定の重み付け係数を乗算した差分絶対値和ｓａｄｗを求める（ステップＳ１０２）。
【０１０２】
そして、ステップＳ１０２において求められた差分絶対値和ｓａｄｗが、これまでに求められた差分絶対値和ｓａｄｗよりも小さいか否かが判断される（ステップＳ１０７）。差分絶対値和ｓａｄｗが、これまでに求められた差分絶対値和ｓａｄｗよりも小さいと判断されたときは（ステップＳ１０７においてＹＥＳ）、ステップＳ１０２において求められた差分絶対値和ｓａｄｗを最小差分絶対値和ｓａｄｗ＿ｍｉｎとして更新する（ステップＳ１０８）。
【０１０３】
縮小複合ブロック６に配置された画素データが重み付け領域に属さないと判断されたときは（ステップＳ１０１においてＮＯ）、縮小動きベクトル検出器１は、縮小複合ブロック６に配置された画素データと縮小参照領域９に設けられた縮小複合参照ブロックに配置された画素データとの間の絶対差分値を算出し、算出した絶対差分値を非重み付け領域における差分絶対値和ｓａｄｗｏとする（ステップＳ１０３）。
【０１０４】
差分絶対値和ｓａｄｗが、これまでに求められた差分絶対値和ｓａｄｗよりも小さくないと判断されたとき（ステップＳ１０７においてＮＯ）、または差分絶対値和ｓａｄｗを最小差分絶対値和ｓａｄｗ＿ｍｉｎとして更新したとき（ステップＳ１０８）、または差分絶対値和ｓａｄｗｏが求められたとき（ステップＳ１０３）は、縮小動きベクトル検出器１は、差分絶対値和ｓａｄｗと差分絶対値和ｓａｄｗｏとを加算した縮小複合ブロック６の差分絶対値和ｓａｄを算出する（ステップＳ１０４）。
【０１０５】
そして、ステップＳ１０４において算出された縮小複合ブロック６の差分絶対値和ｓａｄが、これまでに算出された差分絶対値和ｓａｄよりも小さいか否かが判断される（ステップＳ１０５）。縮小複合ブロック６の差分絶対値和ｓａｄが、これまでに算出された差分絶対値和ｓａｄよりも小さいと判断されたときは（ステップＳ１０５においてＹＥＳ）、これまでに算出された差分絶対値和ｓａｄよりも小さいと判断された縮小複合ブロック６の差分絶対値和ｓａｄを算出したときの縮小参照領域９に配置された画素データの位置と、縮小複合ブロック６の中心位置との間の変位量（ｄｈ、ｄｖ）を縮小複合ブロック６の縮小動きベクトルｍｖとして更新する（ステップＳ１０６）。
【０１０６】
縮小複合ブロック６の差分絶対値和ｓａｄが、これまでに算出された差分絶対値和ｓａｄよりも小さくないと判断されたとき（ステップＳ１０５においてＮＯ）または縮小複合ブロック６の中心位置との間の変位量（ｄｈ、ｄｖ）を縮小複合ブロック６の縮小動きベクトルｍｖとして更新したとき（ステップＳ１０６）は、縮小参照領域９のアドレスをインクリメントする（ステップＳ６）。
【０１０７】
そして、インクリメントされた縮小参照領域９のアドレスが探索範囲外であり探索範囲が終了したか否かが判断される（ステップＳ７）。探索範囲が終了していないと判断されたときは（ステップＳ７においてＮＯ）、ステップＳ４へ戻る。インクリメントされた縮小参照領域９のアドレスの画素データが読み込まれ、ステップＳ４からステップＳ６までの一連のプロセスが繰り返される。
【０１０８】
探索範囲が終了したと判断されたときは（ステップＳ７においてＹＥＳ）、縮小複合ブロック６の縮小動きベクトルｍｖに縮小率４分の１の逆数を乗算して縮小動きベクトルｍｖを補正し、階層Ｌ０における動きベクトル検出のための初期動きベクトル（動きベクトルを探索するための中心位置）とする。
【０１０９】
そして、階層Ｌ０における複合ブロック５を構成する符号化ブロック４のナンバーｎ＝０として先頭の符号化ブロック４を指定する（ステップＳ８）。次に、ナンバーｎによって示される符号化ブロック４に配置された画素データが現フレームバッファ４２から動きベクトル検出器２へ読み出される（ステップＳ９）。
【０１１０】
その後、ナンバーｎによって示される符号化ブロック４が縮小複合ブロック６に設定された重み付け領域に対応する符号化ブロックであるか、または、ステップＳ１０８において更新された縮小複合ブロック６の重み付け領域における最小差分絶対値和ｓａｄｗ＿ｍｉｎとステップＳ１０５における縮小複合ブロック６の差分絶対値和ｍｉｎ（ｓａｄ）との間の差分絶対値が所定の値ｔｈ１よりも小さいかが判断される（ステップＳ３０１Ａ）。
【０１１１】
ナンバーｎによって示される符号化ブロック４が縮小複合ブロック６に設定された重み付け領域に対応する符号化ブロックであるか、または、ステップＳ１０８において更新された縮小複合ブロック６の重み付け領域における最小差分絶対値和ｓａｄｗ＿ｍｉｎとステップＳ１０５における縮小複合ブロック６の差分絶対値和ｍｉｎ（ｓａｄ）との間の差分絶対値が所定の値ｔｈ１よりも小さいと判断されたときは（ステップＳ３０１ＡにおいてＹＥＳ）、動きベクトルの探索を開始するための動きベクトル探索開始位置をｈ＝−Ｈ０、ｖ＝−Ｖ０（Ｈ０およびＶ０はゼロ以上）に設定する（ステップＳ１０）。
【０１１２】
ナンバーｎによって示される符号化ブロック４が縮小複合ブロック６に設定された重み付け領域に対応する符号化ブロックでなく、且つ、ステップＳ１０８において更新された縮小複合ブロック６の重み付け領域における最小差分絶対値和ｓａｄｗ＿ｍｉｎとステップＳ１０５における縮小複合ブロック６の差分絶対値和ｍｉｎ（ｓａｄ）との間の差分絶対値が所定の値ｔｈ１よりも小さくないと判断されたときは（ステップＳ３０１ＡにおいてＮＯ）、動きベクトルの探索を開始するための動きベクトル探索開始位置をｈ＝−Ｈ０−ｐ、ｖ＝−Ｖ０−ｑ（ｐ＞０、ｑ＞０）に設定する（ステップＳ３０２）。
【０１１３】
ステップＳ１１からステップＳ１５までは、図５を参照して前述したステップＳ１１〜ステップＳ１５と同一である。
【０１１４】
そして、ナンバーｎによって示される符号化ブロック４が重み付け領域に対応する符号化ブロックであるか、または、ステップＳ１０８において更新された縮小複合ブロック６の重み付け領域における最小差分絶対値和ｓａｄｗ＿ｍｉｎとステップＳ１０５における縮小複合ブロック６の差分絶対値和ｍｉｎ（ｓａｄ）との間の差分絶対値が所定の値ｔｈ１よりも小さいかが判断される（ステップＳ４１１）。
【０１１５】
ナンバーｎによって示される符号化ブロック４が縮小複合ブロック６に設定された重み付け領域に対応する符号化ブロックであるか、または、ステップＳ１０８において更新された縮小複合ブロック６の重み付け領域における最小差分絶対値和ｓａｄｗ＿ｍｉｎとステップＳ１０５における縮小複合ブロック６の差分絶対値和ｍｉｎ（ｓａｄ）との間の差分絶対値が所定の値ｔｈ１よりも小さいと判断されたときは（ステップＳ４１１においてＹＥＳ）、検索範囲（ｈ＝Ｈ０、ｖ＝Ｖ０）が終了したか否かを判断する（ステップＳ１６）。検索範囲（ｈ＝Ｈ０、ｖ＝Ｖ０）が終了していないと判断されたときは（ステップＳ１６においてＮＯ）、ステップＳ１１へ戻り、次の参照領域データを読み出す。
【０１１６】
ナンバーｎによって示される符号化ブロック４が縮小複合ブロック６に設定された重み付け領域に対応する符号化ブロックでなく、且つ、ステップＳ１０８において更新された縮小複合ブロック６の重み付け領域における最小差分絶対値和ｓａｄｗ＿ｍｉｎとステップＳ１０５における縮小複合ブロック６の差分絶対値和ｍｉｎ（ｓａｄ）との間の差分絶対値が所定の値ｔｈ１よりも小さくないと判断されたときは（ステップＳ４１１においてＮＯ）、検索範囲（ｈ＝Ｈ０＋ｐ、ｖ＝Ｖ０＋ｑ）が終了したか否かを判断する（ステップＳ４０２）。検索範囲（ｈ＝Ｈ０＋ｐ、ｖ＝Ｖ０＋ｑ）が終了していないと判断されたときは（ステップＳ４０２においてＮＯ）、ステップＳ１１へ戻る。
【０１１７】
ステップＳ１７からステップＳ２０までは、図５を参照して前述したステップＳ１７〜ステップＳ２０と同一である。
【０１１８】
このように、１段目の縮小複合ブロック６に設けられた重み付け領域における最小ＳＡＤを算出し、それを縮小複合ブロック６全体の最小ＳＡＤと比較することで、その差が所定の値以下で小さければ縮小複合ブロック６は全体として一様な動きのブロックとみなし、階層Ｌ０において重み付け領域／非重み付け領域間での動きベクトル探索範囲を変更しなくてもよい。このため、動きベクトル探索範囲を削減することができる。
【０１１９】
なお、本実施の形態では縮小複合ブロック６に設けられた重み付け領域の最小値ＳＡＤを算出し、それを階層Ｌ０において条件判断で用いたが、重み付け領域の最小値ＳＡＤの動きベクトルを算出し、縮小複合ブロック６全体の動きベクトルと比較する条件を用いてもよい。その場合、動きベクトルの値が所定の範囲内であれば、全体として一様な動きのブロックとみなせばよい。
【０１２０】
図８は、実施の形態に係る動きベクトル検出装置のさらに他の動作を説明するための模式図である。図３を参照して前述した構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【０１２１】
符号化フレーム３Ａは、７２０画素×４８０ラインによって構成されており、複合ブロック５Ａを有している。複合ブロック５Ａは、動きベクトルを求める対象となる複数の符号化ブロック４Ａを有している。符号化ブロック４Ａは、２行×２列のマトリックス状に配置されている。各符号化ブロック４Ａは、１６行×１６列の画素によって構成されている。参照フレーム７Ａは、７２０画素×４８０ラインによって構成されており、動きベクトルを検出するための参照領域８Ａを有している。
【０１２２】
縮小符号化フレーム１７Ａは、符号化フレーム３Ａを水平方向および垂直方向に沿って４分の１に縮小したものであり、１８０画素×１２０ラインによって構成されている。縮小符号化フレーム１７Ａは、複合ブロック５Ａを水平方向および垂直方向に沿って４分の１に縮小した縮小複合ブロック６Ａを有している。縮小複合ブロック６Ａは、２行×２列のマトリックス状に配置された縮小符号化ブロックによって構成されている。各縮小符号化ブロックは、４行×４列のマトリックス状に配置された画素によって構成されている。
【０１２３】
縮小参照フレーム１６Ａは、参照フレーム７Ａを水平方向および垂直方向に沿って４分の１に縮小したものであり、１８０画素×１２０ラインによって構成されている。縮小参照フレーム１６Ａは、参照領域８Ａを水平方向および垂直方向に沿って４分の１に縮小した縮小参照領域９Ａを有している。
【０１２４】
本実施の形態においては、１段目（階層Ｌ１）の動きベクトル検出において、縮小複合ブロック６Ａ全体の縮小メイン動きベクトルを検出すると同時に、縮小複合ブロック６Ａ（ｍｂ）のサブブロック（ｍｂｎ）の縮小サブ動きベクトルを求める。このとき、サブブロックの縮小サブ動きベクトル（ｍｖｎ）は縮小複合ブロック６Ａの縮小メイン動きベクトル（ｍｖ）の探索範囲内において同時に探索される。また、サブブロックは２段目（階層Ｌ０）の複合ブロック５Ａを構成する符号化ブロック４Ａにそれぞれ空間的に対応する。
【０１２５】
このことによって、縮小複合ブロック６Ａの動きと大きく異なる動きがサブブロックに存在した場合、サブブロックの縮小サブ動きベクトルを階層Ｌ０における２段目の動きベクトルとして用いることで、動きベクトル検出精度の劣化を抑えることができる。
【０１２６】
サブブロックの縮小サブ動きベクトル検出については、サブブロックそれぞれのＳＡＤ（ｓａｄｎ）を算出し、それらｓａｄｎの最小時の動きベクトルを検出する。縮小複合ブロック６Ａ全体の縮小メイン動きベクトルは、サブブロックのｓａｄｎを総和したｓａｄが最小となるときの動きベクトルを検出する。
【０１２７】
なお、２段目（階層Ｌ０）における動きベクトル検出では、サブブロックの縮小サブ動きベクトルと縮小複合ブロック６Ａ全体の縮小メイン動きベクトルとの間の差が所定の値以内であれば、縮小複合ブロック６Ａ全体の縮小メイン動きベクトルを２段目（階層Ｌ０）における動きベクトルとする。もしサブブロックの縮小サブ動きベクトルと縮小複合ブロック６Ａ全体の縮小メイン動きベクトルとが、所定の値を超えて異なれば、サブブロックの縮小サブ動きベクトルに基づいて、符号化ブロックの動きベクトルを検出する。
【０１２８】
図９および図１０は、実施の形態に係る動きベクトル検出装置のさらに他の動作を示すフローチャートである。図４および図５を参照して前述したフローチャートの構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【０１２９】
ステップＳ１〜ステップＳ４は、図４を参照して前述したステップＳ１〜ステップＳ４と同一である。
【０１３０】
そして、縮小サブブロックｍｂｎ  のデータと縮小参照領域９Ａの対応データとの差分絶対値和であるｓａｄｎを算出する（ステップＳ１１１）。この場合ｎは０、１、２、３である。
【０１３１】
次に、算出されたｓａｄ０、ｓａｄ１、ｓａｄ２、ｓａｄ３が、動きベクトル検索範囲内でこれまでのそれらよりも小さな値か否かが判定される（ステップＳ１１２）。もし小さな値であれば（ステップＳ１１２においてＹＥＳ）、そのときの動きベクトル値（縮小サブブロックｍｂｎの中心からそれに対応する縮小参照領域（サブ縮小参照領域）の中心までの空間的変位量ｍｖｎ＝（ｄｈ、ｄｖ））が更新される（ステップＳ１１３）。
【０１３２】
算出されたｓａｄ０、ｓａｄ１、ｓａｄ２、ｓａｄ３が、動きベクトル検索範囲内でこれまでのそれらよりも小さな値でないとき（ステップＳ１１２においてＮＯ）、またはｍｖｎ＝（ｄｈ、ｄｖ））が更新されたとき（ステップＳ１１３）は、縮小サブブロックｍｂｎのｓａｄ０、ｓａｄ１、ｓａｄ２、ｓａｄ３を互いに加算して縮小複合ブロック６Ａ全体の差分絶対値和ｓａｄを算出する（ステップＳ１１４）。
【０１３３】
そして、縮小複合ブロック６Ａ全体の差分絶対値和ｓａｄがこれまでのｓａｄ値よりも小さいか否かが判定される（ステップＳ１１５）。もし、小さければ（ステップＳ１１５においてＹＥＳ）、そのときの動きベクトル（縮小複合ブロックｍｂの中心から探索縮小参照領域の中心までの空間的変位量ｍｖ＝（ｄｈ、ｄｖ））が算出される（ステップＳ１１６）。
【０１３４】
縮小複合ブロック６Ａ全体の差分絶対値和ｓａｄがこれまでのｓａｄ値よりも小さくないと判定されたとき（ステップＳ１１５においてＮＯ）、または、空間的変位量ｍｖ＝（ｄｈ、ｄｖ））が算出されたとき（ステップＳ１１６）は、次の探索範囲の縮小参照領域に配置された画素データを読み出すために、水平ｈあるいは垂直ｖのカウントがインクリメントされる（ステップＳ６）。
【０１３５】
そして、検索範囲が終了したか否かが判断される（ステップＳ７）。検索範囲が終了していないと判断されたときは（ステップＳ７においてＮＯ）、ステップＳ４へ戻る。検索範囲が終了したと判断されたときは（ステップＳ７においてＹＥＳ）、階層Ｌ０における複合ブロック５Ａを構成する符号化ブロック４Ａのナンバーｎ＝０として先頭の符号化ブロック４Ａを指定する（ステップＳ８）。
【０１３６】
次に、現フレームバッファ４２から符号化ブロックＭＢｎ（開始時ｎ＝０）に配置された画素データが読み出される（ステップＳ９）。その後、符号化ブロックＭＢｎに空間的に対応する縮小サブブロックｍｂｎの縮小サブ動きベクトル（ｍｖｎ）と縮小複合ブロックｍｂの縮小メイン動きベクトル（ｍｖｎ）とが比較され、その差分が所定の値ｔｈ２未満であるか否かが判断される（ステップＳ３２１）。
【０１３７】
符号化ブロックＭＢｎに空間的に対応する縮小サブブロックｍｂｎの縮小サブ動きベクトル（ｍｖｎ）と縮小複合ブロックｍｂの縮小メイン動きベクトル（ｍｖｎ）との間の差分が所定の値ｔｈ２未満であると判断されたときは（ステップＳ３２１においてＹＥＳ）、対象符号化ブロックＭＢｎの初期の動きベクトルは縮小複合ブロック６Ａ全体の縮小メイン動きベクトルを補正（縮小の逆比を乗算）した値が設定される（ステップＳ３２２）。
【０１３８】
符号化ブロックＭＢｎに空間的に対応する縮小サブブロックｍｂｎの縮小サブ動きベクトル（ｍｖｎ）と縮小複合ブロックｍｂの縮小メイン動きベクトル（ｍｖｎ）との間の差分が所定の値ｔｈ２未満でないと判断されたときは（ステップＳ３２１においてＮＯ）、符号化ブロックＭＢｎの初期動きベクトルは縮小サブブロックの縮小サブ動きベクトルを補正した値（縮小の逆比を乗算）に設定される（ステップＳ３２３）。
【０１３９】
縮小サブブロックの縮小サブ動きベクトルと縮小複合ブロックｍｂの縮小メイン動きベクトルとの比較は、例えば、両動きベクトル間における水平方向に沿った動きベクトル成分ｄｈの差分絶対値と垂直方向に沿った動きベクトル成分ｄｖの差分絶対値とを加えたものが用いられる。
【０１４０】
この後のプロセスは、上記どちらかの初期動きベクトル値を探索の中心にして、符号化ブロックＭＢｎとそれに対応する参照領域データとの間でブロックマッチングされる。その結果、最小のＳＡＤが算出された参照領域の中心と符号化ブロックのＭＢｎの中心との空間的変位が動きベクトル値として算出される。
【０１４１】
以上のように本実施の形態によれば、参照フレーム７Ａに設けられた参照領域８Ａを縮小した縮小参照領域９Ａに配置された画素データに基づいて、符号化フレーム３Ａに設けられた複数の符号化ブロック４Ａを含む複合ブロック５Ａを縮小した縮小複合ブロック６Ａの動きベクトルを表す縮小メイン動きベクトルと、符号化フレーム３Ａにそれぞれ設けられた各符号化ブロック４Ａと対応するように縮小複合ブロック６Ａにそれぞれ配置された縮小サブブロックの動きベクトルを表す縮小サブ動きベクトルとがそれぞれ検出され、それぞれ検出された縮小メイン動きベクトルと縮小サブ動きベクトルとに基づいて、複合ブロック５Ａに含まれる各符号化ブロック４Ａの動きベクトルがそれぞれ検出される。
【０１４２】
このため、縮小複合ブロック６Ａに配置された画素データの一部が特異な画素データであっても、動きベクトルの検出精度を向上させることができる。
【０１４３】
このように、１段目の動きベクトル検出において縮小ブロック全体の動きベクトル検出と同時に縮小ブロックのサブブロック（２段目の複合ブロックを構成する個々のブロックに空間的に対応）の動きベクトルを求めることで、縮小ブロック全体と大きく異なる動きがサブブロックに存在する場合、１段目のサブブロックの動きベクトルを２段目に用いることで動きベクトルの検出精度の劣化を抑えることができる。
【０１４４】
図１１は、実施の形態に係る動きベクトル検出装置のさらに他の動作を示すフローチャートである。動きベクトル検出装置のさらに他の動作について、前述した図９および図１０に示すフローチャートに追加変更を加えた図１１に示すフローチャートを用いて説明する。なお、本実施例の説明図としては図８の説明図を用いる。前述した図９および図１０に示すフローチャートの構成要素と同一の構成要素には、同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【０１４５】
本実施例では、階層Ｌ０における複数の符号化ブロック４Ａ（１６画素×１６ラインからなる４個のブロック）によって構成された複合ブロック５Ａが、階層Ｌ１において一つの縮小化された縮小複合ブロック６Ａとして縮小動きベクトルが検出される。階層Ｌ１は、水平１／４、垂直１／４に縮小化された場合とする。
【０１４６】
本実施例と前述した図９および図１０に示すフローチャートの実施例との違いは、２段目（階層Ｌ０）の動きベクトル検出における初期動きベクトルの設定に関して、１段目（階層Ｌ１）で検出された縮小複合ブロック６Ａの縮小メイン動きベクトルと縮小サブブロックの縮小サブ動きベクトルとを比較判定する方法に関する部分である。
【０１４７】
前述した図９および図１０に示すフローチャートの実施例においては、縮小複合ブロック６Ａ全体の縮小メイン動きベクトルに対して縮小サブブロックの縮小サブ動きベクトルが大きく異なる場合は、すべて縮小サブブロックの縮小サブ動きベクトルを２段目の初期動きベクトルとして設定した。これに対して本実施例においては、上記縮小複合ブロック６Ａ全体の縮小メイン動きベクトルに対して縮小サブブロックの縮小サブ動きベクトルが大きく異なる場合についても、縮小サブブロックの最小ｓａｄｎが小さく、且つその最小ｓａｄｎの４倍と縮小複合ブロック６Ａ全体の最小ｓａｄとの差分が小さい場合には、その縮小サブブロックの縮小サブ動きベクトルは縮小複合ブロック６Ａ全体の縮小メイン動きベクトルと同じにするという条件が加わる。
【０１４８】
このことは、一部の縮小サブブロックの縮小サブ動きベクトル検出において、できるだけ小さなｓａｄの縮小参照領域とのマッチングが優先され、その結果本来の動きベクトルと大きくかけ離れたベクトルが選択されてしまう場合を抑制させるためである。このようなケースとして、最小ｓａｄｎが小さく他のサブブロックのｓａｄｎも差が小さく、動きベクトルだけが大きい場合がある。
【０１４９】
本実施例では、階層Ｌ０の複合ブロック５Ａを縮小化した１段目（階層Ｌ１）のある縮小ブロックについて動きベクトルを検出し、それを初期動きベクトル値（前記動きベクトルは縮小比率の逆比で補正された値）として２段目（階層Ｌ０）の符号化ブロック４Ａの動きベクトルを検出するそのプロセスの一部を示したものである。
【０１５０】
階層Ｌ１において縮小複合ブロック６Ａの縮小メイン動きベクトルおよびそのサブブロックの縮小サブ動きベクトルを検出するステップは、前述した図９および図１０に示すフローチャートの実施例と同一である。
【０１５１】
初期動きベクトルを検出した後、階層Ｌ０において符号化ブロックＭＢｎの動きベクトルを検出する。この場合、ｎ＝０、１、２、３である。
【０１５２】
そして、現フレームバッファ４２から符号化ブロックＭＢｎ（開始時ｎ＝０）に配置された画素データが読み出される（ステップＳ９）。次に、符号化ブロックＭＢｎに対応する縮小サブブロックｍｂｎの縮小サブ動きベクトル（ｍｖｎ）と縮小複合ブロックｍｂの縮小メイン動きベクトル（ｍｖｎ）とが比較され、その差分が所定の値（ｔｈ２）未満であるか否かが判断される（ステップＳ３２１）。
【０１５３】
符号化ブロックＭＢｎに対応する縮小サブブロックｍｂｎの縮小サブ動きベクトル（ｍｖｎ）と縮小複合ブロックｍｂの縮小メイン動きベクトル（ｍｖｎ）との間の差分が所定の値（ｔｈ２）未満でないと判断されたときは（ステップＳ３２１においてＮＯ）、符号化ブロックＭＢｎに対応する縮小サブブロックの最小ｓａｄｎが所定の値（ｔｈ３）未満であって、且つその最小値を４倍した値と縮小複合ブロックの最小ｓａｄと間の差分絶対値が所定の値（ｔｈ４）未満であるか否かが判断される（ステップＳ３３１）。
【０１５４】
符号化ブロックＭＢｎに対応する縮小サブブロックｍｂｎの縮小サブ動きベクトル（ｍｖｎ）と縮小複合ブロックｍｂの縮小メイン動きベクトル（ｍｖｎ）との間の差分が所定の値（ｔｈ２）未満であると判断されたときは（ステップＳ３２１においてＹＥＳ）、または、符号化ブロックＭＢｎに対応する縮小サブブロックの最小ｓａｄｎが所定の値（ｔｈ３）未満であって、且つその最小値を４倍した値と縮小複合ブロックの最小ｓａｄと間の差分絶対値が所定の値（ｔｈ４）未満であると判断されたとき（ステップＳ３３１においてＹＥＳ）は、符号化ブロックＭＢｎの初期の動きベクトルを、縮小複合ブロック６Ａ全体の縮小メイン動きベクトルを補正した値に設定する（ステップＳ３２２）。
【０１５５】
符号化ブロックＭＢｎに対応する縮小サブブロックの最小ｓａｄｎが所定の値（ｔｈ３）未満でないか、または、その最小値を４倍した値と縮小複合ブロックの最小ｓａｄと間の差分絶対値が所定の値（ｔｈ４）未満でないと判断されたとき（ステップＳ３３１においてＮＯ）は、符号化ブロックＭＢｎの初期の動きベクトルを、縮小サブブロックの縮小サブ動きベクトルに設定する（ステップＳ３２３）。
【０１５６】
この後のプロセスは、前述した図９および図１０に示すフローチャートの実施例と同一であり、上記どちらかの初期動きベクトル値を探索の中心にして、符号化ブロックＭＢｎとそれに対応する参照領域データとでブロックマッチングし、最小のＳＡＤの参照領域の中心と符号化ブロックＭＢｎの中心との間の空間的変位量を動きベクトルとする。
【０１５７】
以上のように本実施の形態によれば、１段目の動きベクトル検出において、一部の縮小サブブロックが誤ってより小さなｓａｄの縮小参照領域のデータとマッチングされてしまい、その結果２段目の動きベクトル探索において大きく異なる初期動きベクトルが設定されてしまうという問題を避けることができる。
【０１５８】
【発明の効果】
以上のように本発明によれば、動きベクトルの検出精度が高い動きベクトル検出装置および動きベクトル検出方法を提供することができる。
【図面の簡単な説明】
【図１】実施の形態に係る動きベクトル検出装置の構成を示すブロック図
【図２】実施の形態に係る動きベクトル検出装置に設けられた縮小動きベクトル検出器の構成を説明するためのブロック図
【図３】実施の形態に係る動きベクトル検出装置の動作を説明するための模式図
【図４】実施の形態に係る動きベクトル検出装置の動作を示すフローチャート
【図５】実施の形態に係る動きベクトル検出装置の動作を示すフローチャート
【図６】実施の形態に係る動きベクトル検出装置の他の動作を示すフローチャート
【図７】実施の形態に係る動きベクトル検出装置の他の動作を示すフローチャート
【図８】実施の形態に係る動きベクトル検出装置のさらに他の動作を説明するための模式図
【図９】実施の形態に係る動きベクトル検出装置のさらに他の動作を示すフローチャート
【図１０】実施の形態に係る動きベクトル検出装置のさらに他の動作を示すフローチャート
【図１１】実施の形態に係る動きベクトル検出装置のさらに他の動作を示すフローチャート
【図１２】従来の動きベクトル検出装置の動作を説明するための模式図
【図１３】従来の動きベクトル検出装置における縮小画像を生成する方法を説明するための模式図
【図１４】従来の動きベクトル検出装置の他の動作を説明するための模式図
【符号の説明】
１  縮小動きベクトル検出器
２  動きベクトル検出器
３、３Ａ、３Ｂ、３Ｃ  符号化フレーム
４、４Ａ、４Ｂ、４Ｃ  符号化ブロック
５、５Ａ、５Ｃ  複合ブロック
６  ６Ａ、６Ｃ  縮小複合ブロック
６Ｂ  縮小ブロック
７、７Ａ、７Ｂ、７Ｃ  参照フレーム
８、８Ａ、８Ｂ、８Ｃ  参照領域
９、９Ａ、９Ｂ、９Ｃ  縮小参照領域
１６、１６Ａ、１６Ｂ、１６Ｃ  縮小参照フレーム
１７、１７Ａ、１７Ｂ、１７Ｃ  縮小符号化フレーム
４０  メモリユニット
４１  縮小器
４２  現フレームバッファ
４３  参照フレームバッファ
４５  符号化器
５０  アドレス移動器
５１  差分演算器
５２  絶対値算出器
５３  加算器
５４  判定器
５５  コントローラ
５６  メモリ
１００  動きベクトル検出装置
【図１】
2004179906.tif 000004
【図２】
2004179906.tif 000005
【図３】
2004179906.tif 000006
【図４】
2004179906.tif 000007
【図５】
2004179906.tif 000008
【図６】
2004179906.tif 000009
【図７】
2004179906.tif 000010
【図８】
2004179906.tif 000011
【図９】
2004179906.tif 000012
【図１０】
2004179906.tif 000013
【図１１】
2004179906.tif 000014
【図１２】
2004179906.tif 000015
【図１３】
2004179906.tif 000016
【図１４】
2004179906.tif 000017