(57)【要約】【課題】探索範囲の位置を適切に予測して動き探索の精度を向上させるとともに、探索範囲ＲＡＭへの書き込み頻度を抑えて全体の処理速度の増加を抑えることができるようにする。【解決手段】連続するＮ（Ｎは２以上の整数）個のブロックより構成される処理対象ブロック群毎に、探索範囲の位置を規定する基準ベクトルを決定する。基準ベクトルの決定は、これから処理を行う処理対象ブロック群の周辺に位置する周辺ブロック群それぞれにおいて、動きベクトルのばらつきの有無を判定し、それぞれの判定結果より、処理対象ブロック群における動きベクトルのばらつきの有無を予測し、その予測結果によりばらつき有りと予測された場合は、前記基準ベクトルとして予め定めたベクトルを設定し、ばらつき無しと予測された場合は、前記周辺ブロック群それぞれについて対応する代表ベクトルを求め、該代表ベクトル群に基いて前記基準ベクトルを決定する。【選択図】図１
2009021864.tif 000002
【特許請求の範囲】
【請求項１】
フレームを複数のブロックに分割し、前記分割したブロック毎に参照フレーム内の画素群とのマッチングをとることによって動きベクトルを決定する動きベクトル探索装置であって、
前記ブロックの処理ごとにカウントアップする処理ブロックカウント手段と、
前記処理ブロックカウント手段のカウント値に基づいて連続するＮ（Ｎは２以上の整数）個の前記ブロックより構成される第１の単位ブロック群ごとに基準ベクトルを決定する基準ベクトル決定手段と、
前記基準ベクトル決定手段が決定する基準ベクトルより規定される動きベクトルの探索範囲内の複数の探索ポイントにおいて、ブロックマッチングによる評価を行い、少なくとも前記ブロックマッチングの評価の結果に基づいて動きベクトルを決定する動きベクトル決定手段とを有し、
前記基準ベクトル決定手段は、動きベクトル探索処理を行う前記第１の単位ブロック群の周辺に位置する、複数の前記ブロックより構成される複数の第２の単位ブロック群それぞれにおいて、動きベクトルのばらつきの有無を判定し、それぞれの判定結果より、前記第１の単位ブロック群における動きベクトルのばらつきの有無を予測し、前記予測の結果によりばらつき有りであると予測した場合は、前記基準ベクトルとして予め定めたベクトルを設定し、ばらつき無しであると予測した場合は、前記周辺の第２の単位ブロック群それぞれについて対応する代表ベクトルを求め、前記代表ベクトルの群に基づいて前記基準ベクトルを決定することを特徴とする動きベクトル探索装置。
【請求項２】
前記基準ベクトル決定手段による前記第１の単位ブロック群における動きベクトルのばらつきの有無の予測は、動きベクトル探索処理を行う前記第１の単位ブロック群の周辺に位置する、複数の前記ブロックより構成される前記複数の第２の単位ブロック群のうち、前記第１の単位ブロック群に隣接する前記第２の単位ブロック群の中で、動きベクトルのばらつき無しであると判定された前記第２の単位ブロック群の数の割合が、予め定めた規定値以上である場合は、ばらつき無しと予測し、そうでない場合はばらつき有りと予測することを特徴とする請求項１に記載の動きベクトル探索装置。
【請求項３】
前記基準ベクトル決定手段は、前記第１の単位ブロック群における動きベクトルのばらつきの有無の予測結果が、ばらつき無しであった場合は、前記周辺の第２の単位ブロック群それぞれについて対応する代表ベクトルを求め、前記第１の単位ブロック群に対する相対位置に応じて前記代表ベクトルに対してそれぞれ重み付けを行い、前記重み付けを行った代表ベクトル群に基づいて前記基準ベクトルを決定することを特徴とする請求項１または２に記載の動きベクトル探索装置。
【請求項４】
前記基準ベクトル決定手段は、前記第１の単位ブロック群における動きベクトルのばらつきの有無の予測結果が、ばらつき無しであった場合は、前記周辺の第２の単位ブロック群それぞれについて対応する代表ベクトルを求め、前記代表ベクトル群に基づいて、前記Ｎを適応的に設定し、かつ前記基準ベクトルを決定することを特徴とする、請求項１または２に記載の動きベクトル探索装置。
【請求項５】
前記動きベクトル決定手段は、前記ブロックの動きベクトル探索の範囲内の複数の参照画素群を格納するための探索範囲メモリを備え、前記ブロックの動き探索を行う際、処理対象ブロックの動き探索に必要となる動きベクトル探索の範囲内の参照画素群のうち、更新が必要な画素群だけを前記探索範囲メモリに書き込むことを特徴とする請求項１〜４の何れか１項に記載の動きベクトル探索装置。
【請求項６】
前記探索範囲メモリへの書き込み量に応じて、前記Ｎの下限値を適応的に設定することを特徴とする請求項５に記載の動きベクトル探索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動きベクトル探索装置に関し、特に、処理速度を向上させるために用いて好適な技術に関する。
【背景技術】
【０００２】
従来、ディジタル動画像を圧縮符号化する手段として、動き補償符号化と呼ばれる方法が一般的に知られている。これは、符号化対象画像を矩形ブロックに分割し、このブロック単位で動きベクトルを検出し、動きベクトルに基づいて動き補償による予測画像を生成して、符号化対象画像との差分をとって符号化を行うというものである。
【０００３】
さらに、当該差分画像は前記ブロックを単位としてＤＣＴ（Discrete Cosine Transform）を施し、量子化してエントロピー符号化を施す方法が一般的に利用されている。そして、前記ブロックを単位とする動きベクトルの探索には、入力画像と参照画像とのマッチングの度合いを表す相関値や周囲のブロックの動き情報などから、符号化されたときの符号消費量（以下、符号化コスト）を予測する。そして、最も符号化コストが小さくなると予想されたベクトルを動きベクトルとして定める、ブロックマッチングとよばれる方法が一般的によく利用される。
【０００４】
図６に、一般的なブロックマッチングによる動き探索の概念図を示す。現在処理対象となっているフレーム内において、図６で示すような順番でブロックの動き探索処理を行っていく。それぞれのブロックは、該ブロックの位置に対応する参照フレーム内の位置を中心とした探索範囲内で、最も類似度の高い位置を探し、処理対象ブロックの位置からの相対位置として動きベクトルを決定する。続くブロックの位置は、直前に処理したブロックに対して右隣であるので、対応する探索範囲は、図６に示すように重複するのが一般的である。
【０００５】
次に、上述したような一般的なブロックマッチングによる動き探索を行うための構成例について、図７を用いて説明する。図７において、７０１は動き探索装置であり、参照フレームメモリ７０４とバス７０３を介して接続されている。参照フレームメモリ７０４には、現処理対象フレームの動き探索のために参照する参照フレームを格納しておき、動き探索装置７０１より必要に応じて参照データがアクセスされる。
【０００６】
動き探索装置７０１はさらに、現処理対象ブロックの動き探索処理に必要な、動き探索範囲の参照データを格納する探索範囲ＲＡＭ７０２を備える。動き探索装置７０１は、ブロックの動き探索処理を行う際に、まず参照フレームメモリ７０４より、動き探索範囲の参照データをバス７０３を介して読み出し、探索範囲ＲＡＭ７０２に格納する。そして、現処理対象フレーム内のブロックデータを入力し、順次、探索範囲ＲＡＭ７０２内の参照データとマッチングをとり、最も類似度の高い位置を動きベクトルとして出力する。
【０００７】
ここで、ブロック単位で準備される探索範囲ＲＡＭ７０２への書き込み処理は、図７に示したような現在処理中のブロックの探索範囲と、直前に処理したブロックの探索範囲とで重複部分があるため、新たに必要となる探索範囲の部分のみ行われる。
【０００８】
なお、ブロック毎に割り当てる探索範囲の位置は、処理対象ブロックの位置を中心とした位置である必要はなく、状況に応じて探索位置の中心をずらすようにしてもよい。例えば、画像全体の動きを表すベクトル（ＧＭＶ）を何らかの方法で検出して、探索位置の中心を処理対象ブロックの位置から該ＧＭＶの示す位置までずらす方法がある。これはパニングによってフレーム内の動きがほぼ均一に分布しており、かつ、パニングのスピードが大きく、処理対象ブロックの位置を動き探索範囲の中心に設定した場合、動きベクトルが探索範囲を超えるような場合に特に効果がある。しかし上述したやり方では、フレーム全体一様に探索範囲をシフトするので、フレーム内において全体の動きとは異なる動きを有する部分が多く存在すると、動き探索精度が低くなるという問題があった。
【０００９】
そこでこの問題点を解決するために、例えば特許文献１には、複数のブロックよりなるブロック群全体の動きを評価する。そして、当該ブロック群全体の動きが検出できたときはその動きに合わせて次に探索するブロック群の探索範囲をシフトし、検出できないときは所定の位置に探索範囲をシフトするようにしている。これによって、フレーム内における全体の動きとは異なる動きにある程度対応できる。
【００１０】
【特許文献１】特許第３３３５１３７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述の従来技術においては、これから動き探索処理を行うブロック群の探索範囲の位置を直前に処理したブロック群全体の動きに基づいている。このため、探索範囲の適切な位置を予測するための情報として不足してしまうという問題がある。これは、ブロックの処理順序を図７に示すようにラスタスキャン順で行っているかぎり、当該処理ブロック群の位置に対して直前に処理したブロック群の位置は左隣もしくは上隣しかとり得ない。よって、水平若しくは垂直いずれか一方の動きベクトルの相関に依存することとなる。また、隣接しているブロック群より離れた位置に存在するブロックの動きベクトルとの相関を得ることができず、十分な予測を行うことができない。
【００１２】
また、フレーム内における全体の動きとは異なる動きをしている部分に、より細かい単位で対応するべく、前記ブロック群を小さくした場合には、前述したように探索範囲の適切な位置を予測するための十分な情報を得ることができない。このため、動きベクトルのばらつきが激しく動きベクトル同士の相関が低いところにおいては、探索範囲の位置設定が必用以上に頻繁に切り替わることになり、かえって予測がはずれやすく、動き探索の精度が低下するという問題がある。
【００１３】
さらに、このように探索範囲の位置設定が頻繁に切り替わると、図７に示したような現在処理中のブロックの探索範囲と、直前に処理したブロックの探索範囲との重複が起こる割合が減少する。このため、探索範囲ＲＡＭ７０２への書き込み頻度が増え、全体の処理時間の増加を招くという問題がある。
【００１４】
本発明は前述の問題点に鑑み、探索範囲の位置を適切に予測して動き探索の精度を向上させるとともに、探索範囲ＲＡＭへの書き込み頻度を抑えて全体の処理速度の増加を抑えることができるようにすることを目的としている。
【課題を解決するための手段】
【００１５】
本発明の動きベクトル探索装置は、フレームを複数のブロックに分割し、前記分割したブロック毎に参照フレーム内の画素群とのマッチングをとることによって動きベクトルを決定する動きベクトル探索装置であって、前記ブロックの処理ごとにカウントアップする処理ブロックカウント手段と、前記処理ブロックカウント手段のカウント値に基づいて連続するＮ（Ｎは２以上の整数）個の前記ブロックより構成される第１の単位ブロック群ごとに基準ベクトルを決定する基準ベクトル決定手段と、前記基準ベクトル決定手段が決定する基準ベクトルより規定される動きベクトルの探索範囲内の複数の探索ポイントにおいて、ブロックマッチングによる評価を行い、少なくとも前記ブロックマッチングの評価の結果に基づいて動きベクトルを決定する動きベクトル決定手段とを有し、前記基準ベクトル決定手段は、動きベクトル探索処理を行う前記第１の単位ブロック群の周辺に位置する、複数の前記ブロックより構成される複数の第２の単位ブロック群それぞれにおいて、動きベクトルのばらつきの有無を判定し、それぞれの判定結果より、前記第１の単位ブロック群における動きベクトルのばらつきの有無を予測し、前記予測の結果によりばらつき有りであると予測した場合は、前記基準ベクトルとして予め定めたベクトルを設定し、ばらつき無しであると予測した場合は、前記周辺の第２の単位ブロック群それぞれについて対応する代表ベクトルを求め、前記代表ベクトルの群に基づいて前記基準ベクトルを決定することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、探索範囲の位置を適切に予測して動き探索の精度を向上させるとともに、探索範囲ＲＡＭへの書き込み頻度を抑えて全体の処理速度の増加を抑えることができる。
【発明を実施するための最良の形態】
【００１７】
（第１の実施形態）
以下、図面を参照しながら本発明の実施形態について説明する。
図１は、本実施形態の動き探索装置（動きベクトル探索装置）の構成例を示すブロック図である。
本実施形態の動き探索装置は、処理ブロックカウント部１０１、基準ベクトル決定部１０２、及び動きベクトル決定部１０３より構成され、参照フレームを格納するメモリとして、参照フレームメモリ１０４とさらに接続されている。
【００１８】
処理ブロックカウント部１０１は、ブロックを処理する毎にカウントアップされるよう構成されており、処理されたブロックの数を計数し、基準ベクトル決定部１０２へ出力する。ここで「ブロック」とは、フレームを矩形領域に分割した、複数の画素群よりなる動きベクトル探索の単位である。通常、４×４画素〜１６×１６画素程度の大きさのブロックが使われることが多い。
【００１９】
基準ベクトル決定部１０２は、これから処理を行うブロック群に割り当てる動きベクトル探索の探索範囲の基準となる基準ベクトルを、動きベクトル決定部１０３より出力される既に決定済みの動きベクトル群を基に決定する。そして、処理ブロックカウント部１０１より出力される処理ブロックのカウント値に基づき、連続するＮ（Ｎは２以上の整数）個のブロックを一つのブロック群の単位と認識して動きベクトル決定部１０３へと出力する。
【００２０】
ここで、前記基準ベクトルについて図３を用いて説明する。処理対象となっているブロックについて動きベクトル探索処理を行う際、探索を始める前に探索範囲を設定する。処理対象ブロックを基準にして探索範囲を設定すれば、図３で「ブロックを中心とした探索範囲」として示された部分が探索範囲となる。
【００２１】
これに対して、探索を行う範囲を処理対象ブロックの位置からずらしてとった場合、そのずらした変位分を、処理対象ブロックの位置を原点とした相対的な位置としてベクトルで表現したものを、基準ベクトルと呼ぶ。図３の処理対象ブロックの位置より基準ベクトル分ずらした位置を基準に、「基準ベクトルを中心とした探索範囲」が設定される。なお、基準ベクトル決定部１０２における基準ベクトルの決定方法の詳細については、後述する。
【００２２】
次に、動きベクトル決定部１０３は、外部より動きベクトル探索処理対象となるブロック及び、参照フレームメモリ１０４より参照フレーム内の参照データ及び、基準ベクトル決定部１０２より出力される基準ベクトルを入力する。その後、当該処理対象ブロックの動きベクトル探索を行い、動きベクトルを決定して外部及び基準ベクトル決定部１０２へ出力する。
【００２３】
図２は、動きベクトル決定部１０３の内部構成例を示すブロック図である。
動きベクトル決定部１０３は、処理対象ブロックを格納するブロックＲＡＭ１０３１と、当該処理対象ブロックに対応する参照フレーム内の探索範囲データを格納する探索範囲ＲＡＭ１０３２とを有する。さらに、ブロックマッチング処理による動きベクトル探索を行い、動きベクトルを決定して出力するブロックマッチング部１０３３を有する。
【００２４】
ブロックＲＡＭ１０３１は、処理対象ブロックを外部より入力して格納し、ブロックマッチング部１０３３の必要に応じて、適宜処理対象ブロックのデータを出力する。探索範囲ＲＡＭ（探索範囲メモリ）１０３２は、参照フレーム内の参照データのうち、探索範囲として設定された参照データ群（参照画素群）を格納し、ブロックマッチング部１０３３の必要に応じて、適宜参照データを出力する。
【００２５】
ブロックマッチング部１０３３は、入力される基準ベクトルを基に、処理対象ブロックに対応する探索範囲の位置を計算する。そして、その探索範囲の位置に含まれる参照データ群、既に探索範囲ＲＡＭ１０３２内に書き込まれている参照データを除いた新規のもののみ更新する。また、ブロックマッチング部１０３３は、ブロックＲＡＭ１０３１より当該処理対象ブロックのデータを読み出す。そして、読み出した処理対象ブロックのデータと、探索範囲ＲＡＭ１０３２より読み出した処理対象ブロックに対応する探索範囲内の参照データとのマッチングをとって類似度を評価する。
【００２６】
このマッチング処理は、探索範囲内における参照データの探索ポイントをずらしていきながら随時行われ、最も類似度が高いと評価された位置をもとに動きベクトルを算出して出力する。前記類似度としては、例えば画素同士の差分絶対値和（ＳＡＤ、 Sum of Absolute Difference）がよく用いられる。
【００２７】
処理対象ブロック（ｘ画素×ｙ画素）の各画素値をOrg0,0〜Orgx-1,y-1とし、マッチング対象として対応する参照データ（ｘ画素×ｙ画素）の各画素値をRef0,0〜Refx-1,y-1とすると、このＳＡＤ値は以下の数１より得られる。
【００２８】
【数１】
2009021864.tif 000003
【００２９】
すなわち、このＳＡＤ値が小さいほど類似度が高く、大きいほど類似度が低いということになる。
【００３０】
図１の説明に戻ると、参照フレームメモリ１０４は、処理対象フレームに対応する参照フレームを格納し、動きベクトル決定部１０３の必要に応じて、適宜参照データを動きベクトル決定部１０３へと出力する。
【００３１】
次に、基準ベクトル決定部１０２における基準ベクトルの決定方法の詳細について、図４の基準ベクトルの決定手順の一例を示すフローチャートを参照しながら、説明する。
まず、ステップＳ１において、基準ベクトル決定部１０２は、まず処理対象ブロック群に対する、複数の周辺ブロック群におけるそれぞれの動きベクトルのばらつきの有無を判定する。
【００３２】
ここで、「処理対象ブロック群（第１の単位ブロック群）」と「複数の周辺ブロック群（第２の単位ブロック群）」とを図５に示す。「処理対象ブロック群」は、これから処理を始めるブロックを含む長方形の矩形領域を示し、これから動き探索処理を行う対象となるブロック群を意味する。また、これに対する周辺ブロック群Ａ〜Ｆが「複数の周辺ブロック群」に相当する。
【００３３】
ただし、これら周辺ブロック群の大きさや、処理対象ブロック群の大きさ、また、周辺ブロック群の数や処理対象ブロック群に対する位置関係はあくまで一例であり、必要に応じて変えてよい。また、動きベクトルのばらつきの判定は、例えば、それぞれの周辺ブロック群の持つ、過去に決定されている動きベクトルの向きや大きさが、予め定めた範囲内におさまっていれば、「ばらつき無し」と判定する。またそうでなければ「ばらつき有り」と判定する。
【００３４】
次に、ステップＳ２において、前記複数の周辺ブロック群における動きベクトルのばらつきの判定結果より、処理対象ブロック群の動きベクトルのばらつきの有無を予測する。この予測の方法においては、前記複数の周辺ブロック群のうち、処理対象ブロック群に隣接する周辺ブロック群の中で、動きベクトルの「ばらつき無し」と判定された周辺ブロック群の数の割合が、予め定めた規定値以上である場合は「ばらつき無し」と予測する。なお、周辺ブロック群はＡ〜Ｄである。一方、そうでない場合は「ばらつき有り」と予測する。
【００３５】
次に、ステップＳ３において、ステップＳ２における予測結果が「ばらつき有り」であったか「ばらつき無し」であったかを判定する。この判定の結果、「ばらつき無し」であった場合は、後述するステップＳ４へと進み、「ばらつき有り」であった場合は、後述するステップＳ６へと進む。
【００３６】
ステップＳ４においては、複数の周辺ブロック群Ａ〜Ｆそれぞれについて、代表ベクトルを求める。代表ベクトルは、例えば、それぞれのブロック群に属するブロックそれぞれの持つ動きベクトルの平均ベクトルを求めることによって得ることができる。そして、ステップＳ４の処理が終了したら、ステップＳ５へと進む。
【００３７】
ステップＳ５においては、複数の代表ベクトルより、処理対象ブロック群における基準ベクトルを求める。本実施形態においては、複数の代表ベクトルより基準ベクトルを求める方法として、処理対象ブロック群に対する相対位置に応じて代表ベクトルに対してそれぞれ重み付けを行い、重み付けを行った代表ベクトル群に基づいて基準ベクトルを決定する。
【００３８】
例えば、周辺ブロック群Ａ〜Ｆの代表ベクトルをＴＭＶＡ〜ＴＭＶＦとすると、処理対象ブロック群に対する周辺ブロック群Ａ〜Ｆの相対位置関係より、それぞれ１／６、１／４、１／６、１／４、１／１２、１／１２のように重み付け係数を割り振る。なお、これらは、処理対象ブロック群より位置的に遠いものほど小さな値を割り当てるようにした結果の一例である。このように割り振った重み付け係数をそれぞれの対応する代表ベクトルに乗じ、それらの平均ベクトルを基準ベクトルとして設定する。
【００３９】
また、水平及び垂直方向それぞれの相関の強さを調べ、その結果を重み付け係数に反映させてもよい。例えば、周辺ブロック群Ｅ及びＢの代表ベクトルの相関と、周辺ブロック群ＦとＤの代表ベクトルの相関とを調べ、前者の相関の方が強い場合は、周辺ブロック群Ｂ及びＥの重み付け係数を、周辺ブロック群Ｆ及びＤの重み付け係数に比べて大きくする。一方、そうでない場合は逆に小さくするように設定することで、より正確な基準ベクトルの予測を行うことができる。
【００４０】
また、当該ステップＳ４において、複数の周辺ブロック群の代表ベクトルに基づいて、処理対象ブロック群を構成するブロックの数を適応的に変えてもよい。例えば、周辺ブロック群Ａ〜Ｃの代表ベクトルの向き及び大きさが全てある所定の範囲内に収まっている場合には、処理対象ブロック群を構成するブロックの数を次のように設定する。つまり、周辺ブロック群Ｂを構成するブロックの数と周辺ブロック群Ｃを構成するブロックの数との合計値と等しく設定する。そうすることにより、フレーム内の動きの状態に応じて適応的に基準ベクトルの更新周期を変更することができ、基準ベクトル更新を行う必要がない間は基準ベクトル決定のための処理を省くことができる。
【００４１】
また、処理対象ブロック群を構成するブロックの数を適応的に変更する場合、探索範囲ＲＡＭ１０３２への書き込み処理の積算値に応じて、処理対象ブロック群を構成するブロックの数の下限値を設定するようにしてもよい。例えば、探索範囲ＲＡＭ１０３２への書き込み処理の積算値が大きくなってきたら、基準ベクトルの更新周期を少なくするために当該下限値を大きめに設定するようにする。こうすることにより、探索範囲ＲＡＭ１０３２の書き込み処理時間が全体の処理時間に影響を及ぼしている場合においても、当該下限値を設けることによって許容された処理時間を保証することが可能となる。
【００４２】
一方、ステップＳ６においては、処理対象ブロック群における基準ベクトルとして、予め定めたベクトルを設定する。例えば、原点を基準ベクトルとして設定する。これは、動きベクトル同士の相関が低い部分では、周囲の動きベクトルに基づいて基準ベクトルを適切に予測することが困難となるため、探索範囲の中心として原点に設定するのが最もバランスがよいことを考慮したものである。このように、処理対象ブロック群に対するさまざまな位置の周辺ブロック群の情報を考慮することによって、より正確に基準ベクトルの予測を行うことが可能となる。
【００４３】
以上のように本実施形態においては、水平及び垂直いずれの方向の動きベクトルの相関でも得ることができる。また、隣接しているブロック群だけでなく、より離れた位置に存在するブロックの動きベクトルとの相関を得ることができ、よって十分な探索範囲設定位置の予測を行うことが可能となり、動きベクトル探索の精度が向上する。
【００４４】
さらに、前記ブロック群を小さくした場合においても、十分な動きベクトルの相関情報が得られる。これにより、動きベクトルのばらつきが激しく動きベクトル同士の相関が低いところにおいても、探索範囲の位置設定が必要以上に頻繁に切り替わることがなく、探索範囲の適切な位置を予測することができる。また、十分な精度の動きベクトル探索を行うことができ、かつ、探索範囲ＲＡＭへの書き込みアクセスの増加を抑え、全体としての処理速度低下を抑えることができる。
【００４５】
（本発明に係る他の実施形態）
前述した本発明の実施形態における動きベクトル探索装置を構成する各手段、並びに動きベクトル探索方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００４６】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００４７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図４に示すフローチャートに対応したプログラム）を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００４８】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００４９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００５０】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【００５１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００５２】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００５３】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００５４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００５５】
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施形態における動き探索装置の構成例を示すブロック図である。
【図２】本発明の実施形態における動きベクトル決定部の詳細な構成例を示すブロック図である。
【図３】本発明の実施形態において、ブロック、基準ベクトル、探索範囲の概念を示す図である。
【図４】本発明の実施形態における基準ベクトルを決定する処理手順の一例を示すフローチャートである。
【図５】本発明の実施形態において、処理対象ブロック群及び複数の周辺ブロック群を示す図である。
【図６】一般的なブロックマッチングによる動き探索の概要を示す図である。
【図７】一般的なブロックマッチングによる動き探索を行うための構成例を示すブロック図である。
【符号の説明】
【００５７】
１０１  処理ブロックカウント部
１０２  基準ベクトル決定部
１０３  動きベクトル決定部
１０３１  ブロックＲＡＭ
１０３２  探索範囲ＲＡＭ
１０３３  ブロックマッチング部
１０４  参照フレームメモリ
【図１】
2009021864.tif 000004
【図２】
2009021864.tif 000005
【図３】
2009021864.tif 000006
【図４】
2009021864.tif 000007
【図５】
2009021864.tif 000008
【図６】
2009021864.tif 000009
【図７】
2009021864.tif 000010