[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2018506912A - 大きいコーディングツリーユニットのためのコンテキスト - Google Patents

大きいコーディングツリーユニットのためのコンテキスト Download PDF

Info

Publication number
JP2018506912A
JP2018506912A JP2017539277A JP2017539277A JP2018506912A JP 2018506912 A JP2018506912 A JP 2018506912A JP 2017539277 A JP2017539277 A JP 2017539277A JP 2017539277 A JP2017539277 A JP 2017539277A JP 2018506912 A JP2018506912 A JP 2018506912A
Authority
JP
Japan
Prior art keywords
depth
context
current
coding
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017539277A
Other languages
English (en)
Other versions
JP6462886B2 (ja
JP2018506912A5 (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 JP2018506912A publication Critical patent/JP2018506912A/ja
Publication of JP2018506912A5 publication Critical patent/JP2018506912A5/ja
Application granted granted Critical
Publication of JP6462886B2 publication Critical patent/JP6462886B2/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)

Abstract

一例では、ビデオデータをコーディングする方法は、エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、現在CUに関連するシンタックス要素のためのコンテキストを選択することを含み得る。シンタックス要素は、現在CUがサブCUにスプリットされるかどうかを表し得る。本方法は、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングすることを含み得る。【選択図】図4

Description

[0001] 本出願は、その全体が参照により本明細書に組み込まれる、2015年1月27日に出願された米国仮特許出願第62/108,465号の利益を主張する。
[0002] 本開示はビデオコーディングに関する。
[0003] デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part10,アドバンストビデオコーディング(AVC:Advanced Video Coding)、ITU−T H.265,高効率ビデオコーディング(HEVC:High Efficiency Video Coding)によって定義された規格、およびそのような規格の拡張に記載されるビデオ圧縮技法などのビデオ圧縮技法を実施する。ビデオデバイスは、そのようなビデオ圧縮技法を実施することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004] ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部分)がビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005] 空間予測または時間予測は、コーディングされるべきブロックのための予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に2次元アレイで構成される量子化係数は、係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
[0006] 本開示の技法はビデオコーディングに関する。例えば、本開示で説明される技法は、エントロピーコーディングプロセスを行うことによってビデオデータのブロックを符号化または復号するための1つまたは複数の技法を含み得る。例えば、本明細書で説明される1つまたは複数の技法は、コーディングユニット(CU)に対する空間的に隣接するCUの情報またはCUに対する時間的に隣接するCUの情報のうちの少なくとも1つに基づいて、CUに関連するシンタックス要素のコンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)コンテキストモデリングを行うことを含み得る。
[0007] 一例では、本開示は、エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、現在CUに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、シンタックス要素は、現在CUがサブCUにスプリットされるかどうかを表す、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングすることとを備える、ビデオデータをコーディングする方法について説明する。
[0008] 別の例では、本開示は、ビデオデータを記憶するように構成されたメモリと、メモリと通信しているビデオコーダとを備え、ここにおいて、ビデオコーダは、エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、メモリに記憶された現在CUに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、シンタックス要素は、現在CUがサブCUにスプリットされるかどうかを表す、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングすることとを行うように構成された、ビデオデータをコーディングするためのデバイスについて説明する。
[0009] 別の例では、本開示は、エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、現在CUに関連するシンタックス要素のためのコンテキストを選択するための手段と、ここにおいて、シンタックス要素は、現在CUがサブCUにスプリットされるかどうかを表す、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングするための手段とを備える、ビデオデータをコーディングするための装置について説明する。
[0010] 別の例では、本開示は、実行されたとき、1つまたは複数のプロセッサに、エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、現在CUに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、シンタックス要素は、現在CUがサブCUにスプリットされるかどうかを表す、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングすることとを行わせる命令を記憶した非一時的コンピュータ可読記憶媒体について説明する。
[0011] 本開示の1つまたは複数の例の詳細が添付の図面および以下の説明に記載される。本開示の他の特徴、目的、および利点は、説明および図面、並びに特許請求の範囲から明らかになろう。
本開示で説明される技法を利用し得る例示的なビデオコーディングシステムを示すブロック図。 本開示で説明される技法を実施し得る例示的なビデオエンコーダを示すブロック図。 本開示で説明される技法を実施し得る例示的なビデオデコーダを示すブロック図。 本開示の技法に従ってビデオデータをコーディングするための例示的なプロセスを示すフローチャート。 本開示の技法に従ってビデオデータを復号するための例示的なプロセスを示すフローチャート。 本開示の技法に従ってビデオデータを符号化するための例示的なプロセスを示すフローチャート。
[0018] 本開示の技法は、一般に、ビデオコーディングおよびビデオ圧縮に関する。より詳細には、本開示は、例えば、大きいコーディングツリーユニット(CTU:coding tree unit)のコーディングがサポートされるときの、ブロックベースのビデオコーディングにおけるシンタックス要素のシグナリングに関する。例えば、本開示は、CTUに関係するシンタックス要素をコーディングするための技法について説明する。別の例として、本開示は、シンタックス要素をエントロピーコーディングするための技法について説明する。別の例として、本開示は、シンタックス要素の2値化、コンテキストモデリング、および算術コーディングに関係する技法について説明する。また別の例として、本開示は、コンテキスト適応型バイナリ算術コーディング(CABAC)などのエントロピーコーディングプロセスを使用する、シンタックス要素の2値化、コンテキストモデリング、および算術コーディングに関係する技法について説明する。本開示の技法は、既存のビデオコーデックまたはビデオコーディング規格(例えば、ITU−T H.265,HEVC)に適用され得るか、あるいは、将来のビデオコーデックまたはビデオコーディング規格において適用され得る。
[0019] コンテキスト適応型バイナリ算術コーディング(CABAC)は、最初にH.264/AVCにおいて導入され、現在、最も新しいHEVC規格において使用されるエントロピーコーディングの方法である。CABACは、概して、3つの主要な機能、すなわち、2値化、コンテキストモデリング、および算術コーディングを伴う。2値化は、ビンストリングと呼ばれることもあるバイナリシンボル(ビン)にシンタックス要素をマッピングする。コンテキストモデリングは、ビンの確率を推定する。コンテキストモデリングプロセスの一部として、ビデオコーダは、各ビンについてコンテキストモデルを選択するか、または。コンテキストモデルは確率を表す。異なるビンについて異なるコンテキストモデルが選択され得る。算術コーディングは、推定された確率に基づいてビンをビットに圧縮する。言い換えれば、算術コーディングは、各ビンに対応する選択されたコンテキストモデルに基づいてビンをビットに圧縮する。
[0020] 本開示の技法は、シンタックス要素をコーディングするビットストリーム効率を改善し得る。例えば、本開示の技法は、CTUおよびコーディングユニット(CU)に関係するシンタックス要素をコーディングするビットストリーム効率を改善し得る。別の例として、本開示の技法は、特に、CABACコーディング効率を改善し得る。別の例として、本開示の技法は、特に、例えば、大きいCTUサイズが可能にされるときの、CTUおよびCUに関係するシンタックス要素のCABACコーディング効率を改善し得る。
[0021] 図1は、本開示の技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書で使用される「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指すことがある。同様に、「コーディング」という用語は、符号化または復号を総称的に指すことがある。例えば、エントロピーコーディングへの言及は、エントロピー符号化またはエントロピー復号を指すことがある。ビデオコーディングシステム10のビデオエンコーダ20およびビデオデコーダ30は、本開示の1つまたは複数の技法を行うように構成され得るデバイスの例を表す。例えば、ビデオエンコーダ20およびビデオデコーダ30は、本開示で説明される様々な例による、CTUおよびCUに関係するデータをコーディングするための技法を行うように構成され得る。一例として、ビデオエンコーダ20およびビデオデコーダ30は、CTUサイズを限定し、並びに/あるいは、CTUおよび/またはCUに関係するシンタックス要素のためのCABACコンテキストモデリングを行うように構成され得る。
[0022] ビデオエンコーダ20および/またはビデオデコーダ30は、本開示で説明される技法に従って動作するように構成され得る。ビデオデコーダ30は、本明細書で説明されるビデオエンコーダ20のプロセスとは概して逆のプロセスを行うように構成され得る。同様に、ビデオエンコーダ20は、本明細書で説明されるビデオデコーダ30のプロセスとは概して逆のプロセスを行うように構成され得る。
[0023] 本明細書で説明される技法は、それぞれ図1〜図3に示されるビデオエンコーダ20および/またはビデオデコーダ30によって行われ得る。本明細書で説明される技法の全てが、個々にまたは任意の組合せで使用され得ることを理解されたい。例えば、ビデオエンコーダ20および/またはそれの1つまたは複数の構成要素並びにビデオデコーダ30および/またはそれの1つまたは複数の構成要素は、本開示で説明される技法を任意の組合せで行い得る。別の例として、ビデオエンコーダ20および/またはビデオデコーダ30は、エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、現在CUに関連するシンタックス要素のためのコンテキストを選択するように構成され得る。シンタックス要素は、現在CUがサブCUにスプリットされるかどうかを表し得る。この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングするように構成され得る。本明細書で使用されるCU深度は、CUの4分木深度を指すことがある。例えば、現在CUのCU深度は、現在CUの4分木深度を指すことがあり、隣接ブロック(例えば、隣接CU)のCU深度は、隣接ブロックの4分木深度を指すことがある。別の例として、それぞれ図1〜図3に示されるビデオエンコーダ20および/またはビデオデコーダ30は、それぞれ、図4〜図6に示される1つまたは複数のステップを任意の組合せで行い、および/または、図示されないことがある、図4〜図6に関して説明される任意のステップを行うように構成され得る。
[0024] 図1に示されるように、ビデオコーディングシステム10は、ソースデバイス12と宛先デバイス14とを含む。ソースデバイス12は、符号化ビデオデータを生成する。従って、ソースデバイス12は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス14は、ソースデバイス12によって生成された符号化ビデオデータを復号し得る。従って、宛先デバイス14は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。ソースデバイス12および宛先デバイス14は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
[0025] ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲にわたるデバイスを備え得る。
[0026] 宛先デバイス14は、チャネル16を介してソースデバイス12から符号化ビデオデータを受信し得る。チャネル16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体および/あるいは1つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル16は、ソースデバイス12が符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にする1つまたは複数の通信媒体を備え得る。この例では、ソースデバイス12は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス14に送信し得る。1つまたは複数の通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、ワイヤレスおよび/またはワイヤード通信媒体を含み得る。1つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(例えば、インターネット)など、パケットベースネットワークの一部を形成し得る。1つまたは複数の通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にする、ルータ、スイッチ、基地局、または他の機器を含み得る。
[0027] 別の例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス14は、例えば、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、または符号化ビデオデータを記憶するための他の好適なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
[0028] さらなる一例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶するファイルサーバまたは別の中間記憶デバイスを含み得る。この例では、宛先デバイス14は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間記憶デバイスに記憶された、符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイス14に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、(例えば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、およびローカルディスクドライブがある。
[0029] 宛先デバイス14は、インターネット接続などの標準的なデータ接続を通して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続としては、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、またはその両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
[0030] 本開示の技法はワイヤレス適用例または設定に限定されない。本開示の技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えば、インターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶された符号化ビデオデータの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0031] 図1に示されるビデオコーディングシステム10は、一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定(例えば、ビデオ符号化またはビデオ復号)に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスがデータを符号化し、メモリに記憶し得、および/またはビデオ復号デバイスがメモリからデータを取り出し、復号し得る。多くの例では、符号化および復号は、互いに通信しないが、単にメモリにデータを符号化し、および/またはメモリからデータを取り出し、復号するデバイスによって行われる。
[0032] 図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。いくつかの例では、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ビデオソース18は、ビデオキャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および/またはビデオデータを生成するためのコンピュータグラフィクスシステム、あるいはビデオデータのそのようなソースの組合せを含み得る。
[0033] ビデオエンコーダ20は、ビデオソース18からのビデオデータを符号化し得る。いくつかの例では、ソースデバイス12は、出力インターフェース22を介して宛先デバイス14に符号化ビデオデータを直接送信する。他の例では、符号化ビデオデータは、復号および/または再生のための宛先デバイス14による後のアクセスのために記憶媒体またはファイルサーバ上にも記憶され得る。
[0034] 図1の例では、宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。いくつかの例では、入力インターフェース28は受信機および/またはモデムを含む。入力インターフェース28は、チャネル16を介して符号化ビデオデータを受信し得る。チャネル16を介して通信され、またはストレージデバイス26によって与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30など、ビデオデコーダが使用するためのビデオエンコーダ20によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバ記憶された符号化ビデオデータに含まれ得る。
[0035] ディスプレイデバイス32は、宛先デバイス14と一体化され得るかまたはその外部にあり得る。概して、ディスプレイデバイス32は復号ビデオデータを表示する。ディスプレイデバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスを備え得る。
[0036] ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、あるいはそれらの任意の組合せとして実施され得る。本技法が部分的にソフトウェアで実施される場合、デバイスは、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、本開示の技法を行うために1つまたは複数のプロセッサを使用してその命令をハードウェアで実行し得る。(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む)上記のいずれも、1つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0037] 本開示では、概して、ビデオエンコーダ20が、ある情報をビデオデコーダ30などの別のデバイスに「シグナリングすること」または「送信すること」に言及することがある。「シグナリングすること」または「送信すること」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックス要素および/または他のデータの通信を指すことがある。そのような通信は、リアルタイムまたはほぼリアルタイムに行われ得る。代替的に、そのような通信は、符号化時に符号化ビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われることがあるなど、ある時間期間にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。従って、ビデオデコーダ30は、ある情報を「受信する」ものと呼ばれることがあるが、情報の受信は、必ずしもリアルタイムまたはほぼリアルタイムで行われるとは限らず、記憶の後の何らかの時間に媒体から取り出されることがある。
[0038] いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、上記で述べられ、HEVCドラフト10に記載されるHEVC規格など、ビデオ圧縮規格に従って動作する。ベースHEVC規格に加えて、HEVCのためのスケーラブルビデオコーディング拡張、マルチビュービデオコーディング拡張、および3Dコーディング拡張を作成するための作業が進行中である。
[0039] HEVCおよび他のビデオコーディング規格では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、SL、SCbおよびSCrと示される3つのサンプルアレイを含み得る。SLはルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbはCbクロミナンスサンプルの2次元アレイである。SCrはCrクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであり得、ルーマサンプルのアレイのみを含み得る。
[0040] ピクチャの符号化表現を生成するために、ビデオエンコーダ20はCTUのセットを生成し得る。CTUの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造であり得る。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは「ツリーブロック」または「最大コーディングユニット」(LCU:largest coding unit)と呼ばれることもある。HEVCのCTUは、H.264/AVCなど、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のCUを含み得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、CUは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。スライスは、ラスタ走査において連続的に順序付けられた整数個のCTUを含み得る。
[0041] いくつかの例では、CUは、コーディングノードと、コーディングノードに関連する1つまたは複数の予測ユニット(PU)および/または変換ユニット(TU)とを含み得る。CUのサイズは、コーディングノードのサイズに対応し得、形状が正方形であり得る。CUのサイズは、例えば、8×8ピクセルから最大64×64ピクセル以上をもつツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含んでいることがある。CUに関連するシンタックスデータは、例えば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。PUは、形状が正方形または非正方形になるように区分され得る。CUに関連するシンタックスデータは、例えば、4分木に従ってCUを1つまたは複数のTUに区分することをも記述し得る。TUは、形状が正方形または非正方形であり得る。
[0042] 概して、PUは、予測プロセスに関係するデータを含み得る。例えば、PUがイントラモード符号化されるとき、PUは、PUのためのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための動きベクトルを定義するデータを含み得る。PUのための動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての解像度(例えば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルのための参照ピクチャリスト(例えば、リスト0、リスト1、またはリストC)を記述し得る。
[0043] 概して、TUは、変換プロセスと量子化プロセスとのために使用され得る。1つまたは複数のPUを有する所与のCUは、1つまたは複数の変換ユニット(TU)をも含み得る。予測の後に、ビデオエンコーダ20は、PUに対応する残差値を計算し得る。残差値はピクセル差分値を備え得、ピクセル差分値は、エントロピーコーディングのためのシリアル化変換係数(serialized transform coefficient)を生成するためにTUを使用して変換係数に変換され、量子化され、走査され得る。
[0044] 本開示は、1つまたは複数のサンプルブロックと、サンプルの1つまたは複数のブロックのサンプルをコーディングするために使用されるシンタックス構造とを指すために、「ビデオユニット」、「ビデオブロック」、「コーディングブロック」、または「ブロック」という用語を使用し得る。例示的なタイプのビデオユニットまたはブロックは、コーディングツリーユニット(CTU)、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、マクロブロック(MB)、マクロブロックパーティションなどを含み得る。いくつかのコンテキストでは、PUの説明は、マクロブロックまたはマクロブロックパーティションの説明と交換され得る。
[0045] いくつかの例では、動き情報のセットは、ビデオデータの各ブロックのために利用可能であり得る。動き情報のセットは、前方予測方向および後方予測方向についての動き情報を含み得る。前方予測方向および後方予測方向は、双方向予測モードの2つの予測方向であり得る。前方予測方向および後方予測方向は、単方向予測モードの2つの予測方向のうちの1つであり得る。「前方」および「後方」という用語は、必ずしも幾何学的な意味を有するとは限らず、代わりに、それらは、例えば、現在ピクチャの参照ピクチャリスト0(RefPicList0)および参照ピクチャリスト1(RefPicList1)に対応する。1つの参照ピクチャリストのみがピクチャまたはスライスのために利用可能であるとき、RefPicList0のみが利用可能であり得、ピクチャまたはスライスの各ブロックの動き情報は前方であり得る。
[0046] 各予測方向(例えば、前方または後方)について、動き情報は、予測方向と、参照インデックスと、動きベクトルとを含んでいることがある。いくつかの例では、簡単のために、動きベクトル自体は、それが、関連する参照インデックスを有すると仮定されるように言及され得る。参照インデックスは、現在参照ピクチャリスト(例えば、RefPicList0またはRefPicList1)中の参照ピクチャを識別するために使用される。動きベクトルは、水平成分と垂直成分とを有し得る。
[0047] 本明細書で説明されるビデオブロックは、固定サイズまたは変動サイズを有し得、指定されたコーディング規格に応じてサイズが異なり得る。一例として、特定のCUのサイズは2N×2Nであり得る。そのような例では、ビデオエンコーダ20は、2N×2NまたはN×Nのサイズを有するPUについてのイントラ予測を行うように構成され得、2N×2N、2N×N、N×2N、またはN×Nのサイズを有するPUについてのインター予測を行うように構成され得る。他の例では、PUの利用可能なサイズは、同じであることも異なることもある。
[0048] 本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、例えば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ここで、Nは正の整数値を表す。ブロック中のピクセルは行および列に配列され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。例えば、ブロックはN×Mピクセルを備え得、ここで、MはNに等しいことも等しくないこともあり、ここで、Mは正の整数値である。
[0049] 図1を参照すると、コード化CTUを生成するために、ビデオエンコーダ20は、コーディングツリーブロックをコーディングブロックに分割するためにCTUのコーディングツリーブロックに対して4分木区分を再帰的に行い得、従って「コーディングツリーユニット」という名称がある。コーディングブロックはサンプルのN×N(またはN×M)ブロックであり得る。CUは、ルーマサンプルアレイ、CbサンプルアレイおよびCrサンプルアレイを有するピクチャの、ルーマサンプルのコーディングブロックと、クロマサンプルの2つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とであり得る。ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数のPUに区分し得る。PUは、同じ予測技法が適用されるサンプルの正方形または非正方形ブロックであり得る。CUのPUは、ピクチャの、ルーマサンプルの予測ブロックと、クロマサンプルの2つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とであり得る。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロックとCb予測ブロックとCr予測ブロックとのための予測ルーマブロックと予測Cbブロックと予測Crブロックとを生成し得る。
[0050] ビデオエンコーダ20は、PUのための予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ20がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUに関連するピクチャの復号サンプルに基づいてPUの予測ブロックを生成し得る。
[0051] ビデオエンコーダ20が、PUの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、PUに関連するピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測ブロックを生成し得る。ビデオエンコーダ20は、PUの予測ブロックを生成するために単予測または双予測を使用し得る。ビデオエンコーダ20が、PUのための予測ブロックを生成するために単予測を使用するとき、PUは単一の動きベクトル(MV:motion vector)を有し得る。ビデオエンコーダ20が、PUのための予測ブロックを生成するために双予測を使用するとき、PUは2つのMVを有し得る。
[0052] ビデオエンコーダ20がCUの1つまたは複数のPUのための予測ブロック(例えば、予測ルーマブロック、予測Cbブロックおよび予測Crブロック)を生成した後、ビデオエンコーダ20は、CUのための残差ブロックを生成し得る。CUの残差ブロック中の各サンプルは、CUのPUの予測ブロック中のサンプルとCUのコーディングブロック中の対応するサンプルとの間の差分を示し得る。例えば、ビデオエンコーダ20はCUのためのルーマ残差ブロックを生成し得る。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックのうちの1つ中のルーマサンプルとCUの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ20はCUのためのCb残差ブロックを生成し得る。CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックのうちの1つ中のCbサンプルとCUの元のCbコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はCUのためのCr残差ブロックをも生成し得る。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックのうちの1つ中のCrサンプルとCUの元のCrコーディングブロック中の対応するサンプルとの間の差分を示し得る。
[0053] ビデオエンコーダ20は、CUの残差ブロック(例えば、ルーマ残差ブロック、Cb残差ブロックおよびCr残差ブロック)を1つまたは複数の変換ブロック(例えば、ルーマ変換ブロック、Cb変換ブロックおよびCr変換ブロック)に分解するために4分木区分を使用し得る。本明細書で使用されるCU深度は、CUの4分木深度を指すことがある。例えば、現在CUのCU深度は、現在CUの4分木深度を指すことがあり、隣接ブロック(例えば、隣接CU)のCU深度は、隣接ブロックの4分木深度を指すことがある。変換ブロックは、同じ変換が適用されるサンプルのブロックであり得る。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とであり得る。従って、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに関連し得る。TUに関連するルーマ変換ブロックはCUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックはCUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックはCUのCr残差ブロックのサブブロックであり得る。
[0054] ビデオエンコーダ20は、TUのための係数ブロックを生成するために、変換ブロックに1つまたは複数の変換を適用し得る。係数ブロックは変換係数の2次元アレイであり得る。変換係数はスカラー量であり得る。例えば、ビデオエンコーダ20は、TUのためのルーマ係数ブロックを生成するために、TUのルーマ変換ブロックに1つまたは複数の変換を適用し得る。ビデオエンコーダ20は、TUのためのCb係数ブロックを生成するために、TUのCb変換ブロックに1つまたは複数の変換を適用し得る。ビデオエンコーダ20は、TUのためのCr係数ブロックを生成するために、TUのCr変換ブロックに1つまたは複数の変換を適用し得る。
[0055] いくつかの例では、CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域においてピクセルデータを備え得、TUは、変換、例えば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、CUのための変換係数を生成するためにTUを変換し得る。
[0056] 係数ブロック(例えば、ルーマ係数ブロック、Cb係数ブロックまたはCr係数ブロック)を生成した後に、ビデオエンコーダ20は、ブロック中の係数を量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。ビデオエンコーダ20が係数ブロックを量子化した後に、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素をエントロピー符号化するように構成され得る。例えば、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を行い得る。ビデオエンコーダ20は、エントロピー符号化シンタックス要素をビットストリーム中に出力し得る。
[0057] ビデオエンコーダ20は、エントロピー符号化されたシンタックス要素を含むビットストリームを出力し得る。ビットストリームは、コード化ピクチャと関連データとの表現を形成するビットのシーケンスを含み得る。ビットストリームは、ネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットのシーケンスを備え得る。NALユニットの各々はNALユニットヘッダを含み、ローバイトシーケンスペイロード(RBSP:raw byte sequence payload)をカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの事例では、RBSPは0ビットを含む。
[0058] 異なるタイプのNALユニットは、異なるタイプのRBSPをカプセル化し得る。例えば、第1のタイプのNALユニットはピクチャパラメータセット(PPS:picture parameter set)のためのRBSPをカプセル化し得、第2のタイプのNALユニットはコード化スライスのためのRBSPをカプセル化し得、第3のタイプのNALユニットはSEIのためのRBSPをカプセル化し得、以下同様である。(パラメータセットおよびSEIメッセージのためのRBSPとは対照的に)ビデオコーディングデータのためのRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと呼ばれることがある。
[0059] ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。さらに、ビデオデコーダ30は、ビットストリームからシンタックス要素を復号するために、ビットストリームをパースし得る。ビデオデコーダ30は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ20によって行われるプロセスの逆であり得る。例えば、ビデオデコーダ30は、現在CUのインター予測PUのための予測ブロックを決定するためにPUのMVを使用し得る。同様に、ビデオデコーダ30は、現在CUのPUのもののためのイントラ予測ブロックを生成し得る。さらに、ビデオデコーダ30は、現在CUのTUに関連する変換係数ブロックを逆量子化し得る。ビデオデコーダ30は、現在CUのTUに関連する変換ブロックを再構成するために変換係数ブロックに対して逆変換を行い得る。ビデオデコーダ30は、現在CUのPUのための予測ブロックのサンプルを現在CUのTUの変換ブロックの逆量子化および逆変換から取得された対応する残差値に加算することによって、現在CUのコーディングブロックを再構成し得る。ピクチャの各CUのためのコーディングブロックを再構成することによって、ビデオデコーダ30はピクチャを再構成し得る。
[0060] いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序(例えば、水平、垂直、または任意の他の走査順序)を利用し得る。他の例では、ビデオエンコーダ20は適応型走査を行い得る。1次元ベクトルを形成するために量子化変換係数を走査した後に、ビデオエンコーダ20は、例えば、コンテキスト適応型可変長コーディング(CAVLC:context adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディングまたは別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0061] CABACを行うために、ビデオエンコーダ20は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当て得る。コンテキストは、例えば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを行うために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLC中のコードワードは、比較的より短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
[0062] ビデオエンコーダ20および/またはビデオデコーダ30は、本開示で説明される技法に従って動作するように構成され得る。概して、ビデオエンコーダ20および/またはビデオデコーダ30は、本明細書で説明される1つまたは複数の技法を任意の組合せで行うように構成され得る。いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、CTUおよびCUに関連する情報をコーディングすることに関係する、本開示の技法を行うように構成され得る。例えば、ビデオエンコーダ20およびビデオデコーダ30は、コーディングユニット(CU)に対する空間的に隣接するCUの情報またはCUに対する時間的に隣接するCUの情報のうちの少なくとも1つに基づいて、CUに関連するシンタックス要素のコンテキスト適応型バイナリ算術コーディング(CABAC)コンテキストモデリングを行い、モデル化されたコンテキストに基づいてシンタックス要素をCABACコーディングするように構成され得る。別の例では、ビデオエンコーダ20およびビデオデコーダ30は、CTUサイズが64×64よりも大きいと決定したことに応答して、CTUの最大CU深度および最小CU深度を備える制約のグループを決定し、制約のグループの少なくともいくつかに基づいてCTUをコーディングするように構成され得る。
[0063] 本開示の技法は、説明を簡単にするためにHEVC用語または他のビデオ規格用語を利用し得ることを理解されたい。ただし、本開示の技法は、HEVCまたは他のビデオ規格に限定されないことを理解されたい。本開示の技法は、過去か、現在か、将来かにかかわらず、HEVCの後継規格およびそれの拡張並びに他のビデオ規格において実施され得る。
[0064] 図2は、本開示の技法を実施し得る例示的なビデオエンコーダ20を示すブロック図である。図2は、説明の目的で与えられており、本開示において広く例示され、説明される技法を限定するものと見なされるべきではない。説明の目的で、本開示は、HEVCコーディングのコンテキストにおいてビデオエンコーダ20について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
[0065] ビデオエンコーダ20は、本開示で説明される様々な例による、CTUおよびCUのCABACコーディングを含む、CTUおよびCUをコーディングすることに関係する技法を行うように構成され得るデバイスの一例を表す。
[0066] 例えば、ビデオエンコーダ20は、コーディングユニット(CU)に対する空間的に隣接するCUの情報またはCUに対する時間的に隣接するCUの情報のうちの少なくとも1つに基づいて、CUに関連するシンタックス要素のコンテキスト適応型バイナリ算術コーディング(CABAC)コンテキストモデリングを行い、モデル化されたコンテキストに基づいてシンタックス要素をCABAC符号化するように構成され得る。
[0067] 別の例では、ビデオエンコーダ20は、CTUサイズが64×64よりも大きいと決定したことに応答して、CTUの最大CU深度および最小CU深度を備える制約のグループを決定し、制約のグループの少なくともいくつかに基づいてCTUを符号化するように構成され得る。
[0068] 図2の例では、ビデオエンコーダ20は、予測処理ユニット100と、ビデオデータメモリ101と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換処理ユニット110と、再構成ユニット112と、フィルタユニット114と、復号ピクチャバッファ116と、エントロピー符号化ユニット118とを含む。予測処理ユニット100は、インター予測処理ユニット120と、イントラ予測処理ユニット126とを含む。インター予測処理ユニット120は、動き推定ユニットと、動き補償ユニットとを含む(図示せず)。他の例では、ビデオエンコーダ20は、より多数の、より少数の、または異なる機能構成要素を含み得る。
[0069] ビデオデータメモリ101は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ101に記憶されるビデオデータは、例えば、ビデオソース18から取得され得る。復号ピクチャバッファ116は、例えば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ101および復号ピクチャバッファ116は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ101および復号ピクチャバッファ116は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ101は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
[0070] ビデオエンコーダ20はビデオデータを受信し得る。ビデオエンコーダ20はビデオデータのピクチャのスライス中の各CTUを符号化し得る。CTUの各々は、等しいサイズのルーマコーディングツリーブロック(CTB:coding tree block)と、ピクチャの対応するCTBとに関連し得る。CTUを符号化することの一部として、予測処理ユニット100は、CTUのCTBを徐々により小さいブロックに分割するために4分木区分を行い得る。より小さいブロックはCUのコーディングブロックであり得る。例えば、予測処理ユニット100は、CTUに関連するCTBを4つの等しいサイズのサブブロックに区分し、サブブロックのうちの1つまたは複数を4つの等しいサイズのサブサブブロックに区分し得、以下同様である。
[0071] ビデオエンコーダ20は、CUの符号化表現(すなわち、コーディングされたCU)を生成するためにCTUのCUを符号化し得る。CUを符号化することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの間でCUに関連するコーディングブロックを区分し得る。従って、各PUは、ルーマ予測ブロックと、対応するクロマ予測ブロックとに関連し得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。上記のように、CUのサイズはCUのルーマコーディングブロックのサイズを指すことがあり、PUのサイズはPUのルーマ予測ブロックのサイズを指すことがある。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測のための2N×2NまたはN×NのPUサイズと、インター予測のための2N×2N、2N×N、N×2N、N×N、または同様の対称PUサイズとをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30は、インター予測のための2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズに対する非対称区分をもサポートし得る。
[0072] インター予測処理ユニット120は、CUの各PUに対してインター予測を行うことによって、PUのための予測データを生成し得る。PUのための予測データは、PUの予測ブロックとPUのための動き情報とを含み得る。インター予測ユニット121は、PUがIスライス中にあるのか、Pスライス中にあるのか、Bスライス中にあるのかに応じて、CUのPUに対して異なる動作を行い得る。Iスライス中では、全てのPUがイントラ予測される。従って、PUがIスライス中にある場合、インター予測ユニット121は、PUに対してインター予測を行わない。従って、Iモードで符号化されたブロックの場合、予測ブロックは、同じフレーム内の前に符号化された隣接ブロックからの空間予測を使用して形成される。
[0073] PUがPスライス中にある場合、インター予測処理ユニット120の動き推定ユニットは、PUの参照領域について参照ピクチャのリスト(例えば、「RefPicList0」)中の参照ピクチャを探索し得る。PUのための参照領域は、PUのサンプルブロックに最も密接に対応するサンプルブロックを含んでいる、参照ピクチャ内の領域であり得る。インター予測処理ユニット120の動き推定ユニットは、PUのための参照領域を含んでいる参照ピクチャのRefPicList0中の位置を示す参照インデックスを生成し得る。さらに、動き推定ユニットは、PUのコーディングブロックと、参照領域に関連する参照ロケーションとの間の空間変位を示すMVを生成し得る。例えば、MVは、現在復号ピクチャ中の座標から参照ピクチャ中の座標までのオフセットを与える2次元ベクトルであり得る。動き推定ユニットは、PUの動き情報として参照インデックスとMVとを出力し得る。インター予測処理ユニット120の動き補償ユニットは、PUの動きベクトルによって示された参照ロケーションにおける実際のまたは補間されたサンプルに基づいて、PUの予測ブロックを生成し得る。
[0074] PUがBスライス中にある場合、動き推定ユニットは、PUについての単予測または双予測を行い得る。PUについての単予測を行うために、動き推定ユニットは、PUのための参照領域についてRefPicList0または第2の参照ピクチャリスト(「RefPicList1」)の参照ピクチャを探索し得る。動き推定ユニットは、PUの動き情報として、参照領域を含んでいる参照ピクチャのRefPicList0またはRefPicList1中の位置を示す参照インデックスと、PUの予測ブロックと参照領域に関連する参照ロケーションとの間の空間変位を示すMVと、参照ピクチャがRefPicList0中にあるのかRefPicList1中にあるのかを示す1つまたは複数の予測方向インジケータとを出力し得る。インター予測処理ユニット120の動き補償ユニットは、PUの動きベクトルによって示された参照領域における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、PUの予測ブロックを生成し得る。
[0075] PUについての双方向インター予測を行うために、動き推定ユニットは、PUのための参照領域についてRefPicList0中の参照ピクチャを探索し得、PUのための別の参照領域についてRefPicList1中の参照ピクチャをも探索し得る。動き推定ユニットは、参照領域を含んでいる参照ピクチャのRefPicList0およびRefPicList1中の位置を示す参照ピクチャインデックスを生成し得る。さらに、動き推定ユニットは、参照領域に関連する参照ロケーションとPUのサンプルブロックとの間の空間変位を示すMVを生成し得る。PUの動き情報は、PUの参照インデックスとMVとを含み得る。動き補償ユニットは、PUの動きベクトルによって示された参照領域における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、PUの予測ブロックを生成し得る。
[0076] イントラ予測処理ユニット126は、PUに対してイントラ予測を行うことによって、PUのための予測データを生成し得る。PUのための予測データは、PUのための予測ブロックと、様々なシンタックス要素とを含み得る。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライス中のPUに対してイントラ予測を行い得る。
[0077] PUに対してイントラ予測を行うために、イントラ予測処理ユニット126は、PUのための予測データの複数のセットを生成するために複数のイントラ予測モードを使用し得る。イントラ予測処理ユニット126は、PUのための予測ブロックを生成するために隣接PUのサンプルブロックからのサンプルを使用し得る。隣接PUは、PU、CU、およびCTUについて左から右、上から下の符号化順序を仮定すると、PUの上、右上、左上、または左にあり得る。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、例えば、33個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、PUに関連する領域のサイズに依存し得る。
[0078] 予測処理ユニット100は、PUのためにインター予測処理ユニット120によって生成された予測データ、またはPUのためにイントラ予測処理ユニット126によって生成された予測データの中からCUのPUのための予測データを選択し得る。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/ひずみメトリックに基づいて、CUのPUのための予測データを選択する。選択された予測データの予測ブロックは、本明細書では、選択された予測ブロックと呼ばれることがある。
[0079] 残差生成ユニット102は、CUのルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロックと、CUのPUの選択された予測ルーマブロック、予測Cbブロックおよび予測Crブロックとに基づいて、CUのルーマ残差ブロックと、Cb残差ブロックと、Cr残差ブロックとを生成し得る。例えば、残差生成ユニット102は、残差ブロック中の各サンプルが、CUのコーディングブロック中のサンプルとCUのPUの対応する選択された予測ブロック中の対応するサンプルとの間の差分に等しい値を有するように、CUの残差ブロックを生成し得る。
[0080] 変換処理ユニット104は、CUに関連する残差ブロックをCUのTUに関連する変換ブロックに区分するために、4分木区分を行い得る。従って、いくつかの例では、TUは、ルーマ変換ブロックと、2つのクロマ変換ブロックとに関連し得る。CUのTUのルーマ変換ブロックとクロマ変換ブロックとのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づくことも基づかないこともある。「残差4分木」(RQT:residual quad-tree)として知られる4分木構造は、領域の各々に関連するノードを含み得る。CUのTUはRQTのリーフノードに対応し得る。
[0081] 変換処理ユニット104は、TUの変換ブロックに1つまたは複数の変換を適用することによって、CUの各TUのための変換係数ブロックを生成し得る。変換処理ユニット104は、TUに関連する変換ブロックに様々な変換を適用し得る。例えば、変換処理ユニット104は、離散コサイン変換(DCT)、方向変換、または概念的に同様の変換を変換ブロックに適用し得る。いくつかの例では、変換処理ユニット104は変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われ得る。
[0082] 量子化ユニット106は、係数ブロック中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連するビット深度を低減し得る。例えば、量子化中にnビットの変換係数がmビットの変換係数に切り捨てられることがあり、ここで、nはmよりも大きい。量子化ユニット106は、CUに関連する量子化パラメータ(QP)値に基づいて、CUのTUに関連する係数ブロックを量子化し得る。ビデオエンコーダ20は、CUに関連するQP値を調整することによって、CUに関連する係数ブロックに適用される量子化の程度を調整し得る。量子化は情報の損失をもたらし得、従って、量子化変換係数は、元の係数よりも低い精度を有し得る。
[0083] 逆量子化ユニット108および逆変換処理ユニット110は、係数ブロックから残差ブロックを再構成するために、それぞれ、係数ブロックに逆量子化および逆変換を適用し得る。再構成ユニット112は、TUに関連する再構成された変換ブロックを生成するために、再構成された残差ブロックを、予測処理ユニット100によって生成された1つまたは複数の予測ブロックからの対応するサンプルに加算し得る。このようにCUの各TUについて変換ブロックを再構成することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構成し得る。
[0084] フィルタユニット114は、CUに関連するコーディングブロック内のブロッキングアーティファクトを低減するために1つまたは複数のデブロッキング演算を行い得る。復号ピクチャバッファ116は、フィルタユニット114が、再構成されたコーディングブロックに対して1つまたは複数のデブロッキング演算を行った後、再構成されたコーディングブロックを記憶し得る。インター予測処理ユニット120は、他のピクチャのPUに対してインター予測を行うために、再構成されたコーディングブロックを含んでいる参照ピクチャを使用し得る。さらに、イントラ予測処理ユニット126は、CUと同じピクチャ中の他のPUに対してイントラ予測を行うために、復号ピクチャバッファ116中の再構成されたコーディングブロックを使用し得る。
[0085] エントロピー符号化ユニット118は、ビデオエンコーダ20の他の機能構成要素からデータを受信し得る。例えば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロックを受信し得、予測処理ユニット100からシンタックス要素を受信し得る。そのようなシンタックス要素は、CTUおよびCUのサイズと区分とに関係するシンタックス要素を含み得る。エントロピー符号化ユニット118は、エントロピー符号化データを生成するために、データに対して1つまたは複数のエントロピー符号化演算を行い得る。例えば、エントロピー符号化ユニット118は、CABAC演算、コンテキスト適応型可変長コーディング(CAVLC)演算、CABAC演算、可変対可変(V2V:variable-to-variable)長コーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)演算、確率間隔区分エントロピー(PIPE)コーディング演算、指数ゴロム符号化演算、または別のタイプのエントロピー符号化演算など、コンテキスト適応型コーディング演算をデータに対して行い得る。ビデオエンコーダ20は、エントロピー符号化ユニット118によって生成されたエントロピー符号化データを含むビットストリームを出力し得る。例えば、ビットストリームは、CUのためのRQTを表すデータを含み得る。
[0086] 本開示のいくつかの技法は、例えば、CTUおよびCUに関係する、情報のCABACコーディングに関係する。エントロピー符号化ユニット118が行うCABACコーディングは、概して、3つの主要な機能、すなわち、2値化、コンテキストモデリング、および算術コーディングを伴う。2値化は、ビンストリングと呼ばれることもあるバイナリシンボル(ビン)にシンタックス要素をマッピングする。コンテキストモデリングは、ビンの確率を推定する。コンテキストモデリングプロセスの一部として、ビデオコーダは、各ビンについてコンテキストモデルを選択するか、または。コンテキストモデルは確率を表す。異なるビンについて異なるコンテキストモデルが選択され得る。算術コーディングは、推定された確率に基づいてビンをビットに圧縮する。言い換えれば、算術コーディングは、各ビンに対応する選択されたコンテキストモデルに基づいてビンをビットに圧縮する。
[0087] いくつかの例では、2値化は、単項、短縮単項、k次指数ゴロム(EGk:kth-order exponential-Golomb)、および固定長2値化など、様々な2値化プロセスを指すことがある。コンテキストモデリング中に、エントロピー符号化ユニット118は、コンテキストモデリングと呼ばれるプロセスにおいて各ビンについて確率推定(例えば、コンテキストモデル)を導出する。コンテキストモデリングプロセスは、極めて適応型であり得る。
[0088] エントロピー符号化ユニット118は、異なるビンについて異なるコンテキストモデルを使用し得る。エントロピー符号化ユニット118は、前にコーディングされたビンの値に基づいてコンテキストモデルの確率を更新し得る。同様の分布をもつビンは、しばしば同じコンテキストモデルを共有する。エントロピー符号化ユニット118は、シンタックス要素のタイプ、シンタックス要素中のビン位置(binIdx)、ルーマ/クロマ、隣接情報、および他のシンタックス要素に基づいて、各ビンについてコンテキストモデルを選択し得る。
[0089] エントロピーコーディング中に、エントロピーエンコーダまたはエントロピーデコーダ(例えば、エントロピー符号化ユニット118およびエントロピー復号ユニット150)は、符号化されるべきまたは復号すべきシンボルのビットを1つまたは複数のビンに入れ得る。いくつかの例では、ビンは、シンボルの値が0に等しいかどうかを示す。エントロピーエンコーダまたはエントロピーデコーダは、エントロピーコーディングプロセスを調整するためにビンの値を使用し得る。他の例では、エントロピーエンコーダまたはエントロピーデコーダはまた、値が特定の値よりも大きいかどうか、例えば、0よりも大きいかどうか、1よりも大きいかどうかなどを示すためにビンを使用し得る。
[0090] エントロピー符号化ユニット118は、「コンテキストスイッチ」と呼ばれるプロセスを行うように構成され得る。例えば、エントロピー符号化ユニット118は、各ビンを符号化した後にコンテキストスイッチを行うように構成され得る。いくつかの例では、エントロピー符号化ユニット118は、7ビットエントリ(確率状態のための6ビットおよび優勢シンボル(MPS:most probable symbol)のための1ビット)として、確率モデル(例えば、コンテキストモデル)をコンテキストメモリに記憶する。そのような例では、エントロピー符号化ユニット118は、コンテキスト選択論理によって算出されたコンテキストインデックスを使用して確率モデル(例えば、コンテキストモデル)をアドレス指定する。
[0091] ビデオデータ(例えば、ビデオデータのスライス)を符号化する前に、エントロピー符号化ユニット118は、いくつかのあらかじめ定義された値に基づいて確率モデル(例えば、コンテキストモデル)を初期化する。例えば、「qp」として示された入力量子化パラメータと、「initVal」として示されたあらかじめ定義された値とを仮定すれば、エントロピー符号化ユニット118は、(値「状態」および「MPS」によって示された)確率モデルの7ビットエントリを以下のように導出し得る。
Figure 2018506912
[0092] エントロピー符号化ユニット118は、例えば、再帰的間隔分割プロセスに基づいて、算術コーディングを行うように構成され得る。算術コーディングプロセスの一部として、エントロピー符号化ユニット118は、ビンの確率に基づいて範囲を2つのサブ間隔に分割するように構成され得る。いくつかの例では、範囲は、最初は0から1までに及び得る。エントロピー符号化ユニット118は、2進小数に変換されるオフセットに基づいて2つのサブ間隔のうちの1つを選択するように構成され得る。オフセットは符号化されたビンから導出され、選択されたサブ間隔はビンの値によって示される。
[0093] エントロピー符号化ユニット118は、更新された範囲が、選択されたサブ間隔に等しくなるように、あらゆるビンの後に範囲を更新するように構成され得る。エントロピー符号化ユニット118は、間隔分割プロセスを繰り返すように構成され得る。範囲およびオフセットは限られたビット精度を有し、従って、エントロピー符号化ユニット118は、アンダーフローを防ぐために、範囲がある値を下回るときはいつでも、再正規化を行うように構成され得る。
[0094] エントロピー符号化ユニット118は、各ビンが符号化された後に再正規化を行い得る。同様に、エントロピー復号ユニット150は、各ビンが符号化された後に再正規化を行い得る。エントロピー符号化ユニット118は、推定確率を使用して算術コーディングを行うか(コンテキストコード化)、または、0.5の等しい確率を仮定して算術コーディングを行い得る(バイパスコード化)。バイパスコード化ビンの場合は、エントロピー符号化ユニット118は、算術シフトを使用することによってサブ間隔への範囲の分割を行い得るが、コンテキストコード化ビンの場合は、ルックアップテーブルが使用され得る。
[0095] 動き補償および動き推定中に、予測処理ユニット100は、CUがサブブロック(例えば、予測ユニット(PU)またはそれよりも小さいもの)に分割されるべきかどうかを決定する。例えば、予測処理ユニット100は、コーディングツリーユニット(CTU)が異なる方法でその間にスプリットされる様々な符号化パスを行い得、次いで、各パスのレートひずみ特性が、CTUのためのどの区分方式が最良のレートひずみメトリックを生じるのかを決定するために他のパスと比較され得る。split_cu_flagシンタックス要素(フラグ)の値は、CUが、親CUに対して1/2水平および垂直サイズをもつコーディングユニットにスプリットされるかどうかを示す。各スライスタイプ(例えば、I、P、およびBスライス)について、エントロピー符号化ユニット118は、空間的に隣接するスライスの情報に基づいて、3つのコンテキストを用いるCABACを使用してsplit_cu_flagシンタックス要素をコーディングするように構成され得る。
[0096] HEVC仕様において定義されるように、エントロピー符号化ユニット118は、現在ブロック左のブロックおよび現在ブロックの上のブロックの利用可能性(例えば、現在ブロックのすぐ左に位置するブロックの利用可能性を指定するavailableL、または現在ブロックのすぐ上に位置するブロックの利用可能性を指定するavailableA)と、左/上隣接ブロックのスプリット情報(すなわち、CtDepth[xNbL/A][yNbL/A]>cqtDepth)とに基づいて、コンテキストインデックスオフセット(例えば、ctxInc)を導出するように構成され得る。HEVC規格からコピーされた表9−38は、以下のようにctxIncシンタックス要素の導出について説明する。
Figure 2018506912
[0097] 別のシンタックス要素、inter_pred_idcは、現在予測ユニットのためにlist0が使用されるのか、list1が使用されるのか、双予測が使用されるのかを示す。シンタックス要素は、その両方がCABACコンテキストコーディングされる、最高2つのビンを有する。2値化されたビンストリングは、以下のように、HEVC規格からコピーされた表9−36に従って定義され、ここで、nPbWおよびnPbHは、それぞれ、現在ルーマ予測ブロックの幅および高さを表す。
Figure 2018506912
[0098] 各インターコード化スライド(例えば、PまたはBスライス)について、エントロピー符号化ユニット118は、(nPbW+nPbH)!=12であるかどうかまたは(nPbW+nPbH)!=12であるかどうかを決定することに基づいて、2値化されたビンストリングの上記のコンテキスト選択導出を行うように構成され得る。例えば、(nPbW+nPbH)が12に等しくない場合、エントロピー符号化ユニット118は、4つのコンテキスト(例えば、0、1、2、および3)を使用して第1のビンをコーディングし、1つのコンテキストを用いて第2のビンをコーディングするように構成され得る。いくつかの例では、第1のビンのコンテキスト選択は現在ブロックのCU深度に従う。HEVCでは、CU深度は、両端値を含む、0〜3の範囲内にある。別の例として、(nPbW+nPbH)が12に等しい場合、エントロピー符号化ユニット118は、上記の例において第2のビンによって使用されたコンテキストと同じコンテキストを用いて第1のビンおよび第2のビンをコーディングするように構成され得る。
[0099] エントロピー符号化ユニット118およびエントロピー復号ユニット150は、例えば上記で説明されたように、HEVCに従ってエントロピーコーディングの1つまたは複数の態様を行うように構成され得るが、HEVCにおけるコンテキストモデリングに関するいくつかの問題がある。HEVCにおけるコンテキストモデリングは、64×64よりも大きくないCTUのために特別に設計される。従って、より大きいCTUサイズ(例えば、128×128、256×256、またはさらに大きいサイズ)が使用されるとき、HEVCによって記述されるものなど、現在コンテキストモデリングプロセスを直接再利用することは、あまり効率的でないか、またはパース問題を生じる。
[0100] 一例として、CTUが64×64よりも大きいとき、HEVCによって定義されたsplit_cu_flagの現在コンテキストモデリングプロセスを直接再利用することは、効率的でない。別の例として、CTUが64×64よりも大きいとき、最大CU深度が実際に増加され、その結果、inter_pred_idcのためにより多くのコンテキストが必要となる。しかしながら、追加のコンテキストが必ずしも追加のコーディング効率をもたらすとは限らない。従って、本開示におけるいくつかの技法は、コンテキストの数を限定することに関するが、本開示における他の技法は、コンテキストの数を増加させることに関する。
[0101] 本開示は、以下でより詳細に説明され、上記で説明されたように、CTUのエントロピーコーディングに関連する問題を克服し得る、いくつかの異なる技法について説明する。これらの技法は、単独でまたは任意の組合せで使用され得る。大きいCTUをコーディングするために、並びに、64×64またはそれよりも小さいCTUをコーディングするために、以下の技法が適用可能であり得る。以下の技法は、個々にまたは任意の組合せで適用され得る。
[0102] 本開示の技法による一例では、エントロピー符号化ユニット118は、split_cu_flagおよび/または同じセマンティクスをもつシンタックス要素のコンテキストモデリングを行うとき、現在CUの空間および/または時間ネイバーの最大および/または最小CU深度情報を考慮に入れ得る。
[0103] この例では、エントロピー符号化ユニット118は、いくつかの例における現在CUの空間および/または時間ネイバーの全てに対応するCU深度、並びに、他の例における現在CUの1つまたは複数の空間および/または時間ネイバーに対応する1つまたは複数のCU深度を意味する、現在CUの空間および/または時間ネイバーの最大および/または最小CU深度あるいはCUサイズに基づいて、CUがサブCUにさらにスプリットされるかどうかの可能性(例えば、確率または尤度)を決定するように構成され得る。現在CUのCU深度が現在CUの1つまたは複数の空間および/または時間ネイバー(例えば、全てのそのようなネイバー)の最小CU深度よりも小さいと決定したことに基づいて、エントロピー符号化ユニット118は、CUがさらにスプリットされることになる可能性が極めて高いと決定するように構成され得る。現在CUのCU深度が現在CUの1つまたは複数の空間および/または時間ネイバー(例えば、全てのそのようなネイバー)の最大CU深度よりも大きいと決定したことに基づいて、エントロピー符号化ユニット118は、CUがさらにスプリットされることになる可能性が極めて低いと決定するように構成され得る。
[0104] 一例では、エントロピー符号化ユニット118は、(例えば、現在CUのCU深度が、現在CUの空間ネイバーおよび/または時間ネイバーの最小CU深度よりも小さいとき)現在CUがさらにスプリットされる可能性が極めて高いと決定すると、split_cu_flagシンタックス要素をコーディングするために1つの専用コンテキストモデルを使用するように構成され得る。代替または追加として、エントロピー符号化ユニット118は、コンテキストモデルに関連する「1」に等しいビン値の初期確率を、1または1に極めて近い値に設定するように構成され得る。例えば、上記で紹介された初期化方法を用いて、エントロピー符号化ユニット118は、コンテキストモデルを「極めて可能性が低い」(initState=1)に初期化するために「0」(initVal=0)の値を使用し、コンテキストを「極めて可能性が高い」(initState=126)に初期化するために値「255」を使用するように構成され得る。
[0105] 別の例では、エントロピー符号化ユニット118は、(例えば、現在CUのCU深度が、現在CUの空間ネイバーおよび/または時間ネイバーの最大CU深度よりも大きいとき)現在CUがさらにスプリットされる可能性が極めて低いと決定すると、split_cu_flagシンタックス要素をコーディングするために1つの専用コンテキストモデルを使用するように構成され得る。代替または追加として、エントロピー符号化ユニット118は、コンテキストに関連する「1」に等しいビン値の初期確率を、0に等しくまたは0に極めて近い値に設定するように構成され得る。
[0106] 本開示の技法によるいくつかの例では、エントロピー符号化ユニット118は、コンテキストインデックスオフセットをCU深度に等しく設定するのではなく、inter_pred_idcシンタックス要素のための現在CUのCU深度の一様または非一様量子化に基づいて、コンテキストインデックスオフセットを決定するように構成され得る。例えば、エントロピー符号化ユニット118は、コンテキストインデックスオフセットをmin(CU深度,M)に設定するように構成され得、ここで、Mは正の整数値であり、min関数は2つの入力の最小値を返す。いくつかの例では、エントロピー符号化ユニット118は、Mを3に等しく設定し得る。各コンテキストインデックスオフセットがコンテキストに対応するので、エントロピー符号化ユニット118は、上記で説明されたようにコンテキストインデックスオフセットを限定することによって、64×64よりも大きいCTUをエントロピー符号化するために使用されるコンテキストの数を限定するように構成され得る。例えば、Mが3である場合、コンテキストの数は4に限定される。別の例として、Mが5である場合、コンテキストの数は6に限定される。
[0107] 最大CUサイズ(CTUのサイズ)および最大CUスプリットは、通常、シーケンスパラメータセット(SPS)またはピクチャパラメータセット(PPS)中でシグナリングされる。ビデオエンコーダ20またはビデオデコーダ30は、従って、特定のビットストリームのためのCUサイズを決定する。64×64よりも大きいCTUが可能にされる、本開示の技法によるいくつかの例では、ビデオエンコーダ20は、CU深度がある範囲で制限されるように、最大および最小CUサイズに追加の制約を受けさせることがある。次に、CTUおよびCUサイズ制限の様々な例が説明される。いくつかの例では、以下で説明される制限/制約のうちの1つまたは複数は、インターコード化CUにのみ適用され得る。
[0108] 一例では、ビデオエンコーダ20は、最大CUサイズを、許容される最大CTUサイズよりも小さいサイズよりも小さいかまたはそれに等しくなるように設定するように構成され得る。例えば、最大CUサイズは、64×64など、あらかじめ定義され得る。最大CUサイズを、最大CTUサイズよりも小さいサイズよりも小さいかまたはそれに等しく設定することによって、適応ループフィルタなど、ビデオコーデックのいくつかのモジュールと、サンプル適応オフセットプロセスとが、CTUレベルにおいて適用され得る。
[0109] 別の例では、ビデオエンコーダ20は、PPSまたは任意の他の高レベルシンタックスパラメータセット中でCTUサイズおよび最大CU深度とともに最大CUサイズをシグナリングするように構成され得る。
[0110] 別の例では、現在CUが最大CUサイズよりも大きいサイズを有するとき、ビデオエンコーダ20は、現在CUのsplit_cu_flagシンタックス要素をシグナリングしないように構成され得る。そのような例では、ビデオデコーダ30は、split_cu_flagが1に等しいと推論するように構成され得る。
[0111] 次に、本開示の技法による、最大CUサイズに関する制約の様々な例が、説明される。一例では、ビデオエンコーダ20およびビデオデコーダ30は、CU深度をMよりも小さくなるように制限し得、ここで、Mは、いくつかの例では4に等しい。別の例では、ビデオエンコーダ20およびビデオデコーダ30は、CUサイズを(1<<(N−M))よりも小さくならないように制限し得、ここで、最も大きいCTUサイズは(1<<N)に等しく、「<<」は算術左シフトであり、Mは最大CU深度(例えば、CTUがさらに何回スプリットされ得るか)を示す。例えば、M=4は、CTUが4回スプリットされ得ることを意味する。一例では、Mは、4に等しく設定され得る。例えば、4のCU深度を有する64×64CUは、最初に2つの32×32ブロックにスプリットされ得、それらは、次いで16×16ブロックにスプリットされ得、それらは、次いで8×8ブロックにスプリットされ得、それらは、次いで4×4ブロックをもつ4×4ブロックにスプリットされ得る。この例は、(第1に32×32、第2に16×16において、第3に8×8において、および第4に4×4において)4つの例示的なCU深度を証明する。いくつかの例では、CUサイズ制約は、インターコード化CUにのみ適用され得る。いくつかの例では、イントラコード化CUおよびインターコード化CUのための最大CU深度または最小CUサイズは、異なり得る。
[0112] 本開示の技法による様々な例では、エントロピー符号化ユニット118は、split_cu_flagまたは同じセマンティクスをもつシンタックス要素をコーディングするための2つの追加のコンテキストを追加し得る。第1の追加のコンテキストは、現在CUのさらなるスプリットが、高い可能性を有する(例えば、極めて可能性が高い)ことを示す。第2の追加のコンテキストは、現在CUのさらなるスプリットが、低い可能性を有する(例えば、極めて可能性が低い)ことを示す。これらの例では、ビデオエンコーダ20のエントロピー符号化ユニット118は、現在CUの空間的に隣接する(例えば、左、左下、上および右上)CUの最大および最小深度を、それぞれ、max_depthおよびmin_depthとして定義するように構成され得る。エントロピー符号化ユニット118は、以下の擬似コードに従ってsplit_cu_flagをコーディングするためのCABACコンテキストを選択するように構成され得る。

