JP2014525172A - ビデオ圧縮における係数レベルコーディングのコンテキスト - Google Patents

ビデオ圧縮における係数レベルコーディングのコンテキスト Download PDF

Info

Publication number
JP2014525172A
JP2014525172A JP2014519192A JP2014519192A JP2014525172A JP 2014525172 A JP2014525172 A JP 2014525172A JP 2014519192 A JP2014519192 A JP 2014519192A JP 2014519192 A JP2014519192 A JP 2014519192A JP 2014525172 A JP2014525172 A JP 2014525172A
Authority
JP
Japan
Prior art keywords
bin
context
transform coefficient
selecting
vector
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
JP2014519192A
Other languages
English (en)
Other versions
JP5869115B2 (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 JP2014525172A publication Critical patent/JP2014525172A/ja
Application granted granted Critical
Publication of JP5869115B2 publication Critical patent/JP5869115B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本開示では、ビデオデータをコーディングするための技法について説明する。特に、本開示では、ビデオコーディングプロセスによって生成される残差変換係数のエントロピーコーディングのための技法について説明する。一例では、方法は、エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択する。本方法は、さらに、選択されたビン2コンテキストに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングする。ビン2コンテキストを選択することは、ベクトル中の1つまたは複数の前にコーディングされた変換係数のビン2レベルに基づいてベクトル中の現在変換係数のためのビン2コンテキストを選択することを備える。

Description

優先権の主張
本出願は、その各々の全体が参照により本明細書に組み込まれる、2011年6月29日に出願された米国仮出願第61/502,737号および2011年9月29日に出願された米国仮出願第61/540,924号の利益を主張する。
本開示は、ビデオコーディングに関し、より詳細には、ビデオコーディングプロセスにおいてエントロピーコーディングを実行するための技法に関する。
[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]概して、本開示では、ビデオデータをコーディングするための技法について説明する。特に、本開示では、ビデオコーディングプロセスによって生成される残差変換係数のエントロピーコーディングのための技法について説明する。
[0007]本開示の一例では、ビデオコーディングプロセスにおいて変換係数をコーディングする方法は、走査順序に従ってベクトルへの変換係数を走査することと、エントロピーコーディングプロセスに従ってベクトル中の各変換係数のビン1レベルをコーディングするためのビン1コンテキストを選択することと、選択されたビン1コンテキストに従ってベクトル中の各変換係数のビン1レベルをコーディングすることと、エントロピーコーディングプロセスに従ってベクトル中の各変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択することと、選択されたビン2コンテキストに従ってベクトル中の各変換係数のビン2レベルをコーディングすることとを備え、ビン2コンテキストを選択することは、ベクトル中の1つまたは複数の前にコーディングされた変換係数のビン2レベルに基づいてベクトル中の現在変換係数のためのビン2コンテキストを選択することを備える。
[0008]1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
有意性マップ(significance map)コーディングと係数レベルコーディングとのための逆方向走査順序を示す概念図。 コンテキスト適応型バイナリ算術コーディングプロセスにおける例示的なコンテキスト選択を示す概念図。 係数レベルコーディングのための例示的な走査順序を示す概念図。 例示的なビデオ符号化および復号システムを示すブロック図。 例示的なビデオエンコーダを示すブロック図。 例示的なビデオデコーダを示すブロック図。 本明細書で説明するシステムおよび方法による例示的な方法を示す流れ図。 本明細書で説明するシステムおよび方法による例示的な方法を示す流れ図。
[0017]概して、本開示では、ビデオデータをコーディングするための技法について説明する。特に、本開示では、ビデオコーディングプロセスによって生成される残差変換係数のエントロピーコーディングのための技法について説明する。
[0018]デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するためのビデオ圧縮技法を実装する。ビデオ圧縮は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(フレーム内)予測および/または時間的(フレーム間)予測技法を適用し得る。
[0019]ITU−T Video Coding Experts Group(VCEG)とISO/IEC Motion Picture Experts Group(MPEG)とのJoint Collaboration Team on Video Coding(JCT−VC)によって開発されている新しいビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)がある。「HEVCワーキングドラフト6」または「WD6」と呼ばれる、HEVC規格の最近のドラフトは、2012年6月1日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zipからダウンロード可能である、ドキュメントJCTVC−H1003、Brossら、「High efficiency video coding (HEVC) text specification draft 6」、Joint Collaborative Team on Video Coding (JCT−VC) of ITU−T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、8th Meeting: San Jose、California、USA、February、2012に記載されている。
[0020]現在開発中の高効率ビデオコーディング(HEVC)規格に従うビデオコーディングでは、ビデオフレームが、コーディングユニットと、予測ユニットと、変換ユニットとに区分され得る。コーディングユニット(CU)は、概して、ビデオ圧縮のために様々なコーディングツールが適用される基本ユニットとして働く画像領域を指す。コーディングユニットは、一般に矩形であり、たとえば、ITU−T H.264などの他のビデオコーディング規格の下でのいわゆるマクロブロックと同様であると見なされ得る。
[0021]より良好なコーディング効率を達成するために、コーディングユニットは、ビデオコンテンツに応じて可変サイズを有し得る。さらに、コーディングユニットは、予測または変換のためにより小さいブロックに分割され得る。具体的には、各コーディングユニットは、予測ユニットと変換ユニットとにさらに区分され得る。予測ユニットは、H.264規格などの他のビデオコーディング規格の下でのいわゆるパーティションと同様であると見なされ得る。変換ユニットは、変換係数を生成するために変換が適用される残差データのブロックを指す。
[0022]コーディングユニットは、通常、Yとして示される1つのルミナンス成分と、UおよびVとして示される2つのクロマ成分とを有する。ビデオサンプリングフォーマットに応じて、サンプルの数で表されるUおよびV成分のサイズは、Y成分のサイズと同じであるかまたはそれとは異なり得る。
[0023]ブロック(たとえば、ビデオデータの予測ユニット)をコーディングするために、ブロックの予測子が最初に導出される。予測子は、イントラ(I)予測(すなわち、空間的予測)あるいはインター(PまたはB)予測(すなわち、時間的予測)のいずれかを通して導出され得る。したがって、いくつかの予測ユニットは、同じフレーム中の隣接参照ブロックに対する空間的予測を使用してイントラコーディング(I)され得、他の予測ユニットは、他のフレーム中の参照ブロックに対してインターコーディング(PまたはB)され得る。
[0024]予測子が識別されると、元のビデオデータブロックとそれの予測子との間の差分が計算される。この差分は、予測残差とも呼ばれ、コーディングされるべきブロックと、参照ブロック、すなわち、予測子との間のピクセル差分を指す。より良好な圧縮を達成するために、予測残差は、概して、たとえば、離散コサイン変換(DCT)、整数変換、カルーネンレーベ(Karhunen-Loeve)(K−L)変換、または他の変換を使用して変換され得る。
[0025]変換は、空間領域におけるピクセル差分値を、変換領域、たとえば、周波数領域における変換係数に変換する。変換係数は、通常、各変換ユニットについて2次元(2D)アレイに構成される。さらなる圧縮のために、変換係数は量子化され得る。エントロピーコーダは、次いで、量子化された変換係数に、コンテキスト適応型可変長コーディング(CAVLC:Context Adaptive Variable Length Coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:Context Adaptive Binary Arithmetic Coding)、可変長コードワード(V2V)を用いたコンテキスト適応型確率間隔区分エントロピー(PIPE:probability interval partitioning entropy)コーディングなどのエントロピーコーディングを適用する。
[0026]概して、CABACを使用してデータシンボルをコーディングすることは、以下のステップのうちの1つまたは複数を伴う。
(1)2値化。コーディングされるべきシンボルが非2値化値である場合、そのシンボルは、いわゆる「ビン」のシーケンスにマッピングされる。各ビンは「0」または「1」の値を有することができる。
(2)コンテキスト割当て。(標準モードにおける)各ビンはコンテキストに割り当てられる。コンテキストモデルは、前に符号化されたシンボルの値またはビンナンバ(number)など、ビンについて利用可能な情報に基づいて所与のビンのコンテキストがどのように計算されるかを決定する。
(3)ビン符号化。ビンは算術エンコーダを用いて符号化される。ビンを符号化するために、算術エンコーダは、入力として、ビンの値の確率、すなわち、ビンの値が「0」に等しい確率と、ビンの値が「1」に等しい確率とを必要とする。各コンテキストの(推定された)確率は、「コンテキスト状態」と呼ばれる整数値によって表される。各コンテキストはある状態を有し、したがって、その状態(すなわち、推定された確率)は、1つのコンテキストに割り当てられたビンに対して同じであり、コンテキスト間で異なる。
(4)状態更新。選択されたコンテキストの確率(状態)は、ビンの実際のコード化値に基づいて更新される(たとえば、ビン値が「1」であった場合、「1」の確率が増加される)。
[0027]確率間隔区分エントロピーコーディング(PIPE:probability interval partitioning entropy coding)は、算術コーディングの原理と同様の原理を使用し、したがって、本開示の技法をも利用することができることに留意されたい。
[0028]H.264/AVCおよびHEVCにおけるCABACは状態を使用し、各状態は暗黙的に確率に関係する。シンボル(「0」または「1」)の確率が直接使用される、すなわち、確率(またはそれの整数バージョン)が状態である、CABACの変形態が存在する。たとえば、CABACのそのような変形態は、以下において「JCTVC−A114」と呼ぶ、「Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor」、JCTVC−A114、1st JCT−VC Meeting、Dresden、DE、April 2010、および、以下において「JCTVC−F254」と呼ぶ、A. AlshinおよびE. Alshina、「Multi-parameter probability update for CABAC」、JCTVC−F254、6th JCT−VC Meeting、Torino、IT、July 2011に記載されている。
[0029]量子化された変換係数のブロックをエントロピーコーディングするために、ブロック中の量子化された変換係数の2次元(2D)アレイが、特定の走査順序に従って変換係数の順序付き1次元(1D)アレイ、すなわちベクトルにおいて処理されるように、走査プロセスが通常実行される。エントロピーコーディングは変換係数の1D順序で適用される。変換ユニット中の量子化された変換係数の走査は、エントロピーコーダのために変換係数の2Dアレイをシリアル化する。有意(すなわち、非0)係数の位置を示すための有意性マップが生成され得る。走査は、有意(すなわち、非0)係数のレベルを走査するために、および/または有意係数の符号をコーディングするために適用され得る。
[0030]一例として、DCTでは、しばしば、2D変換ユニットの左上隅(すなわち、低周波数領域)のほうが非0係数の確率がより高くなる。係数のシリアル化ランの一方の端部において非0係数を一緒にグループ化する確率を増加させる方法で係数を走査して、0値係数がシリアル化ベクトルの別の端部のほうへ一緒にグループ化され、ゼロのランとしてより効率的にコーディングされることを可能にすることが望ましいことがある。この理由で、走査順序は効率的なエントロピーコーディングのために重要であり得る。
[0031]一例として、HEVC規格において量子化変換係数を走査する際に使用するために、いわゆる対角(または波面(wavefront))走査順序が採用されている。代替的に、ジグザグ、水平、垂直、または他の走査順序が使用され得る。変換および量子化を通して、上述のように、変換がDCTである例では、非0変換係数は、概して、ブロックの左上領域のほうの低周波数エリアに位置する。その結果、最初に左上領域を横断し得る対角走査プロセスの後に、非0変換係数は、通常、走査の前部分に位置する可能性が高くなる。最初に右下領域から横断する対角走査プロセスの場合、非0変換係数は、通常、走査の後ろ部分に位置する可能性が高くなる。
[0032]図1に、変換係数のブロック、すなわち、変換ブロックのための逆方向走査順序の例を示す。変換ブロックは、たとえば、離散コサイン変換(DCT)など、変換を使用して形成され得る。逆方向対角パターン9、逆方向ジグザグパターン29、逆方向垂直パターン31、および逆方向水平パターン33の各々は、変換ブロックの右下隅におけるより高い周波数の係数から、変換ブロックの左上隅におけるより低い周波数の係数に進むことに留意されたい。
[0033]H.264および新生のHEVC規格では、CABACエントロピーコーダが使用されるとき、ブロック中の有意係数(すなわち、非0変換係数)の位置は、係数のレベルより前に符号化される。有意係数のロケーションをコーディングするプロセスは、有意性マップコーディングと呼ばれる。有意性マップは1および0のマップであり、1は有意係数のロケーションを示す。有意性マップは、一般に、高い割合のビデオビットレートを必要とする。
[0034]有意性マップが符号化された後に、各変換係数(すなわち、係数値)のレベル情報(絶対レベルおよび符号)が符号化される。一例では、絶対変換係数レベルのコーディングプロセスは、順方向ジグザグ走査を使用することによって8×8以上のサイズの各方形(または矩形)ブロックを4×4サブブロックの順序付きセット(たとえば、ベクトル)上にマッピングしながら、逆方向ジグザグ走査において1サブブロック内の変換係数レベルを処理することを含む。図3に、変換係数のレベル情報(すなわち、絶対値)を符号化するために従われる走査順序の一例を示す。他の例では、サブブロック内の変換係数レベル情報は、水平走査、垂直走査、対角走査など、他の走査パターンを使用して処理される。HEVCなど、いくつかのシステムは、有意性マップとレベルコーディングとのために同じ走査を使用し得る。走査は、4×4サブブロック対角走査、およびサブブロック上の対角走査であり得る。水平走査と垂直走査とが使用されるとき、いくつかの例は、水平走査と垂直走査とにも従うレベルコーディングを使用し得る。
[0035]変換係数のレベル情報を走査する他の例では、係数の8×8以上のサブブロック内で走査するのではなく、係数は、走査順序に沿った係数のサブセット上の逆方向走査を使用して走査される。一例として、第1のサブセットは、逆方向対角走査順序に沿った変換ユニット中の第1の16個の係数であり得る。したがって、このプロセス中で走査される係数は、必ずしも矩形サブブロック内にあるとは限らない。これにより、選定された走査順序に沿った係数のサブセットが潜在的により相関させられるので、より高いコーディング効率が可能になる。
[0036]H.264規格において前に規定されたCABACプロセスでは、4×4サブブロックの処理の後に、変換係数レベルの各々が、たとえば、ユーナリーコード(unary code)に従って、2値化されて、一連のビンが生成される。一例では、0次の指数ゴロムコード(exponential-Golomb code of 0th order)をもつ短縮ユーナリー連結コード(truncated unary concatenated code)が使用され得る。各サブブロックのCABACコンテキストモデルセットは、変換係数の絶対値を符号化するcoeff_abs_level_minus_oneシンタックス要素の第1のビンと、(第14のビンを含み、第14のビンまでの)すべての残りのビンとの両方のための5つのモデルをもつ、2×6個のコンテキストモデルからなる。HEVCについての現在の提案では、コンテキストモデルの選択は、H.264規格について提案された元のCABACプロセスの場合と同様に実行される。ただし、異なるサブブロックのためにコンテキストモデルの異なるセットが選択され得る。特に、所与のサブブロックのためのコンテキストモデルセットの選定は、1つまたは複数の前にコーディングされたサブブロックのいくつかの統計値に依存する。HEVCについての1つの現在の提案では、ビン1とビン2とのためにCABACが使用されるが、残りのビンは、バイパスモードで指数ゴロムコードをもつライスゴロム結合コード(Rice-Golomb concatenated code)を使用する。
[0037]この手法は、表1および表2において以下で示すように分配された10個のコンテキストの6つのセットという、60個のコンテキストを使用する。4×4ブロックの場合、10個のモデルが使用され得、5つのモデルはビン1のために、5つのモデルはビン2〜14のために使用され得る。HEVCのためのCABACのいくつかの実施形態では、ビン1のための5つのモデルと、ビン2のための5つのモデルとがあり、残りのビン(たとえば、ビン3〜14)は、それらが「バイパス」モードでコーディングされるので固定確率モデルを使用することに留意されたい。
Figure 2014525172
[0038]前の4×4サブブロック中の1よりも大きい係数の数に応じて、これらの10個のモデルの6つの異なるセットがある。表2に、各コンテキストセットの選択基準を示す。
Figure 2014525172
[0039]HEVCのドラフトでは、係数レベルのビン2のコーディングのためのコンテキストは、前にコーディングされた係数のビン1値に基づいて選択されるが(表1)、前にコーディングされた係数のビン2値に基づいて選択されない。これは、ビン1中の前にコーディングされた係数に基づいて選択される、ビン1のコンテキストとは異なる。すなわち、ビン1の特定の係数のために使用されるコンテキストは、ビン1中で前にコーディングされたトレイリング(trailing)「1」の数に依存する。ビン2コンテキストの選択基準は、利用可能なすべての関係するデータ(すなわち、前にコーディングされたビン2値)を利用するとは限らず、むしろ、1よりも大きい、前にコーディングされた係数の数だけに依拠する。この情報はビン1コーディングから知られるので、ビン2コンテキストの選択は、ビン2コーディングからの情報を使用しない。したがって、ビン2コンテキストの導出の選択基準は、その選択基準を用いてCABACを実行するとき、潜在的に最適でないパフォーマンスを生じる。
[0040]本開示では、上記で説明した欠点の一部を減らすかまたはなくし得るいくつかの異なる特徴について説明する。概して、本開示は、ビン2走査において前にコーディングされた係数のコード化レベルに基づいてビン2コンテキストを導出することを提案する。本開示ではCABACプロセスに関して説明するが、本開示の技法は、コンテキストモデルを利用する任意のエントロピーコーディングプロセスに適用可能である。
[0041]本開示の一例では、コンテキストの導出は、上記の表1に示すビン1に関して同様の様式であるが、トレイリング(trailing)「1」ではなく「2」の数を計数して行われ得る。表3にこの例を示す。ビン2走査において現在係数に適用すべきコンテキストを選択するために、2の値をもつ、前に符号化されたビン2係数の数が使用される。コンテキスト1は、2の値を有するビン2走査における初期係数のために使用される。コンテキスト2は、ただ1つの前にコーディングされた係数が、ビン2走査において2の値を有するものとしてコーディングされた係数のために使用される。コンテキスト3は、ただ2つの前にコーディングされた係数が、ビン2走査において2の値を有するものとしてコーディングされた係数のために使用される。コンテキスト4は、3つ以上の前にコーディングされた係数が、ビン2走査において2の値を有するものとしてコーディングされた係数のために使用される。コンテキスト0は、2よりも大きい値をもつ係数がビン2走査においてコーディングされた後、すべての後続の係数のために使用される。
Figure 2014525172
[0043]表4に、ただ4つのコンテキストを有するビン2コンテキストモデルの代替実施形態を示す。
Figure 2014525172
[0044]表3および表4は、ビン2におけるコンテキストのための選択基準の例示的な実施形態である。現在のビン2係数のコンテキストを選択するために前のビン2係数のコード化値を利用する他の選択基準が使用され得る。
[0045]図2は、本開示による例示的なCABACプロセスを示す概念図である。図2に示すように、量子化変換係数120のベクトルは、1、−1、1、2、−2、−2、0、3、および4である係数を含み得る。モデルビン1のコンテキストに表1の規則を適用すると、図2に示すコンテキストがもたらされる。
[0046]図示のように、モデルビン1のための第1のコンテキストはコンテキスト1である。ベクトル中の第1の係数のためのビン1をコーディングするために、それがトレイリング「1」をもたない初期値であるので、コンテキスト1が選定される。
[0047]ベクトル中の第2の係数のためのビン1をコーディングするために、1つのトレイリング「1」があるので、コンテキスト2が選定される。すなわち、少なくとも1つの前にコーディングされた変換係数の絶対値は1の値を有する(たとえば、ベクトル中の第1の係数が1の絶対値を有する)。
[0048]ベクトル中の第3の係数のためのビン1をコーディングするために、2つのトレイリング「1」があるので、コンテキスト3が選定される。すなわち、少なくとも2つの前にコーディングされた変換係数の絶対値は1の値を有する(たとえば、ベクトル中の第1の係数と第2の係数の両方が1の絶対値を有する)。
[0049]ベクトル中の第4の係数のためのビン1をコーディングするために、3つ以上のトレイリング「1」があるので、コンテキスト4が選定される。すなわち、少なくとも3つの前にコーディングされた変換係数の絶対値は1の値を有する(たとえば、ベクトル中の第1の係数と第2の係数と第3の係数とのいずれもが1の絶対値を有する)。
[0050]ベクトル中の第5の係数のためのビン1をコーディングするために、1よりも大きい係数が既に符号化されているので、コンテキスト0が選定される。すなわち、前にコーディングされた変換係数の絶対値は、1よりも大きい絶対値を有する(たとえば、ベクトル中の第4の係数が2の絶対値を有する)。
[0051]ビン1のコンテキストに規則を適用すると、第6の係数の値が符号化されないこと、×がもたらされる(「×」は、その係数のビン1値がコーディングされないことを示す)。これは、その値が0よりも大きくないことが有意性マップコーディングからすでに知られているからである。したがって、その値は1よりも大きくなることができない。
[0052]ベクトル中の第7の係数と第8の係数とのためのビン1をコーディングするために、1よりも大きい係数が符号化されているので、コンテキスト0が選定される。すなわち、前にコーディングされた変換係数の絶対値は、1よりも大きい絶対値を有する(たとえば、ベクトル中の第4の係数が2の絶対値を有する)。
[0053]モデルビン2についての前の規則はまた、表1に要約されている。表1に基づく規則のためにビン2のコンテキストに規則を適用すると、第1の係数から第3の係数までの値が符号化されないこと、×、×、×につながる(「×」は、その係数のビン2値がコーディングされないことを示す)。これは、値が1よりも大きくなく、したがって2よりも大きくなることができないことをビン1コーディングが示すからである。
[0054]ベクトル中の第4の係数のためのビン2をコーディングするために、1としてコーディングされる1つのビン1値があるので、コンテキスト1が選定される。すなわち、ビン1のための1つの前にコーディングされた変換係数の絶対値は1の値を有する(たとえば、ビン1中の第1の係数が1としてコーディングされる)。
[0055]ベクトル中の第5の係数のためのビン2をコーディングするために、1としてコーディングされる2つのビン1値があるので、コンテキスト2が選定される。すなわち、ビン1のための少なくとも2つの前にコーディングされた変換係数の絶対値は1の値を有する(たとえば、ビン1中の第1の係数と第2の係数の両方が1の絶対値を有する)。
[0056]係数6の値は符号化されない(別の「×」は、その係数のビン2値がコーディングされないことを示す)。これは、その係数の値がコーディングされるべきでないことをビン1コーディング(同じく「×」)が示すからである。
[0057]ベクトル中の第7の係数のためのビン2をコーディングするために、「1」よりも大きい3つのトレイリング値があるので、コンテキスト3が選定される。すなわち、ビン1のための少なくとも3つの前にコーディングされた変換係数の絶対値は1の値を有する(たとえば、ベクトル中の第1の係数と第2の係数と第3の係数とのいずれもが1の絶対値を有する)。
[0058]ベクトル中の第8の係数のためのビン2をコーディングするために、「1」よりも大きい3つのトレイリング値があるので、コンテキスト4が選定される。すなわち、ビン1のための少なくとも3つの前にコーディングされた変換係数の絶対値は1の値を有する(たとえば、ベクトル中の第1の係数と第2の係数と第3の係数とのいずれもが1の絶対値を有する)。
[0059]表3の提案された規則を適用すると、係数1、−1、1、2、−2、−2、0、3、および−4についてのビン2のコンテキストは、×、×、×の後に、コンテキスト1、コンテキスト2、×、コンテキスト3、およびコンテキスト0が続く。わかるように、この例では、ベクトル中の第8の係数のために選択されるコンテキストは、表1に示すビン2の規則とは異なる。表3の提案された規則の下で、ベクトル中の第8の係数のためのビン2をコーディングするために、「2」としてコーディングされる少なくとも1つのビン2値があるので、コンテキスト0が選定される。すなわち、ビン2のための少なくとも1つの前にコーディングされた変換係数の絶対値は2の絶対値を有する(たとえば、ベクトル中の第7の係数が3の絶対値を有する)。このようにして、後続のビン2値をコーディングするためのコンテキストを選定するとき、ビン2コーディングに関するより最新の情報(すなわち、係数が、2よりも大きい絶対値を有するか否か)が考慮に入れられる。
[0060]以下の図4は、本開示の例によるエントロピーコーディングのための技法を利用するように構成され得る例示的なビデオ符号化および復号システム10を示すブロック図である。図4に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先デバイス14に送信するソースデバイス12を含む。符号化ビデオデータはまた、記憶媒体34またはファイルサーバ36に記憶され得、必要に応じて宛先デバイス14によってアクセスされ得る。記憶媒体またはファイルサーバに記憶されたとき、ビデオエンコーダ20は、コード化ビデオデータを記憶媒体に記憶するための、ネットワークインターフェース、コンパクトディスク(CD)、ブルーレイ(登録商標)またはデジタルビデオディスク(DVD)バーナーまたはスタンピングファシリティデバイス、あるいは他のデバイスなど、別のデバイスにコード化ビデオデータを与え得る。同様に、ネットワークインターフェース、CDまたはDVDリーダーなど、ビデオデコーダ30とは別個のデバイスが、記憶媒体からコード化ビデオデータを取り出し、取り出されたデータをビデオデコーダ30に与え得る。
[0061]ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆるスマートフォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、多種多様なデバイスのいずれかを備え得る。多くの場合、そのようなデバイスはワイヤレス通信が可能であり得る。したがって、通信チャネル16は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、またはワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ36は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス14によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。
[0062]本開示の例による、エントロピーコーディングのための技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0063]図4の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器22と、送信機24とを含む。ソースデバイス12において、ビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例、あるいは符号化ビデオデータがローカルディスクに記憶された適用例に適用され得る。
[0064]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
[0065]ビデオエンコーダ20によって符号化された、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオはまた、後で消費するために記憶媒体34またはファイルサーバ36に記憶され得る。記憶媒体34は、ブルーレイディスク、DVD、CD−ROM、フラッシュメモリ、または符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。記憶媒体34に記憶された符号化ビデオは、次いで、復号および再生のために宛先デバイス14によってアクセスされ得る。
[0066]ファイルサーバ36は、符号化ビデオを記憶することと、その符号化ビデオを宛先デバイス14に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、ローカルディスクドライブ、または符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイスに送信することとが可能な他のタイプのデバイスを含む。ファイルサーバ36からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。ファイルサーバ36は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス14によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル(たとえば、Wi−Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデム、イーサネット(登録商標)、USBなど)、または両方の組合せを含み得る。
[0067]図4の例では、宛先デバイス14は、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。宛先デバイス14の受信機26はチャネル16を介して情報を受信し、モデム28はその情報を復調して、ビデオデコーダ30のための復調されたビットストリームを生成する。チャネル16を介して通信される情報は、ビデオデータを復号する際にビデオデコーダ30が使用する、ビデオエンコーダ20によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体34またはファイルサーバ36に記憶された符号化ビデオデータとともに含まれ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ(コーデック)の一部を形成し得る。
[0068]ディスプレイデバイス32は、宛先デバイス14と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0069]図4の例では、通信チャネル16は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0070]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part10,Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはMPEG−2およびITU−T H.263がある。
[0071]図4には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、また、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0072]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0073]ビデオエンコーダ20は、ビデオ符号化プロセスにおけるエントロピーコーディングのための本開示の技法のいずれかまたはすべてを実装し得る。同様に、ビデオデコーダ30は、ビデオコーディングプロセスにおけるエントロピーコーディングのためのこれらの技法のいずれかまたはすべてを実装し得る。本開示で説明するビデオコーダは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングはビデオ符号化またはビデオ復号を指し得る。
[0074]ビデオコーディングプロセスにおいて変換係数をコーディングする例示的な方法は、ビデオエンコーダ20およびビデオデコーダ30によって実装され得る。例示的な方法では、ビデオエンコーダ20またはビデオデコーダは、エントロピーコーディングプロセスに従ってベクトル中の各変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択するように構成され得る。ビデオエンコーダ20またはビデオデコーダ30は、選択されたビン2コンテキストに従ってベクトル中の各変換係数のビン2レベルをコーディングし得る。ビン2コンテキストを選択することは、ベクトル中の1つまたは複数の前にコーディングされた変換係数のビン2レベルに基づいてベクトル中の現在変換係数のためのビン2コンテキストを選択することを含み得る。
[0075]以下の図5は、本開示で説明するエントロピーコーディングのための技法を使用し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20について、例示のためにHEVCコーディングのコンテキストにおいて説明するが、変換係数の走査を必要とし得る他のコーディング規格または方法に関して本開示を限定するものではない。ビデオエンコーダ20は、ビデオフレーム内のCUのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオデータの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの現在フレームと前にコーディングされたフレームとの間の時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのビデオ圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのビデオ圧縮モードのいずれかを指し得る。
[0076]図5に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図8の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測モジュール46と、参照フレームバッファ64と、加算器50と、変換モジュール52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。図5に示す変換モジュール52は、残差データのブロックに実際の変換または変換の組合せを適用するユニットであり、CUの変換ユニット(TU)と呼ばれることもある変換係数のブロックと混同されるべきでない。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換モジュール60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図5に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。
[0077]符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロック、たとえば、最大コーディングユニット(LCU)に分割され得る。動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測モジュール46は、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。
[0078]モード選択ユニット40は、たとえば、各モードについての誤差(すなわち、ひずみ)結果に基づいて、コーディングモードのうちの1つ、すなわち、イントラまたはインターを選択し得、得られたイントラまたはインター予測ブロック(たとえば、予測ユニット(PU))を、残差ブロックデータを生成するために加算器50に与え、参照フレーム中で使用する符号化ブロックを再構成するために加算器62に与える。加算器62は、以下でより詳細に説明するように、予測ブロックを、そのブロックについての、逆変換モジュール60からの逆量子化され逆変換されたデータと合成して、符号化ブロックを再構成する。いくつかのビデオフレームはIフレームに指定され得、Iフレーム中のすべてのブロックはイントラ予測モードで符号化される。場合によっては、たとえば、動き推定ユニット42によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測モジュール46は、PフレームまたはBフレーム中のブロックのイントラ予測符号化を実行し得る。
[0079]動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定(または動き探索)は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照フレームの参照サンプルに対する、現在フレーム中の予測ユニットの変位を示し得る。動き推定ユニット42は、予測ユニットを参照フレームバッファ64に記憶された参照フレームの参照サンプルと比較することによってインターコード化フレームの予測ユニットの動きベクトルを計算する。参照サンプルは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of squared difference)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされているPUを含むCUの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこにでも発生し得、必ずしも、参照フレームまたはスライスのブロック(たとえば、コーディングユニット)境界において発生するとは限らない。いくつかの例では、参照サンプルは分数ピクセル位置において発生し得る。
[0080]動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット44は、たとえば、PUの動きベクトルによって識別される参照サンプルを取り出すことによって、現在CUの予測ユニットについての予測値を計算し得る。
[0081]イントラ予測モジュール46は、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、受信ブロックをイントラ予測し得る。イントラ予測モジュール46は、隣接する、前にコーディングされたブロック、たとえば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの上、右上、左上、または左のブロックに対して受信ブロックを予測し得る。イントラ予測モジュール46は多種多様なイントラ予測モードで構成され得る。たとえば、イントラ予測モジュール46は、符号化されているCUのサイズに基づいて、一定数の方向性予測モード、たとえば、35個の方向性予測モードで構成され得る。
[0082]イントラ予測モジュール46は、たとえば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接するピクセルの値を合成し、その合成された値をPU中の1つまたは複数のピクセル位置に適用するための機能を含み得る。PU中のすべてのピクセル位置の値が計算されると、イントラ予測ユニット46は、PUと符号化されるべき受信ブロックとの間のピクセル差分に基づいて予測モードの誤差値を計算し得る。イントラ予測モジュール46は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測モジュール46は、次いで、PUを加算器50に送り得る。
[0083]ビデオエンコーダ20は、コーディングされている元のビデオブロックから、動き補償ユニット44またはイントラ予測モジュール46によって計算された予測データを減算することによって残差ブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。残差ブロックはピクセル差分値の2次元行列に対応し得、残差ブロック中の値の数は、残差ブロックに対応するPU中のピクセルの数と同じである。残差ブロック中の値は、PU中のコロケート(co-located)ピクセルの値と、コーディングされるべき元のブロック中のコロケートピクセルの値との間の差分、すなわち、誤差に対応し得る。差分は、コーディングされるブロックのタイプに応じてクロマ差分またはルーマ差分であり得る。
[0084]変換モジュール52は、残差ブロックから1つまたは複数の変換ユニット(TU)を形成し得る。変換モジュール52は、複数の変換の中から変換を選択する。変換は、ブロックサイズ、コーディングモードなど、1つまたは複数のコーディング特性に基づいて選択され得る。変換モジュール52は、次いで、選択された変換をTUに適用して、変換係数の2次元アレイを備えるビデオブロックを生成する。変換モジュール52は、上記で説明した本開示の技法に従って変換パーティションを選択し得る。さらに、変換モジュール52は、選択された変換パーティションを符号化ビデオビットストリーム中でシグナリングし得る。
[0085]変換モジュール52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、次いで、その変換係数を量子化し得る。エントロピー符号化ユニット56が、次いで、走査モードに従って、行列中の量子化された変換係数の走査を実行し得る。本開示では、エントロピー符号化ユニット56が走査を実行するものとして説明する。ただし、他の例では、量子化ユニット54などの他の処理ユニットが走査を実行し得ることを理解されたい。
[0086]変換係数が1次元アレイに走査されると、エントロピー符号化ユニット56は、CAVLC、CABAC、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、または別のエントロピーコーディング方法などのエントロピーコーディングを係数に適用し得る。
[0087]CAVLCを実行するために、エントロピー符号化ユニット56は、送信されるべきシンボルの可変長コードを選択し得る。VLCのコードワードは、相対的により短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構成され得る。このようにして、VLCを使用すると、たとえば、送信されるべきシンボルごとに等長コードワードを使用するよりも、ビット節約が達成され得る。
[0088]CABACを実行するために、エントロピー符号化ユニット56は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、たとえば、隣接値が非0であるか否かに関係し得る。エントロピー符号化ユニット56はまた、選択された変換を表す信号など、シンタックス要素をエントロピー符号化し得る。本開示の技法によれば、エントロピー符号化ユニット56は、コンテキストモデル選択のために使用されるファクタの中でも、たとえば、イントラ予測モードのためのイントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、および/または変換タイプに基づいて、これらのシンタックス要素を符号化するために使用されるコンテキストモデルを選択し得る。本開示の例によれば、エントロピー符号化ユニット56は、エントロピーコーディングプロセスに従ってベクトル中の各変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択するように構成され得る。エントロピー符号化ユニット56は、選択されたビン2コンテキストに従ってベクトル中の各変換係数のビン2レベルをコーディングし得る。ビン2コンテキストを選択することは、ベクトル中の1つまたは複数の前にコーディングされた変換係数のビン2レベルに基づいてベクトル中の現在変換係数のためのビン2コンテキストを選択することを含み得る。
[0089]エントロピー符号化ユニット56によるエントロピーコーディングの後に、得られた符号化ビデオは、ビデオデコーダ30などの別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
[0090]場合によっては、エントロピー符号化ユニット56またはビデオエンコーダ20の別のユニットは、エントロピーコーディングに加えて、他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット56は、CUおよびPUのコード化ブロックパターン(CBP:coded block pattern)値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット56は係数のランレングスコーディングを実行し得る。
[0091]逆量子化ユニット58および逆変換モジュール60は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレームバッファ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレームバッファ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0092]以下の図6は、符号化ビデオシーケンスを復号するビデオデコーダ30の一例を示すブロック図である。図8の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測モジュール74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームバッファ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図5参照)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
[0093]エントロピー復号ユニット70は、変換係数の1次元アレイを取り出すために、符号化ビットストリームに対してエントロピー復号プロセスを実行する。使用されるエントロピー復号プロセスは、ビデオエンコーダ20によって使用されたエントロピーコーディング(たとえば、CABAC、CAVLCなど)に依存する。エンコーダによって使用されたエントロピーコーディングプロセスは、符号化ビットストリーム中でシグナリングされるか、または所定のプロセスであり得る。
[0094]いくつかの例では、エントロピー復号ユニット70(または逆量子化ユニット76)は、ビデオエンコーダ20のエントロピー符号化ユニット56(または量子化ユニット54)によって使用された走査モードをミラーリングする走査を使用して受信値を走査し得る。係数の走査は逆量子化ユニット76において実行され得るが、走査については、例示のために、エントロピー復号ユニット70によって実行されるものとして説明する。さらに、説明しやすいように別個の機能ユニットとして示されているが、ビデオデコーダ30のエントロピー復号ユニット70、逆量子化ユニット76、および他のユニットの構造および機能は互いに高度に統合され得る。本開示の例によれば、エントロピー復号ユニット70は、エントロピーコーディングプロセスに従ってベクトル中の各変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択するように構成され得る。エントロピー復号ユニット70は、選択されたビン2コンテキストに従ってベクトル中の各変換係数のビン2レベルをコーディングし得る。ビン2コンテキストを選択することは、ベクトル中の1つまたは複数の前にコーディングされた変換係数のビン2レベルに基づいてベクトル中の現在変換係数のためのビン2コンテキストを選択することを含み得る。
[0095]逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された、量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、たとえば、HEVCのために提案されたプロセスまたはH.264復号規格によって定義されたプロセスと同様の、従来のプロセスを含み得る。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、CUについてビデオエンコーダ20によって計算される量子化パラメータQPの使用を含み得る。逆量子化ユニット76は、係数が1次元アレイから2次元アレイに変換される前または変換された後に変換係数を逆量子化し得る。
[0096]逆変換モジュール78は、逆量子化された変換係数に逆変換を適用する。いくつかの例では、逆変換モジュール78は、ビデオエンコーダ20からのシグナリングに基づいて、あるいはブロックサイズ、コーディングモードなどの1つまたは複数のコーディング特性から変換を推論することによって、逆変換を決定し得る。いくつかの例では、逆変換モジュール78は、現在ブロックを含むLCUのための4分木のルートノードにおけるシグナリングされた変換に基づいて、現在ブロックに適用すべき変換を決定し得る。代替的に、変換は、LCU4分木中のリーフノードCUのためのTU4分木のルートにおいてシグナリングされ得る。いくつかの例では、逆変換モジュール78は、逆変換モジュール78が、復号されている現在ブロックの変換係数に2つ以上の逆変換を適用する、カスケード逆変換を適用し得る。
[0097]さらに、逆変換ユニットは、逆変換を適用して、本開示の上記で説明した技法に従って変換ユニットパーティションを生成し得る。
[0098]イントラ予測モジュール74は、シグナリングされたイントラ予測モードと、現在フレームの前に復号されたブロックからのデータとに基づいて、現在フレームの現在ブロックについての予測データを生成し得る。
[0099]取り出された動き予測方向、参照フレームインデックス、および計算された現在動きベクトルに基づいて、動き補償ユニットは現在部分の動き補償ブロックを生成する。これらの動き補償ブロックは、本質的に、残差データを生成するために使用される予測ブロックを再現する。
[0100]動き補償ユニット72は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行し得る。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子がシンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0101]さらに、動き補償ユニット72およびイントラ予測モジュール74は、HEVCの例では、(たとえば、4分木によって与えられる)シンタックス情報の一部を使用して、符号化ビデオシーケンスの(1つまたは複数の)フレームを符号化するために使用されたLCUのサイズを決定し得る。動き補償ユニット72およびイントラ予測モジュール74はまた、シンタックス情報を使用して、符号化ビデオシーケンスのフレームの各CUがどのように分割されるか(および、同様に、サブCUがどのように分割されるか)を記述する分割情報を決定し得る。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード(たとえば、イントラまたはインター予測、およびイントラ予測の場合はイントラ予測符号化モード)と、各インター符号化PUについての1つまたは複数の参照フレーム(および/またはそれらの参照フレームの識別子を含んでいる参照リスト)と、符号化ビデオシーケンスを復号するための他の情報とを含み得る。
[0102]加算器80は、残差ブロックを、動き補償ユニット72またはイントラ予測モジュール74によって生成される対応する予測ブロックと合成して、復号ブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号ビデオブロックは、次いで、参照フレームバッファ82に記憶され、参照フレームバッファ82は、その後の動き補償のための参照ブロックを与え、また、(図4のディスプレイデバイス32などの)ディスプレイデバイス上での提示のために復号ビデオを生成する。
[0103]図7は、本明細書で説明するシステムおよび方法による、ビデオコーディングプロセスにおいて変換係数を符号化する例示的な方法を示す流れ図である。図7の方法は、たとえば、ビデオエンコーダ20によって実装され得る。ステップ500において、ビデオエンコーダ20は、走査順序に従ってベクトルへの変換係数のブロックの少なくとも一部分を走査するように構成される。
[0104]ステップ502において、ビデオエンコーダ20は、エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン1レベルをコーディングするためのビン1コンテキストを選択するように構成される。エントロピーコーディングプロセスはCABACプロセスであり得る。
[0105]ステップ504において、ビデオエンコーダ20は、選択されたビン1コンテキストに従ってベクトル中の1つまたは複数の変換係数のビン1レベルを符号化するように構成される。ビデオエンコーダ20は、ベクトル中の1つまたは複数の前にコーディングされた変換係数のビン1レベルに基づいてベクトル中の現在変換係数のためのビン1コンテキストを選択するように構成され得る。いくつかの例では、ビン1とビン2とのコーディングはインターリーブされ得る。
[0106]ステップ506において、ビデオエンコーダ20は、エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択するように構成される。ビデオエンコーダ20は、ベクトル中の1つまたは複数の前にコーディングされた変換係数のビン2レベルに基づいてベクトル中の現在変換係数のためのビン2コンテキストを選択するように構成され得る。ビン2コンテキストを選択することはまた、任意の数のビン2コンテキストを含んでいるコンテキストモデルからビン2コンテキストを選択することを含み得る。いくつかの具体的な例では、選択のために4つまたは5つのコンテキストがあり得る(たとえば、表3および表4参照)。さらに、ビン2コンテキストを選択することは、変換ユニット中の1つまたは複数の前にコーディングされた変換係数のビン2レベルに基づいてベクトル中の現在変換係数のためのビン2コンテキストを選択することを含み得る。
[0107]5つのコンテキストを含むコンテキストセットの例では、現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され得る。現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択され得る。現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の2つの前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され得る。現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の3つ以上の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択され得る。現在変換係数が、2よりも大きい値を有する、走査順序に沿ってベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第5のビン2コンテキストが選択され得る。
[0108]4つのコンテキストを含むコンテキストセットの例では、現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され得る。現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択され得る。現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の2つ以上の前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され得る。現在変換係数が、2よりも大きい値を有する、走査順序に沿ってベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択され得る。
[0109]ステップ508において、ビデオエンコーダ20は、選択されたビン2コンテキストに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするように構成される。
[0110]図8は、本明細書で説明するシステムおよび方法による、ビデオコーディングプロセスにおいて変換係数を復号する例示的な方法を示す流れ図である。図8の方法は、たとえば、ビデオデコーダ30によって実装され得る。
[0111]ステップ602において、ビデオデコーダ30は、エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン1レベルを復号するためのビン1コンテキストを選択するように構成される。エントロピーコーディングプロセスはCABACプロセスであり得る。
[0112]ステップ604において、ビデオデコーダ30は、選択されたビン1コンテキストに従ってベクトル中の1つまたは複数の変換係数のビン1レベルを復号するように構成される。ビデオデコーダ30は、ベクトル中の1つまたは複数の前にコーディングされた変換係数のビン1レベルに基づいてベクトル中の現在変換係数のためのビン1コンテキストを選択するように構成され得る。
[0113]ステップ606において、ビデオデコーダ30は、エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン2レベルを復号するためのビン2コンテキストを選択するように構成される。ビデオデコーダ30は、ベクトル中の1つまたは複数の前にコーディングされた変換係数のビン2レベルに基づいてベクトル中の現在変換係数のためのビン2コンテキストを選択するように構成され得る。ビン2コンテキストを選択することはまた、任意の数のビン2コンテキストを含んでいるコンテキストモデルからビン2コンテキストを選択することを含み得る。いくつかの具体的な例では、選択のために4つまたは5つのコンテキストがあり得る(たとえば、表3および表4参照)。
[0114]現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され得る。現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択され得る。現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の2つの前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され得る。現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の3つ以上の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択され得る。現在変換係数が、2よりも大きい値を有する、走査順序に沿ってベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第5のビン2コンテキストが選択され得る。
[0115]別の例では、ビン2コンテキストを選択することは、4つのビン2コンテキストを含んでいるコンテキストモデルからビン2コンテキストを選択することを含む。
[0116]別の例では、現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され得る。現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択され得る。現在変換係数が、2の値を有する、走査順序に沿ってベクトル中の2つ以上の前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され得る。現在変換係数が、2よりも大きい値を有する、走査順序に沿ってベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択され得る。
[0117]ステップ608において、ビデオデコーダ30は、選択されたビン2コンテキストに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするように構成される。
[0118]ステップ610において、ビデオデコーダ30は、走査順序に従って量子化変換係数の行列へと変換係数のブロックの少なくとも一部分を走査するように構成される。
[0119]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0120]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0121]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび/またはソフトウェアモジュール内に提供されるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0122]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0123]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
[0123]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオコーディングプロセスにおいて変換係数をコーディングする方法であって、
前記エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択することと、
前記選択されたビン2コンテキストに従って前記ベクトル中の1つまたは複数の変換係数の前記ビン2レベルをコーディングすることと、
を備え、
前記ビン2コンテキストを選択することは、変換ユニット中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、方法。
[2] 走査順序に従って、変換係数のブロックの少なくとも一部分をベクトルへと走査することをさらに備え、
前記ビン2コンテキストを選択することは、前記ベクトル中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、[1]に記載の方法。
[3] 前記エントロピーコーディングプロセスはCABACプロセスである、[1]に記載の方法。
[4] ビン2コンテキストを選択することは、5つのビン2コンテキストを含んでいるコンテキストモデルから、1つのビン2コンテキストを選択することを含む、[1]に記載の方法。
[5] 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択される、
[4]に記載の方法。
[6] 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つの前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の3つ以上の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択され、
前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第5のビン2コンテキストが選択される、[5]に記載の方法。
[7] ビン2コンテキストを選択することは、4つのビン2コンテキストを含んでいるコンテキストモデルから1つのビン2コンテキストを選択することを含む、[1]に記載の方法。
[8] 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択され、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つ以上の前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され、
前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択される、[7]に記載の方法。
[9] 前記ビデオコーディングプロセスはビデオ符号化プロセスである、[1]に記載の方法。
[10] 前記ビデオコーディングプロセスはビデオ復号プロセスである、[1]に記載の方法。
[11] ビデオコーディングプロセスにおいて変換係数をコーディングするための装置であって、
エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択する手段と、
前記選択されたビン2コンテキストに従って前記ベクトル中の1つまたは複数の変換係数の前記ビン2レベルをコーディングする手段と、
を備え、
前記ビン2コンテキストを選択することは、変換ユニット中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、装置。
[12] 走査順序に従って、変換係数のブロックの少なくとも一部分をベクトルへと走査する手段をさらに備え、
前記ビン2コンテキストを前記選択することは、前記ベクトル中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、[11]に記載の装置。
[13] 前記エントロピーコーディングプロセスはCABACプロセスである、[11]に記載の装置。
[14] ビン2コンテキストを選択する手段は、5つのビン2コンテキストを含んでいるコンテキストモデルから、1つのビン2コンテキストを選択する手段を含む、[11]に記載の装置。
[15] 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択される、
[14]に記載の装置。
[16] 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つの前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の3つ以上の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択され、
前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第5のビン2コンテキストが選択される、[15]に記載の装置。
[17] ビン2コンテキストを選択する手段は、4つのビン2コンテキストを含んでいるコンテキストモデルからビン2コンテキストを選択する手段を含む、[11]に記載の装置。
[18] 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択され、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つ以上の前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され、
前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択される、[17]に記載の装置。
[19] ビデオコーディングプロセスにおいて変換係数をコーディングするための装置であって、
エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択することと、
前記選択されたビン2コンテキストに従って前記ベクトル中の1つまたは複数の変換係数の前記ビン2レベルをコーディングすることと、
を行うように構成されたビデオコーダを備え、
前記ビン2コンテキストを選択することは、変換ユニット中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、装置。
[20] 前記ビデオコーダは、走査順序に従って、変換係数のブロックの少なくとも一部分をベクトルへと走査するようにさらに構成され、
前記ビン2コンテキストを前記選択することは、前記ベクトル中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、[19]に記載の装置。
[21] 前記エントロピーコーディングプロセスはCABACプロセスである、[19]に記載の装置。
[22] 前記ビデオコーダは、5つのビン2コンテキストを含んでいるコンテキストモデルから、1つのビン2コンテキストを選択するようにさらに構成された、[19]に記載の装置。
[23] 前記ビデオコーダは、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストを選択することと、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストを選択することと、
を行うようにさらに構成された、[19]に記載の装置。
[24] 前記ビデオコーダは、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つの前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストを選択することと、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の3つ以上の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストを選択することと、
前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第5のビン2コンテキストを選択することと、
を行うようにさらに構成された、[23]に記載の装置。
[25] 前記ビデオコーダは、4つのビン2コンテキストを含んでいるコンテキストモデルから1つのビン2コンテキストを選択することを含む、ビン2コンテキストを選択することをさらに構成された、[19]に記載の装置。
[26] 前記ビデオコーダは、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストを選択することと、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストを選択することと、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つ以上の前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストを選択することと、
前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストを選択することと、
を行うようにさらに構成された、[25]に記載の装置。
[27] 前記ビデオコーダはビデオエンコーダである、[19]に記載の装置。
[28] 前記ビデオコーダはビデオデコーダである、[19]に記載の装置。
[29] 前記ビデオコーダはプロセッサにおいて実装される、[19]に記載の装置。
[30] 前記プロセッサはモバイルデバイス中にある、[29]に記載の装置。
[31] プロセッサによって実行されたとき、前記プロセッサに、
エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択することと、
前記選択されたビン2コンテキストに従って前記ベクトル中の1つまたは複数の変換係数の前記ビン2レベルをコーディングすることと、
を行わせる命令を記憶したコンピュータ可読記憶媒体であって、
前記ビン2コンテキストを選択することは、変換ユニット中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、コンピュータ可読記憶媒体。
[32] 走査順序に従って、変換係数のブロックの少なくとも一部分をベクトルへと走査すること
をプロセッサに行わせるための命令をさらに備える、[31]に記載のコンピュータ可読記憶媒体。
[33] プロセッサに、
エントロピーコーディングプロセスに従って前記ベクトル中の係数を変換することと、
選択されたビン1コンテキストに従って前記ベクトル中の1つまたは複数の変換係数のビン1レベルをコーディングすることと、
を行わせるための命令をさらに備える、[31]に記載のコンピュータ可読記憶媒体。
[34] 前記プロセッサに、前記エントロピーコーディングプロセスをCABACプロセスとして実施することを行わせるための命令をさらに備える、[31]に記載のコンピュータ可読記憶媒体。
[35] プロセッサに、
前記ベクトル中の1つまたは複数の前にコーディングされた変換係数の前記ビン1レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン1コンテキストを選択することを備える、前記ビン1コンテキストを選択すること
を行わせるための命令をさらに備える、[31]に記載のコンピュータ可読媒体。
[36] 前記プロセッサに、
5つのビン2コンテキストを含んでいるコンテキストモデルから、1つのビン2コンテキストを選択することを含む、ビン2コンテキストを選択すること
を行わせるための命令をさらに備える、[31]に記載のコンピュータ可読記憶媒体。
[37] プロセッサに、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストを選択することと、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストを選択することと、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つの前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストを選択することと、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の3つ以上の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストを選択することと、
を行わせるための命令をさらに備え、
前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第5のビン2コンテキストが選択される、[31]に記載のコンピュータ可読記憶媒体。
[38] プロセッサに、
4つのビン2コンテキストを含んでいるコンテキストモデルからビン2コンテキストを選択することを含む、ビン2コンテキストを選択すること
を行わせるための命令をさらに備える、[31]に記載のコンピュータ可読記憶媒体。
[39] プロセッサに、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストを選択することと、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストを選択することと、
前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つ以上の前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストを選択することと、
を行わせるための命令をさらに備え、
前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択される、[31]に記載のコンピュータ可読記憶媒体。
[40] プロセッサに、
前記ビデオコーディングプロセスをビデオ符号化プロセスとして実施すること
を行わせるための命令をさらに備える、[31]に記載のコンピュータ可読記憶媒体。
[41] プロセッサに、
前記ビデオコーディングプロセスをビデオ復号プロセスとして実施すること
を行わせるための命令をさらに備える、[31]に記載のコンピュータ可読記憶媒体。

