JP6193446B2 - ビデオコード化における係数の走査 - Google Patents

ビデオコード化における係数の走査 Download PDF

Info

Publication number
JP6193446B2
JP6193446B2 JP2016110268A JP2016110268A JP6193446B2 JP 6193446 B2 JP6193446 B2 JP 6193446B2 JP 2016110268 A JP2016110268 A JP 2016110268A JP 2016110268 A JP2016110268 A JP 2016110268A JP 6193446 B2 JP6193446 B2 JP 6193446B2
Authority
JP
Japan
Prior art keywords
sub
block
blocks
transform coefficients
scanning
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.)
Active
Application number
JP2016110268A
Other languages
English (en)
Other versions
JP2016189598A (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 JP2016189598A publication Critical patent/JP2016189598A/ja
Application granted granted Critical
Publication of JP6193446B2 publication Critical patent/JP6193446B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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

[0001] 本出願は、各々の内容全体が参照により本明細書に組み込まれる、2011年7月19日に出願された米国仮特許出願第61/509,522号、2011年7月20日に出願された米国仮特許出願第61/509,926号、2011年10月24日に出願された米国仮特許出願第61/550,829号、および2011年11月1日に出願された米国仮特許出願第61/554,292号の優先権を主張する。
本開示は、ビデオコード化に関し、より詳細には、ビデオコード化処理によって生成される変換係数を走査し、コード化するための技法に関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信および記憶するための、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part 10、Advanced Video Coding(AVC)によって定義された規格、現在開発中のHigh Efficiency Video Coding(HEVC)規格、およびそのような規格の拡張に記載されているビデオ圧縮技法のような、ビデオ圧縮技法を実装する。
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および/または時間的予測を含む。ブロックベースのビデオコード化の場合、ビデオピクチャまたはスライスはブロックに区分され得る。各ブロックはさらに区分され得る。イントラコード化された(intra-coded)(I)フレームまたはスライス中のブロックは、同じピクチャまたはスライス中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。インターコード化された(inter-coded)(PまたはB)フレームまたはスライス中のブロックは、同じピクチャまたはスライス中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャの参照サンプルに対する時間的予測を使用し得る。空間的予測または時間的予測は、コード化されるべきブロックの予測ブロックを生じる。残差データ(Residual data)は、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。
インターコード化されたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化されたブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化されたブロックは、イントラコード化モードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、画素領域から変換領域に変換されて、残差変換係数(residual transform coefficients)を得ることができ、その残差変換係数は、次いで量子化され得る。最初は2次元アレイに構成される、量子化された変換係数は、特定の順序で走査されて、エントロピーコード化のための変換係数の1次元ベクトルを生成することができる。
概して、本開示では、ビデオコード化処理において残差ビデオデータのブロックに関連する変換係数をコード化するためのデバイスと方法とを説明する。コード化において、変換係数のブロックはサブセットに分割されてよく、このサブセットは複数のサブブロックという形態をとり得る。サブブロックは次いで、走査されコード化され得る。たとえば、ビデオエンコーダに関しては、サブブロックからの変換係数の2次元アレイが走査されて変換係数の1次元アレイを形成することができ、次いでその1次元アレイが符号化される。ビデオデコーダに関しては、変換係数の1次元アレイが受信され復号され、次いで2次元のサブブロックを復元するために使用され得る。
本開示の技法は全般に、変換係数のサブブロックを走査してコード化することに関する。たとえば、本明細書で説明されるように、係数の走査順序は、変換係数が残差データのブロックのサブブロック内で走査されコード化される順序を表し得る。サブブロックの走査順序は、サブブロック自体が走査されコード化される順序を表し得る。本開示の態様によれば、係数の走査順序は、残差データのブロック内の各サブブロック内の係数を次いで走査するために、サブブロックの走査順序、すなわちサブブロックが走査される順序と同じ方向を有し得る。すなわち、本開示の態様によれば、サブブロックの走査順序の走査パターン/方向/順序は、各サブブロック内の係数の走査順序のそれらと一致し得る。加えて、または代替的に、本開示の技法は、種々の基準に基づいて、係数の走査順序および/またはサブブロックの走査順序を適応的に決定することを含む。したがって、いくつかの例では、係数の走査順序は、サブブロックの走査順序とは異なり得る。
ある例では、本開示の態様は、変換係数の1次元アレイを復号することと、サブブロックの走査順序および係数の走査順序に従って変換係数の1次元アレイに対して走査を実行して、変換係数のブロックを生成することとを備える、ビデオ復号処理において変換係数を復号する方法に関し、サブブロックの走査順序は、ブロック内の複数のサブブロックの各サブブロックが走査される順序を備え、係数の走査順序は、複数のサブブロックの各サブブロックに対応する変換係数が走査される順序を備える。
別の例では、本開示の態様は、ビデオ復号処理において変換係数を復号するための装置に関し、装置は、変換係数の1次元アレイを復号し、サブブロックの走査順序および係数の走査順序に従って変換係数の1次元アレイに対して走査を実行して、変換係数のブロックを生成するように構成される、1つまたは複数のプロセッサを備え、サブブロックの走査順序は、ブロック内の複数のサブブロックの各サブブロックが走査される順序を備え、係数の走査順序は、複数のサブブロックの各サブブロックに対応する変換係数が走査される順序を備える。
[0010] 別の例では、本開示の態様は、ビデオ復号処理において変換係数を復号するための装置に関し、装置は、変換係数の1次元アレイを復号するための手段と、サブブロックの走査順序および係数の走査順序に従って変換係数の1次元アレイに対して走査を実行し、変換係数のブロックを生成するための手段とを備え、サブブロックの走査順序は、ブロック内の複数のサブブロックの各サブブロックが走査される順序を備え、係数の走査順序は、複数のサブブロックの各サブブロックに対応する変換係数が走査される順序を備える。
別の例では、本開示の態様は、実行されると、1つまたは複数のプロセッサに、変換係数の1次元アレイを復号させ、サブブロックの走査順序および係数の走査順序に従って変換係数の1次元アレイに対して走査を実行させて、変換係数のブロックを生成させる命令を記憶したコンピュータ可読記憶媒体に関し、サブブロックの走査順序は、ブロック内の複数のサブブロックの各サブブロックが走査される順序を備え、係数の走査順序は、複数のサブブロックの各サブブロックに対応する変換係数が走査される順序を備える。
別の例では、本開示の態様は、変換係数のブロックを複数のサブブロックに分割することと、サブブロックの走査順序および係数の走査順序に従って変換係数のブロックに対して走査を実行して、変換係数の1次元アレイを生成することと、ここにおいてサブブロックの走査順序が、複数のサブブロックの各々が走査される順序を備え、係数の走査順序が、複数のサブブロックの各々の中の変換係数が走査される順序を備え、変換係数の1次元アレイを符号化することとを備える、ビデオ符号化処理において変換係数を符号化するための方法に関する。
別の例では、本開示の態様は、符号化処理において変換係数を符号化するための装置に関し、装置は、変換係数のブロックを複数のサブブロックに分割することと、サブブロックの走査順序および係数の走査順序に従って変換係数のブロックに対して走査を実行して、変換係数の1次元アレイを生成することと、ここにおいてサブブロックの走査順序が、複数のサブブロックの各々が走査される順序を備え、係数の走査順序が、複数のサブブロックの各々の中の変換係数が走査される順序を備え、変換係数の1次元アレイを符号化することとを行うように構成される、1つまたは複数のプロセッサを備える。
別の例では、本開示の態様は、ビデオ符号化処理において変換係数を符号化するための装置に関し、装置は、変換係数のブロックを複数のサブブロックに分割するための手段と、サブブロックの走査順序および係数の走査順序に従って変換係数のブロックに対して走査を実行して、変換係数の1次元アレイを生成するための手段と、ここにおいてサブブロックの走査順序が、複数のサブブロックの各々が走査される順序を備え、係数の走査順序が、複数のサブブロックの各々の中の変換係数が走査される順序を備え、変換係数の1次元アレイを符号化するための手段とを備える。
別の例では、本開示の態様は、実行されると1つまたは複数のプロセッサに、変換係数のブロックを複数のサブブロックへ分割することと、サブブロックの走査順序および係数の走査順序に従って変換係数のブロックに対して走査を実行して、変換係数の1次元アレイを生成することと、ここにおいてサブブロックの走査順序が、複数のサブブロックの各々が走査される順序を備え、係数の走査順序が、複数のサブブロックの各々の中の変換係数が走査される順序を備え、変換係数の1次元アレイを符号化することとを行わせる命令を記憶したコンピュータ可読記憶媒体に関する。
1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
本開示の技法を実行するように構成され得る例示的なビデオコード化システムを示すブロック図。 本開示の技法を実行するように構成され得る例示的なビデオエンコーダを示すブロック図。 本開示の技法を実行するように構成され得る例示的なビデオデコーダを示すブロック図。 有意性マップ(significance map)のコード化処理を示す概念図。 変換係数のコード化のための例示的な走査パターンと方向とを示す概念図。 変換係数のコード化のための例示的な走査パターンと方向とを示す別の概念図。 変換係数のコード化のための例示的な走査パターンと方向とを示す別の概念図。 変換係数のコード化のための例示的な走査パターンと方向とを示す別の概念図。 変換係数のコード化のための例示的な走査パターンと方向とを示す別の概念図。 変換係数のコード化のための例示的な走査パターンと方向とを示す別の概念図。 ビデオデータのブロックの変換係数のコンテキスト適応コード化(context-adaptive coding)の例を示す概念図。 変換係数のブロックのサブブロックへ分割する例を示す概念図。 サブブロックへと分割された変換係数のブロックの例示的なジグザグのサブブロックの走査順序を示す概念図。 サブブロックへと分割された変換係数のブロックの例示的な水平方向のサブブロックの走査順序を示す概念図。 サブブロックへと分割された変換係数のブロックの例示的な垂直方向のサブブロックの走査順序を示す概念図。 サブブロックへと分割された変換係数のブロックの例示的な対角方向のサブブロックの走査順序を示す概念図。 図8Dに示される走査の反対である、サブブロックへと分割された変換係数のブロックの例示的な対角方向のサブブロックの走査順序を示す概念図。 サブブロックの変換係数の例示的な対角方向の係数の走査順序を示す図。 サブブロックの例示的な対角方向のサブブロックの走査順序を示す図。 図9Aに示される走査に対して反対の、サブブロックの変換係数の例示的な対角方向の係数の走査順序を示す図。 図9Bに示される走査に対して反対の、サブブロックの例示的な対角方向のサブブロックの走査順序を示す図。 サブブロックの変換係数の例示的な反対の垂直方向の係数の走査順序を示す図。 サブブロックの例示的な反対の垂直方向のサブブロックの走査順序を示す図。 サブブロックの変換係数の例示的な反対の水平方向の係数の走査順序を示す図。 サブブロックの例示的な反対の水平方向のサブブロックの走査順序を示す図。 ビデオデータのサブブロックの変換係数をコンテキスト適応コード化する例を示す概念図。 ビデオデータのサブブロックの変換係数をコンテキスト適応コード化する別の例を示す概念図。 本開示の技法による例示的なビデオ符号化処理を示すフローチャート。 本開示の技法による例示的なビデオ復号処理を示すフローチャート。 ビデオデータのサブブロックの変換係数をコンテキスト適応コード化するための例示的な方法を示すフローチャート。
ビデオコード化デバイスは、空間的冗長性または時間的冗長性を利用することによってビデオデータを圧縮し得る。たとえば、ビデオエンコーダは、隣接する、以前にコード化されたブロックに対してビデオデータのブロックをコード化することによって、空間的冗長性を利用し得る。同様に、ビデオエンコーダは、ピクチャとも呼ばれる以前にコード化されたピクチャのビデオデータに対してビデオデータのブロックをコード化することによって、時間的冗長性を利用し得る。具体的には、ビデオエンコーダは、空間的隣接部分のデータから、または以前にコード化されたピクチャのデータから、現在のブロックを予測し得る。次いでビデオエンコーダは、ブロックの実際の画素値とブロックの予測される画素値との間の差分としてブロックの残差を計算し得る。すなわち、ブロックの残差は、画素(または空間的)領域における画素ごとの差分値を含み得る。
したがって、ブロック(たとえば、ビデオデータの予測単位)をコード化するために、ブロックの予測子が最初に導出される。予測ブロックとも呼ばれる予測子(predictor)は、イントラ(I)予測(すなわち、空間的予測)またはインター(PまたはB)予測(すなわち時間的予測)のいずれかを通じて導出され得る。したがって、いくつかの予測単位は、同じピクチャ(またはスライス)中の隣接する参照ブロック中の参照サンプルに関する空間的予測を使用してイントラコード化(I)されてよく、他の予測単位は、以前にコード化された他のピクチャ(またはスライス)中の参照サンプルのブロックに関して単方向にインターコード化(P)されるかまたは双方向にインターコード化(B)されてよい。参照サンプルは、参照ブロック中の実際の画素、および/または、たとえば補間によって生成された合成された参照サンプルを含み得る。各々の場合において、参照サンプルは、コード化されるべきブロックの予測ブロックを形成するために使用され得る。
ブロックの残差値をさらに圧縮するために、ビデオエンコーダは、(「エネルギー」とも呼ばれる)できるだけ多くのデータをできるだけ少数の係数に圧縮する変換係数のセットに、残差値を変換し得る。この変換は、たとえば、離散コサイン変換(DCT)、整数変換、Karhunen−Loeve(K−L)変換、または別の変換を使用して、残差値を、空間領域における画素レベル、たとえば輝度レベルおよび/または彩度レベルから、変換領域における変換係数へと変換する。変換係数は、元のブロックと通常同じサイズである変換係数の2次元行列に対応する。言い換えれば、通常、元のブロック中の画素とちょうど同数の変換係数がある。しかしながら、変換により、変換係数の多くは、0に等しい値を有し得る。
ビデオエンコーダは、次いで、ビデオデータをさらに圧縮するために変換係数を量子化し得る。量子化は、一般に、相対的に大きな範囲内の値を相対的に小さな範囲中の値にマッピングし、それによって、量子化された変換係数を表すために必要とされるデータの量を減らすことを伴う。ビデオエンコーダは、あらかじめ定義されたアルゴリズムに従って量子化パラメータ(QP)を適用することによって、変換係数を量子化し得る。量子化の後、変換係数の一部は0という値を有し得る。加えて、変換スキップモードtransform skip modeのような何らかのビデオコード化モードでは、変換は行われなくてよく、量子化が予測残差に対して直接適用され得る。
次いで、エントロピーコーダは、量子化された変換係数に、コンテキスト適応可変長コード化(CAVLC:Context Adaptive Variable Length Coding)、コンテキスト適応バイナリ算術コード化(CABAC:Context Adaptive Binary Arithmetic Coding)、確率間隔区分エントロピーコード化(PIPE:Probability Interval Partitioning Entropy Coding)などのようなエントロピーコード化を適用する。量子化された変換係数のブロックをエントロピーコード化するために、ブロック中の量子化された変換係数の2次元(2D)アレイが、特定の走査順序に従って、変換係数の順序付けられた1次元(1D)アレイ、すなわちベクトルへと再構成されるように、走査処理が通常実行される。変換係数のベクトルに、エントロピーコード化が適用される。量子化された変換係数の走査は、エントロピーコーダのために変換係数の2Dアレイを直列化する。
いくつかの例によれば、ビデオブロックにおける有意な係数(すなわち、0ではない変換係数)の位置は、変換係数の「レベル」と呼ばれることがある変換係数の値の前に符号化され得る。有意な係数の位置をコード化する処理は、有意性マップコード化と呼ばれることがある。有意性マップ(significance map)は、有意な係数の位置を示す2進値の2次元アレイを含む。
たとえば、ビデオデータのブロックの有意性マップは、1および0の2Dアレイを含んでよく、1は、ブロック内の有意な変換係数の場所を示し、0は、ブロック内の有意ではない(値が0の)変換係数の場所を示す。1および0は「有意係数フラグ(significant coefficient flag)」と呼ばれ得る。加えて、いくつかの例では、有意性マップは、1および0の別の2Dアレイを含んでよく、1は、ブロックに関連する走査順序に従ってブロック内の最後の有意な係数の場所を示し、0は、ブロック内のすべての他の係数の場所を示す。この場合、1および0は「最後有意係数フラグ」と呼ばれる。他の例では、そのような最後有意係数フラグは使用されない。むしろ、ブロック中の最後の有意な係数は、有意性マップの残りを送る前に最初にコード化され得る。いずれの場合も、ビデオデータのブロックのための有意性マップコード化は、ブロックをコード化するために使用されるビデオビットレートのかなりの割合を消費し得る。
[0050] 有意性マップが走査されコード化された後に、ビデオコーダは、各変換係数のレベルを走査しコード化し得る。たとえば、ビデオコーダは、各々の0ではない変換係数の絶対値、すなわちレベルを2進形態に変換し得る。このようにして、たとえば、単進コードまたは他のコードを使用して1つまたは複数のビットまたは「ビン」を生成して、各々の0ではない変換係数のレベルが「2値化」され、変換係数を表すことができる。加えて、ビデオデコーダがビデオデータを復号できるように、いくつかの他の2値化されたシンタックス要素が含まれ得る。
いくつかの例では、有意性マップの走査順序は、係数レベルの走査順序とは異なり得る。他の例では、係数レベルの走査が有意性マップの走査と同じになるように、すなわち走査方向と走査パターンについて、変換係数の走査順序は協調し得る。加えて、上で述べられたように、係数レベルおよび有意性係数に対する走査は、逆方向に、すなわち、ブロック中の最後の有意な係数からブロック中の最初の係数(DC成分)へと進む逆方向の走査として実行され得る。逆方向の走査を支援するために、ビデオコーダは、走査の前に最後の有意な係数を識別することができる。ブロック中の最後の有意な係数が識別されると、逆方向の走査順序が有意性マップと係数レベルの両方に適用され得る。
走査の後、走査方向に応じて、より高い周波数のエネルギーが低減したことにより、また量子化の効果により、いくつかの0の係数は、一般に、1Dアレイの一方の端部においてグループ化されることになり、これにより、ビット深度の低減時に、いくつかの0ではない係数が、値が0の係数になり得る。直列化された1Dアレイ内の係数分布のこれらの特性は、コード化効率を改善するためにエントロピーコーダ設計において利用され得る。言い換えると、何らかの適切な走査順序を通じて1Dアレイの一部分に0ではない係数が効果的に配置され得る場合、より良好なコード化効率が、多くのエントロピーコーダの設計により期待され得る。たとえば、エントロピーコード化は値が0の係数の連続をコード化して、コード化のためのより効率的なシンボルを与え得る。
一例として、DCTが変換係数に適用される場合、しばしば、2D変換単位の左上の角(すなわち、低周波数領域)に向かって、0ではない係数の確率が高くなる。したがって、変換係数の走査が左上の角において開始され、これによって係数の直列化された連続の相対的な開始時において、0ではない係数を一緒にグループ化する確率が上がり得る場合、エントロピーコード化の効率は上がり得る。加えて、値が0の係数は、直列化されたアレイの終端に向かって一緒にグループ化されてよく、これはエントロピーコード化の効率を上げ得る。
提案されているHEVC規格において量子化された変換係数を走査する際に使用するために、対角方向(または波面)の走査順序が採用されている。変換および量子化を通じて、上述のように、変換がDCTである例では、0ではない変換係数は、ブロックの左上領域のほうの低周波数エリアに位置し得る。その結果、最初に左上領域を横断し得る対角方向の走査処理の後、0ではない変換係数は、1Dアレイの前方部分に位置する可能性がより高くなり得る。最初に右下領域を横断する対角方向の走査処理の場合、0ではない変換係数は、通常、1Dアレイの後方部分に位置する可能性がより高くなる。
上の例は対角方向の走査に言及するが、1Dアレイの一方の端部により多くの0ではない係数を配置するという目的を達成するために、様々な走査順序が、ビデオコーダ(たとえば、ビデオエンコーダまたはビデオデコーダ)のコード変換係数において使用され得る。ある場合には、対角方向の走査が効果的であり得る。他の場合には、ジグザグ、垂直方向または水平方向の走査など、異なるタイプの走査がより効果的であり得る。実施される具体的な走査は、レート−歪み尺度(rate-distortion metric)のような、様々な基準により得る。
異なる走査順序は、種々の方法で生成され得る。1つの例は、変換係数の各ブロックについて、いくつかの利用可能な走査順序から「最良」の走査順序が選定され得ることである。次いで、ビデオエンコーダが、各ブロックについて、それぞれのインデックスによって示される走査順序のセットのうちの最良の走査順序のインデックスの指示をデコーダに与え得る。最良の走査順序の選択は、いくつかの走査順序を適用することと、1Dベクトルの始端または終端の近くに0ではない係数を配置する際に最も効果的である走査順序を選択することとによって決定され、それにより効率的なエントロピーコード化が促進され得る。
0057
別の例では、現在のブロックの走査順序は、予測モード(I、B、P)、ブロックサイズ、変換または他の因子など、関連する予測単位のコード化に関係する様々な因子に基づいて決定され得る。場合によっては、エンコーダ側とデコーダ側の両方において同じ情報、たとえば、予測モードが推測され得るので、デコーダに走査順序インデックスの指示を与える必要はないことがある。代わりに、ビデオデコーダは、ブロックの予測モードの知識と、予測モードを特定の走査順序にマッピングする1つまたは複数の基準とが与えられれば、適切な走査順序を示す構成データを記憶し得る。
コード化効率をさらに改善するために、利用可能な走査順序は常に一定であるとは限らない。代わりに、たとえば、すでにコード化された係数に基づいて走査順序が適応的に調整されるように、何らかの適応が可能にされ得る。一般に、走査順序の適応は、選択された走査順序に従って、0の係数および0ではない係数が一緒にグループ化される可能性が高いような方法で行われ得る。
いくつかのビデオコーダでは、最初の利用可能な走査順序は、純水平方向、純垂直方向、純対角方向、または純ジグザグの走査など、極めて規則的な形態であり得る。代替的に、走査順序は、訓練プロセスを通じて導出されてよく、したがって、いくぶんランダムであるように見えることがある。訓練プロセスは、たとえば、上述のように、0ではない係数と値が0の係数との効率的な配置に関して望ましい結果を生成する走査順序を識別するための、ブロックまたは一連のブロックへの異なる走査順序の適用を伴い得る。
[0060] 走査順序が訓練プロセスから導出される場合、または多種多様な走査順序が選択され得る場合、エンコーダ側とデコーダ側の両方において特定の走査順序が保存され得る。そのような走査順序を指定するデータはかなりの量であり得る。たとえば、32×32の変換ブロックでは、1つの走査順序は1024個の変換係数の場所を含み得る。異なるサイズのブロックがあることがあり、変換ブロックの各サイズについて、いくつかの異なる走査順序があり得るので、保存される必要があるデータの総量は無視できない。
対照的に、対角方向、水平方向、垂直方向、またはジグザグの順序などの規則的な走査順序は、記憶を必要としないことがあり、または最小限の記憶しか必要としないことがある。しかしながら、順方向の水平または垂直な走査のような規則的な走査は、ある行/列を、左または上から右または下まで走査し、そして次の行/列のために左または上に戻る。このような走査順序の「強い」方向性は、大きなブロックに対しては効率的ではないことがあり、それは、ある行/列の終端の変換係数と次の行/列の始端の変換係数の間にほとんど相関がないことがあるからである。
いくつかの例では、効率を上げ、かつ/または実装を簡単にするために、変換係数のブロックはサブセットに分割されてよく、このサブセットは複数のサブブロックという形態をとり得る。たとえば、32×32のような大きなブロックに対してジグザグの走査または対角方向の走査を実施することは、ソフトウェアまたはハードウェアのビデオコーダにとって重荷となる(たとえば、計算上非効率である)ことがある。したがって、ブロックをサブブロックに分割した後、サブブロックは次いで、走査されコード化され得る。ビデオエンコーダに関しては、サブブロックからの変換係数の2次元アレイが走査されて変換係数の1次元アレイを形成することができ、次いでその1次元アレイが符号化される。ビデオデコーダに関しては、変換係数の1次元アレイが受信され復号されてよく、1次元アレイは次いで2次元のサブブロックを復元するために使用される。
本開示の技法は全般に、変換係数のサブブロックを走査してコード化することに関する。たとえば、本明細書で説明されるように、係数の走査順序は、変換係数がサブブロック内で走査されコード化される順序を表し得る。サブブロックの走査順序は、サブブロック自体が走査されコード化される順序を表し得る。本開示の態様によれば、係数の走査順序は、サブブロックの走査順序と同じ方向を有し得る。たとえば、本明細書で説明されるように、走査方向は一般に、走査方向、走査パターン、または走査の全体的な順序を指し得る。すなわち、ジグザグのパターン(たとえば、図5Aに関して示され説明されるような)は、ジグザグの方向を有すると呼ばれ得る。加えて、対角方向の走査(たとえば、図5D〜図5Fに関して示され説明されるような)は、対角方向を有すると呼ばれ得る。本開示の態様によれば、サブブロックの走査順序の方向は、係数の走査順序の方向と一致し得る。
たとえば、本開示の態様によれば、ビデオコーダは、所定のサブブロックサイズよりも大きなブロックを、サブブロックへと副分割することができる。いくつかの例では、ビデオコーダは4×4のサブブロックへとブロックを分割し得るが、種々の他のサブブロックサイズ(たとえば、2×2、8×8、16×16など)も使用され得る。ビデオコーダがピクチャ(またはスライス)のすべてのブロックに対して同じサブブロックサイズを使用する場合、サブブロックサイズの均一性によって、ハードウェアの実装形態では利益が得られ得る。しかしながら、均一なサブブロックサイズは、本開示の技法を実行するために必須ではない。
変換係数のブロックをサブブロックへと分割した後、ビデオコーダは、係数の走査順序でサブブロックの変換係数を走査することができ、また、サブブロックの走査順序でサブブロック自体を走査することができる。本開示の態様によれば、係数の走査順序およびサブブロックの走査順序は、同じ方向(たとえば、同じ操作パターン、方向、または順序)を有し得る。すなわち、たとえば、ビデオコーダは、係数の走査順序で、サブブロックの変換係数(たとえば、有意性、符号、レベルなどを含む)の各々を対角方向に走査することができる。ビデオコーダはまた、サブブロックの走査順序で、サブブロックにわたって対角方向に走査することができる。例示すると、サブブロックが走査される順序は、サブブロック内の係数が最初に走査され、次いで第2のサブブロック内の係数が2番目に走査され、以下同様となることを規定することができるが、係数の走査の順序は、所与のサブブロック内の係数が走査される順序を規定する。
他の例では、本開示の態様によれば、係数の走査順序は、サブブロックの走査順序とは異なり得る。すなわち、たとえば、ビデオコーダは、対角方向のサブブロックの走査順序と、ジグザグの係数の走査順序とを実行し得る。以下でより詳しく説明されるように、ビデオコーダは、たとえば、レート−歪み尺度に基づいて、サブブロックの走査順序と係数の走査順序とを適応的に決定することができる。
いくつかの例では、ビデオコーダは、走査を反対方向に実行することができる。加えて、いくつかの態様によれば、ビデオコーダは、サブブロックを順番に走査しコード化することができる。すなわち、ビデオコーダは、サブブロックの走査順序で次のサブブロックに移る前に、係数の走査順序で現在のサブブロックの変換係数を走査しコード化することができる。
本開示の態様はまた、エントロピーコード化のための走査(たとえば、有意性マップの走査またはCABACにおける係数レベルの走査)を実行するために、サブブロックの適応的な走査順序を使用することに関する。一例では、サブブロックの適応的な走査順序が、比較的大きなブロックサイズ(たとえば、32×32または16×16のブロックサイズ)に対して、上で説明されたような、強い水平方向または垂直方向の走査順序の代わりに使用され得る。しかしながら、以下の技法は、副分割され得る任意のサイズのブロックに対して使用され得る。上で述べられたように、適応的な走査は、ブロックの0ではない変換係数を一緒にグループ化するのを支援することができる。
いくつかの例では、変換係数のブロックをサブブロックに分割することで、(たとえば、コンテキストを使用したエントロピーコード化の場合)サブブロック内でコンテキスト依存性が生じることがある。たとえば、対角方向の走査を使用してサブブロック内で走査する場合、サブブロック内の左上の係数に対するコンテキストは、処理されている以前の係数(たとえば、現在の変換係数の下に位置する変換係数)に依存し得る。コンテキスト依存性(context dependency)は、エントロピーコード化の場合に、望ましくない遅延をもたらし得る。この依存性を回避し、そして並列化を強化するために、本開示の態様は、コンテキストサポート近傍(context support neighborhood)と呼ばれ得る、コンテキストが導出され得る場所を修正することに関する。たとえば、本開示の技法は、2つの連続する係数の依存性を除去するコンテキストサポート近傍を決定し、ビデオコーダが2つのビンを並列に処理することを可能にすることを含む。いくつかの例では、依存性の除去は、2つの連続する係数から、3つ、4つ、またはより多数の連続する係数へと増やされ得る。そうした場合、各場所におけるコンテキストサポート近傍は、ある特定の走査順序が与えられると、近傍におけるコンテキスト依存性を除去するように修正され得る。
[0070] 図1は、本開示の例による、変換係数をコード化するための技法を利用するように構成され得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されるように、システム10は、通信チャネル16を介して符号化されたビデオを宛先デバイス14に送信するソースデバイス12を含む。符号化されたビデオはまた、記憶媒体34またはファイルサーバ36に記憶されてよく、必要に応じて宛先デバイス14によってアクセスされ得る。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆるスマートフォンのような電話ハンドセット、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、多種多様なデバイスのいずれをも備え得る。多くの場合、そのようなデバイスはワイヤレス通信が可能であり得る。
したがって、通信チャネル16は、高周波(RF)スペクトルまたは1つまたは複数の物理的な伝送線、またはワイヤレス媒体および有線媒体の任意の組合せのような、符号化されたビデオデータの送信に適した、ワイヤレスチャネル、有線チャネル、またはワイヤレスチャネルおよび有線チャネルの組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークのような、パケットベースのネットワークの一部を形成することができる。通信チャネル16は、一般に、有線媒体またはワイヤレス媒体の任意の適切な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに適切な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を支援するのに有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
本開示の例による、変換係数をコード化するための技法は、無線を通じたテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途など、種々のマルチメディア用途のいずれかをサポートするビデオコード化に適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器22と、送信機24とを含む。ソースデバイス12において、ビデオソース18は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/または、ソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き電話またはテレビ電話を形成し得る。しかしながら、本開示で説明される技法は、概してビデオコード化に適用可能であってよく、ワイヤレスおよび/または有線の用途に適用され得る。
撮影されたビデオ、以前に撮影されたビデオ、またはコンピュータで生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他のコンポーネントを含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
ビデオエンコーダ20によって符号化された、撮影されたビデオ、以前に撮影されたビデオ、またはコンピュータで生成されたビデオはまた、後で使用するために記憶媒体34またはファイルサーバ36に記憶され得る。記憶媒体34は、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、または符号化されたビデオを記憶するための任意の他の適切なデジタル記憶媒体を含み得る。記憶媒体34に記憶された符号化されたビデオは、次いで、復号および再生のために宛先デバイス14によってアクセスされ得る。
ファイルサーバ36は、符号化されたビデオを記憶すること、およびその符号化されたビデオを宛先デバイス14に送信することが可能な、任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、ローカルディスクドライブ、または、符号化されたビデオデータを記憶すること、および符号化されたビデオデータを宛先デバイスに送信することが可能な任意の他のタイプのデバイスを含む。ファイルサーバ36からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。ファイルサーバ36は、インターネット接続を含む任意の標準的なデータ接続を通じて宛先デバイス14によってアクセスされ得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適切な、ワイヤレスチャネル(たとえば、Wi−Fi接続)、有線接続(たとえば、DSL、ケーブルモデム、イーサネット(登録商標)、USBなど)、または両方の組合せを含み得る。
図1の例では、宛先デバイス14は、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。宛先デバイス14の受信機26はチャネル16を通じて情報を受信し、モデム28は、その情報を復調して、ビデオデコーダ30のための復調されたビットストリームを生成する。チャネル16を通じて通信される情報は、ビデオデータを復号する際にビデオデコーダ30が使用する、ビデオエンコーダ20によって生成された種々のシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体34またはファイルサーバ36に記憶される符号化されたビデオデータとともに含まれ得る。
ディスプレイデバイス32は、宛先デバイス14と一体化されてよく、またはその外部にあってよい。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含んでよく、また、外部ディスプレイデバイスとインターフェースをとるように構成されてよい。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、種々のディスプレイデバイスのいずれかを備え得る。
ビデオエンコーダ20およびビデオデコーダ30は、現在開発中のHigh Efficiency Video Coding(HEVC)規格などのビデオコード化規格に従って動作することができ、HEVC Test Model(HM)に準拠することができる。以後HEVC WD7と呼ばれる、HEVCの最新のWorking Draft(WD)は、http://phenix.int−evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC−I1003−v5.zipから入手可能であり、さらに新しいバージョンは、http://phenix.int−evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC−I1003−v6.zipから入手可能であり、これらの両方が、その全体がここに記載されているかのように、参照によって本明細書に組み込まれる。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part 10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格のような、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコード化規格にも限定されない。ビデオコード化規格の他の例には、MPEG−2およびITU−T H.263がある。
[0080] ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。いくつかの態様では、本開示で説明される技法は、一般にH.264規格に準拠するデバイスに適用され得る。H.264規格は、ITU−T研究グループによる2005年3月付けのITU−T勧告H.264、Advanced Video Coding for generic audiovisual servicesに記載されており、本明細書ではH.264規格もしくはH.264仕様、またはH.264/AVC規格もしくは仕様と呼ばれ得る。Joint Video Team(JVT)は、H.264/MPEG−4 AVCへの拡張に取り組み続けている。
JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVC Test Model(HM)と呼ばれるビデオコード化デバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対する、ビデオコード化デバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9個のイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
HEVC規格では、ビデオデータのブロックをコード化単位(CU)と呼ぶ。一般に、CUは、CUがサイズの差異を有さないことを除いて、H.264に従ってコード化されたマクロブロックと同様の目的を有する。したがって、CUはサブCUに分割され得る。一般に、本開示におけるCUへの言及は、ピクチャの最大コード化単位(LCU)またはLCUのサブCUを指すことがある。たとえば、ビットストリーム内のシンタックスデータは、画素の数に関して最大のコード化単位であるLCUを定義し得る。LCUはサブCUに分割されてよく、各サブCUはサブCUに分割されてよい。ビットストリームのシンタックスデータは、最大CU深さ(maximum CU depth)と呼ばれる、LCUが分割され得る最大回数(maximum number of times)を定義し得る。それに応じて、ビットストリームは最小コード化単位(SCU:smallest coding unit)も定義し得る。
LCUは階層4分木データ構造と関連付けられ得る。一般に、4分木データ構造はCUごとに1つのノードを含み、ルートノードがLCUに対応する。CUが4つのサブCUに分割される場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義されてよく、CUがサブCUに分割されるかどうかに依存し得る。
分割されないCUは、1つまたは複数の予測単位(PU)を含み得る。一般に、PUは、対応するCUの全部または一部分を表し、そのPUの参照サンプルを取り出すためのデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4画素精度または1/8画素精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照リスト(たとえば、リスト0またはリスト1)を記述し得る。(1つまたは複数の)PUを定義するCUのデータはまた、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUがコード化されないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって、異なり得る。
1つまたは複数のPUを有するCUはまた、1つまたは複数の変換単位(TU)を含み得る。PUを使用した予測の後に、ビデオエンコーダは、PUに対応するCUの部分の残差値を計算し得る。残差値は変換され、量子化され、走査され得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUは、同じCUの対応するPUよりも大きいことも小さいこともある。いくつかの例では、TUの最大サイズ(maximum size)は、対応するCUのサイズであり得る。本開示ではまた、CU、PU、またはTUのいずれかを指すために「ブロック」という用語を使用する。
ビデオエンコーダ20は、ビデオコード化処理における変換係数の符号化を改善するために、本開示の技法のいずれかまたはすべてを実装し得る。同様に、ビデオデコーダ30は、ビデオコード化処理における変換係数の復号を改善するために、これらの技法のいずれかまたはすべてを実装し得る。本開示で説明されるビデオコーダは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコード化ユニットは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコード化は、ビデオ符号化またはビデオ復号を指し得る。
本開示の態様によれば、ビデオエンコーダ20および/またはビデオデコーダ30は、複数のサブブロック中のブロック(たとえば、TU)の変換係数を処理することができる。サブブロックは、等しいサイズであってよく、または異なるサイズであってよい。ビデオエンコーダ20および/またはビデオデコーダ30は、係数の走査順序でサブブロックの変換係数を走査し、サブブロックの走査順序でサブブロック自体を走査することができる。すなわち、サブブロックは、第1のサブブロック中の係数が最初に走査され、第2のサブブロック中の係数が2番目に走査され、第3のサブブロック中の係数が3番目に走査され、以下同様であることを規定し得る。係数の走査順序は次いで、各サブブロック内の係数が走査される順序を規定し得る。本開示の態様によれば、ビデオエンコーダ20および/またはビデオデコーダ30は、係数の走査順序およびサブブロックの走査順序について、同じ方向(たとえば、走査パターン、方向、または順序)を使用することができる。すなわち、本開示の態様によれば、サブブロックの走査順序の方向は、係数の走査順序の方向と一致し得る。他の例では、(たとえば、サブブロックの走査順序および係数の走査順序が適応的に決定される例において)サブブロックの走査順序は、係数の走査順序とは異なり得る。
たとえば、変換係数のブロックをサブブロックへと分割した後(または、変換係数のサブブロックを受信した後)、ビデオエンコーダ20および/またはビデオデコーダ30は、係数の走査順序でサブブロックの変換係数を走査することができ、また、サブブロックの走査順序でサブブロック自体を走査することができる。すなわち、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、係数の走査順序で、サブブロックの変換係数の各々を対角方向に走査することができる。ビデオエンコーダ20および/またはビデオデコーダ30はまた、サブブロックの走査順序で、サブブロックにわたって対角方向に走査することができる。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、走査を反対方向に実行することができる。加えて、いくつかの態様によれば、ビデオエンコーダ20および/またはビデオデコーダ30は、サブブロックを順番に走査しコード化することができる。すなわち、ビデオエンコーダ20および/またはビデオデコーダ30は、サブブロックの走査順序で次のサブブロックに移る前に、係数の走査順序で現在のサブブロックの変換係数(たとえば、有意性、符号、レベルなどを含む)を走査しコード化することができる。
いくつかの態様によれば、ビデオエンコーダ20および/またはビデオデコーダ30は、適応的なサブブロックの走査順序を実行することができる。一例では、サブブロックの適応的な走査順序が、比較的大きなブロックサイズ(たとえば、32×32または16×16のブロックサイズ)に対して、上で説明されたような、強い水平方向または垂直方向の走査順序の代わりに使用され得る。ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックサイズ、ブロックの予測モード(たとえば、イントラ/インター予測モード)、近傍のブロックの情報(予測モード、動き情報、走査インデックス)に基づいて、かつ/または、エンコーダにおける完全なレート−歪みの判断およびデコーダにおける符号化されたビットストリームからのシンタックスから、ブロックに対して、サブブロックの走査順序と係数の走査順序とを適応的に決定することができる。
[0090] 図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合されてよく、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。可能な場合、いくつかの例では、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せのような、種々の適切なエンコーダ回路のいずれかとして実装され得る。本技法がソフトウェアで部分的に実施されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
図2は、本開示で説明される変換係数をコード化するための技法を使用し得る、ビデオエンコーダ20のある例を示すブロック図である。図2では、ビデオエンコーダ20のいくつかの態様が、例示のために提案されたHEVCコード化に関して説明され得るが、本開示の技法は、変換係数の走査を必要とし得る他のコード化規格または方法に関して限定されることなく、実行され得る。
図2の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、参照ピクチャバッファ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。図2に示される変換処理ユニット52は、残差データのブロックに実際の変換を適用するユニットであり、CUの変換ユニット(単位)(TU)と呼ばれることもある変換係数のブロックと混同されるべきでない。ビデオブロック復元のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。復元されたビデオからブロック歪み (blockiness artifacts)を除去するためにブロック境界をフィルタリングするための、デブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタ(deblocking filter)は、一般に、加算器62の出力をフィルタリングする。
符号化処理中に、ビデオエンコーダ20は、コード化されるべきビデオピクチャまたはスライスを受信する。ピクチャまたはスライスは、複数のビデオブロック、たとえば、最大コード化単位(LCU)に分割され得る。動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数のブロックに対する受信されたビデオブロックのインター予測コード化を実行する。イントラ予測ユニット46は、空間圧縮を行うために、コード化されるべきブロックと同じピクチャまたはスライス中の1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コード化を実行し得る。
モード選択ユニット40は、たとえば、各モードについてのレート歪み分析に基づいて、コード化モードのうちの1つ、すなわち、イントラまたはインターを選択することができ、得られたイントラコード化されたまたはインターコード化されたブロックを加算器50に与えて、残差ブロックデータを生成し、かつ得られたイントラコード化されたまたはインターコード化されたブロックを加算器62に与えて、参照ピクチャ中で使用する符号化されたブロックを復元する。いくつかのビデオピクチャはIフレームとして指定されてよく、Iフレーム中のすべてのブロックはイントラ予測モードで符号化される。場合によっては、たとえば、動き推定ユニット42によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測ユニット46は、PフレームまたはBフレーム中のブロックのイントラ予測符号化を実行し得る。
動き推定ユニット42および動き補償ユニット44は、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成する処理である。動きベクトルは、たとえば、参照ピクチャの参照サンプルに対する、現在のピクチャ中の予測単位の変位を示し得る。参照サンプルは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of squared difference)、または他の差分尺度によって求められ得る画素差分に関して、コード化されているPUを含むCUの部分と厳密に一致することが判明しているブロックであり得る。動き補償ユニット44によって実行される動き補償は、動き推定によって求められた動きベクトルに基づいて予測単位の値をフェッチまたは生成することを伴い得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。
動き推定ユニット42は、予測単位を参照ピクチャバッファ64に記憶された参照ピクチャの参照サンプルと比較することによって、インターコード化されたピクチャの予測単位の動きベクトルを計算する。いくつかの例では、ビデオエンコーダ20は、参照ピクチャバッファ64に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4画素位置、1/8画素位置、または他の分数画素位置fractional pixel positionの値を計算し得る。したがって、動き推定ユニット42は、フル画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照ピクチャの部分は、参照サンプルと呼ばれることがある。参照サンプルは、コード化されるべき現在のブロックのための予測画素値を形成する際に使用される、画素値を定義することができる。動き補償ユニット44は、たとえば、PUの動きベクトルによって識別される参照サンプルを取り出すことによって、現在のCUの予測単位についての予測値を計算し得る。
イントラ予測ユニット46は、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、受信されたブロックをイントラ予測符号化し得る。イントラ予測ユニット46は、隣接する、以前にコード化されたブロック、たとえば、ブロックに対して左から右、上から下への符号化順序を仮定すると、現在のブロックの上のブロック、右上のブロック、左上のブロック、または左のブロックに対して、受信されたブロックを符号化し得る。イントラ予測ユニット46は、多種多様なイントラ予測モードで構成され得る。たとえば、イントラ予測ユニット46は、符号化されているCUのサイズに基づいて、一定数の方向性予測モード、たとえば、33個の方向性予測モードで構成され得る。
イントラ予測ユニット46は、たとえば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接する画素の値を合成し、その合成された値をPU中の1つまたは複数の画素位置に適用するための機能を含み得る。PU中のすべての画素位置の値が計算されると、イントラ予測ユニット46は、PUと符号化されるべき受信されたブロックとの間の画素差分に基づいて予測モードの誤差値を計算し得る。イントラ予測ユニット46は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測ユニット46は、次いで、PUを加算器50に送り得る。
[0100] ビデオエンコーダ20は、コード化されている元のビデオブロックから、動き補償ユニット44またはイントラ予測ユニット46によって計算された予測データを減算することによって残差ブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数のコンポーネントを表す。残差ブロックは画素差分値の2次元行列に対応してよく、残差ブロック中の値の数は、残差ブロックに対応するPU中の画素の数と同じである。残差ブロック中の値は、PU中と、コード化されるべき元のブロック中とで、同じ位置にある画素の値の差分、すなわち、誤差に対応し得る。差分は、コード化されるブロックのタイプに応じて、彩度の差分または輝度の差分であり得る。
変換処理ユニット52は、残差ブロックから1つまたは複数の変換単位(TU)を形成し得る。変換処理ユニット52は、離散コサイン変換(DCT)、方向性変換、または概念的に同様の変換などの変換をTUに適用して、変換係数を備えるビデオブロックを生成する。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。変換スキップモードのようなあるビデオコード化モードモードでは、変換処理ユニット52は、変換を実行することなく、残差ブロックを量子化ユニット54に直接送り得る。そのような場合、残差値に対して変換は実際には適用されないが、それでも残差値は「変換係数」と本明細書では呼ばれ得る。
量子化ユニット54は、次いで、その変換係数を量子化し得る。次いで、エントロピー符号化ユニット56が、指定された走査順序に従って、行列中の量子化された変換係数の走査を実行し得る。本開示は、エントロピー符号化ユニット56が走査を実行するものとして説明する。しかしながら、他の例では、ビデオエンコーダ20が走査を実行できる場合、変換処理ユニット52、量子化ユニット54、または別のユニットなどの他の処理ユニットを理解されたい。
本開示の態様によれば、エントロピー符号化ユニット56は、複数のサブブロックを使用して、2D TUの変換係数を走査することができる。たとえば、エントロピー符号化ユニット56は、係数の走査順序でサブブロックの変換係数を走査し、サブブロックの走査順序でサブブロック自体を走査することができる。本開示の態様によれば、エントロピー符号化ユニット56は、係数の走査順序およびサブブロックの走査順序について、同じ方向(たとえば、走査パターン、方向、または順序)を使用することができる。すなわち、本開示の態様によれば、サブブロックの走査順序の方向は、係数の走査順序の方向と一致し得る。他の例では、(たとえば、サブブロックの走査順序および係数の走査順序が適応的に決定される例において)サブブロックの走査順序は、係数の走査順序とは異なり得る。
たとえば、エントロピー符号化ユニット56は、変換係数のTUを生成し得る。TUを走査してTUを直列化する前に、エントロピー符号化ユニット56は、複数のサブブロックへとTUを分割することができる。エントロピー符号化ユニット56は次いで、係数の走査順序でサブブロックの変換係数を走査することができ、また、サブブロックの走査順序でサブブロック自体を走査することができる。すなわち、例示を目的とする例では、エントロピー符号化ユニット56は、係数の走査順序で、サブブロックの変換係数の各々を対角方向に走査することができる。エントロピー符号化ユニット56はまた、サブブロックの走査順序でサブブロック全体を対角方向に走査する(サブブロック自体を走査する)ことができる。いくつかの例では、エントロピー符号化ユニット56は、走査を反対方向に実行することができる。加えて、いくつかの態様によれば、エントロピー符号化ユニット56は、サブブロックを順番に走査しコード化することができる。すなわち、エントロピー符号化ユニット56は、サブブロックの走査順序で次のサブブロックに移る前に、係数の走査順序で現在のサブブロックの変換係数と関連付けられるすべてのビンall binsを走査しコード化することができる。他の例では、エントロピー符号化ユニット56は、次のビンをコード化する前に、TU全体(すべてのサブブロックを含む)の特定のビンをコード化することができる。
いくつかの態様によれば、エントロピー符号化ユニット56は、適応的なサブブロックの走査順序を実行することができる。一例では、サブブロックの適応的な走査順序が、比較的大きなブロックサイズ(たとえば、32×32または16×16のブロックサイズ)に対して、上で説明されたような、強い水平方向または垂直方向の走査順序の代わりに使用され得る。エントロピー符号化ユニット56は、ブロックサイズ、ブロックの予測モード(たとえば、イントラ/インター予測モード)、近傍のブロックの情報(予測モード、動き情報、走査インデックス)に基づいて、かつ/または、エンコーダにおける完全なレート−歪みの判断およびデコーダにおける符号化されたビットストリームからのシンタックスから、ブロックに対する、サブブロックの走査順序と係数の走査順序とを適応的に決定することができる。
変換係数が走査されると(または走査の間に)、エントロピー符号化ユニット56は、それらの係数に、CAVLC、PIPE、またはCABACなどのエントロピーコード化を適用し得る。加えて、エントロピー符号化ユニット56は、動きベクトル(MV)情報と、ビデオデコーダ30においてビデオデータを復号する際に有用な種々のシンタックス要素のいずれかとを符号化し得る。シンタックス要素は、特定の係数が有意(たとえば、0ではない)であるかどうかを示す有意係数フラグと、特定の係数が最後の有意な係数であるかどうかを示す最後有意係数フラグ(いくつかの例では、最後の有意な係数の位置はコード化されなくてよい)とを伴う、有意性マップを含み得る。ビデオデコーダ30は、これらのシンタックス要素を使用して、符号化されたビデオデータを復元し得る。エントロピー符号化ユニット56によるエントロピーコード化の後に、得られた符号化されたビデオは、ビデオデコーダ30などの別のデバイスに送信されてよく、または、後で送信するかまたは取り出すためにアーカイブされてよい。
いくつかの例では、変換係数のブロックをサブブロックに分割することで、(たとえば、コンテキスト)情報を使用したエントロピーコード化の場合)サブブロック内でコンテキスト依存性が生じることがある。たとえば、対角方向の走査を使用してサブブロック内で走査する場合、サブブロック内の左上の係数の特定のビン(有意性マップのビンなど)に対するコンテキストは、処理されている以前の係数(たとえば、現在の変換係数の下に位置する変換係数)に依存し得る。コンテキスト依存性は、エントロピーコード化の場合に、望ましくない遅延をもたらし得る。この依存性を回避し、そして並列化を強化するために、エントロピー符号化ユニット56は、コンテキストサポート近傍を修正することができる。たとえば、エントロピー符号化ユニット56は、2つの連続する係数のコンテキスト依存性を除去するコンテキストサポート近傍を決定することができ、エントロピー符号化ユニット56が2つのビンを並列に符号化することを可能にする。すなわち、本開示の態様によれば、コンテキストを導出するために通常は使用されるであろう、位置のセットからの1つまたは複数の位置(すなわち、コンテキストサポート近傍)を除去することができ、これによって減らされたコンテキストのセットを確立する。いくつかの例では、エントロピー符号化ユニット56は、依存性の除去を、2つの連続する係数から、3つ、4つ、またはより多数の連続する係数へと増やすことができる。そうした場合、各場所におけるコンテキストサポート近傍は、ある特定の走査順序が与えられると、近傍におけるコンテキスト依存性を除去するように修正され得る。
逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化と逆変換とを適用して、たとえば、参照ブロックとして後で使用するために、画素領域中で残差ブロックを復元する。動き補償ユニット44は、残差ブロックを参照ピクチャバッファ64のピクチャのうちの1つの予測ブロックに加算することによって、参照ブロックを計算し得る。動き補償ユニット44はまた、復元された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器62は、復元された残差ブロックを、動き補償ユニット44によって生成された動き補償された予測ブロックに加算して、参照ピクチャバッファ64に記憶するための復元されたビデオブロックを生成する。復元されたビデオブロックは、後続のビデオピクチャ中のブロックをインターコード化するために、動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
図3は、符号化されたビデオシーケンスを復号するビデオデコーダ30のある例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャバッファ82と、加算器80とを含む。
[0110] エントロピー復号70は、図2のエントロピー符号化ユニット56によって使用された処理の逆であり得る処理において、符号化されたビデオをエントロピー復号する。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得る。イントラ予測ユニット74は、信号伝達されたイントラ予測モードと、現在のピクチャの以前に復号されたブロックからのデータとに基づいて、現在のピクチャの現在のブロックについての予測データを生成し得る。
いくつかの例では、エントロピー復号ユニット70(または逆量子化ユニット76)は、ビデオエンコーダ20のエントロピー符号化ユニット56(または量子化ユニット54)によって使用された走査順序と一致する走査を使用して、受信された値を走査し得る。係数の走査は逆量子化ユニット76において実行され得るが、走査は、例示のために、エントロピー復号ユニット70によって実行されるものとして説明される。加えて、説明しやすいように別個の機能ユニットとして示されているが、ビデオデコーダ30のエントロピー復号ユニット70、逆量子化ユニット76、および他のユニットの構造および機能は、互いに高度に統合され得る。
ビデオデコーダ30は、符号化されたビットストリームから、ビデオエンコーダ20によって使用された走査順序を特定する信号(signaling)を受信し得る。加えて、または代替的に、走査順序は、予測モード、ブロックサイズ、変換、または他の特性のような、コード化されたビデオの特性に基づいて、ビデオデコーダ30によって推測され得る。別の例として、ビデオエンコーダ20およびビデオデコーダ30は、すべての使用事例について所定の走査順序とコンテキストとを使用することができるので、符号化されたビットストリームでの信号伝達は必要とされないであろう。
本開示の技法によれば、ビデオデコーダ30によって決定される走査順序は、1Dベクトルからの変換係数が、どのように走査されて、複数のサブブロックに分割される2Dブロックになるかを定義する、サブブロックの走査順序と係数の走査順序とを含み得る。デコーダは、2Dブロックのサイズに基づいて、変換係数のブロックのサブブロックの数および/またはサイズを推測することができる。他の例では、サブブロックの数および/またはサイズは、符号化されたビデオビットストリームにおいて示され得る。
走査順序がどのように決定されるかにかかわらず、エントロピー復号ユニット70は、エンコーダによって使用される走査順序の逆を使用して、1Dベクトルを走査して2Dアレイにする。本開示の技法によれば、エントロピー復号ユニット70は、1Dベクトルのセクションからの変換係数を走査して2Dブロックの複数のサブブロックにする、走査処理を実行することができる。この処理は、図2を参照して上で説明された処理の逆であり得る。
たとえば、本開示の態様によれば、エントロピー復号ユニット70は、複数のサブブロック中で、TUを復号し逆走査することができる。すなわち、エントロピー復号ユニット70は、係数の走査順序でサブブロックの変換係数を走査し、サブブロックの走査順序でサブブロック自体を走査することができる。本開示の態様によれば、エントロピー復号ユニット70は、係数の走査順序およびサブブロックの走査順序について、同じ方向(たとえば、走査パターン、方向、または順序)を使用することができる。すなわち、本開示の態様によれば、サブブロックの走査順序の方向は、係数の走査順序の方向と一致し得る。他の例では、(たとえば、サブブロックの走査順序および係数の走査順序が適応的に決定される例において)サブブロックの走査順序は、係数の走査順序とは異なり得る。
たとえば、エントロピー復号ユニット70は、TUと関連付けられる変換係数の直列化されたアレイを受信し得る。エントロピー復号ユニット70は、サブブロック中の変換係数を走査して、2D TUを復元することができる。すなわち、エントロピー復号ユニット70は、係数の走査順序で変換係数を走査し、また、サブブロックの走査順序でサブブロック自体を走査することができる。例示のための例において、エントロピー復号ユニット70は、係数の走査順序で、受信された変換係数の各々を対角方向に走査して、2Dのサブブロックを復元することができる。
エントロピー復号ユニット70はまた、サブブロックの走査順序で、(サブブロックが生成されるに従って)復元されたサブブロックを対角方向に走査して、TUを復元することができる。いくつかの例では、エントロピー復号ユニット70は、走査を反対方向に実行することができる。加えて、いくつかの態様によれば、エントロピー復号ユニット70は、サブブロックを順番に走査しコード化することができる。すなわち、エントロピー復号ユニット70は、サブブロックの走査順序で次のサブブロックに移る前に、係数の走査順序で現在のサブブロックの変換係数と関連付けられるすべてのビンを走査し復号することができる。他の例では、エントロピー復号ユニット70は、次のビンを復号する前に、TU全体(すべてのサブブロックを含む)の特定のビンを復号することができる。
いくつかの態様によれば、エントロピー復号ユニット70は、適応的なサブブロックの走査順序を実行することができる。一例では、サブブロックの適応的な走査順序が、比較的大きなブロックサイズ(たとえば、32×32または16×16のブロックサイズ)に対して、上で説明されたような、強い水平方向または垂直方向の走査順序の代わりに使用され得る。エントロピー復号ユニット70は、ブロックサイズ、ブロックの予測モード(たとえば、イントラ/インター予測モード)、近傍のブロックの情報(予測モード、動き情報、走査インデックス)に基づいて、かつ/または、エンコーダにおける完全なレート−歪みの判断およびデコーダにおける符号化されたビットストリームからのシンタックスから、ブロックに対して、サブブロックの走査順序と係数の走査順序とを適応的に決定することができる。
いくつかの例では、変換係数のブロックをサブブロックに分割することで、(たとえば、コンテキスト)情報を使用したエントロピーコード化の場合)サブブロック内でコンテキスト依存性が生じることがある。たとえば、対角方向の走査を使用してサブブロック内で走査する場合、サブブロック内の左上の係数に対するコンテキストは、処理されている以前の係数(たとえば、現在の変換係数の下に位置する変換係数)に依存し得る。コンテキスト依存性は、エントロピーコード化の場合に、望ましくない遅延をもたらし得る。この依存性を回避し、そして並列化を強化するために、エントロピー復号ユニット70は、修正されたコンテキストサポート近傍を使用することができる。たとえば、エントロピー復号ユニット70は、2つの連続する係数のコンテキスト依存性を除去するコンテキストサポート近傍を使用することができ、エントロピー復号ユニット70が2つのビンを並列に復号することを可能にする。いくつかの例では、エントロピー復号ユニット70は、依存性の除去を、2つの連続する係数から、3つ、4つ、またはより多数の連続する係数へと増やすことができる。そうした場合、各場所におけるコンテキストサポート近傍は、ある特定の走査順序が与えられると、近傍におけるコンテキスト依存性を除去するように修正され得る。
[0120] エントロピー復号ユニット70によって生成された変換係数の2Dアレイは、量子化されてよく、変換係数の1Dベクトルを生成するためにビデオエンコーダ20のエントロピー符号化ユニット56によって走査された変換係数の2Dアレイと概ね一致し得る。逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された、量子化された変換係数を逆の量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化処理は、たとえば、HEVCのために提案された処理またはH.264復号規格によって定義された処理と同様の、従来の処理を含み得る。逆量子化処理は、量子化の程度を判定し、同様に、適用されるべき逆量子化の程度を判定するための、CUについてビデオエンコーダ20によって計算される量子化パラメータQPの使用を含み得る。逆量子化ユニット76は、係数が1Dベクトルから2Dアレイに変換される前または変換された後に、変換係数を逆量子化し得る。
逆変換ユニット58は、逆変換、たとえば、逆DCT、逆整数変換、逆KLT、逆回転変換、逆方向性変換、または別の逆変換を適用する。いくつかの例では、逆変換処理ユニット78は、ビデオエンコーダ20からの信号伝達に基づいて、またはブロックサイズ、コード化モードなどの1つまたは複数のコード化特性から変換を推測することによって、逆変換を決定し得る。いくつかの例では、逆変換処理ユニット78は、現在のブロックを含むLCUのための4分木のルートノードにおける信号伝達された変換に基づいて、現在のブロックに適用すべき変換を決定し得る。いくつかの例では、逆変換処理ユニット78はカスケード逆変換を適用し得る。受信された係数がいわゆるスキップモードを使用してコード化された例では、逆変換ユニット58は変換を適用しなくてよい。
動き補償ユニット72は動き補償されたブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用される補間フィルタを使用して、参照ブロックのサブ整数画素に対する補間された値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用される補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
動き補償ユニット72およびイントラ予測ユニット74は、HEVCの例では、(たとえば、4分木によって与えられる)シンタックス情報の一部を使用して、符号化されたビデオシーケンスの(1つまたは複数の)ピクチャを符号化するために使用されるLCUのサイズを決定し得る。動き補償ユニット72およびイントラ予測ユニット74はまた、シンタックス情報を使用して、符号化されたビデオシーケンスのピクチャの各CUがどのように分割されるか(および、同様に、サブCUがどのように分割されるか)を記述する分割情報を決定し得る。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード(たとえば、イントラまたはインター予測、およびイントラ予測の場合はイントラ予測符号化モード)と、各々のインター符号化されたPUについての1つまたは複数の参照ピクチャ(および/またはそれらの参照ピクチャの識別子を含んでいる参照リスト)と、符号化されたビデオシーケンスを復号するための他の情報とを含み得る。
加算器80は、残差ブロックを、動き補償ユニット72またはイントラ予測ユニット74によって生成される対応する予測ブロックと合成して、復号されたブロックを形成する。たとえば、加算器80は、予測画素値(たとえば、輝度および/または彩度)を残差画素差分値と合成して、画素値を復元することができる。必要に応じて、ブロック歪みを除去するために、デブロッキングフィルタを適用して、復号されたブロックをフィルタリングすることもできる。復号されたビデオブロックは、次いで、参照ピクチャバッファ82に記憶され、参照ピクチャバッファ82は、参照ブロックを後続の動き補償のために与え、また、(図1のディスプレイデバイス32などの)ディスプレイデバイス上での提示のために復号されたビデオを生成する。
図4は、有意性マップのコード化を全般に示す概念図である。たとえば、上で述べられたように、ビデオエンコーダ(ビデオエンコーダ20など)は、係数の値(レベル)を符号化する前に、変換ブロック(たとえば、TU)中の有意な係数(すなわち、0ではない変換係数)の位置を符号化することができる。有意性マップをコード化する処理は、有意性マップコード化と呼ばれることがあり、これはビットレートのうちの比較的高い割合を必要とする。ビデオデコーダ(ビデオデコーダ30など)は、有意性マップを受信し、有意な変換係数の位置を決定することができる。
図4の例は、第1の行に3個の有意な係数を有し、第2の行に4個の有意な係数を有し、第3の行に2個の有意な係数を有し、かつ第4の行に有意な係数を有さない、量子化された変換係数100の4×4のブロックを示す。有意性マップ102は、有意な変換係数の各位置に(1)を含み、かつ値が0の変換係数の各位置に(0)を含む。一般に、有意な変換係数の位置を決定した後、ビデオエンコーダ20は、有意性マップ102を直列化し符号化することができる。同様に、ビデオデコーダ30は、直列化された有意性マップ102を受信し、有意な係数の位置を復元することができる。
有意性マップをコード化するための例示的な処理は、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月、に記載されている。この処理では、有意性マップは、Coded Block Flag(CBF)によって示されるように、ブロック中に少なくとも1つの有意な係数がある場合にコード化され、CBFは次のように定義され得る。
Coded Block Flag:coded_block_flagは1ビットシンボルであり、これは、変換係数の単一のブロック内に有意な、すなわち、0ではない係数があるかどうかを示し、これについてコード化されたブロックパターンは0ではないエントリを示す。coded_block_flagが0である場合、関連するブロックについてさらなる情報は送信されない。
ブロック中に有意な係数がある場合、有意性マップは、以下のようにブロック中の変換係数の走査順序に従うことによって符号化される。
変換係数の走査:coded_block_flagがそれについて0ではないエントリを示すサブブロックの変換係数レベルの2次元アレイが、最初に、所与の走査パターンを使用して1次元リストにマッピングされる。言い換えれば、有意な係数をもつサブブロックが走査パターンに従って走査される。
この走査パターンを仮定すれば、有意性マップは以下のように走査され得る。
有意性マップ:coded_block_flagが、ブロックが有意な係数を有することを示す場合、2進値の有意性マップが符号化される。走査順序における各変換係数について、1ビットシンボルsignificant_coeff_flagが送信される。significant_coeff_flagシンボルが1である場合、すなわち、0ではない係数がこの走査位置に存在する場合、さらなる1ビットシンボルlast_significant_coeff_flagが送られる。このシンボルは、現在の有意な係数がブロック内の最後の有意な係数であるかどうか、またはさらなる有意な係数が続くかどうかを示す。最後の走査位置に達し、有意性マップ符号化が、値1のlast_significant_coeff_flagによってまだ終了されていなかった場合、最後の係数が有意でなければならないことは明らかである。
[0130] 他のビデオコード化規格は、異なる処理を使用して有意な情報をコード化することができる。たとえば、提案されたHEVC規格は、上で説明された処理と同様の処理を使用するが、最後有意係数フラグをコード化しない。代わりに、HEVCによれば、最後の有意な係数を識別することができ、走査は、最後の有意な係数から最初の有意な係数へと反対の順序で進行し得る。
本開示の態様によれば、有意性マップ102は、より大きな有意性マップの一部分を形成し得る。すなわち、たとえば、有意性マップ102は、有意性フラグのより大きなブロックに対する、有意性フラグのサブブロックであり得る。そのような例では、本開示の態様によれば、ビデオコーダは、同じ方向を有する走査を使用して、有意性マップ102とより大きな有意性マップとを走査することができる。有意性マップ102に加えて、以下でより詳しく説明されるように、種々の他のビン(たとえば、符号、レベルなど)も、有意性マップ102と同じまたは異なる方向に走査され得る。
図5A〜図5Fは全般に、変換係数をコード化するための走査パターンと走査方向とを示す。たとえば、図5A〜図5Fに示される走査パターンは、変換係数(たとえば、有意性、レベル、符号など)の2Dアレイを直列化するとき、係数の走査順序として、ビデオエンコーダ(符号化されたビデオ20など)によって使用され得る。別の例では、走査パターンは、コード化された変換係数の受信された直列化されたアレイから変換係数のブロックを復元するとき、係数の走査順序として、ビデオデコーダ(ビデオデコーダ30など)によって使用され得る。
いくつかの例では、図5A〜図5Fに示される走査パターンおよび走査方向は、有意性マップ(図4に示される有意性マップ102など)、さらには変換係数レベルを走査するとき、ビデオデコーダによって実施され得る。たとえば、図5Aは、ビデオデータのブロックの変換係数(たとえば、TUに関連する変換係数)を走査するための、順方向のジグザグの走査パターン110を示す。一般に、ジグザグの走査パターン110は、ブロックの左上からブロックの右下まで、交互に45度の角度でブロックを横断する。すなわち、図5Aに示される例では、第1の係数112は、ブロックの左上の角に位置するDC成分であり、走査されるべき最後の係数114はブロックの右下の角に位置する。
図5Bは、ビデオデータのブロックの変換係数を走査するための順方向の水平の走査パターン120を示す。一般に、順方向の水平の走査パターン120は、左から右に、かつ上から下にブロックを横断する。すなわち、図5Bに示される例では、第1の係数122はブロックの左上の角に位置するDC成分であり、走査されるべき最後の係数124はブロックの右下の角に位置する。順方向の水平の走査パターン120は、第1の係数122から、ブロックの上部にわたって、左から右に進む。各々の後続の行は、最後の係数124に達するまで、左から右に走査される。
図5Cは、ビデオデータのブロックの変換係数を走査するための順方向の垂直の走査パターン130を示す。一般に、順方向の垂直の走査パターン130は、上から下に、かつ左から右にブロックを横断する。すなわち、図5Cに示される例では、第1の係数132はブロックの左上の角に位置するDC成分であり、走査されるべき最後の係数134はブロックの右下の角に位置する。順方向の垂直の走査パターン130は、ブロックの相対的な下部に向かって、第1の係数132から下方向に進む。各々の後続の列は、最後の係数134に達するまで、上から下に走査される。
図5Dは、ビデオデータのブロックの変換係数を走査するための対角方向の走査パターン140を示す。一般に、対角方向の走査パターン140は、右上から左下まで(たとえば、ブロックの左上の角からブロックの右下の角まで)、45度の角度でブロックを横断する。すなわち、図5Dに示される例では、第1の係数142はブロックの左上の角に位置するDC成分であり、走査されるべき最後の係数144はブロックの右下の角に位置する。対角方向の走査パターン140における対角線の各々は、ブロックの右上の角からブロックの左下の角まで、45度の角度でブロックを横断する。
図5Eは、ビデオデータのブロックの変換係数を走査するための別の対角方向の走査パターン150を示す。一般に、対角方向の走査パターン150は、右上から左下まで(たとえば、ブロックの左上の角からブロックの右下の角まで)、45度の角度でブロックを横断する。すなわち、図5Eに示される例では、第1の係数152はブロックの左上の角に位置するDC成分であり、走査されるべき最後の係数154はブロックの右下の角に位置する。しかしながら、対角方向の走査パターン150は、対角方向の走査パターン140と反対の方向に進む。対角方向の走査パターン150における対角線の各々は、ブロックの左下の角からブロックの右上の角まで、45度の角度でブロックを横断する。
図5A〜図5Eに示される走査の各々は、順方向に、すなわち、変換ブロックの左上の角にあるより低い周波数の変換係数から変換ブロックの右下の角にあるより高い周波数の変換係数に進む。代替的に、走査の各々は、反対方向または逆方向(すなわち、ブロックの右下の角から左上の角)に進んでよい。そのような例では、上で述べられたように、値が0の変換係数は、直列化されたアレイの始端に位置し得る。
たとえば、図5Fは、図5Eに示されるものとは反対の対角方向の走査パターンを示す。すなわち、図5Fは、ビデオデータのブロックの変換係数(たとえば、TUに関連する変換係数)を走査するための、反対の対角方向の走査パターン160を示す。一般に、反対の対角方向の走査パターン160は、右から左に、かつ下から上に、45度の角度でブロックを横断する。すなわち、図5Fに示される例では、第1の係数162はブロックの右下の角に位置し、走査されるべき最後の係数164はブロックの左上の角に位置する。言い換えると、対角方向の走査パターン160における対角線の各々は、ブロックの右上の角からブロックの左下の角まで、45度の角度でブロックを横断する。DC係数は、ブロックの左上の角に残ってよく、高い周波数の係数がブロックの右下の角にある。
[0140] 図5A〜図5Fに示される走査パターンは説明のために与えられたものにすぎないことを理解されたい。加えて、異なる方向の走査を使用して、変換係数に関連する異なる成分(たとえば、有意性、符号、レベルなど)が走査され得る。係数のレベルは、係数が1よりも大きなレベルを有するか、2よりも大きなレベルを有するか、さらには、たとえば2よりも大きな残りのレベルを有するかどうかを示すシンタックス要素によって、走査されコード化され得る。いくつかの例では、有意性情報(たとえば、有意性フラグ)は、変換係数レベル(たとえば、係数のレベルと関連付けられる1つまたは複数のシンタックス要素)の反対方向に走査され得る。他の例では、有意性情報および変換係数レベルが同じ方向に走査されコード化されるような、統一された走査パターンが実装され得る。
図5A〜図5Fに示される走査は全般に、ブロック全体に対して実行されるものとして示されるが、本開示の態様によれば、および以下でより詳しく説明されるように、そのような走査は、変換係数のサブブロック内で、およびサブブロックにわたって使用され得る。すなわち、ある例として、図5Fに示される反対の対角方向の走査パターン160は、サブブロック内で変換係数を走査するための係数の走査順序、さらには、サブブロック自体を走査するためのサブブロックの走査順序として、使用され得る。
図6は、対角方向の走査経路についての、コンテキストサポート近傍のある例を示す概念図である。たとえば、図6は、変換係数170のブロックと、現在コード化されている変換係数の位置172を通過する対角方向の走査線171とを示す。加えて、図6の例は、5つの要素を有するコンテキストサポート近傍174A〜174E(まとめて、コンテキストサポート近傍174)を示す。
たとえば、上で述べられたように、ビデオデータのブロックについての各ビンは、そのブロックについての残差変換係数レベル情報に対応するにせよ、そのブロックについての有意性マップ情報に対応するにせよ、ビンが所与の値(たとえば、「0」または「1」)を有する可能性を示す、ビンについての確率推定値を使用してコード化され得る。確率推定値は、「コンテキストモデル」とも呼ばれる確率モデル内に含まれる。確率モデルは、ビンのコンテキストを判定することによって選択され、これはコンテキストサポート近傍によって識別され得る。すなわち、コンテキストサポート近傍は、変換係数に関連する特定のシンボルまたはフラグをエントロピーコード化するために使用され得る、シンタックス要素の相対的な位置を識別し得る。コンテキスト、たとえば、コンテキスト近傍の位置にある実際の値は、確率モデルを決定する。
図6に示される例では、走査パターン線171に沿った変換係数のいずれも、並列にコード化され得る。そのような走査パターンは、「並列フレンドリー」と呼ばれ得る。すなわち、走査線171におけるどの位置も、走査線171における別の位置に依存するコンテキストサポート近傍を含まないので、走査線171に沿った位置は、並列にコード化され得る。したがって、走査線171は、複数の有意性フラグのコンテキストが並列に計算されることを可能にし、それにより有意性フラグコード化のためのコンテキストプリフェッチングを可能にする。そのような走査線はまた、推測の計算を使用して、複数の有意性フラグのコード化を支援し得る。
しかしながら、図11および図12に関して以下でより詳しく説明されるように、いくつかの例では、変換係数のブロックをサブブロックへと分割することで、(たとえば、コンテキストを使用するエントロピーコード化の場合)サブブロック内でコンテキスト依存性が生じ得る。すなわち、サブブロック中のいくつかの場所に対するコンテキストサポート近傍は、サブブロックからの走査順序における以前の係数に依存し得る。したがって、本開示の態様は、2つ以上の有意性フラグを並列にコード化することを可能にする、サブブロックの走査のためのコンテキストサポート近傍を決定することに関する(たとえば、コンテキストは、サブブロック中の2つ以上の位置に対してプリフェッチされ得る)。
図7は全般に、変換係数180のブロックを、サブブロック184A〜184P(まとめてサブブロック184)の形態のサブセットへと分割することを示す。たとえば、ビデオコーダ(ビデオエンコーダ20またはビデオデコーダ30)は、ブロック180を走査してエントロピーコード化するとき、ブロック180をサブブロック184へと分割することができる。
本開示の態様によれば、以下でより詳しく説明されるように、サブブロック184内の変換係数は、係数の走査順序で走査され得る。加えて、サブブロック184の各々は、サブブロックの走査順序で走査され得る。いくつかの例では、本開示の態様によれば、係数の走査順序は、サブブロックの走査順序と一致し得る。
いくつかの例では、ビデオコーダは、2つ以上の経路で、サブブロック184の有意性情報と係数レベルとをコード化することができる。たとえば、ビデオコーダは、第1の経路を実行して有意性情報をコード化することができる。ビデオコーダは次いで、別の経路を実行してその変換係数レベルのビン1(たとえば、1よりも大きい)をコード化し、別の経路を実行してその変換係数レベルのビン2(たとえば、2よりも大きい)をコード化し、別の経路を実行してその変換係数レベルの残りのビン(たとえば、残りのレベル)をコード化し、別の経路を実行してその変換係数レベルの符号をコード化することができる。しかしながら、上で説明された5つの経路は例示するためのものにすぎず、異なるコード化システムが使用され得る。
本開示のいくつかの態様によれば、ビデオコーダは、サブブロック184の各々を順番にコード化することができる。すなわち、ビデオコーダは、変換係数の走査順序で、サブブロック184Aに対して上で説明された5つのコード化経路を実行することができる。ビデオコーダは次いで、サブブロックの走査順序で次のサブブロックに移り、変換係数の走査順序で同じ5つのコード化経路を実行することができる。他の例では、コード化経路は、次のコード化経路に移る前に、ブロック180全体に対して実行され得る。すなわち、ビデオコーダは、変化係数の走査順序でサブブロック184のすべての変換係数に対して、およびサブブロックの走査順序でサブブロック184のすべてに対して、ブロック180のための第1のコード化経路を実行することができる。ビデオコーダは次いで、すべてのコード化経路が完了するまで、同じ方法でブロック180のための次のコード化経路を実行することができる。
[0150] いくつかの例では、ビデオコーダは、サブブロック184の変換係数を走査するために統一された走査を使用することができる。たとえば、ビデオコーダは、同じ方向を有する走査(たとえば、対角方向の走査)を使用して、有意性情報と係数レベルとを走査することができる。他の例では、ビデオコーダは、反対方向の走査または他の方向を有する走査を使用して、変換係数の成分(たとえば、有意性、符号、レベルなど)を走査し得る。たとえば、ビデオコーダは最初、順方向走査で有意性マップ情報を走査することができる。ビデオコーダは次いで、反対方向の走査で、1つまたは複数の係数レベルのビンを走査することができる。
図7に示される例では、ブロック180はサイズが16×16の変換係数であるが、より大きなまたはより小さなブロックが同様に分割され得ることを理解されたい。その上、サイズが4×4のサブブロック184であるが、より大きなサブブロックまたはより小さなサブブロックが使用され得ることを理解されたい。すなわち、他の例では、サブブロックのサイズが元のブロックサイズ以下である限り、サブブロックのサイズは、2×2、8×8、16×16、またはn×nであってよい。変換係数の特定のブロックがどのように副分割されるかは、ブロックのサイズに基づいて事前に決められていてよい。したがって、ビデオデコーダは、ブロックのサイズに基づいて、ブロックをどのように副分割すべきかを推測することができる。他の例では、サブブロックの数および/またはサイズは、エンコーダによって、符号化されたビデオビットストリームにおいて示され得る。
図8A〜図8Eは全般に、変換係数のサブブロックをコード化するための走査パターンと走査方向とを示す。たとえば、図8A〜図8Eに示される走査パターンは、変換係数(たとえば、有意性、レベル、符号など)の2Dアレイを直列化するとき、サブブロックの走査順序として、ビデオエンコーダ(ビデオエンコーダ20など)によって使用され得る。別の例では、走査パターンは、コード化された変換係数の受信された直列化されたアレイから変換係数のブロックを復元するとき、サブブロックの走査順序として、ビデオデコーダ(ビデオデコーダ30など)によって使用され得る。
たとえば、図8Aは全般に、変換係数のブロックのサブブロック(より太い境界線によって示される4×4のサブブロック)にわたる走査のための、順方向のジグザグのサブブロックの走査順序190を示す。一般に、順方向のジグザグのサブブロックの走査順序190は、ブロックの左上の角にある相対的に最初のサブブロック192からブロックの右下の角にある最後のサブブロック194まで、ブロックの相対的な上部からブロックの相対的な下部へ、交互に45度の角度で、サブブロックの各々を横断する。
図8Bは全般に、変換係数のブロックのサブブロック(より太い境界線によって示される4×4のサブブロック)にわたる走査のための、順方向の水平のサブブロックの走査順序196を示す。一般に、順方向の水平のサブブロックの走査順序196は、ブロックの左上の角にある相対的に最初のサブブロック198から右下の角にある最後のサブブロック200まで、一連の水平方向の線において、左から右かつ上から下に、サブブロックの各々を横断する。すなわち、図8Bに示される例では、順方向の水平のサブブロックの走査順序は、ブロックの上部にわたって、左から右に、第1のサブブロック198から進む。次いで、各々の後続の行が、最後のサブブロック200に達するまで、左から右に走査される。
図8Cは、変換係数のブロックのサブブロック(より太い境界線によって示される4×4のサブブロック)にわたる走査のための、順方向の垂直のサブブロックの走査順序204を示す。一般に、順方向の垂直のサブブロックの走査順序204は、ブロックの左上の角にある相対的に最初のサブブロック206から右下の角にある最後のサブブロック208まで、一連の垂直方向の線において、上から下かつ左から右に、サブブロックの各々を横断する。すなわち、図8Cに示される例では、順方向の垂直のサブブロックの走査順序は、ブロックの相対的な下部に向かって、第1のサブブロック206から下方向に進む。各々の後続の列が、最後のサブブロック208に達するまで、上から下に走査される。
図8Dは全般に、変換係数のブロックのサブブロック(より太い境界線によって示される4×4のサブブロック)にわたる走査のための、対角方向のサブブロックの走査順序210を示す。一般に、対角方向のサブブロックの走査順序210は、ブロックの左上の角にある相対的に最初のサブブロック212からブロックの右下の角にある最後のサブブロック214まで、左から右かつ下から上に、45度の角度で、サブブロックの各々を横断する。すなわち、図8Dに示される例では、対角方向のサブブロックの走査順序210は、ブロックの左下の角からブロックの右上の角へ、連続的な対角線において、第1のサブブロック212から最後のサブブロック214まで、45度の角度でブロックを横断する。
図8A〜図8Dに示されるサブブロックの走査の各々は、順方向に、すなわち、変換ブロックの左上の角にあるより低い周波数の変換係数から変換ブロックの右下の角にあるより高い周波数の変換係数に進む。代替的に、走査の各々は、反対方向または逆方向(すなわち、ブロックの右下の角から左上の角)に進んでよい。そのような例では、上で述べられたように、値が0の変換係数は、直列化されたアレイの始端に位置し得る。最後の係数の位置がビットストリーム中で明示的にコード化される場合、反対方向のサブブロックの走査は、順方向の走査に関しては、最後の有意な係数を含むサブブロックから開始し得る。また、このサブブロック内で、走査は、(レベルコード化のために)最後の有意な係数から開始してよく、または、逆方向の走査順序で最後の有意な係数に続く係数から開始してよい。あるいは、サブブロックのすべておよび係数のすべてが常に走査されてよいが、順方向の走査に関する最後の有意な係数の後にある係数は、0であると推測され得る。
たとえば、図8Eは全般に、図8Dに示されるサブブロックの走査順序と反対の、変換係数のブロックのサブブロック(より太い境界線によって示される4×4のサブブロック)にわたる走査のための、反対の対角方向のサブブロックの走査順序216を示す。一般に、反対の対角方向のサブブロックの走査順序216は、ブロックの右下の角にある相対的に最初のサブブロック217からブロックの左
上の角にある最後のサブブロック218まで、右から左かつ上から下に、45度の角度で、サブブロックの各々を横断する。すなわち、図8Eに示される例では、反対の対角方向のサブブロックの走査順序216は、ブロックの右上の角からブロックの左下の角へ、連続的な対角線において、第1のサブブロック217から最後のサブブロック218まで、45度の角度でブロックを横断する。
図8A〜図8Eに示されるサブブロックの走査順序は説明のために与えられたものにすぎないことを理解されたい。加えて、異なる方向の走査を使用して、変換係数に関連する異なる成分(たとえば、有意性、符号、レベルなど)が走査され得る。たとえば、いくつかの例では、有意性情報(たとえば、有意性マップ)が、変換係数レベルの反対方向に走査され得る。他の例では、有効性情報および変換係数レベルが同じ方向に走査されるような、統一された走査パターンが実装され得る。
[0160] 本開示の態様によれば、図8A〜図8Eに示されるサブブロックの走査順序は、サブブロックの各々の中の変換係数を走査するために使用されるそれぞれの係数の走査順序と一致し得る。すなわち、サブブロックの各々の中の係数を走査するための係数の走査順序は、サブブロック自体を走査するためのサブブロックの走査順序と同じであり得る。
本開示の他の態様によれば、係数の走査順序および/またはサブブロックの走査順序は適応的であり得る。すなわち、ビデオコーダ(ビデオエンコーダ20またはビデオデコーダ30など)は、ブロックサイズ、イントラ/インター予測モード、近傍のブロックの情報(予測モード、動き情報、走査インデックス)、または他のビデオコード化特性に基づいて、ブロックに対するサブブロックの走査順序および/または係数の走査順序を選択することができる。別の例では、サブブロックの走査順序および係数の走査順序は、ビデオエンコーダ20におけるレート−歪み分析から決定され得る。この場合、サブブロックの走査順序と係数の走査順序とを示すシンタックス(たとえば、以下に示される表1からのブロック走査インデックス)は、デコーダにおいて使用するための、符号化されたビデオビットストリームで信号伝達され得る。
したがって、図8A〜図8Eに示される各サブブロック内の変換係数は、同じまたは異なる走査順序に従って走査され得る。すなわち、ジグザグの、水平方向の、対角方向の、または垂直方向の走査順序が、各サブブロック内の変換係数を走査するために使用され得る。やはり、これらの走査順序の各々は順方向または逆方向であってよい。係数の走査順序は、サブブロックの走査順序と異なっていてよく、または同じであってよい。加えて、係数の走査順序は、変換係数のブロック中のすべてのサブブロックに対して同じであってよく、または、各サブブロックに対する係数の走査順序は別々に選ばれてよい。たとえば、サブブロックの走査順序と係数の走査順序の両方が、以下の表1に示されるように、3つの走査(すなわち、対角方向、水平方向、および垂直方向)を使用する場合、ブロックに対する可能性のある走査の総数は3×3=9である。
表1は例示を目的に与えられたものにすぎず、適応的な走査の決定において、他の走査が選択可能であり得ることを理解されたい。たとえば、ジグザグの走査、上記の走査のいずれかまたはすべての反対方向の走査、または、他の方向の走査も、選択可能であり得る。別の箇所で言及されたように、本開示の走査技法は、CAVLC、CABAC、または他のエントロピーコード化技法のために使用される走査処理に対して適用可能であり得る。たとえば、前述の走査技法は、CABACのための係数レベル走査および有意性マップに使用するために適用し得る。
図9Aおよび図9Bは全般に、係数の走査順序で複数のサブブロックの変換係数を走査することと、さらに、サブブロックの走査順序で複数のサブブロックを走査することとを、より詳しく示す。たとえば、図9Aに関して、本開示の態様によれば、ビデオコーダ(ビデオエンコーダ20またはビデオデコーダ30など)は、ブロック220をコード化するとき、ブロック220を、サブブロック222A、222B、222C、および222D(まとめてサブブロック222)へと分割することができる。すなわち、ビデオエンコーダ20は、ブロック220の変換係数を直列化するとき、ブロック220をサブブロック222へと分割することができる。あるいは、ビデオデコーダ30は、サブブロック222を使用して、ブロック220の変換係数を復元することができる。
いずれの場合でも、図9Aに示される例は全般に、ブロック220の変換係数を走査するための、対角方向の係数の走査順序を示し、図9Bは全般に、サブブロック222を走査するための、同様の方向である対角方向のサブブロックの走査順序を示す。したがって、図9Aおよび図9Bに示されるように、ビデオコーダは、ブロック220の左上の角に位置する第1のサブブロック222Aと関連付けられる変換係数を走査することができる。ビデオコーダは次いで、ブロック220の左下の角に位置する第2のサブブロック222Bと関連付けられる変換係数、続いて、ブロック220の右上の角に位置する第3のサブブロック222Cと関連付けられる変換係数、ブロック220の右下の角に位置する第4のサブブロック222Dと関連付けられる変換係数を走査することができる。
上で述べられたように、いくつかの例では、ビデオコーダは、2つ以上の経路で、サブブロック222の有意性情報と係数レベルとをコード化することができる。本開示のいくつかの態様によれば、ビデオコーダは、サブブロック222の各々を順番にコード化することができる。すなわち、ビデオコーダは、変換係数の走査順序で、サブブロック222Aに対してすべてのコード化経路を実行することができる。ビデオコーダは次いで、サブブロック222Bに移り、続いてサブブロック222Cとサブブロック222Dに移ることができ、次のサブブロックに移る前に1つのサブブロックにおいて係数のコード化を終える。
他の例では、複数のコード化経路のうちの1つのコード化経路は、次のコード化経路に移る前に、ブロック220全体に対して実行され得る。すなわち、ビデオコーダは、変換係数の走査順序でサブブロック222のすべての変換係数に対して、およびサブブロックの走査順序でサブブロック222のすべてに対して、ブロック220のための第1のコード化経路を実行することができる。ビデオコーダは次いで、すべてのコード化経路が完了するまで、同じ方法でブロック222のための次のコード化経路を実行することができる。
いくつかの例では、ビデオコーダは、サブブロック222の変換係数を走査するために統一された走査を使用することができる。たとえば、ビデオコーダは、図9Aおよび図9Bに示される対角方向を有する走査を使用して、有意性情報(たとえば、有意性フラグ)と係数レベルとを走査することができる。他の例では、ビデオコーダは、反対方向の走査または他の方向を有する走査を使用して、ブロック222の変換係数の成分(たとえば、有意性、符号、レベルなど)を走査することができる。たとえば、ビデオコーダは最初、順方向の走査で有意性マップ情報を走査することができる。ビデオコーダは次いで、反対方向の走査で、1つまたは複数の係数レベルのビンを走査することができる。
図9Aおよび図9Bに示される例は全般に対角方向の走査パターンを示すが、図5Aおよび図5Bに関して上で述べられたように、ジグザグのパターン、適応的な走査順序、水平方向のパターン、垂直方向のパターンなど、種々の他の走査パターンが使用され得る。加えて、図9Aおよび図9Bに示される例は、4×4のサブブロックをもつ8×8のブロックの変換係数を示すが、本開示の技法は、他のサイズのブロック、ならびに他のサイズのサブブロックに適用され得ることを理解されたい。たとえば、サブブロックは、任意のn×nのブロック(または、サブブロックが正方形ではない例ではn×mのブロック)の、変換単位(TU)の変換係数を含んでよく、n×nはTUのサイズ以下である。加えて、図9Aおよび図9Bに示される、等しいサイズのサブブロックは、ハードウェアの効率性を達成することの助けになり得る(たとえば、ハードウェアが、静的なサブブロックサイズで動作するように最適化され得る)。しかしながら、他の例では、本開示の技法は、サイズが異なるサブブロックに適用され得る。
図10Aおよび図10Bもまた全般に、係数の走査順序で複数のサブブロックの変換係数を走査することと、さらに、サブブロックの走査順序で複数のサブブロックを走査することとを、より詳しく示す。たとえば、図10Aに関して、本開示の態様によれば、ビデオコーダ(ビデオエンコーダ20またはビデオデコーダ30など)は、ブロック224をコード化するとき、ブロック224を、サブブロック226A、226B、226C、および226D(まとめてサブブロック226)へと分割することができる。すなわち、ビデオエンコーダ20は、ブロック224の変換係数を直列化するとき、ブロック224をサブブロック226へと分割することができる。あるいは、ビデオデコーダ30は、サブブロック226を使用して、ブロック224の変換係数を復元することができる。
図10Aに示される例は全般に、ブロック224の変換係数を走査するための、(図9Aに示される対角方向の走査順序に対して)反対の対角方向の係数の走査順序を示すが、図10Bは全般に、サブブロック222を走査するための、(図9Bに示される対角方向の走査順序に対して)同様の方向である反対の対角方向のサブブロックの走査順序を示す。したがって、図10Aおよび図10Bに示されるように、ビデオコーダは最初に、ブロック224の右下の角に位置する第1のサブブロック226Aと関連付けられる変換係数を走査することができる。ビデオコーダは次いで、ブロック224の右上の角に位置する第2のサブブロック226Bと関連付けられる変換係数、続いて、ブロック224の左下の角に位置する第3のサブブロック226Cと関連付けられる変換係数、ブロック224の左上の角に位置する第4のサブブロック226Dと関連付けられる変換係数を走査することができる。
図11Aおよび図11Bもまた全般に、係数の走査順序で複数のサブブロックの変換係数を走査することと、さらに、サブブロックの走査順序で複数のサブブロックを走査することとを、より詳しく示す。たとえば、図11Aに関して、本開示の態様によれば、ビデオコーダ(ビデオエンコーダ20またはビデオデコーダ30など)は、ブロック228をコード化するとき、ブロック228を、サブブロック230A、230B、230C、および230D(まとめてサブブロック230)へと分割することができる。すなわち、ビデオエンコーダ20は、ブロック228の変換係数を直列化するとき、ブロック228をサブブロック230へと分割することができる。あるいは、ビデオデコーダ30は、サブブロック230を使用して、ブロック228の変換係数を復元することができる。
図11Aに示される例は全般に、ブロック228の変換係数を走査するための、反対の垂直方向の係数の走査順序を示すが、図11Bは全般に、サブブロック230を走査するための、同様の方向である反対の垂直方向のサブブロックの走査順序を示す。したがって、図11Aおよび図11Bに示されるように、ビデオコーダは最初に、ブロック228の右下の角に位置する第1のサブブロック230Aと関連付けられる変換係数を走査することができる。ビデオコーダは次いで、ブロック228の右上の角に位置する第2のサブブロック230Bと関連付けられる変換係数、続いて、ブロック228の左下の角に位置する第3のサブブロック230Cと関連付けられる変換係数、ブロック228の左上の角に位置する第4のサブブロック230Dと関連付けられる変換係数を走査することができる。
したがって、図11Aおよび図11Bに示される例は、ブロック228に対して走査を実行することが、複数のサブブロックの各々の中で、下から上かつ右から左に係数の走査順序で複数のサブブロック230の各々の変換係数を垂直方向に走査することと、ブロック228の下から上かつ右から左にサブブロックの走査順序で複数のサブブロックの各々にわたって垂直方向に走査することとを含むような、反対の垂直方向を有する走査方向を含む。
図12Aおよび図12Bもまた全般に、係数の走査順序で複数のサブブロックの変換係数を走査することと、さらに、サブブロックの走査順序で複数のサブブロックを走査することとを、より詳しく示す。たとえば、図12Aに関して、本開示の態様によれば、ビデオコーダ(ビデオエンコーダ20またはビデオデコーダ30など)は、ブロック234をコード化するとき、ブロック234を、サブブロック236A、236B、236C、および236D(まとめてサブブロック236)へと分割することができる。すなわち、ビデオエンコーダ20は、ブロック234の変換係数を直列化するとき、ブロック234をサブブロック236へと分割することができる。あるいは、ビデオデコーダ30は、サブブロック236を使用して、ブロック234の変換係数を復元することができる。
図12Aに示される例は全般に、ブロック234の変換係数を走査するための、反対の水平方向の係数の走査順序を示すが、図12Bは全般に、サブブロック236を走査するための、同様の方向である反対の垂直方向のサブブロックの走査順序を示す。したがって、図12Aおよび図12Bに示されるように、ビデオコーダは最初に、ブロック234の右下の角に位置する第1のサブブロック236Aと関連付けられる変換係数を走査することができる。ビデオコーダは次いで、ブロック234の右上の角に位置する第2のサブブロック236Bと関連付けられる変換係数、続いて、ブロック234の左下の角に位置する第3のサブブロック236Cと関連付けられる変換係数、ブロック234の左上の角に位置する第4のサブブロック236Dと関連付けられる変換係数を走査することができる。
したがって、図12Aおよび図12Bに示される例は、ブロック234に対して走査を実行することが、複数のサブブロック236の各々の中で、右から左かつ下から上に係数の走査順序で複数のサブブロック236の各々の変換係数を水平方向に走査することと、ブロック234の右から左かつ下から上にサブブロックの走査順序で複数のサブブロックの各々にわたって水平方向に走査することとを備えるような、反対の水平方向を有する走査方向を含む。
図10A〜図12Bに示される逆方向の走査を支援するために、いくつかの例では、ビデオコーダは最初に、それぞれのブロックの最後の有意な係数、さらに、各々のそれぞれのサブブロックの最後の有意な係数を識別することができる。すなわち、図10A〜図12Bに示される例は全般に、走査されているすべての変換係数の位置を示すが、上で説明されたように、ビデオコーダは、有意な係数のみを走査することができる。したがって、ビデオコーダは、サブブロックの各々において最後の有意な係数を決定し、各サブブロックの最後の有意な係数から各サブブロックの相対的に最初の有意な係数(たとえば、DC係数)まで、係数の走査順序でサブブロックの各々を走査することができる。加えて、ビデオコーダは、ブロックの最後の有意な係数を決定し、ブロックの最後の有意な係数からブロックの相対的に最初の有意な係数(たとえば、DC係数)まで、サブブロックの走査順序でサブブロックを走査することができる。したがって、サブブロックの1つまたは複数が有意な係数を含まない場合、そのような変換係数および/またはサブブロックは走査されなくてよい。
図13は、ビデオデータのサブブロックの変換係数をコンテキスト適応コード化する例を示す概念図である。たとえば、図13は、複数のサブブロック(より太い境界線で示される4×4のサブブロック)へと分割されている変換係数のブロック240と、現在コード化されている変換係数の位置244(ベタのブロック)を通過する、サブブロック内の対角方向の係数の走査順序とを示す。図13に示される例は、4つのコンテキストサポート要素(影付きのブロック)を有するコンテキストサポート近傍246を含む。図6に示されるコンテキストサポート近傍に対して、コンテキストサポート近傍246は、除去された位置248を有する。すなわち、たとえば、現在コード化されている変換係数244の有意性フラグをコード化するためのコンテキストは、除去された位置248からのデータを含まない。
[0180] 上で述べられたように、ビデオデータのブロックについての各ビンは、そのブロックについての残差変換係数レベル情報に対応するにせよ、そのブロックについての有意性情報に対応するにせよ、ビンが所与の値(たとえば、「0」または「1」)を有する可能性を示す、ビンについての確率推定値を使用してコード化され得る。確率モデルは、ビンのコンテキストを判定することによって選択され、これはコンテキストサポート近傍によって識別され得る。すなわち、コンテキストサポート近傍は、変換係数に関連する特定のシンボルまたはフラグをエントロピーコード化するためのコンテキストを導出するのに使用される、以前コード化されたシンタックス要素の相対的な位置を識別し得る。コンテキスト、たとえば、コンテキスト近傍の位置にあるシンタックス要素の実際の値は、確率モデルを決定する。
図6に示される例では、走査パターン線171に沿った変換係数のいずれをも並列にコード化することができ、それは、走査線171中のいずれの位置も、走査線171中の別の位置に依存するコンテキストサポート近傍を含まないからである(同じコンテキストサポート近傍がすべての位置に対して使用されると仮定する)。したがって、走査線171は、複数の有意性フラグのコンテキストが並列に計算されることを可能にし、それにより有意性フラグのコード化のためのコンテキストプリフェッチングを可能にする。
しかしながら、ジグザグなまたは対角方向の走査が(図6に示されるもののように)比較的大きなブロックに適用される場合、いくつかの係数を同時にフェッチすることができ、これによって、ハードウェア実装形態における負荷が増す。すなわち、走査線171に沿って現在コード化されている変換係数の前または後に処理される変換係数は、現在コード化されている変換係数と同じ列または行に配置されない。従来、変換係数は、列および行ごとに並べられ記憶される。したがって、連続的なデータを取り出すことを可能にするために、変換係数の2つ以上の対角線が処理される必要があり得る。いくつかの例では、ソフトウェアベースの単一命令、複数データ(SIMD:single instruction, multiple data)の実装形態は、これらの大きな走査を並列化するときに同様の問題に直面し得る。サブブロックに局所性をもたらすことで、この問題を軽減するのを助けることができる。すなわち、より小さなサブブロックは、データがより効率的な方法で取り出されることを可能にし得る。
変換係数のブロックをサブブロックに分割することは上で説明された問題を軽減するのを助け得るが、サブブロックはまた、(たとえば、コンテキストを使用したエントロピーコード化の場合)サブブロック内でコンテキスト依存性を生じさせ得る。すなわち、サブブロック中のいくつかの場所に対するコンテキストサポート近傍は、サブブロックにおける他の場所に依存し得る。例示を目的とした例として、および図13に示されるように、ジグザグのまたは順方向の対角の係数の走査順序を使用してサブブロック内を走査するとき、最初の変換係数の位置(すなわち、ブロックの左上の角にある現在コード化されている位置244)に対するコンテキストサポート近傍は、(たとえば、図6に示される5つの位置のコンテキストサポート近傍を使用して)現在コード化されている位置244のすぐ下の位置を通常含み得る。しかしながら、この依存性は、エントロピーコード化の場合に、望ましくない遅延をもたらし得る。すなわち、現在コード化されている位置244のすぐ前に位置するサブブロックの変換係数は、現在コード化されている位置のコンテキストを導出するためにコード化される必要があり得る。この依存性を回避し、そして並列化を強化するために、本開示の態様は、コンテキストがサブブロック中で導出される位置、すなわち、サブブロック内の位置に対するコンテキストサポート近傍を、修正することに関する。
本開示の態様によれば、1つまたは複数の位置が、サブブロック内のいくつかの位置に対するコンテキストサポート近傍から除去され得る。すなわち、図13に示される例では、ビデオコーダは、現在の位置244をコード化するとき、コンテキストサポート近傍から除去される位置248を除去することができ、これによってコンテキストサポート近傍を減らす。除去された位置248は、係数の走査順序で現在の位置244のすぐ前に位置する。コード化において除去された位置248と関連付けられるデータを取り出さないことによって、上で説明される依存性がなくなる。したがって、ビデオコーダは、現在の位置244と除去された位置248の両方を、並列にコード化することができる(たとえば、コンテキストが、サブブロック中の2つ以上の位置に対してプリフェッチされ得る)。図13に関して示され説明されるコンテキストサポート近傍の除去技法は、並列に走査されコード化される変換係数の数に応じて、2つの位置から3つ以上の位置に拡張され得る。すなわち、たとえば、3つの変換係数が並列にコード化される場合、ビデオコーダは、除去される位置248、さらに、走査順序で除去される位置のすぐ前の位置(たとえば、現在の位置244のすぐ右の位置)を除去することができる。
いくつかの例では、本開示の態様を実行するために、ビデオコーダは、係数のブロックベースの位置が与えられると、係数の走査順序で位置を導出することができる。位置を決定するために使用され得る1つの処理を、(たとえば、8×8のサブブロックおよび対角方向の走査の場合について、C言語のコードとして)以下に示す。
ここで、uiPosLastXおよびuiPosLastXは、ブロック中の変換係数のXの位置およびYの位置に対する入力であり、uiWidthは、ブロックの幅および高さであり(例示のために、ブロックが正方形であると仮定して)、uiScanPosLastは、サブブロックの走査順序で係数の位置を識別する出力である。変換係数の位置が知られた後、ビデオコーダは、何らかのコンテキスト依存性が存在するかどうかを決定することができる。そのようなコンテキスト依存性が存在する場合、ビデオコーダは、上で説明されたように、コンテキストサポート近傍から1つまたは複数の位置を除去することができる。
本開示の態様によれば、いくつかのコンテキストサポート近傍の位置が除去され得ない。たとえば、(たとえば、ブロックの左上の角の)DC位置は、図13に示される例から除去されたコンテキスト位置を依然として使用し得る。コンテキストサポート近傍から位置を除去するかどうかに関する決定は、コンテキストサポート近傍中のすべての位置を含めることによって(たとえば、現在の位置が「1」または「0」であるというより正確な推定によって)得られるコード化効率と、位置のすべてを含めることによってもたらされる遅延とのバランスに基づき得る。その上、以下で図14に関して説明されるように、サブブロックのすべての位置が、図13に関して説明されたものと同じ遅延の問題の影響を受けるとは限らない。
図14は、ビデオデータのサブブロックの変換係数をコンテキスト適応コード化する別の例を示す概念図である。たとえば、図14は、複数のサブブロック(より太い境界線で示される4×4のサブブロック)へと分割されている変換係数のブロック250と、現在コード化されている変換係数の位置254(ベタの黒いブロック)を通過する、サブブロック内の対角方向の係数の走査順序とを示す。図14に示される例は、5つのコンテキストサポート要素(影付きのブロック)を有するコンテキストサポート近傍256を含む。すなわち、図14のコンテキストサポート近傍は5つすべての位置を含む。
図13に関して説明されるコンテキスト依存性の問題はもはや存在しないので、図14に示されるコンテキストサポート近傍254は、5つすべてのコンテキストサポート近傍の位置を含み得る。たとえば、現在の位置254のすぐ前に走査されコード化される位置は、コンテキストサポート近傍256に含まれない。したがって、上で説明されたコンテキスト依存性の問題および関連する閉ループの遅延は存在しない。したがって、上で述べられるようないくつかの例では、ビデオコーダは、コンテキストサポート近傍から位置を除去する前に、現在コード化されている変換係数の位置を決定することができる。
図15は、変換係数を符号化するための例示的なビデオ符号化処理を示すフローチャートである。この方法は、図1および図2のビデオエンコーダ20によって実行され得る。ビデオデコーダ20に関して説明されているが、図15に関して説明される技法は、種々の他のプロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)のようなハードウェアベースのコード化ユニットなどによって実行され得ることを理解されたい。
[0190] ビデオエンコーダ20は、変換係数のブロックを複数のサブブロックに分割することができる(280)。いくつかの例では、サブブロックは、サイズが4×4の変換係数であってよい。他の例では、ビデオエンコーダ20は、より大きなまたはより小さなサブブロックを形成し得る。すなわち、他の例では、サブブロックのサイズが元のブロックサイズ以下である限り、サブブロックのサイズは、2×2、8×8、16×16、またはn×nであってよい。ビデオエンコーダ20は、ブロックのサイズに基づいて、ブロックが分割される方法を決定することができる。この例では、ビデオデコーダ(ビデオデコーダ30など)は、ブロックのサイズに基づいて、ブロックをどのように副分割すべきかを推測することができる。他の例では、ビデオエンコーダ20は、符号化されたビットストリームの中で(たとえば、ヘッダ、パラメータセットなどの中で)、サブブロックの数および/またはサイズを示し得る。
ビデオエンコーダ20はまた、複数のサブブロックのための、サブブロックの走査順序と、複数のサブブロックの各々の中の変換係数のための、係数の走査順序とを決定することができる(282)。一般に、サブブロックの走査順序は、複数のサブブロックの各々が走査される順序であり得る。係数の走査順序は、複数のサブブロックの各々の中の変換係数が走査される順序であり得る。サブブロックの走査順序および係数の走査順序は、走査パターンと走査方向(たとえば、特定の方向を有する対角方向の走査パターン)の両方を含み得る。たとえば、サブブロックの走査順序は、順方向のジグザグの走査、順方向の水平の走査、順方向の垂直の走査、順方向の対角の走査、逆方向のジグザグの走査、逆方向の水平の走査、逆方向の垂直の走査、および逆方向の対角の走査のうちの1つであり得る。同様に、係数の走査順序は、順方向のジグザグの走査、順方向の水平の走査、順方向の垂直の走査、順方向の対角の走査、逆方向のジグザグの走査、逆方向の水平の走査、逆方向の垂直の走査、および逆方向の対角の走査のうちの1つであり得る。
本開示の態様によれば、ビデオエンコーダ20は、サブブロックの各々の中の変換係数を走査するために使用される係数の走査順序と一致する、サブブロックの走査順序を決定することができる。すなわち、ビデオエンコーダ20は、サブブロック自体を走査するためのサブブロックの走査順序と同じである、サブブロックの各々の中の係数を走査するための係数の走査順序を使用することができる。例示を目的とする例では、図10Aおよび図10Bに関して説明されたように、ビデオエンコーダ20は、サブブロックの走査順序および係数の走査順序について、反対の対角方向を決定することができる。この例では、走査は、サブブロックの右下の角からサブブロックの左上の角まで、係数の走査順序でサブブロックを横断し、かつブロックの右下のサブブロックからブロックの左上のサブブロックまで、サブブロックの走査順序でサブブロックの各々にわたって対角方向に走査する。
本開示の他の態様によれば、ビデオエンコーダ20は、係数の走査順序および/またはサブブロックの走査順序を適応的に決定することができる。すなわち、ビデオエンコーダ20は、ブロックサイズ、イントラ/インター予測モード、近傍のブロックの情報(予測モード、動き情報、走査インデックス)、または他のビデオコード化特性に基づいて、ブロックに対するサブブロックの走査順序および/または係数の走査順序を選択することができる。別の例では、ビデオエンコーダ20は、レート−歪み分析に基づいて、サブブロックの走査順序と係数の走査順序とを決定することができる。この場合、ビデオエンコーダ20は、デコーダにおいて使用するために、サブブロックの走査順序と係数の走査順序とを示すシンタックス(たとえば、上の表1で示されたようなブロック走査インデックス)を、符号化されたビットストリームに含め得る。
ビデオエンコーダ20はまた、サブブロックの走査順序および係数の走査順序に従って変換係数のブロックに対して走査を実行し、変換係数の1次元アレイを生成することができる(284)。ビデオエンコーダ20はまた、変換係数の1次元アレイをコード化(コーディング)することができる(286)。いくつかの例では、変換係数の走査およびコード化は、インターリーブされ得る。すなわち、(たとえば、コード化する前にブロックのすべての変換係数を走査するのではなく)変換係数が走査されるにつれて、変換係数をコード化することができる。
図15に関して示され説明されるステップは、単に一例として与えられたものにすぎないことを理解されたい。すなわち、図15の方法のステップは必ずしも図15に示される順序で実行される必要はなく、より少数の、追加の、または代替のステップが実行され得る。
図16は、例示的なビデオ復号処理を示すフローチャートである。いくつかの例では、図16の方法は、図1および図3のビデオデコーダ30によって実行され得る。ビデオデコーダ30に関して説明されるが、図16に関して説明される技法は、種々の他のプロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースのコード化ユニットなどによって実行され得ることを理解されたい。
ビデオデコーダ30は、変換係数の1次元アレイを受信することができる(300)。いくつかの例によれば、変換係数のアレイは、複数のサブブロックに従ってコード化され得る。たとえば、サブブロックは、サイズが4×4の変換係数であってよい。他の例では、サブブロックのサイズが元のブロックサイズ以下である限り、サブブロックは、2×2、8×8、16×16、またはn×nであってよい。いくつかの例では、ビデオデコーダ30は、受信されたブロックのサイズに基づいて(たとえば、ブロックのサイズを示す受信されたシンタックスに基づいて)、サブブロックのサイズを推測することができる。他の例では、ビデオデコーダ30は、符号化されたビットストリームの中で(たとえば、ヘッダ、パラメータセットなどの中で)、サブブロックの数および/またはサイズに関する指示を受信し得る。
いずれの場合でも、ビデオデコーダ30は、複数のサブブロックのための、サブブロックの走査順序と、複数のサブブロックの各々の中の変換係数のための、係数の走査順序とを決定することができる(302)。サブブロックの走査順序および係数の走査順序は、走査パターンと走査方向(たとえば、特定の方向を有する対角方向の走査パターン)の両方を含み得る。たとえば、サブブロックの走査順序は、順方向のジグザグの走査、順方向の水平の走査、順方向の垂直の走査、順方向の対角の走査、逆方向のジグザグの走査、逆方向の水平の走査、逆方向の垂直の走査、および逆方向の対角の走査のうちの1つであり得る。同様に、係数の走査順序は、順方向のジグザグの走査、順方向の水平の走査、順方向の垂直の走査、順方向の対角の走査、逆方向のジグザグの走査、逆方向の水平の走査、逆方向の垂直の走査、および逆方向の対角の走査のうちの1つであり得る。
本開示の態様によれば、ビデオデコーダ30は、サブブロックの各々の中の変換係数を走査するために使用される係数の走査順序と一致する、サブブロックの走査順序を決定することができる。すなわち、ビデオデコーダ30は、たとえば、パターンおよび方向に関して、サブブロック自体を走査するためのサブブロックの走査順序と同じである、サブブロックの各々の中の係数を走査するための係数の走査順序を使用することができる。例示を目的とする例では、図10Aおよび図10Bに関して説明されたように、ビデオデコーダ30は、サブブロックの走査順序および係数の走査順序について、反対の対角方向を決定することができる。この例では、走査は、サブブロックの右下の角からサブブロックの左上の角まで、係数の走査順序でサブブロックを横断し、ブロックの右下のサブブロックからブロックの左上のサブブロックまで、サブブロックの走査順序でサブブロックの各々にわたって対角方向に走査する。
[0200] 本開示の他の態様によれば、ビデオデコーダ30は、係数の走査順序および/またはサブブロックの走査順序を適応的に決定することができる。すなわち、ビデオデコーダ30は、ブロックサイズ、イントラ/インター予測モード、近傍のブロックの情報(予測モード、動き情報、走査インデックス)、または他のビデオコード化特性に基づいて、ブロックに対するサブブロックの走査順序および/または係数の走査順序を選択することができる。別の例では、ビデオデコーダ30は、サブブロックの走査順序と係数の走査順序とを示す1つまたは複数のシンタックス要素を、符号化されたビットストリームにおいて受信することができる。
ビデオデコーダ30はまた、サブブロックの走査順序および係数の走査順序に従って変換係数の1次元アレイに対して走査を実行し、変換係数のブロックを生成することができる(304)。すなわち、ビデオデコーダは、受信された変換係数を係数の走査順序で走査して、サブブロックを復元し、サブブロックの走査順序でサブブロック自体を走査して、ビデオエンコーダによってコード化された変換係数の2次元ブロックを復元することができる。次いで、ビデオデコーダ30は、変換係数の2次元ブロックを逆量子化し、逆変換を適用して、残差値を生成することができる。ビデオデコーダは次いで、残差値を予測値に加算して、コード化されたブロックの画素を復元することができる。
図16に関して示され説明されるステップは、単に一例として与えられたものにすぎないことを理解されたい。すなわち、図16の方法のステップは必ずしも図16に示される順序で実行される必要はなく、より少数の、追加の、または代替のステップが実行され得る。
図17は、ビデオデータのサブブロックの変換係数をコンテキスト適応コード化するための例示的な方法を示す。図17に示される例では、ビデオコーダ(ビデオエンコーダ20またはビデオデコーダ30)は最初に、サブブロックの走査順序で、現在コード化されている変換係数の位置を決定することができる(320)。すなわち、ビデオコーダは、現在コード化されている変換係数の相対的な位置、さらに、変換係数を走査するために使用されている走査の具体的な方向を決定することができる。
走査順序の位置および方向に基づいて、ビデオコーダは、何らかのコンテキスト依存性が、現在コード化されている変換係数をコンテキストコード化するためのコンテキストサポート近傍に存在するかどうかを、判定することができる(322)。たとえば、上の図11および図12に関して上で説明されたように、いくつかの例では、サブブロック中の変換係数の位置に対するコンテキストサポート近傍は、現在コード化されている変換係数のすぐ前にコード化された位置に依存し得る。
本開示の態様によれば、ビデオコーダは、並列コンテキスト計算パラメータ(たとえば、並列にコード化されている変換係数の数)に基づいて、コンテキスト依存性を除去することができる(324)。すなわち、上の図13の例で示されたように、ビデオコーダは、2つの変換係数が並列にコード化される例では、コンテキストサポート近傍から、現在コード化されている変換係数のすぐ前の位置を除去することができる。他の例では、3つ以上の位置が、コンテキストサポート近傍から除去され得る。ビデオコーダは次いで、(コンテキスト依存性がなくされた)決定されたコンテキストサポート近傍を使用して、現在コード化されている変換係数をエントロピーコーディング(コード化)することができる(326)。
図17に関して示され説明されたステップは、単に一例として与えられたものにすぎないことを理解されたい。すなわち、図17の方法のステップは必ずしも図17に示される順序で実行される必要はなく、より少数の、追加の、または代替のステップが実行され得る。
その上、例によっては、本明細書で説明される方法のうちいずれかの、いくつかの動作またはイベントは、異なる順序で実行されてよく、追加され、統合され、または完全に除外されてよい(たとえば、すべての説明された動作またはイベントが、本方法の実施に必要であるとは限らない)ことを理解されたい。その上、いくつかの例では、動作またはイベントは、順番にではなく、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて実行され得る。加えて、本開示のいくつかの態様は、明快にするために単一のモジュールまたはユニットによって実行されるものとして説明されるが、本開示の技法は、ビデオコーダに関連するユニットまたはモジュールの組合せによって実行され得ることを理解されたい。
1つまたは複数の例では、本開示において説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読命令またはコードの形態のソフトウェアを実行する1つまたは複数のプロセッサなど、ハードウェアベースの処理ユニットによって実行され得る。そのような命令またはコードは、コンピュータ可読媒体上に記憶されてよく、またはコンピュータ可読媒体を通じて送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形の非一時的媒体に対応する、コンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は一般に、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、フラッシュメモリ、CD−ROM、もしくは光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイスを含む、任意の他のソリッドステート、光学または磁気データ記憶媒体、または、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、有形コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)と、レーザーディスク(登録商標)(disc)と、光ディスク(disc)と、デジタル多用途ディスク(disc)(DVD)と、フロッピー(登録商標)ディスク(disk)と、ブルーレイディスク(disc)とを含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0210] 命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路などの1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明された技法の実装に適切な任意の他の構造を指し得る。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用ハードウェアおよび/もしくはソフトウェアモジュール内で与えられてよく、または複合コーデックに組み込まれてよい。また、本技法は、1つまたは複数の回路または論理要素中で完全に実装されてよい。
本開示の技法は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆるスマートフォンなどの電話ハンドセット、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、広範囲にわたるデバイスまたは装置によって実行され得る。多くの場合、そのようなデバイスはワイヤレス通信が可能であり得る。さらに、そのような技法は、集積回路(IC)またはICのセット(たとえば、チップセット)によって実装され得る。本開示の技法を実行するように構成されたデバイスは、上述のデバイスのいずれかを含んでよく、場合によっては、ハードウェアと、ソフトウェアと、ファームウェアとの組合せによって形成され得る、ビデオエンコーダもしくはビデオデコーダ、または複合ビデオエンコーダデコーダ、すなわち、ビデオコーデックであってよい。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されることがあるが、それらのコンポーネント、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上で説明されたように、様々なユニットが、適切なソフトウェアおよび/またはファームウェアとともに、上で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられてよく、または相互動作可能なハードウェアユニットの集合によって与えられてよい。
様々な例が説明された。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオ復号処理において変換係数を復号するための方法であって、変換係数の1次元アレイを復号することと、サブブロックの走査順序および係数の走査順序に従って変換係数の前記1次元アレイに対して走査を実行して、変換係数のブロックを生成することとを備え、前記サブブロックの走査順序が、前記ブロック内の複数のサブブロックの各サブブロックが走査される順序を備え、前記係数の走査順序が、前記複数のサブブロックの各サブブロックに対応する前記変換係数が走査される順序を備える、方法。
[2] 前記サブブロックの走査順序および前記係数の走査順序が、同じ走査方向を有する、[1]に記載の方法。
[3] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の右下の角から左上の角まで前記係数の走査順序で前記複数のサブブロックの各々の変換係数を反対の対角方向に走査することと、前記ブロックの右下のサブブロックから前記ブロックの左上のサブブロックまで前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって対角方向に走査することとを備えるような、反対の対角方向を前記走査方向が備える、[2]に記載の方法。
[4] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の中で、右から左かつ下から上に前記係数の走査順序で前記複数のサブブロックの各々の変換係数を水平方向に走査することと、前記ブロックの右から左かつ下から上に前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって水平方向に走査することとを備えるような、反対の水平方向を前記走査方向が備える、[2]に記載の方法。
[5] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の中で、下から上かつ右から左に前記係数の走査順序で前記複数のサブブロックの各々の変換係数を垂直方向に走査することと、前記ブロックの下から上かつ右から左に前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって垂直方向に走査することとを備えるような、反対の垂直方向を前記走査方向が備える、[2]に記載の方法。
[6] 前記走査を実行することが、変換係数の前記アレイの最後の有意な係数を含む前記複数のサブブロックのうちの1つのサブブロックにおいて、前記走査を開始することを備える、[1]に記載の方法。
[7] 前記走査を実行することが、前記係数の走査順序で、最後の有意な係数から、前記複数のサブブロックの各々において、前記走査を開始することを備える、[1]に記載の方法。
[8] 前記サブブロックの走査順序および前記係数の走査順序が、異なる方向を有する、[1]に記載の方法。
[9] 前記走査を実行することが、前記サブブロックの走査順序で、前記複数のサブブロックの次のサブブロックの変換係数と関連付けられるビンを走査する前に、前記複数のサブブロックの現在のサブブロックの変換係数と関連付けられるすべてのビンを走査することを備える、[1]に記載の方法。
[10] 前記現在のサブブロックの変換係数を走査することが、前記係数の走査順序で、有意性ビンと変換係数レベルビンとを走査することを備える、[9]に記載の方法。
[11] 前記走査を実行することが、前記ブロックの変換係数レベルビンを走査する前に、前記ブロックの有意性ビンを走査することを備える、[1]に記載の方法。
[12] 前記複数のサブブロックに対する、前記サブブロックの走査順序を決定することと、前記複数のサブブロックの各々の中の変換係数に対する、前記係数の走査順序を決定することとをさらに備える、[1]に記載の方法。
[13] 前記サブブロックの走査順序および前記係数の走査順序が、順方向のジグザグの走査、順方向の水平の走査、順方向の垂直の走査、順方向の対角の走査、逆方向のジグザグの走査、逆方向の水平の走査、逆方向の垂直の走査、および逆方向の対角の走査のうちの1つである、[1]に記載の方法。
[14] 前記走査を実行することがさらに、レート−歪み尺度、ブロックサイズ、予測モード、および近傍のブロックと関連付けられる情報のうちの1つに基づいて、前記サブブロックの走査順序と前記係数の走査順序とを適応的に選択することを備える、[13]に記載の方法。
[15] 符号化することが、変換係数の前記1次元アレイをコンテキスト適応バイナリ算術復号する、[1]に記載の方法。
[16] 前記変換係数と関連付けられる有意性情報を並列に復号するためのコンテキストを決定することをさらに備え、前記コンテキストが、前記ブロックにおいて現在復号されている変換係数の位置に基づいて変化する、[15]に記載の方法。
[17] ビデオ復号処理において変換係数を復号するための装置であって、変換係数の1次元アレイを復号し、サブブロックの走査順序および係数の走査順序に従って変換係数の前記1次元アレイに対して走査を実行して、変換係数のブロックを生成するように構成される1つまたは複数のプロセッサを備え、前記サブブロックの走査順序が、前記ブロック内の複数のサブブロックの各サブブロックが走査される順序を備え、前記係数の走査順序が、前記複数のサブブロックの各サブブロックに対応する前記変換係数が走査される順序を備える、装置。
[18] 前記サブブロックの走査順序および前記係数の走査順序が、同じ走査方向を有する、[17]に記載の装置。
[19] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の右下の角から左上の角まで前記係数の走査順序で前記複数のサブブロックの各々の変換係数を反対の対角方向に走査することと、前記ブロックの右下のサブブロックから前記ブロックの左上のサブブロックまで前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって対角方向に走査することとを備えるような、逆の対角方向を前記走査方向が備える、[18]に記載の装置。
[20] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の中で、右から左かつ下から上に前記係数の走査順序で前記複数のサブブロックの各々の変換係数を水平方向に走査することと、前記ブロックの右から左かつ下から上に前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって水平方向に走査することとを備えるような、反対の水平方向を前記走査方向が備える、[18]に記載の装置。
[21] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の中で、下から上かつ右から左に前記係数の走査順序で前記複数のサブブロックの各々の変換係数を垂直方向に走査することと、前記ブロックの下から上かつ右から左に前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって垂直方向に走査することとを備えるような、反対の垂直方向を前記走査方向が備える、[18]に記載の装置。
[22] 前記走査を実行するために、前記1つまたは複数のプロセッサが、変換係数の前記アレイの最後の有意な係数を含む前記複数のサブブロックのうちの1つのサブブロックにおいて前記走査を開始するように構成される、[17]に記載の装置。
[23] 前記走査を実行するために、前記1つまたは複数のプロセッサが、前記係数の走査順序で、最後の有意な係数から、前記複数のサブブロックの各々において前記走査を開始するように構成される、[17]に記載の装置。
[24] 前記サブブロックの走査順序および前記係数の走査順序が、異なる方向を有する、[17]に記載の装置。
[25] 前記走査を実行するために、前記1つまたは複数のプロセッサが、前記サブブロックの走査順序で、前記複数のサブブロックの次のサブブロックの変換係数と関連付けられるビンを走査する前に、前記複数のサブブロックの現在のサブブロックの変換係数と関連付けられるすべてのビンを走査するように構成される、[17]に記載の装置。
[26] 前記現在のサブブロックの変換係数を走査するために、前記1つまたは複数のプロセッサが、前記係数の走査順序で、有意性ビンと変換係数レベルビンとを走査するように構成される、[25]に記載の装置。
[27] 前記走査を実行するために、前記1つまたは複数のプロセッサが、前記ブロックの変換係数レベルビンを走査する前に、前記ブロックの有意性ビンを走査するように構成される、[17]に記載の装置。
[28] 前記1つまたは複数のプロセッサがさらに、前記複数のサブブロックに対する、前記サブブロックの走査順序を決定し、前記複数のサブブロックの各々の中の変換係数に対する、前記係数の走査順序を決定するように構成される、[17]に記載の装置。
[29] 前記サブブロックの走査順序および前記係数の走査順序が、順方向のジグザグの走査、順方向の水平の走査、順方向の垂直の走査、順方向の対角の走査、逆方向のジグザグの走査、逆方向の水平の走査、逆方向の垂直の走査、および逆方向の対角の走査のうちの1つである、[17]に記載の装置。
[30] 前記走査を実行するために、前記1つまたは複数のプロセッサが、レート−歪み尺度、ブロックサイズ、予測モード、および近傍のブロックと関連付けられる情報のうちの1つに基づいて、前記サブブロックの走査順序と前記係数の走査順序とを適応的に選択するように構成される、[29]に記載の装置。
[31] 変換係数の前記1次元アレイを復号するために、前記1つまたは複数のプロセッサが、変換係数の前記1次元アレイをコンテキスト適応バイナリ算術復号するように構成される、[17]に記載の装置。
[32] 前記1つまたは複数のプロセッサがさらに、前記変換係数と関連付けられる有意性情報を並列に復号するためのコンテキストを決定するように構成され、前記コンテキストが、前記ブロックにおいて現在復号されている変換係数の位置に基づいて変化する、[31]に記載の装置。
[33] ビデオ復号処理において変換係数を復号するための装置であって、変換係数の1次元アレイを復号するための手段と、サブブロックの走査順序および係数の走査順序に従って変換係数の前記1次元アレイに対して走査を実行して、変換係数のブロックを生成するための手段とを備え、前記サブブロックの走査順序が、前記ブロック内の複数のサブブロックの各サブブロックが走査される順序を備え、前記係数の走査順序が、前記複数のサブブロックの各サブブロックに対応する前記変換係数が走査される順序を備える、装置。
[34] 前記サブブロックの走査順序および前記係数の走査順序が、同じ走査方向を有する、[33]に記載の装置。
[35] 復号するための手段が、変換係数の前記1次元アレイをコンテキスト適応バイナリ算術復号するための手段を備える、[33]に記載の装置。
[36] 前記変換係数と関連付けられる有意性情報を並列に復号するためのコンテキストを決定するための手段をさらに備え、前記コンテキストが、前記ブロックにおいて現在復号されている変換係数の位置に基づいて変化する、[35]に記載の装置。
[37] 実行されると、1つまたは複数のプロセッサに、変換係数の1次元アレイを復号させ、サブブロックの走査順序および係数の走査順序に従って変換係数の前記1次元アレイに対して走査を実行させて、変換係数のブロックを生成させる、命令を記憶したコンピュータ可読記憶媒体であって、前記サブブロックの走査順序が、前記ブロック内の複数のサブブロックの各サブブロックが走査される順序を備え、前記係数の走査順序が、前記複数のサブブロックの各サブブロックに対応する前記変換係数が走査される順序を備える、コンピュータ可読記憶媒体。
[38] 前記サブブロックの走査順序および前記係数の走査順序が、同じ走査方向を有する、[37]に記載のコンピュータ可読記憶媒体。
[39] 前記命令がさらに、前記1つまたは複数のプロセッサに、変換係数の前記1次元アレイをコンテキスト適応バイナリ算術復号させる、[37]に記載のコンピュータ可読記憶媒体。
[40] 前記1つまたは複数のプロセッサに、前記変換係数と関連付けられる有意性情報を並列に復号するためのコンテキストを決定させる命令をさらに備え、前記コンテキストが、前記ブロックにおいて現在復号されている変換係数の位置に基づいて変化する、[39]に記載のコンピュータ可読記憶媒体。
[41] ビデオ符号化処理において変換係数を符号化するための方法であって、変換係数のブロックを複数のサブブロックに分割することと、サブブロックの走査順序および係数の走査順序に従って変換係数の前記ブロックに対して走査を実行して、変換係数の1次元アレイを生成することであって、前記サブブロックの走査順序が、前記複数のサブブロックの各々が走査される順序を備え、前記係数の走査順序が、前記複数のサブブロックの各々の中の前記変換係数が走査される順序を備える、生成することと、変換係数の前記1次元アレイを符号化することとを備える、方法。
[42] 前記サブブロックの走査順序および前記係数の走査順序が、同じ走査方向を有する、[41]に記載の方法。
[43] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の右下の角から左上の角まで前記係数の走査順序で前記複数のサブブロックの各々の変換係数を反対の対角方向に走査することと、前記ブロックの右下のサブブロックから前記ブロックの左上のサブブロックまで前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって対角方向に走査することとを備えるような、反対の対角方向を前記走査方向が備える、[42]に記載の方法。
[44] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の中で、右から左かつ下から上に前記係数の走査順序で前記複数のサブブロックの各々の変換係数を水平方向に走査することと、前記ブロックの右から左かつ下から上に前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって水平方向に走査することとを備えるような、反対の水平方向を前記走査方向が備える、[42]に記載の方法。
[45] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の中で、下から上かつ右から左に前記係数の走査順序で前記複数のサブブロックの各々の変換係数を垂直方向に走査することと、前記ブロックの下から上かつ右から左に前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって垂直方向に走査することとを備えるような、反対の垂直方向を前記走査方向が備える、[42]に記載の方法。
[46] 前記走査を実行することが、変換係数の前記アレイの最後の有意な係数を含む前記複数のサブブロックのうちの1つのサブブロックにおいて、前記走査を開始することを備える、[41]に記載の方法。
[47] 前記走査を実行することが、前記係数の走査順序で、最後の有意な係数から、前記複数のサブブロックの各々において、前記走査を開始することを備える、[41]に記載の方法。
[48] 前記サブブロックの走査順序および前記係数の走査順序が、異なる方向を有する、[41]に記載の方法。
[49] 前記走査を実行することが、前記サブブロックの走査順序で、前記複数のサブブロックの次のサブブロックの変換係数と関連付けられるビンを走査する前に、前記複数のサブブロックの現在のサブブロックの変換係数と関連付けられるすべてのビンを走査することを備える、[41]に記載の方法。
[50] 前記現在のサブブロックの変換係数を走査することが、前記係数の走査順序で、有意性ビンと変換係数レベルビンとを走査することを備える、[49]に記載の方法。
[51] 前記走査を実行することが、前記ブロックの変換係数レベルビンを走査する前に、前記ブロックの有意性ビンを走査することを備える、[41]に記載の方法。
[52] 前記複数のサブブロックに対する、前記サブブロックの走査順序を決定することと、前記複数のサブブロックの各々の中の変換係数に対する、前記係数の走査順序を決定することとをさらに備える、[41]に記載の方法。
[53] 前記サブブロックの走査順序および前記係数の走査順序が、順方向のジグザグの走査、順方向の水平の走査、順方向の垂直の走査、順方向の対角の走査、逆方向のジグザグの走査、逆方向の水平の走査、逆方向の垂直の走査、および逆方向の対角の走査のうちの1つである、[41]に記載の方法。
[54] 前記走査を実行することがさらに、レート−歪み尺度、ブロックサイズ、予測モード、および近傍のブロックと関連付けられる情報のうちの1つに基づいて、前記サブブロックの走査順序と前記係数の走査順序とを適応的に選択することを備える、[53]に記載の方法。
[55] 符号化することが、コンテキスト適応バイナリ算術符号化することを備える、[41]に記載の方法。
[56] 前記変換係数と関連付けられる有意性情報を並列に符号化するためのコンテキストを決定することをさらに備え、前記コンテキストが、前記ブロックにおいて現在符号化されている変換係数の位置に基づいて変化する、[55]に記載の方法。
[57] 符号化処理において変換係数を符号化するための装置であって、変換係数のブロックを複数のサブブロックに分割することと、サブブロックの走査順序および係数の走査順序に従って変換係数の前記ブロックに対して走査を実行して、変換係数の1次元アレイを生成することであって、前記サブブロックの走査順序が、前記複数のサブブロックの各々が走査される順序を備え、前記係数の走査順序が、前記複数のサブブロックの各々の中の前記変換係数が走査される順序を備える、生成することと、変換係数の前記1次元アレイを符号化することとを行うように構成される、1つまたは複数のプロセッサを備える、装置。
[58] 前記サブブロックの走査順序および前記係数の走査順序が、同じ走査方向を有する、[57]に記載の装置。
[59] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の右下の角から左上の角まで前記係数の走査順序で前記複数のサブブロックの各々の変換係数を反対の対角方向に走査することと、前記ブロックの右下のサブブロックから前記ブロックの左上のサブブロックまで前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって対角方向に走査することとを備えるような、反対の対角方向を前記走査方向が備える、[58]に記載の装置。
[60] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の中で、右から左かつ下から上に前記係数の走査順序で前記複数のサブブロックの各々の変換係数を水平方向に走査することと、前記ブロックの右から左かつ下から上に前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって水平方向に走査することとを備えるような、反対の水平方向を前記走査方向が備える、[58]に記載の装置。
[61] 前記ブロックに対して前記走査を実行することが、前記複数のサブブロックの各々の中で、下から上かつ右から左に前記係数の走査順序で前記複数のサブブロックの各々の変換係数を垂直方向に走査することと、前記ブロックの下から上かつ右から左に前記サブブロックの走査順序で前記複数のサブブロックの各々にわたって垂直方向に走査することとを備えるような、反対の垂直方向を前記走査方向が備える、[58]に記載の装置。
[62] 前記走査を実行するために、前記1つまたは複数のプロセッサが、変換係数の前記アレイの最後の有意な係数を含む前記複数のサブブロックのうちの1つのサブブロックにおいて前記走査を開始するように構成される、[57]に記載の装置。
[63] 前記走査を実行するために、前記1つまたは複数のプロセッサが、前記係数の走査順序で、最後の有意な係数から、前記複数のサブブロックの各々において前記走査を開始するように構成される、[57]に記載の装置。
[64] 前記サブブロックの走査順序および前記係数の走査順序が、異なる方向を有する、[57]に記載の装置。
[65] 前記走査を実行するために、前記1つまたは複数のプロセッサが、前記サブブロックの走査順序で、前記複数のサブブロックの次のサブブロックの変換係数と関連付けられるビンを走査する前に、前記複数のサブブロックの現在のサブブロックの変換係数と関連付けられるすべてのビンを走査するように構成される、[57]に記載の装置。
[66] 前記現在のサブブロックの変換係数を走査するために、前記1つまたは複数のプロセッサが、前記係数の走査順序で、有意性ビンと変換係数レベルビンとを走査するように構成される、[65]に記載の装置。
[67] 前記走査を実行するために、前記1つまたは複数のプロセッサが、前記ブロックの変換係数レベルビンを走査する前に、前記ブロックの有意性ビンを走査するように構成される、[57]に記載の装置。
[68] 前記1つまたは複数のプロセッサがさらに、前記複数のサブブロックに対する、前記サブブロックの走査順序を決定し、前記複数のサブブロックの各々の中の変換係数に対する、前記係数の走査順序を決定するように構成される、[57]に記載の装置。
[69] 前記サブブロックの走査順序および前記係数の走査順序が、順方向のジグザグの走査、順方向の水平の走査、順方向の垂直の走査、順方向の対角の走査、逆方向のジグザグの走査、逆方向の水平の走査、逆方向の垂直の走査、および逆方向の対角の走査のうちの1つである、[57]に記載の装置。
[70] 前記走査を実行するために、前記1つまたは複数のプロセッサが、レート−歪み尺度に基づいて、前記サブブロックの走査順序と前記係数の走査順序とを適応的に選択するように構成される、[69]に記載の装置。
[71] 符号化するために、前記1つまたは複数のプロセッサが、変換係数の前記1次元アレイをコンテキスト適応バイナリ算術符号化するように構成される、[57]に記載の装置。
[72] 前記1つまたは複数のプロセッサがさらに、前記変換係数と関連付けられる有意性情報を並列に符号化するためのコンテキストを決定するように構成され、前記コンテキストが、前記ブロックにおいて現在符号化されている変換係数の位置に基づいて変化する、[71]に記載の装置。
[73] ビデオ符号化処理において変換係数を符号化するための装置であって、変換係数のブロックを複数のサブブロックに分割するための手段と、サブブロックの走査順序および係数の走査順序に従って変換係数の前記ブロックに対して走査を実行して、変換係数の1次元アレイを生成するための手段であって、前記サブブロックの走査順序が、前記複数のサブブロックの各々が走査される順序を備え、前記係数の走査順序が、前記複数のサブブロックの各々の中の前記変換係数が走査される順序を備える、手段と、変換係数の前記1次元アレイを符号化するための手段とを備える、装置。
[74] 前記サブブロックの走査順序および前記係数の走査順序が、同じ走査方向を有する、[73]に記載の装置。
[75] 符号化するための手段が、変換係数の前記1次元アレイをコンテキスト適応バイナリ算術符号化するための手段を備える、[73]に記載の装置。
[76] 前記変換係数と関連付けられる有意性情報を並列に符号化するためのコンテキストを決定するための手段をさらに備え、前記コンテキストが、前記ブロックにおいて現在符号化されている変換係数の位置に基づいて変化する、[75]に記載の装置。
[77] 実行されると、1つまたは複数のプロセッサに、変換係数のブロックを複数のサブブロックへ分割することと、サブブロックの走査順序および係数の走査順序に従って変換係数の前記ブロックに対して走査を実行して、変換係数の1次元アレイを生成することであって、前記サブブロックの走査順序が、前記複数のサブブロックの各々が走査される順序を備え、前記係数の走査順序が、前記複数のサブブロックの各々の中の前記変換係数が走査される順序を備える、生成することと、変換係数の前記1次元アレイを符号化することとを行わせる命令を記憶したコンピュータ可読記憶媒体。
[78] 前記サブブロックの走査順序および前記係数の走査順序が、同じ走査方向を有する、[77]に記載のコンピュータ可読記憶媒体。
[79] 前記命令がさらに、前記1つまたは複数のプロセッサに、変換係数の前記1次元アレイをコンテキスト適応バイナリ算術符号化させる、[77]に記載のコンピュータ可読記憶媒体。
[80] 前記1つまたは複数のプロセッサに、前記変換係数と関連付けられる有意性情報を並列に符号化するためのコンテキストを決定させる命令をさらに備え、前記コンテキストが、前記ブロックにおいて現在符号化されている変換係数の位置に基づいて変化する、[79]に記載のコンピュータ可読記憶媒体。

