(57)【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、前記方法は、
現在コーディングユニット（ＣＵ）のＣＵ深度が複数の隣接ＣＵの最小ＣＵ深度よりも小さいかどうか、または前記現在ＣＵの前記ＣＵ深度が、前記複数の隣接ＣＵの最大ＣＵ深度よりも大きいかどうかを決定することと、
エントロピーコーディングプロセスの一部として、前記現在ＣＵに対する前記複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、前記現在ＣＵに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記現在ＣＵに対する前記複数の隣接ＣＵの前記ＣＵ深度に関係する前記情報は、前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいかどうか、または前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいかどうかを含み、前記シンタックス要素は、前記現在ＣＵがサブＣＵにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
を備える、方法。
【請求項２】
前記エントロピーコーディングプロセスがコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを備え、ここにおいて、エントロピーコーディングすることが、ＣＡＢＡＣコーディングすることを備える、請求項１に記載の方法。
【請求項３】
ＣＡＢＡＣコーディングすることが、ＣＡＢＡＣ符号化することまたはＣＡＢＡＣ復号することを備える、請求項２に記載の方法。
【請求項４】
前記複数の隣接ＣＵに関係する複数のＣＵ深度が、前記現在ＣＵのＣＵ深度に等しい、請求項１に記載の方法。
【請求項５】
前記複数の隣接ＣＵに関係する複数のＣＵ深度が、前記現在ＣＵのＣＵ深度に等しくない、請求項１に記載の方法。
【請求項６】
前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいとき、前記選択されたコンテキストに対応する初期値を２５５に等しく設定すること
をさらに備える、請求項１に記載の方法。
【請求項７】
前記選択されたコンテキストは、前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいとき、前記シンタックス要素のための１に等しい確率値に対応する、請求項１に記載の方法。
【請求項８】
前記選択されたコンテキストが、１に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備える、請求項７に記載の方法。
【請求項９】
前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいとき、前記選択されたコンテキストに対応する初期値を０に等しく設定すること
をさらに備える、請求項１に記載の方法。
【請求項１０】
前記選択されたコンテキストは、前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいとき、前記シンタックス要素のための０に等しい確率値に対応する、請求項１に記載の方法。
【請求項１１】
前記選択されたコンテキストが、０に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備える、請求項１０に記載の方法。
【請求項１２】
前記シンタックス要素がｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素を備える、請求項１に記載の方法。
【請求項１３】
前記現在ＣＵに関連するＣＴＵが、６４×６４よりも大きいサイズを有する、請求項１に記載の方法。
【請求項１４】
少なくとも４つの可能なコンテキストのグループから前記コンテキストを選択することをさらに備える、請求項１３に記載の方法。
【請求項１５】
少なくとも４つの可能なコンテキストの前記グループが６つの可能なコンテキストを備える、請求項１４に記載の方法。
【請求項１６】
前記シンタックス要素のための前記コンテキストを選択することが、前記現在ＣＵに対する複数の空間的に隣接するＣＵのＣＵ深度に関係する情報に基づく、請求項１に記載の方法。
【請求項１７】
前記シンタックス要素のための前記コンテキストを選択することが、前記現在ＣＵに対する複数の時間的に隣接するＣＵのＣＵ深度に関係する情報に基づく、請求項１に記載の方法。
【請求項１８】
ビデオデータをコーディングするためのデバイスであって、前記デバイスが、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しているビデオコーダと
を備え、ここにおいて、前記ビデオコーダは、
現在コーディングユニット（ＣＵ）のＣＵ深度が複数の隣接ＣＵの最小ＣＵ深度よりも小さいかどうか、または前記現在ＣＵの前記ＣＵ深度が、前記複数の隣接ＣＵの最大ＣＵ深度よりも大きいかどうかを決定することと、
エントロピーコーディングプロセスの一部として、前記現在ＣＵに対する前記複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、前記メモリに記憶された前記現在ＣＵに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記現在ＣＵに対する前記複数の隣接ＣＵの前記ＣＵ深度に関係する前記情報は、前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいかどうか、または前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいかどうかを含み、前記シンタックス要素は、前記現在ＣＵがサブＣＵにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
を行うように構成された、デバイス。
【請求項１９】
前記エントロピーコーディングプロセスがコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを備え、ここにおいて、エントロピーコーディングするように構成される前記ビデオコーダが、ＣＡＢＡＣコーディングするように構成される前記ビデオコーダを備える、請求項１８に記載のデバイス。
【請求項２０】
ＣＡＢＡＣコーディングするように構成される前記ビデオコーダが、ＣＡＢＡＣ符号化またはＣＡＢＡＣ復号するように構成される前記ビデオコーダを備える、請求項１９に記載のデバイス。
【請求項２１】
前記複数の隣接ＣＵに関係する複数のＣＵ深度が、前記現在ＣＵのＣＵ深度に等しい、請求項１８に記載のデバイス。
【請求項２２】
前記複数の隣接ＣＵに関係する複数のＣＵ深度が、前記現在ＣＵのＣＵ深度に等しくない、請求項１８に記載のデバイス。
【請求項２３】
前記ビデオコーダは、
前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいとき、前記選択されたコンテキストに対応する初期値を２５５に等しく設定すること
を行うようにさらに構成された、請求項１８に記載のデバイス。
【請求項２４】
前記選択されたコンテキストは、前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいとき、前記シンタックス要素のための１に等しい確率値に対応する、請求項１８に記載のデバイス。
【請求項２５】
前記選択されたコンテキストが、１に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備える、請求項２４に記載のデバイス。
【請求項２６】
前記ビデオコーダは、
前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいとき、前記選択されたコンテキストに対応する初期値を０に等しく設定すること
を行うようにさらに構成された、請求項１８に記載のデバイス。
【請求項２７】
前記選択されたコンテキストは、前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいとき、前記シンタックス要素のための０に等しい確率値に対応する、請求項１８に記載のデバイス。
【請求項２８】
前記選択されたコンテキストが、０に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備える、請求項２７に記載のデバイス。
【請求項２９】
前記シンタックス要素がｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素を備える、請求項１８に記載のデバイス。
【請求項３０】
前記現在ＣＵに関連するＣＴＵが、６４×６４よりも大きいサイズを有する、請求項１８に記載のデバイス。
【請求項３１】
前記ビデオコーダが、
少なくとも４つの可能なコンテキストのグループから前記コンテキストを選択すること
を行うようにさらに構成された、請求項３０に記載のデバイス。
【請求項３２】
少なくとも４つの可能なコンテキストの前記グループが６つの可能なコンテキストを備える、請求項３１に記載のデバイス。
【請求項３３】
前記ビデオコーダが、前記現在ＣＵに対する複数の空間的に隣接するＣＵのＣＵ深度に関係する情報に基づいて、前記シンタックス要素のための前記コンテキストを選択するように構成された、請求項１８に記載のデバイス。
【請求項３４】
前記ビデオコーダが、前記現在ＣＵに対する複数の時間的に隣接するＣＵのＣＵ深度に関係する情報に基づいて、前記シンタックス要素のための前記コンテキストを選択するように構成された、請求項１８に記載のデバイス。
【請求項３５】
ビデオデータをコーディングするための装置であって、前記装置は、
現在コーディングユニット（ＣＵ）のＣＵ深度が複数の隣接ＣＵの最小ＣＵ深度よりも小さいかどうか、または前記現在ＣＵの前記ＣＵ深度が、前記複数の隣接ＣＵの最大ＣＵ深度よりも大きいかどうかを決定するための手段と、
エントロピーコーディングプロセスの一部として、前記現在ＣＵに対する前記複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、前記現在ＣＵに関連するシンタックス要素のためのコンテキストを選択するための手段と、ここにおいて、前記現在ＣＵに対する前記複数の隣接ＣＵの前記ＣＵ深度に関係する前記情報は、前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいかどうか、または前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいかどうかを含み、前記シンタックス要素は、前記現在ＣＵがサブＣＵにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングするための手段と
を備える、装置。
【請求項３６】
実行されたとき、１つまたは複数のプロセッサに、
現在コーディングユニット（ＣＵ）のＣＵ深度が複数の隣接ＣＵの最小ＣＵ深度よりも小さいかどうか、または前記現在ＣＵの前記ＣＵ深度が、前記複数の隣接ＣＵの最大ＣＵ深度よりも大きいかどうかを決定することと、
エントロピーコーディングプロセスの一部として、前記現在ＣＵに対する前記複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、前記現在ＣＵに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記現在ＣＵに対する前記複数の隣接ＣＵの前記ＣＵ深度に関係する前記情報は、前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいかどうか、または前記現在ＣＵの前記ＣＵ深度が前記複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいかどうかを含み、前記シンタックス要素は、前記現在ＣＵがサブＣＵにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本出願は、その全体が参照により本明細書に組み込まれる、２０１５年１月２７日に出願された米国仮特許出願第６２／１０８，４６５号の利益を主張する。
【０００２】
[0002]  本開示はビデオコーディングに関する。
【背景技術】
【０００３】
[0003]  デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、ＩＴＵ−Ｔ  Ｈ．２６５，高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）によって定義された規格、およびそのような規格の拡張に記載されるビデオ圧縮技法などのビデオ圧縮技法を実施する。ビデオデバイスは、そのようなビデオ圧縮技法を実施することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]  ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間（イントラピクチャ）予測および／または時間（インターピクチャ）予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）がビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]  空間予測または時間予測は、コーディングされるべきブロックのための予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に２次元アレイで構成される量子化係数は、係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]  本開示の技法はビデオコーディングに関する。例えば、本開示で説明される技法は、エントロピーコーディングプロセスを行うことによってビデオデータのブロックを符号化または復号するための１つまたは複数の技法を含み得る。例えば、本明細書で説明される１つまたは複数の技法は、コーディングユニット（ＣＵ）に対する空間的に隣接するＣＵの情報またはＣＵに対する時間的に隣接するＣＵの情報のうちの少なくとも１つに基づいて、ＣＵに関連するシンタックス要素のコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）コンテキストモデリングを行うことを含み得る。
【０００７】
[0007]  一例では、本開示は、エントロピーコーディングプロセスの一部として、現在コーディングユニット（ＣＵ）に対する１つまたは複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、現在ＣＵに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、シンタックス要素は、現在ＣＵがサブＣＵにスプリットされるかどうかを表す、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングすることとを備える、ビデオデータをコーディングする方法について説明する。
【０００８】
[0008]  別の例では、本開示は、ビデオデータを記憶するように構成されたメモリと、メモリと通信しているビデオコーダとを備え、ここにおいて、ビデオコーダは、エントロピーコーディングプロセスの一部として、現在コーディングユニット（ＣＵ）に対する１つまたは複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、メモリに記憶された現在ＣＵに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、シンタックス要素は、現在ＣＵがサブＣＵにスプリットされるかどうかを表す、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングすることとを行うように構成された、ビデオデータをコーディングするためのデバイスについて説明する。
【０００９】
[0009]  別の例では、本開示は、エントロピーコーディングプロセスの一部として、現在コーディングユニット（ＣＵ）に対する１つまたは複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、現在ＣＵに関連するシンタックス要素のためのコンテキストを選択するための手段と、ここにおいて、シンタックス要素は、現在ＣＵがサブＣＵにスプリットされるかどうかを表す、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングするための手段とを備える、ビデオデータをコーディングするための装置について説明する。
【００１０】
[0010]  別の例では、本開示は、実行されたとき、１つまたは複数のプロセッサに、エントロピーコーディングプロセスの一部として、現在コーディングユニット（ＣＵ）に対する１つまたは複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、現在ＣＵに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、シンタックス要素は、現在ＣＵがサブＣＵにスプリットされるかどうかを表す、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングすることとを行わせる命令を記憶した非一時的コンピュータ可読記憶媒体について説明する。
【００１１】
[0011]  本開示の１つまたは複数の例の詳細が添付の図面および以下の説明に記載される。本開示の他の特徴、目的、および利点は、説明および図面、並びに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】本開示で説明される技法を利用し得る例示的なビデオコーディングシステムを示すブロック図。
【図２】本開示で説明される技法を実施し得る例示的なビデオエンコーダを示すブロック図。
【図３】本開示で説明される技法を実施し得る例示的なビデオデコーダを示すブロック図。
【図４】本開示の技法に従ってビデオデータをコーディングするための例示的なプロセスを示すフローチャート。
【図５】本開示の技法に従ってビデオデータを復号するための例示的なプロセスを示すフローチャート。
【図６】本開示の技法に従ってビデオデータを符号化するための例示的なプロセスを示すフローチャート。
【発明を実施するための形態】
【００１３】
[0018]  本開示の技法は、一般に、ビデオコーディングおよびビデオ圧縮に関する。より詳細には、本開示は、例えば、大きいコーディングツリーユニット（ＣＴＵ：coding tree unit）のコーディングがサポートされるときの、ブロックベースのビデオコーディングにおけるシンタックス要素のシグナリングに関する。例えば、本開示は、ＣＴＵに関係するシンタックス要素をコーディングするための技法について説明する。別の例として、本開示は、シンタックス要素をエントロピーコーディングするための技法について説明する。別の例として、本開示は、シンタックス要素の２値化、コンテキストモデリング、および算術コーディングに関係する技法について説明する。また別の例として、本開示は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）などのエントロピーコーディングプロセスを使用する、シンタックス要素の２値化、コンテキストモデリング、および算術コーディングに関係する技法について説明する。本開示の技法は、既存のビデオコーデックまたはビデオコーディング規格（例えば、ＩＴＵ−Ｔ  Ｈ．２６５，ＨＥＶＣ）に適用され得るか、あるいは、将来のビデオコーデックまたはビデオコーディング規格において適用され得る。
【００１４】
[0019]  コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）は、最初にＨ．２６４／ＡＶＣにおいて導入され、現在、最も新しいＨＥＶＣ規格において使用されるエントロピーコーディングの方法である。ＣＡＢＡＣは、概して、３つの主要な機能、すなわち、２値化、コンテキストモデリング、および算術コーディングを伴う。２値化は、ビンストリングと呼ばれることもあるバイナリシンボル（ビン）にシンタックス要素をマッピングする。コンテキストモデリングは、ビンの確率を推定する。コンテキストモデリングプロセスの一部として、ビデオコーダは、各ビンについてコンテキストモデルを選択するか、または。コンテキストモデルは確率を表す。異なるビンについて異なるコンテキストモデルが選択され得る。算術コーディングは、推定された確率に基づいてビンをビットに圧縮する。言い換えれば、算術コーディングは、各ビンに対応する選択されたコンテキストモデルに基づいてビンをビットに圧縮する。
【００１５】
[0020]  本開示の技法は、シンタックス要素をコーディングするビットストリーム効率を改善し得る。例えば、本開示の技法は、ＣＴＵおよびコーディングユニット（ＣＵ）に関係するシンタックス要素をコーディングするビットストリーム効率を改善し得る。別の例として、本開示の技法は、特に、ＣＡＢＡＣコーディング効率を改善し得る。別の例として、本開示の技法は、特に、例えば、大きいＣＴＵサイズが可能にされるときの、ＣＴＵおよびＣＵに関係するシンタックス要素のＣＡＢＡＣコーディング効率を改善し得る。
【００１６】
[0021]  図１は、本開示の技法を利用し得る例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用される「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指すことがある。同様に、「コーディング」という用語は、符号化または復号を総称的に指すことがある。例えば、エントロピーコーディングへの言及は、エントロピー符号化またはエントロピー復号を指すことがある。ビデオコーディングシステム１０のビデオエンコーダ２０およびビデオデコーダ３０は、本開示の１つまたは複数の技法を行うように構成され得るデバイスの例を表す。例えば、ビデオエンコーダ２０およびビデオデコーダ３０は、本開示で説明される様々な例による、ＣＴＵおよびＣＵに関係するデータをコーディングするための技法を行うように構成され得る。一例として、ビデオエンコーダ２０およびビデオデコーダ３０は、ＣＴＵサイズを限定し、並びに／あるいは、ＣＴＵおよび／またはＣＵに関係するシンタックス要素のためのＣＡＢＡＣコンテキストモデリングを行うように構成され得る。
【００１７】
[0022]  ビデオエンコーダ２０および／またはビデオデコーダ３０は、本開示で説明される技法に従って動作するように構成され得る。ビデオデコーダ３０は、本明細書で説明されるビデオエンコーダ２０のプロセスとは概して逆のプロセスを行うように構成され得る。同様に、ビデオエンコーダ２０は、本明細書で説明されるビデオデコーダ３０のプロセスとは概して逆のプロセスを行うように構成され得る。
【００１８】
[0023]  本明細書で説明される技法は、それぞれ図１〜図３に示されるビデオエンコーダ２０および／またはビデオデコーダ３０によって行われ得る。本明細書で説明される技法の全てが、個々にまたは任意の組合せで使用され得ることを理解されたい。例えば、ビデオエンコーダ２０および／またはそれの１つまたは複数の構成要素並びにビデオデコーダ３０および／またはそれの１つまたは複数の構成要素は、本開示で説明される技法を任意の組合せで行い得る。別の例として、ビデオエンコーダ２０および／またはビデオデコーダ３０は、エントロピーコーディングプロセスの一部として、現在コーディングユニット（ＣＵ）に対する１つまたは複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、現在ＣＵに関連するシンタックス要素のためのコンテキストを選択するように構成され得る。シンタックス要素は、現在ＣＵがサブＣＵにスプリットされるかどうかを表し得る。この例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングするように構成され得る。本明細書で使用されるＣＵ深度は、ＣＵの４分木深度を指すことがある。例えば、現在ＣＵのＣＵ深度は、現在ＣＵの４分木深度を指すことがあり、隣接ブロック（例えば、隣接ＣＵ）のＣＵ深度は、隣接ブロックの４分木深度を指すことがある。別の例として、それぞれ図１〜図３に示されるビデオエンコーダ２０および／またはビデオデコーダ３０は、それぞれ、図４〜図６に示される１つまたは複数のステップを任意の組合せで行い、および／または、図示されないことがある、図４〜図６に関して説明される任意のステップを行うように構成され得る。
【００１９】
[0024]  図１に示されるように、ビデオコーディングシステム１０は、ソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２は、符号化ビデオデータを生成する。従って、ソースデバイス１２は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス１４は、ソースデバイス１２によって生成された符号化ビデオデータを復号し得る。従って、宛先デバイス１４は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。ソースデバイス１２および宛先デバイス１４は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
【００２０】
[0025]  ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック（例えば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲にわたるデバイスを備え得る。
【００２１】
[0026]  宛先デバイス１４は、チャネル１６を介してソースデバイス１２から符号化ビデオデータを受信し得る。チャネル１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体および／あるいは１つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にする１つまたは複数の通信媒体を備え得る。この例では、ソースデバイス１２は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス１４に送信し得る。１つまたは複数の通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、ワイヤレスおよび／またはワイヤード通信媒体を含み得る。１つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク（例えば、インターネット）など、パケットベースネットワークの一部を形成し得る。１つまたは複数の通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にする、ルータ、スイッチ、基地局、または他の機器を含み得る。
【００２２】
[0027]  別の例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス１４は、例えば、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオデータを記憶するための他の好適なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
【００２３】
[0028]  さらなる一例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶するファイルサーバまたは別の中間記憶デバイスを含み得る。この例では、宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間記憶デバイスに記憶された、符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイス１４に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、（例えば、ウェブサイトのための）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、およびローカルディスクドライブがある。
【００２４】
[0029]  宛先デバイス１４は、インターネット接続などの標準的なデータ接続を通して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続としては、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００２５】
[0030]  本開示の技法はワイヤレス適用例または設定に限定されない。本開示の技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えば、インターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶された符号化ビデオデータの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２６】
[0031]  図１に示されるビデオコーディングシステム１０は、一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定（例えば、ビデオ符号化またはビデオ復号）に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスがデータを符号化し、メモリに記憶し得、および／またはビデオ復号デバイスがメモリからデータを取り出し、復号し得る。多くの例では、符号化および復号は、互いに通信しないが、単にメモリにデータを符号化し、および／またはメモリからデータを取り出し、復号するデバイスによって行われる。
【００２７】
[0032]  図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。いくつかの例では、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ビデオソース１８は、ビデオキャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および／またはビデオデータを生成するためのコンピュータグラフィクスシステム、あるいはビデオデータのそのようなソースの組合せを含み得る。
【００２８】
[0033]  ビデオエンコーダ２０は、ビデオソース１８からのビデオデータを符号化し得る。いくつかの例では、ソースデバイス１２は、出力インターフェース２２を介して宛先デバイス１４に符号化ビデオデータを直接送信する。他の例では、符号化ビデオデータは、復号および／または再生のための宛先デバイス１４による後のアクセスのために記憶媒体またはファイルサーバ上にも記憶され得る。
【００２９】
[0034]  図１の例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかの例では、入力インターフェース２８は受信機および／またはモデムを含む。入力インターフェース２８は、チャネル１６を介して符号化ビデオデータを受信し得る。チャネル１６を介して通信され、またはストレージデバイス２６によって与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０など、ビデオデコーダが使用するためのビデオエンコーダ２０によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバ記憶された符号化ビデオデータに含まれ得る。
【００３０】
[0035]  ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るかまたはその外部にあり得る。概して、ディスプレイデバイス３２は復号ビデオデータを表示する。ディスプレイデバイス３２は、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスを備え得る。
【００３１】
[0036]  ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、あるいはそれらの任意の組合せとして実施され得る。本技法が部分的にソフトウェアで実施される場合、デバイスは、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、本開示の技法を行うために１つまたは複数のプロセッサを使用してその命令をハードウェアで実行し得る。（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む）上記のいずれも、１つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００３２】
[0037]  本開示では、概して、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０などの別のデバイスに「シグナリングすること」または「送信すること」に言及することがある。「シグナリングすること」または「送信すること」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックス要素および／または他のデータの通信を指すことがある。そのような通信は、リアルタイムまたはほぼリアルタイムに行われ得る。代替的に、そのような通信は、符号化時に符号化ビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われることがあるなど、ある時間期間にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。従って、ビデオデコーダ３０は、ある情報を「受信する」ものと呼ばれることがあるが、情報の受信は、必ずしもリアルタイムまたはほぼリアルタイムで行われるとは限らず、記憶の後の何らかの時間に媒体から取り出されることがある。
【００３３】
[0038]  いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、上記で述べられ、ＨＥＶＣドラフト１０に記載されるＨＥＶＣ規格など、ビデオ圧縮規格に従って動作する。ベースＨＥＶＣ規格に加えて、ＨＥＶＣのためのスケーラブルビデオコーディング拡張、マルチビュービデオコーディング拡張、および３Ｄコーディング拡張を作成するための作業が進行中である。
【００３４】
[0039]  ＨＥＶＣおよび他のビデオコーディング規格では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、ＳL、ＳCbおよびＳCrと示される３つのサンプルアレイを含み得る。ＳLはルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbはＣｂクロミナンスサンプルの２次元アレイである。ＳCrはＣｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【００３５】
[0040]  ピクチャの符号化表現を生成するために、ビデオエンコーダ２０はＣＴＵのセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの２つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造であり得る。コーディングツリーブロックは、サンプルのＮ×Ｎブロックであり得る。ＣＴＵは「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ：largest coding unit）と呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなど、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のＣＵを含み得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。スライスは、ラスタ走査において連続的に順序付けられた整数個のＣＴＵを含み得る。
【００３６】
[0041]  いくつかの例では、ＣＵは、コーディングノードと、コーディングノードに関連する１つまたは複数の予測ユニット（ＰＵ）および／または変換ユニット（ＴＵ）とを含み得る。ＣＵのサイズは、コーディングノードのサイズに対応し得、形状が正方形であり得る。ＣＵのサイズは、例えば、８×８ピクセルから最大６４×６４ピクセル以上をもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含んでいることがある。ＣＵに関連するシンタックスデータは、例えば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が正方形または非正方形になるように区分され得る。ＣＵに関連するシンタックスデータは、例えば、４分木に従ってＣＵを１つまたは複数のＴＵに区分することをも記述し得る。ＴＵは、形状が正方形または非正方形であり得る。
【００３７】
[0042]  概して、ＰＵは、予測プロセスに関係するデータを含み得る。例えば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのためのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての解像度（例えば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルのための参照ピクチャリスト（例えば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００３８】
[0043]  概して、ＴＵは、変換プロセスと量子化プロセスとのために使用され得る。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数の変換ユニット（ＴＵ）をも含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値はピクセル差分値を備え得、ピクセル差分値は、エントロピーコーディングのためのシリアル化変換係数（serialized transform coefficient）を生成するためにＴＵを使用して変換係数に変換され、量子化され、走査され得る。
【００３９】
[0044]  本開示は、１つまたは複数のサンプルブロックと、サンプルの１つまたは複数のブロックのサンプルをコーディングするために使用されるシンタックス構造とを指すために、「ビデオユニット」、「ビデオブロック」、「コーディングブロック」、または「ブロック」という用語を使用し得る。例示的なタイプのビデオユニットまたはブロックは、コーディングツリーユニット（ＣＴＵ）、コーディングユニット（ＣＵ）、予測ユニット（ＰＵ）、変換ユニット（ＴＵ）、マクロブロック（ＭＢ）、マクロブロックパーティションなどを含み得る。いくつかのコンテキストでは、ＰＵの説明は、マクロブロックまたはマクロブロックパーティションの説明と交換され得る。
【００４０】
[0045]  いくつかの例では、動き情報のセットは、ビデオデータの各ブロックのために利用可能であり得る。動き情報のセットは、前方予測方向および後方予測方向についての動き情報を含み得る。前方予測方向および後方予測方向は、双方向予測モードの２つの予測方向であり得る。前方予測方向および後方予測方向は、単方向予測モードの２つの予測方向のうちの１つであり得る。「前方」および「後方」という用語は、必ずしも幾何学的な意味を有するとは限らず、代わりに、それらは、例えば、現在ピクチャの参照ピクチャリスト０（ＲｅｆＰｉｃＬｉｓｔ０）および参照ピクチャリスト１（ＲｅｆＰｉｃＬｉｓｔ１）に対応する。１つの参照ピクチャリストのみがピクチャまたはスライスのために利用可能であるとき、ＲｅｆＰｉｃＬｉｓｔ０のみが利用可能であり得、ピクチャまたはスライスの各ブロックの動き情報は前方であり得る。
【００４１】
[0046]  各予測方向（例えば、前方または後方）について、動き情報は、予測方向と、参照インデックスと、動きベクトルとを含んでいることがある。いくつかの例では、簡単のために、動きベクトル自体は、それが、関連する参照インデックスを有すると仮定されるように言及され得る。参照インデックスは、現在参照ピクチャリスト（例えば、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）中の参照ピクチャを識別するために使用される。動きベクトルは、水平成分と垂直成分とを有し得る。
【００４２】
[0047]  本明細書で説明されるビデオブロックは、固定サイズまたは変動サイズを有し得、指定されたコーディング規格に応じてサイズが異なり得る。一例として、特定のＣＵのサイズは２Ｎ×２Ｎであり得る。そのような例では、ビデオエンコーダ２０は、２Ｎ×２ＮまたはＮ×Ｎのサイズを有するＰＵについてのイントラ予測を行うように構成され得、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎのサイズを有するＰＵについてのインター予測を行うように構成され得る。他の例では、ＰＵの利用可能なサイズは、同じであることも異なることもある。
【００４３】
[0048]  本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、例えば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ここで、Ｎは正の整数値を表す。ブロック中のピクセルは行および列に配列され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。例えば、ブロックはＮ×Ｍピクセルを備え得、ここで、ＭはＮに等しいことも等しくないこともあり、ここで、Ｍは正の整数値である。
【００４４】
[0049]  図１を参照すると、コード化ＣＴＵを生成するために、ビデオエンコーダ２０は、コーディングツリーブロックをコーディングブロックに分割するためにＣＴＵのコーディングツリーブロックに対して４分木区分を再帰的に行い得、従って「コーディングツリーユニット」という名称がある。コーディングブロックはサンプルのＮ×Ｎ（またはＮ×Ｍ）ブロックであり得る。ＣＵは、ルーマサンプルアレイ、ＣｂサンプルアレイおよびＣｒサンプルアレイを有するピクチャの、ルーマサンプルのコーディングブロックと、クロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とであり得る。ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数のＰＵに区分し得る。ＰＵは、同じ予測技法が適用されるサンプルの正方形または非正方形ブロックであり得る。ＣＵのＰＵは、ピクチャの、ルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とであり得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロックとＣｂ予測ブロックとＣｒ予測ブロックとのための予測ルーマブロックと予測Ｃｂブロックと予測Ｃｒブロックとを生成し得る。
【００４５】
[0050]  ビデオエンコーダ２０は、ＰＵのための予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連するピクチャの復号サンプルに基づいてＰＵの予測ブロックを生成し得る。
【００４６】
[0051]  ビデオエンコーダ２０が、ＰＵの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連するピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ブロックを生成し得る。ビデオエンコーダ２０は、ＰＵの予測ブロックを生成するために単予測または双予測を使用し得る。ビデオエンコーダ２０が、ＰＵのための予測ブロックを生成するために単予測を使用するとき、ＰＵは単一の動きベクトル（ＭＶ：motion vector）を有し得る。ビデオエンコーダ２０が、ＰＵのための予測ブロックを生成するために双予測を使用するとき、ＰＵは２つのＭＶを有し得る。
【００４７】
[0052]  ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ブロック（例えば、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック）を生成した後、ビデオエンコーダ２０は、ＣＵのための残差ブロックを生成し得る。ＣＵの残差ブロック中の各サンプルは、ＣＵのＰＵの予測ブロック中のサンプルとＣＵのコーディングブロック中の対応するサンプルとの間の差分を示し得る。例えば、ビデオエンコーダ２０はＣＵのためのルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つ中のルーマサンプルとＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ２０はＣＵのためのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つ中のＣｂサンプルとＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２０はＣＵのためのＣｒ残差ブロックをも生成し得る。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つ中のＣｒサンプルとＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【００４８】
[0053]  ビデオエンコーダ２０は、ＣＵの残差ブロック（例えば、ルーマ残差ブロック、Ｃｂ残差ブロックおよびＣｒ残差ブロック）を１つまたは複数の変換ブロック（例えば、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロック）に分解するために４分木区分を使用し得る。本明細書で使用されるＣＵ深度は、ＣＵの４分木深度を指すことがある。例えば、現在ＣＵのＣＵ深度は、現在ＣＵの４分木深度を指すことがあり、隣接ブロック（例えば、隣接ＣＵ）のＣＵ深度は、隣接ブロックの４分木深度を指すことがある。変換ブロックは、同じ変換が適用されるサンプルのブロックであり得る。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とであり得る。従って、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに関連し得る。ＴＵに関連するルーマ変換ブロックはＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックはＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックはＣＵのＣｒ残差ブロックのサブブロックであり得る。
【００４９】
[0054]  ビデオエンコーダ２０は、ＴＵのための係数ブロックを生成するために、変換ブロックに１つまたは複数の変換を適用し得る。係数ブロックは変換係数の２次元アレイであり得る。変換係数はスカラー量であり得る。例えば、ビデオエンコーダ２０は、ＴＵのためのルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２０は、ＴＵのためのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２０は、ＴＵのためのＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用し得る。
【００５０】
[0055]  いくつかの例では、ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域においてピクセルデータを備え得、ＴＵは、変換、例えば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＣＵのための変換係数を生成するためにＴＵを変換し得る。
【００５１】
[0056]  係数ブロック（例えば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後に、ビデオエンコーダ２０は、ブロック中の係数を量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。ビデオエンコーダ２０が係数ブロックを量子化した後に、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化するように構成され得る。例えば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）を行い得る。ビデオエンコーダ２０は、エントロピー符号化シンタックス要素をビットストリーム中に出力し得る。
【００５２】
[0057]  ビデオエンコーダ２０は、エントロピー符号化されたシンタックス要素を含むビットストリームを出力し得る。ビットストリームは、コード化ピクチャと関連データとの表現を形成するビットのシーケンスを含み得る。ビットストリームは、ネットワークアブストラクションレイヤ（ＮＡＬ：network abstraction layer）ユニットのシーケンスを備え得る。ＮＡＬユニットの各々はＮＡＬユニットヘッダを含み、ローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）をカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの事例では、ＲＢＳＰは０ビットを含む。
【００５３】
[0058]  異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。例えば、第１のタイプのＮＡＬユニットはピクチャパラメータセット（ＰＰＳ：picture parameter set）のためのＲＢＳＰをカプセル化し得、第２のタイプのＮＡＬユニットはコード化スライスのためのＲＢＳＰをカプセル化し得、第３のタイプのＮＡＬユニットはＳＥＩのためのＲＢＳＰをカプセル化し得、以下同様である。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰとは対照的に）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれることがある。
【００５４】
[0059]  ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。さらに、ビデオデコーダ３０は、ビットストリームからシンタックス要素を復号するために、ビットストリームをパースし得る。ビデオデコーダ３０は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ２０によって行われるプロセスの逆であり得る。例えば、ビデオデコーダ３０は、現在ＣＵのインター予測ＰＵのための予測ブロックを決定するためにＰＵのＭＶを使用し得る。同様に、ビデオデコーダ３０は、現在ＣＵのＰＵのもののためのイントラ予測ブロックを生成し得る。さらに、ビデオデコーダ３０は、現在ＣＵのＴＵに関連する変換係数ブロックを逆量子化し得る。ビデオデコーダ３０は、現在ＣＵのＴＵに関連する変換ブロックを再構成するために変換係数ブロックに対して逆変換を行い得る。ビデオデコーダ３０は、現在ＣＵのＰＵのための予測ブロックのサンプルを現在ＣＵのＴＵの変換ブロックの逆量子化および逆変換から取得された対応する残差値に加算することによって、現在ＣＵのコーディングブロックを再構成し得る。ピクチャの各ＣＵのためのコーディングブロックを再構成することによって、ビデオデコーダ３０はピクチャを再構成し得る。
【００５５】
[0060]  いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序（例えば、水平、垂直、または任意の他の走査順序）を利用し得る。他の例では、ビデオエンコーダ２０は適応型走査を行い得る。１次元ベクトルを形成するために量子化変換係数を走査した後に、ビデオエンコーダ２０は、例えば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディングまたは別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００５６】
[0061]  ＣＡＢＡＣを行うために、ビデオエンコーダ２０は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当て得る。コンテキストは、例えば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを行うために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣ中のコードワードは、比較的より短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００５７】
[0062]  ビデオエンコーダ２０および／またはビデオデコーダ３０は、本開示で説明される技法に従って動作するように構成され得る。概して、ビデオエンコーダ２０および／またはビデオデコーダ３０は、本明細書で説明される１つまたは複数の技法を任意の組合せで行うように構成され得る。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＣＴＵおよびＣＵに関連する情報をコーディングすることに関係する、本開示の技法を行うように構成され得る。例えば、ビデオエンコーダ２０およびビデオデコーダ３０は、コーディングユニット（ＣＵ）に対する空間的に隣接するＣＵの情報またはＣＵに対する時間的に隣接するＣＵの情報のうちの少なくとも１つに基づいて、ＣＵに関連するシンタックス要素のコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）コンテキストモデリングを行い、モデル化されたコンテキストに基づいてシンタックス要素をＣＡＢＡＣコーディングするように構成され得る。別の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＣＴＵサイズが６４×６４よりも大きいと決定したことに応答して、ＣＴＵの最大ＣＵ深度および最小ＣＵ深度を備える制約のグループを決定し、制約のグループの少なくともいくつかに基づいてＣＴＵをコーディングするように構成され得る。
【００５８】
[0063]  本開示の技法は、説明を簡単にするためにＨＥＶＣ用語または他のビデオ規格用語を利用し得ることを理解されたい。ただし、本開示の技法は、ＨＥＶＣまたは他のビデオ規格に限定されないことを理解されたい。本開示の技法は、過去か、現在か、将来かにかかわらず、ＨＥＶＣの後継規格およびそれの拡張並びに他のビデオ規格において実施され得る。
【００５９】
[0064]  図２は、本開示の技法を実施し得る例示的なビデオエンコーダ２０を示すブロック図である。図２は、説明の目的で与えられており、本開示において広く例示され、説明される技法を限定するものと見なされるべきではない。説明の目的で、本開示は、ＨＥＶＣコーディングのコンテキストにおいてビデオエンコーダ２０について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【００６０】
[0065]  ビデオエンコーダ２０は、本開示で説明される様々な例による、ＣＴＵおよびＣＵのＣＡＢＡＣコーディングを含む、ＣＴＵおよびＣＵをコーディングすることに関係する技法を行うように構成され得るデバイスの一例を表す。
【００６１】
[0066]  例えば、ビデオエンコーダ２０は、コーディングユニット（ＣＵ）に対する空間的に隣接するＣＵの情報またはＣＵに対する時間的に隣接するＣＵの情報のうちの少なくとも１つに基づいて、ＣＵに関連するシンタックス要素のコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）コンテキストモデリングを行い、モデル化されたコンテキストに基づいてシンタックス要素をＣＡＢＡＣ符号化するように構成され得る。
【００６２】
[0067]  別の例では、ビデオエンコーダ２０は、ＣＴＵサイズが６４×６４よりも大きいと決定したことに応答して、ＣＴＵの最大ＣＵ深度および最小ＣＵ深度を備える制約のグループを決定し、制約のグループの少なくともいくつかに基づいてＣＴＵを符号化するように構成され得る。
【００６３】
[0068]  図２の例では、ビデオエンコーダ２０は、予測処理ユニット１００と、ビデオデータメモリ１０１と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換処理ユニット１１０と、再構成ユニット１１２と、フィルタユニット１１４と、復号ピクチャバッファ１１６と、エントロピー符号化ユニット１１８とを含む。予測処理ユニット１００は、インター予測処理ユニット１２０と、イントラ予測処理ユニット１２６とを含む。インター予測処理ユニット１２０は、動き推定ユニットと、動き補償ユニットとを含む（図示せず）。他の例では、ビデオエンコーダ２０は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【００６４】
[0069]  ビデオデータメモリ１０１は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ１０１に記憶されるビデオデータは、例えば、ビデオソース１８から取得され得る。復号ピクチャバッファ１１６は、例えば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ２０によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ１０１および復号ピクチャバッファ１１６は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ１０１および復号ピクチャバッファ１１６は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ１０１は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【００６５】
[0070]  ビデオエンコーダ２０はビデオデータを受信し得る。ビデオエンコーダ２０はビデオデータのピクチャのスライス中の各ＣＴＵを符号化し得る。ＣＴＵの各々は、等しいサイズのルーマコーディングツリーブロック（ＣＴＢ：coding tree block）と、ピクチャの対応するＣＴＢとに関連し得る。ＣＴＵを符号化することの一部として、予測処理ユニット１００は、ＣＴＵのＣＴＢを徐々により小さいブロックに分割するために４分木区分を行い得る。より小さいブロックはＣＵのコーディングブロックであり得る。例えば、予測処理ユニット１００は、ＣＴＵに関連するＣＴＢを４つの等しいサイズのサブブロックに区分し、サブブロックのうちの１つまたは複数を４つの等しいサイズのサブサブブロックに区分し得、以下同様である。
【００６６】
[0071]  ビデオエンコーダ２０は、ＣＵの符号化表現（すなわち、コーディングされたＣＵ）を生成するためにＣＴＵのＣＵを符号化し得る。ＣＵを符号化することの一部として、予測処理ユニット１００は、ＣＵの１つまたは複数のＰＵの間でＣＵに関連するコーディングブロックを区分し得る。従って、各ＰＵは、ルーマ予測ブロックと、対応するクロマ予測ブロックとに関連し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、様々なサイズを有するＰＵをサポートし得る。上記のように、ＣＵのサイズはＣＵのルーマコーディングブロックのサイズを指すことがあり、ＰＵのサイズはＰＵのルーマ予測ブロックのサイズを指すことがある。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、イントラ予測のための２Ｎ×２ＮまたはＮ×ＮのＰＵサイズと、インター予測のための２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、または同様の対称ＰＵサイズとをサポートし得る。ビデオエンコーダ２０およびビデオデコーダ３０は、インター予測のための２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズに対する非対称区分をもサポートし得る。
【００６７】
[0072]  インター予測処理ユニット１２０は、ＣＵの各ＰＵに対してインター予測を行うことによって、ＰＵのための予測データを生成し得る。ＰＵのための予測データは、ＰＵの予測ブロックとＰＵのための動き情報とを含み得る。インター予測ユニット１２１は、ＰＵがＩスライス中にあるのか、Ｐスライス中にあるのか、Ｂスライス中にあるのかに応じて、ＣＵのＰＵに対して異なる動作を行い得る。Ｉスライス中では、全てのＰＵがイントラ予測される。従って、ＰＵがＩスライス中にある場合、インター予測ユニット１２１は、ＰＵに対してインター予測を行わない。従って、Ｉモードで符号化されたブロックの場合、予測ブロックは、同じフレーム内の前に符号化された隣接ブロックからの空間予測を使用して形成される。
【００６８】
[0073]  ＰＵがＰスライス中にある場合、インター予測処理ユニット１２０の動き推定ユニットは、ＰＵの参照領域について参照ピクチャのリスト（例えば、「ＲｅｆＰｉｃＬｉｓｔ０」）中の参照ピクチャを探索し得る。ＰＵのための参照領域は、ＰＵのサンプルブロックに最も密接に対応するサンプルブロックを含んでいる、参照ピクチャ内の領域であり得る。インター予測処理ユニット１２０の動き推定ユニットは、ＰＵのための参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０中の位置を示す参照インデックスを生成し得る。さらに、動き推定ユニットは、ＰＵのコーディングブロックと、参照領域に関連する参照ロケーションとの間の空間変位を示すＭＶを生成し得る。例えば、ＭＶは、現在復号ピクチャ中の座標から参照ピクチャ中の座標までのオフセットを与える２次元ベクトルであり得る。動き推定ユニットは、ＰＵの動き情報として参照インデックスとＭＶとを出力し得る。インター予測処理ユニット１２０の動き補償ユニットは、ＰＵの動きベクトルによって示された参照ロケーションにおける実際のまたは補間されたサンプルに基づいて、ＰＵの予測ブロックを生成し得る。
【００６９】
[0074]  ＰＵがＢスライス中にある場合、動き推定ユニットは、ＰＵについての単予測または双予測を行い得る。ＰＵについての単予測を行うために、動き推定ユニットは、ＰＵのための参照領域についてＲｅｆＰｉｃＬｉｓｔ０または第２の参照ピクチャリスト（「ＲｅｆＰｉｃＬｉｓｔ１」）の参照ピクチャを探索し得る。動き推定ユニットは、ＰＵの動き情報として、参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照インデックスと、ＰＵの予測ブロックと参照領域に関連する参照ロケーションとの間の空間変位を示すＭＶと、参照ピクチャがＲｅｆＰｉｃＬｉｓｔ０中にあるのかＲｅｆＰｉｃＬｉｓｔ１中にあるのかを示す１つまたは複数の予測方向インジケータとを出力し得る。インター予測処理ユニット１２０の動き補償ユニットは、ＰＵの動きベクトルによって示された参照領域における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成し得る。
【００７０】
[0075]  ＰＵについての双方向インター予測を行うために、動き推定ユニットは、ＰＵのための参照領域についてＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャを探索し得、ＰＵのための別の参照領域についてＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャをも探索し得る。動き推定ユニットは、参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照ピクチャインデックスを生成し得る。さらに、動き推定ユニットは、参照領域に関連する参照ロケーションとＰＵのサンプルブロックとの間の空間変位を示すＭＶを生成し得る。ＰＵの動き情報は、ＰＵの参照インデックスとＭＶとを含み得る。動き補償ユニットは、ＰＵの動きベクトルによって示された参照領域における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成し得る。
【００７１】
[0076]  イントラ予測処理ユニット１２６は、ＰＵに対してイントラ予測を行うことによって、ＰＵのための予測データを生成し得る。ＰＵのための予測データは、ＰＵのための予測ブロックと、様々なシンタックス要素とを含み得る。イントラ予測処理ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライス中のＰＵに対してイントラ予測を行い得る。
【００７２】
[0077]  ＰＵに対してイントラ予測を行うために、イントラ予測処理ユニット１２６は、ＰＵのための予測データの複数のセットを生成するために複数のイントラ予測モードを使用し得る。イントラ予測処理ユニット１２６は、ＰＵのための予測ブロックを生成するために隣接ＰＵのサンプルブロックからのサンプルを使用し得る。隣接ＰＵは、ＰＵ、ＣＵ、およびＣＴＵについて左から右、上から下の符号化順序を仮定すると、ＰＵの上、右上、左上、または左にあり得る。イントラ予測処理ユニット１２６は、様々な数のイントラ予測モード、例えば、３３個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、ＰＵに関連する領域のサイズに依存し得る。
【００７３】
[0078]  予測処理ユニット１００は、ＰＵのためにインター予測処理ユニット１２０によって生成された予測データ、またはＰＵのためにイントラ予測処理ユニット１２６によって生成された予測データの中からＣＵのＰＵのための予測データを選択し得る。いくつかの例では、予測処理ユニット１００は、予測データのセットのレート／ひずみメトリックに基づいて、ＣＵのＰＵのための予測データを選択する。選択された予測データの予測ブロックは、本明細書では、選択された予測ブロックと呼ばれることがある。
【００７４】
[0079]  残差生成ユニット１０２は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックと、ＣＵのＰＵの選択された予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロックとに基づいて、ＣＵのルーマ残差ブロックと、Ｃｂ残差ブロックと、Ｃｒ残差ブロックとを生成し得る。例えば、残差生成ユニット１０２は、残差ブロック中の各サンプルが、ＣＵのコーディングブロック中のサンプルとＣＵのＰＵの対応する選択された予測ブロック中の対応するサンプルとの間の差分に等しい値を有するように、ＣＵの残差ブロックを生成し得る。
【００７５】
[0080]  変換処理ユニット１０４は、ＣＵに関連する残差ブロックをＣＵのＴＵに関連する変換ブロックに区分するために、４分木区分を行い得る。従って、いくつかの例では、ＴＵは、ルーマ変換ブロックと、２つのクロマ変換ブロックとに関連し得る。ＣＵのＴＵのルーマ変換ブロックとクロマ変換ブロックとのサイズおよび位置は、ＣＵのＰＵの予測ブロックのサイズおよび位置に基づくことも基づかないこともある。「残差４分木」（ＲＱＴ：residual quad-tree）として知られる４分木構造は、領域の各々に関連するノードを含み得る。ＣＵのＴＵはＲＱＴのリーフノードに対応し得る。
【００７６】
[0081]  変換処理ユニット１０４は、ＴＵの変換ブロックに１つまたは複数の変換を適用することによって、ＣＵの各ＴＵのための変換係数ブロックを生成し得る。変換処理ユニット１０４は、ＴＵに関連する変換ブロックに様々な変換を適用し得る。例えば、変換処理ユニット１０４は、離散コサイン変換（ＤＣＴ）、方向変換、または概念的に同様の変換を変換ブロックに適用し得る。いくつかの例では、変換処理ユニット１０４は変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われ得る。
【００７７】
[0082]  量子化ユニット１０６は、係数ブロック中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連するビット深度を低減し得る。例えば、量子化中にｎビットの変換係数がｍビットの変換係数に切り捨てられることがあり、ここで、ｎはｍよりも大きい。量子化ユニット１０６は、ＣＵに関連する量子化パラメータ（ＱＰ）値に基づいて、ＣＵのＴＵに関連する係数ブロックを量子化し得る。ビデオエンコーダ２０は、ＣＵに関連するＱＰ値を調整することによって、ＣＵに関連する係数ブロックに適用される量子化の程度を調整し得る。量子化は情報の損失をもたらし得、従って、量子化変換係数は、元の係数よりも低い精度を有し得る。
【００７８】
[0083]  逆量子化ユニット１０８および逆変換処理ユニット１１０は、係数ブロックから残差ブロックを再構成するために、それぞれ、係数ブロックに逆量子化および逆変換を適用し得る。再構成ユニット１１２は、ＴＵに関連する再構成された変換ブロックを生成するために、再構成された残差ブロックを、予測処理ユニット１００によって生成された１つまたは複数の予測ブロックからの対応するサンプルに加算し得る。このようにＣＵの各ＴＵについて変換ブロックを再構成することによって、ビデオエンコーダ２０は、ＣＵのコーディングブロックを再構成し得る。
【００７９】
[0084]  フィルタユニット１１４は、ＣＵに関連するコーディングブロック内のブロッキングアーティファクトを低減するために１つまたは複数のデブロッキング演算を行い得る。復号ピクチャバッファ１１６は、フィルタユニット１１４が、再構成されたコーディングブロックに対して１つまたは複数のデブロッキング演算を行った後、再構成されたコーディングブロックを記憶し得る。インター予測処理ユニット１２０は、他のピクチャのＰＵに対してインター予測を行うために、再構成されたコーディングブロックを含んでいる参照ピクチャを使用し得る。さらに、イントラ予測処理ユニット１２６は、ＣＵと同じピクチャ中の他のＰＵに対してイントラ予測を行うために、復号ピクチャバッファ１１６中の再構成されたコーディングブロックを使用し得る。
【００８０】
[0085]  エントロピー符号化ユニット１１８は、ビデオエンコーダ２０の他の機能構成要素からデータを受信し得る。例えば、エントロピー符号化ユニット１１８は、量子化ユニット１０６から係数ブロックを受信し得、予測処理ユニット１００からシンタックス要素を受信し得る。そのようなシンタックス要素は、ＣＴＵおよびＣＵのサイズと区分とに関係するシンタックス要素を含み得る。エントロピー符号化ユニット１１８は、エントロピー符号化データを生成するために、データに対して１つまたは複数のエントロピー符号化演算を行い得る。例えば、エントロピー符号化ユニット１１８は、ＣＡＢＡＣ演算、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）演算、ＣＡＢＡＣ演算、可変対可変（Ｖ２Ｖ：variable-to-variable）長コーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）演算、確率間隔区分エントロピー（ＰＩＰＥ）コーディング演算、指数ゴロム符号化演算、または別のタイプのエントロピー符号化演算など、コンテキスト適応型コーディング演算をデータに対して行い得る。ビデオエンコーダ２０は、エントロピー符号化ユニット１１８によって生成されたエントロピー符号化データを含むビットストリームを出力し得る。例えば、ビットストリームは、ＣＵのためのＲＱＴを表すデータを含み得る。
【００８１】
[0086]  本開示のいくつかの技法は、例えば、ＣＴＵおよびＣＵに関係する、情報のＣＡＢＡＣコーディングに関係する。エントロピー符号化ユニット１１８が行うＣＡＢＡＣコーディングは、概して、３つの主要な機能、すなわち、２値化、コンテキストモデリング、および算術コーディングを伴う。２値化は、ビンストリングと呼ばれることもあるバイナリシンボル（ビン）にシンタックス要素をマッピングする。コンテキストモデリングは、ビンの確率を推定する。コンテキストモデリングプロセスの一部として、ビデオコーダは、各ビンについてコンテキストモデルを選択するか、または。コンテキストモデルは確率を表す。異なるビンについて異なるコンテキストモデルが選択され得る。算術コーディングは、推定された確率に基づいてビンをビットに圧縮する。言い換えれば、算術コーディングは、各ビンに対応する選択されたコンテキストモデルに基づいてビンをビットに圧縮する。
【００８２】
[0087]  いくつかの例では、２値化は、単項、短縮単項、ｋ次指数ゴロム（ＥＧｋ：kth-order exponential-Golomb）、および固定長２値化など、様々な２値化プロセスを指すことがある。コンテキストモデリング中に、エントロピー符号化ユニット１１８は、コンテキストモデリングと呼ばれるプロセスにおいて各ビンについて確率推定（例えば、コンテキストモデル）を導出する。コンテキストモデリングプロセスは、極めて適応型であり得る。
【００８３】
[0088]  エントロピー符号化ユニット１１８は、異なるビンについて異なるコンテキストモデルを使用し得る。エントロピー符号化ユニット１１８は、前にコーディングされたビンの値に基づいてコンテキストモデルの確率を更新し得る。同様の分布をもつビンは、しばしば同じコンテキストモデルを共有する。エントロピー符号化ユニット１１８は、シンタックス要素のタイプ、シンタックス要素中のビン位置（ｂｉｎＩｄｘ）、ルーマ／クロマ、隣接情報、および他のシンタックス要素に基づいて、各ビンについてコンテキストモデルを選択し得る。
【００８４】
[0089]  エントロピーコーディング中に、エントロピーエンコーダまたはエントロピーデコーダ（例えば、エントロピー符号化ユニット１１８およびエントロピー復号ユニット１５０）は、符号化されるべきまたは復号すべきシンボルのビットを１つまたは複数のビンに入れ得る。いくつかの例では、ビンは、シンボルの値が０に等しいかどうかを示す。エントロピーエンコーダまたはエントロピーデコーダは、エントロピーコーディングプロセスを調整するためにビンの値を使用し得る。他の例では、エントロピーエンコーダまたはエントロピーデコーダはまた、値が特定の値よりも大きいかどうか、例えば、０よりも大きいかどうか、１よりも大きいかどうかなどを示すためにビンを使用し得る。
【００８５】
[0090]  エントロピー符号化ユニット１１８は、「コンテキストスイッチ」と呼ばれるプロセスを行うように構成され得る。例えば、エントロピー符号化ユニット１１８は、各ビンを符号化した後にコンテキストスイッチを行うように構成され得る。いくつかの例では、エントロピー符号化ユニット１１８は、７ビットエントリ（確率状態のための６ビットおよび優勢シンボル（ＭＰＳ：most probable symbol）のための１ビット）として、確率モデル（例えば、コンテキストモデル）をコンテキストメモリに記憶する。そのような例では、エントロピー符号化ユニット１１８は、コンテキスト選択論理によって算出されたコンテキストインデックスを使用して確率モデル（例えば、コンテキストモデル）をアドレス指定する。
【００８６】
[0091]  ビデオデータ（例えば、ビデオデータのスライス）を符号化する前に、エントロピー符号化ユニット１１８は、いくつかのあらかじめ定義された値に基づいて確率モデル（例えば、コンテキストモデル）を初期化する。例えば、「ｑｐ」として示された入力量子化パラメータと、「ｉｎｉｔＶａｌ」として示されたあらかじめ定義された値とを仮定すれば、エントロピー符号化ユニット１１８は、（値「状態」および「ＭＰＳ」によって示された）確率モデルの７ビットエントリを以下のように導出し得る。
【００８７】
【数１】
0006462886.tif 000002
【００８８】
[0092]  エントロピー符号化ユニット１１８は、例えば、再帰的間隔分割プロセスに基づいて、算術コーディングを行うように構成され得る。算術コーディングプロセスの一部として、エントロピー符号化ユニット１１８は、ビンの確率に基づいて範囲を２つのサブ間隔に分割するように構成され得る。いくつかの例では、範囲は、最初は０から１までに及び得る。エントロピー符号化ユニット１１８は、２進小数に変換されるオフセットに基づいて２つのサブ間隔のうちの１つを選択するように構成され得る。オフセットは符号化されたビンから導出され、選択されたサブ間隔はビンの値によって示される。
【００８９】
[0093]  エントロピー符号化ユニット１１８は、更新された範囲が、選択されたサブ間隔に等しくなるように、あらゆるビンの後に範囲を更新するように構成され得る。エントロピー符号化ユニット１１８は、間隔分割プロセスを繰り返すように構成され得る。範囲およびオフセットは限られたビット精度を有し、従って、エントロピー符号化ユニット１１８は、アンダーフローを防ぐために、範囲がある値を下回るときはいつでも、再正規化を行うように構成され得る。
【００９０】
[0094]  エントロピー符号化ユニット１１８は、各ビンが符号化された後に再正規化を行い得る。同様に、エントロピー復号ユニット１５０は、各ビンが符号化された後に再正規化を行い得る。エントロピー符号化ユニット１１８は、推定確率を使用して算術コーディングを行うか（コンテキストコード化）、または、０．５の等しい確率を仮定して算術コーディングを行い得る（バイパスコード化）。バイパスコード化ビンの場合は、エントロピー符号化ユニット１１８は、算術シフトを使用することによってサブ間隔への範囲の分割を行い得るが、コンテキストコード化ビンの場合は、ルックアップテーブルが使用され得る。
【００９１】
[0095]  動き補償および動き推定中に、予測処理ユニット１００は、ＣＵがサブブロック（例えば、予測ユニット（ＰＵ）またはそれよりも小さいもの）に分割されるべきかどうかを決定する。例えば、予測処理ユニット１００は、コーディングツリーユニット（ＣＴＵ）が異なる方法でその間にスプリットされる様々な符号化パスを行い得、次いで、各パスのレートひずみ特性が、ＣＴＵのためのどの区分方式が最良のレートひずみメトリックを生じるのかを決定するために他のパスと比較され得る。ｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素（フラグ）の値は、ＣＵが、親ＣＵに対して１／２水平および垂直サイズをもつコーディングユニットにスプリットされるかどうかを示す。各スライスタイプ（例えば、Ｉ、Ｐ、およびＢスライス）について、エントロピー符号化ユニット１１８は、空間的に隣接するスライスの情報に基づいて、３つのコンテキストを用いるＣＡＢＡＣを使用してｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素をコーディングするように構成され得る。
【００９２】
[0096]  ＨＥＶＣ仕様において定義されるように、エントロピー符号化ユニット１１８は、現在ブロック左のブロックおよび現在ブロックの上のブロックの利用可能性（例えば、現在ブロックのすぐ左に位置するブロックの利用可能性を指定するａｖａｉｌａｂｌｅＬ、または現在ブロックのすぐ上に位置するブロックの利用可能性を指定するａｖａｉｌａｂｌｅＡ）と、左／上隣接ブロックのスプリット情報（すなわち、ＣｔＤｅｐｔｈ［ｘＮｂＬ／Ａ］［ｙＮｂＬ／Ａ］＞ｃｑｔＤｅｐｔｈ）とに基づいて、コンテキストインデックスオフセット（例えば、ｃｔｘＩｎｃ）を導出するように構成され得る。ＨＥＶＣ規格からコピーされた表９−３８は、以下のようにｃｔｘＩｎｃシンタックス要素の導出について説明する。
【００９３】
【表１】
0006462886.tif 000003
【００９４】
[0097]  別のシンタックス要素、ｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃは、現在予測ユニットのためにｌｉｓｔ０が使用されるのか、ｌｉｓｔ１が使用されるのか、双予測が使用されるのかを示す。シンタックス要素は、その両方がＣＡＢＡＣコンテキストコーディングされる、最高２つのビンを有する。２値化されたビンストリングは、以下のように、ＨＥＶＣ規格からコピーされた表９−３６に従って定義され、ここで、ｎＰｂＷおよびｎＰｂＨは、それぞれ、現在ルーマ予測ブロックの幅および高さを表す。
【００９５】
【表２】
0006462886.tif 000004
【００９６】
[0098]  各インターコード化スライド（例えば、ＰまたはＢスライス）について、エントロピー符号化ユニット１１８は、（ｎＰｂＷ＋ｎＰｂＨ）！＝１２であるかどうかまたは（ｎＰｂＷ＋ｎＰｂＨ）！＝１２であるかどうかを決定することに基づいて、２値化されたビンストリングの上記のコンテキスト選択導出を行うように構成され得る。例えば、（ｎＰｂＷ＋ｎＰｂＨ）が１２に等しくない場合、エントロピー符号化ユニット１１８は、４つのコンテキスト（例えば、０、１、２、および３）を使用して第１のビンをコーディングし、１つのコンテキストを用いて第２のビンをコーディングするように構成され得る。いくつかの例では、第１のビンのコンテキスト選択は現在ブロックのＣＵ深度に従う。ＨＥＶＣでは、ＣＵ深度は、両端値を含む、０〜３の範囲内にある。別の例として、（ｎＰｂＷ＋ｎＰｂＨ）が１２に等しい場合、エントロピー符号化ユニット１１８は、上記の例において第２のビンによって使用されたコンテキストと同じコンテキストを用いて第１のビンおよび第２のビンをコーディングするように構成され得る。
【００９７】
[0099]  エントロピー符号化ユニット１１８およびエントロピー復号ユニット１５０は、例えば上記で説明されたように、ＨＥＶＣに従ってエントロピーコーディングの１つまたは複数の態様を行うように構成され得るが、ＨＥＶＣにおけるコンテキストモデリングに関するいくつかの問題がある。ＨＥＶＣにおけるコンテキストモデリングは、６４×６４よりも大きくないＣＴＵのために特別に設計される。従って、より大きいＣＴＵサイズ（例えば、１２８×１２８、２５６×２５６、またはさらに大きいサイズ）が使用されるとき、ＨＥＶＣによって記述されるものなど、現在コンテキストモデリングプロセスを直接再利用することは、あまり効率的でないか、またはパース問題を生じる。
【００９８】
[0100]  一例として、ＣＴＵが６４×６４よりも大きいとき、ＨＥＶＣによって定義されたｓｐｌｉｔ＿ｃｕ＿ｆｌａｇの現在コンテキストモデリングプロセスを直接再利用することは、効率的でない。別の例として、ＣＴＵが６４×６４よりも大きいとき、最大ＣＵ深度が実際に増加され、その結果、ｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃのためにより多くのコンテキストが必要となる。しかしながら、追加のコンテキストが必ずしも追加のコーディング効率をもたらすとは限らない。従って、本開示におけるいくつかの技法は、コンテキストの数を限定することに関するが、本開示における他の技法は、コンテキストの数を増加させることに関する。
【００９９】
[0101]  本開示は、以下でより詳細に説明され、上記で説明されたように、ＣＴＵのエントロピーコーディングに関連する問題を克服し得る、いくつかの異なる技法について説明する。これらの技法は、単独でまたは任意の組合せで使用され得る。大きいＣＴＵをコーディングするために、並びに、６４×６４またはそれよりも小さいＣＴＵをコーディングするために、以下の技法が適用可能であり得る。以下の技法は、個々にまたは任意の組合せで適用され得る。
【０１００】
[0102]  本開示の技法による一例では、エントロピー符号化ユニット１１８は、ｓｐｌｉｔ＿ｃｕ＿ｆｌａｇおよび／または同じセマンティクスをもつシンタックス要素のコンテキストモデリングを行うとき、現在ＣＵの空間および／または時間ネイバーの最大および／または最小ＣＵ深度情報を考慮に入れ得る。
【０１０１】
[0103]  この例では、エントロピー符号化ユニット１１８は、いくつかの例における現在ＣＵの空間および／または時間ネイバーの全てに対応するＣＵ深度、並びに、他の例における現在ＣＵの１つまたは複数の空間および／または時間ネイバーに対応する１つまたは複数のＣＵ深度を意味する、現在ＣＵの空間および／または時間ネイバーの最大および／または最小ＣＵ深度あるいはＣＵサイズに基づいて、ＣＵがサブＣＵにさらにスプリットされるかどうかの可能性（例えば、確率または尤度）を決定するように構成され得る。現在ＣＵのＣＵ深度が現在ＣＵの１つまたは複数の空間および／または時間ネイバー（例えば、全てのそのようなネイバー）の最小ＣＵ深度よりも小さいと決定したことに基づいて、エントロピー符号化ユニット１１８は、ＣＵがさらにスプリットされることになる可能性が極めて高いと決定するように構成され得る。現在ＣＵのＣＵ深度が現在ＣＵの１つまたは複数の空間および／または時間ネイバー（例えば、全てのそのようなネイバー）の最大ＣＵ深度よりも大きいと決定したことに基づいて、エントロピー符号化ユニット１１８は、ＣＵがさらにスプリットされることになる可能性が極めて低いと決定するように構成され得る。
【０１０２】
[0104]  一例では、エントロピー符号化ユニット１１８は、（例えば、現在ＣＵのＣＵ深度が、現在ＣＵの空間ネイバーおよび／または時間ネイバーの最小ＣＵ深度よりも小さいとき）現在ＣＵがさらにスプリットされる可能性が極めて高いと決定すると、ｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素をコーディングするために１つの専用コンテキストモデルを使用するように構成され得る。代替または追加として、エントロピー符号化ユニット１１８は、コンテキストモデルに関連する「１」に等しいビン値の初期確率を、１または１に極めて近い値に設定するように構成され得る。例えば、上記で紹介された初期化方法を用いて、エントロピー符号化ユニット１１８は、コンテキストモデルを「極めて可能性が低い」（ｉｎｉｔＳｔａｔｅ＝１）に初期化するために「０」（ｉｎｉｔＶａｌ＝０）の値を使用し、コンテキストを「極めて可能性が高い」（ｉｎｉｔＳｔａｔｅ＝１２６）に初期化するために値「２５５」を使用するように構成され得る。
【０１０３】
[0105]  別の例では、エントロピー符号化ユニット１１８は、（例えば、現在ＣＵのＣＵ深度が、現在ＣＵの空間ネイバーおよび／または時間ネイバーの最大ＣＵ深度よりも大きいとき）現在ＣＵがさらにスプリットされる可能性が極めて低いと決定すると、ｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素をコーディングするために１つの専用コンテキストモデルを使用するように構成され得る。代替または追加として、エントロピー符号化ユニット１１８は、コンテキストに関連する「１」に等しいビン値の初期確率を、０に等しくまたは０に極めて近い値に設定するように構成され得る。
【０１０４】
[0106]  本開示の技法によるいくつかの例では、エントロピー符号化ユニット１１８は、コンテキストインデックスオフセットをＣＵ深度に等しく設定するのではなく、ｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃシンタックス要素のための現在ＣＵのＣＵ深度の一様または非一様量子化に基づいて、コンテキストインデックスオフセットを決定するように構成され得る。例えば、エントロピー符号化ユニット１１８は、コンテキストインデックスオフセットをｍｉｎ（ＣＵ深度，Ｍ）に設定するように構成され得、ここで、Ｍは正の整数値であり、ｍｉｎ関数は２つの入力の最小値を返す。いくつかの例では、エントロピー符号化ユニット１１８は、Ｍを３に等しく設定し得る。各コンテキストインデックスオフセットがコンテキストに対応するので、エントロピー符号化ユニット１１８は、上記で説明されたようにコンテキストインデックスオフセットを限定することによって、６４×６４よりも大きいＣＴＵをエントロピー符号化するために使用されるコンテキストの数を限定するように構成され得る。例えば、Ｍが３である場合、コンテキストの数は４に限定される。別の例として、Ｍが５である場合、コンテキストの数は６に限定される。
【０１０５】
[0107]  最大ＣＵサイズ（ＣＴＵのサイズ）および最大ＣＵスプリットは、通常、シーケンスパラメータセット（ＳＰＳ）またはピクチャパラメータセット（ＰＰＳ）中でシグナリングされる。ビデオエンコーダ２０またはビデオデコーダ３０は、従って、特定のビットストリームのためのＣＵサイズを決定する。６４×６４よりも大きいＣＴＵが可能にされる、本開示の技法によるいくつかの例では、ビデオエンコーダ２０は、ＣＵ深度がある範囲で制限されるように、最大および最小ＣＵサイズに追加の制約を受けさせることがある。次に、ＣＴＵおよびＣＵサイズ制限の様々な例が説明される。いくつかの例では、以下で説明される制限／制約のうちの１つまたは複数は、インターコード化ＣＵにのみ適用され得る。
【０１０６】
[0108]  一例では、ビデオエンコーダ２０は、最大ＣＵサイズを、許容される最大ＣＴＵサイズよりも小さいサイズよりも小さいかまたはそれに等しくなるように設定するように構成され得る。例えば、最大ＣＵサイズは、６４×６４など、あらかじめ定義され得る。最大ＣＵサイズを、最大ＣＴＵサイズよりも小さいサイズよりも小さいかまたはそれに等しく設定することによって、適応ループフィルタなど、ビデオコーデックのいくつかのモジュールと、サンプル適応オフセットプロセスとが、ＣＴＵレベルにおいて適用され得る。
【０１０７】
[0109]  別の例では、ビデオエンコーダ２０は、ＰＰＳまたは任意の他の高レベルシンタックスパラメータセット中でＣＴＵサイズおよび最大ＣＵ深度とともに最大ＣＵサイズをシグナリングするように構成され得る。
【０１０８】
[0110]  別の例では、現在ＣＵが最大ＣＵサイズよりも大きいサイズを有するとき、ビデオエンコーダ２０は、現在ＣＵのｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素をシグナリングしないように構成され得る。そのような例では、ビデオデコーダ３０は、ｓｐｌｉｔ＿ｃｕ＿ｆｌａｇが１に等しいと推論するように構成され得る。
【０１０９】
[0111]  次に、本開示の技法による、最大ＣＵサイズに関する制約の様々な例が、説明される。一例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＣＵ深度をＭよりも小さくなるように制限し得、ここで、Ｍは、いくつかの例では４に等しい。別の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＣＵサイズを（１＜＜（Ｎ−Ｍ））よりも小さくならないように制限し得、ここで、最も大きいＣＴＵサイズは（１＜＜Ｎ）に等しく、「＜＜」は算術左シフトであり、Ｍは最大ＣＵ深度（例えば、ＣＴＵがさらに何回スプリットされ得るか）を示す。例えば、Ｍ＝４は、ＣＴＵが４回スプリットされ得ることを意味する。一例では、Ｍは、４に等しく設定され得る。例えば、４のＣＵ深度を有する６４×６４ＣＵは、最初に２つの３２×３２ブロックにスプリットされ得、それらは、次いで１６×１６ブロックにスプリットされ得、それらは、次いで８×８ブロックにスプリットされ得、それらは、次いで４×４ブロックをもつ４×４ブロックにスプリットされ得る。この例は、（第１に３２×３２、第２に１６×１６において、第３に８×８において、および第４に４×４において）４つの例示的なＣＵ深度を証明する。いくつかの例では、ＣＵサイズ制約は、インターコード化ＣＵにのみ適用され得る。いくつかの例では、イントラコード化ＣＵおよびインターコード化ＣＵのための最大ＣＵ深度または最小ＣＵサイズは、異なり得る。
【０１１０】
[0112]  本開示の技法による様々な例では、エントロピー符号化ユニット１１８は、ｓｐｌｉｔ＿ｃｕ＿ｆｌａｇまたは同じセマンティクスをもつシンタックス要素をコーディングするための２つの追加のコンテキストを追加し得る。第１の追加のコンテキストは、現在ＣＵのさらなるスプリットが、高い可能性を有する（例えば、極めて可能性が高い）ことを示す。第２の追加のコンテキストは、現在ＣＵのさらなるスプリットが、低い可能性を有する（例えば、極めて可能性が低い）ことを示す。これらの例では、ビデオエンコーダ２０のエントロピー符号化ユニット１１８は、現在ＣＵの空間的に隣接する（例えば、左、左下、上および右上）ＣＵの最大および最小深度を、それぞれ、ｍａｘ＿ｄｅｐｔｈおよびｍｉｎ＿ｄｅｐｔｈとして定義するように構成され得る。エントロピー符号化ユニット１１８は、以下の擬似コードに従ってｓｐｌｉｔ＿ｃｕ＿ｆｌａｇをコーディングするためのＣＡＢＡＣコンテキストを選択するように構成され得る。
ｉｆ（ｃｕｒ＿ｃｕ＿ｄｅｐｔｈ＜ｍａｘ（０，ｍｉｎ＿ｄｅｐｔｈ−１））｛高い可能性をもつさらなるスプリットのためのコンテキストを選択する｝
ｅｌｓｅ  ｉｆ（ｃｕｒ＿ｃｕ＿ｄｅｐｔｈ＞ｍｉｎ（ｇ＿ｍａｘ＿ｃｕ＿ｄｅｐｔｈ，ｍａｘ＿ｄｅｐｔｈ＋１））｛低い可能性をもつさらなるスプリットのためのコンテキストを選択する｝
ｅｌｓｅ｛ＨＥＶＣにおいてｓｐｌｉｔ＿ｃｕ＿ｆｌａｇのコンテキスト選択を使用する｝
[0113]  上記の擬似コードでは、ｃｕｒ＿ｃｕ＿ｄｅｐｔｈは、現在ＣＵのＣＵ深度を示し、ｇ＿ｍａｘ＿ｃｕ＿ｄｅｐｔｈは、ビットストリーム中で許容される最大ＣＵ深度を示す。一例では、空間的に隣接するＣＵが利用可能でないとき、ビデオエンコーダ２０は、ｍｉｎ＿ｄｅｐｔｈを計算するときに隣接ＣＵ深度を０に等しく設定するように構成され得、ｍａｘ＿ｄｅｐｔｈを計算するときに隣接ＣＵ深度をｇ＿ｍａｘ＿ｃｕ＿ｄｅｐｔｈに等しく設定するように構成され得る。２つの追加のコンテキストを伴う例では、ビデオエンコーダ２０は、高い可能性をもつさらなるスプリットのコンテキストのための初期値（例えば、上記で説明されたｉｎｉｔＶａｌ）を２５５に設定するように構成され得る。そのような例では、ビデオエンコーダ２０は、低い可能性をもつさらなるスプリットのコンテキストのための初期値（例えば、上記で説明されたｉｎｉｔＶａｌ）を０に設定し得る。
【０１１１】
[0114]  ６４×６４よりも大きいＣＴＵの場合、ＣＵ深度は３よりも大きいことがある。例えば、ＣＴＵが２５６×２５６サイズを有するとき、ＣＵ深度は０、１、２、３、４、または５であり得る。いくつかの例では、エントロピー符号化ユニット１１８は、ｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃの第１のビンのための４つのコンテキスト（例えば、０、１、２、および３）を依然として使用し得る。エントロピー符号化ユニット１１８は、次いで、ｍｉｎ（３，ｃｕｒ＿ｃｕ＿ｄｅｐｔｈ）を使用してコンテキストを選択し得、ここで、ｃｕｒ＿ｃｕ＿ｄｅｐｔｈは現在ＣＵのＣＵ深度を示す。
【０１１２】
[0115]  図３は、本開示の技法を実施するように構成された例示的なビデオデコーダ３０を示すブロック図である。図３は、説明の目的で与えられており、本開示において広く例示され、説明される技法を限定するものではない。説明の目的で、本開示は、ＨＥＶＣコーディングのコンテキストにおいてビデオデコーダ３０について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０１１３】
[0116]  ビデオデコーダ３０は、本開示で説明される様々な例による、ＣＴＵおよびＣＵを効率的にコーディングするための技法を行うように構成され得るデバイスの一例を表す。例えば、ビデオデコーダ３０は、コーディングユニット（ＣＵ）に対する空間的に隣接するＣＵの情報またはＣＵに対する時間的に隣接するＣＵの情報のうちの少なくとも１つに基づいて、ＣＵに関連するシンタックス要素のコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）コンテキストモデリングを行い、モデル化されたコンテキストに基づいてシンタックス要素をＣＡＢＡＣ復号するように構成され得る。
【０１１４】
[0117]  別の例では、ビデオデコーダ３０は、ＣＴＵサイズが６４×６４よりも大きいと決定したことに応答して、ＣＴＵの最大ＣＵ深度および最小ＣＵ深度を備える制約のグループを決定し、制約のグループの少なくともいくつかに基づいてＣＴＵを復号するように構成され得る。
【０１１５】
[0118]  図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット１５０と、ビデオデータメモリ１５１と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換処理ユニット１５６と、再構成ユニット１５８と、フィルタユニット１６０と、復号ピクチャバッファ１６２とを含む。予測処理ユニット１５２は、動き補償ユニット１６４と、イントラ予測処理ユニット１６６とを含む。他の例では、ビデオデコーダ３０は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【０１１６】
[0119]  ビデオデータメモリ１５１は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ１５１に記憶されるビデオデータは、例えば、コンピュータ可読媒体から、例えば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ１５１は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ（ＣＰＢ）を形成し得る。復号ピクチャバッファ１６２は、例えば、イントラコーディングモードまたはインターコーディングモードでビデオデコーダ３０によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ１５１および復号ピクチャバッファ１６２は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ１５１および復号ピクチャバッファ１６２は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ１５１は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１１７】
[0120]  コード化ピクチャバッファ（ＣＰＢ）は、ビットストリームの符号化ビデオデータ（例えば、ＮＡＬユニット）を受信し、記憶し得る。エントロピー復号ユニット１５０は、ＣＰＢから符号化ビデオデータ（例えば、ＮＡＬユニット）を受信し、シンタックス要素を復号するためにＮＡＬユニットをパースし得る。エントロピー復号ユニット１５０は、ＮＡＬユニット中のエントロピー符号化シンタックス要素をエントロピー復号し得る。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換処理ユニット１５６、再構成ユニット１５８、およびフィルタユニット１６０は、ビットストリームから抽出されたシンタックス要素に基づいて復号ビデオデータを生成し得る。エントロピー復号ユニット１５０は、上記で説明されたエントロピー符号化ユニット１１８のプロセスとは概して逆のプロセスを行い得る。
【０１１８】
[0121]  ビットストリームのＮＡＬユニットはコード化スライスＮＡＬユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット１５０は、コード化スライスＮＡＬユニットからシンタックス要素を抽出し、エントロピー復号し得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連するＰＰＳを識別するシンタックス要素を含み得る。
【０１１９】
[0122]  ビットストリームからシンタックス要素を復号することに加えて、ビデオデコーダ３０は、区分されていないＣＵに対して再構成演算を行い得る。区分されていないＣＵに対して再構成演算を行うために、ビデオデコーダ３０はＣＵの各ＴＵに対して再構成演算を行い得る。ＣＵの各ＴＵに対して再構成演算を行うことによって、ビデオデコーダ３０はＣＵの残差ブロックを再構成し得る。
【０１２０】
[0123]  ＣＵのＴＵに対して再構成演算を行うことの一部として、逆量子化ユニット１５４は、ＴＵに関連する係数ブロックを逆量子化、すなわち、量子化解除し得る。逆量子化ユニット１５４は、量子化の程度を決定し、同様に、逆量子化ユニット１５４が適用すべき逆量子化の程度を決定するために、ＴＵのＣＵに関連するＱＰ値を使用し得る。すなわち、圧縮比、すなわち、元のシーケンスと圧縮されたシーケンスとを表すために使用されるビット数の比は、変換係数を量子化するときに使用されるＱＰの値を調整することによって制御され得る。圧縮比はまた、採用されたエントロピーコーディングの方法に依存し得る。
【０１２１】
[0124]  逆量子化ユニット１５４が係数ブロックを逆量子化した後、逆変換処理ユニット１５６は、ＴＵに関連する残差ブロックを生成するために係数ブロックに１つまたは複数の逆変換を適用し得る。例えば、逆変換処理ユニット１５６は、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve transform）、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用し得る。
【０１２２】
[0125]  イントラ予測を使用してＰＵが符号化される場合、イントラ予測処理ユニット１６６は、ＰＵのための予測ブロックを生成するためにイントラ予測を行い得る。イントラ予測処理ユニット１６６は、空間的に隣接するＰＵの予測ブロックに基づいてＰＵのための予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロックを生成するためにイントラ予測モードを使用し得る。イントラ予測処理ユニット１６６は、ビットストリームから復号された１つまたは複数のシンタックス要素に基づいてＰＵのためのイントラ予測モードを決定し得る。
【０１２３】
[0126]  予測処理ユニット１５２は、ビットストリームから抽出されたシンタックス要素に基づいて、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを構成し得る。さらに、ＰＵがインター予測を使用して符号化される場合、エントロピー復号ユニット１５０はＰＵのための動き情報を抽出し得る。動き補償ユニット１６４は、ＰＵの動き情報に基づいて、ＰＵのための１つまたは複数の参照領域を決定し得る。動き補償ユニット１６４は、ＰＵのための１つまたは複数の参照ブロックにおけるサンプルブロックに基づいて、ＰＵのための予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロックを生成し得る。
【０１２４】
[0127]  再構成ユニット１５８は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックを再構成するために、適用可能なとき、ＣＵのＴＵに関連するルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロック、並びにＣＵのＰＵの予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック、すなわち、イントラ予測データまたはインター予測データのいずれかを使用し得る。例えば、再構成ユニット１５８は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックを再構成するために、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロックのサンプルを、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロックの対応するサンプルに加算し得る。
【０１２５】
[0128]  ビデオデコーダ３０は、本明細書で説明されるビデオエンコーダ２０のプロセスとは概して逆のプロセスを行うように構成され得る。同様に、ビデオエンコーダ２０は、本明細書で説明されるビデオデコーダ３０のプロセスとは概して逆のプロセスを行うように構成され得る。例えば、ビデオデコーダ３０が同様にビットストリーム中の符号化されたシンタックス要素を復号するように構成され得るという開示は、ビデオエンコーダ２０がそのシンタックス要素をそのビットストリーム中に符号化するように構成され得ることを必然的に開示する。
【０１２６】
[0129]  別の例として、エントロピー復号ユニット１５０は、本明細書で説明されるエントロピー符号化ユニット１１８のプロセスとは概して逆のプロセスを行うように構成され得る。本開示の態様によれば、エントロピー復号ユニット１５０は、エントロピー符号化ユニット１１８によって生成されたコードワードをエントロピー復号するように構成され得る。
【０１２７】
[0130]  フィルタユニット１６０は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックに関連するブロッキングアーティファクトを低減するためにデブロッキング演算を行い得る。ビデオデコーダ３０は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックを復号ピクチャバッファ１６２に記憶し得る。復号ピクチャバッファ１６２は、後続の動き補償、イントラ予測、および図１のディスプレイデバイス３２などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。例えば、ビデオデコーダ３０は、復号ピクチャバッファ１６２中のルーマブロック、ＣｂブロックおよびＣｒブロックに基づいて、他のＣＵのＰＵに対してイントラ予測演算またはインター予測演算を行い得る。
【０１２８】
[0131]  図４は、本開示の技法に従ってビデオデータをコーディング（例えば、符号化および／または復号）するための例示的なプロセスを示すフローチャートである。図４のプロセスは、概して、説明の目的でビデオコーダによって行われるものとして説明されるが、様々な他のプロセッサも、図４に示されるプロセスを行い得る。本明細書で使用されるビデオコーダは、例えば、図１〜図３に関して説明されたビデオエンコーダ２０および／またはビデオデコーダ３０など、ビデオエンコーダおよび／またはビデオデコーダを指すことがある。いくつかの例では、ビデオデータメモリ１０１、予測処理ユニット１００、および／またはエントロピー符号化ユニット１１８が、図４に示される１つまたは複数のプロセスを行い得る。いくつかの例では、ビデオデータメモリ１５１、エントロピー復号ユニット１５０、および／または予測処理ユニット１５２が、図４に示される１つまたは複数のプロセスを行い得る。
【０１２９】
[0132]  図４の例では、ビデオコーダ（例えば、ビデオエンコーダ２０および／またはビデオデコーダ３０）は、エントロピーコーディングプロセスの一部として、現在コーディングユニット（ＣＵ）に対する１つまたは複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、現在ＣＵに関連するシンタックス要素のためのコンテキストを選択するように構成され得る（２００）。いくつかの例では、ビデオコーダは、現在ＣＵに対する１つまたは複数の空間的に隣接するＣＵのＣＵ深度に関係する情報に基づいて、シンタックス要素のためのコンテキストを選択するように構成され得る。他の例では、ビデオコーダは、現在ＣＵに対する１つまたは複数の時間的に隣接するＣＵのＣＵ深度に関係する情報に基づいて、シンタックス要素のためのコンテキストを選択するように構成され得る。例えば、現在ＣＵに対する１つまたは複数の隣接ＣＵは空間ネイバーであり得、および／または、現在ＣＵに対する１つまたは複数の隣接ＣＵは時間ネイバーであり得る。
【０１３０】
[0133]  いくつかの例では、シンタックス要素は、現在ＣＵがサブＣＵにスプリットされるかどうかを表し得る。そのような例では、シンタックス要素はｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素であり得る。いくつかの例では、現在ＣＵに関連するＣＴＵは、６４×６４よりも大きいサイズを有し得る。
【０１３１】
[0134]  いくつかの例では、１つまたは複数の隣接ＣＵに関係する１つまたは複数のＣＵ深度は、現在ＣＵのＣＵ深度に等しい、および／またはそれに等しくないことがある。例えば、１つまたは複数の空間的に隣接するＣＵに関係する１つまたは複数のＣＵ深度は、現在ＣＵのＣＵ深度に等しい、および／またはそれに等しくないことがある。別の例として、１つまたは複数の時間的に隣接するＣＵに関係する１つまたは複数のＣＵ深度は、現在ＣＵのＣＵ深度に等しい、および／またはそれに等しくないことがある。
【０１３２】
[0135]  ビデオコーダは、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングするように構成され得る（２０２）。いくつかの例では、エントロピーコーディングプロセスはコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを備え得、エントロピーコーディングすることは、ＣＡＢＡＣコーディングすることを備え得る。そのような例では、ＣＡＢＡＣコーディングすることは、ＣＡＢＡＣ符号化することまたはＣＡＢＡＣ復号することを備え得る。
【０１３３】
[0136]  いくつかの例では、ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の隣接ＣＵの最小ＣＵ深度よりも小さいかどうかを決定するように構成され得る。ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の隣接ＣＵの最小ＣＵ深度よりも小さいという決定に基づいて、コンテキストを選択するように構成され得る。ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の隣接ＣＵの最小ＣＵ深度よりも小さいという決定に基づいて、選択されたコンテキストに対応する初期値を２５５に等しく設定するように構成され得る。選択されたコンテキストは、現在ＣＵのＣＵ深度が１つまたは複数の隣接ＣＵの最小ＣＵ深度よりも小さいとき、シンタックス要素のための１に等しい確率値に対応し得る。そのような例では、選択されたコンテキストは、１に等しいかまたは１に極めて近い初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備え得る。
【０１３４】
[0137]  いくつかの例では、ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の隣接ＣＵの最大ＣＵ深度よりも大きいかどうかを決定するように構成され得る。ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の隣接ＣＵの最大ＣＵ深度よりも大きいという決定に基づいて、コンテキストを選択するように構成され得る。ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の隣接ＣＵの最大ＣＵ深度よりも大きいという決定に基づいて、選択されたコンテキストに対応する初期値を０に等しく設定するように構成され得る。選択されたコンテキストは、現在ＣＵのＣＵ深度が１つまたは複数の隣接ＣＵの最大ＣＵ深度よりも大きいとき、シンタックス要素のための０に等しい確率値に対応し得る。そのような例では、選択されたコンテキストは、０に等しいかまたは０に極めて近い初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備え得る。
【０１３５】
[0138]  他の例では、ビデオコーダは、エントロピーコーディングプロセスの一部として、現在コーディングユニット（ＣＵ）に対する１つまたは複数の空間的に隣接するＣＵのＣＵ深度に関係する情報、または現在ＣＵに対する１つまたは複数の時間的に隣接するＣＵのＣＵ深度に関係する情報のうちの少なくとも１つに基づいて、現在ＣＵに関連するシンタックス要素のためのコンテキストを選択するように構成され得る。そのような例では、ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の空間的に隣接するＣＵまたは１つまたは複数の時間的に隣接するＣＵのうちの少なくとも１つの最小ＣＵ深度よりも小さいかどうかを決定するように構成され得る。ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の空間的に隣接するＣＵまたは１つまたは複数の時間的に隣接するＣＵのうちの少なくとも１つの最小ＣＵ深度よりも小さいという決定に基づいて、コンテキストを選択するように構成され得る。ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の空間的に隣接するＣＵまたは１つまたは複数の時間的に隣接するＣＵのうちの少なくとも１つの最小ＣＵ深度よりも小さいという決定に基づいて、選択されたコンテキストに対応する初期値を２５５に等しく設定するように構成され得る。
【０１３６】
[0139]  いくつかの例では、選択されたコンテキストは、現在ＣＵのＣＵ深度が１つまたは複数の空間的に隣接するＣＵまたは１つまたは複数の時間的に隣接するＣＵのうちの少なくとも１つの最小ＣＵ深度よりも小さいとき、シンタックス要素のための１に等しいかまたは１に極めて近い確率値に対応し得る。そのような例では、選択されたコンテキストは、１に等しいかまたは１に極めて近い初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備え得る。他の例では、選択されたコンテキストは、現在ＣＵのＣＵ深度が１つまたは複数の空間的に隣接するＣＵまたは１つまたは複数の時間的に隣接するＣＵのうちの少なくとも１つの最大ＣＵ深度よりも大きいとき、シンタックス要素のための０に等しいかまたは０極めて近い確率値に対応し得る。そのような例では、選択されたコンテキストは、０に等しいかまたは０に極めて近い初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備え得る。
【０１３７】
[0140]  いくつかの例では、ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の空間的に隣接するＣＵまたは１つまたは複数の時間的に隣接するＣＵのうちの少なくとも１つの最大ＣＵ深度よりも大きいかどうかを決定するように構成され得る。ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の空間的に隣接するＣＵまたは１つまたは複数の時間的に隣接するＣＵのうちの少なくとも１つの最大ＣＵ深度よりも大きいという決定に基づいて、コンテキストを選択するように構成され得る。ビデオコーダは、現在ＣＵのＣＵ深度が１つまたは複数の空間的に隣接するＣＵまたは１つまたは複数の時間的に隣接するＣＵのうちの少なくとも１つの最大ＣＵ深度よりも大きいという決定に基づいて、選択されたコンテキストに対応する初期値を０に等しく設定するように構成され得る。
【０１３８】
[0141]  いくつかの例では、ビデオコーダは、少なくとも４つの可能なコンテキストのグループからコンテキストを選択するように構成され得る。そのような例では、少なくとも４つの可能なコンテキストのグループは６つの可能なコンテキストを備える。
【０１３９】
[0142]  図５は、本開示の技法に従ってビデオデータを復号するための例示的なプロセスを示すフローチャートである。図５のプロセスは、概して、説明の目的でビデオデコーダ（例えば、ビデオデコーダ３０）によって行われるものとして説明されるが、様々な他のプロセッサも、図５に示されるプロセスを行い得る。いくつかの例では、ビデオデータメモリ１５１、エントロピー復号ユニット１５０、および／または予測処理ユニット１５２が、図５に示される１つまたは複数のプロセスを行い得る。
【０１４０】
[0143]  図５の例では、ビデオデコーダ３０は、現在ＣＵを表すコーディングツリーユニット（ＣＴＵ）を受信するように構成され得る（２１０）。ビデオデコーダ３０は、現在ＣＵが複数のサブＣＵにスプリットされるかどうかを示す、現在ＣＵについてのシンタックス要素を受信するように構成され得る（２１２）。いくつかの例では、シンタックス要素はｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素であり得る。ビデオデコーダ３０は、現在ＣＵに対する１つまたは複数の空間的に隣接するＣＵのＣＵ深度に関係する情報、または現在ＣＵに対する１つまたは複数の時間的に隣接するＣＵのＣＵ深度に関係する情報のうちの少なくとも１つに基づいて、受信されたシンタックス要素をエントロピー復号するためのコンテキストを決定するように構成され得る（２１４）。ビデオデコーダ３０は、決定されたコンテキストを使用してシンタックス要素をエントロピー復号するように構成され得る（２１６）。
【０１４１】
[0144]  ビデオデコーダ３０は、復号されたシンタックス要素に基づいて、現在ＣＵが複数のサブＣＵにスプリットされるかどうかを決定するように構成され得る（２１８）。現在ＣＵが複数のＣＵにスプリットされる場合、ビデオデコーダ３０は、各サブＣＵが複数のサブＣＵにさらにスプリットされるかどうかを示す、各サブＣＵについてのシンタックス要素を受信するように構成され得る（２１９）。ビデオデコーダ３０は、ブロック２１４および２１６に関して説明されたように、各サブＣＵについての各シンタックス要素のためのコンテキストを決定するように構成され得、各シンタックス要素のための各決定されたコンテキストを使用して、各サブＣＵについての各シンタックス要素をエントロピー復号するように構成され得る。
【０１４２】
[0145]  ビデオデコーダ３０が、現在ＣＵ（またはサブＣＵ）が複数のサブＣＵにさらにスプリットされないとブロック２１８において決定した場合、ビデオデコーダ３０は、予測情報と残差情報とをエントロピー復号するように構成され得る（２２０）。ビデオデコーダ３０は、復号された予測情報を使用して各ＣＵおよび／またはサブＣＵ（例えば、ＰＵ）を形成するように構成され得る（２２２）。ビデオデコーダ３０は、復号された残差情報を使用して（１つまたは複数の）ＣＵおよび／または（１つまたは複数の）サブＣＵのための（１つまたは複数の）変換ユニットを形成するように構成され得る（２２４）。ビデオデコーダ３０は、それぞれのサブブロック（例えば、ＰＵ）とＴＵとを組み合わせることによって各ＣＵを復号するように構成され得る（２２６）。
【０１４３】
[0146]  図６は、本開示の技法に従ってビデオデータを符号化するための例示的なプロセスを示すフローチャートである。図６のプロセスは、概して、説明の目的でビデオエンコーダ（例えば、ビデオエンコーダ２０）によって行われるものとして説明されるが、様々な他のプロセッサも、図６に示されるプロセスを行い得る。いくつかの例では、ビデオデータメモリ１０１、予測処理ユニット１００、および／またはエントロピー符号化ユニット１１８が、図６に示される１つまたは複数のプロセスを行い得る。
【０１４４】
[0147]  図６の例では、ビデオエンコーダ２０は、ＣＴＵを複数のＣＵにスプリット（例えば、区分）するように構成され得る（２４０）。ビデオエンコーダ２０は、各ＣＵがさらにスプリットされるかどうかを示す、各ＣＵについてのシンタックス要素への値を割り当てるように構成され得る（２４２）。いくつかの例では、各ＣＵについてのシンタックス要素はｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素であり得る。ビデオエンコーダ２０は、現在ＣＵ（例えば、シンタックス要素が関連するＣＵ）に対する１つまたは複数の空間的に隣接するＣＵのＣＵ深度に関係する情報、または現在ＣＵに対する１つまたは複数の時間的に隣接するＣＵのＣＵ深度に関係する情報のうちの少なくとも１つに基づいて、各ＣＵについての各シンタックス要素をエントロピー符号化するためのコンテキストを決定するように構成され得る（２４４）。ビデオエンコーダ２０は、各ＣＵについての各シンタックス要素のための決定されたコンテキストを使用して、各ＣＵについての各シンタックス要素をエントロピー符号化するように構成され得る（２４６）。
【０１４５】
[0148]  ビデオエンコーダ２０は、各ＣＵおよび各サブＣＵ（例えば、ＰＵ）のための予測情報と残差情報とを形成するように構成され得る（２４８）。ビデオエンコーダ２０は、各ＣＵおよび各サブＣＵのための予測情報と残差情報とを符号化するように構成され得る（２５０）。
【０１４６】
[0149]  例１：本明細書で開示される、技法あるいは技法の任意の組合せまたは置換のうちのいずれかに従ってビデオデータを処理する方法。
【０１４７】
[0150]  例２：ビデオデータをコーディングする方法であって、本方法は、コーディングユニット（ＣＵ）に対する空間的に隣接するＣＵの情報またはＣＵに対する時間的に隣接するＣＵの情報のうちの少なくとも１つに基づいて、ＣＵに関連するシンタックス要素のコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）コンテキストモデリングを行うことと、モデル化されたコンテキストに基づいてシンタックス要素をＣＡＢＡＣコーディングすることとを備える、方法。
【０１４８】
[0151]  例３：ＣＡＢＡＣコーディングすることが、ＣＡＢＡＣ符号化することを備える、例２の方法。
【０１４９】
[0152]  例４：ＣＡＢＡＣコーディングすることが、ＣＡＢＡＣ復号することを備える、例２の方法。
【０１５０】
[0153]  例５：シンタックス要素は、ＣＵがサブＣＵにスプリットされるかどうかを表し、ここにおいて、ＣＡＢＡＣコーディングすることは、現在ＣＵ深度が空間的に隣接するＣＵまたは時間的に隣接するＣＵのための最小ＣＵ深度よりも小さいとき、ＣＵがスプリットされる可能性があるという決定に基づいて、シンタックス要素をＣＡＢＡＣコーディングすることを備える、例２〜例４のいずれかの方法。
【０１５１】
[0154]  例６：シンタックス要素は、ＣＵがサブＣＵにスプリットされるかどうかを表し、ここにおいて、ＣＡＢＡＣコーディングすることは、ＣＵのための現在ＣＵ深度が空間的に隣接するＣＵまたは時間的に隣接するＣＵのための最小ＣＵ深度よりも小さいとき、シンタックス要素のための１に等しいかまたは１に極めて近い確率値を割り当てるコンテキストモデルを使用してシンタックス要素をＣＡＢＡＣコーディングすることを備え、ここにおいて、コンテキストモデルは、１に等しいかまたは１に極めて近い初期値をもつ専用コンテキストモデルまたは適応コンテキストモデルのうちの１つを備える、例２〜例５のいずれかの方法。
【０１５２】
[0155]  例７：シンタックス要素は、ＣＵがサブＣＵにスプリットされるかどうかを表し、ここにおいて、ＣＡＢＡＣコーディングすることは、現在ＣＵ深度が空間的に隣接するＣＵまたは時間的に隣接するＣＵのための最大ＣＵ深度よりも大きいとき、ＣＵがスプリットされる可能性がないという決定に基づいて、シンタックス要素をＣＡＢＡＣコーディングすることを備える、例２〜例６のいずれかの方法。
【０１５３】
[0156]  例８：シンタックス要素は、ＣＵがサブＣＵにスプリットされるかどうかを表し、ここにおいて、ＣＡＢＡＣコーディングすることは、ＣＵのための現在ＣＵ深度が空間的に隣接するＣＵまたは時間的に隣接するＣＵのための最大ＣＵ深度よりも大きいとき、シンタックス要素のための０等しいかまたは０に極めて近い確率値を割り当てるコンテキストモデルを使用してシンタックス要素をＣＡＢＡＣコーディングすることを備え、ここにおいて、コンテキストモデルは、０に等しいかまたは０に極めて近い初期値をもつ専用コンテキストモデルまたは適応コンテキストモデルのうちの１つを備える、例２〜例７のいずれかの方法。
【０１５４】
[0157]  例９：シンタックス要素がｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素を備える、例２〜例８のいずれかの方法。
【０１５５】
[0158]  例１０：ＣＵがスプリットされる可能性があまり高くないと決定したことに応答して、およびＣＵがスプリットされる可能性があまり低くないと決定したことに応答して、ＨＥＶＣにおいて定義されるｓｐｌｉｔ＿ｃｕ＿ｆｌａｇのコンテキスト選択を使用してシンタックス要素のコンテキストモデリングを行うこと。
【０１５６】
[0159]  例１１：ＣＵがスプリットされる可能性があると決定したことに応答して、さらにスプリットされるＣＵに関連するコンテキストを２５５に等しく設定することと、ＣＵがスプリットされる可能性がないと決定したことに応答して、スプリットされる可能性が低いＣＵに関連するコンテキストを０に等しく設定することとをさらに備える、例２〜例１０のいずれかの方法。
【０１５７】
[0160]  例１２：ＣＵに関連するＣＴＵが、６４×６４よりも大きいサイズを有し、本方法は、シンタックス要素をモデル化するために４つの可能なコンテキストのうちの１つを使用することをさらに備える、例２〜例１１のいずれかの方法。
【０１５８】
[0161]  例１３：ｍｉｎ（３，ｃｕｒ＿ｃｕ＿ｄｅｐｔｈ）に従ってシンタックス要素をＣＡＢＡＣコーディングするためのコンテキストを選択することをさらに備え、ここにおいて、ｃｕｒ＿ｃｕ＿ｄｅｐｔｈはＣＵの現在深度を示し、ここにおいて、ｍｉｎは、３およびｃｕｒ＿ｃｕ＿ｄｅｐｔｈの最小値を示す関数である、例１２の方法。
【０１５９】
[0162]  例１４：シンタックス要素がｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃを備え、本方法は、ＣＵのための量子化が一様であるのか一様でないのかに基づいて、ｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃのためのコンテキストインデックスを決定することをさらに備える、例２の方法。
【０１６０】
[0163]  例１５：コンテキストインデックスは、ｍｉｎ（ＣＵ深度，Ｍ）に等しく、ここにおいて、ＣＵ深度はＣＵの深度であり、ここにおいて、Ｍは正の整数値であり、ここにおいて、ｍｉｎはＭおよびＣＵ深度の最小値を返す関数である、例１４の方法。
【０１６１】
[0164]  例１６：Ｍは３に等しい、例１５の方法。
【０１６２】
[0165]  例１７：ビデオデータをコーディングする方法であって、本方法は、ＣＴＵサイズが６４×６４よりも大きいと決定したことに応答して、ＣＴＵの最大ＣＵ深度および最小ＣＵ深度を備える制約のグループを決定することと、制約のグループの少なくともいくつかに基づいてＣＴＵをコーディングすることとを備える、方法。
【０１６３】
[0166]  例１８：最大ＣＵ深度は６４×６４のサイズに制約される、例１７の方法。
【０１６４】
[0167]  例１９：パラメータセット中のＣＴＵの最大ＣＵサイズ、ＣＴＵサイズ、および最大ＣＵ深度をコーディングすることをさらに備える、例１７〜例１８のいずれかの方法。
【０１６５】
[0168]  例２０：ＣＴＵのＣＵが最大ＣＵサイズよりも大きいサイズを有すると決定したことに応答して、ｓｐｌｉｔ＿ｃｕ＿ｆｌａｇ要素をコーディングすることなしにｓｐｌｉｔ＿ｃｕ＿ｆｌａｇの値が１に等しいと推論することをさらに備える、例１７〜例１９のいずれかの方法。
【０１６６】
[0169]  例２１：最大ＣＵ深度は変数Ｍよりも小さい、例１７〜例２０のいずれかの方法。
【０１６７】
[0170]  例２２：ＣＴＵのＣＵサイズを（１＜＜（Ｎ−Ｍ））よりも小さくならないように制限することをさらに備え、ここにおいて、最大ＣＴＵサイズは（１＜＜Ｎ）に等しく、ここにおいて、ＮおよびＭは整数値である、例１７〜例２１のいずれかの方法。
【０１６８】
[0171]  例２３：制約された値はＣＴＵのインター予測ＣＵにのみ適用される、例１７〜例２２のいずれかの方法。
【０１６９】
[0172]  例２４：最大ＣＵサイズまたは最小ＣＵのうちの少なくとも１つは、ＣＴＵのイントラコード化ＣＵ、およびＣＴＵのインターコード化ＣＵについて異なる、例１７〜例２２のいずれかの方法。
【０１７０】
[0173]  例２５：Ｍは４に等しい、例２１の方法。
【０１７１】
[0174]  本明細書で説明された技法の全てが、個々にまたは組合せで使用され得ることを理解されたい。本開示は、ブロックサイズ、パレットサイズ、スライスタイプなどのいくつかのファクタに応じて変化し得るいくつかのシグナリング方法を含む。シンタックス要素をシグナリングまたは推論することにおけるそのような変形形態は、アプリオリにエンコーダおよびデコーダに知られ得るか、あるいは、ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ中で、タイルレベルでまたは他の場所で、明示的にシグナリングされ得る。
【０１７２】
[0175]  上記例に応じて、本明細書で説明された技法のうちのいずれかのいくつかの行為またはイベントが、異なるシーケンスで行われ得、追加、マージ、または完全に除外され得る（例えば、全ての説明された行為またはイベントが本技法の実施のために必要であるとは限らない）ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、例えば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に行われ得る。さらに、本開示のいくつかの態様は、明快のために単一のモジュールまたはユニットによって行われるものとして説明されたが、本開示の技法は、ビデオコーダに関連するユニットまたはモジュールの組合せによって行われ得ることを理解されたい。
【０１７３】
[0176]  本開示のいくつかの態様は、説明の目的で、開発中のＨＥＶＣ規格に関して説明された。ただし、本開示で説明された技法は、まだ開発されていない他の標準またはプロプライエタリビデオコーディングプロセスを含む、他のビデオコーディングプロセスのために有用であり得る。
【０１７４】
[0177]  上記で説明された技法は、その両方が一般にビデオコーダと呼ばれることがある、ビデオエンコーダ２０（図１および図２）および／またはビデオデコーダ３０（図１および図３）によって行われ得る。同様に、ビデオコーディングは、適用可能なとき、ビデオ符号化またはビデオ復号を指すことがある。
【０１７５】
[0178]  本明細書で説明された技法の全てが、個々にまたは組合せで使用され得ることを理解されたい。例えば、ビデオエンコーダ２０および／またはそれの１つまたは複数の構成要素並びにビデオデコーダ３０および／またはそれの１つまたは複数の構成要素は、本開示で説明された技法を任意の組合せで行い得る。別の例として、本明細書で説明された技法は、その両方が一般にビデオコーダと呼ばれることがある、ビデオエンコーダ２０（図１および図２）および／またはビデオデコーダ３０（図１および図３）によって行われ得る。同様に、ビデオコーディングは、適用可能なとき、ビデオ符号化またはビデオ復号を指すことがある。
【０１７６】
[0179]  上記例に応じて、本明細書で説明された技法のうちのいずれかのいくつかの行為またはイベントが、異なるシーケンスで行われ得、追加、マージ、または完全に除外され得る（例えば、全ての説明された行為またはイベントが本技法の実施のために必要であるとは限らない）ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、例えば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に行われ得る。さらに、本開示のいくつかの態様は、明快のために単一のモジュールまたはユニットによって行われるものとして説明されたが、本開示の技法は、ビデオコーダに関連するユニットまたはモジュールの組合せによって行われ得ることを理解されたい。
【０１７７】
[0180]  本開示のいくつかの態様は、説明の目的で、リリースされたのか、開発中であるのかなどにかかわらず、１つまたは複数のビデオコーディング規格に関して説明された。ただし、本開示で説明された技法は、まだ開発されていない他の標準またはプロプライエタリビデオコーディングプロセスを含む、他のビデオコーディングプロセスのために有用であり得る。
【０１７８】
[0181]  本開示によれば、コンテキストが別段に規定しない場合、「または」という用語は「および／または」として中断され得る。さらに、「１つまたは複数の」または「少なくとも１つの」などの句が、本明細書で開示されるいくつかの特徴のために使用され、他の特徴のために使用されていないことがあるが、そのような言い回しがそれのために使用されなかった特徴は、コンテキストが別段に規定しない場合、そのような暗示される意味を有するものと解釈され得る。
【０１７９】
[0182]  技法の様々な態様の特定の組合せが上記で説明されたが、これらの組合せは、本開示で説明された技法の例を示すために与えられたにすぎない。従って、本開示の技法は、これらの例示的な組合せに限定されるべきでなく、本開示で説明された技法の様々な態様の任意の考えられる組合せを包含し得る。
【０１８０】
[0183]  １つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実施のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１８１】
[0184]  限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１８２】
[0185]  命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、上記の構造、または本明細書で説明された技法の実施に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用ハードウェアおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素で十分に実施され得る。
【０１８３】
[0186]  本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（例えば、チップセット）を含む、多種多様なデバイスまたは装置で実施され得る。本開示では、開示された技法を行うように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１８４】
[0187]  様々な例が本明細書で説明された。説明されたシステム、動作、機能、または例の任意の組合せが企図される。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータをコーディングする方法であって、前記方法は、
エントロピーコーディングプロセスの一部として、現在コーディングユニット（ＣＵ）に対する１つまたは複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、前記現在ＣＵに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記シンタックス要素は、前記現在ＣＵがサブＣＵにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
を備える、方法。
［Ｃ２］
前記エントロピーコーディングプロセスがコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを備え、ここにおいて、エントロピーコーディングすることが、ＣＡＢＡＣコーディングすることを備える、Ｃ１に記載の方法。
［Ｃ３］
ＣＡＢＡＣコーディングすることが、ＣＡＢＡＣ符号化することまたはＣＡＢＡＣ復号することを備える、Ｃ２に記載の方法。
［Ｃ４］
前記１つまたは複数の隣接ＣＵに関係する１つまたは複数のＣＵ深度が、前記現在ＣＵのＣＵ深度に等しい、Ｃ１に記載の方法。
［Ｃ５］
前記１つまたは複数の隣接ＣＵに関係する１つまたは複数のＣＵ深度が、前記現在ＣＵのＣＵ深度に等しくない、Ｃ１に記載の方法。
［Ｃ６］
前記現在ＣＵのＣＵ深度が前記１つまたは複数の隣接ＣＵの最小ＣＵ深度よりも小さいかどうかを決定することと、
前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいという決定に基づいて、前記コンテキストを選択することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ７］
前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を２５５に等しく設定すること
をさらに備える、Ｃ６に記載の方法。
［Ｃ８］
前記選択されたコンテキストは、前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいとき、前記シンタックス要素のための１に等しい確率値に対応する、Ｃ１に記載の方法。
［Ｃ９］
前記選択されたコンテキストが、１に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備える、Ｃ８に記載の方法。
［Ｃ１０］
前記現在ＣＵのＣＵ深度が前記１つまたは複数の隣接ＣＵの最大ＣＵ深度よりも大きいかどうかを決定することと、
前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいという決定に基づいて、前記コンテキストを選択することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ１１］
前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を０に等しく設定すること
をさらに備える、Ｃ１０に記載の方法。
［Ｃ１２］
前記選択されたコンテキストは、前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいとき、前記シンタックス要素のための０に等しい確率値に対応する、Ｃ１に記載の方法。
［Ｃ１３］
前記選択されたコンテキストが、０に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備える、Ｃ１２に記載の方法。
［Ｃ１４］
前記シンタックス要素がｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素を備える、Ｃ１に記載の方法。
［Ｃ１５］
前記現在ＣＵに関連するＣＴＵが、６４×６４よりも大きいサイズを有する、Ｃ１に記載の方法。
［Ｃ１６］
少なくとも４つの可能なコンテキストのグループから前記コンテキストを選択することをさらに備える、Ｃ１５に記載の方法。
［Ｃ１７］
少なくとも４つの可能なコンテキストの前記グループが６つの可能なコンテキストを備える、Ｃ１６に記載の方法。
［Ｃ１８］
前記シンタックス要素のための前記コンテキストを選択することが、前記現在ＣＵに対する１つまたは複数の空間的に隣接するＣＵのＣＵ深度に関係する情報に基づく、Ｃ１に記載の方法。
［Ｃ１９］
前記シンタックス要素のための前記コンテキストを選択することが、前記現在ＣＵに対する１つまたは複数の時間的に隣接するＣＵのＣＵ深度に関係する情報に基づく、Ｃ１に記載の方法。
［Ｃ２０］
ビデオデータをコーディングするためのデバイスであって、前記デバイスが、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しているビデオコーダと
を備え、ここにおいて、前記ビデオコーダは、
エントロピーコーディングプロセスの一部として、現在コーディングユニット（ＣＵ）に対する１つまたは複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、前記メモリに記憶された前記現在ＣＵに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記シンタックス要素は、前記現在ＣＵがサブＣＵにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
を行うように構成された、デバイス。
［Ｃ２１］
前記エントロピーコーディングプロセスがコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを備え、ここにおいて、前記ビデオコーダが、エントロピーコーディングするように構成されることが、前記ビデオコーダが、ＣＡＢＡＣコーディングするように構成されることを備える、Ｃ２０に記載のデバイス。
［Ｃ２２］
前記ビデオコーダが、ＣＡＢＡＣコーディングするように構成されることが、前記ビデオコーダが、ＣＡＢＡＣ符号化またはＣＡＢＡＣ復号するように構成されることを備える、Ｃ２１に記載のデバイス。
［Ｃ２３］
前記１つまたは複数の隣接ＣＵに関係する１つまたは複数のＣＵ深度が、前記現在ＣＵのＣＵ深度に等しい、Ｃ２０に記載のデバイス。
［Ｃ２４］
前記１つまたは複数の隣接ＣＵに関係する１つまたは複数のＣＵ深度が、前記現在ＣＵのＣＵ深度に等しくない、Ｃ２０に記載のデバイス。
［Ｃ２５］
前記ビデオコーダは、
前記現在ＣＵのＣＵ深度が前記１つまたは複数の隣接ＣＵの最小ＣＵ深度よりも小さいかどうかを決定することと、
前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいという決定に基づいて、前記コンテキストを選択することと
を行うようにさらに構成された、Ｃ２０に記載のデバイス。
［Ｃ２６］
前記ビデオコーダは、
前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を２５５に等しく設定すること
を行うようにさらに構成された、Ｃ２５に記載のデバイス。
［Ｃ２７］
前記選択されたコンテキストは、前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最小ＣＵ深度よりも小さいとき、前記シンタックス要素のための１に等しい確率値に対応する、Ｃ２０に記載のデバイス。
［Ｃ２８］
前記選択されたコンテキストが、１に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備える、Ｃ２７に記載のデバイス。
［Ｃ２９］
前記ビデオコーダは、
前記現在ＣＵのＣＵ深度が前記１つまたは複数の隣接ＣＵの最大ＣＵ深度よりも大きいかどうかを決定することと、
前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいという決定に基づいて、前記コンテキストを選択することと
を行うようにさらに構成された、Ｃ２０に記載のデバイス。
［Ｃ３０］
前記ビデオコーダは、
前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を０に等しく設定すること
を行うようにさらに構成された、Ｃ２９に記載のデバイス。
［Ｃ３１］
前記選択されたコンテキストは、前記現在ＣＵの前記ＣＵ深度が前記１つまたは複数の隣接ＣＵの前記最大ＣＵ深度よりも大きいとき、前記シンタックス要素のための０に等しい確率値に対応する、Ｃ２０に記載のデバイス。
［Ｃ３２］
前記選択されたコンテキストが、０に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの１つを備える、Ｃ３１に記載のデバイス。
［Ｃ３３］
前記シンタックス要素がｓｐｌｉｔ＿ｃｕ＿ｆｌａｇシンタックス要素を備える、Ｃ２０に記載のデバイス。
［Ｃ３４］
前記現在ＣＵに関連するＣＴＵが、６４×６４よりも大きいサイズを有する、Ｃ２０に記載のデバイス。
［Ｃ３５］
前記ビデオコーダが、
少なくとも４つの可能なコンテキストのグループから前記コンテキストを選択することを行うようにさらに構成された、Ｃ３４に記載のデバイス。
［Ｃ３６］
少なくとも４つの可能なコンテキストの前記グループが６つの可能なコンテキストを備える、Ｃ３５に記載のデバイス。
［Ｃ３７］
前記ビデオコーダが、前記現在ＣＵに対する１つまたは複数の空間的に隣接するＣＵのＣＵ深度に関係する情報に基づいて、前記シンタックス要素のための前記コンテキストを選択するように構成された、Ｃ２０に記載のデバイス。
［Ｃ３８］
前記ビデオコーダが、前記現在ＣＵに対する１つまたは複数の時間的に隣接するＣＵのＣＵ深度に関係する情報に基づいて、前記シンタックス要素のための前記コンテキストを選択するように構成された、Ｃ２０に記載のデバイス。
［Ｃ３９］
ビデオデータをコーディングするための装置であって、前記装置は、
エントロピーコーディングプロセスの一部として、現在コーディングユニット（ＣＵ）に対する１つまたは複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、前記現在ＣＵに関連するシンタックス要素のためのコンテキストを選択するための手段と、ここにおいて、前記シンタックス要素は、前記現在ＣＵがサブＣＵにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングするための手段と
を備える、装置。
［Ｃ４０］
実行されたとき、１つまたは複数のプロセッサに、
エントロピーコーディングプロセスの一部として、現在コーディングユニット（ＣＵ）に対する１つまたは複数の隣接ＣＵのＣＵ深度に関係する情報に基づいて、前記現在ＣＵに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記シンタックス要素は、前記現在ＣＵがサブＣＵにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体。
【図１】
0006462886.tif 000005
【図２】
0006462886.tif 000006
【図３】
0006462886.tif 000007
【図４】
0006462886.tif 000008
【図５】
0006462886.tif 000009
【図６】
0006462886.tif 000010