(57)【要約】【課題】  少ない検索回数で精度よく動きベクトル検出を実現する動きベクトル検出装置を提供する。【解決手段】  現処理対象ブロック近傍の複数のブロック（コンテキスト）について検出された動きベクトルから現処理対象ブロックに対する動きベクトル検出用初期ベクトルを予測する。この際、異なる数のブロックからなるコンテキストに基づいて複数の初期ベクトル候補を生成し、個々の候補ベクトルのうち現処理対象ブロックと類似度の高い参照画像ブロックに対応する一方を初期ベクトルとする。【選択図】  図１
2007166545.tif 000002
【特許請求の範囲】
【請求項１】
入力された動画像情報を複数のブロックに分割し、各ブロック毎に動きベクトルを検出する動きベクトル検出装置であって、
現処理対象ブロックの近傍の複数のブロックより第１のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第１の予測動きベクトルを生成する第１の予測動きベクトル生成手段と、
前記現処理対象ブロックの近傍のブロックを、前記第１のコンテキストを構成するブロックの数より少ない個数のブロックを複数選択して第２のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第２の予測動きベクトルを生成する第２の予測動きベクトル生成手段と、
前記現処理対象ブロックの動きベクトルを検索するために初期値として用いる初期動きベクトルを、第１及び第２の予測動きベクトルのうちいずれか一方を選択して生成する初期動きベクトル生成手段と、
前記初期動きベクトル生成手段の生成した前記初期動きベクトルを初期値として、前記現処理対象ブロックの動きベクトルを検索して決定する動きベクトル検索手段と、
を備えることを特徴とする、動きベクトル検出装置。
【請求項２】
さらに、前記動きベクトル検索手段によって決定された動きベクトル及び前記第１及び第２の予測動きベクトルの差分、及び前記現処理対象ブロックと参照ブロックとのサンプル値の差分絶対値和とに基づいて、前記第１および第２のコンテキストに対応する動きベクトルと、前記第１および第２の予測動きベクトルのうち何れか一方と置き換えるベクトル置換手段を備えることを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項３】
前記ベクトル置換手段は、前記動きベクトル検索手段によって決定された動きベクトルと前記第１の予測動きベクトルとの差分及び、前記動きベクトル検索手段によって決定された動きベクトルと前記第２の予測動きベクトルとの差分が、いずれもある一定値を超え、かつ、前記現処理対象ブロックのサンプル値と前記動きベクトル検索手段によって決定された動きベクトルに対応する変位位置の参照フレーム内のブロックのサンプル値との差分絶対値和と、現処理対象ブロックのサンプル値と前記第１の予測動きベクトルに対応する変位位置の参照フレーム内のブロックのサンプル値との差分絶対値和及び前記現処理対象ブロックのサンプル値と前記第２の予測動きベクトルに対応する変位位置の参照フレーム内のブロックのサンプル値との差分絶対値和との比較結果に基づいて、ベクトル置換を判断することを特徴とする請求項２に記載の動きベクトル検出装置。
【請求項４】
前記初期動きベクトル生成手段は、前記現処理対象ブロックのサンプル値と前記第１及び第２の予測動きベクトルに対応する変位位置の参照フレーム内のブロックのサンプル値との差分絶対値和が小さい方の前記予測動きベクトルを選択することを特徴とする請求項１乃至３の何れか１項に記載の動きベクトル検出装置。
【請求項５】
前記第１の予測動きベクトル生成手段は、前記第１のコンテキストより得る動きベクトル群の平均ベクトルを予測動きベクトルとして生成することを特徴とする請求項１乃至４の何れか１項に記載の動きベクトル検出装置。
【請求項６】
前記第２の予測動きベクトル生成手段は、前記第２のコンテキストより得る動きベクトル群のうち、前記第１のコンテキストより得る動きベクトル群の平均ベクトルとの差分が最も大きい動きベクトルを選択することを特徴とする請求項１乃至５の何れか１項に記載の動きベクトル検出装置。
【請求項７】
前記初期動きベクトル生成手段は、装置のブレ情報を更に入力とし、このブレ情報に応じて予測動きベクトルを選択することを特徴とする請求項１乃至６の何れか１項に記載の動きベクトル検出装置。
【請求項８】
入力された動画像情報を複数のブロックに分割し、各ブロック毎に動きベクトルを検出する動きベクトル検出方法であって、
現処理対象ブロックの近傍の複数のブロックより第１のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第１の予測動きベクトルを生成する第１の予測動きベクトル生成工程と、
前記現処理対象ブロックの近傍のブロックを、前記第１のコンテキストを構成するブロックの数より少ない個数のブロックを複数選択して第２のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第２の予測動きベクトルを生成する第２の予測動きベクトル生成工程と、
前記現処理対象ブロックの動きベクトルを検索するために初期値として用いる初期動きベクトルを、第１及び第２の予測動きベクトルのうちいずれか一方を選択して生成する初期動きベクトル生成工程と、
前記初期動きベクトル生成工程で生成した前記初期動きベクトルを初期値として、前記現処理対象ブロックの動きベクトルを検索して決定する動きベクトル検索工程と、
を備えることを特徴とする、動きベクトル検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル動画像の動きベクトル検出装置及び方法に関する。
【背景技術】
【０００２】
一般にデジタルビデオカメラ、デジタルカメラ等の撮像装置で動画像を撮影する場合、手持ち撮影や車など移動体からの撮影など、振動が生ずる状況下での撮影頻度が高い。こうした状況における撮影では撮像装置本体が動き、符号化する画像全体の動きに影響する。
【０００３】
ＭＰＥＧ(Moving Picture Experts Group)方式に代表されるような、動き補償予測動画符号化方式では、現フレームの入力信号ブロックと、動き補償により得られた予測対象フレームの局部復号信号ブロックとのフレーム間差分信号を符号化するのが一般的である。そして、動き補償を行うために用いる動きベクトルは、通常ブロックマッチング法と呼ばれる方式により検出される。
【０００４】
例えば、符号化対象画像フレームを１６画素×１６ライン単位のブロックに分割し、ブロック毎に動きベクトルを検出する。すなわち、処理中のブロックと、過去の参照画像内における該ブロックと同サイズの領域とをずらしながら比較し、最も一致していた参照画像内のブロックの、処理中ブロックの位置に対する相対位置を動きベクトルとして検出する。処理中の画像ブロックと参照画像中のブロックとの一致度は、対応する位置の画素の差分絶対値和を評価値として判定されることが多い。
【０００５】
このような、動き補償を用いる予測動画像符号化方式を実施する際には、動きベクトル検出を、いかに少ない比較回数で、いかに精度よく行なうかが処理速度向上、圧縮率向上のために重要である。動きベクトルを効率よく、且つ精度良く検出するための方法の一つとして、以下のような方法が知られている。すなわち、過去に検出した動きベクトルの情報を基に、処理中の画像ブロックの動きベクトルを予測し、予測した動きベクトルの位置を起点に動きベクトルの検出を行うという方法である。
【０００６】
例えば、同一フレーム内における、既に動きベクトル検出が終了した複数のブロックのうち、現処理対象ブロックの近傍の複数のブロックから一つのコンテキストを生成する。そして、このコンテキストを構成する複数のブロックのそれぞれに対して既に検出された動きベクトル群を基に、現処理対象ブロックの動きベクトルを予測し、検索の初期ベクトルとして使用する。
【０００７】
図５は、従来の動きベクトル検出装置の構成例を示す図である。
図５において、入力画像は動きベクトル検出を行うブロック単位で入力される。メモリ５０１は同一フレーム内における、検出済みの動きベクトルを保存する。保存された動きベクトルは、初期ベクトル生成器５０２へと読み出される。
【０００８】
初期ベクトル生成器５０２は、メモリ５０１より読み出した既検出動きベクトルを基に、処理対象ブロックに対する動きベクトルを予測し、初期ベクトルとして動きベクトル検索器５０３へと出力する。動きベクトル検索器５０３は、入力される現処理対象ブロックについて、初期ベクトル生成器５０２より得た初期ベクトルを検索の初期値として、参照画像よりブロックマッチングを行うための所望の位置のブロックを取り出して動きベクトルの検出を行う。検出した動きベクトルは、図示しない予測符号化回路等で用いられる他、メモリ５０１へと入力され、次以降のブロックに対する初期ベクトル予測のために用いられる。
【０００９】
次に、図４を更に参照して、図５の動きベクトル検出装置の動作についてさらに具体的に説明する。
動きベクトル検出単位にブロック分割された入力画像は、動きベクトル検索器５０３へと入力され、一旦内部に保存される。保存された処理対象ブロックは、動きベクトル検索のために必要に応じて読み出される。メモリ５０１には、現在処理対象となっているブロック（現処理対象ブロック）より以前に処理された、同一フレーム内のブロックに対して検出された動きベクトルが保存されている。
【００１０】
現処理対象ブロックに対する動きベクトルの検出にあたり、検索の初期値として用いる初期ベクトルをまず生成する。初期ベクトル生成器５０２が、メモリ５０１より既検出ベクトルを読み出す。この際、予め決められたコンテキストに従って複数の動きベクトルが読み出される。従来例においては、初期ベクトル生成器におけるコンテキストは、図４（ａ）に示されるような位置のブロックにより、構成される。
【００１１】
図４（ａ）は、コンテキストと現処理対象ブロックとの関係の一例を示す図であり、各マスが動きベクトル検出の対象となるブロックを表している。図４（ａ）において太線で囲まれた部分がコンテキストを表し、ここでは３つのブロックより構成される。また、斜線で示されたブロックは、現処理対象ブロックを表す。現処理対象ブロックの動きベクトルを予測するために、コンテキストを構成する３つのブロックそれぞれに対応する動きベクトル群が用いられる。例えば、コンテキストの３つの動きベクトルの要素を降順に並べ、その中間に位置する要素からなるベクトルを初期ベクトルとして予測する。
【００１２】
動きベクトル検索器５０３においては、入力された初期ベクトルを初期値としてベクトルを変化させながら、そのベクトルに対応する参照画像ブロックを取り出し、入力済みの現処理対象ブロックとのマッチングを繰り返す。そして、例えば画素値の差分の合計値がある所定の閾値以下になった参照画像ブロックに対応するベクトルを動きベクトルとして出力する。出力された動きベクトルは、例えば図示しない符号化回路で用いられる他、メモリ５０１へと格納される。
【００１３】
【特許文献１】特開平１１−１２２６１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、この従来の方法では、パニングや装置のブレ等から生じる画面全体の動きと、被写体自体の動きとが存在する場合に、動物体の輪郭付近のブロックの動き予測精度が低下しやすいという問題がある。図４（ｃ）は、あるフレームを構成するブロック群の一部を取り出し、各ブロックの動きベクトルを表した図である。各ブロック内に描かれた矢印は、それぞれのブロックの動きベクトルを表しており、太線で囲まれた領域は、動物体を表している。
【００１５】
今、装置のぶれ等から、画面全体としては概ね図で示されるように、上方向の動きベクトルを持つブロックが支配的になっているとする。その中で、図で示されるような右方向に動きを持つ動物体が存在すると、動物体の占める領域内のブロックは、図のように右（又は右上）方向の動きベクトルを持つブロックが支配的となる。この場合、図４（ａ）に示したようなコンテキストを用いてそれぞれのブロックの動きベクトルを予測すると、図４（ｃ）に斜線で示すブロックにおいて、予測が精度が低下する。即ち、同物体の境界付近に位置するブロックにおいて、予測がはずれる確率が高くなる。
【００１６】
また、アクティビティ（動き）が極端に低いブロックが多く存在する領域では、実際の動きベクトルと全く異なるベクトルが算出される場合がある。これは、かかる領域における現処理対象ブロックと参照画像ブロックとの差分絶対値和に差がほとんどなくなることが要因となっている。この場合、検出されたベクトルをそのまま動きベクトルとして用いて符号化したとしても、そのブロックの符号量自体にさほどの悪影響を及ぼすことはないといえる。しかし、その動きベクトルを他のブロックの動きベクトルの予測に用いた場合、他のブロックに対する動きベクトルの予測精度を落としてしまうことがある。
【００１７】
このように、従来の動きベクトル検出方法では、パニングや装置のブレ等から生じる画面全体の動きと、被写体自体の動きとが存在する場合に、動いている被写体の輪郭付近のブロックの動きの予測が外れやすいという問題があった。
また、アクティビティが極端に低いブロックが多く存在する領域では、動きベクトル検出のための動き予測の精度が低下するという問題があった。
【００１８】
本発明はこのような従来技術の課題に鑑みなされたものであり、少ない検索回数で精度よく動きベクトル検出を実現する動きベクトル検出装置及び方法を提供するものである。
【課題を解決するための手段】
【００１９】
かかる課題を解決するために、本発明における動きベクトル検出装置は、入力された動画像情報を複数のブロックに分割し、各ブロック毎に動きベクトルを検出する動きベクトル検出装置であって、現処理対象ブロックの近傍の複数のブロックより第１のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第１の予測動きベクトルを生成する第１の予測動きベクトル生成手段と、前記現処理対象ブロックの近傍のブロックを、前記第１のコンテキストを構成するブロックの数より少ない個数のブロックを複数選択して第２のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第２の予測動きベクトルを生成する第２の予測動きベクトル生成手段と、前記現処理対象ブロックの動きベクトルを検索するために初期値として用いる初期動きベクトルを、第１及び第２の予測動きベクトルのうちいずれか一方を選択して生成する初期動きベクトル生成手段と、前記初期動きベクトル生成手段の生成した前記初期動きベクトルを初期値として、前記現処理対象ブロックの動きベクトルを検索して決定する動きベクトル検索手段と、を備えることを特徴とする。
【００２０】
また、本発明による動きベクトル検出方法は、入力された動画像情報を複数のブロックに分割し、各ブロック毎に動きベクトルを検出する動きベクトル検出方法であって、現処理対象ブロックの近傍の複数のブロックより第１のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第１の予測動きベクトルを生成する第１の予測動きベクトル生成工程と、前記現処理対象ブロックの近傍のブロックを、前記第１のコンテキストを構成するブロックの数より少ない個数のブロックを複数選択して第２のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第２の予測動きベクトルを生成する第２の予測動きベクトル生成工程と、前記現処理対象ブロックの動きベクトルを検索するために初期値として用いる初期動きベクトルを、第１及び第２の予測動きベクトルのうちいずれか一方を選択して生成する初期動きベクトル生成工程と、前記初期動きベクトル生成工程で生成した前記初期動きベクトルを初期値として、前記現処理対象ブロックの動きベクトルを検索して決定する動きベクトル検索工程と、を備えることを特徴とする。
【００２１】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【００２２】
本発明による動きベクトル検出装置及び方法によれば、少ない検索回数で精度よく動きベクトル検出を実現することができるようになる。
【発明を実施するための最良の形態】
【００２３】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係る動きベクトル検出装置の構成例を示すブロック図である。
図１において、入力画像は動きベクトル検出を行うブロック単位で入力される。メモリ１０１は同一フレーム内における既に検出済みの動きベクトルを保存する。この保存された動きベクトルは、予測ベクトル生成器＃１（１０２）および予測ベクトル生成器＃２（１０３）へと読み出される。予測ベクトル生成器＃１および予測ベクトル生成器＃２は、メモリより読み出した既検出動きベクトルを基に、それぞれ予測ベクトル＃１，＃２を生成する。
【００２４】
予測ベクトル生成器＃１および予測ベクトル生成器＃２より生成された予測ベクトル＃１，＃２は、初期ベクトル生成器１０４へと入力される。初期ベクトル生成器１０４は、予測ベクトル生成器＃１および予測ベクトル生成器＃２より生成された予測ベクトル＃１，＃２のうち、いずれか一方を選択し初期ベクトルとして動きベクトル検索器１０５へと出力する。
【００２５】
動きベクトル検索器１０５は、現処理対象ブロックについて、初期ベクトル生成器１０４より得た初期ベクトルを検索の初期値として、参照画像から、ブロックマッチングを行うためのブロック（参照ブロック）を取り出す。そして、動きベクトル検索器１０５は現処理対象ブロックと参照ブロックとの比較及び、ベクトルの変更を繰り返しながら動きベクトルの検出を行い、動きベクトルを出力する。出力された動きベクトルは、例えば後段の図示しない符号化回路等で用いられる他、メモリ１０１へと入力され、以降のブロックの動きベクトル検出のために用いられる。
【００２６】
次に、本実施形態の動きベクトル検出装置の動作について説明する。動きベクトル検出単位にブロック分割された入力画像は、動きベクトル検索器１０５へと入力され、一旦内部に保存される。保存された処理対象ブロックは、動きベクトル検索のために必要に応じて読み出される。メモリ１０１には、現処理対象ブロックより以前に処理された、同一フレーム内のブロックに対して検出された動きベクトルが保存されている。動きベクトル検出にあたり、検索の初期値として用いる初期ベクトルの候補となる予測ベクトルを生成するため、まずメモリ１０１より既検出ベクトルの読み出しが行われる。
【００２７】
予測ベクトル生成器＃１（１０２）及び＃２（１０３）において、同一フレーム内の既に動きベクトル検出の終了したブロックの中の、予め決められたコンテキストを構成する複数のブロックに対応する複数の動きベクトルがそれぞれ読み出される。第１の実施形態においては、予測ベクトル生成器＃１（１０２）におけるコンテキストは、図４（ｂ）の太線で囲まれた部分に示されたような、従来よりも大きなコンテキストを用いる。図４（ｂ）において、斜線で示されたブロックは、現処理対象ブロックを表し、太線がコンテキストを示す。現処理対象ブロックの動きベクトルを予測するために、コンテキストを構成する全てのブロックそれぞれに対応する動きベクトル群が用いられる。
【００２８】
第１の実施形態において、予測ベクトル生成器＃１（１０２）は、コンテキスト中のブロックの全ての動きベクトルの平均ベクトルを、予測ベクトル＃１として出力する。また、予測ベクトル生成器＃２（１０３）におけるコンテキストは、図４（ａ）に太線で示した従来のコンテキストを用いる。ここで、２つのコンテキストは包含関係にある。予測ベクトル生成器＃２（１０３）は、予測ベクトル＃１との差分が最も大きい動きベクトルを、コンテキスト中のブロックの動きベクトルから選択し、予測ベクトル＃２として出力する。差分の大きさは、例えばベクトルの要素間の差分絶対値和の大きさの合計により判定することができる。
【００２９】
予測ベクトル生成器＃１（１０２）及び＃２（１０３）において生成された予測ベクトル＃１及び＃２は、初期ベクトル生成器１０４へと入力される。初期ベクトル生成器１０４は、予測ベクトル＃１及び＃２それぞれに対応する参照画像ブロックと現処理対象ブロックの対応画素の差分絶対値和をそれぞれ算出する。そして、差分絶対値和の値の小さい参照画像ブロックに対応する予測ベクトルを初期ベクトルとして選択し、動きベクトル検索器１０５へと出力する。
【００３０】
動きベクトル検索器１０５は、入力された初期ベクトルを初期値としてベクトルを変化させていく。そして、そのベクトルに対応する参照画像ブロックを取り出し、入力済みの現処理対象ブロックと参照画像ブロックの対応画素の差分絶対値和を算出する。ベクトルを変化させながら差分絶対値和の算出を繰り返し、値が所定の閾値以下になった参照画像ブロックに対応したベクトルを動きベクトルとして出力する。出力された動きベクトルは、図示しない符号化回路等で用いられる他、メモリ１０１へと格納される。
【００３１】
このように、本実施形態では、大きさの異なる２つのコンテキストを用いて初期ベクトルを予測する。具体的には、大きなコンテキストを用いて広範囲な動きベクトルの傾向を反映した第１のベクトルを生成する。一方で、小さなコンテキストの中で、大きなコンテキストにおける全体的な傾向とは異なる動きベクトルを検出し、第２のベクトルとして検出する。そして、２つのベクトルにより取得した参照画像ブロックと現処理対象ブロックとを比較して、適切なベクトルを初期ベクトルとして決定する。これにより、例えば現処理対象ブロックが動きのある被写体に対応する場合には第２のベクトルが選択されることになり、従来の方法のように動物体の境界ブロックでの予測精度低下を防止することができる。その結果、少ない検索回数で精度よく動きベクトル検出を実現することができるようになる。
【００３２】
＜第２の実施形態＞
次に、本発明に係る第２の実施形態について説明する。図２は、第２の実施形態における動きベクトル検出装置の構成例を示すブロック図である。
【００３３】
図２において、予測ベクトル生成器＃１（２０２）、予測ベクトル生成器＃２（２０３）、初期ベクトル生成器２０４は、第１の実施形態の構成（図１）と同じなので、説明を省略する。つまり、それらの構成は、予測ベクトル生成器＃１（１０２）、予測ベクトル生成器＃２（１０３）、及び初期ベクトル生成器１０４と同様である。
【００３４】
図２において、メモリ２０１は動きベクトル検索器２０５の出力する参照ベクトルを保存する。保存された参照ベクトルは、予測ベクトル生成器＃１（２０２）および予測ベクトル生成器＃２（２０３）へと読み出される。動きベクトル検索器２０５は、入力される現処理対象ブロックについて、初期ベクトル生成器２０４より得た初期ベクトルを検索の初期値として、参照画像よりブロックマッチングを行うための所望の位置のブロックを取り出す。そして動きベクトルの検出を行い、動きベクトルを出力する。また、次以降処理されるブロックの動きベクトル検出の初期ベクトルを予測するために用いられる参照ベクトルを生成し、メモリ２０１へと出力する。
【００３５】
次に、第２の実施形態の動きベクトル検出装置の動作について説明する。
動きベクトル検出単位にブロック分割された入力画像は、動きベクトル検索器２０５へと入力され、一旦内部に保存される。保存された処理対象ブロックは、動きベクトル検索のために必要に応じて読み出される。メモリ２０１には、現処理対象ブロックより以前に処理された、参照ベクトルが保存されている。参照ベクトルは、同一フレーム内のブロックに対して検出された動きベクトルもしくは動きベクトルに置き換えられたベクトルである。動きベクトル検出にあたり、検索の初期値として用いる初期ベクトルの候補となる予測ベクトルを生成するため、まずメモリ２０１より参照ベクトルの読み出しが行われる。
【００３６】
予測ベクトル生成器＃１（２０２）、＃２（２０３）、及び初期ベクトル生成器２０４における動作は、第１の実施形態における動作と同様であるので、説明を省略する。
【００３７】
動きベクトル検索器２０５においては、入力された初期ベクトルを初期値としてベクトルを変化させていき、そのベクトルに対応する参照画像ブロックを取り出す。そして、入力済みの現処理対象ブロックとのマッチングを繰り返し、差異を表す値（例えば上述の差分絶対値和）が所定の閾値以下になった時点のベクトルを動きベクトルとして出力する。あるいは、類似度が所定の閾値以上になった時点でのベクトルを動きベクトルとして出力してもよい。
【００３８】
次に、参照ベクトルを生成する。動きベクトル検索器２０５は、以下の条件が満たされるかどうかを調べる。
（１）検出した動きベクトルと予測ベクトル＃１、＃２とのｘ、ｙ成分毎の差分が、いずれも閾値（ｍｖｄｘth，ｍｖｄｙth）を超えるか。
（２）検出した動きベクトルに対応する参照画像ブロックと現処理対象ブロックとの差分絶対値和をＳrefと、予測ベクトル＃１、＃２を用いて同様に求めた差分絶対値和Ｓ1、Ｓ2との差分の一方が閾値ｄth以下か。
【００３９】
すなわち、
｜Ｓ1−Ｓref｜≦ｄth  又は
｜Ｓ2−Ｓref｜≦ｄth
であるか。
【００４０】
これらの条件（１）、（２）を満足する場合には、現処理対象ブロックに対応する参照ベクトルとして、条件（２）の式を満たす予測ベクトルを出力する。
これらの条件（１）、（２）の少なくとも一方が満足されない場合には、検出した動きベクトルを現処理対象ブロックに対応する参照ベクトルとして出力する。参照ベクトルは、メモリ２０１へと出力され、格納される。
【００４１】
本実施形態によれば、第１の実施形態による効果に加え、最終的に検出した動きベクトルとの差が一定以上で、かつ動き予測の精度差が閾値未満である予測ベクトルを、実際に検出した動きベクトルの代わりに参照ベクトルとして保存する。そのため、アクティビティが極端に低いブロックが多く存在する領域などで発生しやすい、動き予測の精度低下を抑えることができる。
【００４２】
＜第３の実施形態＞
次に、本発明に係る第３の実施形態について説明する。図３は、第３の実施形態における動きベクトル検出装置の構成例を示すブロック図である。
【００４３】
本実施形態において、メモリ３０１は第１の実施形態（図１）におけるメモリ１０１と同様である。また、予測ベクトル生成器＃１（３０２）、予測ベクトル生成器＃２（３０３）、動きベクトル検索器３０５は、それぞれ、予測ベクトル生成器＃１（１０２）、予測ベクトル生成器＃２（１０３）、及び動きベクトル検索器１０５と同様である。そのため、これらの構成要素については説明を省略する。
【００４４】
図３において、初期ベクトル生成器３０４は、予測ベクトル生成器＃１（３０２）および予測ベクトル生成器＃２（３０３）より生成された予測ベクトル＃１，＃２の一方を、装置のブレ情報に応じて初期ベクトルとして選択する。そして、動きベクトル検索器３０５へと出力する。
【００４５】
次に、第３の実施形態の動きベクトル検出装置の動作について説明する。
まず、メモリ３０１、予測ベクトル生成器＃１（３０２）、予測ベクトル生成器＃２（３０３）、動きベクトル検索器３０５における動作は、第１の実施形態の構成図（図１）におけるメモリ１０１、予測ベクトル生成器＃１（１０２）、予測ベクトル生成器＃２ （１０３）、及び動きベクトル検索器１０５におけるそれぞれの動作と同様であるので、説明を省略する。
【００４６】
初期ベクトル生成器３０４においては、例えば図示しない加速度センサなどから装置のブレ情報を取得する。そして、ブレ情報より算出される画面全体の動きベクトルと、予測ベクトル＃１との成分毎の差分が、いずれも閾値（ｍｖａｄｘth，ｍｖａｄｙth）を超えるかどうか判定する。
【００４７】
差分が閾値を超えない場合、予測ベクトル＃１は画面全体の動きに支配されているものと考えられる。そのため、第１の実施形態と同様に、予測ベクトル＃１及び＃２それぞれに対応する参照画像ブロックと、現処理対象ブロックとの差分絶対値和をそれぞれ算出し、値の小さい方に対応する予測ベクトルを初期ベクトルとして選択する。
【００４８】
一方、差分が閾値を超えた場合には、予測ベクトル＃１のコンテキストは全体のブレよりはそのコンテキスト内のブロックに特有な動きを反映しているものと考えられる。そのため、より小さなコンテキストに基づく予測ベクトル＃２を考慮せずに直ちに予測ベクトル＃１を初期ベクトルとして選択し、動きベクトル検索器へと出力する。
【００４９】
本実施形態によれば、第１の実施形態と同様の効果を達成することができる上、ブレ情報を用いることにより、予測ベクトルの決定を一層簡単に行うことができる。
【００５０】
また、上述の実施形態は、システム或は装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるコンピュータプログラム自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００５１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００５２】
この場合、本発明の機能処理をコンピュータで実現するためのコンピュータプログラムは、記憶媒体又は有線／無線通信によりコンピュータに供給される。プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００５３】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）をサーバに記憶しておく。プログラムデータファイルとしては、実行形式のものであっても、ソースコードであっても良い。
【００５４】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムデータファイルをダウンロードすることによって供給する。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルをクライアントコンピュータに提供するサーバ装置も本発明に含む。
【００５５】
また、本発明のコンピュータプログラムを暗号化して格納した記憶媒体をユーザに配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを可能とすることも可能である。鍵情報は例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【００５６】
また、コンピュータにより実施形態の機能を実現するためのコンピュータプログラムが、実施形態の機能を、すでにコンピュータ上で稼働するＯＳの機能を利用して実現しても良い。
さらに、本発明を構成するコンピュータプログラムの少なくとも一部が、コンピュータに装着される拡張ボード等のファームウェアとして提供され、拡張ボード等が備えるＣＰＵを利用して上述の実施形態の機能を実現しても良い。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１の実施形態に係る動きベクトル検出装置の構成例を示すブロック図である。
【図２】本発明の第２の実施形態に係る動きベクトル検出装置の構成例を示すブロック図である。
【図３】本発明の第３の実施形態に係る動きベクトル検出装置の構成例を示すブロック図である。
【図４】コンテキストの例及び予測動きベクトル生成方法を説明する図である。
【図５】従来例の動きベクトル検出装置の構成例を示す図である。
【図１】
2007166545.tif 000003
【図２】
2007166545.tif 000004
【図３】
2007166545.tif 000005
【図４】
2007166545.tif 000006
【図５】
2007166545.tif 000007