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