(57)【要約】【課題】  計算量がより少ないやり方により、動き推定の精度を大幅に弱めずにビデオフレーム間の動きを推定する。【解決手段】  目標デジタル画像の候補画像ブロックについて、基準デジタル画像の潜在画像ブロックとの相関が求められる。相関の計算においては、画像の画素値が量子化され、基準画像と目標画像との間の候補画像ブロックの移動が推定される。量子化された画素値の使用により、単純なＸＮＯＲ演算による相関処理が可能となる。相関処理では、１対のマスク用２進ワードを使用して、ビットごとのＡＮＤ演算を実行することにより、ＸＮＯＲ演算の結果から得られる２進ワード内の特定の種類のビットの数が数えられる。量子化された画素値と効率的な計数技法を使用することで、従来の相関処理よりも相関処理を短時間で実行することが可能になり、動き推定の速度を向上させることができる。【選択図】図１
2004152271.tif 000002
【特許請求の範囲】
【請求項１】
画像間の動きを推定するシステムであって、
第１と第２のデジタル画像の元の画素値が量子化された画素値に変換されるように前記第１と第２のデジタル画像を量子化するように構成された量子化モジュール（１０８）であって、前記量子化された画素値は、前記元の画素値の定義済みの範囲に対応する、量子化モジュール（１０８）と、
前記第２のデジタル画像の候補画像ブロックについて、前記第１のデジタル画像の潜在画像ブロックとの相関を求め、前記第１と第２のデジタル画像間の動きに関連した前記候補画像ブロックの並進指標を導き出すように構成された探索モジュール（１１２）と
を備えるシステム。
【請求項２】
前記量子化モジュール（１０８）は前記第１と第２のデジタル画像の前記元の画素値の各々を、２ビットで表される３つの量子化値の１つに量子化するように構成されている
請求項１に記載のシステム。
【請求項３】
前記探索モジュール（１１２）は、前記候補画像ブロックの前記潜在画像ブロックとの相関から得られた相関２進ワード内に含まれる特定の種類のビットの数に対応する相関値を計算するように構成されている
請求項１または２に記載のシステム。
【請求項４】
前記探索モジュール（１１２）は、１対の第１と第２のマスク用２進ワードを使用して入力２進ワードに対してビットごとのＡＮＤ演算を実行して（２０１ａ、２０１ｂ、２０２ａ、２０２ｂ、２０３ａ、２０３ｂ、２０４ａ、２０４ｂ、２０５ａ、２０５ｂ）、それにより第１と第２の結果の２進ワードを導き出すように構成され、
前記探索モジュールはさらに、シフト演算を実行して（２０１ｃ、２０２ｃ、２０３ｃ、２０４ｃ、２０５ｃ）、それにより前記第２の結果の２進ワードを定義済みのビット数だけシフトして第３の結果の２進ワードを導き出すように構成され、
前記探索モジュールはさらに、加算演算を実行して、前記第１と第３の結果の２進ワードを加算して（２０１ｄ、２０２ｄ、２０３ｄ、２０４ｄ、２０５ｄ）、それにより前記入力２進ワードの選択された部分内の特定の種類のビットの数を表す２進表現を含む最終の２進ワードを導き出すように構成されている
請求項３に記載のシステム。
【請求項５】
前記第１と第２のマスク用２進ワードは、前記第２のマスク用２進ワードの各ビットが前記第１のマスク用２進ワードの対応するビットとは異なるように設定されたビットを含む
請求項４に記載のシステム。
【請求項６】
画像間の動きを推定する方法であって、
第１と第２のデジタル画像の元の画素値が量子化された画素値に変換されるように前記第１と第２のデジタル画像を量子化すること（４０６）であって、前記量子化された画素値は、前記元の画素値の定義済みの範囲に対応する、量子化すること（４０６）と、
前記第２のデジタル画像の候補画像ブロックについて、前記第１のデジタル画像の潜在画像ブロックとの相関を求めること（４１０）であって、それにより前記第１と第２のデジタル画像間の動きに関連した前記候補画像ブロックの並進指標を導き出す、相関を求めること（４１０）と
を含む方法。
【請求項７】
前記相関を求める前記ステップ（４１０）は、相関２進ワード内の特定の種類のビットの数を数えることを含み、
前記数えることは、
第２のマスク用２進ワードの各ビットが第１のマスク用２進ワードの対応するビットとは異なるように設定されたビットを含む１対の第１と第２のマスク用２進ワードを使用して、入力２進ワードに対してビットごとのＡＮＤ演算を実行すること（２０１ａ、２０１ｂ、２０２ａ、２０２ｂ、２０３ａ、２０３ｂ、２０４ａ、２０４ｂ、２０５ａ、２０５ｂ）であって、それにより第１と第２の結果の２進ワードを導き出す、実行すること（２０１ａ、２０１ｂ、２０２ａ、２０２ｂ、２０３ａ、２０３ｂ、２０４ａ、２０４ｂ、２０５ａ、２０５ｂ）と、
前記第２の結果の２進ワードを定義済みのビット数だけシフトすること（２０１ｃ、２０２ｃ、２０３ｃ、２０４ｃ、２０５ｃ）であって、それにより第３の結果の２進ワードを導き出す、シフトすること（２０１ｃ、２０２ｃ、２０３ｃ、２０４ｃ、２０５ｃ）と、
前記第１と第３の結果の２進ワードを加算すること（２０１ｄ、２０２ｄ、２０３ｄ、２０４ｄ、２０５ｄ）であって、それにより前記入力２進ワードの選択された部分内の特定の種類のビットの数を表す２進表現を含む最終の２進ワードを導き出す、加算すること（２０１ｄ、２０２ｄ、２０３ｄ、２０４ｄ、２０５ｄ）と
を含む請求項６に記載の方法。
【請求項８】
前記ビットごとのＡＮＤを実行するステップ（２０１ａ、２０１ｂ、２０２ａ、２０２ｂ、２０３ａ、２０３ｂ、２０４ａ、２０４ｂ、２０５ａ、２０５ｂ）は、ｍビットでパターン化された第１のマスク用ワードとｍビットでパターン化された第２のマスク用ワードを使用して、前記入力２進ワードに対してビットごとの演算を実行することを含み、
前記ｍは１よりも大きい整数であり、
ｍビットでパターン化された前記第１のマスク用ワードは、連続した第１の種類のｍ／２個のビットとそれに続く連続した第２の種類のｍ／２個のビットからなるｍビットの繰り返しパターンに設定されたビットを含み、
前記第２の結果の２進ワードをシフトするステップ（２０１ｃ、２０２ｃ、２０３ｃ、２０４ｃ、２０５ｃ）は、前記第２の結果の２進ワードを右にｍ／２ビットだけシフトすることであって、それにより前記第３の結果の２進ワードを導き出す、シフトすることを含む
請求項７に記載の方法。
【請求項９】
前記量子化するステップ（４０６）は前記第１と第２のデジタル画像の前記元の画素値の各々を、２ビットで表される３つの量子化値の１つに量子化することを含む
請求項６〜８のいずれかに記載の方法。
【請求項１０】
前記第２のデジタル画像の複数の画像ブロックから、前記画像ブロックに含まれる特定の種類のビットの数に基づいて、前記候補画像ブロックを選択すること（４０８）をさらに含む
請求項６〜９のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的に、画像処理に関し、特に、画像間の動きを推定するためのシステムおよび方法に関する。
【背景技術】
【０００２】
動きの推定は、ビデオ圧縮、およびモザイク画像の生成などのさまざまな画像処理操作に有用なツールである。
ビデオ圧縮では、動きの推定は、連続するビデオフレーム間の冗長部分を最小にして、各ビデオフレームのデータの総量を増加させずにより高品質の画像を描画するのに使用される。
【０００３】
モザイク画像生成では、動きの推定は、ビデオフレームをマッピングしてモザイク画像を作成するのに使用される。
モザイク画像は、連続して取り込まれたビデオフレームをつなぎ合わせて作成された合成画像である。
【０００４】
モザイク画像の生成のために、動き推定の所要の特性として実時間出力と高精度が挙げられる。
モザイク画像生成では、通常、ビデオデータレートが非常に高くなるため、新規の有用な情報を持たないフレームを破棄するために動き推定の実時間出力が必要になる。
さらに、動き推定は、以前のフレームから得られた情報の状況に合わせて後続のフレームの新規の情報を適切に配置することで、得られるモザイク画像の品質を低下させるモザイク画像内の画素の強度のミスアライメントを防止できる程度に正確であるべきである。
【０００５】
従来の動き推定技法は、一般的に、ブロックマッチング法を利用して２つの連続するビデオフレーム間、つまり基準ビデオフレームと目標ビデオフレームとの間の動きを推定する。
目標ビデオフレームは、通常、基準ビデオフレームに対して後で取り込まれたビデオフレームである。
ブロックマッチング動き推定技法では、動き推定のために目標ビデオ画像の多数の候補ブロックを選択する。
【０００６】
次に、各候補ブロックについて探索ウィンドウ内の基準画像のすべてのブロックとの相関を求め、探索ウィンドウ内で、候補ブロックといちばん適切に「一致する」ブロックの位置が決定される。
次に、基準ビデオフレームのこれらの一致したブロックの位置を使用して、候補ブロックの移動を表す動きベクトルが生成され、目標ビデオフレームと基準ビデオフレーム間の動きが推定される。
【０００７】
従来の動き推定技法の問題は、目標ビデオフレームの候補ブロックについて、それぞれの探索ウィンドウ内の基準画像のブロックとの相関を求める処理の計算量が多く、したがって、かなりの処理時間が必要になることである。
その結果、従来の動き推定技法における計算要件を緩和するために、階層ブロックマッチングや発見的探索ブロックマッチングなど多くの改良が提案されてきた。
しかし、これらの改良は、通常、動き推定の精度を犠牲にすることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上の問題に鑑み、計算量がより少ないやり方により、動き推定の精度を大幅に弱めずにビデオフレーム間の動きを推定するためのシステムおよび方法が必要とされている。
【課題を解決するための手段】
【０００９】
画像間の動きを推定するシステムおよび方法では、目標デジタル画像の候補画像ブロックについて、基準デジタル画像の潜在画像ブロックとの相関を求める。
相関の計算では、基準デジタル画像と目標デジタル画像間での候補画像ブロックの移動を推定するために、画像の画素値が量子化されている。
量子化された画素値を使用することで、単純なＸＮＯＲ演算に基づいて相関処理が実行できるようになる。
【００１０】
相関処理では、ＸＮＯＲ演算の結果から得られる２進ワード内の特定の種類のビット（たとえば「１」ビット）の数を数えるための効率的な技法を含み得る。
この効率的な計数技法は、１対のマスク用２進ワードを使用して、ビットごとのＡＮＤ演算を実行することであって、それにより第１と第２の結果の２進ワードを導き出す、実行することと、第２の結果の２進ワードを定義済みのビット数だけシフトすることと、第１の結果の２進ワードをとシフトされた２進ワードを加算することとを含む。
量子化された画素値と効率的な計数技法を使用することで、従来の相関処理よりも相関処理を短時間で実行することが可能になり、動き推定の速度を向上させることができる。
【００１１】
本発明によるシステムは、量子化モジュールと探索モジュールを備える。
量子化モジュールは、第１と第２のデジタル画像の元の画素値が量子化された画素値に変換されるように第１と第２のデジタル画像を量子化するように構成され、この量子化された画素値は元の画素値の定義済みの範囲に対応する。
探索モジュールは、第２のデジタル画像の候補画像ブロックについて、第１のデジタル画像の潜在画像ブロックとの相関を求め、第１と第２のデジタル画像間の動きに関連した候補画像ブロックの並進指標を導き出すように構成されている。
【００１２】
本発明による方法は、第１と第２のデジタル画像の元の画素値が量子化された画素値に変換されるように第１と第２のデジタル画像を量子化することであって、この量子化された画素値は元の画素値の定義済みの範囲に対応する、量子化することと、第２のデジタル画像の候補画像ブロックについて、第１のデジタル画像の潜在画像ブロックとの相関を求めることであって、それにより候補画像ブロックの並進指標を導き出す、相関を求めることとを含む。
並進指標は、第１と第２のデジタル画像間の動きに関連している。
本発明のその他の態様と利点は、添付図面を合わせて参照することにより、本発明の原理の例を示す以下の詳細な説明から明らかになろう。
【発明の効果】
【００１３】
本発明により、計算量がより少ないやり方により、動き推定の精度を大幅に弱めずにビデオフレーム間の動きを推定するためのシステムおよび方法が提供される。
【発明を実施するための最良の形態】
【００１４】
モザイク画像生成では、対象シーンに対してビデオカメラを水平に回転（pan：パン）させ、一連のビデオフレームを取り込む（capture：キャプチャ）する。
次に、これらの順次に取り込まれたビデオフレームがつなぎ合わされ、モザイク画像が生成される。
ビデオフレームをつなぎ合わせるために、２つの時間的に隣接するビデオフレーム間の動きを推定して、複数のビデオフレーム内の１つビデオフレーム（「目標ビデオフレーム」）の元の画素座標を、別のビデオフレーム（「基準ビデオフレーム」）に従った新しい画素座標に変換することで、画素の強度の補間後、２つのビデオフレームを継ぎ目なしに結合して合成画像を生成するようにするのに使用されるマッピング演算子が生成される。
順次に取り込まれた２つのビデオフレーム間の動きは、ここでは、前に取り込まれたビデオフレームから後に取り込まれたビデオフレームまでの２つのビデオフレームに共通の特徴の移動として定義される。
【００１５】
モザイク画像の生成用のマッピング演算子を計算する際の問題は、以下のように数学的に記述することができる。
ｆｒ（ｍ，ｎ）が、基準ビデオフレーム内の画素位置（ｍ，ｎ）上の画像の強度フィールドを示し、ｆm（ｍ，ｎ）が、マッピング演算子Ｍ（ｍ，ｎ）により基準ビデオフレームにマッチングされる目標ビデオフレームの強度フィールドを示す場合、ｆｒ（ｍ，ｎ）＝ｆm（Ｍ（ｍ，ｎ））となる。
マッピング演算子Ｍ（ｍ，ｎ）は、限定数の一式のマッピングパラメータで記述することができる。
たとえば、マッピング演算子Ｍ（ｍ，ｎ）は、次のように記述することができる。
【００１６】
【数１】
2004152271.tif 000003
【００１７】
ここで、パラメータａ、ｂ、ｃ、ｄ、ｅ、ｆにより、マッピング演算子Ｍ（ｍ，ｎ）を完全に定義することができる。
【００１８】
図１を参照すると、本発明の例示的な実施形態による動き推定システム１００のブロック図を示している。
動き推定システムの動作により、ブロックマッチング法を使用してビデオフレーム間の動きが推定されて、マッピング演算子Ｍ（ｍ，ｎ）を定義するマッピングパラメータが導き出される。
動き推定システムは、画素値が３レベルに量子化されているビデオフレーム上でブロックマッチング法を実行するように構成されている。
【００１９】
画素値を量子化することで、動き推定システムは、単純なＸＮＯＲ演算を使用してブロックマッチング法を実行することが可能になり、それにより動き推定処理全体の速度が向上する。
さらに、動き推定システムは、ブロックマッチングの結果得られるデジタルワードに基づいた相関を計算するための効率的な技法を使用する。
相関の計算は、ブロックマッチング処理中に、「１」のビット数を数えて累積する効率的な方式を使用することを基本にしている。
この相関技法を使用することで、動き推定処理の速度をさらに向上させることができる。
【００２０】
図１に示したように、動き推定システムは、ビデオカメラ１０２と処理装置１０４を備える。
ビデオカメラ１０２の動作により、対象シーンのビデオフレームまたは画像が取り込まれる。
ビデオカメラは、デジタルカメラでもアナログカメラでもよい。
したがって、ビデオカメラは、現在市販されている任意の種類のデジタルまたはアナログビデオカメラとすることができる。
【００２１】
ビデオカメラは、取り込まれたビデオフレームを処理装置に伝送するために処理装置１０４に接続される。
処理装置の動作により、受け取ったビデオフレームが処理されて、２つの順次に取り込まれたビデオフレーム間の動きが推定されて、モザイク画像生成のためのマッピングパラメータが計算される。
ビデオカメラがアナログビデオカメラである場合、処理装置は、アナログ／デジタル変換器（非図示）を使用して、受け取ったビデオフレームを動き推定のためにデジタル化する。
【００２２】
動き推定システム１００の処理装置１０４は、バンドパスフィルタ１０６、３レベル量子化モジュール１０８、ブロック選択モジュール１１０、パック化相関並進探索（ＰＣＴＳ：packed correlation transtlation search）モジュール１１２、並進ベクトルモデルあてはめ（ＴＶＭＦ）モジュール１１４を備える。
処理装置のコンポーネントは、独立したモジュールとして図示し説明するが、これらのコンポーネントは、機能ブロックを表し、そのため、物理的に独立したモジュールとして具現される場合もされない場合もある。
したがって、２つ以上のこれらのコンポーネントが、１つのモジュールに組み合わされることもある。
【００２３】
あるいは、これらのコンポーネントのいくつかが２つ以上のモジュールに分割されることもある。
そのため、処理装置には、説明され、図示されているよりも多いまたは少ないコンポーネントが含まれることもある。
この例示的な実施形態では、処理装置のコンポーネントは、ＭＭＸ  ＣＰＵ（中央処理装置）を有するパーソナルコンピュータ内のソフトウェアとして実装される。
しかし、これらのコンポーネントは、ハードウェア、ファームウェア、および／またはソフトウェアの任意の組み合わせとして実装されてもよい。
【００２４】
処理装置１０４のバンドパスフィルタ１０６の動作により、取り込まれたビデオフレームのＤＣ成分が除去され、動き推定システム１００の全体の動作は、明るさの変化による誤差の影響を受けにくくなる。
さらに、バンドパスフィルタの動作により、取り込まれたビデオフレーム内の高周波雑音も除去される。
この例示的な実施形態では、Taubmanに対して発行され、Hewlett-Packard Companyに譲渡された米国特許第６，１２２，０１７号に記載されているように、バンドパスフィルタは、２つの移動するウィンドウローパスフィルタ処理による処理結果間の差を求めるように構成されている。
【００２５】
次に、この例示的な実施形態によるバンドパスフィルタ１０６の動作を説明する。
ｙ［ｉ，ｊ］は、任意の所与のビデオフレームのｉ行ｊ列における輝度サンプルを表すものとする。
バンドパスフィルタ処理が適用された画素
【００２６】
【数２】
2004152271.tif 000004
【００２７】
は、以下の式に従って計算される。
【００２８】
【数３】
2004152271.tif 000005
【００２９】
上式において、ＬｘとＬｙは「局所（local scale）」移動平均ウィンドウの幅と高さであり、ＷｘとＷｙは、「広域（wide scale）」移動平均ウィンドウの幅と高さである。
スケーリング演算は、これらの４つの次元がおのおの２の累乗であることが保証されることで、簡略化してシフト演算にすることができる。
【００３０】
その場合、バンドパスフィルタ処理演算は、画素あたり４回の加算、４回の減算、および２回のシフトにより実施することができる。
次元、Ｌｘ、Ｌｙ、Ｗｘ、Ｗｙは、経験的に決定することもできる。
たとえば、次元Ｌｘ＝Ｌｙ＝４、Ｗｘ＝３２、Ｗｙ＝１６をバンドパスフィルタに対して使用することができる。
【００３１】
処理装置１０４の３レベル量子化ユニット１０８の動作により、受け取ったビデオフレームの各画素値が３つのレベルの１つに量子化され、ビデオフレームの各画素の輝度値は２ビットで表すことができるようになる。
量子化はパラメータＴｂを使用して実行される。所与のフィルタ処理された画素値
【００３２】
【数４】
2004152271.tif 000006
【００３３】
に対して、
【００３４】
【数５】
2004152271.tif 000007
【００３５】
の場合、第１のビットは１に設定される。そうでない場合は、第１のビットは０に設定される。
【００３６】
【数６】
2004152271.tif 000008
【００３７】
の場合、第２のビットは１に設定される。
そうでない場合は、第２のビットは０に設定される。
３つのレベルへの画素値の量子化には、以下の目的がある。
第１に、３つのレベルだけを使用するため、画素を２ビットで表すことが可能になる。
【００３８】
したがって、４つの画素の輝度値の保存に必要になるのは１バイトだけである。
さらに、３レベル量子化により、ＰＣＴＳモジュール１１２に関する以下の説明のように、非常に効率的なＸＮＯＲ演算に基づく相関エンジンを実現できる。
さらに、エッジ検出におけるような１つの絶対値を基準にした２つのレベルではなく、３つのレベルが使用されるため、ＸＮＯＲ演算ベースの相関エンジンにより、しきい値の変動が大幅に少なくなる。
【００３９】
しきい値に対する変動が少ない理由は、量子化の結果、３つの２ビット表現、「１０」、「００」、「０１」があり得るからである。
ＸＮＯＲ演算を適用する場合には、以下の組み合わせと結果が存在する。
【００４０】
「１０」ＸＮＯＲ「１０」→「１１」  「１０」ＸＮＯＲ「００」→「０１」
「１０」ＸＮＯＲ「０１」→「００」  「００」ＸＮＯＲ「１０」→「０１」
「００」ＸＮＯＲ「００」→「１１」  「００」ＸＮＯＲ「０１」→「１０」
「０１」ＸＮＯＲ「１０」→「００」  「０１」ＸＮＯＲ「００」→「１０」
「０１」ＸＮＯＲ「０１」→「１１」
【００４１】
これらの考え得る組み合わせと結果の比較から、結果内の「１」のビットの数を相関への寄与と見なすと、値それ自体に対するＸＮＯＲ演算を行うと、「１」のビットが２つ含まれる結果が得られる。
ある値と、しきい値を超え、かつその値との間に他の値のない別の値とのＸＮＯＲ演算（たとえば「００」と「０１」または「００」と「１０」）では、「１」のビットが１つ含まれる結果になる。
【００４２】
ある値と、その値との間に中間の量子化ステップが１つある別の値とのＸＮＯＲ演算（たとえば、「１０」と「０１」）では、「１」ビットの数はゼロになる。
しきい値に対する変動が少ない理由は、しきい値のどちらかの側の隣り合った値は、同じ値に量子化された値ほどではないものの、コスト関数に寄与するためである。
【００４３】
処理装置１０４のブロック選択モジュール１１０の動作により、目標ビデオフレームから候補ブロックが選択され、それによりこれらの各候補ブロックについて、定義済みの探索ウィンドウ内の基準ビデオフレームのブロックとの相関を求めることができる。
この例示的な実施形態においては、各候補ブロックと基準ブロックには、１６×１６に定義済みの数を乗じた数の画素が含まれる。
【００４４】
したがって、各候補ブロックまたは基準ブロックは、対応数の１６×１６画素のサブブロックに分割することができる。
目標ビデオフレームは、基準ビデオフレームに対して、それ以降に取得されたビデオフレーム、たとえば現在のビデオフレームであってもよい。
しかし、目標ビデオフレームは、基準ビデオフレームに対してそれ以前に取得されたビデオフレームであってもよく、その場合、求められた動きの推定を逆にすることで、「正しい」動きの推定を導き出すことができる。
【００４５】
ブロック選択モジュールは、１つ以上の判定基準を使用して、目標ビデオフレーム内で、効率的に相関探索の結果を得るために、エッジやその他の特徴が豊富な内容を有する候補ブロックを選択する。
ブロック選択モジュールは、任意の判定基準を使用して、特徴が豊富な内容を有する候補ブロックを選択することができる。
【００４６】
たとえば、ブロック選択モジュールは、既知のエッジ検出技法を使用して、エッジのある候補ブロックを選択することができる。
この例示的な実施形態では、候補ブロックは、ブロック内に含まれる「１」のビットの数により少なくとも部分的に選択されるが、これはこの数がブロックの特徴の豊富さを示すのに適切だからである。
【００４７】
処理装置１０４のＰＣＴＳモジュール１１２の動作により、目標ビデオフレーム内の候補ブロックに「一致する」基準ビデオフレーム内のブロックが見つけ出され、候補ブロックの並進ベクトルが生成される。
目標ビデオフレームの所与の候補ブロックについて、定義済みの探索ウィンドウ内の基準ビデオフレームのすべての対象となり得るブロックとの相関を求めることにより、基準ビデオフレームのその探索ウィンドウが探索される。
【００４８】
例示的な実施形態では、候補ブロックについて、探索ウィンドウ内の基準フレームの各ブロックとの相関がＸＮＯＲ演算を使用して求められる。
４つの量子化された画素値が１バイトで定義されるため、１６×１６画素の候補サブブロックの行についての量子化された画素値は３２ビットワードで表すことができる。
【００４９】
その結果、１６×１６候補サブブロックの行全体について、３２ビットまたはそれ以上のビット数のプロセッサにより実行される単純なＸＮＯＲ演算だけを使用して、探索ウィンドウ内の基準ビデオフレームの１６×１６画素のサブブロックの対応する行との相関を求めることが可能になる。
候補サブブロックについて、探索ウィンドウ内の基準ビデオフレームのサブブロックとの相関が行ごとに実行される。
【００５０】
得られた１６×１６候補サブブロックの各行の相関は、結果の３２ビットワード内の「１」のビットの数の合計になる。
それから、探索ウィンドウ内での特定のシフトで定義される基準ビデオフレームのブロックに対して、候補ブロック全体についてこれらの結果の３２ビットワードが合計されて、相関値が導き出される。
この処理が各シフトに対して繰り返され、相関値により定義された相関表面が生成される。
【００５１】
相関表面内の最大の相関値が、所与の候補ブロックの並進の推定値とされる。
次に最大の相関値を使用して並進ベクトルが導き出される。
並進ベクトルは、基準ビデオフレームから目標ビデオフレームへの候補ブロックの推定された移動を表す。
【００５２】
Intel Architecture（IA）命令セットには、ＰＴＣＳモジュール１１２により実行される相関処理におけるボトルネックが存在する。
相関処理のボトルネックは、３２ビットＸＮＯＲ演算の結果内の「１」のビットをルックアップテーブル（ＬＵＴ）などの従来の技法により数えていることである。
そのため、ＰＣＴＳモジュールは、ｍを任意の整数としたときに２のｍ乗の大きさを持つ２進ワード内の「１」のビットを数えるために独特の演算を実行することで、相関処理のボトルネックを際だって減少させる。
【００５３】
ＰＣＴＳモジュール１１２により実行される計数演算は、図２Ａ、２Ｂ、２Ｃを参照して以下で説明する、２の５乗の大きさを持つワードである３２ビットワードの例「０１１０１１０１０１００１１１１１１１１０１１０１０１１０１１０」を使用した計数技法に基づいている。
計数技法には、ｍ回の同様の段階が含まれる。
したがって、この例ではｍ＝５であるため、計数技法には５つの段階が存在する。
【００５４】
計数技法の第１の段階には、図２Ａに示したように４つのステップ２０１ａ、２０１ｂ、２０１ｃ、２０１ｄが含まれる。
ステップ２０１ａでは、目標ワードが、「第１の２ビットパターン化ワード」とここで呼ぶ３２ビットワード「０１０１０１０１０１０１０１０１０１０１０１０１０１０１０１０１」によりマスクされ、ビットごとのＡＮＤ演算を使用して、以下に示すように第１の結果の第１段階３２ビットワード「０１０００１０１０１０００１０１０１０１０１０００００１０１００」が得られる。
【００５５】
【数７】
2004152271.tif 000009
【００５６】
ステップ２０１ｂでは、目標ワードが、「第２の２ビットパターン化ワード」とここで呼ぶ３２ビットワード「１０１０１０１０１０１０１０１０１０１０１０１０１０１０１０１０」によりマスクされ、ビットごとのＡＮＤ演算を使用して、以下に示すように第２の結果の第１段階３２ビットワード「００１０１０００００００１０１０１０１０００１０１０１０００１０」が得られる。
【００５７】
【数８】
2004152271.tif 000010
【００５８】
次に、ステップ２０１ｃでは、ステップ２０１ｂの第２の結果の第１段階３２ビットワードが右に１ビットだけシフトされ、第３の結果の第１段階３２ビットワード「０００１０１０００００００１０１０１０１０００１０１０１０００１」が得られる。
ステップ２０１ｄでは、ステップ２０１ａとステップ２０１ｃの結果の３２ビットワードが加算されて、以下に示すように最終の第１段階３２ビットワード「０１０１１００１０１００１０１０１０１００１０１０１１００１０１」が得られる。
【００５９】
【数９】
2004152271.tif 000011
【００６０】
本計数技法の最終の第１段階３２ビットワードは、以下の特性を持つ。
元のワードと最終の第１段階３２ビットワードを２ビットセグメントに分割すると、最終の第１段階３２ビットワードの各２ビットセグメントには、元のワードの対応する２ビットセグメント内の「１」のビットの合計を表す２ビットの数値が含まれる。
【００６１】
計数技法の第２の段階にも、図２Ａに示したように４つのステップ２０２ａ、２０２ｂ、２０２ｃ、２０２ｄが含まれる。
ステップ２０２ａでは、最終の第１段階３２ビットワードが、「第１の４ビットパターン化ワード」とここで呼ぶ３２ビットワード「００１１００１１００１１００１１００１１００１１００１１００１１」によりマスクされ、ビットごとのＡＮＤ演算を使用して、以下に示すように第１の結果の第２段階３２ビットワード「０００１０００１００００００１０００１００００１００１００００１」が得られる。
【００６２】
【数１０】
2004152271.tif 000012
【００６３】
ステップ２０２ｂでは、最終の第１段階３２ビットワードが、「第２の４ビットパターン化ワード」とここで呼ぶ３２ビットワード「１１００１１００１１００１１００１１００１１００１１００１１００」によりマスクされ、ビットごとのＡＮＤ演算を使用して、以下に示すように第２の結果の第２段階３２ビットワード「０１００１００００１００１０００１００００１０００１０００１００」が得られる。
【００６４】
【数１１】
2004152271.tif 000013
【００６５】
次に、ステップ２０２ｃでは、ステップ２０２ｂの第２の結果の第２段階３２ビットワードが右に２ビットだけシフトされ、第３の結果の第２段階３２ビットワード「０００１００１００００１００１０００１００００１０００１０００１」が得られる。
ステップ２０２ｄでは、ステップ２０２ａとステップ２０２ｃの結果の３２ビットワードが加算されて、以下に示すように最終の第２段階３２ビットワード「００１０００１１０００１０１０００１００００１０００１１００１０」が得られる。
【００６６】
【数１２】
2004152271.tif 000014
【００６７】
本計数技法の最終の第２段階３２ビットワードは、以下の特性を持つ。
元のワードと最終の第２段階３２ビットワードを４ビットセグメントに分割すると、最終の第２段階３２ビットワードの各４ビットセグメントには、元のワードの対応する４ビットセグメント内の「１」のビットの合計を表す４ビットの数値が含まれる。
【００６８】
計数技法の第３の段階には、図２Ｂに示したように４つのステップ２０３ａ、２０３ｂ、２０３ｃ、２０３ｄが含まれる。
ステップ２０３ａでは、最終の第２段階３２ビットワードが、「第１の８ビットパターン化ワード」とここで呼ぶ３２ビットワード「００００１１１１００００１１１１００００１１１１００００１１１１」によりマスクされ、ビットごとのＡＮＤ演算を使用して、以下に示すように第１の結果の第３段階３２ビットワード「００００００１１０００００１００００００００１０００００００１０」が得られる。
【００６９】
【数１３】
2004152271.tif 000015
【００７０】
ステップ２０３ｂでは、最終の第２段階３２ビットワードが、「第２の８ビットパターン化ワード」とここで呼ぶ３２ビットワード「１１１１００００１１１１００００１１１１００００１１１１００００」によりマスクされ、ビットごとのＡＮＤ演算を使用して、以下に示すように第２の結果の第３段階３２ビットワード「００１００００００００１０００００１００００００００１１００００」が得られる。
【００７１】
【数１４】
2004152271.tif 000016
【００７２】
次に、ステップ２０３ｃでは、ステップ２０３ｂの第２の結果の第３段階３２ビットワードが右に４ビットだけシフトされ、第３の結果の第３段階３２ビットワード「００００００１００００００００１０００００１００００００００１１」が得られる。
ステップ２０３ｄでは、ステップ２０３ａとステップ２０３ｃの結果の３２ビットワードが加算されて、以下に示すように最終の第３段階３２ビットワード「０００００１０１０００００１０１０００００１１００００００１０１」が得られる。
【００７３】
【数１５】
2004152271.tif 000017
【００７４】
本計数技法の最終の第３段階３２ビットワードは、以下の特性を持つ。
元のワードと最終の第３段階３２ビットワードを８ビットセグメントに分割すると、最終の第３段階３２ビットワードの各８ビットセグメントには、元のワードの対応する８ビットセグメント内の「１」のビットの合計を表す８ビットの数値が含まれる。
【００７５】
計数技法の第４の段階には、図２Ｂに示したように４つのステップ２０４ａ、２０４ｂ、２０４ｃ、２０４ｄが含まれる。
ステップ２０４ａでは、最終の第３段階３２ビットワードが、「第１の１６ビットパターン化ワード」とここで呼ぶ３２ビットワード「００００００００１１１１１１１１００００００００１１１１１１１１」によりマスクされ、ビットごとのＡＮＤ演算を使用して、以下に示すように第１の結果の第４段階３２ビットワード「０００００００００００００１０１０００００００００００００１０１」が得られる。
【００７６】
【数１６】
2004152271.tif 000018
【００７７】
ステップ２０４ｂでは、最終の第３段階３２ビットワードが、「第２の１６ビットパターン化ワード」とここで呼ぶ３２ビットワード「１１１１１１１１００００００００１１１１１１１１００００００００」によりマスクされ、ビットごとのＡＮＤ演算を使用して、以下に示すように第２の結果の第４段階３２ビットワード「０００００１０１０００００００００００００１１０００００００００」が得られる。
【００７８】
【数１７】
2004152271.tif 000019
【００７９】
次に、ステップ２０４ｃでは、ステップ２０４ｂの第２の結果の第４段階３２ビットワードが右に８ビットシフトされ、第３の結果の第４段階３２ビットワード「０００００００００００００１０１０００００００００００００１１０」が得られる。
ステップ２０４ｄでは、ステップ２０４ａとステップ２０４ｃの結果の３２ビットワードが加算されて、以下に示すように最終の第４段階３２ビットワード「００００００００００００１０１０００００００００００００１０１１」が得られる。
【００８０】
【数１８】
2004152271.tif 000020
【００８１】
本計数技法の最終の第４段階３２ビットワードは、以下の特性を持つ。
元のワードと最終の第４段階３２ビットワードを１６ビットセグメントに分割すると、最終の第４段階３２ビットワードの各１６ビットセグメントには、元のワードの対応する１６ビットセグメント内の「１」のビットの合計を表す１６ビットの数値が含まれる。
【００８２】
計数技法の第５の段階にも、図２Ｃに示したように４つのステップ２０５ａ、２０５ｂ、２０５ｃ、２０５ｄが含まれる。
ステップ２０５ａでは、最終の第４段階３２ビットワードが、「第１の３２ビットパターン化ワード」とここで呼ぶ３２ビットワード「００００００００００００００００１１１１１１１１１１１１１１１１」によりマスクされ、ビットごとのＡＮＤ演算を使用して、以下に示すように第１の結果の第５段階３２ビットワード「００００００００００００００００００００００００００００１０１１」が得られる。
【００８３】
【数１９】
2004152271.tif 000021
【００８４】
ステップ２０５ｂでは、最終の第４段階３２ビットワードが、「第２の１６ビットパターン化ワード」とここで呼ぶ３２ビットワード「１１１１１１１１１１１１１１１１００００００００００００００００」によりマスクされ、ビットごとのＡＮＤ演算を使用して、以下に示すように第２の結果の第５段階３２ビットワード「００００００００００００１０１０００００００００００００００００」が得られる。
【００８５】
【数２０】
2004152271.tif 000022
【００８６】
次に、ステップ２０５ｃでは、ステップ２０５ｂの第２の結果の第５段階３２ビットワードが右に１６ビットシフトされ、第３の結果の第５段階３２ビットワード「００００００００００００００００００００００００００００１０１０」が得られる。
ステップ２０５ｄでは、ステップ２０５ａとステップ２０５ｃの結果の３２ビットワードが加算されて、以下に示すように最終の第５段階３２ビットワード「０００００００００００００００００００００００００００１０１０１」が得られる。
【００８７】
【数２１】
2004152271.tif 000023
【００８８】
最終の第５段階３２ビットワードは、元の３２ビットワード内の「１」のビット数を表す。
３２ビットワードの例を使用して計数技法を説明したが、本技法を短縮または延長して、８ビットワード、１６ビットワード、６４ビットワードなどの大きさの異なるワード内の「１」のビット数を数えることができる。
たとえば、最初の３段階を使用して８ビットワード内の「１」のビットを数えることができる。
【００８９】
別の例として、前述の５つの段階と追加の第６段階を使用して、６４ビットワード内の「１」ビットの数を数えることができる。
この計数技法では、以下の方式を使用して段階を追加することがきる。
任意のｎ番目の段階について、最終の（ｎ−１）段階のｍビットワードが第１と第２の２ｎビットパターン化ワードを使用してマスクされ、第１と第２の結果のｎ段階のｍビットワードが導き出される。
ここでｍは元のワード内のビット数である。
【００９０】
次に、第２の結果のｎ段階のｍビットワードが右に２ｎ／２ビットシフトされ、第３の結果のｎ段階のｍビットワードが得られる。
次に、第１と第３の結果のｎ段階のｍビットワードが加算され、最終のｎ段階のｍビットワードが得られる。
【００９１】
ＰＣＴＳモジュール１１２によって実行される計数演算は、上述の計数技法の修正版である。
ＰＣＴＳモジュールは、前述の計数技法の興味深い特徴を利用して、相関処理の速度を向上させる。
興味深い特徴の１つは、第５段階の最終の３２ビットワードが表す合計が、３２よりも大きくなることがないことであり、これは、最終の３２ビットワードの６ビットだけが使用されることを意味する。
【００９２】
同様な特徴は、第３段階の最終の３２ビットワードにも見出すことができる。
この場合、８ビットを使用して最大数の８を表している。
ＰＣＴＳモジュールは、これらの特徴を利用して、複数のワードに対して１つ以上の計数段階を組み合わせている。
したがって、所与の数のワードに対して実行される段階の総数が減少する。
【００９３】
特に、最初の３つの段階が、複数のワードに対して実行され、部分的な結果が導き出され、次にそれらの結果が１つに加算されて部分的な合計が求められる。
次に、第４段階と第５段階がその部分的な合計に対して実行される。
したがって、第４段階と第５段階は、処理されるワードすべてに対して１度だけ実行される。
【００９４】
目標ビデオフレームの候補ブロックの相関表面の相関値を導き出すＰＣＴＳモジュール１１２の動作を図３の流れ図を参照して説明する。
相関表面は、候補ブロックと、定義済みの探索ウィンドウ内の基準ビデオフレームのすべての対象となり得るブロックとの相関を求めることによって導き出される。
この説明では、各候補ブロックと探索ウィンドウ内の基準ビデオフレームの各ブロックは、定義済みの１６×１６の倍数の画素を含み、ブロック内の各画素の輝度値は２ビットで表されているものとする。
【００９５】
したがって、各候補ブロックまたは基準ブロックは、対応数の１６×１６画素のサブブロックに分割することができる。
ステップ３０２で、定義済みの探索ウィンドウ内の基準ビデオフレームのブロックが選択されて、候補ブロックとの相関が求められる。
次に、ステップ３０４で、選択された基準ブロックの１６×１６のサブブロックが選択される。
【００９６】
ステップ３０６で、処理される候補サブブロックの行が選択される。
候補サブブロックは１６×１６画素のブロックで、各画素の輝度値は２ビットで表されるため、候補サブブロックの選択された行は、３２ビットワードで表わされる。
ステップ３０８で、基準サブブロックの選択された行と候補ブロックのサブブロックの対応する行との相関が求められ、相関３２ビットワードが導き出される。
【００９７】
ステップ３１０で、相関３２ビットワードに対して計数技法の第１段階が実行され、最終の第１段階３２ビットワードが導き出される。
導き出された３２ビットワードは、相関３２ビットワードの対応する２ビットセグメント内の「１」のビットの合計に等しい２ビットの数値を有するという特性がある。
【００９８】
ステップ３１２で、最終の第１段階３２ビットワードに対して計数技法の第２段階が実行され、最終の第２段階３２ビットワードが導き出される。
導き出された３２ビットワードは、相関３２ビットワードの対応する４ビットセグメント内の「１」のビットの合計に等しい４ビットの数値を有するという特性がある。
ステップ３１４で、最終の第２段階３２ビットワードに対して計数技法の第３段階が実行され、最終の第３段階３２ビットワードが導き出される。
導き出された３２ビットワードは、相関３２ビットワードの対応する８ビットセグメント内の「１」のビットの合計に等しい８ビットの数値を有するという特性がある。
【００９９】
次に、ステップ３１６で、処理中の現在の行が、処理される候補サブブロックの最終行かどうかが判断される。
最終行ではない場合、処理はステップ３０６に戻り、このステップで、候補サブブロックの処理すべき次の行が選択される。
しかし、現在の行が候補サブブロックの最後の行の場合は、処理はステップ３１８に進み、このステップで、候補サブブロックのすべての行の最終の第３段階３２ビットワードが合計されて、部分合計３２ビットワードが導き出される。
【０１００】
次に、ステップ３２０で、部分合計３２ビットワードに対して計数技法の第４段階が実行され、最終の第４段階３２ビットワードが導き出される。
導き出された３２ビットワードは、１６×１６候補ブロックのすべての行の相関３２ビットワードの対応する１６ビットセグメント内の「１」のビットの合計に等しい１６ビットの数値を有するという特性がある。
【０１０１】
ステップ３２２で、最終の第４段階３２ビットワードに対して計数技法の第５段階が実行されて出力３２ビットワードが導き出される。
この３２ビットワードは、候補ブロックのすべての行の「１」ビット数の最終計数となる。
出力３２ビットワードは、探索ウィンドウ内の基準ビデオフレームの選択されたブロックの部分相関値である。
【０１０２】
次に、ステップ３２４で、現在のサブブロックが選択された基準ブロックの最終のサブブロックかどうかが判断される。
最終サブブロックではない場合、処理はステップ３０４に戻り、このステップで、選択された基準ブロックの次に処理すべきサブブロックが選択される。
しかし、現在のサブブロックが基準ブロックの最後のサブブロックの場合、処理はステップ３２６に進み、このステップで、選択された基準ブロックのすべてのサブブロックの部分相関値が合計されて、最終相関値が導き出される。
ステップ３２８で、最終相関値が保存される。
【０１０３】
次に、ステップ３３０で、探索ウィンドウ内の基準ビデオフレームの現在のブロックが探索ウィンドウ内の相関を求めるべき最終のブロックかどうかが判断される。
最終のブロックではない場合、処理はステップ３０２に戻り、このステップで、探索ウィンドウ内の基準ビデオフレームの次に処理すべきブロックが選択される。
しかし、基準ビデオフレームの現在のブロックが探索ウィンドウ内の相関を求めるべき最終のブロックの場合、処理は終了する。
このようにして、目標ビデオフレームの各候補ブロックを探索ウィンドウ内の基準ビデオフレームのブロックに関連付けて、並進ベクトルを求め、目標ビデオフレームと基準ビデオフレームとの間の動きを推定することができる。
【０１０４】
例示的な実施形態では、ＰＣＴＳモジュール１１２により実行される相関処理は、ＭＭＸプラットフォーム上に実装される。
この処理では６４ビットワードと６４ビット演算が含まれる。
１６×１６画素サブブロックの各行は３２ビットのため、１６×１６画素サブブロックの２つの行を同時に処理することができる。
以下は、例示的な実施形態によるＰＣＴＳモジュールによって実行される相関処理のための擬似コードである。
【０１０５】
○ＦＯＲマッチング画像ウィンドウ内の各１６×１６ブロック
○ポインタ配列、ｂｙｔｅ＿ｐｔｒ＿ａｒｒａｙ（バイトポインタ配列）、を作成して、偶数のエントリは１６×１６のブロック内の各行の先頭を指すように設定。
○ＦＯＲ垂直探索範囲内の各垂直探索オフセット（テストする並進距離）。
○ｂｙｔｅ＿ｐｔｒ＿ａｒｒａｙの奇数エントリが、現在の１６×１６のマッチング領域との相関を求める必要のある、現在の垂直探索オフセット位置にある基準画像の行の先頭を指すように設定。
注：行内の水平オフセットはまだ設定されていないが、水平オフセットはマッチング用のポインタのために設定済み。
○ＦＯＲ８つの連続水平探索オフセット（つまり、水平探索範囲をステップサイズが８になるように分割し、次の内側のループが８＊ｍ＋ｎのシフト分を担当。ここで、ｍはこのループのインデックスであり、ｎ＝０．．．７は次の内側のループが担当）の各水平方向のセット。
−−−−−−−−−−−−−−ＭＭＸコードセグメント−−−−開始−−−
○現在の探索オフセットにおいて、この１６×１６マッチングブロックについての結果を累積するため、ｍｍ４．．．ｍｍ７をゼロに設定。
○ｂｙｔｅ＿ｐｔｒ＿ａｒｒａｙの奇数エントリに保存される基準ポインタに行内のオフセットを設定し、現在の水平シフトセット（つまり前述で定義した「ｍ」）で指定される探索の開始位置にポインタが揃えられるようにする。
○ＦＯＲ現在のマッチング領域内の１６の各行
○現在の１６×１６のマッチング領域内の現在の行の１６画素を保持する３２ビットマッチングワードをロード（ｂｙｔｅ＿ｌｉｎｅ＿ｐｔｒ内の適切な偶数エントリにより指されている）。
○ｂｙｔｅ＿ｌｉｎｅ＿ｐｔｒの適切な奇数行とこのループの直前に作成された行内オフセットを使用して基準行データの２４画素をロード。ｎ＝０．．．７オフセットの生成に２ビットシフトが使用されるのでここでは４８ビットが有用。
○ｎ＝０．．．７のシフトを実行し、相関を評価し、結果をｍｍ４．．．ｍｍ７に累積。相関の評価には、隣接する「１」の値の数の合計を求める（「０」の数を合計する第１段階を除く）５段階アプローチを使用する。累積は第３レベル後に停止し、その段階の結果をｍｍ４．．．ｍｍ７レジスタに累積。レジスタは、シフトｎ＝０にｍｍ４  ＬＯＤＷを使用し、シフトｎ＝１にｍｍ４  ＨＯＤＷを使用し、シフトｎ＝２にｍｍ５  ＬＯＤＷを使用し、．．．。
○ｍｍ４．．．ｍｍ７への相関結果の累積を終了する（つまりレベル４と５）。
○これらの結果をメインメモリに累積する（ｓｈｉｆｔ＿ｒｅｓｕｌｔｓ＿ａｒｒａｙ）。
−−−−−−−−−−−−−−ＭＭＸコードセグメント−−−−終了−−−
【０１０６】
図１に戻ると、処理装置１０４の並進ベクトルモデルあてはめモジュール１１４の動作により、標準的な回帰技法を使用してＰＣＴＳモジュールの並進ベクトルをあてはめて、マッピング演算子Ｍ（ｍ，ｎ）を定義するマッピングパラメータａ、ｂ、ｃ、ｄ、ｅ、ｆを求める。
【０１０７】
本発明の例示的な実施形態による連続して取り込まれたビデオフレーム間の動きの推定方法を図１と図４を参照して説明する。
ステップ４０２では、基準ビデオフレームと目標ビデオフレームが受け取られる。
次に、ステップ４０４で、基準ビデオフレームと目標ビデオフレームにバンドパスフィルタ処理を適用する。
【０１０８】
ステップ４０６で、ビデオフレームの各画素の輝度値が２ビットで表現できるように基準ビデオフレームと目標ビデオフレームが量子化される。
ステップ４０８で、目標ビデオフレームから候補ブロックが選択される。
候補ブロックは、エッジなどの特徴が豊富なブロックの内容に基づいて選択することができる。
【０１０９】
次に、ステップ４１０で、各候補ブロックについて、定義済み探索ウィンドウ内の基準ビデオフレームの潜在ブロックとの相関を求めて並進ベクトルを導き出す。
ステップ４１２で、マッピング演算子のマッピングパラメータが並進ベクトルを使用して計算される。
マッピングパラメータは、基準ビデオフレームと目標ビデオフレームとの間の動きを定義する。
【０１１０】
本発明の特定の実施形態を説明し図示したが、本発明は説明し図示した特定の形態や部品の構成に限定されない。
本発明の範囲は、ここに添付の特許請求の範囲とそれらの等価物によって定義される。
【産業上の利用可能性】
【０１１１】
本発明は、画像処理に利用可能である。
【図面の簡単な説明】
【０１１２】
【図１】本発明の例示的な実施形態による動き推定システムの図である。
【図２Ａ】図１の動き推定システムのパック化相関並進探索（ＰＣＴＳ）モジュールの計数技法の第１の流れ図である。
【図２Ｂ】図１の動き推定システムのパック化相関並進探索（ＰＣＴＳ）モジュールの計数技法の第２の流れ図である。
【図２Ｃ】図１の動き推定システムのパック化相関並進探索（ＰＣＴＳ）モジュールの計数技法の第３の流れ図である。
【図３】ＰＣＴＳモジュールの動作を説明する流れ図である。
【図４】本発明の例示的な実施形態によるビデオフレーム間の動き推定方法の流れ図である。
【符号の説明】
【０１１３】
１０２・・・ビデオカメラ、
１０４・・・処理装置、
１００・・・動き推定システム、
１０４・・・処理装置、
１０６・・・バンドパスフィルタ、
１０８・・・３レベル量子化モジュール、
１１０・・・ブロック選択モジュール、
１１２・・・パック化相関並進探索（ＰＣＴＳ）モジュール、
１１４・・・並進ベクトルモデルあてはめ（ＴＶＭＦ）モジュール、
【図１】
2004152271.tif 000024
【図２Ａ】
2004152271.tif 000025
【図２Ｂ】
2004152271.tif 000026
【図２Ｃ】
2004152271.tif 000027
【図３】
2004152271.tif 000028
【図４】
2004152271.tif 000029