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

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

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

特許6174152ビデオコーディングにおける動作点用のシグナリングレイヤ識別子
<>
  • 特許6174152-ビデオコーディングにおける動作点用のシグナリングレイヤ識別子 図000010
  • 特許6174152-ビデオコーディングにおける動作点用のシグナリングレイヤ識別子 図000011
  • 特許6174152-ビデオコーディングにおける動作点用のシグナリングレイヤ識別子 図000012
  • 特許6174152-ビデオコーディングにおける動作点用のシグナリングレイヤ識別子 図000013
  • 特許6174152-ビデオコーディングにおける動作点用のシグナリングレイヤ識別子 図000014
  • 特許6174152-ビデオコーディングにおける動作点用のシグナリングレイヤ識別子 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6174152
(24)【登録日】2017年7月14日
(45)【発行日】2017年8月2日
(54)【発明の名称】ビデオコーディングにおける動作点用のシグナリングレイヤ識別子
(51)【国際特許分類】
   H04N 19/70 20140101AFI20170724BHJP
   H04N 19/30 20140101ALI20170724BHJP
【FI】
   H04N19/70
   H04N19/30
【請求項の数】15
【全頁数】46
(21)【出願番号】特願2015-534524(P2015-534524)
(86)(22)【出願日】2013年9月11日
(65)【公表番号】特表2015-531567(P2015-531567A)
(43)【公表日】2015年11月2日
(86)【国際出願番号】US2013059274
(87)【国際公開番号】WO2014052013
(87)【国際公開日】20140403
【審査請求日】2016年8月18日
(31)【優先権主張番号】61/707,486
(32)【優先日】2012年9月28日
(33)【優先権主張国】US
(31)【優先権主張番号】61/708,404
(32)【優先日】2012年10月1日
(33)【優先権主張国】US
(31)【優先権主張番号】13/953,525
(32)【優先日】2013年7月29日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100194814
【弁理士】
【氏名又は名称】奥村 元宏
(72)【発明者】
【氏名】ワン、イェ−クイ
【審査官】 山▲崎▼ 雄介
(56)【参考文献】
【文献】 Benjamin Bross, et al.,High efficiency video coding (HEVC) text specification draft 8,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 10th Meeting: Stockholm, SE, 11-20 July 2012,2012年 7月28日,JCTVC-J1003,pp.28,35,59-60,71-72,URL,http://phenix.it-sudparis.eu/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip
【文献】 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,2012年 7月 6日,JCTVC-J0124,URL,http://phenix.it-sudparis.eu/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J0124-v2.zip
【文献】 Ye-Kui Wang, et al.,AHG9: On video parameter set,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Shanghai, CN, 10-19 Oct. 2012,2012年10月 1日,JCTVC-K0125,URL,http://phenix.it-sudparis.eu/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K0125-v1.zip
【文献】 Benjamin Bross, et al.,High Efficiency Video Coding (HEVC) text specification draft 9,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Shanghai, CN, 10-19 October 2012,2012年12月18日,JCTVC-K1003,pp.ii,30,36-37,62-64,73-75,URL,http://phenix.it-sudparis.eu/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v13.zip
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
(57)【特許請求の範囲】
【請求項1】
符号化ビデオデータのビットストリームを復号する方法であって、
前記ビットストリームの第1の動作点を識別するレイヤ識別子の組を示す前記ビットストリーム内のビデオパラメータセット(VPS)における第1のシンタックス要素を復号することと、
在する場合、前記第1の動作点に関する仮想参照デコーダ(HRD)パラメータの組を示す、前記ビットストリーム内の前記VPSにおける第2のシンタックス要素を復号することと
前記ビットストリームが準拠するビットストリームである場合にのみ復号し続けることと、ここにおいて、準拠するビットストリームは、第2の動作点に関するレイヤ識別子の前記組とHRDパラメータの前記組とのうちの少なくとも1つを複製する、前記VPSにおけるシンタックス要素を含まないビットストリームである
前記ビットストリームが非準拠ビットストリームである場合に前記ビットストリームを破棄することと
を備える、方法。
【請求項2】
ビデオデータのビットストリームを符号化する方法であって、
前記ビットストリームが準拠するビットストリームであるように前記ビットストリームを符号化することと、ここにおいて前記ビットストリームを符号化することは、
前記ビットストリームの第1の動作点を識別するレイヤの組を示す前記ビットストリーム内のビデオパラメータセット(VPS)における第1のシンタックス要素を符号化することと、
前記第1の動作点に関する仮想参照デコーダ(HRD)パラメータの組を示す、前記ビットストリーム内の前記VPSにおける第2のシンタックス要素を符号化することと
を含み
前記第1の動作点に関して符号化されたレイヤ識別子の前記組またはHRDパラメータの前記組のうちの少なくとも1つを複製する、第2の動作点に関する前記VPSにおけるシンタックス要素を符号化しないことと
を備える、方法。
【請求項3】
レイヤ識別子の前記組が、前記VPSにおける前記第1の動作点に対して一意であるように、前記準拠するビットストリームは、前記第2の動作点に関するレイヤ識別子の前記組を複製する、前記VPSにおけるシンタックス要素を含まないビットストリームである、請求項1または2に記載の方法。
【請求項4】
レイヤ識別子の前記組が、前記VPSにおける前記第1の動作点に対して一意であるように、前記準拠するビットストリームは、前記第2の動作点に関するHRDパラメータの前記組を複製する、前記VPSにおけるシンタックス要素を含まないビットストリームである、請求項1または2に記載の方法。
【請求項5】
前記第1の動作点に関するレイヤ識別子の前記組は、前記第1の動作点のサブビットストリームに属する前記ビットストリームの1つまたは複数のネットワークアブストラクションレイヤ(NAL)ユニットを識別し、および/または、前記第1の動作点に関するHRDパラメータの前記組は、前記第1の動作点のサブビットストリームの準拠をチェックするために使用されるHRDを定義する、請求項1または2に記載の方法。
【請求項6】
前記第1の動作点に関するレイヤ識別子の前記組が2つ以上のレイヤ識別子を含み、前記方法は、前記2つ以上のレイヤ識別子を差分的に復号することをさらに備える、請求項1または2に記載の方法。
【請求項7】
前記第1の動作点に関して簡単な動作点モードが使用されるかどうかを示す前記ビットストリーム内の1つまたは複数のシンタックス要素をコーディングすることをさらに備え、簡単な動作点モード、レイヤ識別子の前記組は単一のレイヤ識別子を含む、請求項1または2に記載の方法。
【請求項8】
前記第1の動作点に関して前記簡単な動作点モードが使用されることの指示に基づいて、前記第1の動作点に関するレイヤ識別子の前記組のターゲットレイヤ識別子のみをコーディングすることをさらに備え、ここにおいて、前記第1の動作点は、前記ターゲットレイヤ識別子と前記準拠するビットストリームの時間的サブレイヤを示す時間的識別子とによって識別される、請求項に記載の方法。
【請求項9】
前記第1の動作点に関して前記簡単な動作点モードが使用されないことの指示に基づいて、前記第1の動作点に関するレイヤ識別子の前記組の各レイヤ識別子を明示的にコーディングすることをさらに備える、請求項に記載の方法。
【請求項10】
前記第1の動作点を示す前記第1のシンタックス要素は、前記ビットストリーム内の前記VPSにおけるoperation_point()シンタックス構造を備える、請求項1または2に記載の方法。
【請求項11】
前記HRDパラメータ情報を示す前記第2のシンタックス要素は、前記ビットストリーム内の前記VPSにおけるhrd_parameters()シンタックス構造を備える、請求項1または2に記載の方法。
【請求項12】
前記ビットストリームのコード化ビデオシーケンス全体に関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示す第3のシンタックス要素をコーディングすることをさらに備え、ここにおいて、前記ビットストリームは、前記コード化ビデオシーケンスの1つまたは複数の時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示す他のシンタックス要素を含まない、請求項1または2に記載の方法。
【請求項13】
前記時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示す第3のシンタックス要素は、前記ビットストリーム内の前記VPSにおけるprofile_tier_level()シンタックス構造に含まれない、請求項1または2に記載の方法。
【請求項14】
ビットストリームをコーディングするためのビデオコーディングデバイスであって、
前記ビットストリームの第1の動作点を識別するレイヤ識別子の組を示す前記ビットストリーム内のビデオパラメータセット(VPS)における第1のシンタックス要素をコーディングするための手段と、
在する場合、前記第1の動作点に関する仮想参照デコーダ(HRD)パラメータの組を示す、前記ビットストリーム内の前記VPSにおける第2のシンタックス要素をコーディングするための手段と
前記ビットストリームが準拠するビットストリームである場合にのみ復号し続けるための手段と、ここにおいて、準拠するビットストリームは、第2の動作点に関するレイヤ識別子の前記組とHRDパラメータの前記組とのうちの少なくとも1つを複製する前記VPSにおけるシンタックス要素を含まないビットストリームである、
前記ビットストリームが非準拠ビットストリームである場合に前記ビットストリームを破棄することと
を備える、ビデオコーディングデバイス。
【請求項15】
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されたとき、ビデオデータをコーディングするためのデバイスのプロセッサに、請求項1〜13のいずれかに記載の方法を行わせる、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【関連出願】
【0001】
[0001] 本出願は、2012年9月28日に出願された米国仮出願第61/707,486号、および2012年10月1日に出願された米国仮出願第61/708,404号の優先権を主張するもので、その全内容が参照により本明細書に組み込まれる。
【技術分野】
【0002】
[0002] 本開示は一般にビデオデータを処理することに関し、より詳細には、ビデオデータにおいて使用される動作点を処理することに関する。
【背景技術】
【0003】
[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)規格によって定義された規格、およびこうした規格の拡張に記載されるビデオコーディング技法のような、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
【0004】
[0004] ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス(例えば、ビデオフレームまたはビデオフレームの一部分)が、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【0005】
[0005] 空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコーディングブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数は、次いで量子化できる。量子化変換係数は、最初に2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査することができ、なお一層の圧縮を達成するためにエントロピーコーディングを適用できる。
【発明の概要】
【0006】
[0006] 一般に、本開示は、ビデオコーディングにおける動作点用のシグナリングレイヤ識別子のための技法について説明する。本技法は、準拠するビットストリーム内のビデオパラメータセット(VPS:video parameter set)における動作点の少なくとも1つまたは動作点に関連する仮想参照デコーダ(HRD:hypothetical reference decoder)パラメータ情報に関する複製コンテンツのコーディングを拒否することによって動作点に関連するシグナリング情報の効率の改善を提供する。本技法によれば、準拠するビットストリームは、第2の動作点のコンテンツとして第1の動作点に関連するレイヤ識別子の組を複製する、VPSにおけるシンタックス要素を含まない可能性がある。加えて、本技法によれば、準拠するビットストリームは、第2の動作点のコンテンツとして第1の動作点のHRDパラメータ情報に関連するHRDパラメータの組を複製する、VPSにおけるシンタックス要素を含まない可能性がある。このように、レイヤ識別子の組およびHRDパラメータの組は、VPSにおける第1の動作点に対して一意である。
【0007】
[0007] 一例では、本開示で説明する技法が、ビデオデータを復号するための方法に関する。本方法は、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のビデオパラメータセット(VPS)におけるシンタックス要素を復号することを含む。本方法は、存在する場合、第1の動作点に関するコンテンツの第2の組を有する仮想参照デコーダ(HRD)パラメータ情報を示す準拠するビットストリーム内のVPSにおけるシンタックス要素を復号することをさらに含んでおり、準拠するビットストリームは、第2の動作点に関するコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まず、シンタックス要素を復号することは、準拠するビットストリーム内のみの第1の動作点およびHRDパラメータ情報を示すシンタックス要素を復号することを備える。
【0008】
[0008] 別の例では、本開示で説明する技法は、ビデオデータを符号化するための方法に関する。本方法は、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のVPSにおけるシンタックス要素を符号化することを含む。本方法は、第1の動作点に関するコンテンツの第2の組を有するHRDパラメータ情報を示す準拠するビットストリームにおけるVPS内のシンタックス要素を符号化することをさらに含んでおり、準拠するビットストリームは、第2の動作点に関するコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まず、シンタックス要素を符号化することは、準拠するビットストリームのみからの第1の動作点およびHRDパラメータ情報を示すシンタックス要素を符号化することを備える。
【0009】
[0009] 別の例では、本開示で説明する技法は、ビデオコーディングデバイスに関する。ビデオコーディングデバイスは、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のVPSにおけるシンタックス要素をコーディングするように構成される。ビデオコーディングデバイスは、存在する場合、第1の動作点に関するコンテンツの第2の組を有するHRDパラメータ情報を示す準拠するビットストリーム内のVPSにおけるシンタックス要素をコーディングするようにさらに構成されており、準拠するビットストリームは、第2の動作点に関するコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まず、ビデオコーダは、準拠するビットストリーム内のみの第1の動作点およびHRDパラメータ情報を示すシンタックス要素をコーディングするように構成される。
【0010】
[0010] また別の例では、本明細書で説明する技法は、コンピュータ可読記憶媒体に関する。コンピュータ可読記憶媒体は、実行されるとき、ビデオデータをコーディングするためのデバイスのプロセッサに、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のVPSにおけるシンタックス要素をコーディングさせる命令をその上に記憶する。本命令は、実行されるとき、プロセッサに、存在する場合、第1の動作点に関するコンテンツの第2の組を有するHRDパラメータ情報を示す準拠するビットストリーム内のVPSにおけるシンタックス要素をさらにコーディングさせ、準拠するビットストリームは、第2の動作点に関するコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まず、プロセッサは、準拠するビットストリーム内のみの第1の動作点およびHRDパラメータ情報を示すシンタックス要素をコーディングするように構成される。
【0011】
[0011] 本明細書で説明する技法はまた、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のVPSにおけるシンタックス要素をコーディングするための手段を含むビデオコーディングデバイスの一例を含む。ビデオコーディングデバイスは、存在する場合、第1の動作点に関するコンテンツの第2の組を有するHRDパラメータ情報を示す準拠するビットストリーム内のVPSにおけるシンタックス要素をコーディングするための手段をさらに含んでおり、準拠するビットストリームは、第2の動作点に関するコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まず、ビデオコーディングデバイスは、準拠するビットストリーム内のみの第1の動作点およびHRDパラメータ情報を示すシンタックス要素をコーディングするように構成される。
【0012】
[0012] 1つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0013】
図1】本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
図2】本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
図3】本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
図4】ネットワークの一部を形成するデバイスの例示的な組を示すブロック図。
図5】本開示で説明する技法による、ビデオデータに使用される動作点を復号するための例示的な方法を示すフローチャート。
図6】本開示で説明する技法による、ビデオデータに使用される動作点を符号化するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【0014】
詳細な説明
[0019] 一般に、本開示は、ビデオコーディングにおいて動作点に関するレイヤ識別子をシグナリングするための技法について説明する。動作点は、時間的におよび/または複数のレイヤもしくはビューに関して拡張性のある元のビットストリームから抽出され得るサブビットストリームを指す。サブビットストリームは、レイヤ識別子およびビットストリームの動作点を識別する時間的サブレイヤ識別子の値に基づいてビットストリームから抽出され得る。動作点は、ビットストリーム内のビデオパラメータセット(VPS)においてシグナリングされる。動作点の各々では、動作点シンタックス構造が、所与の動作点のサブビットストリームに属する、ビットストリーム内のネットワークアブストラクションレイヤ(NAL)ユニットを識別するために使用されるレイヤ識別子の組を指定する。このように、所与の動作点のサブビットストリームを構成するNALユニットは、NALユニットのレイヤ識別子に基づいて元のビットストリームから抽出され得る。
【0015】
[0020] いくつかの場合には、動作点のうちの1つまたは複数に関連する仮想参照デコーダ(HRD)パラメータが存在する可能性がある。この場合、HRDパラメータ情報は、VPSにおいてシグナリングされる。HRDパラメータを有する1つまたは複数の動作点の各々では、HRDパラメータシンタックス構造が、所与の動作点のサブビットストリームの準拠をチェックするために使用されるHRDを定義するHRDパラメータの組を指定する。
【0016】
[0021] 本開示で説明する技法は、準拠するビットストリーム内のVPSにおいて動作点のうちの少なくとも1つまたは動作点に関連するHRDパラメータ情報に関する複製コンテンツを拒否することを含む。準拠するビットストリームは、第1の動作点に関するレイヤ識別子の組を含み得るコンテンツの第1の組を有する第1の動作点を示す、VPSにおけるシンタックス要素を含み得る。準拠するビットストリームは、第1の動作点に関するHRDパラメータの組を含み得るコンテンツの第2の組を有するHRDパラメータ情報を示す、VPSにおけるシンタックス要素も含み得る。準拠するビットストリームは、第2の動作点のコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まない可能性がある。
【0017】
[0022] 本技法によれば、ビデオエンコーダは、準拠するビットストリームのみを符号化するように構成され、ビデオデコーダは、準拠するビットストリームのみを復号するように構成される。一例では、1つのVPSにおいてシグナリングされる様々な動作点に関するレイヤ識別子の複製した組が、準拠するビットストリームにおいて拒否される。別の例では、1つのVPSにおいてシグナリングされる様々な動作点に関するHDPパラメータ情報におけるHRDパラメータの複製した組が、準拠するビットストリームにおいて拒否される。このように、レイヤ識別子の所与の組およびHRDパラメータの所与の組は、VPSにおける第1の動作点に対して一意である。別の例として、本技法は、ビットストリームに関するHRDパラメータをコーディングすることを含み、HRDパラメータシンタックス構造の各コピーは、異なるコンテンツを含む。
【0018】
[0023] 本開示の技法は、準拠するビットストリームにおける動作点に関するレイヤ識別子をシグナリングする効率を改善する。例えば、本技法は、準拠するビットストリーム内の単一のVPSにおける動作点および動作点に関連するHRDパラメータ情報に関するコンテンツの一意の組のみをコーディングすることによって、また単一のVPSにおける様々な動作点に関する複製コンテンツのコーディングを拒否することによって効率を改善し得る。
【0019】
[0024] ビデオコーディング規格としては、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、およびITU−T H.264(ISO/IEC MPEG−4 AVCとしても知られている)がある。ビデオコーディング規格としては、さらに、ITU−T H.264のスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)の拡張がある。
【0020】
[0025] 加えて、ITU−T Video Coding Experts Group(VCEG)とISO/IEC Motion Picture Experts Group(MPEG)とのJoint Collaboration Team on Video Coding(JCT−VC)によって開発されている新しいビデオコーディング規格、すなわち、High Efficiency Video Coding(HEVC)がある。HEVCの最近のワーキングドラフト(WD)は、Working Draft8であり、以下でHEVC WD8と呼ぶ。http://phenix.int−evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC−J1003−v8.zipからの、2013年5月14日時点で入手可能な、Brossら、High Efficiency Video Coding(HEVC)Text Specification Draft 8、2012年7月、Stockholm。本開示で説明する技法は、HEVC規格に関して説明されるが、本開示の態様は、そのように限定されず、他のビデオコーディング規格および所有権を主張できるビデオコーディング技法に拡張され得る。
【0021】
[0026] 図1は、本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
【0022】
[0027] 図1の例では、ソースデバイス12が、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。他の例では、ソースデバイス12および宛先デバイス14が、他のコンポーネントまたは構成を含み得る。例えば、ソースデバイス12は、外部カメラなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【0023】
[0028] 図1の図示のシステム10は一例にすぎない。本開示の技法は、任意のデジタルビデオ符号化および/または復号デバイスによって行われ得る。概して、本技法はビデオ符号化デバイスまたはビデオ復号デバイスによって行われるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても行われ得る。さらに、本開示の技法は、ビデオプリプロセッサによっても行われ得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14が、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話のための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートできる。
【0024】
[0029] ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ電話を形成できる。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
【0025】
[0030] 各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信され得る。符号化ビデオデータは、さらに(または代替として)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのためにストレージデバイス上に記憶され得る。
【0026】
[0031] リンク16は、ワイヤレスブロードキャストもしくはワイヤードネットワーク送信などの一時的媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu−ray(登録商標)ディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバが、ソースデバイス12から符号化ビデオデータを受信し、例えば、ネットワーク送信を介して、その符号化ビデオデータを宛先デバイス14に与え得る。同様に、ディスクスタンピング設備などの媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含むディスクを生成し得る。従って、様々な例では、リンク16が、様々な形態の1つまたは複数のコンピュータ可読媒体を含むと理解され得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを動かすことが可能な任意のタイプの媒体またはデバイスを備え得る。一例で、リンク16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【0027】
[0032] 宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体であり得るリンク16から情報を受信する。リンク16からの情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコード化ユニット、例えば、GOPの特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス32は、宛先デバイス14と一体化されるか、またはその外部にあり得る。ディスプレイデバイス32は、復号ビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備え得る。
【0028】
[0033] 代替的に、いくつかの例では、符号化データが、出力インターフェース22からストレージデバイス34に出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイス34からアクセスされ得る。ストレージデバイス34は、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス34が、ソースデバイス12によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイス34から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイス34からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【0029】
[0034] 本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、ストリーミングビデオ送信(例えば、インターネットを介して)、ストレージ用デジタルビデオのデータ記憶媒体上への符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10が、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【0030】
[0035] ビデオエンコーダ20およびビデオデコーダ30は、現在開発中のHEVC規格などのビデオコーディング規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part 10、アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格などの、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例には、MPEG−2およびITU−T H.263がある。いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30が、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理できる。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠できる。
【0031】
[0036] ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。いくつかの態様では、本開示で説明する技法が、一般にH.264規格に準拠するデバイスに適用できる。H.264規格は、ITU−T研究グループによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と呼ぶ。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。
【0032】
[0037] ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアのための複数の命令を記憶し、本開示の技法を行うために1つまたは複数のプロセッサを使用したハードウェアでこれら命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、該当のデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【0033】
[0038] JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、例えば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。例えば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
【0034】
[0039] 一般に、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマとクロマの両方のサンプルを含む一連のツリーブロックまたは最大コーディングユニット(LCU)に分割され得ることを記載する。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるLCUのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。一般に、4分木データ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。
【0035】
[0040] 4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。例えば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUがさらに分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しない場合でも、リーフCUの4つのサブCUをリーフCUとも呼ぶ。例えば、16×16サイズのCUがさらに分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUをリーフCUとも呼ぶ。
【0036】
[0041] CUは、CUがサイズ差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。例えば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コーディングビットストリームに関連するシンタックスデータは、最大CU深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズも定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。本開示では、HEVCのコンテキストにおけるCU、PU、またはTU、あるいは他の規格のコンテキストにおける同様のデータ構造(例えば、H.264/AVCにおけるマクロブロックおよびそれのサブブロック)のいずれかを指すために「ブロック」という用語を使用する。
【0037】
[0042] CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU:prediction unit)および変換ユニット(TU:transform unit)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、例えば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかによって異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、例えば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が正方形または非正方形(例えば、矩形)であり得る。
【0038】
[0043] HEVC規格は、CUごとに異なり得るTUに従った変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルが、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、量子化され得る変換係数を生成するために変換され得る。
【0039】
[0044] リーフCUは、1つまたは複数の予測ユニット(PU)を含むことができる。一般に、PUは、対応するCUの全部または一部に対応する空間的エリアを表し、そのPU用の参照サンプルを取り出すためのデータを含むことができる。その上、PUは、予測に関係するデータを含む。例えば、PUがイントラモード符号化されるとき、PUのデータは、PUに対応するTUのイントラ予測モードを記述するデータを含み得る、残差4分木(RQT)中に含まれ得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(例えば、リスト0、リスト1、もしくはリストC)を記述し得る。
【0040】
[0045] 1つまたは複数のPUを有するリーフCUはまた、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上記で説明したように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。例えば、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブTUに分割され得る。TUがさらに分割されないとき、そのTUはリーフTUと呼ばれ得る。概して、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは同じイントラ予測モードを共有する。すなわち、概して、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値を、TUに対応するCUの一部と元のブロックとの間の差分として計算し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。従って、TUはPUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、同じCUについて対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大サイズが、対応するリーフCUのサイズに対応し得る。
【0041】
[0046] さらに、リーフCUのTUはまた、残差4分木(RQT)と呼ばれる、該当の4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してツリーブロック(またはLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。概して、本開示では、特に明記しない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。
【0042】
[0047] ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、該当のスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。
【0043】
[0048] 一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向が区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。従って、例えば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
【0044】
[0049] 本開示では、「N×N(NxN)」および「N×N(N by N)」が、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、例えば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ここでNは非負整数値を表す。ブロック内のピクセルは行と列で構成できる。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。例えば、ブロックはN×Mピクセルを備えてよく、ただし、Mは必ずしもNに等しいとは限らない。
【0045】
[0050] CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、TUは、変換、例えば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
【0046】
[0051] 変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を行い得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。例えば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。
【0047】
[0052] 量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、より高いエネルギー(従ってより低い周波数)の係数をアレイの前方に配置し、より低いエネルギー(従ってより高い周波数)の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ20が、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20が適応走査を行い得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、例えば、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【0048】
[0053] CABACを行うために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、例えば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを行うために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率判断は、シンボルに割り当てられるコンテキストに基づき得る。
【0049】
[0054] ビデオエンコーダ20は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータを、例えば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダ中でビデオデコーダ30に送り得る。GOPシンタックスデータは、該当のGOP中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化/予測モードを示し得る。
【0050】
[0055] HEVC WD8は、「プロファイル」および「レベル」の手段によってシンタックスの限られた数のサブセットの規定も可能にする。HEVC WD8は、広範なアプリケーション、ビットレート、解像度、品質、およびサービスを提供するという意味で一般的であるように設計されている。アプリケーションは、とりわけ、デジタルストレージ媒体、テレビ放送、およびリアルタイム通信をカバーすべきである。HEVC WD8を作成する最中に、一般的なアプリケーションからの様々要件が考慮され、必要なアルゴリズム要素が開発され、これらは単一のシンタックスに組み込まれている。従って、HEVC WD8は、異なるアプリケーションの中のビデオデータ交換を容易にする。しかしながら、HEVC WD8の全シンタックスを実装する実用性を考慮して、プロファイルおよびレベルは、シンタックスの限られた数のサブセット用の手段を提供する。
【0051】
[0056] 「プロファイル」は、HEVC WD8によって指定されたビットストリームシンタックス全体のサブセットとして定義される。所与のプロファイルのシンタックスによって課される限界内で、ビットストリーム内のシンタックス要素によってとられる値に応じて、エンコーダおよびデコーダのパフォーマンスの極めて大きい変動を必要とする可能性が依然としてある。例えば、復号ピクチャの指定サイズは、エンコーダおよびデコーダのパフォーマンスの極めて大きい変動を必要とし得る。多くの適用例において、現在、特定のプロファイル内でシンタックスのすべての仮定的使用を処理することが可能なデコーダを実装することは実用的でもなく、経済的でもない。
【0052】
[0057] この問題に対処するために、各プロファイル内で「ティア」および「レベル」が指定される。ティアのレベルは、ビットストリーム内のシンタックス要素の値に課された制約条件の指定された組である。これらの制約条件は、値に関する単純な制限であり得る。あるいは、それらの制約条件は、値の演算の組合せ(例えば、ピクチャの幅×ピクチャの高さ×毎秒復号されるピクチャの数)に関する制約の形態をとり得る。下位ティアのために指定されたレベルは、上位ティアのために指定されたレベルよりも制約される。すべてのプロファイルに関してレベルの同じ組が定義され、各レベルの定義のほとんどの態様が、様々なプロファイルにわたって共通である。個々の実装形態は、指定された制約条件内で、各サポートされるプロファイルの異なるレベルをサポートし得る。異なるコンテキストでは、レベルが、スケーリングの前の変換係数の値である。プロファイルおよびレベルは、HEVC WD8の付属書類Aにより詳細に記述されている。
【0053】
[0058] HEVC WD8に準拠するコード化ビデオコンテンツは、共通のシンタックスを使用する。完全なシンタックスのサブセットを実現するために、ビットストリーム中に後に生じるシンタックス要素の有無をシグナリングする、フラグ、パラメータ、および他のシンタックス要素が、ビットストリーム中に含まれる。
【0054】
[0059] HEVC WD8は、TemporalId変数の特定の値を有するビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットと、関連する非VCL NALユニットとからなる時間的スケーラブルビットストリームの時間的スケーラブルレイヤとしてサブレイヤを定義する。HEVC WD8は、特定のサブレイヤおよび下位のサブレイヤのNALユニットからなるビットストリームのサブセットとしてサブレイヤ表現をさらに定義する。
【0055】
[0060] HEVC WD8のサブクローズ10.1は、ビットストリームサブセットと、サブビットストリームを生成するための抽出プロセスとを記述する。一般に、HEVC WD8は、レイヤ識別子およびビットストリームの動作点を識別する時間的サブレイヤ識別子の値に基づいてビットストリームからサブビットストリームを抽出することを記述する。
【0056】
[0061] 動作点は、入力としての別のビットストリーム、ターゲット最上位TemporalId、およびターゲットレイヤ識別子リストを用いたサブビットストリーム抽出プロセスの動作によって別のビットストリームから作り出されたビットストリームである。動作点は、OpLayerIdSetとして示されるnuh_reserved_zero_6bits値と、OpTidとして示されるTemporalId値との組によって識別され、入力としてのOpTidおよびOpLayerIdSetを用いてHEVC WD8中に指定されたサブビットストリーム抽出プロセスの出力として導出された関連のビットストリームサブセットは、独立して復号可能である。動作点のターゲット最上位TemporalIdが、ターゲットレイヤ識別子リストに関連するレイヤセット中のTemporalIdの最大値に等しい場合、動作点は、レイヤセットと同一である。そうでない場合、動作点は、レイヤセットのサブセットである。
【0057】
[0062] サブビットストリーム抽出プロセスは、ターゲット最上位TemporalIdおよびターゲットレイヤ識別子リストlayerIdListTargetによって決定される、ターゲットセットに属さないビットストリーム内のNALユニットが、ターゲットセットに属するビットストリーム内のNALユニットからなる出力サブビットストリームを有するビットストリームから除去される、指定されたプロセスである。サブビットストリーム抽出プロセスへの入力は、変数tIdTargetおよびリストtargetDecLayerIdSetである。サブビットストリーム抽出プロセスの出力は、サブビットストリームである。サブビットストリームは、targetDecLayerIdSet中の値のうちではなくtIdTargetまたはnuh_reserved_zero_6bitsよりも大きいTemporalIdを有するすべてのNALユニットをビットストリームから除去することによって導出される。
【0058】
[0063] 両端値を含む0〜6の範囲の任意の値に等しいtIdTargetと、値0を含むtargetDecLayerIdSetとを有する、HEVC WD8のサブクローズ10.1中に指定されるサブビットストリーム抽出プロセスの出力に含まれる任意のサブビットストリームは、HEVC WD8に準拠する。HEVC WD8に準拠するビットストリームは、0に等しいnuh_reserved_zero_6bitsと、0に等しいTemporalIdとを有する1つまたは複数のコード化スライスNALユニットを含み得る。
【0059】
[0064] 現行のHEVC設計は、以下の欠点を有する。第1に、コード化ビデオシーケンスの時間的サブセットは、コード化ビデオシーケンス全体の組とは異なる、プロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件の組をシグナリングすることが可能になる。しかしながら、時間的サブセットが異なるプロファイル空間を使用することは意味をなさず、時間的サブセットが、コード化ビデオシーケンス全体とは異なる他の値(ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件など)を有することが有益である明らかな使用の場合は存在しない。
【0060】
[0065] 第2に、現在、各動作点のnuh_reserved_zero_6bits値(すなわち、レイヤID)の組は、第1の組を除いて、復号されるべきコード化ビデオシーケンスに含まれるレイヤIDの各々を明示的にシグナリングすることによってシグナリングされる。しかしながら、ほとんどのスケーラビリティコーディングシナリオでは、レイヤ従属関係が線形であり、ターゲットレイヤIDのみのシグナリングは十分であろう。さらに、複数のレイヤIDがシグナリングされるマルチビューコーディングシナリオには典型的な非線形レイヤ従属関係では、レイヤIDが、差分的にコーディングされ得る。レイヤIDを差分的にコーディングすることは、例えば、短期参照ピクチャセットシグナリングにおけるピクチャ順序カウント(POC)値のコーディングと同様に、簡単で効率的である。最後に、レイヤIDの複製した組がシグナリングされることが可能になる。
【0061】
[0066] 第3に、現行のHEVC設計は、同じコンテンツを有するhrd_parameters()シンタックス構造を複製することが可能になるという点で欠点も有する。
【0062】
[0067] 以下の技法は、上記の欠点に対処するために本開示に含まれる。第1に、時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のシグナリングに関するシンタックス要素は、profile_tier_level()シンタックス構造から除去される。このように、時間的サブレイヤに関するこれらのシンタックス要素上で使用される必要のないビットは節約される。
【0063】
[0068] 第2に、nuh_reserved_zero_6bits(すなわち、レイヤID)の1つの値のみがシグナリングされる必要がある、簡単な動作点モードが定義される。簡単な動作点モードを有する動作点に関するnuh_reserved_zero_6bitsの1つの値のみのシグナリングを可能にするために、動作点のシグナリングが変更される。nuh_reserved_zero_6bits(すなわち、レイヤID)の複数の値がシグナリングされるとき、それらの値は差分的にコーディングされる。動作点をシグナリングするこの方法は、線形レイヤ依存性により、任意のスケーラビリティコーディング、マルチビューおよび/または3DV(3次元ビデオ)コーディングシナリオには、より効率的である。さらに、本開示の技法によれば、1つのVPS内で、VPSにおける様々な動作点に関してシグナリングされるレイヤIDの複製した組が拒否される。このように、レイヤ識別子の所与の組は、VPSにおける所与の動作点に対して一意である。
【0064】
[0069] 第3に、本開示の技法によれば、動作点に関連するhrd_parameters()シンタックス構造中にコーディングされたHRDパラメータの複製した組は拒否される。このように、所与の動作点に関連するHRDパラメータ情報中のHRDパラメータの所与の組は、VPSにおける所与の動作点に対して一意である。
【0065】
[0070] 例えば、ビデオエンコーダ20は、準拠するビットストリーム内のVPSにおけるシンタックス要素を符号化する。これらのシンタックス要素は、コンテンツの第1の組を有する第1の動作点を示す。ビデオエンコーダ20は、第1の動作点のコンテンツの第2の組を有するHRDパラメータ情報を示す、準拠するビットストリーム内のVPSにおけるシンタックス要素をさらに符号化する。準拠するビットストリームは、第2の動作点のコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まない。このように、ビデオエンコーダ20は、レイヤIDの様々な組などの、一意のコンテンツを有する各動作点を符号化する。さらなる例として、ビデオエンコーダ20は、ビットストリームに関するHRDパラメータを符号化することができ、HRDパラメータシンタックス構造の各コピーは、異なるコンテンツを含む。
【0066】
[0071] 同様に、本開示で説明する技法によれば、ビデオデコーダ30は、準拠するビットストリーム内のVPSにおけるシンタックス要素を復号する。これらのシンタックス要素は、コンテンツの第1の組を有する第1の動作点を示す。いくつかの例では、ビデオデコーダ30が、ビデオエンコーダ20から符号化された準拠するビットストリームを受信する。ビデオデコーダ30は、存在する場合、第1の動作点のコンテンツの第2の組を有するHRDパラメータ情報を示す、準拠するビットストリーム内のVPSにおけるシンタックス要素をさらに復号する。準拠するビットストリームは、第2の動作点のコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まない。このように、ビデオデコーダ30は、レイヤIDの様々な組などの、一意のコンテンツを有する各動作点を復号する。さらなる例として、ビデオデコーダ30は、ビットストリームに関するHRDパラメータを復号することができ、HRDパラメータシンタックス構造の各コピーは、異なるコンテンツを含む。さらなる例では、コンテンツの第2の組が、第1の動作点のサブビットストリームの準拠をチェックするために使用されるHRDを定義する、第1の動作点に関するHRDパラメータの組を備える。
【0067】
[0072] 第1の動作点を示すシンタックス要素は、準拠するビットストリーム内のVPSにおけるoperation_point()シンタックス構造を含み得る。さらに、HRDパラメータ情報を示すシンタックス要素は、準拠するビットストリーム内のVPSにおけるhrd_parameters()シンタックス構造を備え得る。
【0068】
[0073] 上記の例では、準拠するビットストリームが、第2の動作点のコンテンツの第1の組を複製する、VPSにおけるシンタックス要素を含まない可能性があり、コンテンツの第1の組は、VPSにおける第1の動作点に対して一意である。さらに、準拠するビットストリームは、第2の動作点のコンテンツの第2の組を有するHRDパラメータ情報を複製する、VPSにおけるシンタックス要素を含まない可能性があり、コンテンツの第2の組は、VPSにおける第1の動作点に対して一意である。
【0069】
[0074] いくつかの例では、ビデオエンコーダ20が、ビットストリームの複数の動作点の各々に関して簡単な動作点モードが使用されるかどうかをさらに示すことができる。動作点のうちの特定の1つに関して簡単な動作点モードが使用されるとき、ビデオエンコーダ20は、特定の動作点に関する1つのターゲットレイヤ識別子のみを符号化し得る。別の例として、ビデオエンコーダ20は、ビットストリームに関するプロファイル空間、ティア、互換性のあるプロファイル、および/またはプロファイル関連の制約条件を符号化できるが、ビットストリームの時間的サブレイヤに関する、別のプロファイル空間、ティア、互換性のあるプロファイル、またはプロファイル関連の制約条件を符号化することができない。
【0070】
[0075] 同様に、ビデオデコーダ30は、ビットストリームの複数の動作点の各々に関して簡単な動作点モードが使用されるかどうかの指示を受信し得る。動作点のうちの特定の1つに関して簡単な動作点モードが使用されるとき、ビデオデコーダ30は、特定の動作点に関する1つのターゲットレイヤ識別子のみを復号し得る。別の例として、ビデオデコーダ30は、ビットストリームに関するプロファイル空間、ティア、互換性のあるプロファイル、および/またはプロファイル関連の制約条件を復号できるが、ビットストリームの時間的サブレイヤに関する、別のプロファイル空間、ティア、互換性のあるプロファイル、またはプロファイル関連の制約条件を復号することができない。
【0071】
[0076] 図2は、本開示で説明する技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを行い得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
【0072】
[0077] 図2に示されるように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20が、モード選択ユニット40と、参照フレームメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピーコーディングユニット56とを含む。モード選択ユニット40は、今度は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測処理ユニット46と、区分ユニット48とを含む。ビデオブロックの復元のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。復元されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングする、デブロッキングフィルタも含まれ得る。所望される場合、デブロッキングフィルタは一般に、加算器62の出力をフィルタリングすることになる。また、デブロッキングフィルタに加えて追加のフィルタ(ループ内またはループ後)が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタ処理し得る。
【0073】
[0078] 符号化プロセス中に、ビデオエンコーダ20はコーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的な予測を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対する受信されたビデオブロックのインター予測コーディングを行う。イントラ予測処理ユニット46は代替的に、空間的な予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを行い得る。ビデオエンコーダ20は、例えば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを行い得る。
【0074】
[0079] その上、区分ユニット48は、以前のコーディングパスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。例えば、区分ユニット48は、初めにフレームまたはスライスをLCUに区分し、レートひずみ分析(例えば、レートひずみ最適化)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット40は、さらに、LCUをサブCUに区分することを示す4分木データ構造を生成し得る。4分木のリーフノードCUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。
【0075】
[0080] モード選択ユニット40は、例えば、誤差結果に基づいて、コーディングモード、すなわち、イントラまたはインターのうちの1つを選択することができ、残差ブロックデータを生成するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器50に与え、参照フレームとして使用するための符号化されたブロックを復元するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器62に与える。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピーコーディングユニット56に与える。
【0076】
[0081] 動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって行われる動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム(または他のコード化ユニット)内でコーディングされている現在のブロックに対する参照フレーム(または他のコード化ユニット)内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対値差分和(SAD)、2乗差分和(SSD)、または他の差分尺度によって決定され得るピクセル差分に関して、コーディングされるブロックに精密に一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20が、参照フレームメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。例えば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。従って、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を行い、分数ピクセル精度で動きベクトルを出力し得る。
【0077】
[0082] 動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUについての動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照フレームメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピーコーディングユニット56と動き補償ユニット44とに送る。
【0078】
[0083] 動き補償ユニット44によって行われる動き補償は、動き推定ユニット42によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44とが機能的に統合され得る。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット42はルーマ成分に対して動き推定を行い、動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【0079】
[0084] イントラ予測処理ユニット46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって行われるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット処理46が、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット処理46(または、いくつかの例では、モード選択ユニット40)が、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
【0080】
[0085] 例えば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を判断する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
【0081】
[0086] ブロック用のイントラ予測モードを選択した後、イントラ予測処理ユニット46は、ブロック用に選択されたイントラ予測モードを示す情報を、エントロピーコーディングユニット56に提供できる。エントロピーコーディングユニット56は、選択されたイントラ予測モードを示す情報を符号化できる。ビデオエンコーダ20は、(コードワードマッピングテーブルとも呼ばれる)複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブルと、様々なブロック用の符号化コンテキストの定義と、最確イントラ予測モードの指示とを含む送信されたビットストリーム構成データの中に、コンテキストの各々について使用する、イントラ予測モードインデックステーブルと修正されたイントラ予測モードインデックステーブルとを含めることができる。
【0082】
[0087] ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって、残差ビデオブロックを形成する。加算器50は、この減算動作を行う1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を行い得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。
【0083】
[0088] 量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54が、次いで、量子化変換係数を含む行列の走査を行い得る。代替的に、エントロピーコーディングユニット56が走査を行い得る。
【0084】
[0089] 量子化の後、エントロピーコーディングユニット56は、量子化変換係数をエントロピーコーディングする。例えば、エントロピーコーディングユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を行い得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピーコーディングユニット56によるエントロピーコーディングの後、符号化ビットストリームは、別のデバイス(例えば、ビデオデコーダ30)に送信されるか、または後で送信するかもしくは取り出すためにアーカイブできる。
【0085】
[0090] 逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、例えば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレームメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレームメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
【0086】
[0091] 図2のビデオエンコーダ20は、本明細書で説明する技法のうちの1つまたは複数を実装するように構成されたビデオエンコーダの一例を表す。ビデオエンコーダ20は、ビットストリームに関連するビデオパラメータセット(VPS)における動作点をシグナリングする。動作点は、時間的におよび/または複数のレイヤもしくはビューに関して拡張性のある元のビットストリームから抽出され得るサブビットストリームを指す。HEVCでは、動作点が、OPLayerIdSetとして示されるnuh_reserved_zero_6bits値と、OpTidとして示されるTemporalId値との組によって識別され得る。一例として、元のビットストリームは、異なる空間解像度の3つのレイヤまたはビューと、異なるフレームレートの2つの時間的スケーラブルレイヤとを含み得る。この例では、元のビットストリームが、いずれかのフレームレートで利用可能な3つの空間解像度の各々を有する6つの動作点を含む。
【0087】
[0092] ビデオエンコーダ20がビットストリームに関連するVPSにおいてシグナリングする動作点の各々では、動作点シンタックス構造が、所与の動作点のサブビットストリームに属する、ビットストリーム内のネットワークアブストラクションレイヤ(NAL)ユニットを識別するために使用されるレイヤ識別子(ID)の組を指定する。このように、所与の動作点のサブビットストリームを構成するNALユニットは、NALユニットのレイヤ識別子に基づいて元のビットストリームから抽出され得る。
【0088】
[0093] いくつかの場合には、ビデオエンコーダ20は、動作点のうちの1つまたは複数に関連する仮想参照デコーダ(HRD)パラメータをさらに符号化できる。この場合、ビデオエンコーダ20は、VPSにおけるHRDパラメータ情報をシグナリングする。HRDパラメータを有する1つまたは複数の動作点の各々では、HRDパラメータシンタックス構造が、所与の動作点のサブビットストリームの準拠をチェックするために使用されるHRDを定義するHRDパラメータの組を指定する。
【0089】
[0094] 従来、ビデオコーディング規格は、ビットストリームがVPSにおける動作点に関してシグナリングされるべきレイヤ識別子の複製した組を含むことを可能にする。このことは、2つ以上の動作点が、レイヤ識別子の同じ組を有し、従って、動作点のサブビットストリームを構成するための同じNALユニットを識別できることを意味する。このように、複数の動作点は、ビットストリームの同じコンテンツを指す可能性がある。同様に、ビデオコーディング規格は、ビットストリームがVPSにおける動作点に関してシグナリングされるべきHRDパラメータの複製した組を含むことを可能にする。このことは、HRDパラメータの2つ以上の組が、同じコンテンツを有し、従って、関連する動作点のサブビットストリームの準拠をチェックするために2つの同一のHRDを定義できることを意味する。どちらの場合も、シグナリングは、冗長性があり、ビットの非効率な使用法である。
【0090】
[0095] 本開示の技法は、準拠するビットストリーム内のVPSにおける動作点または動作点に関連するHRDパラメータのいずれかに関する複製コンテンツのシグナリングを拒否することによって動作点に関連するシグナリング情報の効率の改善を提供する。本開示の技法によれば、ビデオエンコーダ20は、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のVPSにおけるシンタックス要素を符号化し得る。ビデオエンコーダ20は、存在する場合、第1の動作点のコンテンツの第2の組を有するHRDパラメータ情報を示す、準拠するビットストリーム内のVPSにおけるシンタックス要素も符号化し得る。準拠するビットストリームは、第2の動作点のコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まず、ビデオエンコーダ20は、準拠するビットストリームのみを符号化するように構成される。上述のように、コンテンツの第1の組は、第1の動作点に関するレイヤ識別子の組を備えることができ、コンテンツの第2の組は、第1の動作点に関するHRDパラメータの組を備えることができる。
【0091】
[0096] 一例では、ビデオエンコーダ20が、レイヤ識別子の第1の組を有する第1の動作点を示すビットストリーム内のVPSにおけるシンタックス要素を符号化した後、ビデオエンコーダ20が、第2の動作点に関するレイヤ識別子の第1の組を複製する、VPSにおけるシンタックス要素を符号化しないように、準拠するビットストリームのみを符号化する。本開示の技法は、準拠するビットストリーム内の同じVPSにおける動作点に関するレイヤ識別子の複製した組を拒否する。レイヤ識別子の第1の組は、VPSにおける第1の動作点に対して一意でなければならないか、または、ビットストリームは、非準拠である。すなわち、例えば、非準拠ビットストリームは、第1の動作点に関するレイヤ識別子の第1の組と、さらに第2の動作点に関するレイヤ識別子の第2の組とを含むことができ、第2の組は、第1の組と同じレイヤ識別子を含む。従って、ビデオエンコーダ20は、第1の動作点および第2の動作点に関するレイヤ識別子の組を複製する、準拠するビットストリームのVPSにおけるシンタックス要素を符号化すべきでない。
【0092】
[0097] 別の例では、第1の動作点に関して、HRDパラメータが存在する可能性がある。この場合、第1の動作点に関するHRDパラメータの第1の組を有するHRDパラメータ情報を示す、ビットストリーム内のVPSにおけるシンタックス要素を符号化した後、ビデオエンコーダ20は、第2の動作点に関するHRDパラメータの第1の組を複製する、VPSにおけるシンタックス要素を符号化しない。本開示の技法は、準拠するビットストリーム内の同じVPSにおける動作点に関するHRDパラメータの複製した組を拒否する。HRDパラメータの第1の組は、VPSにおける第1の動作点に対して一意でなければならないか、または、ビットストリームは、非準拠である。従って、ビデオエンコーダ20は、第1の動作点および第2の動作点に関するHRDパラメータの組を複製する、準拠するビットストリームのVPSにおけるシンタックス要素を符号化すべきでない。
【0093】
[0098] 別の例では、ビデオエンコーダ20は、簡単な動作点モードがビットストリームの複数の動作点の各々に関して使用されるかどうかを示し、簡単な動作点モードが動作点のうちの特定の1つに関して使用されるとき、特定の動作点に関する1つのターゲットレイヤ識別子のみを符号化できる。簡単な動作点モードは、各動作点に関して、OpLayerIdSetが、nuh_reserved_zero_6bitsの特定の値、およびnuh_reserved_zero_6bitsの特定の値未満のnuh_reserved_zero_6bitsの他のすべての値を含むモードであり、それらの値のみを含む。いくつかの例では、ビデオエンコーダ20が、シグナリングされるnuh_reserved_zero_6bits(すなわち、レイヤID)の複数の値を符号化するとき、ビデオエンコーダ20は、それらの値を差分的に符号化する。このように、動作点のシグナリングは、線形レイヤ依存性により、任意のスケーラビリティコーディング、マルチビューおよび/または3DVコーディングシナリオには、より効率的である。上述のように、ビデオエンコーダ20は、1つのVPS内のレイヤIDの複製した組を符号化しない。
【0094】
[0099] 別の例として、ビデオエンコーダ20は、ビットストリームに関するプロファイル空間、ティア、互換性のあるプロファイル、および/またはプロファイル関連の制約条件を符号化できるが、ビットストリームの時間的サブレイヤに関する、別のプロファイル空間、ティア、互換性のあるプロファイル、またはプロファイル関連の制約条件を符号化することができない。上述のように、ビデオエンコーダ20は、ビットストリームに関するHRDパラメータを符号化することができ、HRDパラメータシンタックス構造の各コピーは、異なるコンテンツを含む。
【0095】
[0100] ビデオエンコーダ20は、以下のシンタックスおよびセマンティクスを利用し得る。例示的なビデオパラメータセットローバイトシーケンスペイロード(RBSP)が次のように表1に定義される。
【表1】
【0096】
[0101] 1に等しいフラグvps_simple_op_mode_flag[i]は、簡単な動作点モードがi番目のoperation_point_layer_ids()シンタックス構造のために使用されることを指定する。vps_simple_op_mode_flag[i]が0に等しいとき、このフラグは、簡単な動作点モードがi番目のoperation_point()シンタックス構造のために使用されないことを指定する。
【0097】
[0102] iがjに等しくない場合、シンタックス構造hrd_parameters(i、vps_max_sub_layers_minus1)およびhrd_parameters(j、vps_max_sub_layers_minus1)の任意の2つの例は、同じコンテンツを有するべきでない。このように、ビデオエンコーダ20は、一意のHRDパラメータのみを含むシンタックス構造を符号化する。
【0098】
[0103] 表2は、例示的なプロファイル、ティア、ならびにレベルシンタックスおよびセマンティクスを提供する。
【表2】
【0099】
[0104] 1に等しいフラグsub_layer_profile_present_flag[i]は、ProfilePresentFlagが1に等しいとき、iに等しいTemporalIdを有するサブレイヤの表現のためのprofile_tier_level()シンタックス構造中にプロファイル情報が存在することを指定する。0に等しいフラグsub_layer_profile_present_flag[i]は、iに等しいTemporalIdを有するサブレイヤの表現のためのprofile_tier_level()シンタックス構造中にプロファイル情報が存在しないことを指定する。存在しないとき、sub_layer_profile_present_flag[i]の値は、0に等しいと推測される。
【0100】

[0105]1に等しいフラグsub_layer_level_present_flag[i]は、iに等しいTemporalIdを有するサブレイヤの表現のためのprofile_tier_level()シンタックス構造中にレベル情報が存在することを指定する。0に等しいフラグsub_layer_level_present_flag[i]は、iに等しいTemporalIdを有するサブレイヤの表現のためのprofile_tier_level()シンタックス構造中にレベル情報が存在しないことを指定する。
【0101】
[0106] シンタックス要素sub_layer_profile_idc[i]およびsub_layer_level_idc[i]は、それぞれgeneral_profile_idcおよびgeneral_level_idcと同じセマンティクスを有するが、iに等しいTemporalIdを有するサブレイヤの表現に適用する。
【0102】
[0107]例えば、ビデオエンコーダ20は、iに等しいTemporalIdを有するサブレイヤの表現のためのprofile_tier_level()シンタックス構造中にプロファイル情報が存在することを示すために、1に等しいsub_layer_profile_present_flag[i]を符号化し得る。ビデオエンコーダ20は、profile_tier_level()シンタックス構造中の時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のシグナリングに関するシンタックス要素をシグナリングしない可能性がある。
【0103】
[0108] 表3は、例示的な動作点シンタックスおよびセマンティクスを提供する。
【表3】
【0104】
[0109] operation_point(opIdx)シンタックス構造は、ビデオパラメータセットにおけるopIdx−th hrd_parameters()シンタックス構造が適用される動作点のOpLayerIdSetに含まれるnuh_reserved_zero_6bits値の組を指定する。
【0105】
[0110] シンタックス要素op_first_present_layer_id[opIdx]は、vps_simple_op_mode_flag[opIdx]が0に等しいとき、ビデオパラメータセットにおけるopIdx−th hrd_parameters()シンタックス構造が適用される動作点のOpLayerIdSetに含まれるnuh_reserved_zero_6bitsの第1の(すなわち、0番目の)値を指定する。op_first_present_layer_id[opIdx]は、vps_simple_op_mode_flag[opIdx]が1に等しいとき、ビデオパラメータセットにおけるopIdx−th hrd_parameters()シンタックス構造が適用される動作点のOpLayerIdSetに含まれるnuh_reserved_zero_6bitsの最大値を指定する。
【0106】
[0111] シンタックス要素op_num_layer_id_values_minus1[opIdx]plus1は、vps_simple_op_mode_flag[opIdx]が0に等しいとき、ビデオパラメータセットにおけるopIdx−th hrd_parameters()シンタックス構造が適用される動作点のOpLayerIdSetに含まれるnuh_reserved_zero_6bits値の数を指定する。op_num_layer_id_values_minus1[opIdx]の値は、63以下であるべきである。
【0107】
[0112] op_layer_id_delta_minus1[opIdx][i]plus1は、vps_simple_op_mode_flag[opIdx]が0に等しいとき、nuh_reserved_zero_6bitsのi番目の値と、ビデオパラメータセットにおけるopIdxth hrd_parameters()シンタックス構造が適用される動作点のOpLayerIdSetに含まれるnuh_reserved_zero_6bitsの(i−1)番目の値との間の差を指定する。op_layer_id_delta_minus1[opIdx][i]の値は、両端値を含む0〜63の範囲内であるべきである。
【0108】
[0113] 変数NumOpLayerIdsMinus1[opIdx]は、次のように導出される。
【数1】
【0109】
NumOpLayerIdsMinus1[0]は、0に等しいと推測される。
【0110】
[0114] 変数OpLayerId[opIdx][i]は、iが両端値を含む0からNumOpLayerIdsMinus1[opIdx]までの範囲内である場合、次のように導出される。
【数2】
【0111】
OpLayerId[0][0]の値は、0に等しいと推測される。
【0112】
[0115] iがjに等しくなく、iとjの両方が両端値を含む0からNumOpLayerIdsMinus1[opIdx]までの範囲内であるとき、OpLayerId[opIdx][i]の値は、OpLayerId[opIdx][j]に等しくなるべきでない。
【0113】
[0116] 任意の2セットOpLayerId[opIdx1]およびOpLayerId[opIdx2]は、opIdx1がopIdx2に等しくない場合、nuh_reserved_zero_6bits値の同じ組を含むべきでない。
【0114】
[0117] ビデオパラメータセットにおけるopIdx−th hrd_parameters()シンタックス構造が適用される動作点のOpLayerIdSetは、iが0からNumOpLayerIdsMinus1[opIdx]までの範囲内の場合、OpLayerId[opIdx][i]に等しいnuh_reserved_zero_6bits値を含むように設定され、それらの値のみを含む。
【0115】
[0118] このように、ビデオエンコーダ20は、本明細書で説明する技法を使用して、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のVPSにおけるシンタックス要素を符号化し得る。準拠するビットストリームは、第2の動作点のコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まず、ビデオデコーダは、準拠するビットストリームのみを復号するように構成される。例えば、ビデオエンコーダ20は、第2の動作点のコンテンツの第1の組を複製する、VPSにおけるシンタックス要素をビデオエンコーダ20が含まないように準拠するビットストリームを符号化し、コンテンツの第1の組は、VPSにおける第1の動作点に対して一意である。
【0116】
[0119] 表4は、代替の例示的な動作点シンタックスおよびセマンティクスを提供する。
【表4】
【0117】
[0120] operation_point(opIdx)シンタックス構造は、ビデオパラメータセットにおけるopIdx−th hrd_parameters()シンタックス構造が適用される動作点のOpLayerIdSetに含まれるnuh_reserved_zero_6bits値の組を指定する。
【0118】
[0121] シンタックス要素op_num_layer_id_values_minus1[opIdx]plus1は、ビデオパラメータセットにおけるopIdx−th hrd_parameters()シンタックス構造が適用される動作点のOpLayerIdSetに含まれるnuh_reserved_zero_6bits値の数を指定する。op_num_layer_id_values_minus1[opIdx]の値は、63以下であるべきである。存在しないとき、op_num_layer_id_values_minus1[opIdx]の値は、0に等しいと推測される。
【0119】
[0122] 本明細書で説明する技法に準拠するビットストリームにおいて、op_num_layer_id_values_minus1[opIdx]は、0に等しくなるべきである。いくつかの例では、op_num_layer_id_values_minus1[opIdx]の値が0に等しいことを必要とするが、ビデオデコーダ30などのビデオデコーダは、他の値がop_num_layer_id_values_minus1[opIdx]シンタックスに現れることを可能にすべきである。
【0120】
[0123] シンタックス要素op_layer_id[opIdx][i]は、ビデオパラメータセットにおけるopIdxth hrd_parameters()シンタックス構造が適用される動作点のOpLayerIdSetに含まれるnuh_reserved_zero_6bitsのi番目の値を指定する。
【0121】
[0124] 変数NumOpLayerIdsMinus1[opIdx]は、次のように導出される。
【数3】
【0122】
NumOpLayerIdsMinus1[0]は、0に等しいと推測される。
【0123】
[0125] 変数OpLayerId[opIdx][i]は、iが両端値を含む0からNumOpLayerIdsMinus1[opIdx]までの範囲内である場合、次のように導出される。
【数4】
【0124】
OpLayerId[0][0]の値は、0に等しいと推測される。
【0125】
[0126] iがjに等しくなく、iとjの両方が両端値を含む0からNumOpLayerIdsMinus1[opIdx]までの範囲内であるとき、OpLayerId[opIdx][i]の値は、OpLayerId[opIdx][j]に等しくなるべきでない。
【0126】
[0127] 任意の2セットOpLayerId[opIdx1]およびOpLayerId[opIdx2]は、opIdx1がopIdx2に等しくない場合、nuh_reserved_zero_6bits値の同じ組を含むべきでない。
【0127】
[0128] ビデオパラメータセットにおけるopIdxth hrd_parameters()シンタックス構造が適用される動作点のOpLayerIdSetは、iが0からNumOpLayerIdsMinus1[opIdx]までの範囲内の場合、OpLayerId[opIdx][i]に等しいnuh_reserved_zero_6bits値を含むように設定され、それらの値のみを含む。
【0128】
[0129] このように、本明細書で説明する技法によれば、ビデオエンコーダ20は、ビットストリームの複数の動作点の各々に関して簡単な動作点モードが使用されるかどうかを示すことができる。動作点のうちの特定の1つに関して簡単な動作点モードが使用されるとき、ビデオエンコーダ20は、特定の動作点に関する1つのターゲットレイヤ識別子のみを符号化し得る。別の例として、ビデオエンコーダ20は、ビットストリームに関するプロファイル空間、ティア、互換性のあるプロファイル、および/またはプロファイル関連の制約条件を符号化できるが、ビットストリームの時間的サブレイヤに関する、別のプロファイル空間、ティア、互換性のあるプロファイル、またはプロファイル関連の制約条件を符号化することができない。さらなる例として、ビデオエンコーダ20は、ビットストリームに関するHRDパラメータを符号化することができ、HRDパラメータシンタックス構造の各コピーは、異なるコンテンツを含む。
【0129】
[0130] 図3は、本開示で説明する技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30が、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測処理ユニット74と、逆量子化ユニット76と、逆変換処理ユニット78と、参照フレームメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、図2に示すように、ビデオエンコーダ20に関して説明した符号化パスとは概して逆の復号パスを行い得る。
【0130】
[0131] 復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30は、ネットワークエンティティ29から符号化ビデオビットストリームを受信できる。ネットワークエンティティ29は、例えば、サーバ、メディアアウェアネットワーク要素(MANE)、ビデオエディタ/スプライサ、または上述した技法のうちの1つもしくは複数を実装するように構成された他のそのようなデバイスであり得る。ネットワークエンティティ29は、本開示の技法を行うように構成された外部手段を含み得る。上述のように、本開示で説明する技法のいくつかは、ネットワークエンティティ29が符号化ビデオビットストリームをビデオデコーダ30に送信する前にネットワークエンティティ29によって実装され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ29およびビデオデコーダ30が別個のデバイスの一部であり得るが、他の事例では、ネットワークエンティティ29に関して説明する機能が、ビデオデコーダ30を備える同じデバイスによって行われ得る。
【0131】
[0132] ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット72に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
【0132】
[0133] ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、イントラ予測処理ユニット74は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコーディングされた(すなわち、B、PまたはGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストの1つの中の参照ピクチャの1つから生成され得る。ビデオデコーダ30は、参照フレームメモリ82に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
【0133】
[0134] 動き補償ユニット72は、動きベクトルと他のシンタックス要素とを解析することによって現在ビデオスライスのビデオブロックについての予測情報を判断し、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。例えば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(例えば、イントラまたはインター予測)と、インター予測スライスタイプ(例えば、BスライスまたはPスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数についての構成情報と、スライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコーディングビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを判断するために、受信されたシンタックス要素のいくつかを使用する。
【0134】
[0135] 動き補償ユニット72はまた、補間フィルタに基づいて補間を行い得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【0135】
[0136] 逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、ビデオスライス中の各ビデオブロックについてビデオデコーダ30によって計算される量子化パラメータQPYを使用して量子化の程度を判断し、同様に、適用すべき逆量子化の程度を判断することを含み得る。逆変換処理ユニット78は、逆変換、例えば、逆DCT、逆整数変換、または概念的に同様の逆変換処理を変換係数に適用して、ピクセル領域において残差ブロックを生成する。
【0136】
[0137] 動き補償ユニット72が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット78からの残差ブロックを動き補償ユニット72によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算動作を行う1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するか、またはさもなければビデオ品質を改善するために、(コーディングループ内またはコーディングループ後の)他のループフィルタも使用され得る。所与のフレームまたはピクチャの復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照フレームメモリ82に記憶される。参照フレームメモリ82はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のために、復号されたビデオを記憶する。
【0137】
[0138] 図3のビデオデコーダ30は、本明細書で説明する技法のうちの1つまたは複数を実装するように構成されたビデオデコーダの一例を表す。本開示の技法は、準拠するビットストリーム内のVPSにおける動作点または動作点に関連するHRDパラメータのいずれかに関する複製コンテンツのシグナリングを拒否することによって動作点に関連するシグナリング情報の効率の改善を提供する。本開示の技法によれば、ビデオデコーダ30は、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のVPSにおけるシンタックス要素を復号し得る。加えて、ビデオデコーダ30は、存在する場合、第1の動作点のコンテンツの第2の組を有するHRDパラメータ情報を示す、準拠するビットストリーム内のVPSにおけるシンタックス要素を復号し得る。準拠するビットストリームは、第2の動作点のコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まず、ビデオデコーダ30は、準拠するビットストリームのみを復号するように構成される。上述のように、コンテンツの第1の組は、第1の動作点に関するレイヤ識別子の組を備えることができ、コンテンツの第2の組は、第1の動作点に関するHRDパラメータの組を備えることができる。
【0138】
[0139] 一例で、レイヤ識別子の第1の組を有する第1の動作点を示すビットストリーム内のVPSにおけるシンタックス要素を復号した後、ビデオデコーダ30は、ビットストリームが、第2の動作点に関するレイヤ識別子の第1の組を複製する、VPSにおけるシンタックス要素を含まない準拠するビットストリームである場合、復号し続けるだけである。本開示の技法は、準拠するビットストリーム内の同じVPSにおける動作点に関するレイヤ識別子の複製した組を拒否する。レイヤ識別子の第1の組は、VPSにおける第1の動作点に対して一意でなければならないか、または、ビットストリームは、非準拠である。ビデオデコーダ30は、第1の動作点および第2の動作点に関するレイヤ識別子の複製した組を含まない準拠するビットストリームのVPSにおけるシンタックス要素を復号するだけである。ビデオデコーダ30が非準拠ビットストリームを受信する場合、ビデオデコーダ30は誤り状態に入り、ビットストリーム全体を破棄する可能性がある。
【0139】
[0140] 別の例では、第1の動作点に関して、HRDパラメータが存在する可能性がある。この場合、第1の動作点に関するHRDパラメータの第1の組を有するHRDパラメータ情報を示す、ビットストリーム内のVPSにおけるシンタックス要素をコーディングした後、ビデオデコーダ30は、ビットストリームが、第2の動作点に関するHRDパラメータの第1の組を複製する、VPSにおけるシンタックス要素を含まない準拠するビットストリームである場合、復号し続けるだけである。本開示の技法は、準拠するビットストリーム内の同じVPSにおける動作点に関するHRDパラメータの複製した組を拒否する。HRDパラメータの第1の組は、VPSにおける第1の動作点に対して一意でなければならないか、または、ビットストリームは、非準拠である。ビデオデコーダ30は、第1の動作点および第2の動作点に関するHRDパラメータの複製した組を含まない準拠するビットストリームのVPSにおけるシンタックス要素を復号するだけである。ビデオデコーダ30が非準拠ビットストリームを受信する場合、ビデオデコーダ30は誤り状態に入り、ビットストリーム全体を破棄する可能性がある。
【0140】
[0141] 別の例として、ビデオデコーダ30は、ビットストリームの複数の動作点の各々に関して簡単な動作点モードが使用されるかどうかの指示を受信し得る。動作点のうちの特定の1つに関して簡単な動作点モードが使用されるとき、ビデオデコーダ30は、特定の動作点に関する1つのターゲットレイヤ識別子のみを復号し得る。別の例として、ビデオデコーダ30は、ビットストリームに関するプロファイル空間、ティア、互換性のあるプロファイル、および/またはプロファイル関連の制約条件を復号できるが、ビットストリームの時間的サブレイヤに関する、別のプロファイル空間、ティア、互換性のあるプロファイル、またはプロファイル関連の制約条件を復号することができない。上述のように、ビデオデコーダ30は、ビットストリームに関するHRDパラメータを復号することができ、HRDパラメータシンタックス構造の各コピーは、異なるコンテンツを含む。
【0141】
[0142] 図4は、ネットワーク100の一部を形成するデバイスの例示的な組を示すブロック図である。この例では、ネットワーク100が、ルーティングデバイス104A、104B(ルーティングデバイス104)とトランスコーディングデバイス106とを含む。ルーティングデバイス104およびトランスコーディングデバイス106は、ネットワーク100の一部を形成し得る少数のデバイスを表すことが意図される。スイッチ、ハブ、ゲートウェイ、ファイアウォール、ブリッジ、および他のそのようなデバイスなどの他のネットワークデバイスも、ネットワーク100内に含まれ得る。さらに、サーバデバイス102とクライアントデバイス108との間にネットワーク経路に沿って追加のネットワークデバイスが提供され得る。いくつかの例では、サーバデバイス102がソースデバイス12(図1)に対応し得るが、クライアントデバイス108は宛先デバイス14(図1)に対応し得る。
【0142】
[0143] 一般に、ルーティングデバイス104は、ネットワーク100を介してネットワークデータを交換するための1つまたは複数のルーティングプロトコルを実装する。いくつかの例では、ルーティングデバイス104が、プロキシまたはキャッシュ動作を行うように構成され得る。従って、一部の例では、ルーティングデバイス104がプロキシデバイスと呼ばれ得る。概して、ルーティングデバイス104は、ネットワーク100を介したルートを発見するためにルーティングプロトコルを実行する。そのようなルーティングプロトコルを実行することによって、ルーティングデバイス104Bは、それ自体からルーティングデバイス104Aを介してサーバデバイス102へ至るネットワークルートを発見できる。
【0143】
[0144] 本開示の技法は、ルーティングデバイス104およびトランスコーディングデバイス106などのネットワークデバイスによって実装され得るが、クライアントデバイス108によっても実装され得る。このように、ルーティングデバイス104、トランスコーディングデバイス106、およびクライアントデバイス108は、本開示の特許請求の範囲の部分に記載される技法を含めて、本開示の技法を行うように構成されたデバイスの例を表す。さらに、図1のデバイス、ならびに図2に示したエンコーダおよび図3に示したデコーダも、本開示の特許請求の範囲の部分に記載される技法を含めて、本開示の技法を行うように構成され得る例示的なデバイスである。
【0144】
[0145] 本開示で説明するように、「ビデオコーダ」は、概して、ビデオ符号化デバイスとビデオ復号デバイスの両方を指すのに使用され得る。加えて、「ビデオコーディング」は、ビデオ符号化またはビデオ復号を指す可能性がある。
【0145】
[0146] 図5は、本開示で説明する技法による、ビデオデータを復号する例示的な方法200を示すフローチャートである。方法200は、例えば、図1または図3のビデオデコーダ30などの、ビデオデータを処理するように構成された任意のデバイス、システム、または装置によって行われ得る。
【0146】
[0147] 方法200は、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のビデオパラメータセット(VPS)におけるシンタックス要素を復号すること(202)を含む。例えば、ビデオデコーダ30は、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のVPSにおけるシンタックス要素を復号し得る。いくつかの例では、第1の動作点を示すシンタックス要素が、準拠するビットストリーム内のVPSにおけるoperation_point()シンタックス構造を有する。
【0147】
[0148] 方法200は、第1の動作点のコンテンツの第2の組を有する仮想参照デコーダ(HRD)パラメータ情報を示す、準拠するビットストリーム内のVPSにおけるシンタックス要素を復号すること(204)をさらに含む。本開示の技法によれば、準拠するビットストリームは、第2の動作点のコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まない。例えば、ビデオデコーダ30は、存在する場合、第1の動作点のコンテンツの第2の組を有するHRDパラメータ情報を示す、準拠するビットストリーム内のVPSにおけるシンタックス要素を復号する。ビデオデコーダ30は、準拠するビットストリームのみを復号するように構成され、準拠するビットストリームは、第2の動作点のコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まない。いくつかの例では、HRDパラメータ情報を示すシンタックス要素が、準拠するビットストリーム内のVPSにおけるhrd_parameters()シンタックス構造を有する。いくつかの例では、シンタックス要素を復号することが、準拠するビットストリーム内のみの第1の動作点およびHRDパラメータ情報を示すシンタックス要素を復号することを含む。
【0148】
[0149] 方法200は、復号シンタックス要素に基づいて準拠するビットストリーム内のビデオデータを復号すること(206)をさらに含む。例えば、ビデオデコーダ30は、コンテンツの第1の組を有する第1の動作点を示すシンタックス要素に少なくとも部分的に基づいて準拠するビットストリーム内のビデオデータを復号する。ビデオデコーダ30は、存在する場合、第1の動作点のコンテンツの第2の組を有するHDRパラメータ情報を示すシンタックス要素に少なくとも部分的に基づいて準拠するビットストリーム内のビデオデータをさらに復号する。
【0149】
[0150] いくつかの例では、コンテンツの第1の組が、第1の動作点のサブビットストリームに属する準拠するビットストリームの1つまたは複数のネットワークアブストラクションレイヤ(NAL)ユニットを識別する、第1の動作点に関するレイヤ識別子の組を備える。いくつかの例では、コンテンツの第2の組が、第1の動作点のサブビットストリームの準拠をチェックするために使用されるHRDを定義する、第1の動作点に関するHRDパラメータの組を備える。他の例では、準拠するビットストリームが、第2の動作点のコンテンツの第1の組を複製する、VPSにおけるシンタックス要素を含まず、コンテンツの第1の組が、VPSにおける第1の動作点に対して一意である。さらなる例では、準拠するビットストリームが、第2の動作点のコンテンツの第2の組を有するHRDパラメータ情報を複製する、VPSにおけるシンタックス要素を含まず、コンテンツの第2の組は、VPSにおける第1の動作点に対して一意である。
【0150】
[0151] いくつかの例では、第1の動作点に関するレイヤ識別子の組が2つ以上のレイヤ識別子を含むとき、方法200が、2つ以上のレイヤ識別子を差分的に復号することをさらに備える。すなわち、ビデオデコーダ30は、第1の動作点に関するレイヤ識別子の組が2つ以上のレイヤ識別子を含むとき、2つ以上のレイヤ識別子を差分的に復号する。
【0151】
[0152] 別の例では、方法200が、第1および第2の動作点に関して簡単な動作点モードが使用されるかどうかを示す準拠するビットストリーム内の1つまたは複数のシンタックス要素を復号することを含み得る。第1および第2の動作点のうちの特定の1つに関して簡単な動作点モードが使用されるとき、方法200は、特定の動作点に関するターゲットレイヤ識別子のみを復号することを含み得る。一例では、ビデオデコーダ30が、第1および第2の動作点に関して簡単な動作点モードが使用されるかどうかを示す準拠するビットストリーム内の1つまたは複数のシンタックス要素を復号する。第1および第2の動作点のうちの特定の1つに関して簡単な動作点モードが使用されるとき、ビデオデコーダ30は、特定の動作点に関するターゲットレイヤ識別子のみを復号する。いくつかの例では、特定の動作点が、ターゲットレイヤ識別子と、準拠するビットストリームの時間的サブレイヤを示す時間的識別子とによって識別される。
【0152】
[0153] 方法200は、第1の動作点に関して簡単な動作点モードが使用されない指示に基づいて、第1の動作点に関するレイヤ識別子の組の各レイヤ識別子を明示的に復号することをさらに含み得る。例えば、ビデオデコーダ30は、第1の動作点に関して簡単な動作点モードが使用されない指示に基づいて第1の動作点に関するレイヤ識別子の組のレイヤ識別子を復号する。方法200は、動作点のうちの特定の1つに関して簡単な動作点モードが使用されないとき、特定の動作点に関する複数のターゲットレイヤ識別子を差分的に復号することをさらに含み得る。例えば、ビデオデコーダ30は、動作点のうちの特定の1つに関して簡単な動作点モードが使用されないとき(例えば、vsp_simple_op_mode_flag[i]がVPS内に存在しないか、またはゼロに等しいとき)、特定の動作点に関する複数のターゲットレイヤ識別子を差分的に復号する。
【0153】
[0154] いくつかの例では、方法200が、準拠するビットストリームの復号ビデオシーケンス全体、プロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を復号することをさらに含み、準拠するビットストリームは、復号ビデオシーケンスの1つまたは複数の時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を含まない。例えば、ビデオデコーダ30は、準拠するビットストリームの復号ビデオシーケンス全体、プロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を復号する。準拠するビットストリームは、復号ビデオシーケンスの1つまたは複数の時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を含まない。
【0154】
[0155] シンタックス要素は、時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数が、準拠するビットストリーム内のVPSにおけるprofile_tier_level()シンタックス構造から除去されることを示し得る。いくつかの例では、方法200が、準拠するビットストリームの時間的サブレイヤの各々に関してプロファイル情報が存在するかどうかを示す1つまたは複数のシンタックス要素を復号することをさらに含む。時間的サブレイヤのうちの特定の1つに関してプロファイル情報が存在するとき、方法200は、特定の時間的サブレイヤに関するプロファイル情報を復号することをさらに含み得る。例えば、ビデオデコーダ30は、準拠するビットストリームの時間的サブレイヤの各々に関してプロファイル情報が存在するかどうかを示す1つまたは複数のシンタックス要素を復号し、時間的サブレイヤのうちの特定の1つに関してプロファイル情報が存在するとき、ビデオデコーダ30は、特定の時間的サブレイヤに関するプロファイル情報を復号する。
【0155】
[0156] 同様に、方法200は、ビットストリームの時間的サブレイヤの各々に関してレベル情報が存在するかどうかを示す1つまたは複数のシンタックス要素を復号することをさらに含む。時間的サブレイヤのうちの特定の1つに関してレベル情報が存在するとき、方法200は、特定の時間的サブレイヤに関するレベル情報を復号することをさらに含む。例えば、ビデオデコーダ30は、ビットストリームの時間的サブレイヤの各々に関してレベル情報が存在するかどうかを示す1つまたは複数のシンタックス要素を復号し、時間的サブレイヤのうちの特定の1つに関してレベル情報が存在するとき、ビデオデコーダ30は、特定の時間的サブレイヤに関するレベル情報を復号する。いくつかの例では、準拠するビットストリームの時間的サブレイヤが時間的識別子によって識別される。
【0156】
[0157] 図6は、本開示で説明する技法による、ビデオデータを符号化する例示的な方法300を示すフローチャートである。方法300は、例えば、図1および図2のビデオエンコーダ20などの、ビデオデータを処理するように構成された任意のデバイス、システム、または装置によって行われ得る。
【0157】
[0158] 方法300は、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のビデオパラメータセット(VPS)におけるシンタックス要素を符号化すること(302)を含む。例えば、ビデオエンコーダ20は、コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のVPSにおけるシンタックス要素を符号化し得る。いくつかの例では、第1の動作点を示すシンタックス要素が、準拠するビットストリーム内のVPSにおけるoperation_point()シンタックス構造を有する。
【0158】
[0159] 方法300は、第1の動作点のコンテンツの第2の組を有する仮想参照デコーダ(HRD)パラメータ情報を示す、準拠するビットストリーム内のVPSにおけるシンタックス要素を符号化すること(204)をさらに含む。本開示の技法によれば、準拠するビットストリームは、第2の動作点のコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まない。例えば、ビデオエンコーダ20は、存在する場合、第1の動作点のコンテンツの第2の組を有するHRDパラメータ情報を示す、準拠するビットストリーム内のVPSにおけるシンタックス要素を符号化する。ビデオエンコーダ20は、準拠するビットストリームのみを符号化するように構成され、準拠するビットストリームは、第2の動作点のコンテンツの第1または第2の組のうちの少なくとも1つを複製する、VPSにおけるシンタックス要素を含まない。いくつかの例では、HRDパラメータ情報を示すシンタックス要素が、準拠するビットストリーム内のVPSにおけるhrd_parameters()シンタックス構造を有する。
【0159】
[0160] 方法300は、符号化シンタックス要素に基づいて準拠するビットストリーム内のビデオデータを符号化すること(306)をさらに含む。例えば、ビデオエンコーダ20は、コンテンツの第1の組を有する第1の動作点を示すシンタックス要素に少なくとも部分的に基づいて準拠するビットストリーム内のビデオデータを符号化する。ビデオエンコーダ20は、第1の動作点のコンテンツの第2の組を有するHDRパラメータ情報を示すシンタックス要素に少なくとも部分的に基づいて準拠するビットストリーム内のビデオデータをさらに符号化する。
【0160】
[0161] いくつかの例では、コンテンツの第1の組が、第1の動作点のサブビットストリームに属する準拠するビットストリームの1つまたは複数のネットワークアブストラクションレイヤ(NAL)ユニットを識別する、第1の動作点に関するレイヤ識別子の組を備える。いくつかの例では、コンテンツの第2の組が、第1の動作点のサブビットストリームの準拠をチェックするために使用されるHRDを定義する、第1の動作点に関するHRDパラメータの組を備える。他の例では、準拠するビットストリームが、第2の動作点のコンテンツの第1の組を複製する、VPSにおけるシンタックス要素を含まず、コンテンツの第1の組は、VPSにおける第1の動作点に対して一意である。さらなる例では、準拠するビットストリームが、第2の動作点のコンテンツの第2の組を有するHRDパラメータ情報を複製する、VPSにおけるシンタックス要素を含まず、コンテンツの第2の組は、VPSにおける第1の動作点に対して一意である。
【0161】
[0162] いくつかの例では、第1の動作点に関するレイヤ識別子の組が2つ以上のレイヤ識別子を含むとき、方法300が、2つ以上のレイヤ識別子を差分的に符号化することをさらに備える。すなわち、ビデオエンコーダ20は、第1の動作点に関するレイヤ識別子の組が2つ以上のレイヤ識別子を含むとき、2つ以上のレイヤ識別子を差分的に符号化する。
【0162】
[0163] 別の例では、方法300が、第1および第2の動作点に関して簡単な動作点モードが使用されるかどうかを示す準拠するビットストリーム内の1つまたは複数のシンタックス要素を符号化することを含み得る。第1および第2の動作点のうちの特定の1つに関して簡単な動作点モードが使用されるとき、方法300は、特定の動作点に関するターゲットレイヤ識別子のみを符号化することを含み得る。一例では、ビデオエンコーダ20が、第1および第2の動作点に関して簡単な動作点モードが使用されるかどうかを示す準拠するビットストリーム内の1つまたは複数のシンタックス要素を符号化する。第1および第2の動作点のうちの特定の1つに関して簡単な動作点モードが使用されるとき、ビデオエンコーダ20は、特定の動作点に関するターゲットレイヤ識別子のみを符号化する。いくつかの例では、特定の動作点が、ターゲットレイヤ識別子と、準拠するビットストリームの時間的サブレイヤを示す時間的識別子とによって識別される。
【0163】
[0164] 方法300は、第1の動作点に関して簡単な動作点モードが使用されない指示に基づいて、第1の動作点に関するレイヤ識別子の組の各レイヤ識別子を明示的に符号化することをさらに含み得る。例えば、ビデオエンコーダ20は、第1の動作点に関して簡単な動作点モードが使用されない指示に基づいて第1の動作点に関するレイヤ識別子の組のレイヤ識別子を符号化する。方法300は、動作点のうちの特定の1つに関して簡単な動作点モードが使用されないとき、特定の動作点に関する複数のターゲットレイヤ識別子を差分的に符号化することをさらに含み得る。例えば、ビデオエンコーダ20は、動作点のうちの特定の1つに関して簡単な動作点モードが使用されないとき(例えば、vsp_simple_op_mode_flag[i]がVPS内に存在しないか、またはゼロに等しいとき)、特定の動作点に関する複数のターゲットレイヤ識別子を差分的に符号化する。
【0164】
[0165] いくつかの例では、方法300が、準拠するビットストリームの符号化ビデオシーケンス全体、プロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を符号化することをさらに含み、準拠するビットストリームは、符号化ビデオシーケンスの1つまたは複数の時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を含まない。例えば、ビデオエンコーダ20は、準拠するビットストリームの符号化ビデオシーケンス全体、プロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を符号化する。準拠するビットストリームは、復号ビデオシーケンスの1つまたは複数の時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を含まない。
【0165】
[0166] シンタックス要素は、時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数が、準拠するビットストリーム内のVPSにおけるprofile_tier_level()シンタックス構造から除去されることを示し得る。いくつかの例では、方法300が、準拠するビットストリームの時間的サブレイヤの各々に関してプロファイル情報が存在するかどうかを示す1つまたは複数のシンタックス要素を符号化することをさらに含む。時間的サブレイヤのうちの特定の1つに関してプロファイル情報が存在するとき、方法300は、特定の時間的サブレイヤに関するプロファイル情報を符号化することをさらに含み得る。例えば、ビデオエンコーダ20は、準拠するビットストリームの時間的サブレイヤの各々に関してプロファイル情報が存在するかどうかを示す1つまたは複数のシンタックス要素を符号化し、時間的サブレイヤのうちの特定の1つに関してプロファイル情報が存在するとき、ビデオエンコーダ20は、特定の時間的サブレイヤに関するプロファイル情報を符号化する。
【0166】
[0167] 同様に、方法300は、ビットストリームの時間的サブレイヤの各々に関してレベル情報が存在するかどうかを示す1つまたは複数のシンタックス要素を符号化することをさらに含む。時間的サブレイヤのうちの特定の1つに関してレベル情報が存在するとき、方法300は、特定の時間的サブレイヤに関するレベル情報を符号化することをさらに含む。例えば、ビデオエンコーダ20は、ビットストリームの時間的サブレイヤの各々に関してレベル情報が存在するかどうかを示す1つまたは複数のシンタックス要素を符号化し、時間的サブレイヤのうちの特定の1つに関してレベル情報が存在するとき、ビデオエンコーダ20は、特定の時間的サブレイヤに関するレベル情報を符号化する。いくつかの例では、準拠するビットストリームの時間的サブレイヤが、時間的識別子によって識別される。
【0167】
[0168] 例によっては、本明細書で説明された技法のうちいずれかの、いくつかの行為またはイベントは、異なる順番で行われる可能性があり、追加され、統合され、または完全に除外され得る(例えば、すべての説明された行為またはイベントが、本技法の実施のために必要であるとは限らない)ことを認識されたい。さらに、いくつかの例では、行為またはイベントが、連続的にではなく、同時に、例えば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて行われ得る。
【0168】
[0169] 1つまたは複数の例では、説明された機能が、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【0169】
[0170] 限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【0170】
[0171] 命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能が、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
【0171】
[0172] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(例えば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を行うように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【0172】
[0173] 様々な例について説明してきた。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願の当初の特許請求の範囲に記載された発明を付記する。
[C1] ビデオデータを復号する方法であって、
コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のビデオパラメータセット(VPS)におけるシンタックス要素を復号することと、
存在する場合、前記第1の動作点のコンテンツの第2の組を有する仮想参照デコーダ(HRD)パラメータ情報を示す、前記準拠するビットストリーム内の前記VPSにおけるシンタックス要素を復号することとを備え、
前記準拠するビットストリームは、第2の動作点のコンテンツの前記第1または第2の組のうちの少なくとも1つを複製する、前記VPSにおけるシンタックス要素を含まず、シンタックス要素を復号することは、準拠するビットストリーム内のみの前記第1の動作点および前記HRDパラメータ情報を示す前記シンタックス要素を復号することを備える、方法。
[C2] 前記準拠するビットストリームは、前記第2の動作点のコンテンツの前記第1の組を複製する、前記VPSにおけるシンタックス要素を含まず、コンテンツの前記第1の組は、前記VPSにおける前記第1の動作点に対して一意である、C1に記載の方法。
[C3] 前記準拠するビットストリームは、前記第2の動作点のコンテンツの前記第2の組を有する前記HRDパラメータ情報を複製する、前記VPSにおけるシンタックス要素を含まず、コンテンツの前記第2の組は、前記VPSにおける前記第1の動作点に対して一意である、C1に記載の方法。
[C4] コンテンツの前記第1の組は、前記第1の動作点のサブビットストリームに属する前記準拠するビットストリームの1つまたは複数のネットワークアブストラクションレイヤ(NAL)ユニットを識別する、前記第1の動作点に関するレイヤ識別子の組を備える、C1に記載の方法。
[C5] 前記第1の動作点に関するレイヤ識別子の前記組が2つ以上のレイヤ識別子を含み、前記方法は、前記2つ以上のレイヤ識別子を差分的に復号することをさらに備える、C4に記載の方法。
[C6] 前記第1の動作点に関して簡単な動作点モードが使用されるかどうかを示す前記準拠するビットストリーム内の1つまたは複数のシンタックス要素を復号することをさらに備える、C4に記載の方法。
[C7] 前記第1の動作点に関して前記簡単な動作点モードが使用される前記指示に基づいて、前記第1の動作点に関するレイヤ識別子の前記組のターゲットレイヤ識別子のみを復号することをさらに備え、ここにおいて、前記第1の動作点は、前記ターゲットレイヤ識別子と前記準拠するビットストリームの時間的サブレイヤを示す時間的識別子とによって識別される、C6に記載の方法。
[C8] 前記第1の動作点に関して前記簡単な動作点モードが使用されない前記指示に基づいて、前記第1の動作点に関するレイヤ識別子の前記組の各レイヤ識別子を明示的に復号することをさらに備える、C6に記載の方法。
[C9] 前記第1の動作点を示す前記シンタックス要素は、前記準拠するビットストリーム内の前記VPSにおけるoperation_point()シンタックス構造を備える、C1に記載の方法。
[C10] コンテンツの前記第2の組は、前記第1の動作点のサブビットストリームの準拠をチェックするために使用されるHRDを定義する、前記第1の動作点に関するHRDパラメータの組を備える、C1に記載の方法。
[C11] 前記HRDパラメータ情報を示す前記シンタックス要素は、前記準拠するビットストリーム内の前記VPSにおけるhrd_parameters()シンタックス構造を備える、C1に記載の方法。
[C12] 前記準拠するビットストリームのコード化ビデオシーケンス全体に関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を復号することをさらに備え、ここにおいて、前記準拠するビットストリームは、前記コード化ビデオシーケンスの1つまたは複数の時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を含まない、C1に記載の方法。
[C13] 前記時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示す前記シンタックス要素は、前記準拠するビットストリーム内の前記VPSにおけるprofile_tier_level()シンタックス構造から除去される、C12に記載の方法。
[C14] ビデオデータを符号化する方法であって、
コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のビデオパラメータセット(VPS)におけるシンタックス要素を符号化することと、
前記第1の動作点のコンテンツの第2の組を有する仮想参照デコーダ(HRD)パラメータ情報を示す、前記準拠するビットストリーム内の前記VPSにおけるシンタックス要素を符号化することとを備え、
前記準拠するビットストリームは、第2の動作点のコンテンツの前記第1または第2の組のうちの少なくとも1つを複製する、前記VPSにおけるシンタックス要素を含まず、シンタックス要素を符号化することは、準拠するビットストリームのみからの前記第1の動作点および前記HRDパラメータ情報を示す前記シンタックス要素を符号化することを備える、方法。
[C15] 前記準拠するビットストリームは、前記第2の動作点のコンテンツの前記第1の組を複製する、前記VPSにおけるシンタックス要素を含まず、コンテンツの前記第1の組は、前記VPSにおける前記第1の動作点に対して一意である、C14に記載の方法。
[C16] 前記準拠するビットストリームは、前記第2の動作点のコンテンツの前記第2の組を有する前記HRDパラメータ情報を複製する、前記VPSにおけるシンタックス要素を含まず、コンテンツの前記第2の組は、前記VPSにおける前記第1の動作点に対して一意である、C14に記載の方法。
[C17]
コンテンツの前記第1の組は、前記第1の動作点のサブビットストリームに属する前記準拠するビットストリームの1つまたは複数のネットワークアブストラクションレイヤ(NAL)ユニットを識別する、前記第1の動作点に関するレイヤ識別子の組を備える、C14に記載の方法。
[C18] 前記第1の動作点に関するレイヤ識別子の前記組が2つ以上のレイヤ識別子を含み、前記方法は、前記2つ以上のレイヤ識別子を差分的に符号化することをさらに備える、C17に記載の方法。
[C19] 前記第1の動作点に関して簡単な動作点モードが使用されるかどうかを示す前記準拠するビットストリーム内の1つまたは複数のシンタックス要素を符号化することをさらに備える、C17に記載の方法。
[C20] 前記第1の動作点に関して前記簡単な動作点モードが使用される前記指示に基づいて、前記第1の動作点に関するレイヤ識別子の前記組のターゲットレイヤ識別子のみを符号化することをさらに備え、ここにおいて、前記第1の動作点は、前記ターゲットレイヤ識別子と前記準拠するビットストリームの時間的サブレイヤを示す時間的識別子とによって識別される、C19に記載の方法。
[C21] 前記第1の動作点に関して前記簡単な動作点モードが使用されない前記指示に基づいて、前記第1の動作点に関するレイヤ識別子の前記組の各レイヤ識別子を明示的に符号化することをさらに備える、C20に記載の方法。
[C22] 前記第1の動作点を示す前記シンタックス要素は、前記準拠するビットストリーム内の前記VPSにおけるoperation_point()シンタックス構造を備える、C14に記載の方法。
[C23] コンテンツの前記第2の組は、前記第1の動作点のサブビットストリームの準拠をチェックするために使用されるHRDを定義する、前記第1の動作点に関するHRDパラメータの組を備える、C14に記載の方法。
[C24] 前記HRDパラメータ情報を示す前記シンタックス要素は、前記準拠するビットストリーム内の前記VPSにおけるhrd_parameters()シンタックス構造を備える、C14に記載の方法。
[C25] 前記準拠するビットストリームのコード化ビデオシーケンス全体に関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を符号化することをさらに備え、ここにおいて、前記準拠するビットストリームは、前記コード化ビデオシーケンスの1つまたは複数の時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を含まない、C14に記載の方法。
[C26] 前記時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示す前記シンタックス要素は、前記準拠するビットストリーム内の前記VPSにおけるprofile_tier_level()シンタックス構造から除去される、C25に記載の方法。
[C27] ビデオコーダを備えるビデオコーディングデバイスであって、前記ビデオコーダは、
コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のビデオパラメータセット(VPS)におけるシンタックス要素をコーディングし、
存在する場合、前記第1の動作点のコンテンツの第2の組を有する仮想参照デコーダ(HRD)パラメータ情報を示す、前記準拠するビットストリーム内の前記VPSにおけるシンタックス要素をコーディングするように構成され、
前記準拠するビットストリームは、第2の動作点のコンテンツの前記第1または第2の組のうちの少なくとも1つを複製する、前記VPSにおけるシンタックス要素を含まず、前記ビデオコーダは、準拠するビットストリーム内のみの前記第1の動作点および前記HRDパラメータ情報を示す前記シンタックス要素をコーディングするように構成される、ビデオコーディングデバイス。
[C28] 前記準拠するビットストリームは、前記第2の動作点のコンテンツの前記第1の組を複製する、前記VPSにおけるシンタックス要素を含まず、コンテンツの前記第1の組は、前記VPSにおける前記第1の動作点に対して一意である、C27に記載のビデオコーディングデバイス。
[C29] 前記準拠するビットストリームは、前記第2の動作点のコンテンツの前記第2の組を有する前記HRDパラメータ情報を複製する、前記VPSにおけるシンタックス要素を含まず、コンテンツの前記第2の組は、前記VPSにおける前記第1の動作点に対して一意である、C27に記載のビデオコーディングデバイス。
[C30] コンテンツの前記第1の組は、前記第1の動作点のサブビットストリームに属する前記準拠するビットストリームの1つまたは複数のネットワークアブストラクションレイヤ(NAL)ユニットを識別する、前記第1の動作点に関するレイヤ識別子の組を備える、C27に記載のビデオコーディングデバイス。
[C31] 前記第1の動作点に関するレイヤ識別子の前記組が2つ以上のレイヤ識別子を含み、前記ビデオコーダは、前記2つ以上のレイヤ識別子を差分的にコーディングするようにさらに構成される、C30に記載のビデオコーディングデバイス。
[C32] 前記ビデオコーダは、前記第1の動作点に関して簡単な動作点モードが使用されるかどうかを示す前記準拠するビットストリーム内の1つまたは複数のシンタックス要素をコーディングするようにさらに構成される、C30に記載のビデオコーディングデバイス。
[C33] 前記ビデオコーダは、前記第1の動作点に関して前記簡単な動作点モードが使用される前記指示に基づいて、前記第1の動作点に関するレイヤ識別子の前記組のターゲットレイヤ識別子のみをコーディングするようにさらに構成され、ここにおいて、前記第1の動作点は、前記ターゲットレイヤ識別子と前記準拠するビットストリームの時間的サブレイヤを示す時間的識別子とによって識別される、C32に記載のビデオコーディングデバイス。
[C34] 前記ビデオコーダは、前記第1の動作点に関して前記簡単な動作点モードが使用されない前記指示に基づいて、前記第1の動作点に関するレイヤ識別子の前記組の各レイヤ識別子を明示的にコーディングするようにさらに構成される、C32に記載のビデオコーディングデバイス。
[C35] 前記第1の動作点を示す前記シンタックス要素は、前記準拠するビットストリーム内の前記VPSにおけるoperation_point()シンタックス構造を備える、C27に記載のビデオコーディングデバイス。
[C36] コンテンツの前記第2の組は、前記第1の動作点のサブビットストリームの準拠をチェックするために使用されるHRDを定義する、前記第1の動作点に関するHRDパラメータの組を備える、C27に記載のビデオコーディングデバイス。
[C37] 前記HRDパラメータ情報を示す前記シンタックス要素は、前記準拠するビットストリーム内の前記VPSにおけるhrd_parameters()シンタックス構造を備える、C27に記載のビデオコーディングデバイス。
[C38] 前記ビデオコーダは、前記準拠するビットストリームのコード化ビデオシーケンス全体に関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素をコーディングするようにさらに構成され、ここにおいて、前記準拠するビットストリームは、前記コード化ビデオシーケンスの1つまたは複数の時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示すシンタックス要素を含まない、C27に記載のビデオコーディングデバイス。
[C39] 前記時間的サブレイヤに関するプロファイル空間、ティア、互換性のあるプロファイル、およびプロファイル関連の制約条件のうちの1つまたは複数を示す前記シンタックス要素は、前記準拠するビットストリーム内の前記VPSにおけるprofile_tier_level()シンタックス構造から除去される、C38に記載のビデオコーディングデバイス。
[C40] 前記ビデオコーダは、前記第1の動作点を示す、前記VPSにおける前記シンタックス要素を復号し、存在する場合、HRDパラメータ情報を示す、前記VPSにおけるシンタックス要素を復号し、前記復号シンタックス要素に基づいて前記準拠するビットストリーム内のビデオデータを復号するように構成されたビデオデコーダを備える、C27に記載のビデオコーディングデバイス。
[C41] 前記ビデオコーダは、前記第1の動作点を示す、前記VPSにおける前記シンタックス要素を符号化し、存在する場合、HRDパラメータ情報を示す、前記VPSにおけるシンタックス要素を符号化し、前記復号シンタックス要素に基づいて前記準拠するビットストリーム内のビデオデータを符号化するように構成されたビデオエンコーダを備える、C27に記載のビデオコーディングデバイス。
[C42] 命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されたとき、ビデオデータをコーディングするためのデバイスのプロセッサに、
コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のビデオパラメータセット(VPS)におけるシンタックス要素をコーディングさせ、
存在する場合、前記第1の動作点のコンテンツの第2の組を有する仮想参照デコーダ(HRD)パラメータ情報を示す、前記準拠するビットストリーム内の前記VPSにおけるシンタックス要素をコーディングさせ、
ここにおいて、前記準拠するビットストリームは、第2の動作点のコンテンツの前記第1または第2の組のうちの少なくとも1つを複製する、前記VPSにおけるシンタックス要素を含まず、前記プロセッサは、準拠するビットストリーム内のみの前記第1の動作点および前記HRDパラメータ情報を示す前記シンタックス要素をコーディングするように構成される、コンピュータ可読記憶媒体。
[C43] 前記準拠するビットストリームは、前記第2の動作点のコンテンツの前記第1の組を複製する、前記VPSにおけるシンタックス要素を含まず、コンテンツの前記第1の組は、前記VPSにおける前記第1の動作点に対して一意である、C42に記載のコンピュータ可読記憶媒体。
[C44] 前記準拠するビットストリームは、前記第2の動作点のコンテンツの前記第2の組を有する前記HRDパラメータ情報を複製する、前記VPSにおけるシンタックス要素を含まず、コンテンツの前記第2の組は、前記VPSにおける前記第1の動作点に対して一意である、C42に記載のコンピュータ可読記憶媒体。
[C45] コンテンツの前記第1の組は、前記第1の動作点のサブビットストリームに属する前記準拠するビットストリームの1つまたは複数のネットワークアブストラクションレイヤ(NAL)ユニットを識別する、前記第1の動作点に関するレイヤ識別子の組を備える、C42に記載のコンピュータ可読記憶媒体。
[C46] コンテンツの前記第2の組は、前記第1の動作点のサブビットストリームの準拠をチェックするために使用されるHRDを定義する、前記第1の動作点に関するHRDパラメータの組を備える、C42に記載のコンピュータ可読記憶媒体。
[C47] コンテンツの第1の組を有する第1の動作点を示す準拠するビットストリーム内のビデオパラメータセット(VPS)におけるシンタックス要素をコーディングするための手段と、
存在する場合、前記第1の動作点のコンテンツの第2の組を有する仮想参照デコーダ(HRD)パラメータ情報を示す、前記準拠するビットストリーム内の前記VPSにおけるシンタックス要素をコーディングするための手段とを備え、
前記準拠するビットストリームは、第2の動作点のコンテンツの前記第1または第2の組のうちの少なくとも1つを複製する、前記VPSにおけるシンタックス要素を含まず、前記コーディングデバイスは、準拠するビットストリーム内のみの前記第1の動作点および前記HRDパラメータ情報を示す前記シンタックス要素をコーディングするように構成される、ビデオコーディングデバイス。
[C48] 前記準拠するビットストリームは、前記第2の動作点のコンテンツの前記第1の組を複製する、前記VPSにおけるシンタックス要素を含まず、コンテンツの前記第1の組は、前記VPSにおける前記第1の動作点に対して一意である、C47に記載のビデオコーディングデバイス。
[C49] 前記準拠するビットストリームは、前記第2の動作点のコンテンツの前記第2の組を有する前記HRDパラメータ情報を複製する、前記VPSにおけるシンタックス要素を含まず、コンテンツの前記第2の組は、前記VPSにおける前記第1の動作点に対して一意である、C47に記載のビデオコーディングデバイス。
[C50] コンテンツの前記第1の組は、前記第1の動作点のサブビットストリームに属する前記準拠するビットストリームの1つまたは複数のネットワークアブストラクションレイヤ(NAL)ユニットを識別する、前記第1の動作点に関するレイヤ識別子の組を備える、C47に記載のビデオコーディングデバイス。
[C51] コンテンツの前記第2の組は、前記第1の動作点のサブビットストリームの準拠をチェックするために使用されるHRDを定義する、前記第1の動作点に関するHRDパラメータの組を備える、C47に記載のビデオコーディングデバイス。
図1
図2
図3
図4
図5
図6