JP6113752B2 - Cabac係数レベルコーディングのためのスループット改善 - Google Patents

Cabac係数レベルコーディングのためのスループット改善 Download PDF

Info

Publication number
JP6113752B2
JP6113752B2 JP2014552197A JP2014552197A JP6113752B2 JP 6113752 B2 JP6113752 B2 JP 6113752B2 JP 2014552197 A JP2014552197 A JP 2014552197A JP 2014552197 A JP2014552197 A JP 2014552197A JP 6113752 B2 JP6113752 B2 JP 6113752B2
Authority
JP
Japan
Prior art keywords
flag
chunk
coefficient
absolute value
coded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014552197A
Other languages
English (en)
Other versions
JP2015507424A (ja
JP2015507424A5 (ja
Inventor
カークゼウィックズ、マルタ
チェン、ジャンレ
チェン、ウェイ−ジュン
ジョシ、ラジャン・ラクスマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2015507424A publication Critical patent/JP2015507424A/ja
Publication of JP2015507424A5 publication Critical patent/JP2015507424A5/ja
Application granted granted Critical
Publication of JP6113752B2 publication Critical patent/JP6113752B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

関連出願
[0001]本出願は、それらのすべての全体が参照により本明細書に組み込まれる、2012年1月17日に出願された米国仮出願第61/587,624号、2012年1月20日に出願された米国仮出願第61/589,290号、2012年1月27日に出願された米国仮出願第61/591,772号、2012年3月2日に出願された米国仮出願第61/606,347号、および2012年4月11日に出願された米国仮出願第61/622,785号の利益を主張する。
[0002]本開示は、ビデオコーディングに関し、より詳細には、変換係数をコーディングするための技法に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信および記憶するための、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part 10、Advanced Video Coding(AVC)によって定義された規格、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および/または時間的予測を含む。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはブロックに区分され得る。ビデオフレームは代替的にピクチャと呼ばれ得る。各ブロックはさらに区分され得る。イントラコード化(I)フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。インターコード化(PまたはB)フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに対する空間的予測、あるいは他の参照フレーム中の参照サンプルに対する時間的予測を使用し得る。空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックをもたらす。残差データは、コーディングされるべき元のブロック、すなわちコード化ブロックと予測ブロックとの間のピクセル差分を表す。
[0005]インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数は、次いで量子化され得る。最初は2次元アレイに構成される量子化された変換係数は、エントロピーコーディングのための変換係数の1次元ベクトルを生成するために、特定の順序でスキャンされ得る。
[0006]概して、本開示では、ビデオデータをコーディングするための技法について説明する。詳細には、本開示では、ビデオコーディングプロセスにおいて変換係数に関する情報をコーディングするための技法について説明する。
[0007]本開示は、バイパスコーディングされるビンの数に対して変換係数をシグナリングするためにコンテキスト適応型バイナリ算術コーディング(CABAC:context adaptive binary arithmetic coding)により適応コンテキストモデルを使用してコーディングされるビンの数を制限するための様々な技法を提案する。特に、本開示は、ビデオコーディングプロセスにおいて変換係数のレベル情報をコーディングするためにCABACを使用するビンの数を制限するための技法を開示する。
[0008]本開示の一例では、ビデオコーディングプロセスにおいて変換係数をコーディングする方法は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数のチャンクにおける変換係数について、1超フラグをコーディングすることと、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることとを備え、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0009]本開示の別の例では、ビデオコーディングプロセスにおいて変換係数をコーディングする方法は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける変換係数について、2超フラグをコーディングすることとを備え、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0010]本開示の別の例では、ビデオコーディングプロセスにおいて変換係数をコーディングする方法は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることとを備え、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0011]本開示では、本明細書で説明する変換係数をシグナリングするための技法を実行するように構成され得るビデオ符号器と、ビデオ復号器と、装置と、命令を記憶しているコンピュータ可読媒体とについても説明する。
[0012]1つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
例示的なビデオ符号化および復号システムを示すブロック図。 変換係数をコーディングするための例示的な逆方向スキャン順序を示す概念図。 例示的なサブブロックベースの対角スキャンを示す概念図。 変換係数の4×4チャンクの例示的な逆方向対角スキャンを示す概念図。 サブブロック位置に基づくコンテキストベースのコーディングしきい値を示す概念図。 サブブロック位置および最後の有意係数の位置に基づくコンテキストベースのコーディングしきい値を示す概念図。 サブブロック位置および最後の有意係数の位置に基づくコンテキストベースのコーディングしきい値を示す概念図。 8×8ブロックの4×4サブブロックへの例示的な分割とコンテキスト近傍とを示す概念図。 例示的なビデオ符号器を示すブロック図。 例示的なビデオ復号器を示すブロック図。 本開示の技法による例示的な方法を示すフローチャート。 本開示の技法による別の例示的な方法を示すフローチャート。 本開示の技法による別の例示的な方法を示すフローチャート。
[0026]概して、本開示では、ビデオデータをコーディングするための技法について説明する。詳細には、本開示では、ビデオ符号化プロセスおよび/またはビデオ復号プロセス内で変換係数をコーディングするための技法について説明する。
[0027]変換係数に関するレベル情報(たとえば、絶対値および符号)は一般に、2つの方法のうちの1つでエントロピーコーディングされる。レベル情報のいくつかのビンは、(たとえば、コンテキスト適応型バイナリ算術コーディング(CABAC)により)適応コンテキストモデルによりコーディングされる。レベル情報の他のビンは、(たとえば、指数ゴロムコーダまたはゴロムライス(Golomb-Rice)コーダにより)固定同等確率モデル(fixed equal probability model)によりバイパスモードでコーディングされる。適応コンテキストベースのビンコーディングは、帯域幅の効率を高める一方、エントロピーコーディングの主なボトルネックの1つであることが観測されている。
[0028]この欠点を考慮して、本開示は、CABACスループットを改善するための技法を提示する。詳細には、いくつかの例では、本開示は、適応コンテキストコード化ビンの数を減らし、バイパスコード化ビンの数を増やすことによって、CABACスループットを改善するための技法を提案する。
[0029]図1は、本開示の例による、変換係数をコーディングするための技法を利用するように構成され得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先デバイス14に送信するソースデバイス12を含む。符号化ビデオデータはまた、記憶媒体34またはファイルサーバ36に記憶され得、必要に応じて宛先デバイス14によってアクセスされ得る。記憶媒体またはファイルサーバに記憶されたとき、ビデオ符号器20は、コード化ビデオデータを記憶媒体に記憶するための、ネットワークインターフェース、コンパクトディスク(CD)、Blu−ray(登録商標)またはデジタルビデオディスク(DVD)バーナーまたはスタンピングファシリティデバイス、あるいは他のデバイスなど、別のデバイスにコード化ビデオデータを与え得る。同様に、ネットワークインターフェース、CDまたはDVDリーダーなど、ビデオ復号器30とは別個のデバイスが、記憶媒体からコード化ビデオデータを取り出し、取り出されたデータをビデオ復号器30に与え得る。
[0030]ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆるスマートフォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、多種多様なデバイスのいずれかを備え得る。多くの場合、そのようなデバイスはワイヤレス通信用に装備され得る。したがって、通信チャネル16は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、またはワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ36は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス14によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。
[0031]本開示の例による、変換係数をコーディングするための技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0032]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオ符号器20と、変調器/復調器22と、送信機24とを含む。ソースデバイス12において、ビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前キャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/または、ソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成することができ、これらは、たとえば、スマートフォンまたはタブレットコンピュータ内に与えられ得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例、あるいは符号化ビデオデータがローカルディスクに記憶された適用例に適用され得る。
[0033]キャプチャされたビデオ、以前キャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオ符号器20によって符号化され得る。符号化ビデオ情報は、ワイヤード通信プロトコルまたはワイヤレス通信プロトコルなどの通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含むことができる。送信機24は、増幅器と、フィルタと、ワイヤレス通信の場合には1つまたは複数のアンテナとを含む、データを送信するために設計された回路を含むことができる。
[0034]ビデオ符号器20によって符号化された、キャプチャされたビデオ、以前キャプチャされたビデオ、またはコンピュータ生成されたビデオはまた、後で消費するために記憶媒体34またはファイルサーバ36に記憶され得る。記憶媒体34は、Blu−rayディスク、DVD、CD−ROM、フラッシュメモリ、または符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。記憶媒体34に記憶された符号化ビデオは、次いで、復号および再生のために宛先デバイス14によってアクセスされ得る。図1には示されていないが、いくつかの例では、記憶媒体34および/またはファイルサーバ36は送信機24の出力を記憶し得る。
[0035]ファイルサーバ36は、符号化ビデオを記憶すること、およびその符号化ビデオを宛先デバイス14に送信することが可能な、任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、ローカルディスクドライブ、または、符号化されたビデオデータを記憶すること、および符号化されたビデオデータを宛先デバイスに送信することが可能な任意の他のタイプのデバイスを含む。ファイルサーバ36からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。ファイルサーバ36は、インターネット接続を含む任意の標準的なデータ接続を通じて宛先デバイス14によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル(たとえば、Wi−Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデム、イーサネット(登録商標)、USBなど)、または両方の組合せを含み得る。
[0036]宛先デバイス14は、図1の例では、受信機26と、モデム28と、ビデオ復号器30と、ディスプレイデバイス32とを含む。宛先デバイス14の受信機26はチャネル16を介して情報を受信し、モデム28はその情報を復調して、ビデオ復号器30のための復調されたビットストリームを生成する。チャネル16を介して通信される情報は、ビデオデータを復号する際にビデオ復号器30が使用する、ビデオ符号器20によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体34またはファイルサーバ36に記憶される符号化ビデオデータとともに含まれ得る。ビデオ符号器20およびビデオ復号器30の各々は、ビデオデータを符号化または復号することが可能であるそれぞれの符号器復号器(コーデック)の一部を形成し得る。
[0037]ディスプレイデバイス32は、宛先デバイス14と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0038]図1の例では、通信チャネル16は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレス通信媒体またはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含むことができる。
[0039]ビデオ符号器20およびビデオ復号器30は、ITU−T Video Coding Experts Group(VCEG)とISO/IEC Motion Picture Experts Group(MPEG)とのJoint Collaboration Team on Video Coding(JCT−VC)によって現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオ圧縮規格に従って動作し得る。HEVCの最新のワーキングドラフト(WD)は、文書JCTVC−I1003、Brossら、「高効率ビデオコーディング(HEVC)テキスト仕様ドラフト9」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT−VC)に記載されており、以下ではHEVC WD7と呼ばれ、http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v6.zipから入手可能である。
[0040]代替的に、ビデオ符号器20およびビデオ復号器30は、代替的にMPEG−4、Part 10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはMPEG−2およびITU−T H.263がある。
[0041]図1には示されていないが、いくつかの態様では、ビデオ符号器20およびビデオ復号器30は、それぞれオーディオ符号器および復号器と統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0042]ビデオ符号器20およびビデオ復号器30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適な符号器回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオ符号器20およびビデオ復号器30の各々は1つまたは複数の符号器または復号器中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合符号器/復号器(コーデック)の一部として統合されてよい。
[0043]ビデオ符号器20は、ビデオコーディングプロセス内で変換係数をコーディングするための、本開示の技法のうちのいずれかまたはすべてを実施することができる。同様に、ビデオ復号器30は、ビデオコーディングプロセス内で変換係数をコーディングするための、これらの技法のいずれかまたはすべてを実施することができる。本開示に記載されたビデオコーダは、ビデオ符号器またはビデオ復号器を指す場合がある。同様に、ビデオコーディングユニットは、ビデオ符号器またはビデオ復号器を指す場合がある。同様に、ビデオコーディングはビデオ符号化またはビデオ復号を指す場合がある。
[0044]本開示の一例では、ビデオ符号器20は、変換係数のチャンクにおける各変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数のチャンクにおける変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることとを行うように構成され、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0045]同様に、ビデオ復号器30は、変換係数のチャンクにおける変換係数について、有意性マップフラグを復号することと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、変換係数のチャンクにおける変換係数について、1超フラグを復号することと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグを復号することとを行うように構成され、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0046]本開示の別の例では、ビデオ符号器20は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける変換係数について、2超フラグをコーディングすることとを行うように構成され、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0047]同様に、ビデオ復号器30は、変換係数のチャンクにおける変換係数について、有意性マップフラグを復号することと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグを復号することと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける変換係数について、2超フラグを復号することとを行うように構成され、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0048]本開示の別の例では、ビデオ符号器20は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることとを行うように構成され、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0049]同様に、ビデオ復号器30は、変換係数のチャンクにおける変換係数について、有意性マップフラグを復号することと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグを復号することと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグを復号することとを行うように構成され、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0050]デジタルビデオデバイスは、デジタルビデオ情報をより効率的に符号化および復号するためのビデオ圧縮技法を実装する。ビデオ圧縮は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(フレーム内)予測および/または時間的(フレーム間)予測技法を適用し得る。
[0051]JCT−VCは、たとえば上記で説明したHEVC WD7に記載されているように、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。以下のセクションでは、HMのいくつかの態様についてより詳細に説明する。
[0052]現在開発中のHEVC規格に従うビデオコーディングの場合、ビデオフレームはコーディングユニットに区分され得る。コーディングユニット(CU)は、概して、ビデオ圧縮のために様々なコーディングツールが適用される基本ユニットとして働く画像領域を指す。CUは通常、Yとして示されるルミナンス成分と、UおよびVとして示される2つのクロマ成分とを有する。ビデオサンプリングフォーマットに応じて、U成分およびV成分のサイズは、サンプル数に関して、Y成分のサイズと同じであるか、またはY成分のサイズとは異なっていてもよい。
[0053]CUは、一般に正方形であり、たとえば、ITU−T H.264などの他のビデオコーディング規格の下でのいわゆるマクロブロックと同様であると見なされ得る。本出願では、例示のために、開発中のHEVC規格の現在提案されている態様のいくつかに従うコーディングについて説明する。ただし、本開示で説明する技法は、H.264または他の規格に従って定義されるビデオコーディングプロセスあるいはプロプライエタリビデオコーディングプロセスなど、他のビデオコーディングプロセスのために有用であり得る。
[0054]HMによれば、CUは、1つもしくは複数の予測ユニット(PU)および/または1つもしくは複数の変換ユニット(TU)を含むことができる。ビットストリーム内のシンタックスデータは、ピクセル数に換算して最大のCUである最大コーディングユニット(LCU)を定義することができる。概して、CUは、CUがサイズの差異を有していないことを除いて、H.264のマクロブロックと同様の目的を有する。したがって、CUはサブCUに分割することができる。概して、本開示におけるCUへの言及は、ピクチャの最大コーディングユニットまたはLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUはさらにサブCUに分割され得る。ビットストリームのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU)をも定義し得る。本開示ではまた、CU、PU、またはTUのいずれかを指すために「ブロック」または「部分」という用語を使用する。概して、「部分」は、ビデオフレームの任意のサブセットを指し得る。
[0055]LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUがこれ以上分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しなくても、リーフCUの4つのサブCUをリーフCUとも呼ぶ。たとえば、16×16サイズのCUがさらに分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUをリーフCUとも呼ぶ。
[0056]リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部を表し、そのPU用の参照サンプルを取り出すためのデータを含むことができる。たとえば、PUがインターモード符号化されるとき、PUは、PU用の動きベクトルを定義するデータを含むことができる。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照フレーム、および/または動きベクトル用の参照リスト(たとえば、リスト0もしくはリスト1)を記述することができる。PUを定義するリーフCU用のデータはまた、たとえば、CUを1つまたは複数のPUに区分することを記述することができる。区分モードは、CUがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかに応じて異なり得る。イントラコーディングの場合、PUは、以下で説明するリーフ変換ユニットと同じように扱われ得る。
[0057]新生のHEVC規格は、CUごとに異なり得る変換ユニット(TU)に従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用してより小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、量子化され得る変換係数を生成するために変換され得る。
[0058]概して、PUは、予測プロセスに関係するデータを指す。たとえば、PUがイントラモード符号化されるとき、PUは、PU用のイントラ予測モードを記述するデータを含むことができる。別の例として、PUがインターモード符号化されるとき、PUは、PU用の動きベクトルを定義するデータを含むことができる。
[0059]概して、TUは、変換プロセスと量子化プロセスとのために使用される。1つまたは複数のPUを有する所与のCUは、1つまたは複数の変換ユニット(TU)も含み得る。予測に続いて、ビデオ符号器20は、PUに従ってコーディングノードによって識別されたビデオブロックから残差値を計算し得る。コーディングノードは、次いで、元のビデオブロックではなく残差値を参照するように更新される。残差値はピクセル差分値を備え、ピクセル差分値は、エントロピーコーディングのためのシリアル化変換係数(serialized transform coefficient)を生成するためにTU中で指定された変換と他の変換情報とを使用して変換係数に変換され、量子化され、スキャンされ得る。コーディングノードはこれらのシリアル化変換係数を指すようにもう一度更新され得る。本開示は、一般に、CUのコーディングノードを指す「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示は、コーディングノードならびにPUおよびTUを含む、ツリーブロック、すなわち、LCUまたはCUを指す「ビデオブロック」という用語も使用し得る。
[0060]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオ符号器20は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有することができ、指定のコーディング規格に応じてサイズが異なることがある。
[0061]ブロック(たとえば、ビデオデータの予測ユニット)をコーディングするために、ブロックの予測子が最初に導出される。予測ブロックとも呼ばれる予測子は、イントラ(I)予測(すなわち、空間的予測)またはインター(PもしくはB)予測(すなわち時間的予測)のいずれかを介して導出され得る。したがって、いくつかの予測ユニットは、同じフレーム(またはスライス)中の隣接参照ブロック中の参照サンプルに対する空間的予測を使用してイントラコーディング(I)され得、他の予測ユニットは、他の以前コーディングされたフレーム(またはスライス)中の参照サンプルのブロックに対して単方向にインターコーディング(P)されるかまたは双方向にインターコーディング(B)され得る。各場合において、参照サンプルは、コーディングされるべきブロックの予測ブロックを形成するために使用され得る。
[0062]予測ブロックの識別時に、元のビデオデータブロック中のピクセルとその予測ブロック中のピクセルとの間の差分が決定される。この差分は予測残差データと呼ばれることがあり、コーディングされるべきブロック中のピクセル値と、コード化ブロックを表すように選択された予測ブロック中のピクセル値との間のピクセル差分を示す。より良好な圧縮を実現するために、予測残差データは、たとえば、離散コサイン変換(DCT)、整数変換、カルーネン−レーベ(K−L)変換、または変換係数を生成するための別の変換を使用して変換され得る。
[0063]TUなどの変換ブロック中の残差データは、空間的ピクセル領域に存在するピクセル差分値の2次元(2D)アレイで構成され得る。変換は、周波数領域などの変換領域において残差ピクセル値を変換係数の2次元アレイに変換する。
[0064]さらなる圧縮のために、変換係数は、エントロピーコーディングに先立って量子化され得る。次いで、エントロピーコーダは、量子化変換係数にコンテキスト適応型可変長コーディング(CAVLC:Context Adaptive Variable Length Coding)、コンテキスト適応型バイナリ算術コーディング(CABAC)、確率間隔区分エントロピーコーディング(PIPE:Probability Interval Partitioning Entropy Coding)などのエントロピーコーディングを適用する。いくつかの例では、ビデオ符号器20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数をスキャンするためにあらかじめ定義されたスキャン順序を利用し得る。他の例では、ビデオ符号器20は適応スキャンを実行し得る。量子化変換係数をスキャンして1次元ベクトルを形成した後に、ビデオ符号器20は、1次元ベクトルをエントロピー符号化し得る。ビデオ符号器20はまた、ビデオデータを復号する際にビデオ復号器30が使用するための、符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0065]本開示は、コンテキスト適応型バイナリ算術コーディング(CABAC)エントロピーコーダ、あるいは確率間隔区分エントロピーコーディング(PIPE)または関係するコーダなど、他のエントロピーコーダのための関係する技法である。算術コーディングは、シンボルを非整数長さコードワードにマッピングすることが可能であるので、高いコーディング効率を有する多くの圧縮アルゴリズムにおいて使用されるエントロピーコーディングの形態である。算術コーディングアルゴリズムの一例は、H.264/AVCにおいて使用されるコンテキストベースバイナリ算術コーディング(CABAC)である。
[0066]概して、CABACを使用してデータシンボルをエントロピーコーディングすることは、以下のステップのうちの1つまたは複数を伴う。
(1)2値化:コーディングされるべきシンボルが非2進値化された場合、そのシンボルは、いわゆる「ビン」のシーケンスにマッピングされる。各ビンは「0」または「1」の値を有することができる。
(2)コンテキスト割当て:(標準モードにおける)各ビンはコンテキストに割り当てられる。コンテキストモデルは、以前符号化されたシンボルの値またはビン数など、ビンについて利用可能な情報に基づいて所与のビンのコンテキストがどのように計算されるかを決定する。
(3)ビン符号化:ビンは算術符号器を用いて符号化される。ビンを符号化するために、算術符号器は、入力として、ビンの値の確率、すなわち、ビンの値が「0」に等しい確率と、ビンの値が「1」に等しい確率とを必要とする。各コンテキストの(推定された)確率は、「コンテキスト状態」と呼ばれる整数値によって表される。各コンテキストはある状態を有し、したがって、その状態(すなわち、推定された確率)は、1つのコンテキストに割り当てられたビンに対して同じであり、コンテキスト間で異なる。
(4)状態更新:選択されたコンテキストの確率(状態)は、ビンの実際のコード化値に基づいて更新される(たとえば、ビン値が「1」であった場合、「1」の確率が増やされる)。
[0067]確率間隔区分エントロピーコーディング(PIPE)は、算術コーディングの原理と同様の原理を使用し、したがって、本開示の技法をも利用することができることに留意されたい。
[0068]H.264/AVCおよびHEVCにおけるCABACは状態を使用し、各状態は暗黙的に確率に関係する。シンボル(「0」または「1」)の確率が直接使用される、すなわち、確率(またはそれの整数バージョン)が状態である、CABACの変形態が存在する。たとえば、CABACのそのような変形態は、以下において「JCTVC−A114」と呼ぶ、「Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor」、1st JCT−VC Meeting, Dresden, DE, April 2010、および、以下において「JCTVC−F254」と呼ぶ、A. AlshinおよびE. Alshina、の「Multi−parameter probability upgrade for CABAC」、6th JCT−VC Meeting, Torino, IT, July 2011に記載されている。
[0069]量子化された変換係数のブロックをエントロピーコーディングするために、ブロック中の量子化された変換係数の2次元(2D)アレイが、特定のスキャン順序に従って、変換係数の順序付けられた1次元(1D)アレイ、すなわちベクトルへと再構成されるように、スキャン処理が通常実行される。次いで、変換係数のベクトルにエントロピーコーディングが適用される。変換ユニット中の量子化された変換係数のスキャンは、エントロピーコーダのために変換係数の2Dアレイをシリアル化する。有意(すなわち、非ゼロ)係数の位置を示すための有意性マップが生成され得る。スキャンは、有意(すなわち、非0)係数のレベルをスキャンするために、かつ/または有意係数の符号をコーディングするために適用され得る。
[0070]新生のHEVC規格では、有意変換の位置情報(たとえば、有意性マップ)は、スキャン順序内の最後の非ゼロ係数の位置を示すために、TUについて最初にコーディングされる。有意性マップおよびレベル情報(係数の絶対値および符号)は、逆方向スキャン順序で係数ごとにコーディングされる。
[0071]現在、HEVCには4つの異なるスキャン、すなわち、対角スキャン、水平スキャン、垂直スキャンおよびサブブロックベースの対角スキャンがある。図2は、変換係数のブロックのための逆方向スキャン順序の例を示している。逆方向対角パターン35、逆方向ジグザグパターン29、逆方向垂直パターン31、および逆方向水平パターン33の各々は、変換ブロックの右下隅におけるより高い周波数の係数から変換ブロックの左上隅におけるより低い周波数の係数に進むことに留意されたい。
[0072]対角スキャン、水平スキャン、および垂直スキャンは、4×4および8×8のTUに適用される。サブブロックベースの対角スキャンは、現在のHEVCテストモデルにおいて16×16および32×32のTUで採用される。いくつかの例では、サブブロックベースの対角スキャンは、8×8のTUにも適用され得る。サブブロックベースのスキャンでは、より大きいTUのある4×4サブブロックが、より大きいTU内の別の4×4サブブロックに進む前にスキャンされる。他の例では、「サブブロック」は、使用されるスキャン順序によるいくつかの連続的にスキャンされる係数からなり得る。たとえば、「サブブロック」は、対角スキャン順序に沿った16個の連続的にスキャンされる係数からなり得る。
[0073]図3は、8×8TU上でのサブブロックベースのスキャンの一例を示している。8×8TU38は、4つの4×4サブブロック(36A、36B、36C、36D)からなる。図3に示すように、サブブロック36Aにおける変換係数がスキャンされ、その後にサブブロック36Bにおける変換係数をスキャンする。次いでスキャンは、サブブロック36Bからサブブロック36Cに進み、最後にサブブロック36Dに進む。図3は、各サブブロックにおける順方向対角スキャン順序を示しているが、任意のスキャン順序が使用され得る(たとえば、水平、垂直、ジグザグなど)。他の例では、図2に示す順序のような逆方向スキャン順序が各サブブロック内で使用される。
[0074]新生のHEVC規格では、係数はチャンクにグループ化され得る。変換係数の有意性マップおよびレベル情報(絶対値および符号)は、チャンクごとにコーディングされる。一例では、チャンクは、4×4のTUおよび8×8のTUについてのスキャン順序(たとえば、順方向または逆方向の対角スキャン順序、水平スキャン順序、または垂直スキャン順序)に沿った16個の連続する係数からなる。16×16のTUおよび32×32のTUの場合、より大きいTU内の変換係数の4×4のサブブロックはチャンクとして扱われる。チャンク内の係数レベル情報を表すために、以下のシンボルがコーディングされシグナリングされる。一例では、すべてのシンボルが逆方向スキャン順序で符号化される。
[0075]significant_coeff_flag(略称sigMapFlag):このフラグは、チャンク中の各係数の有意性を示す。1以上の絶対値を有する係数は有意であると考えられる。一例として、0のsigMapFlagは、係数が有意ではないことを示し、一方で1の値は、係数が有意であることを示す。このフラグは概して、有意性フラグと呼ばれ得る。
coeff_abs_level_greater1_flag(略称gr1Flag):このフラグは、任意の非ゼロ係数(すなわち、sigMapFlagが1である係数)について、係数の絶対値が1よりも大きいかどうかを示す。一例として、0のgr1Flag値は、係数が1よりも大きい絶対値を有しないことを示し、一方で1のgr1Flag値は、係数が1よりも大きい絶対値を有することを示す。このフラグは概して、1超フラグと呼ばれ得る。
coeff_abs_level_greater2_flag(略称gr2Flag):このフラグは、1よりも大きい絶対値を有する任意の係数(すなわち、gr1Flagが1である係数)について、係数の絶対値が2よりも大きいかどうかを示す。一例として、0のgr2Flag値は、係数が2よりも大きい絶対値を有しないことを示し、一方で1のgr2Flag値は、係数が2よりも大きい絶対値を有することを示す。このフラグは概して、2超フラグと呼ばれ得る。
coeff_sign_flag(略称signFlag):このフラグは、任意の非ゼロ係数(すなわち、sigMapFlagが1である係数)に関する符号情報を示す。たとえば、このフラグのゼロは正の符号を示すが、1は負の符号を示す。
coeff_abs_level_remaining(略称levelRem):このシンタックス要素は、残存係数の絶対レベル値を示す。このフラグの場合、2よりも大きい絶対値を有する係数(すなわち、gr2Flagが1である係数)ごとに、係数の絶対値から3を差し引いた値がコーディングされる(abs(level)−3)。
[0076]図4は、4×4ブロック100における量子化係数の一例を示している。ブロック100は、4×4TUであっても、8×8、16×16または32×32TUにおける4×4サブブロック(チャンク)であってもよい。逆方向スキャン順序でスキャンされる図4に示す係数の符号化シンボルが、表1に要約されている。表1では、scan_posは、図4に示す逆方向対角スキャンに沿った係数の位置を指す。scan_pos15が、スキャンされる最初の係数であり、ブロック100の左下隅にある。scan_pos15における量子化係数は、0の絶対値を有する。scan_pos0が、スキャンされる最後の係数であり、ブロック100の右上隅にある。scan_pos0における量子化係数は、10の絶対値を有する。4×4TUまたはより大きいTUにおける最後の4×4サブブロックの場合、最後の非ゼロ係数の位置が知られているので、最初の4つのsigMapFlagはコーディングされる必要がない。すなわち、sigMapFlagのコーディングは、最後の非ゼロ係数(この例では、scan_pos11おける係数)で始まり得る。
Figure 0006113752
[0077]これらのシンボルのうち、sigMapFlag、gr1Flagおよびgr2Flagのビンは、適応コンテキストモデルで符号化される。signFlagおよびlevelRemの2値化されたビンは、固定同等確率モデルによりバイパスモード(たとえば、指数ゴロムコード)で符号化される。現在のHEVC設計では、ゼロよりも大きい振幅を有する係数について、3つのフラグビンが適応コンテキストモデルで符号化される。コンテキストベースのビンコーディングは、エントロピーコーディングの主なボトルネックの1つであることが観測されている。
[0078]この欠点を考慮して、本開示は、CABACスループットを改善するための技法を提示する。詳細には、本開示は、コンテキストコード化ビンの数を減らし、バイパスコード化ビンの数を増やすことによって、CABACスループットを改善するための技法を提案する。
[0079]新生のHEVC規格では、係数レベル情報は逆方向スキャン順序でコーディングされる。これは一般に、より高い周波数の変換係数(ブロックの右下隅により近い係数)が最初にスキャンされることを意味する。そのような設計では、逆方向スキャン順序による初期係数は、小さい絶対値を有する傾向がある。そのような係数が有意である場合、それらは、1または2の絶対値を有する確率がより高い傾向がある。それらの係数の場合、明示的なシンボルgr1Flagおよびgr2Flagを使用することで、2値化されるビンの長さを短縮して係数レベルを表すことができ、gr1Flagおよびgr2Flagは、以前コーディングされたコンテンツによる割り当てられたコンテキストで算術コーディングエンジンによって効率的に符号化され得る。
[0080]しかしながら、逆方向スキャン順序による残存係数の場合、係数がより大きい絶対レベル値を有する傾向があるので、シンボルgr1Flagおよびgr2Flagを使用することは圧縮パフォーマンスを改善しないことがある。gr1Flagおよびgr2Flagを使用することは、コーディング効率を低下させることさえある。
[0081]本開示の1つの目標は、明示的なgr1Flagおよびgr2Flagを、固定確率モデルによりバイパスモードを使用してコーディングされるlevelRemシンタックスに適応的に切り替えることによって、コンテキストコード化ビンの数を減らすことである。バイパスモードは、CABACエンジンとは異なって動作するバイパスコーディングエンジンによって処理される。バイパスコーディングエンジンは、たとえば、ゴロムコードまたは指数ゴロムコードを使用し得る。levelRemシンタックスは一般に、ゴロムコードによりlevelRem値(たとえば、2を超える残存レベル)を2値化し、2値化された値を同等確率モデルによりバイパスモードで符号化することによってコーディングされる。要約すれば、本開示は、チャンクまたはTUの係数のサブセットのみについて明示的なsigMapFlag、gr1Flagおよび/またはgr2Flagを符号化するための様々な例示的な技法を提案する。
[0082]一例では、本開示は、gr2Flagで明示的に符号化されるチャンクにおける係数の数を制限することを提案する。HEVCのためのいくつかの提案では、チャンクにおけるgr2Flagで明示的に符号化される係数の数は、最大で16個の係数であり得る(たとえば、すべての係数の絶対値が1よりも大きい場合におけるチャンクのすべての係数)。本開示は、1よりも大きい絶対値を有するスキャン順序に沿ったチャンクにおける最初のN個の係数(すなわち、gr1Flagが1である係数)のみについて明示的なgr2Flagを符号化することを提案する。値Nは、ビデオ符号器によって選択可能であってよく、0から16までの任意の値に設定され得る。別の例では、Nは、たとえば、16個の係数からなるセットにおけるすべてよりも少ない係数がgr2Flagシンタックス要素でコーディングされるように、16未満の任意の値になるように選択される。ゼロに等しいNは、シンボルgr2Flagがまったくコーディングされないことを意味する。
[0083]一例として、本開示は、すべてのチャンクに固定N値を適用することを提案する。1つの特定の例では、Nは1に設定される。したがって、gr2Flagコーディングが実行される場合、gr2Flagは最初の係数について(すなわち、1よりも大きい絶対値(1のgr1Flag)を有する最初の係数について)のみコーディングされる。gr1Flagがすでにコーディングされていて、変換係数が1よりも大きくないことを示している場合、gr2Flagはコーディングされる必要がない。この場合、変換係数が2よりも大きくないことが今や知られているので、gr2Flagをコーディングすることは必要ではない。Nの値として1を使用することが、コーディング効率とコンテキストベースのビンの数との間のトレードオフをもたらす。2または4の値もNに適していることがあるが、Nの任意の値が選択され得る。
[0084]表2は、Nが1に等しいときの図4の例示的なチャンクについてコーディングされるべきシンボルを示している。表1のコード化シンボルと比較して、Xでマークされた位置の5つのgr2Flagが省略されている(scan_pos6、5、2、1、0)。相応して、スキャン位置6、5、2、1、および0における係数のlevelRemが、表1に示すものと比較して変更されている。これらの位置では、levelRemビンの値は、(abs(level)−3)の代わりに(abs(level)−2)で計算される。
Figure 0006113752
[0085]上述のように明示的なgr2Flagの数をNに制限するとき、チャンクにおける係数レベルのコード化シンボルは次のように要約され得る。
sigMapFlag:係数の絶対値がゼロよりも大きいかどうかを示す。
gr1Flag:値1のsigMapFlagを有する係数について、係数の絶対値が1よりも大きいかどうかを示す。
gr2Flag:値1のgr1Flagを有する最初のN個の係数について、係数の絶対値が2よりも大きいかどうかを示す。
signFlag:sigMapFlagが1である係数の符号を示す。
levelRem:残存係数の絶対レベル値を示し、値1のgr2Flagを有する係数については値(abs(level)−3)が使用され、明示的なgr2Flagがコーディングされておらず(表2においてXで示されている)、値1のgr1Flagを有する係数については値(abs(level)−2)がシグナリングされる。
[0086]上述の技法によれば、ビデオ符号器20および/またはビデオ復号器30は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、変換係数のチャンクにおける変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることと、ここで、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す、チャンクにおける変換係数について、レベル残存値をコーディングすることとを行うように構成され得る。残存係数値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表し、残存係数値は、1のコード化1超フラグを有するが、2超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から2を差し引いた値を表す。
[0087]別の例では、本開示は、gr1Flagで明示的に符号化されるチャンクにおける係数の数を制限することを提案する。HEVCのためのいくつかの提案では、係数のすべてが有意である場合、チャンクにおけるコード化gr1Flagシンタックス要素の数は16に達し得る。一例として、本開示は、チャンクにおける逆方向スキャン順序に沿った最初のM1個の非ゼロ係数についてのみ、明示的なgr1Flagを符号化することを提案する。M1は、0から16までの任意の値になるように選択され得る。別の例では、M1は、たとえば、16個の係数からなるセットにおけるすべてよりも少ない係数がgr1Flagシンタックス要素でコーディングされるように、16未満の任意の値になるように選択される。ゼロに等しいM1は、シンボルgr1Flagがまったく符号化されないことを意味する。
[0088]一例では、本開示は、すべてのチャンクに固定M1値を適用することを提案する。1つの特定の例では、M1は8に設定される。したがって、gr1Flagコーディングが実行される場合、gr1Flagは最初の8つの係数について(すなわち、0よりも大きい絶対値(1のsigMapFlag)を有する最初の8つの係数について)のみコーディングされる。M1の値として8を使用することが、コーディング効率とコンテキストベースのビンの数との間のトレードオフをもたらす。チャンクにおける係数にとって、2または4もM1の適切な値であり得る。表3は、M1が4に等しいときの図4の例示的なチャンクについてコーディングされるべきシンボルを示している。表4は、M1が8に等しいときの図4の例示的なチャンクについてコーディングされるべきシンボルを示している。表1のシンボルと比較して、M1が4に等しいときに、Xでマークされた位置の5つのgr1Flagおよび4つのgr2Flagが省略されている。表1のシンボルと比較して、M1が8に等しいときに、Xでマークされた位置の1つのgr1Flagおよび1つのgr2Flagが省略されている。表3および表4のXでマークされた位置では、levelRemビンの値は、(abs(level)−3)の代わりに(abs(level)−1)で計算される。
Figure 0006113752
Figure 0006113752
[0089]gr1Flagの最大数をM1に制限するとき、チャンクにおける係数レベルのコード化シンボルは次のように要約され得る。
sigMapFlag:係数の絶対値がゼロよりも大きいかどうかを示す。
gr1Flag:最初のM1個の非ゼロ係数(値1のsigMapFlag)について、係数の絶対値が1よりも大きいかどうかを示す。
gr2Flag:値1のgr1Flagを有する係数について、係数の絶対値が2よりも大きいかどうかを示す。
signFlag:sigMapFlagが1である係数の符号を示す。
levelRem:残存係数の絶対レベル値を示し、gr2Flagが1の値を有する係数については値(abs(level)−3)が使用され、明示的なgr1Flagがコーディングされていない非ゼロ係数については値(abs(level)−1)が使用される。
[0090]上述の技法によれば、ビデオ符号器20および/またはビデオ復号器30は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける変換係数について、2超フラグをコーディングすることとを行うように構成され、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。ビデオ符号器20および/またはビデオ復号器30は、チャンクにおける変換係数についてレベル残存値をコーディングするようにさらに構成され得る。残存係数値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表し、残存係数値は、コード化有意性マップフラグを有するが、1超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から1を差し引いた値を表す。
[0091]明示的にコーディングされるgr1Flagおよびg2Flagの数を制限する上述の方法は、組み合わせられ得る。この例では、チャンクにおける係数レベルのコード化シンボルは、次のように要約され得る(原則として、NはM1と同じであるか、またはM1よりも小さいものとする)。
sigMapFlag:係数の絶対値がゼロよりも大きいかどうかを示す。
gr1Flag:最初のM1個の非ゼロ係数(値1のsigMapFlag)について、係数の絶対値が1よりも大きいかどうかを示す。
gr2Flag:値1のgr1Flagを有する最初のN個の係数について、係数の絶対値が2よりも大きいかどうかを示す。
signFlag:sigMapFlagが1である係数の符号を示す。
levelRem:残存係数の絶対レベル値を示し、gr2Flagが1の値を有する係数については値(abs(level)−3)が使用され、明示的なgr2Flagがコーディングされておらず、gr1Flagが1の値を有する係数については値(abs(level)−2)が使用され、明示的なgr1Flagがコーディングされていない非ゼロ係数については値(abs(level)−1)が使用される。
[0092]下の表5は、明示的なgr2Flag(Nは1に等しい)と明示的なgr1Flag(M1は8に等しい)の両方が制限されているときの、図4の例示的なチャンクについてコーディングされるべきシンボルを示している。表1のシンボルと比較して、M1が8に等しく、Nが1に等しいときに、Xでマークされた位置の1つのgr1Flagおよび5つのgr2Flagが省略されている。
Figure 0006113752
[0093]上述の技法によれば、ビデオ符号器20および/またはビデオ復号器30は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることとを行うように構成され得、ここで、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。この例では、ビデオ符号器20および/またはビデオ復号器30は、非ゼロであるチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングするように構成される。
[0094]ビデオ符号器20および/またはビデオ復号器30は、チャンクにおける変換係数についてレベル残存値をコーディングするようにさらに構成され得る。レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表し、レベル残存値は、1のコード化1超フラグを有するが、2超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から2を差し引いた値を表し、レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の絶対値から1を差し引いた値を表す。
[0095]別の例として、本開示は、1よりも大きい絶対値(たとえば、1のコード化gr1Flag)を有するチャンクにおける先行係数の数が一定量M2まで累積したとき、チャンクにおける残存係数について、明示的なgr1Flagを符号化することをオフに切り替えることを提案する。M2は、0から16までの任意の値に設定され得る。
[0096]一例では、本開示は、すべてのチャンクに固定M2値を適用することを提案する。1のM2値は、コーディング効率とコンテキストベースのビンの数との間の良好なトレードオフをもたらすことを示している。チャンクにおける係数にとって、2または4もM2の例示的な値である。表6は、M2が1に等しいときの図4の例示的なチャンクについてコーディングされるべきシンボルを示している。表1のコード化シンボルと比較して、Xとマークされた位置の6つのgr1Flagがコーディングされていない。これらの位置では、levelRemコーディングが使用される。levelRemは、表1の場合の(abs(level)−3)の代わりに(abs(level)−1)で計算される。
Figure 0006113752
[0097]逆方向スキャン順序による1の値を有する以前に符号化されたgr1Flagの数がM2まで累積したときの残存係数について、明示的なgr1Flagコーディングをオフに切り替える方法を使用するとき、チャンクにおける係数レベルのコード化シンボルは次のように要約され得る。
sigMapFlag:係数の絶対値がゼロよりも大きいかどうかを示す。
gr1Flag:1に等しい値を有する以前コーディングされたgr1Flagの累積量がM2未満であるときの非ゼロ係数について、係数の絶対値が1よりも大きいかどうかを示す。
gr2Flag:gr1Flagが1としてコーディングされた係数について、係数の絶対値が2よりも大きいかどうかを示す。
signFlag:sigMapFlagが1である係数の符号を示す。
levelRem:残存係数の絶対レベル値を示し、gr2Flagが1としてコーディングされた係数については値(abs(level)−3)がコーディングされ、明示的なgr1Flagがコーディングされていない非ゼロ係数については値(abs(level)−1)がコーディングされる。
[0098]上述のように、gr1Flagについてコーディングされたコード化ビンの数は、チャンクにおける以前コーディングされたgr1Flagの値に依存する。これは、チャンクにおける以前コーディングされたgr1Flagをビデオコーダが追跡しなければならないので、ビンのコーディングスループットを妨げることがある。この依存性の影響を緩和するために、ビデオコーダは、全体としてgr1Flagのグループを符号化し、次いで、1つのグループにおけるすべてのgr1Flagを符号化した後の残存係数について、明示的なgr1Flagを符号化することをオフに切り替えるかどうかを決定するように構成され得る。gr1Flagのグループは、固定数のgr1Flagからなり得る。例示的なグループサイズは、2つ、3つまたは4つのgr1Flagであり得る。
[0099]この依存性の影響を緩和し得る別の例は、1よりも大きい振幅(すなわち、1のコード化gr1Flag)を有する以前コーディングされた係数の数が一定量M2まで累積した後、gr1Flagの追加グループを符号化することに関係する。この追加グループがコーディングされた後、明示的なgr1Flagのコーディングはオフに切り替えられる(すなわち、gr1Flagはコーディングされないが、代わりにlevelRem値がバイパスモードでコーディングされる)。追加グループの例示的なサイズは、1つ、2つまたは3つの係数であり得る。
[0100]チャンクにおける以前コーディングされたgr1Flagの数が値M2まで累積したときに、明示的にコーディングされるgr1Flagの数を制限するこの提案された方法はまた、gr2Flagの最大数をNに制限する方法と組み合わせられ得る。チャンクにおける係数レベルのコード化シンボルは次のように要約され得る(原則として、NはM2よりも小さいものとする)。
sigMapFlag:係数の絶対値がゼロよりも大きいかどうかを示す。
gr1Flag:1の値を有する以前コーディングされたgr1Flagの累積数がM2未満であるときの係数について、係数の絶対値が1よりも大きいかどうかを示す。
gr2Flag:gr1Flagが1としてコーディングされた最初のN個の係数について、係数の絶対値が2よりも大きいかどうかを示す。
signFlag:sigMapFlagが1である係数の符号を示す。
levelRem:残存係数の絶対レベル値を示し、gr2Flagが1としてコーディングされた係数については値(abs(level)−3)がコーディングされ、明示的なgr2Flagがコーディングされておらず、gr1Flagが1としてコーディングされた係数については値(abs(level)−2)がコーディングされ、明示的なgr1Flagがコーディングされていない非ゼロ係数については値(abs(level)−1)がコーディングされる。
[0101]本開示の別の例では、上述の技法のすべては、明示的にコーディングされるgrFlagおよびgr2Flagの数を減らすように組み合わせられ得る。組み合わせられた方法のチャンクにおける係数レベルのコード化シンボルは、次のように要約され得る(原則として、M1はM2よりも大きいものとする)。
sigMapFlag:係数の絶対値がゼロよりも大きいかどうかを示す。
gr1Flag:最初のM1個の非ゼロ係数(値1のsigMapFlag)について、かつ1の値を有する以前コーディングされたgr1flagの累積数がM2未満であるときに、係数の絶対値が1よりも大きいかどうかを示す。これらの条件のいずれかが満たされない場合、gr1Flagはコーディングされない。
gr2Flag:gr1flagが1としてコーディングされた最初のN個の係数について、係数の絶対値が2よりも大きいかどうかを示す。
signFlag:sigMapFlagが1である係数の符号を示す。
levelRem:残存係数の絶対レベル値を示し、gr2flagが1としてコーディングされた係数については値(abs(level)−3)がコーディングされ、明示的なgr2flagがコーディングされておらず、gr1flagが1としてコーディングされた係数については値(abs(level)−2)がコーディングされ、明示的なgr1flagがコーディングされていない非ゼロ係数については値(abs(level)−1)がコーディングされる。
[0102]本開示はまた、チャンクにおける係数について明示的に符号化されるsigMapFlagの数を制限することを提案する。HEVCのための前述の提案では、チャンクにおけるコード化sigMapFlagの数は、大きいTUにおける最後ではないチャンクの場合、16個ものsigMapFlagになり得る。
[0103]別の例では、本開示は、チャンクにおける逆方向スキャン順序による最初のK1個の係数について、明示的なsigMapFlagを符号化することを提案する。K1は、0から16までの任意の値に設定されるように、ビデオ符号器によって選択され得る。別の例では、K1は16未満の任意の値に設定される。ゼロに等しいK1は、シンボルgr1Flagがまったく明示的に符号化されないことを意味する。
[0104]本開示は、すべてのチャンクに固定K1値を適用することを提案する。8のK1値は、コーディング効率とコンテキストベースのビンの数との間の許容できるトレードオフをもたらすことを示している。12もK1の適切な値である。表7は、K1が8に等しいときの図4の例示的なチャンクについてコーディングされるべきシンボルを示している。表1のシンボルと比較して、Xでマークされた位置の8つのsigMapFlag、6つのgr1Flag、および5つのgr2Flagが省略されている。代わりに、これらの位置ではlevelRemシンボルがコーディングされている。この場合、levelRemコーディングは、表1の場合の(abs(level)−3)の代わりに、直接振幅値(絶対値)を使用する。
Figure 0006113752
[0105]sigMapFlagの最大数を数K1に制限するとき、チャンクにおける係数レベルのコード化シンボルは次のように要約され得る。
sigMapFlag:チャンクにおける最初のK1個の係数について、各係数の有意性を示す。
gr1Flag:sigMapFlagが1の値である係数について、係数の絶対値が1よりも大きいかどうかを示す。
gr2Flag:gr1flagが1としてコーディングされた係数について、係数の絶対値が2よりも大きいかどうかを示す。
signFlag:sigMapFlagが1である係数の符号を示す。
levelRem:残存係数の絶対レベル値を示し、gr2flagが1としてコーディングされた係数については値(abs(level)−3)がコーディングされ、明示的なsigMapFlagがコーディングされていない係数については値(abs(level))がコーディングされる。
[0106]明示的にコーディングされるsigMapFlagの数を制限する技法は、明示的にコーディングされるgr1Flagおよびgr2Flagの数を減らすための上述の提案された方法と組み合わされてもよい。この例では、levelRemおよびsignFlagのコーディング順序が入れ替えられ得る。すなわち、signFlagコーディングの前にlevelRemコーディングが実行され得る。
[0107]別の例として、本開示は、以前コーディングされた非ゼロ係数(すなわち、1のコード化sigMapFlag)の数が一定量K2まで累積したときの残存係数について、明示的なsigMapFlagを符号化することをオフに切り替える(すなわち、コーディングしない)ことを提案する。K2は、0から16までの任意の値に設定されるように、ビデオ符号器によって選択され得る。別の例では、K2は16未満の任意の値に設定され得る。一例では、本開示は、すべてのチャンクに固定K2値を適用することを提案する。8のK2値は、コーディング効率とコンテキストベースのビンの数との間の許容できるトレードオフをもたらすことを示している。チャンクにおける係数にとって、4または12もK2の適切な値である。
[0108]以前コーディングされた非ゼロ係数の数が一定量K2まで累積したときにsigMapFlagを明示的にコーディングすることがオフに切り替えられる(すなわち、コーディングされない)場合、チャンクにおける係数レベルのコード化シンボルは、次のように要約され得る。
sigMapFlag:1に等しい値を有する以前コーディングされたsigMapFlagの累積量がK2未満であるときの各係数の有意性を示す。
gr1Flag:sigMapFlagが1としてコーディングされた係数について、係数の絶対値が1よりも大きいかどうかを示す。
gr2Flag:gr1flagが1としてコーディングされた係数について、係数振幅の絶対値が2よりも大きいかどうかを示す。
signFlag:sigMapFlagが1である係数の符号を示す。
levelRem:残存係数の絶対レベル値を示し、gr2flagが1としてコーディングされた係数については値(abs(level)−3)がコーディングされ、明示的なsigMapFlagがコーディングされていない係数については値(abs(level))がコーディングされる。
[0109]提案された技法は、明示的にコーディングされるgr1Flagおよびgr2Flagの数を減らすための上述した他の技法と組み合わせられ得る。一例では、levelRemおよびsignFlagのコーディング順序が入れ替えられ得る。すなわち、signFlagコーディングの前にlevelRemコーディングが実行され得る。
[0110]上述の提案された技法は、明示的にコーディングされるsigMapFlag、gr1flagおよびgr2flagの数を制限するために固定しきい値(N、M1、M2、K1、およびK2)を適用する。別の例として、本開示はまた、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、適応パラメータセット(APS)またはスライスヘッダ(SliceHeader)シンタックスなど、符号化ビデオビットストリーム中での高レベルシンタックスにおけるしきい値K1、K2、N、M1およびM2をシグナリングすることを提案する。符号器は、符号化ビデオコンテンツの係数統計に従って、それらのしきい値の最良値を選択することができる。次いで復号器は、エントロピー復号プロセスでしきい値を適用することができる。
[0111]プロファイルおよびレベルは、ビットストリームに対する制限、ひいては、ビットストリームを復号するのに必要な能力に対する制限を指定する。プロファイルおよびレベルはまた、個々の復号器実装間の相互運用性ポイントを示すために使用され得る。各プロファイルは、そのプロファイルに準拠するすべての復号器によってサポートされるべきアルゴリズム特徴および制限のサブセットを指定する。各レベルは、ビデオ圧縮規格のシンタックス要素によって取られ得る値に対する制限セットを指定する。すべてのプロファイルで同じレベル定義セットが使用されるが、個々の実装形態は、サポートされるプロファイルごとに異なるレベルをサポートし得る。所与のプロファイルにおいて、レベルは概して、復号器の処理負荷およびメモリの能力に対応する。別の例として、レベルおよびプロファイルごとに、高レベルシンタックスにおける上述の異なるしきい値N、M1、M2、K1およびK2が適用され得る。たとえば、ベースプロファイルは下限しきい値を使用することができ、一方でメインプロファイルは上限しきい値を使用することができる。
[0112]別の例として、しきい値K1、K2、N、M1およびM2が、コーディングされるビデオブロックの関連ビデオコーディング特性に従って適応的に変更され得る。そのような特性は、量子化パラメータ、TUサイズ、TU深さ、予測モード、色成分タイプ、隣接チャンクまたはブロックの係数統計などを含み得る。
[0113]たとえば、しきい値N、M1、M2、K1およびK2は、以前コーディングされたチャンクにおける係数統計に従って決定され得る。大きいTUにおける4×4サブブロックの場合、しきい値N、M1、M2、K1およびK2は、以前符号化された周囲のサブブロック(たとえば、現在コーディングされているサブブロックの右および下のサブブロック)の係数の統計に従って決定され得る。以下の例示的な技法が適用され得る。
・以前コーディングされた(または周囲の)チャンクにおける係数が何らかのしきい値よりも高い平均絶対値を有する場合、より小さい値(場合によってはゼロ)がN、M1、M2、K1およびK2に適用される。逆に、以前コーディングされたチャンクにおける係数が何らかのしきい値よりも低い平均絶対値を有する場合、N、M1、M2、K1およびK2にはより高い値が使用され得る。
・以前コーディングされた(または周囲の)チャンクにおける係数が何らかのしきい値よりも高い最大絶対値を有する場合、より小さい値(場合によってはゼロ)がN、M1、M2、K1およびK2に適用される。逆に、以前コーディングされたチャンクにおける係数が何らかのしきい値よりも低い最大絶対値を有する場合、N、M1、M2、K1およびK2にはより高い値が使用され得る。
・以前コーディングされた(または周囲の)チャンクにおけるある値よりも大きい絶対値を有する係数の数が何らかのしきい値よりも高い場合、より小さい値(場合によってはゼロ)がN、M1、M2、K1およびK2に適用される。逆に、以前コーディングされたチャンクにおけるある値よりも大きい絶対値を有する係数の数が何らかのしきい値よりも低い場合、N、M1、M2、K1およびK2にはより高い値が使用され得る。
[0114]一例として、1よりも大きい絶対値を有する係数の量が何らかのしきい値Xよりも高い場合、gr1Flagおよびgr2Flagコーディングの明示的なコーディングは、オフに切り替えられ得る(すなわち、N、M1およびM2をゼロに設定する)。しきい値Xの例示的な値は、0、1および2である。
[0115]別の例として、しきい値N、M1、M2、K1、およびK2は、現在のチャンクまたはブロックにおけるすでに符号化されているシンタックス要素の統計に従って適応的に変更され得る。たとえば、しきい値N、M1およびM2は、現在のチャンクまたはブロックにおけるsigMapFlagコーディングの統計に依存し得る。より具体的には、1の値を有するsigMapFlagの数が一定のしきい値Yよりも大きい場合、gr1Flagおよびgr2Flagの明示的なコーディングはオフに切り替えられる(すなわち、N、M1およびM2をゼロに設定する)。しきい値Yは、プロファイルおよびレベルごとに異なる値を有し得る。
[0116]別の例として、しきい値N、M1、M2、K1およびK2は、以前コーディングされたチャンクにおける係数統計に従って決定され得る。大きいTUにおける4×4サブブロックの場合、しきい値N、M1、M2、K1およびK2は、以前コーディングされたサブブロックの減衰モデルによる係数の統計に従って決定され得る。
[0117]別の例として、しきい値N、M1、M2、K1およびK2の値は、現在のブロックをコーディングするために使用される量子化パラメータ(QP)の値に依存し得る。一例として、圧縮パフォーマンスと符号化スループットとの間の最良のトレードオフのために、高いQP、たとえばしきい値よりも大きいQPにより量子化される係数には、より大きいしきい値N、M1、M2、K1およびK2が適用されてよく、低いQP、たとえばしきい値以下のQPにより量子化される係数には、より小さいしきい値N、M1、M2、K1およびK2が適用されてよい。
[0118]別の例として、しきい値N、M1、M2、K1およびK2の値は、TUサイズに依存し得る。大きいサイズを有するTUの係数には、N、M1、M2、K1およびK2のより大きいしきい値が適用されてよく、小さいサイズを有するTUの係数には、N、M1、M2、K1およびK2のより小さいしきい値が適用されてよい。
[0119]別の例として、しきい値N、M1、M2、K1およびK2の値は、予測モードに依存し得る。たとえば、イントラ予測モードで予測されるブロックの係数には、N、M1、M2、K1およびK2のより大きいしきい値が適用されてよく、インター予測モードで予測されるブロックの係数には、N、M1、M2、K1およびK2のより小さいしきい値が適用されてよい。典型的な例として、予測モードがイントラモードであるときにはM2は1に設定され、Nは1に設定され、予測モードがインターモードであるときにはM2は4に設定され、Nは1に設定される。
[0120]別の例として、しきい値N、M1、M2、K1およびK2の値は、色成分タイプに依存し得る。たとえば、ルーマ成分の係数には、N、M1、M2、K1およびK2のより大きいしきい値が適用されてよく、クロマ成分の係数には、N、M1、M2、K1およびK2のより小さいしきい値が適用されてよく、または逆であってもよい。
[0121]別の例として、しきい値N、M1、M2、K1およびK2の値は、TUにおけるサブブロックの位置に依存し得る。たとえば、XおよびYは、それぞれTU内のサブブロックの水平位置および垂直位置であるとする。16×16TUの例では、X+Yが6に等しいすべてのサブブロックに7のしきい値が使用されてよく、X+Yが5に等しいすべてのサブブロックに6のしきい値が使用されてよく、以下同様である。要するに、この例では、しきい値はX+Y+1に等しい。16×16TUにおける4×4サブブロックの場合の位置ベースのしきい値の例が図5に示されている。各サブブロックのX位置、Y位置がサブブロックの下部に示され、一方で使用されるしきい値がサブブロックの中央に示されている。
[0122]別の例として、しきい値N、M1、M2、K1およびK2は、サブブロック位置にのみ依存して、TUサイズに依存しなくてよい。たとえば、しきい値はmin(TH_max,TH_min+X+Y)であり得る。この例では、TH_maxおよびTH_minは、許容可能なしきい値の最大値および最小値を示す2つの定数である。
[0123]別の例として、しきい値N、M1およびM2、K1およびK2の値は、最後の有意係数の位置に依存し得る。たとえば、図4に示すような逆方向スキャン順序の場合、最後の有意係数のサブブロックについて固定しきい値で開始して、ビデオコーダはサブブロックごとにしきい値を徐々に減らすことができる。たとえば、しきい値は、連続するサブブロックごとにステップサイズだけ減らされ得る。別の例として、しきい値は、サブブロックが異なる対角サブブロック線にあるときに徐々に減らされ得る。たとえば、XおよびYは、サブブロックの水平位置および垂直位置であるとする。ビデオコーダは、X+YがZに等しいすべてのサブブロックにしきい値8を使用してよく、X+YがZ−Δに等しいすべてのサブブロックにしきい値7を使用してよく、X+YがZ−2Δに等しいすべてのサブブロックにしきい値6を使用してよく、以下同様である。
[0124]図6および図7は、最後の有意係数を有するサブブロックの位置で始まる対角線でしきい値を割り当てる技法を示している。最後の有意係数を有するサブブロックは、対角線の陰影で示されている。最後の有意係数を有するサブセットのしきい値は、TU中またはサブブロック中の最後の有意係数の位置に依存するように変更されもよい。
[0125]上述のように、本開示の提案される技法は、各チャンク(またはサブブロック)内の係数レベルコーディングに適用されるコンテキストベースのビンの数を制限する。本開示はまた、TU全体(たとえば、4×4よりも大きいTU)の中での隣接チャンクの相互依存性を導入することを提案する。
[0126]たとえば、現在のチャンク(またはサブブロック)における少なくとも1つの係数について、明示的に符号化されるgr2Flagがオフに切り替えられている場合、スキャン順序で後にスキャンされる後続チャンクについて、明示的に符号化されるgr2Flagは自動的にオフに切り替えられる。同様に、現在のチャンク(またはサブブロック)における少なくとも1つの係数について、明示的に符号化されるgr1Flagがオフに切り替えられている場合、スキャン順序で後にスキャンされる後続チャンクについて、明示的に符号化されるgr1Flagは自動的にオフに切り替えられる。
[0127]別の例として、現在のチャンクの1超係数(すなわち、1よりも大きい係数)および非ゼロ係数の累積量が、減衰モデルにより後続チャンクに伝搬される。たとえば、現在のチャンクの累積「gr1Flag=1」の初期数およびコード化gr2Flagの数が、以前コーディングされたチャンクにおける「1超」係数の量に基づいて計算され得る。また、現在のチャンクの累積コード化gr1Flagの初期数が、以前コーディングされたチャンクにおける非ゼロ係数の量に基づいて計算され得る。
[0128]別の例として、チャンクが大きいTUにおける4×4サブブロックである場合、現在コーディングされているサブブロックの右および下にあるサブブロックのレベルコーディングに関する情報が使用され得る。たとえば、明示的に符号化されるgr2Flagは、サブブロックにおいて、現在コーディングされているサブブロックの右および/または下にあるサブブロックで自動的にオフに切り替えられたことがある場合には自動的にオフに切り替えられ得る。同様に、明示的に符号化されるgr1Flagは、サブブロックにおいて、現在コーディングされているサブブロックの右および/または下にあるサブブロックで自動的にオフに切り替えられたことがある場合には自動的にオフに切り替えられ得る。
[0129]上述の提案された技法は、4×4チャンクにとどまらずTU全体の係数レベルコーディングに適用されてもよい。たとえば、本開示は、逆方向スキャン順序によるTU全体の、1よりも大きい値(すなわち、1としてコーディングされたgr1Flag)を有する最初のNTU個の係数について、明示的なgr2Flagを符号化することも提案する。NTUは、0からMaxCoeffNum(すなわち、TUにおける係数の最大数であって、4×4TUでは16、8×8TUでは64、16×16TUでは256、32×32TUでは1024)までの任意の値になるように選択可能である。別の例では、NTUはMaxCoeffNum未満の任意の値に設定される。一例では、すべてのTUサイズについて、固定NTU値が係数レベルコーディングに適用され得る。コーディング効率とコンテキストベースのビンの数との間のトレードオフとして、NTUは4の値に設定され得る。別の例として、可変TUサイズは異なる統計を示すので、可変TUサイズには異なるNTU値が適用され得る。より小さいサイズを有するTUの場合、より小さいNTU値が利用されてよく、より大きいサイズを有するTUの場合、より大きいNTU値が利用されてよい。典型的な例として、NTUは、4×4TUについては1、8×8TUについては2、16×16TUについては4、そして32×32TUについては8に設定され得る。
[0130]本開示はまた、TU全体の逆方向スキャン順序による最初のM1TU個の非ゼロ係数について、明示的なgr1Flagを符号化することを提案する。M1TUは、0からTUのMaxCoeffNumの間の任意の値に設定され得る。可変TUサイズは異なる統計を示すので、可変TUサイズには異なるM1TU値が設定され得る。より小さいサイズを有するTUの場合、より小さいM1TU値が利用される可能性が高く、より大きいサイズを有するTUの場合、より大きいM1TU値が利用される可能性が高い。典型的な例として、M1TUは、4×4TUについては4、8×8TUについては8、16×16TUについては16、そして32×32TUについては32に設定され得る。
[0131]本開示はまた、TU全体の逆方向スキャン順序による1よりも大きい絶対値(すなわち、1のコード化gr1Flag)を有する以前符号化された係数の数が一定量M2TUまで累積したときの残存係数について、明示的なgr1Flagを符号化することをオフに切り替えることを提案する。M2TUは、0からMaxCoeffNumの間の任意の値に設定され得る。一例では、すべてのTUサイズについて、固定M2TUが係数レベルコーディングに適用され得る。別の例として、可変TUサイズについては異なるM2TU値が設定され得る。より小さいサイズを有するTUの場合、より小さいM2TU値が利用されてよく、より大きいサイズを有するTUの場合、より大きいM2TU値が利用されてよい。典型的な例として、M2TUは、4×4TUについては1、8×8TUについては2、16×16TUについては4、そして32×32TUについては8に設定され得る。
[0132]別の例では、本開示はまた、TU全体の逆方向スキャン順序による最初のK1TU個の係数について、明示的なsigMapFlagをコーディングすることを提案する。K1TUは、0からTUのMaxCoeffNum(係数の最大数)までの任意の値に設定され得る。可変TUサイズは最大係数の異なる数を示すので、可変TUサイズには異なるK1TU値が設定され得る。より小さいサイズを有するTUの場合、より小さいK1TU値が利用されてよく、より大きいサイズを有するTUの場合、より大きいK1TU値が利用されてよい。典型的な例として、K1TUは、4×4TUについては8、8×8TUについては32、16×16TUについては128、そして32×32TUについては512に設定され得る。
[0133]別の例では、本開示は、TU全体のスキャン順序による1に等しい以前に符号化されたsigMapFlagの数が一定量K2TUまで累積したときの残存係数について、明示的なsigMapFlagを符号化することをオフに切り替えることを提案する。K2TUは、0からMaxCoeffNumの間の任意の値に設定され得る。すべてのTUサイズについて、固定K2TUが係数レベルコーディングに適用され得る。代替として、可変TUサイズについては異なるK2TU値が設定され得る。より小さいサイズを有するTUの場合、より小さいK2TU値が利用されてよく、より大きいサイズを有するTUの場合、より大きいK2TU値が利用されてよい。典型的な例として、K2TUは、4×4TUについては4、8×8TUについては16、16×16TUについては32、そして32×32TUについては64に設定され得る。
[0134]TU全体のgr1Flag、gr2Flag、およびsigMapFlagの明示的なコーディングを制限するための上述の技法の各々は組み合わせられ得る。また、しきい値N、M1、M2、K1およびK2に関する上述の適応型しきい値方式は、適応的にK1TU、K2TU、NTU、M1TUおよびM2TUを変更するように適用されてもよい。TUベースの方式のシナリオでは、周囲のブロックはTUの左および上を意味する。
[0135]上述の技法によれば、明示的なgr1Flag、gr2Flag、および/またはsigMapFlagは、チャンクにおける限られた数の係数についてのみコーディングされる。したがって、より多くの係数(小さい絶対値を有する残存係数を含む)が、たとえばゴロムコーディング、ゴロムライスコーディング、または指数ゴロムコーディングによりバイパスモードでバイパスコーディングされる。上記の技法によれば、本開示は、以前のHEVCテストモデルでコーディングされたlevelRem値と比較して異なるlevelRem値に対応するために、ゴロムライスコード適応パラメータを変更することも提案する。
[0136]本開示のいくつかの例によれば、ゴロムライス更新方法は、コーディングされる係数の特性に従って適応され得る。一例として、ゴロムライスパラム(GolombRiceParam)更新プロセスは、量子化パラメータ、TUサイズ、TU深さ、予測モード、現在のブロックの色成分タイプ(たとえば、Y、UまたはV)、および隣接チャンクまたはブロックの係数統計などのような、コーディングされるチャンクのビデオブロックの関連特性に依存する。
[0137]概して、本開示で説明する技法は、ゴロムライスコーディングが早期に使用されるように、チャンク内またはTU内の様々な条件下でgr2Flag、gr1Flagおよび/またはsigMapFlagのうちの1つまたは複数のコーディングをオフに切り替える。代替例では、これらの決定は、有意係数の数、隣接TUにおける1よりも大きいか、または2よりも大きい係数の数などの統計またはビデオコーディング特性に基づき得る。代替として、決定は、スライスの開始以降の累積統計に基づき得る。別の例では、より高いレベルのシンタックス(たとえば、SPS、PPS、APSまたはスライスヘッダ)のフラグは、切替えがスライスの開始と同時に発生すべきであることを示し得る。
[0138]本開示の別の例では、これまでにチャンク、TU、隣接TUにおいて、またはスライスの開始以降にコーディングされた係数の絶対値の合計が、gr2Flag、gr1FlagおよびsigMapFlagのうちの1つまたは複数のコーディングをオフに切り替える基準として使用される。
[0139]概して、gr2Flag、gr1FlagまたはsigMapFlagなどの特定のシンタックス要素をオフに切り替えることは、チャンクにおけるそのシンタックス要素に関するすでにコーディングされた情報に依存し得る。特定のシンタックス要素をオフに切り替えることはまた、このチャンクについて、また以前のチャンクおよびTUについてスライスの開始以降にコーディングされた有意性およびレベル情報に関係する情報に依存し得る。たとえば、gr2Flagをコーディングすることをオフに切り替える決定は、現在のチャンクにおいて以前コーディングされた2よりも大きい係数の数に依存し得る。gr2Flagをコーディングすることをオフに切り替える決定はまた、チャンク全体における有意係数の数および/または1よりも大きい絶対値を有する係数の数に依存し得る。
[0140]HEVCテストモデルのあるバージョン(HM5.0)では、チャンク全体のすべてのsigMapFlagが、gr1Flagなどを送る前に送られるといったことに留意されたい。したがって、本開示の技法によれば、チャンクにおけるsigMapFlagのコード化情報が、gr1Flagまたはgr2Flagのコーディングをオフに切り替えるかどうかを決定するために使用され得る。同様に、あるチャンクについてのすべてのシンタックス要素が、次のチャンクに進む前に送られるので、以前のチャンクからのすべての有意性(sigMapFlag)およびレベル情報(gr1Flag、gr2Flag、levelRem)も、sigMapFlag、gr1Flagおよび/またはgr2Flagのコーディングの切替えの決定を下すために使用され得る。この順序(たとえば、インターリービング)が変更される場合、オフに切り替える決定は、チャンクからの以前符号化/復号された係数に対応するシンタックス要素に基づき得る。
[0141]チャンクを使用する代わりに、係数ごとに、または(sigMapFlag、gr1Flagなどのような)シンタックス要素プレーンを使用して、HM5.0で行われているようにTU全体がコーディングされる場合、特定のコンテキスト要素に関するオフに切り替える決定を下すために、サポートの空間領域が画定され得る。サポートの領域は、コーディングされる変換係数の近くの変換係数のグループであり得る。オフに切り替えられるべきシンタックス要素ならびに早期にすでにコーディングされているシンタックス要素に関するサポートの領域からの符号化/復号された情報が、決定を下す際に使用され得る。たとえば、gr2Flagをオフに切り替える決定は、空間サポート領域からのgr2Flag、gr1Flagおよび/またはsigMapFlagを使用することができる。サポートの空間領域は、現在のTUにおける変換係数の因果的近傍(すなわち、スキャン順序に沿ってすでにコーディングされている)を含み得る。サポートの領域はまた、他のTUからの同じ周波数位置における係数を含み得る。チャンクが使用されている場合、サポートの領域は、早期にコーディングされたシンタックス要素、たとえば上の例におけるgr1FlagおよびsigMapFlagについては非因果的であり得る。
[0142]sigMapFlagのコーディングがオフに切り替えられる例を含め、本明細書で説明するすべての例において、最後の非ゼロ係数位置の位置は、CABAC(または任意の他のエントロピーコーダ)を使用してコーディングされる。明確にすると、sigMapFlag、gr1Flagおよびgr2Flagのすべてがオフに切り替えられるとき、TUにおける最後の非ゼロ係数の位置は依然としてコーディングされる。続いてレベル情報(ゴロムライスコーディングを使用する)が最後の係数で始まり、逆方向スキャン順序によりDC係数に進む。
[0143]HEVCのためのいくつかの提案では、変換係数コーディングのための追加の方法が導入される。これらの方法では、上記で説明した同じ5つのシンタックス要素がコーディングされる。sigMapFlag、gr1Flagおよびgr2FlagについてCABACのコンテキストを導出するために、現在コーディングしている係数の近くにある係数の近傍に関する統計が使用される。係数の近傍に関する統計はまた、シンタックス要素levelRemについてのゴロムライスパラメータ(ゴロムパラメータ)を決定するために使用され得る。
[0144]左下方向の対角スキャンの場合における、現在コーディングされている変換係数Xについてのコンテンツ導出に使用される近傍の一例が、図8に点線の四角形で示されている。近傍は、sigMapFlagのコーディングに関する一例であるが、他の近傍が使用されてもよい。近傍における係数は、X0、X1、X2、X3、およびX4とラベルされている。様々なシンタックス要素についてのコンテキスト導出は、近傍における係数の絶対レベルの関数に基づく。5つのパス(上述のシンタックス要素ごとに1つのパス)で各サブセットまたはチャンクをコーディングする代わりに、1つの変換係数についてのシンタックス要素が、次の係数に進む前にコーディングされ得る。
[0145]一例として、コンテキスト近傍を使用して以下の量が定義され得る。この例では、合計は、コンテキスト近傍中のすべての係数にわたる。
Figure 0006113752
[0146]この場合、sum_absolute_levelは、sigMapFlagのコンテキストインデックスを導出するために使用されてよく、sum_absolute_levelMinus1は、gr1Flagおよびgr2Flagのコンテキストインデックスを導出するために使用されてよい。
[0147]上記で説明したように、本開示の技法は、コンテキストコード化sigMapFlag、gr1Flagおよびgr2Flagコーディングを適応的にオフに切り替え、ゴロムライスコーディングに切り替えることによって、コンテキストコード化ビンを減らすことによってCABACスループットを改善し得る。本開示はまた、これらの概念を、近傍係数およびそれらの潜在的変形態からコンテキストを判断する技法に拡張するための技法について説明する。
[0148]一例として、現在の係数の近傍領域(近傍領域の1つの典型的な例が図8に示されている)が画定されてよく、近傍領域内の係数レベル情報が、現在の係数の特定のコンテキスト要素についてのオフに切り替える決定を下すために使用されてよい。たとえば、係数についてのgr2Flagをオフに切り替える決定は、近傍領域内のgr2Flag、gr1Flagおよび/またはsigMapFlagを使用することができる。係数についてのgr1Flagをオフに切り替える決定は、近傍領域内のgr1Flagおよび/またはsigMapFlagを使用することができる。係数ごとに係数がコーディングされるとき、近傍内のすべてのレベル情報が利用可能であってよく、現在の係数のgr2Flag、gr1Flagおよび/またはsigMapFlagをオフに切り替えるかどうかを決定するために使用されてよい。場合によっては、以下に列挙される情報1〜6の値が、ある一定のしきい値よりも大きいとき、現在の係数のgr2Flag、gr1Flagおよび/またはsigMapFlagはオフに切り替えられ得る。
1.式(1)において定義されている近傍領域内の有意係数の数
2.式(2)において定義されている近傍領域内の絶対レベルの合計
3.式(3)において定義されている近傍領域内の絶対レベルから1を差し引いた値の合計
4.近傍領域内の最大絶対レベル
5.近傍領域内のレベル情報の任意の他の線形計算または非線形計算
6.項目1、2、3および/または4における値に基づく任意の他の線形計算または非線形計算
[0149]係数ごとに係数がコーディングされるとき、上述の近傍領域は因果的係数のみを含む。別個のパスで係数がコーディングされるとき、上述の近傍領域は非因果的係数も含み得る。いくつかの例では、上述の近傍領域は、現在のチャンク全体さらには現在のTU全体であり得る。
[0150]上述のように、近傍領域内の係数のレベル情報全体が、シンタックス要素のコンテキストベースのコーディングをオフに切り替える決定を下すために使用され得る。しかしながら、場合によっては、レベル全体をコーディングすることは、記憶リソースに対する負担となり得る。したがって、場合によっては、係数レベルが一定のしきい値(2、3、7などであり得る)までに制限されてよく、そして、変換係数についての特定のシンタックス要素のコンテキストベースのコーディングをオフに切り替えるかどうかを決定するために使用されてよい。
[0151]上述のように、係数についての特定のコンテキストコード化シンタックス要素をオフに切り替えるかどうかの決定は、係数ごとに下され得る。代替として、特定のコンテキストコード化シンタックス要素についてのオフに切り替える決定がトリガされ、伝搬され得る。たとえば、現在の係数について、特定のコンテキストコード化シンタックス要素がオフに切り替えられると、現在のチャンクにおけるすべての残存係数について、さらには現在のTUにおけるすべての残存係数について、この特定のコンテキストコード化シンタックス要素はオフに切り替えられ得る。
[0152]図9は、本開示で説明する、変換係数をコーディングするための技法を使用し得るビデオ符号器20の一例を示すブロック図である。ビデオ符号器20について、例示のためにHEVCコーディングのコンテキストにおいて説明するが、変換係数のスキャンを必要とし得る他のコーディング規格または方法に関して本開示を限定するものではない。ビデオ符号器20は、ビデオフレーム内のCUのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオデータの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの現在のフレームと以前コーディングされたフレームとの間の時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのビデオ圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのビデオ圧縮モードのいずれかを指し得る。
[0153]図9に示すように、ビデオ符号器20は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図9の例では、ビデオ符号器20は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測処理ユニット46と、参照フレームバッファ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。図9に示す変換処理ニット52は、残差データのブロックに実際の変換または変換の組合せを適用するユニットであり、CUの変換ユニット(TU)と呼ばれることもある変換係数のブロックと混同されるべきでない。ビデオブロック再構成のために、ビデオ符号器20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするための、デブロッキングフィルタ(図9に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタリングする。
[0154]符号化プロセス中に、ビデオ符号器20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロック、たとえば、最大コーディングユニット(LCU)に分割され得る。動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測処理ニット46は、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対する受信したビデオブロックのイントラ予測コーディングを実施し得る。
[0155]モード選択ユニット40は、たとえば、各モードについての誤差(すなわち、ひずみ)結果に基づいて、コーディングモードのうちの1つ、すなわち、イントラまたはインターを選択し得、得られたイントラまたはインター予測ブロック(たとえば、予測ユニット(PU))を、残差ブロックデータを生成するために加算器50に与え、参照フレーム中で使用する符号化ブロックを再構成するために加算器62に与える。加算器62は、以下でより詳細に説明するように、予測ブロックを、そのブロックについての、逆変換処理ユニット60からの逆量子化され逆変換されたデータと合成して、符号化ブロックを再構成する。いくつかのビデオフレームがIフレームとして指定されることがあり、Iフレーム中のすべてのブロックはイントラ予測モードで符号化される。場合によっては、たとえば、動き推定ユニット42によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測処理ユニット46は、PフレームまたはBフレーム中のブロックのイントラ予測符号化を実施し得る。
[0156]動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定(または動き探索)は、ビデオブロックについて動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照フレームの参照サンプルに対する、現在フレーム内の予測ユニットの変位を示すことができる。動き推定ユニット42は、予測ユニットを参照フレームバッファ64に記憶された参照フレームの参照サンプルと比較することによってインターコード化フレームの予測ユニットの動きベクトルを計算する。参照サンプルは、差分絶対値和(SAD:sum of absolute difference)、差分2乗和(SSD:sum of squared difference)、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされているPUを含むCUの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこにでも発生する可能性があり、必ずしも、参照フレームまたはスライスのブロック(たとえば、コーディングユニット)境界において発生するとは限らない。いくつかの例では、参照サンプルは分数ピクセル位置において発生し得る。
[0157]動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット44は、たとえば、PUの動きベクトルによって識別される参照サンプルを取り出すことによって、現在CUの予測ユニットについての予測値を計算し得る。
[0158]イントラ予測処理ユニット46は、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、受信ブロックをイントラ予測し得る。イントラ予測処理ユニット46は、隣接する以前コーディングされたブロック、たとえば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの上、右上、左上、または左のブロックに対して受信ブロックを予測し得る。イントラ予測処理ユニット46は多種多様なイントラ予測モードで構成され得る。たとえば、イントラ予測処理ユニット46は、符号化されているCUのサイズに基づいて、一定数の方向性予測モード、たとえば、34個の方向性予測モードで構成され得る。
[0159]イントラ予測処理ユニット46は、たとえば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接するピクセルの値を合成し、その合成された値をPU中の1つまたは複数のピクセル位置に適用するための機能を含み得る。PU中のすべてのピクセル位置の値が計算されると、イントラ予測処理ユニット46は、PUと符号化されるべき受信ブロックとの間のピクセル差分に基づいて予測モードの誤差値を計算し得る。イントラ予測処理ユニット46は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測処理ユニット46は、次いで、PUを加算器50に送り得る。
[0160]ビデオ符号器20は、コーディングされている元のビデオブロックから、動き補償ユニット44またはイントラ予測処理ユニット46によって計算された予測データを減算することによって残差ブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。残差ブロックはピクセル差分値の2次元行列に対応し得、残差ブロック中の値の数は、残差ブロックに対応するPU中のピクセルの数と同じである。残差ブロック中の値は、PU中のコロケートピクセルの値と、コーディングされるべき元のブロック中のコロケートピクセルの値との間の差分、すなわち、誤差に対応し得る。差分は、コーディングされるブロックのタイプに応じてクロマ差分またはルーマ差分であり得る。
[0161]変換処理ユニット52は、残差ブロックから1つまたは複数の変換ユニット(TU)を形成し得る。変換処理ユニット52は、複数の変換の中から変換を選択する。変換は、ブロックサイズ、コーディングモードなど、1つまたは複数のコーディング特性に基づいて選択され得る。変換処理ユニット52は、次いで、選択された変換をTUに適用して、変換係数の2次元アレイを備えるビデオブロックを生成する。
[0162]変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、次いで、その変換係数を量子化し得る。エントロピー符号化ユニット56が、次いで、スキャンモードに従って、行列中の量子化された変換係数のスキャンを実行し得る。本開示では、エントロピー符号化ユニット56がスキャンを実行するものとして説明する。ただし、他の例では、量子化ユニット54などの他の処理ユニットがスキャンを実行し得ることを理解されたい。
[0163]変換係数が1次元アレイにスキャンされると、エントロピー符号化ユニット56は、CABAC、シンタックスベースコンテキスト適応型バイナリアリスメチックコーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)または別のエントロピーコーディング方法などのエントロピーコーディングを係数に適用し得る。
[0164]CABACを実行するために、エントロピー符号化ユニット56は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、たとえば、隣接値が非ゼロであるか否かに関係し得る。エントロピー符号化ユニット56はまた、選択された変換を表す信号など、シンタックス要素をエントロピー符号化し得る。本開示の技法によれば、エントロピー符号化ユニット56は、コンテキストモデル選択のために使用されるファクタの中でも、たとえば、イントラ予測モードのためのイントラ予測方向、シンタックス要素に対応する係数のスキャン位置、ブロックタイプ、および/または変換タイプに基づいて、これらのシンタックス要素を符号化するために使用されるコンテキストモデルを選択し得る。
[0165]エントロピー符号化ユニット56によるエントロピーコーディングの後に、得られた符号化ビデオは、ビデオ復号器30などの別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
[0166]場合によっては、エントロピー符号化ユニット56またはビデオ符号器20の別のユニットは、エントロピーコーディングに加えて、他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット56は、CUおよびPUのコード化ブロックパターン(CBP)値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット56は、係数のランレングスコーディングを実行し得る。
[0167]逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレームバッファ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレームバッファ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0168]図10は、符号化ビデオシーケンスを復号するビデオ復号器30の一例を示すブロック図である。図10の例では、ビデオ復号器30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測処理ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームバッファ82と、加算器80とを含む。ビデオ復号器30は、いくつかの例では、ビデオ符号器20(図9参照)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
[0169]エントロピー復号ユニット70は、変換係数の1次元アレイを取り出すために、符号化ビットストリームに対してエントロピー復号プロセスを実行する。使用されるエントロピー復号プロセスは、ビデオ符号器20によって使用されたエントロピーコーディング(たとえば、CABAC)に依存する。符号器によって使用されたエントロピーコーディングプロセスは、符号化ビットストリーム中でシグナリングされ得るか、または所定のプロセスであり得る。
[0170]いくつかの例では、エントロピー復号ユニット70(または逆量子化ユニット76)は、ビデオ符号器20のエントロピー符号化ユニット56(または量子化ユニット54)によって使用されたスキャンモードをミラーリングするスキャンを使用して受信値をスキャンし得る。係数のスキャンは逆量子化ユニット76において実行され得るが、スキャンについては、例示のために、エントロピー復号ユニット70によって実行されるものとして説明する。さらに、説明しやすいように別個の機能ユニットとして示されているが、ビデオ復号器30のエントロピー復号ユニット70、逆量子化ユニット76、および他のユニットの構造および機能は互いに高度に統合され得る。
[0171]逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された、量子化変換係数を逆量子化(inverse quantize)、すなわち、デクオンタイズ(de-quantize)する。逆量子化プロセスは、たとえば、HEVCのために提案されたプロセスまたはH.264復号規格によって定義されたプロセスと同様の、従来のプロセスを含み得る。逆量子化プロセスは、CUが量子化の程度を判定し、同様に、適用されるべき逆量子化の程度を判定するために、ビデオ符号器20によって計算された量子化パラメータQPの使用を含むことができる。逆量子化ユニット76は、係数が1次元アレイから2次元アレイに変換される前または変換された後に変換係数を逆量子化し得る。
[0172]逆変換処理ユニット78は、逆量子化された変換係数に逆変換を適用する。いくつかの例では、逆変換処理ユニット78は、ビデオ符号器20からのシグナリングに基づいて、またはブロックサイズ、コーディングモードなどの1つまたは複数のコーディング特性から変換を推測することによって、逆変換を決定し得る。いくつかの例では、逆変換処理ユニット78は、現在のブロックを含むLCUのための4分木のルートノードにおけるシグナリングされた変換に基づいて、現在のブロックに適用すべき変換を決定し得る。代替として、変換は、LCU4分木中のリーフノードCU用のTU4分木のルートでシグナリングされ得る。いくつかの例では、逆変換処理ユニット78は、逆変換処理ユニット78が、復号されている現在のブロックの変換係数に2つ以上の逆変換を適用する、カスケード逆変換を適用することができる。
[0173]イントラ予測処理ユニット74は、シグナリングされたイントラ予測モードと、現在フレームの以前復号されたブロックからのデータとに基づいて、現在フレームの現在ブロックについての予測データを生成し得る。
[0174]動き補償ユニット72は、符号化ビットストリームから、動きベクトルと、動き予測方向と、参照インデックスとを取り出すことができる。参照予測方向は、インター予測モードが単方向である(たとえば、Pフレーム)か、双方向である(Bフレーム)かを示す。参照インデックスは、候補動きベクトルがどの参照フレームに基づくかを示す。
[0175]取り出された動き予測方向、参照フレームインデックス、および動きベクトルに基づいて、動き補償ユニットは現在部分の動き補償ブロックを生成する。これらの動き補償ブロックは、本質的に、残差データを生成するために使用される予測ブロックを再現する。
[0176]動き補償ユニット72は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行し得る。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子がシンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオ符号器20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオ符号器20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
[0177]さらに、動き補償ユニット72およびイントラ予測処理ユニット74は、HEVCの例では、(たとえば、4分木によって与えられる)シンタックス情報の一部を使用して、符号化ビデオシーケンスの(1つまたは複数の)フレームを符号化するために使用されたLCUのサイズを判断し得る。動き補償ユニット72およびイントラ予測処理ユニット74はまた、シンタックス情報を使用して、符号化ビデオシーケンスのフレームの各CUがどのように分割されるか(および、同様に、サブCUがどのように分割されるか)を記述する分割情報を判断し得る。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード(たとえば、イントラまたはインター予測、およびイントラ予測の場合はイントラ予測符号化モード)と、各インター符号化PUについての1つまたは複数の参照フレーム(および/またはそれらの参照フレームの識別子を含んでいる参照リスト)と、符号化ビデオシーケンスを復号するための他の情報とを含み得る。
[0178]加算器80は、残差ブロックを、動き補償ユニット72またはイントラ予測処理ユニット74によって生成された対応する予測ブロックと合成して、復号ブロックを形成する。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理することもできる。復号ビデオブロックは、次いで、参照フレームバッファ82に記憶され、参照フレームバッファ82は、その後の動き補償のための参照ブロックを与え、また、(図1のディスプレイデバイス32などの)ディスプレイデバイス上での提示のために復号ビデオを生成する。
[0179]図11は、本開示の技法による例示的な方法を示すフローチャートである。図11の方法は、ビデオコーダによって(たとえば、図9のビデオ符号器20によって、または図10のビデオ復号器30によって)実行され得る。
[0180]ビデオ符号器20およびビデオ復号器30(すなわち、ビデオコーダ)は、ビデオコーディングプロセスにおいて変換係数をコーディングする方法を実行するように構成され得る。ビデオコーダは、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることを行う(1110)ように構成され得、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す。ビデオコーダは、有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数のチャンクにおける変換係数について、1超フラグをコーディングすることを行う(1120)ようにさらに構成され得、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す。ビデオコーダは、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることを行う(1130)ようにさらに構成され得、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、チャンクにおける変換係数の最大数よりも小さい。一例では、Nの値は1である。別の例では、Nの値は、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、色成分タイプ、変換ユニットにおけるチャンクの位置、チャンクにおける最後の有意係数の存在、および隣接チャンクの係数統計のうちの少なくとも1つに基づく。
[0181]ビデオコーダは、チャンクにおける変換係数についてレベル残存値をコーディングすることを行う(1140)ようにさらに構成され得る。レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表す。レベル残存値は、1のコード化1超フラグを有するが、2超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から2を差し引いた値を表す。ビデオコーダは、チャンクにおける変換係数について符号フラグをコーディングすることを行う(1150)ようにさらに構成され得、符号フラグは、特定の変換係数の符号を示す。
[0182]本開示の一例では、有意性マップフラグ、1超フラグ、および2超フラグは、適応コンテキストモデルによりCABACを使用してコーディングされる。レベル残存値は、CABACバイパスモードでゴロムライスコーディングを使用してコーディングされる。符号フラグは、CABACバイパスモードでコーディングされる。本開示の別の例では、レベル残存値はゴロムライスコーディングを使用してコーディングされ、このゴロムライスコーディングは、ゴロムパラメータに従って適応される。ゴロムパラメータは、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、予測モード、色成分タイプ、および隣接チャンクの係数統計のうちの少なくとも1つに基づいて決定される。
[0183]本開示の別の例では、有意性マップフラグは1番目にコーディングされ、1超フラグは2番目にコーディングされ、2超フラグは3番目にコーディングされ、レベル残存値は2超フラグの後にコーディングされる。スキャン順序に従ってチャンクにおける変換係数について、有意性マップフラグ、1超フラグ、2超フラグ、およびレベル残存値の各々がコーディングされる。一例では、スキャン順序は逆方向対角スキャン順序である。
[0184]本開示の他の例によれば、チャンクは変換ユニットのサブブロックである。チャンクは、変換ユニットの16個の変換係数のサブブロックであり得る。別の例では、チャンクは変換ユニット全体である。別の例では、チャンクは、スキャン順序に沿ったいくつかの連続する変換係数である。
[0185]ビデオ符号器が図11の方法を実行している場合、本方法は、ピクセルデータを符号化して残差ビデオデータを生成することと、残差ビデオデータを変換して変換係数のチャンクを生成することと、コード化有意性マップフラグと、コード化1超フラグと、コード化2超フラグとを符号化ビデオビットストリーム中でシグナリングすることとをさらに備えることができる。加えて、別の例では、ビデオ符号器は、Nの値を符号化ビデオビットストリーム中でシグナリングすることができる。Nの値は、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセット、およびスライスヘッダのうちの少なくとも1つでシグナリングされ得る。
[0186]ビデオ復号器が図11の方法を実行している場合、本方法は、有意性マップフラグと、1超フラグと、2超フラグとを符号化ビデオビットストリーム中で受信することと、変換係数のチャンクを逆変換して残差ビデオデータを生成することと、残差ビデオデータを復号してピクセルデータを生成することとをさらに備えることができる。
[0187]図12は、本開示の技法による別の例示的な方法を示すフローチャートである。図12の方法は、ビデオコーダによって(たとえば、図9のビデオ符号器20によって、または図10のビデオ復号器30によって)実行され得る。
[0188]ビデオ符号器20およびビデオ復号器30(すなわち、ビデオコーダ)は、ビデオコーディングプロセスにおいて変換係数をコーディングする方法を実行するように構成され得る。ビデオコーダは、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることを行う(1210)ように構成され得、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す。ビデオコーダは、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることを行う(1220)ようにさらに構成され得、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す。M1は、チャンクにおける変換係数の最大数よりも小さい。ビデオコーダは、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける変換係数について、2超フラグをコーディングすることを行う(1230)ようにさらに構成され得、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。一例では、M1の値は8である。別の例では、M1の値は、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、色成分タイプ、変換ユニットにおけるチャンクの位置、チャンクにおける最後の有意係数の存在、および隣接チャンクの係数統計のうちの少なくとも1つに基づく。
[0189]ビデオコーダは、チャンクにおける変換係数についてレベル残存値をコーディングすることを行う(1240)ようにさらに構成され得る。レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表す。レベル残存値は、コード化有意性マップフラグを有するが、1超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から1を差し引いた値を表す。ビデオコーダは、チャンクにおける変換係数について符号フラグをコーディングすることを行う(1250)ようにさらに構成され得、符号フラグは、特定の変換係数の符号を示す。
[0190]本開示の一例では、有意性マップフラグ、1超フラグ、および2超フラグは、適応コンテキストモデルによりCABACを使用してコーディングされる。レベル残存値は、CABACバイパスモードでゴロムライスコーディングを使用してコーディングされる。符号フラグは、CABACバイパスモードでコーディングされる。本開示の別の例では、レベル残存値はゴロムライスコーディングを使用してコーディングされ、このゴロムライスコーディングは、ゴロムパラメータに従って適応される。ゴロムパラメータは、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、予測モード、色成分タイプ、および隣接チャンクの係数統計のうちの少なくとも1つに基づいて決定される。
[0191]本開示の別の例では、有意性マップフラグは1番目にコーディングされ、1超フラグは2番目にコーディングされ、2超フラグは3番目にコーディングされ、レベル残存値は2超フラグの後にコーディングされる。スキャン順序に従ってチャンクにおける変換係数について、有意性マップフラグ、1超フラグ、2超フラグ、およびレベル残存値の各々がコーディングされる。一例では、スキャン順序は逆方向対角スキャン順序である。
[0192]本開示の他の例によれば、チャンクは変換ユニットのサブブロックである。チャンクは、変換ユニットの16個の変換係数のサブブロックであり得る。別の例では、チャンクは変換ユニット全体である。別の例では、チャンクは、スキャン順序に沿ったいくつかの連続する変換係数である。
[0193]ビデオ符号器が図12の方法を実行している場合、本方法は、ピクセルデータを符号化して残差ビデオデータを生成することと、残差ビデオデータを変換して変換係数のチャンクを生成することと、コード化有意性マップフラグと、コード化1超フラグと、コード化2超フラグとを符号化ビデオビットストリーム中でシグナリングすることとをさらに備えることができる。加えて、別の例では、ビデオ符号器は、M1の値を符号化ビデオビットストリーム中でシグナリングすることができる。M1の値は、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセット、およびスライスヘッダのうちの少なくとも1つでシグナリングされ得る。
[0194]ビデオ復号器が図12の方法を実行している場合、本方法は、有意性マップフラグと、1超フラグと、2超フラグとを符号化ビデオビットストリーム中で受信することと、変換係数のチャンクを逆変換して残差ビデオデータを生成することと、残差ビデオデータを復号してピクセルデータを生成することとをさらに備えることができる。
[0195]図13は、本開示の技法による別の例示的な方法を示すフローチャートである。図13の方法は、ビデオコーダによって(たとえば、図9のビデオ符号器20によって、または図10のビデオ復号器30によって)実行され得る。
[0196]ビデオ符号器20およびビデオ復号器30(すなわち、ビデオコーダ)は、ビデオコーディングプロセスにおいて変換係数をコーディングする方法を実行するように構成され得る。ビデオコーダは、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることを行う(1310)ように構成され得、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す。ビデオコーダは、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることを行う(1320)ようにさらに構成され得、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す。M1は、チャンクにおける変換係数の最大数よりも小さい。ビデオコーダは、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることを行う(1330)ようにさらに構成され得、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、チャンクにおける変換係数の最大数よりも小さい。一例では、Nの値は1である。別の例では、Nの値は、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、色成分タイプ、変換ユニットにおけるチャンクの位置、チャンクにおける最後の有意係数の存在、および隣接チャンクの係数統計のうちの少なくとも1つに基づく。一例では、M1の値は8である。別の例では、M1の値は、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、色成分タイプ、変換ユニットにおけるチャンクの位置、チャンクにおける最後の有意係数の存在、および隣接チャンクの係数統計のうちの少なくとも1つに基づく。
[0197]ビデオコーダは、チャンクにおける変換係数についてレベル残存値をコーディングすることを行う(1340)ようにさらに構成され得る。レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表す。レベル残存値は、1のコード化1超フラグを有するが、2超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から2を差し引いた値を表す。レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の絶対値から1を差し引いた値を表す。ビデオコーダは、チャンクにおける変換係数について符号フラグをコーディングすることを行う(1350)ようにさらに構成され得、符号フラグは、特定の変換係数の符号を示す。
[0198]本開示の一例では、ビデオコーディングプロセスにおいて変換係数をコーディングする方法は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、チャンクにおける変換係数の最大数よりも小さい、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける変換係数について、2超フラグをコーディングすることとを備え、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0199]本開示の別の例では、本方法は、チャンクにおける変換係数について、レベル残存値をコーディングすることをさらに備えることができ、レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表し、レベル残存値は、コード化有意性マップフラグを有するが、1超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から1を差し引いた値を表す。
[0200]本開示の別の例では、本方法は、チャンクにおける変換係数について、符号フラグをコーディングすることをさらに備えることができ、符号フラグは、特定の変換係数の符号を示す。
[0201]本開示の別の例では、有意性マップフラグ、1超フラグ、および2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、レベル残存値は、CABACバイパスモードでコーディングされ、符号フラグは、CABACバイパスモードでコーディングされる。
[0202]本開示の別の例では、本方法は、ゴロムパラメータを使用してレベル残存値をコーディングすることであって、ゴロムパラメータは、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、予測モード、色成分タイプ、および隣接チャンクの係数統計のうちの少なくとも1つに基づいて決定される、ことをさらに備えることができる。
[0203]本開示の別の例では、有意性マップフラグは1番目にコーディングされ、1超フラグは、2番目にコーディングされ、2超フラグは、3番目にコーディングされ、レベル残存値は、2超フラグの後にコーディングされる。
[0204]本開示の別の例では、スキャン順序に従ってチャンクにおける変換係数について、有意性マップフラグ、1超フラグ、2超フラグ、およびレベル残存値の各々がコーディングされる。
[0205]本開示の別の例では、スキャン順序は、逆方向対角スキャン順序である。本開示の別の例では、チャンクは変換ユニットのサブブロックである。本開示の別の例では、チャンクは変換ユニットの16個の変換係数のサブブロックである。本開示の別の例では、チャンクは変換ユニットである。本開示の別の例では、チャンクは、スキャン順序に沿ったいくつかの連続する変換係数である。本開示の別の例では、スキャン順序は逆方向スキャン順序である。
[0206]本開示の別の例では、M1の値は8である。本開示の別の例では、M1の値は、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、色成分タイプ、変換ユニットにおけるチャンクの位置、チャンクにおける最後の有意係数の存在、および隣接チャンクの係数統計のうちの少なくとも1つに基づく。
[0207]本開示の別の例では、ビデオコーディングプロセスはビデオ符号化プロセスであり、本方法は、ピクセルデータを符号化して残差ビデオデータを生成することと、残差ビデオデータを変換して変換係数のチャンクを生成することと、コード化有意性マップフラグと、コード化1超フラグと、コード化2超フラグとを符号化ビデオビットストリーム中でシグナリングすることとをさらに備える。
[0208]本開示の別の例では、本方法は、M1の値を符号化ビデオビットストリーム中でシグナリングすることをさらに備える。本開示の別の例では、M1の値は、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセット、およびスライスヘッダのうちの少なくとも1つでシグナリングされる。
[0209]本開示の別の例では、ビデオコーディングプロセスはビデオ復号プロセスであり、本方法は、有意性マップフラグと、1超フラグと、2超フラグとを符号化ビデオビットストリーム中で受信することと、変換係数のチャンクを逆変換して残差ビデオデータを生成することと、残差ビデオデータを復号してピクセルデータを生成することとをさらに備える。
[0210]本開示の別の例では、2超フラグをコーディングすることは、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、1超フラグをコーディングすることを備え、Nは、チャンクにおける変換係数の最大数よりも小さい、本方法は、チャンクにおける変換係数について、レベル残存値をコーディングすることをさらに備え、レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表し、レベル残存値は、1のコード化1超フラグを有するが、2超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から2を差し引いた値を表し、レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の絶対値から1を差し引いた値を表す。
[0211]本開示の別の例では、M1の値は8である。
[0212]本開示の別の例では、ビデオコーディングプロセスにおいて変換係数をコーディングするように構成された装置は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、チャンクにおける変換係数の最大数よりも小さい、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける変換係数について、2超フラグをコーディングすることとを行うように構成されたビデオコーダを備え、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0213]本開示の別の例では、ビデオコーダは、チャンクにおける変換係数について、レベル残存値をコーディングすることを行うようにさらに構成され、レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表し、レベル残存値は、コード化有意性マップフラグを有するが、1超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から1を差し引いた値を表す。
[0214]本開示の別の例では、ビデオコーダは、チャンクにおける変換係数について、符号フラグをコーディングすることを行うようにさらに構成され、符号フラグは、特定の変換係数の符号を示す。
[0215]本開示の別の例では、有意性マップフラグ、1超フラグ、および2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、レベル残存値は、CABACバイパスモードでコーディングされ、符号フラグは、CABACバイパスモードでコーディングされる。
[0216]本開示の別の例では、ビデオコーダは、ゴロムパラメータを使用してレベル残存値をコーディングすることを行うようにさらに構成され、ゴロムパラメータは、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、予測モード、色成分タイプ、および隣接チャンクの係数統計のうちの少なくとも1つに基づいて決定される。
[0217]本開示の別の例では、有意性マップフラグは1番目にコーディングされ、1超フラグは2番目にコーディングされ、2超フラグは3番目にコーディングされ、レベル残存値は2超フラグの後にコーディングされる。本開示の別の例では、スキャン順序に従ってチャンクにおける変換係数について、有意性マップフラグ、1超フラグ、2超フラグ、およびレベル残存値がコーディングされる。
[0218]本開示の別の例では、スキャン順序は逆方向対角スキャン順序である。本開示の別の例では、チャンクは変換ユニットのサブブロックである。本開示の別の例では、チャンクは変換ユニットの16個の変換係数のサブブロックである。本開示の別の例では、チャンクは変換ユニットである。本開示の別の例では、チャンクは、スキャン順序に沿ったいくつかの連続する変換係数である。本開示の別の例では、スキャン順序は逆方向スキャン順序である。
[0219]本開示の別の例では、M1の値は8である。本開示の別の例では、M1の値は、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、色成分タイプ、変換ユニットにおけるチャンクの位置、チャンクにおける最後の有意係数の存在、および隣接チャンクの係数統計のうちの少なくとも1つに基づく。
[0220]本開示の別の例では、ビデオコーダはビデオ符号器であり、ビデオ符号器は、ピクセルデータを符号化して残差ビデオデータを生成することと、残差ビデオデータを変換して変換係数のチャンクを生成することと、コード化有意性マップフラグと、コード化1超フラグと、コード化2超フラグとを符号化ビデオビットストリーム中でシグナリングすることとを行うようにさらに構成される。本開示の別の例では、ビデオコーダは、M1の値を符号化ビデオビットストリーム中でシグナリングするようにさらに構成される。本開示の別の例では、M1の値は、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセット、およびスライスヘッダのうちの少なくとも1つでシグナリングされる。
[0221]本開示の別の例では、ビデオコーダはビデオ復号器であり、ビデオ復号器は、有意性マップフラグと、1超フラグと、2超フラグとを符号化ビデオビットストリーム中で受信することと、変換係数のチャンクを逆変換して残差ビデオデータを生成することと、残差ビデオデータを復号してピクセルデータを生成することとを行うようにさらに構成される。
[0222]本開示の別の例では、ビデオコーダは、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることを行うようにさらに構成され、Nは、チャンクにおける変換係数の最大数よりも小さい、本方法は、チャンクにおける変換係数について、レベル残存値をコーディングすることをさらに備え、レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表し、レベル残存値は、1のコード化1超フラグを有するが、2超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から2を差し引いた値を表し、レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の絶対値から1を差し引いた値を表す。本開示の別の例では、Nの値は1である。
[0223]本開示の別の例では、ビデオコーディングプロセスにおいて変換係数をコーディングするように構成された装置は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングするための手段と、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングするための手段と、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、チャンクにおける変換係数の最大数よりも小さい、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける変換係数について、2超フラグをコーディングするための手段とを備え、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0224]本開示の別の例では、コンピュータ可読記憶媒体は、実行されたとき、ビデオデータをコーディングするように構成されたデバイスの1つまたは複数のプロセッサに、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示されたチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、チャンクにおける変換係数の最大数よりも小さい、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける変換係数について、2超フラグをコーディングすることとを行わせる命令を記憶し、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示す。
[0225]本開示の別の例では、ビデオコーディングプロセスにおいて変換係数をコーディングする方法は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数のチャンクにおける変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることとを備え、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、チャンクにおける変換係数の最大数よりも小さい。
[0226]本開示の別の例では、本方法は、チャンクにおける変換係数について、レベル残存値をコーディングすることをさらに備え、レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表し、レベル残存値は、1のコード化1超フラグを有するが、2超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から2を差し引いた値を表す。
[0227]本開示の別の例では、本方法は、チャンクにおける変換係数について、符号フラグをコーディングすることをさらに備え、符号フラグは、特定の変換係数の符号を示す。
[0228]本開示の別の例では、有意性マップフラグ、1超フラグ、および2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、レベル残存値は、CABACバイパスモードでコーディングされ、符号フラグは、CABACバイパスモードでコーディングされる。
[0229]本開示の別の例では、本方法は、ゴロムパラメータを使用してレベル残存値をコーディングすることをさらに備え、ゴロムパラメータは、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、予測モード、色成分タイプ、および隣接チャンクの係数統計のうちの少なくとも1つに基づいて決定される。
[0230]本開示の別の例では、有意性マップフラグは1番目にコーディングされ、1超フラグは2番目にコーディングされ、2超フラグは3番目にコーディングされ、レベル残存値は2超フラグの後にコーディングされる。
[0231]本開示の別の例では、スキャン順序に従ってチャンクにおける変換係数について、有意性マップフラグ、1超フラグ、2超フラグ、およびレベル残存値の各々がコーディングされる。
[0232]本開示の別の例では、スキャン順序は逆方向対角スキャン順序である。本開示の別の例では、チャンクは変換ユニットのサブブロックである。本開示の別の例では、チャンクは変換ユニットの16個の変換係数のサブブロックである。本開示の別の例では、チャンクは変換ユニットである。本開示の別の例では、チャンクは、スキャン順序に沿ったいくつかの連続する変換係数である。本開示の別の例では、スキャン順序は逆方向スキャン順序である。
[0233]本開示の別の例では、Nの値は1である。本開示の別の例では、Nの値は、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、色成分タイプ、変換ユニットにおけるチャンクの位置、チャンクにおける最後の有意係数の存在、および隣接チャンクの係数統計のうちの少なくとも1つに基づく。
[0234]本開示の別の例では、ビデオコーディングプロセスはビデオ符号化プロセスであり、本方法は、ピクセルデータを符号化して残差ビデオデータを生成することと、残差ビデオデータを変換して変換係数のチャンクを生成することと、コード化有意性マップフラグと、コード化1超フラグと、コード化2超フラグとを符号化ビデオビットストリーム中でシグナリングすることとをさらに備える。本開示の別の例では、本方法は、Nの値を符号化ビデオビットストリーム中でシグナリングすることをさらに備える。本開示の別の例では、Nの値は、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセット、およびスライスヘッダのうちの少なくとも1つでシグナリングされる。
[0235]本開示の別の例では、ビデオコーディングプロセスはビデオ復号プロセスであり、本方法は、有意性マップフラグと、1超フラグと、2超フラグとを符号化ビデオビットストリーム中で受信することと、変換係数のチャンクを逆変換して残差ビデオデータを生成することと、残差ビデオデータを復号してピクセルデータを生成することとをさらに備える。
[0236]本開示の別の例では、1超フラグをコーディングすることは、非ゼロであるチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることを備え、M1は、チャンクにおける変換係数の最大数よりも小さい、本方法は、チャンクにおける変換係数について、レベル残存値をコーディングすることをさらに備え、レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表し、レベル残存値は、1のコード化1超フラグを有するが、2超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から2を差し引いた値を表し、レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の絶対値から1を差し引いた値を表す。本開示の別の例では、M1の値は8である。
[0237]本開示の別の例では、ビデオコーディングプロセスにおいて変換係数をコーディングするように構成された装置は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数のチャンクにおける変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることとを行うように構成されたビデオコーダを備え、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、チャンクにおける変換係数の最大数よりも小さい。
[0238]本開示の別の例では、ビデオコーダは、チャンクにおける変換係数について、レベル残存値をコーディングすることを行うようにさらに構成され、レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表し、レベル残存値は、1のコード化1超フラグを有するが、2超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から2を差し引いた値を表す。
[0239]本開示の別の例では、ビデオコーダは、チャンクにおける変換係数について、符号フラグをコーディングすることを行うようにさらに構成され、符号フラグは、特定の変換係数の符号を示す。
[0240]本開示の別の例では、有意性マップフラグ、1超フラグ、および2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、レベル残存値は、CABACバイパスモードでコーディングされ、符号フラグは、CABACバイパスモードでコーディングされる。
[0241]本開示の別の例では、ビデオコーダは、ゴロムパラメータを使用してレベル残存値をコーディングすることを行うようにさらに構成され、ゴロムパラメータは、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、予測モード、色成分タイプ、および隣接チャンクの係数統計のうちの少なくとも1つに基づいて決定される。
[0242]本開示の別の例では、有意性マップフラグは1番目にコーディングされ、1超フラグは2番目にコーディングされ、2超フラグは3番目にコーディングされ、レベル残存値は2超フラグの後にコーディングされる。
[0243]本開示の別の例では、スキャン順序に従ってチャンクにおける変換係数について、有意性マップフラグ、1超フラグ、2超フラグ、およびレベル残存値の各々がコーディングされる。本開示の別の例では、スキャン順序は逆方向対角スキャン順序である。
[0244]本開示の別の例では、チャンクは変換ユニットのサブブロックである。本開示の別の例では、チャンクは変換ユニットの16個の変換係数のサブブロックである。本開示の別の例では、チャンクは変換ユニットである。本開示の別の例では、チャンクは、スキャン順序に沿ったいくつかの連続する変換係数である。本開示の別の例では、スキャン順序は逆方向スキャン順序である。
[0245]本開示の別の例では、Nの値は1である。本開示の別の例では、Nの値は、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、色成分タイプ、変換ユニットにおけるチャンクの位置、チャンクにおける最後の有意係数の存在、および隣接チャンクの係数統計のうちの少なくとも1つに基づく。
[0246]本開示の別の例では、ビデオコーダはビデオ符号器であり、ビデオ符号器は、ピクセルデータを符号化して残差ビデオデータを生成することと、残差ビデオデータを変換して変換係数のチャンクを生成することと、コード化有意性マップフラグと、コード化1超フラグと、コード化2超フラグとを符号化ビデオビットストリーム中でシグナリングすることとを行うようにさらに構成される。本開示の別の例では、ビデオコーダは、Nの値を符号化ビデオビットストリーム中でシグナリングするようにさらに構成される。本開示の別の例では、Nの値は、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセット、およびスライスヘッダのうちの少なくとも1つでシグナリングされる。
[0247]本開示の別の例では、ビデオコーダはビデオ復号器であり、ビデオ復号器は、有意性マップフラグと、1超フラグと、2超フラグとを符号化ビデオビットストリーム中で受信することと、変換係数のチャンクを逆変換して残差ビデオデータを生成することと、残差ビデオデータを復号してピクセルデータを生成することとを行うようにさらに構成される。
[0248]本開示の別の例では、ビデオコーダは、非ゼロであるチャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることを行うようにさらに構成され、M1は、チャンクにおける変換係数の最大数よりも小さく、ビデオコーダは、チャンクにおける変換係数について、レベル残存値をコーディングすることを行うようにさらに構成され、レベル残存値は、1のコード化2超フラグを有するチャンクにおける変換係数については、対応する係数の絶対値から3を差し引いた値を表し、レベル残存値は、1のコード化1超フラグを有するが、2超フラグがコーディングされていないチャンクにおける変換係数については、対応する係数の絶対値から2を差し引いた値を表し、レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の絶対値から1を差し引いた値を表す。本開示の別の例では、M1の値は8である。
[0249]本開示の別の例では、ビデオコーディングプロセスにおいて変換係数をコーディングするように構成された装置は、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングするための手段と、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数のチャンクにおける変換係数について、1超フラグをコーディングするための手段と、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングするための手段とを備え、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、チャンクにおける変換係数の最大数よりも小さい。
[0250]本開示の別の例では、コンピュータ可読記憶媒体は、実行されたとき、ビデオコーディングプロセスにおいて変換係数をコーディングするように構成された1つまたは複数のプロセッサに、変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数のチャンクにおける変換係数について、1超フラグをコーディングすることと、ここで、1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、1超フラグによって1よりも大きい絶対値を有することが示されたチャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることとを行わせる命令を記憶し、2超フラグは、特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、チャンクにおける変換係数の最大数よりも小さい。
[0251]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含むことができる。
[0252]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0253]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指すことができる。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0254]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0255]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオコーディングプロセスにおいて変換係数をコーディングする方法であって、
変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された前記チャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、前記チャンクにおける変換係数の最大数よりも小さい、
前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける変換係数について、2超フラグをコーディングすることと
を備え、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示す、
方法。
[C2]
前記2超フラグをコーディングすることは、前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける最初のN個の変換係数について、前記超フラグをコーディングすることを備え、Nは、前記チャンクにおける変換係数の最大数よりも小さく、
前記方法は、前記チャンクにおける変換係数について、レベル残存値をコーディングすることをさらに備え、
前記レベル残存値は、1のコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
前記レベル残存値は、1のコード化1超フラグを有するが、前記2超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から2を差し引いた値を表し、
前記レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の前記絶対値から1を差し引いた値を表す、
[C1]に記載の方法。
[C3]
M1の値は、8である、
[C2]に記載の方法。
[C4]
前記チャンクにおける変換係数について、レベル残存値をコーディングすることをさらに備え、
前記レベル残存値は、1のコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
前記レベル残存値は、コード化有意性マップフラグを有するが、前記1超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から1を差し引いた値を表す、
[C1]に記載の方法。
[C5]
前記チャンクにおける変換係数について、符号フラグをコーディングすることをさらに備え、前記符号フラグは、前記特定の変換係数の符号を示す、
[C4]に記載の方法。
[C6]
前記有意性マップフラグ、前記1超フラグ、および前記2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、前記レベル残存値は、CABACバイパスモードでコーディングされ、前記符号フラグは、CABACバイパスモードでコーディングされる、
[C5]に記載の方法。
[C7]
ゴロムパラメータを使用して前記レベル残存値をコーディングすることをさらに備え、前記ゴロムパラメータは、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、予測モード、色成分タイプ、および変換係数の隣接チャンクの係数統計のうちの少なくとも1つに基づいて決定される、
[C6]に記載の方法。
[C8]
前記有意性マップフラグを1番目に、前記1超フラグを2番目に、前記2超フラグを3番目に、前記レベル残存値を前記2超フラグの後にコーディングすることをさらに備える、
[C5]に記載の方法。
[C9]
スキャン順序に従って前記チャンクにおける前記変換係数について、前記有意性マップフラグ、前記1超フラグ、前記2超フラグ、および前記レベル残存値の各々をコーディングすることをさらに備える、
[C8]に記載の方法。
[C10]
前記スキャン順序は、逆方向対角スキャン順序である、
[C9]に記載の方法。
[C11]
前記チャンクは、変換ユニットのサブブロックである、
[C1]に記載の方法。
[C12]
前記チャンクは、変換ユニットの16個の変換係数のサブブロックである、
[C1]に記載の方法。
[C13]
前記チャンクは、変換ユニットである、
[C1]に記載の方法。
[C14]
前記チャンクは、変換ユニット内のスキャン順序に沿ったいくつかの連続する変換係数である、
[C1]に記載の方法。
[C15]
前記スキャン順序は、逆方向スキャン順序である、
[C14]に記載の方法。
[C16]
M1の値は、8である、
[C1]に記載の方法。
[C17]
M1の値は、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、色成分タイプ、変換ユニットにおける前記チャンクの位置、前記チャンクにおける最後の有意係数の存在、および隣接チャンクの係数統計のうちの少なくとも1つに基づく、
[C1]に記載の方法。
[C18]
前記ビデオコーディングプロセスはビデオ符号化プロセスであり、前記方法は、
ピクセルデータを符号化して残差ビデオデータを生成することと、
前記残差ビデオデータを変換して変換係数の前記チャンクを生成することと、
前記コード化有意性マップフラグと、前記コード化1超フラグと、前記コード化2超フラグとを符号化ビデオビットストリーム中でシグナリングすることと
をさらに備える、[C1]に記載の方法。
[C19]
M1の値を符号化ビデオビットストリーム中でシグナリングすることをさらに備える、
[C1]に記載の方法。
[C20]
M1の値は、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセット、およびスライスヘッダのうちの少なくとも1つでシグナリングされる、
[C19]に記載の方法。
[C21]
前記ビデオコーディングプロセスは、ビデオ復号プロセスであり、前記方法は、
前記有意性マップフラグと、前記1超フラグと、前記2超フラグとを符号化ビデオビットストリーム中で受信することと、
変換係数の前記チャンクを逆変換して残差ビデオデータを生成することと、
前記残差ビデオデータを復号してピクセルデータを生成することと
をさらに備える、[C1]に記載の方法。
[C22]
ビデオコーディングプロセスにおいて変換係数をコーディングするように構成された装置であって、
変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された前記チャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、前記チャンクにおける変換係数の最大数よりも小さい、
前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける変換係数について、2超フラグをコーディングすることと
を行うように構成されたビデオコーダを備え、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示す、
装置。
[C23]
前記ビデオコーダは、前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける最初のN個の変換係数について、前記2超フラグをコーディングすることを行うようにさらに構成され、Nは、前記チャンクにおける変換係数の最大数よりも小さい、
前記方法は、前記チャンクにおける変換係数について、レベル残存値をコーディングすることをさらに備え、
前記レベル残存値は、1のコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
前記レベル残存値は、1のコード化1超フラグを有するが、前記2超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から2を差し引いた値を表し、
前記レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の前記絶対値から1を差し引いた値を表す、
[C22]に記載の装置。
[C24]
Nの値は、1である、
[C23]に記載の装置。
[C25]
前記ビデオコーダは、
前記チャンクにおける変換係数について、レベル残存値をコーディングするようにさらに構成され、
前記レベル残存値は、1のコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
前記レベル残存値は、コード化有意性マップフラグを有するが、前記1超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から1を差し引いた値を表す、
[C22]に記載の装置。
[C26]
前記ビデオコーダは、
前記チャンクにおける変換係数について、符号フラグをコーディングすることを行うようにさらに構成され、前記符号フラグは、前記特定の変換係数の符号を示す、
[C25]に記載の装置。
[C27]
前記有意性マップフラグ、前記1超フラグ、および前記2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、前記レベル残存値は、CABACバイパスモードでコーディングされ、前記符号フラグは、CABACバイパスモードでコーディングされる、
[C26]に記載の装置。
[C28]
前記ビデオコーダは、
ゴロムパラメータを使用して前記レベル残存値をコーディングすることを行うようにさらに構成され、前記ゴロムパラメータは、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、予測モード、色成分タイプ、および変換係数の隣接チャンクの係数統計のうちの少なくとも1つに基づいて決定される、
[C27]に記載の装置。
[C29]
前記ビデオコーダは、前記有意性マップフラグを1番目に、前記1超フラグを2番目に、前記2超フラグを3番目に、前記レベル残存値を前記2超フラグの後にコーディングするようにさらに構成される、
[C26]に記載の装置。
[C30]
前記ビデオコーダは、スキャン順序に従って前記チャンクにおける前記変換係数について、前記有意性マップフラグ、前記1超フラグ、前記2超フラグ、および前記レベル残存値の各々をコーディングするようにさらに構成される、
[C29]に記載の装置。
[C31]
前記スキャン順序は、逆方向対角スキャン順序である、
[C30]に記載の装置。
[C32]
前記チャンクは、変換ユニットのサブブロックである、
[C22]に記載の装置。
[C33]
前記チャンクは、変換ユニットの16個の変換係数のサブブロックである、
[C22]に記載の装置。
[C34]
前記チャンクは、変換ユニットである、
[C22]に記載の装置。
[C35]
前記チャンクは、変換ユニット内のスキャン順序に沿ったいくつかの連続する変換係数である、
[C22]に記載の装置。
[C36]
前記スキャン順序は、逆方向スキャン順序である、
[C35]に記載の装置。
[C37]
M1の値は、8である、
[C22]に記載の装置。
[C38]
M1の値は、量子化パラメータ、変換ユニットサイズ、変換ユニット深さ、色成分タイプ、変換ユニットにおける前記チャンクの位置、前記チャンクにおける最後の有意係数の存在、および隣接チャンクの係数統計のうちの少なくとも1つに基づく、
[C22]に記載の装置。
[C39]
前記ビデオコーダは、ビデオ符号器であり、前記ビデオ符号器は、
ピクセルデータを符号化して残差ビデオデータを生成することと、
前記残差ビデオデータを変換して変換係数の前記チャンクを生成することと、
前記コード化有意性マップフラグと、前記コード化1超フラグと、前記コード化2超フラグとを符号化ビデオビットストリーム中でシグナリングすることと
を行うようにさらに構成される、[C22]に記載の装置。
[C40]
前記ビデオコーダは、
M1の値を符号化ビデオビットストリーム中でシグナリングするようにさらに構成される、
[C22]に記載の装置。
[C41]
M1の値は、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセット、およびスライスヘッダのうちの少なくとも1つでシグナリングされる、
[C40]に記載の装置。
[C42]
前記ビデオコーダは、ビデオ復号器であり、前記ビデオ復号器は、
前記有意性マップフラグと、前記1超フラグと、前記2超フラグとを符号化ビデオビットストリーム中で受信することと、
変換係数の前記チャンクを逆変換して残差ビデオデータを生成することと、
前記残差ビデオデータを復号してピクセルデータを生成することと
を行うようにさらに構成される、[C22]に記載の装置。
[C43]
ビデオコーディングプロセスにおいて変換係数をコーディングするように構成された装置であって、
変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングするための手段と、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された前記チャンクにおける最初のM1個の変換係数について、1超フラグをコーディングするための手段と、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、前記チャンクにおける変換係数の最大数よりも小さい、
前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける変換係数について、2超フラグをコーディングするための手段と
を備え、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示す、
装置。
[C44]
実行されたとき、ビデオデータをコーディングするように構成されたデバイスの1つまたは複数のプロセッサに、
変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された前記チャンクにおける最初のM1個の変換係数について、1超フラグをコーディングすることと、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、前記チャンクにおける変換係数の最大数よりも小さい、
前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける変換係数について、2超フラグをコーディングすることと、
を行わせる命令を記憶し、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示す、
コンピュータ可読記憶媒体。
[C45]
ビデオコーディングプロセスにおいて変換係数をコーディングする方法であって、
変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数の前記チャンクにおける変換係数について、1超フラグをコーディングすることと、ここで、前記1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、
前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることと
を備え、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、前記チャンクにおける変換係数の最大数よりも小さい、
方法。
[C46]
前記チャンクにおける変換係数について、レベル残存値をコーディングすることをさらに備え、
前記レベル残存値は、1のコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
前記レベル残存値は、1のコード化1超フラグを有するが、前記2超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から2を差し引いた値を表す、
[C45]に記載の方法。
[C47]
前記チャンクにおける変換係数について、符号フラグをコーディングすることをさらに備え、前記符号フラグは、前記特定の変換係数の符号を示す、
[C46]に記載の方法。
[C48]
Nの値は、1である、
[C45]に記載の方法。
[C49]
ビデオコーディングプロセスにおいて変換係数をコーディングするように構成された装置であって、
変換係数のチャンクにおける変換係数について、有意性マップフラグをコーディングすることと、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数の前記チャンクにおける変換係数について、1超フラグをコーディングすることと、ここで、前記1超フラグは、特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、
前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける最初のN個の変換係数について、2超フラグをコーディングすることと
を行うように構成され、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、前記チャンクにおける変換係数の最大数よりも小さい、
ビデオコーダを備える装置。
[C50]
前記ビデオコーダは、
前記チャンクにおける変換係数について、レベル残存値をコーディングするようにさらに構成され、
前記レベル残存値は、1のコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
前記レベル残存値は、1のコード化1超フラグを有するが、前記2超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から2を差し引いた値を表す、
[C49]に記載の装置。
[C51]
前記ビデオコーダは、
前記チャンクにおける変換係数について、符号フラグをコーディングすることを行うようにさらに構成され、前記符号フラグは、前記特定の変換係数の符号を示す、
[C50]に記載の装置。
[C52]
前記Nの値は、1である、
[C49]に記載の装置。

