JP5746363B2 - ビデオコーディングにおいてブロックの走査順序に基づいてビデオブロック内の最後有効係数の位置をコーディングすること - Google Patents

ビデオコーディングにおいてブロックの走査順序に基づいてビデオブロック内の最後有効係数の位置をコーディングすること Download PDF

Info

Publication number
JP5746363B2
JP5746363B2 JP2013542151A JP2013542151A JP5746363B2 JP 5746363 B2 JP5746363 B2 JP 5746363B2 JP 2013542151 A JP2013542151 A JP 2013542151A JP 2013542151 A JP2013542151 A JP 2013542151A JP 5746363 B2 JP5746363 B2 JP 5746363B2
Authority
JP
Japan
Prior art keywords
coordinate
scan order
block
coordinates
probability
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
JP2013542151A
Other languages
English (en)
Other versions
JP2013545415A (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 JP2013545415A publication Critical patent/JP2013545415A/ja
Application granted granted Critical
Publication of JP5746363B2 publication Critical patent/JP5746363B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • H03M7/4018Context adapative binary arithmetic codes [CABAC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6035Handling of unkown probabilities
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Description

優先権の主張
本出願は、各々の内容全体が参照により本明細書に組み込まれる、2010年12月3日に出願された米国仮出願第61/419,740号、2010年12月22日に出願された米国仮出願第61/426,426号、2010年12月22日に出願された米国仮出願第61/426,360号、および2010年12月22日に出願された米国仮出願第61/426,372号の利益を主張する。
本開示は、ビデオコーディングに関し、より詳細には、ビデオブロックの係数に関係するシンタックス情報のコーディングに関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part 10、アドバンストビデオコーディング(AVC:Advanced Video Coding)、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することにより、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部分)は、ツリーブロック、コーディングユニット(CU:coding unit)および/またはコーディングノードと呼ばれることもある、ビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測、または他の参照ピクチャにおける参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]空間的または時間予測により、コーディングされるべきブロックのための予測ブロックが生じる。残差データは、コーディングされるべき元のブロックと、予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
[0006]本開示は、ビデオデータのブロックに関連する走査順序に従うブロック内の最後非ゼロまたは最後「有効」係数の位置を識別する情報、すなわち、ブロックの最後有効係数位置情報をコーディングするための技法を含む、ビデオコーディングプロセス中にブロックに関連する係数をコーディングするための技法について説明する。本開示の技法は、ビデオデータのブロックに関連する走査順序を識別する情報、すなわち、ブロックの走査順序情報に基づいて特定のブロックの最後有効係数位置情報をコーディングすることによって、ブロックをコーディングするために使用されるブロックのための最後有効係数位置情報のコーディングの効率を改善し得る。言い換えれば、本技法は、ブロックの最後有効係数位置情報がコーディングされるとき、この情報の圧縮を改善し得る。本開示の技法はまた、ブロックの最後有効係数位置情報をコーディングするとき、複数の走査順序のうちの1つがブロックをコーディングするために使用されるときに共通の統計値を使用して特定のブロックの最後有効係数位置情報をコーディングすることによって、コーディングシステムが他のシステムに対してより少ない複雑さを有することを可能にし得る。
[0007]一例では、ビデオデータの特定のブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標をコーディングすること、ならびに、走査順序が第2の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置を示す「スワップ」または交換されたx座標およびy座標をコーディングすることによって、コーディング効率は改善され、コーディングシステムの複雑さは低減され得る。
[0008]この例では、第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得る。第1の走査順序と第2の走査順序との間の対称性のために、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。言い換えれば、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、x座標およびy座標と、交換されたx座標およびy座標とは、コンテキスト適応型エントロピーコーディングのために共通の統計値を使用してコーディングされ得、その結果、他のシステムと比較してより少ない複雑さを有するコーディングシステムを使用することになり得る。さらに、共通の統計値は、x座標およびy座標と、交換されたx座標およびy座標とに基づいて更新され得、これにより、他の技法を使用して更新された同様の統計値よりも統計値が正確になり得、したがって、それぞれの座標のコーディングがより効率的になり得る。
[0009]別の例では、コーディング効率は、必要な程度まで、増分的にビデオデータのブロックの最後有効係数位置情報をコーディングすることによって改善され得、それにより、この情報のコーディングがより効率的になり得る。さらに、この情報を全体としてコーディングすることが必要である場合、情報をコーディングするために使用される統計値が、ブロックに関連する走査順序に少なくとも部分的に基づいて選択されるように、コンテキスト適応型エントロピーコーディングを使用して情報をコーディングすることによってコーディング効率は改善され得る。このように情報をコーディングすることにより、他の方法を使用したときよりも正確な統計値を使用し得、この場合も、ブロックの最後有効係数位置情報のコーディングがより効率的になり得る。
[0010]本開示の技法は、CABAC、確率間隔区分エントロピーコーディング(PIPE:probability interval partitioning entropy coding)、または別のコンテキスト適応型エントロピーコーディング方法を含む、任意のコンテキスト適応型エントロピーコーディング方法とともに使用され得る。本開示では、例示のためにCABACについて説明するが、本開示で広く説明する技法に関して限定されない。また、本技法は、たとえば、ビデオデータに加えて、他のデータのタイプのコーディングに一般に適用され得る。
[0011]したがって、本開示の技法は、ビデオデータの1つまたは複数のブロックのための最後有効係数位置情報をコーディングするとき、他の方法に対してより効率的な符号化方法を使用することと、他のシステムに対してより少ない複雑さを有するコーディングシステムを使用することとを可能にし得る。このようにして、本開示の技法を使用すると、この情報を含むコード化ビットストリームの相対的ビット節約と、この情報をコーディングするために使用されるシステムの複雑さの相対的低減とが存在し得る。
[0012]一例では、ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングする方法は、ブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングすることと、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングすることと、を含む。
[0013]別の例では、ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングするための装置は、ブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングすることと、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングすることと、を行うように構成されたビデオコーダを含む。
[0014]別の例では、ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングするためのデバイスは、ブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングする手段と、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングする手段と、を含む。
[0015]本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装され得る。ハードウェアで実装する場合、装置は、集積回路、プロセッサ、ディスクリート論理、またはそれらの任意の組合せとして実現され得る。ソフトウェアで実装する場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはデジタル信号プロセッサ(DSP)など、1つまたは複数のプロセッサで実行され得る。本技法を実行するソフトウェアは、最初に有形コンピュータ可読媒体に記憶され、プロセッサにロードされ、実行され得る。
[0016]したがって、本開示はまた、実行されたとき、プロセッサに、ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングさせる命令を備えるコンピュータ可読媒体であって、これらの命令は、プロセッサに、ブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングさせ、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングさせる、コンピュータ可読媒体を企図する。
[0017]1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするための技法を実装し得るビデオ符号化および復号システムの一例を示すブロック図。 本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的に符号化するための技法を実装し得るビデオエンコーダの一例を示す図。 本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて符号化された最後有効係数位置情報を効率的に復号するための技法を実装し得るビデオデコーダの一例を示すブロック図。 ビデオデータのブロックの一例を示す概念図。 対応する有効係数位置情報の一例を示す概念図。 対応する最後有効係数位置情報の一例を示す概念図。 ジグザグ走査順序を使用して走査されるビデオデータのブロックの例を示す概念図。 水平走査順序を使用して走査されるビデオデータのブロックの例を示す概念図。 垂直走査順序を使用して走査されるビデオデータのブロックの例を示す概念図。 本開示の技法に一致する、走査順序情報に基づいてそれの最後有効係数位置情報がコーディングされるビデオデータのブロックの例を示す概念図。 本開示の技法に一致する、走査順序情報に基づいてそれの最後有効係数位置情報がコーディングされるビデオデータのブロックの例を示す概念図。 本開示の技法に一致する、走査順序情報に基づいてそれの最後有効係数位置情報がコーディングされるビデオデータのブロックの例を示す概念図。 本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするための方法の一例を示すフローチャート。 本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的に符号化するための方法の一例を示すフローチャート。 本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて符号化された最後有効係数位置情報を効率的に復号するための方法の一例を示すフローチャート。 本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的に符号化するための方法の別の例を示すフローチャート。 本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて符号化された最後有効係数位置情報を効率的に復号するための方法の別の例を示すフローチャート。
[0029]本開示は、ビデオデータのブロックに関連する走査順序に従うブロック内の最後非ゼロまたは最後「有効」係数の位置を識別する情報、すなわち、ブロックの最後有効係数位置情報をコーディングするための技法を含む、ビデオコーディングプロセス中にブロックに関連する係数をコーディングするための技法について説明する。本開示の技法は、ビデオデータのブロックに関連する走査順序を識別する情報、すなわち、ブロックの走査順序情報に基づいて特定のブロックの最後有効係数位置情報をコーディングすることによって、ブロックをコーディングするために使用されるブロックのための最後有効係数位置情報のコーディングの効率を改善し得る。言い換えれば、本技法は、情報がコーディングされるとき、ブロックの最後有効係数位置情報の圧縮を改善し得る。本開示の技法はまた、ブロックの最後有効係数位置情報をコーディングするとき、複数の走査順序のうちの1つがブロックをコーディングするために使用されるときに共通の統計値を使用して特定のブロックの最後有効係数位置情報をコーディングすることによって、他のシステムに対して複雑さがより少ないコーディングシステムを使用することを可能にし得る。
[0030]本開示では、「コーディング」という用語は、エンコーダにおいて行われる符号化、またはデコーダにおいて行われる復号を指す。同様に、「コーダ」という用語は、エンコーダ、デコーダ、または複合エンコーダ/デコーダ(「コーデック」)を指す。コーダ、エンコーダ、デコーダおよびコーデックという用語はすべて、本開示に一致するビデオデータのコーディング(符号化および/または復号)のために設計された特定の機械を指す。
[0031]概して、これらの技法の開発において実行された経験的テストにより、ビデオデータのブロックのための最後有効係数位置情報と走査順序情報との間の相関関係が証明されている。たとえば、ブロックに関連する走査順序、すなわち、ブロックをコーディングするために使用される走査順序に従うビデオデータのブロック内の最後有効係数の位置は、走査順序に依存し得る。言い換えれば、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値は、ブロックをコーディングするためにどの走査順序が使用されるか応じて変動し得る。したがって、ブロックの最後有効係数位置情報をコーディングするために使用される統計値が、ブロックの走査順序情報に少なくとも部分的に基づいて選択されるように、コンテキスト適応型エントロピーコーディングを使用して最後有効係数位置情報をコーディングすることにより、統計値がより正確になり得、したがって、最後有効係数位置情報のコーディングがより効率的になり得る。
[0032]さらに、本開示の技法によれば、ビデオデータのブロックの最後有効係数位置情報は、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を使用してコーディングされ得る。これらの場合、上記で説明した統計値は、走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値(たとえば、「0」、「1」、「2」など)を備える確率を示し得る。いくつかの走査順序、たとえば、第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの「スワップ」または交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、x座標およびy座標と、交換されたx座標およびy座標とは、共通の統計値を使用してコーディングされ得る。
[0033]したがって、共通の統計値を使用して、走査順序が第1の走査順序を備えるときにx座標およびy座標をコーディングすることと、走査順序が第2の走査順序を備えるときに交換されたx座標およびy座標をコーディングすることとにより、コーディングシステムの複雑さが低減され得る。さらに、また、x座標およびy座標と、交換されたx座標およびy座標とに基づいて共通の統計値を更新することにより、より正確な統計値が生じ得、それによって、この場合も、最後有効係数位置情報のコーディングがより効率的になり得る。
[0034]一例として、本開示の技法は、ビデオデータの特定のブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標をコーディングすることと、走査順序が第2の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標をコーディングすることとによって、コーディング効率を改善し、コーディングシステムの複雑さを低減し得る。
[0035]この例では、x座標およびy座標と、交換されたx座標およびy座標とは、コンテキスト適応型エントロピーコーディングのために共通の統計値を使用してコーディングされ得、それにより、他のシステム、たとえば、ビデオデータのブロックをコーディングするためにシステム内で使用され得る走査順序ごとに別個の統計値を含むシステムに対してより少ない複雑さを有するコーディングシステムを使用することになり得る。さらに、共通の統計値は、x座標およびy座標と、交換されたx座標およびy座標とに基づいて更新され得、これにより、他の技法を使用して更新された同様の統計値、たとえば、ビデオデータのブロックをコーディングするためにシステム内で使用され得る特定の走査順序のために更新された統計値よりも統計値が正確になり得る。その結果、x座標およびy座標、ならびに交換されたx座標およびy座標、すなわち、ブロックの最後有効係数位置情報は、他の方法を使用してコーディングされた同様の情報よりも効率的にコーディングされ得る。
[0036]別の例として、本開示の技法は、必要な程度まで、増分的に(in an incremental manner)ビデオデータのブロックの最後有効係数位置情報をコーディングすることによってコーディング効率を改善し得る。その結果、最後有効係数位置情報は、他の技法、たとえば、常に全体としてブロックの最後有効係数位置情報をコーディングすることを使用したときよりも、少ない情報を使用してコーディングされ得る。さらに、最後有効係数位置情報を全体としてコーディングすることが必要である場合、この情報をコーディングするために使用される統計値が、ブロックの走査順序情報に少なくとも部分的に基づいて選択されるように、コンテキスト適応型エントロピーコーディングを使用して情報をコーディングすることによって、コーディング効率は改善され得る。このようにして最後有効係数位置情報をコーディングすることにより、他の方法、たとえば、ブロックの走査順序情報を考慮することなしに統計値を選択することを使用したときよりも、正確な統計値を使用することになり得、この場合も、最後有効係数位置情報のコーディングがより効率的になり得る。
[0037]上記で説明した例では、統計値を使用してビデオデータのブロックの最後有効係数位置情報をコーディングするために、この情報は、1つまたは複数のコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含む、コンテキスト適応型バイナリ算術コーディング(CABAC)プロセスを実行することによってコーディングされ得る。他の例では、コンテキスト適応型可変長コーディング(CAVLC)、確率間隔区分エントロピーコーディング(PIPE)、および他のコンテキスト適応型エントロピーコーディングプロセスなど、他のコンテキスト適応型エントロピーコーディングプロセスでも本開示の技法を使用し得る。本開示では、例示のためにCABACについて説明するが、本開示で広く説明する技法に関して限定されない。また、本技法は、たとえば、ビデオデータに加えて、他のデータのタイプのコーディングに一般に適用され得る。
[0038]上記で説明した方法でビデオデータの1つまたは複数のブロックのための最後有効係数位置情報をコーディングすることにより、他の方法に対してより効率的なコーディング方法を使用することと、他のシステムに対してより少ない複雑さを有するコーディングシステムを使用することとが可能になり得る。このようにして、本開示の技法を使用すると、この情報を含むコード化ビットストリームの相対的ビット節約と、この情報をコーディングするために使用されるシステムの複雑さの相対的低減とが存在し得る。
[0039]図1は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするための技法を実装し得るビデオ符号化および復号システム10の一例を示すブロック図である。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先デバイス14に送信するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレスハンドセット、いわゆるセルラー無線電話または衛星無線電話などのワイヤレス通信デバイス、あるいは通信チャネル16を介してビデオ情報を通信することができる任意のワイヤレスデバイスを備え得、その場合、通信チャネル16はワイヤレスである。
[0040]ただし、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングすることに関係する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。これらの技法は、オーバージエアテレビジョンブロードキャスト、ケーブルテレビジョン送信、衛星テレビジョン送信、ストリーミングインターネットビデオ送信、記憶媒体上に符号化されるかまたは記憶媒体から取り出され、復号される符号化デジタルビデオ、あるいは他のシナリオを含む、符号化または復号が実行される任意のシナリオに一般的に適用され得る。したがって、通信チャネル16は必要とされず、本開示の技法は、たとえば、符号化デバイスと復号デバイスとの間のデータ通信なしに、符号化が適用されるかまたは復号が適用される設定に適用され得る。
[0041]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器(モデム)22と、送信機24とを含む。宛先デバイス14は、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示に従って、ソースデバイス12のビデオエンコーダ20および/または宛先デバイス14のビデオデコーダ30は、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなど、外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
[0042]図1の図示のシステム10は一例にすぎない。ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成する、そのようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
[0043]ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤードアプリケーションに適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
[0044]宛先デバイス14の受信機26はチャネル16を介して情報を受信し、モデム28はその情報を復調する。この場合も、上記で説明したビデオ符号化プロセスは、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするために本明細書で説明する技法のうちの1つまたは複数を実装し得る。チャネル16を介して通信される情報は、ビデオデータのブロック(たとえば、マクロブロック、またはコーディングユニット)の特性および/または処理を記述するシンタックス要素、たとえば、ブロックの最後有効係数位置情報および/または走査順序情報、ならびに他の情報を含む、ビデオエンコーダ20によって定義され、ビデオデコーダ30によっても使用されるシンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0045]図1の例では、通信チャネル16は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。他の例では、符号化または復号デバイスは、そのようなデバイス間の通信なしに本開示の技法を実装し得る。たとえば、符号化デバイスは、本開示の技法に一致する符号化ビットストリームを符号化し、記憶し得る。代替的に、復号デバイスは、符号化ビットストリームを受信するかまたは取り出し、本開示の技法に一致するビットストリームを復号し得る。
[0046]ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part10、アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例には、MPEG−2、ITU−T H.263、および現在開発中の高効率ビデオコーディング(HEVC)規格がある。概して、本開示の技法について、HEVCに関して説明するが、これらの技法は、同様に他のビデオコーディング規格と併せて使用され得ることを理解されたい。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0047]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダおよびデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダ(コーデック)の一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
[0048]ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャのグループ(GOP:group of pictures)は、概して、一連の1つまたは複数のビデオフレームを備える。GOPは、GOP中に含まれるいくつかのフレームを記述するシンタックスデータを、GOPのヘッダ中、GOPの1つまたは複数のフレームのヘッダ中、または他の場所に含み得る。各フレームは、それぞれのフレームのための符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ、たとえば、ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ITU−T H.264規格によれば、ビデオブロックは、マクロブロックまたはマクロブロックのパーティションに対応し得る。他の規格、たとえば、以下でさらに詳細に説明するHEVCによれば、ビデオブロックは、コーディングユニット(たとえば、最大コーディングユニット)、またはコーディングユニットのパーティションに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは、複数のスライス、すなわち、ビデオフレームの部分を含み得る。各スライスは複数のビデオブロックを含み得、それらのビデオブロックは、サブブロックとも呼ばれるパーティションに構成され得る。
[0049]指定のコーディング規格に応じて、ビデオブロックは、16×16、8×8、4×4、2×2など、様々な「N×N」サブブロックサイズに区分され得る。本開示では、「N×N」と「N by N」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、16×16ピクセルまたは16 by 16ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ただし、Nは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはN×Mピクセルを備え得、ただし、Mは必ずしもNに等しいとは限らない。一例として、ITU−T H.264規格では、サイズが16×16ピクセルであるブロックはマクロブロックと呼ばれることがあり、16×16ピクセルよりも小さいブロックは、16×16マクロブロックのパーティションと呼ばれることがある。他の規格、たとえば、HEVCでは、ブロックは、より一般的にそれらのサイズに関して、たとえば、各々が固定サイズではなく可変サイズを有する、コーディングユニットおよびそれのパーティションとして定義され得る。
[0050]ビデオブロックは、ピクセル領域におけるピクセルデータのブロックを備え得、あるいは、たとえば、所与のビデオブロックのための残差データへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後の、変換領域における変換係数のブロックを備え得、残差データは、ブロックのビデオデータと、ブロックのために生成される予測データとの間のピクセル差分を表す。場合によっては、ビデオブロックは、変換領域における量子化変換係数のブロックを備え得、所与のビデオブロックのための残差データへの変換の適用後に、得られた変換係数も量子化される。
[0051]ブロック区分は、ブロックベースのビデオコーディング技法において重要な目的をはたす。ビデオデータをコーディングするためにより小さいブロックを使用すると、高レベルのディテールを含むビデオフレームのロケーションのためのデータの予測がより良くなり得、したがって、残差データとして表される得られた誤差(すなわち、ソースビデオデータからの予測データの偏差)が低減し得る。ただし、潜在的に残差データは低減されるが、そのような技法では、より小さいブロックがビデオフレームに対してどのように区分されるかを示すための追加のシンタックス情報が必要とされ得、コード化ビデオビットレートの増加が生じ得る。したがって、いくつかの技法では、ブロック区分は、追加のシンタックス情報によるコード化ビデオデータのビットレートの得られる増加に対して、残差データの望ましい減少を平衡させることに依存し得る。
[0052]概して、ブロック、およびそれの様々なパーティション(すなわち、サブブロック)は、ビデオブロックと見なされ得る。さらに、スライスは、複数のビデオブロック(たとえば、マクロブロック、もしくはコーディングユニット)、および/またはサブブロック(マクロブロックのパーティション、またはサブコーディングユニット)であると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。さらに、シーケンスとも呼ばれるGOPが、復号可能なユニットとして定義され得る。
[0053]高効率ビデオコーディング(HEVC)と現在呼ばれる、新しいビデオコーディング規格を開発するための取り組みが現在進行中である。新生のHEVC規格はH.265と呼ばれることもある。この規格化の取り組みは、HEVCテストモデル(HM:HEVC Test Model)と呼ばれるビデオコーディングデバイスのモデルに基づく。HMは、たとえば、ITU−T H.264/AVCによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを与えるが、HMは、たとえば、イントラ予測コーディングされるブロックのサイズに基づいて、35個ものイントラ予測符号化モードを与える。
[0054]HMは、ビデオデータのブロックをコーディングユニット(CU)と呼ぶ。CUは、圧縮のために様々なコーディングツールがそれに適用される基本ユニットとして働く矩形画像領域を指し得る。H.264では、それはマクロブロックと呼ばれることもある。ビットストリーム内のシンタックスデータは、ピクセルの数に関して最大のコーディングユニットである最大コーディングユニット(LCU:largest coding unit)を定義し得る。概して、CUは、CUがサイズの差異を有しないことを除いて、H.264のマクロブロックと同様の目的を有する。したがって、CUはサブCUに区分または「分割」され得る。
[0055]LCUは、LCUがどのように区分されるかを示す4分木(quadtree)データ構造に関連し得る。概して、4分木データ構造は、LCUのCUごとに1つのノードを含み、ルートノードはLCUに対応し、他のノードはLCUのサブCUに対応する。所与のCUが4つのサブCUに分割された場合、分割されたCUに対応する4分木中のノードは4つの子ノードを含み、子ノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックス情報を与え得る。たとえば、4分木のノードは、そのノードに対応するCUが4つのサブCUに分割されるかどうかを示す、CUのための分割フラグを含み得る。所与のCUのシンタックス情報は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。
[0056]分割されないCU(すなわち、末端に対応するCU、または所与の4分木中の「リーフ」ノード)は、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部を表し、CUの予測を実行するためにそのPUの参照サンプルを取り出すためのデータを含む。たとえば、CUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、CUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルがポイントする参照フレーム、および/または動きベクトルの参照リスト(たとえば、リスト0もしくはリスト1)を記述し得る。CUの1つまたは複数のPUを定義するCUのデータはまた、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかとの間で異なり得る。
[0057]1つまたは複数のPUを有するCUはまた、1つまたは複数の変換ユニット(TU:transform unit)を含み得る。上記で説明したように、1つまたは複数のPUを使用したCUの予測の後に、ビデオエンコーダは、1つまたは複数のPUに対応するCUのそれぞれの部分のために1つまたは複数の残差ブロックを計算し得る。残差ブロックは、CUのビデオデータと、1つまたは複数のPUのための予測データとの間のピクセル差分を表し得る。残差値のセットは、変換され、走査され、量子化されて、量子化変換係数のセットが定義され得る。TUは、CUに関して上記で説明した4分木データ構造と実質的に同様である変換係数のパーティション情報を示すパーティションデータ構造を定義し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUは、同じCUの対応するPUよりも大きいことも小さいこともある。いくつかの例では、TUの最大サイズは、対応するCUのサイズに対応し得る。一例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用してより小さいユニットに再分割され得る。この場合、RQTのリーフノードは、対応する残差サンプルがそれについて変換され、量子化され得る、TUとして参照され得る。
[0058]予測データと残差データとを生成するためのイントラ予測符号化またはインター予測符号化の後に、および変換係数を生成するための(H.264/AVCにおいて使用される4×4または8×8整数変換、あるいは離散コサイン変換DCTなどの)任意の変換の後に、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。
[0059]量子化の後に、量子化データ(すなわち、量子化変換係数)のエントロピーコーディングが実行され得る。エントロピーコーディングは、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングすることに関して本開示の技法に準拠し得、また、コンテキスト適応型可変長コーディング(CAVLC)、CABAC、PIPE、または別のエントロピーコーディング方法など、他のエントロピーコーディング技法を使用し得る。たとえば、量子化変換係数の大きさおよび対応する符号(たとえば、「+1」、または「−1」)として表される係数値が、エントロピーコーディング技法を使用して符号化され得る。
[0060]上記で説明した予測、変換、および量子化は、指定のコーディング規格に応じて、ビデオデータの任意のブロックについて、たとえば、CUのPUおよび/またはTUに、またはマクロブロックに対して実行され得ることに留意されたい。したがって、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングすることに関係する本開示の技法は、ビデオデータの任意のブロックに、たとえば、マクロブロック、またはCUのTUを含む、量子化変換係数の任意のブロックに適用され得る。さらに、ビデオデータのブロック(たとえば、マクロブロック、またはCUのTU)は、対応するビデオデータのルミナンス成分(Y)と、第1のクロミナンス成分(U)と、第2のクロミナンス成分(V)との各々を含み得る。したがって、本開示の技法は、ビデオデータの所与のブロックのY、U、およびV成分の各々について実行され得る。
[0061]上記で説明したようにビデオデータのブロックを符号化するために、所与のブロック内の有効係数の位置に関する情報も生成され、符号化され得る。その後、上記で説明したように、有効係数の値が符号化され得る。H.264/AVCおよび新生のHEVC規格では、コンテキスト適応型エントロピーコーディングプロセス、たとえば、CABACプロセスを使用するとき、ビデオデータのブロック内の有効係数の位置は、有効係数の値を符号化するより前に符号化され得る。ブロック内の有効係数のうちのすべての位置を符号化するプロセスは、有効性マップ(SM:significance map)符号化と呼ばれることがある。以下でより詳細に説明する図4A〜図4Cは、量子化変換係数の4×4ブロック、および対応するSMデータの一例を示す概念図である。
[0062]典型的なSM符号化プロシージャは、以下のように説明され得る。ビデオデータの所与のブロックについて、ブロック内に少なくとも1つの有効係数がある場合のみ、SMは符号化され得る。ビデオデータの所与のブロック内の有効係数の存在は、ビデオデータ中のピクセルのエリアに関連する(ルミナンスブロックおよびクロミナンスブロックなどの)ブロックのセットのためにコーディングされた2進値である、(たとえば、シンタックス要素「coded_block_pattern」またはCBPを使用して)コード化ブロックパターンにおいて示され得る。CBP中の各ビットは、(たとえば、シンタックス要素「coded_block_flag」に対応する)コード化ブロックフラグと呼ばれ、それの対応するブロック内に少なくとも1つの有効係数があるかどうかを示すために使用される。言い換えれば、コード化ブロックフラグは、変換係数の単一のブロック内に有効係数があるかどうかを示す1ビットシンボルであり、CBPは、関係するビデオデータブロックのセットのためのコード化ブロックフラグのセットである。
[0063]対応するブロック内に有効係数が存在しないことをコード化ブロックフラグが示す(たとえば、フラグが「0」に等しい)場合、ブロックのためのさらなる情報は符号化されなくてよい。しかしながら、対応するブロック内に少なくとも1つの有効係数が存在することをコード化ブロックフラグが示す(たとえば、フラグが「1」に等しい)場合、ブロックのSMが、ブロックに関連する係数走査順序に従うことによって符号化され得る。走査順序は、SM符号化の一部としてブロック内の各係数の有効性が符号化される順序を定義し得る。言い換えれば、走査は、係数の有効性を判断するために、係数の2次元ブロックを1次元表現に直列化し得る。様々な走査順序(たとえば、ジグザグ、水平、および、垂直)が使用され得る。同じく以下でより詳細に説明する図5A〜図5Cが、ビデオデータの8×8ブロックのための使用され得る様々な走査順序のうちのいくつかの例を示している。ただし、本開示の技法は、対角走査順序、ジグザグ、水平、垂直、および/または対角走査順序の組合せである走査順序、ならびに、部分的にジグザグであり、部分的に水平であり、部分的に垂直であり、および/または部分的に対角である走査順序を含む、多種多様な他の走査順序に対しても適用され得る。さらに、本開示の技法はまた、ビデオデータの前にコーディングされたブロック(たとえば、コーディングされている現在ブロックと同じブロックサイズまたはコーディングモードを有するブロック)に関連する統計値に基づいてそれ自体で適応的である走査順序を考慮し得る。たとえば、適応走査順序は、場合によっては、ブロックに関連する走査順序であり得る。
[0064]所与のブロック内に少なくとも1つの有効係数が存在することを示すコード化ブロックフラグと、ブロックの走査順序とを仮定すれば、ブロックのSMは以下のように符号化され得る。量子化変換係数の2次元ブロックは、最初に、走査順序を使用して1次元アレイにマッピングされ得る。アレイ中の各係数について、走査順序に従って、(たとえば、シンタックス要素「significant_coeff_flag」に対応する)1ビット有効係数フラグが符号化され得る。すなわち、アレイ中の各位置に2進値が割り当てられ得、この2進値は、対応する係数が有効である場合は「1」に設定され、対応する係数が非有効(すなわち、0)である場合は「0」に設定され得る。所与の有効係数フラグが、対応する係数が有効であることを示す「1」に等しい場合、対応する係数がアレイ内の(すなわち、走査順序を仮定すれば、ブロック内の)最後有効係数であるかどうかを示し得る、(たとえば、シンタックス要素「last_significant_coeff_flag」に対応する)追加の1ビット最後有効係数フラグも符号化され得る。特に、各最後有効係数フラグは、対応する係数がアレイ内の最後有効係数である場合は「1」に設定され、そうでない場合は「0」に設定され得る。このようにして最後アレイ位置に達し、SM符号化プロセスが、「1」に等しい最後有効係数フラグによって終了されなかった場合、アレイ(したがって、走査順序を仮定すれば、ブロック)中の最後係数は有効であると推測され得、最後アレイ位置について最後有効係数フラグは符号化されなくてよい。
[0065]図4B〜図4Cは、アレイ形式ではなくマップで提示された、図4Aに示すブロックのSMデータに対応する、有効係数フラグと最後有効係数フラグとのセットの例をそれぞれ示す概念図である。他の例では、上記で説明した有効係数フラグおよび最後有効係数フラグは異なる値に設定され得ることに留意されたい(たとえば、有効係数フラグは、対応する係数が有効である場合は「0」に設定され、対応する係数が非有効である場合は「1」に設定され得、最後有効係数フラグは、対応する係数が最後有効係数である場合は「0」に設定され、対応する係数が最後有効係数でない場合は「1」に設定され得る)。
[0066]SMが符号化された後に、上記で説明したように、ブロック中の各有効係数の値(すなわち、たとえば、それぞれシンタックス要素「coeff_abs_level_minus1」および「coeff_sign_flag」によって示される、各有効係数の大きさおよび符号)も符号化され得る。
[0067]いくつかの技法によれば、上記で説明したように、ビデオデータのブロックをコーディングするために、固定走査順序、たとえば、ジグザグ走査順序が使用され得る。他の技法によれば、ブロックをコーディングするために複数の走査順序が使用され得る。いくつかの例では、時間にわたって走査順序が適応され、所与の時間に係数の特定のブロックをコーディングするために現在適応されている走査順序が使用される、「適応係数走査」(ACS:adaptive coefficient scanning)が使用され得る。さらに他の技法では、ビデオエンコーダ20は、1つまたは複数の圧縮効率メトリックに基づいていくつかの走査順序をテストし、ブロックを符号化するために最良の走査順序を選択し得る。さらに、ビデオエンコーダ20は、(たとえば、ジグザグ走査順序ではインデックス0を、水平走査順序では1を、および垂直走査順序では2を使用して)いくつかの走査順序のうちのいずれか1つを表し得るACSインデックスを符号化することによってビデオデコーダ30に走査順序を示し得る。
[0068]いくつかの技法によれば、ビデオエンコーダ20は、最後有効係数が走査順序において(一般に「DC」位置と呼ばれるブロック内の左上位置に対応する)最初の位置にないときのみ、ACSインデックスを符号化し得る。以下でもより詳細に説明する図5および図6に示すように、すべての可能な走査順序はDC位置から開始し得るので、ブロック内の最後(唯一)有効係数がDC位置にある場合、ビデオデコーダ30は、ビデオエンコーダ20によって使用された走査順序の指示を必要としないので、ビデオエンコーダ20はこのようにしてACSインデックスを符号化し得る。
[0069]ブロック内の最後有効係数がDC位置にない場合、ビデオエンコーダ20は以下の方法でACSインデックスを符号化し得る。ビデオエンコーダ20は、走査順序がジグザグ走査順序(たとえば、bin1=「0」)であるか否(たとえば、bin1=「1」)かを示す第1の信号(たとえば、「bin1」)を符号化し得る。走査順序がジグザグ走査順序でない場合、ビデオエンコーダ20は、走査順序が水平走査順序であるか(たとえば、bin2=「0」)垂直走査順序であるか(たとえば、bin2=「1」)を示す第2の信号(たとえば、「bin2」)を符号化し得る。同様に、ビデオデコーダ30は、ACSインデックスを判断するために、第1の信号と第2の信号とを受信し、復号し得る。したがって、ACSインデックスを常にコーディングするのではなく、ビデオエンコーダ20および/またはビデオデコーダ30は、最後有効係数がDC位置にないときのみ、ACSインデックスをコーディングし得る。
[0070]前に説明したように、本開示の技法によれば、ビデオデータの特定のブロックのための最後有効係数位置情報は、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を使用してコーディングされ得る。いくつかの例では、x座標は、ブロック内の位置の列番号に対応し得、y座標は、ブロック内の位置の行番号に対応し得る。たとえば、行番号および列番号は、ブロック内の基準または「オリジン」位置、たとえば、DC位置に対応する行番号および列番号に関係し得る。したがって、これらの技法によれば、ビデオデータのブロックの最後有効係数位置情報は、前に説明したように、SMコーディングを使用するのではなく、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置のx座標およびy座標を明示的にコーディングすることによってコーディングされ得る。そのような技法によれば、x座標およびy座標は、ブロックのための残りのSMデータ(すなわち、有効係数フラグ、または有効係数位置情報)とは無関係にコーディングされ得る。たとえば、x座標およびy座標は、ブロックの有効係数位置情報をコーディングするより前にコーディングされ得る。
[0071]本開示の技法に一致するいくつかの例では、x座標およびy座標をコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。特に、統計値は、走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値(たとえば、「0」、「1」、「2」など)を備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、統計値を決定し、その統計値に基づいて、たとえば、コンテキスト適応型エントロピーコーディングを使用してx座標およびy座標をコーディングし得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの前にコーディングされたブロックの最後有効係数位置情報、たとえば、前にコーディングされたブロックのx座標およびy座標の値を使用して統計値を決定し得る。他の例では、ビデオエンコーダ20および/またはビデオデコーダ30は、それぞれの座標が特定の値を備える確率を反映するようにx座標およびy座標に基づいて統計値を更新し得る。前に説明したように、統計値は、ブロックをコーディングするためにどの走査順序が使用されるかに応じて変動し得る。
[0072]本開示の技法に一致する一例として、統計値に基づいてx座標およびy座標をコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、統計値を含む特定のコンテキストモデルを選択するために走査順序を使用し得る。すなわち、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックをコーディングするために特定の走査順序を使用するとき、x座標およびy座標をコーディングするために一意の統計値を選択し得る。
[0073]さらに、一方の座標(たとえば、y座標)が他方の座標(たとえば、x座標)の後にコーディングされる場合、ビデオエンコーダ20および/またはビデオデコーダ30は、コンテキストとして前にコーディングされた他方の座標の値を使用して座標をコーディングし得る。すなわち、x座標およびy座標のうち前にコーディングされた座標の値を使用して、他方の現在コーディングされている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによってx座標およびy座標をコーディングし得る。
[0074]本開示の技法に一致する別の例として、x座標およびy座標は、1つまたは複数のビット、または「ビン」のシーケンスを備える単項(unary)コードワードを使用してそれぞれ表され得る。言い換えれば、x座標およびy座標は「2値化」され得る。したがって、統計値に基づいてx座標およびy座標をコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンをコーディングし得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、たとえば、前に説明したように、前にコーディングされたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前にコーディングされたブロックのための対応するビン、たとえば、前にコーディングされたブロックのためのx座標およびy座標に対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、ビデオエンコーダ20および/またはビデオデコーダ30はまた、たとえば、前にも説明したように、x座標およびy座標に基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンをコーディングし得る。
[0075]上記で説明した技法の1つの欠点は、ビデオデータのブロックの最後有効係数位置情報をコーディングするとき、ビデオエンコーダ20および/またはビデオデコーダ30が、ブロックをコーディングするためにビデオエンコーダ20および/またはビデオデコーダ30によって使用される走査順序に応じて異なる統計値を使用し得ることである。言い換えれば、ビデオエンコーダ20および/またはビデオデコーダ30はそれぞれ、ブロックをコーディングするために複数の走査順序が使用されるとき、ビデオデータのブロックの最後有効係数位置情報をコーディングするために、統計値の複数のセットを決定し、保守(たとえば、更新)し得る。場合によっては、互いに対して対称的である走査順序のために決定され、保守される統計値のセットは、前に説明したように、同じまたは同様の情報を含み得る。これらの場合、統計値のセットを決定し、保守することにより、コーディングシステムリソースの非効率的な使用と、不要なコーディングシステム複雑さとがもたらされ得る。
[0076]上記で説明した技法の別の欠点は、ビデオエンコーダ20および/またはビデオデコーダ30が共通の統計値を使用してビデオデータのブロックの最後有効係数位置情報をコーディングするとき、ブロックをコーディングするために使用される走査順序にかかわらず、統計値が、走査順序ごとに個々に決定され、保守(たとえば、更新)された統計値ほど正確でないことがあることである。すなわち、共通の統計値は、ビデオデータの所与のブロックをコーディングするために使用される特定の走査順序のために個々に決定され、保守された統計値よりも不正確に、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の位置の確率を示し得る。これらの場合、共通の統計値を使用して最後有効係数位置情報をコーディングすることにより、コーディング効率が低減され得る。
[0077]上記で説明した技法のさらに別の欠点は、場合によっては、ビデオエンコーダ20および/またはビデオデコーダ30が、ビデオデータのブロック内の共通の位置、たとえば、DC位置において始まる複数の走査順序のうちの1つを使用してブロックをコーディングし得ることである。これらの場合、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置が共通の位置に対応するとき、共通の位置にある係数を超えてブロック内に他の有効係数はない。したがって、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロック内の最後有効係数の位置をコーディングする必要はない。言い換えれば、たとえば、前に説明したようにx座標およびy座標を使用して表される、全体としてブロックの最後有効係数位置情報をコーディングすることは、これはこの場合もコーディング効率が低減し得るので、この場合は必要でないことがある。
[0078]さらに、上記の例では、ブロック内の最後有効係数の位置が共通の位置に対応せず、ブロックの最後有効係数位置情報がそれの全体としてコーディングされなければならないとき、この情報は、場合によっては、正確でない統計値、たとえば、ブロックの最後有効係数位置情報と走査順序情報との間の前に説明した相関関係を利用しない統計値を使用してコーディングされ得、それにより、この場合もコーディング効率が低減し得る。
[0079]したがって、本開示では、他の技法に対してより効率的にビデオデータのブロックの最後有効係数位置情報をコーディングすることと、他のシステムに対してより少ない複雑さを有するコーディングシステムを使用することとを可能にし得る技法について説明する。一例として、最後有効係数位置情報は、ブロックをコーディングするために複数の走査順序のうちの1つが使用されるとき、共通の統計値を使用してこの情報をコーディングすることによって、たとえば、ブロックをコーディングするために使用される走査順序に応じて、この情報を示すx座標およびy座標ならびに交換されたx座標およびy座標をコーディングすることによって、他のシステムに対してより少ない複雑さを有するコーディングシステムを使用してコーディングされ得る。この例によれば、最後有効係数位置情報はまた、x座標およびy座標と、交換されたx座標およびy座標とに基づいて共通の統計値を更新し、それによってより正確な統計値を生じることにより、より効率的にコーディングされ得る。別の例として、最後有効係数位置情報は、必要な程度まで、増分的にこの情報をコーディングすること、および、全体としてこの情報をコーディングするときに走査順序に基づいてそのように行うこと、たとえば、コンテキストとして走査順序を使用することにより、より効率的にコーディングされ得る。
[0080]いくつかの例では、ソースデバイス12のビデオエンコーダ20は、ビデオデータのいくつかのブロック(たとえば、1つまたは複数のマクロブロック、あるいはCUのTU)を符号化するように構成され得、宛先デバイス14のビデオデコーダ30は、ビデオエンコーダ20から、たとえば、モデム28および受信機26から、符号化されたビデオデータを受信するように構成され得る。本開示の技法によれば、一例として、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの特定のブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標をコーディングするように構成され得る。ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序が第2の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標をコーディングするように構成され得る。たとえば、第2の走査順序は、第1の走査順序とは異なり得る。
[0081]この例では、第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得る。たとえば、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得、水平走査順序と垂直走査順序とは、ブロック内の共通の位置において始まる。たとえば、共通の位置は、前に説明したように、DC位置であり得る。
[0082]この例では、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、x座標およびy座標の各々が所与の値を備える確率を示す統計値を決定するように構成され得、x座標およびy座標と、交換されたx座標およびy座標とをコーディングすることは、この統計値に基づいてコーディングすることを備える。たとえば、x座標が所与の値を備える確率は、x座標と、交換されたy座標とをコーディングするために使用され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とをコーディングするために使用され得る。ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新するように構成され得る。たとえば、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを使用して更新され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを使用して更新され得る。
[0083]一例として、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオエンコーダ20および/またはビデオデコーダ30が少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行するように構成され得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。
[0084]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序が第3の走査順序を備えるとき、x座標およびy座標をコーディングするように構成され得ることに留意されたい。たとえば、第3の走査順序は、第1の走査順序および第2の走査順序とは異なり得る。一例として、第3の走査順序は、ジグザグ走査順序、または対角走査順序であり得、ジグザグ走査順序または対角走査順序はまた、ブロック内の共通の位置、たとえば、DC位置において始まる。
[0085]この例では、場合によっては、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報をコーディングするように構成され得る。さらに、場合によっては、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、ブロック内の他の有効係数の位置を識別する情報、すなわち、ブロックの有効係数位置情報をコーディングするように構成され得る。
[0086]別の例として、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの特定のブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標をコーディングするように構成され得る。たとえば、走査順序は、複数の走査順序のうちの1つであり得、複数の走査順序の各々は、ブロック内の共通の位置、たとえば、DC位置において始まる。
[0087]この例では、x座標およびy座標をコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、x座標が共通の位置に対応するかどうかを示す情報をコーディングすることと、y座標が共通の位置に対応するかどうかを示す情報をコーディングすることと、x座標が共通の位置に対応せず、y座標が共通の位置に対応しない場合、走査順序を識別する情報をコーディングすることとを行うように構成され得る。ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、x座標が共通の位置に対応しない場合、走査順序に基づいてx座標をコーディングすることと、y座標が共通の位置に対応しない場合、走査順序に基づいてy座標をコーディングすることとを行うように構成され得る。
[0088]この例では、走査順序に基づいてx座標およびy座標をコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオエンコーダ20および/またはビデオデコーダ30が少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行するように構成され得る。たとえば、少なくとも1つのコンテキストは走査順序を含み得る。
[0089]いずれの場合も、上記で説明した方法で、ブロックの最後有効係数位置情報、ならびに、場合によっては、走査順序情報および有効係数位置情報、すなわち、SMデータをコーディングした後に、ビデオエンコーダ20および/またはビデオデコーダ30はまた、ブロック内の各有効係数の値(たとえば、それぞれシンタックス要素「coeff_abs_level_minus1」および「coeff_sign_flag」によって示される、各有効係数の大きさおよび符号(sign))をコーディングし得る。
[0090]したがって、本開示の技法により、ビデオエンコーダ20および/またはビデオデコーダ30は、他の方法を使用したときよりも効率的にブロックの最後有効係数位置情報をコーディングすることが可能になり得、ビデオエンコーダ20および/またはビデオデコーダ30は、他のシステムに対してより少ない複雑さを有することが可能になり得る。このようにして、本開示の技法を使用すると、最後有効係数位置情報を含むコード化ビットストリームの相対的ビット節約と、この情報をコーディングするために使用されるビデオエンコーダ20および/またはビデオデコーダ30の複雑さの相対的低減とが存在し得る。
[0091]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
[0092]図2は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的に符号化するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、マクロブロック、CU、およびそれのパーティションまたはサブパーティションを含む、ビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラ(I)モードは、いくつかの空間ベースの圧縮モードのいずれかを指し、単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
[0093]図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内のビデオデータの現在ブロックを受信する。図2の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、メモリ64と、加算器50と、変換モジュール52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換モジュール60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。
[0094]符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対して所与の受信ビデオブロックのインター予測コーディングを実行し得る。イントラ予測モジュール46は、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して所与の受信ビデオブロックのイントラ予測コーディングを実行し得る。
[0095]モード選択ユニット40は、コーディング結果(たとえば、得られたコーディングレートおよびひずみレベル)に基づいて、ならびにコーディングされている所与の受信ブロックを含むフレームまたはスライスのためのフレームまたはスライスタイプに基づいて、コーディングモードのうちの1つ、すなわち、1つのモードあるいは複数のイントラまたはインターコーディングモードを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器50に与え、参照フレームまたは参照スライス中で使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器62に与え得る。概して、イントラ予測は、隣接する、前にコーディングされたブロックに対して現在ブロックを予測することを伴い、一方、インター予測は、現在ブロックを時間的に予測するために、動き推定および動き補償を伴う。
[0096]動き推定ユニット42および動き補償ユニット44は、ビデオエンコーダ20のインター予測要素を表す。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在フレーム(または他のコード化ユニット)内でコーディングされている現在ブロックに対する予測参照フレーム(または他のコード化ユニット)内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、ブロックのパーティションの変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。
[0097]動き推定ユニット42は、ビデオブロックをメモリ64中の参照フレームのビデオブロックと比較することによってインターコード化フレームのビデオブロックの動きベクトルを計算し得る。動き補償ユニット44はまた、この比較のために、参照フレーム、たとえば、IフレームまたはPフレームのサブ整数ピクセルを補間し得る。一例として、ITU H.264規格には、符号化されている現在フレームよりも前の表示順序を有する参照フレームを含むリスト0、および符号化されている現在フレームよりも後の表示順序を有する参照フレームを含むリスト1という2つのリストが記載されている。したがって、メモリ64に記憶されるデータは、これらのリストに従って編成され得る。
[0098]動き推定ユニット42は、メモリ64からの1つまたは複数の参照フレームのブロックを、現在フレーム、たとえば、PフレームまたはBフレームの符号化されるべきブロックと比較し得る。メモリ64中の参照フレームがサブ整数ピクセルの値を含むとき、動き推定ユニット42によって計算される動きベクトルは参照フレームのサブ整数ピクセルロケーションを参照し得る。動き推定ユニット42および/または動き補償ユニット44はまた、サブ整数ピクセル位置の値がメモリ64に記憶されていない場合、メモリ64に記憶された参照フレームのサブ整数ピクセル位置の値を計算するように構成され得る。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送り得る。動きベクトルによって識別される参照フレームブロックは、インター予測ブロック、または、より一般的に、予測ブロックと呼ばれることがある。動き補償ユニット44は、予測ブロックに基づいて予測データを計算し得る。
[0099]イントラ予測モジュール46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測モジュール46は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測モジュール46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測モジュール46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測モジュール46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化されたブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測モジュール46は、どのイントラ予測モードがブロックにとって最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックについてのひずみおよびレートから比を計算し得る。
[0100]たとえば、イントラ予測またはインター予測を使用して、現在ブロックを予測した後、ビデオエンコーダ20は、コーディングされている元のビデオブロックから、動き補償ユニット44またはイントラ予測モジュール46によって計算された予測データを減算することによって残差ビデオブロックを形成し得る。加算器50は、この減算演算を実行し得る1つまたは複数の構成要素を表す。変換モジュール52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成し得る。変換モジュール52は、概念的にDCTと同様である、H.264規格によって定義された変換など、他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換モジュール52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成し得る。変換は、残差情報をピクセル領域から周波数領域などの変換領域に変換し得る。量子化ユニット54は、ビットレートをさらに低減するために残差変換係数を量子化し得る。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。
[0101]量子化の後に、エントロピー符号化ユニット56は、CAVLC、CABAC、PIPEまたは別のエントロピーコーディング技法を含み得る、量子化変換係数をエントロピー符号化し得る。エントロピー符号化ユニット56によるエントロピーコーディングの後に、符号化されたビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
[0102]場合によっては、エントロピー符号化ユニット56またはビデオエンコーダ20の別のユニットは、上記で説明したように量子化変換係数をエントロピーコーディングすることに加えて、他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット56は、符号化されたビデオビットストリーム中で送信するための適切なシンタックス要素とともに、ブロック(たとえば、マクロブロック、CU、またはLCU)、あるいはブロックを含んでいるビデオフレームのためのヘッダ情報を構築し得る。いくつかのコーディング規格によれば、そのようなシンタックス要素は、前に説明したように、ブロック(たとえば、マクロブロック、またはCUのTU)の最後有効係数位置情報を含み得る。前にも説明したように、最後有効係数位置情報は、非効率的にコーディングされた場合、全体的な圧縮ビデオビットレートの高い割合を消費し得る。したがって、本開示では、他の方法を使用したときよりも効率的にブロックの最後有効係数位置情報をコーディングすることを可能にし得る技法について説明する。さらに、本開示では、ブロックの最後有効係数位置情報をコーディングするとき、他のシステムに対してより少ない複雑さを有するコーディングシステムを使用することについて説明する。
[0103]いくつかの例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、ビデオデータのいくつかのブロック(たとえば、1つまたは複数のマクロブロック、またはCUのTU)を符号化するように構成され得る。本開示の技法によれば、一例として、エントロピー符号化ユニット56は、ビデオデータの特定のブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を符号化するように構成され得る。エントロピー符号化ユニット56は、さらに、走査順序が第2の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標を符号化するように構成され得る。たとえば、第2の走査順序は、第1の走査順序とは異なり得る。
[0104]この例では、第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得る。たとえば、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得、水平走査順序と垂直走査順序とは、ブロック内の共通の位置、たとえば、DC位置において始まる。
[0105]特に、第1の走査順序および第2の走査順序はそれぞれ、エントロピー符号化ユニット56によってブロックを符号化するために使用され得る走査順序であり得る。たとえば、第1の走査順序および第2の走査順序は、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内で、ビデオエンコーダ20によってビデオデータのブロックを符号化するために使用され、ビデオデコーダ30によってブロックを復号するために使用される走査順序であり得る。いくつかの例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される走査順序のうちのいくつかのみであり得る。他の例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される唯一の走査順序であり得る。
[0106]さらに、また、交換されたx座標およびy座標は、ブロックの最後有効係数位置情報に対応するが、前に説明したように、他の技法を使用したときよりも効率的にこの情報を符号化することを可能にするために、エントロピー符号化ユニット56によってさらに処理される、すなわち、交換される。特に、交換されたx座標およびy座標により、前にも説明したように、ブロックの最後有効係数位置情報を示す、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために共通の統計値を使用することが可能になり得る。
[0107]この例では、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、さらに、x座標およびy座標の各々が所与の値を備える確率を示す統計値を決定するように構成され得、x座標およびy座標と、交換されたx座標およびy座標とを符号化することは、この統計値に基づいて符号化することを備える。たとえば、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを符号化するために使用され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを符号化するために使用され得る。
[0108]概して、統計値は、走査順序が第1の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示し得る。特に、統計値は、走査順序が第1の走査順序を備えるときに走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値(たとえば、「0」、「1」、「2」など)を備える確率を示し得る。
[0109]前に説明したように、第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、統計値は、交換されたx座標およびy座標の各々が所与の値を備える確率をさらに示し得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックの最後有効係数位置情報、たとえば、前に符号化されたブロックのx座標およびy座標ならびに交換されたx座標およびy座標の値を使用して統計値を決定し得る。
[0110]エントロピー符号化ユニット56は、x座標が所与の値を備える確率が、x座標と、交換されたy座標とを使用して更新され、y座標が所与の値を備える確率が、y座標と、交換されたx座標とを使用して更新されるように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新するようにさらに構成され得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で符号化されるブロックの最後有効係数位置情報を符号化するために使用され得る。
[0111]一例として、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、エントロピー符号化ユニット56が少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行するように構成され得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。前述のように、CABACに加えて、コーディングのためにx座標およびy座標を交換することについて説明する技法は、CAVLC、PIPE、または他のコンテキスト適応型エントロピーコーディング技法など、他のコンテキスト適応型エントロピーコーディング技法においても使用され得る。
[0112]この例では、エントロピー符号化ユニット56は、走査順序、たとえば、水平走査順序または垂直走査順序を使用して、統計値を含む特定のコンテキストモデルを選択し得る。すなわち、エントロピー符号化ユニット56は、ブロックを符号化するために第1の走査順序を使用するときにx座標およびy座標を符号化することと、ブロックを符号化するために第2の走査順序を使用するときに交換されたx座標およびy座標を符号化することとのために同じ統計値を選択し得る。さらに、ある座標(たとえば、y座標)が別の座標(たとえば、x座標)の後に符号化される場合、エントロピー符号化ユニット56は、コンテキストとして他方の前に符号化された座標の値を使用して座標を符号化し得る。すなわち、ブロックを符号化するために使用される走査順序に応じた、x座標およびy座標、または交換されたx座標およびy座標のうち前に符号化された座標の値を使用して、他方の現在符号化されている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。エントロピー符号化ユニット56は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とを符号化し得る。
[0113]前にも説明したように、この例では、x座標およびy座標と、交換されたx座標およびy座標とは、1つまたは複数のビンのシーケンスを備える単項(unary)コードワードを使用してそれぞれ表され得る、すなわち、「2値化」され得る。したがって、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを符号化し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、たとえば、前に説明したように、前に符号化されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に符号化されたブロックのための対応するビン、たとえば、前に符号化されたブロックのためのx座標およびy座標と、交換されたx座標およびy座標とに対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、たとえば、前にも説明したように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー符号化ユニット56は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを符号化し得る。
[0114]別の例として、場合によっては、一方の(たとえば、x)座標のための単項コードワードのビンの値が異なると、他方の(たとえば、y)座標のための単項コードワードの対応するビンの確率推定値が異なり得る。したがって、上記で説明したように、一方の座標のための単項コードワードのビンに対応する確率推定値を使用してそのビンを符号化するときに、他方の座標のための単項コードワードのビン、たとえば、対応するビンの値に関する情報を含む確率推定値を使用すると、確率推定値が正確になり得、したがって、効率的な符号化が可能になり得る。たとえば、他方の座標のための単項コードワードのビンは、一方の座標のための単項コードワードのビンに対応するビンであり得、たとえば、ビンは、それらのそれぞれのコードワード内の同じまたは同様のビン位置にあり得る。コンテキストとして前に符号化されたビンを使用して、この「インターリーブ」式に、x座標およびy座標、ならびに交換されたx座標およびy座標(または、一般に、ビデオデータのブロックの最後有効係数位置情報を示すx座標およびy座標)を符号化することにより、それぞれのx座標およびy座標の相互情報を使用することが可能になり得、それにより、座標をより効率的に符号化することが可能になり得る。
[0115]他の例では、エントロピー符号化ユニット56は、概して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを符号化するように構成され得る。いくつかの例では、エントロピー符号化ユニット56は、インターリーブ式に、それぞれのx座標およびy座標のためのコードワードの個々のビンを符号化するように構成され得る。他の例では、エントロピー符号化ユニット56は、インターリーブ式に、コードワードのビンのグループを符号化するように構成され得る。たとえば、x座標およびy座標の各々のためのコードワードのいくつかのビンは、第1のコーディングモード(たとえば、標準コーディングモード)を使用して符号化され得、コードワードの残りのビンは、第2のコーディングモード(たとえば、バイパスコーディングモード)を使用して符号化され得る。したがって、エントロピー符号化ユニット56は、第1の(たとえば、標準)コーディングモードを使用してコーディングされる他方の座標に対応するコードワードの1つまたは複数のビンを符号化するより前に、第1のコーディングモードを使用してコーディングされる座標のうちの1つに対応するコードワードの1つまたは複数のビンを符号化し、その後、第2の(たとえば、バイパス)コーディングモードを使用してコーディングされる他方の座標に対応するコードワードの1つまたは複数のビンを符号化するより前に、第2のコーディングモードを使用してコーディングされる一方の座標に対応するコードワードの1つまたは複数のビンを符号化するように構成され得る。他の例では、エントロピー符号化ユニット56は、一緒に第2のコーディングモードを使用してコーディングされるコードワードのビンを符号化するように構成され得る。
[0116]したがって、上記で説明した方法でx座標およびy座標の各々のためのコードワードのビンの符号化を分離することにより、一緒に特定のコーディングモード(たとえば、バイパスモード)を使用して符号化されるビンをグループ化することが可能になり得、それによってコーディングスループットが改善され得る。
[0117]言い換えれば、x座標およびy座標と、交換されたx座標およびy座標との各々が、1つまたは複数のビンのシーケンスを備える場合、エントロピー符号化ユニット56は、x座標およびy座標と、交換されたx座標およびy座標とのうちの1つに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とを符号化するように構成され得る。エントロピー符号化ユニット56は、他方の座標に対応するシーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを符号化することによって、それぞれのx座標およびy座標を符号化するように構成され得る。さらに、エントロピー符号化ユニット56は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを符号化するように構成され得る。
[0118]したがって、最後有効係数位置情報を符号化するために、エントロピー符号化ユニット56は、コンテキストとして前に符号化されたビンを使用して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを符号化するように構成され得る。すなわち、エントロピー符号化ユニット56は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行することによって所与の座標のための単項コードワードの各ビンを符号化するように構成され得、少なくとも1つのコンテキストは、前に説明したように、単項コードワード内のビンの位置と、他方の座標のための単項コードワードの1つまたは複数の前に符号化されたビンの値とを含み得る。さらに、エントロピー符号化ユニット56は、概して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを符号化するように構成され得る。
[0119]本開示の技法に一致する他の例では、他のタイプのコードワード、たとえば、短縮単項(truncated unary)コードワード、指数ゴロムコードワード、連結コードワード、ならびに様々なコーディング技法の組合せが使用され得ることに留意されたい。
[0120]また、いくつかの例では、エントロピー符号化ユニット56は、さらに、走査順序が第3の走査順序を備えるとき、x座標およびy座標を符号化するように構成され得ることに留意されたい。たとえば、第3の走査順序は、第1の走査順序および第2の走査順序とは異なり得る。一例として、第3の走査順序は、ジグザグ走査順序、または対角走査順序であり得、ジグザグ走査順序または対角走査順序はまた、ブロック内の共通の位置、たとえば、DC位置において始まる。
[0121]この例では、エントロピー符号化ユニット56は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を符号化するように構成され得る。代替的に、前に説明したように、エントロピー符号化ユニット56は、エントロピー符号化ユニット56がブロックを符号化するために適応走査順序を使用するとき、ブロックの走査順序情報を符号化することを省略し得る。さらに、場合によっては、エントロピー符号化ユニット56は、さらに、ブロック内のすべての他の有効係数の位置を識別する情報、すなわち、ブロックの有効係数位置情報を符号化するように構成され得る。
[0122]たとえば、ブロックの有効係数位置情報は、前に説明したように、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行することによってシーケンスの各有効係数フラグを符号化することによって符号化され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。
[0123]コンテキストモデルは、各フラグが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で符号化されるブロックの有効係数位置情報を符号化するために使用され得る。
[0124]別の例として、エントロピー符号化ユニット56は、ビデオデータの特定のブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を符号化するように構成され得る。たとえば、走査順序は、複数の走査順序のうちの1つであり得、複数の走査順序の各々は、ブロック内の共通の位置、たとえば、DC位置において始まる。
[0125]この例では、x座標およびy座標を符号化するために、エントロピー符号化ユニット56は、x座標が共通の位置に対応するかどうかを示す情報を符号化することと、y座標が共通の位置に対応するかどうかを示す情報を符号化することと、x座標が共通の位置に対応せず、y座標が共通の位置に対応しない場合、走査順序を識別する情報を符号化することとを行うように構成され得る。エントロピー符号化ユニット56は、さらに、x座標が共通の位置に対応しない場合、走査順序に基づいてx座標を符号化することと、y座標が共通の位置に対応しない場合、走査順序に基づいてy座標を符号化することとを行うように構成され得る。
[0126]この例では、走査順序に基づいてx座標およびy座標を符号化するために、エントロピー符号化ユニット56は、エントロピー符号化ユニット56が少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行するように構成され得る。たとえば、少なくとも1つのコンテキストは走査順序を含み得る。
[0127]さらに、一例として、エントロピー符号化ユニット56は、ある座標(たとえば、y座標)を別の座標(たとえば、x座標)の後に符号化するように構成され得、エントロピー符号化ユニット56は、コンテキストとして他方の前に符号化された座標の値を使用して一方の座標を符号化するように構成され得る。x座標およびy座標の各々が1つまたは複数のビンのシーケンスを備える別の例として、エントロピー符号化ユニット56は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを符号化するように構成され得る。さらに、エントロピー符号化ユニット56は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを符号化するように構成され得る。
[0128]いずれの場合も、上記で説明した方法で、ブロックの最後有効係数位置情報、ならびに、場合によっては、走査順序情報および有効係数位置情報、すなわち、SMデータを符号化した後に、エントロピー符号化ユニット56はまた、ブロック内の各有効係数の値(たとえば、それぞれシンタックス要素「coeff_abs_level_minus1」および「coeff_sign_flag」によって示される、各有効係数の大きさおよび符号(sign))を符号化し得る。
[0129]したがって、本開示の技法により、エントロピー符号化ユニット56は、他の方法を使用したときよりも効率的にブロックの最後有効係数位置情報を符号化することが可能になり得、エントロピー符号化ユニット56は、他のシステムに対してより少ない複雑さを有することが可能になり得る。このようにして、本開示の技法を使用すると、最後有効係数位置情報を含むコード化ビットストリームの相対的ビット節約と、この情報を符号化するために使用されるエントロピー符号化ユニット56の複雑さの相対的低減とが存在し得る。
[0130]逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックをメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、メモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0131]このように、ビデオエンコーダ20は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングするように構成されたビデオコーダの一例を表す。
[0132]図3は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて符号化された最後有効係数位置情報を効率的に復号するための技法を実装し得るビデオデコーダ30の一例を示すブロック図。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測モジュール74と、逆量子化ユニット76と、逆変換ユニット78と、メモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得る。
[0133]いくつかの例では、ビデオデコーダ30は、ビデオエンコーダ20から符号化ビデオデータ(たとえば、1つまたは複数のマクロブロック、あるいはCUのTU)を受信するように構成され得る。本開示の技法によれば、一例として、エントロピー復号ユニット70は、ビデオデータの特定のブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を復号するように構成され得る。エントロピー復号ユニット70は、さらに、走査順序が第2の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標を復号するように構成され得る。たとえば、第2の走査順序は、第1の走査順序とは異なり得る。
[0134]この例では、第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得る。たとえば、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得、水平走査順序と垂直走査順序とは、ブロック内の共通の位置、たとえば、DC位置において始まる。
[0135]特に、第1の走査順序および第2の走査順序はそれぞれ、エントロピー復号ユニット70によってブロックを復号するために使用され得る走査順序であり得る。たとえば、第1の走査順序および第2の走査順序は、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内で、ビデオエンコーダ20によってビデオデータのブロックを符号化するために使用され、ビデオデコーダ30によってブロックを復号するために使用される走査順序であり得る。いくつかの例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される走査順序のうちのいくつかのみであり得る。他の例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される唯一の走査順序であり得る。
[0136]さらに、また、交換されたx座標およびy座標は、ブロックの最後有効係数位置情報に対応するが、前に説明したように、他の技法を使用したときよりも効率的にこの情報を復号することを可能にするために、エントロピー復号ユニット70によってさらに処理される、すなわち、交換される。特に、交換されたx座標およびy座標により、前にも説明したように、ブロックの最後有効係数位置情報を示す、x座標およびy座標と、交換されたx座標およびy座標とを復号するために共通の統計値を使用することが可能になり得る。
[0137]この例では、x座標およびy座標と、交換されたx座標およびy座標とを復号するために、エントロピー復号ユニット70は、さらに、x座標およびy座標の各々が所与の値を備える確率を示す統計値を決定するように構成され得、x座標およびy座標と、交換されたx座標およびy座標とを復号することは、この統計値に基づいて復号することを備える。たとえば、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを復号するために使用され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを復号するために使用され得る。
[0138]概して、統計値は、走査順序が第1の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示し得る。特に、統計値は、走査順序が第1の走査順序を備えるときに走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値(たとえば、「0」、「1」、「2」など)を備える確率を示し得る。
[0139]前に説明したように、第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、統計値は、交換されたx座標およびy座標の各々が所与の値を備える確率をさらに示し得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックの最後有効係数位置情報、たとえば、前に復号されたブロックのx座標およびy座標ならびに交換されたx座標およびy座標の値を使用して統計値を決定し得る。
[0140]エントロピー復号ユニット70は、さらに、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新するように構成され得る。たとえば、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを使用して更新され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを使用して更新され得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で復号されるブロックの最後有効係数位置情報を復号するために使用され得る。
[0141]一例として、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを復号するために、エントロピー復号ユニット70は、エントロピー復号ユニット70が少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行するように構成され得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。前述のように、CABACに加えて、コーディングのためにx座標およびy座標を交換することについて説明する技法は、CAVLC、PIPE、または他のコンテキスト適応型技法など、他のコンテキスト適応型コーディング技法においても使用され得る。
[0142]この例では、エントロピー復号ユニット70は、走査順序、たとえば、水平走査順序または垂直走査順序を使用して、統計値を含む特定のコンテキストモデルを選択し得る。すなわち、エントロピー復号ユニット70は、ブロックを復号するために第1の走査順序を使用するときにx座標およびy座標を復号することと、ブロックを復号するために第2の走査順序を使用するときに交換されたx座標およびy座標を復号することとのために同じ統計値を選択し得る。さらに、ある座標(たとえば、y座標)が別の座標(たとえば、x座標)の後に復号される場合、エントロピー復号ユニット70は、コンテキストとして前に復号された別の座標の値を使用して座標を復号し得る。すなわち、ブロックを復号するために使用される走査順序に応じた、x座標およびy座標、または交換されたx座標およびy座標のうち前に復号された座標の値を使用して、他方の現在復号されている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。エントロピー復号ユニット70は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とを復号し得る。
[0143]前にも説明したように、この例では、x座標およびy座標と、交換されたx座標およびy座標とは、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、「2値化」され得る。したがって、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを復号するために、エントロピー復号ユニット70は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを復号し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、たとえば、前に説明したように、前に復号されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に復号されたブロックのための対応するビン、たとえば、前に復号されたブロックのためのx座標およびy座標と、交換されたx座標およびy座標とに対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、たとえば、前にも説明したように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー復号ユニット70は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを復号し得る。
[0144]別の例として、場合によっては、一方の(たとえば、x)座標のための単項コードワードのビンの値が異なると、他方の(たとえば、y)座標のための単項コードワードの対応するビンの確率推定値が異なり得る。したがって、上記で説明したように、一方の座標のための単項コードワードのビンに対応する確率推定値を使用してそのビンを復号するときに、他方の座標のための単項コードワードのビン、たとえば、対応するビンの値に関する情報を含む確率推定値を使用すると、確率推定値が正確になり得、したがって、効率的な復号が可能になり得る。たとえば、他方の座標のための単項コードワードのビンは、一方の座標のための単項コードワードのビンに対応するビンであり得、たとえば、ビンは、それらのそれぞれのコードワード内の同じまたは同様のビン位置にあり得る。
[0145]コンテキストとして前に復号されたビンを使用して、この「インターリーブ」式に、x座標およびy座標、ならびに交換されたx座標およびy座標(または、一般に、ビデオデータのブロックの最後有効係数位置情報を示すx座標およびy座標)を復号することにより、それぞれのx座標およびy座標の相互情報を使用することが可能になり得、それにより、座標をより効率的に復号することが可能になり得る。
[0146]他の例では、エントロピー復号ユニット70は、概して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを復号するように構成され得る。いくつかの例では、エントロピー復号ユニット70は、インターリーブ式に、それぞれのx座標およびy座標のためのコードワードの個々のビンを復号するように構成され得る。他の例では、エントロピー復号ユニット70は、インターリーブ式に、コードワードのビンのグループを復号するように構成され得る。たとえば、x座標およびy座標の各々のためのコードワードのいくつかのビンは、第1のコーディングモード(たとえば、標準コーディングモード)を使用して復号され得、コードワードの残りのビンは、第2のコーディングモード(たとえば、バイパスコーディングモード)を使用して復号され得る。したがって、エントロピー復号ユニット70は、第1の(たとえば、標準)コーディングモードを使用してコーディングされる他方の座標に対応するコードワードの1つまたは複数のビンを復号するより前に、第1のコーディングモードを使用してコーディングされる座標のうちの1つに対応するコードワードの1つまたは複数のビンを復号し、その後、第2の(たとえば、バイパス)コーディングモードを使用してコーディングされる他方の座標に対応するコードワードの1つまたは複数のビンを復号するより前に、第2のコーディングモードを使用してコーディングされる一方の座標に対応するコードワードの1つまたは複数のビンを復号するように構成され得る。他の例では、エントロピー復号ユニット70は、一緒に第2のコーディングモードを使用してコーディングされるコードワードのビンを復号するように構成され得る。
[0147]したがって、上記で説明した方法でx座標およびy座標の各々のためのコードワードのビンの復号を分離することにより、一緒に特定のコーディングモード(たとえば、バイパスモード)を使用して復号されるビンをグループ化することが可能になり得、それによってコーディング効率も改善され得る。
[0148]言い換えれば、x座標およびy座標と、交換されたx座標およびy座標との各々が、1つまたは複数のビンのシーケンスを備える場合、エントロピー復号ユニット70は、x座標およびy座標と、交換されたx座標およびy座標とのうちの1つに基づく統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とを復号するように構成され得る。エントロピー復号ユニット70は、他方の座標に対応するシーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを復号することにより、それぞれのx座標およびy座標を復号するように構成され得る。さらに、エントロピー復号ユニット70は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを復号するように構成され得る。
[0149]したがって、最後有効係数位置情報を復号するために、エントロピー復号ユニット70は、コンテキストとして前に復号されたビンを使用して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを復号するように構成され得る。すなわち、エントロピー復号ユニット70は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行することによって所与の座標のための単項コードワードの各ビンを復号するように構成され得、少なくとも1つのコンテキストは、前に説明したように、単項コードワード内のビンの位置と、他方の座標のための単項コードワードの1つまたは複数の前に復号されたビンの値とを含み得る。さらに、エントロピー符号化ユニット56は、概して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを符号化するように構成され得る。
[0150]本開示の技法に一致する他の例では、他のタイプのコードワード、たとえば、短縮単項コードワード、指数ゴロムコードワード、連結コードワード、ならびに様々なコーディング技法の組合せが使用され得ることに留意されたい。
[0151]また、いくつかの例では、エントロピー復号ユニット70は、さらに、走査順序が第3の走査順序を備えるとき、x座標およびy座標を復号するように構成され得ることに留意されたい。たとえば、第3の走査順序は、第1の走査順序および第2の走査順序とは異なり得る。一例として、第3の走査順序は、ジグザグ走査順序、または対角走査順序であり得、ジグザグ走査順序または対角走査順序はまた、ブロック内の共通の位置、たとえば、DC位置において始まる。
[0152]この例では、場合によっては、エントロピー復号ユニット70は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を復号するように構成され得る。代替的に、前に説明したように、エントロピー復号ユニット70は、エントロピー復号ユニット70がブロックを復号するために適応走査順序を使用するとき、ブロックの走査順序情報を復号することを省略し得る。さらに、場合によっては、エントロピー復号ユニット70は、さらに、ブロック内の他の有効係数の位置を識別する情報、すなわち、ブロックの有効係数位置情報を復号するように構成され得る。
[0153]たとえば、ブロックの有効係数位置情報は、前に説明したように、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行することによってシーケンスの各有効係数フラグを復号することにより復号され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。
[0154]この場合も、コンテキストモデルは、各フラグが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で復号されるブロックの有効係数位置情報を復号するために使用され得る。
[0155]別の例として、エントロピー復号ユニット70は、ビデオデータの特定のブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を復号するように構成され得る。たとえば、走査順序は、複数の走査順序のうちの1つであり得、複数の走査順序の各々は、ブロック内の共通の位置、たとえば、DC位置において始まる。
[0156]この例では、x座標およびy座標を復号するために、エントロピー復号ユニット70は、x座標が共通の位置に対応するかどうかを示す情報を復号することと、y座標が共通の位置に対応するかどうかを示す情報を復号することと、x座標が共通の位置に対応せず、y座標が共通の位置に対応しない場合、走査順序を識別する情報を復号することとを行うように構成され得る。エントロピー復号ユニット70は、さらに、x座標が共通の位置に対応しない場合、走査順序に基づいてx座標を復号することと、y座標が共通の位置に対応しない場合、走査順序に基づいてy座標を復号することとを行うように構成され得る。
[0157]この例では、走査順序に基づいてx座標およびy座標を復号するために、エントロピー復号ユニット70は、エントロピー復号ユニット70が少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行するように構成され得る。たとえば、少なくとも1つのコンテキストは走査順序を含み得る。
[0158]さらに、一例として、エントロピー復号ユニット70は、一方の座標(たとえば、y座標)を他方の座標(たとえば、x座標)の後に復号するように構成され得、エントロピー復号ユニット70は、コンテキストとして前に復号された当該他方の座標の値を使用して当該一方の座標を復号するように構成され得る。x座標およびy座標の各々が1つまたは複数のビンのシーケンスを備える別の例として、エントロピー復号ユニット70は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することにより、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを復号するように構成され得る。さらに、エントロピー復号ユニット70は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを復号するように構成され得る。
[0159]いずれの場合も、上記で説明した方法で、ブロックの最後有効係数位置情報、ならびに、場合によっては、走査順序情報および有効係数位置情報、すなわち、SMデータを復号した後に、エントロピー復号ユニット70はまた、ブロック内の各有効係数の値(たとえば、それぞれシンタックス要素「coeff_abs_level_minus1」および「coeff_sign_flag」によって示される、各有効係数の大きさおよび符号)を復号し得る。
[0160]したがって、本開示の技法により、エントロピー復号ユニット70は、他の方法を使用したときよりも効率的にブロックの最後有効係数位置情報を復号することが可能になり得、エントロピー復号ユニット70は、他のシステムに対してより少ない複雑さを有することが可能になり得る。このようにして、本開示の技法を使用すると、最後有効係数位置情報を含むコード化ビットストリームの相対的ビット節約と、この情報を復号するために使用されるエントロピー復号ユニット70の複雑さの相対的低減とが存在し得る。
[0161]動き補償ユニット72は、ビットストリーム中で受信された動きベクトルを使用して、メモリ82中の参照フレーム中の予測ブロックを識別し得る。イントラ予測モジュール74は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。
[0162]イントラ予測モジュール74は、たとえば、隣接する、前に復号されたブロックのピクセルを使用して、符号化ブロックをイントラ予測するために符号化ブロックのイントラ予測モードの指示を使用し得る。ブロックがインター予測モード符号化される例では、動き補償ユニット72は、符号化ブロックについての動き補償予測データを取り出すために、動きベクトルを定義する情報を受信し得る。いずれの場合も、動き補償ユニット72またはイントラ予測モジュール74は、予測ブロックを定義する情報を加算器80に与え得る。
[0163]逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化ブロック係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、たとえば、H.264復号規格によって定義される、またはHEVCテストモデルによって実行されるなど、従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、各ブロックについてビデオエンコーダ20によって計算される量子化パラメータQPYの使用を含み得る。
[0164]逆変換モジュール78は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。動き補償ユニット72は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子がシンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0165]動き補償ユニット72は、符号化ブロックのためのシンタックス情報のいくつかを使用して、符号化ビデオシーケンスの(1つまたは複数の)フレームを符号化するために使用されるブロックのサイズと、符号化ビデオシーケンスのフレームまたはスライスの各ブロックがどのように区分されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化ブロックまたはパーティションのための1つまたは複数の参照フレーム(および参照フレームリスト)と、符号化ビデオシーケンスを復号するための他の情報とを決定する。イントラ予測モジュール74はまた、上記で説明したように、たとえば、隣接する、前に復号されたブロックのピクセルを使用して、符号化ブロックをイントラ予測するために符号化ブロックのシンタックス情報を使用し得る。
[0166]加算器80は、残差ブロックを、動き補償ユニット72またはイントラ予測モジュール74によって生成される対応する予測ブロックと合計して、復号ブロックを形成する。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理し得る。復号ビデオブロックは、次いで、メモリ82に記憶され、メモリ82は、参照ブロックを後続の動き補償に与え、また、(図1のディスプレイデバイス32などの)ディスプレイデバイス上での提示のために復号ビデオを生成する。
[0167]このように、ビデオデコーダ30は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングすることと、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングすることと、を行うように構成されたビデオコーダの一例を表す。
[0168]図4A〜図4Cは、ビデオデータのブロックと、対応する有効係数位置情報と、最後有効係数位置情報との一例を示す概念図である。図4Aに示すように、ビデオデータのブロック、たとえば、マクロブロック、またはCUのTUは、量子化変換係数を含み得る。たとえば、図4Aに示すように、ブロック400は、前に説明した予測、変換、および量子化技法を使用して生成された量子化変換係数を含み得る。この例では、ブロック400が2N×2Nのサイズを有すると仮定し、ただし、Nは2に等しい。したがって、ブロック400は、図4Aに同じく示すように、4×4のサイズを有し、16個の量子化変換係数を含む。さらに、以下でより詳細に説明する図5Aに示すように、ブロック400に関連する走査順序がジグザグ走査順序であると仮定する。
[0169]この例では、ジグザグ走査順序に従うブロック400内の最後有効係数は、ブロック400内の位置406にある、「1」に等しい量子化変換係数である。他の例では、上記で説明したように、ブロックは、ブロック400のサイズよりも小さいまたは大きいサイズを有し得、ブロック400よりも多いまたは少ない量子化変換係数を含み得る。さらに他の例では、ブロック400に関連する走査順序は、異なる走査順序、たとえば、水平走査順序、垂直走査順序、対角走査順序、または別の走査順序であり得る。
[0170]図4Bは、前に説明したように、有効係数フラグデータ、すなわち、マップまたはブロック形式で表された有効係数フラグの一例を示している。図4Bの例において、ブロック402は、図4Aに示すブロック400に対応し得る。言い換えれば、ブロック402の有効係数フラグはブロック400の量子化変換係数に対応し得る。図4Bに示すように、「1」に等しいブロック402の有効係数フラグは、ブロック400の有効係数に対応する。同様に、「0」に等しいブロック402の有効係数フラグは、ブロック400の0または非有効係数に対応する。
[0171]この例では、ジグザグ走査順序に従うブロック400内の最後有効係数に対応するブロック402の有効係数フラグは、ブロック402内の位置408にある、「1」に等しい有効係数フラグである。他の例では、有効係数または非有効係数を示すために使用される有効係数フラグの値は変えられ得る(たとえば、「0」に等しい有効係数フラグが有効係数に対応し得、「1」に等しい有効係数フラグが非有効係数に対応し得る)。
[0172]図4Cは、前にも説明したように、最後有効係数フラグデータ、すなわち、マップまたはブロック形態で表された最後有効係数フラグの一例を示している。図4Cの例において、ブロック404は、それぞれ、図4Aおよび図4Bに示すブロック400およびブロック402に対応し得る。言い換えれば、ブロック404の最後有効係数フラグは、ブロック400の量子化変換係数と、ブロック402の有効係数フラグとに対応し得る。
[0173]図4Cに示すように、ブロック404内の位置410にある、「1」に等しいブロック404の最後有効係数フラグは、ブロック400の最後有効係数と、ジグザグ走査順序に従う、「1」に等しいブロック402の有効係数フラグのうちの最後有効係数フラグとに対応する。同様に、「0」に等しいブロック404の最後有効係数フラグ(すなわち、すべての残りの最後有効係数フラグ)は、ブロック400の0または非有効係数と、ジグザグ走査順序に従うそのような有効係数フラグのうちの最後有効係数フラグ以外の「1」に等しいブロック402のすべての有効係数フラグとに対応する。
[0174]走査順序に従う最後有効係数を示すために使用される最後有効係数フラグの値は変えられ得る(たとえば、「0」に等しい最後有効係数フラグが、走査順序に従う最後有効係数に対応し得、「1」に等しい最後有効係数フラグが、すべての残りの係数に対応し得る)。いずれの場合も、ブロック402の有効係数フラグと、ブロック404の最後有効係数フラグとは、ブロック400のためのSMデータと総称されることがある。
[0175]上記で説明したように、ビデオデータのブロックの有効係数位置情報は、ブロックに関連する走査順序を使用して、ブロックの有効係数フラグを、図4Bに示すブロック402に示されている2次元ブロック表現から1次元アレイに直列化することによって示され得る。図4A〜図4Bに示すブロック400〜402の例では、この場合もジグザグ走査順序を仮定すると、ブロック400の有効係数位置情報は、ブロック402の有効係数フラグを1次元アレイに直列化することによって示され得る。すなわち、ブロック400の有効係数位置情報は、ジグザグ走査順序に従ってブロック402の有効係数フラグのシーケンスを生成することによって示され得る。
[0176]この例では、生成シーケンスは、ジグザグ走査順序に従ってブロック402の最初の6つの有効係数フラグを表す、値「111111」に対応し得る。生成シーケンスは、ブロック400内のブロック位置の範囲に対応する有効係数フラグを含み、ジグザグ走査順序における最初のブロック位置(すなわち、DC位置)から開始し、ジグザグ走査順序に従うブロック400の最後有効係数に対応する(すなわち、ブロック404の「1」に等しい最後有効係数フラグに対応する)ブロック位置で終了することに留意されたい。
[0177]上記でも説明したように、ブロックの最後有効係数位置情報は、ブロックに関連する走査順序を使用して、ブロックの最後有効係数フラグを、図4Cに示すブロック404に示されている2次元ブロック表現から1次元アレイに直列化することによって示され得る。図4A〜図4Cに示すブロック400〜404の例では、この場合もジグザグ走査順序を仮定すると、ブロック400の最後有効係数位置情報は、ブロック404の最後有効係数フラグを1次元アレイに直列化することによって示され得る。すなわち、ブロック400の最後有効係数位置情報は、ジグザグ走査順序に従ってブロック404の最後有効係数フラグのシーケンスを生成することによって示され得る。この例では、生成シーケンスは、ジグザグ走査順序に従ってブロック404の最初の6つの最後有効係数フラグを表す、値「000001」に対応し得る。
[0178]この場合も、生成シーケンスは、ジグザグ走査順序における最初のブロック位置から開始し、ジグザグ走査順序に従うブロック400の最後有効係数に対応する(すなわち、ブロック404の「1」に等しい最後有効係数フラグに対応する)ブロック位置で終了する、ブロック400内のブロック位置の範囲に対応する最後有効係数フラグを含み得ることに留意されたい。したがって、この例では、シーケンス中に、ジグザグ走査順序による「1」に等しい最後有効係数フラグの後に最後有効係数フラグは含まれない。概して、ビデオデータのブロックに関連する走査順序に従う「1」に等しい最後有効係数フラグの後の最後有効係数フラグは、ブロックの最後有効係数位置情報を示すことを必要とされないことがある。したがって、いくつかの例では、これらのフラグは、この情報を示すために使用される最後有効係数フラグの生成シーケンスから省略される。
[0179]また、上記で説明したように、最後有効係数が走査順序に従う最後ブロック位置(たとえば、右下ブロック位置)内に位置する場合、その位置はブロックの最後有効係数を含んでいると推測され得るので、生成シーケンスは、最後ブロック位置に対応する最後有効係数フラグを含まなくてよいことに留意されたい。したがって、この例では、生成シーケンスは、値「000000000000000」に対応し得、最後ブロック位置に対応する最後有効係数フラグは、シーケンス中に含まれず、「1」に等しいと推測される。
[0180]図5A〜図5Cは、それぞれ、ジグザグ走査順序と、水平走査順序と、垂直走査順序とを使用して走査されるビデオデータのブロックの例を示す概念図である。図5A〜図5Cに示すように、ビデオデータの8×8ブロック、たとえば、マクロブロック、またはCUのTUは、円で示された対応するブロック位置において64個の量子化変換係数を含み得る。たとえば、ブロック500〜504はそれぞれ、同じく前に説明した予測、変換、および量子化技法を使用して生成された64個の量子化変換係数を含み得、各対応するブロック位置は円で示されている。この例では、ブロック500〜504が2N×2Nのサイズを有すると仮定し、ただし、Nは4に等しい。したがって、ブロック500〜504は8×8のサイズを有する。
[0181]図5Aに示すように、ブロック500に関連する走査順序はジグザグ走査順序である。ジグザグ走査順序は、図5Aの矢印によって示されるように対角的にブロック500の量子化変換係数を走査する。同様に、図5Bおよび図5Cに示すように、ブロック502および504に関連する走査順序は、それぞれ水平走査順序および垂直走査順序である。同じく図5Bおよび図5Cの矢印によって示されるように、水平走査順序は、水平線ごとに、または「ラスタ」的にブロック502の量子化変換係数を走査するが、垂直走査順序は、垂直線ごとに、または「回転されたラスタ」的にブロック504の量子化変換係数を走査する。
[0182]他の例では、上記で説明したように、ブロックは、ブロック500〜504のサイズよりも小さいまたは大きいサイズを有し得、より多いまたはより少ない量子化変換係数と、対応するブロック位置とを含み得る。これらの例では、ブロックに関連する走査順序は、図5A〜図5Cの8×8ブロック500〜504の例に示すのと実質的に同様の方法でブロックの量子化変換係数を走査し得、前に説明した走査順序のいずれかに従って、たとえば、4×4ブロック、または16×16ブロックが走査され得る。
[0183]前に説明したように、本開示の技法は、対角走査順序、ジグザグ、水平、垂直、および/または対角走査順序の組合せである走査順序、ならびに、部分的にジグザグであり、部分的に水平であり、部分的に垂直であり、および/または部分的に対角である走査順序を含む、多種多様な他の走査順序に対しても適用され得る。さらに、本開示の技法はまた、ビデオデータの前にコーディングされたブロック(たとえば、コーディングされている現在ブロックと同じブロックサイズまたはコーディングモードを有するブロック)に関連する統計値に基づいてそれ自体で適応的である走査順序を考慮し得る。たとえば、適応走査順序は、場合によっては、ビデオデータのブロックに関連する走査順序であり得る。
[0184]図6A〜図6Cは、本開示の技法に一致する、走査順序情報に基づいてそれの最後有効係数位置情報がコーディングされるビデオデータのブロックの例を示す概念図である。図6Aに示すように、ブロック600は、矢印によって示され、図5Bを参照しながら上記で説明したように、水平走査順序に従って0から15に順序付けられた16個のブロック位置を含み得る。16個のブロック位置の各々は、図4Aを参照しながら上記で説明したように、量子化変換係数を含んでいることがある。図6Aに同じく示すように、位置「2」に対応する、水平走査順序に従うブロック600内の第3の位置は、位置606と呼ぶことがある。この例では、位置606は、x座標が「2」に等しく、y座標が「0」に等しい、xおよびy座標(2,0)を使用して表され得、xおよびy座標(0,0)に対応する基準位置または「原点」は、上記で説明したように、ブロック600の左上隅、すなわち、DC位置にある。この例では、位置606は、水平走査順序に従ってブロック600内の最後有効係数の位置に対応すると仮定する。
[0185]さらに、ブロック600について、水平走査順序に従うブロック600内の最後有効係数の位置に対応する、ブロック600内の所与の位置の確率を示す統計値が存在すると仮定する。特に、統計値は、水平走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値(たとえば、「0」、「1」、「2」など)を備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標(2,0)の各々が所与の値を備える確率を示し得る。
[0186]さらに、いくつかの例では、x座標およびy座標は、たとえば、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行することによって、統計値に基づいてコーディングされ得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、走査順序、たとえば、水平走査順序は、統計値を含む特定のコンテキストモデルを選択するために使用され得る。さらに、一方の座標(たとえば、y座標)が他方の座標(たとえば、x座標)の後にコーディングされる場合、当該一方の座標は、コンテキストとして前にコーディングされた当該他方の座標の値を使用してコーディングされ得る。すなわち、x座標およびy座標のうち前にコーディングされた座標の値を使用して、他方の現在コーディングされている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。
[0187]さらに、いくつかの例では、x座標およびy座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、「2値化」され得る。したがって、統計値に基づいてx座標およびy座標をコーディングするために、特定の座標に対応するコードワードの各ビンは、コンテキスト適応型エントロピーコーディングプロセスを実行することによってコーディングされ得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。
[0188]図6Bにさらに示すように、ブロック602はまた、この場合も0から15に順序付けられた16個のブロック位置を含み得るが、この場合は、矢印によって示され、図5Cを参照しながら上記で説明したように、垂直走査順序に従う。16個のブロック位置の各々は、図4Aを参照しながら上記で説明したように、量子化変換係数を含んでいることがある。図6Bに同じく示すように、位置「2」に対応する、垂直走査順序に従うブロック602内の第3の位置は、位置608と呼ぶことがある。この例では、位置608は、x座標が「0」に等しく、y座標が「2」に等しい、xおよびy座標(0,2)を使用して表され得、xおよびy座標(0,0)に対応する基準位置または「原点」は、上記で説明したように、この場合もブロック602の左上隅、すなわち、DC位置にある。この例では、位置608は、垂直走査順序に従ってこの場合もブロック602内の最後有効係数の位置に対応すると仮定する。
[0189]図6A〜図6Bの例において、ブロック600の水平走査順序は、水平走査順序に従うブロック600内の最後有効係数の位置のx座標「2」が所与の値を備える確率が、垂直走査順序に従うブロック602内の最後有効係数の位置のy座標「2」が同じ値を備える確率と同じまたは同様であるように、ブロック602の垂直走査順序に関して対称的であり得、その逆も同様である。同様に、水平走査順序に従うブロック600内の最後有効係数の位置のy座標「0」が所与の値を備える確率は、垂直走査順序に従うブロック602内の最後有効係数の位置のx座標「0」が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、ブロック600内の位置606のx座標およびy座標(2,0)はそれぞれ、ブロック602内の位置608の交換されたx座標およびy座標(0,2)とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。図6Bの破線矢印によって示されるように、ブロック602内の位置608の交換されたx座標およびy座標(0,2)は、x座標およびy座標(2,0)を使用して表され得るブロック602内の位置610に対応し得る。
[0190]したがって、本開示の技法によれば、水平走査順序に従うブロック600内の最後有効係数の位置に対応するブロック600内の所与の位置の確率を示す共通の統計値は、前に説明したように、ブロック600内の位置606のx座標およびy座標(2,0)、ならびにブロック602内の位置608の交換されたx座標およびy座標(0,2)をコーディングするために使用され得る。
[0191]図6Cにさらに示すように、ブロック604はまた、この場合も0から15に順序付けられた16個のブロック位置を含み得るが、この場合は、矢印によって示され、図5Aを参照しながら上記で説明したように、ジグザグ走査順序に従う。16個のブロック位置の各々は、図4Aを参照しながら上記で説明したように、量子化変換係数を含み得る。図6Cに同じく示すように、位置「2」に対応する、ジグザグ走査順序に従うブロック604内の第3の位置は、位置612と呼ぶことがある。この例では、位置612は、x座標が「0」に等しく、y座標が「1」に等しい、xおよびy座標(0,1)を使用して表され得、xおよびy座標(0,0)に対応する基準位置または「原点」は、上記で説明したように、この場合もブロック604の左上隅、すなわち、DC位置にある。この例では、位置612は、ジグザグ走査順序に従ってこの場合もブロック604内の最後有効係数の位置に対応すると仮定する。
[0192]図6Cの例では、ブロック604のジグザグ走査順序は、それぞれブロック600およびブロック602の水平走査順序または垂直走査順序に関して対称的でないことがある。したがって、ブロック600またはブロック602内の最後有効係数の位置に対応するx座標およびy座標と、ブロック604内の最後有効係数の位置に対応するx座標およびy座標との間には、上記で説明した確率の一致または類似性が存在しないことがある。とはいえ、ブロック604内の最後有効係数の位置に対応するx座標およびy座標は、図6A〜図6Bの例を参照しながら上記で説明した共通の統計値を使用してコーディングされ得る。たとえば、x座標およびy座標をコーディングするために共通の統計値を使用すると、それぞれの座標が特定の値を備える確率を正確に反映しないことがあるが、とはいえ、このように座標をコーディングすると、前に説明したように、別々の統計値ではなく、共通の統計値を使用することによりコーディング効率が改善され、それにより潜在的にシステム複雑さが低減され得る。
[0193]図7は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするための方法の一例を示すフローチャートである。図7の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図7の技法について、ビデオエンコーダ20(図1および図2)および/またはビデオデコーダ30(図1および図3)に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図7に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。
[0194]初めに、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータのブロックに関連する走査順序が第1の走査順序であるか第2の走査順序であるかを判断する(700)。たとえば、ブロックは、前に説明したように、マクロブロック、またはCUのTUであり得る。さらに、第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得る。たとえば、前にも説明したように、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得、水平走査順序と垂直走査順序とは、ブロック内の共通の位置、たとえば、DC位置において始まる。
[0195]特に、第1の走査順序および第2の走査順序はそれぞれ、ビデオエンコーダ20および/またはビデオデコーダ30によってブロックをコーディングするために使用され得る走査順序であり得る。たとえば、第1の走査順序および第2の走査順序は、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内で、ビデオエンコーダ20によってビデオデータのブロックを符号化するために使用され、ビデオデコーダ30によってブロックを復号するために使用される走査順序であり得る。いくつかの例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される走査順序のうちのいくつかのみであり得る。他の例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される唯一の走査順序であり得る。このようにして、図7の例示的な方法は、ビデオデータのブロックをコーディングするために複数の走査順序を使用する任意のコーディングシステムに適用可能であり得る。
[0196]ビデオエンコーダ20は、直接的に、たとえば、ブロックを符号化することの一部として、走査順序が第1の走査順序であるか第2の走査順序であるかの決定を行い得る。ビデオデコーダ30は、ブロックの走査順序情報を復号することによってこの決定を行い得る。たとえば、ビデオエンコーダ20は、図8の例示的な方法においてより詳細に説明するように走査順序情報を符号化し得、ビデオデコーダ30は、図9の例示的な方法において同じくより詳細に説明するようにその情報を復号し得る。
[0197]走査順序が第1の走査順序である場合(702)、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標、すなわち、ブロックの最後有効係数位置情報をコーディングする(704)。しかしながら、走査順序が第2の走査順序である場合(702)、ビデオエンコーダ20および/またはビデオデコーダ30は、代わりに、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標をコーディングする(706)。この例では、また、交換されたx座標およびy座標は、ブロックの最後有効係数位置情報に対応するが、前に説明したように、他の技法を使用したときよりも効率的にこの情報をコーディングすることを可能にするために、ビデオエンコーダ20および/またはビデオデコーダ30によってさらに処理される、すなわち、交換される。特に、交換されたx座標およびy座標により、前にも説明したように、ブロックの最後有効係数位置情報を示す、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために共通の統計値を使用することが可能になり得る。いずれの場合も、x座標およびy座標を使用して表されるか、交換されたx座標およびy座標を使用して表されるかにかかわらず、ブロックの最後有効係数位置情報は、ビデオエンコーダ20の場合には符号化され得、ビデオデコーダ30の場合には復号され得る。
[0198]x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序が第1の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。特に、統計値は、走査順序が第1の走査順序を備えるときに走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値(たとえば、「0」、「1」、「2」など)を備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。
[0199]第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、統計値は、交換されたx座標およびy座標の各々が所与の値を備える確率をさらに示し得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの前にコーディングされたブロックの最後有効係数位置情報、たとえば、前にコーディングされたブロックの、x座標およびy座標と、交換されたx座標およびy座標との値を使用して統計値を決定し得る。
[0200]この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とをコーディングし得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、x座標が所与の値を備える確率が、x座標と、交換されたy座標とをコーディングするために使用され、y座標が所与の値を備える確率が、y座標と、交換されたx座標とをコーディングするために使用されるように、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とをコーディングし得る。さらに、ビデオエンコーダ20および/またはビデオデコーダ30は、それぞれの座標が特定の値を備える確率を反映するように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新し得る。この例では、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを使用して更新され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを使用して更新され得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後でコーディングされるブロックの最後有効係数位置情報をコーディングするために使用され得る。
[0201]いくつかの例では、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、走査順序、たとえば、水平走査順序または垂直走査順序を使用して、統計値を含む特定のコンテキストモデルを選択し得る。すなわち、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックをコーディングするために第1の走査順序を使用するときにx座標およびy座標をコーディングすることと、ブロックをコーディングするために第2の走査順序を使用するときに交換されたx座標およびy座標をコーディングすることとのために同じ統計値を選択し得る。
[0202]さらに、一方の座標(たとえば、y座標)が他方の座標(たとえば、x座標)の後にコーディングされる場合、ビデオエンコーダ20および/またはビデオデコーダ30は、コンテキストとして当該他方の前にコーディングされた座標の値を使用して当該一方の座標をコーディングし得る。すなわち、ブロックをコーディングするために使用される走査順序に応じた、x座標およびy座標、または交換されたx座標およびy座標のうち前にコーディングされた座標の値を使用して、他方の現在コーディングされている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とをコーディングし得る。
[0203]この例では、x座標およびy座標と、交換されたx座標およびy座標とは、1つまたは複数のビットまたはビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンをコーディングし得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、たとえば、前に説明したように、前にコーディングされたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前にコーディングされたブロックのための対応するビン、たとえば、前にコーディングされたブロックのための、x座標およびy座標と、交換されたx座標およびy座標とに対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、ビデオエンコーダ20および/またはビデオデコーダ30はまた、たとえば、前にも説明したように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンをコーディングし得る。
[0204]別の例として、ビデオエンコーダ20および/またはビデオデコーダ30は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンをコーディングすることによって、x座標およびy座標と、交換されたx座標およびy座標とをコーディングし得る。さらに、ビデオエンコーダ20および/またはビデオデコーダ30は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとをコーディングするように構成され得る。
[0205]最後に、いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、走査順序に従うブロック内のすべての他の有効係数の位置を示す情報、すなわち、ブロックの有効係数位置情報をコーディングする(708)。たとえば、ブロックの有効係数位置情報は、前に説明したように、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行することによってシーケンスの各有効係数フラグをコーディングすることによりコーディングされ得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。
[0206]この例では、コンテキストモデルは、各フラグが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの前にコーディングされたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、ビデオエンコーダ20および/またはビデオデコーダ30はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後でコーディングされるブロックの有効係数位置情報をコーディングするために使用され得る。
[0207]このように、図7の方法は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングする方法の一例を表す。
[0208]図8は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的に符号化するための方法の一例を示すフローチャートである。図8の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図8の技法について、エントロピー符号化ユニット56(図2)に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図8に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。
[0209]初めに、エントロピー符号化ユニット56が、ビデオデータのブロックを受信する(800)。たとえば、ブロックは、前に説明したように、マクロブロック、またはCUのTUであり得る。エントロピー符号化ユニット56は、さらに、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標、すなわち、ブロックの最後有効係数位置情報を決定する(802)。たとえば、走査順序は、エントロピー符号化ユニット56によってブロックを符号化するために使用される走査順序であり得、前に説明したように、ブロック内の共通の位置において始まる複数の走査順序のうちの1つであり得る。前にも説明したように、共通の位置はDC位置に対応し得る。さらに、x座標およびy座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る。
[0210]エントロピー符号化ユニット56は、さらに、走査順序が第1の走査順序であるか第2の走査順序であるかを決定する(804)。たとえば、第1の走査順序および第2の走査順序は、前に説明したように、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内で、エントロピー符号化ユニット56によってビデオデータのブロックを符号化するために使用され得る走査順序であり得る。いくつかの例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用され得る走査順序のうちのいくつかのみであり得る。他の例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される唯一の走査順序であり得る。前に説明したように、第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得る。たとえば、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得る。エントロピー符号化ユニット56は、直接的に、たとえば、ブロックを符号化することの一部として、走査順序が第1の走査順序であるか第2の走査順序であるかの決定を行い得る。
[0211]走査順序が第1の走査順序である場合(806)、エントロピー符号化ユニット56は、さらに、x座標およびy座標を符号化する(808)。しかしながら、走査順序が第2の走査順序である場合(806)、エントロピー符号化ユニット56は、代わりに、x座標とy座標とを交換し、交換されたx座標およびy座標を符号化する(810)。前に説明したように、また、交換されたx座標およびy座標は、ブロックの最後有効係数位置情報に対応するが、他の技法を使用したときよりも効率的にこの情報を符号化することを可能にするために、エントロピー符号化ユニット56によってさらに処理される、すなわち、交換される。特に、交換されたx座標およびy座標により、前にも説明したように、ブロックの最後有効係数位置情報を示す、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために共通の統計値を使用することが可能になり得る。いずれの場合も、エントロピー符号化ユニット56は、x座標およびy座標として表されるか交換されたx座標およびy座標として表されるかにかかわらず、ブロックの最後有効係数位置情報を符号化し得る。
[0212]x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、さらに、走査順序が第1の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。特に、統計値は、走査順序が第1の走査順序を備えるときに走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値(たとえば、「0」、「1」、「2」など)を備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。
[0213]第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、統計値は、交換されたx座標およびy座標の各々が所与の値を備える確率をさらに示し得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックの最後有効係数位置情報、たとえば、前に符号化されたブロックのx座標およびy座標ならびに交換されたx座標およびy座標の値を使用して統計値を決定し得る。
[0214]この例では、エントロピー符号化ユニット56は、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化し得る。たとえば、エントロピー符号化ユニット56は、x座標が所与の値を備える確率が、x座標と、交換されたy座標とを符号化するために使用され、y座標が所与の値を備える確率が、y座標と、交換されたx座標とを符号化するために使用されるように、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化し得る。さらに、エントロピー符号化ユニット56は、それぞれの座標が特定の値を備える確率を反映するように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新し得る。この例では、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを使用して更新され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを使用して更新され得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で符号化されるブロックの最後有効係数位置情報を符号化するために使用され得る。
[0215]いくつかの例では、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、エントロピー符号化ユニット56は、走査順序、たとえば、水平走査順序または垂直走査順序を使用して、統計値を含む特定のコンテキストモデルを選択し得る。すなわち、エントロピー符号化ユニット56は、ブロックを符号化するために第1の走査順序を使用するときにx座標およびy座標を符号化することと、ブロックを符号化するために第2の走査順序を使用するときに交換されたx座標およびy座標を符号化することとのために同じ統計値を選択し得る。
[0216]さらに、ある座標(たとえば、y座標)が別の座標(たとえば、x座標)の後に符号化される場合、エントロピー符号化ユニット56は、コンテキストとして他方の前に符号化された座標の値を使用して座標を符号化し得る。すなわち、ブロックを符号化するために使用される走査順序に応じた、x座標およびy座標と、交換されたx座標およびy座標とのうち前に符号化された座標の値を使用して、他方の現在符号化されている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。エントロピー符号化ユニット56は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とを符号化し得る。
[0217]この例では、x座標およびy座標と、交換されたx座標およびy座標とは、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを符号化し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、たとえば、前に説明したように、前に符号化されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に符号化されたブロックのための対応するビン、たとえば、前に符号化されたブロックのためのx座標およびy座標と、交換されたx座標およびy座標とに対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、たとえば、前にも説明したように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー符号化ユニット56は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを符号化し得る。
[0218]前に説明したように、別の例として、エントロピー符号化ユニット56は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを符号化することによって、x座標およびy座標と、交換されたx座標およびy座標とを符号化し得る。さらに、エントロピー符号化ユニット56は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを符号化し得る。
[0219]いずれの場合も、エントロピー符号化ユニット56は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を符号化する(812)。走査順序が、ビデオデータのブロックをコーディングするためにシステム10内で使用される2つの走査順序のうちの1つを含む、いくつかの例では、エントロピー符号化ユニット56は、単一のビンを使用して走査順序情報を符号化し得る。たとえば、エントロピー符号化ユニット56は、走査順序が第1の走査順序であるか(たとえば、bin=「0」)、第2の走査順序であるか(bin=「1」)を示すための単一のビンを符号化し得る。走査順序が、システム10によってビデオデータのブロックをコーディングするために使用され得る3つの走査順序のうちの1つを含む、他の例では、エントロピー符号化ユニット56は、1つと2つとの間のビンを使用して走査順序情報を符号化し得る。たとえば、エントロピー符号化ユニット56は、走査順序が第1の走査順序であるかどうかを示すための第1のビンを符号化し得る(たとえば、走査順序が第1の走査順序である場合はbin1=「0」であり、他の場合はbin1=「1」である)。第1のビンは走査順序が第1の走査順序でないことを示す場合、エントロピー符号化ユニット56は、走査順序が第2の走査順序であるか(たとえば、bin2=「0」)、第3の走査順序であるか(たとえば、bin2=「1」)を示すための第2のビンを符号化し得る。他の例では、ビンの他の値を使用することを含む、ブロックの走査順序情報を符号化する他の方法が使用され得る。いくつかの例では、エントロピー符号化ユニット56は、ビットストリーム中で直接各ビンをシグナリングし得る。他の例では、エントロピー符号化ユニット56は、さらに、x座標およびy座標と、交換されたx座標およびy座標とのうちの1つに対応するコードワードのビンを符号化することに関して上記で説明したのと同様の方法でコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を使用して各ビンを符号化し得る。代替的に、前に説明したように、エントロピー符号化ユニット56は、エントロピー符号化ユニット56がブロックを符号化するために適応走査順序を使用するとき、ブロックの走査順序情報を符号化することを省略し得る。
[0220]いくつかの例では、エントロピー符号化ユニット56は、さらに、走査順序に従うブロック内のすべての他の有効係数の位置を示す情報、すなわち、ブロックの有効係数位置情報を符号化する(814)。前に説明したように、たとえば、ブロックの有効係数位置情報は、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行することによってシーケンスの各有効係数フラグを符号化することにより符号化され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。
[0221]コンテキストモデルは、各フラグが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で符号化されるブロックの有効係数位置情報を符号化するために使用され得る。
[0222]最後に、エントロピー符号化ユニット56は、ブロックの走査順序情報に基づいて最後有効係数位置情報を符号化することを停止する(816)。たとえば、エントロピー符号化ユニット56は、上記で説明したように、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の符号化に進み得る。
[0223]このように、図8の方法は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングする方法の一例を表す。
[0224]図9は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて符号化された最後有効係数位置情報を効率的に復号するための方法の一例を示すフローチャートである。図9の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図9の技法について、エントロピー復号ユニット70(図3)に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図9に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。
[0225]初めに、エントロピー復号ユニット70が、ビデオデータのブロックのための符号化された有効性データを受信する(900)。たとえば、ブロックは、前に説明したように、マクロブロック、またはCUのTUであり得る。エントロピー復号ユニット70は、さらに、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示す座標、すなわち、ブロックの最後有効係数位置情報を決定するために有効性データを復号する(902)。走査順序は、エントロピー符号化ユニット、たとえば、図2のエントロピー符号化ユニット56によってブロックを符号化するために使用される走査順序であり得、前に説明したように、ブロック内の共通の位置において始まる複数の走査順序のうちの1つであり得る。前にも説明したように、共通の位置はDC位置に対応し得る。さらに、決定された座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る。
[0226]図8の例を参照しながら上記で説明したように、決定された座標は、走査順序に応じて、走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標または交換されたx座標およびy座標に対応し得る。たとえば、座標は、走査順序が第1の走査順序を備えるとき、x座標およびy座標に対応し得、走査順序が第2の走査順序を備えるとき、交換されたx座標およびy座標に対応し得る。x座標およびy座標と、交換されたx座標およびy座標とは、ブロックの最後有効係数位置情報に対応するが、交換されたx座標およびy座標は、他の技法を使用したときよりも効率的にこの情報をコーディングすることを可能にするためにさらに処理される、すなわち、交換される。特に、交換されたx座標およびy座標により、前にも説明したように、ブロックの最後有効係数位置情報を示す、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために共通の統計値を使用することが可能になり得る。
[0227]いずれの場合も、図8のエントロピー符号化ユニット56の例を参照しながら前に説明したのと同様の方法で、座標を決定するように有効性データを復号するために、エントロピー復号ユニット70は、さらに、走査順序が第1の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。特に、走査順序が第1の走査順序を備えるときに走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が統計値は、所与の値(たとえば、「0」、「1」、「2」など)を備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。
[0228]第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、統計値は、交換されたx座標およびy座標の各々が所与の値を備える確率をさらに示し得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックの最後有効係数位置情報、たとえば、前に復号されたブロックのx座標およびy座標ならびに交換されたx座標およびy座標の値を使用して統計値を決定し得る。
[0229]この例では、エントロピー復号ユニット70は、統計値に基づいて、座標、すなわち、x座標およびy座標、または交換されたx座標およびy座標を決定するために、有効性データを復号し得る。たとえば、エントロピー復号ユニット70は、x座標が所与の値を備える確率が、x座標と、交換されたy座標とを決定するように有効性データを復号するために使用され、y座標が所与の値を備える確率が、y座標と、交換されたx座標とを決定するように有効性データを復号するために使用されるように、統計値に基づいてx座標およびy座標または交換されたx座標およびy座標を決定するために有効性データを復号し得る。さらに、エントロピー復号ユニット70は、それぞれの座標が特定の値を備える確率を反映するように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新し得る。この例では、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを使用して更新され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを使用して更新され得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で復号されるブロックの有効係数位置情報を決定するように有効性データを復号するために使用され得る。
[0230]いくつかの例では、統計値に基づいてx座標およびy座標または交換されたx座標およびy座標を決定するように有効性データを復号するために、エントロピー復号ユニット70は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、エントロピー復号ユニット70は、走査順序、たとえば、水平走査順序または垂直走査順序を使用して、統計値を含む特定のコンテキストモデルを選択し得る。すなわち、エントロピー復号ユニット70は、ブロックを復号するために第1の走査順序を使用するときにx座標およびy座標を決定し、ブロックを復号するために第2の走査順序を使用するときに交換されたx座標およびy座標を決定するように、有効性データを復号するために同じ統計値を選択し得る。
[0231]x座標およびy座標と、交換されたx座標およびy座標とは、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいてx座標およびy座標または交換されたx座標およびy座標を判断するように有効性データを復号するために、エントロピー復号ユニット70は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを決定するために有効性データを復号し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、たとえば、前に説明したように、前に復号されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に復号されたブロックのための対応するビン、たとえば、前に復号されたブロックのためのx座標およびy座標と、交換されたx座標およびy座標とに対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、たとえば、前にも説明したように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー復号ユニット70は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを決定するために有効性データを復号し得る。
[0232]前に説明したように、別の例として、エントロピー復号ユニット70は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを復号することによって、x座標およびy座標と、交換されたx座標およびy座標とを復号し得る。さらに、エントロピー復号ユニット70は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを復号し得る。
[0233]エントロピー復号ユニット70は、さらに、ブロックのための符号化された走査順序データを受信する(904)。エントロピー復号ユニット70は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を決定するために走査順序データを復号する(906)。代替的に、前に説明したように、エントロピー復号ユニット70は、エントロピー復号ユニット70がブロックを復号するために適応走査順序を使用するとき、ブロックのための符号化された走査順序データを受信および復号しなくてよい。いずれの場合も、エントロピー復号ユニット70は、さらに、走査順序が第1の走査順序であるか第2の走査順序であるかを決定する(908)。たとえば、第1の走査順序および第2の走査順序は、前に説明したように、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内で、エントロピー復号ユニット70によってビデオデータのブロックを復号するために使用され得る走査順序であり得る。第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用され得る走査順序のうちのいくつかのみであり得る。他の例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される唯一の走査順序であり得る。場合によっては、第1の走査順序と第2の走査順序とは、互いに対して対称的(または少なくとも部分的に対称的)であり得る。たとえば、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得る。エントロピー復号ユニット70は、ブロックの判断された走査順序情報を使用して走査順序が第1の走査順序であるか第2の走査順序であるかの決定を行い得る。
[0234]走査順序が第1の走査順序である場合(910)、エントロピー復号ユニット70は、決定されたx座標およびy座標を使用してブロックを復号し続け得る。いくつかの例では、エントロピー復号ユニット70は、さらに、ブロックのための残りの符号化された有効性データを受信する(914)。エントロピー復号ユニット70は、さらに、走査順序に従うブロック内のすべての他の有効係数の位置を示す情報、すなわち、ブロックの有効係数位置情報を決定するために残りの有効性データを復号する(916)。前に説明したように、たとえば、ブロックの有効係数位置情報は、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、残りの有効性データは、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行することによってシーケンスの各有効係数フラグを決定するように残りの有効性データを復号することにより有効係数位置情報を決定するために復号され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。
[0235]コンテキストモデルは、各フラグが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で復号されるブロックの有効係数位置情報を決定するように残りの有効性データを復号するために使用され得る。
[0236]しかしながら、走査順序が第2の走査順序である場合(910)、エントロピー復号ユニット70は、ステップ(914)および(916)に関して上記で説明したのと同様の方法で、決定されたx座標とy座標とを交換し(912)、交換されたx座標およびy座標を使用してブロックを復号し続け得る。前に説明したように、x座標およびy座標と、交換されたx座標およびy座標とは、ブロックの最後有効係数位置情報に対応するが、交換されたx座標およびy座標は、他の技法を使用したときよりも効率的にこの情報をコーディングすることを可能にするためにさらに処理される。
[0237]最後に、エントロピー復号ユニット70は、ブロックの走査順序情報に基づいて最後有効係数位置情報を復号することを停止する(918)。たとえば、エントロピー復号ユニット70は、上記で説明したように、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の復号に進み得る。
[0238]このように、図9の方法は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングする方法の一例を表す。
[0239]図10は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的に符号化するための方法の別の例を示すフローチャートである。図10の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図10の技法について、エントロピー符号化ユニット56(図2)に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図10に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。
[0240]初めに、エントロピー符号化ユニット56が、ビデオデータのブロックを受信する(1000)。たとえば、ブロックは、前に説明したように、マクロブロック、またはCUのTUであり得る。エントロピー符号化ユニット56は、さらに、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標、すなわち、ブロックの最後有効係数位置情報を決定する(1002)。たとえば、走査順序は、エントロピー符号化ユニット56によってブロックを符号化するために使用される走査順序であり得、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内でビデオデータのブロックをコーディングするために使用される複数の走査順序のうちの1つであり得る。たとえば、複数の走査順序の各々は、ブロック内の共通の位置、たとえば、DC位置において始まり得る。さらに、前にも説明したように、x座標およびy座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る。
[0241]エントロピー符号化ユニット56は、さらに、x座標およびy座標がそれぞれブロック内の共通の位置に対応するかどうかを決定する(1004)。この共通の位置はDC位置に対応し得る。エントロピー符号化ユニット56は、上記で説明したように、直接的に、たとえば、x座標およびy座標を決定することの一部として上記の決定を行い得る。
[0242]エントロピー符号化ユニット56は、さらに、x座標が共通の位置に対応するかどうかの指示を符号化する(1006)。同様に、エントロピー符号化ユニット56は、さらに、y座標が共通の位置に対応するかどうかの指示を符号化する(1008)。エントロピー符号化ユニット56は、単一のビンを使用して各指示を符号化し得る。たとえば、エントロピー符号化ユニット56は、x座標が共通の位置に対応するか(たとえば、bin1=「1」)そうでないか(bin1=「0」)を示す第1のビンと、y座標が共通の位置に対応するか(たとえば、bin2=「1」)そうでないか(bin2=「0」)を示す第2のビンとを符号化し得る。いくつかの例では、エントロピー符号化ユニット56は、ビットストリーム中で直接各ビンをシグナリングし得る。他の例では、エントロピー符号化ユニット56は、さらに、たとえば、コンテキストに基づいてコンテキストモデルを適用することを含むCABACプロセスを実行することによって、図7〜図9を参照しながら上記で説明したのと同様の方法でコンテキスト適応型エントロピーコーディングプロセスを使用して各ビンを符号化し得る。
[0243]x座標およびy座標がそれぞれ共通の位置に対応する場合(1010)、エントロピー符号化ユニット56は、ブロックの走査順序情報に基づいて最後有効係数位置情報を符号化することを停止する(1024)。言い換えれば、x座標およびy座標がそれぞれ共通の位置に対応する場合、走査順序に従うブロック内の最後(唯一)有効係数を超えるさらなる有効係数はブロック内に存在しない。そのような場合、エントロピー符号化ユニット56は、ブロックについて、さらなる最後有効係数位置情報、あるいは走査順序情報または有効係数位置情報を符号化する必要がない。そのような場合、エントロピー符号化ユニット56は、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の符号化に進み得る。
[0244]x座標およびy座標がそれぞれ共通の位置に対応しない場合(1010)、エントロピー符号化ユニット56は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を符号化する(1012)。走査順序が、ビデオデータのブロックをコーディングするためにシステム10内で使用される2つの走査順序のうちの1つを含む、いくつかの例では、エントロピー符号化ユニット56は、単一のビンを使用して走査順序情報を符号化し得る。たとえば、エントロピー符号化ユニット56は、走査順序が第1の走査順序であるか(たとえば、bin=「0」)、第2の走査順序であるか(bin=「1」)を示すための単一のビンを符号化し得る。走査順序が、システム10によってビデオデータのブロックをコーディングするために使用され得る3つの走査順序のうちの1つを含む、他の例では、エントロピー符号化ユニット56は、1つと2つとの間のビンを使用して走査順序情報を符号化し得る。たとえば、エントロピー符号化ユニット56は、走査順序が第1の走査順序であるかどうかを示すための第1のビンを符号化し得る(たとえば、走査順序が第1の走査順序である場合はbin1=「0」であり、他の場合はbin1=「1」である)。第1のビンは走査順序が第1の走査順序でないことを示す場合、エントロピー符号化ユニット56は、走査順序が第2の走査順序であるか(たとえば、bin2=「0」)、第3の走査順序であるか(たとえば、bin2=「1」)を示すための第2のビンを符号化し得る。他の例では、ビンの他の値を使用することを含む、ブロックの走査順序情報を符号化する他の方法が使用され得る。いくつかの例では、エントロピー符号化ユニット56は、ビットストリーム中で直接各ビンをシグナリングし得る。他の例では、エントロピー符号化ユニット56は、さらに、たとえば、コンテキストに基づいてコンテキストモデルを適用することを含むCABACプロセスを実行することによって、図7〜図9を参照しながら上記で説明したのと同様の方法でコンテキスト適応型エントロピーコーディングプロセスを使用して各ビンを符号化し得る。代替的に、前に説明したように、エントロピー符号化ユニット56は、エントロピー符号化ユニット56がブロックを符号化するために適応走査順序を使用するとき、ブロックの走査順序情報を符号化しなくてよい。
[0245]いずれの場合も、x座標が共通の位置に対応しない場合(1014)、エントロピー符号化ユニット56は、さらに、走査順序に基づいてx座標を符号化する(1016)。同様に、y座標が共通の位置に対応しない場合(1018)、エントロピー符号化ユニット56は、さらに、走査順序に基づいてy座標を符号化する(1020)。x座標およびy座標を符号化するために、エントロピー符号化ユニット56は、さらに、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。特に、統計値は、走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値(たとえば、「0」、「1」、「2」など)を備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックの最後有効係数位置情報、たとえば、前に符号化されたブロックのx座標およびy座標の値を使用して統計値を決定し得る。
[0246]いくつかの例では、統計値は、走査順序に応じて変動し得る。特に、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率は、走査順序に応じて変動し得る。すなわち、走査順序が異なると、ブロックの最後有効係数位置情報のための統計値が異なり得る。したがって、統計値に基づいてブロックの最後有効係数位置情報を符号化するとき、走査順序に少なくとも部分的に基づいて統計値を選択することにより、正確な統計値を使用することになり得、したがって、効率的な符号化が可能になり得る。したがって、エントロピー符号化ユニット56は、統計値に基づいてx座標およびy座標を符号化し得、エントロピー符号化ユニット56は、走査順序に少なくとも部分的に基づいて統計値を選択する。したがって、エントロピー符号化ユニット56は、走査順序に基づいてx座標およびy座標を符号化し得る。さらに、エントロピー符号化ユニット56は、それぞれの座標が特定の値を備える確率を反映するようにx座標およびy座標に基づいて統計値を更新し得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で符号化されるブロックの最後有効係数位置情報を符号化するために使用され得る。
[0247]いくつかの例では、統計値に基づいてx座標およびy座標を符号化するために、エントロピー符号化ユニット56は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、エントロピー符号化ユニット56は、統計値を含む特定のコンテキストモデルを選択するために走査順序を使用し得る。このようにして、エントロピー符号化ユニット56は、走査順序に基づいてx座標およびy座標を符号化し得る。さらに、一方の座標(たとえば、y座標)が他方の座標(たとえば、x座標)の後に符号化される場合、エントロピー符号化ユニット56は、コンテキストとして前に符号化された当該他方の座標の値を使用して当該一方の座標を符号化し得る。すなわち、x座標およびy座標のうち前に符号化された座標の値を使用して、他方の現在符号化されている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。エントロピー符号化ユニット56は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによってx座標およびy座標を符号化し得る。
[0248]この例では、x座標およびy座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいてx座標およびy座標を符号化するために、エントロピー符号化ユニット56は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを符号化し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、たとえば、前に説明したように、前に符号化されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に符号化されたブロックのための対応するビン、たとえば、前に符号化されたブロックのためのx座標およびy座標に対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、たとえば、前にも説明したように、x座標およびy座標に基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー符号化ユニット56は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを符号化し得る。
[0249]前に説明したように、別の例として、エントロピー符号化ユニット56は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを符号化することによって、x座標およびy座標を符号化し得る。さらに、エントロピー符号化ユニット56は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを符号化し得る。
[0250]いくつかの例では、各座標を符号化するより前に、エントロピー符号化ユニット56は、他の方法を使用したときよりも座標が効率的にコーディングされることを可能にするために各座標から値「1」を減算し得る。たとえば、エントロピー符号化ユニット56は、座標をコーディングするために使用される情報の量を低減するために、座標を符号化するより前に各座標から値「1」を減算し得る。同様に、エントロピー復号ユニット、たとえば、図11の例においてより詳細に説明するエントロピー復号ユニット70は、座標を決定するために、座標を復号した後に各座標に値「1」を加算し得る。
[0251]いくつかの例では、エントロピー符号化ユニット56は、さらに、走査順序に従うブロック内のすべての他の有効係数の位置を示す情報、すなわち、ブロックの有効係数位置情報を符号化する(1022)。前に説明したように、ブロックの有効係数位置情報は、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行することによってシーケンスの各有効係数フラグを符号化することにより符号化され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。
[0252]この例では、コンテキストモデルは、各フラグが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で符号化されるブロックの有効係数位置情報を符号化するために使用され得る。
[0253]最後に、エントロピー符号化ユニット56は、ブロックの走査順序情報に基づいて最後有効係数位置情報を符号化することを停止する(1024)。たとえば、エントロピー符号化ユニット56は、前に説明したように、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の符号化に進み得る。
[0254]このように、図10の方法は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングする方法の一例を表す。
[0255]図11は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて符号化された最後有効係数位置情報を効率的に復号するための方法の別の例を示すフローチャートである。図11の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図11の技法について、エントロピー復号ユニット70(図3)に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図11に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。
[0256]初めに、エントロピー復号ユニット70は、ビデオデータのブロックのための第1の信号を受信する(1100)。ブロックは、前に説明したように、マクロブロック、またはCUのTUであり得る。エントロピー復号ユニット70は、さらに、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標が共通の位置に対応するかどうかの指示を決定するために第1の信号を復号する(1102)。同様に、エントロピー復号ユニット70は、さらに、ブロックのための第2の信号を受信する(1104)。エントロピー復号ユニット70は、さらに、走査順序に従うブロック内の最後有効係数の位置を示すy座標が共通の位置に対応するかどうかの指示を決定するために第2の信号を復号する(1106)。
[0257]たとえば、走査順序は、エントロピー符号化ユニット、たとえば、エントロピー符号化ユニット56によってブロックを符号化するために使用される走査順序であり得、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10においてビデオデータのブロックをコーディングするために使用される複数の走査順序のうちの1つであり得る。たとえば、複数の走査順序の各々は、前に説明したように、共通の位置において始まり得る。この共通の位置はDC位置に対応し得る。
[0258]さらに、各指示は単一のビンを備え得る。たとえば、エントロピー復号ユニット70は、x座標が共通の位置に対応するか(たとえば、bin1=「1」)そうでないか(bin1=「0」)を示す第1のビンを決定するために第1の信号を復号し、y座標が共通の位置に対応するか(たとえば、bin2=「1」)そうでないか(bin2=「0」)を示す第2のビンを決定するために第2の信号を復号し得る。いくつかの例では、エントロピー復号ユニット70は、ビットストリーム中で直接各ビンを受信し得る。すなわち、第1の信号および第2の信号は、それぞれ第1のビンおよび第2のビンを備え得る。他の例では、エントロピー復号ユニット70は、たとえば、コンテキストに基づいてコンテキストモデルを適用することを含むCABACプロセスを実行することによって、図7〜図9を参照しながら上記で説明したのと同様の方法でコンテキスト適応型エントロピーコーディングプロセスを使用してそれぞれのビンを決定するために第1の信号および第2の信号を復号し得る。
[0259]x座標およびy座標がそれぞれ共通の位置に対応する場合(1108)、エントロピー復号ユニット70は、ブロックの走査順序情報に基づいて、符号化された最後有効係数位置情報を復号することを停止する(1130)。言い換えれば、x座標およびy座標がそれぞれ共通の位置に対応する場合、走査順序に従うブロック内の最後(唯一)有効係数を超えるさらなる有効係数はブロック内に存在しない。そのような場合、エントロピー復号ユニット70は、ブロックについて、さらなる最後有効係数位置情報、あるいは走査順序情報または有効係数位置情報を復号する必要がない。たとえば、そのような場合、エントロピー復号ユニット70は、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の復号に進み得る。
[0260]x座標およびy座標がそれぞれ共通の位置に対応しない場合(1108)、エントロピー復号ユニット70は、さらに、ブロックのための符号化された走査順序データを受信する(1110)。エントロピー復号ユニット70は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を決定するために走査順序データを復号する(1112)。走査順序が、ビデオデータのブロックをコーディングするためにシステム10内で使用される2つの走査順序のうちの1つを含む、いくつかの例では、エントロピー復号ユニット70は、単一のビンを決定するために走査順序データを復号し得る。たとえば、単一のビンは、走査順序が第1の走査順序であるか(たとえば、bin=「0」)、第2の走査順序であるか(bin=「1」)を示し得る。走査順序が、システム10内でビデオデータのブロックをコーディングするために使用され得る3つの走査順序のうちの1つを含む、他の例では、エントロピー復号ユニット70は、1つと2つとの間のビンを決定するために走査順序データを復号し得る。たとえば、エントロピー復号ユニット70は、走査順序が第1の走査順序であるかどうかを示す第1のビンを決定し得る(たとえば、走査順序が第1の走査順序である場合はbin1=「0」であり、他の場合はbin1=「1」である)。第1のビンは走査順序が第1の走査順序でないことを示す場合、エントロピー復号ユニット70は、走査順序が第2の走査順序であるか(たとえば、bin2=「0」)、第3の走査順序であるか(たとえば、bin2=「1」)を示す第2のビンを決定し得る。他の例では、ビンの他の値を使用することを含む、ブロックの走査順序情報を決定する他の方法が使用され得る。いくつかの例では、エントロピー復号ユニット70は、ビットストリーム中で直接各ビンを受信し得る。すなわち、走査順序データは1つまたは複数のビンを備え得る。他の例では、エントロピー復号ユニット70は、たとえば、コンテキストに基づいてコンテキストモデルを適用することを含むCABACプロセスを実行することによって、図7〜図9を参照しながら上記で説明したのと同様の方法でコンテキスト適応型エントロピーコーディングプロセスを使用して各ビンを判断するために走査順序データを復号し得る。代替的に、前に説明したように、エントロピー復号ユニット70は、エントロピー復号ユニット70がブロックを復号するために適応走査順序を使用するとき、ブロックのための符号化された走査順序データを受信し、復号しなくてよい。
[0261]いずれの場合も、x座標が共通の位置に対応しない場合(1114)、エントロピー復号ユニット70は、さらに、符号化されたx座標を受信し(1116)、走査順序に基づいてx座標を復号する(1118)。同様に、y座標が共通の位置に対応しない場合(1120)、エントロピー復号ユニット70は、さらに、符号化されたy座標を受信し(1122)、走査順序に基づいてy座標を復号する(1124)。前に説明したように、符号化されたx座標およびy座標を復号するために、エントロピー復号ユニット70は、さらに、エントロピー符号化ユニット56に関して上記で説明したのと実質的に同様の方法で、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。統計値は、走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値(たとえば、「0」、「1」、「2」など)を備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックの最後有効係数位置情報、たとえば、前に復号されたブロックのx座標およびy座標の値を使用して統計値を決定し得る。
[0262]いくつかの例では、統計値は、走査順序に応じて変動し得る。特に、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率は、走査順序に応じて変動し得る。すなわち、走査順序が異なると、ブロックの最後有効係数位置情報のための統計値が異なり得る。したがって、統計値に基づいてブロックのための符号化された最後有効係数位置情報を復号するとき、走査順序に少なくとも部分的に基づいて統計値を選択することにより、正確な統計値を使用することになり得、したがって、効率的な復号が可能になり得る。したがって、エントロピー復号ユニット70は、統計値に基づいて、符号化されたx座標およびy座標を復号し得、エントロピー復号ユニット70は、走査順序に少なくとも部分的に基づいて統計値を選択する。したがって、エントロピー復号ユニット70は、走査順序に基づいて、符号化されたx座標およびy座標を復号し得る。さらに、エントロピー復号ユニット70は、それぞれの座標が特定の値を備える確率を反映するようにx座標およびy座標に基づいて統計値を更新し得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で復号されるブロックのための符号化された最後有効係数位置情報を復号するために使用され得る。
[0263]いくつかの例では、統計値に基づいて、符号化されたx座標およびy座標を復号するために、エントロピー復号ユニット70は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、エントロピー復号ユニット70は、統計値を含む特定のコンテキストモデルを選択するために走査順序を使用し得る。このようにして、エントロピー復号ユニット70は、走査順序に基づいて、符号化されたx座標およびy座標を復号し得る。さらに、ある符号化された座標(たとえば、y座標)が、別の符号化された座標(たとえば、x座標)の後に復号される場合、エントロピー復号ユニット70は、コンテキストとして他方の前に復号された座標の値を使用して座標を復号し得る。すなわち、x座標およびy座標のうち前に復号された座標の値を使用して、他方の現在復号されている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。エントロピー復号ユニット70は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって、符号化されたx座標およびy座標を復号し得る。
[0264]x座標およびy座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいて、符号化されたx座標およびy座標を復号するために、エントロピー復号ユニット70は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを復号し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、たとえば、前に説明したように、前に復号されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に復号されたブロックのための対応するビン、たとえば、前に復号されたブロックのためのx座標およびy座標に対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、たとえば、前にも説明したように、x座標およびy座標に基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー復号ユニット70は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを復号し得る。
[0265]前に説明したように、別の例として、エントロピー復号ユニット70は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを復号することによって、x座標およびy座標を復号し得る。さらに、エントロピー復号ユニット70は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを復号し得る。
[0266]各座標を復号すると、エントロピー復号ユニット70は、他の方法を使用したときよりも座標が効率的にコーディングされることを可能にするために各座標に値「1」を加算し得る。たとえば、前にも説明したように、エントロピー符号化ユニット、たとえば、エントロピー符号化ユニット56は、座標をコーディングするために使用される情報の量を低減するために、最初に各座標から値「1」を減算することによってx座標およびy座標を符号化し得る。したがって、エントロピー復号ユニット70は、座標を判断するために、座標を復号した後に各座標に値「1」を加算し得る。
[0267]いくつかの例では、エントロピー復号ユニット70は、さらに、ブロックのための符号化された有効性データを受信する(1126)。これらの例では、エントロピー復号ユニット70は、走査順序に従うブロック内のすべての他の有効係数の位置を示す情報、すなわち、ブロックの有効係数位置情報を決定するために有効性データを復号する(1128)。前に説明したように、ブロックの有効係数位置情報は、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセス(たとえば、CABACプロセス)を実行することによってシーケンスの各有効係数フラグを復号することにより復号され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。
[0268]この例では、コンテキストモデルは、各フラグが所与の値(たとえば、「0」または「1」)を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で復号されるブロックのための符号化された有効係数位置情報を復号するために使用され得る。
[0269]最後に、エントロピー復号ユニット70は、ブロックの走査順序情報に基づいて、符号化された最後有効係数位置情報を復号することを停止する(1130)。たとえば、エントロピー復号ユニット70は、前に説明したように、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の復号に進み得る。
[0270]このように、図11の方法は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングする方法の一例を表す。
[0271]したがって、本開示の技法によれば、符号化ビットストリームは、ビデオデータのブロックのための、すなわち、そのブロックに関連する係数のための最後有効係数位置情報を備え得る。特に、ビデオエンコーダ20は、ブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を符号化し、走査順序が第2の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標を符号化し得る。たとえば、第2の走査順序は、第1の走査順序とは異なり得る。ビデオデコーダ30は、今度は、ブロックの最後有効係数位置情報を復号し得る。特に、ビデオデコーダ30は、走査順序が第1の走査順序を備えるとき、x座標およびy座標を復号し得、走査順序が第2の走査順序を備えるとき、交換されたx座標およびy座標を復号し得る。
[0272]したがって、本開示はまた、符号化ビットストリームを含む、その上に記憶されたデータ構造を備えるコンピュータ可読媒体を企図する。コンピュータ可読媒体に記憶された符号化ビットストリームは、特定のフォーマットを使用して符号化されたビデオデータと、x座標およびy座標を使用して表される、ビデオデータのブロックに関連する走査順序に従うブロック内の最後有効係数の位置を識別する符号化情報とを備え得る。ビットストリーム内でx座標およびy座標が符号化される特定の順序は、ブロックに関連する走査順序が第1の走査順序を備えるか第2の走査順序を備えるかに依存する。より詳細には、走査順序が第1の走査順序を備える場合、ビットストリームは、x座標およびy座標を使用して符号化されたブロックの最後有効係数位置情報を含み得る。この場合、ブロックの最後有効係数位置情報は復号され得、得られたx座標およびy座標は、ブロックを復号するために直接使用され得る。代替的に、走査順序が第2の走査順序を備える場合、ビットストリームは、交換されたx座標およびy座標を使用して符号化されたブロックの最後有効係数位置情報を含み得る。この場合、最後有効係数位置情報は復号され得、交換されたx座標およびy座標はさらに交換され、得られたx座標およびy座標を使用してブロックが復号され得る。
[0273]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0274]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0275]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0276]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0277]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングする方法であって、前記方法は、
前記ブロックに関連する走査順序が第1の走査順序を備えるとき、前記走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングすることと、
前記走査順序が前記第1の走査順序とは異なる第2の走査順序を備えるとき、前記走査順序に従う前記ブロック内の前記最後非ゼロ係数の前記位置を示す交換されたx座標およびy座標をコーディングすることと、
を備える方法。
[2] 前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、[1]に記載の方法。
[3] 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、[1]に記載の方法。
[4] 前記走査順序が、前記第1の走査順序および前記第2の走査順序とは異なる第3の走査順序を備えるとき、前記x座標およびy座標をコーディングすること、をさらに備える、[1]に記載の方法。
[5] 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、[4]に記載の方法。
[6] 前記x座標およびy座標のそれぞれが所与の値を備える確率を示す統計値を決定することをさらに備え、
前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングすることは、前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とをコーディングするために使用され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とをコーディングするために使用されるように、前記統計値に基づいてコーディングすることを備える、[1]に記載の方法。
[7] 前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とを使用して更新され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とを使用して更新されるように、前記x座標およびy座標と、前記交換されたx座標およびy座標とに基づいて前記統計値を更新すること、
をさらに備える、[6]に記載の方法。
[8] 前記統計値に基づいて、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングすることは、少なくとも1つのコンテキストに基づいて前記統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行すること、を備え、
前記少なくとも1つのコンテキストは、前記x座標およびy座標と、前記交換されたx座標およびy座標と、前記走査順序とのうちの1つを含む、
[6]に記載の方法。
[9] 前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、
前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記1つに基づいて前記統計値を含む前記コンテキストモデルを適用することを含む前記コンテキスト適応型エントロピーコーディングプロセスを実行することによって、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングすることは、
他方の座標に対応する前記シーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいて前記コンテキストモデルから前記統計値を選択することによって、前記座標のうちの1つに対応する前記シーケンスの少なくとも1つのビンをコーディングすること
を備える、[8]に記載の方法。
[10] 前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、
前記方法は、インターリーブ式に、前記座標のうちの1つに対応する前記シーケンスの前記1つまたは複数のビンと、前記他方の座標に対応する前記シーケンスの前記1つまたは複数のビンとをコーディングすることをさらに備える、[1]に記載の方法。
[11] 前記走査順序を識別する情報をコーディングすること、
をさらに備える、[1]に記載の方法。
[12] 前記ブロック内の他の非ゼロ係数の位置を識別する情報をコーディングすること、
をさらに備える、[11]に記載の方法。
[13] ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングする方法であって、前記方法は、
前記ブロックに関連する走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングすること、を備え、
前記走査順序は複数の走査順序のうちの1つを備え、前記複数の走査順序の各々は、前記ブロック内の共通の位置において始まり、
前記x座標およびy座標をコーディングすることは、
前記x座標が前記共通の位置に対応するかどうかを示す情報をコーディングすることと、
前記y座標が前記共通の位置に対応するかどうかを示す情報をコーディングすることと、
前記x座標が前記共通の位置に対応せず、前記y座標が前記共通の位置に対応しない場合、前記走査順序を識別する情報をコーディングすることと、
前記x座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記x座標をコーディングすることと、
前記y座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記y座標をコーディングすることと、
を備える、方法。
[14] 前記走査順序に基づいて前記x座標および前記y座標をコーディングすることは、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行することを備え、前記少なくとも1つのコンテキストは前記走査順序を含む、[13]に記載の方法。
[15] ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングするための装置であって、前記装置は、
前記ブロックに関連する走査順序が第1の走査順序を備えるとき、前記走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、
前記走査順序が前記第1の走査順序とは異なる第2の走査順序を備えるとき、前記走査順序に従う前記ブロック内の前記最後非ゼロ係数の前記位置を示す交換されたx座標およびy座標をコーディングする
ように構成されたビデオコーダを備える装置。
[16] 前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、[15]に記載の装置。
[17] 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、[15]に記載の装置。
[18] 前記ビデオコーダは、
前記走査順序が第3の走査順序を備えるとき、前記x座標およびy座標をコーディングするようにさらに構成された、[15]に記載の装置。
[19] 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、[18]に記載の装置。
[20] 前記ビデオコーダは、
前記x座標およびy座標のそれぞれが所与の値を備える確率を示す統計値を決定するようにさらに構成され、
前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングするために、前記ビデオコーダは、前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とをコーディングするために使用され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とをコーディングするために使用されるように、前記統計値に基づいてコーディングするように構成された、[15]に記載の装置。
[21] 前記ビデオコーダは、
前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とを使用して更新され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とを使用して更新されるように、前記x座標およびy座標と、前記交換されたx座標およびy座標とに基づいて前記統計値を更新する
ようにさらに構成された、[20]に記載の装置。
[22] 前記統計値に基づいて、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングするために、前記ビデオコーダは、前記ビデオコーダが少なくとも1つのコンテキストに基づいて前記統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行するように構成され、
前記少なくとも1つのコンテキストは、前記x座標およびy座標と、前記交換されたx座標およびy座標と、前記走査順序とのうちの1つを含む、[20]に記載の装置。
[23] 前記x座標およびy座標と、前記交換されたx座標およびy座標との各々が、1つまたは複数のビンのシーケンスを備え、
前記ビデオコーダが、前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記1つに基づいて前記統計値を含む前記コンテキストモデルを適用することを含む、前記コンテキスト適応型エントロピーコーディングプロセスを実行することによって、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングするために、前記ビデオコーダは、
他方の座標に対応する前記シーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいて前記コンテキストモデルから前記統計値を選択することによって、前記座標のうちの1つに対応する前記シーケンスの少なくとも1つのビンをコーディングする
ように構成された、[22]に記載の装置。
[24] 前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、
前記ビデオコーダは、インターリーブ式に、前記座標のうちの1つに対応する前記シーケンスの前記1つまたは複数のビンと、前記他方の座標に対応する前記シーケンスの前記1つまたは複数のビンとをコーディングするようにさらに構成された、[15]に記載の装置。
[25] 前記装置は、
集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスと、
のうちの少なくとも1つを備える、[15]に記載の装置。
[26] ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングするための装置であって、前記装置は、
前記ブロックに関連する走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングするように構成されたビデオコーダを備え、
前記走査順序は複数の走査順序のうちの1つを備え、前記複数の走査順序の各々は、前記ブロック内の共通の位置において始まり、
前記x座標およびy座標をコーディングするために、前記ビデオコーダは、
前記x座標が前記共通の位置に対応するかどうかを示す情報をコーディングし、
前記y座標が前記共通の位置に対応するかどうかを示す情報をコーディングし、
前記x座標が前記共通の位置に対応せず、前記y座標が前記共通の位置に対応しない場合、前記走査順序を識別する情報をコーディングし、
前記x座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記x座標をコーディングし、
前記y座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記y座標をコーディングするように構成された、装置。
[27] 前記走査順序に基づいて前記x座標および前記y座標をコーディングするために、前記ビデオコーダは、前記ビデオコーダが少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行するように構成され、前記少なくとも1つのコンテキストは前記走査順序を含む、[26]に記載の装置。
[28] 前記装置は、
集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスと、
のうちの少なくとも1つを備える、[26]に記載の装置。
[29] ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングするためのデバイスであって、前記デバイスは、
前記ブロックに関連する走査順序が第1の走査順序を備えるとき、前記走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングする手段と、
前記走査順序が前記第1の走査順序とは異なる第2の走査順序を備えるとき、前記走査順序に従う前記ブロック内の前記最後非ゼロ係数の前記位置を示す交換されたx座標およびy座標をコーディングする手段と、
を備えるデバイス。
[30] 前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、[29]に記載のデバイス。
[31] 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、[29]に記載のデバイス。
[32] 前記走査順序が第3の走査順序を備えるとき、前記x座標およびy座標をコーディングする手段、をさらに備える[29]に記載のデバイス。
[33] 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、[32]に記載のデバイス。
[34] 前記x座標およびy座標のそれぞれが所与の値を備える確率を示す統計値を決定する手段をさらに備え、
前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングする手段は、前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とをコーディングするために使用され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とをコーディングするために使用されるように、前記統計値に基づいてコーディングする手段を備える、
[29]に記載のデバイス。
[35] 前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とを使用して更新され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とを使用して更新されるように、前記x座標およびy座標と、前記交換されたx座標およびy座標とに基づいて前記統計値を更新する手段
をさらに備える、[34]に記載のデバイス。
[36] 前記統計値に基づいて、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングする前記手段は、少なくとも1つのコンテキストに基づいて前記統計値を含むコンテキストモデルを適用する手段を含むコンテキスト適応型エントロピーコーディングプロセスを実行する手段を備え、
前記少なくとも1つのコンテキストは、前記x座標およびy座標と、前記交換されたx座標およびy座標と、前記走査順序とのうちの1つを含む、[34]に記載のデバイス。
[37] 前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、
前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記1つに基づいて前記統計値を含む前記コンテキストモデルを適用する前記手段を含む前記コンテキスト適応型エントロピーコーディングプロセスを実行する前記手段を備える、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングする前記手段は、
他方の座標に対応する前記シーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいて前記コンテキストモデルから前記統計値を選択することによって、前記座標のうちの1つに対応する前記シーケンスの少なくとも1つのビンをコーディングする手段
を備える、[36]に記載のデバイス。
[38] 前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、
前記デバイスは、インターリーブ式に、前記座標のうちの1つに対応する前記シーケンスの前記1つまたは複数のビンと、前記他方の座標に対応する前記シーケンスの前記1つまたは複数のビンとをコーディングする手段をさらに備える、[29]に記載のデバイス。
[39] ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングするためのデバイスであって、前記デバイスは、
前記ブロックに関連する走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングする手段を備え、
前記走査順序は複数の走査順序のうちの1つを備え、前記複数の走査順序の各々が、前記ブロック内の共通の位置において始まり、
前記x座標およびy座標をコーディングする手段は、
前記x座標が前記共通の位置に対応するかどうかを示す情報をコーディングする手段と、
前記y座標が前記共通の位置に対応するかどうかを示す情報をコーディングする手段と、
前記x座標が前記共通の位置に対応せず、前記y座標が前記共通の位置に対応しない場合、前記走査順序を識別する情報をコーディングする手段と、
前記x座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記x座標をコーディングする手段と、
前記y座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記y座標をコーディングする手段と、
を備える、デバイス。
[40] 前記走査順序に基づいて前記x座標および前記y座標をコーディングする前記手段は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用するための手段を含むコンテキスト適応型エントロピーコーディングプロセスを実行する手段を備え、前記少なくとも1つのコンテキストは前記走査順序を含む、[39]に記載のデバイス。
[41] 実行されたとき、プロセッサに、ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングさせる命令を備えるコンピュータ可読媒体であって、前記命令は、前記プロセッサに、
前記ブロックに関連する走査順序が第1の走査順序を備えるとき、前記走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングさせ、
前記走査順序が前記第1の走査順序とは異なる第2の走査順序を備えるとき、前記走査順序に従う前記ブロック内の前記最後非ゼロ係数の前記位置を示す交換されたx座標およびy座標をコーディングさせる、
コンピュータ可読媒体。
[42] 前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、[41]に記載のコンピュータ可読媒体。
[43] 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、[41]に記載のコンピュータ可読媒体。
[44] 前記プロセッサに、
前記走査順序が第3の走査順序を備えるとき、前記x座標およびy座標をコーディングさせる命令をさらに備える、[41]に記載のコンピュータ可読媒体。
[45] 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、[44]に記載のコンピュータ可読媒体。
[46] 前記プロセッサに、
前記x座標およびy座標のそれぞれが所与の値を備える確率を示す統計値を決定させる命令をさらに備え、
前記プロセッサに、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングさせる前記命令は、前記プロセッサに、
前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とをコーディングするために使用され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とをコーディングするために使用されるように、前記統計値に基づいてコーディングさせる命令を備える、
[41]に記載のコンピュータ可読媒体。
[47] 前記プロセッサに、
前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とを使用して更新され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とを使用して更新されるように、前記x座標およびy座標と、前記交換されたx座標およびy座標とに基づいて前記統計値を更新させる命令をさらに備える、
[46]に記載のコンピュータ可読媒体。
[48] 前記プロセッサに、前記統計値に基づいて、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングさせる前記命令は、前記プロセッサに、
少なくとも1つのコンテキストに基づいて前記統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行させる命令を備え、
前記少なくとも1つのコンテキストは、前記x座標およびy座標と、前記交換されたx座標およびy座標と、前記走査順序とのうちの1つを含む、
[46]に記載のコンピュータ可読媒体。
[49] 前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、
前記プロセッサに、前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記1つに基づいて前記統計値を含む前記コンテキストモデルを適用することを含む前記コンテキスト適応型エントロピーコーディングプロセスを実行させる前記命令を備える、前記プロセッサに、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングさせる前記命令は、前記プロセッサに、
他方の座標に対応する前記シーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいて前記コンテキストモデルから前記統計値を選択することによって、前記座標のうちの1つに対応する前記シーケンスの少なくとも1つのビンをコーディングさせる命令
を備える[48]に記載のコンピュータ可読媒体。
[50] 前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、
前記コンピュータ可読媒体は、前記プロセッサに、
インターリーブ式に、前記座標のうちの1つに対応する前記シーケンスの前記1つまたは複数のビンと、前記他方の座標に対応する前記シーケンスの前記1つまたは複数のビンとをコーディングさせる命令をさらに備える、[41]に記載のコンピュータ可読媒体。
[51] 実行されたとき、プロセッサに、ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングさせる命令を備えるコンピュータ可読媒体であって、前記命令は、前記プロセッサに、
前記ブロックに関連する走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングさせ、
前記走査順序は複数の走査順序のうちの1つを備え、前記複数の走査順序の各々は、前記ブロック内の共通の位置において始まり、
前記プロセッサに、前記x座標およびy座標をコーディングさせる前記命令は、前記プロセッサに、
前記x座標が前記共通の位置に対応するかどうかを示す情報をコーディングさせ、
前記y座標が前記共通の位置に対応するかどうかを示す情報をコーディングさせ、
前記x座標が前記共通の位置に対応せず、前記y座標が前記共通の位置に対応しない場合、前記走査順序を識別する情報をコーディングさせ、
前記x座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記x座標をコーディングさせ、
前記y座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記y座標をコーディングさせる命令を備える、
コンピュータ可読媒体。
[52] 前記プロセッサに、前記走査順序に基づいて前記x座標および前記y座標をコーディングさせる前記命令は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行させる命令を備え、前記少なくとも1つのコンテキストは前記走査順序を含む、[51]に記載のコンピュータ可読媒体。

