JP2017525257A - スケーラブルビデオコード化におけるビットストリーム適合制約 - Google Patents

スケーラブルビデオコード化におけるビットストリーム適合制約 Download PDF

Info

Publication number
JP2017525257A
JP2017525257A JP2016575231A JP2016575231A JP2017525257A JP 2017525257 A JP2017525257 A JP 2017525257A JP 2016575231 A JP2016575231 A JP 2016575231A JP 2016575231 A JP2016575231 A JP 2016575231A JP 2017525257 A JP2017525257 A JP 2017525257A
Authority
JP
Japan
Prior art keywords
bitstream
video
unit
partition
decoding
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
JP2016575231A
Other languages
English (en)
Other versions
JP2017525257A5 (ja
JP6608395B2 (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 JP2017525257A publication Critical patent/JP2017525257A/ja
Publication of JP2017525257A5 publication Critical patent/JP2017525257A5/ja
Application granted granted Critical
Publication of JP6608395B2 publication Critical patent/JP6608395B2/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Abstract

ビットストリームの中のビデオ情報をコード化するように構成された装置は、メモリと、メモリと通信しているプロセッサとを含む。メモリは、ビットストリームの中の複数のビデオレイヤに関連するビデオ情報を記憶するように構成され、ビットストリームの中の複数のビデオレイヤが、複数のビットストリームパーティションに分割され、ここにおいて、各ビットストリームパーティションが、複数のビデオレイヤのうちの少なくとも1つを含む。プロセッサは、複数のビットストリームパーティションのうちの第1のビットストリームパーティションに関連するビットストリーム適合パラメータを処理するように構成され、ここにおいて、ビットストリーム適合パラメータが、第1のビットストリームパーティションに適用可能であるが、第1のビットストリームパーティションによって包含されない、ビットストリームの別の部分に適用可能でない。プロセッサは、ビットストリームの中のビデオ情報を符号化又は復号し得る。

Description

[0001]本開示は、ビデオコード化及び圧縮の分野に関し、詳細には、スケーラブルビデオコード化、マルチビュービデオコード化又は3次元(3D)ビデオコード化に関する。
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、携帯電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、ムービングピクチャエキスパートグループ−2(MPEG−2)、MPEG−4、国際電信連合−電気通信標準化部門(ITU−T)H.263、ITU−T H.264/MPEG−4,Part10、高度ビデオコード化(AVC)、高効率ビデオコード化(HEVC)規格によって定義された規格及びそのような規格の拡張に記載されているものなどの、ビデオ圧縮技法を実装する。ビデオ機器は、そのようなビデオコード化技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号及び/又は記憶し得る。
[0003]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために、空間(イントラピクチャ)予測及び/又は時間(インターピクチャ)予測を実行する。ブロックベースのビデオコード化の場合、ビデオスライス(例えば、ビデオフレーム、ビデオフレームの一部分など)が、ツリーブロック、コード化単位(CU:coding unit)及び/又はコード化ノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化される(I)スライスの中のビデオブロックは、同じピクチャの中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化される(P又はB)スライスの中のビデオブロックは、同じピクチャの中の隣接ブロック中の参照サンプルに対する空間予測又は他の参照ピクチャにおける参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0004]本開示のシステム、方法及び機器は、幾つかの発明的態様をそれぞれ有し、それらの態様は、1つとして、本明細書で開示する望ましい属性を単独で担うものではない。
[0005]一態様では、ビットストリームの中のビデオ情報をコード化(例えば、符号化又は復号)するように構成された装置は、メモリと、メモリと通信しているプロセッサとを含む。メモリは、ビットストリームの中の複数のビデオレイヤに関連するビデオ情報を記憶するように構成され、ビットストリームの中の複数のビデオレイヤが、複数のビットストリームパーティションに分割され、ここにおいて、各ビットストリームパーティションが、複数のビデオレイヤのうちの少なくとも1つを含む。プロセッサは、複数のビットストリームパーティションのうちの第1のビットストリームパーティションに関連するビットストリーム適合パラメータを処理するように構成され、ここにおいて、ビットストリーム適合パラメータが、第1のビットストリームパーティションに適用可能であるが、第1のビットストリームパーティションによって包含されない、ビットストリームの別の部分に適用可能でない。
[0006]別の態様では、ビットストリームの中のビデオ情報をコード化する方法は、複数のビットストリームパーティションのうちの第1のビットストリームパーティションに関連するビットストリーム適合パラメータを処理することを含み、各ビットストリームパーティションが、ビットストリームの中の複数のビデオレイヤのうちの少なくとも1つを含み、ここにおいて、ビットストリーム適合パラメータが、第1のビットストリームパーティションに適用可能であるが、第1のビットストリームパーティションによって包含されない、ビットストリームの別の部分に適用可能でない。
[0007]別の態様では、非一時的コンピュータ可読媒体は、実行されたとき、装置に、ビットストリームの中の複数のビデオレイヤに関連するビデオ情報を記憶することと、ビットストリームの中の複数のビデオレイヤが、複数のビットストリームパーティションに分割され、ここにおいて、各ビットストリームパーティションが、複数のビデオレイヤのうちの少なくとも1つを含む、複数のビットストリームパーティションのうちの第1のビットストリームパーティションに関連するビットストリーム適合パラメータを処理することと、ここにおいて、ビットストリーム適合パラメータが、第1のビットストリームパーティションに適用可能であるが、第1のビットストリームパーティションによって包含されない、ビットストリームの別の部分に適用可能でない、を行わせるコードを含む。
[0008]別の態様では、ビットストリームの中のビデオ情報をコード化するように構成されたビデオコード化機器は、ビットストリームの中の複数のビデオレイヤに関連するビデオ情報を記憶するための手段と、ビットストリームの中の複数のビデオレイヤが、複数のビットストリームパーティションに分割され、ここにおいて、各ビットストリームパーティションが、複数のビデオレイヤのうちの少なくとも1つを含む、複数のビットストリームパーティションのうちの第1のビットストリームパーティションに関連するビットストリーム適合パラメータを処理するための手段と、ここにおいて、ビットストリーム適合パラメータが、第1のビットストリームパーティションに適用可能であるが、第1のビットストリームパーティションによって包含されない、ビットストリームの別の部分に適用可能でない、を含む。
[0009]本開示で説明する態様による技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。 [0010]本開示で説明する態様による技法を実行し得る別の例示的なビデオ符号化及び復号システムを示すブロック図。 [0011]本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図。 [0012]本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図。 [0013]本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図。 [0014]本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図。 [0015]異なるビットストリームパーティションの中のピクチャの例示的な構成を示すブロック図。 [0016]ビットストリームパーティションに関連するパラメータを処理する方法を示すフローチャート。 [0017]ビットストリーム適合制約が満たされているかどうかを決定する方法を示すフローチャート。 [0018]異なるレイヤの中の接合点を越えるピクチャの例示的な一構成を示すブロック図。 [0019]異なるレイヤにおけるピクチャの例示的な構成を示すブロック図。 [0020]異なるレイヤの中のピクチャのピクチャ順序カウント(POC)値を示す表。 [0021]異なるレイヤの中のピクチャの例示的な一構成を示すブロック図。 [0022]異なるレイヤにおけるピクチャのPOC値を示す表。
[0023]幾つかの実装形態では、ビットストリーム適合に関する様々なパラメータがビットストリームの中で信号伝達され、ここで、幾つかのビットストリーム適合制約は、そのようなパラメータによって規定される値を制限し得る。例えば、そのようなパラメータは、ビットストリームの中のコード化されたピクチャに関連するタイミング情報又はビットストリーム若しくはその一部分(例えば、コード化単位、ピクチャ、ビデオレイヤなど)の他の特性を規定し得る。既存の実装形態では、これらのパラメータは、しばしば、ビットストリーム全体又はアクセス単位全体(例えば、同じ出力時間インスタンスに対応する、ビットストリームの中の全てのピクチャ)に関連する。
[0024]幾つかの状況では、ビットストリーム(又は、アクセス単位)をより小さい単位でトランスポート又は処理することが望ましい場合がある。しかしながら、ビットストリーム全体(例えば、ビットストリームの中の全てのレイヤ)又はアクセス単位全体(例えば、アクセス単位の中の全てのピクチャ)に適用可能なビットストリーム適合パラメータとビットストリーム適合制約とを有することは、ビットストリームを区分しパーティションの一部又は全部を独立に処理するためのプロセスを複雑にする場合がある。
[0025]従って、ビットストリームの中の様々なビットストリーム適合パラメータを定義及び処理するための、改善された方法が望まれる。
[0026]本開示では、ビットストリームの中で推定又は信号伝達されるビットストリーム適合パラメータを定義及び処理するための、様々な技法が説明される。本開示の幾つかの実施形態では、コーダは、ビットストリームの中の複数のビデオレイヤのサブセットを含むビットストリームパーティションに関連するビットストリーム適合パラメータを処理する。そのような実施形態では、ビットストリーム適合パラメータは、ビットストリームパーティションに適用可能であってよいが、ビットストリームパーティションによって包含されない、ビットストリームの別の部分に適用可能でなくてよい。ビットストリームパーティションに関連しビットストリーム全体に関連しないビットストリーム適合パラメータを処理することによって、ビットストリームをトランスポート及び処理する際のより大きいフレキシビリティが実現され得る。
[0027]以下の説明では、幾つかの実施形態に関係するH.264/高度ビデオコード化(AVC)技法が記載され、HEVC規格及び関係する技法も説明される。HEVC規格及び/又はH.264規格のコンテキストにおいて、幾つかの実施形態が本明細書に記載されるが、本明細書で開示されるシステム及び方法が任意の適切なビデオコード化規格に適用可能であり得ることを、当業者なら諒解されよう。例えば、本明細書で開示する実施形態は、次の規格、即ち、国際電気通信連合(ITU)電気通信標準化部門(ITU−T)H.261、国際標準化機構/国際電気標準会議(ISO/IEC)MPEG−1ビジュアル、ITU−T H.262及びISO/IEC MPEG−2ビジュアル、ITU−T H.263、ISO/IEC MPEG−4ビジュアル若しくはそのスケーラブルビデオコード化(SVC)及びマルチビュービデオコード化(MVC)拡張を含むITU−T H.264(ISO/IEC MPEG−4 AVCとも呼ばれる)のうちの、1つ又は複数に適用可能であり得る。
[0028]HEVCは、概して、多くの点で、前のビデオコード化規格のフレームワークに従う。HEVCにおける予測の単位は、幾つかの前のビデオコード化規格における予測の単位(例えば、マクロブロック)とは異なる。事実上、マクロブロックの概念は、幾つかの前のビデオコード化規格において理解されているように、HEVC中に存在しない。マクロブロックは、他の考えられる利益の中でも高いフレキシビリティを与え得る、4分木方式に基づく階層構造と置き換えられる。例えば、HEVC方式内で、コード化単位(CU)、予測単位(PU:Prediction Unit)及び変換単位(TU:Transform Unit)という3つのタイプのブロックが定義される。CUは領域分割の基本単位を指すことがある。CUはマクロブロックの概念に類似するとみなされてよいが、HEVCは、CUの最大サイズを制限せず、コンテンツ適応性を改善するために4つの等しいサイズのCUへの再帰的分割を可能にし得る。PUは、インター/イントラ予測の基本単位とみなされてよく、単一のPUは、不規則なイメージパターンを効率的にコード化するために、複数の任意形状区分を含み得る。TUは、変換の基本単位とみなされてよい。TUはPUとは無関係に定義され得るが、TUのサイズはTUが属するCUのサイズに限定されることがある。3つの異なる概念へのブロック構造のこの分離は、各ユニットがそのユニットのそれぞれの役割に従って最適化されることを可能にし得、このことはコード化効率の改善をもたらし得る。
[0029]単に説明の目的で、本明細書で開示する幾つかの実施形態は、ビデオデータの2つのレイヤ(例えば、BLなどの下位レイヤ及びELなどの上位レイヤ)のみを含む例を用いて説明する。ビデオデータの「レイヤ」は、概して、ビュー、フレームレート、解像度などの、少なくとも1つの共通の特性を有するピクチャのシーケンスを指すことがある。例えば、レイヤは、マルチビュービデオデータの特定のビュー(例えば、視点)に関連したビデオデータを含み得る。別の例として、レイヤは、スケーラブルビデオデータの特定のレイヤに関連したビデオデータを含み得る。従って、本開示は、ビデオデータのレイヤ及びビューを互換的に指すことがある。例えば、ビデオデータのビューは、ビデオデータのレイヤと呼ばれることがあり、ビデオデータのレイヤは、ビデオデータのビューと呼ばれることがある。加えて、マルチレイヤコーデック(マルチレイヤビデオコーダ又はマルチレイヤエンコーダデコーダとも呼ばれる)は、マルチビューコーデック又はスケーラブルコーデック(例えば、MV−HEVC、3D−HEVC、SHVC又は別のマルチレイヤコード化技法を使用してビデオデータを符号化及び/又は復号するように構成されるコーデック)を一緒に指すことがある。ビデオ符号化及びビデオ復号は、概して、両方ともビデオコード化と呼ばれることがある。そのような例が複数のBL、RL及び/又はELを含む構成に適用可能であり得ることを理解されたい。更に、説明を簡単にするために、以下の開示は、幾つかの実施形態に関して「フレーム」又は「ブロック」という用語を含む。しかしながら、これらの用語は、限定的であることを意味しない。例えば、以下で説明する技法は、ブロック(例えば、CU、PU、TU、マクロブロックなど)、スライス、フレームなどの、任意の適切なビデオ単位とともに使用され得る。
ビデオコード化規格
[0030]ビデオ画像、TV画像、静止画像又はビデオレコーダ若しくはコンピュータによって生成された画像などの、デジタル画像は、水平ライン及び垂直ラインで構成された画素又はサンプルを含み得る。単一の画像中の画素の数は一般に数万個である。各画素は、一般に、ルミナンス情報とクロミナンス情報とを含んでいる。圧縮がなければ、画像エンコーダから画像デコーダに搬送されるべき情報の純粋な量は、リアルタイム画像伝送を実行不可能にすることになる。送信されるべき情報の量を低減するために、JPEG、MPEG及びH.263規格など、幾つかの異なる圧縮方法が開発された。
[0031]ビデオコード化規格は、ITU−T H.261と、ISO/IEC MPEG−1ビジュアルと、ITU−T H.262又はISO/IEC MPEG−2ビジュアルと、ITU−T H.263と、ISO/IEC MPEG−4ビジュアルと、(ISO/IEC MPEG−4 AVCとも呼ばれる)ITU−T H.264と、それのスケーラブルビデオコード化(SVC)及びマルチビュービデオコード化(MVC)拡張を含むHEVCとを含む。
[0032]更に、ビデオコード化規格、即ち、HEVCが、ITU−T VCEGとISO/IEC MPEGとのジョイントコラボレーションチームオンビデオコード化(JCT−VC:Joint Collaboration Team on Video Coding)によって開発されている。HEVCドラフト10についての完全引用は、文書JCTVC−L1003、Brossら、「High Efficiency Video Coding(HEVC)Text Specification Draft 10」、ITU−T SG16 WP3及びISO/IEC JTC1/SC29/WG11のジョイントコラボレーティブチームオンビデオコード化(JCT−VC)、第12回会合:ジュネーブ、スイス、2013年1月14日〜2013年1月23日である。HEVCへのマルチビュー拡張、即ち、MV−HEVC及びSHVCと名付けられたHEVCへのスケーラブル拡張も、JCT−3V(ITU−T/ISO/IECジョイントコラボレーティブチームオン3Dビデオコード化拡張開発)及びJCT−VCによって、それぞれ開発されている。
ビデオコード化システム
[0033]新規のシステム、装置及び方法の様々な態様は、これ以降、添付図面を参照しながら、より十分に説明される。しかしながら、本開示は、多くの異なる形態で実施可能であり、本開示の全体を通して示される任意の特定の構造又は機能に限定されるものと解釈されるべきでない。むしろ、本開示が、入念で完全であり、本開示の範囲を当業者に十分に伝達するように、これらの態様が提供される。本明細書の教示に基づいて、本開示の範囲は、本開示の他の態様と無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示する新規のシステム、装置及び方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。例えば、本明細書に記載される任意の数の態様を使用して装置が実装されてよく又は方法が実施されてもよい。更に、本開示の範囲は、本明細書に記載する本開示の様々な態様に加えて又はそれらの態様以外に、他の構造、機能又は構造及び機能を使用して実施されるそのような装置又は方法をカバーするものとする。本明細書で開示する任意の態様は、特許請求の範囲の1つ又は複数の要素により実施されてもよいことを理解されたい。
[0034]特定の態様について本明細書で説明するが、これらの態様の多くの変形及び置換は本開示の範囲内に入る。好ましい態様の幾つかの利益及び利点が述べられるが、本開示の範囲は、特定の利益、使用又は目的に限定されることを意図しない。むしろ、本開示の態様は、異なるワイヤレス技術、システム構成、ネットワーク及び伝送プロトコルに広く適用可能なものであり、そのうちの幾つかが図面及び好ましい態様の以下の説明において例として示される。詳細な説明及び図面は、限定的ではなく、本開示の例示にすぎず、本開示の範囲は、添付の特許請求の範囲及びその均等物によって定義される。
[0035]添付の図面は、例を示す。添付の図面内で参照番号によって指示される要素は、以下の説明において同様の参照番号で指示される要素に対応する。本開示では、序数語(例えば、「第1の」、「第2の」、「第3の」など)で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じ又は同様のタイプの、異なる要素を指すために使用されるにすぎない。
[0036]図1Aは、本開示で説明する態様による技法を利用し得る例示的なビデオコード化システム10を示すブロック図である。本明細書で使用し説明する「ビデオコーダ」又は「コーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコード化」又は「コード化」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。ビデオエンコーダ及びビデオデコーダに加えて、本出願に記載される態様は、トランスコーダ(例えば、ビットストリームを復号し別のビットストリームを再符号化することができる機器)及びミドルボックス(例えば、ビットストリームを修正、変換及び/又は別のやり方で操作することができる機器)などの、他の関係する機器に拡張され得る。
[0037]図1Aに示すように、ビデオコード化システム10は、宛先機器14によって後で復号されるべき符号化ビデオデータを生成する発信源機器12を含む。図1Aの例では、発信源機器12及び宛先機器14は別個の機器を構成する。しかしながら、発信源機器12及び宛先機器14が、図1Bの例に示すように、同じ機器上にあってもよく又は同じ機器の部分であってもよいことに留意されたい。
[0038]もう一度図1Aを参照すると、発信源機器12及び宛先機器14はそれぞれ、デスクトップコンピュータ、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲の機器のいずれかを備え得る。様々な実施形態では、発信源機器12及び宛先機器14はワイヤレス通信のために装備され得る。
[0039]宛先機器14は、リンク16を介して、復号されるべき符号化ビデオデータを受信し得る。リンク16は、発信源機器12から宛先機器14に符号化ビデオデータを動かすことが可能な任意のタイプの媒体又は機器を備え得る。図1Aの例では、リンク16は、発信源機器12が、符号化ビデオデータをリアルタイムで宛先機器14に送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され得、宛先機器14に送信され得る。通信媒体は、無線周波数(RF)スペクトル又は1つ又は複数の物理伝送線路などの、任意のワイヤレス通信媒体又は有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースのネットワーク又はインターネットなどのグローバルネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局又は発信源機器12から宛先機器14への通信を容易にするために有用であり得る、任意の他の機器を含み得る。
[0040]代替的に、符号化データは出力インターフェース22から、(随意に存在する)記憶機器31に出力され得る。同様に、符号化データは、例えば、宛先機器14の入力インターフェース28によって、記憶機器31からアクセスされ得る。記憶機器31は、ハードドライブ、フラッシュメモリ、揮発性又は不揮発性のメモリ若しくは符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、様々な分散された、又は局所的にアクセスされるデータ記憶媒体のいずれかを含み得る。更なる例では、記憶機器31は、発信源機器12によって生成された符号化ビデオを保持し得るファイルサーバ又は別の中間記憶機器に相当し得る。宛先機器14は、記憶されているビデオデータに、記憶機器31からストリーミング又はダウンロードを介してアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することができ、その符号化ビデオデータを宛先機器14に送信することができる、任意のタイプのサーバであり得る。例示的なファイルサーバは、ウェブサーバ(例えば、ウェブサイト用の)、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)機器又はローカルディスクドライブを含む。宛先機器14は、インターネット接続を含む任意の標準的なデータ接続を通じて、符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(例えば、ワイヤレスローカルエリアネットワーク(WLAN)接続)、ワイヤード接続(例えば、デジタル加入者回線(DSL)、ケーブルモデムなど)又はその両方の組合せを含み得る。記憶機器31からの符号化ビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送又はその両方の組合せであり得る。
[0041]本開示の技法は、ワイヤレスの用途又は設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信(例えば、動的適応ストリーミングオーバーハイパーテキスト転送プロトコル(HTTP)など)、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、ビデオコード化システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング及び/又はビデオ電話などの用途をサポートするために、単方向又は双方向のビデオ送信をサポートするように構成され得る。
[0042]図1Aの例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は変調器/復調器(モデム)及び/又は送信機を含み得る。発信源機器12において、ビデオ発信源18は、撮像装置、例えばビデオカメラ、以前に撮られたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース及び/又は発信源ビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどの発信源又はそのような発信源の組合せを含み得る。一例として、図1Bの例に示すように、ビデオ発信源18がビデオカメラである場合、発信源機器12及び宛先機器14は、所謂「カメラ付き電話」又は「ビデオ電話」を形成し得る。しかしながら、本開示に記載される技法は、概してビデオコード化に適用可能であり得、ワイヤレスアプリケーション及び/又は有線アプリケーションに適用され得る。
[0043]撮られたビデオ、以前に撮られたビデオ又はコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオデータは、発信源機器12の出力インターフェース22を介して、宛先機器14に送信され得る。符号化ビデオデータは、更に(又は代替的に)、復号及び/又は再生のための宛先機器14又は他の機器による後のアクセスのために、記憶機器31に記憶され得る。図1A及び図1Bに示すビデオエンコーダ20は、図2に示すビデオエンコーダ20又は本明細書に記載される任意の他のビデオエンコーダを備えてよい。
[0044]図1Aの例では、宛先機器14は、入力インターフェース28と、ビデオデコーダ30と、表示装置32とを含む。場合によっては、入力インターフェース28は、受信機及び/又はモデムを含み得る。宛先機器14の入力インターフェース28は、符号化ビデオデータを、リンク16を介して及び/又は記憶機器31から受信し得る。リンク16を介して通信され又は記憶機器31上に提供された符号化ビデオデータは、ビデオデータを復号する際のビデオデコーダ30などのビデオデコーダによる使用のために、ビデオエンコーダ20によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体に記憶されるか、又はファイルサーバに記憶される符号化ビデオデータに含まれ得る。図1A及び図1Bに示すビデオデコーダ30は、図3Aに示すビデオデコーダ30、図3Bに示すビデオデコーダ33又は本明細書に記載される任意の他のビデオデコーダを備えてよい。
[0045]表示装置32は、宛先機器14と一体化されるか、又はその外部にあり得る。幾つかの例では、宛先機器14は、一体型表示装置を含み得、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器14は表示装置であり得る。概して、表示装置32は、復号ビデオデータをユーザに対して表示し、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
[0046]関係する態様では、図1Bは、例示的なビデオコード化システム10’を示し、ここにおいて、発信源機器12及び宛先機器14は、機器11上にあり、又はその部分である。機器11は、「スマート」フォンなどの電話ハンドセットであり得る。機器11は、発信源機器12及び宛先機器14と動作可能に通信している(随意に存在する)コントローラ/プロセッサ機器13を含み得る。図1Bのビデオコード化システム10’及びその構成要素は、図1Aのビデオコード化システム10及びその構成要素と場合によっては類似である。
[0047]ビデオエンコーダ20及びビデオデコーダ30は、HEVCなど、ビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG−4,Part10,AVCと呼ばれるITU−T H.264規格など、他の独自の規格又は業界規格又はそのような規格の拡張に従って動作し得る。但し、本開示の技法は、いかなる特定のコード化規格にも限定されない。ビデオ圧縮規格の他の例は、MPEG−2及びITU−T H.263を含む。
[0048]図1A及び図1Bの例に示されないが、ビデオエンコーダ20及びビデオデコーダ30は各々、オーディオエンコーダ及びオーディオデコーダと統合されてよく、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なMUX−DEMUXユニット又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、幾つかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0049]ビデオエンコーダ20及びビデオデコーダ30は各々、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組合せなどの様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、適切な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し得、本開示の技法を実行するために、1つ又は複数のプロセッサを使用して、命令をハードウェアで実行し得る。ビデオエンコーダ20及びビデオデコーダ30の各々は、1つ又は複数のエンコーダ又はデコーダに含まれ得、そのいずれも、それぞれの機器において複合エンコーダ/デコーダの一部として統合され得る。
ビデオコード化プロセス
[0050]上記で簡略に述べられたように、ビデオエンコーダ20はビデオデータを符号化する。ビデオデータは、1つ又は複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。幾つかの事例では、ピクチャは、ビデオ「フレーム」と呼ばれることがある。ビデオエンコーダ20がビデオデータを符号化するとき、ビデオエンコーダ20は、ビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化された表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャと、関連するデータとを含み得る。コード化ピクチャは、ピクチャのコード化された表現である。
[0051]ビットストリームを生成するために、ビデオエンコーダ20は、ビデオデータ中の各ピクチャに対して符号化演算を実行し得る。ビデオエンコーダ20がピクチャに対して符号化演算を実行するとき、ビデオエンコーダ20は、一連のコード化ピクチャと、関連するデータとを生成し得る。関連するデータは、ビデオパラメータセット(VPS:video parameter set)と、シーケンスパラメータセット(SPS)と、ピクチャパラメータセット(PPS)と、適応パラメータセット(APS)と、他のシンタックス構造とを含み得る。SPSは、ピクチャの0個以上のシーケンスに適用可能なパラメータを含み得る。PPSは、0個以上のピクチャに適用可能なパラメータを含み得る。APSは、0個以上のピクチャに適用可能なパラメータを含み得る。APS中のパラメータは、PPS中のパラメータよりも変化する可能性が高いパラメータであり得る。
[0052]コード化ピクチャを生成するために、ビデオエンコーダ20は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックはサンプルの2次元アレイであり得る。ビデオブロックの各々は、ツリーブロックに関連付けられる。幾つかの事例では、ツリーブロックは、最大コード化単位(LCU:largest coding unit)と呼ばれることがある。HEVCのツリーブロックは、H.264/AVCのような従来の規格のマクロブロックに、広い意味で類似し得る。しかしながら、ツリーブロックは、特定のサイズに必ずしも限定されず、1つ又は複数のコード化単位(CU)を含み得る。ビデオエンコーダ20は、ツリーブロックのビデオブロックを、CUに関連付けられたビデオブロックに区分するために、4分木区分を使用し得、従って、「ツリーブロック」という名前である。
[0053]幾つかの例では、ビデオエンコーダ20は、ピクチャを複数のスライスに区分し得る。スライスの各々は、整数個のCUを含み得る。幾つかの事例では、スライスは、整数個のツリーブロックを備える。他の事例では、スライスの境界は、ツリーブロック内にあり得る。
[0054]ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化演算を実行し得る。ビデオエンコーダ20がスライスに対して符号化演算を実行するとき、ビデオエンコーダ20は、スライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは、「コード化スライス」と呼ばれることがある。
[0055]コード化スライスを生成するために、ビデオエンコーダ20は、スライス中の各ツリーブロックに対して符号化演算を実行し得る。ビデオエンコーダ20がツリーブロックに対して符号化演算を実行するとき、ビデオエンコーダ20は、コード化されたツリーブロックを生成し得る。コード化されたツリーブロックは、ツリーブロックの符号化されたバージョンを表すデータを備え得る。
[0056]ビデオエンコーダ20がコード化スライスを生成するとき、ビデオエンコーダ20は、ラスタ走査順序に従って、スライス中のツリーブロックに対して符号化演算を実行(例えば、符号化)し得る。例えば、ビデオエンコーダ20は、スライス中のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の下の行にわたって左から右に進み、以下同様に進む順序で、ビデオエンコーダ20がスライス中のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化し得る。
[0057]ラスタ走査順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上及び左のツリーブロックは符号化されていることがあるが、所与のツリーブロックの下及び右のツリーブロックはまだ符号化されていない。従って、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上及び左のツリーブロックを符号化することによって生成される情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下及び右のツリーブロックを符号化することによって生成される情報にアクセスできないことがある。
[0058]コード化されたツリーブロックを生成するために、ビデオエンコーダ20は、ビデオブロックを徐々により小さいビデオブロックに分割するために、ツリーブロックのビデオブロック上で4分木区分を再帰的に実行し得る。より小さいビデオブロックの各々は、異なるCUに関連付けられ得る。例えば、ビデオエンコーダ20は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し得、サブブロックのうちの1つ又は複数を4つの等しいサイズのサブサブブロックに区分し得、以下同様である。区分されたCUは、そのビデオブロックが他のCUに関連付けられたビデオブロックに区分されているCUであり得る。区分されていないCUは、そのビデオブロックが他のCUに関連付けられたビデオブロックに区分されていないCUであり得る。
[0059]ビットストリーム中の1つ又は複数のシンタックス要素は、ビデオエンコーダ20がツリーブロックのビデオブロックを区分し得る最大の回数を示し得る。CUのビデオブロックは形状が正方形であり得る。CUのビデオブロックのサイズ(例えば、CUのサイズ)は、8×8の画素から、最大で64×64以上の画素を有するツリーブロックのビデオブロックのサイズ(例えば、ツリーブロックのサイズ)までわたり得る。
[0060]ビデオエンコーダ20は、z走査順序に従って、ツリーブロックの各CUに対して符号化演算を実行(例えば、符号化)し得る。言い換えれば、ビデオエンコーダ20は、左上のCUと、右上のCUと、左下のCUと、次いで右下のCUとを、その順序で符号化し得る。ビデオエンコーダ20が、区分されているCUに対して符号化演算を実行するとき、ビデオエンコーダ20は、z走査順序に従って、区分されているCUのビデオブロックのサブブロックに関連付けられたCUを符号化し得る。言い換えれば、ビデオエンコーダ20は、左上のサブブロックに関連付けられたCUと、右上のサブブロックに関連付けられたCUと、左下のサブブロックに関連付けられたCUと、次いで右下のサブブロックに関連付けられたCUとを、その順序で符号化し得る。
[0061]z走査順序に従ってツリーブロックのCUを符号化した結果として、所与のCUの上、左上、右上、左及び左下のCUは符号化されていることがある。所与のCUの下又は右のCUはまだ符号化されていない。従って、ビデオエンコーダ20は、所与のCUを符号化するとき、所与のCUに隣接する幾つかのCUを符号化することによって生成される情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ20は、所与のCUを符号化するとき、所与のCUに隣接する他のCUを符号化することによって生成される情報にアクセスできないことがある。
[0062]ビデオエンコーダ20が、区分されていないCUを符号化するとき、ビデオエンコーダ20は、CUに対する1つ又は複数の予測単位(PU)を生成し得る。CUのPUの各々は、CUのビデオブロック内の異なるビデオブロックに関連付けられ得る。ビデオエンコーダ20は、CUの各PUに対して予測ビデオブロックを生成し得る。PUの予測ビデオブロックは、サンプルのブロックであり得る。ビデオエンコーダ20は、PUのための予測ビデオブロックを生成するために、イントラ予測又はインター予測を使用し得る。
[0063]ビデオエンコーダ20がPUの予測ビデオブロックを生成するためにイントラ予測を使用するとき、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号サンプルに基づいて、PUの予測ビデオブロックを生成し得る。ビデオエンコーダ20がCUのPUの予測ビデオブロックを生成するためにイントラ予測を使用する場合、CUはイントラ予測されたCUである。ビデオエンコーダ20がPUの予測ビデオブロックを生成するためにインター予測を使用するとき、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つ又は複数のピクチャの復号サンプルに基づいて、PUの予測ビデオブロックを生成し得る。ビデオエンコーダ20がCUのPUの予測ビデオブロックを生成するためにインター予測を使用する場合、CUはインター予測されたCUである。
[0064]更に、ビデオエンコーダ20がPUのための予測ビデオブロックを生成するためにインター予測を使用するとき、ビデオエンコーダ20は、PUのための動き情報を生成し得る。PUのための動き情報は、PUの1つ又は複数の参照ブロックを示し得る。PUの各参照ブロックは、参照ピクチャ内のビデオブロックであり得る。参照ピクチャは、PUに関連付けられたピクチャ以外のピクチャであり得る。幾つかの事例では、PUの参照ブロックは、PUの「参照サンプル」と呼ばれることもある。ビデオエンコーダ20は、PUの参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。
[0065]ビデオエンコーダ20がCUの1つ又は複数のPUのための予測ビデオブロックを生成した後、ビデオエンコーダ20は、CUのPUのための予測ビデオブロックに基づいて、CUに対する残差データを生成し得る。CUの残差データは、CUのPUのための予測ビデオブロック中のサンプルと、CUの元のビデオブロック中のサンプルとの差分を示し得る。
[0066]更に、区分されていないCUに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、CUの残差データを、CUの変換単位(TU)に関連付けられた残差データの1つ又は複数のブロック(例えば、残差ビデオブロック)に区分するために、CUの残差データに対して再帰的な4分木区分を実行し得る。CUの各TUは、異なる残差ビデオブロックに関連付けられ得る。
[0067]ビデオエンコーダ20は、TUに関連付けられた変換係数ブロック(例えば、変換係数のブロック)を生成するために、TUに関連付けられた残差ビデオブロックに1つ又は複数の変換を適用し得る。概念的に、変換係数ブロックは変換係数の2次元(2D)行列であり得る。
[0068]変換係数ブロックを生成した後、ビデオエンコーダ20は、変換係数ブロックに対して量子化プロセスを実行し得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を実現するプロセスを指す。量子化プロセスは、変換係数の一部又は全部に関連するビット深度を低減し得る。例えば、量子化中に、nビット変換係数はmビット変換係数に切り捨てられ得、ここで、nはmよりも大きい。
[0069]ビデオエンコーダ20は、各CUを、量子化パラメータ(QP)値に関連付け得る。CUに関連付けられたQP値は、ビデオエンコーダ20が、CUに関連付けられた変換係数ブロックをどのように量子化するかを決定し得る。ビデオエンコーダ20は、CUに関連付けられたQP値を調整することによって、CUに関連付けられた変換係数ブロックに適用される量子化の程度を調整し得る。
[0070]ビデオエンコーダ20が変換係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数ブロックの中で変換係数を表すシンタックス要素のセットを生成し得る。ビデオエンコーダ20は、これらのシンタックス要素のうちの幾つかに、コンテキスト適応型バイナリ算術コード化(CABAC:Context Adaptive Binary Arithmetic Coding)演算などのエントロピー符号化演算を適用し得る。コンテキスト適応型可変長コード化(CAVLC:context adaptive variable length coding)、確率間隔区分エントロピー(PIPE:probability interval partitioning entropy)コード化又は他のバイナリ算術コード化など、他のエントロピーコード化技法も使用され得る。
[0071]ビデオエンコーダ20によって生成されるビットストリームは、一連のネットワーク抽象化レイヤ(NAL:Network Abstraction Layer)単位を含み得る。NAL単位の各々は、NAL単位中のデータのタイプの指示と、データを含むバイトとを含む、シンタックス構造であり得る。例えば、NAL単位は、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、コード化スライス、SEI、アクセス単位デリミタ、フィラーデータ又は別のタイプのデータを表すデータを含み得る。NAL単位中のデータは、様々なシンタックス構造を含み得る。
[0072]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオエンコーダ20によって符号化されたビデオデータのコード化された表現を含み得る。ビデオデコーダ30がビットストリームを受信すると、ビデオデコーダ30は、ビットストリームに対して構文解析動作を実行し得る。ビデオデコーダ30が構文解析動作を実行するとき、ビデオデコーダ30は、ビットストリームからシンタックス要素を抽出し得る。ビデオデコーダ30は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構成し得る。シンタックス要素に基づいてビデオデータを再構成するためのプロセスは、一般に、シンタックス要素を生成するためにビデオエンコーダ20によって実行されるプロセスの逆であり得る。
[0073]ビデオデコーダ30がCUに関連付けられたシンタックス要素を抽出した後、ビデオデコーダ30は、シンタックス要素に基づいて、CUのPUのための予測ビデオブロックを生成し得る。更に、ビデオデコーダ30は、CUのTUに関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ30は、CUのTUに関連付けられた残差ビデオブロックを再構成するために、変換係数ブロックに対して逆変換を実行し得る。予測ビデオブロックを生成し、残差ビデオブロックを再構成した後、ビデオデコーダ30は、予測ビデオブロック及び残差ビデオブロックに基づいて、CUのビデオブロックを再構成し得る。このようにして、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて、CUのビデオブロックを再構成し得る。
ビデオエンコーダ
[0074]図2Aは、本開示で説明する態様による技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、HEVCの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。更に、ビデオエンコーダ20は、本開示の技法のいずれか又は全てを実行するように構成され得る。幾つかの例では、本開示で説明する技法は、ビデオエンコーダ20の様々な構成要素間で共有され得る。幾つかの例では、追加又は代替として、プロセッサ(図示せず)が、本開示で説明する技法のいずれか又は全てを実行するように構成され得る。
[0075]説明の目的で、本開示は、HEVCコード化のコンテキストにおいてビデオエンコーダ20を説明する。しかしながら、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。図2Aに示す例は、シングルレイヤコーデックのためのものである。しかしながら、図2Bに関して更に説明するように、ビデオエンコーダ20の一部又は全部は、マルチレイヤコーデックの処理のために複製され得る。
[0076]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコード化とインターコード化とを実行し得る。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオの空間的冗長性を低減又は除去するために、空間予測に依拠する。インターコード化は、ビデオシーケンスの隣接するフレーム内又はピクチャ内のビデオの時間的冗長性を低減する、又は除去するために時間予測に依拠する。イントラモード(Iモード)は、幾つかの空間ベースのコード化モードのいずれかを参照し得る。単方向予測(Pモード)又は双方向予測(Bモード)などのインターモードは、幾つかの時間ベースのコード化モードのいずれかを参照し得る。
[0077]図2Aの例では、ビデオエンコーダ20は複数の機能構成要素を含む。ビデオエンコーダ20の機能構成要素は、予測処理ユニット100と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換ユニット110と、再構成ユニット112と、フィルタユニット113と、復号ピクチャバッファ114と、エントロピー符号化ユニット116とを含む。予測処理ユニット100は、インター予測ユニット121と、動き推定ユニット122と、動き補償ユニット124と、イントラ予測ユニット126と、レイヤ間予測ユニット128とを含む。他の例では、ビデオエンコーダ20は、より多いか、より少ないか又は異なる機能構成要素を含み得る。更に、動き推定ユニット122及び動き補償ユニット124は、高度に統合され得るが、図2Aの例では、説明の目的で別々に表されている。
[0078]ビデオエンコーダ20は、ビデオデータを受信し得る。ビデオエンコーダ20は、様々な発信源からビデオデータを受信し得る。例えば、ビデオエンコーダ20は、ビデオ発信源18(例えば、図1A又は図1Bに示す)又は別の発信源からビデオデータを受信し得る。ビデオデータは、一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオエンコーダ20は、ピクチャの各々に対して符号化演算を実行し得る。ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化演算を実行し得る。スライスに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、スライス中のツリーブロックに対して符号化演算を実行し得る。
[0079]ツリーブロックに対して符号化演算を実行することの一部として、予測処理ユニット100は、ビデオブロックを徐々により小さいビデオブロックに分割するために、ツリーブロックのビデオブロックに対して4分木区分を実行し得る。より小さいビデオブロックの各々は、異なるCUに関連付けられ得る。例えば、予測処理ユニット100は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し得、サブブロックのうちの1つ又は複数を4つの等しいサイズのサブサブブロックに区分し得、以下同様である。
[0080]CUに関連付けられたビデオブロックのサイズは、8×8サンプルから、最大で64×64サンプル以上のツリーブロックのサイズにまでわたり得る。本開示では、「N×N」及び「N by N」は、垂直方向の寸法及び水平方向の寸法に関するビデオブロックのサンプルの寸法、例えば、16×16サンプル又は16 by 16サンプルを指すために、互換的に使用され得る。一般に、16×16のビデオブロックは、垂直方向に16個のサンプルを有し(y=16)、水平方向に16個のサンプルを有する(x=16)。同様に、N×Nのブロックは、一般に、垂直方向にN個のサンプルを有し、水平方向にN個のサンプルを有し、ここで、Nは非負整数値を表す。
[0081]更に、ツリーブロックに対して符号化演算を実行することの一部として、予測処理ユニット100は、ツリーブロック用の階層的な4分木データ構造を生成し得る。例えば、ツリーブロックは、4分木データ構造のルートノードに対応し得る。予測処理ユニット100がツリーブロックのビデオブロックを4つのサブブロックに区分する場合、ルートノードは、4分木データ構造中に4つの子ノードを有する。子ノードの各々は、サブブロックのうちの1つに関連付けられたCUに対応する。予測処理ユニット100がサブブロックのうちの1つを4つのサブサブブロックに区分する場合、サブブロックに関連付けられたCUに対応するノードは、サブサブブロックのうちの1つに関連付けられたCUに各々が対応する、4つの子ノードを有し得る。
[0082]4分木データ構造の各ノードは、対応するツリーブロック又はCUのシンタックスデータ(例えば、シンタックス要素)を含み得る。例えば、4分木の中のノードは、そのノードに対応するCUのビデオブロックが4つのサブブロックに区分(例えば、分割)されているかどうかを示すスプリットフラグを含み得る。CUのためのシンタックス要素は、再帰的に定義され得、CUのビデオブロックがサブブロックに分割されているかどうかに依存し得る。ビデオブロックが区分されていないCUは、4分木データ構造におけるリーフノードに対応し得る。コード化されたツリーブロックは、対応するツリーブロック用の4分木データ構造に基づくデータを含み得る。
[0083]ビデオエンコーダ20は、ツリーブロックの区分されていない各CUに対して符号化演算を実行し得る。ビデオエンコーダ20が、区分されていないCUに対して符号化演算を実行するとき、ビデオエンコーダ20は、区分されていないCUの符号化された表現を表すデータを生成する。
[0084]CUに対して符号化演算を実行することの一部として、予測処理ユニット100は、CUの1つ又は複数のPUの中で、CUのビデオブロックを区分し得る。ビデオエンコーダ20及びビデオデコーダ30は、様々なPUサイズをサポートし得る。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20及びビデオデコーダ30は、2N×2N又はN×NのPUサイズ及び2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N又は同様の対称PUサイズでのインター予測とをサポートし得る。ビデオエンコーダ20及びビデオデコーダ30は、2N×nU、2N×nD、nL×2N及びnR×2NのPUサイズに対する非対称区分もサポートし得る。幾つかの例では、予測処理ユニット100は、CUのビデオブロックの辺に直角に接触しない境界に沿ってCUのPUの間でCUのビデオブロックを区分するように、幾何学的な区分を実行し得る。
[0085]インター予測ユニット121は、CUの各PUに対してインター予測を実行し得る。インター予測は、時間圧縮を実現し得る。PUに対してインター予測を実行するために、動き推定ユニット122は、PUのための動き情報を生成し得る。動き補償ユニット124は、PUベースの動き情報及びCUに関連付けられたピクチャ以外のピクチャ(例えば、参照ピクチャ)の復号サンプルのための、予測ビデオブロックを生成し得る。本開示では、動き補償ユニット124によって生成される予測ビデオブロックは、インター予測ビデオブロックと呼ばれることがある。
[0086]スライスは、Iスライス、Pスライス又はBスライスであり得る。動き推定ユニット122及び動き補償ユニット124は、PUがIスライス中にあるのか、Pスライス中にあるのか、それともBスライス中にあるのかに応じて、CUのPUのための異なる演算を実行し得る。Iスライス中では、全てのPUがイントラ予測される。従って、PUがIスライス中にある場合、動き推定ユニット122及び動き補償ユニット124は、PUに対してインター予測を実行しない。
[0087]PUがPスライス中にある場合、PUを含むピクチャは、「リスト0」と呼ばれる参照ピクチャのリストに関連付けられる。リスト0中の参照ピクチャの各々は、他のピクチャのインター予測のために使用され得るサンプルを含む。動き推定ユニット122がPスライス中のPUに関して動き推定演算を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索し得る。PUの参照ブロックは、PUのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、例えば、サンプルのブロックであり得る。動き推定ユニット122は、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定するために、様々なメトリックを使用し得る。例えば、動き推定ユニット122は、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)又は他の差分メトリックによって、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定し得る。
[0088]Pスライス中のPUの参照ブロックを識別した後、動き推定ユニット122は、参照ブロックを含んでいる、リスト0中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。様々な例において、動き推定ユニット122は、動きベクトルを異なる精度に生成し得る。例えば、動き推定ユニット122は、1/4サンプル精度、1/8サンプル精度又は他の分数のサンプル精度で動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動き情報によって識別された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
[0089]PUがBスライス中にある場合、PUを含むピクチャは、「リスト0」及び「リスト1」と呼ばれる参照ピクチャの2つのリストに関連付けられ得る。幾つかの例では、Bスライスを含むピクチャは、リスト0とリスト1の組合せである、リストの組合せと関連付けられ得る。
[0090]更に、PUがBスライス中にある場合、動き推定ユニット122は、PUのための単方向予測又は双方向予測を実行し得る。動き推定ユニット122がPUのための単方向予測を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0又はリスト1の参照ピクチャを探索し得る。動き推定ユニット122は、次いで、参照ブロックを含む、リスト0又はリスト1中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。予測方向インジケータは、参照インデックスが、リスト0中の参照ピクチャを示すのか、それともリスト1中の参照ピクチャを示すのかを示し得る。動き補償ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
[0091]動き推定ユニット122がPUのための双方向予測を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索し得、また、PUのための別の参照ブロックについて、リスト1中の参照ピクチャを探索し得る。動き推定ユニット122は、次いで、参照ブロックを含む、リスト0及びリスト1中の参照ピクチャを示す参照インデックスと、参照ブロックとPUとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット122は、PUの動き情報として、PUの参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
[0092]幾つかの事例では、動き推定ユニット122は、PUのための動き情報のフルセットをエントロピー符号化ユニット116に出力しない。そうではなく、動き推定ユニット122は、別のPUの動き情報を参照して、PUの動き情報を信号伝達し得る。例えば、動き推定ユニット122は、PUの動き情報が、隣接PUの動き情報と十分に類似していると決定し得る。この例では、動き推定ユニット122は、PUに関連付けられたシンタックス構造において、PUが隣接PUと同じ動き情報を有することをビデオデコーダ30に示す値を示し得る。別の例では、動き推定ユニット122は、PUに関連付けられたシンタックス構造において、隣接PUと動きベクトル差分(MVD)とを識別し得る。動きベクトル差分は、PUの動きベクトルと、示される隣接PUの動きベクトルとの差分を示す。ビデオデコーダ30は、PUの動きベクトルを決定するために、示された隣接PUの動きベクトルと、動きベクトル差分とを使用し得る。第2のPUの動き情報を信号伝達するときに第1のPUの動き情報を参照することによって、ビデオエンコーダ20は、より少数のビットを使用して、第2のPUの動き情報を信号伝達することが可能であり得る。
[0093]CUに対して符号化演算を実行することの一部として、イントラ予測ユニット126は、CUのPUに対してイントラ予測を実行し得る。イントラ予測は、空間圧縮を実現し得る。イントラ予測ユニット126がPUに対してイントラ予測を実行するとき、イントラ予測ユニット126は、同じピクチャ中の他のPUの復号サンプルに基づいて、PUのための予測データを生成し得る。PUのための予測データは、予測ビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測ユニット126は、Iスライス、Pスライス及びBスライス中のPUに対してイントラ予測を実行し得る。
[0094]PUに対してイントラ予測を実行するために、イントラ予測ユニット126は、PUのための予測データの複数のセットを生成するために、複数のイントラ予測モードを使用し得る。イントラ予測ユニット126がPUのための予測データのセットを生成するためにイントラ予測モードを使用するとき、イントラ予測ユニット126は、イントラ予測モードと関連する方向及び/又は勾配で、隣接PUのビデオブロックからPUのビデオブロックにわたってサンプルを延ばし得る。PU、CU及びツリーブロックについて左から右、上から下の符号化順序を仮定すると、隣接PUは、PUの上、右上、左上又は左にあり得る。イントラ予測ユニット126は、PUのサイズに応じて、様々な数のイントラ予測モード、例えば、33個の方向性イントラ予測モードを使用し得る。
[0095]予測処理ユニット100は、動き補償ユニット124によってPUのために生成された予測データ又はイントラ予測ユニット126によってPUのために生成された予測データの中から、PUのための予測データを選択し得る。幾つかの例では、予測処理ユニット100は、予測データのセットのレート/歪みメトリックに基づいて、PUのための予測データを選択する。
[0096]予測処理ユニット100がイントラ予測ユニット126によって生成された予測データを選択する場合、予測処理ユニット100は、PUのための予測データを生成するために使用されたイントラ予測モード、例えば、選択されたイントラ予測モードを信号伝達し得る。予測処理ユニット100は、選択されたイントラ予測モードを様々な方法で信号伝達し得る。例えば、選択されたイントラ予測モードは、隣接PUのイントラ予測モードと同じであることが起こり得る。言い換えれば、隣接PUのイントラ予測モードは、現在PUに対して最確モードであり得る。従って、予測処理ユニット100は、選択されたイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示すためのシンタックス要素を生成し得る。
[0097]上記で説明したように、ビデオエンコーダ20は、レイヤ間予測ユニット128を含み得る。レイヤ間予測ユニット128は、SHVCにおいて利用可能である1つ又は複数の異なるレイヤ(例えば、ベースレイヤ又は参照レイヤ)を使用して、現在ブロック(例えば、EL中の現在ブロック)を予測するように構成される。そのような予測は、レイヤ間予測と呼ばれることがある。レイヤ間予測ユニット128は、レイヤ間冗長性を低減するための予測方法を利用し、それによって、コード化効率を改善し、計算リソース要件を低減する。レイヤ間予測の幾つかの例は、レイヤ間イントラ予測と、レイヤ間動き予測と、レイヤ間残差予測とを含む。レイヤ間イントラ予測は、エンハンスメントレイヤ中の現在ブロックを予測するために、ベースレイヤの中でコロケートされているブロックの再構成を使用する。レイヤ間動き予測は、エンハンスメントレイヤ中の動作を予測するために、ベースレイヤの動き情報を使用する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、ベースレイヤの残差を使用する。
[0098]予測処理ユニット100がCUのPUのための予測データを選択した後、残差生成ユニット102は、CUのビデオブロックからCUのPUの予測ビデオブロックを差し引くこと(例えば、マイナス符号によって示される)によって、CUの残差データを生成し得る。CUの残差データは、CUのビデオブロック中のサンプルの異なるサンプル成分に対応する2D残差ビデオブロックを含み得る。例えば、残差データは、CUのPUの予測ビデオブロック中のサンプルのルミナンス成分と、CUの元のビデオブロック中のサンプルのルミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。更に、CUの残差データは、CUのPUの予測ビデオブロック中のサンプルのクロミナンス成分と、CUの元のビデオブロック中のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。
[0099]予測処理ユニット100は、CUの残差ビデオブロックをサブブロックに区分するために、4分木区分を実行し得る。分割されていない各残差ビデオブロックは、CUの異なるTUに関連付けられ得る。CUのTUに関連付けられる残差ビデオブロックのサイズ及び位置は、CUのPUに関連付けられたビデオブロックのサイズ及び位置に基づいてもよく又は基づかなくてもよい。「残差4分木」(RQT)と呼ばれる4分木構造は、残差ビデオブロックの各々に関連付けられたノードを含み得る。CUのTUは、RQTのリーフノードに対応し得る。
[0100]変換処理ユニット104は、TUに関連付けられた残差ビデオブロックに1つ又は複数の変換を適用することによって、CUの各TUのための1つ又は複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は、変換係数の2D行列であり得る。変換処理ユニット104は、TUに関連付けられた残差ビデオブロックに様々な変換を適用し得る。例えば、変換処理ユニット104は、離散コサイン変換(DCT)、方向変換又は概念的に類似の変換を、TUに関連付けられた残差ビデオブロックに適用し得る。
[0101]変換処理ユニット104が、TUに関連付けられた変換係数ブロックを生成した後、量子化ユニット106は、変換係数ブロック中の変換係数を量子化し得る。量子化ユニット106は、CUに関連付けられたQP値に基づいて、CUのTUに関連付けられた変換係数ブロックを量子化し得る。
[0102]ビデオエンコーダ20は、様々な方法でQP値をCUに関連付け得る。例えば、ビデオエンコーダ20は、CUに関連付けられたツリーブロックに対して、レート歪み分析を実行し得る。レート歪み分析では、ビデオエンコーダ20は、ツリーブロックに対して符号化演算を複数回実行することによって、ツリーブロックの複数のコード化された表現を生成し得る。ビデオエンコーダ20が、ツリーブロックの異なる符号化表現を生成するとき、ビデオエンコーダ20は、異なるQP値をCUに関連付け得る。最小のビットレート及び歪みメトリックを有するツリーブロックのコード化された表現で所与のQP値がCUに関連付けられるとき、ビデオエンコーダ20は、所与のQP値がCUに関連付けられることを信号伝達し得る。
[0103]逆量子化ユニット108及び逆変換ユニット110は、変換係数ブロックから残差ビデオブロックを再構成するために、それぞれ、逆量子化と逆変換とを変換係数ブロックに適用し得る。再構成ユニット112は、TUに関連付けられた再構成されたビデオブロックを生成するために、再構成された残差ビデオブロックを、予測処理ユニット100によって生成された1つ又は複数の予測ビデオブロックからの対応するサンプルに追加し得る。このようにCUの各TUについてビデオブロックを再構成することによって、ビデオエンコーダ20は、CUのビデオブロックを再構成し得る。
[0104]再構成ユニット112がCUのビデオブロックを再構成した後、フィルタユニット113は、CUに関連付けられたビデオブロックにおけるブロック歪みを低減するために、デブロッキング演算を実行し得る。1つ又は複数のデブロッキング演算を実行した後、フィルタユニット113は、CUの再構成されたビデオブロックを復号ピクチャバッファ114に記憶し得る。動き推定ユニット122及び動き補償ユニット124は、後続のピクチャのPUに対してインター予測を実行するために、再構成されたビデオブロックを含む参照ピクチャを使用し得る。更に、イントラ予測ユニット126は、CUと同じピクチャ中の他のPUに対してイントラ予測を実行するために、復号ピクチャバッファ114の中の再構成されたビデオブロックを使用し得る。
[0105]エントロピー符号化ユニット116は、ビデオエンコーダ20の他の機能構成要素からデータを受信し得る。例えば、エントロピー符号化ユニット116は、量子化ユニット106から変換係数ブロックを受信し得、予測処理ユニット100からシンタックス要素を受信し得る。エントロピー符号化ユニット116がデータを受信すると、エントロピー符号化ユニット116は、エントロピー符号化データを生成するために、1つ又は複数のエントロピー符号化演算を実行し得る。例えば、ビデオエンコーダ20は、CAVLC演算、CABAC演算、変数間(V2V:variable-to-variable)レングスコード化演算、シンタックスベースコンテキスト適応型バイナリ算術コード化(SBAC:syntax-based context-adaptive binary arithmetic coding)演算、確率間隔区分エントロピー(PIPE)コード化演算又は別のタイプのエントロピー符号化演算をデータに対して実行し得る。エントロピー符号化ユニット116は、エントロピー符号化データを含むビットストリームを出力し得る。
[0106]データに対してエントロピー符号化演算を実行することの一部として、エントロピー符号化ユニット116は、コンテキストモデルを選択し得る。エントロピー符号化ユニット116がCABAC演算を実行している場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示し得る。CABACのコンテキストでは、「ビン」という用語は、シンタックス要素の2値化されたバージョンのビットを指すために使用される。
マルチレイヤビデオエンコーダ
[0107]図2Bは、本開示で説明する態様による技法を実装し得るマルチレイヤビデオエンコーダ23(単にビデオエンコーダ23とも呼ばれる)の一例を示すブロック図である。ビデオエンコーダ23は、SHVC及びマルチビューコード化の場合など、マルチレイヤビデオフレームを処理するように構成され得る。更に、ビデオエンコーダ23は、本開示の技法のいずれか又は全てを実行するように構成され得る。
[0108]ビデオエンコーダ23はビデオエンコーダ20Aとビデオエンコーダ20Bとを含み、それらの各々はビデオエンコーダ20として構成され得、ビデオエンコーダ20に関して上記で説明した機能を実行し得る。更に、参照番号の再利用によって示されるように、ビデオエンコーダ20A及び20Bは、ビデオエンコーダ20としてのシステム及びサブシステムのうちの少なくとも幾つかを含み得る。ビデオエンコーダ23は、2つのビデオエンコーダ20A及び20Bを含むように示されるが、ビデオエンコーダ23は、そのように限定されず、任意の数のビデオエンコーダ20のレイヤを含み得る。幾つかの実施形態では、ビデオエンコーダ23は、アクセス単位中の各ピクチャ又は各フレームに対してビデオエンコーダ20を含み得る。例えば、5つのピクチャを含むアクセス単位は、5つのエンコーダレイヤを含むビデオエンコーダによって処理又は符号化され得る。幾つかの実施形態では、ビデオエンコーダ23は、アクセス単位中のフレームよりも多くのエンコーダレイヤを含み得る。幾つかのそのような場合では、ビデオエンコーダのレイヤのうちの幾つかは、幾つかのアクセス単位を処理するときに非アクティブであり得る。
[0109]ビデオエンコーダ20A及び20Bに加えて、ビデオエンコーダ23は、リサンプリングユニット90を含み得る。リサンプリングユニット90は、場合によっては、例えば、ELを作成するために、受信されたビデオフレームのBLをアップサンプリングし得る。リサンプリングユニット90は、フレームの受信されたBLに関連付けられた特定の情報をアップサンプリングし得るが、他の情報をアップサンプリングしないことがある。例えば、リサンプリングユニット90は、BLの空間サイズ又は画素の数をアップサンプリングし得るが、スライスの数又はピクチャ順序カウントは一定のままであり得る。場合によっては、リサンプリングユニット90は、受信されたビデオを処理しないことがあり及び/又は随意であり得る。例えば、場合によっては、予測処理ユニット100は、アップサンプリングを実行し得る。幾つかの実施形態では、リサンプリングユニット90は、レイヤをアップサンプリングし、スライス境界ルール及び/又はラスタ走査ルールのセットに準拠するように、1つ又は複数のスライスを再編成、再定義、修正又は調整するように構成される。アクセス単位中のBL又は下位レイヤをアップサンプリングするものとして主に説明したが、場合によっては、リサンプリングユニット90は、レイヤをダウンサンプリングし得る。例えば、ビデオのストリーミング中に帯域幅が低減した場合、フレームは、アップサンプリングされるのではなく、ダウンサンプリングされ得る。
[0110]リサンプリングユニット90は、下位レイヤエンコーダ(例えば、ビデオエンコーダ20A)の復号ピクチャバッファ114からピクチャ又はフレーム(又はピクチャに関連付けられたピクチャ情報)を受信し、ピクチャ(又は受信されたピクチャ情報)をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤエンコーダと同じアクセス単位中のピクチャを符号化するように構成された、上位レイヤエンコーダ(例えば、ビデオエンコーダ20B)の予測処理ユニット100に供給され得る。場合によっては、上位レイヤエンコーダは、下位レイヤエンコーダから除去された1つのレイヤである。他の場合には、図2Bのレイヤ0ビデオエンコーダとレイヤ1エンコーダとの間に、1つ又は複数の上位レイヤエンコーダがあり得る。
[0111]場合によっては、リサンプリングユニット90は、省略又はバイパスされ得る。そのような場合、ビデオエンコーダ20Aの復号ピクチャバッファ114からのピクチャは、直接又は少なくともリサンプリングユニット90に供給されずに、ビデオエンコーダ20Bの予測処理ユニット100に供給され得る。例えば、ビデオエンコーダ20Bに供給されたビデオデータ及びビデオエンコーダ20Aの復号ピクチャバッファ114からの参照ピクチャが、同じサイズ又は解像度である場合、参照ピクチャは、いかなるリサンプリングも伴わずにビデオエンコーダ20Bに供給され得る。
[0112]幾つかの実施形態では、ビデオエンコーダ23は、ビデオエンコーダ20Aにビデオデータを供給する前に、ダウンサンプリングユニット94を使用して下位レイヤエンコーダに供給されるべきビデオデータをダウンサンプリングする。代替的に、ダウンサンプリングユニット94は、ビデオデータをアップサンプリング又はダウンサンプリングすることが可能なリサンプリングユニット90であり得る。また他の実施形態では、ダウンサンプリングユニット94は省略され得る。
[0113]図2Bに示すように、ビデオエンコーダ23は、マルチプレクサ98、即ちmuxを更に含み得る。mux98は、ビデオエンコーダ23から合成ビットストリームを出力することができる。合成ビットストリームは、ビデオエンコーダ20A及び20Bの各々からビットストリームを取ることと、所与の時間において出力されるビットストリームを交替することとによって、作成され得る。場合によっては、2つの(又は、3つ以上のビデオエンコーダレイヤの場合には、より多くの)ビットストリームからのビットが一度に1ビットずつ交替され得るが、多くの場合、ビットストリームは別様に合成される。例えば、出力ビットストリームは、選択されたビットストリームを一度に1ブロックずつ交替することによって作成され得る。別の例では、出力ビットストリームは、ビデオエンコーダ20A及び20Bの各々から非1:1比のブロックを出力することによって作成され得る。例えば、2つのブロックは、ビデオエンコーダ20Aから出力された各ブロックについてビデオエンコーダ20Bから出力され得る。幾つかの実施形態では、mux98からの出力ストリームはプリプログラムされ得る。他の実施形態では、mux98は、発信源機器12を含む発信源機器上のプロセッサからなど、ビデオエンコーダ23の外部のシステムから受信された制御信号に基づいて、ビデオエンコーダ20A、20Bからのビットストリームを合成し得る。制御信号は、ビデオ発信源18からのビデオの解像度又はビットレートに基づいて、リンク16の帯域幅に基づいて、ユーザに関連するサブスクリプション(例えば、有料サブスクリプション対無料サブスクリプション)に基づいて又はビデオエンコーダ23から望まれる解像度出力を決定するための他のファクタに基づいて生成され得る。
ビデオデコーダ
[0114]図3Aは、本開示で説明する態様による技法を実装し得るビデオデコーダ30の一例を示すブロック図である。ビデオデコーダ30は、HEVCの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。更に、ビデオデコーダ30は、本開示の技法のいずれか又は全てを実行するように構成され得る。幾つかの例では、本開示で説明する技法は、ビデオデコーダ30の様々な構成要素の間で共有され得る。幾つかの例では、追加又は代替として、プロセッサ(図示せず)が、本開示で説明する技法のいずれか又は全てを実行するように構成され得る
[0115]説明の目的で、本開示は、HEVCコード化のコンテキストにおいてビデオデコーダ30を説明する。しかしながら、本開示の技法は他のコード化規格又は方法に適用可能であり得る。図3Aに示す例は、シングルレイヤコーデックのためのものである。しかしながら、図3Bに関して更に説明するように、ビデオデコーダ30の一部又は全部は、マルチレイヤコーデックの処理のために複製され得る。
[0116]図3Aの例では、ビデオデコーダ30は複数の機能構成要素を含む。ビデオデコーダ30の機能構成要素は、エントロピー復号ユニット150と、予測処理ユニット152と、逆量子化ユニット154と、逆変換ユニット156と、再構成ユニット158と、フィルタユニット159と、復号ピクチャバッファ160とを含む。予測処理ユニット152は、動き補償ユニット162と、イントラ予測ユニット164と、レイヤ間予測ユニット166とを含む。幾つかの例では、ビデオデコーダ30は、図2Aのビデオエンコーダ20に関して説明された符号化経路とは全般に逆の復号経路を実行し得る。他の例では、ビデオデコーダ30は、より多いか、より少ないか又は異なる機能構成要素を含み得る。
[0117]ビデオデコーダ30は、符号化ビデオデータを備えるビットストリームを受信し得る。ビットストリームは、複数のシンタックス要素を含み得る。ビデオデコーダ30がビットストリームを受信すると、エントロピー復号ユニット150は、ビットストリームに対して構文解析動作を実行し得る。ビットストリームに対して構文解析動作を実行した結果として、エントロピー復号ユニット150は、ビットストリームからシンタックス要素を抽出し得る。構文解析動作を実行することの一部として、エントロピー復号ユニット150は、ビットストリーム中のエントロピー符号化シンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換ユニット156、再構成ユニット158及びフィルタユニット159は、ビットストリームから抽出されたシンタックス要素に基づいて、復号ビデオデータを生成する再構成演算を実行し得る。
[0118]上記で説明したように、ビットストリームは、一連のNAL単位を備え得る。ビットストリームのNAL単位は、ビデオパラメータセットNAL単位、シーケンスパラメータセットNAL単位、ピクチャパラメータセットNAL単位、SEI NAL単位などを含み得る。ビットストリームに対して構文解析動作を実行することの一部として、エントロピー復号ユニット150は、シーケンスパラメータセットNAL単位からのシーケンスパラメータセット、ピクチャパラメータセットNAL単位からのピクチャパラメータセット、SEI NAL単位からのSEIデータなどを抽出しエントロピー復号する構文解析動作を実行し得る。
[0119]更に、ビットストリームのNAL単位は、コード化スライスNAL単位を含み得る。ビットストリームに対して構文解析動作を実行することの一部として、エントロピー復号ユニット150は、コード化スライスNAL単位からコード化スライスを抽出しエントロピー復号する構文解析動作を実行し得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含み得る。スライスヘッダ中のシンタックス要素は、スライスを含むピクチャに関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号ユニット150は、スライスヘッダを復元するために、コード化スライスヘッダ中のシンタックス要素に対してCABAC復号演算などのエントロピー復号演算を実行し得る。
[0120]コード化スライスNAL単位からスライスデータを抽出することの一部として、エントロピー復号ユニット150は、スライスデータ中のコード化されたCUからシンタックス要素を抽出する構文解析動作を実行し得る。抽出されたシンタックス要素は、変換係数ブロックに関連付けられたシンタックス要素を含み得る。エントロピー復号ユニット150は、次いで、シンタックス要素のうちの幾つかに対してCABAC復号演算を実行し得る。
[0121]エントロピー復号ユニット150が、区分されていないCUに対して構文解析動作を実行した後、ビデオデコーダ30は、区分されていないCUに対して再構成演算を実行し得る。区分されていないCUに対して再構成演算を実行するために、ビデオデコーダ30は、CUの各TUに対して再構成演算を実行し得る。CUの各TUについて再構成演算を実行することによって、ビデオデコーダ30は、CUに関連付けられた残差ビデオブロックを再構成し得る。
[0122]TUに対して再構成演算を実行することの一部として、逆量子化ユニット154は、TUに関連付けられた変換係数ブロックを逆の量子化(inverse quantize)、例えば、逆量子化(de-quantize)し得る。逆量子化ユニット154は、HEVCのために提案された又はH.264復号規格によって定義された逆量子化処理と同様の方法で、変換係数ブロックを逆量子化し得る。逆量子化ユニット154は、量子化の程度を決定し、同様に、逆量子化ユニット154が適用すべき逆量子化の程度を決定するために、変換係数ブロックのCUに関してビデオエンコーダ20によって計算される量子化パラメータQPを使用し得る。
[0123]逆量子化ユニット154が変換係数ブロックを逆量子化した後、逆変換ユニット156は、変換係数ブロックに関連付けられたTUのための残差ビデオブロックを生成し得る。逆変換ユニット156は、TUのための残差ビデオブロックを生成するために、変換係数ブロックに逆変換を適用し得る。例えば、逆変換ユニット156は、変換係数ブロックに、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT:Karhunen-Loeve transform)、逆回転変換、逆方向変換又は別の逆変換を適用し得る。幾つかの例では、逆変換ユニット156は、ビデオエンコーダ20からの信号伝達に基づいて、変換係数ブロックに適用すべき逆変換を決定し得る。そのような例では、逆変換ユニット156は、変換係数ブロックに関連付けられたツリーブロックの4分木のルートノードにおいて信号伝達された変換に基づいて、逆変換を決定し得る。他の例では、逆変換ユニット156は、ブロックサイズ、コード化モードなど、1つ又は複数のコード化特性から逆変換を推定し得る。幾つかの例では、逆変換ユニット156はカスケード逆変換を適用し得る。
[0124]幾つかの例では、動き補償ユニット162は、補間フィルタに基づく補間を実行することによって、PUの予測ビデオブロックを改良し得る。サブサンプル精度を有する動き補償のために使用されるべき補間フィルタ用の識別子は、シンタックス要素に含まれ得る。動き補償ユニット162は、参照ブロックのサブ整数サンプルについての補間値を計算するために、PUの予測ビデオブロックの生成中にビデオエンコーダ20によって使用された同じ補間フィルタを使用し得る。動き補償ユニット162は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し得、予測ビデオブロックを生成するためにその補間フィルタを使用し得る。
[0125]PUが、イントラ予測を使用して符号化される場合、イントラ予測ユニット164は、PUのための予測ビデオブロックを生成するためにイントラ予測を実行し得る。例えば、イントラ予測ユニット164は、ビットストリーム中のシンタックス要素に基づいて、PUのためのイントラ予測モードを決定し得る。ビットストリームは、PUのイントラ予測モードを決定するためにイントラ予測ユニット164が使用し得るシンタックス要素を含み得る。
[0126]幾つかの事例では、イントラ予測ユニット164が現在PUのイントラ予測モードを決定するために別のPUのイントラ予測モードを使用するべきであることを、シンタックス要素が示し得る。例えば、現在PUのイントラ予測モードが隣接PUのイントラ予測モードと同じであることが起こり得る。言い換えれば、隣接PUのイントラ予測モードは、現在PUに対して最確モードであり得る。従って、この例では、ビットストリームは、PUのイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測ユニット164は、次いで、空間的に隣接するPUのビデオブロックに基づいてPUのための予測データ(例えば、予測サンプル)を生成するために、イントラ予測モードを使用し得る。
[0127]上記で説明したように、ビデオデコーダ30もレイヤ間予測ユニット166を含み得る。レイヤ間予測ユニット166は、SHVCにおいて利用可能である1つ又は複数の異なるレイヤ(例えば、ベースレイヤ又は参照レイヤ)を使用して、現在ブロック(例えば、エンハンスメントレイヤ中の現在ブロック)を予測するように構成される。そのような予測は、レイヤ間予測と呼ばれることがある。レイヤ間予測ユニット166は、レイヤ間冗長性を低減するための予測方法を利用し、それによって、コード化効率を改善し、計算リ発信源要件を低減する。レイヤ間予測の幾つかの例は、レイヤ間イントラ予測と、レイヤ間動き予測と、レイヤ間残差予測とを含む。レイヤ間イントラ予測は、エンハンスメントレイヤ中の現在ブロックを予測するために、ベースレイヤの中でコロケートされているブロックの再構成を使用する。レイヤ間動き予測は、エンハンスメントレイヤ中の動作を予測するために、ベースレイヤの動き情報を使用する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、ベースレイヤの残差を使用する。レイヤ間予測方式の各々について、以下でより詳細に説明する。
[0128]再構成ユニット158は、CUのビデオブロックを再構成するために、CUのTUに関連付けられた残差ビデオブロック及びCUのPUの予測ビデオブロック、例えば、適用可能なとき、イントラ予測データ又はインター予測データのいずれかを使用し得る。従って、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて予測ビデオブロックと残差ビデオブロックとを生成し得、予測ビデオブロックと残差ビデオブロックとに基づいてビデオブロックを生成し得る。
[0129]再構成ユニット158がCUのビデオブロックを再構成した後、フィルタユニット159は、CUに関連したブロック歪みを低減するためにデブロッキング演算を実行し得る。フィルタユニット159が、CUに関連したブロック歪み(blocking artifacts)を低減するためにデブロッキング演算を実行した後、ビデオデコーダ30は、CUのビデオブロックを復号ピクチャバッファ160に記憶し得る。復号ピクチャバッファ160は、次の動き補償、イントラ予測及び図1A又は図1Bの表示装置32などの表示装置上での提示のために、参照ピクチャを提供し得る。例えば、ビデオデコーダ30は、復号ピクチャバッファ160の中のビデオブロックに基づいて、他のCUのPUに対して、イントラ予測演算又はインター予測演算を実行し得る。
マルチレイヤデコーダ
[0130]図3Bは、本開示で説明する態様による技法を実装し得るマルチレイヤビデオデコーダ33(単にビデオデコーダ33とも呼ばれる)の一例を示すブロック図である。ビデオデコーダ33は、SHVC及びマルチビューコード化の場合など、マルチレイヤビデオフレームを処理するように構成され得る。更に、ビデオデコーダ33は、本開示の技法のいずれか又は全てを実行するように構成され得る。
[0131]ビデオデコーダ33は、ビデオデコーダ30Aとビデオデコーダ30Bとを含み、それらの各々はビデオデコーダ30として構成され得、ビデオデコーダ30に関して上記で説明した機能を実行し得る。更に、参照番号の再利用によって示されるように、ビデオデコーダ30A及び30Bは、ビデオデコーダ30としてのシステム及びサブシステムのうちの少なくとも幾つかを含み得る。ビデオデコーダ33は、2つのビデオデコーダ30A及び30Bを含むように示されるが、ビデオデコーダ33は、そのように限定されず、任意の数のビデオデコーダ30のレイヤを含み得る。幾つかの実施形態では、ビデオデコーダ33はアクセス単位中の各ピクチャ又は各フレームのためのビデオデコーダ30を含み得る。例えば、5つのピクチャを含むアクセス単位は、5つのデコーダレイヤを含むビデオデコーダによって処理又は復号され得る。幾つかの実施形態では、ビデオデコーダ33は、アクセス単位中のフレームよりも多くのデコーダレイヤを含み得る。幾つかのそのような場合では、ビデオデコーダのレイヤのうちの幾つかは、幾つかのアクセス単位を処理するときに非アクティブであり得る。
[0132]ビデオデコーダ30A及び30Bに加えて、ビデオデコーダ33は、アップサンプリングユニット92を含み得る。幾つかの実施形態では、アップサンプリングユニット92は、フレーム又はアクセス単位のための参照ピクチャリストに追加されるべきエンハンストレイヤを作成するために、受信されたビデオフレームのBLをアップサンプリングし得る。このエンハンストレイヤは、復号ピクチャバッファ160に記憶され得る。幾つかの実施形態では、アップサンプリングユニット92は、図2Aのリサンプリングユニット90に関して説明した実施形態の一部又は全部を含むことができる。幾つかの実施形態では、アップサンプリングユニット92は、レイヤをアップサンプリングし、スライス境界ルール及び/又はラスタ走査ルールのセットに準拠するように、1つ又は複数のスライスを再編成、再定義、修正又は調整するように構成される。場合によっては、アップサンプリングユニット92は、受信されたビデオフレームのレイヤをアップサンプリング及び/又はダウンサンプリングするように構成されたリサンプリングユニットであり得る。
[0133]アップサンプリングユニット92は、下位レイヤデコーダ(例えば、ビデオデコーダ30A)の復号ピクチャバッファ160からピクチャ又はフレーム(又はピクチャに関連付けられたピクチャ情報)を受信し、ピクチャ(又は受信されたピクチャ情報)をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤデコーダと同じアクセス単位中のピクチャを復号するように構成された、上位レイヤデコーダ(例えば、ビデオデコーダ30B)の予測処理ユニット152に供給され得る。場合によっては、上位レイヤデコーダは、下位レイヤデコーダから除去された1つのレイヤである。他の場合には、図3Bのレイヤ0デコーダとレイヤ1デコーダとの間に、1つ又は複数の上位レイヤデコーダがあり得る。
[0134]場合によっては、アップサンプリングユニット92は、省略又はバイパスされ得る。そのような場合、ビデオデコーダ30Aの復号ピクチャバッファ160からのピクチャは、直接又は少なくともアップサンプリングユニット92に供給されずに、ビデオデコーダ30Bの予測処理ユニット152に供給され得る。例えば、ビデオデコーダ30Bに供給されたビデオデータ及びビデオデコーダ30Aの復号ピクチャバッファ160からの参照ピクチャが、同じサイズ又は解像度である場合、参照ピクチャは、アップサンプリングを伴わずにビデオデコーダ30Bに供給され得る。更に、幾つかの実施形態では、アップサンプリングユニット92は、ビデオデコーダ30Aの復号ピクチャバッファ160から受信された参照ピクチャを、アップサンプリング又はダウンサンプリングするように構成されたリサンプリングユニット90であり得る。
[0135]図3Bに示すように、ビデオデコーダ33は、デマルチプレクサ99、即ちdemuxを更に含み得る。demux99は、符号化ビデオビットストリームを複数のビットストリームに分割することができ、demux99によって出力された各ビットストリームは、異なるビデオデコーダ30A及び30Bに供給される。複数のビットストリームは、ビットストリームを受信することによって作成され得、ビデオデコーダ30A及び30Bの各々は、所与の時間においてビットストリームの一部分を受信する。場合によっては、demux99において受信されるビットストリームからのビットは、ビデオデコーダの各々(例えば、図3Bの例ではビデオデコーダ30A及び30B)の間で、一度に1ビットずつ交替され得るが、多くの場合、ビットストリームは別様に分割される。例えば、ビットストリームは、一度に1ブロックずつビットストリームを受信するビデオデコーダを交替することによって分割され得る。別の例では、ビットストリームは、非1:1比のブロックによって、ビデオデコーダ30A及び30Bの各々に分割され得る。例えば、2つのブロックは、ビデオデコーダ30Aに供給される各ブロックについてビデオデコーダ30Bに供給され得る。幾つかの実施形態では、demux99によるビットストリームの分割は、プリプログラムされ得る。他の実施形態では、demux99は、宛先機器14を含む宛先機器上のプロセッサからなど、ビデオデコーダ33の外部のシステムから受信された制御信号に基づいてビットストリームを分割し得る。制御信号は、入力インターフェース28からのビデオの解像度又はビットレートに基づいて、リンク16の帯域幅に基づいて、ユーザに関連付けられたサブスクリプション(例えば、有料サブスクリプション対無料サブスクリプション)に基づいて又はビデオデコーダ33によって取得可能な解像度を決定するための他のファクタに基づいて生成され得る。
ビットストリーム適合制約
[0136]ビデオコード化規格は、そのような規格に適合するビットストリームが従うべきビットストリーム適合制約を規定し得る。言い換えれば、規格に適合するビットストリーム(例えば、適合ビットストリーム)を有するために、ビットストリームは、規格によって規定された全てのビットストリーム適合制約を満たす必要がある。幾つかのビデオコード化規格では、適合ビットストリームは、エンコーダの出力に概念的に接続されている仮想デコーダによって復号されるべきと言われる。そのような仮想デコーダは、デコーダバッファ、デコーダ及び/又は表示ユニットからなり得る。この仮想デコーダは、既存のコード化方式(例えば、H.264、HEVCなど)において仮想参照デコーダ(HRD)と呼ばれることがある。所与の規格のビットストリーム適合制約は、所与の規格に適合する任意のデコーダによって正しく復号され得るビットストリームをエンコーダが生成することを確実にする。
[0137]ビットストリーム適合制約は、特定のビットストリームが規格に適合するかどうかをテストすることを望む任意のエンティティによって使用され得る。例えば、そのようなエンティティは、エンコーダ側であってよく(例えば、ビットストリームが規格に適合しない場合、ビットストリームが適合デコーダによって正しく復号可能でないことがあるので、コンテンツプロバイダは、生成され送り出されたビットストリームが確かに規格に適合することを確認しようと望むことがある)又はデコーダ側であってよく(例えば、規格に適合する全てのビットストリームをデコーダが復号できない限り、デコーダは適合デコーダであると言われ得ないので、デコーダ又はデコーダ側のエンティティが、所与の規格によって規定された1つ又は複数のビットストリーム適合制約を所与のビットストリームが満たしているかどうかをテストすることが望ましい場合がある)、又はネットワークエンティティであってもよい(例えば、ネットワークボックスエンティティはビットストリームを受信し得、ビットストリーム適合制約が有効であることを検査することによってビットストリームが適合ビットストリームであることを確認した後のみ、それを他のエンティティへ転送し得る)。
ビットストリームパーティション
[0138]上記で説明したように、ビットストリームは、2つ以上のビデオレイヤ(例えば、BL、ELなど)を含み得る。幾つかの実装形態では、ビットストリームは、複数のビットストリームパーティションに分割されてよく、ここで、各ビットストリームパーティションは、ビットストリームの中の少なくとも1つのビデオレイヤを含む。例えば、ビットストリームがレイヤA、B及びCを有する場合、ビットストリームはパーティションX及びYに分割されてよく、ここで、パーティションXはレイヤA及びBを含み、パーティションYはレイヤCを含む。ビデオレイヤが1つ又は複数のビットストリームパーティションに分割される方法は、区分方式と呼ばれることがある。例えば、エンコーダは、ビットストリームに対して(例えば、各区分方式に関連するパラメータを規定することによって)1つ又は複数の区分方式を規定し得る。幾つかの実施形態では、ビットストリームは、少なくとも2つのビットストリームパーティションを含み得る。
[0139]同様に、ビットストリームは、複数のアクセス単位(AU)を含み得、ここで、各AUは、同じ出力時間インスタンスに対応する、ビットストリームの中のピクチャを含む。ビットストリームが1つ又は複数のビットストリームパーティションを含む場合、単一のビットストリームパーティションに属するAUの部分(例えば、ピクチャのセット)は、パーティション単位と呼ばれることがある。言い換えれば、パーティション単位は、AUのサブセットであり得、ここで、パーティション単位は、同じ出力時間インスタンスに対応する、ビットストリームパーティションのピクチャを含む。幾つかの実装形態では、パーティション単位は、ビットストリームパーティションの中に含まれるレイヤに属するAUのビデオコード化レイヤ(VCL)ネットワーク抽象化レイヤ(NAL)単位と、それらの関連する非VCL NAL単位とを含む。例えば、NAL単位は、ローバイトシーケンスペイロード(RBSP)とNAL単位ヘッダとを含む、トランスポートの単位であり得る。
ビットストリームパーティションのトランスポート
[0140]幾つかの既存のコード化方式では、ビットストリーム全体が、単一のパイプラインの中で一緒にトランスポートされる。ビットストリームの中のピクチャは、コード化ピクチャバッファ(CPB)に記憶され、デコーダへ出力され、復号ピクチャバッファ(DPB)に記憶される。
[0141]ビットストリームを複数のビットストリームパーティションに区分することは、得られたビットストリームパーティションが単一のビットストリームの中で一緒にトランスポートされる必要がなく独立にトランスポートされ得るコード化フレキシビリティをもたらすことができる。例えば、上記の例におけるレイヤA及びBは、レイヤCがトランスポートされるビットストリームとは異なるビットストリームの中でトランスポートされてよい。しかしながら、幾つかのビットストリーム適合制約は、同じ出力時間インスタンスに対応する、ビットストリーム全体(例えば、レイヤA、B及びC)の中の全てのピクチャを含むアクセス単位を指す。ビットストリームに属する全てのビットストリームパーティションが一緒にトランスポートされるとは限らない場合、そのようなビットストリームは、無意味又は不適当になり得る。例えば、ビットストリームの中のビデオレイヤのうちの幾つかが別個又は独立にトランスポートされるとき、ビットストリーム全体(又は、AU全体)がもはや一緒に又は単一のビットストリームの中で受信されないので、その中に含まれるビットストリーム全体又はアクセス単位全体に対してピクチャレート、到達時間などのパラメータを規定することはもはや適切であり得ない。確かに、1つ又は複数のビットストリームパーティションが異なるビットストリームパーティションバッファ(BPB)へ送られることがあり、ビットストリームパーティションは、単一のデコーダによって一緒に復号されるか又は複数のデコーダによって別個に復号されることがある。従って、そのような実施形態では、これらのビットストリーム適合パラメータは、各ビットストリームパーティション又はそれに含まれる各パーティション単位に対して規定されるべきである。
[0142]2つのビットストリームパーティションを含む例示的なビットストリームが図4に示される。図4のビットストリーム400は、レイヤ402、404及び406を含む。レイヤ402及び404はビットストリームパーティション410に属し、レイヤ406はビットストリームパーティション420に属する。レイヤ402及び404は復号システム440のBPB442Aへ送られ、レイヤ406は復号システム440のBPB442Bへ送られる。ピクチャは、BPB442A及び442Bからデコーダ444へ出力され、デコーダ444によって復号される。複数のBPB442A及び442Bを含む復号システム440及び単一のデコーダ444が図4の例に示されるが、単一のBPBと単一のデコーダとを含む復号システム及び複数のBPBと複数のデコーダとを含む復号システムなどの、他の構成が可能である。幾つかの実装形態では、デコーダは、どのレイヤがデコーダによって処理されるべきかを定義する変数を決定し得る。例えば、(i)どのレイヤが復号及び出力されるべきかを規定するターゲット出力レイヤセットインデックス、(ii)時間サブレイヤがいくつ復号されるべきかを規定し、事実上、出力ピクチャのフレームレートを規定する最大時間IDが、デコーダに提供され得るか、又はそうでなければデコーダによって決定され得る。これらの変数及び利用可能なリ発信源に基づいて、デコーダは、エンコーダによって定義された区分方式のうちの1つの下で提供される特定のビットストリームパーティションを要求し得る。
[0143]幾つかの実装形態では、ビットストリームは、復号されるためにピクチャがCPBからその時点で除去されるべき除去時間を規定するパラメータを含み得る。そのようなパラメータは、パーティション単位を指すように修正されず(代わりに、ビットストリームの中のAUに対して規定される)、異なるBPBを介して別個にトランスポートされるとともに異なるデコーダによって復号されるべき複数のパーティションをビットストリームが含む場合、パラメータによって規定される値は、もはや意味をなし得ないか又は準最適であり得る(例えば、除去時間は、幾つかのピクチャに対して遅延されるようにメイする)。従って、そのようなパラメータは、単一のパーティション単位の中のピクチャが一緒にトランスポートされる場合、アクセス単位ではなくパーティション単位を指すように修正されるべきである。
例示的なビットストリームパラメータ処理
[0144]図5を参照しながら、ビットストリームパーティションに関連するパラメータを処理するための例示的なルーチンが説明される。図5は、本開示の一実施形態による、ビデオ情報をコード化するための方法500を示すフローチャートである。方法500は、エンコーダ(例えば、図2A又は図2Bに示すようなビデオエンコーダ)、デコーダ(例えば、図3A又は図3Bに示すようなビデオデコーダ)又は任意の他の構成要素によって実行され得る。便宜上、方法500は、エンコーダ、デコーダ又は別の構成要素であり得る、コーダによって実行されるものとして説明される。
[0145]方法500は、ブロック501において開始する。ブロック505において、コーダは、ビットストリームの中の複数のビットストリームパーティションのうちの1つのビットストリームパーティションに関連するビットストリーム適合パラメータを処理する。ビットストリーム適合パラメータは、ビットストリームパーティションに適用可能であってよいが、ビットストリームパーティションによって包含されない、ビットストリームの別の部分(例えば、ビットストリームパーティションに属さない、ビットストリームの中の他のレイヤ)に適用可能でなくてよい。例えば、そのようなパラメータは、ビットストリームパーティションの中の1つ又は複数のピクチャに関するタイミング情報(例えば、ビットストリームパーティションの中のピクチャが復号システムによっていつ受信されるのか、BPBに記憶されたピクチャが復号されるためにいつ出力されるべきかなど)に関係し得る。別の例では、パラメータは、ビットストリームパーティションの中の又はビットストリームパーティションの単一のパーティション単位の中の、全てのピクチャに共通の幾つかの特性を規定し得る。パラメータはまた、特定のパーティション単位に適用可能なビットストリーム適合制約を表し得る。特定のパーティション単位は、ビットストリームパーティションの中に含まれるビデオレイヤに属するAUのVCL NAL単位と、VCL NAL単位に関連する他の非VCL NAL単位とを含み得る。
[0146]幾つかの実施形態では、ビットストリームは、ビットストリームの中の複数のNAL単位を含むアクセス単位と、ビットストリームパーティションに属するアクセス単位の複数のNAL単位のサブセットを含むパーティション単位とを含み得る。ビットストリーム適合パラメータは、パーティション単位に関連し得、ビットストリーム適合パラメータは、パーティション単位の複数のNAL単位のサブセットに適用可能であってよいが、パーティション単位によって包含されない、アクセス単位の他のNAL単位(例えば、他のビットストリームパーティションに属する他のレイヤの一部であるNAL単位)に適用可能でなくてよい。ビットストリーム適合パラメータは、パーティション単位に関連する、ビットストリームの中の復号単位の数を規定し得、ここで、ビットストリーム適合パラメータによって規定される復号単位の数は、単一のピクチャの中に収まることができる復号単位の最大数を上回る。復号単位の最小サイズは、コード化ツリーブロック(CTB)であってよい。幾つかの実施形態では、ビットストリーム適合パラメータによって規定される復号単位の数は、パーティション単位の中に収まることができるCTBの最大数に等しい最大値を上回らないことがある。ブロック510において、コーダは、ビットストリームの中のビットストリームパーティションに関連するシンタックス要素をコード化(例えば、符号化又は復号)する。方法500は、515において終了する。
[0147]上記で説明したように、図2Aのビデオエンコーダ20、図2Bのビデオエンコーダ23、図3Aのビデオデコーダ30又は図3Bのビデオデコーダ33の1つ又は複数の構成要素は、ビットストリームの中の複数のビットストリームパーティションのうちの1つのビットストリームパーティションに関連するビットストリーム適合パラメータを処理すること、ビットストリームの中のビットストリームパーティションに関連するシンタックス要素をコード化することなどの、本開示で説明する技法のいずれかを実施するために使用され得る。
復号単位
[0148]幾つかの実装形態では、ビットストリームは、複数の復号単位に分割され、ここで、各復号単位は、AU全体又はAUの中の連続したVCL NAL単位のセットのいずれか及びそれらの関連する非VCL NAL単位として定義される。2つの隣接するレイヤ(例えば、連続したレイヤIDを有するレイヤ)を異なるビットストリームパーティションの中に配置する区分方式の下で、AU全体に広がる所与の復号単位は、所与の復号単位に含まれるVCL NAL単位を含む任意のビットストリームパーティションに対して、ビットストリームパーティションがどのようにトランスポートされるべきか(例えば、それらが別個にトランスポートされてよいかどうか又はそれらが一緒にトランスポートされる必要があるかどうか)に関するあいまいさを持ち込む場合がある。
[0149]幾つかの実施形態では、この明瞭性問題を解決するために、復号単位は、AU全体又はそのサブセットのいずれかとして定義され得、ここで、AU又はそのサブセットは、単一のビットストリームパーティションに属するVCL NAL単位と、そのようなVLC NAL単位に関連する非VCL NAL単位とを含む。
[0150]幾つかの実装形態では、各AUは単一のコード化ピクチャを含み、復号プロセスはピクチャごとに実行される。他の実装形態では、各ピクチャは複数の復号単位を含み、デコーダは、コード化ピクチャ全体が受信されるのを待つことなく、復号単位が受信されるとすぐにそれらを復号し、それによって、低減された待ち時間が達成される。そのような実装形態は、超低遅延モデルと呼ばれることがある。しかしながら、ビットストリームパーティションが独立又は別個にトランスポートされ得るとき、複数のビットストリームパーティションを包含する復号単位は、復号単位の一部分が、異なるビットストリームの中で別個にトランスポートされるか又は異なる復号システムへトランスポートされる場合、直ちに復号され得ないことがある。従って、復号単位が複数のビットストリームパーティションにまたがることができないことを規定するビットストリーム適合制約を与えること又はそれらが複数のビットストリームパーティションにまたがらないような復号単位を定義することが有益であり得る。
復号単位の最大数
[0151]幾つかの実装形態では、SEIメッセージがビットストリームに関する幾つかの追加情報を提供し得、そのうちの幾つかは随意であり得る。そのようなSEIメッセージのうちの幾つかは、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、復号単位情報SEIメッセージなどの、ビットストリーム適合制約を提供し得、それらはビットストリームが所与の規格(例えば、SHVC)に適合するか否かを決定するために存在することが必要とされる場合がある。例えば、ピクチャタイミングSEIメッセージは、単一のAUの中に存在し得る復号単位の数を規定し得る。例えば、ビットストリームが単一のレイヤを有する事例では、レイヤの中の各ピクチャが640画素×640画素としてのサイズを有し、個別に復号可能な最小単位である各コード化ツリーブロック(CTB)が64画素×64画素としてのサイズを有する場合、任意のAUの中の復号単位の最大数は10*10=100であり得る。従って、単一のAUの中の復号単位の数を示す、ピクチャタイミングSEIメッセージの中で規定される値は、両端値を含む1〜(CTBの中のピクチャサイズ)としての範囲の中にあるように制約され得る。言い換えれば、ピクチャタイミングSEIメッセージが、この範囲の外側である、単一のAUの中の復号単位の数に対する値を規定する場合、ピクチャタイミングSEIメッセージを含むビットストリームは、特定の規格(例えば、SHVC)に適合しないものと決定されてよい。
[0152]しかしながら、マルチレイヤ事例では、AU(又は、ビットストリームがビットストリームパーティションに分割される場合にはパーティション単位)は、2つ以上のピクチャを含み得、その結果として、各AUは、各AUが単一のピクチャを含むという仮定に基づいて最大値が計算された、より多くの復号単位を含み得る。従って、ピクチャタイミングSEIメッセージの中で与えられる制約は、(SEIメッセージがAUに関連する場合)単一のAUの中の復号単位の数を示す変数の値が、1から(AUの中の全てのピクチャの内部に収まることができるCTBの数)までの範囲の中にあるべきことを規定するように修正されるべきである。同様に、ピクチャタイミングSEIメッセージの中で与えられる制約は、(SEIメッセージがパーティション単位に関連する場合)単一のパーティション単位の中の復号単位の数を示す変数の値が、1から(パーティション単位の中の全てのピクチャの内部に収まることができるCTBの数)までの範囲の中にあるべきことを規定するように修正されるべきである。上記の例では、パーティション単位が2つのピクチャを含む場合、適合ビットストリームの中のピクチャタイミングSEIメッセージによって規定され得る復号単位の最大数は200であることになる。
ビットレート及び時間IDに基づく制約
[0153]幾つかの実装形態では、ビットストリームが固定されたビットレートで到達する固定ビットレートCPBモデルが使用される。他の実装形態では、ビットストリームが可変ビットレートで到達する可変ビットレートCPBモデルが使用される。例えば、可変ビットレートCPBモデルを使用するそのような実装形態では、ビットストリームがデコーダ側において受信されるレートは、ある時間期間の間は一定であり得及び/又は、更に別の時間期間の間は0になり得る。
[0154]幾つかの既存のコード化方式では、ビットストリーム適合制約は、特定の復号単位の復号単位CPB除去時間の値が、特定の復号単位に復号順序において先行する全ての復号単位の復号単位CPB除去時間よりも大きいことを規定する。そのようなコード化方式は、固定ビットレートCPBモデルを使用する実装形態のみにおいてビットストリーム適合制約を適用し得る。しかしながら、そのようなビットストリーム適合制約は、復号単位が適切な復号順序で復号されることを確実にし得る。従って、そのようなビットストリーム適合制約は、可変ビットレートCPBモデルを使用する実装形態に拡張されるべきである。
[0155]幾つかの既存のコード化方式では、そのようなビットストリーム適合制約は、最低ビットストリームパーティション内の復号単位に適用されない。最低ビットストリームパーティションは、ビットストリームのベースレイヤを含む及び/又は最低レイヤIDを有するビデオレイヤを含む、ビットストリームパーティションであり得る。同様に、そのようなビットストリーム適合制約が、最低ビットストリームパーティション内の復号単位に適用されるべきである。
イントラランダムアクセスポイント(IRAP)ピクチャ
[0156]幾つかのビデオコード化方式は、ビットストリームが、ビットストリームの中のそれらのランダムアクセスポイントに先行するいかなるピクチャも復号する必要なく、それらのランダムアクセスポイントのいずれかから始めて復号され得るような、様々なランダムアクセスポイントをビットストリーム全体にわたって提供し得る。そのようなビデオコード化方式では、出力順序においてランダムアクセスポイントに追従する全てのピクチャ(例えば、ランダムアクセスポイントを提供するピクチャと同じアクセス単位の中にあるピクチャを含む)は、ランダムアクセスポイントに先行するいかなるピクチャも使用することなく正しく復号され得る。例えば、ビットストリームの一部分が送信の間又は復号の間に失われても、デコーダは、次のランダムアクセスポイントから始めてビットストリームの復号を再開することができる。ランダムアクセスのサポートは、例えば、動的なストリーミングサービス、シーク動作、チャネル切替えなどを容易にし得る。
[0157]幾つかのコード化方式では、そのようなランダムアクセスポイントは、イントラランダムアクセスポイント(IRAP)ピクチャと呼ばれるピクチャによって提供され得る。例えば、layerBの中にあり復号順序においてauAに先行するアクセス単位(「auB」)の中に含まれるランダムアクセスポイント(又は、auAの中に含まれるランダムアクセスポイント)を有するlayerAの各参照レイヤ(「layerB」)(例えば、layerAを予測するために使用されるレイヤである参照レイヤ)に関して出力順序においてauBに追従するlayerAの中のピクチャ(auBの中に位置するそれらのピクチャを含む)が、auBに先行するlayerAの中のいかなるピクチャも復号する必要なく正しく復号可能であるように、アクセス単位(「auA」)の中に含まれるエンハンスメントレイヤ(「layerA」)の中のランダムアクセスポイント(例えば、エンハンスメントレイヤIRAPピクチャによって提供される)は、レイヤ特有のランダムアクセスを提供し得る。
[0158]IRAPピクチャは、イントラ予測(例えば、他のピクチャを参照することなしにコード化される)及び/又はレイヤ間予測を使用してコード化され得、例えば、瞬時デコーダリフレッシュ(IDR)ピクチャと、クリーンランダムアクセス(CRA)ピクチャと、ブロークンリンクアクセス(BLA)ピクチャとを含み得る。ビットストリームの中にIDRピクチャがあるとき、復号順序においてIDRピクチャに先行する全てのピクチャは、IDRピクチャに追従するピクチャによる予測のために使用されない。ビットストリームの中にCRAピクチャがあるとき、CRAピクチャに追従するピクチャは、復号順序においてCRAピクチャに先行するピクチャを予測のために使用してよく又は使用しなくてもよい。復号順序においてCRAピクチャに追従するが、復号順序においてCRAピクチャに先行するピクチャを使用するそれらのピクチャは、ランダムアクセススキップド進み(RASL:random access skipped leading)ピクチャと呼ばれることがある。復号順序においてIRAPピクチャに追従するとともに出力順序においてIRAPピクチャに先行することができる別のタイプのピクチャは、復号順序においてIRAPピクチャに先行するいかなるピクチャへの参照も含まないことがあるランダムアクセス復号可能進み(RADL:random access decodable leading)ピクチャである。CRAピクチャに先行するピクチャが利用可能でない場合、RASLピクチャはデコーダによって廃棄されてよい。BLAピクチャは、(例えば、2つのビットストリームが互いに接合され、BLAピクチャが復号順序において第2のビットストリームの最初のピクチャであるので)BLAピクチャに先行するピクチャがデコーダにとって利用可能でない場合があることを、デコーダに示す。IRAPピクチャであるベースレイヤのピクチャ(例えば、0としてのレイヤID値を有する)を含むアクセス単位(例えば、複数のレイヤにわたって同じ出力時間に関連付けられた全てのコード化ピクチャからなるピクチャのグループ)は、IRAPアクセス単位と呼ばれることがある。
IRAPピクチャのクロスレイヤアライメント
[0159]スケーラブルビデオコード化の幾つかの実装形態では、IRAPピクチャは、異なるレイヤにわたって位置合わせされる(例えば、同じアクセス単位に含まれる)ことを必要とされない場合がある。例えば、IRAPピクチャが位置合わせを必要とされるのであれば、少なくとも1つのIRAPピクチャを含むいかなるアクセス単位もIRAPピクチャのみを含むはずである。一方、IRAPピクチャが位置合わせを必要とされないのであれば、単一のアクセス単位の中で、1つのピクチャ(例えば、第1のレイヤの中の)がIRAPピクチャであってよく、別のピクチャ(例えば、第2のレイヤの中の)が非IRAPピクチャであってよい。ビットストリームの中にそのような非整合IRAPピクチャを有することは、幾つかの利点をもたらすことがある。例えば、2レイヤビットストリームの中で、エンハンスメントレイヤの中よりも多くのIRAPピクチャがベースレイヤの中にある場合、ブロードキャスト及びマルチキャストの適用例において、小さい同調遅延及び高いコード化効率が達成され得る。
接合点を含むビットストリーム
[0160]図6を参照しながら、接合点を有する例示的なビットストリームが説明される。図6は、ビットストリーム610及び620を接合することによって作り出されたマルチレイヤビットストリーム600を示す。ビットストリーム610は、エンハンスメントレイヤ(EL)610Aとベースレイヤ(BL)610Bとを含み、ビットストリーム620は、EL620AとBL620Bとを含む。EL610AはELピクチャ612Aを含み、BL610BはBLピクチャ612Bを含む。EL620Aは、ELピクチャ622A、624A及び626Aを含み、BL620Bは、BLピクチャ622B、624B及び626Bを含む。マルチレイヤビットストリーム600は、アクセス単位(AU)630〜660を更に含む。AU630は、ELピクチャ612AとBLピクチャ612Bとを含み、AU640は、ELピクチャ622AとBLピクチャ622Bとを含み、AU650は、ELピクチャ624AとBLピクチャ624Bとを含み、AU660は、ELピクチャ626AとBLピクチャ626Bとを含む。図6の例では、BLピクチャ622BはIRAPピクチャであり、AU640の中の対応するELピクチャ622Aは末尾のピクチャ(例えば、非IRAPピクチャ)であり、その結果として、AU640は非整合IRAP AUである。また、AU640が接合点670の直後にくるアクセス単位であることに留意されたい。
[0161]図6の例は、2つの異なるビットストリームが互いに接合される事例を示すが、幾つかの実施形態では、ビットストリームの一部分が除去されるときに接合点が存在することがある。例えば、ビットストリームは、部分A、B及びCを有し得、部分Bは、部分Aと部分Cとの間にある。部分Bがビットストリームから除去される場合、残りの部分A及びCが互いに接合されてよく、それらが互いに接合されている点は接合点と呼ばれることがある。より一般的には、本出願で説明されるような接合点は、1つ又は複数の信号伝達又は導出されたパラメータ又はフラグが所定の値を有するときに存在するとみなされ得る。例えば、接合点が特定のロケーションにおいて存在するという特定の表示を受信することなく、デコーダは、フラグ(例えば、1に設定されている場合、クロスレイヤランダムアクセススキップピクチャが出力されるべきでないことを示し得、0に設定されている場合、クロスレイヤランダムアクセススキップピクチャが出力されるべきであることを示し得る、NoClrasOutputFlag)の値を決定し得、フラグの値に基づいて、本出願に記載される1つ又は複数の技法を実行し得る。
POC
[0162]幾つかのビデオコード化方式では、復号ピクチャが出力される相対順序を追跡するためにPOCが使用され得る。この値は極めて大きい数(例えば、32ビット)であってよく、各スライスヘッダは、スライスに関連するピクチャのPOCを含み得る。従って、幾つかの実装形態では、POCの最下位ビット(LSB)だけがビットストリームの中で信号伝達され、POCの最上位ビット(MSB)はPOC導出プロセスに基づいて計算される。例えば、ビットを節約するために、LSBがスライスヘッダの中で信号伝達されてよく、MSBは、現在ピクチャのNAL単位タイプ及び(i)RASL又はRADLピクチャでなく、(ii)廃棄可能(例えば、他のピクチャがそれらに依存せず、それによって、帯域幅制約を満たすようにそれらが落とされることを可能にすることを示す「廃棄可能」としてマークされたピクチャ)でなく、(iii)サブレイヤ非参照ピクチャ(例えば、同じ時間サブレイヤ又は同じレイヤの中の他のピクチャによる参照のために使用されないピクチャ)でなく、(iv)0に等しい時間ID(例えば、時間サブレイヤID)値を有する、1つ又は複数の復号順序における前のピクチャのMSB及びLSBに基づいて、エンコーダ又はデコーダによって計算され得る。
[0163]LSBだけがビットストリームの中で提供される事例では、DPBの中のいかなる復号ピクチャのPOC値もMSBの単位値即ち「サイクル」よりも大きく分離されないことを確実にするように、ビットストリーム適合制約が与えられ得る。例えば、DPBが1及び257としてのPOC値を有するピクチャを含む場合、それぞれ、LSBが8ビットで表されると、一方が他方にそれらのPOC値に基づく出力順序において先行するべきときに2つのピクチャが同じLSB値(例えば、1)を有するという思い違いをさせることがある。従って、幾つかの実施形態では、ビットストリーム適合制約は、DPBの中のいかなる2つのピクチャも、2で除算されたサイクル長よりも大きく異なるPOC値を有してはならないことを規定し得る。例えば、そのようなピクチャは、(i)現在ピクチャ、(ii)0に等しいTemporalId値を有するとともにRASLピクチャ、RADLピクチャ又はサブレイヤ非参照ピクチャでない復号順序における前のピクチャ、(iii)現在ピクチャのRPSの中の短期参照ピクチャ及び(iv)1に等しいPicOutputFlag値を有するとともに現在ピクチャに復号順序において先行するピクチャを含み得る。マルチレイヤ事例の場合、このビットストリーム適合制約は、各サブDPBに適用される。例えば、DPBは複数のサブDPBを含んでよく、各サブDPBは単一のレイヤの中のピクチャを記憶する。そのような事例では、ビットストリーム適合制約は、サブDPBの中の復号ピクチャのPOC値が、特定の値よりも大きく(サイクル長よりも大きく、又は2で除算されたサイクル長さよりも大きく)分離されるべきでないことを規定するように修正されるべきである。
[0164]幾つかの実施形態では、制約は、単一のCVSに制限される(例えば、複数のCVSにわたって適用されない)。幾つかの実施形態では、制約は、1に等しいNoRaslOutputFlag値を有するIRAPピクチャであるか、又は0に等しいnuh_layer_id値を有するとともに1に等しいNoClrasOutputFlag値を有するIRAPピクチャに後続する0よりも大きいnuh_layer_idを有する現在レイヤの最初のピクチャである、現在ピクチャにわたって適用されない。言い換えれば、現在ピクチャが、(i)1に等しいNoRaslOutputFlag値を有するIRAPピクチャでないこと、又は(ii)0に等しいnuh_layer_id値を有するとともに1に等しいNoClrasOutputFlag値を有するIRAPピクチャに後続する0よりも大きいnuh_layer_idを有する現在レイヤの最初のピクチャでないことを、コーダが決定する場合のみ、各サブDPBに適用されるような上のリストのピクチャの最大POC値と最小POC値との間の差分は、MaxPicOrderCntLsb/2よりも小さくなるように制約される。条件が満たされていないとコーダが決定する場合、コーダは、ビットストリーム適合制約を検査することを控えてよい。代替として、現在ピクチャが、1に等しいNoRaslOutputFlag値を有するIRAPピクチャでなくPOC MSB値が信号伝達されないか又は0に等しいnuh_layer_id値を有するとともに1に等しいNoClrasOutputFlag値を有するIRAPピクチャに後続する0よりも大きいnuh_layer_idを有する現在レイヤの最初のピクチャでないときのみ、上記のビットストリーム適合制約が適用されてよい。
例示的なDPB POC値の処理
[0165]図7を参照しながら、ビットストリーム適合制約が満たされているかどうかを決定するための例示的なルーチンが説明される。図7は、本開示の一実施形態による、ビデオ情報をコード化するための方法700を示すフローチャートである。図7に示すステップは、エンコーダ(例えば、図2A又は図2Bに示すようなビデオエンコーダ)、デコーダ(例えば、図3A又は図3Bに示すようなビデオデコーダ)又は任意の他の構成要素によって実行され得る。便宜上、方法700は、エンコーダ、デコーダ又は別の構成要素であり得る、コーダによって実行されるものとして説明される。
[0166]方法700は、ブロック701において開始する。ブロック705において、コーダは、現在AUが第1のレイヤに関連する条件を満たしているかどうかを決定する。例えば、コーダは、現在AUの中の現在ピクチャが、第1のピクチャに復号順序において後続するが第1のピクチャに復号順序において先行するピクチャを使用する任意のピクチャが出力されるべきでないことを示すフラグ(例えば、1に等しいNoRaslOutputFlag値)に関連するIRAPピクチャであるかどうかを決定することによって、そのような決定を行ってよい。別の例では、コーダは、第2のピクチャに関連するフラグ又はシンタックス要素を処理することによってそのような決定を行ってよく、ここで、第2のピクチャは、最低レイヤID(例えば、0に等しいnuh_layer_id値)を有するベースレイヤの中にある。そのような例では、第2のピクチャは、現在AUの直前にくるAUの中にあってよい。フラグ又はシンタックス要素は、NoClrasOutputFlagであってよく、NoClrasOutputFlagは、1に設定されている場合、クロスレイヤランダムアクセススキップピクチャが出力されるべきでないことを示し得、0に設定されている場合、クロスレイヤランダムアクセススキップピクチャが出力されるべきであることを示す。そのような例では、フラグ又はシンタックス要素の1としての値は、ピクチャが接合点の直後にくるアクセス単位の中にあることを示し得、フラグ又はシンタックス要素の0としての値は、ピクチャが接合点の直後にくるアクセス単位の中にないことを示し得る。幾つかの実施形態では、フラグ又はシンタックス要素は、(i)第2のピクチャが、ビットストリームの中の最初のピクチャであるかどうか(例えば、ビットストリームの中の他のピクチャの前に現れること)、(ii)第2のピクチャが、SmallestLayerId値又は0に等しいnuh_layer_id値を有するシーケンスNAL単位の終わりを含むアクセス単位に、復号順序において後続する最初のアクセス単位に含まれるかどうか、(iii)第2のピクチャが、1に等しいHandleCraAsBlaFlag値を有するBLAピクチャ又はCRAピクチャであるかどうか、又は(iv)第2のピクチャが、1に等しいcross_layer_bla_flag値を有するIDRピクチャであるかどうか、のうちの1つを示し得る。
[0167]現在AUが条件を満たしていないとコーダが決定する場合、方法700はブロック710に進む。現在AUが条件を満たしているとコーダが決定する場合、方法700はブロック715に進む。ブロック710において、コーダは、DPBの中のピクチャの最高POCと最低POCとの間の差分が閾値よりも小さいかどうかを決定する。例えば、ピクチャは、(i)現在ピクチャ、(ii)0に等しいTemporalId値を有するとともにRASLピクチャでない復号順序における前のピクチャ、RADLピクチャ又はサブレイヤ非参照ピクチャ、(iii)現在ピクチャのRPSの中の短期参照ピクチャ及び/又は(iv)1に等しいPicOutputFlag値を有し、現在ピクチャに復号順序において先行し、出力順序において現在ピクチャを継承するピクチャを含み得る。ブロック715において、コーダは、DPBの中のピクチャの最高POCと最低POCとの間の差分が閾値よりも小さいかどうかを決定することを控える。例えば、ビットストリーム適合制約は、接合点を越えてピクチャに適用されない。別の例では、ビットストリーム適合制約は、1に等しいNoRaslOutputFlag値を有するIRAPピクチャであるか又は0よりも大きいnuh_layer_idを有するとともに、0に等しいnuh_layer_id値を有し1に等しいNoClrasOutputFlag値を有するIRAPピクチャに後続する、現在レイヤの最初のピクチャであるピクチャに適用されない。ブロック720において、コーダは、ビットストリームの中の現在AUに関連するシンタックス要素をコード化する(例えば、符号化する、又は復号する)。方法700は、725において終了する。
[0168]上記で説明したように、図2Aのビデオエンコーダ20、図2Bのビデオエンコーダ23、図3Aのビデオデコーダ30又は図3Bのビデオデコーダ33の1つ又は複数の構成要素が、現在AUが条件を満たしているかどうかを決定すること、DPBの中のピクチャの最高POCと最低POCとの間の差分が閾値よりも小さいかどうかを決定すること及びビットストリームの中の現在アクセス単位に関連するシンタックス要素をコード化することなどの、本開示で説明する技法のいずれかを実施するために使用され得る。
POCリセット
[0169]幾つかの実装形態では、幾つかのタイプのピクチャがビットストリームの中に現れるときはいつでも、POCの値はリセットされ得る(例えば、ゼロに設定され得る、ビットストリームの中で信号伝達される何らかの値に設定され得る、又はビットストリームの中に含まれる情報から導出され得る)。例えば、幾つかのランダムアクセスポイントピクチャがビットストリームの中に現れるとき、POCはリセットされてよい。特定のピクチャのPOCがリセットされると、復号順序において特定のピクチャに先行するいかなるピクチャのPOCも、例えば、それらのピクチャが出力される、又は表示されるべき相対順序を維持するようにリセットされてよい。また、その各々が特定のPOC値に関連し得る復号ピクチャは、後でDPBから除去されてよい。
POCリセットの例
[0170]図8〜図11を参照すると、POC値(例えば、LSB及びMSB)をリセットするための例示的なプロセスが説明される。上述されたように、幾つかのコード化方式では、単一のAUの中の全てのコード化ピクチャのPOCが同じであるべきであることを、幾つかの適合制約が規定することがある。POC値の適切なリセットを伴わないと、ビットストリームの中の非整合IRAP AUは、そのような適合制約に違反するPOC値を生み出すことがある。
[0171]図8は、エンハンスメントレイヤ(EL)810とベースレイヤ(BL)820とを含むマルチレイヤビットストリーム800を示す。EL810はELピクチャ812〜818を含み、BLはBLピクチャ822〜828を含む。マルチレイヤビットストリーム800は、アクセス単位(AU)830〜860を更に含む。AU830は、ELピクチャ812とBLピクチャ822とを含み、AU840は、ELピクチャ814とBLピクチャ824とを含み、AU850は、ELピクチャ816とBLピクチャ826とを含み、AU860は、ELピクチャ818とBLピクチャ828とを含む。図8の例では、ELピクチャ814はIDRピクチャであり、AU840の中の対応するBLピクチャ824は末尾のピクチャ(例えば、非IRAPピクチャ)であり、従って、AU840は非整合IRAP AUである。幾つかの実施形態では、そのピクチャがベースレイヤの中にないIDRピクチャである場合、MSBリセットが所与のピクチャにおいて実行される。そのようなIDRピクチャは、非ゼロのPOC LSB値を有してよい。
[0172]図9は、図8のマルチレイヤビットストリーム800に関して信号伝達及び導出され得るPOC値を示す表900を示す。図9に示すように、EL810の中のPOCのMSBはELピクチャ814においてリセットされるが、BL820の中のPOCのMSBはリセットされない。従って、リセットが非整合IRAP AU840の中のBLピクチャ824においてBL820の中で実行されない場合、AU840〜860の中のBLピクチャ及びELピクチャのPOC値は、適合制約によって規定されるように一致(即ち、等しい)しないことになる。リセットあり及びリセットなしのPOC値の差異が、図9ではボールドで強調されている。
[0173]図10は、エンハンスメントレイヤ(EL)1010とベースレイヤ(BL)1020とを含むマルチレイヤビットストリーム1000を示す。EL1010はELピクチャ1012〜1018を含み、BLはBLピクチャ1022〜1028を含む。マルチレイヤビットストリーム1000は、アクセス単位(AU)1030〜1060を更に含む。AU1030は、ELピクチャ1012とBLピクチャ1022とを含み、AU1040は、ELピクチャ1014とBLピクチャ1024とを含み、AU1050は、ELピクチャ1016とBLピクチャ1026とを含み、AU1060は、ELピクチャ1018とBLピクチャ1028とを含む。図10の例では、BLピクチャ1024はIDRピクチャであり、AU1040の中の対応するELピクチャ1014は末尾のピクチャ(例えば、非IRAPピクチャ)であり、従って、AU1040は非整合IRAP AUである。幾つかの実施形態では、そのピクチャがベースレイヤの中にあるIDRピクチャである場合、MSBリセット及びLSBリセットが所与のピクチャに対して実行される。例えば、ビットストリームは、そのようなBL IDRピクチャのPOC MSB及びPOC LSBがリセットされるべきであるという指示を含み得る。或いは、デコーダは、POCリセットが実行されるべきであるといういかなる指示もビットストリームの中に伴わず、そのようなBL IDRピクチャのPOC MSB及びPOC LSBのリセットを実行し得る。
[0174]図11は、図10のマルチレイヤビットストリーム1000に関して信号伝達及び導出され得るPOC値を示す表1100を示す。図11に示すように、BL1020の中のPOCのMSB及びLSBはBLピクチャ1024においてリセットされるが、EL1010の中のPOCのMSBもLSBもリセットされない。従って、POCのMSB及びLSBのリセットが非整合IRAP AU1040の中のELピクチャ1014においてEL1010の中で実行されない場合、AU1040〜1060の中のBLピクチャ及びELピクチャのPOC値は、適合制約によって規定されるように一致しないことになる。リセットあり及びリセットなしのPOC値の差分が、図11ではボールドで強調されている。
[0175]本明細書で説明される実施形態は図8及び図10に示す例示的なビットストリーム構成に限定されず、本明細書で説明される技法は、任意の数のレイヤと、アクセス単位と、ピクチャとを有する任意のマルチレイヤビットストリームに拡張され得る。また、図8〜図11に示す例では、POCのLSBは7つのビットを使用して表される。しかしながら、本明細書で説明される技法は、POC値表現の任意の形態を有するシナリオに拡張され得る。
POCリセット又はDPBからの除去の結果
[0176]幾つかの実装形態では、ビットストリーム適合制約は、コード化ビデオシーケンス(CVS)内の2つのピクチャm及びnに対して、DpbOutputTime[m]がDpbOutputTime[n]よりも大きい場合、ピクチャmのPicOrderCntValもピクチャnのPicOrderCntValよりも大きくなければならないことを規定する。但し、制約をテストするためにピクチャのPicOrderCntValのどんな値が使用されるべきかを制約が規定しないので、ピクチャm又はピクチャn若しくは中間のピクチャのPicOrderCntValがリセットされた場合、そのような制約が満たされるかどうかが不明瞭になる。更に、テストされるべきピクチャのうちの1つがテストする時間においてDPBから除去された場合、どのようにビットストリーム適合制約が満たされるべきなのかが不明瞭であり得る。その上、POCチェーンがCVS境界を越えてさえエンハンスメントレイヤの中で継続することができるので、PicOrderCntValの幾つかの制限はコード化ビデオシーケンスにわたってさえ適用可能であるべきである。例えば、所与のAUは、ベースレイヤの中のIDRピクチャとエンハンスメントレイヤの中の非IRAPピクチャとを含み得る。ベースレイヤの中のIDRピクチャは、ベースレイヤの中のPOCチェーンを分断するが、エンハンスメントレイヤの中の非IRAPピクチャは、エンハンスメントレイヤの中のPOCチェーンを分断しない(非IRAPピクチャに復号順序において後続する非IRAPピクチャ又は他のエンハンスメントレイヤピクチャを予測するために、所与のAUに復号順序において先行するエンハンスメントレイヤピクチャを使用することが望ましい場合がある)。
[0177]幾つかの実施形態では、DpbOutputTime及びPicOrderCntValへの制約は次のように更新され得る。1に等しいNoRaslOutputFlagを有しレイヤlayerAに属するIRAPピクチャをpicAとする。0に等しいnuh_layer_id及び1に等しいNoClrasOutputFlagを有し復号順序においてpicAを継承するIRAPピクチャを含む最初のアクセス単位及びlayerAの中の1に等しいNoRaslOutputFlagを有し復号順序においてpicAを継承するIRAPピクチャを含む最初のアクセス単位のうちの、復号順序において早いほうをauBとする。それぞれ、picAであるか、又は復号順序においてpicAを継承するとともに復号順序においてauBに先行する、アクセス単位m及びnにそれぞれ含まれるレイヤlayerAの中の任意の2つのピクチャpicM及びpicNに対して、DpbOutputTime[m]がDpbOutputTime[n]よりも大きいとき、PicOrderCntVal(picM)はPicOrderCntVal(picN)よりも大きくなければならず、ここで、PicOrderCnt(picM)及びPicOrderCnt(picN)は、それぞれ、picM及びpicNのうちの復号順序における後者のピクチャ順序カウントのための復号プロセスの起動の直後の、picM及びpicNのPicOrderCntVal値である。例えば、ビットストリーム適合制約は、後者のピクチャが復号された直後のみテストされ得、もっと後の時間においてテストされ得ない。幾つかの実施形態では、picMがpicNに復号順序において先行する。他の実施形態では、picNがpicMに復号順序において先行する。
連続ピクチャの出力時間
[0178]幾つかの実装形態では、ビットストリーム適合制約(例えば、DpbOutputTime[]又はピクチャごとに導出される他の変数)は、出力ピクチャの実際のフレームレートが、規定された最大フレームレート(例えば、300fps)を上回らないことを確実にするために、連続ピクチャの出力時間(例えば、ピクチャがDPBから除去されるとき)の下限を規定する。しかしながら、マルチレイヤビットストリームは、(例えば、単一のAUの中で)同じ出力時間に対応する2つ以上のピクチャを含む必要がある場合がある。従って、単一レイヤ事例の上記のビットストリーム適合制約がマルチレイヤ事例に適用されれば各AUが単一のピクチャしか含まない場合があり、そのことは望ましくない場合がある。従って、異なるAUの中のピクチャに出力時間制約が適用されるべきである。
他の考慮事項
[0179]本明細書で開示された情報及び信号は、多種多様な技術及び技法のいずれかを使用して表され得る。例えば、上記の説明全体にわたって参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁波、磁場若しくは磁性粒子、光場若しくは光学粒子又はそれらの任意の組合せによって表され得る。
[0180]本明細書で開示された実施形態に関して記載された様々な例示的な論理ブロック、モジュール、回路及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア又は両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路及びステップが、概してそれらの機能に関して上記で説明されている。そのような機能性が、ハードウェア又はソフトウェアのどちらとして実施されるのかは、特定の応用例と、システム全体に課せられる設計制約とに依存する。当業者は、特定の適用例ごとに様々な方法で記載された機能を実装し得るが、そのような実装の決定が、本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。
[0181]本明細書に記載された技術は、ハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組合せに実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信機器ハンドセット又はワイヤレス通信機器ハンドセット及び他の機器における適用例を含む複数の用途を有する集積回路機器などの、様々な機器のいずれかにおいて実装され得る。モジュール又は構成要素として記載された任意の特徴は、集積論理機器内で一緒に又は個別であるが相互運用可能な論理機器として別々に実装され得る。ソフトウェアに実装された場合、本技法は、実行されたとき、上記で説明された方法のうちの1つ又は複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、フラッシュメモリ、磁気又は光学データ記憶媒体などの、メモリ又はデータ記憶媒体を備え得る。本技法は、追加又は代替として、伝搬信号又は電波などの、命令又はデータ構造の形態でプログラムコードを搬送又は伝達し、コンピュータによってアクセスされ、読み取られ及び/又は実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
[0182]プログラムコードは、1つ又は複数のDSPなどの1つ又は複数のプロセッサ、汎用マイクロプロセッサ、ASIC、FPGA又は他の等価の集積回路及びディスクリート論理回路を含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示に記載された技法のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ又は状態機械であり得る。プロセッサはまた、コンピュータ機器の組合せ、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つ又は複数のマイクロプロセッサ又は任意の他のそのような構成として実装され得る。従って、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ又は本明細書に記載された技法の実装に適した任意の他の構造若しくは装置のいずれかを指し得る。更に、幾つかの態様では、本明細書に記載された機能は、符号化及び復号のために構成された専用のソフトウェアモジュール又はハードウェアモジュール内に提供され得るか、又は複合ビデオエンコーダ/デコーダ(コーデック)に組み込まれ得る。また、本技法は、1つ又は複数の回路又は論理要素で十分に実装され得る。
[0183]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置で実装され得る。様々なコンポーネント、モジュール又はユニットは、開示されている技術を実行するように構成された機器の機能的態様を強調するように本開示において説明されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上記で説明したように、様々なユニットが、適切なソフトウェア及び/又はファームウェアとともに、上記で説明した1つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか又は相互動作可能なハードウェアユニットの集合によって与えられ得る。
[0184]本発明の様々な実施形態について説明した。これら及び他の実施形態は、以下の特許請求の範囲内に入る。

