JP2015507428A - ビデオコーディング用のコーディングパラメータセットおよびnalユニットヘッダ - Google Patents

ビデオコーディング用のコーディングパラメータセットおよびnalユニットヘッダ Download PDF

Info

Publication number
JP2015507428A
JP2015507428A JP2014552328A JP2014552328A JP2015507428A JP 2015507428 A JP2015507428 A JP 2015507428A JP 2014552328 A JP2014552328 A JP 2014552328A JP 2014552328 A JP2014552328 A JP 2014552328A JP 2015507428 A JP2015507428 A JP 2015507428A
Authority
JP
Japan
Prior art keywords
video
coding
vps
layers
data
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
JP2014552328A
Other languages
English (en)
Other versions
JP6117243B2 (ja
JP2015507428A5 (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 JP2015507428A publication Critical patent/JP2015507428A/ja
Publication of JP2015507428A5 publication Critical patent/JP2015507428A5/ja
Application granted granted Critical
Publication of JP6117243B2 publication Critical patent/JP6117243B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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/46Embedding additional information in the video signal during the compression process
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

1つの例では、ビデオエンコーダまたはビデオデコーダなどのビデオコーダは、ビデオデータの1つまたは複数のレイヤについてのVPSをコーディングし、ビデオデータの前記1つまたは複数のレイヤの各々はビデオパラメータセット(VPS)を参照し、前記VPSに少なくとも部分的に基づいてビデオデータの1つまたは複数のレイヤをコーディングするように構成される。ビデオコーダは、高効率ビデオコーディング、マルチビュービデオコーディング、スケーラブルビデオコーディング、または他のビデオコーディング規格もしくはビデオコーディング規格の拡張に準拠するビデオデータのVPSをコーディングし得る。VPSは、様々な異なるレイヤ(たとえば、ビュー、品質レイヤなど)内のビデオデータの対応するシーケンスについてのパラメータを指定するデータを含み得る。VPSのパラメータは、対応するビデオデータがどのようにコーディングされるかのインジケーションを与え得る。

Description

優先権の主張
本出願は、各々の内容全体が参照により本明細書に組み込まれる、
2012年1月14日に出願された米国仮出願第61/586,777号、
2012年1月16日に出願された米国仮出願第61/587,070号、
2012年1月19日に出願された米国仮出願第61/588,629号、
2012年4月23日に出願された米国仮出願第61/637,195号、および
2012年4月24日に出願された米国仮出願第61/637,774号の利益を主張する。
本開示は、ビデオコーディングに関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part 10、アドバンストビデオコーディング(AVC)、現在開発中の高効率ビデオコーディング(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法のような、ビデオコーディング技法を実装する。今度のHEVC規格の最近のドラフトは、http://phenix.int−evry.fr/jct/doc_end_user/documents/7_Geneva/wg11/JCTVC−G1103−v3.zipにおいて入手可能である。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス(たとえば、ビデオフレームまたはビデオフレームの一部分)が、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコーディングブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数は、次いで量子化することができる。量子化変換係数は、最初に2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査することができ、なお一層の圧縮を達成するためにエントロピーコーディングを適用することができる。
[0006]概して、本開示は、ビデオコーディング用のパラメータセットおよびネットワークアブストラクションレイヤ(NAL)ユニットをコーディングするための技法について説明する。これらの技法は、2次元ビデオデータなどのシングルレイヤコーディングデータに適用され、スケーラブルビデオコーディング(SVC)ビデオデータおよびマルチビュービデオコーディング(MVC)ビデオデータにも適用され得る。したがって、パラメータセットおよびNALユニットは、様々なタイプのビデオデータ間で相互に互換性があり得る。たとえば、ビデオエンコーダまたはビデオデコーダなどのビデオコーダは、ビデオデータの1つまたは複数のレイヤに関するパラメータを定義するビデオパラメータセット(VPS)をコーディングし得る。レイヤは、たとえば、SVCレイヤ(様々なフレームレート、空間解像度、および/または品質レベルを有する)および/またはMVCデータのビュー(たとえば、水平軸の周りの様々なカメラパースペクティブから捕捉されるシーンの画像シーケンス)に対応し得る。
[0007]一例では、ビデオデータをコーディングする方法は、ビデオデータの1つまたは複数のレイヤについてのビデオパラメータセット(VPS)を含むビデオデータをコーディングすることと、ビデオデータの前記1つまたは複数のレイヤのそれぞれは、前記VPSを参照し、前記VPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングすることと、を含む。
[0008]別の例では、ビデオデータをコーディングするためのデバイスは、ビデオエンコーダまたはビデオデコーダなどのビデオコーダを含み、当該ビデオコードは、ビデオデータの1つまたは複数のレイヤについてのビデオパラメータセット(VPS)を含むビデオデータをコーディングし、ビデオデータの前記1つまたは複数のレイヤのそれぞれは、前記VPSを参照し、前記VPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングするように構成される。
[0009]別の例では、ビデオデータをコーディングするためのデバイスは、ビデオデータの1つまたは複数のレイヤについてのビデオパラメータセット(VPS)を含むビデオデータをコーディングする手段と、ビデオデータの前記1つまたは複数のレイヤのそれぞれは、前記VPSを参照し、前記VPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングする手段と、を含む。
[0010]別の例では、コンピュータ可読記憶媒体は、実行されるとき、プロセッサに、
ビデオデータの1つまたは複数のレイヤについてのビデオパラメータセット(VPS)を含むビデオデータをコーディングさせ、ビデオデータの前記1つまたは複数のレイヤのそれぞれは、前記VPSを参照し、前記VPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングさせる命令を記憶する。
[0011]1つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
ビデオデータの1つまたは複数のレイヤ用のパラメータセットおよびネットワークアブストラクションレイヤ(NAL)ユニットをコーディングするための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 ビデオデータの1つまたは複数のレイヤ用のパラメータセットおよびNALユニットをコーディングするための技法を実装し得るビデオエンコーダ20の一例を示すブロック図。 ビデオデータの1つまたは複数のレイヤ用のパラメータセットおよびNALユニットをコーディングするための技法を実装し得るビデオデコーダ30の一例を示すブロック図。 例示的なMVCの予測パターンを示す概念図。 ビデオパラメータセット(VPS)および様々なレイヤパラメータセット(LPS)を示す概念図。 例示的なグルーピングパラメータセット(GPS)と、GPSの他のパラメータセットおよびスライスヘッダとの関係を示す概念図。 本開示の技法による、ビデオデータを符号化するための例示的な方法を示すフローチャート。 本開示の技法による、ビデオデータを復号するための例示的な方法を示すフローチャート。 VPSにおいてシグナリングされる時間レイヤの数に少なくとも部分的に基づいてビデオデータをコーディングする例示的な方法を示すフローチャート。 復号ピクチャバッファに記憶される1つまたは複数のレイヤおよびピクチャにおいて並べ替えられるピクチャの数に少なくとも部分的に基づいてビデオデータをコーディングする例示的な方法を示すフローチャート。 VPSにおいてシグナリングされる仮想参照デコーダ(HRD)パラメータに少なくとも部分的に基づいてビデオデータをコーディングする例示的な方法を示すフローチャート。 VPSにおいてシグナリングされる拡張データに少なくとも部分的に基づいてビデオデータをコーディングする例示的な方法を示すフローチャート。
[0024]一般に、本開示は、ビデオパラメータセット(VPS)を使用してビデオデータをコーディングすることについて説明する。ビデオデータは、複数のレイヤと、所与のレイヤ内のピクチャのシーケンスと、シーケンス内のピクチャと、ピクチャ内のスライスと、スライス内のブロック(たとえば、マクロブロックまたはコーディングツリーユニット)とを含むものとして階層的に分類され得る。シーケンスパラメータセット(SPS)は、ピクチャのシーケンスのまれに変化するパラメータをシグナリングするために使用され得、ピクチャパラメータセット(PPS)は、個々のピクチャのまれに変化するパラメータをシグナリングするために使用され得る。
[0025]本開示の技法によれば、VPSは、それぞれのレイヤにわたる複数のシーケンスのまれに変化するパラメータをシグナリングすることができる。すなわち、VPSは、様々なレイヤの時間的にコロケートされるシーケンスの組のパラメータを含み得る。様々なレイヤは、たとえば、マルチビュービデオデータの様々なビュー、様々な品質レイヤ、様々な空間解像レイヤ(spatial resolution layer)、時間的スケーラブルレイヤ(temporally scalable layer)(すなわち、様々なフレームレートを可能にするレイヤ)などを含み得る。このように、1つのVPSは、それぞれのレイヤの各々に共通のパラメータ(たとえば、それぞれのレイヤ内のそれぞれのシーケンス)をシグナリングするように、複数の異なるレイヤに与えられ得る。ビットストリームは、複数のレイヤの各々を含むものと言うことができ、それぞれのレイヤは、それぞれのサブビットストリームを形成することができる。さらに、サブビットストリームは、2つ以上のレイヤの組合せに対応し得る。
[0026]本開示は、VPSに含まれ得るデータの様々な例について説明する。そのようなデータは、いくつかの例では、対応するレイヤ内のサブレイヤの数(たとえば、サブレイヤの最大数)の表示を含み得る。たとえば、VPSは、時間レイヤの数および/または時間レイヤの最大数をシグナリングするデータ(たとえば、最上時間レイヤ識別子)を含み得る。
[0027]別の例として、VPSは、追加または代替で、SPSにおいて以前にシグナリングされた(すなわち、従来のSPSにおいてシグナリングされた)任意のデータと実質的に同様のデータを含み得る。このように、ビットストリームの2つ以上のレイヤのシーケンスが、実質的に同様な、または同一のパラメータを含むとき、ビデオコーダは、異なるレイヤの間で様々なシーケンスについてのそれぞれのSPSにおけるそのようなデータを冗長にコーディングするのではなく、複数のレイヤの複数のシーケンスについてのパラメータをシグナリングするためにVPSをコーディングし得る。
[0028]VPSは、追加または代替として、ビデオ表現情報、仮想参照デコーダ(HRD)パラメータ、および/またはビットストリーム制限情報などのビデオユーザビリティ情報(VUI)を定義するデータを含み得る。ビットストリーム制限情報は、動きベクトルレンジと、復号ピクチャバッファ(DPB)サイズ(たとえば、DPBによって保持されるピクチャの数に関する)と、並べ替えフレームの数(すなわち、復号順序から表示順序へ並べ替えられるフレームの数の表示)と、コーディングされたブロック(たとえば、マクロブロック(MB)またはコーディングツリーユニット)のサイズと、コーディングされたピクチャのサイズとに関する制限を含み得る。VPSは、時期HEVC規格への将来の規格または拡張によって拡張され得るように、1つまたは複数のVPS拡張用のデータをさらに与え得る。
[0029]図1は、ビデオデータの1つまたは複数のレイヤ用のパラメータセットおよびネットワークアブストラクションレイヤ(NAL)ユニットをコーディングするための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを与えるソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介してビデオデータを宛先デバイス14に与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0030]宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、符号化ビデオデータをソースデバイス12から宛先デバイス14に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0031]いくつかの例では、符号化データは、出力インターフェース22からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0032]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0033]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、ビデオデータの1つまたは複数のレイヤのパラメータセットおよびNALユニットをコーディングするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
[0034]図1の図示のシステム10は一例にすぎない。ビデオデータの1つまたは複数のレイヤのパラメータセットおよびNALユニットをコーディングするための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコーディングされたビデオデータを生成する、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話のための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートすることができる。
[0035]ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ電話を形成することができる。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各々の場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータで生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
[0036]コンピュータ可読媒体16は、ワイヤレスブロードキャストまたは有線ネットワーク送信などの時間媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非時間的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化されたビデオデータを受信し、宛先デバイス14に符号化されたビデオデータを与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化されたビデオデータを受信し、その符号化されたビデオデータを含むディスクを生成し得る。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
[0037]宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコーディングユニット、たとえば、GOPの特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0038]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオコーディング規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part 10、アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格などの、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例には、MPEG−2およびITU−T H.263がある。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理することができる。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠することができる。
[0039]ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。いくつかの態様では、本開示で説明する技法は、一般にH.264規格に準拠するデバイスに適用することができる。H.264規格は、ITU−T研究グループによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と呼ぶ。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。
[0040]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非時間的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0041]JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
[0042]一般に、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマとクロマの両方のサンプルを含む一連のツリーブロックまたは最大コーディングユニット(LCU)に分割され得ることを記載する。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるLCUのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。一般に、4分木データ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。
[0043]4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUがさらに分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しない場合でも、リーフCUの4つのサブCUをリーフCUとも呼ぶ。たとえば、16×16サイズのCUがさらに分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUをリーフCUとも呼ぶ。
[0044]CUは、CUがサイズ差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コーディングビットストリームに関連するシンタックスデータは、最大CU深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズも定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。本開示では、HEVCのコンテキストにおけるCU、PU、またはTU、あるいは他の規格のコンテキストにおける同様のデータ構造(たとえば、H.264/AVCにおけるマクロブロックおよびそれのサブブロック)のいずれかを指すために「ブロック」という用語を使用する。
[0045]CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU:prediction unit)および変換ユニット(TU:transform unit)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかによって異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が正方形または非正方形(たとえば、矩形)であり得る。
[0046]HEVC規格は、CUごとに異なり得るTUに従った変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、量子化され得る変換係数を生成するために変換され得る。
[0047]リーフCUは、1つまたは複数の予測ユニット(PU)を含むことができる。一般に、PUは、対応するCUの全部または一部に対応する空間的エリアを表し、そのPU用の参照サンプルを取り出すためのデータを含むことができる。その上、PUは、予測に関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUのデータは、PUに対応するTUのイントラ予測モードを記述するデータを含み得る、残差4分木(RQT)中に含まれ得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、もしくはリストC)を記述し得る。
[0048]1つまたは複数のPUを有するリーフCUはまた、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上記で説明したように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。たとえば、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブTUに分割され得る。TUがさらに分割されないとき、そのTUはリーフTUと呼ばれ得る。概して、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは同じイントラ予測モードを共有する。すなわち、概して、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値を、TUに対応するCUの一部と元のブロックとの間の差分として計算し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUはPUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、同じCUについて対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
[0049]さらに、リーフCUのTUはまた、残差4分木(RQT)と呼ばれる、それぞれの4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してツリーブロック(またはLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。概して、本開示では、特に明記しない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。
[0050]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。
[0051]一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
[0052]本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16×16ピクセルまたは16by16ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ここでNは非負整数値を表す。ブロック内のピクセルは行と列で構成することができる。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはN×Mピクセルを備えてよく、ただし、Mは必ずしもNに等しいとは限らない。
[0053]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
[0054]変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。
[0055]量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、より高いエネルギー(したがってより低い周波数)の係数をアレイの前方に配置し、より低いエネルギー(したがってより高い周波数)の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0056]CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率判断は、シンボルに割り当てられるコンテキストに基づき得る。
[0057]本開示の技法によれば、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、ビデオデータの1つまたは複数のレイヤのビデオパラメータセット(VPS)をコーディングし、VPSに少なくとも部分的に基づいてビデオデータの1つまたは複数のレイヤをコーディングするように構成され得る。以下でより詳細に説明する表2および表5は、VPSの例示的なシンタックス要素の組を含む。ビデオデータの1つまたは複数のレイヤの各々は、VPS、すなわち同じVPSを参照し得る。言い換えれば、VPSは、共通の組のビデオデータのすべてのレイヤ、たとえば、すべてのSVCレイヤ、および/またはMVCビデオデータのすべてのビューに適用され得る。
[0058]VPSは、様々な情報カテゴリーを含み得る。たとえば、VPSは、サンプル次元カウンタ記述部(SDCD:sample dimension counter description)を含み得る。すなわち、各次元に関して、ビデオコーダは、1組のインデックスをシグナリングし得る。考えられる次元は、cnt_p、すなわちコード化ビデオシーケンスに含まれる優先レイヤの数と、cnt_d、すなわちビットストリーム内の異なる従属レイヤ、同じ空間解像度およびビット深度を有する複数のレイヤのどれくらいの数が異なる従属レイヤに属しているかと、cnt_t、すなわちビットストリーム内の時間レイヤの数と、cnt_q、すなわちビットストリーム内の任意の従属レイヤに関する品質レイヤの最大数と、cnt_v、すなわちビューの最大数とを含む。ビット深度設定値は、8ビットまたは12ビットを含むことができ、異なる色成分により異なる可能性がある。クロマサンプルフォーマットは、4:0:0、4:2:0、および4:4:4を含み得る。
[0059]VPSは、特性マッピングに対するサンプルインデックスも含み得る。各々の次元に関して、特性インジケータが、0からサンプル次元カウンタマイナス1までの範囲のインデックスに等しくない場合、各特性インデックスの特性インジケータを指定するために、ループが導入され得る。マッピングは、各従属インデックスに関して、特定のビット深度値および特定のクロマサンプルフォーマットを有する特定の空間解像度を含み得る。デコーダにおいて常に、固定された参照用テーブルが存在する場合、たとえば、0が4:2:0に対応し、1が4:4:4に対応し、2が4:0:0に対応し得る場合、これは省略され得ることに留意されたい。マッピングは、追加または代替として、各時間インデックス/idについて特定のフレームレートまたは平均フレームレートと、各ビューインデックスについて特定のビューidと、各ビット深度インデックスについてルーマおよびクロマの特定のビット深度値のぺアと、各クロマサンプルフォーマットについて特定のクロマサンプルフォーマットインジケータと、を含み得る。
[0060]VPSは、次のpcm_bit_depth_luma_minus1と、pcm_bit_depth_chroma_minus1と、loop_filter_across_slice_flagと、pcm_loop_filter_disable_flagと、temporal_id_nesting_flagと、1つまたは複数のタイルに関連のシンタックス要素と、chroma_pred_from_luma_enabled_flagと、sample_adaptive_offset_enabled_flagと、adaptive_loop_filter_enabled_flagと、inter_4×4_enabled_flagなどの、制御パラメータおよびツール有効化(enabling)/無効化(disabling)フラグも含み得る。
[0061]VPSは、1つまたは複数のオペレーションポイント記述部も含み得る。オペレーションポイントは、概して、ビットストリームに含まれるビデオデータのビューの総数のサブセットについて説明する。オペレーションポイントは、出力を目的とされる特定の数のビューと、復号、出力、またはその両方のときに参照用に使用され得る他のビューとを含み得る。ビットストリームは、オペレーションポイント記述部によって説明される1つまたは複数のオペレーションポイントを含み得る。オペレーションポイント記述部は、最大オペレーションポイントの数、異なるレイヤもしくはビューの間の従属関係、各オペレーションポイントに関するプロファイルおよびレベル、各オペレーションポイントに関するビットレート、オペレーションポイント間の従属関係、各オペレーションポイントに関する他の制限、各オペレーションポイントに関するビデオユーザビリティ情報(VUI)もしくはVUIの一部、および/または各レイヤもしくはビューに関するVUIもしくはVUIの一部を定義する情報を含み得る。追加または代替として、オペレーションポイント記述部は、各オペレーションポイントに関するオペレーションポイントビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニット表示を含み得る。いくつかの例では、オペレーションポイントVCL NALユニット表示は、各次元に関する3つの可能な選択肢、すなわち(1)特定のインデックス値:たとえば、空間解像度の場合、クロマサンプルフォーマットのビット深度の場合;(2)インデックス値の範囲:たとえば、時間レイヤの場合には0から最上時間レイヤidまで、品質レイヤの場合には0から最高品質レイヤidまで;または(3)インデックス値のリスト、たとえば、ビューの場合にはビューインデックス値のリスト、を含み得る。
[0062]いくつかの例では、VPSは、ビットストリームのレイヤのうちの時間レイヤの最大数を示すデータを含み得る。すなわち、ビデオエンコーダ20および/またはビデオデコーダ30は、対応するビットストリームの時間レイヤの最大数を示すデータを含むVPSをコーディングするように構成され得る。たとえば、ビデオエンコーダ20は、時間レイヤの最大数を決定し、決定された時間レイヤの最大数を表すデータを含むようにVPSを符号化し得るが、ビデオデコーダ30は、時間レイヤの最大数を決定するためにVPSを復号し得る。ビデオエンコーダ20およびビデオデコーダ30は、時間レイヤの決定された最大数に基づいてビットストリームのビデオデータをコーディングすることもできる。たとえば、時間レイヤの最大数は、様々な時間レイヤを表すのに必要な時間識別子の数に影響を及ぼし得る。別の例として、時間レイヤの最大数は、たとえばピクチャ順序カウント(POC)値を使用してビデオエンコーダ20およびビデオデコーダ30が参照ピクチャ識別子をコーディングする方法に影響を及ぼし得る。
[0063]さらに別の例として、ビデオエンコーダ20およびビデオデコーダ30は、特定の時間レイヤのデータを、同じ時間レイヤを含み、かつ、同じ時間レイヤまでの参照データのみを使用して、コーディングするように構成され得る。言い換えれば、ビデオエンコーダ20およびビデオデコーダ30は、より上位の時間レイヤの参照データを使用して特定の時間レイヤのデータをコーディングすることを避けるように構成され得る。このように、ビデオデコーダ30は、サブビットストリーム抽出後でさえ、所与の組の時間レイヤのビデオデータを正確に復号することを確実にされ得る。すなわち、サブビットストリーム抽出が実行される場合、抽出されたサブビットストリームの最上位レイヤよりも上のいくつかの時間レイヤは、参照のために利用可能ではない。現在のレイヤにおけるまたは現在のレイヤよりも下のレイヤのデータのみを参照して各時間レイヤのデータをコーディングすることによって、そうでなければ、サブビットストリーム抽出の結果として失われるであろう、より上位のレイヤからのデータに依存する特定のレイヤにおけるデータを有することに起因するエラーを避けることができる。
[0064]いくつかの例では、VPSは、追加または代替として、ビットストリームの1つまたは複数のレイヤにおいて並べ替えられるピクチャの数、および/または復号ピクチャバッファ(DPB)に記憶されるピクチャの数のいずれかまたは両方を示すデータを含む。上述のように、そのようなデータは、ビットストリーム制限情報と呼ばれ得る。したがって、宛先デバイス14は、ビデオデコーダ30の性能を決定し、対応するビットストリームがビデオデコーダ30によって復号されるのに適するかどうか、または宛先デバイス14が(たとえば、コンテンツの複数のバージョンが利用可能であると仮定すれば、ネットワークベースコンテンツプロバイダから)代替のコンテンツを選択すべきかどうかを決定するためにビットストリーム制限情報を使用し得る。
[0065]さらに、ビデオエンコーダ20およびビデオデコーダ30は、ビデオデータのコーディングの間、ビットストリーム制限情報を使用することができる。たとえば、ビデオエンコーダ20は、ビットストリーム制限情報が破られないことを確実にし得る。すなわち、高々N個のピクチャまでしかDPBに記憶されるべきでないとビットストリーム制限情報が示すと仮定すると、ビデオエンコーダ20は、所与の時間に1つまたは複数の参照ピクチャリストの任意の組合せにただN個のピクチャが含まれることを確実にし得る。別の例として、ピクチャが高々M個のピクチャだけシフトされるべきであるとピクチャ並べ替え情報が示すと仮定すると、ビデオエンコーダ20は、ピクチャがM個のピクチャよりも多くシフトされないことを確実にし得る。この方法におけるピクチャのシフトは、概して、ピクチャの復号順序と表示順序との間の差に対応する。同様に、ビデオデコーダ30は、たとえば、DPBフラッシングなどのDPB管理を実行するために、コーディング中にそのような情報を使用し得る。ビデオエンコーダ20およびビデオデコーダ30は、参照ピクチャ識別子値をコーディングするときのDPBに記憶されるピクチャの最大数、および/または並べ替えられるピクチャの数などのビットストリーム制限情報も使用し得る。
[0066]いくつかの例では、VPSは、追加または代替として、仮想参照デコーダ(HRD)パラメータを示すデータを含む。HRDパラメータは、たとえば、データがコーディングピクチャバッファ(CPB)から除去されべき時刻(タイム)について記述するデータを含む。ビデオデコーダ30などのデコーダでは、CPBは、データが復号の準備ができるまでコード化ビデオデータが記憶されるバッファを表す。ビデオデコーダ30などのデコーダは、たとえば、インター予測データのために、また復号順序から表示順序へのピクチャの並べ替えのために参照データとして使用される復号ビデオデータが記憶される復号ピクチャバッファ(DPB)も含み得る。
[0067]HRDパラメータは、特定のピクチャがCPBから除去され、復号されるべきときを示すデータを含み得る。したがって、ビデオエンコーダ20は、ピクチャがCPBから除去され、復号され得るときを示すためにVPSのHRDパラメータを符号化し得、一方、ビデオデコーダ30は、CPBからピクチャをいつ除去すべきかを決定するためにVPSのHRDパラメータを復号し得る。同様に、ビデオエンコーダ20およびビデオデコーダ30は、たとえば、HRDパラメータによって示されるコーディング順序で、HRDパラメータに従ってピクチャをコーディングし得る。このように、ビデオエンコーダ20および/またはビデオデコーダ30は、HRDパラメータを含むVPSをコーディングし、HRDパラメータに少なくとも部分的に基づいてVPSに対応するビデオデータをコーディングするように構成され得る。
[0068]VPSは、たとえば1つまたは複数の追加のコーディングツール用のデータを与えるために、VPSが拡張されてきたかどうかを示す拡張データも含み得る。そのようなコーディングツールは、たとえばITU−T H.264/AVCまたは今度のHEVC規格などの、対応するビデオコーディング規格のツールとは異なるツールである可能性がある。さらに、そのようなコーディングツールは、コンフィギュレーションデータを必要とし得る。このコンフィギュレーションデータは、VPSの拡張データ内に与えられ得る。このように、そのようなコーディングツールを使用してビデオデータをコーディングするとき、ビデオエンコーダ20および/またはビデオデコーダ30は、拡張データが存在するかどうかを示すVPSと、そうであれば、VPSの拡張データとをコーディングすることができる。さらに、そのような拡張データが存在するとき、ビデオエンコーダ20および/またはビデオデコーダ30は、拡張データを使用してビデオデータをコーディングするために対応するコーディングツールを実行することができる。
[0069]様々なビデオコーディング規格は、エラーのないビットストリームの対応するシンタックスと、セマンティクスと、復号プロセスとを定義し、そのいずれもいくつかのプロファイルまたはレベルに準拠する。ビデオコーディング規格は、概して、エンコーダを指定しないが、エンコーダは、生成されたビットストリームがデコーダの規格に準拠することを保証することを課される。ビデオコーディング規格のコンテキストでは、「プロファイル」は、アルゴリズム、機能、またはツール、およびそれらに適用される制約のサブセットに対応する。たとえば、H.264規格によって定義される「プロファイル」は、H.264規格によって指定されたビットストリームシンタックス全体のサブセットである。「レベル」は、たとえば、ピクチャの解像度、ビットレート、およびブロック処理レートに関連するデコーダメモリおよび計算などの、デコーダリソース消費の制限に対応する。プロファイルはprofile_idc(プロファイルインジケータ)値でシグナリングされ得るが、レベルはlevel_idc(レベルインジケータ)値でシグナリングされ得る。本開示の技法によれば、プロファイルおよびレベル情報は、上記で説明したように、オペレーションポイント記述部において指定され得る。
[0070]いくつかの例では、ビットストリームの各レイヤまたはビューは、ビデオパラメータセット(VPS)を参照し、レイヤシーケンスパラメータセット(LPS)は、各レイヤに関してアクティブであり得る。LPSは、設計においてVPSを参照することによってできる限り軽量に保たれ得る。LPSは、以下で説明する情報のいずれかまたはすべてを含み得る。LPSは、各次元に関して、各次元のインデックスを示すサンプル次元表示を含み得る。たとえば、VPSにおいて、空間解像度0に対するインデックスが320×240の空間特性に割り当てられ、空間解像度1に対するインデックスが640×480の空間特性に割り当てられ、現在のレイヤに640×480の解像度を与えられる場合、ビデオエンコーダ20および/またはビデオデコーダ30は、現在のレイヤに関して1の値を有するシンタックス要素をコーディングし得る。すなわち、ビデオエンコーダ20は、シンタックス要素が640×480の解像度を指定するために1の値をシグナリングし得、ビデオデコーダ30は、1の値を有するシンタックス要素を含む現在のレイヤが、シンタックス要素に関する1の値に基づいて640×480の解像度を有すると決定し得る。
[0071]LPSは、制御パラメータおよびツール有効化/無効化フラグも含み得る。たとえば、制御パラメータおよびツール有効化/無効化フラグは、次のpcm_bit_depth_luma_minus1と、pcm_bit_depth_chroma_minus1と、loop_filter_across_slice_flagと、pcm_loop_filter_disable_flagと、1つまたは複数のタイル関連のシンタックス要素と、chroma_pred_from_luma_enabled_flagと、sample_adaptive_offset_enabled_flagと、adaptive_loop_filter_enabled_flagと、コーディングユニット(CU)ハイアラーキとを含み得る。
[0072]LPSは、スライス、スライスのグループ、1つのピクチャ、またはいくつかのピクチャに適用する他のタイプのパラメータセットの情報をさらに含み得る。これらのパラメータセットの各々は、特定のピクチャパラメータセット(PPS)を参照し得る。
[0073]ビデオエンコーダ20およびビデオデコーダ30などのビデオコーダは、PPSがLPSまたはVPSを参照しないことを確実にし、および/または決定するように構成され得る。したがって、ビデオコーダは、ビットストリームの各PPSがLPSまたはVPSを参照しないことを確実にすることができる。PPSのパーシング(parsing)は、独立している可能性がある。PPSがVPSまたはLPSと同じシンタックス要素のうちの1つまたは複数を含むとき、PPSのシンタックス要素は、VPSまたはLPSのシンタックス要素を上書きし得る。
[0074]ビデオコーダは、すべてのパラメータセットを共にグルーピングするグルーピングパラメータセット(GPS)をコーディングするようにさらに構成され得る。ビデオコーダは、各々が個々のGPS識別子(id)を有するGPS内の複数の異なるグループをコーディングすることができる。GPS内のグループの各々は、パラメータセットの異なる組合せを含み得る。このように、スライスヘッダは、対応するGPS idへの参照のみを含む必要があり、パラメータセットのタイプの表示を含む必要はない。また、2012年1月25日に出願された米国仮特許出願第61/590,702号は、様々なタイプのパラメータセットが共にグルーピングされ、パラメータセットグルーピングのID RBSPのみがスライスヘッダにおいてシグナリングされる技法についてより詳細に記載する。
[0075]上記で説明したように、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、ビデオパラメータセットおよび/またはグルーピングパラメータセットをコーディングするように構成され得る。ビデオパラメータセットの例については図5を参照してより詳細に説明されるが、グルーピングパラメータセットの例については図6を参照してより詳細に説明される。
[0076]ビデオエンコーダ20は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダ中でビデオデコーダ30に送り得る。GOPシンタックスデータは、それぞれのGOP中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化/予測モードを示し得る。
[0077]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
[0078]図2は、ビデオデータの1つまたは複数のレイヤ用のパラメータセットおよびNALユニットをコーディングするための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
[0079]図2に示されるように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。モード選択ユニット40は、今度は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、区分ユニット48とを含む。ビデオブロックの復元のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。復元されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングする、デブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは一般に、加算器62の出力をフィルタリングすることになる。また、デブロッキングフィルタに加えて追加のフィルタ(ループ内またはループ後)が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタ処理し得る。
[0080]符号化プロセス中に、ビデオエンコーダ20はコーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的な予測を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対する受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は代替的に、空間的な予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
[0081]その上、区分ユニット48は、以前のコーディングパスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、区分ユニット48は、初めにフレームまたはスライスをLCUに区分し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット40は、さらに、LCUをサブCUに区分することを示す4分木データ構造を生成し得る。4分木のリーフノードCUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。
[0082]モード選択ユニット40は、たとえば、誤差結果に基づいて、コーディングモード、すなわち、イントラまたはインターのうちの1つを選択することができ、残差ブロックデータを生成するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器50に与え、参照フレームとして使用するための符号化されたブロックを復元するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器62に与える。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に与える。
[0083]動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム(または他のコード化ユニット)内でコーディングされている現在のブロックに対する参照フレーム(または他のコード化ユニット)内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対値差分和(SAD)、2乗差分和(SSD)、または他の差分尺度によって決定され得るピクセル差分に関して、コーディングされるブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0084]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUについての動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0085]動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット42はルーマ成分に対して動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0086]イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
[0087]たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
[0088]ブロック用のイントラ予測モードを選択した後、イントラ予測ユニット46は、ブロック用に選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット56に提供することができる。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ20は、(コードワードマッピングテーブルとも呼ばれる)複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブルと、様々なブロック用の符号化コンテキストの定義と、最も可能性のある(most probable)最確イントラ予測モードの指示とを含む送信されたビットストリーム構成データの中に、コンテキストの各々について使用する、イントラ予測モードインデックステーブルと修正されたイントラ予測モードインデックステーブルとを含めることができる。
[0089]ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって、残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。
[0090]いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
[0091]量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット56によるエントロピーコーディングの後、符号化ビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されるか、または後で送信するかもしくは取り出すためにアーカイブすることができる。
[0092]逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0093]ビデオエンコーダ20は、本開示の技法によれば、ビデオパラメータセット(VPS)、レイヤパラメータセット(LPS)、および/またはグルーピングパラメータセット、ならびに、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、適合パラメータセット(APS:adaptation parameter set)、または他のそのようなシグナリングデータ構造をコーディングするようにさらに構成され得る。より詳細には、エントロピー符号化ユニット56は、これらのデータ構造のいずれかまたはすべてをコーディングするように構成され得る。これらの様々なデータ構造のパラメータがコーディング性能に影響を及ぼし得る範囲で、モード選択ユニット40は、適切なパラメータを選択し、たとえばVPS内に含むためにエントロピー符号化ユニット56にパラメータを渡すことができる。時間レイヤの数、並べ替えられるピクチャの数、および復号ピクチャバッファに記憶されるピクチャの数などの他のパラメータは、ユーザ、たとえば管理者によって選択され得る。他の例では、HRDパラメータなどのいくつかのパラメータは、符号化プロセスを介して生じる可能性がある。
[0094]エントロピー符号化ユニット56は、本開示によって説明されるデータの様々なタイプのいずれかまたはすべてを含むようにVPSをコーディングすることができる。ビデオエンコーダ20は、VPSのパラメータに従ってデータを符号化することもできる。より詳細には、ビデオエンコーダ20は、VPSのパラメータに従ってVPSが対応するビデオデータの1つまたは複数のレイヤのうちのピクチャのシーケンスをコーディングすることができる。
[0095]このように、図2のビデオエンコーダ20は、各々がビデオパラメータセット(VPS)を参照する、ビデオデータの1つまたは複数のレイヤに関するVPSをコーディングし、VPSに少なくとも部分的に基づいてビデオデータの1つまたは複数のレイヤをコーディングするように構成されたビデオエンコーダの例を表す。
[0096]概してビデオエンコーダに関して説明されるが、VPSの符号化は、他のデバイス、たとえばメディアアウェア(media-aware)ネットワーク要素(MANE)によって実行され得る。MANEは、ソースデバイス(図1のソースデバイス12など)と宛先デバイス(宛先デバイス14など)との間のネットワーク要素に対応する。MANEは、本開示の技法に従ってVPSを符号化するように構成され得る。MANEは、MANEによって受信される他のデータ構造のデータ、たとえばシーケンスパラメータセットを使用してVPSを生成することができる。
[0097]図3は、ビデオデータの1つまたは複数のレイヤ用のパラメータセットおよびNALユニットをコーディングするための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャメモリ82と、加算器80とを含む。参照ピクチャメモリ82は、「復号ピクチャバッファ」またはDPBとも呼ばれ得る。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
[0098]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット72に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0099]ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコーディングされた(すなわち、B、PまたはGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストの1つの中の参照ピクチャの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ82に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
[0100]動き補償ユニット72は、動きベクトルと他のシンタックス要素とを解析する(parse)ことによって現在ビデオスライスのビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数についての構成情報と、スライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報と、を決定するために、受信されたシンタックス要素のいくつかを使用する。
[0101]動き補償ユニット72はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0102]逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、ビデオスライス中の各ビデオブロックについてビデオデコーダ30によって計算される量子化パラメータQPYを使用して量子化の程度を決定し、同様に、適用すべき逆量子化の程度を決定することを含み得る。逆変換ユニット78は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換処理を変換係数に適用して、ピクセル領域において残差ブロックを生成する。
[0103]動き補償ユニット72が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックを動き補償ユニット72によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するか、またはさもなければビデオ品質を改善するために、(コーディングループ内またはコーディングループ後の)他のループフィルタも使用され得る。所与のフレームまたはピクチャの復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ82に記憶される。参照ピクチャメモリ82はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のために、復号されたビデオを記憶する。
[0104]本開示の技法によれば、ビデオデコーダ30は、本開示の技法によれば、ビデオパラメータセット(VPS)、レイヤパラメータセット(LPS)、および/またはグルーピングパラメータセット、ならびに、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、適合パラメータセット(APS)、または他のそのようなシグナリングデータ構造を復号することができる。より詳細には、エントロピー復号ユニット70は、これらのデータ構造のいずれかまたはすべてを復号するように構成され得る。これらの様々なデータ構造を復号することによって、エントロピー復号ユニット70は、対応するビデオデータを復号するために使用されるパラメータを決定することができる。たとえば、ビデオデコーダ30は、復号されたVPSのパラメータを使用して1つまたは複数のレイヤのビデオデータの対応するシーケンスを復号することができる。
[0105]図3には示されないが、ビデオデコーダ30は、コーディングピクチャバッファ(CPB)をさらに含み得る。CPBは、通常、エントロピー復号ユニット70の前に与えられる。代替として、CPBは、一次記憶のためにエントロピー復号ユニット70に、または、エントロピー復号データを、そのようなデータが復号されるまで記憶するためにエントロピー復号ユニット70の出力部に、結合され得る。概して、CPBは、たとえばビデオデコーダ30が復号されたVPSから抽出し得るHRDパラメータによって示されるように、コード化ビデオデータが復号されるまでコード化ビデオデータを記憶する。同様に、ビデオデコーダ30の他の要素は、たとえばVPSを使用してビデオデータを復号するように構成され得る。たとえば、ビデオデコーダ30は、様々な時間レイヤのピクチャの時間識別子、参照ピクチャメモリ82(DPBを表す)で並べ替えられる、および/または、記憶されるピクチャの数を示すデータを復号し得る。
[0106]さらに、ビデオデコーダ30は、ビデオコーディング規格の拡張によって与えられる様々なコーディングツールに応じてビデオデータを処理するための追加の処理ユニットを含み得る。代替として、図3に示されるビデオデコーダ30の既存の要素は、そのような拡張されたコーディングツールを実行するように構成され得る。エントロピー復号ユニット70はVPS拡張データを復号し、拡張によって与えられるコーディングツールを実行するように構成されたユニットにそのような拡張データを与えるように構成され得る。
[0107]このように、図3のビデオデコーダ30は、ビデオデータの1つまたは複数のレイヤについてのビデオパラメータセット(VPS)をコーディングし、ここにおいて当該1つまたは複数のレイヤのそれぞれはVPSを参照し、当該VPSに少なくとも部分的に基づいてビデオデータの当該1つまたは複数のレイヤをコーディングするように構成されたビデオデコーダの例を表す。
[0108]概してビデオデコーダに関して説明されるが、VPSの復号は、他のデバイス、たとえばメディアアウェアネットワーク要素(MANE)によって実行され得る。MANEは、本開示の技法に従ってVPSを復号するように構成され得る。MANEは、VPSのデータを使用して、1つまたは複数のシーケンスパラメータセットなどの他のパラメータセットデータをさらに生成することができる。このように、MANEは、ITU−T H.264/AVCなどの以前の規格との下位互換性を与えることができる。
[0109]図4は、例示的なMVCの予測パターンを示す概念図である。マルチビュービデオコーディング(MVC)は、ITU−T H.264/AVCの拡張である。同様の技法が、HEVCに適用され得る。図4の例では、(ビューID「S0」〜「S7」を有する)8つのビューが示され、各ビューについて12個の時間ロケーション(「T0」〜「T11」)が示されている。すなわち、図4中の各行はビューに対応し、各列は時間ロケーションを示す。
[0110]図4に、マルチビュービデオコーディング用の典型的なMVC予測(各ビュー内のインターピクチャ予測とインタービュー予測の両方を含む)構造が示され、予測参照のために矢印の始点のオブジェクトを使用して矢印の終点のオブジェクトへの矢印によって予測が示される。MVCでは、ビュー間予測は視差動き補償によってサポートされ、視差動き補償は、H.264/AVC動き補償のシンタックスを使用することができるが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする。
[0111]2つのビューのコーディングは、MVCによってサポートされる可能性もあり、MVCの利点の1つは、MVCエンコーダが3Dビデオ入力として3つ以上のビューをとらえることができ、MVCデコーダがそのようなマルチビュー表現を復号することができることである。したがって、MVCデコーダを含む任意のレンダラは、3つ以上のビューを含む3Dビデオコンテンツを受信するように構成され得る。
[0112]MVCがH.264/AVCデコーダによって復号可能である、いわゆるベースビューを有し、また、ステレオビューペアがMVCによってサポートされ得るが、MVCの利点は、MVCが、3Dビデオ入力として2より多いビューを使用し、複数のビューによって表されるこの3Dビデオを復号する例をサポートすることができることである。MVCデコーダを有するクライアントのレンダラは、複数のビューを用いて3Dビデオコンテンツを予想し得る。
[0113]典型的なMVC復号順序は、タイムファーストコーディングと呼ばれる。アクセスユニットは、1つの出力時間インスタンスのためのすべてのビューのコーディングされたピクチャを含み得る。たとえば、時刻T0のピクチャの各々は、共通のアクセスユニットに含まれ得るが、時刻T1のピクチャの各々は、第2の共通のアクセスユニットに含まれ得る、など。復号順序は、出力または表示順序と必ずしも同一とは限らない。
[0114]図4中のフレームは、対応するフレームがイントラコーディングされる(すなわち、Iフレームである)のか、一方向に(すなわち、Pフレームとして)インターコーディングされるのか、複数の方向に(すなわち、Bフレームとして)インターコーディングされるのかを指定する、文字を含む影付きブロックを使用して、図4中の各行と各列との交差部において示されている。概して、予測は矢印によって示され、ここで矢印の終点のフレームは、予測参照のために矢印の始点のオブジェクトを使用する。たとえば、時間位置T0にあるビューS2のPフレームは、時間位置T0にあるビューS0のIフレームから予測される。
[0115]シングルビュービデオ符号化の場合と同様に、マルチビュービデオコーディングビデオシーケンスのフレームは、異なる時間ロケーションにおけるフレームに関して予測符号化され得る。たとえば、時間ロケーションT1におけるビューS0のbフレームは、時間ロケーションT0におけるビューS0のIフレームからそのbフレームに向けられた矢印を有し、その矢印は、bフレームがIフレームから予測されることを示す。しかしながら、さらに、マルチビュービデオ符号化のコンテキストにおいて、フレームは、ビュー間予測され得る。すなわち、ビュー成分は、参照のために他のビュー中のビュー成分を使用することができる。MVCでは、たとえば、別のビュー中のビュー成分がインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット(SPS)MVC拡張においてシグナリングされ、インター予測またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。
[0116]H.264/AVCのMVC拡張では、一例として、ビュー間予測は視差動き補償によってサポートされ、視差動き補償は、H.264/AVC動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする。2つのビューのコーディングは、MVCによってサポートされ得るが、概して、立体視ビューと呼ばれる。MVCの利点の1つは、MVCエンコーダが3Dビデオ入力として3つ以上のビューをとらえることができ、MVCデコーダがそのようなマルチビュー表現を復号することができることである。したがって、MVCデコーダを含む任意のレンダリングデバイスは、3つ以上のビューを含む3Dビデオコンテンツを予想し得る。
[0117]MVCでは、ビュー間予測(IVP)は、同じアクセスユニット(すなわち、同じ時間インスタンスを有する)内の画像間で可能になる。アクセスユニットは、概して共通の時間インスタンスのすべてのビュー成分(たとえば、すべてのNALユニット)を含むデータユニットである。したがって、MVCにおいて、ビュー間予測は、同じアクセスユニットにおけるピクチャ間で許可される。非ベースビューのうちの1つの中のピクチャをコーディングするとき、ピクチャが異なるビュー中にあるが同じ時間インスタンス(たとえば、同じPOC値、したがって同じアクセスユニットにおいて)を伴う場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間予測の参照ピクチャは、任意のインター予測の参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。
[0118]マルチビュービデオコーディングのコンテキストでは、2種類の動きベクトルが存在する。一方は、時間参照ピクチャを指す通常の動きベクトルであり、対応するインター予測モードは、動き補償予測(MCP:motion compensated prediction)と呼ばれる。他方は、異なるビュー内のピクチャを指す視差動きベクトルであり、対応するビュー間予測モードは、視差補償予測(DCP:disparity-compensation prediction)と呼ばれる。
[0119]従来のHEVCでは、動きパラメータの予測に関する2つのモードが存在し、一方はマージモードであり、他方は高度動きベクトル予測(AMVP:advanced motion vector prediction)である。マージモードでは、動きパラメータ(参照ピクチャおよび動きベクトル)の候補リストが構成され、候補は、空間隣接ブロックまたは時間隣接ブロックからであり得る。空間および時間隣接ブロックは、候補リスト、すなわち動き予測情報が選択され得る1組の候補を形成することができる。したがって、ビデオエンコーダ20は、インデックスを候補リストにコーディングによって動き予測情報として選択される動きパラメータをコーディングすることができる。ビデオデコーダ30がインデックスを復号した後、インデックスが指す対応するブロックのすべての動きパラメータは、マージモードにおいて継承され得る。
[0120]AMVP、したがって従来のHEVCでは、各動き仮定のための動きベクトル予測子の候補リストは、コーディングされた参照インデックスに基づいて導出される。このリストは、同じ参照インデックスと、時間参照ピクチャにおいてコロケートされたブロックの隣接ブロックの動きパラメータに基づいて導出される時間動きベクトル予測子とに関連する隣接ブロックの動きベクトルを含む。選択された動きベクトルは、インデックスを候補リストに送信することによってシグナリングされる。加えて、参照インデックス値および動きベクトル差分もシグナリングされる。
[0121]図4は、ビュー間予測の様々な例を提供する。図4の例では、ビューS1のフレームは、ビューS1の異なる時間ロケーションにおけるフレームから予測されるものとして、ならびに同じ時間ロケーションにおけるビューS0およびS2のフレームのうちのフレームからビュー間予測されるものとして示されている。たとえば、時間位置T1にあるビューS1のbフレームは、時間位置T0およびT2にあるビューS1のBフレームの各々、ならびに時間位置T1にあるビューS0およびビューS2のbフレームから予測される。
[0122]図4の例では、大文字の「B」および小文字の「b」は、異なる符号化方法ではなく、フレーム間の異なる階層関係を示すものとする。一般に、大文字の「B」フレームは、小文字の「b」フレームよりも予測階層が比較的高い。図4はまた、異なるレベルの陰影を使用して予測階層の変形形態を示し、より大きい量の陰影の(すなわち、比較的暗い)フレームは、より少ない陰影を有する(すなわち、比較的明るい)それらのフレームよりも予測階層が高い。たとえば、図4内のすべてのIフレームは完全陰影を用いて示されるが、Pフレームはいくぶん明るい陰影を有し、Bフレーム(および小文字のbフレーム)は、互いに対して様々なレベルの陰影を有するが、PフレームおよびIフレームの陰影よりも常に明るい。
[0123]概して、階層が比較的高いそれらのフレームが、階層が比較的低いフレームの復号中に参照フレームとして使用され得るように、予測階層が比較的高いフレームは、階層が比較的低いフレームを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセスユニット中のビュー成分の復号順序を示すインデックスである。H.264/AVC(MVC追補)の付属書類Hにおいて規定されているように、ビュー順序インデックスはSPS MVC拡張において暗示されている。SPSでは、各インデックスiについて、対応するview_idがシグナリングされる。いくつかの例では、ビュー成分の復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスは、0からnum_views_minus_1までの連続する順序になっている。
[0124]このように、参照フレームとして使用されるフレームは、その参照フレームを参照して符号化されたフレームを復号する前に復号され得る。ビュー順序インデックスは、アクセスユニット中のビュー成分の復号順序を示すインデックスである。各ビュー順序インデックスiについて、対応するview_idがシグナリングされる。ビュー成分の復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスのセットは、0からビューの全数よりも1少ない数までの連続的な順序付きセットを備え得る。
[0125]階層の等しいレベルにおけるいくつかのフレームの場合、復号順序は、互いに重要でないことがある。たとえば、時間ロケーションT0におけるビューS0のIフレームは、時間ロケーションT0におけるビューS2のPフレームのための参照フレームとして使用され、そのPフレームは今度は、時間ロケーションT0におけるビューS4のPフレームのための参照フレームとして使用される。したがって、時間ロケーションT0におけるビューS0のIフレームは、時間ロケーションT0におけるビューS2のPフレームの前に復号されるべきであり、そのPフレームは、時間ロケーションT0におけるビューS4のPフレームの前に復号されるべきである。しかしながら、ビューS1およびS3は、予測のために互いに依拠しないが、代わりに、予測階層がより高いビューからのみ予測されるので、ビューS1とS3との間で復号順序は重要でない。その上、ビューS1がビューS0およびS2の後に復号される限り、ビューS1はビューS4の前に復号され得る。
[0126]このように、ビューS0〜S7を記述するために階層順序が使用され得る。表記法SA>SBは、ビューSAがビューSBの前に復号されるべきであることを意味する。この表記法を使用すると、図4の例では、S0>S2>S4>S6>S7である。また、図4の例に関して、S0>S1、S2>S1、S2>S3、S4>S3、S4>S5、およびS6>S5である。これらの要件に違反しないビューのための任意の復号順序が可能である。したがって、いくつかの制限のみをもつ、多くの異なる復号順序が可能である。
[0127]本開示の技法によれば、ビューS0〜S7の各々は、対応するビットストリームのそれぞれのレイヤと見なされ得る。したがって、VPSは、ビューS0〜S7のいずれかまたはすべてに適用可能なビットストリームのパラメータについて記述することができるが、個々のレイヤパラメータセットは、ビューS0〜S7のいずれかまたはすべてに与えられ得る。加えて、グルーピングパラメータセットは、ビューS0〜S7の個々のピクチャ内のスライスがグルーピングパラメータセットの識別子を簡単に参照することができるように、パラメータセットのグループに与えられ得る。
[0128]図4に示すように、ビュー成分は、参照のために他のビュー中のビュー成分を使用することができる。これは、ビュー間予測と呼ばれる。MVCでは、別のビュー中のビュー成分がインター予測の参照であるかのように、ビュー間予測が実現される。ビデオエンコーダ20およびビデオデコーダ30は、(表1の例に示すように)シーケンスパラメータセット(SPS)MVC拡張における潜在的ビュー間参照値をコーディングすることができる。ビデオエンコーダ20およびビデオデコーダ30は、参照ピクチャリスト構成プロセスを実行することによって潜在的ビュー間参照値をさらに変更することができ,これは、インター予測またはビュー間予測参照値のフレキシブルな順序付けを可能にし得る。
[0129]表1に示すSPSのMVC拡張では、ビューごとに、参照ピクチャリスト0と参照ピクチャリスト1とを形成するために使用され得るビューの数をシグナリングされる。SPSのMVC拡張でシグナリングされたアンカーピクチャ用の予測関係は、同じビューの(SPSのMVC拡張でシグナリングされた)非アンカーピクチャ用の予測関係とは異なる場合がある。
[0130]ビデオコーディング規格には、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、ならびに、そのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)の拡張を含む(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264が含まれる。
[0131]加えて、ITU−T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT−VC)によって開発されている新しいビデオコーディング規格、すなわち高効率ビデオコーディング(HEVC)が存在する。以下でHEVC WD4と呼ぶ、HEVCの最近のワーキングドラフト(WD)は、HEVC WD4d1として示されたhttp://phenix.int−evry.fr/jct/doc_end_user/documents/6_Torino/wg11/JCTVC−F803-v3.zipから入手可能である。
[0132]シーケンスおよびピクチャパラメータセット機構は、コーディングブロックデータの送信から、まれに変化する情報の送信を分離する。シーケンスおよびピクチャパラメータセットは、適用例によっては、信頼性の高い伝達機構を使用して「帯域外で」伝達され得る。ピクチャパラメータセットローバイトシーケンスペイロード(RBSP)は、1つまたは複数のコーディングピクチャのコーディングスライスネットワークアブストラクションレイヤ(NAL)ユニットによって参照され得るパラメータを含み得る。シーケンスパラメータセットRBSPは、1つまたは複数のピクチャパラメータセットRBSP、またはバッファリング期間補足エンハンスメント情報(SEI)メッセージを含む1つまたは複数のSEI NALユニットによって参照され得るパラメータを含み得る。シーケンスパラメータセットRBSPは、1つまたは複数のピクチャパラメータセットRBSP、またはバッファリング期間SEIメッセージを含む1つまたは複数のSEI NALユニットによって参照され得るパラメータを含み得る。
[0133]シーケンスパラメータセットは、ビデオユーザビリティ情報(VUI)と呼ばれるオプションのパラメータのセットを含み得る。VUIは、次の3つのカテゴリーのオプションの情報、すなわちビデオ表示情報、仮想参照デコーダ(HRD)情報、およびビットストリーム制限情報を含み得る。ビデオ表示情報としては、アスペクト比、ルーマに対する色空間変換関連情報クロマ位相シフト、およびフレームレートがある。HRDは、コード化ビデオシーケンスについてのビデオバッファリングパラメータを含む。ビットストリーム制限情報は、動きベクトル範囲と、復号ピクチャバッファ(DPB)サイズと、並べ替えられるフレームの数と、ブロック(たとえばマクロブロックまたはコーディングユニット(CU))およびピクチャのコード化サイズとに関する制限を含む。
[0134]HEVC WD5は、サポート適合パラメータセット(APS)を含む。適合パラメータセット(APS)の概念は、http://phenix.int−evry.fr/jct/doc_end_user/documents/6_Torino/wg11/JCTVC−F747-v4.zipから入手可能なJCTVC−F747において見出すこともできる。
[0135]統合されたNALユニットヘッダは、HEVCの非スケーラブルビットストリームと、HEVCの潜在的なスケーラブル拡張またはマルチビュー拡張に準拠するスケーラブルビットストリームの両方に関して使用され得る。統合されたNALユニットヘッダは次の態様において現在のHEVC NALユニットヘッダとは異なる可能性があり、すなわち、1つのコード化ビデオシーケンス全体について固定のNALユニットヘッダ長が存在し得、その長さが異なるコード化ビデオシーケンスにわたって変化する間、NALユニットヘッダ内のスケーラビリティシンタックス要素の効率的なコーディングを可能にし、特定のシンタックス要素が必要とされない場合、それは存在する必要がない。そのような設計では、異なるNALユニットタイプまたはパラメータセットは、ビットストリーム全体に関して使用され得る。
[0136]図5は、ビデオパラメータセット(VPS)および様々なレイヤパラメータセット(LPS)を示す概念図である。図5の第2のLPSに続く円は、任意の数NnoVPSが存在し得ることを示す意図であり、ここでNは整数である。たとえば、各レイヤ(たとえば、各SVCレイヤまたは各MVCビュー)は、対応するLPSを有し得る。ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、たとえば図5に示すような、VPSおよび1つまたは複数のLPSをコーディングするように構成され得る。
[0137]以下の表2は、VPSの例示的なローバイトシーケンスペイロード(RBPS)シンタックスを与える。
[0138]ビデオコーダは、コード化ビデオシーケンス(たとえば、1つまたは複数のレイヤを含むビットストリーム)が1つのアクティブなビデオパラメータセット(VPS)のみを有することができるように設定され得る。VPSは、特定のタイプのNALユニット内にカプセル化され得る。たとえば、VPS RBSPについてのnal_unit_typeは10であり得る。表2のVPSの例示的なセマンティクスが、以下で説明される。
[0139]この例では、video_para_set_idは、対応するビデオパラメータセット(VPS)を識別する。
[0140]この例では、cnt_pは、対応するコード化ビデオシーケンス中に存在するpriority_id値の最大数を指定する。
[0141]この例では、cnt_dは、対応するコード化ビデオシーケンス中に存在する従属レイヤの最大数を指定する。同じ解像度を有する複数のビューは、同じ従属レイヤに属するものと見なされ得る。2つの従属レイヤは、同じ空間解像度を有し得る。
[0142]この例では、cnt_tは、コード化ビデオシーケンス中に存在する時間レイヤの最大数を指定する。
[0143]この例では、cnt_qは、コード化ビデオシーケンス中の従属レイヤ中に存在する品質レイヤの最大数を指定する。
[0144]この例では、cnt_vは、コード化ビデオシーケンス中に存在するビューの最大数を指定する。
[0145]この例では、cnt_fは、NALユニットヘッダ中のreserved_flagsシンタックス要素を表すために使用されるビットの数を指定する。
[0146]この例では、pic_width_in_luma_samples[i]およびpic_height_in_luma_samples[i]は、それぞれ、ルーマサンプルの単位のi番目の従属レイヤの幅および高さの解像度を指定する。
[0147]この例では、bit_depth_luma_minus8[i]plus8およびbit_depth_chroma_minus8[i]plus8は、i番目のビット深度表示のルーマ成分およびクロマ成分のビット深度を指定する。
[0148]この例では、chroma_format_idc[i]は、i番目のクロマサンプルフォーマット表示のクロマサンプルフォーマットを指定する。たとえば、0に等しい値は4:2:0を示し、1に等しい値は4:4:4を示し、2に等しい値は4:2:2を示し、3に等しい値は4:0:0を示し得る。
[0149]この例では、average_frame_rate[i]は、256秒当りのフレームの単位で、i番目の時間レイヤ表現の平均フレームレートを指定する。
[0150]この例では、view_id[i]は、iに等しいビュー順序インデックスを有する、i番目のビューのビュー識別子を指定する。存在しないとき、view_id[0]の値は、0であると推測され得る。0に等しいvps_extension_flagは、vps_extension_data_flagシンタックス要素がビデオパラメータセットRBSPシンタックス構造中に存在しないことを指定する。vps_extension_flagは、今度のHEVC規格に従うビットストリーム中で0に等しくなり得る。vps_extension_flagの1という値は、たとえば、ITU−T|ISO/IECによる将来の使用のために予約され得る。ビデオデコーダ30などのデコーダは、ビデオパラメータセットNALユニット中のvps_extension_flagの値1に続くすべてのデータを無視し得る。
[0151]この例では、vps_extension_data_flagは、任意の値を有し得る。それは、今度のHEVC規格に規定されるプロファイルへの準拠に影響を及ぼさないが、今度の規格のさらなる発展を可能にする。
[0152]VPS中の他のシンタックス要素は、現在のHEVCワーキングドラフトのSPSにおける同じ名前を有するシンタックス要素と同じセマンティクスを有し得る。これらのシンタックス要素は、下位レベルのパラメータセットによって上書きされなければ、このVPSを参照するコード化ビデオシーケンスに適用し得る。
[0153]いくつかの例では、3DV_flagは、深さがコード化ビデオシーケンスに存在するかどうかを示すためにVPSにおいてさらにシグナリングされ得る。
[0154]いくつかの例では、VUIパラメータは、LPSにおいてシグナリングされる。
[0155]いくつかの例では、シンタックス要素cnt_p、cnt_t、cnt_d、cnt_q、およびcnt_vは、priority_id、temporal_id、dependency_id、quality_id、およびview_idxをそれぞれコーディングするために使用されるビットの数を指定し、コード化ビデオシーケンス中に存在する、priority_id値、時間レイヤ、従属レイヤ、品質レイヤ、およびビューの最大数もVPSにおいてシグナリングされ得る。
[0156]いくつかの例では、別のタイプのNALユニットは、シンタックス要素cnt_p、cnt_t、cnt_d、cnt_q、cnt_v、およびcnt_fを含むように導かれ得る。この新規のNALユニットタイプは識別子(ID)を含み得、IDは、VPSにおいて参照され得る。
[0157]いくつかの例では、表2のlog2_max_pic_order_cnt_1sb_minus4からinter_4×4_enabled_flagまでのシンタックス要素は、VPSにおいてシグナリングされないが、代わりに、ビデオエンコーダ20およびビデオデコーダ30は、LPSにおいてこれらのシンタックス要素をコーディングすることができる。
[0158]いくつかの例では、表2のoperation_point_description()シンタックス構造は、VPSに含まれず、代わりに、ビデオエンコーダ20およびビデオデコーダ30または他の要素(たとえば出力インターフェース22および/または入力インターフェース28)は、補足エンハンスメント情報(SEI)メッセージ中のoperation_point_description()シンタックス構造中のコンテンツをコーディングし得る。
[0159]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、VPS中のビデオユーザビリティ情報(VUI)パラメータをコーディングし得る。たとえば、VPSは、動きベクトル範囲と、DPBサイズと、並べ替えられるフレームの数と、ブロック(たとえば、マクロブロックまたはCU)およびピクチャのコード化サイズとに関する制限などの、ビットストリーム制限情報を指定するデータを含み得る。このように、VPSは、ビデオデコーダ(ビデオデコーダ30など)が、対応するビットストリーム、すなわちVPSを含むビットストリームを適切に復号するために、必要なDPBサイズを示す情報を指定し得る。同様に、VPSは、ピクチャ並べ替え情報、すなわち復号順序で所与のピクチャに先行し得、出力順序(すなわち、表示順序)で当該所与のピクチャに続くピクチャの数を指定し得る。
[0160]追加または代替として、VPSは、仮想参照デコーダ(HRD)情報を指定するデータを含み得る。上述のように、ビデオエンコーダ20および/またはビデオデコーダ30は、VPS中のHRD情報を含み得るVUIパラメータをコーディング(すなわち、シグナリング)することができる。したがって、VPSは、たとえば対応するビットストリームのオペレーションポイントについて記述するデータを含み得る。たとえば、VPSは、最大オペレーションポイント数、異なるレイヤ間またはビュー間の依存性、各オペレーションポイントについてのプロファイルおよびレベル情報、各オペレーションポイントについてのオペレーションポイントVCL NALユニット表示、各オペレーションポイントにおけるビットレート、オペレーションポイント間の依存性、各オペレーションポイントにおける制限、各オペレーションポイントにおけるVUIもしくは部分的VUI、および/または各レイヤもしくはビューにおけるVUIもしくは部分的VUIのうちの1つまたは複数について記述するデータを含み得る。
[0161]VPSは、各次元に関して、特定のインデックス値、インデックス値の範囲、またはインデックス値のリストを含み得る。たとえば、VPSが特定のインデックス値について記述するデータを含むとき、インデックス値は、空間解像度について、クロマサンプリングフォーマットのビット深度に対応し得る。別の例として、VPSが時間レイヤについてインデックス値の範囲を含むとき、その範囲は、ゼロ(0)から最上時間レイヤIDまでを備え、品質レイヤについては、その範囲は、ゼロ(0)から最上品質レイヤIDまでを備え得る。さらに別の例として、VPSがインデックス値のリストについて記述するデータを含むとき、そのリストは複数のビューに関するビューインデックス値のリストを備え得る。
[0162]いくつかの例では、ビデオエンコーダ20は、1つまたは複数の表示(representation)フォーマットパラメータ(幅、高さ、ビット深度など)を符号化(すなわち、シグナリング)し、ビデオデコーダは、1つまたは複数の表示フォーマットパラメータを復号し、表示フォーマットパラメータの様々なセットが存在し得る。レイヤまたはオペレーションポイントは、次いで、表示フォーマットパラメータのそのようなセットのインデックスを参照し得る。そのようなセットのシンタックス設計の例は、以下の表3に示される。
[0163]いくつかの例では、ref_format_idxは、代わりに、レイヤパラメータセット内でシグナリングされ得る。
[0164]以下の表4は、オペレーションポイント記述に関する例示的なシンタックスを与える。
[0165]表4の様々なシンタックス要素のセマンティクスの例について、以下で説明する。
[0166]この例では、num_operation_point_minus1_plus1は、コード化ビデオシーケンス中に存在するオペレーションポイントの最大数を指定し、そのオペレーションポイントについて、オペレーションポイント情報が次のシンタックス要素によってシグナリングされる。
[0167]この例では、op_profile_level_idc[i]、operation_point_id[i]、priority_id[i]、num_target_output_views_minus1[i]、frm_rate_info_present_flag[i]、avg_bitrate[i]、max_bitrate[i]、max_bitrate_calc_window[i]、constant_frm_rate_idc[i]、およびnum_directly_dependent_views[i]は、H.264のビュースケーラビリティ情報SEIメッセージ中の同じ名前を有するシンタックス要素と同じセマンティクスを有し得る。
[0168]この例では、quality_id[i]およびdependency_id[i]は、H.264のスケーラビリティ情報SEIメッセージ中の同じ名前を有するシンタックス要素と同じセマンティクスを有し得る。
[0169]この例では、directly_dependent_view_idx[i][j]は、現在のオペレーションポイントのターゲット出力ビューが現在のオペレーションポイントの表示内で直接依存するj番目のビューのビューインデックスを指定する。
[0170]この例では、num_ref_views[i]は、iに等しいビュー順序インデックスを有するビュー成分を復号する際の最初の参照ピクチャリストRefPicList0およびRefPicList1におけるビュー間予測のためにビュー成分の数を指定する。この例では、num_ref_views[i]の値は、Min(15,num_views_minus1)よりも大きくなるべきでない。いくつかの例では、num_ref_views[0]の値は0に等しい。
[0171]この例では、ref_view_idx[i][j]は、iに等しいビュー順序インデックスを有するビュー成分を復号する際の最初の参照ピクチャリストRefPicList0およびRefPicList1におけるビュー間予測のためにj番目のビュー成分のビュー順序インデックスを指定する。この例では、ref_view_idx[i][j]の値は、両端値を含む0〜31の範囲内であるべきである。
[0172]いくつかの例では、代替として、(H.264に記述された)スケーラビリティ情報SEIメッセージにおけるシンタックス要素のいくつか、たとえば、レイヤ従属情報関連シンタックス要素は、表4のoperation_points_description()シンタックス構造に含まれ得る。
[0173]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、表4のoperation_points_description()シンタックス構造中のいくつかのVUIパラメータをコーディング(すなわち、シグナリング)し得る。
[0174]以下の表5は、ビデオパラメータセットのための代わりのシンタックスを与える。
[0175]表5のビデオパラメータセットのシンタックスに関するセマンティクスの例について、以下で説明する。概して、以下で説明しない同様の名前のシンタックス要素は、表2に関する上述のものと同じセマンティクスを有し得る。他のシンタックス要素に関するセマンティクスは、次のようになり得る。
[0176]この例では、bit_equal_to_oneは、1(すなわちバイナリ「1」値)に等しい。
[0177]この例では、0に等しいextention_typeは、複数のビューレイヤがビットストリーム中に存在し得ることを示す。この例では、1に等しいextention_typeは、複数の従属レイヤおよび/または品質レイヤがビットストリーム中に存在し得ることを指定する。
[0178]この例では、num_rep_format_minus1plus1は、このビデオパラメータセットによってサポートされる表示フォーマットの異なるセットの最大数を指定し、表示フォーマットには、ビット深度およびクロマフォーマット(すなわち、bit_depth_luma_minus8、bit_depth_chroma_minus8、およびchroma_format_idc値のセット)、ピクチャ解像度、およびコード化ビデオシーケンスにおけるクロッピングウィンドウ情報を含む。num_rep_formats_minus1の値は、両端値を含む0〜Xの範囲内であり得る。ビデオエンコーダ20およびビデオデコーダ30は、bit_depth_luma_minus8、bit_depth_chroma_minus8、およびchroma_format_idcによってベースレイヤについてのビット深度およびクロマフォーマットのセットをコーディングし、ビット深度およびクロマフォーマットのセットは、シンタックス要素の次のセット、bit_depth_luma_minus8[i]、bit_depth_chroma_minus8[i]、およびchroma_format_idc[i]によってエンハンスメントレイヤについてシグナリングされる。
[0179]ビデオエンコーダ20およびビデオデコーダ30は、bit_depth_luma_minus8、bit_depth_chroma_minus8、chroma_format_idc、pic_width_in_luma_samples、pic_height_in_luma_samples、pic_cropping_flag、pic_crop_left_offset、pic_crop_right_offset、pic_crop_top_offset、およびpic_crop_bottom_offsetによって表示フォーマットの第1のセットをコーディングし得る。
[0180]この例では、bit_depth_luma_minus8[i]、bit_depth_chroma_minus8[i]、およびchroma_format_idc[i]は、それぞれ、コード化ビデオシーケンスにおけるbit_depth_luma_minus8、bit_depth_chroma_minus8、およびchroma_format_idc値のi番目のセットを指定する。
[0181]この例では、pic_width_in_luma_samples[i]およびpic_height_in_luma_samples[i]は、それぞれ、i番目の表示フォーマットを使用してルーマサンプルの単位で各復号ピクチャの幅および高さを指定する。
[0182]この例では、pic_cropping_flag[i]、pic_crop_left_offset[i]、pic_crop_right_offset[i]、pic_crop_top_offset[i]、およびpic_crop_bottom_offset[i]は、表示フォーマットのi番目のセットについて、出力用のピクチャ座標において指定される矩形領域の観点から、復号プロセスから出力されるコード化ビデオシーケンスにおけるピクチャのサンプルを指定する。
[0183]この例では、rep_format_idx[i]は、iに等しいlayer_idをもつレイヤに適用する、追加のビット深度およびクロマフォーマットのセットにインデックス値を指定する。iに等しいlayer_idをもつレイヤについてのbit_depth_luma_minus8、bit_depth_chroma_minus8、およびchroma_format_idcの値は、bit_depth_luma_minus8[rep_format_idx[i]]、bit_depth_chroma_minus8[rep_format_idx[i]]、およびchroma_format_idc[rep_format_idx[i]]にそれぞれ等しい。rep_format_idx[i]の値は、両端値を含む0〜Xの範囲内にあるべきである。
[0184]この例では、dependency_id[i]は、iに等しいlayer_idをもつレイヤについて従属識別子を指定する。dependency_id[i]は、両端値を含む0〜Xの範囲内であり得る。dependency_id[i]は、存在しないとき、0であると推測され得る。num_directly_dependent_layers[i]が0よりも大きいとき、dependency_id[i]は、iに等しいlayer_idをもつレイヤが依存する任意のレイヤの従属識別子に等しいかまたはそれよりも大きい。
[0185]この例では、quality_id[i]は、iに等しいlayer_idをもつレイヤに品質識別子を指定する。quality_id[i]は、両端値を含む0〜Xの範囲内であり得る。quality_id[i]は、存在しないとき、0であると推測され得る。num_directly_dependent_layers[i]が0よりも大きいとき、quality_id[i]は、iに等しいlayer_idをもつレイヤが依存し、dependency_id[i]に等しい従属識別子を有する、任意のレイヤの品質識別子に等しいかまたはそれよりも大きい。
[0186]この例では、num_short_term_ref_pic_setsは、ビデオパラメータセットにおいて指定される短期参照ピクチャセットの数を指定する。num_short_term_ref_pic_setsの値は、両端値を含む0〜64の範囲内であり得る。
[0187]この例では、1に等しいdepth_included_flagは、現在の3DVオペレーションポイントが深度を含むことを示す。この例では、0に等しいdepth_included_flagは、現在の3DVオペレーションポイントが深度を含まないことを示す。
[0188]表5のビュー従属要素についての例示的なシンタックスが、以下の表6に与えられる。
[0189]以下の表7は、各非ベースビューのビュー従属性がシーケンスレベルにおいて直接シグナリングされるデータの例示的なセットを定義する。
[0190]この例では、num_ref_views[i]は、iに等しいビュー順序インデックスを有するビュー成分を復号する際の最初の参照ピクチャリストRefPicList0およびRefPicList1におけるビュー間予測のためにビュー成分の数を指定する。この例では、num_ref_views[i]の値は、Min(15,num_views_minus1)よりも大きくない。この例では、num_ref_views[0]の値は0に等しい。
[0191]この例では、ref_view_idx[i][j]は、iに等しいビュー順序インデックスを有するビュー成分を復号する際の最初の参照ピクチャリストRefPicList0およびRefPicList1におけるビュー間予測のためにj番目のビュー成分のビュー順序インデックスを指定する。この例では、ref_view_idx[i][j]の値は、両端値を含む0〜31の範囲内である。
[0192]上述のように、特定のタイプのNALユニット(たとえば、NALユニットタイプ10)は、ビデオパラメータセットをカプセル化するために使用され得る。NALユニットシンタックスは、以下の表8の例に示すように変更され得る。
[0193]この例では、従来のNALユニットシンタックスに対して、「if(nal_unit_type!=10)」ステートメント内の要素が加えられる。この例では、シンタックス要素priority_id、temporal_id、dependency_id、quality_id、およびview_idxをシグナリングするのに使用されるビットの数は、それぞれ、Ceil(log2(cnt_p))、Ceil(log2(cnt_t))、Ceil(log2(cnt_d))、Ceil(log2(cnt_q))、およびCeil(log2(cnt_v))である。同様に、この例では、シンタックス要素priority_id、temporal_id、dependency_id、quality_id、およびview_idxのうちのいずれかが存在しないとき、そのシンタックス要素の値は、0に等しいものと推測される。
[0194]ビットの数および引き出され得る推測に関して上記で定義したものを除いて、表8のシンタックス要素に関するセマンティクスは、次のように定義され得る。priority_id、dependency_id、およびquality_idのセマンティクスは、ITU−T H.264/AVCのSVC拡張において定義され得る。temporal_idのセマンティクスは、HEVCのWD4において定義され得る。この例では、reserved_one_bitは、1に等しい。reserved_one_bitの値0は、HEVC規格の将来の拡張によって規定され得る。ビデオデコーダ30などのデコーダは、reserved_one_bitの値を無視するように構成され得る。
[0195]この例では、view_idxは、ビューのビュー順序インデックスを指定する。view_idxのセマンティクスはITU−T H.264/AVCのMVC拡張において規定されているシンタックス要素「ビュー順序インデックス」と同じであり得る。
[0196]この例では、reserved_flagsの各ビットは1に等しい。reserved_flagsの他の値は、今度のHEVC規格の将来の拡張によって規定され得る。ビデオデコーダ30などのデコーダは、セマンティクスをreserved_flagsのビットに割り当てる拡張に従って動作するように構成されなければ、reserved_flagsの値を無視するように構成され得る。この例では、reserved_flagsを表すのに使用されるビットの数は、reserved_flags_lenである。
[0197]この例では、reserved_bitsの各ビットは1に等しい。reserved_bitsの他の値は、今度のHEVC規格の将来の拡張によって規定され得る。ビデオデコーダ30などのデコーダは、ここでも、そのような将来の拡張に従って構成されなければ、reserved_bitsの値を無視するように構成され得る。reserved_bitsを表すのに使用されるビットの数は、この例では、((m+7>>3)<<3)−mである。
[0198]以下の表9は、レイヤパラメータセットに関する例示的なシンタックスを与える。同じシンタックスは、いくつかの例では、図5のLPSの各々に関して使用され得る。
[0199]表9のLPSシンタックスに関するセマンティクスの例について、以下で説明する。異なるレイヤ(たとえば、MVCにおける異なるビューまたはSVCにおける異なるレイヤ)は、異なるLPSを参照する。同じ従属レイヤにおける異なる品質レイヤは、同じLPSを共有し得る。同じ従属レイヤにおける異なる時間レイヤは、同じLPSを共有し得る。代替として、異なるビューは同じLPSを参照し、異なる従属レイヤは同じLPSを参照し得る。
[0200]この例では、1に等しいdepth_flagは、LPSがLPS NALユニットのtemporal_id、dependency_id、quality_id、およびview_idxの値によって識別される深度表示に適用されることを指定する。0に等しいdepth_flagは、LPSがLPS NALユニットのtemporal_id、dependency_id、quality_id、およびview_idxの値によって識別されるテクスチャ表示に適用されることを指定する。
[0201]この例では、layer_para_set_idは、現在のレイヤパラメータセット(LPS)のidを指定する。dependency_idおよびview_idxの値と同じ値をもつ異なるレイヤパラメータセットは、それぞれ、layer_para_set_idについての1つの値空間を共有するが、それは、dependency_idとview_idxの異なる組合せを有する異なるLPSがlayer_para_set_idの同じ値を有し得ることを意味する。
[0202]代替として、すべてのLPSは1つの値空間を共有し得るが、それは、各LPSがlayer_para_set_idの固有の値を有することを意味する。
[0203]この例では、vps_idは、このレイヤパラメータセットが参照するビデオパラメータセットを識別する。
[0204]この例では、0に等しいlps_extension_flagは、lps_extension_data_flagシンタックス要素がレイヤパラメータセットRBSPシンタックス構造中に存在しないことを指定する。この例では、lps_extension_flagは、今度のHEVC規格に従うと、ビットストリーム中で0に等しくなり得る。lps_extension_flagの1という値は、ITU−T|ISO/IECによる将来の使用のために予約される。ビデオデコーダ30などのデコーダは、レイヤパラメータセットNALユニット中のlps_extension_flagの値1に続くすべてのデータを無視し得る。
[0205]この例では、lps_extension_data_flagは、任意の値を有し得、今度のHEVC規格において規定されるプロファイルへの準拠に影響を及ぼさない。
[0206]他のシンタックス要素は、HEVC WDのSPSにおける名前と同じ名前を有するシンタックス要素と同じセマンティクスを有し得るが、このLPSを参照するピクチャのみに適用される。
[0207]LPSは、NALユニットに含まれ得、NALユニットのヘッダは、上記の表8に従って定義され得る。次のシンタックス要素は、LPSに関連するとき、次のわずかに変更されたセマンティクスを有する。
[0208]この例では、priority_idは、このLPSを参照するすべてのNALユニットのpriority_id値の最小値に等しい。
[0209]この例では、temporal_idは、このLPSを参照するすべてのNALユニットのtemporal_idの最小値に等しい。
[0210]この例では、dependency_idは、このLPSを参照するすべてのNALユニットのdependency_idに等しい。
[0211]この例では、quality_idは、このLPSを参照するすべてのNALユニットのquality_idの最小値に等しい。
[0212]この例では、v_idxは、現在のLPSのビューインデックスである。このLPSを参照するすべてのピクチャは、view_id[v_idx]のビューidを有し得る。
[0213]代替として、上記のシンタックス要素は、表10の例に示すように、レイヤパラメータセットシンタックステーブル内で直接シグナリングされ得る。より詳細なシンタックステーブルは、以下の表9に従って設計され得る。この場合、これらのシンタックス要素は、LPSのNALユニットヘッダ中になく、LPSのパーシングは、vps_idに等しいIDを有するVPSに依存する可能性がある。
[0214]この場合のLPSは、上記のシンタックス要素を複製するNALユニットヘッダを有する必要がない。LPSをカプセル化するNALユニットのNALユニットタイプがたとえば5であると仮定すると、NALユニットヘッダシンタックスは、表11に示すように、わずかに変更され得、表8の「if」ステートメント中に例外(exception)「&& nal_unit_type!=5」を追加する。
[0215]他の例では、ビデオエンコーダ20およびビデオデコーダ30は、以下の表12の例に示すように、固定長コーディングを使用してスケーラブル特性関連シンタックス要素をコーディングし得る。
[0216]表13は、本開示の技法による、ピクチャパラメータセット(PPS)のシンタックスの例を与える。この例では、ピクチャパラメータセットは、従来のHEVCのPPSに反して、「seq_parameter_set_id」をシグナリングする必要がない。
[0217]表13のPPSに関するセマンティクスの例について、以下で説明する。
[0218]この例では、0に等しいpps_extension_flagは、pps_extension_flagシンタックス要素がピクチャパラメータセットRBSPシンタックス構造中に存在しないことを指定する。この例では、pps_extension_flagは、今度のHEVC規格に従うビットストリーム中で0に等しい。pps_extension_flagの1という値は、ITU−T|ISO/IECによる将来の使用のために予約され得る。ビデオデコーダ30などのデコーダは、ピクチャパラメータセットNALユニット中のpps_extension_flagの値1に続くすべてのデータを無視し得る。
[0219]この例では、pps_extension_data_flagは、任意の値を有し得る。それは、今度のHEVC規格に規定されるプロファイルへの準拠に必ずしも影響を及ぼさない。pps_extension_data_flagの値に関するセマンティクスは、HEVC規格のさらなる発展またはその規格の拡張において、本開示の技法と相反することなく割り当てられ得る。
[0220]本開示の技法では、シーケンスパラメータセットidまたはレイヤパラメータセットidは、PPSにおいてシグナリングされる必要がない。PPS中のいくつかの他のシンタックス要素は、LPSに移動され得る。すなわち、ビデオエンコーダ20および/またはビデオデコーダ30は、表13に示すシンタックス要素と同様のデータを含む1つまたは複数のLPSをコーディングするように構成され得る。
[0221]図6は、例示的なグルーピングパラメータセット(GPS)と、GPSと他のパラメータセットおよびスライスヘッダとの関係を示す概念図である。この例では、他のパラメータセットは、LPS、SPS、PPS、タイプ0の適合パラメータセット(APS)(たとえば、APSシグナリング適合ループフィルタ(ALF)パラメータ)、タイプ1のAPS(たとえば、APSシグナリング量子化行列)、および他のパラメータセットを含む。この例では、GPSは、各々が固有のGPS ID(グループIDとも呼ばれる)を有する、複数の異なるグループを含み、各グループは、パラメータセットIDによって様々なパラメータセットの各々の特定の1つを示す。このように、スライスヘッダは、group_idを有するグループに対応するパラメータセットの各々を指定するために、そのgroup_idだけを指定する必要がある。
[0222]以下の表14および表15は、グルーピングパラメータセットRBSPに関するシンタックスの代替例を与える。
[0223]ビデオエンコーダ20およびビデオデコーダ30などのビデオコーダは、たとえば表14または表15に従って、グルーピングパラメータセットをコーディングするように構成され得る。グルーピングパラメータセットのシンタックスに関するセマンティクスの例が、以下に与えられる。
[0224]この例では、number_signalled_para_set_groups_minus1plus1は、シグナリングされるパラメータグループの数を指定する。この値は、両端値を含む0〜30の範囲内であり得る。
[0225]この例では、para_set_group_id[i]は、i番目のシグナリングされたパラメータセットグループのIDを指定する。para_set_group_id[i]の値は、両端値を含む0〜31の範囲内にあるべきである。
[0226]この例では、para_set_type_id[i][j]は、i番目のパラメータセットグループについてのj番目のパラメータセットタイプのIDを指定する。
[0227]この例では、lps_id[i]は、para_set_group_id[i]のグループidを有するパラメータセットグループによって参照されるレイヤパラメータセットのidを示す。lps_id[i]に等しいlayer_para_set_idを有するLPSのdependency_idおよびview_idxの値は、それぞれ、パラメータセットグループNALユニットのdependency_idおよびview_idxの値と同一であり得る。
[0228]パラメータセットグルーピングRBSPのdependency_idおよびview_idxの値は、表14および表15の例における、このRBSPのNALユニットヘッダ中に存在し、LPSのdependency_idおよびview_idxの値は、このLPSのNALユニットヘッダ中またはLPSのシンタックステーブル中のいずれかに存在し得る。
[0229]代替的に、lps_id[i]に等しいlayer_para_set_idを有するLPSのdependency_idおよびview_idxの値は、それぞれ、パラメータセットグループNALユニットのdependency_idおよびview_idxの値と同一でない。
[0230]この例では、pps_id[i]は、para_set_group_id[i]のグループidを有するパラメータセットグループによって参照されるピクチャパラメータセットのidを示す。
[0231]この例では、aps_id[i]は、para_set_group_id[i]のグループidを有するパラメータセットグループによって参照される適合パラメータセットのidを示す。
[0232]この例では、0に等しいgps_extension_flagは、gps_extension_data_flagシンタックス要素がパラメータセットグルーピングRBSPシンタックス構造中に存在しないことを指定する。gps_extension_flagは、今度のHEVC規格に従うビットストリーム中で0に等しい。gps_extension_flagの1という値は、ITU−T|ISO/IECによる将来の使用のために予約され得る。ビデオデコーダ30などのデコーダは、パラメータセットグルーピングNALユニット中のgps_extension_flagの値1に続くすべてのデータを無視し得る。概して、gps_extension_data_flagは任意の値を有し得る。それは、今度のHEVC規格に規定されるプロファイルへの準拠に影響を及ぼす必要がない。
[0233]いくつかの例では、para_set_type_id[i][j]は、代わりに、上述のaps_id[i]と同様のセマンティクスを有するaps_id[i][j]であり得る。
[0234]図6に示すように、本開示の技法によれば、スライスヘッダ中のピクチャパラメータセットIDを参照する代わりに、スライスヘッダは、パラメータセットグループIDを参照し、したがって、間接的に、LPS、PPS、および各タイプのAPS(たとえばALFパラメータおよび量子化行列を与えるAPS)を参照し得る。
[0235]ビデオコーダは、VCL NALユニット(コーディングスライスを含む)が、たとえばH.264/AVC設計主旨に基づいてパラメータセットを間接的に参照するとき、ビデオパラメータセットまたはレイヤパラメータセットをアクティブにすることができる。
[0236]いくつかの例では、パラメータセットは、コード化スライスによってではなく、特定のタイプのNALユニットによってアクティブにされ得る。たとえば、この特定のタイプのNALユニットタイプ(パラメータセットアクティベーションNALユニット)は、ビットストリーム中に存在する場合、1つのかつ正確に1つのVPSをアクティブにし得る。様々な選択肢において、さらに、そのようなタイプのNALユニットは、少なくとも1つのLPSをアクティブにし得る。さらに、そのようなタイプのNALユニットは、少なくとも1つのPPSをアクティブにすることができる。さらに、そのようなタイプのNALユニットは、少なくとも1つのAPSをアクティブにし得る。パラメータセットアクティベーションNALユニットは、グルーピングパラメータセットRBSPであり得る。パラメータセットアクティベーション(PSA)NALユニットは、1つのコード化ビデオシーケンスに適用可能であり得る。PSA NALユニットは、非VCL NALユニットと見なされ、すなわちビデオコーダに直接関連がない。PSA NALユニットのNALユニットヘッダシンタックスは、VPS NALユニットと同じであり得る。
[0237]いくつかの例では、PSA NALユニットは、アクセスユニット中に存在する場合、アクセスユニットの第1のVCL NALユニットに先行し得る。たとえばIDRピクチャなど、コード化ビデオシーケンスの第1のアクセスユニット中に少なくとも1つのPSA NALユニットが存在し得る。同じコード化ビデオシーケンス中の複数のPSA NALユニットは、同じVPS idを含み得、したがって、異なるビデオパラメータセットが、同じコード化ビデオシーケンス内でアクティブにされる必要がない。PSA NALユニットは、アクセスユニット中に存在する場合、任意のLPS、PPS、APS、またはSEI NALユニット(存在する場合)に先行し得る。VPS NALユニットは、アクセスユニット中に存在する場合、任意のLPS、PPS、APS、またはSEI NALユニット(存在する場合)に先行し得る。様々な選択肢において、さらに、PSA NALユニットは、アクセスユニット中に存在する場合、VPS NALユニット(存在する場合)に先行し得る。
[0238]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30などのビデオコーダは、たとえばHEVCの従来のシーケンスパラメータセット(SPS)シンタックスとは反対に、SPSに関して表16のシンタックスを利用するように構成され得る。
[0239]表16の例示的なSPSは、従来のSPSシンタックスから、profile_idc、reserved_zero_8bits、level_idc、chroma_format_idc、separate_colour_plane_flagおよび対応する条件文「if」、max_temporal_layers_minus1、pic_width_in_luma_samples、pic_height_in_luma_samples、pic_cropping_flag、pic_crop_left_offset、pic_crop_right_offset、pic_crop_top_offset、およびpic_crop_bottom_offsetおよび対応する条件文「if」ステートメント、bit_depth_luma_minus8、bit_depth_chroma_minus8、num_short_term_ref_pic_sets、ならびにshort_term_ref_pic_set(i)および対応する条件文「if」ステートメントを除去する。さらに、表16の例示的なSPSは、video_parameter_set_idおよびrep_format_idxを追加する。他の残りのシンタックス要素についてのセマンティクスは、従来のHEVCにおいて定義されているものと同じであり得る。追加された要素video_parameter_set_idおよびrep_format_idxについてのセマンティクスは、次のように定義され得る。
[0240]この例では、video_parameter_set_idは、現在のSPSによって参照されるビデオパラメータセット(VPS)を識別する。代替として、video_parameter_set_idは、シグナリングされる必要がなく、GPSは、SPSを特定のVPSにリンクさせるために使用され得る。
[0241]この例では、rep_format_idxは、参照されるビデオパラメータセットにおいてシグナリングされる表示フォーマットへのインデックスを指定する。
[0242]さらに別の代替として、表17は、グルーピングパラメータセットについてのシンタックスの別の例を与える。この例では、ビデオパラメータセットIDシンタックス要素が、上述のように、SPSシンタックス中に存在しないことを仮定する。
[0243]表17のシンタックス要素に関するセマンティクスは、次のように定義され得る。
[0244]この例では、gps_idは、グループパラメータセット(GPS)の識別子を指定する。
[0245]この例では、vps_idは、GPSによって参照されるビデオパラメータセットの識別子を指定する。
[0246]この例では、sps_idは、GPSによって参照されるシーケンスパラメータセットの識別子を指定する。
[0247]この例では、pps_idは、GPSによって参照されるピクチャシーケンスパラメータセットの識別子を指定する。
[0248]この例では、num_ref_aps_idsは、次のref_aps_id[i]シンタックス要素の数を指定する。num_ref_aps_idsの値は、両端値を含む0〜4の範囲内であるべきである。
[0249]この例では、ref_aps_id[i]は、グループパラメータセットによって参照されるi番目の適合パラメータセットを識別する。
[0250]ref_aps_id[i]の同じ値は、ループに2度以上存在し得、したがって、同じAPSからAPSパラメータの2つ以上のタイプが、同じGPSによって参照され得、当該GPSを参照するコード化スライスに適用し得る。
[0251]この例では、ref_aps_param_type[i]は、グループパラメータセットによって参照されるi番目の適合パラメータセットに含まれるAPSパラメータのタイプを指定する。ref_aps_parame_type[i]の値は、両端値を含む0〜3の範囲内であり得る。ref_aps_parame_type[i]に関する両端値を含む0〜3の値は、スケーリングリスト、デブロッッキングフィルタ、サンプル適合オフセット(SAO)、およびALFのAPSパラメータタイプにそれぞれ対応する。iの任意の2つの異なる値についてのref_aps_parame_type[i]の値は、いくつかの例では、同一となるべきでない。
[0252]この例では、0に等しいgps_extension_flagは、gps_extension_data_flagシンタックス要素がパラメータセットグルーピングRBSPシンタックス構造中に存在しないことを指定する。gps_extension_flagは、今度のHEVC規格に従うビットストリーム中で0に等しい。gps_extension_flagの1という値は、ITU−T|ISO/IECによる将来の使用のために予約され得る。ビデオデコーダ30などのデコーダは、パラメータセットグルーピングNALユニット中のgps_extension_flagの値1に続くすべてのデータを無視し得る。
[0253]この例では、gps_extension_data_flagは、任意の値を有し得る。それは、今度のHEVC規格に規定されるプロファイルへの準拠に影響を及ぼす必要がない。
[0254]ビデオエンコーダ20およびビデオデコーダ30などのビデオコーダは、GPSが表17に従って指定されるか、または表17の例に実質的に準拠するとき、シングルレイヤまたはシングルビュービットストリームについてのパラメータセットをアクティブにするために次のプロセスを適用し得る。
[0255]適合パラメータセットRBSPは、コード化スライスNALユニットによって参照される1つまたは複数のグループパラメータセットを介して1つまたは複数のコード化ピクチャのコード化スライスNALユニットによって間接的に参照され得るパラメータを含み得る。各適合パラメータセットRBSPは、最初は、復号プロセスの動作の開始時にアクティブでないと見なされ得る。復号プロセスの動作中の所与の瞬間において、多くとも1つの適合パラメータセットRBSPが、APSパラメータの各タイプについてアクティブであると見なされ、APSパラメータの特定のタイプについての任意の特定の適合パラメータセットRBSPのアクティブ化は、APSパラメータのその特定のタイプに関して、(もしあれば)前のアクティブ適合パラメータセットRBSPの非アクティブ化を生じる。
[0256]適合パラメータセットRBSP(aps_idの特定の値を有する)は、APSパラメータの特定のタイプについてアクティブでなく、コード化スライスNALユニットによって参照されるグループパラメータセットを介して(aps_idのその値を使用して)APSパラメータのその特定のタイプについてのコード化スライスNALユニットによって間接的に参照されるとき、APSパラメータのその特定のタイプについてアクティブにされ得る。この適合パラメータセットRBSPは、それがAPSパラメータのその特定のタイプについての別の適合パラメータセットRBSPのアクティブ化によって非アクティブにされるまで、APSパラメータのその特定のタイプに関するアクティブ適合パラメータセットRBSPと呼ばれる。aps_idのその特定の値を有する適合パラメータセットRBSPは、そのアクティブ化より前の復号プロセスに利用可能であり得る。
[0257]ピクチャパラメータセットRBSPは、1つまたは複数のコード化ピクチャのコード化スライスNALユニットによって、当該コード化スライスNALユニットによって参照される1つまたは複数のグループパラメータセットを介して間接的に参照され得るパラメータを含み得る。各ピクチャパラメータセットRBSPは、最初は、復号プロセスの動作の開始時にアクティブでないと見なされ得る。多くとも1つのピクチャパラメータセットRBSPが、復号プロセスの動作中の所与の瞬間においてアクティブであると見なされ得、任意の特定のピクチャパラメータセットRBSPのアクティブ化は、(もしあれば)前のアクティブピクチャパラメータセットRBSPの非アクティブ化を生じる。
[0258]ピクチャパラメータセットRBSP(pic_parameter_set_idの特定の値を有する)は、アクティブでなく、(pic_parameter_set_idのその値を使用して)コード化スライスNALユニットによって、当該コード化スライスNALユニットによって参照されるグループパラメータセットを介して間接的に参照されるとき、アクティブにされ得る。このピクチャパラメータセットRBSPは、それが別のピクチャパラメータセットRBSPのアクティブ化によって非アクティブにされるまで、アクティブピクチャパラメータセットRBSPと呼ばれる。pic_parameter_set_idのその特定の値を有するピクチャパラメータセットRBSPは、そのアクティブ化より前の復号プロセスに利用可能であり得る。
[0259]コード化ピクチャのアクティブピクチャパラメータセットRBSPについてのpic_parameter_set_idの値を含む任意のピクチャパラメータセットNALユニットは、当該コード化ピクチャの最後のVCL NALユニットに続き、別のコード化ピクチャの第1のVCL NALユニットに先行しなければ、当該コード化ピクチャについてのアクティブピクチャパラメータセットRBSPと同じコンテンツを有し得る。
[0260]シーケンスパラメータセットRBSPは、1つまたは複数のコード化ピクチャのコード化スライスNALユニットによって、当該コード化スライスNALユニットによって参照される1つまたは複数のグループパラメータセットを介して、間接的に参照されるか、または、バッファリング期間SEIメッセージを含む1つまたは複数のSEI NALユニットによって参照される、パラメータを含み得る。各シーケンスパラメータセットRBSPは、最初は、復号プロセスの動作の開始時にアクティブでないと見なされ得る。多くとも1つのシーケンスパラメータセットRBSPが、復号プロセスの動作中の所与の瞬間においてアクティブであると見なされ得、任意の特定のシーケンスパラメータセットRBSPのアクティブ化は、(もしあれば)前のアクティブシーケンスパラメータセットRBSPの非アクティブ化を生じる。
[0261]シーケンスパラメータセットRBSP(seq_parameter_set_idの特定の値を有する)は、まだアクティブでなく、コード化スライスNALユニットによって、(seq_parameter_set_idのその値を使用して)当該コード化スライスNALユニットによって参照されるグループパラメータセットを介して、間接的に参照されるか、または(seq_parameter_set_idのその値を使用して)バッファリング期間SEIメッセージを含むSEI NALユニットによって参照されるとき、アクティブにされ得る。このシーケンスパラメータセットRBSPは、それが別のシーケンスパラメータセットRBSPのアクティブ化によって非アクティブにされるまで、アクティブシーケンスパラメータセットRBSPと呼ばれる。seq_parameter_set_idのその特定の値を有し、0に等しいtemporal_idを有するアクセスユニット内に含まれるシーケンスパラメータセットRBSPは、そのアクティブ化より前の復号プロセスに利用可能であり得る。アクティブ化シーケンスパラメータセットRBSPは、コード化ビデオシーケンス全体についてアクティブのままであるべきである。
[0262]ビデオパラメータセットRBSPは、1つまたは複数のコード化ピクチャのコード化スライスNALユニットによって、当該コード化スライスNALユニットによって参照される1つまたは複数のグループパラメータセットを介して間接的に参照され得るか、またはバッファリング期間SEIメッセージを含む1つまたは複数のSEI NALユニットによって参照され得る、パラメータを含み得る。各ビデオパラメータセットRBSPは、最初は、復号プロセスの動作の開始時にアクティブでないと見なされ得る。多くとも1つのビデオパラメータセットRBSPが、復号プロセスの動作中の所与の瞬間においてアクティブであると見なされ得、任意の特定のビデオパラメータセットRBSPのアクティブ化は、(もしあれば)前のアクティブビデオパラメータセットRBSPの非アクティブ化を生じる。
[0263]ビデオパラメータセットRBSP(video_parameter_set_idの特定の値を有する)は、まだアクティブでなく、コード化スライスNALユニットによって、(video_parameter_set_idのその値を使用して)当該コード化スライスNALユニットによって参照されるグループパラメータセットを介して、間接的に参照されるか、または、(video_parameter_set_idのその値を使用して)バッファリング期間SEIメッセージを含むSEI NALユニットによって参照されるとき、アクティブにされ得る。このビデオパラメータセットRBSPは、それが別のビデオパラメータセットRBSPのアクティブ化によって非アクティブにされるまで、アクティブビデオパラメータセットRBSPと呼ばれる。video_parameter_set_idのその特定の値を有し、0に等しいtemporal_idを有するアクセスユニット内に含まれるビデオパラメータセットRBSPは、そのアクティブ化より前の復号プロセスに利用可能であるべきである。アクティブ化されたビデオパラメータセットRBSPは、コーディングビデオシーケンス全体についてアクティブのままであるべきである。
[0264]コード化ビデオシーケンスのアクティブシーケンスパラメータセットRBSPについてのseq_parameter_set_idの値を含む任意のシーケンスパラメータセットNALユニットは、コード化ビデオシーケンスの最後のアクセスユニットに続き、別のコード化ビデオシーケンスの第1のVCL NALユニットおよびバッファリング期間SEIメッセージを含む第1のSEI NALユニット(存在する場合)に先行しなければ、コード化ビデオシーケンスについてのアクティブシーケンスパラメータセットRBSPと同じコンテンツを有し得る。
[0265]コード化ビデオシーケンスのアクティブビデオパラメータセットRBSPについてのvideo_parameter_set_idの値を含む任意のビデオパラメータセットNALユニットは、コード化ビデオシーケンスの最後のアクセスユニットに続き、別のコード化ビデオシーケンスの第1のVCL NALユニットおよびバッファリング期間SEIメッセージ(存在する場合)を含む第1のSEI NALユニットに先行することができなければ、コーディングビデオシーケンスに関するアクティブビデオパラメータセットRBSPと同じコンテンツを有し得る。
[0266]ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、および適合パラメータセットにおけるシンタックス要素の値(およびこれらのシンタックス要素から派生した変数の値)および他のシンタックス要素の値の間の関係に対して表現されるすべての制約は、APSパラメータの各特定のタイプについてのアクティブビデオパラメータセット、アクティブシーケンスパラメータセット、アクティブピクチャパラメータセット、およびアクティブ適合パラメータセットだけに適用し得る制約の表現である。ビットストリーム中でアクティブにされない任意のビデオパラメータセットRBSPが存在する場合、そのシンタックス要素は、他の準拠するビットストリームにおける参照によってアクティブにされる場合、指定された制約に準拠する値を有し得る。ビットストリーム中でアクティブにされない任意のシーケンスパラメータセットRBSPが存在する場合、そのシンタックス要素は、他の準拠するビットストリームにおける参照によってアクティブにされる場合、指定された制約に準拠する値を有し得る。ビットストリーム中で絶対にアクティブにされない任意のピクチャパラメータセットRBSPが存在する場合、そのシンタックス要素は、他の準拠するビットストリームにおける参照によってアクティブにされる場合、指定された制約に準拠する値を有し得る。ビットストリーム中で絶対にアクティブにされない任意の適合パラメータセットRBSPが存在する場合、そのシンタックス要素は、他の準拠するビットストリームにおける参照によってアクティブにされる場合、指定された制約に準拠する値を有し得る。
[0267]復号プロセスの動作中、APSパラメータの各タイプについてのアクティブビデオパラメータセット、アクティブシーケンスパラメータセット、アクティブピクチャパラメータセット、およびアクティブ適合パラメータセットのパラメータの値は、有効であるとみなされ得る。SEIメッセージの解釈に関して、同じアクセスユニット内のコード化ピクチャのVCL NALユニットの復号プロセスの動作についてアクティブである、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、および適合パラメータセットのパラメータの値は、そうではなくSEIメッセージセマンティクスで規定されていないならば、有効であるとみなされ得る。
[0268]図7は、本開示の技法による、ビデオデータを符号化するための例示的な方法を示すフローチャートである。ビデオエンコーダ20に関して説明するが、他のビデオ符号化デバイスは図7の方法を実行するように構成され得ることを理解されたい。
[0269]最初に、この例では、ビデオエンコーダ20は、ロー(raw)ビデオデータの1つまたは複数のレイヤを含むビットストリームを受信する(100)。たとえば、ビデオソース18(図1)は、ビデオエンコーダ20にマルチビュービデオデータを与え得る。代替として、ビデオエンコーダ20またはそのプリプロセッサは、ロービデオビットストリームを複数の様々なレイヤ、たとえば空間解像度レイヤ、品質レイヤ、時間レイヤなどに分割することができる。さらに他の例では、ビットストリームは、様々なレイヤの組合せ、たとえば、ビュー、空間解像度レイヤ、品質レイヤ、時間レイヤなどの任意の組合せに区分され得る。
[0270]ビデオエンコーダ20は、レイヤのセットのなかから、対応するシーケンスについて1つまたは複数の共通のパラメータを決定し得る(102)。対応するシーケンスは、異なるレイヤにおいて対応する時間位置を有するシーケンスであり得る。すなわち、開始時刻(表示時刻に関する)T1および終了時刻(同様に表示時刻に関する)T2を有する第1のシーケンスと、同様に開始時刻T1および終了時刻T2を有する第2のシーケンスとは、互いに対応すると言われ得る。特に、第1のシーケンスは、第1のレイヤの一部を形成し得、第2のシーケンスは、第2の異なるレイヤの一部を形成し得る。「シーケンス」は、たとえば、復号順序において瞬時復号リフレッシュ(IDR)ピクチャで開始し、続くIDRピクチャの直前に終了する、復号順序における一連の連続するピクチャを含み得る。概して、パラメータは、1つまたは複数のレイヤ、たとえばN個のレイヤ(Nは整数)の1セットの対応するシーケンスに対応し得る。次いで、ビデオエンコーダ20は、決定されたパラメータについてのデータを含むVPSを符号化し得る(104)。たとえば、ビデオエンコーダ20は、表2または表5の例のうちの1つに対応するVPSをコーディングし得る。
[0271]ビデオエンコーダ20はまた、1つのレイヤ内の1つのシーケンスについて共通のパラメータを決定し得る(106)。当該シーケンスは、VPSがコーディングされた他のレイヤにおける他のシーケンスに対応するシーケンスのうちの1つを備え得る。ビデオエンコーダ20は、当該シーケンスの共通のパラメータを含むシーケンスパラメータセット(SPS)をコーディングし得る(108)。したがって、VPSおよびSPSは、別のデータ構造であり、ビデオデータの異なるタイプに対応することを理解されたい。VPSが、複数のレイヤ間の1セットの対応するシーケンスに対応し得る一方、SPSは、1つのレイヤ内の1つのシーケンスに対応する。SPSは、H.264/AVCのSPS、(上記の表1に示す)MVCによって拡張されたH.264/AVCのSPS、今度のHEVC規格、または上述の表16の例に実質的に準拠し得る。さらに、ビデオエンコーダ20は、シーケンス内のピクチャについてのピクチャパラメータセット(PPS)をコーディングし得る(110)。PPSは、H.264/AVCのSPS、今度のHEVC規格、または上述の表13の例に実質的に準拠し得る。図7の方法は1つのPPSだけのコーディングを示すが、複数のPPSがコーディングされ得ることを理解されたい。1つまたは複数のピクチャが、同じPPSを参照し得る。
[0272]次いで、ビデオエンコーダ20は、SPSおよびPPSがコーディングされた最新のレイヤが最終レイヤかどうかを決定し得る(112)。最終レイヤがまだ処理(address)されていない場合(112の「NO」分岐)、ビデオエンコーダ20は、次のレイヤを選択し、たとえば、ステップ106〜110に従って、次のレイヤについてSPSおよび1つまたは複数のPPSをコーディングし得る。最終レイヤが処理された後(112の「YES」分岐)、ビデオエンコーダ20は、VPS、SPS、およびPPSのデータに基づいて様々なレイヤのビデオデータを符号化し得る。VPSに少なくとも部分的に基づいてビデオデータをコーディングする様々な例は、図9〜図12に関して以下でより詳細に説明する。
[0273]図7の例には示されていないが、いくつかの例では、ビデオエンコーダ20は、上述のように、1つもしくは複数のLPS、および/または1つもしくは複数のGPSをさらに符号化することができる。LPSは、表9、表10、または表12の例に実質的に準拠し得るが、GPSは、表14、表15、または表17の例に実質的に準拠し得る。そのような例では、ビデオエンコーダ20はまた、LPSおよび/またはGPSに少なくとも部分的に基づいて、ビデオデータをコーディングする。
[0274]このように、図7の方法は、各々がビデオパラメータセット(VPS)を参照する、ビデオデータの1つまたは複数のレイヤに関するVPSをコーディングすることと、VPSに少なくとも部分的に基づいてビデオデータの1つまたは複数のレイヤをコーディングすることとを含む方法の例を表す。
[0275]図8は、本開示の技法による、ビデオデータを復号するための例示的な方法を示すフローチャートである。ビデオデコーダ30に関して説明するが、他のビデオ復号デバイスは図8の方法を実行するように構成され得ることを理解されたい。
[0276]最初に、ビデオデコーダ30は、コーディングビデオデータのレイヤについてのVPS、1つまたは複数のSPS、および1つまたは複数のPPSを含むビットストリームを受信する(120)。ビデオデコーダ30は、次いで、1つまたは複数のレイヤのうち、対応するシーケンスについての共通のパラメータを含むVPSを復号し得る(122)。同様に、ビデオデコーダ30は、1つのレイヤのシーケンスについて共通のパラメータを含むシーケンスパラメータセットを復号し得る(124)。さらに、ビデオデコーダ30は、当該シーケンスのピクチャについてのパラメータを含むピクチャパラメータセットを復号し得る(126)。上述のように、1つまたは複数のピクチャは、同じPPSを参照することができ、したがって、PPSのパラメータは、1つまたは複数のピクチャに共通であると見なされ得る。同様に、ビデオデコーダ30は、図8には示されていないが、当該シーケンスについての複数のPPSを復号し得る。
[0277]さらに、ビデオデコーダ30は、最新のレイヤが処理されるべき最終レイヤであったかどうかを決定し得る(128)。最新のレイヤが最終レイヤでない場合(128の「NO」分岐)、ビデオデコーダ30は、ステップ124〜126に従って、次のレイヤについてのSPSおよび1つまたは複数のPPSを復号するために進む。一方、最新のレイヤが最終レイヤであった場合(128の「YES」分岐)、ビデオデコーダ30は、VPS、SPS、およびPPSに基づいてレイヤのビデオデータを復号するために進み得る(130)。VPSに少なくとも部分的に基づいてビデオデータをコーディングする例は、図9〜図12に関してより詳細に説明する。
[0278]図8の例には示されていないが、いくつかの例では、ビデオデコーダ30は、上述のように、1つもしくは複数のLPS、および/または1つもしくは複数のGPSをさらに復号し得る。LPSは、表9、表10、または表12の例に実質的に準拠し得るが、GPSは、表14、表15、または表17の例に実質的に準拠し得る。そのような例では、ビデオデコーダ30はまた、LPSおよび/またはGPSに少なくとも部分的に基づいて、ビデオデータを復号する。
[0279]このように、図8の方法は、ビデオデータの1つまたは複数のレイヤについてのビデオパラメータセット(VPS)をコーディングすることと、ビデオデータの該1つまたは複数のレイヤのそれぞれは該VPSを参照し、該VPSに少なくとも部分的に基づいてビデオデータの該1つまたは複数のレイヤをコーディングすることと、を含む方法の例を表す。
[0280]図9は、VPSにおいてシグナリングされる時間レイヤの数に少なくとも部分的に基づいてビデオデータをコーディングする例示的な方法を示すフローチャートである。図9の方法は、ビデオエンコーダ20および/またはビデオデコーダ30によって実行され得る。例として、図9の方法についてビデオデコーダ30に関して説明する。
[0281]この例では、ビデオデコーダ30は、たとえばVPSが対応する1つまたは複数のレイヤのうちの、ビデオデータ中の時間レイヤの数を示すVPSをコーディング(すなわち、復号)する(150)。たとえば、ビデオデコーダ30は、上記の表2に関して説明したように、「cnt_t」を復号し得る。別の例として、ビデオデコーダ30は、上記の表5に関して説明したように、num_temporal_layers_minus1を復号し得る。
[0282]この例では、ビデオデコーダ30は、この表示に基づいて、時間レイヤの各々についての時間識別子を復号する(152)。同様に、ビデオデコーダ30は、時間レイヤの数に基づいて参照ピクチャ識別子値を決定し得る(154)。たとえば、ビデオデコーダ30は、レイヤNにおける現在のピクチャについて、現在のピクチャが、参照のためにレイヤN+1におけるピクチャまたはそれより上のレイヤのピクチャを使用しないことを決定するように構成され得る。したがって、ビデオデコーダ30は、レイヤNにおけるピクチャまたはそれより下のレイヤにおける潜在的な参照ピクチャについての識別子を決定し得る。さらに、ビデオデコーダ30は、レイヤN(レイヤNを含む)までのレイヤの参照データを使用して時間レイヤNにおけるピクチャのデータを復号し得る(156)。したがって、図9は、ビデオデータの1つまたは複数のレイヤ中の時間レイヤの最大数を示すVPSのデータをコーディングすることと、該VPSに少なくとも部分的に基づいて該1つまたは複数のレイヤをコーディングすることとを含む方法の例を表す。
[0283]図10は、復号ピクチャバッファに記憶される1つまたは複数のレイヤおよびピクチャにおいて並べ替えられるピクチャの数に少なくとも部分的に基づいてビデオデータをコーディングする例示的な方法を示すフローチャートである。図10の方法は、ビデオエンコーダ20および/またはビデオデコーダ30によって実行され得る。例として、図10の方法についてビデオデコーダ30に関して説明する。
[0284]この例では、ビデオデコーダ30は、所与の時刻における、ビデオデータの1つまたは複数のレイヤにおいて並べ替えられるピクチャの数と、復号ピクチャバッファ(たとえば、参照ピクチャメモリ82)に記憶されるピクチャの数とを示すVPSを復号する(160)。たとえば、ビデオデコーダ30は、上記の表16および/またはDPBサイズを指定するビットストリーム制限情報に関して説明したように、num_reorder_picsに実質的に対応するVPSのシンタックス要素を復号し得る。他の例では、VPSは、並べ替えられるピクチャの数、および復号ピクチャバッファに記憶されるピクチャの数の一方または他方のみを含み、必ずしも両方を含む必要はない。ビデオデコーダ30は、次いで、並べ替えられるピクチャおよび/または記憶されるピクチャの数に基づいて復号ピクチャバッファ(たとえば、参照ピクチャメモリ82)を管理することができる(162)。たとえば、ビデオデコーダ30は、記憶されるべきピクチャの数を超えるピクチャが、参照ピクチャメモリ82に記憶されるとき、参照ピクチャメモリ82からピクチャを除去し得る。
[0285]ビデオデコーダ30は、DPB中(すなわち、参照ピクチャメモリ82中)のピクチャの数に基づいて参照ピクチャ識別子値を決定することもし得る(164)。さらに、ビデオデコーダ30は、参照ピクチャ識別子値に基づいてピクチャのデータを復号し得る(166)。したがって、図10の方法は、1つまたは複数のレイヤの復号中に復号ピクチャバッファ(DPB)に記憶されるピクチャの数を示すVPSのデータをコーディングすることを含む方法、および、1つまたは複数のレイヤのうちの少なくとも1つにおいて並べ替えられるフレームの数を示すVPSのデータをコーディングすることを含む方法の例を表す。
[0286]図11は、VPSにおいてシグナリングされる仮想参照デコーダ(HRD)パラメータに少なくとも部分的に基づいてビデオデータをコーディングする例示的な方法を示すフローチャートである。図11の方法は、ビデオエンコーダ20および/またはビデオデコーダ30によって実行され得る。例として、図11の方法についてビデオデコーダ30に関して説明する。
[0287]この例では、ビデオデコーダ30は、HRDパラメータを示すVPSを復号する(170)。ビデオデコーダ30は、HRDパラメータに基づいてコーディングピクチャバッファ(CPB)からのピクチャの除去タイム(removal time)をさらに決定することができる(172)。ビデオデコーダ30は、次いで、決定された除去タイムに基づいてCPBからデータを除去し(174)、CPBから除去されたデータを復号することができる。したがって、図11の方法は、1つまたは複数の仮想参照デコーダ(HRD)パラメータを示すVPSのデータをコーディングすることと、該HDRパラメータに基づいて1つまたは複数のレイヤのデータをコーディングすることとを含む方法の例を表す。
[0288]図12は、VPSにおいてシグナリングされる拡張データに少なくとも部分的に基づいてビデオデータをコーディングする例示的な方法を示すフローチャートである。図12の方法は、ビデオエンコーダ20および/またはビデオデコーダ30によって実行され得る。例として、図12の方法についてビデオデコーダ30に関して説明する。
[0289]ビデオデコーダ30は、この例では、VPSが拡張データを含むかどうかを示すVPSのデータを復号する(180)。たとえば、ビデオデコーダ30は、VPSのvps_extension_flagを復号し得る。ビデオデコーダ30は、次いで、VPSが拡張データを含むことをデータが示すどうかを決定する(182)。VPSが拡張データを含むことをデータが示す場合(182の「YES」分岐)、ビデオデコーダ30は、1つまたは複数の拡張コーディングツールのためのVPS拡張データをコーディングし(184)、拡張コーディングツールおよび拡張データを使用してビデオデータを復号する(186)。他方、VPSが拡張データを含まないことをデータが示す場合(182の「NO」分岐)、ビデオデコーダ30は、従来のコーディングツールを使用してビデオデータを復号し得る(188)。このように、図12の方法は、VPSが対応する規格を超える拡張を含むかどうかを示すVPSのデータ、およびVPSが拡張を含むときの拡張のためのデータをコーディングすることと、該VPSの該拡張データに基づいてビデオデータをコーディングすることとを含む方法の例を表す。
[0290]例によっては、本明細書で説明された技法のうちいずれかの、いくつかの行為またはイベントは、異なる順番で実行される可能性があり、追加され、統合され、または完全に除外され得る(たとえば、すべての説明された行為またはイベントが、本技法の実施のために必要であるとは限らない)ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて実行され得る。
[0291]1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
[0292]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0293]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0294]さらに他の例では、本開示は、その上に記憶されたデータ構造を備えるコンピュータ可読媒体を企図し、データ構造は本開示に一致する符号化ビットストリームを含む。特に、符号化ビットストリームは、ビデオデータの1つまたは複数のレイヤと、ビデオデータの1つまたは複数のレイヤに関するビデオパラメータセット(VPS)とを含むことができ、ビデオデータの1つまたは複数のレイヤ各々は、VPSを参照し、ビデオデータの1つまたは複数のレイヤは、VPSに少なくとも部分的に基づいてコーディングされる。
[0295]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0296]様々な例について説明してきた。これらおよび他の例は以下の特許請求の範囲内に入る。