Claims (49)

  1. ビデオ符号化プロセス中にビデオデータのブロックに関連する係数を符号化する方法であって、前記方法は、
    前記ブロック内の最後の非ゼロ係数の水平位置および垂直位置をそれぞれ示すx座標およびy座標のコンテキスト適応型エントロピ符号化を実行するためのコンテキストを決定することと、ここにおいて、前記コンテキストは、ビデオデータの前記ブロックの前記係数が第1の走査順序で走査されるときにx座標およびy座標の各々が所与の値を備える確率を示す、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が符号化され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が符号化されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を符号化することと、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序とは異なる第2の走査順序で走査される場合、前記x座標および前記y座標を交換し、前記y座標が所与の値を備える前記確率に基づいて前記交換されたx座標が符号化され、前記x座標が所与の値を備える前記確率に基づいて前記交換されたy座標が符号化されるように、前記決定されたコンテキストを用いて前記交換されたx座標および前記交換されたy座標を符号化することと
    を備える、方法。
  2. ビデオ復号プロセス中にビデオデータのブロックに関連する係数を復号する方法であって、
    ビットストリーム中でビデオデータの前記ブロックに関連する非ゼロ係数の符号化された値を受信することと、
    前記ブロック内の最後の非ゼロ係数の水平位置および垂直位置をそれぞれ示すx座標およびy座標のコンテキスト適応型エントロピ復号を実行するためのコンテキストを決定することと、ここにおいて、前記コンテキストは、ビデオデータの前記ブロックの前記係数が第1の走査順序で走査されるときにx座標およびy座標の各々が所与の値を備える確率を示す、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序で走査される場合、前記x座標が所与の値を備える確率に基づいて前記x座標が復号され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が復号されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を復号することと、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序とは異なる第2の走査順序で走査される場合、前記x座標および前記y座標を交換し、前記y座標が所与の値を備える前記確率に基づいて前記交換されたx座標が復号され、前記x座標が所与の値を備える前記確率に基づいて前記交換されたy座標が復号されるように、前記決定されたコンテキストを用いて前記交換されたx座標および前記交換されたy座標を復号することと
    を備える、方法。
  3. 前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、請求項1に記載の方法。
  4. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、請求項1に記載の方法。
  5. ビデオデータの前記ブロックの前記係数が前記第1の走査順序および前記第2の走査順序とは異なる第3の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が符号化され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が符号化されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を符号化する、請求項1に記載の方法。
  6. ビデオデータの前記ブロックの前記係数が、前記第1の走査順序および前記第2の走査順序とは異なる第3の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が復号され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が復号されるように前記決定されたコンテキストを用いて前記x座標および前記y座標を復号する、請求項2に記載の方法。
  7. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、請求項5に記載の方法。
  8. 前記走査順序を識別する情報を符号化すること、
    をさらに備える、請求項1に記載の方法。
  9. 前記x座標および前記y座標ならびに前記交換されたx座標およびy座標の各々を符号化することは、1つまたは複数のビンのシーケンスを符号化することを備え、前記コンテキストは、前記ビンの各々が所与の値を有する確率を示す、請求項1に記載の方法。
  10. 前記x座標およびy座標ならびに前記交換されたx座標およびy座標の各々を復号することは、1つまたは複数のビンのシーケンスを復号することを備え、前記コンテキストは、前記ビンの各々が所与の値を有する確率を示す、請求項2に記載の方法。
  11. 前記方法は、
    前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記それぞれの1つに基づいて、ビデオデータの前記ブロックに関連する非ゼロ係数の値を符号化することと、
    ビットストリーム中に前記非ゼロ係数の前記符号化された値を出力することと、
    をさらに備える、請求項1に記載の方法。
  12. ビデオ符号化プロセス中にビデオデータのブロックに関連する係数を符号化するための装置であって、前記装置は、ビデオエンコーダを備え、前記ビデオエンコーダは、
    前記ブロック内の最後の非ゼロ係数の水平位置および垂直位置をそれぞれ示すx座標およびy座標のコンテキスト適応型エントロピ符号化を実行するためのコンテキストを決定することと、ここにおいて、前記コンテキストは、ビデオデータの前記ブロックの前記係数が第1の走査順序で走査されるときに前記x座標および前記y座標の各々が所与の値を備える確率を示す、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が符号化され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が符号化されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を符号化することと、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序とは異なる第2の走査順序で走査される場合、前記x座標および前記y座標を交換し、前記y座標が所与の値を備える前記確率に基づいて前記交換されたx座標が符号化され、前記x座標が所与の値を備える前記確率に基づいて前記交換されたy座標が符号化されるように、前記決定されたコンテキストを用いて前記交換されたx座標および前記交換されたy座標を符号化すること
    を行うように構成された、装置。
  13. ビデオ復号プロセス中にビデオデータのブロックに関連する係数を復号する装置であって、
    前記装置は、ビデオデコーダを備え、前記ビデオデコーダは、
    ビットストリーム中でビデオデータの前記ブロックに関連する非ゼロ係数の符号化された値を受信することと、
    前記ブロック内の最後の非ゼロ係数の水平位置および垂直位置をそれぞれ示すx座標およびy座標のコンテキスト適応型エントロピ復号を実行するためのコンテキストを決定することと、ここにおいて、前記コンテキストは、ビデオデータの前記ブロックの前記係数が第1の走査順序で走査されるときx座標およびy座標の各々が所与の値を備える確率を示す、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が復号され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が復号されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を復号することと、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序とは異なる第2の走査順序で走査される場合、前記x座標および前記y座標を交換し、前記y座標が所与の値を備える前記確率に基づいて前記交換されたx座標が復号され、前記x座標が所与の値を備える前記確率に基づいて前記交換されたy座標が復号されるように、前記決定されたコンテキストを用いて前記交換されたx座標および前記交換されたy座標を復号すること、
    を行うように構成された、装置。
  14. 前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、請求項12に記載の装置。
  15. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、請求項12に記載の装置。
  16. ビデオデータの前記ブロックの前記係数が前記第1の走査順序および前記第2の走査順序とは異なる第3の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が符号化され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が符号化されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を符号化する、請求項12に記載の装置。
  17. ビデオデータの前記ブロックの前記係数が、前記第1の走査順序および前記第2の走査順序とは異なる第3の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が復号され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が復号されるように前記決定されたコンテキストを用いて前記x座標および前記y座標を復号する、請求項13に記載の装置。
  18. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、請求項16に記載の装置。
  19. 前記ビデオエンコーダは、
    前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記それぞれの1つに基づいて、ビデオデータの前記ブロックに関連する非ゼロ係数の値を符号化することと、
    ビットストリーム中に前記非ゼロ係数の前記符号化された値を出力することと、
    を行うようにさらに構成された、請求項12に記載の装置。
  20. 前記装置は、
    集積回路と、
    マイクロプロセッサと、
    前記ビデオコーダを含むワイヤレス通信デバイスと、
    のうちの少なくとも1つを備える、請求項12に記載の装置。
  21. 前記x座標およびy座標ならびに前記交換されたx座標およびy座標の各々を符号化するために、前記ビデオエンコーダは、1つまたは複数のビンのシーケンスを符号化するように構成され、前記コンテキストは、前記ビンの各々が所与の値を有する確率を示す、請求項12に記載の装置。
  22. 前記x座標およびy座標ならびに前記交換されたx座標およびy座標の各々を復号するために、前記ビデオデコーダは、1つまたは複数のビンのシーケンスを復号するように構成され、前記コンテキストは、前記ビンの各々が所与の値を有する確率を示す、請求項13に記載の装置。
  23. ビデオ符号化プロセス中にビデオデータのブロックに関連する係数を符号化するためのデバイスであって、前記デバイスは、
    前記ブロック内の最後の非ゼロ係数の水平位置および垂直位置をそれぞれ示すx座標およびy座標のコンテキスト適応型エントロピ符号化を実行するためのコンテキストを決定する手段と、ここにおいて、前記コンテキストは、ビデオデータの前記ブロックの前記係数が第1の走査順序で走査されるときにx座標およびy座標の各々が所与の値を備える確率を示す、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が符号化され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が符号化されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を符号化する手段と、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序とは異なる第2の走査順序で走査される場合、前記x座標および前記y座標を交換し、前記y座標が所与の値を備える前記確率に基づいて前記交換されたx座標が符号化され、前記x座標が所与の値を備える前記確率に基づいて前記交換されたy座標が符号化されるように、前記決定されたコンテキストを用いて前記交換されたx座標および前記交換されたy座標を符号化する手段と
    を備えるデバイス。
  24. ビデオ復号プロセス中にビデオデータのブロックに関連する係数を復号するためのデバイスであって、前記デバイスは、
    ビットストリーム中でビデオデータの前記ブロックに関連する非ゼロ係数の符号化された値を受信する手段と、
    前記ブロック内の最後の非ゼロ係数の水平位置および垂直位置をそれぞれ示すx座標およびy座標のコンテキスト適応型エントロピ復号を実行するためのコンテキストを決定する手段と、ここにおいて、前記コンテキストは、ビデオデータの前記ブロックの前記係数が第1の走査順序で走査されるときにx座標およびy座標の各々が所与の値を備える確率を示す、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が復号され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が復号されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を復号する手段と、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序とは異なる第2の走査順序で走査される場合、前記x座標および前記y座標を交換し、前記y座標が所与の値を備える前記確率に基づいて前記交換されたx座標が復号され、前記x座標が所与の値を備える前記確率に基づいて前記交換されたy座標が復号されるように、前記決定されたコンテキストを用いて前記交換されたx座標および前記交換されたy座標を復号する手段と
    を備える、デバイス。
  25. 前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、請求項23に記載のデバイス。
  26. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、請求項23に記載のデバイス。
  27. ビデオデータの前記ブロックの前記係数が前記第1の走査順序および前記第2の走査順序とは異なる第3の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が符号化され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が符号化されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を符号化する、請求項23に記載のデバイス。
  28. ビデオデータの前記ブロックの前記係数が、前記第1の走査順序および前記第2の走査順序とは異なる第3の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が復号され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が復号されるように前記決定されたコンテキストを用いて前記x座標および前記y座標を復号する、請求項24に記載のデバイス。
  29. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、請求項27に記載のデバイス。
  30. 前記デバイスは、
    前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記それぞれの1つに基づいて、ビデオデータの前記ブロックに関連する非ゼロ係数の値を符号化する手段と、
    ビットストリーム中に前記非ゼロ係数の前記符号化された値を出力する手段と、
    をさらに備える、請求項23に記載のデバイス。
  31. 前記x座標およびy座標ならびに前記交換されたx座標およびy座標の各々を符号化する手段は、1つまたは複数のビンのシーケンスを符号化する手段を備え、前記コンテキストは、前記ビンの各々が所与の値を有する確率を示す、請求項23に記載のデバイス。
  32. 前記x座標およびy座標ならびに前記交換されたx座標およびy座標の各々を復号する手段は、1つまたは複数のビンのシーケンスを復号する手段を備え、前記コンテキストは、前記ビンの各々が所与の値を有する確率を示す、請求項24に記載のデバイス。
  33. 実行されたとき、プロセッサに、ビデオ符号化プロセス中にビデオデータのブロックに関連する係数を符号化させる命令を備えるコンピュータ可読媒体であって、前記命令は、前記プロセッサに、
    前記ブロック内の最後の非ゼロ係数の水平位置および垂直位置をそれぞれ示すx座標およびy座標のコンテキスト適応型エントロピ符号化を実行するためのコンテキストを決定させ、ここにおいて、前記コンテキストは、ビデオデータの前記ブロックの前記係数が第1の走査順序で走査されるときにx座標およびy座標の各々が所与の値を備える確率を示す、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が符号化され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が符号化されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を符号化させ、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序とは異なる第2の走査順序で走査される場合、前記x座標および前記y座標を交換させ、前記y座標が所与の値を備える前記確率に基づいて前記交換されたx座標が符号化され、前記x座標が所与の値を備える前記確率に基づいて前記交換されたy座標が符号化されるように、前記決定されたコンテキストを用いて前記交換されたx座標および前記交換されたy座標を符号化させる、コンピュータ可読媒体。
  34. 実行されたとき、プロセッサに、ビデオ復号プロセス中にビデオデータのブロックに関連する係数を復号させる命令を備えるコンピュータ可読媒体であって、前記命令は、前記プロセッサに、
    ビットストリーム中でビデオデータの前記ブロックに関連する非ゼロ係数の符号化された値を受信させ、
    前記ブロック内の最後の非ゼロ係数の水平位置および垂直位置をそれぞれ示すx座標およびy座標のコンテキスト適応型エントロピ復号を実行するためのコンテキストを決定させ、ここにおいて、前記コンテキストは、ビデオデータの前記ブロックの前記係数が第1の走査順序で走査されるときにx座標およびy座標の各々が所与の値を備える確率を示す、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序で走査される場合、前記x座標が所与の値を備える前記確率に基づいて前記x座標が復号され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が復号されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を復号させ、
    ビデオデータの前記ブロックの前記係数が前記第1の走査順序とは異なる第2の走査順序で走査される場合、前記x座標および前記y座標を交換させ、前記y座標が所与の値を備える前記確率に基づいて前記交換されたx座標が復号され、前記x座標が所与の値を備える前記確率に基づいて前記交換されたy座標が復号されるように、前記決定されたコンテキストを用いて前記交換されたx座標および前記交換されたy座標を復号させる、コンピュータ可読媒体。
  35. 前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、請求項33に記載のコンピュータ可読媒体。
  36. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、請求項33に記載のコンピュータ可読媒体。
  37. ビデオデータの前記ブロックの前記係数が前記第1の走査順序および前記第2の走査順序とは異なる第3の走査順序で走査される場合、前記命令は、前記プロセッサに、前記x座標が所与の値を備える前記確率に基づいて前記x座標が符号化され、前記y座標が所与の値を備える確率に基づいて前記y座標が符号化されるように、前記決定されたコンテキストを用いて前記x座標および前記y座標を符号化させる、請求項33に記載のコンピュータ可読媒体。
  38. ビデオデータの前記ブロックの前記係数が、前記第1の走査順序および前記第2の走査順序とは異なる第3の走査順序で走査される場合、前記命令は、前記プロセッサに、前記x座標が所与の値を備える前記確率に基づいて前記x座標が復号され、前記y座標が所与の値を備える前記確率に基づいて前記y座標が復号されるように前記決定されたコンテキストを用いて前記x座標および前記y座標を復号させる、請求項34に記載のコンピュータ可読媒体。
  39. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、請求項37に記載のコンピュータ可読媒体。
  40. 前記コンピュータ可読媒体は、前記プロセッサに、
    前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記それぞれの1つに基づいて、ビデオデータの前記ブロックに関連する非ゼロ係数の値を符号化させ、
    ビットストリーム中に前記非ゼロ係数の前記符号化された値を出力させる
    命令をさらに備える、請求項33に記載のコンピュータ可読媒体。
  41. 前記x座標およびy座標ならびに前記交換されたx座標およびy座標の各々を符号化するために、前記命令は、前記プロセッサに、1つまたは複数のビンのシーケンスを符号化させ、前記コンテキストは、前記ビンの各々が所与の値を有する確率を示す、請求項33に記載のコンピュータ可読媒体。
  42. 前記x座標およびy座標ならびに前記交換されたx座標およびy座標の各々を復号するために、前記命令は、前記プロセッサに、1つまたは複数のビンのシーケンスを復号させ、前記コンテキストは、前記ビンの各々が所与の値を有する確率を示す、請求項34に記載のコンピュータ可読媒体。
  43. 前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、請求項2に記載の方法。
  44. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、請求項2に記載の方法。
  45. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、請求項6に記載の方法。
  46. 前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、請求項13に記載の装置。
  47. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、請求項13に記載の装置。
  48. 前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、請求項17に記載の装置。
  49. 前記装置は、
    集積回路と、
    マイクロプロセッサと、
    前記ビデオコーダを含むワイヤレス通信デバイスと、
    のうちの少なくとも1つを備える、請求項13に記載の装置。
