ビデオコード化装置において動き推定中に検索領域を動的に定義する方法であって、一連の画像を受け取ることであって、前記一連の画像の各々が複数のデジタルデータブロックを含む、前記一連の画像を受け取ること、現在コード化中の画像の既にコード化されたデータブロックに関連する1つまたは複数の検索領域と、前記現在コード化中のデータブロックと共通の位置にある、基準画像の既にコード化されたデータブロックに関連する検索領域とに基づいて、既にコード化された基準画像内の検索領域を、現在コード化中の画像の現在コード化中のデータブロックに対して定義することを備える方法。前記現在コード化中の画像の前記既にコード化されたデータブロックの第1のデータブロックは、前記現在コード化中のデータブロックの左側にあり、前記現在コード化中の画像の前記既にコード化されたデータブロックの第2のデータブロックは、前記現在コード化中のデータブロックの上方にある、請求項1に記載の方法。前記検索領域を定義することは、前記検索領域が前記既にコード化されたデータブロックの動きの方向にオフセットされるように、前記既にコード化されたデータブロックの動きベクトルに基づいて前記現在コード化中のデータブロックと共通の位置にある前記既にコード化されたデータブロックに対して前記基準画像内の前記検索領域の位置を定めることを含む、請求項1に記載の方法。前記検索領域を定義することは、4つの方向検索範囲パラメータによってデフォルト検索領域を定義することであって、2つの垂直検索範囲パラメータは、上検索範囲パラメータおよび下検索範囲パラメータであり、2つの水平検索範囲パラメータは、左検索範囲パラメータおよび右検索範囲パラメータである、前記デフォルト検索領域を定義すること、前記現在コード化中のデータブロックに関連する前記基準画像内の前記検索領域を前記デフォルト検索領域よりも小さいものと定義することであって、前記検索領域の前記方向検索範囲パラメータの少なくとも1つは、前記デフォルト検索領域の対応する方向検索範囲パラメータよりも大きく、前記検索領域の反対方向検索範囲パラメータは、前記デフォルト検索領域の対応する反対方向検索範囲パラメータよりも小さいものである、前記検索領域を前記デフォルト検索領域よりも小さいものと定義することを含む、請求項1に記載の方法。前記検索領域の各々が4つの方向検索範囲パラメータによって定義され、2つの垂直検索範囲パラメータは、上検索範囲パラメータおよび下検索範囲パラメータであり、2つの水平検索範囲パラメータは、左検索範囲パラメータおよび右検索範囲パラメータであり、前記現在コード化中のデータブロックに関連する前記検索領域を定義することは、前記現在コード化中のデータブロックに関連する前記検索領域の各方向検索範囲パラメータに対して、前記現在コード化中の画像の前記既にコード化されたデータブロックと、該現在コード化中のデータブロックと共通の位置にある、前記基準画像の前記既にコード化されたデータブロックとに関連する前記検索領域の対応する方向検索範囲パラメータから最大値を選択すること、それぞれの前記方向検索範囲パラメータに対して選定された前記最大値が、第1のフレーム内にある第1のマクロブロックの位置で第2のフレーム内にある前記現在コード化中のデータブロックと共通の位置にある前記基準画像の前記既にコード化されたデータブロックに関連する前記検索領域の前記対応する方向検索範囲パラメータと異なる場合、前記現在コード化中のデータブロックに関連する前記検索領域の方向検索範囲パラメータの少なくとも1つの値を所定の画素数だけ増加させることを含む、請求項1に記載の方法。前記垂直検索範囲パラメータの値の和は、前記垂直検索範囲を定義し、前記検索範囲を定義することは、前記現在コード化中のデータブロックに関連する前記検索領域の前記垂直検索範囲を所定最大値と比較すること、前記垂直検索範囲が前記所定最大値よりも大きければ、前記現在コード化中のデータに関連する前記検索領域の前記垂直検索範囲パラメータを更新することであって、前記現在コード化中のデータブロックに関連する前記検索領域の前記垂直検索範囲パラメータの値が等しければ、前記現在コード化中のデータブロックに関連する前記検索領域の前記垂直検索範囲パラメータの各々に前記所定最大値の半分に等しい値を割り当てるように更新し、前記現在コード化中のデータブロックに関連する前記検索領域の前記垂直検索範囲パラメータの値が等しくなければ、前記垂直検索範囲が前記所定最大値を超えないように前記垂直範囲パラメータの比較的小さいパラメータのみを減少させるように更新する、前記垂直検索範囲パラメータを更新することをさらに含む、請求項5に記載の方法。前記水平検索範囲パラメータの値の和は前記水平検索範囲を定義し、前記検索範囲を定義することは、前記現在コード化中のデータブロックに関連する前記検索領域の前記水平検索範囲を所定最大値と比較すること、前記水平検索範囲が前記所定最大値よりも大きければ、前記現在コード化中のデータに関連する前記検索領域の前記水平検索範囲パラメータを更新することであって、前記現在コード化中のデータブロックに関連する前記検索領域の前記水平検索範囲パラメータの値が等しければ、前記現在コード化中のデータブロックに関連する前記検索領域の前記水平検索範囲パラメータの各々に前記所定最大値の半分に等しい値を割り当てるように更新し、前記現在コード化中のデータブロックに関連する前記検索領域の前記水平検索範囲パラメータの値が等しくなければ、前記水平検索範囲が前記所定最大値を超えないように前記水平検索範囲パラメータの比較的小さいパラメータのみを減少させるように更新する、前記水平検索範囲パラメータを更新することをさらに含む、請求項5に記載の方法。前記検索範囲を定義することは、前記現在コード化中のデータブロックに関連する前記検索領域の前記水平検索範囲パラメータの値の和を所定最大値と比較すること、前記和が前記所定値よりも大きければ、前記現在コード化中のデータに関連する前記検索領域の前記水平検索範囲パラメータを更新することであって、前記現在コード化中のデータブロックに関連する前記検索領域の前記水平検索範囲パラメータの値が等しければ、前記現在コード化中のデータブロックに関連する前記検索領域の前記水平検索範囲パラメータの各々に前記所定値の半分に等しい値を割り当てるように更新し、前記現在コード化中のデータブロックに関連する前記検索領域の前記水平検索範囲パラメータの値が等しくなければ、前記水平検索範囲パラメータの和が前記所定値を超えないように、前記水平検索範囲パラメータの比較的小さいパラメータのみを減少させるように更新する、前記水平検索範囲パラメータを更新することをさらに含む、請求項5に記載の方法。前記検索範囲を定義することは、前記垂直検索範囲が所定最小値よりも小さければ、前記垂直検索範囲パラメータの少なくとも1つを所定の画素数だけ増加させることをさらに含む、請求項6に記載の方法。前記検索範囲を定義することは、前記水平検索範囲が所定最小値よりも小さい場合に前記水平検索範囲パラメータの少なくとも1つを所定の画素数だけ増加させることをさらに含む、請求項7に記載の方法。一連の画像をコード化する装置であって、一連の画像を受け取る動き検出器であって、前記一連の画像の各々は、複数のデジタルデータブロックを含む、前記動き検出器と、既にコード化された基準画像を記憶するメモリと、現在コード化中の画像の既にコード化されたデータブロックに関連する1つまたは複数の検索領域と、前記現在コード化中のデータブロックと共通の位置にある、前記基準画像の既にコード化されたデータブロックに関連する検索領域とに基づいて、前記既にコード化された基準画像内の検索領域を、現在コード化中の画像の現在コード化中のデータブロックに対して定義する動的検索範囲ユニットとを備える装置。前記動的検索範囲ユニットは、前記現在コード化中の画像の前記現在コード化中のデータブロックに対する前記検索領域を定義する方向検索範囲パラメータを計算し、前記方向検索範囲パラメータを前記動き検出器に送る、請求項11に記載の装置。各現在コード化中のデータブロックに対して、前記動的検索範囲ユニットが、リアルタイムで各基準画像内の前記検索領域を定義する方向検索範囲パラメータを計算する、請求項11に記載の装置。本発明と見なされ主題は、本明細書の結びの部分において特に指摘され、明確に主張される。しかし、本発明は、その目的、特徴、および利点とともに、構成、操作方法のいずれに関しても、添付図面と一緒に以下の詳細説明を参照することによって最もよく理解され得る。説明を簡単かつ分かりやすくするために、図に示される素子は必ずしも一定の縮尺で描かれていない。たとえば、素子の一部の寸法は、分かりやすくするために他の素子に比べて誇張されている場合がある。さらに、適当であると考えられる場合、参照符号が対応する素子または類似した素子を示すために図中で反復されている場合がある。以下の詳細説明において、本発明が十分に理解されるように多くの具体的詳細が示される。しかし、本発明はこれらの具体的詳細なしで実施されてもよいことを当業者は理解されよう。他の例では、本発明が不明瞭にならないよう、周知の方法、手順、および構成要素についての詳細を割愛する。本発明の実施形態はこの点に関して限定されないが、たとえば、処理する、計算する、算出する、決定する、確立する、分析する、チェックするなどの用語を利用する議論は、コンピュータのレジスタおよびメモリの少なくとも一方の内部で物理たとえば、電子的量として表されるデータを操作し、かつ/あるいは操作および処理の少なくとも一方を実施するための命令を記憶するコンピュータのレジスタおよびメモリの少なくとも一方などの情報記憶媒体内で物理量として同様に表される他のデータに変換するコンピュータの操作および処理の少なくとも一方、コンピューティングプラットフォーム、コンピューティングシステム、またはその他の電子コンピュータデバイスに言及している場合がある。本発明の実施形態はこの点に関して限定されないが、本明細書において使用される用語複数は、たとえば、多数または2つまたはそれ以上を含む場合がある。用語複数は、2つまたはそれ以上の構成要素、デバイス、素子、ユニット、パラメータなどを記述するために本明細書を通じて使用される場合がある。本発明の実施形態は、一連のデジタル画像ビデオストリームにおける画素のブロックの動きベクトルのビデオコード化および推定を対象とする。動きベクトルは、基準画像における現在ブロックの位置に対する現在画像の現在ブロックの位置を示す。基準画像は、一連の画像における前の画像または後の画像であってもよい。方法は16×16画素の例示的なブロックに適用されるものとして説明されるが、異なるサイズのブロックに適用されてもよいことは当業者には明らかであるべきである。本発明の実施形態は、所定のサイズを有する静的検索領域を使用する代わりに動き推定処理における動的または適応検索範囲の使用を含んでいてもよい。本発明の実施形態に従って適応検索範囲法を適用すると、精度に影響を及ぼすことなく一定のブロックに対して比較的小さい検索領域を使用することができるかもしれない。したがって、この予測を採用すると、メモリおよび帯域幅資源を増やさなくても済むように検索領域の全体サイズを抑制すると同時に見込まれる比較的長い動きベクトルを計算することができるかもしれない。本発明の実施形態に従って動的検索範囲を採用すると、動きベクトルの方向を予測して反対方向の検索領域を縮小することによって予測される方向における検索領域を拡大することができるかもしれない。適応検索範囲法を用いる本発明の実施形態によると、基準ボックスの全体サイズまたは領域は縮小され得るが、従来の方法に比べて比較的長い動きベクトルが可能であり得る。たとえば、本発明の実施形態によると、動きベクトルの最大限のサイズは静的検索範囲法に関連する動きベクトルに対して最大およそ200まで長くなる可能性があり、帯域幅は最大およそ50まで縮小される可能性がある。本発明の一部の実施形態による方法は、コンピュータ、プロセッサ、デジタル信号プロセッサ専用ハードウェア、またはこれらの任意の組合せの中央演算処理装置を含むが、これらに限定されない任意の適切な演算器によって実施されてもよい。本発明の実施形態による方法を表わすソフトウェアコードは、演算器によってアクセス可能なメモリに記憶されてもよい。本発明の実施形態による方法を実施するための演算器を備える装置は、データ圧縮エンコーダまたはトランスコーダの一部であってもよい。本発明の範囲はこの点に関して限定されないが、エンコーダまたはトランスコーダは、デジタルビデオカメラ、セットトップボックス、カメラを備える携帯電話、携帯情報端末PDA、ゲーム機などのいずれかの一部であってもよい。ここで、本発明の実施形態による例示的なビデオエンコーダのブロック図である図1を参照する。例示的なビデオエンコーダ100は、入力ビデオストリーム101を受け取ってもよく、コード化されたビデオストリーム102を出力してもよい。エンコーダ100は、動き推定ユニット110、動的検索範囲dynamicsearchrangeDSR計算器120、画像処理ユニット130、および基準フレームメモリ105を含んでいてもよい。エンコーダ100は、たとえば、MPEG-2、MPEG-4、H.264、またはその他のビデオ標準など、任意のビデオ標準に従ってビデオ処理を実施してもよい。動き推定ユニット110は、動きベクトルMVを計算してもよく、動き推定計算を実施してもよい。動きベクトルは、入力ビデオストリーム101から受け取られた画像またはフレームから別の画像またはフレーム、たとえば、ストリーム101から既に受け取られた基準フレームへの変換を表わしていてもよい。基準フレームは、たとえば、基準フレームメモリ105に記憶されてもよい。フレームは、本明細書においてマクロブロックMBまたはデータブロックとも呼ばれるブロックに分割されてもよい。各マクロブロックは、画素のグループ、たとえば、16×16画素を含んでいてもよい。2つまたはそれ以上のマクロブロックは、検索領域を定義してもよい。フレーム内部の検索領域は、本明細書において、検索ウィンドウまたは基準ボックスとも呼ばれる。動き推定ブロック110は、基準メモリに記憶された基準フレームの定義された検索領域内で、ソースフレームまたは現在コード化中のフレーム内の特定マクロブロックに最もよく似たブロックを検索して見つけてもよい。ソースフレーム内の特定マクロブロックに最もよく似ていると考えられる基準フレーム内のマクロブロックは、最良一致ブロックまたは一致である。一致が見つかると、動き推定ブロック110によって実行される動き推定アルゴリズムは、基準フレーム内の最良一致ブロック基準ブロックの位置に対する現在コード化中のフレームにおけるマクロブロックの位置を記述する1つまたは複数の動きベクトルを割り当ててもよい。動きベクトルは、動きたとえば、水平および/または垂直方向ののサイズおよび方向、あるいはソースフレーム内のマクロブロックと基準フレーム内の一致マクロブロックの相対的位置の相違を記述する。本発明の実施形態によると、最良一致ブロックが検索される基準フレーム内の検索領域は、各マクロブロックに対して定義または再計算されてもよい。基準フレーム内の検索領域のサイズおよび位置を定義するパラメータは、本明細書で詳述されるように、既に処理されたマクロブロックからのデータに基づいてDSR計算器120で計算されてもよい。本発明の実施形態によると、現在コード化中のフレームにおける各マクロブロックに対して、基準フレーム内の動的検索領域および検索範囲は、既に計算された検索領域の知識と、現在コード化中のフレーム内の1つまたは複数の隣接するマクロブロックに対して、および基準フレーム内の共通の位置にある基準ブロックに対して計算された動きベクトルとに基づいて計算されてもよい。他の実施形態によると、検索範囲は、現在コード化中のフレーム内の1つまたは複数の隣接するマクロブロックと、基準フレーム内の1つまたは複数の所定のマクロブロックとに対して計算された検索領域および動きベクトルに基づいて計算されてもよい。DSR計算器120は、動き推定ブロック110から既に計算された動きベクトルに関するパラメータと、基準フレームと基準メモリ105から既に計算された検索領域とに関するパラメータとを受け取ってもよい。DSR計算器120は、特定マクロブロックに対する検索領域を動的に計算し、定義し、あるいは決定してもよい。動的検索領域は、第1の所望の方向における検索範囲を拡大し、第2の反対方向における検索範囲を縮小することによってすべてのマクロブロックに対する静的な所定の検索領域を使用する従来の方法に比べて長い動きベクトルを計算することができてもよい。DSR計算器120は、2つの連続したフレーム間の動きの方向を比較的高い精度で予測してもよく、この情報を用いてその方向の検索領域を拡大し、反対方向の検索領域を縮小してもよい。本発明の実施形態によると、現在コード化中のフレーム内の一定のマクロブロックに対する基準フレーム内の検索領域を定義し、適合させ、あるいは更新する過程の最後に、検査領域の全体サイズは、本明細書で詳述されるように、既に計算されたマクロブロックに比べて縮小されても、拡大されても、不変に保たれてもよい。動き推定ブロック110およびDSR計算器120は、これらのブロックによって実施されるコンピュータ操作の結果を記憶または保存できるメモリユニットを含んでいてもよく、このメモリユニットに結合されてもよい。このようなメモリユニットは、動き推定ブロック110および/またはDSR計算器120の計算結果を、任意の形式または方法、たとえば、表形式、リストなどで保存してもよい。メモリは、本明細書に記載される方法を実施するための命令をさらに記憶してもよい。エンコーダ100は、リアルタイムのコード化中に前処理アルゴリズムの結果を使用する命令を記憶するための任意のコンピュータ記憶媒体を含む、1つまたは複数のメモリユニットをさらに含んでいてもよい。画像処理ブロック130は、様々なコード化関数またはコード化操作を実施してもよい。図1の例示的な図において、画像処理ブロック130は、コード化処理、たとえば、離散余弦変換DCT、量子化、エントロピコード化などの関数、計算、または処理の一部である任意の操作、関数、または方法を実施してもよいが、しかしながら、本発明はこの点に関して限定されず、本発明の実施形態によると、任意の数および任意の種類のブロック、ユニット、および/またはモジュールがエンコーダ100に含まれてもよく、コード化処理の一部であってもよいことを当業者は理解すべきである。エンコーダ100は、他のブロック、モジュール、操作、およびユニットをさらに含んでいてもよい。ここで、基準画像またはフレーム200と現在コード化中のフレームまたはソースフレーム210とを例示的に示す図2を参照する。ソース画像210は、現在コード化中の現在のマクロブロック211、左ブロック212LEFT、および上部ブロックまたは最上部ブロック213UPを含み、いずれも既にコード化され、その動きベクトルは既に決定されている。基準画像200は、共通位置基準ブロック201CO.および基準ブロック202REF.を含む。共通位置基準ブロック201は、現在の画像210における現在のブロック211と同じ位置で基準画像200内にあってもよい。この場合、基準画像200におけるマクロブロック201から現在のマクロブロック211までの動きベクトル203は、0、0ベクトルとなる。動きベクトルは、基準画像200内のブロックの左上隅から現在コード化中の画像210を有するブロックの左上隅にあるものとして図2示されているが、動きベクトルに対して他の自己矛盾のない定義が採用されてもよい。図2は、共通位置基準ブロック201の周囲に現在のマクロブロック211に対して選定された例示的な検索領域または基準ボックス204をさらに明示する。検索領域204内で検索を実施することによって、一致が見つけられ基準ブロック202として特定されてもよい。したがって、現在のブロック211に対する動きベクトルは、動きベクトル205となる。図3は、本発明の実施形態を理解するのに役立つ例示的な検索領域の図である。図3は例示的な検索領域300を示し、48×48画素の領域には16×16画素を有する中心の共通位置マクロブロック301を含む。中心ブロック301は、たとえば、現在の画像における211など、現在のブロックの位置と同じ基準画像内の位置にある共通位置ブロック201であってもよい。検索領域は一例に過ぎず、80×80画素の例示的検索領域あるいは56×56画素の例示的検索領域など、種々のサイズの検索領域も本発明の範囲にあることは当業者には明らかであるべきである。検索は、典型的に、左上隅から始まって画素を飛び越して右および下に進んでもよいが、必ずしもそうでなくてよい。本発明の実施形態によると、ビデオコード化装置において動き推定中に検索領域を動的に定義する方法が提供される。図4に関して本明細書で詳述される方法は、各々が複数のデジタルデータブロックを備える、一連の画像を受け取ること、この後、現在コード化中の画像の現在コード化中のデータブロックに対して、現在コード化中の画像の既にコード化されたデータブロックに関連する1つまたは複数の検索領域と、現在コード化中のデータブロックと共通の位置にある基準画像の既にコード化されたデータブロックに関連する検索領域とに基づいて既にコード化された基準画像内部の検索領域を定義することを含んでいてもよい。ここで、本発明の実施形態に従ってビデオストリームの動き推定処理中に適応検索領域を動的に選定する方法のフローチャートである図4を参照する。方法の運用は、たとえば、図1のエンコーダ100のDSR計算器120および動き推定ブロック110ならびに/あるいは他の適切なユニット、デバイス、および/またはシステムによって実施されてもよい。本発明の実施形態によると、初期の検索領域は、たとえば、フレームの動き推定処理の最初に使用されるデフォルト検索領域として定義されてもよい。例示的な初期検索領域は、48×48画素の正方形の基準ボックスである検索領域300であってもよく、ここで、検索領域300の端の長さはMAX_SR最大SR16と定義される。このとき、基準ボックス300の全領域は、MAX_SR16×MAX_SR16=3216×3216である。検索領域は、4方向、すなわち、検索範囲パラメータDSRtop、DSRbottom、DSRleft、およびDSRrightによって表されてもよい。DSRtopは共通位置ブロックの上端と検索領域の上端の間の距離を表わし、DSRbottomは共通位置ブロックの下端と検索領域の下端の間の距離を表わし、DSRleftは共通位置ブロックの左端と検索領域の左端の間の距離を表わし、DSRrightは共通位置ブロックの右端と検索領域の右端の間の距離を表わす。これらのパラメータの各々は、MAX_SRの最大値を超えてはならない。さらに、2つの垂直パラメータDSRtopとDSRbottomの和は、垂直検索範囲とも呼ばれ、MAX_SRの最大値を超えてはならない。同様に、2つの水平パラメータDSRleftとDSRrightの和は、水平検索範囲とも呼ばれ、MAX_SRの最大値を超えてはならない。値はさらに方向を示すように定義されてもよい。したがって、オプションとして、1対の直角を成すパラメータ、たとえば、垂直パラメータDSRtopおよび水平パラメータDSRleftは上方向および左方向を表わすために負値のみを受け取ってもよく、他の対、すなわち、垂直パラメータDSRbottomおよび水平パラメータDSRrightは反対の下方向および右方向を表わすために正値のみを受け取ってもよい。初期に共通位置基準ブロックは検索領域の中心にあるので、共通位置基準ブロックの4つの端の各々と検索領域のそれぞれの端との距離はMAX_SR/2に等しい。初期検索領域を定義する初期値は、専用メモリまたは記憶ユニットに記憶または保存されてもよい。初期値は、プロセッサ、たとえば、適応検索範囲処理用のエンコーダ100によって使用される場合の特殊構成ファイルに保存されてもよい。動き推定方法は、各フレームが複数のマクロブロックに分割される複数のフレームを含むビデオ信号のストリームで実施されてもよい。方法は、現在コード化中の画像における特定マクロブロックの動き推定アルゴリズムを実施する前に、現在コード化中のマクロブロックに空間的に隣接して位置する1つまたは複数の既にコード化されたマクロブロックの動きベクトルおよび検索領域と、さらに、現在の画像における現在のブロックの位置と同じ基準画像内の位置にある基準画像内の共通位置マクロブロックの検索領域とに基づいて、基準画像内の適応検索領域を選定することを含んでいてもよい。したがって、検索領域を特定マクロブロックに適応させることは、空間ベースの予備知識と時間ベースの予備知識の両方に基づいていてもよい。計算は、たとえば、現在コード化中のマクロブロックに対して選定された検索領域として初期のデフォルト基準ボックスを使用すること、基準ボックスを垂直および/または水平にシフトすると同時に基準ボックスの全領域をデフォルト値のままとすること、検索領域のサイズを縮小すること、基準ボックスを少なくとも一方向にシフトすることなど、様々なオプションをもたらしてもよい。図2の説明を参照すると、マクロブロック211の動きベクトルを決定する検索領域は既にコード化されたマクロブロック201、212、および213からのデータに基づいて計算されてもよい。図2は左上のマクロブロック隣接データからのデータを使用することを明示しているが、現在コード化中のマクロブロックに接触し、隣接し、あるいは近接する1つまたは複数の任意数のマクロブロックを使用するとき本発明の実施形態が同様に適用可能であることを当業者は理解すべきである。本発明の実施形態によると、現在コード化中のブロックの検索領域に関する特定パラメータの動的な選定は、以下に詳述される例示的処理に従って実施されてもよい。第一に、方法は、現在コード化中のフレーム内の既にコード化された左上のマクロブロックと基準フレーム内の共通位置ブロックとを識別することを含んでいてもよい。つぎに、既にコード化されたマクロブロックに関連する検索範囲パラメータDSRtopの値は互いに比較されてもよく、最大値が現在コード化中のマクロブロックの検索範囲パラメータDSRtopに対する新しい値として割り当てられる。同様に、新しい値は、既にコード化されたマクロブロックボックス410に関連するデータに基づいて、検索領域の残る検索範囲パラメータ、すなわち、DSRbottom、DSRleft、およびDSRrightに割り当てられてもよい。新たに割り当てられた値が共通位置基準マクロブロックDSRtop_ref、DSRbottom_ref、DSRleft_ref、およびDSRright_refのパラメータと異なるかどうかがチェックされる質問ブロック420。現在のマクロブロックの動きベクトルを見つけるために使用される検索領域の新たに割り当てられた値が現在のフレーム内の現在のブロックと同じ位置で前のフレーム内にある共通位置基準マクロブロックのパラメータと同じであれば、検索領域は共通位置基準マクロブロックの動きベクトルを見つけるために使用される検索領域であると判断されるボックス430。現在のマクロブロックの動きベクトルを見つけるために使用される検索領域の新たに割り当てられて値の少なくとも1つが共通位置基準マクロブロックのそれぞれのパラメータと異なる場合、その新たに割り当てられた値は必要に応じて増加されてもよい。たとえば、検索範囲パラメータDSRbottomの1つの新たに割り当てられた値が共通位置基準フレームDSRbottom_refに関連するそれぞれの値と異なる場合、新しい値がMAX_SRの最大値を超えないという条件で新たに割り当てられた値DSRbottomは所定の画素数、たとえば、DSRbottom4に等しい4画素だけ増加されてもよいボックス430。各方向に4画素を使用することは一例にすぎず、必要に応じて検索範囲を拡大するために任意の方向に任意数の画素が使用されてもよいことを当業者は理解すべきである。現在のマクロブロックの検索領域を定義するパラメータの少なくとも1つが前のフレームまたは基準フレーム内の同じ空間位置にある対応するマクロブロックの検索領域を定義する各パラメータと異なる状況は、現在のフレームと前のフレームとの間に明らかな変化がありそうなことを示し得る。現在コード化中のマクロブロックの検索範囲を拡大すると、このような変化が現在のマクロブロックの動きベクトルを決定する比較的大きい検索領域で網羅されることを確実にし得る。つぎに、基準ボックスの端がMAX_SR16の所定最大長を超えてはならないので、方法は妥当性チェックを実施することボックス440を含んでいてもよい。したがって、水平検索範囲および垂直検索範囲はいずれもMAX_SRを超えるべきでない。本発明の実施形態によると、垂直パラメータDSRtop、DSRbottomの値の和が所定値を超えると、これらのパラメータの少なくとも一方は和が最大値MAX_SRとなるように更新されるべきである。方法は、2つの垂直パラメータを比較することを含んでいてもよい。2つのパラメータが等しければ、両垂直パラメータは所定最大値の半分であるMAX_SR/2の同じ値を受け取るように更新されてもよい。2つのパラメータが等しくなければ、それぞれの方向でより大きい動きを示す大きい方のパラメータに高い優先順位が与えられる。この場合、最長条件に違反することのないように、小さい方のパラメータのみがその値を減らすことによって更新されてもよい。これによって、動き方向であると推定される方向に検索領域の位置をシフトすることになってもよい。同様に、本発明の実施形態によると、水平パラメータDSRleft、DSRrightの値の和が所定値を超えると、これらのパラメータの少なくとも一方は和が最大値MAX_SRとなるように更新されるべきである。方法は、2つの水平パラメータを比較することを含んでいてもよい。2つのパラメータが等しければ、両水平パラメータはMAX_SR/2の同じ値を受け取るように更新されてもよい。2つのパラメータが等しくなければ、それぞれの方向でより大きい動きを示す大きい方のパラメータに高い優先順位が与えられる。この場合、最長条件に違反することのないように、小さい方のパラメータのみがその値を減らすことによって更新されてもよい。これによって、動き方向であると推定される方向に検索領域の位置をシフトすることになってもよい。さらに、方法は、計算された新しい検索領域が所定値よりも小さくないかどうかをチェックすること質問ブロック450を含んでいてもよい。計算された検索領域が所定値に等しいか所定値よりも大きいことが分かると、計算された方向パラメータが採用されて現在コード化中のマクロブロックの動き推定の基準画像内の検索領域を定義するボックス460。一部の実施形態によると、計算された検索領域が所望の検索領域よりも小さいことが分かる場合、方法は検索領域を拡大するために計算されたパラメータを微調整することボックス470を含んでいてもよい。したがって、垂直および水平の両パラメータは、必要に応じて増加されてもよい。たとえば、垂直パラメータDSRtop、DSRbottomの値の和が、たとえば、MAX_SR-8などの閾値よりも小さければ、各垂直パラメータは2画素だけ増加されてもよい。当業者には理解されるように、本発明の実施形態には同様に任意の他の適切な値が適用可能である。同様に、水平パラメータDSRleft、DSRrightの値の和が、たとえば、MAX_SR-4などの閾値よりも小さければ、各水平パラメータは1画素だけ増加されてもよい。当業者には理解されるように、本発明の実施形態には同様に任意の他の適切な値が適用可能である。微調整処理は、複数のステップで反復実施されてもよい。本発明の実施形態による方法を実施する例示的なアルゴリズムは、以下の形式を有するコードを含んでいてもよい。表示_refは、現在のフレームにおいて現在コード化中のマクロブロック、たとえば、マクロブロック301と同じ基準フレーム内の位置にある共通位置基準マクロブロックを表わす。表示_leftは、現在のマクロブロックの左側にあるマクロブロック、たとえば、マクロブロック212を表わし、表示_upは現在のマクロブロックの上方にあるマクロブロック、たとえば、マクロブロック213を表わす。様々なパラメータのオプション値ただし、初期化次の基準ボックスの計算ここで、本発明の実施形態に従って実施された例示的な検索領域計算の結果を示す図5A~5Dを参照する。計算は、48×48画素の領域サイズとデフォルト基準ボックス500内部の中心にある共通位置マクロブロック501とを有するデフォルト基準ボックスまたは検索領域500から始まった。したがって、検索範囲パラメータに対する初期値は、各検索範囲パラメータに対して16画素であり、検索動きの垂直および水平方向の最大長は32画素MAX_SR=32であり、検索領域の初期領域サイズは48×48画素である。図5Aは、本発明の実施形態に従って計算された適応検索領域を示す。適応検索領域は、48×48画素の領域サイズを有する基準ボックス510を有する。基準ボックスのサイズは、計算では適応されていない。しかし、共通位置マクロブロック501は、もはやボックス内の中心にはなく、したがって、基準画像内の最良一致マクロブロックの検索は下方向の検索範囲を縮小するという犠牲を払って上方向に拡大されうる。図示のように、最大限の動きベクトルサイズはここでは24である。図5Bは、本発明の実施形態に従って計算された別の適応検索領域を示す。適応検索領域は、48×48画素の領域サイズを有する基準ボックス520を有する。基準ボックスのサイズは、計算では適応されていない。しかし、共通位置基準マクロブロック501は、基準ボックスの左上隅に置かれ、したがって、基準画像内の最良一致マクロブロックの検索は右方向および下方向に拡大され、上方向および左方向に検索することはできない。図示のように、最大限の動きベクトルサイズはここでは32である。図5Cは、本発明の実施形態に従って計算された別の適応検索領域を示す。適応検索領域は、48×48画素の領域サイズを有する基準ボックス530を有する。基準ボックスのサイズは、計算では縮小されてデフォルト基準ボックスに対する帯域幅がおよそ50だけ減少された。この場合、共通位置基準マクロブロック501は、基準ボックスの端の中心に置かれ、したがって、基準画像内の最良一致マクロブロックに対する検索は垂直方向で制限された。図5Dは、本発明の実施形態に従って計算された別の適応検索領域を示す。適応検索領域は、48×48画素の領域サイズを有する基準ボックス540を有する。基準ボックスのサイズはデフォルト基準ボックスに対する計算では縮小され、さらに、基準画像内の最良一致マクロブロックの検索範囲は上方向の検索を不可能にするという犠牲を払って下方向に拡大された。図示のように、最大限の動きベクトルサイズはここでは24であり、基準ボックスのサイズは40×40画素である。本発明の実施形態は、たとえば、プロセッサまたはコントローラによって実行されるときに本明細書に開示された方法を実行するコンピュータ実行可能命令などの命令をコード化し、含み、あるいは記憶する、たとえば、メモリ、ディスクドライブ、またはUSBフラッシュメモリなどの、コンピュータまたはプロセッサ可読媒体、あるいはコンピュータまたはプロセッサ記憶媒体などの品目を含んでいてもよい。本発明の実施形態は、複数の中央演算処理装置CPUなどの適切な多目的または特定のプロセッサまたはコントローラ、複数の入力装置、複数の出力装置、複数のメモリユニット、複数の記憶ユニットなどを含むが、これらに限定されない構成要素を含む。このようなシステムは、他の適切なハードウェア構成要素および/またはソフトウェア構成要素をさらに含んでいてもよい。一部の実施形態において、このようなシステムは、たとえば、パーソナルコンピュータ、デスクトップコンピュータ、モバイルコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、端末、ワークステーション、サーバーコンピュータ、携帯端末PDA装置、タブレットコンピュータ、ネットワーク装置などの適切な計算装置であってもよく、これらを含んでいてもよい。本明細書では本発明の特定の特徴が図示され説明されているが、当業者にはここで多くの修正形態、代替形態、変更形態、および均等物が思い浮かぶであろう。したがって、添付の特許請求の範囲が本発明の真の趣旨に含まれるようなすべての修正形態および変更形態を網羅するものであることを理解されたい。