Claims (51)

  1. ビデオデータをコーディングする方法であって、
    ビデオデータの1つまたは複数のレイヤについてビデオパラメータセット(VPS)をコーディングすることと、ビデオデータの前記1つまたは複数のレイヤのそれぞれは前記VPSを参照し、
    前記VPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングすることと、
    を備える方法。
  2. 前記VPSをコーディングすることは、前記1つまたは複数のレイヤにおける時間レイヤの最大数を示す前記VPSのデータをコーディングすることを備える、請求項1に記載の方法。
  3. 前記VPSをコーディングすることは、前記1つまたは複数のレイヤのうちの少なくとも1つにおいて並べ替えられるフレームの数を示す前記VPSのデータをコーディングすることを備える、請求項1に記載の方法。
  4. 前記VPSをコーディングすることは、前記1つまたは複数のレイヤの復号中に復号ピクチャバッファ(DPB)に記憶されるピクチャの数を示す前記VPSのデータをコーディングすることを備える、請求項1に記載の方法。
  5. 前記VPSをコーディングすることは、仮想参照デコーダ(HRD)パラメータの1つまたは複数のセットを示す前記VPSのデータをコーディングすることを備える、請求項1に記載の方法。
  6. 前記VPSをコーディングすることは、前記VPSが対応する規格を超える拡張を含むかどうかを示す前記VPSのデータと、前記VPSが前記拡張を含むときの前記拡張のためのデータとをコーディングすることを備える、請求項1に記載の方法。
  7. 前記1つまたは複数のレイヤをコーディングすることは、高効率ビデオコーディング(HEVC)に従って前記1つまたは複数のレイヤをコーディングすることを備える、請求項1に記載の方法。
  8. 前記1つまたは複数のレイヤをコーディングすることは、マルチビュービデオコーディング(MVC)およびスケーラブルビデオコーディング(SVC)のうちの少なくとも1つに従って前記1つまたは複数のレイヤをコーディングすることを備える、請求項1に記載の方法。
  9. 前記VPSをコーディングすることは、ビデオデータの前記1つまたは複数のレイヤの1つまたは複数の次元について、ビデオデータの前記1つまたは複数のレイヤにおける優先レイヤの数、ビデオデータの前記1つまたは複数のレイヤにおける従属レイヤの数、ビデオデータの前記1つまたは複数のレイヤにおける時間レイヤの数、ビデオデータの前記1つまたは複数のレイヤにおける前記従属レイヤのいずれかについての品質レイヤの最大数、およびビデオデータの前記1つまたは複数のレイヤにおけるビューの最大数のうちの1つまたは複数を指定する情報をコーディングすることを備える、請求項1に記載の方法。
  10. 前記ビデオデータの前記1つまたは複数のレイヤのサブセットが、同じ空間解像度および同じビット深度を有するとき、前記サブセットの前記レイヤの各々は、前記従属レイヤのうちの異なる1つに対応する、請求項2に記載の方法。
  11. 前記VPSをコーディングすることは、特性マッピングに対するサンプルインデックスを定義する情報をコーディングすることを備え、特性マッピングに対する前記サンプルインデックスを定義する前記情報をコーディングすることは、ビデオデータの前記1つまたは複数のレイヤの次元の特性インジケータが0からサンプル次元カウンタ−1までのインデックス範囲内にないとき、複数の特性インデックスの各々についてのそれぞれの特性インジケータを指定する情報をコーディングすることを備える、請求項10に記載の方法。
  12. 前記VPSをコーディングすることは、特性マッピングに対するサンプルインデックスを定義する情報をコーディングすることを備え、特性マッピングに対する前記サンプルインデックスを定義する前記情報をコーディングすることは、複数の従属インデックスの各々についてのそれぞれの空間解像度、複数の時間インデックスの各々についてのフレームレート、複数のビューインデックスの各々についてのビュー識別子、複数のビット深度インデックスの各々のルミナンスおよびクロミナンスについての特定の深度値の対、および複数のクロミナンスサンプリングフォーマットの各々についての特定のクロミナンスサンプリングフォーマットインジケータのうちの1つまたは複数をコーディングすることを備える、請求項10に記載の方法。
  13. 前記VPSをコーディングすることは、制御パラメータ、および1つまたは複数のツール有効化/無効化フラグを定義する情報をコーディングすることを備える、請求項1に記載の方法。
  14. 前記制御パラメータおよび前記1つまたは複数のツール有効化/無効化フラグは、pcm_bit_depth_luma_minus1、pcm_bit_depth_chroma_minus1、loop_filter_across_slice_flag、pcm_loop_filter_disable_flag、temporal_id_nesting_flag、1つまたは複数のタイル関連のシンタックス要素、chroma_pred_from_luma_enabled_flag、sample_adaptive_offset_enabled_flag、adaptive_loop_filter_enabled_flag、およびinter_4×4_enabled_flagのうちの1つまたは複数を備える、請求項13に記載の方法。
  15. 前記VPSをコーディングすることは、1つまたは複数のオペレーションポイント記述子を定義する情報をコーディングすることを備える、請求項1に記載の方法。
  16. 前記1つまたは複数のオペレーションポイント記述子を定義する前記情報をコーディングすることは、最大オペレーションポイントの数、異なるレイヤまたはビュー間の従属性、前記オペレーションポイントの各々についてのプロファイルおよびレベル、各オペレーションポイントについて、オペレーションポイントビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニット表示、各次元について、特定のインデックス値、前記次元についての潜在的なインデックス値の範囲、およびインデックス値のリストのうちの1つもしくは複数、前記オペレーションポイントの各々についてのビットレート、前記オペレーションポイント間の従属性、前記オペレーションポイントの各々についての制限、前記オペレーションポイントの各々についてのビデオユーザビリティ情報(VUI)、および前記1つまたは複数のレイヤの各々についてのVUIのうちの1つまたは複数を定義する情報をコーディングすることを備える、請求項15に記載の方法。
  17. ビデオデータの前記1つまたは複数のレイヤの各々についてのそれぞれのレイヤードシーケンスパラメータセット(LPS)をコーディングすることをさらに備え、前記VPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングすることは、前記VPSおよび前記それぞれのLPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングすることを備える、請求項1に記載の方法。
  18. 前記1つまたは複数のレイヤの各々についての前記それぞれのLPSをコーディングすることは、各次元について、各次元に対するインデックスを示すサンプル次元表示を定義する情報をコーディングすることを備える、請求項17に記載の方法。
  19. 前記1つまたは複数のレイヤの各々についての前記それぞれのLPSをコーディングすることは、制御パラメータおよびツール有効化/無効化フラグを定義する情報をコーディングすることを備える、請求項17に記載の方法。
  20. 前記制御パラメータおよび前記1つまたは複数のツール有効化/無効化フラグは、pcm_bit_depth_luma_minus1、pcm_bit_depth_chroma_minus1、loop_filter_across_slice_flag、pcm_loop_filter_disable_flag、1つまたは複数のタイル関連のシンタックス要素、chroma_pred_from_luma_enabled_flag、sample_adaptive_offset_enabled_flag、adaptive_loop_filter_enabled_flag、およびコーディングユニット(CU)ハイアラーキのうちの1つまたは複数を備える、請求項19に記載の方法。
  21. 前記1つまたは複数のレイヤの各々についての前記それぞれのLPSをコーディングすることは、スライス、スライスのグループ、ピクチャ、および共通のピクチャパラメータセット(PPS)を参照するいくつかのピクチャのうちの少なくとも1つに適用する1つまたは複数の他のパラメータセットの情報を定義する情報をコーディングすることを備える、請求項17に記載の方法。
  22. 1つまたは複数のピクチャパラメータセット(PPS)が、前記VPSを参照せず、かつ、ビデオデータの前記1つまたは複数のレイヤのレイヤードシーケンスパラメータセット(LPS)を参照しないように、前記1つまたは複数のPPSをコーディングすることをさらに含む、請求項1に記載の方法。
  23. 前記VPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングすることは、前記VPS、前記PPS、および前記LPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングすること、を備え、前記PPSのうちの1つのシンタックス要素が前記VPSまたは前記LPSのうちのそれぞれ1つと相反するとき、前記PPSのうちの前記1つの前記シンタックス要素に基づいてビデオデータの前記1つまたは複数のレイヤのうちの対応する1つをコーディングする、請求項22に記載の方法。
  24. ビデオデータの前記1つまたは複数のレイヤについての、前記VPSを含む、すべてのパラメータセットを一緒にグルーピングするグルーピングパラメータセット(GPS)をコーディングすることをさらに備える、請求項1に記載の方法。
  25. 前記GPSをコーディングすることは、前記GPSの識別子を定義する情報をコーディングすることを備え、前記方法は、前記GPSの前記識別子に対応するスライスヘッダの情報をコーディングすることをさらに備える、請求項24に記載の方法。
  26. 前記ビデオデータの1つまたは複数のレイヤをコーディングすることは、ビデオデータの前記1つまたは複数のレイヤを復号することを備え、前記VPSをコーディングすることは、前記VPSをパーシングすることを備える、請求項1に記載の方法。
  27. 前記ビデオデータの1つまたは複数のレイヤをコーディングすることは、ビデオデータの前記1つまたは複数のレイヤを符号化することを備え、前記VPSをコーディングすることは、前記VPSを構成することを備える、請求項1に記載の方法。
  28. ビデオデータをコーディングするためのデバイスであって、
    ビデオデータの1つまたは複数のレイヤについてビデオパラメータセット(VPS)をコーディングし、ビデオデータの前記1つまたは複数のレイヤのそれぞれは前記VPSを参照し、
    前記VPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングするように構成されたビデオコーダ
    を備える、デバイス。
  29. 前記ビデオコーダは、前記1つまたは複数のレイヤにおける時間レイヤの最大数を示す前記VPSのデータをコーディングするように構成される、請求項28に記載のデバイス。
  30. 前記ビデオコーダは、前記1つまたは複数のレイヤのうちの少なくとも1つにおいて並べ替えられるフレームの数を示す前記VPSのデータをコーディングするように構成される、請求項28に記載のデバイス。
  31. 前記ビデオコーダは、前記1つまたは複数のレイヤの復号中に復号ピクチャバッファ(DPB)に記憶されるピクチャの数を示す前記VPSのデータをコーディングするように構成される、請求項28に記載のデバイス。
  32. 前記ビデオコーダは、仮想参照デコーダ(HRD)パラメータの1つまたは複数のセットを示す前記VPSのデータをコーディングするように構成される、請求項28に記載のデバイス。
  33. 前記ビデオコーダは、前記VPSが対応する規格を超える拡張を含むかどうかを示す前記VPSのデータと、前記VPSが前記拡張を含むときの前記拡張のためのデータとをコーディングするように構成される、請求項28に記載のデバイス。
  34. 前記ビデオコーダは、高効率ビデオコーディング(HEVC)、マルチビュービデオコーディング(MVC)、およびスケーラブルビデオコーディング(SVC)のうちの1つに従って前記1つまたは複数のレイヤをコーディングするように構成される、請求項28に記載のデバイス。
  35. 前記ビデオコーダはビデオデコーダを備える、請求項28に記載のデバイス。
  36. 前記ビデオコーダはビデオエンコーダを備える、請求項28に記載のデバイス。
  37. 集積回路と、
    マイクロプロセッサと、
    前記ビデオコーダを含むワイヤレス通信デバイスと、
    のうちの少なくとも1つを備える、請求項28に記載のデバイス。
  38. ビデオデータをコーディングするためのデバイスであって、
    ビデオデータの1つまたは複数のレイヤについてビデオパラメータセット(VPS)をコーディングする手段と、ビデオデータの前記1つまたは複数のレイヤのそれぞれは前記VPSを参照し、
    前記VPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングする手段と、
    を備える、デバイス。
  39. 前記ビデオコーダは、前記1つまたは複数のレイヤにおける時間レイヤの最大数を示す前記VPSのデータをコーディングするように構成される、請求項38に記載のデバイス。
  40. 前記ビデオコーダは、前記1つまたは複数のレイヤのうちの少なくとも1つにおいて並べ替えられるフレームの数を示す前記VPSのデータをコーディングするように構成される、請求項38に記載のデバイス。
  41. 前記ビデオコーダは、前記1つまたは複数のレイヤの復号中に復号ピクチャバッファ(DPB)に記憶されるピクチャの数を示す前記VPSのデータをコーディングするように構成される、請求項38に記載のデバイス。
  42. 前記ビデオコーダは、仮想参照デコーダ(HRD)パラメータの1つまたは複数のセットを示す前記VPSのデータをコーディングするように構成される、請求項38に記載のデバイス。
  43. 前記ビデオコーダは、前記VPSが対応する規格を超える拡張を含むかどうかを示す前記VPSのデータと、前記VPSが前記拡張を含むときの前記拡張のためのデータとをコーディングするように構成される、請求項38に記載のデバイス。
  44. 前記ビデオコーダは、高効率ビデオコーディング(HEVC)、マルチビュービデオコーディング(MVC)、およびスケーラブルビデオコーディング(SVC)のうちの1つに従って前記1つまたは複数のレイヤをコーディングするように構成される、請求項38に記載のデバイス。
  45. 命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されるとき、プロセッサに、
    ビデオデータの1つまたは複数のレイヤについてビデオパラメータセット(VPS)をコーディングさせ、ビデオデータの前記1つまたは複数のレイヤのそれぞれは前記VPSを参照し、
    前記VPSに少なくとも部分的に基づいてビデオデータの前記1つまたは複数のレイヤをコーディングさせる、
    コンピュータ可読記憶媒体。
  46. 前記プロセッサに前記VPSをコーディングさせる前記命令は、前記プロセッサに前記1つまたは複数のレイヤにおける時間レイヤの最大数を示す前記VPSのデータをコーディングさせる命令を備える、請求項45に記載のコンピュータ可読記憶媒体。
  47. 前記プロセッサに前記VPSをコーディングさせる前記命令は、前記プロセッサに前記1つまたは複数のレイヤの少なくとも1つにおいて並べ替えられるフレームの数を示す前記VPSのデータをコーディングさせる命令を備える、請求項45に記載のコンピュータ可読記憶媒体。
  48. 前記プロセッサに前記VPSをコーディングさせる前記命令は、前記プロセッサに前記1つまたは複数のレイヤの復号中に復号ピクチャバッファ(DPB)に記憶されるピクチャの数を示す前記VPSのデータをコーディングさせる命令を備える、請求項45に記載のコンピュータ可読記憶媒体。
  49. 前記プロセッサに前記VPSをコーディングさせる前記命令は、前記プロセッサに仮想参照デコーダ(HRD)パラメータの1つまたは複数のセットを示す前記VPSのデータをコーディングさせる命令を備える、請求項45に記載のコンピュータ可読記憶媒体。
  50. 前記プロセッサに前記VPSをコーディングさせる前記命令は、前記VPSが対応する規格を超える拡張を含むかどうかを示す前記VPSのデータと、前記VPSが前記拡張を含むときの前記拡張のためのデータとを前記プロセッサにコーディングさせる命令を備える、請求項45に記載のコンピュータ可読記憶媒体。
  51. 前記プロセッサに前記1つまたは複数のレイヤをコーディングさせる前記命令は、高効率ビデオコーディング(HEVC)、マルチビュービデオコーディング(MVC)、およびスケーラブルビデオコーディング(SVC)のうちの1つに従って前記1つまたは複数のレイヤを前記プロセッサにコーディングさせる命令を備える、請求項45に記載のデバイス。
