(57)【特許請求の範囲】
【請求項１】
ビデオ復号器でビデオデータを復号化するための方法であって、
前記ビデオ復号器で双方向コード化ユニットを受信することと、ここにおいて、前記双方向コード化ユニットは、双方向ビデオブロックと単方向ビデオブロックとを備え、前記双方向コード化ユニットは、前記双方向コード化ユニットの前記単方向ビデオブロックおよび前記双方向ビデオブロックの明示的重み付け予測中に適用される明示的重みを示すシンタックス要素を含み、前記シンタックス要素は、復号化において丸め調整を使用すべきかどうかの表示を識別する、
前記双方向コード化ユニットの前記双方向ビデオブロックのうちの１つまたは複数の双方向明示的重み付け予測のために、第１の重みファクタ（ｗ２）によって重み付けされた参照データの第１のリストと第２の重みファクタ（ｗ３）によって重み付けされた参照データの第２のリストとに基づいて、前記ビデオ復号器によって前記明示的重みを適用することと、
前記双方向コード化ユニットの前記単方向ビデオブロックのうちの１つまたは複数の単方向明示的重み付け予測のために、前記双方向コード化ユニット内の前記双方向ビデオブロックのための前記第１の重みファクタ（ｗ２）および前記第２の重みファクタ（ｗ３）の両方と異なる、第３の重みファクタ（ｗ０またはｗ１）によって重み付けされた、前記参照データの第１のリストまたは前記参照データの第２のリストに基づいて、前記ビデオ復号器によって１つまたは複数の異なる重みを適用することと
を備え、前記１つまたは複数の異なる重みは、前記明示的重みと異なる、方法。
【請求項２】
前記明示的重みは、双方向明示的重みを備え、前記１つまたは複数の異なる重みは、単方向明示的重みを備え、
前記方法は、
前記双方向コード化ユニットの前記単方向明示的重みを受信することをさらに備える、
請求項１に記載の方法。
【請求項３】
前記１つまたは複数の異なる重みは、１つまたは複数のデフォルト重みを備える、
請求項１に記載の方法。
【請求項４】
前記デフォルト重みは、前記ビデオ復号器で定義され、前記双方向コード化ユニットの前記シンタックス要素に含まれない、
請求項３に記載の方法。
【請求項５】
前記デフォルト重みは、前記双方向コード化ユニットの前記シンタックス要素に含まれる、
請求項３に記載の方法。
【請求項６】
明示的重みを含まない別のコード化ユニットを受信することと、
前記別のコード化ユニットの１つまたは複数のビデオブロックの暗黙的重み付け予測のために１つまたは複数の暗黙的重みを生成し、適用することと
をさらに備える、請求項１に記載の方法。
【請求項７】
ビデオ符号器においてビデオデータを符号化するための方法であって、
前記ビデオ符号器で双方向コード化ユニットを符号化することと、ここにおいて、前記双方向コード化ユニットは、双方向ビデオブロックと単方向ビデオブロックとを備え、前記双方向コード化ユニットは、前記双方向コード化ユニットの前記単方向ビデオブロックおよび前記双方向ビデオブロックの明示的重み付け予測中に適用される明示的重みを示すシンタックス要素を含み、前記シンタックス要素は、丸め調整が使用されたか否かを示す、
第１の重みファクタ（ｗ２）によって重み付けされた参照データの第１のリストと第２の重みファクタ（ｗ３）によって重み付けされた参照データの第２のリストとに基づいて、前記明示的重みに基づいて前記双方向コード化ユニットの前記双方向ビデオブロックのうちの１つまたは複数を前記ビデオ符号器によって符号化することと、
前記双方向コード化ユニット内の前記双方向ビデオブロックのための前記第１の重みファクタ（ｗ２）および前記第２の重みファクタ（ｗ３）の両方と異なる、第３の重みファクタ（ｗ０またはｗ１）によって重み付けされた、前記参照データの第１のリストまたは前記参照データの第２のリストに基づいて、１つまたは複数の異なる重みに基づいて前記双方向コード化ユニットの前記単方向ビデオブロックのうちの１つまたは複数を前記ビデオ符号器によって符号化することと
を備え、前記１つまたは複数の異なる重みは、前記明示的重みと異なる、方法。
【請求項８】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、単方向明示的重みを備え、前記シンタックス要素は、前記単方向明示的重みを含む、
請求項７に記載の方法。
【請求項９】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含む、
請求項７に記載の方法。
【請求項１０】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含まない、
請求項７に記載の方法。
【請求項１１】
双方向コード化ユニットであって双方向ビデオブロックと単方向ビデオブロックとを備える前記双方向コード化ユニットを受信し、前記双方向コード化ユニットの１つまたは複数のシンタックス要素をエントロピー復号化する、エントロピーユニットと、ここにおいて、前記シンタックス要素は、前記双方向コード化ユニットの前記単方向ビデオブロックおよび前記双方向ビデオブロックの明示的重み付け予測中に適用される明示的重みを示し、復号化において丸め調整を使用すべきかどうかの表示を識別する、
前記双方向コード化ユニットの前記双方向ビデオブロックのうちの１つまたは複数の双方向明示的重み付け予測のために、第１の重みファクタ（ｗ２）によって重み付けされた参照データの第１のリストと第２の重みファクタ（ｗ３）によって重み付けされた参照データの第２のリストとに基づいて、前記明示的重みを適用し、前記双方向コード化ユニットの前記単方向ビデオブロックのうちの１つまたは複数の単方向明示的重み付け予測のために、前記双方向コード化ユニット内の前記双方向ビデオブロックのための前記第１の重みファクタ（ｗ２）および前記第２の重みファクタ（ｗ３）の両方と異なる、第３の重みファクタ（ｗ０またはｗ１）によって重み付けされた、前記参照データの第１のリストまたは前記参照データの第２のリストに基づいて、１つまたは複数の異なる重みを適用する、予測ユニットと
を備え、前記１つまたは複数の異なる重みは、前記明示的重みと異なる、ビデオ復号化装置。
【請求項１２】
前記明示的重みは、双方向明示的重みを備え、前記１つまたは複数の異なる重みは、単方向明示的重みを備え、前記シンタックス要素は、前記単方向明示的重みを含む、
請求項１１に記載のビデオ復号化装置。
【請求項１３】
前記１つまたは複数の異なる重みは、１つまたは複数のデフォルト重みを備える、
請求項１１に記載のビデオ復号化装置。
【請求項１４】
前記デフォルト重みは、前記ビデオ復号化装置で定義され、前記双方向コード化ユニットの前記シンタックス要素に含まれない、
請求項１３に記載のビデオ復号化装置。
【請求項１５】
前記デフォルト重みは、前記双方向コード化ユニットの前記シンタックス要素に含まれる、
請求項１３に記載のビデオ復号化装置。
【請求項１６】
前記エントロピー復号化ユニットは、明示的重みを含まない別のコード化ユニットを受信し、復号化し、
前記予測ユニットは、前記別のコード化ユニットの１つまたは複数のビデオブロックの暗黙的重み付け予測のために１つまたは複数の暗黙的重みを生成し、適用する、
請求項１１に記載のビデオ復号化装置。
【請求項１７】
前記ビデオ復号化装置は、集積回路を備える、
請求項１１に記載のビデオ復号化装置。
【請求項１８】
前記ビデオ復号化装置は、マイクロプロセッサを備える、
請求項１１に記載のビデオ復号化装置。
【請求項１９】
前記ビデオ復号化装置は、ビデオ復号器を含むワイヤレス通信デバイスを備える、
請求項１１に記載のビデオ復号化装置。
【請求項２０】
ビデオデータを符号化するビデオ符号化装置であって、
前記ビデオデータと、前記ビデオデータを予測的に符号化するように使用される２つ以上のデータのリストとを格納するメモリと、
予測ユニットと
を備え、前記予測ユニットは、
双方向コード化ユニットを符号化し、ここにおいて、前記双方向コード化ユニットは、双方向ビデオブロックと単方向ビデオブロックとを備え、前記双方向コード化ユニットは、前記双方向コード化ユニットの前記単方向ビデオブロックおよび前記双方向ビデオブロックの明示的重み付け予測中に適用される明示的重みを示すシンタックス要素を含み、前記シンタックス要素は、丸め調整が使用されたか否かを示す、
第１の重みファクタ（ｗ２）によって重み付けされた参照データの第１のリストと第２の重みファクタ（ｗ３）によって重み付けされた参照データの第２のリストとに基づいて、前記明示的重みに基づいて前記双方向コード化ユニットの前記双方向ビデオブロックのうちの１つまたは複数を符号化し、
前記双方向コード化ユニット内の前記双方向ビデオブロックのための前記第１の重みファクタ（ｗ２）および前記第２の重みファクタ（ｗ３）の両方と異なる、第３の重みファクタ（ｗ０またはｗ１）によって重み付けされた、前記参照データの第１のリストまたは前記参照データの第２のリストに基づいて、１つまたは複数の異なる重みに基づいて前記双方向コード化ユニットの前記単方向ビデオブロックのうちの１つまたは複数を符号化する、
ビデオ符号化装置。
【請求項２１】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、単方向明示的重みを備え、前記シンタックス要素は、前記単方向明示的重みを含む、
請求項２０に記載のビデオ符号化装置。
【請求項２２】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含む、
請求項２０に記載のビデオ符号化装置。
【請求項２３】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含まない、
請求項２０に記載のビデオ符号化装置。
【請求項２４】
前記ビデオ符号化装置は、集積回路を備える、
請求項２０に記載のビデオ符号化装置。
【請求項２５】
前記ビデオ符号化装置は、マイクロプロセッサを備える、
請求項２０に記載のビデオ符号化装置。
【請求項２６】
前記ビデオ符号化装置は、ビデオ符号器を含むワイヤレス通信デバイスを備える、
請求項２０に記載のビデオ符号化装置。
【請求項２７】
ビデオデータを復号化するデバイスであって
双方向コード化ユニットを受信するための手段と、ここにおいて、前記双方向コード化ユニットは、双方向ビデオブロックと単方向ビデオブロックとを備え、前記双方向コード化ユニットは、前記双方向コード化ユニットの前記単方向ビデオブロックおよび前記双方向ビデオブロックの明示的重み付け予測中に適用される明示的重みを示すシンタックス要素を含み、前記シンタックス要素は、復号化において丸め調整を使用すべきかどうかの表示を識別する、
前記双方向コード化ユニットの前記双方向ビデオブロックのうちの１つまたは複数の双方向明示的重み付け予測のために、第１の重みファクタ（ｗ２）によって重み付けされた参照データの第１のリストと第２の重みファクタ（ｗ３）によって重み付けされた参照データの第２のリストとに基づいて、前記明示的重みを適用するための手段と、
前記双方向コード化ユニットの前記単方向ビデオブロックのうちの１つまたは複数の単方向明示的重み付け予測のために、前記双方向コード化ユニット内の前記双方向ビデオブロックのための前記第１の重みファクタ（ｗ２）および前記第２の重みファクタ（ｗ３）の両方と異なる、第３の重みファクタ（ｗ０またはｗ１）によって重み付けされた、前記参照データの第１または第２のリストに基づいて、１つまたは複数の異なる重みを適用するための手段と
を備え、前記１つまたは複数の異なる重みは、前記明示的重みと異なる、デバイス。
【請求項２８】
前記明示的重みは、双方向明示的重みを備え、前記１つまたは複数の異なる重みは、単方向明示的重みを備え、
前記デバイスは、
前記双方向コード化ユニットの前記単方向明示的重みを受信するための手段をさらに備える、
請求項２７に記載のデバイス。
【請求項２９】
前記１つまたは複数の異なる重みは、１つまたは複数のデフォルト重みを備える、
請求項２７に記載のデバイス。
【請求項３０】
前記デフォルト重みは、前記デバイスで定義され、前記双方向コード化ユニットの前記シンタックス要素に含まれない、
請求項２９に記載のデバイス。
【請求項３１】
前記デフォルト重みは、前記双方向コード化ユニットの前記シンタックス要素に含まれる、
請求項２９に記載のデバイス。
【請求項３２】
明示的重みを含まない別のコード化ユニットを受信するための手段と、
１つまたは複数の暗黙的重みを生成するための手段と、
前記別のコード化ユニットの１つまたは複数のビデオブロックの暗黙的重み付け予測のために前記１つまたは複数の暗黙的重みを適用するための手段と
をさらに備える、請求項２７に記載のデバイス。
【請求項３３】
ビデオデータを符号化するためのデバイスであって、
双方向コード化ユニットを符号化するための手段と、ここにおいて、前記双方向コード化ユニットは、双方向ビデオブロックと単方向ビデオブロックとを備え、前記双方向コード化ユニットは、前記双方向コード化ユニットの前記単方向ビデオブロックおよび前記双方向ビデオブロックの明示的重み付け予測中に適用される明示的重みを示すシンタックス要素を含み、前記シンタックス要素は、丸め調整が使用されたか否かを示す、
第１の重みファクタ（ｗ２）によって重み付けされた参照データの第１のリストと第２の重みファクタ（ｗ３）によって重み付けされた参照データの第２のリストとに基づいて、前記明示的重みに基づいて前記双方向コード化ユニットの前記双方向ビデオブロックのうちの１つまたは複数を符号化するための手段と、
前記双方向コード化ユニット内の前記双方向ビデオブロックのための前記第１の重みファクタ（ｗ２）および前記第２の重みファクタ（ｗ３）の両方と異なる、第３の重みファクタ（ｗ０またはｗ１）によって重み付けされた、前記参照データの第１または第２のリストに基づいて、１つまたは複数の異なる重みに基づいて前記双方向コード化ユニットの前記単方向ビデオブロックのうちの１つまたは複数を符号化するための手段と
を備え、前記１つまたは複数の異なる重みは、前記明示的重みと異なる、デバイス。
【請求項３４】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、単方向明示的重みを備え、前記シンタックス要素は、前記単方向明示的重みを含む、
請求項３３に記載のデバイス。
【請求項３５】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含む、
請求項３３に記載のデバイス。
【請求項３６】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含まない、
請求項３３に記載のデバイス。
【請求項３７】
実行されると、ビデオデータを復号化することをプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体であって、
双方向コード化ユニットであって、双方向および単方向ビデオブロックを備え、前記双方向コード化ユニットの前記双方向ビデオブロックおよび前記単方向ビデオブロックの明示的重み付け予測中に適用される明示的重みを示すシンタックス要素を含み、前記シンタックス要素は、復号化において丸め調整を使用すべきかどうかの表示を識別する、前記双方向コード化ユニットを受信すると、前記命令は、
前記双方向コード化ユニットの前記双方向ビデオブロックのうちの１つまたは複数の双方向明示的重み付け予測のために、第１の重みファクタ（ｗ２）によって重み付けされた参照データの第１のリストと第２の重みファクタ（ｗ３）によって重み付けされた参照データの第２のリストとに基づいて、前記明示的重みを適用することと、
前記双方向コード化ユニットの前記単方向ビデオブロックのうちの１つまたは複数の単方向明示的重み付け予測のために、前記双方向コード化ユニット内の前記双方向ビデオブロックのための前記第１の重みファクタ（ｗ２）および前記第２の重みファクタ（ｗ３）の両方と異なる、第３の重みファクタ（ｗ０またはｗ１）によって重み付けされた、前記参照データの第１のリストまたは前記参照データの第２のリストに基づいて、１つまたは複数の異なる重みを適用することと
を前記プロセッサに行わせ、前記１つまたは複数の異なる重みは、前記明示的重みと異なる、コンピュータ可読記憶媒体。
【請求項３８】
前記明示的重みは、双方向明示的重みを備え、前記１つまたは複数の異なる重みは、前記双方向コード化ユニットで受信した単方向明示的重みを備える、
請求項３７に記載のコンピュータ可読記憶媒体。
【請求項３９】
前記１つまたは複数の異なる重みは、１つまたは複数のデフォルト重みを備える、
請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４０】
前記デフォルト重みは、あらかじめ定義され、前記双方向コード化ユニットの前記シンタックス要素に含まれない、
請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４１】
前記デフォルト重みは、前記双方向コード化ユニットの前記シンタックス要素に含まれる、
請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４２】
明示的重みを含まない別のコード化ユニットを受信したのち、前記別のコード化ユニットの１つまたは複数のビデオブロックの暗黙的重み付け予測のために１つまたは複数の暗黙的重みを生成し、適用することを前記プロセッサに行わせる命令をさらに備える、
請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４３】
実行されると、ビデオデータを符号化することをプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体であって、前記命令は、
双方向コード化ユニットであって、双方向ビデオブロックと単方向ビデオブロックとを備え、前記双方向コード化ユニットの前記単方向ビデオブロックおよび前記双方向ビデオブロックの明示的重み付け予測中に適用される明示的重みを示すシンタックス要素を含み、前記シンタックス要素は、丸め調整が使用されたか否かを示す、前記双方向コード化ユニットを符号化することと、
第１の重みファクタ（ｗ２）によって重み付けされた参照データの第１のリストと第２の重みファクタ（ｗ３）によって重み付けされた参照データの第２のリストとに基づいて、前記明示的重みに基づいて前記双方向コード化ユニットの前記双方向ビデオブロックのうちの１つまたは複数を符号化することと、
前記双方向コード化ユニット内の前記双方向ビデオブロックのための前記第１の重みファクタ（ｗ２）および前記第２の重みファクタ（ｗ３）の両方と異なる、第３の重みファクタ（ｗ０またはｗ１）によって重み付けされた、前記参照データの第１のリストまたは前記参照データの第２のリストに基づいて、１つまたは複数の異なる重みに基づいて前記双方向コード化ユニットの前記単方向ビデオブロックのうちの１つまたは複数を符号化することと
を前記プロセッサに行わせ、前記１つまたは複数の異なる重みは、前記明示的重みと異なる、コンピュータ可読記憶媒体。
【請求項４４】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、単方向明示的重みを備え、前記シンタックス要素は、前記単方向明示的重みを含む、
請求項４３に記載のコンピュータ可読記憶媒体。
【請求項４５】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含む、
請求項４３に記載のコンピュータ可読記憶媒体。
【請求項４６】
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含まない、
請求項４３に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記重み付け予測のうちの少なくとも１つにオフセットを追加することと、右シフト演算を実行することとをさらに備え、前記オフセットは、前記右シフト演算の前に追加される、請求項１に記載の方法。
【請求項４８】
前記重み付け予測のうちの少なくとも１つにオフセットを追加することと、右シフト演算を実行することとをさらに備え、前記オフセットは、前記右シフト演算の前に追加される、請求項７に記載の方法。
【請求項４９】
前記予測ユニットは、前記重み付け予測のうちの少なくとも１つにオフセットを追加し、右シフト演算を実行し、前記オフセットは、前記右シフト演算の前に追加される、請求項１１に記載のビデオ復号化装置。
【請求項５０】
前記予測ユニットは、前記重み付け予測のうちの少なくとも１つにオフセットを追加し、右シフト演算を実行し、前記オフセットは、前記右シフト演算の前に追加される、請求項２０に記載のビデオ符号化装置。
【請求項５１】
前記重み付け予測のうちの少なくとも１つにオフセットを追加するための手段と、右シフト演算を実行するための手段とをさらに備え、前記オフセットは、前記右シフト演算を実行する前に追加される、請求項２７に記載のデバイス。
【請求項５２】
前記重み付け予測のうちの少なくとも１つにオフセットを追加するための手段と、右シフト演算を実行するための手段とをさらに備え、前記オフセットは、前記右シフト演算を実行する前に追加される、請求項３３に記載のデバイス。
【請求項５３】
前記命令はさらに、前記重み付け予測のうちの少なくとも１つにオフセットを追加することと、右シフト演算を実行することとを前記プロセッサに行わせ、前記オフセットは、前記右シフト演算を実行する前に追加される、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項５４】
前記命令はさらに、前記重み付け予測のうちの少なくとも１つにオフセットを追加することと、右シフト演算を実行することとを前記プロセッサに行わせ、前記オフセットは、前記右シフト演算を実行する前に追加される、請求項４４に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオコーディングに関し、より詳細には、Ｂビデオブロックのための双方向重み付け予測およびＰビデオブロックのための単方向重み付け予測を使用するＢユニットのためのビデオコーディング技法に関する。
【背景技術】
【０００２】
デジタルマルチメディア機能は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、ワイヤレス通信デバイス、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲーム機、ビデオゲームコンソール、セルラー電話または衛星無線電話、デジタルメディアプレーヤなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルマルチメディアデバイスは、デジタルビデオデータをより効率的に送信および受信または記憶および検索するために、ＭＰＥＧ−２、ＩＴＵ−Ｈ．２６３、ＭＰＥＧ−４、またはＩＴＵ−Ｈ．２６４／ＭＰＥＧ−４  Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）などのビデオコーディング技法を実装し得る。ビデオ符号化技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的および時間的予測を介してビデオ圧縮を実行し得る。
【０００３】
ビデオ符号化では、圧縮は、しばしば、空間的予測と、動き推定と、動き補償とを含む。イントラコーディングは、所与のビデオフレーム内のビデオブロック間の空間的冗長性を低減または除去するために、空間的予測と、離散コサイン変換（ＤＣＴ）コーディングなどの変換コーディングとに依拠する。インターコーディングは、ビデオシーケンスの連続するビデオフレームのビデオブロック間の時間的冗長性を低減または除去するために、時間的予測と変換コーディングとに依拠する。イントラコード化フレーム（「Ｉフレーム」）は、しばしば、ランダムアクセスポイントならびに他のフレームのインターコーディングのための参照として使用される。しかしながら、Ｉフレームは、一般に、他のフレームよりも少ない圧縮を示す。Ｉユニットという用語は、Ｉフレーム、Ｉスライス、またはＩフレームの他の単独で復号化可能な部分を指し得る。
【０００４】
インターコーディングの場合、ビデオ符号器は、２つ以上の隣接フレーム間で、またはフレームのスライスなど他のコード化ユニット間でビデオブロックを一致させる動作を追跡するために動き推定を実行する。インターコード化フレームは、前のフレームから予測されるブロックを含み得る予測フレーム（「Ｐフレーム」）と、ビデオシーケンスの前のフレームおよび後続のフレームから予測されるブロックを含み得る双方向予測フレーム（「Ｂフレーム」）とを備え得る。ＰフレームおよびＢフレームという用語は、初期のコーディング技法が特定の方向における予測を限定したという意味で、いくぶん過去の時代に由来するものである。より新しいコーディングフォーマットおよび規格は、ＰフレームまたはＢフレームの予測方向を限定しないことがある。したがって、「双方向性」という用語は、ここでは、コーディングされているデータに対する参照データの時間的関係にかかわらず、そのような参照データの２つ以上のリストに基づく予測を指す。
【０００５】
たとえば、ＩＴＵ  Ｈ．２６４など、より新しいビデオ規格に一致して、双方向予測は、現在のビデオブロックの時間的に前および後に存在するデータを必ずしも有する必要がない２つの異なるリストに基づき得る。言い換えれば、Ｂビデオブロックは、２つの前のフレーム、２つの後続のフレーム、または１つの前のフレームおよび１つの後続のフレームからのデータに対応し得る、データの２つのリストから予測され得る。対照的に、単方向予測は、１つの予測フレーム、たとえば、１つの前のフレームまたは１つの後続のフレームに対応し得る、１つのリスト、すなわち、１つのデータ構造に基づいてＰビデオブロックの予測を参照する。ＢフレームおよびＰフレームは、より一般的にはＰユニットおよびＢユニットと呼ばれ得る。ＰユニットおよびＢユニットはまた、フレームのスライスまたはフレームの部分など、より小さいコード化ユニットにおいて実現され得る。Ｂユニットは、Ｂビデオブロック、ＰビデオブロックまたはＩビデオブロックを含み得る。ＰユニットはＰビデオブロックまたはＩビデオブロックを含み得る。ＩユニットはＩビデオブロックのみを含み得る。
【０００６】
ＰビデオブロックおよびＢビデオブロックの場合、動き推定は、（１つまたは複数の）予測参照フレームまたは他のコード化ユニット中の対応する予測ビデオブロックに対するビデオブロックの変位を示す、動きベクトルを生成する。動き補償は、動きベクトルを使用して、（１つまたは複数の）予測参照フレームまたは他のコード化ユニットから予測ビデオブロックを生成する。動き補償の後、コーディングされるべき元のビデオブロックから予測ビデオブロックを減算することによって、残差ビデオブロックが形成される。ビデオ符号器は、通常、残差ブロックの通信に関連するビットレートをさらに低減するために、変換、量子化およびエントロピーコーディングプロセスを適用する。ＩユニットおよびＰユニットは、通常、ＰユニットおよびＢユニットのインターコーディングのための参照ブロックを定義するために使用される。
【発明の概要】
【０００７】
本開示は、双方向予測および単方向予測に適用可能なビデオ符号化および復号化技法について説明する。双方向予測では、ビデオブロックは、予測参照データの２つの異なるリストに基づいて予測符号化され、復号化される。ここにおいて、単方向予測におけるビデオブロックは、予測参照データのうちの１つのリストに基づいて予測符号化および予測復号化される。明示的重み付け予測は、概して、符号器で定義され、ビットストリームで通信される明示的重み付けに依存する単方向予測および双方向予測を指す。重みは、ビデオデータの符号化および復号化で使用される重み付け参照データを定義するために、予測参照データのピクセル値に適用される。
【０００８】
本開示に説明される技法は、単方向予測および双方向予測重みの分離、特に、Ｂユニット内のビデオブロックの明示的な重み付け予測、を提供する。本開示に従って、ビットストリームで通信された明示的重みは、明示的双方向予測のために復号器によって適用されるが、（デフォルト重みまたは個別に定義された明示的単方向重みである、）異なる重みは、明示的単方向予測のために使用され得る。説明される技法は、Ｂユニット内の明示的双方向予測および明示的単方向予測のために同じ明示的重みを使用する技法に比べてビデオ品質を改善し得る。
【０００９】
１つ例において、本開示は、ビデオ復号化におけるビデオデータを復号化する方法を説明する。方法は、ビデオ復号器でコード化ユニットを受信することと、ここにおいて、コード化ユニットは、コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示す、コード化ユニットの１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のためにビデオ復号器によって明示的重みを適用することと、コード化ユニットの１つまたは複数の単方向ビデオブロックの単方向明示的重み付け予測のためにビデオ復号器によって１つまたは複数の異なる重みを適用することとを備える。
【００１０】
別の例において、本開示は、ビデオ符号器におけるビデオデータを符号化する方法を説明する。方法は、ビデオ符号器でコード化ユニットを符号化することと、ここにおいて、コード化ユニットは、コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示すシンタックス要素を含む、明示的重みに基づいてコード化ユニットの１つまたは複数の双方向ビデオブロックをビデオ符号器によって符号化することと、１つまたは複数の異なる重みに基づいてコード化ユニットの１つまたは複数の単方向ビデオブロックをビデオ符号器によって符号化することとを備える。
【００１１】
別の例において、本開示は、コード化ユニットを受信し、コード化ユニットの１つまたは複数のシンタックス要素を復号化するエントロピーユニットと、ここにおいて、シンタックス要素は、コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される、コード化ユニットの１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のための明示的重みを適用し、コード化ユニットの１つまたは複数の単方向ビデオブロックの単方向明示的重み付け予測のための１つまたは複数の重みを適用する予測ユニットとを備えるビデオ復号化装置を説明する。
【００１２】
別の例において、本開示は、ビデオデータを符号化するビデオ符号化装置を説明する。装置は、ビデオデータおよびビデオデータを予測符号化するために使用されるデータの２つまたはそれ以上のリストを格納するメモリと、コード化ユニットを符号化する予測ユニットとを備え、コード化ユニットは、コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示すシンタックス要素を含み、明示的重みに基づいてコード化ユニットの１つまたは複数の双方向ビデオブロックを符号化し、１つまたは複数の異なる重みに基づいてコード化ユニットの１つまたは複数の単方向予測ビデオブロックを符号化する。
【００１３】
別の例示において、本開示は、ビデオデータを復号化するデバイスを説明する。デバイスは、コード化ユニットを受信するための手段と、ここにおいて、コード化ユニットは、コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示す、コード化ユニットの１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のために明示的重みを適用するための手段と、コード化ユニットの１つまたは複数の単方向ビデオブロックの単方向明示的重み付け予測のために１つまたは複数の異なる重みを適用することとを備える。
【００１４】
別の例における、本開示は、ビデオデータを符号化するデバイスを説明する。デバイスは、コード化ユニットを符号化するための手段と、ここにおいて、コード化ユニットは、コード化ユニットの１つまたは複数のビデオブロックの明示的重み予測の間に適用される明示的重みを示す、明示的重みに基づいてコード化ユニットの１つまたは複数のビデオブロックを符号化するための手段と、１つまたは複数の異なる重みに基づいてコード化ユニット１つまたは複数の単方向予測ビデオブロックを符号化するための手段とを備える。
【００１５】
本開示で説明される技法は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の組合せにおいて実装され得る。ソフトウェアで実装した場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはデジタル信号プロセッサ（ＤＳＰ）など、１つまたは複数のプロセッサにおいて実行され得る。本技法を実行するソフトウェアは、初めにコンピュータ可読記憶媒体に記憶され、プロセッサにロードされ、実行され得る。
【００１６】
したがって、本開示はまた、実行されると、ビデオデータを復号化することをプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体を説明する。コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間適用される明示的重みを含むシンタックス要素を含むコード化ユニットを受信した後、命令は、コード化ユニットの１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のための明示的重みを適用することと、コード化ユニットの１つまたは複数の単方向ビデオブロックの単方向明示的重み予測のための１つまたは複数の異なる重みを適用することとをプロセッサに行わせる。
【００１７】
さらに、本開示は、実行されるとビデオデータを符号化することをプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体を説明する、ここにおいて、命令は、コード化ユニットの１つまたは複数のブロックの明示的重み付け予測の間に適用される明示的重みを示す、明示的重みに基づいてコード化ユニットの１つまたは複数の双方向ビデオブロックを符号化することと、１つまたは複数の異なる重みに基づいてコード化ユニットの１つまたは複数のビデオブロックを符号化することとをプロセッサに行わせる。
【００１８】
［００１８  本開示の１つまたは複数の態様の詳細は、添付の図面および下記の説明に記載されている。本開示で説明する技法の他の特徴、目的、および利点は、説明および図面から、および特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【００１９】
【図１】本開示の技法を実装し得る１つの例示的なビデオ符号化および復号化システムを示すブロック図。
【図２】本開示に一致する、重み付け予測技法を実行し得るビデオ符号器の一例を示すブロック図。
【図３】動き補償ユニットの一例をより詳細に示すブロック図。
【図４】本開示に一致する、重み付け予測技法を実行し得るビデオ復号器の一例を示すブロック図。
【図５】本開示に一致する、ビデオ復号器によって実行される例示的なプロセスを示すフローチャート。
【図６】本開示に一致する、ビデオ復号器によって実行される例示的なプロセスを示すフローチャート。
【図７】本開示に一致する、ビデオ符号器によって実行される別の例示的なプロセスを示すフローチャート。
【発明を実施するための形態】
【００２０】
本開示は、予測参照データの２つの異なるリストに基づいて予測された少なくとも複数のブロックを含むＢフレーム、Ｂスライス、または他の独立のコード化ユニットのような、双方向コード化ユニット（例えば、Ｂユニット）に適用可能なビデオ符号化技法およびビデオ復号化技法を説明する。Ｂユニットは、予測参照データの２つの異なるリストに基づいて符号化および復号化されたＢビデオブロック、予測参照データの１つのリストに基づいて符号化および復号化されたＰビデオブロック、および同じコード化ユニット内のイントラデータに基づいて符号化されるＩビデオブロックを含む、多くの異なるタイプのビデオブロックを含み得る。
【００２１】
ＩＴＵ  Ｈ．２６４のようなコーディング規格で発展し、適用された１つの符号化技法は、重み付け予測と呼ばれる。１つまたは複数の重み（時々重みファクタと称される）の予測を参照する重み付け予測は、予測データに割り当てられる。この場合、予測参照データは、重み付け予測参照データを定義するために重みファクタに従って重み付けされ得る。重み付け予測は、Ｂユニット、および具体的に、Ｂユニット内のＢビデオブロックにしばしば適用されるが、Ｐ−ユニットまたは他のコード化ユニットにも適用され得る。Ｂユニット内のＢビデオブロックの場合、重みは、その後Ｂビデオブロックを符号化するために使用される、予測参照データを重み付けするために予測データの２つの異なるリストに割り当てられ得る。そのため、改善された予測参照データが形成され得る。従来、重み付け予測がＢユニットのために使用される場合、データの異なるリストに割り当てられた同じ重みは、Ｂユニット内のＢビデオブロックの双方向予測およびＢユニット内のＰビデオブロックの単方向予測の両方のために適用される。
【００２２】
このコンテキストにおいて、明示的重み付け予測、暗黙的重み付け予測、およびデフォルト重み付け予測と呼ばれる、異なるタイプの重み付け予測がさらに存在する。明示的な重み付け予測および暗黙的重み付け予測は、ＩＴＵ  Ｈ．２６４に定義される異なる重み付け予測モードに対応し得る。デフォルト重み付け予測は、重みファクタがデフォルト設定によって定義される明示的重み付け予測の特定の場合であり得る。
【００２３】
明示的重み付け予測は、重みファクタがコーディングプロセスの一部として動的に定義され、ビットストリームに符号化される重み付け予測を指す。暗黙的重み付け予測は、２つ以上の異なるリストに関連する重みファクタが、データに関連する複数の暗黙的ファクタに基づいて定義される重み付け予測を指す。たとえば、暗黙的重みファクタは、予測コーディングされているデータに対する、２つの異なるリスト中のデータの時間位置によって定義され得る。リスト０のデータが、リスト１のデータよりも、予測コーディングされているデータに時間的に近接している場合、リスト０中のデータには、暗黙的重み付け予測においてより大きい暗黙的重さファクタが割り当てられ得る。重みファクタは、重み付けすることなく他の方法で達成されるよりもコード化されるデータにより類似する参照データをプロモートするために、重み付けの方法において予測参照データを調整するために参照データの異なるリスト（例えば、参照ピクセルデータ）のローデータ（raw data）に対して適用されることができる。
【００２４】
言及されるように、デフォルト重み付け予測は、２つ以上の異なるリストと関連する重み付け予測があるデフォルト設定によってあらかじめ定義される、重み付け予測を指す。ある場合において、デフォルト重み付け予測は、リストの各々に均等に重み付けを割り当て得る。デフォルト重みは、（明示的重みのような）ビットストリームで通信される、あるいは、ある場合において、ビットストリームから除外され、符号器および復号器で既知であり得る。一般に異なるシナリオに対して静的である、デフォルト重みと異なり、明示的重みは、改善された圧縮をプロモートすることができるより高品質の予測データをプロモートするために重み付け予測データの分析に基づいて定義され得る。ある場合、デフォルト重み付け予測または明示的重み付け予測は、コード化ユニットのために通信されることになる重みを定義する符号器で使用される。この場合、復号器は、同じコーディングモード（例えば、明示的重み付け予測モードの異なるバージョン）としてこれら２つのシナリオを扱い得る。コード化ユニットのためのビットストリームに送信される重みは、デフォルト重み付け予測のためのデフォルト設定に基づいて定義され、且つ明示的重み付け予測のための予測データの分析に基づいて定義される。
【００２５】
本開示に従う、ビットストリームで通信される明示的重みは、明示的双方向予測のために復号器によって適用されるが、（デフォルト重みまたは明示的単方向重みを個別に定義する）異なる重みは、明示的単方向予測のために使用され得る。このように、Ｂユニット内のＢビデオブロックの双方向予測およびＢユニット内のＰビデオブロックの単方向予測は、異なる重みファクタを適用し得る。従来において、重み付け予測がＢユニットに対して定義され示される場合、データの異なるリストに割り当てられた同じ重みは、Ｂユニット内のＢビデオブロックの双方向予測およびＢユニット内のＰビデオブロックの単方向予測の両方のために適用される。本開示の技法は、これら従来の制限を除去することによって、コーディング効率およびコーディング品質が改善されることを認識する。
【００２６】
図１は、本開示の技法を実装し得る１つの例示的なビデオ符号化および復号化システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１５を介して符号化ビデオを宛先デバイス１６に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１６は、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１６は、いわゆるセルラー電話または衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信デバイス、あるいはワイヤレスであってもなくてもよい通信チャネル１５を介してビデオ情報を通信することができる任意のデバイスを備える。ただし、Ｂユニット内のビデオブロックの明示的重み付け予測のための単方向予測重みおよび双方向予測重みの分離に関する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるわけではない。
【００２７】
図１の例では、ソースデバイス１２は、ビデオソース２０と、ビデオ符号器２２と、変調器／復調器（モデム）２３と、送信機２４とを含み得る。宛先デバイス１６は、受信機２６と、モデム２７と、ビデオ復号器２８と、ディスプレイデバイス３０とを含み得る。本開示によれば、ソースデバイス１２のビデオ符号器２２は、明示的重みに基づいてコード化ユニットの１つまたは複数の双方向ビデオブロックを符号化し、１つまたは異なる重みに基づいてコード化ユニットの１つまたは複数の単方向ビデオブロックを符号化するように構成される。同様に、ビデオ復号器２８は、コード化ユニットにおける１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のために明示的重みを適用し、コード化ユニットにおける１つまたは複数の単方向ビデオブロックの単方向明示的重み付け予測のためにビデオ復号器によって１つまたは異なる重みを適用し得る。
【００２８】
図１の図示のシステム１０は例にすぎない。本開示の非ゼロ丸めおよび予測モード選択技法は、単方向および双方向動き補償予測をサポートする任意のコーディングデバイスによって実行され得る。ソースデバイス１２および宛先デバイス１６は、ソースデバイス１２が宛先デバイス１６に送信するためのコード化ビデオデータを生成する、そのようなコーディングデバイスの例にすぎない。場合によっては、デバイス１２、１６は、デバイス１２、１６の各々がビデオ符号化構成要素および復号化構成要素を含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話通信のために、ビデオデバイス１２とビデオデバイス１６との間の一方向または双方向のビデオ送信をサポートし得る。
【００２９】
ソースデバイス１２のビデオソース２０は、ビデオカメラ、あらかじめキャプチャされたビデオを含んでいるビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードなど、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース２０は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース２０がビデオカメラである場合、ソースデバイス１２および宛先デバイス１６は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。各場合において、キャプチャされたビデオ、プリキャプチャされたビデオまたはコンピュータ生成ビデオは、ビデオ符号器２２によって符号化され得る。次いで、符号化されたビデオ情報は、たとえば、符号分割多元接続（ＣＤＭＡ）または別の通信規格などの通信規格に従ってモデム２３によって変調され、送信機２４を介して宛先デバイス１６に送信され得る。モデム２３は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００３０】
宛先デバイス１６の受信機２６はチャネル１５を介して情報を受信し、モデム２７はその情報を復調する。この場合も、ビデオ符号化プロセスは、単方向予測重みから双方向予測重みを分離するために、本明細書で説明する技法のうちの１つまたは複数を実装し得る。チャネル１５を介して通信される情報は、重みファクタを定義するビデオ符号器２２によって定義された情報を含み、この情報は、本開示に一致するビデオ復号器２８によって使用され得る。ディスプレイデバイス３０は、復号化されたビデオデータをユーザに対して表示し、陰極線管、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３１】
図１の例では、通信チャネル１５は、無線周波（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレスおよびワイヤード媒体の任意の組合せを備え得る。したがって、モデム２３および送信機２４は、多数の可能なワイヤレスプロトコル、ワイヤードプロトコル、またはワイヤードおよびワイヤレスプロトコルをサポートし得る。通信チャネル１５は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、あるいは、１つまたは複数のネットワークの相互接続を備えるインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信チャネル１５は、概して、ビデオデータをソースデバイス１２から宛先デバイス１６に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１５は、ソースデバイス１２から宛先デバイス１６への通信を可能にするのに有用なルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００３２】
ビデオ符号器２２およびビデオ復号器２８は、代替的にＭＰＥＧ−４、Ｐａｒｔ１０、ＡＶＣ（Advanced Video Coding）とも記載されるＩＴＵ−Ｔ  Ｈ．２６４規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。更に、ある観点において、ＩＴＵ−Ｔ  Ｈ．２６４規格が単方向予測および双方向予測の両方のために使用される同じ重みファクタを定義する限りでは、本開示の技法は、ＩＴＵ−Ｔ  Ｈ．２６４規格に非準拠である。ＩＴＵ−Ｔ  Ｈ．２６４において、例えば、２つの明示的重みは、予測データの２つの異なるリストのために定義され得る。この場合、双方向予測が使用される場合、両方の重みが適用される。単方向予測が使用される場合、重みのうちの１つだけ（つまりその単方向予測のために使用されるリストに対応する重み）が適用される。本開示の技法は、４つの異なる重み（つまり双方向予測のために２つの重みおよび単方向予測のために２つの重み）を通信することを備え得る。しかしながら、ある場合に、単方向重みは、通信されず、復号器で単に既知であり、適用される、デフォルト重みである。単方向重みは、特にそのような重みがデフォルト重みである場合、ある場合においてビットストリームで通信され得る。他の場合において、単方向重みは、ビットストリームで通信されずに復号器で既知であり適用され得る。
【００３３】
図１には示されていないが、いくつかの態様では、ビデオ符号器２２およびビデオ復号器２８は、それぞれオーディオ符号器および復号器と統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３４】
ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、ＪＶＴ（Joint Video Team）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  ＭＰＥＧ（Moving Picture Experts Group）とともにＩＴＵ−Ｔ  ＶＣＥＧ（Video Coding Experts Group）によって策定された。いくつかの態様では、本開示で説明する技法は、Ｈ．２６４規格に概して準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  研究グループによる２００５年３月付けのＩＴＵ−ＴリコメンデーションＨ．２６４「Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」に記載されており、本明細書ではＨ．２６４規格またはＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格または仕様と呼ばれ得る。ＪＶＴ（Joint Video Team）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００３５】
Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ規格を進化させる取り組みは、ＫＴＡ（Key Technologies Area）フォーラムなど、ＩＴＵ−Ｔの様々なフォーラムにおいて行われる。ＫＴＡフォーラムは、部分的には、Ｈ．２６４／ＡＶＣ規格が示すコーディング効率よりも高いコーディング効率を示すコーディング技術を追求する。本開示で説明する技法は、Ｈ．２６４／ＡＶＣ規格に対するコーディング改善のために役立ち得るが、本技法は、本明細書の出願で定義されるＨ．２６４／ＡＶＣ規格に非準拠であり得る。
【００３６】
ビデオ符号器２２およびビデオ復号器２８はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組合せとして実装され得る。ビデオ符号器２２およびビデオ復号器２８の各々は１つまたは複数の符号器または復号器中に含まれ得、そのいずれも複合符号器／復号器（コーデック）の一部としてそれぞれのモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに統合され得る。
【００３７】
ビデオシーケンスは一般に一連のビデオフレームを含む。ビデオ符号器２２およびビデオ復号器２８は、ビデオデータを符号化および復号化するために、個々のビデオフレーム内のビデオブロックに作用し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは、一連のスライスまたは他の単独で復号化可能なユニットを含み得る。各スライスは一連のマクロブロックを含み得、それらのマクロブロックはサブブロックに構成され得る。一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。ビデオブロックは、ピクセルデータのブロック、または、たとえば、離散コサイン変換（ＤＣＴ）コーディングもしくは概念的に同様の変換プロセスなどの変換プロセスの後の変換係数のブロックを備え得る。
【００３８】
より小さいビデオブロックは、より良好な解像度を与えることができ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。概して、マクロブロックおよび様々なサブブロックはビデオブロックであると見なされ得る。さらに、スライスは、マクロブロックおよび／またはサブブロックなど、一連のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号化可能なユニットであり得る。代替的に、フレーム自体が復号化可能なユニットであり得、またはフレームの他の部分が復号化可能なユニットとして定義され得る。「コード化ユニット」という用語は、フレーム全体、フレームのスライス、ピクチャグループ（ＧＯＰ）、または使用されるコーディング技法に従って定義される別の単独で復号化可能なユニットなど、ビデオフレームの単独で復号化可能な任意のユニットを指す。
【００３９】
（異なる重みファクタを使用する単方向重み付け予測および双方向重み付け予測を含む）インターベース予測符号化の後、（Ｈ．２６４／ＡＶＣまたは離散コサイン変換もしくはＤＣＴにおいて使用される４×４または８×８整数変換などの）任意の変換の後、量子化が実行され得る。量子化は、概して、係数を表すために使用されるビット数を低減するように残差変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、１６ビット値は、量子化中に１５ビット値に切り捨てられ得る。量子化の後、たとえば、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または別のエントロピーコーディング方法に従って、エントロピーコーディングが実行され得る。
【００４０】
本開示の技法は、特に、Ｂユニットのビデオブロックの重み付け予測に適用可能である。この場合、ビデオブロックを符号化するために使用される予測データは、重み付け予測データを定義する予測データのピクセル値を調整するための重み付けされる。本開示に従って、予測データ（例えば、リスト０およびリスト１）の異なるリストのための重みのセットを割り当てるのではなく、ビデオ符号器２２は、異なるリストに対する２つの異なるセットの重みを割当てる。ここで、１つのセットは、双方向予測で使用されるためのものであり、別のセットは、単方向予測で使用される異なるリストのための重みを定義するためのものである。
【００４１】
上述のように、双方向予測は、データの２つの異なるリストに基づく、いわゆる「Ｂビデオブロック」の予測である。Ｂビデオブロックは、２つの前のフレームからのデータの２つのリスト、後続のフレームからのデータの２つのリスト、または前のフレームからのデータおよび後続のフレームからのデータの１つのリストから予測され得る。対照的に、単方向予測は、１つの予測フレーム、たとえば、１つの前のフレームまたは１つの後続のフレームに対応し得る、１つのリストに基づくＰビデオブロックの予測を指す。ＢフレームおよびＰフレームは、より一般的にはＰユニットおよびＢユニットと呼ばれ得る。ＰユニットおよびＢユニットはまた、フレームのスライスまたはフレームの部分など、より小さいコード化ユニットにおいて実現され得る。Ｂユニットは、Ｂビデオブロック、ＰビデオブロックまたはＩビデオブロックを含み得る。ＰユニットはＰビデオブロックまたはＩビデオブロックを含み得る。ＩユニットはＩビデオブロックのみを含み得る。
【００４２】
重み付け双方向予測は、重みファクタが２つの異なるリストに割り当てられることを可能にする双方向予測を指す。各リストは、予測フレームまたは他のコード化ユニットに関連するデータ（例えば、ピクセル値）のセットを備え得る。重み付け双方向予測では、１つのリストは、重み付け予測データを生成する際により重く重み付けされ得る。たとえば、リストのうちの１つが、コーディングされているビデオブロックにより類似しているデータを有する場合、そのリストは、双方のリストに基づいて重み付け予測データを定義する他のリストよりも重く重み付けされ得る。
【００４３】
重み付け単方向予測において、所与のリストのための所与の重みファクタは、予測データに適用され得る。異なる重みは、異なるリストに適用されるが、この場合、所与の単方向予測は、その単方向予測のために使用されるデータのリストに対応する１つの重みのみを使用することになる。本開示に従って、データの２つのリストのために定義された重みは、双方向予測のために定義されたものと単方向予測のために定義されたものとで異なるだろう。本技法は、本開示の時点で説明されるようなＩＴＵ  Ｈ．２６４を非準拠であり得る。
【００４４】
ＩＴＵ−Ｔ  Ｈ．２６４による異なるタイプの重み付け双方向予測について、ビデオ符号器２２およびビデオ復号器２８は、概して、３つの異なるタイプの予測モードをサポートし得る。明示重み付け予測は、重みファクタがコーディングプロセスの一部として動的に定義され、ビットストリームに符号化される重み付け予測を指す。明示的重み付け予測は、例えば、明示的重み付け予測がビットストリームの一部として符号化される重みファクタに帰着する、という点で暗黙的重み付け予測と異なる。
【００４５】
暗黙的重み付け予測は、２つ以上の異なるリストに関連する重みファクタがデータに関連する複数の暗黙的ファクタに基づいて定義される重み付け予測を指す。たとえば、暗黙的重みファクタは、予測コーディングされているデータに対する、２つの異なるリストのデータの相対時間位置によって定義され得る。暗黙的重み付け予測において、重みファクタは、ビットストリーム中に含まれない。代わりに、ビデオ復号器２８は、暗黙的重み付けファクタを導出するようにプログラムされ得る。
【００４６】
デフォルト重み付け予測は、２つ以上の異なるリストに関連する重みファクタがあるデフォルト設定によってあらかじめ定義される重み付け予測を指す。ある場合に、デフォルト重み付け予測は、リストの各々に均等に重みを割り当て得る。デフォルト重み付け予測において、重みファクタは、ビットストリームで送られ得る、あるいは符号器および復号器であらかじめ定義され、ビットストリームで送られ得ない。デフォルト重み付けファクタがビットストリームで送られる場合、デフォルト予測モードは、（上記で説明された）明示的予測モードの特別なケースと考えられ得る。したがって、デフォルト予測は、さらに明示的予測モードのデフォルト重みのアプリケーションとして説明され得る。この場合、２つの異なる重み付け予測モード、例えば、明示的および暗黙的モード、のみが存在するといえるが、明示的モードは、デフォルト重みまたは明示的に定義された重みをサポートし得る。
【００４７】
図２は、本開示に一致する技法を実行し得るビデオ符号器５０の一例を示すブロック図である。ビデオ符号器５０は、ソースデバイス１２のビデオ符号器２２、または異なるデバイスのビデオ符号器に対応し得る。ビデオ符号器５０は、ビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得るが、説明を簡単にするために、イントラコーディング構成要素は図２に示していない。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は空間ベースの圧縮モードを指し、予測（Ｐモード）または双方向（Ｂモード）などのインターモードは、時間ベースの圧縮モードを指し得る。
【００４８】
図２に示すように、ビデオ符号器５０は、符号化すべきビデオフレームまたはスライス内の現在のビデオブロックを受信する。図２の例では、ビデオ符号器５０は、動き推定ユニット３２と、動き補償ユニット３５とを備える予測ユニット３１を含む。ビデオ符号器５０は、さらにメモリ３４と、加算器４８と、変換ユニット３８と、量子化ユニット４０と、エントロピーコーディングユニット４６とを含む。ビデオブロック再構成のために、ビデオ符号器５０はまた、逆量子化ユニット４２と、逆変換ユニット４４と、加算器５１とを含む。ビデオ符号器５０はまた、再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図示せず）を含み得る。所望される場合、デブロッキングフィルタは、一般に、加算器５１の出力をフィルタ処理するであろう。
【００４９】
符号化プロセス中に、ビデオ符号器５０は、コーディングすべきビデオブロックを受信し、動き推定ユニット３２および動き補償ユニット３５は、インター予測コーディングを実行する。動き推定ユニット３２と動き補償ユニット３５とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、一般に、ビデオブロックの動きを推定する、動きベクトルを生成するプロセスと考えられる。動きベクトルは、たとえば、現在のフレーム（または他のコード化ユニット）内のコーディングされている現在のブロックに対する、予測フレーム（または他のコード化ユニット）内の予測ブロックの変位を示し得る。動き補償は、一般に、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成するプロセスと考えられる。この場合も、動き推定ユニット３２と動き補償ユニット３５とは機能的に統合され得る。例示のために、本開示で説明する技法は、予測ユニット３１によって実行されるものとして説明する。
【００５０】
動き推定ユニット３２は、コーディングすべきビデオブロックを１つまたは複数の予測コード化ユニット（たとえば、時間に関してまたは時間的に前のおよび／または将来のフレーム）のビデオブロックと比較することによって、そのビデオブロックに適した動きベクトルを選択する。動き推定ユニット３２は、一例として、Ｂフレームの動きベクトルをいくつかの方法で選択し得る。１つの方法では、動き推定ユニット３２は、（リスト０と呼ばれる）フレームの第１のセットから前のまたは将来のフレームを選択し、単方向動き推定の１つのタイプである、リスト０からこの前のまたは将来のフレームのみを使用して動きベクトルを判断し得る。代替的に、動き推定ユニット３２は、（リスト１と呼ばれる）フレームの第２のセットから前のまたは将来のフレームを選択し、単方向動き推定の別のタイプである、リスト１からのこの前のまたは将来のフレームのみを使用して動きベクトルを判断し得る。さらに別の方法では、動き推定ユニット３２は、リスト０から第１のフレームを選択し、リスト１から第２のフレームを選択し、リスト０の第１のフレームとリスト１の第２のフレームとから１つまたは複数の動きベクトルを選択し得る。この第３の形態の予測は双予測動き推定と呼ばれ得る。本開示の技法は、動き補償双予測モードを効率的に選択するように実装され得る。
【００５１】
本開示の技法は、双方向動き補償のためのリスト０およびリスト１に割り当てられた重みファクタから単方向動き補償のためのリスト１およびリスト０に割り当てられた重みファクタを分離するように実施され得る。所与のリストの選択された動きベクトルは、たとえば、コーディングされているブロックのピクセル値に対する予測ブロックのピクセル値の絶対値差分和（ＳＡＤ）または２乗差分和（ＳＳＤ）などのメトリックによって定義される、コーディングされているビデオブロックに最も類似している予測ビデオブロックを指し得る。動きベクトルに基づいて予測データを作成する場合、適切な重みファクタまたは複数の重みファクタは、動き補償ユニット３５によって適用され得る。すなわち、（単方向予測および双方向予測に対して異なる）重みファクタは、現在のビデオブロックの符号化および復号化のために使用される、重み付け予測データを定義するために予測データを重み付けするために適用される。
【００５２】
ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣ規格によれば、Ｂフレームのビデオブロック、マクロブロック、あるいは他の離散部分および／または連続部分など、Ｂフレームまたはその部分を予測するために異なる動き補償双予測アルゴリズムまたはモードが使用され得る。デフォルト重み付け予測と一般的に呼ばれる第１の動き補償双予測アルゴリズムまたはモードは、リスト０の第１のフレームとリスト１の第２のフレームとの各識別されたビデオブロックにデフォルト重みを適用することに関与し得る。デフォルト重みは、規格に従ってプログラムされ得、しばしば、デフォルト重み付け予測では等しくなるように選択され得る。次いで、第１のフレームの重み付けブロックと第２のフレームの重み付けブロックは、互いに加算され、Ｂフレームを予測するために使用されたフレームの総数、たとえば、この例では２によって除算される。しばしば、この除算は、第１のフレームの重み付けブロックと第２のフレームの重み付けブロックとの加算に１を加算し、次いで、その結果を１ビットだけ右シフトすることによって達成される。１の加算は、ある実施形態に対して除かれ得る、丸め調整である。
【００５３】
ある場合に、１だけ右シフトすることより前の１の加算（丸め調整）は回避され、したがって上方バイアス丸めをなくし得る。動き補償ユニット３５は、丸めを用いて重み付けブロックを生成することと、丸めを用いないで重み付けブロックを生成することの両方が可能であり、最良のコーディング効率を達成するブロックを選択し得る。 
より一般的には、重み付け予測は次式によって与えられる：
【数１】
0005497169.tif 000002
【００５４】
ただし、ｐｒｅｄ（ｉ，ｊ）は重み付け予測ブロックに関連するデータであり、ｐｒｅｄ０（ｉ，ｊ）はリスト０からのデータであり、ｐｒｅｄ１（ｉ，ｊ）はリスト１からのデータであり、ｗ０およびｗ１は重みファクタであり、２rは丸め項であり、＞＞は（ｒ＋１）ビットの右シフト演算である。ある場合に、ｐｒｅｄ（ｉ，ｊ）の２つの異なるバージョンが動き補償ユニット３５によって生成され、考慮され得る。第１のバージョンは上式に一致し、第２のバージョンは、丸めなしで、すなわち、式から項「２r」を削除して上式に一致する。この丸めをなくすことは、場合によってはより良い重み付け予測データを達成し得、それにより、コーディング効率を改善することができる。動き補償ユニット３５は、所与のビデオブロックまたはビデオブロックのセットに対して丸めが使用されたか否かを確定するために、１つまたは複数のシンタックス要素を生成し得る。双方向予測モードと、丸めが使用されたかどうかを示す１つまたは複数のシンタックス要素との両方が、符号化ビットストリームに含めるために、動き補償ユニット３５からエントロピーコーディングユニット４６に出力され得る。
【００５５】
Ｂピクチャは、前にコーディングされた参照ピクチャの２つのリスト、すなわち、リスト０とリスト１とを使用する。これらの２つのリストは、それぞれ、時間順に過去および／または将来のコード化ピクチャを含むことができる。Ｂピクチャ中のブロックは、リスト０参照ピクチャからの動き補償予測、リスト１参照ピクチャからの動き補償予測、またはリスト０参照ピクチャとリスト１参照ピクチャの両方の組合せからの動き補償予測など、いくつかの方法のうちの１つで予測され得る。リスト０参照ピクチャとリスト１参照ピクチャの両方の組合せを得るために、２つの動き補償参照エリアが、それぞれリスト０参照ピクチャおよびリスト１参照ピクチャから取得され、２つの参照エリアは、重み付け方法の組合せである。それらの組合せは、現在のブロックを予測するために使用されることができる。
【００５６】
本開示では、「Ｂピクチャ」という用語は、Ｂフレーム、Ｂスライス、または場合によっては少なくともいくつかのＢビデオブロックを含む他のビデオユニットであり得る、任意のタイプのＢユニットを全般的に指すために使用される。前述のように、Ｂピクチャは、３つのタイプの重み付け予測、デフォルト、暗黙的、および明示的重み付け予測、を可能にし得る。さらに、時々、デフォルト予測は、デフォルト設定によって定義される明示的重みファクタでの明示的予測の特別なタイプと考えられる。簡潔さのために単方向予測の前方予測のみが以下の議論で示されるが、後方予測はさらに単方向予測の別のタイプとして使用されることができる。
【００５７】
デフォルト重み付け予測は、それぞれ単方向予測および双方向予測について、以下の式によって定義され得る。  
【数２】
0005497169.tif 000003
【００５８】
ただし、ｐｒｅｄ０（ｉ，ｊ）は、リスト０からの予測データであり、ｐｒｅｄ１（ｉ，ｊ）はリスト１からの予測データである。
【００５９】
暗黙的重み付け予測は、それぞれ単方向予測および双方向予測について、以下の式によって定義され得る。  
【数３】
0005497169.tif 000004
【００６０】
この場合、各予測は重みファクタｗ０またはｗ１によってスケーリングされ、ただし、ｗ０およびｗ１は、リスト０参照ピクチャとリスト１参照ピクチャとの相対時間位置に基づいて計算される。
【００６１】
明示的重み付け予測は、それぞれ単方向予測および双方向予測について、以下の式によって定義され得る。
【数４】
0005497169.tif 000005
【００６２】
この場合、重みファクタは、符号器によって判断され、スライスヘッダ中で送信され、ｏ１およびｏ２は、それぞれリスト０参照ピクチャおよびリスト１参照ピクチャのピクチャオフセットである。
【００６３】
従来、丸め調整は、双方向予測において常に使用される。上式によれば、デフォルト重み付け予測では１の右シフトの前に１の丸め調整が使用され、暗黙的重み付け予測では６の右シフトの前に３２の丸め調整が使用される。一般に、ｒが正の整数を表す場合、ｒの右シフトの前に２r-1の丸め調整が通常使用される。
【００６４】
そのような頻繁でバイアスされた丸め演算は、予測の精度を低減し得る。さらに、明示的重み付け予測の双方向予測では、実際には、参照ピクチャ用の丸めと、オフセット用の丸めの、２つの丸めがある。したがって、この場合、丸め誤差が累積し得る。本開示の一態様によれば、２つの別々の丸めを行う代わりに、ビデオ符号器は、以下のように、右シフトの前に重み付け予測にオフセットを追加することができる。  
【数５】
0005497169.tif 000006
【００６５】
ただし、ｐｒｅｄ（ｉ，ｊ）は丸めに関連する重み付け予測データであり、ｐｒｅｄ０（ｉ，ｊ）はリスト０からのデータであり、ｐｒｅｄ１（ｉ，ｊ）はリスト１からのデータであり、ｗ０およびｗ１は重みファクタであり、ｏ１およびｏ２はオフセットであり、ｒおよび２rは、ビット（ｒ＋１）の右シフト演算「＞＞」とともに丸めを与える丸め項である。これは、より良い予測精度を与え得る。この場合、２つの異なるオフセット（ｏ１およびｏ２）を組み合わせて１つのオフセットにすることを可能にする、新しいシンタックス要素も定義され得る。さらに、この場合、丸め値は、上記で説明した丸め調整（たとえば、（ｒ＋１）ビットの右シフト演算より前の２r）、ならびにオフセットに関連する別の丸め値（「ｒ」）を備え得る。上式はまた、より高い精度をオフセットに与えるために、わずかに修正され得る。オフセットのより高い精度が望まれる場合、オフセットは、（２などの）ファクタで乗算され、次いで整数に丸められ得る。左シフトはまた、オフセットへのこの追加された精度を相殺するように変更され得る。
【００６６】
明示的重み付け予測における別の問題は、単方向予測および双方向予測が同じ重みおよびオフセットを共有し得るということである。より良い予測のための柔軟性をより大きくするために、本開示によれば、単方向予測と双方向予測は分離され得る。この場合、単方向予測および双方向予測は、所与のタイプの予測（デフォルト、暗黙的または明示的）に対して異なる重みおよびオフセットを定義し得る。より良い予測を可能にするために、明示的予測のための新しいシンタックス要素が定義され得る。符号器は、復号器によって同じ重みファクタおよび丸めモードが使用されることができるように、符号器によって使用された重みファクタおよび符号器によって使用されたことによると異なる丸めモードをシグナリングするために、シンタックス要素をコード化ビットストリーム中に含むことができる。
【００６７】
丸め調整を適応的に選択することが有利である。これを行う１つの方法は、予測データの２つ以上の異なるセットに基づいて、それらの予測データの２つ以上の異なるセットを生成（し、場合によってはビデオブロックを数回符号化）することである。予測データの１つのセットは非ゼロ丸めを有し、他のセットは丸めをなくし得る。さらに他の例では、上方丸め、下方丸め、および丸めなしが考慮され得る。動き補償ユニット３５は、これらの様々なタイプの予測データを生成し得、所与のビデオブロックのための最良の予測データを選択するためにレートひずみ（ＲＤ）分析を行い得る。
【００６８】
レートひずみ（ＲＤ）分析は、ビデオコーディングにおいてかなり一般的であり、概して、コーディングコストを示すコストメトリックの計算に関与する。コストメトリックは、コーディングに必要なビット数（レート）と、コーディングに関連する品質レベル（ひずみ）とのバランスをとり得る。典型的なレートひずみコスト計算は、概して、以下の形式に対応し得る。  
【数６】
0005497169.tif 000007
【００６９】
ただし、Ｊ（λ）はコストであり、Ｒはビットレートであり、Ｄはひずみであり、λはラグランジュ乗数である。
【００７０】
ビデオ符号器５０が最も望まれる予測データを識別するための１つの方法は、まず動きベクトルを発見するために動き推定ユニット３２を使用し、次いで、丸め調整を用いておよび用いないで予測誤差を計算するために動き補償ユニット３５および加算器４８を実装することである。次いで、動き補償ユニット３５は、最小の予測誤差を生じる予測データを選択し得る。予測誤差は、予測データと符号化されている現在のデータとの間の絶対値差分和を使用することによって計算され得る。
【００７１】
本開示に従って、明示的重み付け予測のために定義された重み（およびオプションとしてのオフセット）は、単方向および双方向予測に対して異なり得る。明示的重みは、以下のように計算され得る：明示的重み＝デフォルト重み＊（ＤＣ＿現在のフレーム／ＤＣ＿参照フレーム）この場合、用語「ＤＣ＿現在のフレーム」は、現在のフレーム（または他のコード化ユニット）のすべてのピクセルの和であり、用語「ＤＣ＿参照フレーム」は、リスト０またはリスト１からのものであることができる、参照フレーム（または他のコード化ユニット）のすべてのピクセルの和である。
【００７２】
リスト０およびリスト１における各参照フレームは、それらに割り当てられた明示的重みを有し得る。更に、各参照フレームは、単方向予測のために１つの重みを有し、双方向予測に含まれる参照ピクチャの各ペアは、双方の参照フレームのための重みのペアを有する。従来の明示的重み付け予測の問題は、単方向予測および双方向予測が同じ重みを共有するということである。
【００７３】
例示として、  
Ｆ＝現在のフレーム  
Ｆ０＝リスト０の参照フレーム  
Ｆ１＝リスト１の参照フレーム  
ｗ０＝Ｆ０のための明示的重み  
ｗ１＝Ｆ１のための明示的重み  
ｗｄ＝デフォルト重み  
である場合、以下の式のようになる：  
【数７】
0005497169.tif 000008
【数８】
0005497169.tif 000009
【００７４】
よりよい予測のためのより多くの柔軟性を有するために、単方向予測および双方向予測のための重みを切り離すことができる。
【数９】
0005497169.tif 000010
【００７５】
この場合、ｗ２はｗ０と異なり、ｗ３は、Ｗ１と異なる。
【００７６】
単方向予測のために、予測ユニット３１は、オリジナルのデフォルト重みを使用し符号化し得る。双方向予測のために、予測ユニット３１は、リスト０およびリスト１からの参照フレームを使用して形成された現在のフレーム（または他のコード化ユニット）およびバーチャルフレーム（または他の参照ユニット）の間の誤差を最小化することによって計算された明示的重みを使用し符号化し得る。
【００７７】
例示として、  
Ｆ＝現在のフレーム  
Ｆ０＝リスト０の参照フレーム  
Ｆ１＝リスト１の参照フレーム  
ｗ＝明示的重み  
Ｆｖ＝バーチャルフレーム＝ｗＦ０＋（１−ｗ）Ｆ１  
ｅ＝現在のフレームとバーチャルフレームの間の誤差  
である場合、  
ｅ＝Ｆ−Ｆｖ  
＝Ｆ−（ｗＦ０＋（１−ｗ）Ｆ１）  
＝Ｆ−ｗＦ０＋ｗＦ１−Ｆ１  
＝（Ｆ−Ｆ１）−ｗ（Ｆ０−Ｆ１）  
となる。
【００７８】
誤差は、以下のように最小化され得る：
【数１０】
0005497169.tif 000011
【００７９】
したがって、この場合、双方向予測は、以下のように与えられ得る：
【数１１】
0005497169.tif 000012
【００８０】
これらの異なる重みは、コード化ユニットのシンタックス要素に符号化され、Ｂユニットが、重み付け予測を適用するために定義される場合、その後（例えば、スライスヘッダにおいて）コード化ユニットとともに送信され得る。したがって、復号器（図２に示されない）は、これらの重みを受信し、所与のブロックが双方向予測を要求する場合のみ、重みを使用し得る。他の場合には、復号器は、単方向予測のためにデフォルト重みを使用し得る。デフォルト重みは、シンタックスに含まれる、あるいはシンタックス要素から除外され、シンタックスの明示的重みがない状態で適用されるデフォルト重みとして復号器であらかじめ定義され得る。
【００８１】
ある場合に、最良の重み付け予測を見出すために、ビデオ符号器５０は、重みのすべての可能な値を使用する符号化を実行し、レートひずみコストに基づいて最良の重みを選択し得る。しかしながら、複雑さを低減するために、ビデオエンコーダ５０は、以上で説明された技法を使用することによって重みの第１の推定を実行し、その後推定された重みに近い他の重みを考慮し得る。言いかえれば、重みのあらゆる可能なセットを考慮することによって最良の予測の全数探索を実行するのではなく、ビデオエンコーダ５０は、重みを推定するために以上で説明された技法を使用し、その後ある範囲内の推定された重みより大きいおよび／または小さい他の重みを考慮し得る。
【００８２】
例として、重みは、０から１２７の間の任意の値を有し得る。最良の重みを識別する１つの方法は、重みのすべての値を考慮し、最低のレートひずみコストに基づいて最良の重みを選択する全数探索を行なうことである。しかしながら、最良の重みを識別するためのより速い方法は、以上で概説された方法を使用して、重みの第１の推測を導き、次に、例えば、あるファクタ内で、推定された重みに近い他の重みを考慮することであり得る。例えば、上記方法が６７の重みを生じさせる場合、６７の推定された値の周りプラスマイナス１０の値（つまり５７から７７までの間の値）がさらに考慮され得る。この場合、５７から７７の範囲内の全数探索は、最良の重みを選択するために実行され得る。全数探索が０から１２７の全範囲にわたり実行されないので、技法は、完全な全数探索と比べて単純化される。
【００８３】
符号化の複雑さをさらに低減するために、明示的重み付け予測の間に、計算された重みがデフォルト重みと同じである場合、予測ユニット３１は、明示的重み付け予測ステップをスキップし得る。任意の場合に、双方向予測および単方向予測のために異なる重みは、Ｂピクチャの品質を改善し、コーディング効率における利得を達成し得る。
【００８４】
ある場合に、最良の重み付け予測を発見するために、ビデオ符号器５０は、マルチパス符号化を実行し、レートひずみコストに基づいて最良のモードを選択し得る。これを行う１つの方法は、動き補償ユニット３５があらゆる可能な重み付け予測データを生成し、最良の重み付け予測データを選択する、全数探索である。ただし、複雑さを低減するために、動き補償ユニット３５は、たとえば、最初にデフォルト重み付け予測と暗黙的重み付け予測との間で選択し、次いで、その選択を明示的重み付け予測と比較するために、本開示の追加の技法を実装し得る。動き補償ユニット３５は、明示的重み付け予測に関連する重みおよびオフセットを計算し得、また、どちらが選択されても、さもなければデフォルト重み付け予測または暗黙的重み付け予測に関連するデータにオフセットを追加するために明示的重み付け予測フレームワークを使用し得る。したがって、動き補償ユニット３５によって計算されるオフセットの２つ以上のセットが存在し得る。オフセットの第１のセットは、デフォルト重み付け予測または暗黙的重み付け予測において使用される既知の重みを使用することによって計算され得、オフセットの第２のセットは、たとえば、動き補償予測誤差を最小限に抑えることによって、明示的重み付け予測の通常の計算の一部として重みと一緒に計算され得る。
【００８５】
複雑さをさらに低減するために、明示的重み付け予測中、オフセットがゼロである場合、動き補償ユニット３５は、デフォルト重みまたは暗黙的重みを使用する明示的重み付け予測をスキップし得る。また、オフセットがゼロであり、計算された重みが変化を有しない場合、動き補償ユニット３５は、計算された重みおよびオフセットを使用する典型的な明示的重み付け予測をスキップし得る。
【００８６】
本明細書で説明するように、所望の予測データが動き補償ユニット３５によって識別されると、ビデオ符号器５０は、コーディングされている元のビデオブロックから予測データを減算することによって残差ビデオブロックを形成する。加算器４８は、この減算演算を実行する１つまたは複数の構成要素を表す。変換ユニット３８は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換ブロック係数を備えるビデオブロックを生成する。変換ユニット３８は、たとえば、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義された変換など、他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換ユニット３８は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル領域から周波数領域に変換し得る。
【００８７】
量子化ユニット４０は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、９ビット値は、量子化中に８ビット値に切り捨てられ得る。さらに、量子化ユニット４０はまた、オフセットが使用される場合について異なるオフセットを量子化し得る。
【００８８】
量子化の後、エントロピーコーディングユニット４６は量子化変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット４６は、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または別のエントロピーコーディング方法を実行し得る。エントロピーコーディングユニット４６によるエントロピーコーディングの後、符号化されたビデオは、別のデバイスに送信されるか、あるいは後で送信または検索するためにアーカイブされ得る。コード化ビットストリームは、エントロピーコード化残差ブロック、上記ブロックの動きベクトル、および単方向予測と双方向予測のための異なる重みを通信するために本明細書で説明するシンタックスなどの他のシンタックスを含み得る。
【００８９】
逆量子化ユニット４２および逆変換ユニット４４は、それぞれ逆量子化および逆変換を適用して、たとえば、上述の方法で参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。加算器５１は、再構成された残差ブロックを、動き補償ユニット３５によって生成された動き補償予測ブロックに加算して、メモリ３４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインター符号化するために動き推定ユニット３２および動き補償ユニット３５によって参照ブロックとして使用され得る。
【００９０】
図３は、図２の動き補償ユニット３５の一例をより詳細に示すブロック図である。図３の例に示すように、動き補償ユニット３５はメモリ３４に結合し、メモリ３４は、コード化ユニットまたは参照フレームの第１および第２のセットをリスト０  ５２Ａおよびリスト１  ５２Ｂとして記憶する。さらに、メモリ３４は、コーディングされる現在のビデオデータ５３を記憶し得る。メモリ３４は、共有記憶構造、または場合によってはいくつかの異なるメモリ、ストレージユニット、バッファ、または本明細書で説明する任意のデータの記憶を可能にする他のタイプのストレージを備え得る。
【００９１】
リスト０  ５２Ａおよびリスト１  ５２Ｂは、双方向予測による、２つの異なる予測ユニットに関連するデータ、たとえば、２つの異なるフレームまたはスライスまたはマクロブロックからのデータである。この場合も、双方向予測は必ずしも予測方向に限定されるわけではなく、したがって、リスト０  ５２Ａおよびリスト１  ５２Ｂは、２つの前のフレームまたはスライス、２つの後続のフレームまたはスライス、あるいは１つの前のフレームまたはスライスおよび１つの後続のフレームまたはスライスからのデータを記憶し得る。さらに、場合によっては、リスト０  ５２Ａおよび／またはリスト１  ５２Ｂはそれぞれ、複数のフレーム、スライスまたはマクロブロックに関連するデータを含み得る。リスト０  ５２Ａおよび／またはリスト１  ５２Ｂは、可能な予測データの２つの異なるセットにすぎず、各リストは、符号化されている現在のビデオブロックに対して任意の方向に１つのフレームまたはスライス、あるいはいくつかのフレーム、スライスまたはマクロブロックを含み得る。
【００９２】
図３に示すように、動き補償ユニット３５は、デフォルト重み付け予測ユニット５４と、暗黙的重み付け予測ユニット５６と、明示的重み付け予測ユニット５８とを含む。ユニット５４、５６および５８はそれぞれ、本明細書で説明するようにデフォルト重み付け予測、暗黙的重み付け予測、および明示的重み付け予測を実行する。レートひずみ（ＲＤ）分析ユニット６４は、これらの可能性の中で重み付け予測データを選択し、選択プロセスを可能にするために本開示の技法を実装し得る。
【００９３】
動き補償ユニット３５はまた、ユニット５４、５６および５８のうちの１つまたは複数に、それぞれの重み付け予測データの丸めバージョンと非丸めバージョンの両方を生成させる、丸めユニット５５を含む。この場合も、丸めをなくすことによって、重み付け予測データはいくつかのコンテキストにおいて改善され得る。
【００９４】
さらに、動き補償ユニット３５は、オフセットを計算するオフセット計算ユニット６２を含む。ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣコーディングフォーマットに従って、オフセットは明示的重み付け予測のみにおいて可能にされる。したがって、デフォルト重み付け予測または暗黙的重み付け予測のコンテキストにおいてオフセットを考慮するために、デフォルト重み付け予測ユニット５４または暗黙的重み付け予測ユニット５６によって判断された重みは、オフセット計算ユニット６２によって判断されたオフセットとともに明示的重み付け予測ユニット５８に転送され得る。このようにして、明示的重み付け予測ユニット５８は、ＲＤ分析ユニット６４による考慮のために、デフォルト重み付け予測データまたは暗黙的重み付け予測データにオフセットを追加することによって、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣコーディングフォーマットを活用することができる。この場合、明示的重み付け予測ユニット５８は、通常の明示的重み付け予測データだけでなく、オフセット計算ユニット６２によって判断されたオフセットとともにデフォルト重み付け予測ユニット５４または暗黙的重み付け予測ユニット５６によって判断された重みを使用する予測データをも生成する。
【００９５】
オフセット計算ユニットは、コーディングされているブロックのビデオブロック値の平均と予測ブロックのビデオブロック値の平均との間の差としてオフセットを計算し得る。オフセットはルーマビデオブロックについて計算され得、場合によっては、オフセットは、ルーマビデオブロックとクロマビデオブロックとについて計算され得る。
【００９６】
ＲＤ分析ユニット６４は、異なる重み付け予測データを分析し、品質に関して、またはレートおよびひずみに関して最良の結果を生成する重み付け予測データを選択し得る。ＲＤ分析ユニット６４は選択した重み付け予測データを出力し、その選択した重み付け予測データは、加算器４８（図２）を介して、コーディングされているビデオブロックから減算され得る。重み付け予測データを生成するために使用すべき方式または方法を復号器に通知するために、シンタックス要素が使用され得る。シンタックス要素は、たとえば、丸めが使用されたか否かを示し得、デフォルト重み付け予測を使用すべきか、暗黙的重み付け予測を使用すべきか、または明示的重み付け予測を使用すべきかを示し得る。明示的重み付け予測を使用すべき場合、シンタックス要素はさらに、同じく明示的重み付け予測に関連する重みファクタおよびオフセットであるか、あるいはオフセット計算ユニット６２からのオフセットの追加とともにデフォルト重み付け予測ユニット５４または暗黙的重み付け予測ユニット５６によって実際に定義された重みファクタであり得る、重みファクタおよびオフセットを識別し得る。
【００９７】
ＲＤ分析ユニット６４とともに明示的重み付け予測ユニット５８は、明示的単方向予測および明示的双方向予測のための異なる重みを定義するために本開示の技法を実行し得る。重み付け予測ユニット５４によって定義されたデフォルト重みは、明示的単方向予測のために使用され得る一方、明示的重み付け予測ユニット５８によって定義された明示的重みは、明示的双方向予測のために使用され得る。
【００９８】
図４は、上記で説明した符号化技法とは逆の復号化技法を実行し得る、例示的なビデオ復号器７０を示すブロック図である。ビデオ復号器７０は、エントロピー復号化ユニット７２と、予測ユニット７５と、逆量子化ユニット７６と、逆変換ユニット７８と、メモリ７４と、加算器７９とを含み得る。予測ユニット７５は、動き補償（ＭＣ）ユニット８８、ならびに説明を簡単で容易にするために図示されていない空間的予測構成要素を含み得る。
【００９９】
ビデオ復号器７０は、コード化ユニットを受信する。ここにおいて、コード化ユニットは、コード化ユニットにおける１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示すシンタックス要素を含む。エントロピー復号化ユニット７２は、受信ビットストリームを復号し、ビットストリームからの明示的重みを分析し得る。予測ユニット７５の動き補償ユニット８６は、コード化ユニットにおける１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のために明示的重みを適用する。さらに、予測ユニット７５の動き補償ユニット８６は、コード化ユニットにおける１つまたは複数の単方向ビデオブロックの単方向明示的重み付け予測のために１つまたは複数の異なる重みを適用する。
【０１００】
明示的重みは、双方向明示的重みを備え、１つまたは複数の異なる重みは、コード化ユニットで受信し得るあるいは受信し得ない、単方向明示的重みを備え得る。以上で言及されるように、１つまたは複数の異なる重みは、１つまたは複数のデフォルト重みを備える。デフォルト重みは、ＭＣユニット８６であらかじめ定義され、コード化ユニットのシンタックスの要素に含まれ得ない、あるいは代替として、デフォルト重みは、コード化ユニットのシンタックス要素に含まれ得る。予測ユニット７５は、さらに暗黙的重み付け予測に従って復号化をサポートし得る。例えば、復号化ユニット７０は、明示的重みを含まない別のコード化ユニットを受信し得る。ユニット７２によってエントロピー復号化した後、予測ユニット７５のＭＣユニット８６は、別のコード化ユニットにおいて１つまたは複数のビデオブロックの暗黙的重み付け予測のために１つまたは複数の暗黙的重みを生成し適用し得る。
【０１０１】
概して、エントロピー復号化ユニット７２は、符号化されたビットストリームを受信し、量子化係数、動き情報および本開示に従って使用される他のシンタックスを生成するためにビットストリームをエントロピー復号化する。動き情報（たとえば、動きベクトル）および他のシンタックス要素は、予測データを生成する際に使用するために予測ユニット７５に転送される。予測ユニット７５は、本開示に一致する単方向予測および双方向予測を実行し、受信したシンタックス要素に従って単方向予測および双方向予測のための異なる重みを適用する。シンタックス要素は、使用すべき重み付け予測のタイプと、異なるシナリオに適用する重みと、明示的重み付け予測を使用すべき場合に適用されるべきオフセットと、復号化において丸め調整を使用すべきかどうかの表示とを識別し得る。
【０１０２】
量子化係数は、エントロピー復号化ユニット７２から逆量子化ユニット７６に送られ、逆量子化ユニット７６は逆量子化を実行する。次いで、逆変換ユニット７８は、逆量子化係数をピクセル領域に逆変換して、残差ブロックを生成する。加算器７９は、予測ユニット７５によって生成された予測データ（たとえば、予測ブロック）を逆変換ユニット７８からの残差ブロックと合成して、再構成されたビデオブロックを作成し、その再構成されたビデオブロックは、メモリ７４に記憶され、および／または復号化されたビデオ出力としてビデオ復号器７０から出力され得る。
【０１０３】
図５は、本開示と一致するビデオ復号器によって実行される例示的なプロセスを説明するフローチャートである。図５は、図４のビデオ復号器７０の観点から説明される。図５に示されるように、エントロピー復号化ユニット７２は、明示的重みを含むコード化ユニットを受信する（１０１）。エントロピー復号化ユニット７２は、コード化ユニット、例えば、フレームまたはスライスをエントロピー復号化し、ビットストリームからの明示的重みを解析する。予測ユニット７５の動き補償ユニット８６は、コード化ユニットの１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のために明示的重みを適用する（１０２）。さらに、予測ユニット７５の動き補償ユニット８６は、コード化ユニットの１つまたは複数の単方向ビデオブロックの単方向明示的重み付け予測のためのビデオ復号器によって１つまたは複数の異なる重みを適用する（１０３）。ビデオ復号器７０は、復号化ビデオブロックを表示するディスプレイ（図５に示されない）に復号化ビデオブロックを出力する（１０４）。
【０１０４】
図６は、本開示と一致するビデオ復号器によって実行される例示的なプロセスを説明する別のフローチャートである。図６は、さらに図４のビデオ復号器７０の観点から説明される。図６に示されるように、エントロピー復号化ユニット７２は、明示的重みを含むコード化ユニットを受信する（１１１）。エントロピー復号化ユニット７２は、コードユニットをエントロピー復号化し、ビットストリームからの明示的重みを解析する。予測ユニット７５の動き補償ユニット８６は、コード化ユニットにおける１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のために明示的重みを適用する（１１２）。さらに、予測ユニット７５の動き補償ユニット８６は、コード化ユニットにおいて１つまたは複数の単方向ビデオブロックの単方向明示的重み付け予測のために１つまたは複数のデフォルト重みを適用する（１１３）。デフォルト重みは、エントロピー復号化ユニット７２がシンタックス要素を解析し、予測ユニット７５にデフォルト重みを転送する場合に、コード化ユニットのシンタックス要素に含まれ得る。代替として、デフォルト重みは、シンタックスから除外され、明示的単方向予測のために適用されるようにＭＣユニット８６にあらかじめプログラムされ得る。ビデオ復号器７０は、復号化ビデオブロックを表示する、ディスプレイ（図５に示されない）に復号化ビデオブロックを出力し得る（１１４）。
【０１０５】
図７は、（ＢフレームまたはＢスライスのような）本開示と一致するコード化ユニットを符号化するためにビデオ符号器によって実行される例示的なプロセスを説明するフローチャートである。図７は、図２のビデオ符号器５０の観点から説明される。図７に示されるように、予測ユニット３１の動き補償ユニット３５は、明示的重みに基づいてコード化ユニットの双方向ビデオブロックを符号化する。例えば、動き補償ユニット３５は、Ｂビデオブロックをコーディングすることに関連するレートひずみコストを最小化する双方向重みを選択するためにコード化ユニットのＢビデオブロック上のレートひずみ分析を実行し得る。
【０１０６】
予測ユニット３１の動き補償ユニット３５は、異なる重みに基づいてコード化ユニットの単方向ビデオブロックをさらに符号化する（１２２）。例えば、動き補償ユニット３５は、デフォルト重みに基づいてコード化ユニットのＰビデオブロックの符号化を実行し得る。この場合、Ｂビデオブロックのために適用された明示的重みは、Ｐビデオブロックのために使用されない。代わりに、Ｐビデオブロックは、（デフォルト重みのような）予測データに異なる重みを適用することによって符号化される。Ｂビデオブロック（および場合によりＰビデオブロックを符号化するのに使用される他の重み）を符号化するのに使用される明示的重みは、予測ユニット３１からエントロピー符号化ユニット４６へ転送され得る。加算器４８からの符号化ビデオブロック（例えばＰビデオブロックおよびＢビデオブロックのための残差ブロック）出力は、ユニット３８によって変形され、エントロピー符号化ユニット４６に送られる前にユニット４０によって量子化され得る。
【０１０７】
エントロピー符号化ユニット４６は、コード化ユニットのシンタックス要素への重みを符号化する。特に、エントロピー符号化ユニット４６は、ビデオブロックの量子化係数および変形係数をエントロピー符号化し、コード化ユニットのシンタックス要素内の符号化として使用される重みを符号化し得る。この場合、Ｂビデオブロックのために適用された明示的重みは、ビデオ復号器によってアプリケーションのためにコード化ユニットに符号化される。Ｐビデオブロックのために適用される他の重みは、ビットストリームに含まれる（例えば符号化される）、あるいは場合によりビットストリームから除外される。例えば、Ｐビデオブロックのために適用されたデフォルト重みは、Ｐビデオブロックへのアプリケーションのための明示的重みに含まれる（例えば、デフォルト重みは、明示的単方向重みとして符号化され得る）、あるいは代替として、Ｐビデオブロックのために適用されたデフォルト重みは、符号化ユニットから除外され、復号器で既知であり得る。そのため、そのような重みは、ビットストリーム内に送られる必要がない。
【０１０８】
この符号化の後、コード化ユニットは、エントロピー符号化ユニット４６から送信機（例えば図１の送信機２４）に送られ得る。その後、送信機２４は、ワイヤレス通信技法またはデータ通信の別の方法を使用して、別のデバイス（１２４）に符号化ビデオデータを送信することができる。
【０１０９】
本開示の技法は、ワイヤレスハンドセットおよび集積回路（ＩＣ）またはＩＣのセット（すなわち、チップセット）を含む、多種多様なデバイスまたは装置において実施され得る。機能的態様を強調するために与えられた任意の構成要素、モジュールまたはユニットについて説明したが、異なるハードウェアユニットによる実現を必ずしも必要とするわけではない。本明細書で説明した技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せでも実装され得る。モジュール、ユニットまたは構成要素として説明した特徴は、集積論理デバイスにおいて一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。場合によっては、様々な特徴は、集積回路チップまたはチップセットなどの集積回路デバイスとして実装され得る。
【０１１０】
ソフトウェアで実装する場合、これらの技法は、少なくとも部分的に、プロセッサで実行されると、上記で説明した方法の１つまたは複数を実行する命令を備えるコンピュータ可読媒体によって実現され得る。コンピュータ可読媒体は、コンピュータ可読記憶媒体を備え得、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読記憶媒体は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気または光学データ記憶媒体などを備え得る。本技法は、追加または代替として、少なくとも部分的に、命令またはデータ構造の形態でコードを搬送または通信し、コンピュータによってアクセス、読取り、および／または実行され得るコンピュータ可読通信媒体によって実現され得る。
【０１１１】
コードまたは命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号化のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、あるいは複合ビデオコーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１１２】
本開示はまた、本開示で説明した技法の１つまたは複数を実装する回路を含む様々な集積回路デバイスのいずれかを企図する。そのような回路は、単一の集積回路チップ、またはいわゆるチップセット中の複数の相互運用可能な集積回路チップで提供され得る。そのような集積回路デバイスは様々な適用例において使用され得、適用例のいくつかは携帯電話ハンドセットなどのワイヤレス通信デバイスでの使用を含み得る。
【０１１３】
本発明の様々な実施形態について説明した。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
以下に本願出願の当初の特許請求の範囲について記載された発明を付記する。
［Ｃ１］
ビデオ復号器でビデオデータを復号化するための方法であって、
前記ビデオ復号器でコード化ユニットを受信することと、ここにおいて、前記コード化ユニットは、前記コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示すシンタックス要素を含む、
前記コード化ユニットの１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のために前記ビデオ復号器によって前記明示的重みを適用することと、
前記コード化ユニットの１つまたは複数の単方向ビデオブロックの単方向明示的重み付け予測のために前記ビデオ復号器によって１つまたは複数の異なる重みを適用することと
を備える、方法。
［Ｃ２］
前記明示的重みは、双方向明示的重みを備え、前記１つまたは複数の異なる重みは、単方向明示的重みを備え、
前記方法は、
前記コード化ユニットの前記単方向明示的重みを受信することをさらに備える、
［Ｃ１］方法。
［Ｃ３］
前記１つまたは複数の異なる重みは、１つまたは複数のデフォルト重みである、
［Ｃ１］方法。
［Ｃ４］
前記デフォルト重みは、前記ビデオ復号器で定義され、前記コード化ユニットの前記シンタックス要素に含まれない、
［Ｃ３］方法。
［Ｃ５］
前記デフォルト重みは、前記コード化ユニットの前記シンタックス要素に含まれる、
［Ｃ３］方法。
［Ｃ６］
明示的重みを含まない別のコード化ユニットを受信することと、
前記別のコード化ユニットの１つまたは複数のビデオブロックの暗黙的重み付け予測のために１つまたは複数の暗黙的重みを生成し、適用することと
をさらに備える、［Ｃ１］方法。
［Ｃ７］
ビデオ符号器のビデオデータを符号化するための方法であって、
前記ビデオ符号器でコード化ユニットを符号化することと、前記コード化ユニットは、前記コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示すシンタックス要素を含む、
前記明示的重みに基づいて前記コード化ユニットの１つまたは複数の双方向ビデオブロックを前記ビデオ符号器によって符号化することと、
１つまたは複数のことなる重みに基づいて前記コード化ユニットの１つまたは複数の単方向ビデオブロックを前記ビデオ符号器によって符号化することと
を備える、方法。
［Ｃ８］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、単方向明示的重みを備え、前記シンタックス要素は、前記単方向明示的重みを含む、
［Ｃ７］方法。
［Ｃ９］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含む、
［Ｃ７］方法。
［Ｃ１０］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含まない、
［Ｃ７］方法。
［Ｃ１１］
コード化ユニットを受信し、前記コード化ユニットの１つまたは複数のシンタックス要素をエントロピー復号化する、エントロピーユニットと、ここにおいて、前記シンタックス要素は、前記コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示す、
前記コード化ユニットの１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のために前記明示的重みを適用し、前記コード化ユニットの１つまたは複数の単方向ビデオブロックの単方向明示的重み付け予測のために１つまたは複数の異なる重みを適用する、予測ユニットと
を備えるビデオ復号化装置。
［Ｃ１２］
前記明示的重みは、双方向明示的重みを備え、前記１つまたは複数の異なる重みは、単方向明示的重みを備え、前記シンタックス要素は、前記単方向明示的重みを含む、
［Ｃ１１］ビデオ復号化装置。
［Ｃ１３］
前記１つまたは複数の異なる重みは、１つまたは複数のデフォルト重みである、
［Ｃ１１］ビデオ復号化装置。
［Ｃ１４］
前記デフォルト重みは、前記ビデオ復号器で定義され、前記コード化ユニットの前記シンタックス要素に含まれない、
［Ｃ１３］ビデオ復号化装置。
［Ｃ１５］
前記デフォルト重みは、前記コード化ユニットの前記シンタックス要素に含まれる、
［Ｃ１３］ビデオ復号化装置。
［Ｃ１６］
前記エントロピーユニットは、明示的重みを含まない別のコード化ユニットを受信し、
前記予測ユニットは、前記別のコード化ユニットの１つまたは複数のビデオブロックの暗黙的重み付け予測のために１つまたは複数の暗黙的重みを生成し、適用する、
［Ｃ１１］ビデオ復号化装置。
［Ｃ１７］
前記ビデオ復号化装置は、集積回路を備える、
［Ｃ１１］ビデオ復号化装置。
［Ｃ１８］
前記ビデオ復号化装置は、マイクロプロセッサを備える、
［Ｃ１１］ビデオ復号化装置。
［Ｃ１９］
前記ビデオ復号化装置は、ビデオ復号器を含むワイヤレス通信デバイスを備える、
［Ｃ１１］ビデオ復号化装置。
［Ｃ２０］
ビデオデータを符号化するビデオ符号化装置であって、
前記ビデオデータおよび前記ビデオデータを予測的に符号化するように使用される２つ以上のデータのリストを格納するメモリと、
予測ユニットと
を備え、前記予測ユニットは、
コード化ユニットを符号化し、ここにおいて、前記符号化ユニットは、前記コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間適用される明示的重みを示すシンタックス要素を含む、
前記明示的重みに基づいて前記コード化ユニットの１つまたは複数の双方向ビデオブロックを符号化し、
１つまたは複数のことなる重みに基づいて前記コード化ユニットの１つまたは複数の単方向ビデオブロックを符号化する、
ビデオ符号化装置。
［Ｃ２１］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、単方向明示的重みを備え、前記シンタックス要素は、前記単方向明示的重みを含む、
［Ｃ２０］ビデオ符号化装置。
［Ｃ２２］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含む、
［Ｃ２０］ビデオ符号化装置。
［Ｃ２３］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含まない、
［Ｃ２０］ビデオ符号化装置。
［Ｃ２４］
前記ビデオ符号化装置は、集積回路を備える、
［Ｃ２０］ビデオ符号化装置。
［Ｃ２５］
前記ビデオ符号化装置は、マイクロプロセッサを備える、
［Ｃ２０］ビデオ符号化装置。
［Ｃ２６］
前記ビデオ符号化装置は、ワイヤレス通信装置を備える、
［Ｃ２０］ビデオ符号化装置。
［Ｃ２７］
ビデオ復号器でビデオデータを復号化するデバイスであって
コード化ユニットを受信するための手段と、ここにおいて、前記コード化ユニットは、前記コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示すシンタックス要素を含む、
前記コード化ユニットの１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のために前記明示的重みを適用するための手段と、
前記コード化ユニットの１つまたは複数の単方向ビデオブロックの単方向明示的重み付け予測のために１つまたは複数の異なる重みを適用するための手段と
を備える、デバイス。
［Ｃ２８］
前記明示的重みは、双方向明示的重みを備え、前記１つまたは複数の異なる重みは、単方向明示的重みを備え、
前記デバイスは、
前記コード化ユニットの前記単方向明示的重みを受信するための手段をさらに備える、
［Ｃ２７］デバイス。
［Ｃ２９］
前記１つまたは複数の異なる重みは、１つまたは複数のデフォルト重みである、
［Ｃ２７］デバイス。
［Ｃ３０］
前記デフォルト重みは、前記ビデオ復号器で定義され、前記コード化ユニットの前記シンタックス要素に含まれない、
［Ｃ２９］デバイス。
［Ｃ３１］
前記デフォルト重みは、前記コード化ユニットの前記シンタックス要素に含まれる、
［Ｃ２９］デバイス。
［Ｃ３２］
前記明示的重みを含まない別のコード化ユニットを受信するための手段と、
１つまたは複数の暗黙的重みを生成するための手段と、
前記別のコード化ユニットの１つまたは複数のビデオブロックの暗黙的重み付け予測のために前記１つまたは複数の暗黙的重みを適用するための手段と
をさらに備える、［Ｃ２９］デバイス。
［Ｃ３３］
ビデオデータを符号化するためのデバイスであって、
コード化ユニットを符号化するための手段と、前記コード化ユニットは、前記コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示すシンタックス要素を含む、
前記明示的重みに基づいて前記コード化ユニットの１つまたは複数の双方向ビデオブロックを符号化するための手段と、
１つまたは複数のことなる重みに基づいて前記コード化ユニットの１つまたは複数の単方向ビデオブロックを符号化するための手段と
を備える、デバイス。
［Ｃ３４］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、単方向明示的重みを備え、前記シンタックス要素は、前記単方向明示的重みを含む、
［Ｃ３３］デバイス。
［Ｃ３５］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含む、
［Ｃ３３］デバイス。
［Ｃ３６］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含まない、
［Ｃ３３］デバイス。
［Ｃ３７］
実行されると、ビデオデータを復号化することをプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体であって、
コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示すシンタックス要素を含む前記コード化ユニットを受信した後、前記命令は
前記コード化ユニットの１つまたは複数の双方向ビデオブロックの双方向明示的重み付け予測のために前記明示的重みを適用することと、
前記コード化ユニットの１つまたは複数の単方向ビデオブロックの単方向明示的重み付け予測のために１つまたは複数の異なる重みを適用することと
を前記プロセッサに行わせる、コンピュータ可読記憶媒体。
［Ｃ３８］
前記明示的重みは、双方向明示的重みを備え、前記１つまたは複数の異なる重みは、前記コード化ユニットで受信した単方向明示的重みを備える、
［Ｃ３７］コンピュータ可読記憶媒体。
［Ｃ３９］
前記１つまたは複数の異なる重みは、１つまたは複数のデフォルト重みである、
［Ｃ３７］コンピュータ可読記憶媒体。
［Ｃ４０］
前記デフォルト重みは、あらかじめ定義され、前記コード化ユニットの前記シンタックス要素に含まれない、
［Ｃ３９］コンピュータ可読記憶媒体。
［Ｃ４１］
前記デフォルト重みは、前記コード化ユニットの前記シンタックス要素に含まれる、
［Ｃ３９］コンピュータ可読記憶媒体。
［Ｃ４２］
明示的重みを含まない別のコード化ユニットを受信したのち、前記別のコード化ユニットの１つまたは複数のビデオブロックの暗黙的重み付け予測のために１つまたは複数の暗黙的重みを生成し、適用することを前記プロセッサに行わせる命令をさらに備える、
［Ｃ３７］コンピュータ可読記憶媒体。
［Ｃ４３］
実行されると、ビデオデータを符号化することをプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体であって、前記命令は、
コード化ユニットの１つまたは複数のビデオブロックの明示的重み付け予測の間に適用される明示的重みを示すシンタックス要素を含む前記コード化ユニットを符号化することと、
前記明示的重みに基づいて前記コード化ユニットの１つまたは複数の双方向ビデオブロックを符号化することと、
１つまたは複数のことなる重みに基づいて前記コード化ユニットの１つまたは複数の単方向ビデオブロックを符号化することと
を前記プロセッサに行わせる、コンピュータ可読記憶媒体。
［Ｃ４４］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、単方向明示的重みを備え、前記シンタックス要素は、前記単方向明示的重みを含む、
［Ｃ４３］コンピュータ可読記憶媒体。
［Ｃ４５］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含む、
［Ｃ４３］コンピュータ可読記憶媒体。
［Ｃ４６］
前記明示的重みは、双方向明示的重みを備え、前記異なる重みは、デフォルト重みを備え、前記シンタックス要素は、前記デフォルト重みを含まない、
［Ｃ４３］コンピュータ可読記憶媒体。
【図１】
0005497169.tif 000013
【図２】
0005497169.tif 000014
【図３】
0005497169.tif 000015
【図４】
0005497169.tif 000016
【図５】
0005497169.tif 000017
【図６】
0005497169.tif 000018
【図７】
0005497169.tif 000019