JP2015516768A - 変換係数コーディング - Google Patents

変換係数コーディング Download PDF

Info

Publication number
JP2015516768A
JP2015516768A JP2015505990A JP2015505990A JP2015516768A JP 2015516768 A JP2015516768 A JP 2015516768A JP 2015505990 A JP2015505990 A JP 2015505990A JP 2015505990 A JP2015505990 A JP 2015505990A JP 2015516768 A JP2015516768 A JP 2015516768A
Authority
JP
Japan
Prior art keywords
context
block
scan
video
scan order
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.)
Pending
Application number
JP2015505990A
Other languages
English (en)
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 JP2015516768A publication Critical patent/JP2015516768A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

ブロックの変換係数のための走査順序を判断するための技法について説明される。本技法は、判断された走査順序に基づいて変換係数のための有意性シンタックス要素を符号化または復号するためのコンテキストを判断し得る。ビデオエンコーダは有意性シンタックス要素を符号化し得、ビデオデコーダは、判断されたコンテキストに基づいて有意性シンタックス要素を復号し得る。

Description

関連出願
[0001] 本出願は、その各々の内容全体が参照により本明細書に組み込まれる、2012年4月16日に出願された米国仮出願第61/625,039号、および2012年7月2日に出願された米国仮出願第61/667,382号の利益を主張する。
[0002] 本開示は、ビデオコーディングに関し、より詳細には、ビデオコーディングにおいて使用される、変換係数(transform coefficient)に関連するシンタックス要素をコーディングするための技法に関する。
[0003] デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ビデオコーディング規格に従って定義されるビデオ圧縮技法を実装する。デジタルビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。ビデオコーディング規格は、ITU−T H.261と、ISO/IEC MPEG−1 Visualと、ITU−T H.262またはISO/IEC MPEG−2 Visualと、ITU−T H.263と、ISO/IEC MPEG−4 Visualと、それのスケーラブルビデオコーディング(SVC:Scalable Video Coding)およびマルチビュービデオコーディング(MVC:Multiview Video Coding)拡張を含む(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264とを含む。さらに、高効率ビデオコーディング(HEVC:High-Efficiency Video Coding)は、ITU−Tビデオコーディングエキスパーツグループ(VCEG: Video Coding Experts Group)とISO/IECモーションピクチャエキスパーツグループ(MPEG)とのビデオコーディング共同研究部会(JCT−VC:Joint Collaboration Team on Video Coding:Motion Picture Experts Group)によって開発されているビデオコーディング規格である。
[0004] ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部)はビデオブロックに区分され得、これらのビデオブロックは、ツリーブロック、コーディングユニット(CU:coding unit)および/またはコーディングノードと呼ばれることがある。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005] 空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数(residual transform coefficient)が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数(quantized transform coefficient)は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディング(entropy coding)が適用され得る。
[0006] 概して、本開示は、ブロックの変換係数に関連するシンタックス要素(たとえば、有意性フラグ(significance flag))を表すデータを符号化および復号するための技法について説明する。いくつかの技法では、ビデオエンコーダおよびビデオデコーダがそれぞれ、コンテキスト適応型バイナリ算術コーディング(CABAC:context adaptive binary arithmetic coding)のために使用されるべきコンテキストを判断する。より詳細に説明するように、ビデオエンコーダおよびビデオデコーダは、ブロックのための走査順序(scan order)を判断し、走査順序に基づいてコンテキストを判断する。いくつかの例では、ビデオデコーダは、2つ以上の走査順序について同じであるコンテキストを判断し、他の走査順序について異なるコンテキストを判断する。同様に、これらの例では、ビデオエンコーダは、2つ以上の走査順序について同じであるコンテキストを判断し、他の走査順序について異なるコンテキストを判断する。
[0007] 一例では、本開示は、ビデオデータを復号するための方法について説明する。コード化ビットストリームから、ブロックの変換係数の有意性フラグを受信することと、ブロックの変換係数のための走査順序を判断することと、判断された走査順序に基づいてブロックの変換係数の有意性フラグのためのコンテキストを判断することと、少なくとも判断されたコンテキストに基づいて変換係数の有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)復号することとを備える方法。
[0008] 別の例では、本開示は、ビデオデータを符号化するための方法について説明する。ブロックの変換係数のための走査順序を判断することと、判断された走査順序に基づいてブロックの変換係数の有意性フラグのためのコンテキストを判断することと、少なくとも判断されたコンテキストに基づいて変換係数の有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化することと、コード化ビットストリーム中で符号化された有意性フラグをシグナリングすることとを備える方法。
[0009] 別の例では、本開示は、ビデオデータをコーディングするための装置について説明する。その装置は、ブロックの変換係数のための走査順序を判断することと、判断された走査順序に基づいてブロックの変換係数の有意性フラグのためのコンテキストを判断することと、少なくとも判断されたコンテキストに基づいて変換係数の有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)コーディングすることとを行うように構成されたビデオコーダを備える。
[0010] 別の例では、本開示は、ビデオデータをコーディングするための装置について説明する。その装置は、ブロックの変換係数のための走査順序を判断するための手段と、判断された走査順序に基づいてブロックの変換係数の有意性フラグのためのコンテキストを判断するための手段と、少なくとも判断されたコンテキストに基づいて変換係数の有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)するための手段とを備える。
[0011] 別の例では、本開示は、コンピュータ可読記憶媒体について説明する。実行されたとき、ビデオデータをコーディングするための装置の1つまたは複数のプロセッサに、ブロックの変換係数のための走査順序を判断することと、判断された走査順序に基づいてブロックの変換係数の有意性フラグのためのコンテキストを判断することと、少なくとも判断されたコンテキストに基づいて変換係数の有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)コーディングすることとを行わせるその上に記憶された命令を有するコンピュータ可読記憶媒体。
[0012] 1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
[0013] 変換係数を含むブロックの走査順序の例を示す概念図。 変換係数を含むブロックの走査順序の例を示す概念図。 変換係数を含むブロックの走査順序の例を示す概念図。 [0014] 有意性シンタックス要素(significance syntax element)への変換係数のマッピングを示す概念図。 [0015] 本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 [0016] 本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。 [0017] 本開示による、シンタックス要素をエントロピー符号化するための技法を実装し得るエントロピーエンコーダの一例を示すブロック図。 [0018] 本開示による、ビデオデータを符号化するための例示的なプロセスを示すフローチャート。 [0019] 本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。 [0020] 本開示による、シンタックス要素を復号するための技法を実装し得るエントロピーデコーダの一例を示すブロック図。 [0021] 本開示による、ビデオデータを復号する例示的なプロセスを示すフローチャート。 [0022] 走査順序に応じて最後有意係数(last significant coefficient)の位置を示す概念図。 [0023] 元の水平走査の代わりに対角走査の使用を示す概念図。 [0024] 公称水平走査のためのコンテキスト近傍(context neighborhood)を示す概念図。
[0025] ビデオエンコーダは、ブロックのための変換係数を判断し、コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して、変換係数の値を示すシンタックス要素を符号化し、ビットストリーム中で符号化されたシンタックス要素をシグナリングする。ビデオデコーダは、変換係数の値を示す符号化シンタックス要素を含むビットストリームを受信し、ブロックのための変換係数を判断するためにシンタックス要素をCABAC復号する。
[0026] ビデオエンコーダおよびビデオデコーダは、それぞれ、CABAC符号化およびCABAC復号を実行するために、どのコンテキストが使用されるべきかを判断する。本開示で説明する技法では、ビデオエンコーダおよびビデオデコーダは、変換係数のブロックの走査順序に基づいてCABAC符号化またはCABAC復号を実行するためにどのコンテキストを使用すべきかを判断し得る。いくつかの例では、ビデオエンコーダおよびビデオデコーダは、ブロックのサイズと、ブロック内の変換係数の位置と、走査順序とに基づいて、CABAC符号化またはCABAC復号を実行するためにどのコンテキストを使用すべきかを判断し得る。
[0027] いくつかの例では、ビデオエンコーダおよびビデオデコーダは走査順序によって異なるコンテキスト(すなわち、水平走査のためのコンテキストの第1のセットと、垂直走査のためのコンテキストの第2のセットと、対角走査のためのコンテキストの第3のセットと)を利用し得る。別の例として、変換係数のブロックが垂直方向または水平方向に走査される場合、ビデオエンコーダおよびビデオデコーダは、これらの走査順序の両方について(たとえば、変換係数の特定の位置について)同じコンテキストを利用し得る。
[0028] CABAC符号化またはCABAC復号のためにどのコンテキストを使用すべきかを判断することによって、本開示で説明する技法は、他の技法と比較して、より良いビデオ圧縮を達成するように変換係数の大きさの統計的挙動を活用し得る。たとえば、ビデオエンコーダおよびビデオデコーダが、走査順序にかかわらず、変換係数の位置に基づいて、CABAC符号化またはCABAC復号のためにどのコンテキストを使用すべきかを判断することは可能であり得る。しかしながら、走査順序は変換係数の順序付けに影響を及ぼし得る。
[0029] たとえば、変換係数のブロックは、1次元(1D)ベクトルを構成するためにビデオエンコーダが走査する係数の2次元(2D)ブロックであり得、ビデオエンコーダは、1Dベクトル中に変換係数の値を(CABACを使用して)エントロピー符号化する。ビデオエンコーダが1Dベクトル中に変換係数の値(たとえば、大きさ)を配置する順序は走査順序によって決まる。ビデオエンコーダが対角走査のために変換係数の大きさを配置する順序は、ビデオエンコーダが垂直走査のために変換係数の大きさを配置する順序とは異なり得る。
[0030] 言い換えれば、変換係数の大きさの位置は走査順序によって異なり得る。変換係数の大きさの位置はコーディング効率に影響を及ぼし得る。たとえば、ブロック中の最後有意係数のロケーションは走査順序によって異なり得る。この場合、最後有意係数の大きさは走査順序によって異なり得る。
[0031] したがって、走査順序にかかわらず変換係数の位置に基づいてコンテキストを判断するこれらの他の技法は、特定の位置における変換係数についての有意性統計(significance statistics)が走査順序に応じて変動し得る可能性を適切に考慮することができない。本開示で説明する技法では、ビデオエンコーダおよびビデオデコーダは、ブロックのための走査順序を判断し、判断された走査順序に基づいて(また、いくつかの例では、変換係数の位置、および場合によってはブロックのサイズに基づいて)コンテキストを判断し得る。このようにして、ビデオエンコーダおよびビデオデコーダは、走査順序に依拠せず、どのコンテキストを使用すべきかを判断するための位置のみに依拠する技法と比較して、どのコンテキストを使用すべきかを判断するための有意性統計をより良く考慮し得る。
[0032] ビデオコーディングのいくつかの例では、ビデオエンコーダおよびビデオデコーダは、ブロックの変換係数を符号化または復号するために5つのコーディングパス、すなわち、(1)有意性パス、(2)1よりも大きいパス、(3)2よりも大きいパス、(4)サインパス、および(5)係数レベル残存パス(coefficient level remaining pass)を使用し得る。ただし、本開示の技法は、必ずしも5つのパスシナリオに限定されるとは限らない。概して、有意性コーディング(significance coding)は、ブロック内の係数のいずれかが1以上の絶対値を有するかどうかを示すために、シンタックス要素(syntax element)を生成することを指す。すなわち、1以上の絶対値をもつ係数は「有意である(significant)」と見なされる。他のコーディングパスについて、以下でより詳細に説明する。
[0033] 有意性パス中に、ビデオエンコーダは、変換係数が有意であるかどうかを示すシンタックス要素を判断する。本明細書では、変換係数が有意であるかどうかを示すシンタックス要素を有意性シンタックス要素(significance syntax element)と呼ぶ。有意性シンタックス要素の一例は有意性フラグであり、有意性フラグについての0の値は、係数が有意でない(すなわち、変換係数の値は0である)ことを示し、有意性フラグについての1の値は、係数が有意である(すなわち、変換係数の値は非0である)ことを示す。
[0034] 有意性パスを実行するために、ビデオエンコーダは、(最後有意位置の位置があらかじめ決定されており、デコーダにシグナリングされた場合)ブロックまたはブロックの一部の変換係数を走査し、各変換係数についての有意性シンタックス要素を判断する。水平走査、垂直走査、および対角走査など、走査順序の様々な例がある。ビデオエンコーダは、有意性シンタックス要素をCABAC符号化し、コード化ビットストリーム中で符号化有意性シンタックス要素をシグナリングする。いくつかの例では、ジグザグ走査、適応または部分的適応走査など、他のタイプの走査も使用され得る。
[0035] シンタックス要素にCABACコーディングを適用するために、「ビン(bin)」と呼ばれる一連の1つまたは複数のビットを形成するために、シンタックス要素に2値化が適用され得る。さらに、コーディングコンテキストはシンタックス要素のビンに関連し得る。コーディングコンテキストは、特定の値を有するビンをコーディングする確率を識別し得る。たとえば、コーディングコンテキストは、(この事例では、「最も有望なシンボル」の一例を表す)0の値のビンをコーディングする0.7の確率と、1の値のビンをコーディングする0.3の確率とを示し得る。コーディングコンテキストを識別した後に、ビンは、コンテキストに基づいて算術的にコーディングされ得る。場合によっては、特定のシンタックス要素またはそれのビンに関連するコンテキストは、他のシンタックス要素またはコーディングパラメータに依存し得る。
[0036] 本開示で説明する技法では、ビデオエンコーダは、走査順序に基づいてCABAC符号化のためにどのコンテキストを使用すべきかを判断し得る。ビデオエンコーダは、走査順序タイプごとにコンテキストの1つのセットを使用し得る。たとえば、ブロックが4×4ブロックである場合、16個の係数がある。この例では、ビデオエンコーダは、各走査について16個のコンテキストを利用し、合計48個のコンテキスト(すなわち、合計48個のコンテキストの場合、水平走査のための16個のコンテキストと、垂直走査のための16個のコンテキストと、対角走査のための16個のコンテキストと)を生じ得る。同様のことは、8×8ブロックについて成り立つが、合計192個のコンテキスト(すなわち、合計192個のコンテキストの場合、水平走査のための64個のコンテキストと、垂直走査のための64個のコンテキストと、対角走査のための64個のコンテキストと)をもつことになる。しかしながら、48個または192個のコンテキストの例は、単に例示のために与えられる。各ブロックのためのコンテキストの数はブロックサイズの関数であることが可能であり得る。
[0037] ビデオデコーダは、(たとえば、直接、またはコード化ビットストリームを記憶する記憶媒体を介してビデオエンコーダから)コード化ビットストリームを受信し、変換係数の値を判断するために、ビデオエンコーダの関数として逆関数を実行する。たとえば、ビデオデコーダは、受信ビットストリーム中の有意性シンタックス要素に基づいてどの変換係数が有意であるかを判断するために有意性パスを実装する。
[0038] 本開示で説明する技法では、ビデオデコーダは、ブロックの変換係数の走査順序(たとえば、変換係数が走査された走査順序)を判断し得る。ビデオデコーダは、走査順序に基づいて有意性シンタックス要素をCABAC復号するためにどのコンテキストを使用すべきか(たとえば、4×4ブロックの場合に48個のコンテキストのうちの16個、または8×8ブロックの場合に192個のコンテキストのうちの64個)を判断し得る。このようにして、ビデオデコーダは、CABAC復号のために、ビデオエンコーダがCABAC符号化のために選択したコンテキストと同じコンテキストを選択し得る。ビデオデコーダは、判断されたコンテキストに基づいて有意性シンタックス要素をCABAC復号する。
[0039] 上記の例では、ビデオエンコーダおよびビデオデコーダは、走査順序に基づいてコンテキストを判断し、コンテキストは、走査順序によって異なり、4×4ブロックの場合に合計48個のコンテキストを生じ、8×8ブロックの場合に192個のコンテキストを生じた。しかしながら、本開示で説明する技法は、この点について限定されない。代替的に、いくつかの例では、ビデオエンコーダおよびビデオデコーダが使用するコンテキストは、走査順序タイプに応じてコンテキスト共有を可能にする複数の(すなわち、2つ以上の)走査順序について同じコンテキストであり得る。
[0040] 一例として、ビデオエンコーダおよびビデオデコーダは、走査順序が水平走査である場合または走査順序が垂直走査である場合に同じであるコンテキストを判断し得る。言い換えれば、走査順序が水平走査である場合、または、走査順序がブロック内の変換係数の特定の位置について垂直走査である場合、コンテキストは同じである。ビデオエンコーダとビデオデコーダは、対角走査のために異なるコンテキストを利用し得る。この例では、水平走査と垂直走査とのためのコンテキストが同じであり、対角走査のための異なるコンテキストがあるので、4×4ブロックの場合のコンテキストの数は、48個のコンテキストから32個のコンテキストまで減少し、8×8ブロックの場合、192個のコンテキストから128個まで減少する。
[0041] 別の例として、ビデオエンコーダとビデオデコーダがすべての走査順序タイプについて同じコンテキストを使用することは可能であり、それにより、コンテキストを4×4ブロックの場合に16個まで低減し、8×8ブロックの場合に64個まで低減し得る。しかしながら、すべての走査順序タイプについて同じコンテキストを使用することは、ブロックサイズによって決まり得る。たとえば、いくつかのブロックサイズの場合、すべての走査順序について同じコンテキストを使用することが可能であり得、いくつかの他のブロックサイズの場合、コンテキストは走査順序によって異なり得るか、または走査順序の2つ以上がコンテキストを共有し得る。
[0042] たとえば、8×8ブロックの場合、水平および垂直走査のためのコンテキストは(たとえば、特定の位置について)同じであり、対角走査については異なり得る。4×4、16×16、および32×32ブロックの場合、コンテキストは走査順序によって異なり得る。その上、位置に依拠したいくつかの他の技法では、2Dブロックのためのコンテキストと1Dブロックのためのコンテキストとは異なり得る。本開示で説明する技法では、コンテキストがすべての走査順序について共有されるとき、2Dブロックのためのコンテキストまたは1Dブロックのためのコンテキストは同じであり得る。
[0043] いくつかの例では、コンテキストを判断するために走査順序を利用することに加えて、ビデオエンコーダおよびビデオデコーダはブロックのサイズを考慮し得る。たとえば、上記の例では、ブロックのサイズは、すべての走査順序がコンテキストを共有するかどうかを示していた。いくつかの例では、ビデオエンコーダおよびビデオデコーダは、ブロックのサイズと走査順序とに基づいてどのコンテキストを使用すべきかを判断し得る。これらの例では、本開示で説明する技法は、コンテキスト共有を可能にし得る。たとえば、第1のサイズをもつブロックの場合、ビデオエンコーダおよびビデオデコーダは、第1のサイズのブロックが水平方向に走査される場合または第1のサイズのブロックが垂直方向に走査される場合に同じであるコンテキストを判断し得る。第2のサイズをもつブロックの場合、ビデオエンコーダおよびビデオデコーダは、第2のサイズのブロックが水平方向に走査される場合または第2のサイズのブロックが垂直方向に走査される場合に同じであるコンテキストを判断し得る。
[0044] これらの技法には他の変形形態があり得る。たとえば、いくつかのサイズ決定されたブロック(たとえば、16×16または32×32)の場合、ビデオエンコーダおよびビデオデコーダは、すべての走査順序についてCABAC符号化またはCABAC復号のために使用されるコンテキストの第1のセットを判断する。いくつかのサイズ決定されたブロック(たとえば、8×8)の場合、ビデオエンコーダおよびビデオデコーダは、対角走査のためのCABAC符号化またはCABAC復号のために使用されるコンテキストの第2のセットを判断し、水平走査と垂直走査の両方のためのCABAC符号化またはCABAC復号のために使用されるコンテキストの第3のセットを判断する。いくつかのサイズ決定されたブロック(たとえば、4×4)の場合、ビデオエンコーダおよびビデオデコーダは、対角走査と水平走査と垂直走査とのためのCABAC符号化またはCABAC復号のために使用されるコンテキストの第4のセットを判断する。
[0045] 場合によっては、走査順序に基づいてコンテキストを判断する例は、イントラコーディングモードを対象とし得る。たとえば、変換係数はイントラコーディングの結果であり得、本開示で説明する技法は、そのような変換係数に適用可能であり得る。しかしながら、本開示で説明する技法は、そのように限定されず、インターコーディングまたはイントラコーディングに対して適用可能であり得る。
[0046] 図1A〜図1Cは、変換係数を含むブロックの走査順序の例を示す概念図である。変換係数を含むブロックは変換ブロック(TB:transform block)と呼ばれることがある。変換ブロックは変換ユニットのブロックであり得る。たとえば、変換ユニットは、3つの変換ブロックと対応するシンタックス要素とを含む。変換ユニットは、8×8、16×16、または32×32サイズのルーマサンプル(luma sample)の変換ブロック、あるいは4×4サイズのルーマサンプルの4つの変換ブロック、ピクチャ3サンプルアレイのクロマサンプル(chroma sample)の2つの対応する変換ブロック、あるいは8×8、16×16、または32×32サイズのルーマサンプルの変換ブロック、あるいは4×4サイズのルーマサンプルの4つの変換ブロック、あるいはモノクロームピクチャまたは変換ブロックサンプルを変換するために使用される個別のカラープレーンおよびシンタックス構造を使用してコーディングされたピクチャであり得る。
[0047] 図1Aに、変換係数12A〜12P(「変換係数12」と総称される)を含む4×4ブロック10(たとえば、TB10)の水平走査を示す。たとえば、水平走査は、変換係数12Pから開始し、変換係数12Aにおいて終了し、変換係数を介して水平方向に進む。
[0048] 図1Bに、変換係数16A〜16P(「変換係数16」と総称される)を含む4×4ブロック14(たとえば、TB14)の垂直走査を示す。たとえば、垂直走査は、変換係数16Pから開始し、変換係数16Aにおいて終了し、変換係数を介して垂直方向に進む。
[0049] 図1Cに、変換係数20A〜20P(「変換係数20」と総称される)を含む4×4ブロック18(たとえば、TB18)の対角走査を示す。たとえば、対角走査は、変換係数20Pから開始し、変換係数20Aにおいて終了し、変換係数を介して対角方向に進む。
[0050] 図1A〜図1Cは、最後の変換係数から開始し、最初の変換係数上で終了することを示しているが、本開示の技法はそのように限定されないことを理解されたい。いくつかの例では、ビデオエンコーダは、ブロック中の最後有意係数(last significant coefficient)(たとえば、0でない値をもつ最後の変換係数)のロケーションを判断し得る。ビデオエンコーダは、最後有意係数から開始し、最初の変換係数上で終了する走査を行い得る。ビデオエンコーダは、コード化ビットストリーム中で最後有意係数のロケーション(すなわち、最後有意係数のx座標およびy座標)をシグナリングし得、ビデオデコーダは、コード化ビットストリームから最後有意係数のロケーションを受信し得る。このようにして、ビデオデコーダは、変換係数のための後続のシンタックス要素(たとえば、有意性シンタックス要素)が、最後有意係数から開始し最初の変換係数上で終了する変換係数のためのものであることを判断し得る。
[0051] 図1A〜図1Cは4×4ブロックとして示されているが、本開示で説明する技法はそのように限定されず、本技法は他のサイズ決定されたブロックに拡張され得る。その上、場合によっては、4×4ブロック10、14、および18のうちの1つまたは複数は、より大きいブロックのサブブロックであり得る。たとえば、8×8ブロックは4つの4×4サブブロックに分割され得、16×16は16個の4×4サブブロックに分割され得、以下同様であり、4×4ブロック10、14、および18のうちの1つまたは複数は、8×8ブロックまたは16×16ブロックのサブブロックであり得る。サブブロック水平および垂直走査の例は、その各々が参照により本明細書に組み込まれる、(1)Rosewarne,C. Maeda,M. “Non-CE11: Harmonisation of 8x8 TU residual scan” JCT-VC Contribution JCTVC-H0145 (2)Yu,Y., Panusopone,K.Lou,J. Wang,L. “Adaptive Scan for Large Blocks for HEVC” JCT-VC Contribution JCTVC-F569 および(3)2012年7月17日に出願された米国特許出願第13/551,458号に記載されている。
[0052] 変換係数12、16、および20は、予測されているブロックと別のブロックとの間の変換された残差値を表す。ビデオエンコーダは、変換係数12、16、および20の値が0であるのか非0であるのかを示す有意性シンタックス要素を生成し、有意性シンタックス要素を符号化し、コード化ビットストリーム中で符号化有意性シンタックス要素をシグナリングする。ビデオデコーダは、コード化ビットストリームを受信し、変換係数12、16、および20を判断するプロセスの一部として有意性シンタックス要素を復号する。
[0053] 符号化および復号の場合、ビデオエンコーダおよびビデオデコーダは、コンテキスト適応型バイナリ算術コーディング(CABAC)符号化および復号のために使用されるべきコンテキストを判断する。本開示で説明する技法では、変換係数12、16、および20のための有意性シンタックス要素のためのコンテキストを判断するために、ビデオエンコーダおよびビデオデコーダは走査順序を考慮する。
[0054] たとえば、ビデオエンコーダおよびビデオデコーダは、走査順序が水平走査であると判断した場合、ビデオエンコーダおよびビデオデコーダは、TU10の16個の変換係数12のためのコンテキストの第1のセットを判断し得る。ビデオエンコーダおよびビデオデコーダは、垂直走査中の走査順序を判断した場合、ビデオエンコーダおよびビデオデコーダは、TU14の16個の変換係数16のためのコンテキストの第2のセットを判断し得る。ビデオエンコーダおよびビデオデコーダは、走査順序が対角走査であると判断した場合、ビデオエンコーダおよびビデオデコーダは、TU18の16個の変換係数20のためのコンテキストの第3のセットを判断し得る。
[0055] この例では、コンテキスト共有がないことを仮定して、4×4ブロック10、14、および18のための合計48個のコンテキスト(すなわち、3つの走査順序の各々について16個のコンテキスト)がある。ブロック10、14、および18が8×8サイズのブロックであった場合、コンテキスト共有がないことを仮定して、合計192個のコンテキストの場合、そこで、3つの8×8サイズのブロックの各々のための64個のコンテキスト(すなわち、3つの走査順序の各々について64個のコンテキスト)がそうする。
[0056] より詳細に説明するように、いくつかの例では、2つ以上の走査順序がコンテキストを共有することが可能であり得る。たとえば、コンテキストの第1のセットとコンテキストの第2のセットとコンテキストの第3のセットとのうちの2つまたはそれ以上がコンテキストの同じセットであり得る。たとえば、水平走査のためのコンテキストの第1のセットは垂直走査のためのコンテキストの第2のセットと同じであり得る。場合によっては、第1、第2、および第3のコンテキストは、コンテキストの同じセットであり得る。
[0057] 上記の例では、ビデオエンコーダおよびビデオデコーダは、走査順序に基づいて、コンテキストの第1、第2、および第3のセットから、CABAC符号化および復号のために使用すべきコンテキストを判断する。いくつかの例では、ビデオエンコーダおよびビデオデコーダは、走査順序とブロックのサイズとに基づいてCABAC符号化および復号のためのどのコンテキストを使用すべきかを判断する。
[0058] たとえば、ブロックが8×8である場合、ビデオエンコーダおよびビデオデコーダは、走査順序に基づいてコンテキストの第4、第5、および第6のセットからコンテキスト(各走査順序について1つ)を判断する。ブロックが16×16である場合、ビデオエンコーダおよびビデオデコーダは、走査順序に基づいてコンテキストの第7、第8、および第9のセットからコンテキスト(各走査順序について1つ)を判断し、以下同様である。上記と同様に、いくつかの例では、異なるサイズのブロックのためのコンテキスト共有があり得る。
[0059] 上記の例示的な技法の変形態があり得る。たとえば、ある場合には、特定のサイズのブロック(たとえば、4×4)の場合、ビデオエンコーダおよびビデオデコーダは、すべての走査順序について同じであるコンテキストを判断するが、8×8サイズのブロックの場合、ビデオエンコーダおよびビデオは、(たとえば、特定の位置における変換係数のための)水平走査と垂直走査とについて同じであるコンテキストを判断し、対角走査について異なるコンテキストを判断する。別の例として、より大きいサイズのブロック(たとえば、16×16および32×32)の場合、ビデオエンコーダおよびビデオデコーダは、すべての走査順序について、および両方のサイズについて同じであるコンテキストを判断し得る。いくつかの例では、16×16および32×32ブロックの場合、水平および垂直走査は適用されないことがある。他のそのような置換および組合せが可能であり、本開示によって企図される。
[0060] 走査順序に基づいてCABAC符号化および復号のためにどのコンテキストを使用すべきかを判断することは、変換係数の大きさをより良く考慮し得る。たとえば、走査順序は変換係数の構成を定義する。一例として、第1の変換係数(DC係数と呼ばれる)の大きさは概して最も高い。第2の変換係数の大きさは(平均して、必ずしもそうではないが)次に高く、以下同様である。しかしながら、第2の変換係数のロケーションは走査順序に基づく。たとえば、図1Aでは、第2の変換係数は、第1の変換係数のすぐ右(すなわち、変換係数12Aのすぐ右)の変換係数である。しかしながら、図1Bおよび図1Cでは、第2の変換係数は、第1の変換係数のすぐ下(すなわち、図1Bでは変換係数16Aのすぐ下、および図1Cでは変換係数20Aのすぐ下)の変換係数である。
[0061] このようにして、特定の走査位置における変換係数についての有意性統計は、走査順序に応じて変動し得る。たとえば、図1Aでは、水平走査の場合、第1の行中の最後変換係数は、図1Bの垂直走査または図1Cの対角走査における同じ変換係数と比較して(平均して)はるかに高い大きさを有し得る。
[0062] 走査順序に基づいてどのコンテキストを使用すべきかを判断することによって、ビデオエンコーダおよびビデオデコーダは、走査順序を考慮しない他の技法と比較して、より良くCABAC符号化またはCABAC復号するように構成され得る。たとえば、4×4および8×8ブロックのための有意性シンタックス要素(たとえば、有意性フラグ)の符号化および復号は、位置ベースであることが可能であり得る。たとえば、4×4ブロック中の各位置のための別個のコンテキストと、8×8ブロックの各2×2サブブロックのための別個のコンテキストとがある。
[0063] しかしながら、この場合、コンテキストは、実際の走査順序にかかわらず、変換係数のロケーションに基づく(すなわち、4×4および8×8ブロックのための位置ベースのコンテキストは、様々な走査を区別しない)。たとえば、ブロック中の(i,j)に位置する変換係数のためのコンテキストは、水平、垂直、および対角走査について同じである。上記で説明したように、走査順序は変換係数についての有意性統計値に影響を及ぼし得、本開示で説明する技法は、有意性統計値を考慮するために走査順序に基づいてコンテキストを判断し得る。
[0064] 上記で説明したように、いくつかの例では、ビデオエンコーダおよびビデオデコーダは、2つ以上の走査順序について同じであるコンテキストを判断し得る。ビデオエンコーダおよびビデオデコーダは、変換係数の特定のロケーションのための2つ以上の走査順序について同じであるコンテキストを判断し得る様々な方法があり得る。一例として、水平および垂直走査順序は、水平走査と垂直走査のブロックの転置との間でコンテキストを共有することによって、特定のブロックサイズのためのコンテキストを共有する。たとえば、ビデオエンコーダおよびビデオデコーダは、特定のブロックサイズのための水平走査のための変換係数(i,j)と垂直走査のための変換係数(j,i)とについて同じコンテキストを判断し得る。
[0065] この事例は、特定の位置における変換係数が、異なる走査順序についてコンテキストを共有する一例である。たとえば、水平走査のための位置(i,j)における変換係数のためのコンテキストと、垂直走査のための位置(j,i)における変換係数のためのコンテキストとは同じコンテキストであり得る。いくつかの例では、コンテキストの共有は、変換係数の8×8サイズのブロックのために適用可能であり得る。また、いくつかの例では、走査順序が水平でもなく垂直でもない(たとえば、対角である)場合、位置(i,j)および/または(j,i)のためのコンテキストは、水平および垂直走査のための共有コンテキストのためのものとは異なり得る。
[0066] しかしながら、本開示で説明する技法は、そのように限定されず、特定のブロックサイズの場合の水平走査のための変換係数(i,j)のためのコンテキストと垂直走査のための変換係数(j,i)のためのコンテキストとが同じである例に限定されるものと見なされるべきでない。以下は、特定の位置における変換係数のためのコンテキストが異なる走査順序について共有される別の例示的な方法である。
[0067] たとえば、水平走査のためのブロックの第4の(最後の)行のためのコンテキストは、垂直走査のためのブロックの第4の(最後の)列のためのコンテキストとして同じであり得、水平走査のためのブロックの第3の行のためのコンテキストは、垂直走査のためのブロックの第3の列のためのコンテキストと同じであり得、水平走査のためのブロックの第2の行のためのコンテキストは、垂直走査のためのブロックの第2の列のためのコンテキストと同じであり得、水平走査のためのブロックの第1の行のためのコンテキストは、垂直走査のためのブロックの第1の列のためのコンテキストと同じであり得る。同様のことが8×8ブロックに適用され得る。ビデオエンコーダおよびビデオデコーダが、走査順序のうちの2つ以上について同じであるコンテキストを判断するための他の例示的な方法があり得る。
[0068] いくつかの例では、コンテキストは、異なるブロックサイズ間で共有される(たとえば、4×4ブロックと8×8ブロックとの間で共有される)ことが可能であり得る。一例として、4×4ブロック中の変換係数(1,1)のためのコンテキストと、8×8ブロック中の変換係数(2,2)、(2,3)、(3,2)および(3,3)のためのコンテキストとは同じであり得、いくつかの例では、特定の走査順序について同じであり得る。
[0069] 図2は、有意性シンタックス要素への変換係数のマッピングを示す概念図である。たとえば、図2の左側は変換係数値を示し、図2の右側は、対応する有意性シンタックス要素を示す。非0である値をもつすべての変換係数について、値1をもつ対応する有意性シンタックス要素(たとえば、有意性フラグ)がある。0である値をもつすべての変換係数について、値0をもつ対応する有意性シンタックス要素(たとえば、有意性フラグ)がある。本開示において説明する例では、ビデオエンコーダおよびビデオデコーダは、走査順序に基づいて、また、いくつかの例では、変換係数の位置とブロックのサイズとに基づいてコンテキストを判断することによって、図2に示す例示的な有意性シンタックス要素をCABAC符号化およびCABAC復号するように構成される。
[0070] 図3は、本開示で説明する技法を利用してコンテキストを割り当てるように構成され得る例示的なビデオ符号化および復号システム22を示すブロック図である。図3に示すように、システム22は、宛先デバイス26によって後で復号されるべき符号化ビデオデータを生成するソースデバイス24を含む。ソースデバイス24および宛先デバイス26は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス24および宛先デバイス26はワイヤレス通信に対応し得る。
[0071] 宛先デバイス26は、リンク28を介して復号されるべき符号化ビデオデータを受信し得る。リンク28は、ソースデバイス24から宛先デバイス26に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク28は、ソースデバイス24が、符号化ビデオデータをリアルタイムで宛先デバイス26に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス26に送信され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス24から宛先デバイス26への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0072] 代替的に、符号化データは、出力インターフェース34からストレージデバイス38に出力され得る。同様に、符号化データは、入力インターフェース40によってストレージデバイス38からアクセスされ得る。ストレージデバイス38は、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散したまたはローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス38は、ソースデバイス24によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス26は、ストリーミングまたはダウンロードを介して、ストレージデバイス38から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス26に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS:network attached storage)デバイス、またはローカルディスクドライブを含む。宛先デバイス26は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイス38からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
[0073] 本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエア(over-the-air)テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム22は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0074] 図3の例では、ソースデバイス24は、ビデオソース30と、ビデオエンコーダ32と、出力インターフェース34とを含む。場合によっては、出力インターフェース34は変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス24において、ビデオソース30は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース30がビデオカメラである場合、ソースデバイス24および宛先デバイス26は、いわゆるカメラフォンまたはビデオ電話を形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
[0075] キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ32によって符号化され得る。符号化ビデオデータは、ソースデバイス24の出力インターフェース34を介して宛先デバイス26に直接送信され得る。符号化ビデオデータは、さらに(または代替的に)、復号および/または再生のための宛先デバイス26または他のデバイスによる後のアクセスのためにストレージデバイス38上に記憶され得る。
[0076] 宛先デバイス26は、入力インターフェース40と、ビデオデコーダ42と、ディスプレイデバイス44とを含む。場合によっては、入力インターフェース40は受信機および/またはモデムを含み得る。宛先デバイス26の入力インターフェース40は、リンク28を介して符号化ビデオデータを受信する。リンク28を介して通信され、またはストレージデバイス38上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ42など、ビデオデコーダが使用するためのビデオエンコーダ32によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ上に記憶される符号化ビデオデータとともに含まれ得る。
[0077] ディスプレイデバイス44は、宛先デバイス26と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス26は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス26はディスプレイデバイスであり得る。概して、ディスプレイデバイス44は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0078] ビデオエンコーダ32およびビデオデコーダ42は、代替的にMPEG−4,Part10,アドバンストビデオコーディング(AVC:Advanced Video Coding)と呼ばれるITU−T H.264規格など、ビデオ圧縮規格、またはそのような規格の拡張に従って動作し得る。代替的に、ビデオエンコーダ32およびビデオデコーダ42は、高効率ビデオコーディング(HEVC)規格などの他のプロプライエタリ(proprietary)または業界規格に従って動作し得、HEVCテストモデル(HM:HEVC Test Model)に準拠し得る。ただし、本開示の技法は、特定のコーディング規格に限定されない。ビデオ圧縮規格の他の例としてはMPEG−2およびITU−T H.263がある。
[0079] 図3には示されていないが、いくつかの態様では、ビデオエンコーダ32およびビデオデコーダ42は、それぞれオーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0080] ビデオエンコーダ32およびビデオデコーダ42はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適なコンピュータ可読記憶媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ32およびビデオデコーダ42の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(CODEC)の一部として統合され得る。たとえば、ビデオデコーダ42を含むデバイスは、ビデオデコーダ42を含むマイクロプロセッサ、集積回路(IC)、またはワイヤレス通信デバイスであり得る。
[0081] JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9個のイントラ予測符号化モードを与えるが、HMは35個ものイントラ予測符号化モードを与え得る。
[0082] 概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU:largest coding unit)に分割され得ることを記述する。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロック(treeblock)を含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木(quadtree)に従ってコーディングユニット(CU:coding unit)に分割され得る。たとえば、4分木のルートノードとしてのツリーブロックは、4つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノード(leaf node)としての、最終的な、分割されていない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。
[0083] CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU:prediction unit)および変換ユニット(TU:transform unit)とを含む。上記で説明したように、変換ユニットは1つまたは複数の変換ブロックを含み、本開示で説明する技法は、走査順序に基づいて、いくつかの例では、走査順序と変換ブロックのサイズとに基づいて変換ブロックの変換係数のための有意性シンタックス要素(significance syntax element)のためのコンテキストを判断することに関する。CUのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。
[0084] TUは、形状が正方形または非正方形であり得る。この場合も、TUは、1つまたは複数の変換ブロック(TB:transform block)(たとえば、ルーマサンプルのための1つのTB、第1のクロマサンプルのための1つのTB、および第2のクロマサンプルのための1つのTB)を含む。この意味で、TUは、これらのTBを含むものとして概念的に考慮され得、これらのTBは、形状が正方形または非正方形であり得る。たとえば、本開示では、TUという用語は、一般的にTBを指すために使用され、本開示で説明する例示的な技法について、TBに関して説明する。
[0085] HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用してより小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
[0086] 概して、PUは、予測プロセスに関係するデータを含む。たとえば、PUがイントラモード符号化(イントラ予測符号化(intra-prediction encoded))されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化(インター予測符号化(inter-prediction encoded))されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0(L0)もしくはリスト1(L1))を記述し得る。
[0087] 概して、TUは、変換プロセスと量子化プロセスとのために使用される。1つまたは複数のPUを有する所与のCUは、1つまたは複数の変換ユニット(TU)も含み得る。TUは1つまたは複数の変換ブロック(TB)を含む。図1A〜図1Cのブロック10、14、および18は、それぞれTBの例である。予測の後に、ビデオエンコーダ32は、PUに対応する残差値を計算し得る。残差値は、エントロピーコーディングのためのシリアル化変換係数(serialized transform coefficient)を生成するために、TBを使用して変換係数に変換され、量子化され、走査され得るピクセル差分値を備える。本開示では、一般に、CUのコーディングノードを指すために「ビデオブロック(video block)」という用語を使用する。いくつかの特定の場合において、本開示では、コーディングノードとPUとを含む、ツリーブロック、すなわち、LCUまたはCUを指す「ビデオブロック」という用語も使用し得る。「ビデオブロック」という用語はまた、TUの変換ブロックを指すことがある。
[0088] たとえば、現在開発中の高効率ビデオコーディング(HEVC)規格に従うビデオコーディングでは、ビデオピクチャがコーディングユニット(CU)と予測ユニット(PU)と変換ユニット(TU)とに区分され得る。CUは、概して、ビデオ圧縮のために様々なコーディングツールが適用される基本ユニットとして働く画像領域を指す。CUは、一般に正方形の形状を有し、たとえば、ITU−T H.264などの他のビデオコーディング規格の下でのいわゆる「マクロブロック(macroblock)」と同様であると見なされ得る。
[0089] より良いコーディング効率を達成するために、CUは、それが含んでいるビデオデータに応じて可変サイズを有し得る。すなわち、CUは、より小さいブロックまたはサブCUに区分または「分割(split)」され得、その各々はCUと呼ばれることもある。さらに、サブCUに分割されない各CUは、それぞれ、CUの予測および変換のために1つまたは複数のPUとTUとにさらに区分され得る。
[0090] PUは、H.264などの他のビデオコーディング規格の下でのいわゆるブロックのパーティションと同様であると見なされ得る。PUは、「残差(residual)」係数を生成するためにブロックについての予測が実行されるベースである。CUの残差係数は、CUのビデオデータと、CUの1つまたは複数のPUを使用して判断されたCUについての予測データとの間の差を表す。詳細には、1つまたは複数のPUは、CUが予測のためにどのように区分されるかを指定し、CUの各パーティション内に含まれているビデオデータを予測するためにどの予測モードが使用されるかを指定する。
[0091] CUの1つまたは複数のTUは、CUのための残差変換係数のブロックを生成するために、ブロックにどの変換が適用されるかに基づいて、CUの残差係数のブロックのパーティションを指定する。1つまたは複数のTUはまた、適用される変換のタイプに関連し得る。変換は、残差係数をピクセルまたは空間領域から周波数領域などの変換領域に変換する。さらに、1つまたは複数のTUは、量子化残差変換係数のブロックを生成するために残差変換係数の得られたブロックにどの量子化が適用されるかに基づいてパラメータを指定し得る。残差変換係数は、場合によっては、係数を表すために使用されるデータの量を低減するために量子化され得る。
[0092] CUは、概して、Yとして示される1つのルミナンス成分と、UおよびVとして示される2つのクロミナンス成分とを含む。言い換えれば、サブCUにさらに分割されない所与のCUは、Y成分とU成分とV成分とを含み得、その各々は、前に説明したように、CUの予測および変換のために1つまたは複数のPUとTUとにさらに区分され得る。たとえば、ビデオサンプリングフォーマットに応じて、サンプルの数で表されるU成分およびV成分のサイズは、Y成分のサイズと同じであるかまたはそれとは異なり得る。したがって、予測、変換、および量子化に関して上記で説明した技法は、所与のCUのY成分とU成分とV成分との各々について実行され得る。
[0093] CUを符号化するために、CUの1つまたは複数のPUに基づいて、CUのための1つまたは複数の予測子(predictor)が最初に導出される。予測子は、CUについての予測データを含んでいる参照ブロックであり、前に説明したように、CUのための対応するPUに基づいて導出される。たとえば、PUは、それについて予測データが判断されるべきCUのパーティションと、予測データを判断するために使用される予測モードとを示す。予測子は、イントラ(I)予測(すなわち、空間的予測)モードまたはインター(PまたはB)予測(すなわち、時間的予測)モードのいずれかを通して導出され得る。したがって、いくつかのCUは、同じフレーム中の隣接参照ブロック(neighboring reference block)またはCUに対する空間的予測を使用してイントラコーディング(I)され得るが、他のCUは、他のフレーム中の参照ブロックまたはCUに対してインターコーディング(PまたはB)され得る。
[0094] CUの1つまたは複数のPUに基づいて1つまたは複数の予測子を識別するときに、1つまたは複数のPUに対応するCUの元のビデオデータと1つまたは複数の予測子中に含まれているCUについての予測データとの間の差が計算される。予測残差(prediction residual)とも呼ばれるこの差は、残差係数を備え、前に説明したように、1つまたは複数のPUと1つまたは複数の予測子とによって指定されたCUの部分間のピクセル差分を指す。残差係数は、概して、1つまたは複数のPUoCUに対応する2次元(2D)アレイで構成される。
[0095] さらなる圧縮を達成するために、予測残差は、概して、たとえば、離散コサイン変換(DCT:discrete cosine transform)、整数変換、カルーネン・レーベ(Karhunen-Loeve)(K−L)変換、または別の変換を使用して変換され得る。変換は、同じく前に説明したように、空間領域中の予測残差、すなわち、残差係数を変換領域、たとえば、周波数領域中の残差変換係数に変換する。いくつかの場合では、変換はスキップされ、すなわち、変換は予測残差に適用されない。変換をスキップされた係数も変換係数として参照される。(変換スキップ係数を含む)変換係数はまた、概してCUの1つまたは複数のTUに対応する2Dアレイで構成される。さらなる圧縮のため、残差変換係数は、同じく前に説明したように、場合によっては、係数を表すために使用されるデータの量を低減するために量子化され得る。
[0096] またさらなる圧縮を達成するために、エントロピーコーダは、コンテキスト適応型可変長コーディング(CAVLC:Context Adaptive Variable Length Coding)、コンテキスト適応型バイナリ算術コーディング(CABAC)、確率間隔区分エントロピーコーディング(PIPE:Probability Interval Partitioning Entropy Coding)、または別のエントロピーコーディング方法を使用して、得られた残差変換係数を後で符号化する。エントロピーコーディングは、他のCUと比較して、係数によって表される、CUのビデオデータに固有の統計的冗長を低減または削除することによって、このさらなる圧縮を達成し得る。
[0097] ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP:group of pictures)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ32は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU(たとえば、変換係数の変換ブロック)内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
[0098] 一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
[0099] 本開示では、「N×N(NxN)」および「N掛けるN(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16×16(16x16)ピクセルまたは16掛ける16(16 by 16)ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ただし、Nは非負整数値を表す。ブロック中のピクセルは行と列とに構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはN×Mピクセルを備え得、ただし、Mは必ずしもNに等しいとは限らない。
[0100] CUのPUを使用したイントラ予測符号化またはインター予測符号化の後、ビデオエンコーダ32は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域においてピクセルデータを備え得、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、スキップ変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ32は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
[0101] 変換係数を生成するための任意の変換の後に、ビデオエンコーダ32は、変換係数の量子化を実行し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度(bit depth)を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。
[0102] いくつかの例では、ビデオエンコーダ32は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序(たとえば、水平、垂直、または対角)を利用し得る。いくつかの例では、ビデオエンコーダ32は適応走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ32は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ32はまた、ビデオデータを復号する際にビデオデコーダ42が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化することができる。
[0103] CABACを実行するために、ビデオエンコーダ32は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ32は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率判断は、シンボルに割り当てられたコンテキストに基づき得る。
[0104] ビデオデコーダ42は、ビデオエンコーダ32によって実装される符号化技法の逆数を実装するように構成され得る。たとえば、符号化された有意性シンタックス要素の場合、ビデオデコーダ42は、判断された走査順序に基づいてどのコンテキストを使用すべきかを判断することによって有意性シンタックス要素を復号し得る。
[0105] たとえば、ビデオエンコーダ32は、変換係数の値を示すシンタックス要素をシグナリングする。ビデオエンコーダ32は、一例として、5つのパス中でこれらのシンタックス要素を生成し、5つのパスを使用することは、あらゆる例において必要であるとは限らない。ビデオエンコーダ32は、最後有意係数のロケーションを判断し、最後有意係数から第1のパスを開始する。第1のパスの後に、ビデオエンコーダ32は、前のパスから残っているそれらの変換係数上にのみ残りの4つのパスを実装し得る。第1のパスでは、ビデオエンコーダ32は、図1A〜図1Cに示された走査順序のうちの1つを使用して変換係数を走査し、変換係数についての値が0であるのか非0であるのか(すなわち、有意でないのか有意であるのか)を示す、各変換係数についての有意性シンタックス要素を判断する。
[0106] 1よりも大きいパスと呼ばれる第2のパスでは、ビデオエンコーダ32は、有意係数の絶対値が1よりも大きいかどうかを示すためのシンタックス要素を生成する。同様にして、2よりも大きいパスと呼ばれる第3のパスでは、ビデオエンコーダ32は、1よりも大きい係数の絶対値が2よりも大きいかどうかを示すためのシンタックス要素を生成する。
[0107] サインパスと呼ばれる第4のパスでは、ビデオエンコーダ32は、有意係数についての符号情報を示すためのシンタックス要素を生成する。係数レベル残存パスと呼ばれる第5のパスでは、ビデオエンコーダ32は、変換係数レベルの残りの絶対値(たとえば、余り値(remainder value))を示すシンタックス要素を生成する。余り値は、係数(coefficient)マイナス3の絶対値としてコーディングされ得る。5つのパス手法(five pass approach)は、変換係数をコーディングするために使用され得る1つの例示的な技法にすぎず、本明細書で説明する技法は、他の技法に等しく適用可能であり得ることに留意されたい。
[0108] 本開示で説明する技法では、ビデオエンコーダ32は、コンテキスト適応型バイナリ算術コーディング(CABAC)を使用して有意性シンタックス要素を符号化する。本開示で説明する技法によれば、ビデオエンコーダ32は、ブロックの変換係数のための走査順序を判断し、判断された走査順序に基づいてブロックの変換係数の有意性シンタックス要素のためのコンテキストを判断し得る。ビデオエンコーダ32は、判断されたコンテキストに基づいて有意性シンタックス要素をCABAC符号化し、コード化ビットストリーム中で符号化された有意性シンタックス要素をシグナリングし得る。
[0109] ビデオデコーダ42は、同様の機能を実行するように構成され得る。たとえば、ビデオデコーダ42は、コード化ビットストリームから、ブロックの変換係数の有意性シンタックス要素を受信する。ビデオデコーダ42は、ブロックの変換係数のための走査順序(たとえば、ビデオエンコーダ32が変換係数を走査した順序)を判断し得る。ビデオデコーダ42は、次いで、変換係数ベースの少なくとも1つの判断されたコンテキストの有意性シンタックス要素をCABAC復号し得る。
[0110] いくつかの例では、ビデオエンコーダ32およびビデオデコーダ42はそれぞれ、判断された走査順序が水平走査である場合および判断された走査順序が垂直走査である場合に同じであるコンテキストを判断し、判断された走査順序が対角走査である場合、水平走査および垂直走査のためのコンテキストとは異なるコンテキストを判断する。概して、ビデオエンコーダ32およびビデオデコーダ42はそれぞれ、走査順序が第1の走査順序である場合に有意性シンタックス要素のためのコンテキストの第1のセットを判断し、走査順序が第2の走査順序である場合に有意性シンタックス要素のためのコンテキストの第2のセットを判断し得る。コンテキストの第1のセットとコンテキストの第2のセットとは、場合によっては同じであり得る(たとえば、第1の走査順序は水平走査であり、第2の走査順序は垂直走査であり、またはその逆も同様である)。コンテキストの第1のセットとコンテキストの第2のセットとは、場合によっては異なり得る(たとえば、第1の走査順序は水平走査または垂直走査のいずれかであり、第2の走査順序は水平走査でもなく垂直走査でもない)。
[0111] いくつかの例では、ビデオエンコーダ32およびビデオデコーダ42はまた、ブロックのサイズを判断する。これらの例のいくつかでは、ビデオエンコーダ32およびビデオデコーダ42は、判断された走査順序に基づいて、およびブロックの判断されたサイズに基づいて有意性シンタックス要素のためのコンテキストを判断する。たとえば、コンテキストを判断するために、ビデオエンコーダ32およびビデオデコーダ42は、ブロックのサイズに基づいて、すべての走査順序について同じである変換係数の有意性シンタックス要素のためのそのコンテキストを判断し得る。言い換えれば、いくつかのサイズ決定されたブロックの場合、ビデオエンコーダ32およびビデオデコーダ42は、すべての走査順序について同じであるコンテキストを判断し得る。
[0112] いくつかの例では、本開示で説明する技法は、(1)Rosewarne, C. Maeda, M. “Non-CE11: Harmonisation of 8x8 TU residual scan” JCT-VC Contribution JCTVC-H0145 (2)Yu, Y. Panusopone, K. Lou, J., Wang, L. “Adaptive Scan for Large Blocks for HEVC” JCT-VC Contribution JCTVC-F569、および(3)2012年7月17日に出願された米国特許出願第13/551,458号に記載されているものなど、サブブロックの水平および垂直走査の概念に基づき得る。たとえば、本開示で説明する技法は、有意性シンタックス要素のコーディングの改善と、異なる走査順序およびブロック(たとえばTU)サイズにわたる調和(harmonization)とを提供する。
[0113] たとえば、上記で説明したように、4×4ブロックは、より大きいブロックのサブブロックであり得る。本開示で説明する技法では、比較的大きいサイズのブロック(たとえば、16×16または32×32)は4×4サブブロックに分割され得、ビデオエンコーダ32およびビデオデコーダ42は、走査順序に基づいて4×4サブブロックのためのコンテキストを判断するように構成され得る。いくつかの例では、そのような技法は、8×8サイズのブロックに拡張可能であり、ならびにすべての走査順序のために拡張可能であり得る(すなわち、8×8ブロックの4×4サブブロックは、水平方向に、垂直方向に、または対角線方向に走査され得る)。そのような技法はまた、異なる走査順序間のコンテキスト共有を可能にし得る。
[0114] いくつかの例では、ビデオエンコーダ32およびビデオデコーダ42は、走査順序が対角走査である場合、すべてのブロックサイズについて同じであるコンテキストを判断する(すなわち、コンテキストは、対角走査を使用するときにTUのすべてについて共有される)。この例では、ビデオエンコーダ32およびビデオデコーダ42は、水平および垂直走査について同じであるコンテキストの別のセットを判断し得、それにより、走査順序に応じてコンテキスト共有を可能にする。
[0115] いくつかの例では、コンテキストの3つのセット、すなわち、比較的大きいブロックのためのセット、8×8ブロックまたは4×4ブロックの対角走査のためのセット、および8×8ブロックまたは4×4ブロックの水平走査と垂直走査の両方のためのセットがあり得、8×8ブロックのためのコンテキストと4×4ブロックのためのコンテキストとは異なる。サイズと走査順序との他の組合せおよび置換が可能であり得、ビデオエンコーダ32およびビデオデコーダ42は、サイズと走査順序とのこれらの様々な組合せおよび順列について同じであるコンテキストを判断するように構成され得る。
[0116] 図4は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ32を示すブロック図である。図4の例では、ビデオエンコーダ32は、モード選択ユニット46と、予測処理ユニット48と、参照ピクチャメモリ70と、加算器56と、変換処理ユニット58と、量子化処理ユニット60と、エントロピー符号化ユニット62とを含む。予測処理ユニット48は、動き推定ユニット50と、動き補償ユニット52と、イントラ予測ユニット54とを含む。ビデオブロック再構成のために、ビデオエンコーダ32はまた、逆量子化処理ユニット64と、逆変換処理ユニット66と、加算器68とを含む。再構成されたビデオからブロッキネスアーティファクト(blockiness artifact)を除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(deblocking filter)(図4に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器68の出力をフィルタ処理することになる。追加のループフィルタ(ループ内またはループ後)もデブロッキングフィルタに加えて使用され得る。予測処理ユニット48および変換処理ユニット58は、上記で説明したPUおよびTUと混同されるべきでないことに留意されたい。
[0117] 図4に示すように、ビデオエンコーダ32はビデオデータを受信し、モード選択ユニット46はデータをビデオブロックに区分する。この区分は、たとえば、LCUおよびCUの4分木構造に応じて、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。ビデオエンコーダ32は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測処理ユニット48は、誤差結果(たとえば、コーディングレートおよびひずみレベル)に基づいて現在ビデオブロックについて、複数のイントラコーディングモードのうちの1つまたは複数のインターコーディングモードのうちの1つなど、複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット48は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器56に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器68に与え得る。
[0118] 予測処理ユニット48内のイントラ予測ユニット54は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対する現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット48内の動き推定ユニット50および動き補償ユニット52は、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対する現在ビデオブロックのインター予測コーディングを実行する。
[0119] 動き推定ユニット50は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを判断するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをPスライスまたはBスライスに指定し得る。動き推定ユニット50と動き補償ユニット52とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット50によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
[0120] 予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ32は、参照ピクチャメモリ70に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ32は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット50は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0121] 動き推定ユニット50は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ70に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット50は、計算された動きベクトルをエントロピー符号化ユニット62と動き補償ユニット52とに送る。
[0122] 動き補償ユニット52によって実行される動き補償は、動き推定によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在ビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット52は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。ビデオエンコーダ32は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器56は、この減算演算を実行する1つまたは複数の構成要素を表す。動き補償ユニット52はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ42が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0123] イントラ予測ユニット54は、上記で説明したように、動き推定ユニット50と動き補償ユニット52とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット54は、現在ブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット54は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット54(または、いくつかの例では、モード選択ユニット46)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測ユニット54は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(bit rate)(すなわち、ビット数)を判断する。イントラ予測ユニット54は、どのイントラ予測モードがブロックについて最良のレートひずみ値(rate-distortion value)を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
[0124] いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット54は、ブロックについての選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット62に提供し得る。エントロピー符号化ユニット62は、本明細書で説明するエントロピー技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。
[0125] 予測処理ユニット48が、インター予測またはイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ32は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロックにおける残差ビデオデータは、1つまたは複数のTBに含まれ得、変換処理ユニット58に適用され得る。変換処理ユニット58は、変換、たとえば離散コサイン変換(DCT)または概念的に類似の変換を使用して、残差ビデオデータを残差変換係数に変換し得る。変換処理ユニット58は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。場合によっては、変換処理ユニット58は、TB中の残差データに2次元(2D)変換を(水平方向と垂直方向の両方で)適用し得る。いくつかの例では、変換処理ユニット58は、代わりに、TBの各々中の残差データに、水平1D変換、垂直1D変換を適用するか、または変換を適用しないことがある。
[0126] 変換処理ユニット58は、得られた変換係数を量子化処理ユニット60に送り得る。量子化処理ユニット60は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化処理ユニット60は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット62が走査を実行し得る。
[0127] 上記で説明したように、変換ブロックに対して実行される走査は変換ブロックのサイズに基づき得る。量子化処理ユニット60および/またはエントロピー符号化ユニット62は、図1A〜図1Cに関して上記で説明したサブブロック走査の任意の組合せを使用して8×8、16×16、および32×32変換ブロックを走査し得る。1つの走査よりも多くの走査が変換ブロックのために利用可能であるとき、エントロピー符号化ユニット62は、変換ブロックに対応する予測ユニットに関連する予測モードなど、変換ブロックに関連するコーディングパラメータに基づいて走査順序を判断し得る。エントロピー符号化ユニット62に関するさらなる詳細について、図5に関して以下で説明する。
[0128] 逆量子化処理ユニット64および逆変換処理ユニット66は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット52は、残差ブロックを参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット52はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器68は、再構成された残差ブロックを動き補償ユニット52によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ70に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット50および動き補償ユニット52によって参照ブロックとして使用され得る。
[0129] 量子化の後に、エントロピー符号化ユニット62は量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット62は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化ユニット62によるエントロピー符号化の後に、符号化ビットストリームは、ビデオデコーダ42に送信されるか、あるいはビデオデコーダ42が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット62はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。エントロピー符号化ユニット62は、CABACを使用して上記で説明した変換係数のための有意性シンタックス要素および他のシンタックス要素など、シンタックス要素をエントロピー符号化し得る。
[0130] いくつかの例では、エントロピー符号化ユニット62は、判断された走査順序に基づいてコンテキストを判断する、本開示で説明する技法を実装するように構成され得る。いくつかの例では、ビデオエンコーダ32内の1つまたは複数のユニットとともに、エントロピー符号化ユニット62は、本開示で説明する技法を実装するように構成され得る。いくつかの例では、ビデオエンコーダ32のプロセッサまたは処理ユニット(図示せず)は、本開示で説明する技法を実装するように構成され得る。
[0131] 図5は、本開示で説明する技法を実装し得る例示的なエントロピー符号化ユニット62を示すブロック図である。図5に示すエントロピー符号化ユニット62は、CABACエンコーダであり得る。例示的なエントロピー符号化ユニット62は、2値化ユニット72と、バイパス符号化エンジン74および正規符号化エンジン78を含む算術符号化ユニット80と、コンテキストモデリングユニット76とを含み得る。
[0132] エントロピー符号化ユニット62は、HEVCにおいてsignificant_coefficient_flagと呼ばれる有意性シンタックス要素、HEVCにおいてcoeff_abs_level_greater1_flagと呼ばれる1よりも大きいフラグ、HEVCにおいてcoeff_abs_level_greater2_flagと呼ばれる2よりも大きいフラグ、HEVCにおいてcoeff_sign_flagと呼ばれるサインフラグ、およびcoeff_abs_level_remainと呼ばれるレベルシンタックス要素など、1つまたは複数のシンタックス要素を受信し得る。2値化ユニット72は、シンタックス要素を受信し、ビンストリング(すなわち、バイナリストリング)を生成する。2値化ユニット72は、たとえば、ビンストリングを生成するために以下の技法、すなわち、固定長コーディング(fixed length coding)と、単項コーディング(unary coding)と、短縮単項コーディング(truncated unary coding)と、短縮ライスコーディング(truncated Rice coding)と、ゴロムコーディング(Golomb coding)と、指数ゴロムコーディング(exponential Golomb coding)と、ゴロムライスコーディング(Golomb-Rice coding)とのいずれか1つまたは組合せを使用し得る。さらに、場合によっては、2値化ユニット72は、バイナリストリングとしてシンタックス要素を受信し、単にビン値をパススルーし得る。一例では、2値化ユニット72は、有意性シンタックス要素を受信し、ビンストリングを生成する。
[0133] 算術符号化ユニット80は、2値化ユニット72からビンストリングを受信し、ビンストリングに対して算術符号化を実行するように構成される。図5に示すように、算術符号化ユニット80は、バイパス経路または正規コーディング経路からビン値を受信し得る。バイパス経路に続くビン値は、バイパスコーディングされたものとして識別されたビン値であり得、正規符号化経路に続くビン値は、CABACコーディングされたものとして識別され得る。上記で説明したCABACプロセスに従って、算術符号化ユニット80がバイパス経路からビン値を受信した場合、バイパス符号化エンジン74は、ビン値に割り当てられた適応コンテキストを利用することなしに、ビン値に対して算術符号化を実行し得る。一例では、バイパス符号化エンジン74は、ビンの考えられる値について等しい確率を仮定し得る。
[0134] 算術符号化ユニット80が正規経路を介してビン値を受信した場合、コンテキストモデリングユニット76は、正規符号化エンジン78が、コンテキストモデリングユニット76によって与えられたコンテキスト割当てに基づいて算術符号化を実行し得るように、コンテキスト変数(たとえば、コンテキスト状態)を与え得る。コンテキスト割当ては、HEVC規格など、ビデオコーディング規格に従って定義され得る。さらに、一例では、コンテキストモデリングユニット76および/またはエントロピー符号化ユニット62は、本明細書で説明する技法に基づいて有意性シンタックス要素のビンのためのコンテキストを判断するように構成され得る。本技法は、HEVCまたは別のビデオコーディング規格に組み込まれ得る。コンテキストモデルはメモリに記憶され得る。コンテキストモデリングユニット76は、一連のインデックス付きテーブルを含み、および/または特定のビンのためのコンテキストおよびコンテキスト変数を判断するためにマッピング関数を利用し得る。ビン値を符号化した後に、正規符号化エンジン78は、実際のビン値に基づいてコンテキストを更新し得る。
[0135] 図6は、本開示による、ビデオデータを符号化するための例示的なプロセスを示すフローチャートである。図6のプロセスについて、概してビデオエンコーダ32によって実行されるものとして以下で説明するが、プロセスは、ビデオエンコーダ32、エントロピー符号化ユニット62、および/またはコンテキストモデリングユニット76の任意の組合せによって実行され得る。
[0136] 図示のように、ビデオエンコーダ32は、ブロックの変換係数のための走査順序を判断する(82)。ビデオエンコーダ32は、走査順序に基づいて変換係数のためのコンテキストを判断する(84)。いくつかの例では、ビデオエンコーダ32は、判断された走査順序と、ブロックをもつ変換係数の位置と、ブロックのサイズとに基づいてコンテキストを判断する。たとえば、特定のブロックサイズ(たとえば、変換係数の8×8ブロック)および特定の位置(たとえば、変換係数位置)の場合、ビデオエンコーダ32は、走査順序が水平走査または垂直走査のいずれかである場合に同じコンテキストを判断し、水平走査でなく垂直走査でない中の走査順序の場合に異なるコンテキストを判断し得る。
[0137] ビデオエンコーダ32は、判断されたコンテキストに基づいて変換係数のための有意性シンタックス要素(たとえば、有意性フラグ)をCABAC符号化する(86)。ビデオエンコーダ32は、符号化された有意性シンタックス要素(たとえば、有意性フラグ)をシグナリングする(88)。
[0138] 図7は、本開示で説明する技法を実装し得る例示的なビデオデコーダ42を示すブロック図である。図7の例では、ビデオデコーダ42は、エントロピー復号ユニット90と、予測処理ユニット92と、逆量子化処理ユニット98と、逆変換処理ユニット100と、加算器102と、参照ピクチャメモリ104とを含む。予測処理ユニット92は、動き補償ユニット94と、イントラ予測ユニット96とを含む。ビデオデコーダ42は、いくつかの例では、図4のビデオエンコーダ32に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
[0139] 復号プロセス中に、ビデオデコーダ42は、ビデオエンコーダ32から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ42のエントロピー復号ユニット90は、量子化係数、動きベクトル、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット90は、予測処理ユニット92に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ42は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0140] いくつかの例では、エントロピー復号ユニット90は、判断された走査順序に基づいてコンテキストを判断する、本開示で説明する技法を実装するように構成され得る。いくつかの例では、エントロピー復号ユニット90は、ビデオデコーダ42内の1つまたは複数のユニットとともに、本開示で説明する技法を実装するように構成され得る。いくつかの例では、ビデオデコーダ42のプロセッサまたは処理ユニット(図示せず)は、本開示で説明する技法を実装するように構成され得る。
[0141] 図8は、本開示で説明する技法を実装し得る例示的なエントロピー復号ユニット90を示すブロック図である。エントロピー復号ユニット90は、エントロピー符号化ビットストリームを受信し、ビットストリームからシンタックス要素を復号する。シンタックス要素は、significant_coefficient_flag、coeff_abs_level_remain、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、およびcoeff_sign_flagなどのシンタックス要素、ブロックの変換係数のための上記で説明したシンタックス要素を含み得る。図8の例示的なエントロピー復号ユニット90は算術復号ユニット106を含み、算術復号ユニット106はバイパス復号エンジン108と正規復号エンジン110とを含み得る。例示的なエントロピー復号ユニット90はまた、コンテキストモデリングユニット112と逆2値化ユニット114とを含む。例示的なエントロピー復号ユニット90は、図5に関して説明した例示的なエントロピー符号化ユニット62の逆の機能を実行し得る。このようにして、エントロピー復号ユニット90は、本開示で説明する技法に基づいてエントロピー復号を実行し得る。
[0142] 算術復号ユニット106は符号化ビットストリームを受信する。図8に示すように、算術復号ユニット106は、バイパス経路または正規コーディング経路に従って、符号化されたビン値を処理し得る。符号化されたビン値がバイパス経路に従って処理されるべきか、または正規パスに従って処理されるべきかという指示は、より高いレベルシンタックスとともにビットストリーム中でシグナリングされ得る。上記で説明したCABACプロセスに従って、算術復号ユニット106がバイパス経路からビン値を受信した場合、バイパス復号エンジン108は、ビン値に割り当てられたコンテキストを利用することなしにビン値に対して算術符号化を実行し得る。一例では、バイパス復号エンジン108は、ビンの考えられる値について等しい確率を仮定し得る。
[0143] 算術復号ユニット106が、正規経路を介してビン値を受信した場合、コンテキストモデリングユニット112によって与えられるコンテキスト割当て(context assignment)に基づいて、正規復号エンジン110が算術符号化を実行し得るように、コンテキストモデリングユニット112はコンテキスト変数(context variable)を与え得る。コンテキスト割当ては、HEVCなどのビデオコーディング規格に従って定義され得る。コンテキストモデルはメモリに記憶され得る。コンテキストモデリングユニット112は、一連のインデックス付きテーブルを含み、および/または符号化ビットストリームのコンテキストおよびコンテキスト変数部分を判断するためにマッピング関数を利用し得る。さらに、一例では、コンテキストモデリングユニット112および/またはエントロピー復号ユニット90は、本明細書で説明する技法に基づいて有意性シンタックス要素のビンにコンテキストを割り当てるように構成され得る。ビン値を復号した後、正規復号エンジン110は、復号されたビン値に基づいてコンテキストを更新し得る。さらに、逆2値化ユニット114は、ビン値に対して逆2値化を実行し、ビン値が有効であるかどうかを判断するためにビン照合関数を使用し得る。逆2値化ユニット114はまた、照合判断に基づいてコンテキストモデリングユニットを更新し得る。したがって、逆2値化ユニット114は、コンテキスト適応型復号技法に従ってシンタックス要素を出力する。
[0144] 再び図7を参照すると、ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測処理ユニット92のイントラ予測ユニット96は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわち、BまたはP)スライスとしてコーディングされたとき、予測処理ユニット92の動き補償ユニット94は、エントロピー復号ユニット90から受信された動きベクトルおよび他のシンタックス要素に基づいて現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ42は、参照ピクチャメモリ104に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して、参照ピクチャリスト、リスト0およびリスト1を構成し得る。
[0145] 動き補償ユニット94は、動きベクトルと他のシンタックス要素とを解析(parsing)することによって現在ビデオスライスのビデオブロックのための予測情報を判断し、その予測情報を使用して、復号されている現在ビデオブロックの予測ブロックを生成する。たとえば、動き補償ユニット94は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを判断するために、受信されたシンタックス要素のいくつかを使用する。
[0146] 動き補償ユニット94はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット94は、ビデオブロックの符号化中にビデオエンコーダ32によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット94は、受信されたシンタックス要素からビデオエンコーダ32によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
[0147] 逆量子化処理ユニット98は、ビットストリーム中で与えられ、エントロピー復号ユニット90によって復号された、量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、ビデオスライス中の各ビデオブロックについてビデオエンコーダ32によって計算される量子化パラメータの使用を含み得る。逆変換ユニット100は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0148] 場合によっては、逆変換処理ユニット100は、係数に2次元(2D)変換を(水平方向と垂直方向の両方で)適用し得る。いくつかの例では、逆変換処理ユニット88は、代わりに、TUの各々中の残差データに、水平1D逆変換、垂直1D逆変換を適用するか、または変換を適用しないことがある。ビデオエンコーダ32において残差データに適用される変換のタイプは、適切なタイプの逆変換を変換係数に適用するために、ビデオデコーダ42にシグナリングされ得る。
[0149] 動き補償ユニット94が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ42は、逆変換処理ユニット100からの残差ブロックを動き補償ユニット94によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器102は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するか、またはさもなければビデオ品質を改善するために、(コーディングループ内またはコーディングループ後の)他のループフィルタも使用され得る。所与のフレームまたはピクチャの復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ104に記憶される。参照ピクチャメモリ104はまた、図3のディスプレイデバイス44などのディスプレイデバイス上での後の表示のために、復号されたビデオを記憶する。
[0150] 図9は、本開示による、ビデオデータを復号するための例示的なプロセスを示すフローチャートである。図9のプロセスについて、概してビデオデコーダ42によって実行されるものとして以下で説明するが、プロセスは、ビデオデコーダ42、エントロピー復号ユニット90、および/またはコンテキストモデリングユニット112の任意の組合せによって実行され得る。
[0151] 図9に示すように、ビデオデコーダ42は、コード化ビットストリームから、ブロックの変換係数のための有意性シンタックス要素(たとえば、有意性フラグ(significance flag))を受信する(116)。ビデオデコーダ42は変換係数のための走査順序を判断する(118)。ビデオデコーダ42は、判断された走査順序に基づいて変換係数のためのコンテキストを判断する(120)。いくつかの例では、ビデオデコーダ42はまた、ブロックサイズを判断し、判断された走査順序とブロックサイズとに基づいてコンテキストを判断する。いくつかの例では、ビデオデコーダ42は、判断された走査順序と、ブロックをもつ変換係数の位置と、ブロックのサイズとに基づいてコンテキストを判断する。たとえば、特定のブロックサイズ(たとえば、変換係数の8×8ブロック)および特定の位置(たとえば、変換係数位置)の場合、ビデオデコーダ42は、走査順序が水平走査または垂直走査のいずれかである場合に同じコンテキストを判断し、走査順序が水平走査でなく垂直走査でない場合に異なるコンテキストを判断し得る。ビデオデコーダ42は、判断されたコンテキストに基づいて有意性シンタックス要素(たとえば、有意性フラグ)をCABAC復号する(122)。
[0152] 図6のフローチャートで説明したビデオエンコーダ32と、図9のフローチャートで説明したビデオデコーダ42とは、本開示で説明する様々な他の例示的な技法を実装するように構成され得る。たとえば、コンテキストを判断するために、ビデオエンコーダ32およびビデオデコーダ42は、判断された走査順序が水平走査である場合および判断された走査順序が垂直走査である場合に同じであるコンテキストを判断し、判断された走査順序が水平走査でなく垂直走査でない(たとえば、対角走査である)場合、判断された走査順序が水平走査である場合および判断された走査順序が垂直走査である場合のコンテキストとは異なるコンテキストを判断するように構成され得る。
[0153] いくつかの例では、コンテキストを判断するために、ビデオエンコーダ32およびビデオデコーダ42は、走査順序が第1の走査順序である場合に有意性シンタックス要素のためのコンテキストの第1のセットを判断し、走査順序が第2の走査順序である場合に有意性シンタックス要素のためのコンテキストの第2のセットを判断するように構成され得る。いくつかのこれらの例では、コンテキストの第1のセットは、第1の走査順序が水平走査であり、第2の走査順序が垂直走査である場合、コンテキストの第2のセットと同じである。これらの例のいくつかでは、コンテキストの第1のセットは、第1の走査順序が水平走査または垂直走査のうちの1つであり、第2の走査順序が水平走査でなく垂直走査でない場合、コンテキストの第2のセットとは異なる。
[0154] いくつかの例では、ビデオエンコーダ32およびビデオデコーダ42はブロックのサイズを判断し得る。これらの例のいくつかでは、ビデオエンコーダ32およびビデオデコーダ42は、走査順序とブロックの判断されたサイズとに基づいてコンテキストを判断し得る。一例として、ビデオエンコーダ32およびビデオデコーダ42は、ブロックの判断されたサイズに基づいて、すべての走査順序について同じである変換係数の有意性シンタックス要素のためのコンテキストを判断し得る(すなわち、いくつかのブロックサイズについて、コンテキストは、すべての走査順序について同じである)。
[0155] たとえば、ビデオエンコーダ32およびビデオデコーダ42は、ブロックのサイズが第1のサイズであるのか第2のサイズであるのかを判断し得る。第1のサイズの一例は4×4ブロックであり、第2のサイズの一例は8×8ブロックである。ブロックのサイズが第1のサイズ(たとえば、4×4ブロック)である場合、ビデオエンコーダ32およびビデオデコーダ42は、すべての走査順序について同じであるコンテキスト(たとえば、4×4ブロックの場合、対角、水平、および垂直走査について同じであるコンテキスト)を判断し得る。ブロックのサイズが第2のサイズ(たとえば、8×8ブロック)である場合、ビデオエンコーダ32およびビデオデコーダ42は、少なくとも2つの異なる走査順序について異なるコンテキストを判断し得る(たとえば、8×8ブロックの対角走査のためのコンテキストは、8×8ブロックの水平または垂直走査のためのコンテキストとは異なるが、8×8ブロックの水平走査のためのコンテキストと垂直走査のためのコンテキストとは同じであり得る)。
[0156] 以下に、一例として、イントラコーディングから生じる変換係数など、変換係数がコーディングされる方法を改善するための様々な追加の技法について説明する。しかしながら、本技法は、インターコーディングの場合など、他の例にも適用可能であり得る。以下の技法は、個々に、または本開示で説明する他の技法のいずれかとともに使用され得る。その上、上記で説明した技法は、以下の技法のいずれかとともに使用され得るか、または以下の技法のいずれかとは別々に実装され得る。
[0157] いくつかの例では、ビデオエンコーダ32およびビデオデコーダ42は、最後有意係数(last significant coefficient)のロケーションを判断するために1つの走査順序を利用し得る。ビデオエンコーダ32およびビデオデコーダ42は、変換係数のための近傍コンテキストを判断するために異なる走査順序を利用し得る。ビデオエンコーダ32およびビデオデコーダ42は、次いで、判断された近傍コンテキストに基づいて、有意性フラグと、レベル情報と、符号情報とをコーディングし得る。たとえば、ビデオエンコーダ32およびビデオデコーダ42は、最後有意変換係数を識別するために(ノミナル走査(nominal scan)と呼ばれる)水平または垂直走査を利用し、次いで、近傍コンテキストを判断するために4×4ブロックまたは4×4サブブロック(8×8ブロックの場合)に対して対角走査を利用し得る。
[0158] いくつかの例では、16×16および32×32ブロックの場合、処理されている現在係数の(変換領域中の)近傍は、係数のための有意性フラグをコーディングするために使用されるコンテキストの導出のために使用される。同様に、JCTVC−H0228では、近傍は、すべてのブロックサイズのための有意性ならびにレベル情報をコーディングするために使用される。4×4および8×8ブロックのための近傍ベースのコンテキストを使用することは、HEVCのコーディング効率を改善し得る。ただし、いくつかの他の技法による有意性マップのための既存の有意性近傍が、水平または垂直走査とともに使用された場合、コンテキストを並列に導出する能力は影響を受け得る。したがって、いくつかの例では、いくつかの他の技法による有意性コーディングのために使用される近傍とともに水平および垂直走査のいくつかの態様を使用する方式について説明する。
[0159] これは、以下のように達成される。いくつかの例では、最初に、走査順序中の最後有意係数の位置は、ビットストリーム中でコーディングされる。この後に、逆方向走査順序中で16個の係数のサブセット(4×4サブブロックベースの対角走査の場合4×4サブブロック)のための有意性マップが続き、レベル情報および符号のためのコーディングパスが続く。最後有意係数の位置は、使用される特定の走査に直接依存することに留意されたい。この例を図10に示す。
[0160] 図10は、走査順序に応じて最後有意係数の位置を示す概念図である。図10にブロック124を示す。黒丸で示されるピクセルは有意である。水平走査の場合、最後有意位置の位置は、(行,列)フォーマットで(1,2)(変換係数128)である。4×4サブブロックベースの対角走査(右上)の場合、最後有意位置の位置は(0,3)(変換係数126)である。
[0161] この例では、水平または垂直走査の場合、最後有意係数位置は依然として、ノミナル走査に基づいて判断され、コーディングされる。ただし、その場合、有意性、レベルおよび符号情報をコーディングするために、ブロックは、右下係数で開始し、DC係数に逆方向に進む4×4サブブロックベースの対角走査を使用して走査される。特定の係数が有意でないことが、最後有意係数の位置から導出され得る場合、その係数のための有意性、レベルまたは符号情報はコーディングされない。
[0162] 水平走査の場合のこの手法の例を図11に示す。図11は、元の水平走査の代わりに対角走査の使用を示す概念図である。図11にブロック130を示す。黒く塗りつぶされた係数は有意である。最後有意位置の位置は、水平走査を仮定すると、(1,1)(変換係数132)である。1よりも大きい行インデックスをもつすべての係数は、有意でないと推論され得る。同様に、行インデックス1と、1よりも大きい列インデックスとをもつすべての係数は、有意でないと推論され得る。同様に、係数(1,1)は有意であると推論され得る。それのレベルおよび符号情報は推論されないことがある。有意性、レベルおよび符号情報のコーディングのために、逆方向4×4サブブロックベースの対角走査が使用される。右下係数で開始して、有意性フラグは符号化される。推論され得る有意性フラグは明示的にコーディングされない。有意性フラグのコーディングのために、近傍ベースのコンテキストが使用される。近傍は、16×16および32×32ブロックのために使用されるものと同じであり得るか、または異なる近傍が使用され得る。上記と同様に、近傍ベースのコンテキストの別個のセットが、異なる走査(水平、垂直、および4×4サブブロック)のために使用され得ることに留意されたい。また、コンテキストは異なるブロックサイズ間で共有され得る。
[0163] 別の例では、ノミナル走査を仮定して最後有意位置の位置がコーディングされた後、JCTVC−H0228の技法など、様々な技法のいずれかが、4×4および8×8ブロックのための有意性、レベルおよび符号情報をコーディングするために使用され得る。有意性、レベルおよび符号情報のコーディングのために、4×4サブブロックベースの対角走査が使用され得る。
[0164] 本方法は、水平、垂直、および4×4サブブロックベースの対角走査に限定されないことに留意されたい。基本原理は、ノミナル走査を仮定して最後有意係数位置を送り、次いで、近傍ベースのコンテキストを使用する別の走査を使用して有意性(および場合によってはレベルおよび符号)情報をコーディングすることである。同様に、4×4および8×8ブロックの場合の技法について説明したが、本技法は、水平および/または垂直走査が使用され得る任意のブロックサイズに拡張され得る。
[0165] 一例では、変換ブロック中のそれの位置に基づいて各変換係数について別個のコンテキストを利用するのではなく、ビデオコーダ(たとえば、ビデオエンコーダ32またはビデオデコーダ42)は、変換係数の行インデックスまたは列インデックスに基づいて変換係数をコーディングするためにどのコンテキストを使用すべきかを判断し得る。たとえば、水平走査の場合、同じ行中のすべての変換係数は同じコンテキストを共有し得、ビデオコーダは、異なる行中の変換係数について異なるコンテキストを利用し得る。垂直走査の場合、同じ列中のすべての変換係数は同じコンテキストを共有し得、ビデオコーダは、異なる列中の変換係数について異なるコンテキストを利用し得る。
[0166] いくつかの他の技法は、16×16およびより高いブロックサイズのための有意性マップのコーディングのための係数位置に基づいて複数のコンテキストセットを使用し得る。同様に、JCTVC−H0228(およびまたHM5.0)は、コンテキストセットを判断するために行および列インデックスの和を使用する。JCTVC−H0228の場合、これは水平および垂直走査のためにも行われる。
[0167] 本開示のいくつかの例示的な技法では、水平走査の場合の特定の係数のための有意性またはレベルをコーディングするために使用されるコンテキストセットは、係数の行インデックスのみに依存し得る。同様に、垂直走査の場合、係数のための有意性またはレベルをコーディングするコンテキストセットは、係数の列インデックスのみに依存し得る。
[0168] 本開示のいくつかの例示的な技法では、コンテキストセットは、走査における係数の絶対インデックスのみに依存し得る。異なる走査は、コンテキストセットを導出するために異なる機能を使用し得る。
[0169] さらに、上記で説明したように、水平、垂直および4×4サブブロックベース対角走査は別個のコンテキストセットを使用し得るか、または水平および垂直走査はコンテキストセットを共有し得る。いくつかの例では、コンテキストセットだけでなくコンテキスト自体も、走査順序中の係数の絶対インデックスのみに依存する。
[0170] いくつかの例では、ビデオコーダ(たとえば、ビデオエンコーダ32またはビデオデコーダ42)は、ただ1つのタイプの走査(たとえば、対角走査)を実装するように構成され得る。しかしながら、ビデオコーダが評価する隣接領域は、ノミナル走査に基づき得る。ノミナル走査は、ビデオコーダが他の走査を実行することが可能であった場合にビデオコーダが実行したであろう走査である。たとえば、ビデオエンコーダ32は、水平走査が使用されるべきであることをシグナリングし得る。しかしながら、ビデオデコーダ42は、代わりに対角走査を実装し得るが、ビデオコーダが評価する隣接領域は、水平走査が使用されるべきであるというシグナリングに基づき得る。同様のことは、垂直走査のために適用されることになる。
[0171] いくつかの例では、ノミナル走査が水平走査である場合、ビデオコーダは、現在使用されている領域に対して水平方向に評価される隣接領域を伸ばし得る。同じことは、ノミナル走査が垂直走査であるときに適用されるであろう、しかし、垂直方向においてである。隣接領域を伸ばすことは、領域を変化させることと呼ばれることがある。たとえば、ノミナル走査が水平である場合、コーディングされている現在変換係数が位置するところから2行下にある変換係数を評価することではなく、ビデオコーダは、現在変換係数が位置するところから3列離れた変換係数を評価し得る。同様のことは、ノミナル走査が垂直走査であるとき、適用されることになるが、変換係数は、現在の変換係数(たとえば、コーディングされている変換係数)が位置するところから3行離れて位置することになる。
[0172] 図12は、公称水平走査のためのコンテキスト近傍を示す概念図である。図12に、4×4サブブロック136A〜136Dを含む8×8ブロック134を示す。いくつかの他の技法におけるコンテキスト近傍と比較して、2行下の係数は、同じ行中にあるが3列離れた係数(X4)によって置き換えられた。同様に、ノミナル走査が垂直である場合、垂直方向に伸ばされるコンテキスト近傍が使用され得る。
[0173] 1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データストレージデバイスは、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0174] 限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0175] 命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0176] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0177] 様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内である。
[0177] 様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] ビデオデータを復号するための方法であって、前記方法は、
コード化ビットストリームから、ブロックの変換係数の有意性フラグを受信することと、
前記ブロックの前記変換係数のための走査順序を判断することと、
前記判断された走査順序に基づいて前記ブロックの前記変換係数の前記有意性フラグのためのコンテキストを判断することと、
少なくとも前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)復号することとを備える、方法。
[C2] 前記コンテキストを判断することが、前記ブロックのサイズと、前記ブロック内の前記変換係数の位置と、前記走査順序とに基づいて前記コンテキストを判断することを備える、C1に記載の方法。
[C3] 前記コンテキストを判断することは、
前記判断された走査順序が水平走査である場合および前記判断された走査順序が垂直走査である場合に同じである前記コンテキストを判断することと、
前記判断された走査順序が前記水平走査でなく前記垂直走査でない場合、前記判断された走査順序が前記水平走査である場合および前記判断された走査順序が前記垂直走査である場合の前記コンテキストとは異なる前記コンテキストを判断することと
を備える、C1に記載の方法。
[C4] 前記判断された走査順序に基づいて前記ブロックの前記変換係数の前記有意性フラグのためのコンテキストを判断することは、前記走査順序が水平走査順序または垂直走査順序である場合の同じコンテキストを判断することを備える、C1に記載の方法。
[C5] 前記コンテキストを判断することは、
前記走査順序が第1の走査順序である場合、前記有意性フラグのためのコンテキストの第1のセットを判断することと、
前記走査順序が第2の走査順序である場合、前記有意性フラグのためのコンテキストの第2のセットを判断することと
を備える、C1に記載の方法。
[C6] コンテキストの前記第1のセットは、前記第1の走査順序が水平走査であり、前記第2の走査順序が垂直走査である場合、コンテキストの前記第2のセットと同じである、C5に記載の方法。
[C7] コンテキストの前記第1のセットは、前記第1の走査順序が水平走査または垂直走査のうちの1つであり、前記第2の走査順序が前記水平走査でなく前記垂直走査でない場合、コンテキストの前記第2のセットとは異なる、C5に記載の方法。
[C8] 前記コンテキストを判断することは、前記判断された走査順序に基づいて、および前記ブロックのサイズに基づいて、前記ブロックの前記変換係数の前記有意性フラグのための前記コンテキストを判断することを備える、C1に記載の方法。
[C9] 前記ブロックのサイズが第1のサイズであるのか第2のサイズであるのかを判断すること
をさらに備え、
ここで、前記ブロックの前記サイズが前記第1のサイズである場合、前記コンテキストを判断することが、すべての走査順序について同じである前記コンテキストを判断することを備え、
ここで、前記ブロックの前記サイズが前記第2のサイズである場合、前記コンテキストを判断することが、少なくとも2つの異なる走査順序について異なる前記コンテキストを判断することを備える、C1に記載の方法。
[C10] 前記ブロックが変換係数の8×8ブロックを備える、C1に記載の方法。
[C11] ビデオデータを符号化するための方法であって、前記方法は、
ブロックの変換係数のための走査順序を判断することと、
前記判断された走査順序に基づいて前記ブロックの前記変換係数の有意性フラグのためのコンテキストを判断することと、
少なくとも前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化することと、
コード化ビットストリーム中で前記符号化された有意性フラグをシグナリングすることと
を備える、方法。
[C12] 前記コンテキストを判断することが、前記ブロックのサイズと、前記ブロック内の前記変換係数の位置と、前記走査順序とに基づいて前記コンテキストを判断することを備える、C11に記載の方法。
[C13] 前記コンテキストを判断することは、
前記判断された走査順序が水平走査である場合および前記判断された走査順序が垂直走査である場合に同じである前記コンテキストを判断することと、
前記判断された走査順序が前記水平走査でなく前記垂直走査でない場合、前記判断された走査順序が前記水平走査である場合および前記判断された走査順序が前記垂直走査である場合の前記コンテキストとは異なる前記コンテキストを判断することと
を備える、C11に記載の方法。
[C14] 前記判断された走査順序に基づいて前記ブロックの前記変換係数の前記有意性フラグのためのコンテキストを判断することは、前記走査順序が水平走査順序または垂直走査順序である場合の同じコンテキストを判断することを備える、C11に記載の方法。
[C15] 前記コンテキストを判断することは、
前記走査順序が第1の走査順序である場合、前記有意性フラグのためのコンテキストの第1のセットを判断することと、
前記走査順序が第2の走査順序である場合、前記有意性フラグのためのコンテキストの第2のセットを判断することと
を備える、C11に記載の方法。
[C16] コンテキストの前記第1のセットは、前記第1の走査順序が水平走査であり、前記第2の走査順序が垂直走査である場合、コンテキストの前記第2のセットと同じである、C15に記載の方法。
[C17] コンテキストの前記第1のセットは、前記第1の走査順序が水平走査または垂直走査のうちの1つであり、前記第2の走査順序が前記水平走査でなく前記垂直走査でない場合、コンテキストの前記第2のセットとは異なる、C15に記載の方法。
[C18] 前記コンテキストを判断することは、前記判断された走査順序に基づいて、および前記ブロックのサイズに基づいて、前記ブロックの前記変換係数の前記有意性フラグのための前記コンテキストを判断することを備える、C11に記載の方法。
[C19] 前記ブロックが変換係数の8×8ブロックを備える、C11に記載の方法。
[C20] ビデオデータをコーディングするための装置であって、前記装置が、
ブロックの変換係数のための走査順序を判断することと、
前記判断された走査順序に基づいて前記ブロックの前記変換係数の有意性フラグのためのコンテキストを判断することと、
少なくとも前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)コーディングすることとを行うように構成されたビデオコーダを備える、装置。
[C21] 前記ビデオコーダがビデオデコーダを備え、ここで、前記ビデオデコーダが、
コード化ビットストリームから、前記ブロックの前記変換係数の前記有意性フラグを受信することと、
前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをCABAC復号することと
を行うように構成された、C20に記載の装置。
[C22] 前記ビデオコーダがビデオエンコーダを備え、ここで、前記ビデオエンコーダが、
前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをCABAC符号化することと、
コード化ビットストリーム中で、前記変換係数の前記有意性フラグをシグナリングすることと
を行うように構成された、C20に記載の装置。
[C23] 前記コンテキストを判断するために、前記ビデオコーダが、前記ブロックのサイズと、前記ブロック内の前記変換係数の位置と、前記走査順序とに基づいて前記コンテキストを判断するように構成された、C20に記載の装置。
[C24] 前記コンテキストを判断するために、前記ビデオコーダは、
前記判断された走査順序が水平走査である場合および前記判断された走査順序が垂直走査である場合に同じである前記コンテキストを判断することと、
前記判断された走査順序が前記水平走査でなく前記垂直走査でない場合、前記判断された走査順序が前記水平走査である場合および前記判断された走査順序が前記垂直走査である場合の前記コンテキストとは異なる前記コンテキストを判断することと
を行うように構成された、C20に記載の装置。
[C25] 前記判断された走査順序に基づいて前記ブロックの前記変換係数の前記有意性フラグのためのコンテキストを判断するために、前記ビデオコーダは、前記走査順序が水平走査順序または垂直走査順序である場合の同じコンテキストを判断するように構成された、C20に記載の装置。
[C26] 前記コンテキストを判断するために、前記ビデオコーダは、
前記走査順序が第1の走査順序である場合、前記有意性フラグのためのコンテキストの第1のセットを判断することと、
前記走査順序が第2の走査順序である場合、前記有意性フラグのためのコンテキストの第2のセットを判断することと
を行うように構成された、C20に記載の装置。
[C27] コンテキストの前記第1のセットは、前記第1の走査順序が水平走査であり、前記第2の走査順序が垂直走査である場合、コンテキストの前記第2のセットと同じである、C26に記載の装置。
[C28] コンテキストの前記第1のセットは、前記第1の走査順序が水平走査または垂直走査のうちの1つであり、前記第2の走査順序が前記水平走査でなく前記垂直走査でない場合、コンテキストの前記第2のセットとは異なる、C26に記載の装置。
[C29] 前記コンテキストを判断するために、前記ビデオコーダが、前記判断された走査順序に基づいて、および前記ブロックのサイズに基づいて、前記ブロックの前記変換係数の前記有意性フラグのための前記コンテキストを判断するように構成された、C20に記載の装置。
[C30] 前記ビデオコーダは、
前記ブロックのサイズが第1のサイズであるのか第2のサイズであるのかを判断するように構成され、
ここで、前記ブロックの前記サイズが前記第1のサイズである場合、前記ビデオコーダが、すべての走査順序について同じである前記コンテキストを判断するように構成され、
ここで、前記ブロックの前記サイズが前記第2のサイズである場合、前記ビデオコーダが、少なくとも2つの異なる走査順序について異なる前記コンテキストを判断するように構成された、C20に記載の装置。
[C31] 前記ブロックが変換係数の8×8ブロックを備える、C20に記載の装置。
[C32] 前記装置が、
マイクロプロセッサと、
集積回路(IC)と、
前記ビデオコーダを含むワイヤレス通信デバイスと
のうちの1つを備える、C20に記載の装置。
[C33] ビデオデータをコーディングするための装置であって、前記装置が、
ブロックの変換係数のための走査順序を判断するための手段と、
前記判断された走査順序に基づいて前記ブロックの前記変換係数の有意性フラグのためのコンテキストを判断するための手段と、
少なくとも前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)するための手段とを備える、装置。
[C34] 前記コンテキストを判断するための前記手段が、前記ブロックのサイズと、前記ブロック内の前記変換係数の位置と、前記走査順序とに基づいて前記コンテキストを判断するための手段を備える、C33に記載の装置。
[C35] 実行されたとき、ビデオデータをコーディングするための装置の1つまたは複数のプロセッサに、
ブロックの変換係数のための走査順序を判断することと、
前記判断された走査順序に基づいて前記ブロックの前記変換係数の有意性フラグのためのコンテキストを判断することと、
少なくとも前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)コーディングすることとを行わせる、その上に記憶された命令を有するコンピュータ可読記憶媒体。
[C36] 前記1つまたは複数のプロセッサに前記コンテキストを判断させる前記命令が、前記1つまたは複数のプロセッサに、前記ブロックのサイズと、前記ブロック内の前記変換係数の位置と、前記走査順序とに基づいて前記コンテキストを判断させる命令を備える、C35に記載のコンピュータ可読記憶媒体。