Claims (26)

  1. ビットストリームの中のビデオ情報をコード化するための装置であって、
    前記ビットストリームの中の複数のビデオレイヤに関連するビデオ情報を記憶するように構成されたメモリと、前記ビットストリームの中の前記複数のビデオレイヤが、複数のビットストリームパーティションに分割され、ここにおいて、各ビットストリームパーティションが、前記複数のビデオレイヤのうちの少なくとも1つを含み、
    前記メモリと通信しており、前記複数のビットストリームパーティションのうちの第1のビットストリームパーティションに関連するビットストリーム適合パラメータを処理するように構成されたプロセッサと、ここにおいて、前記ビットストリーム適合パラメータが、前記第1のビットストリームパーティションに適用可能であるが、前記第1のビットストリームパーティションによって包含されない、前記ビットストリームの別の部分に適用可能でない、
    を備える装置。
  2. 前記ビットストリームの中の前記複数のビデオレイヤが、ビットストリームパーティションの1つ以上の利用可能な組合せを規定する区分方式に従って、前記1つ以上のビットストリームパーティションに分割される、請求項1に記載の装置。
  3. 前記ビットストリームが、前記ビットストリームの中の複数のネットワーク抽象化レイヤ(NAL)単位を含むアクセス単位と、前記第1のビットストリームパーティションに属する、前記アクセス単位の前記複数のNAL単位のサブセットを含む第1のパーティション単位とを含み、ここにおいて、前記ビットストリーム適合パラメータが、前記第1のパーティション単位に関連し、前記ビットストリーム適合パラメータが、前記第1のパーティション単位の前記複数のNAL単位の前記サブセットに適用可能であるが、前記第1のパーティション単位によって包含されない、前記アクセス単位の他のNAL単位に適用可能でない、請求項1に記載の装置。
  4. 前記ビットストリーム適合パラメータが、前記第1のパーティション単位に関連する、前記ビットストリームの中の復号単位の数を規定し、ここにおいて、前記ビットストリーム適合パラメータによって規定される復号単位の前記数が、単一のピクチャの中に収まることができる復号単位の最大数を上回る、請求項3に記載の装置。
  5. 前記ビットストリーム適合パラメータによって規定される復号単位の前記数が、前記第1のパーティション単位の中に収まることができるコード化ツリーブロック(CTB)の最大数に等しい最大値を上回らない、請求項4に記載の装置。
  6. 前記ビットストリームが、各々が前記ビットストリームの中の1つ以上の連続したネットワーク抽象化レイヤ(NAL)ユニットを含む複数の復号単位を含み、ここにおいて、前記ビットストリームの中の前記複数の復号単位の各々が、前記複数のビットストリームパーティションのうちの1つのみに属する1つ以上のNAL単位を含む、請求項1に記載の装置。
  7. 前記ビットストリームが、各々が前記ビットストリームの中の1つ以上の連続したネットワーク抽象化レイヤ(NAL)単位を含む複数の復号単位を含み、ここにおいて、前記ビットストリームの中の前記複数の復号単位の各々が、前記ビットストリームの中の単一のピクチャに属する1つ以上のNAL単位を含む、請求項1に記載の装置。
  8. 前記ビットストリームが、第1の復号単位がコード化ピクチャバッファ(CPB)からいつ除去されるべきかを規定する第1の除去時間に関連する前記第1の復号単位と、第2の復号単位が前記CPBからいつ除去されるべきかを規定する第2の除去時間に関連する前記第2の復号単位とを含み、ここにおいて、前記第1の除去時間が前記第2の除去時間よりも遅く、前記第2の復号単位が前記第1の復号単位に復号順序において先行し、ここにおいて、前記ビットストリームが可変ビットレートを有する、請求項1に記載の装置。
  9. 前記第1のビットストリームパーティションが、第1の復号単位がコード化ピクチャバッファ(CPB)からいつ除去されるべきかを規定する第1の除去時間に関連する前記第1の復号単位と、第2の復号単位が前記CPBからいつ除去されるべきかを規定する第2の除去時間に関連する前記第2の復号単位とを含み、ここにおいて、前記第1の除去時間が前記第2の除去時間よりも遅く、前記第2の復号単位が前記第1の復号単位に復号順序において先行し、ここにおいて、前記第1のビットストリームパーティションが前記複数のビデオレイヤのうちの最低レイヤを含む、請求項1に記載の装置。
  10. ビットストリームの中のビデオ情報をコード化する方法であって、
    複数のビットストリームパーティションのうちの第1のビットストリームパーティションに関連するビットストリーム適合パラメータを処理することと、各ビットストリームパーティションが、前記ビットストリームの中の複数のビデオレイヤのうちの少なくとも1つを含み、ここにおいて、前記ビットストリーム適合パラメータが、前記第1のビットストリームパーティションに適用可能であるが、前記第1のビットストリームパーティションによって包含されない、前記ビットストリームの別の部分に適用可能でない、
    前記ビットストリームの中の前記第1のビットストリームパーティションに関連するシンタックス要素をコード化することと
    を備える方法。
  11. 前記ビットストリームの中の前記複数のビデオレイヤを、ビットストリームパーティションの1つ以上の利用可能な組合せを規定する区分方式に従って、前記1つ以上のビットストリームパーティションに分割することを更に備える、請求項10に記載の方法。
  12. 前記ビットストリームが、前記ビットストリームの中の複数のネットワーク抽象化レイヤ(NAL)単位を含むアクセス単位と、前記第1のビットストリームパーティションに属する、前記アクセス単位の前記複数のNAL単位のサブセットを含む第1のパーティション単位とを含み、ここにおいて、前記ビットストリーム適合パラメータが、前記第1のパーティション単位に関連し、前記ビットストリーム適合パラメータが、前記第1のパーティション単位の前記複数のNAL単位の前記サブセットに適用可能であるが、前記第1のパーティション単位によって包含されない、前記アクセス単位の他のNAL単位に適用可能でない、請求項10に記載の方法。
  13. 前記ビットストリーム適合パラメータが、前記第1のパーティション単位に関連する、前記ビットストリームの中の復号単位の数を規定し、ここにおいて、前記ビットストリーム適合パラメータによって規定される復号単位の前記数が、単一のピクチャの中に収まることができる復号単位の最大数を上回る、請求項12に記載の方法。
  14. 前記ビットストリーム適合パラメータによって規定される復号単位の前記数が、前記第1のパーティション単位の中に収まることができるコード化ツリーブロック(CTB)の最大数に等しい最大値を上回らない、請求項13に記載の方法。
  15. 前記ビットストリームが、各々が前記ビットストリームの中の1つ以上の連続したネットワーク抽象化レイヤ(NAL)単位を含む複数の復号単位を含み、ここにおいて、前記ビットストリームの中の前記複数の復号単位の各々が、前記複数のビットストリームパーティションのうちの1つのみに属する1つ以上のNAL単位を含む、請求項10に記載の方法。
  16. 前記ビットストリームが、各々が前記ビットストリームの中の1つ以上の連続したネットワーク抽象化レイヤ(NAL)単位を含む複数の復号単位を含み、ここにおいて、前記ビットストリームの中の前記複数の復号単位の各々が、前記ビットストリームの中の単一のピクチャに属する1つ以上のNAL単位を含む、請求項10に記載の方法。
  17. 前記ビットストリームが、第1の復号単位がコード化ピクチャバッファ(CPB)からいつ除去されるべきかを規定する第1の除去時間に関連する前記第1の復号単位と、第2の復号単位が前記CPBからいつ除去されるべきかを規定する第2の除去時間に関連する前記第2の復号単位とを含み、ここにおいて、前記第1の除去時間が前記第2の除去時間よりも遅く、前記第2の復号単位が前記第1の復号単位に復号順序において先行し、ここにおいて、前記ビットストリームが可変ビットレートを有する、請求項10に記載の方法。
  18. 前記第1のビットストリームパーティションが、第1の復号単位がコード化ピクチャバッファ(CPB)からいつ除去されるべきかを規定する第1の除去時間に関連する前記第1の復号単位と、第2の復号単位が前記CPBからいつ除去されるべきかを規定する第2の除去時間に関連する前記第2の復号単位とを含み、ここにおいて、前記第1の除去時間が前記第2の除去時間よりも遅く、前記第2の復号単位が前記第1の復号単位に復号順序において先行し、ここにおいて、前記第1のビットストリームパーティションが前記複数のビデオレイヤのうちの最低レイヤを含む、請求項10に記載の方法。
  19. 実行されたとき、装置に、
    ビットストリームの中の複数のビデオレイヤに関連するビデオ情報を記憶することと、前記ビットストリームの中の前記複数のビデオレイヤが、複数のビットストリームパーティションに分割され、ここにおいて、各ビットストリームパーティションが、前記複数のビデオレイヤのうちの少なくとも1つを含む、
    前記複数のビットストリームパーティションのうちの第1のビットストリームパーティションに関連するビットストリーム適合パラメータを処理することと、ここにおいて、前記ビットストリーム適合パラメータが、前記第1のビットストリームパーティションに適用可能であるが、前記第1のビットストリームパーティションによって包含されない、前記ビットストリームの別の部分に適用可能でない、
    を行わせるコードを備える非一時的コンピュータ可読媒体。
  20. 前記ビットストリームが、前記ビットストリームの中の複数のネットワーク抽象化レイヤ(NAL)単位を含むアクセス単位と、前記第1のビットストリームパーティションに属する、前記アクセス単位の前記複数のNAL単位のサブセットを含む第1のパーティション単位とを含み、ここにおいて、前記ビットストリーム適合パラメータが、前記第1のパーティション単位に関連し、前記ビットストリーム適合パラメータが、前記第1のパーティション単位の前記複数のNAL単位の前記サブセットに適用可能であるが、前記第1のパーティション単位によって包含されない、前記アクセス単位の他のNAL単位に適用可能でない、請求項19に記載のコンピュータ可読媒体。
  21. 前記ビットストリーム適合パラメータが、前記第1のパーティション単位に関連する、前記ビットストリームの中の復号単位の数を規定し、ここにおいて、前記ビットストリーム適合パラメータによって規定される復号単位の前記数が、単一のピクチャの中に収まることができる復号単位の最大数を上回る、請求項20に記載のコンピュータ可読媒体。
  22. 前記ビットストリームが、各々が前記ビットストリームの中の1つ以上の連続したネットワーク抽象化レイヤ(NAL)単位を含む複数の復号単位を含み、ここにおいて、前記ビットストリームの中の前記複数の復号単位の各々が、前記複数のビットストリームパーティションのうちの1つのみに属する1つ以上のNAL単位を含む、請求項19に記載のコンピュータ可読媒体。
  23. ビットストリームの中のビデオ情報をコード化するように構成されたビデオコード化機器であって、
    前記ビットストリームの中の複数のビデオレイヤに関連するビデオ情報を記憶するための手段と、前記ビットストリームの中の前記複数のビデオレイヤが、複数のビットストリームパーティションに分割され、ここにおいて、各ビットストリームパーティションが、前記複数のビデオレイヤのうちの少なくとも1つを含む、
    前記複数のビットストリームパーティションのうちの第1のビットストリームパーティションに関連するビットストリーム適合パラメータを処理するための手段と、ここにおいて、前記ビットストリーム適合パラメータが、前記第1のビットストリームパーティションに適用可能であるが、前記第1のビットストリームパーティションによって包含されない、前記ビットストリームの別の部分に適用可能でない、
    を備えるビデオコード化機器。
  24. 前記ビットストリームが、前記ビットストリームの中の複数のネットワーク抽象化レイヤ(NAL)単位を含むアクセス単位と、前記第1のビットストリームパーティションに属する、前記アクセス単位の前記複数のNAL単位のサブセットを含む第1のパーティション単位とを含み、ここにおいて、前記ビットストリーム適合パラメータが、前記第1のパーティション単位に関連し、前記ビットストリーム適合パラメータが、前記第1のパーティション単位の前記複数のNAL単位の前記サブセットに適用可能であるが、前記第1のパーティション単位によって包含されない、前記アクセス単位の他のNAL単位に適用可能でない、請求項23に記載のビデオコード化機器。
  25. 前記ビットストリーム適合パラメータが、前記第1のパーティション単位に関連する、前記ビットストリームの中の復号単位の数を規定し、ここにおいて、前記ビットストリーム適合パラメータによって規定される復号単位の前記数が、単一のピクチャの中に収まることができる復号単位の最大数を上回る、請求項24に記載のビデオコード化機器。
  26. 前記ビットストリームが、各々が前記ビットストリームの中の1つ以上の連続したネットワーク抽象化レイヤ(NAL)単位を含む複数の復号単位を含み、ここにおいて、前記ビットストリームの中の前記複数の復号単位の各々が、前記複数のビットストリームパーティションのうちの1つのみに属する1つ以上のNAL単位を含む、請求項23に記載のビデオコード化機器。
