JP2015513290A - 映像コーディングにおける基準インデックスコーディングのためのバイパスビン - Google Patents

映像コーディングにおける基準インデックスコーディングのためのバイパスビン Download PDF

Info

Publication number
JP2015513290A
JP2015513290A JP2015505786A JP2015505786A JP2015513290A JP 2015513290 A JP2015513290 A JP 2015513290A JP 2015505786 A JP2015505786 A JP 2015505786A JP 2015505786 A JP2015505786 A JP 2015505786A JP 2015513290 A JP2015513290 A JP 2015513290A
Authority
JP
Japan
Prior art keywords
reference index
bin
index value
coding mode
context
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015505786A
Other languages
English (en)
Other versions
JP2015513290A5 (ja
JP6215304B2 (ja
Inventor
カークゼウィックズ、マルタ
セレジン、バディム
ワン、シャンリン
コバン、ムハンメド・ゼイド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2015513290A publication Critical patent/JP2015513290A/ja
Publication of JP2015513290A5 publication Critical patent/JP2015513290A5/ja
Application granted granted Critical
Publication of JP6215304B2 publication Critical patent/JP6215304B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一例では、本開示の態様は、映像復号プロセスにおいて基準インデックス構文要素を復号するための方法に関するものであり、コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも1つのビンを復号することを含む。その方法は、基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも1つのビンよりも多くのビンを備えるときに、CABACプロセスのバイパスコーディングモードを用いて基準インデックス値の少なくとも他のビンを復号することと、基準インデックスをバイナリ化することと、も含む。

Description

[0001]本開示は、米国仮特許出願第61/623,043号(出願日:2012年4月11日)、米国仮特許出願第61/637,218号(出願日:2012年4月23日)、米国仮特許出願第61/640,568号(出願日:2012年4月30日)米国仮特許出願第61/647,422号(出願日:2012年5月15日)、及び米国仮特許出願第61/665,151号(出願日:2012年6月27日)、の利益を主張するものであり、それらの各々の内容全体が、引用によってここに組み入れられている。
[0002]本開示は、映像コーディングに関するものである。本開示は、より具体的には、映像コーディングプロセスにおいて構文要素をコーディングするための技法に関するものである。
[0003]デジタル映像能力を広範なデバイス内に組み入れることができ、デジタルテレビと、デジタル直接放送システムと、無線放送システムと、パーソナルデジタルアシスタント(PDA)と、ラップトップ又はデスクトップコンピュータと、タブレットコンピュータと、デジタルカメラと、デジタル記録デバイスと、デジタルメディアプレーヤーと、ビデオゲームプレイ装置と、ビデオゲームコンソールと、セルラー又は衛星無線電話と、ビデオ会議装置と、等を含む。デジタル映像デバイスは、デジタル映像情報をより効率的に送信、受信、符号化、復号、及び格納するために、映像圧縮技法、例えば、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part10、アドバンストビデオコーディング(Advanced Video Coding(AVC))、現在策定中の高効率映像コーディング(High Efficiency Video Coding(HEVC)規格によって定義される規格、及び該規格の拡張版において説明されるそれら、を実装する。
[0004]映像圧縮技法は、映像シーケンスに固有の冗長性を低減又は除去するための空間予測及び/又は時間予測を含む。ブロックに基づく映像コーディングでは、映像フレーム又はスライスをブロックに分割することができる。映像フレームは、代替として、ピクチャと呼ぶことができる。各ブロックは、さらに分割することができる。イントラコーディングされた(I)ピクチャ又はスライス内のブロックは、同じピクチャ又はスライス内の近隣ブロック内の基準サンプルに関して空間予測を用いて符号化される。インターコーディングされた(P又はB)ピクチャ又はスライス内のブロックは、同じピクチャ又はスライス内の近隣ブロック内の基準サンプルに関しては空間予測、その他の基準ピクチャ内の基準サンプルに関しては時間予測を使用することができる。空間又は時間予測の結果、コーディングされるべきブロックに関する予測ブロックが得られる。残差データは、コーディングされるべきオリジナルのブロックと予測ブロックとの間のピクセル差分を表す。
[0005]インターコーディングされるブロックは、予測ブロックを形成する基準サンプルのブロックを指し示す動きベクトル、及びコーディングされたブロックと予測ブロックとの間の差分を示す残差データにより符号化される。イントラコーディングされるブロックは、イントラコーディングモード及び残差データにより符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換することができ、その結果残差変換係数が得られ、それらは量子化することができる。量子化された変換係数は、最初は二次元配列で配置され、エントロピーコーディングに関する変換係数の一次元ベクトルを生成するために特定の順序で走査することができる。エントロピーコーディングは、映像コーディングプロセスにおいて使用される様々なその他の構文要素に対しても適用することができる。
[0006]本開示の技法は、概して、映像データをエントロピーコーディングすることに関するものである。例えば、コンテキスト適応型コーディングを行うときには、映像コーダは、確率推定値を用いてデータの各ビット又は“ビン”をコーディングすることができ、それは、ビンが所定のバイナリ値を有する尤度を示すことができる。確率推定値は、“コンテキストモデル”とも呼ばれる確率モデル内に含めることができる。映像コーダは、ビンに関するコンテキストを決定することによってコンテキストモデルを選択することができる。ビンに関するコンテキストは、以前にコーディングされた構文要素の関連ビンの値を含むことができる。ビンをコーディング後は、映像コーダは、最も現在の確率推定値を反映させるためにビンの値に基づいてコンテキストモデルを更新することができる。コンテキストコーディングモードを適用することとは対照的に、映像コーダは、バイパスコーディングモードを適用することができる。例えば、映像コーダは、正規の算術コーディングプロセスをバイパス、又は省略するためにバイパスモードを使用することができる。該事例では、映像コーダは、ビンをバイパスコーディングするために(コーディング中に更新されない)固定確率モデルを使用することができる。
[0007]本開示の技法は、インターコーディングされた映像データと関連付けられた構文要素を効率的にコンテキストコーディングすることに関するものである。例えば、本開示の態様は、基準インデックス値、動きベクトル予測子、動きベクトル差分値、等を効率的にコーディングすることに関するものである。幾つかの事例では、映像コーダは、構文要素の幾つかのビンに関してはコンテキストコーディング及び構文要素のその他のビンに関してはバイパスコーディングを行うことができる。例えば、映像コーダは、基準インデックス値の1つ以上のビンをコンテキストコーディングし、基準インデックス値の1つ以上のその他のビンをバイパスコーディングすることができる。
[0008]一例では、本開示の態様は、映像符号化プロセスにおいて基準インデックス構文要素を符号化するための方法に関するものであり、基準インデックス値をバイナリ化することと、コンテキスト適応型バイナリ算術コーディング(CABAC)のコンテキストコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも1つのビンを符号化することと、バイナリ化された基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも1つのビンよりも多くのビンを備えるときに、CABACプロセスのバイパスコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも他のビンを符号化することと、を含む。
[0009]他の例では、本開示の態様は、映像符号化プロセスにおいて基準インデックス構文要素を符号化するための装置に関するものであり、基準インデックス値をバイナリ化し、コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのコンテキストコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも1つのビンを符号化し、及び、バイナリ化された基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも1つのビンよりも多くのビンを備えるときに、CABACプロセスのバイパスコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも他のビンを符号化するための1つ以上のプロセッサを含む。
[0010]他の例では、本開示の態様は、映像符号化プロセスにおいて基準インデックス構文要素を符号化するための装置に関するものであり、基準インデックス値をバイナリ化するための手段と、コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのコンテキストコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも1つのビンを符号化するための手段と、バイナリ化された基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも1つのビンよりも多くのビンを備えるときに、CABACプロセスのバイパスコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも他のビンを符号化するための手段と、を含む。
[0011]他の例では、本開示の態様は、映像復号プロセスにおいて基準インデックス構文要素を復号するための方法に関するものであり、コンテキスト適応型バイナリ算術コーディング(CABAC)のコンテキストコーディングモードを用いて基準インデックス値の少なくとも1つのビンを復号することと、基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも1つのビンよりも多くのビンを備えるときに、CABACプロセスのバイパスコーディングモードを用いて基準インデックス値の少なくとも他のビンを復号することと、基準インデックス値をバイナリ化することと、を含む。
[0012]他の例では、本開示の態様は、映像復号プロセスにおいて基準インデックス構文要素を復号するための装置に関するものであり、コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも1つのビンを復号し、基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも1つのビンよりも多くのビンを備えるときに、CABACプロセスのバイパスコーディングモードを用いて基準インデックス値の少なくとも他のビンを復号し、及び基準インデックス値をバイナリ化するように構成された1つ以上のプロセッサを含む。
[0013]他の例では、本開示の態様は、実行されたときに、コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも1つのビンを復号し、基準インデックス値がコンテキストコーディングされたモードを用いてコーディングされた少なくとも1つのビンよりも多くのビンを備えるときに、CABACプロセスのバイパスコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも他のビンを復号し、及び基準インデックス値をバイナリ化することを1つ以上のプロセッサに行わせる命令を格納する非一時的なコンピュータによって読み取り可能な媒体に関するものである。
[0014]1つ以上の例の詳細が、添付図及び以下の説明において示される。それらの説明と図面から、及び請求項から、その他の特徴、目的、及び利点が明らかになるであろう。
[0015]
映像符号化及び復号システム例を示したブロック図である。
[0016]
映像符号器例を示したブロック図である。
[0017]
映像復号器例を示したブロック図である。
[0018]
算術コーディングプロセス例を示したブロック図である。
[0019]
予測データのストリング例を示したブロック図である。
[0020]
予測データの他のストリング例を示したブロック図である。
[0021]
予測データの他のストリング例を示したブロック図である。
[0022]
予測データの他のストリング例を示したブロック図である。
[0023]
3つの可能な値を用いてインター予測方向構文要素をコンテキストコーディングすることを例示したブロック図である。
[0024]
本開示の態様による、インター予測方向構文要素をバイパスコーディングすることを例示したブロック図である。
[0025]
本開示の態様による、基準インデックス値をエントロピー符号化する例を示したフローチャート図である。
[0026]
本開示の態様による、基準インデックス値をエントロピー復号する例を示したフローチャート図である。
[0027]
本開示の態様による、予測データをエントロピー符号化する例を示したフローチャートである。
[0028]
本開示の態様による、予測データをエントロピー復号する例を示したフローチャートである。
[0029]映像コーディングデバイスは、空間的及び時間的冗長性を利用することによって映像データを圧縮することができる。例えば、映像符号器は、近隣の以前にコーディングされたブロックに関してブロックをコーディングすることによって空間的冗長性を利用することができる。同様に、映像符号器は、以前にコーディングされたピクチャのデータに関してブロックをコーディングすることによって時間的冗長性を利用することができる。特に、映像符号器は、空間的近隣物のデータから(イントラコーディングと呼ばれる)又は1つ以上のその他のピクチャのデータから(インターコーディングと呼ばれる)現在のブロックを予測することができる。次に、映像符号器は、ブロックに関する実際のピクセル値とブロックに関する予測されたピクセル値との間の差分としてブロックに関する残差を計算することができる。従って、ブロックに関する残差は、ピクセル(又は空間)領域におけるピクセル間差分値を含むことができる。
[0030]映像コーダは、映像データのブロックをインター予測するときには動き推定及び動き補償を行うことができる。例えば、動き推定は、映像符号器において行われ、1つ以上の動きベクトルを計算することを含む。動きベクトルは、基準ピクチャの基準サンプルに対する現在のピクチャ内の映像データのブロックの変位を示すことができる。基準サンプルは、ピクセル差分の点でコーディング中のブロックに密接にマッチすることが判明しているブロックであり、それは、絶対差分和(SAD)、平方差分和(SSD)、又はその他の差分メトリックによって決定することができる。基準サンプルは、必ずしも基準ピクチャ又は基準スライスのブロック境界ではなく、基準ピクチャ又は基準スライス内のいずれの場所でも生じることができる。幾つかの例では、基準サンプルは、分数のピクセル位置において生じることができる。
[0031]動きベクトルを定義するデータは、例えば、予測方向によって示される、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルに関する分解能(1/4ピクセル精度又は1/8ピクセル精度)、動きベクトルが指し示す基準ピクチャ、及び/又は動きベクトルに関する基準ピクチャリスト(リスト0(L0)、リスト1(L1)又は結合リスト(LC)を記述することができる。基準インデックス(ref_idx)は、動きベクトルが指し示す基準ピクチャリスト内の特定のピクチャを識別することができる。この方法により、ref_idx構文要素は、基準ピクチャリスト、例えば、L0、L1又はLC内へのインデックスとしての役割を果たす。
[0032]基準ブロックを識別した時点で、オリジナルの映像データブロックと基準ブロックとの間の差分が決定される。この差分は、予測残差データと呼ぶことができ、ブロック内のピクセル値とコーディングされたブロックを表すために選択された基準ブロック内のピクセル値との間のピクセル差分を示す。より良い圧縮を達成するために、予測残差データは、例えば、離散コサイン変換(DCT)、整数変換、Karhunen−Loeve(K−L)変換、又は他の変換を用いて変換することができる。さらなる圧縮のために、変換係数は量子化することができる。
[0033]エントロピーコーダは、映像データのブロック及び量子化された変換係数と関連付けられたシンボル又は構文要素をエントロピー符号化する。エントロピーコーディング方式の例は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、確率間隔パーティショニングエントロピーコーディング(PIPE)、等を含む。コンテキストコーディング前に、映像符号器は、コーディング中の各値の絶対値をバイナリ化された形式に変換することができる。この方法により、コーディング中の各々のゼロでない値は、例えば、1つ以上のビット、すなわちビンを有するコードワードに値を変換するユナリ(unary)コーディングテーブル又はその他のコーディング方式を用いて、“バイナリ化”することができる。
[0034]CABACに関して、一例として、映像コーダは、映像データのブロックと関連付けられたシンボルをコーディングするために確率モデル(コンテキストモデルとも呼ばれる)を選択することができる。例えば、符号器において、確率モデルを用いることによってターゲットシンボルをコーディングすることができる。復号器においては、確率モデルを用いることによってターゲットシンボルを構文解析することができる。幾つかの例では、ビンは、コンテキスト適応型コーディング及び非コンテキスト適応型コーディングの組み合わせを用いてコーディングすることができる。例えば、映像コーダは、1つ以上のビンに関して正規の算術コーディングプロセスをバイパス又は省略するバイパスモードを使用し、その他のビンに関してはコンテキスト適応型コーディングを使用することができる。該例では、映像コーダは、ビンをバイパスコーディングするために固定確率モデルを使用することができる。すなわち、バイパスコーディングされたビンは、コンテキスト又は確率更新を含まない。概して、以下において図4に関してより詳細に説明されるように、ビンをコンテキストコーディングすることは、コンテキストコーディングモードを用いてビンをコーディングすることと呼ぶことができる。同様に、ビンをバイパスコーディングすることは、バイパスコーディングモードを用いてビンをコーディングすることと呼ぶことができる。
[0035]構文要素のビンをコーディングするためのコンテキストモデルは、以前にコーディングされた近隣の構文要素の関連ビンの値に基づくことができる。一例として、現在の構文要素のビンをコーディングするためのコンテキストモデルは、以前にコーディングされた近隣の構文要素の関連ビンの値に基づくことができ、例えば、現在の構文要素の最上部及び左である。コンテキストが導き出される位置は、コンテキストサポート近隣と呼ぶことができ(“コンテキストサポート”又は単に“サポート”とよぶことができる)。例えば、(映像データのブロック内のゼロでない変換係数の位置を示した)シグニフィカンスマップ(significance map)のビンのコーディングに関しては、コンテキストモデルを定義するために5ポイントサポートを使用することができる。
[0036]幾つかの例では、コンテキストモデル(Ctx)は、複数の異なるコンテキストのうちの1つを選択するために適用されるインデックス又はオフセットであることができ、それらの各々は、特定の確率モデルに対応することができる。従って、いずれの場合も、典型的には、各コンテキストに関して異なる確率モデルが定義される。ビンをコーディング後は、確率モデルは、ビンに関する最も現在の確率推定値を反映するためにビンの値に基づいてさらに更新される。例えば、確率モデルは、有限状態マシンにおいて状態として維持することができる。各々の特定の状態は、特定の確率値に対応することができる。確率モデルの更新に対応する次の状態は、現在のビン(現在コーディング中のビン)の値に依存することができる。従って、確率モデルの選択は、以前にコーディングされたビンの値によって影響を受けることがあり、その理由は、これらの値は、少なくとも部分的には、所定の値を有するビンの確率を示すためである。上述されるコンテキストコーディングプロセスは、概して、コンテキスト適応型コーディングモードと呼ぶことができる。
[0037]上述される確率更新プロセスは、遅延してコーディングプロセス内にずれ込むことがある。例えば、2つのビンがコンテキスト適応型コーディングのために同じコンテキストモデル(例えば、ctx(0))を使用すると仮定する。この例では、第1のビンが、コーディングのための確率モデルを決定するためにctx(0)を使用することができる。第1のビンの値は、ctx(0)と関連付けられた確率モデルに影響を与える。従って、確率更新は、ctx(0)を用いて第2のビンをコーディングする前に実施しなければならない。この方法により、確率更新はコーディングサイクルに遅延を導入することがある。
[0038]映像コーディングに関して、他の例として、映像コーダは、基準インデックス(ref_idx)のビンのシーケンス(例えば、ビン(0)、ビン(1)、...ビン(n))を好適にコンテキストコーディングすることができる。上記のように、基準インデックス(ref_idx)は、動きベクトルが指し示す基準ピクチャリスト内の特定のピクチャを識別することができる。単一の基準インデックス(ref_idx)は、例えば、最大15のビンを含むことができる。説明の目的上、映像コーダがビンをコーディングするために3つのコンテキストを導き出し、(例えば、コンテキストインデックスctx(0)、ctx(1)、及びctx(2)を用いて示された)コーディング中のビン番号に基づいてコンテキストを適用すると仮定する。すなわち、この例では、映像コーダは、ビン(0)をコーディングするためにctx(0)を、ビン(1)をコーディングするためにctx(1)を、及び残りのビン(例えば、ビン(2)乃至ビン(n))をコーディングするためにctx(2)を使用することができる。
[0039]上述される例では、第3のコンテキスト(ctx(2))は、幾つかのビン(例えば、最大で13のビン)の間で共有される。このようにビン(2)乃至ビン(n)をコーディングするために同じ確率モデルを使用することは、連続するコーディングサイクル間で遅延を生じさせる可能性がある。例えば、上記のように、同じコンテキストを繰り返し呼び出し、各ビンの後にモデルを更新するために待機することは、コーダのスループットに関して滞りを発生させる可能性がある。
[0040]さらに、ビン(2)とビン(n)との間の相関関係は、確率モデルを更新することと関連付けられた時間及び計算上のリソースを保証する上で十分でないことがある。すなわち、コンテキスト適応型コーディングの1つの潜在的な利益は、(同じコンテキストが与えられた場合に)以前にコーディングされたビンに基づいて確率モデルを好適化できることである。しかしながら、第1のビンの値が後続するビンの値とほとんど関係を有さない場合は、確率更新と関連付けられた効率上の利得はほとんどない。従って、低い相関関係を呈するビンは、相対的により高い相関関係を有するビンほどの利益は、コンテキスト適応型コーディングから得ることはできない。
[0041]本開示の態様は、インターコーディングされた映像データと関連付けられた構文要素を効率的にコンテキストコーディングすることに関連する。例えば、本開示の態様は、基準インデックス値、動きベクトル予測子、動きベクトル差分値、等を効率的にコーディングすることに関連する。幾つかの例では、映像コーダは、構文要素の幾つかのビンに関してはコンテキストコーディング、構文要素のその他のビンに関してはバイパスコーディングを行うことができる。
[0042]上述される基準インデックスコーディング例を特に参照し、本開示の態様により、映像コーダは、ctx(0)をビン(0)に、ctx(1)をビン(1)に、ctx(2)をビン(2)に適用することができ、基準インデックス値の残りのビンをバイパスコーディングすることができ、コンテキストは要求されない。換言すると、映像コーダは、ctx(2)をバイナリ化された基準インデックス値のCABACコーディングビン(2)に関するコンテキストとして使用することができるが、ビン(2)に後続するビンはバイパスコーディングすることができる。
[0043]基準インデックス値は長さが15ビン以上になることができることを考慮した場合、このようにコンテキストコーディングされるビン数を制限することは、すべての基準インデックスビンをコンテキストコーディングすることと比較して計算上及び/又は時間上の節約を可能にすることができる。さらに、上記されるように、基準インデックス値のビット間の相関関係が高くならず(例えば、基準インデックス値のビン(3)の値が、“1”又は“0”の値を有するビン(4)の尤度に関して有用な指標を提供することができない)、それは、コンテキストコーディング利益を低減させる。従って、基準インデックス値のより少ないビンをコンテキストコーディングすることによって節約される時間及び計算リソースの量は、基準インデックス値のすべてのビンをコンテキストコーディングすることと関連付けられたコーディング効率上の利得よりも重要である。
[0044]本開示のその他の態様は、概して、コンテキストコーディングされるビン及びコンテキストコーディングされないビンをコーディング中にグループ分類することに関連する。例えば、上記のように、幾つかの構文要素は、コンテキストコーディング及びバイパスコーディングの組み合わせを用いてコーディングすることができる。すなわち、幾つかの構文要素は、コンテキストコーディングされる1つ以上のビン及びバイパスコーディングされる1つ以上のその他のビンを有することができる。
[0045]例の目的上、2つの構文要素が、各々、コンテキストコーディングされた部分(1つ以上のコンテキストコーディングされたビンを含む)及びバイパスコーディングされた部分(1つ以上のバイパスコーディングされたビンを含む)を有すると仮定する。この例では、映像コーダは、第1の構文要素のコンテキストコーディングされた部分をコーディングし、第1の構文要素のバイパスコーディングされた部分によって後続され、第2の構文要素のコンテキストコーディングされた部分によって後続され、第2の構文要素のバイパスコーディングされた部分によって後続される。
[0046]上述される例において、映像コーダは、2つの構文要素をコーディングするためにコンテキストコーディングモード及びバイパスコーディングモードの間で3回切り換わることができる。例えば、映像コーダは、第1の構文要素のコンテキストコーディングされたビンの後、第1の構文要素のバイパスコーディングされたビンの後、及び第2の構文要素のコンテキストコーディングされたビンの後に、コンテキストコーディングとバイパスコーディングの間で切り換わる。このようにコンテキストコーディングとバイパスコーディングの間で切り換わることは、計算上非効率的になる可能性がある。例えば、コンテキストコーディングとバイパスコーディングの間で切り換わることは、1つ以上のクロックサイクルを消費することがある。従って、各要素に関してコンテキストコーディングとバイパスコーディングの間で切り換わることは、コンテキストコーディングとバイパスコーディングの間での移行に起因するレーテンシーを導入することがある。
[0047]本開示の態様は、コンテキストコーディングされるビン及びコンテキストコーディングされないビン(例えば、バイパスビン)をコーディング中にグループに分けることを含む。例えば、上記の例に関して、本開示の態様により、映像コーダは、第1の構文要素のコンテキストコーディングされたビンをコーディングし、第2の構文要素のコンテキストコーディングされたビンによって後続され、第1の構文要素のバイパスコーディングされたビンによって後続され、第2の構文要素のバイパスコーディングされたビンによって後続される。従って、映像コーダは、コンテキストコーディングモードとバイパスコーディングモードとの間で、例えば、コンテキストコーディングされたビンとコンテキストコーディングされないビンとの間で1回だけ移行する。
[0048]このようにしてビンをグループに分けることは、映像コーダがコンテキストコーディングモードとバイパスコーディングモードとの間で切り換わる頻度を低減させることができる。従って、本開示の態様は、コンテキストコーディングされたビンとバイパスコーディングされたビンの組み合わせを含む構文要素をコーディングするときにレーテンシーを低減させることができる。幾つかの例では、以下の図5乃至8に関して説明されるように、予測データと関連付けられたビンは、本開示の技法によりグループに分けることができる。例えば、ここにおいて説明されるように、予測データは、概して、インター予測と関連付けられたデータを含むことができる。例えば、予測データは、基準インデックス値、動きベクトル、動きベクトル予測子、動きベクトル差分値、等を示すデータを含むことができる。
[0049]図1は、本開示の例により予測データをコーディングするように構成することができる映像符号化及び復号システム例10を示したブロック図である。図1に示されるように、システム10は、通信チャネル16を介して符号化された映像を行先デバイス14に送信するソースデバイス12を含む。符号化された映像データは、記憶媒体34又はファイルサーバ36に格納することもでき、行先デバイス14によって希望に応じてアクセスすることができる。記憶媒体又はファイルサーバに格納されたときには、映像符号器20は、コーディングされた映像データを、他のデバイス、例えば、ネットワークインタフェース、コンパクトディスク(CD)、Blu−ray(登録商標)又はデジタルビデオディスク(DVD)バーナー又はスタンピングファシリティデバイス、又はコーディングされた映像データを記憶媒体に格納するためのその他のデバイス、に提供することができる。同様に、映像復号器30から切り離されたデバイス、例えば、ネットワークインタフェース、CD又はDVDリーダー、等は、コーディングされた映像データを記憶媒体から取り出し、取り出されたデータを映像復号器30に提供することができる。
[0050]ソースデバイス12及び行先デバイス14は、非常に様々なデバイス、例えば、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、例えば、いわゆるスマートフォン、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、等のうちのいずれかを備えることができる。多くの場合は、該デバイスは、無線通信のために装備することができる。従って、通信チャネル16は、符号化された映像データの送信に適する無線チャネル、有線チャネル、又は無線チャネルと有線チャネルの組み合わせを備えることができる。同様に、ファイルサーバ36は、インターネット接続を含むあらゆる標準的なデータ接続を通じて行先デバイス14によってアクセスすることができる。これは、ファイルサーバに格納された符号化された映像データにアクセスするのに適する無線チャネル(例えば、Wi−Fi接続)、有線接続(例えば、DSL、ケーブルモデム、等)、又は両方の組み合わせを含むことができる。
[0051]本開示の例による、予測データをコーディングするための技法は、様々なマルチメディア用途、例えば、オーバーザエアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、例えば、インターネットを介してのストリーミング映像送信、データ記憶媒体上での格納のためのデジタル映像の符号化、データ記憶媒体に格納されたデジタル映像の復号、又はその他の用途をサポートして映像コーディングに適用することができる。幾つかの例では、システム10は、映像ストリーミング、映像再生、映像放送、及び/又は映像テレフォニー、等の用途をサポートするための一方向又は両方向の映像送信をサポートするように構成することができる。
[0052]図1の例では、ソースデバイス12は、映像ソース18と、映像符号器20と、変調器/復調器22と、送信機24と、を含む。ソースデバイス12において、映像ソース18は、ソース、例えば、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像が入った映像アーカイブ、映像コンテンツプロバイダからの映像を受信するための映像フィードインタフェース、及び/又は、コンピュータグラフィックスデータをソース映像して生成するためのコンピュータグラフィックスシステム、又は該ソースの組み合わせ、を含むことができる。一例として、映像ソース18がビデオカメラである場合は、ソースデバイス12及び行先デバイス14は、いわゆるカメラフォン又はビデオフォンを形成することができる。しかしながら、本開示において説明される技法は、映像コーディング全般に適用可能であり、及び、無線及び/又は有線用途、又は符号化された映像データがローカルディスクに格納される用途に適用することができる。
[0053]キャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像は、映像符号器20によって符号化することができる。符号化された映像情報は、通信規格、例えば、無線通信プロトコル、によりモデム22によって変調し、送信機24を介して行先デバイス14に送信することができる。モデム22は、様々なミキサ、フィルタ、増幅器又は信号変調のために設計されたその他のコンポーネントを含むことができる。送信機24は、データを送信するために設計された回路を含み、増幅器と、フィルタと、1つ以上のアンテナと、を含む。
[0054]映像符号器20によって符号化されるキャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像は、のちの消費のために記憶媒体34又はファイルサーバ36に格納することもできる。記憶媒体34は、Blu−rayディスク、DVD、CD−ROM、フラッシュメモリ、又は符号化された映像を格納するためのその他の適切なデジタル記憶媒体を含むことができる。記憶媒体34に格納された符号化された映像は、復号及び再生のために行先デバイス14によってアクセスすることができる。
[0055]ファイルサーバ36は、符号化された映像を格納すること及びその符号化された映像を行先デバイス14に送信することが可能なあらゆるタイプのサーバであることができる。ファイルサーバ例は、符号化された映像データを格納すること及びそれを行先デバイスに送信することが可能な(例えば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS)デバイス、ローカルディスクドライブ、又はあらゆるその他のタイプのデバイスを含む。ファイルサーバ36からの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであることができる。ファイルサーバ36は、インターネット接続を含む標準的なデータ接続を通じて行先デバイス14によってアクセスすることができる。これは、ファイルサーバに格納された符号化された映像データにアクセスするのに適する無線チャネル(例えば、Wi−Fi接続)、有線接続(例えば、DSL、ケーブルモデム、イーサネット(登録商標)、USB、等)、又は両方の組み合わせを含むことができる。
[0056]図1の例における行先デバイス14は、受信機26と、モデム28と、映像復号器30と、表示装置32と、を含む。行先デバイス14の受信機26は、チャネル16を通じて情報を受信し、モデム28は、その情報を復調して映像復号器30のための復調されたビットストリームを生成する。チャネル16を通じて通信される情報は、映像データを復号する際の映像復号器30による使用のために映像符号器20によって生成される様々な構文情報を含むことができる。該構文は、記憶媒体34又はファイルサーバ36に格納された符号化された映像データとともに含めることもできる。映像符号器20及び映像復号器30の各々は、映像データを符号化又は復号することが可能な各々の符号器−復号器(CODEC)の一部を形成することができる。
[0057]表示装置32は、行先デバイス14と一体であること、又は行先デバイス14の外部に存在することができる。幾つかの例では、行先デバイス14は、一体化された表示装置を含むことができ及び外部の表示装置とインタフェースするように構成することもできる。その他の例では、行先デバイス14は、表示装置であることができる。概して、表示装置32は、復号された映像データをユーザに表示し、様々な表示装置、例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプの表示装置のうちのいずれかを備えることができる。
[0058]図1の例において、通信チャネル16は、あらゆる無線又は有線の通信媒体、例えば、無線周波数(RF)スペクトル又は1つ以上の物理的送信ライン、又は無線媒体と有線媒体のあらゆる組み合わせを備えることができる。通信チャネル16は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク、例えば、インターネット、の一部を形成することができる。通信チャネル16は、概して、ソースデバイス12から行先デバイス14に映像データを送信するためのあらゆる適切な通信媒体、又は異なる通信媒体の集合を表し、有線媒体及び無線媒体のあらゆる適切な組み合わせを含む。通信チャネル16は、ソースデバイス12から行先デバイス14への通信を容易にするのに役立つことができるルータ、スイッチ、基地局、又はあらゆるその他の装置を含むことができる。
[0059]映像符号器20及び映像復号器30は、現在策定中の高効率映像コーディング(HEVC)規格、等の映像圧縮規格により動作することができ、及び、HEVCテストモデル(HM)に準拠することができる。代替として、映像符号器20及び映像復号器30は、その他の独占規格又は工業規格、例えば、ITU−T H.264規格、代替でMPEG−4、Part10、Advanced Video Coding(AVC)と呼ばれる、又は該規格の拡張版により動作することができる。しかしながら、本開示の技法は、いずれの特定のコーディング規格にも制限されない。その他の例は、MPEG−2と、ITU−T H.263と、を含む。
[0060]図1には示されていないが、幾つかの態様では、映像符号器20及び映像復号器30は、各々、音声符号器及び復号器と一体化することができ、及び、共通のデータストリーム又は別々のデータストリーム内の音声及び映像の両方の符号化を取り扱うための該当するMUX−DEMUXユニット、又はその他のハードウェア及びソフトウェアを含むことができる。該当する場合は、幾つかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はその他のプロトコル、例えば、ユーザデータグラムプロトコル(UDP)に準拠することができる。
[0061]映像符号器20及び映像復号器30は、各々、様々な適切な符号器又は復号器回路のうちのいずれかとして適宜実装することができ、プロセッサ、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、専用プロセッサ又は処理回路、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、固定論理回路、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらのあらゆる組み合わせを含む。従って、映像符号器20及び映像復号器30内の様々なユニットも、同様に、様々な該構造上の要素又はそれらの組み合わせのうちのいずれかによって実装することができる。技法が部分的にソフトウェア内に実装されるときには、デバイスは、ソフトウェアに関する命令を適切な非一時的なコンピュータによって読み取り可能な媒体内に格納すること及び本開示の技法を実行するために1つ以上のプロセッサを用いてハードウェアにおいてそれらの命令を実行することができる。映像符号器20及び映像復号器30の各々は、1つ以上の符号器又は復号器内に含めることができ、それらのいずれも、各々のデバイスにおいて結合された符号器/復号器(CODEC)の一部として一体化することができる。
[0062]本開示は、概して、他のデバイス、例えば、映像復号器30、に一定の情報を“シグナリングする”映像符号器20に関するものである。しかしながら、映像符号化器20は、幾つかの構文要素を映像データの様々な符号化された部分と関連付けることによって情報をシグナリングできることが理解されるべきである。すなわち、映像符号器20は、幾つかの構文要素を映像データの様々な符号化された部分のヘッダに格納することによってデータを“シグナリングする”ことができる。幾つかの場合においては、該構文要素は、映像復号器30によって受信及び復号される前に符号化及び格納する(例えば、記憶デバイス32に格納する)ことができる。従って、用語“シグナリング”は、概して、圧縮された映像データを復号するための構文又はその他のデータの通信を意味することができ、例えば、符号化時に構文要素を媒体に格納するときに生じるように、該通信がリアルタイム又はほぼリアルタイムで生じるか又はある時間の長さにわたって生じるかを問わず、それは、この媒体に格納された後に何時でも復号デバイスによって取り出すことができる。
[0063]上記のように、JCT−VCは、HEVC規格の策定作業中である。HEVC標準化努力は、HEVCテストモデル(HM)と呼ばれる映像コーディングデバイスの進化中のモデルに基づく。HMは、例えば、ITU−T H.264/AVCによる既存のデバイスと比較して映像コーディングデバイスの幾つかの追加の能力を想定している。本開示は、典型的には、CUのコーディングノードを意味するために用語“映像ブロック”を使用する。幾つかの特定の事例では、本開示は、コーディングノード及びPU及びTUを含むツリーブロック、すなわち、LCU、又はCUを意味するために用語“映像ブロック”を使用することもできる。
[0064]映像シーケンスは、典型的には、一連の映像フレーム又はピクチャを含む。ピクチャのグループ(GOP)は、概して、映像ピクチャのうちの一連の1つ以上を備える。GOPは、GOPに含まれるピクチャ数を記述する構文データをGOPのヘッダ、ピクチャのうちの1つ以上のヘッダ、又はその他の場所に含めることができる。ピクチャの各スライスは、各々のスライスに関する符号化モードを記述するスライス構文データを含むことができる。映像符号器20は、典型的には、映像データを符号化するために個々の映像スライス内の映像ブロックに関して動作する。映像ブロックは、CU内のコーディングノードに対応することができる。映像ブロックは、固定された又は可変のサイズを有することができ、及び指定されたコーディング規格によりサイズが異なることができる。
[0065]一例として及び上記されるように、HMは、様々なPUサイズ(PUタイプとも呼ばれる)での予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2N又はN×NのPUサイズでのインター予測、及び2N×2N、2N×N、N×2N、又はN×Nの対称的PUサイズでのインター予測をサポートする。HMは、2N×nU、2N×nD、nL×2N、及びnR×2NのPUサイズでのインター予測に関する非対称的な分割もサポートする。非対称的な分割では、CUの一方の方向は分割されず、他方の方向は、25%及び75%に分割される。25%の分割に対応するCUの部分は、“n”によって示され、“UP(上)”、“Down(下)”、“Left(左)”、又は“Right(右)”の表示文字によって後続される。従って、例えば、“2N×nU”は、水平に分割され、最上部が2N×0.5N PU、最下部が2N×1.5N PUである2N×2N CUを意味する。
[0066]本開示においては、“N×N”及び“N by N”は、垂直及び水平の寸法に関する映像ブロックのピクセル寸法を意味するために互換可能な形で使用することができる。概して、16×16ブロックは、垂直方向に16ピクセル(y=16)及び水平方向に16ピクセル(x=16)を有することになる。同様に、N×Nブロックは、概して、垂直方向にNのピクセル及び水平方向にNのピクセルを有し、ここで、Nは、負でない整数値を表す。ブロック内のピクセルは、行及び列で配列することができる。さらに、ブロックは、水平方向と垂直方向で必ずしも同じピクセル数を有する必要がない。例えば、ブロックは、N×Mピクセルを備えることができ、ここで、Mは必ずしもNと等しくない。
[0067]CUのPUを用いたイントラ予測又はインター予測コーディングに引き続き、映像符号器20は、CUのTUに関する残差データを計算することができる。変換、例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に類似する変換を残差映像データに適用後は、PUは、空間領域(ピクセル領域とも呼ばれる)においてピクセルデータを備えることができ、TUは、変換領域において係数を備えることができる。残差データは、符号化されないオリジナルのピクチャのピクセルとPUに対応する予測値との間のピクセル差分に対応することができる。映像符号器20は、CUに関する残差データを含むTUを形成することができ、次に、CUに関する変換係数を生成するためにTUを変換することができる。
[0068]幾つかの例では、上記のように、TUは、RQTにより定義することができる。例えば、RQTは、映像データのブロックと関連付けられた残差ルマサンプル及び残差クロマサンプルに対して変換(例えば、DCT、整数変換、ウェーブレット変換、又は1つ以上のその他の変換)が適用されるときの適用方法を表すことができる。すなわち、上記のように、CUに対応する残差サンプルは、RQTを用いてより小さいユニットに細分することができる。概して、RQTは、TUへのCUの分割の繰り返し表現(recursive representation)である。
[0069]変換係数を生成するための残差データへのいずれかの変換の適用に引き続き、映像符号器20は、変換係数の量子化を行うことができる。量子化は、概して、変換係数を表すために使用されるデータ量を低減させ、さらなる圧縮を提供するために変換係数が量子化されるプロセスを意味する。量子化プロセスは、係数の一部又は全部と関連付けられたビット深度を低減させる。例えば、量子化中にnビット値が切り捨てられてmビット値になり、ここで、nはmよりも大きい。
[0070]幾つかの例では、映像符号器20は、エントロピー符号化することができるシリアライズされた(serialized)ベクトルを生成するために量子化された変換係数を走査するために予め定義された走査順序を利用することができる。その他の例では、映像符号器20は、適応型走査を行うことができる。一次元ベクトルを形成するために量子化された変換係数を走査後は、映像符号器20は、例えば、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、構文に基づくコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔パーティショニングエントロピー(PIPE)コーディング又は他のエントロピー符号化法により一次元ベクトルをエントロピー符号化することができる。映像符号器20は、映像データを復号する際に映像復号器30によって使用するための符号化された映像データと関連付けられた構文要素もエントロピー符号化することができる。HEVCの現在のバージョンは、エントロピーコーディングのためにCABACを使用するように設計される。
[0071]幾つかの例では、映像符号器20は、コンテキスト適応型コーディング及び非コンテキスト適応型コーディングの組み合わせを用いて構文要素をコーディングすることができる。例えば、映像符号器20は、ビンをコーディングするためにコンテキストに関して動作する確率モデル又は“コンテキストモデル”を選択することによってビンをコンテキストコーディングすることができる。対照的に、映像符号器20は、ビンをコーディングするときに正規の算術的コーディングプロセスをバイパス又は省略することによってビンをバイパスコーディングすることができる。該例では、映像符号器20は、ビンをバイパスコーディングするために固定確率モデルを使用することができる。
[0072]上記のように、コンテキストコーディングと関連付けられた確率モデル更新プロセスは、コーディングプロセスを遅延させる可能性がある。例えば、映像符号器20は、基準インデックス(ref_idx)のビンのシーケンス(例えば、ビン(0)、ビン(1)、...ビン(n))をコンテキストコーディングすることができる。単一の基準インデックス(ref_idx)は、例えば、最大で15のビンを含むことができる。説明の目的上、映像符号器20は、ビンをコーディングするために3つのコンテキストを導き出し、コーディング中のビン番号に基づいてコンテキストを適用する(例えば、コンテキストインデックスctx(0)、ctx(1)、及びctx(2)を用いて示される)。すなわち、この例では、映像符号器20は、ビン(0)をコーディングするためにctx(0)を、ビン(1)をコーディングするためにctx(1)を、及び残りのビン(例えば、ビン(2)乃至ビン(n))をコーディングするためにctx(2)を使用することができる。
[0073]上述される例では、第3のコンテキスト(ctx(2))は、幾つかのビン(例えば、最大で13ビン)の間で共有される。このようにビン(2)乃至ビン(n)をコーディングするために同じ確率モデルを使用することは、連続するコーディングサイクル間で遅延を生じさせる可能性がある。例えば、同じコンテキストを繰り返し呼び出し、各ビンの後にモデルを更新するために待機することは、コーダのスループットに関して滞りを発生させる可能性がある。
[0074]さらに、ビン(2)とビン(n)との間の相関関係は、確率モデルを更新することと関連付けられた時間及び計算上のリソースを保証する上で十分でないことがある。すなわち、コンテキスト適応型コーディングの1つの潜在的な利益は、(同じコンテキストが与えられた場合に)以前にコーディングされたビンに基づいて確率モデルを好適化できることである。しかしながら、第1のビンの値が後続するビンの値とほとんど関係を有さない場合は、確率更新と関連付けられた効率上の利得はほとんどない。従って、低い相関関係を呈するビンは、相対的により高い相関関係を有するビンほどの利益は、コンテキスト適応型コーディングから得ることはできない。
[0075]本開示の態様により、映像符号器20は、コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスを用いてバイナリ化された基準インデックス値の少なくとも1つのビンをコーディングすることによって、及びコンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのバイパスコーディングモードによってバイナリ化された基準インデックス値の少なくとも他のビンをコーディングすることによって、基準インデックス構文要素を符号化することができる。
[0076]例示することを目的とする例において、映像符号器20は、ビン(0)にctx(0)を、ビン(1)にctx(1)を、ビン(2)にctx(2)を適用することができ、及び、基準インデックス値の残りのビンをバイパスコーディングすることができ、コンテキストは要求されない。換言すると、映像コーダは、バイナライズされた基準インデックス値のビン(2)をCABACコーディングするためのコンテキストとしてctx(2)を使用することができるが、ビン(2)に後続するビンはバイパスコーディングすることができる。
[0077]基準インデックス値は長さが15ビン以上になることができることを考慮した場合、このようにコンテキストコーディングされるビン数を制限することは、すべての基準インデックスビンをコンテキストコーディングすることと比較して計算上及び/又は時間上の節約を可能にすることができる。さらに、上記されるように、基準インデックス値のビン間の相関関係が高くならず(例えば、基準インデックス値のビン(3)の値が、“1”又は“0”の値を有するビン(4)の尤度に関して有用な指標を提供することができない)、それは、コンテキストコーディング上の利益を低減させる。従って、基準インデックス値のより少ないビンをコンテキストコーディングすることによって節約される時間及び計算リソースの量は、基準インデックス値のすべてのビンをコンテキストコーディングすることと関連付けられたコーディング効率上の利得よりも重要である。
[0078]本開示のその他の態様により、映像符号器20は、コンテキストコーディングされたビン及びコンテキストコーディングされないビンを符号化中にグループ分けすることができる。例えば、上記のように、幾つかの構文要素は、コンテキストコーディング及びバイパスコーディングの組み合わせを用いてコーディングすることができる。すなわち、幾つかの構文要素は、コンテキストコーディングされる1つ以上のビン及びバイパスコーディングされる1つ以上のその他のビンを有することができる。
[0079]幾つかの例では、映像符号器20は、構文要素のシーケンスをコーディングするためにコンテキストコーディングとバイパスコーディングの間で切り換わることができる。しかしながら、コンテキストコーディングとバイパスコーディングの間で切り換わることは、1つ以上のクロックサイクルを消費することがある。従って、各要素に関してコンテキストコーディングとバイパスコーディングの間で切り換わることは、コンテキストコーディングとバイパスコーディングの間での移行に起因するレーテンシーを導入することがある。
[0080]本開示の態様により、映像符号器20は、コンテキストコーディングされたビン及びコンテキストコーディングされないビン(例えば、バイパスビン)をコーディング中にグループ分けすることができる。例えば、映像符号器20は、2つ以上の構文要素と関連付けられたビンをコンテキストコーディングすることができる。映像符号器20は、2つ以上の構文要素と関連付けられたビンをバイパスコーディングすることができる。その他の例では、映像符号器20は、コンテキストコーディング前にバイパスコーディングを行うことができる。いずれの場合も、技法は、映像符号器20がコンテキストコーディングとバイパスコーディングの間での移行を最小限にするのを可能にする。従って、本開示の態様は、コンテキストコーディングされたビン及びバイパスコーディングされたビンの組み合わせを含む構文要素をコーディングするときにレーテンシーを低減させることができる。
[0081]映像復号器30は、コーディングされた映像データを受信した時点で、映像符号器20に関して説明される符号化パス(encoding pass)と概して相互的な復号パスを行うことができる。例えば、映像復号器30は、符号化されたビットストリームを受信し、そのビットストリームを復号することができる。例えば、本開示の態様により、映像復号器30は、コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスを用いてバイナリ化された基準インデックス値の少なくとも1つのビンをコーディングすることによって、及びコンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのバイパスコーディングモードを用いてバイナリ化された基準インデックス値の少なくとも他のビンをコーディングすることによって、基準インデックス構文要素を復号することができる。
[0082]本開示のその他の態様により、映像復号器30は、グループに分類されたコンテキストコーディングされたビン及びコンテキストコーディングされないビン(例えば、バイパスビン)を有するビットストリームを復号することができる。例えば、映像復号器30は、2つ以上の構文要素と関連付けられたコンテキストコーディングされたビンを復号することができる。次に、映像復号器30は、2つ以上の構文要素と関連付けられたバイパスコーディングされたビンを復号することができる。その他の例では、映像復号器30は、(復号中のビットストリーム内でのビンの配列に依存して)コンテキストコーディング前にバイパスコーディングを行うことができる。いずれの場合も、技法は、映像復号器30がコンテキストコーディングとバイパスコーディングの間での移行を最小限にするのを可能にする。従って、本開示の態様は、コンテキストコーディングされたビン及びバイパスコーディングされたビンの組み合わせを含む構文要素をコーディングするときにレーテンシーを低減させることができる。
[0083]図2は、本開示の例により予測データをコーディングするための技法を使用することができる映像符号器20の例を示したブロック図である。映像符号器20の態様は、例示を目的としてHEVCコーディングの観点で説明されるが、本開示の技法は、予測データのコーディングを要求する特定のコーディング規格又は方法には限定されない。
[0084]映像符号器20は、映像ピクチャ内でCUのイントラ及びインターコーディングを行うことができる。イントラコーディングは、所定のピクチャ内での映像データの空間的冗長性を低減又は除去するために空間的予測に依存する。インターコーディングは、現在のピクチャと映像シーケンスの前にコーディングされたピクチャとの間での時間的冗長性を低減又は除去するために時間的予測に依存する。イントラモード(I モード)は、幾つかの空間に基づく映像圧縮モードのうちのいずれかを意味することができる。インターモード、例えば、単一方向予測(Pモード)又は両方向予測(Bモード)は、幾つかの時間に基づく映像圧縮モードのうちのいずれかを意味することができる。
[0085]図2に示されるように、映像符号器20は、符号化されるべきピクチャ内の現在の映像ブロックを受信する。図2の例では、映像符号器20は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、基準ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56と、を含む。図2において例示される変換処理ユニット52は、実際の変換又は変換の組み合わせを残差データのブロックに適用するユニットであり、同じくCUの変換ユニット(TU)とよぶことができる変換係数のブロックと混同されるべきでない。映像ブロックの再構築に関して、映像符号器20は、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62と、も含む。再構築された映像からブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするためにデブロッキングフィルタ(図2に示されていない)も含めることができる。希望される場合は、デブロッキングフィルタは、典型的には、加算器62の出力をフィルタリングする。
[0086]符号化プロセス中に、映像符号器20は、コーディングされるべきピクチャ又はスライスを受信する。ピクチャ又はスライスは、複数の映像ブロック、例えば、最大のコーディングユニット(LCU)に分割することができる。動き推定ユニット42及び動き補償ユニット44は、時間的圧縮を提供するために1つ以上の基準ピクチャ内の1つ以上のブロックに関して受信された映像ブロックのインター予測コーディングを行う。イントラ予測ユニット46は、空間的圧縮を提供するためにコーディングされるべきブロックと同じピクチャ又はスライス内の1つ以上の近隣ブロックに関して受信された映像ブロックのイントラ予測コーディングを行うことができる。
[0087]モード選択ユニット40は、例えば、各モードに関する誤り(すなわち、歪み)結果に基づいて、コーディングモードのうちの1つ、イントラ又はインター、を選択することができ、その結果得られたイントラ又はインター予測されたブロック(例えば、予測ユニット(PU))を、残差ブロックデータを生成するために加算器50に及び基準ピクチャ内での使用のための符号化されたブロックを再構築するために加算器62に提供する。加算器62は、以下においてより詳細に説明されるように、符号化されたブロックを再構築するためにブロックに関する逆変換処理ユニット60からの逆量子化された、逆変換されたデータと予測されるブロックを結合する。幾つかのピクチャは、Iフレームとして指定することができ、Iフレーム内のすべてのブロックはイントラ予測モードで符号化される。幾つかの場合は、例えば、動き推定ユニット42によって行われる動き探索の結果ブロックの十分な予測が得られないときに、イントラ予測ユニット46は、前方予測ピクチャ(Pフレーム)又は両方向予測ピクチャ(Bフレーム)内のブロックのイントラ予測符号化を行うことができる。
[0088]動き推定ユニット42及び動き補償ユニット44は、一体化されることが非常に多いが、概念上の目的で別々に例示される。動き推定(又は動き探索)は、映像ブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、基準ピクチャの基準サンプルに対する現在のピクチャ内の予測の変位を示すことができる。動き推定ユニット42は、予測ユニットを基準ピクチャメモリ64に格納された基準ピクチャの基準サンプルと比較することによってインターコーディングされたピクチャの予測ユニットに関する動きベクトルを計算する。
[0089]予測ブロック(基準サンプルとも呼ばれる)は、ピクセル差分の点でコーディングされるべきブロックに密接にマッチすることが判明しているブロックであり、それは、絶対差分和(SAD)、平方差分和(SSD)、又はその他の差分メトリックによって決定することができる。幾つかの例では、映像符号器20は、基準ピクチャバッファと呼ぶこともできる基準ピクチャメモリ64に格納された基準ピクチャの整数以下の(sub−integer)ピクセル位置に関する値を計算することができる。例えば、映像符号器20は、基準ピクチャの1/4ピクセル位置、1/8ピクセル位置、又はその他の分数のピクセル位置の値を内挿することができる。従って、動き推定ユニット42は、完全ピクセル位置及び分数ピクセル位置に関する動き探索を行い、分数ピクセル精度を有する動きベクトルを出力することができる。
[0090]動き推定ユニット42は、PUの位置を基準ピクチャの予測ブロックの位置と比較することによってインターコーディングされたスライス内の映像ブロックのPUに関する動きベクトルを計算する。従って、概して、動きベクトルに関するデータは、基準ピクチャリストと、基準ピクチャリスト内へのインデックス(ref_idx)と、水平成分と、垂直成分と、を含むことができる。基準ピクチャは、第1の基準ピクチャリスト(リスト0)、第2の基準ピクチャリスト(リスト1)、又は結合された基準ピクチャリスト(リストc)から選択することができ、それらの各々は、基準ピクチャメモリ64に格納された1つ以上の基準ピクチャを識別する。
[0091]動き推定ユニット42は、基準ピクチャの予測ブロックを識別する動きベクトルを生成し、エントロピー符号化ユニット56及び動き補償ユニット44に送信することができる。すなわち、動き推定ユニット42は、予測ブロックが入った基準ピクチャリスト、予測ブロックのピクチャを識別する基準ピクチャリスト内へのインデックス、及び識別されたピクチャ内の予測ブロックの位置を突き止めるための水平及び垂直成分を識別する動きベクトルデータを生成及び送信することができる。
[0092]幾つかの例では、現在のPUに関する実際の動きベクトルを送信するのではなく、動き推定ユニット42は、動きベクトルを通信するために必要なデータの量をさらに低減させるために動きベクトルを予測することができる。この場合は、動きベクトル自体を符号化及び通信するのではなく、動き推定ユニット42は、既知の(又は知ることができる)動きベクトルに対する動きベクトル差分(MVD)を生成することができる。MVDは、既知の動きベクトルの水平成分及び垂直成分に対応する水平成分及び垂直成分を含むことができる。既知の動きベクトルは、現在の動きベクトルを定義するためにMVDとともに使用することができ、いわゆる動きベクトル予測子(MVP)によって定義することができる。概して、有効なMVPであるためには、予測のために使用中の動きベクトルが、現在コーディング中の動きベクトルと同じ基準ピクチャを指し示さなければならない。
[0093](複数の候補ブロックから)複数の動きベクトル予測子候補を利用可能であるときには、動き推定ユニット42は、予め決定された選択基準により現在のブロックに関する動きベクトル予測子を決定することができる。例えば、動き推定ユニット42は、符号化レート及び歪みの解析に基づいて(例えば、レート−歪みコスト解析又はその他のコーディング効率解析を用いて)候補セットから最も正確な予測子を選択することができる。その他の例では、動き推定ユニット42は、動きベクトル予測子候補の平均を生成することができる。その他の動きベクトル予測子選択方法も可能である。
[0094]動きベクトル予測子を選択した時点で、動き推定ユニット42は、動きベクトル予測子インデックス(mvp_flag)を決定することができ、それは、MVP候補ブロックが入った基準ピクチャリスト内のどの場所でMVPを探し出すべきかを映像復号器(例えば、映像復号器30)に知らせるために使用することができる。動き推定ユニット42は、現在のブロックと選択されたMVPとの間のMVD(水平成分及び垂直成分)を決定することもできる。MVPインデックス及びMVDは、動きベクトルを再構築するために使用することができる。
[0095]幾つかの例では、動き推定ユニット42は、代わりに、いわゆる“マージモード”(merge mode)を実装することができ、マージモードでは、動き推定ユニット42は、予測映像ブロックの動き情報(例えば、動きベクトル、基準ピクチャインデックス、予測方向、又はその他の情報)を現在の映像ブロックと“マージ”することができる。従って、マージモードに関しては、現在の映像ブロックは、他の既知の(又は知ることができる)映像ブロックから動き情報を継承する。動き推定ユニット42は、マージモードに関する候補として空間及び/又は時間方向の幾つかの近隣ブロックを含むマージモード候補リストを構築することができる。動き推定ユニット42は、インデックス値(例えば、merge_idx)を決定することができ、それは、マージング候補ブロックが入った基準ピクチャリスト内のどの場所でマージング映像ブロックを探し出すべきかを映像復号器(例えば、映像復号器30)に知らせるために使用することができる。
[0096]イントラ予測ユニット46は、動き推定ユニット42及び動き補償ユニット44によって行われるインター予測の代替として、受信されたブロックをイントラ予測することができる。イントラ予測ユニット46は、近隣の以前にコーディングされたブロック、例えば、現在のブロックの上方、右上、左上、又は左のブロック、に関して受信されたブロックを予測し、ブロックに関して左から右、最上部から最下部への順序である。イントラ予測ユニット46は、様々な異なるイントラ予測モードで構成することができる。例えば、イントラ予測ユニット46は、符号化中のCUのサイズに基づいて、幾つかの方向性予測モード、例えば、34の方向性予測モード、を用いて構成することができる。
[0097]イントラ予測ユニット46は、例えば、様々なイントラ予測モードに関する誤り値を計算し、最低の誤り値になるモードを選択することによってイントラ予測モードを選択することができる。方向性予測モードは、空間的に近隣のピクセルの値を結合し、結合された値をPU内の1つ以上のピクセル位置に適用する機能を含むことができる。PU内のすべてのピクセル位置に関する値が計算された時点で、イントラ予測ユニット46は、PUと符号化されるべき受信されたブロックとの間のピクセル差分に基づいて予測モードに関する誤り値を計算することができる。イントラ予測ユニット46は、受け入れ可能な誤り値を出すイントラ予測モードが発見されるまでイントラ予測モードの試験を続けることができる。次に、イントラ予測ユニット46は、PUを加算器50に送信することができる。
[0098]映像符号器20は、動き補償ユニット44又はイントラ予測ユニット46によって計算された予測データを、コーディング中のオリジナルの映像ブロックから減じることによって残差ブロックを形成する。加算器50は、この減算演算を行うコンポーネント又はコンポーネント(複数)を代表する。残差ブロックは、ピクセル差分値の二次元行列に対応することができ、残差ブロック内の値数は、残差ブロックに対応するPU内のピクセル数と同じである。残差ブロック内の値は、PU内及びコーディングされるべきオリジナルブロック内の共配置されたピクセルの値間の差分、すなわち、誤差、に対応することができる。差分は、コーディングされるブロックのタイプに依存してクロマ又はルマ差分であることができる。
[0099]変換処理ユニット52は、残差ブロックから1つ以上の変換ユニット(TU)を形成することができる。変換処理ユニット52は、複数の変換の中から変換を選択する。変換は、1つ以上のコーディング上の特徴、例えば、ブロックサイズ、コーディングモード、等に基づいて選択することができる。変換処理ユニット52は、選択された変換をTUに適用し、変換係数の二次元配列を備える映像ブロックを生成する。
[0100]変換処理ユニット52は、結果的に得られた変換係数を量子化ユニット54に送信することができる。量子化ユニット54は、変換係数を量子化することができる。次に、エントロピー符号化ユニット56は、走査モードにより行列内の量子化された変換係数の走査を行うことができる。本開示は、エントロピー符号化ユニット56が走査を行うとして説明する。しかしながら、その他の例では、その他の処理ユニット、例えば、量子化ユニット54、が走査を行うことが可能であることが理解されるべきである。
[0101]変換係数が一次元配列内まで走査された時点で、エントロピー符号化ユニット56は、エントロピーコーディング、例えば、CAVLC、CABAC、構文に基づく適応型バイナリ算術コーディング(SBAC)、確率間隔パーティショニングエントロピー(PIPE)、又は他のエントロピーコーディング法を係数に適用することができる。
[0102]CABACを行うために、エントロピー符号化ユニット56は、送信されるべきシンボルを符号化するために一定のコンテキストに適用するコンテキストモデルを選択することができる。コンテキストは、例えば、近隣値がゼロでないかどうかに関連することができる。エントロピー符号化ユニット56は、構文要素、例えば、選択された変換を表す信号、をエントロピー符号化することもできる。
[0103]エントロピー符号化ユニット56は、予測データをエントロピー符号化することができる。例えば、映像データがインター予測されるときには、予測データは、基準インデックス値、動きベクトル、動きベクトル予測子、動きベクトル差分値、等を示すデータを含むことができる。すなわち、上記のように、(動き推定ユニット42による)動き推定は、基準ピクチャへの1つ以上のインデックス(ref_idx)及び予測方向(pred_dir:前方、後方又は両方向)を決定する。エントロピー符号化ユニット56は、動きベクトル(例えば、動きベクトルの水平成分及び垂直成分)、基準ピクチャインデックス及び予測方向を表す構文要素をエントロピー符号化することができる。エントロピー符号化ユニット56は、符号化された映像ビットストリーム内への符号化された構文要素を含むことができ、それは、映像復号プロセスにおける使用のために映像復号器(例えば、後述される映像復号器30)によって復号することができる。すなわち、これらの構文要素は、映像復号器30がPUによって定義された映像データを復号及び再生成するのを可能にするためにインターコーディングされたPUに関して提供することができる。
[0104]幾つかの例では、以下において図4に関してより詳細に説明されるように、エントロピー符号化ユニット56(又は映像符号器20の他のコーディングユニット)は、構文要素をエントロピー符号化する前に構文要素をバイナリ化することができる。例えば、エントロピー符号化ユニット56は、コーディング中の各構文要素の絶対値をバイナリ形式に変換することができる。エントロピー符号化ユニット56は、構文要素をバイナリ化するためにユナリ、打ち切られたユナリ(truncated unary)又はその他のコーディングプロセスを使用することができる。例えば、基準インデックス値に関して、基準ピクチャリスト内の基準ピクチャの最大数が4である、すなわち、基準インデックス(ref_idx)が0乃至3の範囲の値を有する場合は、表1の次のバイナリ化を適用することができる。
Figure 2015513290
表1に示されるように、バイナリ化された値は、基準インデックスの値に依存して、1ビット乃至3ビットの範囲である。
[0105]幾つかの例では、エントロピー符号化ユニット56は、3つの異なるコンテキスト(例えば、ctx0、ctx1、及びctx2)を用いて基準インデックス値をエントロピー符号化することができる。例えば、エントロピー符号化ユニット56は、ctx0及びctx1をそれぞれ用いて第1のビン(ビン0)及び第2のビン(ビン1)をエントロピー符号化することができ、その他のビンは、コンテキストctx2を用いてコーディングされる。この例では、ctx2は、ビン2を最初とするすべてのビン、すなわち、ビン2及びビン2以降のビン、例えば、ビン3、ビン4、等、の間で共有される。幾つかの例では、例えば、基準ピクチャの最大数が4よりも大きい場合は、ビン2を超えて追加のビンを提供することができる。
[0106]上記のように、コンテキストctx2をビン間で共有することは、コンテキストコーディングに関連する確率更新に起因して非効率的になる可能性がある。本開示の態様により、エントロピー符号化ユニット56は、ctx2をビン2のコーディング専用にし、ビン2後のすべてのビンはバイパスコーディングモードを用いてコーディングすることによって基準インデックス値をCABACコーディングすることができる。繰り返すと、バイパスコーディングは、概して、固定された確率を用いてビンをコーディングすることを含む(コンテキストは要求されない)。例えば、エントロピー符号化ユニット56は、Golombコーディング、指数Golombコーディング、Golomb−Riceコーディング、又はCABACコーディングエンジンをバイパスするその他のコーディングプロセスを用いて基準インデックス値のビン2後のビンをバイパスコーディングすることができる。
[0107]他の例では、エントロピー符号化ユニット56は、ctx2を取り除くことによって基準インデックス値のより少ないビンをコンテキストコーディングすることができる。すなわち、本開示の態様により、エントロピー符号化ユニット56は、CABACバイパスモードを用いてビン2及びそれ以降のすべてのビンを符号化することができる。この例では、エントロピー符号化ユニット56は、コンテキストctx0を用いてビン0を及びコンテキストctx1を用いてビン1をCABACコーディングすることができ、及びCABACバイパスモードを用いてビン2及びビン2に後続するその他のビンをバイパスコーディングすることができる。このようにしてコンテキストを取り除くことは、基準インデックス値をコーディングすることに関連する全体的な複雑さを低減させることができる。
[0108]さらに他の例では、エントロピー符号化ユニット56は、ctx1及びctx2の両方を取り除くことによって基準インデックス値のより少ないビンをコーディングすることができる。すなわち、本開示の態様により、エントロピー符号化ユニット56は、CABACバイパスモードを用いてビン1及びそれ以降のすべてのビンを符号化することができ、それにより基準インデックス値をコーディングすることに関連する全体的な複雑さを低減させることができる。この例では、エントロピー符号化ユニット56は、コンテキストctx0を用いてビン0をCABACコーディングすることができ、及びCABACバイパスモードを用いてビン1、ビン2、及びビン2に後続するその他のビンをバイパスコーディングすることができる。
[0109]本開示のその他の態様は、概して、エントロピー符号化ユニット56が基準インデックス値をバイナリ化する方法に関するものである。例えば、上記のように、エントロピー符号化ユニット56は、ユナリ、打ち切りユナリtruncated unary)又はその他のコーディングプロセスを用いて基準インデックス値をバイナリ化することができる。他の例では、エントロピー符号化ユニット56は、基準インデックス値をバイナリ化するために指数−Golombコーディングプロセスを使用することができる。
[0110]幾つかの例では、本開示の態様により、エントロピー符号化ユニット56は、バイナリ化プロセスの組み合わせを実装することができる。例えば、以下において図4に関してより詳細に説明されるように、エントロピー符号化ユニット56は、基準インデックス値をバイナリ化するためにユナリ(又は打ち切りユナリ)コーディングプロセスを指数−Golombコーディングプロセスと組み合わせることができる。例示することを目的とする例において、長さ(4)の打ち切りユナリコードを指数−Golombコード(例えば、0のオーダーの指数−Golombコード)と組み合わせることができる。該例では、エントロピー符号化ユニット56は、コーディングされたユナリを用いて基準インデックス値の最初の数のビン(例えば、2、3、4、等)をバイナリ化することができ、及び、指数−Golombコードを用いて基準インデックスの残りのビンをバイナリ化することができる。
[0111]いずれの場合も、エントロピー符号化ユニット56は、いずれかのバイナリ化方式を用いて、基準インデックス値の1つ以上のビンをコンテキストコーディングし及び基準インデックス値の1つ以上のその他のビンをバイパスコーディングするための技法を実装することができる。例えば、上記のように、エントロピー符号化ユニット56は、バイナリ化された構文要素の最初の数のビンをコンテキストコーディング(例えば、CABACコーディング)し、残りのビンをバイパスコーディングすることができる。長さ(4)の打ち切りユナリコードが0のオーダーの指数−Golombコード)と組み合わせられる上記の例において、エントロピー符号化ユニット56は、打ち切りユナリコードの最初の2つのビン(又はその他の数のビン)をコンテキストコーディングし、次に、ユナリコードの第2の部分及び指数−Golombコード全体をバイパスコーディングすることができる。その他の例では、エントロピー符号化ユニット56は、その他のバイナリ化方式を使用することができる。例えば、エントロピー符号化ユニット56は、上例において説明される指数Golombコードの代わりに固定長のバイナリコードを使用することができる。
[0112]幾つかの例では、エントロピー符号化ユニット56は、バイナリ化された基準インデックス値をコーディングする前にビンを打ち切るか又はその値から取り除くことができる。さらに加えて又は代替として、エントロピー符号化ユニット56は、コンテキストを用いてコーディングされたビン及びバイパスモードを用いてコーディングされたビンをグループに分けることができる。例えば、エントロピー符号化ユニット56は、第1の基準インデックス値の1つ以上のビンをコンテキストコーディングすることによってBピクチャの基準インデックスをコーディングし、第2のインデックス値の1つ以上のビンをコンテキストコーディングし、第1の基準インデックス値の1つ以上のその他のビンをバイパスコーディングし、第2の基準インデックス値の1つ以上のその他のビンをバイパスコーディングすることができる(示された順序で)。従って、エントロピー符号化ユニット56は、コンテキストコーディングモードとバイパスコーディングとの間、例えば、コンテキストコーディングされたビンとコンテキストコーディングされないビンとの間、を1回移行するだけである。
[0113]エントロピー符号化ユニット56によるエントロピーコーディングに後続し、その結果生じた符号化された映像は、他のデバイス、例えば、映像復号器30、に送信すること、又はのちの送信又は取り出しのためにアーカイブに保存することができる。逆量子化ユニット58及び逆変換処理ユニット60は、例えば、基準ブロックとしてののちの使用のために、ピクチャ領域で残差ブロックを構築するために逆量子化及び逆変換をそれぞれ適用する。
[0114]動き補償ユニット44は、基準ピクチャメモリ64のピクチャのうちの1つの予測ブロックに残差ブロックを加えることによって基準ブロックを計算することができる。動き補償ユニット44は、動き推定での使用のために整数未満のピクセル値を計算するために1つ以上の内挿フィルタを再構築された残差ブロックに適用することもできる。
[0115]加算器62は、基準ピクチャメモリ64内での格納のために再構築された映像ブロックを生成するために動き補償ユニット44によって生成された動き補償された予測ブロックに再構築された残差ブロックを加える。再構築された映像ブロックは、後続するピクチャにおけるブロックをインターコーディングするための基準ブロックとして動き推定ユニット42及び動き補償ユニット44によって使用することができる。
[0116]図3は、符号化された映像シーケンスを復号する映像復号器30の例を示したブロック図である。図3の例では、映像復号器30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、基準ピクチャメモリ82と、加算器80と、を含む。
[0117]背景として、映像復号器30は、ネットワークを介しての送信のために圧縮されている圧縮された映像データをいわゆる“ネットワーク抽象化ユニット”すなわちNALユニット内に受信することができる。各NALユニットは、NALユニットに格納されたデータのタイプを識別するヘッダを含むことができる。NALユニットに共通して格納されるデータのタイプは2つある。NALユニットに格納されるデータの第1のタイプは、映像コーディング層(VCL)データであり、圧縮された映像データを含む。NALユニットに格納されるデータの第2のタイプは、非VCLデータと呼ばれ、追加情報、例えば、多数のNALユニットに共通するヘッダデータを定義するパラメータセット及び補足拡張情報(SEI)を含む。
[0118]例えば、パラメータセットは、シーケンスレベルのヘッダ情報(例えば、シーケンスパラメータセット(SPS)内)と、稀に変化するピクチャレベルのヘッダ情報(例えば、ピクチャパラメータセット(PPS)内)と、を含むことができる。パラメータセットに含まれている稀に変化する情報は、各シーケンス又はピクチャに関して繰り返す必要がなく、それにより、コーディング効率を向上させる。さらに、パラメータセットの使用は、ヘッダ情報のアウトオブバンド(out−of−band)送信を可能にし、それにより、誤り弾性のための冗長送信の必要性をなくす。
[0119]復号プロセス中に、映像復号器30は、符号化された映像スライスの映像ブロック及び関連付けられた構文要素を表す符号化された映像ビットストリームを受信する。概して、エントロピー復号ユニット70は、量子化された係数、動きベクトル、及びその他の構文要素を生成するためにビットストリームを復号する。映像復号器30は、映像スライスレベル及び/又は映像ブロックレベルで構文要素を受信することができる。
[0120]例えば、映像スライスがイントラコーディングされた(I)スライスとしてコーディングされるときには、イントラ予測ユニット74は、シグナリングされたイントラ予測モード及び現在のピクチャの以前に復号されたブロックからのデータに基づいて現在の映像スライスの映像ブロックに関する予測データを生成することができる。ピクチャがインターコーディングされた(すなわち、B、P又はGPB)スライスとしてコーディングされるときには、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトル及びその他の構文要素に基づいて現在の映像スライスの映像ブロックに関する予測ブロック(基準サンプルとも呼ばれる)を生成する。予測ブロックは、基準ピクチャリストのうちの1つ内の基準ピクチャのうちの1つから生成することができる。映像復号器30は、基準ピクチャメモリ82に格納された基準ピクチャに基づいてデフォルトの構築技法を用いて基準ピクチャリスト、リスト0及びリスト1、を構築することができる。
[0121]エントロピー復号ユニット70は、映像符号器20において実装された同じプロセス(例えば、CABAC、CAVLC、等)を用いて復号することができる。符号器によって使用されるエントロピーコーディングプロセスは、符号化されたビットストリームでシグナリングすることができ又は予め決定されたプロセスであることができる。例えば、エントロピー復号ユニット70は、符号化されたバイナリ化された構文要素を受信することができる。エントロピー復号ユニット70は、(例えば、コンテキスト適応型モード又はバイパスモードを用いて)ビットストリームを復号し、復号された値をバイナリ化して復号された構文要素を生成することができる。
[0122]幾つかの例では、エントロピー復号ユニット70は、予測データをエントロピー復号することができる。映像符号器20に関して上記されるように、予測データは、基準インデックス値、動きベクトル、動きベクトル予測子、動きベクトル差分値、等を示すデータを含むことができる。すなわち、エントロピー復号ユニット70は、動きベクトル(例えば、動きベクトルの水平成分及び垂直成分)、基準ピクチャインデックス、及び予測方向を表す構文要素をエントロピー復号することができる。これらの構文要素は、映像復号器30がPUによって定義された映像データを復号及び再生するのを可能にするためにインターコーディングされたPUに関して提供することができる。
[0123]幾つかの例では、上記のように、エントロピー復号ユニット70は、3つの異なるコンテキスト(例えば、ctx0、ctx1、及びctx2)を用いて基準インデックス値をエントロピー復号することができる。例えば、エントロピー復号ユニット56は、ctx0及びctx1をそれぞれ用いて第1のビン(ビン0)及び第2のビン(ビン1)を復号し、コンテキストctx2を用いて第3のビン(ビン2)及びその他のビンを復号することができる。ビン間でコンテキストctx2を共有することは、コンテキストコーディングに関連する確率更新に起因して、非効率的になる可能性がある。
[0124]本開示の態様により、ctx2をビン2のコーディング専用にし、ビン2よりも後のすべてのビンをバイパスコーディングモードを用いてコーディングすることによって基準インデックス値をCABACコーディングすることができる。他の例では、エントロピー復号ユニット70は、ctx2を取り除くことによって基準インデックス値のより少ないビンをコンテキストコーディングすることができる。すなわち、本開示の態様により、エントロピー復号ユニット70は、CABACバイパスモードを用いてビン2及びそれ以降のすべてのビンを復号することができる。さらに他の例では、エントロピー復号ユニット70は、ctx1及びctx2の両方を取り除くことによって基準インデックス値のより少ないビンをコーディングすることができる。すなわち、本開示の態様により、エントロピー復号ユニット70は、CABACバイパスモードを用いてビン1及びそれ以降のすべてのビンを復号し、それにより基準インデックス値をコーディングすることに関連する複雑さを低減させることができる。
[0125]本開示のその他の態様は、概して、エントロピー復号ユニット70が基準インデックス値をバイナリ化する方法に関するものである。幾つかの例では、エントロピー復号ユニット70は、ユナリ、打ち切りユナリ又はその他のコーディングプロセスを用いて基準インデックス値をバイナリ化することができる。他の例では、エントロピー符号化ユニット56は、基準インデックス値をバイナリ化するために指数−Golombコーディングプロセスを使用することができる。
[0126]幾つかの例では、本開示の態様により、エントロピー復号ユニット70は、バイナリ化プロセスの組み合わせを実装することができる。例えば、以下において図4に関してより詳細に説明されるように、エントロピー復号ユニット70は、基準インデックス値をバイナリ化するためにユナリ(又は打ち切りユナリ)コーディングプロセスを指数−Golombコーディングプロセスと組み合わせることができる。例示することを目的とする例において、エントロピー復号ユニット70は、長さ(4)の打ち切りユナリコードを指数−Golombコード(例えば、0のオーダーの指数−Golombコード)と組み合わせることができる。該例では、エントロピー復号ユニット70は、コーディングされたユナリを用いて基準インデックス値の最初の数のビン(例えば、2、3、4、等)をバイナリ化することができ、及び、指数−Golombコードを用いて基準インデックスの残りのビンをバイナリ化することができる。
[0127]いずれの場合も、エントロピー復号ユニット70は、いずれかのバイナリ化方式を用いて、基準インデックス値の1つ以上のビンをコンテキストコーディングし及び基準インデックス値の1つ以上のその他のビンをバイパスコーディングするための技法を実装することができる。例えば、上記のように、エントロピー復号ユニット70は、バイナリ化された構文要素の最初の数のビンをコンテキストコーディング(例えば、CABACコーディング)し、残りのビンをバイパスコーディングすることができる。長さ(4)の打ち切りユナリコードが0のオーダーの指数−Golombコード)と組み合わせられる上記の例において、エントロピー復号ユニット70は、打ち切りユナリコードの最初の2つのビン(又はその他の数のビン)をコンテキストコーディングし、次に、ユナリコードの第2の部分及び指数−Golombコード全体をバイパスコーディングすることができる。その他の例では、エントロピー復号ユニット70は、その他のバイナリ化方式を使用することができる。例えば、エントロピー復号ユニット70は、上例において説明される指数Golombコードの代わりに固定長のバイナリコードを使用することができる。
[0128]幾つかの例では、エントロピー復号ユニット70は、バイナリ化された基準インデックス値をコーディングする前にビンを打ち切るか又はその値から取り除くことができる。さらに加えて又は代替として、エントロピー復号ユニット70は、コンテキストを用いてコーディングされたビン及びバイパスモードを用いてコーディングされたビンをグループに分けることができる。例えば、エントロピー復号ユニット70は、第1の基準インデックス値の1つ以上のビンをコンテキストコーディングすることによってBピクチャの基準インデックスをコーディングし、第2のインデックス値の1つ以上のビンをコンテキストコーディングし、第1の基準インデックス値の1つ以上のその他のビンをバイパスコーディングし、第2の基準インデックス値の1つ以上のその他のビンをバイパスコーディングすることができる(示された順序で)。従って、エントロピー復号ユニット70は、コンテキストコーディングモードとバイパスコーディングとの間、例えば、コンテキストコーディングされたビンとコンテキストコーディングされないビンとの間、を1回移行するだけである。
[0129]構文要素及び変換係数をエントロピー復号後は、幾つかの例では、エントロピー復号ユニット70(又は逆量子化ユニット76)は、映像符号器20のエントロピー符号化ユニット56(又は量子化ユニット54)によって使用される走査モードをミラーリング(mirroring)する走査を用いて受信された変換係数値を走査することができる。例示を容易にするために別々の機能ユニットとして示されているが、エントロピー復号ユニット70、逆量子化ユニット76、及び映像復号器30のその他のユニットの構造及び機能は、互いに簡単に一体化することができる。
[0130]逆量子化ユニット76は、ビットストリーム内で提供されてエントロピー復号ユニット70によって復号された量子化された変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、例えば、HEVCに関して提案される又はH.264復号規格によって定義されるプロセスに類似する、従来のプロセスを含むことができる。逆量子化プロセスは、CUが適用されるべき量子化度、及び同様に逆量子化度を決定するために映像符号器20によって計算された量子化パラメータQPの使用を含むことができる。逆量子化ユニット76は、変換係数が一次元配列から二次元配列に変換される前又は後に変換係数を逆量子化することができる。
[0131]イントラ予測ユニット74は、シグナリングされたイントラ予測モード及び現在のピクチャの以前に復号されたブロックからのデータに基づいて現在のピクチャの現在のブロックに関する予測データを生成することができる。動き補償ユニット72は、動きベクトル、動き予測方向及び基準インデックスを符号化されたビットストリームから取り出すことができる。基準予測方向は、インター予測モードが単一方向(例えば、Pフレーム)であるか又は両方向(Bフレーム)であるかを示す。基準インデックスは、動きベクトルが指し示される基準ピクチャを示す。取り出された動き予測方向、基準ピクチャインデックス、及び動きベクトルに基づいて、動き補償ユニットは、現在の部分に関する動き補償されたブロックを生成する。これらの動き補償されたブロックは、残差データを生成するために使用される予測ブロックを再生成するために使用される。
[0132]動き補償ユニット72は、動き補償ブロックを生成し、内挿フィルタに基づいて内挿を行うことができる。サブピクセル精度の動き推定のために使用される内挿フィルタに関する識別子を構文要素に含めることができる。動き補償ユニット72は、基準ブロックの整数未満のピクセルに関する内挿された値を計算するために映像ブロックの符号化中に映像符号器20によって使用される内挿フィルタを使用することができる。動き補償ユニット72は、受信された構文情報により映像符号器20によって使用される内挿フィルタを決定し、内挿フィルタを使用して予測ブロックを生成することができる。
[0133]動き補償ユニット72は、現在のブロックに関する動き情報をどこから取り出すかを示す予測データを受信することができる。例えば、動き補償ユニット72は、動きベクトル予測情報、例えば、MVPインデックス(mvp_flag)、MVD、マージフラグ(merge_flag)、及び/又はマージインデックス(merge_idx)、を受信し、現在のブロックを予測するために使用される動き情報を識別するために該情報を使用することができる。
[0134]例えば、動き補償ユニット72は、MVP又はマージ候補のリストを生成することができる。次に、動き補償ユニット72は、現在のブロックの動きベクトルを予測するために使用される動き情報を識別するためにMVP又はマージインデックスを使用することができる。すなわち、動き補償ユニット72は、MVPインデックス(mvp_flag)を用いて基準ピクチャのリストからMVPを識別することができる。動き補償ユニット72は、現在のブロックに関する動きベクトルを決定するために識別されたMVPを受信されたMVDと結合することができる。その他の例では、動き補償ユニット72は、現在のブロックに関する動き情報を決定するためにマージインデックス(merge_idx)を用いて基準ピクチャのリストからマージ候補を識別することができる。いずれの場合も、現在のブロックに関する動き情報を決定した後に、動き補償ユニット72は、現在のブロックに関する予測ブロックを生成することができる。
[0135]さらに、HEVC例において、動き補償ユニット72及びイントラ予測ユニット74は、符号化された映像シーケンスのピクチャを符号化するために使用されたLCUのサイズを決定するために(例えば、四分木によって提供された)構文情報の一部を使用することができる。動き補償ユニット72及びイントラ予測ユニット74は、符号化された映像シーケンスのピクチャの各CUがどのように分割されるか(及び、同様に、サブCUがどのように分割されるか)を記述する分割情報を決定するために構文情報を使用することもできる。構文情報は、分割された各々がどのように符号化されるかを示すモード(例えば、イントラ又はインター予測、及びイントラ予測の場合はイントラ予測符号化モード)、各インター符号化されたPUに関する1つ以上の基準ピクチャ(及び/又は基準ピクチャに関する識別子が入っている基準リスト)、及び符号化された映像シーケンスを復号するためのその他の情報を含むこともできる。
[0136]加算器80は、復号されたブロックを形成するために動き補償ユニット72又はイントラ予測ユニット74によって生成された対応する予測ブロックと残差ブロックを結合する。希望される場合は、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタリングするためにデブロッキングフィルタを適用することもできる。次に、復号された映像ブロックは、基準ピクチャメモリ82に格納され、それは、後続する動き補償のための基準ブロックを提供し、及び、表示装置(例えば、図1の表示デバイス32)での提示のための復号された映像も生成する。
[0137]図4は、算術コーディングプロセス例を示すブロック図である。図4の算術コーディングプロセス例は、概して映像符号器20によって実行されるとして説明される。しかしながら、図4に関して説明される技法は、映像復号器30を含む様々なその他の映像コーダによって実行できることが理解されるべきである。例えば、図3に関して上記されるように、映像復号器30は、映像符号器20によって行われるプロセスと相互的な復号プロセスを行うことができる。
[0138]図4の例は、バイナライザ(binalizer)100と、コンテキストモデラ(context modeler)102と、コーディングエンジン104と、バイパスコーダ106と、を含む。バイナライザ100は、受信された構文要素のバイナリ化を担当する。例えば、バイナライザ100は、幾つかのいわゆるビンに構文要素をマッピングすることができ、各ビンは、バイナリ値を表す。例示を目的とする例において、バイナライザ100は、打ち切りユナリ(TU)コードを用いてビンに構文要素をマッピングすることができる。概して、ユナリコーディングは、長さN+1のビンストリングを生成することを含むことができ、最初のNのビンは1であり、最後のビンは0である。打ち切りユナリコーディングは、構文要素の最大の可能な値に関する最大値(cMax)を設定することによってユナリコーディングより1つ少ないビンを有することができる。打ち切りユナリコーディングの例が表2に示され、cMax=10である。
Figure 2015513290
映像復号器30において行われるときには、映像復号器30は、現在コーディング中の構文要素がいつ完全であるかを決定するために0を探索することができる。以下においてより詳細に説明されるように、打ち切りユナリコーディングは単なる例であり、バイナライザ100は、構文要素をバイナリ化するために様々なその他のバイナリ化プロセス(及びバイナリ化プロセスの組み合わせ)を実行することができる。
[0139]コンテキストモデラ102は、所定のビンに関するコンテキストモデル(確率モデルとも呼ばれる)を決定することを担当することができる。例えば、コンテキストモデラ102は、映像データのブロックと関連付けられたシンボルをコーディングするためにコンテキストに関して動作する確率モデルを選択することができる。概して、確率モデルは、各ビンが“1”又は“0”である確率を格納する。
[0140]コンテキストモデラ102は、幾つかの利用可能な確率モデルから確率モデルを選択することができる。幾つかの例では、以下においてより詳細に説明されるように、コンテキストモデラ102によって使用されるコンテキストは、コーディング中のビン番号に基づいて決定することができる。すなわち、コンテキストは、バイナライザ100によって生成されたビンストリング内でのビンの位置に依存することができる。いずれの場合も、映像符号器20において、ターゲットシンボルは、選択された確率モデルを用いることによってコーディングすることができる。映像復号器30では、ターゲットシンボルは、選択された確率モデルを用いて構文解析することができる。
[0141]コーディングエンジン104は、(コンテキストモデラ102からの)決定された確率モデルを用いてビンをコーディングする。コーディングエンジン104がビンをコーディング後は、コーディングエンジン104は、ビンをコーディングするために使用されたコンテキストと関連付けられた確率モデルを更新することができる。すなわち、選択された確率モデルは、実際のコーディングされた値に基づいて更新される(例えば、ビン値が“1”であった場合は、“1”の頻度カウントが増加される)。コンテキストモデラ102及びコーディングエンジン104を用いてビンをコーディングすることは、コンテキストコーディングモードを用いてビンをコーディングすると呼ぶことができる。
[0142]バイパスコーダ106は、固定された確率を用いてビンをコーディングする。(コンテキストモデラ102及びコーディングエンジン104を介しての)コンテキストコーディングとは対照的に、バイパスコーダ106は、コーディング中のビンの実際値に基づいてバイパスコーディングプロセスを更新しない。従って、概して、バイパスコーダ106は、コンテキストコーディングよりも高速でビンをバイパスコーディングすることができる。バイパスコーダ106を用いてビンをコーディングすることは、バイパスコーディングモードを用いてビンをコーディングすると呼ぶことができる。バイパスコーディングモード例は、Golombコーディング、指数Golombコーディング、Golomb−Riceコーディング、又はコンテキストモデラ102及びコーディングエンジン104をバイパスするその他の適切なコーディングプロセスを含むことができる。
[0143](コーディングエンジン104及びバイパスコーダ106からの)コーディングされたビンが結合されてコーディングされたビットストリームが形成される。符号化されたビットストリームを復号するために、映像復号器(例えば、映像復号器30)は、図4に示されるプロセスをミラーリングすることができる。すなわち、映像復号器30は、復号されたビンストリングを生成するために符号化されたビットストリームに関して(コンテキストモデラ102及びコーディングエンジン104を用いた)コンテキストコーディング又は(バイパスコーダ106を用いた)バイパスコーディングを行うことができる。次に、映像復号器30は、構文値を生成するために(バイナライザ100を用いて)ビンストリングをバイナリ化することができる。
[0144]図3に示される算術的コーディングプロセスは、映像データをコーディングするために使用することができる。例えば、図3に示されるコーディングプロセスは、基準インデックス値、動きベクトル、動きベクトル予測子、動きベクトル差分値、等を含む予測データをコーディングするために使用することができる。
[0145]例示を目的とする例において、バイナライザ100は、基準インデックス(ref_idx)をバイナリ化することができる。幾つかの例では、基準インデックスに関する結果的に得られたビンストリングは、基準のために利用可能な基準ピクチャの数に依存して、長さは最大で15ビンであることができる。上記のように、幾つかの例では、基準インデックス値のすべてのビンを、コンテキストモデラ102及びコーディングエンジン104を用いてコンテキストコーディングすることができる。さらに、ビンのうちの1つ以上がコンテキストを共有することができる。しかしながら、すべてのビンをコンテキストコーディングし、2つ以上のビン間でコンテキストを共有することは、コンテキストコーディングに関連するレーテンシーに起因して、非効率的になる可能性がある。
[0146]本開示の態様により、図4に示されるように、映像符号器20は、コーディング中のビンのビン番号に基づいて基準インデックスに関するビンストリングを符号化することができる。例えば、映像符号器20は、基準インデックスビンストリング内の特定のビンの相対位置によりそのビンストリング内のその特定のビンをコーディングすることができる。一例では、映像符号器20は、基準インデックスの第1のビン、第2のビン、及び第3のビンをコンテキストコーディングすることができ、及び、基準インデックスの残りのビンをバイパスコーディングすることができる。すなわち、映像符号器20は、第1のコンテキストctx0を用いてコンテキストモデラ102及びコーディングエンジン104を用いて第1のビン(ビン0)を、第2のコンテキストctx1を用いてコンテキストモデラ102及びコーディングエンジン104を用いて第2のビン(ビン1)を、及び第3のコンテキストctx2を用いてコンテキストモデラ102及びコーディングエンジン104を用いて第3のビン(ビン2)をコーディングすることができる。しかしながら、映像符号化器20は、第4のビン(ビン3)及びその他の後続するビンはバイパスコーダ106を用いてコーディングすることができる。
[0147]他の例では、映像符号器20は、コンテキストコーディングされるビン数を減らすことができる。例えば、映像符号器20は、第1のコンテキストctx0を用いてコンテキストモデラ102及びコーディングエンジン104を用いて第1のビン(ビン0)を、及び第2のコンテキストctx1を用いてコンテキストモデラ102及びコーディングエンジン104を用いて第2のビン(ビン1)をコーディングすることができる。しかしながら、この例では、映像符号器20は、第3のビン(ビン2)及びその他の後続するビンはバイパスコーダ106を用いてバイパスコーディングすることができる。
[0148]さらに他の例では、映像符号器20は、コンテキストコーディングされるビン数をさらに減らすことができる。例えば、映像符号器20は、第1のコンテキストctx0を用いてコンテキストモデラ102及びコーディングエンジン104を用いて第1のビン(ビン0)をコーディングすることができる。しかしながら、映像符号化器20は、第2のビン(ビン1)及びその他の後続するビンはバイパスコーダ106を用いてコーディングすることができる。
[0149]本開示の態様は、バイナライザ100が映像データに関してバイナリ化を行う方法にも関連する。例えば、本開示の態様により、バイナライザ100は、構文要素を2つ以上の部分に分割することができる。すなわち、バイナライザ100は、(上述されるように、相対的に小さいcMaxを有する)接頭辞をコーディングするために打ち切りユナリコーディングを使用することができ及び接尾辞をコーディングするために他のコーディング法を使用することができる。一例では、バイナライザ100は、接尾辞をコーディングするためにk番目のオーダーの指数−Golombコードを使用することができる。
[0150]幾つかの例では、接頭辞のビンのみをコンテキストコーディングすることができ、他方、接尾辞のビンは、バイパスコーディングすることができる。表3は、指数Golombコードと結合された打ち切りユナリコードの例を示し、接頭辞に関してはcMax=4、接尾辞に関しては0番目のオーダーの指数−Golombである。これらの技法は、基準インデックス値及びその他の構文要素、例えば、高度動きベクトル予測(AMVP)を介してのコーディングの際に使用される動きベクトル差分値又はその他の構文要素、に対しても適用することができる。
Figure 2015513290
表3に示される例において、打ち切りユナリビンはコンテキストコーディングすることができ、他方、指数−Golombビンは、バイパスコーディングすることができる。
[0151]本開示の技法は、例えば、接頭辞部における指数−Golombバイナリ化のために幾つかの数のビンの後のビンにコンテキストコーディングを適用することを含むことができる。本開示の技法は、例えば、(例えば、予め決定された数の接頭辞ビン)後にコンテキストコーディングをビンに適用することと、残りのビンにバイパスコーディングを適用することと、を含むことができる。例えば、コンテキストを用いて接頭辞部におけるすべてのビンをコーディングする代わりに、接頭辞部内のビン2及びそれ以降のビンは、バイパスモードでコーディングすることができる。他の例では、バイパスモードは、ビン1の後の及び/又はビン1を含むすべてのビンに適用することができる。さらに他の例では、接頭辞部のすべてのビンにバイパスモードを適用することができる。幾つかのコンテキストコーディングされたビンの後にバイパスモードコーディングを用いた同様のアプローチ法をあらゆるバイナリ化法のために使用することができる。すなわち、本開示は、指数−Golomb及び打ち切りユナリコーディング方式を使用することについて説明するが、その他のバイナリ化法を使用することができる。
[0152]さらに他の例では、上述される本開示の技法は、バイナリ化プロセスの組み合わせを含むその他のバイナリ化プロセスと関連させて実装することができる。すなわち、一例では、基準インデックス値をバイナリ化するためにユナリコーディングプロセスを使用することができる。他の例では、基準インデックス値をバイナリ化するために打ち切りユナリコーディングプロセスを使用することができる。さらに他の例では、基準インデックス値をバイナリ化するために指数−Golombコーディングプロセスを使用することができる。その他のバイナリ化プロセス及びバイナリ化プロセスの組み合わせも可能である。すなわち、例えば、基準インデックス値をバイナリ化するためにユナリ(又は打ち切りユナリ)コーディングプロセスを指数−Golombコーディングプロセスと組み合わせることができる。例示を目的とする例において、長さ(4)の打ち切りユナリコードを指数−Golombコード(例えば、0番目のオーダーの指数−Golombコード)と組み合わせることができる。該例では、基準インデックス値の最初の数のビン(例えば、2、3、4、等)は、ユナリコーディングすることができ、他方、基準インデックスの残りのビンは指数−Golombコーディングすることができる。
[0153]いずれの場合も、基準インデックス値をCABAC及びバイパスコーディングすることに関して上述される技法は、あらゆるバイナリ化された基準インデックス値に適用することができる。すなわち、本開示の態様により、バイナリ化された基準インデックス値の最初の数のビンはコンテキストコーディングする(例えば、CABACエンジンを用いてコーディングする)ことができ、残りのビンは、バイパスコーディングすることができる。長さ(4)の打ち切りユナリコードが0のオーダーの指数Golombコードと組み合わされる上述される例では、打ち切りユナリコードの最初の2つのビン(又はその他の数のビン)をコンテキストコーディングすることができ、ユナリコードの第2の部分及び指数Golombコード全体をバイパスコーディングすることができる。
[0154]長さ(4)の打ち切りユナリコード及び0のオーダーの指数Golombは、例示することのみを目的として提供されるものであり、その他の打ち切りユナリコードの長さに関して、及び指数Golombコードのその他のオーダーに関しても同じ又は同様の技法を適用することができることが理解されるべきである。さらに、上述されるバイナリ化プロセスは、例示することのみを目的として提供されるものであり、その他のバイナリ化されたコードを使用することができる。例えば、上例で説明される指数Golombコードの代わりに固定長バイナリコードを使用することができる。さらに、打ち切りユナリバイナリ部に関する2つのコンテキストコーディングされたビンの例は、例示を目的として提供されるものであり、その他の数のコンテキスト及びバイパスコーディングされたビンを使用することができる。
[0155]いずれの場合も、本開示の態様は、バイナリ化された値の一部分を打ち切ることにも関するものである。例えば、基準インデックス数が事前に知られているため、本開示の態様により、指数Golomb又は固定長コードを打ち切ることができる。すなわち、オーダーkの指数Golombは、バイナライザ100によって使用することができる。一例として、0のオーダーの指数Golombは、映像圧縮において適用することができる。このバイナリ化は、ユナリコード及び長さ(接頭辞−1)の固定長接尾辞を用いてコーディングされた指数接頭辞から成り、その一例が以下の表4に示される。
Figure 2015513290
[156]例えば、(例えば、表4の第1の列内において値10を有する要素に対応する)値10は、バイナリ化されたコードワード0001011によって表され、ここで、0001は接頭辞であり、011は接尾辞である。要素は、入力データであることができ、それは、表4のコードワードを用いて又は以下において示されて説明される表を用いてコーディングされる。例えば、映像符号器20は、要素を受信し、以下において示されて説明される表により要素をコードワードに変換することができる。同様に、映像復号器30は、コードワードを受信し、以下において示されて説明される表によりコードワードを構文要素(例えば、入力データ)に変換することができる。
[0157]以下に示される方程式(1)により再構築された値を得ることができる。
値=2^(接頭辞−1)+接尾辞−1 (1)
この例では、接頭辞は、ユナリコードによって表され、上表4において示されるように、0001は、4に対応し、接尾辞は、バイナリ数字系で表された値であり、011は3に対応する。従って、この例において、方程式(1)を適用することは、その結果として次の値が得られる。すなわち、2^(4−1)+3−1=10。
[0158]このコードは、概して無限の数字を表すことができるが、幾つかのシナリオでは、要素数は知ることができる。この場合は、コードワードは、可能な要素の最大数を考慮して短縮することができる。
[0159]例えば、最大の要素数が2(例えば、要素0及び1)である場合は、1に関する正規の指数Golombコードワードは、010である。しかしながら、2よりも多い要素は存在しない。従って、正規のコード010は、1に短縮することができる。このタイプのバイナリ化は、打ち切り指数Golombと呼ぶことができ、H.264/AVC、等の映像コーディング規格において使用することができる。しかしながら、H.264規格に関しては、打ち切り指数Golombは、最大要素数が1のときしか使用されない。その他の場合は、正規の指数Golombバイナリ化が使用される。
[0160]本開示の態様により、正規の指数Golombコーディングは、例えば、最大要素数が1である上例と同様の方法で、さらに打ち切ることができる。概して、最大要素数が事前に知られているときには、指数Golombバイナリ化コードワードの接尾辞は、冗長なビンを取り除くことによって打ち切ることができる。例えば、最大要素数が9である場合は、以下の表5において太字、イタリック体、及び下線で表示された2つのビンをコードワードから取り除くことができる。
Figure 2015513290
すなわち、表5に示される要素7に関しては、接尾辞の最初の2つの00は取り除くことができる。さらに、表5に示される要素8に関しては、接尾辞の最初の2つの00を取り除くことができる。従って、オーダー0の打ち切り指数Golombは、要素7に関しては0001 0、要素8に関しては00001 1を示す。
[0161]上述される技法は、例えば、最後の接頭辞(上例の0001)に関する固定長の接尾辞を正規の指数Golombコードと比較することによって実装することができる。例えば、最後のグループ内の要素数が正規の指数Golombコードにおけるよりも小さい場合は、冗長ビンは取り除くことができる。換言すると、バイナライザ100は、最後の接頭辞に関する固定長の接尾辞を比較することによって0のオーダーの打ち切られた指数Golombコードを生成することができ、及び、この最後のグループ内の要素数が正規の指数Golmobコード内よりも少ない場合は、冗長なビンは取り除くことができる。
[0162]例えば、この例では、バイナライザ100は、事前に知られているコーディングに関する最大要素数が存在するときには、接頭辞が最後の要素の接頭辞と同じである要素数を決定することができる。例えば、表5において、最後の要素に関する接頭辞は0001であり、最大要素数(例えば、この例でば9)が存在するときにはその接頭辞が最後の要素の接頭辞と同じである2つの要素(例えば、要素7及び要素8)が存在する。
[0163]バイナライザは、接頭辞が最後の要素の接頭辞と同じである要素数を同じ接頭辞を有する正規の指数Golombコード内の要素数と比較することができる。例えば、上記の表4において、接頭辞が0001(前要素の接頭辞と同じ)である8つの要素(すなわち、要素7乃至14)が存在する。この例では、バイナライザ100は、その接頭辞が最後の要素の接頭辞と同じである要素数は、同じ接頭辞を有する正規の指数Golombコード内の要素数よりも少ないと決定することができる。
[0164]これが真であるときには、バイナライザ100は、打ち切られたコードワードを生成するために接頭辞が最後の接頭辞と同じであるコードワードからビンを打ち切ることができる。幾つかの例では、ビンは、接尾辞から打ち切られる。しかしながら、本開示の態様はそのようには限定されない。バイナライザ100は、接頭辞が最後の接頭辞と同じである要素数に基づいて打ち切るべきビン数を決定することができる。
[0165]例えば、上の表5において、最後の接頭辞と同じ接頭辞を有する要素が2つ(例えば、要素7及び8)存在する。バイナライザ100は、表5の最後の列において例示されるように、打ち切られたコードワードを生成するために要素7及び8のコードワードからビンを打ち切ることができる。この例では、最後の接頭辞と同じ接頭辞を有する要素が2つ存在するため、バイナライザ100は、それらの2つの要素を表すために接尾辞内では1つのみのビンが必要であると決定することができる。例えば、接尾辞内の0は、1つの要素(例えば、要素7)を表すことができ、接尾辞内の1は、他の要素(例えば、要素8)を表すことができる。従って、上の表5内の要素7に関しては、バイナライザ100は、接尾辞の最初の2つのビンを打ち切ることができ、打ち切られたコードワードに関する接尾辞として0のみを残す。さらに、上の表5内の要素8に関しては、バイナライザ100は、接尾辞の最初の2つのビンを打ち切ることができ、打ち切られたコードワードに関する接尾辞として1のみを残す。
[0166]上述される技法は、コーディングメディアに関して実装することができる(例えば、映像データの符号化及び/又は復号)。例えば、本開示の態様により、映像復号器、例えば、映像復号器30、は、メディアデータを表す1つ以上のコードワードを受信することができ、コーディングのために使用することができる最大要素数が存在することができる。映像復号器30は、コーディングテーブルによりコードワードを要素に変換することができる。コーディングテーブルは、同じ接頭辞がコーディングテーブル内の最後の接頭辞であり、及び、同じ接頭辞を有するコードワード数が同じ接頭辞を有することが可能な一意のコードワードの最大数よりも少ないときに同じ接頭辞を有するコードワードの少なくとも一部が打ち切られるような形で構築することができる。例えば、接頭辞0001に関しては、表4は、コードワードに関する一意の可能性を示し、表5及び6(下に示される)は、同じ接頭辞を共有し、本開示の技法により打ち切られるコードワードの例を示す。
[0167]技法は、映像符号器20によって実行することもできる。例えば、映像符号器20は、メディアデータを表す1つ以上の要素を受信することができる。映像符号器20は、コーディングテーブルにより要素を1つ以上のコードワードに変換することができ、コーディングのために使用することができる最大要素数が存在することができる。コーディングテーブルは、同じ接頭辞がコーディングテーブル内の最後の接頭辞であり、及び、同じ接頭辞を有するコードワード数が同じ接頭辞を有することが可能な一意のコードワードの最大数よりも少ないときに同じ接頭辞を有するコードワードの少なくとも一部が打ち切られるような形で構築することができる。繰り返すと、例えば、接頭辞0001に関しては、表4は、コードワードに関する一意の可能性を示し、表5及び6(下に示される)は、同じ接頭辞を共有し、本開示の技法により打ち切られるコードワードの例を示す。
[0168]このようにして、技法は、コーディング中の要素の最大数が知られているときに映像データをコーディングするために必要なビン数を減らすことができる。ビンの減少は、その結果として、シグナリング又は受信される必要があるビン数が減少し、その結果、帯域幅効率が向上する。
[0169]さらに他の例では、最大要素数が11である場合は、打ち切り指数Golombコードワードが以下の表6に示される。表6において太字、イタリック体、及び下線で表示されたビンは、コードワードから取り除くことができる。
Figure 2015513290
表6に示されるように、要素7、8、9、及び10に関する接尾辞内の最初のビンは、打ち切ることができる(太字、イタリック体、及び下線で示される)。この例では、4つ要素がコードワードによって表されるため、接尾辞からの1つのビンのみを打ち切ることができる。この理由で、4つの要素を網羅するために、打ち切られたコードワードでは、接尾辞は00から始まり、11で終わり、各々が同じ接頭辞を有する。
[0171]上の表5及び6に示される例は、例として提供されるにすぎず、あらゆる最大数の要素に関して同じプロセスを適用することができる。例えば、幾つかの例では、本開示の態様は、打ち切られたコードワードを受信することに関する。打ち切られたコードワードは、第1の数の要素を決定することによって生成することができる。第1の数の要素は、コーディングのために使用することができる最大要素数が存在するときに第1のコーディングテーブル内の最後の要素に対応するコードワードの接頭辞と同じである接頭辞を最初のコーディングテーブル内のどれだけのコードワードが有するかを示すことができる。この例では、第1のコーディングテーブルは、表5又は表6であることができる。態様は、予めソートされているか又は動作中に動的に計算される打ち切られたコードワードを受信することに関する。
[0172]本開示の態様は、第2のコーディングテーブル内のどれだけのコードワードが、第1のコーディングテーブル内の最後の要素に対応するコードワードの接頭辞と同じである接頭辞を有するかを示す第2の数の要素を決定することに関するものである。この例では、第2のコーディングテーブルは、上の表4であることができる。幾つかの例では、第1のコーディングテーブルは、第2のコーディングテーブルの部分組であることができ、それは、コーディングのために使用することができる要素の最大数に基づく。
[0173]幾つかの例では、第1の要素数が第2の要素数よりも少ないときには、本開示の態様は、打ち切られたコードワードを生成するために第1のコーディングテーブル内の最後の要素に対応するコードワードの接頭辞と接頭辞が同じである第1のコーディングテーブル内のコードワードからビンを打ち切ること、及び、それらの打ち切られたコードワードを用いて映像データをコーディングすることに関するものである。幾つかの例では、コードワードを打ち切ることは、コードワードの接尾辞又は接頭辞、又はそれらの組み合わせからビンを打ち切ることを含む。幾つかの例では、ビンを打ち切ることは、第1の要素数に基づき、第1の要素数は、第1のコーディングテーブル内のどれだけのコードワードが、第1のコーディングテーブル内の最後の要素に対応するコードワードの接頭辞と同じである接頭辞を有するかを示す。幾つかの例では、コーディングは、Golombコーディングである。
[0174]代替として又はさらに追加して、接頭辞も、打ち切られたユナリコードを用いて短くすることができる。例えば、最大要素数が4である場合は、接頭辞及び接尾辞は、以下の表7に示されるように打ち切ることができる。
Figure 2015513290
[0175]表7の打ち切られるビンは、太字、イタリック体、及び下線で表される。表7に示される例では、要素3に関するコードワードは、要素1又は2に関するコードワードよりも短い。例えば、より短いコードワード00をより頻繁に生じる要素1に及び010を要素3に割り当てることによって、打ち切り指数Golombバイナリ化に関する追加の順序再設定又はマッピングを適用することができる。該順序再設定又はマッピングは、マッピングテーブルを用いて行うことができる。
[0176]幾つかの例では、順序再設定は、特定の要素の出現頻度に基づくこともできる。例えば、最も頻繁に出現する要素により短いコードワードを割り当てることができる。このコードワードマッピングは、要素の順序が出現頻度によって設定される事例において特に効率的であることができる。
[0177]上記の幾つかの例は、0のオーダーのコーディングの指数Golombに関して説明されたが、技法は、より一般的に、kのオーダーのコーディングの指数Golombに対して適用可能であることが理解されるべきである。さらに、技法は、HEVC映像規格には限定されず、あらゆる映像圧縮規格に対して、又はより広範囲に、バイナリ化が行われるあらゆる用途に関して適用することができる。
[0178]新生のHEVC規格(及びHEVC規格の拡張版、例えば、スケーラブル映像コーディング(SVC)又はマルチビュー映像コーディング(MVC))に関して、上述される打ち切り指数Golombバイナリ化技法は、様々な構文要素をバイナリ化するために適用することができる。例は、基準インデックス値、イントラモードモード、マージインデックス、量子化パラメータ(又はデルタ量子化パラメータ)、又は、要素数が事前に知られているその他の構文要素を含む。
[0179]上例は指数Golomb打ち切りについて説明する一方で、説明される打ち切り技法は、固定長コードに対しても適用することができる。すなわち、構文要素(例えば、基準インデックス)が2つ以上のバイナリ化プロセス(例えば、打ち切りユナリ及び指数Golomb)を用いてバイナリ化される例では、予め決定された数のビンをCABACコーディングすることができ、残りのビンは打ち切ってバイパスコーディングすることができる。
[0180]幾つかの例では、打ち切る(例えば、指数Golomb又はバイナリ化された構文要素の固定長バイナリ化部分から打ち切る)ことができるビン数を決定するためにアルゴリズムを適用することができる。一例において、予め決定された数のビンがバイパスコーディングされると仮定する。この例では、映像コーダ(例えば、映像符号器20又は映像復号器30)は、残りのビンの切り上げられた(rounded up)log2を計算することによって打ち切ることができる残りのビン数を決定することができる。
[0181]図5A及び5Bは、予測データと関連付けられたビンストリング例を示したブロック図である。例えば、図5Aは、概して、単一の基準ピクチャから予測されるピクチャに関する基準インデックス(ref_idx)、動きベクトル差分(mvd)、及び動きベクトル予測子インデックス(mvp_idx)を例示する。
[0182]図5Bは、概して、2つの基準ピクチャ(Bピクチャ)から予測されるピクチャに関する第1の基準インデックス(ref_idx_L0)、(水平成分及び垂直成分を表す)第1の動きベクトル差分(mvd_L0)、及び第1の動きベクトル予測子インデックス(mvd_idx_L0)、並びに、第2の基準インデックス(ref_idx_aL1)、(水平成分及び垂直成分を表す)第2の動きベクトル差分(mvd_L1)、及び第2の動きベクトル予測子インデックス(mvd_idx_L1)を例示する。すなわち、両方向予測PUに関しては、2つの基準インデックスをコーディングすることができ、リストL0及びリストL1の各リストに関して1つの基準インデックスである。従って、PU当たり最大で2つの基準インデックスをコーディングすることができ、CU当たり最大で8つのインデックスをコーディングすることができる。
[183]ビンストリング120(図5A)及び124(図5B)は、高度動きベクトル予測(AMVP)技法と関連付けられた予測データを含む。AMVPを用いた場合は、現在コーディング中のブロックに関する動きベクトルは、他の動きベクトル、例えば、空間的又は時間的に近隣のブロックと関連付けられた動きベクトル、に関する差分値(すなわち、デルタ)としてコーディングすることができる。例えば、映像符号器20は、空間的方向及び時間的方向において1つ以上の近隣ブロックと関連付けられた動きベクトルを含む動きベクトル予測子候補リストを構築することができる。映像符号器20は、例えば、レート−歪みコスト解析に基づいて候補リストから最も正確な動きベクトル予測子(MVP)を選択することができる。
[0184]映像符号器20は、基準インデックス(ref_idx)を用いて実際の動きベクトルに関する基準ピクチャを示すことができる。さらに、映像符号器20は、動きベクトル予測子インデックス(mvp_idx)を用いて選択されたMVPを示すことができ、それは、候補リスト内のMVPを識別する。映像符号器20は、動きベクトル差分(mvd)を用いて現在のブロックの動きベクトル(実際の動きベクトル)とMVPとの間の差分を示すこともできる。上記のように、mvdは、mvpの水平成分及び垂直成分に対応する水平成分及び垂直成分を含むことができる。
[0185]映像復号器30は、MVP候補リストを同じ方法で構築することができる。映像復号器30は、候補リスト内のどの位置でMVPを突き止めるべきかを決定するために受信された動きベクトル予測子インデックス(mvp_idx)を使用することができる。映像復号器30は、動きベクトル差分(mvd)を(動きベクトル予測子インデックス(mvp_idx))を用いて決定された)動きベクトル予測子と結合することができる。
[0186]このようにして(例えば、差分値を用いて)動きベクトルを予測することは、実際の動きベクトルをコーディングすることと比較してより少ないビットをビットストリーム内に含めることが要求される。図5Bに関して、両方向予測されるピクチャは、2つの異なるリスト、例えば、リスト0及びリスト1、からのピクチャと関連付けられた予測データを含むことができる。図5Bの例に示されるように、リスト0と関連付けられた予測データは、リスト1と関連付けられる予測データに先行することができる。すなわち、ビンストリング124は、第1の基準インデックス(ref_idx_L0)、(例えば、水平成分及び垂直成分の両方を表す)第1の動きベクトル差分(mvd_L0)、及び第1の動きベクトル予測子インデックス(mvp_idx_L0)を含み、第2の基準インデックス(ref_idx_L1)、(例えば、水平成分及び垂直成分の両方を表す)第2の動きベクトル差分(mvd_L1)、及び第2の動きベクトル予測子インデックス(mvp_idx_L1)によって後続される。
[0187]幾つかの例では、AMVPに関連する構文は、コンテキストコーディングとバイパスコーディングの組み合わせを用いてコーディングすることができる。例えば、図5A及び5Bの例で示されるように、予測データのビンの一部はコンテキストコーディングされ、その他のビンはバイパスコーディングされる。すなわち、動きベクトル差分値(及びその他の値、例えば、以下の図7に関して説明される基準インデックス値)の1つ以上のビンをコンテキストコーディングすることができ、動きベクトル差分値の1つ以上のその他のビンはバイパスコーディングすることができる。
[0188]図5Aの例に関して、コンテキストコーディングされたビン128によって示されるように、基準インデックス(ref_idx)及び動きベクトル差分(mvd)の第1の部分はコンテキストコーディングすることができる。動きベクトル差分(mvd)の第2の部分は、バイパスコーディングされたビン130によって示されるように、バイパスコーディングすることができる。さらに、動きベクトル予測子インデックス(mvp_idx)は、コンテキストコーディングされたビン132によって示されるように、コンテキストコーディングすることができる。
[0189]図5Bの例に関して、コンテキストコーディングされたビン136によって示されるように、(例えば、水平成分及び垂直成分の両方を表す)第1の基準インデックス(ref_idx_L0)及び第1の動きベクトル差分(mvd_L0))の第1の部分はコンテキストコーディングすることができる。(例えば、水平成分及び垂直成分の両方を表す)第1の動きベクトル差分(mvd_L0)の第2の部分は、バイパスコーディングされたビン138によって示されるように、バイパスコーディングすることができる。さらに、第1の動きベクトル予測子インデックス(mvp_idx_L0)、第2の基準インデックス(ref_idx_L1)、及び(例えば、水平成分及び垂直成分の両方を表す)第2の動きベクトル差分(mvp_L1)の第1の部分は、コンテキストコーディングされたビン140によって示されるように、コンテキストコーディングすることができる。バイパスコーディングされたビン142によって示されるように、(例えば、水平成分及び垂直成分の両方を表す)第2の動きベクトル差分(mvd_L1)の第2の部分も、バイパスコーディングすることができる。最後に、第2の動きベクトル予測子インデックス(mvp_idx_L1)は、コンテキストコーディングされたビン144によって示されるように、コンテキストコーディングすることができる。
[0190]従って、図5Bの例は、映像コーダがビンを処理するためにコンテキストコーディングとバイパスコーディングとの間で4回切り換わらなければならない両方向予測に関するPUに基づくインターモード構文を示す。ビンストリング120及び124をコーディングするためにコンテキストコーディングとバイパスコーディングとの間で切り換わることは、非効率的である可能性がある。例えば、各要素に関してコンテキストコーディングとバイパスコーディングとの間で切り換わることは、1つ以上のクロックサイクルを消費することがある。従って、各要素に関してコンテキストコーディングとバイパスコーディングとの間で切り換わることは、コンテキストコーディングとバイパスコーディングとの間での移行に起因して、レーテンシーを導入することがある。
[0191]本開示の態様により、以下の図6及び7に関してより詳細に説明されるように、コンテキストビン及びバイパスビンは、コンテキストコーディングとバイパスコーディングとの間での移行を減らすためにグループに分けることができる。例えば、図5Aに関して、本開示の態様は、コンテキストコーディングされたビン128及び132をグループにまとめることに関連し、このため、ビンは、バイパスコーディングされたビン130によって分離されない。このようにして、ビンストリング120のコーディング中にコンテキストコーディングとバイパスコーディングとの間で単一の移行を行うことができる。
[0192]同様に、図5Bに関して、本開示の態様は、コンテキストコーディングされたビン136、140、及び144をグループに分けることに関するものであり、従って、ビンは、バイパスコーディングされたビン138及び142によって分離されない。繰り返すと、このようにコンテキストコーディングされたビン及びバイパスコーディングされたビンをグループに分けることは、映像コーダ(例えば、映像符号器20又は映像復号器30)がコンテキストコーディングとバイパスコーディングとの間で単一の移行を行うのを可能にすることができる。コンテキストコーディングとバイパスコーディングとの間での複数の移行を回避することは、それらの移行に関連するレーテンシーを制限することによって効率を向上させることができる。
[0193]図6は、予測データの他のビンストリング例140を示したブロック図である。ビンストリング140は、第1の基準インデックス(ref_idx_L0)と、(例えば、水平成分及び垂直成分の両方を表す)第1の動きベクトル差分(mvd_L0)と、第1の動きベクトル予測子インデックス(mvp_idx_L0)とを含み、第2の基準インデックス(ref_idx_L1)、(例えば、水平成分及び垂直成分の両方を表す)第2の動きベクトル差分(mvd_L0)、及び第2の動きベクトル予測子インデックス(mvp_idx_L1)によって後続される。ビンストリング140は、コンテキストコーディングされたビン144と、バイパスコーディングされたビン148と、を含む。例えば、コンテキストコーディングされたビン144は、コンテキスト適応型コーディングプロセス(例えば、CABAC)のコンテキストコーディングモードを用いてコーディングすることができ、バイパスコーディングされたビン148は、固定確率(例えば、CABACバイパスコーディングモード)を用いてコーディングすることができる。
[0194]本開示の態様により、コンテキストコーディングされたビン144は、バイパスビン148の前にコーディングのためにグループに分けられる。すなわち、図6に示される例では、コンテキストコーディングされたビン144は、第1の基準インデックス(ref_idx_L0)のコンテキストコーディングされたビンと、第2の基準インデックス(ref_idx_L1)のコンテキストコーディングされたビンと、第1の動きベクトル予測子インデックス(mvp_idx_L0)のコンテキストコーディングされたビンと、第2の動きベクトル予測子インデックス(mvp_idx_L1)のコンテキストコーディングされたビンと、第1の動きベクトル差分(mvd_L0)のコンテキストコーディングされたビンと、第2の動きベクトル差分(mvd_L1)のコンテキストコーディングされたビンと、を含む。さらに、バイパスコーディングされたビン148は、第1の動きベクトル差分(mvd_L0)のバイパスコーディングされたビンと、第2の動きベクトル差分(mvd_L1)のバイパスコーディングされたビンと、を含む。
[0195]幾つかの例では、ビンは、コーディング中の構文要素のビン番号に基づいてグループに分けることができる。例示することを目的とした例において、映像コーダ(例えば、映像符号器20又は映像復号器30)は、コンテキストコーディングを用いて動きベクトル差分値の最初の2つのビンをコーディングし及びバイパスコーディングを用いて残りのビンをコーディングすることができる。従って、この例では、コンテキストコーディングされたビン144は、第1の動きベクトル差分(mvd_L0)及び第2の動きベクトル差分値(mvd_L1)の両方の最初の2つのビンを含むことができ、他方、バイパスコーディングされたビン148は、動きベクトル差分値の残りのビンを含むことができる。
[0196]図6に示される構文要素の順序設定は、例示することのみを目的として提供される。その他の例では、構文要素は、異なる順序で設定することができ、例えば、代替順序(又はインターリービング)では、基準インデックス値、動きベクトル予測子、及び動きベクトル差分値。すなわち、他の例では、映像コーダは、次のようにPUをコーディングすることができる。すなわち、基準インデックスL0のコンテキストコーディングされたビン、基準インデックスL1のコンテキストコーディングされたビン、基準インデックスL0のバイパスモードコーディングされたビン、基準インデックスL1のバイパスモードコーディングされたビン。さらに他の例では、バイパスビン148は、コンテキストコーディングされたビン144の前にコーディングすることができる。
[0197]いずれの場合も、図6は、1つ以上のコンテキストコーディングされたビン144のグループ及び1つ以上のバイパスコーディングビン148のグループを有する予測データを示す。コンテキストコーディングされたビン及びバイパスコーディングされたビンをこのようにしてグループに分けることは、上記のように、ビンをコーディングすることに関連するレーテンシーを低減させることができる。例えば、映像コーダは、すべてのコンテキストコーディングされたビン144をコーディングし、コンテキストコーディングからバイパスコーディングへの単一の移行を行い、すべてのバイパコーディングされたビンをコーディングすることができる。コンテキストコーディングとバイパスコーディングとの間での複数の移行を回避することは、コンテキストコーディングとバイパスコーディングとの間での移行に関連するレーテンシーを制限することによって効率を向上させることができる。
[0198]幾つかの例では、図6に示されるように、コンテキストコーディングされたビン及びバイパスコーディングされたビンは、映像データのブロックに関して(例えば、1つのPUごとに)グループに分けることができる。その他の例では、コンテキストコーディングされたビン及びバイパスコーディングされたビンは、CUに関して(例えば、LCUの1つ以上のCU)、LCU全体に関して、又は映像データのスライス全体に関してグループに分けることができる。該例では、コンテキストコーディングされたビンは、CU/LCU/スライスのバイパスコーディングされたビンの前にCU/LCU/スライスに関してグループに分けてコーディングすることができ、又は逆も同様である。
[0199]図7は、予測データの他のビンストリング例160を示したブロック図である。図7の例では、ビンストリング160は、第1の基準インデックス(ref_idx_L0)と、(例えば、水平成分及び垂直成分の両方を表す)第1の動きベクトル差分(mvd_L0)と、第1の動きベクトル予測子インデックス(mvp_idx_L0)とを含み、第2の基準インデックス(ref_idx_L1)、(例えば、水平成分及び垂直成分の両方を表す)第2の動きベクトル差分(mvd_L0)、及び第2の動きベクトル予測子インデックス(mvp_idx_L1)によって後続される。ビンストリング160は、コンテキストコーディングされたビン164と、バイパスコーディングされたビン168と、を含む。例えば、コンテキストコーディングされたビン164は、コンテキスト適応型コーディングプロセス(例えば、CABAC)のコンテキストコーディングモードを用いてコーディングすることができ、バイパスコーディングされたビン168は、固定確率(例えば、CABACバイパスコーディングモード)を用いてコーディングすることができる。
[0200]本開示の態様により、図6に示される例と同様に、コンテキストコーディングされたビン164は、バイパスビン168の前にコーディングのためにグループに分けられる。しかしながら、図7に示される例では、基準インデックス(ref_idx_L0及びref_idx_L1)は、コンテキストコーディングされたビンとバイパスコーディングされたビンの組み合わせを含む。すなわち、基準インデックスは、上の図4に関して説明される例によりコーディングすることができ、1つ以上のビンは、コンテキスト適応型モードを用いてコーディングされ、1つ以上のその他のビンは、バイパスモードを用いてコーディングされる。
[0201]従って、図7の例では、コンテキストコーディングされたビン164は、第1の基準インデックス(ref_idx_L0)のコンテキストコーディングされたビンと、第2の基準インデックス(ref_idx_L1)のコンテキストコーディングされたビンと、第1の動きベクトル予測子インデックス(mvp_idx_L0)のコンテキストコーディングされたビンと、第2の動きベクトル予測子インデックス(mvp_idx_L1)のコンテキストコーディングされたビンと、(例えば、水平成分及び垂直成分の両方を表す)第1の動きベクトル差分(mvd_L0)のコンテキストコーディングされたビンと、(例えば、水平成分及び垂直成分の両方を表す)第2の動きベクトル差分(mvd_L1)のコンテキストコーディングされたビンとを含む。さらに、バイパスコーディングされたビン168は、第1の基準インデックス(ref_idx_L0)のバイパスコーディングされたビンと、第2の基準インデックス(ref_idx_L1)のバイパスコーディングされたビンと、第1の動きベクトル差分(mvd_L0)のバイパスコーディングされたビンと、第2の動きベクトル差分(mvd_L1)のバイパスコーディングされたビンと、を含む。
[0202]図6に関して上述されるように、ビンは、コーディング中の構文要素のビン番号に基づいてグループに分けることができる。例示することを目的とする例では、映像コーダ(映像符号器20又は映像復号器30)は、コンテキストコーディングを用いて動きベクトル差分値の最初の2つのビンをコーディングし、残りのビンはバイパスコーディングを用いてコーディングすることができる。さらに、映像コーダは、コンテキストコーディングを用いて基準インデックスの最初の2つのビンをコーディングし、バイパスコーディングを用いて残りのビンをコーディングすることができる。従って、この例では、コンテキストコーディングされたビン144は、第1の動きベクトル差分(mvd_L0)及び第2の動きベクトル差分値(mvd_L1)の両方の最初の2つのビンと、第1の基準インデックス(ref_idx_L0)及び第2の基準インデックス(ref_idx_L1)の最初の2つのビンと、を含むことができる。バイパスコーディングされたビン148は、動きベクトル差分値及び基準インデックスの残りのビンを含むことができる。
[0203]コンテキストコーディングされたビン及びバイパスコーディングされたビンをグループに分けることは、ビンをコーディングすることに関連するレーテンシーを低減させることができる。例えば、映像コーダは、すべてのコンテキストコーディングされたビン144をコーディングし、コンテキストコーディングからバイパスコーディングへの単一の移行を行い、すべてのバイパスコーディングされたビンをコーディングすることができる。コンテキストコーディングとバイパスコーディングとの間での複数の移行を回避することは、コンテキストコーディングとバイパスコーディングとの間での移行に関連するレーテンシーを制限することによって効率を向上させることができる。
[0204]図6及び7に関して説明される技法は、あらゆるバイナリ化方式を用いて実行することができることが理解されるべきである。さらに、上記のように、構文要素の順序設定は、例示することのみを目的として提供される。さらに、コンテキストコーディングされたビン及びバイパスコーディングされたビンは、PUに関して、1つ以上のCUに関して、LCU全体に関して、又は映像データのスライス全体に関してグループに分けることができる。該例では、コンテキストコーディングされたビンは、PU/CU/LCU/スライスのバイパスコーディングされたビンの前にPU/CU/LCU/スライスに関してグループに分けてコーディングすることができ、又は逆も同様である。
[0205]図8A及び8Bは、概して、インター予測方向構文要素をコーディングすることを例示する。例えば、上記のように、動きベクトルを計算することに加えて、動き推定は、Bスライスに関する基準フレームのインデックス(ref_idx)及び予測方向も決定する(inter_pred_idc:L0から前方、L1から後方、又は両方向、又はinter_preg_flag:LCから単一方向又はL0及びL1から両方向)。動きベクトル(例えば、動きベクトルの水平成分及び垂直成分)、基準フレームインデックス、及び予測方向は、典型的には、構文要素として符号器によってエントロピー符号化され、映像復号プロセスでの使用のために映像復号器によって復号されるべき符号化された映像ビットストリーム内に置かれる。これらの構文要素は、復号器がPUによって定義された映像データを復号して再生成するのを可能にするためにインターコーディングされたPUに関して提供することができる。
[0206]幾つかの例では、両方向予測モード(Pred_BI)に関する基準インデックスをシグナリングするためにリストL0及びリストL1基準インデックスを使用することができ、単一方向予測モードに関する基準インデックス(Pred_LC)をシグナリングするために結合されたリスト(LC)基準インデックスが使用される。LC基準インデックスは、結合された基準ピクチャリストの基準インデックスであり、それは、複製された基準ピクチャが予め定義された規則(又は明示のシグナリング)により取り除かれたリストL0及びL1からの基準ピクチャの組み合わせを含む。
[0207]該例では、インター予測方向構文要素(inter_pred_flag)は、2つの可能な値(LCからの両方向又は単一方向)しか有さない。インター予測方向構文要素がバイナリ化されるときには、インター予測方向が両方向又は単一方向のいずれかとして示すために1のみのビンがコーディングされるだけでよい。以下に示される表8は、インター予測方向構文要素を例示する。
Figure 2015513290
[0208]その他の例では、T.Lee及びJ.Parkによる提出物“On Reference List Combination”(JCTVC−I0125、ジュネーブ、2012年4月)において提案されるように、結合リスト(LC)は取り除くことができる。該例では、代わりに、3つの可能な値(両方向、L0からの単一方向、又はL1からの単一方向)を有するインター予測方向構文要素(inter_pred_flag又はinter_pred_idc)を使用する。予測モードが単一方向予測モードであるときには、Preg_L0又はPreg_L1のいずれかを示す追加のビンをコーディングする必要がある。
[0209]表9は、(上の表8に対する)インター予測方向構文要素コーディングの変更を例示する。
Figure 2015513290
[0210]図8Aは、表9に関して上述されるコーディング構造を例示する。図8Aに示されるように、インター予測方向構文要素(inter_pred_flag)は、2つのビンを用いてCABACプロセスによってコーディングすることができる。第1のビン(ビン(0))は、インター予測モードが単一方向(ビン(0)=0)であるか又は両方向(pred_B1)(ビン(0)=1)であるかを示す。第2のビンは、第1のビンが単一方向予測モードであることを示す場合のみに条件付きでコーディングされる。第2のビン(ビン(1))は、単一方向予測モードがリスト0(pred_L0)(ビン(1)=0)からであるか又はリスト1(pred_L1)(ビン(1)=1)からであるかを示す。
[0211]2つの可能な値(LCから両方向又は単一方向)のみを有するインター予測方向に関するコンテキストモデルインデックス導出は、CU深度に基づいて決定することができ、それは、以下の方程式において示されるように、第1のビン(ビン0)に関する範囲0..3内の値を有することができる。

