(57)【特許請求の範囲】
【請求項１】
ＤＭＶＤ符号化ブロックおよび非ＤＭＶＤ符号化ブロックを受信する段階と、
前記ＤＭＶＤ符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定（ＭＥ）を実行する段階と、
前記非ＤＭＶＤ符号化ブロックについて、受信したデータから前記非ＤＭＶＤ符号化ブロックの動きベクトルを予測する段階、および、受信したデータから動きベクトル差分を復元する段階と、
前記ＤＭＶＤ符号化ブロックおよび前記非ＤＭＶＤ符号化ブロックを並列に復号する段階とを備え、
前記非ＤＭＶＤ符号化ブロックの動きベクトルを予測する段階は、
前記非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する段階と、
算出された前記動きベクトルを用いて前記非ＤＭＶＤ符号化ブロックの前記動きベクトルを予測する段階とを有し、
前記非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する段階は、前記隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトルと前記隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックの動きベクトルとの重み付け平均を算出する段階を含む、
方法。
【請求項２】
前記非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する段階は、
前記ＤＭＶＤ符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行する段階と、
前記動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、前記最良の動きベクトル候補を選択する段階とを含む請求項１に記載の方法。
【請求項３】
プロセッサと、
前記プロセッサと通信し、複数の処理命令を格納しているメモリと
を備えるシステムであって、
前記複数の処理命令は、前記プロセッサに対して、
ＤＭＶＤ符号化ブロックおよび非ＤＭＶＤ符号化ブロックを受信して、
前記ＤＭＶＤ符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定（ＭＥ）を実行して、
前記非ＤＭＶＤ符号化ブロックについて、受信したデータから前記非ＤＭＶＤ符号化ブロックの動きベクトルを予測して、受信したデータから動きベクトル差分を復元して、
前記ＤＭＶＤ符号化ブロックおよび前記非ＤＭＶＤ符号化ブロックを並列に復号するよう指示し、
前記プロセッサに対して前記非ＤＭＶＤ符号化ブロックの動きベクトルを予測するよう指示する前記複数の処理命令は、
前記プロセッサに対して、前記非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出するよう指示する処理命令と、
前記プロセッサに対して、算出された前記動きベクトルを用いて前記非ＤＭＶＤ符号化ブロックの前記動きベクトルを予測するよう指示する処理命令と
を含み、
前記プロセッサに対して前記非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出するよう指示する前記複数の処理命令は、前記プロセッサに対して、
前記隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトルと前記隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックの動きベクトルとの重み付け平均を算出するよう指示する処理命令を含む、
システム。
【請求項４】
前記プロセッサに対して前記非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出するよう指示する前記複数の処理命令は、
前記プロセッサに対して、前記ＤＭＶＤ符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行するよう指示する処理命令と、
前記プロセッサに対して、前記動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、前記最良の動きベクトル候補を選択するよう指示する処理命令と
を含む請求項３に記載のシステム。
【請求項５】
コンピュータに、
ＤＭＶＤ符号化ブロックおよび非ＤＭＶＤ符号化ブロックを受信する手順と、
前記ＤＭＶＤ符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定（ＭＥ）を実行する手順と、
前記非ＤＭＶＤ符号化ブロックについて、受信したデータから前記非ＤＭＶＤ符号化ブロックの動きベクトルを予測する手順、および、受信したデータから動きベクトル差分を復元する手順と、
前記ＤＭＶＤ符号化ブロックおよび前記非ＤＭＶＤ符号化ブロックを並列に復号する手順とを実行させ、
前記非ＤＭＶＤ符号化ブロックの動きベクトルを予測する手順は、
前記非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する手順と、
算出された前記動きベクトルを用いて前記非ＤＭＶＤ符号化ブロックの前記動きベクトルを予測する手順と
を有し、
前記非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する手順は、
前記隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトルと前記隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックの動きベクトルとの重み付け平均を算出する手順を有する、
プログラム。
【請求項６】
前記非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する手順は、
前記ＤＭＶＤ符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行する手順と、
前記動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、前記最良の動きベクトル候補を選択する手順とを含む
請求項５に記載のプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
従来のビデオ符号化システムでは、動き推定（ＭＥ）を符号化器で実行して、現在符号化ブロックの動きを予測するべく、動きベクトルを取得するとしてよい。動きベクトルはこの後、バイナリストリームに符号化されて、復号器に送信されるとしてよい。これによって、復号器は、現在復号ブロックについて動き補償を行うことができる。一部の高度なビデオ符号化規格、例えば、Ｈ．２６４／ＡＶＣでは、符号化のためにマクロブロック（ＭＢ）をより小さいブロックに分割して、分割後の各ブロックに動きベクトルを割り当てるとしてよい。この結果、ＭＢが４×４のブロックに分割されると、ＭＢの予測符号化について最高で１６個の動きベクトルが作成され、ＭＢの双方向予測符号化のためには最高で３２個の動きベクトルが生成される。これはオーバーヘッドが非常に大きい。動き符号化ブロックは時間的相関関係および空間的相関関係が強いことを考えて、動き推定は、復号器側で、再構築された基準ピクチャまたは再構築された空間的に隣接するブロックに基づいて、実行されるとしてよい。これによって、復号器は、符号化器から動きベクトルを受信するのではなく、現在ブロックについて自分で動きベクトルを導き出すとしてよい。このような復号器側動きベクトル導出（ＤＭＶＤ）方法によれば、復号器による計算が複雑になるが、帯域幅を節約するので既存のビデオコーデックシステムの効率を改善することにつながるとしてよい。
【０００２】
復号器側では、ブロックがＤＭＶＤ方法を用いて符号化されていれば、当該ブロックの動きベクトルは、復号器側動き推定を実行した後でなければ利用できない。これは、以下に示す２点において、並列復号処理に影響を及ぼすとしてよい。第一に、復号器側動き推定において空間的に隣接する再構築された画素が利用される場合、ＤＭＶＤブロックの復号化は、全ての隣接するブロック（動き推定で利用された画素を含む）が復号された後でなければ開始することができない。第二に、一のブロックがＤＭＶＤモードで符号化されると、当該ブロックの動きベクトルは、当該ブロックに隣接するブロックの動きベクトル予測に利用されるとしてよい。このため、当該ブロックに隣接するブロックの復号処理は、動きベクトル予測についてこの現在ＤＭＶＤ符号化ブロックの動きベクトルを利用するので、現在ＤＭＶＤブロックの動き推定が終了した後でなければ開始することができない。このため、上記の処理の依存関係によって復号化が遅くなる。特に、復号器側での処理は、並列ＤＭＶＤアルゴリズムにあまり適していない場合がある。
【０００３】
また、復号器側での動き推定は、一部の実施例において、検索ウィンドウにおいて動きベクトル候補について検索を実行する必要があるとしてもよい。この検索は、包括的な検索であってもよいし、または、公知の高速検索アルゴリズムのうち任意のものを利用するとしてもよい。比較的高速な検索アルゴリズムを用いるとしても、最良の候補を決定するまでに非常に多数の候補を評価しなければならないとしてよい。これも、復号器側での処理が非効率であることの原因である。
【０００４】
＜関連出願＞
本願は、米国仮特許出願第６１／３６４，５６５号（出願日：２０１０年７月１５日）による恩恵を主張する。当該仮出願の内容は全て、参照により本願に組み込まれる。本願はさらに、関連出願として以下の特許出願が挙げられる。
米国特許出願第１２／６５７，１６８号（出願日：２０１０年１月１４日）
米国特許出願第１２／５６７，５４０号（出願日：２００９年９月２５日）
米国特許出願第１２／５６６，８２３号（出願日：２００９年９月２５日）
米国特許出願第１２／５８２，０６１号（出願日：２００９年１０月２０日）
【図面の簡単な説明】
【０００５】
【図１】ある実施形態に係るビデオ符号化システムを示すブロック図である。
【図２】ある実施形態に係るビデオ復号システムを示すブロック図である。
【図３】ある実施形態に係る、復号器でのミラー動き推定（ＭＥ）を説明するための図である。
【図４】ある実施形態に係る、復号器での予測ＭＥを説明するための図である。
【図５】ある実施形態に係る、復号器での空間隣接ブロックＭＥを説明するための図である。
【図６】ある実施形態に係る、復号器側での時間連続ブロックＭＥを説明するための図である。
【図７】ある実施形態に係る、ＤＭＶＤ符号化ブロックの動き推定および復号化を説明するためのフローチャートである。
【図８】ある実施形態に係る、現在のブロックと、現在のブロックの復号化で用いられる隣接するブロックとを示す図である。
【図９】ある実施形態に係る、非ＤＭＶＤ符号化ブロックの復号化および動き推定を説明するためのフローチャートである。
【図１０】別の実施形態に係る、非ＤＭＶＤ符号化ブロックの復号化および動き推定を説明するためのフローチャートである。
【図１１】ある実施形態のソフトウェア実施例またはファームウェア実施例を示す図である。
【発明を実施するための形態】
【０００６】
以下では、添付図面を参照しつつ一の実施形態について説明する。具体的な構成および配置を挙げて説明するが、これは例示を目的としたものに過ぎないと理解されたい。当業者であれば、他の構成および配列も本開示の意図および範囲から逸脱することなく利用可能であるものと認めるであろう。本開示の内容は、本明細書で説明する内容以外にもさまざまな他のシステムおよび用途で利用可能であることが当業者には明らかであろう。
【０００７】
本明細書では、ビデオ圧縮／復元システムにおける復号器での処理を改善する方法およびシステムを開示している。
【０００８】
本明細書で説明する改善された処理は、ビデオの圧縮および復元を実行するビデオ符号化器／復号器システムに関して実現されるとしてよい。図１は、自己ＭＶ導出モジュール１４０を含むＨ．２６４ビデオ符号化アーキテクチャ１００の一例を示す図である。尚、Ｈ．２６４はビデオコーデック規格である。現在ビデオ情報は、複数のフレームとして、現在ビデオブロック１１０から供給されるとしてよい。現在ビデオは、差分部１１１に渡すとしてよい。差分部１１１は、差分パルスコード変調（ＤＰＣＭ）（「コアビデオ符号化」と呼ばれる）ループの一部であってよい。当該ループは、動き補償段１２２および動き推定段１１８を有するとしてよい。当該ループはさらに、イントラ予測段１２０およびイントラ補間段１２４を備えるとしてよい。場合によっては、ループ内非ブロック化フィルタ１２６をさらにループ内で利用するとしてもよい。
【０００９】
現在ビデオは、差分部１１１および動き推定段１１８に供給されるとしてよい。動き補償段１２２またはイントラ補間段１２４は、スイッチ１２３からの出力を生成するとしてよい。この出力は、現在ビデオ１１０から減算されて、残余分が得られるとしてよい。残余分は、変換／量子化段１１２において変換および量子化されて、ブロック１１４においてエントロピー符号化が実行されるとしてよい。ブロック１１６でチャネル出力が得られる。
【００１０】
動き補償段１２２またはイントラ補間段１２４の出力は、加算器１３３に供給されるとしてよい。加算器１３３はさらに、逆量子化部１３０および逆変換部１３２からの入力を受け取るとしてよい。逆量子化部１３０および逆変換部１３２は、変換／量子化段１１２による変換および量子化を元に戻すとしてよい。逆変換部１３２は、量子化および変換が解除された情報をループに戻すとしてよい。
【００１１】
自己ＭＶ導出モジュール１４０は、既に復号化された画素から動きベクトルを導出するべく、本明細書で説明した処理を実施するとしてよい。自己ＭＶ導出モジュール１４０は、ループ内非ブロック化フィルタ１２６の出力を受け取るとしてよく、出力を動き補償段１２２に供給するとしてよい。
【００１２】
図２は、自己ＭＶ導出モジュール２１０を備えるＨ．２６４ビデオ復号器２００を示す図である。ここで、図１の符号化器１００に対応する復号器２００は、エントロピー復号部２４０に結合されているチャネル入力２３８を含むとしてよい。復号部２４０からの出力は、逆量子化部２４２および逆変換部２４４に、そして、自己ＭＶ導出モジュール２１０に供給されるとしてよい。自己ＭＶ導出モジュール２１０は、動き補償部２４８に結合されるとしてよい。エントロピー復号部２４０の出力はさらに、イントラ補間部２５４に供給されるとしてよい。イントラ補間部２５４は、セレクタスイッチ２２３に対して供給するとしてよい。逆変換部２４４からの情報、および、スイッチ２２３で選択された結果である動き補償部２４８またはイントラ補間部２５４の一方からの情報は、加算され、ループ内非ブロック化部２４６に供給され、イントラ補間部２５４に供給されるとしてよい。ループ内非ブロック化部２４６の出力はこの後、自己ＭＶ導出モジュール２１０に供給されるとしてよい。
【００１３】
符号化器側の自己ＭＶ導出モジュールは、ビデオ復号化器と同期しているとしてよい。これに代えて、自己ＭＶ導出モジュールは、汎用ビデオコーデックアーキテクチャに基づいて利用されるとしてよく、Ｈ．２６４符号化アーキテクチャに限定されない。
【００１４】
上述した符号化器および復号器、ならびに、上述したそれらが実行する処理は、ハードウェア、ファームウェアまたはソフトウェア、あるいは、これらの組み合わせで実現されるとしてよい。また、本明細書で開示される任意の１以上の特徴は、ハードウェア、ソフトウェア、ファームウェアおよびこれらの組み合わせで実現されるとしてよく、個別の回路ロジックおよび集積化された回路ロジック、特定用途向け集積回路（ＡＳＩＣ）ロジック、および、マイクロコントローラで実現されるとしてよく、ドメイン特有集積回路パッケージの一部として、または、集積回路パッケージを組み合わせたものとして実現されるとしてよい。ソフトウェアという用語は、本明細書で用いられる場合、コンピュータシステムに本明細書で開示している１以上の特徴および／または特徴の組み合わせを実行させるコンピュータプログラムロジックが格納されているコンピュータ可読媒体を備えるコンピュータプログラム製品を意味する。
【００１５】
空間的に隣接している再構築された画素への依存性
復号器側動き推定（ＭＥ）は、現在符号化ブロックの動きは、基準ピクチャ内において当該ブロックと空間的に隣接しているブロックの動きおよび当該ブロックと時間的に隣接しているブロックの動きと強い相関関係を持つという仮定に基づいている。図３から図６は、さまざまな種類の相関関係を利用するさまざまな復号器側ＭＥ方法を示す図である。
【００１６】
図３のミラーＭＥおよび図４の予測ＭＥは、時間的な動きの相関関係を利用して２つの基準フレーム間で実行されるとしてよい。図３の実施形態では、２つの双方向予測フレーム（Ｂフレーム）３１０および３１５が、前方基準フレーム３２０と後方基準フレーム３３０との間にあるとしてよい。フレーム３１０は、現在符号化フレームであってよい。現在ブロック３４０を符号化する場合、ミラーＭＥを実行して、基準フレーム３２０の検索ウィンドウ３６０および基準フレーム３３０の検索ウィンドウ３７０で検索を実行することによって、動きベクトルを取得するとしてよい。上述したように、現在入力ブロックが復号器で利用できない場合、２つの基準フレームでミラーＭＥを実行するとしてよい。
【００１７】
図４は、２つの前方基準フレームである、前方（ＦＷ）Ｒｅｆ０（基準フレーム４２０と図示）およびＦＷ  Ｒｅｆ１（基準フレーム４３０と図示）を利用する予測ＭＥ処理４００の一例を示す図である。これらの基準フレームは、現在フレームＰ（フレーム４１０と図示）内の現在対象ブロック４４０について動きベクトルを導出するために用いられるとしてよい。基準フレーム４２０内で検索ウィンドウ４７０が特定されているとしてよく、検索ウィンドウ４７０内で検索パスが特定されているとしてよい。検索パス内の各動きベクトルＭＶ０について、当該動きベクトルの予測動きベクトルＭＶ１は、基準フレーム４３０の検索ウィンドウ４６０内で決定されるとしてよい。ＭＶ０および対応する動きベクトルＭＶ１という一対の動きベクトルについて、差分絶対値の合計等のメトリックを、（１）ＭＶ０によって指し示されている基準フレーム４２０内の基準ブロック４８０と、（２）ＭＶ１によって指し示されている基準フレーム４３０内の基準ブロック４５０との間で算出するとしてよい。例えば、最小ＳＡＤ等、メトリックが最適値を取る動きベクトルＭＶ０は、対象ブロック４４０の動きベクトルとして選択されるとしてよい。
【００１８】
現在ブロックの出力動きベクトルの精度を高めるべく、一部の実施例では、復号器側のＭＥの測定メトリックに空間的に隣接する再構築された画素を含めるとしてよい。図５では、空間的な動きの相関関係を利用して、復号器側ＭＥを空間的に隣接するブロックに対して実行するとしてよい。図５は、現在ピクチャ（またはフレーム）５１０内の１以上の隣接するブロック５４０（ここでは、対象ブロック５３０の上方および左側のブロックとして示す）を利用する実施形態５００を示す図である。これによって、先行する基準フレーム５２０内の１以上の対応するブロック５５０および後続の基準フレーム５６０内の１以上の対応するブロック５５５に基づき、動きベクトルの生成が可能になるとしてよい。尚、「先行」および「後続」といった用語は、時間軸に沿った順序を意味する。この後動きベクトルを対象ブロック５３０に適用するとしてよい。ある実施形態によると、ラスタースキャン符号化順序に基づき、対象ブロックの上方、左側、上方および左側、ならびに、上方および右側の空間的に隣接するブロックを決定するとしてよい。この方法は、復号化の際に先行フレームおよび後続フレームの両方を利用するＢフレームについて利用されるとしてよい。
【００１９】
図５で例示している方法は、隣接しているブロックが連続スキャン符号化順序において対象ブロックより前に復号されている限り、現在フレーム内の空間的に隣接しているブロックの利用可能な画素に対して適用されるとしてよい。さらに、この方法では、現在フレームの基準フレームリストに挙げられている基準フレームに対して動き検索を適用するとしてよい。
【００２０】
図５の実施形態に係る処理は、以下のように実行されるとしてよい。第一に、現在フレームにおいて１以上の画素ブロックを特定するとしてよい。この場合、特定されたブロックは、現在フレームの対象ブロックに隣接している。この後特定されたブロックについて、時間軸において後続の基準フレームに含まれる対応するブロック、および、先行する基準フレームに含まれる対応するブロックに基づいて、動き検索を実行するとしてよい。動き検索を実行すると、特定されたブロックについて動きベクトルが得られるとしてよい。これに代えて、隣接するブロックの動きベクトルは、これらのブロックを特定する前に決定するとしてよい。この後、決定された動きベクトルを利用して、対象ブロックの動きベクトルを導出するとしてよい。対象ブロックの動きベクトルを用いて、対象ブロックの動き補償を実行するとしてよい。この導出処理は、当業者に公知の適切な処理を利用して実行するとしてよい。このようなプロセスは、例えば、これらに限定されるものではないが、重み付け平均化またはメディアンフィルタリングであるとしてよい。
【００２１】
現在ピクチャが基準バッファ内に後方基準ピクチャおよび前方基準ピクチャの両方を持っている場合、ミラーＭＥで利用される方法と同じ方法を用いて、ピクチャレベルおよびブロックレベルの適応型検索範囲ベクトルを取得するとしてよい。これに代えて、前方基準ピクチャのみが利用可能である場合、予測ＭＥについて上述した方法を用いてピクチャレベルおよびブロックレベルの適応型検索範囲を取得するとしてよい。
【００２２】
時間軸に沿った順序において先行する再構築されたフレームおよび後続の再構築されたフレームの対応するブロックを用いて、動きベクトルを導出するとしてよい。この方法は図６に図示している。現在フレーム６１０内の対象ブロック６３０を符号化する際には、既に復号化された画素を利用するとしてよい。この場合、これらの画素は、図６ではフレーム６１５として示している先行するピクチャの対応するブロック６４０と、ピクチャ６５５として示している次のフレームの対応するブロック６６５とにあるとしてよい。基準フレームであるピクチャ６２０の１以上のブロック６５０に対して動き検索を実行することによって、第１の動きベクトルを対応するブロック６４０について導出するとしてよい。ブロック６５０は、基準フレーム６２０において、先行するピクチャ６１５のブロック６４０に対応するブロックに隣接しているとしてよい。基準ピクチャ、つまり、フレーム６６０の１以上のブロック６７０に対して動き検索を実行することによって、第２の動きベクトルを次のフレーム６５５の対応するブロック６６５について導出するとしてよい。ブロック６７０は、別の基準ピクチャ６６０において、次のフレーム６５５のブロック６６５に対応するブロックに隣接するとしてよい。第１および第２の動きベクトルに基づいて、対象ブロック６３０について、前方動きベクトルおよび／または後方動きベクトルを決定するとしてよい。これらの動きベクトルはこの後、対象ブロックの動き補償において利用されるとしてよい。
【００２３】
このような場合のＭＥ処理は以下のように実行されるとしてよい。最初に、先行するフレームにおいて、現在フレームの対象ブロックに対応するブロックを特定するとしてよい。先行するフレームのこの特定されたブロックについて第１の動きベクトルを決定するとしてよい。第１の動きベクトルは、第１の基準フレームの対応するブロックと比較することで定められるとしてよい。後続のフレームにおいて、現在フレームの対象ブロックに対応するブロックを特定するとしてよい。後続のフレームのこの特定されたブロックについて第２の動きベクトルを決定するとしてよい。第２の動きベクトルは、第２の基準フレームの対応するブロックと比較することで定められるとしてよい。上述した第１および第２の動きベクトルを用いて、対象ブロックについて１個または２個の動きベクトルを決定するとしてよい。同様の処理を復号器で行うとしてもよい。
【００２４】
現在ピクチャを符号化／復号する際には、先行するフレーム６１５と基準フレーム６２０との間のブロック動きベクトルが利用可能である。これらの動きベクトルを用いて、予測ＭＥに関して上述したような方法でピクチャレベルの適応型検索範囲を決定することができる。対応するブロックの動きベクトル、および、対応するブロックに空間的に隣接するブロックの動きベクトルを用いて、ミラーＭＥの場合と同様に、ブロックレベルの適応型検索範囲を導出するとしてよい。
【００２５】
空間的に隣接する再構築された画素を復号器側のＭＥで利用するので、ＤＭＶＤモードで符号化されたブロックの復号は、必要な空間的に隣接する画素が全て復号された後でなければ開始できない。この復号依存性は、ブロック復号の並列実施の効率に影響を及ぼす可能性がある。
【００２６】
ＤＭＶＤ符号化ブロックを並列に復号するために、復号器側ＭＥが、空間的に隣接する再構築された画素へ依存しないようにするとしてよい。そして、図３のミラーＭＥおよび図４の予測ＭＥは、２つの基準ピクチャに対してのみ実行され、空間的に隣接する再構築された画素は、復号器側ＭＥの測定メトリックでは考慮されないとしてよい。図５に示す空間的に隣接するブロックのＭＥは、機能的に図６に示す時間連続ブロックのＭＥで置き換えられる。つまり、復号器側ＭＥは、現在ピクチャに含まれる空間的に隣接するブロックに代えて、複数の基準ピクチャに含まれる連続ブロックについて実行されるとしてもよい。
【００２７】
この復号化方法は図７に示している。７１０において、ＤＭＶＤ符号化ブロックを復号器で受信するとしてよい。７２０において、ＭＥを実行するとしてよい。ＭＥは、複数の基準ピクチャ内の時間的に隣接する再構築された画素を利用して行われるとしてよい。空間的に隣接する再構築された画素は利用しない。７３０において、ＤＭＶＤ符号化ブロックを復号するとしてよい。
【００２８】
ある実施形態によると、復号化は、非ＤＭＶＤ符号化ブロックの復号と並列に実行するとしてよい。再構築された基準ピクチャが現在ピクチャの復号の前にそろって、復号器側ＭＥが基準ピクチャのみに実行されるので、復号に関して、ＤＭＶＤ符号化ブロックが、空間的に隣接する再構築された画素に依存することはなくなるとしてよい。この結果、ＤＭＶＤ符号化ブロックおよび非ＤＭＶＤ符号化フレーム間符号化ブロックは、並列に復号されるとしてよい。
【００２９】
動きベクトル予測の依存性
空間的に隣接している再構築された画素への復号時の依存性は上記のシステムおよび方法で対処されるとしても、復号処理においては、動きベクトルの予測に関して依存性の問題は依然として存在する。Ｈ．２６４／ＡＶＣ規格では、動きベクトルの冗長性を無くすべく、最初に、あるブロックの動きベクトルを、当該ブロックに空間的または時間的に隣接しているブロックの動きベクトルに基づいて予測するとしてよい。最終動きベクトルと予測動きベクトルとの差分を、復号器側に送信するべく、ビットストリームに符号化するとしてよい。復号器側では、現在ブロックの最終動きベクトルを取得するべく、最初に空間的または時間的に隣接しているブロックの復号化された動きベクトルから予測動きベクトルを算出した後、復号化された動きベクトル差分を予測動きベクトルに加算して、現在ブロックの最終復号化動きベクトルを取得するとしてよい。
【００３０】
ＤＭＶＤモードを利用する場合、復号器は、ＤＭＶＤ符号化ブロックについて、自身で動きベクトルを導出することができる。しかし、非ＤＭＶＤ符号化ブロックについては、動きベクトルを上述した方法で復号するとしてよい。ここで、あるブロックがＤＭＶＤモードで符号化されている場合、当該ブロックの動きベクトルは復号器側ＭＥを実行した後でなければ利用できない。これらの動きベクトルが、当該ブロックに空間的に隣接しているブロックの動きベクトルを予測するために利用される場合、空間的に隣接しているブロックの復号化は、ＤＭＶＤ符号化ブロックの復号器側ＭＥが完了した後でなければ開始することができない。このような動きベクトル予測における依存性は、ブロック復号化の並列実施の効率に影響を与えるとしてよい。
【００３１】
図８に示すように、ブロック８１０等の現在ブロックを符号化する際、当該ブロックに空間的に隣接する４つのブロック（Ａ、Ｂ、ＣおよびＤ）の動きベクトルを用いて、当該ブロックの動きベクトルを予測するとしてよい。ブロックＡ、Ｂ、ＣおよびＤのうち任意の１つがＤＭＶＤモードで符号化されている場合、以下に記載する方法のうちいずれか１つを利用して、動きベクトルに関してＤＭＶＤブロックに依存しなくて済むようにしてよい。
【００３２】
ある実施形態によると、空間的に隣接するブロックがＤＭＶＤブロックである場合、当該ブロックの動きベクトルは、動きベクトル予測処理において利用不可と示されているとしてよい。つまり、現在ブロックの動きベクトルは、隣接している非ＤＶＭＤ符号化ブロックの動きベクトルから予測する。この処理は図９に図示している。９１０において、現在の非ＤＭＶＤブロックを、１以上のＤＭＶＤブロックと共に、受信するとしてよい。９２０において、現在の非ＤＭＶＤブロックに対して空間的に隣接しているＤＭＶＤブロックがあるか否かを判断するとしてよい。具体的には、非ＤＭＶＤブロックに隣接して図８に示す位置Ａ・・・ＤのいずれかにＤＭＶＤブロックがあるか否かを判断するとしてよい。ＤＭＶＤブロックがある場合、当該ＤＭＶＤブロックは、非ＤＭＶＤブロックの動きベクトル予測には利用不可と示すとしてよい。９３０において、隣接する非ＤＭＶＤブロックの動きベクトルを用いて、現在の非ＤＭＶＤブロックの動きベクトルを予測するとしてよい。９４０において、現在の非ＤＭＶＤブロックを復号化するとしてよい。
【００３３】
別の実施形態によると、位置Ａ・・・Ｄ（図８を参照のこと）のいずれかにおいて非ＤＭＶＤブロックに空間的に隣接するＤＭＶＤブロックがあれば、非ＤＭＶＤブロックを復号化するためには別の方法を利用するとしてよい。このような実施形態を図１０に図示する。１０１０において、復号器は、現在の非ＤＭＶＤブロックを、１以上の空間的に隣接するＤＭＶＤブロックと共に、受信する。１０２０において、空間的に隣接するブロックがＤＭＶＤブロックである場合、このＤＭＶＤブロックについて動きベクトルを算出するとしてよい。１０３０において、算出された動きベクトルを用いて、現在の非ＤＭＶＤブロックの動きベクトルを予測するとしてよい。１０４０において、このように予測された動きベクトルに基づき、現在の非ＤＭＶＤブロックを復号するとしてよい。
【００３４】
このように算出された動きベクトルは復号器側ＭＥを実行する前に得られるので、隣接するブロック、例えば、現在の非ＤＭＶＤブロックの復号処理は、ＤＭＶＤ符号化ブロックの復号器側ＭＥ処理が完了するまで待機することなく、即座に開始するとしてよい。こうして、ＤＭＶＤ符号化ブロックおよび現在の非ＤＭＶＤ符号化ブロックを並列に復号化するとしてよい。
【００３５】
隣接するＤＭＶＤブロックの動きベクトルは、複数の方法のうち任意の方法で決定するとしてよい。例えば、ある実施形態によると、ＤＭＶＤブロックについて算出された動きベクトルは、利用可能な空間的に隣接するブロックの動きベクトルの重み付け平均であるとしてよい。
【００３６】
別の実施形態では、ＤＭＶＤブロックについて算出された動きベクトルは、利用可能な空間的に隣接するブロックの動きベクトルのメディアンフィルタリング値であってよい。
【００３７】
別の実施形態では、ＤＭＶＤブロックについて算出された動きベクトルは、スケーリングされた利用可能な時間的に隣接するブロックの動きベクトルの重み付け平均であってよい。
【００３８】
別の実施形態によると、ＤＭＶＤブロックについて算出された動きベクトルは、スケーリングされた利用可能な時間的に隣接するブロックの動きベクトルのメディアンフィルタリング値であってよい。
【００３９】
別の実施形態によると、ＤＭＶＤブロックについて算出された動きベクトルは、利用可能な空間的に隣接するブロックの動きベクトルおよびスケーリングされた利用可能な時間的に隣接するブロックの動きベクトルの重み付け平均であるとしてよい。
【００４０】
別の実施形態によると、ＤＭＶＤブロックについて算出された動きベクトルは、利用可能な空間的に隣接するブロックの動きベクトルおよびスケーリングされた利用可能な時間的に隣接するブロックの動きベクトルのメディアンフィルタリング値であってよい。
【００４１】
上記の方法によれば、動きベクトル予測は、ＤＭＶＤブロックの動きベクトルに依存しなくなるとしてよい。復号器は同時に、空間的に隣接する再構築された画素へ依存しなくて済むので、フレーム間符号化ブロックを（ＤＭＶＤモードまたは非ＤＭＶＤモードのいずれで符号化されていたとしても）並列に復号化するとしてよい。これによって、マルチコアプラットフォームにおいて復号器を並列に実施し易くなるとしてよい。
【００４２】
動きベクトルに関する高速候補検索
ＤＭＶＤブロックのＭＥは、符号化器および復号器が同一動き検索方式を利用している限りにおいて、検索ウィンドウ内での全検索で実行するとしてもよいし、または、任意のその他の高速動き検索アルゴリズムを用いて実行するとしてもよい。ある実施形態によると、候補を利用した高速ＭＥ処理を実行するとしてよい。この場合、動き検索処理は、検索ウィンドウ内で全ての可能性を確認するのではなく、比較的少数の動きベクトル候補を確認するだけでよい。符号化器および復号器は、不一致が生じないように、同じ候補を利用するとしてよい。
【００４３】
動きベクトル候補は、空間的に符号化されている隣接ブロックおよび時間的に符号化されている隣接ブロックの動きベクトルから導出されるとしてよい。動きベクトル候補は、このような動きベクトルの付近の狭い範囲で動き検索を実行することによって、絞り込むことができる。
【００４４】
ある実施形態によると、最初に全ての動きベクトル候補を確認するとしてよく、最良の動きベクトル候補（例えば、差分絶対値の合計値が最小となる動きベクトル候補）を選択するとしてよい。この最良の動きベクトル候補の付近で狭い範囲の動き検索を実行して最終動きベクトルを取得するとしてよい。
【００４５】
ある実施形態によると、各動きベクトル候補の付近で狭い範囲の動き検索を実行して絞り込み、最良の動きベクトル候補（例えば、ＳＡＤが最小となるもの）を最終動きベクトルとして選択するとしてよい。
【００４６】
実施例
本明細書で開示している方法およびシステムは、機能、特徴および関係を説明する機能構成ブロックを用いて説明している。このような機能構成ブロックの境界は、少なくとも一部について、説明の便宜上本明細書において抽象的に定義したものである。特定の機能および関係が適切に実現される限りにおいて、境界を変更して定義するとしてよい。
【００４７】
本明細書で開示した１以上の特徴は、ハードウェア、ソフトウェア、ファームウェアおよびこれらを組み合わせて実施するとしてよい。例えば、個別の回路ロジックおよび集積化された回路ロジック、特定用途向け集積回路（ＡＳＩＣ）ロジック、および、マイクロコントローラで実現されるとしてよく、ドメイン特有集積回路パッケージの一部として、または、集積回路パッケージを組み合わせたものとして実現されるとしてよい。ソフトウェアという用語は、本明細書で用いられる場合、コンピュータシステムに本明細書で開示している１以上の特徴および／または特徴の組み合わせを実行させるコンピュータプログラムロジックが格納されているコンピュータ可読媒体を備えるコンピュータプログラム製品を意味する。
【００４８】
上述した処理をソフトウェアまたはファームウェアで実施する場合の実施形態を図１１に図示する。システム１１００は、プロセッサ１１２０およびメモリ本体１１１０を備えるとしてよい。メモリ１１１０は、コンピュータプログラムロジック１１４０を格納する１以上のコンピュータ可読媒体を有するとしてよい。メモリ１１１０は、例えば、ハードディスクおよびハードドライブ、コンパクトディスクおよびコンパクトドライブ等の取り外し可能な媒体、または、リードオンリーメモリ（ＲＯＭ）デバイスとして実現されるとしてよい。プロセッサ１１２０およびメモリ１１１０は、バス等、当業者に公知の技術のいずれかを利用して通信を行うとしてよい。メモリ１１１０に含まれるロジックは、プロセッサ１１２０によって読み出されて実行されるとしてよい。１以上のＩ／Ｏポートおよび／またはＩ／Ｏデバイスは、まとめてＩ／Ｏ１１３０として図示されており、プロセッサ１１２０およびメモリ１１１０に接続されているとしてよい。
【００４９】
コンピュータプログラムロジック１１４０は、ロジックモジュール１１５０−１１７０を含むとしてよい。ある実施形態によると、ロジック１１５０は、現在ブロックがＤＭＶＤブロックである場合に上述した処理を実行するロジックであるとしてよい。ロジック１１６０は、現在ブロックが非ＤＭＶＤブロックである場合に上述した処理を実行するロジックであるとしてよい。ロジック１１７０は、上述した動きベクトルの高速候補検索を実行するロジックであるとしてよい。
【００５０】
本明細書ではさまざまな実施形態を開示したが、本発明を限定するものではなく一例としてのみ提示したと理解されたい。本明細書の開示内容について、本明細書に開示した方法およびシステムの意図および範囲から逸脱することなく形態および詳細な内容についてはさまざまな点で変更し得ることは当業者には明らかであろう。このため、請求項の範囲は、本明細書に開示した実施形態例のいずれによっても限定されるものではない。ここで、本発明の実施形態の例を項目として示す。
［項目１］
ＤＭＶＤ符号化ブロックおよび非ＤＭＶＤ符号化ブロックを受信する段階と、
ＤＭＶＤ符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定（ＭＥ）を実行する段階と、
非ＤＭＶＤ符号化ブロックについて、受信したデータから非ＤＭＶＤ符号化ブロックの動きベクトルを予測する段階、および、受信したデータから動きベクトル差分を復元する段階と、
ＤＭＶＤ符号化ブロックおよび非ＤＭＶＤ符号化ブロックを並列に復号する段階と
を備える方法。
［項目２］
非ＤＭＶＤ符号化ブロックの動きベクトルを予測する段階は、
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックを、非ＤＭＶＤ符号化ブロックの動きベクトル予測には利用不可なブロックとして扱う段階と、
１以上の隣接する非ＤＭＶＤ符号化ブロックの動きベクトルを利用して、非ＤＭＶＤ符号化ブロックの動きベクトルを予測する段階と
を有する項目１に記載の方法。
［項目３］
非ＤＭＶＤ符号化ブロックの動きベクトルを予測する段階は、
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する段階と、
算出された動きベクトルを用いて非ＤＭＶＤ符号化ブロックの動きベクトルを予測する段階と
を有する項目１に記載の方法。
［項目４］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する段階は、隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトルの重み付け平均を算出する段階を含む項目３に記載の方法。
［項目５］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する段階は、隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトルのメディアンフィルタリング値を算出する段階を含む項目３に記載の方法。
［項目６］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する段階は、隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルの重み付け平均を算出する段階を含む項目３に記載の方法。
［項目７］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する段階は、隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルのメディアンフィルタリング値を算出する段階を含む項目３に記載の方法。
［項目８］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する段階は、
（ａ）隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
（ｂ）隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
の重み付け平均を算出する段階を含む項目３に記載の方法。
［項目９］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する段階は、
（ａ）隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
（ｂ）隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
のメディアンフィルタリング値を算出する段階を含む項目３に記載の方法。
［項目１０］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する段階は、
ＤＭＶＤ符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行する段階と、
動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、最良の動きベクトル候補を選択する段階とを含む項目３に記載の方法。
［項目１１］
プロセッサと、
プロセッサと通信し、複数の処理命令を格納しているメモリと
を備えるシステムであって、
複数の処理命令は、プロセッサに対して、
ＤＭＶＤ符号化ブロックおよび非ＤＭＶＤ符号化ブロックを受信して、
ＤＭＶＤ符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定（ＭＥ）を実行して、
非ＤＭＶＤ符号化ブロックについて、受信したデータから非ＤＭＶＤ符号化ブロックの動きベクトルを予測して、受信したデータから動きベクトル差分を復元して、
ＤＭＶＤ符号化ブロックおよび非ＤＭＶＤ符号化ブロックを並列に復号するよう指示するシステム。
［項目１２］
プロセッサに対して非ＤＭＶＤ符号化ブロックの動きベクトルを予測するよう指示する複数の処理命令は、
プロセッサに対して、非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックを、非ＤＭＶＤ符号化ブロックの動きベクトル予測には利用不可なブロックとして扱うよう指示する処理命令と、
プロセッサに対して、１以上の隣接する非ＤＭＶＤ符号化ブロックの動きベクトルを利用して、非ＤＭＶＤ符号化ブロックの動きベクトルを予測するよう指示する処理命令とを含む
項目１１に記載のシステム。
［項目１３］
プロセッサに対して非ＤＭＶＤ符号化ブロックの動きベクトルを予測するよう指示する複数の処理命令は、
プロセッサに対して、非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出するよう指示する処理命令と、
プロセッサに対して、算出された動きベクトルを用いて非ＤＭＶＤ符号化ブロックの動きベクトルを予測するよう指示する処理命令と
を含む項目１１に記載のシステム。
［項目１４］
プロセッサに対して非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、プロセッサに対して、隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトルの重み付け平均を算出するよう指示する処理命令を含む項目１３に記載のシステム。
［項目１５］
プロセッサに対して非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、
プロセッサに対して、
隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトルのメディアンフィルタリング値を算出するよう指示する処理命令を含む
項目１３に記載のシステム。
［項目１６］
プロセッサに対して非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、
プロセッサに対して、
隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルの重み付け平均を算出するよう指示する処理命令を含む
項目１３に記載のシステム。
［項目１７］
プロセッサに対して非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、プロセッサに対して、隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルのメディアンフィルタリング値を算出するよう指示する処理命令を含む項目１３に記載のシステム。
［項目１８］
プロセッサに対して非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、プロセッサに対して、
（ａ）隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
（ｂ）隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
の重み付け平均を算出するよう指示する処理命令を含む項目１３に記載のシステム。
［項目１９］
プロセッサに対して非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、
プロセッサに対して、
（ａ）隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
（ｂ）隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
のメディアンフィルタリング値を算出するよう指示する処理命令を含む項目１３に記載のシステム。
［項目２０］
プロセッサに対して非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出するよう指示する複数の処理命令は、
プロセッサに対して、ＤＭＶＤ符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行するよう指示する処理命令と、
プロセッサに対して、動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、最良の動きベクトル候補を選択するよう指示する処理命令と
を含む項目１３に記載のシステム。
［項目２１］
コンピュータに、
ＤＭＶＤ符号化ブロックおよび非ＤＭＶＤ符号化ブロックを受信する手順と、
ＤＭＶＤ符号化ブロックについて、一の現在ピクチャに含まれる空間的に隣接する複数の再構成された画素を利用することなく、複数の基準ピクチャに含まれる時間的に隣接する複数の再構成された画素を利用して動き推定（ＭＥ）を実行する手順と、
非ＤＭＶＤ符号化ブロックについて、受信したデータから非ＤＭＶＤ符号化ブロックの動きベクトルを予測する手順、および、受信したデータから動きベクトル差分を復元する手順と、
ＤＭＶＤ符号化ブロックおよび非ＤＭＶＤ符号化ブロックを並列に復号す手順と
を実行させるプログラム。
［項目２２］
非ＤＭＶＤ符号化ブロックの動きベクトルを予測する手順は、
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックを、非ＤＭＶＤ符号化ブロックの動きベクトル予測には利用不可なブロックとして扱う手順と、
１以上の隣接する非ＤＭＶＤ符号化ブロックの動きベクトルを利用して、非ＤＭＶＤ符号化ブロックの動きベクトルを予測する手順と
を有する項目２１に記載のプログラム。
［項目２３］
非ＤＭＶＤ符号化ブロックの動きベクトルを予測する手順は、
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する手順と、
算出された動きベクトルを用いて非ＤＭＶＤ符号化ブロックの動きベクトルを予測する手順と
を有する項目２１に記載のプログラム。
［項目２４］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する手順は、隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトルの重み付け平均を算出する手順を有する項目２３に記載のプログラム。
［項目２５］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する手順は、隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトルのメディアンフィルタリング値を算出する手順を有する項目２３に記載のプログラム。
［項目２６］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する手順は、隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルの重み付け平均を算出する手順を有する項目２３に記載のプログラム。
［項目２７］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する手順は、隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックのスケーリングされた動きベクトルのメディアンフィルタリング値を算出する手順を有する項目２３に記載のプログラム。
［項目２８］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する手順は、
（ａ）隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
（ｂ）隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
の重み付け平均を算出する手順を有する項目２３に記載のプログラム。
［項目２９］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する手順は、
（ａ）隣接するＤＭＶＤ符号化ブロックに空間的に隣接する複数のブロックの動きベクトル、および、
（ｂ）隣接するＤＭＶＤ符号化ブロックに時間的に隣接する複数のブロックの動きベクトル
のメディアンフィルタリング値を算出する手順を有する項目２３に記載のプログラム。
［項目３０］
非ＤＭＶＤ符号化ブロックに隣接するＤＭＶＤ符号化ブロックの動きベクトルを算出する手順は、
ＤＭＶＤ符号化ブロックの最良の動きベクトル候補を狭い範囲内で検索することによって、候補を利用した高速動き推定を実行する手順と、
動きベクトル候補によって差分絶対値の合計が最小値となるか否かに基づいて、最良の動きベクトル候補を選択する手順とを含む
項目２３に記載のプログラム。
【図１】
0005721851.tif 000002
【図２】
0005721851.tif 000003
【図３】
0005721851.tif 000004
【図４】
0005721851.tif 000005
【図５】
0005721851.tif 000006
【図６】
0005721851.tif 000007
【図７】
0005721851.tif 000008
【図８】
0005721851.tif 000009
【図９】
0005721851.tif 000010
【図１０】
0005721851.tif 000011
【図１１】
0005721851.tif 000012