JP2016575231A 2014-06-26 2015-06-25 スケーラブルビデオコード化におけるビットストリーム適合制約 Active JP6608395B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462017742P 2014-06-26 2014-06-26
US62/017,742 2014-06-26
US14/749,527 US10264286B2 (en) 2014-06-26 2015-06-24 Bitstream conformance constraints in scalable video coding
US14/749,527 2015-06-24
PCT/US2015/037718 WO2015200652A1 (en) 2014-06-26 2015-06-25 Bitstream conformance constraints in scalable video coding

Publications (3)

Publication Number Publication Date
JP2017525257A true JP2017525257A (ja) 2017-08-31
JP2017525257A5 JP2017525257A5 (ja) 2018-07-12
JP6608395B2 JP6608395B2 (ja) 2019-11-20

Family

ID=54932010

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016575032A Active JP6498706B2 (ja) 2014-06-26 2015-06-25 スケーラブルビデオコード化におけるビットストリーム適合制約
JP2016575231A Active JP6608395B2 (ja) 2014-06-26 2015-06-25 スケーラブルビデオコード化におけるビットストリーム適合制約

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016575032A Active JP6498706B2 (ja) 2014-06-26 2015-06-25 スケーラブルビデオコード化におけるビットストリーム適合制約

Country Status (8)

