(57)【要約】スケーラブルビデオ符号化及び復号における重み付け予測方法及び装置を提供する。スケーラブルビデオエンコーダは、エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより画像のエンハンスメントレイヤのブロックを符号化するエンコーダ（１００）を含む。エンハンスメントレイヤのブロックをエンコードするために使用する重み付けパラメータは、画像の下位レイヤのブロックを符号化するために下位レイヤ参照画像に適用される重み付けパラメータと、これとは異なる、エンハンスメントレイヤに適用可能な重み付けパラメータとから適応的に選択される。エンハンスメントレイヤのブロックは下位レイヤのブロックに対応する。エンハンスメントレイヤ参照画像は、下位レイヤ参照画像に対応する。
2009512347.tif 000002
【特許請求の範囲】
【請求項１】
エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより画像のエンハンスメントレイヤのブロックを符号化するエンコーダを有し、
エンハンスメントレイヤのブロックを符号化するために用いる重み付けパラメータを、画像の下位レイヤのブロックを符号化するための下位レイヤ参照画像に適用する重み付けパラメータと、エンハンスメントレイヤに適用可能な異なる重み付けパラメータとのうちから適応的に選択し、エンハンスメントレイヤのブロックは下位レイヤのブロックに対応し、エンハンスメントレイヤ参照画像は下位レイヤ参照画像に対応する装置。
【請求項２】
前記エンコーダはリフレーズされたbase_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加え、リフレーズされたbase_pred_weight_table_flagは相異なる２つの値の１つを取ることができ、相異なる２つの値の第１のものは、エンハンスメントレイヤのレイヤ間予測ブロックがそのレイヤ間予測ブロックに対応するブロックを符号化するために下位レイヤで使用される重み付けパラメータを用いて符号化されること、及びエンハンスメントレイヤの非レイヤ間予測ブロックがその非レイヤ間予測ブロックに対応するブロックを符号化するために下位レイヤで使用される重み付けパラメータとは異なる重み付けパラメータを用いて符号化されることを示す、請求項１に記載の装置。
【請求項３】
前記エンコーダはリフレーズされたbase_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加え、リフレーズされたbase_pred_weight_table_flagシンタックス要素は相異なる２つの値の１つを取ることができ、相異なる２つの値の第１のものはエンハンスメントレイヤのブロックを、レイヤ間予測または非レイヤ間予測の状態を有するかどうかに係わらず、下位レイヤの対応するブロックを符号化するために使用される重み付けパラメータとは異なる重み付けパラメータを用いて符号化する、請求項１に記載の装置。
【請求項４】
前記エンコーダは、base_pred_weight_table_flagシンタックス要素が第１の値であるとき、base_mode_weight_flagマクロブロックレベルシンタックス要素を対応するヘッダ要素に加え、base_mode_weight_flagマクロブロックレベルシンタックス要素はエンハンスメントレイヤのレイヤ間予測マクロブロックの符号化に関して重み付けパラメータの第１のセットと第２のセットのうちからの選択を示し、第１のセットは下位レイヤの対応するマクロブロックの符号化に使用される重み付けパラメータを含み、第２のセットは下位レイヤの対応するマクロブロックの符号化に使用する重み付けパラメータとは異なる重み付けパラメータを含む、請求項１に記載の装置。
【請求項５】
前記エンコーダは、リフレーズされたbase_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加え、そのリフレーズされたbase_pred_weight_table_flagシンタックス要素は相異なる３つの値の１つを取ることができる、請求項１に記載の装置。
【請求項６】
前記エンコーダはリフレーズされたbase_pred_weight_table_flagシンタックス要素を相異なる３つの値の１つに設定し、下位レイヤの対応するマクロブロックの符号化に使用するものとは異なる重み付けパラメータをエンハンスメントレイヤのすべてのマクロブロックを符号化するために使用することを示す、請求項５に記載の装置。
【請求項７】
前記エンコーダはリフレーズされたbase_pred_weight_table_flagシンタックス要素を相異なる３つの値の１つに設定し、エンハンスメントレイヤのすべてのマクロブロックについて、下位レイヤのマクロブロックを符号化するために下位レイヤの参照画像に適用される重みパラメータをエンハンスメントレイヤのマクロブロックの対応するものを符号化するために参照画像にも常に適用することを示す、請求項５に記載の装置。
【請求項８】
前記エンコーダはリフレーズされたbase_pred_weight_table_flagシンタックス要素を相異なる３つの値の１つに設定し、エンハンスメントレイヤのレイヤ間予測ブロックはそのレイヤ間予測ブロックに対応するブロックを符号化するために下位レイヤで使用される重み付けパラメータを用いて符号化されること、及びエンハンスメントレイヤの非レイヤ間予測ブロックはその非レイヤ間予測ブロックに対応するブロックを符号化するために下位レイヤで使用されるものと異なる重み付けパラメータを用いて符号化されることを示す、請求項５に記載の装置。
【請求項９】
前記エンコーダは、リフレーズされたbase_pred_weight_table_flagシンタックス要素が相異なる３つの値のうちの所定の２つの値の１つの値であるとき、base_mode_weight_flagマクロブロックレベルシンタックス要素を対応するヘッダ要素に加え、base_mode_weight_flagマクロブロックレベルシンタックス要素は画像のエンハンスメントレイヤのレイヤ間予測マクロブロックの符号化に関して重み付けパラメータの第１のセットと第２のセットのうちからの選択を示し、第１のセットは下位レイヤの対応するマクロブロックの符号化に使用される重み付けパラメータを含み、第２のセットは下位レイヤの対応するマクロブロックの符号化に使用する重み付けパラメータとは異なる重み付けパラメータを含む、請求項５に記載の装置。
【請求項１０】
エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより画像のエンハンスメントレイヤのブロックを符号化する段階を有し、
エンハンスメントレイヤのブロックを符号化するために用いる重み付けパラメータを、画像の下位レイヤのブロックを符号化するための下位レイヤ参照画像に適用する重み付けパラメータと、エンハンスメントレイヤに適用可能な異なる重み付けパラメータとのうちから適応的に選択し、エンハンスメントレイヤのブロックは下位レイヤのブロックに対応し、エンハンスメントレイヤ参照画像は下位レイヤ参照画像に対応するスケーラブルビデオ符号化方法。
【請求項１１】
前記符号化段階はリフレーズされたbase_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加える段階を有し、リフレーズされたbase_pred_weight_table_flagは相異なる２つの値の１つを取ることができ、相異なる２つの値の第１のものは、エンハンスメントレイヤのレイヤ間予測ブロックがそのレイヤ間予測ブロックに対応するブロックを符号化するために下位レイヤで使用される重み付けパラメータを用いて符号化されること、及びエンハンスメントレイヤの非レイヤ間予測ブロックがその非レイヤ間予測ブロックに対応するブロックを符号化するために下位レイヤで使用される重み付けパラメータとは異なる重み付けパラメータを用いて符号化されることを示す、請求項１０に記載の方法。
【請求項１２】
前記符号化段階はリフレーズされたbase_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加える段階を有し、リフレーズされたbase_pred_weight_table_flagシンタックス要素は相異なる２つの値の１つを取ることができ、相異なる２つの値の第１のものはエンハンスメントレイヤのブロックを、レイヤ間予測または非レイヤ間予測の状態を有するかどうかに係わらず、下位レイヤの対応するブロックを符号化するために使用される重み付けパラメータとは異なる重み付けパラメータを用いて符号化する、請求項１０に記載の方法。
【請求項１３】
前記符号化段階は、base_pred_weight_table_flagシンタックス要素が第１の値であるとき、base_mode_weight_flagマクロブロックレベルシンタックス要素を対応するヘッダ要素に加える段階を有し、base_mode_weight_flagマクロブロックレベルシンタックス要素はエンハンスメントレイヤのレイヤ間予測マクロブロックの符号化に関して重み付けパラメータの第１のセットと第２のセットのうちからの選択を示し、第１のセットは下位レイヤの対応するマクロブロックの符号化に使用される重み付けパラメータを含み、第２のセットは下位レイヤの対応するマクロブロックの符号化に使用する重み付けパラメータとは異なる重み付けパラメータを含む、請求項１０に記載の方法。
【請求項１４】
前記符号化段階は、リフレーズされたbase_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加える段階を有し、そのリフレーズされたbase_pred_weight_table_flagシンタックス要素は相異なる３つの値の１つを取ることができる、請求項１０に記載の方法。
【請求項１５】
前記符号化段階はリフレーズされたbase_pred_weight_table_flagシンタックス要素を相異なる３つの値の１つに設定する段階を有し、下位レイヤの対応するマクロブロックの符号化に使用するものとは異なる重み付けパラメータをエンハンスメントレイヤのすべてのマクロブロックを符号化するために使用することを示す、請求項１４に記載の方法。
【請求項１６】
前記符号化段階はリフレーズされたbase_pred_weight_table_flagシンタックス要素を相異なる３つの値の１つに設定する段階を有し、エンハンスメントレイヤのすべてのマクロブロックについて、下位レイヤのマクロブロックを符号化するために下位レイヤの参照画像に適用される重みパラメータをエンハンスメントレイヤのマクロブロックの対応するものを符号化するために参照画像にも常に適用することを示す、請求項１４に記載の方法。
【請求項１７】
前記符号化段階はリフレーズされたbase_pred_weight_table_flagシンタックス要素を相異なる３つの値の１つに設定する段階を有し、エンハンスメントレイヤのレイヤ間予測ブロックはそのレイヤ間予測ブロックに対応するブロックを符号化するために下位レイヤで使用される重み付けパラメータを用いて符号化されること、及びエンハンスメントレイヤの非レイヤ間予測ブロックはその非レイヤ間予測ブロックに対応するブロックを符号化するために下位レイヤで使用されるものと異なる重み付けパラメータを用いて符号化されることを示す、請求項１４に記載の方法。
【請求項１８】
前記符号化段階は、リフレーズされたbase_pred_weight_table_flagシンタックス要素が相異なる３つの値のうちの所定の２つの値の１つの値であるとき、base_mode_weight_flagマクロブロックレベルシンタックス要素を対応するヘッダ要素に加える段階を有し、base_mode_weight_flagマクロブロックレベルシンタックス要素は画像のエンハンスメントレイヤのレイヤ間予測マクロブロックの符号化に関して重み付けパラメータの第１のセットと第２のセットのうちからの選択を示し、第１のセットは下位レイヤの対応するマクロブロックの符号化に使用される重み付けパラメータを含み、第２のセットは下位レイヤの対応するマクロブロックの符号化に使用する重み付けパラメータとは異なる重み付けパラメータを含む、請求項１４に記載の方法。
【請求項１９】
エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより画像のエンハンスメントレイヤのブロックを復号するデコーダを有し、
エンハンスメントレイヤのブロックを復号するために用いる重み付けパラメータを、画像の下位レイヤのブロックを復号するための下位レイヤ参照画像に適用する重み付けパラメータと、エンハンスメントレイヤに適用可能な異なる重み付けパラメータとのうちから適応的に決定し、エンハンスメントレイヤのブロックは下位レイヤのブロックに対応し、エンハンスメントレイヤ参照画像は下位レイヤ参照画像に対応する装置。
【請求項２０】
前記デコーダは対応するヘッダ要素のリフレーズされたbase_pred_weight_table_flagシンタックス要素を読み出し、リフレーズされたbase_pred_weight_table_flagは相異なる２つの値の１つを取ることができ、相異なる２つの値の第１のものは、エンハンスメントレイヤのレイヤ間予測ブロックがそのレイヤ間予測ブロックに対応するブロックを復号するために下位レイヤで使用される重み付けパラメータを用いて復号されること、及びエンハンスメントレイヤの非レイヤ間予測ブロックがその非レイヤ間予測ブロックに対応するブロックを復号するために下位レイヤで使用される重み付けパラメータとは異なる重み付けパラメータを用いて符号化されることを示す、請求項１９に記載の装置。
【請求項２１】
前記デコーダは対応するヘッダ要素のリフレーズされたbase_pred_weight_table_flagシンタックス要素を読み出し、リフレーズされたbase_pred_weight_table_flagシンタックス要素は相異なる２つの値の１つを取ることができ、相異なる２つの値の第１のものはエンハンスメントレイヤのブロックを、レイヤ間予測または非レイヤ間予測の状態を有するかどうかに係わらず、下位レイヤの対応するブロックを復号するために使用される重み付けパラメータとは異なる重み付けパラメータを用いて復号する、請求項１９に記載の装置。
【請求項２２】
前記デコーダは、base_pred_weight_table_flagシンタックス要素が第１の値であるとき、対応するヘッダ要素のbase_mode_weight_flagマクロブロックレベルシンタックス要素を読み出し、base_mode_weight_flagマクロブロックレベルシンタックス要素はエンハンスメントレイヤのレイヤ間予測マクロブロックの復号に関して重み付けパラメータの第１のセットと第２のセットの決定に使用し、第１のセットは下位レイヤの対応するマクロブロックの復号に使用される重み付けパラメータを含み、第２のセットは下位レイヤの対応するマクロブロックの復号に使用する重み付けパラメータとは異なる重み付けパラメータを含む、請求項１９に記載の装置。
【請求項２３】
前記デコーダは、対応するヘッダ要素のリフレーズされたbase_pred_weight_table_flagシンタックス要素を読み出し、そのリフレーズされたbase_pred_weight_table_flagシンタックス要素は相異なる３つの値の１つを取ることができる、請求項１９に記載の装置。
【請求項２４】
前記デコーダは相異なる３つの値の１つに設定されたリフレーズされたbase_pred_weight_table_flagシンタックス要素を読み出し、下位レイヤの対応するマクロブロックの復号に使用するものとは異なる重み付けパラメータをエンハンスメントレイヤのすべてのマクロブロックを復号するために使用することを示す、請求項２３に記載の装置。
【請求項２５】
前記デコーダは相異なる３つの値の１つに設定されたリフレーズされたbase_pred_weight_table_flagシンタックス要素を読み出し、エンハンスメントレイヤのすべてのマクロブロックについて、下位レイヤのマクロブロックを復号するために下位レイヤの参照画像に適用される重みパラメータをエンハンスメントレイヤのマクロブロックの対応するものを復号するために参照画像にも常に適用することを示す、請求項２３に記載の装置。
【請求項２６】
前記デコーダは相異なる３つの値の１つに設定されたリフレーズされたbase_pred_weight_table_flagシンタックス要素を、エンハンスメントレイヤのレイヤ間予測ブロックはそのレイヤ間予測ブロックに対応するブロックを復号するために下位レイヤで使用される重み付けパラメータを用いて復号されること、及びエンハンスメントレイヤの非レイヤ間予測ブロックはその非レイヤ間予測ブロックに対応するブロックを復号するために下位レイヤで使用されるものと異なる重み付けパラメータを用いて復号されることを示す、請求項２３に記載の装置。
【請求項２７】
前記デコーダは、リフレーズされたbase_pred_weight_table_flagシンタックス要素が相異なる３つの値のうちの所定の２つの値の１つの値であるとき、base_mode_weight_flagマクロブロックレベルシンタックス要素を対応するヘッダ要素を読み出し、base_mode_weight_flagマクロブロックレベルシンタックス要素は画像のエンハンスメントレイヤのレイヤ間予測マクロブロックの復号に関して重み付けパラメータの第１のセットと第２のセットのうちからの選択を示し、第１のセットは下位レイヤの対応するマクロブロックの復号に使用される重み付けパラメータを含み、第２のセットは下位レイヤの対応するマクロブロックの復号に使用する重み付けパラメータとは異なる重み付けパラメータを含む、請求項２３に記載の装置。
【請求項２８】
エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより画像のエンハンスメントレイヤのブロックを復号する段階を有し、
エンハンスメントレイヤのブロックを復号するために用いる重み付けパラメータを、画像の下位レイヤのブロックを復号するための下位レイヤ参照画像に適用する重み付けパラメータと、エンハンスメントレイヤに適用可能な異なる重み付けパラメータとのうちから適応的に決定し、エンハンスメントレイヤのブロックは下位レイヤのブロックに対応し、エンハンスメントレイヤ参照画像は下位レイヤ参照画像に対応するスケーラブルビデオ復号方法。
【請求項２９】
前記復号段階は対応するヘッダ要素のリフレーズされたbase_pred_weight_table_flagシンタックス要素を読み出す段階を有し、リフレーズされたbase_pred_weight_table_flagは相異なる２つの値の１つを取ることができ、相異なる２つの値の第１のものは、エンハンスメントレイヤのレイヤ間予測ブロックがそのレイヤ間予測ブロックに対応するブロックを復号するために下位レイヤで使用される重み付けパラメータを用いて復号されること、及びエンハンスメントレイヤの非レイヤ間予測ブロックがその非レイヤ間予測ブロックに対応するブロックを復号するために下位レイヤで使用される重み付けパラメータとは異なる重み付けパラメータを用いて符号化されることを示す、請求項２８に記載の方法。
【請求項３０】
前記復号段階は対応するヘッダ要素のリフレーズされたbase_pred_weight_table_flagシンタックス要素を読み出しす段階を有し、リフレーズされたbase_pred_weight_table_flagシンタックス要素は相異なる２つの値の１つを取ることができ、相異なる２つの値の第１のものはエンハンスメントレイヤのブロックを、レイヤ間予測または非レイヤ間予測の状態を有するかどうかに係わらず、下位レイヤの対応するブロックを復号するために使用される重み付けパラメータとは異なる重み付けパラメータを用いて復号する、請求項２８に記載の方法。
【請求項３１】
前記復号段階は、base_pred_weight_table_flagシンタックス要素が第１の値であるとき、対応するヘッダ要素のbase_mode_weight_flagマクロブロックレベルシンタックス要素を読み出す段階を有し、base_mode_weight_flagマクロブロックレベルシンタックス要素はエンハンスメントレイヤのレイヤ間予測マクロブロックの復号に関して重み付けパラメータの第１のセットと第２のセットの決定に使用し、第１のセットは下位レイヤの対応するマクロブロックの復号に使用される重み付けパラメータを含み、第２のセットは下位レイヤの対応するマクロブロックの復号に使用する重み付けパラメータとは異なる重み付けパラメータを含む、請求項２８に記載の方法。
【請求項３２】
前記復号段階は、対応するヘッダ要素からリフレーズされたbase_pred_weight_table_flagシンタックス要素を読み出す段階を有し、そのリフレーズされたbase_pred_weight_table_flagシンタックス要素は相異なる３つの値の１つを取ることができる、請求項２８に記載の方法。
【請求項３３】
前記復号段階は相異なる３つの値の１つに設定されたリフレーズされたbase_pred_weight_table_flagシンタックス要素を読み出す段階を有し、下位レイヤの対応するマクロブロックの復号に使用するものとは異なる重み付けパラメータをエンハンスメントレイヤのすべてのマクロブロックを復号するために使用することを示す、請求項３２に記載の方法。
【請求項３４】
前記復号段階は相異なる３つの値の１つに設定されたリフレーズされたbase_pred_weight_table_flagシンタックス要素を読み出す段階を有し、エンハンスメントレイヤのすべてのマクロブロックについて、下位レイヤのマクロブロックを復号するために下位レイヤの参照画像に適用される重みパラメータをエンハンスメントレイヤのマクロブロックの対応するものを復号するために参照画像にも常に適用することを示す、請求項３２に記載の方法。
【請求項３５】
前記復号段階は相異なる３つの値の１つに設定されたリフレーズされたbase_pred_weight_table_flagシンタックス要素を読み出す段階を有し、エンハンスメントレイヤのレイヤ間予測ブロックはそのレイヤ間予測ブロックに対応するブロックを復号するために下位レイヤで使用される重み付けパラメータを用いて復号されること、及びエンハンスメントレイヤの非レイヤ間予測ブロックはその非レイヤ間予測ブロックに対応するブロックを復号するために下位レイヤで使用されるものと異なる重み付けパラメータを用いて復号されることを示す、請求項３２に記載の方法。    
【請求項３６】
前記復号段階は、リフレーズされたbase_pred_weight_table_flagシンタックス要素が相異なる３つの値のうちの所定の２つの値の１つの値であるとき、base_mode_weight_flagマクロブロックレベルシンタックス要素を対応するヘッダ要素を読み出す段階を有し、base_mode_weight_flagマクロブロックレベルシンタックス要素は画像のエンハンスメントレイヤのレイヤ間予測マクロブロックの復号に関して重み付けパラメータの第１のセットと第２のセットのうちからの選択を示し、第１のセットは下位レイヤの対応するマクロブロックの復号に使用される重み付けパラメータを含み、第２のセットは下位レイヤの対応するマクロブロックの復号に使用する重み付けパラメータとは異なる重み付けパラメータを含む、請求項３２に記載の方法。
【請求項３７】
エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより生成された画像のエンハンスメントレイヤにおいて符号化されたブロックを有し、  
エンハンスメントレイヤのブロックを符号化するために用いる重み付けパラメータを、画像の下位レイヤのブロックを符号化するための下位レイヤ参照画像に適用する重み付けパラメータと、エンハンスメントレイヤに適用可能な異なる重み付けパラメータとのうちから適応的に選択し、エンハンスメントレイヤのブロックは下位レイヤのブロックに対応し、エンハンスメントレイヤ参照画像は下位レイヤ参照画像に対応するスケーラブルビデオ符号化のためのビデオ信号構造。
【請求項３８】
エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより生成された画像のエンハンスメントレイヤにおいて符号化されたブロックを有し、  
エンハンスメントレイヤのブロックを符号化するために用いる重み付けパラメータを、画像の下位レイヤのブロックを符号化するための下位レイヤ参照画像に適用する重み付けパラメータと、エンハンスメントレイヤに適用可能な異なる重み付けパラメータとのうちから適応的に選択し、エンハンスメントレイヤのブロックは下位レイヤのブロックに対応し、エンハンスメントレイヤ参照画像は下位レイヤ参照画像に対応するスケーラブルビデオ信号データが符号化された記憶媒体。
【発明の詳細な説明】
【関連出願との相互参照】
【０００１】
この出願は米国仮出願第６０／７２５，６８７号（２００５年１０月１２日出願、発明の名称「スケーラブルビデオ符号化及び復号における重み付け予測方法及び装置」の利益を主張するものであり、この出願はここに参照援用する。
【技術分野】
【０００２】
本発明はビデオの符号化及び復号に関し、より具体的にはスケーラブルなビデオの符号化及び復号における重み付け予測方法及び装置に関する。
【背景技術】
【０００３】
ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４パート１０ＡＶＣ  ／  ＩＴＵ−Ｔ  Ｈ．２６４（International  Organization  for  Standardization/International  Electrotechnical  Commission  (ISO/IEC)  Moving  Picture  Experts  Group-４  (MPEG-４)  Part  １０  Advanced  Video  Coding  (AVC)  standard/International  Telecommunication  Union,  Telecommunication  Sector  (ITU-T)  H.２６４  standard）（以下、「ＭＰＥＧ４／Ｈ．２６４」、または単に「Ｈ．２６４」と呼ぶ）は重み付け予測（Weighted  Prediction）（ＷＰ）を含む最初の国際的なビデオ符号化標準である。スケーラブルビデオコーディング（ＳＶＣ）規格は、現在Ｈ．２６４規格の修正として開発が進められており（、ここでは「Ｈ．２６４規格」として交換可能に呼ぶが）、重み付け予測を使用している。しかし、Ｈ．２６４規格は、ベースレイヤとエンハンスメントレイヤとの間の重みの関係を規定していない。
【０００４】
重み付け予測はＨ．２６４のメインプロファイル（Main  profile）、エクステンデッドプロファイル（Extended  profile）及びハイプロファイル（High  profile）でサポートされている。ＷＰを使用していることは、ＰスライスとＳＰスライスのシーケンスパラメータセット（sequence  parameter  set）でweighted_pred_flagフィールドを使用し、Ｂスライスのシーケンスパラメータセットでweighting_bipred_idcフィールドを使用していることに現れている。ＷＰモードには明示モードと黙示モードの２つがある。明示モード（explicit  mode）はＰ、ＳＰ及びＢのそれぞれのスライスでサポートされている。黙示モードはＢスライスのみでサポートされている。
【０００５】
weighted_pred_flagが０であることは、ＰスライスとＳＰスライスには重み付け予測を適用しないことを示す。weighted_pred_flagが１であることは、ＰスライスとＳＰスライスに重み付け予測を適用することを示す。
【０００６】
weighted_bipred_idcが０であることは、Ｂスライスにデフォルトの重み付け予測を適用することを示す。weighted_bipred_idcが１であることは、Ｂスライスに明示的（explicit）重み付け予測を適用することを示す。weighted_bipred_idcが２であることは、Ｂスライスに黙示的（implicit）重み付け予測を適用することを示す。weighted_bipred_idcの値は０以上２以下の範囲にある。
【０００７】
各スライスの各カラー成分の各参照インデックス（reference  index）には１つの重み係数（weighting  factor）とオフセットとが付随している。明示モードでは、これらのＷＰパラメータは符号化されてスライスヘッダに入っている。黙示モードでは、これらのＷＰパラメータは現在の画像（current  picture）と参照画像の相対距離のみに基づいて求められる。
【０００８】
各マクロブロックまたはマクロブロックパーティション（macroblock  partition）に対して、適用される重み付けパラメータは、現在のマクロブロックまたは現在のマクロブロックパーティションの参照画像インデックス（二重予測（bi-prediction）の場合は複数の参照画像インデックス）に基づく。参照画像インデックスは符号化されてビットストリームに入っているか、スキップされたマクロブロックまたは直接モードマクロブロックについて求められる。参照画像インデックスを使ってどの重み付けパラメータを適用するかを信号として伝えると、重み付けパラメータインデックスをビットストリーム中に入れるよりもビットレートの効率がよい。参照画像インデックスは要求されているその他のビットレートフィールドに基づき入手可能だからである。
【０００９】
スケーラビリティ（scalability）を確保する多数の方法が研究されて標準化されている。これには、ＭＰＥＧ−２とＨ．２６４のスケーラビリティプロファイルにおけるＳＮＲスケーラビリティ、空間スケーラビリティ、時間スケーラビリティ、ファイングレイン（fine  grain）スケーラビリティがある。また、Ｈ．２６４の改正として現在開発が進められているものもある。
【００１０】
空間スケーラビリティ、時間スケーラビリティ及びＳＮＲスケーラビリティでは、レイヤ間予測が大規模に組み込まれている。マクロブロック内とマクロブロック間では、前のレイヤの対応する信号を用いて予測が行われる。さらに、各レイヤの動き記述（motion  description）を使用して後続のエンハンスメントレイヤの動き記述を予測することができる。これらの方法は３つのカテゴリーに分けられる：レイヤ間テクスチャ内予測（inter-layer  intra  texture  prediction）、レイヤ間動き予測、及び（residual_prediction_flagによる）レイヤ間残差予測である。
【００１１】
ジョイントスケーラブルビデオモデル（ＪＳＶＭ）は、ＩＳＯ／ＩＥＣ（International  Organization  for  Standardization/International  Electrotechnical  Commission）ＭＰＥＧ−４（Moving  Picture  Experts  Group-４）パート１０ＡＶＣ（Advanced  Video  Coding）規格、及びＩＴＵ−Ｔ（International  Telecommunication  Union,  Telecommunication  Sector）のＨ．２６４規格（以下、「ＭＰＥＧ−４／Ｈ．２６４規格」または単に「Ｈ．２６４規格」と呼ぶ）の拡張／修正として開発されている。このＪＳＶＭでは、エンハンスメントレイヤマクロブロックは、ダイアディック（dyadic、２レイヤ）空間スケーラビリティのように、「ＢＡＳＥ＿ＬＡＹＥＲ＿ＭＯＤＥ」または「ＱＰＥＬ＿ＲＥＦＩＮＥＭＥＮＴ＿ＭＯＤＥ」の何れかを用いて、スケールされたベースレイヤ動きデータを用いて、レイヤ間動き予測を利用することができる。また、マクロブロック（またはサブマクロブロック）予測モードでは、動きベクトルのプレディクタ（predictor）は、motion_prediction_flag_lx[]により、ベースレイヤ動きベクトルまたは空間的に隣接するもの（spatial  neighbor）のエンハンスメントレイヤ動きベクトルから選択できる。motion_prediction_flag_lx[]が１であることは、（スケールされた）ベースレイヤ動きベクトルを動きベクトルプレディクタとして使用することを示す。motion_prediction_flag_lx[]が０であることは、空間的に隣接するもの（spatial  neighbors）からのエンハンスメントレイヤ動きベクトルを動きベクトルプレディクタとして使用することを示す。
【００１２】
スケーラブルビデオコーディングの重み付け予測に関する先行技術による第１と第２のアプローチは、エンハンスメントレイヤに対して、ベースレイヤの重みを常に承継（inherit）することを提案している。これは効率的である。ベースレイヤとエンハンスメントレイヤで重み付けパラメータを計算するために同じアルゴリズムを使用する時、エンハンスメントレイヤの重みを送信する必要がないからである。この承継は、先行技術の第１のアプローチでは、フラグ（base_pred_wieght_table_flag）をスライスヘッダに加えることを指し、先行技術の第２のアプローチでは、weighted_pred_flag、weighted_bipred_idc、motion_prediction_flag_lx[]、及びresidue_prediction_flagのシンタックス変更と意味変更を指している。先行技術の第１のアプローチでは、base_pred_weight_table_flagが１であるとき、エンハンスメントレイヤはベースレイヤの重み（weights）を常に承継する。Ｈ．２６４規格では、（上記の）レイヤ間予測モードを使用し、base_pred_weight_table_flagが０であるとき、エンハンスメントレイヤに対してどの重み（set  of  weights）を使用すべきか規定していない。
【発明の開示】
【課題を解決するための手段】
【００１３】
こうした先行技術の欠点や不利な点を、本発明は解消する。本発明はスケーラブルビデオ符号化及び復号のための重み付け予測方法及び装置に関する。
【００１４】
本発明の一態様によると、スケーラブルビデオエンコーダが提供される。スケーラブルビデオエンコーダは、エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより画像のエンハンスメントレイヤのブロックを符号化するエンコーダを含む。エンハンスメントレイヤのブロックをエンコードするために使用する重み付けパラメータは、画像の下位レイヤのブロックを符号化するために下位レイヤ参照画像に適用される重み付けパラメータと、これとは異なる、エンハンスメントレイヤに適用可能な重み付けパラメータとから適応的に選択される。エンハンスメントレイヤのブロックは下位レイヤのブロックに対応する。エンハンスメントレイヤ参照画像は、下位レイヤ参照画像に対応する。
【００１５】
本発明の他の一態様によると、スケーラブルビデオ符号化方法が提供される。該方法は、エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより画像のエンハンスメントレイヤのブロックを符号化する段階を有する。エンハンスメントレイヤのブロックをエンコードするために使用する重み付けパラメータは、画像の下位レイヤのブロックを符号化するために下位レイヤ参照画像に適用される重み付けパラメータと、これとは異なる、エンハンスメントレイヤに適用可能な重み付けパラメータとから適応的に選択される。エンハンスメントレイヤのブロックは下位レイヤのブロックに対応する。エンハンスメントレイヤ参照画像は、下位レイヤ参照画像に対応する。
【００１６】
本発明のさらに別の一態様によると、スケーラブルビデオデコーダが提供される。スケーラブルビデオデコーダは、エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより画像のエンハンスメントレイヤのブロックを復号するデコーダを含む。エンハンスメントレイヤのブロックを復号するために使用する重み付けパラメータは、画像の下位レイヤのブロックを復号するために下位レイヤ参照画像に適用される重み付けパラメータと、これとは異なる、エンハンスメントレイヤに適用可能な重み付けパラメータとから適応的に決定される。エンハンスメントレイヤのブロックは下位レイヤのブロックに対応する。エンハンスメントレイヤ参照画像は、下位レイヤ参照画像に対応する。
【００１７】
本発明の別の一態様によると、スケーラブルビデオ復号方法が提供される。該方法は、エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより画像のエンハンスメントレイヤのブロックを復号する段階を有する。エンハンスメントレイヤのブロックを復号するために使用する重み付けパラメータは、画像の下位レイヤのブロックを復号するために下位レイヤ参照画像に適用される重み付けパラメータと、これとは異なる、エンハンスメントレイヤに適用可能な重み付けパラメータとから適応的に決定される。エンハンスメントレイヤのブロックは下位レイヤのブロックに対応する。エンハンスメントレイヤ参照画像は、下位レイヤ参照画像に対応する。
【００１８】
本発明のさらに別の一態様によると、スケーラブルビデオ符号化のためのビデオ信号構造が提供される。該ビデオ信号構造は、エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより生成された画像のエンハンスメントレイヤにおいて符号化されたブロックを含む。エンハンスメントレイヤのブロックをエンコードするために使用する重み付けパラメータは、画像の下位レイヤのブロックを符号化するために下位レイヤ参照画像に適用される重み付けパラメータと、これとは異なる、エンハンスメントレイヤに適用可能な重み付けパラメータとから適応的に選択される。エンハンスメントレイヤのブロックは下位レイヤのブロックに対応する。エンハンスメントレイヤ参照画像は、下位レイヤ参照画像に対応する。
【００１９】
本発明のさらに別の一態様によると、スケーラブルビデオ信号データが符号化された記憶媒体が提供される。該スケーラブルビデオ信号データは、エンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより生成された画像のエンハンスメントレイヤにおいて符号化されたブロックを含む。エンハンスメントレイヤのブロックをエンコードするために使用する重み付けパラメータは、画像の下位レイヤのブロックを符号化するために下位レイヤ参照画像に適用される重み付けパラメータと、これとは異なる、エンハンスメントレイヤに適用可能な重み付けパラメータとから適応的に選択される。エンハンスメントレイヤのブロックは下位レイヤのブロックに対応する。エンハンスメントレイヤ参照画像は、下位レイヤ参照画像に対応する。
【００２０】
本発明の上記その他の態様、特徴、及び有利性は、添付した図面を参照して読むと、実施形態の詳細な説明から明らかとなるであろう。
【発明を実施するための最良の形態】
【００２１】
本発明はスケーラブルビデオ符号化及び復号における重み付け予測方法及び装置に関する。
【００２２】
ここで本発明の原理を説明する。言うまでもなく、当業者は、ここには明示的に説明や図示はしていないが、本発明の原理を化体し、その精神と範囲内に含まれる様々な構成を工夫することができる。
【００２３】
ここに記載したすべての例と条件付きの言葉は、発明者が技術発展に対してなした本発明の原理とコンセプトとを、読者が理解しやすいようにするためのものであり、その解釈は具体的に記載した実施例や条件に限定されるべきではない。
【００２４】
さらに、本発明の原理、態様、実施形態、及びその実施例のすべての記載は、その構成的等価物及び機能的等価物の両方を含むものである。また、かかる等価物は、現在知られている等価物及び将来開発される等価物を含み、すなわち、構成にかかわらず同じ機能を発揮する開発されるすべての要素を含む。
【００２５】
よって、例えば、当業者には言うまでもなく、ここに説明したブロック図は本発明の原理を化体する回路を概念的に示すものである。同様に、言うまでもなく、フローチャート、フロー図、状態遷移図、擬似コード等は、様々な方法（processes）を表し、これらの方法をコンピュータ読み取り可能媒体に実質的に表しても、（明示的に示していようがいまいが）コンピュータやプロセッサで実行してもよい。
【００２６】
図示した様々な要素の機能は、専用ハードウェアを用いても、ソフトウェアを実行可能なハードウェアと適当なソフトウェアとを組み合わせても提供できる。プロセッサを設けるとき、機能を単一の専用プロセッサで提供してもよいし、共有された単一のプロセッサで提供してもよいし、一部が共有された複数の個別プロセッサで提供してもよい。さらに、「プロセッサ」または「コントローラ」という用語を明示的に使用した場合、ソフトウェアを実行できるハードウェアのみをいうと解釈してはならず、限定はされないが、デジタルシグナルプロセッサ（ＤＳＰ）、ソフトウェアを記憶するＲＯＭ、ＲＡＭ、不揮発性記憶装置を黙示的に含んでもよい。
【００２７】
その他のハードウェアを従来のものでもカスタムのものであっても含んでもよい。同様に、図面に示したスイッチは概念的なものである。スイッチの機能は、プログラムロジックの動作、専用ロジックの動作、プログラム制御や専用ロジックのインターラクション、またはマニュアルで実行されてもよく、具体的な方法は実施者が文脈から判断して選択できる。
【００２８】
請求項において、特定の機能を実行する手段として表した要素は、その機能を実行するいかなる方法も含み、例えば、ａ）その機能を実行する回路要素の組合せと、ｂ）ファームウェアやマイクロコード等を含む任意の形式のソフトウェア及びそれと組み合わせたその機能を実行する適当な回路とを含む。請求項に記載した発明は、記載した様々な手段が提供する機能を、請求項に記載したように組み合わせることにある。よって、これらの機能を提供できる手段はどれでも、ここに示したものと等化であると見なせる。
【００２９】
図１を参照して、本発明を適用できるジョイントスケーラブルビデオモデル（以下、「ＪＳＶＭ」）のエンコーダの一例を参照数字１００で示した。ＪＳＶＭエンコーダ１００は、３つの空間レイヤと動き補償時間フィルタリングとを使用する。ＪＳＶＭエンコーダ１００は、２次元（２Ｄ）デシメータ１０４と、２次元デシメータ１０６と、動き補償時間フィルタリング（ＭＣＴＦ）モジュール１０８とを有し、各ユニットはビデオ信号データ１０２を受け取る入力を有している。
【００３０】
２次元デシメータ１０６の出力はＭＣＴＦモジュール１１０の入力と接続され信号通信している。ＭＣＴＦモジュール１１０の第１の出力は動きコーダ１１２の入力と接続され信号通信しており、ＭＣＴＦモジュール１１０の第２の出力は予測モジュール１１６の入力と接続され信号通信している。動きコーダ１１２の第１の出力はマルチプレクサ１１４の第１の入力と接続され信号通信している。動きコーダ１１２の第２の出力は動きコーダ１２４の第１の入力と接続され信号通信している。予測モジュール１１６の第１の出力は空間変換器１１８の入力と接続され信号通信している。空間変換器１１８の出力はマルチプレクサ１１４の第２の入力と接続され信号通信している。予測モジュール１１６の第２の出力は補間器１２０の入力と接続され信号通信している。補間器１２０の出力は予測モジュール１２２の第１の入力と接続され信号通信している。予測モジュール１２２の第１の出力は空間変換器１２６の入力と接続され信号通信している。空間変換器１２６の出力はマルチプレクサ１１４の第２の入力と接続され信号通信している。予測モジュール１２２の第２の出力は補間器１３０の入力と接続され信号通信している。補間器１３０の出力は予測モジュール１３４の第１の入力と接続され信号通信している。予測モジュール１３４の出力は空間変換器１３６の入力と接続され信号通信している。空間変換器１２６の出力はマルチプレクサ１１４の第２の入力と接続され信号通信している。
【００３１】
２次元デシメータ１０４の出力はＭＣＴＦモジュール１２８の入力と接続され信号通信している。ＭＣＴＦモジュール１２８の第１の出力は動きコーダ１２４の第２の入力と接続され信号通信している。動きコーダ１２４の第１の出力はマルチプレクサ１１４の第１の入力と接続され信号通信している。動きコーダ１２４の第２の出力は動きコーダ１３２の第１の入力と接続され信号通信している。ＭＣＴＦモジュール１２８の第２の出力は予測モジュール１２２の第２の入力と接続され信号通信している。
【００３２】
ＭＣＴＦモジュール１０８の第１の出力は動きコーダ１３２の第２の入力と接続され信号通信している。動きコーダ１３２の出力はマルチプレクサ１１４の第１の入力と接続され信号通信している。ＭＣＴＦモジュール１０８の第２の出力は予測モジュール１３４の第２の入力と接続され信号通信している。マルチプレクサ１１４は出力ビットストリーム１３８を出力する。
【００３３】
各空間レイヤについて、動き補償時間分解（motion  compensated  temporal  decomposition）を行う。この分解により時間的スケーラビリティが得られる。下の空間レイヤからの動き情報を上のレイヤの動きの予測に使用できる。テクスチャ符号化の場合、連続する空間レイヤ間の空間予測を適用して冗長性を除去する。イントラ予測（intra  prediction）または動き補償インター予測（motion  compensated  inter  prediction）から得られる残余信号を変換コーディング（transform  coded）する。クオリティベースレイヤ残余（quality  base  layer  residual）により各空間レイヤにおいて最低限の再構成品質が得られる。レイヤ間予測を適用していなければ、このクオリティベースレイヤをＨ．２６４準拠ストリームに符号化できる。クオリティスケーラビリティのため、クオリティエンハンスメントレイヤもエンコードする。これらのエンハンスメントレイヤを選択して、粗いまたは細かいグレインクオリティ（ＳＮＲ）スケーラビリティのいずれかを提供することができる。
【００３４】
図２を参照して、本発明を適用できるスケーラブルビデオデコーダの一例を参照数字２００で示した。デマルチプレクサ２０２の入力を、スケーラブルビットストリームを受信するスケーラブルビデオデコーダ２００の入力として使用する。デマルチプレクサ２０２の第１の出力は空間逆変換ＳＮＲスケーラブルエントロピデコーダ２０４の入力と接続され信号通信している。空間逆変換ＳＮＲスケーラブルエントロピデコーダ２０４の第１の出力は予測モジュール２０６の第１の入力と接続され信号通信している。予測モジュール２０６の出力は逆ＭＣＴＦモジュール２０８の第１の入力と接続され信号通信している。
【００３５】
空間逆変換ＳＮＲスケーラブルエントロピデコーダ２０４の第２の出力は動きベクトル（ＭＶ）デコーダ２１０の第１の入力と接続され信号通信している。ＭＶデコーダ２１０の出力は逆ＭＣＴＦモジュール２０８の第２の入力と接続され信号通信している。
【００３６】
デマルチプレクサ２０２の第２の出力は空間逆変換ＳＮＲスケーラブルエントロピデコーダ２１２の入力と接続され信号通信している。空間逆変換ＳＮＲスケーラブルエントロピデコーダ２１２の第１の出力は予測モジュール２１４の第１の入力と接続され信号通信している。予測モジュール２１４の第１の出力は補間モジュール２１６の入力と接続され信号通信している。補間モジュール２１６の出力は予測モジュール２０６の第２の入力と接続され信号通信している。予測モジュール２１４の第２の出力は逆ＭＣＴＦモジュール２１８の第１の入力と接続され信号通信している。
【００３７】
空間逆変換ＳＮＲスケーラブルエントロピデコーダ２１２の第２の出力はＭＶデコーダ２２０の第１の入力と接続され信号通信している。ＭＶデコーダ２２０の第１の出力はＭＶデコーダ２１０の第２の入力と接続され信号通信している。ＭＶデコーダ２２０の第２の出力は逆ＭＣＴＦモジュール２１８の第２の入力と接続され信号通信している。
【００３８】
デマルチプレクサ２０２の第３の出力は空間逆変換ＳＮＲスケーラブルエントロピデコーダ２２２の入力と接続され信号通信している。空間逆変換ＳＮＲスケーラブルエントロピデコーダ２２２の第１の出力は予測モジュール２２４の入力と接続され信号通信している。予測モジュール２２４の第１の出力は補間モジュール２２６の入力と接続され信号通信している。補間モジュール２２６の出力は予測モジュール２１４の第２の入力と接続され信号通信している。
【００３９】
予測モジュール２２４の第２の出力は逆ＭＣＴＦモジュール２２８の第１の入力と接続され信号通信している。空間逆変換ＳＮＲスケーラブルエントロピデコーダ２２２の第２の出力はＭＶデコーダ２３０の入力と接続され信号通信している。ＭＶデコーダ２３０の第１の出力はＭＶデコーダ２２０の第２の入力と接続され信号通信している。ＭＶデコーダ２３０の第２の出力は逆ＭＣＴＦモジュール２２８の第２の入力と接続され信号通信している。
【００４０】
逆ＭＣＴＦモジュール２２８の出力は、レイヤ０信号を出力するために、デコーダ２００の出力として利用できる。逆ＭＣＴＦモジュール２１８の出力は、レイヤ１信号を出力するために、デコーダ２００の出力として利用できる。逆ＭＣＴＦモジュール２０８の出力は、レイヤ２信号を出力するために、デコーダ２００の出力として利用できる。
【００４１】
本原理の実施形態によると、エンハンスメントレイヤ重み付け予測のための重み付けパラメータは、ベースレイヤ重みとエンハンスメントレイヤ重みの中から選択される。これにより、特に局所的な強度変化の場合に符号化性能が向上する。本発明の様々な実施形態では、選択は適応的に行われるか、またはマクロブロックモードに応じて決まる。エンコーダにおけるモード選択に対する様々な実施形態例を説明する。
【００４２】
エンコーダにおいて、ベースレイヤとエンハンスメントレイヤに相異なるアルゴリズムを使用する場合、またはベースレイヤでは重み付け予測を使用しないが、エンハンスメントレイヤでは重み付け予測を使用する場合、エンハンスメントレイヤで重み付けパラメータを明示的に送信する。
【００４３】
ＪＳＶＭでは、エンハンスメントレイヤマクロブロックはダイアディック（dyadic）（２レイヤ）空間スケーラビリティの場合に、「BASE_LAYER_MODE」または「QPEL_REFINEMENT_MODE」のいずれかを用いて、スケールされたベースレイヤ動きデータを用いたレイヤ間予測を利用することができる。また、マクロブロック（またはサブマクロブロック）予測モードでは、動きベクトルのプレディクタ（predictor）は、motion_prediction_flag_lx[]により、ベースレイヤ動きベクトルまたは空間的に隣接するもの（spatial  neighbor）のエンハンスメントレイヤ動きベクトルから選択できる。motion_prediction_flag_lx[]が１であることは、（スケールされた）ベースレイヤ動きベクトルを動きベクトルプレディクタとして使用することを示す。motion_prediction_flag_lx[]が０であることは、空間的に隣接するもの（spatial  neighbors）からのエンハンスメントレイヤ動きベクトルを動きベクトルプレディクタとして使用することを示す。
【００４４】
base_mode_flagが１であるか、base_mode_refinement_flagが１であるか、motion_prediction_flag_lx[]が１であるとき、これらのマクロブロックをレイヤ間予測されたマクロブロック（inter-layer  predicted  macroblocks）と呼ぶ。
【００４５】
スライスヘッダフラグbase_pred_weight_table_flagは、０または１のいずれかの値を取る。値０は、エンハンスメントレイヤ（ＥＬ）重みが送信されることを示している。値１は、ベースレイヤ（ＥＬ）重みがエンハンスメントレイヤに承継（inherit）されるべきことを示している。
【００４６】
Ｈ．２６４規格は、レイヤ間予測モードについては、どの重み（set  of  weights）を使用するか明確には規定していない。本原理に関してこれらの場合を明確にするために、５つの実施形態例を提供し、図３乃至図１２に示した方法を参照して説明する。もちろん、本原理はここに説明する５つの実施形態例に限定はされず、ここに説明する本原理の教示に基づき、本技術分野または関連技術分野の当業者は、本原理の範囲においてこれらの実施形態やその他の様々な実施形態を考え得るであろう。
【００４７】
第１と第２の実施形態において、シンタックスの変更無しに、レイヤ間予測マクロブロックの場合に、base_pred_weight_table_flagが０であるときのその使用を明らかにする。第３の実施形態において、上記の先行技術による第１のアプローチの方法を、マクロブロックレイヤに新しいシンタックス要素base_mode_weight_flagを加えて拡張する。このシンタックス要素base_mode_weight_flagは、レイヤ間予測マクロブロックのエンハンスメントレイヤでどの重み（set  of  weights）を使用すべきかを、マクロブロックベースで示す。第４の実施形態では、以下に説明するように３つの値を取るようにbase_pred_weight_table_flagを拡張する。第５の方法例では、第４の方法を拡張して、マクロブロックレイヤにシンタックス要素base_mode_weight_flagを加え、ＢＬ重みとＥＬ重みのいずれを使用すべきか示す。
【００４８】
以下、表１は第１、第２、及び第３の実施形態のスライスヘッダシンタックス（slice  header  syntax）を例示している。表２は、第４と第５の実施形態のスライスヘッダシンタックスを例示している。表３は、第３の実施形態のマクロブロックレイヤシンタックスを例示している。表４は、第５の実施形態のマクロブロックレイヤシンタックスを例示している。
【００４９】
【表１】
2009512347.tif 000003
2009512347.tif 000004
【００５０】
【表２】
2009512347.tif 000005
2009512347.tif 000006
【００５１】
【表３】
2009512347.tif 000007
2009512347.tif 000008
【００５２】
【表４】
2009512347.tif 000009
2009512347.tif 000010
ここで、第１の実施形態について説明する。第１の実施形態では、シンタックス要素は変更しない。base_pred_weight_table_flagが０であり、エンハンスメントレイヤマクロブロックがレイヤ間マクロブロックであるとき、対応するマクロブロックを重み付けするためにベースレイヤ重みを使用することは、直感的に明らかである。結果として、デコーダでもこのことを知っているべきである。そこで、motion_prediction_flag_lx[]、base_mode_flag、base_mode_refinement_flagの意味の変更を提案する。特に、シンタックスルの既存の定義に次のラインを加えることを提案する。
【００５３】
motion_prediction_flag_l０[mbPartIdx]が１のとき、ベースレイヤpred_weight_table()を使用して現在のマクロブロックに重み付け予測を行う。
【００５４】
base_mode_flagが１のとき、ベースレイヤpred_weight_table()を使用して現在のマクロブロックに重み付け予測を行う。
【００５５】
base_mode_refinement_flagが１のとき、ベースレイヤpred_weight_table()を使用して現在のマクロブロックに重み付け予測を行う。
【００５６】
図３を参照するに、重み付け予測を用いたエンハンスメントレイヤの符号化方法を参照数字３００で示した。方法３００は開始ブロック３０５を含む。開始ブロック３０５において、エンハンスメントレイヤの符号化を開始する。そして、判断ブロック３１０に進む。判断ブロック３１０において、base_pred_weight_table_flagが１かどうか判断する。１であれば、機能ブロック３１５に進む。１でなければ、機能ブロック３４０に進む。
【００５７】
機能ブロック３１５において、レイヤ間マクロブロックに対してベースレイヤ重み付けパラメータを使用する。そして機能ブロック３２０に進む。機能ブロック３２０において、取得した重み（weights）で参照画像を重み付けし、機能ブロック３２５に進む。機能ブロック３２５において、エンハンスメントレイヤに対応するスライスヘッダにbase_pred_weight_table_flagを書き込み、判断ブロック３３０に進む。判断ブロック３３０において、base_pred_weight_table_flagが１（真）かどうか判断する。１であれば、機能ブロック３３５に進む。１でなければ、機能ブロック３５０に進む。
【００５８】
機能ブロック３３５において、重み付けした参照画像を用いてエンハンスメントレイヤ画像を符号化し、終了ブロック３９９に進む。
【００５９】
機能ブロック３５０において、スライスヘッダに重み（weights）を書き込み、判断ブロック３３５に進む。
【００６０】
機能ブロック３４０において、エンハンスメントレイヤ画像の重みを計算し、機能ブロック３４５に進む。機能ブロック３４５において、エンハンスメントレイヤ画像中のレイヤ間マクロブロックにベースレイヤ重み付けパラメータを使用し、エンハンスメントレイヤ画像中の他のマクロブロックにエンハンスメントレイヤ重み付けパラメータを使用する。機能ブロック３２０に進む。
【００６１】
図４を参照するに、重み付け予測を用いたエンハンスメントレイヤの符号化方法を参照数字４００で示した。方法４００は、開始ブロック４０５を含む。開始ブロック４０５において、エンハンスメントレイヤの符号化を開始する。そして、判断ブロック４１０に進む。判断ブロック４１０において、base_pred_weight_table_flagが０かどうか判断する。０であれば、機能ブロック４１５に進む。０でなければ、機能ブロック４２０に進む。
【００６２】
機能ブロック４１５において、レイヤ間マクロブロックに対してベースレイヤ重み付けパラメータを使用し、その他のすべてのマクロブロックに対してエンハンスメントレイヤ重み付けパラメータを使用する。そして終了ブロック４９９に進む。
【００６３】
機能ブロック４２０において、すべてのマクロブロックに対してベースレイヤ重み付けパラメータを使用する。そして終了ブロック４９９に進む。
【００６４】
ここで、第２の方法例について説明する。第２の方法例のモチベーションは、motion_prediction_flag_lx[]、base_mode_flag、及びbase_mode_refinement_flagの意味を変更する点以外は、第１の方法例と同様である。base_pred_weight_table_flagが０であるとき、エンハンスメントレイヤは常にエンハンスメントレイヤ重みを使用し、ベースレイヤ重みは使用しない。
【００６５】
motion_prediction_flag_l０[mbPartIdx]が１のとき、エンハンスメントレイヤpred_weight_table()を使用して現在のマクロブロックに重み付け予測を行う。
【００６６】
base_mode_flagが１であるとき、エンハンスメントレイヤpred_weight_table()を使用して現在のマクロブロックに重み付け予測を行う。
【００６７】
base_mode_refinement_flagが１のとき、エンハンスメントレイヤpred_weight_table()を使用して現在のマクロブロックに重み付け予測を行う。
【００６８】
図５を参照するに、重み付け予測を用いたエンハンスメントレイヤの符号化方法を参照数字５００で示した。この方法は開始ブロック５０５を含む。かかるブロックにおいて、エンハンスメントレイヤの符号化を開始する。そして、判断ブロック５１０に進む。判断ブロック５１０において、base_pred_weight_table_flagが１かどうか判断する。１であれば、機能ブロック５１５に進む。１でなければ、機能ブロック５４０に進む。
【００６９】
機能ブロック５１５において、すべてのマクロブロックに対してベースレイヤ重み付けパラメータを使用する。そして機能ブロック５２０に進む。機能ブロック５２０において、取得した重み（weights）で参照画像を重み付けし、機能ブロック５２５に進む。機能ブロック５２５において、エンハンスメントレイヤに対応するスライスヘッダにbase_pred_weight_table_flagを書き込み、判断ブロック５３０に進む。判断ブロック５３０において、base_pred_weight_table_flagが１（真）かどうか判断する。１であれば、機能ブロック５３５に進む。１でなければ、機能ブロック５５０に進む。
【００７０】
機能ブロック５３５において、重み付けした参照画像を用いてエンハンスメントレイヤ画像を符号化し、終了ブロック５９９に進む。
【００７１】
機能ブロック５５０において、スライスヘッダに重み（weights）を書き込み、判断ブロック５３５に進む。
【００７２】
機能ブロック５４０において、エンハンスメントレイヤ画像の重みを計算し、機能ブロック５４５に進む。機能ブロック５４５において、すべてのマクロブロックに対してエンハンスメントレイヤ重み付けパラメータを使用する。そして機能ブロック５２０に進む。
【００７３】
図６を参照するに、重み付け予測を用いたエンハンスメントレイヤの符号化方法を参照数字６００で示した。方法６００は、開始ブロック６０５を含む。開始ブロック６０５において、エンハンスメントレイヤの符号化を開始する。そして、判断ブロック６１０に進む。判断ブロック６１０において、base_pred_weight_table_flagが０かどうか判断する。０であれば、機能ブロック６１５に進む。０でなければ、機能ブロック６２０に進む。
【００７４】
機能ブロック６１５において、すべてのマクロブロックに対してエンハンスメントレイヤ重み付けパラメータを使用する。そして終了ブロック６９９に進む。
【００７５】
機能ブロック６２０において、すべてのマクロブロックに対してベースレイヤ重み付けパラメータを使用する。そして終了ブロック６９９に進む。
【００７６】
ここで、第３の実施形態について説明する。第３の実施形態では、既存のスライスヘッダシンタックスbase_pred_weight_table_flagはそのままにするが、表３に示したように、マクロブロックレイヤに新しいシンタックス要素base_mode_weight_flagを加える。
【００７７】
base_mode_weight_flagが１であるとき、重み付けパラメータは対応するベースマクロブロックに基づき推測すべきであることを示す。base_mode_weight_flagが０であるとき、重み付けパラメータは推測されない。
【００７８】
このフラグがあるのは、base_pred_weight_table_flagが０の時だけである。この場合、エンコーダはレート歪み最適化（ＲＤＯ、rate  distortion  optimization）法を用いて、現在のエンハンスメントレイヤ予測マクロブロックにおいてどの重みのセットの性能がよいか決定する。ベースレイヤ重みを使用すると性能がよい場合、base_mode_weight_flagを１に設定する。さもなくば、base_mode_weight_flagを０に設定する。デコーダはbase_mode_weight_flagを復号し、現在のマクロブロックの再構成にどの重みパラメータのセットをしようすべきか決定する。
【００７９】
図７を参照するに、重み付け予測を用いたエンハンスメントレイヤの符号化方法を参照数字７００で示した。方法７００は開始ブロック７０５を含む。かかるブロックにおいて、エンハンスメントレイヤの符号化を開始する。そして、判断ブロック７１０に進む。判断ブロック７１０において、base_pred_weight_table_flagが１かどうか判断する。１であれば、機能ブロック７１５に進む。１でなければ、機能ブロック７４０に進む。
【００８０】
機能ブロック７１５において、ベースレイヤ画像から重みを求め、機能ブロック７２０に進む。機能ブロック７２０において、重み付けした参照画像を用いてエンハンスメントレイヤ画像を符号化し、判断ブロック７２５に進む。判断ブロック７２５において、base_pred_weight_table_flagが１（真）かどうか判断する。１であれば、機能ブロック７３０に進む。１でなければ、機能ブロック７３５に進む。
【００８１】
機能ブロック７３０において、エンハンスメントレイヤ画像を描き、終了ブロック７９９に進む。
【００８２】
機能ブロック７３５において、エンハンスメントレイヤに対応するスライスヘッダに重み（weights）を書き込み、機能ブロック７３０に進む。
【００８３】
機能ブロック７４０において、レート歪み最適化（ＲＤＯ、rate  distortion  optimization）法を使用し、各レイヤ間予測マクロブロックに対してベースレイヤ重みまたはエンハンスメントレイヤ重みを決定し、その他のすべてのマクロブロックに対してエンハンスメントレイヤ重みを使用し、判断ブロック７４５に進む。判断ブロック７４５において、base_mode_weight_flagが１であるかどうか、及び現在のマクロブロックがレイヤ間予測マクロブロックであるかどうか判断する。そうであれば、機能ブロック７５０に進む。そうでなければ、機能ブロック７６０に進む。
【００８４】
機能ブロック７５０において、現在のマクロブロックに対してベースレイヤ重みを使用する。そして機能ブロック７５５に進む。
【００８５】
機能ブロック７６０において、現在のマクロブロックに対してエンハンスメントレイヤ重みを使用する。そして判断ブロック７５５に進む。
【００８６】
判断ブロック７５５において、すべてのマクロブロックに重み付けされたかどうか判断する。重み付けされていれば、機能ブロック７２５に進む。重み付けされていなければ、機能ブロック７４０に進む。
【００８７】
図８を参照するに、重み付け予測を用いたエンハンスメントレイヤの符号化方法を参照数字８００で示した。方法８００は、開始ブロック８０５を含む。開始ブロック８０５において、エンハンスメントレイヤの復号を開始する。そして、判断ブロック８１０に進む。判断ブロック８１０において、base_pred_weight_table_flagが０かどうか判断する。０であれば、機能ブロック８１５に進む。０でなければ、機能ブロック８３５に進む。
【００８８】
機能ブロック８１５において、スライス間（inter-slice）中の各マクロブロックのbase_mode_weight_flagを読み出し、判断ブロック８２０に進む。判断ブロック８２０において、base_mode_weight_flagが１であるかどうか、及び現在のマクロブロックがレイヤ間マクロブロックであるかどうか判断する。そうであれば、機能ブロック８２５に進む。そうでなければ、機能ブロック８３０に進む。
【００８９】
機能ブロック８２５において、現在のマクロブロックに対してベースレイヤ重みを使用する。そして終了ブロック８９９に進む。
【００９０】
機能ブロック８３０において、現在のマクロブロックに対してエンハンスメントレイヤパラメータを使用する。そして終了ブロック８９９に進む。
【００９１】
機能ブロック８３５において、すべてのマクロブロックに対してベースレイヤ重み付けパラメータを使用する。そして終了ブロック８９９に進む。
【００９２】
ここで、第４の実施形態について説明する。第４の実施形態では、base_pred_weight_table_flagシンタックスを変更して３つの値を担わせ、この変更を反映するように意味も変更する。
【００９３】
base_pred_weight_table_flagが０であることは、エンハンスメントレイヤがベースレイヤから重みパラメータを承継しないという点でadd_ref_numと同様であるが、レイヤ間予測モードの場合には常にエンハンスメントレイヤを使用するという点で異なる。
【００９４】
base_pred_weight_table_flagが１であることは、エンハンスメントレイヤにおいてすべてのマクロブロックに対してベースレイヤの重みを承継する場合と同様である。
【００９５】
base_pred_weight_table_flagは２である：この場合、マクロブロックタイプに応じてベースレイヤ重みとエンハンスメントレイヤ重みを適応的に選択することを提案する。レイヤ間予測マクロブロックについて、ベースレイヤ重みを使用し、その他のすべてのマクロブロックについて、エンハンスメントレイヤ重みを使用することを提案する。
【００９６】
第４の方法では、エンコーダは、スライスベースでどのモード（０，１，２）を選択するか決定する。各マクロブロックについてどの重み付けパラメータのセットを使用するか示すために別のシンタックスを送信する必要はない。モード２は、ベースレイヤで重み付け予測を使用しないが、エンハンスレイヤで重み付け予測を使用し、シーケンス中、強度が局所的に変化する場合に特に有用である。その理由は、局所的な強度変化がある画像においては、１つの基準画像に対して相異なる２つの重みを選択できるからである。局所的な強度変化がない画像では、重み付けパラメータを使用する必要はない。
【００９７】
図９を参照するに、重み付け予測を用いたエンハンスメントレイヤの符号化方法を参照数字９００で示した。方法９００は開始ブロック９０５を含む。かかるブロックにおいて、エンハンスメントレイヤの符号化を開始する。そして、判断ブロック９１０に進む。判断ブロック９１０において、base_pred_weight_table_flagが１かどうか判断する。そうであれば、機能ブロック９１５に進む。そうでなければ、判断ブロック９４０に進む。
【００９８】
機能ブロック９１５において、ベースレイヤ画像から重みを求め、機能ブロック９２０に進む。機能ブロック９２０において、重み付けした参照画像を用いてエンハンスメントレイヤ画像を符号化し、判断ブロック９２５に進む。判断ブロック９２５において、base_pred_weight_table_flagが１かどうか判断する。そうであれば、機能ブロック９３０に進む。そうでなければ、機能ブロック９３５に進む。
【００９９】
機能ブロック９３０において、エンハンスメントレイヤ画像を描き、終了ブロック９９９に進む。
【０１００】
機能ブロック９３５において、エンハンスメントレイヤに対応するスライスヘッダに重み（weights）を書き込み、機能ブロック９３０に進む。
【０１０１】
機能ブロック９４０において、base_pred_weight_table_flagが２かどうか判断する。そうであれば、機能ブロック９４５に進む。そうでなければ、機能ブロック９５０に進む。
【０１０２】
機能ブロック９４５において、レイヤ間予測マクロブロック（inter-layer  predicted  macroblock）に対してベースレイヤ重みを使用し、その他のすべてのマクロブロックに対してエンハンスメントレイヤ重みを使用する。そして判断ブロック９２５に進む。
【０１０３】
機能ブロック９５０において、すべてのマクロブロックに対してエンハンスメントレイヤ重みを使用する。そして判断ブロック９２５に進む。
【０１０４】
図１０を参照するに、重み付け予測を用いたエンハンスメントレイヤの符号化方法を参照数字１０００で示した。この方法は開始ブロック１００５を含む。かかるブロックにおいて、エンハンスメントレイヤの符号化を開始する。そして、判断ブロック１０１０に進む。判断ブロック１０１０において、base_pred_weight_table_flagが０かどうか判断する。そうであれば、機能ブロック１０１５に進む。そうでなければ、判断ブロック１０２０に進む。
【０１０５】
機能ブロック１０１５において、すべてのマクロブロックに対してエンハンスメントレイヤ重み付けパラメータを使用する。そして終了ブロック１０９９に進む。
【０１０６】
判断ブロック１０２０において、base_pred_weight_table_flagが１かどうか判断する。そうであれば、機能ブロック１０２５に進む。そうでなければ、機能ブロック１０３０に進む。
【０１０７】
機能ブロック１０２５において、すべてのマクロブロックに対してベースレイヤ重み付けパラメータを使用する。そして終了ブロック１０９９に進む。
【０１０８】
機能ブロック１０３０において、レイヤ間マクロブロックに対してベースレイヤ重み付けパラメータを使用し、その他のすべてのマクロブロックに対してエンハンスメントレイヤ重み付けパラメータを使用する。そして機能ブロック１０９９に進む。
【０１０９】
ここで、第５の実施形態について説明する。第５の実施形態では、第４の実施形態のアプローチを拡張して、表４に示したように、マクロブロックレイヤに新しいシンタックス要素base_mode_weight_flagを加える。第３の実施形態に関して定義したように、このフラグを定義する。
【０１１０】
base_mode_weight_flagがあるのは、base_pred_weight_table_flagが０または２の時だけである。第３の方法と同様に、エンコーダはレート歪み最適化（ＲＤＯ、rate  distortion  optimization）法を用いて、現在のエンハンスメントレイヤ・レイヤ間予測マクロブロックにおいてどの重みのセットの性能がよいか決定する。ベースレイヤ重みを使用すると性能がよい場合、base_mode_weight_flagを１に設定する。さもなくば、base_mode_weight_flagを０に設定する。デコーダはbase_mode_weight_flagを復号し、現在のマクロブロックの再構成にどの重みパラメータのセットをしようすべきか決定する。
【０１１１】
適応的に重みを選択することにより、例えばフラッシュや爆発等のように、強度変化が局所化されている場合に符号化効率がよくなる。あるいは、フェーディング（fading）等のグローバルな強度変化がある場合には、base_pred_weight_table_flagを１にすることを提案する。
【０１１２】
重みを適応的に選択するには、重み付けパラメータをスライスベースではなく、マクロブロックベースで格納する必要がある。これは、３つ以上のレイヤがあるとき、上のレイヤにおいてマクロブロックベースで重み付けパラメータを選択できるからである。このように、現在のレイヤにレイヤ間予測を使用するには、対応する下のレイヤの重み付けパラメータを知る必要がある。
【０１１３】
図１１を参照するに、重み付け予測を用いたエンハンスメントレイヤの符号化方法を参照数字１１００で示した。この方法は開始ブロック１１０５を含む。かかるブロックにおいて、エンハンスメントレイヤの符号化を開始する。そして、判断ブロック１１１０に進む。判断ブロック１１１０において、base_pred_weight_table_flagが１かどうか判断する。そうであれば、機能ブロック１１１５に進む。そうでなければ、判断ブロック１１４０に進む。
【０１１４】
機能ブロック１１１５において、ベースレイヤ画像から重みを求め、機能ブロック１１２０に進む。機能ブロック１１２０において、重み付けした参照画像を用いてエンハンスメントレイヤ画像を符号化し、判断ブロック１１２５に進む。判断ブロック１１２５において、base_pred_weight_table_flagが１かどうか判断する。そうであれば、機能ブロック１１３０に進む。そうでなければ、機能ブロック１１３５に進む。
【０１１５】
機能ブロック１１３０において、エンハンスメントレイヤ画像を描き、終了ブロック１１９９に進む。
【０１１６】
機能ブロック１１３５において、スライスヘッダに重み（weights）を書き込み、機能ブロック１１３０に進む。
【０１１７】
判断ブロック１１４０において、base_pred_weight_table_flagが２かどうか判断する。そうであれば、機能ブロック１１４５、機能ブロック１１５０、及び機能ブロック１１５５に進む。
【０１１８】
機能ブロック１１４５において、レイヤ間マクロブロック（コストＡ）に対してベースレイヤ重みを使用し、機能ブロック１１６０に進む。
【０１１９】
機能ブロック１１５０において、レイヤ間マクロブロック（コストＢ）に対してエンハンスメントレイヤ重みを使用し、機能ブロック１１６０に進む。
【０１２０】
機能ブロック１１５５において、非レイヤ間マクロブロック（コストＣ）に対してエンハンスメントレイヤ重みを使用し、機能ブロック１１６０に進む。
【０１２１】
機能ブロック１１６０において、コストＡ、Ｂ、Ｃの中から最小値を決定し、判断ブロック１１６５に進む。判断ブロック１１６５において、コストＡが最小値を有するか判断する。そうであれば、機能ブロック１１７０に進む。そうでなければ、機能ブロック１１７５に進む。
【０１２２】
機能ブロック１１７０において、base_mode_weight_flagを１に設定し、エンハンスメントレイヤビットストリームにそのbase_mode_weight_flagを書き込み、判断ブロック１１８０に進む。
【０１２３】
機能ブロック１１７５において、base_mode_weight_flagを０に設定し、エンハンスメントレイヤビットストリームにそのbase_mode_weight_flagを書き込み、判断ブロック１１８０に進む。
【０１２４】
判断ブロック１１８０において、すべてのマクロブロックに重み付けされたかどうか判断する。重み付けされていれば、機能ブロック１１２５に進む。重み付けされていなければ、機能ブロック１１４５に進む。
【０１２５】
機能ブロック１１８５において、エンハンスメントレイヤ重みを使用し、判断ブロック１１２５に進む。
【０１２６】
図１２を参照するに、重み付け予測を用いたエンハンスメントレイヤの符号化方法を参照数字１２００で示した。この方法は開始ブロック１２０５を含む。かかるブロックにおいて、エンハンスメントレイヤの復号を開始し、判断ブロック１２１０に進む。判断ブロック１２１０において、base_pred_weight_table_flagが０かどうか判断する。そうであれば、機能ブロック１２１５に進む。そうでなければ、判断ブロック１２３０に進む。
【０１２７】
機能ブロック１２１５において、スライス間（inter-slice）中の各マクロブロックのbase_mode_weight_flagを読み出し、判断ブロック１２２０に進む。判断ブロック１２２０において、base_mode_weight_flagが１であるかどうか、及び現在のマクロブロックがレイヤ間マクロブロックであるかどうか判断する。そうであれば、機能ブロック１２２５に進む。そうでなければ、機能ブロック１２３５に進む。
【０１２８】
機能ブロック１２２５において、現在のマクロブロックに対してベースレイヤ重みを使用する。そして終了ブロック１２９９に進む。
【０１２９】
機能ブロック１２３５において、現在のマクロブロックに対してエンハンスメントレイヤ重み付けパラメータを使用する。そして終了ブロック１２９９に進む。
【０１３０】
判断ブロック１２３０において、base_pred_weight_table_flagが１かどうか判断する。そうであれば、機能ブロック１２４０に進む。そうでなければ、機能ブロック１２１５に進む。
【０１３１】
機能ブロック１２４０において、すべてのマクロブロックに対してベースレイヤ重み付けパラメータを使用する。そして終了ブロック１２９９に進む。
【０１３２】
ここで、本発明に付随する多くの有利性／特徴の一部を説明する。一部は上ですでに述べたことである。例えば、１つの有利性・特徴はスケーラブルビデオエンコーダであり、このエンコーダはエンハンスメントレイヤ参照画像に重み付けパラメータを適用することにより画像のエンハンスメントレイヤのブロックを符号化するエンコーダを含む。エンハンスメントレイヤのブロックをエンコードするために使用する重み付けパラメータは、画像の下位レイヤのブロックを符号化するために下位レイヤ参照画像に適用される重み付けパラメータと、これとは異なる、エンハンスメントレイヤに適用可能な重み付けパラメータとから適応的に選択される。エンハンスメントレイヤのブロックは下位レイヤのブロックに対応する。エンハンスメントレイヤ参照画像は、下位レイヤ参照画像に対応する。
【０１３３】
他の利点・特徴は上記のスケーラブルビデオエンコーダであって、対応するヘッダ要素にリフレーズされた（rephrased）base_pred_weight_table_flagシンタックス要素を加えるものである。リフレーズされたbase_pred_weight_table_flagシンタックス要素は相異なる２つの値の一方を取ることができる。その相異なる２つの値の一方は、レイヤ間予測ブロックに対応するブロックを符号化するために下位レイヤで使用される重み付けパラメータを使用してエンハンスメントレイヤのレイヤ間予測ブロック（inter-layer  predicted  blocks）を符号化すること、及び非レイヤ間予測ブロックに対応するブロックを符号化するために下位レイヤで使用される異なる重み付けパラメータを用いてエンハンスメントレイヤの非レイヤ間予測ブロックを符号化することを示す。
【０１３４】
さらに、他の利点・特徴は上記のスケーラブルビデオエンコーダであって、リフレーズされた（rephrased）base_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加えるものである。リフレーズされたbase_pred_weight_table_flagシンタックス要素は相異なる２つの値の一方を取ることができる。相異なる２つの値の一方は、レイヤ間予測または非レイヤ間予測の状態に係わらず、下位レイヤの対応するブロックを符号化するために使用する重み付けパラメータとは異なる重み付けパラメータを用いてエンハンスメントレイヤのブロックを符号化することを示すものである。
【０１３５】
さらに、他の利点・特徴は上記のスケーラブルビデオエンコーダであって、base_pred_weight_table_flagシンタックス要素が第１の値であるとき、対応するヘッダ要素にbase_mode_weight_flagマクロブロックレベルシンタックス要素を対応するヘッダ要素に加えるものである。base_mode_weight_flagマクロブロックレベルシンタックス要素は、エンハンスメントレイヤのレイヤ間予測マクロブロックの符号化に関して重み付けパラメータの第１のセットと第２のセットからの選択を示すものである。第１のセットには下位レイヤの対応するマクロブロックを符号化するために使用される重み付けパラメータが含まれる。第２のセットには下位レイヤの対応するマクロブロックを符号化するために使用される異なる重み付けパラメータが含まれる。
【０１３６】
また、他の利点・特徴は上記のスケーラブルビデオエンコーダであって、リフレーズされた（rephrased）base_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加えるものである。リフレーズされたbase_pred_weight_table_flagシンタックス要素は相異なる３つの値の一方を取ることができる。
【０１３７】
また、他の利点・特徴はスケーラブルビデオエンコーダであって、上記のように、相異なる３つの値の１つを取ることができるリフレーズされたbase_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加えるものである。このエンコーダはこのリフレーズされたbase_pred_weight_table_flagシンタックス要素を相異なる３つの値の１つに設定し、下位レイヤの対応するマクロブロックを符号化するために使用される重み付けパラメータとは異なる、エンハンスメントレイヤの全てのマクロブロックを符号化するために使用される重み付けパラメータを示す。
【０１３８】
また、他の利点・特徴はスケーラブルビデオエンコーダであって、上記のように、相異なる３つの値の１つを取ることができるリフレーズされたbase_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加えるものである。このエンコーダはこのリフレーズされたbase_pred_weight_table_flagシンタックス要素を相異なる３つの値の１つに設定し、エンハンスメントレイヤのすべてのマクロブロックに対して、下位レイヤのマクロブロックを符号化するために下位レイヤの参照画像に適用される重み付けパラメータは、エンハンスメントレイヤのマクロブロックの対応するものを符号化するためにその参照画像に常に適用されることを示す。
【０１３９】
さらに、他の利点・特徴は、スケーラブルビデオエンコーダであって、上記のように、相異なる３つの値の１つを取り得るリフレーズされたbase_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加えるものである。このエンコーダは、このリフレーズされたbase_pred_weight_table_flagシンタックス要素を相異なる３つの値の１つに設定し、エンハンスメントレイヤのレイヤ間予測ブロックがレイヤ間予測ブロックに対応するブロックを符号化するために下位レイヤで使用される重み付けパラメータを用いて符号化されること、及びエンハンスメントレイヤの非レイヤ間予測ブロックがそれに対応するブロックを符号化するために下位レイヤで使用される重み付けパラメータとは異なる重み付けパラメータを用いて符号化されることを示す。
【０１４０】
また、他の利点・特徴は、スケーラブルビデオエンコーダであって、上記のように、相異なる３つの値のうちの１つを取り得るリフレーズされたbase_pred_weight_table_flagシンタックス要素を対応するヘッダ要素に加えるものである。エンコーダは、リフレーズされたbase_pred_weight_table_flagシンタックス要素が相異なる３つの値のうちの所定の２つの値の１つであるとき、base_mode_weight_flagマクロブロックレベルシンタックス要素を対応するヘッダ要素に加える。base_mode_weight_flagマクロブロックレベルシンタックス要素は、画像のエンハンスメントレイヤのレイヤ間予測マクロブロックの符号化に関して、重み付けパラメータの第１のセットと第２のセットからの選択を示すものである。第１のセットには下位レイヤの対応するマクロブロックを符号化するために使用される重み付けパラメータが含まれる。第２のセットには下位レイヤの対応するマクロブロックを符号化するために使用される異なる重み付けパラメータが含まれる。
【０１４１】
本発明の上記その他の特徴と有利性は、当業者はここに開示した教示に基づき容易に確認できるであろう。言うまでもなく、本発明の教示は、ハードウェア、ソフトウェア、ファームウェア、特殊用途プロセッサ、またはこれらの組み合わせなどのいろいろな形体で実施することができる。
【０１４２】
最も好ましくは、本発明の教示をハードウェアとソフトウェアの組合せとして実施する。また、ソフトウェアはプログラム記録装置に実態的に化体されたアプリケーションプログラムとして実施してもよい。そのアプリケーションプログラムは、好適なアーキテクチャを有する機械にアップロードされ、実行される。好ましくは、機械は、中央処理装置（ＣＰＵ）、ランダムアクセスメモリ（ＲＡＭ）、及び入出力（Ｉ／Ｏ）インターフェイス等のハードウェアを有するコンピュータプラットフォームで実施される。コンピュータプラットフォームはオペレーティングシステムとマイクロコードも含んでもよい。ここに説明した様々なプロセスや機能は、ＣＰＵが実行できる、マイクロ命令コードの一部やアプリケーションプログラムの一部であってもよく、これらのいかなる組合せであってもよい。また、追加的データ記憶装置や印刷装置等その他の様々な周辺装置をコンピュータプラットフォームに接続してもよい。
【０１４３】
さらに言うまでもなく、添付した図面に示したシステム構成要素や方法の一部はソフトウェアで実施されることが好ましいが、システム構成要素（または方法）間の実際的な結合は本発明をプログラムするそのプログラム方法に応じて異なる。ここに開示された本発明の教示を受けて、関連技術分野の当業者は、本発明の同様な実施形態や構成を考えることができるであろう。
【０１４４】
例示した実施形態を添付した図面を参照して説明したが、言うまでもなく、本発明はこれらの実施形態には限定されず、当業者は、本発明の範囲と精神から逸脱することなく、様々な変化と修正を施すことができるであろう。かかる変更や修正はすべて添付した請求項に記載した本発明の範囲内に含まれるものである。
【図面の簡単な説明】
【０１４５】
本発明は図面を参照してよりよく理解することができる。
【図１】本原理を適用できるジョイントスケーラブルビデオモデル（ＪＳＶＭ）エンコーダの例を示すブロック図である。
【図２】本原理を適用できるデコーダの例を示すブロック図である。
【図３】本原理の第１の実施形態例による、エンハンスメントレイヤの符号化方法を示すフロー図である。
【図４】本原理の第１の実施形態例による、エンハンスメントレイヤの復号方法を示すフロー図である。
【図５】本原理の第２の実施形態例による、エンハンスメントレイヤの符号化方法を示すフロー図である。
【図６】本原理の第２の実施形態例による、エンハンスメントレイヤの復号方法を示すフロー図である。
【図７】本原理の第３の実施形態例による、エンハンスメントレイヤの符号化方法を示すフロー図である。
【図８】本原理の第３の実施形態例による、エンハンスメントレイヤの復号方法を示すフロー図である。
【図９】本原理の第４の実施形態例による、エンハンスメントレイヤの符号化方法を示すフロー図である。
【図１０】本原理の第４の実施形態例による、エンハンスメントレイヤの復号方法を示すフロー図である。
【図１１Ａ】本原理の第５の実施形態例による、エンハンスメントレイヤの符号化方法を示すフロー図である。
【図１１Ｂ】本原理の第５の実施形態例による、エンハンスメントレイヤの符号化方法を示すフロー図である。
【図１２】本原理の第５の実施形態例による、エンハンスメントレイヤの復号方法を示すフロー図である。
【図１】
2009512347.tif 000011
【図２】
2009512347.tif 000012
【図３】
2009512347.tif 000013
【図４】
2009512347.tif 000014
【図５】
2009512347.tif 000015
【図６】
2009512347.tif 000016
【図７】
2009512347.tif 000017
【図８】
2009512347.tif 000018
【図９】
2009512347.tif 000019
【図１０】
2009512347.tif 000020
【図１１Ａ】
2009512347.tif 000021
【図１１Ｂ】
2009512347.tif 000022
【図１２】
2009512347.tif 000023
【国際調査報告】
2009512347.tif 000024
2009512347.tif 000025
2009512347.tif 000026