if(cur_cu_depth<max(0,min_depth−1)){高い可能性をもつさらなるスプリットのためのコンテキストを選択する}
else if(cur_cu_depth>min(g_max_cu_depth,max_depth+1)){低い可能性をもつさらなるスプリットのためのコンテキストを選択する}
else{HEVCにおいてsplit_cu_flagのコンテキスト選択を使用する}
[0113] 上記の擬似コードでは、cur_cu_depthは、現在CUのCU深度を示し、g_max_cu_depthは、ビットストリーム中で許容される最大CU深度を示す。一例では、空間的に隣接するCUが利用可能でないとき、ビデオエンコーダ20は、min_depthを計算するときに隣接CU深度を0に等しく設定するように構成され得、max_depthを計算するときに隣接CU深度をg_max_cu_depthに等しく設定するように構成され得る。2つの追加のコンテキストを伴う例では、ビデオエンコーダ20は、高い可能性をもつさらなるスプリットのコンテキストのための初期値(例えば、上記で説明されたinitVal)を255に設定するように構成され得る。そのような例では、ビデオエンコーダ20は、低い可能性をもつさらなるスプリットのコンテキストのための初期値(例えば、上記で説明されたinitVal)を0に設定し得る。
[0114] 64×64よりも大きいCTUの場合、CU深度は3よりも大きいことがある。例えば、CTUが256×256サイズを有するとき、CU深度は0、1、2、3、4、または5であり得る。いくつかの例では、エントロピー符号化ユニット118は、inter_pred_idcの第1のビンのための4つのコンテキスト(例えば、0、1、2、および3)を依然として使用し得る。エントロピー符号化ユニット118は、次いで、min(3,cur_cu_depth)を使用してコンテキストを選択し得、ここで、cur_cu_depthは現在CUのCU深度を示す。
[0115] 図3は、本開示の技法を実施するように構成された例示的なビデオデコーダ30を示すブロック図である。図3は、説明の目的で与えられており、本開示において広く例示され、説明される技法を限定するものではない。説明の目的で、本開示は、HEVCコーディングのコンテキストにおいてビデオデコーダ30について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
[0116] ビデオデコーダ30は、本開示で説明される様々な例による、CTUおよびCUを効率的にコーディングするための技法を行うように構成され得るデバイスの一例を表す。例えば、ビデオデコーダ30は、コーディングユニット(CU)に対する空間的に隣接するCUの情報またはCUに対する時間的に隣接するCUの情報のうちの少なくとも1つに基づいて、CUに関連するシンタックス要素のコンテキスト適応型バイナリ算術コーディング(CABAC)コンテキストモデリングを行い、モデル化されたコンテキストに基づいてシンタックス要素をCABAC復号するように構成され得る。
[0117] 別の例では、ビデオデコーダ30は、CTUサイズが64×64よりも大きいと決定したことに応答して、CTUの最大CU深度および最小CU深度を備える制約のグループを決定し、制約のグループの少なくともいくつかに基づいてCTUを復号するように構成され得る。
[0118] 図3の例では、ビデオデコーダ30は、エントロピー復号ユニット150と、ビデオデータメモリ151と、予測処理ユニット152と、逆量子化ユニット154と、逆変換処理ユニット156と、再構成ユニット158と、フィルタユニット160と、復号ピクチャバッファ162とを含む。予測処理ユニット152は、動き補償ユニット164と、イントラ予測処理ユニット166とを含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。
[0119] ビデオデータメモリ151は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ151に記憶されるビデオデータは、例えば、コンピュータ可読媒体から、例えば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ151は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成し得る。復号ピクチャバッファ162は、例えば、イントラコーディングモードまたはインターコーディングモードでビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ151および復号ピクチャバッファ162は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ151および復号ピクチャバッファ162は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ151は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
[0120] コード化ピクチャバッファ(CPB)は、ビットストリームの符号化ビデオデータ(例えば、NALユニット)を受信し、記憶し得る。エントロピー復号ユニット150は、CPBから符号化ビデオデータ(例えば、NALユニット)を受信し、シンタックス要素を復号するためにNALユニットをパースし得る。エントロピー復号ユニット150は、NALユニット中のエントロピー符号化シンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、およびフィルタユニット160は、ビットストリームから抽出されたシンタックス要素に基づいて復号ビデオデータを生成し得る。エントロピー復号ユニット150は、上記で説明されたエントロピー符号化ユニット118のプロセスとは概して逆のプロセスを行い得る。
[0121] ビットストリームのNALユニットはコード化スライスNALユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット150は、コード化スライスNALユニットからシンタックス要素を抽出し、エントロピー復号し得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連するPPSを識別するシンタックス要素を含み得る。
[0122] ビットストリームからシンタックス要素を復号することに加えて、ビデオデコーダ30は、区分されていないCUに対して再構成演算を行い得る。区分されていないCUに対して再構成演算を行うために、ビデオデコーダ30はCUの各TUに対して再構成演算を行い得る。CUの各TUに対して再構成演算を行うことによって、ビデオデコーダ30はCUの残差ブロックを再構成し得る。
[0123] CUのTUに対して再構成演算を行うことの一部として、逆量子化ユニット154は、TUに関連する係数ブロックを逆量子化、すなわち、量子化解除し得る。逆量子化ユニット154は、量子化の程度を決定し、同様に、逆量子化ユニット154が適用すべき逆量子化の程度を決定するために、TUのCUに関連するQP値を使用し得る。すなわち、圧縮比、すなわち、元のシーケンスと圧縮されたシーケンスとを表すために使用されるビット数の比は、変換係数を量子化するときに使用されるQPの値を調整することによって制御され得る。圧縮比はまた、採用されたエントロピーコーディングの方法に依存し得る。
[0124] 逆量子化ユニット154が係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUに関連する残差ブロックを生成するために係数ブロックに1つまたは複数の逆変換を適用し得る。例えば、逆変換処理ユニット156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT:Karhunen-Loeve transform)、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用し得る。
[0125] イントラ予測を使用してPUが符号化される場合、イントラ予測処理ユニット166は、PUのための予測ブロックを生成するためにイントラ予測を行い得る。イントラ予測処理ユニット166は、空間的に隣接するPUの予測ブロックに基づいてPUのための予測ルーマブロック、予測Cbブロックおよび予測Crブロックを生成するためにイントラ予測モードを使用し得る。イントラ予測処理ユニット166は、ビットストリームから復号された1つまたは複数のシンタックス要素に基づいてPUのためのイントラ予測モードを決定し得る。
[0126] 予測処理ユニット152は、ビットストリームから抽出されたシンタックス要素に基づいて、第1の参照ピクチャリスト(RefPicList0)と第2の参照ピクチャリスト(RefPicList1)とを構成し得る。さらに、PUがインター予測を使用して符号化される場合、エントロピー復号ユニット150はPUのための動き情報を抽出し得る。動き補償ユニット164は、PUの動き情報に基づいて、PUのための1つまたは複数の参照領域を決定し得る。動き補償ユニット164は、PUのための1つまたは複数の参照ブロックにおけるサンプルブロックに基づいて、PUのための予測ルーマブロック、予測Cbブロックおよび予測Crブロックを生成し得る。
[0127] 再構成ユニット158は、CUのルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロックを再構成するために、適用可能なとき、CUのTUに関連するルーマ変換ブロック、Cb変換ブロックおよびCr変換ブロック、並びにCUのPUの予測ルーマブロック、予測Cbブロックおよび予測Crブロック、すなわち、イントラ予測データまたはインター予測データのいずれかを使用し得る。例えば、再構成ユニット158は、CUのルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロックを再構成するために、ルーマ変換ブロック、Cb変換ブロックおよびCr変換ブロックのサンプルを、予測ルーマブロック、予測Cbブロックおよび予測Crブロックの対応するサンプルに加算し得る。
[0128] ビデオデコーダ30は、本明細書で説明されるビデオエンコーダ20のプロセスとは概して逆のプロセスを行うように構成され得る。同様に、ビデオエンコーダ20は、本明細書で説明されるビデオデコーダ30のプロセスとは概して逆のプロセスを行うように構成され得る。例えば、ビデオデコーダ30が同様にビットストリーム中の符号化されたシンタックス要素を復号するように構成され得るという開示は、ビデオエンコーダ20がそのシンタックス要素をそのビットストリーム中に符号化するように構成され得ることを必然的に開示する。
[0129] 別の例として、エントロピー復号ユニット150は、本明細書で説明されるエントロピー符号化ユニット118のプロセスとは概して逆のプロセスを行うように構成され得る。本開示の態様によれば、エントロピー復号ユニット150は、エントロピー符号化ユニット118によって生成されたコードワードをエントロピー復号するように構成され得る。
[0130] フィルタユニット160は、CUのルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロックに関連するブロッキングアーティファクトを低減するためにデブロッキング演算を行い得る。ビデオデコーダ30は、CUのルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロックを復号ピクチャバッファ162に記憶し得る。復号ピクチャバッファ162は、後続の動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。例えば、ビデオデコーダ30は、復号ピクチャバッファ162中のルーマブロック、CbブロックおよびCrブロックに基づいて、他のCUのPUに対してイントラ予測演算またはインター予測演算を行い得る。
[0131] 図4は、本開示の技法に従ってビデオデータをコーディング(例えば、符号化および/または復号)するための例示的なプロセスを示すフローチャートである。図4のプロセスは、概して、説明の目的でビデオコーダによって行われるものとして説明されるが、様々な他のプロセッサも、図4に示されるプロセスを行い得る。本明細書で使用されるビデオコーダは、例えば、図1〜図3に関して説明されたビデオエンコーダ20および/またはビデオデコーダ30など、ビデオエンコーダおよび/またはビデオデコーダを指すことがある。いくつかの例では、ビデオデータメモリ101、予測処理ユニット100、および/またはエントロピー符号化ユニット118が、図4に示される1つまたは複数のプロセスを行い得る。いくつかの例では、ビデオデータメモリ151、エントロピー復号ユニット150、および/または予測処理ユニット152が、図4に示される1つまたは複数のプロセスを行い得る。
[0132] 図4の例では、ビデオコーダ(例えば、ビデオエンコーダ20および/またはビデオデコーダ30)は、エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、現在CUに関連するシンタックス要素のためのコンテキストを選択するように構成され得る(200)。いくつかの例では、ビデオコーダは、現在CUに対する1つまたは複数の空間的に隣接するCUのCU深度に関係する情報に基づいて、シンタックス要素のためのコンテキストを選択するように構成され得る。他の例では、ビデオコーダは、現在CUに対する1つまたは複数の時間的に隣接するCUのCU深度に関係する情報に基づいて、シンタックス要素のためのコンテキストを選択するように構成され得る。例えば、現在CUに対する1つまたは複数の隣接CUは空間ネイバーであり得、および/または、現在CUに対する1つまたは複数の隣接CUは時間ネイバーであり得る。
[0133] いくつかの例では、シンタックス要素は、現在CUがサブCUにスプリットされるかどうかを表し得る。そのような例では、シンタックス要素はsplit_cu_flagシンタックス要素であり得る。いくつかの例では、現在CUに関連するCTUは、64×64よりも大きいサイズを有し得る。
[0134] いくつかの例では、1つまたは複数の隣接CUに関係する1つまたは複数のCU深度は、現在CUのCU深度に等しい、および/またはそれに等しくないことがある。例えば、1つまたは複数の空間的に隣接するCUに関係する1つまたは複数のCU深度は、現在CUのCU深度に等しい、および/またはそれに等しくないことがある。別の例として、1つまたは複数の時間的に隣接するCUに関係する1つまたは複数のCU深度は、現在CUのCU深度に等しい、および/またはそれに等しくないことがある。
[0135] ビデオコーダは、選択されたコンテキストに基づいてシンタックス要素をエントロピーコーディングするように構成され得る(202)。いくつかの例では、エントロピーコーディングプロセスはコンテキスト適応型バイナリ算術コーディング(CABAC)プロセスを備え得、エントロピーコーディングすることは、CABACコーディングすることを備え得る。そのような例では、CABACコーディングすることは、CABAC符号化することまたはCABAC復号することを備え得る。
[0136] いくつかの例では、ビデオコーダは、現在CUのCU深度が1つまたは複数の隣接CUの最小CU深度よりも小さいかどうかを決定するように構成され得る。ビデオコーダは、現在CUのCU深度が1つまたは複数の隣接CUの最小CU深度よりも小さいという決定に基づいて、コンテキストを選択するように構成され得る。ビデオコーダは、現在CUのCU深度が1つまたは複数の隣接CUの最小CU深度よりも小さいという決定に基づいて、選択されたコンテキストに対応する初期値を255に等しく設定するように構成され得る。選択されたコンテキストは、現在CUのCU深度が1つまたは複数の隣接CUの最小CU深度よりも小さいとき、シンタックス要素のための1に等しい確率値に対応し得る。そのような例では、選択されたコンテキストは、1に等しいかまたは1に極めて近い初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備え得る。
[0137] いくつかの例では、ビデオコーダは、現在CUのCU深度が1つまたは複数の隣接CUの最大CU深度よりも大きいかどうかを決定するように構成され得る。ビデオコーダは、現在CUのCU深度が1つまたは複数の隣接CUの最大CU深度よりも大きいという決定に基づいて、コンテキストを選択するように構成され得る。ビデオコーダは、現在CUのCU深度が1つまたは複数の隣接CUの最大CU深度よりも大きいという決定に基づいて、選択されたコンテキストに対応する初期値を0に等しく設定するように構成され得る。選択されたコンテキストは、現在CUのCU深度が1つまたは複数の隣接CUの最大CU深度よりも大きいとき、シンタックス要素のための0に等しい確率値に対応し得る。そのような例では、選択されたコンテキストは、0に等しいかまたは0に極めて近い初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備え得る。
[0138] 他の例では、ビデオコーダは、エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の空間的に隣接するCUのCU深度に関係する情報、または現在CUに対する1つまたは複数の時間的に隣接するCUのCU深度に関係する情報のうちの少なくとも1つに基づいて、現在CUに関連するシンタックス要素のためのコンテキストを選択するように構成され得る。そのような例では、ビデオコーダは、現在CUのCU深度が1つまたは複数の空間的に隣接するCUまたは1つまたは複数の時間的に隣接するCUのうちの少なくとも1つの最小CU深度よりも小さいかどうかを決定するように構成され得る。ビデオコーダは、現在CUのCU深度が1つまたは複数の空間的に隣接するCUまたは1つまたは複数の時間的に隣接するCUのうちの少なくとも1つの最小CU深度よりも小さいという決定に基づいて、コンテキストを選択するように構成され得る。ビデオコーダは、現在CUのCU深度が1つまたは複数の空間的に隣接するCUまたは1つまたは複数の時間的に隣接するCUのうちの少なくとも1つの最小CU深度よりも小さいという決定に基づいて、選択されたコンテキストに対応する初期値を255に等しく設定するように構成され得る。
[0139] いくつかの例では、選択されたコンテキストは、現在CUのCU深度が1つまたは複数の空間的に隣接するCUまたは1つまたは複数の時間的に隣接するCUのうちの少なくとも1つの最小CU深度よりも小さいとき、シンタックス要素のための1に等しいかまたは1に極めて近い確率値に対応し得る。そのような例では、選択されたコンテキストは、1に等しいかまたは1に極めて近い初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備え得る。他の例では、選択されたコンテキストは、現在CUのCU深度が1つまたは複数の空間的に隣接するCUまたは1つまたは複数の時間的に隣接するCUのうちの少なくとも1つの最大CU深度よりも大きいとき、シンタックス要素のための0に等しいかまたは0極めて近い確率値に対応し得る。そのような例では、選択されたコンテキストは、0に等しいかまたは0に極めて近い初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備え得る。
[0140] いくつかの例では、ビデオコーダは、現在CUのCU深度が1つまたは複数の空間的に隣接するCUまたは1つまたは複数の時間的に隣接するCUのうちの少なくとも1つの最大CU深度よりも大きいかどうかを決定するように構成され得る。ビデオコーダは、現在CUのCU深度が1つまたは複数の空間的に隣接するCUまたは1つまたは複数の時間的に隣接するCUのうちの少なくとも1つの最大CU深度よりも大きいという決定に基づいて、コンテキストを選択するように構成され得る。ビデオコーダは、現在CUのCU深度が1つまたは複数の空間的に隣接するCUまたは1つまたは複数の時間的に隣接するCUのうちの少なくとも1つの最大CU深度よりも大きいという決定に基づいて、選択されたコンテキストに対応する初期値を0に等しく設定するように構成され得る。
[0141] いくつかの例では、ビデオコーダは、少なくとも4つの可能なコンテキストのグループからコンテキストを選択するように構成され得る。そのような例では、少なくとも4つの可能なコンテキストのグループは6つの可能なコンテキストを備える。
[0142] 図5は、本開示の技法に従ってビデオデータを復号するための例示的なプロセスを示すフローチャートである。図5のプロセスは、概して、説明の目的でビデオデコーダ(例えば、ビデオデコーダ30)によって行われるものとして説明されるが、様々な他のプロセッサも、図5に示されるプロセスを行い得る。いくつかの例では、ビデオデータメモリ151、エントロピー復号ユニット150、および/または予測処理ユニット152が、図5に示される1つまたは複数のプロセスを行い得る。
[0143] 図5の例では、ビデオデコーダ30は、現在CUを表すコーディングツリーユニット(CTU)を受信するように構成され得る(210)。ビデオデコーダ30は、現在CUが複数のサブCUにスプリットされるかどうかを示す、現在CUについてのシンタックス要素を受信するように構成され得る(212)。いくつかの例では、シンタックス要素はsplit_cu_flagシンタックス要素であり得る。ビデオデコーダ30は、現在CUに対する1つまたは複数の空間的に隣接するCUのCU深度に関係する情報、または現在CUに対する1つまたは複数の時間的に隣接するCUのCU深度に関係する情報のうちの少なくとも1つに基づいて、受信されたシンタックス要素をエントロピー復号するためのコンテキストを決定するように構成され得る(214)。ビデオデコーダ30は、決定されたコンテキストを使用してシンタックス要素をエントロピー復号するように構成され得る(216)。
[0144] ビデオデコーダ30は、復号されたシンタックス要素に基づいて、現在CUが複数のサブCUにスプリットされるかどうかを決定するように構成され得る(218)。現在CUが複数のCUにスプリットされる場合、ビデオデコーダ30は、各サブCUが複数のサブCUにさらにスプリットされるかどうかを示す、各サブCUについてのシンタックス要素を受信するように構成され得る(219)。ビデオデコーダ30は、ブロック214および216に関して説明されたように、各サブCUについての各シンタックス要素のためのコンテキストを決定するように構成され得、各シンタックス要素のための各決定されたコンテキストを使用して、各サブCUについての各シンタックス要素をエントロピー復号するように構成され得る。
[0145] ビデオデコーダ30が、現在CU(またはサブCU)が複数のサブCUにさらにスプリットされないとブロック218において決定した場合、ビデオデコーダ30は、予測情報と残差情報とをエントロピー復号するように構成され得る(220)。ビデオデコーダ30は、復号された予測情報を使用して各CUおよび/またはサブCU(例えば、PU)を形成するように構成され得る(222)。ビデオデコーダ30は、復号された残差情報を使用して(1つまたは複数の)CUおよび/または(1つまたは複数の)サブCUのための(1つまたは複数の)変換ユニットを形成するように構成され得る(224)。ビデオデコーダ30は、それぞれのサブブロック(例えば、PU)とTUとを組み合わせることによって各CUを復号するように構成され得る(226)。
[0146] 図6は、本開示の技法に従ってビデオデータを符号化するための例示的なプロセスを示すフローチャートである。図6のプロセスは、概して、説明の目的でビデオエンコーダ(例えば、ビデオエンコーダ20)によって行われるものとして説明されるが、様々な他のプロセッサも、図6に示されるプロセスを行い得る。いくつかの例では、ビデオデータメモリ101、予測処理ユニット100、および/またはエントロピー符号化ユニット118が、図6に示される1つまたは複数のプロセスを行い得る。
[0147] 図6の例では、ビデオエンコーダ20は、CTUを複数のCUにスプリット(例えば、区分)するように構成され得る(240)。ビデオエンコーダ20は、各CUがさらにスプリットされるかどうかを示す、各CUについてのシンタックス要素への値を割り当てるように構成され得る(242)。いくつかの例では、各CUについてのシンタックス要素はsplit_cu_flagシンタックス要素であり得る。ビデオエンコーダ20は、現在CU(例えば、シンタックス要素が関連するCU)に対する1つまたは複数の空間的に隣接するCUのCU深度に関係する情報、または現在CUに対する1つまたは複数の時間的に隣接するCUのCU深度に関係する情報のうちの少なくとも1つに基づいて、各CUについての各シンタックス要素をエントロピー符号化するためのコンテキストを決定するように構成され得る(244)。ビデオエンコーダ20は、各CUについての各シンタックス要素のための決定されたコンテキストを使用して、各CUについての各シンタックス要素をエントロピー符号化するように構成され得る(246)。
[0148] ビデオエンコーダ20は、各CUおよび各サブCU(例えば、PU)のための予測情報と残差情報とを形成するように構成され得る(248)。ビデオエンコーダ20は、各CUおよび各サブCUのための予測情報と残差情報とを符号化するように構成され得る(250)。
[0149] 例1:本明細書で開示される、技法あるいは技法の任意の組合せまたは置換のうちのいずれかに従ってビデオデータを処理する方法。
[0150] 例2:ビデオデータをコーディングする方法であって、本方法は、コーディングユニット(CU)に対する空間的に隣接するCUの情報またはCUに対する時間的に隣接するCUの情報のうちの少なくとも1つに基づいて、CUに関連するシンタックス要素のコンテキスト適応型バイナリ算術コーディング(CABAC)コンテキストモデリングを行うことと、モデル化されたコンテキストに基づいてシンタックス要素をCABACコーディングすることとを備える、方法。
[0151] 例3:CABACコーディングすることが、CABAC符号化することを備える、例2の方法。
[0152] 例4:CABACコーディングすることが、CABAC復号することを備える、例2の方法。
[0153] 例5:シンタックス要素は、CUがサブCUにスプリットされるかどうかを表し、ここにおいて、CABACコーディングすることは、現在CU深度が空間的に隣接するCUまたは時間的に隣接するCUのための最小CU深度よりも小さいとき、CUがスプリットされる可能性があるという決定に基づいて、シンタックス要素をCABACコーディングすることを備える、例2〜例4のいずれかの方法。
[0154] 例6:シンタックス要素は、CUがサブCUにスプリットされるかどうかを表し、ここにおいて、CABACコーディングすることは、CUのための現在CU深度が空間的に隣接するCUまたは時間的に隣接するCUのための最小CU深度よりも小さいとき、シンタックス要素のための1に等しいかまたは1に極めて近い確率値を割り当てるコンテキストモデルを使用してシンタックス要素をCABACコーディングすることを備え、ここにおいて、コンテキストモデルは、1に等しいかまたは1に極めて近い初期値をもつ専用コンテキストモデルまたは適応コンテキストモデルのうちの1つを備える、例2〜例5のいずれかの方法。
[0155] 例7:シンタックス要素は、CUがサブCUにスプリットされるかどうかを表し、ここにおいて、CABACコーディングすることは、現在CU深度が空間的に隣接するCUまたは時間的に隣接するCUのための最大CU深度よりも大きいとき、CUがスプリットされる可能性がないという決定に基づいて、シンタックス要素をCABACコーディングすることを備える、例2〜例6のいずれかの方法。
[0156] 例8:シンタックス要素は、CUがサブCUにスプリットされるかどうかを表し、ここにおいて、CABACコーディングすることは、CUのための現在CU深度が空間的に隣接するCUまたは時間的に隣接するCUのための最大CU深度よりも大きいとき、シンタックス要素のための0等しいかまたは0に極めて近い確率値を割り当てるコンテキストモデルを使用してシンタックス要素をCABACコーディングすることを備え、ここにおいて、コンテキストモデルは、0に等しいかまたは0に極めて近い初期値をもつ専用コンテキストモデルまたは適応コンテキストモデルのうちの1つを備える、例2〜例7のいずれかの方法。
[0157] 例9:シンタックス要素がsplit_cu_flagシンタックス要素を備える、例2〜例8のいずれかの方法。
[0158] 例10:CUがスプリットされる可能性があまり高くないと決定したことに応答して、およびCUがスプリットされる可能性があまり低くないと決定したことに応答して、HEVCにおいて定義されるsplit_cu_flagのコンテキスト選択を使用してシンタックス要素のコンテキストモデリングを行うこと。
[0159] 例11:CUがスプリットされる可能性があると決定したことに応答して、さらにスプリットされるCUに関連するコンテキストを255に等しく設定することと、CUがスプリットされる可能性がないと決定したことに応答して、スプリットされる可能性が低いCUに関連するコンテキストを0に等しく設定することとをさらに備える、例2〜例10のいずれかの方法。
[0160] 例12:CUに関連するCTUが、64×64よりも大きいサイズを有し、本方法は、シンタックス要素をモデル化するために4つの可能なコンテキストのうちの1つを使用することをさらに備える、例2〜例11のいずれかの方法。
[0161] 例13:min(3,cur_cu_depth)に従ってシンタックス要素をCABACコーディングするためのコンテキストを選択することをさらに備え、ここにおいて、cur_cu_depthはCUの現在深度を示し、ここにおいて、minは、3およびcur_cu_depthの最小値を示す関数である、例12の方法。
[0162] 例14:シンタックス要素がinter_pred_idcを備え、本方法は、CUのための量子化が一様であるのか一様でないのかに基づいて、inter_pred_idcのためのコンテキストインデックスを決定することをさらに備える、例2の方法。
[0163] 例15:コンテキストインデックスは、min(CU深度,M)に等しく、ここにおいて、CU深度はCUの深度であり、ここにおいて、Mは正の整数値であり、ここにおいて、minはMおよびCU深度の最小値を返す関数である、例14の方法。
[0164] 例16:Mは3に等しい、例15の方法。
[0165] 例17:ビデオデータをコーディングする方法であって、本方法は、CTUサイズが64×64よりも大きいと決定したことに応答して、CTUの最大CU深度および最小CU深度を備える制約のグループを決定することと、制約のグループの少なくともいくつかに基づいてCTUをコーディングすることとを備える、方法。
[0166] 例18:最大CU深度は64×64のサイズに制約される、例17の方法。
[0167] 例19:パラメータセット中のCTUの最大CUサイズ、CTUサイズ、および最大CU深度をコーディングすることをさらに備える、例17〜例18のいずれかの方法。
[0168] 例20:CTUのCUが最大CUサイズよりも大きいサイズを有すると決定したことに応答して、split_cu_flag要素をコーディングすることなしにsplit_cu_flagの値が1に等しいと推論することをさらに備える、例17〜例19のいずれかの方法。
[0169] 例21:最大CU深度は変数Mよりも小さい、例17〜例20のいずれかの方法。
[0170] 例22:CTUのCUサイズを(1<<(N−M))よりも小さくならないように制限することをさらに備え、ここにおいて、最大CTUサイズは(1<<N)に等しく、ここにおいて、NおよびMは整数値である、例17〜例21のいずれかの方法。
[0171] 例23:制約された値はCTUのインター予測CUにのみ適用される、例17〜例22のいずれかの方法。
[0172] 例24:最大CUサイズまたは最小CUのうちの少なくとも1つは、CTUのイントラコード化CU、およびCTUのインターコード化CUについて異なる、例17〜例22のいずれかの方法。
[0173] 例25:Mは4に等しい、例21の方法。
[0174] 本明細書で説明された技法の全てが、個々にまたは組合せで使用され得ることを理解されたい。本開示は、ブロックサイズ、パレットサイズ、スライスタイプなどのいくつかのファクタに応じて変化し得るいくつかのシグナリング方法を含む。シンタックス要素をシグナリングまたは推論することにおけるそのような変形形態は、アプリオリにエンコーダおよびデコーダに知られ得るか、あるいは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ中で、タイルレベルでまたは他の場所で、明示的にシグナリングされ得る。
[0175] 上記例に応じて、本明細書で説明された技法のうちのいずれかのいくつかの行為またはイベントが、異なるシーケンスで行われ得、追加、マージ、または完全に除外され得る(例えば、全ての説明された行為またはイベントが本技法の実施のために必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、例えば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に行われ得る。さらに、本開示のいくつかの態様は、明快のために単一のモジュールまたはユニットによって行われるものとして説明されたが、本開示の技法は、ビデオコーダに関連するユニットまたはモジュールの組合せによって行われ得ることを理解されたい。
[0176] 本開示のいくつかの態様は、説明の目的で、開発中のHEVC規格に関して説明された。ただし、本開示で説明された技法は、まだ開発されていない他の標準またはプロプライエタリビデオコーディングプロセスを含む、他のビデオコーディングプロセスのために有用であり得る。
[0177] 上記で説明された技法は、その両方が一般にビデオコーダと呼ばれることがある、ビデオエンコーダ20(図1および図2)および/またはビデオデコーダ30(図1および図3)によって行われ得る。同様に、ビデオコーディングは、適用可能なとき、ビデオ符号化またはビデオ復号を指すことがある。
[0178] 本明細書で説明された技法の全てが、個々にまたは組合せで使用され得ることを理解されたい。例えば、ビデオエンコーダ20および/またはそれの1つまたは複数の構成要素並びにビデオデコーダ30および/またはそれの1つまたは複数の構成要素は、本開示で説明された技法を任意の組合せで行い得る。別の例として、本明細書で説明された技法は、その両方が一般にビデオコーダと呼ばれることがある、ビデオエンコーダ20(図1および図2)および/またはビデオデコーダ30(図1および図3)によって行われ得る。同様に、ビデオコーディングは、適用可能なとき、ビデオ符号化またはビデオ復号を指すことがある。
[0179] 上記例に応じて、本明細書で説明された技法のうちのいずれかのいくつかの行為またはイベントが、異なるシーケンスで行われ得、追加、マージ、または完全に除外され得る(例えば、全ての説明された行為またはイベントが本技法の実施のために必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、例えば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に行われ得る。さらに、本開示のいくつかの態様は、明快のために単一のモジュールまたはユニットによって行われるものとして説明されたが、本開示の技法は、ビデオコーダに関連するユニットまたはモジュールの組合せによって行われ得ることを理解されたい。
[0180] 本開示のいくつかの態様は、説明の目的で、リリースされたのか、開発中であるのかなどにかかわらず、1つまたは複数のビデオコーディング規格に関して説明された。ただし、本開示で説明された技法は、まだ開発されていない他の標準またはプロプライエタリビデオコーディングプロセスを含む、他のビデオコーディングプロセスのために有用であり得る。
[0181] 本開示によれば、コンテキストが別段に規定しない場合、「または」という用語は「および/または」として中断され得る。さらに、「1つまたは複数の」または「少なくとも1つの」などの句が、本明細書で開示されるいくつかの特徴のために使用され、他の特徴のために使用されていないことがあるが、そのような言い回しがそれのために使用されなかった特徴は、コンテキストが別段に規定しない場合、そのような暗示される意味を有するものと解釈され得る。
[0182] 技法の様々な態様の特定の組合せが上記で説明されたが、これらの組合せは、本開示で説明された技法の例を示すために与えられたにすぎない。従って、本開示の技法は、これらの例示的な組合せに限定されるべきでなく、本開示で説明された技法の様々な態様の任意の考えられる組合せを包含し得る。
[0183] 1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実施のための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0184] 限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0185] 命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、上記の構造、または本明細書で説明された技法の実施に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用ハードウェアおよび/またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素で十分に実施され得る。
[0186] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(例えば、チップセット)を含む、多種多様なデバイスまたは装置で実施され得る。本開示では、開示された技法を行うように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0187] 様々な例が本明細書で説明された。説明されたシステム、動作、機能、または例の任意の組合せが企図される。これらおよび他の例は以下の特許請求の範囲内に入る。
[0187] 様々な例が本明細書で説明された。説明されたシステム、動作、機能、または例の任意の組合せが企図される。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータをコーディングする方法であって、前記方法は、
エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、前記現在CUに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記シンタックス要素は、前記現在CUがサブCUにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
を備える、方法。
[C2]
前記エントロピーコーディングプロセスがコンテキスト適応型バイナリ算術コーディング(CABAC)プロセスを備え、ここにおいて、エントロピーコーディングすることが、CABACコーディングすることを備える、C1に記載の方法。
[C3]
CABACコーディングすることが、CABAC符号化することまたはCABAC復号することを備える、C2に記載の方法。
[C4]
前記1つまたは複数の隣接CUに関係する1つまたは複数のCU深度が、前記現在CUのCU深度に等しい、C1に記載の方法。
[C5]
前記1つまたは複数の隣接CUに関係する1つまたは複数のCU深度が、前記現在CUのCU深度に等しくない、C1に記載の方法。
[C6]
前記現在CUのCU深度が前記1つまたは複数の隣接CUの最小CU深度よりも小さいかどうかを決定することと、
前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいという決定に基づいて、前記コンテキストを選択することと
をさらに備える、C1に記載の方法。
[C7]
前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を255に等しく設定すること
をさらに備える、C6に記載の方法。
[C8]
前記選択されたコンテキストは、前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいとき、前記シンタックス要素のための1に等しい確率値に対応する、C1に記載の方法。
[C9]
前記選択されたコンテキストが、1に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備える、C8に記載の方法。
[C10]
前記現在CUのCU深度が前記1つまたは複数の隣接CUの最大CU深度よりも大きいかどうかを決定することと、
前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいという決定に基づいて、前記コンテキストを選択することと
をさらに備える、C1に記載の方法。
[C11]
前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を0に等しく設定すること
をさらに備える、C10に記載の方法。
[C12]
前記選択されたコンテキストは、前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいとき、前記シンタックス要素のための0に等しい確率値に対応する、C1に記載の方法。
[C13]
前記選択されたコンテキストが、0に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備える、C12に記載の方法。
[C14]
前記シンタックス要素がsplit_cu_flagシンタックス要素を備える、C1に記載の方法。
[C15]
前記現在CUに関連するCTUが、64×64よりも大きいサイズを有する、C1に記載の方法。
[C16]
少なくとも4つの可能なコンテキストのグループから前記コンテキストを選択することをさらに備える、C15に記載の方法。
[C17]
少なくとも4つの可能なコンテキストの前記グループが6つの可能なコンテキストを備える、C16に記載の方法。
[C18]
前記シンタックス要素のための前記コンテキストを選択することが、前記現在CUに対する1つまたは複数の空間的に隣接するCUのCU深度に関係する情報に基づく、C1に記載の方法。
[C19]
前記シンタックス要素のための前記コンテキストを選択することが、前記現在CUに対する1つまたは複数の時間的に隣接するCUのCU深度に関係する情報に基づく、C1に記載の方法。
[C20]
ビデオデータをコーディングするためのデバイスであって、前記デバイスが、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しているビデオコーダと
を備え、ここにおいて、前記ビデオコーダは、
エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、前記メモリに記憶された前記現在CUに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記シンタックス要素は、前記現在CUがサブCUにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
を行うように構成された、デバイス。
[C21]
前記エントロピーコーディングプロセスがコンテキスト適応型バイナリ算術コーディング(CABAC)プロセスを備え、ここにおいて、前記ビデオコーダが、エントロピーコーディングするように構成されることが、前記ビデオコーダが、CABACコーディングするように構成されることを備える、C20に記載のデバイス。
[C22]
前記ビデオコーダが、CABACコーディングするように構成されることが、前記ビデオコーダが、CABAC符号化またはCABAC復号するように構成されることを備える、C21に記載のデバイス。
[C23]
前記1つまたは複数の隣接CUに関係する1つまたは複数のCU深度が、前記現在CUのCU深度に等しい、C20に記載のデバイス。
[C24]
前記1つまたは複数の隣接CUに関係する1つまたは複数のCU深度が、前記現在CUのCU深度に等しくない、C20に記載のデバイス。
[C25]
前記ビデオコーダは、
前記現在CUのCU深度が前記1つまたは複数の隣接CUの最小CU深度よりも小さいかどうかを決定することと、
前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいという決定に基づいて、前記コンテキストを選択することと
を行うようにさらに構成された、C20に記載のデバイス。
[C26]
前記ビデオコーダは、
前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を255に等しく設定すること
を行うようにさらに構成された、C25に記載のデバイス。
[C27]
前記選択されたコンテキストは、前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいとき、前記シンタックス要素のための1に等しい確率値に対応する、C20に記載のデバイス。
[C28]
前記選択されたコンテキストが、1に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備える、C27に記載のデバイス。
[C29]
前記ビデオコーダは、
前記現在CUのCU深度が前記1つまたは複数の隣接CUの最大CU深度よりも大きいかどうかを決定することと、
前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいという決定に基づいて、前記コンテキストを選択することと
を行うようにさらに構成された、C20に記載のデバイス。
[C30]
前記ビデオコーダは、
前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を0に等しく設定すること
を行うようにさらに構成された、C29に記載のデバイス。
[C31]
前記選択されたコンテキストは、前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいとき、前記シンタックス要素のための0に等しい確率値に対応する、C20に記載のデバイス。
[C32]
前記選択されたコンテキストが、0に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備える、C31に記載のデバイス。
[C33]
前記シンタックス要素がsplit_cu_flagシンタックス要素を備える、C20に記載のデバイス。
[C34]
前記現在CUに関連するCTUが、64×64よりも大きいサイズを有する、C20に記載のデバイス。
[C35]
前記ビデオコーダが、
少なくとも4つの可能なコンテキストのグループから前記コンテキストを選択することを行うようにさらに構成された、C34に記載のデバイス。
[C36]
少なくとも4つの可能なコンテキストの前記グループが6つの可能なコンテキストを備える、C35に記載のデバイス。
[C37]
前記ビデオコーダが、前記現在CUに対する1つまたは複数の空間的に隣接するCUのCU深度に関係する情報に基づいて、前記シンタックス要素のための前記コンテキストを選択するように構成された、C20に記載のデバイス。
[C38]
前記ビデオコーダが、前記現在CUに対する1つまたは複数の時間的に隣接するCUのCU深度に関係する情報に基づいて、前記シンタックス要素のための前記コンテキストを選択するように構成された、C20に記載のデバイス。
[C39]
ビデオデータをコーディングするための装置であって、前記装置は、
エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、前記現在CUに関連するシンタックス要素のためのコンテキストを選択するための手段と、ここにおいて、前記シンタックス要素は、前記現在CUがサブCUにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングするための手段と
を備える、装置。
[C40]
実行されたとき、1つまたは複数のプロセッサに、
エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、前記現在CUに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記シンタックス要素は、前記現在CUがサブCUにスプリットされるかどうかを表す、
前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体。

