(57)【要約】【課題】比較的広い探索範囲から所定フレームの符号化対象画素ブロックに対する動きベクトルを検出する場合に、当該動きベクトルの検出処理に必要なレジスタの個数を従来に比して低減可能な構成の動きベクトル検出装置を提供する。【解決手段】動きベクトル検出装置１００を、動きベクトルの探索範囲に対して設定される探索ポイント数よりも少ない数の差分値和格納レジスタ１４０ａ0〜１４０ａnと、差分値和の最小値を格納する１つの最小値格納レジスタ１４０ｂとを含んだ構成とし、差分値和格納レジスタ数の差分値和の演算処理を並列に行い、この演算結果がそれぞれ対応する差分値和格納レジスタ１４０ａ0〜１４０ａnに格納される毎に、これら差分値和と最小値格納レジスタに格納された差分値和とを比較し、最小値格納レジスタの差分値和をこれらのうちの最小値にする処理を行う。【選択図】      図１
2007110602.tif 000002
【特許請求の範囲】
【請求項１】
連続する複数フレームによって構成される動画像の所定フレームにおける、縦Ｍ個×横Ｎ個の符号化対象の画素（Ｍ，Ｎは自然数）から構成される符号化対象画素ブロックと、当該符号化対象画素ブロックと時間の隔たったフレームにおける縦Ｊ個×横Ｋ個の画素（Ｊ，Ｋは自然数）から構成される前記符号化対象画素ブロックよりも多い画素数の探索範囲画素ブロックとに基づき、ブロックマッチング法を用いて前記符号化対象画素ブロックに対する動きベクトルを検出する動きベクトル検出装置であって、
予め設定された探索ポイント情報に基づき、前記探索範囲画素ブロックから縦Ｍ個×横Ｎ個の画素から構成される探索候補画素ブロックを選択する探索候補画素ブロック選択手段と、
前記符号化対象画素ブロックの各画素の画素値と、当該各画素に対応する前記選択した探索候補画素ブロックの各画素の画素値との差分値の絶対値を演算すると共に、当該差分値の絶対値を累積して差分値和を演算する差分値和演算手段と、
前記探索範囲画素ブロックに対する前記探索ポイントの総数よりも少数の、前記差分値和を格納する差分値和格納レジスタと、
前記差分値和の最小値を格納する最小値格納レジスタと、
前記差分値和格納レジスタに格納された差分値和と、前記最小値格納レジスタに格納された差分値和とを比較して、前記差分値和格納レジスタに格納された差分値和の方が前記最小値格納レジスタに格納された差分値和よりも小さい値であったときに、前記最小値格納レジスタに格納された差分値和を前記差分値和格納レジスタに格納された差分値和に更新する最小値更新手段と、を備え、
前記最小値更新手段は、所定の前記差分値和格納レジスタに前記差分値和が格納される毎に、前記最小値格納レジスタの更新処理を行うことを特徴とする動きベクトル検出装置。
【請求項２】
前記差分値和格納レジスタを、前記探索範囲画素ブロックにおける画素行方向又は画素列方向の各固定位置に対してそれぞれ設定される探索ポイントの、各画素行又は各画素列における設定数だけ備え、
前記各差分値和格納レジスタを、そのそれぞれが互いに重複しないように同じ前記固定位置に対応する探索ポイントのグループ毎にそれぞれ１対１に対応させ、
前記差分値和演算手段は、前記各画素行又は各画素列に設定された前記複数の探索ポイントに対する差分値和の演算処理を並列に行うようになっていることを特徴とする請求項１記載の動きベクトル検出装置。
【請求項３】
前記差分値和演算手段は、前記符号化対象画素ブロックにおける各画素行毎又は各画素列毎に順番に前記差分値和の演算処理を行うようになっており、
前記符号化対象画素ブロックの前記各画素行又は前記各画素列を構成する画素の総ビット数を、前記各差分値和格納レジスタに対応する画素のデータを前記差分値和演算手段に伝送するデータ伝送バスのデータ伝送ビット数と同じビット数にしたことを特徴とする請求項１又は請求項２記載の動きベクトル検出装置。
【請求項４】
前記差分値和演算手段は、前記差分値の絶対値に代えて差分値の自乗値を演算し、当該差分値の自乗値を累積して前記差分値和を演算することを特徴とする請求項１乃至請求項３のいずれか１項に記載の動きベクトル検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、比較的広い探索範囲から所定フレームの符号化対象画素ブロックに対する動きベクトルを検出する動きベクトル検出装置に関する。
【背景技術】
【０００２】
従来、ＭＰＥＧ（Motion Picture Experts Group）規格等の動画像圧縮において、連続する複数フレームで構成される動画像の所定フレームにおける符号化対象の画素ブロックに対する動きベクトルを検出して符号化効率を高める技術がある。具体的には、動画像を形成するそれぞれが時間的に離れたフレーム間で、一方のフレーム内の符号化対象のブロックと、他方のフレーム内のサーチエリア（参照画素の範囲）における候補ブロックとのブロックマッチングを行い、相関の最も高いブロックのフレーム内の相対位置を動きベクトルとして検出する。このような技術として、例えば、特許文献１に記載の動きベクトル検出回路及び特許文献２に記載の演算回路がある。
【０００３】
特許文献１の従来技術は、広範囲のサーチエリアを対象とした動きベクトルの検出処理を行う回路であって、Ｍ×Ｎ個の演算ユニットを用いて、符号化対象ブロックと候補ブロックとのマッチング演算を並列処理する検出回路である。回路構成としては、参照画素データを基準に符号化対象画素データをシフトレジスタを用いて逐次比較し、演算ユニットの出力をそれぞれの差分演算結果レジスタに格納する。
【０００４】
また、特許文献２の従来技術は、符号化対象の画素ブロックと、Ｍ×Ｎ個の探索候補の画素ブロックとに対して、符号化対象の画素ブロックと探索候補の画素ブロックとの差分絶対値和を演算するＭ×Ｎ個の演算ユニットを備え、当該Ｍ×Ｎ個の演算ユニットを行列状に配置して相互接続し、符号化対象の画素ブロック及び探索候補の画素ブロックの画素値を一定の順序で供給して動きベクトルの検出処理を行う演算回路である。このような構成とすることで、演算ユニットにおいて、探索候補の画素ブロックの画素値をレジスタに格納することなく差分絶対値和の計算を行うことができるので、回路規模を縮小することが可能となる。
【特許文献１】特開平１０−１３８３７号公報
【特許文献２】特開平６−１４１３０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の従来技術においては、演算ユニットの出力をそれぞれの差分演算結果レジスタに格納しているため、シフトレジスタや演算結果格納用レジスタが演算対象画素数必要となり、広範囲のサーチエリアを設定した場合に、回路の規模及び回路の製造コストが増加するという問題があった。
また、上記特許文献２の従来技術においても、広範囲のサーチエリアを設定した場合に、探索候補の画素ブロック数（Ｍ×Ｎ個）が増加するため、差分演算用のシフトレジスタ回路と中間演算データを格納するレジスタが増加分に応じた個数必要となり、回路規模及び回路コストが増加するという問題が生じる。
【０００６】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、比較的広い探索範囲から所定フレームの符号化対象画素ブロックに対する動きベクトルを検出する場合に、当該動きベクトルの検出処理に必要なレジスタの個数を従来に比して低減可能な構成の動きベクトル検出装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
〔形態１〕  上記目的を達成するために、形態１の動きベクトル検出装置は、
連続する複数フレームによって構成される動画像の所定フレームにおける、縦Ｍ個×横Ｎ個の符号化対象の画素（Ｍ，Ｎは自然数）から構成される符号化対象画素ブロックと、当該符号化対象画素ブロックと時間の隔たったフレームにおける縦Ｊ個×横Ｋ個の画素（Ｊ，Ｋは自然数）から構成される前記符号化対象画素ブロックよりも多い画素数の探索範囲画素ブロックとに基づき、ブロックマッチング法を用いて前記符号化対象画素ブロックに対する動きベクトルを検出する動きベクトル検出装置であって、
予め設定された探索ポイント情報に基づき、前記探索範囲画素ブロックから縦Ｍ個×横Ｎ個の画素から構成される探索候補画素ブロックを選択する探索候補画素ブロック選択手段と、
前記符号化対象画素ブロックの各画素の画素値と、当該各画素に対応する前記選択した探索候補画素ブロックの各画素の画素値との差分値の絶対値を演算すると共に、当該差分値の絶対値を累積して差分値和を演算する差分値和演算手段と、
前記探索範囲画素ブロックに対する前記探索ポイントの総数よりも少数の、前記差分値和を格納する差分値和格納レジスタと、
前記差分値和の最小値を格納する最小値格納レジスタと、
前記差分値和格納レジスタに格納された差分値和と、前記最小値格納レジスタに格納された差分値和とを比較して、前記差分値和格納レジスタに格納された差分値和の方が前記最小値格納レジスタに格納された差分値和よりも小さい値であったときに、前記最小値格納レジスタに格納された差分値和を前記差分値和格納レジスタに格納された差分値和に更新する最小値更新手段と、を備え、
前記最小値更新手段は、所定の前記差分値和格納レジスタに前記差分値和が格納される毎に、前記最小値格納レジスタの更新処理を行うことを特徴としている。
【０００８】
このような構成であれば、探索候補画素ブロック選択手段によって、予め設定された探索ポイント情報に基づき、前記探索範囲画素ブロックから縦Ｍ個×横Ｎ個の画素から構成される探索候補画素ブロックを選択することが可能であり、差分値和演算手段によって、前記符号化対象画素ブロックの各画素の画素値と、当該各画素に対応する前記選択した探索候補画素ブロックの画素の画素値との差分値の絶対値を演算すると共に、当該差分値の絶対値を累積して差分値和を演算することが可能である。
【０００９】
また、最小値更新手段によって、前記探索範囲画素ブロックに対する前記探索ポイントの総数よりも少数の、前記差分値和を格納する差分値和格納レジスタに格納された差分値和と、前記差分値和の最小値を格納する最小値格納レジスタに格納された差分値和とを比較して、前記差分値和格納レジスタに格納された差分値和の方が前記最小値格納レジスタに格納された差分値和よりも小さい値であったときに、前記最小値格納レジスタに格納された差分値和を前記差分値和格納レジスタに格納された差分値和に更新することが可能である。
【００１０】
そして、最小値更新手段は、所定の前記差分値和格納レジスタに差分値和が格納される毎に、前記最小値の更新処理を行うことが可能である。
従って、例えば、各差分値和格納レジスタに探索ポイントを振り分けたとして、各探索ポイントに対応した探索候補画素ブロックに対する差分値和が、複数の差分値和格納レジスタに対して並列に演算され、その演算結果が各差分値和格納レジスタに格納される毎に、この格納された差分値和と最小値格納レジスタに格納された差分値和とを比較して上記最小値の更新処理を行うようにすることで、複数の探索ポイントに対応した探索候補画素ブロックに対して、同じ差分値和格納レジスタを使い回すことが可能となるので、差分値和格納レジスタの個数を従来に比して少数に抑えることが可能となる。これにより、装置の回路規模を縮小できると共に、装置の製造コストを削減できるという効果が得られる。
【００１１】
ここで、上記符号化対象画素ブロックは、各画素行を構成する画素数がＭ個で、各画素列を構成する画素数がＮ個の画素行列から構成されており、上記探索範囲画素ブロックは、各画素行を構成する画素数がＪ個で、各画素列を構成する画素数がＫ個の画素行列から構成されており、両者の関係は、「Ｊ＞Ｍ，Ｋ＞Ｎ」、「Ｊ＞Ｍ，Ｋ≧Ｎ」、「Ｊ≧Ｍ，Ｋ＞Ｎ」のいずれかとなる。
【００１２】
また、上記符号化対象画素ブロックと上記探索候補画素ブロックとは、同じ行数及び同じ列数（各行及び各列の画素数も同数）の画素行列となる。
また、上記ブロックマッチング法とは、動きベクトルを検出する手法の一つであり、画像中のある大きさの領域をテンプレートのブロック（探索候補画素ブロック）とし、前フレームの探索範囲のブロック（探索範囲画素ブロック）における評価対象のテンプレートブロックと現フレームの注目ブロック（符号化対象画素ブロック）との差分評価関数の値（差分値和）を最小とする点を対応点とする手法である。つまり、この最小となる点が動きベクトルとなる。ブロックマッチング法においては、 最小点を求める上で、探索範囲のブロック（テンプレートブロックよりも大きな範囲のブロック）における、評価対象のテンプレートブロックの全パターンに対して注目ブロックとの差分評価関数の値を求めることが望ましいが、このやり方であると探索範囲のブロックサイズが大きくなればなるほどブロックマッチングの処理負荷が大きくなってしまうので、探索範囲のブロックサイズが大きい場合などは、ある程度間引いてテンプレートブロックを設定することで処理負荷を軽くしている。
【００１３】
また、上記探索ポイント情報とは、例えば、探索範囲画素ブロックにおける各探索候補画素ブロックの開始位置（これを、探索ポイントという）を決定する情報であり、例えば、探索ポイントを示すアドレス情報等が登録されたデータテーブルであったり、公知のスパイラル探索法のアルゴリズム（例えば、公知のログアリスミックサーチアルゴリズム等）などの探索ポイントを決定するアルゴリズムの情報であったりする。例えば、探索候補画素ブロック選択手段が、探索範囲画素ブロックに対して、探索候補画素ブロックの左上隅の画素の位置を画素行方向に対して１画素毎、画素列方向に対して１画素毎にずらしながらＭ×Ｎの探索候補画素ブロックを順番に選択する場合に、各探索候補画素ブロックの左上隅の画素データのアドレス等が探索ポイントを示す情報となる。
【００１４】
また、上記差分値和演算手段は、例えば、本発明が差分値和格納レジスタを１つ備える構成の場合は、各探索ポイントの探索候補画素ブロックに対して１つずつ順番に差分値和の演算処理を行ったり、例えば、本発明が差分値和格納レジスタを複数備える構成の場合は、複数の差分値和格納レジスタに対応する探索ポイントの差分値和演算処理を並列で行ったり、または複数の差分値和格納レジスタにおける所定数の差分値和格納レジスタに対応する探索ポイント毎に順番に差分値和演算処理を行ったりするなど、差分値和格納レジスタの個数、差分値和の演算を行う演算ユニットの個数などに応じた演算性能を有するものである。
【００１５】
〔形態２〕  更に、形態２の動きベクトル検出装置は、形態１の動きベクトル検出装置において、
前記差分値和格納レジスタを、前記探索範囲画素ブロックにおける画素行方向又は画素列方向の各固定位置に対してそれぞれ設定される探索ポイントの、各画素行又は各画素列における設定数だけ備え、
前記各差分値和格納レジスタを、そのそれぞれが互いに重複しないように同じ前記固定位置に対応する探索ポイントのグループ毎にそれぞれ１対１に対応させ、
前記差分値和演算手段は、前記各画素行又は各画素列に設定された前記複数の探索ポイントに対する差分値和の演算処理を並列に行うようになっていることを特徴としている。
【００１６】
このような構成であれば、本装置を構成する差分値和格納レジスタが、探索範囲画素ブロックにおける画素行方向又は画素列方向の各行又は各列の所定位置に設定される探索ポイント数だけあれば済むので、特に、処理の高速化等のために、画素行方向又は画素列方向に対して所定画素数毎に間引いて探索ポイントが設定される場合などにおいて、差分値和格納レジスタの個数を従来に比して少数に抑えることが可能となる。これにより、装置の回路規模を縮小できると共に、装置の製造コストを削減できるという効果が得られる。また、複数の探索ポイントに対する差分値和の演算処理を並列に行うことが可能となるので、差分値和演算処理の処理速度を高速化することができるという効果が得られる。
【００１７】
ここで、上記各画素行又は各画素列における設定数とは、具体的に、各画素行毎又は各画素列毎に設定される探索ポイント数のことである。例えば、５行の画素行から構成される探索範囲画素ブロックの各画素行毎に、探索ポイントが５個ずつ（計２５個）設定されている場合は、５個の差分値和格納レジスタで本装置を構成する。一方、５行の画素行に対して、１行目は探索ポイントが４つ、２行目は探索ポイントが５つ、３行目〜５行目は探索ポイントが３つといったように行毎に探索ポイントの設定数が異なる場合は（探索ポイントの合計は４＋５＋３×３＝１８個）、２行目が探索ポイントが５つと設定数が一番多いので、装置を構成する差分値和格納レジスタの個数を５個とすることが好ましい。
【００１８】
〔形態３〕  更に、形態３の動きベクトル検出装置は、形態１又は２の動きベクトル検出装置において、
前記差分値和演算手段は、前記符号化対象画素ブロックにおける各画素行毎又は各画素列毎に順番に前記差分値和の演算処理を行うようになっており、
前記符号化対象画素ブロックの前記各画素行又は前記各画素列を構成する画素の総ビット数を、前記各差分値和格納レジスタに対応する画素のデータを前記差分値和演算手段に伝送するデータ伝送バスのデータ伝送ビット数と同じビット数にしたことを特徴としている。
【００１９】
このような構成であれば、符号化対象画素ブロックの各画素行又は各画素列を構成する画素のデータ（データ伝送バスのバス幅（バスの最大伝送ビット数）と同じビット数）を一遍に伝送することが可能となるので、データ伝送バスの伝送能力を効率よく利用でき、上記した並列処理等を併用することで、差分値和演算処理の処理速度を高速化することができるという効果が得られる。
【００２０】
〔形態４〕  更に、形態４の動きベクトル検出装置は、形態１乃至３のいずれか１の動きベクトル検出装置において、
前記差分値和演算手段は、前記差分値の絶対値に代えて差分値の自乗値を演算し、当該差分値の自乗値を累積して前記差分値和を演算することを特徴としている。
このような構成であれば、差分値の自乗値を累積した差分値和を用いて、動きベクトルを検出することが可能である。
【００２１】
従って、差分値の自乗値を累積した差分値和を用いた場合においても、装置の回路規模を縮小できると共に、装置の製造コストを削減できるという効果が得られる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を図面に基づき説明する。図１〜図９は、本発明に係る動きベクトル検出装置の実施の形態を示す図である。
本発明に係る動きベクトル検出装置は、現フレームの符号化対象画素ブロックである対象画素データと、１つ前のフレームの探索候補画素ブロックである参照画素データにおける探索候補画素ブロックとに対して、ブロックマッチング法を用いて両者の誤差が最小となる探索候補画素ブロックを探索し、当該探索した画素データに基づき対象画素データに対する動きベクトルを検出する構成とした。
【００２３】
まず、本発明に係る動きベクトル検出装置の構成を図１に基づき説明する。図１は、本発明に係る動きベクトル検出装置１００の構成を示すブロック図である。
動きベクトル検出装置１００は、連続する複数フレームによって構成される動画像における所定フレームの符号化対象画素ブロックに対する動きベクトルを検出する装置であって、図１に示すように、プロセッサ１０と、中間バッファ１２と、動き検出部１４と、データ伝送バス１６とを含んだ構成となっている。
【００２４】
プロセッサ１０は、動きベクトル検出装置１００全体を制御するものであり、図示しない命令メモリの所定アドレスに記憶された命令コードを、図示しない命令キャッシュを介して取得しつつ、動きベクトル検出処理全般を管理する。具体的には、レジスタ１４ｂを介して命令コードに応じた指示を制御部１４ａに与え（例えば、レジスタ１４ｂへのフラグの書き込みなど）、制御部１４ａに、動き検出部１４の各部に指示信号（起動制御信号あるいはモード設定信号等）を出力させたりする。ここで、前記起動制御信号とは、動き検出部１４の各部を所定タイミングで起動させる指示信号であり、前記モード設定信号とは、動画像の各フレーム毎に、動きベクトル検出処理における探索範囲、フレームの圧縮タイプ（Ｐ，Ｂ，Ｉ）、圧縮モード（ＭＰＥＧ１，２，４）等、プロセッサ１０のメモリ内プログラムにより、レジスタ１４ｂを介して動き検出部１４の各構成部に対して種々の指定を行う指示信号である。
【００２５】
ここで、命令メモリは、プロセッサ１０に対して入力される種々の命令コードを記憶しており、プロセッサ１０からの読み出しに応じて、指定されたアドレスの命令コードを命令キャッシュに出力する。
また、命令キャッシュは、命令メモリから入力された命令コードを一時的に記憶し、所定タイミングでプロセッサ１０に出力する。
【００２６】
中間バッファ１２は、動きベクトル検出処理において用いられる、当該動きベクトルの探索範囲の画素ブロックである参照画素データを記憶するメモリであり、例えば、２次元アクセスメモリ等から構成される。
ここで、参照画素データは、後述する現フレーム（ｆ）の符号化対象の画素データである対象画素データに対して１つ前のフレーム（ｆ−１）の画像の画素データであり、且つ前記対象画素データのサイズよりも大きなサイズ（画素範囲）の画素データである。
【００２７】
また、上記２次元アクセスメモリとは、特開２００２−２２２１１７号公報に記載された方式のメモリであり、例えば、「１バイト（８ビット）の記憶が可能な最小単位の仮想の記憶素子２が、縦方向と横方向にそれぞれ４個ずつ合計１６個配置された仮想最小２次元メモリ空間１」（同公報の図１参照）が想定され、この仮想最小２次元メモリ空間１は、「物理的には、４つの物理的なメモリ４Ａ〜４Ｃに予め分割されてマッピングされている。すなわち、１つの仮想最小２次元メモリ空間１は、４つの物理的なメモリ４Ａ〜４Ｃの同一のアドレスから始まる４バイトの連続領域に対応している。」（同公報の図２参照）。そして、このような仮想最小２次元メモリ空間１において、同公報の図４に示すようなアクセスが可能とされている。これにより、例えば、複数の探索ポイントに対するデータに同時にアクセスすることができるので、データの読み出しや書き込み処理を高速化することが可能である。
【００２８】
更に、図２に基づき、上記参照画素データ及び上記対象画素データについて具体的に説明する。ここで、図２（ａ）は、参照画素データの一構成例を示す図であり、（ｂ）は、対象画素データの一構成例を示す図であり、（ｃ）は、参照画素データの詳細な構成の一例を示す図である。
図２（ｂ）に示すように、現フレーム（ｆ）の画像データである画像データ３１において、前述した符号化対象の画素データである対象画素データ３１ａが設定される。これに対して、図２（ａ）に示すように、１つ前のフレーム（ｆ−１）の画像データである画像データ３０において、対象画素データ３１ａに対する動きベクトルを探索する範囲である参照画素データ３０ａが設定される。つまり、図２（ａ），（ｂ）に示すように、現フレームにおける対象画素データ３１ａと同じ位置にある、１つ前のフレームにおける画素ブロック３０ｂが含まれるように参照画素データの範囲が設定される。より具体的には、参照画素データ３０ａは、図２（ｃ）に示すように、画素ブロック３０ｂが、縦１６画素×横１６画素のブロックで構成されているとすると、縦２５６画素×横２５６画素のサイズで構成される。つまり、参照画素データ３０ａは、対象画素データ３１ａと同じサイズの縦１６画素×横１６画素のサイズの画素ブロックが、縦４ブロック×横４ブロックの計１６ブロック連なった範囲となる。
【００２９】
また、本実施の形態においては、対象画素データの各画素行又は各画素列を構成する画素の総ビット数は、後述するデータ伝送バスの幅（伝送ビット数）と同じビット数となるようにしている。これは、後述する差分値和の演算処理において、中間バッファ１２に格納された参照画素データを効率よく動き検出部１４に伝送する事を考慮している。
図１に戻って、動き検出部１４は、制御部１４ａと、レジスタ１４ｂと、ローカルバッファ１４ｃと、差分値和演算部１４ｄとを含んだ構成となっている。
【００３０】
制御部１４ａは、データ伝送バス１６を介してプロセッサ１０から送られてきた各種指示信号を、レジスタ１４ｂを介して各構成要素に伝送したり、中間バッファ１２に格納された参照画素データを読み出して、差分値和演算部１４ｄに伝送したりするなど（例えば、ＤＭＡ（Direct Memory Access）転送で行う）、動き検出部１４を統括制御する機能を有したものである。また、差分値和演算部１４で演算された差分値和の最小値及びその探索ポイント情報からアドレス値演算を行って動きベクトルを求め、当該動きベクトルをレジスタ１４ｂの所定のレジスタに格納する機能なども有している。
【００３１】
ここで、探索ポイント情報とは、参照画素データにおける各探索候補画素ブロックの位置を示す情報のことであり、本実施の形態においては、各探索候補画素ブロックの左上隅の画素の位置を示す情報（例えば、アドレス番号等）などが探索ポイント情報となる。
レジスタ１４ｂは、プロセッサ１０がデータ伝送バス１６を介してアクセス可能な制御レジスタであり、参照画素データの画素行方向又は画素列方向に対して設定される各探索ポイント数ｎと同数の前記差分値和の演算結果を格納する（中間演算結果も格納する）演算結果格納レジスタ１４０ａ0〜１４０ａnと、差分値和の最小値を格納する１つの最小値格納レジスタ１４０ｂとを含んだ構成となっている。更に、参照画素データの位置情報（アドレス）、演算開始の情報等を格納するレジスタなども含んだ構成となっている。
【００３２】
ローカルバッファ１４ｃは、動きベクトル検出処理において用いられる、現フレーム（ｆ）の画像の画素データである符号化処理対象の画素データ（対象画素データ）を記憶するメモリである。なお、ＭＰＥＧなどの画像符号化技術においては、この対象画素データを構成する画素ブロック（例えば、１６画素×１６画素など）をマクロブロックと呼ぶ。
差分値和演算部１４ｄは、制御部１４ａからの演算開始命令に基づき、参照画素データにおける探索候補画素ブロックの画素値と、対象画素データの画素値との差分値和を演算すると共に、この演算結果に基づき、各対象画素データ毎に、当該対象画素データに対する全探索候補画素ブロックのうち差分値和が最小となる探索候補画素ブロックを検出する機能を有している。
【００３３】
ここで、探索候補画素ブロックとは、参照画素データにおける、動きベクトルの探索候補の画素ブロックであり、対象画素データと同じサイズの画素ブロックである。つまり、差分値和演算部１４ｄは、参照画素データにおいて設定された複数の探索候補画素ブロックの各画素値と、対象画素データの各画素値との差分値和を演算し且つ当該差分値和に基づいてこれらの最小値を求める。
【００３４】
また、差分値和の演算処理は、具体的には、中間バッファから、参照画素データにおける前記演算開始命令の指定する複数の探索ポイント（本実施の形態においては、参照画素データにおける所定の画素行にそれぞれ設定された探索ポイント）に対応した探索候補画素ブロックの画素データを読み出し、当該読み出した画素データと、ローカルバッファ１４ｃから読み出した対象画素データの画素データとに基づき、各探索候補画素ブロックの画素データの画素値と、これに対応する対象画素データの画素データの画素値との差分値の絶対値又は自乗値を算出し、当該算出した差分値又は自乗値を各探索候補画素ブロック毎に全て累積して差分値和を演算する処理である。このとき、複数（ｎ個）の探索ポイントに対する差分値和の演算処理は並列に行われ、これらの演算結果は、上記演算結果格納レジスタ１４０ａ0〜１４０ａnにそれぞれ格納される。
【００３５】
そして、演算結果格納レジスタ１４０ａ0〜１４０ａnに差分値和が格納されると、これら各演算結果格納レジスタ１４０ａ0〜１４０ａnに格納された差分値和と、上記最小値格納レジスタ１４０ｂに格納された差分値和とをそれぞれ比較し、演算結果格納レジスタ１４０ａ0〜１４０ａnのいずれか１の差分値和が、最小値格納レジスタ１４０ｂの差分値和よりも小さいときは、最小値格納レジスタ１４０ｂの差分値和を前記いずれか１の差分値和に更新し、そうでないときは、最小値格納レジスタの差分値和をそのまま保持する。この更新処理が完了すると、演算結果格納レジスタだけをリセットし、最小値格納レジスタの値はそのままで、次の、画素行又は画素列に対して設定された探索ポイントに対して上記差分値和の演算処理及び上記最小値の更新処理を実行する。
【００３６】
このように、探索ポイントの設定された画素行又は画素列毎に、上記差分値和の演算処理及び上記最小値の更新処理を順次行い、参照画素データに対して設定された全ての探索ポイントに対して処理が完了すると、そのときに最小値格納レジスタ１４０ｂに格納されている差分値和をレジスタ１４ｂに格納する。
データ伝送バス１６は、プロセッサ１０からの指示信号や、中間バッファ１２の参照画素データ等を動き検出部１４に伝送したり、動き検出部１４の演算結果等をプロセッサ１０に伝送するためのデータ伝送路であり、複数のバスにそれぞれの伝送を分割しても良い。
【００３７】
更に、図３に基づき、動き検出部１４における動きベクトル検出処理の流れを説明する。図３は、動き検出部１４における動きベクトル検出処理を示すフローチャートである。
動きベクトル検出処理は、レジスタ１４ｂを介してプロセッサ１０から送られてくる演算命令に応じて、動き検出部１４で実行される処理であって、制御部１４ｂからの指示に応じて、図３に示すように、まずステップＳ１００に移行する。
【００３８】
ステップＳ１００では、制御部１４ａからリセット信号を差分値和演算部１４ｄに送信して差分値和演算部１４ｄを構成する演算ユニット（具体的には、演算ユニットの有するレジスタやカウンタ等）をリセットしてステップＳ１０２に移行する。
ステップＳ１０２では、差分値和演算部１４ｄにおいて、制御部１４ａからの演算開始指示があったか否かを判定し、演算開始指示があったと判定された場合(Yes)は、ステップＳ１０４に移行し、そうでない場合(No)は、制御部１４ａからの演算開始命令を受信するまで待機する。
【００３９】
ステップＳ１０４に移行した場合は、差分値和演算部１４ｄにおいて、レジスタ１４ｂに対してリセット信号を送り、演算結果格納レジスタ１４０ａ0〜１４０ａn及び最小値格納レジスタ１４０ｂを初期化してステップＳ１０６に移行する。ここで、演算結果格納レジスタ１４０ａ0〜１４０ａnの初期値として「０」を格納し、一方、最小値格納レジスタ１４ｂの初期値として、当該レジスタ１４ｂに格納できる値の最大値（又は十分大きな値）を格納する。これにより、最小値格納レジスタ１４０ｂの初期値が常に最小値となってしまうような値となるのを避ける。
【００４０】
ステップＳ１０６では、差分値和演算部１４ｄにおいて、演算処理用のレジスタに、制御部１４ａからの中間バッファ１２から読み出された参照画素データ、当該参照画素データのライン番号及び探索ポイント情報が書き込まれたか否かを判定し、書き込まれたと判定された場合(Yes)は、ローカルバッファ１４ｃから、前記書き込まれた参照画素データのライン番号に対応したラインの対象画素データを読み出してステップＳ１０８に移行し、そうでない場合(No)は、書き込まれるまで待機する。ここで、探索ポイント情報は、各探索候補画素ブロックの左上隅の画素データのアドレス（例えば、画像全体に対するアドレスなど）に対応付けて設定された通し番号などとする。
【００４１】
ステップＳ１０８に移行した場合は、差分値和演算部１４ｄにおいて、ローカルバッファ１４ｃから、対象画素データの読み出しが終了したか否かを判定し、終了したと判定された場合(Yes)は、ステップＳ１１０に移行し、そうでない場合(No)は、終了するまで処理を続行する。
ステップＳ１１０に移行した場合は、差分値和演算部１４ｄにおいて、対象画素データのポイント値（画素のアドレスなど）を読み込んでステップＳ１１２に移行する。
【００４２】
ステップＳ１１２では、ステップＳ１０８で読み出された対象画素データから、上記書き込まれた探索ポイント情報及びライン番号の参照画素データ（Ｌｉｎｅデータ）に対応したＬｉｎｅのデータを読み出してステップＳ１１４に移行する。
ステップＳ１１４では、差分値和演算部１４ｄにおいて、上記読み出した参照画素データのＬｉｎｅデータの画素データと、対象画素データのＬｉｎｅデータの画素データとの差分値和を演算してステップＳ１１６に移行する。
【００４３】
ステップＳ１１６では、差分値和演算部１４ｄにおいて、各探索ポイント情報に対する差分値和の演算処理が完了したか否かを判定し、完了したと判定された場合(Yes)はステップＳ１１８に移行し、そうでない場合(No)は、ステップＳ１１２に移行する。
ステップＳ１１８に移行した場合は、各探索ポイント情報に対応する探索候補画素ブロックの差分値和の演算結果及び探索ポイント情報を、演算結果格納レジスタ１４０ａ0〜１４０ａnのうち各対象画素データの探索ポイント情報に対応したレジスタに格納してステップＳ１２０に移行する。
【００４４】
ステップＳ１２０では、差分値和演算部１４ｄにおいて、演算結果格納レジスタ１４０ａ0〜１４０ａnに格納された差分値和と、最小値格納レジスタ１４０ｂに格納された差分値和とをそれぞれ比較してステップＳ１２２に移行する。
ステップＳ１２２では、演算結果格納レジスタ１４０ａ0〜１４０ａnのいずれかに格納された差分値和よりも、最小値格納レジスタ１４０ｂに格納された差分値和の方が大きいか否かを判定し、大きいと判定された場合(Yes)は、ステップＳ１２４に移行し、そうでない場合(No)は、ステップＳ１２６に移行する。
【００４５】
ステップＳ１２４に移行した場合は、差分値和演算部１４ｄにおいて、最小値格納レジスタ１４０ｂに格納された差分値和を、演算結果格納レジスタ１４０ａ0〜１４０ａnのいずれかに格納された差分値和の最小値に更新してステップＳ１２６に移行する。
ステップＳ１２６では、差分値和演算部１４ｄにおいて、参照画像データに対して設定された全ての探索ポイントに対して差分値和の演算処理及び最小値の更新処理が終了したか否かを判定し、終了したと判定された場合(Yes)は、ステップＳ１２８に移行し、そうでない場合(No)は、ステップＳ１０４に移行する。
【００４６】
ステップＳ１２８に移行した場合は、差分演算部１４ｄにおいて、最小値格納レジスタに格納された差分値和及び探索ポイント番号を制御部１４ａに通知して処理を終了する。
次に、図４〜図９に基づき、本実施の形態の動作を説明する。
ここで、図４は、探索候補画素ブロック及び対象画素データの詳細な画素構成を示す図である。また、図５（ａ）は、差分値和の演算処理の流れを示す図であり、（ｂ）は、各Ｌｉｎｅデータ間の演算処理の一例を示す図である。また、図６は、参照画素データに対して設定された探索ポイントと、各探索ポイントに対応した演算結果格納レジスタの構成を示す図である。また、図７は、差分値和演算部１４ｄにおける演算処理部の具体的な構成を示す図である。また、図８（ａ）は、演算結果格納レジスタの構成を示す図であり、（ｂ）は、最小値格納レジスタの構成を示す図である。また、図９は、ログアリスミックサーチの探索アルゴリズムを示す図である。
【００４７】
なお、ここでは、図２（ａ）に示す探索候補画素ブロック３０ｂ及び図２（ｂ）に示す対象画素データ３１ａのサイズを、図４に示すように、縦１６画素×横１６画素のサイズとし、各画素を８ｂｉｔの画素データで構成する。また、参照画素データのサイズは、図２（ｃ）に示すように、縦１６画素×横１６画素のサイズの画素ブロックを縦４ブロック×横４ブロック連ねた構成とした。また、画素データの差分値和演算部１４ｄへの伝送処理及び差分値和演算部１４ｄにおける各演算処理は、対象画素データ及び探索候補画素ブロックの画素行単位で行うこととする。また、図４に示すように、対象画素データ及び探索候補画素ブロックの各画素行に対して、それぞれライン番号としてＬｉｎｅ０〜Ｌｉｎｅ１５を対応付けることとする。つまり、各ラインの画素データの総ビット数は１６画素×８ｂｉｔ＝１２８ｂｉｔとなる。また、ここでは、データ伝送バス１６のバス幅は１２８ｂｉｔとする。
【００４８】
動き検出部１４は、プロセッサ１０からの演算開始命令をレジスタ１４ｂを介して受け取ると、制御部１４ａにおいて、リセット信号を差分値和演算部１４ｄに送信し、当該差分値和演算部１４ｄの有する演算ユニットをリセットする（ステップＳ１００）。次に、差分値和演算部１４ｄは、演算処理が開始されると（ステップＳ１０２の「Ｙｅｓ」の分岐）、レジスタ１４ｂに対して演算結果格納レジスタ１４０ａ0〜１４０ａnに対して格納値を「０」にリセットするリセット信号を送り、一方、最小値格納レジスタ１４０ｂに対して格納値を「最大値」にリセットするリセット信号を送って、これらのレジスタを初期化する（ステップＳ１０４）。
【００４９】
演算結果格納レジスタ１４０ａ0〜１４０ａn及び最小値格納レジスタ１４０ｂが初期化されると、制御部１４ｂは、中間バッファ１２に格納された参照画素データから各探索ポイント番号及び各ライン番号に対応した参照画素データを読み出し、これを差分値和演算部１４ｄの有する演算用のレジスタに書き込む。これによって、差分値和演算部１４ｄは、参照画素データが書き込まれたと判定し（ステップＳ１０６の「Ｙｅｓ」の分岐）、次いで、ローカルバッファ１４ｃから参照画素データのライン番号に対応するラインの対象画素データを読み込み（ステップＳ１０８の「Ｙｅｓ」の分岐）、更に、対象画素データに対応するポイント値（画素のアドレス）を読み込む（ステップＳ１１０）。つまり、図５（ａ）に示すように、中間バッファ１２から、参照画素データにおける探索ポイントに対応した探索候補画素ブロックのＬｉｎｅ０の画素データ（１２８ｂｉｔ）が読み出され、これがデータ伝送バス１６及び制御部１４ａを介して差分値和演算部１４ｄに書き込まれると、ローカルバッファ１４ｃから、対象画素データのＬｉｎｅ０に対応したＬｉｎｅ０の画素データ（１２８ｂｉｔ）が読み出され、これが差分値和演算部１４ｄに書き込まれる。
【００５０】
そして、探索候補画素ブロック及び対象画素データにおけるＬｉｎｅ０の画素データ同士で差分値演算をうと共にこれら差分値の絶対値を求め、更に、これら差分値の絶対値を累積してＬｉｎｅ０の差分値和を演算する（ステップＳ１１４）。より具体的には、図５（ｂ）に示すように、Ｌｉｎｅ０の対象画素データにおける各画素列の画素データを左から順にＭｐ00〜Ｍｐ015とし、同様にＬｉｎｅ０の探索候補画素ブロックの画素データにおける各画素列の画素データをＣｐ00〜Ｃｐ015とすると、図中の楕円で囲った組合せのように同じ列の画素毎に、差分値及び当該差分値の絶対値を演算し、この演算結果を全て足し合わせる（累積する）。例えば、１列目のＭｐ00とＣｐ00との場合は、その差分絶対値和は｜Ｍｐ00−Ｃｐ00｜となる。このような差分絶対値和の演算を、Ｍｐ015及びＣｐ015の組まで行い、これらの差分値和を累積する。このＬｉｎｅ０の累積結果をＤＡＣ０とすると、Ｌｉｎｅ１は、ＤＡＣ０＋｜Ｍｐ10−Ｃｐ10｜＋｜Ｍｐ11−Ｃｐ11｜・・・＋｜Ｍｐ114−Ｃｐ114｜＋｜Ｍｐ115−Ｃｐ115｜といったように、Ｌｉｎｅ１の累積結果にそれ以前のＬｉｎｅ（Ｌｉｎｅ０）の累積結果も足し合わせる。つまり、このような演算処理をＬｉｎｅ０〜Ｌｉｎｅ１５まで順次行うと、Ｌｉｎｅ１５の演算結果は、ＤＡＣ０＋ＤＡＣ１＋・・・＋ＤＡＣ１４＋｜Ｍｐ150−Ｃｐ150｜＋｜Ｍｐ151−Ｃｐ151｜・・・＋｜Ｍｐ1514−Ｃｐ1514｜＋｜Ｍｐ1515−Ｃｐ1515｜となる。
【００５１】
上記のような差分値和の演算処理を繰り返し、画素行方向に設定された複数の探索ポイント（演算結果格納レジスタと同数の探索ポイント）に対応した探索候補画素ブロックと、対象画素データとの差分値和の演算処理が完了すると（ステップＳ１１６の「Ｙｅｓ」の分岐）、これら演算結果を、それぞれの探索ポイント番号に対応する演算結果格納レジスタ１４０ａ0〜１４０ａnに格納する（ステップＳ１１８）。本実施の形態においては、探索ポイントを指定するためのデータテーブルや探索アルゴリズム等に基づいて、演算結果格納レジスタ１４０ａ0〜１４０ａnには、予め参照画素データの探索ポイント番号が割り振られている。ここでは、図６に示すように、探索ポイントが設定された各画素行における各探索ポイントの左から順に、例えば、Ｌｉｎｅ０であれば、左から１番目の探索ポイントに対応する探索ポイント番号（０，０）を演算結果レジスタ１４０ａ0に、２番目の探索ポイント番号（０，１）を１４０ａ1に、３番目の探索ポイント番号（０，２）を１４０ａ2に・・・ｎ番目の探索ポイント番号（０，ｎ）を１４０ａnに、といったように割り振っていく（図では「ｎ＝４」まで）。つまり、各画素行の探索ポイントが同じ列幅で設定されているとすると、演算結果格納レジスタ１４０ａ0には、（０，０）〜（ｍ（ｍ≦１５），０）が、演算結果格納レジスタ１４０ａ1には、（０，１）〜（ｍ（ｍ≦１５），１）が、演算結果格納レジスタ１４０ａ2には、（０，２）〜（ｍ（ｍ≦１５），２）が、演算結果格納レジスタ１４０ａ3には、（０，３）〜（ｍ（ｍ≦１５），３）が、演算結果格納レジスタ１４０ａ4には、（０，４）〜（ｍ（ｍ≦１５），４）が、それぞれ割り振られることになる。
【００５２】
ここで、探索ポイントは、１画素行ずつ且つ１画素列ずつずらす毎に設定（全探索候補に対して設定）するのでは無く、設定対象の各画素行又は各画素列に対して、各探索ポイント間に所定画素列又は所定画素行の探索ポイントを設定しない領域を設けるように設定する。つまり、間引き探索を行う。
また、図６に示す例の場合は、動きベクトル検出装置１００を、演算結果格納レジスタを５つ備えた構成とすれば、参照画素データにおける差分値和の最小値を求めることが可能である。つまり、本発明に係る動きベクトル検出装置１００は、参照画素データに対する全探索ポイント数の差分値和格納レジスタを必要とせず、図６の例に示すように、各画素行の探索ポイント数が一定数であれば、この探索ポイント数分の差分値和格納レジスタを備えた構成とすれば良い。
【００５３】
更に、差分値和演算部１４ｄは、探索ポイントが設定されている各画素行毎に、各探索ポイントに対応した探索候補画素ブロックに対する上記演算処理を並列に行う。つまり、参照画素データのＬｉｎｅ０に対しては、探索ポイント番号（０，０）〜（０，４）の５つの探索候補画素ブロックに対する演算処理を並列に行う。探索ポイント番号（０，０）〜（０，４）に対する演算処理が終了すると、これらの演算結果を演算結果格納レジスタ１４０ａ0（図ではＳＡＤ０）〜１４０ａ4（図ではＳＡＤ４）にそれぞれ格納する。
【００５４】
更に、演算結果格納レジスタ１４０ａ0〜１４０ａnに演算結果が格納されると、図７に示すように、これら演算結果格納レジスタ１４０ａ0〜１４０ａnにそれぞれ格納された差分値和と、最小値格納レジスタ１４０ｂに格納された差分値和とを比較し（ステップＳ１２０）、最小値格納レジスタ１４０ｂに格納された差分値和の方が、演算結果格納レジスタ１４０ａ0〜１４０ａnのいずれかに格納された、これらの差分値和の最小値よりも大きい場合は（ステップＳ１２２の「Ｙｅｓ」の分岐）、最小値格納レジスタ１４０ｂの格納内容を更新する（ステップＳ１２４）。
【００５５】
演算結果格納レジスタ１４０ａ0〜１４０ａnには、図８（ａ）に示すように、探索ポイント番号及び演算結果である差分値和を格納するようになっており、最小値の更新処理前においては、最前の演算結果及びその探索ポイント番号が格納されている。一方、最小値格納レジスタ１４０ｂには、図８（ｂ）に示すように、探索ポイント番号及び演算結果最小値である差分値和の最小値を格納するようになっており、最小値の更新処理前においては、現時点における演算結果格納レジスタ１４０ａ0〜１４０ａnに格納されている演算結果の演算が行われる前の差分値和の最小値が格納されている。
【００５６】
例えば、最前の演算処理において、レジスタ１４０ａ0に格納された差分値和が、演算結果格納レジスタ１４０ａ1〜１４０ａnよりも小さな値で、且つ最小値格納レジスタに格納された差分値和よりも小さい値の場合は、最小値格納レジスタ１４０ｂに格納された差分値和に代えて、レジスタ１４０ａ0に格納された差分値和を格納する。つまり、差分値和の書き換え（更新）を行う。
【００５７】
上述したような演算処理及び最小値更新処理を、参照画素データに対して、データテーブルや探索アルゴリズム等に基づいて予め設定された全探索ポイントに対して完了すると（ステップＳ１２６の「Ｙｅｓ」の分岐）、この時点で最小値格納レジスタ１４０ｂに格納されている探索ポイント番号及び差分値和を、参照画素データに対する差分値和の最小値のデータとして制御部１４ａに通知して処理を終了する（ステップＳ１２８）。
【００５８】
制御部１４ａは、差分値和演算部１４ｄから最小の差分値和及びその探索ポイント番号を取得すると、この探索ポイント番号に基づき中間バッファ１２のアドレス値演算を行い、演算結果のアドレス値をレジスタ１４ｂに書き込む。ここで、探索ポイント番号には、探索候補画素ブロックの左上隅のアドレスが対応付けられており、制御部１４ａは、これによりアドレス値演算を行い動きベクトル（対象画素の移動方向及び移動距離）を求める。
【００５９】
なお、参照画素データに対する探索ポイントの設定に、図９に示すような、ログアリスミックサーチアルゴリズムを用いても良い。ここで、ログアリスミックサーチの具体的な探索手順は、図９に示すように、まず、参照画素データ全体に対して差分値和の最小値（図中の（１，１））を求め、次いで、その最小値の対象画素データを中心とした上下左右に所定画素の範囲である全体に対して探索範囲を狭めた参照画素データにおける最小値を求める。この範囲における最小値が求まったら、更に、この最小値の対象画素データを中心とした更に探索範囲狭めた参照画素データにおける最小値を求めて、この最小値を最終的な探索結果とする。ログアリスミックサーチは、探索を進めるにつれ、各画素行又は各画素列に設定される探索ポイント数が減少するため、各画素行毎に差分値和の演算を並列に行っていくためには、探索ポイント数が最大数の画素行又は画素列に合わせて、動きベクトル検出装置の構成を、この最大数の差分値和格納レジスタを有する構成とすることが好ましい。
【００６０】
以上、動きベクトル検出装置１００を、参照画素データにおける各画素行又は各画素列に設定された探索ポイント数の差分値和格納レジスタ１４０ａ0〜１４０ａnを備え、且つ差分値和の最小値和を格納する最小値格納レジスタ１４０ｂを備えた構成とし、更に、各画素行又は各画素列に設定された探索ポイントに対する差分値和の演算処理を並列に行うと共に、この探索ポイントに対する差分値和が差分値和格納レジスタ１４０ａ0〜１４０ａnに格納される毎に、最小値の更新処理を行う構成としたので、従来に比して、差分値和を格納するレジスタの個数を少なくすることができ、これにより、回路規模を縮小できるので装置の製造コストを削減することが可能である。
【００６１】
また、差分値和の演算処理において、対象画素データのサイズを１画素を８ｂｉｔの画素データとした、１６画素×１６画素のサイズとし、更に、画素データの転送を、各画素行毎（データ伝送バスのバス幅である１２８ｂｉｔ単位）に行う構成としたので、これにより、データ伝送バスの性能を最大限用いて効率よく伝送処理を行うことが可能となる。
上記実施の形態において、差分値和演算部１４ｄは、形態１乃至４のいずれか１の差分値和演算手段、並びに形態１の最小値更新手段に対応する。
【００６２】
また、上記実施の形態において、プロセッサ１０及び制御部１４ａによる探索ポイント番号、ライン番号及び当該探索ポイント番号及びライン番号に対応した参照画素データの書き込み処理は、形態１の探索候補画素ブロック選択手段に対応する。
また、上記実施の形態において、参照画素データは、形態１又は２の探索範囲画素ブロックに対応し、対象画素データは、形態１又は３の符号化対象画素ブロックに対応する。
【００６３】
なお、上記実施の形態においては、差分値和演算部１４ｄにおいて、差分値の絶対値を演算し、これを累積して差分値和を演算するようにしたが、これに限らず、例えば、差分値の自乗値を演算し、これを累積して差分値和を求めるようにするなど、他の方法で差分値和を演算するようにしても良い。また、差分値和と同等の性質を持つ数値であれば、他の数値を演算するようにしても良い。
【００６４】
また、上記実施の形態においては、動きベクトル検出装置１００を複数の差分値和格納レジスタを有する構成とし、これらレジスタに対応する探索ポイントの演算処理を複数並列に行うようにしたが、これに限らず、差分値和格納レジスタを１つ有する構成とし、各探索ポイントに対する演算処理を順次行う構成としても良い。この場合も、差分値和格納レジスタに差分値和が格納される毎に、最小値更新処理を行う。
【００６５】
また、上記実施の形態においては、ＭＰＥＧの符号化技術を例として説明しているが、これに限らず、本発明は、他の動画像符号化技術に対しても適用可能である。
【図面の簡単な説明】
【００６６】
【図１】本発明に係る動きベクトル検出装置１００の構成を示すブロック図である。
【図２】（ａ）は、参照画素データの一構成例を示す図であり、（ｂ）は、対象画素データの一構成例を示す図であり、（ｃ）は、参照画素データの詳細な構成の一例を示す図である。
【図３】動き検出部１４における動きベクトル検出処理を示すフローチャートである。
【図４】探索候補画素ブロック及び対象画素データの詳細な画素構成を示す図である。
【図５】（ａ）は、差分値和の演算処理の流れを示す図であり、（ｂ）は、各Ｌｉｎｅデータ間の演算処理の一例を示す図である。
【図６】参照画素データに対して設定された探索ポイントと、各探索ポイントに対応した演算結果格納レジスタの構成を示す図である。
【図７】差分値和演算部１４ｄにおける演算処理部の具体的な構成を示す図である。
【図８】演算結果格納レジスタの構成を示す図であり、（ｂ）は、最小値格納レジスタの構成を示す図である。
【図９】ログアリスミックサーチの探索アルゴリズムを示す図である。
【符号の説明】
【００６７】
１００…動きベクトル検出装置、１０…プロセッサ、１２…中間バッファ、１４…動き検出部、１４ａ…制御部、１４ｂ…レジスタ、１４ｃ…ローカルバッファ、１４ｄ…差分値和演算部、１６…データ伝送バス、３０ａ…参照画素データ、３１ａ…対象画素データ、１４０ａ0〜１４０ａn…差分値和格納レジスタ、１４０ｂ…最小値格納レジスタ
【図１】
2007110602.tif 000003
【図２】
2007110602.tif 000004
【図３】
2007110602.tif 000005
【図４】
2007110602.tif 000006
【図５】
2007110602.tif 000007
【図６】
2007110602.tif 000008
【図７】
2007110602.tif 000009
【図８】
2007110602.tif 000010
【図９】
2007110602.tif 000011