Claims (16)

  1. ブロックベースのビデオコーディングプロセスにおいてブロックベースの変換係数を符号化する方法であって、
    変換係数のチャンクにおける変換係数について、有意性マップフラグを符号化することと、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、符号フラグを符号化することと、ここで、前記符号フラグは、前記特定の変換係数の符号を示す、
    前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された前記チャンクにおける逆方向スキャン順序中の最初のM1個の変換係数について、1超フラグを符号化することと、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、前記チャンクにおける変換係数の最大数よりも小さい、
    前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける変換係数について、2超フラグを符号化することと、ここで、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、レベル残存値を符号化することと、
    前記符号フラグ、前記有意性マップフラグ、前記1超フラグ、前記2超フラグ、および前記レベル残存値を符号化ビデオビットストリーム中でシグナリングすることと
    を備え、前記レベル残存値は、前記特定の変換係数が2よりも大きい絶対値を有することを示すコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
    前記レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の前記絶対値から1を差し引いた値を表し、
    前記有意性マップフラグ、前記1超フラグ、および前記2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、前記レベル残存値は、CABACバイパスモードでコーディングされ、前記符号フラグは、CABACバイパスモードでコーディングされる、方法。
  2. ブロックベースのビデオコーディングプロセスにおいてブロックベースの変換係数を復号する方法であって、
    符号フラグ、有意性マップフラグ、1超フラグ、2超フラグ、およびレベル残存値を符号化ビデオビットストリーム中で受信することと、
    変換係数のチャンクにおける変換係数について、前記有意性マップフラグを復号することと、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、前記符号フラグを復号することと、ここで、前記符号フラグは、前記特定の変換係数の符号を示す、
    前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された前記チャンクにおける逆方向スキャン順序中の最初のM1個の変換係数について、前記1超フラグを復号することと、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、前記チャンクにおける変換係数の最大数よりも小さい、
    前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける変換係数について、前記2超フラグを復号することと、ここで、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、前記レベル残存値を復号することと、
    を備え、前記レベル残存値は、前記特定の変換係数が2よりも大きい絶対値を有することを示すコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
    前記レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の前記絶対値から1を差し引いた値を表し、
    前記有意性マップフラグ、前記1超フラグ、および前記2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、前記レベル残存値は、CABACバイパスモードでコーディングされ、前記符号フラグは、CABACバイパスモードでコーディングされる、方法。
  3. 前記2超フラグを符号化することは、前記1超フラグによって1より大きい絶対値を有することが示された前記チャンクにおける最初のN個の変換係数について前記2超フラグを符号化することを備え、前記Nは、M1に等しいまたは小さい、 前記レベル残存値は、前記特定の変換係数が1よりも大きい絶対値を有することを示すコード化1超フラグを有するが、前記2超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から2を差し引いた値を表す、請求項1に記載の方法。
  4. 前記2超フラグを復号することは、前記1超フラグによって1より大きい絶対値を有することが示された前記チャンクにおける最初のN個の変換係数について前記2超フラグを復号することを備え、前記Nは、M1に等しいまたは小さい、
    前記レベル残存値は、前記特定の変換係数が1よりも大きい絶対値を有することを示すコード化1超フラグを有するが、前記2超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から2を差し引いた値を表す、請求項2に記載の方法。
  5. 前記有意性マップフラグを1番目に、前記1超フラグを2番目に、前記2超フラグを3番目に、前記レベル残存値を前記2超フラグの後に符号化することをさらに備える、請求項1に記載の方法。
  6. 前記有意性マップフラグを1番目に、前記1超フラグを2番目に、前記2超フラグを3番目に、前記レベル残存値を前記2超フラグの後に復号することをさらに備える、請求項2に記載の方法。
  7. 前記チャンクは、
    変換ユニットのサブブロック、
    変換ユニットの16個の変換係数のサブブロック、
    変換ユニット、および
    変換ユニット内の前記逆方向スキャン順序に沿ったいくつかの連続する変換係数
    のうちの1つである、請求項1または2に記載の方法。
  8. M1の値は、8である、請求項1または2に記載の方法。
  9. ブロックベースのビデオコーディングプロセスにおいてブロックベースの変換係数を符号化する方法であって、
    変換係数のチャンクにおける変換係数について、有意性マップフラグを符号化することと、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、符号フラグを符号化することと、ここで、前記符号フラグは、前記特定の変換係数の符号を示す、
    前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数の前記チャンクにおける変換係数について、1超フラグを符号化することと、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、
    前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける逆方向スキャン順序中の最初のN個の変換係数について、2超フラグを符号化することと、ここで、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、前記チャンクにおける変換係数の最大数よりも小さい、
    前記チャンクにおける変換係数について、レベル残存値を符号化することと、
    前記符号フラグ、前記有意性マップフラグ、前記1超フラグ、前記2超フラグ、および前記レベル残存値を符号化ビデオビットストリーム中でシグナリングすることと
    を備え、前記レベル残存値は、前記特定の変換係数が2よりも大きい絶対値を有することを示すコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
    前記レベル残存値は、前記特定の変換係数が1よりも大きい絶対値を有することを示すコード化1超フラグを有するが、前記2超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から2を差し引いた値を表し、
    前記有意性マップフラグ、前記1超フラグ、および前記2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、前記レベル残存値は、CABACバイパスモードでコーディングされ、前記符号フラグは、CABACバイパスモードでコーディングされる、方法。
  10. ブロックベースのビデオコーディングプロセスにおいてブロックベースの変換係数を復号する方法であって、
    符号フラグ、有意性マップフラグ、1超フラグ、2超フラグ、およびレベル残存値を符号化ビデオビットストリーム中で受信することと、
    変換係数のチャンクにおける変換係数について、前記有意性マップフラグを復号することと、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、前記符号フラグを復号することと、ここで、前記符号フラグは、前記特定の変換係数の符号を示す、
    前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数の前記チャンクにおける変換係数について、前記1超フラグを復号することと、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、
    前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける逆方向スキャン順序中の最初のN個の変換係数について、前記2超フラグを復号することと、ここで、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、前記チャンクにおける変換係数の最大数よりも小さい、
    前記チャンクにおける変換係数について、前記レベル残存値を復号することと
    を備え、前記レベル残存値は、前記特定の変換係数が2よりも大きい絶対値を有することを示すコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
    前記レベル残存値は、前記特定の変換係数が1よりも大きい絶対値を有することを示すコード化1超フラグを有するが、前記2超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から2を差し引いた値を表し、
    前記有意性マップフラグ、前記1超フラグ、および前記2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、前記レベル残存値は、CABACバイパスモードでコーディングされ、前記符号フラグは、CABACバイパスモードでコーディングされる、方法。
  11. Nの値は、1である、請求項9または10に記載の方法。
  12. 実行されたとき、ビデオデータをコーディングするように構成されたデバイスの1つまたは複数のプロセッサに、請求項1乃至11のいずれか1項に記載の方法を行わせる命令を記憶する、コンピュータ可読記憶媒体。
  13. ブロックベースのビデオコーディングプロセスにおいてブロックベースの変換係数を符号化するように構成された装置であって、
    変換係数のチャンクにおける変換係数について、有意性マップフラグを符号化するための手段と、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、符号フラグを符号化するための手段と、ここで、前記符号フラグは、前記特定の変換係数の符号を示す、
    前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された前記チャンクにおける逆方向スキャン順序中の最初のM1個の変換係数について、1超フラグを符号化するための手段と、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、前記チャンクにおける変換係数の最大数よりも小さい、
    前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける変換係数について、2超フラグを符号化するための手段と、ここで、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、レベル残存値を符号化するための手段と、
    前記符号フラグ、前記有意性マップフラグ、前記1超フラグ、前記2超フラグ、および前記レベル残存値を符号化ビデオビットストリーム中でシグナリングするための手段と
    を備え、前記レベル残存値は、前記特定の変換係数が2よりも大きい絶対値を有することを示すコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
    前記レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の前記絶対値から1を差し引いた値を表し、
    前記有意性マップフラグ、前記1超フラグ、および前記2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、前記レベル残存値は、CABACバイパスモードでコーディングされ、前記符号フラグは、CABACバイパスモードでコーディングされる、装置。
  14. ブロックベースのビデオコーディングプロセスにおいてブロックベースの変換係数を符号化するように構成された装置であって、
    変換係数のチャンクにおける変換係数について、有意性マップフラグを符号化することと、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、符号フラグを符号化することと、ここで、前記符号フラグは、前記特定の変換係数の符号を示す、
    前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数の前記チャンクにおける変換係数について、1超フラグを符号化することと、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、
    前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける逆方向スキャン順序中の最初のN個の変換係数について、2超フラグを符号化することと、ここで、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、前記チャンクにおける変換係数の最大数よりも小さい、
    前記チャンクにおける変換係数について、レベル残存値を符号化することと、
    前記符号フラグ、前記有意性マップフラグ、前記1超フラグ、前記2超フラグ、および前記レベル残存値を符号化ビデオビットストリーム中でシグナリングすることと
    を行うように構成されたビデオコーダを備え、前記レベル残存値は、前記特定の変換係数が2よりも大きい絶対値を有することを示すコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
    前記レベル残存値は、前記特定の変換係数が1よりも大きい絶対値を有することを示すコード化1超フラグを有するが、前記2超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から2を差し引いた値を表し、
    前記有意性マップフラグ、前記1超フラグ、および前記2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、前記レベル残存値は、CABACバイパスモードでコーディングされ、前記符号フラグは、CABACバイパスモードでコーディングされる、装置。
  15. ブロックベースのビデオコーディングプロセスにおいてブロックベースの変換係数を復号するように構成された装置であって、
    符号フラグ、有意性マップフラグ、1超フラグ、2超フラグ、およびレベル残存値を符号化ビデオビットストリーム中で受信するための手段と、
    変換係数のチャンクにおける変換係数について、前記有意性マップフラグを復号するための手段と、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、前記符号フラグを復号するための手段と、ここで、前記符号フラグは、前記特定の変換係数の符号を示す、
    前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された前記チャンクにおける逆方向スキャン順序中の最初のM1個の変換係数について、1超フラグを符号化するための手段と、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示し、M1は、前記チャンクにおける変換係数の最大数よりも小さい、
    前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける変換係数について、前記2超フラグを復号するための手段と、ここで、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、前記レベル残存値を復号するための手段と
    を備え、前記レベル残存値は、前記特定の変換係数が2よりも大きい絶対値を有することを示すコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
    前記レベル残存値は、非ゼロであるが、コード化1超フラグを有しないチャンクにおける変換係数については、対応する係数の前記絶対値から1を差し引いた値を表し、
    前記有意性マップフラグ、前記1超フラグ、および前記2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、前記レベル残存値は、CABACバイパスモードでコーディングされ、前記符号フラグは、CABACバイパスモードでコーディングされる、装置。
  16. ブロックベースのビデオコーディングプロセスにおいてブロックベースの変換係数を復号するように構成された装置であって、
    符号フラグ、有意性マップフラグ、1超フラグ、2超フラグ、およびレベル残存値を符号化ビデオビットストリーム中で受信することと、
    変換係数のチャンクにおける変換係数について、前記有意性マップフラグを復号することと、ここで、前記有意性マップフラグは、特定の変換係数がゼロよりも大きい絶対値を有するかどうかを示す、
    前記チャンクにおける変換係数について、前記符号フラグを復号することと、ここで、前記符号フラグは、前記特定の変換係数の符号を示す、
    前記有意性マップフラグによってゼロよりも大きい絶対値を有することが示された変換係数の前記チャンクにおける変換係数について、1超フラグを符号化することと、ここで、前記1超フラグは、前記特定の変換係数が1よりも大きい絶対値を有するかどうかを示す、
    前記1超フラグによって1よりも大きい絶対値を有することが示された前記チャンクにおける逆方向スキャン順序中の最初のN個の変換係数について、前記2超フラグを復号することと、ここで、前記2超フラグは、前記特定の変換係数が2よりも大きい絶対値を有するかどうかを示し、Nは、前記チャンクにおける変換係数の最大数よりも小さい、
    前記チャンクにおける変換係数について、前記レベル残存値を復号することと
    を行うように構成されたビデオコーダを備え、前記レベル残存値は、前記特定の変換係数が2よりも大きい絶対値を有することを示すコード化2超フラグを有する前記チャンクにおける変換係数については、対応する係数の前記絶対値から3を差し引いた値を表し、
    前記レベル残存値は、前記特定の変換係数が1よりも大きい絶対値を有することを示すコード化1超フラグを有するが、前記2超フラグがコーディングされていない前記チャンクにおける変換係数については、対応する係数の前記絶対値から2を差し引いた値を表し、
    前記有意性マップフラグ、前記1超フラグ、および前記2超フラグは、適応コンテキストモデルによりコンテキスト適応型バイナリ算術コーディング(CABAC)を使用してコーディングされ、前記レベル残存値は、CABACバイパスモードでコーディングされ、前記符号フラグは、CABACバイパスモードでコーディングされる、装置。
