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

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

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

<>
  • 特許6542271-マルチレイヤビデオコーディング 図000005
  • 特許6542271-マルチレイヤビデオコーディング 図000006
  • 特許6542271-マルチレイヤビデオコーディング 図000007
  • 特許6542271-マルチレイヤビデオコーディング 図000008
  • 特許6542271-マルチレイヤビデオコーディング 図000009
  • 特許6542271-マルチレイヤビデオコーディング 図000010
  • 特許6542271-マルチレイヤビデオコーディング 図000011
  • 特許6542271-マルチレイヤビデオコーディング 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6542271
(24)【登録日】2019年6月21日
(45)【発行日】2019年7月10日
(54)【発明の名称】マルチレイヤビデオコーディング
(51)【国際特許分類】
   H04N 19/70 20140101AFI20190628BHJP
   H04N 19/30 20140101ALI20190628BHJP
【FI】
   H04N19/70
   H04N19/30
【請求項の数】13
【全頁数】36
(21)【出願番号】特願2016-575160(P2016-575160)
(86)(22)【出願日】2015年6月25日
(65)【公表番号】特表2017-525253(P2017-525253A)
(43)【公表日】2017年8月31日
(86)【国際出願番号】US2015037757
(87)【国際公開番号】WO2015200676
(87)【国際公開日】20151230
【審査請求日】2018年6月4日
(31)【優先権主張番号】62/017,120
(32)【優先日】2014年6月25日
(33)【優先権主張国】US
(31)【優先権主張番号】14/749,534
(32)【優先日】2015年6月24日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(72)【発明者】
【氏名】ワン、イェ−クイ
(72)【発明者】
【氏名】ヘンドリー、フヌ
(72)【発明者】
【氏名】ラマスブラモニアン、アダルシュ・クリシュナン
【審査官】 坂東 大五郎
(56)【参考文献】
【文献】 Miska M. Hannuksela,MV-HEVC/SHVC HLS: On frame-field related indications (follow-up of parts of JCTVC-Q0183/JCT3V-H0082 and JCTVC-Q0078/JCT3V-H0026),Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 17th Meeting: Valencia, ES,2014年 4月 2日,[JCTVC-Q0247]
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
(57)【特許請求の範囲】
【請求項1】
マルチレイヤビデオデータを符号化する方法であって、
補足強化情報(SEI)メッセージが前記マルチレイヤビデオデータの2つ以上のレイヤに適用されると決定することと、
前記マルチレイヤビデオデータの前記2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素を前記SEIメッセージが参照すると決定することと、ここにおいて、前記シンタックス要素の前記複数のインスタンスが、前記マルチレイヤビデオデータの第1のレイヤと関連付けられる第1の有効シーケンスパラメータセットシンタックス構造中の前記シンタックス要素の第1のインスタンスと、前記マルチレイヤビデオデータの第2のレイヤと関連付けられる第2の有効シーケンスパラメータセットシンタックス構造中の前記シンタックス要素の第2のインスタンスとを備える、
前記複数のインスタンスのすべてを同じ値に設定することと
を備える、方法。
【請求項2】
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスがフレームまたはフィールドを含むかどうかを示す、請求項1に記載の方法。
【請求項3】
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスに対するソーススキャンタイプを示す、請求項1に記載の方法。
【請求項4】
前記シンタックス要素がfield_seq_flagシンタックス要素を備える、請求項1に記載の方法。
【請求項5】
前記シンタックス要素がgeneral_progressive_source_flagシンタックス要素を備える、請求項1に記載の方法。
【請求項6】
前記シンタックス要素がgeneral_interlaced_source_flagシンタックス要素を備える、請求項1に記載の方法。
【請求項7】
前記方法が、ワイヤレス通信デバイス上で実行可能であり、前記ワイヤレス通信デバイスが、
前記マルチレイヤビデオデータを記憶するように構成されるメモリと、
前記メモリに記憶されている前記マルチレイヤビデオデータを処理するための命令を実行するように構成される1つまたは複数のプロセッサと、
前記マルチレイヤビデオデータを送信するように構成される送信機と
を備える、請求項1に記載の方法。
【請求項8】
前記ワイヤレス通信デバイスがモバイルネットワークデバイスであり、前記送信機が、セルラー通信規格に従って変調されたデータとして前記マルチレイヤビデオデータを送信するように構成される、請求項7に記載の方法。
【請求項9】
マルチレイヤビデオデータを符号化するための装置であって、
補足強化情報(SEI)メッセージが前記マルチレイヤビデオデータの2つ以上のレイヤに適用されると決定するための手段と、
前記マルチレイヤビデオデータの前記2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素を前記SEIメッセージが参照すると決定するための手段と、ここにおいて、前記シンタックス要素の前記複数のインスタンスが、前記マルチレイヤビデオデータの第1のレイヤと関連付けられる第1の有効シーケンスパラメータセットシンタックス構造中の前記シンタックス要素の第1のインスタンスと、前記マルチレイヤビデオデータの第2のレイヤと関連付けられる第2の有効シーケンスパラメータセットシンタックス構造中の前記シンタックス要素の第2のインスタンスとを備える、
前記複数のインスタンスのすべてを同じ値に設定するための手段と
を備える、装置。
【請求項10】
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスがフレームまたはフィールドを含むかどうかを示す、請求項に記載の装置。
【請求項11】
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスに対するソーススキャンタイプを示す、請求項に記載の装置。
【請求項12】
前記シンタックス要素がfield_seq_flagシンタックス要素を備える、請求項に記載の装置。
【請求項13】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1−8のうちのいずれかに従った方法を実行させる命令を記憶した、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、2014年6月25日に出願された米国仮出願第62/017,120号の利益を主張する。
【0002】
[0002]本開示は、ビデオコーディングと、ビデオ圧縮と、ビットストリーム中の圧縮されたビデオと関連付けられるデータのシグナリングとに関する。
【背景技術】
【0003】
[0003]デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータもしくはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話もしくは衛星無線電話、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part10、Advanced Video Coding(AVC)、High Efficiency Video Coding(HEVC)規格によって定義された規格、およびそのような規格の拡張に記述されているビデオ圧縮技法などのビデオ圧縮技法を実装する。これらのビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報を効率的に送信し、受信し、符号化し、復号し、および/または記憶し得る。
【0004】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部)はビデオブロックに区分されてよく、これらのビデオブロックは、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもある。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。
【0005】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コーディングされたブロックと予測ブロックとの間の差分を示す。イントラコーディングされたブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初に2次元アレイで構成される量子化された変換係数は、変換係数の1次元ベクトルを生成するために走査されてよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてよい。
【発明の概要】
【0006】
[0006]本開示は、マルチレイヤビデオコーディングに関する技法を紹介し、より具体的には、独立した非ベースレイヤ(INBL:independent non-base layer)のための表現フォーマットを含むマルチレイヤビデオコーディングの態様に関する。本開示は、あるSEIメッセージおよびツーアクセスユニットデリミタの解釈のためにSPSが使用されるかPPSが使用されるかを決定するための技法を紹介する。
【0007】
[0007]一例では、マルチレイヤビデオデータを符号化する方法は、補足強化情報(SEI)メッセージがマルチレイヤビデオデータの2つ以上のレイヤに適用されると決定することと、マルチレイヤビデオデータの2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素をSEIメッセージが参照すると決定することと、複数のインスタンスのすべてを同じ値に設定することとを含む。
【0008】
[0008]別の例では、ビデオデータを符号化するためのデバイスは、ビデオデータのマルチレイヤビットストリームの少なくとも一部分を記憶するように構成されるメモリと、1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサは、補足強化情報(SEI)メッセージがマルチレイヤビデオデータの2つ以上のレイヤに適用されると決定し、マルチレイヤビデオデータの2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素をSEIメッセージが参照すると決定し、複数のインスタンスのすべてを同じ値に設定するように構成される。
【0009】
[0009]別の例では、マルチレイヤビデオデータを符号化するための装置は、補足強化情報(SEI)メッセージがマルチレイヤビデオデータの2つ以上のレイヤに適用されると決定するための手段と、マルチレイヤビデオデータの2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素をSEIメッセージが参照すると決定するための手段と、複数のインスタンスのすべてを同じ値に設定するための手段とを含む。
【0010】
[0010]別の例では、コンピュータ可読記憶媒体は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、補足強化情報(SEI)メッセージがマルチレイヤビデオデータの2つ以上のレイヤに適用されると決定させ、マルチレイヤビデオデータの2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素をSEIメッセージが参照すると決定させ、複数のインスタンスのすべてを同じ値に設定させる命令を記憶する。
【0011】
[0011]本開示の1つまたは複数の例の詳細が添付の図面および以下の説明に記載される。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0012】
図1】[0012]本開示で説明される技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
図2】[0013]本開示で説明される技法を実装し得る例示的なビデオエンコーダを示すブロック図。
図3】[0014]本開示で説明される技法を実装し得る例示的なビデオデコーダを示すブロック図。
図4】[0015]本開示の1つまたは複数の態様が実装され得る1つの例示的なネットワークを示すブロック図。
図5】[0016]本開示の技法による例示的な方法を示すフローチャート。
図6】[0017]本開示の技法による例示的な方法を示すフローチャート。
図7】[0018]本開示の技法による例示的な方法を示すフローチャート。
図8】[0019]本開示の技法による例示的な方法を示すフローチャート。
【発明を実施するための形態】
【0013】
[0020]本開示は、マルチレイヤビデオコーディングに関する技法を紹介し、より具体的には、独立した非ベースレイヤ(INBL:independent non-base layer)のための表現フォーマットを含むマルチレイヤビデオコーディングの態様に関する。本開示は、あるSEIメッセージおよびツーアクセスユニットデリミタの解釈のためにSPSが使用されるかPPSが使用されるかを決定するための技法を紹介する。
【0014】
[0021]本開示は、マルチレイヤの状況においてHigh Efficiency Video Coding(HEVC)規格において定義される補足強化情報(SEI)メッセージを適用するための技法を含む。いくつかの事例では、以下で述べられるように、本技法は、HEVCに対するマルチビュービデオコーディング拡張(MV−HEVC)またはHEVCに対するスケーラブルビデオコーディング(SVC)拡張(SHVC)のような、HEVC規格に対するマルチレイヤ拡張とともに実行され得る。本開示の技法は全般にHEVCの用語を使用して説明されるが、本開示の技法は、いかなる特定のビデオコーディング規格にも必ずしも限定されず、加えて、または代替的に、HEVCに対する他の拡張、他のマルチビューコーディング規格および/または他のマルチレイヤビデオコーディング規格とともに使用され得る。加えて、別段述べられない限り、以下で説明されるように、本開示の技法は独立にまたは組み合わせて適用され得ることを想定されたい。
【0015】
[0022]ビデオデータの「レイヤ」は一般に、ビュー、解像度、忠実度、予備表現などのような少なくとも1つの共通の特性を有するピクチャのシーケンスを指し得る。たとえば、レイヤは、マルチビュービデオデータの特定のビュー(たとえば、視点)と関連付けられるビデオデータを含み得る。別の例として、レイヤは、スケーラブルビデオデータの特定のレイヤと関連付けられるビデオデータを含み得る。したがって、本開示は、ビデオデータのレイヤおよびビューを互換的に指すことがある。すなわち、ビデオデータのビューはビデオデータのレイヤと呼ばれることがあり、またはその逆のこともあり、複数のビューまたは複数のスケーラブルレイヤは、同じように、たとえばマルチレイヤコーディングシステムでは複数のレイヤと呼ばれることがある。加えて、(マルチレイヤビデオコーダまたはマルチレイヤエンコーダ−デコーダとも呼ばれる)マルチレイヤコーデックは、マルチビューコーデックまたはスケーラブルコーデック(たとえば、MV−HEVC、SHVC、または別のマルチレイヤコーディング技法を使用してビデオデータを符号化および/または復号するように構成されたコーデック)を指すことがある。
【0016】
[0023]ピクチャはフレームまたはフィールドのいずれかであってよく、フィールドはフレームの1つおきの行(たとえば、偶数番目の行または奇数番目の行)を指し、フレームは偶数番目のフィールド(上フィールドとも呼ばれる)および奇数番目のフィールド(下フィールドとも呼ばれる)のような2つのフィールドの合成を指す。本開示は全般にピクチャまたはフレームに対する参照を伴う技法を説明するが、別段明示的に述べられていない限り、説明される技法はフィールドにも適用可能であり得ることを理解されたい。
【0017】
[0024]HEVC規格は一般に、すべてが特定の値のnuh_layer_idを有するネットワーク抽象化レイヤ(NAL)ユニットと、関連する非ビデオコーディングレイヤ(VCL)NALユニットとのセットとして、または階層的関係を有する構文的構造のセットのうちの1つとして、レイヤを定義する。HEVC規格は一般に、NALユニットに含まれるデータのタイプの指示と、ローバイトシーケンスペイロード(RBSP)の形態でそのデータを含むバイトとを含む、シンタックス構造として、NALユニットを定義する。シンタックス要素「nuh_layer_id」は、NALユニットが属するレイヤを識別する。
【0018】
[0025]マルチレイヤビットストリームは、たとえばSHVCではベースレイヤと1つまたは複数の非ベースレイヤを含むことがあり、またはたとえばMV−HEVCでは複数のビューを含むことがある。スケーラブルビットストリームでは、ベースレイヤは通常、0に等しいレイヤ識別子(たとえば、nuh_layer_id)を有し得る。非ベースレイヤは、0よりも大きなレイヤ識別子を有してよく、ベースレイヤに含まれない追加のビデオデータを提供することができる。たとえば、マルチビュービデオデータの非ベースレイヤは、ビデオデータの追加のビューを含み得る。スケーラブルビデオデータの非ベースレイヤは、スケーラブルビデオデータの追加のレイヤを含み得る。非ベースレイヤは、交換可能にエンハンスメントレイヤと呼ばれ得る。
【0019】
[0026]マルチレイヤビットストリームのアクセスユニット(AUと省略されることがある)は、一般に、共通の時間インスタンスのためのすべてのレイヤ成分(たとえば、すべてのNALユニット)を含むデータのユニットである。アクセスユニットのレイヤ成分は通常、一緒に出力される(すなわち、実質的に同時に出力される)ことが意図されており、ここで、ピクチャを出力することは一般に、復号ピクチャバッファ(DPB)からピクチャを転送すること(たとえば、DPBから外部メモリにピクチャを記憶すること、DPBからディスプレイへピクチャを送ることなど)を伴う。SHVC拡張とMV−HEVC拡張とを含むHEVC規格は一般に、指定された分類規則に従って互いに関連付けられ、復号順序において連続的であり、nuh_layer_idの任意の特定の値を伴う多くとも1つのコーディングされたピクチャを含む、NALユニットのセットとして、アクセスユニットを定義する。コーディングされたピクチャのVCL NALユニットを含むことに加えて、アクセスユニットは、非VCL NALユニットも含み得る。アクセスユニットの復号は、nuh_layer_idの任意の特定の値を伴う多くとも1つの復号されたピクチャをもたらす。アクセスユニットのあるシーケンスは、コーディングされたビデオシーケンス(CVS:coded video sequence)と呼ばれ得る。
【0020】
[0027]ビデオデータの符号化された表現を含むビットストリームは、一連のNALユニットを含み得る。NALユニットは、VCL NALユニットと非VCL NALユニットとを含み得る。VCL NALユニットは、ピクチャのコーディングされたスライスを含み得る。非VCL NALユニットは、たとえば、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、1つまたは複数のSEIメッセージ、または他のタイプのデータのような、他の情報をカプセル化し得る。
【0021】
[0028]ビットストリームのNALユニットは、ビットストリームの様々なレイヤと関連付けられ得る。SHVCでは、上で述べられたように、ベースレイヤ以外のレイヤは、「エンハンスメントレイヤ」と呼ばれてよく、ビデオデータの再生の品質を改善するデータを含み得る。MV−HEVCのようなマルチビューコーディングおよび3次元ビデオ(3DV)コーディングでは、レイヤは、異なるビューと関連付けられるデータを含み得る。ビットストリームの各レイヤは、異なるレイヤ識別子と関連付けられる。
【0022】
[0029]さらに、NALユニットは時間識別子を含み得る。ビットストリームの各動作点は、レイヤ識別子のセットと時間識別子とを有する。NALユニットが、ある動作点のためのレイヤ識別子のセット中のレイヤ識別子を指定し、NALユニットの時間識別子が動作点の時間識別子以下である場合、NALユニットは、その動作点と関連付けられる。
【0023】
[0030]H.264/AVCとHEVCの両方でサポートされるSEI機構により、ビデオエンコーダは、出力ピクチャのサンプル値のビデオデコーダまたは他のデバイスによる正しい復号のために必要とされないが、ピクチャ出力タイミング、表示、ならびに損失の検出および補償のような様々な他の目的で使用され得るようなメタデータをビットストリームに含めることが可能になる。1つまたは複数のSEIメッセージをカプセル化するNALユニットは、本明細書ではSEI NALユニットと呼ばれる。1つのタイプのSEIメッセージは、スケーラブルネスティングSEIメッセージである。スケーラブルネスティングSEIメッセージは、1つまたは複数の追加SEIメッセージを含むSEIメッセージである。スケーラブルネスティングSEIメッセージは、SEIメッセージがマルチレイヤビットストリームの特定のレイヤに適用されるかまたは時間サブレイヤに適用されるかを示すために使用され得る。スケーラブルネスティングSEIメッセージ中に含まれないSEIメッセージは、本明細書では、ネストされていないSEIメッセージと呼ばれる。
【0024】
[0031]ある特定のタイプのSEIメッセージは、特定の動作点にのみ適用可能な情報を含む。ビットストリームの動作点は、レイヤ識別子のセットおよび時間識別子と関連付けられる。動作点の表現は、動作点と関連付けられる各NALユニットを含み得る。動作点の表現は、元のビットストリームとは異なるフレームレートおよび/またはビットレートを有することがある。これは、動作点の表現が元のビットストリームのいくつかのピクチャおよび/またはいくつかのデータを含まないことがあるからである。
【0025】
[0032]本開示はさらに、アクセスユニットデリミタ(AUD)NALユニットに関する技法を含む。HEVC規格によれば、AUD NALユニットは、コーディングされたピクチャ中に存在するスライスのタイプを示すために、および、アクセスユニットの境界の検出を簡単にするために使用され得る。アクセスユニットデリミタと関連付けられる規範的な復号処理はない。
【0026】
[0033]以下でより詳細に説明されるように、ビデオデータの表現フォーマットを示すこと、あるSEIメッセージの解釈のためにSPSが使用されるかPPSが使用されるかを決定すること、およびAUD NALユニットの解釈は、シングルレイヤビデオ中に存在しないマルチレイヤビデオにおいてはいくつかの課題をもたらす。本開示は、それらの課題に対処し得る技法を紹介する。
【0027】
[0034]図1は、本開示で説明される技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。システム10は、マルチレイヤビデオデータを符号化し、カプセル化し、送信し、カプセル化解除し、復号するように構成され得る。図1に示されるように、システム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのようなワイヤレス/セルラー電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。いくつかの場合には、ソースデバイス12および宛先デバイス14は、ワイヤレス通信に対応し得る。いくつかの実装形態では、ソースデバイス12および宛先デバイス14は、モバイルネットワークを通じて通信するように構成されるモバイルネットワークデバイスであり得る。
【0028】
[0035]宛先デバイス14は、リンク16を介して、復号されるべき符号化されたビデオデータを受信し得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク16は、ソースデバイス12が、符号化されたビデオデータをリアルタイムで宛先デバイス14に直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、高周波(RF)スペクトルまたは1つもしくは複数の物理伝送線路のような、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークのようなパケットベースのネットワーク、またはインターネットのようなグローバルネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含み得る。通信媒体はまた、セルラーネットワークまたはモバイルネットワークの一部を形成することがあり、ソースデバイス12および宛先デバイス14は、GSM(登録商標)ネットワーク、CDMAネットワーク、LTE(登録商標)ネットワーク、または他のそのようなネットワークのような、セルラー通信規格とも呼ばれることがあるモバイル通信規格を使用して通信するように構成され得る。
【0029】
[0036]代替的に、符号化されたデータは出力インターフェース22から記憶デバイス32に出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶デバイス32からアクセスされ得る。記憶デバイス32は、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または、符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散したまたはローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイス32は、ソースデバイス12によって生成された符号化されたビデオを保持し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイス32から、記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化されたビデオデータを記憶することと、その符号化されたビデオデータを宛先デバイス14に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワークアタッチストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準的なデータ接続を通じて符号化されたビデオデータにアクセスし得る。これは、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、または、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適した、両方の組合せを含み得る。記憶デバイス32からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【0030】
[0037]本開示の技法は、必ずしもワイヤレスの用途または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例のような、種々のマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および/またはビデオ電話のような適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【0031】
[0038]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、カプセル化ユニット21と、出力インターフェース22とを含む。いくつかの場合、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムのようなソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ電話またはビデオ電話を形成し得る。しかしながら、本開示で説明される技法は、ビデオコーディング全般に適用可能であることがあり、ワイヤレスおよび/または有線の適用例に適用され得る。
【0032】
[0039]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。カプセル化ユニット21は、マルチメディアコンテンツの1つまたは複数の表現を形成することができ、ここで、表現の各々は1つまたは複数のレイヤを含み得る。いくつかの例では、ビデオエンコーダ20は、たとえば、異なるフレームレート、異なるビットレート、異なる解像度、または他のそのような違いを伴う、異なる方法で各レイヤを符号化し得る。したがって、カプセル化ユニット21は、様々な特性、たとえば、ビットレート、フレームレート、解像度などを有する様々な表現を形成し得る。
【0033】
[0040]表現の各々は、宛先デバイス14によって取り出され得るそれぞれのビットストリームに対応し得る。カプセル化ユニット21は、たとえば、マルチメディアコンテンツに対するmedia presentation description(MPD)データ構造内で、各表現に含まれるビューのビュー識別子(view_id)の範囲の指示を与え得る。たとえば、カプセル化ユニット21は、表現のビューに対する最大ビュー識別子と最小ビュー識別子との指示を与え得る。MPDはさらに、マルチメディアコンテンツの複数の表現の各々に対する出力を対象とするビューの最大の数の指示を与え得る。MPDまたはそのデータは、いくつかの例では、(1つまたは複数の)表現に対するマニフェストに記憶され得る。
【0034】
[0041]符号化されたビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信され得る。符号化されたビデオデータは、さらに(または代替的に)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのために、記憶デバイス32に記憶され得る。
【0035】
[0042]宛先デバイス14は、入力インターフェース28と、カプセル化解除ユニット29と、ビデオデコーダ30と、ディスプレイデバイス31とを含む。いくつかの場合、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を通じて符号化されたビデオデータを受信する。リンク16を通じて通信された、または記憶デバイス32に提供された、符号化されたビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30のようなビデオデコーダが使用するための、ビデオエンコーダ20によって生成された種々のシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信される、記憶媒体に記憶される、またはファイルサーバに記憶される、符号化されたビデオデータとともに含まれ得る。
【0036】
[0043]宛先デバイス14のカプセル化解除ユニット29は、ビットストリーム(またはマルチレイヤコーディングの状況では「動作点」と呼ばれるビットストリームのサブセット)からのSEIメッセージをカプセル化解除するユニットを表し得る。カプセル化解除ユニット29は、カプセル化ユニット21によって実行される動作とは逆の順序で動作を実行して、SEIメッセージのようなカプセル化された符号化されたビットストリームからのデータをカプセル化解除することができる。
【0037】
[0044]ディスプレイデバイス31は、宛先デバイス14と一体であってよく、またはその外部にあってよい。いくつかの例では、宛先デバイス14は、一体化されたディスプレイデバイスを含んでよく、また、外部ディスプレイデバイスとインターフェースするように構成されてよい。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス31は、復号されたビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスのような、種々のディスプレイデバイスのいずれかを備え得る。
【0038】
[0045]ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せのような、種々の好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれもが、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
【0039】
[0046]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は各々、オーディオエンコーダおよびデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を扱うために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータプロトコル(UDP)のような他のプロトコルに準拠し得る。
【0040】
[0047]本開示は全般に、ビデオエンコーダ20が、ある情報をビデオデコーダ30のような別のデバイスに「シグナリング」することに言及することがある。「シグナリング」という用語は、全般に、圧縮されたビデオデータを復号するために使用されるシンタックス要素および/または他のデータの通信を指し得る。そのような通信は、リアルタイムまたはほぼリアルタイムで発生し得る。代替的に、そのような通信は、符号化の時に符号化されたビットストリームの中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに発生し得るなど、ある時間の長さにわたって発生することがあり、これらの要素は次いで、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。
【0041】
[0048]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、そのスケーラブルビデオコーディング(SVC)拡張と、マルチビュービデオコーディング(MVC)拡張と、MVCベースの3DV拡張とを含む、ISO/IEC MPEG−4 Visualおよび(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264のようなビデオ圧縮規格に従って動作する。他の例では、ビデオエンコーダ20およびビデオデコーダ30は、Joint Collaboration Team on Video Coding (JCT−VC) of ITU−T Video Coding Experts Group (VCEG) and ISO/IEC Motion Picture Experts Group (MPEG)によって開発されたHEVCに従って動作し得る。
【0042】
[0049]さらに、HEVCのためのスケーラブルビデオコーディング拡張と、マルチビューコーディング拡張と、3DV拡張とを作成する作業が進行中である。HEVCのスケーラブルビデオコーディング拡張は、SHVCと呼ばれることがある。SHVCの最近のワーキングドラフト(WD)(以後、SHVC WD5または現在のSHVC WDと呼ばれる)は、Chen他、「High Efficiency Video Coding (HEVC) scalable extension draft 5」、Joint Collaborative Team on Video Coding (JCT−VC) of ITU−T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、文書JCTVC−P1008_v4、第16回会合、サンノゼ、2014年1月に記載されている。MV−HEVCの最近のワーキングドラフト(WD)(以後、MV−HEVC WD7または現在のMV−HEVC WDと呼ばれる)は、Tech他、「MV−HEVC Draft Text 7」、Joint Collaborative Team on Video Coding (JCT−VC) of ITU−T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、文書JCTVC−G1004_v7、第16回会合、サンノゼ、2014年1月に記載されている。
【0043】
[0050]HEVCおよび他のビデオコーディング規格では、ビデオシーケンスは一般に、一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、SL、SCbおよびSCrと表される3つのサンプルアレイを含み得る。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャは、モノクロームであってよく、ルーマサンプルのアレイのみを含み得る。
【0044】
[0051]ビデオエンコーダ20は、ピクチャの符号化された表現を生成するために、コーディングツリーユニット(CTU)のセットを生成することができる。CTUの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの2つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別々のカラープレーンを有するピクチャでは、CTUは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックは、サンプルのNxNのブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU)と呼ばれることもある。HEVCのCTUは、H.264/AVCのような他の規格のマクロブロックに広い意味で類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含み得る。スライスは、ラスタースキャン順序で連続的に順序付けられた整数個のCTUを含み得る。
【0045】
[0052]コーディングされたCTUを生成するために、ビデオエンコーダ20は、コーディングツリーブロックをコーディングブロックに分割するために、CTUのコーディングツリーブロックに対して4分木区分を再帰的に実行することができ、したがって「コーディングツリーユニット」という名称である。コーディングブロックは、サンプルのNxNのブロックであり得る。CUは、ルーマサンプルアレイとCbサンプルアレイとCrサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの2つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別々のカラープレーンを有するピクチャでは、CUは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【0046】
[0053]ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックである。CUの予測ユニット(PU)は、ルーマサンプルの予測ブロックと、クロマサンプルの2つの対応する予測ブロックと、それらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、PUは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロックのための、予測ルーマブロックと、予測Cbブロックと、予測Crブロックとを生成することができる。
【0047】
[0054]ビデオエンコーダ20は、PUの予測ブロックを生成するためにイントラ予測またはインター予測を使用することができる。ビデオエンコーダ20がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUと関連付けられたピクチャの復号されたサンプルに基づいてPUの予測ブロックを生成することができる。ビデオエンコーダ20がPUの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、PUと関連付けられるピクチャ以外の1つまたは複数のピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成することができる。
【0048】
[0055]ビデオエンコーダ20がCUの1つまたは複数のPUのための予測ルーマブロックと、予測Cbブロックと、予測Crブロックとを生成した後、ビデオエンコーダ20は、CUのためのルーマ残差ブロックを生成することができる。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックの1つの中のルーマサンプルとCUの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ20は、CUのためのCb残差ブロックを生成することができる。CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックの1つの中のCbサンプルと、CUの元のCbコーディングブロック中の対応するサンプルとの間の差を示し得る。ビデオエンコーダ20は、CUのためのCr残差ブロックを生成することもできる。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックの1つの中のCrサンプルと、CUの元のCrコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【0049】
[0056]さらに、ビデオエンコーダ20は、CUのルーマ残差ブロックと、Cb残差ブロックと、Cr残差ブロックとを、1つまたは複数のルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに分解するために、4分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形(たとえば、正方形または非正方形)ブロックである。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロックと、クロマサンプルの2個の対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックと関連付けられ得る。TUと関連付けられるルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであってよい。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであってよい。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであってよい。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、TUは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【0050】
[0057]ビデオエンコーダ20は、TUのルーマ係数ブロックを生成するために、TUのルーマ変換ブロックに1回または複数回の変換を適用することができる。係数ブロックは、変換係数の2次元アレイであり得る。変換係数は、スカラー量であってよい。ビデオエンコーダ20は、TUのためのCb係数ブロックを生成するために、TUのCb変換ブロックに1回または複数回の変換を適用することができる。ビデオエンコーダ20は、TUのためのCr係数ブロックを生成するために、TUのCr変換ブロックに1回または複数回の変換を適用することができる。
【0051】
[0058]ビデオエンコーダ20は、係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、係数ブロックを量子化することができる。量子化は一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化されさらなる圧縮を実現する、処理を指す。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行し得る。
【0052】
[0059]ビデオエンコーダ20は、コーディングされたピクチャおよび関連するデータの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、一連のNALユニットを備え得る。NALユニットは、NALユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが点在しているRBSPの形態でそのデータを含むバイトとを含む、シンタックス構造である。NALユニットの各々は、NALユニットヘッダを含み、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを指示するシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含むシンタックス構造であり得る。いくつかの例では、RBSPは0ビットを含む。
【0053】
[0060]異なるタイプのNALユニットは、異なるタイプのRBSPをカプセル化し得る。たとえば、第1のタイプのNALユニットはPPSのためのRBSPをカプセル化することができ、第2のタイプのNALユニットはコーディングされたスライスのためのRBSPをカプセル化することができ、第3のタイプのNALユニットはSEIメッセージのためのRBSPをカプセル化することができ、以下同様である。ビデオコーディングデータのためのRBSPをカプセル化するNALユニットは(パラメータセットおよびSEIメッセージのためのRBSPとは対照的に)、VCL NALユニットと呼ばれることがある。
【0054】
[0061]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、ビットストリームからシンタックス要素を取得するために、ビットストリームを構文解析し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも一部基づいて、ビデオデータのピクチャを再構築することができる。ビデオデータを再構築するための処理は全般に、ビデオエンコーダ20によって実行される処理の逆であり得る。加えて、ビデオデコーダ30は、現在のCUのTUと関連付けられる係数ブロックを逆量子化し得る。ビデオデコーダ30は、現在のCUのTUと関連付けられる変換ブロックを再構築するために、係数ブロックに対して逆変換を実行し得る。ビデオデコーダ30は、現在のCUのPUのための予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応するサンプルに追加することによって、現在のCUのコーディングブロックを再構築することができる。ピクチャの各CUのためのコーディングブロックを再構築することによって、ビデオデコーダ30はピクチャを再構築することができる。
【0055】
[0062]マルチビューコーディングでは、異なる視点からの同じシーンの複数のビューが存在することがある。上で述べられたように、アクセスユニットは、同じ時間インスタンスに対応するピクチャのセットを含む。したがって、ビデオデータは、時間とともに生じる一連のアクセスユニットとして概念化され得る。「ビュー成分」は、単一のアクセスユニット中のビューのコーディングされた表現であり得る。本開示では、「ビュー」は、同じビュー識別子と関連付けられる一連のビュー成分を指し得る。例示的なタイプのビュー成分は、テクスチャビュー成分と深度ビュー成分とを含み得る。
【0056】
[0063]マルチビューコーディングは、ビュー間予測をサポートする。ビュー間予測は、HEVCにおいて使用されるインター予測と同様であり、同じシンタックス要素を使用し得る。しかしながら、ビデオコーダが現在のビデオユニット(PUのような)に対してビュー間予測を実行するとき、ビデオエンコーダ20は、参照ピクチャとして、その現在のビデオユニットと同じアクセスユニット中にあるが異なるビューの中にあるピクチャを使用し得る。対照的に、従来のインター予測は、参照ピクチャとして異なるアクセスユニット内のピクチャのみを使用する。
【0057】
[0064]マルチビューコーディングでは、ビデオデコーダ(たとえば、ビデオデコーダ30)が、あるビュー中のピクチャを、任意の他のビュー中のピクチャを参照せずに復号することができる場合、そのビューは「ベースビュー」と呼ばれ得る。非ベースビューの1つの中のピクチャをコーディングするとき、あるピクチャが異なるビュー中にあるが、ビデオコーダが現在コーディングしているピクチャと同じ時間インスタンス(すなわち、アクセスユニット)内にある場合、(ビデオエンコーダ20またはビデオデコーダ30のような)ビデオコーダは、参照ピクチャリストにそのピクチャを追加することができる。他のインター予測参照ピクチャと同様に、ビデオコーダは、参照ピクチャリストの任意の位置にビュー間予測参照ピクチャを挿入することができる。
【0058】
[0065]H.264/AVCとHEVCの両方においてサポートされるSEI機構は、ビデオエンコーダ(たとえば、ビデオエンコーダ20)が、出力ピクチャのサンプル値の正確な復号のためには要求されないが、ピクチャ出力タイミング、表示、ならびに損失の検出および補償のような他の様々な目的で使用され得るようなメタデータをビットストリームに含めることを可能にする。ビデオエンコーダ20は、ピクチャのサンプル値の正確な復号に必要ではないメタデータをビットストリームに含めるために、SEIメッセージを使用することができる。しかしながら、ビデオデコーダ30または他のデバイスは、SEIメッセージに含まれるメタデータを様々な他の目的で使用することができる。たとえば、ビデオデコーダ30または別のデバイスは、ピクチャ出力タイミング、ピクチャ表示、損失検出、および誤り補償のために、SEIメッセージ中のメタデータを使用することができる。
【0059】
[0066]ビデオエンコーダ20は、アクセスユニットに含めるための1つまたは複数のSEI NALユニットを生成することができる。言い換えれば、任意の数のSEI NALユニットがアクセスユニットと関連付けられることがある。さらに、各SEI NALユニットは、1つまたは複数のSEIメッセージを含み得る。つまり、ビデオエンコーダは、任意の数のSEI NALユニットをアクセスユニットに含めることができ、各SEI NALユニットは、1つまたは複数のSEIメッセージを含み得る。SEI NALユニットは、NALユニットヘッダとペイロードとを含み得る。SEI NALユニットのNALユニットヘッダは、少なくとも第1のシンタックス要素と第2のシンタックス要素とを含む。第1のシンタックス要素は、SEI NALユニットのレイヤ識別子を指定する。第2のシンタックス要素は、SEI NALユニットの時間識別子を指定する。
【0060】
[0067]ネストされたSEIメッセージは、スケーラブルネスティングSEIメッセージに含まれるSEIメッセージを指す。ネストされていないSEIメッセージは、スケーラブルネスティングSEIメッセージに含まれないSEIメッセージを指す。SEI NALユニットのペイロードは、ネストされたSEIメッセージまたはネストされていないSEIメッセージを備え得る。
【0061】
[0068]HEVC規格は、様々なタイプのSEIメッセージのためのシンタックスとセマンティクスとを記述する。しかしながら、SEIメッセージが規範となる復号処理に影響を及ぼさないので、HEVC規格はSEIメッセージの扱いを記述しない。HEVC規格にSEIメッセージを有する1つの理由は、補足データがHEVCを使用する様々なシステムにおいて同じように解釈されることを可能にするためである。HEVCを使用する規格およびシステムは、ビデオエンコーダに、いくつかのSEIメッセージを生成するように要求することがあり、または特定のタイプの受信されたSEIメッセージの固有の扱いを定義することがある。
【0062】
[0069]以下の表1は、HEVCにおいて規定されるSEIメッセージを列挙し、それらの目的を簡潔に記述している。
【0063】
【表1】
【0064】
【0065】
[0070]上で紹介されたように、本開示は、マルチレイヤビデオコーディングに関する技法、より具体的には、独立の非ベースレイヤ(INBL)の表現フォーマットと、あるSEIメッセージの解釈のためにSPSが使用されるかPPSが使用されるかということと、AUD NALユニットの処理とを含む、マルチレイヤビデオコーディングの態様に関するツー技法を紹介する。
【0066】
[0071]ビデオエンコーダ20はマルチレイヤビデオデータを生成するように構成されてよく、ビデオデコーダ30はマルチレイヤビデオデータを復号するように構成されてよい。マルチレイヤビデオデータは、ベースレイヤと1つまたは複数の非ベースレイヤとを含み得る。非ベースレイヤは、復号のために他のレイヤに従属する従属ベースレイヤと、復号のために他のレイヤに従属しないINBLの両方を含み得る。マルチレイヤビデオコーディングにおけるINBLの既存の実装形態には、いくつかの潜在的な問題がある。
【0067】
[0072]既存の実装形態についての潜在的な問題の1つの例として、0よりも大きなレイヤ識別子(たとえば、nuh_layer_id)を伴うレイヤは、そのレイヤがINBLであるかどうかとは無関係に、VPSにおいてシグナリングされる表現フォーマットを使用する。表現フォーマットは、幅、高さ、ビット深度、およびカラーフォーマットのようなパラメータを含む。1に等しいV1CompatibleSPSFlagまたは0に等しいnuh_layer_idを伴うSPSを参照するINBLが、たとえばJCTVC−R0010v3/JCT3V−I0010v3(http://phenix.int−evry.fr/jct/doc_end_user/documents/18_Sapporo/wg11/JCTVC−R0010−v3.zip)のAHG10成果テキストにおいて規定されるような、HEVCバージョン1に適合するベースレイヤとなるように書き換えられることになる場合、VPSからの使用される表現フォーマットがSPSにおいてシグナリングされる(パラメータのいずれに対する)表現フォーマットとも異なるとき、書換え処理は、表現フォーマットがVPSからの使用される表現フォーマットと同じとなるように、SPSを変更する必要がある。この要件は、SPS全体の書換えを必要とすることがあり、このことは、HEVCバージョン1に適合するベースレイヤへのINBLの書換え処理を極めて複雑にし得る。
【0068】
[0073]V1CompatibleSPSFlagが1に等しいとき、SPSは、HEVCバージョン1において規定されるSPSシンタックスに適合しており、HEVCバージョン1に従って実装されるレガシーのHEVCデコーダによって構文解析され得る。V1CompatibleSPSFlagが0に等しいとき、SPSは、HEVCバージョン1において規定されるSPSシンタックスに適合しておらず、HEVCバージョン1に従って実装されるレガシーのHEVCデコーダによって構文解析され得ない。
【0069】
[0074]本開示は、上で説明された問題に対処することができるいくつかの技法を紹介する。一例として、ビデオエンコーダ20は、VPSからの使用される表現フォーマットおよびINBLのためにSPSにおいてシグナリングされる表現フォーマットが同一となるように、マルチレイヤビデオを符号化するように構成され得る。加えて、または代替的に、INBLしか含まないビットストリーム区分に含まれるそのINBLに対して、指定される表現フォーマットは、有効SPSにおいてシグナリングされる表現フォーマットである。加えて、または代替的に、任意のINBLに対して、指定される表現フォーマットは、レイヤのための有効SPSにおいてシグナリングされる表現フォーマットであり得る。
【0070】
[0075]マルチレイヤビデオの既存の実装形態についての潜在的な問題の別の例として、SEIメッセージは、たとえばSEIメッセージがネストされるとき、複数のレイヤ、または、複数のレイヤを含む(出力)レイヤセットと関連付けられる(出力)動作点に適用されることがある。そのような事例では、複数の有効SPSおよび複数の有効PPSが存在することがある。たとえば、各レイヤに対して有効SPSおよび有効PPSが存在することがあり、このことは、いくつかのSEIメッセージがどのPPSまたはSPSに適用されるかを不明確にすることがある。
【0071】
[0076]たとえば、フラグ「general_progressive_source_flag」および「general_interlaced_source_flag」が、フレームフィールド情報SEIメッセージにおけるffinfo_source_scan_typeのセマンティクスにおいて参照される。これらの2つのフラグは、プロファイル、層、およびレベル(PTL:profile, tier and level)のシンタックス構造の中に位置し、このシンタックス構造は有効SPSの各々の中にあることがあり、フラグの複数のインスタンスはVPSの中にも存在することがある。したがって、フレームフィールド情報SEIメッセージが複数のレイヤに適用されるとき、2つのフラグを含むどのシンタックス構造が適用されるかが明確にされるべきである。フレームフィールド情報SEIメッセージにおいてffinfo_pic_structおよびffinfo_duplicate_flagのセマンティクスで使用されるSPSフラグ「field_seq_flag」について、同様の問題が存在する。
【0072】
[0077]上で説明された問題をより高い確率で解決するために、本開示は、フレームフィールド情報SEIメッセージが適用されるレイヤのためのすべての有効SPSに対してfield_seq_flagの値が同じであることを要求し得る、符号化の制約を導入する。加えて、または代替的に、本開示は、field_seq_flagの値がレイヤのためのすべてのアクティブSPSに対して同じではない場合に、レイヤのセットに適用されるフレームフィールド情報SEIメッセージが存在しないことを要求し得る、符号化の制約を導入する。HEVCでは、1に等しいfield_seq_flagは、フィールドを表すピクチャをCVSが伝えることを示し、ピクチャタイミングSEIメッセージが現在のCVSの各アクセスユニット中に存在すべきであることを規定する。HEVCでは、0に等しいfield_seq_flagは、フレームを表すピクチャをCVSが伝えることと、ピクチャタイミングSEIメッセージが現在のCVSの任意のアクセスユニット中に存在することもまたはしないこともあることとを示す。
【0073】
[0078]同様に、フラグ「general_progressive_source_flag」および「general_interlaced_source_flag」に対して、本開示はそれぞれ、フレームフィールド情報SEIメッセージが適用されるレイヤを含むビットストリーム区分に適用されるすべてのPTLシンタックス構造に対して、フラグが同一であることを要求し得る符号化の制約を導入する。HEVCによれば、general_progressive_source_flagおよびgeneral_interlaced_source_flagは、次のように解釈される。
− general_progressive_source_flagが1に等しく、general_interlaced_source_flagが0に等しい場合、CVSにおけるピクチャのソーススキャンタイプは、プログレッシブのみであると解釈されるべきである。
− そうではなく、general_progressive_source_flagが0に等しく、general_interlaced_source_flagが1に等しい場合、CVSにおけるピクチャのソーススキャンタイプは、インターレースのみであると解釈されるべきである。
− そうではなく、general_progressive_source_flagが0に等しく、general_interlaced_source_flagが0に等しい場合、CVSにおけるピクチャのソーススキャンタイプは、未知または未指定であると解釈されるべきである。
【0074】
[0079]それ以外の場合(general_progressive_source_flagが1に等しく、general_interlaced_source_flagが1に等しい)、CVSの中の各ピクチャのソーススキャンタイプは、ピクチャタイミングSEIメッセージにおいてシンタックス要素source_scan_typeを使用してピクチャレベルで示される。そのような制約は、他のSEIメッセージのシンタックス要素にも適用され得る。複数のレイヤまたは複数の(出力)レイヤセットに適用される任意のSEIメッセージseiAに対して、seiAの一部ではない任意のシンタックス要素の複数のインスタンスがseiAの一部である任意のシンタックス要素のセマンティクスに関与するとき、seiAの一部ではないシンタックス要素の値はすべてのインスタンスに対して同じであることが要求される。したがって、ビデオエンコーダ20が、SEIメッセージがマルチレイヤビデオデータの2つ以上のレイヤに適用されることを決定し、マルチレイヤビデオデータの2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素をSEIメッセージが参照することを決定する場合、ビデオエンコーダ20は、複数のインスタンスのすべてを同じ値に設定する。シンタックス要素は、field_seq_flagシンタックス要素、general_progressive_source_flagシンタックス要素、general_interlaced_source_flagシンタックス要素、または本明細書で説明される任意の他のそのようなシンタックス要素のいずれであってもよい。
【0075】
[0080]上で紹介されたように、本開示はまた、AUD NALユニットに関するいくつかの技法も紹介し、AUD NALユニットは、現在のように実装されると、マルチレイヤビデオとともに使用されるときにいくつかの潜在的な欠点を有する。AUD NALユニットにおけるシンタックス要素「pic_type」のセマンティクスは、マルチレイヤビットストリームのようなマルチレイヤの状況では明確ではないことがある。マルチレイヤの状況におけるアクセスユニットは、1つまたは複数のコーディングされたピクチャを含み得るが、pic_typeのセマンティクスは、「コーディングされたピクチャ」の中に存在するスライスのタイプを示すためにpic_typeが使用され得ることを示している。したがって、アクセスユニットの中に1つのピクチャよりもモエが存在する可能性がある、マルチレイヤビデオの状況では、現在のセマンティクスは不明確である。
【0076】
[0081]この潜在的な欠点に対処するために、本開示は、AUD NALユニットのセマンティクスを次のように変更することを提案する。アクセスユニットデリミタのRBSPのセマンティクスが次のように変更される(下線付きのテキストが追加され、[[ブラックトテキスト]]が削除される)。
アクセスユニットデリミタは、[[a]]アクセスユニットデリミタNALユニットを含むアクセスユニット中のすべてのコーディングされたピクチャの中に存在するスライスのタイプを示し、アクセスユニットの境界の検出を簡単にするために使用され得る。アクセスユニットデリミタと関連付けられる規範的な復号処理はない。
pic_typeは、アクセスユニットデリミタNALユニットを含むアクセスユニット中のコーディングされたピクチャのすべてのスライスに対するslice_typeの値がpic_typeの所与の値に対して表7−2において列挙されるセットの一員であることを示す。pic_typeの値は、本規格のこのバージョンに適合するビットストリームにおいては0、1、または2に等しいものとする。pic_typeの他の値は、ITU−T|ISO/IECによる将来の使用のために確保されている。本規格のこのバージョンに適合するデコーダは、pic_typeの確保されている値を無視するものとする。pic_typeの値は、本規格のこのバージョンに適合するビットストリームにおいては0、1、または2に等しいものとする。pic_typeの他の値は、ITU−T|ISO/IECによる将来の使用のために確保されている。本規格のこのバージョンに適合するデコーダは、pic_typeの確保されている値を無視するものとする。
【0077】
【表2】
【0078】
[0082]代替的に、pic_typeのセマンティクスは、pic_typeの値が、アクセスユニットデリミタNALユニットのnuh_layer_idに等しいnuh_layer_idを伴うアクセスユニット中のコーディングされたピクチャのすべてのスライスに対するslice_typeの値がpic_typeの所与の値に対して表7−2において列挙されるセットの一員であることを示すように、修正され得る。
【0079】
[0083]マルチレイヤビデオコーディングの既存の実装形態には、0以外の数に等しいnuh_layer_idを伴うAUD NALユニットを処理することに関するいくつかの潜在的な問題もある。たとえば、HEVCバージョン1の規格には、次の制約がある。
アクセスユニットデリミタNALユニットが存在するとき、それは第1のNALユニットであるものとする。どのアクセスユニット中にも多くとも1つのアクセスユニットデリミタNALユニットがあるものとする。
【0080】
[0084]この制約は、HEVCバージョン1の規格に当てはまる。しかしながら、マルチレイヤビットストリームが0よりも大きなnuh_layer_idを伴うAUD NALユニットを含むとき、そのようなAUD NALユニットは、バージョン1のデコーダにより、新たなアクセスユニットの始点であると見なされるべきではない。そうしないと、デコーダは、0よりも大きなnuh_layer_idを有するいずれのNALユニットも認識せず、そのようなマルチレイヤビットストリームのベースレイヤが別様に復号可能であり得るとしても、そのビットストリームを適合しないものとして見なすので、空のアクセスユニットを見ることになる。
【0081】
[0085]本開示の技法によれば、AUD NALユニットの制約は次のように修正され得る(下線付きのテキストが追加されている)。
0に等しいnuh_layer_idを伴うアクセスユニットデリミタNALユニットが存在するとき、それは第1のNALユニットであるものとする。どのアクセスユニット中にも0に等しいnuh_layer_idを伴う多くとも1つのアクセスユニットデリミタNALユニットがあるものとする。
【0082】
[0086]代替的に、この制約は次のように修正される。
【0083】
[0087]0に等しいnuh_layer_idを伴うアクセスユニットデリミタNALユニットが存在するとき、それは第1のNALユニットであるものとする。どのアクセスユニット中にも多くとも1つのアクセスユニットデリミタNALユニットがあるものとする。したがって、本開示の技法によれば、ビデオエンコーダ20は、第1のアクセスユニットに対して、0に等しいレイヤ識別子の値(たとえば、nuh_layer_id)の値を有する第1のAUD NALユニットを生成し、第1のアクセスユニットに対して、0よりも大きなレイヤ識別子を有する後続のAUD NALユニットを生成することができる。ビデオデコーダ30は、第1のアクセスユニットに対して、0に等しいレイヤ識別子を伴う第1のAUD NALユニットを受信することができ、第1のアクセスユニットに対して、0よりも大きなレイヤ識別子を有する後続のAUD NALユニットを受信することができる。第1のアクセスユニットにおいて、第2のAUD NALユニットは、第1のAUD NALユニットおよび少なくとも1つのVCL NALユニットに後続する。
【0084】
[0088]図2は、本開示で説明される技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。図2は、説明のために与えられており、本開示で広く例示され説明される技法を限定するものと見なされるべきではない。説明のために、本開示は、HEVCコーディングの状況においてビデオエンコーダ20を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。
【0085】
[0089]ビデオエンコーダ20は、本開示で説明される技法を実装し得る別の例示的なデバイスである後処理エンティティ27にビデオを出力するように構成され得る。後処理エンティティ27は、メディア認識ネットワーク要素(MANE)、分割/編集デバイスまたは他の中間デバイスのような、ビデオエンコーダ20からの符号化されたビデオデータを処理し得るビデオエンティティの例を表すものとする。いくつかの事例では、後処理エンティティ27はネットワークエンティティの例であってよい。いくつかのビデオ符号化システムでは、後処理エンティティ27およびビデオエンコーダ20は別個のデバイスの部分であってよく、他の事例では、後処理エンティティ27に関して説明される機能は、ビデオエンコーダ20を備える同じデバイスによって実行されてよい。
【0086】
[0090]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双予測(Bモード)のようなインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【0087】
[0091]図2の例では、ビデオエンコーダ20は、ビデオデータメモリ33と、区分ユニット35と、予測処理ユニット41と、フィルタユニット63と、復号ピクチャバッファ(DPB)64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測処理ユニット46とを含む。ビデオブロックの再構築のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタのような、1つまたは複数のループフィルタを表すことが意図されている。図2では、フィルタユニット63はループ内フィルタであるものとして示されているが、他の構成では、フィルタユニット63はループ後フィルタとして実装され得る。
【0088】
[0092]図2に示されるように、ビデオエンコーダ20はビデオデータを受信し、受信されたビデオデータをビデオデータメモリ33に記憶する。ビデオデータメモリ33は、ビデオエンコーダ20のコンポーネントによって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ33に記憶されたビデオデータは、たとえば、ビデオソース18から取得され得る。DPB64は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ20によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ33およびDPB64は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスのような、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ33およびDPB64は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ33は、ビデオエンコーダ20の他のコンポーネントとともにオンチップであるか、またはそれらのコンポーネントに対してオフチップであり得る。
【0089】
[0093]区分ユニット35は、ビデオデータメモリ33からビデオデータを取り出し、ビデオデータをビデオブロックに区分する。この区分は、たとえば、LCUおよびCUの4分木構造に従って、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロックの区分も含み得る。ビデオエンコーダ20は一般に、符号化されるべきビデオスライス内のビデオブロックを符号化するコンポーネントを示す。スライスは、複数のビデオブロック(場合によってはタイルと呼ばれるビデオブロックのセット)に分割され得る。予測処理ユニット41は、誤差結果(たとえばコーディングレートおよびひずみレベル)に基づいて現在のビデオブロックについて、複数のイントラコーディングモードの1つ、または複数のインターコーディングモードの1つのような、複数の可能なコーディングモードの1つを選択し得る。予測処理ユニット41は、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを、残差ブロックデータを生成するために加算器50に与え、参照ピクチャとして使用するための符号化されたブロックを再構築するために加算器62に与え得る。
【0090】
[0094]予測処理ユニット41内のイントラ予測処理ユニット46は、空間的圧縮を行うために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して現在のビデオブロックのイントラ予測コーディングを実行することができる。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間的圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対して現在のビデオブロックのインター予測コーディングを実行する。
【0091】
[0095]動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをPスライスまたはBスライスとして指定することができる。動き推定ユニット42および動き補償ユニット44は、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成する処理である。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
【0092】
[0096]予測ブロックは、絶対値差分和(SAD)、差分2乗和(SSD)、または他の差分の尺度によって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUに厳密に一致することが判明しているブロックである。いくつかの例では、ビデオエンコーダ20は、DPB64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【0093】
[0097]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されてよく、それらの参照ピクチャリストの各々は、DPB64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
【0094】
[0098]動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストの1つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマとクロマの両方の差分成分を含み得る。加算器50は、この減算演算を実行する1つまたは複数のコンポーネントを表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックおよびビデオスライスと関連付けられるシンタックス要素を生成し得る。
【0095】
[0099]イントラ予測処理ユニット46は、上で説明されたように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測処理ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別個の符号化パスの間に、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測処理ユニット46(または、いくつかの例では、モード選択ユニット40)は、試験されたモードから使用するのに適切なイントラ予測モードを選択することができる。たとえば、イントラ予測処理ユニット46は、様々な試験されたイントラ予測モードに対するレートひずみ分析を使用してレートひずみ値を計算し、試験されたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、一般に、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化されたブロックを生成するために使用されたビットレート(すなわち、ビットの数)を決定する。イントラ予測処理ユニット46は、符号化された様々なブロックのひずみおよびレートから比を計算し、どのイントラ予測モードがブロックの最良のレートひずみ値を示すかを決定し得る。
【0096】
[0100]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に与え得る。エントロピー符号化ユニット56は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを、送信されるビットストリームに含め得る。
【0097】
[0101]予測処理ユニット41が、インター予測またはイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域からの周波数領域などの変換領域に変換し得る。
【0098】
[0102]変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化処理は、係数の一部またはすべてと関連付けられるビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は次いで、量子化された変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が、走査を実行し得る。
【0099】
[0103]量子化の後、エントロピー符号化ユニット56は、量子化された変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法もしくは技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後に、符号化されたビットストリームは、ビデオデコーダ30に送信され、またはビデオデコーダ30による後の送信または取り出しのためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コーディングされている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化することができる。
【0100】
[0104]逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構築する。動き補償ユニット44は、残差ブロックを参照ピクチャリストの1つの中の参照ピクチャの1つの予測ブロックに加算することによって参照ブロックを計算することができる。動き補償ユニット44はまた、再構築された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算し得る。加算器62は、再構築された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、DPB64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
【0101】
[0105]本開示の態様によれば、ビデオエンコーダ20は、マルチレイヤビデオデータの2つ以上のレイヤに補足強化情報(SEI)メッセージが適用されることを決定し、マルチレイヤビデオデータの2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素をSEIメッセージが参照することを決定するように構成され得る。そのような事例では、ビデオエンコーダ20は、複数のインスタンスのすべてを同じ値に設定することができる。
【0102】
[0106]本開示の態様によれば、ビデオエンコーダ20はまた、アクセスユニットの第1のピクチャに対する第1のVCL NALユニットを生成するように構成され得る。第1のVCL NALユニットは、第1のスライスタイプを含む。ビデオエンコーダ20は、アクセスユニットの第2のピクチャに対する第2のVCL NALユニットを生成することができる。第2のVCL NALユニットは、第2のスライスタイプを含む。ビデオエンコーダ20は、第1のスライスタイプおよび第2のスライスタイプに基づいて、AUD NALユニットを生成することができる。
【0103】
[0107]図3は、本開示で説明される技法を実装し得る例示的なビデオデコーダ30を示すブロック図である。図3は、説明のために与えられており、本開示で広く例示され説明される技法に対する限定ではない。説明のために、本開示は、HEVCコーディングの状況においてビデオデコーダ30を説明する。しかしながら、本開示の技法は、他のコーディング規格またはコーディング方法に適用可能であり得る。
【0104】
[0108]図3の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換処理ユニット88と、加算器90と、フィルタユニット91と、参照ピクチャメモリ92とを含む。予測処理ユニット81は、動き補償ユニット82と、イントラ予測処理ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図2からのビデオエンコーダ20に関して説明された符号化パスとは全般に逆の復号パスを実行し得る。
【0105】
[0109]復号処理の間、ビデオデコーダ30は、符号化されたビデオスライスのビデオブロックと、関連するシンタックス要素とを表す、符号化されたビデオビットストリームをビデオエンコーダ20から受信する。ビデオデコーダ30は、ネットワークエンティティ78から符号化されたビデオビットストリームを受信し得る。ネットワークエンティティ78は、たとえば、上で説明された技法の1つまたは複数を実装するように構成されたサーバ、MANE、ビデオエディタ/スプライサ、または他のそのようなデバイスであり得る。ネットワークエンティティ78は、ビデオエンコーダ20のようなビデオエンコーダを含んでもよく、または含まなくてもよい。本開示で説明される技法のいくつかは、ネットワークエンティティ78が符号化されたビデオビットストリームをビデオデコーダ30に送信するよりも前に、ネットワークエンティティ78によって実施され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ78およびビデオデコーダ30は別個のデバイスの一部であり得るが、他の事例では、ネットワークエンティティ78に関して説明される機能は、ビデオデコーダ30を備える同じデバイスによって実行され得る。
【0106】
[0110]復号処理の間、ビデオデコーダ30は、符号化されたビデオスライスのビデオブロックと、関連するシンタックス要素とを表す、符号化されたビデオビットストリームをビデオエンコーダ20から受信する。ビデオデコーダ30は、受信された符号化されたビデオビットストリームをビデオデータメモリ79に記憶する。ビデオデータメモリ79は、ビデオデコーダ30のコンポーネントによって復号されるべき符号化されたビデオビットストリームのようなビデオデータを記憶し得る。ビデオデータメモリ79に記憶されたビデオデータは、たとえば、リンク16を介して、記憶デバイス26から、または、カメラのようなローカルビデオソースから、または、物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ79は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコーディングピクチャバッファ(CPB)を形成し得る。DPB94は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ79およびDPB94は、DRAM、SDRAM、MRAM、RRAM、または他のタイプのメモリデバイスのような、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ79およびDPB94は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ79は、ビデオデコーダ30の他のコンポーネントとともにオンチップであるか、またはそれらのコンポーネントに対してオフチップであり得る。
【0107】
[0111]ビデオデコーダ30のエントロピー復号ユニット80は、量子化された係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビデオデータメモリ79に記憶されているビデオデータを復号する。エントロピー復号ユニット80は、動きベクトルと他のシンタックス要素とを予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信することができる。
【0108】
[0112]ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされるとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコーディングされる(すなわち、BまたはP)スライスとしてコーディングされるとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の、参照ピクチャの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、すなわち、リスト0とリスト1とを構築することができる。
【0109】
[0113]動き補償ユニット82は、動きベクトルと他のシンタックス要素とを構文解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)と、スライスの参照ピクチャリストの1つまたは複数のための構築情報と、スライスの各々のインター符号化されたビデオブロックのための動きベクトルと、スライスの各々のインターコーディングされたビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【0110】
[0114]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、ビデオブロックの符号化の間にビデオエンコーダ20によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間された値を計算し得る。この場合、動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用される補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【0111】
[0115]逆量子化ユニット86は、ビットストリーム中で与えられ、エントロピー復号ユニット80によって復号された量子化された変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化処理は、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ20によって計算される量子化パラメータの使用を含み得る。逆変換ユニット88は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換処理を変換係数に適用する。
【0112】
[0116]動き補償ユニット82が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数のコンポーネントを表す。所望される場合、ピクセル移行を平滑化するために、または別様にビデオ品質を向上させるために、(コーディングループの中とコーディングループの後のいずれかの)ループフィルタも使用され得る。
【0113】
[0117]フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタのような、1つまたは複数のループフィルタを表すことが意図されている。図3では、フィルタユニット91はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット91はループ後フィルタとして実装され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、後続の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照ピクチャメモリ92はまた、図1のディスプレイデバイス31のようなディスプレイデバイス上での後の表示のために、復号されたビデオを記憶する。
【0114】
[0118]本開示の態様によれば、ビデオデコーダ30は、非INBL)とINBLとを含む複数のレイヤを備えるコーディングされたビデオデータを受信するように構成され得る。ビデオデコーダ30は、第1の表現フォーマットパラメータを含むコーディングされたビデオデータと関連付けられるVPSを受信し、第2の表現フォーマットパラメータを含むINBLと関連付けられるSPSを受信することができる。ビデオデコーダ30は、第1の表現フォーマットパラメータに基づいて非INBLを復号し、第2の表現フォーマットパラメータに基づいてINBLを復号することができる。
【0115】
[0119]図4は、ネットワーク120の一部を形成するデバイスの例示的なセットを示すブロック図である。この例では、ネットワーク120は、ルーティングデバイス124A、124B(ルーティングデバイス124)と、トランスコーディングデバイス126とを含む。ルーティングデバイス124およびトランスコーディングデバイス126は、ネットワーク120の一部を形成し得る少数のデバイスを表すことが意図される。スイッチ、ハブ、ゲートウェイ、ファイアウォール、ブリッジ、および他のそのようなデバイスのような、他のネットワークデバイスも、ネットワーク120に含まれ得る。その上、サーバデバイス122とクライアントデバイス128との間のネットワーク経路に沿って追加のネットワークデバイスが設けられ得る。いくつかの例では、サーバデバイス122はソースデバイス12(図1)に対応し得るが、クライアントデバイス128は宛先デバイス14(図1)に対応し得る。
【0116】
[0120]一般に、ルーティングデバイス124は、ネットワーク120を通じてネットワークデータを交換するための1つまたは複数のルーティングプロトコルを実装する。いくつかの例では、ルーティングデバイス124は、プロキシまたはキャッシュ動作を実行するように構成され得る。したがって、いくつかの例では、ルーティングデバイス124はプロキシデバイスと呼ばれることがある。一般に、ルーティングデバイス124は、ネットワーク120を通じたルートを発見するためにルーティングプロトコルを実行する。そのようなルーティングプロトコルを実行することによって、ルーティングデバイス124Bは、それ自体からサーバデバイス122へのルーティングデバイス124Aを介したネットワークルートを発見し得る。ルーティングデバイス124の1つまたは複数は、本開示の1つまたは複数の態様を使用するMANEを備え得る。
【0117】
[0121]たとえば、MANEは、非INBLとINBLとを含む複数のレイヤを含むコーディングされたビデオデータを受信するように構成され得る。MANEは、第1の表現フォーマットパラメータを含むコーディングされたビデオデータと関連付けられるVPSを受信することができる。MANEは、第2の表現フォーマットパラメータを含むINBLと関連付けられるSPSを受信することができる。MANEは、第1の表現フォーマットパラメータに基づいて非INBLを処理し、第2の表現フォーマットパラメータに基づいてINBLを処理することができる。第2の表現フォーマットパラメータコンプライズイズに基づいてINBLを処理することの一部として、MANEは、第2の表現フォーマットパラメータに基づいて、INBLをベースレイヤとなるように書き換えることができる。書換え処理の一部として、MANEは、INBLを、たとえばHEVCバージョン1に適合するベースレイヤへと、トランスコーディング(または変換)する。MANEは、INBLを入力として受信し、HEVCバージョン1のデコーダに出力を送信する。
【0118】
[0122]本開示の技法は、ルーティングデバイス124およびトランスコーディングデバイス126のようなネットワークデバイスによって実施され得るが、クライアントデバイス128によっても実施され得る。このように、ルーティングデバイス124、トランスコーディングデバイス126、およびクライアントデバイス128は、本開示の技法を実行するように構成されるデバイスの例を表す。その上、図1のデバイス、ならびに図2に示されるビデオエンコーダ20および図3に示されるビデオデコーダ30も、本開示の技法を実行するように構成され得る例示的なデバイスである。
【0119】
[0123]図5は、本開示の技法による、マルチレイヤビデオデータを処理する方法を示すフローチャートである。図5の技法は、一般的なビデオ処理デバイスに関して説明される。ビデオ処理デバイスは、たとえば、後処理エンティティ27、ネットワークエンティティ78、ビデオデコーダ30、ルーティングデバイス124、またはトランスコーディングデバイス126のような、ビデオ処理デバイスに対応し得る。ビデオ処理デバイスは、非INBLとINBLとを含むコーディングされたビデオデータを受信する(140)。ビデオ処理デバイスは、コーディングされたビデオデータのために、第1の表現フォーマットパラメータを含むVPSを受信する(142)。ビデオ処理デバイスは、第2の表現フォーマットパラメータを含むINBLと関連付けられるSPSを受信する(144)。ビデオ処理デバイスは、第1の表現フォーマットパラメータに基づいて非INBLを処理し(146)、第2の表現フォーマットパラメータに基づいてINBLを処理する(148)。第1の表現フォーマットパラメータのうちの表現フォーマットパラメータの少なくとも1つの値は、第2の表現フォーマットパラメータのうちの表現フォーマットパラメータの少なくとも1つの値と異なり得る。
【0120】
[0124]ビデオ処理デバイスがMANEである場合、ビデオ処理デバイスは、第2の表現フォーマットパラメータに基づいてINBLをベースレイヤとなるように書き換えることによって、第2の表現フォーマットパラメータに基づいてINBLを処理することができる。INBLは、0よりも大きなレイヤ識別情報(たとえば、nuh_layer_id)を有することがあり、INBLを書き換えることの一部として、ビデオ処理デバイスは、INBLのレイヤ識別情報を0に設定することができるので、0に等しいレイヤ識別情報を伴うベースレイヤを作成する。INBLから書き換えられたベースレイヤは、マルチレイヤビデオをサポートしないHEVCバージョン1のデコーダによって復号可能であり得る。
【0121】
[0125]ビデオ処理デバイスがビデオデコーダである場合、ビデオ処理デバイスは、INBLを復号することによって、第2の表現フォーマットパラメータに基づいてINBLをプロセシングすることができる。INBLを復号した後で、ビデオデコーダは、INBLおよび非INBLに基づいて、復号されたビデオを出力または表示することができる。
【0122】
[0126]図6は、本開示の技法による、マルチレイヤビデオデータを符号化する方法を示すフローチャートである。図6の技法は、ビデオエンコーダ20に関して説明される。ビデオエンコーダ20は、マルチレイヤビデオデータの2つ以上のレイヤにSEIメッセージが適用されることを決定する(150)。ビデオエンコーダ20は、マルチレイヤビデオデータの2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素をSEIメッセージが参照することを決定する(152)。マルチレイヤビデオデータの2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素をSEIメッセージが参照することに応答して、ビデオエンコーダ20は、複数のインスタンスのすべてを同じ値に設定する(154)。シンタックス要素の複数のインスタンスは、マルチレイヤビデオデータの第1のレイヤと関連付けられる第1のシーケンスパラメータセット中のシンタックス要素の第1のインスタンスと、マルチレイヤビデオデータの第2のレイヤと関連付けられる第2のシーケンスパラメータセット中のシンタックス要素の第2のインスタンスとを含み得る。シンタックス要素は、field_seq_flagシンタックス要素、general_progressive_source_flagシンタックス要素、またはgeneral_interlaced_source_flagシンタックス要素のいずれであってもよい。
【0123】
[0127]図7は、本開示の技法による、マルチレイヤビデオデータを符号化する方法を示すフローチャートである。図7の技法は、ビデオエンコーダ20に関して説明される。ビデオエンコーダ20は、アクセスユニットの第1のピクチャに対する第1のVCL NALユニットを生成する(160)。第1のVCL NALユニットは、第1のスライスタイプを含む。ビデオエンコーダ20は、アクセスユニットの第2のピクチャに対する第2のVCL NALユニットを生成する(162)。第2のVCL NALユニットは、第2のスライスタイプを含む。ビデオエンコーダ20は、第1のスライスタイプおよび第2のスライスタイプに基づいて、AUD NALユニットを生成する(164)。
【0124】
[0128]ビデオエンコーダ20は、第1のスライスタイプと第2のスライスタイプの両方をアクセスユニットが含むことを示すピクチャタイプシンタックス要素をAUD NALユニットにおいて示すことによって、AUD NALユニットを生成することができる。第1のAUD NALユニットは、アクセスユニットと先行するアクセスユニットとの境界を特定するために使用され得る。AUD NALユニットは、加えて、または代替的に、アクセスユニット中のすべてのピクチャに対するピクチャタイプを示すために使用され得る。第1のスライスタイプおよび第2のスライスタイプは、Iスライス、Pスライス、およびBスライスからなる群から選択されてよく、または、第1のスライスタイプおよび第2のスライスタイプは、IスライスおよびPスライスからなる群から選択されてよい。
【0125】
[0129]図8は、本開示の技法による、マルチレイヤビデオデータを符号化する方法を示すフローチャートである。図8の技法は、ビデオデコーダ30に関して説明される。ビデオデコーダ30は、第1のアクセスユニットに対する第1のAUD NALユニットを受信する(170)。第1のAUD NALユニットのためのレイヤ識別子は0に等しい。ビデオデコーダ30は、第1のアクセスユニットに対する第2のAUD NALユニットを受信する(172)。第2のAUD NALユニットのためのレイヤ識別子は0よりも大きい。ビデオデコーダ30は、第1のアクセスユニットを復号する(174)。
【0126】
[0130]第1のアクセスユニット中の第2のAUD NALユニットは、復号順序において、第1のAUD NALユニットと、第1のアクセスユニット中の少なくとも1つのビデオコーディングレイヤ(VCL)NALユニットとに後続し得る。第1のAUD NALユニットは、復号順序において、第1のアクセスユニット中で最初のNALユニットであり得る。第1のAUD NALユニットは、第1のアクセスユニットと先行するアクセスユニットとの境界を特定することができる。いくつかの例では、第1のAUD NALユニット以外の、第1のアクセスユニット中の他のAUD NALユニットは、0に等しいレイヤ識別子を有しないことがある。
【0127】
[0131]1つまたは複数の例では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読記憶媒体または(2)信号または搬送波などの通信媒体に相当し得る。データ記憶媒体は、本開示で説明される技法の実装のために命令、コードおよび/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【0128】
[0132]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、フラッシュメモリ、または、命令またはデータ構造の形式で所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他のリモートソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
【0129】
[0133]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路のような、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上述の構造または本明細書で説明された技法の実装に好適な任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用のハードウェアおよび/もしくはソフトウェアモジュール内で与えられ、または複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素において完全に実装され得る。
【0130】
[0134]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされてよく、または相互動作するハードウェアユニットの集合によって与えられてよい。
【0131】
[0135]様々な例が説明されてきた。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
マルチレイヤビデオデータを符号化する方法であって、
補足強化情報(SEI)メッセージが前記マルチレイヤビデオデータの2つ以上のレイヤに適用されると決定することと、
前記マルチレイヤビデオデータの前記2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素を前記SEIメッセージが参照すると決定することと、
前記複数のインスタンスのすべてを同じ値に設定することとを備える、方法。
[C2]
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスがフレームまたはフィールドを含むかどうかを示す、C1に記載の方法。
[C3]
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスに対するソーススキャンタイプを示す、C1に記載の方法。
[C4]
前記シンタックス要素がfield_seq_flagシンタックス要素を備える、C1に記載の方法。
[C5]
前記シンタックス要素がgeneral_progressive_source_flagシンタックス要素を備える、C1に記載の方法。
[C6]
前記シンタックス要素がgeneral_interlaced_source_flagシンタックス要素を備える、C1に記載の方法。
[C7]
前記シンタックス要素の前記複数のインスタンスが、前記マルチレイヤビデオデータの第1のレイヤと関連付けられる第1のシーケンスパラメータセット中の前記シンタックス要素の第1のインスタンスと、前記マルチレイヤビデオデータの第2のレイヤと関連付けられる第2のシーケンスパラメータセット中の前記シンタックス要素の第2のインスタンスとを備える、C1に記載の方法。
[C8]
ワイヤレス通信デバイス上で実行可能であり、前記ワイヤレス通信デバイスが、
前記マルチレイヤビデオデータを記憶するように構成されるメモリと、
前記メモリに記憶されている前記マルチレイヤビデオデータを処理するための命令を実行するように構成される1つまたは複数のプロセッサと、
前記マルチレイヤビデオデータを送信するように構成される送信機とを備える、C1に記載の方法。
[C9]
前記ワイヤレス通信デバイスがモバイルネットワークデバイスであり、前記送信機が、セルラー通信規格に従って変調されたデータとして前記マルチレイヤビデオデータを送信するように構成される、C8に記載の方法。
[C10]
ビデオデータを符号化するためのデバイスであって、
ビデオデータのマルチレイヤビットストリームの少なくとも一部分を記憶するように構成されるメモリと、
1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
補足強化情報(SEI)メッセージが前記マルチレイヤビデオデータの2つ以上のレイヤに適用されると決定し、
前記マルチレイヤビデオデータの前記2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素を前記SEIメッセージが参照すると決定し、
前記複数のインスタンスのすべてを同じ値に設定する
ように構成される、デバイス。
[C11]
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスがフレームまたはフィールドを含むかどうかを示す、C10に記載のデバイス。
[C12]
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスに対するソーススキャンタイプを示す、C10に記載のデバイス。
[C13]
前記シンタックス要素がfield_seq_flagシンタックス要素を備える、C10に記載のデバイス。
[C14]
前記シンタックス要素がgeneral_progressive_source_flagシンタックス要素を備える、C10に記載のデバイス。
[C15]
前記シンタックス要素がgeneral_interlaced_source_flagシンタックス要素を備える、C10に記載のデバイス。
[C16]
前記シンタックス要素の前記複数のインスタンスが、前記マルチレイヤビデオデータの第1のレイヤと関連付けられる第1のシーケンスパラメータセット中の前記シンタックス要素の第1のインスタンスと、前記マルチレイヤビデオデータの第2のレイヤと関連付けられる第2のシーケンスパラメータセット中の前記シンタックス要素の第2のインスタンスとを備える、C10に記載のデバイス。
[C17]
ワイヤレス通信デバイスであり、
前記マルチレイヤビデオデータを送信するように構成される送信機をさらに備える、C10に記載のデバイス。
[C18]
前記ワイヤレス通信デバイスがモバイルネットワークデバイスを備え、前記送信機が、セルラー通信規格に従って変調されたデータとして前記マルチレイヤビデオデータを送信するように構成される、C17に記載のデバイス。
[C19]
マルチレイヤビデオデータを符号化するための装置であって、
補足強化情報(SEI)メッセージが前記マルチレイヤビデオデータの2つ以上のレイヤに適用されると決定するための手段と、
前記マルチレイヤビデオデータの前記2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素を前記SEIメッセージが参照すると決定するための手段と、
前記複数のインスタンスのすべてを同じ値に設定するための手段とを備える、装置。
[C20]
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスがフレームまたはフィールドを含むかどうかを示す、C19に記載の装置。
[C21]
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスに対するソーススキャンタイプを示す、C19に記載の装置。
[C22]
前記シンタックス要素がfield_seq_flagシンタックス要素を備える、C19に記載の装置。
[C23]
前記シンタックス要素の前記複数のインスタンスが、前記マルチレイヤビデオデータの第1のレイヤと関連付けられる第1のシーケンスパラメータセット中の前記シンタックス要素の第1のインスタンスと、前記マルチレイヤビデオデータの第2のレイヤと関連付けられる第2のシーケンスパラメータセット中の前記シンタックス要素の第2のインスタンスとを備える、C19に記載の装置。
[C24]
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
補足強化情報(SEI)メッセージが前記マルチレイヤビデオデータの2つ以上のレイヤに適用されると決定させ、
前記マルチレイヤビデオデータの前記2つ以上のレイヤと関連付けられる複数のインスタンスを有するシンタックス要素を前記SEIメッセージが参照すると決定させ、
前記複数のインスタンスのすべてを同じ値に設定させる命令を記憶した、コンピュータ可読記憶媒体。
[C25]
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスがフレームまたはフィールドを含むかどうかを示す、C24に記載のコンピュータ可読記憶媒体。
[C26]
前記シンタックス要素の値が、前記マルチレイヤビデオデータのコーディングされたビデオシーケンスに対するソーススキャンタイプを示す、C24に記載のコンピュータ可読記憶媒体。
[C27]
前記シンタックス要素がfield_seq_flagシンタックス要素を備える、C24に記載のコンピュータ可読記憶媒体。
[C28]
前記シンタックス要素がgeneral_progressive_source_flagシンタックス要素を備える、C24に記載のコンピュータ可読記憶媒体。
[C29]
前記シンタックス要素がgeneral_interlaced_source_flagシンタックス要素を備える、C24に記載のコンピュータ可読記憶媒体。
[C30]
前記シンタックス要素の前記複数のインスタンスが、前記マルチレイヤビデオデータの第1のレイヤと関連付けられる第1のシーケンスパラメータセット中の前記シンタックス要素の第1のインスタンスと、前記マルチレイヤビデオデータの第2のレイヤと関連付けられる第2のシーケンスパラメータセット中の前記シンタックス要素の第2のインスタンスとを備える、C24に記載のコンピュータ可読記憶媒体。
図1
図2
図3
図4
図5
図6
図7
図8