Country Link
US (2) US10091532B2 (ja)
EP (2) EP3162064A1 (ja)
JP (2) JP6498706B2 (ja)
KR (2) KR102038190B1 (ja)
CN (2) CN106464909B (ja)
BR (1) BR112016030377B1 (ja)
CA (2) CA2952497C (ja)
WO (2) WO2015200653A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091532B2 (en) 2014-06-26 2018-10-02 Qualcomm Incorporated Bitstream conformance constraints in scalable video coding
CN104751779A (zh) * 2014-11-25 2015-07-01 上海和辉光电有限公司 显示装置、oled像素驱动电路及其驱动方法
EP3456043A4 (en) * 2016-05-28 2019-11-27 MediaTek Inc. METHOD AND DEVICE FOR REFERENCING THE CURRENT IMAGE FOR VIDEO CODING USING AFFINER MOTION COMPENSATION
US10771163B2 (en) * 2017-10-24 2020-09-08 Mediatek Inc. Apparatus and method for decoding ROI regions in image
TWI820197B (zh) 2018-08-28 2023-11-01 大陸商北京字節跳動網絡技術有限公司 與擴展四叉樹相關的分割的二值化
EP3864845A1 (en) * 2018-10-09 2021-08-18 V-Nova International Ltd Dynamic range support within a multi-layer hierarchical coding scheme
SG11202108935YA (en) * 2019-03-11 2021-09-29 Tencent America LLC Signaling of adaptive picture size in video bitstream
CA3152445A1 (en) * 2019-09-24 2021-04-01 Huawei Technologies Co., Ltd. Signaling of picture header in video coding
CN114846805A (zh) * 2019-12-26 2022-08-02 字节跳动有限公司 视频编解码中的信令通知编解码图片缓冲区级别
JP7431330B2 (ja) 2019-12-26 2024-02-14 バイトダンス インコーポレイテッド ビデオコーディングにおけるプロファイル、層及びレイヤの指示
JP7425204B2 (ja) 2019-12-26 2024-01-30 バイトダンス インコーポレイテッド ビデオビットストリームにおける仮想参照デコーダパラメータのシグナリングに対する制約
EP4066387A4 (en) * 2019-12-27 2023-02-15 ByteDance Inc. SUBPICTURE SIGNALING IN PARAMETER SETS
KR20220125235A (ko) 2020-01-09 2022-09-14 바이트댄스 아이엔씨 상이한 sei 메시지들의 디코딩 순서
KR20230015373A (ko) 2020-05-22 2023-01-31 바이트댄스 아이엔씨 비디오 비트스트림들에서 코딩된 픽처 버퍼 정보의 시그널링
CN115699768A (zh) * 2020-05-27 2023-02-03 Lg电子株式会社 在视频或图像编码系统中基于poc信息和非参考图片标志的图像编码方法
EP4205397A4 (en) * 2020-09-29 2024-02-28 Beijing Bytedance Network Tech Co Ltd MULTI-VIEW INFORMATION SIGNAGE
WO2023056360A1 (en) * 2021-09-30 2023-04-06 Bytedance Inc. Method, apparatus and medium for video processing

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080152006A1 (en) * 2006-12-22 2008-06-26 Qualcomm Incorporated Reference frame placement in the enhancement layer
MX2009011217A (es) * 2007-04-18 2009-12-07 Thomson Licensing Sistemas de codificacion.
JP5072893B2 (ja) * 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
CN103688548A (zh) 2011-07-08 2014-03-26 汤姆逊许可公司 为具有重复结构的三维模型编码和解码位流的系统及方法
US9635355B2 (en) 2011-07-28 2017-04-25 Qualcomm Incorporated Multiview video coding
US10003817B2 (en) 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
AU2013215198A1 (en) 2012-01-31 2014-08-28 Vid Scale, Inc. Reference picture set (RPS) signaling for scalable high efficiency video coding (HEVC)
MX341068B (es) * 2012-04-23 2016-08-05 Panasonic Ip Corp America Método de codificacion de imágenes, método de decodificacion de imágenes, aparato de codificacion de imágenes, aparato de decodificacion de imágenes y aparato de codificacion y decoficación de imágenes.
AU2013283173B2 (en) * 2012-06-29 2016-03-24 Ge Video Compression, Llc Video data stream concept
US10021394B2 (en) 2012-09-24 2018-07-10 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
US9479779B2 (en) 2012-10-01 2016-10-25 Qualcomm Incorporated Sub-bitstream extraction for multiview, three-dimensional (3D) and scalable media bitstreams
US20140301463A1 (en) * 2013-04-05 2014-10-09 Nokia Corporation Method and apparatus for video coding and decoding
US20140301477A1 (en) 2013-04-07 2014-10-09 Sharp Laboratories Of America, Inc. Signaling dpb parameters in vps extension and dpb operation
US9591321B2 (en) 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
US20160173887A1 (en) 2013-07-10 2016-06-16 Sharp Kabushiki Kaisha Scaling list signaling and parameter sets activation
CN108650514A (zh) 2013-07-14 2018-10-12 夏普株式会社 瓦片对齐信令和一致性约束
JP6352383B2 (ja) 2013-07-14 2018-07-04 シャープ株式会社 復号方法及び復号装置
US20150016503A1 (en) * 2013-07-15 2015-01-15 Qualcomm Incorporated Tiles and wavefront processing in multi-layer context
JP6393317B2 (ja) 2013-10-10 2018-09-19 シャープ株式会社 復号方法及び符号化方法
CN106416250B (zh) * 2013-12-02 2020-12-04 诺基亚技术有限公司 视频编码和解码
US20150264404A1 (en) 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
ES2913983T3 (es) * 2014-03-17 2022-06-07 Nokia Technologies Oy Un aparato, un método y un programa informático para codificación y decodificación de vídeo
US9794626B2 (en) * 2014-05-01 2017-10-17 Qualcomm Incorporated Partitioning schemes in multi-layer video coding
US10091532B2 (en) 2014-06-26 2018-10-02 Qualcomm Incorporated Bitstream conformance constraints in scalable video coding