Claims (40)

  1. ビデオデータをコーディングする方法であって、前記方法は、
    エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、前記現在CUに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記シンタックス要素は、前記現在CUがサブCUにスプリットされるかどうかを表す、
    前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
    を備える、方法。
  2. 前記エントロピーコーディングプロセスがコンテキスト適応型バイナリ算術コーディング(CABAC)プロセスを備え、ここにおいて、エントロピーコーディングすることが、CABACコーディングすることを備える、請求項1に記載の方法。
  3. CABACコーディングすることが、CABAC符号化することまたはCABAC復号することを備える、請求項2に記載の方法。
  4. 前記1つまたは複数の隣接CUに関係する1つまたは複数のCU深度が、前記現在CUのCU深度に等しい、請求項1に記載の方法。
  5. 前記1つまたは複数の隣接CUに関係する1つまたは複数のCU深度が、前記現在CUのCU深度に等しくない、請求項1に記載の方法。
  6. 前記現在CUのCU深度が前記1つまたは複数の隣接CUの最小CU深度よりも小さいかどうかを決定することと、
    前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいという決定に基づいて、前記コンテキストを選択することと
    をさらに備える、請求項1に記載の方法。
  7. 前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を255に等しく設定すること
    をさらに備える、請求項6に記載の方法。
  8. 前記選択されたコンテキストは、前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいとき、前記シンタックス要素のための1に等しい確率値に対応する、請求項1に記載の方法。
  9. 前記選択されたコンテキストが、1に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備える、請求項8に記載の方法。
  10. 前記現在CUのCU深度が前記1つまたは複数の隣接CUの最大CU深度よりも大きいかどうかを決定することと、
    前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいという決定に基づいて、前記コンテキストを選択することと
    をさらに備える、請求項1に記載の方法。
  11. 前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を0に等しく設定すること
    をさらに備える、請求項10に記載の方法。
  12. 前記選択されたコンテキストは、前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいとき、前記シンタックス要素のための0に等しい確率値に対応する、請求項1に記載の方法。
  13. 前記選択されたコンテキストが、0に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備える、請求項12に記載の方法。
  14. 前記シンタックス要素がsplit_cu_flagシンタックス要素を備える、請求項1に記載の方法。
  15. 前記現在CUに関連するCTUが、64×64よりも大きいサイズを有する、請求項1に記載の方法。
  16. 少なくとも4つの可能なコンテキストのグループから前記コンテキストを選択すること
    をさらに備える、請求項15に記載の方法。
  17. 少なくとも4つの可能なコンテキストの前記グループが6つの可能なコンテキストを備える、請求項16に記載の方法。
  18. 前記シンタックス要素のための前記コンテキストを選択することが、前記現在CUに対する1つまたは複数の空間的に隣接するCUのCU深度に関係する情報に基づく、請求項1に記載の方法。
  19. 前記シンタックス要素のための前記コンテキストを選択することが、前記現在CUに対する1つまたは複数の時間的に隣接するCUのCU深度に関係する情報に基づく、請求項1に記載の方法。
  20. ビデオデータをコーディングするためのデバイスであって、前記デバイスが、
    前記ビデオデータを記憶するように構成されたメモリと、
    前記メモリと通信しているビデオコーダと
    を備え、ここにおいて、前記ビデオコーダは、
    エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、前記メモリに記憶された前記現在CUに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記シンタックス要素は、前記現在CUがサブCUにスプリットされるかどうかを表す、
    前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
    を行うように構成された、デバイス。
  21. 前記エントロピーコーディングプロセスがコンテキスト適応型バイナリ算術コーディング(CABAC)プロセスを備え、ここにおいて、前記ビデオコーダが、エントロピーコーディングするように構成されることが、前記ビデオコーダが、CABACコーディングするように構成されることを備える、請求項20に記載のデバイス。
  22. 前記ビデオコーダが、CABACコーディングするように構成されることが、前記ビデオコーダが、CABAC符号化またはCABAC復号するように構成されることを備える、請求項21に記載のデバイス。
  23. 前記1つまたは複数の隣接CUに関係する1つまたは複数のCU深度が、前記現在CUのCU深度に等しい、請求項20に記載のデバイス。
  24. 前記1つまたは複数の隣接CUに関係する1つまたは複数のCU深度が、前記現在CUのCU深度に等しくない、請求項20に記載のデバイス。
  25. 前記ビデオコーダは、
    前記現在CUのCU深度が前記1つまたは複数の隣接CUの最小CU深度よりも小さいかどうかを決定することと、
    前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいという決定に基づいて、前記コンテキストを選択することと
    を行うようにさらに構成された、請求項20に記載のデバイス。
  26. 前記ビデオコーダは、
    前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を255に等しく設定すること
    を行うようにさらに構成された、請求項25に記載のデバイス。
  27. 前記選択されたコンテキストは、前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最小CU深度よりも小さいとき、前記シンタックス要素のための1に等しい確率値に対応する、請求項20に記載のデバイス。
  28. 前記選択されたコンテキストが、1に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備える、請求項27に記載のデバイス。
  29. 前記ビデオコーダは、
    前記現在CUのCU深度が前記1つまたは複数の隣接CUの最大CU深度よりも大きいかどうかを決定することと、
    前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいという決定に基づいて、前記コンテキストを選択することと
    を行うようにさらに構成された、請求項20に記載のデバイス。
  30. 前記ビデオコーダは、
    前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいという前記決定に基づいて、前記選択されたコンテキストに対応する初期値を0に等しく設定すること
    を行うようにさらに構成された、請求項29に記載のデバイス。
  31. 前記選択されたコンテキストは、前記現在CUの前記CU深度が前記1つまたは複数の隣接CUの前記最大CU深度よりも大きいとき、前記シンタックス要素のための0に等しい確率値に対応する、請求項20に記載のデバイス。
  32. 前記選択されたコンテキストが、0に等しい初期値をもつ専用コンテキストまたは適応コンテキストのうちの1つを備える、請求項31に記載のデバイス。
  33. 前記シンタックス要素がsplit_cu_flagシンタックス要素を備える、請求項20に記載のデバイス。
  34. 前記現在CUに関連するCTUが、64×64よりも大きいサイズを有する、請求項20に記載のデバイス。
  35. 前記ビデオコーダが、
    少なくとも4つの可能なコンテキストのグループから前記コンテキストを選択すること
    を行うようにさらに構成された、請求項34に記載のデバイス。
  36. 少なくとも4つの可能なコンテキストの前記グループが6つの可能なコンテキストを備える、請求項35に記載のデバイス。
  37. 前記ビデオコーダが、前記現在CUに対する1つまたは複数の空間的に隣接するCUのCU深度に関係する情報に基づいて、前記シンタックス要素のための前記コンテキストを選択するように構成された、請求項20に記載のデバイス。
  38. 前記ビデオコーダが、前記現在CUに対する1つまたは複数の時間的に隣接するCUのCU深度に関係する情報に基づいて、前記シンタックス要素のための前記コンテキストを選択するように構成された、請求項20に記載のデバイス。
  39. ビデオデータをコーディングするための装置であって、前記装置は、
    エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、前記現在CUに関連するシンタックス要素のためのコンテキストを選択するための手段と、ここにおいて、前記シンタックス要素は、前記現在CUがサブCUにスプリットされるかどうかを表す、
    前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングするための手段と
    を備える、装置。
  40. 実行されたとき、1つまたは複数のプロセッサに、
    エントロピーコーディングプロセスの一部として、現在コーディングユニット(CU)に対する1つまたは複数の隣接CUのCU深度に関係する情報に基づいて、前記現在CUに関連するシンタックス要素のためのコンテキストを選択することと、ここにおいて、前記シンタックス要素は、前記現在CUがサブCUにスプリットされるかどうかを表す、
    前記選択されたコンテキストに基づいて前記シンタックス要素をエントロピーコーディングすることと
    を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体。