ctxIdx=cuDepth

[0212]図8Aの例において、第2のビン(ビン(1))は、追加のコンテキストでコーディングすることができ、又は、第1の(ビン0))の1つのコンテキストを再使用することによってコーディングすることができる。しかしながら、追加のコンテキストを導入することは、インター予測方向構文要素をコーディングすることに関連する複雑さを増大させる可能性がある。さらに、第1のビンのコンテキストのうちの1つを再使用することは、ビン0をコーディングするために使用されるコンテキスト数を減少させることになり、映像コーダは、この状態に関する余分の検査を行わなければならない。
[0213]図8Bは、本開示の態様による、インター予測方向構文要素をバイパスコーディングすることを例示するブロック図である。図8Bに示されるように、インター予測方向構文要素(inter_pred_flag)の第1のビン(ビン(0))は、CABACプロセスによってコンテキストコーディングすることができ、第2のビン(ビン(1))は、CABACプロセスのバイパスモードを用いてコーディングすることができる。第1のビン(ビン(0))は、
インター予測モードが単一方向(ビン(0)=0)であるか又は両方向(pred_BI)(ビン(0)=1)であるかを示す。この例では、ビン(0)は、4つの可能なコンテキストのうちの1つを用いてコーディングすることができるctxIdx=0..3。第2のビン(ビン(1))は、第1のビンが単一方向予測モードであることを示す場合のみに条件付きでコーディングすることができる。第2のビン(ビン(1))は、単一方向予測モードがリスト0(pred_L0)(ビン(1)=0)からであるか又はリスト1(pred_L1)(ビン(1)=1)からであるかを示す。本開示の態様により、ビン(1)は、コンテキストを用いずにコーディングする(例えば、CABACプロセスのバイパスモードを用いてコーディングする)ことができる。
[0214]このようにして、本開示の態様により、映像コーダ(映像符号器20又は映像復号器30)は、インター予測方向値をバイナリ化し、バイパスモードを用いてバイナリ化されたインター予測方向値の少なくとも1つのビンをコーディングすることができる。より具体的には、映像コーダは、CABACプロセスを用いてインター予測方向値に関する第1のビン(ビン(0))をコンテキストコーディングするためのコンテキストを選択することができ、及び、CABACプロセスのバイパスモードを用いて第2のビン(ビン(1))をコーディングすることができる。代替として、それらの技法は、映像コーダがバイパスモードを用いてインター予測方向値に関する第1のビン(ビン0))をコーディングすること及びバイパスモードを用いて第2のビン(ビン(1))を同じくコーディングするのを可能にする。従って、ビン(0)をコーディングするために利用可能な4つのコンテキスト、ctxIdx=0..3、を節約することができる。
[0215]技法は、余分のコンテキストを要求せずに又はコンテキスト(例えば、ビン0のコンテキスト)を再使用せずに、3つの可能な値(両方向、L0からの単一方向、又はL1からの単一方向)を有するインター予測方向構文要素のコーディングを可能にする。さらに、技法は、コンテキストが要求されずにバイパスモードを使用し、そのことは、計算上の複雑さがコンテキストコーディングよりも小さい。
[0216]図9は、本開示の態様による、基準インデックス値をエントロピー符号化する例を示したフローチャートである。説明の目的上、概して映像符号器20のコンポーネント(図1及び2)によって行われるとして説明されているが、その他の映像コーディングユニット、プロセッサ、処理ユニット、ハードウェアに基づくコーディングユニット、例えば、符号器/復号器(CODEC)、等も図9のプロセスを実行するように構成することができる。
[0217]図9の例において、映像符号器20は、受信された構文要素をバイナリ化する(180)。映像符号器20は、本開示において説明されるバイナリ化プロセスのうちのいずれかにより構文要素をバイナリ化することができる。バイナリ化プロセス例は、ユナリ、打ち切りユナリ、指数−Golomb、等を含む。
[0218]映像符号器20は、バイナリ化された構文要素が基準インデックス値であるかどうかを決定する(182)。繰り返すと、基準インデックス値は、概して、インター予測目的で基準ピクチャリスト内の基準ピクチャを識別する。バイナリ化された構文要素が基準インデックス値である場合は(ステップ182の“はい”の分岐)、映像符号器20は、コンテキスト適応型コーディング、例えば、CABAC、を用いてバイナリ化された基準インデックス値の少なくとも1つのビンを符号化することができる(184)。さらに、映像符号器20は、バイパスコーディングを用いて(コーディングされるべき追加のビンが存在する例において)バイナリ化された基準インデックス値の少なくとも他のビンを符号化することができ、それは、コンテキスト適応型コーディングエンジンをバイパスする(186)。
[0219]図4に関して上述されるように、映像符号器20は、幾つかの例では、コンテキストコーディングを用いて1つ、2つ、又は3つのビンをコーディングすることができる。コンテキストコーディングされたビンに関して、映像符号器20は、ビンストリング内のビンの相対的位置に基づいてコンテキストを選択することができる。例えば、映像符号器20は、第2のビンに関するコンテキストと異なる第1のビンに関するコンテキストを選択することができる。
[0220]いずれの場合も、映像符号器20は、符号化されたビットストリーム188を形成するためにコンテキストコーディングされたビン及びバイパスコーディングされたビンを結合することができる。幾つかの例では、コーディング中の構文要素が基準インデックス値でない場合は(ステップ182の“いいえ”分岐)、映像符号器20は、構文要素をコーディングするために特定のコーディングモード(例えば、バイパス又はコンテキスト適応型)を選択することができる(190)。映像符号器20は、選択されたモードを用いて構文要素を符号化し(192)及び符号化されたビットストリームを形成する(188)ことができる。
[0221]図9に関して示されて説明されるステップは、単なる一例として提供されることが理解されるべきである。すなわち、図9の方法のステップは、必ずしも図9に示される順序で実行する必要はなく、さらに、これよりも少ない、多い、又は代替のステップを実行することができる。例えば、映像符号器20は、幾つかの例では、構文要素をバイナリ化する(ステップ180)前に構文要素がインデックスであるかどうかを決定する(ステップ182)ことができる。
[0222]図10は、本開示の態様による、基準インデックス値をエントロピー復号する例を示したフローチャートである。説明の目的上、概して映像復号器30のコンポーネント(図1及び3)によって行われるとして説明されているが、その他の映像コーディングユニット、プロセッサ、処理ユニット、ハードウェアに基づくコーディングユニット、例えば、符号器/復号器(CODEC)、等、も図12のプロセスを実行するように構成することができることが理解されるべきである。
[0223]映像復号器30は、最初に、符号化されたビットストリームからのコーディングされた構文要素を構文解析することができる(200)。例えば、映像復号器30は、特定の構文解析プロセス(例えば、ウェーブフロント(wavefront)構文解析)により符号化されたビットストリームからのコーディングされた構文要素を読み取ってセグメント化することができる。コーディングされ構文要素は、複数のコーディングされたビン、すなわち、バイナリ値、を含むことができる。
[0224]映像復号器30は、現在復号中のビットストリームの一部分が基準インデックス値であるかどうかも決定することができる(202)。映像復号器30が基準インデックス値を復号中である場合は(ステップ202の“はい”分岐)、映像復号器30は、コンテキスト適応型コーディングを用いて少なくとも1つのビンを復号することができる(206)。さらに、映像復号器30は、バイパスコーディングを用いて(コーディングされるべき追加のビンが存在する例において)少なくとも他のビンを復号することができる(208)。図9に関して上記されるように、映像復号器30は、幾つかの例では、コンテキストコーディングを用いて1つ、2つ、又は3つのビンをコーディングすることができる。コンテキストコーディングされたビンに関して、映像復号器30は、ビンストリング内のビンの相対的位置に基づいてコンテキストを選択することができる。例えば、映像復号器30は、第2のビンに関するコンテキストと異なる第1のビンに関するコンテキストを選択することができる。
[0225]復号されたバイナリ値を生成するためにビンを復号後は、映像復号器30は、復号された構文要素を生成するために復号されたビンストリングをバイナリ化することができる。例えば、映像復号器30は、予め決定されたプロセスを用いて復号されたビンストリングを構文要素にマッピングすることができる。すなわち、幾つかの例では、映像復号器30は、特定のビンが構文要素に関する最終ビンであることを示す表示を受信することができる。構文要素を完了させた時点で、映像復号器30は、バイナリ化テーブルを用いてビンストリングを構文要素にマッピングすることができる。
[0226]幾つかの例では、コーディング中の構文要素が基準インデックス値でない場合は(ステップ202の“いいえ”分岐)、映像復号器30は、構文要素をコーディングするために特定のコーディングモード(例えば、バイパス又はコンテキスト適応型)を選択することができる(210)。映像復号器30は、選択されたモードを用いて構文要素を復号し(212)、復号されたビンストリングをバイナリ化することができる(208)。
[0227]図10に関して示されて説明されるステップは、単なる一例として提供されることも理解されるべきである。すなわち、図10の方法のステップは、必ずしも図10に示される順序で実行される必要はなく、さらに、これよりも少ない、多い、又は代替のステップを実行することができる。
[0228]図11は、本開示の態様による、予測データをエントロピー符号化する例を示したフローチャートである。説明の目的上、概して映像符号器20のコンポーネント(図1及び2)によって行われるとして説明されているが、その他の映像コーディングユニット、プロセッサ、処理ユニット、ハードウェアに基づくコーディングユニット、例えば、符号器/復号器(CODEC)、等も図9のプロセスを実行するように構成することができることが理解されるべきである。
[0229]図11の例では、映像符号器20は、現在コーディング中の1つ以上の構文要素をバイナリ化することができる(220)。例えば、映像符号器20は、1つ以上の基準インデックス、動きベクトル、動きベクトル予測子、動きベクトル予測子インデックス、動きベクトル差分値、等を含む予測データをバイナリ化することができる。
[0230]いずれの場合も、映像符号器20は、コーディング中の構文要素がコンテキストコーディングのためのビン又はバイパスコーディングのためのビンのいずれを含むかを決定することができる(222)。すなわち、映像符号器20は、構文要素のビンがコンテキスト適応型コーディング及びバイパスコーディングの組み合わせを用いてコーディングされるかどうかを決定することができる。コンテキストコーディング及びバイパスコーディングの両方の組み合わせが存在する場合は(ステップ222の“はい”分岐)、映像符号器20は、コンテキストコーディングされたビン及びバイパスコーディングされたビンをグループに分けることができる(224)。例えば、映像符号器20は、コンテキストコーディングされたビンをバイパスコーディングされたビンから分離させることができる。
[0231]映像符号器20は、例えば、コンテキスト適応型コーディングプロセス(例えば、CABAC)を用いてコンテキストコーディングされたビンを符号化することができる(226)。さらに、映像符号器20は、バイパスモードを用いてバイパスコーディングされたビンを符号化することができる(226)。バイパスモードは、ビンをコーディングするためにコンテキスト適応型コーディングエンジンをバイパスし、固定確率を使用することができる。
[0232]コーディング中の構文要素がコンテキストコーディングされたビン及びバイパスコーディングされたビンの両方を含まない場合は(ステップ222の“いいえ”分岐)、映像符号器20は、構文要素をコーディングするために特定のコーディングモード(例えば、バイパス又はコンテキスト適応型)を選択することができる(230)。映像符号器20は、選択されたモードを用いて構文要素を符号化することができる(234)。
[0233]幾つかの例では、図11に関して説明されるビングループ分けは、3つ以上の構文要素に関して行うことができる。例えば、図7に関して上述されるように、PUと関連付けられたすべてのコンテキストコーディングされたビンをグループに分けることができ、従って、PUのコンテキストコーディングされたビンがまとめてコーディングされ、PUのバイパスコーディングされたビンがまとめてコーディングされる。さらに、グループ分けは、CU、LCU、又はスライスレベルで行うことができる。すなわち、幾つかの例では、CU/LCU/スライスに関するすべてのコンテキストコーディングされたビンをグループに分けてまとめてコーディングすることができ、それにより、映像符号器20がコンテキストコーディングとバイパスコーディングとの間で1回の移行を行うのを可能にする。
[0234]図11に関して示されて説明されるステップは、単なる一例として提供されることも理解されるべきである。すなわち、図11の方法のステップは、必ずしも図11に示される順序で実行する必要はなく、さらに、これよりも少ない、多い、又は代替のステップを実行することができる。例えば、図11は、映像符号器20がバイパスコーディングされたビンの前にもコンテキストコーディングされたビンを符号化することを示している一方で、その他の例では、映像符号器20は、コンテキストコーディングされたビンの前にバイパスコーディングされたビンをコーディングすることができる。
[0235]図12は、本開示の態様による、予測データをエントロピー復号する例を示したフローチャートである。説明の目的上、概して映像復号器30のコンポーネント(図1及び3)によって行われるとして説明されているが、その他の映像コーディングユニット、プロセッサ、処理ユニット、ハードウェアに基づくコーディングユニット、例えば、符号器/復号器(CODEC)、等も図12のプロセスを実行するように構成することができることが理解されるべきである。
[0236]図12の例では、映像復号器30は、復号されるべき構文要素(又は要素(複数))を決定することができる。一例では、映像復号器30は、復号のために予測データと関連付けられた構文要素を識別することができる。映像復号器30は、構文要素のビンがコンテキストコーディングされたビン及びバイパスコーディングされたビンを含むかどうかも決定することができる。コンテキストコーディング及びバイパスコーディングの両方の組み合わせが存在する場合は(ステップ242の“はい”分岐)、映像復号器30は、コンテキストコーディングされたビンを復号することができる(244)。映像復号器30は、コンテキストコーディングされたビンとは別個に、バイパスコーディングされたビンを復号することもできる(246)。すなわち、コンテキストコーディングされたビンが復号中のビットストリーム内のバイパスコーディングされたビンと別個にグループ分けされる例では、映像復号器30は、バイパスコーディングされたビンを復号するのとは別個にすべてのコンテキストコーディングされたビンを復号することができる。ビンを復号後は、映像復号器30は、復号された構文要素を形成するために復号されたビンをバイナリ化することができる(248)。例えば、映像復号器30は、バイナリ化テーブル又はその他のバイナリ化プロセスを用いて復号されたビンストリングを構文要素にマッピングすることができる。
[0237]コーディング中の構文要素がコンテキストコーディングされたビン及びバイパスコーディングされたビンの両方を含まない場合は(ステップ242の“いいえ”分岐)、映像復号器30は、構文要素をコーディングするために特定のコーディングモード(例えば、バイパス又はコンテキスト適応型)を選択することができる(250)。次に、映像復号器30は、選択されたモードを用いて符号化されたビンを復号し(252)、復号された構文要素を形成するために復号されたビンストリングをバイナリ化することができる(248)。
[0238]図11に関して上述されるように、幾つかの例では、ビンのグループ分けは、3つ以上の構文要素に関して行うことができる。例えば、グループ分けは、PU、CU、LCU、又はスライスレベルで行うことができる。すなわち、幾つかの例では、PU/CU/LCU/スライスに関するすべてのコンテキストコーディングされたビンをグループ分けしてまとめてコーディングすることができ、それにより、映像復号器30がコンテキストコーディングとバイパスコーディングとの間で単一の移行を行うのを可能にすることができる。
[0239]図12に関して示されて説明されるステップは、単なる一例として提供されることも理解されるべきである。すなわち、図12の方法のステップは、必ずしも図12に示される順序で実行する必要はなく、さらに、これよりも少ない、多い、又は代替のステップを実行することができる。例えば、図12は、映像復号器30がバイパスコーディングされたビンの前にコンテキストコーディングされたビンを復号することを示すが、その他の例では、映像復号器30は、コンテキストコーディングされたビンの前にバイパスコーディングされたビンを復号することができる。
[0240]例に依存して、ここにおいて説明されるいずれかの方法の幾つかの行為又はイベントは、異なったシーケンスで行うことができ、追加すること、結合すること、又はすべて省略することができることも理解されるべきである(例えば、方法の実践のためにすべての説明される行為又はイベントが必要であるわけではない)。さらに、幾つかの例では、行為又はイベントは、順次ではなく、マルチスレッド処理、割り込み処理、又は複数のプロセッサを通じて、同時並行して行うことができる。さらに、本開示の幾つかの態様は、明確化を目的として単一のモジュール又はユニットによって実施されるとして説明されているが、本開示の技法は、映像コーダと関連付けられたユニット又はモジュールの組み合わせによって実行できることが理解されるべきである。
[0241]映像符号器20は、映像符号化プロセスにおいて基準インデックス及びその他の構文要素をコーディングするために本開示のいずれかの又はすべての技法を実装することができる。同様に、映像復号器30は、映像コーディングプロセスにおいて基準インデックス及びその他の構文要素をコーディングするために本開示のいずれかの又はすべての技法を実装することができる。映像コーダは、本開示において説明されるように、映像符号器又は映像復号器を意味することができる。同様に、映像コーディングユニットは、映像符号器又は映像復号器を意味することができる。同様に、映像コーディングは、映像符号化又は映像復号を意味することができる。
[0242]1つ以上の例において、本開示において説明される、映像符号器20、映像復号器30,又はその他の処理ユニットに関する機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において1つ以上の命令又はコードとして格納又は送信すること及びハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な又は非一時的な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルにより、1つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体、に対応することができる。このように、コンピュータによって読み取り可能な媒体は、概して、(1)非一時的である有形なコンピュータによって読み取り可能な記憶媒体又は(2)通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
[0243]一例により、及び制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるRAM、ROM、EEPROM、CD−ROM又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又はその他のいずれかの媒体を備えることができる。さらに、どのような接続も、コンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン(DSL)、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、DSL、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体およびデータ記憶媒体は、コネクション、搬送波、信号、又はその他の遷移媒体は含まず、代わりに、非一時的な、有形の記憶媒体を対象とすることが理解されるべきである。ここにおいて用いられるときのディスク(disk及びdisc)は、コンパクトディスク(CD)(disc)と、レーザディスク(disc)と、光ディスク(disc)と、デジタルバーサタイルディスク(DVD)(disc)と、フロッピー(登録商標)ディスク(disk)と、Blu−rayディスク(disc)と、を含み、ここで、diskは、通常は磁気的にデータを複製し、discは、レーザを用いて光学的にデータを複製する。上記の組み合わせも、コンピュータによって読み取り可能な媒体の適用範囲内に含められるべきである。
[0244]命令は、1つ以上のプロセッサ、例えば、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又はその他の同等の集積又はディスクリート論理回路によって実行することができる。映像符号器20又は映像復号器30は、本開示において説明される機能を実行するように構成された様々な該1つ以上のプロセッサのうちのいずれかを含むことができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化および復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内において提供されること、又は組み合わされたコーデック内に組み入れることができる。さらに、技法は、1つ以上の回路又は論理素子内に完全に実装することが可能である。
[0245]本開示の技法は、無線ハンドセット、集積回路(IC)又は一組のIC(例えば、チップセット)を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び/又はファームウェアと関係させて、コーデックハードウェアユニット内において結合させること又は上述されるように1つ以上のプロセッサを含む相互運用的なハードウェアユニットの集合によって提供することができる。
[0246] 様々な例が説明されている。これらの及びその他の例は、以下の請求項の範囲内である。

