JP5917705B2 - ビデオコーディングのためのバイナリ算術コーダにおける状態のマッピング - Google Patents

ビデオコーディングのためのバイナリ算術コーダにおける状態のマッピング Download PDF

Info

Publication number
JP5917705B2
JP5917705B2 JP2014539034A JP2014539034A JP5917705B2 JP 5917705 B2 JP5917705 B2 JP 5917705B2 JP 2014539034 A JP2014539034 A JP 2014539034A JP 2014539034 A JP2014539034 A JP 2014539034A JP 5917705 B2 JP5917705 B2 JP 5917705B2
Authority
JP
Japan
Prior art keywords
video
index
probability
probability state
grouped
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.)
Expired - Fee Related
Application number
JP2014539034A
Other languages
English (en)
Other versions
JP2014534736A (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 JP2014534736A publication Critical patent/JP2014534736A/ja
Application granted granted Critical
Publication of JP5917705B2 publication Critical patent/JP5917705B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • 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
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • H03M7/4018Context adapative binary arithmetic codes [CABAC]
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Description

優先権の主張
本出願は、その内容全体が参照により本明細書に組み込まれる、2011年10月27日に出願された米国仮出願第61/552,426号の利益を主張する。
本開示は、ビデオコーディングに関し、より詳細には、ビデオデータのバイナリ算術コーディングのための技法に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信および記憶するための、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part10,Advanced Video Coding(AVC)によって定義された規格、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および/または時間的予測を含む。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはブロックに区分され得る。各ブロックはさらに区分され得る。イントラコード化(I)フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。インターコード化(PまたはB)フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに関する空間的予測、あるいは他の参照フレーム中の参照サンプルに関する時間的予測を使用し得る。空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。
[0005]インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックをポイントする動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。最初は2次元アレイに構成される量子化された変換係数は、エントロピーコーディングのための変換係数の1次元ベクトルを生成するために、特定の順序で走査され得る。
[0006]残差変換係数、動きベクトル情報、シンタックス要素、および他の関連する情報をコーディングするために様々なエントロピーコーディングプロセスが使用され得る。様々なエントロピーコーディングおよび他のデータ圧縮プロセスの例としては、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、確率間隔区分エントロピーコーディング(PIPE:probability interval partitioning entropy coding)、ゴロム(Golomb)コーディング、ゴロムライス(Golomb-Rice)コーディング、および指数ゴロムコーディングがある。
[0007]概して、本開示では、ビデオコーディングにおけるバイナリ算術コーディングのための技法と、そのような技法を実行するためのビデオエンコーダおよびデコーダについて説明する。いくつかの例では、本技法は、相対的に小さいテーブルを維持しながら、より遅い適応レートを与え、より極端な(exterme)確率(すなわち、0および1により近い確率)に対応する、バイナリ算術コーディングをサポートし得る。
[0008]本技法は、テーブルがより遅い適応およびより低い確率を与えることができるように、増加した数の確率状態の使用を含み得る。いくつかの例では、最も高い確率の値(p0)が、たとえば、1/2よりも低くなるように変更され得る。
[0009]別の例では、範囲テーブル中の状態の数の大きい増加を回避するために、本開示の技法は、劣勢シンボル(LPS:least probable symbol)の範囲をインデックス付けするために他の従来の技法において使用されるものよりも小さいサイズ(すなわち、より少ない数のインデックス)に、確率状態を示すインデックスをマッピングすることを含め得る。
[0010]いくつかの例では、確率状態インデックスは、新しいインデックスを生成するために2で割られ得、新しいインデックスは範囲LPSテーブルのエントリとして使用され得る。この場合、範囲LPSテーブル中のエントリをインデックス付けするために確率状態σを使用する代わりに、本技法は、(σ>>1)、すなわち、2で割られ、より低い整数に丸められた状態を採用し得る。
[0011]状態インデックスのグループ化は、初期数の確率状態インデックスから、低減された数の確率状態インデックス(グループ化された状態インデックス)に進むテーブルとともに説明され得る。この種類のテーブルの使用は、追加のメモリという犠牲を払って、(除算または右シフトと比較して)性能を向上させ、それにより、メモリと性能との間の望ましい設計トレードオフがもたらされ得る。
[0012]範囲LPSテーブル中のエントリへの確率状態インデックスの線形マッピングが使用され得るが、非線形マッピングを行うことが望ましいこともある。たとえば、確率状態インデックスは、対数マッピングに従ってマッピングされ得る。対数マッピングは、いくつかの例では、区分的線形マッピングを使用して達成され得る。概して、対数マッピングまたは他のマッピングは、他の例では、事前計算されたマッピングテーブルなど、テーブルを使用して、または場合によっては1つまたは複数の数式の適用を介して定義され得る。
[0013]一例では、本開示では、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングの方法について説明する。本方法は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態は複数の確率状態のうちの1つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングすることと、グループ化されたインデックスのうちの少なくとも1つは複数の確率状態のうちの少なくとも2つを表し、グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する、を備える。
[0014]別の例では、本開示では、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータをエントロピーコーディングするように構成された装置について説明する。本装置は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定するための手段と、確率状態が複数の確率状態のうちの1つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングするための手段と、を備え、グループ化されたインデックスのうちの少なくとも1つは複数の確率状態のうちの少なくとも2つを表し、グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する。
[0015]別の例では、本開示では、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータをエントロピーコーディングするように構成された装置について説明する。本装置は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態は複数の確率状態のうちの1つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングすることと、を行うように構成されたビデオコーダを備え、グループ化されたインデックスのうちの少なくとも1つは複数の確率状態のうちの少なくとも2つを表し、グループ化されたインデックスの各々がテーブル中の確率シンボルの範囲を識別する。
[0016]別の例では、本開示では、実行されたとき、1つまたは複数のプロセッサに、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用してビデオデータをエントロピーコーディングさせる命令を記憶するコンピュータ可読記憶媒体について説明する。命令は、1つまたは複数のプロセッサに、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態が複数の確率状態のうちの1つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングすることと、を行わせ、グループ化されたインデックスのうちの少なくとも1つは複数の確率状態のうちの少なくとも2つを表し、グループ化されたインデックスの各々がテーブル中の確率シンボルの範囲を識別する。
[0017]1つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
例示的なビデオ符号化および復号システムを示すブロック図。 バイナリ算術コーディングにおける範囲更新プロセスを示す概念図。 バイナリ算術コーディングにおける範囲更新プロセスを示す概念図。 バイナリ算術コーディングにおける出力プロセスを示す概念図。 例示的なビデオエンコーダを示すブロック図。 ビデオエンコーダにおけるコンテキスト適応型バイナリ算術コーダを示すブロック図。 例示的なビデオデコーダを示すブロック図。 ビデオデコーダにおけるコンテキスト適応型バイナリ算術コーダを示すブロック図。 本開示の技法による例示的な方法を示すフローチャート。
[0026]本開示では、バイナリ算術コーディング(BAC)のための技法について説明する。1つまたは複数の例では、本開示の技法は、ビデオコーディング中にコンテキスト適応型バイナリ算術コーディング(CABAC)プロセスにおいて使用され得る。たとえば、そのような技法は、そのような技法を実行するように構成されたビデオエンコーダおよびデコーダにおいて実行され得る。本開示で説明するコーディング技法はまた、他のタイプのデータコーディングに適用可能であり得る。本開示では、しかしながら、例示のためにビデオコーディングについて説明する。
[0027]H.264/AVC(アドバンストビデオコーディング)において使用されるBAC手法と、新生の高効率ビデオコーディング(HEVC)規格のためのBAC提案とを含む、前に使用されたBAC手法の1つの問題は、そのようなBAC手法において使用されるいくつかのテーブルが、低解像度ビデオ(たとえば、共通中間フォーマット(CIF:common intermediate format)および1/4CIF(QCIF:quarter-CIF)ビデオ)のために調整されることである。現在、大量のビデオコンテンツは、高精細度(HD)であり、場合によっては、エクストラHD、いわゆる2K、2160p、2540p、4K、4320p、またはより一層高い解像度など、HDよりも高い。HDまたはHDよりも高いビデオコンテンツは、H.264/AVCのためのBACを開発するために使用される、10年経ったQCIFシーケンスとは異なる統計値を有する。
[0028]したがって、BACのために使用されるいくつかのテーブルは、この新しいコンテンツ(たとえば、HDまたはエクストラHDコンテンツ)の特性に対応することができる変更から恩恵を受け得る。HDコンテンツの普及は、BACが以下の少なくとも2つの側面において異なるべきであることを暗示する。
1.BACは、より遅い適応プロセスを有すべきであり、
2.BACは、より極端な場合(歪んだ(skewed)確率)に対応すべきである。
[0029]本開示は、現在のBAC問題への解決策を提案する。様々な例では、本開示は、テーブルサイズを実際的レベルに保ちながら、より遅い適応を達成し、より歪んだ確率に対応するようにBACテーブルを変更することを提案する。言い換えれば、本開示では、相対的に小さいサイズのテーブルを使用しながら、より遅い適応を達成し、より極端な確率(すなわち、0および1により近い確率)に対応するための技法について説明する。
[0030]デジタルビデオデバイスは、デジタルビデオ情報をより効率的に符号化および復号するためのビデオ圧縮技法を実装する。ビデオ圧縮は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(フレーム内)予測および/または時間的(フレーム間)予測技法を適用し得る。
[0031]ITU−T Video Coding Experts Group(VCEG)とISO/IEC Motion Picture Experts Group(MPEG)とのJoint Collaboration Team on Video Coding(JCT−VC)によって開発されている新しいビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)がある。「HEVC Working Draft 8」または「WD8」と呼ばれるHEVC規格の最近の草案は、文書JCTVC−J1003、Brossら、「High efficiency video coding (HEVC) text specification draft 6」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11のJoint Collaborative Team on Video Coding (JCT−VC)、第10回会合:スウェーデン、ストックホルム、2012年7月11〜20日に記載されており、この文書は2012年10月25日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip.からダウンロード可能である。
[0032]HEVCに従うビデオコーディングの場合、一例として、ビデオフレームがコーディングユニットに区分され得る。コーディングユニット(CU)は、概して、ビデオ圧縮のために様々なコーディングツールが適用される基本ユニットとして働く画像領域を指す。CUは、通常、Yとして示され得るルミナンス成分と、CrおよびCbとして示され得る2つのクロマ成分とを有する。ビデオサンプリングフォーマットに応じて、サンプルの数で表されるCrおよびCb成分のサイズは、Y成分のサイズと同じであるかまたはそれとは異なり得る。CUは、一般に矩形であり、たとえば、ITU−T H.264などの他のビデオコーディング規格の下でのいわゆるマクロブロックと同様であると見なされ得る。
[0033]CU中のピクセルのルーマ成分およびクロマ成分は、異なるサブサンプリングフォーマットでコーディングされ得る。HEVCのための1つの提案では、ピクセルのルーマ成分およびクロマ成分は、4:2:0フォーマットでコーディングされる。4:2:0ピクセルフォーマットでは、ピクセルの4×2ブロックごとに、8つのルーマ成分(各行に4つ)と、2つのクロマ成分(たとえば、4×2ブロックの第1の行に1つのCrクロマ成分および1つのCbクロマ成分)とがある。4×2ブロックの第2の行はクロマ情報を有しないであろう。したがって、ピクセルの4×2ブロックでは、クロマ成分は1/2水平解像度および1/2垂直解像度でサンプリングされる。しかしながら、ビデオコーディング技法は、4:2:0クロマサブサンプリングに限定されない。4:2:2および4:4:4を含む、他のサブサンプリングフォーマットが使用され得る。4:2:2ピクセルフォーマットでは、ピクセルの4×2ブロックごとに、8つのルーマ成分(各行に4つ)と、4つのクロマ成分(たとえば、4×2ブロックの第1の行および第2の行の各々に1つのCrクロマ成分および1つのCbクロマ成分)とがある。したがって、4:2:2フォーマットの場合、クロマ成分は1/2水平解像度およびフル垂直解像度でサンプリングされる。4:4:4ピクセルフォーマットはクロマ成分のサブサンプリングを伴わない。すなわち、ピクセルの4×2ブロックの場合、8つのルーマ成分と、8つのCr成分と、8つのCb成分とがある。これらまたは他のサンプリングフォーマットが使用され得る。
[0034]より良好なコーディング効率を達成するために、コーディングユニットは、ビデオコンテンツに応じて可変サイズを有し得る。さらに、コーディングユニットは、予測または変換のためにより小さいブロックに分割され得る。具体的には、各コーディングユニットは、予測ユニット(PU:prediction unit)と変換ユニット(TU:transform unit)とにさらに区分され得る。PUは、H.264規格などの他のビデオコーディング規格の下でのいわゆるパーティションと同様であると見なされ得る。TUは、変換係数を生成するために変換が適用される残差データのブロックを指す。
[0035]本出願では、例示のために、開発中のHEVC規格の現在提案されている態様のいくつかに従うコーディングについて説明する。ただし、本開示で説明する技法は、H.264または他の規格に従って定義されるビデオコーディングプロセスあるいはプロプライエタリビデオコーディングプロセスなど、他のビデオコーディングプロセスのために有用であり得る。
[0036]HEVCの規格化の取り組みは、HEVCテストモデル(HM:HEVC Test Model)と呼ばれるビデオコーディングデバイスのモデルに基づく。HMは、たとえば、ITU−T H.264/AVCによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは35個ものイントラ予測符号化モードを提供する。
[0037]HMによれば、CUは、1つまたは複数の予測ユニット(PU)および/または1つまたは複数の変換ユニット(TU)を含み得る。ビットストリーム内のシンタックスデータは、ピクセルの数に関して最大CUである最大コーディングユニット(LCU:largest coding unit)を定義し得る。概して、CUは、CUがサイズの差異を有しないことを除いて、H.264のマクロブロックと同様の目的を有する。したがって、CUはサブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大コーディングユニットまたはLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUはさらにサブCUに分割され得る。ビットストリームのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。本開示ではまた、CU、PU、またはTUのいずれかを指すために「ブロック」「パーティション」または「部分」という用語を使用する。概して、「部分」は、ビデオフレームの任意のサブセットを指し得る。
[0038]LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUがさらに分割されない場合、そのCUはリーフCUと呼ばれる。
[0039]その上、リーフCUのTUもそれぞれの4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。本開示では、LCUがどのように区分されるかを示す4分木をCU4分木と呼び、リーフCUがどのようにTUに区分されるかを示す4分木をTU4分木と呼ぶ。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してLCUに対応する。分割されないTU4分木のTUはリーフTUと呼ばれる。
[0040]リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部分を表し、そのPUの参照サンプルを取り出すためのデータを含み得る。たとえば、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルがポイントする参照フレーム、および/または動きベクトルの参照リスト(たとえば、リスト0もしくはリスト1)を記述し得る。(1つまたは複数の)PUを定義するリーフCUのデータはまた、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが予測コーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかに応じて異なり得る。イントラコーディングの場合、PUは、以下で説明するリーフ変換ユニットと同じように扱われ得る。
[0041]ブロック(たとえば、ビデオデータの予測ユニット(PU))をコーディングするために、ブロックの予測子(predictor)が最初に導出される。予測子は、イントラ(I)予測(すなわち、空間的予測)またはインター(PまたはB)予測(すなわち、時間的予測)のいずれかを通して導出され得る。したがって、いくつかの予測ユニットは、同じフレーム中の隣接参照ブロックに関する空間的予測を使用してイントラコーディング(I)され得、他の予測ユニットは、他のフレーム中の参照ブロックに関してインターコーディング(PまたはB)され得る。予測のために使用される参照ブロックは、参照サンプルとしていわゆる整数ピクセル位置における実際のピクセル値、または参照サンプルとして分数ピクセル位置における補間によって生成される合成されたピクセル値を含み得る。
[0042]予測子が識別されると、元のビデオデータブロックとそれの予測子との間の差分が計算される。この差分は、予測残差とも呼ばれ、コーディングされるべきブロックのピクセルと、参照ブロック、すなわち、予測子の(上述のように、整数精度ピクセルまたは補間された分数精度ピクセルであり得る)対応する参照サンプルとの間のピクセル差分を指す。より良好な圧縮を達成するために、予測残差(すなわち、ピクセル差分値のアレイ)は、概して、たとえば、離散コサイン変換(DCT)、整数変換、カルーネンレーベ(Karhunen-Loeve)(K−L)変換、ウェーブレット変換、または他の変換を使用してピクセル(すなわち、空間)領域から変換領域に変換され得る。変換領域は、たとえば、周波数領域であり得る。
[0043]インター予測を使用してPUをコーディングすることは、現在ブロックと参照フレーム中のブロックとの間の動きベクトルを計算することを伴う。動きベクトルは、動き推定(または動き探索)と呼ばれるプロセスを通して計算される。動きベクトルは、たとえば、参照フレームの参照サンプルに対する、現在フレーム中の予測ユニットの変位を示し得る。参照サンプルは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of squared difference)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされているPUを含むCUの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこにでも発生し得る。いくつかの例では、参照サンプルは、全体的にまたは部分的に補間され、分数ピクセル位置において発生し得る。現在部分に最も良く一致する参照フレームの部分を見つけると、エンコーダは、現在部分のための現在動きベクトルを、現在部分から参照フレーム中の一致する部分までの(たとえば、現在部分の中心から一致する部分の中心までの)ロケーションの差分として決定する。
[0044]いくつかの例では、エンコーダは、符号化ビデオビットストリーム中で、各部分について動きベクトルをシグナリングし得る。シグナリングされた動きベクトルは、ビデオデータを復号するために、デコーダによって動き補償を実行するために使用される。しかしながら、元の動きベクトルを直接シグナリングすると、一般に、情報を搬送するために多数のビットが必要なので、コーディングがあまり効率的でなくなることがある。
[0045]現在部分について動きベクトルを決定するために動き推定が実行されると、エンコーダは、参照フレーム中の一致する部分を現在部分と比較する。この比較は、一般に、上述のように、現在部分から参照フレーム中の(「参照サンプル」と通常呼ばれる)部分を減算することを伴い、いわゆる残差データを生じる。残差データは、現在部分と参照サンプルとの間のピクセル差分値を示す。エンコーダは、次いで、この残差データを空間領域から、周波数領域などの変換領域に変換する。通常、エンコーダは、この変換を達成するために、残差データに離散コサイン変換(DCT)を適用する。得られた変換係数は異なる周波数を表し、エネルギーの大部分が、通常、数個の低周波係数に集中するので、エンコーダは、残差データの圧縮を可能にするためにこの変換を実行する。
[0046]一般に、得られた変換係数は、特に変換係数が最初に量子化される(丸められる)場合、エントロピーコーディングを可能にする方法で一緒にグループ化される。エンコーダは、次いで、ランレングスコーディングされた量子化変換係数をさらに圧縮するために統計的ロスレス(またはいわゆる「エントロピー」)符号化を実行する。ロスレスエントロピーコーディングを実行した後に、エンコーダは、符号化ビデオデータを含むビットストリームを生成する。エントロピーコーディングの例としては、CABAC、コンテキスト適応型可変長コーディング(CAVLC)、確率間隔区分エントロピーコーディング(PIPE)、ゴロムコーディング、ゴロムライスコーディング、指数ゴロムコーディング、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、または他のエントロピーコーディング方法がある。
[0047]図1は、本開示の例による、ビデオコーディングプロセスにおけるBACのための技法を利用するように構成され得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先デバイス14に送信するソースデバイス12を含む。符号化ビデオデータはまた、記憶媒体34またはファイルサーバ36に記憶され得、必要に応じて宛先デバイス14によってアクセスされ得る。記憶媒体またはファイルサーバに記憶されたとき、ビデオエンコーダ20は、コード化ビデオデータを記憶媒体に記憶するための、ネットワークインターフェース、コンパクトディスク(CD)、Blu−ray(登録商標)またはデジタルビデオディスク(DVD)バーナーまたはスタンピングファシリティデバイス、あるいは他のデバイスなど、別のデバイスにコード化ビデオデータを与え得る。同様に、ネットワークインターフェース、CDまたはDVDリーダーなど、ビデオデコーダ30とは別個のデバイスが、記憶媒体からコード化ビデオデータを取り出し、取り出されたデータをビデオデコーダ30に与え得る。
[0048]ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆるスマートフォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、広範囲にわたるデバイスのいずれかを備え得る。多くの場合、そのようなデバイスはワイヤレス通信が可能であり得る。したがって、通信チャネル16は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、またはワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ36は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス14によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、またはその両方の組合せを含み得る。
[0049]本開示の例による、ビデオコーディングプロセスにおけるBACのための技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、単方向または二方向のビデオ送信をサポートするように構成され得る。
[0050]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器22と、送信機24とを含む。ソースデバイス12において、ビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例、あるいは符号化ビデオデータがローカルディスクに記憶された適用例に適用され得る。
[0051]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
[0052]ビデオエンコーダ20によって符号化された、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオはまた、後で消費するために記憶媒体34またはファイルサーバ36に記憶され得る。記憶媒体34は、Blu−rayディスク、DVD、CD−ROM、フラッシュメモリ、または符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。記憶媒体34に記憶された符号化ビデオは、次いで、復号および再生のために宛先デバイス14によってアクセスされ得る。
[0053]ファイルサーバ36は、符号化ビデオを記憶することと、その符号化ビデオを宛先デバイス14に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、ローカルディスクドライブ、または、符号化ビデオデータを記憶すること、および符号化ビデオデータを宛先デバイスに送信することが可能な任意の他のタイプのデバイスを含む。ファイルサーバ36からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。ファイルサーバ36は、インターネット接続を含む任意の標準的なデータ接続を通じて宛先デバイス14によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適切である、ワイヤレスチャネル(たとえば、Wi−Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデム、イーサネット(登録商標)、USBなど)、または両方の組合せを含み得る。
[0054]宛先デバイス14は、図1の例では、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。宛先デバイス14の受信機26は、チャネル16を介して情報を受信し、モデム28はその情報を復調して、ビデオデコーダ30のために復調されたビットストリームを生成する。チャネル16を介して通信される情報は、ビデオデータを復号する際にビデオデコーダ30が使用する、ビデオエンコーダ20によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体34またはファイルサーバ36に記憶された符号化ビデオデータとともに含まれ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ(コーデック)の一部を形成し得る。
[0055]ディスプレイデバイス32は、宛先デバイス14と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0056]図1の例では、通信チャネル16は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0057]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中のHEVC規格など、ビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part10,Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリまたは業界標準、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはMPEG−2およびITU−T H.263がある。
[0058]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0059]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0060]ビデオエンコーダ20は、ビデオコーディングプロセスにおけるBACのための本開示の技法のいずれかまたはすべてを実装し得る。同様に、ビデオデコーダ30は、ビデオコーディングプロセスにおけるBACのためのこれらの技法のいずれかまたはすべてを実装し得る。本開示で説明するビデオコーダは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指し得る。このコンテキストでは、ビデオコーディングユニットは、物理的ハードウェアであり、上記で説明したCUデータ構造とは異なる。同様に、ビデオコーディングはビデオ符号化またはビデオ復号を指し得る。
[0061]本開示の一例では、ビデオエンコーダ20は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態が複数の確率状態のうちの1つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングすることと、グループ化されたインデックスのうちの少なくとも1つは複数の確率状態のうちの少なくとも2つを表し、グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲をポイントする、を行うように構成され得る。
[0062]同様に、本開示の別の例では、ビデオデコーダ30は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態が複数の確率状態のうちの1つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングすることと、グループ化されたインデックスのうちの少なくとも1つは複数の確率状態のうちの少なくとも2つを表し、グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲をポイントする、を行うように構成され得る。
[0063]以下のセクションでは、BACおよびCABAC技法についてより詳細に説明する。BACは、概して、再帰的間隔再分割プロシージャである。BACは、H.264/AVCビデオコーディング規格では、および、現在、提案されているHEVCビデオコーディング規格では、CABACプロセスにおいてビンを符号化するために使用される。BACコーダの出力は、最終コード化確率間隔内の確率の値または確率へのポインタを表すバイナリストリームである。確率間隔は、範囲と下端値(lower end value)とによって指定される。範囲は、確率間隔の外延(extension)である。低(low)は、コーディング間隔の下限である。
[0064]ビデオコーディングへの算術コーディングの適用は、参照により本明細書に組み込まれる、D.Marpe、H.Schwarz、およびT.Wiegand「Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard」、IEEE Trans.Circuits and Systems for Video Technology、vol.13、no.7、2003年7月に記載されている。CABACにおける各コンテキスト(すなわち、確率モデル)は、状態によって表される。各状態(σ)は、特定のシンボル(たとえば、ビン)が劣勢シンボル(LPS)である確率(pσ)を暗黙的に表す。シンボルは、LPSまたは優勢シンボル(MPS:Most Probable Symbol)であり得る。シンボルはバイナリであり、したがって、MPSおよびLPSは0または1であり得る。確率は、対応するコンテキストについて推定され、算術コーダを使用してシンボルをエントロピーコーディングするために(暗黙的に)使用される。
[0065]BACのプロセスは、コーディングすべきコンテキストとコーディングされているビンの値とに応じて、それの内部値「範囲」および「低」を変更する状態機械によって処理される。コンテキストの状態(すなわち、それの確率)に応じて、範囲は、rangeMPSσ(状態σ中の優勢(the most probable)シンボルの範囲)と、rangeLPSσ(状態σ中の劣勢(the least probable)シンボルの範囲)とに分割される。理論上、確率状態σのrangeLPSσ値は、次の乗算によって導出される。
rangeLPSσ=範囲×pσ
式中、pσは、LPSを選択する確率である。もちろん、MPSの確率は1−pσである。すなわち、rangeMPSσは、rangeLPSσを引いた範囲に等しい。BACは、コーディングすべきコンテキストビンの状態と、現在の範囲と、コーディングされている(すなわち、LPSまたはMPSに等しいビンである)ビンの値とに応じて、範囲を反復的に更新する。
[0066]図2Aおよび図2Bに、ビンnにおけるこのプロセスの例を示す。図2Aの例100では、ビンNにおいて、ビン2での範囲は、あるコンテキスト状態(σ)が与えられればLPS(pσ)の確率によって与えられるRangeMPSとRangeLPSとを含む。例100は、ビンnの値がMPSに等しいときのビンn+1における範囲の更新を示す。この例では、低(low)は同じままであるが、ビンn+1における範囲の値は、ビンnにおけるRangeMPSの値まで低減される。図2Bの例102は、ビンnにおける値がMPSに等しくない(すなわち、LPSに等しい)ときのビンn+1における範囲の更新を示す。この例では、低は、ビンnにおけるRangeLPSの低範囲値まで移動される。さらに、ビンn+1における範囲の値は、ビンnにおけるRangeLPSの値まで低減される。
[0067]HEVCビデオコーディングプロセスのための1つの提案では、範囲は9ビットを用いて、低(low)は10ビットを用いて表される。範囲値および低(low)値を十分な精度に維持するための再正規化プロセスがある。再正規化は、範囲が256よりも小さいときはいつでも行われる。したがって、範囲は、再正規化の後に常に256に等しいかまたはそれよりも大きい。範囲の値および低の値に応じて、BACは、ビットストリームに「0」または「1」を出力するか、または将来の出力のために保つべき(BO:ビットアウトスタンディング(bits−outstanding)と呼ばれる)内部変数を更新する。図3に、範囲に応じたBAC出力の例を示す。たとえば、範囲および低が、あるしきい値(たとえば、512)を上回るときは、「1」がビットストリームに出力される。範囲および低が、あるしきい値(たとえば、512)を下回るときは、「0」がビットストリームに出力される。範囲および低が、あるしきい値の間にあるときは、何もビットストリームに出力されない。代わりに、BO値が増分され、次のビンが符号化される。
[0068]H.264/AVCのCABACコンテキストモデル、およびHEVCのためのいくつかの提案では、128の状態がある。0〜63であり得る、(状態σによって示される)64の可能なLPS確率がある。各MPSは0または1であり得る。したがって、128の状態は、64の状態確率×MPSの2つの可能な値(0または1)である。したがって、状態は、7つのビットを用いてインデックス付けされ得る。
[0069]LPS範囲(rangeLPSσ)を導出する計算を軽減するために、H.264/AVCおよびHEVCのためのいくつかの提案では、すべての場合の結果が近似として事前計算され、ルックアップテーブルに記憶される。したがって、LPS範囲は、単純なテーブルルックアップを使用することによって乗算なしに取得され得る。この演算は多くのハードウェアアーキテクチャにおいて著しいレイテンシを引き起こし得るので、乗算を回避することは、いくつかのデバイスまたはアプリケーションにとって重要であり得る。
[0070]4列の事前計算されたLPS範囲テーブルが、乗算の代わりに使用される。範囲は4つのセグメントに分割される。セグメントインデックスは、クエスチョン(range>>6)&3によって導出され得る。事実上、セグメントインデックスは、実際の範囲からビットをシフトし、ドロップすることによって導出される。以下の表1に、可能な範囲とそれらの対応するインデックスとを示す。
[0071]LPS範囲テーブルは、その場合、64のエントリ(確率状態ごとに1つ)×4(範囲インデックスごとに1つ)を有する。各エントリは、RangeLPS、すなわち、範囲×LPS確率の値である。このテーブルの一部の例を以下の表2に示す。表2は確率状態9〜12を示す。HEVCのための1つの提案では、確率状態は0〜63にわたり得る。
[0072]各セグメント(すなわち、範囲値)中で、各確率状態σのLPS範囲はあらかじめ定義されている。言い換えれば、確率状態σのLPS範囲は、4つの値(すなわち、範囲インデックスごとに1つの値)に量子化される。所与のポイントにおいて使用される特定のLPS範囲は、範囲が属するセグメントに依存する。テーブル中で使用される可能なLPS範囲の数は、テーブル列の数(すなわち、可能なLPS範囲値の数)とLPS範囲精度との間のトレードオフである。概して、列が多くなると、LPS範囲値の量子化誤差が小さくなるが、テーブルを記憶するためのより多くのメモリの必要が増加する。列が少なくなると、量子化誤差は増加するが、テーブルを記憶するために必要とされるメモリが低減される。
[0073]上記で説明したように、各LPS確率状態は対応する確率を有する。各状態の確率は次のように導出される。
σ = ασ-1
式中、状態σは0〜63である。定数(は、各コンテキスト状態間の確率変化の量を表す。一例では、α=0.9493、または、より正確には、α=(0.01875/0.5)1/63である。状態σ=0における確率は0.5に等しい(すなわち、p0=1/2)。すなわち、コンテキスト状態0において、LPSとMPSとは同程度の確率がある。各連続状態における確率は、αによって前の状態を乗算することによって導出される。したがって、コンテキスト状態α=1におけるLPS発生の確率は、p0*0.9493(0.5*0.9493=.47465)である。したがって、状態αのインデックスが増加するにつれて、LPS発生の確率は下がる。
[0074]信号統計値(すなわち、前にコーディングされたビンの値)に続くために、確率状態が更新されるので、CABACは適応型である。更新プロセスは以下の通りである。所与の確率状態の場合、更新は、状態インデックスと、LPSまたはMPSのいずれかとして識別された符号化シンボルの値とに依存する。更新プロセスの結果として、潜在的に変更されたLPS確率推定値と、必要な場合、変更されたMPS値とからなる新しい確率状態が導出される。
[0075]ビン値がMPSに等しい場合、所与の状態インデックスが単に1だけ増分される。これは、LPS確率がすでにそれの最小値にある(すなわち、最大MPS確率に達した)、状態インデックス62においてMPSが発生した場合を除く、すべての状態についてである。この場合、LPSが参照されるまで状態インデックス62が固定されたままであるか、または、最後のビン値が符号化される(最後のビン値の特殊な場合、状態63が使用される)。LPSが発生したとき、状態インデックスは、下記の式に示すように、状態インデックスをある量だけ減分することによって変更される。このルールは、概して、LPSの各発生に適用されるが、以下の例外がある。同程度の確率がある(equi-probable)場合に対応する、インデックスσ=0の状態において、LPSが符号化されたと仮定すると、状態インデックスは固定されたままであるが、MPS値は、LPSとMPSとの値が交換されるようにトグルされる。すべての他の場合には、たとえどのシンボルが符号化されたとしても、MPS値は改変されない。LPS確率についての遷移ルールの導出は、所与のLPS確率poldとそれの更新された相対物pnewとの間の以下の関係に基づく。
[0076]CABACにおける確率推定プロセスの実際的実装形態に関して、すべての遷移ルールが、それぞれ6ビット符号なし整数値の63のエントリを有する最大2つのテーブルによって実現され得ることに留意することが重要である。いくつかの例では、所与の状態インデックスσについて、LPSが観測された場合、新しい更新された状態インデックスTransIdxLPS[σ]を決定する、単一のテーブルTransIdxLPSを用いて状態遷移が決定され得る。MPS駆動型遷移(MPS-driven transitions)は、固定値1による状態インデックスの単純な(飽和した(saturated))増分によって取得され、その結果、更新された状態インデックスmin(σ+1,62)が得られ得る。以下の表3は、部分的なTransIdxLPSテーブルの例である。
[0077]以前のBAC手法(たとえば、H.264/AVCにおいて使用されるBAC手法)の1つの問題は、テーブルRangeLPSおよびTransIdxLPSが低解像度ビデオ(すなわち、共通中間フォーマット(CIF)および1/4CIF(QCIF)ビデオ)用に調整されることである。現在、大量のビデオコンテンツが高精細度(HD)であり、場合によっては、HDよりも高い。HDまたはHDよりも高い精細度のビデオコンテンツは、H.264/AVCを開発するために使用される、10年経ったQCIFシーケンスとは異なる統計値を有する。
[0078]このように、H.264/AVCからのテーブルRangeLPSおよびTransIdxLPSは、状態間の適応を速すぎる方法で引き起こすことがある。すなわち、確率状態間の遷移は、特にLPSが発生したとき、HDビデオのより滑らかでより高解像度のコンテンツにとって大きすぎることがある。したがって、従来の技法に従って使用される確率モデルは、HDおよびエクストラHDコンテンツの場合ほど正確ではない。さらに、HDビデオコンテンツはより大きい範囲のピクセル値を含むので、H.264/AVCテーブルは、HDコンテンツ中に存在し得るより極端な値に対応するのに十分なエントリを含まない。
[0079]したがって、この新しいコンテンツの特性に対応するために、RangeLPSテーブルおよびTransIdxLPSテーブルが変更される必要がある。これはまた、BACが少なくとも2つの側面において異なるべきであることを暗示する。1つの差異は、BACプロセスが、より遅い適応プロセスを可能にするテーブルを使用すべきであること。別の差異は、BACプロセスが、より極端な場合(すなわち、歪んだ確率)に対応すべきであること。
[0080]現在のRangeLPSテーブルおよびTransIdxLPSテーブルは、これらの目的を達成するために、単により多くの確率状態および範囲を含めることによって変更され得る。しかしながら、この解決策は、テーブルのサイズのかなりの増加を招く。より遅い適応は、現在使用されているパラメータα(たとえば、α=0.9493)よりも1により近いパラメータαを使用することによって達成され得る。しかしながら、より大きい値αを使用することは、確率をよりゆっくり0に向かわせ、したがって、より多くの状態が必要とされる。さらに、より遅い適応を達成するために、可能な最も低い確率が、現在使用されている最低確率よりもはるかに低ければ有益である。したがって、その極めて低い確率値に達するために、さらにより多くの状態が必要とされ得る。
[0081]上記の問題に鑑みて、本開示では、テーブルサイズ(たとえば、RangeLPSテーブルおよびTransIdxLPSテーブル)を実際的レベルに保ちながら、より遅い適応と、より歪んだ確率とを達成するようにBACを変更するための技法を提案する。言い換えれば、本開示は、相対的に小さいサイズのテーブルを使用しながら、より遅い適応と、より極端な確率(すなわち、0および1により近い確率)とを達成するための技法について説明する。
[0082]本開示で説明する技法は、より多い確率状態、たとえば、H.264/AVCを用いるBAC、またはHEVCのために現在提案されているBACにおいて使用されるよりも多い確率状態を使用し得る。この場合、TransIdxLPSテーブルは、より遅い適応とより低い確率とを得ることができる。一例では、本開示で説明する技法は、64の代わりに128の確率状態を使用し得る。これは、テーブルTransIdxLPSを64エントリだけ増加させる(すなわち、64の代わりに128のエントリ)。この増加は、より遅い適応とより低い最小確率とを可能にする。一例として、パラメータα=0.9689を設定することによって、連続確率間の差はより小さくなる。さらに、最低最小確率は0.009まで下がり、H.264/AVCの場合の約1/2(すなわち、0.01875)である。また、状態およびα値の他の数が可能であるが、概して、状態の数は増加させられ得、αの値は、α=0.9493のH.264/AVCの場合よりも1により近くなり得る。
[0083]HDまたはエクストラHDコーディングを改善するために変更され得る別のパラメータは、パラメータp0である。p0の値は、概して、LPSの最大確率を示す。この可能性を考慮する理由は、より低いp0を有することが、最小確率も低下することを意味するからである。p0の値は、従来のBACプロセスにおいて0.5に設定される。本開示は、p0に対して他の値を可能にする。0.5よりも低いp0の他の値を有することは、MPS/LPSスワップが発生したとき、状態0でのより滑らかな遷移を可能にする。多くの他の例も使用され得るが、一例では、p0が0.493に等しいことが提案される。
[0084]通常、各確率状態は、それ自体のエントリをRangeLPSテーブル中に有する。テーブルサイズは次のように表され得る。
# probability states × # quantized range indexes(確率状態の数×量子化範囲インデックスの数)
これは、HEVCのためのいくつかの提案では、64×4=256バイトである。本開示の例では、状態の数が増加するので(上記の例では2倍になる)、RangeLPSテーブルサイズは128×4=512バイトであり得る。しかしながら、RangeLPSテーブルサイズのこの増加を回避するために、本開示はさらに、RangeLPSサイズをインデックス付けするために、確率状態インデックスを小さいサイズ(すなわち、数個のインデックス)にマッピングすることを提案する。言い換えれば、本開示は、状態遷移プロセスを範囲計算プロセスから分離することを提案する。これは、本例では、状態について範囲計算へのマップがあることを意味する。1つの特定の例では、本開示は、ビデオエンコーダ20および/またはビデオデコーダ30が、それによって、決定された確率状態を示すインデックスを複数のグループ化されたインデックス(たとえば、RangeLPSテーブルのためのグループ化されたインデックス)のうちの1つにマッピングするように構成される、プロセスを提案し、ここにおいて、グループ化されたインデックスのうちの少なくとも1つは、複数の確率状態のうちの少なくとも2つを表す。したがって、RangeLPSテーブル(または他のBACテーブル)は、存在する確率状態よりも少ないインデックスを使用し得る。
[0085]本開示の一例では、RangeLPSテーブルのエントリとして使用すべき新しいインデックスを生成するために、確率状態数が2で割られ得る。この場合、128の確率状態は64のエントリに低減される。したがって、RangeLPSテーブルは、H.264/AVCにおいて使用される現在のサイズを保つことができる。したがって、範囲LPSテーブル中のエントリをインデックス付けするために確率状態σを使用する代わりに、本開示で説明する技法は(σ>>1)を採用し、すなわち、RangeLPSテーブルへのグループ化されたインデックスとして使用するために、状態σが2で割られ、より小さい整数に丸められる。所与の実装形態のためにRangeLPSテーブルがより小さいことが望まれる場合、または状態の数がより大きい(たとえば、256の確率状態)場合、より大きい数での除算であり得る。このコンテキストでは、各グループ化されたインデックスは2つの確率状態を表す。本開示の他の例では、グループ化されたインデックスは、2つ以上の確率状態を表し得る。
[0086]最適エントロピーの観点から、除算または右ビットシフト演算の使用によるRangeLPSテーブルの状態のグループ化は有益であり得るが、常に最適技法であるとは限らない。最適グループ化は、特に、状態の数およびパラメータαを含むいくつかのファクタに依存し得る。最も望ましい(場合によっては最適な)グループ化は、ビットシフト演算のような簡単な演算でないことがある。概して、総数の確率状態から低減された数の確率状態(すなわち、グループ化された状態)まで進むグループ化は、テーブルを用いて説明され得る。別の例では、本開示は、この種類のテーブルを使用することを提案する。この手法は、追加のメモリという犠牲を払って、(除算または右シフトと比較して)性能を向上させ得る。したがって、この例は、メモリと性能との間のトレードオフであり、線形マッピング例(すなわち、除算または右シフト)に勝るより良い性能を選好する。
[0087]したがって、RangeLPSテーブル中のエントリへの確率状態の線形マッピングが使用され得るが、非線形マッピングを行うことが望ましいことがある。たとえば、確率状態が対数マッピングに従ってマッピングされ得る。対数マッピングは、いくつかの例では、区分的線形マッピング技法を使用して達成され得る。概して、そのようなマッピングは、事前計算されたマッピングテーブルなど、テーブルを使用して定義され得る。
[0088]概して、本開示で説明する技法は、いくつかの例では、ビデオデータをエントロピーコーディングするための方法またはデバイスによって実行され得る。本方法は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態が複数の確率状態のうちの1つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングすることと、グループ化されたインデックスのうちの少なくとも1つが複数の確率状態のうちの少なくとも2つを表し、グループ化されたインデックスの各々がテーブル中の劣勢シンボルの範囲を指す、を含み得る。
[0089]確率状態の数は64よりも大きくなり得る。たとえば、確率状態の数は128であり得る。いくつかの例では、RangeLPSテーブルへの入力として使用されるグループ化されたインデックスの数は、64である。特に、確率状態の数は128であり得、RangeLPSテーブルへの入力として使用されるグループ化されたインデックスの数は64であり得る。シンボルは、グループ化されたインデックスに基づいて、たとえば、確率状態インデックスに基づくテーブルに従って、またはインデックスに基づく数学演算に従って、コーディングされ得る。決定された確率状態は、テーブルに従って、または数学演算に従って、複数のインデックスのうちの1つにマッピングする。マッピングは線形または非線形であり得る。たとえば、マッピングは、2で割る演算に従って実行され得る。いくつかの例では、マッピングは対数マッピングであり得る。いくつかの例では、区分的(piesewise)線形マッピングが、対数マッピングを定義するために使用され得る。いくつかの例では、LPSの最大確率の値p0は、0.5よりも小さくなり得る。
[0090]本開示で説明する技法は、たとえば、ビデオエンコーダ、ビデオデコーダ、または、複合(combined)ビデオエンコーダ/デコーダ(コーデック)内で実行され得る。特に、そのような技法は、ビデオエンコーダのエントロピー符号化ユニット、および/またはビデオデコーダのエントロピー復号ユニットで実行され得る。本技法は、たとえば、現在開発中のHEVC規格の態様によるビデオコーディングなど、ビデオコーディングをサポートするように構成され得るCABACプロセス内で実行され得る。エントロピー符号化および復号ユニットは、たとえば、残差ビデオデータに関連する量子化変換係数、動きベクトル情報、シンタックス要素、およびビデオ符号化および/またはビデオ復号プロセス中で有用であり得る他のタイプの情報など、様々なビデオデータのうちのいずれかを符号化または復号するために、コーディングプロセスを相反するまたは逆の方向で適用し得る。
[0091]図4は、本開示で説明したように、BACコーディングのための技法を利用するように構成され得るビデオエンコーダ20の例を示すブロック図である。ビデオエンコーダ20について、例示のためにHEVCコーディングのコンテキストにおいて説明するが、他のコーディング規格または方法に関して本開示を限定するものではない。ビデオエンコーダ20は、ビデオフレーム内のCUのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオデータの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの現在のフレームと前にコーディングされたフレームとの間の時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのビデオ圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのビデオ圧縮モードのいずれかを指し得る。
[0092]図4に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図4の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測処理ユニット46と、参照フレームメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。図4に示される変換処理ユニット52は、残差データのブロックに実際の変換または変換の組合せを適用するユニットであり、CUの変換ユニット(TU)と呼ばれることもある変換係数のブロックと混同されるべきでない。ビデオブロック復元のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図4に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。
[0093]符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロック、たとえば、最大コーディングユニット(LCU)に分割され得る。動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対する受信したビデオブロックのインター予測コーディングを実行する。イントラ予測処理ユニット46は、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対する受信したビデオブロックのイントラ予測コーディングを実行し得る。
[0094]モード選択ユニット40は、たとえば、各モードについての誤差(すなわち、ひずみ)結果に基づいて、コーディングモードのうちの1つ、すなわち、イントラまたはインターを選択し得、得られたイントラまたはインター予測ブロック(たとえば、予測ユニット(PU))を、残差ブロックデータを生成するために加算器50に与え、参照フレーム中で使用する符号化ブロックを再構成するために加算器62に与える。加算器62は、以下でより詳しく説明されるように、予測ブロックを、そのブロックについての、逆変換処理ユニット60からの逆量子化され逆変換されたデータと合成して、符号化ブロックを再構成する。いくつかのビデオフレームはIフレームに指定され得、Iフレーム中のすべてのブロックはイントラ予測モードで符号化される。場合によっては、たとえば、動き推定ユニット42によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測処理ユニット46は、PフレームまたはBフレーム中のブロックのイントラ予測符号化を実行し得る。
[0095]動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定(または動き探索)は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照フレームの参照サンプルに対する、現在フレーム中の予測ユニットの変位を示し得る。動き推定ユニット42は、予測ユニットを参照フレームメモリ64に記憶された参照フレームの参照サンプルと比較することによってインターコード化フレームの予測ユニットの動きベクトルを計算する。参照サンプルは、絶対値差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされているPUを含むCUの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこにでも発生し得、必ずしも、参照フレームまたはスライスのブロック(たとえば、コーディングユニット)境界において発生するとは限らない。いくつかの例では、参照サンプルは分数ピクセル位置において発生し得る。
[0096]動き推定ユニット42は、計算された動きベクトルと他のシンタックス要素とを、エントロピーコーディングユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット44は、たとえば、PUの動きベクトルによって識別される参照サンプルを取り出すことによって、現在CUの予測ユニットについての予測値を計算し得る。
[0097]イントラ予測処理ユニット46は、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、受信したブロックに対してイントラ予測を実行し得る。イントラ予測処理ユニット46は、隣接する、前にコーディングされたブロック、たとえば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの上、右上、左上、または左のブロックに対して受信ブロックを予測し得る。イントラ予測処理ユニット46は多種多様なイントラ予測モードで構成され得る。たとえば、イントラ予測処理ユニット46は、符号化されているCUのサイズに基づいて、一定数の方向性予測モード、たとえば、35個の方向性予測モードで構成され得る。
[0098]イントラ予測処理ユニット46は、たとえば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接するピクセルの値を合成し、その合成された値をPU中の1つまたは複数のピクセル位置に適用するための機能を含み得る。PU中のすべてのピクセル位置の値が計算されると、イントラ予測ユニット46は、PUと符号化されるべき受信ブロックとの間のピクセル差分に基づいて予測モードの誤差値を計算し得る。イントラ予測処理ユニット46は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測処理ユニット46は、次いで、PUを加算器50に送り得る。
[0099]ビデオエンコーダ20は、コーディングされている元のビデオブロックから、動き補償ユニット44またはイントラ予測処理ユニット46によって計算された予測データを減算することによって残差ブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。残差ブロックはピクセル差分値の2次元行列に対応し得、残差ブロック中の値の数は、残差ブロックに対応するPU中のピクセルの数と同じである。残差ブロック中の値は、PU中のコロケート(co-located)ピクセルの値と、コーディングされるべき元のブロック中のコロケートピクセルの値との間の差分、すなわち、誤差に対応し得る。差分は、コーディングされるブロックのタイプに応じて、彩度の差分または輝度の差分であり得る。
[0100]変換処理ユニット52は、残差ブロックから1つまたは複数の変換ユニット(TU)を形成し得る。変換処理ユニット52は、複数の変換の中から変換を選択する。変換は、ブロックサイズ、コーディングモードなど、1つまたは複数のコーディング特性に基づいて選択され得る。変換処理ユニット52は、次いで、選択された変換をTUに適用して、変換係数の2次元アレイを備えるビデオブロックを生成する。さらに、変換処理ユニット52は、選択された変換パーティションを符号化ビデオビットストリーム中でシグナリングし得る。
[0101]変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、次いで、その変換係数を量子化し得る。量子化行列は、対応する変換係数に適用されるべき量子化の量を決定するために、量子化パラメータとともに使用され得る値を指定し得る。エントロピー符号化ユニット56が、走査モードに従って、行列中の量子化された変換係数の走査を実行し得る。本開示では、エントロピー符号化ユニット56が走査を実行するものとして説明する。ただし、他の例では、量子化ユニット54などの他の処理ユニットが走査を実行し得ることを理解されたい。
[0102]変換係数が1次元アレイに走査されると、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、確率間隔区分エントロピーコーディング(PIPE)、ゴロムコーディング、ゴロムライスコーディング、指数ゴロムコーディング、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、または別のエントロピーコーディング方法などのエントロピーコーディングを係数に適用し得る。本開示の例による、様々な異なるエントロピーコーディングプロセスを参照しているが、エントロピー符号化ユニット56は、上記で説明したBACコーディングを実行するように構成され得る。
[0103]CAVLCを実行するために、エントロピー符号化ユニット56は、送信されるべきシンボルの可変長コードを選択し得る。VLCのコードワードは、相対的により短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構築され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。
[0104]CABACを実行するために、エントロピー符号化ユニット56は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、たとえば、隣接値が非0か否かに関係し得る。エントロピー符号化ユニット56はまた、選択された変換を表す信号など、シンタックス要素をエントロピー符号化し得る。エントロピー符号化ユニット56によるエントロピーコーディングの後に、得られた符号化ビデオは、ビデオデコーダ30などの別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
[0105]図5は、本開示の技法による、CABACを実行するように構成され得る例示的なエントロピー符号化ユニット56のブロック図である。シンタックス要素118が、エントロピー符号化ユニット56に入力される。シンタックス要素がすでに2進値シンタックス要素(すなわち、0および1の値のみを有するシンタックス要素)である場合、2値化のステップはスキップされ得る。シンタックス要素が非2進値シンタックス要素(たとえば、変換係数レベルなど、複数のビットによって表されるシンタックス要素)である場合、非2進値シンタックス要素はバイナライザ120によって2値化される。バイナライザ120は、2値決定のシーケンスへの非2進値シンタックス要素のマッピングを実行する。これらの2値決定は、しばしば、「ビン」と呼ばれる。たとえば、変換係数レベルの場合、レベルの値は連続ビンに分割され、各ビンは、係数レベルの絶対値がある値よりも大きいか否かを示し得る。たとえば、(有効性フラグと呼ばれることがある)ビン0は、変換係数レベルの絶対値が0よりも大きいか否かを示す。ビン1は、変換係数レベルの絶対値が1よりも大きいか否か示す、などである。各非2進値シンタックス要素について、一意のマッピングが展開され得る。
[0106]バイナライザ120によって生成された各ビンは、エントロピーコーディングユニット56のバイナリ算術コーディング側に供給される。すなわち、非2進値シンタックス要素のあらかじめ決定されたセットの場合、各ビンタイプ(たとえば、ビン0)は、次のビンタイプ(たとえば、ビン1)の前にコーディングされる。コーディングは、通常モードまたはバイパスモードのいずれかで実行され得る。バイパスモードでは、バイパスコーディングエンジン126は、固定の確率モデルを使用して、たとえば、ゴロムライスコーディングまたは指数ゴロムコーディングを使用して、算術コーディングを実行する。バイパスモードは、概して、より予測可能なシンタックス要素に使用される。
[0107]通常モードでのコーディングは、CABACを実行することを伴う。通常モードCABACは、ビン値をコーディングするためのものであり、ビンの値の確率は、前にコーディングされたビンの値が与えられれば予測可能である。LPSであるビンの確率は、コンテキストモデラ122によって決定される。コンテキストモデラ122は、ビン値とコンテキストモデル(たとえば、確率状態σ)とを出力する。コンテキストモデルは、一連のビンの初期コンテキストモデルであり得、または前にコーディングされたビンのコード化値に基づいて決定され得る。上記で説明したように、コンテキストモデラは、前にコーディングされたビンがMPSまたはLPSであったか否かに基づいて、状態を更新し得る。
[0108]コンテキストモデルおよび確率状態σがコンテキストモデラ122によって決定された後、通常コーディングエンジン124は、ビン値に対してBACを実行する。本開示の技法による、通常コーディングエンジン124は、64の確率状態σよりも多くを含むTransIdxLPSテーブル130を使用してBACを実行する。一例では、確率状態の数は128である。前のビン(ビンn)がLPSであるとき、次のビン(ビンn+1)のためにどの確率状態が使用されるのか決定するために、TransIdxLPSが使用される。通常コーディングエンジン124はまた、特定の確率状態σが与えられれば、LPSの範囲値を決定するためにRangeLPSテーブル128を使用し得る。しかしながら、本開示の技法によれば、TransIdxLPSテーブル130のすべての可能な確率状態σを使用するのではなく、確率状態インデックスσが、RangeLPSテーブル中で使用するグループ化されたインデックスにマッピングされる。すなわち、RangeLPSテーブル128中への各インデックスは、総数の確率状態のうちの2つ以上を表し得る。グループ化されたインデックスへの確率状態インデックスσのマッピングは、線形(たとえば、2で割ることによって)であり得、または、非線形(たとえば、対数関数またはマッピングテーブル)であり得る。
[0109]本開示の他の例では、連続確率状態間の差は、パラメータαを0.9493よりも大きくなるように設定することによって、より小さくなり得る。一例では、α=0.9689である。本開示の別の例では、LPS発生の最も高い確率(p0)は、0.5よりも小さくなるように設定され得る。一例では、p0が0.493に等しいことを提案する。
[0110]図4に戻ると、場合によっては、エントロピー符号化ユニット56またはビデオエンコーダ20の別のユニットは、エントロピーコーディングに加えて他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット56はCUおよびPUのコード化ブロックパターン(CBP)値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット56は係数のランレングスコーディングを実行し得る。さらに、エントロピー符号化ユニット56、または他の処理ユニットはまた、量子化行列の値など、他のデータをコーディングし得る。
[0111]逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレームメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレームメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0112]図6は、符号化ビデオシーケンスを復号するビデオデコーダ30の一例を示すブロック図である。図6の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測処理ニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図4参照)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。エントロピー復号ユニット70または別のコーディングユニットは、たとえば、ソースシンボルの修正されたマッピングを使用して、量子化行列値、またはビデオデータなどの他の値のために、上記で説明した修正されたマッピングの逆を使用するように構成される。特に、エントロピー復号ユニット70は、エンコーダによって使用されたプロセスの概して逆であるプロセスを適用し得る。エントロピー復号ユニット70は、変換係数の1次元アレイを取り出すために、符号化ビットストリームに対してエントロピー復号プロセスを実行する。使用されるエントロピー復号プロセスは、ビデオエンコーダ20によって使用されたエントロピーコーディング(たとえば、CABAC、CAVLC、PIPE、または上記の他のプロセスなど)に依存する。本開示で説明する技法による、エントロピー復号ユニット70は、本開示で説明するように、たとえばCABACプロセス内でBACプロセスを適用し得る。エンコーダによって使用されたエントロピーコーディングプロセスは、符号化ビットストリーム中でシグナリングされ得るか、または所定のプロセスであり得る。
[0113]図7は、本開示の技法による、CABACを実行するように構成され得る例示的なエントロピー符号化ユニット70のブロック図である。図7のエントロピー復号ユニット70は、図5で説明したエントロピー符号化ユニット56とは逆にCABACを実行する。ビットストリーム218からのコード化ビットはエントロピー復号ユニット70に入力される。コード化ビットは、それらがバイパスモードまたは通常モードを使用してエントロピーコーディングされたか否かに基づいて、コンテキストモデラ220またはバイパスコーディングエンジン222に供給される。コード化ビットがバイパスモードでコーディングされていた場合、バイパス復号エンジンは、たとえば、非2進シンタックス要素の2進値シンタックス要素またはビンを取り出すために、ゴロムライス復号または指数ゴロム復号を使用する。
[0114]コーディングされたビットが通常モードでコーディングされていた場合、コンテキストモデラ220は、コード化ビットについての確率モデルを決定し得、通常復号エンジン224は、非2進値シンタックス要素のビン(または、2進値の場合、それら自体のシンタックス要素)を生成するために、コード化ビットを復号し得る。コンテキストモデルと確率状態σとがコンテキストモデラ220によって決定された後、通常復号エンジン224がビン値に対してBACを実行する。本開示の技法によれば、通常コーディングエンジン224は、64より多い確率状態σを含むTransIdxLPSテーブル228を使用してBACを実行する。本開示の技法に一致する確率状態の他の数が定義され得るが、一例では、確率状態の数は128である。前のビン(ビンn)がLPSであるとき、次のビン(ビンn+1)のためにどの確率状態が使用されるのか決定するために、TransIdxLPSが使用される。通常複合エンジン224はまた、特定の確率状態σが与えられれば、LPSの範囲値を決定するためにRangeLPSテーブル226を使用し得る。しかしながら、本開示の技法によれば、TransIdxLPSテーブル228のすべての可能な確率状態σを使用するというよりむしろ、確率状態インデックスσが、RangeLPSテーブル226中で使用するグループ化されたインデックスにマッピングされる。すなわち、RangeLPSテーブル226中の各インデックスは、総数の確率状態のうちの2つ以上を表し得る。グループ化されたインデックスへの確率状態インデックスσのマッピングは、線形(たとえば、2で割ることによって)であり得、または、非線形(たとえば、対数関数またはマッピングテーブル)であり得る。
[0115]本開示の他の例では、連続確率状態間の差は、パラメータαを0.9493よりも大きくなるように設定することによって、より小さくなり得る。一例では、α=0.9689である。本開示の別の例では、LPS発生の最も高い確率(p0)は、0.5よりも小さくなるように設定され得る。一例では、p0が0.493に等しいことを提案する。
[0116]ビンが通常復号エンジン224によって復号された後、逆バイナライザ230は、ビンを変換して非2進値シンタックス要素の値に戻すために逆マッピングを実行し得る。
[0117]図6に戻ると、いくつかの例では、エントロピー復号ユニット70(または逆量子化ユニット76)は、ビデオエンコーダ20のエントロピー符号化ユニット56(または量子化ユニット54)によって使用された走査モードをミラーリングする走査を使用して受信値を走査し得る。係数の走査は逆量子化ユニット76において実行され得るが、走査については、例示のために、エントロピー復号ユニット70によって実行されるものとして説明する。さらに、説明しやすいように別個の機能ユニットとして示されているが、ビデオデコーダ30のエントロピー復号ユニット70、逆量子化ユニット76、および他のユニットの構造および機能は互いに高度に統合され得る。
[0118]逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された、量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、たとえば、HEVCのために提案されたプロセスまたはH.264復号規格によって定義されたプロセスと同様の、従来のプロセスを含み得る。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、CUについてビデオエンコーダ20によって計算される量子化パラメータQPの使用を含み得る。逆量子化ユニット76は、係数が1次元アレイから2次元アレイに変換される前または変換された後に変換係数を逆量子化し得る。
[0119]逆変換処理ユニット78は、逆量子化された変換係数に逆変換を適用する。いくつかの例では、逆変換処理ユニット78は、ビデオエンコーダ20からのシグナリングに基づいて、あるいはブロックサイズ、コーディングモードなどの1つまたは複数のコーディング特性から変換を推論することによって、逆変換を決定し得る。いくつかの例では、逆変換処理ユニット78は、現在ブロックを含むLCUのための4分木のルートノードにおけるシグナリングされた変換に基づいて、現在ブロックに適用すべき変換を決定し得る。代替的に、変換は、LCU4分木中のリーフノードCUのためのTU4分木のルートにおいてシグナリングされ得る。いくつかの例では、逆変換処理ユニット78は、逆変換処理ユニット78が、復号されている現在ブロックの変換係数に2つ以上の逆変換を適用する、カスケード逆変換を適用し得る。
[0120]さらに、逆変換処理ユニットは、逆変換を適用して、本開示の上記で説明した技法に従って変換ユニットパーティションを生成し得る。
[0121]イントラ予測処理ユニット74は、シグナリングされたイントラ予測モードと、現在フレームの前に復号されたブロックからのデータとに基づいて、現在フレームの現在ブロックについての予測データを生成し得る。取り出された動き予測方向、参照フレームインデックス、および計算された現在の動きベクトル(たとえば、統合モードに従って近隣のブロックからコピーされた動きベクトル)に基づいて、動き補償ユニットは、現在の部分の動き補償されたブロックを生成する。これらの動き補償ブロックは、本質的に、残差データを生成するために使用される予測ブロックを再現する。
[0122]動き補償ユニット72は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行し得る。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0123]さらに、動き補償ユニット72およびイントラ予測処理ユニット74は、HEVCの例では、(たとえば、4分木によって与えられる)シンタックス情報の一部を使用して、符号化ビデオシーケンスの(1つまたは複数の)フレームを符号化するために使用されたLCUのサイズを決定し得る。動き補償ユニット72およびイントラ予測処理ユニット74はまた、シンタックス情報を使用して、符号化ビデオシーケンスのフレームの各CUがどのように分割されるか(および、同様に、サブCUがどのように分割されるか)を記述する分割情報を決定し得る。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード(たとえば、イントラまたはインター予測、およびイントラ予測の場合はイントラ予測符号化モード)と、各インター符号化PUについての1つまたは複数の参照フレーム(および/またはそれらの参照フレームの識別子を含んでいる参照リスト)と、符号化ビデオシーケンスを復号するための他の情報とを含み得る。
[0124]加算器80は、残差ブロックを、動き補償ユニット72またはイントラ予測処理ユニット74によって生成された対応する予測ブロックと合成して、復号ブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号ビデオブロックは、次いで、参照フレームメモリ82に記憶され、参照フレームメモリ82は、その後の動き補償のための参照ブロックを与え、また、(図1のディスプレイデバイス32などの)ディスプレイデバイス上での提示のために復号ビデオを生成する。
[0125]図8は、本開示の技法による例示的なコーディング方法を示すフローチャートである。図8の技法は、ビデオエンコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)の1つまたは複数の構成要素によって実行され得る。一例として、図8の方法は、ビデオエンコーダ20のエントロピー符号化ユニット56によっておよび/またはビデオデコーダ30のエントロピー復号ユニット70によって実行され得る。
[0126]ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングの方法を実行するように構成され得る。ビデオエンコーダ20および/またはビデオデコーダ30は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定するように構成され得、当該確率状態は複数の確率状態のうちの1つを備える(320)。ビデオエンコーダ20および/またはビデオデコーダ30は、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングするようにさらに構成され得、当該グループ化されたインデックスのうちの少なくとも1つが複数の確率状態のうちの少なくとも2つを表す(322)。グループ化されたインデックスの各々は、テーブル中の確率シンボルの範囲を識別する。
[0127]確率状態インデックスを複数のグループ化されたインデックスのうちの1つにマッピングすることは、多くの方法のうちの1つで達成され得る。一例では、マッピングすることは、テーブルに従ってインデックスをグループ化されたインデックスにマッピングすることを備える。別の例では、マッピングすることは、数学演算に従ってインデックスをグループ化されたインデックスにマッピングすることを備える。さらに別の例では、マッピングすることは、2で割る演算に従ってインデックスをグループ化されたインデックスにマッピングすることを備える。別の例では、マッピングすることは、線形マッピングに従ってインデックスをグループ化されたインデックスにマッピングすることを備える。また別の例では、マッピングすることは、対数マッピングに従ってインデックスをグループ化されたインデックスにマッピングすることを備える。さらに別の例では、マッピングすることは、区分的非線形マッピングに従ってインデックスをグループ化されたインデックスにマッピングすることを備える。
[0128]本開示の一例では、複数の確率状態の数は64よりも大きい。より具体的な例では、複数の確率状態の数は128である。本開示の別の例では、グループ化されたインデックスの数は64である。
[0129]本開示の別の例では、複数の確率状態が、最も高い確率状態p0を含み、連続確率状態は、前の確率状態をパラメータαで乗算することによって決定される。一例では、αは0.9493よりも大きく、p0は0.5よりも小さい。より具体的な例では、αは約0.9689であり、p0は約0.493である。
[0130]ビデオエンコーダ20および/またはビデオデコーダ30は、グループ化されたインデックスと確率状態とに基づいてシンボルをコーディングするようにさらに構成され得る(324)。一例では、シンボルをコーディングすることは、グループ化されたインデックスに基づくテーブルに従ってシンボルをコーディングすることを含み得る。別の例では、シンボルをコーディングすることは、グループ化されたインデックスを生成するために、インデックスに対して実行された数学演算に従ってシンボルをコーディングすることを含み得る。
[0131]図8の技法は、シンボルを符号化するために、ビデオエンコーダ20によってビデオ符号化プロセスに実装され得る。一例では、シンボルは変換係数のレベルである。この例では、ビデオ符号化方法は、残差データを生成するためにビデオデータを符号化することと、変換係数を生成するために残差データを変換することと、シンボルを作成するために変換係数を2値化することとをさらに含み得る。
[0132]図8の技法はまた、シンボルを復号するために、ビデオデコーダ30によってビデオ復号プロセスに実装され得る。一例では、シンボルは変換係数のレベルである。一例では、シンボルは変換係数のレベルである。この例では、グループ化されたインデックスと確率状態と基づいてシンボルをコーディングすることは、復号されたビンを生成する。ビデオ復号方法は、シンボルを受信することと、変換係数を生成するために復号されたビンを逆2値化することと、残差データを生成するために変換係数を逆変換することと、復号ビデオデータを生成するために残差データを復号することとをさらに含み得る。
[0133]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0134]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0135]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0136]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0137]様々な例について説明した。これらおよび他の例は、以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングの方法であって、
バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、前記確率状態は複数の確率状態のうちの1つを備え、
前記決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングすることと、前記グループ化されたインデックスのうちの少なくとも1つは前記複数の確率状態のうちの少なくとも2つを表し、前記グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する、
を備える、方法。
[2] 前記複数の確率状態の数は64よりも大きい、[1]に記載の方法。
[3] 前記複数の確率状態の前記数は128である、[2]に記載の方法。
[4] グループ化されたインデックスの数は64である、[2]に記載の方法。
[5] 前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることをさらに備える、[1]に記載の方法。
[6] 前記シンボルをコーディングすることは、前記グループ化されたインデックスに基づくテーブルに従って前記シンボルをコーディングすることを備える、[5]に記載の方法。
[7] 前記シンボルをコーディングすることは、前記グループ化されたインデックスを生成するために、前記インデックスに対して実行された数学演算に従って前記シンボルをコーディングすることを備える、[5]に記載の方法。
[8] マッピングすることは、テーブルに従って前記インデックスをグループ化されたインデックスにマッピングすることを備える、[1]に記載の方法。
[9] マッピングすることは、数学演算に従って前記インデックスを前記グループ化されたインデックスにマッピングすることを備える、[1]に記載の方法。
[10] マッピングすることは、2で割る演算に従って前記インデックスを前記グループ化されたインデックスにマッピングすることを備える、[9]に記載の方法。
[11] マッピングすることは、線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングすることを備える、[1]に記載の方法。
[12] マッピングすることは、対数マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングすることを備える、[1]に記載の方法。
[13] マッピングすることは、区分的非線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングすることを備える、[1]に記載の方法。
[14] 前記複数の確率状態は最も高い確率状態p 0 を含み、連続確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは0.9493よりも大きく、p 0 は0.5よりも小さい、[1]に記載の方法。
[15] αは約0.9689であり、p 0 は約0.493である、[14]に記載の方法。
[16] 前記ビデオコーディングプロセスはビデオ符号化プロセスであり、前記方法は、
残差データを生成するためにビデオデータを符号化することと、
変換係数を生成するために残差データを変換することと、
前記シンボルを作成するために変換係数を2値化することと、
をさらに備える、[5]に記載の方法。
[17] 前記ビデオコーディングプロセスはビデオ復号プロセスであり、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることは、復号されたビンを生成し、前記方法は、
前記シンボルを受信することと、
変換係数を生成するために前記復号されたビンを逆2値化することと、
残差データを生成するために前記変換係数を逆変換することと、
復号ビデオデータを生成するために前記残差データを復号することと、
をさらに備える、[5]に記載の方法。
[18] ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成された装置であって、
バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、前記確率状態は複数の確率状態のうちの1つを備え、
前記決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングすることと、前記グループ化されたインデックスのうちの少なくとも1つは前記複数の確率状態のうちの少なくとも2つを表し、前記グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する、
を行うように構成されビデオコーダ
を備える、装置。
[19] 前記複数の確率状態の数は64よりも大きい、[18]に記載の装置。
[20] 前記複数の確率状態の前記数は128である、[19]に記載の装置。
[21] グループ化されたインデックスの数は64である、[19]に記載の装置。
[22] 前記ビデオコーダは、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングするようにさらに構成された、[18]に記載の装置。
[23] 前記ビデオコーダは、前記グループ化されたインデックスに基づくテーブルに従って前記シンボルをコーディングするようにさらに構成された、[22]に記載の装置。
[24] 前記ビデオコーダは、前記グループ化されたインデックスを生成するために、前記インデックスに対して実行された数学演算に従って前記シンボルをコーディングするようにさらに構成された、[22]に記載の装置。
[25] 前記ビデオコーダは、テーブルに従って前記インデックスをグループ化されたインデックスにマッピングするようにさらに構成された、[18]に記載の装置。
[26] 前記ビデオコーダは、数学演算に従って前記インデックスを前記グループ化されたインデックスにマッピングするようにさらに構成された、[18]に記載の装置。
[27] 前記ビデオコーダは、2で割る演算に従って前記インデックスを前記グループ化されたインデックスにマッピングするようにさらに構成された、[26]に記載の装置。
[28] 前記ビデオコーダは、線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするようにさらに構成された、[18]に記載の装置。
[29] 前記ビデオコーダは、対数マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするようにさらに構成された、[18]に記載の装置。
[30] 前記ビデオコーダは、区分的非線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするようにさらに構成された、[18]記載の装置。
[31] 前記複数の確率状態は最も高い確率状態p 0 を含み、連続確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αが0.9493よりも大きく、p 0 が0.5よりも小さい、[18]に記載の装置。
[32] αは約0.9689であり、p 0 は約0.493である、[31]に記載の装置。
[33] 前記ビデオコーディングプロセスはビデオ符号化プロセスであり、前記ビデオコーダはビデオエンコーダであり、前記ビデオエンコーダは、
残差データを生成するためにビデオデータを符号化することと、
変換係数を生成するために残差データを変換することと、
前記シンボルを作成するために変換係数を2値化することと、
を行うようにさらに構成された、[22]に記載の装置。
[34] 前記ビデオコーディングプロセスはビデオ復号プロセスであり、前記ビデオコーダはビデオデコーダであり、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることは、復号されたビンを生成し、前記ビデオデコーダは、
前記シンボルを受信することと、
変換係数を生成するために前記復号されたビンを逆2値化することと、
残差データを生成するために前記変換係数を逆変換することと、
復号ビデオデータを生成するために前記残差データを復号することと、
を行うようにさらに構成された、[22]に記載の装置。
[35] ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成された装置であって、
バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定するための手段と、前記確率状態は複数の確率状態のうちの1つを備え、
前記決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングするための手段と、前記グループ化されたインデックスのうちの少なくとも1つは前記複数の確率状態のうちの少なくとも2つを表し、前記グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する、
を備える、装置。
[36] 前記複数の確率状態の数は64よりも大きい、[35]に記載の装置。
[37] 前記複数の確率状態の前記数は128である、[36]に記載の装置。
[38] グループ化されたインデックスの数は64である、[36]に記載の装置。
[39] 前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングするための手段をさらに備える、[35]に記載の装置。
[40] 前記複数の確率状態は最も高い確率状態p 0 を含み、連続確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは0.9493よりも大きく、p 0 は0.5よりも小さい、[35]に記載の装置。
[41] αは約0.9689であり、p 0 は約0.493である、[40]に記載の装置。
[42] 実行されたとき、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成されたデバイスの1つまたは複数のプロセッサに、
バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、前記確率状態は複数の確率状態のうちの1つを備え、
前記決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの1つにマッピングすることと、前記グループ化されたインデックスのうちの少なくとも1つは前記複数の確率状態のうちの少なくとも2つを表し、前記グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する、
を行わせる命令を記憶するコンピュータ可読記憶媒体。
[43] 前記複数の確率状態の数は64よりも大きい、[42]に記載のコンピュータ可読記憶媒体。
[44] 前記複数の確率状態の前記数は128である、[43]に記載のコンピュータ可読記憶媒体。
[45] グループ化されたインデックスの数は64である、[43]に記載のコンピュータ可読記憶媒体。
[46] 前記1つまたは複数のプロセッサに、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングさせるための命令をさらに備える、[42]に記載のコンピュータ可読記憶媒体。
[47] 前記複数の確率状態は最も高い確率状態p 0 を含み、連続確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは0.9493よりも大きく、p 0 は0.5よりも小さい、[42]に記載のコンピュータ可読記憶媒体。
[48] αは約0.9689であり、p 0 は約0.493である、[47]に記載のコンピュータ可読記憶媒体。