Claims (36)

  1. ビデオデータを復号するための方法であって、前記方法は、
    コード化ビットストリームから、ブロックの変換係数の有意性フラグを受信することと、
    前記ブロックの前記変換係数のための走査順序を判断することと、
    前記判断された走査順序に基づいて前記ブロックの前記変換係数の前記有意性フラグのためのコンテキストを判断することと、
    少なくとも前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)復号することと
    を備える、方法。
  2. 前記コンテキストを判断することが、前記ブロックのサイズと、前記ブロック内の前記変換係数の位置と、前記走査順序とに基づいて前記コンテキストを判断することを備える、請求項1に記載の方法。
  3. 前記コンテキストを判断することは、
    前記判断された走査順序が水平走査である場合および前記判断された走査順序が垂直走査である場合に同じである前記コンテキストを判断することと、
    前記判断された走査順序が前記水平走査でなく前記垂直走査でない場合、前記判断された走査順序が前記水平走査である場合および前記判断された走査順序が前記垂直走査である場合の前記コンテキストとは異なる前記コンテキストを判断することと
    を備える、請求項1に記載の方法。
  4. 前記判断された走査順序に基づいて前記ブロックの前記変換係数の前記有意性フラグのためのコンテキストを判断することは、前記走査順序が水平走査順序または垂直走査順序である場合の同じコンテキストを判断することを備える、請求項1に記載の方法。
  5. 前記コンテキストを判断することは、
    前記走査順序が第1の走査順序である場合、前記有意性フラグのためのコンテキストの第1のセットを判断することと、
    前記走査順序が第2の走査順序である場合、前記有意性フラグのためのコンテキストの第2のセットを判断することと
    を備える、請求項1に記載の方法。
  6. コンテキストの前記第1のセットは、前記第1の走査順序が水平走査であり、前記第2の走査順序が垂直走査である場合、コンテキストの前記第2のセットと同じである、請求項5に記載の方法。
  7. コンテキストの前記第1のセットは、前記第1の走査順序が水平走査または垂直走査のうちの1つであり、前記第2の走査順序が前記水平走査でなく前記垂直走査でない場合、コンテキストの前記第2のセットとは異なる、請求項5に記載の方法。
  8. 前記コンテキストを判断することは、前記判断された走査順序に基づいて、および前記ブロックのサイズに基づいて、前記ブロックの前記変換係数の前記有意性フラグのための前記コンテキストを判断することを備える、請求項1に記載の方法。
  9. 前記ブロックのサイズが第1のサイズであるのか第2のサイズであるのかを判断すること
    をさらに備え、
    ここで、前記ブロックの前記サイズが前記第1のサイズである場合、前記コンテキストを判断することが、すべての走査順序について同じである前記コンテキストを判断することを備え、
    ここで、前記ブロックの前記サイズが前記第2のサイズである場合、前記コンテキストを判断することが、少なくとも2つの異なる走査順序について異なる前記コンテキストを判断することを備える、請求項1に記載の方法。
  10. 前記ブロックが変換係数の8×8ブロックを備える、請求項1に記載の方法。
  11. ビデオデータを符号化するための方法であって、前記方法は、
    ブロックの変換係数のための走査順序を判断することと、
    前記判断された走査順序に基づいて前記ブロックの前記変換係数の有意性フラグのためのコンテキストを判断することと、
    少なくとも前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)符号化することと、
    コード化ビットストリーム中で前記符号化された有意性フラグをシグナリングすることと
    を備える、方法。
  12. 前記コンテキストを判断することが、前記ブロックのサイズと、前記ブロック内の前記変換係数の位置と、前記走査順序とに基づいて前記コンテキストを判断することを備える、請求項11に記載の方法。
  13. 前記コンテキストを判断することは、
    前記判断された走査順序が水平走査である場合および前記判断された走査順序が垂直走査である場合に同じである前記コンテキストを判断することと、
    前記判断された走査順序が前記水平走査でなく前記垂直走査でない場合、前記判断された走査順序が前記水平走査である場合および前記判断された走査順序が前記垂直走査である場合の前記コンテキストとは異なる前記コンテキストを判断することと
    を備える、請求項11に記載の方法。
  14. 前記判断された走査順序に基づいて前記ブロックの前記変換係数の前記有意性フラグのためのコンテキストを判断することは、前記走査順序が水平走査順序または垂直走査順序である場合の同じコンテキストを判断することを備える、請求項11に記載の方法。
  15. 前記コンテキストを判断することは、
    前記走査順序が第1の走査順序である場合、前記有意性フラグのためのコンテキストの第1のセットを判断することと、
    前記走査順序が第2の走査順序である場合、前記有意性フラグのためのコンテキストの第2のセットを判断することと
    を備える、請求項11に記載の方法。
  16. コンテキストの前記第1のセットは、前記第1の走査順序が水平走査であり、前記第2の走査順序が垂直走査である場合、コンテキストの前記第2のセットと同じである、請求項15に記載の方法。
  17. コンテキストの前記第1のセットは、前記第1の走査順序が水平走査または垂直走査のうちの1つであり、前記第2の走査順序が前記水平走査でなく前記垂直走査でない場合、コンテキストの前記第2のセットとは異なる、請求項15に記載の方法。
  18. 前記コンテキストを判断することは、前記判断された走査順序に基づいて、および前記ブロックのサイズに基づいて、前記ブロックの前記変換係数の前記有意性フラグのための前記コンテキストを判断することを備える、請求項11に記載の方法。
  19. 前記ブロックが変換係数の8×8ブロックを備える、請求項11に記載の方法。
  20. ビデオデータをコーディングするための装置であって、前記装置が、
    ブロックの変換係数のための走査順序を判断することと、
    前記判断された走査順序に基づいて前記ブロックの前記変換係数の有意性フラグのためのコンテキストを判断することと、
    少なくとも前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)コーディングすることと
    を行うように構成されたビデオコーダを備える、装置。
  21. 前記ビデオコーダがビデオデコーダを備え、ここで、前記ビデオデコーダが、
    コード化ビットストリームから、前記ブロックの前記変換係数の前記有意性フラグを受信することと、
    前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをCABAC復号することと
    を行うように構成された、請求項20に記載の装置。
  22. 前記ビデオコーダがビデオエンコーダを備え、ここで、前記ビデオエンコーダが、
    前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをCABAC符号化することと、
    コード化ビットストリーム中で、前記変換係数の前記有意性フラグをシグナリングすることと
    を行うように構成された、請求項20に記載の装置。
  23. 前記コンテキストを判断するために、前記ビデオコーダが、前記ブロックのサイズと、前記ブロック内の前記変換係数の位置と、前記走査順序とに基づいて前記コンテキストを判断するように構成された、請求項20に記載の装置。
  24. 前記コンテキストを判断するために、前記ビデオコーダは、
    前記判断された走査順序が水平走査である場合および前記判断された走査順序が垂直走査である場合に同じである前記コンテキストを判断することと、
    前記判断された走査順序が前記水平走査でなく前記垂直走査でない場合、前記判断された走査順序が前記水平走査である場合および前記判断された走査順序が前記垂直走査である場合の前記コンテキストとは異なる前記コンテキストを判断することと
    を行うように構成された、請求項20に記載の装置。
  25. 前記判断された走査順序に基づいて前記ブロックの前記変換係数の前記有意性フラグのためのコンテキストを判断するために、前記ビデオコーダは、前記走査順序が水平走査順序または垂直走査順序である場合の同じコンテキストを判断するように構成された、請求項20に記載の装置。
  26. 前記コンテキストを判断するために、前記ビデオコーダは、
    前記走査順序が第1の走査順序である場合、前記有意性フラグのためのコンテキストの第1のセットを判断することと、
    前記走査順序が第2の走査順序である場合、前記有意性フラグのためのコンテキストの第2のセットを判断することと
    を行うように構成された、請求項20に記載の装置。
  27. コンテキストの前記第1のセットは、前記第1の走査順序が水平走査であり、前記第2の走査順序が垂直走査である場合、コンテキストの前記第2のセットと同じである、請求項26に記載の装置。
  28. コンテキストの前記第1のセットは、前記第1の走査順序が水平走査または垂直走査のうちの1つであり、前記第2の走査順序が前記水平走査でなく前記垂直走査でない場合、コンテキストの前記第2のセットとは異なる、請求項26に記載の装置。
  29. 前記コンテキストを判断するために、前記ビデオコーダが、前記判断された走査順序に基づいて、および前記ブロックのサイズに基づいて、前記ブロックの前記変換係数の前記有意性フラグのための前記コンテキストを判断するように構成された、請求項20に記載の装置。
  30. 前記ビデオコーダは、
    前記ブロックのサイズが第1のサイズであるのか第2のサイズであるのかを判断する
    ように構成され、
    ここで、前記ブロックの前記サイズが前記第1のサイズである場合、前記ビデオコーダが、すべての走査順序について同じである前記コンテキストを判断するように構成され、
    ここで、前記ブロックの前記サイズが前記第2のサイズである場合、前記ビデオコーダが、少なくとも2つの異なる走査順序について異なる前記コンテキストを判断するように構成された、請求項20に記載の装置。
  31. 前記ブロックが変換係数の8×8ブロックを備える、請求項20に記載の装置。
  32. 前記装置が、
    マイクロプロセッサと、
    集積回路(IC)と、
    前記ビデオコーダを含むワイヤレス通信デバイスと
    のうちの1つを備える、請求項20に記載の装置。
  33. ビデオデータをコーディングするための装置であって、前記装置が、
    ブロックの変換係数のための走査順序を判断するための手段と、
    前記判断された走査順序に基づいて前記ブロックの前記変換係数の有意性フラグのためのコンテキストを判断するための手段と、
    少なくとも前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)するための手段と
    を備える、装置。
  34. 前記コンテキストを判断するための前記手段が、前記ブロックのサイズと、前記ブロック内の前記変換係数の位置と、前記走査順序とに基づいて前記コンテキストを判断するための手段を備える、請求項33に記載の装置。
  35. 実行されたとき、ビデオデータをコーディングするための装置の1つまたは複数のプロセッサに、
    ブロックの変換係数のための走査順序を判断することと、
    前記判断された走査順序に基づいて前記ブロックの前記変換係数の有意性フラグのためのコンテキストを判断することと、
    少なくとも前記判断されたコンテキストに基づいて前記変換係数の前記有意性フラグをコンテキスト適応型バイナリ算術コーディング(CABAC)コーディングすることと
    を行わせる、その上に記憶された命令を有するコンピュータ可読記憶媒体。
  36. 前記1つまたは複数のプロセッサに前記コンテキストを判断させる前記命令が、前記1つまたは複数のプロセッサに、前記ブロックのサイズと、前記ブロック内の前記変換係数の位置と、前記走査順序とに基づいて前記コンテキストを判断させる命令を備える、請求項35に記載のコンピュータ可読記憶媒体。