Claims (91)

  1. 映像符号化プロセスにおいて基準インデックス構文要素を符号化するための方法であって、
    基準インデックス値をバイナリ化することと、
    コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのコンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化することと、
    前記バイナリ化された基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも1つのビンよりも多いビンを備えるときに、前記CABACプロセスのバイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化することと、を備える、方法。
  2. 前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化することは、
    第1のコンテキスト(ctx0)を用いて前記バイナリ化された基準インデックス値の第1のビン(ビン0)を符号化することと、
    第2のコンテキスト(ctx1)を用いて前記バイナリ化された基準インデックス値の第2のビン(ビン1)を符号化することと、を備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化することは、
    前記バイパスコーディングモードを用いて第3のビン(ビン2)及び前記第3のビン(ビン2)後のすべての残りのビンを符号化することを備える請求項1に記載の方法。
  3. 前記基準インデックス値をバイナリ化することは、結合された打ち切りユナリ及び指数Golombコードを用いて前記基準インデックス値をバイナリ化することを備える請求項2に記載の方法。
  4. 前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化することは、ユナリ、打ち切りユナリ、Golomb、指数Golomb、又はGolomb−Riceコーディングプロセスのうちの少なくとも1つを用いて前記少なくとも他のビンを符号化することを備える請求項1に記載の方法。
  5. 前記第1の基準インデックスと関連付けられた第1の動きベクトル差分値の成分及び第2の基準インデックスと関連付けられた第2の動きベクトル差分値の成分をバイナリ化することと、
    前記コンテキストコーディングモードを用いて第1の動きベクトル差分値の前記成分の第1の部分及び前記第2の動きベクトル差分値の前記成分の第1の部分を符号化することと、
    前記バイパスコーディングモードを用いて前記第1の動きベクトル差分値の前記成分の第2の部分及び前記第2の動きベクトル差分値の前記成分の第2の部分を符号化することと、をさらに備える請求項1に記載の方法。
  6. 前記第1の動きベクトル差分値の前記成分の前記第1の部分及び前記第2の動きベクトル差分値の前記成分の前記第1の部分を前記コンテキストコーディングモードでのコーディングのために第1のグループに分けることと、
    前記第1の動きベクトル差分値の前記成分の前記第2の部分及び前記第2の動きベクトル差分値の成分の前記第2の部分を前記バイパスコーディングモードでのコーディングのために第2のグループに分けることと、をさらに備える請求項5に記載の方法。
  7. 前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化することは、
    第1のコンテキスト(ctx0)を用いて前記バイナリ化された基準インデックス値の第1のビン(ビン0)を符号化することと、
    第2のコンテキスト(ctx1)を用いて前記バイナリ化された基準インデックス値の第2のビン(ビン1)を符号化することと、
    第3のコンテキスト(ctx0)を用いて前記バイナリ化された基準インデックス値の第3のビン(ビン2)を符号化することと、を備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化することは、
    前記バイパスコーディングモードを用いて前記第3のビン(ビン2)の後のすべての残りのビンを符号化することを備える請求項1に記載の方法。
  8. 前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化することは、
    第1のコンテキスト(ctx0)を用いて前記バイナリ化された基準インデックス値の第1のビン(ビン0)を符号化することを備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化することは、
    前記バイパスコーディングモードを用いて前記第1のビン(ビン0)の後のすべての残りのビンを符号化することを備える請求項1に記載の方法。
  9. 前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングすることを備え、
    前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも1つのビンを符号化することは、
    前記コーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも1つのビンを符号化することを備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化することは、
    前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを符号化することを備える請求項1に記載の方法。
  10. 前記基準インデックス値をユナリコーディングすることは、前記基準インデックス値を打ち切りユナリコーディングすることを備える請求項9に記載の方法。
  11. 前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングすることと、指数−Golombコーディングすることと、を備え、
    前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも1つのビンを符号化することは、
    前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを符号化することを備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化することは、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックス値の指数−Golombコーディングされた部分の少なくとも他のビンを符号化することを備える請求項1に記載の方法。
  12. 前記基準インデックス値の前記指数−Golombコーディングされた部分を符号化する前に前記基準インデックス値の前記指数−Golombコーディングされた部分を打ち切ることをさらに備える請求項11に記載の方法。
  13. 前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングすることと、固定長コーディングすることと、を備え、
    前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも1つのビンを符号化することは、前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを符号化することを備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化することは、前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックスの固定長コーディングされた部分の少なくとも他のビンを符号化することを備える請求項1に記載の方法。
  14. 前記基準インデックス値の前記固定長コーディングされた部分をコーディングする前に前記基準インデックス値の前記固定長コーディングされた部分を打ち切ることをさらに備える請求項13に記載の方法。
  15. 前記コンテキストコーディングモードを用いて符号化することは、前記バイナリ化された基準インデックスの前記少なくとも1つのビンをコーディングするための1つ以上の確率モデルを選択することと、前記選択された1つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも1つのビンを符号化することと、備え、
    前記バイパスコーディングモードを用いて符号化することは、固定された確率を決定することと、前記固定された確率を用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化することと、を備える請求項1に記載の方法。
  16. 映像符号化プロセスにおいて基準インデックス構文要素を符号化するための装置であって、
    基準インデックス値をバイナリ化し、
    コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのコンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化し、及び
    前記バイナリ化された基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも1つのビンよりも多いビンを備えるときに、前記CABACプロセスのバイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するための1つ以上のプロセッサを備える、装置。
  17. 前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化するために、前記1つ以上のプロセッサは、
    第1のコンテキスト(ctx0)を用いて前記バイナリ化された基準インデックス値の第1のビン(ビン0)を符号化し、
    第2のコンテキスト(ctx1)を用いて前記バイナリ化された基準インデックス値の第2のビン(ビン1)を符号化するように構成され、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するために、前記1つ以上のプロセッサは、前記バイパスコーディングモードを用いて第3のビン(ビン2)及び前記第3のビン(ビン2)後のすべての残りのビンを符号化するように構成される請求項16に記載の装置。
  18. 前記基準インデックス値をバイナリ化するために、前記1つ以上のプロセッサは、結合された打ち切りユナリ及び指数Golombコードを用いて前記基準インデックス値をバイナリ化するように構成される請求項17に記載の装置。
  19. 前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するために、前記1つ以上のプロセッサは、ユナリ、打ち切りユナリ、Golomb、指数Golomb、又はGolomb−Riceコーディングプロセスのうちの少なくとも1つを用いて前記少なくとも他のビンを符号化するように構成される請求項16に記載の装置。
  20. 前記1つ以上のプロセッサは、
    前記第1の基準インデックスと関連付けられた第1の動きベクトル差分値の成分及び第2の基準インデックスと関連付けられた第2の動きベクトル差分値の成分をバイナリ化し、
    前記コンテキストコーディングモードを用いて第1の動きベクトル差分値の前記成分の第1の部分及び前記第2の動きベクトル差分値の前記成分の第1の部分を符号化し、及び
    前記バイパスコーディングモードを用いて前記第1の動きベクトル差分値の前記成分の第2の部分及び前記第2の動きベクトル差分値の前記成分の第2の部分を符号化するようにさらに構成される請求項16に記載の装置。
  21. 前記1つ以上のプロセッサは、
    前記第1の動きベクトル差分値の前記成分の前記第1の部分及び前記第2の動きベクトル差分値の前記成分の前記第1の部分を前記コンテキストコーディングモードでのコーディングのために第1のグループに分け、及び
    前記第1の動きベクトル差分値の前記成分の前記第2の部分及び前記第2の動きベクトル差分値の成分の前記第2の部分を前記バイパスコーディングモードでのコーディングのために第2のグループに分けるようにさらに構成される請求項20に記載の装置。
  22. 前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化するために、前記1つ以上のプロセッサは、
    第1のコンテキスト(ctx0)を用いて前記バイナリ化された基準インデックス値の第1のビン(ビン0)を符号化し、
    第2のコンテキスト(ctx1)を用いて前記バイナリ化された基準インデックス値の第2のビン(ビン1)を符号化し、及び
    第3のコンテキスト(ctx2)を用いて前記バイナリ化された基準インデックス値の第3のビン(ビン2)を符号化するように構成され、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するために、前記1つ以上のプロセッサは、
    前記バイパスコーディングモードを用いて前記第3のビン(ビン2)の後のすべての残りのビンを符号化するように構成される請求項16に記載の装置。
  23. 前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化するために、前記1つ以上のプロセッサは、
    第1のコンテキスト(ctx0)を用いて前記バイナリ化された基準インデックス値の第1のビン(ビン0)を符号化するように構成され、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するために、前記1つ以上のプロセッサは、
    前記バイパスコーディングモードを用いて前記第1のビン(ビン0)の後のすべての残りのビンを符号化するように構成される請求項16に記載の装置。
  24. 前記基準インデックス値をバイナリ化するために、前記1つ以上のプロセッサは、前記基準インデックス値をユナリコーディングするように構成され、
    前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも1つのビンを符号化するために、前記1つ以上のプロセッサは、
    前記コーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも1つのビンを符号化するように構成され、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するために、前記1つ以上のプロセッサは、
    前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを符号化するように構成される請求項16に記載の装置。
  25. 前記基準インデックス値をユナリコーディングするために、前記1つ以上のプロセッサは、前記基準インデックス値を打ち切りユナリコーディングするように構成される請求項24に記載の装置。
  26. 前記基準インデックス値をバイナリ化するために、前記1つ以上のプロセッサは、前記基準インデックス値をユナリコーディングし及び指数−Golombコーディングするように構成され、
    前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値のうちの前記少なくとも1つを符号化するために、前記1つ以上のプロセッサは、
    前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを符号化するように構成され、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するために、前記1つ以上のプロセッサは、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックス値の指数−Golombコーディングされた部分の少なくとも他のビンを符号化するように構成される請求項16に記載の装置。
  27. 前記1つ以上のプロセッサは、前記基準インデックス値の前記指数−Golombコーディングされた部分を符号化する前に前記基準インデックス値の前記指数−Golombコーディングされた部分を打ち切るようにさらに構成される請求項26に記載の装置。
  28. 前記基準インデックス値をバイナリ化するために、前記1つ以上のプロセッサは、前記基準インデックス値をユナリコーディングし及び固定長コーディングするように構成され、
    前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックスの前記少なくとも1つのビンを符号化するために、前記1つ以上のプロセッサは、前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを符号化するように構成され、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックスの前記少なくとも他のビンを符号化するために、前記1つ以上のプロセッサは、前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックスの固定長コーディングされた部分の少なくとも他のビンを符号化するように構成される請求項16に記載の装置。
  29. 前記1つ以上のプロセッサは、前記基準インデックス値の固定長コーディングされた部分をコーディングする前に前記基準インデックス値の前記固定長コーディングされた部分を打ち切るようにさらに構成される請求項28に記載の装置。
  30. 前記コンテキストコーディングモードを用いて符号化するために、前記1つ以上のプロセッサは、前記バイナリ化された基準インデックスの前記少なくとも1つのビンをコーディングするための1つ以上の確率モデルを選択し及び前記選択された1つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも1つのビンを符号化するように構成され、
    前記バイパスコーディングモードを用いて符号化するために、前記1つ以上のプロセッサは、固定された確率を決定し及び前記固定された確率を用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するように構成される請求項16に記載の装置。
  31. 映像符号化プロセスにおいて基準インデックス構文要素を符号化するための装置であって、
    基準インデックス値をバイナリ化するための手段と、
    コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのコンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化するための手段と、
    前記バイナリ化された基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも1つのビンよりも多いビンを備えるときに、前記CABACプロセスのバイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するための手段と、を備える、装置。
  32. 前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化するための前記手段は、
    第1のコンテキスト(ctx0)を用いて前記バイナリ化された基準インデックス値の第1のビン(ビン0)を符号化するための手段と、
    第2のコンテキスト(ctx1)を用いて前記バイナリ化された基準インデックス値の第2のビン(ビン1)を符号化するための手段と、を備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するための前記手段は、
    前記バイパスコーディングモードを用いて第3のビン(ビン2)及び前記第3のビン(ビン2)後のすべての残りのビンを符号化するための手段を備える請求項31に記載の装置。
  33. 前記基準インデックス値をバイナリ化するための前記手段は、結合された打ち切りユナリ及び指数Golombコードを用いて前記基準インデックス値をバイナリ化するための手段を備える請求項32に記載の装置。
  34. 前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するための前記手段は、ユナリ、打ち切りユナリ、Golomb、指数Golomb、又はGolomb−Riceコーディングプロセスのうちの少なくとも1つを用いて前記少なくとも他のビンを符号化するための手段を備える請求項31に記載の装置。
  35. 前記第1の基準インデックスと関連付けられた第1の動きベクトル差分値の成分及び第2の基準インデックスと関連付けられた第2の動きベクトル差分値の成分をバイナリ化するための手段と、
    前記コンテキストコーディングモードを用いて第1の動きベクトル差分値の前記成分の第1の部分及び前記第2の動きベクトル差分値の前記成分の第1の部分を符号化するための手段と、
    前記バイパスコーディングモードを用いて前記第1の動きベクトル差分値の前記成分の第2の部分及び前記第2の動きベクトル差分値の前記成分の第2の部分を符号化するための手段と、をさらに備える請求項31に記載の装置。
  36. 前記第1の動きベクトル差分値の前記成分の前記第1の部分及び前記第2の動きベクトル差分値の前記成分の前記第1の部分を前記コンテキストコーディングモードでのコーディングのために第1のグループに分けるための手段と、
    第1の動きベクトル差分値の前記成分の前記第2の部分及び前記第2の動きベクトル差分値の成分の前記第2の部分を前記バイパスコーディングモードでのコーディングのために第2のグループに分けるための手段と、をさらに備える請求項35に記載の装置。
  37. 前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化するための前記手段は、
    第1のコンテキスト(ctx0)を用いて前記バイナリ化された基準インデックス値の第1のビン(ビン0)を符号化するための手段と、
    第2のコンテキスト(ctx1)を用いて前記バイナリ化された基準インデックス値の第2のビン(ビン1)を符号化するための手段と、
    第3のコンテキスト(ctx2)を用いて前記バイナリ化された基準インデックス値の第3のビン(ビン2)を符号化するための手段と、を備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するため前記手段は、
    前記バイパスコーディングモードを用いて前記第3のビン(ビン2)の後のすべての残りのビンを符号化するための手段を備える請求項31に記載の装置。
  38. 前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも1つのビンを符号化するための前記手段は、
    第1のコンテキスト(ctx0)を用いて前記バイナリ化された基準インデックス値の第1のビン(ビン0)を符号化するための手段を備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の少なくとも他のビンを符号化するための前記手段は、
    前記バイパスコーディングモードを用いて前記第1のビン(ビン0)の後のすべての残りのビンを符号化するための手段を備える請求項31に記載の装置。
  39. 前記基準インデックス値をバイナリ化するための前記手段は、前記基準インデックス値をユナリコーディングするための手段を備え、
    前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも1つのビンを符号化するための前記手段は、
    前記コーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも1つのビンを符号化するための手段を備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するための前記手段は、
    前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを符号化するための手段を備える請求項31に記載の装置。
  40. 前記基準インデックス値をユナリコーディングするための前記手段は、前記基準インデックス値を打ち切りユナリコーディングするための手段を備える請求項39に記載の装置。
  41. 前記基準インデックス値をバイナリ化するための前記手段は、前記基準インデックス値をユナリコーディングし及び指数−Golombコーディングするための手段を備え、
    前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックス値のうちの前記少なくとも1つのビンを符号化するための前記手段は、
    前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを符号化するための手段を備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するための前記手段は、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックス値の指数−Golombコーディングされた部分の少なくとも他のビンを符号化するための手段を備える請求項31に記載の装置。
  42. 前記基準インデックス値の前記指数−Golombコーディングされた部分を符号化する前に前記基準インデックス値の前記指数−Golombコーディングされた部分を打ち切るための手段をさらに備える請求項41に記載の装置。
  43. 前記基準インデックス値をバイナリ化するための前記手段は、前記基準インデックス値をユナリコーディングし及び固定長コーディングするための手段を備え、
    前記コンテキストコーディングモードを用いて前記バイナリ化された基準インデックスの前記少なくとも1つのビンを符号化するための前記手段は、前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを符号化するための手段を備え、
    前記バイパスコーディングモードを用いて前記バイナリ化された基準インデックスの前記少なくとも他のビンを符号化するための前記手段は、前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックスの固定長コーディングされた部分の少なくとも他のビンを符号化するための手段を備える請求項31に記載の装置。
  44. 前記基準インデックス値の前記固定長コーディングされた部分をコーディングする前に基準インデックス値の前記固定長コーディングされた部分を打ち切るための手段をさらに備える請求項43に記載の装置。
  45. 前記コンテキストコーディングモードを用いて符号化するための手段は、前記バイナリ化された基準インデックスの前記少なくとも1つのビンをコーディングするための1つ以上の確率モデルを選択するための手段と、前記選択された1つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも1つのビンを符号化するための手段と、備え、
    前記バイパスコーディングモードを用いて符号化するための手段は、固定された確率を決定するための手段と、前記固定された確率を用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを符号化するための手段と、を備える請求項31に記載の装置。
  46. 映像復号プロセスにおいて基準インデックス構文要素を復号するための方法であって、
    コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも1つのビンを復号することと、
    前記基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも1つのビンよりも多いビンを備えるときに、前記CABACプロセスのバイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号することと、
    前記基準インデックス値をバイナリ化することと、を備える、方法。
  47. 前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも1つのビンを復号することは、
    第1のコンテキスト(ctx0)を用いて前記基準インデックス値の第1のビン(ビン0)を復号することと、
    第2のコンテキスト(ctx1)を用いて前記基準インデックス値の第2のビン(ビン1)を復号することと、を備え、
    前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号することは、
    前記バイパスコーディングモードを用いて第3のビン(ビン2)及び前記第3のビン(ビン2)後のすべての残りのビンを復号することを備える請求項46に記載の方法。
  48. 前記基準インデックス値をバイナリ化することは、結合された打ち切りユナリ及び指数Golombコードを用いて前記基準インデックス値をバイナリ化することを備える請求項47に記載の方法。
  49. 前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号することは、ユナリ、打ち切りユナリ、Golomb、指数Golomb、又はGolomb−Riceコーディングプロセスのうちの少なくとも1つを用いて前記少なくとも他のビンを復号することを備える請求項46に記載の方法。
  50. 前記コンテキストコーディングモードを用いて第1の動きベクトル差分値の成分の第1の部分及び第2の動きベクトル差分値の成分の第1の部分を復号することと、
    前記バイパスコーディングモードを用いて前記第1の動きベクトル差分値の前記成分の第2の部分及び前記第2の動きベクトル差分値の前記成分の第2の部分を復号することと、
    前記第1の基準インデックスと関連付けられた前記第1の動きベクトル差分値の前記成分及び第2の基準インデックスと関連付けられた前記第2の動きベクトル差分値の前記成分をバイナリ化することと、をさらに備える請求項46に記載の方法。
  51. 前記第1の動きベクトル差分値の前記成分の前記第1の部分及び前記第2の動きベクトル差分値の前記成分の前記第1の部分を前記コンテキストコーディングモードでのコーディングのために第1のグループに分けることと、
    前記第1の動きベクトル差分値の前記成分の前記第2の部分及び前記第2の動きベクトル差分値の成分の前記第2の部分を前記バイパスコーディングモードでのコーディングのために第2のグループに分けることと、をさらに備える請求項50に記載の方法。
  52. 前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも1つのビンを復号することは、
    第1のコンテキスト(ctx0)を用いて前記基準インデックス値の第1のビン(ビン0)を復号することと、
    第2のコンテキスト(ctx1)を用いて前記基準インデックスの第2のビン(ビン1)を復号することと、
    第3のコンテキスト(ctx2)を用いて前記基準インデックスの第3のビン(ビン2)を復号することと、を備え、
    前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号することは、
    前記バイパスコーディングモードを用いて前記第3のビン(ビン2)の後のすべての残りのビンを復号することを備える請求項46に記載の方法。
  53. 前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも1つのビンを復号することは、
    第1のコンテキスト(ctx0)を用いて前記基準インデックス値の第1のビン(ビン0)を復号することを備え、
    前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号することは、
    前記バイパスコーディングモードを用いて前記第1のビン(ビン0)の後のすべての残りのビンを復号することを備える請求項46に記載の方法。
  54. 前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも1つのビンを復号することは、
    前記コンテキストコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも1つのビンを復号することを備え、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号することは、
    前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを復号することを備え、
    前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングすることを備える請求項46に記載の方法。
  55. 前記基準インデックス値をユナリコーディングすることは、前記基準インデックス値を打ち切りユナリコーディングすることを備える請求項54に記載の方法。
  56. 前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも1つのビンを復号することは、
    前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを復号することを備え、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号することは、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックス値の指数−Golombコーディングされた部分の少なくとも他のビンを復号することを備え、
    前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングことと、指数−Golombコーディングすることと、を備える請求項46に記載の方法。
  57. 前記基準インデックス値の前記指数−Golombコーディングされた部分を復号する前に前記基準インデックス値の前記指数−Golombコーディングされた部分を打ち切ることをさらに備える請求項56に記載の方法。
  58. 前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも1つのビンを復号することは、前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを復号することを備え、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号することは、前記バイパスコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分及び前記基準インデックス値の固定長コーディングされた部分の少なくとも他のビンを復号することを備え、
    前記基準インデックス値をバイナリ化することは、前記基準インデックス値をユナリコーディングすることと、固定長コーディングすることと、を備える請求項46に記載の方法。
  59. 前記基準インデックス値の固定長コーディングされた部分をコーディングする前に前記基準インデックス値の前記固定長コーディングされた部分を打ち切ることをさらに備える請求項58に記載の方法。
  60. 前記コンテキストコーディングモードを用いて復号することは、前記バイナリ化された基準インデックスの前記少なくとも1つのビンをコーディングするための1つ以上の確率モデルを選択することと、前記選択された1つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも1つのビンを復号することと、を備え、
    前記バイパスコーディングモードを用いて復号することは、固定された確率を決定することと、前記固定された確率を用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを復号することと、を備える請求項46に記載の方法。
  61. 映像復号プロセスにおいて基準インデックス構文要素を復号するための装置であって、
    コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも1つのビンを復号し、
    前記基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも1つのビンよりも多いビンを備えるときに、前記CABACプロセスのバイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号し、及び
    前記基準インデックス値をバイナリ化するように構成された1つ以上のプロセッサ、を備える、装置
  62. 前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも1つのビンを復号するために、前記1つ以上のプロセッサは、
    第1のコンテキスト(ctx0)を用いて前記基準インデックス値の第1のビン(ビン0)を復号し、
    第2のコンテキスト(ctx1)を用いて前記基準インデックス値の第2のビン(ビン1)を復号するように構成され、
    前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記1つ以上のプロセッサは、
    前記バイパスコーディングモードを用いて第3のビン(ビン2)及び前記第3のビン(ビン2)後のすべての残りのビンを復号するように構成される請求項61に記載の装置。
  63. 前記基準インデックス値をバイナリ化するために、前記1つ以上のプロセッサは、結合された打ち切りユナリ及び指数Golombコードを用いて前記基準インデックス値をバイナリ化するように構成される請求項62に記載の装置。
  64. 前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記1つ以上のプロセッサは、ユナリ、打ち切りユナリ、Golomb、指数Golomb、又はGolomb−Riceコーディングプロセスのうちの少なくとも1つを用いて前記少なくとも他のビンを復号するように構成される請求項61に記載の装置。
  65. 前記1つ以上のプロセッサは、
    前記コンテキストコーディングモードを用いて第1の動きベクトル差分値の成分の第1の部分及び第2の動きベクトル差分値の成分の第1の部分を復号し、
    前記バイパスコーディングモードを用いて前記第1の動きベクトル差分値の前記成分の第2の部分及び前記第2の動きベクトル差分値の前記成分の第2の部分を復号し、及び
    前記第1の基準インデックスと関連付けられた前記第1の動きベクトル差分値の前記成分及び第2の基準インデックスと関連付けられた前記第2の動きベクトル差分値の前記成分をバイナリ化するようにさらに構成される請求項61に記載の装置。
  66. 前記1つ以上のプロセッサは、
    前記第1の動きベクトル差分値の前記成分の前記第1の部分及び前記第2の動きベクトル差分値の前記成分の前記第1の部分を前記コンテキストコーディングモードでのコーディングのために第1のグループに分け、及び
    前記第1の動きベクトル差分値の前記成分の前記第2の部分及び前記第2の動きベクトル差分値の成分の前記第2の部分を前記バイパスコーディングモードでのコーディングのために第2のグループに分けるようにさらに構成される請求項65に記載の装置。
  67. 前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも1つのビンを復号するために、前記1つ以上のプロセッサは、
    第1のコンテキスト(ctx0)を用いて前記基準インデックス値の第1のビン(ビン0)を復号し、
    第2のコンテキスト(ctx1)を用いて前記基準インデックス値の第2のビン(ビン1)を復号し、
    第3のコンテキスト(ctx0)を用いて前記基準インデックス値の第3のビン(ビン2)を復号するように構成され、
    前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記1つ以上のプロセッサは、
    前記バイパスコーディングモードを用いて前記第3のビン(ビン2)の後のすべての残りのビンを復号するように構成される請求項61に記載の装置。
  68. 前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも1つのビンを復号するために、前記1つ以上のプロセッサは、
    第1のコンテキスト(ctx0)を用いて前記基準インデックス値の第1のビン(ビン0)を復号するように構成され、
    前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記1つ以上のプロセッサは、
    前記バイパスコーディングモードを用いて前記第1のビン(ビン0)の後のすべての残りのビンを復号するように構成される請求項61に記載の装置。
  69. 前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも1つのビンを復号するために、前記1つ以上のプロセッサは、
    前記コーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも1つのビンを復号するように構成され、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記1つ以上のプロセッサは、
    前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを復号するように構成され、
    前記基準インデックス値をバイナリ化するために、前記1つ以上のプロセッサは、前記基準インデックス値をユナリコーディングするように構成される請求項61に記載の装置。
  70. 前記基準インデックス値をユナリコーディングするために、前記1つ以上のプロセッサは、前記基準インデックス値を打ち切りユナリコーディングするように構成される請求項69に記載の装置。
  71. 前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも1つのビンを復号するために、前記1つ以上のプロセッサは、
    前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを復号するように構成され、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記1つ以上のプロセッサは、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記ユナリコーディングされた部分及び前記基準インデックス値の指数−Golombコーディングされた部分の少なくとも他のビンを復号するように構成され、
    前記基準インデックス値をバイナリ化するために、前記1つ以上のプロセッサは、前記基準インデックス値をユナリコーディングし及び指数−Golombコーディングするように構成される請求項61に記載の装置。
  72. 前記1つ以上のプロセッサは、前記基準インデックス値の前記指数−Golombコーディングされた部分を復号する前に前記基準インデックス値の前記指数−Golombコーディングされた部分を打ち切るようにさらに構成される請求項71に記載の装置。
  73. 前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも1つのビンを復号するために、前記1つ以上のプロセッサは、前記コンテキストコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを復号するように構成され、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記1つ以上のプロセッサは、前記バイパスコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分及び前記基準インデックス値の固定長コーディングされた部分の少なくとも他のビンを復号するように構成され、
    前記基準インデックス値をバイナリ化するために、前記1つ以上のプロセッサは、前記基準インデックス値をユナリコーディングし及び固定長コーディングするように構成される請求項61に記載の装置。
  74. 前記1つ以上のプロセッサは、前記基準インデックス値の前記固定長コーディングされた部分をコーディングする前に前記基準インデックス値の前記固定長コーディングされた部分を打ち切るようにさらに構成される請求項73に記載の装置。
  75. 前記コンテキストコーディングモードを用いて復号するために、前記1つ以上のプロセッサは、前記バイナリ化された基準インデックスの前記少なくとも1つのビンをコーディングするための1つ以上の確率モデルを選択し及び前記選択された1つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも1つのビンを復号するように構成され、
    前記バイパスコーディングモードを用いて復号するために、前記1つ以上のプロセッサは、固定された確率を決定し及び前記固定された確率を用いて前記バイナリ化された基準インデックス値の前記少なくとも他のビンを復号するように構成される請求項61に記載の装置。
  76. 非一時的なコンピュータによって読み取り可能な媒体であって、
    実行されたときに、
    コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスのコンテキストコーディングモードを用いて基準インデックス値の少なくとも1つのビンを復号し、
    前記基準インデックス値が前記コンテキストコーディングされたモードを用いてコーディングされた前記少なくとも1つのビンよりも多いビンを備えるときに、前記CABACプロセスのバイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号し、及び
    前記基準インデックス値をバイナリ化することを1つ以上のプロセッサに行わせる命令を格納している、非一時的なコンピュータによって読み取り可能な媒体。
  77. 前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも1つのビンを復号するために、前記命令は、
    第1のコンテキスト(ctx0)を用いて前記基準インデックス値の第1のビン(ビン0)を復号し、
    第2のコンテキスト(ctx1)を用いて前記基準インデックス値の第2のビン(ビン1)を復号することを前記1つ以上のプロセッサに行わせ、
    前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記命令は、
    前記バイパスコーディングモードを用いて第3のビン(ビン2)及び前記第3のビン(ビン2)後のすべての残りのビンを復号することを前記1つ以上のプロセッサに行わせる請求項76に記載のコンピュータによって読み取り可能な媒体。
  78. 前記基準インデックス値をバイナリ化するために、前記命令は、結合された打ち切りユナリ及び指数Golombコードを用いて前記基準インデックス値をバイナリ化することを前記1つ以上のプロセッサに行わせる請求項77に記載のコンピュータによって読み取り可能な媒体。
  79. 前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記命令は、ユナリ、打ち切りユナリ、Golomb、指数Golomb、又はGolomb−Riceコーディングプロセスのうちの少なくとも1つを用いて前記少なくとも他のビンを復号することを前記1つ以上のプロセッサに行わせる請求項76に記載のコンピュータによって読み取り可能な媒体。
  80. 前記コンテキストコーディングモードを用いて第1の動きベクトル差分値の成分の第1の部分及び第2の動きベクトル差分値の成分の第1の部分を復号し、
    前記バイパスコーディングモードを用いて前記第1の動きベクトル差分値の前記成分の第2の部分及び前記第2の動きベクトル差分値の前記成分の第2の部分を復号し、及び
    前記第1の基準インデックスと関連付けられた前記第1の動きベクトル差分値の前記成分及び第2の基準インデックスと関連付けられた前記第2の動きベクトル差分値の前記成分をバイナリ化することを前記1つ以上のプロセッサに行わせる命令をさらに備える請求項76に記載のコンピュータによって読み取り可能な媒体。
  81. 前記第1の動きベクトル差分値の前記成分の前記第1の部分及び前記第2の動きベクトル差分値の前記成分の前記第1の部分を前記コンテキストコーディングモードでのコーディングのために第1のグループに分け、及び
    前記第1の動きベクトル差分値の前記成分の前記第2の部分及び前記第2の動きベクトル差分値の成分の前記第2の部分を前記バイパスコーディングモードでのコーディングのために第2のグループに分けることを前記1つ以上のプロセッサに行わせる命令をさらに備える請求項80に記載のコンピュータによって読み取り可能な媒体。
  82. 前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも1つのビンを復号するために、前記命令は、
    第1のコンテキスト(ctx0)を用いて前記基準インデックス値の第1のビン(ビン0)を復号し、
    第2のコンテキスト(ctx1)を用いて前記基準インデックス値の第2のビン(ビン1)を復号し、
    第3のコンテキスト(ctx2)を用いて前記バイナリ化された基準インデックス値の第3のビン(ビン2)を復号することを前記1つ以上のプロセッサに行わせ、
    前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記命令は、
    前記バイパスコーディングモードを用いて前記第3のビン(ビン2)の後のすべての残りのビンを符号化することを前記1つ以上のプロセッサに行わせる請求項76に記載のコンピュータによって読み取り可能な媒体。
  83. 前記コンテキストコーディングモードを用いて前記基準インデックス値の少なくとも1つのビンを復号するために、前記命令は、
    第1のコンテキスト(ctx0)を用いて前記基準インデックス値の第1のビン(ビン0)を復号することを前記1つ以上のプロセッサに行わせ、
    前記バイパスコーディングモードを用いて前記基準インデックス値の少なくとも他のビンを復号するために、前記命令は、
    前記バイパスコーディングモードを用いて前記第1のビン(ビン0)の後のすべての残りのビンを復号することを前記1つ以上のプロセッサに行わせる請求項76に記載のコンピュータによって読み取り可能な媒体。
  84. 前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも1つのビンを復号するために、前記命令は、
    前記コンテキストコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも1つのビンを復号することを前記1つ以上のプロセッサに行わせ、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記命令は、
    前記バイパスコーディングモードを用いて前記ユナリコーディングされた基準インデックス値の少なくとも他のビンを復号することを前記1つ以上のプロセッサに行わせ、
    前記基準インデックス値をバイナリ化するために、前記命令は、前記基準インデックス値をユナリコーディングすることを前記1つ以上のプロセッサに行わせる請求項76に記載のコンピュータによって読み取り可能な媒体。
  85. 前記基準インデックス値をユナリコーディングするために、前記命令は、前記基準インデックス値を打ち切りユナリコーディングすることを前記1つ以上のプロセッサに行わせる請求項84に記載のコンピュータによって読み取り可能な媒体。
  86. 前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも1つのビンを復号するために、前記命令は、
    前記コンテンツコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを復号することを前記1つ以上のプロセッサに行わせ、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記命令は、
    前記バイパスコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分及び前記基準インデックス値の指数−Golombコーディングされた部分の少なくとも他のビンを復号することを前記1つ以上のプロセッサに行わせ、
    前記基準インデックス値をバイナリ化するために、前記命令は、前記基準インデックス値をユナリコーディングすること及び指数−Golombコーディングすることを前記1つ以上のプロセッサに行わせる請求項76に記載のコンピュータによって読み取り可能な媒体。
  87. 前記基準インデックス値の前記指数−Golombコーディングされた部分を復号する前に前記基準インデックス値の前記指数−Golombコーディングされた部分を打ち切ることを前記1つ以上のプロセッサに行わせる命令をさらに備える請求項86に記載のコンピュータによって読み取り可能な媒体。
  88. 前記コンテキストコーディングモードを用いて前記基準インデックス値の前記少なくとも1つのビンを復号するために、前記命令は、
    前記コンテンツコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分の少なくとも1つのビンを復号することを前記1つ以上のプロセッサに行わせ、
    前記バイパスコーディングモードを用いて前記基準インデックス値の前記少なくとも他のビンを復号するために、前記命令は、前記バイパスコーディングモードを用いて前記基準インデックス値のユナリコーディングされた部分及び前記基準インデックス値の固定長コーディングされた部分の少なくとも他のビンを復号することを前記1つ以上のプロセッサに行わせ、
    前記基準インデックス値をバイナリ化するために、前記命令は、前記基準インデックス値をユナリコーディングすること及び固定長コーディングすることを前記1つ以上のプロセッサに行わせる請求項76に記載のコンピュータによって読み取り可能な媒体。
  89. 前記基準インデックス値の前記固定長コーディングされた部分をコーディングする前に前記基準インデックス値の前記固定長コーディングされた部分を打ち切ることを前記1つ以上のプロセッサに行わせる命令をさらに備える請求項88に記載のコンピュータによって読み取り可能な媒体。
  90. 前記コンテキストコーディングモードを用いて復号するために、前記命令は、前記バイナリ化された基準インデックスの前記少なくとも1つのビンをコーディングするための1つ以上の確率モデルを選択すること及び前記選択された1つ以上の確率モデルを用いて前記バイナリ化された基準インデックスの前記少なくとも1つのビンを復号することを前記1つ以上のプロセッサに行わせ、
    前記バイパスコーディングモードを用いて復号するために、前記命令は、固定された確率を決定すること及び前記固定された確率を用いて前記バイナリ化された基準インデックスの前記少なくとも他のビンを復号することを前記1つ以上のプロセッサに行わせる請求項76に記載のコンピュータによって読み取り可能な媒体。
  91. 前記CABACプロセスのコンテキストコーディングモードを用いてインター予測方向構文要素の第1のビンを復号し、及び
    前記CABACプロセスのバイパスコーディングモードを用いて前記インター予測方向構文要素の第2のビンを復号することを前記1つ以上のプロセッサに行わせる命令をさらに備える請求項76に記載のコンピュータによって読み取り可能な媒体。