Claims (40)

  1. ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングの方法であって、
    前記バイナリ算術コーディングプロセスにおける高精細度(HD)ビデオコンテンツに関連するシンボルの確率状態を決定することと、前記確率状態は、前記HDビデオコンテンツのための複数の確率状態から選択され、前記複数の確率状態の数は64よりも多く、64個の確率状態は高精細度(HD)ビデオコンテンツに関連する解像度よりも低い解像度をもつビデオコンテンツのために使用される確率状態の数を表し、
    前記決定された確率状態を示すインデックスを、64個のグループ化されたインデックスのうちの1つにマッピングすることと、前記64個のグループ化されたインデックスのうちの少なくとも1つのグループ化されたインデックスは前記複数の確率状態のうちの少なくとも2つを表し、前記64個のグループ化されたインデックスの各々は、テーブル中で、劣勢シンボルから優勢シンボルの範囲を識別する、
    を備える、方法。
  2. 前記複数の確率状態の前記数は128である、請求項1に記載の方法。
  3. 前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることをさらに備える、請求項1に記載の方法。
  4. 前記シンボルをコーディングすることは、前記グループ化されたインデックスに基づく前記テーブルに従って前記シンボルをコーディングすることを備える、請求項3に記載の方法。
  5. 前記シンボルをコーディングすることは、前記グループ化されたインデックスを生成するために、前記インデックスに対して実行された数学演算に従って前記シンボルをコーディングすることを備える、請求項3に記載の方法。
  6. 前記マッピングすることは、前記テーブルに従って前記インデックスをグループ化されたインデックスにマッピングする、請求項1に記載の方法。
  7. 前記マッピングすることは、数学演算に従って前記インデックスを前記グループ化されたインデックスにマッピングする、請求項1に記載の方法。
  8. 前記マッピングすることは、2で割る演算に従って前記インデックスを前記グループ化されたインデックスにマッピングする、請求項7に記載の方法。
  9. 前記マッピングすることは、線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングする、請求項1に記載の方法。
  10. 前記マッピングすることは、対数マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングする、請求項1に記載の方法。
  11. 前記マッピングすることは、区分的非線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングする、請求項1に記載の方法。
  12. 前記複数の確率状態は最も高い確率状態p0を含連続する確率状態であり、各確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは0.9493よりも大きく、p0は0.5よりも小さい、請求項1に記載の方法。
  13. αは約0.9689であり、p0は約0.493である、請求項12に記載の方法。
  14. 前記ビデオコーディングプロセスはビデオ符号化プロセスであり、前記方法は、
    残差データを生成するためにビデオデータを符号化することと、
    変換係数を生成するために残差データを変換することと、
    前記シンボルを作成するために変換係数を2値化することと、
    をさらに備える、請求項3に記載の方法。
  15. 前記ビデオコーディングプロセスはビデオ復号プロセスであり、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることは、復号されたビンを生成し、前記方法は、
    前記シンボルを受信することと、
    変換係数を生成するために前記復号されたビンを逆2値化することと、
    残差データを生成するために前記変換係数を逆変換することと、
    復号ビデオデータを生成するために前記残差データを復号することと、
    をさらに備える、請求項3に記載の方法。
  16. ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成された装置であって、
    前記ビデオデータの少なくとも一部を記憶するように構成されたメモリと、
    ビデオコーダと、を備え、前記ビデオコーダは、
    前記バイナリ算術コーディングプロセスにおける高精細度(HD)ビデオコンテンツに関連するシンボルの確率状態を決定することと、前記確率状態は、前記HDビデオコンテンツのための複数の確率状態から選択され、前記複数の確率状態の数は64よりも多く、64個の確率状態は高精細度(HD)ビデオコンテンツに関連する解像度よりも低い解像度をもつビデオコンテンツのために使用される確率状態の数を表し、
    前記決定された確率状態を示すインデックスを、64個のグループ化されたインデックスのうちの1つにマッピングすることと、前記64個のグループ化されたインデックスのうちの少なくとも1つのグループ化されたインデックスは前記複数の確率状態のうちの少なくとも2つを表し、前記64個のグループ化されたインデックスの各々は、テーブル中で、劣勢シンボルから優勢シンボルの範囲を識別する、
    を行うように構成された装置。
  17. 前記複数の確率状態の前記数は128である、請求項16に記載の装置。
  18. 前記ビデオコーダは、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングするようにさらに構成された、請求項16に記載の装置。
  19. 前記ビデオコーダは、前記グループ化されたインデックスに基づく前記テーブルに従って前記シンボルをコーディングするようにさらに構成された、請求項18に記載の装置。
  20. 前記ビデオコーダは、前記グループ化されたインデックスを生成するために、前記インデックスに対して実行された数学演算に従って前記シンボルをコーディングするようにさらに構成された、請求項18に記載の装置。
  21. 前記ビデオコーダは、前記テーブルに従って前記インデックスをグループ化されたインデックスにマッピングするよう構成された、請求項16に記載の装置。
  22. 前記ビデオコーダは、数学演算に従って前記インデックスを前記グループ化されたインデックスにマッピングするよう構成された、請求項16に記載の装置。
  23. 前記ビデオコーダは、2で割る演算に従って前記インデックスを前記グループ化されたインデックスにマッピングするよう構成された、請求項22に記載の装置。
  24. 前記ビデオコーダは、線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするよう構成された、請求項16に記載の装置。
  25. 前記ビデオコーダは、対数マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするよう構成された、請求項16に記載の装置。
  26. 前記ビデオコーダは、区分的非線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするよう構成された、請求項16に記載の装置。
  27. 前記複数の確率状態は最も高い確率状態p0を含連続する確率状態であり、各確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αが0.9493よりも大きく、p0が0.5よりも小さい、請求項16に記載の装置。
  28. αは約0.9689であり、p0は約0.493である、請求項27に記載の装置。
  29. 前記ビデオコーディングプロセスはビデオ符号化プロセスであり、前記ビデオコーダはビデオエンコーダであり、前記ビデオエンコーダは、
    残差データを生成するためにビデオデータを符号化することと、
    変換係数を生成するために残差データを変換することと、
    前記シンボルを作成するために変換係数を2値化することと、
    を行うようにさらに構成された、請求項18に記載の装置。
  30. 前記ビデオコーディングプロセスはビデオ復号プロセスであり、前記ビデオコーダはビデオデコーダであり、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることは、復号されたビンを生成し、前記ビデオデコーダは、
    前記シンボルを受信することと、
    変換係数を生成するために前記復号されたビンを逆2値化することと、
    残差データを生成するために前記変換係数を逆変換することと、
    復号ビデオデータを生成するために前記残差データを復号することと、
    を行うようにさらに構成された、請求項18に記載の装置。
  31. ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成された装置であって、
    前記バイナリ算術コーディングプロセスにおける高精細度(HD)ビデオコンテンツに関連するシンボルの確率状態を決定するための手段と、前記確率状態は、前記HDビデオコンテンツのための複数の確率状態から選択され、前記複数の確率状態の数は64よりも多く、64個の確率状態は高精細度(HD)ビデオコンテンツに関連する解像度よりも低い解像度をもつビデオコンテンツのために使用される確率状態の数を表し、
    前記決定された確率状態を示すインデックスを、64個のグループ化されたインデックスのうちの1つにマッピングするための手段と、前記64個のグループ化されたインデックスのうちの少なくとも1つのグループ化されたインデックスは前記複数の確率状態のうちの少なくとも2つを表し、前記64個のグループ化されたインデックスの各々は、テーブル中で、劣勢シンボルから優勢シンボルの範囲を識別する、
    を備える、装置。
  32. 前記複数の確率状態の前記数は128である、請求項31に記載の装置。
  33. 前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングするための手段をさらに備える、請求項31に記載の装置。
  34. 前記複数の確率状態は最も高い確率状態p0を含連続する確率状態であり、各確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは0.9493よりも大きく、p0は0.5よりも小さい、請求項31に記載の装置。
  35. αは約0.9689であり、p0は約0.493である、請求項34に記載の装置。
  36. 実行されたとき、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成されたデバイスの1つまたは複数のプロセッサに、
    前記バイナリ算術コーディングプロセスにおける高精細度(HD)ビデオコンテンツに関連するシンボルの確率状態を決定することと、前記確率状態は、前記HDビデオコンテンツのための複数の確率状態から選択され、前記複数の確率状態の数は64よりも多く、64個の確率状態は高精細度(HD)ビデオコンテンツに関連する解像度よりも低い解像度をもつビデオコンテンツのために使用される確率状態の数を表し、
    前記決定された確率状態を示すインデックスを、64個のグループ化されたインデックスのうちの1つにマッピングすることと、前記64個のグループ化されたインデックスのうちの少なくとも1つのグループ化されたインデックスは前記複数の確率状態のうちの少なくとも2つを表し、前記64個のグループ化されたインデックスの各々は、テーブル中で、劣勢シンボルから優勢シンボルの範囲を識別する、
    を行わせる命令を記憶するコンピュータ可読記憶媒体。
  37. 前記複数の確率状態の前記数は128である、請求項36に記載のコンピュータ可読記憶媒体。
  38. 前記1つまたは複数のプロセッサに、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングさせるための命令をさらに備える、請求項36に記載のコンピュータ可読記憶媒体。
  39. 前記複数の確率状態は最も高い確率状態p0を含連続する確率状態であり、各確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは0.9493よりも大きく、p0は0.5よりも小さい、請求項36に記載のコンピュータ可読記憶媒体。
  40. αは約0.9689であり、p0は約0.493である、請求項39に記載のコンピュータ可読記憶媒体。