JP2015505990A 2012-04-16 2013-04-16 変換係数コーディング Pending JP2015516768A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261625039P 2012-04-16 2012-04-16
US61/625,039 2012-04-16
US201261667382P 2012-07-02 2012-07-02
US61/667,382 2012-07-02
US13/862,818 US20130272423A1 (en) 2012-04-16 2013-04-15 Transform coefficient coding
US13/862,818 2013-04-15
PCT/US2013/036779 WO2013158642A1 (en) 2012-04-16 2013-04-16 Transform coefficient coding

Publications (1)

Publication Number Publication Date
JP2015516768A true JP2015516768A (ja) 2015-06-11

Family

ID=49325050

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2015505982A Active JP6525865B2 (ja) 2012-04-16 2013-04-15 係数走査のための係数グループおよび係数コーディング
JP2015505981A Pending JP2015516767A (ja) 2012-04-16 2013-04-15 係数走査のための係数グループおよび係数コーディング
JP2015505990A Pending JP2015516768A (ja) 2012-04-16 2013-04-16 変換係数コーディング
JP2018009550A Active JP6542400B2 (ja) 2012-04-16 2018-01-24 係数走査のための係数グループおよび係数コーディング

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2015505982A Active JP6525865B2 (ja) 2012-04-16 2013-04-15 係数走査のための係数グループおよび係数コーディング
JP2015505981A Pending JP2015516767A (ja) 2012-04-16 2013-04-15 係数走査のための係数グループおよび係数コーディング

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018009550A Active JP6542400B2 (ja) 2012-04-16 2018-01-24 係数走査のための係数グループおよび係数コーディング