JP2015505786A 2012-04-11 2013-04-02 映像コーディングにおける基準インデックスコーディングのためのバイパスビン Active JP6215304B2 (ja)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201261623043P 2012-04-11 2012-04-11
US61/623,043 2012-04-11
US201261637218P 2012-04-23 2012-04-23
US61/637,218 2012-04-23
US201261640568P 2012-04-30 2012-04-30
US61/640,568 2012-04-30
US201261647422P 2012-05-15 2012-05-15
US61/647,422 2012-05-15
US201261665151P 2012-06-27 2012-06-27
US61/665,151 2012-06-27
US13/828,173 US9264706B2 (en) 2012-04-11 2013-03-14 Bypass bins for reference index coding in video coding
US13/828,173 2013-03-14
PCT/US2013/034968 WO2013154866A1 (en) 2012-04-11 2013-04-02 Bypass bins for reference index coding in video coding

Publications (3)

Publication Number Publication Date
JP2015513290A true JP2015513290A (ja) 2015-04-30
JP2015513290A5 JP2015513290A5 (ja) 2016-06-09
JP6215304B2 JP6215304B2 (ja) 2017-10-18

Family

ID=49325049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015505786A Active JP6215304B2 (ja) 2012-04-11 2013-04-02 映像コーディングにおける基準インデックスコーディングのためのバイパスビン