Claims (52)

  1. ビデオ復号処理において変換係数を復号するための方法であって、
    変換係数のブロックと関連する変換係数の一次元アレイを符号化されたビットストリームから取得することと、
    変換係数の前記ブロックに対して変換係数の複数のサブブロックを決定することと
    前記複数のサブブロックの各サブブロックは等しいサイズを有し、それぞれのサブブロックの前記変換係数の有意性情報、それぞれのサブブロックの前記変換係数の係数レベル情報及び前記複数のサブブロックを走査するための統一された対角方向の走査を決定することと、
    前記統一された対角方向の走査に従って変換係数の前記一次元アレイを走査することと、ここにおいて、前記走査は統一された対角方向の走査を用いて前記複数のサブブロックの各サブブロック毎に前記変換係数の前記有意性情報及び前記変換係数の前記係数レベル情報を走査すること及び変換係数の前記ブロックを生成するために前記統一された対角方向の走査を用いて前記複数のサブブロックを走査することとを備え、
    変換係数の前記ブロックを復号することと
    を備える、方法。
  2. 前記対角方向の走査は、走査することが前記複数のサブブロックの各々の右下隅から左上隅に前記複数のサブブロックの各々の変換係数を逆対角方向に走査することと、前記ブロックの右下サブブロックから前記ブロックの左上サブブロックに前記複数のサブブロックの各々にわたって対角方向に走査することとを備えるような逆対角方向を備える、請求項1の方法。
  3. 前記対角方向の走査は、走査することが前記複数のサブブロックの各々の左上隅から右下隅に前記複数のサブブロックの各々の変換係数を前方対角方向に走査することと、前記ブロックの左上サブブロックから右下サブブロックに前記複数のサブブロックの各々にわたって対角方向に走査することとを備える、請求項1に記載の方法。
  4. 走査することは変換係数の前記一次元アレイの最後の有意性係数を含む前記複数のサブブロックの1つのサブブロックにおいて前記走査を開始することを備える、請求項1に記載の方法。
  5. 走査することは、係数走査順序で最後の有意性係数から前記複数のサブブロックの各々において前記走査することを開始することを備える、請求項1に記載の方法。
  6. 走査することは、サブブロック走査順序で前記複数のサブブロックの次のサブブロックの変換係数と関連するビンを走査する前に前記複数のサブブロックの現在サブブロックの変換係数と関連する全てのビンを走査することを備える、請求項1の方法。
  7. 走査することは、変換係数レベル情報を走査する前に前記有意性情報を走査することを備える、請求項1に記載の方法。
  8. 前記統一された対角方向の走査を決定することは、レート歪みメトリック、ブロックサイズ、予測モード、及び隣接ブロックと関連する情報の1つに基づいて前記統一された対角方向の走査を選択することを備える、請求項1に記載の方法。
  9. 変換係数の前記一次元アレイを復号することは、変換係数の前記一次元アレイをコンテキスト適応バイナリ算術復号する、請求項1に記載の方法。
  10. 前記変換係数と並列に関連する前記有意性情報を復号するためのコンテキストを決定することを更に含み、前記コンテキストは前記ブロックにおいて現在復号されている変換係数の位置に基づいて変化する、請求項の方法。
  11. ビデオ復号プロセスにおいて変換係数を復号するための装置であって、前記装置は
    変換係数の一次元アレイを記憶するように構成されるメモリーと、
    符号化されたビットストリームから、変換係数の前記一次元アレイを取得することと
    変換係数のブロックに対して変換係数の複数のサブブロックを決定することと、前記複数のサブブロックの各サブブロックは同一サイズを有し
    それぞれのサブブロックの前記変換係数の有意性情報、それぞれのサブブロックの前記変換係数の係数レベル情報及び前記複数のサブブロックを走査するための統一された対角方向の走査を決定することと、
    記統一された対角方向の走査に従って変換係数の前記一次元アレイを走査することと、ここにおいて、前記走査は統一された対角方向の走査を用いて前記複数のサブブロックの各サブブロック毎に前記変換係数の前記有意性情報及び前記変換係数の前記係数レベル情報を走査すること及び変換係数の前記ブロックを生成するために前記統一された対角方向の走査を用いて前記複数のサブブロックを走査することとを備え、
    変換係数の前記ブロックを復号することと、
    を行うように構成される1つ以上のプロセッサと
    を備える、装置。
  12. 前記対角方向の走査は、走査が前記複数のサブブロックの各々の右下隅から左上隅に前記複数のサブブロックの各々の変換係数を逆対角方向に走査することと前記ブロックの右下サブブロックから前記ブロックの左上サブブロックに前記複数のサブブロックの各々にわたって対角方向に走査することを備えるような逆対角方向を備える、請求項11の装置。
  13. 前記対角方向の走査は、走査することが前記複数のサブブロックの各々の左上隅から右下隅に前記複数のサブブロックの各々の変換係数を前方対角方向に走査することと、前記ブロックの左上サブブロックから右下サブブロックに前記複数のサブブロックの各々にわたって対角方向に走査することとを備える、請求項11に記載の装置。
  14. 走査するため、前記1つ以上のプロセッサは、変換係数の前記一次元アレイの最後の有意性係数を含む前記複数のサブブロックの1つのサブブロックにおいて前記走査を開始するように構成される、請求項11に記載の装置。
  15. 走査するために、前記1つ以上のプロセッサは、係数走査順序で最後の有意性係数から前記複数のサブブロックの各々において前記走査を開始するように構成される、請求項11に記載の装置。
  16. 走査するために、前記1つ以上のプロセッサは、サブブロック走査順序で前記複数のサブブロックの次のサブブロックの変換係数と関連するビンを走査する前に前記複数のサブブロックの現在サブブロックの変換係数と関連する全てのビンを走査するように構成される、請求項11の装置。
  17. 走査するために、前記1つ以上のプロセッサは、前記ブロックの変換係数レベルビンを走査する前に前記ブロックの有意性ビンを走査するように構成される、請求項11の装置。
  18. 前記統一された対角方向の走査を決定するために、前記1以上のプロセッサは、レート歪みメトリック、ブロックサイズ、予測モード及び隣接ブロックと関連する情報の1つに基づいて前記統一された対角方向の走査を選択するように構成される、請求項11に記載の装置。
  19. 変換係数の前記一次元アレイを復号するために、前記1つ以上のプロセッサは、変換係数の前記一次元アレイをコンテキスト適応バイナリ算術復号するように構成される、請求項11に記載の装置。
  20. 前記1以上のプロセッサは、前記変換係数と並列に関連する前記有意性情報を復号するためのコンテキストを決定するように更に構成され、前記コンテキストは前記ブロックにおいて現在復号されている変換係数の位置に基づいて変化する、請求項19に記載の装置。
  21. ビデオ復号処理において変換係数を復号するための装置であって、前記装置は、
    変換係数のブロックと関連する変換係数の一次元アレイを、符号化ビットストリームから、取得するための手段と、
    変換係数の前記ブロックに対して変換係数の複数のサブブロックを決定するための手段と、前記複数のサブブロックの各サブブロックは等しいサイズを有し
    それぞれのサブブロックの前記変換係数の有意性情報、それぞれのサブブロックの前記変換係数の係数レベル情報及び前記複数のサブブロックを走査するための統一された対角方向の走査を決定するための手段と、
    前記統一された対角方向の走査に従って変換係数の前記一次元アレイを走査するための手段と、ここにおいて、前記走査するための手段は統一された対角方向の走査を用いて前記複数のサブブロックの各サブブロック毎に前記変換係数の前記有意性情報及び前記変換係数の前記係数レベル情報を走査するための手段及び変換係数の前記ブロックを生成するために前記統一された対角方向の走査を用いて前記複数のサブブロックを走査するための手段とを備え、
    変換係数の前記ブロックを復号するための手段と、
    を備える、装置。
  22. 復号するための手段は、変換係数の前記一次元アレイをコンテキスト適応バイナリ算術復号するための手段を備える、請求項21に記載の装置。
  23. 前記変換係数と並列に関連する前記有意性情報を復号するためのコンテキストを決定するための手段を更に備え、前記コンテキストは前記ブロックにおいて現在復号されている変換係数の位置に基づいて変化する、請求項22に記載の装置。
  24. 実行されたとき、1つ以上のプロセッサに
    変換係数の一次元アレイを、符号化されたビットストリームから、取得することと、
    変換係数のブロックに対して変換係数の複数のサブブロックを決定することと、前記複数のサブブロックの各サブブロックは等しいサイズを有し、
    それぞれのサブブロックの前記変換係数の有意性情報、それぞれのサブブロックの前記変換係数の係数レベル情報及び前記複数のサブブロックを走査するための統一された対角方向の走査を決定することと、
    前記統一された対角方向の走査に従って変換係数の前記一次元アレイを走査することと、ここにおいて、前記走査は統一された対角方向の走査を用いて前記複数のサブブロックの各サブブロック毎に前記変換係数の前記有意性情報及び前記変換係数の前記係数レベル情報を走査すること及び変換係数の前記ブロックを生成するために前記統一された対角方向の走査を用いて前記複数のサブブロックを走査することとを備え、
    変換係数の前記ブロックを復号することと、
    を行わせる命令を記憶したコンピュータ可読記憶媒体。
  25. 前記命令は、前記1つ以上のプロセッサに変換係数の前記一次元アレイをコンテキスト適応バイナリ算術復号させる、請求項24に記載のコンピュータ可読記憶媒体。
  26. 前記1つ以上のプロセッサに前記変換係数と並列に関連する前記有意性情報を復号するためのコンテキストを決定させる命令を更に備え、前記コンテキストは前記ブロックにおいて現在復号されている変換係数の位置に基づいて変化する、請求項25に記載のコンピュータ可読記憶媒体。
  27. ビデオ符号化処理において変換係数を符号化するための方法であって、
    変換係数のブロックを複数のサブブロックに分割することと、前記複数のサブブロックの各サブブロックは等しいサイズを有し、
    それぞれのサブブロックの前記変換係数の有意性情報、それぞれのサブブロックの前記変換係数の係数レベル情報及び前記複数のサブブロックを走査するための統一された対角方向の走査を決定することと、
    前記統一された対角方向の走査に従って変換係数の一次元アレイを走査することと、ここにおいて、前記走査することは統一された対角方向の走査を用いて前記複数のサブブロックの各サブブロック毎に前記変換係数の前記有意性情報及び前記変換係数の前記係数レベル情報を走査すること及び変換係数の一次元アレイを生成するために前記統一された対角方向の走査を用いて前記複数のサブブロックを走査することとを備え、
    変換係数の前記一次元アレイを符号化することと、
    を備える、方法。
  28. 前記対角方向の走査は、走査することが前記複数のサブブロックの各々の右下隅から左上隅に前記複数のサブブロックの各々の変換係数を逆対角方向に走査することと、前記ブロックの右下サブブロックから前記ブロックの左上サブブロックに前記複数のサブブロックの各々にわたって対角方向に走査することを備えるような逆対角方向を備える、請求項27の方法。
  29. 前記対角方向の走査は、走査することが前記複数のサブブロックの各々の左上隅から右下隅に前記複数のサブブロックの各々の変換係数を前方対角方向に走査することと、前記ブロックの左上サブブロックから右下サブブロックに前記複数のサブブロックの各々にわたって対角方向に走査することとを備える、請求項27に記載の方法。
  30. 走査することは、変換係数の前記一次元アレイの最後の有意性係数を含む前記複数のサブブロックの1つのサブブロックにおいて前記走査することを開始することを備える、請求項27の方法。
  31. 走査することは、係数走査順序で最後の有意性係数から前記複数のサブブロックの各々において前記走査を開始することを備える、請求項27に記載の方法。
  32. 走査することは、サブブロック走査順序で前記複数のサブブロックの次のサブブロックの変換係数と関連するビンを走査する前に前記複数のサブブロックの現在サブブロックの変換係数と関連する全てのビンを走査することを備える、請求項27の方法。
  33. 走査することは、変換係数レベル情報を走査する前に前記有意性情報を走査することを備える、請求項27に記載の方法。
  34. 前記統一された対角方向の走査を決定することは、レート歪みメトリック、ブロックサイズ、予測モード及び隣接ブロックと関連する情報のうちの1つに基づいて前記統一された対角方向の走査を選択することを備える、請求項27に記載の方法。
  35. 符号化することはコンテキスト適応バイナリ算術符号化を更に備える、請求項27の方法。
  36. 前記変換係数と並列に関連する前記有意性情報を符号化するためのコンテキストを決定することを更に備え、前記コンテキストは前記ブロックにおいて現在符号化されている変換係数の位置に基づいて変化する、請求項35に記載の方法。
  37. 符号化プロセスにおいて変換係数を符号化するための装置であって、前記装置は、
    変換係数のブロックを記憶するように構成されるメモリと、
    1つ以上のプロセッサと、を備え、前記1つ以上のプロセッサは、
    変換係数の前記ブロックを複数のサブブロックに分割することと、前記複数のサブブロックの各サブブロックは等しいサイズを有し、
    それぞれのサブブロックの前記変換係数の有意性情報、それぞれのサブブロックの前記変換係数の係数レベル情報及び前記複数のサブブロックを走査するための統一された対角方向の走査を決定することと、
    前記統一された対角方向の走査に従って変換係数の前記ブロックを走査することと、ここにおいて、前記ブロックを走査するため、前記1つ以上のプロセッサは前記走査は統一された対角方向の走査を用いて前記複数のサブブロックの各サブブロック毎に前記変換係数の前記有意性情報及び前記変換係数の前記係数レベル情報を走査すること及び変換係数の一次元アレイを生成するために前記統一された対角方向の走査を用いて前記複数のサブブロックを走査するように構成され
    変換係数の前記一次元アレイを符号化することとを行うように構成される、
    装置。
  38. 前記対角方向の走査は、走査が前記複数のサブブロックの各々の右下隅から左上隅に前記複数のサブブロックの各々の変換係数を逆対角方向に走査することと、前記ブロックの右下サブブロックから前記ブロックの左上サブブロックに前記複数のサブブロックの各々にわたって対角方向に走査することを備えるような逆対角方向を備える、請求項37の装置。
  39. 前記対角方向の走査は、走査が前記複数のサブブロックの各々の左上隅から右下隅に前記複数のサブブロックの各々の変換係数を前方対角方向に走査することと、前記ブロックの左上サブブロックから右下サブブロックに前記複数のサブブロックの各々にわたって対角方向に走査することとを備える、請求項37に記載の装置。
  40. 走査するために、前記1つ以上プロセッサは、変換係数の前記一次元アレイの最後の有意性係数を含む前記複数のサブブロックの1つのサブブロックにおいて走査を開始するように構成される、請求項37に記載の装置。
  41. 走査するために、前記1つ以上のプロセッサは、係数走査順序で最後の有意性係数から前記複数のサブブロックの各々において前記走査を開始するように構成される、請求項37の装置。
  42. 走査するために、前記1つ以上のプロセッサは、サブブロック走査順序で前記複数のサブブロックの次のサブブロックの変換係数と関連するビンを走査する前に前記複数のサブブロックの現在サブブロックの変換係数と関連する全てのビンを走査するように構成される、請求項37の装置。
  43. 走査するために、前記1つ以上のプロセッサは、変換係数レベル情報を走査する前に前記有意性情報を走査するように構成される、請求項37に記載の装置。
  44. 前記統一された対角方向の走査を決定するために、前記1つ以上のプロセッサは、レート歪みメトリック、ブロックサイズ、予測モード及び隣接ブロックと関連する情報のうちの1つに基づいて前記統一された対角方向の走査を選択するように構成される、請求項37に記載の装置。
  45. 符号化するために、前記1つ以上のプロセッサは、変換係数の前記一次元アレイをコンテキスト適応バイナリ算術符号化するように更に構成される、請求項37の装置。
  46. 前記1つ以上のプロセッサは、前記変換係数と並列に関連する前記有意性情報を符号化するためのコンテキストを決定するように更に構成され、前記コンテキストは前記ブロックにおいて現在符号化されている変換係数の位置に基づいて変化する、請求項45に記載の装置。
  47. ビデオ符号化プロセスにおいて変換係数を符号化するための装置であって、
    変換係数のブロックを複数のサブブロックに分割するための手段と、前記複数のサブブロックの各サブブロックは等しいサイズを有し、
    それぞれのサブブロックの前記変換係数の有意性情報、それぞれのサブブロックの前記変換係数の係数レベル情報及び前記複数のサブブロックを走査するための統一された対角方向の走査を決定するための手段と、
    前記統一された対角方向の走査に従って変換係数の前記ブロックを走査するための手段と、ここにおいて、前記走査するための手段は統一された対角方向の走査を用いて前記複数のサブブロックの各サブブロック毎に前記変換係数の前記有意性情報及び前記変換係数の前記係数レベル情報を走査するための手段及び前記統一された対角方向の走査を用いて前記複数のサブブロックを走査するための手段とを備え、
    変換係数の一次元アレイを符号化するための手段と、
    を備える、装置。
  48. 符号化するための手段は、変換係数の前記一次元アレイをコンテキスト適応バイナリ算術符号化するための手段を備える、請求項47の装置。
  49. 前記変換係数と並列に関連する前記有意性情報を符号化するためのコンテキストを決定するための手段を更に備え、前記コンテキストは前記ブロックにおいて現在符号化されている変換係数の位置に基づいて変化する、請求項48に記載の装置。
  50. 実行されたとき、1つ以上のプロセッサに
    変換係数のブロックを複数のサブブロックに分割することと、前記複数のサブブロックの各サブブロックは等しいサイズを有し、
    それぞれのサブブロックの前記変換係数の有意性情報、それぞれのサブブロックの前記変換係数の係数レベル情報及び前記複数のサブブロックを走査するための統一された対角方向の走査を決定することと、
    前記統一された対角方向の走査に従って変換係数のブロックを走査することと、ここにおいて、前記走査することは統一された対角方向の走査を用いて前記複数のサブブロックの各サブブロック毎に前記変換係数の前記有意性情報及び前記変換係数の前記係数レベル情報を走査すること及び変換係数の一次元アレイを生成するために前記統一された対角方向の走査を用いて前記複数のサブブロックを走査することとを備え
    変換係数の前記一次元アレイを符号化することと
    を行なわせる命令を記憶したコンピュータ可読記憶媒体。
  51. 前記命令は、前記1つ以上のプロセッサに、更に変換係数の前記一次元アレイをコンテキスト適応バイナリ算術符号化させる、請求項50のコンピュータ可読記憶媒体。
  52. 前記1つ以上のプロセッサに前記変換係数と並列に関連する前記有意性情報を符号化するためのコンテキストを決定させる命令を更に備え、前記コンテキストは前記ブロックにおいて現在符号化されている変換係数の位置に基づいて変化する、請求項51に記載のコンピュータ可読記憶媒体。