JP2017539277A 2015-01-27 2016-01-27 大きいコーディングツリーユニットのためのコンテキスト Active JP6462886B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562108465P 2015-01-27 2015-01-27
US62/108,465 2015-01-27
US15/007,060 2016-01-26
US15/007,060 US9936201B2 (en) 2015-01-27 2016-01-26 Contexts for large coding tree units
PCT/US2016/015034 WO2016123169A1 (en) 2015-01-27 2016-01-27 Contexts for large coding tree units

Publications (3)

Publication Number Publication Date
JP2018506912A true JP2018506912A (ja) 2018-03-08
JP2018506912A5 JP2018506912A5 (ja) 2018-06-07
JP6462886B2 JP6462886B2 (ja) 2019-01-30

Family

ID=56433533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017539277A Active JP6462886B2 (ja) 2015-01-27 2016-01-27 大きいコーディングツリーユニットのためのコンテキスト

Country Status (11)

Country Link
US (2) US9936201B2 (ja)
EP (1) EP3251354B1 (ja)
JP (1) JP6462886B2 (ja)
KR (1) KR102452744B1 (ja)
CN (1) CN107211132B (ja)
BR (1) BR112017016159B1 (ja)
CA (1) CA2971764A1 (ja)
EA (1) EA034984B1 (ja)
TN (1) TN2017000309A1 (ja)
TW (1) TWI686080B (ja)
WO (1) WO2016123169A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021530124A (ja) * 2018-06-29 2021-11-04 キヤノン株式会社 ビデオサンプルの変換されたブロックを符号化および復号するための方法、装置、およびシステム
JP2022527447A (ja) * 2019-03-18 2022-06-02 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ニューラルネットワークのパラメータを圧縮する方法および装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9936201B2 (en) 2015-01-27 2018-04-03 Qualcomm Incorporated Contexts for large coding tree units
WO2016153251A1 (ko) * 2015-03-23 2016-09-29 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
US9942548B2 (en) * 2016-02-16 2018-04-10 Google Llc Entropy coding transform partitioning information
US10880548B2 (en) * 2016-06-01 2020-12-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding video according to coding order
WO2018066980A1 (ko) * 2016-10-04 2018-04-12 김기백 영상 데이터 부호화/복호화 방법 및 장치
EP3306927A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Encoding and decoding methods and corresponding devices
WO2018084523A1 (ko) 2016-11-01 2018-05-11 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
KR102354628B1 (ko) * 2017-03-31 2022-01-25 한국전자통신연구원 부호화 트리 유닛 및 부호화 유닛의 처리를 수행하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
JP6680260B2 (ja) 2017-04-28 2020-04-15 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム
US11330259B2 (en) * 2017-07-07 2022-05-10 Samsung Electronics Co., Ltd. Video coding method and device, video decoding method and device
CN114554221B (zh) 2017-07-19 2023-08-01 三星电子株式会社 编码方法及用于其的设备、解码方法及用于其的设备
CN111316642B (zh) 2017-10-27 2021-10-01 华为技术有限公司 信令图像编码和解码划分信息的方法和装置
WO2019167849A1 (en) * 2018-02-28 2019-09-06 Sharp Kabushiki Kaisha Systems and methods for partitioning regions of a picture for video coding using different coding unit sizes
CN116668694A (zh) 2018-06-15 2023-08-29 Lg电子株式会社 图像解码方法、图像编码方法和发送方法
CN111107367B (zh) * 2018-10-26 2023-12-08 北京字节跳动网络技术有限公司 块分割方法和装置
EP3906683A1 (en) * 2019-01-02 2021-11-10 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Encoding and decoding a picture
CN117560489A (zh) 2019-05-14 2024-02-13 北京字节跳动网络技术有限公司 用于残差编解码的上下文建模
CN117376559A (zh) * 2019-06-13 2024-01-09 北京达佳互联信息技术有限公司 用于视频编解码的子块变换的方法和系统
US11284077B2 (en) * 2019-09-10 2022-03-22 Mediatek Inc. Signaling of subpicture structures
US20250008159A1 (en) * 2023-06-30 2025-01-02 Nokia Technologies Oy Arithmetic coding with spatial tuning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012059577A1 (en) * 2010-11-04 2012-05-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Picture coding supporting block merging and skip mode
WO2012176463A1 (ja) * 2011-06-23 2012-12-27 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
WO2013005968A2 (ko) * 2011-07-01 2013-01-10 삼성전자 주식회사 계층적 구조의 데이터 단위를 이용한 엔트로피 부호화 방법 및 장치, 복호화 방법 및 장치
WO2013066051A1 (ko) * 2011-10-31 2013-05-10 삼성전자 주식회사 변환 계수 레벨의 엔트로피 부호화 및 복호화를 위한 컨텍스트 모델 결정 방법 및 장치

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003279015A1 (en) 2002-09-27 2004-04-19 Videosoft, Inc. Real-time video coding/decoding
JP2004328498A (ja) 2003-04-25 2004-11-18 Mitsubishi Electric Corp 基地局、端末、通信システム、及び通信方法
US8107535B2 (en) 2003-06-10 2012-01-31 Rensselaer Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
KR100703776B1 (ko) * 2005-04-19 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치
JP2008167149A (ja) 2006-12-28 2008-07-17 Matsushita Electric Ind Co Ltd 通信方法及び通信装置
KR101356733B1 (ko) 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
US7941178B2 (en) 2007-04-06 2011-05-10 Intel Corporation Systems and methods for scheduling transmissions for coexistence of differing wireless radio protocols
US8483282B2 (en) 2007-10-12 2013-07-09 Qualcomm, Incorporated Entropy coding of interleaved sub-blocks of a video block
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
WO2010036772A2 (en) 2008-09-26 2010-04-01 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
CN101836454B (zh) 2008-12-03 2012-08-22 联发科技股份有限公司 对有序熵切片执行平行cabac码处理的方法及装置
US8787468B2 (en) 2009-06-19 2014-07-22 Motorola Mobility Llc Method and apparatus for multi-radio coexistence
US8626067B2 (en) 2009-10-26 2014-01-07 Mediatek Inc. System and methods for enhancing coexistence efficiency for multi-radio terminals
KR101700358B1 (ko) 2009-12-09 2017-01-26 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US9369736B2 (en) 2010-04-05 2016-06-14 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
RU2543550C2 (ru) 2010-09-30 2015-03-10 Самсунг Электроникс Ко., Лтд. Способ и устройство кодирования видео для кодирования символов с иерархической структурой, способ и устройство декодирования видео для декодирования символов с иерархической структурой
US9497472B2 (en) 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
WO2012134246A2 (ko) 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
US8995523B2 (en) 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
KR20130004173A (ko) * 2011-07-01 2013-01-09 한국항공대학교산학협력단 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치
TR201819237T4 (tr) * 2011-09-14 2019-01-21 Samsung Electronics Co Ltd Boyutuna Bağlı Olarak Bir Tahmin Birimi (TB) Kod Çözme Usulü
WO2015006951A1 (en) * 2013-07-18 2015-01-22 Mediatek Singapore Pte. Ltd. Methods for fast encoder decision
US9936201B2 (en) 2015-01-27 2018-04-03 Qualcomm Incorporated Contexts for large coding tree units

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012059577A1 (en) * 2010-11-04 2012-05-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Picture coding supporting block merging and skip mode
WO2012176463A1 (ja) * 2011-06-23 2012-12-27 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
WO2013005968A2 (ko) * 2011-07-01 2013-01-10 삼성전자 주식회사 계층적 구조의 데이터 단위를 이용한 엔트로피 부호화 방법 및 장치, 복호화 방법 및 장치
WO2013066051A1 (ko) * 2011-10-31 2013-05-10 삼성전자 주식회사 변환 계수 레벨의 엔트로피 부호화 및 복호화를 위한 컨텍스트 모델 결정 방법 및 장치

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"High efficiency video coding", RECOMMENDATION ITU-T H.265, vol. H.265(04/2013), JPN6018031506, April 2013 (2013-04-01), pages pp.45,86-87,181-184 *
JIANLE CHEN AND TAMMY LEE: "Simplified context model selection for block level syntax coding", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, vol. JCTVC-F497, JPN6018031505, July 2011 (2011-07-01), pages 1 - 8 *
TZU-DER CHUANG ET AL.: "CE1.A.3: Reducing line buffers for CABAC", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, vol. JCTVC-G200_r1, JPN6018031504, November 2011 (2011-11-01), pages 1 - 5 *
WEI-JUNG CHIEN AND MARTA KARCZEWICZ: "Context modeling of split flag for CABAC", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, vol. JCTVC-G829_r1, JPN6018031502, November 2011 (2011-11-01), pages 1 - 2 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021530124A (ja) * 2018-06-29 2021-11-04 キヤノン株式会社 ビデオサンプルの変換されたブロックを符号化および復号するための方法、装置、およびシステム
US12047574B2 (en) 2018-06-29 2024-07-23 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
US12047573B2 (en) 2018-06-29 2024-07-23 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
US12047572B2 (en) 2018-06-29 2024-07-23 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
US12058324B2 (en) 2018-06-29 2024-08-06 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
US12069264B2 (en) 2018-06-29 2024-08-20 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
JP2022527447A (ja) * 2019-03-18 2022-06-02 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ニューラルネットワークのパラメータを圧縮する方法および装置
JP7356513B2 (ja) 2019-03-18 2023-10-04 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ニューラルネットワークのパラメータを圧縮する方法および装置

