特許第6370879号(P6370879)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クゥアルコム・インコーポレイテッドの特許一覧

特許6370879ビデオコーディング拡張のためのパラメータセット設計
<>
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000028
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000029
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000030
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000031
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000032
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000033
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000034
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000035
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000036
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000037
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000038
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000039
  • 特許6370879-ビデオコーディング拡張のためのパラメータセット設計 図000040
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6370879
(24)【登録日】2018年7月20日
(45)【発行日】2018年8月8日
(54)【発明の名称】ビデオコーディング拡張のためのパラメータセット設計
(51)【国際特許分類】
   H04N 19/70 20140101AFI20180730BHJP
   H04N 19/30 20140101ALI20180730BHJP
【FI】
   H04N19/70
   H04N19/30
【請求項の数】12
【全頁数】77
(21)【出願番号】特願2016-506689(P2016-506689)
(86)(22)【出願日】2014年4月8日
(65)【公表番号】特表2016-519510(P2016-519510A)
(43)【公表日】2016年6月30日
(86)【国際出願番号】US2014033379
(87)【国際公開番号】WO2014168976
(87)【国際公開日】20141016
【審査請求日】2017年3月10日
(31)【優先権主張番号】61/809,858
(32)【優先日】2013年4月8日
(33)【優先権主張国】US
(31)【優先権主張番号】14/247,079
(32)【優先日】2014年4月7日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100194814
【弁理士】
【氏名又は名称】奥村 元宏
(72)【発明者】
【氏名】ワン、イェ−クイ
(72)【発明者】
【氏名】チェン、イン
(72)【発明者】
【氏名】ラマスブラモニアン、アダルシュ・クリシュナン
【審査官】 牛丸 太希
(56)【参考文献】
【文献】 米国特許出願公開第2012/0230431(US,A1)
【文献】 米国特許出願公開第2012/0023249(US,A1)
【文献】 Ying Chen, et al.,AHG10: Video parameter set for HEVC extensions,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: Stockholm, SE, 11-20 July 2012,SW,2012年 7月 3日,JCTVC-J0124
【文献】 Benjamin Bross, et al.,High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Last Call),Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Geneva, CH, 14-23 Jan. 2013,SW,2013年 3月19日,JCTVC-L1003_v34,278-286頁
【文献】 Ye-Kui Wang, et al.,AHG9: On VPS and SPS in HEVC 3DV and scalable extensions,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Incheon, KR, 18-26 Apr. 2013,SW,2013年 4月24日,JCTVC-M0268-v2
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
(57)【特許請求の範囲】
【請求項1】
マルチレイヤビデオデータを復号する方法であって、前記方法が、
複数のシンタックス構造と、
複数のレイヤのそれぞれのレイヤごとに、前記それぞれのレイヤに適用されるそれぞれのシンタックス構造の前記複数のシンタックス構造にインデックスを指定するシンタックス要素と、
を含むビデオパラメータセット(VPS)を受信することと、前記複数のシンタックス構造の各それぞれのシンタックス構造は、以下のパラメータ、すなわちvideo_format、video_full_range_flag、colour_primaries、transfer_characteristics、またはmatrix_coeffsのうちの1つまたは複数を含み、ここにおいて、前記video_formatパラメータが、コーディングされるべきピクチャの表現のフォーマットを示し、前記video_full_range_flagパラメータがルーマおよびクロマ信号の範囲と黒レベルとを示し、前記colour_primariesパラメータがソースプライマリの色度座標を示し、前記transfer_characteristicsパラメータがソースピクチャの光−電子伝達特性を示し、前記matrix_coeffsパラメータが、緑、青および赤プライマリからルーマおよびクロマ信号を導出する際に使用される行列係数を記述する、
前記シンタックス構造のうちの少なくとも1つに基づいて前記マルチレイヤビデオデータを復号することと
を備える、方法。
【請求項2】
前記video_formatパラメータ、前記video_full_range_flagパラメータ、前記colour_primariesパラメータ、前記transfer_characteristicsパラメータ、または前記matrix_coeffsパラメータのうちの1つまたは複数が固定長コーディングされる、請求項1に記載の方法。
【請求項3】
前記video_formatパラメータが3ビットの長さを用いて固定長コーディングされ、前記video_full_range_flagパラメータが1ビットの長さを用いて固定長コーディングされ、前記colour_primariesパラメータが8ビットの長さを用いて固定長コーディングされ、前記transfer_characteristicsパラメータが8ビットの長さを用いて固定長コーディングされ、前記matrix_coeffsパラメータが8ビットの長さを用いて固定長コーディングされる、請求項に記載の方法。
【請求項4】
マルチレイヤビデオデータを符号化する方法であって、前記方法が、
前記マルチレイヤビデオデータのためのビデオパラメータセット(VPS)を生成することと、前記VPSは、
複数のシンタックス構造と、
複数のレイヤのそれぞれのレイヤごとに、前記それぞれのレイヤに適用されるそれぞれのシンタックス構造の前記複数のシンタックス構造にインデックスを指定するシンタックス要素と、
を含み、前記複数のシンタックス構造の各それぞれのシンタックス構造は、以下のパラメータ、すなわちvideo_format、video_full_range_flag、colour_primaries、transfer_characteristics、またはmatrix_coeffsのうちの1つまたは複数を含み、ここにおいて、前記video_formatパラメータが、コーディングされるべきピクチャの表現のフォーマットを示し、前記video_full_range_flagパラメータがルーマおよびクロマ信号の範囲と黒レベルとを示し、前記colour_primariesパラメータがソースプライマリの色度座標を示し、前記transfer_characteristicsパラメータがソースピクチャの光−電子伝達特性を示し、前記matrix_coeffsパラメータが、緑、青および赤プライマリからルーマおよびクロマ信号を導出する際に使用される行列係数を記述する、
前記VPSを送信することと
を備える、方法。
【請求項5】
前記video_formatパラメータ、前記video_full_range_flagパラメータ、前記colour_primariesパラメータ、前記transfer_characteristicsパラメータ、または前記matrix_coeffsパラメータのうちの1つまたは複数が固定長コーディングされる、請求項4に記載の方法。
【請求項6】
前記video_formatパラメータが3ビットの長さを用いて固定長コーディングされ、前記video_full_range_flagパラメータが1ビットの長さを用いて固定長コーディングされ、前記colour_primariesパラメータが8ビットの長さを用いて固定長コーディングされ、前記transfer_characteristicsパラメータが8ビットの長さを用いて固定長コーディングされ、前記matrix_coeffsパラメータが8ビットの長さを用いて固定長コーディングされる、請求項5に記載の方法。
【請求項7】
マルチレイヤビデオデータを復号するための装置であって、
複数のシンタックス構造と、
複数のレイヤのそれぞれのレイヤごとに、前記それぞれのレイヤに適用されるそれぞれのシンタックス構造の前記複数のシンタックス構造にインデックスを指定するシンタックス要素と、
を含むビデオパラメータセット(VPS)を受信するための手段と、前記複数のシンタックス構造の各それぞれのシンタックス構造は、以下のパラメータ、すなわちvideo_format、video_full_range_flag、colour_primaries、transfer_characteristics、またはmatrix_coeffsのうちの1つまたは複数を含み、ここにおいて、前記video_formatパラメータが、コーディングされるべきピクチャの表現のフォーマットを示し、前記video_full_range_flagパラメータがルーマおよびクロマ信号の範囲と黒レベルとを示し、前記colour_primariesパラメータがソースプライマリの色度座標を示し、前記transfer_characteristicsパラメータがソースピクチャの光−電子伝達特性を示し、前記matrix_coeffsパラメータが、緑、青および赤プライマリからルーマおよびクロマ信号を導出する際に使用される行列係数を記述する、
前記シンタックス構造のうちの少なくとも1つに基づいて前記マルチレイヤビデオデータを復号するための手段と
を備える、装置。
【請求項8】
前記video_formatパラメータ、前記video_full_range_flagパラメータ、前記colour_primariesパラメータ、前記transfer_characteristicsパラメータ、または前記matrix_coeffsパラメータのうちの1つまたは複数が固定長コーディングされる、請求項7に記載の装置。
【請求項9】
前記video_formatパラメータが3ビットの長さを用いて固定長コーディングされ、前記video_full_range_flagパラメータが1ビットの長さを用いて固定長コーディングされ、前記colour_primariesパラメータが8ビットの長さを用いて固定長コーディングされ、前記transfer_characteristicsパラメータが8ビットの長さを用いて固定長コーディングされ、前記matrix_coeffsパラメータが8ビットの長さを用いて固定長コーディングされる、請求項8に記載の装置。
【請求項10】
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、
複数のシンタックス構造と、
複数のレイヤのそれぞれのレイヤごとに、前記それぞれのレイヤに適用されるそれぞれのシンタックス構造の前記複数のシンタックス構造にインデックスを指定するシンタックス要素と、
を含むビデオパラメータセット(VPS)を受信することと、前記複数のシンタックス構造の各それぞれのシンタックス構造は、以下のパラメータ、すなわちvideo_format、video_full_range_flag、colour_primaries、transfer_characteristics、またはmatrix_coeffsのうちの1つまたは複数を含み、ここにおいて、前記video_formatパラメータが、コーディングされるべきピクチャの表現のフォーマットを示し、前記video_full_range_flagパラメータがルーマおよびクロマ信号の範囲と黒レベルとを示し、前記colour_primariesパラメータがソースプライマリの色度座標を示し、前記transfer_characteristicsパラメータがソースピクチャの光−電子伝達特性を示し、前記matrix_coeffsパラメータが、緑、青および赤プライマリからルーマおよびクロマ信号を導出する際に使用される行列係数を記述する、
前記シンタックス構造のうちの少なくとも1つに基づいてマルチレイヤビデオデータを復号することと
を行わせる、非一時的コンピュータ可読記憶媒体。
【請求項11】
前記装置は、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス、
のうちの少なくとも1つを備える、請求項7に記載の装置。
【請求項12】
された前記マルチレイヤビデオデータを表示するように構成されたディスプレイをさらに備える、請求項7に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本出願は、その全体が参照により本明細書に組み込まれる、2013年4月8日に出願された米国仮出願第61/809,858号の利益を主張する。
[0002] 本開示は、ビデオコーディングにおけるパラメータセットのコーディングに関する。
【背景技術】
【0002】
[0003] デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part 10,アドバンストビデオコーディング(AVC:Advanced Video Coding)、高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
【0003】
[0004] ビデオ圧縮技法は、空間的(ピクチャ内)予測および/または時間的(ピクチャ間)予測を実行して、ビデオシーケンスに固有の冗長性を低減または除去する。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部)がビデオブロックに区分され得、これらのビデオブロックは、ツリーブロック、コーディングユニット(CU:coding unit)および/またはコーディングノードと呼ばれることもある。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測または他の参照ピクチャ中の参照サンプルに対する時間予測を使用して符号化され得る。ピクチャは、フレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【0004】
[0005] 空間予測または時間予測により、コーディングされるべきブロックのための予測ブロックが生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初は2次元アレイに配置される量子化変換係数は、変換係数の1次元ベクトルを生成するために走査され得、さらなる圧縮を達成するために変換係数にエントロピーコーディングが適用され得る。
【発明の概要】
【0005】
[0006] 本開示は、2つ以上の出力レイヤセットが1つのレイヤセットについてコーディングされ得るようにパラメータセットをコーディングするための技法に関する。一例では、ビデオデータをコーディングするためにレイヤセットのための第1の出力レイヤセットとレイヤセットのための第2の出力レイヤセットとが使用され得る。たとえば、第1の出力レイヤセットおよび第2の出力レイヤセットについてビデオデータがコーディングされ得る。
【0006】
[0007] 本開示は、パラメータセットをコーディングするための技法に関する。たとえば、ビデオコーダは、VPS中のすべてのプロファイル情報、ティア情報、および/またはレベル情報をコーディングし得、プロファイル情報、ティア情報、レベル情報は、いくつかの例では、エントロピー復号なしにアクセス可能であるような方法で、1つのプロファイル構造、ティア構造、レベルシンタックス構造によってシグナリングされる各出力レイヤセットに関連し得る。一例では、本開示は、いくつかの例では、エントロピーコーディングなしにアクセス可能であるパラメータセット拡張シンタックス内の位置(すなわち、パラメータセット拡張中のエントロピーコード化シンタックス要素より前)における、ビデオパラメータセット(VPS:video parameter set)拡張シンタックスなどのパラメータセット拡張シンタックス中のprofile_tier_levelシンタックス構造をコーディングするための技法について説明する。いくつかの例では、VPS中のすべてのプロファイル情報、ティア情報、および/またはレベル情報がエントロピーコーディングなしにアクセス可能であり得るが、他の例では、VPS中のいくつかのまたはすべてのプロファイル情報、ティア情報、および/またはレベル情報のために、低減された量のエントロピーコーディングまたは何らかの限られたエントロピーコーディングが必要とされ得る。
【0007】
[0008] 別の例では、本開示は、VPS中のマルチレイヤビデオデータ(multilayer video data)中のレイヤ依存情報を、エントロピー復号なしにアクセス可能であるようにコーディングするための技法に関する。いくつかの例では、エントロピー符号化されたパラメータセット拡張シンタックスのシンタックス要素より前のVPS拡張内の位置にある、非エントロピー符号化レイヤ依存情報を送信または受信することを含めて、マルチレイヤビデオデータをコーディングし得る。この技法は、非エントロピー符号化レイヤ依存情報に基づいてビデオデータのレイヤのうちの1つまたは複数のビデオデータをコーディングすることを含み得る。レイヤ依存情報は、レイヤのうちの1つがレイヤのうちの別の1つのための直接参照レイヤであるかどうかを示す。
【0008】
[0009] 別の例では、本開示は、パラメータセットをコーディングするための技法に関する。たとえば、ビデオコーダは、VPS中のすべてのプロファイル情報、ティア情報、および/またはレベル情報をコーディングし得、プロファイル情報、ティア情報、レベル情報は、場合によってはそれがエントロピー復号なしにアクセス可能であるような方法で、1つのプロファイル構造、ティア構造、レベルシンタックス構造によってシグナリングされる各出力レイヤセットに関連し得る。いくつかの例では、VPS中のすべてのプロファイル情報、ティア情報、および/またはレベル情報がエントロピーコーディングなしにアクセス可能であり得るが、他の例では、VPS中のいくつかのまたはすべてのプロファイル情報、ティア情報、および/またはレベル情報のために、低減された量のエントロピーコーディングまたは何らかの限られたエントロピーコーディングが必要とされ得る。
【0009】
[0010] 別の例では、本開示は、VPS中のレイヤごとにvideo_format、video_full_range_flag、colour_primaries、transfer_characteristics、matrix_coeffsなどの視覚的信号情報をコーディングするための技法に関する。
【0010】
[0011] 別の例では、本開示は、異なる空間解像度、ビット深度、またはカラーフォーマットのレイヤによるSPS共有の技法に関する。
【0011】
[0012] 別の例では、本開示は、レイヤID(nuh_layer_id)が0よりも大きいシーケンスパラメータセット(SPS:sequence parameter set)のビデオ活用性情報(VUI:Video Usability Information)中でタイミング情報が与えられないようなビデオコーディングの技法に関する。
【0012】
[0013] 別の例では、本開示は、デフォルト出力レイヤセットについてターゲット出力レイヤの明示的シグナリングが与えられないようなビデオコーディングの技法に関する。
【0013】
[0014] 別の例では、本開示は、各コード化ビデオシーケンス(CVS:coded video sequence)(sps_max_sub_layers_minus1)中に存在し得る最大数の時間サブレイヤのシグナリング、またはレイヤIDが0よりも大きいSPS中のCVS(sps_temporal_id_nesting_flag)についてインター予測がさらに制限されるかどうかのシグナリングを回避するための技法に関する。
【0014】
[0015] 別の例では、本開示は、本開示の技法に従ってシンタックス要素output_layer_set_idx[i]がoutput_layer_set_idx_minus1[i]に変更され得るための技法に関する。
【0015】
[0016] 一例では、本開示は、マルチレイヤビデオデータを復号する方法について説明し、本方法は、ビデオパラメータセット(VPS)中のレイヤごとにシグナリングされた視覚信号情報(visual signal information)を含むVPSを受信することと、VPS中のレイヤごとにシグナリングされた受信された視覚信号情報に基づいてビデオデータを復号することと含む。
【0016】
[0017] 別の例では、本開示は、マルチレイヤビデオデータを符号化する方法について説明し、本方法は、ビデオパラメータセット(VPS)中のレイヤごとにシグナリングされた視覚信号情報に基づいてビデオデータを符号化することと、VPS中のレイヤごとにシグナリングされた視覚信号情報を含むVPSを送信することとを含む。
【0017】
[0018] 別の例では、本開示は、ビデオデータを記憶するように構成されたメモリと、ビデオパラメータセット(VPS)中のレイヤごとにシグナリングされた視覚信号情報を含むVPSを受信することと、VPS中のレイヤごとにシグナリングされた受信された視覚信号情報に基づいてビデオデータを復号することとを行うように構成されたプロセッサとを含む、マルチレイヤビデオデータを復号するための装置について説明する。
【0018】
[0019] 別の例では、本開示は、ビデオパラメータセット(VPS)中のレイヤごとにシグナリングされた視覚信号情報を含むVPSを受信するための手段と、VPS中のレイヤごとにシグナリングされた受信された視覚信号情報に基づいてビデオデータを復号するための手段とを含む、マルチレイヤビデオデータを復号するための装置について説明する。
【0019】
[0020] 別の例では、本開示はコンピュータ可読記憶媒体について説明する。実行されたときに、1つまたは複数のプロセッサに、ビデオパラメータセット(VPS)中のレイヤごとにシグナリングされた視覚信号情報を含むVPSを受信することと、VPS中のレイヤごとにシグナリングされた受信された視覚信号情報に基づいてビデオデータを復号することとを行わせる命令を記憶したコンピュータ可読記憶媒体。
【0020】
[0021] 1つまたは複数の例の詳細が以下の添付の図面および説明において記載されている。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0021】
図1】[0022] 本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
図2】[0023] 本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
図3】[0024] 本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
図4】[0025] 本明細書で説明するシステムおよび方法によるビデオデータを復号するための例示的な方法を示すフローチャート。
図5】[0026] 本明細書で説明するシステムおよび方法によるビデオデータを符号化するための別の例示的な方法を示すフローチャート。
図6】[0027] 本明細書で説明するシステムおよび方法によるビデオデータを復号するための例示的な方法を示すフローチャート。
図7】[0028] 本明細書で説明するシステムおよび方法によるビデオデータを符号化するための例示的な方法を示すフローチャート。
図8】[0029] 本明細書で説明するシステムおよび方法によるビデオデータを復号するための例示的な方法を示すフローチャート。
図9】[0030] 本明細書で説明するシステムおよび方法によるビデオデータを符号化するための例示的な方法を示すフローチャート。
図10】[0031] 本明細書で説明するシステムおよび方法によるビデオデータを復号するための例示的な方法を示すフローチャート。
図11】[0032] 本明細書で説明するシステムおよび方法によるビデオデータを符号化するための例示的な方法を示すフローチャート。
図12】[0033] 本明細書で説明するシステムおよび方法によるビデオデータを復号するための例示的な方法を示すフローチャート。
図13】[0034] 本明細書で説明するシステムおよび方法によるビデオデータを符号化するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【0022】
[0035] 本開示は概して、ビデオコーディングおよび圧縮の分野に関する。一例として、本開示は、現在開発中の高効率ビデオコーディング(HEVC)規格に関する。「コーディング」という用語は、符号化および復号を指し、この技法は符号化、復号、または符号化と復号の両方に適用され得る。より詳細に説明するように、この技法は、ピクチャ内のブロックが同じピクチャ中の別の1つまたは複数のブロックに対して予想される(すなわち、空間予測)イントラコーディング(たとえば、イントラ予測)に関係し得る。
【0023】
[0036] 以前のビデオコーディングシステムでは、レイヤセットのためのプロファイル、ティア、およびレベルにアクセスするにはエントロピー復号が必要である。同様に、レイヤ依存情報はエントロピー復号なしにアクセス可能でない。また、出力レイヤセットのシグナリングが問題になり、効率が悪くなることがある。
【0024】
[0037] 本明細書で説明するシステム、方法、およびデバイスの一例は、ビデオパラメータセット(VPS)拡張シンタックスなどのパラメータセット拡張シンタックス中で、潜在的に、エントロピー符号化なしに(すなわち、拡張シンタックス中のエントロピーコード化要素より前に)ならびに/あるいは何らかの低減されたまたは限られたエントロピーコーディングを用いてアクセス可能である拡張シンタックス内の位置にある、profile_tier_level()シンタックス構造のセットがシグナリングされることを可能にする。VPS拡張シンタックスについて、例として本開示全体にわたって説明する。一例では、VPSは、各スライスセグメントヘッダ中に見られるシンタックス要素によって参照されるPPS中に見られるシンタックス要素によって参照されるSPS中に見られるシンタックス要素のコンテンツによって決定されるような0個以上のコード化ビデオシーケンス(CVS)全体に適用されるシンタックス要素を含んでいるシンタックス構造である。一例では、CVSは、NoRaslOutputFlagが1に等しいIRAPアクセスユニットと、その後に、NoRaslOutputFlagが1に等しいIRAPアクセスユニットではなく、NoRaslOutputFlagが1に等しいIRAPアクセスユニットである以後のアクセスユニットを含まない、NoRaslOutputFlagが1に等しいIRAPアクセスユニットまでの、すべての以後のアクセスユニットを含む、0個以上のアクセスユニットとのを復号順に含むアクセスユニットのシーケンスである。さらに、レイヤセットは2つ以上の出力レイヤセットに対応し得、1つのレイヤセットに対応する異なる出力レイヤセットが異なるレベルに適合し得るので、profile_tier_level()シンタックス構造はレイヤセットではなく出力レイヤセットに関連し得る。
【0025】
[0038] profile_tier_level()シンタックス構造は、プロファイル、ティア、およびレベルに関係するシンタックス情報を与えるシンタックス構造である。プロファイル、ティア、およびレベルは、HEVC規格またはHEVC拡張規格を、それが同様の機能要件を有し得る様々な適用例にわたって相互運用可能であるように実装するための異なる適合点を指定する。いくつかの例では、プロファイルは、適合ビットストリームを生成する際に使用し得るコーディングツールまたはアルゴリズムのセットを定義し得る。いくつかの例では、ティアおよびレベルは、ビットストリームのパラメータのいくつかに制約を課し得る。いくつかの例では、これらのパラメータは、デコーダ処理負荷およびデコーダメモリ能力に対応し得る。レベル情報は、データの処理に対する制約を確立し得る。たとえば、レベル情報は、最大サンプルレート、最大ピクチャサイズ、最大ビットレート、最小圧縮比を含み得る。レベル情報はまた、復号ピクチャバッファ(DPB:decoded picture buffer)およびコード化ピクチャバッファ(CPB:coded picture buffer)の能力を含み得る。CPBは、データフロー管理を目的として圧縮データをそれの復号前に保持する。DPBは、復号されたピクチャデータを保持する。
【0026】
[0039] 本明細書において説明するシステム、方法、およびデバイスの別の例は、ビデオデータのレイヤを含むマルチレイヤビデオデータをコーディングすることを可能にする。これらのシステム、方法、およびデバイスは、VPS拡張シンタックスなどのパラメータセット拡張シンタックス内の、エントロピー符号化された拡張のシンタックス要素より前の位置にある非エントロピー符号化レイヤ依存性情報を送信または受信することを含み得る。さらに、これらのシステム、方法、およびデバイスは、非エントロピー符号化レイヤ依存情報に基づいてビデオデータのレイヤのうちの1つまたは複数のビデオデータを復号し得る。レイヤ依存情報は、レイヤのうちの1つがレイヤのうちの別の1つのための直接参照レイヤであるかどうかを示す。VPS拡張シンタックスについて、例として本開示全体にわたって再び説明する。
【0027】
[0040] 以下でより詳細に説明するように、一例では、2つ以上の出力レイヤセットが1つのレイヤセットについてシグナリングされ得る。たとえば、本明細書で説明するように、シンタックス要素output_layer_flag[lsIdx][j]がoutput_layer_flag[i][j]に変更され得、関係するセマンティクスがそれに応じて変更される。
【0028】
[0041] 以下により詳しく説明するように、別の例では、それがエントロピー復号なしにアクセス可能である方法で、プロファイル情報、ティア情報、およびレベル情報がVPS中でシグナリングされ得る。このことは、ue(v)以外の記述子(descriptor)を有するパラメータをもつ以下の表のうちの1つまたは複数に示されている(ue(v)はエントロピーコーディングを示す)。たとえば、記述子は固定長コーディング(fixed length coding)、たとえば、u(n)を示し得、ここで、nは整数1以上である。
【0029】
[0042] 以下にさらに詳しく説明するように、別の例では、レイヤ依存情報が、それがエントロピーなしにアクセス可能である方法でVPS中でシグナリングされ得る。このことは、ue(v)以外の記述子を有するパラメータをもつ以下の表のうちの1つまたは複数に示されている。たとえば、記述子は固定長コーディング、たとえば、u(n)を示し得、ここで、nは整数1以上である。
【0030】
[0043] 以下にさらに詳しく説明するように、別の例では、表現フォーマット(representation format)は、潜在的に、それが、エントロピー復号なしにあるいは何らかの低減されたまたは限られたエントロピーコーディングでアクセス可能である方法で、VPS中でシグナリングされ得る。たとえば、chroma_format_vps_idc、separate_colour_plane_vps_flag、pic_width_vps_in_luma_samples、pic_height_vps_in_luma_samples、bit_depth_vps_luma_minus8、およびbit_depth_vps_chroma_minus8などの表現フォーマットパラメータが、VPS中でシグナリングされ、いくつかの例ではエントロピーコーディングされない。このことは、ue(v)以外の記述子を有するパラメータをもつ以下の表のうちの1つまたは複数に示されている。これらの表現フォーマットパラメータは、特定のパラメータが固定長コーディングであることを示す記述子、たとえば、u(n)を有し得、ここで、nは整数1以上である。場合によっては、「_vps」は様々なパラメータ名から除去されており、たとえば、chroma_format_vps_idcはchroma_format_idcとも呼ばれ、separate_colour_plane_vps_flagはseparate_colour_plane_flagとも呼ばれ、pic_width_vps_in_luma_samplesはpic_width_in_luma_samplesとも呼ばれ、pic_height_in_luma_samplesはpic_height_in_luma_samplesとも呼ばれ、bit_depth_vps_luma_minus8はbit_depth_luma_minus8とも呼ばれ、bit_depth_vps_chroma_minus8はbit_depth_vps_chroma_minus8とも呼ばれ、他のパラメータについても同様であり得る。
【0031】
[0044] 以下でより詳細に説明するように、別の例では、video_format、video_full_range_flag、colour_primaries、transfer_characteristics、またはmatrix_coeffsなどの視覚的信号情報が、VPS中でレイヤごとにシグナリングされ得る。本明細書で説明するように、video_format、video_full_range_flag、colour_primari、transfer_characteristics、またはmatrix_coeffsなどの視覚的信号情報は、たとえば、HEVC規格の付属書類Eに明記されたように、ビデオ活用性情報(VUI)パラメータのサブセットであり得る。VUI、したがって視覚的信号情報は、VPS中にあり、VPS中でレイヤごとにシグナリングされ得る。
【0032】
[0045] 以下でより詳細に説明するように、別の例では、異なる空間解像度、ビット深度、またはカラーフォーマットをもつレイヤによってシーケンスパラメータセット(SPS)共有が実行され得る。一例では、SPSは、各スライスセグメントヘッダ中に見られるシンタックス要素によって参照されるPPS中に見られるシンタックス要素のコンテンツによって決定されるような0個以上のCVS全体に適用されるシンタックス要素を含んでいるシンタックス構造である。いくつかの例では、マルチレイヤビデオデータを復号する方法は、ビデオパラメータセットと第1のシーケンスパラメータセットとを受信することを含み得る。この方法はまた、第1のシーケンスパラメータセットを参照する第1のレイヤを受信することと、空間解像度、ビット深度、およびカラーフォーマットのうちの少なくとも1つの第1のレイヤとは異なる値を有する、第1のシーケンスパラメータセットを参照する第2のレイヤを受信することとを含み得る。さらに、この例示的な方法は、ビデオパラメータセットと第1のシーケンスパラメータセットとからの情報に基づいて第1および第2のレイヤのビデオデータを復号することを含み得る。
【0033】
[0046] 以下でより詳細に説明するように、別の例では、レイヤID(nuh_layer_id)が0よりも大きいSPSのVUI中にタイミング情報はコーディングされない。いくつかの例では、レイヤIDが0よりも大きいSPSを参照するレイヤのために、VPS中でシグナリングされるタイミング情報が使用される。
【0034】
[0047] 以下でより詳細に説明するように、別の例では、デフォルトの出力レイヤセットのためにターゲット出力レイヤの明示的なシグナリングは使用されない。たとえば、multiple_output_layer_sets_in_layer_set_flagが0に等しいことは、VPSによってレイヤごとにただ1つの出力レイヤが指定され、最上位レイヤが唯一のターゲット出力レイヤであることを指定するので、デフォルトの出力レイヤセットのためのターゲット出力レイヤの明示的なシグナリングは必要とされない。たとえば、multiple_output_layer_sets_in_layer_set_flagが0に等しいときは、各レイヤセットのためにただ1つの出力レイヤセットがあり、最上位レイヤが唯一のターゲット出力レイヤであるので、どのレイヤを出力すべきかをシグナリングする必要はない。
【0035】
[0048] 以下でより詳細に説明するように、別の例では、sps_max_sub_layers_minus1およびsps_temporal_id_nesting_flagはSPS中でシグナリングされない。場合によっては、nuh_layer_id_>0であるときにSPS中でこのシグナリングは行われない。
【0036】
[0049] 以下でより詳細に説明するように、別の例では、シンタックス要素output_layer_set_idx[i]がoutput_layer_set_idx_minus1[i]に変更され得る。この理由は、0に等しいoutput_layer_set_idx[i]に使用されるシンタックス要素layer_id_included_flag[i][j]がレイヤセット0のシンタックス要素であり、レイヤセット0のためにlayer_id_included_flag[i][j]が定義されないからである。さらに、レイヤセット0のためのターゲット出力レイヤは常にレイヤ0である(ベースレイヤ)。
【0037】
[0050] 上記の様々な例は、エントロピーコーディングされない様々なデータ、パラメータなどをもつ態様を含み得る。このことにより、データ、パラメータなどは、エントロピーコーディングを行うエントロピーコーダなしのデバイスにとってアクセス可能であり得る。たとえば、場合によっては、メディアアウェアネットワークエンティティ(MANE)はエントロピーコーディングデバイスを有しないことがあるが、一般に、データ、パラメータなどの非エントロピーコード化情報をコーディングする(たとえば、復号する)ことができるであろう。
【0038】
[0051] 「HEVCワーキングドラフト10」または「WD10」と呼ばれるHEVC規格の最近のドラフトは、ドキュメントJCTVC−L1003v34、Brossら、「High efficiency video coding (HEVC) text specification draft 10 (for FDIS & Last Call)」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のジョイントコラボレーティブチームオンビデオコーディング(JCT−VC)、第12回会議、Geneva、CH、2013年1月14〜23日に記載されており、それは、2013年10月15日現在、以下のサイトからダウンロード可能である。http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip
[0052] 「HEVCワーキングドラフト6」または「WD6」と呼ばれるHEVCの別の最近のワーキングドラフト(WD)は、ドキュメントJCTVC−H1003、Brossら、「High-Efficiency Video Coding (HEVC) text specification draft 6」、JITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のジョイントコラボレーティブチームオンビデオコーディング(JCT−VC)、第8回会議、San Jose、California、USA、2012年2月に記載されており、それは、2013年10月15日現在、以下のサイトからダウンロード可能である。http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zip
[0053] 「HEVCワーキングドラフト8」または「WD8」と呼ばれるHEVCの別の最近のワーキングドラフト(WD)は、JCTVC−J1003、Brossら、「High-Efficiency Video Coding (HEVC) text specification draft 8」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のジョイントコラボレーティブチームオンビデオコーディング(JCT−VC)、第10回会議、Stockholm、SE、2012年7月11〜20日に記載されており、それは、2013年10月15日現在、以下のサイトからダウンロード可能である。http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip
[0054] HEVC範囲拡張は、ドキュメントJCTVC−N1005_v3、Flynnら、「High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 4」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のジョイントコラボレーティブチームオンビデオコーディング(JCT−VC)、第13回会議、Incheon、KR、2013年4月18〜26日に記載されており、2013年10月15日現在、以下のサイトからダウンロード可能である。http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=8139。
【0039】
[0055] 図1は、本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、後でビデオデコーダ30によって復号されるべき符号化ビデオデータを生成するビデオエンコーダ20を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14はワイヤレス通信のために装備され得る。
【0040】
[0056] 宛先デバイス14は、リンク16を介して、復号されるべき符号化ビデオデータを受信し得る。リンク16は、符号化ビデオデータをビデオエンコーダ20からビデオデコーダ30に移動させることが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク16は、ビデオエンコーダ20が、符号化ビデオデータをリアルタイムでビデオデコーダ30に直接送信することを可能にする通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【0041】
[0057] 代替的に、符号化データは出力インターフェース22から記憶デバイス34に出力され得る。同様に、入力インターフェース28は記憶デバイス34から符号化データにアクセスし得る。記憶デバイス34は、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散したまたはローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイス34は、ビデオエンコーダ20によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、記憶デバイス34からの記憶されたビデオデータにストリーミングを介してアクセスするかまたは記憶されたビデオデータを入力インターフェース28を介してダウンロードし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータをビデオデコーダ30に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、(たとえば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブがある。ビデオデコーダ30は、インターネット接続を含む、任意の標準的なデータ接続を介して符号化ビデオデータにアクセスし得る。これには、ファイルサーバ上に記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、またはその両方の組合せを含み得る。記憶デバイス34からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【0042】
[0058] 本開示の技法は、必ずしもワイヤレス適用例またはワイヤレス設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体上に記憶するためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、単方向または双方向ビデオ送信をサポートするように構成され得る。
【0043】
[0059] 図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ビデオソース18は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14はいわゆるカメラ付き携帯電話またはビデオ付き携帯電話を形成し得る。しかし、本開示に記載された技法は、ビデオコーディング全般に適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
【0044】
[0060] ビデオエンコーダ20は、ビデオソース18から受信されたキャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータによって生成されたビデオを符号化する。キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータによって生成されたビデオは、4:2:0サンプルフォーマット、4:2:2サンプルフォーマット、または4:4:4サンプルフォーマットを含む上記のサンプルフォーマットのいずれかに従ってフォーマットされ得る。ビデオエンコーダ20は、4:2:0サンプルフォーマット、4:2:2サンプルフォーマット、または4:4:4サンプルフォーマットのいずれかに従ってフォーマットされたビデオに対してビデオコーディングを実行し得る。場合によっては、ビデオエンコーダ20は、コーディングプロセスの一部として、キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータによって生成されたビデオをアップサンプリングまたはダウンサンプリングし得る。たとえば、キャプチャされたビデオは、4:4:4サンプルフォーマットに従ってフォーマットされ得、ビデオエンコーダ20は、キャプチャされたビデオを4:2:2フォーマットにダウンサンプリングし、ダウンサンプリングされたビデオにビデオ符号化を実行し得る。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信され得る。符号化ビデオデータはまた(または代替として)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのためにストレージデバイス34上に記憶され得る。
【0045】
[0061] 宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信する。リンク16を介して通信され、またはストレージデバイス34上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30などのビデオデコーダによる使用のためにビデオエンコーダ20によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ上に記憶される符号化ビデオデータに含められ得る。
【0046】
[0062] ディスプレイデバイス32は、宛先デバイス14と一体化されるか、またはその外部にあり得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み、さらに外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【0047】
[0063] ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオ圧縮規格に従って動作し得、概して現在のHEVCテストモデル(HM)または将来のHMに準拠し得る。
【0048】
[0064] 代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part 10,アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の改訂または拡張に従って動作し得る。本開示の技法は、HEVC拡張に適用可能であるように記載されているが、必ずしも任意の特定のコーディング規格に限定されるとは限らない。ビデオ圧縮規格の他の例としてはMPEG−2およびITU−T H.263がある。
【0049】
[0065] 図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は各々、それぞれオーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータプロトコル(UDP)などの他のプロトコルに準拠し得る。
【0050】
[0066] ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本開示の技法がソフトウェアに部分的に実装されるとき、デバイスは、ソフトウェアに対する命令を好適な非一時的コンピュータ可読媒体に記憶し、1つまたは複数のプロセッサを使用して命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれ得、そのいずれも、それぞれのデバイスにおいて、複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。
【0051】
[0067] 図1に示された例では、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットを送信または受信し得る。たとえば、ビデオエンコーダ20は、プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットを送信し得、ビデオデコーダ30は、たとえばビデオエンコーダ20から送られたプロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットを受信し得る。
【0052】
[0068] プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットは、VPS拡張内の、エントロピー符号化されたVPS拡張の他のシンタックス要素より前の位置に存在し得る。ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、複数の出力レイヤセットの各々のためのプロファイル、ティア、およびレベルシンタックス構造のうちの1つを参照し、出力レイヤセットのために参照されたプロファイル、ティア、およびレベルシンタックス構造からの情報に基づいて出力レイヤセットのうちの1つのビデオデータを復号し得る。たとえば、ビデオエンコーダ20は、複数の出力レイヤセットの各々のためのプロファイル、ティア、およびレベルシンタックス構造のうちの1つを参照し、出力レイヤセットのために参照されたプロファイル、ティア、およびレベルシンタックス構造からの情報に基づいて出力レイヤセットのうちの1つのビデオデータを符号化し得る。ビデオデコーダ30は、複数の出力レイヤセットの各々のためのプロファイル、ティア、およびレベルシンタックス構造のうちの1つを参照し、出力レイヤセットのために参照されたプロファイル、ティア、およびレベルシンタックス構造からの情報に基づいてその出力レイヤセットのビデオデータを復号し得る。
【0053】
[0069] いくつかの例では、ビデオコーダは、nuh_layer_idが0に等しいシーケンスパラメータセット(SPS)をさらに送信または受信し得、ここにおいて、SPSは、ビデオデータのレイヤのためのプロファイル、ティア、およびレベルシンタックス構造を含む。nuh_layer_idは、特定のレイヤを示すために使用され得る。レイヤは、すべてが特定の値のnuh_layer_idを有するビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットと、関連する非VCL NALユニットとのセット、または階層的関係を有する構文的構造のセットの1つであり得る。nuh_layer_idは、1つのレイヤのみを含むビットストリームにおいて0に等しいものとする。nuh_layer_idの他の値は、複数のレイヤを含むビットストリームに現れ得る。一例では、NALユニットは、後続のデータのタイプの表示と、必要に応じてエミュレーション防止バイトが交ぜられたローバイトシーケンスペイロード(RBSP:raw byte sequence payload)の形をしたデータを含むバイトとを含むシンタックス構造である。一例では、RBSPは、NALユニット内にカプセル化され、空であるか、シンタックス要素を含んでいるデータビットのストリング、その後に続くRBSPストップビットおよびそれに続く、0に等しい0個以上のビットの形を有するかのいずれかである、整数個のバイトを含んでいるシンタックス構造である。
【0054】
[0070] ビデオエンコーダ20は、nuh_layer_idが0に等しいSPSをさらに送信または受信し得、ここにおいて、SPSは、ビデオデータのレイヤのためのプロファイル、ティア、およびレベルシンタックス構造を含む。ビデオデコーダ30は、nuh_layer_idが0に等しいSPSを受信し得、ここにおいて、SPSは、ビデオデータのレイヤのためのプロファイル、ティア、およびレベルシンタックス構造を含む。
【0055】
[0071] いくつかの例では、nuh_layer_idが0よりも大きいレイヤがSPSを参照するとき、ビデオデコーダは、SPSのプロファイル、ティア、およびレベルシンタックス構造を使用したnuh_layer_idが0よりも大きいレイヤのビデオデータの復号を行わないことがある。いくつかの例では、プロファイル、ティア、およびレベルシンタックス構造を出力レイヤセットのそれぞれにリンクし得る。したがって、1つまたは複数の特定のプロファイル、ティア、およびレベルシンタックス構造は、1つまたは複数の特定の出力レイヤセットの符号化および/または復号を行うために使用され得るように1つまたは複数の特定の出力レイヤセットに接続され得る。リンクすることは、プロファイル、ティア、およびレベルシンタックス構造のインデックスを表すシンタックス要素に基づいて、プロファイル、ティア、およびレベルシンタックス構造の各々がリンクされる出力レイヤセットの各々を識別することを含み得る。ビデオデータを復号することは、それぞれの出力レイヤセットにリンクされたプロファイル、ティア、およびレベルシンタックス構造からの情報に基づいて、1つまたは複数の出力レイヤセットのビデオデータを復号することを含み得る。
【0056】
[0072] 複数のレイヤを含む例では、すべてのレイヤのビットストリームが複数の適合ビットストリームに分割され、たとえば、レイヤセットごとに1つのビットストリームに分割され得る。これらの複数の適合ビットストリームの各々はレイヤセットと呼ばれ得る。レイヤセットは、特定のレイヤおよびその特定のレイヤが復号のために依存する任意の参照レイヤの参照を含み得る。この場合、特定のレイヤが依存する参照レイヤがあると仮定する。したがって、レイヤセットは特定のレイヤに関連するNALユニットと特定のレイヤを復号するのに必要な参照レイヤのためのNALユニットとを含み得る適合ビットストリームである。
【0057】
[0073] 出力レイヤセットは、ターゲット出力レイヤのリストが指定されたレイヤセットである。レイヤセットについては、ターゲット出力レイヤのリストは指定されない。出力レイヤセットは、表示のために出力されることが意図された1つまたは複数の特定のレイヤの出力レイヤセットであり得る。いくつかの例では、2つ以上の出力レイヤセットが1つのレイヤセットのためにシグナリングされ得る。
【0058】
[0074] いくつかの例では、ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、1に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤであることを指定し、0に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤではないことを指定する出力レイヤフラグ[i][j]を必要に応じて送信または受信し得る。たとえば、ビデオエンコーダ20は、1に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤであることを指定し、0に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤではないことを指定する出力レイヤフラグ[i][j]を送信し得る。ビデオデコーダ30は、1に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤであることを指定し、0に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤではないことを指定する出力レイヤフラグ[i][j]を送信し得る。
【0059】
[0075] ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、1に等しい出力レイヤフラグ[i][j]に対応するレイヤをターゲット出力レイヤの関連するリストとして指定することによって、出力レイヤフラグ[i][j]に基づいて出力レイヤセットを生成し得る。たとえば、ビデオエンコーダ20は、出力レイヤフラグ[i][j]に基づいて出力レイヤセットを符号化し得る。ビデオデコーダ30は、出力レイヤフラグ[i][j]に基づいて出力レイヤセットを復号し得る。図1に示された例では、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、ビデオデータのレイヤを含むマルチレイヤビデオデータをコーディングし得る。
【0060】
[0076] ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、VPS拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置にある非エントロピー符号化レイヤ依存情報を送信または受信し得る。これにより、たとえば、MANEなどの、エントロピーコーダを含まないデバイスによってレイヤ依存情報を符号化または復号することが可能になる。さらに、レイヤ依存情報をより早くコーディングすることも可能になり得る。たとえば、レイヤ依存情報が復号プロセスにおいてより早くデコーダであり得る。たとえば、ビデオエンコーダ20は、VPS拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置にある非エントロピー符号化レイヤ依存情報を送信し得る。ビデオデコーダ30は、VPS拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置にある非エントロピー符号化レイヤ依存情報を受信し得る。
【0061】
[0077] ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、非エントロピー符号化レイヤ依存情報に基づいてビデオデータのレイヤのうちの1つまたは複数のレイヤのビデオデータをコーディングし得る。たとえば、ビデオエンコーダ20は、非エントロピー符号化レイヤ依存情報に基づいてビデオデータのレイヤのうちの1つまたは複数のレイヤのビデオデータを符号化し得る。ビデオデコーダ30は、非エントロピー符号化レイヤ依存情報に基づいてビデオデータのレイヤのうちの1つまたは複数のレイヤのビデオデータを符号化し得る。レイヤ依存情報は、レイヤのうちの1つがレイヤのうちの別の1つのレイヤのための直接参照レイヤであるかどうかを示す。
【0062】
[0078] いくつかの例では、レイヤ依存情報は、0に等しいときに、インデックスjを有するレイヤがインデックスIを有するレイヤのための直接参照レイヤではないことを指定し、1に等しいときに、インデックスjを有するレイヤがインデックスiを有するレイヤのための直接参照レイヤになり得ることを指定するdirect_dependency_flag[i][j]を含む。
【0063】
[0079] 本明細書で説明するシステム、方法、およびデバイスの一例は、profile_tier_level()シンタックス構造のセットをVPS拡張シンタックス中でシグナリングすることを可能にする。いくつかの例では、profile_tier_level()シンタックス構造のセットは、エントロピーコーディングなしにアクセス可能であるVPS拡張シンタックス内の位置、すなわち、VPS拡張シンタックス中のエントロピーコード化要素より前の位置にあるVPS拡張シンタックス中でシグナリングされる。
【0064】
[0080] いくつかの例では、VPS拡張シンタックスのエントロピーコード化要素の前にプロファイル、ティア、およびレベルシンタックス構造を存在させる。これらのシンタックス構造は、出力レイヤセットにリンクされ得る。いくつかの例では、シンタックス要素vps_num_layer_sets_minus1 plus 1は、VPSによって指定されたレイヤセットの数を指定する。レイヤセットは、あるレイヤとそのレイヤが依存する任意の(0個以上の)他のレイヤとを含むセットであり得る。たとえば、スケーラブルビデオコーディングにおけるレイヤ2のためのレイヤセットは、レイヤ0、レイヤ1、およびレイヤ2を含み得る。レイヤセットごとに、1つまたは複数の出力レイヤセットが指定され得る。各出力レイヤセットは、プロファイル、レベル、およびティアを有するように指定される。
【0065】
[0081] 本開示の一例では、VPSシンタックスの一部は、表1に示す通りであり得る。
【0066】
【表1】
【0067】
[0082] 上記で表1の例に示すように、vps_num_layer_sets_minus1は、VPS中ではue(v)記述子によって示されるようにエントロピーコード化され、VPS中のvps_num_layer_sets_minus1の前に他のエントロピーコード化シンタックス要素がある。いくつかの例では、エントロピー復号が望ましくないことがある。このことは、スプライシングまたはストリーム適応(たとえば、時間率、品質、空間適応)を実行し得る中間ネットワークデバイスに特に当てはまる。デコーダ(たとえば、ビデオデコーダ30)は一般に、エントロピーデコーダを有する。しかしながら、多くの場合、中間ネットワークデバイスがエントロピーデコーダを有しないことが望ましいことがある。これによって中間デバイスが簡略化され、場合によってはコストが削減され電力消費量が低減する。さらに、いずれの場合も、エントロピー復号を実行する必要なしにプロファイル情報、ティア情報、およびレベル情報に迅速にアクセスすることが望ましいことがある。
【0068】
[0083] プロファイル、ティア、およびレベルシンタックス構造(profile_tier_level()シンタックス)をエントロピー復号するのを避けるために、いくつかの例では、本開示は、VPS拡張シンタックス中のエントロピーコード化要素の前に、エントロピーコード化されたvps_num_layer_sets_minus1シンタックス要素を解析せずにアクセス可能なプロファイル、ティア、およびレベルシンタックス構造を存在させ得る。場合によっては、HEVCビデオコーディング規格などのビデオコーディング規格のために拡張規格が策定され得る。このような拡張規格は、ビデオコーディング規格では実現されずまたは必要とされない追加の機能を実現し得る。拡張シンタックスは、ビデオコーディング規格のこのような拡張規格のうちの1つのためのシンタックスである。たとえば、VPS拡張シンタックスは、HEVCビデオコーディング規格の拡張規格に使用されるメッセージのシンタックスを含み得る。従来、このようなシンタックスは、各レイヤがアクセスされるときにアクセスされるであろうと考えられている。現在、本明細書で説明する概念のうちの1つまたは複数を実行するシステム、方法、または装置は、すべてのシンタックスに前もってアクセスし、後でそれらをリンクし得る。
【0069】
【表2】
【0070】
[0084] 表2で使用されているように、vps_num_profile_tier_level_minus1 plus 1は、VPS中のprofile_tier_level()シンタックス構造の数を指定する。1に等しいvps_profile_present_flag[i]は、プロファイル情報およびティア情報がi番目のprofile_tier_level()シンタックス構造に存在することを指定する。0に等しいvps_profile_present_flag[lsIdx]は、プロファイル情報およびティア情報が、i番目のprofile_tier_level()シンタックス構造に存在せず、i番目のprofile_tier_level()シンタックス構造について推定され得ることを指定する。
【0071】
[0085] シンタックス要素profile_ref_minus1[i]は、i番目のprofile_tier_level()シンタックス構造についてのプロファイル情報およびティア情報が、(profile_ref_minus1[i]+1)番目のprofile_tier_level()シンタックス構造についてのプロファイル情報およびティア情報と等しいと推定され得ることを指定する。profile_ref_minus1[i]+1の値はi未満であり得る。
【0072】
[0086] 表2に示すように、上記のシンタックスでは、デコーダまたは中間ネットワークデバイスは、エントロピー符号化が必要なシンタックスの要素を解析する前にprofile_tier_level()シンタックス構造のセットをループしてそれらのシンタックス構造にアクセスする(後にVPS拡張シンタックス中で)。シンタックス構造は、別のルーピングプロセスによって対応するレイヤセットにリンクされ得る。特に、profile_level_tier_idx[i]は、i番目の出力レイヤセットに適用されるprofile_tier_level()シンタックス構造の、VPS中のprofile_tier_level()シンタックス構造のセットに、インデックスを指定する。
【0073】
[0087] 別の例示的な態様では、本明細書で説明する1つまたは複数の例を実装するシステム、方法、およびデバイスは、output_layer_set_idx_minus1[i]を使用してレイヤ0(ベースレイヤ)の上方のレイヤのためのレイヤセットのインデックスを示し得る。
【0074】
[0088] output_layer_set_idx_minus1[i] plus 1は、i番目の出力レイヤセットのためのレイヤセットのインデックス(lsIdx)を指定する。一例では、output_layer_set_idx_minus1[i]の値は、両端値を含む、0からvps_num_layer_sets_minus1−1の範囲内にあり得る。output_layer_set_idx_minus1[i]シンタックス要素の長さは、Ceil(Log2(vps_num_layer_sets_minus1))ビットである。
【0075】
[0089] 本明細書において説明するシステム、方法、およびデバイスの別の例は、ビデオデータのレイヤを含むマルチレイヤビデオデータをコーディングすることを可能にする。これらのシステム、方法、およびデバイスは、VPS拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置にある非エントロピー符号化レイヤ依存情報を送信または受信することを含む動作を実行するように構成され得る。さらに、これらのシステム、方法、およびデバイスは、非エントロピー符号化レイヤ依存情報に基づいてビデオデータのレイヤのうちの1つまたは複数のビデオデータを復号し得る。レイヤ依存情報は、レイヤのうちの1つがレイヤのうちの別の1つのための直接参照レイヤであるかどうかを示す。
【0076】
[0090] 一例によれば、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、本開示の技法に従って1つのレイヤセットの2つ以上の出力レイヤセットをコーディングし得る。たとえば、ビデオエンコーダ20は1つのレイヤセットのための2つ以上の出力レイヤセットを符号化し得る。符号化された出力レイヤセットは、出力インターフェース22によってリンク16を介すかまたは記憶デバイス34を使用してシグナリングされるか、送信されるか、またはその他の方法で転送され、入力インターフェース28によって受信され得る。符号化出力レイヤセットはビデオデコーダ30によって復号され得る。
【0077】
[0091] 別の例によれば、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、VPS中のすべてのプロファイル情報、ティア情報、および/またはレベル情報を、潜在的に、それが本開示の技法に従ってエントロピー復号なしにアクセス可能であるようにコーディングし得る。たとえば、ビデオエンコーダ20は、VPS中のすべてのプロファイル情報、ティア情報、および/またはレベル情報を、潜在的に、それが、潜在的に、エントロピー復号なしに、すなわち、プロファイル情報、ティア情報、および/またはレベル情報をエントロピー符号化することなしにアクセス可能である方法で符号化し得る。VPS中の符号化されたプロファイル情報、ティア情報、および/またはレベル情報は、出力インターフェース22によってリンク16を介すかまたは記憶デバイス34を使用してシグナリングされるか、送信されるか、またはその他の方法で転送され、入力インターフェース28によって受信され得る。VPS中の符号化されたプロファイル情報、ティア情報、および/またはレベル情報は、MANEなどの、エントロピーデコーダを含まないデバイスであり得るビデオデコーダ30によって復号され得る。いくつかの例では、VPS中のプロファイル情報、ティア情報、およびレベル情報に低減または限定されたエントロピー符号化を使用し得る。たとえば、場合によっては、VPS中の一部のプロファイル、ティア、レベル情報がエントロピー符号化され、VPS中の他のプロファイル、ティア、レベル情報はエントロピー符号化されない。
【0078】
[0092] 別の例によれば、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、VPS中のレイヤ依存情報を、それが本開示の技法に従ってエントロピー復号なしにアクセス可能であるようにコーディングし得る。たとえば、ビデオエンコーダ20は、VPS中のレイヤ依存情報を、場合によっては、エントロピー復号なしに、すなわち、レイヤ依存情報をエントロピー符号化することなしにアクセス可能であるように符号化し得る。VPS中の符号化されたレイヤ依存情報は、出力インターフェース22によってリンク16を介すかまたは記憶デバイス34を使用してシグナリングされるか、送信されるか、またはその他の方法で転送され、入力インターフェース28によって受信され得る。VPS中の符号化レイヤ依存情報は、MANEなどの、エントロピーデコーダを含まないデバイスであり得るビデオデコーダ30によって復号され得る。
【0079】
[0093] 別の例によれば、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、VPS中の表現フォーマットを、潜在的にそれが本開示の技法に従ってエントロピー復号なしにアクセス可能である方法でコーディングし得、各レイヤは特定の表現フォーマットに関連し得る。たとえば、ビデオエンコーダ20は、VPS中の表現フォーマットを、潜在的に、それが、エントロピー復号なしに、すなわち、VPS中の表現フォーマットをエントロピー符号化することなしにアクセス可能である方法で符号化し得る。VPS中の符号化された表現フォーマットは、出力インターフェース22によってリンク16を介すかまたは記憶デバイス34を使用してシグナリングされるか、送信されるか、またはその他の方法で転送され、入力インターフェース28によって受信され得る。VPS中の符号化された表現フォーマットは、MANEなどの、エントロピーデコーダを含まないデバイスであり得るビデオデコーダ30によって復号され得る。いくつかの例では、VPS中のプロファイル情報、ティア情報、およびレベル情報に低減または限定されたエントロピー復号を使用し得る。たとえば、(たとえば、VPS中の一部のプロファイル、ティア、レベル情報がエントロピー符号化され、VPS中の他のプロファイル、ティア、レベル情報はエントロピー符号化されなかったので、)場合によっては、VPS中の一部のプロファイル、ティア、レベル情報がエントロピー復号され、VPS中の他のプロファイル、ティア、レベル情報はエントロピー復号されない。
【0080】
[0094] 別の例によれば、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、視覚的信号情報(video_format、video_full_range_flag、colour_primaries、transfer_characteristics、matrix_coeffs)を本開示の技法に従ってVPS中のレイヤごとにコーディングし得る。たとえば、ビデオエンコーダ20は、VPS中のレイヤごとに視覚的信号情報を符号化し得る。符号化された視覚的信号情報は、出力インターフェース22によってリンク16を介すかまたは記憶デバイス34を使用してシグナリングされるか、送信されるか、またはその他の方法で転送され、入力インターフェース28によって受信され得る。VPS中のレイヤごとの符号化された視覚的信号情報はビデオデコーダ30によって復号され得る。いくつかの例では、video_formatパラメータは、コーディングすべきピクチャの表現のフォーマットを示す。video_full_range_flagパラメータは、黒レベル(black level)ならびにルーマ(luma)信号およびクロマ(chroma)信号の範囲を示す。colour_primariesパラメータは、ソース原色(source primaries)の色度座標(chromaticity coordinates)を示す。transfer_characteristicパラメータは、ソースピクチャの光−電子伝達特性(opto-electronic transfer characteristic)を示す。matrix_coeffsパラメータは、緑、青、および赤の原色からルーマ信号およびクロマ信号を導出する際に使用される行列係数(matrix coefficients)を表す。
【0081】
[0095] 別の例によれば、SPSは、本開示の技法に従って異なる空間解像度、ビット深度、またはカラーフォーマットをもつレイヤによって共有され得る。ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダはSPSをコーディングし得る。たとえば、ビデオエンコーダ20はSPSを符号化し得る。符号化されたSPSは、出力インターフェース22によってリンク16を介すかまたは記憶デバイス34を使用してシグナリングされるか、送信されるか、またはその他の方法で転送され、入力インターフェース28によって受信され得る。符号化されたSPSはビデオデコーダ30によって復号され得る。
【0082】
[0096] 別の例によれば、本開示の技法に従ってレイヤIDが0よりも大きいSPSのVUIにはタイミング情報が与えられない。ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、VUIにタイミング情報を含めない、レイヤIDが0よりも大きいSPSをコーディングし得る。たとえば、ビデオエンコーダ20はSPSを符号化し得る。符号化されたSPSは、出力インターフェース22によってリンク16を介すかまたは記憶デバイス34を使用してシグナリングされるか、送信されるか、またはその他の方法で転送され、入力インターフェース28によって受信され得る。符号化されたSPSはビデオデコーダ30によって復号され得る。
【0083】
[0097] 別の例によれば、本開示の技法に従ってデフォルトの出力レイヤセットにはターゲット出力レイヤの明示的なシグナリングは行われない。ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、デフォルトの出力レイヤセットのためのターゲット出力レイヤの明示的なシグナリングを含まないデフォルトの出力レイヤセットをコーディングし得る。たとえば、ビデオエンコーダ20はデフォルトの出力レイヤセットを符号化する。符号化されたデフォルト出力レイヤセットは、出力インターフェース22によってリンク16を介すかまたは記憶デバイス34を使用してシグナリングされるか、送信されるか、またはその他の方法で転送され、入力インターフェース28によって受信され得る。符号化されたデフォルト出力レイヤセットはビデオデコーダ30によって復号され得る。
【0084】
[0098] 別の例によれば、存在し得る時間的サブレイヤの最大数(sps_max_sub_layers_minus1)およびインター予測が追加的に制限されるかどうか(sps_temporal_id_nesting_flag)のシグナリングは、レイヤID(nuh_layer_id)が0よりも大きいSPSには存在しない。ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、レイヤIDが0よりも大きいSPSにおいて、SPSを参照する各CVSに存在し得る時間的サブレイヤの最大数をコーディングせず、SPSを参照するCVSについてインター予測が追加的に制限されるかどうかをコーディングせずに、ビデオデータをコーディングし得る。たとえば、ビデオエンコーダ20は、レイヤIDが0よりも大きいSPSにおける、SPSを参照する各CVSに存在し得る時間的サブレイヤの最大数、およびSPSを参照するCVSについてインター予測が追加的に制限されるかどうかをコーディングせずに、ビデオデータを符号化し得る。符号化された情報は、出力インターフェース22によってリンク16を介すかまたは記憶デバイス34を使用してシグナリングされるか、送信されるか、またはその他の方法で転送され、入力インターフェース28によって受信され得る。符号化された情報はビデオデコーダ30によって復号され得る。
【0085】
[0099] 別の例によれば、本開示の技法に従ってシンタックス要素output_layer_set_idx[i]がoutput_layer_set_idx_minus1[i]に変更され得る。ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、output_layer_set_idx_minus1[i]を、出力レイヤセットに対応するレイヤセットのインデックスを示すようにコーディングし得る。
【0086】
[0100] 図2は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、空間的予測に依存して所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減させるかまたは除去する。インターコーディングは、時間的予測またはインターレイヤに依存して、同じレイヤにおいてまたはビデオシーケンスの異なるレイヤ全体にわたって互いに隣接するフレームまたはピクチャ内のビデオの時間的冗長性またはレイヤ間冗長性を低減させるかまたは除去する。イントラモード(Iモード)は、空間ベースのいくつかの圧縮モードのいずれかを指すことがある。単方向予測(Pモード)または双予測(Bモード)などのインターモードは、時間ベースのいくつかの圧縮モードのいずれかを指すことがある。
【0087】
[0101] 図2の例では、ビデオエンコーダ20は、ビデオデータメモリ40と、予測処理ユニット41と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化処理ユニット54と、エントロピー符号化処理ユニット56とを含む。予測処理ユニット41は、動き推定処理ユニット42と、動き補償処理ユニット44と、イントラ予測処理ユニット46とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化処理ユニット58と、逆変換処理ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図2に図示せず)も含まれ得る。必要な場合、デブロッキングフィルタは、通常、加算器62の出力をフィルタ処理することになる。デブロッキングフィルタに加えて追加的なループフィルタ(インループまたはポストループ)が使用され得る。
【0088】
[0102] ビデオデータメモリ40は、ビデオエンコーダ20の構成要素によって符号化すべきビデオデータを記憶し得る。ビデオデータメモリ40に記憶されるビデオデータは、たとえば、ビデオソース18から得られ得る。復号ピクチャバッファ(DPB)は、ビデオエンコーダ20によってビデオデータを、たとえば、イントラコーディングモードまたはインターコーディングモードで符号化する際に使用する参照ビデオデータを記憶する参照ピクチャメモリ64であり得る。ビデオデータメモリ40およびDPB(たとえば、参照ピクチャメモリ64)は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ40およびDPB(たとえば、参照ピクチャメモリ64)は、同じメモリデバイスによって、または別々のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ101は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、またはそのような構成要素に対してオフチップであり得る。
【0089】
[0103] 図2に示すように、ビデオエンコーダ20はビデオデータを受信し、予測処理ユニット41はデータをビデオブロックに区分する。場合によっては、予測処理ユニット41は、レートひずみ分析に基づいてビデオデータを区分し得る。受信されたビデオデータは、上述のサンプルフォーマットのうちのいずれかに従ってフォーマットされ得る。たとえば、ビデオデータは4:2:2サンプルフォーマットに従ってフォーマットされ得る。区分することは、ビデオデータをスライス、タイル、またはより大きい他のユニットに区分することと、たとえばLCUおよびCUの4分木構造に従ったビデオブロック区分を含み得る。
【0090】
[0104] ビデオエンコーダ20は概して、符号化すべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロック(場合によってはタイルと呼ばれるビデオブロックのセット)に分割され得る。予測処理ユニット41は、誤差結果(たとえば、コーディングレートおよびひずみレベル)に基づいて、現在ビデオブロックのために、複数のイントラコーディングモードのうちの1つ、または複数のインターコーディングモードのうちの1つなど、複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット41は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックを生成するために加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に与え得る。
【0091】
[0105] 予測処理ユニット41内のイントラ予測処理ユニット46は、コーディングすべき現在ブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実行して空間的圧縮を行い得る。予測処理ユニット41内の動き推定処理ユニット42および動き補償処理ユニット44は、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対して現在ビデオブロックのインター予測コーディングを実行して時間的圧縮を行い得る。
【0092】
[0106] 動き推定処理ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをPスライスまたはBスライスとして指定し得る。動き推定処理ユニット42と動き補償処理ユニット44とは、高度に統合され得るが、概念的な目的のために別々に図示されている。動き推定は、動き推定処理ユニット42によって実行され、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックの予測ユニット(PU:prediction unit)の変位を示し得る。
【0093】
[0107] 予測ブロックは、インターコーディングの場合、絶対差分和(SAD)によって、2乗差分和(SSD)によって、または他の差分メトリックによって決定し得るピクセル差分に関して、コーディングすべきビデオブロックのPUに厳密に一致するブロックとして見つけられるブロックであり得る。代替として、予測ブロックは、イントラコーディングの場合、1つまたは複数の隣接ブロックから得られるピクセル値に対する空間的予測に基づいて形成されるブロックであり得る。いくつかの例では、インター予測の場合、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を算出し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定処理ユニット42は、全ピクセル位置および分数ピクセル位置に対して動き探索を実行し、分数ピクセル精度をもつ動きベクトルを出力し得る。
【0094】
[0108] 動き推定処理ユニット42は、PUの位置と参照ピクチャの予測ブロックの位置とを比較することによってインターコード化スライス中のビデオブロックのPUのための動きベクトルを算出する。参照ピクチャは、各々が、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得る。動き推定処理ユニット42は、算出された動きベクトルをエントロピー符号化処理ユニット56および動き補償処理ユニット44に送る。
【0095】
[0109] 動き補償は、動き補償処理ユニット44によって実行され、動き推定によって決定される動きベクトルに基づいて予測ブロックを取り込むかまたは生成し、場合によってはサブピクセル精度の補間を実行することを含み得る。動き補償処理ユニット44は、現在ビデオブロックのPUのための動きベクトルを受信すると、動きベクトルが参照ピクチャリストのうちの1つのリスト中で指し示す予測ブロックの位置を特定し得る。
【0096】
[0110] ビデオエンコーダ20は、インターコーディングまたはイントラコーディングの場合に、コーディング中の現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって残差ビデオブロックを形成し、ピクセル差分値を形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分構成要素とクロマ差分構成要素の両方を含み得る。加算器50は、この減算演算を実行する構成要素を表す。また、動き補償処理ユニット44は、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用されるビデオブロックおよびビデオスライスに関連するシンタックス要素を生成し得る。
【0097】
[0111] イントラ予測処理ユニット46は、上述のように動き推定処理ユニット42および動き補償処理ユニット44によって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット46は、たとえば別々の符号化パス時に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測処理ユニット46(またはいくつかの例では、モード選択処理ユニット)は、試験されたモードから使用すべき適切なイントラ予測モードを選択し得る。
【0098】
[0112] たとえば、イントラ予測処理ユニット46は、様々な試験されたイントラ予測モードにレートひずみ分析を使用してレートひずみ値を算出し、試験されたモードのうちで最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は概して、符号化されたブロックと符号化されたブロックを生成するために符号化された符号化されていない元のブロックとの間のひずみ(またはエラー)の量、ならびに符号化されたブロックを生成するために使用されたビットレート(すなわち、ビットの数)を決定する。イントラ予測処理ユニット46は、符号化された様々なブロックのひずみおよびレートから比を算出し、どのイントラ予測モードがブロックの最良のレートひずみ値を示すかを決定し得る。レートひずみ分析が色成分の組合せに対して実行され得ることに留意されたい。
【0099】
[0113] いずれの場合も、イントラ予測処理ユニット46は、ブロックのイントラ予測モードを選択した後、ブロックの選択されたイントラ予測モードを示す情報をエントロピー符号化処理ユニット56に供給し得る。エントロピー符号化処理ユニット56は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)を含み得る送信されるビットストリーム構成データ中に、様々なブロックの符号化コンテキストの定義、ならびにコンテキストの各々に使用すべき最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの表示を含み得る。ビットストリームはさらに(または代替として)、以後の宛先デバイス14またはその他の装置によるアクセス、復号、および/または再生が可能なように記憶デバイス34上に記憶され得る。
【0100】
[0114] 予測処理ユニット41がインター予測またはイントラ予測のいずれかを介して現在ビデオブロックの予測ブロックを生成した後、ビデオエンコーダ20は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1つまたは複数の変換ユニット(TU:transform unit)中に含められ、変換処理ユニット52に適用され得る。変換処理ユニット52がビデオエンコーダ20の構成要素、モジュール、プロセッサ、または機能ユニットを指し、変換処理ユニット52を、変換および量子化プロセスのためのデータの基本ユニットであるTUと混同すべきではないことに留意されたい。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、得られた変換係数を量子化処理ユニット54に送り得る。
【0101】
[0115] 図2に示す例では、ビデオエンコーダ20は、複数の出力レイヤセットの各々のためのプロファイル、ティア、およびレベルシンタックス構造のうちの1つを参照し、出力レイヤセットのうちの1つについて参照されたプロファイル、ティア、およびレベルシンタックス構造からの情報に基づいてその出力レイヤセットのビデオデータを符号化し得る。
【0102】
[0116] ビデオエンコーダ20は、プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットを送信し得る。プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットは、VPS拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置に存在し得、それによって、中間ネットワーキングデバイス、スプライシングエンジン、メディアアウェアネットワーク要素、またはデコーダは、プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットをエントロピー符号化の必要なしに解析することができる。
【0103】
[0117] いくつかの例では、ビデオエンコーダ20は、nuh_layer_idが0に等しいSPSを送信または受信し得、ここにおいて、SPSは、ビデオデータのレイヤのためのプロファイル、ティア、およびレベルシンタックス構造を含む。たとえば、ビデオエンコーダ20は、nuh_layer_idが0に等しいSPSを送り得、ここにおいて、SPSは、ビデオデータのレイヤのためのプロファイル、ティア、およびレベルシンタックス構造を含む。
【0104】
[0118] ビデオデコーダ20は、出力レイヤフラグ[i][j]に基づいて出力レイヤセットを符号化し得る。ビデオデコーダ20はまた、1に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤであることを指定し、0に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤではないことを指定する出力レイヤフラグ[i][j]を送信し得る。
【0105】
[0119] ビデオエンコーダ20は、ビデオデータのレイヤのうちの1つまたは複数のレイヤにおける一部のビデオデータを非エントロピー符号化し得る。非エントロピー符号化されたビデオデータはレイヤ依存情報を含み得る。レイヤ依存情報は、レイヤの1つが別のレイヤの直接参照レイヤであるかどうかを示し得る。いくつかの例では、レイヤ依存情報は、0に等しいときに、インデックスjを有するレイヤがインデックスIを有するレイヤの直接参照レイヤではないことを指定し、1に等しいときに、インデックスjを有するレイヤがインデックスiを有するレイヤの直接参照レイヤになり得ることを指定するdirect_dependency_flag[i][j]を含む。
【0106】
[0120] ビデオデコーダ20は、VPS拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置にある非エントロピー符号化レイヤ依存情報を送信し得る。
【0107】
[0121] 一例によれば、ビデオエンコーダ20は1つのレイヤセットのための2つ以上の出力レイヤセットを符号化し得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット56によって実行され得る。
【0108】
[0122] 別の例によれば、ビデオエンコーダ20は、VPS中のすべてのプロファイル情報、ティア情報、および/またはレベル情報を、潜在的に、それが、エントロピー符号化なしに、すなわち、プロファイル情報、ティア情報、および/またはレベル情報をエントロピー復号することなしにアクセス可能である方法で符号化し得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット56によって実行されるが、エントロピー符号化なしに実行され得る。したがって、エントロピー符号化処理ユニットは、エントロピー符号化に加えて他のタイプの符号化を実行し得る。
【0109】
[0123] 別の例によれば、ビデオエンコーダ20は、VPS中のレイヤ依存情報を、それが、エントロピー復号なしに、すなわち、レイヤ依存情報をエントロピー符号化することなしにアクセス可能であるように符号化し得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット56によって実行されるが、エントロピー符号化なしに実行され得る。したがって、エントロピー符号化処理ユニットは、エントロピー符号化に加えて他のタイプの符号化を実行し得る。
【0110】
[0124] 別の例によれば、ビデオエンコーダ20は、VPS中の表現フォーマットを、潜在的に、それが、エントロピー復号なしに、すなわち、VPS中の表現フォーマットをエントロピー符号化することなしにアクセス可能である方法で符号化し得る。いくつかの例では、各レイヤは特定の表現フォーマットに関連し得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット56によって実行されるが、エントロピー符号化なしに実行され得る。したがって、エントロピー符号化処理ユニットは、エントロピー符号化に加えて他のタイプの符号化を実行し得る。ビデオエンコーダ20または、VPS中の表現フォーマットを、潜在的に、それが本開示の技法に従ってエントロピー復号なしにアクセス可能である方法でデコーダーし得、各レイヤは特定の表現フォーマットに関連し得る。
【0111】
[0125] 別の例によれば、ビデオエンコーダ20は、視覚的信号情報(video_format、video_full_range_flag、colour_primaries、transfer_characteristics、matrix_coeffs)を本開示の技法に従ってVPS中のレイヤごとにコーディングし得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット56によって実行され得る。
【0112】
[0126] 別の例によれば、SPSは、本開示の技法に従って異なる空間解像度、ビット深度、またはカラーフォーマットをもつレイヤによって共有され得る。ビデオエンコーダ20はSPSを符号化し得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット56によって実行され得る。
【0113】
[0127] 別の例によれば、本開示の技法に従ってレイヤIDが0よりも大きいSPSのVUIにはタイミング情報が含められない。ビデオエンコーダ20はSPSを符号化し得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット56によって実行され得る。
【0114】
[0128] 別の例によれば、本開示の技法に従ってデフォルトの出力レイヤセットにはターゲット出力レイヤの明示的なシグナリングは行われない。ビデオエンコーダ20は、デフォルトの出力レイヤセットを符号化し得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット56によって実行され得る。
【0115】
[0129] 別の例によれば、存在し得る時間的サブレイヤの最大数(sps_max_sub_layers_minus1)およびインター予測が追加的に制限されるかどうか(sps_temporal_id_nesting_flag)のシグナリングは、nuh_layer_idが0に等しいときにのみSPS中で行われ、すなわち、レイヤIDが0よりも大きいSPSではシグナリングは行われない。ビデオエンコーダ20は、レイヤIDが0よりも大きいSPSにおける、SPSを参照する各CVSに存在し得る時間的サブレイヤの最大数、およびSPSを参照するCVSについてインター予測が追加的に制限されるかどうかをコーディングせずに、ビデオデータを符号化し得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット56によって実行され得る。
【0116】
[0130] 別の例によれば、本開示の技法に従ってシンタックス要素output_layer_set_idx[i]がoutput_layer_set_idx_minus1[i]に変更され得る。ビデオエンコーダ20は、シンタックス要素output_layer_set_idx_minus1[i]を、VPSによって指定されたi番目の出力レイヤセットに対応するレイヤセットのインデックスを示すように符号化し得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット56によって実行され得る。
【0117】
[0131] 図3は、本開示で説明する技法を実装し得る例示的なビデオデコーダ30を示すブロック図である。図3の例では、ビデオデコーダ30は、ビデオデータメモリ78と、エントロピー復号処理ユニット80と、予測処理ユニット81と、逆量子化処理ユニット86と、逆変換処理ユニット88と、加算器90と、参照ピクチャメモリ92とを含む。予測処理ユニット81は、動き補償処理ユニット82とイントラ予測処理ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図2においてビデオエンコーダ20に関して説明した符号化パスを概ね反転させた復号パスを実行し得る。
【0118】
[0132] ビデオデータメモリ78は、ビデオデコーダ30の構成要素によって復号すべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ78に記憶されるビデオデータは、たとえばコンピュータ可読媒体から、またはたとえばカメラなどのローカルビデオソースから、またはビデオデータのワイヤードネットワーク通信もしくはワイヤレス通信を介して、または物理データ記憶媒体にアクセスすることによって得られ得る。ビデオデータメモリ78は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成し得る。復号ピクチャバッファ(DPB)は、ビデオデコーダ30によってビデオデータを、たとえば、イントラコーディングモードまたはインターコーディングモードで復号する際に使用する参照ビデオデータを記憶する参照ピクチャメモリ92であり得る。ビデオデータメモリ78およびDPBは、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなどの様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ78およびDPBは、同じメモリデバイスまたは別々のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ78は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、またはそのような構成要素に対してオフチップであり得る。
【0119】
[0133] 復号プロセスの間、ビデオデコーダ30は、符号化ビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化ビットストリームをビデオエンコーダ20から受信する。ビデオデコーダ30のエントロピー復号処理ユニット80は、ビットストリームをエントロピー復号して量子化係数、動きベクトル、およびその他のシンタックス要素を生成する。エントロピー復号処理ユニット80は、動きベクトルおよびその他のシンタックス要素を予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルのシンタックス要素を受信し得る。
【0120】
[0134] ビデオスライスがイントラコード化(I)スライスとしてコーディングされているとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モードと現在フレームまたはピクチャのあらかじめ復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわち、BまたはP)スライスとしてコーディングされているとき、予測処理ユニット81の動き補償処理ユニット82は、エントロピー復号処理ユニット80から受信された動きベクトルとその他のシンタックス要素とに基づいて現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、1つの参照ピクチャリスト内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づくデフォルトの構成技法を使用して参照フレームリストのリスト0およびリスト1を構成し得る。
【0121】
[0135] 動き補償処理ユニット82は、動きベクトルおよびその他のシンタックス要素を解析することによって現在ビデオスライスのビデオブロックについての予測情報を決定し、予測情報を使用して復号中の現在ビデオブロックの予測ブロックを生成する。たとえば、動き補償処理ユニット82は、受信されたシンタックス要素のうちのいくつかを使用して、ビデオスライスのビデオブロックをコーディングために使用される予測モード(たとえば、複数のインター予測モードのうちの1つ)、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)、スライスの参照ピクチャリストのうちの1つまたは複数の参照ピクチャリストについての構成情報、スライスの各インター符号化ビデオブロックの動きベクトル、スライスの各インターコード化ビデオブロックのインター予測ステータス、および現在ビデオスライス中のビデオブロックを復号するためのその他の情報を決定する。
【0122】
[0136] 動き補償処理ユニット82は、補間フィルタに基づいて補間を実行し得る。動き補償処理ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用されるような補間フィルタを使用して参照ブロックのサブ整数ピクセルの補間された値を算出し得る。この場合、動き補償処理ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用される補間フィルタを決定し、この補間フィルタを使用して予測ブロックを生成し得る。
【0123】
[0137] 逆量子化処理ユニット86は、ビットストリームに含められエントロピー復号処理ユニット80によって復号された量子化変換係数を逆量子化(inverse quantizes)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、ビデオエンコーダ20によって算出された量子化パラメータをビデオスライス中のビデオブロックごとに使用して、適用すべき量子化の程度を決定し、同様に、適用すべき逆量子化の程度を決定することを含み得る。
【0124】
[0138] 逆変換処理ユニット88は、変換係数を受信し、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用してピクセル領域において残差ブロックを生成する。いくつかの例では、逆変換処理ユニット88は、変換ユニット区分技法に基づいてビデオエンコーダによって生成された変換係数を受信し得る。
【0125】
[0139] 動き補償処理ユニット82またはイントラ予測処理ユニット84が動きベクトルおよびその他のシンタックス要素に基づく現在ビデオブロックの予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックと動き補償処理ユニット82によって生成された対応する予測ブロックを合計することによって復号ビデオブロックを形成する。加算器90は、この加算演算を実行する構成要素を表す。
【0126】
[0140] 所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタも(コーディングループ中またはコーディングループ後のいずれかで)使用され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照ピクチャメモリ92はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の提示のために、復号ビデオを記憶する。
【0127】
[0141] 図3の示された例では、ビデオデコーダ30は、プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットを受信し得る。
【0128】
[0142] ビデオデコーダ30は、複数の出力レイヤセットの各々のためのプロファイル、ティア、およびレベルシンタックス構造のうちの1つを参照し、出力レイヤセットのうちの1つについて参照されたプロファイル、ティア、およびレベルシンタックス構造からの情報に基づいて出力レイヤセットのビデオデータを復号し得る。
【0129】
[0143] いくつかの例では、ビデオコーダは、nuh_layer_idが0に等しいSPSを送信または受信し得、ここにおいて、SPSは、ビデオデータのレイヤのためのプロファイル、ティア、およびレベルシンタックス構造を含む。ビデオデコーダ30は、nuh_layer_idが0に等しいSPSを受信し得、ここにおいて、SPSは、ビデオデータのレイヤのためのプロファイル、ティア、およびレベルシンタックス構造を含む。
【0130】
[0144] いくつかの例では、nuh_layer_idが0よりも大きいレイヤがSPSを参照するとき、ビデオデコーダ30は、SPSのプロファイル、ティア、およびレベルシンタックス構造を使用したnuh_layer_idが0よりも大きいレイヤのビデオデータの復号を行わないことがある。
【0131】
[0145] ビデオデコーダ30は、1に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤであることを指定し、0に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤではないことを指定する出力レイヤフラグ[i][j]を送信し得る。
【0132】
[0146] ビデオデコーダ30はまた、出力レイヤフラグ[i][j]に基づいて出力レイヤセットを生成し得る。
【0133】
[0147] 図3に示された例では、ビデオデコーダ30は、ビデオデータのレイヤを含むマルチレイヤビデオデータを復号し得る。
【0134】
[0148] ビデオデコーダ30は、VPS拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置にある非エントロピー符号化レイヤ依存情報を受信し得る。
【0135】
[0149] ビデオデコーダ30は、非エントロピー符号化レイヤ依存情報に基づいてビデオデータのレイヤのうちの1つまたは複数のレイヤのビデオデータを符号化し得る。レイヤ依存情報は、レイヤの1つが別のレイヤの直接参照レイヤであるかどうかを示す。
【0136】
[0150] いくつかの例では、レイヤ依存情報は、0に等しいときに、インデックスjをもつレイヤがインデックスIをもつレイヤのための直接参照レイヤではないことを指定し、1に等しいときに、インデックスjをもつレイヤがインデックスiをもつレイヤのための直接参照レイヤになり得ることを指定するdirect_dependency_flag[i][j]を含む。
【0137】
[0151] いくつかの例では、本開示は、出力レイヤセットについてのプロファイル、ティア、およびレベル情報のシグナリング、出力レイヤセットのシグナリング、およびレイヤ依存性のシグナリングの変更を含む、HEVC拡張のためのVPSおよびSPSの設計を向上させるための方法について説明する。いくつかの例では、本開示は、セッション交渉のためのVPS(拡張)中の表現フォーマット(空間解像度、カラーフォーマット、およびビット深度)に関する情報のシグナリングの変更、ならびに異なるカテゴリーの個々の制御によるSPSパラメータの効率的なシグナリングを含む、HEVC拡張のためのVPSおよびSPSの設計を向上させるための方法についても説明する。
【0138】
[0152] いくつかの例では、現在のVPS設計およびSPS設計は少なくとも以下の問題に関連し得る。(1)シンタックス要素vps_num_layer_sets_minus1がue(v)コーディングされ、このシンタックス要素の前に他のue(v)コード化シンタックス要素もあるので、現在、レイヤセットのプロファイル、ティア、およびレベルにアクセスするにはエントロピー符号化が必要である。(2)同様に、レイヤ依存情報はエントロピー復号なしにアクセス可能でない。(3)出力レイヤセットのシグナリングには問題があり効率的ではない。理由は以下の通りである。(a)0に等しいoutput_layer_set_idx[i]に使用されるシンタックス要素layer_id_included_flag[][]はレイヤセット0のためのシンタックス要素であり、レイヤセット0について、HEVCバージョン1(すなわち、HEVC WD10)ではlayer_id_included_flag[][][は定義されておらず、(b)レイヤセット0のためのターゲット出力レイヤがレイヤ0(ベースレイヤ)であることは明らかであり、(c)現在、レイヤセットごとにせいぜい1つの出力レイヤセットがシグナリングされ得、(d)現在、シンタックスは、0からVPS中の可能な最大のレイヤIDまでのレイヤIDのループを使用するが、複雑である。
【0139】
[0153] マルチビューシナリオでは、多くの場合、1つのレイヤセットが異なるターゲット出力レイヤの複数のセットに関連する。したがって、シンタックス要素output_layer_flag[lsIdx][j]がoutput_layer_flag[i][j]に変更され、それに応じて関連するセマンティクスが変更され、上記の項目(d)において述べたように、現在、シンタックスは、0からVPS中の可能な最大のレイヤIDまでのレイヤIDのループを使用するが、複雑である。レイヤセット中の最上レイヤは確実にターゲット出力レイヤであるので、このレイヤを除くレイヤセット中の各レイヤのループを使用する方がずっと簡単であろう。
【0140】
[0154] 一例によれば、ビデオデコーダ30は1つのレイヤセットのための2つ以上の出力レイヤセットを復号し得る。いくつかの例では、復号は、エントロピー復号処理ユニット80によって実行され得る。
【0141】
[0155] 別の例によれば、ビデオデコーダ30は、VPS中のすべてのプロファイル情報、ティア情報、および/またはレベル情報を、潜在的に、それがエントロピー復号の必要なしにアクセス可能である方法で復号し得る。いくつかの例では、復号は、エントロピー復号処理ユニット80によって実行されるが、エントロピー復号なしに実施され得る。したがって、復号はエントロピーデコーダを有しないデバイスによっても実行され得る。
【0142】
[0156] 別の例によれば、ビデオデコーダ30は、VPS中のレイヤ依存情報を、それがエントロピー復号なしにアクセス可能であるように復号し得る。いくつかの例では、復号は、エントロピー復号処理ユニット80によって実行されるが、エントロピー符号化なしに実施され得る。したがって、復号はエントロピーデコーダを有しないデバイスによっても実行され得る。
【0143】
[0157] 別の例によれば、ビデオデコーダ30は、VPS中の表現フォーマットを、潜在的に、それが、エントロピー復号なしに、すなわち、VPS中の表現フォーマットをエントロピー符号化することなしにアクセス可能である方法で復号し得る。いくつかの例では、復号は、エントロピー復号処理ユニット80によって実行されるが、エントロピー復号なしに実施され得る。したがって、復号はエントロピーデコーダを有しないデバイスによっても実行され得る。ビデオデコーダ30は、潜在的に本開示の技法に従ってエントロピー復号なしにVPS中の表現フォーマットを復号し得、各レイヤは特定の表現フォーマットに関連し得る。
【0144】
[0158] 別の例によれば、ビデオデコーダ30は、視覚的信号情報(video_format、video_full_range_flag、colour_primaries、transfer_characteristics、matrix_coeffs)を本開示の技法に従ってVPS中のレイヤごとに復号し得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット80によって実行され得る。いくつかの例では、video_formatパラメータは、コーディングすべきピクチャの表現のフォーマットを示す。video_full_range_flagパラメータは、黒レベルならびにルーマ信号およびクロマ信号の範囲を示す。colour_primariesパラメータは、ソース原色の色度座標を示す。transfer_characteristicパラメータは、ソースピクチャの光−電子伝達特性を示す。matrix_coeffsパラメータは、緑、青、および赤の原色からルーマ信号およびクロマ信号を導出する際に使用される行列係数を表す。
【0145】
[0159] 別の例によれば、SPSは、本開示の技法に従って様々な空間解像度、ビット深度、またはカラーフォーマットを有するレイヤによって共有され得る。ビデオデコーダ30はSPSを復号し得る。いくつかの例では、符号化は、エントロピー符号化処理ユニット80によって実行され得る。
【0146】
[0160] 別の例によれば、本開示の技法に従ってレイヤIDが0よりも大きいSPSのVUIにはタイミング情報が含められない。ビデオデコーダ30はSPSを復号し得る。いくつかの例では、復号は、エントロピー復号処理ユニット80によって実行され得る。
【0147】
[0161] 別の例によれば、本開示の技法に従ってデフォルトの出力レイヤセットにはターゲット出力レイヤの明示的なシグナリングは行われない。ビデオデコーダ30は、デフォルトの出力レイヤセットを復号し得る。いくつかの例では、復号は、エントロピー復号処理ユニット80によって実行され得る。
【0148】
[0162] 別の例によれば、存在し得る時間的サブレイヤの最大数(sps_max_sub_layers_minus1)およびインター予測が追加的に制限されるかどうか(sps_temporal_id_nesting_flag)のシグナリングは、レイヤID(nuh_layer_id)が0に等しいときにのみSPSで行われる。ビデオデコーダ30は、レイヤIDが0よりも大きいSPSにおける、SPSを参照する各CVSに存在し得る時間的サブレイヤの最大数、およびSPSを参照するCVSのためのインター予測が追加的に制限されるかどうかをコーディングせずに、ビデオデータを復号し得る。いくつかの例では、復号は、エントロピー復号処理ユニット80によって実行され得る。
【0149】
[0163] 別の例によれば、本開示の技法に従ってシンタックス要素output_layer_set_idx[i]がoutput_layer_set_idx_minus1[i]に変更され得る。ビデオデコーダ30は、シンタックス要素output_layer_set_idx_minus1[i]を、VPSによって指定されたi番目の出力レイヤセットに対応するレイヤセットのインデックスを示すように復号し得る。
【0150】
[0164] 以下の例では、括弧付きのラベル(たとえば、[例A開始]および[例A終了])は、示される例に関係する記述を示すために使用される。2013年4月2日現在で、http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1008-v1.zipからダウンロード可能なSHVCの現在のバージョンまたは2013年4月2日現在でhttp://phenix.it-sudparis.eu/jct2/doc_end_user/documents/3_Geneva/wg11/JCT3V-C1004-v4.zipからダウンロード可能なMV−HEVC規格に関して変更が示されることがある。
【0151】
[0165] レイヤセット、出力レイヤセットのシグナリング、およびレイヤ依存性のシグナリングについてのプロファイル、ティア、およびレベル情報のシグナリングに対するいくつかの変更は、本開示の態様による、本明細書に含まれる例Aを示すためにこの提案において使用される[例A開始]および[例A終了]によって示される。
【0152】
[0166] シンタックス要素vps_num_layer_sets_minus1がue(v)コーディングされ(すなわち、エントロピー符号化され)、また、そのシンタックス要素の前に他のue(v)コード化シンタックス要素もあるので、レイヤセットのプロファイル、ティア、およびレベルに現在アクセスするにはエントロピー復号が必要である。エントロピー復号なしにこの情報にアクセス可能であるようにするために、profile_tier_level()シンタックス構造のセットは、エントロピー復号なしにアクセス可能である位置においてシグナリングされ得る。次いで、profile_tier_level()シンタックス構造のセットは、出力レイヤセットにリンクするために参照され得る。同じレイヤセットの複数の出力レイヤセットが、異なるDPBサイズを必要とすることがあり、したがって、異なるレベルに適合し得る。
【0153】
[0167] いくつかの例では、後述のように、シンタックス要素output_layer_set_idx[i]がoutput_layer_set_idx_minus1[i]に変更され得る。nuh_layer_idが0に等しいSPSがnuh_layer_idが0よりも大きいレイヤによって参照されるとき、SPS中のprofile_tier_level()シンタックス構造はそのレイヤには適用されない。上記と同様の理由で、レイヤ依存性のシグナリングはエントロピー復号なしにアクセス可能であるように上位に移される。シンタックス要素output_layer_set_idx[i]をoutput_layer_set_idx_minus1[i]に変更するのは以下の理由による。0に等しいoutput_layer_set_idx[i]に使用されるシンタックス要素layer_id_included_flag[][]はレイヤセット0のシンタックス要素であり、レイヤセット0にはlayer_id_included_flag[][]が定義されない。レイヤセット0のためのターゲット出力レイヤがレイヤ0(ベースレイヤ)であることは明確である。
【0154】
[0168] したがって、上記からわかるように、各レイヤはSPSを参照する必要がある。従来、空間解像度、ビット深度、またはカラーフォーマットの値が異なる任意の2つのレイヤは、これらの表現フォーマットパラメータがSPS中でシグナリングされるので2つの異なるSPSを参照する必要がある。しかし、nuh_layer_idが0に等しいSPSを除くすべてのSPSのためのこれらのパラメータがVPSに移され、nuh_layer_idが0よりも大きいレイヤによって参照されるnuh_layer_idが0に等しいSPS中の表現フォーマットパラメータが無視されることが指定されるとき、空間解像度、ビット深度、またはカラーフォーマットの値が異なる各レイヤは同じSPSを参照することが可能である。言い換えれば、本開示のいくつかの実装形態によれば、空間解像度、ビット深度、またはカラーフォーマットの値が異なる各レイヤが他のSPSである限り、同じSPSを共有することができる。
【0155】
[0169] 本明細書で説明するいくつかの例では、出力レイヤセットシグナリングのためにシンタックスおよびセマンティクスを変更する。場合によっては、これにより、以下の問題のうちの1つまたは複数を解決し得、まず、現在、レイヤセットごとにせいぜい1つの出力レイヤセットがシグナリングされ得る。マルチビューシナリオでは、多くの場合、1つのレイヤセットが異なるターゲット出力レイヤの複数のセットに関連する。したがって、シンタックス要素output_layer_flag[lsIdx][j]がoutput_layer_flag[i][j]に変更され得、関連するセマンティクスがそれに応じて変更され得る。したがって、2つ以上の出力レイヤセットが1つのレイヤセットについてシグナリングされ得る。第2に、現在、シンタックスは、0からVPS中の可能な最大のレイヤIDまでのレイヤIDのループを使用するが、これは複雑である。レイヤセット中の最上レイヤが確実にターゲット出力レイヤであるので、むしろ、レイヤセット中の最上位レイヤを除くレイヤセット中の各レイヤのループを使用する方がずっと簡単であろう。
【0156】
[0170] 例Bを示すためにこの提案で使用される、括弧付きのラベル[例B開始]および[例B終了]を使用して変更が示される、表現フォーマットに関する情報(セッション交渉のためのVPS(拡張)における空間解像度、カラーフォーマット、およびビット深度)のシグナリング。表現フォーマットは、そのような情報のリストのインデックスによって、ベースレイヤを含むレイヤごとにシグナリングされ、profile_tier_level()シンタックス構造の場合と同様に、nuh_layer_idが0よりも大きいSPSではシグナリングされない。したがって、これにより、nuh_layer_idが0よりも大きい異なるSPS中の同じ表現フォーマット情報を重複して送ることも少なくなる。nuh_layer_idが0に等しいSPSがnuh_layer_idが0よりも大きいレイヤによって参照されるとき、シンタックス要素chroma_format_idc、separate_colour_plane_flag、pic_ width in_luma_samples、pic_height_in_luma_samples、bit_depth_chroma_minus8、およびbit_depth_chroma_minus8の値はそのレイヤには適用されない。
【0157】
[0171] 異なるカテゴリーを個々に制御するSPSパラメータを効率的にシグナリングする際、SPSに含められ得るパラメータは以下の6つのカテゴリーに分類され得る。(1)Cat1:すでにスケーラブルHEVCビデオコーディング(SHVC)WD1およびマルチビューHEVC(MV−HEVC)WD3および上記で対処されているプロファイル−ティア−レベル情報、(2) Cat2:上記で対処されている表現フォーマット情報、(3)Cat3:サブレイヤ情報(sps_max_sub_layers_minus1、sps_temporal_id_nesting_flag、sps_max_dec_pic_buffering_minus1[i]、sps_max_num_reorder_pics[i]、およびsps_max_latency_increase_plus1[i])(これらの変更は、Cat3とも呼ばれる例Cを示すためにこの提案で使用される[例C開始]および[例C終了]という括弧付きラベルによって示される)、(4)Cat4:短期参照ピクチャセット(RPS)候補(このための変更は、Cat4とも呼ばれる例Dを示すためにこの提案で使用される[例D開始]および[例D終了]という括弧付きラベルによって示される)、(5)Cat5:ビデオ活用性情報(VUI)パラメータ(このための変更は、Cat5とも呼ばれる例Eを示すためにこの提案で使用される[例E開始]および[例E終了]という括弧付きラベルによって示される)、および(6)Cat6:他のSPSパラメータ、このための変更および共通の変更は、Cat6とも呼ばれる例Fを示すためにこの提案で使用される[例F開始]および[例F終了]という括弧付きラベルによって示される。
【0158】
[0172] 拡張レイヤまたは拡張レイヤを含むレイヤセットの場合、カテゴリー3〜6の情報は、アクティブなVPSから継承されるか、SPS中で直接シグナリングされるかのいずれかであり得、カテゴリー1および2の情報は、セッション交渉に重要であるのでVPS中でシグナリングされなければならない。nuh_layer_idが0よりも大きいSPSでは、VPS ID、SPS ID、および(カテゴリー3〜6(Cat3〜Cat6)のデータがSPSに存在するか、またはアクティブなVPSから継承されるかを示すための)フラグをシグナリングするための最小限の3つのシンタックス要素のみが存在する。そのようなダミーSPSの役割は、アクティブVPS IDをピクチャパラメータセット(PPS)に渡し、次いで間接的にビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットに渡すことである。
【0159】
[0173] 以下の変更は、MV−HEVC WD3およびSHVC WD1に基づいており、上述のように、異なるカラーコードによって識別され、すなわち、異なる色で強調されており、削除事項には取り消し線が施されている。言及されていない部分はMV−HEVC WD3およびSHVC WD1と同じである。
【0160】
[0174] 以下の表3には、ローバイトシーケンスペイロード(RBSP)シンタックスおよびセマンティクスのビデオパラメータセット(VPS)のための例示的なシンタックスが示されている。これはSHVC WD1およびMV−HEVC WD3と同じである。便宜上、このシンタックスを以下(表3)にコピーする。
【0161】
【表3-1】
【表3-2】
【0162】
[0175] 表4は、ビデオパラメータセット拡張およびセマンティクスの例を示す。
【0163】
【表4-1】
【表4-2】
【表4-3】
【表4-4】
【0164】
[例A開始]
[0176] パラメータvps_num_profile_tier_level_minus1 plus 1は、VPS中のprofile_tier_level()シンタックス構造の数を指定する。1に等しいVps_profile_present_flag[i]は、プロファイル情報およびティア情報がi番目のprofile_tier_level()シンタックス構造に存在することを指定する。0に等しいVps_profile_present_flag[lsIdx]は、プロファイル情報およびティア情報が、i番目のprofile_tier_level()シンタックス構造に存在せず、i番目のprofile_tier_level()シンタックス構造について推定され得ることを指定する。
【0165】
[0177] パラメータprofile_ref_minus1[i]は、i番目のprofile_tier_level()シンタックス構造についてのプロファイル情報およびティア情報が、(profile_ref_minus1[i]+1)番目のprofile_tier_level()シンタックス構造についてのプロファイル情報およびティア情報と等しいと推定され得ることを指定する。profile_ref_minus1[i]+1の値はi未満であり得る。
【0166】
[0178] 0に等しいパラメータdirect_dependency_flag[i][j]は、インデックスjをもつレイヤがインデックスiをもつレイヤの直接参照レイヤではないことを指定する。1に等しいdirect_dependency_flag[i][j]は、インデックスjをもつレイヤがインデックスiをもつレイヤのための直接参照レイヤであり得ることを指定する。direct_dependency_flag[i][j]は、0からvps_max_layers_minus1の範囲でiおよびjについて存在しないときには0に等しいと推定され得る。
【0167】
[0179] 変数NumDirectRefLayers[i]およびRefLayerId[i][j]は次のように導出され得る。
【0168】
【数1】
【0169】
[0180] [例B開始]パラメータvps_num_rep_formatsは、VPS中の後続のrep_format()シンタックス構造の数を指定する。vps_rep_format_idx[i]は、nuh_layer_idがレイヤ_ID_in_nuh[i]に等しいレイヤに適用されるrep_format()シンタックス構造の、VPS中のrep_format()シンタックス構造のセットに対するインデックスを指定する。iが0に等しいかまたはvps_num_rep_formatsが1に等しいとき、vps_rep_format_idx[i]は0に等しいと推定され得る。vps_rep_format_idx[i]の値は、両端値を含む、0からvps_num_rep_formats−1の範囲内にあり得る。[例B終了]
[0181] [例C開始]1に等しいmax_sub_layers_vps_predict_flag[i]は、max_sub_layers_vps_minus1[i]がmax_sub_layers_vps_minus1[i−1]に等しいと推定され得、sub_layer_vps_ordering_predict_flag[i]が存在することを指定する。0に等しいmax_sub_layers_vps_predict_flag[i]は、max_sub_layers_vps_minus1[i]が明示的にシグナリングされることを指定する。max_sub_layers_vps_predict_flag[0]の値は0に等しいと推定され得る。
【0170】
[0182] パラメータmax_sub_layers_vps_minus1[i]は、SPSシンタックス要素sps_max_sub_layers_minus1の推定に使用される。max_sub_layers_vps_predict_flag[i]が1に等しいとき、max_sub_layers_vps_minus1[i]はmax_sub_layers_vps_minus1に等しいと推定され得る。max_sub_layers_vps_minus1[i]の値はvps_max_sub_layers_minus1に等しいと推定され得る。[例C終了] [例A開始]1に等しいmultiple_output_layer_sets_in_layer_set_flagは、VPSによってレイヤセットごとに2つ以上の出力レイヤセットが指定され得ることを指定する。0に等しいmultiple_output_layer_sets_in_layer_set_flagは、VPSによってレイヤセットごとに1つの出力レイヤセットのみが指定され、最上位レイヤが唯一のターゲット出力レイヤであることを指定する。したがって、0に等しいmultiple_output_layer_sets_in_layer_set_flagは、VPSによってレイヤごとに1つの出力レイヤのみが指定され、最上位レイヤが唯一のターゲット出力レイヤであることを指定するので、デフォルトの出力レイヤセットのためのターゲット出力レイヤの明示的なシグナリングは必要とされない。たとえば、各レイヤセットの出力レイヤは1つだけであるので、どのレイヤを出力すべきかをシグナリングする必要はない。
【0171】
[0183] パラメータnum_output_layer_sets_minus1 plus 1は、VPSによって指定される出力レイヤセットの数を指定する。num_output_layer_sets_minus1の値は、両端値を含む、0から1023の範囲内にあり得る。[例A終了]
[0184] 代替的に、num_output_layer_sets_minus1の代わりに、vps_num_layers_sets_minus1+1に加えて出力レイヤセットの数を示すnum_addn_output_layer_setsがシグナリングされ得る。
【0172】
[0185] [例A開始]パラメータoutput_layer_set_idx_minus1[i] plus 1は、i番目の出力レイヤセットのインデックスを指定する。output_layer_set_idx_minus1[i]の値は、両端値を含む、0からvps_num_layers_sets_minus1−1の範囲内にあり得る。output_layer_set_idx_minus1[i]シンタックス要素の長さは、Ceil(Log2(vps_num_layers_sets_minus1))ビットである。
【0173】
[0186] 1に等しいoutput_layer_flag[i][j]は、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤであることを指定する。0に等しいoutput_layer_flag[i][j]は、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤではないことを指定する。
【0174】
[0187] output_layer_flag[i][NumLayersInIdList[lsIdx]−1]の値は1に等しいと推定され得、ここで、lsIdxはoutput_layer_set_idx_minus1[i]+1に等しい。[例A終了]
[0188] 代替的に、output_layer_flag[i][NumLayersInIdList[lsIdx]−1]の値は1に等しいと推定され得、ここで、lsIdxはoutput_layer_set_idx_minus1[i]+1に等しく、iは、両端値を含む、0からvps_num_layers_sets_minus1の範囲内にあり、output_layer_flag[i][j]の値は、iが、両端値を含む、0からvps_num_layers_sets_minus1の範囲内にあり、jが、両端値を含む、0からNumLayersInIdList[lsIdx]−2の範囲内にある場合に0に等しいと推定され得、lsIdxはoutput_layer_set_idx_minus1[i]+1に等しい。
【0175】
[0189] [例A開始]パラメータprofile_level_tier_idx[i]は、i番目の出力レイヤセットに適用されるprofile_tier_level()シンタックス構造の、VPS中のprofile_tier_level()シンタックス構造のセットのインデックスを指定する。profile_level_tier_idx[i]シンタックス要素の長さは、Ceil(Log2(vps_num_profile_tier_level_minus1+1))ビットである。profile_level_tier_idx[0]の値は0に等しいと推定され得る。profile_level_tier_idx[i]の値は、両端値を含む、0からvps_num_profile_tier_level_minus1の範囲内にあり得る。[例A終了]
[0190] [例F開始]パラメータvps_num_other_sps_paramsは、VPS中の後続のother_sps_parameters()シンタックス構造の数を指定する。vps_num_other_sps_paramsの値は、両端値を含む、0から15の範囲内にあり得る。[例F終了]
[0191] [例D開始]パラメータvps_num_st_rps_candidatesは、VPS中の後続のshort_term_rps_candidates()シンタックス構造の数を指定する。vps_num_st_rps_candidatesの値は、両端値を含む、0から15の範囲内にあり得る。[例D終了]
[0192] [例E開始]パラメータvps_num_vui_paramsは、VPS中の後続のvui_parameters()シンタックス構造の数を指定する。vps_num_vui_paramsの値は、両端値を含む、0から15の範囲内にあり得る。[例E終了]
[0193] [例F開始]vps_other_sps_params_idx[i]は、nuh_layer_idがlayer_id_in_nuh[i]に等しいレイヤに適用されるother_sps_parameters()シンタックス構造の、VPS中のother_sps_parameters()シンタックス構造のセットのインデックスを指定する。vps_other_sps_params_idx[i]シンタックス要素の長さは、Ceil(Log2(vps_num_other_sps_params))ビットであり得る。vps_num_other_sps_paramsが1に等しいとき、vps_other_sps_params_idx[i]は0に等しいと推定され得る。vps_other_sps_params_idx[i]の値は、両端値を含む、0からvps_num_other_sps_params−1の範囲内にあり得る。[例F終了]
[0194] [例D開始]パラメータvps_st_rps_idx[i]は、nuh_layer_idがlayer_id_in_nuh[i]に等しいレイヤに適用されるshort_term_rps_candidates()シンタックス構造の、VPS中のshort_term_rps_candidates()シンタックス構造のセットのインデックスを指定する。vps_st_rps_idx[i]シンタックス要素の長さは、Ceil(Log2(vps_num_st_rps_candidates))ビットであり得る。vps_num_st_rps_candidatesが1に等しいとき、vps_st_rps_idx[i]は0に等しいと推定され得る。vps_st_rps_idx[i]の値は、両端値を含む、0からvps_num_st_rps_candidates−1の範囲内にあり得る。[例D終了]
[0195] [例E開始]パラメータvps_vui_params_idx[i]は、nuh_layer_idがlayer_id_in_nuh[i]に等しいレイヤに適用されるvui_parameters()シンタックス構造の、VPS中のvui_parameters()シンタックス構造のセットのインデックスを指定する。vps_vui_params_idx[i]シンタックス要素の長さは、Ceil(Log2(vps_num_vui_params))ビットであり得る。vps_num_vui_paramsが1に等しいとき、vps_vui_params_idx[i]の値は0に等しいと推定され得る。vps_vui_params_idx[i]の値は、両端値を含む、0からvps_num_vui_params−1の範囲内にあり得る。[例E終了]
[0196] [例C開始]両端値を含む、0からnum_output_layer_sets−1の範囲内のsetIdの変数のためのMaxSubLayers[setId]は、次のように導出される。
【0176】
【数2】
【0177】
[0197] 1に等しいパラメータmax_sub_layers_vps_predict_flag[i]は、max_sub_layers_vps_minus1[i]がmax_sub_layers_vps_minus1[i]に等しいと推定され得、sub_layer_vps_ordering_predict_flag[i]が存在することを指定する。0に等しいmax_sub_layers_vps_predict_flag[i]は、max_sub_layers_vps_minus1[i]が明示的にシグナリングされることを指定する。max_sub_layers_vps_predict_flag[0]の値は0に等しいと推定され得る。
【0178】
[0198] 1に等しいパラメータsub_layer_vps_buf_info_predict_flag[i]は、max_vps_dec_pic_buffering_minus1[i][j]が、jの各値についてmax_vps_dec_pic_buffering_minus1[i−1][j]に等しいと推定され得る。0に等しいsub_layer_vps_buf_info_predict_flag[i]は、jの少なくとも1つの値についてのmax_vps_dec_pic_buffering_minus1[i][j]が明示的にシグナリングされることを指定する。
【0179】
[0199] 1に等しいパラメータsub_layer_vps_buf_info_present_flag[i]は、MaxSubLayers[i]個のサブレイヤについてmax_vps_dec_pic_buffering_minus1[i][j]が存在することを指定する。0に等しいsub_layer_vps_buf_info_present_flag[i]は、max_vps_dec_pic_buffering_minus1[i][MaxSubLayers[i]−1]の値がすべてのサブレイヤに適用されることを指定する。
【0180】
[0200] パラメータmax_vps_dec_pic_buffering_minus1[i][j]はSPSシンタックス要素sps_max_dec_pic_buffering_minus1[j]の値を推定するために使用される。max_vps_dec_pic_buffering_minus1[i][j]は、sub_layer_vps_buf_info_present_flag[i]が0に等しいことにより、iが、両端値を含む、0からMaxSubLayers[i]−2の範囲内にある場合に存在しないとき、max_vps_dec_pic_buffering_minus1[i][MaxSubLayers[i]−1]に等しいと推定され得る。
【0181】
[0201] jの各値についてのmax_vps_dec_pic_buffering_minus1[0][j]はvps_max_dec_pic_buffering_minus1[j]に等しいと推定され得る。
【0182】
[0202] 1に等しいパラメータsub_layer_vps_ordering_info_predict_flag[i]は、シンタックス要素sub_layer_vps_ordering_info_present_flag[i]、max_vps_num_reorder_pics[i][j]、およびmax_vps_latency_increase_plus1[i][j]がそれぞれ、sub_layer_vps_ordering_info_present_flag[i−1]、max_vps_num_reorder_pics[i−1][j]、およびmax_vps_latency_increase_plus1[i−1][j]に等しいと推定されることを指定する。0に等しいsub_layer_vps_ordering_info_predict_flag[i]は、シンタックス要素sub_layer_vps_ordering_info_present_flag[i]、max_vps_num_reorder_pics[i][j]、およびmax_vps_latency_increase_plus1[i][j]が明示的にシグナリングされることを指定する。sub_layer_vps_ordering_info_predict_flag[i]が存在しないとき、その値は0に等しく設定される。
【0183】
[0203] 1に等しいパラメータsub_layer_vps_ordering_info_present_flag[i]は、max_sub_layers_vps_minus1+1個のサブ_レイヤに関してmax_vps_num_reorder_pics[i][j]およびmax_vps_latency_increase_plus1[i][j]が存在することを指定する。0に等しいsub_layer_vps_ordering_info_present_flag[i]は、max_vps_num_reorder_pics[i][vps_max_sub_layers_minus1]およびmax_vps_latency_increase_plus1[i][max_sub_layers_vps_minus1]の値がすべてのサブレイヤに適用されることを指定する。
【0184】
[0204] パラメータmax_vps_num_reorder_pics[i][j]はSPSシンタックス要素sps_max_num_reorder_pics[j]の値を推定するために使用される。max_vps_num_reorder_pics[i][j]は、sub_layer_vps_ordering_info_present_flag[i]が0に等しいことにより、iが、両端値を含む、0からmax_sub_layers_vps_minus1[i]−1の範囲内にある場合に存在しないとき、max_vps_num_reorder_pics[i][max_sub_layers_vps_minus1[i]]に等しいと推定され得る。
【0185】
[0205] パラメータmax_vps_latency_increase_plus1[i][j]はSPSシンタックス要素sps_max_latency_increase_plus1[j]の値を推定するために使用される。max_vps_latency_increase_plus1[i][j]は、sub_layer_vps_ordering_info_present_flag[i]が0に等しいことにより、iが、両端値を含む、0からmax_sub_layers_vps_minus1[i]−1の範囲内にある場合に存在しないとき、max_vps_latency_increase_plus1[i][max_sub_layers_vps_minus1[i]]に等しいと推定され得る。[例C終了]
[0206] [例B開始]
[0207] 表5に、代表的なフォーマットおよびセマンティクスの例を示す。
【0186】
【表5】
【0187】
[0208] パラメータchroma_format_vps_idc、separate_colour_plane_vps_flag、pic_width_vps_in_luma_samples、pic_height_vps_in_luma_samples、bit_depth_vps_chroma_minus8、およびbit_depth_vps_chroma_minus8はそれぞれ、VPSを参照するSPSごとに、SPSシンタックス要素chroma_format_idc、separate_colour_plane_flag、pic_width_in_luma_samples、pic_height_in_luma_samples、bit_depth_luma_minus8、およびbit_depth_chroma_minus8の値を推定するために使用され得る。これらのシンタックス要素の各々について、対応するSPSシンタックス要素の値に適用される制約がある場合には、それらの制約のすべてが適用される。[例B終了]表現フォーマット情報は概して、たとえば、シーケンスのビット深度、クロマサンプリングフォーマット、解像度を含み得る。表5の例に示すように、表現フォーマットは、chroma_format_vps_idc、separate_colour_plane_vps_flag、pic_width_vps_in_luma_samples、pic_height_vps_in_luma_samples、bit_depth_vps_chroma_minus8、およびbit_depth_vps_chroma_minus8を含み得る。さらに、表5に示すように、VPS中の表現フォーマットのシグナリングは、表現フォーマット、たとえば、chroma_format_vps_idc、separate_colour_plane_vps_flag、pic_width_vps_in_luma_samples、pic_height_vps_in_luma_samples、bit_depth_vps_chroma_minus8、およびbit_depth_vps_chroma_minus8がエントロピー復号なしにアクセス可能であるように実行され得る。言い換えれば、表5に示すように、chroma_format_vps_idc、separate_colour_plane_vps_flag、pic_width_vps_in_luma_samples、pic_height_vps_in_luma_samples、bit_depth_vps_chroma_minus8、およびbit_depth_vps_chroma_minus8はエントロピー符号化されず、すなわち、記述子はue(v)ではない。いくつかの例では、各レイヤは特定の表現フォーマットに関連し得る。
【0188】
[0209] [例F開始]表6は、他のSPSパラメータシンタックスおよびセマンティクスの例を示す。
【0189】
【表6-1】
【表6-2】
【0190】
[0210] 以下のシンタックス要素の各々について、対応するSPSシンタックス要素の値に適用される制約がある場合には、それらの制約のすべてが適用される。conformance_window_vps_flag、conf_win_vps_left_offset、conf_win_vps_right_offset、conf_win_vps_top_offset、conf_win_vps_bottom_offset、log2_vps_max_pic_order_cnt_lsb_minus4、log2_vps_min_luma_coding_block_size_minus3、log2_vps_diff_max_min_luma_coding_block_size、log2_vps_min_transform_block_size_minus2、log2_vps_diff_max_min_transform_block_size、max_vps_transform_hierarchy_depth_inter、max_vps_transform_hierarchy_depth_intra、scaling_list_enabled_vps_flag、scaling_list_enabled_vps_flag、amp_enabled_vps_flag、sample_adaptive_offset_enabled_vps_flag、pcm_enabled_vps_flag、pcm_vps_sample_bit_depth_luma_minus1、pcm_vps_sample_bit_depth_chroma_minus1、log2_vps_min_pcm_luma_coding_block_size_minus3、log2_vps_diff_max_min_pcm_luma_coding_block_size、pcm_vps_loop_filter_disabled_flag、long_term_ref_pics_present_vps_flag、num_long_term_ref_pics_vps、lt_ref_pic_poc_lsb_vps[i]、used_by_curr_pic_lt_vps_flag[i]、temporal_mvp_enabled_vps_flag、およびstrong_intra_smoothing_enabled_vps_flagはそれぞれ、シンタックス要素conformance_window_flag、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、conf_win_bottom_offset、log2_max_pic_order_cnt_lsb_minus4、log2_min_luma_coding_block_size_minus3、log2_diff_max_min_luma_coding_block_size、log2_min_transform_block_size_minus2、log2_diff_max_min_transform_block_size、max_transform_hierarchy_depth_inter、max_transform_hierarchy_depth_intra、scaling_list_enabled_flag、sps_scaling_list_data_present_flag、amp_enabled_flag、sample_adaptive_offset_enabled_flag、pcm_enabled_flag、pcm_sample_bit_depth_luma_minus1、pcm_sample_bit_depth_chroma_minus1、log2_min_pcm_luma_coding_block_size_minus3、log2_diff_max_min_pcm_luma_coding_block_size、pcm_loop_filter_disabled_flag、long_term_ref_pics_present_flag、num_long_term_ref_pics_sps、lt_ref_pic_poc_lsb_sps[i]、used_by_curr_pic_lt_flag[i]、sps_temporal_mvp_enabled_flag、およびstrong_intra_smoothing_enabled_flagの値を推定するために使用され得る。[例F終了]
[0211] [例D開始]表7は、短期RPS候補シンタックスおよびセマンティクスの例を示す。
【0191】
【表7】
【0192】
[0212] パラメータnum_short_term_ref_pic_setsは、後続のshort_term_ref_pic_set()シンタックス構造の数を指定する。num_short_term_ref_pic_setsの値は、両端値を含む、0から64の範囲内にあり得る。
【0193】
[0213] 注1−現在ピクチャのスライスヘッダ中に直接シグナリングされるshort_term_ref_pic_set()シンタックス構造があり得るので、メモリデコーダは、num_short_term_ref_pic_sets+1short_term_ref_pic_set()シンタックス構造の総数にメモリを割り振るべきである。現在ピクチャのスライスヘッダにおいて直接シグナリングされるshort_term_ref_pic_set()シンタックス構造は、num_short_term_ref_pic_setsに等しいインデックスを有する。
【0194】
[0214] パラメータpred_st_rps_cand_idx_plus1 minus 1は、現在short_term_rps_candidates()シンタックス構造の少なくとも1つのshort_term_ref_pic_set()シンタックス構造を推定するために使用されるshort_term_rps_candidates()シンタックス構造の、VPS中のshort_term_rps_candidates()シンタックス構造のセットのインデックスを指定する。pred_st_rps_cand_idx_plus1は、存在しないとき、0に等しいと推定され得る。pred_st_rps_cand_idx_plus1の値は、両端値を含む、1からvps_num_st_rps_candidates−1の範囲内にあり得る。
【0195】
[0215] pred_from_rps_cand_list_flag[i]が1に等しい場合、現在のshort_term_rps_candidates()シンタックス構造のi番目のshort_term_ref_pic_set()シンタックス構造は、存在せず、別のshort_term_rps_candidates()シンタックス構造に存在するshort_term_ref_pic_set()シンタックス構造のうちの1つであるように設定されることを指定する。0に等しいpred_from_rps_cand_list_flag[i]は、現在のshort_term_rps_candidates()シンタックス構造のi番目のshort_term_ref_pic_set()シンタックス構造が存在することを指定する。pred_from_rps_cand_list_flag[i]が存在しないとき、その値は0に等しいと推定され得る。[例D終了]
[0216] 代替的に、1に等しいpred_from_rps_cand_list_flag[i]は、i番目のshort_term_ref_pic_set()に対応する変数DeltaPocS0、DeltaPocS1、UsedByCurrPicS1、UsedByCurrPicS0、NumPositivePics、NumNegativePics、およびNumDeltaPocsがそれぞれ、別のshort_term_rps_candidates()構造に対応する変数DeltaPocS0、DeltaPocS1、UsedByCurrPicS1、UsedByCurrPicS0、NumPositivePics、NumNegativePics、およびNumDeltaPocsに等しくなるように導出されることを指定する。
【0196】
[0217] [例D開始]パラメータidx_in_rps_cand[i]は、現在のshort_term_rps_candidates()のi番目のshort_term_ref_pic_set()シンタックス構造と同一のshort_term_ref_pic_set()シンタックス構造の、VPS中の(pred_st_rps_cand_idx_plus1−1)番目のshort_term_rps_candidates()シンタックス構造のshort_term_ref_pic_set()シンタックス構造のセットのインデックスを指定する。
【0197】
[0218] pred_from_rps_cand_list_flag[i]が1に等しい場合、現在のshort_term_rps_candidates()シンタックス構造内のi番目のshort_term_ref_pic_set()シンタックス構造は、VPS中の(pred_st_rps_cand_idx_plus1−1)番目のshort_term_rps_candidates()シンタックス構造のidx_in_rps_cand[i]番目のshort_term_ref_pic_set()シンタックス構造と同じであるように設定される。[例D終了]
[0219] 代替的に、pred_from_rps_cand_list_flag[i]が1に等しい場合、現在のshort_term_rps_candidates()シンタックス構造内のi番目のshort_term_ref_pic_set()シンタックス構造に対応する変数DeltaPocS0、DeltaPocS1、UsedByCurrPicS1、UsedByCurrPicS0、NumPositivePics、NumNegativePics、およびNumDeltaPocsがそれぞれ、VPS中の(pred_st_rps_cand_idx_plus1−1)番目のshort_term_rps_candidates()シンタックス構造のidx_in_rps_cand[i]番目のshort_term_ref_pic_set()シンタックス構造に対応する変数DeltaPocS0、DeltaPocS1、UsedByCurrPicS1、UsedByCurrPicS0、NumPositivePics、NumNegativePics、およびNumDeltaPocsに等しく設定されることを指定する。表8は、VUIパラメータシンタックスおよびセマンティクスの例を示す。
【0198】
【表8-1】
【表8-2】
【0199】
[0220] [例E開始]timingParamsPresentFlagが0に等しいときには、以下のことが適用される。vui_timing_info_present_flag、vui_num_units_in_tick、vui_time_scale、vui_poc_proportional_to_timing_flag、およびvui_num_ticks_poc_diff_one_minus1の値はそれぞれ、vps_timing_info_present_flag、vps_num_units_in_tick、vps_time_scale、vps_poc_proportional_to_timing_flag、およびvps_num_ticks_poc_diff_one_minus1に等しいと推定される。vui_hrd_parameters_present_flagの値は、0に等しいと推定され得る。
【0200】
[0221] 1に等しいパラメータvui_parameters_present_flagは、vui_parameters()シンタックス構造中にシンタックス要素がまだあることを指定する。0に等しいvui_parameters_present_flagは、vui_parameters()シンタックス構造中にはもはやシンタックス要素がないことを指定する。[例E終了]
[0222] 一例では、表8を見るとわかるように、視覚的信号情報(たとえば、video_format、video_full_range_flag、colour_primaries、transfer_characteristics、matrix_coeffs)はVUIパラメータのサブセットである。さらに、表4の例に示すように、VUI、したがって、視覚的信号情報は、VPSに含まれる。表4および表8から得られる情報を組み合わせることによって、視覚的信号情報がVPS中のレイヤごとにシグナリングされることがわかる。
【0201】
[0223] 表9は、例示的なシーケンスパラメータセットRBSPシンタックスおよびセマンティクスを示す。
【0202】
【表9-1】
【表9-2】
【表9-3】
【0203】
[0224] [例B開始]
[0225] SPSのnuh_layer_idが0に等しいとき、chroma_format_idc、separate_colour_plane_flag、pic_width_in_luma_samples、pic_height_in_luma_samples、bit_depth_luma_minus8、およびbit_depth_chroma_minus8の値はそれぞれ、アクティブなVPS中の0番目のrep_format()シンタックス構造のchroma_format_vps_idc、separate_colour_plane_vps_flag、pic_width_vps_in_luma_samples、pic_height_vps_in_luma_samples、bit_depth_vps_chroma_minus8、およびbit_depth_vps_chroma_minus8に等しくてよい。
【0204】
[0226] SPSを参照するnuh_layer_idが0よりも大きい各レイヤについて、layerIdxを、layer_id_in_nuh[layerIdx]がレイヤのnuh_layer_idに等しくなる値に等しく設定すると、以下のことが適用される。[例B終了]
[0227] [例A開始]SPSのnuh_layer_idが0に等しいとき、SPS中のprofile_tier_level()シンタックス構造は無視される。[例A終了]
[0228] 表8および表9に示すように、SPS VUIにおいて、たとえば0よりも大きいレイヤについて、タイミング情報はシグナリングされない。
【0205】
[0229] −[例B開始]chroma_format_idc、separate_colour_plane_flag、pic_width_in_luma_samples、pic_height_in_luma_samples、bit_depth_luma_minus8、およびbit_depth_chroma_minus8の値はそれぞれ、chroma_format_vps_idc、separate_colour_plane_vps_flag、pic_width_vps_in_luma_samples、pic_height_vps_in_luma_samples、bit_depth_vps_chroma_minus8、およびbit_depth_vps_chroma_minus8がVPSに存在するかどうかにかかわらず、アクティブなVPS中のvps_rep_format_idx [layerIdx]番目のrep_format()シンタックス構造のこれらのシンタックス要素に等しいと推定される。[例B終了]
[0230] [例F開始]1に等しいパラメータinherit_sps_params_from_vps_flagは、SPS RBSPについて、シンタックス要素sps_video_parameter_set_idおよびsps_seq_parameter_set_id以外の、シンタックス要素sps_extension_flagまでのすべてのシンタックス要素およびシンタックス構造の値が、アクティブなVPSから継承され得ることを指定する。0に等しいinherit_sps_params_from_vps_flagは、これらの値がアクティブなVPSから継承されないことを指定する。inherit_sps_params_from_vps_flagが存在しないとき、その値は0に等しいと推定され得る。vps_num_rep_fromats、vps_num_other_sps_params、vps_num_st_rps_candidates、またはvps_num_vui_paramsが0に等しいとき、inherit_sps_params_from_vps_flagの値は0に等しいことがある。inherit_sps_params_from_vps_flaが1に等しいときには、以下のことが適用される。[例F終了]
[0231] [例C開始]SPSを参照するレイヤごとのsps_max_sub_layers_minus1の値は、max_sub_layers_vps_minus1[layerIdx]に等しいと推定され得、ここで、layerIdxは、layer_id_in_nuh[layerIdx]がレイヤのnuh_layer_idに等しくなる値に等しい。
【0206】
[0232] SPSを参照するレイヤごとのsps_max_dec_pic_buffering_minus1[i]の値は、iが、両端値を含む、0からMaxSubLayers[lxIdx]−1の範囲内ではmax_vps_dec_pic_buffering_minus1[lsIdx][i]に等しいと推定され得、ここで、lsIdxは、両端値を含む、0からvps_num_layers_sets_minus1の範囲内にあり、レイヤが最上位レイヤであり、唯一のターゲット出力レイヤである出力レイヤセットの、各出力レイヤセットのうちのVPSによって指定されるセットのインデックスを示す。
【0207】
[0233] SPSを参照するレイヤごとのsps_max_num_reorder_pics[i]およびsps_max_latency_increase_plus1[i]の値は、max_vps_num_reorder_pics[layerIdx][i]およびmax_vps_latency_increase_plus1[layerIdx]に等しいと推定され、ここで、layerIdxは、iが、両端値を含む、0からsps_max_sub_layers_minus1の範囲内において、layer_id_in_nuh[layerIdx]がレイヤのnuh_layer_idに等しくなる値に等しい。SPSを参照するレイヤごとのsps_temporal_id_nesting_flagの値は、vps_temporal_id_nesting_flagに等しいと推定され得る。[例C終了]
[0234] 上記の説明および表9からわかるように、いくつかの例では、nuh_layer_id_>0であるときsps_max_sub_layers_minus1およびsps_temporal_id_nesting_flagをシグナリングしない。
【0208】
[0235] [例F開始]SPSを参照するレイヤごとのconformance_window_flag、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、conf_win_bottom_offset、log2_max_pic_order_cnt_lsb_minus4、log2_min_luma_coding_block_size_minus3、log2_diff_max_min_luma_coding_block_size、log2_min_transform_block_size_minus2、log2_diff_max_min_transform_block_size、max_transform_hierarchy_depth_inter、max_transform_hierarchy_depth_intra、scaling_list_enabled_flag、sps_scaling_list_data_present_flag、amp_enabled_flag、sample_adaptive_offset_enabled_flag、pcm_enabled_flag、pcm_sample_bit_depth_luma_minus1、pcm_sample_bit_depth_chroma_minus1、log2_min_pcm_luma_coding_block_size_minus3、log2_diff_max_min_pcm_luma_coding_block_size、pcm_loop_filter_disabled_flag、long_term_ref_pics_present_flag、num_long_term_ref_pics_sps、lt_ref_pic_poc_lsb_sps[i]、used_by_curr_pic_lt_flag[i]、sps_temporal_mvp_enabled_flag、およびstrong_intra_smoothing_enabled_flagの値はそれぞれ、アクティブなVPS中のvps_other_sps_params_idx[layerIdx]番目のother_sps_parameters()シンタックス構造のconformance_window_vps_flag、conf_win_vps_left_offset、conf_win_vps_right_offset、conf_win_vps_top_offset、conf_win_vps_bottom_offset、log2_vps_max_pic_order_cnt_lsb_minus4、log2_vps_min_luma_coding_block_size_minus3、log2_vps_diff_max_min_luma_coding_block_size、log2_vps_min_transform_block_size_minus2、log2_vps_diff_max_min_transform_block_size、max_vps_transform_hierarchy_depth_inter、max_vps_transform_hierarchy_depth_intra、scaling_list_enabled_vps_flag、scaling_list_enabled_vps_flag、amp_enabled_vps_flag、sample_adaptive_offset_enabled_vps_flag、pcm_enabled_vps_flag、pcm_vps_sample_bit_depth_luma_minus1、pcm_vps_sample_bit_depth_chroma_minus1、log2_vps_min_pcm_luma_coding_block_size_minus3、log2_vps_diff_max_min_pcm_luma_coding_block_size、pcm_vps_loop_filter_disabled_flag、long_term_ref_pics_present_vps_flag、num_long_term_ref_pics_vps、lt_ref_pic_poc_lsb_vps、used_by_curr_pic_lt_vps_flag[i]、temporal_mvp_enabled_vps_flag、およびstrong_intra_smoothing_enabled_vps_flagに等しいと推定され、ここで、layerIdxは、layer_id_in_nuh[layerIdx]がレイヤのnuh_layer_idに等しくなる値に等しい。
【0209】
[0236] scaling_list_enabled_vps_flagが1に等しいとき、SPSを参照するレイヤごとのシンタックス構造scaling_list_data()の値は、アクティブなVPS中のvps_other_sps_params_idx[layerIdx]番目のother_sps_parameters()シンタックス構造におけるシンタックス構造scaling_list_data()に等しいと推定され得、ここで、layerIdxは、layer_id_in_nuh[layerIdx]がレイヤのnuh_layer_idに等しくなる値に等しい。[例F終了]
[0237] [例D開始]SPSを参照するレイヤごとのシンタックス構造short_term_rps_candidates()の値は、アクティブなVPS中のvps_st_rps_idx[layerIdx]番目のshort_term_rps_candidates()に等しいと推定され得、ここで、layerIdxは、layer_id_in_nuh[layerIdx]がレイヤのnuh_layer_idに等しくなる値に等しい。[例D終了]
[0238] [例E開始]SPSを参照するレイヤごとのシンタックス構造vui_parameters()の値は、アクティブなVPS中のvps_vui_params_idx[layerIdx]番目のvui_parameters()シンタックス構造に等しいと推定され得、ここで、layerIdxは、layer_id_in_nuh[layerIdx]がレイヤのnuh_layer_idに等しくなる値に等しい。[例E終了]
[0239] ...
[0240] パラメータconf_win_left_offset、conf_win_right_offset、conf_win_top_offset、およびconf_win_bottom_offsetは、出力対象としてピクチャ座標で指定された矩形領域として、復号プロセスから出力されるコード化ビデオストリーム(CVS)中のピクチャのサンプルを指定する。[例F開始]inherit_sps_params_from_vps_flagが0に等しく[例F終了]conformance_window_flagが0に等しいとき、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、およびconf_win_bottom_offsetの値は0に等しいと推定され得る。
【0210】
[0241] 適合クロッピングウィンドウは、水平ピクチャ座標が、両端値を含む、SubWidthC*conf_win_left_offsetからpic_width_in_luma_samples(SubWidthC*conf_win_right_offset+1)までで、垂直方向ピクチャ座標が、両端値を含む、SubHeightC*conf_win_top_offsetからpic_height_in_luma_samples(SubHeightC*conf_win_bottom_offset+1)までのルーマサンプルを含む。
【0211】
[0242] SubWidthC*(conf_win_left_offset+conf_win_right_offset)の値はpic_width_in_luma_samplesよりも小さくなり得、SubHeightC*(conf_win_top_offset+conf_win_bottom_offset)の値はpic_height_in_luma_samplesよりも小さくてなり得る。
【0212】
[0243] ChromaArrayTypeが0に等しくないとき、2つのクロマアレイの対応する指定されるサンプルは、ピクチャ座標(x/SubWidthC,y/SubHeightC)を有するサンプルであり、ここで、(x,y)は指定されたルーマサンプルのピクチャ座標である。
【0213】
[0244] 注3−適合クロッピングウィンドウオフセットパラメータは出力にのみ適用される。すべての内部復号プロセスは、クロッピングされていないピクチャサイズに適用される。
【0214】
[0245] ...
[0246] 1に等しいパラメータsps_sub_layer_ordering_info_present_flagは[例C開始]、inherit_sps_params_from_vps_flagが0に等しいときに、[例C終了]sps_max_sub_layers_minus1+1個のサブレイヤについて、sps_max_dec_pic_buffering_minus1[i]、sps_max_num_reorder_pics[i]、およびsps_max_latency_increase_plus1[i]が存在することを指定する。0に等しいsps_sub_layer_ordering_info_present_flagは[例C開始]、inherit_sps_params_from_vps_flagが0に等しいときに、[例C終了]sps_max_dec_pic_buffering_minus1[sps_max_sub_layers_minus1]、sps_max_num_reorder_pics[sps_max_sub_layers_minus1]、およびsps_max_latency_increase_plus1[sps_max_sub_layers_minus1]がすべてのサブレイヤに適用されることを指定する。
【0215】
[0247] パラメータsps_max_dec_pic_buffering_minus1[i] plus 1は、HighestTidがiに等しいときのピクチャ記憶バッファの単位でのCVSの復号ピクチャバッファの最大必要サイズを指定する。いくつかの例では、sps_max_dec_pic_buffering_minus1[i]の値は、両端値を含む、0から(A.4節に指定されているような)MaxDpbSize−1の範囲内にあり得る。iが0よりも大きいとき、sps_max_dec_pic_buffering_minus1[i]は、sps_max_dec_pic_buffering_minus1[i−1]以上であり得る。sps_max_dec_pic_buffering_minus1[i]の値は、iの各値についてvps_max_dec_pic_buffering_minus1[i]以下であり得る。[例C開始]sps_max_dec_pic_buffering_minus1が0に等しく、[例C終了]iが、両端値を含む、0からsps_max_sub_layers_minus1−1の範囲内にある場合に、sps_sub_layer_ordering_info_present_flagが0に等しいことにより、sps_max_dec_pic_buffering_minus1[i]が存在しないとき、sps_max_dec_pic_buffering_minus1[i]は、sps_max_dec_pic_buffering_minus1[sps_max_sub_layers_minus1]に等しいと推定され得る。
【0216】
[0248] パラメータsps_max_num_reorder_pics[i]は、HighestTidがiに等しいときに、CVS中の任意のピクチャよりも先行することができるピクチャの最大許容数を復号順に示し、そのピクチャに後続することができるピクチャの最大許容数を出力順に示す。sps_max_num_reorder_pics[i]の値は、両端値を含む、0からsps_max_num_reorder_pics_buffering_minus1[i]の範囲内にあり得る。iが0よりも大きいとき、sps_max_num_reorder_pics[i]はsps_max_num_reorder_pics[i−1]以上であり得る。Sps_max_num_reorder_pics[i]の値は、iの各値についてvps__max_num_reorder_pics[i]以下であり得る。[例C開始]inherit_sps_params_from_vps_flagが0に等しく、[例C終了]iが、両端値を含む、0からsps_max_sub_layers_minus1−1の範囲内にある場合に、sps_sub_layer_ordering_info_present_flagが0に等しいことにより、sps_max_num_reorder_pics[i]が存在しないとき、sps_max_num_reorder_pics[i]はsps_max_num_reorder_pics[sps_max_sub_layers_minus1]に等しいと推定され得る。
【0217】
[0249] パラメータsps_max_latency_increase_plus1[i]が0に等しくない場合は、HighestTidがiに等しいときに、CVS中の任意のピクチャよりも先行することができるピクチャの最大許容数を出力順に指定し、そのピクチャに後続することができるピクチャの最大許容数を復号順に指定するSpsMaxLatencyPictures[i]の値を算出するために使用される。
【0218】
[0250] sps_max_latency_increase_plus1[i]が0に等しくないとき、SpsMaxLatencyPictures[i]の値は次のように指定される。
【0219】
【数3】
【0220】
【数4】
【0221】
[0251] sps_max_latency_increase_plus1[i]が0に等しいとき、対応する限界は表現されない。いくつかの例では、sps_max_latency_increase_plus1[i]の値は、両端値を含む、0から232−2の範囲内にあり得る。いくつかの例では、vps_max_latency_increase_plus1[i]が0に等しくないとき、sps_max_latency_increase_plus1[i]の値は0に等しくないことがあり、iの各値についてvps_max_latency_increase_plus1[i]以下であり得る。[例C開始]inherit_sps_params_from_vps_flagが0に等しく、[例C終了]iが、両端値を含む、0からsps_max_sub_layers_minus1−1の範囲内にある場合に、sps_sub_layer_ordering_info_present_flagが0に等しいことにより、sps_max_latency_increase_plus1[i]が存在しないとき、vps_max_latency_increase_plus1[i]はsps_max_latency_increase_plus1[sps_max_sub_layers_minus1]に等しいと推定される。
【0222】
[0252] ...
[0253] 1に等しいパラメータsps_scaling_list_data_present_flagは、スケーリングリストデータが、SPSに存在するか[例F開始]またはアクティブなVPS[例F終了]から継承されることを指定する。いくつかの例では、0に等しいsps_scaling_list_data_present_flagは、スケーリングリストデータが、SPSには存在せず[例F開始]、アクティブなVPS[例F終了]から継承されないことを指定する。[例F開始]inherit_sps_params_from_vps_flagが0に等しく、sps_scaling_list_data_present_flag[例F終了]が存在しないとき、sps_scaling_list_data_present_flagの値は0に等しいと推定され得る。scaling_list_enabled_flagが1に等しく、sps_scaling_list_data_present_flagが0に等しいとき、デフォルトのスケーリングリストデータが、HEVC規格の7.4.5節に指定されたスケーリングリストデータセマンティクスに記載されたようなアレイスケーリングファクタを導出するために使用される。
【0223】
[0254] パラメータpcm_loop_filter_disabled_flagは、次のようにpcm_flagが1に等しいコーディングユニット中の再構成されたサンプルに対してループフィルタプロセスを無効化するかどうかを指定する。pcm_loop_filter_disabled_flagが1に等しい場合、pcm_flagが無効化されたコーディングユニット中の再構成されたサンプルに対するデブロッキングフィルタおよびサンプル適応オフセットフィルタプロセスが無効化される。他の場合(pcm_loop_filter_disabled_flag値が0に等しい場合)には、pcm_flagが1に等しいコーディングユニット中の再構成されたサンプルに対するデブロッキングフィルタおよびサンプル適応オフセットフィルタプロセスは無効化されない。
【0224】
[0255] [例F開始]inherit_sps_params_from_vps_ flagが0に等しく、[例F終了]pcm_loop_filter_disabled_flagが存在しないとき、pcm_loop_filter_disabled_flagは0に等しいと推定され得る。
【0225】
[0256]
【0226】
【数5】
【0227】
[0257]
【0228】
【数6】
【0229】
[0258] ...
[0259]
【0230】
【数7】
【0231】
[0260]
【0232】
【数8】
【0233】
[0261] ...
[0262]
【0234】
【数9】
【0235】
[0263] 図4は、本明細書で説明するシステムおよび方法によるビデオデータを復号するための例示的な方法を示すフローチャートである。図4に示された例では、ビデオデコーダ30は、プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットを受信する(402)。プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットは、VPS拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置に存在し得る。
【0236】
[0264] ビデオデコーダ30は、複数の出力レイヤセットの各々のためのプロファイル、ティア、およびレベルシンタックス構造のうちの1つを参照し(404)、出力レイヤセットのうちの1つについて参照されたプロファイル、ティア、およびレベルシンタックス構造からの情報に基づいてその出力レイヤセットのビデオデータを復号する(406)。たとえば、ビデオデコーダ30は、出力レイヤセットのビットストリームのプロファイル、ティア、およびレベルが、デコーダのプロファイル、ティア、およびレベルによって示されるビデオデコーダ30の復号機能よりも高い機能がビットストリームの復号に必要であることを示す場合には出力レイヤセットを無視し得る。出力レイヤセットのビットストリームのプロファイル、ティア、およびレベルによって示される必要とされる復号機能がビデオデコーダ30の復号機能よりも低いときは、ビデオデコーダ30は、ビットストリームのプロファイル、ティア、およびレベルによって示される必要とされる復号プロセスを使用して出力レイヤセットのビットストリームを復号する。
【0237】
[0265] いくつかの例では、ビデオデコーダ30は、nuh_layer_idが0に等しいSPSを受信し得、ここにおいて、SPSは、ビデオデータのレイヤのためのプロファイル、ティア、およびレベルシンタックス構造を含む。
【0238】
[0266] いくつかの例では、ビデオデコーダ30は、1に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤであることを指定し、0に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤではないことを指定する出力レイヤフラグ[i][j]を受信し得る。たとえば、ビデオエンコーダ20は、1に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤであることを指定し、0に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤではないことを指定する出力レイヤフラグ[i][j]を送信し得る。ビデオデコーダ30は、1に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤであることを指定し、0に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤではないことを指定する出力レイヤフラグ[i][j]を送信し得る。
【0239】
[0267] ビデオデコーダ30はまた、出力レイヤフラグ[i][j]に基づいて出力レイヤセットを生成し得る。たとえば、ビデオエンコーダ20も、出力レイヤフラグ[i][j]に基づいて出力レイヤセットを符号化し得る。
【0240】
[0268] 図5は、本明細書で説明するシステムおよび方法によるビデオデータを符号化するための例示的な方法を示すフローチャートである。図5に示す例では、ビデオエンコーダ20は、出力レイヤフラグ[i][j]に基づいて出力レイヤセットを生成し得る。たとえば、ビデオエンコーダ20は、複数の出力レイヤセットの各々のためのプロファイル、ティア、およびレベルシンタックス構造のうちの1つを参照し得る(502)。ビデオエンコーダ20はまた、出力レイヤフラグ[i][j]に基づいて出力レイヤセットを符号化する(504)。
【0241】
[0269] ビデオエンコーダ20は、プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットを有するVPS拡張をもつVPSを符号化する(506)。いくつかの例では、ビデオエンコーダ20は、プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットを有するVPSおよびVPS拡張を送信し、記憶し、または記憶させ得る。プロファイル、ティア、およびレベルシンタックス構造の非エントロピー符号化セットは、VPS拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置に存在し得る。たとえば、ビデオエンコーダ20は、選択されたプロファイル、ティア、およびレベルに従ってビデオデータを符号化し得る。ビデオエンコーダ20はまた、デコーダによって使用されるVPS中のプロファイル、ティア、およびレベルシンタックスを符号化し得る。
【0242】
[0270] いくつかの例では、ビデオエンコーダ20は、nuh_layer_idが0に等しいSPSを符号化し得、ここにおいて、SPSは、ビデオデータのレイヤのためのプロファイル、ティア、およびレベルシンタックス構造を含む。たとえば、ビデオエンコーダ20は、nuh_layer_idが0に等しいSPSを送り得、ここにおいて、ビデオデータのレイヤのためのプロファイル、ティア、およびレベルシンタックス構造を含む。nuh_layer_idが0に等しいSPSがnuh_layer_idが0よりも大きいレイヤによって参照されるとき、SPS中のprofile_tier_level()シンタックス構造はそのレイヤには適用されない。
【0243】
[0271] したがって、上記からわかるように、各レイヤはSPSを参照する必要がある。従来、空間解像度、ビット深度、またはカラーフォーマットの値が異なる任意の2つのレイヤは、これらの表現フォーマットパラメータがSPS中でシグナリングされるので2つの異なるSPSを参照する必要がある。しかし、nuh_layer_idが0に等しいSPSを除くすべてのSPSについてのこれらのパラメータがVPSに移され、nuh_layer_idが0よりも大きいレイヤによって参照されるnuh_layer_idが0に等しいSPS中の表現フォーマットパラメータが無視されることが指定されるとき、空間解像度、ビット深度、またはカラーフォーマットの値が異なる各レイヤは同じSPSを参照することが可能である。言い換えれば、本開示のいくつかの実装形態によれば、空間解像度、ビット深度、またはカラーフォーマットの値が異なる各レイヤは、レイヤに必要な他のSPSパラメータが同じである限り、同じSPSを共有することができる。
【0244】
[0272] いくつかの例では、ビデオエンコーダ20は、1に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤであることを指定し、0に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤではないことを指定する出力レイヤフラグ[i][j]を送信し得る。たとえば、ビデオエンコーダ20は、1に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤであることを指定し、0に等しいときに、レイヤセット中のj番目のレイヤがi番目の出力レイヤセットのターゲット出力レイヤではないことを指定する出力レイヤフラグ[i][j]を送信し得る。
【0245】
[0273] 図6は、本明細書で説明するシステムおよび方法によるビデオデータを復号するための例示的な方法を示すフローチャートである。図6に示す例では、ビデオデコーダ30は、VPS拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置にある非エントロピー符号化レイヤ依存情報を受信する(602)。
【0246】
[0274] ビデオデコーダ30は、エントロピー符号化されたシンタックス要素の前の非エントロピー符号化レイヤ依存情報を復号する(604)。一例では、ビデオデコーダ30は、任意のエントロピー符号化シンタックス要素の前の非エントロピー符号化レイヤ依存情報を復号し得る。
【0247】
[0275] ビデオデコーダ30は、非エントロピー符号化レイヤ依存情報に基づいてビデオデータのレイヤのうちの1つまたは複数のレイヤのビデオデータを復号する(606)。レイヤ依存情報は、レイヤのうちの1つがレイヤのうちの別の1つのための直接参照レイヤであるかどうかを示し得る。いくつかの例では、レイヤ依存情報は、レイヤのうちの1つがレイヤのうちの別の1つのための直接参照レイヤであるかどうかを示すときに、レイヤのうちのどの1つがレイヤのうちの別の1つのための直接参照レイヤであるかをも示し得る。言い換えれば、レイヤ依存情報は、レイヤのうちの1つがレイヤのうちの別の1つのための直接参照レイヤであるかどうかを示し、レイヤのうちの別の1つのための直接参照レイヤであるレイヤのうちの1つを特定し得る。いくつかの例では、レイヤ依存情報は、0に等しいときに、インデックスjを有するレイヤがインデックスiを有するレイヤのための直接参照レイヤではないことを指定し、1に等しいときに、インデックスjを有するレイヤがインデックスiを有するレイヤのための直接参照レイヤであり得ることを指定するdirect_dependency_flag[i][j]を含む。ビデオデコーダ30は、ピクチャを復号する際、情報の中でも特にレイヤ依存情報に基づいてレイヤ間参照ピクチャセットを導出し得、情報の中でも特にレイヤ間参照ピクチャセットに基づいて参照ピクチャセットをさらに導出し得、次いで、直接参照レイヤ内のピクチャによるレイヤ間予測を使用してピクチャを復号し得る。
【0248】
[0276] 図7は、本明細書で説明するシステムおよび方法によるビデオデータを符号化するための例示的な方法を示すフローチャートである。ビデオエンコーダ20は、非エントロピー符号化レイヤ依存情報に基づいてビデオデータのレイヤのうちの1つまたは複数のレイヤのビデオデータを符号化する(702)。ビデオエンコーダ20は、ビデオパラメータセット(VPS)拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置にある非エントロピー符号化レイヤ依存情報を符号化し得る(704)。たとえば、ビデオエンコーダ20は、非エントロピー符号化レイヤ依存情報に基づいてビデオデータのレイヤのうちの1つまたは複数のレイヤのビデオデータを符号化し得る。レイヤ依存情報は、レイヤのうちの1つがレイヤのうちの別の1つのための直接参照レイヤであるかどうかを示し得る。いくつかの例では、ビデオエンコーダ20は、ビデオパラメータセット(VPS)拡張内の、エントロピー符号化されたVPS拡張のシンタックス要素より前の位置にある非エントロピー符号化レイヤ依存情報を送信すること、記憶すること、または記憶させることがある。
【0249】
[0277] いくつかの例では、レイヤ依存情報は、0に等しいときに、インデックスjをもつレイヤがインデックスiをもつレイヤのための直接参照レイヤではないことを指定し、1に等しいときに、インデックスjをもつレイヤがインデックスiをもつレイヤのための直接参照レイヤになり得ることを指定するdirect_dependency_flag[i][j]を含む。
【0250】
[0278] 図8は、本明細書で説明するシステムおよび方法によるビデオデータを復号するための例示的な方法を示すフローチャートである。図8の例では、2つ以上の出力レイヤセットが1つのレイヤセットについてシグナリングされ得る。したがって、2つ以上の出力レイヤセットが1つのレイヤセットについてシグナリングされる場合、ビデオデコーダ30は、たとえば、入力インターフェース28を介してレイヤセットの第1の出力レイヤセットを受信する(802)。ビデオデコーダ30はまた、レイヤセットの第2の出力レイヤセットを受信する(804)。さらに、図8の例は、1つのレイヤセットのための2つの出力レイヤセットを示すが、3つ、4つ、またはさらにより多くの出力レイヤセットが1つのレイヤセットについてシグナリングされ得ることが理解されよう。ビデオデコーダ30は、第1の出力レイヤセットおよび第2の出力レイヤセットのうちの少なくとも一方についてのビデオデータを復号する(806)。
【0251】
[0279] 図9は、本明細書で説明するシステムおよび方法によるビデオデータを符号化するための例示的な方法を示すフローチャートである。図9の例では、2つ以上の出力レイヤセットが1つのレイヤセットについてシグナリングされ得る。したがって、ビデオエンコーダ20は、第1の出力レイヤセットおよび第2の出力レイヤセットのうちの少なくとも一方についてのビデオデータを符号化する(902)。したがって、出力インターフェース22はビデオエンコーダ20から符号化データを送信し得る。送信されるデータは、レイヤセットの第1の出力レイヤセット(904)とレイヤセットの第2の出力レイヤセット(906)とを含み得る。いくつかの例では、出力インターフェース22は入力インターフェース28にデータを送信し得る。他の例では、出力インターフェース22はデータを記憶するために記憶デバイス34に送信し得る。
【0252】
[0280] 図10は、本明細書で説明するシステムおよび方法によるビデオデータを復号するための例示的な方法を示すフローチャートである。図10の例は、VPS中の表現フォーマットを、潜在的に、それがエントロピー復号なしにアクセス可能である方法でシグナリングすることを示す。言い換えれば、VPS中の表現フォーマットはエントロピー符号化されない。VPS中の表現フォーマットは、たとえば固定長コーディングされる。したがって、ビデオデコーダ30は、たとえば、入力インターフェース28を介してVPS内の非エントロピー符号化表現フォーマット(non-entropy encoded representation format)を受信する(1002)。表現フォーマットは、クロマフォーマット、異なる色平面(colour plane)が別々にコーディングされるかどうか、ピクチャ幅、ピクチャ高さ、ルーマビット深度(luma bit depth)、およびクロマビット深度(chroma bit depth)のうちの1つまたは複数を含み得る。ビデオデコーダ30はまた、VPS内の非エントロピー符号化表現フォーマットに基づいてビデオデータを復号する(1004)。表現フォーマットは、潜在的に、それがエントロピー復号デバイスなしにアクセス可能である方法でVPS中にあるので、エントロピーコーディングを実行しないデバイスが表現フォーマットにアクセスできることがあり、たとえば、場合によっては、メディアアウェアネットワークエンティティ(MANE:Media Aware Network Entity)はエントロピーコーディングデバイスを有しないことがある。ビデオデコーダ30は、潜在的に本開示の技法に従ってエントロピー復号なしにVPS中の表現フォーマットを復号し得、各レイヤは特定の表現フォーマットに関連し得る。
【0253】
[0281] 図11は、本明細書で説明するシステムおよび方法によるビデオデータを符号化するための例示的な方法を示すフローチャートである。図11の例は、VPS中の表現フォーマットを、潜在的に、それがエントロピー復号なしにアクセス可能である方法でシグナリングすることを示す。言い換えれば、VPS中の表現フォーマットはエントロピー符号化されない。VPS中の表現フォーマットは、たとえば固定長コーディングされる。したがって、ビデオエンコーダ20は、VPS内の非エントロピー符号化表現フォーマットに基づいてビデオデータを符号化する(1102)。表現フォーマットは、クロマフォーマット、異なる色平面が別々にコーディングされるかどうか、ピクチャ幅、ピクチャ高さ、ルーマビット深度、およびクロマビット深度のうちの1つまたは複数を含み得る。ビデオエンコーダ20は、VPS中の非エントロピー符号化表現フォーマットを送信する(1104)。ビデオエンコーダ20は、本開示の技法によるエントロピー復号なしにアクセス可能である方法で、VPS中の表現フォーマットを符号化し得、各レイヤは特定の表現フォーマットに関連し得る。
【0254】
[0282] 図12は、本明細書で説明するシステムおよび方法によるビデオデータを符号化するための例示的な方法を示すフローチャートである。図12の例は、VPS中のレイヤごとの視覚的信号情報、たとえば、video_format、video_full_range_flag、colour_primaries、transfer_characteristics、matrix_coeffのシグナリングを示す。したがって、ビデオデコーダ30は、各レイヤが視覚的信号情報を含む一連のレイヤを含むVPSを受信する(1002)。ビデオデコーダ30は、VPS中のレイヤごとにシグナリングされた受信された視覚的信号情報に基づいてビデオデータを復号し得る。
【0255】
[0283] 図13は、本明細書で説明するシステムおよび方法によるビデオデータを符号化するための例示的な方法を示すフローチャートである。図13の例は、VPS中のレイヤごとの視覚的信号情報、たとえば、video_format、video_full_range_flag、colour_primaries、transfer_characteristics、matrix_coeffのシグナリングを示す。したがって、ビデオエンコーダ20は、VPS中のレイヤごとにシグナリングされた受信された視覚的信号情報に基づいてビデオデータを符号化する(1302)。ビデオエンコーダ20は、各レイヤが一連のレイヤの各々の視覚的信号情報を含む、一連のレイヤを含むVPSを送信する(1304)。
【0256】
[0284] 1つまたは複数の例において、前述の機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的な有形コンピュータ可読記憶媒体、あるいは(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法を実装するための命令、コード、および/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【0257】
[0285] 限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu−rayディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)はデータをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0258】
[0286] 命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積論理回路またはディスクリート論理回路など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または、本明細書で説明する技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明する機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
【0259】
[0287] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含む、コーデックハードウェアユニットにおいて組み合わせられるか、または、相互動作可能なハードウェアユニットの集合によって与えられ得る。
【0260】
[0288] 様々な例について説明した。これらの例および他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
マルチレイヤビデオデータを復号する方法であって、前記方法が、
ビデオパラメータセット(VPS)中のレイヤごとにシグナリングされた視覚信号情報を含む前記VPSを受信することと、
前記VPS中のレイヤごとにシグナリングされた前記受信された視覚信号情報に基づいてビデオデータを復号することとを備える、方法。
[C2]
視覚信号情報が、以下のパラメータ、すなわちvideo_format、video_full_range_flag、colour_primaries、transfer_characteristics、またはmatrix_coeffsのうちの1つまたは複数を含み、前記video_formatパラメータが、コーディングされるべきピクチャの表現のフォーマットを示し、前記video_full_range_flagパラメータがルーマおよびクロマ信号の黒レベルと範囲とを示し、前記colour_primariesパラメータがソースプライマリの色度座標を示し、前記transfer_characteristicsパラメータがソースピクチャの光−電子伝達特性を示し、前記matrix_coeffsパラメータが、緑、青および赤プライマリからルーマおよびクロマ信号を導出する際に使用される行列係数を記述する、C1に記載の方法。
[C3]
video_format、video_full_range_flag、colour_primaries、transfer_characteristics、またはmatrix_coeffsのうちの1つまたは複数が固定長コーディングされる、C2に記載の方法。
[C4]
video_formatが3ビットの長さを用いて固定長コーディングされ、video_full_range_flagが1ビットの長さを用いて固定長コーディングされ、colour_primariesが8ビットの長さを用いて固定長コーディングされ、transfer_characteristicsが8ビットの長さを用いて固定長コーディングされ、matrix_coeffsが8ビットの長さを用いて固定長コーディングされる、C3に記載の方法。
[C5]
ビデオパラメータセット(VPS)内の非エントロピー符号化表現フォーマットを受信することと、
前記VPS内の前記非エントロピー符号化表現フォーマットに基づいてビデオデータを復号することとをさらに備える、C1に記載の方法。
[C6]
前記表現フォーマットが、クロマフォーマットのうちの1つまたは複数の指示を含み、ここにおいて、前記表現フォーマットが、クロマフォーマット、異なる色平面が別々にコーディングされるかどうか、ピクチャ幅、ピクチャ高さ、ルーマビット深度、およびクロマビット深度のうちの1つまたは複数を含む、C5に記載の方法。
[C7]
マルチレイヤビデオデータを符号化する方法であって、前記方法が、
ビデオパラメータセット(VPS)中のレイヤごとにシグナリングされた視覚信号情報に基づいてビデオデータを符号化することと、
前記VPS中のレイヤごとにシグナリングされた前記視覚信号情報を含む前記VPSを送信することとを備える、方法。
[C8]
視覚信号情報が、以下のパラメータ、すなわちvideo_format、video_full_range_flag、colour_primaries、transfer_characteristics、またはmatrix_coeffsのうちの1つまたは複数を含み、前記video_formatパラメータが、コーディングされるべきピクチャの表現のフォーマットを示し、前記video_full_range_flagパラメータがルーマおよびクロマ信号の黒レベルと範囲とを示し、前記colour_primariesパラメータがソースプライマリの色度座標を示し、前記transfer_characteristicsパラメータがソースピクチャの光−電子伝達特性を示し、前記matrix_coeffsパラメータが、緑、青および赤プライマリからルーマおよびクロマ信号を導出する際に使用される行列係数を記述する、C7に記載の方法。
[C9]
video_format、video_full_range_flag、colour_primaries、transfer_characteristics、またはmatrix_coeffsのうちの1つまたは複数が固定長コーディングされる、C8に記載の方法。
[C10]
video_formatが3ビットの長さを用いて固定長コーディングされ、video_full_range_flagが1ビットの長さを用いて固定長コーディングされ、colour_primariesが8ビットの長さを用いて固定長コーディングされ、transfer_characteristicsが8ビットの長さを用いて固定長コーディングされ、matrix_coeffsが8ビットの長さを用いて固定長コーディングされる、C9に記載の方法。
[C11]
ビデオパラメータセット(VPS)内の非エントロピー符号化表現フォーマットを受信することと、
前記VPS内の前記非エントロピー符号化表現フォーマットに基づいてビデオデータを復号することとをさらに備える、C10に記載の方法。
[C12]
前記表現フォーマットが、クロマフォーマット、異なる色平面が別々にコーディングされるかどうか、ピクチャ幅、ピクチャ高さ、ルーマビット深度、およびクロマビット深度のうちの1つまたは複数を含む、C11に記載の方法。
[C13]
マルチレイヤビデオデータを復号するための装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
ビデオパラメータセット(VPS)中のレイヤごとにシグナリングされた視覚信号情報を含む前記VPSを受信することと、
前記VPS中のレイヤごとにシグナリングされた前記受信された視覚信号情報に基づいてビデオデータを復号することと
を行うように構成されたプロセッサとを備える、装置。
[C14]
視覚信号情報が、以下のパラメータ、すなわちvideo_format、video_full_range_flag、colour_primaries、transfer_characteristics、またはmatrix_coeffsのうちの1つまたは複数を含み、前記video_formatパラメータが、コーディングされるべきピクチャの表現のフォーマットを示し、前記video_full_range_flagパラメータがルーマおよびクロマ信号の黒レベルと範囲とを示し、前記colour_primariesパラメータがソースプライマリの色度座標を示し、前記transfer_characteristicsパラメータがソースピクチャの光−電子伝達特性を示し、前記matrix_coeffsパラメータが、緑、青および赤プライマリからルーマおよびクロマ信号を導出する際に使用される行列係数を記述する、C13に記載の装置。
[C15]
video_format、video_full_range_flag、colour_primaries、transfer_characteristics、またはmatrix_coeffsのうちの1つまたは複数が固定長コーディングされる、C14に記載の装置。
[C16]
video_formatが3ビットの長さを用いて固定長コーディングされ、video_full_range_flagが1ビットの長さを用いて固定長コーディングされ、colour_primariesが8ビットの長さを用いて固定長コーディングされ、transfer_characteristicsが8ビットの長さを用いて固定長コーディングされ、matrix_coeffsが8ビットの長さを用いて固定長コーディングされる、C15に記載の装置。
[C17]
ビデオパラメータセット(VPS)内の非エントロピー符号化表現フォーマットを受信することと、
前記VPS内の前記非エントロピー符号化表現フォーマットに基づいてビデオデータを復号することとをさらに備える、C13に記載の装置。
[C18]
前記表現フォーマットが、クロマフォーマット、異なる色平面が別々にコーディングされるかどうか、ピクチャ幅、ピクチャ高さ、ルーマビット深度、およびクロマビット深度のうちの1つまたは複数を含む、C17に記載の装置。
[C19]
マルチレイヤビデオデータを復号するための装置であって、
ビデオパラメータセット(VPS)中のレイヤごとにシグナリングされた視覚信号情報を含む前記VPSを受信するための手段と、
前記VPS中のレイヤごとにシグナリングされた前記受信された視覚信号情報に基づいてビデオデータを復号するための手段とを備える、装置。
[C20]
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、
ビデオパラメータセット(VPS)中のレイヤごとにシグナリングされた視覚信号情報を含む前記VPSを受信することと、
前記VPS中のレイヤごとにシグナリングされた前記受信された視覚信号情報に基づいてビデオデータを復号することとを行わせる、非一時的コンピュータ可読記憶媒体。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13