JP2013542151A 2010-12-03 2011-11-30 ビデオコーディングにおいてブロックの走査順序に基づいてビデオブロック内の最後有効係数の位置をコーディングすること Active JP5746363B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US41974010P 2010-12-03 2010-12-03
US61/419,740 2010-12-03
US201061426360P 2010-12-22 2010-12-22
US201061426426P 2010-12-22 2010-12-22
US201061426372P 2010-12-22 2010-12-22
US61/426,360 2010-12-22
US61/426,426 2010-12-22
US61/426,372 2010-12-22
US13/303,015 2011-11-22
US13/303,015 US9042440B2 (en) 2010-12-03 2011-11-22 Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
PCT/US2011/062715 WO2012075193A1 (en) 2010-12-03 2011-11-30 Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding

Publications (2)

Publication Number Publication Date
JP2013545415A JP2013545415A (ja) 2013-12-19
JP5746363B2 true JP5746363B2 (ja) 2015-07-08

Family

ID=46162210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013542151A Active JP5746363B2 (ja) 2010-12-03 2011-11-30 ビデオコーディングにおいてブロックの走査順序に基づいてビデオブロック内の最後有効係数の位置をコーディングすること

Country Status (16)

Country Link
US (2) US9042440B2 (ja)
EP (4) EP3361641B1 (ja)
JP (1) JP5746363B2 (ja)
KR (1) KR101523452B1 (ja)
CN (1) CN103238323B (ja)
AU (1) AU2011336601B2 (ja)
BR (1) BR112013013650B1 (ja)
CA (1) CA2818436C (ja)
ES (2) ES2963135T3 (ja)
HK (1) HK1185488A1 (ja)
IL (1) IL226209A (ja)
MY (1) MY161436A (ja)
RU (1) RU2541226C2 (ja)
SG (1) SG190691A1 (ja)
WO (1) WO2012075193A1 (ja)
ZA (1) ZA201304933B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017043763A1 (ko) * 2015-09-10 2017-03-16 삼성전자 주식회사 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RS56250B1 (sr) 2010-07-09 2017-11-30 Samsung Electronics Co Ltd Uređaj za entropijsko dekodiranje koeficijenta transformacije
US10091529B2 (en) 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
US9497472B2 (en) 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
US9042440B2 (en) * 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block 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
US8755620B2 (en) 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding
US8687904B2 (en) * 2011-01-14 2014-04-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US9338449B2 (en) 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
CN103597838B (zh) * 2011-04-15 2017-03-29 黑莓有限公司 对末位有效系数的位置进行编码和解码的方法和设备
MX2014000172A (es) * 2011-06-28 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para codificar video y metodo y aparato para decodificar video acompañados por una codificacion aritmetica.
US9491469B2 (en) 2011-06-28 2016-11-08 Qualcomm Incorporated Coding of last significant transform coefficient
WO2013017092A1 (en) 2011-08-04 2013-02-07 Mediatek Inc. Method and apparatus for reordered binarization of syntax elements in cabac
TWI613907B (zh) * 2011-11-08 2018-02-01 三星電子股份有限公司 用於解碼視訊的方法
CN107483944B (zh) 2011-11-08 2020-06-05 株式会社Kt 利用解码装置对视频信号进行解码的方法
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
US9654139B2 (en) * 2012-01-19 2017-05-16 Huawei Technologies Co., Ltd. High throughput binarization (HTB) method for CABAC in HEVC
US9743116B2 (en) 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding 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
US20130188736A1 (en) 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing for cabac in hevc
US9237344B2 (en) * 2012-03-22 2016-01-12 Qualcomm Incorporated Deriving context for last position coding for video coding
US9756327B2 (en) 2012-04-03 2017-09-05 Qualcomm Incorporated Quantization matrix and deblocking filter adjustments for video coding
KR20130112374A (ko) * 2012-04-04 2013-10-14 한국전자통신연구원 고속 인트라 예측을 위한 영상 부호화 방법 및 장치
SG10201707023VA (en) 2012-04-15 2017-10-30 Samsung Electronics Co Ltd Parameter update method for entropy coding and decoding of conversion coefficient level, and entropy coding device and entropy decoding device of conversion coefficient level using same
US9621921B2 (en) 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
MX2013015089A (es) 2012-05-25 2014-02-21 Panasonic Corp Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imágenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
SG10201803891XA (en) 2012-05-25 2018-07-30 Velos Media Int Ltd Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
WO2013175736A1 (ja) * 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
PL2858357T3 (pl) 2012-06-04 2022-11-21 Sun Patent Trust Sposób kodowania obrazów wideo, sposób dekodowania obrazów wideo
JP6788346B2 (ja) * 2012-10-01 2020-11-25 ジーイー ビデオ コンプレッション エルエルシー ベース層からの予測のための副ブロックの副分割の派生を使用するスケーラブルビデオ符号化
US10003804B2 (en) 2012-12-27 2018-06-19 Nec Corporation Video coding device using quantizing an orthogonal transform coefficient
EP3010230A4 (en) * 2013-06-11 2016-11-16 Nec Corp VIDEO CODING DEVICE, VIDEO PROCESSING AND VIDEO PROGRAM
US9445132B2 (en) * 2013-09-09 2016-09-13 Qualcomm Incorporated Two level last significant coefficient (LSC) position coding
US9215464B2 (en) * 2013-09-19 2015-12-15 Blackberry Limited Coding position data for the last non-zero transform coefficient in a coefficient group
CN104853196B (zh) * 2014-02-18 2018-10-19 华为技术有限公司 编解码方法和装置
EP3120561B1 (en) * 2014-03-16 2023-09-06 VID SCALE, Inc. Method and apparatus for the signaling of lossless video coding
JP6341756B2 (ja) * 2014-05-26 2018-06-13 キヤノン株式会社 画像処理装置、画像処理装置の制御方法
CN106657961B (zh) * 2015-10-30 2020-01-10 微软技术许可有限责任公司 立体视频的混合数字-模拟编码
RU2606370C1 (ru) * 2015-12-03 2017-01-10 Общество с ограниченной ответственностью "РОБОСИВИ" (ООО "РОБОСИВИ") Способ сегментирования лазерных сканов и система для его осуществления
US10602192B2 (en) * 2016-02-04 2020-03-24 Mediatek Inc. Methods and apparatuses for performing entropy encoding and entropy decoding with size determination of at least one bitstream portion
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
EP3509301B1 (en) 2016-08-31 2023-08-09 KT Corporation Method and device for processing video signal
US10817587B2 (en) 2017-02-28 2020-10-27 Texas Instruments Incorporated Reconfigurable matrix multiplier system and method
US10735023B2 (en) 2017-02-24 2020-08-04 Texas Instruments Incorporated Matrix compression accelerator system and method
US10810281B2 (en) 2017-02-24 2020-10-20 Texas Instruments Incorporated Outer product multipler system and method
US11086967B2 (en) 2017-03-01 2021-08-10 Texas Instruments Incorporated Implementing fundamental computational primitives using a matrix multiplication accelerator (MMA)
US10523968B2 (en) 2017-09-18 2019-12-31 Google Llc Coding of last significant coefficient flags
WO2019199838A1 (en) * 2018-04-12 2019-10-17 Futurewei Technologies, Inc. Reducing context switching for coding transform coefficients
US11128866B2 (en) 2018-10-18 2021-09-21 Qualcomm Incorporated Scans and last coefficient position coding for zero-out transforms
US11677955B2 (en) 2019-01-15 2023-06-13 Lg Electronics Inc. Image decoding method for coding residual information on basis of high frequency zeroing in image coding system, and device therefor
US20220277491A1 (en) * 2019-05-31 2022-09-01 Electronics And Telecommunications Research Institute Method and device for machine learning-based image compression using global context
KR20220024500A (ko) * 2019-07-12 2022-03-03 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
CN112449192B (zh) * 2019-08-27 2022-09-16 杭州海康威视数字技术股份有限公司 解码方法、编码方法及装置
US11785219B2 (en) 2020-04-13 2023-10-10 Qualcomm Incorporated Coefficient coding for support of different color formats in video coding