JP2016110268A 2011-07-19 2016-06-01 ビデオコード化における係数の走査 Active JP6193446B2 (ja)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US201161509522P 2011-07-19 2011-07-19
US61/509,522 2011-07-19
US201161509926P 2011-07-20 2011-07-20
US61/509,926 2011-07-20
US201161550829P 2011-10-24 2011-10-24
US61/550,829 2011-10-24
US201161554292P 2011-11-01 2011-11-01
US61/554,292 2011-11-01
US13/551,458 US9756360B2 (en) 2011-07-19 2012-07-17 Coefficient scanning in video coding
US13/551,458 2012-07-17

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014521736A Division JP2014525200A (ja) 2011-07-19 2012-07-18 ビデオコーディングにおける係数の走査

Publications (2)

Publication Number Publication Date
JP2016189598A JP2016189598A (ja) 2016-11-04
JP6193446B2 true JP6193446B2 (ja) 2017-09-06

Family

ID=46582083

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014521736A Withdrawn JP2014525200A (ja) 2011-07-19 2012-07-18 ビデオコーディングにおける係数の走査
JP2016110268A Active JP6193446B2 (ja) 2011-07-19 2016-06-01 ビデオコード化における係数の走査

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014521736A Withdrawn JP2014525200A (ja) 2011-07-19 2012-07-18 ビデオコーディングにおける係数の走査