JP2014539034A 2011-10-27 2012-10-26 ビデオコーディングのためのバイナリ算術コーダにおける状態のマッピング Expired - Fee Related JP5917705B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161552426P 2011-10-27 2011-10-27
US61/552,426 2011-10-27
US13/660,540 US9871537B2 (en) 2011-10-27 2012-10-25 Mapping states in binary arithmetic coder for video coding
US13/660,540 2012-10-25
PCT/US2012/062087 WO2013063371A1 (en) 2011-10-27 2012-10-26 Mapping states in binary arithmetic coder for video coding

Publications (2)

Publication Number Publication Date
JP2014534736A JP2014534736A (ja) 2014-12-18
JP5917705B2 true JP5917705B2 (ja) 2016-05-18

Family

ID=47291219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014539034A Expired - Fee Related JP5917705B2 (ja) 2011-10-27 2012-10-26 ビデオコーディングのためのバイナリ算術コーダにおける状態のマッピング

Country Status (7)

Country Link
US (1) US9871537B2 (ja)
EP (1) EP2772056A1 (ja)
JP (1) JP5917705B2 (ja)
KR (1) KR101656968B1 (ja)
CN (1) CN103947120B (ja)
IN (1) IN2014CN02702A (ja)
WO (1) WO2013063371A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK2664070T3 (en) 2011-01-14 2017-01-09 Ge Video Compression Llc And decoding Entropikodnings-
AU2012200319B2 (en) 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
AU2012200345B2 (en) * 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
CA3217710A1 (en) 2012-05-25 2013-11-28 Sun Patent Trust Image encoding and decoding using context adaptive binary arithmetic coding with a bypass mode
CN103650511B (zh) 2012-05-25 2017-12-15 太阳专利托管公司 运动图像解码方法及运动图像解码装置
WO2013175736A1 (ja) * 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
RU2623798C2 (ru) 2012-06-04 2017-06-29 Сан Пэтент Траст Способ кодирования движущихся графических изображений, устройство кодирования движущихся графических изображений, способ декодирования движущихся графических изображений и устройство декодирования движущихся графических изображений
CN102883163B (zh) * 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
US9425822B2 (en) * 2014-08-05 2016-08-23 Broadcom Corporation Simplified range and context update for multimedia context-adaptive binary arithmetic coding design
MX2017014838A (es) 2015-05-19 2018-02-19 Mediatek Inc Metodo y aparato para codificacion aritmetica binaria adaptiva de contexto con base en multiples tablas.
US10148961B2 (en) * 2015-05-29 2018-12-04 Qualcomm Incorporated Arithmetic coder with multiple window sizes
KR20240034898A (ko) * 2015-10-13 2024-03-14 삼성전자주식회사 영상을 부호화 또는 복호화하는 방법 및 장치
US10757412B2 (en) 2017-01-03 2020-08-25 Avago Technologies International Sales Pte. Limited Architecture flexible binary arithmetic coding system
US11265561B2 (en) * 2017-01-06 2022-03-01 Mediatek Inc. Method and apparatus for range derivation in context adaptive binary arithmetic coding
US10499074B2 (en) * 2017-01-09 2019-12-03 Qualcomm Incorporated Binary arithmetic coding with small tables or short-operand multiplications for video coding
US10554988B2 (en) * 2017-03-22 2020-02-04 Qualcomm Incorporated Binary arithmetic coding with parameterized probability estimation finite state machines
WO2018194190A1 (ko) * 2017-04-18 2018-10-25 엘지전자(주) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
CN107277518B (zh) * 2017-07-07 2019-07-16 珠海市杰理科技股份有限公司 Cabac解码方法
CN110915213B (zh) 2017-07-14 2021-11-02 联发科技股份有限公司 编解码符号的熵编解码的方法与装置
EP3811616A4 (en) * 2018-05-10 2022-07-27 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR PERFORMING BINARY ARITHMETIC CODING IN VIDEO CODING
TWI765164B (zh) * 2018-07-06 2022-05-21 弗勞恩霍夫爾協會 算術編碼器、算術解碼器、視訊編碼器、視訊解碼器、編碼方法、解碼方法及電腦程式
CN108989825B (zh) * 2018-07-18 2021-05-07 北京奇艺世纪科技有限公司 一种算术编码方法、装置及电子设备
CN109005413B (zh) * 2018-07-18 2021-06-04 北京奇艺世纪科技有限公司 一种算术编码中的概率估计方法、装置及电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823322B2 (en) * 2001-02-14 2004-11-23 Denso Corporation Piecewise nonlinear mapper for digitals
US7206448B2 (en) 2002-02-28 2007-04-17 At&T Corp. System and method for using pattern vectors for video and image coding and decoding
JP3989485B2 (ja) 2002-05-02 2007-10-10 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン バイナリ状態を符号化および復号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータで読取可能な情報記憶媒体
US7595743B1 (en) 2005-10-26 2009-09-29 Lsi Corporation System and method for reducing storage requirements for content adaptive binary arithmetic coding
WO2007065352A1 (en) 2005-12-05 2007-06-14 Huawei Technologies Co., Ltd. Method and apparatus for realizing arithmetic coding/ decoding
CN101198051B (zh) 2006-12-07 2011-10-05 深圳艾科创新微电子有限公司 基于h.264的熵解码器的实现方法及装置
US7710296B2 (en) 2007-09-19 2010-05-04 Texas Instruments Incorporated N-bin arithmetic coding for context adaptive binary arithmetic coding
US7714753B2 (en) 2007-12-11 2010-05-11 Intel Corporation Scalable context adaptive binary arithmetic coding
JP4893657B2 (ja) 2008-02-29 2012-03-07 ソニー株式会社 算術復号装置
AP2016009618A0 (en) 2011-06-16 2016-12-31 Ge Video Compression Llc Entropy coding of motion vector differences