JP2014552328A 2012-01-14 2013-01-11 ビデオコーディング用のコーディングパラメータセットおよびnalユニットヘッダ Active JP6117243B2 (ja)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201261586777P 2012-01-14 2012-01-14
US61/586,777 2012-01-14
US201261587070P 2012-01-16 2012-01-16
US61/587,070 2012-01-16
US201261588629P 2012-01-19 2012-01-19
US61/588,629 2012-01-19
US201261637195P 2012-04-23 2012-04-23
US61/637,195 2012-04-23
US201261637774P 2012-04-24 2012-04-24
US61/637,774 2012-04-24
US13/738,377 US9451252B2 (en) 2012-01-14 2013-01-10 Coding parameter sets and NAL unit headers for video coding
US13/738,377 2013-01-10
PCT/US2013/021227 WO2013106705A2 (en) 2012-01-14 2013-01-11 Coding parameter sets and nal unit headers for video coding

Publications (3)

Publication Number Publication Date
JP2015507428A true JP2015507428A (ja) 2015-03-05
JP2015507428A5 JP2015507428A5 (ja) 2016-12-15
JP6117243B2 JP6117243B2 (ja) 2017-04-19

Family

ID=48779946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014552328A Active JP6117243B2 (ja) 2012-01-14 2013-01-11 ビデオコーディング用のコーディングパラメータセットおよびnalユニットヘッダ

