【文献】
JCTVC-E278_spec_text.doc,2011年 3月,pp.i-viii, pp.9-66,URL,http://phenix.it-sudparis.eu/jct/doc_end_user/documents/5_Geneva/wg11/JCTVC-E278-v3.zip
【文献】
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,6th Meeting: Torino, IT,2011年 7月,JCTVC-F497,pp.1-6
【文献】
Hisao Sasai and Takahiro Nishi,Modified Context Derivation for Complexity reduction,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F429r1,pp.1-10
【文献】
Xiaoran Cao et al.,CE6.b1 Report on Short Distance Intra Prediction Method,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,5th Meeting: Geneva,2011年 3月,JCTVC-E278_r2,pp.1-7
【文献】
Jaehyun Lim and Byeongmoon Jeon,Intra prediction mode coding with CAVLC on SDIP,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F111_r2,pp.1-6
【文献】
Wei-Jung Chien et al.,Memory and Parsing Friendly CABAC Context,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F606_r2,pp.1-16
【文献】
Liwei Guo et al.,Non-CE6: Line buffer reduction for CABAC context of SDIP syntax,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva,2011年11月,JCTVC-G754,pp.1-7
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
ビデオエンコーダ又はビデオデコーダなどのビデオコーダがビデオデータのコード化単位(CU)をコード化するとき、ビデオコーダは、区分モードに従ってCUを1つ又は複数の予測単位(PU)に区分することができる。説明を簡単にするために、本開示は、ビデオコーダが現在コード化しているCUを現在CUと呼ぶ場合がある。同様に、本開示は、ビデオコーダが現在コード化しているピクチャを現在ピクチャと呼ぶ場合がある。例えば、ビデオエンコーダがイントラ予測を使用して現在CUをコード化している場合、ビデオコーダは、2N×2N区分モード、N×N区分モード、2N×hN区分モード、又はhN×2N区分モードに従って、現在CUを1つ又は複数のPUに区分することができる。2N×hN区分モード及びhN×2N区分モードは、短距離イントラ予測(SDIP)区分モードと呼ばれる場合がある。
【0014】
ビデオコーダが2N×2N区分モードに従って現在CUを区分するとき、ビデオコーダは現在CUを区分しない。むしろ、ビデオコーダが2N×2N区分モードに従って現在CUを区分するとき、現在CUに関連付けられた単一のPUのみが存在する。ビデオコーダがN×N区分モードに従って現在CUを区分するとき、ビデオコーダは現在CUに関連付けられた4個の正方形PUを生成する。ビデオコーダが2N×hN区分モードに従って現在CUを区分するとき、ビデオコーダは現在CUに関連付けられた複数の長方形で水平面指向のPUを生成することができる。ビデオコーダがhN×2N区分モードに従って現在CUを区分するとき、ビデオコーダは現在CUに関連付けられた複数の長方形で垂直面指向のPUを生成することができる。
【0015】
1つ又は複数のSDIPシンタックス要素は、ビデオコーダがイントラ予測を使用して現在CUをコード化するとき、それにより現在CUがPUに区分されるモードを規定することができる。例えば、現在CUのSDIPシンタックス要素は、SDIPフラグとSDIP方向フラグとを含むことができる。SDIPフラグの第1の値(例えば、0)は、現在CUが1つ又は複数の正方形PUに区分されることを示すことができる。SDIPフラグの第2の値(例えば、1)は、現在CUが複数の長方形PUに区分されることを示すことができる。SDIP方向フラグの第1の値(例えば、0)は、現在CUが複数の垂直面指向の長方形PUに区分されることを示すことができる。SDIP方向フラグの第2の値(例えば、1)は、現在CUが複数の水平面指向の長方形PUに区分されることを示すことができる。
【0016】
SDIPシンタックス要素を表現するために使用されるビット数を減らすために、ビデオエンコーダは、SDIPシンタックス要素に対して、コンテキスト適応型バイナリ算術コード化(CABAC)符号化動作(encoding operations)などの、1つ又は複数のエントロピー符号化動作を実行することができる。ビデオエンコーダは、SDIPシンタックス要素の符号化された表現を含むビットストリームを生成することができる。ビデオエンコーダは、ビットストリームからのSDIPシンタックス要素を構文解析するとき、1つ又は複数のエントロピー復号動作を実行することができる。
【0017】
SDIPシンタックス要素に対してエントロピーコード化動作(entropy coding operation)(即ち、エントロピー符号化動作又はエントロピー復号動作)を実行するために、ビデオコーダはエントロピーコード化コンテキストを識別することができる。エントロピーコード化コンテキストは、ビデオコーダがエントロピーコード化動作を実行する際に使用できる、予め規定されたコンテキスト依存データを示すことができる。例えば、CABAC用のエントロピーコード化コンテキストは、特定のビットをコード化する確率を示すことができる。例えば、1つのエントロピーコード化コンテキストは、0の値のビットをコード化する0.6の確率と1の値のビットをコード化する0.4の確率とを示すことができる。この例では、別のエントロピーコード化コンテキストは、0の値のビットをコード化する0.7の確率と1の値のビットをコード化する0.3の確率とを示すことができる。
【0018】
次いで、ビデオコーダは、識別されたエントロピーコード化コンテキストを使用して、SDIP要素をエントロピーコード化することができる。幾つかのビデオコーダは、現在ピクチャ内の現在CUの上にあるCUに関連する情報に基づいて、エントロピーコード化コンテキストを識別することができる。このようにしてエントロピーコード化コンテキストの選択をサポートするために、ビデオコーダは、現在CUの上にあるCUに関連する、SDIPシンタックス要素などの情報をラインバッファに記憶することができる。ラインバッファは、レジスタ又はランダムアクセスメモリ(RAM)ユニットなどのメモリユニットを備えることができる。例えば、現在CUが行kである場合、ビデオコーダは、CUに関連するラインバッファ情報を行k−1に記憶し、ここでkはピクチャ内の上から下に行が下がるにつれて増大し、k=0はピクチャ内のCUの一番上の行に対応する。このラインバッファは、ビデオコーダの設計及び実施に関連する複雑さとコストとを増大させる可能性がある。
【0019】
本開示の技法によれば、ビデオコーダは、現在ピクチャ内の現在CUの上にあるいずれの隣接CUも参照せずに、1つ又は複数のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別することができる。次いで、ビデオコーダは、識別されたエントロピーコード化コンテキストを使用して、SDIPシンタックス要素をエントロピーコード化することができる。ビデオコーダは、現在CUの上にあるいずれの隣接CUに関連する情報も参照せずにエントロピーコード化コンテキストを識別するので、ビデオコーダは、現在CUの上にあるCUに関連する情報を記憶するために、ラインバッファを必要としない場合があるか、又は縮小されたサイズのラインバッファを使用する場合がある。これにより、ビデオコーダの設計及び実施が簡略化される可能性がある。
【0020】
説明を簡単にするために、本開示は、CU、PU、又は変換単位(TU)を、他のCU、PU、又はTUと様々な空間的な関係を有していると記載する場合がある。そのような説明は、CU、PU、及びTUが、他のCU、PU、又はTUに対応するビデオブロックに対して様々な空間的な関係を有していることを意味するように解釈することができる。加えて、本開示は、特定のCU、PU、及びTUが特定のサイズを有していると記載する場合がある。そのような説明は、そのようなCU、PU、及びTUに対応するビデオブロックがそのようなサイズを有していることを意味するように解釈することができる。さらに、本開示は、ビデオコーダが現在コード化しているPUを現在PUと呼ぶ場合がある。本開示は、ビデオコーダが現在コード化しているCUを現在CUと呼ぶ場合がある。本開示は、ビデオコーダが現在コード化しているピクチャを現在ピクチャと呼ぶ場合がある。
【0021】
添付の図面は例を示す。添付の図面内で参照番号によって指示される要素は、以下の説明において同様の参照番号で指示される要素に対応する。本開示では、順序を示す言葉(例えば、「第1の」、「第2の」、「第3の」など)で始まる名称を有する要素は、それらの要素が特定の順序を有することを必ずしも意味しない。むしろ、そのような順序を示す言葉は、同じ又は同様のタイプの異なる要素を指すために使用されるにすぎない。
【0022】
図1は、本開示の技法のうちの1つ又は複数を利用できる例示的なビデオコード化システム10を示すブロック図である。本明細書に記載される場合、「ビデオコーダ」という用語は総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコード化」又は「コード化」という用語は、総称的にビデオ符号化又はビデオ復号を指す場合がある。
【0023】
図1に示されるように、ビデオコード化システム10は、発信源機器12と宛先機器14とを含む。発信源機器12は、符号化されたビデオデータを生成する。従って、発信源機器12はビデオ符号化機器と呼ばれる場合がある。宛先機器14は、発信源機器12によって生成された、符号化されたビデオデータを復号することができる。従って、宛先機器14はビデオ復号機器と呼ばれる場合がある。発信源機器12及び宛先機器14は、ビデオコード化機器又はビデオコード化装置の例である。
【0024】
発信源機器12及び宛先機器14は、デスクトップコンピュータ、モバイルコンピュータ機器、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲の機器を備えることができる。幾つかの例では、発信源機器12及び宛先機器14は、ワイヤレス通信用に装備することができる。
【0025】
宛先機器14は、チャネル16を介して発信源機器12から符号化されたビデオデータを受信することができる。チャネル16は、発信源機器12から宛先機器14に符号化されたビデオデータを移動することが可能な、あるタイプの媒体又は機器を備えることができる。一例では、チャネル16は、発信源機器12が符号化されたビデオデータを宛先機器14にリアルタイムで直接送信することを可能にする通信媒体を備えることができる。この例では、発信源機器12は、ワイヤレス通信プロトコルなどの通信規格に従って、符号化されたビデオデータを変調することができ、変調されたビデオデータを宛先機器14に送信することができる。通信媒体は、無線周波数(RF)スペクトル又は1つ若しくは複数の物理伝送線路などのワイヤレス通信媒体又は有線通信媒体を備えることができる。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなどのパケットベースネットワークの一部を形成することができる。通信媒体は、発信源機器12から宛先機器14への通信を容易にするルータ、スイッチ、基地局、又は他の機器を含むことができる。
【0026】
別の例では、チャネル16は、発信源機器12によって生成された、符号化されたビデオデータを記憶する記憶媒体に対応することができる。この例では、宛先機器14は、ディスクアクセス又はカードアクセスを介して記憶媒体にアクセスすることができる。記憶媒体は、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、又は符号化されたビデオデータを記憶するための他の適切なデジタル記憶媒体などの様々なローカルにアクセスされるデータ記憶媒体を含むことができる。更なる例では、チャネル16は、発信源機器12によって生成された、符号化されたビデオを記憶するファイルサーバ又は別の中間記憶装置を含むことができる。この例では、宛先機器14は、ストリーミング又はダウンロードを介して、ファイルサーバ又は別の中間記憶装置に記憶された、符号化されたビデオデータにアクセスすることができる。ファイルサーバは、符号化されたビデオデータを記憶すること、及び符号化されたビデオデータを宛先機器14に送信することが可能な、あるタイプのサーバであり得る。例示的なファイルサーバには、(例えば、ウェブサイト用の)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続記憶(NAS)装置、及びローカルディスクドライブが含まれる。宛先機器14は、インターネット接続を含む標準のデータ接続を介して、符号化されたビデオデータにアクセスすることができる。例示的なタイプのデータ接続には、ファイルサーバに記憶された、符号化されたビデオデータにアクセスするのに適切な、ワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、有線接続(例えば、DSL、ケーブルモデムなど)、又はその両方の組合せが含まれ得る。ファイルサーバからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はその両方の組合せであり得る。
【0027】
本開示の技法は、ワイヤレスの用途又は設定には限定されない。本技法は、無線テレビジョン放送(over-the-air television broadcasts)、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の用途などの様々なマルチメディアの用途のいずれかをサポートするビデオコード化に適用することができる。幾つかの例では、ビデオコード化システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び/又はビデオ電話などの用途をサポートするために、単方向又は双方向のビデオ送信をサポートするように構成することができる。
【0028】
図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)及び/又は送信機を含むことができる。発信源機器12では、ビデオ発信源18は、例えばビデオカメラなどの撮像装置、以前に撮影されたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、及び/もしくは、ビデオデータを生成するためのコンピュータグラフィックスシステムなどの発信源、又はそのような発信源の組合せを含むことができる。
【0029】
ビデオエンコーダ20は、撮影された、プリ撮影された、又はコンピュータ生成されたビデオデータを符号化することができる。符号化されたビデオデータは、発信源機器12の出力インターフェース22を介して宛先機器14に直接送信することができる。符号化されたビデオデータは、復号及び/又は再生のために、宛先機器14によって後でアクセスするために、記憶媒体又はファイルサーバ上に記憶することもできる。
【0030】
図1の例では、宛先機器14は、入力インターフェース28と、ビデオデコーダ30と、表示装置32とを含む。場合によっては、入力インターフェース28は、受信機及び/又はモデムを含むことができる。宛先機器14の入力インターフェース28は、チャネル16を介して符号化されたビデオデータを受信する。符号化されたビデオデータは、ビデオデータを表す、ビデオエンコーダ20によって生成された様々なシンタックス要素を含むことができる。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、又はファイルサーバ上に記憶される符号化ビデオデータとともに含まれる場合がある。
【0031】
表示装置32は、宛先機器14と一体であり得るか、又はその外部にあり得る。幾つかの例では、宛先機器14は、一体型表示装置を含むことができ、外部表示装置とインターフェースするように構成することもできる。他の例では、宛先機器14は表示装置であり得る。一般に、表示装置32は、復号されたビデオデータをユーザに表示する。表示装置32は、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器、又は別のタイプの表示装置などの様々な表示装置のいずれかを備えることができる。
【0032】
ビデオエンコーダ20及びビデオデコーダ30は、現在開発中の高効率ビデオコード化(HEVC)規格などのビデオ圧縮規格に従って動作することができ、HEVCテストモデル(HM)に準拠することができる。「HEVC Working Draft7」又は「WD7」と呼ばれる、来るべきHEVC規格の最新のドラフトは、文書JCTVC−I1003、Brossら、「高効率ビデオコード化(HEVC)テキスト仕様ドラフト7」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11のJoint Collaborative Team on Video Coding(JCT−VC)、第9回会合:スイス ジュネーブ、2012年5月に記載されており、2012年7月19日現在、この文書は、http://phenix.int−evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC−I1003−v6.zipからダウンロードされ、参照によりその全体が本明細書に組み込まれている。代替として、ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG−4、Part 10、アドバンストビデオコード化(AVC)と呼ばれるITU−T H.264規格などの、他のプロプライエタリ又は業界標準、若しくはそのような規格の拡張に従って動作することができる。しかしながら、本開示の技法は、いかなる特定のコード化規格又はコード化技法にも限定されない。ビデオ圧縮の規格及び技法の他の例には、MPEG−2、ITU−T H.263、及びVP8並びに関連するフォーマットなどのプロプライエタリ又はオープン発信源の圧縮フォーマットが含まれる。
【0033】
図1の例には示されていないが、ビデオエンコーダ20及びビデオデコーダ30は、各々オーディオエンコーダ及びオーディオデコーダと統合することができ、共通のデータストリーム又は別個のデータストリーム内のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含むことができる。適用可能な場合、幾つかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠することができる。
【0034】
また、
図1は例にすぎず、本開示の技法は、符号化機器と復号機器との間の任意のデータ通信を必ずしも含むとは限らないビデオコード化設定(例えば、ビデオ符号化又はビデオ復号)に適用することができる。他の例では、データが、ローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどを行うことができる。符号化機器は、データを符号化しメモリに記憶することができ、かつ/又は、復号機器は、メモリからデータを取り出し復号することができる。多くの例では、符号化及び復号は、互いに通信しないが、メモリにデータを符号化し、及び/又はメモリからデータを取り出して復号するだけの機器によって実行される。
【0035】
ビデオエンコーダ20及びビデオデコーダ30は、各々1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ハードウェア、又はそれらの任意の組合せなどの様々な適切な回路のいずれかとして実施することができる。本技法がソフトウェア内で部分的に実施されるとき、機器は、適切な非一時的コンピュータ可読記憶媒体にソフトウェア用の命令を記憶し、1つ又は複数のプロセッサを使用してその命令をハードウェア内で実行して、本開示の技法を実行することができる。(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む)上記のいずれかは、1つ又は複数のプロセッサであると考えることができる。ビデオエンコーダ20及びビデオデコーダ30の各々は、1つ又は複数のエンコーダ又はデコーダ内に含まれる場合があり、それらのいずれかは、それぞれの機器内の複合エンコーダ/デコーダ(コーデック)の一部として統合される場合がある。
【0036】
本開示は、概して、ビデオエンコーダ20がビデオデコーダ30などの別の機器に、ある情報を「信号伝達(signaling)」することに言及する場合がある。しかしながら、ビデオエンコーダ20は、特定のシンタックス要素をビデオデータの様々な符号化された部分に関連付けることにより、情報を信号伝達できることを理解されたい。即ち、ビデオエンコーダ20は、特定のシンタックス要素をビデオデータの様々な符号化された部分のヘッダに記憶することにより、データを「信号伝達」することができる。場合によっては、そのようなシンタックス要素は、ビデオデコーダ30によって受信及び復号される前に、符号化及び(例えば、記憶システムに)記憶することができる。従って、「信号伝達」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックス又は他のデータの通信を指すことができる。そのような通信は、リアルタイム又はほぼリアルタイムに起こる場合がある。代替として、そのような通信は、符号化時に符号化されたビットストリーム内でシンタックス要素を媒体に記憶するときに起こる場合があるなど、ある時間帯にわたって起こる場合があり、次いで、これらの要素は、この媒体に記憶された後の任意の時間に、復号機器によって取り出すことができる。
【0037】
簡略に上述されたように、ビデオエンコーダ20はビデオデータを符号化する。ビデオデータは、1つ又は複数のピクチャを備えることができる。ピクチャの各々は、ビデオの一部を形成する静止画像であり得る。幾つかの事例では、ピクチャはビデオ「フレーム」と呼ぶ場合がある。ビデオエンコーダ20がビデオデータを符号化するとき、ビデオエンコーダ20はビットストリームを生成することができる。ビットストリームは、ビデオデータのコード化された表現を形成する、ビットのシーケンスを含むことができる。ビットストリームは、コード化されたピクチャと関連データとを含むことができる。コード化されたピクチャは、ピクチャのコード化された表現であり得る。
【0038】
ビットストリームを生成するために、ビデオエンコーダ20は、ビデオデータ内の各ピクチャに対して符号化動作を実行することができる。ビデオエンコーダ20がピクチャに対して符号化動作を実行するとき、ビデオエンコーダ20は、一連のコード化されたピクチャと関連データとを生成することができる。関連データは、シーケンスパラメータセットと、ピクチャパラメータセットと、適応パラメータセットと、他のシンタックス構造とを含むことができる。シーケンスパラメータセット(SPS)は、ピクチャの0個以上のシーケンスに適用可能なパラメータを含むことができる。ピクチャパラメータセット(PPS)は、0個以上のピクチャに適用可能なパラメータを含むことができる。適応パラメータセット(APS)は、0個以上のピクチャに適用可能なパラメータを含むことができる。APS内のパラメータは、PPS内のパラメータよりも変化する可能性が高いパラメータであり得る。
【0039】
コード化されたピクチャを生成するために、ビデオエンコーダ20は、ピクチャを等しいサイズのビデオブロックに区分することができる。ビデオブロックはサンプルの2次元アレイであり得る。ビデオブロックの各々は、ツリーブロックに対応することができる。幾つかの事例では、ツリーブロックは、最大コード化単位(LCU)又は「コード化ツリーブロック」と呼ぶ場合がある。HEVCのツリーブロックは、H.264/AVCなどの従来の規格のマクロブロックに広い意味で類似する場合がある。しかしながら、ツリーブロックは、特定のサイズに必ずしも限定されるものではなく、1つ又は複数のコード化単位(CU)を含むことができる。ビデオエンコーダ20は、4分木区分を使用して、ツリーブロックのビデオブロックをCUに対応するビデオブロックに区分することができるので、「ツリーブロック」という名前である。
【0040】
幾つかの例では、ビデオエンコーダ20は、ピクチャを複数のスライスに区分することができる。スライスの各々は整数個のCUを含むことができる。幾つかの事例では、スライスは整数個のツリーブロックを備えることができる。他の事例では、スライスの境界はツリーブロック内にある場合がある。
【0041】
ピクチャに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化動作を実行することができる。ビデオエンコーダ20がスライスに対して符号化動作を実行するとき、ビデオエンコーダ20は、スライスの符号化された表現を生成することができる。スライスに関連付けられた符号化されたデータは、「コード化されたスライス」と呼ぶ場合がある。
【0042】
コード化されたスライスを生成するために、ビデオエンコーダ20は、スライス内の各ツリーブロックに対して符号化動作を実行することができる。ビデオエンコーダ20がツリーブロックに対して符号化動作を実行するとき、ビデオエンコーダ20は、コード化されたツリーブロックを生成することができる。コード化されたツリーブロックは、ツリーブロックの符号化された表現であり得る。
【0043】
ビデオエンコーダ20がコード化されたスライスを生成するとき、ビデオエンコーダ20は、ラスタ走査順序又は波面走査順序に従って、スライス内の(この場合最大コード化ユニットを表す)ツリーブロックに対して符号化動作を実行する(即ち、符号化する)ことができる。言い換えれば、ビデオエンコーダ20は、スライス内のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の低い行にわたって左から右に進み、以下同様の順序で、ビデオエンコーダ20がスライス内のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化することができる。
【0044】
ラスタ走査順序(raster scan order)又は波面走査順序(wavefront scan order)に従ってツリーブロックを符号化する結果として、所与のツリーブロックの上側及び左側のツリーブロックは符号化することができるが、所与のツリーブロックの下側及び右側のツリーブロックはまだ符号化されていない。その結果、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上側及び左側のツリーブロックを符号化することによって生成された情報にアクセスすることができる可能性がある。しかしながら、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下側及び右側のツリーブロックを符号化することによって生成された情報にアクセスすることはできない可能性がある。
【0045】
コード化されたツリーブロックを生成するために、ビデオエンコーダ20は、ツリーブロックのビデオブロック上で4分木区分を再帰的に実行して、ビデオブロックを徐々により小さいビデオブロックに分割することができる。より小さいビデオブロックの各々は、異なるCUに対応することができる。例えば、ビデオエンコーダ20は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックの1つ又は複数を4つの等しいサイズのサブサブブロックに区分することができ、以下同様である。区分されたCUは、そのビデオブロックが他のCUに対応するビデオブロックに区分されたCUであり得る。区分されていないCUは、そのビデオブロックが他のCUに対応するビデオブロックに区分されていないCUであり得る。
【0046】
ビットストリーム内の1つ又は複数のシンタックス要素は、ビデオエンコーダ20がツリーブロックのビデオブロックを区分できる最大の回数を示すことができる。CUのビデオブロックは正方形の形状であり得る。CUのビデオブロックのサイズ(即ち、CUのサイズ)は、8×8の画素から、最大で64×64以上の画素を有するツリーブロックのビデオブロックのサイズ(即ち、ツリーブロックのサイズ)までわたる場合がある。
【0047】
ビデオエンコーダ20は、Z走査順序に従って、ツリーブロックの各CUに対して符号化動作を実行する(即ち、符号化する)ことができる。言い換えれば、ビデオエンコーダ20は、上左のCUと、上右のCUと、下左のCUと、次いで下右のCUとを、その順序で符号化することができる。ビデオエンコーダ20が区分されたCUに対して符号化動作を実行するとき、ビデオエンコーダ20は、Z走査順序に従って区分されたCUのビデオブロックのサブブロックに対応するCUを符号化することができる。言い換えれば、ビデオエンコーダ20は、上左のサブブロックに対応するCUと、上右のサブブロックに対応するCUと、下左のサブブロックに対応するCUと、次いで下右のサブブロックに対応するCUとを、その順序で符号化することができる。
【0048】
Z走査順序に従ったツリーブロックのCUの符号化の結果として、現在CUの上、上左、上右、左、及び下左のCUは符号化されている。現在CUの下又は右のCUはまだ符号化されていない。その結果、ビデオエンコーダ20は、現在CUを符号化するとき、現在CUに隣接する幾つかのCUを符号化することによって生成された情報にアクセスすることができる可能性がある。しかしながら、ビデオエンコーダ20は、現在CUを符号化するとき、現在CUに隣接する他のCUを符号化することによって生成された情報にアクセスすることができない可能性がある。
【0049】
現在CUを符号化するとき、ビデオエンコーダ20は、現在CUを1つ又は複数の予測単位(PU)に区分することができる。言い換えれば、ビデオエンコーダ20は、現在CUに関連付けられた1つ又は複数のPUを生成することができ、ここで、1つ又は複数のPUは、現在CUに対応するビデオブロックの区分(例えば、重複しないサブブロック)に対応する。ビデオエンコーダ20は、現在CUのPUごとに予測ビデオブロックを生成することができる。PUに対応する予測ビデオブロックは、サンプルのブロックであり得る。本開示はまた、PUに対応する予測ビデオブロックをPUの予測ビデオブロックと呼ぶ場合がある。ビデオエンコーダ20は、イントラ予測又はインター予測を使用して、現在CUのPUに対応する予測ビデオブロックを生成することができる。
【0050】
ビデオエンコーダ20がイントラ予測を使用してPUの予測ビデオブロックを生成するとき、ビデオエンコーダ20は、現在ピクチャのサンプルに基づいて、PUの予測ビデオブロックを生成することができる。ビデオエンコーダ20がイントラ予測を使用してCUのPUの予測ビデオブロックを生成する場合、CUはイントラ予測されたCUである。
【0051】
ビデオエンコーダ20がインター予測を使用してPUの予測ビデオブロックを生成するとき、ビデオエンコーダ20は、現在ピクチャとは異なる1つ又は複数のピクチャのサンプルに基づいて、PUの予測ビデオブロックを生成することができる。ビデオエンコーダ20がインター予測を使用してCUのPUの予測ビデオブロックを生成する場合、CUはインター予測されたCUである。
【0052】
さらに、ビデオエンコーダ20がインター予測を使用してPUの予測ビデオブロックを生成する場合、ビデオエンコーダ20は、PUに関する動き情報を生成することができる。PUに関する動き情報は、1つ又は複数の参照ブロックを示すことができる。各参照ブロックは、参照ピクチャ内のビデオブロック、又は参照ピクチャ内のサンプルから合成された(例えば、補間された)サンプルのブロックであり得る。参照ピクチャは、現在ピクチャとは異なるピクチャであり得る。ビデオエンコーダ20は、参照ブロックに基づいてPU用の予測ビデオブロックを生成することができる。
【0053】
ビデオエンコーダ20は、様々な区分モードに従って現在CUを1つ又は複数のPUに区分することができる。例えば、現在CUがイントラ予測されたCUである場合、ビデオコーダ20は、2N×2N区分モード、N×N区分モード、2N×hN区分モード、又はhN×2N区分モードに従って、現在CUを1つ又は複数のPUに区分することができる。2N×hN区分モード及びhN×2N区分モードは、短距離イントラ予測(SDIP)区分モードと呼ばれる場合がある。これらの区分モードの名前では、Nはビデオブロックの幅又は高さの半分を示すことができ、hは0より大きく1より小さい値を示すことができる。以下に記載される
図4A〜
図4Dは、CUがイントラ予測されたCUであるときCUをPUに区分する例示的なモードを示す概念図である。
【0054】
ビデオエンコーダ20が2N×2N区分モードに従って現在CUを区分するとき、ビデオエンコーダ20は現在CUを区分しない。むしろ、ビデオエンコーダ20が2N×2N区分モードに従って現在CUを区分するとき、現在CUに関連付けられた単一のPUのみが存在する。ビデオエンコーダ20がN×N区分モードに従って現在CUを区分するとき、ビデオコーダは現在CUに関連付けられた4個の正方形PUを生成する。正方形PUは、正方形予測ビデオブロックに対応するPUであり得る。
【0055】
ビデオコーダが2N×hN区分モードに従って現在CUを区分するとき、ビデオコーダは現在CUに関連付けられた複数の長方形で水平面指向のPU(a plurality of rectangle-shaped horizontally-oriented PUs)を生成することができる。長方形で水平面指向のPUは、現在CUに対応するビデオブロックの幅に等しい幅を有する正方形でない長方形の予測ビデオブロックに対応するPUであり得る。ビデオコーダがhN×2N区分モードに従って現在CUを区分するとき、ビデオコーダは現在CUに対応する複数の長方形で垂直面指向のPU(a plurality of rectangle-shaped vertically-oriented PUs)を生成することができる。長方形で垂直面指向のPUは、現在CUに対応するビデオブロックの高さに等しい高さを有する正方形でない長方形の予測ビデオブロックに対応するPUであり得る。
【0056】
ビデオエンコーダ20は、現在CUがイントラ予測されたCUであるとき、それにより現在CUがPUに区分されるモードを規定する1つ又は複数のSDIPシンタックス要素を生成することができる。例えば、SDIPシンタックス要素は、SDIPフラグとSDIP方向フラグとを含むことができる。SDIPフラグの第1の値(例えば、0)は、現在CUが1つ又は複数の正方形PUに区分されることを示すことができる。例えば、SDIPフラグの第1の値は、現在CUが2N×2N区分モード又はN×N区分モードに従ってPUに区分されることを示すことができる。SDIPフラグの第2の値(例えば、1)は、現在CUが複数の長方形PUに区分されることを示すことができる。SDIP方向フラグの第1の値(例えば、0)は、現在CUが複数の垂直面指向の長方形PUに区分されることを示すことができる。SDIP方向フラグの第2の値(例えば、1)は、現在CUが複数の水平面指向の長方形PUに区分されることを示すことができる。
【0057】
ビデオエンコーダ20が現在CUの1つ又は複数のPUに対応する予測ビデオブロックを生成するとき、ビデオエンコーダ20は、現在CUに対応する残差ビデオブロックを生成することができる。残差ビデオブロック内の各サンプルは、現在CUの元のビデオブロック内の対応するサンプルと、現在CUのPUの予測ビデオブロック内の対応するサンプルとの間の差分に等しい値を有することができる。元のビデオブロック及び予測ビデオブロック内の各サンプルは、特定の画素に関連付けられたルーマ値又はクロマ値であり得る。言い換えれば、現在CUの残差ビデオブロックは、現在CUのPUの予測ビデオブロック内のサンプルと、現在CUの元のビデオブロック内のサンプルとの間の差分を示すことができる。
【0058】
さらに、現在CUに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、現在CUを1つ又は複数の変換単位(TU)に区分することができる。TUの各々は、異なる残差ビデオブロックに対応することができる。TUに対応する残差ビデオブロックは、現在CUに対応する残差ビデオブロック内の残差サンプルの重複しないブロックであり得る。
【0059】
ビデオコーダ20は、TUに対応する残差ビデオブロックに1つ又は複数の変換を適用して、TUに対応する変換係数ブロック(即ち、変換係数のブロック)を生成することができる。概念的に、変換係数ブロックは変換係数の2次元(2D)行列であり得る。
【0060】
変換係数ブロックを生成した後、ビデオエンコーダ20は、変換係数ブロックに対して量子化プロセスを実行することができる。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数のレベルが量子化され、更なる圧縮を実現するプロセスを指す。量子化プロセスは、変換係数の一部又は全部に関連するビット深度を低減することができる。例えば、量子化中にnビットの変換係数がmビットの変換係数に切り捨てられる場合があり、ここで、nはmよりも大きい。
【0061】
ビデオエンコーダ20は、各CUを量子化パラメータ(QP)値に関連付けることができる。CUに関連付けられたQP値は、ビデオエンコーダ20が、CUに関連付けられた変換係数ブロックをどのように量子化するかを決定することができる。ビデオエンコーダ20は、CUと関連付けられるQP値を調整することにより、CUのTUに対応する変換係数ブロックに適用される量子化の程度を調整することができる。
【0062】
ビデオエンコーダ20が変換係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数ブロック内で変換係数を表すシンタックス要素のセットを生成することができる。ビデオエンコーダ20は、これらのシンタックス要素のうちの少なくとも幾つかに、CABAC符号化動作などのエントロピー符号化動作を適用することができる。
【0063】
シンタックス要素にCABAC符号化を適用するために、ビデオエンコーダ20は、最初にCABACコンテキストを識別することができる。CABACコンテキストは、特定の値を有するビットをコード化する確率を識別することができる。例えば、CABACコンテキストは、0の値のビットをコード化する0.7の確率と1の値のビットをコード化する0.3の確率とを示すことができる。CABACコンテキストを識別した後、ビデオエンコーダ20は、間隔を下位サブ間隔と上位サブ間隔とに分割することができる。サブ間隔のうちの一方は値0に関連付けることができ、他方のサブ間隔は値1に関連付けることができる。サブ間隔の幅は、識別されたCABACコンテキストによって関連付けられた値に関して示された確率に比例することができる。シンタックス要素のビットが下位サブ間隔に関連付けられた値を有する場合、符号化された値は下位サブ間隔の下位境界に等しい可能性がある。シンタックス要素の同じビットが上位サブ間隔に関連付けられた値を有する場合、符号化された値は上位サブ間隔の下位境界に等しい可能性がある。シンタックス要素の次のビットを符号化するために、ビデオエンコーダ20は、符号化されたビットの値に関連付けられたサブ間隔である間隔で、これらのステップを繰り返すことができる。ビデオエンコーダ20が次のビットについてこれらのステップを繰り返すとき、ビデオエンコーダ20は、識別されたCABACコンテキスト及び符号化されたビットの実際の値によって示された確率に基づいて修正された確率を使用することができる。
【0064】
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信することができる。ビットストリームは、ビデオエンコーダ20によって符号化されたビデオデータのコード化された表現を含むことができる。ビデオデコーダ30がビットストリームを受信するとき、ビデオデコーダ30は、ビットストリームに対して構文解析動作を実行することができる。ビデオデコーダ30が構文解析動作を実行するとき、ビデオデコーダ30は、ビットストリームからシンタックス要素を抽出することができる。ビットストリームからシンタックス要素を抽出することの一部として、ビデオデコーダ30は、シンタックス要素のうちの少なくとも幾つかに対してエントロピー復号動作を実行することができる。例えば、ビデオデコーダ30は、シンタックス要素(例えば、SDIPシンタックス要素)のうちの少なくとも幾つかに対してCABAC復号を実行することができる。
【0065】
ビデオデコーダ30がシンタックス要素に対してCABAC復号を実行するとき、ビデオデコーダ30はCABACコンテキストを識別することができる。次いで、ビデオデコーダ30は、間隔を下位サブ間隔と上位サブ間隔とに分割することができる。サブ間隔のうちの一方は値0に関連付けることができ、他方のサブ間隔は値1に関連付けることができる。サブ間隔の幅は、識別されたCABACコンテキストによって関連付けられた値に関して示された確率に比例することができる。符号化された値が下位サブ間隔以内である場合、ビデオデコーダ30は、下位サブ間隔に関連付けられた値を有するビットを復号することができる。符号化された値が上位サブ間隔以内である場合、ビデオデコーダ30は、上位サブ間隔に関連付けられた値を有するビットを復号することができる。シンタックス要素の次のビットを復号するために、ビデオデコーダ30は、符号化された値を含むサブ間隔である間隔で、これらのステップを繰り返すことができる。ビデオデコーダ30が次のビットについてこれらのステップを繰り返すとき、ビデオデコーダ30は、識別されたCABACコンテキスト及び復号されたビットによって示された確率に基づいて修正された確率を使用することができる。
【0066】
ビデオデコーダ30は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを復元することができる。シンタックス要素に基づいてビデオデータを復元するためのプロセスは、一般に、シンタックス要素を生成するためにビデオエンコーダ20によって実行されるプロセスの逆であり得る。
【0067】
ビデオデコーダ30が現在CUに関連するシンタックス要素を抽出した後、ビデオデコーダ30は、シンタックス要素に基づいて、現在CUのPUに対応する予測ビデオブロックを生成することができる。加えて、ビデオデコーダ30は、現在CUのTUに対応する変換係数ブロックを逆量子化することができる。ビデオデコーダ30は、変換係数ブロックに対して逆変換を実行して、現在CUのTUに対応する残差ビデオブロックを復元することができる。予測ビデオブロックを生成し、残差ビデオブロックを復元した後、ビデオデコーダ30は、予測ビデオブロックと残差ビデオブロックとに基づいて、現在CUのビデオブロックを復元することができる。このようにして、ビデオデコーダ30は、ビットストリーム内のシンタックス要素に基づいて、CUに対応するビデオブロックを復元することができる。
【0068】
上述されたように、現在CUがイントラ予測されたCUである場合、ビデオエンコーダ20は、それにより現在CUが1つ又は複数のPUのセットに区分されるモードを少なくとも部分的に規定するSDIPシンタックス要素を生成することができる。本開示の1つ又は複数の技法によれば、ビデオエンコーダ20は、現在ピクチャ内の現在CUの上にあるいずれの隣接CUも参照せずに、1つ又は複数のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別することができる。次いで、ビデオエンコーダ20は、識別されたエントロピーコード化コンテキストを使用して、SDIPシンタックス要素をエントロピー符号化することができる。
【0069】
同様に、ビデオデコーダ30がビットストリームからの現在CUのSDIPシンタックス要素を構文解析するとき、ビデオデコーダ30は、現在ピクチャ内の現在CUの上にあるいずれの隣接CUも参照せずに、1つ又は複数のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別することができる。次いで、ビデオデコーダ30は、識別されたエントロピーコード化コンテキストを使用して、SDIPシンタックス要素をエントロピー復号することができる。
【0070】
ビデオエンコーダ20及びビデオデコーダ30は、現在ピクチャ内の現在CUの上にあるいずれの隣接CUも参照せずに、エントロピーコード化コンテキストを識別するので、ビデオエンコーダ20又はビデオデコーダ30が、エントロピーコード化コンテキストを選択する目的で、現在CUの上にあるCUに関連する情報を記憶することは不要であり得る。従って、ビデオエンコーダ20又はビデオデコーダ30が、そのような情報を記憶するためにラインバッファを含むことは不要であり得る。
【0071】
ビデオエンコーダ20又はビデオデコーダ30などのビデオコーダは、様々な方法で現在CUのSDIPシンタックス要素をエントロピーコード化するためのエントロピーコード化コンテキストを識別することができる。例えば、ビデオコーダは、以前にコード化されたCUからのSDIPシンタックス要素に基づいて、エントロピーコード化コンテキストを識別することができる。この例では、以前にコード化されたCUは、現在ピクチャ内の現在CUの左側に位置するCUであり得る。以前にコード化されたCUからのSDIPシンタックス要素は、以前にコード化されたCUがPUに区分されるモードを少なくとも部分的に規定することができる。この例では、以前にコード化されたCUは、現在CUと同じサイズであり得る。即ち、以前にコード化されたCUに対応するビデオブロックは、現在CUに対応するビデオブロックと同じサイズであり得る。
【0072】
他の例では、現在CUの左側に位置する、2つ以上の以前にコード化されたCUが存在する場合がある。そのような例では、ビデオコーダは、現在CUの左側にある1つ又は複数のCUのSDIPシンタックス要素のうちの1つ又は複数の関数に基づいて、現在CUのSDIPシンタックス要素をエントロピーコード化するためのエントロピーコード化コンテキストを識別することができる。例えば、ビデオコーダは、2つ以上の以前にコード化されたCUのSDIPシンタックス要素の合計に基づいて、エントロピーコード化コンテキストを識別することができる。例えば、2つ以上の以前にコード化されたCUのSDIPシンタックス要素の合計は、エントロピーコード化コンテキストを識別して、現在CUの対応するSDIPシンタックス要素をエントロピーコード化するために使用する、コンテキストインデックスであり得る。コンテキストインデックスは、1つ又は複数のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別する、番号などの識別子であり得る。
【0073】
別の例では、ビデオコーダは、2つ以上の以前にコード化されたCUのSDIPシンタックス要素の平均に基づいて、エントロピーコード化コンテキストを識別することができる。例えば、2つ以上の以前にコード化されたCUのSDIPシンタックス要素の平均は、エントロピーコード化コンテキストを識別して、現在CUの対応するSDIPシンタックス要素をエントロピーコード化するために使用する、コンテキストインデックスに関連付けられる場合がある。幾つかの例では、ビデオコーダは、SDIPシンタックス要素の平均を最も近いコンテキストインデックスに丸めることができる。他の例では、異なる範囲は異なるコンテキストインデックスと関連付けることができる。そのような例では、SDIPシンタックス要素の平均がコンテキストインデックスのうちの特定の1つに関連付けられた範囲内にある場合、ビデオコーダは、コンテキストインデックスのうちの特定の1つを識別することができる。
【0074】
別の例では、ビデオコーダは、2つ以上の以前にコード化されたCUのうちの最大のCUのSDIPシンタックス要素に基づいて、エントロピーコード化コンテキストを識別することができる。例えば、ビデオコーダは、エントロピーコード化コンテキストを識別して現在CUの対応するSDIPシンタックス要素をエントロピーコード化するために使用するコンテキストインデックスとして、最大の以前にコード化されたCUのSDIPシンタックス要素を使用することができる。
【0075】
別の例では、ビデオコーダは、2つ以上の以前にコード化されたCUのうちの一番上のCUのSDIPシンタックス要素に基づいて、エントロピーコード化コンテキストを識別することができる。例えば、ビデオコーダは、エントロピーコード化コンテキストを識別して現在CUの対応するSDIPシンタックス要素をエントロピーコード化するために使用するコンテキストインデックスとして、一番上の以前にコード化されたCUのSDIPシンタックス要素を使用することができる。
【0076】
別の例では、ビデオコーダは、現在CUの左縁部の中心又はそのまわりに位置する、2つ以上の以前にコード化されたCUのうちの1つのSDIPシンタックス要素に基づいて、エントロピーコード化コンテキストを識別することができる。例えば、ビデオコーダは、エントロピーコード化コンテキストを識別して現在CUの対応するSDIPシンタックス要素をエントロピーコード化するために使用するコンテキストインデックスとして、現在CUの左縁部の中心又はそのまわりにある以前にコード化されたCUのSDIPシンタックス要素を使用することができる。
【0077】
上記の例のうちの幾つかでは、ビデオコーダは、2つ以上の以前にコード化されたCUのSDIPフラグのうちの1つ又は複数の関数に基づいて、現在CUのSDIPフラグ用のエントロピーコード化コンテキストを識別することができる。同様に、上記の例のうちの幾つかでは、ビデオコーダは、2つ以上の以前にコード化されたCUのSDIP方向フラグのうちの1つ又は複数の関数に基づいて、現在CUの現在SDIP方向フラグ用のエントロピーコード化コンテキストを識別することができる。
【0078】
別の例では、ビデオコーダは、エントロピーコード化コンテキストを識別して、現在CUのサイズに基づいて現在CUのSDIPシンタックス要素をエントロピー符号化するために使用することができる。例えば、現在CUが8×8CUである場合、ビデオエンコーダは、コンテキストインデックス0を有するエントロピーコード化コンテキストを識別することができる。この例では、現在CUが16×16CUである場合、ビデオエンコーダは、コンテキストインデックス1を有するエントロピーコード化コンテキストを識別することができる。さらに、この例では、現在CUが32×32CUである場合、ビデオエンコーダは、コンテキストインデックス2を有するエントロピーコード化コンテキストを識別することができる。幾つかの例では、ビデオコーダは、同じエントロピーコード化コンテキストを使用して、異なるサイズを有するCUのSDIPシンタックス要素をエントロピーコード化することができる。
【0079】
別の例では、ビデオコーダは、エントロピーコード化コンテキストを識別して、現在CUの深度に基づいて現在CUのSDIPシンタックス要素をエントロピーコード化するために使用することができる。現在CUの深度は、現在CUに関連付けられたツリーブロックの4分木内の現在CUのレベルを示すことができる。4分木の異なる深度にあるCUは、異なるサイズを有する可能性がある。例えば、現在CUが第1の深度(例えば、CU_depth=1)にある場合、ビデオエンコーダは、コンテキストインデックス2を有するエントロピーコード化コンテキストを識別することができる。現在CUが第2の深度(例えば、CU_depth=2)にある場合、ビデオエンコーダは、コンテキストインデックス1を有するエントロピーコード化コンテキストを識別することができる。現在CUが第3の深度(例えば、CU_depth=3)にある場合、ビデオエンコーダは、コンテキストインデックス0を有するエントロピーコード化コンテキストを識別することができる。幾つかの例では、ビデオコーダは、同じエントロピーコード化コンテキストを使用して、異なる深度にあるCUのSDIPシンタックス要素をエントロピーコード化することができる。
【0080】
別の例では、ビデオコーダは、エントロピーコード化コンテキストを識別して、現在CUのPUのイントラ予測モードに基づいて現在CUのSDIPシンタックス要素をエントロピーコード化するために使用することができる。この例では、識別されたエントロピーコード化コンテキストのコンテキストインデックスは、現在CUのPUのイントラ予測モードの関数であり得る。例えば、ビデオコーダは、同様の方向を有するイントラ予測モード用の同じエントロピーコード化コンテキストを識別することができる。例えば、ビデオコーダは、イントラ予測モード12、22、1、23などの、垂直又は垂直に近い方向を有するイントラ予測モード用のコンテキストインデックス0を有するエントロピーコード化コンテキストを識別することができる。例えば、ビデオコーダは、イントラ予測モード2、30、31などの、水平又は水平に近い方向を有するイントラ予測モード用のコンテキストインデックス1を有するエントロピーコード化コンテキストを識別することができる。例えば、ビデオコーダは、モード3(イントラDCモード)などの、強い方向性を有していないイントラ予測モード用のコンテキストインデックス2を有するエントロピーコード化コンテキストを識別することができる。以下に記載される
図6は、例示的なイントラ予測モードを示す概念図である。
【0081】
別の例では、1つ又は複数のエントロピーコード化コンテキストのセットは、単一のエントロピーコード化コンテキストだけを含む。この例では、ビデオコーダによって識別されたエントロピーコード化コンテキストは、いずれの副次情報にも依存しない。むしろ、ビデオコーダは、あらゆるCUのSDIPシンタックス要素をエントロピーコード化するための単一のエントロピーコード化コンテキストを使用することができる。
【0082】
図2は、本開示の技法のうちの1つ又は複数を実施するように構成された、例示的なビデオエンコーダ20を示すブロック図である。
図2は、説明の目的で提供され、本開示において広く例示され記載される技法を限定するものと見なされるべきではない。説明の目的で、本開示は、HEVCコード化のコンテキスト内のビデオエンコーダ20を記載する。しかしながら、本開示の技法は、他のコード化規格又はコード化方法に適用可能であり得る。
【0083】
図2の例では、ビデオエンコーダ20は、複数の機能構成要素を含む。ビデオエンコーダ20の機能構成要素は、予測処理ユニット100と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換処理ユニット110と、復元ユニット112と、フィルタユニット113と、復号ピクチャバッファ114と、エントロピー符号化ユニット116とを含む。予測処理ユニット100は、インター予測処理ユニット121と、動き推定ユニット122と、動き補償ユニット124と、イントラ予測処理ユニット126とを含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、又は異なる機能構成要素を含む場合がある。さらに、動き推定ユニット122と動き補償ユニット124は、高度に統合できるが、
図2の例では、説明の目的で別々に表されている。
【0084】
本開示は、ビデオエンコーダ20の機能構成要素をユニットとして記載するが、そのようなユニットに関連する機能は、ソフトウェア、ハードウェア、又はハードウェアとソフトウェアの様々な組合せなどの様々な方法で実施できることが理解されよう。さらに、幾つかの例では、そのようなユニットに関連する機能は、個別モジュラユニットによって提供されない。
【0085】
ビデオエンコーダ20はビデオデータを受信することができる。ビデオエンコーダ20は、様々な発信源からビデオデータを受信することができる。例えば、ビデオエンコーダ20は、ビデオ発信源18(
図1)又は別の発信源からビデオデータを受信することができる。ビデオデータは一連のピクチャを表すことができる。ビデオデータを符号化するために、ビデオエンコーダ20は、ピクチャの各々に対して符号化動作を実行することができる。ピクチャに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化動作を実行することができる。スライスに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、スライス内のツリーブロックに対して符号化動作を実行することができる。
【0086】
ツリーブロックに対して符号化動作を実行することの一部として、予測処理ユニット100は、ツリーブロックのビデオブロックに対して4分木区分を実行して、ビデオブロックを徐々により小さいビデオブロックに分割することができる。より小さいビデオブロックの各々は、異なるCUに対応することができる。例えば、予測処理ユニット100は、ツリーブロックに対応するビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックの1つ又は複数を4つの等しいサイズのサブサブブロックに区分することができ、以下同様である。
【0087】
CUに対応するビデオブロックのサイズは、8×8サンプルから、最大で64×64サンプル以上のツリーブロックのサイズまでわたる場合がある。本開示では、「N×N」及び「N by N」は、垂直方向の寸法及び水平方向の寸法に関するビデオブロックのサンプルの寸法、例えば、16×16サンプル又は16by16サンプルを指すよう互換的に使用することができる。一般に、16×16のビデオブロックは、垂直方向に16個のサンプルを有し(y=16)、水平方向に16個のサンプルを有する(x=16)。同様に、N×Nのブロックは、一般に、垂直方向にN個のサンプルを有し、水平方向にN個のサンプルを有し、ここで、Nは非負整数値を表す。
【0088】
ビデオエンコーダ20は、ツリーブロックの区分されていない各CUに対して符号化動作を実行することができる。ビデオエンコーダ20が区分されていないCUに対して符号化動作を実行するとき、ビデオエンコーダ20は、区分されていないCUの符号化された表現を生成することができる。
【0089】
現在CUに対して符号化動作を実行することの一部として、予測処理ユニット100は、現在CUを1つ又は複数のPUに区分することができる。ビデオエンコーダ20は、様々な区分モードに従って現在CUを区分することができる。現在CUのサイズを2N×2Nと仮定すると、ビデオエンコーダ20は、イントラ予測用の2N×2N、N×N、2N×hN、又はhN×2Nの区分モードに従って、現在CUを区分することができる。ビデオエンコーダ20がイントラ予測を使用して現在CUを符号化する場合、ビデオエンコーダ20は、現在CUを1つ又は複数のPUに区分するために使用される区分モードを示す、1つ又は複数のSDIPシンタックス要素を生成することができる。ビデオエンコーダ20は、インター予測用の2N×2N、2N×N、N×2N、N×N、又は同様の区分モードに従って、現在CUを区分することができる。ビデオエンコーダ20はまた、2N×nU、2N×nD、nL×2N、及びnR×2Nの区分モードなどの、インター予測用の非対称区分モードをサポートすることができる。幾つかの例では、ビデオエンコーダ20は、現在CUを符号化すること、区分モードのうちの少なくとも幾つかを使用すること、及びレート歪み結果を比較することにより、現在CU用の区分モードを選択することができる。
【0090】
インター予測処理ユニット121は、現在CUの各PUに対してインター予測を実行することができる。インター予測は、時間的冗長性に依存する圧縮を実現することができる。インター予測処理ユニット121がPUに対してインター予測を実行するとき、インター予測処理ユニット121は、PU用の予測データを生成することができる。PU用の予測データは、PUに対応する予測ビデオブロックとPU用の動き情報とを含むことができる。インター予測処理ユニット121は、現在ピクチャとは異なる1つ又は複数のピクチャ(即ち、参照ピクチャ)のサンプルに基づいて、予測ビデオブロックを生成することができる。
【0091】
スライスは、Iスライス、Pスライス、又はBスライスであり得る。動き推定ユニット122及び動き補償ユニット124は、PUがIスライス内にあるか、Pスライス内にあるか、Bスライス内にあるかに応じて、CUのPUに対して異なる動作を実行することができる。Iスライスでは、全てのPUがイントラ予測される。従って、PUがIスライス内にある場合、動き推定ユニット122及び動き補償ユニット124は、PUに対してインター予測を実行しない。
【0092】
PUがPスライス内にあるとき、動き推定ユニット122は、PUのビデオブロックに最もぴったり対応するサンプルのブロック用の第1の参照ピクチャリスト(例えば、リスト0)内で参照ピクチャを検索することができる。幾つかの例では、リスト0内に列記された各参照ピクチャは、表示順序において現在ピクチャの前に現れる。幾つかの事例では、動き推定ユニット122は、参照ピクチャ内の実際のルーマ又はクロマのサンプルから識別されたサンプルのブロックを補間することができる。サンプルのブロックを識別した後、動き推定ユニット122は、識別されたサンプルのブロックを含む、リスト0内の参照ピクチャを示す参照ピクチャインデックスと、PUと識別されたサンプルのブロックとの間の空間変位を示す動きベクトルとを生成することができる。動き推定ユニット122は、ビデオデコータが参照ピクチャインデックスとPUの動きベクトルとを決定するために使用できるデータを出力することができる。動き補償ユニット124は、参照ピクチャインデックス及びPUの動きベクトルによって示されたサンプルのブロックに基づいて、PUに対応する予測ビデオブロックを生成することができる。例えば、動き補償ユニット124は、予測ビデオブロックが識別されたサンプルのブロックに一致するように、PUに対応する予測ビデオブロックを生成することができる。
【0093】
動き推定ユニット122は、動きベクトルを様々な精度に生成することができる。例えば、動き推定ユニット122は、1/4サンプル精度、1/8サンプル精度、又は他の分数のサンプル精度で動きベクトルを生成することができる。分数のサンプル精度の場合、動き補償ユニット124は、参照ピクチャ内の整数のサンプル値からサンプルのブロックを補間して、予測ビデオブロックを生成することができる。
【0094】
現在CUがBスライス内にある場合、動き推定ユニット122は、現在CUのPUについての単方向インター予測又は双方向インター予測を実行することができる。動き推定ユニット122がBスライス内のPUについて単方向インター予測を実行するとき、動き推定ユニット122は、リスト0又はPUに対応するビデオブロックに対応するサンプルのブロック用の第2の参照ピクチャリスト(例えば、リスト1)の参照ピクチャを検索することができる。次いで、動き推定ユニット122は、識別されたサンプルのブロックを含む、リスト0又はリスト1内の参照ピクチャを示す参照ピクチャインデックス(ref_idx)と、識別されたサンプルのブロックとPUとの間の空間変位を示す動きベクトルとを生成することができる。動き推定ユニット122はまた、PUがリスト0内の参照ピクチャに基づいて単方向インター予測されるか、又はリスト1内の参照ピクチャに基づいて単方向インター予測されるかのどちらであるかを示す予測方向(pred_dir)インジケータを生成することができる。動き推定ユニット122は、ビデオデコータが参照ピクチャインデックスと、予測方向インジケータと、PUの動きベクトルとを決定することを可能にするデータを出力することができる。動き補償ユニット124は、参照ピクチャインデックス、予測方向インジケータ、及びPUの動きベクトルによって示されたサンプルのブロックに基づいて、PUに対応する予測ビデオブロックを生成することができる。
【0095】
動き推定ユニット122がPUについて双方向インター予測を実行するとき、動き推定ユニット122は、リスト0内の参照ピクチャと、PUのビデオブロックに対応するサンプルのブロック用のリスト1内の参照ピクチャとを検索することができる。次いで、動き推定ユニット122は、識別されたサンプルのブロックを含む、リスト0及びリスト1内の参照ピクチャを示す参照インデックスと、識別されたサンプルのブロックとPUとの間の空間変位を示す動きベクトルとを生成することができる。動き推定ユニット122はまた、PUが双方向インター予測されたことを示す1つ又は複数の予測方向インジケータを生成することができる。動き推定ユニット122は、ビデオデコータが、PUの動き情報として、参照ピクチャインデックスと、動きベクトルと、1つ又は複数の予測方向インジケータとを決定するために使用できるデータを出力することができる。動き補償ユニット124は、参照ピクチャインデックス、予測方向インジケータ、及びPUの動きベクトルによって示されたサンプルのブロックに基づいて、PUに対応する予測ビデオブロックを生成することができる。
【0096】
CUに対して符号化動作を実行することの一部として、イントラ予測処理ユニット126は、CUのPUに対してイントラ予測を実行することができる。イントラ予測は空間的な圧縮を実現することができる。イントラ予測処理ユニット126は、Iスライス、Pスライス、及びBスライスの中のPUに対してイントラ予測を実行することができる。イントラ予測処理ユニット126がPUに対してイントラ予測を実行するとき、イントラ予測処理ユニット126は、同じピクチャ内の他のPUの復号されたサンプルに基づいて、PU用の予測データを生成することができる。PU用の予測データは、予測ビデオブロックと様々なシンタックス要素とを含むことができる。
【0097】
PUに対してイントラ予測を実行するために、イントラ予測処理ユニット126は、複数のイントラ予測モードを使用して、PU用の予測データの複数のセットを生成することができる。イントラ予測処理ユニット126が、イントラ予測モードを使用してPU用の予測データのセットを生成するとき、イントラ予測処理ユニット126は、イントラ予測モードに関連付けられた方向及び/又は勾配で、隣接PUのビデオブロックからPUのビデオブロックにわたって、サンプルを延ばすことができる。隣接PUは、PU、CU及びツリーブロックについて左から右、上から下のコード化順序を仮定すると、PUの上、右上、左上、又は左にあり得る。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、例えば、33個の方向のイントラ予測モードを使用することができる。幾つかの例では、イントラ予測モードの数はPUのサイズに依存する場合がある。
【0098】
予測処理ユニット100は、PUについて動き補償ユニット124によって生成された予測データ、又はPUについてイントラ予測処理ユニット126によって生成された予測データの中から、PU用の予測データを選択することができる。幾つかの例では、予測処理ユニット100は、予測データのセットのレート/歪みのメトリクスに基づいて、PU用の予測データを選択する。
【0099】
予測処理ユニット100が、イントラ予測処理ユニット126によって生成された予測データを選択する場合、予測処理ユニット100は、PU用の予測データを生成するために使用されたイントラ予測モード、即ち、選択されたイントラ予測モードを信号伝達することができる。予測処理ユニット100は、選択されたイントラ予測モードを様々な方法で信号伝達することができる。例えば、選択されたイントラ予測モードは、隣接PUのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接PUのイントラ予測モードは、現在PUについて最も可能性が高いモード(MPM)であり得る。従って、予測処理ユニット100は、選択されたイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示すために、シンタックス要素を生成することができる。
【0100】
予測処理ユニット100が現在CUのPU用の予測データを選択した後、残差生成ユニット102は、現在CUのビデオブロックから現在CUのPUの予測ビデオブロックを減算することにより、現在CU用の残差データを生成することができる。CUの残差データは、現在CUのビデオブロック内のサンプルの様々なサンプル成分に対応する、2D残差ビデオブロックを含むことができる。例えば、残差データは、現在CUのPUの予測ビデオブロック内のサンプルの輝度成分と、現在CUの元のビデオブロック内のサンプルの輝度成分との間の差分に対応する、残差ビデオブロックを含むことができる。加えて、現在CUの残差データは、現在CUのPUの予測ビデオブロック内のサンプルのクロミナンス成分と、現在CUの元のビデオブロック内のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含むことができる。
【0101】
予測処理ユニット100は、4分木区分を実行して、現在CUの残差ビデオブロックをサブブロックに区分することができる。分割されていない各残差ビデオブロックは、現在CUの異なるTUに対応することができる。現在CUのTUに対応する残差ビデオブロックのサイズ及び位置は、現在CUのPUに対応する予測ビデオブロックのサイズ及び位置に基づく場合があるか、又は基づかない場合がある。「残差4分木」(RQT)として知られる4分木構造は、残差ビデオブロックの各々に関連付けられたノードを含むことができる。現在CUのTUは、RQTのリーフノードに対応することができる。
【0102】
IモードとPモード又はBノードのどちらの場合も、予測誤差、即ち、符号化されているブロック内のサンプルと予測されたブロック内のサンプルとの間の差分は、個別コサイン変換(DCT)などの幾つかの個別変換の重み付けされた基底関数のセットとして表される。現在CUのTUごとに、変換処理ユニット104は、TUに対応する残差ビデオブロックに1つ又は複数の変換を適用することにより、TUに対応する1つ又は複数の変換係数ブロックを生成することができる。変換係数ブロックの各々は、変換係数の2D行列であり得る。変換処理ユニット104は、残差ビデオブロックに様々な変換を適用することができる。例えば、変換処理ユニット104は、残差ビデオブロックに、離散コサイン変換(DCT)、方向変換、又は概念的に同様の変換を適用することができる。変換は、空間領域残差画素値を、周波数領域などの変換領域内の係数に変換するように構成することができる。変換係数は、基礎をなす変換の基底関数用の重みを形成することができる。
【0103】
変換処理ユニット104がTUに対応する変換係数ブロックを生成した後、量子化ユニット106は、変換係数ブロック内の変換係数を量子化することができる。量子化ユニット106は、現在CUに関連付けられたQP値に基づいて、CUのTUに対応する変換係数ブロックを量子化することができる。
【0104】
ビデオエンコーダ20は、様々な方法でQP値を現在CUに関連付けることができる。例えば、ビデオエンコーダ20は、現在CUに関連付けられたツリーブロックに対して、レート歪み分析を実行することができる。レート歪み分析では、ビデオエンコーダ20は、様々なモードを使用してツリーブロックに対して符号化動作を複数回実行することにより、ツリーブロックの複数のコード化された表現を生成することができる。ビデオエンコーダ20がツリーブロックの様々な符号化された表現を生成するとき、ビデオエンコーダ20は、様々なQP値を現在CUに関連付けることができる。幾つかの例では、ビットレート及び歪みのメトリクスが最小であるツリーブロックのコード化された表現内で、所与のQP値が現在CUに関連付けられるとき、ビデオエンコーダ20は、所与のQP値が現在CUに関連付けられたことを信号伝達することができる。他の例では、CUの符号化された表現が最適なビットレートと歪みのメトリクスとを有していない場合でも、ビデオエンコーダ20は、様々なQP値をテストして、閾値を満足するCUの符号化された表現をもたらすQP値を決定することができる。
【0105】
逆量子化ユニット108及び逆変換処理ユニット110は、それぞれ、変換係数ブロックに逆量子化と逆変換とを適用して、変換係数ブロックから残差ビデオブロックを復元することができる。復元ユニット112は、復元された残差ビデオブロックを、予測処理ユニット100によって生成された1つ又は複数の予測ビデオブロックからの対応するサンプルに追加して、TUに対応する復元されたビデオブロックを生成することができる。このようにして、現在CUのTUごとにビデオブロックを復元することにより、ビデオエンコーダ20は、現在CUのビデオブロックを復元することができる。
【0106】
加算器として表された復元ユニット112が現在CUのビデオブロックを復元した後、フィルタユニット113は、デブロッキング動作を実行して、現在CUに対応するビデオブロック内のブロック歪みを低減することができる。1つ又は複数のデブロッキング動作を実行した後、フィルタユニット113は、現在ピクチャ内の他のCUのイントラ予測コード化又は他のピクチャ内のCUのインター予測コード化で使用するために、現在CUの復元されたビデオブロックを復号ピクチャバッファ114に記憶することができる。動き推定ユニット122及び動き補償ユニット124は、復元されたビデオブロックを含む参照ピクチャを使用して、後続ピクチャのPUに対してインター予測を実行することができる。加えて、イントラ予測処理ユニット126は、復号ピクチャバッファ114内の復元されたビデオブロックを使用して、現在CU内の他のPUに対してイントラ予測を実行することができる。
【0107】
エントロピー符号化ユニット116は、ビデオエンコーダ20の他の機能構成要素からデータを受信することができる。例えば、エントロピー符号化ユニット116は、量子化ユニット106から変換係数ブロックを受信することができ、予測処理ユニット100からシンタックス要素を受信することができる。エントロピー符号化ユニット116がデータを受信するとき、エントロピー符号化ユニット116は、1つ又は複数のエントロピー符号化動作を実行して、エントロピー符号化されたデータを生成することができる。例えば、ビデオエンコーダ20は、コンテキスト適応型可変長コード化(CAVLC)演算、CABAC演算、変数−変数(V2V)レングスコード化演算、シンタックスベースのコンテキスト適応型バイナリ算術コード化(SBAC)演算、Probability Interval Partitioning Entropy(PIPE)コード化演算、又は別のタイプのエントロピー符号化演算をデータに対して実施することができる。エントロピー符号化ユニット116は、エントロピー符号化されたデータを含むビットストリームを出力することができる。
【0108】
データに対してエントロピー符号化動作を実行することの一部として、エントロピー符号化ユニット116は、コンテキストモデルを選択することができる。エントロピー符号化ユニット116がCABAC演算を実行している場合、コンテキストモデルは、特定の値を有する特定のビンをコード化する確率の推定値を示すことができる。CABACのコンテキストでは、「ビン」という用語は、シンタックス要素の2値化されたバージョンのビットを指すために使用される。例えば、本開示の技法によれば、エントロピーコード化ユニット116は、現在ピクチャ内の現在CUの上にあるいずれの隣接CUも参照せずに、1つ又は複数のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別することができる。次いで、エントロピーコード化ユニット116は、識別されたエントロピーコード化コンテキストを使用して、現在CUのSDIPシンタックス要素をエントロピー符号化する。
【0109】
図3は、本開示の技法のうちの1つ又は複数を実施するように構成された、例示的なビデオデコーダ30を示すブロック図である。
図3は、説明の目的で提供され、本開示において広く例示され記載される技法を限定するものではない。説明の目的で、本開示は、HEVCコード化のコンテキスト内のビデオデコーダ30を記載する。しかしながら、本開示の技法は、他のコード化規格又はコード化方法に適用可能であり得る。
【0110】
図3の例では、ビデオデコーダ30は複数の機能構成要素を含む。ビデオデコーダ30の機能構成要素は、エントロピー復号ユニット150と、予測処理ユニット152と、逆量子化ユニット154と、逆変換処理ユニット156と、復元ユニット158と、フィルタユニット159と、復号ピクチャバッファ160とを含む。予測処理ユニット152は、動き補償ユニット162とイントラ予測処理ユニット164とを含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、又は異なる機能構成要素を含む場合がある。
【0111】
本開示は、ビデオデコーダ30の機能構成要素をモジュールとして記載するが、そのようなモジュールに関連する機能は、ソフトウェア、ハードウェア、又はハードウェアとソフトウェアの様々な組合せなどの様々な方法で実施できることが理解されよう。さらに、幾つかの例では、そのようなモジュールに関連する機能は、個別モジュラユニットによって提供されない。
【0112】
ビデオデコーダ30は、符号化されたビデオデータを備えるビットストリームを受信することができる。ビットストリームは複数のシンタックス要素を含むことができる。ビデオデコーダ30がビットストリームを受信したとき、エントロピー復号ユニット150は、ビットストリームに対して構文解析動作を実行することができる。ビットストリームに対して構文解析動作を実行した結果として、エントロピー復号ユニット150は、ビットストリームからシンタックス要素を抽出することができる。構文解析動作を実行することの一部として、エントロピー復号ユニット150は、ビットストリーム内のエントロピー符号化されたシンタックス要素をエントロピー復号することができる。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、復元ユニット158、及びフィルタユニット159は、ビットストリームから抽出されたシンタックス要素に基づいて、復号されたビデオデータを生成する復元動作を実行することができる。
【0113】
ビットストリームからシンタックス要素を抽出することの一部として、エントロピー復号ユニット150は、コード化されたCUからシンタックス要素を抽出する構文解析動作を実行することができる。次いで、エントロピー復号ユニット150は、シンタックス要素のうちの少なくとも幾つかに対してエントロピー復号動作を実行することができる。例えば、本開示の技法によれば、エントロピー復号ユニット150は、現在ピクチャ内の現在CUの上にあるいずれの隣接CUも参照せずに、1つ又は複数のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別することができる。この例では、エントロピー復号ユニット150は、識別されたエントロピーコード化コンテキストを使用して、現在CUのSDIPシンタックス要素をエントロピー復号することができる。
【0114】
エントロピー復号ユニット150が現在CUのシンタックス要素を抽出した後、ビデオデコーダ30は、現在CUに対して復元動作を実行することができる。現在CUに対して復元動作を実行するために、ビデオデコーダ30は、現在CUの各TUに対して復元動作を実行することができる。現在CUのTUごとに復元動作を実行することにより、ビデオデコーダ30は、現在CUに関連付けられた残差ビデオブロックを復元することができる。
【0115】
TUに対して復元動作を実行することの一部として、逆量子化ユニット154は、TUに対応する変換係数ブロックを逆量子化、即ち、量子化解除することができる。逆量子化ユニット154は、HEVC用に提案された、又はH.264復号規格によって定義された逆量子化処理と同様の方式で、変換係数ブロックを逆量子化することができる。逆量子化ユニット154は、現在CUについてビデオエンコーダ20によって計算された量子化パラメータQPを使用して、量子化の程度を決定し、同様に、逆量子化ユニット154が適用すべき逆量子化の程度を決定することができる。
【0116】
逆量子化ユニット154がTUに対応する変換係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUに対応する残差ビデオブロックを生成するために、1つ又は複数の変換を適用することができる。例えば、逆変換処理ユニット156は、残差ビデオブロックを生成するために、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、又は別の逆変換を、変換係数ブロックに適用することができる。
【0117】
幾つかの例では、逆変換処理ユニット156は、ビデオエンコーダ20からの信号伝達に基づいて、変換係数ブロックに適用すべき逆変換を決定することができる。他の例では、逆変換処理ユニット156は、ブロックサイズ、コード化モードなどの1つ又は複数のコード化特性から逆変換を推論することができる。幾つかの例では、逆変換処理ユニット156はカスケード逆変換を適用することができる。
【0118】
幾つかの例では、動き補償ユニット162は、補間フィルタに基づいて補間を実行することにより、PUの予測ビデオブロックを洗練することができる。サブサンプル精度を有する動き補償に使用されるべき補間フィルタ用の識別子は、シンタックス要素内に含まれる場合がある。動き補償ユニット162は、PUの予測ビデオブロックの生成中にビデオエンコーダ20によって使用されるのと同じ補間フィルタを使用して、参照ブロックのサブ整数サンプルについて補間された値を算出することができる。動き補償ユニット162は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ビデオブロックを生成することができる。
【0119】
イントラ予測を使用してPUが符号化された場合、イントラ予測処理ユニット164は、イントラ予測を実行して、PU用の予測ビデオブロックを生成することができる。例えば、イントラ予測処理ユニット164は、ビットストリーム内のシンタックス要素に基づいて、PU用のイントラ予測モードを決定することができる。ビットストリームは、PUのイントラ予測モードを決定するためにイントラ予測処理ユニット164が使用できるシンタックス要素を含むことができる。
【0120】
復元ユニット158は、現在CUのTUに対応する残差ビデオブロックと、CUのPUの予測ビデオブロックとを使用して、現在CUのビデオブロックを復元することができる。例えば、復元ユニット158は、予測ビデオブロックに残差ビデオブロックを加算して、現在CUに対応するビデオブロックを復元することができる。
【0121】
復元ユニット158がCUのビデオブロックを復元した後、フィルタユニット159は、デブロッキング動作を実行して、復元されたビデオブロック内のブロック歪み(blocking artifacts)を低減することができる。フィルタユニット159がデブロッキング動作を実行した後、ビデオデコーダ30は、復号ピクチャバッファ160にCUのビデオブロックを記憶することができる。復号ピクチャバッファ160は、後続の動き補償、イントラ予測、及び
図1の表示装置32などの表示装置上での提示に、参照ピクチャを提供することができる。
【0122】
図4A〜
図4Dは、コード化単位(CU)がイントラ予測されたCUであるとき、CUをPUに区分する例示的なモードを示す概念図である。
図4Aの例で示されたように、CU200は、2N×2N区分モードに従って区分される。従って、CU200は、CU200と同じサイズである単一のPU202だけに関連付けられる。
図4Bの例で示されたように、CU210は、N×N区分モードに従って区分される。従って、CU210は、4個の正方形PU212A〜212Dに関連付けられる。
図4Cの例で示されたように、CU220は、2N×hN区分モードに従って区分される。従って、
図4Cの例では、CU220は、4個の水平面指向の長方形PU222A〜222Dに関連付けられる。
図4Dの例で示されたように、CU230は、hN×2N区分モードに従って区分される。従って、
図4Dの例では、CU230は、4個の垂直面指向の長方形PU232A〜232Dに関連付けられる。
【0123】
図5Aは、ビデオコーダが現在CU252のSDIPシンタックス要素をエントロピーコード化するためのエントロピーコード化コンテキストをそれから識別できる、例示的なCU250を示す概念図である。
図5Aの例では、CU250は現在CU252の左側に位置する。従って、CU250は以前にコード化されたCUである。幾つかの例では、ビデオコーダは、CU250のSDIPシンタックス要素に基づいて、現在CU252のSDIPシンタックス要素をエントロピーコード化するためのエントロピーコード化コンテキストを識別することができる。例えば、ビデオコーダは、CU250のSDIPフラグに基づいて、現在CU252のSDIPフラグをエントロピーコード化するためのエントロピーコード化コンテキストを識別することができる。同様に、ビデオコーダは、CU250のSDIP方向フラグに基づいて、現在CU252のSDIP方向フラグをエントロピーコード化するためのエントロピーコード化コンテキストを識別することができる。このようにして、ビデオコーダは、現在CU252の上にあるCUを参照せずに、現在CU252のSDIPシンタックス要素をエントロピーコード化するためのエントロピーコード化コンテキストを識別することができる。
【0124】
図5Bは、ビデオコーダが現在CU260のSDIPシンタックス要素をエントロピーコード化するためのエントロピーコード化コンテキストをそれから識別できる、他の例示的なCUを示す概念図である。
図5Bの例では、CU262、CU264、及びCU266は現在CU260の左側に位置する。幾つかの例では、ビデオコーダは、CU262、CU264、及びCU266のSDIPシンタックス要素のうちの1つ又は複数の関数に基づいて、現在CU260のSDIPシンタックス要素をエントロピーコード化するためのエントロピーコード化コンテキストを識別することができる。例えば、ビデオコーダは、CU262、CU264、及びCU266のSDIPフラグ又はSDIP方向フラグの合計又は平均に基づいて、エントロピーコード化コンテキストを識別することができる。別の例では、ビデオコーダは、CU260の左側にあるCUのうちの最大のCU、即ちCU266のSDIPシンタックス要素に基づいて、現在CU260のSDIPシンタックス要素をエントロピーコード化するためのエントロピーコード化コンテキストを識別することができる。別の例では、ビデオコーダは、現在CU260の左側に位置する一番上のCU、即ちCU262のSDIPシンタックス要素に基づいて、現在CU260のSDIPシンタックス要素をエントロピーコード化するためのエントロピーコード化コンテキストを識別することができる。別の例では、ビデオコーダは、現在CU260の左縁部の中心又はそのまわりに位置するCU、即ちCU264又はCU266のSDIPシンタックス要素に基づいて、現在CU260のSDIPシンタックス要素をエントロピーコード化するためのエントロピーコード化コンテキストを識別することができる。
【0125】
図6は、例示的なイントラ予測モードを示す概念図である。幾つかの例では、ビデオコーダは、エントロピーコード化コンテキストを識別して、現在CUのイントラ予測モードに基づいて現在CUのSDIPシンタックス要素をエントロピーコード化するために使用することができる。幾つかのそのような例では、現在CUが、イントラ予測モード4、20、11、21、0、22、12、23、及び5などの、垂直又はほぼ垂直のイントラ予測モードを有するとき、ビデオコーダは、第1のエントロピーコード化コンテキストを識別することができる。現在CUが、イントラ予測モード7、28、15、29、1、30、16、31、及び8などの、水平又はほぼ水平のイントラ予測モードを有するとき、ビデオコーダは、第2のエントロピーコード化コンテキストを識別することができる。現在CUが、イントラ予測モード2、34、33、17、32、27、14、26、3、18、10、19、24、13、及び25などの、強い方向性を有していないイントラ予測モードを有するとき、ビデオコーダは、第3のエントロピーコード化コンテキストを識別することができる。
【0126】
図7は、本開示の1つ又は複数の技法によるビデオコーダの例示的な動作300を示すフローチャートである。
図7の例では、ビデオコーダは、現在ピクチャ内の現在CUの上にあるいずれの隣接CUも参照せずに、1つ又は複数のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別することができる(302)。加えて、ビデオコーダは、識別されたエントロピーコード化コンテキストを使用して、SDIPシンタックス要素をエントロピーコード化することができる(304)。SDIPシンタックス要素は、それにより現在CUが1つ又は複数のPUのセットに区分されるモードを少なくとも部分的に規定することができる。例えば、SDIPシンタックス要素は、現在CUが1つ又は複数の正方形PUに区分されるかどうかを示すことができる。別の例では、SDIPシンタックス要素は、現在CUが複数の垂直面指向又は水平面指向の長方形PUに区分されるかどうかを示すことができる。
【0127】
図8は、本開示の1つ又は複数の技法によるビデオエンコーダ20の例示的な動作350を示すフローチャートである。動作350は
図1のビデオエンコーダ20を参照して記載されるが、動作350はそのように限定されない。説明を簡単にするために、
図8の例は、現在CUがイントラ予測されたCUであると仮定する。
【0128】
図8の例では、ビデオエンコーダ20は、現在CUが1つ又は複数のPUに区分されるモードを選択することができる(352)。次いで、ビデオエンコーダ20は、現在CUのSDIPシンタックス要素を生成することができる(354)。SDIPシンタックス要素は、それにより現在CUが1つ又は複数のPUのセットに区分されるモードを少なくとも部分的に規定することができる。次いで、ビデオエンコーダ20は、イントラ予測を実行して、現在CUのPUに対応する予測ビデオブロックを生成することができる(356)。ビデオエンコーダ20は、予測ビデオブロックと現在CUのビデオブロックとに基づいて、現在CUのTUに対応する残差ビデオブロックを生成することができる(358)。現在CUのTUに対応する1つ又は複数の残差ビデオブロックを生成した後、ビデオエンコーダ20は、1つ又は複数の変換を適用して、残差ビデオブロックを現在CUのTUに対応する変換係数ブロックに変換することができる(360)。
【0129】
ビデオエンコーダ20は、現在ピクチャ内の現在CUの上にあるいずれの隣接CUも参照せずに、1つ又は複数のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別することができる(362)。加えて、ビデオエンコーダ20は、識別されたエントロピーコード化コンテキストを使用して、現在CUのSDIPシンタックス要素をエントロピー符号化することができる(364)。例えば、ビデオエンコーダ20は、識別されたエントロピーコード化コンテキストを使用して、SDIPシンタックス要素に対してCABAC符号化動作を実行することができる。その後、ビデオエンコーダ20は、SDIPシンタックス要素、変換係数ブロック、及び他のシンタックス要素の符号化された表現を含むビットストリームを出力することができる(366)。
【0130】
図9は、本開示の1つ又は複数の技法によるビデオデコーダ30の例示的な動作400を示すフローチャートである。動作400は
図1のビデオデコーダ30を参照して記載されるが、動作400はそのように限定されない。説明を簡単にするために、
図9の例は、現在CUがイントラ予測されたCUであると仮定する。
【0131】
図9の例では、ビデオデコーダ30は、現在ピクチャ内の現在CUの上にあるいずれの隣接CUも参照せずに、1つ又は複数のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別することができる(402)。加えて、ビデオエンコーダ20は、識別されたエントロピーコード化コンテキストを使用して、現在CUのSDIPシンタックス要素をエントロピー復号することができる(404)。例えば、ビデオエンコーダ20は、識別されたエントロピーコード化コンテキストを使用して、SDIPシンタックス要素に対してCABAC復号動作を実行することができる。
【0132】
次いで、ビデオデコーダ30は、現在CUのSDIPシンタックス要素に少なくとも部分的に基づいて、現在CUが1つ又は複数のPUに区分されるモードを決定することができる(406)。次いで、ビデオデコーダ30は、イントラ予測を実行して、現在CUに関連付けられた1つ又は複数のPUに対応する予測ビデオブロックを生成することができる(408)。加えて、ビデオデコーダ30は、1つ又は複数の変換を適用して、現在CUのTUに対応する変換係数ブロックを、現在CUのTUに対応する残差ビデオブロックに変換することができる(410)。その後、ビデオデコーダ30は、現在CUのTUに対応する残差ビデオブロックと、現在CUのPUに対応する予測ビデオブロックとに基づいて、現在CUに対応するサンプルのブロックを生成することができる(412)。次いで、ビデオデコーダ30は、現在CUに対応するサンプルのブロックを表示するために出力することができる(414)。
【0133】
1つ又は複数の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せに実施することができる。ソフトウェアに実施される場合、機能は、1つ又は複数の命令もしくはコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行することができる。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、データ記憶媒体又は通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含むことができる。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、又は(2)信号もしくは搬送波などの通信媒体に対応することができる。データ記憶媒体は、本開示に記載された技法を実施するための命令、コード及び/又はデータ構造を取り出すために、1つ又は複数のコンピュータ又は1つ又は複数のプロセッサによってアクセスできる、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含むことができる。
【0134】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶機器、フラッシュメモリ、又は命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスできる、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0135】
命令は、1つ又は複数のデジタル信号プロセッサ(DSP)などの1つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、又は他の同等の集積回路又はディスクリート論理回路によって実行することができる。従って、本明細書で使用される「プロセッサ」という用語は、前述の構造、又は本明細書に記載された技法の実施に適した任意の他の構造のいずれかを指すことができる。加えて、幾つかの態様では、本明細書に記載された機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に提供されるか、又は複合コーデックに組み込むことができる。また、本技法は、1つ又は複数の回路又は論理要素に完全に実施することができる。
【0136】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置に実施することができる。開示された技法を実行するように構成された機器の機能的態様を強調するために、様々な構成要素、モジュール、又はユニットが本開示に記載されたが、それらの構成要素、モジュール、又はユニットは、必ずしも異なるハードウェア又はソフトウェアのユニットによる実現を必要とするとは限らない。むしろ、上述されたように、様々な構成要素、モジュール、及びユニットは、適切なソフトウェア及び/又はファームウェアとともに、上述された1つ又は複数のプロセッサを含む、コーデックハードウェアユニット内で組み合わされるか、又は相互動作可能なハードウェアユニットの集合によって提供することができる。
【0137】
様々な例が記載された。これら及び他の例は、以下の特許請求の範囲内である。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1] 現在ピクチャ内の現在コード化単位(CU)の上にあるいずれの隣接CUも参照せずに、1つ以上のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別することと、識別された前記エントロピーコード化コンテキストを使用して短距離イントラ予測(SDIP)シンタックス要素をエントロピーコード化することと、前記SDIPシンタックス要素は前記現在CUが1つ以上の予測単位(PU)のセットに区分されるモードを少なくとも部分的に規定する、を備える、ビデオコード化方法。
[2] 前記SDIPシンタックス要素をエントロピーコード化することが、識別された前記エントロピーコード化コンテキストを使用して、前記SDIPシンタックス要素に対してコンテキスト適応型バイナリ算術コード化(CABAC)を実行することを備える、[1]に記載のビデオコード化方法。
[3] 前記エントロピーコード化コンテキストを識別することが、以前にコード化されたCUからのSDIPシンタックス要素に基づいて前記エントロピーコード化コンテキストを識別することを備え、前記以前にコード化されたCUが前記現在ピクチャ内の前記現在CUの左側に位置し、前記以前にコード化されたCUからの前記SDIPシンタックス要素が、前記以前にコード化されたCUがPUに区分されるモードを少なくとも部分的に規定する、[1]に記載のビデオコード化方法。
[4] 前記以前にコード化されたCUが前記現在CUと同じサイズである、[3]に記載のビデオコード化方法。
[5] 2つ以上の以前にコード化されたCUが、前記現在ピクチャ内の前記現在CUの左側に位置し、前記エントロピーコード化コンテキストを識別することが、前記2つ以上の以前にコード化されたCUのSDIPシンタックス要素の関数に基づいて、前記エントロピーコード化コンテキストを識別することを備える[1]に記載のビデオコード化方法。
[6] 前記エントロピーコード化コンテキストを識別することが、前記2つ以上の以前にコード化されたCUの前記SDIPシンタックス要素の合計に基づいて、前記エントロピーコード化コンテキストを識別することを備える[5]に記載のビデオコード化方法。
[7] 前記エントロピーコード化コンテキストを識別することが、前記2つ以上の以前にコード化されたCUの前記SDIPシンタックス要素の平均に基づいて、前記エントロピーコード化コンテキストを識別することを備える[5]に記載のビデオコード化方法。
[8] 2つ以上の以前にコード化されたCUが、前記現在ピクチャ内の前記現在CUの左側に位置し、前記エントロピーコード化コンテキストを識別することが、前記2つ以上の以前にコード化されたCUのうちの最大のCUのSDIPシンタックス要素に基づいて、前記エントロピーコード化コンテキストを識別することを備える[1]に記載のビデオコード化方法。
[9] 2つ以上の以前にコード化されたCUが、前記現在ピクチャ内の前記現在CUの左側に位置し、前記エントロピーコード化コンテキストを識別することが、前記2つ以上の以前にコード化されたCUのうちの一番上のCUのSDIPシンタックス要素に基づいて、前記エントロピーコード化コンテキストを識別することを備える[1]に記載のビデオコード化方法。
[10] 2つ以上の以前にコード化されたCUが、前記現在ピクチャ内の前記現在CUの左側に位置し、前記エントロピーコード化コンテキストを識別することが、前記現在CUの左縁部の中心又はそのまわりに位置する、前記2つ以上の以前にコード化されたCUのうちの1つのSDIPシンタックス要素に基づいて、前記エントロピーコード化コンテキストを識別することを備える[1]に記載のビデオコード化方法。
[11] 前記エントロピーコード化コンテキストを識別することが、前記現在CUのサイズに基づいて、前記エントロピーコード化コンテキストを識別することを備える[1]に記載のビデオコード化方法。
[12] 前記エントロピーコード化コンテキストを識別することが、前記現在CUの深度に基づいて、前記エントロピーコード化コンテキストを識別することを備える[1]に記載のビデオコード化方法。
[13] 前記エントロピーコード化コンテキストを識別することが、前記現在CUの前記1つ以上のPUのうちの1つのイントラ予測モードに基づいて、前記エントロピーコード化コンテキストを識別することを備える[1]に記載のビデオコード化方法。
[14] 前記1つ以上のエントロピーコード化コンテキストのセットが、前記エントロピーコード化コンテキストだけを含む、[1]に記載のビデオコード化方法。
[15] 前記SDIPシンタックス要素をエントロピーコード化することが、前記SDIPシンタックス要素をエントロピー符号化することを備える、[1]に記載のビデオコード化方法。
[16] 前記方法が、前記現在CUが前記1つ以上のPUに区分される前記モードを選択することと、前記SDIPシンタックス要素を生成することと、イントラ予測を実行して、前記1つ以上のPUに対応する1つ以上の予測ビデオブロックを生成することと、前記予測ビデオブロックと前記現在CUのビデオブロックとに基づいて、前記現在CUの変換単位(TU)に対応する残差ビデオブロックを生成することと、1つ以上の変換を適用して、前記残差ビデオブロックを前記TUに対応する変換係数ブロックに変換することと、前記SDIPシンタックス要素と前記残差変換係数ブロックとをエントロピー符号化した後、前記SDIPシンタックス要素及び前記残差変換係数ブロックの符号化された表現を含むビットストリームを出力することと
をさらに備える、[15]に記載のビデオコード化方法。
[17] 前記SDIPシンタックス要素をエントロピーコード化することが、前記SDIPシンタックス要素をエントロピー復号することを備える、[1]に記載のビデオコード化方法。
[18] 前記方法が、前記SDIPシンタックス要素をエントロピー復号した後、前記SDIPシンタックス要素に少なくとも部分的に基づいて、前記現在CUが前記1つ以上のPUに区分されるモードを決定することと、1つ以上の変換を適用して、前記現在CUのTUに対応する変換係数ブロックを、前記現在CUの前記TUに対応する残差ビデオブロックに変換することと、イントラ予測を実行して、前記現在CUに関連付けられた前記1つ以上のPUに対応する予測ビデオブロックを生成することと、前記残差ビデオブロックと前記予測ビデオブロックとに基づいて、前記現在CUに対応するサンプルのブロックを生成することと、前記現在CUに対応するサンプルの前記ブロックを表示するために出力することと
をさらに備える、[1]に記載のビデオコード化方法。
[19] 前記SDIPシンタックス要素の第1の値が、前記現在CUが1つ以上の正方形PUに区分されることを示し、前記SDIPシンタックス要素の第2の値が、前記現在CUが複数の長方形PUに区分されることを示す[1]に記載のビデオコード化方法。
[20] 前記SDIPシンタックス要素の第1の値が、前記現在CUが複数の垂直面指向の長方形PUに区分されることを示し、前記SDIPシンタックス要素の第2の値が、前記現在CUが複数の水平面指向の長方形PUに区分されることを示す[1]に記載のビデオコード化方法。
[21] 現在ピクチャ内の現在コード化単位(CU)の上にあるいずれの隣接CUも参照せずに、1つ以上のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別することと、前記識別されたエントロピーコード化コンテキストを使用して短距離イントラ予測(SDIP)シンタックス要素をエントロピーコード化することと、前記SDIPシンタックス要素は、前記現在CUが1つ以上の予測単位(PU)のセットに区分されるモードを少なくとも部分的に規定する、を行うように構成された1つ以上のプロセッサを備える、ビデオコード化装置。
[22] 前記1つ以上のプロセッサが、識別された前記エントロピーコード化コンテキストを使用して、前記SDIPシンタックス要素に対してコンテキスト適応型バイナリ算術コード化(CABAC)を実行するように構成された、[21]に記載のビデオコード化装置。
[23] 前記1つ以上のプロセッサが、以前にコード化されたCUからのSDIPシンタックス要素に基づいて前記エントロピーコード化コンテキストを識別するように構成され、前記以前にコード化されたCUが前記現在ピクチャ内の前記現在CUの左側に位置し、前記以前にコード化されたCUからの前記SDIPシンタックス要素が、前記以前にコード化されたCUがPUに区分されるモードを少なくとも部分的に規定する、[21]に記載のビデオコード化装置。
[24] 前記以前にコード化されたCUが前記現在CUと同じサイズである、[21]に記載のビデオコード化装置。
[25] 2つ以上の以前にコード化されたCUが、前記現在ピクチャ内の前記現在CUの左側に位置し、前記1つ以上のプロセッサが、前記2つ以上の以前にコード化されたCUのSDIPシンタックス要素の関数に基づいて、前記エントロピーコード化コンテキストを識別するように構成された[21]に記載のビデオコード化装置。
[26] 前記1つ以上のプロセッサが、前記2つ以上の以前にコード化されたCUの前記SDIPシンタックス要素の合計に基づいて、前記エントロピーコード化コンテキストを識別するように構成された[25]に記載のビデオコード化装置。
[27] 前記1つ以上のプロセッサが、前記2つ以上の以前にコード化されたCUの前記SDIPシンタックス要素の平均に基づいて、前記エントロピーコード化コンテキストを識別するように構成された[25]に記載のビデオコード化装置。
[28] 2つ以上の以前にコード化されたCUが、前記現在ピクチャ内の前記現在CUの左側に位置し、前記1つ以上のプロセッサが、前記2つ以上の以前にコード化されたCUのうちの最大のCUのSDIPシンタックス要素に基づいて、前記エントロピーコード化コンテキストを識別するように構成された[21]に記載のビデオコード化装置。
[29] 2つ以上の以前にコード化されたCUが、前記現在ピクチャ内の前記現在CUの左側に位置し、前記1つ以上のプロセッサが、前記2つ以上の以前にコード化されたCUのうちの一番上のCUのSDIPシンタックス要素に基づいて、前記エントロピーコード化コンテキストを識別するように構成された[21]に記載のビデオコード化装置。
[30] 2つ以上の以前にコード化されたCUが、前記現在ピクチャ内の前記現在CUの左側に位置し、前記1つ以上のプロセッサが、前記現在CUの左縁部の中心又はそのまわりに位置する、前記2つ以上の以前にコード化されたCUのうちの1つのSDIPシンタックス要素に基づいて、前記エントロピーコード化コンテキストを識別するように構成された[21]に記載のビデオコード化装置。
[31] 前記1つ以上のプロセッサが、前記現在CUのサイズに基づいて、前記エントロピーコード化コンテキストを識別するように構成された[21]に記載のビデオコード化装置。
[32] 前記1つ以上のプロセッサが、前記現在CUの深度に基づいて、前記エントロピーコード化コンテキストを識別するように構成された[21]に記載のビデオコード化装置。
[33] 前記1つ以上のプロセッサが、前記現在CUの前記1つ以上のPUのうちの1つのイントラ予測モードに基づいて、前記エントロピーコード化コンテキストを識別するように構成された[21]に記載のビデオコード化装置。
[34] 前記1つ以上のエントロピーコード化コンテキストのセットが、前記エントロピーコード化コンテキストだけを含む、[21]に記載のビデオコード化装置。
[35] 前記1つ以上のプロセッサが、前記識別されたエントロピーコード化コンテキストを使用して、前記SDIPシンタックス要素をエントロピー符号化するように構成された、[21]に記載のビデオコード化装置。
[36] 前記1つ以上のプロセッサが、前記現在CUが前記1つ以上のPUに区分される前記モードを選択することと、前記SDIPシンタックス要素を生成することと、イントラ予測を実行して、前記1つ以上のPUに対応する1つ以上の予測ビデオブロックを生成することと、前記予測ビデオブロックと前記現在CUのビデオブロックとに基づいて、前記現在CUの変換単位(TU)に対応する残差ビデオブロックを生成することと、1つ以上の変換を適用して、前記残差ビデオブロックを前記TUに対応する変換係数ブロックに変換することと、前記SDIPシンタックス要素と前記残差変換係数ブロックとをエントロピー符号化した後、前記SDIPシンタックス要素及び前記残差変換係数ブロックの符号化された表現を含むビットストリームを出力することと
を行うように構成された、[35]に記載のビデオコード化装置。
[37] 前記1つ以上のプロセッサが、前記識別されたエントロピーコード化コンテキストを使用して、前記SDIPシンタックス要素をエントロピー復号するように構成された、[21]に記載のビデオコード化装置。
[38] 前記1つ以上のプロセッサが、前記SDIPシンタックス要素をエントロピー復号した後、前記SDIPシンタックス要素に少なくとも部分的に基づいて、前記現在CUが前記1つ以上のPUに区分されるモードを決定することと、1つ以上の変換を適用して、前記現在CUのTUに対応する変換係数ブロックを、前記現在CUの前記TUに対応する残差ビデオブロックに変換することと、イントラ予測を実行して、前記現在CUに関連付けられた前記1つ以上のPUに対応する予測ビデオブロックを生成することと、前記残差ビデオブロックと前記予測ビデオブロックとに基づいて、前記現在CUに対応するサンプルのブロックを生成することと、前記現在CUに対応するサンプルの前記ブロックを表示するために出力することと
を行うように構成された、[37]に記載のビデオコード化装置。
[39] 前記SDIPシンタックス要素の第1の値が、前記現在CUが1つ以上の正方形PUに区分されることを示し、前記SDIPシンタックス要素の第2の値が、前記現在CUが複数の長方形PUに区分されることを示す[21]に記載のビデオコード化装置。
[40] 前記SDIPシンタックス要素の第1の値が、前記現在CUが複数の垂直面指向の長方形PUに区分されることを示し、前記SDIPシンタックス要素の第2の値が、前記現在CUが複数の水平面指向の長方形PUに区分されることを示す[21]に記載のビデオコード化装置。
[41] 現在ピクチャ内の現在コード化単位(CU)の上にあるいずれの隣接CUも参照せずに、1つ以上のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別するための手段と、前記識別されたエントロピーコード化コンテキストを使用して短距離イントラ予測(SDIP)シンタックス要素をエントロピーコード化するための手段と、前記SDIP)シンタックス要素は、前記現在CUが1つ以上の予測単位(PU)のセットに区分されるモードを少なくとも部分的に規定するを備える、ビデオコード化装置。
[42] 前記エントロピーコード化コンテキストを識別するための前記手段が、以前にコード化されたCUからのSDIPシンタックス要素に基づいて前記エントロピーコード化コンテキストを識別するための手段を備え、前記以前にコード化されたCUが前記現在ピクチャ内の前記現在CUの左側に位置し、前記以前にコード化されたCUからの前記SDIPシンタックス要素が、前記以前にコード化されたCUがPUに区分されるモードを少なくとも部分的に規定する、[41]に記載のビデオコード化装置。
[43] 2つ以上の以前にコード化されたCUが、前記現在ピクチャ内の前記現在CUの左側に位置し、前記エントロピーコード化コンテキストを識別するための前記手段が、前記2つ以上の以前にコード化されたCUのSDIPシンタックス要素の関数に基づいて、前記エントロピーコード化コンテキストを識別するための手段を備える[41]に記載のビデオコード化装置。
[44] 前記エントロピーコード化コンテキストを識別するための前記手段が、前記現在CUのサイズに基づいて、前記エントロピーコード化コンテキストを識別するための手段を備える[41]に記載のビデオコード化装置。
[45] 前記エントロピーコード化コンテキストを識別するための前記手段が、前記現在CUの深度に基づいて、前記エントロピーコード化コンテキストを識別するための手段を備える[41]に記載のビデオコード化装置。
[46] 前記エントロピーコード化コンテキストを識別するための前記手段が、前記現在CUの前記1つ以上のPUのうちの1つのイントラ予測モードに基づいて、前記エントロピーコード化コンテキストを識別するための手段を備える[41]に記載のビデオコード化装置。
[47] 実行されたとき、ビデオコード化用の機器の1つ以上のプロセッサに、現在ピクチャ内の現在コード化単位(CU)の上にあるいずれの隣接CUも参照せずに、1つ以上のエントロピーコード化コンテキストのセット内でエントロピーコード化コンテキストを識別することと、前記識別されたエントロピーコード化コンテキストを使用して短距離イントラ予測(SDIP)シンタックス要素をエントロピーコード化することと、前記SDIP)シンタックス要素は、前記現在CUが1つ以上の予測単位(PU)のセットに区分されるモードを少なくとも部分的に規定するを行わせる命令を備える、コンピュータ可読記憶媒体。
[48] 前記命令が、前記1つ以上のプロセッサに、以前にコード化されたCUからのSDIPシンタックス要素に基づいて前記エントロピーコード化コンテキストを識別させ、前記以前にコード化されたCUが前記現在ピクチャ内の前記現在CUの左側に位置し、前記以前にコード化されたCUからの前記SDIPシンタックス要素が、前記以前にコード化されたCUがPUに区分されるモードを少なくとも部分的に規定する、[47]に記載のコンピュータ可読記憶媒体。
[49] 2つ以上の以前にコード化されたCUが、前記現在ピクチャ内の前記現在CUの左側に位置し、前記命令が、前記1つ以上のプロセッサに、前記2つ以上の以前にコード化されたCUのSDIPシンタックス要素の関数に基づいて、前記エントロピーコード化コンテキストを識別させる[47]に記載のコンピュータ可読記憶媒体。
[50] 前記命令が、前記1つ以上のプロセッサに、前記現在CUのサイズに基づいて、前記エントロピーコード化コンテキストを識別させる[47]に記載のコンピュータ可読記憶媒体。
[51] 前記命令が、前記1つ以上のプロセッサに、前記現在CUの深度に基づいて、前記エントロピーコード化コンテキストを識別させる[47]に記載のコンピュータ可読記憶媒体。
[52] 前記命令が、前記1つ以上のプロセッサに、前記現在CUの前記1つ以上のPUのうちの1つのイントラ予測モードに基づいて、前記エントロピーコード化コンテキストを識別させる[47]に記載のコンピュータ可読記憶媒体。