Country Status (15)

Country Link
US (1) US9756360B2 (ja)
EP (1) EP2735151A1 (ja)
JP (2) JP2014525200A (ja)
KR (2) KR101814308B1 (ja)
CN (1) CN103703776B (ja)
AU (1) AU2012284103B2 (ja)
BR (1) BR112014001056B1 (ja)
CA (1) CA2841957C (ja)
IL (1) IL230254A (ja)
MX (1) MX347063B (ja)
MY (1) MY166576A (ja)
RU (1) RU2604421C2 (ja)
TW (1) TWI507017B (ja)
WO (1) WO2013012930A1 (ja)
ZA (1) ZA201401155B (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101441903B1 (ko) * 2008-10-16 2014-09-24 에스케이텔레콤 주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9497472B2 (en) 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
KR101600615B1 (ko) * 2011-07-22 2016-03-14 구글 테크놀로지 홀딩스 엘엘씨 비디오 코딩에서 직사각형 변환을 스캐닝하기 위한 장치 및 방법
WO2013058583A1 (ko) * 2011-10-18 2013-04-25 주식회사 케이티 영상 부호화 방법, 영상 복호화 방법, 영상 부호화기 및 영상 복호화기
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
US20130114687A1 (en) * 2011-11-07 2013-05-09 Sharp Laboratories Of America, Inc. Fixed intra run-level mode for cavlc in hevc
US20130188736A1 (en) 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing for cabac in hevc
US9860527B2 (en) 2012-01-19 2018-01-02 Huawei Technologies Co., Ltd. High throughput residual coding for a transform skipped block for CABAC in HEVC
US9743116B2 (en) 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC
US9654139B2 (en) 2012-01-19 2017-05-16 Huawei Technologies Co., Ltd. High throughput binarization (HTB) method for CABAC in HEVC
US10616581B2 (en) 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
US9363510B2 (en) 2012-03-02 2016-06-07 Qualcomm Incorporated Scan-based sliding window in context derivation for transform coefficient coding
US9124872B2 (en) 2012-04-16 2015-09-01 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
US11025922B2 (en) * 2012-06-13 2021-06-01 Texas Instruments Incorporated Inverse transformation using pruning for video coding
US9350998B2 (en) 2012-06-29 2016-05-24 Qualcomm Incorporated Coding of significance flags
US9264713B2 (en) 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
EP2928184A4 (en) * 2012-11-29 2016-09-21 Lg Electronics Inc IMAGE ENCODING / DECODING METHOD AND DEVICE SUPPORTING A PLURALITY OF LAYERS
CN104272735B (zh) * 2013-01-16 2018-04-13 黑莓有限公司 针对视频的上下文自适应二进制熵编码的变换系数编码
US10291912B2 (en) * 2013-01-16 2019-05-14 Blackberry Limited Context determination for entropy coding of run-length encoded transform coefficients
US20140269896A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. Multi-Frame Compression
JP6033725B2 (ja) * 2013-03-28 2016-11-30 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
US9554152B2 (en) 2013-07-12 2017-01-24 Qualcomm Incorporated Concurrent processing of horizontal and vertical transforms
KR102125601B1 (ko) 2013-07-24 2020-06-22 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비변환 코딩을 위한 스캐닝 순서 조정 기법
GB2518823A (en) * 2013-09-25 2015-04-08 Sony Corp Data encoding and decoding
US9716884B2 (en) * 2014-03-20 2017-07-25 Hfi Innovation Inc. Method of signaling for mode selection in 3D and multi-view video coding
CN104581173A (zh) * 2015-01-13 2015-04-29 中国电子科技集团公司第三十二研究所 软解码验证模型平台
US10158874B2 (en) * 2015-09-30 2018-12-18 Apple Inc. Parallel bypass and regular bin coding
WO2017138831A1 (en) * 2016-02-12 2017-08-17 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection
CA3014299A1 (en) * 2016-02-12 2017-08-17 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection
EP3453174A1 (en) 2016-05-06 2019-03-13 VID SCALE, Inc. Method and system for decoder-side intra mode derivation for block-based video coding
CN114222140A (zh) * 2016-05-28 2022-03-22 世宗大学校产学协力团 视频信号的解码方法
WO2018084523A1 (ko) * 2016-11-01 2018-05-11 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2018135520A1 (ja) * 2017-01-20 2018-07-26 日本電気株式会社 量子化装置、量子化方法および記録媒体
US10244261B2 (en) * 2017-01-26 2019-03-26 Google Llc Transform coefficient coding using level maps
CN110679149B (zh) * 2017-03-22 2023-04-04 汉阳大学校产学协力团 基于自适应像素分类基准的环路滤波方法
MX2019012294A (es) * 2017-04-13 2020-01-27 Lg Electronics Inc Metodo de codificacion/decodificacion de imagenes y dispositivo para el mismo.
CN110999293B (zh) * 2017-07-31 2022-11-04 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
WO2019050299A1 (ko) * 2017-09-06 2019-03-14 가온미디어 주식회사 변화계수 서브그룹 스캐닝 방법에 따른 부/복호화 방법 및 장치
CN109842803B (zh) * 2018-09-19 2021-06-29 华为技术有限公司 一种图像压缩的方法及装置
WO2020139016A2 (ko) * 2018-12-27 2020-07-02 엘지전자 주식회사 영상 코딩 시스템에서 레지듀얼 재배열을 사용하는 영상 디코딩 방법 및 그 장치
WO2021105255A1 (en) 2019-11-26 2021-06-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding concepts for a transformed representation of a sample block
US11765370B2 (en) * 2021-07-27 2023-09-19 Mediatek Inc. Video residual decoding apparatus using neighbor storage device with smaller storage size to store neighbor data for context selection and associated method
CN114513661B (zh) * 2022-04-20 2022-09-06 宁波康达凯能医疗科技有限公司 一种基于方向检测的帧内图像模式决策方法与系统

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821119A (en) 1988-05-04 1989-04-11 Bell Communications Research, Inc. Method and apparatus for low bit-rate interframe video coding
KR0181032B1 (ko) 1995-03-20 1999-05-01 배순훈 인터리빙을 이용한 물체 기반 부호화방법 및 장치
ITRM20010088A1 (it) 2001-02-21 2002-08-21 Idi Irccs Peptide in grado di inibire l'attivita' del fattore di crescita derivato dalle piastrine (pdgf-bb) e del fattore di crescita derivato dai fi
US6870963B2 (en) 2001-06-15 2005-03-22 Qualcomm, Inc. Configurable pattern optimizer
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7190840B2 (en) 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
KR100472381B1 (ko) 2002-07-18 2005-03-10 삼성에스디에스 주식회사 티켓 낱장 인출장치
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US8311119B2 (en) 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
JP2007096479A (ja) 2005-09-27 2007-04-12 Nippon Telegr & Teleph Corp <Ntt> 階層間予測符号化方法および装置,階層間予測復号方法および装置,並びにそれらのプログラムおよび記録媒体
CN101292537B (zh) * 2005-11-08 2010-10-20 松下电器产业株式会社 运动图像编码方法、运动图像解码方法以及装置
CN101155302B (zh) 2006-09-25 2012-03-07 张燕生 一种基于对图像块数据旋转及变换的视频编解码方法
WO2008120434A1 (ja) * 2007-03-28 2008-10-09 Panasonic Corporation 復号化回路、復号化方法、符号化回路及び符号化方法
US8619874B2 (en) 2007-04-13 2013-12-31 Apple Inc. Method and system for video encoding and decoding
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US7710296B2 (en) 2007-09-19 2010-05-04 Texas Instruments Incorporated N-bin arithmetic coding for context adaptive binary arithmetic coding
KR20090097013A (ko) 2008-03-10 2009-09-15 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
KR101591825B1 (ko) 2008-03-27 2016-02-18 엘지전자 주식회사 비디오 신호의 인코딩 또는 디코딩 방법 및 장치
US8902972B2 (en) 2008-04-11 2014-12-02 Qualcomm Incorporated Rate-distortion quantization for context-adaptive variable length coding (CAVLC)
US8179974B2 (en) * 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US7932843B2 (en) 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
JPWO2010070897A1 (ja) * 2008-12-16 2012-05-24 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路
EP2216998A1 (en) 2009-02-10 2010-08-11 Panasonic Corporation Hierarchical coding for intra
KR101457894B1 (ko) * 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
WO2011126288A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order
CN108777790B (zh) 2010-04-13 2021-02-09 Ge视频压缩有限责任公司 解码显著性图的装置以及编码显著性图的装置和方法
EP2569944A1 (en) * 2010-05-12 2013-03-20 Thomson Licensing Methods and apparatus for unified significance map coding
SI2592832T1 (sl) * 2010-07-09 2016-10-28 Samsung Electronics Co., Ltd. Postopek in naprava za entropijsko kodiranje/dekodiranje transformacijskega koeficienta
DE102010035510A1 (de) 2010-08-25 2012-03-01 Areva Np Gmbh Verfahren zur Druckentlastung eines Kernkraftwerks, Druckentlastungssystem für ein Kernkraftwerk sowie zugehöriges Kernkraftwerk
US9154801B2 (en) * 2010-09-30 2015-10-06 Texas Instruments Incorporated Method and apparatus for diagonal scan and simplified coding of transform coefficients
US20130343454A1 (en) * 2011-01-07 2013-12-26 Agency For Science, Technology And Research Method and an apparatus for coding an image
WO2012096539A2 (ko) * 2011-01-13 2012-07-19 삼성전자 주식회사 선택적 스캔 모드를 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US8953690B2 (en) * 2011-02-16 2015-02-10 Google Technology Holdings LLC Method and system for processing video data
US10499059B2 (en) * 2011-03-08 2019-12-03 Velos Media, Llc Coding of transform coefficients for video coding
US8446301B2 (en) * 2011-04-15 2013-05-21 Research In Motion Limited Methods and devices for coding and decoding the position of the last significant coefficient
US20130003857A1 (en) * 2011-06-29 2013-01-03 General Instrument Corporation Methods and system for using a scan coding pattern during inter coding

Also Published As

Publication number Publication date
MX347063B (es) 2017-04-11
IL230254A (en) 2017-09-28
MX2014000718A (es) 2014-02-27
TWI507017B (zh) 2015-11-01
AU2012284103A1 (en) 2014-02-13
ZA201401155B (en) 2019-10-30
US9756360B2 (en) 2017-09-05
AU2012284103B2 (en) 2016-03-10
KR20140037264A (ko) 2014-03-26
JP2016189598A (ja) 2016-11-04
EP2735151A1 (en) 2014-05-28
JP2014525200A (ja) 2014-09-25
KR20160052789A (ko) 2016-05-12
WO2013012930A9 (en) 2014-09-18
US20130051475A1 (en) 2013-02-28
CN103703776A (zh) 2014-04-02
CN103703776B (zh) 2017-09-15
BR112014001056B1 (pt) 2022-11-01
KR101814308B1 (ko) 2018-01-02
CA2841957C (en) 2017-10-10
RU2604421C2 (ru) 2016-12-10
WO2013012930A1 (en) 2013-01-24
RU2014106068A (ru) 2015-08-27
BR112014001056A2 (pt) 2017-02-21
MY166576A (en) 2018-07-17
TW201313028A (zh) 2013-03-16
CA2841957A1 (en) 2013-01-24

Similar Documents

Publication Publication Date Title
JP6193446B2 (ja) ビデオコード化における係数の走査
US9497472B2 (en) Parallel context calculation in video coding
KR101618484B1 (ko) 인트라 모드 비디오 코딩
JP6469652B2 (ja) ビデオコード化プロセスにおける係数レベルコード化のためのライスパラメータ更新
JP6284954B2 (ja) イントラ予測のためのモード決定の簡略化
US9883203B2 (en) Adaptive overlapped block motion compensation
US9083983B2 (en) Motion vector predictor candidate clipping removal for video coding
US9247254B2 (en) Non-square transforms in intra-prediction video coding
US9838692B2 (en) Detecting availabilities of neighboring video units for video coding
JP5788517B2 (ja) ジョイントコンテキストモデルを使用した係数のエントロピーコード化
JP5940726B2 (ja) ビデオコーディングにおけるバイパスコーディングされたシンタックス要素のグループ化
JP5784830B2 (ja) ビデオコード化のための複数領域走査順序
US20130272423A1 (en) Transform coefficient coding
JP2018530246A (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
JP6105048B2 (ja) ビデオコーディングのための変換係数のコーディングにおけるグループフラグ
JP2014502475A (ja) 変換係数の関数ベース走査順序を使用するビデオ符号化
JP2013541917A (ja) ビデオコーディングのための変換係数の適応走査
JP5937205B2 (ja) ビデオコーディングのためのランモードベース係数コーディング
JP2014525169A (ja) ルーマおよびクロマブロックのためのvlc係数コーディング

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170630

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170809

R150 Certificate of patent or registration of utility model

Ref document number: 6193446

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250