(57)【要約】  一例では、本開示の態様は、映像復号プロセスにおいて基準インデックス構文要素を復号するための方法に関するものであり、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも１つのビンを復号することを含む。その方法は、基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも１つのビンよりも多くのビンを備えるときに、ＣＡＢＡＣプロセスのバイパスコーディングモードを用いて基準インデックス値の少なくとも他のビンを復号することと、基準インデックスをバイナリ化することと、も含む。
2015513290.tif 000002
【特許請求の範囲】
【請求項１】
映像符号化プロセスにおいて基準インデックス構文要素を符号化するための方法であって、
基準インデックス値をバイナリ化することと、
コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのコンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化することと、
前記バイナリ化された基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも１つのビンよりも多いビンを備えるときに、前記ＣＡＢＡＣプロセスのバイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化することと、を備える、方法。
【請求項２】
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化することは、
第１のコンテキスト（ｃｔｘ０）を用いて前記バイナリ化された基準インデックス値の第１のビン（ビン０）を符号化することと、
第２のコンテキスト（ｃｔｘ１）を用いて前記バイナリ化された基準インデックス値の第２のビン（ビン１）を符号化することと、を備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化することは、
前記バイパスコーディングモードを用いて第３のビン（ビン２）及び前記第３のビン（ビン２）後のすべての残りのビンを符号化することを備える請求項１に記載の方法。
【請求項３】
前記基準インデックス値をバイナリ化することは、結合された打ち切りユナリ及び指数Ｇｏｌｏｍｂコードを用いて前記基準インデックス値をバイナリ化することを備える請求項２に記載の方法。
【請求項４】
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化することは、ユナリ、打ち切りユナリ、Ｇｏｌｏｍｂ、指数Ｇｏｌｏｍｂ、又はＧｏｌｏｍｂ−Ｒｉｃｅコーディングプロセスのうちの少なくとも１つを用いて前記少なくとも他のビンを符号化することを備える請求項１に記載の方法。
【請求項５】
前記第１の基準インデックスと関連付けられた第１の動きベクトル差分値の成分及び第２の基準インデックスと関連付けられた第２の動きベクトル差分値の成分をバイナリ化することと、
前記コンテキストコーディングモードを用いて第１の動きベクトル差分値の前記成分の第１の部分及び前記第２の動きベクトル差分値の前記成分の第１の部分を符号化することと、
前記バイパスコーディングモードを用いて前記第１の動きベクトル差分値の前記成分の第２の部分及び前記第２の動きベクトル差分値の前記成分の第２の部分を符号化することと、をさらに備える請求項１に記載の方法。
【請求項６】
前記第１の動きベクトル差分値の前記成分の前記第１の部分及び前記第２の動きベクトル差分値の前記成分の前記第１の部分を前記コンテキストコーディングモードでのコーディングのために第１のグループに分けることと、
前記第１の動きベクトル差分値の前記成分の前記第２の部分及び前記第２の動きベクトル差分値の成分の前記第２の部分を前記バイパスコーディングモードでのコーディングのために第２のグループに分けることと、をさらに備える請求項５に記載の方法。
【請求項７】
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化することは、
第１のコンテキスト（ｃｔｘ０）を用いて前記バイナリ化された基準インデックス値の第１のビン（ビン０）を符号化することと、
第２のコンテキスト（ｃｔｘ１）を用いて前記バイナリ化された基準インデックス値の第２のビン（ビン１）を符号化することと、
第３のコンテキスト（ｃｔｘ０）を用いて前記バイナリ化された基準インデックス値の第３のビン（ビン２）を符号化することと、を備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化することは、
前記バイパスコーディングモードを用いて前記第３のビン（ビン２）の後のすべての残りのビンを符号化することを備える請求項１に記載の方法。
【請求項８】
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化することは、
第１のコンテキスト（ｃｔｘ０）を用いて前記バイナリ化された基準インデックス値の第１のビン（ビン０）を符号化することを備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化することは、
前記バイパスコーディングモードを用いて前記第１のビン（ビン０）の後のすべての残りのビンを符号化することを備える請求項１に記載の方法。
【請求項９】
前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングすることを備え、
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも１つのビンを符号化することは、
前記コーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも１つのビンを符号化することを備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化することは、
前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを符号化することを備える請求項１に記載の方法。
【請求項１０】
前記基準インデックス値をユナリコーディングすることは、前記基準インデックス値を打ち切りユナリコーディングすることを備える請求項９に記載の方法。
【請求項１１】
前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングすることと、指数−Ｇｏｌｏｍｂコーディングすることと、を備え、
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも１つのビンを符号化することは、
前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを符号化することを備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化することは、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックス値の指数−Ｇｏｌｏｍｂコーディングされた部分の少なくとも他のビンを符号化することを備える請求項１に記載の方法。
【請求項１２】
前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を符号化する前に前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を打ち切ることをさらに備える請求項１１に記載の方法。
【請求項１３】
前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングすることと、固定長コーディングすることと、を備え、
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも１つのビンを符号化することは、前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを符号化することを備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化することは、前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックスの固定長コーディングされた部分の少なくとも他のビンを符号化することを備える請求項１に記載の方法。
【請求項１４】
前記基準インデックス値の前記固定長コーディングされた部分をコーディングする前に前記基準インデックス値の前記固定長コーディングされた部分を打ち切ることをさらに備える請求項１３に記載の方法。
【請求項１５】
前記コンテキストコーディングモードを用いて符号化することは、前記バイナリ化された基準インデックスの前記少なくとも１つのビンをコーディングするための１つ以上の確率モデルを選択することと、前記選択された１つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも１つのビンを符号化することと、備え、
前記バイパスコーディングモードを用いて符号化することは、固定された確率を決定することと、前記固定された確率を用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化することと、を備える請求項１に記載の方法。
【請求項１６】
映像符号化プロセスにおいて基準インデックス構文要素を符号化するための装置であって、
基準インデックス値をバイナリ化し、
コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのコンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化し、及び
前記バイナリ化された基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも１つのビンよりも多いビンを備えるときに、前記ＣＡＢＡＣプロセスのバイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するための１つ以上のプロセッサを備える、装置。
【請求項１７】
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化するために、前記１つ以上のプロセッサは、
第１のコンテキスト（ｃｔｘ０）を用いて前記バイナリ化された基準インデックス値の第１のビン（ビン０）を符号化し、
第２のコンテキスト（ｃｔｘ１）を用いて前記バイナリ化された基準インデックス値の第２のビン（ビン１）を符号化するように構成され、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するために、前記１つ以上のプロセッサは、前記バイパスコーディングモードを用いて第３のビン（ビン２）及び前記第３のビン（ビン２）後のすべての残りのビンを符号化するように構成される請求項１６に記載の装置。
【請求項１８】
前記基準インデックス値をバイナリ化するために、前記１つ以上のプロセッサは、結合された打ち切りユナリ及び指数Ｇｏｌｏｍｂコードを用いて前記基準インデックス値をバイナリ化するように構成される請求項１７に記載の装置。
【請求項１９】
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するために、前記１つ以上のプロセッサは、ユナリ、打ち切りユナリ、Ｇｏｌｏｍｂ、指数Ｇｏｌｏｍｂ、又はＧｏｌｏｍｂ−Ｒｉｃｅコーディングプロセスのうちの少なくとも１つを用いて前記少なくとも他のビンを符号化するように構成される請求項１６に記載の装置。
【請求項２０】
前記１つ以上のプロセッサは、
前記第１の基準インデックスと関連付けられた第１の動きベクトル差分値の成分及び第２の基準インデックスと関連付けられた第２の動きベクトル差分値の成分をバイナリ化し、
前記コンテキストコーディングモードを用いて第１の動きベクトル差分値の前記成分の第１の部分及び前記第２の動きベクトル差分値の前記成分の第１の部分を符号化し、及び
前記バイパスコーディングモードを用いて前記第１の動きベクトル差分値の前記成分の第２の部分及び前記第２の動きベクトル差分値の前記成分の第２の部分を符号化するようにさらに構成される請求項１６に記載の装置。
【請求項２１】
前記１つ以上のプロセッサは、
前記第１の動きベクトル差分値の前記成分の前記第１の部分及び前記第２の動きベクトル差分値の前記成分の前記第１の部分を前記コンテキストコーディングモードでのコーディングのために第１のグループに分け、及び
前記第１の動きベクトル差分値の前記成分の前記第２の部分及び前記第２の動きベクトル差分値の成分の前記第２の部分を前記バイパスコーディングモードでのコーディングのために第２のグループに分けるようにさらに構成される請求項２０に記載の装置。
【請求項２２】
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化するために、前記１つ以上のプロセッサは、
第１のコンテキスト（ｃｔｘ０）を用いて前記バイナリ化された基準インデックス値の第１のビン（ビン０）を符号化し、
第２のコンテキスト（ｃｔｘ１）を用いて前記バイナリ化された基準インデックス値の第２のビン（ビン１）を符号化し、及び
第３のコンテキスト（ｃｔｘ２）を用いて前記バイナリ化された基準インデックス値の第３のビン（ビン２）を符号化するように構成され、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するために、前記１つ以上のプロセッサは、
前記バイパスコーディングモードを用いて前記第３のビン（ビン２）の後のすべての残りのビンを符号化するように構成される請求項１６に記載の装置。
【請求項２３】
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化するために、前記１つ以上のプロセッサは、
第１のコンテキスト（ｃｔｘ０）を用いて前記バイナリ化された基準インデックス値の第１のビン（ビン０）を符号化するように構成され、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するために、前記１つ以上のプロセッサは、
前記バイパスコーディングモードを用いて前記第１のビン（ビン０）の後のすべての残りのビンを符号化するように構成される請求項１６に記載の装置。
【請求項２４】
前記基準インデックス値をバイナリ化するために、前記１つ以上のプロセッサは、前記基準インデックス値をユナリコーディングするように構成され、
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも１つのビンを符号化するために、前記１つ以上のプロセッサは、
前記コーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも１つのビンを符号化するように構成され、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するために、前記１つ以上のプロセッサは、
前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを符号化するように構成される請求項１６に記載の装置。
【請求項２５】
前記基準インデックス値をユナリコーディングするために、前記１つ以上のプロセッサは、前記基準インデックス値を打ち切りユナリコーディングするように構成される請求項２４に記載の装置。
【請求項２６】
前記基準インデックス値をバイナリ化するために、前記１つ以上のプロセッサは、前記基準インデックス値をユナリコーディングし及び指数−Ｇｏｌｏｍｂコーディングするように構成され、
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値のうちの前記少なくとも１つを符号化するために、前記１つ以上のプロセッサは、
前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを符号化するように構成され、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するために、前記１つ以上のプロセッサは、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックス値の指数−Ｇｏｌｏｍｂコーディングされた部分の少なくとも他のビンを符号化するように構成される請求項１６に記載の装置。
【請求項２７】
前記１つ以上のプロセッサは、前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を符号化する前に前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を打ち切るようにさらに構成される請求項２６に記載の装置。
【請求項２８】
前記基準インデックス値をバイナリ化するために、前記１つ以上のプロセッサは、前記基準インデックス値をユナリコーディングし及び固定長コーディングするように構成され、
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックスの前記少なくとも１つのビンを符号化するために、前記１つ以上のプロセッサは、前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを符号化するように構成され、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックスの前記少なくとも他のビンを符号化するために、前記１つ以上のプロセッサは、前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックスの固定長コーディングされた部分の少なくとも他のビンを符号化するように構成される請求項１６に記載の装置。
【請求項２９】
前記１つ以上のプロセッサは、前記基準インデックス値の固定長コーディングされた部分をコーディングする前に前記基準インデックス値の前記固定長コーディングされた部分を打ち切るようにさらに構成される請求項２８に記載の装置。
【請求項３０】
前記コンテキストコーディングモードを用いて符号化するために、前記１つ以上のプロセッサは、前記バイナリ化された基準インデックスの前記少なくとも１つのビンをコーディングするための１つ以上の確率モデルを選択し及び前記選択された１つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも１つのビンを符号化するように構成され、
前記バイパスコーディングモードを用いて符号化するために、前記１つ以上のプロセッサは、固定された確率を決定し及び前記固定された確率を用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するように構成される請求項１６に記載の装置。
【請求項３１】
映像符号化プロセスにおいて基準インデックス構文要素を符号化するための装置であって、
基準インデックス値をバイナリ化するための手段と、
コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのコンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化するための手段と、
前記バイナリ化された基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも１つのビンよりも多いビンを備えるときに、前記ＣＡＢＡＣプロセスのバイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するための手段と、を備える、装置。
【請求項３２】
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化するための前記手段は、
第１のコンテキスト（ｃｔｘ０）を用いて前記バイナリ化された基準インデックス値の第１のビン（ビン０）を符号化するための手段と、
第２のコンテキスト（ｃｔｘ１）を用いて前記バイナリ化された基準インデックス値の第２のビン（ビン１）を符号化するための手段と、を備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するための前記手段は、
前記バイパスコーディングモードを用いて第３のビン（ビン２）及び前記第３のビン（ビン２）後のすべての残りのビンを符号化するための手段を備える請求項３１に記載の装置。
【請求項３３】
前記基準インデックス値をバイナリ化するための前記手段は、結合された打ち切りユナリ及び指数Ｇｏｌｏｍｂコードを用いて前記基準インデックス値をバイナリ化するための手段を備える請求項３２に記載の装置。
【請求項３４】
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するための前記手段は、ユナリ、打ち切りユナリ、Ｇｏｌｏｍｂ、指数Ｇｏｌｏｍｂ、又はＧｏｌｏｍｂ−Ｒｉｃｅコーディングプロセスのうちの少なくとも１つを用いて前記少なくとも他のビンを符号化するための手段を備える請求項３１に記載の装置。
【請求項３５】
前記第１の基準インデックスと関連付けられた第１の動きベクトル差分値の成分及び第２の基準インデックスと関連付けられた第２の動きベクトル差分値の成分をバイナリ化するための手段と、
前記コンテキストコーディングモードを用いて第１の動きベクトル差分値の前記成分の第１の部分及び前記第２の動きベクトル差分値の前記成分の第１の部分を符号化するための手段と、
前記バイパスコーディングモードを用いて前記第１の動きベクトル差分値の前記成分の第２の部分及び前記第２の動きベクトル差分値の前記成分の第２の部分を符号化するための手段と、をさらに備える請求項３１に記載の装置。
【請求項３６】
前記第１の動きベクトル差分値の前記成分の前記第１の部分及び前記第２の動きベクトル差分値の前記成分の前記第１の部分を前記コンテキストコーディングモードでのコーディングのために第１のグループに分けるための手段と、
第１の動きベクトル差分値の前記成分の前記第２の部分及び前記第２の動きベクトル差分値の成分の前記第２の部分を前記バイパスコーディングモードでのコーディングのために第２のグループに分けるための手段と、をさらに備える請求項３５に記載の装置。
【請求項３７】
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化するための前記手段は、
第１のコンテキスト（ｃｔｘ０）を用いて前記バイナリ化された基準インデックス値の第１のビン（ビン０）を符号化するための手段と、
第２のコンテキスト（ｃｔｘ１）を用いて前記バイナリ化された基準インデックス値の第２のビン（ビン１）を符号化するための手段と、
第３のコンテキスト（ｃｔｘ２）を用いて前記バイナリ化された基準インデックス値の第３のビン（ビン２）を符号化するための手段と、を備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するため前記手段は、
前記バイパスコーディングモードを用いて前記第３のビン（ビン２）の後のすべての残りのビンを符号化するための手段を備える請求項３１に記載の装置。
【請求項３８】
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも１つのビンを符号化するための前記手段は、
第１のコンテキスト（ｃｔｘ０）を用いて前記バイナリ化された基準インデックス値の第１のビン（ビン０）を符号化するための手段を備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するための前記手段は、
前記バイパスコーディングモードを用いて前記第１のビン（ビン０）の後のすべての残りのビンを符号化するための手段を備える請求項３１に記載の装置。
【請求項３９】
前記基準インデックス値をバイナリ化するための前記手段は、前記基準インデックス値をユナリコーディングするための手段を備え、
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも１つのビンを符号化するための前記手段は、
前記コーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも１つのビンを符号化するための手段を備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するための前記手段は、
前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを符号化するための手段を備える請求項３１に記載の装置。
【請求項４０】
前記基準インデックス値をユナリコーディングするための前記手段は、前記基準インデックス値を打ち切りユナリコーディングするための手段を備える請求項３９に記載の装置。
【請求項４１】
前記基準インデックス値をバイナリ化するための前記手段は、前記基準インデックス値をユナリコーディングし及び指数−Ｇｏｌｏｍｂコーディングするための手段を備え、
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値のうちの前記少なくとも１つのビンを符号化するための前記手段は、
前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを符号化するための手段を備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するための前記手段は、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックス値の指数−Ｇｏｌｏｍｂコーディングされた部分の少なくとも他のビンを符号化するための手段を備える請求項３１に記載の装置。
【請求項４２】
前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を符号化する前に前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を打ち切るための手段をさらに備える請求項４１に記載の装置。
【請求項４３】
前記基準インデックス値をバイナリ化するための前記手段は、前記基準インデックス値をユナリコーディングし及び固定長コーディングするための手段を備え、
前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックスの前記少なくとも１つのビンを符号化するための前記手段は、前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを符号化するための手段を備え、
前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックスの前記少なくとも他のビンを符号化するための前記手段は、前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックスの固定長コーディングされた部分の少なくとも他のビンを符号化するための手段を備える請求項３１に記載の装置。
【請求項４４】
前記基準インデックス値の前記固定長コーディングされた部分をコーディングする前に基準インデックス値の前記固定長コーディングされた部分を打ち切るための手段をさらに備える請求項４３に記載の装置。
【請求項４５】
前記コンテキストコーディングモードを用いて符号化するための手段は、前記バイナリ化された基準インデックスの前記少なくとも１つのビンをコーディングするための１つ以上の確率モデルを選択するための手段と、前記選択された１つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも１つのビンを符号化するための手段と、備え、
前記バイパスコーディングモードを用いて符号化するための手段は、固定された確率を決定するための手段と、前記固定された確率を用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するための手段と、を備える請求項３１に記載の装置。
【請求項４６】
映像復号プロセスにおいて基準インデックス構文要素を復号するための方法であって、
コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも１つのビンを復号することと、
前記基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも１つのビンよりも多いビンを備えるときに、前記ＣＡＢＡＣプロセスのバイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号することと、
前記基準インデックス値をバイナリ化することと、を備える、方法。
【請求項４７】
前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも１つのビンを復号することは、
第１のコンテキスト（ｃｔｘ０）を用いて前記基準インデックス値の第１のビン（ビン０）を復号することと、
第２のコンテキスト（ｃｔｘ１）を用いて前記基準インデックス値の第２のビン（ビン１）を復号することと、を備え、
前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号することは、
前記バイパスコーディングモードを用いて第３のビン（ビン２）及び前記第３のビン（ビン２）後のすべての残りのビンを復号することを備える請求項４６に記載の方法。
【請求項４８】
前記基準インデックス値をバイナリ化することは、結合された打ち切りユナリ及び指数Ｇｏｌｏｍｂコードを用いて前記基準インデックス値をバイナリ化することを備える請求項４７に記載の方法。
【請求項４９】
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号することは、ユナリ、打ち切りユナリ、Ｇｏｌｏｍｂ、指数Ｇｏｌｏｍｂ、又はＧｏｌｏｍｂ−Ｒｉｃｅコーディングプロセスのうちの少なくとも１つを用いて前記少なくとも他のビンを復号することを備える請求項４６に記載の方法。
【請求項５０】
前記コンテキストコーディングモードを用いて第１の動きベクトル差分値の成分の第１の部分及び第２の動きベクトル差分値の成分の第１の部分を復号することと、
前記バイパスコーディングモードを用いて前記第１の動きベクトル差分値の前記成分の第２の部分及び前記第２の動きベクトル差分値の前記成分の第２の部分を復号することと、
前記第１の基準インデックスと関連付けられた前記第１の動きベクトル差分値の前記成分及び第２の基準インデックスと関連付けられた前記第２の動きベクトル差分値の前記成分をバイナリ化することと、をさらに備える請求項４６に記載の方法。
【請求項５１】
前記第１の動きベクトル差分値の前記成分の前記第１の部分及び前記第２の動きベクトル差分値の前記成分の前記第１の部分を前記コンテキストコーディングモードでのコーディングのために第１のグループに分けることと、
前記第１の動きベクトル差分値の前記成分の前記第２の部分及び前記第２の動きベクトル差分値の成分の前記第２の部分を前記バイパスコーディングモードでのコーディングのために第２のグループに分けることと、をさらに備える請求項５０に記載の方法。
【請求項５２】
前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも１つのビンを復号することは、
第１のコンテキスト（ｃｔｘ０）を用いて前記基準インデックス値の第１のビン（ビン０）を復号することと、
第２のコンテキスト（ｃｔｘ１）を用いて前記基準インデックスの第２のビン（ビン１）を復号することと、
第３のコンテキスト（ｃｔｘ２）を用いて前記基準インデックスの第３のビン（ビン２）を復号することと、を備え、
前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号することは、
前記バイパスコーディングモードを用いて前記第３のビン（ビン２）の後のすべての残りのビンを復号することを備える請求項４６に記載の方法。
【請求項５３】
前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも１つのビンを復号することは、
第１のコンテキスト（ｃｔｘ０）を用いて前記基準インデックス値の第１のビン（ビン０）を復号することを備え、
前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号することは、
前記バイパスコーディングモードを用いて前記第１のビン（ビン０）の後のすべての残りのビンを復号することを備える請求項４６に記載の方法。
【請求項５４】
前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも１つのビンを復号することは、
前記コンテキストコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも１つのビンを復号することを備え、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号することは、
前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを復号することを備え、
前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングすることを備える請求項４６に記載の方法。
【請求項５５】
前記基準インデックス値をユナリコーディングすることは、前記基準インデックス値を打ち切りユナリコーディングすることを備える請求項５４に記載の方法。
【請求項５６】
前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも１つのビンを復号することは、
前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを復号することを備え、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号することは、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックス値の指数−Ｇｏｌｏｍｂコーディングされた部分の少なくとも他のビンを復号することを備え、
前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングことと、指数−Ｇｏｌｏｍｂコーディングすることと、を備える請求項４６に記載の方法。
【請求項５７】
前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を復号する前に前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を打ち切ることをさらに備える請求項５６に記載の方法。
【請求項５８】
前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも１つのビンを復号することは、前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを復号することを備え、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号することは、前記バイパスコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分及び前記基準インデックス値の固定長コーディングされた部分の少なくとも他のビンを復号することを備え、
前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングすることと、固定長コーディングすることと、を備える請求項４６に記載の方法。
【請求項５９】
前記基準インデックス値の固定長コーディングされた部分をコーディングする前に前記基準インデックス値の前記固定長コーディングされた部分を打ち切ることをさらに備える請求項５８に記載の方法。
【請求項６０】
前記コンテキストコーディングモードを用いて復号することは、前記バイナリ化された基準インデックスの前記少なくとも１つのビンをコーディングするための１つ以上の確率モデルを選択することと、前記選択された１つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも１つのビンを復号することと、を備え、
前記バイパスコーディングモードを用いて復号することは、固定された確率を決定することと、前記固定された確率を用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを復号することと、を備える請求項４６に記載の方法。
【請求項６１】
映像復号プロセスにおいて基準インデックス構文要素を復号するための装置であって、
コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも１つのビンを復号し、
前記基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも１つのビンよりも多いビンを備えるときに、前記ＣＡＢＡＣプロセスのバイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号し、及び
前記基準インデックス値をバイナリ化するように構成された１つ以上のプロセッサ、を備える、装置
【請求項６２】
前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも１つのビンを復号するために、前記１つ以上のプロセッサは、
第１のコンテキスト（ｃｔｘ０）を用いて前記基準インデックス値の第１のビン（ビン０）を復号し、
第２のコンテキスト（ｃｔｘ１）を用いて前記基準インデックス値の第２のビン（ビン１）を復号するように構成され、
前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記１つ以上のプロセッサは、
前記バイパスコーディングモードを用いて第３のビン（ビン２）及び前記第３のビン（ビン２）後のすべての残りのビンを復号するように構成される請求項６１に記載の装置。
【請求項６３】
前記基準インデックス値をバイナリ化するために、前記１つ以上のプロセッサは、結合された打ち切りユナリ及び指数Ｇｏｌｏｍｂコードを用いて前記基準インデックス値をバイナリ化するように構成される請求項６２に記載の装置。
【請求項６４】
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記１つ以上のプロセッサは、ユナリ、打ち切りユナリ、Ｇｏｌｏｍｂ、指数Ｇｏｌｏｍｂ、又はＧｏｌｏｍｂ−Ｒｉｃｅコーディングプロセスのうちの少なくとも１つを用いて前記少なくとも他のビンを復号するように構成される請求項６１に記載の装置。
【請求項６５】
前記１つ以上のプロセッサは、
前記コンテキストコーディングモードを用いて第１の動きベクトル差分値の成分の第１の部分及び第２の動きベクトル差分値の成分の第１の部分を復号し、
前記バイパスコーディングモードを用いて前記第１の動きベクトル差分値の前記成分の第２の部分及び前記第２の動きベクトル差分値の前記成分の第２の部分を復号し、及び
前記第１の基準インデックスと関連付けられた前記第１の動きベクトル差分値の前記成分及び第２の基準インデックスと関連付けられた前記第２の動きベクトル差分値の前記成分をバイナリ化するようにさらに構成される請求項６１に記載の装置。
【請求項６６】
前記１つ以上のプロセッサは、
前記第１の動きベクトル差分値の前記成分の前記第１の部分及び前記第２の動きベクトル差分値の前記成分の前記第１の部分を前記コンテキストコーディングモードでのコーディングのために第１のグループに分け、及び
前記第１の動きベクトル差分値の前記成分の前記第２の部分及び前記第２の動きベクトル差分値の成分の前記第２の部分を前記バイパスコーディングモードでのコーディングのために第２のグループに分けるようにさらに構成される請求項６５に記載の装置。
【請求項６７】
前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも１つのビンを復号するために、前記１つ以上のプロセッサは、
第１のコンテキスト（ｃｔｘ０）を用いて前記基準インデックス値の第１のビン（ビン０）を復号し、
第２のコンテキスト（ｃｔｘ１）を用いて前記基準インデックス値の第２のビン（ビン１）を復号し、
第３のコンテキスト（ｃｔｘ０）を用いて前記基準インデックス値の第３のビン（ビン２）を復号するように構成され、
前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記１つ以上のプロセッサは、
前記バイパスコーディングモードを用いて前記第３のビン（ビン２）の後のすべての残りのビンを復号するように構成される請求項６１に記載の装置。
【請求項６８】
前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも１つのビンを復号するために、前記１つ以上のプロセッサは、
第１のコンテキスト（ｃｔｘ０）を用いて前記基準インデックス値の第１のビン（ビン０）を復号するように構成され、
前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記１つ以上のプロセッサは、
前記バイパスコーディングモードを用いて前記第１のビン（ビン０）の後のすべての残りのビンを復号するように構成される請求項６１に記載の装置。
【請求項６９】
前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも１つのビンを復号するために、前記１つ以上のプロセッサは、
前記コーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも１つのビンを復号するように構成され、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記１つ以上のプロセッサは、
前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを復号するように構成され、
前記基準インデックス値をバイナリ化するために、前記１つ以上のプロセッサは、前記基準インデックス値をユナリコーディングするように構成される請求項６１に記載の装置。
【請求項７０】
前記基準インデックス値をユナリコーディングするために、前記１つ以上のプロセッサは、前記基準インデックス値を打ち切りユナリコーディングするように構成される請求項６９に記載の装置。
【請求項７１】
前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも１つのビンを復号するために、前記１つ以上のプロセッサは、
前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを復号するように構成され、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記１つ以上のプロセッサは、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックス値の指数−Ｇｏｌｏｍｂコーディングされた部分の少なくとも他のビンを復号するように構成され、
前記基準インデックス値をバイナリ化するために、前記１つ以上のプロセッサは、前記基準インデックス値をユナリコーディングし及び指数−Ｇｏｌｏｍｂコーディングするように構成される請求項６１に記載の装置。
【請求項７２】
前記１つ以上のプロセッサは、前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を復号する前に前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を打ち切るようにさらに構成される請求項７１に記載の装置。
【請求項７３】
前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも１つのビンを復号するために、前記１つ以上のプロセッサは、前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを復号するように構成され、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記１つ以上のプロセッサは、前記バイパスコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分及び前記基準インデックス値の固定長コーディングされた部分の少なくとも他のビンを復号するように構成され、
前記基準インデックス値をバイナリ化するために、前記１つ以上のプロセッサは、前記基準インデックス値をユナリコーディングし及び固定長コーディングするように構成される請求項６１に記載の装置。
【請求項７４】
前記１つ以上のプロセッサは、前記基準インデックス値の前記固定長コーディングされた部分をコーディングする前に前記基準インデックス値の前記固定長コーディングされた部分を打ち切るようにさらに構成される請求項７３に記載の装置。
【請求項７５】
前記コンテキストコーディングモードを用いて復号するために、前記１つ以上のプロセッサは、前記バイナリ化された基準インデックスの前記少なくとも１つのビンをコーディングするための１つ以上の確率モデルを選択し及び前記選択された１つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも１つのビンを復号するように構成され、
前記バイパスコーディングモードを用いて復号するために、前記１つ以上のプロセッサは、固定された確率を決定し及び前記固定された確率を用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを復号するように構成される請求項６１に記載の装置。
【請求項７６】
非一時的なコンピュータによって読み取り可能な媒体であって、
実行されたときに、
コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも１つのビンを復号し、
前記基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも１つのビンよりも多いビンを備えるときに、前記ＣＡＢＡＣプロセスのバイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号し、及び
前記基準インデックス値をバイナリ化することを１つ以上のプロセッサに行わせる命令を格納している、非一時的なコンピュータによって読み取り可能な媒体。
【請求項７７】
前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも１つのビンを復号するために、前記命令は、
第１のコンテキスト（ｃｔｘ０）を用いて前記基準インデックス値の第１のビン（ビン０）を復号し、
第２のコンテキスト（ｃｔｘ１）を用いて前記基準インデックス値の第２のビン（ビン１）を復号することを前記１つ以上のプロセッサに行わせ、
前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記命令は、
前記バイパスコーディングモードを用いて第３のビン（ビン２）及び前記第３のビン（ビン２）後のすべての残りのビンを復号することを前記１つ以上のプロセッサに行わせる請求項７６に記載のコンピュータによって読み取り可能な媒体。
【請求項７８】
前記基準インデックス値をバイナリ化するために、前記命令は、結合された打ち切りユナリ及び指数Ｇｏｌｏｍｂコードを用いて前記基準インデックス値をバイナリ化することを前記１つ以上のプロセッサに行わせる請求項７７に記載のコンピュータによって読み取り可能な媒体。
【請求項７９】
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記命令は、ユナリ、打ち切りユナリ、Ｇｏｌｏｍｂ、指数Ｇｏｌｏｍｂ、又はＧｏｌｏｍｂ−Ｒｉｃｅコーディングプロセスのうちの少なくとも１つを用いて前記少なくとも他のビンを復号することを前記１つ以上のプロセッサに行わせる請求項７６に記載のコンピュータによって読み取り可能な媒体。
【請求項８０】
前記コンテキストコーディングモードを用いて第１の動きベクトル差分値の成分の第１の部分及び第２の動きベクトル差分値の成分の第１の部分を復号し、
前記バイパスコーディングモードを用いて前記第１の動きベクトル差分値の前記成分の第２の部分及び前記第２の動きベクトル差分値の前記成分の第２の部分を復号し、及び
前記第１の基準インデックスと関連付けられた前記第１の動きベクトル差分値の前記成分及び第２の基準インデックスと関連付けられた前記第２の動きベクトル差分値の前記成分をバイナリ化することを前記１つ以上のプロセッサに行わせる命令をさらに備える請求項７６に記載のコンピュータによって読み取り可能な媒体。
【請求項８１】
前記第１の動きベクトル差分値の前記成分の前記第１の部分及び前記第２の動きベクトル差分値の前記成分の前記第１の部分を前記コンテキストコーディングモードでのコーディングのために第１のグループに分け、及び
前記第１の動きベクトル差分値の前記成分の前記第２の部分及び前記第２の動きベクトル差分値の成分の前記第２の部分を前記バイパスコーディングモードでのコーディングのために第２のグループに分けることを前記１つ以上のプロセッサに行わせる命令をさらに備える請求項８０に記載のコンピュータによって読み取り可能な媒体。
【請求項８２】
前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも１つのビンを復号するために、前記命令は、
第１のコンテキスト（ｃｔｘ０）を用いて前記基準インデックス値の第１のビン（ビン０）を復号し、
第２のコンテキスト（ｃｔｘ１）を用いて前記基準インデックス値の第２のビン（ビン１）を復号し、
第３のコンテキスト（ｃｔｘ２）を用いて前記バイナリ化された基準インデックス値の第３のビン（ビン２）を復号することを前記１つ以上のプロセッサに行わせ、
前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記命令は、
前記バイパスコーディングモードを用いて前記第３のビン（ビン２）の後のすべての残りのビンを符号化することを前記１つ以上のプロセッサに行わせる請求項７６に記載のコンピュータによって読み取り可能な媒体。
【請求項８３】
前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも１つのビンを復号するために、前記命令は、
第１のコンテキスト（ｃｔｘ０）を用いて前記基準インデックス値の第１のビン（ビン０）を復号することを前記１つ以上のプロセッサに行わせ、
前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記命令は、
前記バイパスコーディングモードを用いて前記第１のビン（ビン０）の後のすべての残りのビンを復号することを前記１つ以上のプロセッサに行わせる請求項７６に記載のコンピュータによって読み取り可能な媒体。
【請求項８４】
前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも１つのビンを復号するために、前記命令は、
前記コンテキストコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも１つのビンを復号することを前記１つ以上のプロセッサに行わせ、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記命令は、
前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを復号することを前記１つ以上のプロセッサに行わせ、
前記基準インデックス値をバイナリ化するために、前記命令は、前記基準インデックス値をユナリコーディングすることを前記１つ以上のプロセッサに行わせる請求項７６に記載のコンピュータによって読み取り可能な媒体。
【請求項８５】
前記基準インデックス値をユナリコーディングするために、前記命令は、前記基準インデックス値を打ち切りユナリコーディングすることを前記１つ以上のプロセッサに行わせる請求項８４に記載のコンピュータによって読み取り可能な媒体。
【請求項８６】
前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも１つのビンを復号するために、前記命令は、
前記コンテンツコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを復号することを前記１つ以上のプロセッサに行わせ、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記命令は、
前記バイパスコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分及び前記基準インデックス値の指数−Ｇｏｌｏｍｂコーディングされた部分の少なくとも他のビンを復号することを前記１つ以上のプロセッサに行わせ、
前記基準インデックス値をバイナリ化するために、前記命令は、前記基準インデックス値をユナリコーディングすること及び指数−Ｇｏｌｏｍｂコーディングすることを前記１つ以上のプロセッサに行わせる請求項７６に記載のコンピュータによって読み取り可能な媒体。
【請求項８７】
前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を復号する前に前記基準インデックス値の前記指数−Ｇｏｌｏｍｂコーディングされた部分を打ち切ることを前記１つ以上のプロセッサに行わせる命令をさらに備える請求項８６に記載のコンピュータによって読み取り可能な媒体。
【請求項８８】
前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも１つのビンを復号するために、前記命令は、
前記コンテンツコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも１つのビンを復号することを前記１つ以上のプロセッサに行わせ、
前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記命令は、前記バイパスコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分及び前記基準インデックス値の固定長コーディングされた部分の少なくとも他のビンを復号することを前記１つ以上のプロセッサに行わせ、
前記基準インデックス値をバイナリ化するために、前記命令は、前記基準インデックス値をユナリコーディングすること及び固定長コーディングすることを前記１つ以上のプロセッサに行わせる請求項７６に記載のコンピュータによって読み取り可能な媒体。
【請求項８９】
前記基準インデックス値の前記固定長コーディングされた部分をコーディングする前に前記基準インデックス値の前記固定長コーディングされた部分を打ち切ることを前記１つ以上のプロセッサに行わせる命令をさらに備える請求項８８に記載のコンピュータによって読み取り可能な媒体。
【請求項９０】
前記コンテキストコーディングモードを用いて復号するために、前記命令は、前記バイナリ化された基準インデックスの前記少なくとも１つのビンをコーディングするための１つ以上の確率モデルを選択すること及び前記選択された１つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも１つのビンを復号することを前記１つ以上のプロセッサに行わせ、
前記バイパスコーディングモードを用いて復号するために、前記命令は、固定された確率を決定すること及び前記固定された確率を用いて前記バイナリ化された基準インデックスの前記少なくとも他のビンを復号することを前記１つ以上のプロセッサに行わせる請求項７６に記載のコンピュータによって読み取り可能な媒体。
【請求項９１】
前記ＣＡＢＡＣプロセスのコンテキストコーディングモードを用いてインター予測方向構文要素の第１のビンを復号し、及び
前記ＣＡＢＡＣプロセスのバイパスコーディングモードを用いて前記インター予測方向構文要素の第２のビンを復号することを前記１つ以上のプロセッサに行わせる命令をさらに備える請求項７６に記載のコンピュータによって読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［０００１］本開示は、米国仮特許出願第６１／６２３，０４３号（出願日：２０１２年４月１１日）、米国仮特許出願第６１／６３７，２１８号（出願日：２０１２年４月２３日）、米国仮特許出願第６１／６４０，５６８号（出願日：２０１２年４月３０日）米国仮特許出願第６１／６４７，４２２号（出願日：２０１２年５月１５日）、及び米国仮特許出願第６１／６６５，１５１号（出願日：２０１２年６月２７日）、の利益を主張するものであり、それらの各々の内容全体が、引用によってここに組み入れられている。
【０００２】
［０００２］本開示は、映像コーディングに関するものである。本開示は、より具体的には、映像コーディングプロセスにおいて構文要素をコーディングするための技法に関するものである。
【背景技術】
【０００３】
［０００３］デジタル映像能力を広範なデバイス内に組み入れることができ、デジタルテレビと、デジタル直接放送システムと、無線放送システムと、パーソナルデジタルアシスタント（ＰＤＡ）と、ラップトップ又はデスクトップコンピュータと、タブレットコンピュータと、デジタルカメラと、デジタル記録デバイスと、デジタルメディアプレーヤーと、ビデオゲームプレイ装置と、ビデオゲームコンソールと、セルラー又は衛星無線電話と、ビデオ会議装置と、等を含む。デジタル映像デバイスは、デジタル映像情報をより効率的に送信、受信、符号化、復号、及び格納するために、映像圧縮技法、例えば、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、アドバンストビデオコーディング（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ））、現在策定中の高効率映像コーディング（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格によって定義される規格、及び該規格の拡張版において説明されるそれら、を実装する。
【０００４】
［０００４］映像圧縮技法は、映像シーケンスに固有の冗長性を低減又は除去するための空間予測及び／又は時間予測を含む。ブロックに基づく映像コーディングでは、映像フレーム又はスライスをブロックに分割することができる。映像フレームは、代替として、ピクチャと呼ぶことができる。各ブロックは、さらに分割することができる。イントラコーディングされた（Ｉ）ピクチャ又はスライス内のブロックは、同じピクチャ又はスライス内の近隣ブロック内の基準サンプルに関して空間予測を用いて符号化される。インターコーディングされた（Ｐ又はＢ）ピクチャ又はスライス内のブロックは、同じピクチャ又はスライス内の近隣ブロック内の基準サンプルに関しては空間予測、その他の基準ピクチャ内の基準サンプルに関しては時間予測を使用することができる。空間又は時間予測の結果、コーディングされるべきブロックに関する予測ブロックが得られる。残差データは、コーディングされるべきオリジナルのブロックと予測ブロックとの間のピクセル差分を表す。
【０００５】
［０００５］インターコーディングされるブロックは、予測ブロックを形成する基準サンプルのブロックを指し示す動きベクトル、及びコーディングされたブロックと予測ブロックとの間の差分を示す残差データにより符号化される。イントラコーディングされるブロックは、イントラコーディングモード及び残差データにより符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換することができ、その結果残差変換係数が得られ、それらは量子化することができる。量子化された変換係数は、最初は二次元配列で配置され、エントロピーコーディングに関する変換係数の一次元ベクトルを生成するために特定の順序で走査することができる。エントロピーコーディングは、映像コーディングプロセスにおいて使用される様々なその他の構文要素に対しても適用することができる。
【発明の概要】
【０００６】
［０００６］本開示の技法は、概して、映像データをエントロピーコーディングすることに関するものである。例えば、コンテキスト適応型コーディングを行うときには、映像コーダは、確率推定値を用いてデータの各ビット又は“ビン”をコーディングすることができ、それは、ビンが所定のバイナリ値を有する尤度を示すことができる。確率推定値は、“コンテキストモデル”とも呼ばれる確率モデル内に含めることができる。映像コーダは、ビンに関するコンテキストを決定することによってコンテキストモデルを選択することができる。ビンに関するコンテキストは、以前にコーディングされた構文要素の関連ビンの値を含むことができる。ビンをコーディング後は、映像コーダは、最も現在の確率推定値を反映させるためにビンの値に基づいてコンテキストモデルを更新することができる。コンテキストコーディングモードを適用することとは対照的に、映像コーダは、バイパスコーディングモードを適用することができる。例えば、映像コーダは、正規の算術コーディングプロセスをバイパス、又は省略するためにバイパスモードを使用することができる。該事例では、映像コーダは、ビンをバイパスコーディングするために（コーディング中に更新されない）固定確率モデルを使用することができる。
【０００７】
［０００７］本開示の技法は、インターコーディングされた映像データと関連付けられた構文要素を効率的にコンテキストコーディングすることに関するものである。例えば、本開示の態様は、基準インデックス値、動きベクトル予測子、動きベクトル差分値、等を効率的にコーディングすることに関するものである。幾つかの事例では、映像コーダは、構文要素の幾つかのビンに関してはコンテキストコーディング及び構文要素のその他のビンに関してはバイパスコーディングを行うことができる。例えば、映像コーダは、基準インデックス値の１つ以上のビンをコンテキストコーディングし、基準インデックス値の１つ以上のその他のビンをバイパスコーディングすることができる。
【０００８】
［０００８］一例では、本開示の態様は、映像符号化プロセスにおいて基準インデックス構文要素を符号化するための方法に関するものであり、基準インデックス値をバイナリ化することと、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）のコンテキストコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも１つのビンを符号化することと、バイナリ化された基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも１つのビンよりも多くのビンを備えるときに、ＣＡＢＡＣプロセスのバイパスコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも他のビンを符号化することと、を含む。
【０００９】
［０００９］他の例では、本開示の態様は、映像符号化プロセスにおいて基準インデックス構文要素を符号化するための装置に関するものであり、基準インデックス値をバイナリ化し、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのコンテキストコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも１つのビンを符号化し、及び、バイナリ化された基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも１つのビンよりも多くのビンを備えるときに、ＣＡＢＡＣプロセスのバイパスコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも他のビンを符号化するための１つ以上のプロセッサを含む。
【００１０】
［００１０］他の例では、本開示の態様は、映像符号化プロセスにおいて基準インデックス構文要素を符号化するための装置に関するものであり、基準インデックス値をバイナリ化するための手段と、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのコンテキストコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも１つのビンを符号化するための手段と、バイナリ化された基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも１つのビンよりも多くのビンを備えるときに、ＣＡＢＡＣプロセスのバイパスコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも他のビンを符号化するための手段と、を含む。
【００１１】
［００１１］他の例では、本開示の態様は、映像復号プロセスにおいて基準インデックス構文要素を復号するための方法に関するものであり、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）のコンテキストコーディングモードを用いて基準インデックス値の少なくとも１つのビンを復号することと、基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも１つのビンよりも多くのビンを備えるときに、ＣＡＢＡＣプロセスのバイパスコーディングモードを用いて基準インデックス値の少なくとも他のビンを復号することと、基準インデックス値をバイナリ化することと、を含む。
【００１２】
［００１２］他の例では、本開示の態様は、映像復号プロセスにおいて基準インデックス構文要素を復号するための装置に関するものであり、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも１つのビンを復号し、基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも１つのビンよりも多くのビンを備えるときに、ＣＡＢＡＣプロセスのバイパスコーディングモードを用いて基準インデックス値の少なくとも他のビンを復号し、及び基準インデックス値をバイナリ化するように構成された１つ以上のプロセッサを含む。
【００１３】
［００１３］他の例では、本開示の態様は、実行されたときに、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも１つのビンを復号し、基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも１つのビンよりも多くのビンを備えるときに、ＣＡＢＡＣプロセスのバイパスコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも他のビンを復号し、及び基準インデックス値をバイナリ化することを１つ以上のプロセッサに行わせる命令を格納する非一時的なコンピュータによって読み取り可能な媒体に関するものである。
【００１４】
［００１４］１つ以上の例の詳細が、添付図及び以下の説明において示される。それらの説明と図面から、及び請求項から、その他の特徴、目的、及び利点が明らかになるであろう。
【図面の簡単な説明】
【００１５】
［００１５］
【図１】映像符号化及び復号システム例を示したブロック図である。
【００１６】
［００１６］
【図２】映像符号器例を示したブロック図である。
【００１７】
［００１７］
【図３】映像復号器例を示したブロック図である。
【００１８】
［００１８］
【図４】算術コーディングプロセス例を示したブロック図である。
【００１９】
［００１９］
【図５Ａ】予測データのストリング例を示したブロック図である。
【００２０】
［００２０］
【図５Ｂ】予測データの他のストリング例を示したブロック図である。
【００２１】
［００２１］
【図６】予測データの他のストリング例を示したブロック図である。
【００２２】
［００２２］
【図７】予測データの他のストリング例を示したブロック図である。
【００２３】
［００２３］
【図８Ａ】３つの可能な値を用いてインター予測方向構文要素をコンテキストコーディングすることを例示したブロック図である。
【００２４】
［００２４］
【図８Ｂ】本開示の態様による、インター予測方向構文要素をバイパスコーディングすることを例示したブロック図である。
【００２５】
［００２５］
【図９】本開示の態様による、基準インデックス値をエントロピー符号化する例を示したフローチャート図である。
【００２６】
［００２６］
【図１０】本開示の態様による、基準インデックス値をエントロピー復号する例を示したフローチャート図である。
【００２７】
［００２７］
【図１１】本開示の態様による、予測データをエントロピー符号化する例を示したフローチャートである。
【００２８】
［００２８］
【図１２】本開示の態様による、予測データをエントロピー復号する例を示したフローチャートである。
【発明を実施するための形態】
【００２９】
［００２９］映像コーディングデバイスは、空間的及び時間的冗長性を利用することによって映像データを圧縮することができる。例えば、映像符号器は、近隣の以前にコーディングされたブロックに関してブロックをコーディングすることによって空間的冗長性を利用することができる。同様に、映像符号器は、以前にコーディングされたピクチャのデータに関してブロックをコーディングすることによって時間的冗長性を利用することができる。特に、映像符号器は、空間的近隣物のデータから（イントラコーディングと呼ばれる）又は１つ以上のその他のピクチャのデータから（インターコーディングと呼ばれる）現在のブロックを予測することができる。次に、映像符号器は、ブロックに関する実際のピクセル値とブロックに関する予測されたピクセル値との間の差分としてブロックに関する残差を計算することができる。従って、ブロックに関する残差は、ピクセル（又は空間）領域におけるピクセル間差分値を含むことができる。
【００３０】
［００３０］映像コーダは、映像データのブロックをインター予測するときには動き推定及び動き補償を行うことができる。例えば、動き推定は、映像符号器において行われ、１つ以上の動きベクトルを計算することを含む。動きベクトルは、基準ピクチャの基準サンプルに対する現在のピクチャ内の映像データのブロックの変位を示すことができる。基準サンプルは、ピクセル差分の点でコーディング中のブロックに密接にマッチすることが判明しているブロックであり、それは、絶対差分和（ＳＡＤ）、平方差分和（ＳＳＤ）、又はその他の差分メトリックによって決定することができる。基準サンプルは、必ずしも基準ピクチャ又は基準スライスのブロック境界ではなく、基準ピクチャ又は基準スライス内のいずれの場所でも生じることができる。幾つかの例では、基準サンプルは、分数のピクセル位置において生じることができる。
【００３１】
［００３１］動きベクトルを定義するデータは、例えば、予測方向によって示される、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルに関する分解能（１／４ピクセル精度又は１／８ピクセル精度）、動きベクトルが指し示す基準ピクチャ、及び／又は動きベクトルに関する基準ピクチャリスト（リスト０（Ｌ０）、リスト１（Ｌ１）又は結合リスト（ＬＣ）を記述することができる。基準インデックス（ｒｅｆ＿ｉｄｘ）は、動きベクトルが指し示す基準ピクチャリスト内の特定のピクチャを識別することができる。この方法により、ｒｅｆ＿ｉｄｘ構文要素は、基準ピクチャリスト、例えば、Ｌ０、Ｌ１又はＬＣ内へのインデックスとしての役割を果たす。
【００３２】
［００３２］基準ブロックを識別した時点で、オリジナルの映像データブロックと基準ブロックとの間の差分が決定される。この差分は、予測残差データと呼ぶことができ、ブロック内のピクセル値とコーディングされたブロックを表すために選択された基準ブロック内のピクセル値との間のピクセル差分を示す。より良い圧縮を達成するために、予測残差データは、例えば、離散コサイン変換（ＤＣＴ）、整数変換、Ｋａｒｈｕｎｅｎ−Ｌｏｅｖｅ（Ｋ−Ｌ）変換、又は他の変換を用いて変換することができる。さらなる圧縮のために、変換係数は量子化することができる。
【００３３】
［００３３］エントロピーコーダは、映像データのブロック及び量子化された変換係数と関連付けられたシンボル又は構文要素をエントロピー符号化する。エントロピーコーディング方式の例は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、確率間隔パーティショニングエントロピーコーディング（ＰＩＰＥ）、等を含む。コンテキストコーディング前に、映像符号器は、コーディング中の各値の絶対値をバイナリ化された形式に変換することができる。この方法により、コーディング中の各々のゼロでない値は、例えば、１つ以上のビット、すなわちビンを有するコードワードに値を変換するユナリ（ｕｎａｒｙ）コーディングテーブル又はその他のコーディング方式を用いて、“バイナリ化”することができる。
【００３４】
［００３４］ＣＡＢＡＣに関して、一例として、映像コーダは、映像データのブロックと関連付けられたシンボルをコーディングするために確率モデル（コンテキストモデルとも呼ばれる）を選択することができる。例えば、符号器において、確率モデルを用いることによってターゲットシンボルをコーディングすることができる。復号器においては、確率モデルを用いることによってターゲットシンボルを構文解析することができる。幾つかの例では、ビンは、コンテキスト適応型コーディング及び非コンテキスト適応型コーディングの組み合わせを用いてコーディングすることができる。例えば、映像コーダは、１つ以上のビンに関して正規の算術コーディングプロセスをバイパス又は省略するバイパスモードを使用し、その他のビンに関してはコンテキスト適応型コーディングを使用することができる。該例では、映像コーダは、ビンをバイパスコーディングするために固定確率モデルを使用することができる。すなわち、バイパスコーディングされたビンは、コンテキスト又は確率更新を含まない。概して、以下において図４に関してより詳細に説明されるように、ビンをコンテキストコーディングすることは、コンテキストコーディングモードを用いてビンをコーディングすることと呼ぶことができる。同様に、ビンをバイパスコーディングすることは、バイパスコーディングモードを用いてビンをコーディングすることと呼ぶことができる。
【００３５】
［００３５］構文要素のビンをコーディングするためのコンテキストモデルは、以前にコーディングされた近隣の構文要素の関連ビンの値に基づくことができる。一例として、現在の構文要素のビンをコーディングするためのコンテキストモデルは、以前にコーディングされた近隣の構文要素の関連ビンの値に基づくことができ、例えば、現在の構文要素の最上部及び左である。コンテキストが導き出される位置は、コンテキストサポート近隣と呼ぶことができ（“コンテキストサポート”又は単に“サポート”とよぶことができる）。例えば、（映像データのブロック内のゼロでない変換係数の位置を示した）シグニフィカンスマップ（ｓｉｇｎｉｆｉｃａｎｃｅ  ｍａｐ）のビンのコーディングに関しては、コンテキストモデルを定義するために５ポイントサポートを使用することができる。
【００３６】
［００３６］幾つかの例では、コンテキストモデル（Ｃｔｘ）は、複数の異なるコンテキストのうちの１つを選択するために適用されるインデックス又はオフセットであることができ、それらの各々は、特定の確率モデルに対応することができる。従って、いずれの場合も、典型的には、各コンテキストに関して異なる確率モデルが定義される。ビンをコーディング後は、確率モデルは、ビンに関する最も現在の確率推定値を反映するためにビンの値に基づいてさらに更新される。例えば、確率モデルは、有限状態マシンにおいて状態として維持することができる。各々の特定の状態は、特定の確率値に対応することができる。確率モデルの更新に対応する次の状態は、現在のビン（現在コーディング中のビン）の値に依存することができる。従って、確率モデルの選択は、以前にコーディングされたビンの値によって影響を受けることがあり、その理由は、これらの値は、少なくとも部分的には、所定の値を有するビンの確率を示すためである。上述されるコンテキストコーディングプロセスは、概して、コンテキスト適応型コーディングモードと呼ぶことができる。
【００３７】
［００３７］上述される確率更新プロセスは、遅延してコーディングプロセス内にずれ込むことがある。例えば、２つのビンがコンテキスト適応型コーディングのために同じコンテキストモデル（例えば、ｃｔｘ（０））を使用すると仮定する。この例では、第１のビンが、コーディングのための確率モデルを決定するためにｃｔｘ（０）を使用することができる。第１のビンの値は、ｃｔｘ（０）と関連付けられた確率モデルに影響を与える。従って、確率更新は、ｃｔｘ（０）を用いて第２のビンをコーディングする前に実施しなければならない。この方法により、確率更新はコーディングサイクルに遅延を導入することがある。
【００３８】
［００３８］映像コーディングに関して、他の例として、映像コーダは、基準インデックス（ｒｅｆ＿ｉｄｘ）のビンのシーケンス（例えば、ビン（０）、ビン（１）、．．．ビン（ｎ））を好適にコンテキストコーディングすることができる。上記のように、基準インデックス（ｒｅｆ＿ｉｄｘ）は、動きベクトルが指し示す基準ピクチャリスト内の特定のピクチャを識別することができる。単一の基準インデックス（ｒｅｆ＿ｉｄｘ）は、例えば、最大１５のビンを含むことができる。説明の目的上、映像コーダがビンをコーディングするために３つのコンテキストを導き出し、（例えば、コンテキストインデックスｃｔｘ（０）、ｃｔｘ（１）、及びｃｔｘ（２）を用いて示された）コーディング中のビン番号に基づいてコンテキストを適用すると仮定する。すなわち、この例では、映像コーダは、ビン（０）をコーディングするためにｃｔｘ（０）を、ビン（１）をコーディングするためにｃｔｘ（１）を、及び残りのビン（例えば、ビン（２）乃至ビン（ｎ））をコーディングするためにｃｔｘ（２）を使用することができる。
【００３９】
［００３９］上述される例では、第３のコンテキスト（ｃｔｘ（２））は、幾つかのビン（例えば、最大で１３のビン）の間で共有される。このようにビン（２）乃至ビン（ｎ）をコーディングするために同じ確率モデルを使用することは、連続するコーディングサイクル間で遅延を生じさせる可能性がある。例えば、上記のように、同じコンテキストを繰り返し呼び出し、各ビンの後にモデルを更新するために待機することは、コーダのスループットに関して滞りを発生させる可能性がある。
【００４０】
［００４０］さらに、ビン（２）とビン（ｎ）との間の相関関係は、確率モデルを更新することと関連付けられた時間及び計算上のリソースを保証する上で十分でないことがある。すなわち、コンテキスト適応型コーディングの１つの潜在的な利益は、（同じコンテキストが与えられた場合に）以前にコーディングされたビンに基づいて確率モデルを好適化できることである。しかしながら、第１のビンの値が後続するビンの値とほとんど関係を有さない場合は、確率更新と関連付けられた効率上の利得はほとんどない。従って、低い相関関係を呈するビンは、相対的により高い相関関係を有するビンほどの利益は、コンテキスト適応型コーディングから得ることはできない。
【００４１】
［００４１］本開示の態様は、インターコーディングされた映像データと関連付けられた構文要素を効率的にコンテキストコーディングすることに関連する。例えば、本開示の態様は、基準インデックス値、動きベクトル予測子、動きベクトル差分値、等を効率的にコーディングすることに関連する。幾つかの例では、映像コーダは、構文要素の幾つかのビンに関してはコンテキストコーディング、構文要素のその他のビンに関してはバイパスコーディングを行うことができる。
【００４２】
［００４２］上述される基準インデックスコーディング例を特に参照し、本開示の態様により、映像コーダは、ｃｔｘ（０）をビン（０）に、ｃｔｘ（１）をビン（１）に、ｃｔｘ（２）をビン（２）に適用することができ、基準インデックス値の残りのビンをバイパスコーディングすることができ、コンテキストは要求されない。換言すると、映像コーダは、ｃｔｘ（２）をバイナリ化された基準インデックス値のＣＡＢＡＣコーディングビン（２）に関するコンテキストとして使用することができるが、ビン（２）に後続するビンはバイパスコーディングすることができる。
【００４３】
［００４３］基準インデックス値は長さが１５ビン以上になることができることを考慮した場合、このようにコンテキストコーディングされるビン数を制限することは、すべての基準インデックスビンをコンテキストコーディングすることと比較して計算上及び／又は時間上の節約を可能にすることができる。さらに、上記されるように、基準インデックス値のビット間の相関関係が高くならず（例えば、基準インデックス値のビン（３）の値が、“１”又は“０”の値を有するビン（４）の尤度に関して有用な指標を提供することができない）、それは、コンテキストコーディング利益を低減させる。従って、基準インデックス値のより少ないビンをコンテキストコーディングすることによって節約される時間及び計算リソースの量は、基準インデックス値のすべてのビンをコンテキストコーディングすることと関連付けられたコーディング効率上の利得よりも重要である。
【００４４】
［００４４］本開示のその他の態様は、概して、コンテキストコーディングされるビン及びコンテキストコーディングされないビンをコーディング中にグループ分類することに関連する。例えば、上記のように、幾つかの構文要素は、コンテキストコーディング及びバイパスコーディングの組み合わせを用いてコーディングすることができる。すなわち、幾つかの構文要素は、コンテキストコーディングされる１つ以上のビン及びバイパスコーディングされる１つ以上のその他のビンを有することができる。
【００４５】
［００４５］例の目的上、２つの構文要素が、各々、コンテキストコーディングされた部分（１つ以上のコンテキストコーディングされたビンを含む）及びバイパスコーディングされた部分（１つ以上のバイパスコーディングされたビンを含む）を有すると仮定する。この例では、映像コーダは、第１の構文要素のコンテキストコーディングされた部分をコーディングし、第１の構文要素のバイパスコーディングされた部分によって後続され、第２の構文要素のコンテキストコーディングされた部分によって後続され、第２の構文要素のバイパスコーディングされた部分によって後続される。
【００４６】
［００４６］上述される例において、映像コーダは、２つの構文要素をコーディングするためにコンテキストコーディングモード及びバイパスコーディングモードの間で３回切り換わることができる。例えば、映像コーダは、第１の構文要素のコンテキストコーディングされたビンの後、第１の構文要素のバイパスコーディングされたビンの後、及び第２の構文要素のコンテキストコーディングされたビンの後に、コンテキストコーディングとバイパスコーディングの間で切り換わる。このようにコンテキストコーディングとバイパスコーディングの間で切り換わることは、計算上非効率的になる可能性がある。例えば、コンテキストコーディングとバイパスコーディングの間で切り換わることは、１つ以上のクロックサイクルを消費することがある。従って、各要素に関してコンテキストコーディングとバイパスコーディングの間で切り換わることは、コンテキストコーディングとバイパスコーディングの間での移行に起因するレーテンシーを導入することがある。
【００４７】
［００４７］本開示の態様は、コンテキストコーディングされるビン及びコンテキストコーディングされないビン（例えば、バイパスビン）をコーディング中にグループに分けることを含む。例えば、上記の例に関して、本開示の態様により、映像コーダは、第１の構文要素のコンテキストコーディングされたビンをコーディングし、第２の構文要素のコンテキストコーディングされたビンによって後続され、第１の構文要素のバイパスコーディングされたビンによって後続され、第２の構文要素のバイパスコーディングされたビンによって後続される。従って、映像コーダは、コンテキストコーディングモードとバイパスコーディングモードとの間で、例えば、コンテキストコーディングされたビンとコンテキストコーディングされないビンとの間で１回だけ移行する。
【００４８】
［００４８］このようにしてビンをグループに分けることは、映像コーダがコンテキストコーディングモードとバイパスコーディングモードとの間で切り換わる頻度を低減させることができる。従って、本開示の態様は、コンテキストコーディングされたビンとバイパスコーディングされたビンの組み合わせを含む構文要素をコーディングするときにレーテンシーを低減させることができる。幾つかの例では、以下の図５乃至８に関して説明されるように、予測データと関連付けられたビンは、本開示の技法によりグループに分けることができる。例えば、ここにおいて説明されるように、予測データは、概して、インター予測と関連付けられたデータを含むことができる。例えば、予測データは、基準インデックス値、動きベクトル、動きベクトル予測子、動きベクトル差分値、等を示すデータを含むことができる。
【００４９】
［００４９］図１は、本開示の例により予測データをコーディングするように構成することができる映像符号化及び復号システム例１０を示したブロック図である。図１に示されるように、システム１０は、通信チャネル１６を介して符号化された映像を行先デバイス１４に送信するソースデバイス１２を含む。符号化された映像データは、記憶媒体３４又はファイルサーバ３６に格納することもでき、行先デバイス１４によって希望に応じてアクセスすることができる。記憶媒体又はファイルサーバに格納されたときには、映像符号器２０は、コーディングされた映像データを、他のデバイス、例えば、ネットワークインタフェース、コンパクトディスク（ＣＤ）、Ｂｌｕ−ｒａｙ（登録商標）又はデジタルビデオディスク（ＤＶＤ）バーナー又はスタンピングファシリティデバイス、又はコーディングされた映像データを記憶媒体に格納するためのその他のデバイス、に提供することができる。同様に、映像復号器３０から切り離されたデバイス、例えば、ネットワークインタフェース、ＣＤ又はＤＶＤリーダー、等は、コーディングされた映像データを記憶媒体から取り出し、取り出されたデータを映像復号器３０に提供することができる。
【００５０】
［００５０］ソースデバイス１２及び行先デバイス１４は、非常に様々なデバイス、例えば、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、例えば、いわゆるスマートフォン、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、等のうちのいずれかを備えることができる。多くの場合は、該デバイスは、無線通信のために装備することができる。従って、通信チャネル１６は、符号化された映像データの送信に適する無線チャネル、有線チャネル、又は無線チャネルと有線チャネルの組み合わせを備えることができる。同様に、ファイルサーバ３６は、インターネット接続を含むあらゆる標準的なデータ接続を通じて行先デバイス１４によってアクセスすることができる。これは、ファイルサーバに格納された符号化された映像データにアクセスするのに適する無線チャネル（例えば、Ｗｉ−Ｆｉ接続）、有線接続（例えば、ＤＳＬ、ケーブルモデム、等）、又は両方の組み合わせを含むことができる。
【００５１】
［００５１］本開示の例による、予測データをコーディングするための技法は、様々なマルチメディア用途、例えば、オーバーザエアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、例えば、インターネットを介してのストリーミング映像送信、データ記憶媒体上での格納のためのデジタル映像の符号化、データ記憶媒体に格納されたデジタル映像の復号、又はその他の用途をサポートして映像コーディングに適用することができる。幾つかの例では、システム１０は、映像ストリーミング、映像再生、映像放送、及び／又は映像テレフォニー、等の用途をサポートするための一方向又は両方向の映像送信をサポートするように構成することができる。
【００５２】
［００５２］図１の例では、ソースデバイス１２は、映像ソース１８と、映像符号器２０と、変調器／復調器２２と、送信機２４と、を含む。ソースデバイス１２において、映像ソース１８は、ソース、例えば、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像が入った映像アーカイブ、映像コンテンツプロバイダからの映像を受信するための映像フィードインタフェース、及び／又は、コンピュータグラフィックスデータをソース映像して生成するためのコンピュータグラフィックスシステム、又は該ソースの組み合わせ、を含むことができる。一例として、映像ソース１８がビデオカメラである場合は、ソースデバイス１２及び行先デバイス１４は、いわゆるカメラフォン又はビデオフォンを形成することができる。しかしながら、本開示において説明される技法は、映像コーディング全般に適用可能であり、及び、無線及び／又は有線用途、又は符号化された映像データがローカルディスクに格納される用途に適用することができる。
【００５３】
［００５３］キャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像は、映像符号器２０によって符号化することができる。符号化された映像情報は、通信規格、例えば、無線通信プロトコル、によりモデム２２によって変調し、送信機２４を介して行先デバイス１４に送信することができる。モデム２２は、様々なミキサ、フィルタ、増幅器又は信号変調のために設計されたその他のコンポーネントを含むことができる。送信機２４は、データを送信するために設計された回路を含み、増幅器と、フィルタと、１つ以上のアンテナと、を含む。
【００５４】
［００５４］映像符号器２０によって符号化されるキャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像は、のちの消費のために記憶媒体３４又はファイルサーバ３６に格納することもできる。記憶媒体３４は、Ｂｌｕ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、又は符号化された映像を格納するためのその他の適切なデジタル記憶媒体を含むことができる。記憶媒体３４に格納された符号化された映像は、復号及び再生のために行先デバイス１４によってアクセスすることができる。
【００５５】
［００５５］ファイルサーバ３６は、符号化された映像を格納すること及びその符号化された映像を行先デバイス１４に送信することが可能なあらゆるタイプのサーバであることができる。ファイルサーバ例は、符号化された映像データを格納すること及びそれを行先デバイスに送信することが可能な（例えば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）デバイス、ローカルディスクドライブ、又はあらゆるその他のタイプのデバイスを含む。ファイルサーバ３６からの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであることができる。ファイルサーバ３６は、インターネット接続を含む標準的なデータ接続を通じて行先デバイス１４によってアクセスすることができる。これは、ファイルサーバに格納された符号化された映像データにアクセスするのに適する無線チャネル（例えば、Ｗｉ−Ｆｉ接続）、有線接続（例えば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢ、等）、又は両方の組み合わせを含むことができる。
【００５６】
［００５６］図１の例における行先デバイス１４は、受信機２６と、モデム２８と、映像復号器３０と、表示装置３２と、を含む。行先デバイス１４の受信機２６は、チャネル１６を通じて情報を受信し、モデム２８は、その情報を復調して映像復号器３０のための復調されたビットストリームを生成する。チャネル１６を通じて通信される情報は、映像データを復号する際の映像復号器３０による使用のために映像符号器２０によって生成される様々な構文情報を含むことができる。該構文は、記憶媒体３４又はファイルサーバ３６に格納された符号化された映像データとともに含めることもできる。映像符号器２０及び映像復号器３０の各々は、映像データを符号化又は復号することが可能な各々の符号器−復号器（ＣＯＤＥＣ）の一部を形成することができる。
【００５７】
［００５７］表示装置３２は、行先デバイス１４と一体であること、又は行先デバイス１４の外部に存在することができる。幾つかの例では、行先デバイス１４は、一体化された表示装置を含むことができ及び外部の表示装置とインタフェースするように構成することもできる。その他の例では、行先デバイス１４は、表示装置であることができる。概して、表示装置３２は、復号された映像データをユーザに表示し、様々な表示装置、例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、又は他のタイプの表示装置のうちのいずれかを備えることができる。
【００５８】
［００５８］図１の例において、通信チャネル１６は、あらゆる無線又は有線の通信媒体、例えば、無線周波数（ＲＦ）スペクトル又は１つ以上の物理的送信ライン、又は無線媒体と有線媒体のあらゆる組み合わせを備えることができる。通信チャネル１６は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク、例えば、インターネット、の一部を形成することができる。通信チャネル１６は、概して、ソースデバイス１２から行先デバイス１４に映像データを送信するためのあらゆる適切な通信媒体、又は異なる通信媒体の集合を表し、有線媒体及び無線媒体のあらゆる適切な組み合わせを含む。通信チャネル１６は、ソースデバイス１２から行先デバイス１４への通信を容易にするのに役立つことができるルータ、スイッチ、基地局、又はあらゆるその他の装置を含むことができる。
【００５９】
［００５９］映像符号器２０及び映像復号器３０は、現在策定中の高効率映像コーディング（ＨＥＶＣ）規格、等の映像圧縮規格により動作することができ、及び、ＨＥＶＣテストモデル（ＨＭ）に準拠することができる。代替として、映像符号器２０及び映像復号器３０は、その他の独占規格又は工業規格、例えば、ＩＴＵ−Ｔ  Ｈ．２６４規格、代替でＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれる、又は該規格の拡張版により動作することができる。しかしながら、本開示の技法は、いずれの特定のコーディング規格にも制限されない。その他の例は、ＭＰＥＧ−２と、ＩＴＵ−Ｔ  Ｈ．２６３と、を含む。
【００６０】
［００６０］図１には示されていないが、幾つかの態様では、映像符号器２０及び映像復号器３０は、各々、音声符号器及び復号器と一体化することができ、及び、共通のデータストリーム又は別々のデータストリーム内の音声及び映像の両方の符号化を取り扱うための該当するＭＵＸ−ＤＥＭＵＸユニット、又はその他のハードウェア及びソフトウェアを含むことができる。該当する場合は、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はその他のプロトコル、例えば、ユーザデータグラムプロトコル（ＵＤＰ）に準拠することができる。
【００６１】
［００６１］映像符号器２０及び映像復号器３０は、各々、様々な適切な符号器又は復号器回路のうちのいずれかとして適宜実装することができ、プロセッサ、例えば、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、専用プロセッサ又は処理回路、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、固定論理回路、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらのあらゆる組み合わせを含む。従って、映像符号器２０及び映像復号器３０内の様々なユニットも、同様に、様々な該構造上の要素又はそれらの組み合わせのうちのいずれかによって実装することができる。技法が部分的にソフトウェア内に実装されるときには、デバイスは、ソフトウェアに関する命令を適切な非一時的なコンピュータによって読み取り可能な媒体内に格納すること及び本開示の技法を実行するために１つ以上のプロセッサを用いてハードウェアにおいてそれらの命令を実行することができる。映像符号器２０及び映像復号器３０の各々は、１つ以上の符号器又は復号器内に含めることができ、それらのいずれも、各々のデバイスにおいて結合された符号器／復号器（ＣＯＤＥＣ）の一部として一体化することができる。
【００６２】
［００６２］本開示は、概して、他のデバイス、例えば、映像復号器３０、に一定の情報を“シグナリングする”映像符号器２０に関するものである。しかしながら、映像符号化器２０は、幾つかの構文要素を映像データの様々な符号化された部分と関連付けることによって情報をシグナリングできることが理解されるべきである。すなわち、映像符号器２０は、幾つかの構文要素を映像データの様々な符号化された部分のヘッダに格納することによってデータを“シグナリングする”ことができる。幾つかの場合においては、該構文要素は、映像復号器３０によって受信及び復号される前に符号化及び格納する（例えば、記憶デバイス３２に格納する）ことができる。従って、用語“シグナリング”は、概して、圧縮された映像データを復号するための構文又はその他のデータの通信を意味することができ、例えば、符号化時に構文要素を媒体に格納するときに生じるように、該通信がリアルタイム又はほぼリアルタイムで生じるか又はある時間の長さにわたって生じるかを問わず、それは、この媒体に格納された後に何時でも復号デバイスによって取り出すことができる。
【００６３】
［００６３］上記のように、ＪＣＴ−ＶＣは、ＨＥＶＣ規格の策定作業中である。ＨＥＶＣ標準化努力は、ＨＥＶＣテストモデル（ＨＭ）と呼ばれる映像コーディングデバイスの進化中のモデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによる既存のデバイスと比較して映像コーディングデバイスの幾つかの追加の能力を想定している。本開示は、典型的には、ＣＵのコーディングノードを意味するために用語“映像ブロック”を使用する。幾つかの特定の事例では、本開示は、コーディングノード及びＰＵ及びＴＵを含むツリーブロック、すなわち、ＬＣＵ、又はＣＵを意味するために用語“映像ブロック”を使用することもできる。
【００６４】
［００６４］映像シーケンスは、典型的には、一連の映像フレーム又はピクチャを含む。ピクチャのグループ（ＧＯＰ）は、概して、映像ピクチャのうちの一連の１つ以上を備える。ＧＯＰは、ＧＯＰに含まれるピクチャ数を記述する構文データをＧＯＰのヘッダ、ピクチャのうちの１つ以上のヘッダ、又はその他の場所に含めることができる。ピクチャの各スライスは、各々のスライスに関する符号化モードを記述するスライス構文データを含むことができる。映像符号器２０は、典型的には、映像データを符号化するために個々の映像スライス内の映像ブロックに関して動作する。映像ブロックは、ＣＵ内のコーディングノードに対応することができる。映像ブロックは、固定された又は可変のサイズを有することができ、及び指定されたコーディング規格によりサイズが異なることができる。
【００６５】
［００６５］一例として及び上記されるように、ＨＭは、様々なＰＵサイズ（ＰＵタイプとも呼ばれる）での予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズでのインター予測、及び２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称的ＰＵサイズでのインター予測をサポートする。ＨＭは、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズでのインター予測に関する非対称的な分割もサポートする。非対称的な分割では、ＣＵの一方の方向は分割されず、他方の方向は、２５％及び７５％に分割される。２５％の分割に対応するＣＵの部分は、“ｎ”によって示され、“ＵＰ（上）”、“Ｄｏｗｎ（下）”、“Ｌｅｆｔ（左）”、又は“Ｒｉｇｈｔ（右）”の表示文字によって後続される。従って、例えば、“２Ｎ×ｎＵ”は、水平に分割され、最上部が２Ｎ×０．５Ｎ  ＰＵ、最下部が２Ｎ×１．５Ｎ  ＰＵである２Ｎ×２Ｎ  ＣＵを意味する。
【００６６】
［００６６］本開示においては、“Ｎ×Ｎ”及び“Ｎ  ｂｙ  Ｎ”は、垂直及び水平の寸法に関する映像ブロックのピクセル寸法を意味するために互換可能な形で使用することができる。概して、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）及び水平方向に１６ピクセル（ｘ＝１６）を有することになる。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮのピクセル及び水平方向にＮのピクセルを有し、ここで、Ｎは、負でない整数値を表す。ブロック内のピクセルは、行及び列で配列することができる。さらに、ブロックは、水平方向と垂直方向で必ずしも同じピクセル数を有する必要がない。例えば、ブロックは、Ｎ×Ｍピクセルを備えることができ、ここで、Ｍは必ずしもＮと等しくない。
【００６７】
［００６７］ＣＵのＰＵを用いたイントラ予測又はインター予測コーディングに引き続き、映像符号器２０は、ＣＵのＴＵに関する残差データを計算することができる。変換、例えば、離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、又は概念的に類似する変換を残差映像データに適用後は、ＰＵは、空間領域（ピクセル領域とも呼ばれる）においてピクセルデータを備えることができ、ＴＵは、変換領域において係数を備えることができる。残差データは、符号化されないオリジナルのピクチャのピクセルとＰＵに対応する予測値との間のピクセル差分に対応することができる。映像符号器２０は、ＣＵに関する残差データを含むＴＵを形成することができ、次に、ＣＵに関する変換係数を生成するためにＴＵを変換することができる。
【００６８】
［００６８］幾つかの例では、上記のように、ＴＵは、ＲＱＴにより定義することができる。例えば、ＲＱＴは、映像データのブロックと関連付けられた残差ルマサンプル及び残差クロマサンプルに対して変換（例えば、ＤＣＴ、整数変換、ウェーブレット変換、又は１つ以上のその他の変換）が適用されるときの適用方法を表すことができる。すなわち、上記のように、ＣＵに対応する残差サンプルは、ＲＱＴを用いてより小さいユニットに細分することができる。概して、ＲＱＴは、ＴＵへのＣＵの分割の繰り返し表現（ｒｅｃｕｒｓｉｖｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）である。
【００６９】
［００６９］変換係数を生成するための残差データへのいずれかの変換の適用に引き続き、映像符号器２０は、変換係数の量子化を行うことができる。量子化は、概して、変換係数を表すために使用されるデータ量を低減させ、さらなる圧縮を提供するために変換係数が量子化されるプロセスを意味する。量子化プロセスは、係数の一部又は全部と関連付けられたビット深度を低減させる。例えば、量子化中にｎビット値が切り捨てられてｍビット値になり、ここで、ｎはｍよりも大きい。
【００７０】
［００７０］幾つかの例では、映像符号器２０は、エントロピー符号化することができるシリアライズされた（ｓｅｒｉａｌｉｚｅｄ）ベクトルを生成するために量子化された変換係数を走査するために予め定義された走査順序を利用することができる。その他の例では、映像符号器２０は、適応型走査を行うことができる。一次元ベクトルを形成するために量子化された変換係数を走査後は、映像符号器２０は、例えば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、構文に基づくコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔パーティショニングエントロピー（ＰＩＰＥ）コーディング又は他のエントロピー符号化法により一次元ベクトルをエントロピー符号化することができる。映像符号器２０は、映像データを復号する際に映像復号器３０によって使用するための符号化された映像データと関連付けられた構文要素もエントロピー符号化することができる。ＨＥＶＣの現在のバージョンは、エントロピーコーディングのためにＣＡＢＡＣを使用するように設計される。
【００７１】
［００７１］幾つかの例では、映像符号器２０は、コンテキスト適応型コーディング及び非コンテキスト適応型コーディングの組み合わせを用いて構文要素をコーディングすることができる。例えば、映像符号器２０は、ビンをコーディングするためにコンテキストに関して動作する確率モデル又は“コンテキストモデル”を選択することによってビンをコンテキストコーディングすることができる。対照的に、映像符号器２０は、ビンをコーディングするときに正規の算術的コーディングプロセスをバイパス又は省略することによってビンをバイパスコーディングすることができる。該例では、映像符号器２０は、ビンをバイパスコーディングするために固定確率モデルを使用することができる。
【００７２】
［００７２］上記のように、コンテキストコーディングと関連付けられた確率モデル更新プロセスは、コーディングプロセスを遅延させる可能性がある。例えば、映像符号器２０は、基準インデックス（ｒｅｆ＿ｉｄｘ）のビンのシーケンス（例えば、ビン（０）、ビン（１）、．．．ビン（ｎ））をコンテキストコーディングすることができる。単一の基準インデックス（ｒｅｆ＿ｉｄｘ）は、例えば、最大で１５のビンを含むことができる。説明の目的上、映像符号器２０は、ビンをコーディングするために３つのコンテキストを導き出し、コーディング中のビン番号に基づいてコンテキストを適用する（例えば、コンテキストインデックスｃｔｘ（０）、ｃｔｘ（１）、及びｃｔｘ（２）を用いて示される）。すなわち、この例では、映像符号器２０は、ビン（０）をコーディングするためにｃｔｘ（０）を、ビン（１）をコーディングするためにｃｔｘ（１）を、及び残りのビン（例えば、ビン（２）乃至ビン（ｎ））をコーディングするためにｃｔｘ（２）を使用することができる。
【００７３】
［００７３］上述される例では、第３のコンテキスト（ｃｔｘ（２））は、幾つかのビン（例えば、最大で１３ビン）の間で共有される。このようにビン（２）乃至ビン（ｎ）をコーディングするために同じ確率モデルを使用することは、連続するコーディングサイクル間で遅延を生じさせる可能性がある。例えば、同じコンテキストを繰り返し呼び出し、各ビンの後にモデルを更新するために待機することは、コーダのスループットに関して滞りを発生させる可能性がある。
【００７４】
［００７４］さらに、ビン（２）とビン（ｎ）との間の相関関係は、確率モデルを更新することと関連付けられた時間及び計算上のリソースを保証する上で十分でないことがある。すなわち、コンテキスト適応型コーディングの１つの潜在的な利益は、（同じコンテキストが与えられた場合に）以前にコーディングされたビンに基づいて確率モデルを好適化できることである。しかしながら、第１のビンの値が後続するビンの値とほとんど関係を有さない場合は、確率更新と関連付けられた効率上の利得はほとんどない。従って、低い相関関係を呈するビンは、相対的により高い相関関係を有するビンほどの利益は、コンテキスト適応型コーディングから得ることはできない。
【００７５】
［００７５］本開示の態様により、映像符号器２０は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを用いてバイナリ化された基準インデックス値の少なくとも１つのビンをコーディングすることによって、及びコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのバイパスコーディングモードによってバイナリ化された基準インデックス値の少なくとも他のビンをコーディングすることによって、基準インデックス構文要素を符号化することができる。
【００７６】
［００７６］例示することを目的とする例において、映像符号器２０は、ビン（０）にｃｔｘ（０）を、ビン（１）にｃｔｘ（１）を、ビン（２）にｃｔｘ（２）を適用することができ、及び、基準インデックス値の残りのビンをバイパスコーディングすることができ、コンテキストは要求されない。換言すると、映像コーダは、バイナライズされた基準インデックス値のビン（２）をＣＡＢＡＣコーディングするためのコンテキストとしてｃｔｘ（２）を使用することができるが、ビン（２）に後続するビンはバイパスコーディングすることができる。
【００７７】
［００７７］基準インデックス値は長さが１５ビン以上になることができることを考慮した場合、このようにコンテキストコーディングされるビン数を制限することは、すべての基準インデックスビンをコンテキストコーディングすることと比較して計算上及び／又は時間上の節約を可能にすることができる。さらに、上記されるように、基準インデックス値のビン間の相関関係が高くならず（例えば、基準インデックス値のビン（３）の値が、“１”又は“０”の値を有するビン（４）の尤度に関して有用な指標を提供することができない）、それは、コンテキストコーディング上の利益を低減させる。従って、基準インデックス値のより少ないビンをコンテキストコーディングすることによって節約される時間及び計算リソースの量は、基準インデックス値のすべてのビンをコンテキストコーディングすることと関連付けられたコーディング効率上の利得よりも重要である。
【００７８】
［００７８］本開示のその他の態様により、映像符号器２０は、コンテキストコーディングされたビン及びコンテキストコーディングされないビンを符号化中にグループ分けすることができる。例えば、上記のように、幾つかの構文要素は、コンテキストコーディング及びバイパスコーディングの組み合わせを用いてコーディングすることができる。すなわち、幾つかの構文要素は、コンテキストコーディングされる１つ以上のビン及びバイパスコーディングされる１つ以上のその他のビンを有することができる。
【００７９】
［００７９］幾つかの例では、映像符号器２０は、構文要素のシーケンスをコーディングするためにコンテキストコーディングとバイパスコーディングの間で切り換わることができる。しかしながら、コンテキストコーディングとバイパスコーディングの間で切り換わることは、１つ以上のクロックサイクルを消費することがある。従って、各要素に関してコンテキストコーディングとバイパスコーディングの間で切り換わることは、コンテキストコーディングとバイパスコーディングの間での移行に起因するレーテンシーを導入することがある。
【００８０】
［００８０］本開示の態様により、映像符号器２０は、コンテキストコーディングされたビン及びコンテキストコーディングされないビン（例えば、バイパスビン）をコーディング中にグループ分けすることができる。例えば、映像符号器２０は、２つ以上の構文要素と関連付けられたビンをコンテキストコーディングすることができる。映像符号器２０は、２つ以上の構文要素と関連付けられたビンをバイパスコーディングすることができる。その他の例では、映像符号器２０は、コンテキストコーディング前にバイパスコーディングを行うことができる。いずれの場合も、技法は、映像符号器２０がコンテキストコーディングとバイパスコーディングの間での移行を最小限にするのを可能にする。従って、本開示の態様は、コンテキストコーディングされたビン及びバイパスコーディングされたビンの組み合わせを含む構文要素をコーディングするときにレーテンシーを低減させることができる。
【００８１】
［００８１］映像復号器３０は、コーディングされた映像データを受信した時点で、映像符号器２０に関して説明される符号化パス（ｅｎｃｏｄｉｎｇ  ｐａｓｓ）と概して相互的な復号パスを行うことができる。例えば、映像復号器３０は、符号化されたビットストリームを受信し、そのビットストリームを復号することができる。例えば、本開示の態様により、映像復号器３０は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを用いてバイナリ化された基準インデックス値の少なくとも１つのビンをコーディングすることによって、及びコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスのバイパスコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも他のビンをコーディングすることによって、基準インデックス構文要素を復号することができる。
【００８２】
［００８２］本開示のその他の態様により、映像復号器３０は、グループに分類されたコンテキストコーディングされたビン及びコンテキストコーディングされないビン（例えば、バイパスビン）を有するビットストリームを復号することができる。例えば、映像復号器３０は、２つ以上の構文要素と関連付けられたコンテキストコーディングされたビンを復号することができる。次に、映像復号器３０は、２つ以上の構文要素と関連付けられたバイパスコーディングされたビンを復号することができる。その他の例では、映像復号器３０は、（復号中のビットストリーム内でのビンの配列に依存して）コンテキストコーディング前にバイパスコーディングを行うことができる。いずれの場合も、技法は、映像復号器３０がコンテキストコーディングとバイパスコーディングの間での移行を最小限にするのを可能にする。従って、本開示の態様は、コンテキストコーディングされたビン及びバイパスコーディングされたビンの組み合わせを含む構文要素をコーディングするときにレーテンシーを低減させることができる。
【００８３】
［００８３］図２は、本開示の例により予測データをコーディングするための技法を使用することができる映像符号器２０の例を示したブロック図である。映像符号器２０の態様は、例示を目的としてＨＥＶＣコーディングの観点で説明されるが、本開示の技法は、予測データのコーディングを要求する特定のコーディング規格又は方法には限定されない。
【００８４】
［００８４］映像符号器２０は、映像ピクチャ内でＣＵのイントラ及びインターコーディングを行うことができる。イントラコーディングは、所定のピクチャ内での映像データの空間的冗長性を低減又は除去するために空間的予測に依存する。インターコーディングは、現在のピクチャと映像シーケンスの前にコーディングされたピクチャとの間での時間的冗長性を低減又は除去するために時間的予測に依存する。イントラモード（Ｉ  モード）は、幾つかの空間に基づく映像圧縮モードのうちのいずれかを意味することができる。インターモード、例えば、単一方向予測（Ｐモード）又は両方向予測（Ｂモード）は、幾つかの時間に基づく映像圧縮モードのうちのいずれかを意味することができる。
【００８５】
［００８５］図２に示されるように、映像符号器２０は、符号化されるべきピクチャ内の現在の映像ブロックを受信する。図２の例では、映像符号器２０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、基準ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６と、を含む。図２において例示される変換処理ユニット５２は、実際の変換又は変換の組み合わせを残差データのブロックに適用するユニットであり、同じくＣＵの変換ユニット（ＴＵ）とよぶことができる変換係数のブロックと混同されるべきでない。映像ブロックの再構築に関して、映像符号器２０は、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２と、も含む。再構築された映像からブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするためにデブロッキングフィルタ（図２に示されていない）も含めることができる。希望される場合は、デブロッキングフィルタは、典型的には、加算器６２の出力をフィルタリングする。
【００８６】
［００８６］符号化プロセス中に、映像符号器２０は、コーディングされるべきピクチャ又はスライスを受信する。ピクチャ又はスライスは、複数の映像ブロック、例えば、最大のコーディングユニット（ＬＣＵ）に分割することができる。動き推定ユニット４２及び動き補償ユニット４４は、時間的圧縮を提供するために１つ以上の基準ピクチャ内の１つ以上のブロックに関して受信された映像ブロックのインター予測コーディングを行う。イントラ予測ユニット４６は、空間的圧縮を提供するためにコーディングされるべきブロックと同じピクチャ又はスライス内の１つ以上の近隣ブロックに関して受信された映像ブロックのイントラ予測コーディングを行うことができる。
【００８７】
［００８７］モード選択ユニット４０は、例えば、各モードに関する誤り（すなわち、歪み）結果に基づいて、コーディングモードのうちの１つ、イントラ又はインター、を選択することができ、その結果得られたイントラ又はインター予測されたブロック（例えば、予測ユニット（ＰＵ））を、残差ブロックデータを生成するために加算器５０に及び基準ピクチャ内での使用のための符号化されたブロックを再構築するために加算器６２に提供する。加算器６２は、以下においてより詳細に説明されるように、符号化されたブロックを再構築するためにブロックに関する逆変換処理ユニット６０からの逆量子化された、逆変換されたデータと予測されるブロックを結合する。幾つかのピクチャは、Ｉフレームとして指定することができ、Ｉフレーム内のすべてのブロックはイントラ予測モードで符号化される。幾つかの場合は、例えば、動き推定ユニット４２によって行われる動き探索の結果ブロックの十分な予測が得られないときに、イントラ予測ユニット４６は、前方予測ピクチャ（Ｐフレーム）又は両方向予測ピクチャ（Ｂフレーム）内のブロックのイントラ予測符号化を行うことができる。
【００８８】
［００８８］動き推定ユニット４２及び動き補償ユニット４４は、一体化されることが非常に多いが、概念上の目的で別々に例示される。動き推定（又は動き探索）は、映像ブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、基準ピクチャの基準サンプルに対する現在のピクチャ内の予測の変位を示すことができる。動き推定ユニット４２は、予測ユニットを基準ピクチャメモリ６４に格納された基準ピクチャの基準サンプルと比較することによってインターコーディングされたピクチャの予測ユニットに関する動きベクトルを計算する。
【００８９】
［００８９］予測ブロック（基準サンプルとも呼ばれる）は、ピクセル差分の点でコーディングされるべきブロックに密接にマッチすることが判明しているブロックであり、それは、絶対差分和（ＳＡＤ）、平方差分和（ＳＳＤ）、又はその他の差分メトリックによって決定することができる。幾つかの例では、映像符号器２０は、基準ピクチャバッファと呼ぶこともできる基準ピクチャメモリ６４に格納された基準ピクチャの整数以下の（ｓｕｂ−ｉｎｔｅｇｅｒ）ピクセル位置に関する値を計算することができる。例えば、映像符号器２０は、基準ピクチャの１／４ピクセル位置、１／８ピクセル位置、又はその他の分数のピクセル位置の値を内挿することができる。従って、動き推定ユニット４２は、完全ピクセル位置及び分数ピクセル位置に関する動き探索を行い、分数ピクセル精度を有する動きベクトルを出力することができる。
【００９０】
［００９０］動き推定ユニット４２は、ＰＵの位置を基準ピクチャの予測ブロックの位置と比較することによってインターコーディングされたスライス内の映像ブロックのＰＵに関する動きベクトルを計算する。従って、概して、動きベクトルに関するデータは、基準ピクチャリストと、基準ピクチャリスト内へのインデックス（ｒｅｆ＿ｉｄｘ）と、水平成分と、垂直成分と、を含むことができる。基準ピクチャは、第１の基準ピクチャリスト（リスト０）、第２の基準ピクチャリスト（リスト１）、又は結合された基準ピクチャリスト（リストｃ）から選択することができ、それらの各々は、基準ピクチャメモリ６４に格納された１つ以上の基準ピクチャを識別する。
【００９１】
［００９１］動き推定ユニット４２は、基準ピクチャの予測ブロックを識別する動きベクトルを生成し、エントロピー符号化ユニット５６及び動き補償ユニット４４に送信することができる。すなわち、動き推定ユニット４２は、予測ブロックが入った基準ピクチャリスト、予測ブロックのピクチャを識別する基準ピクチャリスト内へのインデックス、及び識別されたピクチャ内の予測ブロックの位置を突き止めるための水平及び垂直成分を識別する動きベクトルデータを生成及び送信することができる。
【００９２】
［００９２］幾つかの例では、現在のＰＵに関する実際の動きベクトルを送信するのではなく、動き推定ユニット４２は、動きベクトルを通信するために必要なデータの量をさらに低減させるために動きベクトルを予測することができる。この場合は、動きベクトル自体を符号化及び通信するのではなく、動き推定ユニット４２は、既知の（又は知ることができる）動きベクトルに対する動きベクトル差分（ＭＶＤ）を生成することができる。ＭＶＤは、既知の動きベクトルの水平成分及び垂直成分に対応する水平成分及び垂直成分を含むことができる。既知の動きベクトルは、現在の動きベクトルを定義するためにＭＶＤとともに使用することができ、いわゆる動きベクトル予測子（ＭＶＰ）によって定義することができる。概して、有効なＭＶＰであるためには、予測のために使用中の動きベクトルが、現在コーディング中の動きベクトルと同じ基準ピクチャを指し示さなければならない。
【００９３】
［００９３］（複数の候補ブロックから）複数の動きベクトル予測子候補を利用可能であるときには、動き推定ユニット４２は、予め決定された選択基準により現在のブロックに関する動きベクトル予測子を決定することができる。例えば、動き推定ユニット４２は、符号化レート及び歪みの解析に基づいて（例えば、レート−歪みコスト解析又はその他のコーディング効率解析を用いて）候補セットから最も正確な予測子を選択することができる。その他の例では、動き推定ユニット４２は、動きベクトル予測子候補の平均を生成することができる。その他の動きベクトル予測子選択方法も可能である。
【００９４】
［００９４］動きベクトル予測子を選択した時点で、動き推定ユニット４２は、動きベクトル予測子インデックス（ｍｖｐ＿ｆｌａｇ）を決定することができ、それは、ＭＶＰ候補ブロックが入った基準ピクチャリスト内のどの場所でＭＶＰを探し出すべきかを映像復号器（例えば、映像復号器３０）に知らせるために使用することができる。動き推定ユニット４２は、現在のブロックと選択されたＭＶＰとの間のＭＶＤ（水平成分及び垂直成分）を決定することもできる。ＭＶＰインデックス及びＭＶＤは、動きベクトルを再構築するために使用することができる。
【００９５】
［００９５］幾つかの例では、動き推定ユニット４２は、代わりに、いわゆる“マージモード”（ｍｅｒｇｅ  ｍｏｄｅ）を実装することができ、マージモードでは、動き推定ユニット４２は、予測映像ブロックの動き情報（例えば、動きベクトル、基準ピクチャインデックス、予測方向、又はその他の情報）を現在の映像ブロックと“マージ”することができる。従って、マージモードに関しては、現在の映像ブロックは、他の既知の（又は知ることができる）映像ブロックから動き情報を継承する。動き推定ユニット４２は、マージモードに関する候補として空間及び／又は時間方向の幾つかの近隣ブロックを含むマージモード候補リストを構築することができる。動き推定ユニット４２は、インデックス値（例えば、ｍｅｒｇｅ＿ｉｄｘ）を決定することができ、それは、マージング候補ブロックが入った基準ピクチャリスト内のどの場所でマージング映像ブロックを探し出すべきかを映像復号器（例えば、映像復号器３０）に知らせるために使用することができる。
【００９６】
［００９６］イントラ予測ユニット４６は、動き推定ユニット４２及び動き補償ユニット４４によって行われるインター予測の代替として、受信されたブロックをイントラ予測することができる。イントラ予測ユニット４６は、近隣の以前にコーディングされたブロック、例えば、現在のブロックの上方、右上、左上、又は左のブロック、に関して受信されたブロックを予測し、ブロックに関して左から右、最上部から最下部への順序である。イントラ予測ユニット４６は、様々な異なるイントラ予測モードで構成することができる。例えば、イントラ予測ユニット４６は、符号化中のＣＵのサイズに基づいて、幾つかの方向性予測モード、例えば、３４の方向性予測モード、を用いて構成することができる。
【００９７】
［００９７］イントラ予測ユニット４６は、例えば、様々なイントラ予測モードに関する誤り値を計算し、最低の誤り値になるモードを選択することによってイントラ予測モードを選択することができる。方向性予測モードは、空間的に近隣のピクセルの値を結合し、結合された値をＰＵ内の１つ以上のピクセル位置に適用する機能を含むことができる。ＰＵ内のすべてのピクセル位置に関する値が計算された時点で、イントラ予測ユニット４６は、ＰＵと符号化されるべき受信されたブロックとの間のピクセル差分に基づいて予測モードに関する誤り値を計算することができる。イントラ予測ユニット４６は、受け入れ可能な誤り値を出すイントラ予測モードが発見されるまでイントラ予測モードの試験を続けることができる。次に、イントラ予測ユニット４６は、ＰＵを加算器５０に送信することができる。
【００９８】
［００９８］映像符号器２０は、動き補償ユニット４４又はイントラ予測ユニット４６によって計算された予測データを、コーディング中のオリジナルの映像ブロックから減じることによって残差ブロックを形成する。加算器５０は、この減算演算を行うコンポーネント又はコンポーネント（複数）を代表する。残差ブロックは、ピクセル差分値の二次元行列に対応することができ、残差ブロック内の値数は、残差ブロックに対応するＰＵ内のピクセル数と同じである。残差ブロック内の値は、ＰＵ内及びコーディングされるべきオリジナルブロック内の共配置されたピクセルの値間の差分、すなわち、誤差、に対応することができる。差分は、コーディングされるブロックのタイプに依存してクロマ又はルマ差分であることができる。
【００９９】
［００９９］変換処理ユニット５２は、残差ブロックから１つ以上の変換ユニット（ＴＵ）を形成することができる。変換処理ユニット５２は、複数の変換の中から変換を選択する。変換は、１つ以上のコーディング上の特徴、例えば、ブロックサイズ、コーディングモード、等に基づいて選択することができる。変換処理ユニット５２は、選択された変換をＴＵに適用し、変換係数の二次元配列を備える映像ブロックを生成する。
【０１００】
［０１００］変換処理ユニット５２は、結果的に得られた変換係数を量子化ユニット５４に送信することができる。量子化ユニット５４は、変換係数を量子化することができる。次に、エントロピー符号化ユニット５６は、走査モードにより行列内の量子化された変換係数の走査を行うことができる。本開示は、エントロピー符号化ユニット５６が走査を行うとして説明する。しかしながら、その他の例では、その他の処理ユニット、例えば、量子化ユニット５４、が走査を行うことが可能であることが理解されるべきである。
【０１０１】
［０１０１］変換係数が一次元配列内まで走査された時点で、エントロピー符号化ユニット５６は、エントロピーコーディング、例えば、ＣＡＶＬＣ、ＣＡＢＡＣ、構文に基づく適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔パーティショニングエントロピー（ＰＩＰＥ）、又は他のエントロピーコーディング法を係数に適用することができる。
【０１０２】
［０１０２］ＣＡＢＡＣを行うために、エントロピー符号化ユニット５６は、送信されるべきシンボルを符号化するために一定のコンテキストに適用するコンテキストモデルを選択することができる。コンテキストは、例えば、近隣値がゼロでないかどうかに関連することができる。エントロピー符号化ユニット５６は、構文要素、例えば、選択された変換を表す信号、をエントロピー符号化することもできる。
【０１０３】
［０１０３］エントロピー符号化ユニット５６は、予測データをエントロピー符号化することができる。例えば、映像データがインター予測されるときには、予測データは、基準インデックス値、動きベクトル、動きベクトル予測子、動きベクトル差分値、等を示すデータを含むことができる。すなわち、上記のように、（動き推定ユニット４２による）動き推定は、基準ピクチャへの１つ以上のインデックス（ｒｅｆ＿ｉｄｘ）及び予測方向（ｐｒｅｄ＿ｄｉｒ：前方、後方又は両方向）を決定する。エントロピー符号化ユニット５６は、動きベクトル（例えば、動きベクトルの水平成分及び垂直成分）、基準ピクチャインデックス及び予測方向を表す構文要素をエントロピー符号化することができる。エントロピー符号化ユニット５６は、符号化された映像ビットストリーム内への符号化された構文要素を含むことができ、それは、映像復号プロセスにおける使用のために映像復号器（例えば、後述される映像復号器３０）によって復号することができる。すなわち、これらの構文要素は、映像復号器３０がＰＵによって定義された映像データを復号及び再生成するのを可能にするためにインターコーディングされたＰＵに関して提供することができる。
【０１０４】
［０１０４］幾つかの例では、以下において図４に関してより詳細に説明されるように、エントロピー符号化ユニット５６（又は映像符号器２０の他のコーディングユニット）は、構文要素をエントロピー符号化する前に構文要素をバイナリ化することができる。例えば、エントロピー符号化ユニット５６は、コーディング中の各構文要素の絶対値をバイナリ形式に変換することができる。エントロピー符号化ユニット５６は、構文要素をバイナリ化するためにユナリ、打ち切られたユナリ（ｔｒｕｎｃａｔｅｄ  ｕｎａｒｙ）又はその他のコーディングプロセスを使用することができる。例えば、基準インデックス値に関して、基準ピクチャリスト内の基準ピクチャの最大数が４である、すなわち、基準インデックス（ｒｅｆ＿ｉｄｘ）が０乃至３の範囲の値を有する場合は、表１の次のバイナリ化を適用することができる。
【表１】
2015513290.tif 000003
【０１０５】
表１に示されるように、バイナリ化された値は、基準インデックスの値に依存して、１ビット乃至３ビットの範囲である。
【０１０６】
［０１０５］幾つかの例では、エントロピー符号化ユニット５６は、３つの異なるコンテキスト（例えば、ｃｔｘ０、ｃｔｘ１、及びｃｔｘ２）を用いて基準インデックス値をエントロピー符号化することができる。例えば、エントロピー符号化ユニット５６は、ｃｔｘ０及びｃｔｘ１をそれぞれ用いて第１のビン（ビン０）及び第２のビン（ビン１）をエントロピー符号化することができ、その他のビンは、コンテキストｃｔｘ２を用いてコーディングされる。この例では、ｃｔｘ２は、ビン２を最初とするすべてのビン、すなわち、ビン２及びビン２以降のビン、例えば、ビン３、ビン４、等、の間で共有される。幾つかの例では、例えば、基準ピクチャの最大数が４よりも大きい場合は、ビン２を超えて追加のビンを提供することができる。
【０１０７】
［０１０６］上記のように、コンテキストｃｔｘ２をビン間で共有することは、コンテキストコーディングに関連する確率更新に起因して非効率的になる可能性がある。本開示の態様により、エントロピー符号化ユニット５６は、ｃｔｘ２をビン２のコーディング専用にし、ビン２後のすべてのビンはバイパスコーディングモードを用いてコーディングすることによって基準インデックス値をＣＡＢＡＣコーディングすることができる。繰り返すと、バイパスコーディングは、概して、固定された確率を用いてビンをコーディングすることを含む（コンテキストは要求されない）。例えば、エントロピー符号化ユニット５６は、Ｇｏｌｏｍｂコーディング、指数Ｇｏｌｏｍｂコーディング、Ｇｏｌｏｍｂ−Ｒｉｃｅコーディング、又はＣＡＢＡＣコーディングエンジンをバイパスするその他のコーディングプロセスを用いて基準インデックス値のビン２後のビンをバイパスコーディングすることができる。
【０１０８】
［０１０７］他の例では、エントロピー符号化ユニット５６は、ｃｔｘ２を取り除くことによって基準インデックス値のより少ないビンをコンテキストコーディングすることができる。すなわち、本開示の態様により、エントロピー符号化ユニット５６は、ＣＡＢＡＣバイパスモードを用いてビン２及びそれ以降のすべてのビンを符号化することができる。この例では、エントロピー符号化ユニット５６は、コンテキストｃｔｘ０を用いてビン０を及びコンテキストｃｔｘ１を用いてビン１をＣＡＢＡＣコーディングすることができ、及びＣＡＢＡＣバイパスモードを用いてビン２及びビン２に後続するその他のビンをバイパスコーディングすることができる。このようにしてコンテキストを取り除くことは、基準インデックス値をコーディングすることに関連する全体的な複雑さを低減させることができる。
【０１０９】
［０１０８］さらに他の例では、エントロピー符号化ユニット５６は、ｃｔｘ１及びｃｔｘ２の両方を取り除くことによって基準インデックス値のより少ないビンをコーディングすることができる。すなわち、本開示の態様により、エントロピー符号化ユニット５６は、ＣＡＢＡＣバイパスモードを用いてビン１及びそれ以降のすべてのビンを符号化することができ、それにより基準インデックス値をコーディングすることに関連する全体的な複雑さを低減させることができる。この例では、エントロピー符号化ユニット５６は、コンテキストｃｔｘ０を用いてビン０をＣＡＢＡＣコーディングすることができ、及びＣＡＢＡＣバイパスモードを用いてビン１、ビン２、及びビン２に後続するその他のビンをバイパスコーディングすることができる。
【０１１０】
［０１０９］本開示のその他の態様は、概して、エントロピー符号化ユニット５６が基準インデックス値をバイナリ化する方法に関するものである。例えば、上記のように、エントロピー符号化ユニット５６は、ユナリ、打ち切りユナリｔｒｕｎｃａｔｅｄ  ｕｎａｒｙ）又はその他のコーディングプロセスを用いて基準インデックス値をバイナリ化することができる。他の例では、エントロピー符号化ユニット５６は、基準インデックス値をバイナリ化するために指数−Ｇｏｌｏｍｂコーディングプロセスを使用することができる。
【０１１１】
［０１１０］幾つかの例では、本開示の態様により、エントロピー符号化ユニット５６は、バイナリ化プロセスの組み合わせを実装することができる。例えば、以下において図４に関してより詳細に説明されるように、エントロピー符号化ユニット５６は、基準インデックス値をバイナリ化するためにユナリ（又は打ち切りユナリ）コーディングプロセスを指数−Ｇｏｌｏｍｂコーディングプロセスと組み合わせることができる。例示することを目的とする例において、長さ（４）の打ち切りユナリコードを指数−Ｇｏｌｏｍｂコード（例えば、０のオーダーの指数−Ｇｏｌｏｍｂコード）と組み合わせることができる。該例では、エントロピー符号化ユニット５６は、コーディングされたユナリを用いて基準インデックス値の最初の数のビン（例えば、２、３、４、等）をバイナリ化することができ、及び、指数−Ｇｏｌｏｍｂコードを用いて基準インデックスの残りのビンをバイナリ化することができる。
【０１１２】
［０１１１］いずれの場合も、エントロピー符号化ユニット５６は、いずれかのバイナリ化方式を用いて、基準インデックス値の１つ以上のビンをコンテキストコーディングし及び基準インデックス値の１つ以上のその他のビンをバイパスコーディングするための技法を実装することができる。例えば、上記のように、エントロピー符号化ユニット５６は、バイナリ化された構文要素の最初の数のビンをコンテキストコーディング（例えば、ＣＡＢＡＣコーディング）し、残りのビンをバイパスコーディングすることができる。長さ（４）の打ち切りユナリコードが０のオーダーの指数−Ｇｏｌｏｍｂコード）と組み合わせられる上記の例において、エントロピー符号化ユニット５６は、打ち切りユナリコードの最初の２つのビン（又はその他の数のビン）をコンテキストコーディングし、次に、ユナリコードの第２の部分及び指数−Ｇｏｌｏｍｂコード全体をバイパスコーディングすることができる。その他の例では、エントロピー符号化ユニット５６は、その他のバイナリ化方式を使用することができる。例えば、エントロピー符号化ユニット５６は、上例において説明される指数Ｇｏｌｏｍｂコードの代わりに固定長のバイナリコードを使用することができる。
【０１１３】
［０１１２］幾つかの例では、エントロピー符号化ユニット５６は、バイナリ化された基準インデックス値をコーディングする前にビンを打ち切るか又はその値から取り除くことができる。さらに加えて又は代替として、エントロピー符号化ユニット５６は、コンテキストを用いてコーディングされたビン及びバイパスモードを用いてコーディングされたビンをグループに分けることができる。例えば、エントロピー符号化ユニット５６は、第１の基準インデックス値の１つ以上のビンをコンテキストコーディングすることによってＢピクチャの基準インデックスをコーディングし、第２のインデックス値の１つ以上のビンをコンテキストコーディングし、第１の基準インデックス値の１つ以上のその他のビンをバイパスコーディングし、第２の基準インデックス値の１つ以上のその他のビンをバイパスコーディングすることができる（示された順序で）。従って、エントロピー符号化ユニット５６は、コンテキストコーディングモードとバイパスコーディングとの間、例えば、コンテキストコーディングされたビンとコンテキストコーディングされないビンとの間、を１回移行するだけである。
【０１１４】
［０１１３］エントロピー符号化ユニット５６によるエントロピーコーディングに後続し、その結果生じた符号化された映像は、他のデバイス、例えば、映像復号器３０、に送信すること、又はのちの送信又は取り出しのためにアーカイブに保存することができる。逆量子化ユニット５８及び逆変換処理ユニット６０は、例えば、基準ブロックとしてののちの使用のために、ピクチャ領域で残差ブロックを構築するために逆量子化及び逆変換をそれぞれ適用する。
【０１１５】
［０１１４］動き補償ユニット４４は、基準ピクチャメモリ６４のピクチャのうちの１つの予測ブロックに残差ブロックを加えることによって基準ブロックを計算することができる。動き補償ユニット４４は、動き推定での使用のために整数未満のピクセル値を計算するために１つ以上の内挿フィルタを再構築された残差ブロックに適用することもできる。
【０１１６】
［０１１５］加算器６２は、基準ピクチャメモリ６４内での格納のために再構築された映像ブロックを生成するために動き補償ユニット４４によって生成された動き補償された予測ブロックに再構築された残差ブロックを加える。再構築された映像ブロックは、後続するピクチャにおけるブロックをインターコーディングするための基準ブロックとして動き推定ユニット４２及び動き補償ユニット４４によって使用することができる。
【０１１７】
［０１１６］図３は、符号化された映像シーケンスを復号する映像復号器３０の例を示したブロック図である。図３の例では、映像復号器３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、基準ピクチャメモリ８２と、加算器８０と、を含む。
【０１１８】
［０１１７］背景として、映像復号器３０は、ネットワークを介しての送信のために圧縮されている圧縮された映像データをいわゆる“ネットワーク抽象化ユニット”すなわちＮＡＬユニット内に受信することができる。各ＮＡＬユニットは、ＮＡＬユニットに格納されたデータのタイプを識別するヘッダを含むことができる。ＮＡＬユニットに共通して格納されるデータのタイプは２つある。ＮＡＬユニットに格納されるデータの第１のタイプは、映像コーディング層（ＶＣＬ）データであり、圧縮された映像データを含む。ＮＡＬユニットに格納されるデータの第２のタイプは、非ＶＣＬデータと呼ばれ、追加情報、例えば、多数のＮＡＬユニットに共通するヘッダデータを定義するパラメータセット及び補足拡張情報（ＳＥＩ）を含む。
【０１１９】
［０１１８］例えば、パラメータセットは、シーケンスレベルのヘッダ情報（例えば、シーケンスパラメータセット（ＳＰＳ）内）と、稀に変化するピクチャレベルのヘッダ情報（例えば、ピクチャパラメータセット（ＰＰＳ）内）と、を含むことができる。パラメータセットに含まれている稀に変化する情報は、各シーケンス又はピクチャに関して繰り返す必要がなく、それにより、コーディング効率を向上させる。さらに、パラメータセットの使用は、ヘッダ情報のアウトオブバンド（ｏｕｔ−ｏｆ−ｂａｎｄ）送信を可能にし、それにより、誤り弾性のための冗長送信の必要性をなくす。
【０１２０】
［０１１９］復号プロセス中に、映像復号器３０は、符号化された映像スライスの映像ブロック及び関連付けられた構文要素を表す符号化された映像ビットストリームを受信する。概して、エントロピー復号ユニット７０は、量子化された係数、動きベクトル、及びその他の構文要素を生成するためにビットストリームを復号する。映像復号器３０は、映像スライスレベル及び／又は映像ブロックレベルで構文要素を受信することができる。
【０１２１】
［０１２０］例えば、映像スライスがイントラコーディングされた（Ｉ）スライスとしてコーディングされるときには、イントラ予測ユニット７４は、シグナリングされたイントラ予測モード及び現在のピクチャの以前に復号されたブロックからのデータに基づいて現在の映像スライスの映像ブロックに関する予測データを生成することができる。ピクチャがインターコーディングされた（すなわち、Ｂ、Ｐ又はＧＰＢ）スライスとしてコーディングされるときには、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトル及びその他の構文要素に基づいて現在の映像スライスの映像ブロックに関する予測ブロック（基準サンプルとも呼ばれる）を生成する。予測ブロックは、基準ピクチャリストのうちの１つ内の基準ピクチャのうちの１つから生成することができる。映像復号器３０は、基準ピクチャメモリ８２に格納された基準ピクチャに基づいてデフォルトの構築技法を用いて基準ピクチャリスト、リスト０及びリスト１、を構築することができる。
【０１２２】
［０１２１］エントロピー復号ユニット７０は、映像符号器２０において実装された同じプロセス（例えば、ＣＡＢＡＣ、ＣＡＶＬＣ、等）を用いて復号することができる。符号器によって使用されるエントロピーコーディングプロセスは、符号化されたビットストリームでシグナリングすることができ又は予め決定されたプロセスであることができる。例えば、エントロピー復号ユニット７０は、符号化されたバイナリ化された構文要素を受信することができる。エントロピー復号ユニット７０は、（例えば、コンテキスト適応型モード又はバイパスモードを用いて）ビットストリームを復号し、復号された値をバイナリ化して復号された構文要素を生成することができる。
【０１２３】
［０１２２］幾つかの例では、エントロピー復号ユニット７０は、予測データをエントロピー復号することができる。映像符号器２０に関して上記されるように、予測データは、基準インデックス値、動きベクトル、動きベクトル予測子、動きベクトル差分値、等を示すデータを含むことができる。すなわち、エントロピー復号ユニット７０は、動きベクトル（例えば、動きベクトルの水平成分及び垂直成分）、基準ピクチャインデックス、及び予測方向を表す構文要素をエントロピー復号することができる。これらの構文要素は、映像復号器３０がＰＵによって定義された映像データを復号及び再生するのを可能にするためにインターコーディングされたＰＵに関して提供することができる。
【０１２４】
［０１２３］幾つかの例では、上記のように、エントロピー復号ユニット７０は、３つの異なるコンテキスト（例えば、ｃｔｘ０、ｃｔｘ１、及びｃｔｘ２）を用いて基準インデックス値をエントロピー復号することができる。例えば、エントロピー復号ユニット５６は、ｃｔｘ０及びｃｔｘ１をそれぞれ用いて第１のビン（ビン０）及び第２のビン（ビン１）を復号し、コンテキストｃｔｘ２を用いて第３のビン（ビン２）及びその他のビンを復号することができる。ビン間でコンテキストｃｔｘ２を共有することは、コンテキストコーディングに関連する確率更新に起因して、非効率的になる可能性がある。
【０１２５】
［０１２４］本開示の態様により、ｃｔｘ２をビン２のコーディング専用にし、ビン２よりも後のすべてのビンをバイパスコーディングモードを用いてコーディングすることによって基準インデックス値をＣＡＢＡＣコーディングすることができる。他の例では、エントロピー復号ユニット７０は、ｃｔｘ２を取り除くことによって基準インデックス値のより少ないビンをコンテキストコーディングすることができる。すなわち、本開示の態様により、エントロピー復号ユニット７０は、ＣＡＢＡＣバイパスモードを用いてビン２及びそれ以降のすべてのビンを復号することができる。さらに他の例では、エントロピー復号ユニット７０は、ｃｔｘ１及びｃｔｘ２の両方を取り除くことによって基準インデックス値のより少ないビンをコーディングすることができる。すなわち、本開示の態様により、エントロピー復号ユニット７０は、ＣＡＢＡＣバイパスモードを用いてビン１及びそれ以降のすべてのビンを復号し、それにより基準インデックス値をコーディングすることに関連する複雑さを低減させることができる。
【０１２６】
［０１２５］本開示のその他の態様は、概して、エントロピー復号ユニット７０が基準インデックス値をバイナリ化する方法に関するものである。幾つかの例では、エントロピー復号ユニット７０は、ユナリ、打ち切りユナリ又はその他のコーディングプロセスを用いて基準インデックス値をバイナリ化することができる。他の例では、エントロピー符号化ユニット５６は、基準インデックス値をバイナリ化するために指数−Ｇｏｌｏｍｂコーディングプロセスを使用することができる。
【０１２７】
［０１２６］幾つかの例では、本開示の態様により、エントロピー復号ユニット７０は、バイナリ化プロセスの組み合わせを実装することができる。例えば、以下において図４に関してより詳細に説明されるように、エントロピー復号ユニット７０は、基準インデックス値をバイナリ化するためにユナリ（又は打ち切りユナリ）コーディングプロセスを指数−Ｇｏｌｏｍｂコーディングプロセスと組み合わせることができる。例示することを目的とする例において、エントロピー復号ユニット７０は、長さ（４）の打ち切りユナリコードを指数−Ｇｏｌｏｍｂコード（例えば、０のオーダーの指数−Ｇｏｌｏｍｂコード）と組み合わせることができる。該例では、エントロピー復号ユニット７０は、コーディングされたユナリを用いて基準インデックス値の最初の数のビン（例えば、２、３、４、等）をバイナリ化することができ、及び、指数−Ｇｏｌｏｍｂコードを用いて基準インデックスの残りのビンをバイナリ化することができる。
【０１２８】
［０１２７］いずれの場合も、エントロピー復号ユニット７０は、いずれかのバイナリ化方式を用いて、基準インデックス値の１つ以上のビンをコンテキストコーディングし及び基準インデックス値の１つ以上のその他のビンをバイパスコーディングするための技法を実装することができる。例えば、上記のように、エントロピー復号ユニット７０は、バイナリ化された構文要素の最初の数のビンをコンテキストコーディング（例えば、ＣＡＢＡＣコーディング）し、残りのビンをバイパスコーディングすることができる。長さ（４）の打ち切りユナリコードが０のオーダーの指数−Ｇｏｌｏｍｂコード）と組み合わせられる上記の例において、エントロピー復号ユニット７０は、打ち切りユナリコードの最初の２つのビン（又はその他の数のビン）をコンテキストコーディングし、次に、ユナリコードの第２の部分及び指数−Ｇｏｌｏｍｂコード全体をバイパスコーディングすることができる。その他の例では、エントロピー復号ユニット７０は、その他のバイナリ化方式を使用することができる。例えば、エントロピー復号ユニット７０は、上例において説明される指数Ｇｏｌｏｍｂコードの代わりに固定長のバイナリコードを使用することができる。
【０１２９】
［０１２８］幾つかの例では、エントロピー復号ユニット７０は、バイナリ化された基準インデックス値をコーディングする前にビンを打ち切るか又はその値から取り除くことができる。さらに加えて又は代替として、エントロピー復号ユニット７０は、コンテキストを用いてコーディングされたビン及びバイパスモードを用いてコーディングされたビンをグループに分けることができる。例えば、エントロピー復号ユニット７０は、第１の基準インデックス値の１つ以上のビンをコンテキストコーディングすることによってＢピクチャの基準インデックスをコーディングし、第２のインデックス値の１つ以上のビンをコンテキストコーディングし、第１の基準インデックス値の１つ以上のその他のビンをバイパスコーディングし、第２の基準インデックス値の１つ以上のその他のビンをバイパスコーディングすることができる（示された順序で）。従って、エントロピー復号ユニット７０は、コンテキストコーディングモードとバイパスコーディングとの間、例えば、コンテキストコーディングされたビンとコンテキストコーディングされないビンとの間、を１回移行するだけである。
【０１３０】
［０１２９］構文要素及び変換係数をエントロピー復号後は、幾つかの例では、エントロピー復号ユニット７０（又は逆量子化ユニット７６）は、映像符号器２０のエントロピー符号化ユニット５６（又は量子化ユニット５４）によって使用される走査モードをミラーリング（ｍｉｒｒｏｒｉｎｇ）する走査を用いて受信された変換係数値を走査することができる。例示を容易にするために別々の機能ユニットとして示されているが、エントロピー復号ユニット７０、逆量子化ユニット７６、及び映像復号器３０のその他のユニットの構造及び機能は、互いに簡単に一体化することができる。
【０１３１】
［０１３０］逆量子化ユニット７６は、ビットストリーム内で提供されてエントロピー復号ユニット７０によって復号された量子化された変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、例えば、ＨＥＶＣに関して提案される又はＨ．２６４復号規格によって定義されるプロセスに類似する、従来のプロセスを含むことができる。逆量子化プロセスは、ＣＵが適用されるべき量子化度、及び同様に逆量子化度を決定するために映像符号器２０によって計算された量子化パラメータＱＰの使用を含むことができる。逆量子化ユニット７６は、変換係数が一次元配列から二次元配列に変換される前又は後に変換係数を逆量子化することができる。
【０１３２】
［０１３１］イントラ予測ユニット７４は、シグナリングされたイントラ予測モード及び現在のピクチャの以前に復号されたブロックからのデータに基づいて現在のピクチャの現在のブロックに関する予測データを生成することができる。動き補償ユニット７２は、動きベクトル、動き予測方向及び基準インデックスを符号化されたビットストリームから取り出すことができる。基準予測方向は、インター予測モードが単一方向（例えば、Ｐフレーム）であるか又は両方向（Ｂフレーム）であるかを示す。基準インデックスは、動きベクトルが指し示される基準ピクチャを示す。取り出された動き予測方向、基準ピクチャインデックス、及び動きベクトルに基づいて、動き補償ユニットは、現在の部分に関する動き補償されたブロックを生成する。これらの動き補償されたブロックは、残差データを生成するために使用される予測ブロックを再生成するために使用される。
【０１３３】
［０１３２］動き補償ユニット７２は、動き補償ブロックを生成し、内挿フィルタに基づいて内挿を行うことができる。サブピクセル精度の動き推定のために使用される内挿フィルタに関する識別子を構文要素に含めることができる。動き補償ユニット７２は、基準ブロックの整数未満のピクセルに関する内挿された値を計算するために映像ブロックの符号化中に映像符号器２０によって使用される内挿フィルタを使用することができる。動き補償ユニット７２は、受信された構文情報により映像符号器２０によって使用される内挿フィルタを決定し、内挿フィルタを使用して予測ブロックを生成することができる。
【０１３４】
［０１３３］動き補償ユニット７２は、現在のブロックに関する動き情報をどこから取り出すかを示す予測データを受信することができる。例えば、動き補償ユニット７２は、動きベクトル予測情報、例えば、ＭＶＰインデックス（ｍｖｐ＿ｆｌａｇ）、ＭＶＤ、マージフラグ（ｍｅｒｇｅ＿ｆｌａｇ）、及び／又はマージインデックス（ｍｅｒｇｅ＿ｉｄｘ）、を受信し、現在のブロックを予測するために使用される動き情報を識別するために該情報を使用することができる。
【０１３５】
［０１３４］例えば、動き補償ユニット７２は、ＭＶＰ又はマージ候補のリストを生成することができる。次に、動き補償ユニット７２は、現在のブロックの動きベクトルを予測するために使用される動き情報を識別するためにＭＶＰ又はマージインデックスを使用することができる。すなわち、動き補償ユニット７２は、ＭＶＰインデックス（ｍｖｐ＿ｆｌａｇ）を用いて基準ピクチャのリストからＭＶＰを識別することができる。動き補償ユニット７２は、現在のブロックに関する動きベクトルを決定するために識別されたＭＶＰを受信されたＭＶＤと結合することができる。その他の例では、動き補償ユニット７２は、現在のブロックに関する動き情報を決定するためにマージインデックス（ｍｅｒｇｅ＿ｉｄｘ）を用いて基準ピクチャのリストからマージ候補を識別することができる。いずれの場合も、現在のブロックに関する動き情報を決定した後に、動き補償ユニット７２は、現在のブロックに関する予測ブロックを生成することができる。
【０１３６】
［０１３５］さらに、ＨＥＶＣ例において、動き補償ユニット７２及びイントラ予測ユニット７４は、符号化された映像シーケンスのピクチャを符号化するために使用されたＬＣＵのサイズを決定するために（例えば、四分木によって提供された）構文情報の一部を使用することができる。動き補償ユニット７２及びイントラ予測ユニット７４は、符号化された映像シーケンスのピクチャの各ＣＵがどのように分割されるか（及び、同様に、サブＣＵがどのように分割されるか）を記述する分割情報を決定するために構文情報を使用することもできる。構文情報は、分割された各々がどのように符号化されるかを示すモード（例えば、イントラ又はインター予測、及びイントラ予測の場合はイントラ予測符号化モード）、各インター符号化されたＰＵに関する１つ以上の基準ピクチャ（及び／又は基準ピクチャに関する識別子が入っている基準リスト）、及び符号化された映像シーケンスを復号するためのその他の情報を含むこともできる。
【０１３７】
［０１３６］加算器８０は、復号されたブロックを形成するために動き補償ユニット７２又はイントラ予測ユニット７４によって生成された対応する予測ブロックと残差ブロックを結合する。希望される場合は、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタリングするためにデブロッキングフィルタを適用することもできる。次に、復号された映像ブロックは、基準ピクチャメモリ８２に格納され、それは、後続する動き補償のための基準ブロックを提供し、及び、表示装置（例えば、図１の表示デバイス３２）での提示のための復号された映像も生成する。
【０１３８】
［０１３７］図４は、算術コーディングプロセス例を示すブロック図である。図４の算術コーディングプロセス例は、概して映像符号器２０によって実行されるとして説明される。しかしながら、図４に関して説明される技法は、映像復号器３０を含む様々なその他の映像コーダによって実行できることが理解されるべきである。例えば、図３に関して上記されるように、映像復号器３０は、映像符号器２０によって行われるプロセスと相互的な復号プロセスを行うことができる。
【０１３９】
［０１３８］図４の例は、バイナライザ（ｂｉｎａｌｉｚｅｒ）１００と、コンテキストモデラ（ｃｏｎｔｅｘｔ  ｍｏｄｅｌｅｒ）１０２と、コーディングエンジン１０４と、バイパスコーダ１０６と、を含む。バイナライザ１００は、受信された構文要素のバイナリ化を担当する。例えば、バイナライザ１００は、幾つかのいわゆるビンに構文要素をマッピングすることができ、各ビンは、バイナリ値を表す。例示を目的とする例において、バイナライザ１００は、打ち切りユナリ（ＴＵ）コードを用いてビンに構文要素をマッピングすることができる。概して、ユナリコーディングは、長さＮ＋１のビンストリングを生成することを含むことができ、最初のＮのビンは１であり、最後のビンは０である。打ち切りユナリコーディングは、構文要素の最大の可能な値に関する最大値（ｃＭａｘ）を設定することによってユナリコーディングより１つ少ないビンを有することができる。打ち切りユナリコーディングの例が表２に示され、ｃＭａｘ＝１０である。
【表２】
2015513290.tif 000004
【０１４０】
映像復号器３０において行われるときには、映像復号器３０は、現在コーディング中の構文要素がいつ完全であるかを決定するために０を探索することができる。以下においてより詳細に説明されるように、打ち切りユナリコーディングは単なる例であり、バイナライザ１００は、構文要素をバイナリ化するために様々なその他のバイナリ化プロセス（及びバイナリ化プロセスの組み合わせ）を実行することができる。
【０１４１】
［０１３９］コンテキストモデラ１０２は、所定のビンに関するコンテキストモデル（確率モデルとも呼ばれる）を決定することを担当することができる。例えば、コンテキストモデラ１０２は、映像データのブロックと関連付けられたシンボルをコーディングするためにコンテキストに関して動作する確率モデルを選択することができる。概して、確率モデルは、各ビンが“１”又は“０”である確率を格納する。
【０１４２】
［０１４０］コンテキストモデラ１０２は、幾つかの利用可能な確率モデルから確率モデルを選択することができる。幾つかの例では、以下においてより詳細に説明されるように、コンテキストモデラ１０２によって使用されるコンテキストは、コーディング中のビン番号に基づいて決定することができる。すなわち、コンテキストは、バイナライザ１００によって生成されたビンストリング内でのビンの位置に依存することができる。いずれの場合も、映像符号器２０において、ターゲットシンボルは、選択された確率モデルを用いることによってコーディングすることができる。映像復号器３０では、ターゲットシンボルは、選択された確率モデルを用いて構文解析することができる。
【０１４３】
［０１４１］コーディングエンジン１０４は、（コンテキストモデラ１０２からの）決定された確率モデルを用いてビンをコーディングする。コーディングエンジン１０４がビンをコーディング後は、コーディングエンジン１０４は、ビンをコーディングするために使用されたコンテキストと関連付けられた確率モデルを更新することができる。すなわち、選択された確率モデルは、実際のコーディングされた値に基づいて更新される（例えば、ビン値が“１”であった場合は、“１”の頻度カウントが増加される）。コンテキストモデラ１０２及びコーディングエンジン１０４を用いてビンをコーディングすることは、コンテキストコーディングモードを用いてビンをコーディングすると呼ぶことができる。
【０１４４】
［０１４２］バイパスコーダ１０６は、固定された確率を用いてビンをコーディングする。（コンテキストモデラ１０２及びコーディングエンジン１０４を介しての）コンテキストコーディングとは対照的に、バイパスコーダ１０６は、コーディング中のビンの実際値に基づいてバイパスコーディングプロセスを更新しない。従って、概して、バイパスコーダ１０６は、コンテキストコーディングよりも高速でビンをバイパスコーディングすることができる。バイパスコーダ１０６を用いてビンをコーディングすることは、バイパスコーディングモードを用いてビンをコーディングすると呼ぶことができる。バイパスコーディングモード例は、Ｇｏｌｏｍｂコーディング、指数Ｇｏｌｏｍｂコーディング、Ｇｏｌｏｍｂ−Ｒｉｃｅコーディング、又はコンテキストモデラ１０２及びコーディングエンジン１０４をバイパスするその他の適切なコーディングプロセスを含むことができる。
【０１４５】
［０１４３］（コーディングエンジン１０４及びバイパスコーダ１０６からの）コーディングされたビンが結合されてコーディングされたビットストリームが形成される。符号化されたビットストリームを復号するために、映像復号器（例えば、映像復号器３０）は、図４に示されるプロセスをミラーリングすることができる。すなわち、映像復号器３０は、復号されたビンストリングを生成するために符号化されたビットストリームに関して（コンテキストモデラ１０２及びコーディングエンジン１０４を用いた）コンテキストコーディング又は（バイパスコーダ１０６を用いた）バイパスコーディングを行うことができる。次に、映像復号器３０は、構文値を生成するために（バイナライザ１００を用いて）ビンストリングをバイナリ化することができる。
【０１４６】
［０１４４］図３に示される算術的コーディングプロセスは、映像データをコーディングするために使用することができる。例えば、図３に示されるコーディングプロセスは、基準インデックス値、動きベクトル、動きベクトル予測子、動きベクトル差分値、等を含む予測データをコーディングするために使用することができる。
【０１４７】
［０１４５］例示を目的とする例において、バイナライザ１００は、基準インデックス（ｒｅｆ＿ｉｄｘ）をバイナリ化することができる。幾つかの例では、基準インデックスに関する結果的に得られたビンストリングは、基準のために利用可能な基準ピクチャの数に依存して、長さは最大で１５ビンであることができる。上記のように、幾つかの例では、基準インデックス値のすべてのビンを、コンテキストモデラ１０２及びコーディングエンジン１０４を用いてコンテキストコーディングすることができる。さらに、ビンのうちの１つ以上がコンテキストを共有することができる。しかしながら、すべてのビンをコンテキストコーディングし、２つ以上のビン間でコンテキストを共有することは、コンテキストコーディングに関連するレーテンシーに起因して、非効率的になる可能性がある。
【０１４８】
［０１４６］本開示の態様により、図４に示されるように、映像符号器２０は、コーディング中のビンのビン番号に基づいて基準インデックスに関するビンストリングを符号化することができる。例えば、映像符号器２０は、基準インデックスビンストリング内の特定のビンの相対位置によりそのビンストリング内のその特定のビンをコーディングすることができる。一例では、映像符号器２０は、基準インデックスの第１のビン、第２のビン、及び第３のビンをコンテキストコーディングすることができ、及び、基準インデックスの残りのビンをバイパスコーディングすることができる。すなわち、映像符号器２０は、第１のコンテキストｃｔｘ０を用いてコンテキストモデラ１０２及びコーディングエンジン１０４を用いて第１のビン（ビン０）を、第２のコンテキストｃｔｘ１を用いてコンテキストモデラ１０２及びコーディングエンジン１０４を用いて第２のビン（ビン１）を、及び第３のコンテキストｃｔｘ２を用いてコンテキストモデラ１０２及びコーディングエンジン１０４を用いて第３のビン（ビン２）をコーディングすることができる。しかしながら、映像符号化器２０は、第４のビン（ビン３）及びその他の後続するビンはバイパスコーダ１０６を用いてコーディングすることができる。
【０１４９】
［０１４７］他の例では、映像符号器２０は、コンテキストコーディングされるビン数を減らすことができる。例えば、映像符号器２０は、第１のコンテキストｃｔｘ０を用いてコンテキストモデラ１０２及びコーディングエンジン１０４を用いて第１のビン（ビン０）を、及び第２のコンテキストｃｔｘ１を用いてコンテキストモデラ１０２及びコーディングエンジン１０４を用いて第２のビン（ビン１）をコーディングすることができる。しかしながら、この例では、映像符号器２０は、第３のビン（ビン２）及びその他の後続するビンはバイパスコーダ１０６を用いてバイパスコーディングすることができる。
【０１５０】
［０１４８］さらに他の例では、映像符号器２０は、コンテキストコーディングされるビン数をさらに減らすことができる。例えば、映像符号器２０は、第１のコンテキストｃｔｘ０を用いてコンテキストモデラ１０２及びコーディングエンジン１０４を用いて第１のビン（ビン０）をコーディングすることができる。しかしながら、映像符号化器２０は、第２のビン（ビン１）及びその他の後続するビンはバイパスコーダ１０６を用いてコーディングすることができる。
【０１５１】
［０１４９］本開示の態様は、バイナライザ１００が映像データに関してバイナリ化を行う方法にも関連する。例えば、本開示の態様により、バイナライザ１００は、構文要素を２つ以上の部分に分割することができる。すなわち、バイナライザ１００は、（上述されるように、相対的に小さいｃＭａｘを有する）接頭辞をコーディングするために打ち切りユナリコーディングを使用することができ及び接尾辞をコーディングするために他のコーディング法を使用することができる。一例では、バイナライザ１００は、接尾辞をコーディングするためにｋ番目のオーダーの指数−Ｇｏｌｏｍｂコードを使用することができる。
【０１５２】
［０１５０］幾つかの例では、接頭辞のビンのみをコンテキストコーディングすることができ、他方、接尾辞のビンは、バイパスコーディングすることができる。表３は、指数Ｇｏｌｏｍｂコードと結合された打ち切りユナリコードの例を示し、接頭辞に関してはｃＭａｘ＝４、接尾辞に関しては０番目のオーダーの指数−Ｇｏｌｏｍｂである。これらの技法は、基準インデックス値及びその他の構文要素、例えば、高度動きベクトル予測（ＡＭＶＰ）を介してのコーディングの際に使用される動きベクトル差分値又はその他の構文要素、に対しても適用することができる。
【表３】
2015513290.tif 000005
【０１５３】
表３に示される例において、打ち切りユナリビンはコンテキストコーディングすることができ、他方、指数−Ｇｏｌｏｍｂビンは、バイパスコーディングすることができる。
【０１５４】
［０１５１］本開示の技法は、例えば、接頭辞部における指数−Ｇｏｌｏｍｂバイナリ化のために幾つかの数のビンの後のビンにコンテキストコーディングを適用することを含むことができる。本開示の技法は、例えば、（例えば、予め決定された数の接頭辞ビン）後にコンテキストコーディングをビンに適用することと、残りのビンにバイパスコーディングを適用することと、を含むことができる。例えば、コンテキストを用いて接頭辞部におけるすべてのビンをコーディングする代わりに、接頭辞部内のビン２及びそれ以降のビンは、バイパスモードでコーディングすることができる。他の例では、バイパスモードは、ビン１の後の及び／又はビン１を含むすべてのビンに適用することができる。さらに他の例では、接頭辞部のすべてのビンにバイパスモードを適用することができる。幾つかのコンテキストコーディングされたビンの後にバイパスモードコーディングを用いた同様のアプローチ法をあらゆるバイナリ化法のために使用することができる。すなわち、本開示は、指数−Ｇｏｌｏｍｂ及び打ち切りユナリコーディング方式を使用することについて説明するが、その他のバイナリ化法を使用することができる。
【０１５５】
［０１５２］さらに他の例では、上述される本開示の技法は、バイナリ化プロセスの組み合わせを含むその他のバイナリ化プロセスと関連させて実装することができる。すなわち、一例では、基準インデックス値をバイナリ化するためにユナリコーディングプロセスを使用することができる。他の例では、基準インデックス値をバイナリ化するために打ち切りユナリコーディングプロセスを使用することができる。さらに他の例では、基準インデックス値をバイナリ化するために指数−Ｇｏｌｏｍｂコーディングプロセスを使用することができる。その他のバイナリ化プロセス及びバイナリ化プロセスの組み合わせも可能である。すなわち、例えば、基準インデックス値をバイナリ化するためにユナリ（又は打ち切りユナリ）コーディングプロセスを指数−Ｇｏｌｏｍｂコーディングプロセスと組み合わせることができる。例示を目的とする例において、長さ（４）の打ち切りユナリコードを指数−Ｇｏｌｏｍｂコード（例えば、０番目のオーダーの指数−Ｇｏｌｏｍｂコード）と組み合わせることができる。該例では、基準インデックス値の最初の数のビン（例えば、２、３、４、等）は、ユナリコーディングすることができ、他方、基準インデックスの残りのビンは指数−Ｇｏｌｏｍｂコーディングすることができる。
【０１５６】
［０１５３］いずれの場合も、基準インデックス値をＣＡＢＡＣ及びバイパスコーディングすることに関して上述される技法は、あらゆるバイナリ化された基準インデックス値に適用することができる。すなわち、本開示の態様により、バイナリ化された基準インデックス値の最初の数のビンはコンテキストコーディングする（例えば、ＣＡＢＡＣエンジンを用いてコーディングする）ことができ、残りのビンは、バイパスコーディングすることができる。長さ（４）の打ち切りユナリコードが０のオーダーの指数Ｇｏｌｏｍｂコードと組み合わされる上述される例では、打ち切りユナリコードの最初の２つのビン（又はその他の数のビン）をコンテキストコーディングすることができ、ユナリコードの第２の部分及び指数Ｇｏｌｏｍｂコード全体をバイパスコーディングすることができる。
【０１５７】
［０１５４］長さ（４）の打ち切りユナリコード及び０のオーダーの指数Ｇｏｌｏｍｂは、例示することのみを目的として提供されるものであり、その他の打ち切りユナリコードの長さに関して、及び指数Ｇｏｌｏｍｂコードのその他のオーダーに関しても同じ又は同様の技法を適用することができることが理解されるべきである。さらに、上述されるバイナリ化プロセスは、例示することのみを目的として提供されるものであり、その他のバイナリ化されたコードを使用することができる。例えば、上例で説明される指数Ｇｏｌｏｍｂコードの代わりに固定長バイナリコードを使用することができる。さらに、打ち切りユナリバイナリ部に関する２つのコンテキストコーディングされたビンの例は、例示を目的として提供されるものであり、その他の数のコンテキスト及びバイパスコーディングされたビンを使用することができる。
【０１５８】
［０１５５］いずれの場合も、本開示の態様は、バイナリ化された値の一部分を打ち切ることにも関するものである。例えば、基準インデックス数が事前に知られているため、本開示の態様により、指数Ｇｏｌｏｍｂ又は固定長コードを打ち切ることができる。すなわち、オーダーｋの指数Ｇｏｌｏｍｂは、バイナライザ１００によって使用することができる。一例として、０のオーダーの指数Ｇｏｌｏｍｂは、映像圧縮において適用することができる。このバイナリ化は、ユナリコード及び長さ（接頭辞−１）の固定長接尾辞を用いてコーディングされた指数接頭辞から成り、その一例が以下の表４に示される。
【表４】
2015513290.tif 000006
【０１５９】
［１５６］例えば、（例えば、表４の第１の列内において値１０を有する要素に対応する）値１０は、バイナリ化されたコードワード０００１０１１によって表され、ここで、０００１は接頭辞であり、０１１は接尾辞である。要素は、入力データであることができ、それは、表４のコードワードを用いて又は以下において示されて説明される表を用いてコーディングされる。例えば、映像符号器２０は、要素を受信し、以下において示されて説明される表により要素をコードワードに変換することができる。同様に、映像復号器３０は、コードワードを受信し、以下において示されて説明される表によりコードワードを構文要素（例えば、入力データ）に変換することができる。
【０１６０】
［０１５７］以下に示される方程式（１）により再構築された値を得ることができる。
【０１６１】
値＝２^（接頭辞−１）＋接尾辞−１      （１）
この例では、接頭辞は、ユナリコードによって表され、上表４において示されるように、０００１は、４に対応し、接尾辞は、バイナリ数字系で表された値であり、０１１は３に対応する。従って、この例において、方程式（１）を適用することは、その結果として次の値が得られる。すなわち、２^（４−１）＋３−１＝１０。
【０１６２】
［０１５８］このコードは、概して無限の数字を表すことができるが、幾つかのシナリオでは、要素数は知ることができる。この場合は、コードワードは、可能な要素の最大数を考慮して短縮することができる。
【０１６３】
［０１５９］例えば、最大の要素数が２（例えば、要素０及び１）である場合は、１に関する正規の指数Ｇｏｌｏｍｂコードワードは、０１０である。しかしながら、２よりも多い要素は存在しない。従って、正規のコード０１０は、１に短縮することができる。このタイプのバイナリ化は、打ち切り指数Ｇｏｌｏｍｂと呼ぶことができ、Ｈ．２６４／ＡＶＣ、等の映像コーディング規格において使用することができる。しかしながら、Ｈ．２６４規格に関しては、打ち切り指数Ｇｏｌｏｍｂは、最大要素数が１のときしか使用されない。その他の場合は、正規の指数Ｇｏｌｏｍｂバイナリ化が使用される。
【０１６４】
［０１６０］本開示の態様により、正規の指数Ｇｏｌｏｍｂコーディングは、例えば、最大要素数が１である上例と同様の方法で、さらに打ち切ることができる。概して、最大要素数が事前に知られているときには、指数Ｇｏｌｏｍｂバイナリ化コードワードの接尾辞は、冗長なビンを取り除くことによって打ち切ることができる。例えば、最大要素数が９である場合は、以下の表５において太字、イタリック体、及び下線で表示された２つのビンをコードワードから取り除くことができる。
【表５】
2015513290.tif 000007
【０１６５】
すなわち、表５に示される要素７に関しては、接尾辞の最初の２つの００は取り除くことができる。さらに、表５に示される要素８に関しては、接尾辞の最初の２つの００を取り除くことができる。従って、オーダー０の打ち切り指数Ｇｏｌｏｍｂは、要素７に関しては０００１  ０、要素８に関しては００００１  １を示す。
【０１６６】
［０１６１］上述される技法は、例えば、最後の接頭辞（上例の０００１）に関する固定長の接尾辞を正規の指数Ｇｏｌｏｍｂコードと比較することによって実装することができる。例えば、最後のグループ内の要素数が正規の指数Ｇｏｌｏｍｂコードにおけるよりも小さい場合は、冗長ビンは取り除くことができる。換言すると、バイナライザ１００は、最後の接頭辞に関する固定長の接尾辞を比較することによって０のオーダーの打ち切られた指数Ｇｏｌｏｍｂコードを生成することができ、及び、この最後のグループ内の要素数が正規の指数Ｇｏｌｍｏｂコード内よりも少ない場合は、冗長なビンは取り除くことができる。
【０１６７】
［０１６２］例えば、この例では、バイナライザ１００は、事前に知られているコーディングに関する最大要素数が存在するときには、接頭辞が最後の要素の接頭辞と同じである要素数を決定することができる。例えば、表５において、最後の要素に関する接頭辞は０００１であり、最大要素数（例えば、この例でば９）が存在するときにはその接頭辞が最後の要素の接頭辞と同じである２つの要素（例えば、要素７及び要素８）が存在する。
【０１６８】
［０１６３］バイナライザは、接頭辞が最後の要素の接頭辞と同じである要素数を同じ接頭辞を有する正規の指数Ｇｏｌｏｍｂコード内の要素数と比較することができる。例えば、上記の表４において、接頭辞が０００１（前要素の接頭辞と同じ）である８つの要素（すなわち、要素７乃至１４）が存在する。この例では、バイナライザ１００は、その接頭辞が最後の要素の接頭辞と同じである要素数は、同じ接頭辞を有する正規の指数Ｇｏｌｏｍｂコード内の要素数よりも少ないと決定することができる。
【０１６９】
［０１６４］これが真であるときには、バイナライザ１００は、打ち切られたコードワードを生成するために接頭辞が最後の接頭辞と同じであるコードワードからビンを打ち切ることができる。幾つかの例では、ビンは、接尾辞から打ち切られる。しかしながら、本開示の態様はそのようには限定されない。バイナライザ１００は、接頭辞が最後の接頭辞と同じである要素数に基づいて打ち切るべきビン数を決定することができる。
【０１７０】
［０１６５］例えば、上の表５において、最後の接頭辞と同じ接頭辞を有する要素が２つ（例えば、要素７及び８）存在する。バイナライザ１００は、表５の最後の列において例示されるように、打ち切られたコードワードを生成するために要素７及び８のコードワードからビンを打ち切ることができる。この例では、最後の接頭辞と同じ接頭辞を有する要素が２つ存在するため、バイナライザ１００は、それらの２つの要素を表すために接尾辞内では１つのみのビンが必要であると決定することができる。例えば、接尾辞内の０は、１つの要素（例えば、要素７）を表すことができ、接尾辞内の１は、他の要素（例えば、要素８）を表すことができる。従って、上の表５内の要素７に関しては、バイナライザ１００は、接尾辞の最初の２つのビンを打ち切ることができ、打ち切られたコードワードに関する接尾辞として０のみを残す。さらに、上の表５内の要素８に関しては、バイナライザ１００は、接尾辞の最初の２つのビンを打ち切ることができ、打ち切られたコードワードに関する接尾辞として１のみを残す。
【０１７１】
［０１６６］上述される技法は、コーディングメディアに関して実装することができる（例えば、映像データの符号化及び／又は復号）。例えば、本開示の態様により、映像復号器、例えば、映像復号器３０、は、メディアデータを表す１つ以上のコードワードを受信することができ、コーディングのために使用することができる最大要素数が存在することができる。映像復号器３０は、コーディングテーブルによりコードワードを要素に変換することができる。コーディングテーブルは、同じ接頭辞がコーディングテーブル内の最後の接頭辞であり、及び、同じ接頭辞を有するコードワード数が同じ接頭辞を有することが可能な一意のコードワードの最大数よりも少ないときに同じ接頭辞を有するコードワードの少なくとも一部が打ち切られるような形で構築することができる。例えば、接頭辞０００１に関しては、表４は、コードワードに関する一意の可能性を示し、表５及び６（下に示される）は、同じ接頭辞を共有し、本開示の技法により打ち切られるコードワードの例を示す。
【０１７２】
［０１６７］技法は、映像符号器２０によって実行することもできる。例えば、映像符号器２０は、メディアデータを表す１つ以上の要素を受信することができる。映像符号器２０は、コーディングテーブルにより要素を１つ以上のコードワードに変換することができ、コーディングのために使用することができる最大要素数が存在することができる。コーディングテーブルは、同じ接頭辞がコーディングテーブル内の最後の接頭辞であり、及び、同じ接頭辞を有するコードワード数が同じ接頭辞を有することが可能な一意のコードワードの最大数よりも少ないときに同じ接頭辞を有するコードワードの少なくとも一部が打ち切られるような形で構築することができる。繰り返すと、例えば、接頭辞０００１に関しては、表４は、コードワードに関する一意の可能性を示し、表５及び６（下に示される）は、同じ接頭辞を共有し、本開示の技法により打ち切られるコードワードの例を示す。
【０１７３】
［０１６８］このようにして、技法は、コーディング中の要素の最大数が知られているときに映像データをコーディングするために必要なビン数を減らすことができる。ビンの減少は、その結果として、シグナリング又は受信される必要があるビン数が減少し、その結果、帯域幅効率が向上する。
【０１７４】
［０１６９］さらに他の例では、最大要素数が１１である場合は、打ち切り指数Ｇｏｌｏｍｂコードワードが以下の表６に示される。表６において太字、イタリック体、及び下線で表示されたビンは、コードワードから取り除くことができる。
【表６】
2015513290.tif 000008
【０１７５】
表６に示されるように、要素７、８、９、及び１０に関する接尾辞内の最初のビンは、打ち切ることができる（太字、イタリック体、及び下線で示される）。この例では、４つ要素がコードワードによって表されるため、接尾辞からの１つのビンのみを打ち切ることができる。この理由で、４つの要素を網羅するために、打ち切られたコードワードでは、接尾辞は００から始まり、１１で終わり、各々が同じ接頭辞を有する。
【０１７６】
［０１７１］上の表５及び６に示される例は、例として提供されるにすぎず、あらゆる最大数の要素に関して同じプロセスを適用することができる。例えば、幾つかの例では、本開示の態様は、打ち切られたコードワードを受信することに関する。打ち切られたコードワードは、第１の数の要素を決定することによって生成することができる。第１の数の要素は、コーディングのために使用することができる最大要素数が存在するときに第１のコーディングテーブル内の最後の要素に対応するコードワードの接頭辞と同じである接頭辞を最初のコーディングテーブル内のどれだけのコードワードが有するかを示すことができる。この例では、第１のコーディングテーブルは、表５又は表６であることができる。態様は、予めソートされているか又は動作中に動的に計算される打ち切られたコードワードを受信することに関する。
【０１７７】
［０１７２］本開示の態様は、第２のコーディングテーブル内のどれだけのコードワードが、第１のコーディングテーブル内の最後の要素に対応するコードワードの接頭辞と同じである接頭辞を有するかを示す第２の数の要素を決定することに関するものである。この例では、第２のコーディングテーブルは、上の表４であることができる。幾つかの例では、第１のコーディングテーブルは、第２のコーディングテーブルの部分組であることができ、それは、コーディングのために使用することができる要素の最大数に基づく。
【０１７８】
［０１７３］幾つかの例では、第１の要素数が第２の要素数よりも少ないときには、本開示の態様は、打ち切られたコードワードを生成するために第１のコーディングテーブル内の最後の要素に対応するコードワードの接頭辞と接頭辞が同じである第１のコーディングテーブル内のコードワードからビンを打ち切ること、及び、それらの打ち切られたコードワードを用いて映像データをコーディングすることに関するものである。幾つかの例では、コードワードを打ち切ることは、コードワードの接尾辞又は接頭辞、又はそれらの組み合わせからビンを打ち切ることを含む。幾つかの例では、ビンを打ち切ることは、第１の要素数に基づき、第１の要素数は、第１のコーディングテーブル内のどれだけのコードワードが、第１のコーディングテーブル内の最後の要素に対応するコードワードの接頭辞と同じである接頭辞を有するかを示す。幾つかの例では、コーディングは、Ｇｏｌｏｍｂコーディングである。
【０１７９】
［０１７４］代替として又はさらに追加して、接頭辞も、打ち切られたユナリコードを用いて短くすることができる。例えば、最大要素数が４である場合は、接頭辞及び接尾辞は、以下の表７に示されるように打ち切ることができる。
【表７】
2015513290.tif 000009
【０１８０】
［０１７５］表７の打ち切られるビンは、太字、イタリック体、及び下線で表される。表７に示される例では、要素３に関するコードワードは、要素１又は２に関するコードワードよりも短い。例えば、より短いコードワード００をより頻繁に生じる要素１に及び０１０を要素３に割り当てることによって、打ち切り指数Ｇｏｌｏｍｂバイナリ化に関する追加の順序再設定又はマッピングを適用することができる。該順序再設定又はマッピングは、マッピングテーブルを用いて行うことができる。
【０１８１】
［０１７６］幾つかの例では、順序再設定は、特定の要素の出現頻度に基づくこともできる。例えば、最も頻繁に出現する要素により短いコードワードを割り当てることができる。このコードワードマッピングは、要素の順序が出現頻度によって設定される事例において特に効率的であることができる。
【０１８２】
［０１７７］上記の幾つかの例は、０のオーダーのコーディングの指数Ｇｏｌｏｍｂに関して説明されたが、技法は、より一般的に、ｋのオーダーのコーディングの指数Ｇｏｌｏｍｂに対して適用可能であることが理解されるべきである。さらに、技法は、ＨＥＶＣ映像規格には限定されず、あらゆる映像圧縮規格に対して、又はより広範囲に、バイナリ化が行われるあらゆる用途に関して適用することができる。
【０１８３】
［０１７８］新生のＨＥＶＣ規格（及びＨＥＶＣ規格の拡張版、例えば、スケーラブル映像コーディング（ＳＶＣ）又はマルチビュー映像コーディング（ＭＶＣ））に関して、上述される打ち切り指数Ｇｏｌｏｍｂバイナリ化技法は、様々な構文要素をバイナリ化するために適用することができる。例は、基準インデックス値、イントラモードモード、マージインデックス、量子化パラメータ（又はデルタ量子化パラメータ）、又は、要素数が事前に知られているその他の構文要素を含む。
【０１８４】
［０１７９］上例は指数Ｇｏｌｏｍｂ打ち切りについて説明する一方で、説明される打ち切り技法は、固定長コードに対しても適用することができる。すなわち、構文要素（例えば、基準インデックス）が２つ以上のバイナリ化プロセス（例えば、打ち切りユナリ及び指数Ｇｏｌｏｍｂ）を用いてバイナリ化される例では、予め決定された数のビンをＣＡＢＡＣコーディングすることができ、残りのビンは打ち切ってバイパスコーディングすることができる。
【０１８５】
［０１８０］幾つかの例では、打ち切る（例えば、指数Ｇｏｌｏｍｂ又はバイナリ化された構文要素の固定長バイナリ化部分から打ち切る）ことができるビン数を決定するためにアルゴリズムを適用することができる。一例において、予め決定された数のビンがバイパスコーディングされると仮定する。この例では、映像コーダ（例えば、映像符号器２０又は映像復号器３０）は、残りのビンの切り上げられた（ｒｏｕｎｄｅｄ  ｕｐ）ｌｏｇ２を計算することによって打ち切ることができる残りのビン数を決定することができる。
【０１８６】
［０１８１］図５Ａ及び５Ｂは、予測データと関連付けられたビンストリング例を示したブロック図である。例えば、図５Ａは、概して、単一の基準ピクチャから予測されるピクチャに関する基準インデックス（ｒｅｆ_ｉｄｘ）、動きベクトル差分（ｍｖｄ）、及び動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ）を例示する。
【０１８７】
［０１８２］図５Ｂは、概して、２つの基準ピクチャ（Ｂピクチャ）から予測されるピクチャに関する第１の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ０）、（水平成分及び垂直成分を表す）第１の動きベクトル差分（ｍｖｄ_Ｌ０）、及び第１の動きベクトル予測子インデックス（ｍｖｄ_ｉｄｘ_Ｌ０）、並びに、第２の基準インデックス（ｒｅｆ_ｉｄｘ_ａＬ１）、（水平成分及び垂直成分を表す）第２の動きベクトル差分（ｍｖｄ_Ｌ１）、及び第２の動きベクトル予測子インデックス（ｍｖｄ_ｉｄｘ_Ｌ１）を例示する。すなわち、両方向予測ＰＵに関しては、２つの基準インデックスをコーディングすることができ、リストＬ０及びリストＬ１の各リストに関して１つの基準インデックスである。従って、ＰＵ当たり最大で２つの基準インデックスをコーディングすることができ、ＣＵ当たり最大で８つのインデックスをコーディングすることができる。
【０１８８】
［１８３］ビンストリング１２０（図５Ａ）及び１２４（図５Ｂ）は、高度動きベクトル予測（ＡＭＶＰ）技法と関連付けられた予測データを含む。ＡＭＶＰを用いた場合は、現在コーディング中のブロックに関する動きベクトルは、他の動きベクトル、例えば、空間的又は時間的に近隣のブロックと関連付けられた動きベクトル、に関する差分値（すなわち、デルタ）としてコーディングすることができる。例えば、映像符号器２０は、空間的方向及び時間的方向において１つ以上の近隣ブロックと関連付けられた動きベクトルを含む動きベクトル予測子候補リストを構築することができる。映像符号器２０は、例えば、レート−歪みコスト解析に基づいて候補リストから最も正確な動きベクトル予測子（ＭＶＰ）を選択することができる。
【０１８９】
［０１８４］映像符号器２０は、基準インデックス（ｒｅｆ_ｉｄｘ）を用いて実際の動きベクトルに関する基準ピクチャを示すことができる。さらに、映像符号器２０は、動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ）を用いて選択されたＭＶＰを示すことができ、それは、候補リスト内のＭＶＰを識別する。映像符号器２０は、動きベクトル差分（ｍｖｄ）を用いて現在のブロックの動きベクトル（実際の動きベクトル）とＭＶＰとの間の差分を示すこともできる。上記のように、ｍｖｄは、ｍｖｐの水平成分及び垂直成分に対応する水平成分及び垂直成分を含むことができる。
【０１９０】
［０１８５］映像復号器３０は、ＭＶＰ候補リストを同じ方法で構築することができる。映像復号器３０は、候補リスト内のどの位置でＭＶＰを突き止めるべきかを決定するために受信された動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ）を使用することができる。映像復号器３０は、動きベクトル差分（ｍｖｄ）を（動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ））を用いて決定された）動きベクトル予測子と結合することができる。
【０１９１】
［０１８６］このようにして（例えば、差分値を用いて）動きベクトルを予測することは、実際の動きベクトルをコーディングすることと比較してより少ないビットをビットストリーム内に含めることが要求される。図５Ｂに関して、両方向予測されるピクチャは、２つの異なるリスト、例えば、リスト０及びリスト１、からのピクチャと関連付けられた予測データを含むことができる。図５Ｂの例に示されるように、リスト０と関連付けられた予測データは、リスト１と関連付けられる予測データに先行することができる。すなわち、ビンストリング１２４は、第１の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ０）、（例えば、水平成分及び垂直成分の両方を表す）第１の動きベクトル差分（ｍｖｄ_Ｌ０）、及び第１の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ０）を含み、第２の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ１）、（例えば、水平成分及び垂直成分の両方を表す）第２の動きベクトル差分（ｍｖｄ_Ｌ１）、及び第２の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ１）によって後続される。
【０１９２】
［０１８７］幾つかの例では、ＡＭＶＰに関連する構文は、コンテキストコーディングとバイパスコーディングの組み合わせを用いてコーディングすることができる。例えば、図５Ａ及び５Ｂの例で示されるように、予測データのビンの一部はコンテキストコーディングされ、その他のビンはバイパスコーディングされる。すなわち、動きベクトル差分値（及びその他の値、例えば、以下の図７に関して説明される基準インデックス値）の１つ以上のビンをコンテキストコーディングすることができ、動きベクトル差分値の１つ以上のその他のビンはバイパスコーディングすることができる。
【０１９３】
［０１８８］図５Ａの例に関して、コンテキストコーディングされたビン１２８によって示されるように、基準インデックス（ｒｅｆ_ｉｄｘ）及び動きベクトル差分（ｍｖｄ）の第１の部分はコンテキストコーディングすることができる。動きベクトル差分（ｍｖｄ）の第２の部分は、バイパスコーディングされたビン１３０によって示されるように、バイパスコーディングすることができる。さらに、動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ）は、コンテキストコーディングされたビン１３２によって示されるように、コンテキストコーディングすることができる。
【０１９４】
［０１８９］図５Ｂの例に関して、コンテキストコーディングされたビン１３６によって示されるように、（例えば、水平成分及び垂直成分の両方を表す）第１の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ０）及び第１の動きベクトル差分（ｍｖｄ_Ｌ０））の第１の部分はコンテキストコーディングすることができる。（例えば、水平成分及び垂直成分の両方を表す）第１の動きベクトル差分（ｍｖｄ_Ｌ０）の第２の部分は、バイパスコーディングされたビン１３８によって示されるように、バイパスコーディングすることができる。さらに、第１の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ０）、第２の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ１）、及び（例えば、水平成分及び垂直成分の両方を表す）第２の動きベクトル差分（ｍｖｐ_Ｌ１）の第１の部分は、コンテキストコーディングされたビン１４０によって示されるように、コンテキストコーディングすることができる。バイパスコーディングされたビン１４２によって示されるように、（例えば、水平成分及び垂直成分の両方を表す）第２の動きベクトル差分（ｍｖｄ_Ｌ１）の第２の部分も、バイパスコーディングすることができる。最後に、第２の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ１）は、コンテキストコーディングされたビン１４４によって示されるように、コンテキストコーディングすることができる。
【０１９５】
［０１９０］従って、図５Ｂの例は、映像コーダがビンを処理するためにコンテキストコーディングとバイパスコーディングとの間で４回切り換わらなければならない両方向予測に関するＰＵに基づくインターモード構文を示す。ビンストリング１２０及び１２４をコーディングするためにコンテキストコーディングとバイパスコーディングとの間で切り換わることは、非効率的である可能性がある。例えば、各要素に関してコンテキストコーディングとバイパスコーディングとの間で切り換わることは、１つ以上のクロックサイクルを消費することがある。従って、各要素に関してコンテキストコーディングとバイパスコーディングとの間で切り換わることは、コンテキストコーディングとバイパスコーディングとの間での移行に起因して、レーテンシーを導入することがある。
【０１９６】
［０１９１］本開示の態様により、以下の図６及び７に関してより詳細に説明されるように、コンテキストビン及びバイパスビンは、コンテキストコーディングとバイパスコーディングとの間での移行を減らすためにグループに分けることができる。例えば、図５Ａに関して、本開示の態様は、コンテキストコーディングされたビン１２８及び１３２をグループにまとめることに関連し、このため、ビンは、バイパスコーディングされたビン１３０によって分離されない。このようにして、ビンストリング１２０のコーディング中にコンテキストコーディングとバイパスコーディングとの間で単一の移行を行うことができる。
【０１９７】
［０１９２］同様に、図５Ｂに関して、本開示の態様は、コンテキストコーディングされたビン１３６、１４０、及び１４４をグループに分けることに関するものであり、従って、ビンは、バイパスコーディングされたビン１３８及び１４２によって分離されない。繰り返すと、このようにコンテキストコーディングされたビン及びバイパスコーディングされたビンをグループに分けることは、映像コーダ（例えば、映像符号器２０又は映像復号器３０）がコンテキストコーディングとバイパスコーディングとの間で単一の移行を行うのを可能にすることができる。コンテキストコーディングとバイパスコーディングとの間での複数の移行を回避することは、それらの移行に関連するレーテンシーを制限することによって効率を向上させることができる。
【０１９８】
［０１９３］図６は、予測データの他のビンストリング例１４０を示したブロック図である。ビンストリング１４０は、第１の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ０）と、（例えば、水平成分及び垂直成分の両方を表す）第１の動きベクトル差分（ｍｖｄ_Ｌ０）と、第１の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ０）とを含み、第２の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ１）、（例えば、水平成分及び垂直成分の両方を表す）第２の動きベクトル差分（ｍｖｄ_Ｌ０）、及び第２の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ１）によって後続される。ビンストリング１４０は、コンテキストコーディングされたビン１４４と、バイパスコーディングされたビン１４８と、を含む。例えば、コンテキストコーディングされたビン１４４は、コンテキスト適応型コーディングプロセス（例えば、ＣＡＢＡＣ）のコンテキストコーディングモードを用いてコーディングすることができ、バイパスコーディングされたビン１４８は、固定確率（例えば、ＣＡＢＡＣバイパスコーディングモード）を用いてコーディングすることができる。
【０１９９】
［０１９４］本開示の態様により、コンテキストコーディングされたビン１４４は、バイパスビン１４８の前にコーディングのためにグループに分けられる。すなわち、図６に示される例では、コンテキストコーディングされたビン１４４は、第１の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ０）のコンテキストコーディングされたビンと、第２の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ１）のコンテキストコーディングされたビンと、第１の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ０）のコンテキストコーディングされたビンと、第２の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ１）のコンテキストコーディングされたビンと、第１の動きベクトル差分（ｍｖｄ_Ｌ０）のコンテキストコーディングされたビンと、第２の動きベクトル差分（ｍｖｄ_Ｌ１）のコンテキストコーディングされたビンと、を含む。さらに、バイパスコーディングされたビン１４８は、第１の動きベクトル差分（ｍｖｄ_Ｌ０）のバイパスコーディングされたビンと、第２の動きベクトル差分（ｍｖｄ_Ｌ１）のバイパスコーディングされたビンと、を含む。
【０２００】
［０１９５］幾つかの例では、ビンは、コーディング中の構文要素のビン番号に基づいてグループに分けることができる。例示することを目的とした例において、映像コーダ（例えば、映像符号器２０又は映像復号器３０）は、コンテキストコーディングを用いて動きベクトル差分値の最初の２つのビンをコーディングし及びバイパスコーディングを用いて残りのビンをコーディングすることができる。従って、この例では、コンテキストコーディングされたビン１４４は、第１の動きベクトル差分（ｍｖｄ_Ｌ０）及び第２の動きベクトル差分値（ｍｖｄ_Ｌ１）の両方の最初の２つのビンを含むことができ、他方、バイパスコーディングされたビン１４８は、動きベクトル差分値の残りのビンを含むことができる。
【０２０１】
［０１９６］図６に示される構文要素の順序設定は、例示することのみを目的として提供される。その他の例では、構文要素は、異なる順序で設定することができ、例えば、代替順序（又はインターリービング）では、基準インデックス値、動きベクトル予測子、及び動きベクトル差分値。すなわち、他の例では、映像コーダは、次のようにＰＵをコーディングすることができる。すなわち、基準インデックスＬ０のコンテキストコーディングされたビン、基準インデックスＬ１のコンテキストコーディングされたビン、基準インデックスＬ０のバイパスモードコーディングされたビン、基準インデックスＬ１のバイパスモードコーディングされたビン。さらに他の例では、バイパスビン１４８は、コンテキストコーディングされたビン１４４の前にコーディングすることができる。
【０２０２】
［０１９７］いずれの場合も、図６は、１つ以上のコンテキストコーディングされたビン１４４のグループ及び１つ以上のバイパスコーディングビン１４８のグループを有する予測データを示す。コンテキストコーディングされたビン及びバイパスコーディングされたビンをこのようにしてグループに分けることは、上記のように、ビンをコーディングすることに関連するレーテンシーを低減させることができる。例えば、映像コーダは、すべてのコンテキストコーディングされたビン１４４をコーディングし、コンテキストコーディングからバイパスコーディングへの単一の移行を行い、すべてのバイパコーディングされたビンをコーディングすることができる。コンテキストコーディングとバイパスコーディングとの間での複数の移行を回避することは、コンテキストコーディングとバイパスコーディングとの間での移行に関連するレーテンシーを制限することによって効率を向上させることができる。
【０２０３】
［０１９８］幾つかの例では、図６に示されるように、コンテキストコーディングされたビン及びバイパスコーディングされたビンは、映像データのブロックに関して（例えば、１つのＰＵごとに）グループに分けることができる。その他の例では、コンテキストコーディングされたビン及びバイパスコーディングされたビンは、ＣＵに関して（例えば、ＬＣＵの１つ以上のＣＵ）、ＬＣＵ全体に関して、又は映像データのスライス全体に関してグループに分けることができる。該例では、コンテキストコーディングされたビンは、ＣＵ／ＬＣＵ／スライスのバイパスコーディングされたビンの前にＣＵ／ＬＣＵ／スライスに関してグループに分けてコーディングすることができ、又は逆も同様である。
【０２０４】
［０１９９］図７は、予測データの他のビンストリング例１６０を示したブロック図である。図７の例では、ビンストリング１６０は、第１の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ０）と、（例えば、水平成分及び垂直成分の両方を表す）第１の動きベクトル差分（ｍｖｄ_Ｌ０）と、第１の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ０）とを含み、第２の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ１）、（例えば、水平成分及び垂直成分の両方を表す）第２の動きベクトル差分（ｍｖｄ_Ｌ０）、及び第２の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ１）によって後続される。ビンストリング１６０は、コンテキストコーディングされたビン１６４と、バイパスコーディングされたビン１６８と、を含む。例えば、コンテキストコーディングされたビン１６４は、コンテキスト適応型コーディングプロセス（例えば、ＣＡＢＡＣ）のコンテキストコーディングモードを用いてコーディングすることができ、バイパスコーディングされたビン１６８は、固定確率（例えば、ＣＡＢＡＣバイパスコーディングモード）を用いてコーディングすることができる。
【０２０５】
［０２００］本開示の態様により、図６に示される例と同様に、コンテキストコーディングされたビン１６４は、バイパスビン１６８の前にコーディングのためにグループに分けられる。しかしながら、図７に示される例では、基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ０及びｒｅｆ_ｉｄｘ_Ｌ１）は、コンテキストコーディングされたビンとバイパスコーディングされたビンの組み合わせを含む。すなわち、基準インデックスは、上の図４に関して説明される例によりコーディングすることができ、１つ以上のビンは、コンテキスト適応型モードを用いてコーディングされ、１つ以上のその他のビンは、バイパスモードを用いてコーディングされる。
【０２０６】
［０２０１］従って、図７の例では、コンテキストコーディングされたビン１６４は、第１の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ０）のコンテキストコーディングされたビンと、第２の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ１）のコンテキストコーディングされたビンと、第１の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ０）のコンテキストコーディングされたビンと、第２の動きベクトル予測子インデックス（ｍｖｐ_ｉｄｘ_Ｌ１）のコンテキストコーディングされたビンと、（例えば、水平成分及び垂直成分の両方を表す）第１の動きベクトル差分（ｍｖｄ_Ｌ０）のコンテキストコーディングされたビンと、（例えば、水平成分及び垂直成分の両方を表す）第２の動きベクトル差分（ｍｖｄ_Ｌ１）のコンテキストコーディングされたビンとを含む。さらに、バイパスコーディングされたビン１６８は、第１の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ０）のバイパスコーディングされたビンと、第２の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ１）のバイパスコーディングされたビンと、第１の動きベクトル差分（ｍｖｄ_Ｌ０）のバイパスコーディングされたビンと、第２の動きベクトル差分（ｍｖｄ_Ｌ１）のバイパスコーディングされたビンと、を含む。
【０２０７】
［０２０２］図６に関して上述されるように、ビンは、コーディング中の構文要素のビン番号に基づいてグループに分けることができる。例示することを目的とする例では、映像コーダ（映像符号器２０又は映像復号器３０）は、コンテキストコーディングを用いて動きベクトル差分値の最初の２つのビンをコーディングし、残りのビンはバイパスコーディングを用いてコーディングすることができる。さらに、映像コーダは、コンテキストコーディングを用いて基準インデックスの最初の２つのビンをコーディングし、バイパスコーディングを用いて残りのビンをコーディングすることができる。従って、この例では、コンテキストコーディングされたビン１４４は、第１の動きベクトル差分（ｍｖｄ_Ｌ０）及び第２の動きベクトル差分値（ｍｖｄ_Ｌ１）の両方の最初の２つのビンと、第１の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ０）及び第２の基準インデックス（ｒｅｆ_ｉｄｘ_Ｌ１）の最初の２つのビンと、を含むことができる。バイパスコーディングされたビン１４８は、動きベクトル差分値及び基準インデックスの残りのビンを含むことができる。
【０２０８】
［０２０３］コンテキストコーディングされたビン及びバイパスコーディングされたビンをグループに分けることは、ビンをコーディングすることに関連するレーテンシーを低減させることができる。例えば、映像コーダは、すべてのコンテキストコーディングされたビン１４４をコーディングし、コンテキストコーディングからバイパスコーディングへの単一の移行を行い、すべてのバイパスコーディングされたビンをコーディングすることができる。コンテキストコーディングとバイパスコーディングとの間での複数の移行を回避することは、コンテキストコーディングとバイパスコーディングとの間での移行に関連するレーテンシーを制限することによって効率を向上させることができる。
【０２０９】
［０２０４］図６及び７に関して説明される技法は、あらゆるバイナリ化方式を用いて実行することができることが理解されるべきである。さらに、上記のように、構文要素の順序設定は、例示することのみを目的として提供される。さらに、コンテキストコーディングされたビン及びバイパスコーディングされたビンは、ＰＵに関して、１つ以上のＣＵに関して、ＬＣＵ全体に関して、又は映像データのスライス全体に関してグループに分けることができる。該例では、コンテキストコーディングされたビンは、ＰＵ／ＣＵ／ＬＣＵ／スライスのバイパスコーディングされたビンの前にＰＵ／ＣＵ／ＬＣＵ／スライスに関してグループに分けてコーディングすることができ、又は逆も同様である。
【０２１０】
［０２０５］図８Ａ及び８Ｂは、概して、インター予測方向構文要素をコーディングすることを例示する。例えば、上記のように、動きベクトルを計算することに加えて、動き推定は、Ｂスライスに関する基準フレームのインデックス（ｒｅｆ_ｉｄｘ）及び予測方向も決定する（ｉｎｔｅｒ_ｐｒｅｄ_ｉｄｃ：Ｌ０から前方、Ｌ１から後方、又は両方向、又はｉｎｔｅｒ_ｐｒｅｇ_ｆｌａｇ：ＬＣから単一方向又はＬ０及びＬ１から両方向）。動きベクトル（例えば、動きベクトルの水平成分及び垂直成分）、基準フレームインデックス、及び予測方向は、典型的には、構文要素として符号器によってエントロピー符号化され、映像復号プロセスでの使用のために映像復号器によって復号されるべき符号化された映像ビットストリーム内に置かれる。これらの構文要素は、復号器がＰＵによって定義された映像データを復号して再生成するのを可能にするためにインターコーディングされたＰＵに関して提供することができる。
【０２１１】
［０２０６］幾つかの例では、両方向予測モード（Ｐｒｅｄ_ＢＩ）に関する基準インデックスをシグナリングするためにリストＬ０及びリストＬ１基準インデックスを使用することができ、単一方向予測モードに関する基準インデックス（Ｐｒｅｄ_ＬＣ）をシグナリングするために結合されたリスト（ＬＣ）基準インデックスが使用される。ＬＣ基準インデックスは、結合された基準ピクチャリストの基準インデックスであり、それは、複製された基準ピクチャが予め定義された規則（又は明示のシグナリング）により取り除かれたリストＬ０及びＬ１からの基準ピクチャの組み合わせを含む。
【０２１２】
［０２０７］該例では、インター予測方向構文要素（ｉｎｔｅｒ_ｐｒｅｄ_ｆｌａｇ）は、２つの可能な値（ＬＣからの両方向又は単一方向）しか有さない。インター予測方向構文要素がバイナリ化されるときには、インター予測方向が両方向又は単一方向のいずれかとして示すために１のみのビンがコーディングされるだけでよい。以下に示される表８は、インター予測方向構文要素を例示する。
【表８】
2015513290.tif 000010
【０２１３】
［０２０８］その他の例では、Ｔ．Ｌｅｅ及びＪ．Ｐａｒｋによる提出物“On Reference List Combination”（ＪＣＴＶＣ−Ｉ０１２５、ジュネーブ、２０１２年４月）において提案されるように、結合リスト（ＬＣ）は取り除くことができる。該例では、代わりに、３つの可能な値（両方向、Ｌ０からの単一方向、又はＬ１からの単一方向）を有するインター予測方向構文要素（ｉｎｔｅｒ_ｐｒｅｄ_ｆｌａｇ又はｉｎｔｅｒ_ｐｒｅｄ_ｉｄｃ）を使用する。予測モードが単一方向予測モードであるときには、Ｐｒｅｇ_Ｌ０又はＰｒｅｇ_Ｌ１のいずれかを示す追加のビンをコーディングする必要がある。
【０２１４】
［０２０９］表９は、（上の表８に対する）インター予測方向構文要素コーディングの変更を例示する。
【表９】
2015513290.tif 000011
【０２１５】
［０２１０］図８Ａは、表９に関して上述されるコーディング構造を例示する。図８Ａに示されるように、インター予測方向構文要素（ｉｎｔｅｒ_ｐｒｅｄ_ｆｌａｇ）は、２つのビンを用いてＣＡＢＡＣプロセスによってコーディングすることができる。第１のビン（ビン（０））は、インター予測モードが単一方向（ビン（０）＝０）であるか又は両方向（ｐｒｅｄ_Ｂ１）（ビン（０）＝１）であるかを示す。第２のビンは、第１のビンが単一方向予測モードであることを示す場合のみに条件付きでコーディングされる。第２のビン（ビン（１））は、単一方向予測モードがリスト０（ｐｒｅｄ_Ｌ０）（ビン（１）＝０）からであるか又はリスト１（ｐｒｅｄ_Ｌ１）（ビン（１）＝１）からであるかを示す。
【０２１６】
［０２１１］２つの可能な値（ＬＣから両方向又は単一方向）のみを有するインター予測方向に関するコンテキストモデルインデックス導出は、ＣＵ深度に基づいて決定することができ、それは、以下の方程式において示されるように、第１のビン（ビン０）に関する範囲０．．３内の値を有することができる。
【０２１７】
ｃｔｘＩｄｘ＝ｃｕＤｅｐｔｈ
［０２１２］図８Ａの例において、第２のビン（ビン（１））は、追加のコンテキストでコーディングすることができ、又は、第１の（ビン０））の１つのコンテキストを再使用することによってコーディングすることができる。しかしながら、追加のコンテキストを導入することは、インター予測方向構文要素をコーディングすることに関連する複雑さを増大させる可能性がある。さらに、第１のビンのコンテキストのうちの１つを再使用することは、ビン０をコーディングするために使用されるコンテキスト数を減少させることになり、映像コーダは、この状態に関する余分の検査を行わなければならない。
【０２１８】
［０２１３］図８Ｂは、本開示の態様による、インター予測方向構文要素をバイパスコーディングすることを例示するブロック図である。図８Ｂに示されるように、インター予測方向構文要素（ｉｎｔｅｒ_ｐｒｅｄ_ｆｌａｇ）の第１のビン（ビン（０））は、ＣＡＢＡＣプロセスによってコンテキストコーディングすることができ、第２のビン（ビン（１））は、ＣＡＢＡＣプロセスのバイパスモードを用いてコーディングすることができる。第１のビン（ビン（０））は、
インター予測モードが単一方向（ビン（０）＝０）であるか又は両方向（ｐｒｅｄ_ＢＩ）（ビン（０）＝１）であるかを示す。この例では、ビン（０）は、４つの可能なコンテキストのうちの１つを用いてコーディングすることができるｃｔｘＩｄｘ＝０．．３。第２のビン（ビン（１））は、第１のビンが単一方向予測モードであることを示す場合のみに条件付きでコーディングすることができる。第２のビン（ビン（１））は、単一方向予測モードがリスト０（ｐｒｅｄ_Ｌ０）（ビン（１）＝０）からであるか又はリスト１（ｐｒｅｄ_Ｌ１）（ビン（１）＝１）からであるかを示す。本開示の態様により、ビン（１）は、コンテキストを用いずにコーディングする（例えば、ＣＡＢＡＣプロセスのバイパスモードを用いてコーディングする）ことができる。
【０２１９】
［０２１４］このようにして、本開示の態様により、映像コーダ（映像符号器２０又は映像復号器３０）は、インター予測方向値をバイナリ化し、バイパスモードを用いてバイナリ化されたインター予測方向値の少なくとも１つのビンをコーディングすることができる。より具体的には、映像コーダは、ＣＡＢＡＣプロセスを用いてインター予測方向値に関する第１のビン（ビン（０））をコンテキストコーディングするためのコンテキストを選択することができ、及び、ＣＡＢＡＣプロセスのバイパスモードを用いて第２のビン（ビン（１））をコーディングすることができる。代替として、それらの技法は、映像コーダがバイパスモードを用いてインター予測方向値に関する第１のビン（ビン０））をコーディングすること及びバイパスモードを用いて第２のビン（ビン（１））を同じくコーディングするのを可能にする。従って、ビン（０）をコーディングするために利用可能な４つのコンテキスト、ｃｔｘＩｄｘ＝０．．３、を節約することができる。
【０２２０】
［０２１５］技法は、余分のコンテキストを要求せずに又はコンテキスト（例えば、ビン０のコンテキスト）を再使用せずに、３つの可能な値（両方向、Ｌ０からの単一方向、又はＬ１からの単一方向）を有するインター予測方向構文要素のコーディングを可能にする。さらに、技法は、コンテキストが要求されずにバイパスモードを使用し、そのことは、計算上の複雑さがコンテキストコーディングよりも小さい。
【０２２１】
［０２１６］図９は、本開示の態様による、基準インデックス値をエントロピー符号化する例を示したフローチャートである。説明の目的上、概して映像符号器２０のコンポーネント（図１及び２）によって行われるとして説明されているが、その他の映像コーディングユニット、プロセッサ、処理ユニット、ハードウェアに基づくコーディングユニット、例えば、符号器／復号器（ＣＯＤＥＣ）、等も図９のプロセスを実行するように構成することができる。
【０２２２】
［０２１７］図９の例において、映像符号器２０は、受信された構文要素をバイナリ化する（１８０）。映像符号器２０は、本開示において説明されるバイナリ化プロセスのうちのいずれかにより構文要素をバイナリ化することができる。バイナリ化プロセス例は、ユナリ、打ち切りユナリ、指数−Ｇｏｌｏｍｂ、等を含む。
【０２２３】
［０２１８］映像符号器２０は、バイナリ化された構文要素が基準インデックス値であるかどうかを決定する（１８２）。繰り返すと、基準インデックス値は、概して、インター予測目的で基準ピクチャリスト内の基準ピクチャを識別する。バイナリ化された構文要素が基準インデックス値である場合は（ステップ１８２の“はい”の分岐）、映像符号器２０は、コンテキスト適応型コーディング、例えば、ＣＡＢＡＣ、を用いてバイナリ化された基準インデックス値の少なくとも１つのビンを符号化することができる（１８４）。さらに、映像符号器２０は、バイパスコーディングを用いて（コーディングされるべき追加のビンが存在する例において）バイナリ化された基準インデックス値の少なくとも他のビンを符号化することができ、それは、コンテキスト適応型コーディングエンジンをバイパスする（１８６）。
【０２２４】
［０２１９］図４に関して上述されるように、映像符号器２０は、幾つかの例では、コンテキストコーディングを用いて１つ、２つ、又は３つのビンをコーディングすることができる。コンテキストコーディングされたビンに関して、映像符号器２０は、ビンストリング内のビンの相対的位置に基づいてコンテキストを選択することができる。例えば、映像符号器２０は、第２のビンに関するコンテキストと異なる第１のビンに関するコンテキストを選択することができる。
【０２２５】
［０２２０］いずれの場合も、映像符号器２０は、符号化されたビットストリーム１８８を形成するためにコンテキストコーディングされたビン及びバイパスコーディングされたビンを結合することができる。幾つかの例では、コーディング中の構文要素が基準インデックス値でない場合は（ステップ１８２の“いいえ”分岐）、映像符号器２０は、構文要素をコーディングするために特定のコーディングモード（例えば、バイパス又はコンテキスト適応型）を選択することができる（１９０）。映像符号器２０は、選択されたモードを用いて構文要素を符号化し（１９２）及び符号化されたビットストリームを形成する（１８８）ことができる。
【０２２６】
［０２２１］図９に関して示されて説明されるステップは、単なる一例として提供されることが理解されるべきである。すなわち、図９の方法のステップは、必ずしも図９に示される順序で実行する必要はなく、さらに、これよりも少ない、多い、又は代替のステップを実行することができる。例えば、映像符号器２０は、幾つかの例では、構文要素をバイナリ化する（ステップ１８０）前に構文要素がインデックスであるかどうかを決定する（ステップ１８２）ことができる。
【０２２７】
［０２２２］図１０は、本開示の態様による、基準インデックス値をエントロピー復号する例を示したフローチャートである。説明の目的上、概して映像復号器３０のコンポーネント（図１及び３）によって行われるとして説明されているが、その他の映像コーディングユニット、プロセッサ、処理ユニット、ハードウェアに基づくコーディングユニット、例えば、符号器／復号器（ＣＯＤＥＣ）、等、も図１２のプロセスを実行するように構成することができることが理解されるべきである。
【０２２８】
［０２２３］映像復号器３０は、最初に、符号化されたビットストリームからのコーディングされた構文要素を構文解析することができる（２００）。例えば、映像復号器３０は、特定の構文解析プロセス（例えば、ウェーブフロント（ｗａｖｅｆｒｏｎｔ）構文解析）により符号化されたビットストリームからのコーディングされた構文要素を読み取ってセグメント化することができる。コーディングされ構文要素は、複数のコーディングされたビン、すなわち、バイナリ値、を含むことができる。
【０２２９】
［０２２４］映像復号器３０は、現在復号中のビットストリームの一部分が基準インデックス値であるかどうかも決定することができる（２０２）。映像復号器３０が基準インデックス値を復号中である場合は（ステップ２０２の“はい”分岐）、映像復号器３０は、コンテキスト適応型コーディングを用いて少なくとも１つのビンを復号することができる（２０６）。さらに、映像復号器３０は、バイパスコーディングを用いて（コーディングされるべき追加のビンが存在する例において）少なくとも他のビンを復号することができる（２０８）。図９に関して上記されるように、映像復号器３０は、幾つかの例では、コンテキストコーディングを用いて１つ、２つ、又は３つのビンをコーディングすることができる。コンテキストコーディングされたビンに関して、映像復号器３０は、ビンストリング内のビンの相対的位置に基づいてコンテキストを選択することができる。例えば、映像復号器３０は、第２のビンに関するコンテキストと異なる第１のビンに関するコンテキストを選択することができる。
【０２３０】
［０２２５］復号されたバイナリ値を生成するためにビンを復号後は、映像復号器３０は、復号された構文要素を生成するために復号されたビンストリングをバイナリ化することができる。例えば、映像復号器３０は、予め決定されたプロセスを用いて復号されたビンストリングを構文要素にマッピングすることができる。すなわち、幾つかの例では、映像復号器３０は、特定のビンが構文要素に関する最終ビンであることを示す表示を受信することができる。構文要素を完了させた時点で、映像復号器３０は、バイナリ化テーブルを用いてビンストリングを構文要素にマッピングすることができる。
【０２３１】
［０２２６］幾つかの例では、コーディング中の構文要素が基準インデックス値でない場合は（ステップ２０２の“いいえ”分岐）、映像復号器３０は、構文要素をコーディングするために特定のコーディングモード（例えば、バイパス又はコンテキスト適応型）を選択することができる（２１０）。映像復号器３０は、選択されたモードを用いて構文要素を復号し（２１２）、復号されたビンストリングをバイナリ化することができる（２０８）。
【０２３２】
［０２２７］図１０に関して示されて説明されるステップは、単なる一例として提供されることも理解されるべきである。すなわち、図１０の方法のステップは、必ずしも図１０に示される順序で実行される必要はなく、さらに、これよりも少ない、多い、又は代替のステップを実行することができる。
【０２３３】
［０２２８］図１１は、本開示の態様による、予測データをエントロピー符号化する例を示したフローチャートである。説明の目的上、概して映像符号器２０のコンポーネント（図１及び２）によって行われるとして説明されているが、その他の映像コーディングユニット、プロセッサ、処理ユニット、ハードウェアに基づくコーディングユニット、例えば、符号器／復号器（ＣＯＤＥＣ）、等も図９のプロセスを実行するように構成することができることが理解されるべきである。
【０２３４】
［０２２９］図１１の例では、映像符号器２０は、現在コーディング中の１つ以上の構文要素をバイナリ化することができる（２２０）。例えば、映像符号器２０は、１つ以上の基準インデックス、動きベクトル、動きベクトル予測子、動きベクトル予測子インデックス、動きベクトル差分値、等を含む予測データをバイナリ化することができる。
【０２３５】
［０２３０］いずれの場合も、映像符号器２０は、コーディング中の構文要素がコンテキストコーディングのためのビン又はバイパスコーディングのためのビンのいずれを含むかを決定することができる（２２２）。すなわち、映像符号器２０は、構文要素のビンがコンテキスト適応型コーディング及びバイパスコーディングの組み合わせを用いてコーディングされるかどうかを決定することができる。コンテキストコーディング及びバイパスコーディングの両方の組み合わせが存在する場合は（ステップ２２２の“はい”分岐）、映像符号器２０は、コンテキストコーディングされたビン及びバイパスコーディングされたビンをグループに分けることができる（２２４）。例えば、映像符号器２０は、コンテキストコーディングされたビンをバイパスコーディングされたビンから分離させることができる。
【０２３６】
［０２３１］映像符号器２０は、例えば、コンテキスト適応型コーディングプロセス（例えば、ＣＡＢＡＣ）を用いてコンテキストコーディングされたビンを符号化することができる（２２６）。さらに、映像符号器２０は、バイパスモードを用いてバイパスコーディングされたビンを符号化することができる（２２６）。バイパスモードは、ビンをコーディングするためにコンテキスト適応型コーディングエンジンをバイパスし、固定確率を使用することができる。
【０２３７】
［０２３２］コーディング中の構文要素がコンテキストコーディングされたビン及びバイパスコーディングされたビンの両方を含まない場合は（ステップ２２２の“いいえ”分岐）、映像符号器２０は、構文要素をコーディングするために特定のコーディングモード（例えば、バイパス又はコンテキスト適応型）を選択することができる（２３０）。映像符号器２０は、選択されたモードを用いて構文要素を符号化することができる（２３４）。
【０２３８】
［０２３３］幾つかの例では、図１１に関して説明されるビングループ分けは、３つ以上の構文要素に関して行うことができる。例えば、図７に関して上述されるように、ＰＵと関連付けられたすべてのコンテキストコーディングされたビンをグループに分けることができ、従って、ＰＵのコンテキストコーディングされたビンがまとめてコーディングされ、ＰＵのバイパスコーディングされたビンがまとめてコーディングされる。さらに、グループ分けは、ＣＵ、ＬＣＵ、又はスライスレベルで行うことができる。すなわち、幾つかの例では、ＣＵ／ＬＣＵ／スライスに関するすべてのコンテキストコーディングされたビンをグループに分けてまとめてコーディングすることができ、それにより、映像符号器２０がコンテキストコーディングとバイパスコーディングとの間で１回の移行を行うのを可能にする。
【０２３９】
［０２３４］図１１に関して示されて説明されるステップは、単なる一例として提供されることも理解されるべきである。すなわち、図１１の方法のステップは、必ずしも図１１に示される順序で実行する必要はなく、さらに、これよりも少ない、多い、又は代替のステップを実行することができる。例えば、図１１は、映像符号器２０がバイパスコーディングされたビンの前にもコンテキストコーディングされたビンを符号化することを示している一方で、その他の例では、映像符号器２０は、コンテキストコーディングされたビンの前にバイパスコーディングされたビンをコーディングすることができる。
【０２４０】
［０２３５］図１２は、本開示の態様による、予測データをエントロピー復号する例を示したフローチャートである。説明の目的上、概して映像復号器３０のコンポーネント（図１及び３）によって行われるとして説明されているが、その他の映像コーディングユニット、プロセッサ、処理ユニット、ハードウェアに基づくコーディングユニット、例えば、符号器／復号器（ＣＯＤＥＣ）、等も図１２のプロセスを実行するように構成することができることが理解されるべきである。
【０２４１】
［０２３６］図１２の例では、映像復号器３０は、復号されるべき構文要素（又は要素（複数））を決定することができる。一例では、映像復号器３０は、復号のために予測データと関連付けられた構文要素を識別することができる。映像復号器３０は、構文要素のビンがコンテキストコーディングされたビン及びバイパスコーディングされたビンを含むかどうかも決定することができる。コンテキストコーディング及びバイパスコーディングの両方の組み合わせが存在する場合は（ステップ２４２の“はい”分岐）、映像復号器３０は、コンテキストコーディングされたビンを復号することができる（２４４）。映像復号器３０は、コンテキストコーディングされたビンとは別個に、バイパスコーディングされたビンを復号することもできる（２４６）。すなわち、コンテキストコーディングされたビンが復号中のビットストリーム内のバイパスコーディングされたビンと別個にグループ分けされる例では、映像復号器３０は、バイパスコーディングされたビンを復号するのとは別個にすべてのコンテキストコーディングされたビンを復号することができる。ビンを復号後は、映像復号器３０は、復号された構文要素を形成するために復号されたビンをバイナリ化することができる（２４８）。例えば、映像復号器３０は、バイナリ化テーブル又はその他のバイナリ化プロセスを用いて復号されたビンストリングを構文要素にマッピングすることができる。
【０２４２】
［０２３７］コーディング中の構文要素がコンテキストコーディングされたビン及びバイパスコーディングされたビンの両方を含まない場合は（ステップ２４２の“いいえ”分岐）、映像復号器３０は、構文要素をコーディングするために特定のコーディングモード（例えば、バイパス又はコンテキスト適応型）を選択することができる（２５０）。次に、映像復号器３０は、選択されたモードを用いて符号化されたビンを復号し（２５２）、復号された構文要素を形成するために復号されたビンストリングをバイナリ化することができる（２４８）。
【０２４３】
［０２３８］図１１に関して上述されるように、幾つかの例では、ビンのグループ分けは、３つ以上の構文要素に関して行うことができる。例えば、グループ分けは、ＰＵ、ＣＵ、ＬＣＵ、又はスライスレベルで行うことができる。すなわち、幾つかの例では、ＰＵ／ＣＵ／ＬＣＵ／スライスに関するすべてのコンテキストコーディングされたビンをグループ分けしてまとめてコーディングすることができ、それにより、映像復号器３０がコンテキストコーディングとバイパスコーディングとの間で単一の移行を行うのを可能にすることができる。
【０２４４】
［０２３９］図１２に関して示されて説明されるステップは、単なる一例として提供されることも理解されるべきである。すなわち、図１２の方法のステップは、必ずしも図１２に示される順序で実行する必要はなく、さらに、これよりも少ない、多い、又は代替のステップを実行することができる。例えば、図１２は、映像復号器３０がバイパスコーディングされたビンの前にコンテキストコーディングされたビンを復号することを示すが、その他の例では、映像復号器３０は、コンテキストコーディングされたビンの前にバイパスコーディングされたビンを復号することができる。
【０２４５】
［０２４０］例に依存して、ここにおいて説明されるいずれかの方法の幾つかの行為又はイベントは、異なったシーケンスで行うことができ、追加すること、結合すること、又はすべて省略することができることも理解されるべきである（例えば、方法の実践のためにすべての説明される行為又はイベントが必要であるわけではない）。さらに、幾つかの例では、行為又はイベントは、順次ではなく、マルチスレッド処理、割り込み処理、又は複数のプロセッサを通じて、同時並行して行うことができる。さらに、本開示の幾つかの態様は、明確化を目的として単一のモジュール又はユニットによって実施されるとして説明されているが、本開示の技法は、映像コーダと関連付けられたユニット又はモジュールの組み合わせによって実行できることが理解されるべきである。
【０２４６】
［０２４１］映像符号器２０は、映像符号化プロセスにおいて基準インデックス及びその他の構文要素をコーディングするために本開示のいずれかの又はすべての技法を実装することができる。同様に、映像復号器３０は、映像コーディングプロセスにおいて基準インデックス及びその他の構文要素をコーディングするために本開示のいずれかの又はすべての技法を実装することができる。映像コーダは、本開示において説明されるように、映像符号器又は映像復号器を意味することができる。同様に、映像コーディングユニットは、映像符号器又は映像復号器を意味することができる。同様に、映像コーディングは、映像符号化又は映像復号を意味することができる。
【０２４７】
［０２４２］１つ以上の例において、本開示において説明される、映像符号器２０、映像復号器３０，又はその他の処理ユニットに関する機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において１つ以上の命令又はコードとして格納又は送信すること及びハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な又は非一時的な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルにより、１つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体、に対応することができる。このように、コンピュータによって読み取り可能な媒体は、概して、（１）非一時的である有形なコンピュータによって読み取り可能な記憶媒体又は（２）通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び／又はデータ構造を取り出すために１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
【０２４８】
［０２４３］一例により、及び制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又はその他のいずれかの媒体を備えることができる。さらに、どのような接続も、コンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン（ＤＳＬ）、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、ＤＳＬ、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体およびデータ記憶媒体は、コネクション、搬送波、信号、又はその他の遷移媒体は含まず、代わりに、非一時的な、有形の記憶媒体を対象とすることが理解されるべきである。ここにおいて用いられるときのディスク（ｄｉｓｋ及びｄｉｓｃ）は、コンパクトディスク（ＣＤ）（ｄｉｓｃ）と、レーザディスク（ｄｉｓｃ）と、光ディスク（ｄｉｓｃ）と、デジタルバーサタイルディスク（ＤＶＤ）（ｄｉｓｃ）と、フロッピー（登録商標）ディスク（ｄｉｓｋ）と、Ｂｌｕ−ｒａｙディスク（ｄｉｓｃ）と、を含み、ここで、ｄｉｓｋは、通常は磁気的にデータを複製し、ｄｉｓｃは、レーザを用いて光学的にデータを複製する。上記の組み合わせも、コンピュータによって読み取り可能な媒体の適用範囲内に含められるべきである。
【０２４９】
［０２４４］命令は、１つ以上のプロセッサ、例えば、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、又はその他の同等の集積又はディスクリート論理回路によって実行することができる。映像符号器２０又は映像復号器３０は、本開示において説明される機能を実行するように構成された様々な該１つ以上のプロセッサのうちのいずれかを含むことができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化および復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内において提供されること、又は組み合わされたコーデック内に組み入れることができる。さらに、技法は、１つ以上の回路又は論理素子内に完全に実装することが可能である。
【０２５０】
［０２４５］本開示の技法は、無線ハンドセット、集積回路（ＩＣ）又は一組のＩＣ（例えば、チップセット）を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び／又はファームウェアと関係させて、コーデックハードウェアユニット内において結合させること又は上述されるように１つ以上のプロセッサを含む相互運用的なハードウェアユニットの集合によって提供することができる。
【０２５１】
［０２４６］  様々な例が説明されている。これらの及びその他の例は、以下の請求項の範囲内である。
【図１】
2015513290.tif 000012
【図２】
2015513290.tif 000013
【図３】
2015513290.tif 000014
【図４】
2015513290.tif 000015
【図５Ａ】
2015513290.tif 000016
【図５Ｂ】
2015513290.tif 000017
【図６】
2015513290.tif 000018
【図７】
2015513290.tif 000019
【図８Ａ】
2015513290.tif 000020
【図８Ｂ】
2015513290.tif 000021
【図９】
2015513290.tif 000022
【図１０】
2015513290.tif 000023
【図１１】
2015513290.tif 000024
【図１２】
2015513290.tif 000025
【国際調査報告】
2015513290.tif 000026