Also Published As

Publication number Publication date
JP2017525248A (ja) 2017-08-31
BR112016030377B1 (pt) 2023-10-31
CA2952350A1 (en) 2015-12-30
CA2952350C (en) 2021-04-13
KR20170026371A (ko) 2017-03-08
CN106464910B (zh) 2019-10-18
US10264286B2 (en) 2019-04-16
EP3162065B1 (en) 2020-12-23
US20150382023A1 (en) 2015-12-31
KR102090005B1 (ko) 2020-03-17
US10091532B2 (en) 2018-10-02
BR112016030377A2 (ja) 2017-08-22
EP3162065A1 (en) 2017-05-03
WO2015200653A1 (en) 2015-12-30
JP6608395B2 (ja) 2019-11-20
JP6498706B2 (ja) 2019-04-10
CN106464910A (zh) 2017-02-22
CA2952497A1 (en) 2015-12-30
CA2952497C (en) 2021-08-03
KR20170023009A (ko) 2017-03-02
CN106464909B (zh) 2019-10-25
US20150382022A1 (en) 2015-12-31
CN106464909A (zh) 2017-02-22
WO2015200652A1 (en) 2015-12-30
EP3162064A1 (en) 2017-05-03
KR102038190B1 (ko) 2019-10-29

Similar Documents