Also Published As

Publication number Publication date
CN107211132B (zh) 2019-10-18
CN107211132A (zh) 2017-09-26
EP3251354A1 (en) 2017-12-06
US20160219276A1 (en) 2016-07-28
EA201791429A1 (ru) 2017-11-30
TN2017000309A1 (en) 2019-01-16
BR112017016159B1 (pt) 2023-11-07
US9936201B2 (en) 2018-04-03
KR20170108011A (ko) 2017-09-26
CA2971764A1 (en) 2016-08-04
WO2016123169A1 (en) 2016-08-04
BR112017016159A2 (pt) 2018-04-17
KR102452744B1 (ko) 2022-10-07
US10298930B2 (en) 2019-05-21
US20180227580A1 (en) 2018-08-09
TW201635798A (zh) 2016-10-01
JP6462886B2 (ja) 2019-01-30
EP3251354B1 (en) 2022-04-20
EA034984B1 (ru) 2020-04-14
TWI686080B (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
JP6462886B2 (ja) 大きいコーディングツリーユニットのためのコンテキスト
US10609414B2 (en) Context modeling for transform coefficient coding
KR102210792B1 (ko) 잔차 차동 펄스 코드 변조 (dpcm) 확장들 및 변환 스킵, 회전 및 스캔들과의 조화
CN107925764B (zh) 用于对视频数据进行译码的方法和装置
JP6246920B2 (ja) パレットベースのビデオコーディングにおけるパレット予測
JP6181150B2 (ja) コード化ブロックフラグのコーディング
JP6162150B2 (ja) ビデオコーディング用の残差4分木(rqt)コーディング
JP5847958B2 (ja) コンテキスト適応型バイナリ算術コード化のためのコンテキスト削減
JP6144333B2 (ja) レートひずみ最適量子化におけるレベル決定
US20130202037A1 (en) Restriction of prediction units in b slices to uni-directional inter prediction
US20130121417A1 (en) Constrained reference picture sets in wave front parallel processing of video data
JP2019506071A (ja) ビデオコード化のためのマルチタイプツリーフレームワーク
JP2018537908A (ja) ビデオデータの符号情報をコーディングすること
JP2018509071A (ja) ビデオコーディングにおけるパレットブロックサイズに対する制限
JP2018505590A (ja) サブサンプリングフォーマットのためのパレットモード
JP2015516768A (ja) 変換係数コーディング
JP2017523667A (ja) ビデオコーディングにおけるカラーパレットモード
JP2015508617A (ja) 映像の符号化における係数の符号化
JP2015510358A (ja) Bスライス中の予測単位の単方向インター予測への制限
JP2017532896A (ja) パレットインデックスのコーディングのためのパースの依存性の低減
JP2017527168A (ja) 高度パレット予測およびシグナリング
CN114982240A (zh) 用于视频译码的多重变换集信令
OA18378A (en) Contexts for large coding tree units.

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180423

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180423

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180806

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181227

R150 Certificate of patent or registration of utility model

Ref document number: 6462886

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