Family Cites Families (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1679903A (en) 1928-01-12 1928-08-07 Chase Appliance Corp Anticreeping device for railway rails
US5295203A (en) 1992-03-26 1994-03-15 General Instrument Corporation Method and apparatus for vector coding of video transform coefficients
JPH06205388A (ja) 1992-12-28 1994-07-22 Canon Inc 画像符号化装置
EP0607484B1 (en) 1993-01-20 1998-09-09 Samsung Electronics Co. Ltd. Method and device for encoding and decoding image data
EP1802134A3 (en) 1995-03-15 2008-12-31 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
US5838825A (en) 1996-01-17 1998-11-17 Matsushita Electric Industrial Co., Ltd. Apparatus for decompressing image data which has been compressed using a linear transform
US5818877A (en) 1996-03-14 1998-10-06 The Regents Of The University Of California Method for reducing storage requirements for grouped data values
US6301304B1 (en) 1998-06-17 2001-10-09 Lsi Logic Corporation Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
US6553147B2 (en) 1998-10-05 2003-04-22 Sarnoff Corporation Apparatus and method for data partitioning to improving error resilience
EP1041826A1 (en) 1999-04-01 2000-10-04 Lucent Technologies Inc. Apparatus for coding data and apparatus for decoding block transform coefficients
US6775414B1 (en) * 1999-11-19 2004-08-10 Ati International Srl Variable-length code decoder
US6680974B1 (en) 1999-12-02 2004-01-20 Lucent Technologies Inc. Methods and apparatus for context selection of block transform coefficients
US6650707B2 (en) * 2001-03-02 2003-11-18 Industrial Technology Research Institute Transcoding apparatus and method
US20020122483A1 (en) * 2001-03-02 2002-09-05 Matsushita Electric Industrial Co., Ltd. Encoding circuit and method
WO2002078355A1 (en) 2001-03-23 2002-10-03 Nokia Corporation Variable length coding
US6856701B2 (en) 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
EP1445955A4 (en) * 2001-11-16 2009-10-28 Ntt Docomo Inc IMAGE ENCODING METHOD, IMAGE DECODING METHOD, ENCODER AND IMAGE DECODER, PROGRAM, COMPUTER DATA SIGNAL, AND IMAGE TRANSMISSION SYSTEM
US7190840B2 (en) 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
JP3866580B2 (ja) 2002-01-30 2007-01-10 日本電信電話株式会社 画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム及びそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体
US7099387B2 (en) 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
JP4090862B2 (ja) 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
KR100729270B1 (ko) 2002-05-02 2007-06-15 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우. 이미지 및/또는 비디오 인코더 및 디코더에서의변환계수를 인코딩하는 방법 및 장치, 및 이에 대응하는컴퓨터 프로그램 및 컴퓨터로 읽을 수 있는 저장매체
US7376280B2 (en) 2002-07-14 2008-05-20 Apple Inc Video encoding and decoding
US7483575B2 (en) 2002-10-25 2009-01-27 Sony Corporation Picture encoding apparatus and method, program and recording medium
US6646578B1 (en) 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US20050036549A1 (en) 2003-08-12 2005-02-17 Yong He Method and apparatus for selection of scanning mode in dual pass encoding
US7688894B2 (en) 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7379608B2 (en) 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
US7599435B2 (en) 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7522774B2 (en) 2004-03-10 2009-04-21 Sindhara Supermedia, Inc. Methods and apparatuses for compressing digital image data
US20060078049A1 (en) 2004-10-13 2006-04-13 Nokia Corporation Method and system for entropy coding/decoding of a video bit stream for fine granularity scalability
NO322043B1 (no) 2004-12-30 2006-08-07 Tandberg Telecom As Fremgangsmate for forenklet entropikoding
US8311119B2 (en) * 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
US7609904B2 (en) 2005-01-12 2009-10-27 Nec Laboratories America, Inc. Transform coding system and method
JP2006211304A (ja) 2005-01-28 2006-08-10 Matsushita Electric Ind Co Ltd 映像符号化装置、映像復号化装置、映像符号化方法、映像復号化方法、映像符号化プログラムおよび映像復号化プログラム
US20060227865A1 (en) 2005-03-29 2006-10-12 Bhaskar Sherigar Unified architecture for inverse scanning for plurality of scanning scheme
EP1768415A1 (en) 2005-09-27 2007-03-28 Matsushita Electric Industrial Co., Ltd. Adaptive scan order of DCT coefficients and its signaling
US8599925B2 (en) 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US20070071331A1 (en) 2005-09-24 2007-03-29 Xiteng Liu Image compression by economical quaternary reaching method
WO2007043583A1 (ja) 2005-10-11 2007-04-19 Matsushita Electric Industrial Co., Ltd. 画像符号化装置、画像復号化装置及びこれらの方法
WO2007063472A2 (en) 2005-11-30 2007-06-07 Koninklijke Philips Electronics N.V. Encoding method and apparatus applying coefficient reordering
KR100867995B1 (ko) 2006-01-07 2008-11-10 한국전자통신연구원 동영상 데이터 인코딩/디코딩 방법 및 그 장치
US7884742B2 (en) 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
US8275045B2 (en) 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US8942292B2 (en) 2006-10-13 2015-01-27 Qualcomm Incorporated Efficient significant coefficients coding in scalable video codecs
US8098735B2 (en) 2006-12-21 2012-01-17 Lsi Corporation Efficient 8×8 CABAC residual block decode
US7369066B1 (en) 2006-12-21 2008-05-06 Lsi Logic Corporation Efficient 8×8 CABAC residual block transcode system
WO2008080516A1 (de) 2006-12-27 2008-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zum kodieren eines transformationskoeffizientenblockes
DK2123052T3 (da) 2007-01-18 2011-02-28 Fraunhofer Ges Forschung Kvalitetsskalerbar videodatastrøm
KR101356733B1 (ko) 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
EP2120461B1 (en) 2007-03-14 2011-07-06 Nippon Telegraph and Telephone Corporation Code quantity estimating method and device, their program, and recording medium
US7813567B2 (en) 2007-04-26 2010-10-12 Texas Instruments Incorporated Method of CABAC significance MAP decoding suitable for use on VLIW data processors
US7885473B2 (en) 2007-04-26 2011-02-08 Texas Instruments Incorporated Method of CABAC coefficient magnitude and sign decoding suitable for use on VLIW data processors
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8619853B2 (en) 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
US7535387B1 (en) 2007-09-10 2009-05-19 Xilinx, Inc. Methods and systems for implementing context adaptive binary arithmetic coding
US8204327B2 (en) 2007-10-01 2012-06-19 Cisco Technology, Inc. Context adaptive hybrid variable length coding
KR101394153B1 (ko) 2007-12-11 2014-05-16 삼성전자주식회사 양자화 방법 및 장치, 역양자화 방법 및 장치
US8891615B2 (en) 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
US8977064B2 (en) 2008-02-13 2015-03-10 Qualcomm Incorporated Rotational transcoding for JPEG or other coding standards
KR101375668B1 (ko) 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
EP2154894A1 (en) 2008-08-15 2010-02-17 Thomson Licensing Video coding with coding of the locations of significant coefficients in a block of coefficients
US7932843B2 (en) 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
EP2182732A1 (en) 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
EP2371066A4 (en) 2008-12-03 2014-06-04 Nokia Corp SWITCHING BETWEEN CODING MODES FOR DCT COEFFICIENTS
US8004431B2 (en) 2008-12-09 2011-08-23 Qualcomm Incorporated Fast parsing of variable-to-fixed-length codes
US20110249755A1 (en) 2008-12-16 2011-10-13 Youji Shibahara Moving image coding method, moving image decoding method, moving image coding apparatus, moving image decoding apparatus, program, and integrated circuit
KR20220123340A (ko) 2009-01-27 2022-09-06 인터디지털 브이씨 홀딩스 인코포레이티드 비디오 인코딩 및 디코딩에서 변환 선택을 위한 방법 및 장치
JP5004986B2 (ja) 2009-03-19 2012-08-22 キヤノン株式会社 スキャン変換装置及び画像符号化装置、並びにそれらの制御方法
JP5302769B2 (ja) 2009-05-14 2013-10-02 キヤノン株式会社 スキャン変換装置及び画像符号化装置及びそれらの制御方法
US9100648B2 (en) 2009-06-07 2015-08-04 Lg Electronics Inc. Method and apparatus for decoding a video signal
KR20100136890A (ko) 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
US8294603B2 (en) 2009-06-30 2012-10-23 Massachusetts Institute Of Technology System and method for providing high throughput entropy coding using syntax element partitioning
WO2011007478A1 (ja) 2009-07-17 2011-01-20 日本電気株式会社 ウェーブレット変換符号化/復号方法および装置
US8619866B2 (en) 2009-10-02 2013-12-31 Texas Instruments Incorporated Reducing memory bandwidth for processing digital image data
US8477845B2 (en) 2009-10-16 2013-07-02 Futurewei Technologies, Inc. Predictive adaptive scan ordering for video coding
KR101457894B1 (ko) 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
KR20110045949A (ko) 2009-10-28 2011-05-04 삼성전자주식회사 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
TW201119407A (en) 2009-11-19 2011-06-01 Thomson Licensing Method for coding and method for reconstruction of a block of an image
WO2011087908A1 (en) 2010-01-15 2011-07-21 Thomson Licensing Video coding using compressive sensing
US8588536B2 (en) 2010-02-22 2013-11-19 Texas Instruments Incorporated Guaranteed-rate tiled image data compression
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
ES2912048T3 (es) 2010-04-13 2022-05-24 Ge Video Compression Llc Codificación de mapas de significado y bloques de coeficiente de transformada
US9172968B2 (en) 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms
RS56250B1 (sr) 2010-07-09 2017-11-30 Samsung Electronics Co Ltd Uređaj za entropijsko dekodiranje koeficijenta transformacije
US20120027081A1 (en) 2010-07-30 2012-02-02 Cisco Technology Inc. Method, system, and computer readable medium for implementing run-level coding
US9154801B2 (en) 2010-09-30 2015-10-06 Texas Instruments Incorporated Method and apparatus for diagonal scan and simplified coding of transform coefficients
US9042440B2 (en) * 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block 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
US20120163472A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Efficiently coding scanning order information for a video block in video coding
WO2012093969A1 (en) 2011-01-07 2012-07-12 Agency For Science, Technology And Research Method and an apparatus for coding an image
US8687904B2 (en) * 2011-01-14 2014-04-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding
US8891617B2 (en) 2011-01-18 2014-11-18 Google Inc. Method and system for processing video data
US20120207400A1 (en) * 2011-02-10 2012-08-16 Hisao Sasai Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US9338449B2 (en) 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
US8861599B2 (en) * 2011-03-08 2014-10-14 Sony Corporation Context reduction for last transform position coding
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US8861593B2 (en) 2011-03-15 2014-10-14 Sony Corporation Context adaptation within video coding modules
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
US9491469B2 (en) 2011-06-28 2016-11-08 Qualcomm Incorporated Coding of last significant transform coefficient
MY170555A (en) 2012-01-20 2019-08-19 Ge Video Compression Llc Transform coefficient coding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017043763A1 (ko) * 2015-09-10 2017-03-16 삼성전자 주식회사 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법
US10531102B2 (en) 2015-09-10 2020-01-07 Samsung Electronics Co., Ltd. Encoding device, decoding device, and encoding and decoding method thereof

Also Published As

Publication number Publication date
EP3709519A1 (en) 2020-09-16
ES2673939T3 (es) 2018-06-26
IL226209A0 (en) 2013-07-31
EP3361641A1 (en) 2018-08-15
US20120140814A1 (en) 2012-06-07
BR112013013650B1 (pt) 2021-03-23
JP2013545415A (ja) 2013-12-19
IL226209A (en) 2017-05-29
EP3926833B1 (en) 2023-10-18
AU2011336601A1 (en) 2013-06-06
EP3926833A1 (en) 2021-12-22
US9042440B2 (en) 2015-05-26
EP2647204B1 (en) 2018-04-04
BR112013013650A2 (pt) 2016-09-13
ZA201304933B (en) 2014-03-26
US9055290B2 (en) 2015-06-09
RU2013130251A (ru) 2015-01-10
KR20130095310A (ko) 2013-08-27
KR101523452B1 (ko) 2015-05-27
EP3709519B8 (en) 2021-11-10
EP3361641B1 (en) 2020-05-20
ES2963135T3 (es) 2024-03-25
EP2647204A1 (en) 2013-10-09
SG190691A1 (en) 2013-07-31
AU2011336601B2 (en) 2015-09-24
EP3926833C0 (en) 2023-10-18
CA2818436C (en) 2016-09-13
EP3709519B1 (en) 2021-09-22
RU2541226C2 (ru) 2015-02-10
HK1185488A1 (zh) 2014-02-14
MY161436A (en) 2017-04-14
US20140341274A1 (en) 2014-11-20
CN103238323B (zh) 2016-05-11
CA2818436A1 (en) 2012-06-07
WO2012075193A1 (en) 2012-06-07
CN103238323A (zh) 2013-08-07

Similar Documents

Publication Publication Date Title
JP5746363B2 (ja) ビデオコーディングにおいてブロックの走査順序に基づいてビデオブロック内の最後有効係数の位置をコーディングすること
US11330272B2 (en) Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
JP5868995B2 (ja) ビデオ符号化におけるビデオブロックの最後尾有意係数の位置の個別符号化
US20120163448A1 (en) Coding the position of a last significant coefficient of a video block in video coding
WO2012088331A1 (en) Efficiently coding scanning order information for a video block in video coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130802

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150306

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150507

R150 Certificate of patent or registration of utility model

Ref document number: 5746363

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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