Publication Publication Date Title
JP6608395B2 (ja) スケーラブルビデオコード化におけるビットストリーム適合制約
JP6580576B2 (ja) ビデオ情報のスケーラブルコーディングのためのデバイスおよび方法
JP6453347B2 (ja) Hevcマルチレイヤ拡張における非hevcベースレイヤのサポート
US10264272B2 (en) Device and method for scalable coding of video information
US9832481B2 (en) Support of base layer of a different codec in multi-layer video coding
JP2017523684A (ja) マルチレイヤコーデックにおける時間動きベクトル予測(tmvp)指示
JP6434044B2 (ja) ビデオ情報のスケーラブルコード化のための機器及び方法
JP6312838B2 (ja) マルチレイヤコード化においてレイヤ間参照ピクチャセット(RPS)をコード化し、ビットストリーム終端(EoB)ネットワークアクセスレイヤ(NAL)単位をコード化するための方法
JP2017507539A (ja) マルチレイヤコーディングにおいて回復点補足エンハンスメント情報(sei)メッセージと領域リフレッシュ情報seiメッセージとをコーディングするための方法
JP2017522793A (ja) マルチレイヤコーデックのためのピクチャ順序カウントリセット
JP2017507546A (ja) マルチレイヤコード化において参照ピクチャセット(rps)をコード化するための方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180604

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190802

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191023

R150 Certificate of patent or registration of utility model

Ref document number: 6608395

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