(57)【特許請求の範囲】
【請求項１】
ビデオデータの単位を符号化する方法であって、
ビデオデータの変換ブロックを複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのそれぞれの変換係数サブセットについて、前記それぞれの変換係数サブセットが非０係数を含むか否かを示す各シンタックス要素を生成すべきか否かを決定することと、ここにおいて、前記各シンタックス要素を生成すべきか否かを決定することは、前記それぞれの変換係数サブセットが走査順序で前記変換ブロックの最後の非０係数を含む場合、前記それぞれの変換係数サブセットについての前記各シンタックス要素を生成しないと決定することを備える、
前記シンタックス要素を生成すると決定された前記複数の変換係数サブセットのうちの前記変換係数サブセットの各々毎に前記各シンタックス要素を生成することとを備える、方法。
【請求項２】
それぞれの変換係数サブセットについて、前記各シンタックス要素を生成すべきか否かを決定することは、前記各シンタックス要素を生成することがコード化効率を改善するかどうかを決定することを備える、請求項１に記載の方法。
【請求項３】
前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の数を決定することをさらに備え、
前記各シンタックス要素を生成すべきか否かを決定することが、前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数を少なくとも１つの閾値と比較することと、
前記それぞれの変換係数サブセットの潜在的な非０係数の前記数が前記閾値よりも大きく、前記それぞれの変換係数サブセットが前記最後の非０係数を含まない場合、前記各シンタックス要素を生成することとを備える、請求項１に記載の方法。
【請求項４】
前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数を決定することが、前記それぞれの変換係数サブセット中に含まれるいくつの係数が前記変換ブロックの前記最後の非０係数の後の位置を有するかに基づいて、前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数を決定することを備える、請求項３に記載の方法。
【請求項５】
前記各シンタックス要素を生成すべきか否かを決定することが、
ビデオデータの前にコード化された複数の変換ブロックについて、前記それぞれの変換係数サブセット中に含まれる非０係数の平均数を決定することと、
前記それぞれの変換係数サブセット中に含まれる非０係数の前記平均数を閾値と比較することと、
非０係数の前記平均数が前記閾値よりも小さく、前記それぞれの変換係数サブセットが前記最後の非０係数を含まない場合、前記各シンタックス要素を生成することとを備える、請求項１に記載の方法。
【請求項６】
ビデオデータの少なくとも１つの変換ブロックを符号化するように構成された装置であって、
ビデオデータを記憶するように構成されたメモリと、
１つ以上のプロセッサとを備え、前記１つ以上のプロセッサは、
ビデオデータの変換ブロックを複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのそれぞれの変換係数サブセットについて、前記それぞれの変換係数サブセットが非０係数を含むか否かを示す各シンタックス要素を生成すべきか否かを決定することと、ここにおいて、前記各シンタックス要素を生成すべきか否かを決定するために、前記１つ以上のプロセッサは、前記それぞれの変換係数サブセットが走査順序で前記変換ブロックの最後の非０係数を含む場合、前記それぞれの変換係数サブセットについての前記各シンタックス要素を生成しないと決定するように構成される、
前記シンタックス要素を生成すると決定された前記複数の変換係数サブセットのうちの前記変換係数サブセットの各々毎に前記各シンタックス要素を生成することとを行うように構成された、装置。
【請求項７】
前記１つ以上のプロセッサは、
前記各シンタックス要素を生成することがコード化効率を改善するかどうかに基づいて、それぞれの変換係数サブセットについて、前記各シンタックス要素を生成すべきか否かを決定するようにさらに構成された、請求項６に記載の装置。
【請求項８】
前記１つ以上のプロセッサが、
前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の数を決定することと、
前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数を少なくとも１つの閾値と比較することに基づいて、前記各シンタックス要素を生成すべきか否かを決定することと、
前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数が前記閾値よりも大きく、前記それぞれの変換係数サブセットが前記最後の非０係数を含まない場合、前記各シンタックス要素を生成することとを行うようにさらに構成された、請求項６に記載の装置。
【請求項９】
前記１つ以上のプロセッサは、
前記それぞれの変換係数サブセット中に含まれるいくつの係数が前記変換ブロックの前記最後の非０係数の後の位置を有するかに基づいて、前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数を決定するように構成された、請求項８に記載の装置。
【請求項１０】
前記１つ以上のプロセッサが、
ビデオデータの前にコード化された複数の変換ブロックに基づいて、前記それぞれの変換係数サブセット中に含まれる非０係数の平均数を決定することと、
前記それぞれの変換係数サブセット中に含まれる非０係数の前記平均数を閾値と比較することと、
非０係数の前記平均数が前記閾値よりも小さく、前記それぞれの変換係数サブセットが前記最後の非０係数を含まない場合、前記各シンタックス要素を生成することとを行うようにさらに構成された、請求項６に記載の装置。
【請求項１１】
実行されたとき、コンピュータ装置に、
ビデオデータの変換ブロックを複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのそれぞれの変換係数サブセットについて、前記それぞれの変換係数サブセットが非０係数を含むか否かを示す各シンタックス要素を生成すべきか否かを決定することと、ここにおいて、前記コンピュータ装置に、前記各シンタックス要素を生成すべきか否かを決定することを行わせる命令は、前記コンピュータ装置に、前記それぞれの変換係数サブセットが走査順序で前記変換ブロックの最後の非０係数を含む場合、前記それぞれの変換係数サブセットについての前記各シンタックス要素を生成しないと決定することを行わせる命令を備える、
前記シンタックス要素を生成すると決定された前記複数の変換係数サブセットのうちの前記変換係数サブセットの各々毎に前記各シンタックス要素を生成することとを行わせる命令を記憶するコンピュータ可読記憶媒体。
【請求項１２】
前記命令は、前記コンピュータ装置に、
前記各シンタックス要素を生成することがコード化効率を改善するかどうかに基づいて、それぞれの変換係数サブセットについて、前記各シンタックス要素を生成すべきか否かを決定することをさらに行わせる、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記命令が、前記コンピュータ装置に、
前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の数を決定することと、
前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数を少なくとも１つの閾値と比較することに基づいて、前記各シンタックス要素を生成すべきか否かを決定することと、
前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数が前記閾値よりも大きく、前記それぞれの変換係数サブセットが前記最後の非０係数を含まない場合、前記各シンタックス要素を生成することとをさらに行わせる、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記命令は、前記コンピュータ装置に、
前記それぞれの変換係数サブセット中に含まれるいくつの係数が前記変換ブロックの前記最後の非０係数の後の位置を有するかに基づいて、前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数を決定することをさらに行わせる、請求項１３に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記命令が、前記コンピュータ装置に、
ビデオデータの前にコード化された複数の変換ブロックに基づいて、前記それぞれの変換係数サブセット中に含まれる非０係数の平均数を決定することと、
前記それぞれの変換係数サブセット中に含まれる非０係数の前記平均数を閾値と比較することと、
非０係数の前記平均数が前記閾値よりも小さく、前記それぞれの変換係数サブセットが前記最後の非０係数を含まない場合、前記各シンタックス要素を生成することとをさらに行わせる、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１６】
ビデオデータの少なくとも１つの変換ブロックを符号化するように構成された装置であって、
ビデオデータの変換ブロックを複数の変換係数サブセットに分割するための手段と、
前記複数の変換係数サブセットのうちのそれぞれの変換係数サブセットについて、前記それぞれの変換係数サブセットが非０係数を含むか否かを示す各シンタックス要素を生成すべきか否かを決定するための手段と、ここにおいて、前記各シンタックス要素を生成すべきか否かを決定するための前記手段は、前記それぞれの変換係数サブセットが走査順序で前記変換ブロックの最後の非０係数を含む場合、前記それぞれの変換係数サブセットについての前記各シンタックス要素を生成しないと決定するための手段を備える、
前記シンタックス要素を生成すると決定された前記複数の変換係数サブセットのうちの前記変換係数サブセットの各々毎に前記各シンタックス要素を生成するための手段とを備える、装置。
【請求項１７】
前記各シンタックス要素を生成することがコード化効率を改善するかどうかに基づいて、それぞれの変換係数サブセットについて、前記各シンタックス要素を生成すべきか否かを決定するための手段をさらに備える、請求項１６に記載の装置。
【請求項１８】
前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の数を決定するための手段と、
前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数を少なくとも１つの閾値と比較することに基づいて、前記各シンタックス要素を生成すべきか否かを決定するための手段と、
前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数が前記閾値よりも大きく、前記それぞれの変換係数サブセットが前記最後の非０係数を含まない場合、前記各シンタックス要素を生成するための手段とをさらに備える、請求項１６に記載の装置。
【請求項１９】
前記それぞれの変換係数サブセット中に含まれるいくつの係数が前記変換ブロックの前記最後の非０係数の後の位置を有するかに基づいて、前記それぞれの変換係数サブセット中に含まれる潜在的な非０係数の前記数を決定するための手段をさらに備える、請求項１８に記載の装置。
【請求項２０】
前記シンタックス要素を生成すべきか否かを決定するための手段が、
ビデオデータの前にコード化された複数の変換ブロックに基づいて、前記それぞれの変換係数サブセット中に含まれる非０係数の平均数を決定するための手段と、
前記それぞれの変換係数サブセット中に含まれる非０係数の前記平均数を閾値と比較するための手段と、
非０係数の前記平均数が前記閾値よりも小さく、前記それぞれの変換係数サブセットが前記最後の非０係数を含まない場合、前記各シンタックス要素を生成するための手段とを備える、請求項１６に記載の装置。
【請求項２１】
ビデオデータの単位を復号する方法であって、
ビデオデータの変換ブロックについてのシンタックス要素を含む符号化ビデオビットストリームを受信することと、
ビデオデータの前記変換ブロックを複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのそれぞれの変換係数サブセットについて、前記それぞれの変換係数サブセットが非０係数を含むか否かを示す各シンタックス要素を前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が含むかどうかを決定することと、
それぞれの変換係数サブセットについて、前記各シンタックス要素に基づいて、前記それぞれの変換係数サブセットを復号すべきか否かを決定することとを備え、前記それぞれの変換係数サブセットを復号すべきか否かを決定することは、
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットついての前記各シンタックス要素を含まない場合、走査順序で最後の非０係数が前記それぞれの変換係数サブセット中に含まれるかどうかを決定することと、
前記最後の非０係数が特定の変換係数サブセット中に含まれる場合、前記それぞれの変換係数サブセットを復号することとを備える、方法。
【請求項２２】
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットについての前記各シンタックス要素を含まない、および、前記最後の非０係数が前記それぞれの変換係数サブセット中に含まれていない場合、前記それぞれの変換係数サブセットを復号することをさらに備える、請求項２１に記載の方法。
【請求項２３】
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットについての前記各シンタックス要素を含む場合、前記示すことに基づいて前記それぞれの変換係数サブセットを復号すべきかどうかを決定することをさらに備える、請求項２２に記載の方法。
【請求項２４】
前記それぞれの変換係数サブセットについての前記各シンタックス要素が第１の値を有する場合、前記それぞれの変換係数サブセットを復号することと、
前記それぞれの変換係数サブセットについての前記各シンタックス要素が前記第１の値とは異なる第２の値を有する場合、前記それぞれの変換係数サブセットを復号しないこととをさらに備える、請求項２３に記載の方法。
【請求項２５】
ビデオデータの単位を復号するように構成された装置であって、
ビデオデータの変換ブロックを記憶するように構成されたメモリと、
ビデオデータの前記変換ブロックについてのシンタックス要素を含む符号化ビデオビットストリームを受信することと、
ビデオデータの前記変換ブロックを複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのそれぞれの変換係数サブセットについて、前記それぞれの変換係数サブセットが非０係数を含むか否かを示す各シンタックス要素を前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が含むかどうかを決定することと、
前記シンタックス要素に基づいて、前記１つのサブセットを復号すべきか否かを決定することとを行うように構成された１つ以上のプロセッサを備え、前記それぞれの変換係数サブセットを復号すべきか否かを決定するために、前記１つ以上のプロセッサは、
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットついての前記各シンタックス要素を含まない場合、走査順序で最後の非０係数が前記それぞれの変換係数サブセット中に含まれるかどうかを決定することと、
前記最後の非０係数が特定の変換係数サブセット中に含まれる場合、前記それぞれの変換係数サブセットを復号することとを行うように構成される、装置。
【請求項２６】
前記１つ以上のプロセッサは、
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットについての前記各シンタックス要素を含まない、および、前記最後の非０係数が前記それぞれの変換係数サブセット中に含まれていない場合、前記それぞれの変換係数サブセットを復号するようにさらに構成された、請求項２５に記載の装置。
【請求項２７】
前記１つ以上のプロセッサは、
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットについての前記各シンタックス要素を含む場合、前記示すことに基づいて前記それぞれの変換係数サブセットを復号すべきかどうかを決定するようにさらに構成された、請求項２６に記載の装置。
【請求項２８】
前記１つ以上のプロセッサは、
前記それぞれの変換係数サブセットについての前記各シンタックス要素が第１の値を有する場合、前記それぞれの変換係数サブセットを復号することと、
前記それぞれの変換係数サブセットについての前記各シンタックス要素が前記第１の値とは異なる第２の値を有する場合、前記それぞれの変換係数サブセットを復号しないこととを行うようにさらに構成された、請求項２７に記載の装置。
【請求項２９】
実行されたとき、コンピュータ装置に、
ビデオデータの変換ブロックについてのシンタックス要素を含む符号化ビデオビットストリームを受信することと、
ビデオデータの前記変換ブロックを複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのそれぞれの変換係数サブセットについて、前記それぞれの変換係数サブセットが非０係数を含むか否かを示す各シンタックス要素を前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が含むかどうかを決定することと、
前記シンタックス要素に基づいて、前記１つのサブセットを復号すべきか否かを決定することと、を行わせる命令を記憶し、前記コンピュータ装置に、前記それぞれの変換係数サブセットを復号すべきか否かを決定することを行わせる前記命令は、前記コンピュータ装置に、
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットついての前記各シンタックス要素を含まない場合、走査順序で最後の非０係数が前記それぞれの変換係数サブセット中に含まれるかどうかを決定することと、
前記最後の非０係数が特定の変換係数サブセット中に含まれる場合、前記それぞれの変換係数サブセットを復号することとを行わせる命令を備える、コンピュータ可読記憶媒体。
【請求項３０】
前記命令は、前記コンピュータ装置に、
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットについての前記各シンタックス要素を含まない、および、前記最後の非０係数が前記それぞれの変換係数サブセット中に含まれていない場合、前記それぞれの変換係数サブセットを復号させることをさらに行わせる、請求項２９に記載のコンピュータ可読記憶媒体。
【請求項３１】
前記命令は、前記コンピュータ装置に、
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットについての前記各シンタックス要素を含む場合、前記示すことに基づいて前記それぞれの変換係数サブセットを復号すべきかどうかを決定することをさらに行わせる、請求項３０に記載のコンピュータ可読記憶媒体。
【請求項３２】
前記命令は、前記コンピュータ装置に、
前記それぞれの変換係数サブセットについての前記各シンタックス要素が第１の値を有する場合、前記それぞれの変換係数サブセットを復号することと、
前記それぞれの変換係数サブセットについての前記各シンタックス要素が前記第１の値とは異なる第２の値を有する場合、前記それぞれの変換係数サブセットを復号しないことと、をさらに行わせる、請求項３１に記載のコンピュータ可読記憶媒体。
【請求項３３】
ビデオデータの単位を復号するように構成された装置であって、
ビデオデータの変換ブロックについてのシンタックス要素を含む符号化ビデオビットストリームを受信するための手段と、
ビデオデータの前記変換ブロックを複数の変換係数サブセットに分割するための手段と、
前記複数の変換係数サブセットのうちのそれぞれの変換係数サブセットについて、前記それぞれの変換係数サブセットが非０係数を含むか否かを示す各シンタックス要素を前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が含むかどうかを決定するための手段と、
前記シンタックス要素に基づいて、前記１つのサブセットを復号すべきか否かを決定するための手段と、を備え、前記それぞれの変換係数サブセットを復号すべきか否かを決定するための前記手段は、
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットついての前記各シンタックス要素を含まない場合、走査順序で最後の非０係数が前記それぞれの変換係数サブセット中に含まれるかどうかを決定するための手段と、
前記最後の非０係数が特定の変換係数サブセット中に含まれる場合、前記それぞれの変換係数サブセットを復号するための手段とを備える、装置。
【請求項３４】
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットについての前記各シンタックス要素を含まない、および、前記最後の非０係数が前記それぞれの変換係数サブセット中に含まれていない場合、前記それぞれの変換係数サブセットを復号するための手段をさらに備える、請求項３３に記載の装置。
【請求項３５】
前記符号化ビデオビットストリーム中に含まれる前記シンタックス要素が前記それぞれの変換係数サブセットについての前記各シンタックス要素を含む場合、前記シンタックス要素に基づいて前記それぞれの変換係数サブセットを復号すべきかどうかを決定するための手段をさらに備える、請求項３４に記載の装置。
【請求項３６】
前記それぞれの変換係数サブセットについての前記各シンタックス要素が第１の値を有する場合、前記それぞれの変換係数サブセットを復号するための手段と、
前記それぞれの変換係数サブセットについての前記各シンタックス要素が前記第１の値とは異なる第２の値を有する場合、前記それぞれの変換係数サブセットを復号しないための手段と、をさらに備える、請求項３５に記載の前記装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１１年６月３０日に出願された米国仮出願第６１／５０３，５４１号、及び２０１１年１０月２７日に出願された米国仮出願第第６１／５５２，３４１号の利益を主張する。
【０００２】
本開示は、ビデオコード化及び圧縮に関する。より詳細には、本開示は、量子化された変換係数を走査するための技法を対象とする。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー又は衛星無線電話、所謂「スマートフォン」、ビデオ遠隔会議機器、ビデオストリーミング機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、現在開発中の高効率ビデオコード化（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実施する。ビデオ機器は、そのようなビデオ圧縮技法を実施することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び／又は記憶し得る。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的（イントラピクチャ）予測及び／又は時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコード化の場合、ビデオスライス（即ち、ビデオフレーム又はビデオフレームの一部分）が、ツリーブロック、コード化単位（ＣＵ）及び／又はコード化ノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロックにおける参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（Ｐ又はＢ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロックにおける参照サンプルに対する空間的予測、又は他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
空間的予測又は時間的予測は、コード化されるべきブロックのための予測ブロックを生じる。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換され得、次いで量子化され得る残差変換係数を生じる。最初に２次元アレイに構成された量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコード化が適用され得る。
【発明の概要】
【０００６】
ビデオコード化では、ビデオデータを表すために使用されるデータの量を圧縮するために、ビデオエンコーダがビデオデータをエントロピー符号化し得る。本明細書で説明する技法によれば、エントロピー符号化の一部として、ビデオエンコーダは、ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割する。本明細書で説明するリーフレベル単位は、ビデオデータ構造の分割されていない単位を指し、その一例は、以下でさらに詳細に説明するように、４分木データ構造の最後の、分割されていない子ノードである。
【０００７】
サブセットのうちの少なくとも１つについて、エンコーダは、サブセットが非０係数を含むかどうかを示すシンタックス要素をエントロピー符号化ビットストリームの一部として生成する。エンコーダは、複数の変換係数サブセットのうちのサブセットについてのシンタックス要素を信号伝達するか否かを決定する。例えば、エンコーダは、サブセット内の潜在的な非０係数の数に基づいて、又はビデオデータの１つ又は複数の前にコード化されたリーフレベル単位の統計値に基づくサブセットについての非０係数の平均数に基づいて、シンタックス要素を信号伝達すべきか否かを決定し得る。
【０００８】
デコーダは、エントロピー符号化ビットストリームを読み取り、シンタックス要素に基づいてサブセットの変換係数を復号すべきか否かを決定し得る。幾つかの例では、デコーダは、エントロピー符号化ビットストリームがサブセットに関連するシンタックス要素を含むか否かに基づいて変換係数のサブセットを復号すべきか否かを決定し得る。例えば、サブセットが関連するシンタックス要素を含まない場合、デコーダはサブセットを復号する。しかしながら、サブセットが関連するシンタックス要素を含む場合、デコーダは、シンタックス要素の値に基づいてサブセットを復号すべきか否かを決定する。例えば、シンタックス要素が第１の値を有する場合、デコーダはサブセットを復号するが、シンタックス要素が第２の異なる値を有する場合、デコーダはサブセットを復号しない。
【０００９】
幾つかの例では、本開示の技法は、エンコーダ又はデコーダのコード化効率を改善し得る。例えば、本明細書で説明する技法は、ビデオデータを表すエントロピー符号化ビットストリームを生成するためにエンコーダによって使用されるビットの数を低減し得る。
【００１０】
一例では、ビデオデータの単位を符号化する方法は、ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、複数の変換係数サブセットのうちのサブセットについて、サブセットが非０係数を含むか否かを示すシンタックス要素を生成することとを備える。
【００１１】
別の例では、機器は、ビデオデータの少なくとも１つのリーフレベル単位を符号化するように構成され得る。機器は、ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、複数の変換係数サブセットのうちのサブセットについて、サブセットが非０係数を含むか否かを示すシンタックス要素を生成することとを行うように構成されたプロセッサを備え得る。
【００１２】
別の例では、機器は、ビデオデータの少なくとも１つのリーフレベル単位を符号化するように構成され得、機器は、ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割するための手段と、複数の変換係数サブセットのうちのサブセットについて、サブセットが非０係数を含むか否かを示すシンタックス要素を生成するための手段とを備える。
【００１３】
別の例では、ビデオデータの単位を復号する方法は、ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、複数の変換係数サブセットのうちのサブセットについて、サブセットが非０係数を含むか否かを示す関連するシンタックス要素を含むかどうかを決定することと、シンタックス要素に基づいて、サブセットを復号すべきか否かを決定することとを備える。
【００１４】
別の例では、機器は、ビデオデータの単位を復号するように構成され得、機器は、ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、複数の変換係数サブセットのうちのサブセットについて、サブセットが非０係数を含むか否かを示す関連するシンタックス要素を含むかどうかを決定することと、シンタックス要素に基づいて、サブセットを復号すべきか否かを決定することとを行うように構成されたプロセッサを備える。
【００１５】
別の例では、機器は、ビデオデータの単位を復号するように構成され得、機器は、ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割するための手段と、複数の変換係数サブセットのうちのサブセットについて、サブセットが非０係数を含むか否かを示すシンタックス要素をサブセットが含むかどうかを決定するための手段と、シンタックス要素に基づいてサブセットを復号すべきか否かを決定するための手段とを備える。
【００１６】
本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実施され得る。例えば、様々な技法が、１つ又は複数のプロセッサによって実施又は実行され得る。本明細書で使用するプロセッサは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、又は他の等価の集積又はディスクリート論理回路を指すことがある。ソフトウェアは、１つ又は複数のプロセッサによって実行され得る。本技法を実行する命令を備えるソフトウェアは、最初にコンピュータ可読媒体に記憶され、プロセッサによってロードされ、実行され得る。
【００１７】
従って、本開示はまた、プロセッサ（又は他のコンピュータ機器）に、本開示で説明するいずれかの技法を実行させるための命令を備えるコンピュータ可読記憶媒体を企図する。場合によっては、コンピュータ可読記憶媒体はコンピュータプログラム記憶製品の一部を形成し得、コンピュータプログラム記憶製品は、製造業者に販売され、及び／又は機器中で使用され得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得、場合によってはパッケージング材料をも含み得る。
【００１８】
一例では、本開示では、実行されたとき、コンピュータ機器に、ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、複数の変換係数サブセットのうちのサブセットについて、サブセットが非０係数を含むか否かを示すシンタックス要素を生成することとを行わせる命令を記憶するコンピュータ可読記憶媒体について説明する。
【００１９】
別の例では、本開示では、実行されたとき、コンピュータ機器に、ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、複数の変換係数サブセットのうちのサブセットについて、サブセットが非０係数を含むか否かを示す関連するシンタックス要素を含むかどうかを決定することと、シンタックス要素に基づいてサブセットを復号すべきか否かを決定することとを行わせる命令を記憶するコンピュータ可読記憶媒体について説明する。
【００２０】
１つ又は複数の例の詳細を添付の図面及び以下の説明に記載する。本発明の他の特徴、目的、及び利点は、これらの説明及び図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００２１】
【図１】本開示の技法に従って動作するように構成されたビデオ符号化及び復号システムの一例を示すブロック図。
【図２】本開示の技法に従って動作するように構成されたビデオエンコーダの一例を示すブロック図。
【図３】本開示の技法に従って動作するように構成されたビデオデコーダの一例を示すブロック図。
【図４】本開示の１つ又は複数の態様に一致する複数の変換係数サブセットに分割されたビデオデータのリーフレベル単位の一例を示す概念図。
【図５】本開示の１つ又は複数の態様に一致するビデオデータのリーフレベル単位を符号化する方法の一例を示す流れ図。
【図６】本開示の１つ又は複数の態様に一致するビデオデータのリーフレベル単位を符号化する方法の別の例を示す流れ図。
【図７】本開示の１つ又は複数の態様に一致するビデオデータのリーフレベル単位を符号化する方法の別の例を示す流れ図。
【図８】本開示の１つ又は複数の態様に一致するビデオデータのリーフレベル単位を復号する方法の一例を示す流れ図。
【発明を実施するための形態】
【００２２】
図１は、本開示で説明する技法を利用し得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先機器１４によって後で復号されるべき符号化ビデオデータを生成する発信源機器１２を含む。発信源機器１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォン、所謂「スマート」パッドなどの電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器１２及び宛先機器１４は、ワイヤレス通信のために装備され得る。
【００２３】
宛先機器１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信し得る。リンク１６は、発信源機器１２から宛先機器１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体又は機器を備え得る。一例では、リンク１６は、発信源機器１２が、符号化ビデオデータをリアルタイムで宛先機器１４に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトル又は１つ又は複数の物理伝送線路など、任意のワイヤレス又は有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器１２から宛先機器１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００２４】
代替的に、符号化データは、出力インターフェース２２から記憶装置３２に出力され得る。同様に、符号化データは、入力インターフェース２８によって記憶装置３２からアクセスされ得る。記憶装置３２は、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性又は不揮発性メモリ、又は符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散した若しくはローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。更なる一例では、記憶装置３２は、発信源機器１２によって生成された符号化ビデオを保持し得るファイルサーバ又は別の中間記憶装置に対応し得る。宛先機器１４は、ストリーミング又はダウンロードを介して、記憶装置３２から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先機器１４に送信することができる任意のタイプのサーバであり得る。例示的なファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）装置、又はローカルディスクドライブを含む。宛先機器１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに好適である、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、有線接続（例えば、ＤＳＬ、ケーブルモデムなど）、又は両方の組合せを含み得る。記憶装置３２からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組合せであり得る。
【００２５】
本開示の技法は、必ずしもワイヤレス適用例又は設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、及び／又はビデオテレフォニーなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【００２６】
図１の例では、発信源機器１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）及び／又は送信機を含み得る。発信源機器１２において、ビデオ発信源１８は、例えばビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、及び／又は発信源ビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、若しくはそのようなソースの組合せを含み得る。一例として、ビデオ発信源１８がビデオカメラである場合、発信源機器１２及び宛先機器１４は、所謂カメラフォン又はビデオフォンを形成し得る。但し、本開示で説明する技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び／又は有線適用例に適用され得る。
【００２７】
撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオデータは、発信源機器１２の出力インターフェース２２を介して宛先機器１４に直接送信され得る。符号化ビデオデータは、さらに（又は代替として）、復号及び／又は再生のための宛先機器１４又は他の機器による後のアクセスのために記憶装置３２上に記憶され得る。
【００２８】
宛先機器１４は、入力インターフェース２８と、ビデオデコーダ３０と、表示装置３２とを含む。場合によっては、入力インターフェース２８は、受信機及び／又はモデムを含み得る。宛先機器１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信され、又は記憶装置３２上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０など、ビデオデコーダが使用するためのビデオエンコーダ２０によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、又はファイルサーバ上に記憶される符号化ビデオデータとともに含まれ得る。
【００２９】
表示装置３２は、宛先機器１４と一体化されるか又はその外部にあり得る。幾つかの例では、宛先機器１４は、一体型表示装置を含み得、また外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器１４は表示装置であり得る。概して、表示装置３２は、復号ビデオデータをユーザに対して表示し、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００３０】
ビデオエンコーダ２０及びビデオデコーダ３０は、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格など、ビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０及びビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格又は業界規格、あるいはそのような規格の拡張に従って動作し得る。但し、本開示の技法は、いかなる特定のコード化規格にも限定されない。ビデオ圧縮規格の他の例には、ＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３がある。
【００３１】
図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３２】
ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、個別論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実施され得る。本技法が部分的にソフトウェアで実施されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つ又は複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００３３】
ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣの規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコード化機器の発展的モデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００３４】
概して、ＨＭの作業モデルは、ビデオフレーム又はピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロック又は最大コード化単位（ＬＣＵ）に分割され得ることを記述する。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、コード化順序での幾つかの連続するツリーブロックを含む。ビデオフレーム又はピクチャは、１つ又は複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコード化単位（ＣＵ）に分割され得る。例えば、４分木のルートノードとしてのツリーブロックは、４つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードとしての、最終的な、分割されていない子ノードは、コード化ノード、即ち、コード化ビデオブロックを備える。ビデオデータ構造のそのような最終的な、分割されていない子ノードは、本明細書ではリーフレベル単位と呼ぶ。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コード化ノードの最小サイズをも定義し得る。
【００３５】
ＣＵは、コード化ノードと、コード化ノードに関連する予測単位（ＰＵ）及び変換単位（ＴＵ）とを含む。ＣＵのサイズは、コード化ノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８画素から最大６４×６４以上の画素をもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つ又は複数のＰＵと、１つ又は複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、例えば、ＣＵを１つ又は複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化又はダイレクトモード符号化されるか、イントラ予測モード符号化されるか、若しくはインター予測モード符号化されるかによって異なり得る。ＰＵは、形状が非方形であるように区分され得る。ＣＵに関連するシンタックスデータは、例えば、４分木に従って、ＣＵを１つ又は複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形又は非方形であり得る。
【００３６】
ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般に、ＰＵと同じサイズであるか又はそれよりも小さくなり得る。幾つかの例では、ＣＵに対応する残差サンプルは、「残差クワッドツリー」（ＲＱＴ：residual quad tree）として知られるクワッドツリー構造を使用して、より小さい単位に再分割され得る。ＲＱＴのリーフノードは変換単位（ＴＵ）と呼ばれることがある。そのようなリーフノードＴＵは、本明細書で説明するリーフレベル単位の一例である。ＴＵに関連する画素差分値は、量子化され得る変換係数を生成するために変換され得る。
【００３７】
一般に、ＰＵは、予測プロセスに関係するデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、そのＰＵについての動きベクトルを定義するデータを含み得る。ＰＵについての動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）、動きベクトルが指す参照ピクチャ、及び／又は動きベクトルの参照ピクチャリスト（例えば、リスト０、リスト１、又はリストＣ）を記述し得る。
【００３８】
概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つ又は複数のＰＵを有する所与のＣＵは、１つ又は複数の変換単位（ＴＵ）をも含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値は画素差分値を備え、画素差分値は、エントロピーコード化のためのシリアル化変換係数（serialized transform coefficient）を生成するためにＴＵを使用して変換係数に変換され、量子化され、走査され得る。本開示では、一般に、ＣＵのコード化ノードを指すために「ビデオブロック」という用語を使用する。幾つかの特定の場合において、本開示では、コード化ノードならびにＰＵ及びＴＵを含む、ツリーブロック、即ち、ＬＣＵ又はＣＵを指す「ビデオブロック」という用語も使用し得る。
【００３９】
ビデオシーケンスは、一般に、一連のビデオフレーム又はピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、一連の１つ又は複数のビデオフレームを備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つ又は複数のヘッダ中、又は他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスについての符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコード化ノードに対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定されたコード化規格に応じてサイズが異なり得る。
【００４０】
一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、又は「Ｒｉｇｈｔ」という表示によって示される。従って、例えば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分される２Ｎ×２Ｎ  ＣＵを指す。
【００４１】
本開示では、「Ｎ×Ｎ（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 artifacts）を除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理するであろう。追加のループフィルタ（ループ内又はループ後）もデブロッキングフィルタに加えて使用され得る。
【００５１】
図２に示すように、ビデオエンコーダ２０はビデオデータを受信し、区分ユニット３５はデータをビデオブロックに区分する。この区分は、例えば、ＬＣＵ及びＣＵの４分木構造に応じて、スライス、タイル、又は他のより大きい単位への区分、ならびにビデオブロック区分をも含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（及び、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測モジュール４１は、誤り結果（例えば、コード化レート及び歪みレベル）に基づいて現在ビデオブロックのために、複数のイントラコード化モードのうちの１つ、又は複数のインターコード化モードのうちの１つなど、複数の可能なコード化モードのうちの１つを選択し得る。予測モジュール４１は、得られたイントラコード化ブロック又はインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に与え得る。
【００５２】
予測モジュール４１内のイントラ予測モジュール４６は、空間圧縮を行うために、コード化されるべき現在ブロックと同じフレーム又はスライス中の１つ又は複数の隣接ブロックに対する現在ビデオブロックのイントラ予測コード化を実行し得る。予測モジュール４１内の動き推定ユニット４２及び動き補償ユニット４４は、時間圧縮を行うために、１つ又は複数の参照ピクチャ中の１つ又は複数の予測ブロックに対する現在ビデオブロックのインター予測コード化を実行する。
【００５３】
動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライス、Ｂスライス又はＧＰＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する現在ビデオフレーム又はピクチャ内のビデオブロックのＰＵの変位を示し得る。
【００５４】
予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。幾つかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ２０は、参照ピクチャの１／４画素位置、１／８画素位置、又は他の分数画素位置の値を補間し得る。従って、動き推定ユニット４２は、フル画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
【００５５】
動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵについての動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）又は第２の参照ピクチャリスト（リスト１）から選択され得、その各々は、参照ピクチャメモリ６４に記憶された１つ又は複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００５６】
動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成すること、場合によってはサブ画素精度への補間を実行することを伴い得る。現在ビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コード化されている現在ビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって残差ビデオブロックを形成する。画素差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つ又は複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００５７】
動き補償ユニット４４が現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つ又は複数のＴＵ中に含まれ、変換モジュール５２に適用され得る。変換モジュール５２は、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換モジュール５２は、残差ビデオデータを画素領域から周波数領域などの変換領域に変換し得る。
【００５８】
変換モジュール５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。
【００５９】
量子化の後に、エントロピー符号化ユニット５６は量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型二値算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型二値算術コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化又は別のエントロピー符号化方法又は技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、又はビデオデコーダ３０が後で送信するか又は取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コード化されている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。幾つかの例では、エントロピー符号化ユニット５６は、次いで、エントロピー符号化ビットストリームの変換係数の１次元ベクトルを生成するために、量子化された変換係数を含む行列の走査を実行し得る。
【００６０】
本開示の技法によれば、１次元ベクトルを生成するために変換係数の行列を走査するときに、エントロピー符号化ユニット５６は、上記で説明した４分木構造の分割されていない子ノードなど、ビデオデータのリーフレベル単位をリーフレベル単位よりも小さい複数の変換係数サブセットに分割し得る。例えば、エントロピー符号化ユニット５６は、ビデオデータのリーフレベル単位を、リーフレベル単位内の幾何学的形状をそれぞれ備える複数のサブセットに分割し得る。幾つかの例では、エントロピー符号化ユニット５６は、リーフレベル単位の変換係数をビデオデータのより小さい矩形形状構成に分割し得る。他の例では、エントロピー符号化ユニット５６は、リーフレベル単位の変換係数を変換係数の三角形形状サブセットに分割し得る。さらに他の例では、エントロピー符号化ユニット５６は、リーフレベル単位の変換係数を他の形状を有するサブセット、更には特定の幾何学的形状に対応しないサブセットに分割し得る。代わりに、エントロピー符号化ユニット５６は、固定又は適応型であり得る変換係数の走査順序に従って、リーフレベル単位の複数の変換係数を分割し得る。例えば、エントロピー符号化ユニット５６は、変換係数の走査順序（例えば、適応型又は固定の走査順序）に基づいて、リーフレベル単位の複数の変換係数を変換係数の複数のサブセットに分割し得る。サブセットは、異なる例では同様の又は異なる数の係数を有し得る。
【００６１】
本明細書で説明する技法によれば、変換係数のリーフレベル単位が複数のサブセットに分割された後、エントロピー符号化ユニット５６は、複数のサブセットのうちの少なくとも幾つかについて、それぞれのサブセットが非０係数を含むかどうかを示すシンタックス要素を生成し得る。幾つかの例では、エントロピー符号化ユニット５６は、変換係数の複数のサブセットの各サブセットについてそのようなシンタックス要素を生成し得る。他の例では、エントロピー符号化ユニット５６は、複数のサブセットの各サブセットについて、そのようなシンタックス要素を生成すべきか否かを選択的に決定し得る。そのようなシンタックス要素を生成すべきか否かの決定は、そのような信号伝達が追加の圧縮又は改善されたコード化効率を提供するかどうかに基づき得る。そうである場合、シンタックス要素が生成され得、そうでない場合、エンコーダ２０とデコーダ３０の両方は、その事例では指標が信号伝達されないことを知るようにプログラムされ得る。
【００６２】
本開示の技法によれば、そのようなシンタックス要素を生成することが圧縮又はコード化効率を改善するか否かを決定するために、エントロピー符号化ユニット５６は、以下でさらに詳細に説明するように、１つ又は複数のルールを適用し得る。一例として、エントロピー符号化ユニット５６は、サブセットの潜在的な非０係数の数に基づいて、特定のサブセットについてのシンタックス要素を生成すべきかどうかを決定し得る。例えば、エントロピー符号化ユニット５６は、サブセットの潜在的な非０係数の数を閾値と比較することに基づいて、シンタックス要素を生成すべきかどうかを決定し得る。
【００６３】
そのような技法の一例として、サブセットの潜在的な非０係数の数を決定するために、エントロピー符号化ユニット５６は、リーフレベル単位の最後の非０係数よりも前の位置を有するサブセットの係数の数を決定し、図６の例に示し、以下でさらに詳細に説明するように、係数の決定された数を閾値ｔｈＮｏＣｏｅｆｆと比較する。この例によれば、潜在的な非０係数の決定された数が閾値ｔｈＮｏＣｏｅｆｆよりも大きい場合、エントロピー符号化ユニット５６は、サブセットが非０係数を含むか否かを示すシンタックス要素を生成する。しかしながら、潜在的な非０係数の決定された数が閾値ｔｈＮｏＣｏｅｆｆよりも小さいか又はそれに等しい場合、エントロピー符号化ユニット５６は、シンタックス要素を生成し得ない。一例として、エントロピー符号化ユニット５６は、以下の例１の擬似コードに基づいて、特定のサブセットが非０係数を含むかどうかを示すシンタックス要素を信号伝達すべきかどうかを決定する。
【００６４】
例１
【数１】
0005955955.tif 000002
【００６５】
式中、ｎｏＣｏｅｆｆ［ｘＳ］［ｙＳ］はサブセットの潜在的な非０係数の数を示し、ｔｈＮｏＣｏｅｆｆは閾値である。
【００６６】
他の例では、エントロピー符号化ユニット５６は、他のルールに基づいて、変換係数のサブセットが非０係数を含むかどうかを示すシンタックス要素を信号伝達すべきか否かを決定し得る。例えば、図７の例に関して以下でさらに詳細に説明するように、エントロピー符号化ユニット５６は、サブセットの非０係数の平均数に基づいて、サブセットについてのシンタックス要素を信号伝達すべきか否かを決定し得る。この例によれば、ビデオデータのリーフレベル単位がコード化されているとき、エントロピー符号化ユニット５６は、各サブセット内の位置において係数がどれくらいの頻度で非０であるかを示す統計値を収集し、記憶し得る。そのような記憶された統計値に基づいて、エントロピー符号化ユニット５６は、シンタックス要素を生成すべきか否かを決定し得る。例えば、エントロピー符号化ユニット５６は、サブセットについての非０係数の平均数を閾値ｔｈＡｖｒｇＣｏｅｆｆと比較し得る。サブセットの非０係数の平均数が閾値よりも小さい場合、エントロピー符号化ユニット５６はシンタックス要素を生成する。しかしながら、サブセットの非０係数の平均数が閾値ｔｈＡｖｒｇＣｏｅｆｆよりも大きいか又はそれに等しい場合、エントロピー符号化ユニット５６は、この場合はサブセットが少なくとも１つの非０係数を含んでいる可能性が極めて高いという仮定に基づいて、シンタックス要素を生成しない。
【００６７】
別の例として、リーフレベル単位の最後の非０係数（ジグザグ走査に対して、逆ジグザグ走査の第１の非０係数）を含んでいるサブセットについては、そのサブセットが最後の非０係数を含んでいるという事実が、そのサブセットが少なくとも１つの非０係数を含まなければならないことを意味し、従って、最後の非０係数を含むサブセットは少なくとも１つの非０係数を含まなければならないと仮定され得る。従って、このサブセットは少なくとも１つの非０係数を含むと仮定され得るので、最後の非０係数を含むサブセットについてのシンタックス要素を生成する必要はない。
【００６８】
一例として、エントロピー符号化ユニット５６は、以下の例２の擬似コードに基づいて、特定のサブセットが非０係数を含むかどうかを示すシンタックス要素を信号伝達すべきかどうかを決定し得る。
【００６９】
例２
【数２】
0005955955.tif 000003
【００７０】
ここで、ｎｏＣｏｄｅｄＣｏｅｆｆ［ｘＳ］［ｙＳ］は、サブセット中の非０係数の数を示す。
【００７１】
例１の擬似コードによれば、ビデオデータブロックのリーフレベル単位を符号化し、ビデオデータのリーフレベル単位内の最後の非０係数位置を示すｌａｓｔＰｏｓシンタックス要素の値に基づいてアレイに値を割り当てる前に、エントロピー符号化ユニット５６は、可変アレイｎｏＣｏｅｆｆ［ｘＳ］［ｙＳ］中の値を０に初期化する。
【数３】
0005955955.tif 000004
【００７２】
例２の擬似コードによれば、リーフレベル単位が符号化された後に、エントロピー符号化ユニット５６は、以下のように可変アレイｎｏＳｕｂＢｌｋｓとｎｏＣｏｄｅｄＣｏｅｆｆとを更新し得る。
【数４】
0005955955.tif 000005
【００７３】
上記の例２の擬似コードを使用することによって、エントロピー符号化ユニット５６は、ビデオデータの前に符号化されたリーフレベル単位についてのサブセットの非０係数の平均数に基づいて、リーフレベル単位の変換係数のサブセットが非０係数を含むか否かを示すシンタックス要素を信号伝達すべきか否かを決定し得る。
【００７４】
逆量子化ユニット５８及び逆変換モジュール６０は、それぞれ逆量子化及び逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために画素領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つ又は複数の補間フィルタを適用して、動き推定において使用するためのサブ整数画素値を計算し得る。加算器６２は、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレーム又はピクチャ中のブロックをインター予測するために、動き推定ユニット４２と動き補償ユニット４４とによって参照ブロックとして使用され得る。
【００７５】
図３は、本開示で説明するインター予測技法を実施し得る例示的なビデオデコーダ３０を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測モジュール８１と、逆量子化ユニット８６と、逆変換ユニット８８と、加算器９０と、参照ピクチャメモリ９２とを含む。予測モジュール８１は、動き補償ユニット８２と、イントラ予測モジュール８４とを含む。ビデオデコーダ３０は、幾つかの例では、図２のビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【００７６】
復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数、動きベクトル、及び他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、予測モジュール８１に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベル及び／又はビデオブロックレベルでシンタックス要素を受信し得る。
【００７７】
エントロピー復号ユニット８０は、エントロピー復号ユニットによって復号された変換係数の１次元ベクトルを読み取り、１次元ベクトルから変換係数の２次元行列を再構成し得る。本明細書で説明する技法によれば、エントロピー復号ユニット８０は、ビデオデータのリーフレベル単位を表す１次元行列を読み取り、リーフレベル単位を複数の変換係数サブセットに分割し得る。変換係数サブセットは、矩形、三角形、あるいは他の形状又は構成を有し得る。サブセットの各々について、エントロピー復号ユニット８０は、サブセットの変換係数を復号すべきか否かを決定する。例えば、エントロピー復号ユニット８０が、特定のサブセットが非０係数を有するか否かを示すシンタックス要素を読み取らなかった場合、逆量子化ユニット８６はサブセットの係数を復号する。しかしながら、エントロピー復号ユニット８０が特定のサブセットに関連するそのようなシンタックス要素を読み取った場合、エントロピー復号ユニット８０はシンタックス要素の値に基づいてサブセットの変換係数を復号すべきか否かを決定し得る。例えば、シンタックス要素が、サブセットが非０係数を含むことを示す場合、エントロピー復号ユニット８０はサブセットの変換係数を復号する。しかしながら、シンタックス要素が、サブセットが非０係数を含まないことを示す場合、エントロピー復号ユニット８０はサブセットの変換係数を復号しない。
【００７８】
ビデオスライスがイントラコード化（Ｉ）スライスとしてコード化されるとき、予測モジュール８１のイントラ予測モジュール８４は、信号伝達されたイントラ予測モードと、現在フレーム又はピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（即ち、Ｂ、Ｐ又はＧＰＢ）スライスとしてコード化されるとき、予測モジュール８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトル及び他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、即ち、リスト０及びリスト１を構成し得る。
【００７９】
動き補償ユニット８２は、動きベクトルと他のシンタックス要素とを解析することによって現在ビデオスライスのビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。例えば、動き補償ユニット８２は、受信したシンタックス要素のうちの幾つかを使用して、ビデオスライスのビデオブロックをコード化するために使用される予測モード（例えば、イントラ予測又はインター予測）、インター予測スライスタイプ（例えば、Ｂスライス、Ｐスライス、又はＧＰＢスライス）、スライスのための参照ピクチャリストのうちの１つ又は複数のための構成情報、スライスの各インター符号化ビデオブロックについての動きベクトル、スライスの各インターコード化ビデオブロックについてのインター予測状況、及び現在ビデオスライス中のビデオブロックを復号するための他の情報を決定する。
【００８０】
動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用される補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。
【００８１】
幾つかの例では、逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換モジュール８８は、画素領域において残差ブロックを生成するために、逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。
【００８２】
動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換モジュール８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つ又は複数の構成要素を表す。所望される場合、ブロック歪みを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。画素遷移を平滑化するために、又は場合によってはビデオ品質を改善するために、他のループフィルタも（コード化ループ中又はコード化ループ後のいずれかで）使用され得る。所与のフレーム又はピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照ピクチャメモリ９２はまた、図１の表示装置３２などの表示装置上での後の表示のための、復号されたビデオを記憶する。
【００８３】
図４は、本明細書で説明する技法に一致する、複数の変換係数サブセットに分割されたリーフレベルユニット４１０の一例を示す概念図である。図４に示すリーフレベルユニット４１０は、ビデオデータの分割されていない子ノード、例えば、４分木（ＲＱＴ）構造のリーフノードを備え得る。図４に示すように、複数のサブセット４２０の各々は、０よりも大きい振幅をもつ非０係数であることも非０係数でないこともある複数の変換係数４１２（図１の例では１６個の変換係数）を含む。図４に同じく示すように、リーフレベルユニット４１０の最後の非０係数（ジグザグ走査に対して、逆ジグザグ走査の第１の非０係数）は、リーフレベルユニット４１０のサブセット（１，１）内の位置（７，７）を有する。
【００８４】
上記で説明したように、ビデオエンコーダ２０がリーフレベルユニット４１０を複数の変換係数サブセット４２０に分割すると、ビデオエンコーダ２０は、サブセットが非０係数を含むか否かを示すシンタックス要素を生成すべきかどうかを決定し得る。例えば、ビデオエンコーダ２０は、ブロック中の潜在的な非０係数の数に基づいて、特定のブロックに関連するシンタックス要素を生成すべきか否かを決定し得る。
【００８５】
図４の例によれば、位置（７，７）における係数は、リーフレベルユニット４２０の最後の非０係数であり、ジグザグ走査順序による位置（７，７）の後の変換係数の全て（図４の例では影つきでない係数）が０の振幅を有することを意味する。一例によれば、ビデオエンコーダ２０は、リーフレベルユニット４１０内の最後の非０係数位置に基づいてサブセット中の潜在的な非０係数の数を決定し得る。
【００８６】
ビデオエンコーダ２０は、リーフレベルユニット４１０のそれぞれのサブセットの各々について、非０係数の潜在的な数（例えば、サブセットの位置（７，７）における走査の最後の非０係数に続く逆ジグザグ走査の係数）を決定し得る。例えば、サブセットの全ての係数は走査における最後の非０係数の前にあるので、ビデオエンコーダ２０は、図４に示すサブセット（０，０）、（０，１）、（１，０）、（１，１）及び（２，０）の各々の全ての１６個の係数は潜在的に非０係数であると決定し得る。ビデオエンコーダはまた、サブセット（０，２）の１５個の係数は潜在的に非０係数であり得、サブセット（２，１）及び（３，０）の各々の６つの係数は潜在的に非０係数であり得、サブセット（１，１）及び（０，３）の３つの係数は潜在的に非０係数であり得ると決定し得る。
【００８７】
エンコーダ２０は、各サブセットについての潜在的な非０係数の決定された数に基づいて、図４に示すサブセット４２０についてのシンタックス要素を生成すべきかどうかを決定し得る。例えば、エンコーダ２０は、各サブセットについての潜在的な非０係数の決定された数を閾値ｔｈＮｏＣｏｅｆｆと比較し得る。潜在的な非０係数の決定された数が閾値よりも大きい場合、エンコーダ２０は、サブセットが非０係数を含むか否かを示すシンタックス要素を生成し得る。しかしながら、潜在的な非０係数の決定された数が閾値よりも小さいか又はそれに等しい場合、エンコーダ２０はシンタックス要素を生成し得ない。
【００８８】
１つの具体的な例によれば、閾値ｔｈＮｏＣｏｅｆｆは、５の値を有し得る。図４の例を参照すると、サブセット（０，０）、（０，１）、（１，０）、（１，１）、（０，２）、（２，０）、（２，１）、及び（３、０）の各々は５の閾値ｔｈＮｏＣｏｅｆｆよりも大きい潜在的な非０係数を含むので、エンコーダ２０は、これらのサブセット４２０が非０係数を含むか否かを示すシンタックス要素を信号伝達することになる。しかしながら、サブセット（１，２）、（０，３）、（３，１）、（２，２）、（１，３）、（３，２）、（２，３）、及び（３，３）については、サブセットは５よりも少ない潜在的な非０係数を含むので、ビデオエンコーダ２０はシンタックス要素を生成しないことになる。例えば、ビデオエンコーダ２０は、サブセット（１，１）及び（０，２）の変換係数を符号化し、サブセットが非０係数を含むかどうかを決定し得る。ビデオエンコーダ２０が、サブセット（１，２）及び（０，３）のいずれかが非０係数を含むと決定した場合、ビデオエンコーダは、サブセットに関連する１の値をもつシンタックス要素を生成し得る。場合によっては、ビデオエンコーダ２０がサブセット（１，１）及び（０，２）のいずれも非０を含まないと決定した場合、ビデオエンコーダ２０はまた、サブセットに関連する０の値をもつシンタックス要素を生成し得る。ビデオエンコーダ２０はまた、サブセット（０，０）、（０，１）、（１，０）、（２，０）、（２，１）、及び（３，０）の各々に関連する（０）又は（１）の値をもつシンタックス要素を生成し得る。
【００８９】
サブセット（０，０）、（０，１）、（１，０）、（１，１）、（０，２）、（２，０）、（２，１）、及び（３，０）が非０係数を有するかどうかを示すシンタックス要素（例えば、それぞれのサブセットのために定義された別個のシンタックス要素）は、エントロピー符号化ビットストリームの一部としてビデオエンコーダ２０によって出力され、デコーダ３０によって読み取られ得る。リーフレベルユニット４１０を再構成することの一部として、デコーダ３０は、ユニット４１０を表すデータを複数のサブブロックに分割し得る。各サブブロックについて、デコーダ３０は、サブセットが非０係数を含むかどうかを示すシンタックス要素をエントロピー符号化ビットストリームが含むかどうかを決定し得る。デコーダ３０がそのようなシンタックス要素を含まないサブブロックを読み取った場合、デコーダ３０はサブセットの係数を復号する。しかしながら、デコーダ３０がサブセットに関連するそのようなシンタックス要素を読み取った場合、デコーダ３０はシンタックス要素の値を使用してサブセットの係数を復号すべきかどうかを決定し得る。例えば、上記に記載の例によれば、デコーダ３０がサブセット（１，１）についての１のシンタックス要素値を読み取った場合、デコーダはサブセットを復号し得る。しかしながら、デコーダ３０がサブセット（１，１）についての０のシンタックス要素値を読み取った場合、デコーダ３０はサブブロックの変換係数を復号しない。
【００９０】
図５は、本開示の１つ又は複数の態様に一致する、ビデオデータを符号化する方法の一例を示す流れ図である。図５の方法は、図１及び図２に示したエンコーダ２０によって実行されるものとして説明されるが、図５の方法を実行するために他の機器も使用され得る。
【００９１】
図５に示すように、エンコーダ２０は、ビデオデータのリーフブロックを、複数の変換係数をそれぞれ含む複数のサブセットに分割する（５０１）。一例として、複数のサブセットは、図４の例に示す矩形形状サブセット、又は他の幾何学的形状若しくはパターンを備え得る。ビデオデータのリーフレベル単位は、上記で説明したように４分木構造の分割されていない子ノードなど、ビデオコード化規格の最低レベルのコード化単位を備え得る。
【００９２】
図５に同じく示すように、エンコーダ２０は、複数のサブセットのうちの少なくとも１つについて、サブセットが非０係数を含むか否かを示すシンタックス要素を生成する（５０２）。幾つかの例では、エンコーダ２０は、複数のサブセットの各々に関連するそのようなシンタックス要素を生成し得る。他の例では、エンコーダ２０は、サブセットの各々についてそのようなシンタックス要素を生成すべきか否かを選択的に決定し得る。例えば、エンコーダ２０は、シンタックス要素を生成することがコード化効率及び／又は圧縮を改善するかどうかに基づいて、シンタックス要素を生成すべきかどうかを選択的に決定し得る。特定のサブセットが非０係数を実際に含むことを示すことに関連するオーバーヘッドは、場合によっては圧縮を劣化させることがあり、これらの場合、そのようなオーバーヘッド信号伝達は回避され得、エンコーダ及びデコーダは、サブセットが非０係数を含むか否かの決定なしにサブセットを符号化／復号し得る。
【００９３】
幾つかの例では、エンコーダ２０は、図６に関して以下でさらに詳細に説明するようにサブセット中の潜在的な非０係数の数に基づいて、又は図７に関して以下でさらに詳細に説明するように各サブセットの係数の平均数に基づいて、シンタックス要素を生成することがコード化効率を改善するかどうかを決定し得る。エンコーダ２０がサブセットに関連するシンタックス要素を生成する場合、エンコーダ２０はエントロピー符号化ビットストリームの一部としてシンタックス要素を出力し得る。エントロピー符号化ビットストリームは、図３に示すデコーダ３０によって読み取られ得、シンタックス要素は、図８に関して以下でさらに詳細に説明するように、リーフレベル単位を復号するためにデコーダ３０によって使用され得る。
【００９４】
図６は、本開示の１つ又は複数の態様に一致する、ビデオデータを符号化する方法の一例を示す流れ図である。図６の方法は、図２に示したエンコーダ２０によって実行されるものとして説明されるが、図６の技法を実行するために任意の機器が使用され得る。図６の例によれば、エンコーダ２０は、サブセットについての潜在的な非０係数の数に基づいて、変換係数サブセットに関連するシンタックス要素を生成することがコード化効率を改善するかどうかを決定する。
【００９５】
図６の例に示すように、エンコーダ２０は、ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割する（６０１）。一例として、複数のサブセットは、図４の例に示す矩形形状サブセット、あるいは他の幾何学的形状又はパターンを備え得る。ビデオデータのリーフレベル単位は、上記で説明したように４分木構造の分割されていない子ノードなど、ビデオコード化規格の最低レベルのコード化単位を備え得る。
【００９６】
図６の例によれば、ビデオエンコーダ２０は、各サブセットの潜在的な非０係数の数に基づいて、複数のサブセットの各々に関連するシンタックス要素を生成すべきか否かを決定する。例えば、図６に示すように、エンコーダ２０は、各サブセットについて、サブセットの潜在的な非０係数の数を決定する（６０２）。潜在的な非０係数の数を決定するために、図４の例に関して上記で説明したように、エンコーダ２０は、各サブセットのいくつの係数がリーフレベル単位の最後の非０係数の前の位置を有するかを決定し得る。
【００９７】
図６に同じく示すように、エンコーダ２０は、潜在的な非０係数の決定された数を閾値ｔｈＮｏＣｏｅｆｆと比較する（６０３）。図６に同じく示すように、潜在的な非０係数の決定された数が閾値ｔｈＮｏＣｏｅｆｆよりも大きい場合、エンコーダ２０はサブセットに関連するシンタックス要素を生成する（６０４）。しかしながら、潜在的な非０係数の決定された数が閾値ｔｈＮｏＣｏｅｆｆよりも小さいか又はそれに等しい場合、エンコーダ２０はサブセットに関連するシンタックス要素を生成しない（６０５）。これらの例によれば、潜在的な非０係数の数が閾値ｔｈＮｏＣｏｅｆｆよりも小さいか又はそれに等しい場合、サブセットを符号化／復号することが実行されるべきであると推定され得る。このようにして、シンタックス要素は、ごく少数の潜在的な非０係数を含むそれらのサブセットについては生成されず、それにより、ビデオデータのリーフレベル単位を表すためにエンコーダ２０によって信号伝達される情報のビットの数を低減し得る。これは、サブセットがごく少数の潜在的な非０係数を含んでいるとき、それらの非０係数を信号伝達するために必要とされるビットの数は比較的小さく、それにより、サブセットが非０係数を有するか否かを示すシンタックス要素を信号伝達する際に相対的により大きいオーバーヘッドを生じることになるためである。その結果、サブセットがごく少数の（即ち、ｔｈＮｏＣｏｅｆｆよりも小さい）潜在的な非０係数を含んでいるとき、シンタックス要素を信号伝達せず、代わりにサブセットの係数を直接コード化することがより良い。
【００９８】
図７は、本開示の１つ又は複数の態様に一致する、ビデオデータを符号化する方法の別の例を示す流れ図である。図７の方法は、図２に示したエンコーダ２０によって実行されるものとして説明されるが、図７の技法を実行するために任意の機器が使用され得る。図７の例によれば、エンコーダ２０は、各サブセットについての非０係数の平均数に基づいて、シンタックス要素を生成することがコード化効率を改善するかどうかを決定する。
【００９９】
図７に示すように、エンコーダ２０は、ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割する（７０１）。図７に同じく示すように、エンコーダ２０は、各サブセットについて、サブセットについての非０係数の平均数を決定する。エンコーダ２０は、ビデオデータの前に符号化されたリーフレベル単位の各サブセット内の位置において係数がどれくらいの頻度で非０係数を含むかを示す統計値を収集するように構成され得る。例えば、エンコーダ２０は、リーフレベル単位が符号化されるとき、各サブセット内の係数がどれくらいの頻度で非０であるか、及び／又は各サブセットのいくつの係数が非０であるかを計数する１つ又は複数のカウンタを維持し得る。この例によれば、エンコーダ２０がビデオデータの新しいリーフレベル単位を符号化するとき、エンコーダ２０は、各サブセットについての非０係数の平均数を決定するためにそのようなカウンタにアクセスし得る。幾つかの例では、各サブセットのためのカウンタは、各ビデオフレーム又はスライスの場合など、周期的にリセットされ得る（例えば、初期設定され得る）。
【０１００】
図７に同じく示すように、エンコーダ２０は、非０係数の決定された平均数を閾値ｔｈＡｖｒｇＣｏｅｆｆと比較する（７０３）。図７に同じく示すように、非０係数の決定された平均数が閾値ｔｈＡｖｒｇＣｏｅｆｆよりも小さい場合、エンコーダ２０はサブセットに関連するシンタックス要素を生成する（７０４）。しかしながら、非０係数の決定された平均数が閾値よりも大きいか又はそれに等しい場合、エンコーダ２０はサブセットに関連するシンタックス要素を生成しない（７０５）。
【０１０１】
上記で説明したように、エンコーダ２０は、変換係数のサブセットが非０係数を含むかどうかを示す少なくとも１つのシンタックス要素を含むエントロピー符号化ビットストリームを生成し得る。エンコーダ２０は、図６に示すようにサブセットの潜在的な非０係数の数に基づいて、又は、図７に示すように非０係数の平均数に基づいて、シンタックス要素を生成すべきかどうかを決定し得る。デコーダ３０は、少なくとも１つのシンタックス要素を含むエントロピー符号化ビットストリームを読み取り、少なくとも１つのシンタックス要素を使用してエントロピー符号化ビットストリームを復号し得る。
【０１０２】
図８は、本開示の１つ又は複数の態様に一致する、デコーダによって実行され得る方法の一例を示す流れ図である。図８の方法は、図３に示したデコーダ３０によって実行されるものとして説明されるが、図８の方法を実行するために任意の機器が使用され得る。
【０１０３】
図８に示すように、デコーダ３０は、ビデオデータのリーフレベル単位を、各々が複数の変換係数をそれぞれ含む複数のサブセットに分割する（８０１）。一例として、複数のサブセットは、図４の例に示す矩形形状サブセット、又は他の幾何学的形状又はパターンを備え得る。ビデオデータのリーフレベル単位は、上記で説明したように４分木構造の分割されていない子ノードなど、ビデオコード化規格の最低レベルのコード化単位を備え得る。データのリーフレベル単位は、複数のサブセットのうちのサブセットが非０係数を含むか否かを示す少なくとも１つのシンタックス要素を含むエントロピー符号化ビットストリームによって表される。
【０１０４】
図８に同じく示すように、サブセットの各々について、デコーダ３０は、エントロピー符号化ビットストリームがサブセットに関連するシンタックス要素を含むかどうかを決定する（８０２）。図８に同じく示すように、サブセットがそのような関連するシンタックス要素を含まない場合、デコーダ３０はサブセット（例えば、サブセットの変換係数）を復号する（８０３）。図８に同じく示すように、サブセットがそのような関連するシンタックス要素を含む場合、デコーダ３０は、関連するシンタックス要素を使用してサブセットを復号すべきかどうかを決定する（８０４）。例えば、シンタックス要素が第１の値（例えば、１）を有する場合、デコーダ３０はサブセットを復号する。しかしながら、シンタックス要素が第２の値（例えば、０）を有する場合、デコーダ３０はサブセットを復号しない。
【０１０５】
１つ又は複数の例では、本明細書で説明した機能は、少なくとも部分的に特定のハードウェア構成要素又はプロセッサなどのハードウェアで実施され得る。より一般的には、それらの技術は、ハードウェア、プロセッサ、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、機能は、１つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理単位によって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、又は（２）信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コード及び／又はデータ構造を取り出すために１つ又は複数のコンピュータあるいは１つ又は複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１０６】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気記憶装置、フラッシュメモリ、若しくは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続も、コンピュータ可読媒体、即ち、コンピュータ可読伝送媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１０７】
命令は、１つ又は複数の中央処理ユニット（ＣＰＵ）、デジタル信号プロセッサ（ＤＳＰ）などの１つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明する技法の実施に好適な他の構造のいずれかを指し得る。さらに、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つ又は複数の回路又は論理要素中に十分に実施され得る
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実施され得る。本開示では、開示する技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上記で説明したように１つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
【０１０８】
様々な例について説明した。これら及び他の例は以下の特許請求の範囲に入る。
なお、以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］ビデオデータの単位を符号化する方法であって、
ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのサブセットについて、前記サブセットが非０係数を含むか否かを示すシンタックス要素を生成することと
を備える、方法。
［Ｃ２］前記サブセットについて、前記シンタックス要素を生成すべきか否かを決定すること
をさらに備える、Ｃ１に記載の方法。
［Ｃ３］前記サブセットについて、前記シンタックス要素を生成すべきか否かを決定することは、前記シンタックス要素を生成することがコード化効率を改善するかどうかを決定することを備える、Ｃ２に記載の方法。
［Ｃ４］前記シンタックス要素を生成すべきか否かを決定することが、前記サブセットの潜在的な非０係数の数を少なくとも１つの閾値と比較することと、
前記サブセットの潜在的な非０係数の前記数が前記閾値よりも大きい場合、前記シンタックス要素を生成することと
を備える、Ｃ２に記載の方法。
［Ｃ５］前記サブセットのいくつの係数が前記リーフレベル単位の最後の非０係数の後の位置を有するかに基づいて、潜在的な非０係数の前記数を決定すること
をさらに備える、Ｃ４に記載の方法。
［Ｃ６］前記シンタックス要素を生成すべきか否かを決定することが、
ビデオデータの複数の前にコード化されたリーフレベル単位について、前記サブセット中に含まれる非０係数の平均数を決定することと、
前記サブセット中に含まれる非０係数の前記平均数を閾値と比較することと、
非０係数の前記平均数が前記閾値よりも小さい場合、前記シンタックス要素を生成することとを
を備える、Ｃ２に記載の方法。
［Ｃ７］前記シンタックス要素を生成すべきか否かを決定することは、
前記サブセットがビデオデータの前記リーフレベル単位についての最後の非０係数を含むかどうかを決定することであって、前記サブセットが前記最後の非０係数を含む場合、前記サブセットが非０係数を含むか否かを示す前記シンタックス要素が生成されない、決定することを備える、Ｃ２に記載の方法。
［Ｃ８］前記複数の変換係数サブセットのうちの各サブセットについて、前記シンタックス要素を生成すべきか否かを決定すること
をさらに備える、Ｃ１に記載の方法。
［Ｃ９］ビデオデータの少なくとも１つのリーフレベル単位を符号化するように構成された装置であって、
ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのサブセットについて、前記サブセットが非０係数を含むか否かを示すシンタックス要素を生成することと
を行うように構成されたプロセッサ
を備える、装置。
［Ｃ１０］前記プロセッサが、
前記サブセットについて、前記シンタックス要素を生成すべきか否かを決定する
ようにさらに構成された、Ｃ９に記載の装置。
［Ｃ１１］前記プロセッサは、
前記シンタックス要素を生成することがコード化効率を改善するかどうかに基づいて、前記サブセットについて、前記シンタックス要素を生成すべきか否かを決定する
ようにさらに構成された、Ｃ１０に記載の装置。
［Ｃ１２］前記プロセッサが、
前記サブセットの潜在的な非０係数の数を少なくとも１つの閾値と比較することに基づいて、前記シンタックス要素を生成すべきか否かを決定することと、
前記サブセットの潜在的な非０係数の前記数が前記閾値よりも大きい場合、前記シンタックス要素を生成することと
を行うようにさらに構成された、Ｃ１０に記載の装置。
［Ｃ１３］前記プロセッサは、
前記サブセットのいくつの係数が前記リーフレベル単位の最後の非０係数の後の位置を有するかに基づいて、潜在的な非０係数の前記数を決定する
ようにさらに構成された、Ｃ１２に記載の装置。
［Ｃ１４］前記プロセッサが、
ビデオデータの複数の前にコード化されたリーフレベル単位について、前記サブセット中に含まれる非０係数の平均数を決定することと、
前記サブセット中に含まれる非０係数の前記平均数を閾値と比較することと、
非０係数の前記平均数が前記閾値よりも小さい場合、前記シンタックス要素を生成することと
を行うようにさらに構成された、Ｃ１０に記載の装置。
［Ｃ１５］前記符号化モジュールが、
前記複数の変換係数サブセットのうちの各サブセットについて、前記シンタックス要素を生成すべきか否かを決定する
ようにさらに構成された、Ｃ９に記載の装置。
［Ｃ１６］前記プロセッサは、
前記サブセットがビデオデータの前記リーフレベル単位についての最後の非０係数を含むかどうかを決定することであって、前記サブセットが前記最後の非０係数を含む場合、前記サブセットが非０係数を含むか否かを示す前記シンタックス要素が生成されない、決定することを行うようにさらに構成された、Ｃ９に記載の装置。
［Ｃ１７］実行されたとき、コンピュータ装置に、
ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのサブセットについて、前記サブセットが非０係数を含むか否かを示すシンタックス要素を生成することと
を行わせる命令を記憶するコンピュータ可読記憶媒体。
［Ｃ１８］前記命令が、前記コンピュータ装置に、
前記サブセットについて、前記シンタックス要素を生成すべきか否かを決定すること
をさらに行わせる、Ｃ１７に記載のコンピュータ可読記憶媒体。
［Ｃ１９］前記命令は、前記コンピュータ装置に、
前記シンタックス要素を生成することがコード化効率を改善するかどうかに基づいて、前記サブセットについて、前記シンタックス要素を生成すべきか否かを決定すること
をさらに行わせる、Ｃ１８に記載のコンピュータ可読記憶媒体。
［Ｃ２０］前記命令が、前記コンピュータ装置に、
前記サブセットの潜在的な非０係数の数を少なくとも１つの閾値と比較することに基づいて、前記シンタックス要素を生成すべきか否かを決定することと、
前記サブセットの潜在的な非０係数の前記数が前記閾値よりも大きい場合、前記シンタックス要素を生成することと
をさらに行わせる、Ｃ１８に記載のコンピュータ可読記憶媒体。
［Ｃ２１］前記命令は、前記コンピュータ装置に、
前記サブセットのいくつの係数が前記リーフレベル単位の最後の非０係数の後の位置を有するかに基づいて、潜在的な非０係数の前記数を決定すること
をさらに行わせる、Ｃ２０に記載のコンピュータ可読記憶媒体。
［Ｃ２２］前記命令が、前記コンピュータ装置に、
ビデオデータの複数の前にコード化されたリーフレベル単位について、前記サブセット中に含まれる非０係数の平均数を決定することと、
前記サブセット中に含まれる非０係数の前記平均数を閾値と比較することと、
非０係数の前記平均数が前記閾値よりも小さい場合、前記シンタックス要素を生成することと
をさらに行わせる、Ｃ１８に記載のコンピュータ可読記憶媒体。
［Ｃ２３］前記命令が、前記コンピュータ装置に、
前記複数の変換係数サブセットのうちの各サブセットについて、前記シンタックス要素を生成すべきか否かを決定すること
をさらに行わせる、Ｃ１７に記載のコンピュータ可読記憶媒体。
［Ｃ２４］前記命令は、前記コンピュータ装置に、
前記サブセットがビデオデータの前記リーフレベル単位についての最後の非０係数を含むかどうかを決定することであって、前記サブセットが前記最後の非０係数を含む場合、前記サブセットが非０係数を含むか否かを示す前記シンタックス要素が生成されない、決定すること
をさらに行わせる、Ｃ１７に記載のコンピュータ可読記憶媒体。
［Ｃ２５］ビデオデータの少なくとも１つのリーフレベル単位を符号化するように構成された装置であって、
ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割するための手段と、
前記複数の変換係数サブセットのうちのサブセットについて、前記サブセットが非０係数を含むか否かを示すシンタックス要素を生成するための手段と
を備える、装置。
［Ｃ２６］前記サブセットについて、前記シンタックス要素を生成すべきか否かを決定するための手段
をさらに備える、Ｃ２５に記載の装置。
［Ｃ２７］前記シンタックス要素を生成することがコード化効率を改善するかどうかに基づいて、前記サブセットについて、前記シンタックス要素を生成すべきか否かを決定するための手段
をさらに備える、Ｃ２６に記載の装置。
［Ｃ２８］前記サブセットの潜在的な非０係数の数を少なくとも１つの閾値と比較することに基づいて、前記シンタックス要素を生成すべきか否かを決定するための手段と、
前記サブセットの潜在的な非０係数の前記数が前記閾値よりも大きい場合、前記シンタックス要素を生成するための手段と
をさらに備える、Ｃ２６に記載の装置。
［Ｃ２９］前記サブセットのいくつの係数が前記リーフレベル単位の最後の非０係数の後の位置を有するかに基づいて、潜在的な非０係数の前記数を決定するための手段
をさらに備える、Ｃ２８に記載の装置。
［Ｃ３０］前記シンタックス要素を生成すべきか否かを決定するための手段が、
ビデオデータの複数の前にコード化されたリーフレベル単位について、前記サブセット中に含まれる非０係数の平均数を決定するための手段と、
前記サブセット中に含まれる非０係数の前記平均数を閾値と比較するための手段と、
非０係数の前記平均数が前記閾値よりも小さい場合、前記シンタックス要素を生成するための手段と
を備える、Ｃ２６に記載の装置。
［Ｃ３１］前記複数の変換係数サブセットのうちの各サブセットについて、前記シンタックス要素を生成すべきか否かを決定するための手段
をさらに備える、Ｃ２５に記載の装置。
［Ｃ３２］前記サブセットがビデオデータの前記リーフレベル単位についての最後の非０係数を含むかどうかを決定するための手段であって、前記サブセットが前記最後の非０係数を含む場合、前記サブセットが非０係数を含むか否かを示す前記シンタックス要素が生成されない、決定するための手段
をさらに備える、Ｃ２５に記載の装置。
［Ｃ３３］ビデオデータの単位を復号する方法であって、
ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのサブセットについて、前記サブセットが非０係数を含むか否かを示す関連するシンタックス要素を前記サブセットが含むかどうかを決定することと、
前記シンタックス要素に基づいて、前記サブセットを復号すべきか否かを決定することと
を備える方法。
［Ｃ３４］前記サブセットが前記シンタックス要素を含まない場合、前記サブセットを復号すること
をさらに備える、Ｃ３３に記載の方法。
［Ｃ３５］データの前記サブセットが前記シンタックス要素を含む場合、前記指標に基づいて前記サブセットを復号すべきかどうかを決定すること
をさらに備える、Ｃ３４に記載の方法。
［Ｃ３６］前記サブセットに関連する前記シンタックス要素が第１の値を有する場合、前記サブセットを復号することと、
前記シンタックス要素が前記第１の値とは異なる第２の値を有する場合、前記サブセットを復号しないことと
をさらに備える、Ｃ３５に記載の方法。
［Ｃ３７］前記複数の変換係数サブセットのうちの各サブセットについて、前記サブセットが非０係数を含むか否かを示す関連するシンタックス要素を前記サブセットが含むかどうかを決定することと、
前記シンタックス要素に基づいて、前記サブセットを復号すべきか否かを決定することと
さらに備える、Ｃ３３に記載の方法。
［Ｃ３８］前記サブセットが前記シンタックス要素を含まない場合、最後の非０係数が前記サブセット中に含まれることを示す別個のシンタックス要素を前記サブセットが含むかどうかを決定することと、
最後の非０係数が前記サブセット中に含まれることを示す前記別個のシンタックス要素を前記サブセットが含む場合、前記サブセットを復号することと
をさらに備える、Ｃ３３に記載の方法。
［Ｃ３９］ビデオデータの単位を復号するように構成された装置であって、
ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのサブセットについて、前記サブセットが非０係数を含むか否かを示す関連するシンタックス要素を前記サブセットが含むかどうかを決定することと、
前記シンタックス要素に基づいて、前記サブセットを復号すべきか否かを決定することと
を行うように構成されたプロセッサ
を備える、装置。
［Ｃ４０］前記プロセッサは、
前記サブセットが前記シンタックス要素を含まない場合、前記サブセットを復号するようにさらに構成された、Ｃ３９に記載の装置。
［Ｃ４１］前記プロセッサは、
データの前記サブセットが前記シンタックス要素を含む場合、前記指標に基づいて前記サブセットを復号すべきかどうかを決定するようにさらに構成された、Ｃ４０に記載の装置。
［Ｃ４２］前記プロセッサは、
前記サブセットに関連する前記シンタックス要素が第１の値を有する場合、前記サブセットを復号することと、
前記シンタックス要素が前記第１の値とは異なる第２の値を有する場合、前記サブセットを復号しないことと
を行うようにさらに構成された、Ｃ４１に記載の装置。
［Ｃ４３］前記プロセッサが、
前記複数の変換係数サブセットのうちの各サブセットについて、前記サブセットが非０係数を含むか否かを示す関連するシンタックス要素を前記サブセットが含むかどうかを決定することと、
前記シンタックス要素に基づいて、前記サブセットを復号すべきか否かを決定することと、
を行うようにさらに構成された、Ｃ３９に記載の装置。
［Ｃ４４］前記プロセッサは、
前記サブセットが前記シンタックス要素を含まない場合、最後の非０係数が前記サブセット中に含まれることを示す別個のシンタックス要素を前記サブセットが含むかどうかを決定することと、
最後の非０係数が前記サブセット中に含まれることを示す前記別個のシンタックス要素を前記サブセットが含む場合、前記サブセットを復号することと、
を行うようにさらに構成された、Ｃ３９に記載の装置。
［Ｃ４５］実行されたとき、コンピュータ装置に、
ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割することと、
前記複数の変換係数サブセットのうちのサブセットについて、前記サブセットが非０係数を含むか否かを示す関連するシンタックス要素を前記サブセットが含むかどうかを決定することと、
前記シンタックス要素に基づいて、前記サブセットを復号すべきか否かを決定することと、
を行わせる命令を記憶するコンピュータ可読記憶媒体。
［Ｃ４６］前記命令は、前記コンピュータ装置に、
前記サブセットが前記シンタックス要素を含まない場合、前記サブセットを復号させることをさらに行わせる、Ｃ４５に記載のコンピュータ可読記憶媒体。
［Ｃ４７］前記命令は、前記コンピュータ装置に、
データの前記サブセットが前記シンタックス要素を含む場合、前記指標に基づいて前記サブセットを復号すべきかどうかを決定することをさらに行わせる、Ｃ４６に記載のコンピュータ可読記憶媒体。
［Ｃ４８］前記命令は、前記コンピュータ装置に、
前記サブセットに関連する前記シンタックス要素が第１の値を有する場合、前記サブセットを復号することと、
前記シンタックス要素が前記第１の値とは異なる第２の値を有する場合、前記サブセットを復号しないことと、
をさらに行わせる、Ｃ４７に記載のコンピュータ可読記憶媒体。
［Ｃ４９］前記命令が、前記コンピュータ装置に、
前記複数の変換係数サブセットのうちの各サブセットについて、前記サブセットが非０係数を含むか否かを示す関連するシンタックス要素を前記サブセットが含むかどうかを決定することと、
前記シンタックス要素に基づいて、前記サブセットを復号すべきか否かを決定することと、
をさらに行わせる、Ｃ４６に記載のコンピュータ可読記憶媒体。
［Ｃ５０］前記命令は、前記コンピュータ装置に、
前記サブセットが前記シンタックス要素を含まない場合、最後の非０係数が前記サブセット中に含まれることを示す別個のシンタックス要素を前記サブセットが含むかどうかを決定することと、
最後の非０係数が前記サブセット中に含まれることを示す前記別個のシンタックス要素を前記サブセットが含む場合、前記サブセットを復号することと、
をさらに行わせる、Ｃ４５に記載のコンピュータ可読記憶媒体。
［Ｃ５１］ビデオデータの単位を復号するように構成された装置であって、
ビデオデータのリーフレベル単位を複数の変換係数サブセットに分割するための手段と、
前記複数の変換係数サブセットのうちのサブセットについて、前記サブセットは前記サブセットが非０係数を含むか否かを示すシンタックス要素を含むかどうかを決定するための手段と、
前記シンタックス要素に基づいて、前記サブセットを復号すべきか否かを決定するための手段と、
を備える、装置。
［Ｃ５２］前記サブセットが前記シンタックス要素を含まない場合、前記サブセットを復号するための手段をさらに備える、Ｃ５１に記載の装置。
［Ｃ５３］データの前記サブセットが前記シンタックス要素を含む場合、前記指標に基づいて前記サブセットを復号すべきかどうかを決定するための手段をさらに備える、Ｃ５２に記載の装置。
［Ｃ５４］前記サブセットに関連する前記シンタックス要素が第１の値を有する場合、前記サブセットを復号するための手段と、
前記シンタックス要素が前記第１の値とは異なる第２の値を有する場合、前記サブセットを復号しないための手段と、
をさらに備える、Ｃ５３に記載の前記装置。
［Ｃ５５］前記複数の変換係数サブセットのうちの各サブセットについて、前記サブセットが非０係数を含むか否かを示す関連するシンタックス要素を前記サブセットが含むかどうかを決定するための手段と、
前記シンタックス要素に基づいて、前記サブセットを復号すべきか否かを決定するための手段と、
をさらに備える、Ｃ５１に記載の装置。
［Ｃ５６］前記サブセットが前記シンタックス要素を含まない場合、最後の非０係数が前記サブセット中に含まれることを示す別個のシンタックス要素を前記サブセットが含むかどうかを決定するための手段と、
最後の非０係数が前記サブセット中に含まれることを示す前記別個のシンタックス要素を前記サブセットが含む場合、前記サブセットを復号するための手段と、
をさらに備える、Ｃ５１に記載の装置。
【図１】
0005955955.tif 000006
【図２】
0005955955.tif 000007
【図３】
0005955955.tif 000008
【図４】
0005955955.tif 000009
【図５】
0005955955.tif 000010
【図６】
0005955955.tif 000011
【図７】
0005955955.tif 000012
【図８】
0005955955.tif 000013