(57)【要約】  ビデオデータを復号するための例示的なデバイスが、ビデオデータを記憶するように構成されたメモリと、デジタル論理回路を使用して実装される１つまたは複数のプロセッサとを含み、プロセッサは、隣接変換係数の１つまたは複数の符号値に基づいてビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定することと、コンテキストモデルを使用して、変換係数の符号についての値をエントロピー復号することとを行うように構成される。【選択図】図１１
2018537908.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
隣接変換係数の１つまたは複数の符号値に基づいてビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定することと、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー復号することと
を備える、方法。
【請求項２】
テンプレートに従って前記１つまたは複数の隣接変換係数を決定することをさらに備える、
請求項１に記載の方法。
【請求項３】
前記テンプレートは、前記隣接変換係数を、前記変換係数の右の２つの変換係数と、前記変換係数の下の２つの変換係数と、前記変換係数の右下の変換係数とを含むものとして定義する、
請求項２に記載の方法。
【請求項４】
前記テンプレートに従う前記隣接変換係数の大きさに基づいて前記変換係数の大きさをエントロピー復号するための前記コンテキストモデルを決定することをさらに備える、
請求項２に記載の方法。
【請求項５】
スキャン順序、予測モード、変換が可能にされるか否か、変換行列、変換サイズ、またはコーディンググループサイズのうちの１つまたは複数に基づいて、前記テンプレートを選択することをさらに備える、
請求項２に記載の方法。
【請求項６】
前記コンテキストモデルを決定することは、前記隣接変換係数の前記符号についての前記値の和を表す関数に基づいて前記コンテキストモデルを決定することを備える、
請求項２に記載の方法。
【請求項７】
前記関数は、
【数１】
2018537908.tif 000024
を備え、（ｎ＋１）は、隣接係数の総数を表し、ｘiは、ｉ番目の隣接変換係数を表す、
請求項６に記載の方法。
【請求項８】
前記関数は、
【数２】
2018537908.tif 000025
を備え、ａｂｓ（ｎ）は、ｎの絶対値を返し、（ｎ＋１）は、隣接係数の総数を表し、ｘiは、ｉ番目の隣接変換係数を表す、
請求項６に記載の方法。
【請求項９】
前記コンテキストモデルを決定することは、前記変換係数の大きさ、前記変換係数を含む変換ユニットのサイズ、変換がスキップされるかどうか、変換行列、または前記ブロックのための予測モードのうちの少なくとも１つに基づいて、前記コンテキストモデルを決定することを備える、
請求項１に記載の方法。
【請求項１０】
前記変換係数の前記符号、および前記関数
【数３】
2018537908.tif 000026
の値のうちの少なくとも１つに基づいて前記変換係数の前記符号についての前記値を決定することをさらに備え、（ｎ＋１）は、隣接係数の総数を表し、ｘiは、ｉ番目の隣接変換係数を表す、
請求項６に記載の方法。
【請求項１１】
前記変換係数は、それについての前記符号が符号データ隠蔽（ＳＤＨ）動作によって隠蔽されない変換係数を備える、
請求項１に記載の方法。
【請求項１２】
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記コンテキストモデルを決定することは、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定することを備える、
請求項１に記載の方法。
【請求項１３】
前記変換係数は、第１の変換係数を備え、前記方法は、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定することをさらに備える、
請求項１に記載の方法。
【請求項１４】
前記しきい値は、２に等しい、
請求項１３に記載の方法。
【請求項１５】
前記しきい値よりも小さい大きさを有する、順序の第１の非０変換係数についての符号値を復号することと、他の変換係数についての符号値を隠蔽することとをさらに備える、
請求項１３に記載の方法。
【請求項１６】
ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータを記憶するように構成されたメモリと、
デジタル論理回路を使用して実装される１つまたは複数のプロセッサと
を備え、前記プロセッサは、
隣接変換係数の１つまたは複数の符号値に基づいて前記ビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定することと、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー復号することと
を行うように構成された、デバイス。
【請求項１７】
前記プロセッサは、テンプレートに従って前記１つまたは複数の隣接変換係数を決定するように構成された、請求項１６に記載のデバイス。
【請求項１８】
前記テンプレートは、前記隣接変換係数を、前記変換係数の右の２つの変換係数と、前記変換係数の下の２つの変換係数と、前記変換係数の右下の変換係数とを含むものとして定義する、
請求項１７に記載のデバイス。
【請求項１９】
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記プロセッサは、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定するように構成された、
請求項１６に記載のデバイス。
【請求項２０】
前記変換係数は、それについての前記符号が符号データ隠蔽（ＳＤＨ）動作によって隠蔽されない変換係数を備える、
請求項１６に記載のデバイス。
【請求項２１】
前記変換係数は、第１の変換係数を備え、前記プロセッサは、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定するようにさらに構成された、
請求項１６に記載のデバイス。
【請求項２２】
ビデオデータを符号化するためのデバイスであって、
隣接変換係数の１つまたは複数の符号値に基づいてビデオデータのブロックの変換係数の符号についての値をエントロピー符号化するためのコンテキストモデルを決定するための手段と、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー符号化するための手段と
を備える、デバイス。
【請求項２３】
テンプレートに従って前記１つまたは複数の隣接変換係数を決定するための手段をさらに備える、
請求項２２に記載のデバイス。
【請求項２４】
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定するための手段をさらに備える、
請求項２２に記載のデバイス。
【請求項２５】
前記変換係数は、第１の変換係数を備え、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定するための手段をさらに備える、
請求項２２に記載のデバイス。
【請求項２６】
実行されたとき、プロセッサに、
隣接変換係数の１つまたは複数の符号値に基づいて前記ビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定することと、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー復号することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項２７】
前記プロセッサに、テンプレートに従って前記１つまたは複数の隣接変換係数を決定させる命令をさらに備える、請求項２６に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記プロセッサに、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定させる命令をさらに備える、
請求項２６に記載のコンピュータ可読記憶媒体。
【請求項２９】
前記変換係数は、それについての前記符号が符号データ隠蔽（ＳＤＨ）動作によって隠蔽されない変換係数を備える、
請求項２６に記載のコンピュータ可読記憶媒体。
【請求項３０】
前記変換係数は、第１の変換係数を備え、前記プロセッサに、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定させる命令をさらに備える、
請求項２６に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、２０１５年１１月１３日に出願された米国仮出願第６２／２５５，２０６号の利益を主張する。
【技術分野】
【０００２】
[0002]本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、ＩＴＵ−Ｔ  Ｈ．２６５  高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間（イントラピクチャ）予測および／または時間（インターピクチャ）予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス（たとえば、ビデオピクチャまたはビデオピクチャの一部分）が、コーディングツリーユニット（ＣＴＵ：coding tree unit）、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることもある、ビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間予測または時間予測は、コーディングされるべきブロックのための予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に２次元アレイで構成される量子化された変換係数は、変換係数の１次元ベクトルを生成するためにスキャンされ得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]概して、本開示は、ビデオデータの符号情報をコーディングするための技法について説明する。ビデオデータのブロックをコーディングするために、ビデオコーダが予測情報と残差情報とをコーディングする。予測情報は、ブロックがそれで予測されるべきである様式を表し、残差情報は、ブロックの元のバージョンとブロックのための予測との間のピクセルごとの差分を表す残差ブロックを含む。残差情報は、量子化された変換係数の形態でコーディングされ、ここで、残差ブロックは、周波数領域など、変換領域において変換係数のブロックを形成するために変換される。いくつかの例では、残差ブロックは、たとえば、残差情報が空間領域中にある場合、変換なしに直接量子化される。（変換係数の絶対値を表す）変換係数の大きさまたはレベル、および変換係数の符号（変換係数が正であるのか負であるのか）など、各変換係数の別個の要素が、個々にコーディングされる。本開示は、単独でまたは任意の組合せで一緒に使用され得る、符号情報をコーディングするための様々な技法について説明する。
【０００７】
[0007]一例では、ビデオデータを復号する方法が、隣接変換係数の１つまたは複数の符号値に基づいてビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定することと、コンテキストモデルを使用して、変換係数の符号についての値をエントロピー復号することとを含む。
【０００８】
[0008]別の例では、ビデオデータを復号するためのデバイスが、ビデオデータを記憶するように構成されたメモリと、デジタル論理回路を使用して実装された１つまたは複数のプロセッサとを含み、プロセッサは、隣接変換係数の１つまたは複数の符号値に基づいてビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定することと、コンテキストモデルを使用して、変換係数の符号についての値をエントロピー復号することとを行うように構成される。
【０００９】
[0009]別の例では、ビデオデータを符号化するためのデバイスが、隣接変換係数の１つまたは複数の符号値に基づいてビデオデータのブロックの変換係数の符号についての値をエントロピー符号化するためのコンテキストモデルを決定するための手段と、コンテキストモデルを使用して、変換係数の符号についての値をエントロピー符号化するための手段とを含む。
【００１０】
[0010]別の例では、コンピュータ可読記憶媒体が、実行されたとき、プロセッサに、隣接変換係数の１つまたは複数の符号値に基づいてテンプレートに従って１つまたは複数の隣接変換係数を決定することと、変換係数に対する隣接変換係数の符号についての値に基づいてコンテキストモデルを決定することとを行わせる命令を記憶している。
【００１１】
[0011]１つまたは複数の例の詳細が添付の図面および以下の説明に記載される。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】ビデオデータの符号情報をコーディングするための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】ビデオデータの符号情報をコーディングするための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】ビデオデータの符号情報をコーディングするための技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】文字ａ〜ｊで標示された１０個のＴＵを含むＣＵのための例示的な残差４分木と、対応するブロック区分とを示す概念図。
【図５】高効率ビデオコーディング（ＨＥＶＣ）におけるコーディンググループに基づく係数スキャンを示す概念図。
【図６】コンテキストモデリングのために使用され得るローカルテンプレートの一例を示す概念図。
【図７】符号データ隠蔽（ＳＤＨ：sign data hiding）中に使用され得る例示的なローカルテンプレートを示す概念図。
【図８】現在ブロックを符号化するための例示的な方法を示すフローチャート。
【図９】本開示の技法による、符号情報をエントロピー符号化するための例示的な方法を示すフローチャート。
【図１０】ビデオデータの現在ブロックを復号するための例示的な方法を示すフローチャート。
【図１１】本開示の技法による、符号情報をエントロピー復号するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１３】
[0023]本開示は、特に係数レベルコーディングのために、ブロックベースのハイブリッドビデオコーディングにおけるエントロピーコーディングに関係する技法について説明する。これらの技法は、ＨＥＶＣ（高効率ビデオコーディング）など、既存のビデオコーデックのいずれかに適用され得るか、または、任意の将来のビデオコーディング規格における効率的なコーディングツールであり得る。
【００１４】
[0024]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびそれのスケーラブルビデオコーディング（ＳＶＣ）拡張とマルチビュービデオコーディング（ＭＶＣ）拡張とを含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含む。さらに、ビデオコーディング規格、すなわち、それの範囲拡張、マルチビュー拡張（ＭＶ−ＨＥＶＣ）およびスケーラブル拡張（ＳＨＶＣ）を含む、高効率ビデオコーディング（ＨＥＶＣ）またはＩＴＵ−Ｔ  Ｈ．２６５が、ジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ）ならびにＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのジョイントコラボレーションチームオン３Ｄビデオコーディング拡張開発（ＪＣＴ−３Ｖ）によって開発された。以下、本明細書ではＨＥＶＣ仕様と呼ばれる、ＨＥＶＣ仕様のバージョンが、phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。ＨＥＶＣ仕様は、国際電気通信連合、「SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services - Coding of moving video, High efficiency video coding」、ＩＴＵ−Ｔ  Ｈ．２６５、２０１５年４月として公開されている。
【００１５】
[0025]ＨＥＶＣでは、ビデオデータの変換ユニットの各非０変換係数の符号は、バイパスモードで第４のスキャンパスにおいてコーディングされる。変換ユニットの各コーディンググループ（ＣＧ）について、および基準に応じて、（逆方向スキャン順序における）最後非０係数の符号を符号化することは、符号データ隠蔽（ＳＤＨ）を使用するとき、単に省略される。代わりに、符号値（正について０または負について１）は、偶数が「＋」に対応し、奇数が「−」に対応するという、あらかじめ定義された規約を使用して、ＳCGによって示される、ＣＧの大きさの和のパリティ中に埋め込まれる。すなわち、省略された符号値は（ＳCG％２）から導出され得、ここにおいて、「％」はモジュロ演算を表す。ＳＤＨを使用するための基準は、ＣＧの第１の非０変換係数と最後非０変換係数との間のスキャン順序における距離である。この距離が４に等しいかまたはそれよりも大きい場合、ＳＤＨが使用される。４のこの値は、それがＨＥＶＣテストシーケンスに対して最も大きい利得を与えるので選定された。エンコーダ側において、以下の場合のうちの１つが起こる場合、変換係数のうちの１つが変更されるべきである。  
・ＣＧの大きさの和が奇数であり、（逆方向スキャン順序における）最後非０係数が正である  
・ＣＧの大きさの和が偶数であり、（逆方向スキャン順序における）最後非０係数が負である
【００１６】
[0026]いくつかの事例では、符号フラグがコーディングされる必要があるとき、ＨＥＶＣに従って、バイパスコーディングモードが使用される。すなわち、（それが負であるのか正であるのかに応じて、０または１のいずれかに設定される）符号フラグの確率は、０．５に等しいと仮定される。したがって、ＨＥＶＣおよびそれの拡張において符号フラグをコーディングするために、固定長コーディング（バイパスコーディング）が適用される。しかしながら、本開示は、現在符号情報と隣接係数の符号情報との間に何らかの相関関係が実際あり得ることを認識している。
【００１７】
[0027]さらに、ＳＤＨにおいて、ビデオコーダは、省略された符号値を導出するために、（ＳCGによって示される）コーディンググループ中の変換係数の和のパリティ、すなわち、（ＳCG％２）を常にチェックし、それは、コーディンググループ内の変換係数のローカル統計値を考慮することなしに準最適であり得る。
【００１８】
[0028]本開示は、ビデオデータの符号情報のコーディングに関するこれらおよび他の問題を克服し得る、単独でまたは任意の組合せで実行され得る様々な技法について説明する。
【００１９】
[0029]図１は、ビデオデータの符号情報をコーディングするための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されているように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを与えるソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介して宛先デバイス１４にビデオデータを与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。いくつかの場合には、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００２０】
[0030]宛先デバイス１４は、コンピュータ可読媒体１６を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が、符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００２１】
[0031]いくつかの例では、符号化データは、出力インターフェース２２からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介してストレージデバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００２２】
[0032]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２３】
[0033]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、ビデオデータの符号情報をコーディングするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなど、外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００２４】
[0034]図１の図示されたシステム１０は一例にすぎない。ビデオデータの符号情報をコーディングするための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４への送信のためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのための、ビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００２５】
[0035]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。いくつかの場合には、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００２６】
[0036]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、たとえば、ネットワーク送信を介して、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを宛先デバイス１４に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
【００２７】
[0037]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロックおよび他のコード化ユニットの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号ビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００２８】
[0038]ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｈ．２６５とも呼ばれる、高効率ビデオコーディング（ＨＥＶＣ）規格など、ビデオコーディング規格に従って動作し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００２９】
[0039]ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダまたはデコーダデジタル論理回路（たとえば、固定関数またはプログラマブルデジタル論理回路）のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００３０】
[0040]概して、ＩＴＵ−Ｔ  Ｈ．２６５に従って、ビデオピクチャが、ルーマサンプルとクロマサンプルの両方を含み得る、コーディングツリーユニット（ＣＴＵ）（または最大コーディングユニット（ＬＣＵ：largest coding unit））のシーケンスに分割され得る。ＣＴＵは、スライス中の最大コーディングユニットである。代替的に、ＣＴＵはモノクロームデータ（すなわち、ルーマサンプルのみ）を含み得る。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるＣＴＵのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するＣＴＵを含む。ビデオピクチャは、１つまたは複数のスライスに区分され得る。各ＣＴＵは、４分木に従ってコーディングユニット（ＣＵ）にスプリットされ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＣＴＵに対応する。すなわち、ＣＴＵは、それのノードがコーディングユニットである４分木を含む。ＣＵが４つのサブＣＵにスプリットされた場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。
【００３１】
[0041]ＨＥＶＣに従って、（技術的に、８×８ＣＴＵサイズがサポートされ得るが）ＣＴＵのサイズは、ＨＥＶＣメインプロファイルにおいて１６×１６から６４×６４に及び得る。コーディングユニット（ＣＵ）は、ＣＴＵの同じサイズであり得るか、またはより小さく、たとえば、８×８になり得る。各コーディングユニットは、１つのモードを用いてコーディングされる。ＣＵがインターコーディングされるとき、ＣＵは、２つまたは４つの予測ユニット（ＰＵ）にさらに区分され得るか、あるいは、さらなる区分が適用されないとき、ただ１つのＰＵになり得る。１つのＣＵ中に２つのＰＵが存在するとき、２つのＰＵは、１／２サイズの長方形、あるいはＣＵの１／４または３／４サイズをもつ２つの長方形サイズであり得る。ＣＵがインターコーディングされるとき、各ＰＵについて動き情報の１つのセットが存在する。さらに、各ＰＵは、動き情報のセットを導出するために固有のインター予測モードを用いてコーディングされる。
【００３２】
[0042]４分木データ構造の各ノードは、対応するＣＵのためのシンタックスデータを与え得る。たとえば、４分木中のノードは、そのノードに対応するＣＵがサブＣＵにスプリットされるかどうかを示すスプリットフラグを含み得る。ＣＵのためのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵにスプリットされるかどうかに依存し得る。ＣＵがさらにスプリットされない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的スプリッティングが存在しない場合でも、リーフＣＵの４つのサブＣＵはリーフＣＵとも呼ばれる。たとえば、１６×１６サイズのＣＵがさらにスプリットされない場合、その１６×１６ＣＵが決してスプリットされなくても、４つの８×８サブＣＵはリーフＣＵとも呼ばれる。
【００３３】
[0043]ＣＵは、ＣＵがサイズ差異を有しないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ＣＴＵは、（サブＣＵとも呼ばれる）４つの子ノードにスプリットされ得、各子ノードは、今度は親ノードとなり、別の４つの子ノードにスプリットされ得る。４分木のリーフノードと呼ばれる、最後のスプリットされていない子ノードは、リーフＣＵとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大ＣＵ深さと呼ばれる、ＣＴＵがスプリットされ得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示では、ＨＥＶＣのコンテキストにおけるＣＵ、予測ユニット（ＰＵ）、または変換ユニット（ＴＵ）、あるいは他の規格のコンテキストにおける同様のデータ構造（たとえば、Ｈ．２６４／ＡＶＣにおけるマクロブロックおよびそれのサブブロック）のいずれかを指すために「ブロック」という用語を使用する。
【００３４】
[0044]ＣＵは、コーディングノードと、コーディングノードに関連する予測ユニット（ＰＵ）および変換ユニット（ＴＵ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、概して形状が正方形である。ＣＵのサイズは、８×８ピクセルから最大サイズ、たとえば、６４×６４以上のピクセルをもつＣＴＵのサイズに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含んでいることがある。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非正方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が正方形または非正方形（たとえば、矩形）であり得る。
【００３５】
[0045]ＨＥＶＣ規格は、異なるＣＵについて異なり得る、ＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＣＴＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、これは常にそうであるとは限らない。ＴＵは、一般に、ＰＵと同じサイズであるかまたはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、変換係数を生成するために変換され得、その変換係数は量子化され得る。
【００３６】
[0046]残差ブロックの様々な特性を適応させるために、ＨＥＶＣでは残差４分木（ＲＱＴ）を使用する変換コーディング構造が適用され、これは、www.hhi.fraunhofer.de/fields-of-competence/image-processing/researchgroups/image-video-coding/hevc-high-efficiency-video-coding/transform-coding-using-the-residual-quadtree-rqt.htmlにおいて手短に記載されている。
【００３７】
[0047]各ピクチャが、特定のタイルまたはスライスについてラスタスキャン順序でコーディングされるコーディングツリーユニット（ＣＴＵ）に分割される。ＣＴＵは、正方形ブロックであり、４分木、すなわち、コーディングツリーのルートを表す。ＣＴＵサイズは８×８から６４×６４ルーマサンプルに及び得るが、一般に６４×６４が使用される。各ＣＴＵは、さらに、コーディングユニット（ＣＵ）と呼ばれるより小さい正方形ブロックにスプリットされ得る。ＣＴＵがＣＵに再帰的にスプリットされた後、各ＣＵは予測ユニット（ＰＵ）および変換ユニット（ＴＵ）にさらに分割される。ＴＵへのＣＵの区分は、４分木手法に基づいて再帰的に行われ、したがって、各ＣＵの残差信号は、ツリー構造、すなわち、残差４分木（ＲＱＴ）によってコーディングされる。ＲＱＴは、４×４から３２×３２ルーマサンプルまでのＴＵサイズを可能にする。図４は、ＣＵが、文字ａ〜ｊで標示された１０個のＴＵを含む一例と、対応するブロック区分とを示す。
【００３８】
[0048]ＲＱＴの各ノードは、実際は変換ユニット（ＴＵ）である。個々のＴＵは、深度優先トラバーサル（depth-first traversal）による再帰的Ｚスキャンに従う、アルファベット順として図に示された深度優先ツリートラバーサル順序で処理される。４分木手法は、残差信号の変動する空間周波数特性に対する変換の適応を可能にする。一般に、より大きい空間サポートを有するより大きい変換ブロックサイズは、より良い周波数解像度を与える。しかしながら、より小さい空間サポートを有するより小さい変換ブロックサイズは、より良い空間解像度を与える。その２つ、すなわち、空間解像度と周波数解像度との間のトレードオフは、たとえばレートひずみ最適化技法に基づいて、エンコーダモード決定によって選定される。レートひずみ最適化技法は、各コーディングモード（たとえば、特定のＲＱＴスプリッティング構造）についてコーディングビットと再構成ひずみとの加重和、すなわち、レートひずみコストを計算し、最小レートひずみコストをもつコーディングモードを最良のモードとして選択する。
【００３９】
[0049]３つのパラメータ、すなわち、ツリーの最大深度、最小許容変換サイズおよび最大許容変換サイズがＲＱＴにおいて定義される。ＨＥＶＣでは、最小および最大変換サイズは、前の段落で述べられたサポートされるブロック変換に対応する、４×４から３２×３２サンプルまでの範囲内で変動することがある。ＲＱＴの最大許容深度はＴＵの数を制限する。０に等しい最大深度は、各含まれたＴＵが最大許容変換サイズ、たとえば、３２×３２に達した場合、ＣＴＵがこれ以上スプリットされ得ないことを意味する。ＨＥＶＣでは、より大きいサイズの変換、たとえば、６４×６４変換は、主に、比較的より小さい解像度のビデオに対する比較的高い複雑さを考慮して、それの限られた利益により、採用されない。
【００４０】
[0050]リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分に対応する空間エリアを表し、そのＰＵの参照サンプルを取り出しおよび／または生成するためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵのためのデータは、ＰＵに対応するＴＵのためのイントラ予測モードを記述するデータを含み得る残差４分木（ＲＱＴ）中に含まれ得る。ＲＱＴは変換ツリーと呼ばれることもある。いくつかの例では、イントラ予測モードは、ＲＱＴの代わりに、リーフＣＵシンタックス中でシグナリングされ得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための、１つまたは複数の動きベクトルなど、動き情報を定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルのための参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００４１】
[0051]１つまたは複数のＰＵを有するリーフＣＵはまた、１つまたは複数の変換ユニット（ＴＵ）を含み得る。変換ユニットは、上記で説明されたように、（ＴＵ４分木構造とも呼ばれる）ＲＱＴを使用して指定され得る。たとえば、スプリットフラグは、リーフＣＵが４つの変換ユニットにスプリットされるかどうかを示し得る。次いで、各変換ユニットは、さらなるサブＴＵにさらにスプリットされ得る。ＴＵがさらにスプリットされないとき、そのＴＵはリーフＴＵと呼ばれることがある。概して、イントラコーディングでは、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。すなわち、概して、リーフＣＵのすべてのＴＵについての予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングでは、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵについての残差値をＴＵに対応するＣＵの一部と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに限定されるとは限らない。したがって、ＴＵは、ＰＵよりも大きいことも小さいこともある。イントラコーディングでは、ＰＵは、同じＣＵのための対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００４２】
[0052]その上、リーフＣＵのＴＵはまた、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造に関連し得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してＣＴＵ（またはＬＣＵ）に対応する。スプリットされないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、別段に明記されていない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。
【００４３】
[0053]ビデオシーケンスは、一般に、ランダムアクセスポイント（ＲＡＰ）ピクチャで開始する、一連のビデオフレームまたはピクチャを含む。ビデオシーケンスは、ビデオシーケンスのシーケンスパラメータセット（ＳＰＳ）その特性中のシンタックスデータを含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは変動サイズを有し得、指定されたコーディング規格に応じてサイズが異なり得る。
【００４４】
[0054]一例として、予測は様々なサイズのＰＵについて実行され得る。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、イントラ予測が、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズに対して実行され得、インター予測が、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズに対して実行され得る。インター予測のための非対称区分は、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズについても実行され得る。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とそれに続く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００４５】
[0055]本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ここで、Ｎは非負整数値を表す。ブロック中のピクセルは行および列に配列され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ここで、Ｍは必ずしもＮに等しいとは限らない。
【００４６】
[0056]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングに続いて、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを表す量子化された変換係数を含むようにＴＵを形成し得る。すなわち、ビデオエンコーダ２０は、（残差ブロックの形態の）残差データを計算し、変換係数のブロックを生成するために残差ブロックを変換し、次いで、量子化された変換係数を形成するために変換係数を量子化し得る。ビデオエンコーダ２０は、量子化された変換係数を含むＴＵ、ならびに他のシンタックス情報（たとえば、ＴＵのためのスプリッティング情報）を形成し得る。
【００４７】
[0057]上述のように、変換係数を生成するための任意の変換に続いて、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ここで、ｎはｍよりも大きい。
【００４８】
[0058]量子化に続いて、ビデオエンコーダは、変換係数をスキャンし、量子化された変換係数を含む２次元行列から１次元ベクトルを生成し得る。スキャンは、アレイの前部により高いエネルギー（したがって、より低い周波数）係数を配置し、アレイの後部により低いエネルギー（したがって、より高い周波数）係数を配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化された変換係数をスキャンするためにあらかじめ定義されたスキャン順序を利用し得る。他の例では、ビデオエンコーダ２０は適応型スキャンを実行し得る。１次元ベクトルを形成するために、量子化された変換係数をスキャンした後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００４９】
[0059]ＣＡＢＡＣは、最初にＨ．２６４／ＡＶＣにおいて導入され、現在、最も新しい規格、高効率ビデオコーディング（ＨＥＶＣ）において使用されるエントロピーコーディングの方法である。ＣＡＢＡＣは、３つの主要な機能、すなわち、２値化、コンテキストモデリング、および算術コーディングを伴う。２値化は、ビンストリングと呼ばれるバイナリシンボル（ビン）にシンタックス要素をマッピングする。コンテキストモデリングは、ビンの確率を推定する。最終的に、バイナリ算術コーダは、推定された確率に基づいてビンをビットに圧縮する。
【００５０】
[0060]ＨＥＶＣでは、単項（Ｕ）、短縮単項（ＴＵ：truncated unary）、ｋ次指数ゴロム（ＥＧｋ：kth-order Exp-Golomb）、および固定長（ＦＬ）を含む、いくつかの異なる２値化プロセスが使用される。詳細は、ＨＥＶＣ仕様に記載されている。
【００５１】
[0061]コンテキストモデリングは、高いコーディング効率を達成するのに必要である正確な確率推定を与える。したがって、それは極めて適応型である。異なるコンテキストモデルが異なるビンのために使用され得、ここで、コンテキストモデルの確率は、前にコーディングされたビンの値に基づいて更新される。同様の分布をもつビンは、しばしば同じコンテキストモデルを共有する。各ビンのためのコンテキストモデルは、シンタックス要素のタイプ、シンタックス要素中のビン位置（ｂｉｎＩｄｘ）、ルーマ／クロマ、隣接情報などに基づいて選択され得る。
【００５２】
[0062]コンテキスト切替えが、各ビンコーディングの後に生じる。確率モデルは、７ビットエントリ（確率状態のための６ビットおよび優勢シンボル（ＭＰＳ：most probable symbol）のための１ビット）としてコンテキストメモリに記憶され、コンテキスト選択論理によって算出されたコンテキストインデックスを使用してアドレス指定される。
【００５３】
[0063]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣ中のコードワードは、比較的より短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボル（less probable symbol）に対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用することに勝るビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００５４】
[0064]概して、ビデオデコーダ３０は、符号化データを復号するためにビデオエンコーダ２０によって実行されるものと、逆ではあるが、実質的に同様のプロセスを実行する。たとえば、ビデオデコーダ３０は、残差ブロックを再生するために、受信されたＴＵの係数を逆量子化（inverse quantize）および逆変換する。ビデオデコーダ３０は、予測されたブロックを形成するために、シグナリングされた予測モード（イントラ予測またはインター予測）を使用する。次いで、ビデオデコーダ３０は、元のブロックを再生するために、（ピクセルごとに）予測されたブロックと残差ブロックとを組み合わせる。ブロック境界に沿って視覚的アーティファクトを低減するためにデブロッキングプロセスを実行することなど、追加の処理が実行され得る。さらに、ビデオデコーダ３０は、ビデオエンコーダ２０のＣＡＢＡＣ符号化プロセスとは逆ではあるが、それと実質的に同様の様式でＣＡＢＡＣを使用してシンタックス要素を復号し得る。
【００５５】
[0065]ビデオエンコーダ２０は、さらに、ブロックベースシンタックスデータ、ピクチャベースシンタックスデータ、およびシーケンスベースシンタックスデータなど、シンタックスデータを、たとえば、ピクチャヘッダ、ブロックヘッダ、スライスヘッダ、あるいはシーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、またはビデオパラメータセット（ＶＰＳ）など、他のシンタックスデータ中でビデオデコーダ３０に送り得る。
【００５６】
[0066]ＨＥＶＣでは、ＴＵサイズにかかわらず、変換ユニットの残差は、各々がＴＵの４×４ブロックの係数を含んでいる非重複係数グループ（ＣＧ：coefficient group）を用いてコーディングされる。たとえば、３２×３２ＴＵは全体として６４個のＣＧを有し、１６×１６ＴＵは全体として１６個のＣＧを有する。ＴＵ内のＣＧは、あるあらかじめ定義されたスキャン順序に従ってコーディングされる。各ＣＧをコーディングするとき、現在ＣＧ内の係数は、４×４ブロックについて、あるあらかじめ定義されたスキャン順序に従ってスキャンされ、コーディングされる。図５は、４つのＣＧを含んでいる８×８ＴＵについての係数スキャンを示す。シンタックス要素テーブルは以下のように定義される。
【００５７】
【表１−１】
2018537908.tif 000003
【００５８】
【表１−２】
2018537908.tif 000004
【００５９】
【表１−３】
2018537908.tif 000005
【００６０】
[0067]各色成分について、現在変換ユニットが少なくとも１つの非０係数を有するかどうかを示すために、１つのフラグが最初にシグナリングされ得る。少なくとも１つの非０係数がある場合、変換ユニット中の係数スキャン順序における最後有意係数の位置が、変換ユニットの左上隅に対する座標を用いて明示的にコーディングされる。座標の垂直または水平成分は、それのプレフィックスおよびサフィックスによって表され、ここにおいて、プレフィックスは短縮ライス（ＴＲ：truncated rice）を用いて２値化され、サフィックスは固定長を用いて２値化される。
【００６１】
[0068]上記の表に示されているシンタックス要素についてのセマンティクスは、以下のように定義され得る。
【００６２】
[0069]ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘは、変換ブロック内のスキャン順序における最後有意係数の列位置のプレフィックスを指定する。ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘの値は、両端値を含む、０〜（ｌｏｇ２ＴｒａｆｏＳｉｚｅ＜＜１）−１の範囲内にあるものとする。
【００６３】
[0070]ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘは、変換ブロック内のスキャン順序における最後有意係数の行位置のプレフィックスを指定する。ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘの値は、両端値を含む、０〜（ｌｏｇ２ＴｒａｆｏＳｉｚｅ＜＜１）−１の範囲内にあるものとする。
【００６４】
[0071]ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘは、変換ブロック内のスキャン順序における最後有意係数の列位置のサフィックスを指定する。ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘの値は、両端値を含む、０〜（１＜＜（（ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘ＞＞１）−１））−１の範囲内にあるものとする。
【００６５】
[0072]変換ブロックＬａｓｔＳｉｇｎｉｆｉｃａｎｔＣｏｅｆｆＸ内のスキャン順序における最後有意係数の列位置は、以下のように導出され得る。
【００６６】
[0073]ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘが存在しない場合、以下が適用される。
【００６７】
【数１】
2018537908.tif 000006
【００６８】
[0074]そうでない場合（ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘが存在する）、以下が適用される。
【００６９】
【数２】
2018537908.tif 000007
【００７０】
[0075]ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘは、変換ブロック内のスキャン順序における最後有意係数の行位置のサフィックスを指定する。ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘの値は、両端値を含む、０〜（１＜＜（（ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘ＞＞１）−１））−１の範囲内にあるものとする。
【００７１】
[0076]変換ブロックＬａｓｔＳｉｇｎｉｆｉｃａｎｔＣｏｅｆｆＹ内のスキャン順序における最後有意係数の行位置は、以下のように導出される。
【００７２】
[0077]ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘが存在しない場合、以下が適用される。
【００７３】
【数３】
2018537908.tif 000008
【００７４】
[0078]そうでない場合（ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘが存在する）、以下が適用される。
【００７５】
【数４】
2018537908.tif 000009
【００７６】
ｓｃａｎＩｄｘが２に等しいとき、座標は以下のようにスワップされる。
【００７７】
【数５】
2018537908.tif 000010
【００７８】
[0079]コーディングされたそのような位置、またＣＧの係数スキャン順序とともに、（スキャン順序における）最後ＣＧを除くＣＧのために、それが非０係数を含んでいるかどうかを示す１つのフラグがさらにシグナリングされる。
【００７９】
[0080]１つのＣＧが非０係数を有するかどうか、すなわち、ＣＧフラグ（ＨＥＶＣ仕様におけるｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇ）をコーディングするとき、隣接ＣＧの情報が、コンテキストを構築するために利用される。より具体的に言えば、ＣＧフラグをコーディングするためのコンテキスト選択は次のように定義される。
【００８０】
[0081]（右ＣＧ利用可能＆＆右ＣＧのフラグが１に等しい）｜｜（下ＣＧ利用可能＆＆下ＣＧのフラグが１に等しい）
[0082]ここで、右ＣＧおよび下ＣＧは、現在ＣＧに近接する２つの隣接ＣＧである。コンテキストインデックス増分の導出の詳細は、ＨＥＶＣ仕様の９．３．４．２．４において見つけられ得る。
【００８１】
[0083]非０係数を含んでいることがあるＣＧについて、有意フラグ（ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ）、（ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇを含む）係数の絶対値および符号情報（ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ）が、あらかじめ定義された４×４係数スキャン順序に従って各係数についてさらにコーディングされ得る。変換係数レベルのコーディングは複数のスキャンパスに分離される。
【００８２】
[0084]第１のビンコーディングの第１のパスにおいて、特定の変換係数が０に等しいことが導出され得ることを除いて、１つのＣＧ内の各位置における変換係数のすべての第１のビン（またはビンインデックス０、ビン０）がコーディングされる。変数ｓｉｇＣｔｘは、現在ＴＵの左上位置に対する現在ロケーションと、色成分インデックスｃＩｄｘと、変換ブロックサイズと、シンタックス要素ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇの前に復号されたビンとに依存する。異なるルールがＴＵサイズに応じて適用され得る。コンテキストインデックス増分の選択の詳細は、ＨＥＶＣ仕様の９．３．４．２．５において定義されている。
【００８３】
[0085]ＨＥＶＣでは、すべてのビン０（第１のパス中にコーディングされる第１のビン）は、ＨＥＶＣにおける最後の変換係数に関連するビン０を除いて、第１のコーディングパス中にコーディングされる。ＪＥＭでは、ビン０についてのコンテキストインデックス計算は以下のように定義され得る。
【００８４】
【数６】
2018537908.tif 000011
【００８５】
ただし、以下の通りである。
【００８６】
【数７】
2018537908.tif 000012
【００８７】
[0086]ｃ0の範囲に基づいて、ルーマコンテキストの１つのセットは、ＮｕｍｂｅｒＬｕｍａＣｔｘＯｎｅｓｅｔ、すなわち、１８個のコンテキストモデルを含む。ルーマビン０をコーディングするための（「ｗ」によって示される変換幅をもつ）異なる変換サイズが、それ自体のセットを選択しなければならない。さらに、コーディング性能をさらに改善するためにクロマおよびルーマコンテキストが分離される。ＹＣｂＣｒ入力の場合、３つの色成分、すなわち、Ｙ、ＣｂおよびＣｒは、それぞれ、０、１、および２に等しい成分インデックスを用いて表される。
【００８８】
[0087]第２のビンコーディングの第２のパスでは、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇｓのコーディングが適用される。コンテキストモデリングは、色成分インデックスと、現在サブブロックスキャンインデックスと、現在サブブロック内の現在係数スキャンインデックスとに依存する。コンテキストインデックス増分の選択の詳細は、ＨＥＶＣ仕様のセクション９．３．４．２．６において定義されている。
【００８９】
[0088]第３のビンコーディングの第３のパスでは、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇｓのコーディングが適用される。コンテキストモデリングは、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇによって使用されるものと同様である。コンテキストインデックス増分の選択の詳細は、ＨＥＶＣ仕様のセクション９．３．４．２．７において定義されている。
【００９０】
[0089]スループットを改善するために、第２および第３のパスはＣＧ中のすべての係数を処理するとは限らない。ＣＧ中の最初の８つのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇが通常モードでコーディングされる。その後、値は、シンタックスｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇによって第５のパスにおいてバイパスモードでコーディングされるために残される。同様に、１よりも大きい大きさをもつＣＧ中の第１の係数のためのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇのみがコーディングされる。ＣＧの１よりも大きい大きさをもつ係数の残りは、値をコーディングするためにｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇを使用する。この方法は、係数レベルのための通常ビンの数を、ＣＧごとに最大９つ、すなわち、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇについて８つおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇについて１つに限定する。
【００９１】
[0090]ビン１（すなわち、第２のコーディングパス中にコーディングされる第２のビン）をコーディングするとき、ローカルテンプレート中の係数に関連するビン１の値が、コンテキストモデリングのために使用され得る。同様に、ローカルテンプレート中の係数に関連するビン２（すなわち、第３のコーディングパス中にコーディングされる第３のビン）の値が、現在ビン２をコーディングするためのコンテキストモデルを選択するために使用される。より詳細には、ビン１について、コンテキストインデックスは次のように導出される。
【００９２】
【数８】
2018537908.tif 000013
【００９３】
[0091]ビン２について、コンテキストインデックスは次のように導出される。
【００９４】
【数９】
2018537908.tif 000014
【００９５】
ここで、Ｎは１に等しい。第１のビン１またはビン２は、０に等しいコンテキストインデックスｃ1またはｃ2を用いてコーディングされ、他のビン１およびビン２について、それらは上式に従ってコーディングされる。
【００９６】
[0092]最後のパスでは、残りのビンがコーディングされる。係数のｂａｓｅＬｅｖｅｌが次のように定義されるとする。
【００９７】
【数１０】
2018537908.tif 000015
【００９８】
ここで、フラグは、０または１の値を有し、存在しない場合、０であると推論される。その場合、係数の絶対値は単に以下の通りである。
【００９９】
【数１１】
2018537908.tif 000016
【０１００】
ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇは、バイパスコーディングされる、すなわち、コンテキストが必要とされない。
【０１０１】
[0093]ＨＥＶＣにおけるシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇは、（係数レベルの絶対値についての残りの値が、係数コーディングのための前のスキャンパスにおいてコーディングされた値よりも大きい場合）、係数レベルの絶対値についての残りの値を示す。このシンタックスは、スループットを増加させるためにバイパスモードでコーディングされる。ＨＥＶＣは、Ｗ．−Ｊ．Ｃｈｉｅｎ、Ｍ．Ｋａｒｃｚｅｗｉｃｚ、Ｊ．Ｓｏｌｅ、およびＪ．Ｃｈｅｎ、「On Coefficient Level Remaining Coding」、ＪＣＴＶＣ−Ｉ０４８７、第９回ジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）会議、ジュネーブ、スイス、２０１２年４月〜５月に記載されているように、小さい値のためにＲｉｃｅコードを採用し、より大きい値のためにＥｘｐ−Ｇｏｌｏｍｂコードに切り替える。
【０１０２】
[0094]変換係数の大きさの残りのビンのためのコンテキストモデリングは、以下のように実行され得る。ライスパラメータｒは、次のように導出される。各スキャン位置について、パラメータが０に設定される。次いで、ｓｕｍ＿ａｂｓｏｌｕｔｅ＿ｌｅｖｅｌＭｉｎｕｓ１が、しきい値セットｔR＝｛３、９、２１｝と比較される。言い換えれば、ｓｕｍ＿ａｂｓｏｌｕｔｅ＿ｌｅｖｅｌＭｉｎｕｓ１が第１の間隔に分類される場合、ライスパラメータは０であり、ｓｕｍ＿ａｂｓｏｌｕｔｅ＿ｌｅｖｅｌＭｉｎｕｓ１が第２の間隔に分類される場合、ライスパラメータは１であり、以下同様である。ライスパラメータｒの導出は、以下で要約される。
【０１０３】
【数１２】
2018537908.tif 000017
【０１０４】
[0095]ビデオエンコーダ２０およびビデオデコーダ３０は、変換係数についての符号情報をコーディングするために、単独でまたは任意の組合せで、様々な技法のいずれかを実行するように構成され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、単独でまたは組合せて、以下の技法のいずれかを実行するように構成され得る。
【０１０５】
[0096]本開示の技法によれば、（「ビデオコーダ」への言及がビデオエンコーダまたはビデオデコーダを指すことがあるように、概括的に、「ビデオコーダ」と呼ばれることがある）ビデオエンコーダ２０およびビデオデコーダ３０は、コンテキストモデリングを使用して変換係数の符号についての値をエントロピーコーディング（すなわち、符号化または復号）し得る。すなわち、ビデオエンコーダ２０は、ビデオデータのブロックの変換係数の符号についての値をエントロピー符号化するためのコンテキストモデルを決定し、コンテキストモデルを使用して変換係数の符号についての値をエントロピー符号化し得る。同様に、ビデオデコーダ３０は、ビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定し、コンテキストモデルを使用して変換係数の符号についての値をエントロピー符号化し得る。
【０１０６】
[0097]すなわち、ビデオエンコーダ２０およびビデオデコーダ３０は、バイパスモードを使用する代わりに、コンテキストモデルを使用して符号情報のビンをコーディングするように構成され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、１つまたは複数の隣接変換係数の符号情報に基づいてコンテキストモデルを選択するようにさらに構成され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、テンプレート中にあるものとして隣接変換係数を決定するように構成され得る。一例では、テンプレートは、変換係数の大きさをコーディングする際にコンテキストモデリングのために使用されるものと同じである。
【０１０７】
[0098]別の例では、テンプレートは、ＶＣＥＧ−ＡＺ０７（Ｊ．Ｃｈｅｎ、Ｗ．−Ｊ．Ｃｈｉｅｎ、Ｍ．Ｋａｒｃｚｅｗｉｃｚ、Ｘ．Ｌｉ、Ｈ．Ｌｉｕ、Ａ．Ｓａｉｄ、Ｌ．Ｚｈａｎｇ、Ｘ．Ｚｈａｏ、「Further improvements to HMKTA-1.0」、ＩＴＵ−電気通信標準化部門研究グループ１６  質問６  ビデオコーディングエキスパートグループ（ＶＣＥＧ）、Ｄｏｃ．ＶＣＥＧ−ＡＺ０７、ワルシャワ、２０１５年６月）において使用されるものと同じである。すなわち、この例では、テンプレートは、図６に示されているように、現在変換ユニット内の５つの隣接するもの（右側から２つ、下側から２つ、右下から１つ）をカバーする。代替的に、隣接変換係数は、空間的にまたは時間的に隣接する変換ユニット中にあり得る。
【０１０８】
[0099]代替的に、テンプレートは、１つのコーディンググループ／変換ユニット／１つのスライス／ピクチャ／シーケンス内で異なり得る。すなわち、ビデオエンコーダ２０およびビデオデコーダ３０は、どのコーディンググループ、変換ユニット、スライス、ピクチャ、またはシーケンスがコーディングされているかに基づいて、どのテンプレートを使用すべきかを決定するように構成され得る。たとえば、テンプレートは、スキャン順序、および／またはイントラ／インターコーディングモード、および／またはイントラ予測モード、および／または変換が可能であるか否か、および／または変換行列、および／または変換サイズ、および／またはコーディンググループサイズに依存し得る。
【０１０９】
[0100]ビデオエンコーダ２０およびビデオデコーダ３０は、（１つまたは複数の）隣接変換係数の符号情報の関数に基づいてコンテキスト選択を実行するように構成され得る。一例では、関数は、（１つまたは複数の）隣接変換係数の符号情報の合計として定義される。たとえば、関数は次のように定義され得る。
【０１１０】
【数１３】
2018537908.tif 000018
【０１１１】
ここにおいて、（ｎ＋１）は隣接変換係数の総数を示し、ｘiは、ｉ番目の隣接変換係数の値を示す。
【０１１２】
[0101]別の例では、上記で説明された例への追加または代替として、ビデオエンコーダ２０およびビデオデコーダ３０は、コンテキスト選択を実行するように構成され得、合計の絶対値に基づいており、すなわち、
【０１１３】
【数１４】
2018537908.tif 000019
【０１１４】
ここにおいて、関数ａｂｓ（・）は免除値を返す。
【０１１５】
[0102]いくつかの例では、コンテキスト選択は、追加または代替として、変換係数の現在の大きさ、変換サイズ、変換がスキップされるかどうか、変換行列、イントラ予測モードなどに依存し得る。
【０１１６】
[0103]ビデオエンコーダ２０およびビデオデコーダ３０は、現在変換係数と上記で示された関数ｆ0の戻り値との両方に基づいて１つの変換係数の符号情報を示すためのビン値を決定するように構成され得る。一例では、Ｔによって示される関数ｆ0の戻り値が０に等しいとき、ビデオエンコーダ２０およびビデオデコーダ３０は、現在変換係数が正である場合、ビン値を１に設定し、そうでない場合、ビン値を０に設定する。代替的に、「１」と「０」とは逆転され得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、Ｔが０に等しいとき、バイパスコーディングを使用し得る。
【０１１７】
[0104]別の例では、Ｔが０に等しくないとき、ビデオエンコーダ２０およびビデオデコーダ３０は、変数ＳTをＳｉｇｎ（Ｔ）に、および変数ＳcをＳｉｇｎ（ｌｅｖｅｌ）に設定し得、ここで、関数Ｓｉｇｎ（ｘ）は、ｘが正である場合に１を返し、ｘが負である場合に０を返し、ｌｅｖｅｌは現在変換係数値を返す。ビデオエンコーダ２０およびビデオデコーダ３０は、コーディングされるべきビン値を（ＳT  ＸＯＲ  Ｓc）に設定し得、ここで、ＸＯＲは排他的ＯＲ演算を示す。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、コーディングされるべきビン値を、（１−（ＳT  ＸＯＲ  Ｓc））に等しい（ＳT  ＸＮＯＲ  Ｓc）に設定し得る。代替的に、さらに、ビデオエンコーダ２０およびビデオデコーダ３０は、上記の関数ｆ1が適用されるときのみ、この方法を有効にし得る。
【０１１８】
[0105]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、これらの関数をいくつかの変換係数のみに適用し得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、１つの変換係数の符号情報がＳＤＨによって省略されないときにのみ、これらの関数を適用し得る。
【０１１９】
[0106]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、追加または代替として、符号情報が省略されない場合に符号情報をコンテキストコーディングし、ビデオエンコーダ２０およびビデオデコーダ３０は、１つまたは複数の隣接変換ユニット中の同じ相対位置にある前の変換係数の符号情報に依存するコンテキストモデリングを実行し得る。一例では、隣接変換ユニットは、現在コーディングユニット内にあるように制限される。隣接変換ユニットは、同じ変換サイズ／変換スキップフラグ／変換行列をもつものであるように制限され得る。追加または代替として、（１つまたは複数の）隣接変換ユニットは参照ピクチャからのものであり得る。
【０１２０】
[0107]一例では、複数の隣接変換ユニットが存在するとき、ビデオエンコーダ２０およびビデオデコーダ３０は、現在係数のためのコンテキストモデルを選択するために、第１の前にコーディングされた隣接変換ユニットを使用し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、現在係数のためのコンテキストモデルを選択するために、現在変換係数と同じ相対位置において非０係数を含んでいる第１の前にコーディングされた隣接変換ユニットを使用し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、コンテキストモデリングのために（コーディング順序における）第１のコーディングされた隣接変換ユニットの符号情報を常に使用し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、１つの変換ユニットについていくつかの変換係数、たとえば、ＤＣ係数のためにのみこれらの技法を実行するように構成され得る。
【０１２１】
[0108]いくつかの例では、省略された符号値を導出するために、（ＳCGによって示される）コーディンググループ中の変換係数の和のパリティ、すなわち、（ＳCG％２）をチェックする代わりに、ビデオエンコーダ２０およびビデオデコーダ３０は、（ＳCG％Ｎ）がＫに等しいか否かなど、他のルールを適用するように構成され得、ここで、Ｎは２に等しくないことがあり、Ｋは、両端値を含む、０からＮ−１までである。（ＳCG％Ｎ）がＫに等しいとき、ビデオエンコーダ２０およびビデオデコーダ３０は、符号値を正のレベルを表すための０（または負のレベルを表すための１）に設定し得る。反対に、（ＳCG％Ｎ）がＫに等しくないとき、ビデオエンコーダ２０およびビデオデコーダ３０は、符号値を負のレベルを表すための１（または正のレベルを表すための０）に設定し得る。一例では、Ｋは０に設定される。別の例では、Ｎおよび／またはＫは、１つのコーディンググループ／変換ユニット／コーディングユニット／予測ユニット／スライス／ピクチャ／シーケンス内で適応可能であり得る。別の例では、Ｎは、１つまたは複数の隣接変換係数の符号情報によって決定され得る。隣接変換係数の定義は、（たとえば、テンプレートに従う）上記で説明されたものと同じであり得る。
【０１２２】
[0109]いくつかの例では、Ｎは、上記で定義された関数ｆ0の戻り値に依存し得る。戻り値をＳｕｍNGによって示す。たとえば、Ｎは、ａｂｓ（ＳｕｍNG）が３などのしきい値よりも大きいとき、４に設定され、Ｎは、ａｂｓ（ＳｕｍNG）がしきい値よりも大きいとき、２に設定される。代替的に、さらに、省略された符号値は、ＳｕｍNGと、ＳCG％ＮがＫに等しいかどうかとの両方に依存し得る。たとえば、ＳｕｍNGが、正であり、しきい値よりも大きく、ＳCG％Ｎ（Ｎは２に等しくない）がＫに等しいとき、ビデオエンコーダ２０およびビデオデコーダ３０は、省略された符号値を、負のレベルを表すための１に設定し得る。別の例では、ＳｕｍNGが負であり、ａｂｓ（ＳｕｍNG）がしきい値よりも大きく、ＳCG％Ｎ（Ｎは２に等しくない）がＫに等しいとき、ビデオエンコーダ２０およびビデオデコーダ３０は、省略された符号値を、正のレベルを表すための０に設定し得る。
【０１２３】
[0110]いくつかの例では、コーディンググループ中の（逆方向スキャン順序における、または符号化／復号順序における）最後非０係数の符号情報を隠蔽する代わりに、ビデオエンコーダ２０およびビデオデコーダ３０は、第１の非０係数の符号情報を隠蔽し得る。一例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣ設計の場合のようにＳＤＨを使用するための同じ基準を使用し得る。すなわち、ＣＧの第１の非０係数と最後非０係数との間のスキャン順序における距離が、Ｎ（Ｎはこの例では４に設定される）等しいかまたはそれよりも大きい場合、ビデオエンコーダ２０およびビデオデコーダ３０はＳＤＨを適用し得る。代替的に、他の例では、Ｎの異なる値が使用され得る。
【０１２４】
[0111]代替的に、または追加として、Ｎは、コーディンググループ位置、予測モード、および／または変換タイプに依存し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、第１の非０係数または最後非０係数の符号情報を隠蔽するために、異なるコーディンググループまたは変換ユニットを選択し得る。いくつかの例では、ＳＤＨは、常に、いくつかのコーディンググループについて無効にされ得る。いくつかの例では、（逆方向スキャン順序における）第１のコーディンググループを除くすべてのコーディンググループについて、ＳＤＨが無効にされ得る。いくつかの例では、最後非０係数の符号値が隠蔽されるとき、ならびに（ＳCG％Ｎ）がＫに等しくないかどうかをビデオエンコーダ２０およびビデオデコーダ３０が決定する、上記で説明された技法が同じく適用されるとき、隣接ピクセルは、左側、上側、および左上側に位置するものとして定義され得る。一例が、図７に関して以下で説明される。
【０１２５】
[0112]同じ周波数に属する係数について、しきい値よりも小さい大きさをもつ同じ周波数に属する係数のすべてが同じ符号値を共有するように、制限が課され得る。一例では、しきい値は２に設定される。いくつかの例では、（コーディング順序における）しきい値よりも小さい大きさをもつ第１の非０係数の符号値のみがコーディングされ、他の符号値は省略される。
【０１２６】
[0113]また、符号データ隠蔽に関係する方法は、コーディンググループを変換ユニットと置き換えることによって、変換ユニットベースのＳＤＨに適用され得る。
【０１２７】
[0114]一例では、ビデオエンコーダ２０およびビデオデコーダ３０は、順序が正しく、各コーディンググループについて以下のステップを実行するように構成され得る。  
１．ＣＧの第１の非０係数および最後非０係数が、Ｎ（Ｎは４に設定される）に等しいかまたはそれよりも大きいかどうかをチェックする。はいの場合、（逆方向スキャン順序における）第１の非０係数である（スキャン順序における）最後の非０係数の符号情報は、ＳＤＨを使用することによって省略される。  
２．省略される場合、（逆方向スキャン順序における）第１の非０係数を除くすべての非０係数について、各非０係数のためのコンテキストモデルを選択するために、以下のステップが実行される。  
ａ．
【０１２８】
【数１５】
2018537908.tif 000020
【０１２９】
を計算し、ここにおいて、ｘiは、図６に示されているように、隣接変換係数である。  
ｂ．色成分、現在レベルおよびｓｕｍ値の振幅、（４×４に等しいかまたは等しくない）変換ユニット（ＴＵ）サイズ、ならびに（それがＴＵ４×４である場合）変換スキップフラグに基づく、コンテキストモデリング。コンテキストインデックス増分（ｉｄｘ）が、次のように導出される。  
【０１３０】
【数１６】
2018537908.tif 000021
【０１３１】
ここにおいて、Ｋは（ｎ＋１）に設定され、ａｂｓＬｅｖｅｌは、現在変換係数レベルの絶対値を示し、ＴＳ＿Ｆｌａｇは、現在４×４変換ユニットが変換スキップモードを用いてコーディングされる場合、１に設定される。  
ｃ．現在符号フラグｉＣｕｒｒＳＦ＝レベル＞０？ １：０を定義する。  
−  ａｂｓ（ｓｕｍ）が０に等しい場合、（１−ｉＣｕｒｒＳＦ）をコーディングする（「１」と「０」との確率は等しいに近い）  
−  他の場合、（ｉＣｕｒｒＳＦ  ＸＯＲ  ｉＴｅｍｐｌａｔｅＳＦ）をコーディングし、ここにおいて、ｉＴｅｍｐｌａｔｅＳＦ＝ｓｕｍ＞０？  １：０である。  
ここで、Ｋは（ｎによって示される）隣接変換係数の総数＋１を示す。一例では、ｎは５に設定され、Ｋは６に設定される。
【０１３２】
[0115]ビデオエンコーダ２０およびビデオデコーダ３０は各々、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、固定関数処理回路またはプログラマブル処理回路、あるいはそれらの組合せを含む、様々な好適なエンコーダまたはデコーダデジタル論理回路のいずれかとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【０１３３】
[0116]図２は、ビデオデータの符号情報をコーディングするための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースコーディングモードのいずれかを指すことがある。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指すことがある。
【０１３４】
[0117]図２に示されているように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、（復号ピクチャバッファ（ＤＰＢ）と呼ばれることもある）参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。モード選択ユニット４０は、今度は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、パーティションユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するための（図２に示されていない）デブロッキングフィルタも含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。（ループ中またはループ後の）追加のフィルタもデブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、（ループ内フィルタとして）加算器５０の出力をフィルタ処理し得る。
【０１３５】
[0118]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間予測を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対する受信されたビデオブロックのインター予測符号化を実行する。イントラ予測ユニット４６は、代替的に、空間予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する受信されたビデオブロックのイントラ予測符号化を実行し得る。ビデオエンコーダ２０は、たとえば、ビデオデータの各ブロックについて適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
【０１３６】
[0119]その上、パーティションユニット４８は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット４８は、初めにフレームまたはスライスをＣＴＵに区分し、レートひずみ分析（たとえば、レートひずみ最適化）に基づいてＣＴＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、さらに、サブＣＵへのＣＴＵの区分を示す４分木データ構造を生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵと１つまたは複数のＴＵとを含み得る。
【０１３７】
[0120]モード選択ユニット４０は、たとえば、誤差結果に基づいて予測モード、すなわち、イントラまたはインターのうちの１つを選択し得、残差データを生成するために、得られた予測されたブロックを加算器５０に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られた予測されたブロックを加算器６２に与える。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報など、シンタックス要素をエントロピー符号化ユニット５６に与える。
【０１３８】
[0121]動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別個に示されている。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在フレーム（または他のコード化ユニット）内でコーディングされている現在ブロックに対する参照フレーム（または他のコード化ユニット）内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置についての値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【０１３９】
[0122]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０１４０】
[0123]動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。この場合も、動き推定ユニット４２および動き補償ユニット４４は、いくつかの例では、機能的に統合され得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。加算器５０は、以下で説明されるように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット４２はルーマ成分に対して動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０１４１】
[0124]イントラ予測ユニット４６は、上記で説明されたように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
【０１４２】
[0125]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのためのひずみおよびレートから比を計算し得る。
【０１４３】
[0126]ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含み得る。
【０１４４】
[0127]ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、変換係数値を備えるビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、離散サイン変換（ＤＳＴ）、または他のタイプの変換が、ＤＣＴの代わりに使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、変換係数のブロックを生成する。変換は、残差情報をピクセル領域から周波数領域などの変換領域に変換し得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。
【０１４５】
[0128]量子化に続いて、エントロピー符号化ユニット５６は量子化された変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピーコーディングに続いて、符号化ビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
【０１４６】
[0129]より詳細には、エントロピー符号化ユニット５６は、様々な変換係数シンタックス要素についての値をエントロピー符号化し得る。そのようなシンタックス要素は、たとえば、変換係数が０よりも大きい絶対値を有するかどうかを示すシンタックス要素、変換係数が１よりも大きい絶対値を有するかどうかを示すシンタックス要素、変換係数が２よりも大きい絶対値を有するかどうかを示すシンタックス要素、変換係数についての残り値を示すシンタックス要素、および変換係数についての符号を含み得る。バイパスコーディングを使用して、変換係数についての符号を示すシンタックス要素の値をエントロピー符号化するのではなく、エントロピー符号化ユニット５６は、コンテキストモデルを使用して、変換係数についての符号を示すシンタックス要素の値をエントロピー符号化し得る。これは、符号データ隠蔽（ＳＤＨ）技法を使用してこの変換係数についての符号情報が隠蔽されないと仮定している。
【０１４７】
[0130]本開示の技法によれば、エントロピー符号化ユニット５６は、１つまたは複数の隣接変換係数の符号値に基づいて符号情報をエントロピー符号化するために使用するためのコンテキストモデルを決定し得る。エントロピー符号化ユニット５６は、たとえば、図６に関して以下でより詳細に説明されるように、テンプレートを使用してそのような隣接変換係数を決定し得る。エントロピー符号化ユニット５６は、異なる状況において、たとえば、スキャン順序における現在変換係数の位置、現在変換係数を含む変換ユニットに対応する予測ユニットのための予測モード、変換が可能にされるか否か、変換ユニットに適用される変換行列、変換ユニットのサイズ、または変換係数を含むコーディンググループについてのコーディンググループサイズのうちの１つまたは複数に基づいて、異なるテンプレートを選択し得る。
【０１４８】
[0131]いくつかの例では、エントロピー符号化ユニット５６は、図１に関して上記で説明された関数ｆ0または関数ｆ1のいずれかを使用して符号情報をエントロピー符号化するためのコンテキストモデルを決定し得る。
【０１４９】
[0132]いくつかの例では、例示的なエントロピー符号化ユニット５６は、変換係数の符号情報についての値をエントロピー符号化することを回避し得る。たとえば、エントロピー符号化ユニット５６は、本開示の技法に従って符号データ隠蔽（ＳＤＨ）を実行し得る。いくつかの例では、エントロピー符号化ユニット５６は、変換係数の大きさがしきい値、たとえば、２よりも小さいとき、変換係数についての符号情報をエントロピー符号化することを回避し得る。いくつかの例では、エントロピー符号化ユニット５６は、しきい値、たとえば、２よりも小さい大きさを有する、変換ユニットの順序の第１の非０変換係数についての符号情報をエントロピー符号化し、変換ユニットの後続の変換係数についての符号値を隠蔽し得る。
【０１５０】
[0133]逆量子化ユニット５８および逆変換ユニット６０は、ピクセル領域において残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。特に、加算器６２は、参照ピクチャメモリ６４に記憶するための再構成されたビデオブロックを生成するために、動き補償ユニット４４またはイントラ予測ユニット４６によって前に生成された動き補償予測ブロックに、再構成された残差ブロックを加算する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１５１】
[0134]エントロピー符号化ユニット５６は、図１に関して上記で説明された様々な技法のいずれかを、単独でまたは任意の組合せで実行するようにさらに構成され得る。
【０１５２】
[0135]図２のビデオエンコーダ２０は、ビデオデータのブロックの変換係数の符号についての値をエントロピーコーディングするためのコンテキストモデルを決定し、コンテキストモデルを使用して変換係数の符号についての値をエントロピーコーディングするように構成され得る、ビデオエンコーダの一例を表す。
【０１５３】
[0136]ビデオエンコーダ２０は、符号データ隠蔽を使用して変換係数についての符号の値を表すデータをコーディングするように構成され得る、ビデオエンコーダの一例をも表す。データをコーディングするために、ビデオエンコーダ２０は、変換係数を含むコーディンググループの変換係数の大きさを表すデータをコーディングし、コーディンググループの変換係数の大きさの和の値、ＳCGを決定し、（ＳCG％Ｎ）がＫに等しいかどうかの決定に基づいて符号値を決定し得、ここにおいて、Ｎは２よりも大きい値であり、Ｋは、両端値を含む、０からＮ−１までの範囲内の値である。
【０１５４】
[0137]ビデオエンコーダ２０は、変換ユニットの順序の第１の非０変換係数についての符号データを隠蔽し、第１の非０係数をコーディングするように構成され得る、ビデオエンコーダの一例をも表す。
【０１５５】
[0138]図３は、ビデオデータの符号情報をコーディングするための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照ピクチャメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明された符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【０１５６】
[0139]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化された係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他のシンタックス要素とを動き補償ユニット７２に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１５７】
[0140]より詳細には、ビデオデコーダ３０は、変換係数のためのシンタックス要素をエントロピー復号するように構成され得る。そのようなシンタックス要素は、たとえば、変換係数が０よりも大きい絶対値を有するかどうかを示すシンタックス要素、変換係数が１よりも大きい絶対値を有するかどうかを示すシンタックス要素、変換係数が２よりも大きい絶対値を有するかどうかを示すシンタックス要素、変換係数についての残り値を示すシンタックス要素、および変換係数についての符号を含み得る。バイパスコーディングを使用して、変換係数についての符号を示すシンタックス要素の値をエントロピー復号するのではなく、エントロピー復号ユニット７０は、コンテキストモデルを使用して、変換係数についての符号を示すシンタックス要素の値をエントロピー復号し得る。これは、符号データ隠蔽（ＳＤＨ）技法を使用してこの変換係数についての符号情報が隠蔽されないと仮定している。
【０１５８】
[0141]本開示の技法によれば、エントロピー復号ユニット７０は、１つまたは複数の隣接変換係数の符号値に基づいて符号情報をエントロピー復号するために使用するためのコンテキストモデルを決定し得る。エントロピー復号ユニット７０は、たとえば、図６に関して以下でより詳細に説明されるように、テンプレートを使用してそのような隣接変換係数を決定し得る。エントロピー復号ユニット７０は、異なる状況において、たとえば、スキャン順序における現在変換係数の位置、現在変換係数を含む変換ユニットに対応する予測ユニットのための予測モード、変換が可能にされるか否か、変換ユニットに適用される変換行列、変換ユニットのサイズ、または変換係数を含むコーディンググループについてのコーディンググループサイズのうちの１つまたは複数に基づいて、異なるテンプレートを選択し得る。
【０１５９】
[0142]いくつかの例では、エントロピー復号ユニット７０は、図１に関して上記で説明された関数ｆ0または関数ｆ1のいずれかを使用して符号情報をエントロピー復号するためのコンテキストモデルを決定し得る。
【０１６０】
[0143]いくつかの例では、例示的なエントロピー復号ユニット７０は、変換係数の符号情報についての値をエントロピー復号することを回避し得る。たとえば、エントロピー復号ユニット７０は、本開示の技法に従って符号データ隠蔽（ＳＤＨ）を実行し得る。いくつかの例では、エントロピー復号ユニット７０は、変換係数の大きさがしきい値、たとえば、２よりも小さいとき、変換係数についての符号情報をエントロピー復号することを回避し得る。いくつかの例では、エントロピー復号ユニット７０は、しきい値、たとえば、２よりも小さい大きさを有する、変換ユニットの順序の第１の非０変換係数についての符号情報をエントロピー復号し、変換ユニットの後続の変換係数についての符号値を隠蔽し得る。
【０１６１】
[0144]逆量子化ユニット５８および逆変換ユニット６０は、ピクセル領域において残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。特に、加算器６２は、参照ピクチャメモリ６４に記憶するための再構成されたビデオブロックを生成するために、動き補償ユニット４４またはイントラ予測ユニット４６によって前に生成された動き補償予測ブロックに、再構成された残差ブロックを加算する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１６２】
[0145]エントロピー復号ユニット７０は、図１に関して上記で説明された様々な技法のいずれかを、単独でまたは任意の組合せで実行するようにさらに構成され得る。
【０１６３】
[0146]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、ＢまたはＰ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０とリスト１とを構成し得る。
【０１６４】
[0147]動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために、その予測情報を使用する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）と、スライスのための参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
【０１６５】
[0148]動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、参照ブロックのサブ整数ピクセルのための補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するためにその補間フィルタを使用し得る。
【０１６６】
[0149]逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化された変換係数を逆量子化、すなわち、量子化解除（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０１６７】
[0150]逆変換ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１６８】
[0151]動き補償ユニット７２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器８０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するか、または場合によってはビデオ品質を改善するために、（コーディングループ中またはコーディングループ後のいずれかの）他のループフィルタも使用され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ８２に記憶される。参照ピクチャメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の提示のために、復号ビデオを記憶する。
【０１６９】
[0152]図３のビデオデコーダ３０は、ビデオデータのブロックの変換係数の符号についての値をエントロピーコーディングするためのコンテキストモデルを決定し、コンテキストモデルを使用して変換係数の符号についての値をエントロピーコーディングするように構成され得る、ビデオデコーダの一例を表す。
【０１７０】
[0153]ビデオデコーダ３０は、符号データ隠蔽を使用して変換係数についての符号の値を表すデータをコーディングするように構成され得る、ビデオデコーダの一例をも表す。データをコーディングするために、ビデオデコーダ３０は、変換係数を含むコーディンググループの変換係数の大きさを表すデータをコーディングし、コーディンググループの変換係数の大きさの和の値、ＳCGを決定し、（ＳCG％Ｎ）がＫに等しいかどうかの決定に基づいて符号値を決定し得、ここにおいて、Ｎは２よりも大きい値であり、Ｋは、両端値を含む、０からＮ−１までの範囲内の値である。
【０１７１】
[0154]ビデオデコーダ３０は、変換ユニットの順序の第１の非０変換係数についての符号データを隠蔽し、第１の非０係数をコーディングするように構成され得る、ビデオエンコーダの一例をも表す。
【０１７２】
[0155]図４は、文字ａ〜ｊで標示された１０個のＴＵを含むＣＵのための例示的な残差４分木と、対応するブロック区分とを示す概念図である。ビデオエンコーダ２０はＴＵを符号化するように構成され得、ビデオデコーダ３０はＴＵを復号するように構成され得る。
【０１７３】
[0156]図５は、ＨＥＶＣにおけるコーディンググループに基づく係数スキャンを示す概念図である。特に、この例では、係数スキャンは、係数グループごとにジグザグパターンで右下係数から左上係数まで進む。図５の例は、４つの４×４係数グループに分割された、８×８ＴＵを描く。係数スキャンは、この例では、各係数グループについて同じパターンで進む。
【０１７４】
[0157]図６は、コンテキストモデリングのために使用され得るローカルテンプレートの一例を示す概念図である。Ｊ．Ｃｈｅｎ、Ｗ．−Ｊ．Ｃｈｉｅｎ、Ｍ．Ｋａｒｃｚｅｗｉｃｚ、Ｘ．Ｌｉ、Ｈ．Ｌｉｕ、Ａ．Ｓａｉｄ、Ｌ．Ｚｈａｎｇ、Ｘ．Ｚｈａｏ、「Further improvements to HMKTA-1.0」、ＩＴＵ−電気通信標準化部門研究グループ１６  質問６  ビデオコーディングエキスパートグループ（ＶＣＥＧ）、Ｄｏｃ．ＶＣＥＧ−ＡＺ０７、ワルシャワ、２０１５年６月において、ビン０、ビン１、ビン２およびライスパラメータのためのコンテキストモデルはすべて、ローカルテンプレート中にある対応する値に基づいて、選択される（ビン０は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇとも呼ばれ、ビン１およびビン２は、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１＿ｆｌａｇおよびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２＿ｆｌａｇとも呼ばれる）。
【０１７５】
[0158]ローカルテンプレートの一例が図６に与えられている。８×８変換ブロックでは、Ｘは、現在スキャン位置にある係数を示し、ｉ∈［０，４］であるｘiは、ローカルテンプレートによってカバーされる隣接するものを示す。
【０１７６】
[0159]より具体的に言えば、一例では、関数ｓｕｍ＿ｔｅｍｐｌａｔｅ（ｋ）は、ｋよりも大きい大きさを有するテンプレート中の係数の数を返し得、それは次のように定義され得、
【０１７７】
【数１７】
2018537908.tif 000022
【０１７８】
関数ｆ（ｘ，ｙ，ｎ，ｔ）は位置情報を処理し得、δk（ｕ，ｖ）は以下のように成分情報を処理し得る。
【０１７９】
【数１８】
2018537908.tif 000023
【０１８０】
[0160]いくつかの例では、以下の条件のうちの１つが満たされる場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ｘiを、現在変換係数についての符号情報をエントロピーコーディングするために使用されるべきコンテキストモデルを導出するためのコンテキストインデックス導出プロセスにおいて、利用不可能および使用されないとマークし得る。  
・ｘiの位置と現在変換係数Ｘとが、同じ変換ユニット中にない、  
・ｘiの位置が、ピクチャ水平境界またはピクチャ垂直境界の外にある、  
・あるいは変換係数ｘiが、まだ符号化／復号されていない。
【０１８１】
[0161]図７は、符号データ隠蔽（ＳＤＨ）中に使用され得る例示的なローカルテンプレートを示す概念図である。
【０１８２】
[0162]図８は、現在ブロックを符号化するための例示的な方法を示すフローチャートである。現在ブロックは、現在ＣＵ、または現在ＣＵの一部分を備え得る。ビデオエンコーダ２０（図１および図２）に関して説明されるが、他のデバイスが図８の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０１８３】
[0163]この例では、ビデオエンコーダ２０は、最初に、現在ブロックを予測する（１５０）。たとえば、ビデオエンコーダ２０は、現在ブロックのための１つまたは複数の予測ユニット（ＰＵ）を計算し得る。ビデオエンコーダ２０は、次いで、たとえば、変換ユニット（ＴＵ）を生成するために現在ブロックのための残差ブロックを計算する（１５２）。残差ブロックを計算するために、ビデオエンコーダ２０は、元のコーディングされていないブロックと、現在ブロックのための予測されたブロックとの間の差分を計算し得る。ビデオエンコーダ２０は、次いで、変換係数を生成するために残差ブロックを変換し、残差ブロックの変換係数を量子化する（１５４）。次に、ビデオエンコーダ２０は、残差ブロックの量子化された変換係数をスキャンする（１５６）。
【０１８４】
[0164]スキャン中に、またはスキャンに続いて、ビデオエンコーダ２０は係数をエントロピー符号化する（１５８）。たとえば、ビデオエンコーダ２０は、ＣＡＢＡＣを使用して係数を符号化し得る。特に、本開示の技法によれば、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、量子化された変換係数の各係数の大きさ情報および符号情報を符号化し得る。たとえば、エントロピー符号化ユニット５６は、符号および／または大きさ情報をエントロピーコーディングするために、単独でまたは任意の組合せで、上記で説明された様々な技法のいずれかを実行し得る。
【０１８５】
[0165]ビデオエンコーダ２０は、次いで、ブロックのエントロピーコード化データを出力する（１６０）。
【０１８６】
[0166]図９は、本開示の技法による、符号情報をエントロピー符号化するための例示的な方法を示すフローチャートである。図９の方法は、図８のステップ１５８の少なくとも一部に対応し得る。この例では、エントロピー符号化ユニット５６（図２）は、最初に、現在変換係数の符号値について符号データ隠蔽（ＳＤＨ）を実行すべきかどうかを決定する（１７０）。たとえば、エントロピー符号化ユニット５６は、上記で説明されたように、関数ｆ0および／または関数ｆ1のいずれかまたは両方の実行に基づいて、ＳＤＨを実行すべきかどうかを決定し得る。エントロピー符号化ユニット５６が、現在変換係数についてＳＤＨを実行することを決定した場合（１７０の「ＹＥＳ」分岐）、エントロピー符号化ユニット５６は、符号値のエントロピー符号化を妨げる（１７８）。さらに、図９には示されていないが、エントロピー符号化ユニット５６はさらに、たとえば、符号値が係数グループ中のビットのパリティから復元可能であるように、同じ係数グループ中の変換係数のうちの１つまたは複数の大きさ値を変更することによって、現在変換係数の符号値を表すために１つまたは複数の他の変換係数のデータを操作し得る。
【０１８７】
[0167]一方、エントロピー符号化ユニット５６が、現在変換係数についてＳＤＨを実行しないことを決定した場合（１７０の「ＮＯ」分岐）、エントロピー符号化ユニット５６は、現在係数についての符号値を決定する（１７２）。エントロピー符号化ユニット５６は、次いで、符号値をエントロピー符号化するために使用するためのコンテキストモデルを決定する（１７４）。たとえば、上記で説明されたように、エントロピー符号化ユニット５６は、テンプレートに従ってコンテキストモデルを決定し得る。その上、エントロピー符号化ユニット５６は、たとえば、スキャン順序、予測モード、変換が可能にされるか否か、変換行列、変換サイズ、またはコーディンググループサイズに基づいて、テンプレートを選択し得る。代替的に、エントロピー符号化ユニット５６は、現在変換係数を含む現在変換ユニットに対する１つまたは複数の隣接変換ユニット中の現在変換係数とコロケートされた１つまたは複数の前の変換係数についての符号値に基づいて、現在変換係数のためのコンテキストモデルを決定し得る。エントロピー符号化ユニット５６は、次いで、コンテキストモデルを使用して符号値をエントロピー符号化する（１７６）。
【０１８８】
[0168]このようにして、図９の方法は、ビデオデータのブロックの変換係数の符号についての値をエントロピー符号化するためのコンテキストモデルを決定することと、コンテキストモデルを使用して変換係数の符号についての値をエントロピー符号化することとを含む、ビデオデータを符号化する方法の一例を表す。
【０１８９】
[0169]図１０は、ビデオデータの現在ブロックを復号するための例示的な方法を示すフローチャートである。現在ブロックは、現在ＣＵ、または現在ＣＵの一部分を備え得る。ビデオデコーダ３０（図１および図３）に関して説明されるが、他のデバイスが、図１０の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０１９０】
[0170]ビデオデコーダ３０は、現在ブロックのための予測されたブロックを計算するために、たとえば、イントラまたはインター予測モードを使用して、現在ブロックを予測する（２００）。ビデオデコーダ３０はまた、現在ブロックに対応する残差ブロックの係数についてのエントロピーコーディングされたデータなど、現在ブロックのためのエントロピーコード化データを受信する（２０２）。
【０１９１】
[0171]ビデオデコーダ３０は、残差ブロックの係数を再生するために、エントロピーコード化データをエントロピー復号する（２０４）。特に、本開示の技法によれば、ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化された変換係数の各係数の大きさ情報および符号情報を復号し得る。たとえば、エントロピー復号ユニット７０は、符号および／または大きさ情報をエントロピーコーディングするために、単独でまたは任意の組合せで、上記で説明された様々な技法のいずれかを実行し得る。
【０１９２】
[0172]ビデオデコーダ３０は、次いで、量子化された変換係数のブロックを作成するために、再生された係数を逆スキャンする（２０６）。ビデオデコーダ３０は、次いで、残差ブロックを生成するために係数を逆量子化し、逆変換する（２０８）。ビデオデコーダ３０は、最終的に、予測されたブロックと残差ブロックとを組み合わせることによって現在ブロックを復号する（２１０）。
【０１９３】
[0173]図１１は、本開示の技法による、符号情報をエントロピー復号するための例示的な方法を示すフローチャートである。図１１の方法は、図１０のステップ２０４の少なくとも一部に対応し得る。この例では、エントロピー復号ユニット７０（図３）は、最初に、現在変換係数の符号値について符号データ隠蔽（ＳＤＨ）を実行すべきかどうかを決定する（２２０）。たとえば、エントロピー復号ユニット７０は、上記で説明されたように、関数ｆ0および／または関数ｆ1のいずれかまたは両方の実行に基づいて、ＳＤＨを実行すべきかどうかを決定し得る。エントロピー復号ユニット７０が、現在変換係数についてＳＤＨを実行することを決定した場合（２２０の「ＹＥＳ」分岐）、エントロピー復号ユニット７０は、符号データ隠蔽復元技法を使用して現在変換係数の符号についての符号値を復元する（２２６）。たとえば、エントロピー復号ユニット７０は、上記で説明されたように、現在変換係数を含む係数グループ中のビットのパリティから符号値を復元し得る。
【０１９４】
[0174]一方、エントロピー復号ユニット７０が、現在変換係数についてＳＤＨを実行しないことを決定した場合（２２０の「ＮＯ」分岐）、エントロピー復号ユニット７０は、符号値をエントロピー復号するために使用するためのコンテキストモデルを決定する（２２２）。たとえば、上記で説明されたように、エントロピー復号ユニット７０は、テンプレートに従ってコンテキストモデルを決定し得る。その上、エントロピー復号ユニット７０は、たとえば、スキャン順序、予測モード、変換が可能にされるか否か、変換行列、変換サイズ、またはコーディンググループサイズに基づいて、テンプレートを選択し得る。代替的に、エントロピー復号ユニット７０は、現在変換係数を含む現在変換ユニットに対する１つまたは複数の隣接変換ユニット中の現在変換係数とコロケートされた１つまたは複数の前の変換係数についての符号値に基づいて、現在変換係数のためのコンテキストモデルを決定し得る。エントロピー復号ユニット７０は、次いで、コンテキストモデルを使用して符号値をエントロピー復号する（２２４）。
【０１９５】
[0175]このようにして、図１１の方法は、ビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定することと、コンテキストモデルを使用して変換係数の符号についての値をエントロピー復号することとを含む、ビデオデータを復号する方法の一例を表す。
【０１９６】
[0176]上記例に応じて、本明細書で説明された技法のいずれかのいくつかの行為またはイベントが、異なるシーケンスで実行され得、全体的に追加、マージ、または除外され得る（たとえば、すべての説明された行為またはイベントが本技法の実施のために必要であるとは限らない）ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実行され得る。
【０１９７】
[0177]１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベース処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１９８】
[0178]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１９９】
[0179]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、または本明細書で説明された技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用ハードウェアおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素で十分に実装され得る。
【０２００】
[0180]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【０２０１】
[0181]様々な例が説明された。これらおよび他の例は、以下の特許請求の範囲内に入る。
【図１】
2018537908.tif 000027
【図２】
2018537908.tif 000028
【図３】
2018537908.tif 000029
【図４】
2018537908.tif 000030
【図５】
2018537908.tif 000031
【図６】
2018537908.tif 000032
【図７】
2018537908.tif 000033
【図８】
2018537908.tif 000034
【図９】
2018537908.tif 000035
【図１０】
2018537908.tif 000036
【図１１】
2018537908.tif 000037
【手続補正書】
【提出日】平成30年7月23日(2018.7.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
隣接変換係数の１つまたは複数の符号値に基づいてビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定すること、ここにおいて、前記符号についての前記値は、前記変換係数が正であるのか負であるのかを示し、前記コンテキストモデルは、正または負である前記変換係数の確率が等しくないことを示す、と、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー復号することと
を備える、方法。
【請求項２】
テンプレートに従って前記１つまたは複数の隣接変換係数を決定することをさらに備える、
請求項１に記載の方法。
【請求項３】
前記テンプレートは、前記隣接変換係数を、前記変換係数の右の２つの変換係数と、前記変換係数の下の２つの変換係数と、前記変換係数の右下の変換係数とを含むものとして定義する、
請求項２に記載の方法。
【請求項４】
前記テンプレートに従う前記隣接変換係数の大きさに基づいて前記変換係数の大きさをエントロピー復号するためのコンテキストモデルを決定することをさらに備える、
請求項２に記載の方法。
【請求項５】
スキャン順序、予測モード、変換が可能にされるか否か、変換行列、変換サイズ、またはコーディンググループサイズのうちの１つまたは複数に基づいて、前記テンプレートを選択することをさらに備える、
請求項２に記載の方法。
【請求項６】
前記コンテキストモデルを決定することは、前記隣接変換係数の前記符号についての前記値の和を表す関数に基づいて前記コンテキストモデルを決定することを備える、
請求項２に記載の方法。
【請求項７】
前記関数は、
【数１】
2018537908.tif 000038
を備え、（ｎ＋１）は、隣接変換係数の総数を表し、ｘiは、ｉ番目の隣接変換係数を表す、
請求項６に記載の方法。
【請求項８】
前記関数は、
【数２】
2018537908.tif 000039
を備え、ａｂｓ（ｎ）は、ｎの絶対値を返し、（ｎ＋１）は、隣接変換係数の総数を表し、ｘiは、ｉ番目の隣接変換係数を表す、
請求項６に記載の方法。
【請求項９】
前記コンテキストモデルを決定することは、前記変換係数の大きさ、前記変換係数を含む変換ユニットのサイズ、変換がスキップされるかどうか、変換行列、または前記ブロックのための予測モードのうちの少なくとも１つに基づいて、前記コンテキストモデルを決定することを備える、
請求項１に記載の方法。
【請求項１０】
前記関数
【数３】
2018537908.tif 000040
の値に基づいて前記変換係数の前記符号についての前記値を決定することをさらに備え、（ｎ＋１）は、隣接係数の総数を表し、ｘiは、ｉ番目の隣接変換係数を表す、
請求項６に記載の方法。
【請求項１１】
前記変換係数は、それについての前記符号が符号データ隠蔽（ＳＤＨ）動作によって隠蔽されない変換係数を備える、
請求項１に記載の方法。
【請求項１２】
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記コンテキストモデルを決定することは、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定することを備える、
請求項１に記載の方法。
【請求項１３】
前記変換係数は、第１の変換係数を備え、前記方法は、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定することをさらに備える、
請求項１に記載の方法。
【請求項１４】
前記しきい値は、２に等しい、
請求項１３に記載の方法。
【請求項１５】
前記しきい値よりも小さい大きさを有する、順序の第１の非０変換係数についての符号値を復号することと、他の変換係数についての符号値を隠蔽することとをさらに備える、
請求項１３に記載の方法。
【請求項１６】
ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータを記憶するように構成されたメモリと、
デジタル論理回路を使用して実装される１つまたは複数のプロセッサと
を備え、前記プロセッサは、
隣接変換係数の１つまたは複数の符号値に基づいて前記ビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定すること、ここにおいて、前記符号についての前記値は、前記変換係数が正であるのか負であるのかを示す、と、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー復号することと
を行うように構成された、デバイス。
【請求項１７】
前記プロセッサは、テンプレートに従って前記１つまたは複数の隣接変換係数を決定するように構成された、請求項１６に記載のデバイス。
【請求項１８】
前記テンプレートは、前記隣接変換係数を、前記変換係数の右の２つの変換係数と、前記変換係数の下の２つの変換係数と、前記変換係数の右下の変換係数とを含むものとして定義する、
請求項１７に記載のデバイス。
【請求項１９】
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記プロセッサは、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定するように構成された、
請求項１６に記載のデバイス。
【請求項２０】
前記変換係数は、それについての前記符号が符号データ隠蔽（ＳＤＨ）動作によって隠蔽されない変換係数を備える、
請求項１６に記載のデバイス。
【請求項２１】
前記変換係数は、第１の変換係数を備え、前記プロセッサは、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定するようにさらに構成された、
請求項１６に記載のデバイス。
【請求項２２】
ビデオデータを符号化するためのデバイスであって、
隣接変換係数の１つまたは複数の符号値に基づいてビデオデータのブロックの変換係数の符号についての値をエントロピー符号化するためのコンテキストモデルを決定するための手段、ここにおいて、前記符号についての前記値は、前記変換係数が正であるのか負であるのかを示す、と、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー符号化するための手段と
を備える、デバイス。
【請求項２３】
テンプレートに従って前記１つまたは複数の隣接変換係数を決定するための手段をさらに備える、
請求項２２に記載のデバイス。
【請求項２４】
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定するための手段をさらに備える、
請求項２２に記載のデバイス。
【請求項２５】
前記変換係数は、第１の変換係数を備え、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定するための手段をさらに備える、
請求項２２に記載のデバイス。
【請求項２６】
実行されたとき、プロセッサに、
隣接変換係数の１つまたは複数の符号値に基づいて前記ビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定すること、ここにおいて、前記符号についての前記値は、前記変換係数が正であるのか負であるのかを示す、と、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー復号することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項２７】
前記プロセッサに、テンプレートに従って前記１つまたは複数の隣接変換係数を決定させる命令をさらに備える、請求項２６に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記プロセッサに、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定させる命令をさらに備える、
請求項２６に記載のコンピュータ可読記憶媒体。
【請求項２９】
前記変換係数は、それについての前記符号が符号データ隠蔽（ＳＤＨ）動作によって隠蔽されない変換係数を備える、
請求項２６に記載のコンピュータ可読記憶媒体。
【請求項３０】
前記変換係数は、第１の変換係数を備え、前記プロセッサに、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定させる命令をさらに備える、
請求項２６に記載のコンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０２０１
【補正方法】変更
【補正の内容】
【０２０１】
[0181]様々な例が説明された。これらおよび他の例は、以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、
隣接変換係数の１つまたは複数の符号値に基づいてビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定することと、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー復号することと
を備える、方法。
［Ｃ２］
テンプレートに従って前記１つまたは複数の隣接変換係数を決定することをさらに備える、
［Ｃ１］に記載の方法。
［Ｃ３］
前記テンプレートは、前記隣接変換係数を、前記変換係数の右の２つの変換係数と、前記変換係数の下の２つの変換係数と、前記変換係数の右下の変換係数とを含むものとして定義する、
［Ｃ２］に記載の方法。
［Ｃ４］
前記テンプレートに従う前記隣接変換係数の大きさに基づいて前記変換係数の大きさをエントロピー復号するための前記コンテキストモデルを決定することをさらに備える、
［Ｃ２］に記載の方法。
［Ｃ５］
スキャン順序、予測モード、変換が可能にされるか否か、変換行列、変換サイズ、またはコーディンググループサイズのうちの１つまたは複数に基づいて、前記テンプレートを選択することをさらに備える、
［Ｃ２］に記載の方法。
［Ｃ６］
前記コンテキストモデルを決定することは、前記隣接変換係数の前記符号についての前記値の和を表す関数に基づいて前記コンテキストモデルを決定することを備える、
［Ｃ２］に記載の方法。
［Ｃ７］
前記関数は、
【数１９】
2018537908.tif 000041
を備え、（ｎ＋１）は、隣接係数の総数を表し、ｘiは、ｉ番目の隣接変換係数を表す、
［Ｃ６］に記載の方法。
［Ｃ８］
前記関数は、
【数２０】
2018537908.tif 000042
を備え、ａｂｓ（ｎ）は、ｎの絶対値を返し、（ｎ＋１）は、隣接係数の総数を表し、ｘiは、ｉ番目の隣接変換係数を表す、
［Ｃ６］に記載の方法。
［Ｃ９］
前記コンテキストモデルを決定することは、前記変換係数の大きさ、前記変換係数を含む変換ユニットのサイズ、変換がスキップされるかどうか、変換行列、または前記ブロックのための予測モードのうちの少なくとも１つに基づいて、前記コンテキストモデルを決定することを備える、
［Ｃ１］に記載の方法。
［Ｃ１０］
前記変換係数の前記符号、および前記関数
【数２１】
2018537908.tif 000043
の値のうちの少なくとも１つに基づいて前記変換係数の前記符号についての前記値を決定することをさらに備え、（ｎ＋１）は、隣接係数の総数を表し、ｘiは、ｉ番目の隣接変換係数を表す、
［Ｃ６］に記載の方法。
［Ｃ１１］
前記変換係数は、それについての前記符号が符号データ隠蔽（ＳＤＨ）動作によって隠蔽されない変換係数を備える、
［Ｃ１］に記載の方法。
［Ｃ１２］
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記コンテキストモデルを決定することは、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定することを備える、
［Ｃ１］に記載の方法。
［Ｃ１３］
前記変換係数は、第１の変換係数を備え、前記方法は、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定することをさらに備える、
［Ｃ１］に記載の方法。
［Ｃ１４］
前記しきい値は、２に等しい、
［Ｃ１３］に記載の方法。
［Ｃ１５］
前記しきい値よりも小さい大きさを有する、順序の第１の非０変換係数についての符号値を復号することと、他の変換係数についての符号値を隠蔽することとをさらに備える、
［Ｃ１３］に記載の方法。
［Ｃ１６］
ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータを記憶するように構成されたメモリと、
デジタル論理回路を使用して実装される１つまたは複数のプロセッサと
を備え、前記プロセッサは、
隣接変換係数の１つまたは複数の符号値に基づいて前記ビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定することと、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー復号することと
を行うように構成された、デバイス。
［Ｃ１７］
前記プロセッサは、テンプレートに従って前記１つまたは複数の隣接変換係数を決定するように構成された、［Ｃ１６］に記載のデバイス。
［Ｃ１８］
前記テンプレートは、前記隣接変換係数を、前記変換係数の右の２つの変換係数と、前記変換係数の下の２つの変換係数と、前記変換係数の右下の変換係数とを含むものとして定義する、
［Ｃ１７］に記載のデバイス。
［Ｃ１９］
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記プロセッサは、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定するように構成された、
［Ｃ１６］に記載のデバイス。
［Ｃ２０］
前記変換係数は、それについての前記符号が符号データ隠蔽（ＳＤＨ）動作によって隠蔽されない変換係数を備える、
［Ｃ１６］に記載のデバイス。
［Ｃ２１］
前記変換係数は、第１の変換係数を備え、前記プロセッサは、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定するようにさらに構成された、
［Ｃ１６］に記載のデバイス。
［Ｃ２２］
ビデオデータを符号化するためのデバイスであって、
隣接変換係数の１つまたは複数の符号値に基づいてビデオデータのブロックの変換係数の符号についての値をエントロピー符号化するためのコンテキストモデルを決定するための手段と、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー符号化するための手段と
を備える、デバイス。
［Ｃ２３］
テンプレートに従って前記１つまたは複数の隣接変換係数を決定するための手段をさらに備える、
［Ｃ２２］に記載のデバイス。
［Ｃ２４］
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定するための手段をさらに備える、
［Ｃ２２］に記載のデバイス。
［Ｃ２５］
前記変換係数は、第１の変換係数を備え、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定するための手段をさらに備える、
［Ｃ２２］に記載のデバイス。
［Ｃ２６］
実行されたとき、プロセッサに、
隣接変換係数の１つまたは複数の符号値に基づいて前記ビデオデータのブロックの変換係数の符号についての値をエントロピー復号するためのコンテキストモデルを決定することと、
前記コンテキストモデルを使用して、前記変換係数の前記符号についての前記値をエントロピー復号することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
［Ｃ２７］
前記プロセッサに、テンプレートに従って前記１つまたは複数の隣接変換係数を決定させる命令をさらに備える、［Ｃ２６］に記載のコンピュータ可読記憶媒体。
［Ｃ２８］
前記変換係数は、現在変換ユニットの現在位置における現在変換係数を備え、前記プロセッサに、前記現在変換ユニットの前記現在位置に対応する、前記現在変換ユニットに対する隣接変換ユニットの位置における前の変換係数の符号についての値に基づいて、前記コンテキストモデルを決定させる命令をさらに備える、
［Ｃ２６］に記載のコンピュータ可読記憶媒体。
［Ｃ２９］
前記変換係数は、それについての前記符号が符号データ隠蔽（ＳＤＨ）動作によって隠蔽されない変換係数を備える、
［Ｃ２６］に記載のコンピュータ可読記憶媒体。
［Ｃ３０］
前記変換係数は、第１の変換係数を備え、前記プロセッサに、第２の変換係数の大きさがしきい値よりも小さいとき、前記第２の変換係数についての周波数に基づいて前記第２の変換係数についての第２の符号の値を決定させる命令をさらに備える、
［Ｃ２６］に記載のコンピュータ可読記憶媒体。
【国際調査報告】
2018537908.tif 000044
2018537908.tif 000045
2018537908.tif 000046
2018537908.tif 000047
2018537908.tif 000048
2018537908.tif 000049
2018537908.tif 000050