(57)【要約】【課題】誤検出が少なくかつ所要演算量が少ない動きベクトル検出を行う。【解決手段】動きベクトルの多ステージ検出において、各ステージでの探索点間の最小距離に応じて、ブロック内の評価点の数を変更して、各ステージの探索点の評価値を計算する。【選択図】      図３
2008283505.tif 000002
【特許請求の範囲】
【請求項１】
多ステージ探索法を用いて、動画像信号の動きベクトルをブロック毎に検出する動きベクトル検出方法であって、下記（Ａ）−（Ｃ）のステップからなる動きベクトル検出方法。
（Ａ）各ステージにおける複数個の探索点の間の最小距離に基づいて、各ステージの探索点に対応する評価値を算出するためのブロック内評価点の個数を、前もって設定し、
（Ｂ）各ステージにおいては、直前のステージで評価値が最小となった探索点を基準として、当該ステージでの探索点を決定し、この決定された探索点に対応する評価値を、当該ステージに設定された評価点について計算し、
（ｃ）最終ステージにおいて最小評価値となった探索点を前記動きベクトルとして出力する。
【請求項２】
前記各ステージの評価点の個数は、対応するステージの前記探索点の最小距離が小さいほど、大きな値に設定されることを特徴とする請求項１に記載の動きベクトル検出方法。
【請求項３】
前記各ステージの評価点の個数は、対応するステージの前記探索点の最小距離に反比例して定められ、前記最終ステージの評価点の個数は、前記ブロック内の全画素数であることを特徴とする請求項２に記載の動きベクトル検出方法。
【請求項４】
前記多ステージの最初のステージの探索点は、現ブロックの近傍のブロックで検出された動きベクトルに基づいて決定される請求項１または２に記載の動きベクトル検出方法。
【請求項５】
前記評価値は、前記ブロック内の前記評価点の画素値と前記評価点から前記探索点だけずれた位置にある参照フレーム内の画素の値との差を、前記評価転移付いて積算するいことにより求められる値であることを特徴とする請求項１，２、３または４に記載の動きベクトル検出方法。
【請求項６】
多ステージ探索法を用いて、動画像信号の動きベクトルをブロック毎に検出する動きベクトル検出装置であって、
現ブロックの動画像信号が少なくとも格納された現ブロック動画像メモリと、
動きベクトルサーチ範囲内の参照フレーム内動画像信号が少なくとも格納された参照フレーム動画像メモリと、
各ステージにについて、複数個の探索点の間の最小距離に基づいて定められた、ブロック内評価点の個数及び位置であり、評価値を算出するためのブロック内評価点の個数及び位置を示すパラメータが格納されたパラメータメモリと、
前記各ステージ毎に、前記探索点に対応する評価値を計算する評価値計算部であり、直前のステージで評価値が最小となった探索点を基準として、当該ステージでの探索点を決定し、この決定された探索点に対応する評価値を、当該ステージに設定された評価点について計算し、最終ステージにおいて最小評価値となった探索点を前記動きベクトルとして出力する評価値計算部、
とからなる動きベクトル検出装置。
【請求項７】
前記各ステージの評価点の個数は、対応するステージの前記探索点の最小距離が小さいほど、大きな値に設定されることを特徴とする請求項６に記載の動きベクトル検出装置。
【請求項８】
前記各ステージの評価点の個数は、対応するステージの前記探索点の最小距離に反比例して定められ、前記最終ステージの評価点の個数は、前記ブロック内の全画素数であることを特徴とする請求項７に記載の動きベクトル検出装置。
【請求項９】
前記多ステージの最初のステージの探索点は、現ブロックの近傍のブロックで検出された動きベクトルに基づいて決定される請求項６または７に記載の動きベクトル検出装置。
【請求項１０】
前記評価値は、前記ブロック内の前記評価点の画素値と前記評価点から前記探索点だけずれた位置にある参照フレーム内の画素の値との差を、前記評価転移付いて積算するいことにより求められる値であることを特徴とする請求項６，７、８または９に記載の動きベクトル検出装置。
【請求項１１】
多ステージ探索法を用いて、動画像信号の動きベクトルをブロック毎に検出する動きベクトル検出をコンピュータに行わせるためのプログラムであって、このプログラムは、下記（Ａ）−（Ｃ）のステップからなる。
（Ａ）各ステージにおける複数個の探索点の間の最小距離に基づいて、各ステージの探索点に対応する評価値を算出するためのブロック内評価点の個数を、前もって設定し、
（Ｂ）各ステージにおいては、直前のステージで評価値が最小となった探索点を基準として、当該ステージでの探索点を決定し、この決定された探索点に対応する評価値を、当該ステージに設定された評価点について計算し、
（ｃ）最終ステージにおいて最小評価値となった探索点を前記動きベクトルとして出力する。
【請求項１２】
前記各ステージの評価点の個数は、対応するステージの前記探索点の最小距離が小さいほど、大きな値に設定されることを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記各ステージの評価点の個数は、対応するステージの前記探索点の最小距離に反比例して定められ、前記最終ステージの評価点の個数は、前記ブロック内の全画素数であることを特徴とする請求項１２に記載のプログラム。
【請求項１４】
前記多ステージの最初のステージの探索点は、現ブロックの近傍のブロックで検出された動きベクトルに基づいて決定される請求項１１または１２に記載の動きベクトル検出方法。
【請求項１５】
前記評価値は、前記ブロック内の前記評価点の画素値と前記評価点から前記探索点だけずれた位置にある参照フレーム内の画素の値との差を、前記評価転移付いて積算するいことにより求められる値であることを特徴とする請求項１１，１２、１３または１４に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像信号の動きベクトルを検出する技術に関する。
【背景技術】
【０００２】
近年、動画像信号を圧縮するための動画像符号化技術は、広く使用されている。しかしながら、この技術は、所要演算量が多いため、処理能力の低いプロセッサが搭載された端末では使用できない。また、プロセッサの処理能力が充分に大きかったとしても、この技術は大きな電力を消費するので、携帯端末での長時間使用には、必ずしもい適していない。
【０００３】
そこで、符号化復号化された画像の画質を低下させることなく、より要処理量をの少ない動画像符号化復号化技術が求められている。
【０００４】
動画像符号化復号化処理の中で、最も大きな処理量を要求されるものは、動画像信号の動きベクトル検出である。この動きベクトル検出では、現フレームの動画像信号は複数個のブロックに分割される。そして、現フレームのブロックの画像信号に最も類似した参照フレームの動画像信号が探索される。
【０００５】
この探索では、次の式（１）が、前もって定められた複数の探索点について計算される。そして式（１）の値が最小となった探索点が、動きベクトルとして検出される。なお、この式（１）の値は、「評価値」とも称される。また、これら複数の探索点は、「候補ベクトル」とも称される。
【０００６】
Ｄ（ｍ）
＝ΣＡＢＳ｛ｘ(i、j)−ｙ（ｉ−vx(m)、j−vy(m)）｝  ・・・（１）
ここで、ｘ(i、j)は、現フレームのブロックの動画像信号を示し、ｙ（i、j）は、参照フレームの動画像信号を示す。また、（vx(m)、vy(m)）（ｍ＝０，１，２、・・・、（M-1））は、探索点を示す。ABS｛  ｝は、絶対値を示す。また、現フレームのブロックの動画像信号値（ｘ(i、j)）と参照フレームの動画像信号値（（ｙ（ｉ、j））は、テレビジョン画面上で同一位置の信号値である。
【０００７】
式（１）から明らかなように、動きベクトル検出に要する演算量は、探索点の数Mにも大きく依存する。
【０００８】
特開平１０−１３８３５号公報(特許文献１)は、多ステージ探索法（「多ステップ探索法」ともよばれる）を記載している。この多ステージ検索法は、探索点の数Ｍを減らすことにより、動きベクトル検出のための演算量を削減する。この多ステージ探索法では、全ての探索点を一度に探索する代わりに、探索を多ステージに分けて行う。この多ステージ探索法は、直前のステージの探索点の中で最も小さい評価値を示した探索点を基に、さらにその近傍の探索点を、全ステージよりも小さな評価点間隔で、動くベクトルを探索する。
【０００９】
図1に、この多ステージ探索が３ステージで行われる場合の一例を示す。
【００１０】
図１の３ステージ探索の例では、第１ステージは、図1（ａ）に示された９個の探索点につき、式（１）の評価値計算を行う。図１］（ａ）では、探索点間の最小距離は、４である。
【００１１】
この第１ステージで、探索点（４，４）に対する評価値が最小いになった場合には、第2ステージでは、この探索点（４，４）近傍の、９個の第2ステージ用の探索点が、図1（ｂ）に示されたように、設定される。そして、第2ステージは、これら９個の第2ステージ用の探索点について、式（１）の評価値を計算する。この図１（ｂ）では、探索点間の最小距離は、２である。
【００１２】
この第2ステージで、探索点（６，４）に対する評価値が最小になった場合には、第３ステージ、即ち、最終ステージでは、この探索点（６，４）近傍の、9個の第３ステージ用の探索点が、図１（ｃ）のように、設定される。そして、第３ステージは、これら９個の第３ステージ用の探索点について、式（１）の評価値を計算する。この図１（ｃ）では、探索点間の最小距離は、１である。
【００１３】
この第３ステージでの評価値計算が終了すると、この第３ステージ用探索点の中で、最小の評価値となった探索点が、動きベクトルとして検出される。
【００１４】
このように、多ステージ探索は、探索点の数Ｍを減らすことにより、動きベクトル探索に要する演算量を削減している。
【００１５】
この動きベクトル検出のための演算量を削減する他の方法として、特開２０００−３０８０６４（特許文献２）は、「サブサンプリング法」を記載している。
【００１６】
図２は、このサブサンプリング法を説明するための図である。図２は、現フレームの８走査線ｘ8画素のブロックで、式（１）の評価値算出が行われる画素及び評価値算出が行われない画素（図２の×）を示している。このサブサンプリング法では、評価値算出の対象となる画素（「評価点」と称される）の数を制限することにより、動きベクトル検出のための所要演算量を削減している。
【００１７】
なお、特許文献２は、多ステージ探索とサブサンプリング法とを併用し、所要演算量をより削減する技術も紹介している。
【００１８】
【特許文献１】特開平１０−１３８３５号公報、段落４
【特許文献２】特開２０００−３０８０６４、段落１２，１３
【特許文献３】特公平３−６８５９７号公報、図２
【発明の開示】
【発明が解決しようとする課題】
【００１９】
この併用技術は、動きベクトル検出のための演算量を、さらに削減する。しかしながら、このサブサンプリングが使用された場合には、動きベクトルの検出精度は、低下する。たとえば、現ブロックの動画像信号が濃淡の変化が小さい画像である場合を考えてみる。この場合には、このサブサンプルにより、現ブロックの動画像信号と参照ブロック内の動画像信号との相違の程度が、正確には評価値に反映されなくなる。例えば、フルサンプリングによる真の動きベクトルに対する評価値と、フルサンプリングによるこの真の動きベクトル近傍の探索点の評価値との差が小さい場合には、サブサンプリングによる真の動きベクトルに対する評価値の方が大きくなることがある。この大小関係の逆転は、動きベクトルの誤検出をもたらす。また、この動きベクトル検出技術を動画像信号の符号化に適用する場合には、この動きベクトルの誤検出は、動画像信号の符号化能率を低下させる。
【００２０】
本発明は、誤検出が少なくかつ所要演算量が少ない動きベクトル検出技術を提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明の第１のアスペクトによれば、多ステージ探索法を用いて、動画像信号の動きベクトルをブロック毎に検出する動きベクトル検出方法であって、下記（Ａ）−（Ｃ）のステップからなる動きベクトル検出方法が提供される。
（Ａ）各ステージにおける複数個の探索点の間の最小距離に基づいて、各ステージの探索点に対応する評価値を算出するためのブロック内評価点の個数を、前もって設定し、
（Ｂ）各ステージにおいては、直前のステージで評価値が最小となった探索点を基準として、当該ステージでの探索点を決定し、この決定された探索点に対応する評価値を、当該ステージに設定された評価点について計算し、
（ｃ）最終ステージにおいて最小評価値となった探索点を前記動きベクトルとして出力する。
【００２２】
本発明の第２のアスペクトによれば、多ステージ探索法を用いて、動画像信号の動きベクトルをブロック毎に検出する動きベクトル検出装置であって、
現ブロックの動画像信号が少なくとも格納された現ブロック動画像メモリと、
動きベクトルサーチ範囲内の参照フレーム内動画像信号が少なくとも格納された参照フレーム動画像メモリと、
各ステージにについて、複数個の探索点の間の最小距離に基づいて定められた、ブロック内評価点の個数及び位置であり、評価値を算出するためのブロック内評価点の個数及び位置を示すパラメータが格納されたパラメータメモリと、
前記各ステージ毎に、前記探索点に対応する評価値を計算する評価値計算部であり、直前のステージで評価値が最小となった探索点を基準として、当該ステージでの探索点を決定し、この決定された探索点に対応する評価値を、当該ステージに設定された評価点について計算し、最終ステージにおいて最小評価値となった探索点を前記動きベクトルとして出力する評価値計算部、
とからなる動きベクトル計算装置が提供される。
【００２３】
本発明の第３のアスペクトによれば、多ステージ探索法を用いて、動画像信号の動きベクトルをブロック毎に検出する動きベクトル検出をコンピュータに行わせるためのプログラムであって、下記（Ａ）−（Ｃ）のステップからなるプログラムが提供される。
（Ａ）各ステージにおける複数個の探索点の間の最小距離に基づいて、各ステージの探索点に対応する評価値を算出するためのブロック内評価点の個数を、前もって設定し、
（Ｂ）各ステージにおいては、直前のステージで評価値が最小となった探索点を基準として、当該ステージでの探索点を決定し、この決定された探索点に対応する評価値を、当該ステージに設定された評価点について計算し、
（ｃ）最終ステージにおいて最小評価値となった探索点を前記動きベクトルとして出力する。
【発明の効果】
【００２４】
本発明は、誤検出が少なくかつ所要演算量が少ない動きベクトル検出を行う。その理由は、本発明は、動きベクトルの多ステージ検出において、各ステージでの探索点間の最小距離に応じて、ブロック内の評価点の数を変更し、各ステージの探索点の評価値を計算するからである。
【発明を実施するための最良の形態】
【００２５】
次に、図面を参照して本発明の一実施例が説明される。図３は、本発明に係る動きベクトル検出器の一実施例の構成例を示すブロック図である。
【００２６】
図３に示されたとおり、この実施例は、現ブロック動画像メモリ１と、参照フレーム動画像メモリ２と、プログラムメモリ３と、評価値計算用パラメータメモリ４と、中央処理装置（ＣＰＵ）１０とからなる。
【００２７】
現ブロック動画像メモリ１は、現フレームの現ブロックの動画像信号を、ＣＰＵ１０の指示に応じて、蓄積する。また、現ブロック動画像メモリ１は、現フレームの現ブロックの動画像信号を、ＣＰＵ１０の指示に応じて、ＣＰＵ１０に供給する。
【００２８】
参照フレーム動画像メモリ２は、現ブロックのサーチ範囲に対応する参照フレームの動画像信号を、ＣＰＵ１０の指示応じて、蓄積する。また、参照フレーム動画像メモリ２は、ＣＰＵの指示に応じて、現ブロックのサーチ範囲に対応する参照フレームの動画像信号を、ＣＰＵ１０に供給する。
【００２９】
なお、これら現ブロック動画像メモリ１と参照フレーム動画像メモリ２との少なくとも一方として、ＣＰＵ１０内の内部メモリが使用されることもできる。
【００３０】
プログラムメモリ３は、ＣＰＵ１０を動きベクトル検出器として動作させるためのプログラムが格納する。なお、このプログラムの構成・機能・動作については、後述される。
【００３１】
評価値計算用パラメータメモリ４は、ステージ毎に異なる評価値演算をＣＰＵ１０に行わせるためのパラメータ（後述）を格納する。
【００３２】
ＣＰＵ１０は、他の構成要素の制御を行う一方で、評価値の計算を行う評価値演算部としての役割をも担う。
【００３３】
本実施例では、動きベクトルの多ステージ探索の際に、各ステージでは、サブサンプリングの比率を変更する。
【００３４】
ここでは、ブロックサイズが８画素ｘ８画素の場合を例として本実施例を説明する。また、ここでは、動きベクトル検出のステージ数は３として説明する。また、各ステージで評価値計算対象となる探索点は、図1を参照して説明されたとおりとする。勿論、本発明はこれらの例のみに限定されないことは言うまでもない。
【００３５】
図４は、本実施例における各ステージでの現ブロックのサブサンプリングパターンを示す図である。図４（ａ）は、ステージ１におけるサブサンプリングパターンを示す。図４（ｂ）は、ステージ２におけるサブサンプリングパターンを示す。図４（ｃ）は、ステージ１におけるサブサンプリングパターンを示す。図４（ａ）−（ｃ）に示されるように、本実施例では、ステージ１での評価点の数が最も少ない（図４（ａ）では、ブロック内画素数の１／４）。また、ステージ３での評価点の数は、最も多い（図４（ｃ）ではブロック内の全画素）。ステージ２での評価点の数は、第1ステージでの評価点の数と第3ステージでの評価点の数との中間である（図４（ｂ）では、ブロック内画素数の１／２）。図１及び図４から明らかな通り、この例では、各ステージ内での探索点間の最小距離に反比例して、各ステージでの現ブロックの評価点の数が定められている。
【００３６】
初期のステージでは、探索点の最小間隔は大きい。したがって、初期のステージでは、各探索点に対応する参照フレームの動画像信号間の類似度は小さい。このため、初期のステージでは、ブロック当たりの評価点の数を少なくしても、サブサンプリングにより求められた最小評価値に対応する探索点は、フルサンプリンにより求められた最小評価値に対応する探索点と一致する。したがって、初期のステージでは、ブロック当たりの評価点の数を少なくしても、誤検出は発生し難い。「発明が解決しようとする課題」の欄で説明されたとおり、最終ステージで評価点の数を少なくすると動きベクトル誤検出が発生する可能性が高まる。しかしながら、本例では、最終ステージになるほど、ブロック内の評価点の数を多くしているので、最終ステージでの誤検出も発生し難い。
【００３７】
即ち、本例は、動きベクトルの多ステージ検出において、ステージが進むにしたがって、ブロック内の評価点の数を多くすることにより、動きベクトルの誤検出確率が低くかつ所要演算量が少ない動きベクトル検出を行う。
【００３８】
次に、図５、図６及び図７を参照して、図３のＣＰＵ１０を動きベクトル検出器として動作させる為のプログラムが、説明される。
【００３９】
図５は、図３のＣＰＵ１０により実行されるプログラムを説明するためのフローチャートである。図６は、図５のフローチャート中の一部のステップの細部を示すフローチャートである。図７は、図３の評価値計算用パラメータメモリ４の内容の例を示す図である。
【００４０】
図５のフローチャートに示された処理は、現フレームの１ブロックの動きベクトル検出を開始する毎に、起動される。
【００４１】
まず、ステップＳ１０１において、ＣＰＵ１０は、現ブロックの動画像信号を、現ブロック動画像メモリ１に格納する。また、ＣＰＵ１０は、現ブロックのサーチ範囲に対応する参照フレームの動画像信号を、参照フレーム動画像メモリ２に格納する。
【００４２】
次に、ステップＳ１０２において、ＣＰＵ１０は、ステージ１のループパラメータを、評価値計算用パラメータメモリ４から読み込み、内部のレジスタ等に設定する。このループパラメータについては後述する。また、ＣＰＵ１０は、第１ステージの探索点を、内部のレジスタ等に設定する。この第１ステージの探索点は、例えば、図１（ａ）に例示されたとおりである。この第１ステージの探索点は、例えば、ループパラメータとともに、評価値計算用パラメータメモリ４に格納されていてもよい。
【００４３】
ステップＳ１０３で、ＣＰＵ１０は、設定されたループパラメータ及び第１ステージの探索点に基づいて、評価値を計算し、評価値が最小となった探索点を検出する。
【００４４】
ステップＳ１０４では、ＣＰＵ１０は、ステージ２のループパラメータを、評価値計算用パラメータメモリ４から読み込み、内部のレジスタ等に設定する。また、ＣＰＵ１０は、第１ステージで最小評価値となった探索点を基準として、第２ステージの探索点を生成し、内部のレジスタ等に設定する。この第２ステージの探索点生成は、例えば、図１（ｂ）を参照して説明されたように行われる。
【００４５】
ステップＳ１０５では、ＣＰＵ１０は、設定されたループパラメータ及び第２ステージの探索点に基づいて、評価値を計算し、評価値が最小となった探索点を検出する。
【００４６】
ステップＳ１０６では、ＣＰＵ１０は、ステージ３のループパラメータを、評価値計算用パラメータメモリ４から読み込み、内部のレジスタ等に設定する。また、ＣＰＵ１０は、第２ステージで最小評価値となった探索点を基準として、第３ステージの探索点を生成し、内部のレジスタ等に設定する。この第３ステージの探索点生成は、例えば、図１（ｃ）を参照して説明されたように、行われる
。
【００４７】
ステップＳ１０７では、ＣＰＵ１０は、設定されたループパラメータ及び第３ステージの探索点に基づいて、評価値を計算し、評価値が最小となった探索点を検出する。
【００４８】
ステップＳ１０８で、ＣＰＵ１０は、この第３ステージで最小評価値となった探索点を動きベクトルとして検出する。
【００４９】
以上の、ステップＳ１０１からステップＳ１０８までの処理により、ＣＰＵ１０は、１個の現フレームのブロックの動きベクトルを検出する。
【００５０】
次に、ステップＳ１０３、Ｓ１０５及びＳ１０７の各ステージにおける評価値計算処理につき、説明される。図６は、図５のステップＳ１０３、Ｓ１０５及びＳ１０７で呼び出される評価値計算サブプログラムを説明するためのフローチャートである。図７は、図３の評価値計算用パラメータメモリ４の内容の例を示す図である。
【００５１】
図６において、ＣＰＵ１０は、各ステージでの評価値計算を、ステップＳ２０２からステップＳ２０６までの外側のループとステップＳ２０３からステップＳ２０５までの内側のループとの二重ループにより、実行する。この二重ループのループパラメータが、前述された各ステージのループパラメータである。このループパラメータは、各ステージでの評価値算出の対象となる評価点を指定している。
【００５２】
図７に例示されたループパラメータは、図４（ａ）、（ｂ）、（ｃ）のサブサンプルパターンに対応する。図７において、ＩＳＲＴ及びＪＳＲＴは、ループの初期値を示す。ＩＥＮＤ及びＪＥＮＤは、ループの終値を示す、ＩＳＴＰ及びＪＳＴＰは、ループパラメータの増分を示す。なお、ｊ（ｍｏｄ  ２）は、ｊを２で除算した結果の余りを示す。
【００５３】
図６のフローチャートにおいて、ＣＰＵ１０は、ステップＳ２００で、その内部の評価値格納用レジスタＤ（ｍ）（ｍ＝０，１、・・・、（Ｍ−１）をクリアする。
【００５４】
次に、ＣＰＵ１０は、ステップＳ２０１で、変数ｍをゼロに][セットする。この変数ｍは、各ステージでの探索点に対応するインデックスである。
【００５５】
そして、ＣＰＵ１０は、ステップＳ２０２からステップＳ２０６までの二重ループで、インデックスｍに対応する探索点の評価値を計算する。その結果は、ＣＰＵの処理がステップＳ２０７到達した時点で、レジスタＤ（ｍ）に蓄積されている。
【００５６】
ステップＳ２０７では、ＣＰＵ１０は、当該ステージでの全ての探索点につき、評価値が計算されたか否かを、判定する。この判定結果がＹＥＳであれば、ＣＰＵ１０の処理は、ステップＳ２０８に進み、そうでない場合には、ＣＰＵ１０の処理は、ステップＳ２０９に進む。
【００５７】
ステップＳ２０８では、ＣＰＵ１０は、インデックスｍを１だけ増加させる。その後、ＣＰＵ１０の処理は、ステップＳ２０２からＳ２０６までの二重ループ処理に戻る。そして、ＣＰＵ１０は、同一ステージ内の次の探索点の評価値演算を行う。
【００５８】
ステップＳ２０９では、ＣＰＵ１０は、ステップＳ２０２からＳ２０６までの二重ループ処理で計算された評価値Ｄ（ｍ）（ｍ＝１，２、・・・（Ｍ−１））の中から最小値を検出し、この最小値に対応する探索点を出力する。この後、ＣＰＵの処理は、図５のフローチャートに戻る。
【００５９】
このように、本実施例は、動きベクトルの多ステージ検出において、ステージが進むにしたがって、ブロック内の評価点の数を多くして、探索点の評価値を計算している。このため、本実施例は、所要演算量が少なく、また、誤検出の少ない動きベクトル検出技術を提供する。この特徴は、本実施例を使用した動画像符号化方式を携帯端末に実装する場合には、この携帯端末に消費電力の低減というメリットをもたらすことは明らかであろう
［他の実施例］
以上、一実施例をもって、本発明を詳細に説明したが、この実施例は次のように変形されることも可能である。
【００６０】
まず、以上述べた実施例は、各ステージの探索点間の最小距離に反比例させて、各ステージでの現ブロックの評価点の個数を変更していた。これは必ずしも不可欠の条件ではない。本発明は、ステージが進むにつれて、現ブロックの評価点の個数を増加させてもよい。この変形も、本発明が解決しようとする課題を解決できることは、当業者には明らかであろう。
【００６１】
また、以上述べた実施例は、各ステージの探索点の数を同数（９個）としていた。これも本発明にとっては、不可欠の条件ではない。多ステージ探索は、初期のステージ、例えば、第１ステージの探索点の個数を他のステージの探索点の個数よりも多くすることにより、動きベクトルの探索範囲を広くすることができる。一般に、動きベクトル探索に、多ステージ探索を使用した場合でも、動きベクトルの探索範囲を広くすることは、各ステージでの探索点の個数の合計を増加させることとなる。この探索点の数の合計の増加は、所要演算量を増加をもたらす。しかるに、本発明では、第１ステージでの探索点の個数を増加させても、所要演算量の増加率は、探索点の数の合計の増加率を下回る。この理由は、第１ステージでの現ブロックの評価点個数は、他のステージでの現ブロックの評価点個数よりも少ないからである。したがって、本発明では、第１ステージあるいは初期のステージで、それ以外のステージよりも探索点個数を多くして動きベクトル探索範囲を広くしても、動きベクトル検出に要する演算量の増加率は小さい。
【００６２】
また、上述した実施例では、式（１）の評価値は、絶対値和を使用していたが、これに変えて、次の様なものを使用してもよい。例えば、次の２つが考えられる。
（ａ）｛ｘ(i、j)−ｙ（ｉ−vx(m)、j−vy(m)）｝の２乗和。
（ｂ）｛ｘ(i、j)−ｙ（ｉ−vx(m)、j−vy(m)）｝が所定の閾値を越えた評価点の個数
また、ここに例示したもの以外にも、動きベクトル検出のための評価関数は種々のものが周知である。本発明は、このほかの周知の評価関数を用いて、評価値を計算してもよい。
【００６３】
また、上述した実施例では、多ステージ探索として、３ステージ探索を例として説明したが、このステージ数も本発明の不可欠の条件ではない。例えば、特公平３−６８５９７号公報（特許文献３）は、既に動きベクトルが検出されている近傍のブロックの「動きベクトルを基に第１ステージの探索点を生成して、２ステージ探索を行う動きベクトル検出技術を開示している。本発明では、このような多ステージ探索方法も使用可能である。
【図面の簡単な説明】
【００６４】
【図１】多ステージ探索を3ステージで行う場合の一例を示す図である。。
【図２】サブサンプリング法を説明するための図である。
【図３】本発明の一実施例の構成例を示すブロック図である。
【図４】本発明の一実施例における各ステージでの現ブロックのサブサンプリングパターンを示す図である。
【図５】図３のＣＰＵ１０により実行されるプログラムを説明するためのフローチャートである。
【図６】図５のフローチャート中の一部のステップの細部を示すフローチャートである。
【図７】図３の評価値計算用パラメータメモリ４の内容の例を示す図である。
【符号の説明】
【００６５】
１    現ブロック動画像メモリ
２    参照フレーム動画像メモリ
３    プログラムメモリ
４    評価値計算用パラメータメモリ
５    中央処理装置（ＣＰＵ）
【図１】
2008283505.tif 000003
【図２】
2008283505.tif 000004
【図３】
2008283505.tif 000005
【図４】
2008283505.tif 000006
【図５】
2008283505.tif 000007
【図６】
2008283505.tif 000008
【図７】
2008283505.tif 000009