(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定することと、
前記現在のサブブロックのコード化サブブロックフラグが、前記現在のサブブロックが少なくとも１つの０ではない変換係数を含むことを示すと決定することと、
前記現在のサブブロックの前記コード化サブブロックフラグが、前記現在のサブブロックが前記少なくとも１つの０ではない変換係数を含むことを示すとの前記決定に応答して、前記現在のサブブロックの前記少なくとも１つの０ではない変換係数のうちの１つ以上のシンタックス要素をエントロピー復号するためのコンテキストを決定するように、前記隣接サブブロックの前記コード化サブブロックフラグの前記値を使用することと、ここにおいて、前記値を使用することが、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第１のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第１のコンテキストを決定することと、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第２のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第２のコンテキストを決定することと、前記第１のコンテキストが前記第２のコンテキストとは異なり、前記値の第１のセットが前記値の第２のセットとは異なる、
を備える、
決定された前記コンテキストを使用して、個々の変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号することと
を備える、方法。
【請求項２】
前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、請求項１に記載の方法。
【請求項３】
前記コンテキストを決定することが、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算することと、計算された前記合計を使用して前記コンテキストを決定することとを備える、請求項２に記載の方法。
【請求項４】
前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、請求項１に記載の方法。
【請求項５】
前記サブブロックの各々が変換係数のそれぞれの４×４のブロックに対応し、前記コード化サブブロックフラグが、前記それぞれの４×４のブロック中の前記変換係数の少なくとも１つが０ではない値を有するかどうかを示す、請求項１に記載の方法。
【請求項６】
前記現在のサブブロックが４×４の画素というサイズを有し、前記現在のサブブロックが４×４画素よりも大きなサイズを有する現在の変換単位内にある、請求項１に記載の方法。
【請求項７】
前記コンテキストを決定することがさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を復号するための前記コンテキストを決定することを備える、請求項１に記載の方法。
【請求項８】
前記変換係数をエントロピー復号することが、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー復号することを備える、請求項１に記載の方法。
【請求項９】
ビデオデータを復号するための装置であって、前記装置は、
ビデオデータを記憶するように構成されたメモリと、
ビデオデコーダと、を備え、
前記ビデオデコーダが、
前記ビデオデータの現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定することと、
前記現在のサブブロックのコード化サブブロックフラグが、前記現在のサブブロックが少なくとも１つの０ではない変換係数を含むことを示すと決定することと、
前記現在のサブブロックの前記コード化サブブロックフラグが、前記現在のサブブロックが前記少なくとも１つの０ではない変換係数を含むことを示すとの前記決定に応答して、前記現在のサブブロックの前記少なくとも１つの０ではない変換係数のうちの１つ以上のシンタックス要素をエントロピー復号するためのコンテキストを決定するように、前記隣接サブブロックの前記コード化サブブロックフラグの前記値を使用することと、ここにおいて、前記ビデオデコーダが、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第１のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第１のコンテキストを決定することと、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第２のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第２のコンテキストを決定することと、前記第１のコンテキストが前記第２のコンテキストとは異なり、前記値の第１のセットが前記値の第２のセットとは異なる、
を行うように構成される、
決定された前記コンテキストを使用して、個々の変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号することと
を行うように構成される、
装置。
【請求項１０】
前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、請求項９に記載の装置。
【請求項１１】
前記コンテキストを決定するために、前記ビデオデコーダが、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算し、計算された前記合計を使用して前記コンテキストを決定するように構成される、請求項１０に記載の装置。
【請求項１２】
前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、請求項９に記載の装置。
【請求項１３】
前記ビデオデコーダがさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を復号するための前記コンテキストを決定するように構成される、請求項９に記載の装置。
【請求項１４】
前記ビデオデコーダが、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー復号するように構成される、請求項９に記載の装置。
【請求項１５】
ビデオデータを復号するための装置であって、
現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定するための手段と、
前記現在のサブブロックのコード化サブブロックフラグが、前記現在のサブブロックが少なくとも１つの０ではない変換係数を含むことを示すと決定するための手段と、
前記現在のサブブロックの前記コード化サブブロックフラグが、前記現在のサブブロックが前記少なくとも１つの０ではない変換係数を含むことを示すとの前記決定に応答して、前記現在のサブブロックの前記少なくとも１つの０ではない変換係数のうちの１つ以上のシンタックス要素をエントロピー復号するためのコンテキストを決定するように、前記隣接サブブロックの前記コード化サブブロックフラグの前記値を使用するための手段と、ここにおいて、前記値を使用するための手段が、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第１のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第１のコンテキストを決定するための手段と、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第２のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第２のコンテキストを決定するための手段と、前記第１のコンテキストが前記第２のコンテキストとは異なり、前記値の第１のセットが前記値の第２のセットとは異なる、
を備える、
決定された前記コンテキストを使用して、個々の変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための手段と
を備える、装置。
【請求項１６】
前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、請求項１５に記載の装置。
【請求項１７】
前記コンテキストを決定するための前記手段が、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算するための手段と、計算された前記合計を使用して前記コンテキストを決定するための手段とを備える、請求項１６に記載の装置。
【請求項１８】
前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、請求項１５に記載の装置。
【請求項１９】
前記コンテキストを決定するための前記手段がさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を復号するための前記コンテキストを決定するための手段を備える、請求項１５に記載の装置。
【請求項２０】
前記変換係数をエントロピー復号するための前記手段が、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー復号するための手段を備える、請求項１５に記載の装置。
【請求項２１】
命令を記憶したコンピュータ可読記憶媒体であって、前記命令が、実行されると、プロセッサに、
現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定することと、
前記現在のサブブロックのコード化サブブロックフラグが、前記現在のサブブロックが少なくとも１つの０ではない変換係数を含むことを示すと決定することと、
前記現在のサブブロックの前記コード化サブブロックフラグが、前記現在のサブブロックが前記少なくとも１つの０ではない変換係数を含むことを示すとの前記決定に応答して、前記現在のサブブロックの前記少なくとも１つの０ではない変換係数のうちの１つ以上のシンタックス要素をエントロピー復号するためのコンテキストを決定するように、前記隣接サブブロックの前記コード化サブブロックフラグの前記値を使用することと、ここにおいて、前記プロセッサに前記値を使用させる前記命令が、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第１のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第１のコンテキストを決定することと、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第２のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第２のコンテキストを決定することと、前記第１のコンテキストが前記第２のコンテキストとは異なり、前記値の第１のセットが前記値の第２のセットとは異なる、
を前記プロセッサに行わせる命令を備える、
決定された前記コンテキストを使用して、個々の変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号することと
を行わせる、コンピュータ可読記憶媒体。
【請求項２２】
ビデオデータを符号化する方法であって、
現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定することと、
前記現在のサブブロックが少なくとも１つの０ではない変換係数を含むことを示す前記現在のサブブロックのコード化サブブロックフラグの値を符号化することと、
前記少なくとも１つの０ではない変換係数を含む前記現在のサブブロックに応答して、前記現在のサブブロックの前記少なくとも１つの０ではない変換係数のうちの１つ以上のシンタックス要素をエントロピー符号化するためのコンテキストを決定するように、前記隣接サブブロックの前記コード化サブブロックフラグの前記値を使用することと、ここにおいて、前記値を使用することが、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第１のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第１のコンテキストを決定することと、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第２のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第２のコンテキストを決定することと、前記第１のコンテキストが前記第２のコンテキストとは異なり、前記値の第１のセットが前記値の第２のセットとは異なる、
を備える、
決定された前記コンテキストを使用して、個々の変換係数のうちの前記１つ以上のシンタックス要素をエントロピー符号化することと
を備える、方法。
【請求項２３】
前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、請求項２２に記載の方法。
【請求項２４】
前記コンテキストを決定することが、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算することと、計算された前記合計を使用して前記コンテキストを決定することとを備える、請求項２３に記載の方法。
【請求項２５】
前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、請求項２２に記載の方法。
【請求項２６】
前記サブブロックの各々が変換係数のそれぞれの４×４のブロックに対応し、前記コード化サブブロックフラグが、前記それぞれの４×４のブロック中の前記変換係数の少なくとも１つが０ではない値を有するかどうかを示す、請求項２２に記載の方法。
【請求項２７】
前記現在のサブブロックが４×４の画素というサイズを有し、前記現在のサブブロックが４×４画素よりも大きなサイズを有する現在の変換単位内にある、請求項２２に記載の方法。
【請求項２８】
前記コンテキストを決定することがさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を符号化するための前記コンテキストを決定することを備える、請求項２２に記載の方法。
【請求項２９】
前記変換係数をエントロピー符号化することが、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー符号化することを備える、請求項２２に記載の方法。
【請求項３０】
ビデオデータを符号化するための装置であって、前記装置は、
ビデオデータを記憶するように構成されたメモリと、
ビデオエンコーダとを備え、
前記ビデオエンコーダが、
前記ビデオデータの現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定することと、
前記現在のサブブロックが少なくとも１つの０ではない変換係数を含むことを示す前記現在のサブブロックのコード化サブブロックフラグの値を符号化することと、
前記少なくとも１つの０ではない変換係数を含む前記現在のサブブロックに応答して、前記現在のサブブロックの前記少なくとも１つの０ではない変換係数のうちの１つ以上のシンタックス要素をエントロピー符号化するためのコンテキストを決定するように、前記隣接サブブロックの前記コード化サブブロックフラグの前記値を使用することと、ここにおいて、前記ビデオエンコーダが、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第１のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第１のコンテキストを決定することと、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第２のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第２のコンテキストを決定することと、前記第１のコンテキストが前記第２のコンテキストとは異なり、前記値の第１のセットが前記値の第２のセットとは異なる、
を行うように構成される、
決定された前記コンテキストを使用して、個々の変換係数のうちの前記１つ以上のシンタックス要素をエントロピー符号化することと
を行うように構成される、
装置。
【請求項３１】
前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、請求項３０に記載の装置。
【請求項３２】
前記コンテキストを決定するために、前記ビデオエンコーダが、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算し、計算された前記合計を使用して前記コンテキストを決定するように構成される、請求項３１に記載の装置。
【請求項３３】
前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、請求項３０に記載の装置。
【請求項３４】
前記ビデオエンコーダがさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を復号するための前記コンテキストを決定するように構成される、請求項３０に記載の装置。
【請求項３５】
前記ビデオエンコーダが、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー符号化するように構成される、請求項３０に記載の装置。
【請求項３６】
ビデオデータを符号化するための装置であって、
現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定するための手段と、
前記現在のサブブロックが少なくとも１つの０ではない変換係数を含むことを示す前記現在のサブブロックのコード化サブブロックフラグの値を符号化するための手段と、
前記少なくとも１つの０ではない変換係数を含む前記現在のサブブロックに応答して、前記現在のサブブロックの前記少なくとも１つの０ではない変換係数のうちの１つ以上のシンタックス要素をエントロピー符号化するためのコンテキストを決定するように、前記隣接サブブロックの前記コード化サブブロックフラグの前記値を使用するための手段と、ここにおいて、使用するための前記手段が、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第１のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第１のコンテキストを決定するための手段と、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第２のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第２のコンテキストを決定するための手段と、前記第１のコンテキストが前記第２のコンテキストとは異なり、前記値の第１のセットが前記値の第２のセットとは異なる、
を備える、
決定された前記コンテキストを使用して、個々の変換係数のうちの前記１つ以上のシンタックス要素をエントロピー符号化するための手段と
を備える、装置。
【請求項３７】
前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、請求項３６に記載の装置。
【請求項３８】
前記コンテキストを決定するための前記手段が、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算するための手段と、計算された前記合計を使用して前記コンテキストを決定するための手段とを備える、請求項３７に記載の装置。
【請求項３９】
前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、請求項３６に記載の装置。
【請求項４０】
前記コンテキストを決定するための前記手段がさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を符号化するための前記コンテキストを決定するための手段を備える、請求項３６に記載の装置。
【請求項４１】
前記変換係数をエントロピー符号化するための前記手段が、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー符号化するための手段を備える、請求項３６に記載の装置。
【請求項４２】
命令を記憶したコンピュータ可読記憶媒体であって、前記命令が、実行されると、プロセッサに、
現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定することと、
前記現在のサブブロックが少なくとも１つの０ではない変換係数を含むことを示す前記現在のサブブロックの前記コード化サブブロックフラグを符号化することと、
前記少なくとも１つの０ではない変換係数を含む前記現在のサブブロックに応答して、前記現在のサブブロックの前記少なくとも１つの０ではない変換係数のうちの１つ以上のシンタックス要素をエントロピー符号化するためのコンテキストを決定するように、前記隣接サブブロックの前記コード化サブブロックフラグの前記値を使用することと、ここにおいて、前記プロセッサに前記値を使用させる前記命令が、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第１のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第１のコンテキストを決定することと、
前記隣接サブブロックの前記コード化サブブロックフラグの前記値が値の第２のセットを有するとき、前記少なくとも１つの０ではない変換係数のうちの前記１つ以上のシンタックス要素をエントロピー復号するための第２のコンテキストを決定することと、前記第１のコンテキストが前記第２のコンテキストとは異なり、前記値の第１のセットが前記値の第２のセットとは異なる、
を前記プロセッサに行わせる命令を備える、
決定された前記コンテキストを使用して、個々の変換係数のうちの前記１つ以上のシンタックス要素をエントロピー符号化することと
を行わせる、コンピュータ可読記憶媒体。
【請求項４３】
前記１つ以上のシンタックス要素が、前記個々の変換係数がゼロではない値を有するかどうかを示す前記個々の変換係数の有意係数フラグを備える、請求項１に記載の方法。
【請求項４４】
前記方法が、ワイヤレス通信装置で実行可能であり、ここにおいて、前記ワイヤレス通信装置が、
前記コード化サブブロックフラグ、前記隣接サブブロック、および前記現在のブロックを含むビデオデータを記憶するように構成されたメモリと、
前記メモリ内に記憶された前記ビデオデータを処理するための命令を実行するように構成されたプロセッサと、
前記ビデオデータを受信するように構成された受信機と
を備える、請求項１に記載の方法。
【請求項４５】
前記ワイヤレス通信装置が、セルラフォンであり、前記ビデオデータが、送信機によって受信され、セルラ通信規格に従って変調される、請求項４４に記載の方法。
【請求項４６】
前記１つ以上のシンタックス要素が、前記個々の変換係数がゼロではない値を有するかどうかを示す前記個々の変換係数の有意係数フラグを備える、請求項９に記載の装置。
【請求項４７】
前記装置が、ワイヤレス通信装置であり、前記ビデオデータを受信するように構成された受信機をさらに備える、請求項９に記載の装置。
【請求項４８】
前記ワイヤレス通信装置が、セルラフォンであり、前記ビデオデータは、前記受信機によって受信され、セルラ通信規格に従って変調される、請求項４７に記載の装置。
【請求項４９】
前記１つ以上のシンタックス要素が、前記個々の変換係数がゼロではない値を有するかどうかを示す前記個々の変換係数の有意係数フラグを備える、請求項１５に記載の装置。
【請求項５０】
前記１つ以上のシンタックス要素が、前記個々の変換係数がゼロではない値を有するかどうかを示す前記個々の変換係数の有意係数フラグを備える、請求項２２に記載の方法。
【請求項５１】
前記１つ以上のシンタックス要素が、前記個々の変換係数がゼロではない値を有するかどうかを示す前記個々の変換係数の有意係数フラグを備える、請求項３０に記載の装置。
【請求項５２】
前記１つ以上のシンタックス要素が、前記個々の変換係数がゼロではない値を有するかどうかを示す前記個々の変換係数の有意係数フラグを備える、請求項３６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その各々の全体が参照により本明細書に組み込まれる、２０１２年１月１３日に出願された米国仮出願第６１／５８６，６６８号、２０１２年１月１９日に出願された米国仮出願第６１／５８８，５９５号、及び２０１２年２月９日に出願された米国仮出願第６１／５９７，０９７号の利益を主張する。
【０００２】
本開示は、ビデオコード化に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー又は衛星無線電話、所謂「スマートフォン」、ビデオ遠隔会議機器、ビデオストリーミング機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、現在開発中のＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法のような、ビデオ圧縮技法を実装する。ビデオ機器は、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び／又は記憶し得る。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的（イントラピクチャ）予測及び／又は時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコード化では、ビデオスライス（即ち、ビデオフレーム又はビデオフレームの一部）はビデオブロックに区分されてよく、これらのビデオブロックは、ツリーブロック、コード化単位（ＣＵ）及び／又はコード化ノードと呼ばれることもある。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（Ｐ又はＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、又は他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
空間的予測又は時間的予測は、コード化されるべきブロックの予測ブロックをもたらす。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換されて残差変換係数をもたらすことができ、次いで、その残差変換係数が量子化されてよい。最初に２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査されてよく、更なる圧縮を達成するためにエントロピーコード化が適用されてよい。
【発明の概要】
【０００６】
全般に、本開示は、例えば、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して、ビデオデータのエントロピーコード化のためのコンテキストを決定することに関する技法を説明する。ＣＡＢＡＣコード化は一般に、様々なシンタックス要素のバイナリ化された表現をコード化するときに、コンテキストの決定を伴う。シンタックス要素の例は、変換係数が有意かどうかを示すデータ、有意な変換係数の符号、及び有意な変換係数のレベル値のような、変換係数のデータを含む。変換係数は一般に、変換単位（ＴＵ）のような変換ブロックの係数に対応する。本開示は、変換係数が存在する変換ブロックの領域に基づいて、変換係数をコード化するためのコンテキストを決定するための技法を説明する。
【０００７】
一例では、ビデオデータをコード化する方法は、変換係数が存在するビデオブロックの領域に基づいてビデオブロックの変換係数をコード化するためのコンテキストを決定することと、決定されたコンテキストを使用して変換係数をエントロピーコード化することとを含む。
【０００８】
別の例では、ビデオデータをコード化するための機器は、変換係数が存在するビデオブロックの領域に基づいてビデオブロックの変換係数をコード化するためのコンテキストを決定し、決定されたコンテキストを使用して変換係数をエントロピーコード化するように構成される、ビデオコーダを含む。
【０００９】
別の例では、ビデオデータをコード化するための機器は、変換係数が存在するビデオブロックの領域に基づいてビデオブロックの変換係数をコード化するためのコンテキストを決定するための手段と、決定されたコンテキストを使用して変換係数をエントロピーコード化するための手段とを含む。
【００１０】
別の例では、コンピュータ可読記憶媒体は、実行されると、プロセッサに、変換係数が存在するビデオブロックの領域に基づいてビデオブロックの変換係数をコード化するためのコンテキストを決定させ、決定されたコンテキストを使用して変換係数をエントロピーコード化させる、命令を記憶している。
【００１１】
別の例では、ビデオデータを復号する方法は、ビデオブロックの変換係数がＤＣ変換係数かどうかを決定することと、変換係数がビデオブロックのＤＣ変換係数であると決定された場合、ビデオブロックのサイズとは無関係に、ＤＣ変換係数である変換係数に基づいて変換係数を復号するためのコンテキストを決定することと、決定されたコンテキストを使用して変換係数をエントロピー復号することとを含む。
【００１２】
別の例では、ビデオデータを復号するための機器は、ビデオブロックの変換係数がＤＣ変換係数かどうかを決定し、変換係数がビデオブロックのＤＣ変換係数であると決定された場合、ビデオブロックのサイズとは無関係に、ＤＣ変換係数である変換係数に基づいて変換係数を復号するためのコンテキストを決定し、決定されたコンテキストを使用して変換係数をエントロピー復号するように構成される、ビデオデコーダを含む。
【００１３】
別の例では、ビデオデータを復号するための機器は、ビデオブロックの変換係数がＤＣ変換係数かどうかを決定するための手段と、変換係数がビデオブロックのＤＣ変換係数であると決定された場合、ビデオブロックのサイズとは無関係に、ＤＣ変換係数である変換係数に基づいて変換係数を復号するためのコンテキストを決定するための手段と、決定されたコンテキストを使用して変換係数をエントロピー復号するための手段とを含む。
【００１４】
別の例では、コンピュータ可読記憶媒体は、実行されると、プロセッサに、ビデオブロックの変換係数がＤＣ変換係数かどうかを決定させ、変換係数がビデオブロックのＤＣ変換係数であると決定された場合、ビデオブロックのサイズとは無関係に、ＤＣ変換係数である変換係数に基づいて変換係数を復号するためのコンテキストを決定させ、決定されたコンテキストを使用して変換係数をエントロピー復号させる、命令を記憶している。
【００１５】
別の例では、ビデオデータを符号化する方法は、ビデオブロックの変換係数がＤＣ変換係数かどうかを決定することと、変換係数がビデオブロックのＤＣ変換係数であると決定された場合、ビデオブロックのサイズとは無関係に、ＤＣ変換係数である変換係数に基づいて変換係数を符号化するためのコンテキストを決定することと、決定されたコンテキストを使用して変換係数をエントロピー符号化することとを含む。
【００１６】
別の例では、ビデオデータを符号化するための機器は、ビデオブロックの変換係数がＤＣ変換係数かどうかを決定し、変換係数がビデオブロックのＤＣ変換係数であると決定された場合、ビデオブロックのサイズとは無関係に、ＤＣ変換係数である変換係数に基づいて変換係数を符号化するためのコンテキストを決定し、決定されたコンテキストを使用して変換係数をエントロピー符号化するように構成される、ビデオエンコーダを含む。
【００１７】
別の例では、ビデオデータを符号化するための機器は、ビデオブロックの変換係数がＤＣ変換係数かどうかを決定するための手段と、変換係数がビデオブロックのＤＣ変換係数であると決定された場合、ビデオブロックのサイズとは無関係に、ＤＣ変換係数である変換係数に基づいて変換係数を符号化するためのコンテキストを決定するための手段と、決定されたコンテキストを使用して変換係数をエントロピー符号化するための手段とを含む。
【００１８】
別の例では、コンピュータ可読記憶媒体は、実行されると、プロセッサに、ビデオブロックの変換係数がＤＣ変換係数かどうかを決定させ、変換係数がビデオブロックのＤＣ変換係数であると決定された場合、ビデオブロックのサイズとは無関係に、ＤＣ変換係数である変換係数に基づいて変換係数を符号化するためのコンテキストを決定させ、決定されたコンテキストを使用して変換係数をエントロピー符号化させる、命令を記憶している。
【００１９】
別の例では、ビデオデータを復号する方法は、現在のサブブロックに対する１つ又は複数の隣接サブブロックのコード化サブブロックフラグの値を決定することと、コード化サブブロックフラグの値に基づいて現在のサブブロックの変換係数を復号するためのコンテキストを決定することと、決定されたコンテキストを使用して変換係数をエントロピー復号することとを含む。
【００２０】
別の例では、ビデオデータを復号するための機器は、現在のサブブロックに対する１つ又は複数の隣接サブブロックのコード化サブブロックフラグの値を決定し、コード化サブブロックフラグの値に基づいて現在のサブブロックの変換係数を復号するためのコンテキストを決定し、決定されたコンテキストを使用して変換係数をエントロピー復号するように構成される、ビデオデコーダを含む。
【００２１】
別の例では、ビデオデータを復号するための機器は、現在のサブブロックに対する１つ又は複数の隣接サブブロックのコード化サブブロックフラグの値を決定するための手段と、コード化サブブロックフラグの値に基づいて現在のサブブロックの変換係数を復号するためのコンテキストを決定するための手段と、決定されたコンテキストを使用して変換係数をエントロピー復号するための手段とを含む。
【００２２】
別の例では、コンピュータ可読記憶媒体は、実行されると、プロセッサに、現在のサブブロックに対する１つ又は複数の隣接サブブロックのコード化サブブロックフラグの値を決定させ、コード化サブブロックフラグの値に基づいて現在のサブブロックの変換係数を復号するためのコンテキストを決定させ、決定されたコンテキストを使用して変換係数をエントロピー復号させる、命令を記憶している。
【００２３】
別の例では、ビデオデータを符号化する方法は、現在のサブブロックに対する１つ又は複数の隣接サブブロックのコード化サブブロックフラグの値を決定することと、コード化サブブロックフラグの値に基づいて現在のサブブロックの変換係数を符号化するためのコンテキストを決定することと、決定されたコンテキストを使用して変換係数をエントロピー符号化することとを含む。
【００２４】
別の例では、ビデオデータを符号化するための機器は、現在のサブブロックに対する１つ又は複数の隣接サブブロックのコード化サブブロックフラグの値を決定し、コード化サブブロックフラグの値に基づいて現在のサブブロックの変換係数を符号化するためのコンテキストを決定し、決定されたコンテキストを使用して変換係数をエントロピー符号化するように構成される、ビデオエンコーダを含む。
【００２５】
別の例では、ビデオデータを符号化するための機器は、現在のサブブロックに対する１つ又は複数の隣接サブブロックのコード化サブブロックフラグの値を決定するための手段と、コード化サブブロックフラグの値に基づいて現在のサブブロックの変換係数を符号化するためのコンテキストを決定するための手段と、決定されたコンテキストを使用して変換係数をエントロピー符号化するための手段とを含む。
【００２６】
別の例では、コンピュータ可読記憶媒体は、実行されると、プロセッサに、現在のサブブロックに対する１つ又は複数の隣接サブブロックのコード化サブブロックフラグの値を決定させ、コード化サブブロックフラグの値に基づいて現在のサブブロックの変換係数を符号化するためのコンテキストを決定させ、決定されたコンテキストを使用して変換係数をエントロピー符号化させる、命令を記憶している。
【００２７】
１つ又は複数の例の詳細は、添付の図面及び以下の説明に記載されている。他の特徴、目的、及び利点は、その説明及び図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００２８】
【図１】本開示で説明されるインター予測技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。
【図２】本開示で説明されるインター予測技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】本開示で説明されるインター予測技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図４】ビデオブロック中の変換係数とビデオブロックと関連付けられる有意性マップとの関係を示す概念図。
【図５Ａ】ジグザグ走査順序を使用して走査されるビデオデータのブロックの例を示す概念図。
【図５Ｂ】水平走査順序を使用して走査されるビデオデータのブロックの例を示す概念図。
【図５Ｃ】垂直走査順序を使用して走査されるビデオデータのブロックの例を示す概念図。
【図５Ｄ】対角走査順序を使用して走査されるビデオデータのブロックの例を示す概念図。
【図６】変換係数のコード化のためにサブブロックへと分割された例示的なビデオブロックを示す概念図。
【図７】逆方向の対角走査順序を使用して走査されるビデオブロック中の係数の有意性マップのコンテキストモデルを定義するために使用される、例示的な５点サポートを示す概念図。
【図８Ａ】５点サポート内でのコンテキストの依存関係を示す概念図。
【図８Ｂ】５点サポート内でのコンテキストの依存関係を示す概念図。
【図９Ａ】２つ以上の領域へのビデオブロックの例示的な分割を示す概念図。
【図９Ｂ】２つ以上の領域へのビデオブロックの例示的な分割を示す概念図。
【図１０】ビデオブロックの各領域の近隣ベースのコンテキスト又は位置ベースのコンテキストの例示的な割当てを示す概念図。
【図１１】ビデオブロックの各領域のコンテキストオフセットの例示的な割当てを示す概念図。
【図１２】既存のコンテキストモデルに相関するＴＵサイズに基づく、２つ以上の領域へのビデオブロックの例示的な埋込型の分割を示す概念図。
【図１３Ａ】２つ以上の領域へのビデオブロックの例示的な分割を示す概念図。
【図１３Ｂ】２つ以上の領域へのビデオブロックの例示的な分割を示す概念図。
【図１４Ａ】ビデオブロックの各領域のコンテキストオフセットの例示的な割当てを示す概念図。
【図１４Ｂ】ビデオブロックの各領域のコンテキストオフセットの例示的な割当てを示す概念図。
【図１５】現在のブロックを符号化するための例示的な方法を示すフローチャート。
【図１６】ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００２９】
全般に、本開示は、例えば、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して、ビデオデータをエントロピーコード化するためのコンテキストを決定することに関する技法を説明する。ＣＡＢＡＣコード化は一般に、様々なシンタックス要素のバイナリ化された表現をコード化するときに、コンテキストの決定を伴う。シンタックス要素は、例えば、変換係数が有意かどうかを示すデータ、有意な変換係数の符号、及び有意な変換係数のレベル値のような、変換係数のデータを含む。変換係数は一般に、変換単位（ＴＵ）のような変換ブロックの係数に対応する。本開示は、変換係数が存在する変換ブロックの領域に基づいて、変換係数をコード化するためのコンテキストを決定するための技法を説明する。
【００３０】
一般に、本開示の技法によれば、ビデオコーダは、変換係数が存在する領域に基づいて変換係数をコード化するためのコンテキストを決定し、次いで、決定されたコンテキストを使用して変換係数をエントロピーコード化するように構成され得る。ビデオブロックは、種々の方法で複数の領域へと分割され得る。図９Ａ及び図１１は、ビデオブロックが１つ又は複数の左上のサブブロック（例えば、４×４のサブブロック）を含む第１の領域と第１の領域の外側のサブブロックを含む第２の領域とに分割される例を示す。図９Ｂは、ビデオブロックが対角方向に沿って複数の領域に分割される例を示す。図１０は、ビデオブロックが４分の１に分割され、左上の４分の１が更に、左上の４分の１の左上部分のサブブロックを含む第１のサブ領域と、第１のサブ領域の外側の左上の４分の１のサブブロックを含む第２のサブ領域とに分割される、例を示す。図１２は、ビデオブロックがビデオブロックサイズ（例えば、４×４、８×８、１６×１６、及び３２×３２）に対応する複数の領域へと分割される例を示す。図１３Ａは、ビデオブロックが複数の水平な長方形領域に分割される例を示す。図１３Ｂは、ビデオブロックが複数の垂直な長方形領域に分割される例を示す。これらの図が、以下でより詳細に説明される。
【００３１】
様々な例において、ビデオコーダは、例えば、変換係数が存在する領域に基づいて、様々な方法で変換係数をコード化するためのコンテキストを決定するように構成され得る。例えば、ビデオコーダは、一部の領域に対しては位置ベースのコンテキスト情報を、又は他の領域に対しては近隣ベースのコンテキスト情報を使用して、コンテキストを決定するように構成され得る。幾つかの例では、ある特定の領域内の全ての変換係数は、その領域に基づいて決定された、同じコンテキストを使用してコード化され得る。他の例では、ある領域内の変換係数のコンテキストは、コンテキストの近隣に基づいて決定され得る。更に他の例では、ビデオコーダは、変換係数が存在する領域に基づいて、コンテキストに適用されるべきオフセットを決定することができる。即ち、領域の各々は、コンテキストに適用されるべき特定のコンテキストオフセットと関連付けられ得る。
【００３２】
本開示の技法は、帯域幅の使用を減らすことができ、これは、変換係数のシンタックス要素をコード化するときのビットの節約につながる。そのようなシンタックス要素は、有意係数フラグ（対応する変換係数が有意かどうか、即ち０ではないかどうかを示す）、有意な係数の符号、有意な係数の絶対値が１よりも大きいかどうかの指示、絶対値が１よりも大きな有意な係数の絶対値が２より大きいかどうかの指示、及び／又は、絶対値が２より大きな係数の残りのレベル値のうちの、いずれか又は全てを含み得る。
【００３３】
図１は、本開示で説明される技法を利用し得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１に示されるように、システム１０は、宛先機器１４によって後で復号されるべき符号化ビデオデータを生成する発信源機器１２を含む。発信源機器１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器１２及び宛先機器１４は、ワイヤレス通信に対応し得る。
【００３４】
宛先機器１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信し得る。リンク１６は、発信源機器１２から宛先機器１４に符号化ビデオデータを移すことが可能な任意のタイプの媒体又は機器を備え得る。一例では、リンク１６は、発信源機器１２が、符号化ビデオデータをリアルタイムで宛先機器１４に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器１４に送信され得る。通信媒体は、高周波（ＲＦ）スペクトル若しくは１つ又は複数の物理伝送線路のような、任意のワイヤレス又は有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器１２から宛先機器１４への通信を支援するために有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００３５】
代替的に、符号化データは、出力インターフェース２２から記憶装置３４に出力され得る。同様に、符号化データは、入力インターフェースによって記憶装置３４からアクセスされ得る。記憶装置３４は、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性又は不揮発性メモリ、若しくは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散した又はローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。更なる一例では、記憶装置３４は、発信源機器１２によって生成された符号化ビデオを保持し得るファイルサーバ又は別の中間記憶装置に対応し得る。宛先機器１４は、ストリーミング又はダウンロードを介して、記憶装置３４から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先機器１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）機器、又はローカルディスクドライブを含む。宛先機器１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、有線接続（例えば、ＤＳＬ、ケーブルモデムなど）、又は両方の組合せを含み得る。記憶装置３４からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組合せであり得る。
【００３６】
本開示の技法は、必ずしもワイヤレス適用例又は設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、種々のマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び／又はビデオ電話などの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【００３７】
図１の例では、発信源機器１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）及び／又は送信機を含み得る。発信源機器１２において、ビデオ発信源１８は、ビデオキャプチャ機器、例えばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、及び／又は発信源ビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムのような、発信源、或いはそのような発信源の組合せを含み得る。一例として、ビデオ発信源１８がビデオカメラである場合、発信源機器１２及び宛先機器１４は、所謂カメラ付き携帯電話又はビデオ電話を形成し得る。しかしながら、本開示で説明される技法は、一般にビデオコード化に適用可能であってよく、ワイヤレスの適用例及び／又は有線の適用例に適用され得る。
【００３８】
キャプチャされたビデオ、以前にキャプチャされたビデオ、又はコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオデータは、発信源機器１２の出力インターフェース２２を介して宛先機器１４に直接送信され得る。符号化ビデオデータは、更に（又は代替として）、復号及び／又は再生のための宛先機器１４又は他の機器による後のアクセスのために記憶装置３４上に記憶され得る。
【００３９】
宛先機器１４は、入力インターフェース２８と、ビデオデコーダ３０と、表示装置３２とを含む。場合によっては、入力インターフェース２８は、受信機及び／又はモデムを含み得る。宛先機器１４の入力インターフェース２８は、リンク１６を通じて符号化ビデオデータを受信する。リンク１６を通じて通信され、又は記憶装置３４上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０のようなビデオデコーダが使用するためのビデオエンコーダ２０によって生成される種々のシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信される、記憶媒体上に記憶される、又はファイルサーバ上に記憶される、符号化ビデオデータとともに含まれ得る。
【００４０】
表示装置３２は、宛先機器１４と一体であってよく、又はその外部にあり得る。幾つかの例では、宛先機器１４は、一体型表示装置を含み、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器１４は表示装置であり得る。一般に、表示装置３２は、復号ビデオデータをユーザに対して表示し、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置のような、種々の表示装置のいずれかを備え得る。
【００４１】
ビデオエンコーダ２０及びビデオデコーダ３０は、現在開発中のＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格のようなビデオ圧縮規格に従って動作することができ、ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０及びビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格のような、他のプロプライエタリ規格又は業界規格、又はそのような規格の拡張に従って動作することができる。規格の拡張には、例えば、スケーラブルビデオコード化（ＳＶＣ）、マルチビュービデオコード化（ＭＶＣ）、深度情報のコード化のような３次元（３Ｄ）などがある。しかしながら、本開示の技法は、如何なる特定のコード化規格又は規格の拡張にも限定されない。ビデオ圧縮規格の他の例には、ＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３がある。
【００４２】
図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、各々オーディオエンコーダ及びデコーダと統合されてよく、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４３】
ビデオエンコーダ２０及びビデオデコーダ３０は各々、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアのような、種々の好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、１つ又は複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行することができる。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ又は複数のエンコーダ又はデコーダ中に含まれてよく、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合されてよい。
【００４４】
ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取組みは、ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ（ＨＭ）と呼ばれるビデオコード化機器の発展的モデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従って、既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００４５】
一般に、ＨＭの作業モデルは、ビデオフレーム又はピクチャが、ルーマとクロマの両方のサンプルを含む一連のツリーブロック又は最大コード化単位（ＬＣＵ）に分割され得ることを記載する。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、コード化順序で幾つかの連続するツリーブロックを含む。ビデオフレーム又はピクチャは、１つ又は複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコード化単位（ＣＵ）に分割され得る。例えば、４分木のルートノードとしてのツリーブロックは、４つの子ノードに分割されてよく、各子ノードは、次に、親ノードとなり、別の４つの子ノードに分割されてよい。４分木のリーフノードとしての、最終的な、分割されない子ノードは、コード化ノード、即ち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義することができ、コード化ノードの最小サイズも定義することができる。
【００４６】
ＣＵは、コード化ノードと、コード化ノードに関連する予測単位（ＰＵ）及び変換単位（ＴＵ）とを含む。ＣＵのサイズは、コード化ノードのサイズに対応し、形状が正方形でなければならない。ＣＵのサイズは、８×８画素から最大で６４×６４以上の画素をもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つ又は複数のＰＵと、１つ又は複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、例えば、ＣＵを１つ又は複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化又はダイレクトモード符号化されるか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかによって異なり得る。ＰＵは、形状が非正方形になるように区分され得る。ＣＵに関連するシンタックスデータは、例えば、４分木に従って、ＣＵを１つ又は複数のＴＵに区分することも記述し得る。ＴＵは、形状が正方形又は非正方形であり得る。
【００４７】
ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従った変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるか又はＰＵよりも小さい。幾つかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ）として知られる４分木構造を使用してより小さい単位に再分割され得る。ＲＱＴのリーフノードは変換単位（ＴＵ）と呼ばれ得る。ＴＵに関連する画素差分値は、量子化され得る変換係数を生成するために変換され得る。
【００４８】
一般に、ＰＵは、予測プロセスに関連するデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、そのＰＵの動きベクトルを定義するデータを含み得る。ＰＵの動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）、動きベクトルが指す参照ピクチャ、及び／又は動きベクトルの参照ピクチャリストを記述し得る。
【００４９】
一般に、ＴＵは、変換プロセス及び量子化プロセスのために使用される。１つ又は複数のＰＵを有する所与のＣＵは、１つ又は複数のＴＵも含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値は、エントロピーコード化のためのシリアル化変換係数を生成するために、ＴＵを使用して変換係数に変換され、量子化され、走査され得る画素差分値を備える。本開示では通常、ＣＵのコード化ノードを指すために「ビデオブロック」という用語を使用する。幾つかの特定の場合において、本開示では、コード化ノード及びＰＵ並びにＴＵを含む、ツリーブロック、即ち、ＬＣＵ又はＣＵを指す「ビデオブロック」という用語も使用し得る。
【００５０】
ビデオシーケンスは通常、一連のビデオフレーム又はピクチャを含む。ピクチャグループ（ＧＯＰ）は、一般に、一連の１つ又は複数のビデオピクチャを備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つ又は複数のヘッダ中、又は他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は通常、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコード化ノードに対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有してよく、指定されたコード化規格に従ってサイズが異なり得る。
【００５１】
一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮというＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎという対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮというＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、又は「Ｒｉｇｈｔ」という表示によって示される。従って、例えば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵへと水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００５２】
本開示では、「Ｎ×Ｎ（NxN）」及び「Ｎ×Ｎ（N by N）」は、垂直寸法及び水平寸法に関するビデオブロックの画素寸法、例えば、１６×１６（16x16）画素又は１６×１６（16 by 16）画素を指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは一般に、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、ここでＮは非負の整数値を表す。ブロック内の画素は行と列で構成され得る。更に、ブロックは、必ずしも、水平方向に垂直方向と同じ数の画素を有する必要はない。例えば、ブロックはＮ×Ｍ画素を備えてよく、Ｍは必ずしもＮに等しいとは限らない。
【００５３】
ＣＵのＰＵを使用したイントラ予測コード化又はインター予測コード化の後、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（画素領域とも呼ばれる）空間領域において画素データを備えてよく、ＴＵは、例えば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、又は概念的に同様の変換などの変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャの画素と、ＰＵに対応する予測値との間の画素差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【００５４】
変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、一般に、更なる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化されるプロセスを指す。量子化プロセスは、係数の一部又は全てに関連するビット深度を低減することができる。例えば、量子化中にｎビット値がｍビット値へと切り捨てられてよく、ｎはｍよりも大きい。
【００５５】
幾つかの例では、ビデオエンコーダ２０及びビデオデコーダ３０は、事前に定義された走査順序を利用して、量子化変換係数を走査し、エントロピー符号化され得るシリアル化ベクトルを生成し得る。他の例では、ビデオエンコーダ２０及びビデオデコーダ３０は適応走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、又は走査中に、ビデオエンコーダ２０は、例えば、コンテキスト適応型可変長コード化（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コード化、又は別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオデコーダ３０は、係数をエントロピー復号し、逆量子化プロセスと逆変換プロセスとを実行して残差データを再生成し、残差データを予測データと組み合わせて復号ビデオデータを生成することができる。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化することができる。
【００５６】
ＣＡＢＡＣを実行するために、ビデオエンコーダ２０及びビデオデコーダ３０は、コード化されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、例えば、シンボルの隣接値が０ではないかどうかに関係し得る。本開示の技法によれば、ビデオエンコーダ２０及び／又はビデオデコーダ３０は、変換係数が存在するビデオブロックの領域に基づいて変換係数をエントロピーコード化（例えば、エントロピー符号化又はエントロピー復号）するためのコンテキストを決定するように構成され得る。
【００５７】
ビデオエンコーダ２０及びビデオデコーダ３０は、ビデオブロックの様々な領域（例えば、変換単位）の定義とともに構成され得る。例えば、ビデオエンコーダ２０及びビデオデコーダ３０は、様々なサイズのビデオブロックのための領域の定義とともに構成され得る。幾つかの例では、ビデオエンコーダ２０は、ビデオブロックを複数の領域に分割する方法を決定し、ブロックがどのように分割されるべきかを表すデータをコード化することができる。領域の各々は、それぞれの領域内に存在する変換係数のコンテキストを決定するための、それぞれの値及び／又は技法と関連付けられ得る。
【００５８】
例えば、ビデオブロックのある特定の領域は、近隣ベースのコンテキスト決定方式と関連付けられ得るが、ビデオブロックの別の領域は、位置ベースのコンテキスト決定方式と関連付けられ得る。別の例として、ビデオブロックのある領域は、その領域に位置する変換係数に対して決定されるコンテキストに適用されるべきオフセットと関連付けられ得る。同じビデオブロックの異なる領域は、コンテキストを計算するための異なるオフセット値及び／又は異なる技法と関連付けられ得る。
【００５９】
一例として、ビデオブロックは、ビデオブロックの左上の角にある１つ又は複数のサブブロック（例えば、４×４の変換係数サブブロック）を含む第１の領域と、第１の領域に含まれないビデオブロックの他のサブブロックを含む第２の領域という、２つの異なる領域を含み得る。より具体的には、ビデオエンコーダ２０及びビデオデコーダ３０は、サブブロックのｘ座標とｙ座標とを決定し、ｘとｙの合計を閾値と比較することによって、サブブロックが第１の領域にあるか第２の領域にあるかを決定することができる。ｘとｙの合計が閾値より小さい場合、ビデオエンコーダ２０及びビデオデコーダ３０は、サブブロックが第１の領域にあると決定することができ、それ以外の場合、ビデオエンコーダ２０及びビデオデコーダ３０は、サブブロックが第２の領域にあると決定することができる。ビデオエンコーダ２０及びビデオデコーダ３０は、係数が第１の領域のサブブロック中にあるか第２の領域のサブブロック中にあるかに基づいて、ビデオブロックの係数のコンテキストを決定することができる。
【００６０】
例えば、幾つかの領域では、コンテキストは固定されたコンテキストであってよく、この場合、ビデオエンコーダ２０及びビデオデコーダ３０は、固定されたコンテキストを使用して、そのような領域中の変換係数をコード化する。即ち、ビデオエンコーダ２０及びビデオデコーダ３０は、同じコンテキストを領域中の全ての変換係数に適用することができる。代替的に、領域中のサブブロックの各々は、コンテキストを決定する同じ方法（例えば、固定されたコンテキストの方法）と関連付けられ得るが、領域中の異なるサブブロックは、異なる固定されたコンテキストを有してよい。ビデオエンコーダ２０及びビデオデコーダ３０は、領域中のサブブロックの位置に基づいて、サブブロックのための固定されたコンテキストを決定することができる。更に別の例として、固定されたコンテキストは、領域内の個々の変換係数の位置に割り当てられ得る。即ち、ビデオエンコーダ２０及びビデオデコーダ３０は、ビデオブロック、サブブロック、及び／又は領域の中の変換係数の位置に基づいて、領域内の変換係数をコード化するためのコンテキストを決定することができる。
【００６１】
別の例として、幾つかの領域では、コンテキストモデルは、隣接サブブロックに従って定義され得る。例えば、ビデオエンコーダ２０及びビデオデコーダ３０は、ある特定の領域内の各サブブロックのためのコンテキストのセットとともに構成され得る。即ち、領域中の各サブブロックは、コンテキストのそれぞれのセットと関連付けられ得る。ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれのサブブロック中の各変換係数のためのコンテキストのセットから、適切なコンテキストを選択することができる。１つのサブブロックのためのコンテキストのセットは、別のサブブロックのためのコンテキストのセットとは異なり得る。
【００６２】
更に別の例として、対応するサブブロック中に有意な（即ち、０ではない）係数があるかどうかを表す、領域中の各サブブロックのための個々のフラグがコード化され得る。これらのフラグは、コード化サブブロックフラグと呼ばれ得る。そのようなフラグは、サブブロック中の変換係数をコード化するためのコンテキストを選択するために使用され得る。例えば、ビデオエンコーダ２０及びビデオデコーダ３０は、１つ又は複数の隣接サブブロックのフラグの値に基づいて、サブブロック中の変換係数をコード化するためのコンテキストを決定することができる。例えば、フラグは、０と１のいずれかのバイナリ値を有してよく、ビデオエンコーダ２０及びビデオデコーダ３０は、右側の隣接サブブロックのフラグ値と下側の隣接サブブロック（底の隣接サブブロックとも呼ばれる）のフラグ値の合計に基づいて、現在のサブブロック中の変換係数をコード化するためのコンテキストを決定することができる。他の式も、サブブロックのコンテキストを計算するために使用され得る。
【００６３】
ビデオエンコーダ２０及びビデオデコーダ３０は、本開示の技法のいずれか又は全てを、単独で、又は任意の組合せで実施するように構成され得る。これらの技法の１つの例示的な組合せは、ビデオエンコーダ２０及びビデオデコーダ３０が変換単位をサブブロック（例えば、４×４画素のサブブロック）に分割し、次いで、サブブロック中の変換係数の位置と、１つ又は複数の隣接サブブロック、例えば、左側の隣接サブブロック及び底の隣接サブブロックのためのコード化ブロックフラグとの両方に基づいて、サブブロックの特定の変換係数のデータをコード化するためのコンテキストを決定するように構成され得る。
【００６４】
ビデオエンコーダ２０及びビデオデコーダ３０は、これらの様々な例で決定されたコンテキストを使用して、変換係数を表す１つ又は複数のシンタックス要素をコード化するように構成され得る。変換係数は、様々なタイプのシンタックス要素を含み得る。例えば、変換係数は、変換係数が０ではない値を有する（即ち、有意である）ことを示す有意係数フラグ（ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ）を含み得る。変換係数が有意である場合、変換係数は、変換係数の値が０より大きいか小さいかを示す符号値（例えば、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ）と、変換係数の絶対値が１より大きいかどうかを示す値（例えば、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ）とを含み得る。変換係数の絶対値が１より大きい場合、変換係数は、変換係数の絶対値が２より大きいかどうかを示す値（例えば、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ）を含み得る。変換係数の絶対値が２より大きい場合、変換係数は、変換係数の絶対値−２を示す値（例えば、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ）を含み得る。
【００６５】
ビデオエンコーダ２０及びビデオデコーダ３０のＣＡＢＡＣコーダは、本開示の技法に従って決定されたコンテキストを使用して、これらの値のいずれか又は全てをコード化することができる。加えて、又は代替的に、ビデオエンコーダ２０及びビデオデコーダ３０は、本開示の技法に従って決定されるコンテキストを使用して、最後の有意な係数の位置を示すデータ（例えば、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘ、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘ、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘ、及びｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘ）をコード化することができる。
【００６６】
ビデオエンコーダ２０及びビデオデコーダ３０は、本開示で説明される技法のいずれか１つ又は複数を、単独で、又は任意の組合せで実行するように構成され得る。変換係数が存在するビデオブロックの領域に基づいてビデオブロックの変換係数をコード化するためのコンテキストを決定し、決定されたコンテキストを使用して変換係数をエントロピーコード化するための様々な技法が、以下で説明される。そのような技法の例が、図９〜図１４に関して以下で説明される。一般に、決定されたコンテキストを使用して変換係数をコード化することは、決定されたコンテキストを使用して変換係数の１つ又は複数のシンタックス要素をコード化することを含む。コンテキストを決定することは、一般に、変換係数が存在する領域を決定することと、領域に基づいてコンテキストを決定することとを含む。例えば、領域は、特定のコンテキスト又はコンテキストのセットと関連付けられ、及び／又は、コンテキストを決定するための１つ又は複数の技法と関連付けられ得る。
【００６７】
図２は、本開示で説明されるインター予測技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコード化とインターコード化とを実行し得る。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオの空間的冗長性を低減又は除去するために、空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム又はピクチャ内のビデオの時間的冗長性を低減又は除去するために、時間的予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）又は双予測（Ｂモード）などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。
【００６８】
図２の例では、ビデオエンコーダ２０は、モード選択ユニット３５と、予測プロセッサ４１と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測プロセッサ４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測ユニット４６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。ブロック境界をフィルタリングして再構成されたビデオからブロック歪み(blockiness artifact)を除去するために、デブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは通常、加算器６２の出力をフィルタリングする。デブロッキングフィルタに加えて追加のループフィルタ（ループ内又はループ後）も使用され得る。
【００６９】
図２に示されるように、ビデオエンコーダ２０はビデオデータを受信し、モード選択ユニット３５はデータをビデオブロックに区分する。この区分は、例えば、ＬＣＵ及びＣＵの４分木構造に従って、スライス、タイル、又は他のより大きい単位への区分、及びビデオブロックの区分も含み得る。ビデオエンコーダ２０は、一般に、符号化されるべきビデオスライス内のビデオブロックを符号化するコンポーネントを示す。スライスは、複数のビデオブロックに（及び、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測プロセッサ４１は、誤り結果（例えば、コード化レート及び歪みのレベル）に基づいて、現在のビデオブロックのために、複数のイントラコード化モードのうちの１つ、又は複数のインターコード化モードのうちの１つのような、複数の可能なコード化モードのうちの１つを選択し得る。予測プロセッサ４１は、得られたイントラコード化ブロック又はインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、かつ参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に与え得る。
【００７０】
予測プロセッサ４１内のイントラ予測ユニット４６は、空間圧縮を行うために、コード化されるべき現在のブロックと同じフレーム又はスライス中の１つ又は複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コード化を実行し得る。予測プロセッサ４１内の動き推定ユニット４２及び動き補償ユニット４４は、時間圧縮を行うために、１つ又は複数の参照ピクチャ中の１つ又は複数の予測ブロックに対する現在のビデオブロックのインター予測コード化を実行する。
【００７１】
動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、Ｐスライス、Ｂスライス、又はＧＰＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する現在のビデオフレーム又はピクチャ内のビデオブロックのＰＵの変位を示し得る。
【００７２】
予測ブロックは、絶対値差分和（ＳＡＤ）、差分２乗和（ＳＳＤ）、又は他の差分尺度によって決定され得る画素差分に関して、コード化されるべきビデオブロックのＰＵに厳密に一致することがわかるブロックである。幾つかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ２０は、参照ピクチャの１／４画素位置、１／８画素位置、又は他の分数画素位置の値を補間し得る。従って、動き推定ユニット４２は、フル画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
【００７３】
動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵの動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）又は第２の参照ピクチャリスト（リスト１）から選択されてよく、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つ又は複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００７４】
動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成すること、場合によってはサブ画素精度への補間を実行することを伴い得る。現在のビデオブロックのＰＵの動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００７５】
イントラ予測ユニット４６は、上で説明されたように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測ユニット４６は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測ユニット４６（又は、幾つかの例では、モード選択ユニット３５）は、使用するのに適切なイントラ予測モードをテストされたモードから選択することができる。例えば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、一般に、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み（又は誤差）の量、及び符号化ブロックを生成するために使用されるビットレート（即ち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化ブロックの歪み及びレートから比を計算し得る。
【００７６】
いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブル及び複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々に対して使用すべき、最確イントラ予測モード(a most probable intra-prediction mode)、イントラ予測モードインデックステーブル、及び修正されたイントラ予測モードインデックステーブルの指示とを含み得る、構成データを含み得る。
【００７７】
予測プロセッサ４１が、インター予測又はイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。加算器５０は、この計算を実行するユニットを表す。残差ブロックにおける残差ビデオデータは、１つ又は複数のＴＵに含まれてよく、変換処理ユニット５２に適用されてよい。変換処理ユニット５２は、一般に、残差ビデオデータを、画素領域からの周波数領域のような変換領域に変換する。変換処理ユニット５２は、変換、例えば離散コサイン変換（ＤＣＴ）又は概念的に同様の変換を使用して、残差ビデオデータを残差変換係数に変換することができる。或いは、変換処理ユニット５２は、２次元（２Ｄ）変換（水平方向と垂直方向の両方の）を、ＴＵ中の残差データに適用することができる。
【００７８】
変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全てに関連するビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって修正され得る。
【００７９】
量子化の後に、エントロピー符号化ユニット５６は、量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化又は別のエントロピー符号化方法又は技法を実行し得る。そのようなエントロピー符号化は一般に、量子化変換係数（簡潔にするために本明細書では一般に単に「変換係数」と呼ばれる）を１回又は複数回走査することと、対応する変換係数が有意かどうかを示すシンタックス要素、１又は２よりも大きな絶対値を有するかどうかを示すシンタックス要素、有意な係数の絶対値（又はその一部、例えば２より大きい部分）と符号とを示すシンタックス要素のような、変換係数のためのシンタックス要素を各走査中にエントロピーコード化することとを含む。
【００８０】
本開示の技法によれば、エントロピー符号化ユニット５６は、変換係数が存在するビデオブロックの領域に基づいて、ビデオブロック（例えば、変換単位）の変換係数をコード化（即ち、エントロピーコード化）するためのコンテキストを決定することができる。例えば、走査中、エントロピー符号化ユニット５６は、ビデオブロック中の変換係数の位置を決定し、その位置が存在する領域を決定することができる。加えて、エントロピー符号化ユニット５６は、ビデオブロックのための領域を定義する構成データを含み得る。
【００８１】
例えば、エントロピー符号化ユニット５６は、閾値によって設定されても良い。この例では、エントロピー符号化ユニット５６は、変換係数の位置を定めるｘ座標及びｙ座標の合計（即ち、ｘ＋ｙ）が閾値よりも大きいかどうかを決定することができる。この例では、第１の領域は、ｘ座標及びｙ座標の値の合計が閾値よりも小さい変換係数に対応し、第２の領域は、ｘ座標及びｙ座標の値の合計が閾値以上である変換係数に対応する。或いは、複数の閾値が、複数の領域を定義するために使用され得る。この方式で定義される領域の例が図９Ｂで示され、これは以下でより詳細に説明される。
【００８２】
別の例として、エントロピー符号化ユニット５６は、ビデオブロック中の、変換係数を含むサブブロックの位置を決定するように構成され得る。サブブロックは、４×４の変換係数サブブロックに対応し得る。即ち、ビデオブロックは、各々が同じサイズ、例えば４×４の変換係数を有する、複数の重複しないサブブロックを含み得る。サブブロックのための領域を決定するために、エントロピー符号化ユニット５６は、サブブロック（例えば、サブブロックの左上の変換係数のような、サブブロックのある特定の変換係数）のｘ座標及びｙ座標の合計を閾値と比較することができる。ｘ座標及びｙ座標の合計が閾値未満かどうかは、サブブロックの変換係数が第１の領域に含まれるか第２の領域に含まれるかを示すものであり得る。
【００８３】
例えば、Ｃｉｊを、位置（ｉ，ｊ）にある左上の変換係数を有するサブブロックの位置を表すものとし、ｘ＝ｉかつｙ＝ｊである。更に、Ｔを、閾値を定義するものとする。エントロピー符号化ユニット５６は、次の擬似コードを使用して、サブブロックの変換係数が存在する領域を決定することができる。
【００８４】
(i+j<T) ? region1 : region2
この例では、ｉ＋ｊがＴより小さい（即ち、サブブロックのｘ座標及びｙ座標の合計が閾値未満である）場合、エントロピー符号化ユニット５６は、サブブロックの全ての変換係数が領域１の中に存在すると決定し、一方、ｉ＋ｊがＴ以上である（即ち、サブブロックのｘ座標及びｙ座標の合計が閾値以上である）場合、エントロピー符号化ユニット５６は、サブブロックの全ての変換係数が領域２の中に存在すると決定する。領域のこれらの例及び他の例が、図９〜図１４に関して以下でより詳細に説明される。
【００８５】
エントロピー符号化ユニット５６は、様々な方法で、領域に基づいてコンテキストを決定するように構成され得る。例えば、エントロピー符号化ユニット５６は、ビデオブロックにおける変換係数の位置又は変換係数が存在する４×４のサブブロックの位置を使用して、変換係数が存在する領域に基づいて、変換係数をコード化するためのコンテキストを決定することができる。
【００８６】
或いは、コンテキストモデルは、隣接する４×４のサブブロックに従って定義され得る。例えば、エントロピー符号化ユニット５６は、利用可能なコンテキストのそれぞれのセットを各々の４×４のサブブロックに割り当て、例えば、サブブロック中の変換係数の位置に基づいて、サブブロック中で符号化されるべき現在の変換係数のコンテキストの１つを選択することができる。コンテキストのセットは、各サブブロックが利用可能なコンテキストの異なるセットを有し得るように、それぞれのサブブロックに割り当てられ得る。更なる別の例として、エントロピー符号化ユニット５６は、ｃｔｘ＝Ｒｉｇｈｔ４ｘ４ＳｕｂＢｌｏｃｋＦｌａｇ＋Ｂｏｔｔｏｍ４ｘ４ＳｕｂＢｌｏｃｋＦｌａｇとして、コンテキストを計算することができる。この場合、Ｒｉｇｈｔ４ｘ４ＳｕｂＢｌｏｃｋＦｌａｇは、右側の隣接サブブロックのためのコード化サブブロックフラグを表し、Ｂｏｔｔｏｍ４ｘ４ＳｕｂＢｌｏｃｋＦｌａｇは、底の隣接コード化サブブロックフラグのためのコード化サブブロックフラグを表す。
【００８７】
幾つかの例では、エントロピー符号化ユニット５６は、変換係数をエントロピー符号化するための決定されたコンテキストにオフセットを適用することができ、更に、変換係数が存在する領域に基づいて、適用するオフセットを決定することができる。即ち、エントロピー符号化ユニット５６は、２つ以上の領域の係数に対して同一の汎用的な方式で基本コンテキストを計算できるが、異なる領域は、異なる対応するオフセット値を有し得る。従って、エントロピー符号化ユニット５６は、領域がマッピングされるオフセット（即ち、領域と関連付けられるオフセット）に基づいて、計算されたコンテキスト値にオフセットを適用することができる。
【００８８】
エントロピー符号化ユニット５６は、変換係数がＤＣ（直流）変換係数かどうか（通常、変換ブロックの左上の角において提示される）を決定し、変換係数が存在する領域に基づいて、更には、変換係数がＤＣ変換係数かどうかに基づいて、変換係数をコード化するためのコンテキストを選択することができる。例えば、エントロピー符号化ユニット５６は、専用の位置に対する共有コンテキストを使用して、変換係数のためのコンテキストを決定することができる。即ち、共有コンテキストは、ある特定の位置、例えば、サブブロックの左上の角に存在する全ての変換係数に適用される、同じコンテキストを備え得る。従って、共有コンテキストは更に、他のサブブロックの左上の位置に存在する非ＤＣ変換係数とは対照的に、ＤＣ変換係数をコード化するときに適用されるべき特定のコンテキストの指示を含み得る。
【００８９】
加えて、又は代替的に、共有コンテキストは、ブロックのある特定の位置に存在する異なるサイズの変換係数のブロックの間で共有されるコンテキストを備え得る。例えば、エントロピー符号化ユニット５６は、任意のサイズ、例えば、４×４、８×８、１６×１６などのビデオブロック（例えば、ＴＵ）のＤＣ変換係数をコード化するとき、同じコンテキストを適用するように構成され得る。即ち、エントロピー符号化ユニット５６は、任意のサイズのブロックに対して、ＤＣ変換係数をコード化するための同じコンテキストデータにＤＣ変換係数をマッピングする、データを含み得る。言い換えると、エントロピー符号化ユニット５６は、コード化されている現在のビデオブロックのサイズとは無関係に、ＤＣ変換係数に対して決定されたコンテキストを使用して、ＤＣ変換係数をコード化するように構成され得る。通常、ＤＣ変換係数は、ビデオブロックの左上の係数である。
【００９０】
エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームは、ビデオデコーダ３０に送信されてよく、又は、ビデオデコーダ３０による後の送信又は取り出しのためにアーカイブされてよい。エントロピー符号化ユニット５６はまた、コード化されている現在のビデオスライスのための、動きベクトルと、イントラモード指示と、他のシンタックス要素とをエントロピー符号化し得る。
【００９１】
逆量子化ユニット５８及び逆変換ユニット６０は、それぞれ逆量子化及び逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット４４は、参照ピクチャリストの１つの中の参照ピクチャの１つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つ又は複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器６２は、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレーム又はピクチャ中のブロックをインター予測するために、動き推定ユニット４２及び動き補償ユニット４４によって参照ブロックとして使用され得る。
【００９２】
このように、ビデオエンコーダ２０は、変換係数が存在するビデオブロックの領域に基づいてビデオブロックの変換係数をコード化するためのコンテキストを決定し、決定されたコンテキストを使用して変換係数をエントロピーコード化するように構成される、ビデオコーダの例を表す。領域は、ビデオブロックの変換係数の１つ又は複数の左上の４×４のサブブロックを備える第１の領域と、第１の領域の外側のビデオブロックの変換係数を備える第２の領域とのうちの、１つを備え得る。
【００９３】
図３は、本開示で説明されるインター予測技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測プロセッサ８１と、逆量子化ユニット８６と、逆変換ユニット８８と、加算器９０と、参照ピクチャメモリ９２とを含む。予測プロセッサ８１は、動き補償ユニット８２と、イントラ予測ユニット８４とを含む。ビデオデコーダ３０は、幾つかの例では、図２のビデオエンコーダ２０に関して説明された符号化パスとは全般に逆の復号パスを実行し得る。
【００９４】
復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルと、イントラモード指示と、他の予測関連のシンタックス要素とを、予測プロセッサ８１に転送する。エントロピー復号ユニット８０は、ブロック（例えば、ＴＵ）の形式で、量子化係数を逆量子化ユニット８６に転送する。ビデオデコーダ３０は、ビデオスライスレベル及び／又はビデオブロックレベルでシンタックス要素を受信し得る。
【００９５】
具体的には、本開示の技法によれば、エントロピー復号ユニット８０は、変換係数が存在するブロックの領域に基づいて、変換係数をエントロピー復号するためのコンテキストを決定することができる。特に、エントロピー復号ユニット８０は、変換係数がブロック内に配置されると、変換係数が存在するブロックの領域に基づいて、コンテキストを決定することができる。エントロピー復号ユニット８０は、図９〜図１４に関して説明されたような領域、又は他のそのような領域を決定するように構成され得る。例えば、図９Ａに示されるように、エントロピー復号ユニット８０は、変換係数が、ブロックの左上の角にある１つ又は複数のサブブロックを含む第１の領域に存在するか、又は、第１の領域の外側のサブブロックを含む第２の領域に存在するかを決定し、変換係数が第１の領域に存在するか第２の領域に存在するかに基づいてコンテキストを決定するように構成され得る。
【００９６】
同様に、エントロピー復号ユニット８０は、各領域中の係数と関連付けられるコンテキストを計算又は決定するための１つ又は複数の様々な技法によって構成され得るという点で、領域に基づいてコンテキストを決定することができる。即ち、各領域は、コンテキストを計算又は決定するための１つ又は複数の技法と関連付けられ得る。例えば、領域は、１つ又は複数の変換係数の間で共有されるコンテキストと関連付けられ得る。別の例として、領域は、領域のサブブロックの間で共有されるコンテキストと関連付けられ得る。更に別の例として、領域は、領域中の変換係数のために計算されたコンテキスト値に適用されるべきオフセット値と関連付けられ得る。エントロピー復号ユニット８０は、変換係数が存在する領域に基づいて、本明細書で説明されるようなこれらの又は他の技法を使用して、変換係数を復号するためのコンテキストを決定するように構成され得る。エントロピー復号ユニット８０は次いで、決定されたコンテキストを使用して変換係数をエントロピー復号することができる。
【００９７】
加えて、又は代替的に、共有コンテキストは、ブロックのある特定の位置に存在する異なるサイズの変換係数のブロックの間で共有されるコンテキストを備え得る。例えば、エントロピー復号ユニット８０は、任意のサイズ、例えば、４×４、８×８、１６×１６などのビデオブロック（例えば、ＴＵ）のＤＣ変換係数をコード化するとき、同じコンテキストを適用するように構成され得る。即ち、エントロピー復号ユニット８０は、任意のサイズのブロックに対して、ＤＣ変換係数をコード化するための同じコンテキストデータにＤＣ変換係数をマッピングする、データを含み得る。言い換えると、エントロピー復号ユニット８０は、コード化されている現在のビデオブロックのサイズとは無関係に、ＤＣ変換係数に対して決定されたコンテキストを使用して、ＤＣ変換係数をコード化するように構成され得る。通常、ＤＣ変換係数は、ビデオブロックの左上の係数である。
【００９８】
ビデオスライスがイントラコード化（Ｉ）スライスとしてコード化されたとき、予測プロセッサ８１のイントラ予測ユニット８４は、信号伝達(signaling)されたイントラ予測モードと、現在のフレーム又はピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックの予測データを生成し得る。ビデオフレームがインターコード化（即ち、Ｂ、Ｐ又はＧＰＢ）スライスとしてコード化されるとき、予測プロセッサ８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトル及び他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックの予測ブロックを生成する。予測ブロックは、参照ピクチャリストの１つの中の参照ピクチャの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、即ち、リスト０とリスト１とを構築し得る。
【００９９】
動き補償ユニット８２は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックに対する予測情報を決定し、予測情報を使用して、復号されている現在のビデオブロックの予測ブロックを生成する。例えば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコード化するために使用される予測モード（例えば、イントラ又はインター予測）と、インター予測スライスタイプ（例えば、Ｂスライス、Ｐスライス、又はＧＰＢスライス）と、スライスの参照ピクチャリストの１つ又は複数の構築情報と、スライスの各インター符号化ビデオブロックの動きベクトルと、スライスの各インターコード化ビデオブロックのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素の幾つかを使用する。
【０１００】
動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用される補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１０１】
逆量子化ユニット８６は、ビットストリーム中で与えられエントロピー復号ユニット８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、ビデオスライス中の各ビデオブロックに対してビデオエンコーダ２０によって計算される量子化パラメータを使用して量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定することを含み得る。逆変換ユニット８８は、画素領域において残差ブロックを生成するために、逆変換、例えば逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。
【０１０２】
幾つかの場合には、逆変換ユニット８８は、２次元（２Ｄ）の逆変換（水平方向と垂直方向の両方の）を係数に適用することができる。本開示の技法によれば、逆変換ユニット８８は、代わりに、ＴＵの各々の中の残差データに、水平方向の１次元（１Ｄ）逆変換を適用すること、又は垂直方向の１Ｄ逆変換を適用すること、又は変換を適用しないことが可能である。ビデオエンコーダ２０において残差データに適用される変換のタイプは、適切なタイプの逆変換を変換係数に適用するために、ビデオデコーダ３０に信号伝達され得る。
【０１０３】
動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つ又は複数のコンポーネントを表す。所望される場合、ブロック歪みを除去するために、復号されたブロックをフィルタリングするためのデブロッキングフィルタも適用され得る。画素遷移を平滑化するか、又はさもなければビデオ品質を改善するために、（コード化ループ内又はコード化ループ後の）他のループフィルタも使用され得る。所与のフレーム又はピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照ピクチャメモリ９２はまた、図１の表示装置３２のような表示装置上での後の表示のために、復号されたビデオを記憶する。
【０１０４】
このように、ビデオデコーダ３０は、変換係数が存在するビデオブロックの領域に基づいてビデオブロックの変換係数をコード化するためのコンテキストを決定し、決定されたコンテキストを使用して変換係数をエントロピーコード化するように構成される、ビデオコーダの例を表す。領域は、ビデオブロックの変換係数の１つ又は複数の左上の４×４のサブブロックを備える第１の領域と、第１の領域の外側のビデオブロックの変換係数を備える第２の領域とのうちの、１つを備え得る。
【０１０５】
図４は、ビデオブロック中の変換係数とビデオブロックと関連付けられる有意性マップとの関係を示す概念図である。図４に示されるように、有意性マップは、ビデオブロック中の有意な係数の値、即ち０より大きい値の各インスタンスを示すために、「１」を含む。有意性マップは、復号されるべきビデオブロック中の有意な、即ち０より大きい係数の位置を決定するために、ビデオデコーダ３０のようなビデオデコーダによって復号可能なビットストリーム中で信号伝達され得る。より具体的には、ビデオブロック内の最後の０ではない係数の位置が、ビットストリーム中で信号伝達され得る。ビデオブロック中の最後の０ではない係数の位置は、ビデオブロックのために使用される走査順序に依存する。既知の、又は知ることができる走査順序に従って、最後の０ではない係数に対する他の有意な係数を示すために、追加のシンタックス要素が信号伝達され得る。
【０１０６】
図５Ａ〜図５Ｄは、ジグザグ走査順序、水平走査順序、垂直走査順序、及び対角走査順序を使用して走査されるビデオデータのブロックの例を示す概念図である。図５Ａ〜図５Ｄに示されるように、ビデオデータの８×８のブロック、例えば、ＣＵのＴＵは、円によって示されている、対応するブロック位置に６４個の変換係数を含み得る。この例では、ブロック１００、１０２、１０４、及び１０６は各々、８×８のサイズを有するので、前に説明された予測技法を使用して生成される６４個の変換係数を含む。
【０１０７】
本開示で説明される技法によれば、ブロック１００、１０２、１０４、及び１０６の各々の中の６４個の変換係数は、２Ｄ変換、水平１Ｄ変換、及び垂直１Ｄ変換のうちの１つを使用して変換されていてよく、又は逆変換されてよく、又は、変換係数はまったく変換されなくてもよい。変換されるかどうかにかかわらず、ビデオブロック１００、１０２、１０４、及び１０６の各々の中の係数は、ジグザグ走査順序、水平走査順序、垂直走査順序、及び対角走査順序のうちの１つを使用して、エントロピーコード化のための準備において走査される。
【０１０８】
図５Ａに示されるように、ブロック１００に関連する走査順序はジグザグ走査順序である。ジグザグ走査順序は、ビデオエンコーダ２０又はビデオデコーダ３０のようなビデオコーダに、図５Ａの矢印により示されるような対角方向の方式で、ブロック１００の量子化変換係数を走査させる。同様に図５Ｄにおいて、対角走査順序は、ビデオコーダに、図５Ｄの矢印により示されるような対角方向の方式で、ブロック１０６の量子化変換係数を走査させる。図５Ｂ及び図５Ｃに示されるように、ブロック１０２及び１０４に関連する走査順序は、それぞれ水平走査順序及び垂直走査順序である。同じく図５Ｂ及び図５Ｃの矢印によって示されるように、水平走査順序は、ビデオコーダに、水平線ごとに、又は「ラスタ」方式で、ブロック１０２の量子化変換係数を走査させ、一方、垂直走査順序は、垂直線ごとに、又は「回転ラスタ」方式で、ブロック１０４の量子化変換係数を走査させる。
【０１０９】
他の例では、上で説明されたように、ブロックは、ブロック１００、１０２、１０４、及び１０６のサイズよりも小さいか又は大きいサイズを有してよく、より多数の又は少数の量子化変換係数と対応するブロック位置とを含み得る。これらの例では、特定のブロックに関連する走査順序は、ビデオコーダに、図５Ａ〜図５Ｄの８×８ブロックの例に示されるのと実質的に同様の方式でブロックの量子化変換係数を走査させることができ、前に説明された走査順序のいずれかに従って、例えば、４×４のブロック又は１６×１６のブロックが走査され得る。
【０１１０】
図５Ａ〜図５Ｄの走査の向きは全般に、低周波の係数から高周波の係数に進むものとして示されるが、他の例では、ビデオエンコーダ２０及びビデオデコーダ３０は、逆方向の走査順序を実行するように構成されてよく、このとき、走査は、高周波の係数から低周波の係数に進み得る。即ち、ビデオエンコーダ２０及びビデオデコーダ３０は、図５Ａ〜図５Ｄに示されるものとは逆の順序で係数を走査することができる。
【０１１１】
図６は、変換係数のコード化のためにサブブロックへと分割された例示的なビデオブロック１１０を示す概念図である。現在のＨＭでは、サブブロックという概念が、変換係数のコード化のために使用される。ビデオコーダは、決定されたサブブロックサイズよりも大きな任意の変換単位（ＴＵ）を、サブブロックへと副分割することができる。例えば、ビデオブロック１１０は、４個の４×４のサブブロックに分割される。
【０１１２】
図６の示される例では、ビデオコーダは、ビデオブロック１１０を４×４のサブブロックに分割する。他の例では、ビデオコーダは、ビデオブロックを、他のサイズ、例えば８×８、１６×１６などのサブブロックに分割することができる。ビデオコーダがフレーム又はスライスの全てのＴＵに対して同じサブブロックサイズを使用する場合、サブブロックサイズについて得られる均一性によって、ハードウェアの実装形態において利益が得られ得る。例えば、全ての処理が、ＴＵのサイズとは無関係に、そのようなサブブロックに分割され得る。しかしながら、均一なサブブロックサイズは、本開示の技法を実行するために必須ではない。
【０１１３】
係数のコード化のために、ビデオコーダは、図６に示されるように、対角走査順序を使用してビデオブロック１１０の各々の４×４のサブブロックを走査することができる。幾つかの例では、ビデオコーダは、各サブブロックの変換係数を走査するために統一された走査を使用することができる。この場合、同じ走査順序が、有意性情報、即ち、有意性マップ、係数レベル、符号などに対して使用される。第１の例では、図６に示されるように、ビデオコーダは、対角走査を使用して変換係数を走査することができる。別の例では、ビデオコーダは、図６に示される順序とは逆の順序で、例えば、右下の角から開始し左上の角に向かって進む逆方向の対角走査で、変換係数を走査することができる。他の例では、ビデオコーダは、ジグザグ走査、水平走査、又は垂直走査を使用して変換係数を走査することができる。他の走査の向き／方向も可能である。
【０１１４】
説明を簡単にするために、本開示は、ビデオブロックのサブブロックを、４×４のサブブロックであるものとして説明する。しかしながら、本開示の技法は、異なるサイズ、例えば、８×８、１６×１６などのサブブロックに対しても適用され得る。全ての４×４のブロックに対してｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆｇｒｏｕｐ＿ｆｌａｇがコード化され、サブブロック中に少なくとも１つの０ではない係数がある場合、このフラグは１に設定され、それ以外の場合、フラグは０に等しい。所与のサブブロックに対してｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆｇｒｏｕｐ＿ｆｌａｇが０ではない場合、４×４のサブブロックが後ろ向きの対角順序で走査され、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆｇｒｏｕｐ＿ｆｌａｇは、係数の有意性を示すために、サブブロックの全ての係数に対してコード化される。これらのフラグのグループは、ビデオブロックの有意性マップと呼ばれ得る。幾つかの例では、有意性マップを明示的に信号伝達する代わりに、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆｇｒｏｕｐ＿ｆｌａｇは、隣接する４×４のサブブロックのフラグを使用して、又は、４×４のサブブロックが最後の係数又はＤＣ係数を含む場合、暗黙的に導出され得る。係数の絶対値、即ち係数レベルもコード化される。
【０１１５】
図６の走査の向きは全般に、低周波の係数から高周波の係数に進むものとして示されるが、他の例では、ビデオエンコーダ２０及びビデオデコーダ３０は、逆方向の走査順序を実行するように構成されてよく、このとき、走査は、高周波の係数から低周波の係数に進み得る。即ち、ビデオエンコーダ２０及びビデオデコーダ３０は、図６に示されるものとは逆の順序で係数を走査することができる。
【０１１６】
図７は、逆方向の対角走査順序を使用して走査されるビデオブロック１１２中の係数の有意性マップに対するコンテキストの選択のためのコンテキストモデルを定義するために使用される、例示的な５点サポート近隣を示す概念図である。上で述べられたように、コンテキスト適応型コード化では、変換係数は、変換係数が０の値又は１の値を有する確率を記述するコンテキストモデルに基づいて、コード化され得る。有意性マップのコード化に関して、コンテキストモデルは、特定の変換係数が有意かどうか、即ち０ではないかどうかの確率を記述する。
【０１１７】
有意性マップのコード化では、５点サポートＳが、ビデオブロック１１２の変換係数の有意性マップをコード化するためのコンテキストモデルを定義するために使用され得る。５点サポートは、「コンテキストサポート近隣」又は単に「サポート近隣」と呼ばれ得る。即ち、ビデオコーダは、サポートを参照して、現在の位置の有意性が１又は０である確率を求めることができる。コンテキストサポート近隣は、コンテキスト係数をコード化するためのコンテキストとして使用され得る、隣接する係数（例えば、有意性情報を含み得る）を定義する。本開示の幾つかの例によれば、コンテキストサポート近隣は、ブロック又はサブブロック内の異なる係数の位置に対して異なり得る。
【０１１８】
図７に示される例では、５点サポートＳは、円で囲まれた点により表される現在の位置又は「ターゲット」の位置に対して、正方形によって囲まれた点により表される。コンテキストモデルＣｔｘ（以下の式（１））は、サポートの全ての点における有意性フラグの合計として定義されてよく、ここで有意性フラグは、対応する変換係数が０でなければ「１」に設定されてよく、それ以外の場合は「０」に設定されてよい。
【数１】
0006266535.tif 000002
【０１１９】
従って、有意性フラグのカウントは、サポートの濃度以下であり得る。ｃｔｘの値は未加工のコンテキスト値であるとは限らず、特定の係数に対するデータをコード化するために使用されるべきコンテキストを導出するために、オフセットの形式で基本コンテキスト値に適用され得る。
【０１２０】
しかしながら、図７に示されるサポートＳは、２つ以上の変換係数のコンテキスト（例えば、変換係数と関連付けられる有意性情報）を並列に計算する場合（「並列有意性コンテキスト計算」又は単に「並列コンテキスト計算」と呼ばれる）、適切ではないことがある。例えば、図７に示されるサポートＳを使用すると、サポートＳ中の全てのデータがコンテキストの並列計算を可能にするために利用可能（例えば、コード化済み）でなければならないので、有意性情報のコンテキストを並列に計算するためのビデオコーダの能力を妨げ得る。図８Ａに関して以下で説明されるように、幾つかの例では、コーダは、サポートＳ中のサポート要素のコード化が終了するまで、サポートＳ中の別のサポート要素のコンテキストを決定することを待機することを強いられ得る。この遅延は、有意性情報を効率的に処理するためのビデオコーダの能力を低下させる。
【０１２１】
図８Ａ及び図８Ｂは、５点サポート内でのコンテキストの依存関係を示す概念図である。例えば、円で囲まれた位置の有意性コンテキストを計算するために、（図８Ａに示される）菱型により図示されるサポートＳ内の位置の有意性フラグを解析することが必要であり得る。そのような解析は、２つの係数の有意性コンテキストを並列に計算するという要件がある場合には遅延をもたらす可能性があり、それは、走査順序において、菱形が円で囲まれた要素の直前に位置しているからである。即ち、円で囲まれた位置のコンテキストは、菱形により標識された位置と同時に計算されることが不可能であり、それは、円で囲まれた位置が菱形により標識された位置に依存し、従って、菱形により標識された位置は円で囲まれた位置のコンテキストを決定するよりも前にコード化されなければならないからである。
【０１２２】
この依存関係を解決するために、幾つかの要素がサポートＳから除去され、所謂「ホール」（図８Ｂに示される、三角形により囲まれる非充填ドット（non-filled dot））を伴うサポートを作ることができる。例えば、ホールの有意性フラグはスキップされ、コンテキストの計算において考慮されない（即ち、０であると仮定される）。従って、ホールの位置における有意性フラグを解析する必要はない。より良好な並列処理を可能にするために、５点サポートの形状は位置に依存する。
【０１２３】
図９Ａ及び図９Ｂは、２つ以上の領域へのビデオブロックの例示的な分割を示す概念図である。現在のＨＭでは、隣接コンテキストのモデリングが、５点サポートを伴う８×８よりも大きなＴＵサイズ（即ち、１６×１６、３２×３２、及び非正方形の変換サイズ１６×４、４×１６、３２×８、及び８×３２）に対して使用される。しかしながら、５点ポイントのサポートを伴うコンテキストのモデリングは、より大きなブロックサイズにおけるコンテキストの計算の複雑さを高め得る。図９Ａの領域Ｒ１は、ビデオブロックの変換係数の１つ又は複数の左上の４×４のサブブロックを含む領域の例を表し、一方、図９Ａの領域Ｒ２は、領域Ｒ１の外側のビデオブロックの変換係数を含む領域の例を表す。図９Ａはまた、複数の領域が１つ又は複数のサブブロックのそれぞれのセットを備える例を表す。
【０１２４】
本開示で説明される技法によれば、ビデオエンコーダ２０又はビデオデコーダ３０のようなビデオコーダは、（例えば、図９Ａ及び図９Ｂに示されるように）ビデオブロックを領域Ｒに分割し、異なる領域の各々に対して異なるコンテキスト割当て手順を使用することができる。例えば、一部の領域は、固定されたコンテキスト又は位置ベースのコンテキストを使用することができ、一部の領域は近隣ベースのコンテキストを使用することができる。図９Ａに示されるように、領域は、サブブロック全体が１つの領域又は別の領域に含まれるように、４×４のサブブロックに基づき得る。また、幾つかの例では、領域への分割はフレキシブルであり得る。図９Ｂに示されるように、ビデオブロックは、サブブロックの部分が２つの異なる領域に含まれ得るように、対角方向の領域に分割され得る。他の例では、分割は、係数の位置、又は、この係数を含む４×４のサブブロックの位置に依存し得る。
【０１２５】
幾つかの例では、コンテキストは、ビデオブロック中の係数の位置に従って、又は、この係数を含む４×４のサブブロックの位置に従って、定義され得る。或いは、コンテキストモデルは、隣接する４×４のサブブロックに従って定義され得る。例えば、同じ４×４のサブブロック内の全ての係数が１つ又は幾つかのコンテキストを使用することができ、次の４×４のサブブロックの係数も１つ又は幾つかのコンテキストを使用することができる。しかしながら、１つの４×４のサブブロックのコンテキストは、前の４×４のサブブロックベースのコンテキストとは異なり得る。或いは、コンテキストは、Ｃｔｘ＝Ｒｉｇｈｔ４ｘ４ＳｕｂＢｌｏｃｋＦｌａｇ＋Ｂｏｔｔｏｍ４ｘ４ＳｕｂＢｌｏｃｋＦｌａｇとして、又は近隣に応じて同様の式で、計算され得る。やはり、Ｒｉｇｈｔ４ｘ４ＳｕｂＢｌｏｃｋＦｌａｇは、右側の隣接サブブロックのコード化サブブロックフラグ（例えば、右側の隣接する４×４のサブブロックが少なくとも１つの０ではない係数を含むかどうかを示す）を表すことができ、Ｂｏｔｔｏｍ４ｘ４ＳｕｂＢｌｏｃｋＦｌａｇは、右側の隣接サブブロックのコード化サブブロックフラグ（例えば、底の隣接する４×４のサブブロックが少なくとも１つの０ではない係数を含むかどうかを示す）を表すことができる。
【０１２６】
図１０は、ビデオブロックの各領域の近隣ベースの又は位置ベースのコンテキストの例示的な割当てを示す概念図である。図１０に示されるように、ハイブリッドタイプのコンテキストも使用されてよく、例えば、一部の領域ではコンテキストは近隣ベースであってよく、同じビデオブロックの一部の領域ではコンテキストは固定されているか位置ベースであってよい。位置ベースの手法の可能性のある利点は、係数ごとにコンテキストを計算する必要がないということである。代わりに、ビデオコーダは、領域中の全ての係数が同じコンテキストを有するように、領域中の全ての係数に対して一度にコンテキストを計算することができる。図１０は、複数の領域が１つ又は複数のサブブロックのそれぞれのセットを備える例を表す。
【０１２７】
座標（ｘ，ｙ）の係数に対して、領域は、係数の位置に従って定義され得る。例えば、（ｘ＋ｙ≧閾値）という条件が真である場合、ビデオコーダは、対応する係数が領域Ｒ２内に存在すると決定することができる。そうではなく、条件が真ではない場合、ビデオコーダは、対応する係数が領域Ｒ１内に存在すると決定する。同様に、座標は、４×４のサブブロックに基づいて領域に割り当てられ得る。座標（Ｘ，Ｙ）のサブブロックに対して、領域は、４×４のサブブロックの位置に従って定義され得る。例えば、（Ｘ＋Ｙ≧閾値）という条件が真である場合、ビデオコーダは、対応する係数が領域Ｒ２内に存在すると決定することができる。それ以外の場合、ビデオコーダは、対応する係数が領域Ｒ１内に存在すると決定することができる。閾値は、４、５、６、７、又は８に等しい整数のような、何らかの事前に定義された値に固定されていてよく、又は、ビデオブロック、例えばＴＵのサイズに依存してよい。
【０１２８】
このように、図１０は、ビデオコーダが、変換係数が存在する領域に基づいて、かつ、領域に基づいて位置ベースのコンテキスト情報と近隣ベースのコンテキスト情報の１つを使用して、変換係数をコード化するためのコンテキストを決定するように構成され得る、例を表す。具体的には、変換係数が第１の領域にある場合、ビデオコーダは、第１のコンテキスト決定手法を使用して、変換係数をコード化するためのコンテキストを決定することができる。変換係数が第２の領域にある場合、ビデオコーダは、第２のコンテキスト決定手法を使用して、変換係数をコード化するためのコンテキストを決定し、ここで第２のコンテキスト決定手法は第１のコンテキスト決定手法とは異なり、第１の領域は第２の領域とは異なる。ある例では、第１の領域及び第２の領域は重複しない。やはり、第１のコンテキスト決定手法及び第２のコンテキスト決定手法の例は、位置ベースのコンテキスト情報及び近隣ベースのコンテキスト情報の使用を含む。
【０１２９】
図１１は、ビデオブロックの各領域のコンテキストオフセットの例示的な割当てを示す概念図である。コンテキストモデルは、異なる領域に対しては別々であり得るが、それでもコンテキストの計算のために同じ方法を使用し得る。言い換えると、ビデオコーダは、変換係数をコード化するためのコンテキストを計算するための１つの方法によって構成され得るが、変換係数が存在する領域に基づいて決定される、異なるコンテキストモデルを含み得る。
【０１３０】
例えば、コンテキストは、近隣に基づいて計算され得るが、異なる領域に対しては、コンテキストはオフセットを使用する。各領域のオフセットは、固定されていてよく、又は、ビデオブロックのサイズ、ビデオブロック又はサブブロック中の係数の位置、及び、ビデオブロック中のサブブロックの位置のうちの１つ又は複数に依存してよい。図１１の領域Ｒ１は、ビデオブロックの変換係数の１つ又は複数の左上の４×４のサブブロックを含む領域の別の例を表し、一方、図１１の領域Ｒ２は、領域Ｒ１の外側のビデオブロックの変換係数を含む領域の別の例を表す。図１１はまた、複数の領域が１つ又は複数のサブブロックのそれぞれのセットを備える例を表す。
【０１３１】
オフセットがあると、コンテキストは式（２）に従って計算され得る。
【数２】
0006266535.tif 000003
【０１３２】
或いは、ビデオコーダは、Ｃｔｘを入力として使用する関数、例えば、Ｃｔｘ＝（Ｃｔｘ＋１）＞＞１に従って、コンテキストを計算することができる。
【０１３３】
領域ベースのオフセットの一例が図１１に示されており、ここで領域Ｒ１及びＲ２は４×４のサブブロックに基づいて定義され、オフセットは領域Ｒ１及びＲ２に対して異なる。オフセット値ｏｆｆｓｅｔ１及びｏｆｆｓｅｔ２は任意の整数であってよく、例えば、ｏｆｆｓｅｔ１＝０、ｏｆｆｓｅｔ２＝３である。別の例では、領域への他の分割も可能であり、３つ以上の領域への分割も可能である。
【０１３４】
図１２は、既存のコンテキストモデルに相関するＴＵサイズに基づく、２つ以上の領域へのビデオブロックの例示的な埋込型の分割を示す概念図である。現在のＨＭには幾つかのＴＵのサイズ（４×４、８×８、１６×１６、及び３２×３２）があるので、図１２に示されるように、より大きなブロックの分割は、埋込式の分割を使用して、より小さなＴＵサイズに従って行われ得る。埋込型の分割では、コンテキストの計算の方法が共有されてよく、コンテキストモデル自体が共有されてよい。
【０１３５】
例えば、３２×３２のＴＵサイズでは、４×４のＴＵを表す領域Ｒ１において、コンテキストの計算は、４×４のサイズの実際のＴＵのためのコンテキストの計算の方法と同じ方法を使用することができる。加えて、コンテキストモデルは、４×４のサイズのＴＵと３２×３２のサイズのＴＵのＲ１との間で共有されてよく、又は、４×４のサイズのＴＵのコンテキストモデルにオフセットが適用されてよい。Ｒ２については、コンテキスト計算方法は、８×８のサイズのＴＵと３２×３２のサイズのＴＵのＲ２との間で共有され得る。Ｒ３は１６×１６のＴＵの領域を表し、一方Ｒ４は３２×３２のＴＵの領域を表す。この方法の可能性のある利点は、コンテキストの計算のために同じユニットが使用されることが可能であり、埋め込まれた領域とＴＵとの間の追加の相関が考慮され得るということである。
【０１３６】
或いは、埋込式の分割を使用すると、一部の有意性マップコンテキストモデルが、全てのＴＵ又はＴＵの一部のグループの間で、専用の位置について共有され得る。例えば、ＤＣ係数に対応するコンテキストモデルは、４×４から３２×３２のサイズを伴う全てのＴＵの間で共有され得る。別の例として、高周波の係数に関するコンテキストモデルは、全てのＴＵの間で共有され得る。これらの場合、３２×３２のＴＵの中の４×４のＴＵを表す領域Ｒ１は、ＤＣ係数及び／又は高周波の係数に対して、４×４、８×８、１６×１６、３２×３２などのサイズのいずれかを有するＴＵと同じコンテキストモデルを使用することができる。
【０１３７】
更なる例として、全てのＴＵの間で共有する代わりに、上で説明された係数（例えば、ＤＣ及び／又は高周波の係数）のコンテキストモデルは、全てのＴＵのサブセット又はグループの間でのみ共有され得る。例えば、係数のコンテキストモデルは、４×４のＴＵ及び８×８のＴＵのような、２つのサイズのＴＵのみの間で共有され得る。この場合、３２×３２のサイズのＴＵの中の４×４のＴＵを表す領域Ｒ１は、ＤＣ係数及び／又は高周波の係数に対して、４×４及び８×８のサイズを有するＴＵと同じコンテキストモデルを使用することができる。
【０１３８】
このように、図１２の例は、ビデオエンコーダ２０又はビデオデコーダ３０のようなビデオコーダが、変換係数が存在する領域を、ビデオブロックの複数の領域から決定するように構成され得る例を表し、領域の各々は複数の変換単位（ＴＵ）サイズのそれぞれ１つに対応し、ビデオコーダは、領域と、領域と同じサイズを有するＴＵとの間で共有されるコンテキストを選択することによって、コンテキストを決定する。
【０１３９】
図１２はまた、ビデオエンコーダ２０又はビデオデコーダ３０のようなビデオコーダが、変換係数が存在する領域を、ビデオブロックの複数の領域から決定するように構成され得る例を表し、領域の各々は複数の変換単位（ＴＵ）サイズのそれぞれ１つに対応し、コンテキストを決定するために、ビデオコーダは、異なるサイズの２つ以上のＴＵの間で変換係数の専用の位置について共有されるコンテキストを選択し、領域は、異なるサイズの２つ以上のＴＵの１つと同じサイズを有する。変換係数の専用の位置に対する共有コンテキストは、異なるサイズの２つ以上のＴＵの間で共有される、ＤＣ係数と高周波の係数の１つに対するコンテキストを備え得る。加えて、又は代替的に、変換係数の専用の位置に対する共有コンテキストは、４×４の変換係数というサイズを有する第１のＴＵと、８×８の変換係数というサイズを有する第２のＴＵとの間での、共有コンテキストを備え得る。
【０１４０】
図１３Ａ及び図１３Ｂは、２つ以上の領域へのビデオブロックの例示的な分割を示す概念図である。領域が正方形の、例えば４×４のサブブロックに基づく例に関して上で説明されたのと同様の方式で、本開示の技法はまた、ビデオブロック、例えばＴＵを、長方形の形状のサブブロックに基づく２つ以上の領域に分割するための分類方法を説明する。例えば、図１３Ａ及び図１３Ｂに示されるように、係数走査に応じて、２×８のサブブロック及び８×２のサブブロックが、８×８のビデオブロックのために使用され得る。この例では、ビデオコーダは、図１３Ａに示されるブロック中の係数に水平走査を適用し、図１３Ｂに示されるブロックに垂直走査を適用する。図１３Ａ及び図１３Ｂに示される例では、１つの正方形のブロックは１つの単一の係数を表し、ビデオブロック全体のサイズは８×８である。
【０１４１】
本開示の技法によれば、ビデオブロックは、異なる長方形の領域、例えば、Ｒ１、Ｒ２、Ｒ３、及びＲ４に分割され得る。異なる長方形領域の各々は、異なるコンテキストの割当てを有し得る。例えば、一部の領域では、固定されたコンテキストが使用され得る。これらの領域は、上で説明され図１３Ａ及び図１３Ｂで示される、長方形（例えば、２×８又は８×２）のサブブロックに基づいて形成され得る。例えば、コンテキストは、ビデオブロック中の係数の位置に従って、又は、この係数を含む長方形のサブブロックの位置に従って、定義され得る。
【０１４２】
或いは、コンテキストモデルは、隣接する長方形の形状のサブブロックに従って定義され得る。例えば、同じ長方形のサブブロック内の全ての係数が、１つ又は幾つかのコンテキストを使用することができる。加えて、隣接する長方形のサブブロックの係数も、１つ又は幾つかのコンテキストを使用することができる。しかしながら、１つの長方形のサブブロックのコンテキストは、前の長方形のサブブロックベースのコンテキストとは異なり得る。ハイブリッドタイプのコンテキストも使用されてよく、例えば、一部の領域ではコンテキストは近隣ベースであってよく、同じビデオブロックの一部の領域ではコンテキストは固定されているか位置ベースであってよい。位置ベースの手法の利点は、係数ごとにコンテキストを計算する必要がなく、計算が領域に対して一度に行われ得るということである。また、分割は、係数の位置、又は、この係数を含む長方形のサブブロックの位置に依存し得る。
【０１４３】
座標（ｘ，ｙ）の係数に対して、領域は、係数の位置に従って定義され得る。例えば、（ｘ＋ｙ≧閾値）という条件が真である場合、この係数は領域Ｒ２に割り当てられてよく、それ以外の場合、この係数は領域Ｒ１に割り当てられてよい。同様の方式で、これは、座標（Ｘ，Ｙ）のサブブロックに対して長方形の形状のサブブロックに基づいて行われてよく、領域は、長方形のサブブロックの位置に従って定義され得る。例えば、（Ｘ＋Ｙ≧閾値）という条件が真である場合、この係数は領域Ｒ２に割り当てられてよく、それ以外の場合、この係数はＲ１に割り当てられてよい。閾値は、整数値（例えば、０又は１に等しい）のような何らかの事前に定義された値に固定されてよく、又は、ＴＵサイズに依存してよい。
【０１４４】
或いは、コンテキストモデルは、異なる領域に対しては異なり得るが、それでもコンテキストの計算のために同じ方法を使用し得る。例えば、コンテキストは、近隣に基づいて計算され得るが、異なる領域に対しては、コンテキストはオフセットを使用する。オフセットは固定されてよく、ビデオブロックのサイズに依存してよく、又は、ビデオブロック及び／又は長方形のサブブロック中の係数の位置、ビデオブロック中の現在の係数を含む長方形のサブブロックの位置、又はこれらの条件の任意の組合せのうちの１つ又は複数に依存してよい。
【０１４５】
オフセットがあると、コンテキストは式（３）に従って計算され得る。
【数３】
0006266535.tif 000004
【０１４６】
或いは、コンテキストは、Ｃｔｘを入力として使用する関数、例えば、Ｃｔｘ＝（Ｃｔｘ＋１）＞＞１に従って計算され得る。
【０１４７】
図１４Ａ及び図１４Ｂは、ビデオブロックの各領域のコンテキストオフセットの例示的な割当てを示す概念図である。これらの例では、領域Ｒ１及びＲ２は、長方形のサブブロック及び走査の向きに基づいて定義され、オフセットは領域Ｒ１及びＲ２に対して異なる。オフセット値ｏｆｆｓｅｔ１及びｏｆｆｓｅｔ２は任意の整数であってよく、例えば、ｏｆｆｓｅｔ１＝０、ｏｆｆｓｅｔ２＝３である。領域への他の分割も可能である。例えば、領域の数は２より多くてよい。係数の走査の向きに応じて、２×８及び８×２の長方形のサブブロックが例として本開示では使用されたことに留意されたい。制約されることなく、サイズがＭ×Ｎである他の長方形の形状のサブブロックに対して、同様の方法が使用され得る。
【０１４８】
一般に、本開示は、対角方向ベースの、正方形の、例えば、４×４のサブブロックベースのビデオブロックの分割と、長方形の、例えば２×８及び８×２のサブブロックベースのビデオブロックの分割とを説明する。他の例では、他のタイプの分割が可能であり、分割は、異なるサイズを有する様々な形状、例えば、長方形、正方形、三角形などに基づいて、フレキシブルであり得る。本開示はまた、任意の数の領域へのビデオブロックの分割を説明する。本開示は更に、正方形のサブブロックに基づく、長方形のサブブロックに基づく、又は、ビデオブロックの対角方向の分割のような他のグルーピングに基づく、係数の領域へのグルーピングを説明する。上で説明された閾値及びオフセットはまた例として提供され、他の値又は近隣との依存関係が利用され得る。
【０１４９】
本開示で説明されるものと同様の技法が、非正方形の変換ユニット又は他の形状のユニットに対して使用され得る。説明される技法は、限定されることなく、有意性マップのコード化と、変換係数の他のシンタックス及びビンのコード化とに適用され得る。加えて、本開示は通常、ビデオブロックをＴＵブロックと呼ぶが、本技法は、ＴＵ、ＰＵ、ＣＵ、ＬＣＵ、又はブロックの他のグループのいずれにも適用され得る。
【０１５０】
図１５は、現在のブロックを符号化するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵ、又は現在のＣＵの一部分を備え得る。ビデオエンコーダ２０（図１及び図２）に関して説明されるが、他の機器が図１５の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０１５１】
この例では、ビデオエンコーダ２０は、初めに、現在のブロックを予測する（１５０）。例えば、ビデオエンコーダ２０は、現在のブロックの１つ又は複数の予測単位（ＰＵ）を計算し得る。ビデオエンコーダ２０は、次いで、例えば、変換単位（ＴＵ）を生成するために、現在のブロックの残差ブロックを計算し得る（１５２）。残差ブロックを計算するために、ビデオエンコーダ２０は、元のコード化されていないブロックと現在のブロックの予測ブロックとの間の差（即ち、画素ごとの差分）を計算し得る。ビデオエンコーダ２０は、次いで、残差ブロックの係数を変換し、量子化し得る（１５４）。次に、ビデオエンコーダ２０は、残差ブロックの量子化変換係数を走査し得る（１５６）。
【０１５２】
走査中、ビデオエンコーダ２０は、現在の係数が存在する領域を決定することができ、この方式で、ビデオエンコーダ２０は、様々な係数が存在する領域を決定することができる（１５８）。本開示の技法によれば、ビデオエンコーダ２０は、係数が存在する領域を、例えば、係数の位置、又は、係数が存在するサブブロックの位置に基づいて、決定することができる。ビデオエンコーダ２０は、図９〜図１４に関して説明される技法、又は他の同様の技法のいずれかを使用して、領域を決定することができる。例えば、図９Ａに示されるように、ビデオエンコーダ２０は、係数が１つ又は複数のサブブロックを含む第１の領域に存在するか、第１の領域の外側のサブブロックを含む第２の領域に存在するかを、決定するように構成され得る。
【０１５３】
ビデオエンコーダ２０は更に、領域に基づいて、エントロピー符号化係数のコンテキストを決定することができる（１６０）。即ち、ビデオエンコーダ２０は、各係数に対して、係数が存在する領域に基づいて係数を符号化するためのコンテキストを決定することができる。例えば、上で論じられたように、ビデオエンコーダ２０は、ブロック中の係数の位置、ブロック中の係数を含むサブブロックの位置、計算されたコンテキストに適用されるべきオフセットなどに基づいて、係数が存在する領域に基づいてコンテキストを決定することができる。
【０１５４】
同様に、ビデオエンコーダ２０は、決定されたコンテキストを使用して、係数をエントロピー符号化することができる（１６２）。具体的には、ビデオエンコーダ２０は、コンテキストを使用して、係数を表す１つ又は複数のシンタックス要素をエントロピー符号化することができる。例えば、ビデオエンコーダ２０は、係数の有意性情報、有意な係数のレベル情報、及び／又は有意な係数の符号情報の１つ又は複数をエントロピー符号化することができる。有意性情報は、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇデータを備え得る。レベル情報は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇと、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇと、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇとを備え得る。符号情報は、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇを備え得る。ビデオエンコーダ２０は次いで、係数のエントロピー符号化データを出力することができる（１６４）。
【０１５５】
このように、図１５の方法は、変換係数が存在するビデオブロックの領域に基づいてビデオブロックの変換係数をコード化するためのコンテキストを決定することと、決定されたコンテキストを使用して変換係数をエントロピーコード化することとを含む、方法の例を表す。その上、領域は、ビデオブロックの変換係数の１つ又は複数の左上の４×４のサブブロックを備える第１の領域と、第１の領域の外側のビデオブロックの変換係数を備える第２の領域とのうちの、１つを備え得る。
【０１５６】
図１６は、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵ、又は現在のＣＵの一部分を備え得る。ビデオデコーダ３０（図１及び図３）に関して説明されるが、他の機器が図１６の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０１５７】
ビデオデコーダ３０は、現在のブロックのための予測ブロックを計算するために、例えば、イントラ又はインター予測モードを使用して現在のブロックを予測し得る（２００）。ビデオデコーダ３０はまた、現在のブロックに対応する残差ブロックの係数のエントロピー符号化データのような、現在のブロックのエントロピー符号化データを受信し得る（２０２）。
【０１５８】
本開示の技法によれば、ビデオデコーダ３０は、例えば、逆方向の走査及びエントロピー復号プロセスの間に、変換係数が存在する領域を決定することができる（２０４）。即ち、ビデオデコーダ３０は、前に復号された変換係数と、走査順序において次にある有意な変換係数の位置とに基づいて、次の変換係数の位置を決定することができる。ビデオデコーダ３０は更に、この位置が存在するブロックの領域を決定することができる。ビデオデコーダ３０は同様に、同様の方式で、係数の各々の領域を決定することができる。
【０１５９】
その上、ビデオデコーダ３０は、係数が存在する領域を、例えば、係数の位置、又は、係数が存在するサブブロックの位置に基づいて、決定することができる。ビデオデコーダ３０は、図９〜図１４に関して説明される技法、又は他の同様の技法のいずれかを使用して、領域を決定することができる。例えば、図９Ａに示されるように、ビデオデコーダ３０は、係数が１つ又は複数のサブブロックを含む第１の領域に存在するか、第１の領域の外側のサブブロックを含む第２の領域に存在するかを、決定するように構成され得る。
【０１６０】
更に、ビデオデコーダ３０は、決定された領域に基づいて、係数を復号するためのコンテキストを決定することができる（２０６）。即ち、ビデオデコーダ３０は、各係数に対して、係数が存在する領域に基づいて係数を復号するためのコンテキストを決定することができる。例えば、上で論じられたように、ビデオデコーダ３０は、ブロック中の係数の位置、ブロック中の係数を含むサブブロックの位置、計算されたコンテキストに適用されるべきオフセットなどに基づいて、係数が存在する領域に基づいてコンテキストを決定することができる。
【０１６１】
ビデオデコーダ３０は、エントロピーコード化データをエントロピー復号して、決定されたコンテキストを使用してブロックの係数を再生成することができる（２０８）。具体的には、ビデオデコーダ３０は、コンテキストを使用して、係数を表す１つ又は複数のシンタックス要素をエントロピー復号することができる。例えば、ビデオデコーダ３０は、係数の有意性情報、有意な係数のレベル情報、及び／又は有意な係数の符号情報の１つ又は複数をエントロピー復号することができる。有意性情報は、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇデータを備え得る。レベル情報は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇと、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇと、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇとを備え得る。符号情報は、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇを備え得る。ビデオデコーダ３０は次いで、それぞれの部分において復号された変換係数を含むように、ブロック（例えば、ＴＵ）を再生成することができる（２１０）。即ち、上で論じられたように、ビデオデコーダ３０は、量子化変換係数のブロックを作成するために再生成された係数を逆走査することができる。
【０１６２】
ビデオデコーダ３０は、次いで、係数を逆量子化し逆走査して、残差ブロックを生成することができる（２１２）。ビデオデコーダ３０は、最終的に、予測ブロックと残差ブロックとを組み合わせることによって現在のブロックを復号することができる（２１４）。即ち、ビデオデコーダ３０は、予測ブロックの画素値と、残差ブロックの同じ位置にある画素値とを数学的に組み合わせて、元のブロックを復号し再生成することができる。
【０１６３】
このように、図１６の方法は、変換係数が存在するビデオブロックの領域に基づいてビデオブロックの変換係数をコード化するためのコンテキストを決定することと、決定されたコンテキストを使用して変換係数をエントロピーコード化することとを含む、方法の例を表す。その上、領域は、ビデオブロックの変換係数の１つ又は複数の左上の４×４のサブブロックを備える第１の領域と、第１の領域の外側のビデオブロックの変換係数を備える第２の領域とのうちの、１つを備え得る。
【０１６４】
１つ又は複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。各機能は、ソフトウェアで実装される場合、１つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されてよく、或いはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、データ記憶媒体又は通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、全般に、（１）非一時的である有形コンピュータ可読記憶媒体、或いは（２）信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コード及び／又はデータ構造を取り出すために１つ又は複数のコンピュータ或いは１つ又は複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０１６５】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気記憶装置、フラッシュメモリ、或いは、命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、如何なる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１６６】
命令は、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）などの１つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、或いは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、前述の構造、又は本明細書で説明される技法の実装に好適な他の構造のいずれかを指す。加えて、幾つかの態様では、本明細書で説明された機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内で与えられてよく、或いは複合コーデックに組み込まれてよい。また、本技法は、１つ又は複数の回路又は論理要素中で完全に実装され得る。
【０１６７】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実装され得る。本開示では、開示される技法を実行するように構成された機器の機能的態様を強調するために、様々なコンポーネント、モジュール、又はユニットが説明されたが、それらのコンポーネント、モジュール、又はユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上で説明されたように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上で説明された１つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられてよく、又は相互動作ハードウェアユニットの集合によって与えられてよい。
【０１６８】
様々な例が説明されてきた。これら及び他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータを復号する方法であって、現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定することと、前記コード化サブブロックフラグの前記値に基づいて前記現在のサブブロックの変換係数を復号するためのコンテキストを決定することと、決定された前記コンテキストを使用して前記変換係数をエントロピー復号することとを備える、方法。
［２］  前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、［１］に記載の方法。
［３］  前記コンテキストを決定することが、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算することと、計算された前記合計を使用して前記コンテキストを決定することとを備える、［２］に記載の方法。
［４］  前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、［１］に記載の方法。
［５］  前記サブブロックの各々が変換係数のそれぞれの４×４のブロックに対応し、前記コード化サブブロックフラグが、前記それぞれの４×４のブロック中の前記変換係数の少なくとも１つが０ではない値を有するかどうかを示す、［１］に記載の方法。
［６］  前記現在のサブブロックが４×４画素というサイズを有し、前記現在のサブブロックが４×４画素よりも大きなサイズを有する現在の変換単位内にある、［１］に記載の方法。
［７］  前記コンテキストを決定することがさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を復号するための前記コンテキストを決定することを備える、［１］に記載の方法。
［８］  前記変換係数をエントロピー復号することが、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー復号することを備える、［１］に記載の方法。
［９］  ビデオデータを復号するための装置であって、現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定し、前記コード化サブブロックフラグの前記値に基づいて前記現在のサブブロックの変換係数を復号するためのコンテキストを決定し、決定された前記コンテキストを使用して前記変換係数をエントロピー復号するように構成される、ビデオデコーダを備える、装置。
［１０］  前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、［９］に記載の装置。
［１１］  前記コンテキストを決定するために、前記ビデオデコーダが、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算し、計算された前記合計を使用して前記コンテキストを決定するように構成される、［１０］に記載の装置。
［１２］  前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、［９］に記載の装置。
［１３］  前記ビデオデコーダがさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を復号するための前記コンテキストを決定するように構成される、［９］に記載の装置。
［１４］  前記ビデオデコーダが、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー復号するように構成される、［９］に記載の装置。
［１５］  ビデオデータを復号するための装置であって、現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定するための手段と、前記コード化サブブロックフラグの前記値に基づいて前記現在のサブブロックの変換係数を復号するためのコンテキストを決定するための手段と、決定された前記コンテキストを使用して、前記変換係数をエントロピー復号するための手段とを備える、装置。
［１６］  前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、［１５］に記載の装置。
［１７］  前記コンテキストを決定するための前記手段が、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算するための手段と、計算された前記合計を使用して前記コンテキストを決定するための手段とを備える、［１６］に記載の装置。
［１８］  前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、［１５］に記載の装置。
［１９］  前記コンテキストを決定するための前記手段がさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を復号するための前記コンテキストを決定するための手段を備える、［１５］に記載の装置。
［２０］  前記変換係数をエントロピー復号するための前記手段が、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー復号するための手段を備える、［１５］に記載の装置。
［２１］  命令を記憶したコンピュータ可読記憶媒体であって、前記命令が、実行されると、プロセッサに、現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定させ、前記コード化サブブロックフラグの前記値に基づいて前記現在のサブブロックの変換係数を復号するためのコンテキストを決定させ、決定された前記コンテキストを使用して前記変換係数をエントロピー復号させる、コンピュータ可読記憶媒体。
［２２］  前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、［２１］に記載のコンピュータ可読記憶媒体。
［２３］  前記プロセッサに前記コンテキストを決定させる前記命令が、前記プロセッサに、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算させ、計算された前記合計を使用させて前記コンテキストを決定させる命令を備える、［２２］に記載のコンピュータ可読記憶媒体。
［２４］  前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、［２１］に記載のコンピュータ可読記憶媒体。
［２５］  前記プロセッサに前記コンテキストを決定させる前記命令がさらに、前記プロセッサに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を復号するための前記コンテキストを決定させる命令を備える、［２１］に記載のコンピュータ可読記憶媒体。
［２６］  前記プロセッサに前記変換係数をエントロピー復号させる前記命令が、前記プロセッサに、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー復号させる命令を備える、［２１］に記載のコンピュータ可読記憶媒体。
［２７］  ビデオデータを符号化する方法であって、現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定することと、前記コード化サブブロックフラグの前記値に基づいて前記現在のサブブロックの変換係数を符号化するためのコンテキストを決定することと、決定された前記コンテキストを使用して前記変換係数をエントロピー符号化することとを備える、方法。
［２８］  前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、［２７］に記載の方法。
［２９］  前記コンテキストを決定することが、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算することと、計算された前記合計を使用して前記コンテキストを決定することとを備える、［２８］に記載の方法。
［３０］  前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、［２７］に記載の方法。
［３１］  前記サブブロックの各々が変換係数のそれぞれの４×４ブロックに対応し、前記コード化サブブロックフラグが、前記それぞれの４×４ブロック中の前記変換係数の少なくとも１つが０ではない値を有するかどうかを示す、［２７］に記載の方法。
［３２］  前記現在のサブブロックが４×４画素というサイズを有し、前記現在のサブブロックが４×４画素よりも大きなサイズを有する現在の変換単位内にある、［２７］に記載の方法。
［３３］  前記コンテキストを決定することがさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を復号するための前記コンテキストを決定することを備える、［２７］に記載の方法。
［３４］  前記変換係数をエントロピー符号化することが、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー符号化することを備える、［２７］に記載の方法。
［３５］  ビデオデータを符号化するための装置であって、現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定し、前記コード化サブブロックフラグの前記値に基づいて前記現在のサブブロックの変換係数を符号化するためのコンテキストを決定し、決定された前記コンテキストを使用して前記変換係数をエントロピー符号化するように構成される、ビデオエンコーダを備える、装置。
［３６］  前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、［３５］に記載の装置。
［３７］  前記コンテキストを決定するために、前記ビデオエンコーダが、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算し、計算された前記合計を使用して前記コンテキストを決定するように構成される、［３６］に記載の装置。
［３８］  前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、［３５］に記載の装置。
［３９］  前記ビデオエンコーダがさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を復号するための前記コンテキストを決定するように構成される、［３５］に記載の装置。
［４０］  前記ビデオエンコーダが、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー符号化するように構成される、［３５］に記載の装置。
［４１］  ビデオデータを符号化するための装置であって、現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定するための手段と、前記コード化サブブロックフラグの前記値に基づいて前記現在のサブブロックの変換係数を符号化するためのコンテキストを決定するための手段と、決定された前記コンテキストを使用して、前記変換係数をエントロピー符号化するための手段とを備える、装置。
［４２］  前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、［４１］に記載の装置。
［４３］  前記コンテキストを決定するための前記手段が、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算するための手段と、計算された前記合計を使用して前記コンテキストを決定するための手段とを備える、［４２］に記載の装置。
［４４］  前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、［４１］に記載の装置。
［４５］  前記コンテキストを決定するための前記手段がさらに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を符号化するための前記コンテキストを決定するための手段を備える、［４１］に記載の装置。
［４６］  前記変換係数をエントロピー符号化するための前記手段が、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー符号化するための手段を備える、［４１］に記載の装置。
［４７］  命令を記憶したコンピュータ可読記憶媒体であって、前記命令が、実行されると、プロセッサに、現在のサブブロックに対する１つ以上の隣接サブブロックのコード化サブブロックフラグの値を決定させ、前記コード化サブブロックフラグの前記値に基づいて前記現在のサブブロックの変換係数を符号化するためのコンテキストを決定させ、決定された前記コンテキストを使用して前記変換係数をエントロピー符号化させる、コンピュータ可読記憶媒体。
［４８］  前記１つ以上の隣接サブブロックが、右側の隣接サブブロックと底の隣接サブブロックとを備える、［４７］に記載のコンピュータ可読記憶媒体。
［４９］  前記プロセッサに前記コンテキストを決定させる前記命令が、前記プロセッサに、前記右側の隣接サブブロックのコード化サブブロックフラグの値と前記底の隣接サブブロックのコード化サブブロックフラグの値との合計を計算させ、計算された前記合計を使用させて前記コンテキストを決定させる命令を備える、［４８］に記載のコンピュータ可読記憶媒体。
［５０］  前記コード化サブブロックフラグが、前記隣接サブブロックのそれぞれのサブブロックが少なくとも１つの０ではない変換係数を含むかどうかを表す、［４７］に記載のコンピュータ可読記憶媒体。
［５１］  前記プロセッサに前記コンテキストを決定させる前記命令がさらに、前記プロセッサに、前記現在のサブブロック中の前記変換係数の位置に基づいて、前記変換係数を符号化するための前記コンテキストを決定させる命令を備える、［４７］に記載のコンピュータ可読記憶媒体。
［５２］  前記プロセッサに前記変換係数をエントロピー符号化させる前記命令が、前記プロセッサに、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）に従って、前記変換係数をエントロピー符号化させる命令を備える、［４７］に記載のコンピュータ可読記憶媒体。
【図１】
0006266535.tif 000005
【図２】
0006266535.tif 000006
【図３】
0006266535.tif 000007
【図４】
0006266535.tif 000008
【図５Ａ】
0006266535.tif 000009
【図５Ｂ】
0006266535.tif 000010
【図５Ｃ】
0006266535.tif 000011
【図５Ｄ】
0006266535.tif 000012
【図６】
0006266535.tif 000013
【図７】
0006266535.tif 000014
【図８Ａ】
0006266535.tif 000015
【図８Ｂ】
0006266535.tif 000016
【図９Ａ】
0006266535.tif 000017
【図９Ｂ】
0006266535.tif 000018
【図１０】
0006266535.tif 000019
【図１１】
0006266535.tif 000020
【図１２】
0006266535.tif 000021
【図１３Ａ】
0006266535.tif 000022
【図１３Ｂ】
0006266535.tif 000023
【図１４Ａ】
0006266535.tif 000024
【図１４Ｂ】
0006266535.tif 000025
【図１５】
0006266535.tif 000026
【図１６】
0006266535.tif 000027