JP2014552197A 2012-01-17 2012-12-11 Cabac係数レベルコーディングのためのスループット改善 Active JP6113752B2 (ja)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201261587624P 2012-01-17 2012-01-17
US61/587,624 2012-01-17
US201261589290P 2012-01-20 2012-01-20
US61/589,290 2012-01-20
US201261591772P 2012-01-27 2012-01-27
US61/591,772 2012-01-27
US201261606347P 2012-03-02 2012-03-02
US61/606,347 2012-03-02
US201261622785P 2012-04-11 2012-04-11
US61/622,785 2012-04-11
US13/710,212 2012-12-10
US13/710,212 US9191670B2 (en) 2012-01-17 2012-12-10 Throughput improvement for CABAC coefficient level coding
PCT/US2012/068997 WO2013109357A1 (en) 2012-01-17 2012-12-11 Throughput improvement for cabac coefficient level coding

Publications (3)

Publication Number Publication Date
JP2015507424A JP2015507424A (ja) 2015-03-05
JP2015507424A5 JP2015507424A5 (ja) 2016-01-14
JP6113752B2 true JP6113752B2 (ja) 2017-04-12

Family

ID=48779948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014552197A Active JP6113752B2 (ja) 2012-01-17 2012-12-11 Cabac係数レベルコーディングのためのスループット改善