Also Published As

Publication number Publication date
IN2014CN02702A (ja) 2015-07-03
CN103947120B (zh) 2017-09-08
US9871537B2 (en) 2018-01-16
JP2014534736A (ja) 2014-12-18
EP2772056A1 (en) 2014-09-03
CN103947120A (zh) 2014-07-23
WO2013063371A1 (en) 2013-05-02
US20130107951A1 (en) 2013-05-02
KR20140085546A (ko) 2014-07-07
KR101656968B1 (ko) 2016-09-12

Similar Documents

Publication Publication Date Title
JP5917705B2 (ja) ビデオコーディングのためのバイナリ算術コーダにおける状態のマッピング
US10869062B2 (en) Probability initialization and signaling for adaptive arithmetic coding in video coding
CA2913797C (en) Rice parameter initialization for coefficient level coding in video coding process
JP5964448B2 (ja) コンテキスト適応型バイナリ算術コード化のためのコンテキスト削減
JP6113752B2 (ja) Cabac係数レベルコーディングのためのスループット改善
US9313498B2 (en) Sign hiding techniques for quantized transform coefficients in video coding
US9357185B2 (en) Context optimization for last significant coefficient position coding
JP5869115B2 (ja) ビデオ圧縮における係数レベルコーディングのコンテキスト
JP6105048B2 (ja) ビデオコーディングのための変換係数のコーディングにおけるグループフラグ
JP2016515786A (ja) ビデオコード化プロセスにおける係数レベルコード化のためのライスパラメータ更新
US20140003530A1 (en) Sign hiding techniques for quantized transform coefficients in video coding
JP7369191B2 (ja) しきい値とライスパラメータとを使用した係数復号のための正規コード化ビン低減
US10499074B2 (en) Binary arithmetic coding with small tables or short-operand multiplications for video coding

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160202

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: 20160308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160406

R150 Certificate of patent or registration of utility model

Ref document number: 5917705

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees