IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ジーイー ビデオ コンプレッション エルエルシーの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024028978
(43)【公開日】2024-03-05
(54)【発明の名称】拡張機構を使用している層IDの信号
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240227BHJP
   H04N 19/30 20140101ALI20240227BHJP
   H04N 19/597 20140101ALI20240227BHJP
【FI】
H04N19/70
H04N19/30
H04N19/597
【審査請求】有
【請求項の数】14
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023210738
(22)【出願日】2023-12-14
(62)【分割の表示】P 2021155011の分割
【原出願日】2014-07-15
(31)【優先権主張番号】61/846,479
(32)【優先日】2013-07-15
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】515089080
【氏名又は名称】ジーイー ビデオ コンプレッション エルエルシー
【住所又は居所原語表記】1 Research Circle,Niskayuna,NY 12309,USA
(74)【代理人】
【識別番号】100079577
【弁理士】
【氏名又は名称】岡田 全啓
(72)【発明者】
【氏名】ズューリング カルステン
(72)【発明者】
【氏名】シーアル トーマス
(72)【発明者】
【氏名】マルペ デトレフ
(72)【発明者】
【氏名】スクーピン ローベルト
(72)【発明者】
【氏名】サンチェス デ ラ フエンテ ヤーゴ
(72)【発明者】
【氏名】テヒ ゲルハルト
(57)【要約】      (修正有)
【課題】マルチレイヤビデオの層関係を信号で伝える効率的な方法を提供する。
【解決手段】層間予測を用いて符号化されたマルチレイヤデータストリームを処理する装置は、マルチレイヤデータストリームからベース層IDフィールド308を読み取り、第1副フィールド308aが予め決められた基準を満たすかを判定し、予め決められた基準を満たす場合、マルチレイヤデータストリームから拡張層IDフィールド316を読み取り、拡張層IDフィールドを使って、拡張値が拡張値領域の第1の副セットの中にあるようにして拡張値を導出し、予め決められた基準を満たさない場合、拡張層IDフィールドを読み取ることを控え、拡張値を拡張値領域の第1副セットと互いに素である値に設定する。第2副フィールド308bの可能な値の領域からクラスタ値領域にマッピングすることで導出されたクラスタ値と、拡張値を用いて、パケットが関連する層に索引を付与する。
【選択図】図21
【特許請求の範囲】
【請求項1】
レイヤ間予測を用いて、異なる情報量レベルに対応する異なる層でビデオ素材(202)が符号化されている、マルチレイヤデータストリーム(204)を処理するように構成された装置であって、前記マルチレイヤデータストリームはそれぞれが前記異なる層のうちの1つと関連する複数のパケット(206)を含み、前記装置は、
前記マルチレイヤデータストリームの前記パケット(206)のそれぞれについて、
前記マルチレイヤデータストリームから、第1副フィールド(308a)および第2副フィールド(308b)を含む、ベース層IDフィールド(308)を読み取り、
前記ベース層IDフィールドの前記第1副フィールド(308a)が、予め決められた基準を満たすかどうかについてチェック(314)し、
仮に、前記ベース層IDフィールドの前記第1副フィールドが、前記予め決められた基準を満たすならば、前記マルチレイヤデータストリームから拡張層IDフィールドを読み取り(318)、前記拡張層IDフィールドを使って、拡張値が拡張値領域の第1の副セットの中にあるようにして前記拡張値を導き出し(320)、そして、前記第2副フィールドの可能な値の領域からクラスタ値領域にマッピングすることによって、クラスタ値を前記第2副フィールドから導き出し(322)、
仮に、前記ベース層IDフィールドの前記第1副フィールドが、前記予め決められた基準を満たさないならば、前記マルチレイヤデータストリームから拡張層IDフィールドを読み取ることを控え、前記拡張値を前記拡張値領域の第1副セットと互いに素である値に設定し(326)、そして、前記第2副フィールドの可能な値の領域から前記クラスタ値領域にマッピングすることによって、前記第2副フィールドから前記クラスタ値を導き出し(328)、
前記クラスタ値と前記拡張値を使って、個々のパケットが関連する前記層に索引を付与する(324)ように構成されていること、
を特徴とする装置。
【請求項2】
別の層からレイヤ間予測された層が、更なるビュー、奥行き情報、アルファ混合情報、カラーコンポーネント情報、空間の解像度改良およびSNR解像度改良のうちの1つ以上を追加するように、前記マルチレイヤデータストリームがレイヤ間層予測を使用して異なる層に前記ビデオ素材を符号化されていること、を特徴とする請求項1に記載の装置。
【請求項3】
前記予め決められた基準を前記マルチレイヤデータストリームから読み取るように構成されていること、を特徴とする請求項1または請求項2に記載の装置。
【請求項4】
前記第1副フィールドは、前記ベース層IDフィールドの1ビットによって形成され、前記第2副フィールドは、前記1ビットを除く前記ベース層IDフィールドのビットによって形成されるように構成されていること、を特徴とする請求項1から請求項3のいずれかに記載の装置。
【請求項5】
前記拡張値の2進数の表現として前記拡張層IDフィールドを直接に採用することによって、前記拡張層IDフィールドを使って前記拡張値を導き出し、そして、前記第1副セットと互いに素である値に前記拡張値を設定するときに、前記拡張値を0と等しく設定するように構成されていること、を特徴とする請求項1から請求項4のいずれかに記載の装置。
【請求項6】
前記ベース層IDフィールドの前記第1副フィールドが、前記予め決められた基準を満たす場合、および前記ベース層IDフィールドの前記第1副フィールドが前記予め決められた基準を満たさない場合の双方において、前記第2副フィールドの可能な値の領域からクラスタ値領域へのマッピングを等しく実行するように構成されていること、を特徴とする請求項1から請求項5のいずれかに記載の装置。
【請求項7】
前記ベース層IDフィールドの前記第1副フィールドが、前記予め決められた基準を満たさない場合、および前記ベース層IDフィールドの前記第1副フィールドが前記予め決められた基準を満たす場合の双方において、前記クラスタ値の2進数の表現として前記ベース層IDフィールドを直接に採用することによって、前記第1副フィールドの可能な値の領域から前記クラスタ値領域へのマッピングを実行するように構成されていること、を特徴とする請求項1から請求項6のいずれかに記載の装置。
【請求項8】
前記クラスタ値と前記拡張値を連結することによって、個々のパケットが関連する前記層に索引を付与するように構成されていること、を特徴とする請求項1から請求項7のいずれかに記載の装置。
【請求項9】
層への索引の付与の、より重要な数字を設定するための前記クラスタ値、および、より重要でない数字を設定するための前記拡張値を用いることによって、個々の前記パケットが関連する層に索引を付与するように構成されていること、を特徴とする請求項1から請求項8のいずれかに記載の装置。
【請求項10】
復号化するために前記マルチレイヤデータストリームのパケットを前記索引の付与に基づいて選択するように構成されたビデオデコーダ、または、前記索引の付与および外部ファクターに基づいて前記マルチレイヤデータストリームのパケットを除去するように構成されたネットワーク要素であること、を特徴とする請求項1から請求項9のいずれかに記載の装置。
【請求項11】
レイヤ間予測を用いて、異なる情報量レベルに対応する異なる層でビデオ素材が符号化されている、マルチレイヤデータストリームを処理するための方法であって、前記マルチレイヤデータストリームはそれぞれが前記異なる層のうちの1つと関連する複数のパケットを含み、前記方法は、
前記マルチレイヤデータストリームの前記パケットのそれぞれについて、
前記マルチレイヤデータストリームから、第1副フィールドおよび第2副フィールドを含むベース層IDフィールドを読み取るステップと、
前記ベース層IDフィールドの前記第1副フィールドが、予め決められた基準を満たすかどうかについてチェックするステップと、
仮に、前記ベース層IDフィールドの前記第1副フィールドが、前記予め決められた基準を満たすならば、前記マルチレイヤデータストリームから拡張層IDフィールドを読み取り、前記拡張層IDフィールドを使って、拡張値が拡張値領域の第1の副セットの中にあるようにして前記拡張値を導き出し、そして、前記第2副フィールドの可能な値の領域から前記クラスタ値領域にマッピングすることによって、前記第2副フィールドからクラスタ値を導き出すステップと、
仮に、前記ベース層IDフィールドの前記第1副フィールドが、前記予め決められた基準を満たさないならば、前記マルチレイヤデータストリームから拡張層IDフィールドを読み取ることを控え、前記拡張値を前記拡張値領域の第1副セットと互いに素である値に設定し、そして、前記第2副フィールドの可能な値の領域から前記クラスタ値領域にマッピングすることによって、前記第2副フィールドから前記クラスタ値を導き出すステップと、
前記クラスタ値と前記拡張値を使って、個々の前記パケットが関連する前記層に索引を付与するステップとを含むこと、
を特徴とする方法。
【請求項12】
レイヤ間予測を用いて、異なる情報量レベルに対応する異なる層で、ビデオ素材(202)をマルチレイヤデータストリーム(204)の中に符号化するように構成されたエンコーダであって、前記マルチレイヤデータストリームは、それぞれが前記異なる層のうちの1つと関連する複数のパケット(206)を含み、個々の前記パケットが関連する層は、クラスタ値及び拡張値によって一意的に決定されるエンコーダであって、前記エンコーダは、
前記マルチレイヤデータストリームの前記パケット(206)のそれぞれについて、
仮に、前記拡張値が、拡張値領域の第1副セット内にあるならば、第1副フィールド(308a)および第2副フィールド(308b)を含むベース層IDフィールド(308)を、前記第2副フィールドを設定するためには前記クラスタ値を使って、且つ前記第1副フィールドを予め決められた基準を満たすように設定することによって、前記マルチレイヤデータストリームの中に挿入し、そして、拡張層IDを設定するために前記拡張値を使って、前記マルチレイヤデータストリームに前記拡張層IDを挿入し、
仮に、前記拡張値が、拡張値領域の前記第1副セットと互いに素である値に等しいならば、拡張層IDを挿入することを控え、第1副フィールド(308a)および第2副フィールド(308b)を含むベース層IDフィールド(308)を、前記第2副フィールドを設定するためには前記クラスタ値を使って、且つ、前記第1副フィールドを前記予め決められた基準を満たさないように設定することによって、前記マルチレイヤデータストリームに挿入する(312)ように構成されていること、
を特徴とするエンコーダ。
【請求項13】
レイヤ間予測を用いて、異なる情報量レベルに対応する異なる層で、ビデオ素材(202)をマルチレイヤデータストリーム(204)に符号化するように構成された方法であって、前記マルチレイヤデータストリームは、それぞれが前記異なる層のうちの1つと関連する複数のパケット(206)を含み、個々の前記パケットが関連する層は、クラスタ値及び拡張値によって一意的に決定される方法であって、前記方法は、
前記マルチレイヤデータストリームの前記パケット(206)のそれぞれについて、
仮に、前記拡張値が、拡張値領域の第1副セット内にあるならば、第1副フィールド(308a)および第2副フィールド(308b)を含むベース層IDフィールド(308)を、前記第2副フィールドを設定するために前記クラスタ値を使って、且つ、前記第1副フィールドを予め決められた基準を満たすように設定することによって、前記マルチレイヤデータストリームの中に挿入し、そして、拡張層IDを設定するために前記拡張値を使って、前記マルチレイヤデータストリームに前記拡張層IDを挿入するステップと、
仮に、前記拡張値が、拡張値領域の前記第1副セットと互いに素である値に等しいならば、拡張層IDを挿入することを控え、第1副フィールド(308a)および第2副フィールド(308b)を含むベース層IDフィールド(308)を、前記第2副フィールドを設定するための前記クラスタ値を使って、且つ、前記第1副フィールドを前記予め決められた基準を満たさないように設定することによって、前記マルチレイヤデータストリームに挿入する(312)ステップを含んでいること、
を特徴とする方法。
【請求項14】
プログラム符号がコンピュータ上で実行されると、前記コンピュータが請求項11または請求項13の方法を実行する、前記プログラム符号を有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばマルチレイヤビデオ符号化の分野などの・・・・に関する。
【背景技術】
【0002】
HEVC基本仕様[非特許文献1]などのビデオ符号器規格、および、多ビュー(view)拡張[非特許文献2、3]などのその拡張は、通常、層にされた符号化シナリオにおいて、ビデオデータの個々の符号化された大きな塊が属する層を信号で伝えるためのメカニズムを引き継ぐ。信号化メカニズムはすぐに利用できることを必要とする(図1の表に与えられたHEVCのNALユニットヘッダー(nuh_layer_id)の中の層識別子と比較してください)。
【0003】
ビットについてその有限サイズに関して、個々のHEVC構文要素は、スケーラブル層、ビューおよび/または奥行きを識別するために用いられる64個の値を許容する。例えば、現在のHEVC NALユニットヘッダー構文を使っている多ビュービデオに対して、これは、最大64個のビュー、または、32個のビュー+奥行きの組み合わせの制限を暗示している。これは多くの共通のステレオビューシナリオおよび他の応用のために十分であるけれども、光分野画像処理[非特許文献4、5]またはホログラフィックディスプレイ[非特許文献6]のような応用のための100個を超えるビューを有する莫大なカメラ配列は、層識別子のより大きい空間を信号で伝えるために拡張可能なメカニズムを必要とする。
【0004】
さらに、それらの符号化依存(coding dependencies)もしくは互いの空間関係の観点から、所定の層またはビューをグループ化することによって層識別子の空間を構造化することが有利である。さらに、そのような情報を符号化されたビデオビットストリーム内の既に利用可能な情報から導き出すことが耐えられない計算処理源を必要とするので、構造化された層識別子空間の中の符号化依存のコンパクトな表現も利点がある。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】B. Bross, W.-J. Han, J.-R. Ohm, G. J. Sullivan, T. Wiegand (Eds.), "High Efficiency Video Coding (HEVC) text specification draft 10", JCTVC-L1003, Geneva, CH, Jan. 2013.
【非特許文献2】G. Tech, K. Wegner, Y. Chen, M. Hannuksela, J.Boyce (Eds.), "MV-HEVC Draft Text 3 (ISO/IEC 23008-2 PDAM2)", JCT3V-C1004, Geneva, CH, Jan. 2013.
【非特許文献3】G. Tech, K. Wegner, Y. Chen, S. Yea (Eds.), "3D-HEVC Test Model Description, draft specification", JCT3V-C1005, Geneva, CH, Jan. 2013
【非特許文献4】WILBURN, Bennett, et al. High performance imaging using large camera arrays. ACM Transactions on Graphics, 2005, 24. Jg., Nr. 3, S. 765-776
【非特許文献5】WILBURN, Bennett S., et al. Light field video camera. In: Electronic Imaging 2002. International Society for Optics and Photonics, 2001. S. 29-36
【非特許文献6】HORIMAI, Hideyoshi, et al. Full-color 3D display system with 360 degree horizontal viewing angle. In: Proc. Int. Symposium of 3D and Contents. 2010. S. 7-10
【発明の概要】
【発明が解決しようとする課題】
【0006】
従って、例えば、減少したサイド情報オーバーヘッド、および/または、発展したバックワード互換性について、より効率的であるマルチレイヤ符号化に関連して・・・・の信号のための概念を提供することが、本応用の目的である。この目的は保留中の独立請求項の主題によって達成される。
【課題を解決するための手段】
【0007】
本応用の面のうちの1つは、マルチレイヤビデオ信号のパケットの各々が関連する層IDの信号に関係している。特にこの面は、この層関係を信号で伝える効率的な方法を達成する。それでも、ベース層IDフィールドの所定の値が、ベース層IDフィールドのベース層ID値が0のように拡張できないと制限される符号でバックワード互換性を維持する。この拡張できないベース層ID値についてこの制限を特に回避する代わりに、マルチレイヤデータストリームの部分の層IDは、ベース層IDフィールドを第1副フィールドおよび第2副フィールドに区分することによって拡張できる方法で信号で伝えられる。ベース層IDフィールドの第1の副フィールドが既定の基準を満たせば、いつでも、拡張層IDフィールドが提供される。仮にベース層IDフィールドの第1副フィールドが、既定の基準を満たさないならば、拡張層IDフィールドは省略される。前記の拡張できないベース層ID値は、ベース層IDフィールドの第1副フィールドが既定の基準を満たさないベース層ID値のグループ内に「隠されて」いる。従って、この拡張できないベース層ID値は別々に処理さるのではなく、前者のグループの部分が処理される。むしろ、仮にベース層IDフィールドの第1副フィールドが、既定の基準を満たすならば、拡張値は、拡張値の領域の第1副セットの中に存在するように、マルチレイヤデータストリーム内の信号で伝えられた拡張層IDフィールドから導き出される。そして、仮にベース層IDフィールドの第1副フィールドが、既定の基準を満たさないならば、この拡張値は、拡張値の領域の第1副セットと互いに素である値に設定される。個々の部分が関連する層は、その時、ベース層IDフィールドの第2副フィールドから導き出されるクラスタ値と同様の拡張値を使って索引を付けられる。大体、信号効率は、バックワード互換性の維持にも関わらず失われない。
【0008】
本応用の面のうちの1つは、マルチレイヤデータストリームの層間のレイヤ間依存の信号化に関係している。この面によると、一方のレイヤ間依存の潜在的な多様性の非常に集中的な制限と、他方のレイヤ間依存の非常に複雑な信号との間の良好な妥協案は、ベース層IDによって表現可能な異なる値のペア間の相互依存を標示している第1相互依存構文構造と、拡張層IDによって表現可能な異なる値のペア間の相互依存を標示している第2相互依存構文構造との方法によって、レイヤ間依存を説明することによって見付けられる。マルチレイヤデータストリームの部分は、層に索引を付けているベース層IDおよび拡張層IDに関連する。この概念に従って、強調は、一方の信号化できるレイヤ間依存の増大した多様性と、他方のレイヤ間依存を信号で伝えるための減少したサイド情報オーバーヘッドとの間を移行する。例えば、共通のベース層IDを持つ層のセットを、それぞれ「クラスタ(群れ)」と呼ぶ。同じ第2相互依存構文構造は、第1の相互依存構文構造を介して、全てのクラスタ内の、および、互いに関連した全てのクラスタ間の相互依存を調節するために、別々に使用される。代わりに、第2相互依存構文構造の2つの例示が、一方のクラスタ内の層と他方の異なるクラスタの層間との相互依存を説明するために用いられる。増大した多様性または減少したサイド情報オーバーヘッドに置かれた強調とは無関係に、相互依存信号概念が、信号オーバーヘッドを低く保持することを生じる。
【0009】
本応用の面のうちの1つは、マルチレイヤビデオ信号などの層のための最低1つの特徴の信号(例えばそれぞれの層毎にそれぞれの層がレイヤ間予測を介して直接に関連する依存層の標示)または、前述の第2相互依存構文構造の信号に関係している。この面に従って、最大の構文要素は、マルチレイヤビデオ信号のパケットの拡張層IDフィールドの最大限に使われた値を示すために、マルチレイヤビデオ信号内で信号が伝えられる。例えば、最大の構文要素の範囲は、マルチレイヤビデオ信号のいくつかの部分を横切って拡張している、マルチレイヤビデオ信号の既定の部分である。従って、この面によると、マルチレイヤビデオ信号の相対的に大きい既定の部分に対して、拡張層IDフィールドによって信号化できる可能な値の可能な領域の実際に消費された部分についての知識を得ることは、マルチレイヤビデオ信号を受信するデコーダやネットワーク要素などの装置に対して適当である。最低1つの特徴が、ベース層IDフィールド値と拡張層IDフィールド値とのそれぞれの結合のために信号で伝えられる必要はないけれども、むしろ、最大限に仮定された値に基づいて決定された層の最大値のための最低1つの特徴を信号で伝えることは重要である。従って、最低1つの特徴は、層IDを持つ層のために送信/信号することは必要でない。その拡張層IDは、マルチレイヤビデオ信号の既定の部分内で起こらない。これを越えて、別の実施の形態に従って、最大限に仮定された値の知識は、個々の部分の層IDを信号で伝えるためのサイド情報オーバーヘッドを減らすために、すなわち、マルチレイヤビデオ信号のパケット内の拡張層IDフィールドを信号で伝えるために必要なビットを減らすために使用される。
【図面の簡単な説明】
【0010】
概説された面は結合され又は個々に使用され、上で概説された面の好ましい実例は、従属請求項の主題であり、図に関して後で議論される。
【0011】
図1図1は、HEVCのNALユニットヘッダーの構文を示す。
図2図2は、マルチレイヤビデオエンコーダ、ネットワーク要素およびマルチレイヤビデオデコーダを含む環境を模式的に説明する。マルチレイヤビデオエンコーダ、ネットワーク要素およびマルチレイヤビデオデコーダは、以下の図面において説明された概念のいずれか、または、いずれかの結合によって改善される。
図3図3は、ネットワーク装置、および、ネットワーク装置に到達するマルチレイヤデータストリーム内のクラスタな方法の層相互依存において信号で伝える概念を模式的に示す。
図4図4は、図3の概念に従ってレイヤ間依存を信号で伝える方法を模式的に説明する。
図5図5は、図3の信号概念を使う場合にレイヤ間依存を導き出すために、より具体的な例を模式的に説明する。
図6図6は、層ID拡張を示している構文要素の方法によって拡張されたHEVC構文の一部分を示すことによって、スライスセグメントヘッダーのHEVC構文の可能な拡張を示す。
図7図7は、図3の信号概念を実施するために、例示的に拡張されたVPS構文の一例を示す。
図8図8は、図7の例の代案を示す。
図9図9は、図7の例の代案を示す。
図10図10は、図7の例の代案を示す。
図11図11は、拡張層IDフィールドの最大限に仮定された値が、データストリームの中で信号によって伝えられる本応用のより一層の概念を設定するための装置を模式的に示す。
図12図12は、図11の概念を模式的に説明する。
図13図13は、拡張層IDフィールドを含むように拡張されたHEVCのスライスセグメントヘッダーを取り出す部分の一例を示す。
図14図14は、図13の拡張層IDフィールドの長さを示すために、構文要素を含むように拡張されたVPS構文の一例を示す。
図15図15は、拡張層IDフィールドの最大値を示している構文要素を含むように拡張されたVPS構文の一例を示す。
図16a図16aは、拡張層IDフィールドを含むように拡張されたSEI拡張の構文構造を取り出す部分の一例を示す。
図16b図16bは、拡張層IDフィールドを含むように拡張されたSPS拡張の構文構造を取り出す部分の一例を示す。
図16c図16cは、拡張層IDフィールドを含むように拡張されたPPS拡張の構文構造を取り出す部分の一例を示す。
図17図17は、図11および図12について説明された最大限に仮定された値に依存している構文部分を、複数回繰り返して通ることによって、ビデオデータストリーム内の層に情報を信号で伝えているVPS構文の一例を示す。
図18図18は、特定の例に従って、特に、拡張層IDフィールドを示すためにlayer_id_extを使用して、ベース層IDフィールドを示すためにnuh_layer_idを使用して、及び、層IDを示すためにlayerIDを使用して、拡張層IDフィールド、ベース層IDフィールドおよび層IDの間の模式的な例示関係を示す。そして、拡張層IDフィールドの表現可能な値の数が、max_layer_id_ext(plus1)によって示されている。ここでは、例として、LengthOfExtensionを2と等しく設定することによって、拡張層IDフィールドの長さを2に選択することによって3に設定されている。
図19図19は、拡張層IDフィールドを含むように拡張されたスライスセグメントヘッダーを取り出す部分の一例を示す。
図20a図20aは、ベース層IDフィールドの副フィールドの長さを示す構文要素を含むように拡張されたVPS構文の一例を示す。
図20b図20bは、拡張層IDフィールドを条件付きで明示的に信号で伝えるように修正されたスライスセグメントヘッダー構文を取り出す部分の一例を示す。
図21図21は、図18の概念に従って実施された関係を使用して層IDを導き出しているネットワーク装置の機能を説明するフローチャートを示す。
【発明を実施するための形態】
【0012】
本応用の特定の実施の形態を説明する前に、例示的なマルチレイヤビデオ符号器の環境が図2に関して説明される。以下で概説される実施の形態と面は有利に使用される。例示的なマルチレイヤビデオ符号器の環境のこの概要は、さらに以下で概説される実施の形態を限定するものと理解してはならないけれども、以下の図について例示的に提供される詳細と機能は、より詳細な実施の形態を生じるように以下でさらに概説される実施の形態の可能な拡張の予定を説明するとみなされる。ともかく、以下に提供された説明のマルチレイヤビデオ符号器の環境は、以下で概説される実施の形態の利点の理解をより容易にする。
【0013】
図2は、入力でビデオ素材202を受信するマルチレイヤビデオエンコーダ200を説明的に示す。説明の目的だけのために、ビデオ素材202は、ビデオの個々の画像のためのテクスチャーや奥行きなどの複数のビューのそれぞれのためにビデオデータを移送する多ビュービデオ信号として説明される。一般的に、ビデオ素材202は1つの場面の多次元サンプリングを表している。1つの次元は時間tである。すなわち、ビデオ素材202はこの場面を時間的にサンプリングし、従って、1つの時間瞬間(time instant)当たり1つの画像を生じる。さらに、この場面は異なる視点から捕らえられ、従って、1つのビュー当たり1つのビデオ、または、時間瞬間ごとに1つのビュー当たり1つの画像を生じる。さらに、ビデオ素材202は、場面のテクスチャーの空間的サンプリング(すなわち、個々のビュー毎の、場面の色や場面の奥行きマップの空間的サンプリング)に加えて、個々のビュー、または個々のビューの副セットを提供する。図2は、例えば、ハッチングを使用して説明された奥行きマップとハッチングが描かれていないテクスチャーマップまたはイメージとの間で異なる。しかし、さらに以下で概説される実施の形態のどれもが、そのような多ビュー素材に限定されないこと注意するべきである。むしろ、図2の説明は、以下で前面に出された説明を緩和するように提供されただけである。
【0014】
マルチレイヤビデオエンコーダ200は、マルチレイヤデータストリームまたはビデオ信号204の中にビデオ素材202を符号化するように構成されている。特に、マルチレイヤビデオエンコーダ200は、レイヤ間予測を使用して、異なる情報量レベルと一致する異なる層で、マルチレイヤデータストリーム204の中にビデオ素材を符号化する。これは以下を意味している。マルチレイヤビデオエンコーダ200は、複数のパケット206を含むようにマルチレイヤデータストリームを生成する。パケット206のそれぞれは、異なる層のうちの1つと関連する。マルチレイヤビデオエンコーダ200は、例えば、所定のベース層のパケット206の中に、ビデオ素材202(例えば単に1つのビューのテクスチャーまたは同類など)の情報量のあるベースレベルを符号化する。例えば、様々な層のうちのいずれかにパケット206の関連が、個々のパケット206内の層識別構文要素構造208から導き出せる。例えば、層識別構文要素構造208は、個々のパケット206のヘッダー210内に含まれている。例えば、説明の目的のために、数字1、2、および3が、パケット206の中に記入されるように示される。従って、層IDを持つ層がそれぞれ1、2、および3によって説明される。例えば、これらの層の間で、層ID1を持つ層は、情報量のベースレベルを提供する最も低い層またはベース層を形成する。他の層のパケット206は、1以上または様々な情報タイプについてのみ、ベース層のパケット206で利用可能な情報量を増大する。例えば、特定の層のパケット206は、ベース層またはリファレンス層のパケット206内で既に符号化されたビューに加えて、その中で符号化された別のビューを持つ。代わりに、特定の層のパケット206は、ビデオ素材202の場面の奥行き情報(ビューの奥行き情報など)を持ってもよい。そのテクスチャーは、ベース層またはより一般的にはより下の層であるリファレンス層のパケットの中に既に符号化されている。同様に、表面反射率情報は、別の層(すなわち、照明状況とは無関係にその場面内のオブジェクトの表面反射率についての場面の空間サンプリング)のパケットの中に符号化される。そして、さらに、アルファ混合情報は、別の層(すなわち、個々の画像サンプルと一致している場面ポイントの透明度の空間のサンプリング)のパケットの中に符号化される。また、特定の層のパケット206は、特定の色組み合わせ情報を追加し、または、空間解像度を増大する(すなわち、空間解像度改良を提供する)。同様に、特定の層のパケット206は、SNR解像度改良を単に提供する、すなわち、符号化されたビデオ素材の信号対ノイズ比を増大させる。様々な層が関係している限り、マルチレイヤデータストリーム204内の冗長性を避けるために、レイヤ間予測がマルチレイヤビデオエンコーダ200によって使用される。すなわち、特定の層のパケット206は、前者の層についてリファレンス層と呼ばれる1つ以上の他の層から得られるように、レイヤ間予測について予測残差をその中で符号化する。レイヤ間予測は、ビデオ素材202を説明している構文要素やパラメータなどの異なる実体に適用される。例えば、特定の層のパケット206によって運ばれた予測残差は、1つ毎の画素に基づいて空間領域の中の1つ以上のリファレンス層から得られるようにレイヤ間予測を訂正する。代わりに、マルチレイヤビデオエンコーダ200は、例えば、変換残差符号化を使用し、レイヤ間予測訂正が変換係数ベース毎にDCTドメインなどの変換ドメイン内で起こる。代わりに又は追加的に、マルチレイヤビデオエンコーダ200は、空間的および/または時間的な予測を使用するハイブリッドビデオ符号器タイプであり、例えば、レイヤ間予測は、動作ベクトルの改良に追加的または代替的に関係する。さらに、マルチレイヤビデオエンコーダ200は、異なる予測モード(空間的および時間的予測など)が適用されるユニットの中の符号化ブロックの中に、および/または、前記の変換が予測残差上で実行されるユニットの中の変換ブロックの中に、および/または、特定の符号化パラメータがビデオ素材202を符号化するためにセットされるユニットの中の別のブロックの中に、ビデオ素材202の画像を副分割するために、階層的な多ツリー副分割を使用する。そして、改めて別の層のための副分割情報を信号で伝える代わりに、副分割化が1つ以上のベース層のいずれかから完全に採用されるか、または、その副分割情報についての改良が信号で伝えられるかのいずれかである。
【0015】
層間のレイヤ間依存の方法によって、マルチレイヤビデオ信号204の層が、ツリー212の枝を介して相互に関係付けられる。ツリー212の節(ノード)は前記の層によって形成される。層間のレイヤ間依存についての情報を移送する(すなわち、復号化側で利用できる相互依存ツリー212上の情報を提出する)ために、マルチレイヤビデオ信号204は、そこに符号化されたそこの情報を持つ。
【0016】
図2において、例えば、マルチレイヤビデオエンコーダ200が、ビデオデータストリーム204の中に、情報214を構成する又は移送するハイレベル構文パケット216を散在させることが説明されている。情報214は、ツリー212の中のレイヤ間依存を説明するために相互依存構文構造を含む。
【0017】
しかし、ツリー212の情報は、エンコーダおよびデコーダでの欠陥(デフォルト)によって、代替的に知られている又は再建可能である。従って、追加的または代わりに、層関連情報214は、ある層ID拡張機構に関連した情報を含む。特に、多くの応用に対して、層の適度な数は、マルチレイヤビデオ信号204を形成するために重要であるけれども、いくつかの別の応用は、層識別構文要素構造208によって信号化可能な非常に小さい数の層から損害を被る。すなわち、層識別構文要素構造208が、高い数の層を必要とするそれらの応用に対して、莫大な数の層に適応するように、層識別構文要素構造208を構成することは、応用の全体の多様性を考慮するとき、高いサイドの情報オーバーヘッドの中に不利を生じさせる。そして、層識別構文要素構造208が適度な数の層にのみ適応するように、層識別構文要素208を構成することは、データストリーム204を根底にしているマルチレイヤビデオ符号器によって十分にサポートされることから別の応用を除外する。従って、ある拡張機構は、データストリーム204のモード間で切り替えできるように使用される。ここで、層識別構文要素構造208はより低い適数の層にのみ適応する。そして、層識別構文要素構造が高い数の層および情報214に適応するモードは、これらのモード間の切り替えに追加的または代替的に関与する。
【0018】
ハイレベル構文パケット216の妥当性の範囲は、マルチレイヤビデオ信号204の全体を取り巻くけれども、例えば、それらはマルチレイヤビデオ信号204が時間的に分割される大きな塊と関連するように、パケット216が属する既定の部分がより小さいことも可能である。それぞれの大きな塊は画像のシーケンスである。例えば、DASHまたは別の適応したストリーミングプロトコルを使用して、マルチレイヤビデオエンコーダ200は、ちょうど言及した既定の部分のユニットの中のビットストリーム204の中に符号化された層数、ツリー構造212の形式のレイヤ間依存、および/または、層識別構文要素構造208について拡張または不拡張の間の切り替えを変更する。とにかく、ハイレベル構文パケット216を周期的に送信することは、受信者を、ランダムアクセスに基づいて、両者間でマルチレイヤビデオ信号214を復号化し始めるために複数のランダムアクセス時間瞬間を持つことができるようにする。
【0019】
図2は、マルチレイヤデータストリームを受信するための装置も例示的に示す。例えば、オプションのネットワーク要素218は、マルチレイヤビデオデータストリーム204を受信し、それをマルチレイヤビデオデータストリーム204の受信者に転送するために処理する。従って、図2は、マルチレイヤビデオデータストリーム204を復号するように構成されたマルチレイヤビデオデコーダ220も示す。両方の実体、すなわちネットワーク要素218およびマルチレイヤビデオデコーダ220は、マルチレイヤデータストリーム204を処理するための装置のための例を形成する。
【0020】
ネットワーク要素218は、そこから様々な層間のレイヤ間予測を使って、マルチレイヤデータストリーム204を復号できる必要はない。これにもかかわらず、ネットワーク要素218およびマルチレイヤビデオデコーダ220(すなわち受信者)は、ツリー212によって定義されるように、様々な層とそれらの層間のレイヤ間依存とに関連するパケット206を知らせる必要がある。ネットワーク要素218は、例えば、提供された追加の情報量がネットワーク要素218とマルチレイヤビデオデコーダ220との間の別の連結内でそれぞれ予備的に必要ではない層に関連したデータストリーム204のパケット206を除去する。例えば、連結内のビットレート欠点のために、追加の情報量または同類を再生するための受信者の無能力を除去する。同様に、マルチレイヤビデオデコーダ220も、現在利用できる計算能力、空間解像度などの再生装置のディスプレイ性能、インプットビューまたは同類の最大数のような外部パラメータに対応した特定の層のパケット206のうちのいくつかを捨てることを決める。すなわち、装置218/220は、パケット206の層識別構文要素構造208を読み取り、もし存在するならば、層間のレイヤ間依存を情報214から導き出し、および/または、情報214に対応した層識別構文要素構造208に関する拡張モードまたは不拡張モードの間で切り替え、および/または、情報214から層に関する別の特徴を読み取ることが可能である。
【0021】
それを超えて、マルチレイヤビデオデコーダ220は、その層と、この層が相互予測依存によって相互に関連した全ての層とに関連したパケット206の情報を収集して使用することによって、所定のレベルに引き上げて、インバウンド(帰航)データストリーム204からビデオ素材202を再構成することができる(ツリー構造212を参照)。すなわち、上で概説したようにマルチレイヤビデオデコーダ220は、マルチレイヤビデオデコーダ220がその層の1つ以上のリファレンス層のパケット206から導き出すレイヤ間予測に関する予測残差として、特定の層のパケット206を使用する。この点について、マルチレイヤビデオデコーダ220は、上で概説したように、変換残差復号化、ハイブリッドビデオ復号化、階層的多ツリー副分割化および/または別の符号化概念を使用するデコーダである。
【0022】
完全性だけのために、図2は、マルチレイヤビデオエンコーダ200とデータストリーム204が、異なる時間瞬間または画像に属しているパケット206が互いに挟まれない方法で、時間瞬間毎に連続的アクセスユニット222を形成するように、パケット206がデータストリーム204内に含まれるように例示的に提供されることを示す。それぞれは、そのアクセスユニット222の個々の時間瞬間に属しているパケット206を収集している。その結果、別の時間瞬間に属しているパケット206は、データストリーム204内において、このアクセスユニット222の前又は後に続くかのいずれかである。しかし、この制限は説明目的のために選択されただけであり、データストリーム204内のパケット206のより緩和した配置が代わりに選択されてもよいことは注意するべきである。
【0023】
以下において、ツリー構造212に従ってレイヤ間依存を信号で伝える可能性が、より詳細に説明される。前記したように、この信号は情報214を含む。この可能性に従って、層はクラスタにグループ化される。データストリーム内において、一方のクラスタ間のレイヤ間依存と他方のクラスタ内の層とが、別々に信号で伝えられる。その限りにおいて、以下で前面に出される説明は、レイヤ間依存212を信号で伝えるために、図2の情報214を実施する可能性を表現している。しかし、既に上で注意したように、図3に関して以下に説明される詳細は、図2に発表された詳細に限定されない。むしろ図2図3に関する説明のための可能な実施貯蔵所と見られるべきである。
【0024】
図3は、図2のネットワーク要素218またはマルチレイヤビデオデコーダ220であるネットワーク装置18を説明する。そして、マルチレイヤデータストリーム10は、図2のデータストリーム204のように処理するように構成される。
【0025】
図3は、層ID lIDによって識別された異なる層で、ビデオ素材をその中に符号化されたマルチレイヤデータストリーム10を説明する。個々の層は、異なる情報量レベルと一致する。この点における可能性は、既に図2に関して議論されているけれども、より容易な理解のために、特定のビューをデータストリーム10に追加している個々の層について考える。しかし、これは図3の説明を制限することを意図しない。個々の層は、代替的に、情報量(例えば、ビューの数および空間解像度の数または同類など)のための異なる手段の結合に一致している。
【0026】
従って、マルチレイヤデータストリーム10は、図2のパケット206に例示的に一致している複数のパケット12から成る。そのようなパケット12(または206)は、例えばビデオ信号10の中に符号化された個々の画像の波面並列処理を許している副ストリームである。副ストリームは、順に、NALユニット、スライスまたは同類などのより小さいユニットから構成されている。しかし、図2および図3のパケット12またはパケット206は、NALユニット、スライスまたは別のユニットでもあることが、同封して提出される。
【0027】
個々のパケット12は、異なる層のうちの1つと関連する。そして、マルチレイヤデータストリーム10のビット消費を減らすために、個々のパケット12がデータストリーム10のより低い層の特定の副セットのパケットに「残差」を単に追加するように、レイヤ間予測が使用される。符号14で示されるように、「より低い層」は個々の層毎に小さいドットによって説明される。
【0028】
図3において示された実施の形態に従って、レイヤ間予測依存は、以下でより詳細に説明され、図において実線16を使用して説明されるように限定される。特に、層IDは、以下において説明されるように、2つの値の連結によって形成される。特に、マルチレイヤデータストリーム10を受信するネットワーク装置は、パケット12毎に、図2のリファレンス記号208を使用して示された層ID構文構造を読み取る。しかし、ここは、ベース層IDフィールド20と、条件付きで、-例えば拡張機構をオンとオフに切り換えるベース層IDフィールドまたはハイレベル構文要素に条件的に依存する-拡張層IDフィールド22とから成る。例示的に、両方のフィールドを持っているパケット12のみが、図において示される。しかし、前記したように、ベース層IDフィールド20の1つ以上の値が、個々のパケット12のためのフィールド22の不存在を信号で伝える。例えば、拡張機能全体は、データストリームの中の拡張フラグを介して、データストリームの中でオン/オフ切り換え可能である。拡張層IDフィールドを必要とする又は必要としない可能な条件は、前記したように、ベース層IDフィールドが0である、または、特定のビットを設定する又は設定しない、または、フィールド20の副部分内の特定の値を仮定する、または、ベース層IDフィールドがある値より大きい又は小さい値を持っていることである。別の例が以下に発表される。
【0029】
層ID構文構造20と22に基づいて、ネットワーク装置18は、個々のパケット12が関連する層を識別している層ID、すなわちlIDを導き出す。異なる可能性は以下に説明される。ネットワーク装置18は、マルチレイヤデータストリーム10から、例えば前記で識別されたdirect_dependency_flagsを含んでいる第1相互依存構文構造、および、例えば以下で示されたdirect_ext_dependency_flagおよび/またはgeneral_direct_ext_dependency_flagsを含んでいる第2相互依存構文構造も読み取る。第1相互依存構文構造は、ベース層IDフィールド20によって表現可能な異なる値のペア間の相互依存を2進数の方法で示す。これに対して、第2相互依存構文構造は、拡張層IDフィールドによって表現可能な異なる値のペア間の相互依存を2進数(バイナリ)の方法で示す。両方の相互依存構文構造に基づいて、ネットワーク装置18は、その時、異なる層(図において符号14で描かれたものなど)の間のレイヤ間予測依存を明らかにしているレイヤ間依存マトリクスを形成する。派生される方法は、以下において、第1および第2相互依存構文構造に関係するフォアーネクストループを使用している擬似符号を使用して説明され、そして、以下の図に関しても説明される。しかし、信号で伝えられたレイヤ間予測依存が、実際にデータストリームにおいて使われることは必要ないことは注意するべきである。むしろ、可能なレイヤ間予測依存の信号化は、デコーダまたは別のネットワーク装置に、相互に関係付けられたパケット、すなわち、リファレンスパケットに先がけてレイヤ間予測依存に従って別のパケットによってリファレンスされたパケットが、適切な順序で利用可能である必要なステップを取ることを指示するためにある。
【0030】
以下の説明から明らかになるように、レイヤ間依存マトリクス14の構築は、第2相互依存構文構造が、レイヤ間依存マトリクス14がベース層IDフィールド20内の同じ値から導き出され、その結果、それと関連している層IDの層間のレイヤ間予測依存に関連する全ての事例に適用されるように実行される。また、以下に、より詳細に説明された別の実施の形態に従って、第2相互依存構文構造が、例えばベース層IDフィールド20の個々の可能な値に対して、または、ベース層IDフィールド20の可能な値の副セットに対して読み取られ、そして、ビットストリーム10内に数回送信される。一方、第2相互依存構文構造の様々な具体例が、索引付けを使用して、例えば、以下に示された例の中のincluded_nuh_layer_idを使用するなどして、ベースの層IDフィールド20の可能な値に関係付けられる。別の実施の形態においてさえ、構造は、全ての可能なレイヤ間予測依存が許されて、第2相互依存構文構造の方法で、すなわち第1相互依存構文構造が相互依存の存在を示すベース層IDフィールドの異なる値のペア毎に第2相互依存構文構造を送信することによって描写できることにおいて一般化される。
【0031】
言い換えると、図4においてさらに説明されるように、図3は、別々の相互依存構文構造24と26が、データストリームの個々のパケット内のフィールド20と22によって提供されたベース層IDおよび拡張層IDの範囲の間のインタフェースと一致している両方の相互依存構文構造24と26の範囲の間のインタフェースを持つ階層的な方法で、レイヤ間依存を説明するために使用されることに従って、レイヤ間依存を信号で伝えるための例を示す。フィールド20と22によって提供されるようなベース層IDおよび拡張層IDは、フィールド20と22が構成される個々のパケットの層IDを独自に定義する。拡張層IDおよびベース層IDの結合によって表現可能な全ての表現可能な層IDのセットは、円28内でドット30によって示される。すなわち、個々のドット30は、ベース層IDおよび拡張層IDの異なるカップルに一致している。例えば、層IDは、ベース層IDおよび拡張層IDの連結である。フィールド20だけによって提供されるベース層IDを使用して、層ID30の完全なセット28が、以下のクラスタ32と称される層IDと互いに素であるセット32に副分割される。特定のクラスタ32に属している全ての層IDは、同じベース層IDを持つ。以前に図2に関して説明したように、層ID30と関連した層が、ドット30の間の点線を使用して、図4において説明したこれらのレイヤ間依存を持つレイヤ間予測のためにツリー似の方法で相互に連結される。理解し易くするために、実際のレイヤ間依存の副セットだけが図4において説明される。
【0032】
ともかく、2つのクラスタ32の間の連結化(このペアの第1クラスタ32の層と第2クラスタ32の層との間のレイヤ間依存の方法による)が、第1相互依存構文構造24の方法によって示される。すなわち、第1相互依存構文構造24は、層間の相互依存を粗く又はクラスタ状(群れ状)に説明する。図4おいて、これらの相互依存は、クラスタ32の間の実線を使って説明される。第1クラスタの最低1つの層が第2クラスタの中の1つのクラスタに連結している第1および第2クラスタ32の全てのペアは、相互連結され、第1相互依存構文構造24において表示されている。第2相互依存構文構造26は、その時、第1相互依存構文構造24によって相互連結されると表示されたクラスタ32のペアの層のどちらが、レイヤ間予測によって互いに実際に関連するかを明確にする。すなわち、第2相互依存構文構造26は、微細粒状の相互依存を明確にする。しかし、第2相互依存構文構造26は、個々のクラスタ32内の層の間の相互依存、すなわち層間の内部クラスタ依存も個別に定義する。図4において、例えば6つのクラスタ32が示され、従って、第2相互依存構文構造26が別のクラスタ32の層間の微細粒状の相互依存を調節するクラスタ32の15個の可能なペアに加えて、第2相互依存構文構造26が相互依存を内部で調節する6つのクラスタを生じる。上で概説したように、そして、以下に更に概説するように、従って、最大で第2相互依存構文構造の1個~21個の実例34が、つまり、個別にクラスタ当たり1つとクラスタ32の連結されたペア当たり1つとが存在する。明らかに、第2相互依存構文構造26は、第1相互依存構文構造24によって連結されないように信号で伝えられたクラスタ32のペアに対して、信号で伝えられる必要はなく、従って、貴重なサイド情報ビットレートが抑制される。クラスタ32の異なるペアの層のレイヤ間依存を説明するために第2相互依存構文構造26を使う場合において、クラスタ32当たりの層数が、全てのクラスタ32に対して等しいことに注意するべきである。仮に、層IDがベース層IDおよび拡張層IDの連結を使って説明されるならば、これは典型的な例である。しかし、クラスタ32の層数がクラスタ32の間で理論上変わることは注意するべきである。その典型的な例において、第2相互依存構文構造26の個々の実例34が、例えばデータストリーム内でクラスタ32の個々の相互連結されたペアに対して信号で伝えられ、最低1つの実例34が個々のクラスタサイズに対して送信される。
【0033】
図3は、例えば、層IDが、最上位桁としてベース層IDを使い、より下位の桁として拡張層IDを使うことによって、ベース層IDおよび拡張層IDから得られる場合を説明する。図3は、1つの実例34が1つのクラスタ内の層のレイヤ間依存を記述するために用いられ、別の実例34が異なるクラスタの層間の依存を記述するために用いられる例示的な場合も説明する。完全性のために、図3のマトリクス14が層IDとして多くの線と多くの列を持つことが、注意される。対角線の下半分だけが満たされる。なぜなら、単に、どの層も、レイヤ間予測の方法で、前の層に(すなわち階層的に低い層に)依存するからである。図3の例において、列数は、レイヤ間予測の使用によって別の層(すなわちベース層)に依存する層の層IDと一致している。これらのベース層は、例えば2進数によって示される。2進数のゼロが、個々の層を予測しているレイヤ間に関与していない層を示す一方、その層IDは現在の列と一致する。その限りにおいて、図3の実施の形態において、第2相互依存構文構造26はマトリクス14の副マトリクスを多少説明する。
【0034】
上に既に記述したように、第1相互依存構文構成24および第2相互依存構文構成26は、ハイレベルパケット216内の情報214によって構成される(図2と比較してください)。図5は、第1相互依存構文構造24が符号36で描かれた層クラスタの間の相互依存を明らかにする例を説明する。例えば、ベース層ID2を持つクラスタは、ベース層ID2および1を持つクラスタに依存する。
【0035】
また、第2相互依存構文構造の第1実例34は、データストリームの中に存在し、副マトリクス38の形式で図5の中に描かれた層の間の内部クラスタ依存を調節する。さらに、図5の例に従って、データストリームは、また、異なるクラスタの層の層状相互依存を調節する第2相互依存構文構造26の実例34を含む。特に、第2実例は、リファレンスされたクラスタのエンハンスメント層ID当たり1つの行、および、リファレンスしているクラスタのエンハンスメント層ID当たり1つの列を持っている副マトリクス40を介して、異なるクラスタの層間の依存を説明する。
【0036】
図5の例において、副マトリクス38は、マトリクス36がクラスタ間の相互依存を示す個々の位置(すなわち、1が置かれる個々の位置)に置かれ、そのクラスタは同じベース層IDのクラスタ(すなわち、マトリクス36の対角線上にあるクラスタ)である。そして、副マトリクス40は、マトリクス36が異なるベース層IDのクラスタ間の相互依存を「1」で示す位置に置かれる。結果は符号42で示される。
【0037】
マトリクス42などのマトリクスを介するレイヤ間依存の説明が、レイヤ間依存を説明するための単なる1つの例であることは注意すべきである。別の説明が同様に使われうる。マトリクス36~40が第1および第2相互依存構文構造によって符号化される方法は、次の通りである。第1相互依存構文構造24は、対角線の下でかつ対角線を含むマトリクス36の各係数に対して、2進値を信号で伝える。マトリクス38を標示する第2相互依存構文構造26の実例34は、対角線の下でかつ対角線を含むマトリクス38の各係数に対して、2進値を信号で伝える。マトリクス40を標示する第2相互依存構文構造26の実例34は、マトリクス40の全ての係数に対して、2進値を信号で伝える。
【0038】
レイヤ間依存をどのように信号で伝えるかについて可能性を説明した後に、より詳細な実例がHEVC規格の拡張として以下に例示的に提供される。
【0039】
特に、層識別クラスタ化およびクラスタ依存信号化は、存在する符号器の中に次の通り構築される。
【0040】
2つの構文要素nuh_layer_idとlayer_id_extが、ビデオビットストリーム内の符号化された層を、いわゆる互いの空間関係などの特性に基づいて依存又は別の物を符号化しているクラスタの中にグループ化するために使用される。クラスタの中への層識別子の構造化は、個々のクラスタ内の等しく構造化された符号化依存を持つクラスタに対して許される。すなわち、定義されたクラスタの全て又は副セット内の符号化依存は、同じである。特定の層のリファレンス層を決めるために、依存フラグの追加のセットとしてクラスタ内の依存を信号で伝えること、および、依存を既存の依存信号化(HEVC拡張のVPS拡張の中のdirect_dependency_flagと比較してください)に結合することは、図6に記述されるように行われる。
【0041】
0と等しいdirect_ext_dependency_flag[i][j]は、拡張インデックス(索引)jを持つ層が、同じ層クラスタ内の拡張インデックスiを持つ層に対して、直接的リファレンス層でないことを規定する。1と等しいdirect_dependency_flag[i][j]は、拡張インデックスjを持つ層が、同じクラスタ内の拡張インデックスiを持つ層に対して、直接的リファレンス層であることを規定する。direct_ext_dependency_flag[i][j]が、0から(1<<layer_id_ext_len)-1の範囲内のiとjに対して、存在しないとき、それは0に等しいと推定される。
【0042】
代替えの構文は、未使用の層識別子に依存を符号化することを信号で伝えることを避けるために、max_layer_id_extによってdirect_ext_depencency_flag構文要素のループを制限する。
【0043】
クラスタ内の及びクラスタ間の符号化依存のより柔軟な信号は次の通り許される。
a)クラスタ毎に基づいてクラスタ内の依存を符号化する信号によって。
b)クラスタ依存セットの数の定義、および、定義されたクラスタ依存セットが適用されるクラスタの識別(例えば、nuh_layer_idによってどちらか一方)によって。
c)クラスタ間の第1依存が信号で伝えられ、2つの依存するクラスタ内の層の第2依存が信号で伝えられる方法の中の依存の階層的信号によって。
d)b)とc)の組み合わせによって。従って、以下のデータが信号で伝えられる。
1.クラスタ間の依存(例えば、リファレンスのペアおよび依存するクラスタ)。
2.リファレンス(リファレンスされた)クラスタおよび依存する(リファレンスしている)クラスタ内の層間の依存を定義しているクラスタ依存セットの数。
3.個々のクラスタ依存セットに対して、クラスタ依存が適用する標示(1において信号で伝えられるように)。
クラスタ内の層間に依存があるとき、c)とd)に対してクラスタが自身に依存できることに注意しなさい。
a)からd)は、構造化のために使用される特性空間(例えばカメラの空間的位置)が均一に使われないとき、層識別子の空間を構造化することを許す。1つの例が、空間密度が一定でない二次元カメラアレイ、または、矩形ではない二次元カメラアレイである。以下は、上記に従って、複数の方法において、クラスタ依存セットの定義を信号で伝えるための構文例を与える。
【0044】
a)図7は、クラスタ毎に基づいて、クラスタ内の依存を符号化することを定義するビデオパラメータセット(設定)拡張構文について例示的に実施の形態を与える。
【0045】
0と等しいdirect_dependency_flag[i][j]は、インデックスjを持つ層またはクラスタが、インデックスiを持つ層またはクラスタに対して、直接的なリファレンス層またはリファレンスクラスタでないことを規定する。1と等しいdirect_dependency_flag[i][j]は、インデックスjを持つ層またはクラスタが、インデックスiを持つ層またはクラスタに対して、直接的なリファレンス層またはリファレンスクラスタであることを規定する。direct_dependency_flag[i][j]が、0からvps_max_layers_minus1の範囲内で、iとjに対して存在しないとき、それは0に等しいと推定される。
0と等しいgeneral_direct_ext_dependency_flag[i][j]は、拡張インデックスjを持つ層が、同じ層クラスタ内の拡張インデックスiを持つ層に対して、直接的なリファレンス層ではないことを規定する。1と等しいgeneral_direct_dependency_flag[i][j]は、拡張インデックスjを持つ層が、同じクラスタ内の拡張インデックスiを持つ層に対して、直接的なリファレンス層であることを規定する。general_direct_ext_dependency_flag[i][j]が、0からmax_layer_id_extの範囲内で、iとjに対して存在しないとき、それは0に等しいと推定される。
0と等しいdirect_ext_dependency_flag[i][j][k]は、拡張インデックスkを持つ層が、i番目の層クラスタ内の拡張インデックスjを持つ層に対して、直接的なリファレンス層ではないことを規定する。1と等しいdirect_ext_dependency_flag[i][j][k]は、拡張インデックスkを持つ層が、i番目の層クラスタ内の拡張インデックスjを持つ層に対して、直接的なリファレンス層であることを規定する。direct_ext_dependency_flag[i][j][k]が、0からmax_layer_id_extの範囲内で、i、jおよびkに対して存在しないとき、それは0に等しいと推定される。
【0046】
b)図8は、クラスタ依存セットの数の信号(number_of_cluster_dependency_sets)を通して、クラスタ内の依存を符号化すること、個々のクラスタ依存セット内の依存(direct_ext_dependency_flag)を符号化すること、および、クラスタ(たとえば、クラスタの個々のnuh_layer_idのためのポジティブなフラグを通して、与えられた構文要素included_nuh_layer_idによって識別されたクラスタ)を適用することを定義するビデオパラメータセット拡張の中の構文について例示的な実施の形態を与える。
【0047】
c)図9は、クラスタ間の第1依存が信号で伝えられ、および、2つの依存するクラスタ内の層の第2依存だけが信号で伝えられる方法で、依存の階層的な信号のための例示的な実施の形態を与える。
【0048】
0と等しいdirect_dependency_flag[i][j]は、インデックスjを持つ層またはクラスタが、インデックスiを持つ層またはクラスタに対して、直接的なリファレンス層またはリファレンスクラスタではないことを規定する。1と等しいdirect_dependency_flag[i][j]は、インデックスjを持つ層またはクラスタが、インデックスiを持つ層又はリファレンスクラスタに対して、直接的なリファレンス層又はリファレンスクラスタであることを規定する。direct_dependency_flag[i][j]が、0からvps_max_layers_minus1の範囲内で、iとjに対して存在しないとき、それは0に等しいと推定される。
注記:仮に、layer_id_ext_lenが0より大きければ、direct_dependency_flag[i][j]は、クラスタ間の依存を信号で伝える。そうでなければ(layer_id_ext_lenが0と等しいならば)、direct_dependency_flag[i][j]は、層のための依存を信号で伝える。
【0049】
0と等しいdirect_ext_dependency_flag[i][j][k][l]は、j番目のクラスタの中のl番目の層が、i番目のクラスタの中のk番目の層に対して、直接的なリファレンス層ではないことを規定する。1と等しいdirect_ext_dependency_flag[i][j][k][l]は、j番目のクラスタの中のl番目の層が、i番目のクラスタの中のk番目の層に対して、直接的なリファレンス層であることを規定する。direct_ext_dependency_flag[i][j][k][l]が存在しないとき、それは0に等しいと推定される。
【0050】
d)図10は、b)とc)の組み合わせのための例示的な実施の形態を与える。
【0051】
0と等しいdirect_dependency_flag[i][j]は、インデックスjを持つ層またはクラスタが、インデックスiを持つ層またはクラスタに対して、直接的なリファレンス層またはリファレンスクラスタでないことを規定する。1と等しいdirect_dependency_flag[i][j]は、インデックスjを持つ層またはクラスタが、インデックスiを持つ層またはリファレンスクラスタに対して、直接的なリファレンス層またはリファレンスクラスタであることを規定する。direct_dependency_flag[i][j]が、0からvps_max_layers_minus1の範囲内で、iとjに対して存在しないとき、それは0に等しいと推定される。
注記:仮に、layer_id_ext_lenが0より大きければ、direct_dependency_flag[i][j]は、クラスタ間の依存を信号で伝える。そうでなければ(layer_id_ext_lenが0と等しいならば)、direct_dependency_flag[i][j]は、層のための依存を信号で伝える。
【0052】
0と等しいdirect_ext_dependency_flag[n][k][l]は、dependency_set_applies_flag[n][i][j]が1に等しいとき、j番目のクラスタの中のl番目の層が、i番目のクラスタの中のk番目の層に対して、直接的なリファレンス層ではないことを規定する。1と等しいdirect_ext_dependency_flag[n][k][l]は、dependency_set_applies_flag[n][i][j]が1に等しいとき、j番目のクラスタの中のl番目の層が、i番目のクラスタの中のk番目の層に対して、直接的なリファレンス層であることを規定する。
0と等しいdependency_set_applies_flag[n][i][j]は、i番目のクラスタの中の層とj番目のクラスタの中の層との間の依存が、direct_ext_dependency_flag[n][k][l]によって規定されないことを規定する。1と等しいdependency_set_applies_flag[n][i][j]は、i番目のクラスタの中の層とj番目のクラスタの中の層との間の依存が、direct_ext_dependency_flag[n][k][l]によって規定されることを規定する。dependency_set_applies_flag[n][i][j]が存在しないとき、それは0に等しいと推定される。dependency_set_applies_flag[n][i][j]が、0から(number_of_cluster_dependency_sets-1)の範囲内で、iとjと全てのnとの特定の結合に対して0と等しいとき、j番目のクラスタの中の層は、i番目のクラスタの中のどの層に対しても、直接的なリファレンス層でないことを含む。
【0053】
従って、HEVC拡張の中に図2から図5のクラスタに基づいた相互依存信号を実行する上の例において、図2のパケット206はスライスまたはスライスセグメントであり、パケット216は例えばビデオ、画像または連続パラメータセットなどのパラメータセットである。図7の構文例に従って、第1相互依存構文構造24は、i≦jを持つクラスタi、jの各ペアに対して、構文要素direct_dependency_flagを使って信号で伝えられる。ここで、vps_max_layers_minus1は、ベース層ID-1の最大値である。従って、構文要素は、例えば図5の粗いマトリクス36を明らかにする。unique_cluster_dependencies_flagと称する構文要素44は、2つのオプション(第2相互依存構文構造26の1つの実例は全てのベース層IDに提出されて適用される、または、もう1つの実例は個々のベース層IDiに対して送られるいずれか)の間を区別する。第1ケースにおいて、フラグgeneral_direct_ext_dependency_flagは、共通して、ベース層ID毎に38に従って副マトリクスを築く。第2ケースにおいて、フラグdirect_ext_dependency_flagは、別々に、ベース層ID毎に符号38に従って副マトリクスを築く。unique_cluster_dependencies_flagは、両方のオプションの間を切り替える。従って、図7の場合において、仮に、unique_cluster_dependencies_flagが0に等しいならば、結果として生じる副マトリクス38は、マトリクス36内の、リファレンスしている及びリファレンスされたクラスタIDに等しいように一致している個々のポジションに置かれる。ここで、1はdirect_dependency_flagによって示される。第1相互依存構文構造24が異なるクラスタIDのクラスタ間の相互依存を示す残留ポジションは、既定の副マトリクス(すなわち、エンコーダ、ネットワーク要素およびマルチレイヤビデオデコーダなどの全ての参加装置によって知られている副マトリクス)を使用して、欠陥によって満たされる。1に等しいunique_cluster_dependencies_flagの場合において、第1相互依存構文構造24が、等しいリファレンスされた及びリファレンスしているクラスタIDのポジションで1を示す個々のポジションに対して、このまさしくそのクラスタIDのための別個の副マトリクスが、マトリクス42の中の個々のポジションに、信号で伝えられて置かれる。従って、max_layer_id_extは、vps_max_layers_minus1クラスタのそれぞれの内部の層の数に一致する。
【0054】
図8の場合、第1相互依存構文構造24は、図7の例と同じ方法で送られる:個々のクラスタIDに対して、クラスタID当たり1つのフラグは、個々のクラスタIDと等しい又はより小さい。フラグcluster_dependency_sets_present_flag46は、上で既に概説していた構文要素general_direct_ext_dependency_flagを使って、図7の第1オプション間を切り換える。第2相互依存構文構造26の実例の数が、構文要素direct_ext_dependency_flagを使って、データストリームの中に提出されることに従う異なるモードが、number_of_cluster_dependency_setsと称される構文要素を使って、明示的に信号で伝えられる。これらの実例は、その時、個々の実例が構文要素included_nuh_layer_id50を使って適用されるクラスタIDを明示的に記載することによって、これらの実例が適用されるクラスタIDに関連する。この手段によって、第2相互依存構文構造26の実例34は、個々のクラスタIDに対して提出されない。むしろ、第2相互依存構文構造26の実例のより小さい数のみが、1と等しいcluster_dependency_sets_present_flagの場合に提出される。個々の実例は、実例に関連するクラスタIDに関連している。また、異なるクラスタの相互依存するペアが関係する限り、欠陥規則がマトリクス42をそのようなポジション(クラスタ対角線の下側)で満たすために適用される。
【0055】
図9の例に従って、第2相互依存構文構造の信号は、第1相互依存構文構造について差し挟まれた方法で、例示的に信号で伝えられる。しかし、この差し挟みは代わりの実施の形態に従って除外される。ともかく、図9の実施の形態において、副マトリクス38または40(すなわち、第2相互依存構文構造26の実例34)は、第1相互依存構文構造24が相互クラスタ依存を標示する(等しい又は等しくない)クラスタIDの個々のペアに対して提出される。構文例から導き出されるように、副マトリクス40の送信は、副マトリクス38より多いビットdirect_ext_dependency_flagを消費する。これは条件条項52と条件条項54からそれぞれ導き出すことができる。すなわち、クラスタ内部の相互依存規則のために第2相互依存構文構造26の実例を送信することにおいて、カウンターiによって示されたリファレンスしているクラスタIDは、カウンターjによって示されたリファレンスされたクラスタIDに等しく、direct_ext_dependency_flagは、エンハンスメント層IDの結合のために、リファレンス及びリファレンスしている層(リファレンスされた層(ここではl)のエンハンスメント層IDが、リファレンスされた層(ここではk)のエンハンスメント層IDのエンハンスメント層IDより小さい)に対してのみ送信される。すなわち、副マトリクス38のdirect_ext_dependency_flagは、副マトリクス38の対角線の下側のポジションに対してのみ送信される。別の場合において、すなわち、相互依存するクラスタペアi≠jのための第2相互依存構文構造26の実例に対して、完全な副マトリクスが送信される。すなわち、フラグdirect_ext_dependency_flagが、副マトリクス40のそれぞれのポジション毎に送信される。
【0056】
図10の実施の形態は、図8及び図9の実施の形態の特定の特性:完全な副マトリクスを結合する。すなわち、第2相互依存構文構造26の実例が、つまり数の中のnumber_of_cluster_dependency_setsが提出される。そして、その時、これらの実例のそれぞれは、マトリクス36のグリッドサイトに関連する。ここで、例えば、第2相互依存構文構造26の個々の実例が、第1相互依存構文構造24がそれによってクラスタ独立性の存在を示すために(符号56と比較してください)それらの間で適用される。
【0057】
言い換えると、図9について説明したように、第2相互依存構文構造26の複数の実例34は、マルチレイヤデータストリームから、つまり、ベース層IDによって表現できる数値であるNを持つ値0<k≦j≦n<Nのペア(j、k)に対して読み取られる。nはNに等しいように設定される。しかし、また、ここに説明されるように、実際に使われたクラスタ濃度の明示的な信号は、送信オーバーヘッドを制限するために使われる。ペア(j、k)は詳察されて(図9の符号24でiとjに亘るループを見てください)、そして、第2相互依存構文構造を読み取ることが、このペア間の相互依存の存在または不存在を示している第1相互依存構文構造に条件付きで依存しているペア(j、k)に対して実行される又は抑制される(図9の「if(direct_dependency_flag[i][j])」を見てください、ここで、i、jはjとkにそれぞれ一致する)。j=kを持つペア(j、k)に対して読み取る第2相互依存構文構造26の実例34は、ベース層ID jを持つそれらの間の層が、ベース層ID jを持つそれらの間の別の層に依存するレイヤ間予測であることを示す。j>kを持つ異なる値のペア(j、k)に対して読み取る第2相互依存構文構造26の実例34は、ベース層ID jを持つそれらの間の層が、ベース層ID kを持つそれらの間の層に依存するレイヤ間予測であることを示す。しかし、図7と同様に、第2相互依存構文構造26の1つの実例が、マルチレイヤデータストリームから読み取られることもある。第2相互依存構文構造26の1つの実例は、個々のクラスタ値ペア(j、j)に対して、共通して示す。ベース層ID jを持つそれらの間の層は、ベース層ID jを持つそれらの間の別の層に依存するレイヤ間予測である。図7の場合、仮に、unique_cluster_dependencies_flagが0に等しい、または、j≠kを持つペア(j、k)に対して共通しているならば、第1相互依存構文構造24は、個々のペア間の相互依存の存在を示す。ベース層ID jを持つそれらの間の層は、ベース層ID kを持つそれらの間の層に依存するレイヤ間予測である。拡張層ID22によって表現できる数値をMと示し、第2相互依存構文構造は、ベース層ID iを持つそれらの間の層が、ベース層ID iを持つそれらの間の別の層に依存するレイヤ間予測であることを示すために、拡張値0<q<p≦m<Mの個々のペア(p、q)に対して1つの2進数の値を含み、そして、拡張値pおよびベース層ID jを持つ層が、拡張値qおよびベース層ID kを持つ層に依存するレイヤ間予測であることを示すために、拡張値0<p、q≦m<Mの個々のペアに対して1つの2進数の値を含む。また、明細書の中の別の場所で説明されるように、mがMと等しいように設定される。しかし、また、ここに説明されるように、実際に使われた拡張濃度の明示的な信号は、送信オーバーヘッドを制限するために使われる。さらに、図8図10に示すように、インデックス構文構造50が、第2相互依存構文構造の実例をベース層ID値の個々のペア(j、k)に関連付けるために使用される。ここで、図10は、関連構文構造がペア(j、k)毎にフラグを含み、関連構文構造の構造解析が、第1相互依存構文構造がペア(j、k)間の相互依存の不存在(独立性)を示す値0<k≦j≦n<Nのスキップペア(j、k)を含むことを明らかにする。
【0058】
すなわち、上のセクションの中で説明されたものは、「層識別子クラスタ化とクラスタ依存信号化」として示される。これに関して、装置はビデオデコーダである。このように動作するビデオデコーダは、復号化に対して、(拡張された)層IDによって識別されたビットストリームのパケットを選択することができる。しかし、装置は、代わりに、ネットワーク利用(デコーダなどについての知識)のような外部のファクターに基づいた(拡張された)層IDによって識別されたビットストリームのパケットを捨てることができるネットワーク要素であってもよい。
【0059】
当然、上で概説された概念は、概念によって改善されるべき符号器の既存のエンコーダも詰め込む。図2の1つのようなエンコーダは、異なる情報量レベルと一致している異なる層で、レイヤ間予測を使って、ビデオ素材をマルチレイヤデータストリーム10の中に符号化するように構成される。マルチレイヤデータストリームは、それぞれが異なる層のうちの1つと関連する複数のパケット12を含む。各層は、ベース層ID20、または、ベース層ID20及び拡張層ID22によって索引を付けられ、マルチレイヤデータストリームの中に挿入される。第1相互依存構文構造24は、ベース層ID20によって表現できる異なる値のペア間の相互依存を示す。そして、第2相互依存構文構造26は、拡張層ID22によって表現できる異なる値のペア間の相互依存を示す。第1および第2相互依存構文構造をそのように設定することで、第1および第2相互依存構文構造に基づいて、異なる層間の可能なレイヤ間予測依存を明らかにするレイヤ間依存記述14が、組み立て可能である。
【0060】
次に記述される詳細は、効率的な方法で、層関連の情報を信号で伝える可能性に関する。そのような層関連の情報は、例えば、図2から図10について概説したレイヤ間依存に関する情報を含む。出発点として、しばしば上に示された状況が、個々のパケット206によって構成された層識別構文要素構造208(図2と比較してください)が、図11において描かれたベース層IDフィールド108と拡張層IDフィールド112とから成ることに従って、使われる。図11は、図2の中に示されるネットワーク要素218またはマルチレイヤビデオデコーダ220などのマルチレイヤデータストリームを処理するための装置100を示す。装置100は、一連のパケット(そのそれぞれが層識別構文要素を含む)から成るマルチレイヤビデオ信号を受信するように構成されたレシーバー102を含むとして示される。
【0061】
レシーバー102によって受信されたマルチレイヤビデオ信号104(図2の符号204と一致している)は、一連のパケット106(図2の符号206と一致している)から成る。各パケット106は、少なくともベース層IDフィールド108を含む層識別構文要素構造(図2の符号208と一致している)を含み、ハイレベル構文要素またはベース層IDフィールド108または拡張層IDフィールド112の値に無条件に又は条件付きで依存する。
【0062】
例えば、パケット106は、マルチレイヤビデオ信号104が副分割されるNALユニット、スライス、タイル、画、または別のパケットである。また、装置100に含まれた層識別エクステンダー110は、部分113のような複数のパケット106を含むマルチレイヤビデオ信号の既定の部分に対して、マルチレイヤビデオ信号の既定の部分113を含むパケット108の拡張層IDフィールド112の最大限に仮定された値を示すマルチレイヤビデオ信号から最大構文要素を読み取る。既定の部分113は、例えば、符号化されたビデオシーケンス、大きな塊、画像のグループなどである。最大構文要素114は、例えばVPS NALユニットのような部分113の特定のパケット内に含まれる。既定の部分113内のパケットのそれぞれに対して、エクステンダー110は、符号108、そして、条件付きで符号112から成る層ID構文構造に基づいて個々のパケットのために層IDを決定する。例えば、構文要素108と112の両方の値の連結は、層IDを生じる。
【0063】
エクステンダー110は、上で説明された最大構文要素を使って、拡張層IDフィールドのビット長さを導き出す。代わりに、特別な構文要素が、この終わりに使用されてもよい。代わりでも、拡張層IDフィールド112を表すためのビット数は、欠陥(デフォルト)によって固定される。
【0064】
エクステンダー110は、その時、最大限に仮定された値に基づいて、部分112内の層の最大数を決定する。例えば、エクステンダー110は、部分113に対して、部分113内のパケット106のベース層IDフィールド108のための最大限に仮定された値を示すデータストリーム104から構文要素も読み取り、そして、層の最大数を決定するために両方の最大限に仮定された値を結合する。
【0065】
エクステンダー110は、層の最大数のそれぞれに対して、マルチレイヤビデオ信号の層特徴付け構文部分を、層の最大数と等しい回数繰り返して構文解析することによって、最低1つの特徴を決定する。利点的に、データストリーム104は、それぞれの可能な値に対して(すなわち、拡張層IDフィールド112の全体の濃度全体に対してではなく、この濃度の外の実際に使われた副部分に対して)、最低1つの特徴を信号で伝えることを必要としない。さらに、最大構文要素114は、丁度記載されたように、データストリーム104内の拡張層IDフィールド112の表現ビット数を導き出すように使われさえする。例えば、「特徴」は、別の層または同類に対するレイヤ間予測である。
【0066】
すなわち図11について、データストリーム204/104内で、重要性の予め決められた部分113内の全てのパケット106/206を考慮するとき、拡張層IDフィールドの表現できる状態の外のいくつが実際に仮定されるかの明示的な信号化を送ることが可能であることが説明される。例えば、拡張層IDフィールド112がNビットのフィールドであるとすると、2N個の拡張層ID120が拡張層IDフィールド112によって表現できる。フィールド112の長さは、固定されるか、または信号で伝えられて、データストリーム内で、図12の点線122を使って示された所定のハイレベル構文要素の方法によって設定される。しかし、いくつかの理由のために、利用できる拡張層IDの全てが、重要性の予め決められた部分113内で使われない。例えば、図12において、7個の表現できる拡張層IDのみが使われることが描かれる、すなわちハッチングの方法によって描かれる。
【0067】
図11に従って、最大構文要素114が、拡張層IDフィールド112の実際に使われた/仮定された値のこの数を示す。この構文要素114のため、拡張層IDフィールド112の表現できる値の完全な数に対してというよりも、むしろ拡張層IDの実際に仮定された数についてのみ層特定情報をデータストリームの中に挿入することが実現できる。従って、図12の符号122で説明されるように、マルチレイヤビデオ信号を構文解析している装置は、例えば、拡張層IDフィールドの実際に利用できる/表現できる値の完全な数よりもむしろ構文要素114によって示された層の最大数に等しい回数だけ、マルチレイヤビデオ信号の所定の層特徴付け構文部分124を構文解析する。データストリームによって消費されたサイド情報量は、従ってより低く保持される。例えば図6から図10の例において、拡張層IDフィールド112の表現できる値の最大数と等しいようにこの値(max_layer_id_ext)を設定するよりもむしろ、構文要素114によって示される拡張状態の最大限に仮定された数と等しいようにmax_layer_id_extを設定することが実現できる。従って、「特徴付け構文部分」124は、以前に提出されたフラグdirect_ext_dependency_flagによって具体的に示される。
【0068】
上で既に概説したように、フィールド112のビット長さの存在/信号化はオプションである。ともかく、構文要素114が実際に使用した/アクティブな拡張層IDの数を示す粒状性/忠実性は、構文要素122によって設定された拡張層IDフィールド112の利用できる/表現できる値の数をより粗く設定することに比べて増大する。好ましくは、構文要素114が拡張層IDフィールド112の実際に仮定された値の数を示す忠実性または粒状性は、実際に仮定された値の正確な数を示すために極めて十分である。代わりに、ものの間のどこかの忠実性/粒状性、および、構文要素122によって提供されたフィールド112の利用できる/表現できる値の最大数の信号化の忠実性/粒状性が同様に実現できる。すなわち、最大構文要素114は、拡張層IDフィールドのビット長さであるnを持つ(n-1)2より小さい又は等しいユニットの中の拡張層IDフィールド108の最大限に仮定された値を示す。
【0069】
従って、図11図12に従って、ネットワーク要素またはマルチレイヤビデオデコーダなどの装置が、レシーバー102およびエクステンダー110を含むことが説明される。レシーバー102は、一連のパケット106から成るマルチレイヤビデオ信号104を受信するように構成されている。パケット106のそれぞれは、ベース層IDフィールドおよびことによると条件付きのみで拡張層IDフィールド112から成る層識別構文要素構造を含む。層識別エクステンダー110は、一連のパケット106の外の複数のパケットを含むマルチレイヤビデオ信号の既定の部分113に対して、マルチレイヤビデオ信号104から最大構文要素114読み取るように構成されている。最大構文要素114は、既定の部分113によって構成されたパケット106の間の拡張層IDフィールド112の最大限に仮定された値を示す。エクステンダー110は、既定の部分113内のパケット106のそれぞれに対して、上で概説されたフィールド108と112のベース層IDと拡張層IDとを連結することなどによって、層識別構文要素構造に基づいた個々のパケット106のための層IDを決定する。エクステンダー110は、また、最大限に仮定された値に基づいた既定の部分113内の層の最大数を決定し、層の最大数のそれぞれに対して、層特徴付け構文部分104を、層の最大数と等しい回数繰り返して構文解析することによって、最低1つの特徴を決定する。「層の最大数」は、図11と12の実施の形態を図2図10について上記で概説した実施の形態と結合するとき、クラスタ当たり層の最大数を示す。この場合、「層の最大数」の決定は、例えば、最大限に仮定された値を「層の最大数」として直接に採用する。「最低1つの特徴」は、第2相互依存構文構造内のレイヤ間依存を示しているフラグの数である。しかし、特徴の別の例は、個々の層IDに対して設定された一致している符号化パラメータのデータストリーム内の信号化でもある。その場合、「層の最大数」は、使われた又は表現できるベース層IDの数×最大限に仮定された値、すなわち実際に使用された/仮定された拡張層IDの数と等しいように決定される。別の例は同様に実現可能である。ともかく、構文要素114の方法によって実際に仮定された値の伝達は、貴重なサイド情報ビットレートを保存することを可能にする。
【0070】
図11図12の概念は、上で既に概説されたように、図2図10について上に概説した概念と結合される、または、以前に説明された概念を使わないで単独で使われる。
【0071】
しかし、図2図10について前に提出された上記の説明と同様に、以下の説明は、HEVCの拡張などの既存のビデオ符号器の中に、図11図12の概念をいかにして築くかの可能性を明らかにする。
【0072】
HEVCにおいて、層識別子変数(LayerIDと称する)は、ビデオおよびメタデータパケットのヘッダー、例えばビデオまたはメタデータパケットの大きな塊のそれぞれの中において信号で伝えられたnuh_layer_idおよび追加の情報の明示的に信号で伝えられた層識別子から導き出され、その識別のために使われるように、特定のデータパケットの新しい可変のLayerIdを形成する。
【0073】
図11図12に従って信号で伝えられた追加の情報は、特定のビデオまたはメタデータパケットがエンハンスメント層(向上層)に属し、それ故、レガシー(古くて機能的には劣るけれども普及していて替えることができない)装置のみベース層と互換性を維持することを与えられた追加の構文要素(ビデオまたはメタデータパケットのヘッダーまたはペイロードのいくらかの部分内のlayer_id_extと比較してください)を含む。ビデオまたはメタデータパケットが、ベース層に属すけれども、有能な装置を処理しているエンハンスメント層によって処理されるとき、デフォルト値はlayer_id_extに対して仮定される。
【0074】
図13は、HEVC符号化ビデオのエンハンスメント層(nuh_layer_id>0と比較してください)のビデオデータパケットの中に含まれるスライスヘッダーの中の構文要素layer_id_extとして、追加の情報を信号で伝えるスライスセグメントヘッダーのための例を与える。
【0075】
数学的な操作は、nuh_layer_idとlayer_id_extを、より大きい識別子空間を許し、かつnuh_layer_idとlayer_id_extの2つの値の特別な組み合わせに対して特別であるLayerIdの中に結合するために使われる。数学的な操作は、例えば以下のように、LayerId変数のMSBとしてnuh_layer_idのビットが、そして、LayerId変数のLSBとしてlayer_id_extのビットが使われる(または、逆もまた同様である)。
【0076】
可変のLayerIdは次の通り決定される。そこで、LengthOfExtensionはビットについてのlayer_id_ext構文要素の長さである。
【0077】
LayerId=(nuh_layer_id<<LengthOfExtension)+layer_id_ext
【0078】
図11図12の概念は、送られたデータ量を効率的に利用するために、ビデオまたはメタデータパケットのヘッダーまたはペイロードのいくらかの部分の追加の情報(上のLengthOfExtensionと比較してください)を伝えるために使用されるビットの量の明示的な信号化を含む。図14は、HEVCビデオパラメータセット拡張構文などのメタデータパケットにおいて信号で伝えているLengthOfExtension値の例示的な構文と意味を与える。
【0079】
layer_id_ext_lenは、LayerId範囲を拡張するために使われるビット数を示す。
【0080】
図11図12の概念は、符号化されたビデオビットストリーム(例えばmax_layer_id_ext)において使われたlayer_id_ext構文要素の最大値の明示的な信号化を含む。それに基づいて、ビデオまたはメタデータパケットのヘッダーまたはペイロードのいくらかの部分の追加の情報(上のLengthOfExtensionと比較してください)を伝えるために必要なビットの最低可能量が、送られたデータ量を効率的に利用するために導き出される。図15は、HEVCビデオパラメータセット拡張構文などのメタデータパケットにおいて信号で伝えているlayer_id_ext構文要素値の最大値の構文と意味を例示的に与える。
【0081】
max_layer_id_extは、符号化されたビデオシーケンス内のスライスヘッダーの中のlayer_id_ext構文要素の最大値を示す。
発明の上記の拡張に依存しているlayer_id_ext構文要素の意味の2つの例示的なバリエーションが、以下において与えられる。
layer_id_extは、層を識別するために、nuh_layer_idとの結合において使用される。構文要素layer_id_extは、layer_id_ext_lenビットを使って符号化される。存在しないとき、その値は0と推定される。
layer_id_extは、層を識別するために、nuh_layer_idとの結合において使用される。構文要素layer_id_extは、符号化されたCeil(Log2(max_layer_id_ext))ビットである。存在しないとき、その値は0と推定される。
【0082】
HEVCビデオ符号器規格のパラメータセットまたはSEIメッセージの層識別子は、図16a~図16cにおいて与えられた依存を構造解析すること無く拡張される。
【0083】
層にされた符号化シナリオにおいて、図17のビデオパラメータセット拡張のための構文テーブルで例示的に与えられるように、層識別子またはその最大数に関連する信号化は、正規の明示的な層識別子空間(nuh_layer_idの値範囲と比較してください)の代わりに拡張層識別子空間(LayerIdの値範囲と比較してください)をカバーするために適合される。ここで、可変のVpsMaxNumLayersが、次の通り例示的に与えられる。
拡張層の範囲の中の層の最大数を規定している可変のVpsMaxNumLayersは、(vps_max_layers_minus1)*2^layer_id_ext_len.+1と等しく設定される。または
拡張層の範囲の中の層の最大数を規定している可変のVpsMaxNumLayersは、(vps_max_layers_minus1)*max_layer_id_ext.+1と等しく設定される。
【0084】
layer_id_in_nalu[i]は、i番目の層のVCL NALユニットと関連したLayerId値の値を規定する。0からVpsMaxNumLayers-1の範囲内のiに対して、包括的に、存在しないとき、layer_id_in_nalu[i]の値はiに等しいと推定される。
【0085】
iが0より大きいとき、layer_id_in_nalu[i]は、layer_id_in_nalu[i-1]より大きい。0からvps_max_layers_minus1の範囲内のiに対して、包括的に、可変のLayerIdInVps[layer_id_in_nalu[i]]はiと等しく設定される。
【0086】
dimension_id[i][j]は、i番目の層のj番目の現在のスケーラビリティ次元タイプの識別子を規定する。dimension_id[i][j]の表現のために使われたビット数は、dimension_id_len_minus1[j]+1ビットである。dimension_id[i][j]が、0からNumScalabilityTypes-1の範囲内のjに対して、存在しないとき、包括的に、dimension_id[i][j]は、((layer_id_in_nalu[i]&((1<<dimBitOffset[j+1])?1))>>dimBitOffset[j])に等しいと推定される。
【0087】
i番目の層のsmIdx番目のスケーラビリティ次元タイプの識別子を規定している可変のScalabilityId[i][smIdx]、i番目の層のビュー識別子を規定している可変のViewId[layer_id_in_nalu[i]]、および、i番目の層がビュースケーラビリティ拡張層であるかどうかを規定している可変のViewScalExtLayerFlagは、次の通り導き出される。
for(i=1;i<=VpsMaxNumLayers;i++){
lId=layer_id_in_nalu[i]
for(smIdx=0、j=0;smIdx<16;smIdx++)
if(i!=0)&&scalability_mask[smIdx])
ScalabilityId[i][smIdx]=dimension_id[i][j++]
else
ScalabilityId[i][smIdx]=0
ViewId[lId]=ScalabilityId[i][0]
ViewScalExtLayerFlag[lId]=(ViewId[lId]!=ViewId[0])
【0088】
当然、上で概説された概念は、概念によって改善される符号器の既存のエンコーダも詰め込む。図2のようなエンコーダは、一連のパケット106から成るマルチレイヤビデオ信号104の中にビデオ信号を符号化するように構成されている。パケット106のそれぞれは、ベース層IDフィールド108と拡張層IDフィールド112から成る層識別構文構造を含む。さらに、このエンコーダは、複数のパケットを含むマルチレイヤビデオ信号の既定の部分113に対して、最大構文要素114をマルチレイヤビデオ信号の中に挿入し、マルチレイヤビデオ信号の既定の部分113を含むパケットの拡張層IDフィールド108の最大限に仮定された値を示し、最大限に仮定された値に基づいてマルチレイヤビデオ信号の既定の部分内の層の最大数を決定し、層の最大数のそれぞれに対して、マルチレイヤビデオ信号の層特徴付け構文部分124を層の最大数と等しい回数繰り返し書くことによって、マルチレイヤビデオ信号104の中に最低1つの特徴を信号で伝えるように構成されている。例えば、エンコーダは、部分113の符号化を終えるまで、ストリーム104の出力を延期する。
【0089】
以下の図面は、マルチレイヤデータストリームに含まれたパケットの層IDを信号で伝える概念、および、どのような推論のためでも、0などのベース層IDの特定の値が、そこにおいて拡張層IDを付加した可能性から除外されることを要求することが必要な場合において、バックワード互換性を解決すること無く拡張メカニズムを使って、この層IDを効率的に信号で伝えることを達成する可能性を扱う。後者の必要性は以下の非対称を生じる:ベース層IDの殆んど全ての可能な値に対して、拡張層IDを付加することが実現できる。これは以下の非対称を生じる:ベース層IDの殆んど全ての値に対して、拡張層IDの付加が実現でき、従って、ベース層IDの殆んど全ての値の数×層ID値を表現可能な拡張層IDの表現可能な値の数を生じる。しかし、限定されたベース層ID値は、どのような拡張層IDでも付加する可能性を除く。従って、この非対称が受け入れられるか、または、ベース層IDの禁じられた値が、拡張メカニズムを使う場合において使われないかのいずれかである。以下に発表された解決は、より効率的な方法でこの問題を克服する。
【0090】
今回、この次の概念の説明は、ちょうど概説された制限が正確に適用されるHEVC規格の可能な拡張について直ちに概説される。しかし、以下で概説された概念は、例えば層識別拡張メカニズムの上に同様な制限を課す別の符号器にも移送可能である。
【0091】
HEVCの制限は、上で概説したように、ベース層が拡張できないことである。ゆえに、HEVC規格に従うために、層id拡張値layer_id_extは、0と等しいnuh_layer_idを持つ層に対して、信号で伝えることができない。従って、0と等しいnuh_layer_idに関連したクラスタは、ベース層自身のみを含むことができる。そのような異なるクラスタの中の層の等しくない数は不適当である。
【0092】
問題は、以下に概説された概念によって解決できる。それは、クラスタおよびクラスタ内の層id拡張値を、上の説明とは異なる方法で導き出す。それは、0と等しいnuh_layer_idに対して複数の層を持つことができないので、複数の層を持たない制限は、0と等しくない別のnuh_layer_id値に拡張される。これらの限定されたnuh_layer_id値に属する層は、そのとき、層の等しい数を持つクラスタを形成するために、無制限のnuh_layer_id値からの層と結合される。
【0093】
基本的なアイデアは、nuh_layer_idが、例えばビットマスキングによって2つの値に分離されることである。1つの値は、クラスタを決定するために用いられる。この方法の異なるnuh_layer_id値は同じクラスタに属することができる。もう1つの値は、layer_id_ext値の存在を決定し(それゆえ、仮に、複数の層がnuh_layer_id値に属することができるならば、決定し)、そして、LayerId派生においてlayer_id_ext_valueに追加のオフセットを決定するために利用される。
【0094】
基本的なアイデアの実施の形態のための例は、以下において与えられ、図18において説明される。従って、図18は、3と等しいmax_layer_id_ext(2と等しいLengthOfExtension)の例示的な場合に対して、layer_id_extとnuh_layer_idとLayerIdとの間の関係のための例を提供する。
【0095】
この例のみにおいて、6ビットnuh_layer_id値のうち5個の最上位ビットが、クラスタを決定するために用いられる。ゆえに、異なる最下位ビットを持つ2つのnuh_layer_id値が、1つのクラスタに属している。
【0096】
仮に、最下位ビットが0と等しいならば、layer_id_ext値は、nuh_layer_idおよびuh_layer_idに属する1つの層のみに対して、信号で伝えられない。定義によって、この層は、5個の最上位ビットによって規定されたクラスタ内の0と等しいlayer_id_extを持つ層である。さもなければ、仮に、最下位ビットが1と等しいならば、複数の層はnuh_layer_id値に属する。個々の層に対して、layer_id_ext値は明示的に信号で伝えられ、個々の層は5個の最上位ビットによって規定されたクラスタに属する。
【0097】
図19の構文テーブルは実施の形態のために使われる。それはパケット206のヘッダー、すなわちスライスセグメントのヘッダー、または、より精密なその破片を示す。
【0098】
nuh_layer_idの最下位ビットが0と等しいとき、Layer_id_extは存在しない。それが存在しないとき、それは0に等しいと推定される。可変のLayerIdは次の通り決定される。ここで、LengthOfExtensionは、ビットについてのlayer_id_ext構文要素の長さである。
LayerId=((nuh_layer_id>>1)<<LengthOfExtension)+layer_id_ext
【0099】
別の実施の形態において、可変のadd_layer_id_ext_lenは、ビットストリ-ム、例えばVPSにおいて信号で伝えられる。(前に説明した実施の形態が、1と等しいadd_layer_id_ext_lenを持つこの実施の形態の特別な場合であることに注意されたい)。6ビットnuh_layer_id構文要素の最上位ビット(6-add_layer_id_ext_len)は、クラスタを決定するために使われる。最下位ビットadd_layer_id_ext_lenは、layer_id_extが推定されるかどうかを規定する。さらに、それらはlayer_id_ext値に追加のオフセットを規定する。図20aおよび図20bの構文テーブルは、実施の形態を示すために用いられる。
【0100】
実施の形態において、nuh_layer_idの最下位ビット(add_layer_id_ext_len)が1と等しいとき、layer_id_extのみが存在する。layer_id_extが存在しないとき、それは0に等しいと推定される。可変のLayerIdは次の通り決定される。ここで、LengthOfExtensionは、ビットについてのlayer_id_ext構文要素の長さである。
LayerId=
((nuh_layer_id>>add_layer_id_ext_len)<<LengthOfExtension)+layer_id_ext+layerIdExtOffset
【0101】
従って、図18図20bについて上で概説された概念に従って、図2において描かれたマルチレイヤビデオデコーダのネットワーク要素などの装置は、レイヤ間予測を使って、ビデオ素材が、異なる情報量レベルに一致している異なる層で符号化されるマルチレイヤデータストリームを処理するように構成される。装置は、マルチレイヤデータストリームを含むパケットのそれぞれに対して、以下のことを行う。個々のパケットは、上で既に説明したように、異なる層のうちの1つと関連している。
【0102】
特に、図21に示すように、装置は、マルチレイヤデータストリームから、または、より正確には現在のパケットからベース層IDフィールド308を読み取る。ベース層IDフィールドは第1副フィールド308aと第2副フィールド308bとを含む。例えば、第1副フィールドはフィールド308の1つ以上の最下位ビットによって形成され、一方で、第2副フィールド308bはフィールド308の他の最上位ビットによって形成されることがある。図20bの例において示されるように、add_layer_id_ext_lenと称される高レベル構文要素310は、副フィールド308aの長さを定義することができる。
【0103】
ステップ312においてベース層IDフィールド308を読み取った後、装置はステップ314において、副フィールド308aが既定の基準を満たすかどうかをチェックする。例えば、仮に副フィールドが1であるか、または「すべて1のシーケンス」であるならば、基準は満たされる。既定の基準が満たされている場合、装置はステップ318において、データストリームから、または、より正確には現在のパケットから拡張層IDフィールド316を読み取る。そしてステップ320において、拡張層IDフィールドを使って、拡張値が拡張値領域の第1副セット内にあるように、拡張値を導き出す。ステップ320における導出は、フィールド316内のビット表現の単なるコピーに相当することもある。データストリームの要件として、拡張層IDフィールド316内の値が0などの特定の値を想定しないこともあり得る。さらに以下でさらに説明するように、ベース層IDフィールド308の副フィールド308aが基準を満たさない場合、後者の値が留保される。
【0104】
ステップ320の後、装置は、第2副フィールド308bの可能な値の領域からクラスタ値領域にマッピングすることによって、第2副フィールド308bからクラスタ値を導き出す。ステップ324において、現在のパケットが関連付けられている層、すなわち、フィールド308および316を含む層が、ステップ320と322において導き出されたクラスタおよび拡張値を使ってインデックスされる。クラスタおよび拡張値は、例えば最上位桁のためのクラスタ値を使って、例えばお互いに単に連結される。副フィールド308bに基づいたクラスタ値322の導出もまた、例えば、副フィールド308bのビットをクラスタ値のバイナリ表現として直接的に使用することから成ることもある。
【0105】
一方、ステップ314におけるチェックが、既定の基準が満たされていない場合、装置は、現在のパケットについてマルチレイヤデータストリームから拡張層IDフィールドを読み取ることを控える。むしろ、装置はステップ326において、拡張値を0に設定することなどによって、拡張値の領域の第1副セットに対して素である値に拡張値を設定し、そして、第2副フィールド308bの可能な値の領域からクラスタ値領域にマッピングすることによって、第2副フィールド308bからクラスタ値を導き出す。ステップ322と328における導出は、同じマッピングを使って実行することもできる。そのうえで、現在のパケットの層IDがステップ326と328において設定・導出されたクラスタ値および拡張値から決定される。ここで、層IDの決定が、ステップ320と322においてクラスタ値と拡張値が導出されたのと同じ方法で再び実行されうる。
【0106】
図21の説明を図18の実施の形態に関連させて、第1副フィールド308aは、1ビットの長さであり、特にフィールド308のLSBである。仮に、このLSB308aが勝ち取られて、拡張層IDフィールド316にわたる拡張値の前記領域が{0、1、2、3}であり、図18の場合において、layer_id_ext、すなわちフィールド316が2ビットの長さであるならば、既定の基準が満たされる。従って、拡張値の領域、すなわちステップ320における導き出しの共通領域の第1副セットは、{1、2、3}である。特に、ステップ320における導き出しは、図18の例の中で、拡張層IDフィールドに適用されたユニットのマトリクスの方法によって実施される。代わりに、いくらかの別の計算が、第1副フィールド308aの値をユニットのマトリクス応用の結果に追加するように使われる。従って、ステップ326において、拡張値は、{1、2、3}と互いに素である値、すなわち0に設定される。導き出し322と328において使われたマッピングは同じであるけれども、代わりに異なっていてもよい。マッピングは特にバイジェクティブ(bijective)である。
【0107】
ステップ324の中のインデックスの決定は、図18において説明されるように、より上位の桁を設定するためのクラスタ値と、より下位の桁を設定するための拡張値とを使用する。従って、図18において説明したように、layer_id_extフィールド、すなわち拡張層IDフィールド316は、nuh_layer_id、すなわちベース層IDフィールド308のLSBが1である場合に単に存在する。その他の場合は、layer_id_extフィールドは0であると推定される。従って、layer_id_extとnuh_layer_idの結合に対して層IDのマッピングは、完全に対称であり、未使用のビット表現は存在しない。layer_id_extの推定された値は、layer_id_extを移送することによって、データストリームの中で利用される。その結果、layer_id_extの移送のためのデータストリームの中に亘るビットが、実のところ、layer_id_extが3つの異なる値{1、2、3}を単に仮定するという事実を説明するように減少する。例えば、2進数の単項符号は、エントロピー符号化/復号化を使って、データストリームの中に符号化され、かつ、そこから復号化された2進数のストリングスの上に、{1、2、3}の3つの要素をマップするために使用される。
【0108】
従って、相互エイリアスが後ろの概念について記述される。レイヤ間予測を使って、異なる情報量レベルに一致している異なる層でビデオ素材が符号化されるマルチレイヤデータストリームを処理するように構成された装置。それぞれが異なる層のうちの1つと関連する複数のパケットを含むマルチレイヤデータストリーム。マルチレイヤデータストリームのパケットのそれぞれに対して、マルチレイヤデータストリームからベース層IDフィールドを読み取るように構成された装置。第1副フィールドおよび第2副フィールドを含むベース層IDフィールド。ベース層IDフィールドの第1副フィールドが、既定の基準を満たすかどうかについてのチェック。
【0109】
仮に、ベース層IDフィールドの第1副フィールドが既定の基準を満たすならば、マルチレイヤデータストリームから拡張層IDフィールドを読み取り、拡張値が拡張値の領域の第1副セット内にあるように、拡張層IDフィールドを使って拡張値を導き出し、そして、第2副フィールドの可能な値の領域からクラスタ値領域にマッピングすることによって、クラスタ値を第2副フィールドから導き出しなさい。
【0110】
仮に、ベース層IDフィールドの第1副フィールドが、既定の基準を満たさないならば、マルチレイヤデータストリームから拡張層IDフィールドを読み取ることを控え、拡張値を拡張値の領域の第1副セットと互いに素である値に設定し、そして、第2副フィールドの可能な値の領域からクラスタ値領域にマッピングすることによって、クラスタ値を第2副フィールドから導き出しなさい。
【0111】
ここで、装置は、個々のパケットが、クラスタと拡張値を使って関連する層に索引を付与する。既定の基準がマルチレイヤデータストリームから読み取られることに注意するべきである。上で説明したように、「第1副フィールド」は、「既定の基準」が「仮に1つならば」、1ビットの長さおよび特にLSBである。「拡張値の領域」は、例えば{0、1、2、3}である。「第1副セット」は{1、2、3}である。「拡張層IDフィールドを使って」は、代わりに、ユニットのマトリクス応用の結果に第1副フィールドの値を加えている、拡張層IDフィールドに適用されたユニットのマトリクスである。「拡張値と互いに素である値に設定しなさい」は、「0に」設定することである。「第1副フィールドの可能な値の領域からクラスタ値領域にマッピングすること」は、両方の場合に対して同じである。しかし、代わりに異なっていてもよい。マッピングはバイジェクティブである。「クラスタと拡張値を使って、個々のパケットが関連する層に索引を付与する」は、例えば、より下位の桁を設定するために、より上位の桁および拡張値を設定することに対して、クラスタ値を使うことを含む。
【0112】
後ろの概念は、レイヤ間予測を使って、異なる情報量レベルに一致している異なる層で、ビデオ素材202をマルチレイヤデータストリーム204の中に符号化するように構成された符号器の中に直接に移送される。マルチレイヤデータストリームは、それぞれが異なる層の1つと関連する複数のパケット206を含む。個々のパケットが関連する層が、クラスタと拡張値によって一意的に決定される。符号器は、仮に、拡張値が拡張値の領域の第1副セット内にあるならば、マルチレイヤデータストリームのパケット206のそれぞれに対して、第2副フィールドを設定するためのクラスタ値を使って、既定の基準を満たすために第1副フィールドを設定することで、第1副フィールド308aおよび第2副フィールド308bを含むベース層IDフィールド308をマルチレイヤデータストリームの中に挿入するように構成されている。そして、符号器は、拡張層IDを設定するための拡張値を使って、拡張層IDをマルチレイヤデータストリームの中に挿入するように構成されている。そして、符号器は、仮に、拡張値が拡張値の領域の第1副セットと互いに素である値に等しいならば、既定の基準を満たさないように、第2副フィールドを設定するためのクラスタ値を使って、第1副フィールドを設定することで、マルチレイヤデータストリームの中に、拡張層IDフィールドを挿入することおよびベース層IDフィールド308を挿入312することを控えるように構成されている。すなわち、符号器は、復号器が、正しい層IDを上で概説した方法で導き出して、復号側または受信側について上で概説したこれらに比較した逆マッピングをこの終わりに使うように、データストリームを生成する。
【0113】
上の説明を要約すると、同じく、エンハンスメント層データの層識別子、クラスタの中の層識別子のグループ化およびクラスタ内の符号化依存の効率的な信号に対して、拡張メカニズムが提供される。
【0114】
上に発表された詳細は、層にされた符号化シナリオの中のエンハンスメント層のデータに適用される。一方、ベース層のデータは不変に置かれる。層にされた符号化シナリオのベース層は、ベース層とエンハンスメント層のデータパケットの共通のヘッダー構文の中の層識別子(nuh_layer_idと比較してください)を通じて識別される。
【0115】
上の例では、受信者側の個々の装置はビデオデコーダである。従って動作するビデオデコーダは、復号化のための(拡張された)layerIDによって識別されたビットストリームのパケットを選ぶことができる。しかし、装置は、代わりに、ネットワーク利用、復号器についての知識などの外部のファクターに基づいて、(拡張された)layerIDによって識別されるビットストリームのパケットを捨てることができるネットワーク要素である。
【0116】
上の実施の形態の全てにおいて、マルチレイヤデータストリームは、別の層からレイヤ間予測された層が、1つ以上のさらなるビュー、奥行き情報、表面反射率情報、色組み合わせ情報、空間解像度改良およびSNR解像度改良を追加するように、レイヤ間予測を使って、異なる層にてその中で符号化されたビデオ素材を持つ。
【0117】
いくつかの面が装置の文脈において説明されたけれども、これらの面が、また、ブロックまたは装置が方法ステップまたは方法ステップの特徴に対応する対応方法の説明を表現することは明らかである。相似的に、方法ステップの文脈において説明された面は、また、対応する装置の対応するブロックまたはアイテムまたは特徴の説明を表現する。方法ステップのうちのいくつかまたは全ては、例えばマイクロプロセッサー、プログラム可能なコンピュータ、または電子回路のようなハードウェア装置によって(または使って)実行される。いくつかの実施の形態において、最も重要な方法ステップのうちの約1つ以上は、そのような装置によって実行される。
【0118】
上で述べられた発明の符号化された信号は、デジタル記憶媒体に蓄えられるか、または、無線通信媒体のような通信媒体またはインターネットのような有線通信媒体で移送される。
【0119】
特定の実行要件に依存することによって、本発明の実施の形態はハードウェアまたはソフトウェアにおいて実行できる。実行は、個々の方法が実行されるようなプログラム可能なコンピュータシステムと協力し(または、協力する可能性があり)、そこに蓄えられた電子的に読み取り可能な制御信号を持つデジタル記憶媒体(例えばフロッピー(登録商標)ディスク、DVD、ブルーレイ、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリ)を使って実行できる。従って、デジタル記憶媒体は読み取り可能なコンピュータであってもよい。
【0120】
本発明に従ったいくつかの実施の形態は、ここに説明された方法のうちの1つが実行されるように、プログラム可能なコンピュータシステムと協力する可能性がある電子的に読み取り可能な制御信号を持つデータキャリアを含む。
【0121】
一般に、本発明の実施の形態は、プログラム符号を持つコンピュータプログラム製品として実行できる。コンピュータにおいてコンピュータプログラム製品が稼働するとき、プログラム符号は方法のうちの1つを実行するために操作される。例えば、プログラム符号は機械的に読み取り可能なキャリアに蓄えられてもよい。
【0122】
別の実施の形態は、ここに説明された方法のうちの1つを実行するためのコンピュータプログラムを含み、機械的に読み取り可能なキャリアに蓄えられる。
【0123】
すなわち、本発明の方法の実施の形態は、従って、コンピュータプログラムがコンピュータにおいて稼働するとき、ここに説明された方法のうちの1つを実行するためのプログラム符号を持つコンピュータプログラムである。
【0124】
従って、本発明の方法の別の実施の形態は、ここに説明された方法のうちの1つを実行するためのコンピュータプログラムを含む、その上において記録されるデータキャリア(またはデジタル記憶媒体、またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体、または記録された媒体は、一般に実在し、および/または、非移行である。
【0125】
従って、本発明の方法の別の実施の形態は、ここに説明された方法のうちの1つを実行するためのコンピュータプログラムを表現しているデータストリームまたは一連の信号である。データストリームまたは一連の信号は、例えばデータ通信接続(例えばインターネット)を介して転送されるように構成される。
【0126】
別の実施の形態は、ここに説明された方法のうちの1つを実行するように構成された、または適用された処理手段(例えばコンピュータまたはプログラム可能な論理デバイス)を含む。
【0127】
別の実施の形態は、ここに説明された方法のうちの1つを実行するためのコンピュータプログラムをインストールしているコンピュータを含む。
【0128】
本発明に従う別の実施の形態は、レシーバーに対して、ここに記述された方法のうちの1つを実行するためのコンピュータプログラムを転送する(例えば、電子的にまたは光学的に)ように構成された装置またはシステムを含む。例えば、受信器は、コンピュータ、モバイル装置、メモリー装置または同類である。例えば、装置またはシステムは、コンピュータプログラムを受信器に転送するためのファイルサーバーを含む。
【0129】
いくつかの実施の形態において、プログラム可能な論理デバイス(例えば、フィールドプログラム可能ゲートアレイ)は、ここに説明された方法の機能のいくつかまたは全てを実行するために使用される。いくつかの実施の形態において、フィールドプログラム可能ゲートアレイは、ここに説明された方法のうちの1つを実行するために、マイクロプロセッサーと協働する。一般に、方法は、どのようなハードウェア装置によっても好ましく実行される。
【0130】
上に説明された実施の形態は、本発明の原則のためにのみ説明される。ここに説明された配置と詳細の部分修正と変化は、この分野における熟練した者に明白であることは理解される。従って、切迫した特許の請求項の範囲のみによって制限され、ここの実施の形態の説明と例示の方法によって提出された特定の詳細によって制限されない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16a
図16b
図16c
図17
図18
図19
図20a
図20b
図21
【外国語明細書】