(57)【特許請求の範囲】
【請求項１】
符号化ユニットの映像符号化時に局所的多重仮説予測を行う方法であって、
上記符号化ユニットを複数のサブ符号化ユニットに分割する分割工程と、
上記各サブ符号化ユニットを処理する処理工程とを含み、
上記処理工程は、
上記サブ符号化ユニットのうちの特定のサブ符号化ユニットの多重仮説動き補正のために符号化済みユニットの第１セットの動き情報を取得する取得工程と、
符号化済みユニットの上記第１セットの動き情報から得られる複数の画素値の線形結合を上記特定のサブ符号化ユニットの予測画素値として用いる利用工程と、
符号化済みユニットの上記第１セットに含まれない少なくとも１つの符号化済みユニットを含む符号化済みユニットの第２セットの動き情報を用いて、上記符号化ユニットにおける他のサブ符号化ユニットの予測画素値を算出する算出工程とを含み、
上記処理工程において、複数セットの動きベクトルから１セットの動きベクトルを符号化済みユニットの上記第１セットの動き情報として動的に選択し、選択した上記動きベクトルのセットを用いて上記特定のサブ符号化ユニットの上記予測画素値を取得することを特徴とする方法。
【請求項２】
上記利用工程において、上記複数の画素値の重み付け合計を上記特定のサブ符号化ユニットの予測画素値として用いることを特徴とする請求項１に記載の方法。
【請求項３】
上記利用工程において、現在の画素の実際の画素値に対応する複数の画素値に最適化ウィーナーフィルタリング処理を行うことにより上記複数の画素についての重み付けパラメータを調整して上記重み付け合計を生成することを特徴とする請求項２に記載の方法。
【請求項４】
符号化済みユニットの上記第１セットの動き情報は、動きベクトル、参照フレームインデックス、および予測方向のうちのいずれか１つ、または２つ以上の組み合わせを少なくとも含むことを特徴とする請求項１に記載の方法。
【請求項５】
符号化済みユニットの上記第１セットの動き情報は、単一のサブ符号化ユニットまたは単一の符号化ユニットから得られる複数の動きベクトルを含むことを特徴とする請求項４に記載の方法。
【請求項６】
上記処理工程は、少なくとも１つの動きベクトルの極端な値を廃棄し、複数の動きベクトルのうちの残りの部分を符号化済みユニットの上記第１セットの動き情報として選択する選別工程を含むことを特徴とする請求項１に記載の方法。
【請求項７】
上記複数セットの動きベクトルは、時間的な動きベクトルからなる第１セットの動きベクトルと、空間的な動きベクトルからなる第２セットの動きベクトルとを含むことを特徴とする請求項１に記載の方法。
【請求項８】
上記処理工程において、複数セットの動きベクトルから１セットの動きベクトルを動的に選択し、明示されるフラグに基づいて、選択した動きベクトルのセットを符号化済みユニットの上記第１セットの上記動き情報として用いることを特徴とする請求項１に記載の方法。
【請求項９】
上記分割工程において、上記特定のサブ符号化ユニットのサイズを、上記符号化ユニットの映像符号化に関する変換サイズに設定することを特徴とする請求項１に記載の方法。
【請求項１０】
上記分割工程において、少なくとも１つの隣接する符号化ユニットの少なくとも１つのモードに基づいて上記符号化ユニットを複数のサブ符号化ユニットに分割することを特徴とする請求項１に記載の方法。
【請求項１１】
上記分割工程において、少なくとも１つの隣接する符号化ユニットの内容または分割部分に基づいて上記符号化ユニットを複数のサブ符号化ユニットに分割することを特徴とする請求項１に記載の方法。
【請求項１２】
上記符号化ユニットは、少なくとも１つの空間的に符号化されたサブ符号化ユニットまたは符号化ユニット、および／または、少なくとも１つの時間的に符号化されたサブ符号化ユニットまたは符号化ユニットを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
上記処理工程は、上記特定のサブ符号化ユニットの予測画素値を得るために、レート歪み最適化処理を用いた動き評価処理によって上記符号化ユニットの少なくとも１つの動きベクトルを取得する工程を含むことを特徴とする請求項１に記載の方法。
【請求項１４】
上記処理工程において、上記動き情報を取得するときに、各サブ符号化ユニットについての参照動きベクトルを指定することを特徴とする請求項１に記載の方法。
【請求項１５】
他の符号化ユニットにおけるサブ符号化ユニットの動きベクトルを用いている上記参照動きベクトルを指定することを特徴とする請求項１４に記載の方法。
【請求項１６】
符号化ユニットの映像符号化時に局所的な多重仮説予測を行う装置であって、
上記符号化ユニットに映像符号化を行う処理回路を備え、
上記処理回路は、
上記符号化ユニットを複数のサブ符号化ユニットに分割し、複数の上記サブ符号化ユニットのうちの特定のサブ符号化ユニットに多重仮説動き補正処理を行うために符号化済みユニットの第１セットの動き情報を取得し、上記動き情報に応じて上記特定のサブ符号化ユニットに多重仮説動き補正を施し、符号化済みユニットの上記第１セットの動き情報から得られる複数の画素値の線形結合を上記特定のサブ符号化ユニットの予測画素値として用いる処理を各サブ符号化ユニットに対して行う予備処理部と、
上記予備処理部によって実行された上記多重仮説動き補正に基づいて上記符号化ユニットの映像符号化を行う少なくとも１つの符号化部とを備え、
上記予備処理部は、符号化済みユニットの上記第１セットには含まれない符号化ユニットを少なくとも１つ含む符号化済みユニットの第２セットの動き情報を用いて上記符号化ユニットにおける他のサブ符号化ユニットの予測画素値を算出し、
上記処理回路は、複数セットの動きベクトルから１セットの動きベクトルを符号化済みユニットの上記第１セットの動き情報として動的に選択し、選択した上記動きベクトルのセットを用いて上記特定のサブ符号化ユニットの上記予測画素値を取得することを特徴とする装置。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
〔関連出願の相互参照〕
本出願は、ＵＳ仮出願Ｎｏ．６１／３２３，９４８（２０１０年４月１４日出願、発明の名称：映像符号化における多重仮説予測）に基づく優先権を主張するものであり、当該出願に記載された内容を含むものである。また、本出願は、ＵＳ出願Ｎｏ．１３／０８０６６８（２０１１年４月６日出願、発明の名称：符号化ユニットの映像符号化時に局所的多重仮説予測を行う方法および装置）に基づく優先権を主張するものであり、当該出願に記載された内容を含むものである。
【０００２】
〔技術分野〕
本発明は、映像の動き補償に関するものである。より具体的には、符号化ユニットの映像符号化時に局所的多重仮説予測（localized multihypothesis prediction）を行う方法および装置に関する。
【０００３】
〔背景技術〕
動き補償は、映像の圧縮，解凍のための映像データの符号化，復号化において用いられる技術である。動き補償のために、現在の画像が１または複数の参照画像に部分的に置き換えて表される。参照画像は、現在より時間的に前である場合もあれば現在より時間的に後である場合もある。典型的には、動き補償が用いられる場合、画像は予め送信または保存された画像と精密に合成されて圧縮効率が改善される。符号化技術の進歩に伴い、新たな基準に関する設計が導入された。しかしながら、新たな基準においては、必ずしも従来の動き補償スキームが適切に機能しない。例えば、符号化効率が低下する場合がある。このため、映像符号化の符号化効率を向上させるための新たな方法が求められている。
【０００４】
〔発明の概要〕
本発明は、上記の問題点を解決するためになされたものであり、その目的は、符号化ユニットの映像符号化時に局所的多重仮説予測を行う方法および装置を提供することにある。
【０００５】
符号化ユニットの映像符号化時に局所的多重仮説予測を行う本発明の典型的な実施例は、上記符号化ユニットを複数のサブ符号化ユニットに分割する分割工程と、上記各サブ符号化ユニットを処理する処理工程とを含む。より具体的には、上記処理工程は、上記サブ符号化ユニットのうちの特定サブ符号化ユニットの多重仮説動き補償のために符号化済みユニットの第１セットの動き情報を取得する取得工程と、符号化済みユニットの上記第１セットの動き情報から得られる複数の画素値の線形結合を上記特定サブ符号化ユニットの予測画素値として用いる利用工程と、符号化済みユニットの上記第１セットに含まれない少なくとも１つの符号化済みユニットを含む符号化済みユニットの第２セットの動き情報を用いて、上記符号化ユニットにおける他のサブ符号化ユニットの予測画素値を算出する算出工程とを含む。
【０００６】
また、符号化ユニットの映像符号化時に局所的な多重仮説予測を行う装置の本発明の典型的な実施例は、上記符号化ユニットに映像符号化を行う処理回路を備え、上記処理回路は、予備処理部を含む。上記予備処理部は、上記符号化ユニットを複数のサブ符号化ユニットに分割し、各サブ符号化ユニットに対する処理を行う。より具体的には、上記予備処理部は、複数の上記サブ符号化ユニットのうちの特定サブ符号化ユニットに多重仮説動き補償処理を行うために符号化済みユニットの第１セットの動き情報を取得し、上記動き情報に応じて上記特定サブ符号化ユニットに多重仮説動き補償を施し、符号化済みユニットの上記第１セットの動き情報から得られる複数の画素値の線形結合を上記特定サブ符号化ユニットの予測画素値として用いる。さらに、上記予備処理部は、符号化済みユニットの上記第１セットには含まれない符号化ユニットを少なくとも１つ含む符号化済みユニットの第２セットの動き情報を用いて上記符号化ユニットにおける他のサブ符号化ユニットの予測画素値を算出する。
【０００７】
また、符号化ユニットの映像符号化時に局所的多重仮説予測を行う本発明の他の典型的な実施例は、上記符号化ユニットを複数のサブ符号化ユニットに分割する分割工程と、上記各サブ符号化ユニットを処理する処理工程とを含む。より具体的には、上記処理工程は、上記サブ符号化ユニットのうちの特定サブ符号化ユニットの多重仮説動き補償のために複数の符号化済みユニットの動き情報を取得する取得工程と、上記符号化済みユニットの上記動き情報から得られる複数の画素値の重み付け合計を上記特定サブ符号化ユニットの予測画素値として用いる利用工程と、上記符号化済みユニットの上記動き情報から得られる上記画素値の他の重み付け合計を用いることにより上記符号化ユニットにおける他のサブ符号化ユニットの予測画素値を算出する算出工程とを含む。
【０００８】
本発明の上述した目的および他の目的は、後述する図示された好ましい実施例の詳細な説明により、当業者に明らかになるであろう。
【０００９】
〔図面の簡単な説明〕
図１Ａは、本発明の一実施例にかかる、符号化ユニットの映像符号化時に局所的多重仮説予測を行う装置を示す図である。
【００１０】
図１Ｂは、図１Ａに示した装置に備えられるインター／イントラ予測部を示す図である。
【００１１】
図１Ｃは、図１Ｂに示した多重仮説インター予測回路の多重仮説動き補償処理を示す図である。
【００１２】
図２は、本発明の一実施例にかかる、符号化ユニットの映像符号化時に局所的多重仮説予測を行う方法のフローチャートである。
【００１３】
図３は、図２に示した方法における符号化済みブロックの例を示す図である。
【００１４】
図４は、図２に示した方法において行われる処理の詳細を示す図である。
【００１５】
図５Ａ〜図５Ｄは、図２に示した方法において行われる多重仮説予測の詳細を示す図である。
【００１６】
図６Ａ〜図６Ｂは、図２に示した方法において行われる動き情報の取得処理を示す図である。
【００１７】
図７Ａ〜図７Ｂは、それぞれ、図２に示した方法における、時間動きベクトルＭＶｓおよび空間動きベクトルＭＶｓを示す図である。
【００１８】
図８Ａ〜図８Ｃは、図２に示した方法において行われる動きベクトルの取得処理を示す図である。
【００１９】
図９は、図２に示した方法において行われる処理を示す図である。
【００２０】
図１０は、図２に示した方法において行われる処理を示す図である。
【００２１】
図１１は、図２に示した方法において行われる処理を示す図である。
【００２２】
〔詳細な説明〕
以下に示す説明および請求項の全体にわたって、特定の部材に同じ用語を用いる。電子機器メーカーによって同じ部材が異なる名称で呼ばれる場合があることは当業者であれば理解できるであろう。本明細書は、機能ではなく名称によって部材を識別することを意図するものではない。以下に示す説明および請求項において、「〜を含む」あるいは「〜を備えている」という用語は、非制限的な用法で用いられるものであり、「〜」のみを構成要素とすることを示すものではない。また、「接続する」という用語は、電気的に直接接続されている場合と、電気的に間接的に接続されている場合のいずれの場合も含む。ある装置が他の装置と接続されている場合、その接続は、電気的に直接接続されているものであってもよく、他の装置あるいは他の接続を介して間接的に接続されているものであってもよい。
【００２３】
図１は、本発明の一実施形態にかかる、符号化ユニットの映像符号化時に局所的多重仮説予測を行うための装置１００の構成を示す図である。上記装置１００は、インター／イントラ予測部１１０（図１Ａの「インター／イントラ予測部」）、演算部１２０、変換・量子化部１３０（図１Ａの「変換・量子化部」）、エントロピー符号化回路１４０（図１Ａの「エントロピー符号化部」）、逆変換・逆量子化部１５０（図１Ａの「逆変換・逆量子化部」）、復元回路１６０（図１Ａの「ＲＥＣ」）、デブロッキングフィルタ１７０、およびフレームバッファ１８０を備えている。図１Ｂに示すように、インター／イントラ予測部１１０は、多重仮説インター予測回路１１２（図１Ｂの「多重仮説予測部」）、インター予測回路１１４（図１Ｂの「インター予測部」）、イントラ予測回路１１６（図１Ｂの「イントラ予測部」）、および切替回路１１８を備えている。
【００２４】
図１Ａに示した装置１００は、オリジナル信号１０９の映像符号化処理を行い、符号化結果を反映した出力信号（エントロピー符号化回路１４０の出力）を生成する。例えば、オリジナル信号１０９は符号化ユニットの入力映像搬送データであってもよく、エントロピー符号化回路１４０の出力はビットストリームであってもよい。また、インター／イントラ予測部１１０は、インター／イントラ予測を行うように構成されている。具体的には、インター／イントラ予測部１１０は、図１Ｂに示すように、多重仮説インター予測を行う多重仮説インター予測回路１１２と、インター予測を行うインター予測回路１１４と、イントラ予測を行うイントラ予測回路１１６とを備えている。
【００２５】
図１Ａに示すように、演算部１２０は、オリジナル信号１０９（例えば符号化ユニットの入力映像搬送データ）からインター／イントラ予測部１１０によって生成された予測信号１１９を減算する処理などの演算処理を行う。また、変換・量子化部１３０、エントロピー符号化回路１４０、逆変換・逆量子化部１５０、および復元回路１６０は、それぞれ、変換・量子化処理、エントロピー符号化処理、逆変換・逆量子化処理、復元処理を行う。その結果、復元回路１６０により、復元処理の結果を含む仮の復元信号１６９が生成される。また、デブロッキングフィルタ１７０が復元信号１６９にデブロッキングフィルタリング処理を施し、その次に符号化する画像のイントラ予測のためにフレームバッファ１８０に格納するデブロッキングデータを生成するためのデブロッキング信号１７９を生成する。また、インター／イントラ予測部１１０は、仮の復元信号１６９、および再入力信号１８９によって搬送される前回復号された画像のデブロッキングデータにアクセス可能である。なお、上記の説明は、単に実施例を示したものであって、本発明を限定するためのものではない。この実施例の変形例として、状況に応じてデブロッキングフィルタ１７０およびデブロッキングフィルタリング処理を省略し、仮の復元信号１６９によって搬送される復元処理結果をフレームバッファ１８０に記憶させ、インター／イントラ予測部１１０が現在の符号化画像の仮の復元信号１６９と、再入力信号１８９に含まれる前回の符号化画像の復元結果とにアクセスできるようにしてもよい。
【００２６】
図１Ｂに示したように、多重仮説インター予測回路１１２は、オリジナル信号１０９と再入力信号１８９に含まれる前回の符号化画像の復元結果とに基づいて多重仮説インター予測を行い、多重仮説インター予測出力１１３を生成する。インター予測回路１１４は、オリジナル信号１０９と再入力信号１８９に含まれる前回の符号化画像の復元結果とに基づいてインター予測を行い、インター予測出力１１５を生成する。イントラ予測回路１１６は、オリジナル信号１０９と仮の復元信号１６９とに基づいてイントラ予測を行い、イントラ予測出力１１７を生成する。切替回路１１８は、多重仮説インター予測出力１１３、インター予測出力１１５、およびイントラ予測出力１１７のうちのいずれか１つを上述した予測信号１１９として動的に選択する。
【００２７】
実際上、上記装置１００の少なくとも一部（一部または全部）はハードウェア回路を用いることによって実現される。例えば、上記装置１００は、符号化ユニットの映像符号化を行う処理回路によって実現できる。上記処理回路は、インター／イントラ予測部１１０を含んでいてもよく、さらに、演算部１２０、変換・量子化部１３０、エントロピー符号化回路１４０、逆変換・逆量子化部１５０、復元回路１６０、およびデブロッキングフィルタ１７０の少なくとも１つを含む予備処理部を含んでいてもよい。より具体的には、上記装置１００における１または複数の部材は、デジタル信号処理技術を用いて実装することができる。なお、上記の説明は単に実施例を示したものにすぎず、本発明を限定するものではない。この実施例の変形例として、上記装置１００の少なくとも一部をソフトウェアおよび／またはファームウェアによって実現してもよい。例えば、上記処理回路は、複数のプログラムコードを実行するプロセッサであってもよい。上述した処理回路と同じあるいは同様の処理を行うためのプログラムコードの第１部分を実行し、上述した符号化部と同じあるいは同様の処理を行うプログラムコードの第２部分を実行するものであってもよい。
【００２８】
上記装置１００の少なくとも一部（一部または全部）がハードウェア回路によって実現されるかソフトウェアによって実現されるかは問題ではなく、上記装置１００は、符号化ユニットの映像符号化を行う能力を有していればよい。例えば、上記符号化ユニットは、マクロブロック（ＭＢｓ；macroblocks）であってもよい。あるいは、上記符号化ユニットは、予め定められた最大の符号化ユニット（ＬＣＵ；largest coding unit）と、予め定められた最小の符号化ユニット（ＳＣＵ；smallest coding unit）との間のサイズを有する符号化ユニットであってもよい。画像は、まず複数のＬＣＵに分割され、最終的な符号化ユニットになるまで各ＬＣＵはより小さい符号化ユニットに適応するように分割される。この実施例では、上述した予備処理部が、上述した符号化ユニットを複数のサブ符号化ユニット（例えば、正方形あるいは非正方形などのさまざまな種類の部分）に分割し、各サブ符号化ユニットについて予測を行う。より具体的には、上記予備処理部は、各サブ符号化ユニットに対して、インター予測、イントラ予測、あるいは多重仮説動き補償を行う。特定サブ符号化ユニットについて多重仮説動き補償が選択された場合、上記予備処理部は、複数の異なる符号化ユニットに応じて得られる複数の画素値の線形結合を計算し、その計算結果を当該サブ符号化ユニットの画素値の予測値とする。上記の複数の符号化ユニットは、符号化済みサブ符号化ユニットであってもよく、符号化済み符号化ユニットであってもよく、それらの組み合わせであってもよい。また、上述した少なくとも１つの符号化装置は、上記処理回路によって実行される多重仮説動き補償に基づいて符号化ユニットの映像符号化を実行するものであってもよい。
【００２９】
図１Ｃは、本発明の一実施例に基づいて図１Ａに示したインター／イントラ予測部１１０で行われる多重仮説動き補償処理を示す図である。この実施例におけるＦ（ｔ０−３）、Ｆ（ｔ０−２）、Ｆ（ｔ０−１）、およびＦ（ｔ０）という表現は、連続するフレーム群｛Ｆ（ｔ）｝を示している。フレームＦ（ｔ０）は現在のフレームである。現在のフレームＦ（ｔ０）は、複数の符号化ユニット｛ＣＵ（ｔ０）｝を含んでいる。また、符号化ユニットＣＵ（ｔ０）は、複数のサブ符号化ユニット｛ＳｕｂＣＵ（ｔ０）｝を含んでいる。上述した処理回路は、それぞれ、他の複数のサブ符号化ユニット／符号化ユニットから動き情報（例えば動きベクトル群｛ｖｋ｝）を取得する。すなわち、上記予備処理部は、特定サブ符号化ユニットの多重仮説動き補償を行うために、複数のサブ符号ユニット／符号化ユニットの動きベクトル（上述した動きベクトル群｛ｖｋ｝）を用いる。この実施例によれば、上記予備処理部は、図１Ｃに示したサブ符号化ユニット（ＳｕｂＣＵ（ｔ０））などの特定サブ符号化ユニットに複数の動きベクトル｛ｖｋ｝に応じた多重仮説動き補償を行うことができる。
【００３０】
一般に、上記予備処理部は、複数の他のサブ符号化ユニット／符号化ユニットの動き情報によって得られる複数の参照画素値｛Ψｒ｝の線形結合を計算する。上記線形結合は、特定サブ符号化ユニットの予測画素値Ψｐである。例えば、符号化済みユニットの符号化情報の第１セットは、動きベクトル、参照フレームインデックス、および予測方向のうちの１または複数を含み、より具体的には、単一のサブ符号化ユニット／符号化ユニットに由来する複数の動きベクトルを含む。他の実施例として、上記動き情報は、動きベクトル、参照フレームインデックス、予測方向、あるいはこれらの組み合わせであってもよい。後述する実施例では、動き情報の例として動きベクトルを用いる。なお、上記の線形結合は、複数の参照画素値に重み付けをして合計したものであってもよい。すなわち、上記予備処理部は、特定サブ符号化ユニットの予測画素値として、複数の画素値を重み付けして合計した値を用いてもよい。例えば、予測画素値Ψｐを有する特定の予測済み画素がｉ番目のサブ符号化ユニット（例えば図１Ｃに示したサブ符号化ユニットＳｕｂＣＵ（ｔ０））に属し、位置ｘ（例えば現在のフレームＦ（ｔ０）の画像平面における２次元ベクトルなどのベクトルによって示される位置）に位置する場合、上記予測画素値ΨｐはΨｐ（ｉ，ｘ）と表現することもでき、さらに、Ψｐ（ｉ，ｘ）は下記式（１）によって表現できる。
【００３１】
【数１】
0005211263.tif 000002
【００３２】
ここで、指数ｋは、セットＫの範囲内で変化する値であり、ｈｋ（ｉ，ｘ）は指数ｋに関連する重み付けパラメータを示す。例えば、ｋが取り得る値が１以上である場合、複数の重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝の合計は、簡単のために１としてもよい。
【００３３】
図１Ｃに示したように、動きベクトル群｛ｖｋ｝は現在のフレームＦ（ｔ０）内における他の符号化ユニットのサブ符号化ユニットＡ，Ｂの動きベクトルｖＡ，ｖＢを含んでいてもよい。さらに、他のフレーム（例えばフレームＦ（ｔ０−１））の符号化ユニットＣＵ（ｔ０−１）におけるサブ符号化ユニットＴの動きベクトルｖＴを含んでいてもよい。
例えば、符号化ユニットがブロックの場合、符号化ユニットＣＵ（ｔ０−１）は符号化ユニットＣＵ（ｔ０）に対応する位置のブロックであってもよい。その結果、複数の重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝を動きベクトル群｛ｖｋ｝によって得られた複数の参照画素値｛Ψｒ｝に適用することにより、上記予備処理部は、動きベクトル群｛ｖｋ｝（例えばｖＡ、ｖＢ，およびｖＴなど）によって示される部分画像を混合／ミックスすることで重み付け合計画像を生成し、この重み付け合計画像を特定サブ符号化ユニット（例えば図１Ｃに示したサブ符号化ユニットＳｕｂＣＵ（ｔ０）など）の予測部分画像として用いることができる。上述した処理の詳細については図２に示されている。
【００３４】
図２は、本発明の一実施形態にかかる、符号化ユニットの映像符号化時に局所的多重仮説予測を行うための方法９１０のフローチャートである。上記の方法９１０は、図１Ａに示した装置１００、より具体的には上述した処理回路に適用される。上記方法の詳細は以下の通りである。
【００３５】
ステップ９１２において、上述した処理回路は、符号化ユニットＣＵ（ｔ０）（例えば処理対象の符号化ユニット）を複数のサブ符号化ユニット（例えばサブ符号化ユニット群｛ＳｕｂＣＵ（ｔ０）｝）に分割し、各サブ符号化ユニット｛ＳｕｂＣＵ（ｔ０）｝に対して予測を行う。具体的には、上記予備処理部は、複数のサブ符号化ユニット｛ＳｕｂＣＵ（ｔ０）｝のうちの特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の多重仮説動き補償のために上述した複数の他の符号化済みユニット（例えば、上記複数の他のサブ符号化ユニット／符号化ユニットは、符号化ユニットＣｕ（ｔ０）における他のサブ符号化ユニット、少なくとも１つの他の符号化ユニットにおけるサブ符号化ユニット、および／または他の符号化ユニットなどの、複数の他のサブ符号化ユニット／符号化ユニット）から上述した動きベクトル群｛ｖｋ｝などの動き情報を取得する。本実施形態では、図３に示すように、符号化ユニットＣｕ（ｔ０）は処理対象のブロック（図３における「処理対象ブロック」）であってもよく、特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）はサブブロックＳＢであってもよい。図３における陰影をつけた部分は符号化済みユニット／符合化済みブロック群｛ＣＢ｝の少なくとも一部を示している。図３に示したように、符号化済みブロック群｛ＣＢ｝は左側符号化済みブロックＣＢＬ、左上側符号化済みブロックＣＢＵＬ、上側符号化済みブロックＣＢＵ、および右上側符号化済みブロックＣＢＵＲを含んでいる。例えば、動きベクトル群｛ｖｋ｝は、左側符号化済みブロックＣＢＬ、左上側符号化済みブロックＣＢＵＬ、上側符号化ブロック済みＣＢＵ、および右上側符号化済みブロックＣＢＵＲのうちの１または複数の少なくとも一部（一部または全部）の動きベクトルを含んでいてもよい。
【００３６】
ステップ９１４において、上述した予備処理部は、上記の特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）に対し、上記の動きベクトル群｛ｖｋ｝に基づく多重仮説予測動き補償を行う。具体的には、上記予備処理部は、ステップ９１２で説明した複数の他の符号化済みユニット（例えば複数の他のサブ符号化ユニット／符号化ユニット）の複数の画素値の線形結合（例えば、上述した複数の他の符号化済みユニットに含まれる参照画素の参照画素値｛Ψｒ｝の線形結合）を、特定サブ符号化ユニットの予測画素値ΨＰとして用いる。例えば、各符号化ユニット（例えば符号化ユニットＣＵ（ｔ０））はブロックであってもよい。より具体的には、拡張マイクロブロック、マイクロブロック、あるいはマイクロブロックの一部などの画素のアレイを含むブロックであってもよい。したがって、サブ符号化ユニットはサブブロックと称することもできる。本実施形態では、図３に示したように、上記予備処理部が、処理対象のブロック（図３に示した「処理対象ブロック」）に上述した動きベクトル群｛ｖｋ｝に応じた多重仮説動き補償を行う。上記予備処理部は、符号化済みブロック｛ＣＢ｝（例えば左側符号化ブロックＣＢＬ、左上側符号化ブロックＣＢＵＬ、上側符号化ブロックＣＢＵ、および右上側符号化ブロックＣＢＵＲのうちの１または複数）の少なくとも一部（一部または全部）に含まれる参照画素の参照画素値｛Ψｒ｝を混合／ミックスする。この実施例では、符号化済みブロック群｛ＣＢ｝は動き補償されたブロックであってもよい。
【００３７】
本実施形態では、上記予備処理部は、ステップ９１２で説明した各サブ符号化ユニットを処理するようになっている。例えば、上記予備処理部は、ステップ９１２で説明したサブ符号化ユニット（例えば特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）など）における第１サブ符号化ユニットの多重仮説動き補償のために、符号化済みユニットの第１セットの動き情報を取得し、取得した上記動き情報に応じて上記の第１サブ符号化ユニット（例えば上記動き情報に応じた特定サブ符号化ユニット）に多重仮説動き補償を行う。より具体的には、上記予備処理部は、符号化済みユニットの第１セットの動き情報に由来する複数の画素値の線形結合を第１サブ符号化ユニット（例えば上記の特定サブ符号化ユニット）の予測画素値として用いる。また、上述した少なくとも１つの符号化部は、上記予備処理部によって行われた多重仮説動き補償の結果に基づいて符号化ユニットの映像符号化を行う。また、上記予備処理部は、上記符号化ユニットにおける他のサブ符号化ユニット（例えばステップ９１２で説明したサブ符号化ユニットのうち、第１サブ符号化ユニットとは異なる第２サブ符号化ユニット）の予測画素値を符号化済みユニットの第２セットの動き情報を用いて算出する。
【００３８】
上記第１サブ符号化ユニットに関し、上記符号化済みユニットの第１セットは、符号化ユニットＣＵ（ｔ０）における他のサブ符号化ユニット（すなわち、符号化ユニットＣＵ（ｔ０）におけるサブ符号化ユニットのうち第１サブ符号化ユニットを除くサブ符号化ユニット）、１または複数の他の符号化ユニットに含まれるサブ符号化ユニット（すなわち、符号化ユニットＣＵ（ｔ０）とは異なる１または複数の符号化ユニットに含まれるサブ符号化ユニット）、および／または、他の符号化ユニット（すなわち、符号化ユニットＣＵ（ｔ０）とは異なる１または複数の符号化ユニット）を含んでいてもよい。また、上記第２サブ符号化ユニットに関し、上記符号化済みユニットの第２セットは、当該符号化ユニットＣＵ（ｔ０）における他のサブ符号化ユニット（すなわち、符号化ユニットＣＵ（ｔ０）におけるサブ符号化ユニットのうち第２サブ符号化ユニットを除くサブ符号化ユニット）、１または複数の他の符号化ユニットに含まれるサブ符号化ユニット（すなわち、符号化ユニットＣＵ（ｔ０）とは異なる１または複数の符号化ユニットに含まれるサブ符号化ユニット）、および／または、他の符号化ユニット（すなわち、符号化ユニットＣＵ（ｔ０）とは異なる１または複数の符号化ユニット）を含んでいてもよい。なお、符号化済みユニットの第２セットは、符号化済みユニットの第１セットに含まれない符号化ユニットを少なくとも１つ含んでいる。上記の説明は実施の一例にすぎず、本発明を限定することを意図したものではない。本実施形態の変形例として、上記符号化済みユニットの第１セットおよび第２セットは、同じ符号化済みユニットであってもよい。この場合、上記予備処理部は、第１サブ符号化ユニットおよび第２符号化ユニットのそれぞれの予測画素値として、同じ符号化済みユニットのセットの動き情報から得られる複数の画素値の異なる線形結合を用いる。例えば、上記予備処理部は、第１サブ符号化ユニットの予測画素値として複数の画素値に対する重み付けパラメータの第１セットに応じた第１線形結合を用い、第２サブ符号化ユニットの予測画素値として複数の画素値に対する重み付けパラメータの第２セットに応じた第２線形結合を用いる。他の実施例として、上記予備処理部が、符号化済みユニットの第１セットの動き情報から得られた複数の画素値の第１重み付け合計を第１のサブ符号化ユニット（特定サブ符号化ユニット）の予測画素値として用い、符号化済みユニットの同じセット（すなわち符号化済みユニットの第１セット）の動き情報から得られる上記画素値の第２重み付け合計（第１重み付け合計とは異なる第２重み付け合計）を用いて第２サブ符号化ユニットの予測画素値を算出するようにしてもよい。
【００３９】
図３に示した実施例の変形例として、ステップ９１２で説明した他の符号化済みユニットのそれぞれが符号化済みのサブ符号化ユニット／符号化ユニットであってもよい。例えば、上記変形例は、ステップ９２１で説明した複数の他の符号化済みユニットが、空間的に符号化されたサブ符号化ユニット／符号化ユニット（例えば、現在のフレームＦ（ｔ０）における１または複数の符号化済みブロック｛ＣＢ｝、処理中のブロック内あるいは符号化済みブロック内における１または複数の符号化済みサブブロック、および／または、少なくとも１つの仮に符号化されたサブ符号化ユニット／符号化ユニット（例えば、現在のフレームＦ（ｔ０）とは異なる他のフレームにおける１または複数の符号化済みサブ符号化ブロック／符合化済みブロック））のうちの少なくとも１つを含んでいてもよい。他の変形例として、ステップ９１２で説明した他の符号化済みユニットのそれぞれは、動き補償されたサブ符号化ユニット／符号化ユニットであってもよい。これらの各変形例により、動き情報から動きベクトル群｛ｖｋ｝が得られる。
【００４０】
図４は、図２に示した方法９１０の詳細な実施例を示す図である。この実施例では、上記予備処理部は、ステップ９１４で説明した複数の画素値の重み付け合計（例えば上記数式（１）の右辺）を、特定サブ符号化ユニット（例えば図４に示したｉ番目のサブクロックｂｉ）の予測画素値ΨＰとして用いる。理解しやすいように、符号化済みブロックＣＢＬ，ＣＢＵＬ、ＣＢＵ、およびＣＢＵＲについては図３に示した例と同様とする。例えば、予測画素値ΨＰを算出するための複数の参照画素の参照画素値｛Ψｒ｝は、符号化済みブロックＣＢＬ，ＣＢＵＬ、ＣＢＵ、およびＣＢＵＲのうちの１または複数のブロックから得られる。また、動きベクトル群｛ｖｋ｝は、符号化済みブロックＣＢＬ，ＣＢＵＬ、ＣＢＵ、およびＣＢＵＲの動きベクトルｖＬ，ｖＵＬ，ｖＵ、およびｖＵＲを含む。
【００４１】
より具体的には、各サブブロック（例えば図４に示したｉ番目のサブブロックｂｉ）について、符号化済みブロック群｛ＣＢ｝内の参照画素の参照画素値｛Ψｒ｝を混合／ミックスすることによって予測画素値（例えば予測画素値ΨＰ（ｉ，ｘ））を取得する。予測画素値ΨＰ（ｉ，ｘ）は上記式（１）によって表される。上記式（１）における指数ｋは、上記セットＫの範囲内で変化する値である。また、ｖｋおよびｈｋ（ｉ，ｘ）は、ｋ番目の参照動きベクトルおよびそれに対応する重み付けパラメータをそれぞれ示している。例えば、ｂｉ∈ＢｍおよびＢｍは、処理中のブロック（図４に示した「処理対象ブロック」）のセットを示している。図４に示したように、動きベクトル群｛ｖｋ｝に含まれる典型的な動きベクトルｖｋは、符号化済みブロックＣＢＵの範囲内に示されている。このことは、動きベクトル群｛ｖｋ｝が符号化済みブロックＣＢＵの動きベクトルｖＵを含むことを意味している。
【００４２】
図４に示した実施例の変形例として、上記予備処理部が、複数の画素値（例えば複数の参照画素値｛Ψｒ｝）についての各重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝を調整し、重み付け合計（すなわち、この変形例における上記式（１）の右辺）を生成するために、複数の画素値（例えば、処理中の現在の画素の実際の画素値ΨＲＥＡＬ（ｉ，ｘ）に関連する複数の参照画素値｛Ψｒ｝）に最適化ウィーナーフィルタリング（optimum Wiener filtering）を行うようにしてもよい。例えば、上記重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝は、上記予備処理部内において下記式（２）に示す最適化ウィーナーフィルターを用いることによって得ることができる。
【００４３】
【数２】
0005211263.tif 000003
【００４４】
ここで、重み付けパラメータ群｛ｈｋ（ｉ，ｘ）｝は、上記予備処理部によって行われる最適化ウィーナーフィルタリング処理時に下記式（３）の最小値に対応する（ｈ０＊，・・・，ｈＫ＊）のセットを検索することによって得られる。
【００４５】
【数３】
0005211263.tif 000004
【００４６】
上記の説明は本発明の一実施例にすぎず、本発明を限定することを意図したものではない。図４に示した実施例の変形例として、上記予備処理部が、重み付け合計（この変形例における上記式（１）の右辺）を生成するために、１または複数の隣接する符号化ユニットの内容（例えば、符号化済みブロックＣＢＬ，ＣＢＵＬ、ＣＢＵ、およびＣＢＵＲのうちの１または複数の内容）に応じて複数の画素値についての各重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝を決定するようにしてもよい。図４に示した実施例の他の変形例として、上記予備処理部が、重み付け合計（この変形例における上記式（１）の右辺）を生成するために、ステップ９１２で説明した複数の他の符号化済みユニット（例えば上記符号化済みユニットの第１セット）の内容に応じて複数の画素値についての各重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝を決定するようにしてもよい。
【００４７】
図４に示した実施例の変形例として、上記予備処理部が、重み付け合計（この変形例における上記式（１）の右辺）を生成するために、オフライントレーニング（offline training）あるいはオンライントレーニング（online training）によって複数の画素値についての各重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝を決定するようにしてもよい。図４に示した実施例の他の変形例として、上記予備処理部が、複数の画素値の平均値を上記の特定サブ符号化ユニットの予測画素値として用いてもよい。この場合、重み付けパラメータ群｛ｈｋ（ｉ，ｘ）｝の各パラメータは互いに等しくなる。より具体的には、この変形例では、重み付けパラメータ群｛ｈｋ（ｉ，ｘ）｝の各パラメータは１／ｎ（Ｋ）になる。ここで、ｎ（Ｋ）はセットＫに含まれるｋの数を示している。
【００４８】
図５Ａ〜図５Ｄは、図２に示した方法９１０における多重仮説予測の詳細な実施例を示す図であり、これらの実施例では、重み付け合計（上記式（１）の右辺）をステップ９１４で説明した線形結合とみなす。理解しやすいように、符号化済みブロックＣＢＬ，ＣＢＵＬ，ＣＢＲ，ＣＢＵＲは図３に示したものと同じとする。また、ｉ番目のサブブロックＢｉを特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の一例とする。
【００４９】
図５Ａに示した例では、サブ符号化ユニットＡ，Ｂ，Ｃ，Ｄは、処理中の符号化ユニット（図５Ａにおける「処理対象ブロック」）、あるいは他の符号化ユニット（例えばＣＢＬ，ＣＢＵＬ，ＣＢＲ，ＣＢＵＲ）に含まれる。より具体的には、図５Ａに示したｉ番目のサブブロックｂｉに関して、サブ符号化ユニットＡは当該サブ符号化ユニットの左隣に隣接し、サブ符号化ユニットＢは当該サブ符号化ユニットの上隣に隣接し、サブ符号化ユニットＣは当該サブ符号化ユニットの右上隣に隣接し、サブ符号化ユニットＤは当該サブ符号化ユニットの左上隣に隣接している。
【００５０】
この実施例では、動きベクトル群｛ｖｋ｝は図５Ａに示したサブ符号化ユニットＡ，Ｂ，Ｃ，および／またはＤから得られる。したがって、動きベクトル群｛ｖｋ｝は動きベクトルｖＡ，ｖＢ，ｖＣ，および／またはｖＤを含む。例えば、動きベクトル群｛ｖｋ｝が動きベクトルｖＡ，ｖＢ，ｖＣ，およびｖＤを全て含んでいてもよい。あるいは、特定サブ符号化ユニット（例えばｉ番目のサブブロックｂｉ）に対応するサブ符号化ユニットＣが存在する場合、動きベクトル群｛ｖｋ｝は動きベクトルｖＡ，ｖＢ，およびｖＣを含んでいてもよい。また、特定サブ符号化ユニット（例えばｉ番目のサブブロックｂｉ）に対応するサブ符号化ユニットＣが存在する場合、動きベクトル群｛ｖｋ｝は動きベクトルｖＡ，ｖＢ，およびｖＤを含んでいてもよい。
【００５１】
このように、ステップ９１４で説明した線形結合は、動きベクトルｖＡ，ｖＢ，ｖＣ，および／またはｖＤを含む動きベクトル群｛ｖｋ｝を用いた重み付け合計（上記式１））であってもよい。これにより、予測画素値ΨＰは「ΨP＝Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），および／またはΨｒ（ｖＤ））」で表される。ここで、「Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ」は重み付け合計を示している。
【００５２】
図５Ａに示した実施例の変形例として、上記予備処理部が、複数の画素値の平均値を特定サブ符号化ユニットの予測画素値として用いるようにしてもよい。すなわち、上記平均値をステップ９１４における線形結合とみなしてもよい。この場合、重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝は互いに等しくなる。これにより、予測画素値ΨＰは「Ψｐ＝Ａｖｅｒａｇｅ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），および／またはΨｒ（ｖＤ））」で表される。ここで、「Ａｖｅｒａｇｅ」は平均を示している。この変形例についての上述した説明と同様の部分については説明を省略する。
【００５３】
図５Ｂに示す例では、左隣の符号化済みブロックＣＢＬにはサブ符号化ユニットα１，α２，α３，α４，α５，α６，α７，およびα８が含まれており、上隣の符号化済みブロックＣＢＵにはサブ符号化ユニットβ１，β２，β３，β４，β５，β６，β７，およびβ８が含まれており、左上隣の符号化ブロックＣＢＵＬにはサブ符号化ユニットδが含まれており、右上隣の符号化済みブロックＣＢＵＲにはサブ符号化ユニットβ９が含まれている。より具体的には、図５Ｂに示すｉ番目のサブブロックｂｉ（例えば処理中のブロックを左上、右上、左下、および右下に４分割した右下のサブブロック）について、動きベクトル群｛ｖｋ｝がサブ符号化ユニットＡ，Ｂ，Ｃ，および／またはＤから得られる。ここで、サブ符号化ユニットＡは左隣の符号化済みブロックＣＢＬにおける最も近接しているサブ符号化ユニットであり、サブ符号化済みユニットＢは上隣の符号化ブロックＣＢＵにおける最も近接しているサブ符号化ユニットであり、サブ符号化ユニットＣはサブ符号化ユニットＢの右隣に隣接するサブ符号化ユニットであり、サブ符号化ユニットＤはサブ符号化ユニットＢの左隣に隣接するサブ符号化ユニットである。図５Ｂでは、サブ符号化ユニットＡ，Ｂ，Ｃ，Ｄは、それぞれ、サブ符号化ユニットα５，β６，β７，およびβ５である。
【００５４】
この実施例では、動きベクトル群｛ｖｋ｝はサブ符号化ユニットＡ，Ｂ，Ｃ，および／またはＤから得られる。したがって、動きベクトル群｛ｖｋ｝は、動きベクトルｖＡ，ｖＢ，ｖＣ，および／またはｖＤを含む。例えば、動きベクトル群｛ｖｋ｝は、サブ符号化ユニットＡ，Ｂ，Ｃ，およびＤの動きベクトルｖＡ，ｖＢ，ｖＣ，およびｖＤを全て含んでいてもよい。あるいは、特定サブ符号化ユニット（例えばｉ番目のサブブロックｂｉ）に対応するサブ符号化ユニットＣが存在する場合、動きベクトル群｛ｖｋ｝は動きベクトルｖＡ，ｖＢ，およびｖＣを含んでいてもよい。また、特定サブ符号化ユニット（例えばｉ番目のサブブロックｂｉ）に対応するサブ符号化ユニットＣが存在する場合、動きベクトル群｛ｖｋ｝は動きベクトルｖＡ，ｖＢ，およびｖＤを含んでいてもよい。
【００５５】
このように、ステップ９１４で説明した線形結合は、動きベクトルｖＡ，ｖＢ，ｖＣ，および／またはｖＤを含む動きベクトル群｛ｖｋ｝を用いた重み付け合計（上記式１））であってもよい。これにより、予測画素値ΨＰは「ΨＰ＝Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），および／またはΨｒ（ｖＤ））」で表される。ここで、「Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ」は重み付け合計を示している。例えば、上記予備処理部は、上記特定サブ符号化ユニットのサイズを、符号化ユニットの映像符号化に関する変換サイズに設定してもよい。上記サブ符号化ユニット（例えば図５Ｂに示したサブブロック）のサイズを上記変換サイズ（例えば４×４、８×８、１６×１６など）に設定してもよい。
【００５６】
図５Ｂに示した実施例の変形例として、上記予備処理部が、複数の画素値の平均値を特定サブ符号化ユニットの予測画素値として用いるようにしてもよい。すなわち、上記平均値をステップ９１４における線形結合とみなしてもよい。この場合、重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝は互いに等しくなる。これにより、予測画素値ΨＰは「Ψｐ＝Ａｖｅｒａｇｅ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），および／またはΨｒ（ｖＤ））」で表される。ここで、「Ａｖｅｒａｇｅ」は平均を示している。この変形例についての上述した説明と同様の部分については説明を省略する。
【００５７】
図５Ｃに示す例では、サブ符号化ユニット｛α１，α２，α３，α４，α５，α６，α７，α８，β１，β２，β３，β４，β５，β６，β７，β８，β９，δ｝の定義は図５Ｂと同様である。また、図５Ｃに示すｉ番目のサブブロックｂｉ（例えば処理中のブロックを左上、右上、左下、および右下に４分割した右上のサブブロック）について、動きベクトル群｛ｖｋ｝がサブ符号化ユニットＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，および／またはＺから得られる。ここで、サブ符号化ユニットＡ，Ｂ，Ｃ，Ｄの定義は図５Ｂと同様である。また、サブ符号化ユニットＥは、サブ符号化ユニットＡの上隣のサブ符号化ユニットであり、サブ符号化ユニットＦはサブ符号化ユニットＡの下隣のサブ符号化ユニットであり、サブ符号化ユニットＺは左上隣に隣接する符号化済みブロックＣＢＵＬにおける最も近接するサブ符号化ユニットである。図５Ｃでは、サブ符号化ユニットＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，およびＺは、それぞれ、サブ符号化ユニットα４，β６，β７，β５，α３，α５，およびδである。
【００５８】
この実施例では、動きベクトル群｛ｖｋ｝はサブ符号化ユニットＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，および／またはＺから得られる。したがって、動きベクトル群｛ｖｋ｝は、動きベクトルｖＡ，ｖＢ，ｖＣ，ｖＤ，ｖＥ，ｖＦ，および／またはｖＺを含み得る。例えば、動きベクトル群｛ｖｋ｝は、サブ符号化ユニットＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，およびＺの動きベクトルｖＡ，ｖＢ，ｖＣ，ｖＤ，ｖＥ，ｖＦ，およびｖＺを全て含んでいてもよい。あるいは、特定サブ符号化ユニット（例えばｉ番目のサブブロックｂｉ）に対応するサブ符号化ユニットＥが存在する場合、動きベクトル群｛ｖｋ｝は動きベクトルｖＡ，ｖＢ，ｖＣ，ｖＤ，ｖＥ，およびｖＦを含んでいてもよい。また、特定サブ符号化ユニット（例えばｉ番目のサブブロックｂｉ）に対応するサブ符号化ユニットＣ，Ｅが存在する場合、動きベクトル群｛ｖｋ｝は動きベクトルｖＡ，ｖＢ，ｖＤ，ｖＦ，およびｖｚを含んでいてもよい。
【００５９】
このように、ステップ９１４で説明した線形結合は、動きベクトルｖＡ，ｖＢ，ｖＣ，ｖＤ，ｖＥ，ｖＦ，および／またはｖＺを含む動きベクトル群｛ｖｋ｝を用いた重み付け合計（上記式１））であってもよい。これにより、予測画素値ΨＰは「ΨＰ＝Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），Ψｒ（ｖＤ），Ψｒ（ｖＥ），Ψｒ（ｖＦ），および／またはΨｒ（ｖＺ））」で表される。ここで、「Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ」は重み付け合計を示している。例えば、上記予備処理部は、上記特定サブ符号化ユニットのサイズを、符号化ユニットの映像符号化に関する変換サイズに設定してもよい。上記サブ符号化ユニット（例えば図５Ｃに示したサブブロック）のサイズを上記変換サイズ（例えば４×４、８×８、１６×１６など）に設定してもよい。
【００６０】
図５Ｃに示した実施例の変形例として、上記予備処理部が、複数の画素値の平均値を特定サブ符号化ユニットの予測画素値として用いるようにしてもよい。すなわち、上記平均値をステップ９１４における線形結合とみなしてもよい。この場合、重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝は互いに等しくなる。これにより、予測画素値ΨＰは「Ψｐ＝Ａｖｅｒａｇｅ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），Ψｒ（ｖＤ），Ψｒ（ｖＥ），Ψｒ（ｖＦ），および／またはΨｒ（ｖＺ））」で表される。ここで、「Ａｖｅｒａｇｅ」は平均を示している。この変形例についての上述した説明と同様の部分については説明を省略する。
【００６１】
図５Ｄに示す例では、サブ符号化ユニット｛α１，α２，α３，α４，α５，α６，α７，α８，β１，β２，β３，β４，β５，β６，β７，β８，β９，δ｝の定義は図５Ｂと同様である。また、図５Ｄに示すｉ番目のサブブロックｂｉ（例えば処理中のブロックを左上、右上、左下、および右下に４分割した右下のサブブロック）について、動きベクトル群｛ｖｋ｝がサブ符号化ユニットＡ，Ｂ，Ｃ，および／またはＤから得られる。ここで、サブ符号化ユニットＡ，Ｂ，Ｃ，Ｄの定義は図５Ｂと同様である。図５Ｄでは、サブ符号化ユニットＡ，Ｂ，Ｃ，およびＤは、それぞれ、サブ符号化ユニットα５，β６，β７，およびα５である。
【００６２】
この実施例では、動きベクトル群｛ｖｋ｝はサブ符号化ユニットＡ，Ｂ，Ｃ，および／またはＤから得られる。したがって、動きベクトル群｛ｖｋ｝は、動きベクトルｖＡ，ｖＢ，ｖＣ，および／またはｖＤを含み得る。例えば、動きベクトル群｛ｖｋ｝は、サブ符号化ユニットＡ，Ｂ，Ｃ，およびＤの動きベクトルｖＡ，ｖＢ，ｖＣ，およびｖＤを全て含んでいてもよい。あるいは、特定サブ符号化ユニット（例えばｉ番目のサブブロックｂｉ）に対応するサブ符号化ユニットＣが存在する場合、動きベクトル群｛ｖｋ｝は動きベクトルｖＡ，ｖＢ，およびｖＣを含んでいてもよい。また、特定サブ符号化ユニット（例えばｉ番目のサブブロックｂｉ）に対応するサブ符号化ユニットＣが存在する場合、動きベクトル群｛ｖｋ｝は動きベクトルｖＡ，ｖＢ，およびｖＤを含んでいてもよい。
【００６３】
また、この実施例では、重み付けパラメータｈｋ（ｉ，ｘ）を、特定サブ符号化ユニットと、ステップ９１２で説明した他の符号化ユニットのうちの関連する１つとの距離に反比例するように設定する。例えば、重み付けパラメータｈｋ（ｉ，ｘ）を位置ｘに依存しない重み付けパラメータｗｋ（ｉ）に置き換えてもよい。重み付けパラメータｗｋ（ｉ）は、（ｄｋ（ｉ））ｍに反比例する（すなわち、ｗｋ（ｉ）∝１／（ｄｋ（ｉ））ｍ）。ここで、ｄｋ（ｉ）は、特定サブ符号化ユニット（例えばｉ番目のサブブロックｂｉ）と、ｋ番目の参照動きベクトルｖｋを有する関連する他のサブ符号化ユニット／符号化ユニット（例えばサブ符号化ユニットＡ，Ｃ，Ｃ，およびＤ内におけるｋ番目のサブ符号化ユニット）との距離を示す。また、ｍは正の整数を示す。これにより、予測画素値ΨＰは下記式（４）で表される。
【００６４】
【数４】
0005211263.tif 000005
【００６５】
ここで、動きイベクトル群｛ｖｋ｝は動きベクトルｖＡ，ｖＢ，ｖＣ，および／またはｖＤを含んでいてもよい。また、図５Ｄの例において、動きイベクトル群｛ｖｋ｝は動きベクトルｖＡ，ｖＢ，およびｖＣ、並びに、距離ｄＡ（ｉ）を示す符号ｄｉｓｔ＿ｗ、距離ｄＢ（ｉ）を示すｄｉｓｔ＿ｈ，および距離ｄＣ（ｉ）を示すｄｉｓｔ＿ｈ’を含んでいる。これにより、予測画素値ΨＰは、「Ψｐ＝ｗＡΨｒ（ｖＡ）＋ｗＢΨｒ（ｖＢ）＋ｗＣΨｒ（ｖＣ）」で表される。ここで、ｗＡ∝１／（ｄｉｓｔ＿ｗ）ｍ，ｗＢ∝１／（ｄｉｓｔ＿ｈ）ｍ，およびｗＣ∝１／（ｄｉｓｔ＿ｈ’）ｍである。
【００６６】
図５Ａ〜図５Ｄに示した実施例の変形例として、上記予備処理部が、複数の符号化済みユニットの動き情報のうち極端な値を有する少なくとも１つの動きベクトル（at least one extreme motion vector）を廃棄することにより１セットの動きベクトル群を選別するようにしてもよい。より具体的には、動きベクトル群のセットから極端な値を有する少なくとも１つの動きベクトルを廃棄し、上記動きベクトル群のセットにおける残りの部分を予測画素値の算出に用いる動き情報（符号化済みユニットの第１セットの動き情報）として用いてもよい。例えば、上述した極端な値を有する少なくとも１つの動きベクトルは、上記動きベクトルのセットにおける他の動きベクトルと、長さおよび／または方向が懸け離れた動きベクトルであってもよい。
【００６７】
また、図５Ａ〜図５Ｄに示した実施例の変形例として、上記予備処理部が、それぞれ図５Ａ〜図５Ｄに対応する処理であるモード１〜４の処理を選択的に行うようにしてもよい。例えば、上記予備処理部は、モード１では図５Ａに示した方法と同様の処理を行い、モード２〜４ではそれぞれ図５Ｂ〜図５Ｄに示した方法と同様の処理を行う。なお、モード１，２，３は、他のモードに比べて装置１００における処理を簡略化し、装置１００における全体の処理速度を向上させることができるので、簡略化モードと呼ぶこともできる。
【００６８】
また、図５Ａ〜図５Ｄに示した実施例の変形例として、ステップ９１２において、上記予備処理部が、隣接する少なくとも１つの符号化ユニットの少なくとも１つのモード（例えば、符号化済みブロックＣＢＬ，ＣＢＵ，ＣＢＵＲ，およびＣＢＵＬのうちの少なくとも１つにおけるモード１，２，３，および／または４）に基づいて上記符号化ユニットを複数の上記サブ符号化ユニットに分割するようにしてもよい。また、図５Ａ〜図５Ｄに示した実施例の他の変形例として、ステップ９１２において、上記予備処理部が、隣接する少なくとも１つの符号化ユニット（例えば、符号化済みブロックＣＢＬ，ＣＢＵ，ＣＢＵＲ，およびＣＢＵＬのうちの１または複数）の内容に基づいて上記符号化ユニットを複数の上記サブ符号化ユニットに分割するようにしてもよい。
【００６９】
図６Ａおよび図６Ｂは、図２の方法９１０における動き情報の取得処理に関する他の実施例を示している。理解しやすいように、符号化済みブロックＣＢＬ，ＣＢＵＬ，ＣＢＵ，およびＣＢＵＲは図３と同様とする。
【００７０】
この実施例では、特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）のサイズは符号化ユニットＣｕ（ｔ０）のサイズに拡張されており、ステップ９１２における分割処理／区画化処理は必要なくなっている。したがって、ステップ９１２では、上記予備処理部は、符号化ユニットＣｕ（ｔ０）の動きベクトル予測を行う。より具体的には、符号化ユニットＣｕ（ｔ０）の多重仮説動き補償のために複数の他の符号化ユニット（例えば符号化済みブロック（例えば符号化済みブロックＣＢＬ，ＣＢＵＬ，ＣＢＵ，およびＣＢＵＲのうちの１または複数）の少なくとも一部から複数の動きベクトル（例えば上述した動きベクトル群｛ｖｋ｝）を取得する処理を行う。また、ステップ９１４において、上記予備処理部は、動き情報（例えば複数の上記動きベクトル｛ｖｋ｝）に応じて符号化ユニットＣｕ（ｔ０）の多重仮説動き補償を行う。より具体的には、上記複数の他の符号化ユニットの複数の画素値の線形結合を上記符号化ユニットの予測画素値ΨＰ（ｘ）として用いる。なお、予測画素値ΨＰ（ｘ）は符号ｉを必要としない。また、予測画素値ΨＰ（ｘ）は、下記式（５）によって表される。
【００７１】
【数５】
0005211263.tif 000006
【００７２】
実際上、上記複数のモードは、それぞれ異なる動作ブロックサイズ（例えば１６×１６、３２×３２など）に対応する複数のスキップモードを含んでいる。この実施例では、符号Ａは符号化済みブロックＣＢＬの少なくとも一部（一部または全部）を含むサブ符号化ユニット／符号化ユニットを示し、符号Ｄは符号化済みブロックＣＢＵＬの少なくとも一部（一部または全部）を含むサブ符号化ユニット／符号化ユニットを示し、符号Ｂは符号化済みブロックＣＢＵの少なくとも一部（一部または全部）を含むサブ符号化ユニット／符号化ユニットを示し、符号ＣＳＩＺＥ（例えばＣ１６，Ｃ３２など）は符号化済みブロックＣＢＵＲの少なくとも一部（一部または全部）を含むサブ符号化ユニット／符号化ユニットを示している。なお、上記ＣＳＩＺＥにおける「ＳＩＺＥ」は、処理対象のブロック（図６Ａ、図６Ｂにおける「処理対象ブロック」）などの符号化ユニットＣｕ（ｔ０）のサイズを示している。例えば、図６Ａの例では、処理対象のブロックのサイズが３２画素×３２画素であり、上記サブ符号化ユニット／符号化ユニットＣＳＩＺＥは符号化ユニット／符号化ユニットＣ３２と表される。他の例としては、図６Ｂでは、処理対象のブロックのサイズが１６画素×１６画素であり、上記サブ符号化ユニット／符号化ユニットＣＳＩＺＥは、符号化ユニット／符号化ユニットＣ１６と表される。このように、サブ符号化ユニット／符号化ユニットＣＳＩＺＥの位置は動作ブロックサイズに依存する。
【００７３】
この実施例では、動きベクトル群｛ｖｋ｝はサブ符号化ユニット／符号化ユニットＡ，Ｂ，Ｃ，およびＤの動きベクトルｖＡ，ｖＢ，ｖＣ，およびｖＤの全てを含んでいてもよい。この実施例では、上記線形結合は、動きベクトルｖＡ，ｖＢ，ｖＣ，およびｖＤを含む動きベクトル群｛ｖｋ｝を用いて表される重み付け合計（上記式（５）の右辺）であってもよい。これにより、予測画素値ΨＰは「Ψｐ＝Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），Ψｒ（ｖＤ））」で表される。ここで、「Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ」は重み付け合計を示している。
【００７４】
図６Ａおよび図６Ｂの変形例として、上記予備処理部が、上記複数の他の符号化ユニットの複数の画素値の平均値を上記符号化ユニットの予測画素値として用いるようにしてもよい。すなわち、上記平均値を上記線形結合とみなしてもよい。この場合、重み付けパラメータ群｛ｈｋ｝の各重み付けパラメータは等しくなる。これにより、予測画素値ΨＰは「Ψｐ＝Ａｖｅｒａｇｅ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），Ψｒ（ｖＤ））」で表される。ここで、「Ａｖｅｒａｇｅ」は平均を示している。この変形例についての上述した説明と同様の部分については説明を省略する。
【００７５】
図７Ａおよび図７Ｂは、図２に示した方法９１０の他の実施例における時間動きベクトル（temporal motion vectors）（ＭＶｓ）および空間動きベクトル（spatial motion vectors）（ＭＶｓ）を示す図である。理解しやすいように、符号化済みブロックＣＢＬ，ＣＢＵＬ，ＣＢＵ，およびＣＢＵＲは図３と同様とする。また、ｉ番目のサブブロックＢｉは特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の一例を示している。
【００７６】
図７Ａに示した例では、ステップ９１２で説明した動きベクトル群｛ｖｋ｝は、特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）（例えば図７Ａに示したｉ番目のブロックｂｉ）を含む所定サイズのウィンドウに対応する１または複数の時間動きベクトル｛ｖＴ，ｋ｝を含んでいる。図７Ｂに示す例では、ステップ９１２で説明した動きベクトル群｛ｖｋ｝は、１または複数の空間動きベクトル｛ｖＳ，ｋ｝（例えば図７Ｂに示した符号化済みブロックＣＢＵの空間動きベクトル）を含んでいる。図７Ａおよび図７Ｂの実施例の変形例として、ステップ９１２で説明した動きベクトル群｛ｖｋ｝が、時間動きベクトル｛ｖＴ，ｋ｝および空間動きベクトル｛ｖＳ，ｋ｝の両方を含んでいてもよい。この変形例についての上述した説明と同様の部分については説明を省略する。
【００７７】
図８Ａ〜図８Ｃは、図２に示した方法９１０における動きベクトルの取得方法の典型例を示している。理解しやすいように、符号化済みブロックＣＢＬ，ＣＢＵＬ，ＣＢＵ，およびＣＢＵＲは図３と同様とする。また、ｉ番目のサブブロックＢｉは特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の一例を示している。
【００７８】
図８Ａに示した例では、上述した時間動きベクトル｛ｖＴ，ｋ｝は、典型的には他のフレームにおける同じサブ符号化ユニット（例えば図８Ａにおけるｉ番目のブロックｂｉに対応する同じサブブロックＴ）から得られる時間動きベクトルｖＴ０を含んでいる。したがって、時間動きベクトルｖＴ０は同位置の動きベクトルとみなすことができる。図８Ｂに示した例では、上述した空間動きベクトル｛ｖＳ，ｋ｝はサブ符号化ユニットＡ，Ｂ，Ｃ，Ｄ，Ｆ，Ｆ，およびＺの動きベクトルｖＡ，ｖＢ，ｖＣ，ｖＤ，ｖＥ，ｖＦ，，およびｖＺの少なくとも一部を含んでいる。
【００７９】
したがって、ステップ９１４で説明した線形結合は、時間動きベクトルｖＴ０と動きベクトルｖＡ，ｖＢ，ｖＣ，ｖＤ，ｖＥ，ｖＦ，および／またはｖＺとを含む動きベクトル群｛ｖｋ｝で表される上述した重み付け合計（上記式（１）の右辺）であってもよい。例えば、動きベクトル群｛ｖｋ｝が時間動きベクトルｖＴ０と動きベクトルｖＡ，ｖＢ，ｖＣ，ｖＤ，ｖＥ，ｖＦ，およびｖＺとを含む場合、予測画素値ΨＰは「Ψｐ＝Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），Ψｒ（ｖＤ），Ψｒ（ｖＥ），Ψｒ（ｖＦ），Ψｒ（ｖＺ），Ψｒ（ｖＴ０））」で表される。ここで、「Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ」は重み付け合計を示している。この変形例についての上述した説明と同様の部分については説明を省略する。
【００８０】
図８Ａおよび図８Ｂに示した実施例の変形例として、上記予備処理部が、上記複数の他の符号化ユニットの複数の画素値の平均値を上記符号化ユニットの予測画素値として用いるようにしてもよい。すなわち、上記平均値をステップ９１４における線形結合とみなしてもよい。この場合、重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝に含まれる各重み付けパラメータは互いに等しくなる。これにより、予測画素値ΨＰは「Ψｐ＝Ａｖｅｒａｇｅ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），Ψｒ（ｖＤ），Ψｒ（ｖＥ），Ψｒ（ｖＦ），Ψｒ（ｖＺ，Ψｒ（ｖＴ０）））」で表される。ここで、「Ａｖｅｒａｇｅ」は平均を示している。この変形例についての上述した説明と同様の部分については説明を省略する。
【００８１】
図８Ｃに示したように、上述した時間動きベクトル｛ｖＴ，ｋ｝は、上記時間動きベクトルｖＴ０と、他のフレームにおける同じ位置の近くのサブ符号化ユニット（時間動きベクトルｖＴ０を有するサブブロックＴに隣接するサブ符号化ユニット（図８Ｃに示したサブブロックＴＵＬ，ＴＵ，ＴＵＲ，ＴＬ，ＴＲ，ＴＤＬ，ＴＤ，およびＴＤＲ））から得られる時間動きベクトルである他の時間動きベクトルｖＴＵＬ，ｖＴＵ，ｖＴＵＲ，ｖＴＬ，ｖＴＲ，ｖＴＤＬ，ｖＴＤ，およびｖＴＤＲとを含んでいてもよい。また、空間動きベクトル｛ｖＳ，ｋ｝は、図８Ｂに示したサブ符号化ユニットＡ，Ｂ，Ｃ，Ｄ，Ｆ，Ｆ，およびＺの動きベクトルｖＡ，ｖＢ，ｖＣ，ｖＤ，ｖＥ，ｖＦ，，およびｖＺの少なくとも一部（一部または全部）を含んでいてもよい。
【００８２】
ステップ９１４で説明した線形結合は、時間動きベクトルｖＴ０，ｖＴＵＬ，ｖＴＵ，ｖＴＵＲ，ｖＴＬ，ｖＴＲ，ｖＴＤＬ，ｖＴＤ，およびｖＴＤＲと、動きベクトルｖＡ，ｖＢ，ｖＣ，ｖＤ，ｖＥ，ｖＦ，および／またはｖＺとを含む動きベクトル群｛ｖｋ｝を用いて表される上述した重み付け合計（上記式（１）の右辺）であってもよい。
例えば、動きベクトル群｛ｖｋ｝が時間動きベクトルｖＴ０，ｖＴＵＬ，ｖＴＵ，ｖＴＵＲ，ｖＴＬ，ｖＴＲ，ｖＴＤＬ，ｖＴＤ，およびｖＴＤＲと、動きベクトルｖＡ，ｖＢ，ｖＣ，ｖＤ，ｖＥ，ｖＦ，およびｖＺとを含む場合、予測画素値ΨＰは「ΨＰ＝Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），Ψｒ（ｖＤ），Ψｒ（ｖＥ），Ψｒ（ｖＦ），Ψｒ（ｖＺ），Ψｒ（ｖＴ０），Ψｒ（ｖＴＵＬ），Ψｒ（ｖＴＵ），Ψｒ（ｖＴＵＲ），Ψｒ（ｖＴＬ），Ψｒ（ｖＴＲ），Ψｒ（ｖＴＤＬ），Ψｒ（ｖＴＤ），Ψｒ（ｖＴＤＲ））」で表される。ここで、「Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ」は重み付け合計を示している。この変形例についての上述した説明と同様の部分については説明を省略する。
【００８３】
図８Ｃに示した実施例の変形例として、上記予備処理部が、上記複数の画素値の平均値を上記特定サブ符号化ユニットの予測画素値として用いるようにしてもよい。すなわち、上記平均値をステップ９１４における線形結合とみなしてもよい。この場合、重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝に含まれる各重み付けパラメータは互いに等しくなる。これにより、予測画素値ΨＰは「Ψｐ＝Ａｖｅｒａｇｅ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ），Ψｒ（ｖＤ），Ψｒ（ｖＥ），Ψｒ（ｖＦ），Ψｒ（ｖＺ），Ψｒ（ｖＴ０），Ψｒ（ｖＴＵＬ），Ψｒ（ｖＴＵ），Ψｒ（ｖＴＵＲ），Ψｒ（ｖＴＬ），Ψｒ（ｖＴＲ），Ψｒ（ｖＴＤＬ），Ψｒ（ｖＴＤ），Ψｒ（ｖＴＤＲ））」で表される。ここで、「Ａｖｅｒａｇｅ」は平均を示している。この変形例についての上述した説明と同様の部分については説明を省略する。
【００８４】
上述した各実施例／変形例の変形例として、上記予備処理部が、複数セットの動きベクトル群（動きベクトル群候補とみなすこともできる）の中から１セットの動きベクトル群を動的に選択し、選択した動きベクトル群を上記動きベクトル群｛ｖｋ｝として用いるようにしてもよい。より具体的には、上記予備処理部は、上記複数セットの動きベクトル群の中から１セットの動きベクトル群を動的に選択し、選択した動きベクトル群を明示されるフラグに基づいてステップ９１２で説明した上記複数の他の符号化済みユニットの動き情報として用い、選択した上記動きベクトルのセットを上記特定サブ符号化ユニットの予測画素値を算出するために用いる。例えば、上記の複数セットの動きベクトル群は、例えば、上述した時間動きベクトル｛ｖＴ，ｋ｝を含む動きベクトル群の第１セットと、上述した空間動きベクトル｛ｖＳ，ｋ｝を含む動きベクトル群の第２セットとを含んでいてもよい。実際上、上記予備処理部は、選択されたセットを動的に示すフラグ（例えば上記の明示されるフラグ）に基づいて多重仮説予測を行う。この変形例についての上述した説明と同様の部分については説明を省略する。
【００８５】
上述した各実施例／変形例の他の変形例として、上記予備処理部が、レート歪み最適化処理（rate-distortion optimization）を用いた動き評価処理（motion estimation）によって符号化ユニットＣＵ（ｔ０）の少なくとも１つの動きベクトルを取得するようにしてもよい。例えば、ステップ９１２において、上記予備処理部は、動き評価処理によって上記特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の多重仮説動き補償のための上記複数の動きベクトル群｛ｖｋ｝の少なくとも一部を取得する。また、ステップ９１４において、上記予備処理部は、複数の動きベクトル群｛ｖｋ｝に関連するサブ符号化ユニット／符号化ユニットの複数の画素値｛Ψｒ｝の線形結合を上記特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の予測画素値ΨＰとして用いる。例えば、特定の予測画素値が位置ｘ（例えば、現在のフレームＦ（ｔ０）の画像平面における２次元ベクトルなどの位置を示すベクトル）を有する予測画素値ΨＰを含む場合、上記予測画素値ΨＰはΨＰ（ｘ）を用いて下記式（６）で表すことができる。
【００８６】
【数６】
0005211263.tif 000007
【００８７】
ここで、指数ｋは、上記セットＫの範囲内で変化する値である。また、ｈｋ（ｘ）は、ｋに関連する重み付けパラメータを示している。また、ｖ０は、動き評価処理において評価対象とする動きベクトルである評価対象動きベクトルを示している。また、ｈ０（ｘ）は、評価対象動きベクトルｖ０の符号０に対応する重み付けパラメータである。
【００８８】
上述したレート歪み最適化処理において、上記予備処理部は、歪み指標ＩＤＩＳＴを算出する。上記歪み指標ＩＤＩＳＴは、典型的には、上記特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）のもともとの部分画像と、特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の評価対象動きベクトルｖ０の取り得るステータス（例えば長さあるいは角度）に関する多重仮説予測の後に再構成された部分画像との差である。例えば、歪み指標ＩＤＩＳＴと、関連する動きベクトル差分値ＭＶＤとは、下記式（７）によって表すことができる。
【００８９】
【数７】
0005211263.tif 000008
【００９０】
ここで、ΨＲＥＡＬ（ｘ）は処理中の現在の画素の実際の画素値である。また、「ＭＶＰ」は動きベクトルの予測量である。より具体的には、上記式（７）における歪み指標ＩＤＩＳＴは下記式（８）のように表すことができる。
【００９１】
【数８】
0005211263.tif 000009
【００９２】
上記式（８）において、ΓＲＥＡＬ（ｘ）は評価対象動きベクトルｖ０には依存しないので、装置１００の処理速度を向上させるために、予め算出して後からアクセスできるように一時的に記憶させておいてもよい。
【００９３】
上記実施例において、上記予備処理部が、歪み指標ＩＤＩＳＴと動きベクトル差分値ＭＶＤの符号化に用いられるビットとのラグランジュ関数が最小になる最適ステータスを検出することにより、評価対象動きベクトルｖ０を最適化するようにしてもよい。したがって、上記線形結合を取得した評価対象動きベクトルｖ０で表される重み付け合計（上記式（６）の右辺）とし、上記重み付け合計（上記式（６）の右辺）を上記特定のサブ符号化ユニットＳｕｂＣＵ（ｔ０）の予測画素値ΨＰとして用いるようにしてもよい。この変形例についての上述した説明と同様の部分については説明を省略する。
【００９４】
図９は、図２に示した方法９１０の詳細を示す図であり、予備処理部が可変区画多重仮説予測（variable partition multihypothesis prediction）を行う場合の例を示している。より具体的には、この実施例では、符号化ユニットＣＵ（ｔ０）の区画を、少なくとも１つの隣接する符号化ユニットの区画に応じて適切に決定する。理解しやすいように、符号化済みブロックＣＢＬ，ＣＢＵＬ，ＣＢＵ，およびＣＢＵＲは図３と同様とする。また、ｉ番目のサブブロックＢｉは特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の一例を示している。
【００９５】
この実施例では、ステップ９１２において、上記予備処理部が、隣接する少なくとも１つの符号化ユニット（例えば符号化済みブロックＣＢＬ，ＣＢＵＬ，ＣＢＵ，およびＣＢＵＲのうちの１または複数）の区画に基づいて符号化ユニットＣＵ（ｔ０）（例えば処理対象のブロック（図９における「処理対象ブロック」））を複数のサブ符号化ブロック｛ＳｕｂＣＵ（ｔ０）｝に分割する。例えば、複数のサブ符号化ユニット｛ＳｕｂＣＵ（ｔ０）｝は、隣接する符号化済みブロック（例えば符号化済みブロックＣＢＬ，およびＣＢＵ）の区画に応じたサイズ（より具体的にはそれら隣接する符号化済みブロックのサブブロックに応じたサイズ）を有するサブブロックｂ１１，ｂ１２，ｂ１３，ｂ２１，ｂ２２，ｂ２３，ｂ３１，ｂ３２，ｂ３３，ｂ４１，ｂ４２，およびｂ４３を含んでいてもよい。図９の例では、これらの隣接する符号化済みブロックのサブブロックは、処理対象のブロックに隣接しており、異なる陰影で示されている。この実施例についての上述した説明と同様の部分については説明を省略する。
【００９６】
図１０は、図２に示した方法９１０の詳細を示す図であり、予備処理部が、隣接する少なくとも１つの符号化ユニットの内容に応じて混合の重み（例えば上述した重み付けパラメータ｛ｈｋ（ｉ，ｘ）｝）を適切に決定する。理解しやすいように、符号化済みブロックＣＢＬ，ＣＢＵＬ，ＣＢＵ，およびＣＢＵＲは図３と同様とする。また、サブブロックＳＢは特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の一例を示している。
【００９７】
例えば、動きベクトル群｛ｖｋ｝は、サブ符号化ユニットＡ，Ｂ，およびＣの動きベクトルｖＡ，ｖＢ，およびｖＣを含んでいてもよい。ここで、サブ符号化ユニットＡは左側符号化済みユニットＣＢＬに属しており、サブ符号化ユニットＢおよびＣは上側符号化済みユニットＣＢＵに属している。重み付け合計（例えば図１０に示した例の場合、上述した重み付け合計「Ｗｅｉｇｈｔｅｄ＿Ｓｕｍ（Ψｒ（ｖＡ），Ψｒ（ｖＢ），Ψｒ（ｖＣ）」）を生成する際、サブ符号化ユニットＢおよびＣがテクスチャ（texture）サブ符号化ユニット（例えばテクスチャサブブロック）であり、サブ符号化ユニットＡが非テクスチャ（non-texture）サブ符号化ユニット（例えば非テクスチャサブブロック）である場合には、上記予備処理部は、サブ符号化ユニットＢおよびＣの動きベクトルｖＢ，ｖＣに関する重み付けパラメータｈＢ（ｉ，ｘ），ｈＣ（ｉ，ｘ）を、それぞれ、サブ符号化ユニットＡの動きベクトルｖＡに関する重み付けパラメータｈＡ（ｉ，ｘ）よりも大きく設定する。この実施例についての上述した説明と同様の部分については説明を省略する。
・    図１１は、図２に示した方法９１０の詳細を示す図である。この実施例では、上記予備処理部は、ステップ９１２において、符号化ユニットＣＵ（ｔ０）（例えば処理対象の符号化ユニット）を複数のサブ符号化ユニット｛ＳｕｂＣＵ（ｔ０）｝に分割し、各サブ符号化ユニットの予測を行う。ただし、上述した動きベクトル｛ｖｋ｝などの動き情報を取得するとき、あるいは取得する前に、上記予備処理部が、他のサブ符号化ユニット／符号化ユニットによって後から参照できるように各サブ符号化ユニットの動きベクトル（例えば参照動きベクトル）を選択する。動きベクトルを選択するためのルールは、符号化および復号化の両方に適用できるルールであればよく、任意に決めることができる。例えば、動きベクトルを選択するための予め設定されたルールとして、Ｈ．２６４で規定されている動きベクトル予測（motion vector predictor defined in H.264）を用いてもよい。この方法では、動きベクトルのスケーリング（scaling）、左側ブロックからのパディング（padding）、上側ブロックからのパディング、左側ブロックまたは右側ブロックからのパディングを行う。左側ブロックあるいは上側ブロックからパディングを行うことにより、上記予備処理部は、例えば符合化ユニットＣＵ（ｔ０）に隣接する隣接符合化ユニットＣＵＡＤＪ（ｔ０）における符合化済みサブ符合化ユニットなどの、他の符合化ユニット（処理対象である符号化ユニットＣＵ（ｔ０）とは異なる符合化ユニット）の動きベクトルを用いる１つの動きベクトルを選択する。より具体的には、上記他の符号化ユニット（例えば符号化ユニットＣＵＡＤＪ（ｔ０））の上記サブ符号化ユニットは、上記他の符号化ユニット内における最も近接するサブ符号化ユニットであり、上記予備処理部は、上記特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の動きベクトルとして上記他の符号化ユニット（例えば符号化ユニットＣＵＡＤＪ（ｔ０））内における最も近接するサブ符号化ユニットの動きベクトルを用いる。符号化ユニットあるいはサブ符号化ユニットについて選択された上記動きベクトルは、主に他の符号化ユニットあるいは他のサブ符号化ユニットのための参照動きベクトルとして用いられ、必ずしも動き予測のために用いられる必要はない。
【００９８】
図１１は、符号化ユニットＣＵ（ｔ０）（例えば処理対象のブロック（図１１の「処理対象ブロック」））に関し、上記隣接符号化ユニット｛ＣＵＡＤＪ（ｔ０）｝は、左側符号化済みブロックＣＢＬ、上側符号化済みブロックＣＢＵ、右上側符号化済みブロックＣＢＵＲ、および左上側符号化済みブロックＣＢＵＬのうちの少なくとも一部を含み、これら符号化済みブロックＣＢＬ，ＣＢＵ，ＣＢＵＲ，およびＣＢＵＬにおけるサブ符号化ユニットをサブブロックとみなすことができる。
【００９９】
より詳細に説明すると、左側符号化済みブロックＣＢＬ内の最も右側の列のサブ符号化ユニットの動きベクトルはｙ１，ｙ２，ｙ３，ｙ４，ｙ５，ｙ６，ｙ７，およびｙ８で示されている。同様に、上側符号化済みブロックＣＢＲ内の最も下側の行のサブ符号化ユニットの動きベクトルはｘ１，ｘ２，ｘ３，ｘ４，ｘ５，ｘ６，ｘ７，およびｘ８で示されている。また、左上側符号化済みブロックＣＢＵＬ内の最も右下のサブ符号化ユニットの動きベクトルはｄで示されている。また、右上側符号化済みブロックＣＢＵＲ内の最も左下のサブ符号化ユニットの動きベクトルはｘ９で示されている。
【０１００】
この実施例では、上記予備処理部は、複数のサブ符号化ユニット｛ＳｕｂＣＵ（ｔ０）｝からなる符号化ユニットＣＵ（ｔ０）を受信し、当該符号化ユニットＣＵ（ｔ０）のデータを解析する。そして、上記予備処理部は、サブ符号化ユニット｛ＳｕｂＣＵ（ｔ０）｝のうちの特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の参照動きベクトルを所定のルールに応じて選択する。上記参照動きベクトルは少なくとも１つの他のサブ符号化ユニットのために用いられ、特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の動きベクトルとして用いない。参照動きベクトルを参照することにより、上記予備処理装置は、特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の実際の動きベクトルに対する複雑な計算の完了を待つ必要がなくなり、迅速に処理を行うことができる。実際上、上記予備処理装置は、この動きベクトル（すなわち上述した参照動きベクトル）として隣接する符号化ユニットの少なくとも一部の動きベクトルを選択することができる。より具体的には、上記の隣接する符号化ユニットの少なくとも一部として、近接符号化ユニット内における上記特定サブ符号化ユニットに最も近い部分を用いることができる。
【０１０１】
例えば、特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）が処理中のブロック（例えば図１１における理対象ブロック）のサブ符号化ブロックにおける、ある列のｊ番目（ｊは１〜８の間で変化する値）のサブブロックであるとする。第１の選択ルール（「垂直選択」）では、上記予備処理部は、上側符号化済みブロックＣＢＵ内の最も近接するサブ符号化ユニットの動きベクトルｘｊを特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の参照動きベクトルとして用いる。
【０１０２】
他の例では、特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）が処理中のブロック（例えば図１１における理対象ブロック）のサブ符号化ブロックにおける、ある行のｊ番目（ｊは１〜８の間で変化する値）のサブブロックであるとする。第２の選択ルール（「水平選択」）では、上記予備処理部は、左側符号化済みブロックＣＢＬ内の最も近接するサブ符号化ユニットの動きベクトルｙｊを特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の参照動きベクトルとして用いる。
【０１０３】
他の例では、参照動きベクトルを決定するための方法として第３の選択ルール（「ハイブリッド選択」）を用いる。特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）が処理中のブロック（例えば図１１における理対象ブロック）のサブ符号化ブロックにおける４番目／８番目の列のｊ番目（ｊは１〜８の間で変化する値）のサブブロックを示すものとする。図１１において４番目／８番目の行のｊ番目のサブブロックへの矢印で示したように、上記予備処理部は、上側符号化済みブロックＣＢＵ内の最も近接するサブ符号化ユニットの動きベクトルｘｊを特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の参照動きベクトルとして用いる。また、特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）が処理中のブロック（例えば図１１における理対象ブロック）のサブ符号化ブロックにおける４番目／８番目の列のｊ番目（ｊは４を除く１〜７の間で変化する値）のサブブロックを示すものとする。図１１において４番目／８番目の列のｊ番目のサブブロックへの矢印で示したように、上記予備処理部は、左側符号化済みブロックＣＢＬ内の最も近接するサブ符号化ユニットの動きベクトルｙｊを特定サブ符号化ユニットＳｕｂＣＵ（ｔ０）の参照動きベクトルとして用いる。この実施例では、符号化ユニットＣＵ（ｔ０）内の残りのサブ符号化ユニットの参照動きベクトルを上述した実施例／変形例と同じまたは同様の方法で得ることができる。この実施例についての上述した説明と同様の部分については説明を省略する。
【０１０４】
なお、上述した実施例および変形例において、上記予備処理部は、フラグ（明示されたフラグ）を用いることにより上述した処理を制御する。例えば、上記した実施例のいずれかにおける符号化部は、「垂直選択」および「垂直選択」（あるいは、これらに加えて「ハイブリッド選択」）のうちのいずれの選択ルールを適用するかを示すフラグを出力する。これにより、対応する復号化部は、上記フラグを含むビットストリームを受信することにより、適用すべき選択ルールを知ることができる。
【０１０５】
また、上述した実施例において、様々な動きベクトルの選択方法（例えば、「垂直選択」、「水平選択」、「ハイブリッド選択」）を局所的な動きベクトルを得るために用いることができる。例えば、「垂直選択」が選択されている場合、サブ符号化ユニットの各行の動きベクトルは、それぞれ、上側符号化済みブロックＣＢＵ内の対応する位置（例えば上側符号化済みブロックＣＢＵにおける最も近接するサブ符号化ユニット）から得ることができる。
【０１０６】
本発明の方法および装置によれば、局所的多重仮説予測を適切に行うことができる。より具体的には、処理対象の符号化ユニットにおけるサブ符号化ユニットの多重仮説動き補償を容易に行うことができる。また、本発明の方法および装置を用いることにより、動きベクトル予測および多重仮説動き補償の両方を、符号化効率の低下などの技術的問題を生じさせることなく行うことができる。
【０１０７】
本発明の開示内容に対して様々な変形および改良を行ってもよいことは当業者であれば容易に理解できるであろう。したがって、上述した開示の範囲は請求項の記載によってのみ制限されると解釈されるべきである。
【図面の簡単な説明】
【０１０８】
【図１Ａ】本発明の一実施例にかかる、符号化ユニットの映像符号化時に局所的多重仮説予測を行う装置を示す図である。
【図１Ｂ】図１Ａに示した装置に備えられるインター／イントラ予測部を示す図である。
【図１Ｃ】図１Ｂに示した多重仮説インター予測回路の多重仮説動き補償処理を示す図である。
【図２】本発明の一実施例にかかる、符号化ユニットの映像符号化時に局所的多重仮説予測を行う方法のフローチャートである。
【図３】図２に示した方法における符号化済みブロックの例を示す図である。
【図４】図２に示した方法において行われる処理の詳細を示す図である。
【図５Ａ】図２に示した方法において行われる多重仮説予測の詳細を示す図である。
【図５Ｂ】図２に示した方法において行われる多重仮説予測の詳細を示す図である。
【図５Ｃ】図２に示した方法において行われる多重仮説予測の詳細を示す図である。
【図５Ｄ】図２に示した方法において行われる多重仮説予測の詳細を示す図である。
【図６Ａ】図２に示した方法において行われる動き情報の取得処理を示す図である。
【図６Ｂ】図２に示した方法において行われる動き情報の取得処理を示す図である。
【図７Ａ】図２に示した方法における、時間動きベクトルＭＶｓおよび空間動きベクトルＭＶｓを示す図である。
【図７Ｂ】図２に示した方法における、時間動きベクトルＭＶｓおよび空間動きベクトルＭＶｓを示す図である。
【図８Ａ】図２に示した方法において行われる動きベクトルの取得処理を示す図である。
【図８Ｂ】図２に示した方法において行われる動きベクトルの取得処理を示す図である。
【図８Ｃ】図２に示した方法において行われる動きベクトルの取得処理を示す図である。
【図９】図２に示した方法において行われる処理を示す図である。
【図１０】図２に示した方法において行われる処理を示す図である。
【図１１】図２に示した方法において行われる処理を示す図である。
【図１Ａ】
0005211263.tif 000010
【図１Ｂ】
0005211263.tif 000011
【図１Ｃ】
0005211263.tif 000012
【図２】
0005211263.tif 000013
【図３】
0005211263.tif 000014
【図４】
0005211263.tif 000015
【図５Ａ】
0005211263.tif 000016
【図５Ｂ】
0005211263.tif 000017
【図５Ｃ】
0005211263.tif 000018
【図５Ｄ】
0005211263.tif 000019
【図６Ａ】
0005211263.tif 000020
【図６Ｂ】
0005211263.tif 000021
【図７Ａ】
0005211263.tif 000022
【図７Ｂ】
0005211263.tif 000023
【図８Ａ】
0005211263.tif 000024
【図８Ｂ】
0005211263.tif 000025
【図８Ｃ】
0005211263.tif 000026
【図９】
0005211263.tif 000027
【図１０】
0005211263.tif 000028
【図１１】
0005211263.tif 000029