Claims (41)

  1. ビデオコーディングプロセスにおいて変換係数をコーディングする方法であって、
    前記エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択することと、
    前記選択されたビン2コンテキストに従って前記ベクトル中の1つまたは複数の変換係数の前記ビン2レベルをコーディングすることと、
    を備え、
    前記ビン2コンテキストを選択することは、変換ユニット中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、方法。
  2. 走査順序に従って、変換係数のブロックの少なくとも一部分をベクトルへと走査することをさらに備え、
    前記ビン2コンテキストを選択することは、前記ベクトル中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、請求項1に記載の方法。
  3. 前記エントロピーコーディングプロセスはCABACプロセスである、請求項1に記載の方法。
  4. ビン2コンテキストを選択することは、5つのビン2コンテキストを含んでいるコンテキストモデルから、1つのビン2コンテキストを選択することを含む、請求項1に記載の方法。
  5. 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択される、
    請求項4に記載の方法。
  6. 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つの前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の3つ以上の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択され、
    前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第5のビン2コンテキストが選択される、請求項5に記載の方法。
  7. ビン2コンテキストを選択することは、4つのビン2コンテキストを含んでいるコンテキストモデルから1つのビン2コンテキストを選択することを含む、請求項1に記載の方法。
  8. 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択され、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つ以上の前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され、
    前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択される、請求項7に記載の方法。
  9. 前記ビデオコーディングプロセスはビデオ符号化プロセスである、請求項1に記載の方法。
  10. 前記ビデオコーディングプロセスはビデオ復号プロセスである、請求項1に記載の方法。
  11. ビデオコーディングプロセスにおいて変換係数をコーディングするための装置であって、
    エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択する手段と、
    前記選択されたビン2コンテキストに従って前記ベクトル中の1つまたは複数の変換係数の前記ビン2レベルをコーディングする手段と、
    を備え、
    前記ビン2コンテキストを選択することは、変換ユニット中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、装置。
  12. 走査順序に従って、変換係数のブロックの少なくとも一部分をベクトルへと走査する手段をさらに備え、
    前記ビン2コンテキストを前記選択することは、前記ベクトル中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、請求項11に記載の装置。
  13. 前記エントロピーコーディングプロセスはCABACプロセスである、請求項11に記載の装置。
  14. ビン2コンテキストを選択する手段は、5つのビン2コンテキストを含んでいるコンテキストモデルから、1つのビン2コンテキストを選択する手段を含む、請求項11に記載の装置。
  15. 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択される、
    請求項14に記載の装置。
  16. 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つの前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の3つ以上の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択され、
    前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第5のビン2コンテキストが選択される、請求項15に記載の装置。
  17. ビン2コンテキストを選択する手段は、4つのビン2コンテキストを含んでいるコンテキストモデルからビン2コンテキストを選択する手段を含む、請求項11に記載の装置。
  18. 前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストが選択され、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストが選択され、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つ以上の前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストが選択され、
    前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択される、請求項17に記載の装置。
  19. ビデオコーディングプロセスにおいて変換係数をコーディングするための装置であって、
    エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択することと、
    前記選択されたビン2コンテキストに従って前記ベクトル中の1つまたは複数の変換係数の前記ビン2レベルをコーディングすることと、
    を行うように構成されたビデオコーダを備え、
    前記ビン2コンテキストを選択することは、変換ユニット中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、装置。
  20. 前記ビデオコーダは、走査順序に従って、変換係数のブロックの少なくとも一部分をベクトルへと走査するようにさらに構成され、
    前記ビン2コンテキストを前記選択することは、前記ベクトル中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、請求項19に記載の装置。
  21. 前記エントロピーコーディングプロセスはCABACプロセスである、請求項19に記載の装置。
  22. 前記ビデオコーダは、5つのビン2コンテキストを含んでいるコンテキストモデルから、1つのビン2コンテキストを選択するようにさらに構成された、請求項19に記載の装置。
  23. 前記ビデオコーダは、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストを選択することと、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストを選択することと、
    を行うようにさらに構成された、請求項19に記載の装置。
  24. 前記ビデオコーダは、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つの前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストを選択することと、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の3つ以上の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストを選択することと、
    前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第5のビン2コンテキストを選択することと、
    を行うようにさらに構成された、請求項23に記載の装置。
  25. 前記ビデオコーダは、4つのビン2コンテキストを含んでいるコンテキストモデルから1つのビン2コンテキストを選択することを含む、ビン2コンテキストを選択することをさらに構成された、請求項19に記載の装置。
  26. 前記ビデオコーダは、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストを選択することと、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストを選択することと、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つ以上の前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストを選択することと、
    前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストを選択することと、
    を行うようにさらに構成された、請求項25に記載の装置。
  27. 前記ビデオコーダはビデオエンコーダである、請求項19に記載の装置。
  28. 前記ビデオコーダはビデオデコーダである、請求項19に記載の装置。
  29. 前記ビデオコーダはプロセッサにおいて実装される、請求項19に記載の装置。
  30. 前記プロセッサはモバイルデバイス中にある、請求項29に記載の装置。
  31. プロセッサによって実行されたとき、前記プロセッサに、
    エントロピーコーディングプロセスに従ってベクトル中の1つまたは複数の変換係数のビン2レベルをコーディングするためのビン2コンテキストを選択することと、
    前記選択されたビン2コンテキストに従って前記ベクトル中の1つまたは複数の変換係数の前記ビン2レベルをコーディングすることと、
    を行わせる命令を記憶したコンピュータ可読記憶媒体であって、
    前記ビン2コンテキストを選択することは、変換ユニット中の1つまたは複数の前にコーディングされた変換係数の前記ビン2レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン2コンテキストを選択することを備える、コンピュータ可読記憶媒体。
  32. 走査順序に従って、変換係数のブロックの少なくとも一部分をベクトルへと走査すること
    をプロセッサに行わせるための命令をさらに備える、請求項31に記載のコンピュータ可読記憶媒体。
  33. プロセッサに、
    エントロピーコーディングプロセスに従って前記ベクトル中の係数を変換することと、
    選択されたビン1コンテキストに従って前記ベクトル中の1つまたは複数の変換係数のビン1レベルをコーディングすることと、
    を行わせるための命令をさらに備える、請求項31に記載のコンピュータ可読記憶媒体。
  34. 前記プロセッサに、前記エントロピーコーディングプロセスをCABACプロセスとして実施することを行わせるための命令をさらに備える、請求項31に記載のコンピュータ可読記憶媒体。
  35. プロセッサに、
    前記ベクトル中の1つまたは複数の前にコーディングされた変換係数の前記ビン1レベルに基づいて前記ベクトル中の現在変換係数のための前記ビン1コンテキストを選択することを備える、前記ビン1コンテキストを選択すること
    を行わせるための命令をさらに備える、請求項31に記載のコンピュータ可読媒体。
  36. 前記プロセッサに、
    5つのビン2コンテキストを含んでいるコンテキストモデルから、1つのビン2コンテキストを選択することを含む、ビン2コンテキストを選択すること
    を行わせるための命令をさらに備える、請求項31に記載のコンピュータ可読記憶媒体。
  37. プロセッサに、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストを選択することと、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストを選択することと、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つの前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストを選択することと、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の3つ以上の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストを選択することと、
    を行わせるための命令をさらに備え、
    前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第5のビン2コンテキストが選択される、請求項31に記載のコンピュータ可読記憶媒体。
  38. プロセッサに、
    4つのビン2コンテキストを含んでいるコンテキストモデルからビン2コンテキストを選択することを含む、ビン2コンテキストを選択すること
    を行わせるための命令をさらに備える、請求項31に記載のコンピュータ可読記憶媒体。
  39. プロセッサに、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の第1の変換係数である場合、第1のビン2コンテキストを選択することと、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の1つの前にコーディングされた変換係数によって先行される場合、第2のビン2コンテキストを選択することと、
    前記現在変換係数が、2の値を有する、前記走査順序に沿って前記ベクトル中の2つ以上の前にコーディングされた変換係数によって先行される場合、第3のビン2コンテキストを選択することと、
    を行わせるための命令をさらに備え、
    前記現在変換係数が、2よりも大きい値を有する、前記走査順序に沿って前記ベクトル中の任意の前にコーディングされた変換係数によって先行される場合、第4のビン2コンテキストが選択される、請求項31に記載のコンピュータ可読記憶媒体。
  40. プロセッサに、
    前記ビデオコーディングプロセスをビデオ符号化プロセスとして実施すること
    を行わせるための命令をさらに備える、請求項31に記載のコンピュータ可読記憶媒体。
  41. プロセッサに、
    前記ビデオコーディングプロセスをビデオ復号プロセスとして実施すること
    を行わせるための命令をさらに備える、請求項31に記載のコンピュータ可読記憶媒体。