Country Status (19)

Country Link
US (1) US9451252B2 (ja)
EP (1) EP2803193B1 (ja)
JP (1) JP6117243B2 (ja)
KR (1) KR101760165B1 (ja)
CN (1) CN104054345B (ja)
AU (1) AU2013207799B2 (ja)
BR (1) BR112014017159B1 (ja)
CA (1) CA2860776C (ja)
DK (1) DK2803193T3 (ja)
ES (1) ES2633651T3 (ja)
HU (1) HUE032097T2 (ja)
IL (1) IL233228A (ja)
MY (1) MY167149A (ja)
PH (1) PH12014501447A1 (ja)
RU (1) RU2633117C2 (ja)
SG (2) SG11201403325SA (ja)
SI (1) SI2803193T1 (ja)
TW (1) TWI517692B (ja)
WO (1) WO2013106705A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022523219A (ja) * 2019-02-27 2022-04-21 華為技術有限公司 符号化器、復号器及び対応する方法

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8731285B1 (en) * 2011-09-30 2014-05-20 Tribune Broadcasting Company, Llc Systems and methods for identifying a video aspect-ratio frame attribute
US20130114710A1 (en) * 2011-11-08 2013-05-09 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by prediction using reference picture list, and method and apparatus for decoding video by performing compensation using reference picture list
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
KR20130116782A (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 계층적 비디오 부호화에서의 계층정보 표현방식
EP2842322A1 (en) * 2012-04-24 2015-03-04 Telefonaktiebolaget LM Ericsson (Publ) Encoding and deriving parameters for coded multi-layer video sequences
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9716892B2 (en) 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
KR101636269B1 (ko) * 2012-07-04 2016-07-05 인텔 코포레이션 3차원 비디오 코딩을 위한 뷰 간 필터 파라미터 재사용
CN104620587B (zh) * 2012-07-06 2018-04-03 三星电子株式会社 用于对多层视频进行编码的方法和设备以及用于对多层视频进行解码的方法和设备
US9992490B2 (en) * 2012-09-26 2018-06-05 Sony Corporation Video parameter set (VPS) syntax re-ordering for easy access of extension parameters
PL2901688T3 (pl) * 2012-09-28 2020-05-18 Nokia Technologies Oy Aparat i sposób do kodowania i dekodowania wideo
CA2885408C (en) * 2012-09-28 2021-11-30 Sony Corporation Image processing device and method
KR20140048802A (ko) * 2012-10-08 2014-04-24 삼성전자주식회사 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치
US9936196B2 (en) * 2012-10-30 2018-04-03 Qualcomm Incorporated Target output layers in video coding
KR20140087971A (ko) * 2012-12-26 2014-07-09 한국전자통신연구원 계층적 비디오 부호화에서 다중참조계층을 적용한 화면간 부/복호화 방법 및 그 장치
US9848202B2 (en) 2012-12-28 2017-12-19 Electronics And Telecommunications Research Institute Method and apparatus for image encoding/decoding
US10219006B2 (en) 2013-01-04 2019-02-26 Sony Corporation JCTVC-L0226: VPS and VPS_extension updates
US10419778B2 (en) 2013-01-04 2019-09-17 Sony Corporation JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure
WO2014163455A1 (ko) * 2013-04-05 2014-10-09 삼성전자 주식회사 멀티 레이어 비디오의 복호화 방법 및 장치, 멀티 레이어 비디오의 부호화 방법 및 장치
CN109547815B (zh) * 2013-04-07 2021-05-18 杜比国际公司 用于视频解码的方法和电子设备
US9591321B2 (en) 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
US20140307803A1 (en) 2013-04-08 2014-10-16 Qualcomm Incorporated Non-entropy encoded layer dependency information
WO2015008464A1 (en) * 2013-07-14 2015-01-22 Sharp Kabushiki Kaisha Video parameter set signaling
US9100631B2 (en) * 2013-08-05 2015-08-04 Cable Television Laboratories, Inc. Dynamic picture quality control
US9426465B2 (en) * 2013-08-20 2016-08-23 Qualcomm Incorporated Sub-PU level advanced residual prediction
CN104427323B (zh) * 2013-08-23 2016-08-10 鸿富锦精密工业(深圳)有限公司 基于深度的三维图像处理方法
US20150078457A1 (en) * 2013-09-13 2015-03-19 Qualcomm Incorporated Representation format signaling in multi-layer video coding
EP3057325A4 (en) * 2013-10-08 2017-05-10 Sharp Kabushiki Kaisha Image decoding device, image coding device, and coded data
EP3056007A4 (en) * 2013-10-11 2017-05-24 Sharp Kabushiki Kaisha Color information and chromaticity signaling
EP3989585A1 (en) * 2013-10-11 2022-04-27 VID SCALE, Inc. High level syntax for hevc extensions
WO2015053601A1 (ko) * 2013-10-12 2015-04-16 삼성전자 주식회사 멀티 레이어 비디오 부호화 방법 및 그 장치, 멀티 레이어 비디오 복호화 방법 및 그 장치
US9936207B2 (en) * 2013-10-14 2018-04-03 Qualcomm Incorporated Indication of parallel processing in video coding
JP6336058B2 (ja) 2013-10-14 2018-06-06 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能
WO2015056158A1 (en) * 2013-10-14 2015-04-23 Nokia Technologies Oy Multi-layer hypothetical reference decoder
JP6359101B2 (ja) 2013-10-14 2018-07-18 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像の符号化及び復号のためのイントラブロックコピー予測モードの特徴
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
CN105723712B (zh) * 2013-10-14 2019-06-28 韩国电子通信研究院 基于多层的图像编码/解码方法和设备
US10382752B2 (en) * 2013-10-15 2019-08-13 Sony Corporation Image processing device and method
BR112016012009B1 (pt) 2013-11-27 2023-11-07 Hfi Innovation Inc Método de sinalização de modo de codificação incluindo um modo intrabc para uma imagem
US9854270B2 (en) * 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
CN104754358B (zh) * 2013-12-27 2019-02-19 中兴通讯股份有限公司 码流的生成和处理方法、装置及系统
WO2015103462A1 (en) * 2014-01-02 2015-07-09 Vidyo, Inc. Overlays using auxiliary pictures
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
CN105917650B (zh) 2014-01-03 2019-12-24 微软技术许可有限责任公司 视频和图像编/解码的方法、计算设备及计算机可读介质
US10567804B2 (en) * 2014-01-08 2020-02-18 Qualcomm Incorporated Carriage of HEVC extension bitstreams and buffer model with MPEG-2 systems
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US20150195549A1 (en) 2014-01-08 2015-07-09 Qualcomm Incorporated Support of non-hevc base layer in hevc multi-layer extensions
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
RU2657210C2 (ru) 2014-03-04 2018-06-08 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Зеркальное отображение блоков и режим пропуска в интра-основанном на копии блока предсказании
JP6368795B2 (ja) * 2014-03-14 2018-08-01 ヴィド スケール インコーポレイテッド Rgbビデオコーディングエンハンスメントのためのシステムおよび方法
US20150264099A1 (en) * 2014-03-14 2015-09-17 Sharp Laboratories Of America, Inc. Systems and methods for constraining a bitstream
JP6150134B2 (ja) * 2014-03-24 2017-06-21 ソニー株式会社 画像符号化装置および方法、画像復号装置および方法、プログラム、並びに記録媒体
US9402083B2 (en) * 2014-04-24 2016-07-26 Vidyo, Inc. Signaling conformance points using profile space
CN105409221B (zh) 2014-04-29 2020-03-06 微软技术许可有限责任公司 用于样本自适应偏移滤波的编码器侧决策
EP3158734A4 (en) 2014-06-19 2017-04-26 Microsoft Technology Licensing, LLC Unified intra block copy and inter prediction modes
US9918091B2 (en) 2014-06-20 2018-03-13 Qualcomm Incorporated Systems and methods for assigning a minimum value to a syntax structure in a parameter set
WO2016041507A1 (en) * 2014-09-17 2016-03-24 Mediatek Inc. Syntax parsing apparatus with multiple syntax parsing circuits for processing multiple image regions within same frame or processing multiple frames and related syntax parsing method
EP3917146A1 (en) 2014-09-30 2021-12-01 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US10306269B2 (en) * 2014-10-10 2019-05-28 Qualcomm Incorporated Operation point for carriage of layered HEVC bitstream
US20160112724A1 (en) * 2014-10-15 2016-04-21 Qualcomm Incorporated Hrd descriptor and buffer model of data streams for carriage of hevc extensions
JP6690536B2 (ja) * 2015-01-09 2020-04-28 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
EP3251351B1 (en) 2015-01-27 2021-07-14 Dolby International AB Predictive image encoding and decoding with pixel group based quantization
US10148969B2 (en) * 2015-02-11 2018-12-04 Qualcomm Incorporated Of sample entry and operation point signalling in a layered video file format
US11418812B2 (en) * 2015-02-11 2022-08-16 Qualcomm Incorporated Placement of parameter sets and sync samples in video coding
WO2016197314A1 (en) 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
US20170006283A1 (en) * 2015-06-30 2017-01-05 Microsoft Technology Licensing, Llc Computationally efficient sample adaptive offset filtering during video encoding
WO2017008263A1 (en) 2015-07-15 2017-01-19 Mediatek Singapore Pte. Ltd. Conditional binary tree block partitioning structure
US10547860B2 (en) * 2015-09-09 2020-01-28 Avago Technologies International Sales Pte. Limited Video coding with trade-off between frame rate and chroma fidelity
US10003822B2 (en) * 2016-02-10 2018-06-19 Primacomp, Inc. Error-resilient coder of image sequences and video
US11064195B2 (en) 2016-02-15 2021-07-13 Qualcomm Incorporated Merging filters for multiple classes of blocks for video coding
WO2017179592A1 (ja) * 2016-04-12 2017-10-19 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US10356800B2 (en) * 2016-05-09 2019-07-16 Qualcomm Incorporated Scalable numerology with symbol boundary alignment for uniform and non-uniform symbol duration in wireless communication
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
US10506230B2 (en) * 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
US10880617B2 (en) * 2017-04-25 2020-12-29 Sharp Kabushiki Kaisha Systems and methods for signaling quality information for regions in virtual reality applications
CN117201821A (zh) 2017-05-26 2023-12-08 Sk电信有限公司 对视频数据进行编码或解码的设备和存储比特流的方法
KR102435881B1 (ko) 2017-05-26 2022-08-24 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
WO2019172202A1 (ja) * 2018-03-05 2019-09-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置及び符号化方法
KR20210016581A (ko) 2018-06-05 2021-02-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Ibc 및 atmvp 간의 상호 작용
TWI739120B (zh) 2018-06-21 2021-09-11 大陸商北京字節跳動網絡技術有限公司 合併仿射模式與非合併仿射模式的統一拘束
EP3788782A1 (en) 2018-06-21 2021-03-10 Beijing Bytedance Network Technology Co. Ltd. Sub-block mv inheritance between color components
US10628276B2 (en) 2018-06-29 2020-04-21 International Business Machines Corporation Unit test framework for testing code in a gateway service
CN108898321B (zh) * 2018-07-09 2021-08-24 西北工业大学 一种基于语义模板的制造技术问题标准冲突参数获取方法
TWI818086B (zh) 2018-09-24 2023-10-11 大陸商北京字節跳動網絡技術有限公司 擴展Merge預測
CN116886926A (zh) 2018-11-10 2023-10-13 北京字节跳动网络技术有限公司 成对平均候选计算中的取整
WO2020103942A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Sub-block temporal motion vector prediction
US10812818B2 (en) 2018-12-14 2020-10-20 Tencent America LLC Network abstraction unit layer type classes in network abstraction layer unit header
CN113228666B (zh) 2018-12-31 2022-12-30 华为技术有限公司 支持视频编解码中的自适应分辨率改变
EP3900362A4 (en) 2019-02-01 2022-03-02 Beijing Bytedance Network Technology Co., Ltd. SIGNALING LOOP SHAPED INFORMATION USING PARAMETER SETS
WO2020156530A1 (en) 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Configuring luma-dependent chroma residue scaling for video coding
US11395006B2 (en) * 2019-03-06 2022-07-19 Tencent America LLC Network abstraction layer unit header
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
CN113678456A (zh) 2019-03-15 2021-11-19 Lg 电子株式会社 用信号通知关于色度格式的信息的方法和装置
CN113632469B (zh) * 2019-03-23 2022-12-13 北京字节跳动网络技术有限公司 默认的环内整形参数
CN116886931A (zh) * 2019-03-25 2023-10-13 寰发股份有限公司 用于视频编解码的量化矩阵计算和表示的方法和装置
US11917143B2 (en) * 2019-04-03 2024-02-27 Lg Electronics Inc. Adaptive loop filter-based video or image coding
KR20210130235A (ko) * 2019-04-15 2021-10-29 엘지전자 주식회사 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
CN113728627B (zh) * 2019-04-26 2023-09-19 北京字节跳动网络技术有限公司 用于环路内重构的参数的预测
CA3141350A1 (en) * 2019-05-24 2020-12-03 Digitalinsights Inc. Video coding method and apparatus using adaptive parameter set
US11032548B2 (en) * 2019-06-24 2021-06-08 Tencent America LLC Signaling for reference picture resampling
EP3997868A4 (en) * 2019-08-10 2023-02-22 Beijing Bytedance Network Technology Co., Ltd. BUFFER MANAGEMENT DURING SUBPICTURE DECODING
KR20220043109A (ko) 2019-08-13 2022-04-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브 블록 기반 인터 예측의 모션 정밀도
CN114424553A (zh) 2019-09-22 2022-04-29 北京字节跳动网络技术有限公司 基于子块的帧间预测的缩放方法
EP4022930A4 (en) * 2019-09-24 2022-11-02 Huawei Technologies Co., Ltd. OLS FOR SPATIAL AND SNR Scalability
CN114424571A (zh) 2019-09-24 2022-04-29 华为技术有限公司 编码器、解码器及对应方法
MX2022003553A (es) * 2019-09-24 2022-06-02 Huawei Tech Co Ltd Señalización de encabezado de imagen en codificación de video.
CN117560496A (zh) 2019-12-26 2024-02-13 字节跳动有限公司 条带类型和视频层的信令通知
CN114902672A (zh) 2019-12-26 2022-08-12 字节跳动有限公司 视频编解码中的档次-层-级别参数集
WO2021134020A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Constraints on signaling of hypothetical reference decoder parameters in video bitstreams
US11343524B2 (en) * 2019-12-27 2022-05-24 Tencent America LLC Method for adaptation parameter set reference and constraints in coded video stream
JP2023508681A (ja) 2019-12-27 2023-03-03 バイトダンス インコーポレイテッド ビデオサブピクチャをシグナリングするための構文
US11356698B2 (en) * 2019-12-30 2022-06-07 Tencent America LLC Method for parameter set reference constraints in coded video stream
CN114946174A (zh) 2020-01-09 2022-08-26 字节跳动有限公司 层间参考图片的存在的信令通知
RU2730422C1 (ru) * 2020-01-14 2020-08-21 Федеральное государственное бюджетное образовательное учреждение высшего образования "Московский автомобильно-дорожный государственный технический университет (МАДИ) Способ пространственного кодирования и передачи цифровой информации
US20230050232A1 (en) * 2020-01-15 2023-02-16 Lg Electronics Inc. In-loop filtering-based image coding apparatus and method
WO2021145726A1 (ko) * 2020-01-15 2021-07-22 엘지전자 주식회사 적응적 루프 필터링 기반 영상 코딩 장치 및 방법
WO2021145725A1 (ko) * 2020-01-15 2021-07-22 엘지전자 주식회사 필터링 관련 정보 시그널링 기반 영상 코딩 장치 및 방법
MX2022009555A (es) * 2020-02-04 2022-11-16 Huawei Tech Co Ltd Un codificador, un decodificador y métodos correspondientes sobre señalización de sintaxis de alto nivel.
US20230064234A1 (en) * 2020-02-06 2023-03-02 Interdigital Patent Holdings, Inc. Systems and methods for encoding a deep neural network
CN115299051A (zh) 2020-03-11 2022-11-04 抖音视界有限公司 视频编解码的一致性窗口参数
US11509920B2 (en) * 2020-03-27 2022-11-22 Tencent America LLC Indication of max sublayer numbers in multilayered video stream
CN115299046A (zh) * 2020-04-01 2022-11-04 寰发股份有限公司 图像和视频编解码中发送切片分割信息的方法和装置
CN115462075A (zh) * 2020-04-21 2022-12-09 杜比实验室特许公司 用于视频译码中的约束处理和符合性测试的语义
WO2021236903A1 (en) 2020-05-21 2021-11-25 Bytedance Inc. Signaling of gradual decoding refresh and reference picture lists
US11431998B2 (en) 2020-05-22 2022-08-30 Tencent America LLC Systems and methods for decoding based on inferred video parameter sets
CN115668949A (zh) * 2020-05-26 2023-01-31 字节跳动有限公司 编解码视频中的帧间层参考图片的标识
CN115699753A (zh) 2020-05-31 2023-02-03 抖音视界有限公司 具有本地双树模式类型定义的调色板模式
US11770549B2 (en) * 2020-06-10 2023-09-26 Sony Group Corporation Video data encoding and decoding circuity applying constraint data
CN117256017A (zh) * 2021-04-23 2023-12-19 字节跳动有限公司 用于视频处理的方法、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010516085A (ja) * 2007-01-05 2010-05-13 トムソン ライセンシング スケーラブル映像符号化用の仮想リファレンスデコーダ
US20100208796A1 (en) * 2007-10-05 2010-08-19 Thomson Licensing Llc Methods and apparatus for incorporating video usability information (vui) within a multi-view video (mvc) coding system

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302490B1 (en) 2000-05-03 2007-11-27 Microsoft Corporation Media file format to support switching between multiple timeline-altered media streams
US20040006575A1 (en) 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
EP1385337A1 (en) 2002-07-22 2004-01-28 Deutsche Thomson-Brandt Gmbh Method and apparatus for storing and transmitting audio-visual data
WO2004030369A1 (en) 2002-09-27 2004-04-08 Videosoft, Inc. Real-time video coding/decoding
US7724818B2 (en) 2003-04-30 2010-05-25 Nokia Corporation Method for coding sequences of pictures
US20050254575A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
KR20050113501A (ko) 2004-05-29 2005-12-02 삼성전자주식회사 에이치 264 비디오 디코더를 위한 구문 분석기
DE102004042819A1 (de) 2004-09-03 2006-03-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen eines codierten Multikanalsignals und Vorrichtung und Verfahren zum Decodieren eines codierten Multikanalsignals
US9560367B2 (en) 2004-09-03 2017-01-31 Nokia Technologies Oy Parameter set and picture header in video coding
US20060233247A1 (en) 2005-04-13 2006-10-19 Visharam Mohammed Z Storing SVC streams in the AVC file format
US8208564B2 (en) 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
JP2009512306A (ja) 2005-10-11 2009-03-19 ノキア コーポレイション スケーラブルビデオコーディングのためのデコードされたピクチャーの効率的なバッファマネージメント
RU2488973C2 (ru) 2006-03-29 2013-07-27 Томсон Лайсенсинг Способы и устройство для использования в системе кодирования многовидового видео
JP5054092B2 (ja) 2006-03-30 2012-10-24 エルジー エレクトロニクス インコーポレイティド ビデオ信号のデコーディング/エンコーディング方法及び装置
KR101349836B1 (ko) 2006-11-17 2014-01-10 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
EP2418851A3 (en) 2006-12-21 2012-05-23 Thomson Licensing Methods and apparatus for improved signaling using high level syntax for multi-view video coding and decoding
EP1994721A4 (en) 2007-01-12 2013-09-25 Univ Kyung Hee Univ Ind Coop Group PACKET FORMAT OF A NETWORK ABSTRACTION LAYER UNIT, ALGORITHM AND VIDEO ENCODING AND DECODING APPARATUS USING THE SAME, QOS CONTROL ALGORITHM AND IPV6 LABEL SWITCHING APPARATUS USING THE FORMAT
US20100266042A1 (en) 2007-03-02 2010-10-21 Han Suh Koo Method and an apparatus for decoding/encoding a video signal
US8548261B2 (en) 2007-04-11 2013-10-01 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding multi-view image
KR101393169B1 (ko) 2007-04-18 2014-05-09 톰슨 라이센싱 코딩 시스템
US20090003431A1 (en) 2007-06-28 2009-01-01 Lihua Zhu Method for encoding video data in a scalable manner
CA2650151C (en) * 2008-01-17 2013-04-02 Lg Electronics Inc. An iptv receiving system and data processing method
EP2286595A1 (en) 2008-06-16 2011-02-23 Dolby Laboratories Licensing Corporation Rate control model adaptation based on slice dependencies for video coding
US8683515B2 (en) 2008-11-25 2014-03-25 Cisco Technology, Inc. Receiver for accelerating channel change time
US20100132007A1 (en) 2008-11-25 2010-05-27 Cisco Technology, Inc. Accelerating channel change time with external picture property markings
US20100189182A1 (en) 2009-01-28 2010-07-29 Nokia Corporation Method and apparatus for video coding and decoding
US9036705B2 (en) 2009-03-13 2015-05-19 Telefonaktiebolaget L M Ericsson (Publ) Technique for bringing encoded data items into conformity with a scalable coding protocol
CN102461171A (zh) 2009-05-01 2012-05-16 汤姆森特许公司 三维视频的参考画面列表
US9774882B2 (en) 2009-07-04 2017-09-26 Dolby Laboratories Licensing Corporation Encoding and decoding architectures for format compatible 3D video delivery
US8462797B2 (en) 2009-11-30 2013-06-11 Alcatel Lucent Method of priority based transmission of wireless video
US9094658B2 (en) 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
WO2012096806A1 (en) 2011-01-14 2012-07-19 Vidyo, Inc. High layer syntax for temporal scalability
US9113172B2 (en) 2011-01-14 2015-08-18 Vidyo, Inc. Techniques for describing temporal coding structure
AU2012225513B2 (en) 2011-03-10 2016-06-23 Vidyo, Inc. Dependency parameter set for scalable video coding
JP6026443B2 (ja) 2011-03-10 2016-11-16 ヴィディオ・インコーポレーテッド ビデオ・ビットストリーム中の描画方向情報
CA2829335A1 (en) 2011-03-10 2012-09-13 Vidyo, Inc. Parameter set maintenance in video coding
US9635355B2 (en) 2011-07-28 2017-04-25 Qualcomm Incorporated Multiview video coding
US10237565B2 (en) 2011-08-01 2019-03-19 Qualcomm Incorporated Coding parameter sets for various dimensions in video coding
US20130094774A1 (en) * 2011-10-13 2013-04-18 Sharp Laboratories Of America, Inc. Tracking a reference picture based on a designated picture on an electronic device
US20130114694A1 (en) 2011-11-08 2013-05-09 Qualcomm Incorporated Parameter set groups for coded video data
WO2013106521A2 (en) 2012-01-10 2013-07-18 Vidyo, Inc. Techniques for layered video encoding and decoding
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
US20150117526A1 (en) 2012-04-23 2015-04-30 Samsung Electronics Co., Ltd. Method for encoding multiview video using reference list for multiview video prediction and device therefor, and method for decoding multiview video using reference list for multiview video prediction and device therefor
US9716892B2 (en) 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
US20140218473A1 (en) 2013-01-07 2014-08-07 Nokia Corporation Method and apparatus for video coding and decoding
US20140307803A1 (en) 2013-04-08 2014-10-16 Qualcomm Incorporated Non-entropy encoded layer dependency information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010516085A (ja) * 2007-01-05 2010-05-13 トムソン ライセンシング スケーラブル映像符号化用の仮想リファレンスデコーダ
US20100208796A1 (en) * 2007-10-05 2010-08-19 Thomson Licensing Llc Methods and apparatus for incorporating video usability information (vui) within a multi-view video (mvc) coding system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6016043662; Minhua Zhou: 'AHG22:High-level signaling of lossless coding mode in HEVC' Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Me JCTVC-G092, 20111124, P.1-P.10, JCTVC *
JPN6016043664; Rickard Sjoberg: 'On num_reorder_frames and max_dec_frame_buffering' Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Me JCTVC-E339, 20110320, P.1-P.4, JCTVC *
JPN6016043667; Jill Boyce,et al.: 'Extensible High Layer Syntax for Scalability' Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Me JCTVC-E279, 20110322, P.1-P.10, JCTVC *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022523219A (ja) * 2019-02-27 2022-04-21 華為技術有限公司 符号化器、復号器及び対応する方法
JP2022523218A (ja) * 2019-02-27 2022-04-21 華為技術有限公司 符号化器、復号器及び対応する方法
JP7418459B2 (ja) 2019-02-27 2024-01-19 華為技術有限公司 符号化器、復号器及び対応する方法
JP7422159B2 (ja) 2019-02-27 2024-01-25 華為技術有限公司 符号化器、復号器及び対応する方法
US11889030B2 (en) 2019-02-27 2024-01-30 Huawei Technologies Co., Ltd. Adaptation parameter set types in video coding

Also Published As

Publication number Publication date
SI2803193T1 (sl) 2017-08-31
RU2014133415A (ru) 2016-03-10
AU2013207799A1 (en) 2014-08-07
JP6117243B2 (ja) 2017-04-19
PH12014501447B1 (en) 2014-10-08
CN104054345B (zh) 2017-09-08
CA2860776C (en) 2018-04-24
TWI517692B (zh) 2016-01-11
KR101760165B1 (ko) 2017-07-20
IL233228A0 (en) 2014-08-31
CA2860776A1 (en) 2013-07-18
WO2013106705A3 (en) 2014-07-17
US9451252B2 (en) 2016-09-20
BR112014017159A8 (pt) 2017-07-04
KR20140120336A (ko) 2014-10-13
RU2633117C2 (ru) 2017-10-11
MY167149A (en) 2018-08-13
SG11201403325SA (en) 2014-09-26
US20130182755A1 (en) 2013-07-18
HUE032097T2 (en) 2017-08-28
EP2803193A2 (en) 2014-11-19
BR112014017159B1 (pt) 2022-12-06
IL233228A (en) 2017-05-29
WO2013106705A2 (en) 2013-07-18
AU2013207799B2 (en) 2017-04-20
TW201342891A (zh) 2013-10-16
EP2803193B1 (en) 2017-04-19
ES2633651T3 (es) 2017-09-22
SG10201605700SA (en) 2016-08-30
PH12014501447A1 (en) 2014-10-08
DK2803193T3 (en) 2017-06-12
CN104054345A (zh) 2014-09-17
BR112014017159A2 (pt) 2017-06-13

Similar Documents

Publication Publication Date Title
JP6117243B2 (ja) ビデオコーディング用のコーディングパラメータセットおよびnalユニットヘッダ
JP6400660B2 (ja) Hevcおよび拡張のためのビデオパラメータセット
US9451256B2 (en) Reusing parameter sets for video coding
JP5902300B2 (ja) マルチビュービデオコード化
JP6158422B2 (ja) アラインされていないirapピクチャを含み得るマルチレイヤビットストリームのクロスレイヤpocアラインメント
JP6162228B2 (ja) ビデオコード化のための長期参照ピクチャについてのデータの信号伝達
JP6377623B2 (ja) ビデオコーディングにおけるターゲット出力レイヤ
US9813736B2 (en) Inter-view dependency type in MV-HEVC
JP2015507417A (ja) 3dビデオコーディングにおけるビュー合成予測サポートのシグナリング

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161024

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161027

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170322

R150 Certificate of patent or registration of utility model

Ref document number: 6117243

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250