(57)【要約】【課題】符号化効率を向上できる符号化方法、復号方法及び符号化データを提供する。【解決手段】実施形態の符号化方法は、輝度の重み係数の第１固定小数点精度を符号化するステップと、前記第１固定小数点精度と、色差の重み係数の第２固定小数点精度との差異と同じ値である、第１差分値を符号化するステップと、前記第１固定小数点精度で定められるビット数だけ“１”を左シフトすることによって得られる値と同じ値である第１基準値と、前記輝度の重み係数と、の差異と同じ値である、前記輝度の重み係数の第２差分値を符号化するステップと、を含む。【選択図】図１
2020129848.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア回路および記憶部を備える電子装置に用いられ、前記記憶部に記憶され、前記ハードウェア回路による動画像を復号する処理によって用いられる符号化データのデータ構造であって、
重み付き動き補償予測の有効または無効を示すデータを含む第１シンタクスと、
前記重み付き動き補償予測の有効または無効を示すデータが、前記重み付き動き補償予測の有効を示す場合に、前記ハードウェア回路によって前記記憶部より読み込まれる、第２シンタクスを含み、
前記第２シンタクスは、
輝度の重み係数の第１固定小数点精度が符号化されたデータと、
前記第１固定小数点精度と、色差の重み係数の第２固定小数点精度との差異と同じ値である、第１差分値が符号化されたデータであって、前記第１固定小数点精度と前記第１差分値とが加算されることにより、前記第２固定小数点精度を決定する処理に用いられるデータと、
前記第１固定小数点精度で定められるビット数だけ“１”を左シフトすることによって得られる値と同じ値であって、かつ参照画像と対象画像との間の輝度における画素値変化がない場合の前記輝度の重み係数の値と同じ値である第１基準値と、前記輝度の重み係数と、の差異と同じ値である、前記輝度の重み係数の第２差分値が符号化されたデータであって、前記第１基準値と前記第２差分値とが加算されることにより、前記輝度の重み係数を決定する処理に用いられるデータと、
前記第２固定小数点精度で定められるビット数だけ“１”を左シフトすることによって得られる値と同じ値であって、かつ前記参照画像と前記対象画像との間の色差における画素値変化がない場合の前記色差の重み係数の値と同じ値である第２基準値と、の差分である第３差分値が符号化されたデータであって、前記第３差分値と前記第２基準値とが加算されることにより、前記色差の重み係数を決定する処理に用いられるデータと、
を含む、
符号化データのデータ構造。
【請求項２】
輝度の重み係数の第１固定小数点精度が符号化されたデータと、
前記第１固定小数点精度と、色差の重み係数の第２固定小数点精度との差異と同じ値である、第１差分値が符号化されたデータであって、前記第１固定小数点精度と前記第１差分値とが加算されることにより、前記第２固定小数点精度を決定する処理に用いられるデータと、
前記第１固定小数点精度で定められるビット数だけ“１”を左シフトすることによって得られる値と同じ値であって、かつ参照画像と対象画像との間の輝度における画素値変化がない場合の前記輝度の重み係数の値と同じ値である第１基準値と、前記輝度の重み係数と、の差異と同じ値である、前記輝度の重み係数の第２差分値が符号化されたデータであって、前記第１基準値と前記第２差分値とが加算されることにより、前記輝度の重み係数を決定する処理に用いられるデータと、
前記第２固定小数点精度で定められるビット数だけ“１”を左シフトすることによって得られる値と同じ値であって、かつ前記参照画像と前記対象画像との間の色差における画素値変化がない場合の前記色差の重み係数の値と同じ値である第２基準値と、前記色差の重み係数と、の差異と同じ値である第３差分値が符号化されたデータであって、前記第３差分値と前記第２基準値とが加算されることにより、前記色差の重み係数を決定する処理に用いられるデータと、
を含む符号化データを記憶する記憶装置。
【請求項３】
輝度の重み係数の第１固定小数点精度が符号化されたデータと、
前記第１固定小数点精度と、色差の重み係数の第２固定小数点精度との差異と同じ値である、第１差分値が符号化されたデータであって、前記第１固定小数点精度と前記第１差分値とが加算されることにより、前記第２固定小数点精度を決定する処理に用いられるデータと、
前記第１固定小数点精度で定められるビット数だけ“１”を左シフトすることによって得られる値と同じ値であって、かつ参照画像と対象画像との間の輝度における画素値変化がない場合の前記輝度の重み係数の値と同じ値である第１基準値と、前記輝度の重み係数と、の差異と同じ値である、前記輝度の重み係数の第２差分値が符号化されたデータであって、前記第１基準値と前記第２差分値とが加算されることにより、前記輝度の重み係数を決定する処理に用いられるデータと、
前記第２固定小数点精度で定められるビット数だけ“１”を左シフトすることによって得られる値と同じ値であって、かつ前記参照画像と前記対象画像との間の色差における画素値変化がない場合の前記色差の重み係数の値と同じ値である第２基準値と、前記色差の重み係数と、の差分である第３差分値が符号化されたデータであって、前記第３差分値と前記第２基準値とが加算されることにより、前記色差の重み係数を決定する処理に用いられるデータと、
を含む符号化データを送信する送信装置。
【請求項４】
参照画像と、輝度の重み係数と、前記輝度の重み係数の第１固定小数点精度と、色差の重み係数と、前記色差の重み係数の第２固定小数点精度とについてのインデックスを設定するステップと、
前記第１固定小数点精度を符号化するステップと、
前記第１固定小数点精度と前記第２固定小数点精度との差異と同じ値である第１差分値を符号化するステップと、
前記第１固定小数点精度で定められるビット数だけ“１”を左シフトすることによって得られる値と同じ値であって、かつ前記参照画像と対象画像との間の輝度における画素値変化がない場合の前記輝度の重み係数の値と同じ値である第１基準値を、前記第１固定小数点精度に基づいて導出するステップと、
前記第１基準値と、前記輝度の重み係数と、の差異と同じ値である、前記輝度の重み係数の第２差分値を符号化するステップと、
前記第２固定小数点精度で定められるビット数だけ“１”を左シフトすることによって得られる値と同じ値であって、かつ前記参照画像と前記対象画像との間の色差における画素値変化がない場合の前記色差の重み係数の値と同じ値である第２基準値を、前記第２固定小数点精度に基づいて導出するステップと、
前記色差の重み係数と前記第２基準値との差異と同じ値である、第３差分値を符号化するステップと、
画素値の最大値の中央値から、前記中央値に対して前記色差の重み係数を乗算しかつ前記第２固定小数点精度により定められるビット数だけ右シフトすることによって得られる値を減算することにより得られる値と同じ値である第３基準値を導出するステップと、
色差のオフセットと前記第３基準値との差異と同じ値である第４差分値を符号化するステップと、
を含む符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、符号化データのデータ構造、記憶装置、送信装置および符号化方法に関する。
【背景技術】
【０００２】
近年、符号化効率を大幅に向上させた画像符号化方法が、ＩＴＵ−Ｔ（International  Telecommunication  Union  Telecommunication  Standardization  Sector）とＩＳＯ（International  Organization  for  Standardization）／ＩＥＣ（International  Electrotechnical  Commission）との共同で、ＩＴＵ−Ｔ  ＲＥＣ．  Ｈ．２６４及びＩＳＯ／ＩＥＣ  １４４９６−１０（以下、「Ｈ．２６４」という）として勧告されている。
【０００３】
Ｈ．２６４には、符号化済みの画像を参照画像に用いて分数精度の動き補償予測を行うことにより、時間方向の冗長性を削除し、高い符号化効率を実現するインター予測符号化方式が開示されている。
【０００４】
また、ＩＳＯ／ＩＥＣ  ＭＰＥＧ（Moving  Picture  Experts  Group）−１，２，４におけるインター予測符号化方式よりも、フェードやディゾルブ効果を含む動画像を高効率に符号化する方式も提案されている。この方式では、時間方向における明度変化を予測する枠組みとして、輝度と２つの色差とを有する入力動画像に対して分数精度の動き補償予測を行う。そして、参照画像と、輝度及び２つの色差毎の重み係数と、輝度及び２つの色差毎のオフセットと、を含む組み合わせ示すインデックスを用いて、予測画像に重み係数を乗じ、オフセットを加算する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−７３７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したような従来技術では、インデックスを直値のまま符号化するため、符号化効率が低下してしまう。本発明が解決しようとする課題は、符号化効率を向上できる電子機器、復号方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態の符号化データのデータ構造は、ハードウェア回路および記憶部を備える電子装置に用いられ、前記記憶部に記憶され、前記ハードウェア回路による動画像を復号する処理によって用いられる符号化データのデータ構造であって、重み付き動き補償予測の有効または無効を示すデータを含む第１シンタクスと、前記重み付き動き補償予測の有効または無効を示すデータが、前記重み付き動き補償予測の有効を示す場合に、前記ハードウェア回路によって前記記憶部より読み込まれる、第２シンタクスを含み、前記第２シンタクスは、輝度の重み係数の第１固定小数点精度が符号化されたデータと、前記第１固定小数点精度と、色差の重み係数の第２固定小数点精度との差異と同じ値である、第１差分値が符号化されたデータであって、前記第１固定小数点精度と前記第１差分値とが加算されることにより、前記第２固定小数点精度を決定する処理に用いられるデータと、前記第１固定小数点精度で定められるビット数だけ“１”を左シフトすることによって得られる値と同じ値であって、かつ参照画像と対象画像との間の輝度における画素値変化がない場合の前記輝度の重み係数の値と同じ値である第１基準値と、前記輝度の重み係数と、の差異と同じ値である、前記輝度の重み係数の第２差分値が符号化されたデータであって、前記第１基準値と前記第２差分値とが加算されることにより、前記輝度の重み係数を決定する処理に用いられるデータと、前記第２固定小数点精度で定められるビット数だけ“１”を左シフトすることによって得られる値と同じ値であって、かつ前記参照画像と前記対象画像との間の色差における画素値変化がない場合の前記色差の重み係数の値と同じ値である第２基準値と、の差分である第３差分値が符号化されたデータであって、前記第３差分値と前記第２基準値とが加算されることにより、前記色差の重み係数を決定する処理に用いられるデータと、を含む。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態の符号化装置の例を示すブロック図。
【図２】第１実施形態における画素ブロックの予測符号化順序例を示す説明図。
【図３Ａ】第１実施形態におけるコーディングツリーブロックのブロックサイズ例を示す図。
【図３Ｂ】第１実施形態のコーディングツリーブロックの具体例を示す図。
【図３Ｃ】第１実施形態のコーディングツリーブロックの具体例を示す図。
【図３Ｄ】第１実施形態のコーディングツリーブロックの具体例を示す図。
【図４】第１実施形態の予測画像生成部の例を示すブロック図。
【図５】第１実施形態の双方向予測における動き補償予測の動きベクトルの関係の例を示す図。
【図６】第１実施形態の複数フレーム動き補償部の例を示すブロック図。
【図７】第１実施形態における重み係数の固定小数点精度の例の説明図。
【図８Ａ】第１実施形態のＷＰパラメータ情報例を示す図。
【図８Ｂ】第１実施形態のＷＰパラメータ情報例を示す図。
【図９】第１実施形態のシンタクスの例を示す図。
【図１０】第１実施形態のピクチャパラメータセットシンタクスの例を示す図。
【図１１】第１実施形態のスライスヘッダーシンタクスの例を示す図。
【図１２】第１実施形態のプレッドウェイトテーブルシンタクスの例を示す図。
【図１３】第１実施形態の予測方法を明示的に示したシンタクス構成の例を示す図。
【図１４】第１実施形態の固定小数点精度の予測処理例を示すフローチャート。
【図１５】第１実施形態の固定小数点精度の復元処理例を示すフローチャート。
【図１６】第１実施形態の重み係数の予測処理例を示すフローチャート。
【図１７】第１実施形態の重み係数の復元処理例を示すフローチャート。
【図１８】第１実施形態の重み係数の予測処理の他の例を示すフローチャート。
【図１９】第１実施形態の重み係数の復元処理の他の例を示すフローチャート。
【図２０】第１実施形態の色差信号の予測処理例を示すフローチャート。
【図２１】第１実施形態の色差信号の復元処理例を示すフローチャート。
【図２２】第１実施形態の重み係数の予測処理例の他の例を示すフローチャート。
【図２３】第１実施形態の重み係数の復元処理例の他の例を示すフローチャート。
【図２４】第２実施形態の復号装置の構成例を示すブロック図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、実施形態を詳細に説明する。以下の各実施形態の符号化装置及び復号装置は、ＬＳＩ（Large-Scale  Integration）チップ、ＤＳＰ（Digital  Signal  Processor）、又はＦＰＧＡ（Field  Programmable  Gate  Array）などのハードウェアにより実現できる。また、以下の各実施形態の符号化装置及び復号装置は、コンピュータにプログラムを実行させること、即ち、ソフトウェアにより実現させることもできる。なお、以降の説明において、「画像」という用語は、「映像」、「画素」、「画像信号」、「絵」、又は「画像データ」などの用語に適宜読み替えることができる。
【００１０】
（第１実施形態）
第１実施形態では、動画像を符号化する符号化装置について説明する。
【００１１】
図１は、第１実施形態の符号化装置１００の構成の一例を示すブロック図である。
【００１２】
符号化装置１００は、入力画像を構成する各フレーム又は各フィールドを複数の画素ブロックに分割し、符号化制御部１１１から入力される符号化パラメータを用いて、分割した画素ブロックに対して予測符号化を行い、予測画像を生成する。そして符号化装置１００は、複数の画素ブロックに分割した入力画像と予測画像とを減算して予測誤差を生成し、生成した予測誤差を直交変換及び量子化し、更にエントロピー符号化を行って符号化データを生成し、出力する。
【００１３】
符号化装置１００は、画素ブロックのブロックサイズ及び予測画像の生成方法の少なくともいずれかが異なる複数の予測モードを選択的に適用して予測符号化を行う。予測画像の生成方法は、大別すると、符号化対象フレーム内で予測を行うイントラ予測と、時間的に異なる１以上の参照フレームを用いて動き補償予測を行うインター予測との２種類である。なお、イントラ予測は、画面内予測又はフレーム内予測などとも称され、インター予測は、画面間予測、フレーム間予測、又は動き補償予測などとも称される。
【００１４】
図２は、第１実施形態における画素ブロックの予測符号化順序の一例を示す説明図である。図２に示す例では、符号化装置１００は、画素ブロックの左上から右下に向かって予測符号化を行っており、符号化処理対象のフレームｆにおいて、符号化対象画素ブロックｃよりも左側及び上側に符号化済み画素ブロックｐが位置している。以下では、説明の簡単化のため、符号化装置１００は、図２に示す順序で予測符号化を行うものとするが、予測符号化の順序はこれに限定されるものではない。
【００１５】
画素ブロックは、画像を処理する単位を示し、例えば、Ｍ×Ｎサイズのブロック（Ｍ及びＮは自然数）、コーディングツリーブロック、マクロブロック、サブブロック、又は１画素などが該当する。以降の説明では、基本的に、画素ブロックをコーディングツリーブロックの意味で使用するが、他の意味で使用する場合もある。例えば、プレディクションユニットの説明では、画素ブロックを、プレディクションユニットの画素ブロックの意味で使用する。また、ブロックはユニットなどの名称で呼ばれることもある。例えばコーディングブロックをコーディングユニットと呼ぶ。
【００１６】
図３Ａは、第１実施形態におけるコーディングツリーブロックのブロックサイズの一例を示す図である。コーディングツリーブロックは、典型的には、図３Ａに示すような６４×６４の画素ブロックである。但し、これに限定されるものではなく、３２×３２の画素ブロック、１６×１６の画素ブロック、８×８の画素ブロック、又は４×４の画素ブロックなどであってもよい。また、コーディングツリーブロックは、正方形でなくてもよく、例えば、Ｍ×Ｎサイズ（Ｍ≠Ｎ）の画素ブロックであってもよい。
【００１７】
図３Ｂ〜図３Ｄは、第１実施形態のコーディングツリーブロックの具体例を示す図である。図３Ｂは、ブロックサイズが６４×６４（Ｎ＝３２）のコーディングツリーブロックを示している。Ｎは、基準となるコーディングツリーブロックのサイズを表しており、分割された場合のサイズがＮ、分割されない場合のサイズが２Ｎと定義されている。図３Ｃは、図３Ｂのコーディングツリーブロックを四分木分割したコーディングツリーブロックを示している。コーディングツリーブロックは、図３Ｃに示すように、四分木構造を持つ。コーディングツリーブロックが分割された場合、分割後の４つの画素ブロックに対して、図３Ｃに示すように、Ｚスキャン順で番号が付される。
【００１８】
なお、コーディングツリーブロックは、１つの四分木の番号内で更に四分木分割することができる。これにより、コーディングツリーブロックを階層的に分割することができる。この場合、分割の深さは、Ｄｅｐｔｈで定義される。図３Ｄは、図３Ｂのコーディングツリーブロックを四分木分割したコーディングツリーブロックの１つを示し、ブロックサイズが３２×３２（Ｎ＝１６）となっている。図３Ｂに示すコーディングツリーブロックのＤｅｐｔｈは０であり、図３Ｄに示すコーディングツリーブロックのＤｅｐｔｈは、１である。なお、最もユニットが大きいコーディングツリーブロックは、ラージコーディングツリーブロックと呼ばれ、この単位で入力画像信号がラスタースキャン順に符号化される。
【００１９】
以降の説明では、入力画像の符号化対象ブロック又はコーディングツリーブロックを予測対象ブロック又は予測画素ブロックと称することもある。なお、符号化単位は画素ブロックに限らず、フレーム、フィールド、スライス、ライン、及び画素の少なくともいずれかを用いることもできる。
【００２０】
符号化装置１００は、図１に示すように、減算部１０１と、直交変換部１０２と、量子化部１０３と、逆量子化部１０４と、逆直交変換部１０５と、加算部１０６と、予測画像生成部１０７と、インデックス設定部１０８と、動き評価部１０９と、符号化部１１０とを、備える。なお、図１に示す符号化制御部１１１は、符号化装置１００を制御するものであり、例えば、ＣＰＵ（Central  Processing  Unit）などにより実現できる。
【００２１】
減算部１０１は、画素ブロックに分割された入力画像から対応する予測画像を減算して予測誤差を得る。減算部１０１は、予測誤差を出力し、直交変換部１０２に入力する。
【００２２】
直交変換部１０２は、減算部１０１から入力された予測誤差に対して、例えば、離散コサイン変換（ＤＣＴ）又は離散サイン変換（ＤＳＴ）のような直交変換を行い、変換係数を得る。直交変換部１０２は、変換係数を出力し、量子化部１０３に入力する。
【００２３】
量子化部１０３は、直交変換部１０２から入力された変換係数に対して量子化処理を行い、量子化変換係数を得る。具体的には、量子化部１０３は、符号化制御部１１１によって指定される量子化パラメータや量子化マトリクスなどの量子化情報に従って量子化を行う。より詳細には、量子化部１０３は、変換係数を量子化情報によって導出される量子化ステップサイズで除算し、量子化変換係数を得る。量子化パラメータは、量子化の細かさを示す。量子化マトリクスは、量子化の細かさを変換係数の成分毎に重み付けするために使用される。量子化部１０３は、量子化変換係数を出力し、逆量子化部１０４及び符号化部１１０に入力する。
【００２４】
逆量子化部１０４は、量子化部１０３から入力された量子化変換係数に対して逆量子化処理を行い、復元変換係数を得る。具体的には、逆量子化部１０４は、量子化部１０３において使用された量子化情報に従って逆量子化を行う。より詳細には、逆量子化部１０４は、量子化情報によって導出された量子化ステップサイズを量子化変換係数に乗算し、復元変換係数を得る。なお、量子化部１０３において使用された量子化情報は、符号化制御部１１１の図示せぬ内部メモリからロードされて利用される。逆量子化部１０４は、復元変換係数を出力し、逆直交変換部１０５に入力する。
【００２５】
逆直交変換部１０５は、逆量子化部１０４から入力された復元変換係数に対して、例えば、逆離散コサイン変換（ＩＤＣＴ）又は逆離散サイン変換（ＩＤＳＴ）などのような逆直交変換を行い、復元予測誤差を得る。なお、逆直交変換部１０５が行う逆直交変換は、直交変換部１０２において行われた直交変換に対応する。逆直交変換部１０５は、復元予測誤差を出力し、加算部１０６に入力する。
【００２６】
加算部１０６は、逆直交変換部１０５から入力された復元予測誤差と対応する予測画像とを加算し、局所復号画像を生成する。加算部１０６は、局所復号画像を出力し、予測画像生成部１０７に入力する。
【００２７】
予測画像生成部１０７は、加算部１０６から入力された局所復号画像を参照画像としてメモリ（図１では図示省略）に蓄積し、メモリに蓄積した参照画像を出力し、動き評価部１０９に入力する。また予測画像生成部１０７は、動き評価部１０９から入力される動き情報及びＷＰパラメータ情報に基づいて重み付き動き補償予測を行い、予測画像を生成する。予測画像生成部１０７は、予測画像を出力し、減算部１０１及び加算部１０６に入力する。
【００２８】
図４は、第１実施形態の予測画像生成部１０７の構成の一例を示すブロック図である。予測画像生成部１０７は、図４に示すように、複数フレーム動き補償部２０１と、メモリ２０２と、単方向動き補償部２０３と、予測パラメータ制御部２０４と、参照画像セレクタ２０５と、フレームメモリ２０６と、参照画像制御部２０７と、を備える。
【００２９】
フレームメモリ２０６は、参照画像制御部２０７の制御の下、加算部１０６から入力された局所復号画像を参照画像として格納する。フレームメモリ２０６は、参照画像を一時保持するための複数のメモリセットＦＭ１〜ＦＭＮ（Ｎ≧２）を有する。
【００３０】
予測パラメータ制御部２０４は、動き評価部１０９から入力される動き情報に基づいて、参照画像番号と予測パラメータとの複数の組み合わせをテーブルとして用意している。ここで、動き情報とは、動き補償予測で用いられる動きのズレ量を示す動きベクトルや参照画像番号、単方向／双方向予測などの予測モードに関する情報などを指す。予測パラメータは、動きベクトル及び予測モードに関する情報を指す。そして予測パラメータ制御部２０４は、入力画像に基づいて、予測画像の生成に用いる参照画像番号と予測パラメータとの組み合わせを選択して出力し、参照画像番号を参照画像セレクタ２０５に入力し、予測パラメータを単方向動き補償部２０３に入力する。
【００３１】
参照画像セレクタ２０５は、フレームメモリ２０６が有するフレームメモリＦＭ１〜ＦＭＮのいずれの出力端を接続するかを、予測パラメータ制御部２０４から入力された参照画像番号に従って切り替えるスイッチである。参照画像セレクタ２０５は、例えば、参照画像番号が０であれば、ＦＭ１の出力端を参照画像セレクタ２０５の出力端に接続し、参照画像番号がＮ−１であれば、ＦＭＮの出力端を参照画像セレクタ２０５の出力端に接続する。参照画像セレクタ２０５は、フレームメモリ２０６が有するフレームメモリＦＭ１〜ＦＭＮのうち、出力端が接続されているフレームメモリに格納されている参照画像を出力し、単方向動き補償部２０３及び動き評価部１０９へ入力する。
【００３２】
単方向予測動き補償部２０３は、予測パラメータ制御部２０４から入力された予測パラメータと参照画像セレクタ２０５から入力された参照画像に従って、動き補償予測処理を行い、単方向予測画像を生成する。
【００３３】
図５は、第１実施形態の双方向予測における動き補償予測の動きベクトルの関係の一例を示す図である。動き補償予測では、参照画像を用いて補間処理が行われ、作成された補間画像と入力画像との符号化対象位置の画素ブロックからの動きのズレ量を元に単方向予測画像が生成される。ここで、ズレ量は、動きベクトルである。図５に示すように、双方向予測スライス（Ｂ−ｓｌｉｃｅ）では、２種類の参照画像と動きベクトルのセットを用いて予測画像が生成される。補間処理としては、１／２画素精度の補間処理や、１／４画素精度の補間処理などが用いられ、参照画像に対してフィルタリング処理が行われることによって、補間画像の値が生成される。例えば、輝度信号に対して１／４画素精度までの補間処理な可能なＨ．２６４では、ズレ量は整数画素精度の４倍で表現される。
【００３４】
単方向予測動き補償部２０３は、単方向予測画像を出力し、メモリ２０２に一時的に格納する。ここで、動き情報（予測パラメータ）が双方向予測を示す場合には、複数フレーム動き補償部２０１が２種類の単方向予測画像を用いて重み付き予測を行うため、単方向予測動き補償部２０３は、１つ目に対応する単方向予測画像をメモリ２０２に格納し、２つ目に対応する単法予測画像を複数フレーム動き補償部２０１に直接出力する。ここでは、１つ目に対応する単方向予測画像を第一予測画像とし、２つ目に対応する単方向予測画像を第二予測画像とする。
【００３５】
なお、単方向動き補償部２０３を２つ用意し、それぞれが２つの単方向予測画像を生成するようにしてもよい。この場合、動き情報（予測パラメータ）が単方向予測を示すときには、単方向動き補償部２０３が、１つ目の単方向予測画像を第一予測画像として複数フレーム動き補償部２０１に直接出力すればよい。
【００３６】
複数フレーム動き補償部２０１は、メモリ２０２から入力される第一予測画像、単方向予測動き補償部２０３から入力される第二予測画像、及び動き評価部１０９から入力されるＷＰパラメータ情報を用いて、重み付き予測を行って予測画像を生成する。複数フレーム動き補償部２０１は、予測画像を出力し、減算部１０１及び加算部１０６に入力する。
【００３７】
図６は、第１実施形態の複数フレーム動き補償部２０１の構成の一例を示すブロック図である。複数フレーム動き補償部２０１は、図６に示すように、デフォルト動き補償部３０１と、重み付き動き補償部３０２と、ＷＰパラメータ制御部３０３と、ＷＰセレクタ３０４、３０５とを、備える。
【００３８】
ＷＰパラメータ制御部３０３は、動き評価部１０９から入力されるＷＰパラメータ情報に基づいて、ＷＰ適用フラグ及び重み情報を出力し、ＷＰ適用フラグをＷＰセレクタ３０４、３０５に入力し、重み情報を重み付き動き補償部３０２に入力する。
【００３９】
ここで、ＷＰパラメータ情報は、重み係数の固定小数点精度、第一予測画像に対応する第一ＷＰ適用フラグ，第一重み係数，及び第一オフセット、並びに第二予測画像に対応する第二ＷＰ適応フラグ，第二重み係数，及び第二オフセットの情報を含む。ＷＰ適用フラグは、該当する参照画像及び信号成分毎に設定可能なパラメータであり、重み付き動き補償予測を行うかどうかを示す。重み情報は、重み係数の固定小数点精度、第一重み係数、第一オフセット、第二重み係数、及び第二オフセットの情報を含む。
【００４０】
詳細には、ＷＰパラメータ制御部３０３は、動き評価部１０９からＷＰパラメータ情報が入力されると、ＷＰパラメータ情報を第一ＷＰ適用フラグ、第二ＷＰ適用フラグ、及び重み情報に分離して出力し、第一ＷＰ適用フラグをＷＰセレクタ３０４に入力し、第二ＷＰ適用フラグをＷＰセレクタ３０５に入力し、重み情報を重み付き動き補償部３０２に入力する。
【００４１】
ＷＰセレクタ３０４、３０５は、ＷＰパラメータ制御部３０３から入力されたＷＰ適用フラグに基づいて、各々の予測画像の接続端を切り替える。ＷＰセレクタ３０４、３０５は、各々のＷＰ適用フラグが０の場合、各々の出力端をデフォルト動き補償部３０１へ接続する。そしてＷＰセレクタ３０４、３０５は、第一予測画像及び第二予測画像を出力し、デフォルト動き補償部３０１に入力する。一方、ＷＰセレクタ３０４、３０５は、各々のＷＰ適用フラグが１の場合、各々の出力端を重み付き動き補償部３０２へ接続する。そしてＷＰセレクタ３０４、３０５は、第一予測画像及び第二予測画像を出力し、重み付き動き補償部３０２に入力する。
【００４２】
デフォルト動き補償部３０１は、ＷＰセレクタ３０４、３０５から入力された２つの単方向予測画像（第一予測画像及び第二予測画像）を元に平均値処理を行い、予測画像を生成する。具体的には、デフォルト動き補償部３０１は、第一ＷＰ適用フラグ及び第二ＷＰ適用フラグが０の場合、数式（１）に基づいて平均値処理を行う。
【００４３】
Ｐ［ｘ，ｙ］＝Ｃｌｉｐ１（（ＰＬ０［ｘ，ｙ］＋ＰＬ１［ｘ，ｙ］＋ｏｆｆｓｅｔ２）＞＞（ｓｈｉｆｔ２）)      …（１）
【００４４】
ここで、Ｐ［ｘ，ｙ］は予測画像、ＰＬ０［ｘ，ｙ］は第一予測画像、ＰＬ１［ｘ，ｙ］は第二予測画像である。ｏｆｆｓｅｔ２及びｓｈｉｆｔ２は平均値処理における丸め処理のパラメータであり、第一予測画像及び第二予測画像の内部演算精度によって定まる。予測画像のビット精度をＬ、第一予測画像及び第二予測画像のビット精度をＭ（Ｌ≦Ｍ）とすると、ｓｈｉｆｔ２は数式（２）で定式化され、ｏｆｆｓｅｔ２は数式（３）で定式化される。
【００４５】
ｓｈｉｆｔ２＝（Ｍ−Ｌ＋１）      …（２）
【００４６】
ｏｆｆｓｅｔ２＝（１＜＜（ｓｈｉｆｔ２−１）      …（３）
【００４７】
例えば、予測画像のビット精度が８であり、第一予測画像及び第二予測画像のビット精度が１４である場合、数式（２）よりｓｈｉｆｔ２＝７、数式（３）よりｏｆｆｓｅｔ２＝（１＜＜６）となる。
【００４８】
なお、動き情報（予測パラメータ）で示される予測モードが単方向予測である場合、デフォルト動き補償部３０１は、第一予測画像のみを用いて、数式（４）に基づいて最終的な予測画像を算出する。
【００４９】
Ｐ［ｘ，ｙ］＝Ｃｌｉｐ１（（ＰＬＸ［ｘ，ｙ］＋ｏｆｆｓｅｔ１）＞＞（ｓｈｉｆｔ１）)      …（４）
【００５０】
ここで、ＰＬＸ［ｘ，ｙ］は単方向予測画像（第一予測画像）を示しており、Ｘは参照リストの０又は１のいずれかを示す識別子である。例えば、参照リストが０の場合はＰＬ０［ｘ，ｙ］、参照リストが１の場合はＰＬ１［ｘ，ｙ］となる。ｏｆｆｓｅｔ１及びｓｈｉｆｔ１は丸め処理のパラメータであり、第一予測画像の内部演算精度によって定まる。予測画像のビット精度をＬ、第一予測画像のビット精度をＭとすると、ｓｈｉｆｔ１は数式（５）で定式化され、ｏｆｆｓｅｔ１は数式（６）で定式化される。
【００５１】
ｓｈｉｆｔ１＝（Ｍ−Ｌ）      …（５）
【００５２】
ｏｆｆｓｅｔ１＝（１＜＜（ｓｈｉｆｔ１−１）      …（６）
【００５３】
例えば、予測画像のビット精度が８であり、第一予測画像のビット精度が１４である場合、数式（５）よりｓｈｉｆｔ１＝６、数式（６）よりｏｆｆｓｅｔ１＝（１＜＜５）となる。
【００５４】
重み付き動き補償部３０２は、ＷＰセレクタ３０４、３０５から入力された２つの単方向予測画像（第一予測画像及び第二予測画像）とＷＰパラメータ制御部３０３から入力された重み情報とを元に重み付き動き補償を行う。具体的には、重み付き動き補償部３０２は、第一ＷＰ適用フラグ及び第二ＷＰ適用フラグが１の場合、数式（７）に基づいて重み付き処理を行う。
【００５５】
Ｐ［ｘ，ｙ］＝Ｃｌｉｐ１（（（ＰＬ０［ｘ，ｙ］＊ｗ０Ｃ＋ＰＬ１［ｘ，ｙ］＊ｗ１Ｃ＋（１＜＜ｌｏｇＷＤＣ））＞＞（ｌｏｇＷＤＣ＋１））＋（（ｏ０Ｃ＋ｏ１Ｃ＋１）＞＞１））      …（７）
【００５６】
ここで、ｗ０Ｃは第一予測画像に対応する重み係数、ｗ１Ｃは第二予測画像に対応する重み係数、ｏ０Ｃは第一予測画像に対応するオフセット、ｏ１Ｃは第二予測画像に対応するオフセットを表す。以後、それぞれを第一重み係数、第二重み係数、第一オフセット、第二オフセットと呼ぶ。ｌｏｇＷＤＣはそれぞれの重み係数の固定小数点精度を示すパラメータである。変数Ｃは、信号成分を意味する。例えば、ＹＵＶ空間信号の場合、輝度信号をＣ＝Ｙとし、Ｃｒ色差信号をＣ＝Ｃｒ、Ｃｂ色差成分をＣ＝Ｃｂと表す。
【００５７】
なお、重み付き動き補償部３０２は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるｌｏｇＷＤＣを数式（８）のように制御することで丸め処理を実現する。
【００５８】
ｌｏｇＷＤ’Ｃ＝ｌｏｇＷＤＣ＋ｏｆｆｓｅｔ１      …（８）
【００５９】
丸め処理は、数式（７）のｌｏｇＷＤＣを、数式（８）のｌｏｇＷＤ’Ｃに置き換えることで実現できる。例えば、予測画像のビット精度が８であり、第一予測画像及び第二予測画像のビット精度が１４である場合、ｌｏｇＷＤＣを再設定することにより、数式（１）のｓｈｉｆｔ２と同様の演算精度における一括丸め処理を実現することが可能となる。
【００６０】
なお、動き情報（予測パラメータ）で示される予測モードが単方向予測である場合、重み付き動き補償部３０２は、第一予測画像のみを用いて、数式（９）に基づいて最終的な予測画像を算出する。
【００６１】
Ｐ［ｘ，ｙ］＝Ｃｌｉｐ１（（ＰＬＸ［ｘ，ｙ］＊ｗＸＣ＋（１＜＜ｌｏｇＷＤＣ−１））＞＞（ｌｏｇＷＤＣ））      …（９）
【００６２】
ここで、ＰＬＸ［ｘ，ｙ］は単方向予測画像（第一予測画像）を示し、ｗＸＣは単方向予測に対応する重み係数を示しており、Ｘは参照リストの０又は１のいずれかを示す識別子である。例えば、参照リストが０の場合はＰＬ０［ｘ，ｙ］、ｗ０Ｃ、参照リストが１の場合はＰＬ１［ｘ，ｙ］、ｗ１Ｃとなる。
【００６３】
なお、重み付き動き補償部３０２は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるｌｏｇＷＤＣを双方向予測時と同様に数式（８）のように制御することで丸め処理を実現する。
【００６４】
丸め処理は、数式（７）のｌｏｇＷＤＣを、数式（８）のｌｏｇＷＤ’Ｃに置き換えることで実現できる。例えば、予測画像のビット精度が８であり、第一予測画像のビット精度が１４である場合、ｌｏｇＷＤＣを再設定することにより、数式（４）のｓｈｉｆｔ１と同様の演算精度における一括丸め処理を実現することが可能となる。
【００６５】
図７は、第１実施形態における重み係数の固定小数点精度の一例の説明図であり、時間方向の明度変化がある動画像と階調値との変化の一例を示す図である。図７に示す例では、符号化対象フレームをＦｒａｍｅ（ｔ）とし、時間的に１つ前のフレームをＦｒａｍｅ（ｔ−１）、時間的に１つ後のフレームをＦｒａｍｅ（ｔ＋１）としている。図７に示すように、白から黒に変化するフェード画像では、画像の明度（階調値）が時間とともに減少していく。重み係数は、図７における変化の度合いを意味しており、数式（７）及び数式（９）から明らかなように、明度変化がない場合に１．０の値を取る。固定小数点精度は、重み係数の小数点に対応する刻み幅を制御するパラメータであり、明度変化がない場合の重み係数は、１＜＜ｌｏｇＷＤＣとなる。
【００６６】
なお、単方向予測の場合には、第二予測画像に対応する各種パラメータ（第二ＷＰ適応フラグ，第二重み係数，及び第二オフセットの情報）は利用されないため、予め定めた初期値に設定されていてもよい。
【００６７】
図１に戻り、動き評価部１０９は、入力画像と予測画像生成部１０７から入力された参照画像とに基づき複数フレーム間の動き評価を行い、動き情報及びＷＰパラメータ情報を出力し、動き情報を予測画像生成部１０７及び符号化部１１０に入力し、ＷＰパラメータ情報を予測画像生成部１０７及びインデックス設定部１０８に入力する。
【００６８】
動き評価部１０９は、例えば、予測対象画素ブロックの入力画像と同位置に対応する複数の参照画像を起点として差分値を計算することで誤差を算出し、この位置を分数精度でずらし、誤差最小のブロックを探すブロックマッチングなどの手法により、最適な動き情報を算出する。動き評価部１０９は、双方向予測の場合には、単方向予測で導出された動き情報を用いて、数式（１）及び数式（４）に示すようなデフォルト動き補償予測を含むブロックマッチングを行うことにより、双方向予測の動き情報を算出する。
【００６９】
この際、動き評価部１０９は、数式（７）及び数式（９）で示されるような重み付き動き補償予測を含むブロックマッチングを行うことにより、ＷＰパラメータ情報を算出できる。なお、ＷＰパラメータ情報の算出には、入力画像の明度勾配を用いて重み係数やオフセットを算出する方法や、符号化した際の予測誤差の累積による重み係数やオフセットの算出方法などを用いてもよい。またＷＰパラメータ情報は、符号化装置毎に予め定めた固定値を用いてもよい。
【００７０】
ここで、図７を参照しながら、時間的に明度変化のある動画像から、重み係数、重み係数の固定小数点精度、及びオフセットを算出する方法を説明する。前述したように、図７に示すような白から黒に変化するフェード画像では、画像の明度（階調値）が時間とともに減少していく。動き評価部１０９は、この傾きを計算することにより、重み係数を算出することができる。
【００７１】
また、重み係数の固定小数点精度は、この傾きの精度を示す情報であり、動き評価部１０９は、参照画像の時間的な距離と画像明度の変化度から、最適な値を計算できる。例えば、図７において、Ｆｒａｍｅ（ｔ−１）〜Ｆｒａｍｅ（ｔ＋１）間の重み係数が小数点精度で０．７５である場合、１／４精度であれば、３／４が表現できるため、動き評価部１０９は、固定小数点精度を２（１＜＜２）に設定する。固定小数点精度の値は、重み係数を符号化した場合の符号量に影響を与えるため、符号量と予測精度を考慮して最適な値を選択すればよい。なお、固定小数点精度の値は、予め定めた固定値としてもよい。
【００７２】
また、動き評価部１０９は、傾きが一致しない場合、一次関数の切片に対応する補正値（ズレ量）を求めることでオフセット値を算出できる。例えば、図７において、Ｆｒａｍｅ（ｔ−１）〜Ｆｒａｍｅ（ｔ＋１）間の重み係数が小数点精度で０．６０であり、固定小数点精度が１（１＜＜１）である場合、重み係数は１（つまり、重み係数の小数点精度０．５０に該当）が設定される可能性が高い。この場合、重み係数の小数点精度は、最適な値である０．６０から０．１０ずれているため、動き評価部１０９は、この分の補正値を画素の最大値から計算し、オフセット値として設定する。画素の最大値が２５５である場合、動き評価部１０９は、２５（２５５×０．１）などの値を設定すればよい。
【００７３】
なお第１実施形態では、符号化装置１００の一機能として動き評価部１０９を例示しているが、動き評価部１０９は符号化装置１００の必須の構成ではなく、例えば、動き評価部１０９を符号化装置１００外の装置としてもよい。この場合、動き評価部１０９で算出された動き情報及びＷＰパラメータ情報を符号化装置１００にロードするようにすればよい。
【００７４】
インデックス設定部１０８は、動き評価部１０９から入力されたＷＰパラメータ情報を受け取り、参照リスト（リスト番号）と参照画像（参照番号）とを確認して、インデックス情報を出力し、符号化部１１０に入力する。インデックス設定部１０８は、動き評価部１０９から入力されたＷＰパラメータ情報を、後述するシンタクス要素にマッピングしてインデックス情報を生成する。
【００７５】
図８Ａ及び図８Ｂは、第１実施形態のＷＰパラメータ情報の一例を示す図である。Ｐ−ｓｌｉｃｅ時のＷＰパラメータ情報の一例は、図８Ａに示すとおりであり、Ｂ−ｓｌｉｃｅ時のＷＰパラメータ情報の一例は、図８Ａ及び図８Ｂに示すとおりである。リスト番号は、予測方向を示す識別子であり、単方向予測時は０の値を取り、双方向予測時は２種類の予測を用いることができるため、０と１の２つの値を取る。参照番号は、フレームメモリ２０６に示される１〜Ｎに対応する値である。ＷＰパラメータ情報は、参照リストと参照画像毎に保持されるため、Ｂ−ｓｌｉｃｅ時で必要な情報は、参照画像がＮ個とすると２Ｎ個となる。
【００７６】
図１に戻り、符号化部１１０は、量子化部１０３から入力された量子化変換係数、動き評価部１０９から入力された動き情報、インデックス設定部１０８から入力されたインデックス情報、及び符号化制御部１１１によって指定される量子化情報などの様々な符号化パラメータに対して符号化処理を行い、符号化データを生成する。符号化処理は、例えば、ハフマン符号化や算術符号化などが該当する。
【００７７】
符号化パラメータとは、予測方法などを示す予測情報、量子化変換係数に関する情報、及び量子化に関する情報などの復号に必要となるパラメータである。例えば、符号化制御部１１１が図示せぬ内部メモリを持ち、この内部メモリに符号化パラメータが保持され、画素ブロックを符号化する際に隣接する既に符号化済みの画素ブロックの符号化パラメータを用いるようにできる。例えば、Ｈ．２６４のイントラ予測では、符号化済みの隣接ブロックの予測情報から、画素ブロックの予測情報を導出することができる。
【００７８】
符号化部１１０は、生成した符号化データを、符号化制御部１１１が管理する適切な出力タイミングに従って出力する。出力された符号化データは、例えば、図示せぬ多重化部などで様々な情報が多重化されて、図示せぬ出力バッファなどに一時的に蓄積された後に、例えば、図示せぬ蓄積系（蓄積メディア）又は伝送系（通信回線）へ出力される。
【００７９】
符号化部１１０は、エントロピー符号化部１１０Ａと、インデックス再構成部１１０Ｂとを、備える。
【００８０】
エントロピー符号化部１１０Ａは、入力されてきた情報に対して可変長符号化や算術符号化などの符号化処理を行う。例えば、Ｈ．２６４では、コンテキスト適応型の可変長符号化（ＣＡＶＬＣ：Ｃｏｎｔｅｘｔ  ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）やコンテキスト適応型の算術符号化（ＣＡＢＡＣ：Ｃｏｎｔｅｘｔ  ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）などが用いられる。
【００８１】
インデックス再構成部１１０Ｂは、インデックス設定部１０８から入力されたインデックス情報のシンタクス要素の符号長を削減するため、シンタクス要素のパラメータの特徴に応じて予測処理を行い、シンタクス要素のそのままの値（直値）と予測値の差分値とを計算し、エントロピー符号化部１１０Ａに出力する。予測処理の具体例は、後述する。
【００８２】
図９は、第１実施形態の符号化装置１００が利用するシンタクス５００の一例を示す図である。シンタクス５００は、符号化装置１００が入力画像（動画像データ）を符号化して生成した符号化データの構造を示している。符号化データを復号化する場合、後述の復号装置は、シンタクス５００と同一のシンタクス構造を参照して動画像のシンタクス解釈を行う。
【００８３】
シンタクス５００は、ハイレベルシンタクス５０１、スライスレベルシンタクス５０２及びコーディングツリーレベルシンタクス５０３の３つのパートを含む。ハイレベルシンタクス５０１は、スライスよりも上位のレイヤのシンタクス情報を含む。スライスとは、フレーム若しくはフィールドに含まれる矩形領域又は連続領域を指す。スライスレベルシンタクス５０２は、各スライスを復号化するために必要な情報を含む。コーディングツリーレベルシンタクス５０３は、各コーディングツリー（即ち、各コーディングツリーブロック）を復号するために必要な情報を含む。これら各パートは、更に詳細なシンタクスを含む。
【００８４】
ハイレベルシンタクス５０１は、シーケンスパラメータセットシンタクス５０４、ピクチャパラメータセットシンタクス５０５、及びアダプテーションパラメータセットシンタクス５０６などのシーケンス及びピクチャレベルのシンタクスを含む。
【００８５】
スライスレベルシンタクス５０２は、スライスヘッダーシンタクス５０７、プレッドウェイトテーブルシンタクス５０８、及びスライスデータシンタクス５０９などを含む。プレッドウェイトテーブルシンタクス５０８は、スライスヘッダーシンタクス５０７から呼び出される。
【００８６】
コーディングツリーレベルシンタクス５０３は、コーディングツリーユニットシンタクス５１０、トランスフォームユニットシンタクス５１１、及びプレディクションユニットシンタクス５１２などを含む。コーディングツリーユニットシンタクス５１０は、四分木構造を持つことができる。具体的には、コーディングツリーユニットシンタクス５１０のシンタクス要素として、更にコーディングツリーユニットシンタクス５１０を再帰呼び出しすることができる。即ち、１つのコーディングツリーブロックを四分木で細分化することができる。また、コーディングツリーユニットシンタクス５１０内にはトランスフォームユニットシンタクス５１１が含まれている。トランスフォームユニットシンタクス５１１は、四分木の最末端の各コーディングツリーユニットシンタクス５１０において呼び出される。トランスフォームユニットシンタクス５１１は、逆直交変換及び量子化などに関わる情報が記述されている。これらのシンタクスには、重み付き動き補償予測に関する情報が記述されてもよい。
【００８７】
図１０は、第１実施形態のピクチャパラメータセットシンタクス５０５の一例を示す図である。weighted_pred_flagは、例えば、Ｐ−ｓｌｉｃｅに関する第１実施形態の重み付き補償予測の有効又は無効を示すシンタクス要素である。weighted_pred_flagが０である場合、Ｐ−ｓｌｉｃｅ内での第１実施形態の重み付き動き補償予測は無効となる。従って、ＷＰパラメータ情報に含まれるＷＰ適用フラグは常に０に設定され、ＷＰセレクタ３０４、３０５は、各々の出力端をデフォルト動き補償部３０１へ接続する。一方、weighted_pred_flagが１である場合、Ｐ−ｓｌｉｃｅ内での第１実施形態の重み付き動き補償予測は有効となる。
【００８８】
なお、別の例として、weighted_pred_flagが１である場合には、より下位のレイヤ（スライスヘッダー、コーディングツリーブロック、トランスフォームユニット、及びプレディクションユニットなど）のシンタクスにおいて、スライス内部の局所領域毎に第１実施形態の重み付き動き補償予測の有効又は無効を規定するようにしてもよい。
【００８９】
weighted_bipred_idcは、例えば、Ｂ−ｓｌｉｃｅに関する第１実施形態の重み付き補償予測の有効又は無効を示すシンタクス要素である。weighted_bipred_idcが０である場合、Ｂ−ｓｌｉｃｅ内での第１実施形態の重み付き動き補償予測は無効となる。従って、ＷＰパラメータ情報に含まれるＷＰ適用フラグは常に０に設定され、ＷＰセレクタ３０４、３０５は、各々の出力端をデフォルト動き補償部３０１へ接続する。一方、weighted_bipred_idcが１である場合、Ｂ−ｓｌｉｃｅ内での第１実施形態の重み付き動き補償予測は有効となる。
【００９０】
なお、別の例として、weighted_bipred_idcが１である場合には、より下位のレイヤ（スライスヘッダー、コーディングツリーブロック、及びトランスフォームユニットなど）のシンタクスにおいて、スライス内部の局所領域毎に第１実施形態の重み付き動き補償予測の有効又は無効を規定するようにしてもよい。
【００９１】
図１１は、第１実施形態のスライスヘッダーシンタクス５０７の一例を示す図である。slice_typeはスライスのスライスタイプ（Ｉ−ｓｌｉｃｅ，Ｐ−ｓｌｉｃｅ，Ｂ−ｓｌｉｃｅなど）を示している。pic_parameter_set_idは、いずれのピクチャパラメータセットシンタクス５０５を参照するかを示す識別子である。num_ref_idx_active_override_flagは、有効な参照画像の数を更新するかどうかを示すフラグであり、本フラグが１の場合、参照リストの参照画像数を定義するnum_ref_idx_l0_active_minus1及びnum_ref_idx_l1_active_minus1が利用できる。pred_weight_table()は、重み付き動き補償予測に利用するプレッドウェイトテーブルシンタクスを示す関数であり、前述のweighted_pred_flagが１かつＰ−ｓｌｉｃｅの場合、及びweighted_bipred_idcが１かつＢ−ｓｌｉｃｅの場合に、本関数が呼び出される。
【００９２】
図１２は、第１実施形態のプレッドウェイトテーブルシンタクス５０８の一例を示す図である。luma_log2_weight_denomは、スライスにおける輝度信号の重み係数の固定小数点精度を表しており、数式（７）又は数式（９）のｌｏｇＷＤＣに対応する値である。chroma_log2_weight_denomは、スライスにおける色差信号の重み係数の固定小数点精度を表しており、数式（７）又は数式（９）のｌｏｇＷＤＣに対応する値である。chroma_format_idcは、色空間を表す識別子であり、MONO_IDXはモノクロ映像を示す値である。num_ref_common_active_minus1は、スライスにおける共通リストに含まれる参照画像の数から１を引いた値を示している。
【００９３】
luma_weight_l0_flag及びluma_weight_l1_flagは、リスト０及びリスト１のそれぞれに対応する輝度信号におけるＷＰ適応フラグを示している。本フラグが１の場合、スライス内全域で第１実施形態の輝度信号の重み付き動き補償予測が有効となる。chroma_weight_l0_flag及びchroma_weight_l1_flagは、リスト０及びリスト１のそれぞれに対応する色差信号におけるＷＰ適応フラグを示している。本フラグが１の場合、スライス内全域で第１実施形態の色差信号の重み付き動き補償予測が有効となる。luma_weight_l0[i]及びluma_weight_l1[i]は、リスト０及びリスト１のそれぞれで管理されたi番目に対応する輝度信号の重み係数である。luma_offset_l0[i]及びluma_offset_l1[i]は、リスト０及びリスト１のそれぞれで管理されたi番目に対応する輝度信号のオフセットである。これらは、それぞれ、数式（７）又は数式（９）のｗ０Ｃ、ｗ１Ｃ、ｏ０Ｃ、ｏ１Ｃに対応する値である。但し、Ｃ＝Ｙとする。
【００９４】
chroma_weight_l0[i][j]及びchroma_weight_l1[i][j]は、リスト０及びリスト１のそれぞれで管理されたi番目に対応する色差信号の重み係数である。chroma_offset_l0[i][j]及びchroma_offset_l1[i][j]は、リスト０及びリスト１のそれぞれで管理されたi番目に対応する色差信号のオフセットである。これらは、それぞれ、数式（７）又は数式（９）のｗ０Ｃ、ｗ１Ｃ、ｏ０Ｃ、ｏ１Ｃに対応する値である。但し、Ｃ＝Ｃｒ又はＣｂとする。ｊは色差成分のコンポーネントを示しており、例えばＹＵＶ４：２：０信号の場合、j=0がＣｒ成分、j=1がＣｂ成分であることを示す。
【００９５】
ここで、シンタクス構成における重み付き予測に関連するそれぞれのシンタクス要素の予測方法の詳細について説明する。シンタクス要素の予測は、インデックス再構成部１１０Ｂにより行われる。図１３は、第１実施形態の予測方法を明示的に示したシンタクス構成一例を示す図である。図１３に示す例では、予測を導入したシンタクス要素をdeltaの接頭語を付けて示しているが、これらのシンタクス構成は基本的に図１２で示したシンタクス構成を同じ構成要素を持つ。
【００９６】
まず、重み係数の固定小数点精度を示すluma_log2_weight_denom及びchroma_log2_weight_denomの信号間の予測方法について説明する。インデックス再構成部１１０Ｂは、数式（１０）を用いて、luma_log2_weight_denom及びchroma_log2_weight_denomの信号間の予測処理を行い、数式（１１）を用いて、復元処理を行う。ここでは、図１２及び図１３に示すとおり、luma_log2_weight_denomが先に定義されているため、luma_log2_weight_denomの値からchroma_log2_weight_denomを予測する。
【００９７】
delta_chroma_log2_weight_denom  =  (chroma_log2_weight_denom  -  luma_log2_weight_denom)      …（１０）
【００９８】
chroma_log2_weight_denom  =  (luma_log2_weight_denom  +  delta_chroma_log2_weight_denom)        …（１１）
【００９９】
図１４は、第１実施形態のchroma_log2_weight_denomの予測処理の一例を示すフローチャートである。
【０１００】
まず、インデックス再構成部１１０Ｂは、インデックス情報に設定されているluma_log2_weight_denomを予測値として導出する（ステップＳ１０１）。
【０１０１】
続いて、インデックス再構成部１１０Ｂは、chroma_log2_weight_denomからluma_log2_weight_denomを減算し（ステップＳ１０２）、差分値をdelta_chroma_log2_weight_denomとしてインデックス情報に設定する（ステップＳ１０３）。
【０１０２】
図１５は、第１実施形態のchroma_log2_weight_denomの復元処理の一例を示すフローチャートである。
【０１０３】
まず、インデックス再構成部１１０Ｂは、インデックス情報に既に設定されているluma_log2_weight_denomを予測値として導出する（ステップＳ２０１）。
【０１０４】
続いて、インデックス再構成部１１０Ｂは、luma_log2_weight_denomをdelta_chroma_log2_weight_denomに加算し（ステップＳ２０２）、加算値をchroma_log2_weight_denomとしてインデックス情報に設定する（ステップＳ２０３）。
【０１０５】
フェード効果は、一般的に色空間別に異なる時間的変化をさせるケースが少ないため、信号成分毎の固定小数点精度は、輝度成分と色差成分で強い相関がある。このため、このように色空間内で予測することにより、固定小数点精度を示す情報量を削減できる。
【０１０６】
なお、数式（１０）では、色差成分から輝度成分を減算しているが、輝度成分から色差成分を減算してもよい。この場合、数式（１０）に応じて数式（１１）も式を変形すればよい。
【０１０７】
次に、輝度及び色差信号の重み係数をそれぞれ表すluma_weight_lx[i]及びchroma_weight_lx[i][j]の予測方法について説明する。ここで、xは、0又は1を示す識別子である。luma_weight_lx[i]及びchroma_weight_lx[i][j]の値は、それぞれ、luma_log2_weight_denom及びchroma_log2_weight_denomの値に応じて増減する。例えば、luma_log2_weight_denomの値が3である場合、明度変化がないと仮定した場合のluma_weight_lx[i]は、(1<<3)となる。一方、luma_log2_weight_denomの値が5である場合、明度変化がないと仮定した場合のluma_weight_lx[i]は、(1<<5)となる。
【０１０８】
このため、インデックス再構成部１１０Ｂは、明度変化がない場合の重み係数を基準係数(デフォルト値)として予測処理を行う。具体的には、インデックス再構成部１１０Ｂは、数式（１２）〜（１３）を用いてluma_weight_lx[i]の予測処理を行い、数式（１４）を用いて、復元処理を行う。同様に、インデックス再構成部１１０Ｂは、数式（１５）〜（１６）を用いてchroma_weight_lx[i]の予測処理を行い、数式（１７）を用いて、復元処理を行う。
【０１０９】
delta_luma_weight_lx[i]  =  (luma_weight_lx[i]  -  default_luma_weight_lx)      …（１２）
【０１１０】
default_luma_weight_lx  =  (1<<luma_log2_weight_denom)      …（１３）
【０１１１】
luma_weight_lx[i]  =  (default_luma_weight_lx  +  delta_luma_weight_lx[i])      …（１４）
【０１１２】
delta_chroma_weight_lx[i][j]  =  (chroma_weight_lx[i][j]  -  default_chroma_weight_lx)      …（１５）
【０１１３】
default_chroma_weight_lx  =  (1<<chroma_log2_weight_denom)      …（１６）
【０１１４】
chroma_weight_lx[i][j]  =  (default_chroma_weight_lx  +  delta_chroma_weight_lx[i][j])      …（１７）
【０１１５】
ここで、default_luma_weight_lx、default_chroma_weight_lxは、それぞれ、輝度成分、色差成分における明度変化がないデフォルト値である。
【０１１６】
図１６は、第１実施形態のluma_weight_lx[i]の予測処理の一例を示すフローチャートである。
【０１１７】
まず、インデックス再構成部１１０Ｂは、インデックス情報に設定されているluma_log2_weight_denomを導出し（ステップＳ３０１）、default_luma_weight_lxを予測値として算出する（ステップＳ３０２）。
【０１１８】
続いて、インデックス再構成部１１０Ｂは、luma_weight_lx[i]からdefault_luma_weight_lxを減算し（ステップＳ３０３）、差分値をdelta_luma_weight_lx[i]としてインデックス情報に設定する（ステップＳ３０４）。
【０１１９】
なお、本処理を参照画像枚数分だけ繰り返すことでluma_weight_lx[i]に予測処理を適用できる。
【０１２０】
図１７は、第１実施形態のluma_weight_lx[i]の復元処理の一例を示すフローチャートである。
【０１２１】
まず、インデックス再構成部１１０Ｂは、インデックス情報に既に設定されているdelta_luma_weight_lx[i]を導出し（ステップＳ４０１）、default_luma_weight_lxを予測値として算出する（ステップＳ４０２）。
【０１２２】
続いて、インデックス再構成部１１０Ｂは、delta_luma_weight_lx[i]をdefault_luma_weight_lxに加算し（ステップＳ４０３）、加算値をluma_weight_lx[i]としてインデックス情報に設定する（ステップＳ４０４）。
【０１２３】
なお、ここでは輝度成分に対するフローチャートを示したが、色差成分（chroma_weight_lx[i][j]）に関しても同様に予測処理と復元処理が実現できる。
【０１２４】
フェード効果を含む画像は、ある特定のフェード変化点でフェードを行い、それ以外の画像は通常の自然画像又はフェード効果のない画像であることが多い。この場合、重み係数は明度変化がない場合を取ることが多くなる。そこで、明度変化がない場合の初期値を、固定小数点精度から導出し、予測値として用いることで重み係数の符号量を削減できる。
【０１２５】
なお、輝度及び色差信号の重み係数（luma_weight_lx[i]及びchroma_weight_lx[i][j]）の予測値を、異なる参照番号又は異なるＰＯＣ番号で導出してもよい。この場合、符号化対象スライスから最も距離の近い参照番号をbase_idxとすると、インデックス再構成部１１０Ｂは、数式（１８）を用いてluma_weight_lx[i]の予測処理を行い、数式（１９）を用いて、復元処理を行う。同様に、インデックス再構成部１１０Ｂは、数式（２０）を用いてchroma_weight_lx[i][j]の予測処理を行い、数式（２１）を用いて、復元処理を行う。
【０１２６】
delta_luma_weight_lx[i]  =  (luma_weight_lx[i]  -  luma_weight_lx[base_idx])      …（１８）
【０１２７】
luma_weight_lx[i]  =  (delta_luma_weight_lx[i]  +  luma_weight_lx[base_idx])      …（１９）
【０１２８】
delta_chroma_weight_lx[i][j]  =  (chroma_weight_lx[i][j]  -  chroma_weight_lx[base_idx][j])      …（２０）
【０１２９】
chroma_weight_lx[i][j]  =  (delta_chroma_weight_lx[i][j]  +  chroma_weight_lx[base_idx][j])      …（２１）
【０１３０】
ここで、数式（１８）及び（２０）では、i≠base_idxとなる。base_idxで示される参照番号の重み係数は、数式（１８）及び（２０）で利用できないので、数式（１２）〜（１３）及び（１５）〜（１６）を利用すればよい。
【０１３１】
図１８は、第１実施形態のluma_weight_lx[i]の予測処理の他の例を示すフローチャートである。
【０１３２】
まず、インデックス再構成部１１０Ｂは、基準となる参照番号を示すbaseidxを設定する（ステップＳ５０１）。ここでは、baseidxの値を、仮に０とする。
【０１３３】
続いて、インデックス再構成部１１０Ｂは、baseidxに基づいて、インデックス情報からluma_weight_lx[baseidx]を予測値として導出する（ステップＳ５０２）。なお、baseidxで示されるインデックス情報のluma_weight_lx[baseidx]は、例えば、予測を行わず直値で符号化されている。
【０１３４】
続いて、インデックス再構成部１１０Ｂは、luma_weight_lx[i]からluma_weight_lx[baseidx]を減算し（ステップＳ５０３）、差分値をdelta_luma_weight_lx[i]としてインデックス情報に設定する（ステップＳ５０４）。
【０１３５】
なお、本処理を参照画像枚数分だけ繰り返すことでbaseidx以外のluma_weight_lx[i]に予測処理を適用できる。
【０１３６】
図１９は、第１実施形態のluma_weight_lx[i]の復元処理の他の例を示すフローチャートである。
【０１３７】
まず、インデックス再構成部１１０Ｂは、基準となる参照番号を示すbaseidxを設定する（ステップＳ６０１）。ここでは、baseidxの値を、仮に０とする。
【０１３８】
続いて、インデックス再構成部１１０Ｂは、baseidxに基づいて、インデックス情報からluma_weight_lx[baseidx]を予測値として導出する（ステップＳ６０２）。なお、baseidxで示されるインデックス情報のluma_weight_lx[baseidx]は、例えば、予測を行わず直値で符号化又は復号されている。
【０１３９】
続いて、インデックス再構成部１１０Ｂは、delta_luma_weight_lx[i]をluma_weight_lx[baseidx]に加算し（ステップＳ６０３）、加算値をluma_weight_lx[i]としてインデックス情報に設定する（ステップＳ６０４）。
【０１４０】
なお、ここでは輝度成分に対するフローチャートを示したが、色差成分（chroma_weight_lx[i][j]）に関しても同様に予測処理と復元処理が実現できる。また、ここでは、例として、luma_weight_lx[i]の予測方法及び復元方法を説明したが、luma_offset_lx[i]に関しても同様に予測、復元が可能である。
【０１４１】
また、輝度及び色差信号の重み係数（luma_weight_lx[i]及びchroma_weight_lx[i][j]）の予測値を、符号化対象の参照スライスとの距離を用いて導出してもよい。この場合、インデックス再構成部１１０Ｂは、数式（２２）を用いてluma_weight_lx[i]の予測処理を行い、数式（２３）を用いて、復元処理を行う。同様に、インデックス再構成部１１０Ｂは、数式（２４）を用いてchroma_weight_lx[i][j]の予測処理を行い、数式（２５）を用いて、復元処理を行う。
【０１４２】
delta_luma_weight_lx[i]  =  (luma_weight_lx[i]  -  luma_weight_lx[i-1])      …（２２）
【０１４３】
luma_weight_lx[i]  =  (delta_luma_weight_lx[i]  +  luma_weight_lx[i-1])      …（２３）
【０１４４】
delta_chroma_weight_lx[i][j]  =  (chroma_weight_lx[i][j]  -  chroma_weight_lx[i-1][j])      …（２４）
【０１４５】
chroma_weight_lx[i][j]  =  (delta_chroma_weight_lx[i][j]  +  chroma_weight_lx[i-1][j])      …（２５）
【０１４６】
ここで、数式（２２）及び（２４）では、i≠0となる。
【０１４７】
なお、本予測処理及び復号処理は、図１８及び図１９のフローチャートにおいて、baseidxにi-1番目の値（i≠０）を導入することと等価であるため、説明は省略する。なお、ここでは輝度成分に対するフローチャートを示したが、色差成分（chroma_weight_lx[i][j]）に関しても同様に予測処理と復元処理が実現できる。また、ここでは、例として、luma_weight_lx[i]の予測方法及び復元方法を説明したが、luma_offset_lx[i]に関しても同様に予測、復元が可能である。
【０１４８】
符号化対象スライスが参照可能な参照スライスは、符号化効率の観点で符号化対象スライスから時間距離的又は空間距離的に近いスライスが設定される場合が多い。ここで、時間距離的に連続するスライスの輝度変化は相関が高いため、重み係数及びオフセットの時間距離的な相関も高い。そこで、基準となる参照スライスの重み係数及びオフセット値を用いて、時間的に異なる参照スライスの重み係数及びオフセット値を予測することで、効率良く符号量を削減できる。なお、空間的に同一の参照スライスは、同じ重み係数及びオフセット値を取る場合が多いため、同様の理由で予測を導入することにより、符号量を削減できる。
【０１４９】
次に、色差信号のオフセットを表すchroma_offset_lx[i][j]の予測方法について説明する。YUVの色空間では、色差成分は、中央値からのズレ量で色を表現する。このため、重み係数を用いて中央値を考慮した明度変化からの変化量を予測値とすることができる。具体的には、インデックス再構成部１１０Ｂは、数式（２６）〜（２７）を用いてchroma_offset_lx[i][j]の予測処理を行い、数式（２８）を用いて、復元処理を行う。
【０１５０】
delta_chroma_offset_lx[i][j]  =  (chroma_offset_lx[i][j]  +  (  (  MED  *  chroma_weight_lx[i][j])>>  chroma_log2_weight_denom)  -  MED  )      …（２６）
【０１５１】
MED  =  (MaxChromaValue>>1)      …（２７）
【０１５２】
ここで、MaxChromaValueは色差信号が取れる最大明度を示している。例えば、8ビットの信号である場合、MaxChromaValueは255であり、MEDは128となる。
【０１５３】
chroma_offset_lx[i][j]  =  (delta_chroma_offset_lx[i][j]  -  (  (  MED  *  chroma_weight_lx[i][j])>>  chroma_log2_weight_denom)  +  MED  )      …（２８）
【０１５４】
図２０は、第１実施形態のchroma_offset_lx[i][j]の予測処理の一例を示すフローチャートである。
【０１５５】
まず、インデックス再構成部１１０Ｂは、インデックス情報に設定されているchroma_log2_weight_denomを導出する（ステップＳ７０１）。
【０１５６】
続いて、インデックス再構成部１１０Ｂは、インデックス情報に設定されているchroma_offset_lx[i][j]を導出する（ステップＳ７０２）。
【０１５７】
続いて、インデックス再構成部１１０Ｂは、色差信号の最大値（最大信号）の中間値を導出する（ステップＳ７０３）。
【０１５８】
続いて、インデックス再構成部１１０Ｂは、delta_chroma_offsett_lx[i][j]を導出し、インデックス情報に設定する（ステップＳ７０４）。
【０１５９】
図２１は、第１実施形態のchroma_offset_lx[i][j]の復元処理の一例を示すフローチャートである。
【０１６０】
まず、インデックス再構成部１１０Ｂは、インデックス情報に既に設定されているchroma_log2_weight_denomを導出する（ステップＳ８０１）。
【０１６１】
続いて、インデックス再構成部１１０Ｂは、インデックス情報に設定されているchroma_offset_lx[i][j]を導出する（ステップＳ８０２）。
【０１６２】
続いて、インデックス再構成部１１０Ｂは、色差信号の最大値（最大信号）の中間値を導出する（ステップＳ８０３）。
【０１６３】
続いて、インデックス再構成部１１０Ｂは、chroma_offsett_lx[i][j]を導出し、インデックス情報に設定する（ステップＳ８０４）。
【０１６４】
色差信号の信号特性を利用して、中央値からのズレ量を考慮した予測値を導入することにより、オフセット値をそのまま符号化する場合と比較して、色差信号のオフセット値の符号量を削減できる。
【０１６５】
次に、Ｈ．２６４などで定義されている重み付き予測の暗黙的重み付き予測のＷＰパラメータ導出方法を用いた重み係数及び固定小数点精度の予測値導出手法を説明する。Ｈ．２６４の暗黙的重み付き予測では、参照スライス間の時間的距離（POC番号の時間比率）に応じて、重み係数を導出している（オフセットは０となる）。参照スライス間の時間的距離は、POC番号に基づいて、符号化対象スライスと参照スライス間の距離を導出し、その距離比に基づいて重み係数が定まる。この際、固定小数点精度は固定値5に設定される。
【０１６６】
例えばＨ．２６４では、数式（２９）に示す疑似コードに従って重み係数が導出される。
【０１６７】
td  =  Clip3(-128,  127,  POCA  -  POCB)
tb  =  Clip3(-128,  127,  POCT  -  POCA)
tx  =  (  td  !=  0  )  ?  (  (  16384  +  abs(  td  /  2  )  )  /  td  )  :  (0)
DistScaleFactor  =  Clip3(  -1024,  1023,  (  tb  *  tx  +  32  )  >>  6  )
implicit_luma_weight_l0[i]  =  64  -  (DistScaleFactor  >>  2)
implicit_luma_weight_l1[i]  =  DistScaleFactor  >>  2      …（２９）
【０１６８】
ここで、POCAは、リスト１に対応する参照画像AのPOC番号、POCBは、リスト０に対応する参照画像BのPOC番号、POCTは、予測対象画像のPOC番号を示している。Clip3(L,M,N)は、最後の引数Nが、最初の２つが示す最小値Lと最大値Mの範囲を超えないようにクリップ処理を行う関数である。abs()関数は、引数の絶対値を返す関数である。td及びtbは、時間比を表しており、tdは、リスト１に対応する参照画像のPOC番号とリスト０に対応する参照画像のPOC番号の差、tbは、予測対象画像のPOC番号とリスト０に対応する参照画像のPOC番号の差を示す。これらの値によって重み係数の距離におけるスケーリング変数DistScaleFactorが導出される。DistScaleFactorに基づいて、リスト０及びリスト１に対応する重み係数（implicit_luma_weight_l0[i]、implicit_luma_weight_l1[i]）が導出される。なお、色差信号についても同様に設定される。インデックス再構成部１１０Ｂは、ここで導出される固定小数点精度implicit_log2_weight_denomを用いて、数式（３０）で固定小数点精度を予測する。
【０１６９】
delta_luma_log2_weight_denom  =  (luma_log2_weight_denom  -  implicit_log2_weight_denom)      …（３０）
【０１７０】
なお、色差信号の固定小数点精度も数式（３０）で予測できる。この値は、数式（３１）で復元される。
【０１７１】
luma_log2_weight_denom  =  (delta_luma_log2_weight_denom  +  implicit_log2_weight_denom)        …（３１）
【０１７２】
なお、色差信号の固定小数点精度も数式（３１）と同様の方法で復元できる。
【０１７３】
次に、重み係数の予測式を説明する。暗黙的重み係数をimplicit_luma_weight_lx[i]とすると、インデックス再構成部１１０Ｂは、数式（３２）で重み係数luma_weight_lx[i]を予測し、数式（３３）で復元する。
【０１７４】
if(luma_log2_weight_denom  >=  implicit_log2_weight_denom  )  ｛
norm_denom  =  (luma_log2_weight_denom  -  implicit_log2_weight_denom)
delta_luma_weight_lx[i]  =  (luma_weight_lx[i]  -  (implicit_luma_weight_lx[i]  <<  norm_denom)  )
｝
else｛
norm_denom  =  (implicit_log2_weight_denom  -  luma_log2_weight_denom)
delta_luma_weight_lx[i]  =  (luma_weight_lx[i]  -  (implicit_luma_weight_lx[i]  >>  norm_denom)  )
｝      …（３２）
【０１７５】
ここでは、インデックス再構成部１１０Ｂは、暗黙的重み付き予測の固定小数点精度から大きいか小さいかにより、重み係数を補正して予測に利用する。
【０１７６】
if(luma_log2_weight_denom  >=  implicit_log2_weight_denom  )  ｛
norm_denom  =  (luma_log2_weight_denom  -  implicit_log2_weight_denom)
luma_weight_lx[i]  =  (delta_luma_weight_lx[i]  +  (implicit_luma_weight_lx[i]  <<  norm_denom)  )
｝
else｛
norm_denom  =  (implicit_log2_weight_denom  -  luma_log2_weight_denom)
luma_weight_lx[i]  =  (delta_luma_weight_lx[i]  +  (implicit_luma_weight_lx[i]  >>  norm_denom)  )
｝      …（３３）
【０１７７】
なお、数式（３２）では輝度成分の重み係数の例を示したが、色差成分についても同様な方法を用いることにより予測値を導出できる。
【０１７８】
図２２は、第１実施形態のluma_weight_lx[i]の予測処理の他の例を示すフローチャートである。
【０１７９】
まず、インデックス再構成部１１０Ｂは、インデックス情報に設定されているluma_log2_weight_denomを導出する（ステップＳ９０１）。
【０１８０】
続いて、インデックス再構成部１１０Ｂは、Ｈ．２６４の暗黙的重み付き予測の導出方法に従って、implicit_log2_weight_denom及びimplicit_luma_weight_lx[i]を導出する（ステップＳ９０２、Ｓ９０３）。
【０１８１】
続いて、インデックス再構成部１１０Ｂは、luma_log2_weight_denomがimplicit_log2_weight_denom以上かどうかを判断する（ステップＳ９０４）。
【０１８２】
luma_log2_weight_denomがimplicit_log2_weight_denom以上の場合（ステップＳ９０４でＹｅｓ）、インデックス再構成部１１０Ｂは、luma_log2_weight_denomからimplicit_log2_weight_denomを減算し（ステップＳ９０５）、implicit_luma_weight_lx[i]を減算した値分左シフトし、予測値を導出する（ステップＳ９０６）。
【０１８３】
一方、luma_log2_weight_denomがimplicit_log2_weight_denom以上でない場合（ステップＳ９０４でＮｏ）、インデックス再構成部１１０Ｂは、implicit_log2_weight_denomからluma_log2_weight_denomを減算し（ステップＳ９０７）、implicit_luma_weight_lx[i]を減算した値分右シフトし、予測値を導出する（ステップＳ９０８）。
【０１８４】
続いて、インデックス再構成部１１０Ｂは、luma_weight_lx[i]から導出した予測値を減算し（ステップＳ９０９）、減算した値（差分値）をインデックス情報に設定する（ステップＳ９１０）。
【０１８５】
図２３は、第１実施形態のluma_weight_lx[i]の復元処理の他の例を示すフローチャートである。
【０１８６】
まず、インデックス再構成部１１０Ｂは、インデックス情報に既に設定されているluma_log2_weight_denomを導出する（ステップＳ１００１）。
【０１８７】
続いて、インデックス再構成部１１０Ｂは、Ｈ．２６４の暗黙的重み付き予測の導出方法に従って、implicit_log2_weight_denom及びimplicit_luma_weight_lx[i]を導出する（ステップＳ１００２、Ｓ１００３）。
【０１８８】
続いて、インデックス再構成部１１０Ｂは、luma_log2_weight_denomがimplicit_log2_weight_denom以上かどうかを判断する（ステップＳ１００４）。
【０１８９】
luma_log2_weight_denomがimplicit_log2_weight_denom以上の場合（ステップＳ１００４でＹｅｓ）、インデックス再構成部１１０Ｂは、luma_log2_weight_denomからimplicit_log2_weight_denomを減算し（ステップＳ１００５）、implicit_luma_weight_lx[i]を減算した値分左シフトし、予測値を導出する（ステップＳ１００６）。
【０１９０】
一方、luma_log2_weight_denomがimplicit_log2_weight_denom以上でない場合（ステップＳ１００４でＮｏ）、インデックス再構成部１１０Ｂは、implicit_log2_weight_denomからluma_log2_weight_denomを減算し（ステップＳ１００７）、implicit_luma_weight_lx[i]を減算した値分右シフトし、予測値を導出する（ステップＳ１００８）。
【０１９１】
続いて、インデックス再構成部１１０Ｂは、delta_luma_weight_lx[i]に導出した予測値を加算し（ステップＳ１００９）、加算した値をインデックス情報に設定する（ステップＳ１０１０）。
【０１９２】
なお、上記で説明した複数の予測手法は、単独で使用するだけでなく組み合わせて利用することもできる。例えば、数式（１０）、数式（１２）〜（１３）、数式（１５）〜（１６）、及び数式（２６）〜（２７）を組み合わせるなどとすることにより、インデックス情報におけるシンタクス要素の符号量を効率良く削減することが可能となる。
【０１９３】
以上のように第１実施形態では、インデックス設定部１０８は、ＷＰパラメータ情報を対応するシンタクス構成にマッピングしたインデックス情報を出力し、インデックス再構成部１１０Ｂは、シンタクス要素の冗長な表現を、当該スライス内で符号化される情報に基づいて予測する。従って、第１実施形態によれば、シンタクス要素をそのまま（直値で）符号化する場合と比較して、符号量を削減することができる。
【０１９４】
ここで、符号化対象スライスで利用されるシンタクス要素の定義順（符号化順序）に基づいて、既に符号化済みのシンタクス要素から画面内相関として予測値を導出することや、明度変化がないことを仮定したデフォルト値から、予測値を導出することで、シンタクス要素の特徴を活かした予測が可能となり、結果としてシンタクス要素の符号化に必要なオーバーヘッドを削減できる効果を奏する。
【０１９５】
なお、第１実施形態の図１０〜図１３に例示するシンタクステーブルの行間には、本実施形態において規定していないシンタクス要素が挿入されてもよいし、その他の条件分岐に関する記述が含まれていてもよい。また、シンタクステーブルを複数のテーブルに分割したり、複数のシンタクステーブルを統合したりしてもよい。また、例示した各シンタクス要素の用語は、任意に変更可能である。
【０１９６】
以上説明したように、第１実施形態の符号化装置１００は、符号化する情報のパラメータの相関を利用して空間冗長性を削除することにより、符号化効率が低下する問題を解消する。符号化装置１００は、重み付き動き補償予測で用いるシンタクス要素をそのまま（直値で）符号化していた従来の構成と比較して、符号量を削減することができる。
【０１９７】
（第２実施形態）
第２実施形態では、第１実施形態の符号化装置で符号化された符号化データを復号する復号装置について説明する。
【０１９８】
図２４は、第２実施形態の復号装置８００の構成の一例を示すブロック図である。
【０１９９】
復号装置８００は、図示せぬ入力バッファなどに蓄積された符号化データを復号画像に復号し、出力画像として図示せぬ出力バッファに出力する。符号化データは、例えば、図１の符号化装置１００などから出力され、図示せぬ蓄積系、伝送系、又はバッファなどを経て、復号装置８００に入力される。
【０２００】
復号装置８００は、図２４に示すように、復号部８０１と、逆量子化部８０２と、逆直交変換部８０３と、加算部８０４と、予測画像生成部８０５と、インデックス設定部８０６とを、備える。逆量子化部８０２、逆直交変換部８０３、加算部８０４、予測画像生成部８０５は、それぞれ、図１の逆量子化部１０４、逆直交変換部１０５、加算部１０６、予測画像生成部１０７、と実質的に同一又は類似の要素である。なお、図２４に示す復号制御部８０７は、復号装置８００を制御するものであり、例えば、ＣＰＵなどにより実現できる。
【０２０１】
復号部８０１は、符号化データの復号のために、１フレーム又は１フィールド毎にシンタクスに基づいて解読を行う。復号部８０１は、エントロピー復号部８０１Ａと、インデックス再構成部８０１Ｂとを、備える。
【０２０２】
エントロピー復号部８０１Ａは、各シンタクスの符号列を順次エントロピー復号し、予測モード、動きベクトル、及び参照番号などを含む動き情報、重み付き動き補償予測のためのインデックス情報、並びに量子化変換係数などの符号化対象ブロックの符号化パラメータを再生する。ここで、符号化パラメータとは、上記以外にも変換係数に関する情報、量子化に関する情報、などの復号に必要となるすべてのパラメータである。
【０２０３】
具体的には、エントロピー復号部８０１Ａは、入力されてきた符号化データに対して可変長復号処理や算術復号処理などの復号処理を行う機能を有する。例えば、Ｈ．２６４ではコンテキスト適応型の可変長符号化（ＣＡＶＬＣ：Ｃｏｎｔｅｘｔ  ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）やコンテキスト適応型の算術符号化（ＣＡＢＡＣ：Ｃｏｎｔｅｘｔ  ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）などが用いられている。これらの処理は解読処理とも呼ばれる。
【０２０４】
インデックス再構成部８０１Ｂは、解読されたインデックス情報を復元し、インデックス情報を再構成する。具体的には、インデックス再構成部８０１Ｂは、解読されたインデックス情報のシンタクス要素の符号長を削減するために、シンタクス要素のパラメータの特徴に応じて予測処理を行い、シンタクス要素を復元し、インデックス情報を再構成する。予測処理の具体例は、後述する。
【０２０５】
復号部８０１は、動き情報、インデックス情報、及び量子化変換係数を出力し、量子化変換係数を逆量子化部８０２に入力し、インデックス情報をインデックス設定部８０６に入力し、動き情報を予測画像生成部８０５に入力する。
【０２０６】
逆量子化部８０２は、復号部８０１から入力された量子化変換係数に対して逆量子化処理を行い、復元変換係数を得る。具体的には、逆量子化部８０２は、復号部８０１において使用された量子化情報に従って逆量子化を行う。より詳細には、逆量子化部８０２は、量子化情報によって導出された量子化ステップサイズを量子化変換係数に乗算し、復元変換係数を得る。逆量子化部８０２は、復元変換係数を出力し、逆直交変換部８０３に入力する。
【０２０７】
逆直交変換部８０３は、逆量子化部８０２から入力された復元変換係数に対して、符号化側において行われた直交変換に対応する逆直交変換を行い、復元予測誤差を得る。逆直交変換部８０３は、復元予測誤差を出力し、加算部８０４に入力する。
【０２０８】
加算部８０４は、逆直交変換部８０３から入力された復元予測誤差と、対応する予測画像とを加算し、復号画像を生成する。加算部８０４は、復号画像を出力し、予測画像生成部８０５に入力する。また加算部８０４は、復号画像を出力画像として外部に出力する。出力画像は、その後図示せぬ外部の出力バッファなどに一時的に蓄積され、例えば、復号制御部８０７によって管理される出力タイミングに従って、図示せぬディスプレイやモニタなどの表示装置系又は映像デバイス系へ出力される。
【０２０９】
インデックス設定部８０６は、復号部８０１から入力されたインデックス情報を受け取り、ＷＰパラメータ情報に変換して出力し、予測画像生成部８０５に入力する。具体的には、インデックス設定部８０６は、エントロピー復号部８０１Ａで復号処理され、インデックス再構成部８０１Ｂで再構成されたインデックス情報を受け取る。そしてインデックス設定部８０６は、参照画像のリストと参照番号を確認して、ＷＰパラメータ情報に変換し、変換したＷＰパラメータ情報を予測画像生成部８０５へ出力する。ＷＰパラメータ情報については、図８Ａ及び図８Ｂを参照して既に説明しているため、説明を省略する。
【０２１０】
予測画像生成部８０５は、復号部８０１から入力された動き情報、インデックス設定部８０６から入力されたＷＰパラメータ情報、及び加算部８０４から入力された復号画像を用いて、予測画像８１５を生成する。
【０２１１】
ここで、図４を参照しながら、予測画像生成部８０５の詳細について説明する。予測画像生成部８０５は、予測画像生成部１０７同様、複数フレーム動き補償部２０１と、メモリ２０２と、単方向動き補償部２０３と、予測パラメータ制御部２０４と、参照画像セレクタ２０５と、フレームメモリ２０６と、参照画像制御部２０７と、を備える。
【０２１２】
フレームメモリ２０６は、参照画像制御部２０７の制御の下、加算部１０６から入力された復号画像を参照画像として格納する。フレームメモリ２０６は、参照画像を一時保持するための複数のメモリセットＦＭ１〜ＦＭＮ（Ｎ≧２）を有する。
【０２１３】
予測パラメータ制御部２０４は、復号部８０１から入力される動き情報に基づいて、参照画像番号と予測パラメータとの複数の組み合わせをテーブルとして用意している。ここで、動き情報とは、動き補償予測で用いられる動きのズレ量を示す動きベクトルや参照画像番号、単方向／双方向予測などの予測モードに関する情報などを指す。予測パラメータは、動きベクトル及び予測モードに関する情報を指す。そして予測パラメータ制御部２０４は、動き情報に基づいて、予測画像の生成に用いる参照画像番号と予測パラメータとの組み合わせを選択して出力し、参照画像番号を参照画像セレクタ２０５に入力し、予測パラメータを単方向動き補償部２０３に入力する。
【０２１４】
参照画像セレクタ２０５は、フレームメモリ２０６が有するフレームメモリＦＭ１〜ＦＭＮのいずれの出力端を接続するかを、予測パラメータ制御部２０４から入力された参照画像番号に従って切り替えるスイッチである。参照画像セレクタ２０５は、例えば、参照画像番号が０であれば、ＦＭ１の出力端を参照画像セレクタ２０５の出力端に接続し、参照画像番号がＮ−１であれば、ＦＭＮの出力端を参照画像セレクタ２０５の出力端に接続する。参照画像セレクタ２０５は、フレームメモリ２０６が有するフレームメモリＦＭ１〜ＦＭＮのうち、出力端が接続されているフレームメモリに格納されている参照画像を出力し、単方向動き補償部２０３へ入力する。なお、復号装置８００では、予測画像生成部８０５以外で参照画像は利用されないため、予測画像生成部８０５の外部へ参照画像を出力しなくてもよい。
【０２１５】
単方向予測動き補償部２０３は、予測パラメータ制御部２０４から入力された予測パラメータと参照画像セレクタ２０５から入力された参照画像に従って、動き補償予測処理を行い、単方向予測画像を生成する。動き補償予測については、図５を参照して既に説明しているため、説明を省略する。
【０２１６】
単方向予測動き補償部２０３は、単方向予測画像を出力し、メモリ２０２に一時的に格納する。ここで、動き情報（予測パラメータ）が双方向予測を示す場合には、複数フレーム動き補償部２０１が２種類の単方向予測画像を用いて重み付き予測を行うため、単方向予測動き補償部２０３は、１つ目に対応する単方向予測画像をメモリ２０２に格納し、２つ目に対応する単法予測画像を複数フレーム動き補償部２０１に直接出力する。ここでは、１つ目に対応する単方向予測画像を第一予測画像とし、２つ目に対応する単方向予測画像を第二予測画像とする。
【０２１７】
なお、単方向動き補償部２０３を２つ用意し、それぞれが２つの単方向予測画像を生成するようにしてもよい。この場合、動き情報（予測パラメータ）が単方向予測を示すときには、単方向動き補償部２０３が、１つ目の単方向予測画像を第一予測画像として複数フレーム動き補償部２０１に直接出力すればよい。
【０２１８】
複数フレーム動き補償部２０１は、メモリ２０２から入力される第一予測画像、単方向予測動き補償部２０３から入力される第二予測画像、及び動き評価部１０９から入力されるＷＰパラメータ情報を用いて、重み付き予測を行って予測画像を生成する。複数フレーム動き補償部２０１は、予測画像を出力し、加算部８０４に入力する。
【０２１９】
ここで、図６を参照しながら、複数フレーム動き補償部２０１の詳細について説明する。複数フレーム動き補償部２０１は、予測画像生成部１０７同様、デフォルト動き補償部３０１と、重み付き動き補償部３０２と、ＷＰパラメータ制御部３０３と、ＷＰセレクタ３０４、３０５とを、備える。
【０２２０】
ＷＰパラメータ制御部３０３は、インデックス設定部８０６から入力されるＷＰパラメータ情報に基づいて、ＷＰ適用フラグ及び重み情報を出力し、ＷＰ適用フラグをＷＰセレクタ３０４、３０５に入力し、重み情報を重み付き動き補償部３０２に入力する。
【０２２１】
ここで、ＷＰパラメータ情報は、重み係数の固定小数点精度、第一予測画像に対応する第一ＷＰ適用フラグ，第一重み係数，及び第一オフセット、並びに第二予測画像に対応する第二ＷＰ適応フラグ，第二重み係数，及び第二オフセットの情報を含む。ＷＰ適用フラグは、該当する参照画像及び信号成分毎に設定可能なパラメータであり、重み付き動き補償予測を行うかどうかを示す。重み情報は、重み係数の固定小数点精度、第一重み係数、第一オフセット、第二重み係数、及び第二オフセットの情報を含む。なおＷＰパラメータ情報は、第１実施形態と同様の情報を表す。
【０２２２】
詳細には、ＷＰパラメータ制御部３０３は、インデックス設定部８０６からＷＰパラメータ情報が入力されると、ＷＰパラメータ情報を第一ＷＰ適用フラグ、第二ＷＰ適用フラグ、及び重み情報に分離して出力し、第一ＷＰ適用フラグをＷＰセレクタ３０４に入力し、第二ＷＰ適用フラグをＷＰセレクタ３０５に入力し、重み情報を重み付き動き補償部３０２に入力する。
【０２２３】
ＷＰセレクタ３０４、３０５は、ＷＰパラメータ制御部３０３から入力されたＷＰ適用フラグに基づいて、各々の予測画像の接続端を切り替える。ＷＰセレクタ３０４、３０５は、各々のＷＰ適用フラグが０の場合、各々の出力端をデフォルト動き補償部３０１へ接続する。そしてＷＰセレクタ３０４、３０５は、第一予測画像及び第二予測画像を出力し、デフォルト動き補償部３０１に入力する。一方、ＷＰセレクタ３０４、３０５は、各々のＷＰ適用フラグが１の場合、各々の出力端を重み付き動き補償部３０２へ接続する。そしてＷＰセレクタ３０４、３０５は、第一予測画像及び第二予測画像を出力し、重み付き動き補償部３０２に入力する。
【０２２４】
デフォルト動き補償部３０１は、ＷＰセレクタ３０４、３０５から入力された２つの単方向予測画像（第一予測画像及び第二予測画像）を元に平均値処理を行い、予測画像を生成する。具体的には、デフォルト動き補償部３０１は、第一ＷＰ適用フラグ及び第二ＷＰ適用フラグが０の場合、数式（１）に基づいて平均値処理を行う。
【０２２５】
なお、動き情報（予測パラメータ）で示される予測モードが単方向予測である場合、デフォルト動き補償部３０１は、第一予測画像のみを用いて、数式（４）に基づいて最終的な予測画像を算出する。
【０２２６】
重み付き動き補償部３０２は、ＷＰセレクタ３０４、３０５から入力された２つの単方向予測画像（第一予測画像及び第二予測画像）とＷＰパラメータ制御部３０３から入力された重み情報とを元に重み付き動き補償を行う。具体的には、重み付き動き補償部３０２は、第一ＷＰ適用フラグ及び第二ＷＰ適用フラグが１の場合、数式（７）に基づいて重み付き処理を行う。
【０２２７】
なお、重み付き動き補償部３０２は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるｌｏｇＷＤＣを数式（８）のように制御することで丸め処理を実現する。
【０２２８】
また、動き情報（予測パラメータ）で示される予測モードが単方向予測である場合、重み付き動き補償部３０２は、第一予測画像のみを用いて、数式（９）に基づいて最終的な予測画像を算出する。
【０２２９】
なお、重み付き動き補償部３０２は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるｌｏｇＷＤＣを双方向予測時と同様に数式（８）のように制御することで丸め処理を実現する。
【０２３０】
重み係数の固定小数点精度については、図７を参照して既に説明しているため、説明を省略する。なお、単方向予測の場合には、第二予測画像に対応する各種パラメータ（第二ＷＰ適応フラグ，第二重み係数，及び第二オフセットの情報）は利用されないため、予め定めた初期値に設定されていてもよい。
【０２３１】
復号部８０１は、図９に示すシンタクス５００を利用する。シンタクス５００は、復号部８０１の復号対象の符号化データの構造を示している。シンタクス５００については、図９を参照して既に説明しているため、説明を省略する。また、ピクチャパラメータセットシンタクス５０５については、符号化が復号である点を除き、図１０を参照して既に説明しているため、説明を省略する。また、スライスヘッダーシンタクス５０７についても、符号化が復号である点を除き、図１１を参照して既に説明しているため、説明を省略する。また、プレッドウェイトテーブルシンタクス５０８についても、符号化が復号である点を除き、図１２を参照して既に説明しているため、説明を省略する。
【０２３２】
ここで、シンタクス構成における重み付き予測に関連するそれぞれのシンタクス要素の予測方法の詳細について説明する。シンタクス要素の予測は、インデックス再構成部８０１Ｂにより行われる。第２実施形態の予測方法を明示的に示したシンタクス構成は、第２実施形態と同様であり、図１３に示すとおりである。
【０２３３】
重み係数の固定小数点精度を示すluma_log2_weight_denom及びchroma_log2_weight_denomの信号間の予測方法については、数式（１１）を用いて、復元処理が行われる。復元処理の詳細は、図１５に示すとおりである。
【０２３４】
輝度及び色差信号の重み係数を表すluma_weight_lx[i]及びchroma_weight_lx[i][j]の予測方法については、数式（１４）及び（１７）を用いて、復元処理が行われる。復元処理の詳細は、図１７に示すとおりである。
【０２３５】
輝度及び色差信号の重み係数（luma_weight_lx[i]及びchroma_weight_lx[i][j]）の予測値を、異なる参照番号又は異なるＰＯＣ番号で導出する予測方法については、数式（１９）及び（２１）を用いて、復元処理が行われる。復元処理の詳細は、図１９に示すとおりである。
【０２３６】
輝度及び色差信号の重み係数（luma_weight_lx[i]及びchroma_weight_lx[i][j]）の予測値を、符号化対象の参照スライスとの距離を用いて導出する予測方法については、数式（２３）及び（２５）を用いて、復元処理が行われる。復元処理の詳細は、図１９のフローチャートにおいて、baseidxにi-1番目の値（i≠０）を導入することと等価である。
【０２３７】
Ｈ．２６４などで定義されている重み付き予測の暗黙的重み付き予測のＷＰパラメータ導出方法を用いた重み係数及び固定小数点精度の予測値導出手法については、数式（３１）及び（３３）を用いて、復元処理が行われる。復元処理の詳細は、図２３に示すとおりである。
【０２３８】
なお、上記説明した複数の予測手法は、単独で使用するだけでなく組み合わせて利用することもできる。例えば、数式（１１）、数式（１４）、数式（１７）、及び数式（２８）を組み合わせるなどとすることにより、インデックス情報におけるシンタクス要素の符号量を効率良く削減することが可能となる。
【０２３９】
以上のように第２実施形態では、復号装置８００は、符号化する情報のパラメータの相関を利用して空間冗長性を削除することにより、符号化効率が低下する問題を解消する。復号装置８００は、重み付き動き補償予測で用いるシンタクス要素をそのまま（直値で）符号化していた従来の構成と比較して、符号量を削減することができる。
【０２４０】
（変形例）
上記第１〜第２実施形態では、フレームを１６×１６画素サイズなどの矩形ブロックに分割し、画面左上のブロックから右下に向かって順に符号化／復号を行う例について説明している（図２Ａを参照）。しかしながら、符号化順序及び復号順序はこの例に限定されない。例えば、右下から左上に向かって順に符号化及び復号が行われてもよいし、画面中央から画面端に向かって渦巻を描くように符号化及び復号が行われてもよい。更に、右上から左下に向かって順に符号化及び復号が行われてもよいし、画面端から画面中央に向かって渦巻きを描くように符号化及び復号が行われてもよい。この場合、符号化順序によって参照できる隣接画素ブロックの位置が変わるので、適宜利用可能な位置に変更すればよい。
【０２４１】
上記第１〜第２実施形態では、４×４画素ブロック、８×８画素ブロック、１６×１６画素ブロックなどの予測対象ブロックサイズを例示して説明を行ったが、予測対象ブロックは均一なブロック形状でなくてもよい。例えば、予測対象ブロックサイズは、１６×８画素ブロック、８×１６画素ブロック、８×４画素ブロック、４×８画素ブロックなどであってもよい。また、１つのコーディングツリーブロック内で全てのブロックサイズを統一させる必要はなく、複数の異なるブロックサイズを混在させてもよい。１つのコーディングツリーブロック内で複数の異なるブロックサイズを混在させる場合、分割数の増加に伴って分割情報を符号化又は復号するための符号量も増加する。そこで、分割情報の符号量と局部復号画像または復号画像の品質との間のバランスを考慮して、ブロックサイズを選択することが望ましい。
【０２４２】
上記第１〜第２実施形態では、簡単化のために、輝度信号と色差信号における予測処理とを区別せず、色信号成分に関して包括的な説明を記述した。しかしながら、予測処理が輝度信号と色差信号との間で異なる場合には、同一または異なる予測方法が用いられてよい。輝度信号と色差信号との間で異なる予測方法が用いられるならば、色差信号に対して選択した予測方法を輝度信号と同様の方法で符号化又は復号できる。
【０２４３】
上記第１〜第２実施形態では、簡単化のために、輝度信号と色差信号における重み付き動き補償予測処理とを区別せず、色信号成分に関して包括的な説明を記述した。しかしながら、重み付き動き補償予測処理が輝度信号と色差信号との間で異なる場合には、同一または異なる重み付き動き補償予測処理が用いられてよい。輝度信号と色差信号との間で異なる重み付き動き補償予測処理が用いられるならば、色差信号に対して選択した重み付き動き補償予測処理を輝度信号と同様の方法で符号化又は復号できる。
【０２４４】
上記第１〜第２実施形態では、シンタクス構成に示す表の行間には、本実施形態で規定していないシンタクス要素が挿入されることも可能であるし、それ以外の条件分岐に関する記述が含まれていても構わない。或いは、シンタクステーブルを複数のテーブルに分割、統合することも可能である。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更しても構わない。
【０２４５】
以上説明したように、各実施形態は、重み付き動き補償予測を行う際にシンタクス構成の冗長な情報を符号化する問題を解消しつつ、高効率な重み付き動き補償予測処理を実現する。故に、各実施形態によれば、符号化効率が向上し、ひいては主観画質も向上する。
【０２４６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０２４７】
例えば、上記各実施形態の処理を実現するプログラムを、コンピュータで読み取り可能な記憶媒体に格納して提供することも可能である。記憶媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリなど、プログラムを記憶でき、かつ、コンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
【０２４８】
また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ（サーバ）上に格納し、ネットワーク経由でコンピュータ（クライアント）にダウンロードさせてもよい。
【符号の説明】
【０２４９】
１００  符号化装置
１０１  減算部
１０２  直交変換部
１０３  量子化部
１０４  逆量子化部
１０５  逆直交変換部
１０６  加算部
１０７  予測画像生成部
１０８  インデックス設定部
１０９  動き評価部
１１０  符号化部
１１０Ａ  エントロピー符号化部
１１０Ｂ  インデックス再構成部
１１１  符号化制御部
２０１  複数フレーム動き補償部
２０２  メモリ
２０３  単方向動き補償部
２０４  予測パラメータ制御部
２０５  参照画像セレクタ
２０６  フレームメモリ
２０７  参照画像制御部
３０１  デフォルト動き補償部
３０２  重み付き動き補償部
３０３  ＷＰパラメータ制御部
３０４、３０５  ＷＰセレクタ
８００  復号装置
８０１  復号部
８０１Ａ  エントロピー復号部
８０１Ｂ  インデックス再構成部
８０２  逆量子化部
８０３  逆直交変換部
８０４  加算部
８０５  予測画像生成部
８０６  インデックス設定部
８０７  復号制御部
【図１】
2020129848.tif 000003
【図２】
2020129848.tif 000004
【図３Ａ】
2020129848.tif 000005
【図３Ｂ】
2020129848.tif 000006
【図３Ｃ】
2020129848.tif 000007
【図３Ｄ】
2020129848.tif 000008
【図４】
2020129848.tif 000009
【図５】
2020129848.tif 000010
【図６】
2020129848.tif 000011
【図７】
2020129848.tif 000012
【図８Ａ】
2020129848.tif 000013
【図８Ｂ】
2020129848.tif 000014
【図９】
2020129848.tif 000015
【図１０】
2020129848.tif 000016
【図１１】
2020129848.tif 000017
【図１２】
2020129848.tif 000018
【図１３】
2020129848.tif 000019
【図１４】
2020129848.tif 000020
【図１５】
2020129848.tif 000021
【図１６】
2020129848.tif 000022
【図１７】
2020129848.tif 000023
【図１８】
2020129848.tif 000024
【図１９】
2020129848.tif 000025
【図２０】
2020129848.tif 000026
【図２１】
2020129848.tif 000027
【図２２】
2020129848.tif 000028
【図２３】
2020129848.tif 000029
【図２４】
2020129848.tif 000030