JP2014519192A 2011-06-29 2012-06-29 ビデオ圧縮における係数レベルコーディングのコンテキスト Expired - Fee Related JP5869115B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161502737P 2011-06-29 2011-06-29
US61/502,737 2011-06-29
US201161540924P 2011-09-29 2011-09-29
US61/540,924 2011-09-29
US13/535,975 2012-06-28
US13/535,975 US20130083856A1 (en) 2011-06-29 2012-06-28 Contexts for coefficient level coding in video compression
PCT/US2012/045088 WO2013003798A1 (en) 2011-06-29 2012-06-29 Contexts for coefficient level coding in video compression

Publications (2)

Publication Number Publication Date
JP2014525172A true JP2014525172A (ja) 2014-09-25
JP5869115B2 JP5869115B2 (ja) 2016-02-24

Family

ID=46513867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014519192A Expired - Fee Related JP5869115B2 (ja) 2011-06-29 2012-06-29 ビデオ圧縮における係数レベルコーディングのコンテキスト

Country Status (6)

Country Link
US (1) US20130083856A1 (ja)
EP (1) EP2727364A1 (ja)
JP (1) JP5869115B2 (ja)
KR (1) KR101710765B1 (ja)
CN (1) CN103636224B (ja)
WO (1) WO2013003798A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018521553A (ja) * 2015-05-29 2018-08-02 クアルコム,インコーポレイテッド 改善されたコンテキスト適応バイナリ算術コーティング(cabac)設計を使用したデータのコーディング

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101600615B1 (ko) * 2011-07-22 2016-03-14 구글 테크놀로지 홀딩스 엘엘씨 비디오 코딩에서 직사각형 변환을 스캐닝하기 위한 장치 및 방법
EP2795901A1 (en) 2011-12-20 2014-10-29 Motorola Mobility LLC Method and apparatus for efficient transform unit encoding
WO2013175736A1 (ja) * 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
AU2013264361B2 (en) 2012-05-25 2017-01-05 Sun Patent Trust Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
CA2841112C (en) 2012-05-25 2019-09-17 Panasonic Corporation Moving picture coding and decoding using context adaptive binary arithmetic coding with fixed probability for some sample adaptive offset parameters
WO2013183232A1 (ja) 2012-06-04 2013-12-12 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
US9781424B2 (en) * 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
FR3054764B1 (fr) * 2016-07-28 2018-07-27 B<>Com Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes
KR20180087771A (ko) 2017-01-25 2018-08-02 삼성전자주식회사 엔트로피 인코더 및 이를 포함하는 비디오 인코더
KR102424411B1 (ko) * 2017-04-13 2022-07-25 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
US10506242B2 (en) * 2018-01-30 2019-12-10 Google Llc Efficient context model computation design in transform coefficient coding
US11006150B2 (en) * 2018-09-24 2021-05-11 Tencent America LLC Method and apparatus for video coding
US10841595B2 (en) 2018-11-27 2020-11-17 Semiconductor Components Industries, Llc Methods and apparatus for transform coefficient encoding and decoding
US10841617B2 (en) * 2018-11-27 2020-11-17 Semiconductor Components Industries, Llc Methods and apparatus for successive intra block prediction
WO2022217442A1 (zh) 2021-04-12 2022-10-20 Oppo广东移动通信有限公司 系数编解码方法、编码器、解码器以及计算机存储介质
JP2024523793A (ja) 2021-06-29 2024-07-02 オッポ広東移動通信有限公司 コーデック方法、コードストリーム、符号化装置、復号化装置及びコンピュータ記憶媒体

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
JP2005504471A (ja) * 2001-09-14 2005-02-10 ノキア コーポレイション コンテキストベースの適応2値算術符号化方法およびシステム
JP2005530375A (ja) * 2002-05-02 2005-10-06 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体
JP2010532141A (ja) * 2007-06-26 2010-09-30 クゥアルコム・インコーポレイテッド サブバンドのエントロピーコーディングのためのサブバンドスキャン技術
JP2014502827A (ja) * 2011-01-14 2014-02-03 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化および復号化スキーム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1933568A3 (en) * 2001-09-14 2008-06-25 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
CN100454339C (zh) * 2001-09-14 2009-01-21 诺基亚有限公司 基于上下文的自适应二进制算术编码的方法和系统
JP4510465B2 (ja) * 2002-01-22 2010-07-21 ノキア コーポレイション イメージ/ビデオ符号器及び/又は復号器における変換係数の符号化
JP2003319391A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
CN1719903A (zh) * 2005-06-24 2006-01-11 清华大学 用于图象算术编码中的一种二值化和概率模型选择方法
JP4876122B2 (ja) * 2006-03-22 2012-02-15 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 精度スケーラビリティを可能にする符号化スキーム
US20070230564A1 (en) * 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
WO2008007792A1 (en) * 2006-07-10 2008-01-17 Sharp Kabushiki Kaisha Methods and systems for combining layers in a multi-layer bitstream
JP2008022405A (ja) * 2006-07-14 2008-01-31 Sony Corp 画像処理装置および方法、並びに、プログラム
US8335261B2 (en) * 2007-01-08 2012-12-18 Qualcomm Incorporated Variable length coding techniques for coded block patterns
US8782379B2 (en) * 2007-09-27 2014-07-15 Qualcomm Incorporated H.264 video decoder CABAC core optimization techniques
CN101478672B (zh) * 2008-01-04 2012-12-19 华为技术有限公司 视频编码、解码方法及装置和视频处理系统
EP2266318B1 (en) * 2008-03-19 2020-04-22 Nokia Technologies Oy Combined motion vector and reference index prediction for video coding
CN101710489B (zh) * 2009-11-09 2011-11-30 清华大学 可分级音频编码、解码的方法和装置以及编解码系统
CN103119849B (zh) * 2010-04-13 2017-06-16 弗劳恩霍夫应用研究促进协会 概率区间分割编码器和译码器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
JP2005504471A (ja) * 2001-09-14 2005-02-10 ノキア コーポレイション コンテキストベースの適応2値算術符号化方法およびシステム
JP2005530375A (ja) * 2002-05-02 2005-10-06 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体
JP2010532141A (ja) * 2007-06-26 2010-09-30 クゥアルコム・インコーポレイテッド サブバンドのエントロピーコーディングのためのサブバンドスキャン技術
JP2014502827A (ja) * 2011-01-14 2014-02-03 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化および復号化スキーム

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
MARPE, D., 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. 13, no. 7, JPN6015048832, July 2003 (2003-07-01), pages 620 - 636, XP011099255, ISSN: 0003209410, DOI: 10.1109/TCSVT.2003.815173 *
SCHWARZ, H.,ET.AL.: ""Improved CABAC"", [ONLINE], vol. Document: JVT-C060, JPN6015048833, 17 January 2005 (2005-01-17), ISSN: 0003209411 *
SOLE, J., ET.AL.: ""Unified scans for the significance map and coefficient level coding in high coding efficiency"", [ONLINE], vol. Document: JCTVC-E335(version 3), JPN6014054884, 19 March 2011 (2011-03-19), ISSN: 0002974771 *
VIVIENNE SZE: ""Context selection complexity in HEVC CABAC"", [ONLINE], vol. Document: JCTVC-D244(version 2), JPN6014054887, 22 January 2011 (2011-01-22), ISSN: 0002974772 *
亀山渉(外1名)監修, 「インプレス標準教科書シリーズ IPTV時代のデジタル放送教科書」, vol. 初版, JPN6015048838, 1 April 2010 (2010-04-01), JP, pages 158 - 161, ISSN: 0003209413 *
大久保榮監修, 「インプレス標準教科書シリーズ 改訂三版H.264/AVC教科書」, vol. 第1版, JPN6015048836, 1 January 2009 (2009-01-01), JP, pages 148 - 162, ISSN: 0003209412 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018521553A (ja) * 2015-05-29 2018-08-02 クアルコム,インコーポレイテッド 改善されたコンテキスト適応バイナリ算術コーティング(cabac)設計を使用したデータのコーディング

