(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
ビデオデコーダが、ビデオデータのブロックに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することと、ここにおいて、前記ブロックはビデオデータのコード化単位（ＣＵ）内に含まれ、前記ビデオデータは４分木構造を定義し、前記コード化単位は前記４分木構造のノードであり、前記ＣＵは変換単位（ＴＵ）を備え、前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定することは前記ＴＵの深さに基づいて前記ＴＵに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、
前記ビデオデコーダが、決定された前記コンテキスト情報を使用して、前記１つ以上のシンタックス要素をエントロピー復号することと、
を備え、
前記１つ以上のシンタックス要素をエントロピー復号することは前記１つ以上のシンタックス要素をコンテキスト適応型二値算術復号することを備え、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術復号することは決定された前記コンテキスト情報を使用して前記１つ以上のシンタックス要素を復号するために複数の確率モデルから１つの確率モデルを選択することを備える、方法。
【請求項２】
前記ＣＵの前記深さに基づいて前記ＣＵのインター予測残差データについてのコンテキスト情報を決定することを含む１つ以上の第２のシンタックス要素についてのコンテキスト情報を決定することをさらに備える、請求項１に記載の方法。
【請求項３】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定することは前記ＣＵの前記深さに基づいてインター予測フラグ(inter_pred_flag)についてのコンテキスト情報を決定することを含む、請求項２に記載の方法。
【請求項４】
前記コンテキスト情報を決定することは前記ＴＵが前記ＴＵの前記深さに基づいて非０変換係数レベルを含むかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、請求項１に記載の方法。
【請求項５】
符号化されたビットストリームから前記１つ以上のシンタックス要素を受信することをさらに備える、請求項１に記載の方法。
【請求項６】
受信されたビットストリームをエントロピー復号して、ビデオデータの前記ブロックに関連する量子化変換係数を生成することと、
前記量子化変換係数を逆量子化して変換係数を生成することと、
前記変換係数に逆変換を適用して、ビデオデータの前記ブロックに関連する残差値を生成することと、
をさらに備える、請求項５に記載の方法。
【請求項７】
ビデオデータを復号するための装置であって、
ビデオデータのブロックを記憶するよう構成されるメモリと、
１つ以上のプロセッサを備え、前記１つ以上のプロセッサは、
ビデオデータの前記ブロックに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することと、ここにおいて、前記ブロックはビデオデータのコード化単位（ＣＵ）内に含まれ、前記ビデオデータは４分木構造を定義し、前記ＣＵは前記４分木構造のノードであり、前記ＣＵは変換単位（ＴＵ）を備え、前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定することは前記ＴＵの深さに基づいて前記ＴＵに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、
決定された前記コンテキスト情報を使用して、前記１つ以上のシンタックス要素をエントロピー復号することと、
を行うよう構成され、
前記１つ以上のシンタックス要素をエントロピー復号するために、前記１つ以上のプロセッサは、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術復号するよう構成され、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術復号するために、前記１つ以上のプロセッサは決定された前記コンテキスト情報を使用して前記１つ以上のシンタックス要素を復号するために複数の確率モデルから１つの確率モデルを選択するよう構成される、装置。
【請求項８】
前記１つ以上のプロセッサが前記ＣＵの前記深さに基づいて前記ＣＵのインター予測残差データについてのコンテキスト情報を決定することを含む１つ以上の第２のシンタックス情報についてのコンテキスト情報を決定するようにさらに構成される、請求項７に記載の装置。
【請求項９】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは前記ＣＵの前記深さに基づいてインター予測フラグ(inter_pred_flag)についてのコンテキスト情報を決定するように構成される、請求項８に記載の装置。
【請求項１０】
前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは前記ＴＵが前記ＴＵの前記深さに基づいて非０変換係数レベルを含むかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定するように構成される、請求項７に記載の装置。
【請求項１１】
前記１つ以上のプロセッサは符号化されたビットストリームから前記１つ以上のシンタックス要素を受信するよう構成される、請求項７に記載の装置。
【請求項１２】
前記１つ以上のプロセッサは、
受信されたビットストリームをエントロピー復号して、ビデオデータの前記ブロックに関連する量子化変換係数を生成し、
前記量子化変換係数を逆量子化して変換係数を生成し、
前記変換係数に逆変換を適用して、ビデオデータの前記ブロックに関連する残差値を生成するようにさらに構成される、請求項１１に記載の装置。
【請求項１３】
ビデオデータを復号するための装置であって、
ビデオデータのブロックに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定するための手段と、ここにおいて、前記ブロックはビデオデータのコード化単位（ＣＵ）内に含まれ、前記ビデオデータは４分木構造を定義し、前記コード化単位は前記４分木構造のノードであり、前記ＣＵは変換単位（ＴＵ）を備え、前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定することは前記ＴＵの深さに基づいて前記ＴＵに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、
決定された前記コンテキスト情報を使用して、前記１つ以上のシンタックス要素をエントロピー復号するための手段と、
を備え、
前記１つ以上のシンタックス要素をエントロピー復号するための前記手段は前記１つ以上のシンタックス要素をコンテキスト適応型二値算術復号するための手段を備え、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術復号するための前記手段は前記決定されたコンテキスト情報を使用して前記１つ以上のシンタックス要素を復号するために複数の確率モデルから１つの確率モデルを選択するための手段を備える、装置。
【請求項１４】
前記ＣＵの前記深さに基づいて前記ＣＵのインター予測残差データについてのコンテキスト情報を決定するための手段を含む１つ以上の第２のシンタックス要素についてのコンテキスト情報を決定するための手段をさらに備える、請求項１３に記載の装置。
【請求項１５】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定するための前記手段は、前記ＣＵの前記深さに基づいてインター予測フラグ(inter_pred_flag)についてのコンテキスト情報を決定するための手段を含む、請求項１４に記載の装置。
【請求項１６】
前記コンテキスト情報を決定するための前記手段は、前記ＴＵが前記ＴＵの前記深さに基づいて非０変換係数レベルを含むかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定するための手段を備える、請求項１３に記載の装置。
【請求項１７】
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は実行されたとき、１つ以上のプロセッサに、
ビデオデータのブロックに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することと、ここにおいて、前記ブロックはビデオデータのコード化単位（ＣＵ）内に含まれ、前記ビデオデータは４分木構造を定義し、前記ＣＵは前記４分木構造のノードであり、前記ＣＵは変換単位（ＴＵ）を備え、前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定することは前記ＴＵの深さに基づいて前記ＴＵに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、
決定された前記コンテキスト情報を使用して、前記１つ以上のシンタックス要素をエントロピー復号することと、
を行わせ、
前記１つ以上のシンタックス要素をエントロピー復号するために、前記１つ以上のプロセッサは前記１つ以上のシンタックス要素をコンテキスト適応型二値算術復号するよう構成され、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術復号するために、前記１つ以上のプロセッサは決定された前記コンテキスト情報を使用して前記１つ以上のシンタックス要素を復号するために複数の確率モデルから１つの確率モデルを選択するように構成される、コンピュータ可読記憶媒体。
【請求項１８】
前記１つ以上のプロセッサに前記ＣＵの前記深さに基づいて前記ＣＵのインター予測残差データについてのコンテキスト情報を決定することを含む１つ以上の第２のシンタックス要素についてのコンテキスト情報を決定させる命令をさらに備える、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記命令は、前記１つ以上のプロセッサに、前記ＣＵの前記深さに基づいてインター予測フラグ(inter_pred_flag)についてのコンテキスト情報を決定することによって前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定させる、請求項１８に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記命令は、前記１つ以上のプロセッサに、前記ＴＵが前記ＴＵの前記深さに基づいて非０変換係数レベルを含むかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定することによって前記コンテキスト情報を決定させる、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２１】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定することは、前記ＣＵが前記ＣＵの前記深さに基づいて分割されるかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、請求項２に記載の方法。
【請求項２２】
前記ＴＵに関連する前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定することは前記ＴＵの前記深さに基づいて前記ＴＵのイントラ予測残差データについてのコンテキスト情報を決定することを備える、請求項１に記載の方法。
【請求項２３】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは、前記ＣＵが前記ＣＵの前記深さに基づいて分割されるかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定するよう構成される、請求項８に記載の装置。
【請求項２４】
前記ＴＵに関連する前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは、前記ＴＵの前記深さに基づいて前記ＴＵのイントラ予測残差データについてのコンテキスト情報を決定するよう構成される、請求項７に記載の装置。
【請求項２５】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定するための前記手段は、前記ＣＵが前記ＣＵの前記深さに基づいて分割されるかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定するための手段を備える、請求項１４に記載の装置。
【請求項２６】
前記ＴＵに関連する前記１つ以上のシンタックス要素についてのコンテキスト情報を決定するための前記手段は、前記ＴＵの前記深さに基づいて前記ＴＵのイントラ予測残差データについてのコンテキスト情報を決定するための手段を備える、請求項１３に記載の装置。
【請求項２７】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定するために、前記命令は、前記１つ以上のプロセッサに、前記ＣＵが前記ＣＵの前記深さに基づいて分割されるかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定させる、請求項１８に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記ＴＵに関連する前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定するために、前記命令は、前記１つ以上のプロセッサに、前記ＴＵの前記深さに基づいて前記ＴＵのイントラ予測残差データについての前記コンテキスト情報を決定させる、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２９】
ビデオデータを符号化する方法であって、
ビデオデータのブロックに関連する１つ以上のシンタックス要素についてのコンテキスト情報を、ビデオエンコーダが、決定することと、ここにおいて、前記ブロックはビデオデータのコード化単位（ＣＵ）内に含まれ、前記ビデオデータは４分木構造を定義し、前記コード化単位は前記４分木構造のノードであり、前記ＣＵは変換単位（ＴＵ）を備え、前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定することは前記ＴＵの深さに基づいて前記ＴＵに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、
決定された前記コンテキスト情報を使用する前記１つ以上のシンタックス要素を、前記ビデオエンコーダが、エントロピー符号化することと
を備え、
前記１つ以上のシンタックス要素をエントロピー符号化することは、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術符号化することを備え、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術符号化することは決定された前記コンテキスト情報を使用して前記１つ以上のシンタックス要素を符号化するために複数の確率モデルから１つの確率モデルを選択することを備える、方法。
【請求項３０】
前記ＣＵの前記深さに基づいて前記ＣＵのインター予測残差データについてのコンテキスト情報を決定することを含む１つ以上の第２のシンタックス要素についてのコンテキスト情報を決定することをさらに備える、請求項２９に記載の方法。
【請求項３１】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定することは前記ＣＵが前記ＣＵの前記深さに基づいて分割されるかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、請求項３０に記載の方法。
【請求項３２】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定することは、前記ＣＵの前記深さに基づいてインター予測フラグ(inter_pred_flag)についてのコンテキスト情報を決定することを備える、請求項３０に記載の方法。
【請求項３３】
前記ＴＵに関連する前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定することは前記ＴＵの前記深さに基づいて前記ＴＵのイントラ予測残差データについてのコンテキスト情報を決定することを備える、請求項２９に記載の方法。
【請求項３４】
前記コンテキスト情報を決定することは、前記ＴＵが前記ＴＵの前記深さに基づいて非０変換係数レベルを含むかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、請求項２９に記載の方法。
【請求項３５】
変換係数を生成するよう前記ブロックの１つ以上の残差値に変換を適用することと、
量子化変換係数を生成するよう前記変換係数を量子化することと、
前記量子化変換係数を符号化することと
をさらに備える、請求項２９に記載の方法。
【請求項３６】
ビデオデータを符号化するための装置であって、
ビデオデータのブロックを記憶するよう構成されるメモリと、
１つ以上のプロセッサを備え、前記１つ以上のプロセッサは、
ビデオデータの前記ブロックに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することと、ここにおいて、前記ブロックはビデオデータのコード化単位（ＣＵ）内に含まれ、前記ビデオデータは４分木構造を定義し、前記ＣＵは前記４分木構造のノードであり、前記ＣＵは変換単位（ＴＵ）を備え、前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定することは前記ＴＵの深さに基づいて前記ＴＵに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、
決定された前記コンテキスト情報を使用して、前記１つ以上のシンタックス要素をエントロピー符号化することと、
を行うよう構成され、
前記１つ以上のシンタックス要素をエントロピー符号化するために、前記１つ以上のプロセッサは、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術符号化するよう構成され、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術符号化するために、前記１つ以上のプロセッサは決定された前記コンテキスト情報を使用して前記１つ以上のシンタックス要素を符号化するために複数の確率モデルから１つの確率モデルを選択するよう構成される、装置。
【請求項３７】
前記１つ以上のプロセッサは前記ＣＵの前記深さに基づいて前記ＣＵのインター予測残差データについてのコンテキスト情報を決定することを含む１つ以上の第２のジンタックス要素についてのコンテキスト情報を決定するようさらに構成される、請求項３６に記載の装置。
【請求項３８】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは、前記ＣＵが前記ＣＵの前記深さに基づいて分割されるかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定するよう構成される、請求項３７に記載の装置。
【請求項３９】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは、前記ＣＵの前記深さに基づいて前記インター予測フラグ(inter_pred_flag)についてのコンテキスト情報を決定するよう構成される、請求項３７に記載の装置。
【請求項４０】
前記ＴＵに関連する前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは、前記ＴＵの前記深さに基づいて前記ＴＵのイントラ予測残差データについてコンテキスト情報を決定するよう構成される、請求項３６に記載の装置。
【請求項４１】
前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは、前記ＴＵが前記ＴＵの前記深さに基づいて非０変換係数レベルを含むかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定するよう構成される、請求項３６に記載の装置。
【請求項４２】
前記１つ以上のプロセッサであって、
変換係数を生成するよう前記ブロックの１つ以上の残差値に変換を適用することと、
量子化変換係数を生成するよう前記変換係数を量子化することと、
前記量子化変換係数を符号化することと
を行うように構成される、請求項３６に記載の装置。
【請求項４３】
ビデオデータを符号化するための装置であって、
ビデオデータのブロックに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定するための手段と、ここにおいて、前記ブロックはビデオデータのコード化単位（ＣＵ）内に含まれ、前記ビデオデータは４分木構造を定義し、前記コード化単位は前記４分木構造のノードであり、前記ＣＵは変換単位（ＴＵ）を備え、前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定することは前記ＴＵの深さに基づいて前記ＴＵに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、
決定された前記コンテキスト情報を使用して、前記１つ以上のシンタックス要素をエントロピー符号化するための手段と、
を備え、
前記１つ以上のシンタックス要素をエントロピー符号化するための前記手段は、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術符号化するための手段を備え、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術符号化するための前記手段は、決定された前記コンテキスト情報を使用して前記１つ以上のシンタックス要素を符号化するために複数の確率モデルから１つの確率モデルを選択するための手段を備える、装置。
【請求項４４】
前記ＣＵの前記深さに基づいて前記ＣＵのインター予測残差データについてのコンテキスト情報を決定することための手段を含む１つ以上の第２のシンタックス要素についてのコンテキスト情報を決定するための手段をさらに備える、請求項４３に記載の装置。
【請求項４５】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定するための前記手段は前記ＣＵが前記ＣＵの前記深さに基づいて分割されるかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定するための手段を備える、請求項４４に記載の装置。
【請求項４６】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定するための前記手段は、前記ＣＵの前記深さに基づいてインター予測フラグ(inter_pred_flag)についてのコンテキスト情報を決定するための手段を備える、請求項４４に記載の装置。
【請求項４７】
前記ＴＵに関連する前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定するための前記手段は前記ＴＵの前記深さに基づいて前記ＴＵのイントラ予測残差データについてのコンテキスト情報を決定するための手段を備える、請求項４３に記載の装置。
【請求項４８】
前記コンテキスト情報を決定するための前記手段は、前記ＴＵが前記ＴＵの前記深さに基づいて非０変換係数レベルを含むかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定するための手段を備える、請求項４３に記載の装置。
【請求項４９】
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は実行されたとき、１つ以上のプロセッサに、
ビデオデータのブロックに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することと、ここにおいて、前記ブロックはビデオデータのコード化単位（ＣＵ）内に含まれ、前記ビデオデータは４分木構造を定義し、前記ＣＵは前記４分木構造のノードであり、前記ＣＵは変換単位（ＴＵ）を備え、前記１つ以上のシンタックス要素についての前記コンテキスト情報を決定することは前記ＴＵの深さに基づいて前記ＴＵに関連する１つ以上のシンタックス要素についてのコンテキスト情報を決定することを備える、
決定された前記コンテキスト情報を使用して、前記１つ以上のシンタックス要素をエントロピー符号化することと、
を行わせ、
前記１つ以上のシンタックス要素をエントロピー符号化するために、前記１つ以上のプロセッサは前記１つ以上のシンタックス要素をコンテキスト適応型二値算術符号化するよう構成され、前記１つ以上のシンタックス要素をコンテキスト適応型二値算術符号化するために、前記１つ以上のプロセッサは決定された前記コンテキスト情報を使用して前記１つ以上のシンタックス要素を符号化するために複数の確率モデルから１つの確率モデルを選択するように構成される、コンピュータ可読記憶媒体。
【請求項５０】
前記１つ以上のプロセッサに、前記ＣＵの前記深さに基づいて前記ＣＵのインター予測残差データについてのコンテキスト情報を決定することを含む１つ以上の第２のシンタックス要素についてのコンテキスト情報を決定させる命令をさらに備える、請求項４９に記載のコンピュータ可読記憶媒体。
【請求項５１】
前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定するために、前記命令は、前記１つ以上のプロセッサに、前記ＣＵが前記ＣＵの前記深さに基づいて分割されるかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定させる、請求項５０に記載のコンピュータ可読記憶媒体。
【請求項５２】
前記命令は、前記１つ以上のプロセッサに、前記ＣＵの前記深さに基づいてインター予測フラグ(inter_pred_flag)についてのコンテキスト情報を決定することによって前記ＣＵの前記インター予測残差データについての前記コンテキスト情報を決定させる、請求項５０に記載のコンピュータ可読記憶媒体。
【請求項５３】
前記ＴＵに関連する前記１つ以上のシンタックス要素についての前記コンテキスト情報を判断するために、前記命令は、前記１つ以上のプロセッサに前記ＴＵの前記深さに基づいて前記ＴＵのイントラ予測残差データについてのコンテキスト情報を決定させる、請求項４９に記載のコンピュータ可読記憶媒体。
【請求項５４】
前記命令は前記１つ以上のプロセッサに、前記ＴＵが前記ＴＵの前記深さに基づいて非０変換係数レベルを含むかどうかを示す１つ以上のシンタックス要素についてのコンテキスト情報を決定することによって前記コンテキスト情報を決定させる、請求項４９に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その各々の内容の全体が参照により本明細書に組み込まれる、２０１１年６月３日に出願された米国仮出願第６１／４９３，３６１号、及び２０１１年７月１日に出願された米国仮出願第６１／５０４，１５３号、及び２０１１年１０月１３日に出願された米国仮出願第６１／５４６，７３２号の優先権を主張する。
【０００２】
本開示は、ビデオコード化に関し、より詳細には、ビデオデータのエントロピーコード化に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー又は衛星無線電話、所謂「スマートフォン」、ビデオ遠隔会議機器、ビデオストリーミング機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコード化（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実施する。ビデオ機器は、そのようなビデオ圧縮技法を実施することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び／又は記憶することができる。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的（イントラピクチャ）予測及び／又は時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコード化の場合、ビデオスライス（即ち、ビデオフレーム又はビデオフレームの一部分）が、ツリーブロック、コード化単位（ＣＵ）及び／又はコード化ノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（Ｐ又はＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、又は他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
空間的予測又は時間的予測は、コード化されるべきブロックの予測ブロックを生じる。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、及びコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコード化が適用され得る。
【発明の概要】
【０００６】
概して、本開示では、ビデオデータをコード化するための技法について説明する。例えば、本開示の技法は、ビデオデータをエントロピーコード化するときにバッファリングされるデータの量を減らすことを含む。エントロピーコード化中に、ビデオコード化機器は、コード化されるデータの値の確率を決定するために、コンテキストモデルを選択することができる。ビデオデータの特定のブロックに関するコンテキストモデルは、ビデオデータの隣接ブロックから引き出されたコンテキスト情報に基づき得る。従って、ビデオコード化機器は、ビデオデータの隣接ブロックの情報をバッファリングすることができ、それにより、そのような情報をコンテキスト情報として使用することが可能になる。本開示の技法は、エントロピーコード化中にバッファリングされる隣接ブロックからのデータの量を制限することに関する。本開示の幾つかの態様によれば、ビデオコード化機器は、現在のブロックをコード化するときに、（例えば、「上に隣接するブロック」と呼ばれる）現在コード化されているビデオデータのブロックの上に位置するビデオデータのブロックからのデータをコンテキスト情報として使用することを回避し得る。
【０００７】
一例では、本開示の態様は、ビデオデータをコード化する方法に関し、本方法は、ビデオデータのコード化済単位(coded unit)内に含まれておりコード化済単位中のブロックの最上行の下にあるビデオデータのブロックについてのコンテキスト情報を決定することに関し、コンテキスト情報は、コード化済単位中の上に隣接するブロックからの情報を含まない。本方法は、決定されたコンテキスト情報を使用して、ブロックのデータをエントロピーコード化することも含む。
【０００８】
別の例では、本開示の態様は、ビデオデータをコード化するための装置に関し、本装置は、１つ以上のプロセッサを含み、１つ以上のプロセッサは、ビデオデータのコード化済単位内に含まれておりコード化済単位中のブロックの最上行の下にあるビデオデータのブロックについてのコンテキスト情報を決定することであって、コンテキスト情報は、コード化単位中の上に隣接するブロックからの情報を含まないことと、決定されたコンテキスト情報を使用して、ブロックのデータをエントロピーコード化することとを行うように構成される。
【０００９】
別の例では、本開示の態様は、ビデオデータをコード化するための装置に関し、本装置は、ビデオデータのコード化済単位内に含まれておりコード化済単位中のブロックの最上行の下にあるビデオデータのブロックについてのコンテキスト情報を決定するための手段であって、コンテキスト情報は、コード化済単位中の上に隣接するブロックからの情報を含まない、手段と、決定されたコンテキスト情報を使用して、ブロックのデータをエントロピーコード化するための手段とを含む。
【００１０】
別の例では、本開示の態様は、命令を記憶したコンピュータ可読記憶媒体に関し、命令は実行されたとき、１つ以上のプロセッサに、ビデオデータのコード化済単位内に含まれておりコード化済単位中のブロックの最上行の下にあるビデオデータのブロックについてのコンテキスト情報を決定することであって、コンテキスト情報は、コード化済単位中の上に隣接するブロックからの情報を含まないことと、決定されたコンテキスト情報を使用して、前記ブロックのデータをエントロピーコード化することとを行わせる。
【００１１】
本開示の１つ以上の態様の詳細を添付の図面及び以下の説明に記載する。本開示で説明する技法の他の特徴、目的、及び利点は、これらの説明及び図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】本開示で説明する技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。
【図２】本開示で説明する技法を実施し得る例示的なビデオエンコーダを示すブロック図。
【図３】本開示で説明する技法を実施し得る例示的なビデオデコーダを示すブロック図。
【図４Ａ】例示的な４分木（quadtree）を示す概念図。
【図４Ｂ】対応する最大コード化単位（ＬＣＵ）を示す概念図。
【図５】ブロックをエントロピーコード化するためにコンテキストが決定される場合の元になる例示的な隣接ブロックを示すブロック図。
【図６】ブロックをエントロピーコード化するためにコンテキストが決定される場合の元になる例示的な隣接ブロックを示すブロック図。
【図７】ビデオデータのブロックをエントロピーコード化する例示的な方法を示すフローチャート。
【図８】ビデオデータのブロックをエントロピーコード化する別の例示的な方法を示すフローチャート。
【図９】ビデオデータのブロックをエントロピーコード化する別の例示的な方法を示すフローチャート。
【図１０】ビデオデータのブロックをエントロピーコード化する別の例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１３】
ビデオコード化機器は、空間的冗長性と時間的冗長性とを利用することによってビデオデータを圧縮しようとすることがある。例えば、ビデオエンコーダは、ブロックを、以前コード化された隣接ブロックに関連してコード化することによって、空間的冗長性を利用することがある。同様に、ビデオエンコーダは、ブロックを、以前コード化されたフレームのデータに関連してコード化することによって、時間的冗長性を利用することがある。具体的には、ビデオエンコーダは現在のブロックを、空間的隣接部分のデータから、又は以前コード化されたフレームのデータから予測し得る。次いでビデオエンコーダは、ブロックの実際の画素値とブロックの予測画素値との間の差分としてブロックの残差を計算し得る。従って、ブロックの残差は、画素領域（又は空間領域）における画素ごとの差分値を含み得る。
【００１４】
次いでビデオエンコーダは、残差の値に変換を適用して、画素値のエネルギーを周波数領域における比較的少数の変換係数に圧縮することができる。次いでビデオエンコーダは、その変換係数を量子化し得る。ビデオエンコーダは、量子化変換係数を走査して、量子化変換係数の２次元行列を、量子化変換係数を含む１次元ベクトルに変換することができる。場合によっては、量子化プロセス及び走査プロセスは同時に生じ得る。係数を走査するプロセスは、係数のシリアル化と呼ばれることがある。
【００１５】
次いでビデオエンコーダは、走査された係数をエントロピーコード化するためにエントロピーコード化プロセスを適用し得る。例示的なエントロピーコード化プロセスには、例えば、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型二値算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型二値算術コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化又は他のエントロピーコード化方法があり得る。ビデオエンコーダはまた、ビデオデータを復号する際にビデオデコーダが使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００１６】
（ＣＡＢＡＣ）に関して、ビデオコーダは、ビデオデータのブロックに関連するシンボルを符号化するためにコンテキストに作用するコンテキストモデルを選択し得る。コンテキストは、例えば、現在コード化されているシンボルに隣接するシンボルについて値が０であるのか非０であるのかに関係し得る。
【００１７】
幾つかの例によれば、ビデオブロックにおける有効係数（即ち、非０変換係数）の位置は、「変換係数のレベル」と呼ばれることがある変換係数の値の前に符号化され得る。有効係数の位置をコード化するプロセスは、有効性マップコード化と呼ばれることがある。有効性マップ（ＳＭ）は、有効係数の位置を示す２進値の２次元アレイを含む。例えば、ビデオデータのブロックについてのＳＭは、１及び０の２次元アレイを含み得、１は、ブロック内の有効変換係数の位置を示し、０は、ブロック内の無効な（０値の）変換係数の位置を示す。１及び０は「有効係数フラグ」と呼ばれる。
【００１８】
ＳＭがコード化された後、ビデオコーダは各有効変換係数のレベルをエントロピーコード化し得る。例えば、ビデオコーダは、各非０変換係数の絶対値を２進形態に変換し得る。このようにして、各非０変換係数は、例えば１つ以上のビット又は「ビン」を備える単項コードを使用して「２値化され」得る。更に、ビデオデコーダがビデオデータを復号できるように、幾つかの他の２値化シンタックス要素が含まれ得る。
【００１９】
ビデオコーダは、ビデオデータのブロックの各ビンを、ブロックの変換係数に対応するか、シンタックス情報に対応するかを問わず、ビンごとに確率推定値を使用してコード化し得る。確率推定値は、ビンが所与の２進値（例えば、「０」又は「１」）を有する可能性を示し得る。確率推定値は、「コンテキストモデル」とも呼ばれる確率モデル内に含まれ得る。ビデオコーダは、ビンのコンテキストを決定することによって、コンテキストモデルを選択し得る。シンタックス要素のビンのコンテキストは、以前コード化された隣接シンタックス要素の関連ビンの値を含み得る。幾つかの例では、現在のシンタックス要素をコード化するためのコンテキストは、現在のシンタックス要素の上及び左に位置する隣接シンタックス要素を含み得る。いずれの場合も、コンテキストごとに異なる確率モデルが定められる。ビンをコード化した後、コンテキストモデルは更に、最新の確率推定値を反映するためにビンの値に基づいて更新される。
【００２０】
幾つかの例では、４×４画素という小さいビデオデータのブロックを使用して、ピクチャをコード化することがある。例えば、１９２０×１０８０画素フレーム（例えば、１０８０ｐビデオの場合）は、４９５ブロックもの４×４画素を含むことができる。従って、ブロックごとに１ビットのコンテキスト情報が記憶される場合、ビデオコーダは４９５ビットの情報をバッファリングすることができる。更に、幾つかの例では、２つ以上のビットの情報を、特定のシンタックス要素をコード化するためのコンテキストとして使用することがあり、これにより、エントロピーコード化するためにバッファリングされるデータの量が大幅に増えることがある。
【００２１】
本開示の技法は一般に、エントロピーコード化中にバッファリングされる隣接ブロックからのデータの量を制限することに関する。例えば、現在のブロックをコード化するときに、上に隣接するブロックのデータをコンテキスト情報として使用するのではなく、幾つかの例では、ビデオコード化機器は、コード化されているシンタックス要素又はブロックの特性に基づいてコンテキストを決定することができる。他の例では、ビデオコード化機器は、現在のブロックをコード化するときに、左に隣接するブロックからのデータに基づいてコンテキストを決定することができる。更に他の例では、ビデオコード化機器は、現在のブロックが（例えば、以下でより詳しく説明するように、新生の高効率ビデオコード化（ＨＥＶＣ）規格において最大コード化ユニット（ＬＣＵ）と呼ばれる）より大きい区分のサブブロックであるときに限り、上に隣接するブロックからのデータに基づいてコンテキストを決定することができる。
【００２２】
本開示の技法に従って、バッファリングされるデータの量を制限することによって、ビデオデータをコード化することに関連する複雑性を低減することができる。例えば、本開示の態様によるエントロピーコード化により、ビデオコード化機器がより少ないデータをバッファリングすることができ、それにより、そのようなバッファリングに関連するメモリ要件を軽減することができる。
【００２３】
更に、コンテンツが抽出される位置を減らすことにより、エントロピーコード化効率及び／又はスループットを改善することができる。例えば、本開示の技法は、解析スループットを改善するように実施され得る。即ち、ビデオデータがビデオコーダによって受信されると、ビデオデータは特定の解析プロセス（例えば、波面構文解析（wavefront parsing））に従って解析され、読み取られ、セグメント化され得る。幾つかの例では、解析プロセスは、スライスの各ＬＣＵを、１つ以上の初期ＬＣＵ（例えば、スライスにおける上及び／又は左端のＬＣＵ）を解析した後に解析することを含み得る。ＬＣＵを解析することにより、ビデオコーダは、解析されたＬＣＵのうちの１つ以上を各処理スレッドが含む、複数の処理スレッド（例えば、並列処理の場合）を形成することができる。
【００２４】
しかしながら、コンテキストモデル依存のために、幾つかのスレッドは他のスレッドに依存することがあり、これは並列処理アプリケーションにとって最適ではないことがある。例えば、第１のスレッドは、第２の異なるスレッドによって処理されるデータに依存することがあり、これにより第１のスレッドは、第２のスレッドがデータを処理し終えるまで待機することになり得る。即ち、データは一般に、データが有用であるところまで構文解析され、次いでデータはコード化される。従来型の波面の場合、ビデオコーダは、第１の（例えば、上部）波面のデータをコード化するために減速し得る。そして、それは次のスレッドを停止させることがあり、更に次のスレッドを停止させ、以下同様である。本開示の態様によれば、コンテキスト依存を解消することによって、１つのスレッドの減速は、処理されている他のスレッドに影響を与えなくなる。構文解析に関して、これは、スレッドのパーサが、他のスレッドを参照する必要がなく、スレッドごとに独立して動作し得ることを意味する。
【００２５】
説明のための例では、現在コード化されているＬＣＵがスライスの最上行の下に位置し、スライスの１つ以上のＬＣＵが現在のスライスの上に位置すると仮定する。この例では、現在のＬＣＵをコード化するためのコンテキストは、上位隣接ＬＣＵ（例えば、現在のＬＣＵの上に位置するＬＣＵ）に含まれ得る。即ち、現在のＬＣＵをコード化するためのコンテキストは、上位隣接ＬＣＵの１つ以上の値に依存し得る。従って、現在のＬＣＵは、現在のＬＣＵがコード化され得る前に、上位隣接ＬＣＵがコード化されるのを待機しなければならないことがある。そのような待ち時間が生じると、特に並列処理アプリケーションにおいて、コード化プロセスが減速し得る。
【００２６】
本開示の態様は、コンテンツが抽出される位置を限定するように実施され得る。即ち、本開示の幾つかの態様によれば、ビデオコーダは、幾つかの隣接ブロックからのコンテキスト情報を使用することができず、代わりに他の発信源からコンテキスト情報を引き出すことができる。従って、本開示の技法は、上述のコンテキスト依存を解消し、構文解析スループットを改善することができる。
【００２７】
更に、場合によっては、現在コード化されているブロックが、別の隣接ブロックに依存するコンテキスト情報を含むとき、隣接ブロックからの情報が（例えば、送信エラー又は他のエラーのために）失われた場合又は利用不可能な場合には、現在のブロックはコード化されないことがある。説明のための一例では、マージコード化モード（merge coding mode）を使用して、現在のブロックを予測することができる（例えば、別のブロックに関連する予測情報が現在のブロックのために採用される）。現在のブロックの参照フレームのエラー（例えば、パケット損失）がある場合、現在のブロックのインター予測方向は適切に導出されないことがある。更に、（エラーのある）隣接ブロックに依存するコンテキストが壊れていることもある。本開示の技法は、上述のコンテキスト依存を解消して、コンテキスト導出エラーの発生を減らすことができる。
【００２８】
図１は、ビデオデータをエントロピーコード化するための技法を利用し得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先機器１４によって後で復号されるべき符号化ビデオデータを与える発信源機器１２を含む。特に、発信源機器１２は、コンピュータ可読媒体１６を介してビデオデータを宛先機器１４に与える。発信源機器１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器１２及び宛先機器１４は、ワイヤレス通信のために装備され得る。
【００２９】
宛先機器１４は、コンピュータ可読媒体１６を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、符号化ビデオデータを発信源機器１２から宛先機器１４に移動することが可能な任意のタイプの媒体又は機器を備え得る。一例では、コンピュータ可読媒体１６は、発信源機器１２が、符号化ビデオデータを宛先機器１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトル又は１つ以上の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器１２から宛先機器１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００３０】
幾つかの例では、符号化データは、出力インターフェース２２から記憶装置に出力され得る。同様に、符号化データは、入力インターフェースによって記憶装置からアクセスされ得る。記憶装置は、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性又は不揮発性メモリ、又は符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散された又はローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。更なる一例では、記憶装置は、発信源機器１２によって生成された符号化ビデオを記憶し得るファイルサーバ又は別の中間記憶装置に対応し得る。宛先機器１４は、ストリーミング又はダウンロードを介して記憶装置から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先機器１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）機器、又はローカルディスクドライブを含む。宛先機器１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、又は両方の組合せを含み得る。記憶装置からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はそれらの組合せであり得る。
【００３１】
本開示では、概して、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０などの別の機器に「信号伝達」することに言及し得る。但し、ビデオエンコーダ２０は、幾つかのシンタックス要素をビデオデータの様々な符号化部分に関連付けることによって情報を信号伝達し得ることを理解されたい。即ち、ビデオエンコーダ２０は、幾つかのシンタックス要素をビデオデータの様々な符号化部分のヘッダに記憶することによってデータを「信号伝達」し得る。場合によっては、そのようなシンタックス要素は、ビデオデコーダ３０によって受信され、復号されるより前に、符号化され、記憶され得る（例えば、記憶媒体３４又はファイルサーバ３６に記憶され得る）。従って、「信号伝達」という用語は全般的に、圧縮されたビデオデータを復号するためのシンタックス又は他のデータの通信を指すことがあり、そのような通信がリアルタイム又はほぼリアルタイムで生じるか、それともある時間スパンで生じるか、例えば符号化時に媒体にシンタックス要素を記憶する（シンタックス要素は、この媒体に記憶された後、任意の時間に復号機器によって取り出され得る）ときに生じるかを問わない。
【００３２】
本開示の技法は、概して、データをエントロピーコード化することに関するが、必ずしもワイヤレスアプリケーション又は設定に限定されるものではない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び／又はビデオテレフォニーなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【００３３】
図１の例では、発信源機器１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先機器１４は、入力インターフェース２８と、ビデオデコーダ３０と、表示装置３２とを含む。本開示によれば、発信源機器１２のビデオエンコーダ２０は、動きベクトルをコード化するための、またＨＥＶＣ及びその拡張、例えばマルチビュー又は３ＤＶ拡張における双方向予測を実行するための技法を適用するように構成され得る。他の例では、発信源機器及び宛先機器は他の構成要素又は構成を含み得る。例えば、発信源機器１２は、外部カメラなど、外部ビデオ発信源１８からビデオデータを受信し得る。同様に、宛先機器１４は、内蔵表示装置を含むのではなく、外部表示装置とインターフェースし得る。
【００３４】
図１の図示のシステム１０は一例にすぎない。ビデオデータをエントロピーコード化するための技法は、任意のデジタルビデオ符号化及び／又は復号機器によって実行され得る。概して、本開示の技法はビデオ符号化機器によって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。更に、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。発信源機器１２及び宛先機器１４は、発信源機器１２が宛先機器１４に送信するためのコード化ビデオデータを生成するような、コード化機器の例にすぎない。幾つかの例では、機器１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、機器１２、１４は、実質的に対称的に動作し得る。従って、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト又はビデオテレフォニーのためのビデオ機器１２とビデオ機器１４との間の一方向又は双方向のビデオ送信をサポートすることができる。
【００３５】
発信源機器１２のビデオ発信源１８は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、及び／又はビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。更なる代替として、ビデオ発信源１８は、発信源ビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオ発信源１８がビデオカメラである場合、発信源機器１２及び宛先機器１４は、所謂カメラ付き携帯電話又はビデオ電話を形成することができる。但し、上述のように、本開示で説明する技法は、一般にビデオコード化に適用可能であり、ワイヤレス及び／又はワイヤードアプリケーションに適用可能であり得る。各場合に、撮影されたビデオ、以前に撮影されたビデオ又はコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００３６】
コンピュータ可読媒体１６は、ワイヤレスブロードキャスト又はワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、又は他のコンピュータ可読媒体などの記憶媒体（即ち、非一時的記憶媒体）を含み得る。幾つかの例では、ネットワークサーバ（図示せず）は、発信源機器１２から符号化ビデオデータを受信し、例えば、ネットワーク送信を介して、その符号化ビデオデータを宛先機器１４に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティング機器は、発信源機器１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。従って、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つ以上のコンピュータ可読媒体を含むことが理解されよう。
【００３７】
宛先機器１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロック及び他のコード化済単位、例えば、ＧＯＰの特性及び／又は処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。具体的には、本開示は、スライス、ピクチャ、波面のセット、又はタイルなどの複数のブロックを含むデータの単位として「コード化単位」に言及する。従って、「コード化単位」という用語は、複数のブロック、例えば複数の最大コード化単位（ＬＣＵ）を含むことを理解されたい。更に、「コード化済単位(coded unit)」という用語を、ＨＥＶＣで使用される「コード化単位(coding unit)」又はＣＵという用語と混同すべきではない。表示装置３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００３８】
ビデオエンコーダ２０及びビデオデコーダ３０は、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格などのビデオコード化規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０及びビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコード化（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格又は業界規格、又はそのような規格の拡張に従って動作し得る。但し、本開示の技法は、いかなる特定のコード化規格にも限定されない。ビデオコード化規格の他の例は、ＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３を含む。図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３９】
ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Joint Video Team（ＪＶＴ）として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group（ＭＰＥＧ）とともにITU-T Video Coding Experts Group（ＶＣＥＧ）によって策定された。幾つかの態様では、本開示で説明する技法は、一般にＨ．２６４規格に準拠する機器に適用することができる。Ｈ．２６４規格は、ＩＴＵ−Ｔ研究グループによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではＨ．２６４規格又はＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格又は仕様と呼ぶ。Joint Video Team（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００４０】
ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣの規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコード化機器の発展的モデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００４１】
概して、ＨＭの作業モデルは、ビデオフレーム又はピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロック又は最大コード化単位（ＬＣＵ）に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、画素の数に関して最大コード化単位であるＬＣＵのサイズを定義し得る。スライスは、コード化順序で幾つかの連続的なツリーブロックを含む。ビデオフレーム又はピクチャは、１つ以上のスライスに区分され得る。各ツリーブロックは、４分木に従ってコード化単位（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはツリーブロックに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。
【００４２】
４分木データ構造の各ノードは、対応するＣＵにシンタックスデータを与え得る。例えば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵが更に分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しない場合でも、リーフＣＵの４つのサブＣＵをリーフＣＵとも呼ぶ。例えば、１６×１６サイズのＣＵが更に分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵをリーフＣＵとも呼ぶ。
【００４３】
ＣＵは、ＣＵがサイズ差異を有さないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。例えば、ツリーブロックは、４つの子ノード（サブＣＵとも呼ばれる）に分割され得、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフＣＵとも呼ばれるコード化ノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大ＣＵ深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コード化ノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コード化単位（ＳＣＵ）をも定義し得る。本開示では、ＨＥＶＣのコンテキストにおけるＣＵ、ＰＵ、又はＴＵ、あるいは他の規格のコンテキストにおける同様のデータ構造（例えば、Ｈ．２６４／ＡＶＣにおけるマクロブロック及びそれのサブブロック）のいずれかを指すために「ブロック」という用語を使用する。更に、本開示では、ビデオデータの２つ以上のブロックを含み得るビデオデータの既定の量を記述するために、「コード化単位」という用語を使用し得る。即ち、例えば、コード化単位は、ピクチャ、スライス、タイル、又はタイルのセット、波面のセット、若しくはビデオデータを含む任意の他の既定の単位を指し得る。従って、「コード化単位(coded unit)」という用語を、「コード化単位(coding unit)」又はＣＵという用語と混同すべきではない。
【００４４】
ＣＵは、コード化ノードと、コード化ノードに関連する予測ユニット（ＰＵ）及び変換ユニット（ＴＵ）とを含む。ＣＵのサイズは、コード化ノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８画素から最大６４×６４以上の画素をもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つ以上のＰＵと、１つ以上のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、例えば、ＣＵを１つ以上のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化又はダイレクトモード符号化されるか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、例えば、４分木に従って、ＣＵを１つ以上のＴＵに区分することも記述し得る。ＴＵは、形状が方形又は非方形（例えば、矩形）であり得る。
【００４５】
ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるか又はＰＵよりも小さい。幾つかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用して、より小さい単位に再分割され得る。ＲＱＴのリーフノードは変換単位（ＴＵ）と呼ばれることがある。ＴＵに関連する画素差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
【００４６】
リーフＣＵは、１つ以上の予測単位（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部又は一部分に対応する空間的エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵのデータは、ＰＵに対応するＴＵのイントラ予測モードを記述するデータを含み得る残差４分木（ＲＱＴ）中に含まれ得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの１つ以上の動きベクトルを定義するデータを含み得る。ＰＵの動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）、動きベクトルが指す参照ピクチャ、及び／又は動きベクトルの参照ピクチャリスト（例えば、リスト０、リスト１、もしくはリストＣ）を記述し得る。
【００４７】
１つ以上のＰＵを有するリーフＣＵはまた、１つ以上の変換単位（ＴＵ）を含み得る。変換単位は、上記で説明したように、（ＴＵ４分木構造とも呼ばれる）ＲＱＴを使用して指定され得る。例えば、分割フラグは、リーフＣＵが４つの変換単位に分割されるかどうかを示し得る。次いで、各変換単位は、更に、更なるサブＴＵに分割され得る。ＴＵが更に分割されないとき、そのＴＵはリーフＴＵと呼ばれ得る。概して、イントラコード化の場合、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。即ち、概して、リーフＣＵのすべてのＴＵの予測値を計算するために同じイントラ予測モードが適用される。イントラコード化の場合、ビデオエンコーダ２０は、イントラ予測モードを使用して各リーフＴＵの残差値を、ＴＵに対応するＣＵの一部と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。従って、ＴＵはＰＵよりも大きく又は小さくなり得る。イントラコード化の場合、ＰＵは、同じＣＵについて対応するリーフＴＵと同一位置に配置され得る。幾つかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００４８】
その上、リーフＣＵのＴＵはまた、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造に関連付けられ得る。即ち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してツリーブロック（又はＬＣＵ）に対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、特に明記しない限り、リーフＣＵ及びリーフＴＵに言及するためにそれぞれＣＵ及びＴＵという用語を使用する。
【００４９】
ビデオシーケンスは、一般に、一連のビデオフレーム又はピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、ビデオピクチャのうちの一連の１つ以上を備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つ以上のヘッダ中、又は他の場所に含み得る。各ピクチャのスライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコード化ノードに対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定のコード化規格に応じてサイズが異なり得る。
【００５０】
一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、又は「Ｒｉｇｈｔ」という表示によって示される。従って、例えば「２Ｎ×ｎＵ」は、上部に２Ｎ×０．５Ｎ  ＰＵと下部に２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分される２Ｎ×２Ｎ  ＣＵを指す。
【００５１】
本開示では、「Ｎ×（x）Ｎ」と「Ｎ×（by）Ｎ」は、垂直寸法及び水平寸法に関するビデオブロックの画素寸法、例えば、１６×（x）１６画素又は１６×（by）１６画素を指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、ここで、Ｎは非負整数値を表す。ブロック中の画素は行と列に構成され得る。更に、ブロックは、必ずしも、水平方向に垂直方向と同じ数の画素を有する必要はない。例えば、ブロックは、Ｎ×Ｍ画素を備え得、Ｍは必ずしもＮに等しいとは限らない。
【００５２】
ＣＵのＰＵを使用したイントラ予測コード化又はインター予測コード化の後、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（画素領域とも呼ばれる）空間領域において予測画素データを生成する方法又はモードを記述するシンタックスデータを備え得、ＴＵは、変換、例えば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、又は概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャの画素と、ＰＵに対応する予測値との間の画素差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【００５３】
変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、概して、更なる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。例えば、量子化中にｎビット値がｍビット値に切り捨てられ得、この場合、ｎはｍよりも大きい。
【００５４】
量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、より高いエネルギー（従ってより低い周波数）の係数をアレイの前方に配置し、より低いエネルギー（従ってより高い周波数）の係数をアレイの後方に配置するように設計され得る。幾つかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するために予め定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、例えば、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型二値算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型二値算術コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化、又は別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００５５】
ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、例えば、シンボルの隣接値が非０であるか否かに関係し得る。ビデオエンコーダ２０はまた、適応走査を実行するときに生成される有効係数フラグ及び最後係数フラグなど、シンタックス要素をエントロピー符号化し得る。
【００５６】
一般に、ビデオデコーダ３０によって実行されるビデオ復号プロセスは、ビデオエンコーダ２０によって実行される符号化技法とは逆の技法を含み得る。概して逆であるが、ビデオデコーダ３０は、場合によっては、ビデオエンコーダ２０によって実行される技法と同様の技法を実行することがある。ビデオデコーダ３０は、ビデオエンコーダ２０に関して説明したデータを含む受信されたビットストリームに含まれるシンタックス要素又は他のデータに依拠することもある。
【００５７】
本開示の態様によれば、ビデオエンコーダ２０及び／又はビデオデコーダ３０は、エントロピーコード化中にバッファリングされる隣接ブロックからのデータの量を制限するための本開示の技法を実施し得る。例えば、現在のブロックをコード化するときに、上に隣接するブロックのデータをコンテキスト情報として使用するのではなく、幾つかの例では、ビデオエンコーダ２０及び／又はビデオデコーダ３０は、コード化されているシンタックス要素又はブロックの特性に基づいてコンテキストを決定することができる。他の例では、ビデオエンコーダ２０及び／又はビデオデコーダ３０は、現在のブロックをコード化するときに、左に隣接するブロックからのデータに基づいてコンテキストを決定することができる。更に他の例では、ビデオエンコーダ２０及び／又はビデオデコーダ３０は、現在のブロックがより大きい区分（例えば、ＬＣＵ）のサブブロックであるときに限り、上に隣接するブロックからのデータに基づいてコンテキストを決定することができる。更に、場合によっては、ビデオエンコーダ２０及び／又はビデオデコーダ３０は、本開示の１つ以上の技法を組み合わせて実行することができる。
【００５８】
ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、適用可能なとき、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ又はデコーダ回路のいずれか、又はそれらの任意の組合せとして実施され得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０及び／又はビデオデコーダ３０を含む機器は、集積回路、マイクロプロセッサ、及び／又はセルラー電話などのワイヤレス通信機器を備え得る。
【００５９】
図２は、ビデオデータをエントロピーコード化するための、本開示で説明する技法を実施し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコード化及びインターコード化を実行し得る。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム又はピクチャ内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。
【００６０】
図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオデータを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、加算器５０と、変換ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６と、参照ピクチャメモリ６４とを含む。モード選択ユニット４０は、今度は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測ユニット４６と、区分ユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロック歪み（blockiness artifacts）を除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。また、デブロッキングフィルタに加えて追加のループフィルタ（ループ内又はループ後）が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、（ループ内フィルタとして）加算器５０の出力をフィルタ処理し得る。
【００６１】
符号化プロセス中に、ビデオエンコーダ２０はコード化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２及び動き補償ユニット４４は、時間圧縮を行うために、１つ以上の参照フレーム中の１つ以上のブロックに対して受信されたビデオブロックのインター予測コード化を実行する。イントラ予測ユニット４６は代替的に、空間圧縮を行うために、コード化されるべきブロックと同じフレーム又はスライス中の１つ以上の隣接ブロックに対して受信されたビデオブロックのイントラ予測コード化を実行し得る。ビデオエンコーダ２０は、例えば、ビデオデータのブロックごとに適切なコード化モードを選択するために、複数のコード化パスを実行し得る。
【００６２】
その上、区分ユニット４８は、前のコード化パスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。例えば、区分ユニット４８は、初めにフレーム又はスライスをＬＣＵに区分し、レート歪み分析（例えば、レート歪み最適化）に基づいてＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、更に、ＬＣＵをサブＣＵに区分することを示す４分木データ構造を生成し得る。４分木のリーフノードＣＵは、１つ以上のＰＵと、１つ以上のＴＵとを含み得る。
【００６３】
モード選択ユニット４０は、例えば、誤差結果に基づいてコード化モード、即ち、イントラ又はインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロック又はインターコード化ブロックを加算器５０に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロック又はインターコード化ブロックを加算器６２に与え得る。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、区分情報、及び他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット５６に与える。
【００６４】
動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム（又は他のコード化ユニット）内でコード化されている現在のブロックに対する参照フレーム（又は他のコード化済単位）内の予測ブロックに対する現在のビデオフレーム又はピクチャ内のビデオブロックのＰＵの変位を示し得る。
【００６５】
予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるブロックにぴったり一致することがわかるブロックである。幾つかの例では、ビデオエンコーダ２０は、参照フレームメモリ６４に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ２０は、参照ピクチャの１／４画素位置、１／８画素位置、又は他の分数画素位置の値を補間し得る。従って、動き推定ユニット４２は、フル画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
【００６６】
動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）又は第２の参照ピクチャリスト（リスト１）から選択され得、その各々は、参照フレームメモリ６４に記憶された１つ以上の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００６７】
動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて予測ブロックを取り込む（fetching）又は生成することに関与し得る。この場合も、幾つかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。現在のビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。加算器５０は、以下で説明するように、コード化されている現在のビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット４２はルーマ成分に対して動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００６８】
イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測ユニット４６は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット４６（又は、幾つかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
【００６９】
例えば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み（又は誤差）の量、及び符号化ブロックを生成するために使用されるビットレート（即ち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化ブロックの歪み及びレートから比率を計算し得る。
【００７０】
ビデオエンコーダ２０は、コード化されている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つ以上の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換又は他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を画素値領域から周波数領域などの変換領域に変換し得る。
【００７１】
変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって変更され得る。幾つかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【００７２】
量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコード化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型二値算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型二値算術コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化又は別のエントロピーコード化技法を実行し得る。コンテキストベースエントロピーコード化の場合、コンテキストは隣接ブロックに基づき得る。
【００７３】
ＣＡＢＡＣに関して、エントロピー符号化ユニット５６は、ビデオデータのブロックに関連するシンボルを符号化するためにコンテキストに作用するコンテキストモデルを選択し得る。例えば、エントロピー符号化ユニット５６は、シンタックス要素ごとに確率推定値を使用して、ビデオデータのブロックの各シンタックス要素をエントロピー符号化することができる。確率推定値は、要素が所与の値を有する可能性を示し得る。確率推定値は、「コンテキストモデル」とも呼ばれる確率モデル内に含まれ得る。エントロピー符号化ユニット５６は、シンタックス要素に関するコンテキスト情報（又はより単純には「コンテキスト」）を決定することによって、コンテキストモデルを選択することができる。コンテキストごとに異なる確率モデルが定められる。シンタックス要素をコード化した後、エントロピー符号化ユニット５６は、最新の確率推定値を反映するために、シンタックス要素の実測値に基づいて、選択されたコンテキストモデルを更新することができる。即ち、例えば、エントロピー符号化ユニット５６は、コンテキストモデルが新しいコンテキストモデルに移行するために選択される方法を更新することができる。
【００７４】
幾つかの例では、特定のシンタックス要素のコンテキストは、以前コード化された隣接シンタックス要素の関連シンタックス要素の値を含み得る。例えば、エントロピー符号化ユニット５６は、現在のシンタックス要素をコード化するためのコンテキストを、現在のシンタックス要素の上及び左に位置する隣接シンタックス要素に基づいて決定し得る。上記のように、新生ＨＥＶＣ規格により、ＬＣＵを４×４画素という小さいサブＣＵに再帰的に区分することができる。従って、１９２０×１０８０画素ピクチャ（例えば、１０８０ｐビデオの場合）は、水平方向にピクチャにわたるラインバッファ内に４９５個もの４×４画素ブロックを含むことができる。ビデオエンコーダ２０が、ブロックごとに１ビットのコンテキスト情報をバッファリングする場合、ビデオエンコーダ２０は、４９５ビットの情報をバッファリングすることができる。
【００７５】
本開示の技法によれば、エントロピー符号化ユニット５６は、ビデオエンコーダ２０によってバッファリングされる情報の量を低減又は除去する形で、ビデオデータをエントロピーコード化するためのコンテキストを決定することができる。例えば、本開示の態様によれば、現在のブロック（例えば、コード化済単位、例えばフレーム又はスライスの最上行にないブロック）に関連するシンタックス要素を符号化するときに、上に隣接するブロックのデータをコンテキストとして使用するのではなく、エントロピー符号化ユニット５６は、左に隣接するブロックからのデータのみを使用することができる。
【００７６】
別の例として、エントロピー符号化ユニット５６は、現在のブロックが区分された最大コード化ユニット（ＬＣＵ）のサブＣＵであり、上に隣接するブロックが同じＬＣＵ内にあるときに限り、現在のブロックに関連するシンタックス要素を符号化するためのコンテキストとして、上に隣接するブロックからのデータを使用することができる。言い換えれば、エントロピー符号化ユニット５６は、上部ＬＣＵ境界を越えるコンテキスト情報を使用することを回避するように構成され得る。
【００７７】
更に別の例として、エントロピー符号化ユニット５６は、ローカルＬＣＵ情報に基づいて、現在のブロックに関連するシンタックス要素を符号化するためのコンテキストを導出することができる。例えば、エントロピー符号化ユニット５６は、ＣＵに到達するためにＬＣＵが区分された回数に一般に対応するＣＵ深さに基づいて、インター予測データに関するコンテキスト情報を導出することができる。説明のための一例では、ＬＣＵはサイズが６４×６４画素（深さ０）であると仮定する。ＬＣＵのサブＣＵは、ＣＵ深さ１でサイズが３２×３２画素であってよく、サブＣＵの更なるサブＣＵは、ＣＵ深さ２でサイズが１６×１６画素であってよい。
【００７８】
本開示の技法によれば、エントロピー符号化ユニット５６は、現在のブロックのＣＵ深さに基づいて、現在のブロックのインター予測データに関するコンテキストを決定することができる。即ち、例えば、ＣＵ深さ１は、ＣＵ深さ２とは異なる確率モデルに対応し得る。言い換えれば、特定のＣＵ深さにおけるＣＵのシンタックス要素をコード化するとき、エントロピー符号化ユニット５６は、シンタックス要素をコード化するために確率モデルを選択するためのコンテキスト情報としてＣＵ深さを使用することができる。
【００７９】
別の例として、エントロピー符号化ユニット５６は、変換深度情報に基づいて、イントラ予測データに関するコンテキスト情報を導出することができる。変換深度情報は、ＣＵ深さと似ていることがあるが、ＴＵが区分される（例えば、ＲＱＴ構造に従って区分される）回数を記述する。従って、例えば、ＴＵ深さ１は、ＴＵ深さ２とは異なる確率モデルに対応し得る。言い換えれば、特定のＴＵ深さにおけるＴＵのシンタックス要素をコード化するとき、エントロピー符号化ユニット５６は、シンタックス要素をコード化するために確率モデルを選択するためのコンテキスト情報としてＴＵ深さを使用することができる。
【００８０】
エントロピー符号化ユニット５６によるエントロピーコード化の後に、符号化ビットストリームは、別の機器（例えば、ビデオデコーダ３０）に送信されるか、あるいは後で送信するか又は取り出すためにアーカイブされ得る。逆量子化ユニット５８及び逆変換ユニット６０は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つ以上の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームメモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコード化するために動き推定ユニット４２及び動き補償ユニット４４によって参照ブロックとして使用され得る。
【００８１】
このように、ビデオエンコーダ２０は、ビデオデータのコード化ユニット内に含まれておりコード化済単位中のブロックの最上行の下にあるビデオデータのブロックについてのコンテキスト情報を決定することであって、コンテキスト情報は、コード化済単位中の上に隣接するブロックからの情報を含まないことを含む方法を実行し得るビデオコーダの一例である。本方法は、決定されたコンテキスト情報を使用して、ブロックのデータをエントロピー符号化することも含み得る。
【００８２】
図３は、ビデオデータをエントロピーコード化するための、本開示で説明する技法を実施し得る例示的なビデオデコーダ３０を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測ユニット８１と、逆量子化ユニット８６と、逆変換ユニット８８と、加算器９０と、参照ピクチャメモリ９２とを含む。予測ユニット８１は、動き補償ユニット８２と、イントラ予測ユニット８４とを含む。
【００８３】
復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。
【００８４】
ビデオデコーダ３０は、ビデオスライスレベル及び／又はビデオブロックレベルでシンタックス要素を受信し得る。例えば、背景として、ビデオデコーダ３０は、ネットワークを介した送信のために、所謂「ネットワーク抽象化レイヤユニット（network abstraction layer unit）」又はＮＡＬユニットに圧縮された圧縮ビデオデータを受信し得る。各ＮＡＬユニットは、ＮＡＬユニットに記憶されるデータのタイプを識別するヘッダを含み得る。一般にＮＡＬユニットに記憶されるデータの２つのタイプがある。ＮＡＬユニットに記憶されるデータの第１のタイプはビデオコード化レイヤ（ＶＣＬ：video coding layer）データであり、これは圧縮ビデオデータを含む。ＮＡＬユニットに記憶されるデータの第２のタイプは非ＶＣＬデータと呼ばれ、これは、多数のＮＡＬユニットに共通のヘッダデータを定義するパラメータセットなどの追加情報と、補足エンハンスメント情報（ＳＥＩ：supplemental enhancement information）とを含む。例えば、パラメータセットは、（例えば、シーケンスパラメータセット（ＳＰＳ：sequence parameter set）中の）シーケンスレベルヘッダ情報と（例えば、ピクチャパラメータセット（ＰＰＳ）中の）まれに変化するピクチャレベルヘッダ情報とを含んでいることがある。パラメータセット中に含まれているまれに変化する情報は、シーケンス又はピクチャごとに繰り返される必要がなく、それによりコード化効率が改善される。更に、パラメータセットの使用はヘッダ情報の帯域外送信を可能にし、それにより誤り耐性のための冗長送信の必要を回避する。
【００８５】
エントロピー復号ユニット８０は、図２のビデオエンコーダ２０に関して上記で説明したエントロピー符号化ユニット５６と同様に構成され得る。例えば、エントロピーコード化ユニット８０は、ビデオデータのブロックに関連するシンボルを復号するためにコンテキストに作用するコンテキストモデルを選択し得る。即ち、エントロピーコード化ユニット８０は、シンタックス要素ごとに確率推定値を使用して、ビデオデータのブロックの各シンタックス要素をエントロピーコード化することができる。本開示の技法によれば、エントロピーコード化ユニット８０は、ビデオデコーダ３０によってバッファリングされる情報の量を低減又は除去する形で、ビデオデータをエントロピーコード化するためのコンテキストを決定することができる。例えば、本開示の態様によれば、現在のブロック（例えば、コード化済単位、例えばフレーム又はスライスの最上行にないブロック）に関連するシンタックス要素を符号化するときに、上に隣接するブロックのデータをコンテキストとして使用するのではなく、エントロピーコード化ユニット８０は、左に隣接するブロックからのデータのみを使用することができる。
【００８６】
別の例として、エントロピーコード化ユニット８０は、現在のブロックが区分された最大コード化単位（ＬＣＵ）のサブＣＵであり、上に隣接するブロックが同じＬＣＵ内にあるときに限り、現在のブロックに関連するシンタックス要素を復号するためのコンテキストとして、上に隣接するブロックからのデータを使用することができる。言い換えれば、エントロピーコード化ユニット８０は、上部ＬＣＵ境界を越えるコンテキストを使用することを回避するように構成され得る。更に別の例として、エントロピーコード化ユニット８０は、ローカルＬＣＵ情報（例えば、ＣＵ深さ、ＴＵ深さなど）に基づいて、現在のブロックに関連するシンタックス要素を復号するためのコンテキストを導出することができる。別の例では、エントロピーコード化ユニット８０は、幾つかのシンタックス要素をそれらの要素自体に基づいて復号するための単一のコンテキストを使用することができる。エントロピーコード化ユニット８０は、場合によっては、これらの技法の組合せを使用してコンテキストを決定することができる。特定のシンタックス要素を復号するためのコンテキストを決定した後、エントロピーコード化ユニット８０は、コンテキストに対応する確率モデルを選択し、選択された確率モデルを使用してシンタックス要素を復号することができる。
【００８７】
エントロピー復号ユニット８０は、予測ユニット８１に動きベクトルと他の復号されたシンタックス要素とを転送する。ビデオスライスがイントラコード化済（Ｉ）スライスとしてコード化されるとき、予測ユニット８１のイントラ予測ユニット８４は、信号伝達されたイントラ予測モードと現在のフレーム又はピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックについての予測データを生成し得る。ビデオフレームがインターコード化済（即ちＢ、Ｐ、又はＧＰＢ）スライスとしてコード化されるとき、予測ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトル及び他のシンタックス要素に基づいて現在のビデオスライスのビデオブロックについての予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、即ち、リスト０及びリスト１を構成し得る。
【００８８】
動き補償ユニット８２は、動きベクトルと他のシンタックス要素とを構文解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。例えば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコード化するために使用される予測モード（例えば、イントラ又はインター予測）、インター予測スライスタイプ（例えば、Ｂスライス、Ｐスライス、又はＧＰＢスライス）、スライスの参照ピクチャリストのうちの１つ以上についての構成情報、スライスの各インター符号化ビデオブロックについての動きベクトル、スライスの各インターコード化ビデオブロックについてのインター予測ステータス、及び現在のビデオスライス中のビデオブロックを復号するための他の情報を決定するために、受信されたシンタックス要素の幾つかを使用する。
【００８９】
動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【００９０】
逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された量子化変換係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータを使用して量子化の程度を決定し、同様に、適用すべき逆量子化の程度を決定することを含み得る。
【００９１】
逆変換ユニット８８は、画素領域において残差ブロックを生成するために、逆変換、例えば逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。本開示の態様によれば、逆変換ユニット８８は、残差データに変換が適用された方法を決定することができる。即ち、例えば、逆変換ユニット８８は、受信されたビデオデータのブロックに関連する残差ルーマサンプル及び残差クロマサンプルに変換（例えば、ＤＣＴ、整数変換、ウェーブレット変換、又は１つ以上の他の変換）が適用された方法を表すＲＱＴを決定することができる。
【００９２】
動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つ以上の構成要素を表す。所望される場合、ブロック歪みを除去するために、復号されたブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。画素遷移を平滑化するか、又はさもなければビデオ品質を改善するために、（コード化ループ内又はコード化ループ後の）他のループフィルタも使用され得る。所与のフレーム又はピクチャの復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照ピクチャメモリ９２はまた、図１の表示装置３２などの表示装置上での後の提示のために、復号されたビデオを記憶する。このように、ビデオデコーダ３０は、ビデオデータのコード化済単位内に含まれておりコード化済単位内のブロックの最上行の下にあるビデオデータのブロックについてのコンテキスト情報を決定することであって、コンテキスト情報は、コード化済単位内の上に隣接するブロックからの情報を含まないことを含む方法を実行し得るビデオデコーダの一例である。本方法は、決定されたコンテキスト情報を使用して、ブロックのデータをエントロピー復号することも含み得る。
【００９３】
図４Ａ及び図４Ｂは、例示的な４分木１５０と、対応する最大コード化ユニット１７２とを示す概念図である。図４Ａは、階層式に構成されたノードを含む、例示的な４分木１５０を示している。４分木１５０は、例えば、提案されたＨＥＶＣ規格によるツリーブロックに関連付けられ得る。４分木１５０などの４分木中の各ノードは、子をもたないリーフノードであるか、又は４つの子ノードを有し得る。図４Ａの例では、４分木１５０はルートノード１５２を含む。ルートノード１５２は、リーフノード１５６Ａ〜１５６Ｃ（リーフノード１５６）とノード１５４とを含む、４つの子ノードを有する。ノード１５４はリーフノードでないので、ノード１５４は、この例ではリーフノード１５８Ａ〜１５８Ｄ（リーフノード１５８）である、４つの子ノードを含む。
【００９４】
４分木１５０は、この例ではＬＣＵ１７２など、対応する最大コード化ユニット（ＬＣＵ）の特性を記述するデータを含み得る。例えば、４分木１５０は、それの構造により、サブＣＵへのＬＣＵの分割を記述し得る。ＬＣＵ１７２が２Ｎ×２Ｎのサイズを有すると仮定する。ＬＣＵ１７２は、この例では、４つのサブＣＵ１７６Ａ〜１７６Ｃ（サブＣＵ１７６）及び１７４を有し、各々はＮ×Ｎサイズである。サブＣＵ１７４は更に４つのサブＣＵ１７８Ａ〜１７８Ｄ（サブＣＵ１７８）に分割され、各々はサイズＮ／２×Ｎ／２である。この例では、４分木１５０の構造はＬＣＵ１７２の分割に対応する。即ち、ルートノード１５２はＬＣＵ１７２に対応し、リーフノード１５６はサブＣＵ１７６に対応し、ノード１５４はサブＣＵ１７４に対応し、リーフノード１５８はサブＣＵ１７８に対応する。
【００９５】
４分木１５０のノードのデータは、ノードに対応するＣＵが分割されるかどうかを記述し得る。ＣＵが分割される場合、４分木１５０中に４つの追加のノードが存在し得る。幾つかの例では、４分木のノードは以下の擬似コードと同様に実施され得る。
【００９６】
quadtree_node {
boolean split_flag(1);
// signaling data
if (split_flag) {
quadtree_node child1;
quadtree_node child2;
quadtree_node child3;
quadtree_node child4;
}
}      
ｓｐｌｉｔ＿ｆｌａｇ値は、現在のノードに対応するＣＵが分割されるかどうかを表す１ビット値であり得る。ＣＵが分割されない場合、ｓｐｌｉｔ＿ｆｌａｇ値は「０」であり得るが、ＣＵが分割される場合、ｓｐｌｉｔ＿ｆｌａｇ値は「１」であり得る。４分木１５０の例に関して、分割フラグ値の配列は１０１００００００であり得る。
【００９７】
上記のように、ＣＵ深さは、ＬＣＵ１７２などのＬＣＵが分割された程度を指し得る。例えば、ルートノード１５２は、ＣＵ深さ０に対応し得、ノード１５４及びリーフノード１５６はＣＵ深さ１に対応し得る。更に、リーフノード１５８はＣＵ深さ２に対応し得る。本開示の態様によれば、ＣＵ深さ及び／又はＴＵ深さは、幾つかのシンタックス要素をエントロピーコード化するためのコンテキストとして使用され得る。説明のための一例では、リーフノード１５６Ａは深さ１に位置し、リーフノード１５８Ａは深さ２に位置するので、リーフノード１５６Ａに関連する１つ以上のシンタックス要素は、リーフノード１５８Ａとは異なるコンテキストモデルを使用して、エントロピーコード化され得る。
【００９８】
図４ＡではＣＵ４分木の一例を示したが、同様の４分木がリーフノードＣＵのＴＵに適用され得ることを理解されたい。即ち、リーフノードＣＵは、ＣＵのためのＴＵの区分を記述する（残差４分木（ＲＱＴ）と呼ばれる）ＴＵ４分木を含み得る。ＴＵ４分木は、ＴＵ４分木がＣＵのＴＵのイントラ予測モードを個々に信号伝達し得ることを除いて、概してＣＵ４分木に似ていることがある。
【００９９】
本開示の技法によれば、ビデオコーダ（例えば、ビデオエンコーダ２０及び／又はビデオデコーダ３０）は、現在のブロックのＣＰＵ深さに基づいて、現在のブロックのインター予測データに関するコンテキストを決定することができる。即ち、例えば、特定のＣＵ深さにおけるＣＵのシンタックス要素をコード化するとき、ビデオコーダは、シンタックス要素をコード化するために確率モデルを選択するためのコンテキスト情報としてＣＵ深さを使用することができる。別の例として、ビデオコーダは、変換深度情報に基づいて、イントラ予測データに関するコンテキスト情報を導出することができる。即ち、例えば、特定のＴＵ深さにおけるＴＵのシンタックス要素をコード化するとき、エントロピー符号化ユニット５６は、シンタックス要素をコード化するために確率モデルを選択するためのコンテキスト情報としてＴＵ深さを使用することができる。
【０１００】
図５は、ブロックをエントロピーコード化するためにコンテキストが決定される場合の元になる例示的な隣接ブロックを示すブロック図である。図５はビデオデコーダ３０に関して説明しているが、本開示の技法は、様々な、ビデオエンコーダ２０（図１及び図２）を含む他のビデオコーダ、他のプロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）のようなハードウェアベースのコード化ユニットなどによって実行され得ることを理解されたい。
【０１０１】
ビデオデコーダ３０は、現在のブロック１８０に関連するエントロピーコード化データを受信することができる。例えば、ビデオデコーダ３０は、ビデオデコーダ３０が現在のブロック１８０を適切に復号することを可能にするエントロピーコード化有効性マップ、変換係数、及び幾つかの他のシンタックス要素を受信することができる。ビデオデコーダ３０は、受信されたシンタックス要素のうちの１つ以上に関するコンテキストを、上に隣接するブロック１８２及び左に隣接するブロック１８４に関連するシンタックス要素の値に基づいて決定することができる。
【０１０２】
説明のために、ビデオデコーダ３０は現在、現在のブロック１８０内の画素の特定の予測モード（例えば、イントラ予測モード）を示すシンタックス要素を復号していると仮定する。この例では、ビデオデコーダ３０は、現在のシンタックス要素に関するコンテキストを決定するために、上に隣接するブロック１８２及び左に隣接するブロック１８４からイントラ予測モードを識別することができる。従って、現在のシンタックス要素をエントロピー復号するために使用されるコンテキストモデルは、上に隣接するブロック１８２及び左に隣接するブロック１８４のイントラ予測モードに依存し得る。このようにして、ビデオデコーダ３０は、上に隣接するブロック１８２及び左に隣接するブロック１８４のイントラ予測モードを示すデータを記憶又はバッファリングすることができ、それにより、そのようなデータがエントロピー復号を実行するときに利用可能になる。
【０１０３】
例として、イントラ予測モードに関連するシンタックス要素をエントロピーコード化することについて説明しているが、隣接ブロックのデータに基づいて他のシンタックス要素をコード化することもできる。例えば、新生ＨＥＶＣ規格に関しては、上に隣接するブロック１８２及び左に隣接するブロック１８４を含む隣接ブロックからのデータを含むコンテキストを使用して、以下のシンタックス要素をエントロピーコード化することができる。
【０１０４】
１．ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］
ａ）１に等しいｓｋｉｐ＿ｆｌａｇは、現在のＣＵに関して、Ｐ又はＢスライスを復号するときに、動きベクトル予測子インデックス以外に、ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］の後、追加のシンタックス要素が解析されないことを明示している。０に等しいｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］は、コード化ユニットがスキップされないことを明示している。アレイインデックスｘ０、ｙ０は、ピクチャの左上ルーマサンプルに対するコード化ブロックの左上ルーマサンプルの位置（ｘ０，ｙ０）を明示している。
【０１０５】
２．ｓｐｌｉｔ＿ｃｏｄｉｎｇ＿ｕｎｉｔ＿ｆｌａｇ
ａ）ｓｐｌｉｔ＿ｃｏｄｉｎｇ＿ｕｎｉｔ＿ｆｌａｇ［ｘ０］［ｙ０］は、１つのコード化単位が、半分の水平及び垂直サイズを有するコード化単位に分割されることを明示している。アレイインデックスｘ０、ｙ０は、ピクチャの左上ルーマサンプルに対するコード化ブロックの左上ルーマサンプルの位置（ｘ０，ｙ０）を明示している。
【０１０６】
３．ルーマブロックのｃｂｐ
ａ）コード化済ブロックパターン（ＣＢＰ）は、どのルーマブロックが非０変換係数レベルを含んでいるかを明示している。即ち、ルーマブロックのＣＢＰは、１つ以上のコード化済ブロックフラグに対応し、コード化済ブロックフラグの各々は、それぞれのルーマブロックがコード化されている（１つ以上の非０変換係数レベル値を含む）か、それともコード化されていない（すべての０値の変換係数を含む）かを示す値を有することができる。
【０１０７】
４．クロマブロックのｃｂｐ
ａ）コード化ブロックパターン（ＣＢＰ）は、どのクロマブロックが非０変換係数レベルを含んでいるかを明示している。即ち、クロマブロックのＣＢＰは、１つ以上のコード化済ブロックフラグに対応し、コード化済ブロックフラグの各々は、それぞれのクロマブロックがコード化されている（１つ以上の非０変換係数レベル値を含む）か、それともコード化されていない（すべての０値の変換係数を含む）かを示す値を有することができる。
【０１０８】
５．クロマイントラモードのビン０
ａ）ｉｎｔｒａ＿ｃｈｒｏｍａ＿ｐｒｅｄ＿ｍｏｄｅ［ｘ０］［ｙ０］は、クロマサンプルのイントラ予測モードを明示している。アレイインデックスｘ０、ｙ０は、ピクチャの左上ルーマサンプルに対する予測ブロック（ＰＵ）の左上ルーマサンプルの位置（ｘ０，ｙ０）を明示している。
【０１０９】
６．ｎｏ＿ｒｅｓｉｄｕａｌ＿ｄａｔａ＿ｆｌａｇ
ａ）１に等しいｎｏ＿ｒｅｓｉｄｕａｌ＿ｄａｔａ＿ｆｌａｇは、現在のコード化単位に関して残差データが存在しないことを明示している。０に等しいｎｏ＿ｒｅｓｉｄｕａｌ＿ｄａｔａ＿ｆｌａｇは、現在のコード化単位に関して残差データが存在することを明示している。
【０１１０】
７．ｍｅｒｇｅ＿ｆｌａｇ
ａ）ｍｅｒｇｅ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のＰＵに関するインター予測パラメータが、隣接インター予測区分から推測されるかどうかを明示している。アレイインデックスｘ０、ｙ０は、ピクチャの左上ルーマサンプルに対する当該予測ブロックの左上ルーマサンプルの位置（ｘ０，ｙ０）を明示している。
【０１１１】
８．ｒｅｆ＿ｉｄｘのビン０
ａ）ｒｅｆ＿ｉｄｘ＿ｌ０［ｘ０］［ｙ０］は、現在のＰＵのリスト０参照ピクチャインデックスを明示している。アレイインデックスｘ０、ｙ０は、ピクチャの左上ルーマサンプルに対する予測ブロックの左上ルーマサンプルの位置（ｘ０，ｙ０）を明示している。
【０１１２】
ｂ）ｒｅｆ＿ｉｄｘ＿ｌ１［ｘ０］［ｙ０］は、ｒｅｆ＿ｉｄｘ＿ｌ０と同じ意味構造（semantics）を有し、ｌ０及びリスト０はそれぞれｌ１及びリスト１に置き換えられる。
【０１１３】
ｃ）ｒｅｆ＿ｉｄｘ＿ｌｃ［ｘ０］［ｙ０］は、ｒｅｆ＿ｉｄｘ＿ｌ０と同じ意味構造を有し、ｌ０及びリスト０はそれぞれｌｃ及びリスト組合せに置き換えられる。
【０１１４】
９．ｍｖｄのビン０
ａ）ｍｖｄ＿ｌ０［ｘ０］［ｙ０］［ｃｏｍｐＩｄｘ］は、使用されるリスト０ベクトル成分と予測ベクトルとの間の差分を明示している。アレイインデックスｘ０、ｙ０は、ピクチャの左上ルーマサンプルに対する予測ブロックの左上ルーマサンプルの位置（ｘ０，ｙ０）を明示している。水平動きベクトル成分差分は、ｃｏｍｐＩｄｘ＝０を割り当てられ、垂直動きベクトル成分は、ｃｏｍｐＩｄｘ＝１を割り当てられる。
【０１１５】
ｂ）ｍｖｄ＿ｌ１［ｘ０］［ｙ０］は、ｍｖｄ＿ｌ０と同じ意味構造を有し、ｌ０及びリスト０はそれぞれｌ１及びリスト１に置き換えられる。
【０１１６】
ｃ）ｍｖｄ＿ｌｃ［ｘ０］［ｙ０］［ｃｏｍｐＩｄｘ］は、ｍｖｄ＿ｌ０と同じ意味構造を有し、ｌ０及びリスト０はそれぞれｌｃ及びリスト組合せに置き換えられる。
【０１１７】
１０．ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇ
ａ）ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在の予測ユニットに単方向予測が使用されるか、それとも双方向予測が使用されるかを明示している。アレイインデックスｘ０、ｙ０は、ピクチャの左上ルーマサンプルに対する予測ブロックの左上ルーマサンプルの位置（ｘ０，ｙ０）を明示している。
【０１１８】
１１．イントラクロマブロックのｃｂｐ
ａ）コード化済ブロックパターン（ＣＢＰ）は、どのブロックが非０変換係数レベルを含み得るかを明示している。
【０１１９】
上記に記載したシンタックス要素は、単に例として提供している。即ち、ビデオデコーダ３０は、現在のブロック１８０に関連する他のシンタックス要素をエントロピーコード化するときに、上に隣接するブロック１８２及び左に隣接するブロック１８４などの隣接ブロックからのデータを使用することができる。
【０１２０】
図６は、本開示の態様による、ブロックをエントロピーコード化するためにコンテキストが決定される場合の元になる例示的な隣接ブロックを示すブロック図である。図６はビデオデコーダ３０に関して説明しているが、本開示の技法は、様々な、ビデオエンコーダ２０（図１及び図２）を含む他のビデオコーダ、他のプロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）のようなハードウェアベースのコード化ユニットなどによって実行され得ることを理解されたい。
【０１２１】
ビデオデコーダ３０は、コード化ユニット１９１の現在のブロック１９０に関連するエントロピーコード化データを受信することができる。例えば、ビデオデコーダ３０は、ビデオデコーダ３０がコード化ユニット１９１の現在のブロック１９０を適切に復号することを可能にするエントロピーコード化有効性マップ、変換係数（イントラ予測されるか、インター予測されるかを問わない）、及び幾つかの他のシンタックス要素を受信することができる。コード化ユニット１９１は一般に、例えば、スライス、タイル、タイルのセット、波面のセット、又はビデオデータの複数のブロックを含む任意の他の既定のユニットなど、ビデオデータの複数のブロックを含む既定の量のビデオデータを含み得る。図６の例では、上に隣接するブロック１９４、左に隣接するブロック１９２、及びブロック１９６は全体的に未分割ブロックとして示されているが、そのようなブロックが１つ以上のより小さいブロックに分割され得ることを理解されたい。
【０１２２】
本開示の態様によれば、シンタックス要素をコード化するときに、確率モデルを決定するためのコンテキスト情報として、（例えば、図５に示すように）上に隣接するブロック１９４からのデータを使用するのではなく、ビデオデコーダ３０は、現在のブロック１９０をエントロピーコード化するためのコンテキスト情報として、左に隣接するブロック１９２からのデータのみを使用することができる。例えば、ビデオデコーダ３０は、現在のブロック１９０をエントロピーコード化するための確率モデルを決定するためのコンテキスト情報として、上に隣接するブロック１９４又は現在のブロック１９０に隣接して位置していない以前コード化されたブロック１９６からのデータを使用することができない。この例では、ビデオデコーダ３０は、図５に示す例よりも少ないデータをバッファリングし得る。例えば、６４×６４画素の最大ＬＣＵサイズ、４×４画素の最小ＣＵサイズを仮定すると、ビデオデコーダ３０は、ビデオデータのちょうど１６ブロック（例えば、６４／４＝１６個の潜在的な左に隣接するブロック）に関連するデータを潜在的にバッファリングし得る。
【０１２３】
本開示の他の態様によれば、ビデオデコーダ３０は、現在のブロック１９０をエントロピーコード化するためのコンテキストを決定するときに、隣接ブロックからのデータを、かかる隣接ブロックが現在のブロック１９０と同じＬＣＵの一部であるときに限り使用することができる。例えば、ビデオデコーダ３０は、現在のブロック１９０に関するコンテキストを決定するために、隣接ブロックからのデータを、現在のブロック１９０及びかかる隣接ブロックが同じＬＣＵのサブＣＵであるときに限り使用することができる。即ち、幾つかの例では、ビデオデコーダ３０は、現在のブロック１９０をエントロピーコード化するためのコンテキストを決定するときに、ＬＣＵ境界を越えるデータを利用しない。ＬＣＵ境界制限は、上に隣接するブロック１９４、左に隣接するブロック１９２、又は上に隣接するブロック１９４と左に隣接するブロック１９２の両方に課され得る。
【０１２４】
本開示の他の態様によれば、ビデオデコーダ３０は、現在のブロック１９０に関連するローカルＣＵ及び／又はＬＣＵ情報に基づいて、現在のブロック１９０をエントロピーコード化するためのコンテキストを決定することができる。例えば、ビデオデコーダ３０は、現在のブロック１９０が属するＬＣＵが区分された回数に一般に対応するＣＵ深さに基づいて、インター予測データ（例えば、ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇ）に関するコンテキストを決定することができる。別の例として、ビデオデコーダ３０は、一般に現在のブロック１９０のＴＵが区分された回数に対応するＴＵ深さに基づいて、イントラ予測データ（例えば、イントラクロマブロックのｃｂｐ）に関するコンテキストを決定することができる。
【０１２５】
幾つかの例では、ビデオデコーダ３０は、現在のブロック１９０をエントロピーコード化するための確率モデルを決定するときに、コンテキスト情報として、発信源の組合せからのデータを使用することができる。例えば、ビデオデコーダ３０は、現在のブロック１９０をエントロピーコード化するためのコンテキストを決定するときに、本開示の技法の任意の組合せを実施することができる。即ち、一例では、ビデオデコーダ３０は、確率モデルを決定するときにコンテキスト情報として、（例えば、上に隣接するブロック又は他のブロックを除く）左に隣接するブロック１９２からのデータと、現在のブロック１９０に関連するローカルＣＵ及び／又はＬＣＵ情報からのデータの両方を使用することができる。別の例では、ビデオデコーダ３０は、確率モデルを決定するときにコンテキスト情報として、（例えば、他の隣接ブロックを除く）現在のブロック１９０と同じＬＣＵの一部である隣接ブロックからのデータと、現在のブロック１９０に関連するローカルＣＵ及び／又はＬＣＵ情報からのデータとを使用することができる。
【０１２６】
追加又は代替として、ビデオデコーダ３０は、現在のブロック１９０をエントロピーコード化するために、単一のコンテキストを使用することができる。例えば、ビデオデコーダ３０は、シンタックス要素自体に基づいて、現在のブロック１９０に関連する特定のシンタックス要素に関するコンテキストを決定することができる。幾つかの例では、ビデオデコーダ３０は、図５に関して上述したｎｏ＿ｒｅｓｉｄｕａｌ＿ｄａｔａ＿ｆｌａｇ、ｍｅｒｇｅ＿ｆｌａｇ、ｒｅｆ＿ｉｄｘのビン０、及びｍｖｄのビン０を含むシンタックス要素に関する単一のコンテキストを使用することができる。
【０１２７】
図６の例で図示し説明するように、コンテキスト情報の導出元となる位置を限定することによって、ビデオデコーダ３０は、コンテキスト導出の目的でバッファリングされるデータの量を減らすことができる。更に、ビデオデコーダ３０は、構文解析スループット及び／又は耐性（robustness）を高めることができる。例えば、上記のように、ビデオデコーダ３０は、特定の後部案解析プロセス（例えば、波面構文解析）に従って、受信されたビデオデータを構文解析することができる。ビデオデコーダ３０が幾つかの隣接ブロックからのデータを使用してコンテキストを決定することのない例では、ビデオデコーダ３０は、コンテキスト依存を解消して、構文解析スループットとビデオデータの並列処理能力とを改善することができる。更に、コンテキスト依存を解消することで、コンテキスト導出エラーの可能性を減らし、それにより、構文解析耐性を改善することができる。
【０１２８】
図７は、ビデオデータのブロックをエントロピーコード化する例示的な技法を示すフロー図である。図７に示す例は全体的に、ビデオコーダによって実行されるものとして記述している。幾つかの例では、図７の技法は、上述のビデオエンコーダ２０（図１及び図２）又はビデオデコーダ３０（図１及び図３）によって実行され得ることを理解されたい。他の例では、図７の技法は、様々な他のプロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）のようなハードウェアベースのコード化ユニットなどによって実行され得る。
【０１２９】
ビデオコーダは、エントロピーコード化するためのコード化済単位（例えば、ピクチャ、スライス、タイル、波面のセットなど）のビデオデータのブロックを受信することができる（２００）。本開示の態様によれば、ビデオデータのブロックは、コード化済単位（ＣＵ）の最上行の下に位置し得る。例えば、ビデオコーダは、現在エントロピーコード化されているブロックがコード化済単位のブロックの別の行の下に位置するかどうかを決定することができる。幾つかの例では、現在エントロピーコード化されているブロックは、上に隣接するサブＣＵと同じＬＣＵに含まれるサブＣＵであり得る。他の例では、ブロックはＬＣＵの端に、上に隣接するブロックが現在のブロックとは異なるＬＣＵに属するように位置し得る。
【０１３０】
次いでビデオコーダは、上に隣接するブロックからの情報を含まない、ブロックに関するコンテキストを決定することができる（２０２）。例えば、本開示の態様によれば、ビデオコーダは、確率モデルを選択するためのコンテキストを決定するときに、上に隣接するブロックからの情報を使用するのではなく、左に隣接するブロックからの情報を使用することができる。幾つかの例では、左に隣接するブロックは、現在コード化されているブロックと同じＬＣＵ内に含まれ得る。他の例では、左に隣接するブロックは、現在コード化されているブロックとは異なるＬＣＵに含まれ得る。
【０１３１】
別の例では、ビデオデータのブロックは、ＬＣＵの１つ以上のブロックを含むことができ、上に隣接するブロックは、１つ以上の他のＬＣＵを含むことができる。そのような例では、本開示の態様によれば、ビデオコーダは、ブロックに関するコンテキストを、ＬＣＵの他のブロックに関連する情報を使用して決定するが、（他のＬＣＵに含まれる）上に隣接するブロックを除外することができる。説明のための一例では、コード化されているブロックは、ＬＣＵの第１のサブＣＵを含むことができ、上に隣接するブロックは、１つ以上の他のＬＣＵを含むことができる。また、第２のサブＣＵは、（同じＬＣＵ内の）第１のサブＣＵの上に位置する。この例では、ビデオコーダは、第１のサブＣＵの上に位置する第２のサブＣＵからの情報を使用して、第１のサブＣＵに関するコンテキスト情報を決定することができる。
【０１３２】
別の例では、本開示の態様によれば、ビデオコーダは、ブロックに関連するローカルＣＵ及び／又はＬＣＵ情報に基づいて、ブロックをエントロピーコード化するためのコンテキストを決定することができる。例えば、ビデオコーダは、（例えば、図４に示すような４分木構造による）ＣＵ深さ又はＴＵ深さ、ＬＣＵのサイズ、又は他の特性に基づいて、コンテキストを決定することができる。即ち、ビデオコーダは、現在のブロックに到達するためにＬＣＵが区分された回数に一般に対応するＣＵ深さに基づいて、インター予測データに関するコンテキストを決定することができる。別の例として、ビデオコーダは、現在のブロックのＴＵが分割された回数を記述する変換深度に基づいて、イントラ予測データに関するコンテキストを決定することができる。他の例として、ブロックが属するＣＵのサイズ、ブロックに関連するＴＵのサイズなどに基づいて、現在のブロックに関するコンテキストを決定することなども考えられる。
【０１３３】
他の例では、ビデオコーダは、他の方法でブロックに関するコンテキストを決定することができる。例えば、幾つかの態様によれば、ビデオコーダは、ブロックをエントロピーコード化するときに、単一のコンテキストを使用することができる。即ち、ビデオコーダは、現在コード化されているシンタックス要素に基づいて、現在のブロックをコード化するためのコンテキストを決定することができる（例えば、シンタックス要素は、あるコンテキストに直接マップする）。
【０１３４】
幾つかの例では、ビデオコーダは、ブロックをエントロピーコード化するためのコンテキストを決定するときに、発信源の組合せからの情報を使用することができる。例えば、ビデオコーダは、左に隣接するブロックからの情報とローカルＣＵ及び／又はＬＣＵ特性からの情報の両方を使用することができる。別の例では、ビデオコーダは、そのブロックと同じＬＣＵの一部である隣接ブロックからの情報と、ローカルＣＵ及び／又はＬＣＵ特性からの情報とを使用することができる。コンテキストを決定した後、ビデオコーダは、上記のように、決定されたコンテキストを使用してブロックをエントロピーコード化することができる（２０４）。
【０１３５】
図７に示すプロセスは全体的に、ビデオデータのブロックをコード化することに関して記述しているが、ビデオデータのブロックは、（例えば、上の図５及び図６に関して説明したように）２つ以上の関連するシンタックス要素を含み得ることを理解されたい。従って、図７の例において図示し説明したプロセスは、ビデオデータのブロックをエントロピーコード化するときに複数回実行され得る。即ち、例えば、ビデオコーダは、ビデオデータのブロックに関連する幾つかのシンタックス要素を他のシンタックス要素とは別様にエントロピーコード化することができる。従って、あるシンタックス要素は、ブロックの特性に基づきコンテキストを使用して、エントロピーコード化されることがあり、別のシンタックス要素は、別の方法でエントロピーコード化されることがある。
【０１３６】
また、図７に関して図示し説明したステップは一例として与えたものにすぎないことを理解されたい。即ち、図７の方法のステップは必ずしも図７に示す順序で実行される必要があるとは限らず、より少数の、追加の、又は代替のステップが実行され得る。
【０１３７】
図８は、ビデオデータのブロックをエントロピーコード化する例示的な技法を示すフロー図である。図８に示す例は全体的に、ビデオコーダによって実行されるものとして記述している。幾つかの例では、図８の技法は、上述のビデオエンコーダ２０（図１及び図２）又はビデオデコーダ３０（図１及び図３）によって実行され得ることを理解されたい。他の例では、図８の技法は、様々な他のプロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）のようなハードウェア利用コード化ユニットなどによって実行され得る。
【０１３８】
幾つかの例によれば、図８に示す例の技法は、図７に示す技法とともに実行され得る。例えば、図８に示す例の技法は、図７のステップ２０２中に実行され得る。
【０１３９】
図８の例では、ビデオコーダは、特定のシンタックス要素をエントロピーコード化するための確率モデルを選択するためのコンテキスト情報として、左に隣接するブロックからのデータを使用するかどうかを決定する（２１０）。例えば、図７に関して上述したように、ビデオコーダは、１つ以上のシンタックス要素をエントロピーコード化するためのコンテキストを決定するときに、上に隣接するブロックからの情報を使用することができない。本開示の態様によれば、ビデオコーダは、確率モデルを選択するためのコンテキストを決定するときに、上に隣接するブロックからの情報を使用するのではなく、左に隣接するブロックからの情報を使用することができる。そのような例（例えば、ステップ２１０のはいブランチ）では、ビデオコーダは、左に隣接するブロックからコンテキスト情報の少なくとも一部分を取り出すことができる（２１２）。幾つかの例では、左に隣接するブロックは、現在コード化されているブロックと同じＬＣＵ内に含まれ得る。他の例では、左に隣接するブロックは、現在コード化されているブロックとは異なるＬＣＵに含まれ得る。
【０１４０】
次いでビデオコーダは、エントロピーコード化するためのコンテキストとして、他のソースからのデータを使用するかどうかを決定することができる（２１４）。ビデオコーダが、左に隣接するブロックからのデータをコンテキストとして使用しない場合（例えば、ステップ２１０のいいえブランチ）、ビデオコーダはステップ２１４に直接進むことができる。いずれにしても、ビデオコーダは、ブロックに関連するローカルＣＵ及び／又はＬＣＵ情報に基づいてコンテキストを決定することができる。即ち、ビデオコーダは、（例えば、図４に示すような４分木構造による）ＣＵ深さ又はＴＵ深さ、ＬＣＵのサイズ、又は他の特性に基づいて、コンテキストを決定することができる。他の例では、ビデオコーダは単一のコンテキストを決定することができる。即ち、ビデオコーダは、現在コード化されているシンタックス要素に基づいてコンテキストを決定することができる（例えば、シンタックス要素は、あるコンテキストに直接マップする）。
【０１４１】
ビデオコーダが他のソースからのデータをコンテキストとして使用する場合（例えば、ステップ２１４のはいブランチ）、ビデオコーダは他の１つ以上の発信源から適切なコンテキスト情報を取り出すことができる（２１６）。次いでビデオコーダは、決定されたコンテキスト情報に基づいて確率モデルを選択することができる（２１８）。ビデオコーダが、他のソースからのデータをコンテキストとして使用しない場合、ビデオコーダはステップ２１８に直接進むことができる。
【０１４２】
また、図８に関して図示し説明したステップは一例として与えたものにすぎないことを理解されたい。即ち、図８の方法のステップは必ずしも図８に示す順序で実行される必要があるとは限らず、より少数の、追加の、又は代替のステップが実行され得る。
【０１４３】
図９は、ビデオデータのブロックをエントロピーコード化する例示的な技法を示すフロー図である。図９に示す例は全体的に、ビデオコーダによって実行されるものとして記述している。幾つかの例では、図９の技法は、上述のビデオエンコーダ２０（図１及び図２）又はビデオデコーダ３０（図１及び図３）によって実行され得ることを理解されたい。他の例では、図９の技法は、様々な他のプロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）のようなハードウェア利用コード化ユニットなどによって実行され得る。
【０１４４】
幾つかの例によれば、図９に示す例の技法は、図７に示す技法とともに実行され得る。例えば、図９に示す例の技法は、図７のステップ２０２中に実行され得る。
【０１４５】
図９の例では、ビデオコーダは、現在のＬＣＵから特定のシンタックス要素をエントロピーコード化するための確率モデルを選択するためのコンテキスト情報として、現在のＬＣＵからのデータを使用するかどうかを決定する（２３０）。例えば、図７に関して上述したように、場合によっては、ビデオコーダは、１つ以上のシンタックス要素をエントロピーコード化するためのコンテキストを決定するときに、上に隣接するブロックからの情報を使用することができない。しかしながら、本開示の態様によれば、ビデオコーダは、上に隣接するブロックが現在コード化されているブロックと同じＬＣＵからのものであるときに限り、コンテキストを決定するときに上に隣接するブロックに関連するデータを使用することができる。即ち、ビデオコーダは、ＬＣＵに関連するシンタックス要素をコード化するためのコンテキストを決定するときに、ＬＣＵ境界を越えるのを控えることができる。
【０１４６】
そのような例（例えば、ステップ２３０のはいブランチ）では、ビデオコーダは、ＬＣＵに関するブロックからコンテキスト情報の少なくとも一部分を取り出すことができる（２３２）。次いでビデオコーダは、エントロピーコード化するためのコンテキストとして、他のソースからのデータを使用するかどうかを決定することができる（２３４）。ビデオコーダが、現在のＬＣＵからのデータをコンテキストとして使用しない場合（例えば、ステップ２３０のいいえブランチ）、ビデオコーダはステップ２３４に直接進むことができる。いずれにしても、ビデオコーダは、ブロックに関連するローカルＣＵ及び／又はＬＣＵ情報に基づいてコンテキストを決定することができる。即ち、ビデオコーダは、例えば、（図４に示すような４分木構造による）ＣＵ深さ又はＴＵ深さ、ＬＣＵのサイズ、又は他の特性に基づいて、コンテキストを決定することができる。他の例では、ビデオコーダは単一のコンテキストを決定することができる。即ち、ビデオコーダは、現在コード化されているシンタックス要素に基づいてコンテキストを決定することができる（例えば、シンタックス要素は、あるコンテキストに直接マップする）。
【０１４７】
ビデオコーダが他のソースからのデータをコンテキストとして使用する場合（例えば、ステップ２３４のはいブランチ）、ビデオコーダは他の１つ以上の発信源から適切なコンテキスト情報を取り出すことができる（２３６）。次いでビデオコーダは、決定されたコンテキスト情報に基づいて確率モデルを選択することができる（２３８）。ビデオコーダが、他のソースからのデータをコンテキストとして使用しない場合、ビデオコーダはステップ２３８に直接進むことができる。
【０１４８】
また、図９に関して図示し説明したステップは一例として与えたものにすぎないことを理解されたい。即ち、図９の方法のステップは必ずしも図９に示す順序で実行される必要があるとは限らず、より少数の、追加の、又は代替のステップが実行され得る。
【０１４９】
図１０は、ビデオデータのブロックをエントロピーコード化する例示的な技法を示すフロー図である。図１０に示す例は全体的に、ビデオコーダによって実行されるものとして記述している。幾つかの例では、図１０の技法は、上述のビデオエンコーダ２０（図１及び図２）又はビデオデコーダ３０（図１及び図３）によって実行され得ることを理解されたい。他の例では、図８の技法は、様々な他のプロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）のようなハードウェア利用コード化ユニットなどによって実行され得る。
【０１５０】
幾つかの例によれば、図１０に示す例の技法は、図７に示す技法とともに実行され得る。例えば、図１０に示す例の技法は、図７のステップ２０２中に実行され得る。
【０１５１】
図１０の例では、ビデオコーダは、特定のシンタックス要素をエントロピーコード化するための確率モデルを選択するためのコンテキスト情報として、ローカルブロック情報からのデータを使用するかどうかを決定する（２６０）。例えば、図７に関して上述したように、ビデオコーダは、１つ以上のシンタックス要素をエントロピーコード化するためのコンテキストを決定するときに、上に隣接するブロックからの情報を使用することができない。本開示の態様によれば、ビデオコーダは、上に隣接するブロックからの情報を使用するのではなく、ローカルブロック情報からのデータを使用することができる。そのような例（例えば、ステップ２１０のはいブランチ）では、ビデオコーダは、ローカルブロック情報からコンテキスト情報の少なくとも一部分を取り出すことができる（２１２）。
【０１５２】
例えば、ビデオコーダは、コンテキスト情報を決定するときに、ＣＵの１つ以上の特性からのデータを使用することができる。即ち、一例では、ビデオコーダは、ＣＵのインター予測残差データをエントロピーコード化することができる。この例では、ビデオコーダは、インター予測残差データをエントロピーコード化するためのコンテキスト情報を決定するときに、ＣＵ深さを決定することができる。言い換えれば、特定のＣＵ深さにおけるＣＵのシンタックス要素をコード化するとき、ビデオコーダは、確率モデルを選択するためのコンテキスト情報としてＣＵ深さを使用することができる。説明のための一例では、ビデオコーダは、特定のＣＵ深さをコンテキスト情報として使用して、特定のＣＵ深さにおけるインター予測データに関連するインター予測フラグ（ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇ）をエントロピーコード化することができる。
【０１５３】
別の例では、ビデオコーダは、コンテキスト情報を決定するときに、ＴＵの１つ以上の特性からのデータを使用することができる。即ち、一例では、ビデオコーダは、ＴＵのイントラ予測残差データをエントロピーコード化することができる。この例では、ビデオコーダは、イントラ予測残差データをエントロピーコード化するためのコンテキスト情報を決定するときに、ＴＵ深さを決定することができる。言い換えれば、特定のＴＵ深さにおけるＴＵのシンタックス要素をコード化するとき、ビデオコーダは、確率モデルを選択するためのコンテキスト情報としてＴＵ深さを使用することができる。説明のための一例では、ビデオコーダは、特定のＴＵ深さをコンテキスト情報として使用して、特定のＴＵ深さにおけるコード化ブロックパターンの１つ以上のシンタックス要素をエントロピーコード化することができる。
【０１５４】
次いでビデオコーダは、エントロピーコード化するためのコンテキストとして、他のソースからのデータを使用するかどうかを決定することができる（２６４）。例えば、ビデオコーダは、左に隣接するブロックからのデータ（例えば、図８）又はコード化されているＬＣＵにおける他のブロックからのデータ（例えば、図９）を使用して、エントロピーコード化するためのコンテキストを決定することができる。他の例では、ビデオコーダは、現在コード化されているシンタックス要素に基づいてコンテキストを決定することができる（例えば、シンタックス要素は、あるコンテキストに直接マップする）。
【０１５５】
ビデオコーダが他のソースからのデータをコンテキストとして使用する場合（例えば、ステップ２６４のはいブランチ）、ビデオコーダは他の１つ以上の発信源から適切なコンテキスト情報を取り出すことができる（２６６）。次いでビデオコーダは、決定されたコンテキスト情報に基づいて確率モデルを選択することができる（２６８）。ビデオコーダが、他のソースからのデータをコンテキストとして使用しない場合、ビデオコーダはステップ２６８に直接進むことができる。
【０１５６】
また、図１０に関して図示し説明したステップは一例として与えたものにすぎないことを理解されたい。即ち、図１０の方法のステップは必ずしも図１０に示す順序で実行される必要があるとは限らず、より少数の、追加の、又は代替のステップが実行され得る。
【０１５７】
更に、例によっては、本明細書で説明する方法のうちいずれかの、幾つかの作用又はイベントは、異なる順序で実行され得、追加され、マージされ、又は完全に除外され得る（例えば、すべての説明した作用又はイベントが、本方法の実施に必要であるとは限らない）ことを理解されたい。更に、幾つかの例では、作用又はイベントは、連続的にではなく、同時に、例えば、マルチスレッド処理、割込み処理、又は複数のプロセッサを通して実施され得る。更に、本開示の幾つかの態様は、明快にするために単一のモジュール又はユニットによって実行されるものとして説明しているが、本開示の技法はビデオコーダに関連するユニット又はモジュールの組合せによって実行され得ることを理解されたい。
【０１５８】
１つ以上の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、機能は、１つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。
【０１５９】
このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コード及び／又はデータ構造を取り出すために１つもしくは複数のコンピュータ又は１つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１６０】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気記憶装置、フラッシュメモリ、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【０１６１】
但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１６２】
命令は、１つ以上のデジタル信号プロセッサ（ＤＳＰ）などの１つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実施に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つ以上の回路又は論理要素中に十分に実施され得る。
【０１６３】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実施され得る。本開示では、開示する技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上記で説明した１つ以上のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
【０１６４】
本開示の様々な態様について説明した。これら及び他の態様は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータをコード化する方法であって、ビデオデータのコード化済単位内に含まれており前記コード化済単位中のブロックの最上行の下にあるビデオデータのブロックについてのコンテキスト情報を決定することと、前記コンテキスト情報は、前記コード化済単位中の上部に隣接するブロックからの情報を含まない、決定された前記コンテキスト情報を使用して、前記ブロックのデータをエントロピーコード化することと、を備える方法。
［２］  前記コード化済単位は、ピクチャ、スライス、タイル、及び波面のセットのうちの１つを備える、［１］に記載の方法。
［３］  前記コンテキスト情報を決定することは、前記コード化済単位の左に隣接するブロックからの前記コンテキスト情報の少なくとも一部分に基づく、［１］に記載の方法。
［４］  ビデオデータの前記ブロックに関するコンテキスト情報を決定することは、シンタックス要素の第１のセットに関するコンテキスト情報を、前記ブロックに隣接しており前記コード化ユニット中に含まれるブロックからの前記コンテキスト情報の少なくとも一部分に基づいて決定することと、シンタックス要素の第２のセットに関するコンテキスト情報を決定することと、備え、前記コンテキスト情報は、前記ブロックに隣接しており前記コード化済単位中に含まれるブロックからの情報を含まない、［１］に記載の方法。
［５］  シンタックス要素の前記第２のセットは、残差データなしフラグ（ｎｏ＿ｒｅｓｉｄｕａｌ＿ｄａｔａ＿ｆｌａｇ）、マージフラグ（ｍｅｒｇｅ＿ｆｌａｇ）、参照インデックスフラグの第１のビン（ｒｅｆ＿ｉｄｘのビン０）、及び動きベクトル差分インデックス（ｍｖｄ＿ｉｄｘ）の第１のビンのうちの少なくとも１つを備える、［４］に記載の方法。
［６］  シンタックス要素の前記第２のセットに関するコンテキスト情報を決定することは、コード化されているシンタックス要素に基づいて単一のコンテキストを決定することを備える、［５］に記載の方法。
［７］  シンタックス要素の前記第１のセットは、スキップフラグ、分割コード化単位フラグ（ｓｐｌｉｔ＿ｃｏｄｉｎｇ＿ｕｎｉｔ＿ｆｌａｇ）、ルーマブロックのｃｂｐ、及びクロマイントラモードのビン０のうちの少なくとも１つを備える、［４］に記載の方法。
［８］  前記ブロックは最大コード化単位ＬＣＵの１つ以上のブロックを備え、ブロックの前記最上行は１つ以上の他のＬＣＵを備え、前記ブロックに関するコンテキスト情報を決定することは、前記ＬＣＵの前記１つ以上のブロックに関連する情報を使用してコンテキスト情報を決定することと、前記ＬＣＵの外の情報を除外することとを備える、［１］に記載の方法。
［９］  前記ブロックは前記コード化済単位の第１の最大コード化単位（ＬＣＵ）の第１のサブコード化単位（ＣＵ）を備え、前記上部に隣接するブロックは、前記第１のＬＣＵの上にある前記コード化済単位の第２のＬＣＵを備え、前記コンテキスト情報を決定することは、前記コンテキスト情報を、前記第１のＬＣＵの第２のサブＣＵからの前記コンテキスト情報の少なくとも一部分に基づいて決定することを備え、前記第２のサブＣＵは、前記第１のＬＣＵ中の前記第１のサブＣＵの上にある、［１］に記載の方法。
［１０］  前記ブロックはコード化単位（ＣＵ）を備え、前記コンテキスト情報を決定することは、前記ＣＵの１つ以上の特性を決定することを備える、［１］に記載の方法。
［１１］  前記ブロックの前記データをエントロピーコード化することは、前記ＣＵのインター予測残差データをエントロピーコード化することを備え、前記ＣＵの前記１つ以上の特性を決定することは、前記ＣＵのＣＵ深さを決定することを備える、［１０］に記載の方法。
［１２］  前記ＣＵのインター予測残差データをエントロピーコード化することは、前記ＣＵの前記ＣＵ深さに基づいてインター予測フラグ（ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇ）をエントロピーコード化することを備える、［１１］に記載の方法。
［１３］  前記ブロックは変換単位（ＴＵ）を備え、前記コンテキスト情報を決定することは、前記ＴＵの１つ以上の特性を決定することを備える、［１］に記載の方法。
［１４］  前記ブロックの前記データをエントロピーコード化することは、前記ＴＵのイントラ予測残差データをエントロピーコード化することを備え、前記ＴＵの前記１つ以上の特性を決定することは、前記ＴＵのＴＵ深さを決定することを備える、［１３］に記載の方法。
［１５］  前記ＴＵのイントラ予測残差データをエントロピーコード化することは、コード化済ブロックパターンの１つ以上のシンタックス要素をエントロピーコード化することを備える、［１４］に記載の方法。
［１６］  決定された前記コンテキスト情報を使用して前記ブロックのデータをエントロピーコード化することは、決定された前記コンテキスト情報に基づいて確率モデルを決定することと、決定された前記確率モデルを使用して前記データをエントロピーコード化することとを備える、［１］に記載の方法。
［１７］  ビデオデータの前記ブロックをエントロピーコード化することは、ビデオデータの前記ブロックをエントロピー符号化することを備える、［１］に記載の方法。
［１８］  ビデオデータの前記ブロックをエントロピー符号化することは、ビデオデータの前記ブロックをコンテキスト適応型二値算術コード化することを備える、［１７］に記載の方法。
［１９］  ビデオデータの前記ブロックをエントロピー符号化することは、前記ブロックの１つ以上の残差値に変換を適用して変換係数を生成することと、前記変換係数を量子化して量子化変換係数を生成することと、前記量子化変換係数をエントロピー符号化することと、を更に備える、［１７］に記載の方法。
［２０］  ビデオデータの前記ブロックをエントロピーコード化することは、ビデオデータの前記ブロックをエントロピー復号することを備える、［１］に記載の方法。
［２１］  ビデオデータの前記ブロックをエントロピー復号することは、受信されたビットストリームをエントロピー復号して、ビデオデータの前記ブロックに関連する量子化変換係数を生成することと、前記量子化変換係数を逆量子化して変換係数を生成することと、前記変換係数に逆変換を適用して、ビデオデータの前記ブロックに関連する残差値を生成することと、を備える、［２０］に記載の方法。
［２２］  ビデオデータの前記ブロックをエントロピー復号することは、ビデオデータの前記ブロックをコンテキスト適応型二値算術コード化することを備える、［２０］に記載の方法。
［２３］  ビデオデータをコード化するための装置であって、１つ以上のプロセッサを備え、前記１つ以上のプロセッサは、ビデオデータのコード化済単位内に含まれており前記コード化済単位中のブロックの最上行の下にあるビデオデータのブロックについてのコンテキスト情報を決定することと、前記コンテキスト情報は、前記コード化済単位中の上部に隣接するブロックからの情報を含まない、決定された前記コンテキスト情報を使用して、前記ブロックのデータをエントロピーコード化することと、を行うように構成される、装置。
［２４］  前記コード化済単位は、ピクチャ、スライス、タイル、及び波面のセットのうちの１つを備える、［２３］に記載の装置。
［２５］  前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは、前記コンテキスト情報を、前記コード化済単位の左に隣接するブロックからの前記コンテキスト情報の少なくとも一部分に基づいて決定するように構成される、［２３］に記載の装置。
［２６］  ビデオデータの前記ブロックに関するコンテキスト情報を決定するために、前記１つ以上のプロセッサは、シンタックス要素の第１のセットに関するコンテキスト情報を、前記ブロックに隣接しており前記コード化済単位中に含まれるブロックからの前記コンテキスト情報の少なくとも一部分に基づいて決定することと、シンタックス要素の第２のセットに関するコンテキスト情報を決定することと、を行うように構成され、前記コンテキスト情報は、前記ブロックに隣接しており前記コード化済単位中に含まれるブロックからの情報を含まない、［２３］に記載の装置。
［２７］  シンタックス要素の前記第２のセットは、残差データなしフラグ（ｎｏ＿ｒｅｓｉｄｕａｌ＿ｄａｔａ＿ｆｌａｇ）、マージフラグ（ｍｅｒｇｅ＿ｆｌａｇ）、参照インデックスフラグの第１のビン（ｒｅｆ＿ｉｄｘのビン０）、及び動きベクトル差分インデックス（ｍｖｄ＿ｉｄｘ）の第１のビンのうちの少なくとも１つを備える、［２６］に記載の装置。
［２８］  シンタックス要素の前記第２のセットに関するコンテキスト情報を決定するために、前記１つ以上のプロセッサは、コード化されているシンタックス要素に基づいて単一のコンテキストを決定するように構成される、［２７］に記載の装置。
［２９］  シンタックス要素の前記第１のセットは、スキップフラグ、分割コード化単位フラグ（ｓｐｌｉｔ＿ｃｏｄｉｎｇ＿ｕｎｉｔ＿ｆｌａｇ）、ルーマブロックのｃｂｐ、及びクロマイントラモードのビン０のうちの少なくとも１つを備える、［２６］に記載の装置。
［３０］  前記ブロックは最大コード化単位ＬＣＵの１つ以上のブロックを備え、ブロックの前記最上行は１つ以上の他のＬＣＵを備え、前記ブロックに関するコンテキスト情報を決定するために、前記１つ以上のプロセッサは、前記ＬＣＵの前記１つ以上のブロックに関連する情報を使用してコンテキスト情報を決定し、前記ＬＣＵの外の情報を除外するように構成される、［２３］に記載の装置。
［３１］  前記ブロックは前記コード化済単位の第１の最大コード化単位（ＬＣＵ）の第１のサブコード化単位（ＣＵ）を備え、前記上部に隣接するブロックは、前記第１のＬＣＵの上にある前記コード化済単位の第２のＬＣＵを備え、前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは、前記コンテキスト情報を、前記第１のＬＣＵの第２のサブＣＵからの前記コンテキスト情報の少なくとも一部分に基づいて決定するように構成され、前記第２のサブＣＵは、前記第１のＬＣＵ中の前記第１のサブＣＵの上にある、［２３］に記載の装置。
［３２］  前記ブロックはコード化単位（ＣＵ）を備え、前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは、前記ＣＵの１つ以上の特性を決定するように構成される、［２３］に記載の装置。
［３３］  前記ブロックの前記データをエントロピーコード化するために、前記１つ以上のプロセッサは、前記ＣＵのインター予測残差データをエントロピーコード化するように構成され、前記ＣＵの前記１つ以上の特性を決定するために、前記１つ以上のプロセッサは、前記ＣＵのＣＵ深さを決定するように構成される、［３２］に記載の装置。
［３４］  前記ＣＵのインター予測残差データをエントロピーコード化するために、前記１つ以上のプロセッサは、前記ＣＵの前記ＣＵ深さに基づいてインター予測フラグ（ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇ）をエントロピーコード化するように構成される、［３３］に記載の装置。
［３５］  前記ブロックは変換単位（ＴＵ）を備え、前記コンテキスト情報を決定するために、前記１つ以上のプロセッサは、前記ＴＵの１つ以上の特性を決定するように構成される、［２３］に記載の装置。
［３６］  前記ブロックの前記データをエントロピーコード化するために、前記１つ以上のプロセッサは、前記ＴＵのイントラ予測残差データをエントロピーコード化するように構成され、前記ＴＵの前記１つ以上の特性を決定するために、前記１つ以上のプロセッサは、前記ＴＵのＴＵ深さを決定するように構成される、［３５］に記載の装置。
［３７］  前記ＴＵのイントラ予測残差データをエントロピーコード化するために、前記１つ以上のプロセッサは、コード化済ブロックパターンの１つ以上のシンタックス要素をエントロピーコード化するように構成される、［３６］に記載の装置。
［３８］  決定された前記コンテキスト情報を使用して前記ブロックのデータをエントロピーコード化するために、前記１つ以上のプロセッサは、決定された前記コンテキスト情報に基づいて確率モデルを決定し、決定された前記確率モデルを使用して前記データをエントロピーコード化するように構成される、［２３］に記載の装置。
［３９］  ビデオデータの前記ブロックをエントロピーコード化するために、前記１つ以上のプロセッサは、ビデオデータの前記ブロックを符号化するように構成される、［２３］に記載の装置。
［４０］  ビデオデータの前記ブロックをエントロピー符号化するために、前記１つ以上のプロセッサは、ビデオデータの前記ブロックをコンテキスト適応型二値算術コード化するように構成される、［３９］に記載の装置。
［４１］  ビデオデータの前記ブロックをエントロピー符号化するために、前記１つ以上のプロセッサは、前記ブロックの１つ以上の残差値に変換を適用して変換係数を生成し、前記変換係数を量子化して量子化変換係数を生成し、前記量子化変換係数をエントロピー符号化する
ように構成される、［３９］に記載の装置。
［４２］  ビデオデータの前記ブロックをエントロピーコード化するために、前記１つ以上のプロセッサは、ビデオデータの前記ブロックを復号するように構成される、［２３］に記載の装置。
［４３］  ビデオデータの前記ブロックをエントロピー復号するために、前記１つ以上のプロセッサは、受信されたビットストリームをエントロピー復号して、ビデオデータの前記ブロックに関連する量子化変換係数を生成し、前記量子化変換係数を逆量子化して変換係数を生成し、前記変換係数に逆変換を適用して、ビデオデータの前記ブロックに関連する残差値を生成するように構成される、［４２］に記載の装置。
［４４］  ビデオデータの前記ブロックをエントロピー復号するために、前記１つ以上のプロセッサは、ビデオデータの前記ブロックをコンテキスト適応型二値算術コード化するように構成される、［４２］に記載の装置。
［４５］  ビデオデータをコード化するための装置であって、ビデオデータのコード化済単位内に含まれており前記コード化済単位中のブロックの最上行の下にあるビデオデータのブロックについてのコンテキスト情報を決定するための手段と、前記コンテキスト情報は、前記コード化済単位中の上部に隣接するブロックからの情報を含まない、決定された前記コンテキスト情報を使用して、前記ブロックのデータをエントロピーコード化するための手段と、を備える装置。
［４６］  前記コード化済単位は、ピクチャ、スライス、タイル、及び波面のセットのうちの１つを備える、［４５］に記載の装置。
［４７］  前記コンテキスト情報を決定するための手段は、コンテキスト情報を、前記コード化済単位の左に隣接するブロックからの前記コンテキスト情報の少なくとも一部分に基づいて決定するための手段を備える、［４５］に記載の装置。
［４８］  ビデオデータの前記ブロックに関するコンテキスト情報を決定するための手段は、シンタックス要素の第１のセットに関するコンテキスト情報を、前記ブロックに隣接しており前記コード化済単位中に含まれるブロックからの前記コンテキスト情報の少なくとも一部分に基づいて決定するための手段と、シンタックス要素の第２のセットに関するコンテキスト情報を決定するための手段と、を備え、前記コンテキスト情報は、前記ブロックに隣接しており前記コード化済単位中に含まれるブロックからの情報を含まない、［４５］に記載の装置。
［４９］  シンタックス要素の前記第２のセットは、残差データなしフラグ（ｎｏ＿ｒｅｓｉｄｕａｌ＿ｄａｔａ＿ｆｌａｇ）、マージフラグ（ｍｅｒｇｅ＿ｆｌａｇ）、参照インデックスフラグの第１のビン（ｒｅｆ＿ｉｄｘのビン０）、及び動きベクトル差分インデックス（ｍｖｄ＿ｉｄｘ）の第１のビンのうちの少なくとも１つを備える、［４８］に記載の装置。
［５０］  シンタックス要素の前記第２のセットに関するコンテキスト情報を決定するための手段は、コード化されているシンタックス要素に基づいて単一のコンテキストを決定するための手段を備える、［４９］に記載の装置。
［５１］  シンタックス要素の前記第１のセットは、スキップフラグ、分割コード化単位フラグ（ｓｐｌｉｔ＿ｃｏｄｉｎｇ＿ｕｎｉｔ＿ｆｌａｇ）、ルーマブロックのｃｂｐ、及びクロマイントラモードのビン０のうちの少なくとも１つを備える、［４８］に記載の装置。
［５２］  前記ブロックは前記コード化済単位の第１の最大コード化単位（ＬＣＵ）の第１のサブコード化単位（ＣＵ）を備え、前記上部に隣接するブロックは、前記第１のＬＣＵの上にある前記コード化済単位の第２のＬＣＵを備え、前記コンテキスト情報を決定するための手段は、前記コンテキスト情報を、前記第１のＬＣＵの第２のサブＣＵからの前記コンテキスト情報の少なくとも一部分に基づいて決定するための手段を備え、前記第２のサブＣＵは、前記第１のＬＣＵ中の前記第１のサブＣＵの上にある、［４５］に記載の装置。
［５３］  前記ブロックはコード化済単位（ＣＵ）を備え、前記コンテキスト情報を決定するための手段は、前記ＣＵの１つ以上の特性を決定するための手段を備える、［４５］に記載の装置。
［５４］  前記ブロックの前記データをエントロピーコード化するための手段は、前記ＣＵのインター予測残差データをエントロピーコード化するための手段を備え、前記ＣＵの前記１つ以上の特性を決定するための手段は、前記ＣＵのＣＵ深さを決定するための手段を備える、［５３］に記載の装置。
［５５］  前記ＣＵのインター予測残差データをエントロピーコード化するための手段は、前記ＣＵの前記ＣＵ深さに基づいてインター予測フラグ（ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇ）をエントロピーコード化するための手段を備える、［５４］に記載の装置。
［５６］  前記ブロックは変換単位（ＴＵ）を備え、前記コンテキスト情報を決定するための手段は、前記ＴＵの１つ以上の特性を決定するための手段を備える、［４５］に記載の装置。
［５７］  前記ブロックの前記データをエントロピーコード化するための手段は、前記ＴＵのイントラ予測残差データをエントロピーコード化するための手段を備え、前記ＴＵの前記１つ以上の特性を決定するための手段は、前記ＴＵのＴＵ深さを決定するための手段を備える、［５６］に記載の装置。
［５８］  前記ＴＵのイントラ予測残差データをエントロピーコード化するための手段は、コード化済ブロックパターンの１つ以上のシンタックス要素をエントロピーコード化するための手段を備える、［５７］に記載の装置。
［５９］  命令を記憶したコンピュータ可読記憶媒体であって、前記命令は実行されたとき、１つ以上のプロセッサに、ビデオデータのコード化済単位内に含まれており前記コード化済単位中のブロックの最上行の下部にあるビデオデータのブロックについてのコンテキスト情報を決定することと、前記コンテキスト情報は、前記コード化済単位中の上部に隣接するブロックからの情報を含まない、決定された前記コンテキスト情報を使用して、前記ブロックのデータをエントロピーコード化することと、を行わせる、コンピュータ可読記憶媒体。
［６０］  前記コード化済単位は、ピクチャ、スライス、タイル、及び波面のセットのうちの１つを備える、［５９］に記載のコンピュータ可読記憶媒体。
［６１］  前記命令は、前記１つ以上のプロセッサに、コンテキスト情報を、前記コード化済単位の左に隣接するブロックからの前記コンテキスト情報の少なくとも一部分に基づいて決定して、コンテキスト情報を決定することを更に行わせる、［５９］に記載のコンピュータ可読記憶媒体。
［６２］  前記命令は、前記１つ以上のプロセッサに、シンタックス要素の第１のセットに関するコンテキスト情報を、前記ブロックに隣接しており前記コード化済単位中に含まれるブロックからの前記コンテキスト情報の少なくとも一部分に基づいて決定することと、シンタックス要素の第２のセットに関するコンテキスト情報を決定することと、を更に行わせ、前記コンテキスト情報は、前記ブロックに隣接しており前記コード化済単位中に含まれるブロックからの情報を含まない、［５９］に記載のコンピュータ可読記憶媒体。
［６３］  シンタックス要素の前記第２のセットは、残差データなしフラグ（ｎｏ＿ｒｅｓｉｄｕａｌ＿ｄａｔａ＿ｆｌａｇ）、マージフラグ（ｍｅｒｇｅ＿ｆｌａｇ）、参照インデックスフラグの第１のビン（ｒｅｆ＿ｉｄｘのビン０）、及び動きベクトル差分インデックス（ｍｖｄ＿ｉｄｘ）の第１のビンのうちの少なくとも１つを備える、［６２］に記載のコンピュータ可読記憶媒体。
［６４］  前記命令は、前記１つ以上のプロセッサに、シンタックス要素の前記第２のセットに関し、コード化されているシンタックス要素に基づいて単一のコンテキストを決定すること更に行わせる、［６２］に記載のコンピュータ可読記憶媒体。
［６５］  シンタックス要素の前記第１のセットは、スキップフラグ、分割コード化単位フラグ（ｓｐｌｉｔ＿ｃｏｄｉｎｇ＿ｕｎｉｔ＿ｆｌａｇ）、ルーマブロックのｃｂｐ、及びクロマイントラモードのビン０のうちの少なくとも１つを備える、［６２］に記載のコンピュータ可読記憶媒体。
［６６］  前記ブロックは前記コード化済単位の第１の最大コード化単位（ＬＣＵ）の第１のサブコード化単位（ＣＵ）を備え、前記上部に隣接するブロックは、前記第１のＬＣＵの上にある前記コード化済単位の第２のＬＣＵを備え、前記命令は、前記１つ以上のプロセッサに、コンテキスト情報を、前記第１のＬＣＵの第２のサブＣＵからの前記コンテキスト情報の少なくとも一部分に基づいて決定することを更に行わせ、前記第２のサブＣＵは、前記第１のＬＣＵ中の前記第１のサブＣＵの上にある、［５９］に記載のコンピュータ可読記憶媒体。
［６７］  前記ブロックはコード化済単位（ＣＵ）を備え、前記命令は、前記１つ以上のプロセッサに、前記ＣＵの１つ以上の特性を決定することによって前記コンテキスト情報を決定することを更に行わせる、［５９］に記載のコンピュータ可読記憶媒体。
［６８］  前記命令は、前記１つ以上のプロセッサに、前記ＣＵのインター予測残差データをエントロピーコード化することと、前記ＣＵのＣＵ深さを決定することによって前記ＣＵの前記１つ以上の特性を決定することとを行わせる、［６７］に記載のコンピュータ可読記憶媒体。
［６９］  前記命令は、前記１つ以上のプロセッサに、前記ＣＵの前記ＣＵ深さに基づいてインター予測フラグ（ｉｎｔｅｒ＿ｐｒｅｄ＿ｆｌａｇ）をエントロピーコード化することによって前記ＣＵのインター予測残差データをエントロピーコード化することを更に行わせる、［６８］に記載のコンピュータ可読記憶媒体。
［７０］  前記ブロックは変換単位（ＴＵ）を備え、前記命令は、前記１つ以上のプロセッサに、前記ＴＵの１つ以上の特性を決定することによって前記コンテキスト情報を決定することを更に行わせる、［５９］に記載のコンピュータ可読記憶媒体。
［７１］  前記命令は、前記１つ以上のプロセッサに、前記ＴＵのイントラ予測残差データをエントロピーコード化することによって前記ブロックの前記データをエントロピーコード化することと、前記ＴＵのＴＵ深さを決定することによって前記ＴＵの前記１つ以上の特性を決定することとを更に行わせる、［７０］に記載のコンピュータ可読記憶媒体。
［７２］  前記命令は、前記１つ以上のプロセッサに、コード化ブロックパターンの１つ以上のシンタックス要素をエントロピーコード化することによって前記ＴＵのイントラ予測残差データをエントロピーコード化することを更に行わせる、［７１］に記載のコンピュータ可読記憶媒体。
【図１】
0005869108.tif 000002
【図２】
0005869108.tif 000003
【図３】
0005869108.tif 000004
【図４Ａ】
0005869108.tif 000005
【図４Ｂ】
0005869108.tif 000006
【図５】
0005869108.tif 000007
【図６】
0005869108.tif 000008
【図７】
0005869108.tif 000009
【図８】
0005869108.tif 000010
【図９】
0005869108.tif 000011
【図１０】
0005869108.tif 000012