Country Status (25)

Country Link
US (1) US9191670B2 (ja)
EP (1) EP2805487B1 (ja)
JP (1) JP6113752B2 (ja)
KR (1) KR101772740B1 (ja)
CN (1) CN104054341B (ja)
AR (1) AR092787A1 (ja)
AU (1) AU2012366197B2 (ja)
BR (1) BR112014017364B1 (ja)
CA (1) CA2860804C (ja)
DK (1) DK2805487T3 (ja)
ES (1) ES2608595T3 (ja)
HK (1) HK1198233A1 (ja)
HU (1) HUE031071T2 (ja)
IL (1) IL233262B (ja)
MX (1) MX2014008625A (ja)
MY (1) MY168364A (ja)
PH (1) PH12014501478B1 (ja)
PL (1) PL2805487T3 (ja)
PT (1) PT2805487T (ja)
RU (1) RU2611992C2 (ja)
SG (1) SG11201403382VA (ja)
SI (1) SI2805487T1 (ja)
TW (1) TWI561061B (ja)
WO (1) WO2013109357A1 (ja)
ZA (1) ZA201406024B (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0846131A (ja) * 1994-08-02 1996-02-16 Sony Corp リードフレーム及びワイヤボンディング装置
KR20120035096A (ko) * 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
MX346677B (es) * 2011-11-04 2017-03-29 Sharp Kk * Dispositivo de decodificacion aritmetica, dispositivo de decodificacion de imagenes, dispositivo de codificacion aritmetica, dispositivo de codificacion de imagenes y metodo de decodificacion aritmetica.
US20130188736A1 (en) 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing for cabac in hevc
US9860527B2 (en) * 2012-01-19 2018-01-02 Huawei Technologies Co., Ltd. High throughput residual coding for a transform skipped block for CABAC in HEVC
US10616581B2 (en) 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
US9036710B2 (en) * 2012-03-08 2015-05-19 Blackberry Limited Unified transform coefficient encoding and decoding
US8891888B2 (en) * 2012-09-05 2014-11-18 Google Inc. Entropy coding for recompression of images
US9955163B2 (en) * 2013-06-17 2018-04-24 Google Llc Two pass quantization of video data
US9648350B2 (en) * 2013-07-22 2017-05-09 Texas Instruments Incorporated Method and apparatus for decoding a progressive JPEG image
KR102250088B1 (ko) * 2013-10-24 2021-05-10 삼성전자주식회사 비디오 스트림을 복호화하는 방법 및 장치
GB201321851D0 (en) 2013-12-10 2014-01-22 Canon Kk Run length parameters coding for palette mode
US10142636B2 (en) * 2014-06-09 2018-11-27 Sony Corporation Communication system with coding mechanism and method of operation thereof
US11233998B2 (en) 2015-05-29 2022-01-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
EP3292690B1 (en) 2015-06-23 2020-05-06 MediaTek Singapore Pte Ltd. Method and apparatus for transform coefficient coding of non-square blocks
WO2017041271A1 (en) * 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Efficient context modeling for coding a block of data
KR20180040515A (ko) * 2015-09-10 2018-04-20 삼성전자주식회사 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법
AU2018252853A1 (en) * 2017-04-13 2019-12-05 Lg Electronics Inc. Image encoding/decoding method and device therefor
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10484695B2 (en) 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
US10607373B2 (en) 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US10645381B2 (en) 2018-04-30 2020-05-05 Google Llc Intra-prediction for smooth blocks in image/video
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11202098B2 (en) 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
US11170481B2 (en) * 2018-08-14 2021-11-09 Etron Technology, Inc. Digital filter for filtering signals
US11483575B2 (en) * 2018-08-24 2022-10-25 Hfi Innovation Inc. Coding transform coefficients with throughput constraints
KR102542001B1 (ko) * 2018-09-11 2023-06-13 엘지전자 주식회사 레지듀얼 코딩 방법 및 그 장치
MX2021003245A (es) * 2018-09-20 2021-05-12 Lg Electronics Inc Metodo de codificacion de nivel del factor de conversion y dispositivo del mismo.
US11006150B2 (en) * 2018-09-24 2021-05-11 Tencent America LLC Method and apparatus for video coding
EP3857882A1 (en) * 2018-09-24 2021-08-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Efficient coding of transform coefficients using or suitable for a combination with dependent scalar quantization
US11367224B2 (en) 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
KR102661961B1 (ko) * 2018-10-05 2024-05-10 티씨엘 킹 일렉트리컬 어플라이언시스 (후이저우) 컴퍼니 리미티드 변환 계수 코딩 방법 및 장치
CN112840655B (zh) * 2018-10-08 2023-12-01 寰发股份有限公司 图像与视频编解码中最后有效系数的编解码方法及装置
US11470329B2 (en) * 2018-12-26 2022-10-11 Tencent America LLC Method and apparatus for video coding
US10798397B2 (en) * 2019-01-02 2020-10-06 Tencent America LLC Method and apparatus for video coding
CN117915089A (zh) * 2019-01-12 2024-04-19 Oppo广东移动通信有限公司 在图像编译***中使用残差信息的图像解码方法及其装置
CN113316934B (zh) * 2019-01-25 2024-03-08 寰发股份有限公司 带有变换块级别约束的变换系数编码的方法和设备
WO2020172668A1 (en) * 2019-02-24 2020-08-27 Tencent America LLC Improved residual coding for transform skip mode and block differential pulse-code modulation
EP3939285A1 (en) * 2019-03-12 2022-01-19 InterDigital VC Holdings, Inc. Flexible allocation of regular bins in residual coding for video coding
US11057564B2 (en) 2019-03-28 2021-07-06 Apple Inc. Multiple layer flexure for supporting a moving image sensor
US11418790B2 (en) * 2019-06-28 2022-08-16 Qualcomm Incorporated Arithmetic coding with selective adaptation for video coding
US11711544B2 (en) 2019-07-02 2023-07-25 Apple Inc. Point cloud compression with supplemental information messages
US11627314B2 (en) 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11562507B2 (en) 2019-09-27 2023-01-24 Apple Inc. Point cloud compression using video encoding with time consistent patches
US11538196B2 (en) 2019-10-02 2022-12-27 Apple Inc. Predictive coding for point cloud compression
US11398833B2 (en) * 2019-10-02 2022-07-26 Apple Inc. Low-latency encoding using a bypass sub-stream and an entropy encoded sub-stream
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
WO2021118310A1 (ko) * 2019-12-13 2021-06-17 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11475605B2 (en) 2020-01-09 2022-10-18 Apple Inc. Geometry encoding of duplicate points
US11468601B2 (en) 2020-01-13 2022-10-11 Samsung Display Co., Ltd. Systems and methods for scalable throughput entropy coder
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
WO2022232061A1 (en) * 2021-04-26 2022-11-03 Innopeak Technology, Inc. Bypass alignment in video coding

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6900748B2 (en) 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
JP2005184232A (ja) 2003-12-17 2005-07-07 Sony Corp 符号化装置、プログラム、およびデータ処理方法
KR100612015B1 (ko) 2004-07-22 2006-08-11 삼성전자주식회사 컨텍스트 적응형 이진 산술 부호화 방법 및 그 장치
US7525456B2 (en) 2005-04-15 2009-04-28 Qpixel Technology, Inc. Methods for adaptively selecting entropy encoding modes
US7061410B1 (en) 2005-07-18 2006-06-13 Lsi Logic Corporation Method and/or apparatus for transcoding between H.264 CABAC and CAVLC entropy coding modes
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
CN101933331B (zh) 2007-09-06 2014-04-09 日本电气株式会社 视频编码装置、视频编码方法、视频解码方法
US8891615B2 (en) * 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
KR101375668B1 (ko) * 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
CN101677399B (zh) 2008-09-18 2014-07-09 香港科技大学 基于流密码的安全编码方案的多媒体内容编码方法和***
EP2182732A1 (en) 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
EP2559166B1 (en) * 2010-04-13 2017-11-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
CN114143553A (zh) 2010-04-13 2022-03-04 Ge视频压缩有限责任公司 显著性图和变换系数块的编码
US9154801B2 (en) 2010-09-30 2015-10-06 Texas Instruments Incorporated Method and apparatus for diagonal scan and simplified coding of transform coefficients
CN102256125B (zh) * 2011-07-14 2013-06-05 北京工业大学 面向高效视频编码hevc基于上下文的自适应算数编码方法

Also Published As

Publication number Publication date
CA2860804A1 (en) 2013-07-25
RU2014133791A (ru) 2016-03-20
CN104054341B (zh) 2017-08-01
PH12014501478A1 (en) 2014-09-22
EP2805487B1 (en) 2016-09-21
AR092787A1 (es) 2015-05-06
CN104054341A (zh) 2014-09-17
JP2015507424A (ja) 2015-03-05
PH12014501478B1 (en) 2014-09-22
ZA201406024B (en) 2017-09-27
EP2805487A1 (en) 2014-11-26
IL233262B (en) 2018-02-28
ES2608595T3 (es) 2017-04-12
SI2805487T1 (sl) 2016-12-30
TWI561061B (en) 2016-12-01
HK1198233A1 (en) 2015-03-13
US20130182757A1 (en) 2013-07-18
CA2860804C (en) 2019-03-26
PT2805487T (pt) 2016-12-28
SG11201403382VA (en) 2014-09-26
AU2012366197B2 (en) 2017-04-13
IL233262A0 (en) 2014-08-31
BR112014017364A2 (pt) 2017-06-13
US9191670B2 (en) 2015-11-17
TW201342925A (zh) 2013-10-16
DK2805487T3 (en) 2016-12-12
RU2611992C2 (ru) 2017-03-01
MX2014008625A (es) 2014-08-21
KR101772740B1 (ko) 2017-08-29
BR112014017364A8 (pt) 2017-07-04
MY168364A (en) 2018-10-31
HUE031071T2 (en) 2017-06-28
WO2013109357A1 (en) 2013-07-25
AU2012366197A1 (en) 2014-08-07
PL2805487T3 (pl) 2017-03-31
BR112014017364B1 (pt) 2022-07-19
KR20140119736A (ko) 2014-10-10

Similar Documents

Publication Publication Date Title
JP6113752B2 (ja) Cabac係数レベルコーディングのためのスループット改善
JP6542400B2 (ja) 係数走査のための係数グループおよび係数コーディング
JP6445001B2 (ja) ビデオコーディングプロセスにおける係数レベルコーディングのためのライスパラメータ初期化
JP5847957B2 (ja) コンテキスト適応型バイナリ算術コード化のためのコンテキスト削減
JP6174123B2 (ja) ビデオコーディングにおける量子化パラメータ(qp)コーディング
JP5886440B2 (ja) イントラ予測ビデオコーディングにおける非正方形変換
JP5922244B2 (ja) ビデオコーディングにおいて適応ループフィルタとマージされたサンプル適応オフセット
JP6162150B2 (ja) ビデオコーディング用の残差4分木(rqt)コーディング
JP6105048B2 (ja) ビデオコーディングのための変換係数のコーディングにおけるグループフラグ
JP5833249B2 (ja) ビデオコーディングのための適応的な中心帯域オフセットフィルタ
JP5917705B2 (ja) ビデオコーディングのためのバイナリ算術コーダにおける状態のマッピング
JP5869115B2 (ja) ビデオ圧縮における係数レベルコーディングのコンテキスト
WO2014005092A1 (en) Sign hiding techniques for quantized transform coefficients in video coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170117

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170315

R150 Certificate of patent or registration of utility model

Ref document number: 6113752

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250