Country Status (19)

Country Link
US (3) US9621921B2 (ja)
EP (3) EP2839584A1 (ja)
JP (4) JP6525865B2 (ja)
KR (3) KR20150003320A (ja)
CN (3) CN104247421B (ja)
AR (1) AR091338A1 (ja)
AU (2) AU2013249532A1 (ja)
CA (2) CA2868533A1 (ja)
DK (1) DK2839645T3 (ja)
ES (1) ES2637490T3 (ja)
HK (2) HK1201103A1 (ja)
IL (2) IL234705A0 (ja)
PH (2) PH12014502144A1 (ja)
RU (2) RU2014145852A (ja)
SG (2) SG11201405867WA (ja)
SI (1) SI2839645T1 (ja)
TW (2) TW201349867A (ja)
WO (3) WO2013158563A1 (ja)
ZA (2) ZA201407860B (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1428018B1 (en) 2001-09-06 2010-06-09 Straus Holdings Inc. Rapid and sensitive detection of molecules
ES2711671T3 (es) * 2011-06-28 2019-05-06 Samsung Electronics Co Ltd Procedimiento de decodificación de vídeo usando decodificación
US8891630B2 (en) * 2011-10-24 2014-11-18 Blackberry Limited Significance map encoding and decoding using partition set based context assignment
US9888261B2 (en) * 2011-11-08 2018-02-06 Samsung Electronics Co., Ltd. Method and device for arithmetic coding of video, and method and device for arithmetic decoding of video
AU2012200319B2 (en) * 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
US9621921B2 (en) 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
JP6190361B2 (ja) 2012-06-01 2017-08-30 シャープ株式会社 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置
WO2014138633A2 (en) * 2013-03-08 2014-09-12 Board Of Regents, The University Of Texas System Systems and methods for digital media compression and recompression
US9813737B2 (en) * 2013-09-19 2017-11-07 Blackberry Limited Transposing a block of transform coefficients, based upon an intra-prediction mode
KR102333000B1 (ko) * 2015-01-15 2021-12-01 한국전자통신연구원 고속 변환 계수 부호화 방법 및 장치
US10574993B2 (en) 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US10382768B2 (en) 2015-06-23 2019-08-13 Mediatek Singapore Pte. Ltd. Method and apparatus for transform coefficient coding of non-square blocks
US10123044B2 (en) * 2015-07-16 2018-11-06 Mediatek Inc. Partial decoding circuit of video encoder/decoder for dealing with inverse second transform and partial encoding circuit of video encoder for dealing with second transform
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
RU2706228C1 (ru) 2016-02-12 2019-11-15 Хуавей Текнолоджиз Ко., Лтд. Способ и устройство выбора порядка сканирования
KR102210230B1 (ko) * 2016-02-12 2021-01-29 후아웨이 테크놀러지 컴퍼니 리미티드 스캔 순서 선택을 위한 방법 및 장치
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
EP3264763A1 (en) * 2016-06-29 2018-01-03 Thomson Licensing Method and apparatus for improved significance flag coding using simple local predictor
US10972733B2 (en) 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
EP4236321A3 (en) 2016-08-31 2023-09-13 KT Corporation Method and device for processing video signal
KR102424411B1 (ko) * 2017-04-13 2022-07-25 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
CN108881909A (zh) * 2017-05-09 2018-11-23 富士通株式会社 扫描顺序生成方法和扫描顺序生成设备
CN107071494B (zh) * 2017-05-09 2019-10-11 珠海市杰理科技股份有限公司 视频图像帧的二进制语法元素的生成方法和系统
US10630974B2 (en) * 2017-05-30 2020-04-21 Google Llc Coding of intra-prediction modes
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
JP7198268B2 (ja) * 2017-07-31 2022-12-28 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 画像復号化方法、画像符号化方法及びコンピュータ可読記録媒体
US10523968B2 (en) 2017-09-18 2019-12-31 Google Llc Coding of last significant coefficient flags
WO2019078693A1 (ko) * 2017-10-20 2019-04-25 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR102628530B1 (ko) * 2017-10-20 2024-01-24 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
EP3490253A1 (en) 2017-11-23 2019-05-29 Thomson Licensing Encoding and decoding methods and corresponding devices
KR102653848B1 (ko) * 2017-12-13 2024-04-02 삼성전자주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
CN116112669A (zh) * 2018-01-02 2023-05-12 三星电子株式会社 视频解码方法、视频编码方法及计算机可读记录介质
WO2019199838A1 (en) * 2018-04-12 2019-10-17 Futurewei Technologies, Inc. Reducing context switching for coding transform coefficients
EP3562156A1 (en) * 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for adaptive context modeling in video encoding and decoding
WO2020060867A1 (en) * 2018-09-21 2020-03-26 Interdigital Vc Holdings, Inc. Scalar quantizer decision scheme for dependent scalar quantization
BR112021005558A2 (pt) * 2018-09-24 2021-06-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. aparelho para codificar e decodificar um bloco de coeficientes de transformação, codificador para codificar e decodificador para decodificar um bloco de coeficiente de transformação, método para codificar e decodificar um bloco de coeficientes de transformação, corrente de dados
CN113056917B (zh) 2018-11-06 2024-02-06 北京字节跳动网络技术有限公司 为视频处理使用具有几何分割的帧间预测
CN113170137B (zh) * 2018-11-21 2024-09-27 交互数字Vc控股公司 降低本地邻域的使用的残差译码
US11102513B2 (en) * 2018-12-06 2021-08-24 Tencent America LLC One-level transform split and adaptive sub-block transform
RU2767513C1 (ru) * 2018-12-28 2022-03-17 Телефонактиеболагет Лм Эрикссон (Пабл) Способ и оборудование для проведения выбора преобразования в кодере и декодере
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
CN113170139B (zh) * 2019-01-10 2023-12-05 北京字节跳动网络技术有限公司 上下文自适应二进制算数编码的简化上下文建模
US11202100B2 (en) 2019-03-11 2021-12-14 Qualcomm Incorporated Coefficient coding for transform skip mode
CN113454994B (zh) * 2019-03-21 2022-03-01 三星电子株式会社 用于对具有针对每个块形状设置的块尺寸的视频进行编码/解码的方法和装置
CN113711611B (zh) * 2019-04-19 2024-03-19 字节跳动有限公司 用于变换跳过模式中的系数编解码的方法、装置和介质
CN113906753B (zh) 2019-04-24 2023-12-01 字节跳动有限公司 编解码视频的量化残差差分脉冲编解码调制表示的约束
CN113796069B (zh) 2019-05-01 2024-03-08 字节跳动有限公司 使用量化残差差分脉冲编解码调制编解码的帧内编解码视频
EP3949387A4 (en) 2019-05-02 2022-05-18 ByteDance Inc. SIGNALING IN A TRANSFORM JUMP MODE
CN113785306B (zh) 2019-05-02 2024-06-14 字节跳动有限公司 基于编解码树结构类型的编解码模式
US11032572B2 (en) * 2019-05-17 2021-06-08 Qualcomm Incorporated Low-frequency non-separable transform signaling based on zero-out patterns for video coding
US11695960B2 (en) 2019-06-14 2023-07-04 Qualcomm Incorporated Transform and last significant coefficient position signaling for low-frequency non-separable transform in video coding
KR20220050907A (ko) * 2019-08-31 2022-04-25 엘지전자 주식회사 영상 코딩 시스템에서 레지듀얼 데이터 코딩에 대한 영상 디코딩 방법 및 그 장치
US12052421B2 (en) * 2019-11-11 2024-07-30 Lg Electronics Inc. Transformation-based image coding method and device therefor
CN113038140B (zh) * 2019-12-24 2024-05-28 扬智电子科技(成都)有限公司 上下文适应性二进制算术编码的视频解码方法与其视频解码装置
US11785219B2 (en) * 2020-04-13 2023-10-10 Qualcomm Incorporated Coefficient coding for support of different color formats in video coding
CN112995671B (zh) * 2021-02-21 2022-10-28 腾讯科技(深圳)有限公司 视频编解码方法、装置、计算机可读介质及电子设备

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195389B1 (en) 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
CN1589023A (zh) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 一种基于上下文的多码表变长编解码方法及编解码装置
US20090123066A1 (en) * 2005-07-22 2009-05-14 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein,
US20080123947A1 (en) 2005-07-22 2008-05-29 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein
EP1982428A2 (en) 2005-08-31 2008-10-22 Micronas USA, Inc. Macroblock neighborhood address calculation
US8306112B2 (en) 2005-09-20 2012-11-06 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
CN101867820B (zh) 2005-09-20 2013-05-29 三菱电机株式会社 图像解码装置以及图像解码方法
FR2895602B1 (fr) 2005-12-22 2008-03-07 Assistance Tech Et Etude De Ma Dispositif et procede d'encodage de type cabac
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
US7554468B2 (en) * 2006-08-25 2009-06-30 Sony Computer Entertainment Inc, Entropy decoding methods and apparatus using most probable and least probable signal cases
US7460725B2 (en) * 2006-11-09 2008-12-02 Calista Technologies, Inc. System and method for effectively encoding and decoding electronic information
KR101356733B1 (ko) * 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
CN101415121B (zh) 2007-10-15 2010-09-29 华为技术有限公司 一种自适应的帧预测的方法及装置
JP4875024B2 (ja) 2008-05-09 2012-02-15 株式会社東芝 画像情報伝送装置
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
WO2010021682A1 (en) 2008-08-19 2010-02-25 Thomson Licensing Cabac/avc compliant watermarking of syntax elements in compressed video
JP5492206B2 (ja) * 2009-07-27 2014-05-14 株式会社東芝 画像符号化方法および画像復号方法、ならびに、画像符号化装置および画像復号装置
US20120044987A1 (en) 2009-12-31 2012-02-23 Broadcom Corporation Entropy coder supporting selective employment of syntax and context adaptation
DK3435674T3 (da) 2010-04-13 2023-08-21 Ge Video Compression Llc Kodning af signifikanskort og transformationskoefficientblokke
CN103119849B (zh) 2010-04-13 2017-06-16 弗劳恩霍夫应用研究促进协会 概率区间分割编码器和译码器
KR102574591B1 (ko) 2010-05-12 2023-09-06 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 통합된 유효성 맵 코딩을 위한 방법 및 장치
US9215470B2 (en) * 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
US9154801B2 (en) 2010-09-30 2015-10-06 Texas Instruments Incorporated Method and apparatus for diagonal scan and simplified coding of transform coefficients
US20120082235A1 (en) 2010-10-05 2012-04-05 General Instrument Corporation Coding and decoding utilizing context model selection with adaptive scan pattern
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
SG191869A1 (en) * 2011-01-07 2013-08-30 Agency Science Tech & Res Method and an apparatus for coding an image
US10075706B2 (en) 2011-01-19 2018-09-11 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
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
US8953690B2 (en) 2011-02-16 2015-02-10 Google Technology Holdings LLC Method and system for processing video data
US10142637B2 (en) 2011-03-08 2018-11-27 Texas Instruments Incorporated Method and apparatus for parallelizing context selection in video processing
CN107529708B (zh) 2011-06-16 2019-05-07 Ge视频压缩有限责任公司 解码器、编码器、解码和编码视频的方法及存储介质
EP2727355A1 (en) 2011-06-29 2014-05-07 Motorola Mobility LLC Methods and system for using a scan coding pattern during intra coding
US9756360B2 (en) 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
PL3399760T3 (pl) 2011-10-31 2021-07-19 Samsung Electronics Co., Ltd. Sposób i urządzenie do określania modelu kontekstu do entropijnego kodowania poziomu współczynnika przekształcenia
CA2825767C (en) * 2011-12-21 2018-11-27 Panasonic Corporation Image coding method, image decoding method, image coding apparatus and image decoding apparatus
EP2803190B1 (en) 2012-01-09 2017-10-25 Dolby Laboratories Licensing Corporation Hybrid reference picture reconstruction method for multiple layered video coding systems
US10104399B2 (en) 2012-01-13 2018-10-16 Hfi Innovation Inc. Method and apparatus for unification of coefficient scan of 8X8 transform units in HEVC
US8581753B2 (en) 2012-01-19 2013-11-12 Sharp Laboratories Of America, Inc. Lossless coding technique 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
US8552890B2 (en) * 2012-01-19 2013-10-08 Sharp Laboratories Of America, Inc. Lossless coding with different parameter selection technique for CABAC in HEVC
CN104956674B (zh) * 2012-01-20 2019-02-15 谷歌技术控股有限责任公司 用于最末重要系数位置编解码中的上下文减少的设备和方法
US9036710B2 (en) 2012-03-08 2015-05-19 Blackberry Limited Unified transform coefficient encoding and decoding
US9621921B2 (en) 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
US9307264B2 (en) * 2012-06-22 2016-04-05 Sharp Kabushiki Kaisha Arithmetic decoding device, arithmetic coding device, image decoding apparatus, and image coding apparatus

Also Published As

Publication number Publication date
TW201349867A (zh) 2013-12-01
HK1201661A1 (en) 2015-09-04
HK1201103A1 (en) 2015-08-21
IL234705A0 (en) 2014-11-30
WO2013158642A1 (en) 2013-10-24
IL234708A0 (en) 2014-11-30
KR102115049B1 (ko) 2020-05-25
SG11201405867WA (en) 2014-11-27
KR20150003320A (ko) 2015-01-08
JP6542400B2 (ja) 2019-07-10
ZA201407860B (en) 2016-09-28
SI2839645T1 (sl) 2017-11-30
TW201352004A (zh) 2013-12-16
WO2013158566A1 (en) 2013-10-24
AU2013249532A1 (en) 2014-10-23
JP2018110405A (ja) 2018-07-12
US20130272423A1 (en) 2013-10-17
AU2013249427A1 (en) 2014-10-30
RU2014145851A (ru) 2016-06-10
CN104247420A (zh) 2014-12-24
CN104221289A (zh) 2014-12-17
KR20150003319A (ko) 2015-01-08
CA2868533A1 (en) 2013-10-24
EP2839645A1 (en) 2015-02-25
EP2839645B1 (en) 2017-05-17
US9124872B2 (en) 2015-09-01
WO2013158566A9 (en) 2014-11-27
US20130272379A1 (en) 2013-10-17
RU2014145852A (ru) 2016-06-10
CA2869305A1 (en) 2013-10-24
EP2839584A1 (en) 2015-02-25
US20130272378A1 (en) 2013-10-17
EP2839646A1 (en) 2015-02-25
DK2839645T3 (en) 2017-08-21
KR20150003327A (ko) 2015-01-08
US9621921B2 (en) 2017-04-11
ES2637490T3 (es) 2017-10-13
JP2015516767A (ja) 2015-06-11
ZA201407895B (en) 2016-05-25
JP6525865B2 (ja) 2019-06-05
JP2015513291A (ja) 2015-04-30
CN104247421A (zh) 2014-12-24
SG11201405856XA (en) 2015-06-29
WO2013158563A1 (en) 2013-10-24
PH12014502144A1 (en) 2014-12-01
CN104247421B (zh) 2018-01-19
AR091338A1 (es) 2015-01-28
PH12014502156A1 (en) 2014-12-10

Similar Documents

Publication Publication Date Title
JP6542400B2 (ja) 係数走査のための係数グループおよび係数コーディング
JP6162150B2 (ja) ビデオコーディング用の残差4分木(rqt)コーディング
JP5766874B2 (ja) 方向性パーティションを用いたイントラ予測モードコーディング
JP5847958B2 (ja) コンテキスト適応型バイナリ算術コード化のためのコンテキスト削減
JP5833249B2 (ja) ビデオコーディングのための適応的な中心帯域オフセットフィルタ
US9667994B2 (en) Intra-coding for 4:2:2 sample format in video coding
US9807401B2 (en) Transform unit partitioning for chroma components in video coding
JP6162212B2 (ja) マージシグナリングおよびループフィルタオン/オフシグナリング
JP6301449B2 (ja) ビット深度に基づいたサンプル適応オフセットスケーリング
US20130003859A1 (en) Transition between run and level coding modes
JP6042526B2 (ja) ビデオコーディングのための最後の位置コーディングのためのコンテキストの導出
JP2015502079A (ja) 最後有効係数の位置のプログレッシブコーディング
JP2015516770A (ja) ビデオコーディングにおける量子化行列のための均一粒度
JP2017513311A (ja) 残差差分パルス符号変調のための量子化プロセス
JP2015511472A (ja) ビデオコード化におけるコードブックを使用したループフィルタパラメータのコード化