Country Status (21)

Country Link
US (1) US9264706B2 (ja)
EP (1) EP2837178B1 (ja)
JP (1) JP6215304B2 (ja)
KR (1) KR101706838B1 (ja)
CN (1) CN104205830B (ja)
AU (1) AU2013246275B2 (ja)
BR (1) BR112014025419B1 (ja)
CA (1) CA2867756C (ja)
DK (1) DK2837178T3 (ja)
ES (1) ES2742027T3 (ja)
HK (1) HK1201111A1 (ja)
HU (1) HUE044738T2 (ja)
IL (1) IL234648A (ja)
MY (1) MY171168A (ja)
PH (1) PH12014502204A1 (ja)
RU (1) RU2643655C2 (ja)
SG (1) SG11201405754VA (ja)
TW (1) TWI520619B (ja)
UA (1) UA115142C2 (ja)
WO (1) WO2013154866A1 (ja)
ZA (1) ZA201407859B (ja)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012134246A2 (ko) 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
US9379736B2 (en) * 2011-06-03 2016-06-28 Qualcomm Incorporated Context-adaptive coding video data
EP2723072A4 (en) * 2011-06-17 2014-09-24 Panasonic Ip Corp America VIDEO DECODING DEVICE AND VIDEO DECODING METHOD
US9258565B1 (en) * 2011-06-29 2016-02-09 Freescale Semiconductor, Inc. Context model cache-management in a dual-pipeline CABAC architecture
US9503750B2 (en) * 2011-11-04 2016-11-22 Futurewei Technologies, Inc. Binarization of prediction residuals for lossless video coding
US9584802B2 (en) * 2012-04-13 2017-02-28 Texas Instruments Incorporated Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput
US9621909B2 (en) * 2012-07-02 2017-04-11 Lg Electronics Inc. Method for decoding image and apparatus using same
JP2015526012A (ja) * 2012-07-02 2015-09-07 サムスン エレクトロニクス カンパニー リミテッド ブロックサイズによってインター予測の参照ピクチャリストを決定するビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置
CN111193930B (zh) * 2013-12-16 2021-11-30 浙江大学 一种前向双假设编码图像块的编解码方法和装置
US9900625B2 (en) * 2014-03-17 2018-02-20 Mediatek Inc. Method and apparatus for efficient information coding
US9842115B2 (en) * 2014-05-30 2017-12-12 Apple Inc. Media asset proxies
US9854253B2 (en) * 2014-06-30 2017-12-26 Qualcomm Incorporated Method for motion vector difference (MVD) and intra block copy vector difference (BVD) coding of screen content video data
GB2530312B (en) * 2014-09-19 2016-09-14 Imagination Tech Ltd Data compression
CN111741311B (zh) * 2014-10-31 2024-04-02 三星电子株式会社 用于对运动矢量进行编码/解码的方法和装置
US9942551B2 (en) * 2015-01-30 2018-04-10 Qualcomm Incorporated Palette index grouping for video coding
US10574993B2 (en) * 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US10708164B2 (en) 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
EP3264763A1 (en) * 2016-06-29 2018-01-03 Thomson Licensing Method and apparatus for improved significance flag coding using simple local predictor
WO2018008905A1 (ko) * 2016-07-05 2018-01-11 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10412390B2 (en) 2016-07-12 2019-09-10 Mediatek Inc. Video processing system using low-cost video encoding/decoding architecture
US10827186B2 (en) * 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
KR20180031944A (ko) 2016-09-21 2018-03-29 삼성전자주식회사 비디오 디코더 및 이를 포함하는 전자 시스템
US10264264B2 (en) * 2016-09-24 2019-04-16 Apple Inc. Multi-bin decoding systems and methods
EP3306924A1 (en) 2016-10-05 2018-04-11 Thomson Licensing Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to picture data
TWI604323B (zh) * 2016-11-10 2017-11-01 財團法人工業技術研究院 視訊索引建立方法及應用其之裝置
KR102414164B1 (ko) * 2017-03-31 2022-06-29 한국전자통신연구원 향상된 산술부호화를 제공하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
US10560723B2 (en) 2017-05-08 2020-02-11 Qualcomm Incorporated Context modeling for transform coefficient coding
CN107300909A (zh) * 2017-06-30 2017-10-27 电子科技大学 一种基于mvc框架的无人机地面维护系统及方法
US10506242B2 (en) * 2018-01-30 2019-12-10 Google Llc Efficient context model computation design in transform coefficient coding
US10869060B2 (en) * 2018-01-30 2020-12-15 Google Llc Efficient context model computation design in transform coefficient coding
WO2019196956A1 (zh) * 2018-04-13 2019-10-17 浙江大学 一种信息保持编解码方法与装置
EP3562162A1 (en) 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for video encoding and decoding based on neural network implementation of cabac
BR112020023939A2 (pt) * 2018-06-06 2021-02-09 Panasonic Intellectual Property Corporation Of America método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
TWI719525B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 Lut與amvp之間的交互
EP3791586A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
EP4322533A3 (en) 2018-06-29 2024-03-06 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
WO2020003282A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Managing motion vector predictors for video coding
EP3794825A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Update of look up table: fifo, constrained fifo
JP7295230B2 (ja) 2018-06-29 2023-06-20 北京字節跳動網絡技術有限公司 スライス/タイル/lcuの行ごとのルックアップテーブルのリセット
CN114900694A (zh) 2018-06-29 2022-08-12 抖音视界(北京)有限公司 哪个查找表需要更新或不更新
TWI748202B (zh) 2018-07-02 2021-12-01 大陸商北京字節跳動網絡技術有限公司 Lamvr中取整和修剪的順序
CN110891180B (zh) 2018-09-10 2023-11-17 华为技术有限公司 视频解码方法及视频解码器
CN111064961B (zh) 2018-09-12 2023-06-09 北京字节跳动网络技术有限公司 视频处理方法和装置
US11006150B2 (en) * 2018-09-24 2021-05-11 Tencent America LLC Method and apparatus for video coding
KR20230170824A (ko) * 2018-09-24 2023-12-19 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 종속 스칼라 양자화를 사용하거나 이와 조합하는 데에 적합한 변환 계수의 효율적인 코딩
US11197017B2 (en) * 2018-12-06 2021-12-07 Tencent America LLC Methods and apparatuses for video coding
US10798397B2 (en) * 2019-01-02 2020-10-06 Tencent America LLC Method and apparatus for video coding
CN113273187A (zh) * 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 基于仿射的具有运动矢量差(MVD)的Merge
WO2020143741A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Invoke of lut updating
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113302937A (zh) 2019-01-16 2021-08-24 北京字节跳动网络技术有限公司 运动候选推导
TWI737143B (zh) * 2019-01-25 2021-08-21 聯發科技股份有限公司 帶有變換塊級別約束的變換係數編碼的方法和設備
KR102476272B1 (ko) * 2019-02-22 2022-12-09 엘지전자 주식회사 영상 코딩 시스템에서 cclm 예측에 기반한 영상 디코딩 방법 및 그 장치
CN111726632B (zh) * 2019-03-18 2022-08-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
US11604767B2 (en) * 2019-04-05 2023-03-14 Comcast Cable Communications, Llc Systems and methods for data distillation
MX2021014971A (es) * 2019-06-17 2022-01-24 Lg Electronics Inc Codificacion de video o imagen en base a mapeo de luma y escalado de croma.
US11330298B2 (en) * 2019-06-25 2022-05-10 Qualcomm Incorporated Simplified intra chroma mode coding in video coding
CN115604488A (zh) * 2019-06-25 2023-01-13 北京大学(Cn) 环路滤波的方法与装置
WO2021054776A1 (ko) * 2019-09-18 2021-03-25 삼성전자 주식회사 움직임 정보의 부호화 장치 및 방법, 및 복호화 장치 및 방법
US10924460B2 (en) 2019-12-13 2021-02-16 TripleBlind, Inc. Systems and methods for dividing filters in neural networks for private data computations
US11973743B2 (en) 2019-12-13 2024-04-30 TripleBlind, Inc. Systems and methods for providing a systemic error in artificial intelligence algorithms
US11431688B2 (en) 2019-12-13 2022-08-30 TripleBlind, Inc. Systems and methods for providing a modified loss function in federated-split learning
US11599671B1 (en) * 2019-12-13 2023-03-07 TripleBlind, Inc. Systems and methods for finding a value in a combined list of private values
EP4117290A4 (en) * 2020-03-05 2024-03-20 Lg Electronics Inc METHOD AND DEVICE FOR IMAGE ENCODING/DECODING BASED ON MIXED NAL UNIT TYPE AND METHOD FOR TRANSMITTING BIT STREAM
CN114467133A (zh) * 2020-03-11 2022-05-10 深圳云英谷科技有限公司 压缩和解压缩显示补偿亮度不匀的补偿数据的方法和系统
WO2023091688A1 (en) * 2021-11-19 2023-05-25 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for decoder-side intra mode derivation
WO2023114155A1 (en) * 2021-12-13 2023-06-22 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for decoder-side intra mode derivation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050169374A1 (en) * 2004-01-30 2005-08-04 Detlev Marpe Video frame encoding and decoding
US7088271B2 (en) * 2003-07-17 2006-08-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
JP2014515894A (ja) * 2011-04-01 2014-07-03 エルジー エレクトロニクス インコーポレイティド エントロピ復号方法及びそれを利用する復号装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473376A (en) * 1994-12-01 1995-12-05 Motorola, Inc. Method and apparatus for adaptive entropy encoding/decoding of quantized transform coefficients in a video compression system
CN1097957C (zh) * 1996-07-03 2003-01-01 摩托罗拉公司 用于基于边界的自适应熵编码/解码的方法和装置
US5994123A (en) * 1996-08-09 1999-11-30 Regents Of University Of Minnesota Sugarcane bacilliform virus promoter
DE69840082D1 (de) * 1997-02-14 2008-11-13 Nippon Telegraph & Telephone Prädikatives Dekodierungsverfahren von Videodaten
ES2168778T3 (es) * 1997-09-02 2002-06-16 Koninkl Philips Electronics Nv Formacion de una señal de informacion con forma de filigrana.
US5978494A (en) * 1998-03-04 1999-11-02 Sensar, Inc. Method of selecting the best enroll image for personal identification
KR100796176B1 (ko) * 1999-08-27 2008-01-21 코닌클리케 필립스 일렉트로닉스 엔.브이. 신호 코딩 방법 및 장치, 인코더, 카메라 시스템, 디코딩 방법, 스케일가능 디코더 및 수신기
US20020157116A1 (en) * 2000-07-28 2002-10-24 Koninklijke Philips Electronics N.V. Context and content based information processing for multimedia segmentation and indexing
FR2825538A1 (fr) * 2001-05-31 2002-12-06 Cit Alcatel Procede de codage consistant a coder un mot binaire selon une pluralite de tables de codage
US7142675B2 (en) * 2002-02-12 2006-11-28 City University Of Hong Kong Sequence generator and method of generating a pseudo random sequence
CN1198635C (zh) * 2002-07-30 2005-04-27 孙新刚 中药痔疮药膏
CN1525354A (zh) * 2003-02-24 2004-09-01 王雅量 利用互联网资源进行语言词汇学习的方法和系统
US7630440B2 (en) 2003-05-28 2009-12-08 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
US7469070B2 (en) * 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements
US7804903B2 (en) * 2005-06-27 2010-09-28 Intel Corporation Hardware-based CABAC decoder
JP2009500941A (ja) * 2005-07-08 2009-01-08 エルジー エレクトロニクス インコーポレイティド 情報を圧縮/圧縮解除するためにビデオ信号のコーディング情報をモデリングする方法
US7894523B2 (en) * 2005-09-05 2011-02-22 Lg Electronics Inc. Method for modeling coding information of a video signal for compressing/decompressing coding information
KR100714706B1 (ko) * 2005-09-26 2007-05-04 삼성전자주식회사 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치
KR100644713B1 (ko) 2005-10-31 2006-11-10 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 코딩 복호기에서 원소구문을 복호화하는 방법 및 이를 위한 복호화 장치
US7983343B2 (en) * 2006-01-12 2011-07-19 Lsi Corporation Context adaptive binary arithmetic decoding for high definition video
RU2407218C2 (ru) * 2006-07-13 2010-12-20 Квэлкомм Инкорпорейтед Видеокодирование с высокодетализированной масштабируемостью с использованием выровненных с циклом фрагментов
WO2009088340A1 (en) * 2008-01-08 2009-07-16 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive filtering
CN101668202A (zh) * 2008-09-01 2010-03-10 中兴通讯股份有限公司 帧内预测模式的选择方法和装置
TWI403170B (zh) * 2010-05-21 2013-07-21 Univ Nat Chiao Tung 背景調適性二進制算術解碼裝置及其解碼方法
US20130003829A1 (en) * 2011-07-01 2013-01-03 Kiran Misra System for initializing an arithmetic coder
US9538172B2 (en) 2012-04-11 2017-01-03 Qualcomm Incorporated Grouping bypass coded syntax elements in video coding
US9584802B2 (en) 2012-04-13 2017-02-28 Texas Instruments Incorporated Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7088271B2 (en) * 2003-07-17 2006-08-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US20050169374A1 (en) * 2004-01-30 2005-08-04 Detlev Marpe Video frame encoding and decoding
JP2014515894A (ja) * 2011-04-01 2014-07-03 エルジー エレクトロニクス インコーポレイティド エントロピ復号方法及びそれを利用する復号装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D.MARPE,ET.AL.: "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. Volume:13,Issue:7, JPN6016027409, 4 August 2003 (2003-08-04), US, pages 620 - 636, ISSN: 0003361397 *
HISAO SASAI,ET.AL.: "Modified MVD coding for CABAC", JOINT COLLABORATIVE TEAM ON VIDEO CODING(JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH ME, vol. JCTVC-F423, JPN6016027410, 16 July 2011 (2011-07-16), US, pages 1 - 6, ISSN: 0003361398 *

Also Published As

Publication number Publication date
MY171168A (en) 2019-09-30
BR112014025419B1 (pt) 2023-02-28
RU2643655C2 (ru) 2018-02-02
WO2013154866A1 (en) 2013-10-17
HUE044738T2 (hu) 2019-11-28
SG11201405754VA (en) 2014-10-30
PH12014502204B1 (en) 2014-12-10
ZA201407859B (en) 2017-04-26
EP2837178A1 (en) 2015-02-18
PH12014502204A1 (en) 2014-12-10
JP6215304B2 (ja) 2017-10-18
CA2867756C (en) 2018-07-10
ES2742027T3 (es) 2020-02-12
CN104205830B (zh) 2018-01-12
AU2013246275A1 (en) 2014-10-23
EP2837178B1 (en) 2019-05-15
BR112014025419A8 (pt) 2021-06-22
UA115142C2 (uk) 2017-09-25
US20130272377A1 (en) 2013-10-17
TWI520619B (zh) 2016-02-01
DK2837178T3 (da) 2019-08-19
RU2014145207A (ru) 2016-05-27
CN104205830A (zh) 2014-12-10
KR101706838B1 (ko) 2017-02-14
BR112014025419A2 (ja) 2017-06-20
CA2867756A1 (en) 2013-10-17
IL234648A (en) 2016-08-31
US9264706B2 (en) 2016-02-16
KR20150003299A (ko) 2015-01-08
TW201408073A (zh) 2014-02-16
HK1201111A1 (en) 2015-08-21
AU2013246275B2 (en) 2016-09-15

Similar Documents

Publication Publication Date Title
JP6215304B2 (ja) 映像コーディングにおける基準インデックスコーディングのためのバイパスビン
US11528503B2 (en) Picture prediction method and apparatus, and codec
TWI666916B (zh) 在一視訊寫碼處理中之係數階寫碼
US9736489B2 (en) Motion vector determination for video coding
US9338451B2 (en) Common spatial candidate blocks for parallel motion estimation
JP6231109B2 (ja) コンテキスト適応型、マルチレベル有意性コーディングに関するコンテキスト導出
US9008176B2 (en) Combined reference picture list construction for video coding
US9538172B2 (en) Grouping bypass coded syntax elements in video coding
US20130272412A1 (en) Common motion information candidate list construction process
US20130170553A1 (en) Coding motion vector difference
WO2015031806A1 (en) Constrained intra prediction in video coding
US20130336395A1 (en) Unification of signaling lossless coding mode and pulse code modulation (pcm) mode in video coding
US9674527B2 (en) Implicit derivation of parallel motion estimation range size
US20210067796A1 (en) Video coding method and apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160307

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160411

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160616

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170424

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170626

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170920

R150 Certificate of patent or registration of utility model

Ref document number: 6215304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250