Also Published As

Publication number Publication date
CN103636224A (zh) 2014-03-12
WO2013003798A1 (en) 2013-01-03
JP5869115B2 (ja) 2016-02-24
CN103636224B (zh) 2018-03-06
EP2727364A1 (en) 2014-05-07
KR101710765B1 (ko) 2017-02-27
US20130083856A1 (en) 2013-04-04
KR20140028121A (ko) 2014-03-07

Similar Documents

Publication Publication Date Title
JP5869115B2 (ja) ビデオ圧縮における係数レベルコーディングのコンテキスト
JP6542400B2 (ja) 係数走査のための係数グループおよび係数コーディング
EP3117525B1 (en) Coefficient level coding in a video coding process
CA2913797C (en) Rice parameter initialization for coefficient level coding in video coding process
KR101536540B1 (ko) 비디오 코딩을 위한 병렬화 친화적인 병합 후보들
JP6165798B2 (ja) イントラ予測を使用したビデオ符号化
JP5960309B2 (ja) マッピングされた変換と走査モードとを使用するビデオコード化
JP5922245B2 (ja) クロマ成分のための適応ループフィルタ処理
JP6113752B2 (ja) Cabac係数レベルコーディングのためのスループット改善
JP5922244B2 (ja) ビデオコーディングにおいて適応ループフィルタとマージされたサンプル適応オフセット
US9667994B2 (en) Intra-coding for 4:2:2 sample format in video coding
JP5876156B2 (ja) ビデオコーディングにおけるスライス境界またはタイル境界の周辺のループフィルタ処理
JP5955974B2 (ja) 最後有意係数の位置をコード化するためのコンテキスト最適化
US9066102B2 (en) Reference picture list construction for generalized P/B frames in video coding
JP5917705B2 (ja) ビデオコーディングのためのバイナリ算術コーダにおける状態のマッピング
JP6105048B2 (ja) ビデオコーディングのための変換係数のコーディングにおけるグループフラグ
JP5784830B2 (ja) ビデオコード化のための複数領域走査順序
JP2014516217A (ja) サンプル適応オフセットのためのオフセットタイプおよび係数シグナリング方法
JP2014535243A (ja) コンテキスト適応型バイナリ算術コード化のためのコンテキスト削減
WO2012078767A1 (en) Codeword adaptation for variable length coding

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150623

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151020

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160106

R150 Certificate of patent or registration of utility model

Ref document number: 5869115

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees