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

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

▶ インテル コーポレイションの特許一覧

特許75667783DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術
<>
  • 特許-3DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術 図1
  • 特許-3DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術 図2
  • 特許-3DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術 図3
  • 特許-3DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術 図4
  • 特許-3DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術 図5
  • 特許-3DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術 図6
  • 特許-3DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術 図7
  • 特許-3DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術 図8
  • 特許-3DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術 図9
  • 特許-3DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-04
(45)【発行日】2024-10-15
(54)【発明の名称】3DoF+/MIV及びV-PCCのための没入型ビデオコーディング技術
(51)【国際特許分類】
   H04N 19/597 20140101AFI20241007BHJP
   H04N 19/70 20140101ALI20241007BHJP
【FI】
H04N19/597
H04N19/70
【請求項の数】 16
(21)【出願番号】P 2021562896
(86)(22)【出願日】2020-05-14
(65)【公表番号】
(43)【公表日】2022-07-14
(86)【国際出願番号】 US2020032953
(87)【国際公開番号】W WO2020232281
(87)【国際公開日】2020-11-19
【審査請求日】2023-05-09
(31)【優先権主張番号】62/847,779
(32)【優先日】2019-05-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】593096712
【氏名又は名称】インテル コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ボイス,ジル
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2018/130491(WO,A1)
【文献】米国特許出願公開第2018/0152688(US,A1)
【文献】米国特許出願公開第2015/0172544(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 -19/98
(57)【特許請求の範囲】
【請求項1】
没入型ビデオコーディングの方法であって、
没入型ビデオを表す深さアトラスピクチャシーケンス、テクスチャアトラスピクチャシーケンス、及び占有マップアトラスピクチャシーケンスのうちの1つ以上のシーケンスを受信するステップと、
深さアトラスピクチャシーケンス、テクスチャアトラスピクチャシーケンス、及び占有マップアトラスピクチャシーケンスのうちの前記1つ以上のシーケンスをビデオエンコーダによりコーディングして、それぞれが前記1つ以上のシーケンスのピクチャの個々の1つに対応する複数の出力時間を有するコーディング没入型ビデオデータを提供するステップであって、前記出力時間のサブセットの各々について、前記コーディング没入型ビデオデータは、コーディング深さアトラスピクチャ、コーディングテクスチャアトラスピクチャ、及びコーディング占有マップアトラスピクチャの1つ以上のイントラコーディングピクチャを含む、ステップと、
前記コーディング没入型ビデオデータを送信するステップと、
を含む方法。
【請求項2】
出力時間の前記サブセットは、前記出力時間の範囲外で間隔を開けて提供される前記没入型ビデオにアクセスするためのランダムアクセスポイントを含み、前記コーディング深さアトラスピクチャ、前記コーディングテクスチャアトラスピクチャ、及び前記コーディング占有マップアトラスピクチャの1つ以上の前記イントラコーディングピクチャは、前記コーディング深さアトラスピクチャ、前記コーディングテクスチャアトラスピクチャ、及び前記コーディング占有マップアトラスピクチャの各々の前記イントラコーディングピクチャを含む、請求項1に記載の方法。
【請求項3】
前記出力時間の前記サブセットの各々は、ントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャのうちの1つ以上を含む出力ユニットに対応する、請求項1又は2に記載の方法。
【請求項4】
前記コーディング没入型ビデオデータは、前記イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応するイントラコーディング追加属性アトラスピクチャを更に含む、請求項に記載の方法。
【請求項5】
前記コーディング没入型ビデオデータは、前記イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応するアトラスパラメータリストを更に含む、請求項~4のいずれか一項に記載の方法。
【請求項6】
没入型ビデオコーディングの方法であって、
没入型ビデオを表す深さアトラスピクチャシーケンス、テクスチャアトラスピクチャシーケンス、及び占有マップアトラスピクチャシーケンスのうちの1つ以上のシーケンスのピクチャの個々の1つにそれぞれ対応する複数の出力時間を含むコーディング没入型ビデオデータを受信するステップと、
前記コーディング没入型ビデオデータを復号して、前記深さアトラスピクチャシーケンス、前記テクスチャアトラスピクチャシーケンス、及び前記占有マップアトラスピクチャシーケンスを生成するステップであって、前記出力時間のサブセットの各々について、号シーケンスは、コーディング深さアトラスピクチャ、対応するコーディングテクスチャアトラスピクチャ、及び対応するコーディング占有マップアトラスピクチャの各々のイントラコーディングピクチャを含む、ステップと、
前記復号ーケンスを用いてビューアのための提示を準備するステップと、
を含む方法。
【請求項7】
出力時間の前記サブセットは、前記出力時間の範囲内で間隔を開けて提供される前記没入型ビデオにアクセスするためのランダムアクセスポイントを含み、前記方法は、
第1ランダムアクセスポイントのための前記コーディング没入型ビデオデータをモニタするステップを更に含み、
前記復号するステップは前記第1ランダムアクセスポイントに応答する、請求項6に記載の方法。
【請求項8】
前記出力時間の前記サブセットの各々は、ントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャを含む出力ユニットに対応する、請求項6又は7に記載の方法。
【請求項9】
前記コーディング没入型ビデオデータは、前記イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応するイントラコーディング追加属性ピクチャを更に含む、請求項に記載の方法。
【請求項10】
前記コーディング没入型ビデオデータは、前記イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応するアトラスパラメータリストを更に含む、請求項~9のいずれか一項に記載の方法。
【請求項11】
没入型ビデオコーディングの方法であって、
没入型ビデオに対応する複数のアトラスについて、少なくともアトラス数-1パラメータ及び複数のアトラスのうちの第1アトラスの第1パッチに関連付けられたカメラインデックスを表すコーディング表現を含むコーディングアトラスパラメータを含むビットストリーム部分を受信するステップと、
前記アトラス数-1パラメータの前記コーディング表現を復号するステップと、
整数ビット復号を用いて、前記複数のアトラスのうちの第1アトラスの第1パッチに関連付けられたカメラインデックスのコーディング表現を復号するステップであって、前記整数ビット復号は、カメラ数-1パラメータに基づく整数長を有する、ステップと、
前記複数のアトラス、された前記アトラス数-1パラメータ、及び前記複数のアトラスのうちの第1アトラスの第1パッチに関連付けられた前記カメラインデックスに基づき少なくとも1つのビューピクチャを生成するステップと、
を含む方法。
【請求項12】
前記コーディング表現は、前記第1パッチのパッチサイズを更に含み、前記方法は、
整数ビット復号を用いて、前記第1パッチのパッチサイズのコーディング表現を復号するステップであって、前記整数ビット復号は前記カメラ数-1パラメータに基づく、ステップ、を更に含む請求項11に記載の方法。
【請求項13】
前記カメラ数-1パラメータに基づく前記整数ビット復号は、前記カメラ数-1パラメータの2を底とする対数に等しい整数サイズにおけるパッチサイズの整数ビット復号を含む、請求項11又は12に記載の方法。
【請求項14】
装置であって、
メモリと、
前記メモリに結合された1つ以上のプロセッサと、
を含み、前記プロセッサは請求項1~13のいずれか一項に記載の方法を実行する、装置。
【請求項15】
複数の命令を含む少なくとも1つの機械可読媒体であって、前記命令は、コンピューティング装置上で実行されることに応答して、該コンピューティング装置に請求項1~13のいずれか一項に記載の方法を実行させる、機械可読媒体。
【請求項16】
請求項1~13のいずれか一項に記載の方法を実行するための手段を含むシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[優先度の主張]
本願は、参照により全体がここに組み込まれる米国仮特許出願番号第62/847,779号、2019年5月14日出願、名称「A COMMON SPECIFICATION FOR THREE DEGREE OF FREEDOM PLUS/METADATA FOR IMMERSIVE VIDEO (3DoF+/MIV) AND VIDEO-POINT CLOUD CODING (V-PCC)」の優先権を主張する。
【背景技術】
【0002】
圧縮/伸長(compression/decompression (codec))システムでは、圧縮効率及びビデオ品質は重要な性能基準である。例えば、視覚的品質は、多くのビデオアプリケーションにおいてユーザ経験の重要な側面であり、圧縮効率は、ステレオビデオファイルを格納するために必要なメモリ記憶容量及び/又はビデオコンテンツを送信及び/又はストリーミングするために必要な帯域幅の量に影響を与える。ビデオエンコーダは、ビデオ情報を圧縮して、より多くの情報が所与の帯域幅で送信できる、又は所与のメモリ空間に格納できる、等のようにする。圧縮信号又はデータは、次に、ユーザへの表示のために信号又はデータを復号又は伸長するデコーダにより復号される。多くの実装では、視覚的品質が高いほど、より多くの圧縮が望まれる。
【0003】
現在、2つの別個の規格仕様が、MPEG(Moving Pictures Experts Group)により、3DoF+/MIV(3 Degree of Freedom Plus/Metadata for Immersive Video)プロジェクト、及びV-PCC(Video-Point Cloud Coding)プロジェクトのために策定されている。2つの異なる規格の実装は、製品統合のために更なる設計の複雑性を要求し、規格のエコシステムの採用の可能性を低くする。更に、既存の規格は、高い複雑性及び/又は非効率なビデオ圧縮効率の領域を有する。これら及び他の検討に関して、現在改良が必要とされている。このような改良は、没入型の3Dビデオを符号化及び復号する要望がより一般的になるにつれ、重要になり得る。
【図面の簡単な説明】
【0004】
本願明細書で説明される事柄は、添付の図面に例として示され、限定ではない。説明の簡単さ及び明確さのために、図中の要素は必ずしも縮尺通りではない。例えば、幾つかの要素の寸法は、明確さのために他の要素に対して誇張されていることがある。更に、適切であると考えられる場合には、対応する又は同様の要素を示すために、参照符号は複数の図に渡り繰り返される。図は以下の通りである。
図1】ビットストリームを生成するための没入型ビデオの入力ビューをコーディングする例示的なエンコーダシステムの説明図である。
図2】例示的なテクスチャアトラス、深さアトラス、占有マップアトラス、及び再構成ビュー表現を示す。
図3】没入型ビデオに対応するビューポートを生成するためにビットストリームを復号する例示的なデコーダシステムの説明図である。
図4】イントラランダムアクセスポイントを含む没入型ビデオコーディングの例示的な処理を示すフロー図である。
図5】カメラパラメータのコーディングを含む没入型ビデオコーディングの例示的な処理を示すフロー図である。
図6】没入型ビデオコーディングに関する例示的なカメラアレイ及び対応するカメラパラメータを示す。
図7】パッチの例示的な90回転を示す。
図8】アトラスパラメータのコーディングを含む没入型ビデオコーディングの例示的な処理800を示すフロー図である。
図9】例示的なシステムの説明図である。
図10】本開示の少なくとも幾つかの実装により全て構成された例示的な装置を示す。
【発明を実施するための形態】
【0005】
1つ以上の実施形態又は実装は、添付の図面を参照して以下に説明される。特定の構成及び配置が議論されるが、これは説明目的でのみ行われることが理解されるべきである。当業者は、他の構成及び配置が本開示の精神及び範囲から逸脱することなく利用され得ることを理解する。本願明細書に記載の技術及び/又は構成は、本願明細書に記載された以外の種々の他のシステム及びアプリケーションで利用されてもよいことが当業者に明らかである。
【0006】
以下の説明は、例えばシステムオンチップ(SoC)アーキテクチャのようなアーキテクチャにおいて明白な種々の実装を説明するが、本願明細書に記載の技術及び/又は構成の実装は、特定のアーキテクチャ及び/又はコンピューティングシステムに限定されず、同様の目的で任意のアーキテクチャ及び/又はコンピューティングシステムにより実装されてよい。例えば、例えば複数の集積回路(IC)チップ及び/又はパッケージを利用する種々のアーキテクチャ、及び/又は種々のコンピューティング装置、及び/又は、セットトップボックス、スマートフォン等のような消費者電子機器(CE)装置は、本願明細書に記載の技術及び/又は構成を実装してよい。更に、以下の説明は、ロジック実装、システムコンポーネントの種類及び相互関係、論理区分/統合選択、等のような多数の特定の詳細事項を説明するが、請求される主題は、このような特定の詳細事項を有さず実施できる。他の例では、例えば制御構造及び完全なソフトウェア命令シーケンスのような幾つかの題材は、本願明細書に開示される題材を曖昧にすることを回避するために、詳細に示されない。
【0007】
本願明細書に開示される題材は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組み合わせで実装されてよい。本願明細書に開示される題材は、1つ以上のプロセッサにより読み出され実行され得る、機械可読媒体に格納された命令として実装されてもよい。機械可読媒体は、機械(例えば、コンピューティング装置)により読み取り可能な形式で情報を格納又は送信する任意の媒体及び/又はメカニズムを含んでよい。例えば、機械可読媒体は、ROM(read only memory)、RAM(random access memory)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置、電気/光記憶媒体、フラッシュメモリ装置、電気/光/音響又は他の形式の伝搬信号(例えば、搬送波、赤外信号、デジタル信号、等)、等を含んでよい。
【0008】
明細書における「一実装」、「実装」、「例示的な実装」等の表現は、記載される実装が、特定の特徴、構造、又は特性を含み得るが、全ての実施形態が必ずしも該特定の特徴、構造、又は特性を含まなくてよいことを示す。更に、このような語句は、必ずしも同じ実装を参照しない。更に、特定の特徴、構造、又は特性がある実施形態と関連して記載されるとき、本願明細書に明示的に記載されるか否かに関わらず、他の実装に関連するこのような特徴、構造、又は特性に効果を与えることが、当業者の知識の範囲内であると言える。
【0009】
用語「実質的に」、「近い」、「近似的に」、「ほぼ」、「約」は、通常、目標値の+/-10%の範囲内にあることを表す。例えば、それらの使用の文脈上明示的に指定されない限り、用語「実質的に等しい」、「ほぼ等しい」、「近似的に等しい」は、記載されるものの間に偶発的な相違しか存在しないことを意味する。従来、このような変位は、標準的に所定の目標値の+/-10%より大きくない。特に断りの無い限り、共通のオブジェクトの順序を示す形容詞「第1」、「第2」、「第3」等の使用は、同様のオブジェクトの異なるインスタンスが参照されることを単に示すものであり、記載のオブジェクトが時間的、空間的、ランク的、又は任意の他の方法の所与の順序で存在しなければならないことを意味しない。
【0010】
方法、装置、機器、コンピューティングプラットフォーム、及びアーティクルは、3DoF+/MIV(3 Degree of Freedom Plus/Metadata for Immersive Video)及びV-PCC(Video-Point Cloud Coding)に関してここに説明される。
【0011】
ここで議論される技術は、3DoF+/MIV及びV-PCCの結合没入型ビデオ(immersive video (IV))仕様を提供する。開示の技術は、没入型ビデオシーケンス及び没入型ビデオ出力ユニットの定義、アトラスのためのHEVC(High Efficiency Video Coding)ScalabilityIdタイプ、占有マップ、及び追加属性の割り当て、IVユニットを運ぶために使用できる又は使用できないHEVC NAL(Network Abstraction Layer)ユニットタイプの割り当て、無損失モードにおける占有マップのビットパッケージ、カメラパラメータリスト及びアトラスパラメータリストの符号化効率向上、デコーダ準拠要件としてのポイントクラウドレンダリング、等を含む。
【0012】
開示の技術は、結合IV仕様を実装し評価するために2つの別個の仕様を有する(例えば、結合IV仕様が個別のグラフィックコンポーネントに実装される)のではなく、実装の複雑性を低減した単一の結合された仕様を含む、種々の利点を提供する。更に、結合仕様は、相互運用を簡略化する、規格適合性のより明確な定義を有する。
【0013】
ここに議論される技術は、MIV及びV-PCCを提供する。これらの両者は、共通の仕様によりサポートされるが、異なるテストモデル/参照ソフトウェアを有する。2つの既存の別個の仕様は、MIV WD1及びV-PCC SCDと呼ばれる。ここに議論される共通MIV/V-PCC仕様は、IVのため、没入型ビデオのためとして参照される。提案されるシンタックスは、完全なV-PCC特徴セットを組み込むための変更を提供する。MIV使用例をサポートするためのプロファイルが提供され、これは、基本点クラウドコーディングサポートも提供し得る。正確な再構成を可能にするV-PCC使用例をサポートするためのプロファイルもここで提供される。MIV要件は、HEVCが使用されることを記述する。MIV「Immersive Main 10」プロファイルがここで提供される。これは、HEVCに限定され、テクスチャ及びアトラス深さコンポーネント及び関連する占有マップを運ぶためにHEVC Annex F拡張の使用を要求する。新しいHEVC「Independent Layers Main 10」プロファイルも、複数の独立レイヤを含むビットストリームについてHEVC準拠を定めるために提供される。これは、IVに限らず、広範な使用例に適用可能である。V-PCCは、異なるビデオコーデックの使用を可能にし、HEVC及びAVCに言及する。AVCを用いてV-PCCをサポートするために、IV仕様の中で汎用マルチレイヤ設計を定義するのではなく、HEVCのAnnex Fと同様にAVCに対する高レベルシンタックス拡張が提供される。VVC(Versatile Video Coding)は、例えば、議論されるHEVC技術と同様の方法で使用できるマルチレイヤ設計をサポートする。V-PCC「Point Cloud HEVC Main 10」プロファイルがここで提供される。添付のドラフト仕様(Draft Specification for Immersive Video (IV))はIV仕様を提供する。V-PCCの幾つかの態様についてサポートが追加されたが、V-PCC機能を完全にサポートするために、追加の変更が要求される。
【0014】
図1は、本開示の少なくとも幾つかの実装により構成されたビットストリーム107を生成するための没入型ビデオの入力ビュー101をコーディングする例示的なエンコーダシステム100の説明図である。図1に示すように、エンコーダシステム100は、アトラス生成部111、カメラパラメータエンコーダ112、テクスチャビデオエンコーダ113、深さビデオエンコーダ114、占有ビデオエンコーダ115、アトラスパラメータエンコーダ116、及びマルチプレクサ117を含む。
【0015】
エンコーダシステム100はビデオ圧縮を提供し、エンコーダシステム100は、コンピューティングシステムなどのようなコンピュータ又はコンピューティング装置により実装されるビデオエンコーダシステムの部分であってよい。例えば、エンコーダシステム100は、入力ビュー101を受信し、ビットストリーム107を生成する。ビットストリーム107は、入力ビュー101の少なくとも幾つかの伸長バージョンを生成するためにデコーダにより復号されてよい。ビットストリーム107は、例えばMIV又はV-PCCのようなビデオ圧縮-伸長(compression-decompression (codec))規格と互換性があってよい。エンコーダシステム100は、提示の明確のために示されない他のモジュール又はサブモジュールを含んでよい。例えば、エンコーダシステム100は、ダウンサンプラ、符号化制御部、変換モジュール、量子化モジュール、イントラ予測モジュール、インター予測モジュール、エントロピーエンコーダ、等を含んでよい。このようなモジュールは当業者に知られており、提示の明確さのためにここで更に議論されない。エンコーダシステム100は、サーバ、パーソナルコンプータ、ラップトップコンピュータ、タブレット、ファブレット、スマートフォン、デジタルカメラ、ゲームコンソール、ウェアラブル装置、ディスプレイ装置、オールインワン装置、ツーインワン装置、等のような、任意の適切な装置により実装されてよい。例えば、ここで使用されるとき、システム、装置、コンピュータ、又はコンピューティング装置は、任意のこのような装置又はプラットフォームを含んでよい。
【0016】
アトラス生成部111は、符号化のために入力ビュー101(入力ビデオのマルチビュー)を受信する。例えば、シーンの任意の数のビュー及びビューは、テクスチャピクチャ又はフレーム(又はテクスチャビデオ)、及びジオメトリピクチャ又はフレーム(又はジオメトリビデオ)を含んでよい。特に、各時間インスタンスについて、シーンの1つ以上のビューのビデオデータが提供され、その結果、複数のテクスチャフレーム及び複数の深さ又はジオメトリフレームが実装されてよい。例えば、各テクスチャフレームは、YUVデータ、RGBデータ、又は同様のデータのようなピクセル毎色情報を含んでよく、各ジオメトリ又は深さフレームは、ピクセル毎深さデータ又は同様のデータを含んでよい。テクスチャ及びジオメトリフレームは、同じ又は異なる解像度を有してよい。例えば、テクスチャフレームは、ビデオグラフィックアレイ(video graphics array (VGA))、高解像度(high definition (HD))、Full-HD(例えば、1080p)、4K解像度ビデオ、8K解像度ビデオ、等であってよい。個々で議論される技術は、フレーム及びピクチャ(これらは同義的に使用される)に関して議論される。
【0017】
アトラス生成部111は、入力ビュー101の1つ以上の時間インスタンスについて、テクスチャアトラス(texture atlas)103、ジオメトリ又は深さアトラス(geometry又はdepth atlas)104、占有アトラス(occupancy atlas)105、及び対応するアトラスパラメータを生成する。例えば、入力ビュー101のマルチビューの各々は、アトラスを形成するよう構成されるパッチ(例えば、長方形領域)に分解されてよい。アトラスの形成は、複数のビューの間の重複を低減することを目的とする。図示のように、テクスチャアトラス103(テクスチャ情報を含む)、ジオメトリ又は深さアトラス104(ジオメトリ又は深さ情報を含む)、占有アトラス105(占有情報を含む)、及びアトラスパラメータ106が形成され、対応するエンコーダ113、114、115、116に提供される。各エンコーダは、符号化システム101のマルチプレクサ117に提供されるテクスチャアトラス103、ジオメトリ又は深さアトラス104、占有アトラス105、及びアトラスパラメータ106を符号化する。更に、カメラパラメータエンコーダ112は、カメラパラメータ102を受信し、それらをビットストリームに符号化する。カメラパラメータエンコーダ112は、ビットストリーム107に含めるためにマルチプレクサ117によっても受信される。カメラパラメータ102は、入力ビュー101に対応するカメラの各々(例えば、入力ビュー101を獲得するために使用されるカメラ)についての外部及び固有パラメータを含み、以下に更に議論される。
【0018】
ここに議論する実施形態によると、種々の用語及びパラメータが定義される。以下は、本発明の技術の実施形態による定義を提供する。用語:3Dシーンは、グローバル参照座標系における視覚的コンテンツを示す。用語:アクセスユニットは、指定された分類ルールに従い互いに関連付けられた、復号順で連続する、殆どの場合にnuh_layer_idの任意の特定値を有する1つのコーディングピクチャを含むNALユニットのセットを示す。用語:アトラス(atlas)は、テクスチャコンポーネントピクチャ、対応する深さコンポーネントピクチャ、及び対応する占有マップピクチャを含むピクチャグループへの、パッキング処理後の1つ以上のビュー表現からのパッチの集約を示す。用語:アトラスコンポーネントは、アトラスのテクスチャ、深さ、又は占有マップコンポーネントを示す。用語:アトラスレイヤグループは、ビットストリーム内のアトラスを表すテクスチャレイヤ、対応する深さレイヤ、及び対応する占有マップレイヤを示す。用語:アトラスリストは、同じIV出力ユニット内に存在し得る1つ以上のアトラスのリストを示す。用語:アトラスパッチ占有マップは、アトラス内の各サンプル位置についてどのパッチにサンプルが対応するか、又はサンプルが無効かどうかを示す値のアトラスに対応する2Dアレイを示す。用語:アトラスシーケンスは、各IV出力ユニットについて、最大で1つのアトラスを含む、1つ以上のアトラスのシーケンスを示す。用語:カメラパラメータは、固有及び外部パラメータを含む、3Dシーンからビュー表現を生成するために使用される投影を定義する。用語:カメラパラメータリストは、1つ以上のカメラパラメータのリストを示す。用語:コンポーネントは、深さ又はテクスチャ又は占有マップを示す。用語:深さレイヤは、アトラス深さコンポーネントを表すレイヤを示す。用語:視野は、キャプチャ/記録されたコンテンツ内の、又は物理ディスプレイ装置内の、観察可能な世界の範囲を示す。用語:グローバル座標軸は、同じ取得位置を表し一緒にレンダリングされることを意図されるオーディオ、ビデオ、及び画像に関連付けられた座標軸を示す。用語:グローバル参照座標系は、メートルの単位のグローバル座標軸を用いる3Dデカルト座標系を示す。用語:仮説参照レンダラは、ビューポートを出力する仮説レンダラモデルを示す。用語:仮説3Dシーン再構成部は、3Dビデオシーケンスを出力する仮説3Dシーン再構成部を示す。用語:没入型ビデオシーケンス(immersive video sequence (IVS))は、1つ以上の没入型ビデオ出力ユニットのシーケンスを示す。用語:レイヤは、全部がnuh_layer_idの特定の値を有するVCL NALユニット、及び関連する非VCL NALユニットのセット、又は階層的関係を有するシンタックス構造のセットのうちの1つを示す。用語:占有マップは、対応するテクスチャピクチャ内のサンプルの占有を示す2Dアレイを示す。用語:全方向メディアは、頭部搭載装置により消費される場合にユーザの視野方向に従い、又はユーザの所望のビューポートに従い、その他の場合にはユーザがメディアがキャプチャされた場所及び時間にそこにいるかのようにレンダリングを可能にする、画像又はビデオ及びその関連するオーディオのようなメディアを示す。用語:全方向投影は、投影ピクチャのサンプルが単位球上の方位及び高度座標のセットにより識別される位置のセットにマッピングされる処理の逆を示す。投影は、ERP、立体マップ(cubic map)又は遠近法である。用語:出力ユニットは、指定された分類ルールに従い互いに関連付けられた、復号順で連続する、正確に1つの出力表現を含むNALユニットのセットを示す。用語:パッチは、ビュー表現の範囲内の長方形領域に対応する、アトラスの範囲内の長方形領域を示す。用語:パッチ記述子は、パッチのサイズを含むパッチ、アトラス内の位置、アトラス内の回転、ビュー内の位置の記述を示す。用語:ピクチャグループは、同じアクセスユニットからのテクスチャピクチャ及び対応する深さピクチャ及び占有マップピクチャを示す。用語:ポイントは、量子化3Dグローバル参照座標系における3D位置を示す。用語:ポイントクラウドシーケンスは、1つ以上のポイントクラウドのシーケンスを示す。用語:ポイントクラウドは、特定の時間インスタンスにおける、量子化3Dグローバル参照座標系における3Dポイントのセット、及び任意的に対応する属性のセットを示す。用語:投影は、ビュー表現の投影テクスチャコンポーネントピクチャの同じ値が、対応する深さサンプル値及びカメラパラメータリストに従い、グローバル参照座標系で表現される3Dシーン内の位置のセットにマッピングされる処理の逆を示す。用語:基準点クラウドレンダラは、復号処理の出力から復号ポイントクラウドシーケンスを導出する処理の実施形態を示す。用語:レンダラは、ビュー方向及びビュー位置に対応する3Dシーン表現からのビューポートを生成する処理の実施形態を示す。用語:ソースは、符号化の前にビデオ素材又はその属性の幾つかを記述するために使用される用語を示す。用語:ソースビュー表現は、現実のカメラによる3Dシーンのキャプチャにより、又はカメラパラメータを用いて仮想カメラによる表面への投影により、又はポイントクラウドの表面への投影により、取得されてよい、ビュー表現のフォーマットに対応する符号化の前のソースビデオ素材を記述するために使用される用語を示す。用語:テクスチャレイヤは、アトラステクスチャコンポーネントを表すレイヤを示す。用語:ユーザがオーディオ-ビジュアルコンテンツを消費している方向を特徴付ける方位、高度、及びチルト各の3つ(triple)を示し、画像又はビデオの場合にはビューポートの方向を特徴付ける。用語:ビュー位置は、オーディオ-ビジュアルコンテンツを消費しているユーザのグローバル参照座標系内の位置を特徴付けるx、y、zの3つ(triple)を示し、画像又はビデオの場合にはビューポートの位置を特徴付ける。用語:ビュー表現は、カメラパラメータを用いて3Dシーンの表面への投影を表すテクスチャコンポーネント及び対応する深さコンポーネントの2Dサンプルアレイを示す。用語:ビューポートは、特定のビュー方向及びビュー位置による表示及びユーザによる閲覧に適する全方向又は3D画像又はビデオの視野の特定の表面へのテクスチャの投影を示す。
【0019】
更に、以下の略語がここで使用される:2D(Two-Dimensional)、CMP(CubeMap Projection)、CVS(Coded Video Sequence)、ERP (EquiRectangular Projection)、FOV(Field Of View)、HEVC(High Efficiency Video Coding)、HMD (Head-Mounted Display)、IRAP(Intra Random Access Point)、OMAF(Omnidirectional MediA Format)、URN(Uniform Resource Name)、及びVR(Virtual Reality)。算術演算、論理演算、関係演算、ビット毎演算、割り当て演算、範囲表記、数学的関数、動作進行の順序、変数、シンタックス要素、及びテーブル、論理演算の記述、及び処理は、ここで、従来におけるそれらの一般的使用方法に従い使用される。
【0020】
幾つかの実施形態では、ビットストリーム107は、カメラパラメータリストを含むIVシーケンスパラメータ、アトラスパラメータリストを含むIV出力ユニットパラメータ、及び1つ以上のアトラスレイヤグループを含むマルチレイヤビデオコーデックビットストリームを含む。幾つかの実施形態では、ビットストリーム107により表現される没入型ビデオソースは、テクスチャ及び深さピクチャの1つ以上のシーケンスである。テクスチャ及び深さピクチャの各々は、3Dシーンのビューの特定の時間インスタンスを表し、現実のカメラによりキャプチャされ又は仮想カメラにより生成されたものであってよく、或いは、ポイントクラウドを複数の表面に投影することにより生成されたものであってよい。幾つかの実施形態では、出力は、カメラパラメータリストであり、1つ以上のアトラスの各々について、以下:テクスチャコンポーネント、深さコンポーネント、及び占有マップコンポーネントを有する復号ピクチャグループのシーケンス、追加属性の復号ピクチャの任意的シーケンス、アトラスパラメータのシーケンス、及びアトラスパッチ占有マップのシーケンス、である。幾つかの実施形態では、仮説参照レンダラは、出力から、指定されたビュー位置及びビュー方向におけるビューポートを再構成できる。例えば、仮説3Dシーン再構成部は、出力から3Dビデオシーケンスを再構成できる。幾つかの実施形態では、任意的な追加属性により、復号処理の出力から、指定された参照ポイントクラウドレンダラは、ポイントクラウドシーケンスを再構成できる。
【0021】
以下の議論は、ビットストリーム107の高レベルビットストリーム構造になる。特に、ここで議論される結合MIV/V-PCC設計の基本態様は、ビットストリームの全体構造である。2つの別個の仕様における幾つかの高レベルの背景が提供され、次に、本開示のIV高レベルビットストリーム構造を議論する。
【0022】
MIV WD[N18464]は、テクスチャ及び深さコンポーネントをそれぞれ有する1つ以上のアトラスの使用を定義する。アトラステクスチャコンポーネント及びアトラス深さコンポーネントは、それぞれ、HEVCを用いてコーディングされ、各コンポーネントはマルチレイヤビットストリーム内の別個のレイヤで運ばれる。アトラスは、1つ以上のパッチを含み、各パッチは、特定のビュー表現からの対応する位置を有する長方形領域である。MIV WD1では、コーディングピクチャ順序は全部のレイヤについて、例えばアトラスの各コンポーネントについて、同じであることが要求される。これは、マルチレイヤビットストリーム内の各アクセスユニットがテクスチャコーディングピクチャ及び深さコーディングピクチャの両方を含むことを意味する。カメラパラメータリストシンタックス構造は、1つ以上のカメラのリストをシグナリングし、各カメラについて外部及び固有パラメータをシグナリングする。カメラパラメータリストは、各IRAP(Intra Random Access Picture)についてシグナリングされる。シグナリングされるパラメータは、3Dビデオシーンの表面への投影からの、各ビュー表現を生成するために使用される位置及び方向を含む。ビデオ投影表面は、(遠近法の)平面又は(全方向投影の)球であってよい。アトラスパラメータは、各IRAPピクチャについてシグナリングされてよいか、又はピクチャ毎にシグナリングされてよい。アトラスパラメータの非インターフレーム予測が実行される。テストMIVソフトウェアでは、アトラスパラメータは、各ピクチャについてではなく、各IRAPについてシグナリングされ、値は、新しいIRAPが生じるまでコーディングビデオシーケンスを通じて持続する。アトラスパラメータリストシンタックス構造は、1つ以上のアトラスのリストをシグナリングする。各アトラスについて、パッチのリストが記述され、各パッチ記述は以下の情報を含む:パッチの(幅、高さ)、アトラス内のパッチの(x,y)位置、ビュー内のパッチの(x,y)位置、パッチの回転、ビューに対するアトラス。占有マップデータは、占有されたサンプル位置を示すために閾値より低い値を用いて深さの中に埋め込まれる。深さのコーディングピクチャサイズは、対応するテクスチャのコーディングピクチャサイズに等しいことが要求される。復号処理の出力は、アトラスを著す1つ以上の復号ピクチャシーケンスグループを含む。各グループは、アトラステクスチャコンポーネントを表すテクスチャピクチャシーケンス、アトラス深さコンポーネントを表す深さピクチャシーケンス、1つ以上のアトラスパッチ占有マップシーケンス、及びアトラスパッチシーケンスを含む。アトラスパッチ占有マップは、2Dアレイであり、テクスチャ及び深さピクチャと同じサイズであり、各サンプル位置の位置としてパッチidを含む。仮説ビューポートレンダラは、それらの出力を使用できるとして言及されるが、記述及び指定されない。
【0023】
V-PCCでは、アトラスに似た概念が使用されるが、アトラスという用語は使用されない。深さは、ジオメトリ(geometry)と呼ばれる。ポイントクラウドシーケンスは、テクスチャ及びジオメトリビデオを形成する、平面へのテクスチャ及びジオメトリ(深さ)投影により表される。実線境界長方形を表す6投影平面、又は8投影平面が使用される。投影平面は、外側から見て、ポイントクラウドを囲む。パッチデータは、ピクチャ毎にシグナリングでき、インターフレーム予測を使用してよい。占有マップデータは、ビデオピクチャとしてコーディングされ、損失又は無損失ビデオコーディングを使用してよい。法線及び反射率のようなポイントクラウドの追加属性も、平坦な表面への投影を用いて、ビデオピクチャとしてコーディングされてよい。テクスチャ、深さ、占有マップ、及び追加属性ピクチャが同じコーディングピクチャ順序に従うことは要求されない。V-PCC SCDは、これらの別個のビデオコーデックビットストリームの間の任意の調整を明確に記述しないが、おそらく、ランダムアクセスを有効にするために、何からのタイプの調整が必要であることが定義される必要があるだろう。復号処理の出力は、テクスチャ、ジオメトリ、占有マップ、及び任意の属性に対応する復号ビデオストリームのセット、及びポイントクラウドシーケンスに関する情報、及び復号パッチデータ情報である。これらの出力は、指定される3Dポイントクラウド再構成処理を実行するために使用できるが、常に準拠することを要求されない。
【0024】
以下は、幾つかの実施形態による、ビットストリーム107の高レベルビットストリーム構造を提供する。幾つかの実施形態では、ビットストリーム107は、1つ以上のIVSのシーケンスを含む。各IVSは、出力ユニットのシーケンスを含む。各IVSは、1つ以上のアトラスレイヤグループを含み、各アトラスレイヤグループは、テクスチャレイヤ、深さレイヤ、及び占有マップレイヤを含む。各レイヤは、ユニークな独立ビデオコーデックレイヤ内の1つ以上の連続するCVSを含み、各CVSはコーディングピクチャのシーケンスを含む。IVSはレイヤ毎にCVSで開始する。各アトラスレイヤグループは、アトラスのシーケンスを表す。アトラスは、テクスチャコンポーネントピクチャ、深さコンポーネントピクチャ、及び占有マップピクチャにより、各出力ユニット内の復号ピクチャグループにより表現される。アトラスのサイズは、アトラスを表すテクスチャレイヤの復号ピクチャのサイズに等しい。幾つかの実施形態では、深さ復号ピクチャサイズは、同じアトラスレイヤグループの対応するテクスチャレイヤの復号ピクチャサイズに等しい。占有マップは、同じサイズを表すが、実際のコーディング占有マップピクチャサイズは、スケーリング及び/又はパッキングのために異なってよい。復号ピクチャサイズは、同じビットストリーム内で表現される異なるアトラスでは変化してよい。
【0025】
図2は、本開示の少なくとも幾つかの実装により構成される、例示的なテクスチャアトラス、深さアトラス、占有マップアトラス、及び再構成ビュー表現を示す。図2に示すように、アトラスは、ここに議論される技術を用いて生成され、符号化され、復号される。図2は、対応する占有マップアトラス(図示せず)に対応するテクスチャアトラス201及び深さアトラス202と、テクスチャアトラス203及び深さアトラス204とを含む復号アトラスピクチャペア211、及び対応するアトラスパッチ占有マップ221、222を示す。例えば、占有マップアトラスは、テクスチャ及び深さアトラスのパッチの各々について占有情報を含む。その結果、ピクセル又はブロックの占有値は、そのような各ピクセル又は部六の重要性を示し、一方で、アトラスパッチ占有マップ221、222は、テクスチャ、深さ、及び占有アトラスの中の各ピクセル又はブロックが属するパッチを示す。特に、テクスチャ、深さ、及び占有アトラスは、(例えば、HEVC等を用いて)ピクチャとして符号化され、一方で、アトラスパッチ占有マップ221、222は、各パッチに関する情報(パッチの位置、サイズ、優先度)に基づきコーディングされ再構成される。
【0026】
ここで議論されるように、テクスチャアトラス201、203、深さアトラス202、204、及び占有マップアトラス221、222は、ビットストリーム107に符号化される対応するテクスチャアトラス、深さアトラス、及び占有マップアトラスから再構成される。図示の例では、テクスチャアトラス201、深さアトラス202、及び占有マップアトラス221は、例示的なパッチ212(パッチ2、5、8)を含み、テクスチャアトラス203、深さアトラス204、及び占有マップアトラス222は、例示的なパッチ213(パッチ3、7)を含む。このようなパッチは、図示のように再構成テクスチャ及び深さの関連する選択されたビュー231、232、233(例えばビュー0、1、2)内の復号パッチ2、3、5、7、8を提供するために、アトラスパッチ占有マップ221、222(又はアトラスブロック-パッチマップ)を用いてビューと照合される。その結果、図示の例では、パッチ234(パッチ5)はビュー231内にあり、パッチ235(パッチ8)はビュー232内にあり、パッチ236(パッチ3、7)はビュー233内にある。それにより、選択されたビューの少なくとも部分が、ビューポート生成及び他の演算のためにデコーダシステム300において再構成される。
【0027】
議論されるように、パッチは、アトラス及びビュー表現の両方の中で提示される長方形領域である。幾つかの実施形態では、特定のパッチのサイズは、アトラス表現及びビュー表現の両方で同じである。アトラスは、対応するテクスチャコンポーネント、深さコンポーネント、及び占有マップコンポーネントを有する、1つ以上のビュー表現からの1つ以上のパッチの集約を含む。アトラスパッチ占有マップ生成部処理は、アトラスパッチ占有マップを出力する。アトラスパッチ占有マップは、アトラスと同じサイズの2Dアレイであり、各値は、アトラス内の同一位置サンプルが存在する場合には対応するパッチのインデックスを示し、又はサンプル位置が無効値を有することを示す。ビュー表現は、テクスチャ及び深さコンポーネントについての、特定のカメラパラメータについての3Dシーンの視野を表す。ビュー表現は、OMAFで定義されるような正距円筒法図法投影又は立方体マップ投影のような全方向又は遠近法であってよく、異なる投影フォーマットを使用してよい。幾つかの実施形態では、ビュー表現のテクスチャ及び深さコンポーネントは、同じ投影フォーマットを使用し、同じサイズを有する。図2は、2つのアトラスが5個のパッチを含み、3つのビュー表現にマッピングされる、説明のための例を提供する。
【0028】
図3は対応する、本開示の少なくとも幾つかの実装により構成された、没入型ビデオに対応するビューポート302を生成するために、ビットストリーム107を復号する例示的なデコーダシステム300の説明図である。図3に示すように、デコーダシステム300は、テクスチャビデオデコーダ311、深さビデオデコーダ312、占有ビデオデコーダ313、IV出力ユニットパラメータデコーダ321、IV出力ユニットパラメータデコーダ322、アトラスパッチ占有マップ生成部331、及び参照レンダラ341を含む。デコーダシステム300は、サーバ、パーソナルコンプータ、ラップトップコンピュータ、タブレット、ファブレット、スマートフォン、デジタルカメラ、ゲームコンソール、ウェアラブル装置、ディスプレイ装置、オールインワン装置、ツーインワン装置、等のような、任意の適切な装置により実装されてよい。例えば、ここで使用されるとき、システム、装置、コンピュータ、又はコンピューティング装置は、任意のこのような装置又はプラットフォームを含んでよい。
【0029】
図示のように、ビットストリーム107は、デコーダシステム300により受信される。幾つかの実施形態では、ビットストリーム107は、アトラスレイヤグループのテクスチャ、深さ、及び占有マップレイヤコンポーネントのそれぞれのCVSを含むIVSビットストリームである。デコーダシステム300は、復号テクスチャアトラス305(テクスチャアトラス103の再構成バージョン)、復号深さアトラス306(深さアトラス104の再構成バージョン)、復号占有アトラス307(占有アトラス105の再構成バージョン)のシーケンスを出力する。例えば、デコーダシステム300は、同期復号テクスチャピクチャ(A)、復号深さピクチャ(B)の、復号ピクチャグループを出力する。各復号ピクチャグループは、アトラス(D)を表す。更に、メタデータが、IV出力ユニットパラメータデコーダ321及びIVシーケンスパラメータデコーダ322(例えば、集合的にメタデータパーサ)に入力され、これらは、カメラパラメータ308(例えば、再構成バージョンのカメラパラメータ102)及びアトラスパラメータ309(例えば、再構成バージョンのカメラパラメータ106)を出力する。例えば、IV出力ユニットパラメータデコーダ321及びIVシーケンスパラメータデコーダ322はアトラスパラメータリスト(E)及びカメラパラメータリスト(F)を生成する。
【0030】
更に、アトラスパッチ占有マップ生成部331は、入力として、深さ復号ピクチャ(B)(復号深さアトラス306)及びアトラスパラメータリスト(D)(アトラスパラメータ309)を受信し、アトラスパッチ占有マップ310(G)を出力する。幾つかの実施形態では、参照レンダラ341は、1つ以上の復号アトラス(C)(占有アトラス307)として、アトラスパラメータリスト(D)、カメラパラメータリスト(E)(カメラパラメータ308)、アトラスパッチ占有マップシーケンス(F)(アトラスパラメータ309)、及びビューア位置及び方向303(例えば、ディスプレイ装置から受信される)を受信し、及びビューポート302(シーン内の任意の仮想カメラからのビューを表す)出力する。幾つかの実施形態では、デコーダシステム300は、参照レンダラ341を含まない。幾つかの実施形態では、デコーダシステム300の議論される出力は、出力ユニット毎にポイントクラウドシーケンスを生成する参照ポイントクラウドレンダラに提供される。
【0031】
以下に、シンタックス及びセマンティクスを議論する。以下ではシンタックステーブルは、許容されるビットストリームのシンタックスのスーパーセットを指定する。幾つかの実施形態では、シンタックスについての追加の制約が指定されてよい。以下の表は、例示的なシンタックスを示す。幾つかの実施形態では、syntax_elementが現れるとき、それは、シンタックス要素がビットストリームからパースされ、ビットストリームポインタは、ビットストリームパース処理の次のシンタックス要素の先にある次の位置へと進められる。項byte_aligned()は、次のように指定される:ビットストリーム内の現在位置がバイト境界上にあり(つまり、ビットストリーム内の次のビットがバイト内の最初のビットである)、byte_aligned()の戻り値はTRUEに等しく、その亜他の場合、byte_aligned()の戻り値はFALSEに等しい。項b(8)は、任意のパターンのビット列(8ビット)を有するバイトを示す。この記述子のパース処理は、関数read_bits(8)の戻り値により指定される。項f(n)は、最初に左ビットにより(左から右へ)記述されるnビットを用いる固定パターンビット列を示す。この記述子のパース処理は、関数read_bits(n)の戻り値により指定される。項se(v)は、最初に左ビットにより符号有り整数0次(0-th order)Exp-Golomb-codedシンタックス要素を示す。項i(n)は、nビットを用いる符号有り整数を示し、nがシンタックステーブルの中の「v」であるとき、ビットの数は他のシンタックス要素の値に依存して変化する。この記述子のパース処理は、最初に書き込まれた最上位ビットによる2の補数整数表現として解釈される関数read_bits(n)の戻り値により指定される。項u(n)は、nビットを用いる符号無し整数を示し、nがシンタックステーブルの中の「v」であるとき、ビットの数は他のシンタックス要素の値に依存して変化する。この記述子のパース処理は、最初に書き込まれた最上位ビットによる符号無し整数のバイナリ表現として解釈される関数read_bits(n)の戻り値により指定される。項ue(v)は、最初に左ビットにより符号無し整数0次(0-th order)Exp-Golomb-codedシンタックス要素を示す。
【0032】
更にビットストリーム107を参照して、幾つかの実施形態では、任意のレイヤのIRAPピクチャを含むアクセスユニットは、コーディングピクチャを含む全部のレイヤのIRAPピクチャを含むべきである。例えば、幾つかの実施形態による結合IV仕様では、アトラスのコンポーネントを表すビデオコーデックレイヤの全部について、IRAP整合が要求される。IVシーケンス(IVS)は、全部のビデオコーデックレイヤにおいてIRAPで開始する。幾つかの実施形態では、ビデオコーデックレイヤ内に含まれないデータを運ぶために、IVS_unit_rbsp()シンタックス構造が定義される。IVSは、カメラパラメータリストを含むIVS毎にシグナリングされるシンタックス要素を運ぶivs_params()シンタックス構造で開始する。
【0033】
復号処理は、カメラパラメータを含むIVS毎の出力を指定する。幾つかの実施形態では、IV出力ユニットは、ビデオコーデックレイヤに跨がるIRAP整合を有するとく要件とは別に、異なるビデオコーデックレイヤが異なるピクチャコーディング順序を有することを許容するよう定義される。特に、HEVCでは、アクセスユニットは、ピクチャコーディング順序と整合されるが、これはIVでは要求されない。幾つかの実施形態では、IV出力ユニットは、タイプ出力ユニットパラメータのIV NALユニット、出力ユニットパラメータシンタックス構造、1または複数のアトラスを記述する0又は1個のアトラスパラメータリスト、各アトラスについて、0又は1個のテクスチャコーディングピクチャ、0又は1個の占有マップコーディングピクチャ、0又は1個の深さコーディングピクチャ、及び幾つかの属性のうちの各々の0又は1個のコーディングピクチャ、及び0又は1個の出力ユニットデリミタ、を含む。議論されるように、幾つかの実施形態では、準拠ビットストリームは、1つ以上のIVSを含み、各IVSは1つ以上のIV出力ユニットを含む。幾つかの実施形態では、各IVSは、タイプシーケンスパラメータのIV NALユニット、1つ以上のIRAP整合マルチレイヤビデオコーデックCVS、及びタイプ出力ユニットパラメータの1つ以上のIV NALユニット、を含む。
【0034】
幾つかの実施形態では、IRAP整合マルチレイヤビデオコーデックCVSは、1つ以上のレイヤグループを含み、各レイヤグループは、3つ以上のビデオコーデックCVSを含むアトラスを表し、各CVSは、別個のレイヤ内にそれぞれ含まれるアトラスの別個のコンポーネントを表す。幾つかの実施形態では、IRAP整合マルチレイヤビデオコーデックCVSは、1つ以上のビデオコーデックアクセスユニットを含み、各ビデオコーデックアクセスユニットは、1つ以上のコーディングピクチャを含み、IRAPピクチャがレイヤグループ内の任意のレイヤのアクセスユニット内に存在するとき、IRAPピクチャは、アクセスユニット内のレイヤグループ内の全部のレイヤに存在する。
【0035】
幾つかの実施形態では、復号処理は、各出力ユニットの出力を指定し、これは、ビューポートを生成する又はポイントクラウドをレンダリングする処理に入力すべき全部の必要なデータを含む。幾つかの実施形態では、復号処理は、以下の出力を出力ユニット毎に指定する:1つ以上のアトラスの各々について、アトラスピクチャコンポーネントを表すテクスチャ復号ピクチャ、アトラス深さコンポーネントを表す深さ復号ピクチャ、占有マップコンポーネントを表す占有マップ復号ピクチャ、任意的に追加属性、アトラスパッチ占有マップ、及びアトラス(パッチ)パラメータリストをそれぞれ表す1つ以上の復号ピクチャ。ここで使用されるように、用語:アトラスパッチ占有マップは、議論されるように、アトラス内の各サンプル位置についてどのパッチにサンプルが対応するか、又はサンプルが無効かどうかを示す値のアトラスに対応する2Dアレイを示し、用語:アトラスパッチ占有マップ及びBlockToPatchMapは実質的に同義的に使用されてよい。
【0036】
MIVでは、出力ユニットはビデオコーデックアクセスユニットと整合され、従って、全部のレイヤのビデオ復号ピクチャは、ビデオコーデック出力順序と整合される。幾つかの実施形態では、この制約は、後述のように、Immersive Main 10プロファイルにおいて課される。V-PCCでは、コーディング順序は、アトラスの異なるコンポーネントについて異なってよい。従って、IV復号処理は、出力ユニット毎に出力時間における全部のアトラスの全部のコンポーネントを表す対応するピクチャを出力することを担う。
【0037】
図4は、本開示の少なくとも幾つかの実装により構成された、イントラランダムアクセスポイントを含む没入型ビデオコーディングのための例示的な処理400を示すフロー図である。処理400は、図4に示すような1つ以上の動作401~406を含んでよい。処理400は、ここで議論されるシステムの任意の装置により実行されてよい。
【0038】
処理は、動作401で開始し、深さアトラスピクチャのシーケンス、テクスチャアトラスピクチャの対応するシーケンス、及び没入型ビデオを表す占有マップアトラスピクチャの対応するシーケンスが、処理のために受信される。例えば、深さアトラスピクチャ、テクスチャアトラスピクチャ、及び占有マップアトラスピクチャは、シーンについてトレーニングされた多数のカメラから獲得されたビデオの入力ビューに基づき生成されてよい。アトラスピクチャ(例えば、ピクチャアトラスに構成されたパッチ)が、例えばエンコードビュー符号化システム100のために受信される。幾つかの実施形態では、動作401~403は、エンコーダにより実行され、動作404~406は、デコーダにより実行される。深さアトラスピクチャ、テクスチャアトラスピクチャ、及び占有マップアトラスピクチャは、例えば、テクスチャアトラス103、深さアトラス104、占有アトラス105のシーケンスであってよい。
【0039】
シーケンスは、没入型ビデオのどの時点においてビューが示されるべきか、関連するか、等を示す対応する出力時間又は提示時間を有する。このような出力時間又は提示時間は、タイムスタンプのような任意の適切なデータ構造を用いて示されてよく、及び/又はそれらは開始時間、フレームレート、等に基づき導出されてよい。ここで使用されるとき、用語:出力時間又は提示時間は、実質的に同義的に使用され、テクスチャ、深さ、及び占有アトラスのグループが対応する又は関連する時点を示す。
【0040】
処理は、動作402へと続き、深さアトラスピクチャのシーケンス、テクスチャアトラスピクチャのシーケンス、及び占有マップアトラスピクチャのシーケンスが、コーディング没入型ビデオデータを提供するために符号化される。このようなアトラスピクチャは、任意の適切な技術又はHEVC準拠エンコーダ等のような技術を用いてコーディングされてよい。特に、コーディング没入型ビデオデータは、深さアトラスピクチャのシーケンス、テクスチャアトラスピクチャのシーケンス、及び占有マップアトラスピクチャのシーケンスのピクチャのうちの個々のものにそれぞれ対応する出力時間を含む又はそれに対応する。つまり、コーディング没入型ビデオデータ(例えば、ビットストリーム)は、このようなアトラスピクチャを表し、それぞれが、ピクチャがユーザに提示されるときに関連する対応する出力時間を有する。幾つかの実施形態では、出力時間のサブセットの各々について、コーディング没入型ビデオデータは、コーディング深さアトラスピクチャ、対応するコーディングテクスチャアトラスピクチャ、及び対応するコーディング占有マップアトラスピクチャの各々についてイントラコーディングピクチャの表現を含む。特に、ビットストリームは、特定の出力時間について、コーディング深さアトラスピクチャ、対応するコーディングテクスチャアトラスピクチャ、及び対応するコーディング占有マップアトラスピクチャの各々についてイントラコーディングピクチャを含むよう準拠することが要求されてよい。その結果、没入型ビデオデータへのイントラランダムアクセスポイントが取得される。
【0041】
出力時間又は提示時間のサブセットは、特定の間隔の開いた時間(例えば、1秒毎、2秒毎、5秒毎、等)又は特定のフレームレート(例えば、60番目のフレーム毎、120番目のフレーム毎、等)のような任意の適切なサブセットであってよい。幾つかの実施形態では、出力時間のサブセットは、出力時間内の規則的間隔で提供される没入型ビデオにアクセスするためのランダムアクセスポイントを提供する。幾つかの実施形態では、出力時間のサブセットの各々は、イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャを含む出力ユニットに対応する。
【0042】
議論されるように、幾つかの実施形態では、出力又は提示時間のこのようなサブセットにおいて、コーディング深さアトラスピクチャ、対応するコーディングテクスチャアトラスピクチャ、及び対応するコーディング占有マップアトラスピクチャの各々のイントラコーディングピクチャが必要である。幾つかの実施形態では、コーディング没入型ビデオデータは、イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応イントラコーディング追加属性アトラスピクチャを更に含む。例えば、追加属性アトラスピクチャは、表面法線ベクトル、3Dコンテンツの反射率、等を含むビューの他の属性に対応するデータを含んでよい。ここで議論されるように、幾つかの実施形態では、コーディング没入型ビデオデータは、イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応アトラスパラメータリストを更に含む。
【0043】
処理は動作403で継続し、コーディング没入型ビデオは、デコーダ又はメモリ記憶装置のような別の装置へ送信される。例えば、コーディング没入型データは、ビットストリームに含まれ及び/又は圧縮表現にパケット化されデコーダ又はメモリ記憶装置に(デコーダによる最終的な使用のために)提供されてよい。
【0044】
処理は、動作404で継続し、コーディング没入型データが受信される。例えば、コーディング没入型データは、デコーダシステム300により受信されてよい。図示のように、コーディング没入型データは、没入型ビデオを表す深さアトラスピクチャのシーケンス、テクスチャアトラスピクチャのシーケンス、及び占有マップアトラスピクチャのシーケンスのピクチャのうちの個々のものにそれぞれ対応する出力時間時間又は提示時間を含む又はそれに対応する。例えば、出力時間又は提示時間は、それぞれ、没入型ビデオのシーケンスの特定のフレーム又はピクチャにそれぞれ対応してよい。
【0045】
処理は、動作405へと続き、コーディング没入型データが復号されて、コーディング没入型データ(例えば、ビットストリーム)により表される深さアトラスピクチャのシーケンス、テクスチャアトラスピクチャのシーケンス、及び占有マップアトラスピクチャのシーケンスを生成する。例えば、深さアトラスピクチャのシーケンス、テクスチャアトラスピクチャのシーケンス、及び占有マップアトラスピクチャのシーケンスは、動作401~403に関して議論したようにコーディングされた深さアトラスピクチャのシーケンス、テクスチャアトラスピクチャのシーケンス、及び占有マップアトラスピクチャのシーケンスの再構成バージョンである。幾つかの実施形態では、出力時間のサブセットの各々について、復号シーケンスは、コーディング深さアトラスピクチャ、対応するコーディングテクスチャアトラスピクチャ、及び対応するコーディング占有マップアトラスピクチャの各々についてイントラコーディングピクチャを含む。例えば、出力又は提示時間のサブセットについて、それぞれが、イントラアトラスピクチャを有することを要求され又はそれが必須である。その結果、没入型ビデオへのランダムアクセスが提供される。
【0046】
幾つかの実施形態では、出力時間のサブセットは、出力時間内の規則的間隔で提供される没入型ビデオにアクセスするためのランダムアクセスポイントを含む。上述のように、サブセットは、時間又はフレーム等の規則的な間隔で要求されてよい。幾つかの実施形態では、出力時間のサブセットの各々は、イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャを含む出力ユニットに対応する。幾つかの実施形態では、コーディング没入型ビデオデータは、イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応イントラコーディング追加属性ピクチャを更に含む。このようなイントラコーディング追加属性ピクチャは、表面法線ベクトル、反射率、等のような没入型ビデオに関連する任意の適切な属性を有してよい。幾つかの実施形態では、コーディング没入型ビデオデータは、イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応するアトラスパラメータリストを更に含む。その結果、イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャの中のパッチは、ここで議論されるように、没入型ビデオの関連するビューに割り当てられてよい。
【0047】
処理は、動作406で継続し、ビューアへの提示を準備するのに使用するために、復号シーケンスが送信される。例えば、復号シーケンスは、没入型ビデオのビューの少なくとも部分を再構成するために使用されてよく、このような再構成ビューは、ビューポートを生成するために(3D空間内のユーザ及び/又はディスプレイ位置及び方向に基づき)使用されてよい。
【0048】
以下は、アトラスパラメータ106及び/又はアトラスのパッチが対応する位置及び特定のビューを示すために使用されるデータの符号化及び復号を含む占有マップシグナリングを議論する。特に、V-PCC及びMIVの両方は占有マップシグナリングを使用するが、異なるモードが使用される。ここで議論する技術は、従来のV-PCC及びMIV技術に対して効率の向上した、占有マップコーディングのための低いサンプルレートを可能にする。MIV WD1では、占有マップは、各サンプルについて、該サンプルが有効なパッチデータを含むか否かを示し、深さコンポーネント内に埋め込まれる。DepthOccupancyMapThreshold(現在、64に等しい)より低い深さの値は、非占有サンプル位置を示す。更に、MIV WD1では、方法は、アトラス占有マップを生成するために説明される。アトラスパッチ占有マップは、各アトラスの2Dアレイであり、各サンプルはサンプルのPatchIdを示す16ビット値を含む。サンプルが有効なパッチサンプルを表さない場合、アトラスパッチ占有マップは値0xFFFFを割り当てられる。MIV WD1では、深さのコーディングピクチャサイズは、対応するテクスチャのコーディングピクチャサイズに等しいことが要求される。V-PCCでは、占有マップはビデオとしてコーディングされる。閾値は明示的にシグナリングされ、8(又は10ビット又はそれ以上)の値から0又は1を導出するために、損失コーディングが使用できる。無損失コーディングも使用できる。符号化の前に、占有マップピクチャにフェザリング(Feathering)が適用できる。占有マップコーディングピクチャは、対応するテクスチャ又は深さピクチャより低い解像度であってよいが、アップスケーリング方法が明示的に指定されない。
【0049】
以下は、幾つかの実施形態による占有マップシグナリングを提供する。幾つかの実施形態では、MIV占有マップはビデオ符号化を用いて明示的にシグナリングされる。MIVWD1設計では、DepthOccupancyMapThresholdより低い値が維持されなければならないので、ビデオ符号化の前に非占有深さサンプルにパディングを適用することは許されない。ここで議論される技術による深さ占有マップの明示的なコーディングは、深さピクチャ上で非占有サンプルのパディングを使用することを許容する。パディングは、コーディングの主観的及び客観的品質を向上できる。
【0050】
幾つかの実施形態では、スケーリングは、占有マップに適用されてよい。幾つかの実施形態では、スケーリングの方法は、アトラスパッチ占有マップの生成のためにサンプル複製を使用する。サンプル複製の使用は、パッチの占有がスケーリング係数に従いブロック整合されるとき、損失を生じない。
【0051】
幾つかの実施形態では、0又は1のバイナリ値のみが、無損失コーディングにより占有マップをコーディングするために使用される。占有マップの精度を失わずに、占有マップコーディングのために使用されるピクセルレートを8xだけ低減するために、8個の占有マップバイナリサンプルが、ルサンプルバイトに、8個の水平空間近隣を用いてパックされる。
【0052】
幾つかのビデオエンコーダはtransquantバイパスツールの使用をサポートしないので、占有マップのビットパックは、任意的であってよい。幾つかの実施形態では、占有マップのビットパックは、共通テスト条件で使用される。例えば、共通テスト条件は、HEVCを使用してよい。その結果、transquantバイパスツールが使用されてよい。
【0053】
幾つかの実施形態では、シンタックス要素は、占有マップコーディングに関連するIVSパラメータシンタックス構造:occupancy_map_threshold、occupancy_map_scaling、及びoccupancy_map_packing_flagに含まれる。
【0054】
幾つかの実施形態では、Immersive Main 10プロファイルでは、占有マップのピクチャサイズは、存在する場合には、スケーリング及びパッキングのための調整の後に、対応するテクスチャ及び深さコンポーネントのコーディングピクチャサイズに等しくなるよう制限される。
【0055】
次に、幾つかの実施形態による、IVネットワーク抽象化レイヤ(network abstraction layer (NAL))タイプ値、及びNALユニットデータを議論する。幾つかの実施形態によるMIV Immersive Main 10プロファイルでは、HEVC ビデオパラメータセット(Video Parameter Set (VPS))拡張は、アトラスコンポーネントがHEVCレイヤにどのように割り当てられるかを記述する。幾つかの実施形態では、アトラスコンポーネントサンプル値は、HEVCレイヤ内のコーディングピクチャ内で表現される。
【0056】
幾つかの実施形態では、HEVC NALユニットタイプ(NAL unit type (NUT))値は、HEVC VPS拡張又はHEVCコーディングピクチャに含まれない追加データをシグナリングするために、IVについて割り当てられる。幾つかの実施形態では、「IVユニット」NUT値の割り当ては、準拠ビットストリームの要件として含まれる。NUT値を使用するNALユニットシンタックス構造の内容は、ここで更に説明される。
【0057】
幾つかの実施形態では、IV NALユニット内のIVデータは、HEVC NALユニット内に含まれるが、HEVCデコーダはこのタイプのNALユニットを無視してよい。システムレイヤは、この方法でHEVCビットストリーム内にIVデータを含むか、代替として、IV NALユニットのHEVC NALユニットを使用せずにIVデータを別個に運ぶか、を選択してよい。
【0058】
IV NALユニットがHEVC NALユニットに埋め込まれるとき、各IV NALユニットは、HEVC nal_unit_header()で開始してよい。
【0059】
幾つかの実施形態によるIVユニットシンタックスは、以下の表1に示される。これは、ivs_unit_typeシンタックス要素で開始し、ivs_unit_type値に基づくシンタックス構造を含む。
【0060】
表1
【表1】
【0061】
表1で、以下のシンタックスが使用される。要素ivs_unitはIVSユニットと示し、要素ivs_unit_typeはIVSユニットタイプを示し、これらは、以下の表2に提供される。つまり、幾つかの実施形態によるivs_unit_typeは以下の表2にリストされる。幾つかの実施形態では、例えばV-PCCのために追加値が追加される。幾つかの実施形態では、ivs_unit_typeは表2に示すようにIVユニットのタイプを指定する。
【0062】
表2:ユニットタイプ
【表2】
【0063】
ここで、シンタックス要素の幾つかは以下のように幾つかの実施形態に従い定義される。シンタックス要素ivs_all_codec_layers_au_aligned_flagが1に等しいことは、マルチレイヤCVS内の各アクティブレイヤについて、各アクセスユニットが、アクティブレイヤidに等しいnuh_layer_idを有する1つのピクチャを含むべきであることを示す。シンタックス要素occupancy_map_thresholdは、閾値を指定し、該閾値より下では、サンプル位置が占有されているかどうかを決定するために、占有マップ復号サンプルの値が比較される。シンタックス要素occupancy_map_scalingが0に等しいことは、占有マップコーディングピクチャの幅及び高さが、それぞれその対応するテクスチャコーディングマップピクチャの幅及び高さに等しいことを示す。シンタックス要素occupancy_map_scalingが0より大きいことは、占有マップコーディングピクチャの幅及び高さが、占有マップパッキングを考慮する前に、それぞれその対応するテクスチャコーディングマップピクチャの幅<<occupancy_map_scaling及び高さ<<occupancy_map_scalingに等しいことを示す。シンタックス要素occupancy_map_packing_flagが0に等しいことは、ビットパッキングが占有マップ復号ピクチャに適用されないことを示す。occupancy_map_packing_flagが0に等しいことは、最後の(atlast)パッチ占有マップ生成処理において説明するように、ビットパッキングが占有マップ復号ピクチャに適用されることを示す。シンタックス要素iv_output_unit_count_bits_minus4に4を足したものは、iv_output_unit_countシンタックス要素を表すために私用されるビットの数を指定する。存在しないとき、iv_output_unit_count_bits_minus4の値は0に等しいと推定される。シンタックス要素ivs_points_info_present_flagが1に等しいことは、points_info()シンタックス構造が存在することを示す。ivs_points_info_present_flagが0に等しいことは、points_info()シンタックス構造が存在しないことを示す。シンタックス要素ivs_sp_vui_present_flagが1に等しいことは、IV SPS VUIパラメータが存在することを示す。ivs_sp_vui_present_flagが0に等しいことは、IV SPS VUIパラメータが存在しないことを示す。シンタックス要素ivs_volume_range_present_flagが1に等しいことは、ivs_bounding_rectangular_solid_flagシンタックス要素が存在することを示す。ivs_volume_range_present_flagが0に等しいことは、ivs_bounding_rectangular_solid_flagシンタックスシンタックス構造が存在しないことを示す。シンタックス要素ivs_bounding_rectangular_solid_flagが1に等しいことは、ビットストリームにより表される3Dボリューム範囲が、カメラパラメータリストから寸法が導出される実線の長方形により表すことができることを示す。シンタックス要素ivs_sp_avg_frame_rate_present_flagが1に等しいことは、ivs_sp_avg_frame_rateシンタックス要素が存在することを示す。ivs_sp_avg_frame_rate_present_flagが0に等しいことは、ivs_sp_avg_frame_rateシンタックス要素が存在しないことを示す。シンタックス要素ivs_sp_extension_present_flagが0に等しいことは、ivs_sp_extension_data_flagシンタックス要素がシンタックス構造内に存在しないことを示す。ivs_sp_extension_present_flagが1に等しいことは、ivs_sp_extension_data_flagシンタックス要素がシンタックス構造内に存在することを指定する。デコーダは、ivs_sp_extension_present_flag.の値1に従う全部のデータを無視してよい。シンタックス要素ivs_sp_extension_data_flagは任意の値を有してよい。その存在及び値は、デコーダ規格適合性に影響しない。プロファイルに従うデコーダは、全てのivs_sp_extension_data_flagシンタックス要素を無視してよい。
【0064】
更に、IVプロファイル、ティア、及びレベルの意味は、以下に提供され得る。シンタックス要素ivs_tier_flagは、ivs_level_idcの解釈のためのティアコンテキストを指定する。シンタックス要素ivs_profile_idcは、IVSが準拠するプロファイルを示す。ビットストリームは、指定された以外のivs_profile_idcの値を含んではならない。他の値のivs_profile_idcは、ISO/IECによる将来の使用のために予約されている。シンタックス要素ivs_level_idcは、IVSが準拠するレベルを示す。ビットストリームは、指定された以外のivs_level_idcの値を含んではならない。他の値のivs_level_idcは、ISO/IECによる将来の使用のために予約されている。シンタックス要素ivs_max_codec_layers_minus1は、マルチレイヤビデオコーデックIVS内に存在するレイヤの数の最大値を指定する。シンタックス要素ivs_layer_max_level_idcは、各ビデオコーデックレイヤのレベル指示子の最大値を指定する。シンタックス要素ivs_points_rendering_idcが0に等しいことは、ポイントクラウドレンダリングがビットストリームに対する復号処理の出力に適用されることが推奨されるか否かを示さない。ivs_rendering_type_idcが1に等しいことは、ポイントクラウドレンダリング処理が、復号処理の出力に適用されることが推奨されることを示す。ivs_rendering_type_idcが2に等しいことは、ポイントクラウドレンダリング処理が復号処理の出力に適用されることが推奨されること、及びビットストリームがポイントクラウドレンダリング処理を可能にし、参照ポイントクラウドレンダラにより生成されたポイントクラウドシーケンスに正確に一致するポイントクラウドシーケンスを生成すること、を示す。3~15の範囲のivs_points_rendering_idcの値は、ISO/IECによる将来の使用のために予約される。ivs_rendering_idcが2に等しいとき、ivs_oup_num_points_present_flagは1に等しいべきである。シンタックス要素ivs_points_level_idcは、IVSが準拠するポイントクラウドレンダリングレベルを示す。シンタックス要素ivs__ptl_reserved_8bitsは任意の値を有してよい。シンタックス要素ivs__ptl_reserved_4bitsは任意の値を有してよい。
【0065】
次に、幾つかの実施形態による、IVシーケンス及び出力ユニットパラメータを議論する。幾つかの実施形態では、IV高さレイヤシンタックスは、IVシーケンスパラメータとIV出力ユニットパラメータシンタックス構造に分けられる。ここで、IVシーケンスパラメータは、IVS毎にシグナリングされ、IV出力ユニットパラメータは、IV出力ユニット毎にシグナリングされる。
【0066】
幾つかの実施形態では、IVSパラメータは、IVシーケンス(IVS)毎にシグナリングされる。幾つかの実施形態では、IVプロファイル、ティア、レベルシンタックス構造は、IVSパラメータシンタックス構造に含まれる。
【0067】
幾つかの実施形態では、IVSパラメータの中のivs_codec_idシンタックス要素によりシグナリングされるように、同じビデオコーデック規格が、IVビットストリーム内の全部のビデオコーディングレイヤに対して使用されることを要求することにより、柔軟性は制限される。例えば、各ビデオコーディングレイヤ/コンポーネントタイプについて、別個のコーデックを許容することは、不利なことに高レベルシンタックス設計を複雑化し、明確な実証された利点を有しない。
【0068】
幾つかの実施形態では、IVSパラメータの中のシンタックスフラグivs_all_codec_layers_au_aligned_flagは、全部のビデオコーデックレイヤがアクセスユニット整合を有するかどうかを示すために提供される。このフラグが設定されない場合、出力ユニット及びビデオコーデックアクセスユニットは、整合されたピクチャコーディング順序ではなく、従って、出力ユニットシンタックス要素はIV出力パラメータに含まれる。
【0069】
幾つかの実施形態では、8章で説明するように、カメラパラメータリストが、含まれる。幾つかの実施形態では、3章で説明するように、占有マップコーディングに関連するシンタックス要素も含まれる。
【0070】
幾つかの実施形態では、V-PCCのポイントに関連する追加シンタックス要素が含まれてよい。
【0071】
幾つかの実施形態によるシンタックスは、以下の表3に提供される。
【0072】
表3
【表3】
【0073】
表4は、幾つかの実施形態によるivs_codec_idタイプを提供する。
【0074】
表4:ivs_codec_idタイプ
【表4】
【0075】
幾つかの実施形態では、使用するIVシーケンスパラメータを復号することは、以下のように実行される。1つ以上のアトラスレイヤグループ、IVシーケンスパラメータ(ビデオコーデックタイプ、カメラパラメータリスト、占有マップパラメータを含む)、及びIV出力ユニットパラメータ(アトラスパラメータリストのシーケンスを含む)、を含むビデオコーデックビットストリームの入力が与えられると、復号の出力は、それぞれがアトラスを表す1つ以上の復号ピクチャシーケンスグループ、各グループ(アトラスピクチャコンポーネントを表すテクスチャピクチャシーケンス、アトラス深さコンポーネントを表す深さピクチャシーケンス、及び占有マップコンポーネントを表す占有マップシーケンスを含む)、及び1つ以上のアトラスパッチ占有マップシーケンスである。特に、呼び出されるべきビデオデコーダは、ivs_codec_idにより決定され、復号及び出力処理は、ivs_all_codec_layers_au_aligned_flagシンタックス要素の値に基づき異なる。幾つかの実施形態では、ビデオコーデックビットストリーム内の各IVS:IVシーケンスパラメータがパースされ、(ivs_all_codec_layers_au_aligned_flag)の場合、IVS内の各出力ユニットについて、IV出力ユニットパラメータがパースされ、出力ユニット内の各アトラスについて、ビデオ復号処理が、テクスチャ復号ピクチャを出力として有するテクスチャレイヤ内のコーディングピクチャのために呼び出され、ビデオ復号処理は、深さ復号ピクチャを出力として有する深さレイヤ内のコーディングピクチャのために呼び出され、ビデオ復号処理は、復号占有マップピクチャを出力として有する占有マップレイヤ内のコーディングピクチャのために呼び出され、及びアトラスパッチ占有マップ生成部が呼び出され、占有マップ復号ピクチャ及びアトラスを入力として有し、アトラスパッチ占有マップを出力として有する。その他の場合(ivs_all_codec_layers_au_aligned_flagが0に等しい)、IVS内の各出力ユニットについて、IV出力ユニットパラメータがパースされ、出力ユニット内の各アトラスについて、ビデオ復号処理が、テクスチャレイヤ内のコーディングピクチャのために呼び出され、存在する場合には現在出力ユニットの対象となる復号テクスチャピクチャが出力され、ビデオ復号処理は、深さレイヤ内のコーディングピクチャのために呼び出され、存在する場合には現在出力ユニットの対象となる復号深さピクチャが出力され、ビデオ復号処理は、復号占有マップレイヤ内のコーディングピクチャのために呼び出され、存在する場合には現在出力ユニットの対象となる復号占有マップピクチャが出力され、及びアトラスパッチ占有マップ生成部が呼び出され、出力占有マップピクチャ及びアトラスパラメータを入力として、アトラスパッチ占有マップを出力として有する。
【0076】
次に、幾つかの実施形態による、IVプロファイルティアレベルを議論する。幾つかの実施形態では、プロファイル、ティア、及びレベルシンタックス構造で、全体のプロファイル、ティア、及びレベルに加えて、ビットストリーム内に存在し得るビデオコーデックレイヤの最大数、各レイヤの最大ビデオコーデックレベルを示すシンタックス要素が含まれる。
【0077】
幾つかの実施形態では、ivs_ptl_level_idcシンタックス要素は、ビットストリーム内に存在し得るビデオコーデックの最大数、及び各レイヤの最大ビデオコーデックレベルの各々の制限を課す。これらの追加のシンタックス要素を提供することは、追加情報を提供する。
【0078】
幾つかの実施形態では、シンタックス要素は、ポイントクラウド再構成がビットストリームについて推奨されるかどうかを示すため、及び完全なポイントクラウド再構成がビットストリームについて有効かどうかを示すために含まれる。これは、デコーダ/レンダラクライアントがビットストリームに対して復号処理を行い、基準デコーダ及び参照ポイントクラウドレンダリング処理に正確に一致するポイントクラウドシーケンスを取得することが可能であることを意味する。クライアントデコーダが正確なポイントクラウド再構成をサポートすることを選択するか否かは、デコーダ規格適合性特性であり、ビットストリーム特性ではない。
【0079】
幾つかの実施形態によるシンタックス構造は、以下の表5に提供される。
【0080】
表5
【表5】
【0081】
次に、幾つかの実施形態による、IV出力ユニットパラメータを議論する。幾つかの実施形態では、IV出力ユニットパラメータシンタックス構造が提供される。これは、IV復号出力の生成に関連するパラメータを含み、各アトラス内のパッチを記述するアトラスパラメータリストを含む。
【0082】
幾つかの実施形態では、全部のビデオコーデックレイヤが同じピクチャコーディング順序に従うこと、及び出力ユニットがアクセスユニットに揃えられることが要求される。幾つかの実施形態では、この制約は、Immersive Main 10プロファイルにおいて課される。
【0083】
幾つかの実施形態では、異なる属性タイプについて異なるピクチャコーディング順序を許容するV-PCCを有効にするために、この柔軟性に対する全体的な制約は存在しない。しかしながら、幾つかの実施形態では、IV出力ユニットパラメータNALユニットのコーディング順序は、ビデオデコーダが対応するテクスチャ及び深さピクチャを出力する同じIV出力ユニットに含まれるよう制約される。幾つかの実施形態では、レイヤが揃えられていないとき、ビデオコーディングレイヤに跨がる整合のために使用されるべきiv_output_unit_countシンタックス要素が含まれる。
【0084】
幾つかの実施形態によるパラメータ及びシンタックスは、表6に提供される。
【0085】
表6
【表6】
【0086】
次に、幾つかの実施形態による、IV出力ユニットデリミタを議論する。幾つかの実施形態では、IV出力ユニットデリミタは、IV出力ユニットの間の境界の検出を簡略化するよう機能する。
【0087】
実施形態では、IV出力ユニットデリミタは、ペイロードを含まない。例示的なシンタックスが表7に提供される。
【0088】
表7
【表7】
【0089】
次に、幾つかの実施形態による、IV NUT値割り当てのためのHEVCに対する変更を議論する。幾つかの実施形態では、HEVC NUT値は、表8に示されるように、予約された非VCL値から割り当てられる。
【0090】
表8 NALユニットタイプコード、及びNALユニットタイプクラス
【表8-1】
【表8-2】
【0091】
次に、幾つかの実施形態による、IVプロファイルのためにHEVC Annex Fを用いるVPS及びNALユニットヘッダマルチレイヤ設計を議論する。幾つかの実施形態では、MIVプロファイルのためのHEVC Annex F VPS拡張の使用が提供される。以下では、Annex Fにおける既存のHEVCマルチレイヤ設計から幾つかの主要な概念が先ず説明される。
【0092】
特に、HEVC Annex Fに関して、HEVCは、2バイトのNALユニットヘッダを使用し、そのシンタックスは表9に提供される。それは、nuh_layer_idに割り当てられた6ビットを含む。
【0093】
表9
【表9】
HEVCは、7章で基本ビデオパラメータセット(Video Parameter Set (VPS))を、及びAnnex FでVPS拡張を定義する。Annex Fは、独立非基本レイヤ復号(Independent Non-Base Layer Decoding (INBLD))能力を記載している。ここでは、独立にコーディングされたレイヤが、0に等しくないnuh_layer_id値を有し得る。
【0094】
基本VPSは、vps_max_layers_minus1シンタックス要素を含む。VPS拡張は、シンタックス要素splitting_flag、scalability_mask_flag[i]、dimension_id_len_minus1[j]、及びdimension_id[i][j]、及びdirect_dependency_flag[i][j]を含む。これらのシンタックス要素は、ScalabilityId変数の導出、及びレイヤ間の任意の依存関係を含む、各レイヤの特性を示すために使用される。
【0095】
ScalabilityId変数は、表10に示すように、スケーラビリティ次元にマッピングされる。
【0096】
表10 ScalabilityIdのスケーラビリティ次元へのマッピング
【表10】
【0097】
Annex Gは、拡張レイヤが基本レイヤからインターレイヤ予測されるマルチビューメインプロファイルを定義し、カメラパラメータ及び深さの運搬に関連する幾つかのSEIメッセージを定義する。Annex Iは、3Dメインプロファイルを定義する。
【0098】
更に、MIV WD1では、1つ以上のアトラスがコーディングされ、それぞれがテクスチャ及び深さコンポーネントを有する。各アトラスコンポーネントは、同じビットストリーム内の別個のレイヤとしてコーディングでき、それぞれが異なる値のnuh_layer_idを有する。アトラステクスチャコンポーネント及び対応するアトラス深さコンポーネントを含むレイヤは、レイヤペアと呼ばれる。レイヤペアでは、アトラス深さコンポーネントレイヤは独立であり、アトラステクスチャコンポーネントレイヤからのインターレイヤ予測を許容しない。
【0099】
幾つかの実施形態では、HEVC Annex F VPS拡張の使用が提供される。幾つかの実施形態では、占有マップの明示的ビデオコーディングにより、占有マップコンポーネントも、別個のレイヤで、各アトラスについてHEVCコーディングされる。幾つかの実施形態では、ここで議論されるIV仕様は、アトラスレイヤグループを含み、テクスチャ、深さ、及び占有マップの(及び任意的に、V-PCCの追加属性の)コンポーネントを有する。
【0100】
幾つかの実施形態では、HEVC Annex F Scalabilityマスクテーブルの3個の新しいエントリの割り当ては、AtlasId、OccupancyFlag、及びAttributeIdについて、9個の予約値を残したまま、12個の予約値のうちの3個を利用して、表11に示されるように提供される。
【0101】
幾つかの実施形態では、AtlasIdはレイヤのアトラスID(Atlas Id)値を示すために使用される。幾つかの実施形態では、既存のDepthLayerFlagは、テクスチャコンポーネントレイヤに対するアトラス深さコンポーネントを示すために使用される。幾つかの実施形態では、OccupancyFlagはアトラス占有マップコンポーネントレイヤを示すために使用される。これらの値は、ScalabilityId値を用いて、VPS拡張パラメータに従い、nuh_layer_idから導出されてよい。
【0102】
幾つかの実施形態では、素材ID(Material ID)、透明度(Transparency)、反射率(Reflectance)、法線(Normals)を含む他の属性は、AttributeIdを用いて示されることができる。
【0103】
表11 幾つかの実施形態による、ScalabilityIdのスケーラビリティ次元へのマッピング
【表11】
【0104】
幾つかの実施形態では、MIV Immersive Main 10プロファイルは、6章に記載されるように、レイヤのnuh_layer_idの値に追加要件を課さず、既存のHEVC Annex F VPS拡張設計は、ScalabilityId変数の正しい値を導出するためにシンタックス要素をシグナリングする方法に柔軟性をもたらす。
【0105】
次に、幾つかの実施形態による、シンタックスの使用を議論する。幾つかの実施形態では、MIV Immersive Main 10プロファイルのScalabilityId値を正しく設定するために、VPSを使用する簡易且つ効率的な方法が、ここで提供される。幾つかの実施形態では、ここで議論されるIV仕様は、具体的に、この推奨されるシンタックスを使用することを必要としない。しかしながら、幾つかの実施形態では、シンタックスは、テストモデルで使用される。
【0106】
表12は、幾つかの実施形態による、既存のHEVC Annex F設計の幾らかの説明に加えて、splitting_flag、scalability_mask[i]、nuh_layer_id、及び追加シンタックス要素が使用され得る方法の説明を提供する。幾つかの実施形態では、splitting_flagは、nuh_layer_idのビットのマルチレイヤ特性への単純なマッピングを示すために、1に等しく設定される。幾つかの実施形態では、scalability_mask_flag[i]は、1000110000000000に等しく設定されて(各ビットはバイナリアレイ値を表す)、使用されるべきレイヤ次元が0(DepthLayerFlagの場合)、4(AtlasIdの場合)、及び5(OccupancyFlagの場合)であることを示す。幾つかの実施形態では、dimension_id_len_minus1[1]は、log2(NumAtlases)に等しく設定され、AtlasIdを表すために必要なビットの数を示す。幾つかの実施形態では、dimension_id_len_minus1[2]は、1に等しく設定され、OccupancyFlagを表すために1ビットが必要であることを示す。
【0107】
表12MIV/V-PCCのためのscalability_mask[i]及びnuh_layer_idの提案される使用
【表12】
【0108】
表13は、幾つかの実施形態による、種々の数のアトラステクスチャコンポーネントについて、scalability_mask[i]ビット位置のiの値毎に、dimension_id_len_minus1[j]内でシグナリングされる推奨ビット数を示す。
【0109】
表13 dimension_id_len_minus1[j]の推奨される値
【表13】
【0110】
表14は、1つのアトラスを有する例を示す。0に等しいnuh_layer_idは、アトラステクスチャコンポーネントレイヤのために使用され、1に等しいnuh_layer_idは、アトラス深さコンポーネントレイヤのために使用され、2に等しいnuh_layer_idは、アトラス占有マップコンポーネントレイヤのために使用される。
【0111】
表14 1つのアトラスが使用されるとき
【表14】
【0112】
表15及び16は、2又は4個のアトラスについての同様の例を示す。
【0113】
表15 2個のアトラスが使用されるとき(A及びB)
【表15】
【0114】
表16 4個のアトラスが使用されるとき(A、B、C及びD)
【表16-1】
【表16-2】
【0115】
次に、幾つかの実施形態による、カメラパラメータシグナリングを議論する。例えば、MIV WD1は、camera_params_list()シンタックス構造内でのカメラパラメータのシグナリングを含む。固有パラメータ及び外部(extrinsic)パラメータの両方が含まれる。外部パラメータは、特定のビューに関連する各カメラの(x,y,z)位置及び(yaw,pitch,roll)方向を示す。
【0116】
幾つかの実施形態では、カメラの効率的なシグナリングは、固定グリッドパターンで提供され、これは、V-PCC内で使用される6カメラ及び8カメラ構成に適用可能である。幾つかの実施形態では、次元毎に32ビットにより各カメラの(x,y,z)方向を明示的にシグナリングする代わりに、粒度が次元毎に32ビットでシグナリングされる。個々のカメラ位置は、次に、その粒度に基づきシグナリングされる。例えば、V-PCC 6カメラ構成では、各カメラ位置は、実線の境界長方形に面する投影面の中心により表される。幾つかの実施形態では、各次元の粒度は、境界ボックス次元の長さの値の半分である。幾つかの実施形態では、yaw_pitch_roll_idcシンタックス要素は、特定の場合のヨー、ピッチ、及びロール(yaw、pitch、及びroll)パラメータを明示的にシグナリングせず、これは、並列カメラ、及びV-PCC 6カメラ及び8カメラ構成を有するカメラアレイを含む。
【0117】
図5は、本開示の少なくとも幾つかの実装により構成された、カメラパラメータのコーディングを含む没入型ビデオコーディングのための例示的な処理500を示すフロー図である。処理500は、図5に示すような1つ以上の動作501~510を含んでよい。処理500は、ここで議論されるシステムの任意の装置により実行されてよい。幾つかの実施形態では、動作501~506は、エンコーダにより実行され、動作507~510は、デコーダにより実行される。
【0118】
処理は動作501で開始し、特定の没入型ビデオについて、カメラ位置、カメラ方向、及び固有パラメータが受信される。例えば、カメラ位置、カメラ方向、及び固有パラメータは、特定の没入型ビデオを獲得するために使用される(現実又は仮想)カメラ数を記述する。幾つかの実施形態では、カメラパラメータは、複数のカメラの固有(撮像)パラメータ、及びカメラの外部パラメータ(位置及び方向)をシグナリングするためである。
【0119】
図6は、本開示の少なくとも幾つかの実装により構成される、没入型ビデオコーディングに関する例示的なカメラアレイ610及び対応するカメラパラメータ600を示す。例えば、カメラアレイ610は、シーンの入力ビュー101を獲得するために使用されてよい。つまり、カメラアレイ610は、没入型ビデオ生成又はキャプチャのために使用されてよい。図6の例では、カメラアレイ610は、グリッドパターンの6個のカメラC1~C6を含み、カメラC1~C3は第1行にあり、カメラC4~C6は第2行にある。しかしながら、カメラアレイ610は、任意の数のカメラを任意の空間レイアウトで有してよい。更に、カメラアレイ610は、カメラC1~C6が全部x-y平面内に配置されるよう示される。しかしながら、カメラアレイ610のカメラは任意の方法で位置付けられてよい。
【0120】
カメラC1~C6の各々は、それぞれ対応するカメラパラメータ611、612、613、614、615、616を有する。図示のように、カメラパラメータ611は、カメラC1の位置、カメラC1の方向、及びカメラC1の撮像パラメータを含んでよい。図示のように、位置パラメータは、カメラC1の座標(x1,y1,z1)を含む。方向パラメータは、roll、pitch、及びyaw値(r1,p1,yaw1)、又はカメラC1の方向を定め4元数パラメータを含む。カメラC1に関して示されるように、カメラC1~C6の各々は、6DOFの動き635として特徴付けられる位置及び方向により、3Dシーンを通じて、位置付けられ方向付けられてよい。6DOFの動き635は、カメラC1~C6の各々が平行移動:前/後(例えば、z軸内)、上/下(例えば、y軸内)、右/左(例えば、x軸内)、及び回転:ヨー(例えば、y軸周りの角度)、ロール(例えば、x軸周りの角度)、及びピッチ(例えば、z軸周りの角度)により移動してよいことを示す。固有又は撮像パラメータは、投影方法又はモード(PM1)、焦点距離(FL1)、視野(FOV1)、Znear値(ZN1)、Zfar値(ZF1)、深さ量子化パラメータ(図示しない)、及びここに議論されるような他のもの、のうちの1つ以上を含む。例えば、投影モードは、カメラの全方向コンテンツ、通常の透視図法コンテンツ、又は直交コンテンツ、のうちの1つを示してよい。つまり、投影モードは、全方向投影モード、通常の透視図法投影モード、又は直交投影モード、のうちの1つを示してよい。
【0121】
同様に、カメラパラメータ612、613、614、615、616は、それぞれカメラC2~C6の各々の同様の位置、方向、及び撮像パラメータを含む。特に、このようなカメラパラメータ611、612、613、614、615、616、又はカメラパラメータ102として表されるそれらの位置は、ビットストリーム107に符号化され、ビュー合成及び他のアプリケーションで使用するためにデコーダシステム300により復号される。ここで議論される技術は、カメラアレイ610のカメラパラメータ612、613、614、615、616の効率的なコーディングをもたらす。
【0122】
図5に戻ると、処理は動作502で継続し、1つ以上のカメラ位置粒度値が、3D空間内のカメラの位置を表すために、3D軸の各々について生成される。幾つかの実施形態では、単一のカメラ位置粒度値が使用される。幾つかの実施形態では、各軸について、カメラ位置粒度値が使用される。例えば、粒度値は、3D空間内の軸に沿う特定の距離を表してよい。幾つかの実施形態では、粒度値は、特定の次元におけるカメラC1~C6のうちのいずれかの間の最短距離として設定される。幾つかの実施形態では、粒度値は、特定の次元におけるカメラC1~C6のうちのいずれかの間の最短距離の関数として設定される(例えば、カメラのうちのいずれかの間の最短距離の2分の1、4分の1、又は8分の1)。幾つかの実施形態では、粒度値は、特定の次元におけるカメラC1~C6のうちのいずれかの間の距離のうちのいずれかの間の最小デルタとして設定される。例えば、カメラのC1~C6の間の各距離は、(各次元において)決定されてよく、距離のうちのいずれかの間の最小デルタが粒度値として使用されてよい。
【0123】
処理は動作503で継続し、各カメラ位置について、カメラの各軸について、1つ以上のカメラ位置粒度値に基づき、カメラ位置ユニット値が決定される。例えば、カメラC5は、x次元における原点から数値Mのカメラ位置粒度値、及び原点から数値Nのカメラ位置粒度値であってよい。幾つかの実施形態では、カメラ位置ユニット値は、グローバル参照座標系における原点に基づく。他の実施形態では、カメラ位置ユニット値は、アレイ内の別のカメラに対してである。例えば、C5のカメラ位置ユニット値は、カメラC4のx位置からx軸における数値Mのカメラ位置粒度値、及びカメラC4のy位置からy軸における0カメラ位置粒度値であってよい。つまり、カメラ位置ユニット値は、グローバル参照座標系における原点、別のカメラ、又は任意の他の点からの位置に基づいてよい。
【0124】
処理は動作504で継続し、固有パラメータがカメラについて分析され、全部のカメラについて特定のタイプの固有パラメータが一致するとき、カメラパラメータ均等フラグ(camera parameters equal flag)が設定され、特定のパラメータ及びフラグがカメラセットについて符号化される。つまり、特定のタイプの全部の固有パラメータが全部のカメラについて一致するとき、パラメータは1回だけコーディングされ、パラメータ均等フラグが設定される。従って、デコーダは、全部のカメラにパラメータを適用してよい。幾つかの実施形態では、フラグが設定される。従って、パラメータは、特定のカメラについてフラグがオフに設定され、新しいパラメータが該カメラ及び全部の後続のカメラのために送信されるまで、カメラのうちの幾つかについて繰り返される。
【0125】
処理は動作505で継続し、全部のカメラがデフォルト方向を有するとき、カメラの方向情報が破棄される。幾つかの実施形態では、カメラの各々のヨー、ピッチ、及びロールは、0又は他のデフォルトパラメータに設定されてよく、カメラの各々のヨー、ピッチ、及びロールは破棄されてよい。代わりに、カメラについて値がコーディングされない、又はデフォルト値を示すフラグがコーディングされてよい。それにより、実質的な帯域幅を節約する。代替として、単一のヨー、ピッチ、及びロール値がコーディングされてよく、方向パラメータ均等フラグが設定されてよく(カメラパラメータ均等フラグと同様に)、ヨー、ピッチ、及びロール値が全部のカメラに適用されてよい。更に別の実施形態では、単一のヨー、ピッチ、及びロール基準値が送信されてよく、(多くの場合に0であると予想されるヨー、ピッチ、及びロール基準値に対するう)カメラの各々のデルタ値が送信されてよい。
【0126】
処理は動作506で継続し、カメラパラメータがコーディングされ、デコーダ又はメモリ記憶装置のような別の装置へ送信される。例えば、コーディングカメラパラメータは、ビットストリームに含まれ及び/又は圧縮表現にパケット化されデコーダ又はメモリ記憶装置に(デコーダによる最終的な使用のために)提供されてよい。
【0127】
処理は動作507で継続し、コーディングカメラパラメータが受信される。例えば、コーディングカメラパラメータは、デコーダシステム300により受信されてよい。図示のように、コーディングカメラパラメータは、復号され、カメラアレイを再構成するために及び再構成没入型ビデオにおけるビューポートを生成する際に使用するために適用されてよい。幾つかの実施形態では、処理500は、没入型ビデオに対応するカメラ数について、カメラの固有パラメータ及びカメラの外部パラメータをシグナリングするためのカメラパラメータを受信するステップを含む。幾つかの実施形態では、カメラパラメータは、複数のカメラのうちの幾つかについて(例えば、第1タイプの)1つ以上の第1固有パラメータが存在せず、複数のカメラのうちのいずれかについて1つ以上の外部パラメータが存在しない。例えば、固有カメラパラメータがカメラのうちの1つについてのみ、又はカメラのうちのそれぞれのカメラについて提供され得るように、カメラパラメータ均等フラグが利用されてよい。更に、デフォルト外部パラメータが使用されてよく、その結果、外部パラメータのうちの少なくとも幾つかについて(例えば、ヨー、ピッチ、及びロール)、パラメータがビットストリームに含まれない。
【0128】
更に、コーディングカメラパラメータは、動作502に関して議論したように、カメラ位置粒度値は、没入型ビデオに対応するグローバル参照座標系におけるカメラ位置のシグナリング精度を示すように、グローバル参照座標系における各軸のカメラの変位を表すカメラ位置粒度値と、各カメラ位置ユニット値がカメラ位置粒度値に基づきグローバル参照座標系における第1カメラの位置を示すように、カメラのうちの第1カメラのx軸、y軸、及びz軸のうちの1つ以上のカメラ位置ユニット値と、を含んでよい。
【0129】
処理は動作508で継続し、グローバル参照座標系におけるカメラの位置は、カメラ位置粒度値及びカメラ位置ユニット値を用いて決定される。グローバル参照座標系におけるカメラの位置は、任意の適切な技術または複数の技術を用いて決定されてよい。幾つかの実施形態では、グローバル参照系における第1カメラの位置を決定するステップは、カメラ位置粒度値を第1カメラの各カメラ位置ユニット値により乗算して、グローバル参照座標系における第1カメラの位置を決定するステップを含む。幾つかの実施形態では、グローバル参照座標系における第1カメラの位置を決定するステップは、カメラ位置粒度値を、第1カメラの各カメラ位置ユニット値により乗算するステップと、各々の結果として得た積を(原点に基づく場合)0のような値又は(アレイ内の別のカメラのような)第1カメラが基づく基準位置に対応する別の値により加算するステップと、を含む。幾つかの実施形態では、x軸カメラ位置ユニット値は、x軸カメラ位置粒度値により乗算され、積が基準x軸位置に加算されて、カメラのx軸位置を決定し、y軸カメラ位置ユニット値がy軸カメラ位置粒度値により乗算され、積が基準y軸位置に加算されて、カメラのy軸位置を決定し、z軸カメラ位置ユニット値がz軸カメラ位置粒度値により乗算され、積が基準z軸位置に加算されて、カメラのz軸位置を決定する。幾つかの実施形態では、z軸位置はシグナリングされず(例えば、z軸カメラ位置ユニット値が提供されない)、z軸位置は0のようなデフォルト値である。幾つかの実施形態では、カメラ位置粒度値は固定小数点である。
【0130】
処理は動作509で継続し、カメラパラメータ均等フラグに基づき、第1(又は基準)カメラの固有パラメータが、全部の他のカメラに適用される。幾つかの実施形態では、復号固有カメラパラメータは、複数のカメラパラメータからカメラのうちの第1カメラの第1復号固有パラメータを復号し、上述の受信したカメラパラメータ均等フラグに基づき、第1復号固有パラメータを複数のカメラの各々に適用することにより、複数のカメラの各々について決定される。つまり、特定の固有パラメータタイプ(例えば、FOV、FL、MP等)について受信され、次に、特定の固有パラメータタイプのカメラパラメータ均等フラグに基づき全部のカメラについて使用される。幾つかの実施形態では、カメラパラメータ均等フラグは、全部のタイプの固有パラメータが全部のカメラについて同じであることを示してよい。幾つかの実施形態では、復号固有パラメータは、投影方法、投影面幅、縦範囲、視野、又は焦点距離のうちの1つを含む。幾つかの実施形態では、処理500は、第1カメラの深さ量子化パラメータ、及び複数のカメラの深さ量子化パラメータ均等フラグを受信するステップと、深さ量子化パラメータ均等フラグに応答して、深さ量子化パラメータを複数のカメラの各々に割り当てるステップと、を含む。
【0131】
処理は動作510で継続し、方向情報がビットストリーム(例えば受信したカメラパラメータ)内で受信されないことに応答して、デフォルト方向が全部のカメラに適用される。議論されるように、幾つかの実施形態では、ヨー、ピッチ、及びロールのうちの1つ又は全部について、カメラアレイの情報がエンコーダから提供されない。幾つかの実施形態では、第1外部パラメータの不存在に基づき、復号された外部パラメータは、デフォルトパラメータとしてカメラの各々に適用される。幾つかの実施形態では、外部パラメータはヨーであり、適用されるデフォルトパラメータはゼロヨー(zero yaw)である。幾つかの実施形態では、外部パラメータはピッチであり、適用されるデフォルトパラメータはゼロピッチ(zero pitch)である。幾つかの実施形態では、外部パラメータはロールであり、適用されるデフォルトパラメータはゼロロール(zero roll)である。議論されるように、他の実施形態では、単一の値が、ヨー、ピッチ、及びロールのうちの1つ以上の各々について、方向均等フラグと共に受信されてよく、単一の値は、方向均等フラグに応答して、全部のカメラに適用されてよい。更に他の実施形態では、ヨー、ピッチ、及びロールの基準値、及び差分値は、カメラ毎に復号される。その結果、特定のカメラのヨー値は、特定のカメラについての基準ヨーに差分値ヨーを足したものであり、特定のカメラのピッチ値は、特定のカメラについての基準ピッチに差分値ピッチを足したものであり、特定のカメラのロール値は、特定のカメラについての基準ロールに差分値ロールを足したものである。
【0132】
次に、幾つかの実施形態による、カメラパラメータリストシンタックスを議論する。MIV WD1は、表17に示されるカメラパラメータリストシンタックスを提供する。
【0133】
表17
【表17】
【0134】
幾つかの実施形態では、表18及び19に示されるようにカメラパラメータリストシンタックスが利用される。
【0135】
表18
【表18】
【0136】
表19
【表19】
【0137】
ここで、シンタックス要素の幾つかは以下のように幾つかの実施形態に従い定義される。シンタックス要素camera_params_list()は、3Dシーンを表すカメラのリストを指定する。シンタックス要素num_cameras_minus1に1を足したものは、カメラリスト内のカメラの数を示す。num_cameras_minus1の値は、両端を含む0~65534の範囲であるべきである。65535の値は、ISO/IECにより将来指定され得る。変数NumViewsは、num_cameras_minus1に1を足したものに等しく設定される。シンタックス要素cam_pos_x_granularity、cam_pos_y_granularity、及びcam_pos_z_granularityは、符号無し固定小数点16.16値であり、それぞれcam_pos_x[i]、cam_pos_y[i]、及びcam_pos_z[i]シンタックス要素のシグナリング精度をそれぞれグローバル参照座標系におけるメートルで示す。シンタックス要素yaw_pitch_roll_idcは、表14に示されるように、cam_yaw[i]、cam_pitch[i]、及びcam_roll[i]のシグナリングメカニズムを示す。シンタックス要素cam_id_present_flagは、cam_view_id[i]シンタックス要素が存在することを示す。シンタックス要素cam_view_id[i]は、i番目のカメラのビュー識別子を指定する。存在しないとき、cam_view_id[i]の値はiに等しいと推定される。シンタックス要素cam_pos_x[i]は、cam_pos_x_granularityメートルの単位で、グローバル参照座標系におけるi番目のカメラの位置のX(後ろ-前)座標を指定する。cam_pos_x[i]は、両端を含む-256~256の範囲であるべきである。シンタックス要素cam_pos_y[i]は、cam_pos_y_granularityメートルの単位で、グローバル参照座標系におけるi番目のカメラの位置のY(横、左-右)座標を指定する。cam_pos_y[i]は、両端を含む-256~256の範囲であるべきである。シンタックス要素cam_pos_z[i]は、cam_pos_z_granularityメートルの単位で、グローバル参照座標系におけるi番目のカメラの位置のZ(下-上)座標を指定する。cam_pos_z[i]は、両端を含む-256~256の範囲であるべきである。シンタックス要素cam_yaw[i]、cam_pitch[i]、及びcam_roll[i]は、それぞれ、グローバル参照座標系における2-16度の単位で、グローバル参照座標軸をi番目のカメラのローカル座標軸に変換するために適用される回転のヨー、ピッチ、及びロール角を指定する。シンタックス要素intrinsic_params_equal_flagが1に等しいことは、0番目のカメラの固有パラメータvirtual_camera_intrinsics()がカメラパラメータリスト内の全部のカメラに適用されることを指定する。intrinsic_params_equal_flagが0に等しいことは、固有パラメータvirtual_camera_intrinsics()が0番目のカメラのdep()内の各カメラについて存在し、カメラパラメータリスト内の全部のカメラに適用されることを指定する。intrinsic_params_equal_flagが0に等しいことは、固有パラメータvirtual_camera_intrinsics()がカメラパラメータリスト内の各カメラについて存在することを指定する。シンタックス要素depth_quantization_params_equal_flagが1に等しいことは、0番目のカメラのdepth_quantization()シンタックス構造内の深さ量子化パラメータカメラパラメータリスト内の全部のカメラに適用されることを指定する。depth_quantization_params_equal_flagが0に等しいことは、depth_quantization()シンタックス構造内の深さ量子化パラメータがカメラパラメータリスト内の各カメラについて存在することを指定する。
【0138】
シンタックス要素cam_type[v]は、v番目のカメラの投影方法を示す。cam_type[v]が0に等しいことは、ERP投影を指定する。cam_type[v]が1に等しいことは、CMP投影を指定する。cam_type[v]が2に等しいことは、透視図法投影を指定する。3~255の範囲のcam_type値は、ISO/IECによる将来の使用のために予約される。シンタックス要素projection_plane_width[v]及びprojection_plane_height[v]は、それぞれ、コーディングルマサンプルで表現されるカメラ投影平面の水平及び垂直解像度を指定する。シンタックス要素erp_phi_min[v]及びerp_phi_max[v]は、ERP投影の経度範囲(最小値及び最大値)を、2-16度の単位で指定する。erp_phi_min[v]及びerp_phi_max[v]は、グローバル参照座標系において、両端を含む-180*216~180*216-1の範囲であるべきである。シンタックス要素erp_theta_min及びerp_theta_maxは、ERP投影の緯度範囲(最小値及び最大値)を、2-16度の単位で指定する。erp_theta_min及びerp_theta_maxは、グローバル参照座標系において、両端を含む-90*216~90*216-1の範囲であるべきである。シンタックス要素cubic_map_typeは、CMP投影のタイプを示す。cubic_map_typeが0に等しいことは、完全投影(6個の一組の面による)を指定する。0より大きいcubic_map_typeの値は、ISO/IECによる将来の使用のために予約される。シンタックス要素perspective_focal_hor及びperspective_focal_verは、ルマサンプル内で透視図法投影の焦点の水平及び垂直コンポーネントをそれぞれ指定する固定小数点16.16値である。シンタックス要素perspective_center_hor及びperspective_center_verは、ルマサンプル内で透視図法投影のの主点(principal point)の水平及び垂直座標をそれぞれ指定する固定小数点16.16値である。perspective_center_hor及びperspective_center_verの値は、それぞれ、0~projection_plane_width-1、及び0~projection_plane_height-1の範囲内であるべきである。シンタックス要素quantization_law[v]は、v番目のカメラの深さ量子化方法のタイプを示す。quantization_law[v]が0に等しいことは、深さ値の逆数の均一な量子化を指定する。0より大きいquantization_law[v]の値は、ISO/IECによる将来の使用のために予約される。シンタックス要素depth_near[v]及びdepth_far[v]は、v番目のカメラによりキャプチャされる3Dシーンのそれぞれ最小及び最大深さ値をメートル単位で指定する固定小数点16.16値である。
【0139】
幾つかの実施形態では、シンタックス要素CamYaw[i]、CamPitch[i]、及びCamRoll[i](下線を省略する)は、以下の擬似コードにより導出される:
【数1】
【0140】
次に、幾つかの実施形態による、アトラスパラメータシグナリングを議論する。MIV WD1は、atlas_params()シンタックス構造内の各アトラスにより表現されるパッチを記述する簡易な方法を使用する。アトラス内の各パッチについて、以下の情報がシグナリングされる:パッチの(幅、高さ)サイズ、アトラス内のパッチの(x,y)位置、ビュー内のパッチの(x,y)位置、アトラスとビューとの間のパッチの90°回転。V-PCC SCDは、パッチデータユニット内のパッチのシグナリングのためのより複雑な方法を有する。これは、パッチの特性を参照するインターフレームパッチ、及び3次元空間内のパッチ回転を含む。
【0141】
図7は、本開示の少なくとも幾つかの実装による、パッチの例示的な90°回転700を示す。図7に示すように、幾つかの実施形態では、パッチは、アトラスピクチャとビュー表現との間で回転されてよい。特に、(以下に更に説明されるように)パラメータpatch_rotationが1であるとき、図7に示すように、アトラスからビューへのマッピングのときに、時計方向に90°の回転が適用される。
【0142】
アトラスパラメータシグナリングの議論に戻ると、幾つかの実施形態では、atlas_params()シンタックス構造が、コーディング効率を向上するための変更を伴い、IVコーディングのために使用される。幾つかの実施形態では、ue(v)エントロピーコーディングは、幾つかのシンタックス要素のために使用され、u(v)コーディングは他のシンタックス要素のために使用される。V-PCCパッチコーディングのより複雑な特徴は、IV仕様で記載されない。インターフレームパッチ参照のような、より複雑な特徴のうちの幾つかは、MIVプロファイルでサポートされることが期待されない。インターフレームパッチ参照を通じて、どれくらい多くの利得が達成されるかを決定するための更なる研究は、V-PCC設計による更なる共通性を達成するかどうか、又は別個のシンタックス構造が使用されるかどうかを決定するのに役立つ。
【0143】
幾つかの実施形態によるアトラスパラメータシグナリングのためのシンタックスは、表22及び23において提供され、意味は以下に説明される。しかしながら、先ず、表20及び21は、MIV WD1アトラスパラメータシンタックスを提供する。
【0144】
表20 MIV WD1アトラスパラメータリストシンタックス
【表20】
【0145】
表21 MIV WD1アトラスパラメータシンタックス
【表21】
【0146】
次に、幾つかの実施形態による、アトラスパラメータリストシンタックスを議論する。幾つかの実施形態では、表22及び23に示されるようにアトラスパラメータシグナリングのためのシンタックスが提供される。
【0147】
表22 幾つかの実施形態によるアトラスパラメータリストシンタックス
【表22】
【0148】
表23 幾つかの実施形態によるアトラスパラメータシンタックス
【表23】
【0149】
特に、幾つかの実施形態によるアトラスパラメータシンタックスでは、シンタックス要素num_atlases_minus1及びatlas_idarecodedwithue(v)は、ue(v)エントロピーコーディング(Exp-Golombコーディング)によりコーディングされ、シンタックス要素cam_id、patch_width_in_view、patch_height_in_view、patch_pos_in_atlas_x、patch_pos_in_atlas_y、patch_pos_in_view_x、及びpatch_pos_in_view_yは、u(v)コーディング(整数ビットコーディング)によりコーディングされる。ここで、割り当てられたサイズは、ここに更に議論されるように、別の要素(vにより表される)に基づく。
【0150】
ここで、シンタックス要素の幾つかは以下のように幾つかの実施形態に従い定義される。シンタックス要素atlas_params_present_flagが1に等しいことは、atlas_params_list()シンタックス構造が存在することを示す。atlas_params_present_flagが0に等しいことは、atlas_params_list()シンタックス構造が存在しないことを示す。シンタックス要素は、現在のIV出力ユニットの出力ユニットカウントを示す。iv_output_unit_countを表すために使用されるビットの数は、iv_output_unit_count_bits_minus4+4である。シンタックス要素ivs_oup_vui_present_flagが1に等しいことは、出力ユニットVUIパラメータがシンタックス構造内に存在することを示す。ivs_oup_vui_present_flagが0に等しいことは、出力ユニットVUIパラメータが存在しないことを示す。シンタックス要素ivs_oup_num_points_present_flagが1に等しいことは、ivs_oup_num_pointsシンタックス要素が存在することを示す。ivs_oup_num_points_present_flagが0に等しいことは、ivs_oup_num_pointsシンタックスシンタックス構造が存在することを示す。シンタックス要素ivs_oup_num_pointsは、参照ポイントクラウドレンダラから、現在出力ユニットのために生成されるべきポイントクラウド内のポイントの数を示す。シンタックス要素ivs_oup_extension_present_flagが0に等しいことは、ivs_oup_extension_data_flagシンタックス要素がシンタックス構造内に存在しないことを示す。ivs_oup_extension_present_flagが1に等しいことは、ivs_oup_extension_data_flagシンタックス要素がシンタックス構造内に存在することを指定する。規格適合するデコーダは、ivs_oup_extension_present_flagの値1に従う全部のデータを無視すべきである。シンタックス要素ivs_oup_extension_data_flagは任意の値を有してよい。その存在及び値は、プロファイルへのデコーダ規格適合性に影響しない。プロファイルに適合するデコーダは、全てのivs_oup_extension_data_flagシンタックス要素を無視すべきである。シンタックス要素num_atlases_minus1に1を足したものは、アトラスリスト内のアトラスの数を示す。シンタックス要素atlas_id[i]は、i番目のアトラスのインデックスを示す。シンタックス要素num_patches_minus1[a]に1を足したものは、a番目のアトラス内のパッチの数を示す。シンタックス要素atlas_width[a]は、a番目のアトラスの幅を示す。ビットストリーム規格適合の要件は、atlas_width[a]が、a番目のアトラスのテクスチャアトラスコンポーネントレイヤについて、アクティブSPSの中のpic_width_in_luma_samplesに等しいことである。シンタックス要素atlas_height[a]は、a番目のアトラスの高さを示す。ビットストリーム規格適合の要件は、atlas_height[a]が、a番目のアトラスのテクスチャアトラスコンポーネントレイヤについて、アクティブSPSの中のpic_height_in_luma_samplesに等しいことである。シンタックス要素cam_id[a][i]は、a番目のアトラスのi番目のパッチに関連付けられたカメラインデックスを示す。変数ViewId[a][i]は、cam_view_id[cam_id[a][i]]に等しく設定される。シンタックス要素patch_width_in_view[a][i]及びpatch_height_in_view[a][i]は、それぞれ、ViewId[a][i]番目のビュー内のa番目のアトラスのi番目のパッチのルマサンプルにおける幅及び高さを指定する。patch_width_in_view[a][i]及びpatch_height_in_view[a][i]を表すために使用されるビットの数は、それぞれ、Ceil(Log2(projection_plane_width[ViewId[a][i]))及びCeil(Log2(projection_plane_height[ViewId[a][i]))ビットである。シンタックス要素patch_pos_in_atlas_x[a][i]及びpatch_pos_in_atlas_y[a][i]は、それぞれ、a番目のアトラスのi番目のパッチの左上角のルマサンプルにおける水平及び垂直座標を指定する。patch_pos_in_atlas_x[a][i]及びpatch_pos_in_atlas_y[a][i]を表すために使用されるビットの数は、それぞれ、Ceil(Log2(atlas_width[a]))及びCeil(Log2(atlas_height[a]))ビットである。シンタックス要素patch_pos_in_view_x[a][i]及びpatch_pos_in_view_y[a][i]は、それぞれ、ViewId[a][i]番目のビュー内のi番目のパッチの左上角のルマサンプルにおける水平及び垂直座標を指定する。patch_pos_in_view_x[a][i]及びpatch_pos_in_view_y[a][i]を表すために使用されるビットの数は、それぞれ、Ceil(Log2(projection_plane_width[ViewId[a][i]))及びCeilLog2(projection_plane_height[ViewId[a][i]))ビットである。シンタックス要素patch_rotation[a][i]は、ViewId[a][i]番目のビュー内のパッチの方向に対する、1番目のアトラス内のi番目のパッチの回転を示す。patch_rotation[a][i]が0に等しいことは、回転がないことを指定する。patch_rotation[a][i]が1に等しいことは、図3に示すように、アトラスからビューへのマッピングのときに、時計方向に90°の回転が適用されることを指定する。patch_rotation[a][i]が2に等しいことは、アトラスからビューへのマッピングのときに、時計方向に180°の回転が適用されることを指定する。patch_rotation[a][i]が3に等しいことは、アトラスからビューへのマッピングのときに、時計方向に270°の回転が適用されることを指定する。
【0151】
図8は、本開示の少なくとも幾つかの実装により構成されたアトラスパラメータのコーディングを含む没入型ビデオコーディングのための例示的な処理800を示すフロー図である。処理800は、図8に示すような1つ以上の動作801~808を含んでよい。処理800は、ここで議論されるシステムの任意の装置により実行されてよい。幾つかの実施形態では、動作801~804は、エンコーダにより実行され、動作805~808は、デコーダにより実行される。
【0152】
処理は動作801で開始し、没入型ビデオに対応する複数のアトラスについて、アトラス数-1(atlasesminusone)パラメータ、アトラス識別子、パッチ毎のカメラインデックス(例えば、第1アトラスの第1パッチに関連付けられたカメラインデックス、第1アトラスの第2パッチに関連付けられたカメラインデックス、第2アトラスの第1パッチに関連付けられたカメラインデックス、等)、パッチサイズ、及びパッチ位置、を含むアトラスパラメータが受信される。幾つかの実施形態では、アトラスパラメータ(例えば、アトラスパラメータ106)は、ここで議論されるようにアトラスピクチャについて、パッチサイズ、位置、対応するビュー、及びパッチ占有を定義する。
【0153】
処理は動作802で継続し、幾つかのアトラスパラメータが符号化され、その結果、ここで議論されるようにアトラス数-1パラメータ(num_atlases_minus1)及びアトラスインデックス識別子(atlas_id)がue(v)コーディングを用いて符号化される。例えば、ue(v)コーディングは、ここに議論されるように、コーディングが別のシンタックス要素のサイズ(v)に基づくExp-Golombエントロピーコーディングを提供する。処理は動作803で継続し、他のアトラスパラメータが符号化され、その結果、ここで議論されるように、パッチ毎のカメラインデックス(cam_id)、パッチサイズ(patch_width_in_view、patch_height_in_view)、及びパッチ位置(patch_pos_in_atlas_x、patch_pos_in_atlas_y、patch_pos_in_view_x、patch_pos_in_view_y)がu(v)を用いてコーディングされる。例えば、u(v)コーディングは、ここに議論されるように、コーディングが別のシンタックス要素のサイズ(v)に基づく整数ビットコーディングを提供する。追加のアトラスパラメータは、ここに説明されるようにコーディングされてよい。更に、このようなコーディング依存性(v)は、シンタックス要素に関してここに説明されるように、実行される。幾つかの実施形態では、パッチ毎のカメラインデックスは、カメラ数-1パラメータ(例えば、没入型ビデオのためのカメラアレイ内のカメラの数-1;num_cameras_minus1)、又はカメラ数(例えば、アレイ内のカメラの数)に基づく整数サイズ(v)を用いてコーディングされる。幾つかの実施形態では、パッチ毎のカメラインデックスは、底を2とするカメラ数-1パラメータの対数に等しい整数サイズ(v)を用いて、コーディングされる。幾つかの実施形態では、パッチ毎のカメラインデックス(cam_id[a][i]を表すために使用されるビットの数はCeil(Log2(num_cameras_minus1)である)。幾つかの実施形態では、パッチ毎のカメラインデックス(cam_id[a][i]を表すために使用されるビットの数はCeil(Log2(num_cameras_minus1+1)である)。このような整数サイズは、後述の復号でも使用される。
【0154】
処理は動作804で継続し、コーディング没入型ビデオは、デコーダ又はメモリ記憶装置のような別の装置へ送信される。例えば、コーディング没入型データは、ビットストリームに含まれ及び/又は圧縮表現にパケット化されデコーダ又はメモリ記憶装置に(デコーダによる最終的な使用のために)提供されてよい。
【0155】
処理は動作805で継続し、没入型ビデオに対応するアトラスの数について、アトラス数-1パラメータ及び複数のアトラスのうちの第1アトラスの第1パッチに関連付けられたカメラインデックス(例えば、アトラスインデックス識別子)を含むコーディングされたアトラスパラメータを含むビットストリーム部分が受信される。更に、ビットストリーム部分は、追加アトラスインデックス識別子、パッチ毎のカメラインデックス、パッチサイズ、及びパッチ位置の、コーディングされた表現を含んでよい。
【0156】
処理は動作806で継続し、アトラス数-1パラメータのコーディングされた表現が、ここに議論されるように、Exp-Golombエントロピー復号(ue(v))を用いて復号される。動作806は、Exp-Golombエントロピー復号(ue(v))を用いてアトラスインデックス識別子のコーディングされた表現を復号するステップを更に含んでよい。処理は動作807で継続し、複数のアトラスのうちの第1アトラスの第1パッチに関連付けられたカメラインデックスが、整数ビット復号(u(v))を用いて復号される。整数ビット復号は、符号化に関して議論したように、カメラ数-1パラメータに基づく整数長を含む。動作807は、整数ビット復号を用いて第1パッチのパッチサイズを復号するステップを更に含んでよい。幾つかの実施形態では、整数ビット復号は、カメラ数(例えば、カメラ数-1パラメータ)に基づく。幾つかの実施形態では、投影平面サイズに基づく整数ビット復号は、2を底とするカメラ数-1パラメータの対数に等しい整数サイズにおけるパッチサイズの整数ビット復号を含む。幾つかの実施形態では、整数ビット復号は、ここに説明するように、投影平面サイズに基づく。幾つかの実施形態では、投影平面サイズに基づく整数ビット復号は、2を底とする投影平面サイズの対数に等しい整数サイズにおけるパッチサイズの整数ビット復号を含む。幾つかの実施形態では、投影平面サイズは、カメラ投影平面の水平方向解像度である。幾つかの実施形態では、復号パッチサイズは、第1アトラスの第1パッチのルマサンプルにおけるパッチ幅である。
【0157】
処理は動作808で継続し、1つ以上のビューピクチャ又は表現が、復号アトラスパラメータに基づき生成される。例えば、復号アトラスピクチャは、ビューポート生成において使用するために、1つ以上のビューピクチャを配置(populate)するために、復号アトラスパラメータに基づきアクセスされてよい。
【0158】
次に、幾つかの実施形態による、HEVC「Independent Layers Main 10」プロファイルを議論する。幾つかの実施形態では、「Independent Layers Main 10」プロファイルは、HEVCの新訂のために提供され、HEVCビットストリームのVPS拡張の中でシグナリングされる。この新しいプロファイルは、規格適合するHEVCビットストリームが2つ以上の独立レイヤを含むことを許容する。幾つかの実施形態では、Independent Layers Main 10プロファイルのセマンティクスは、マルチビューメイン(Multiview Main)プロファイルのセマンティクスに基づいてよい。実施形態では、このプロファイルの中で、direct_dependency_flag[i][j]は、ビットストリーム内に存在するi及びjの全ての値について、0に等しいことが要求されてよい。この制約の特定の言い回しは、以下のプロファイルの説明において提供される。
【0159】
幾つかの実施形態では、Independent Layers Main 10プロファイルは以下のように与えられる。ビットストリーム内のOLSに関連付けられた出力動作点におけるレイヤについて、レイヤはIndependent Layers Main 10プロファイルに従い、以下が適用される:olsIdxがOLSのOLSインデックスであるとして、サブビットストリームsubBitstream及び基本レイヤサブビットストリームbaseBitstreamが導出される。vps_base_layer_internal_flagが1に等しいとき、基本レイヤサブビットストリームbaseBitstreamは、以下の制約に従うべきである:基本レイヤサブビットストリームbaseBitstreamは、Main又はMain10プロファイルに従うよう指示されるべきである。サブビットストリームは、以下の制約に従うべきである:全てのアクティブVPSは、両端を含む0~15の範囲のvps_num_rep_formats_minus1を有するべきである。subBitstream内のレイヤの全てのアクティブVPSは、1に等しいchroma_format_idcのみを有するべきである。subBitstream内のレイヤの全てのアクティブSPSは、transform_skip_rotation_enabled_flag、transform_skip_context_enabled_flag、implicit_rdpcm_enabled_flag、explicit_rdpcm_enabled_flag、extended_precision_processing_flag、intra_smoothing_disabled_flag、high_precision_offsets_enabled_flag、persistent_rice_adaptation_enabled_flag及びcabac_bypass_alignment_enabled_flagを有するべきであり、存在するときは0のみである。subBitstream内のレイヤの全てのアクティブSPSから導出されるCtbLog2SizeYは、両端を含む4~6の範囲内にあるべきである。subBitstream内のレイヤの全てのアクティブPPSは、log2_max_transform_skip_block_size_minus2及びchroma_qp_offset_list_enabled_flagを有するべきであり、存在するときは0に等しいもののみである。全てのアクティブVPSは、0に等しいalt_output_layer_flag[olsIdx]のみを有するべきである。subBitstreamを導出するために使用されたlayerIdListTargetに含まれる任意の値に等しいnuh_layer_idiNuhLIdを有するレイヤについて、direct_dependency_flag[iNuhLId][j]の値はjの任意の値について0に等しいべきである。subBitstream内のレイヤの全てのアクティブSPSは、0に等しいsps_range_extension_flag及びsps_scc_extension_flagのみを有するべきである。subBitstream内のレイヤの全てのアクティブPPSは、0に等しいpps_range_extension_flag及びpps_scc_extension_flagのみを有するべきである。subBitstream内のレイヤの全てのアクティブSPSは、0に等しいbit_depth_luma_minus8のみを有するべきである。subBitstream内のレイヤの全てのアクティブSPSは、0に等しいbit_depth_chroma_minus8のみを有するべきである。subBitstream内のレイヤの全てのアクティブPPSは、0に等しいcolour_mapping_enabled_flagのみを有するべきである。subBitstream内の任意のレイヤのアクティブPPSが1に等しいtiles_enabled_flagを有するとき、それは0に等しいentropy_coding_sync_enabled_flagを有するべきである。subBitstream内の任意のレイヤのアクティブPPSが1に等しいtiles_enabled_flagを有するとき、ColumnWidthInLumaSamples[i]は、両端を含む0~num_tile_columns_minus1の範囲内のiの全ての値について256以上であるべきであり、RowHeightInLumaSamples[j]は、両端を含む0~num_tile_rows_minus1の範囲内のjの全ての値について64以上であるべきである。任意のCTUについてcoding_tree_unit()データをパースするときにread_bits(1)が呼び出される回数は、5*RawCtuBits/3以下であるべきである。subBitstream内の人にのレイヤのアクティブSPSの中のiの全ての値についてGeneral_level_idc及びsub_layer_level_idc[i]は、255(これはレベル8.5を示す)に等しくない。Independent Layers Main 10プロファイルについて指定されるティアおよびレベル制約が満たされるべきである。幾つかの実施形態では、profile_tier_level()シンタックス構造内の全部のシンタックス要素は、レイヤに関連付けられたprofile_tier_level()シンタックス構造内のものを参照する。
【0160】
ビットストリーム内のOLSに関連付けられた出力動作点におけるレイヤのIndependent Layers Main 10への規格適合性は、以下のように示される。出力動作点のOpTidがvps_max_sub_layer_minus1に等しい場合、規格適合性は、general_profile_idcが6に等しいこと、又はgeneral_profile_compatibility_flag[6]が1に等しく、general_max_12bit_constraint_flagが1に等しいこと、general_max_10bit_constraint_flagが1に等しいこと、general_max_8bit_constraint_flagが1に等しいこと、general_max_422chroma_constraint_flagが1に等しいこと、general_max_420chroma_constraint_flagが1に等しいこと、general_max_monochrome_constraint_flagが0に等しいこと、general_intra_constraint_flagが0に等しいこと、general_one_picture_only_constraint_flagが0に等しいこと、及びgeneral_lower_bit_rate_constraint_flagが1に等しいこと、により示される。その他の場合(出力動作点のOpTidがvps_max_sub_layer_minus1より小さい場合)、規格適合性は、sub_layer_profile_idc[OpTid]が6に等しいこと、又はsub_layer_profile_compatibility_flag[OpTid][6]が1に等しく、sub_layer_max_12bit_constraint_flag[OpTid]が1に等しいこと、sub_layer_max_10bit_constraint_flag[OpTid]が1に等しいこと、sub_layer_max_8bit_constraint_flag[OpTid]が1に等しいこと、sub_layer_max_422chroma_constraint_flag[OpTid]が1に等しいこと、sub_layer_max_420chroma_constraint_flag[OpTid]が1に等しいこと、sub_layer_max_monochrome_constraint_flag[OpTid]が0に等しいこと、sub_layer_intra_constraint_flag[OpTid]が0に等しいこと、sub_layer_one_picture_only_constraint_flag[OpTid]が0に等しいこと、及びsub_layer_lower_bit_rate_constraint_flag[OpTid]が1に等しいこと、により示される。
【0161】
次に、幾つかの実施形態による、MIV「Immersive Main 10」プロファイルを議論する。幾つかの実施形態では、MIV「Immersive Main 10」プロファイルは、profile_tier_level()シンタックス構造の中でシグナリングされるIV含まれる。幾つかの実施形態では、このプロファイルは、HEVCがビデオコーディングレイヤのために使用されること、及びHEVCビットストリーム内の全てのOLSがHEVC Independent Layers Main 10に従うことを要求する。幾つかの実施形態では、ビットストリーム内のビデオコーデックレイヤの数は、ivs_max_codec_layers_minus1より小さくなるよう制約される。幾つかの実施形態では、このプロファイルは、レイヤ間のピクチャコーディング順序整合を要求する。幾つかの実施形態では、このプロファイルは、アトラス毎に、各アトラスについて、テクスチャコンポーネントレイヤ、深さコンポーネントレイヤ、及び占有マップコンポーネントレイヤを含むレイヤグループが存在することを要求する。幾つかの実施形態では、各アクセスユニットについて、ピクチャがテクスチャレイヤ内に存在するとき、ピクチャも、深さレイヤ及び占有マップレイヤ内に存在することが要求される。幾つかの実施形態では、テクスチャ及び深さレイヤは、同じコーディングピクチャ解像度を有することが要求される。幾つかの実施形態では、占有マップのピクチャ解像度は、存在する場合には、スケーリング及びパッキングのための調整の後に、対応するテクスチャ及び深さコンポーネントのコーディングピクチャサイズに等しくなるよう制限される。幾つかの実施形態では、ビットストリーム内のivs_points_rendering_idcの値に基づき制約が置かれないが、レンダリングを実施するためにデコーダクライアントに要件が課されない。
【0162】
次に、幾つかの実施形態による、Immersive Main 10プロファイルを議論する。幾つかの実施形態では、Immersive Main 10プロファイルに従うビットストリームは、以下の制約に従うべきである:IVSパラメータはHEVCに等しいivs_codec_idを有するべきである。IVSパラメータは1に等しいivs_all_codec_layers_au_aligned_flagを有するべきである。ビットストリーム内のビデオコーデックレイヤの全てのアクティブSPSは、Main又はMain 10に等しいgeneral_profile_idcを有するべきである。ビットストリーム内のビデオコーデックの全てのアクティブSPSは、ivs_tier_flagより小さい又は等しいgeneral_tier_flagを有するべきである。ビットストリーム内のビデオコーデックの全てのアクティブSPSは、ivs_ptl_max_layer_level_idcより小さい又は等しいgeneral_level_idcを有するべきである。ビデオコーデックビットストリーム内の全てのアクティブVPSは、以下の制約に従うべきである:全てのOLSはIndependent Layers Main 10プロファイルに従うべきである。・vps_max_layers_minus1は、任意の値aについてaに等しいAtlasIdにより示される任意のアクティブテクスチャレイヤについて、ivs_max_codec_layers_minus1より小さい又は等しいべきである。DepthFlagは0に等しく、OccupancyFlagは0に等しく、pic_width_in_luma_samplesを有するアクティブSPSはPicWidthに等しく、pic_height_inluma_samplesはPicHeightに等しい。PicWidth及びPicHeightの任意の値について、ビットストリーム内に以下が存在するべきである:aに等しいAtlasIdを有するアクティブ深さレイヤ、1に等しいDepthFlag、0に等しいOccupancyFlag、PicWidth<<occupancy_map_scalingに等しいpic_width_in_luma_samplesを有するアクティブSPS、PicHeight<<occupancy_map_scalingに等しいpic_height_inluma_samples、aに等しいAtlasIdを有するアクティブ占有マップレイヤ、0に等しいDepthFlag、及び1に等しいOccupancyFlag、及びoccupancy_map_packing_flag?(PicWidth<<occupancy_map_scaling+7)/8:PicWidth<<occupancy_map_scalingに等しいpic_width_in_luma_samplesを有するアクティブSPS、PicHeight<<occupancy_map_scalingに等しいpic_height_inluma_samples。
【0163】
幾つかの実施形態では、ビットストリームのImmersive Main 10プロファイルへの適合は、ivs_profile_idcが0に等しいことにより示される。幾つかの実施形態では、(ivs_tier_flagの特定の値により識別される)特定のティアの(ivs_level_idcの特定の値により識別される)特定のレベルでImmersive Main 10プロファイルに適合するデコーダは、以下の全部の条件が適用される全部のビットストリーム及びサブレイヤ表現を復号可能でなければならない:ビットストリームはImmersive Main 10プロファイルに従うよう示されること、ビットストリームはレベル8.5ではない且つ指定されたレベル以下であるレベルに従うよう示されること、ビットストリームは指定されたティア以下のティアに従うよう示されること。
【0164】
次に、幾つかの実施形態による、V-PCC「Point Cloud HEVC Main 10」プロファイルを議論する。幾つかの実施形態では、V-PCC「Point Cloud HEVC Main 10」プロファイルはIVに含まれる。幾つかの実施形態では、このプロファイルは、HEVCがビデオコーディングレイヤのために使用されること、及びHEVCビットストリーム内の全てのOLSがHEVC Independent Layers Main 10に従うことを要求する。幾つかの実施形態では、ビットストリーム内のビデオコーデックレイヤの数は、ivs_max_codec_layers_minus1より小さくなるよう制約される。Immersive Main 10プロファイルと異なり、幾つかの実施形態では、レイヤ間のピクチャコーディング順序は要求されない。幾つかの実施形態では、このプロファイルは、ビットストリームが、レンダラにレンダリング処理を通じて、基準ポイントクラウドレンダラにより生成されるポイントクラウドシーケンスと正確に一致するポイントクラウドシーケンスを生成させることができることを要求する。
【0165】
幾つかの実施形態では、Point Cloud HEVC Main 10プロファイルに従うビットストリームは、以下の制約に従うべきである:IVSパラメータはHEVCに等しいivs_codec_idを有するべきである。IVSパラメータは1に等しいivs_rendering_idcを有するべきである。ビットストリーム内のビデオコーデックレイヤの全てのアクティブSPSは、ivs_tier_flagより小さい又は等しいgeneral_tier_idcを有するべきである。ビットストリーム内のビデオコーデックレイヤの全てのアクティブSPSは、ivs_ptl_max_layer_level_idcより小さい又は等しいgeneral_level_idcを有するべきである。ビットストリーム内のビデオコーデックレイヤの全てのアクティブSPSは、ivs_ptl_max_layer_level_idcより小さい又は等しいgeneral_level_idcを有するべきである。ビットストリーム内の全てのアクティブVPSは以下の制約に従うべきである:全てのOLSはIndependent Layers Main 10プロファイルに従うべきである。vps_max_layers_minus1はivs_max_codec_layers_minus1より小さい又は等しいべきである。任意の値aについて、aに等しいAtlasIdにより示される任意のアクティブテクスチャレイヤについて、0に等しいDepthFlag、0に等しいOccupancyFlag、及びPicWidthに等しいpic_width_in_luma_samplesを有するアクティブSPS、PicHeightに等しいpic_height_inluma_samples、PicWidth及びPicHeightの任意の値について、ビットストリーム内に以下も存在するべきである:aに等しいAtlasIdを有するアクティブ深さレイヤ、1に等しいDepthFlag、0に等しいOccupancyFlag、及びaに等しいAtlasIdを有するアクティブ占有マップレイヤ、0に等しいDepthFlag、及び1に等しいOccupancyFlag。
【0166】
幾つかの実施形態では、ビットストリームのPoint Cloud HEVCMain 10プロファイルへの適合は、ivs_profile_idcが1に等しいことにより示される。幾つかの実施形態では、(ivs_tier_flagの特定の値により識別される)特定のティアの(ivs_level_idcの特定の値により識別される)特定のレベルでPoint Cloud HEVC Main 10プロファイルに適合するデコーダは、以下の全部の条件が適用される全部のビットストリーム及びサブレイヤ表現を復号可能でなければならない:ビットストリームはPoint Cloud HEVC Main 10プロファイルに従うよう示されること、ビットストリームはレベル8.5ではない且つ指定されたレベル以下であるレベルに従うよう示されること、ビットストリームは指定されたティア以下のティアに従うよう示されること。
【0167】
幾つかの実施形態では、特定のレンダリングティア(Main又はReduced)の(特定の値のivs_points_level_idcにより識別される)特定のレンダリングレベルにおけるPoint Cloud HEVC Main 10プロファイルに適合するレンダラは、以下の条件の全部が適用される全部のビットストリーム表現を復号するデコーダ出力からポイントクラウドを生成することができるべきである:ivs_points_rendering_idcが2に等しいとき、ビットストリームはivs_points_level_idcに従うことが示される、レンダラはMainレンダリングティアに従う、出力ユニット毎に、レンダラは、ivs_points_rendering_idcが1又は2に等しいとき、基準レンダラにより生成されるポイントクラウドに正確に一致するポイントクラウドを生成するべきである、レンダラは、Reducedレンダリングティアに従う、各出力ユニットについて、レンダラは、基準レンダラにより生成されるポイントの数の少なくとも50%を含むポイントクラウドを生成するべきである。
【0168】
幾つかの実施形態では、IVは、以下に列挙されるようにHEVCの幾つかの変更を要求する:MIVのためのNUT値の割り当て、VPS拡張ScalabilityIdタイプの割り当て、及びIndependent Layers Main 10プロファイルの定義。開示の実施形態とMIV WD1との間の特筆すべき差は、以下を含む:深さに埋め込まれるのではなく、明示的にコーディングされた占有マップ、無損失モードでサンプルレートを低減する占有マップビットの任意的なパック、損失モードで閾値の明示的シグナリング、Immersive Main 10プロファイルの定義、レイヤのためのVPS拡張の特定の使用、カメラパラメータリストのIVSパラメータへの移行、少しのシンタックス変更、アトラスパラメータリストのMIV出力ユニットパラメータシンタックス構造への移行、及び少しのシンタックス変更。開示の実施形態とV-PCCとの間の特筆すべき差は、以下を含む:全てのビデオコーデックレイヤのためのマルチレイヤサポートを有する1つのビデオコーデック規格の使用への限定、マルチレイヤIRAP整合要件を有するIVSの定義、アトラスパッチ占有マップを含む各出力ユニットについての出力を要求するIV出力ユニットの定義、初期の仕様におけるMIV WD1からのアトラスパラメータリスト、合同又は個別シグナリングを探求するためのV-PCC SCDパッチパラメータデータの更なる研究、V-PCC SCDからの幾つかの高レベルシンタックスの除去、代わりにマルチレイヤコーデック高レベルシンタックスへの依存、IVSパラメータ及びIV出力ユニットパラメータシンタックス構造の定義、占有マップ変更(アトラスパッチ占有間婦生成及び無損失モードの占有マップの任意的パッキングを目的としたスケーリング方法の定義)、プロファイル定義(ビットストリームの規格適合ではなく、デコーダ/レンダラクライアントの規格適合としてのポイントクラウドレンダリングの要件、Point Cloud HEVC Main 10プロファイルの定義、V-PCC使用例のために使用可能な、V-PCC SCDからの柔軟性の何からの制約を伴うImmersive Main 10プロファイルの定義)、及び統合され得る他のV-PCC SCD特徴。
【0169】
開示の実施形態は、任意のエンコーダ及び/又はデコーダにより」実施されてよく、また、任意の適切なシステム構造又はプラットフォームにより、サーバコンピュータ、クラウドコンピューティング環境、パーソナルコンピュータ、ラップトップコンピュータ、タブレット、ファブレット、スマートフォン、ゲームコンソール、ウェアラブル装置、ディスプレイ装置、オールインワン装置、ツーインワン装置、等のような任意の適切な形状因子の装置内で、実施されてよい。
【0170】
図9は、本開示の少なくとも幾つかの実装により全て構成された例示的なシステム900の説明図である。種々の実装では、システム900はモバイル装置システムであってよいが、システム900はこのコンテキストに限定されない。例えば、システム900は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、パーソナルデジタルアシスタント(PDA)、セルラ電話機、結合型セルラ電話機/PDAセット、テレビジョン、スマート装置(例えば、スマート電話機、スマート、スマートタブレット、又はスマートテレビジョン)、モバイルインターネット装置(MID)、メッセージ装置、データ通信装置、カメラ(例えば、オートフォーカスカメラ、スーパーズームカメラ、デジタル一眼レフ(DSLR)カメラ)、監視カメラ、カメラを含む監視システム、等に組み込まれてよい。
【0171】
種々の実装では、システム900は、ディスプレイ920に結合されたプラットフォーム902を含む。プラットフォーム902は、コンテンツサービス装置930又はコンテンツ配信装置940又は画像センサ919のような他のコンテンツソースのようなコンテンツ装置からコンテンツを受信してよい。例えば、プラットフォーム902は、画像センサ919又は任意の他のコンテンツソースから、個々で議論されるような画像データを受信してよい。1つ以上のナビゲーション機能を含むナビゲーション制御部950は、例えばプラットフォーム902及び/又はディスプレイ920と相互作用するために使用されてよい。これらのコンポーネントの各々は、以下に詳述される。
【0172】
種々の実装では、プラットフォーム902は、チップセット905、プロセッサ910、メモリ912、アンテナ913、記憶装置914、グラフィックサブシステム915、アプリケーション916、画像信号プロセッサ917、及び/又は無線機918の任意の組み合わせを含んでよい。チップセット905は、プロセッサ910、メモリ912、記憶装置914、グラフィックサブシステム915、アプリケーション916つの画像信号プロセッサ917、及び/又は無線機918の間の相互通信を提供してよい。例えば、チップセット905は、記憶装置914との相互通信を提供可能な記憶装置アダプタ(図示せず)を含んでよい。
【0173】
プロセッサ910は、CISC(Complex Instruction Set Computer)又はRISC(Reduced Instruction Set Computer)プロセッサ、x86命令セット互換プロセッサ、マルチコア、又は任意の他のマイクロプロセッサ又は中央処理ユニット(CPU)として実装されてよい。種々の実装では、プロセッサ910は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ、等であってよい。
【0174】
メモリ912は、限定ではないが、RAM(Random Access Memory)、DRAM(Dynamic Random Access Memory)、又はSRAM(Static RAM)のような揮発性メモリ装置として実装されてよい。
【0175】
記憶装置914は、限定ではないが、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部記憶装置、外付け記憶装置、フラッシュメモリ、バッテリバックアップSDRAM(synchronous DRAM)、及び/又はネットワークアクセス可能な記憶装置のような不揮発性記憶装置として実装されてよい。種々の実装では、記憶装置914は、例えば複数のハードドライブが含まれるとき、貴重なデジタルメディアのための記憶性能拡張保護を向上する技術を含んでよい。
【0176】
画像信号プロセッサ917は、画像処理のために使用される占用デジタル信号プロセッサなどとして実装されてよい。幾つかの例では、画像信号プロセッサ917は、単一命令複数データ又は複数命令複数データアーキテクチャ等に基づき実施されてよい。幾つかの例では、画像信号プロセッサ917は、メディアプロセッサとして特徴付けられてよい。ここで議論するように、画像信号プロセッサ917は、システムオンチップアーキテクチャに基づき及び/又はマルチコアアーキテクチャに基づき実装されてよい。
【0177】
グラフィックサブシステム915は、表示のための静止又はビデオのような画像の処理を実行してよい。グラフィックサブシステム915は、例えば、グラフィック処理ユニット(graphics processing unit (GPU)又は視覚処理ユニット(visual processing unit (VPU))であってよい。アナログ又はデジタルインタフェースは、グラフィックサブシステム915及びディスプレイ920を通信可能に結合するために使用されてよい。例えば、インタフェースは、高解像度マルチメディアインタフェース(High-Definition Multimedia Interface)、ディスプレイポート(DisplayPort)、無線HDMI(登録商標)、及び/又は無線HD対応技術のうちのいずれかであってよい。グラフィックサブシステム915は、プロセッサ910又はチップセット905に統合されてよい。幾つかの実装では、グラフィックサブシステム915は、チップセット905に通信可能に結合されるスタンドアロン型装置であってよい。
【0178】
本願明細書に記載されるグラフィック及び/又はビデオ処理技術は、種々のハードウェアアーキテクチャで実装されてよい。例えば、グラフィック及び/又はビデオ機能はチップセット内に統合されてよい。代替として、個別グラフィック及び/又はビデオプロセッサが使用されてよい。更に別の実装として、グラフィック及び/又はビデオ機能は、マルチコアプロセッサを含む汎用プロセッサにより提供されてよい。更なる実施形態では、機能は、消費者電子機器に実装されてよい。
【0179】
無線機918は、種々の適切な無線通信技術を用いて信号を送信及び受信可能な1つ以上の無線機を含んでよい。このような技術は、1つ以上の無線ネットワークに渡る通信に関連してよい。例示的な無線ネットワークは、(限定ではないが)無線ローカルエリアネットワーク(WLAN)、無線個人域ネットワーク(WPAN)、無線都市域ネットワーク(WMAN)、セルラネットワーク、及び衛星ネットワークを含む。このようなネットワークに渡る通信では、無線機918は、任意のバージョンの1つ以上の適用可能な標準に従い動作してよい。
【0180】
種々の実装では、ディスプレイ920は、任意のテレビジョン型モニタ又はディスプレイを含んでよい。ディスプレイ920は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビのような装置、及び/又はテレビジョン、を含んでよい。ディスプレイ920は、デジタル及び/アナログであってよい。種々の実装では、ディスプレイ920は、ホログラフィックディスプレイであってよい。また、ディスプレイ920は、視覚的投影を受信してよい透明な表面であってよい。このような投影は、種々の形式の情報、画像、及び/又はオブジェクトを伝達してよい。例えば、このような投影は、モバイル拡張現実(mobile augmented reality (MAR))アプリケーションであってよい。1つ以上のソフトウェアアプリケーション916の制御下で、プラットフォーム902は、ディスプレイ920上にユーザインタフェース922を表示してよい。
【0181】
種々の実装では、コンテンツサービス装置930は、任意の国内、国際、及び/又は独立サービスによりホスティングされてよく、従って、例えばインターネットを介してプラットフォーム902にアクセス可能であってよい。コンテンツサービス装置930は、プラットフォーム902及び/又はディスプレイ920に結合されてよい。プラットフォーム902及び/又はコンテンツサービス装置930は、メディア情報をネットワーク960へ及びそれから通信(例えば、送信及び/又受信)するために、ネットワーク960に結合されてよい。コンテンツ配信装置940も、プラットフォーム902及び/又はディスプレイ920に結合されてよい。
【0182】
画像センサ919は、シーンに基づく画像データを提供し得る任意の適切な画像センサを含んでよい。例えば、画像センサ919は、半導体電荷結合素子(charge coupled device (CCD))に基づくセンサ、相補型金属酸化物半導体(complimentary metal-oxide-semiconductor (CMOS))に基づくセンサ、N型金属酸化物半導体(N-type metal-oxide-semiconductor (NMOS))に基づくセンサ、等を含んでよい。例えば、画像センサ919は、画像データを生成するためにシーンの情報を検出し得る任意の装置を含んでよい。
【0183】
種々の実装では、コンテンツサービス装置930は、ケーブルテレビジョンボックス、パーソナルコンピュータ、ネットワーク、電話機、デジタル情報及び/又はコンテンツを配信可能なインターネット対応装置又は家電、コンテンツプロバイダとプラットフォーム902とディスプレイ920との間でネットワーク960を介して又は直接にコンテンツを単方向又は双方向通信できる任意の他の同様の装置を含んでよい。コンテンツは、システム900内のコンポーネントのうちの任意の1つ及びコンテンツプロバイダへ及びそれらからネットワーク960を介して単方向及び/又は双方向通信されてよい。コンテンツの例は、例えばビデオ、音楽、医療及びゲーム情報、等を含む任意のメディア情報を含んでよい。
【0184】
コンテンツサービス装置930は、メディア情報、デジタル情報、及び/又は他のコンテンツを含むケーブルテレビジョン番組のようなコンテンツを受信してよい。コンテンツプロバイダの例は、任意のケーブル又は衛星テレビジョン又はラジオ又はインターネットコンテンツプロバイダを含んでよい。提供された例は、本開示に従う実装をどのようにも限定することを意味しない。
【0185】
種々の実装では、プラットフォーム902は、制御信号を、1つ以上のナビゲーション機能を有するナビゲーション制御部950から受信してよい。ナビゲーション制御部950のナビゲーション機能は、例えば、ユーザインタフェース922と相互作用するために使用されてよい。種々の実施形態では、ナビゲーション制御部950は、ユーザが空間的(例えば、連続及び多次元)データをコンピュータに入力することを可能にするコンピュータハードウェアコンポーネント(具体的には、ヒューマンインタフェース装置)であってよいポインティングデバイスであってよい。グラフィックユーザインタフェース(GUI)、テレビジョン、及びモニタのような多数のシステムは、ユーザが身体的ジェスチャを用いてデータを制御し、コンピュータ又はテレビジョンにデータを提供することを可能にする。
【0186】
ナビゲーション制御部950のナビゲーション機能の動きは、ポインタ、カーソル、焦点リング、又はディスプレイ上に表示される他の視覚的指示子の動きにより、ディスプレイ(例えば、ディスプレイ920)上で模写されてよい。例えば、ソフトウェアアプリケーション916の制御下で、ナビゲーション制御部950に配置されたナビゲーション機能は、例えばユーザインタフェース922上に表示される仮想ナビゲーション機能にマッピングされてよい。種々の実施形態では、ナビゲーション制御部950は、個別コンポーネントでなくてよいが、プラットフォーム902及び/又はディスプレイ920に統合されてよい。しかしながら、本開示は、図示の又は本願明細書に記載のコンテキストに又は要素に限定されない。
【0187】
種々の実装では、装置(図示せず)は、ユーザが、テレビジョンのようなプラットフォーム902を、例えば初期ブートアップの後に、有効にされるとき、ボタンのタッチにより瞬時にオン及びオフにできるようにする技術を含んでよい。プログラムロジックは、プラットフォーム902が、メディアアダプタ又は他のコンテンツサービス装置930又はコンテンツ配信装置940に、プラットフォームが「オフ」にされているときでも、コンテンツをストリーミングできるようにしてよい。更に、チップセット905は、例えば5.1サラウンドサウンドオーディオ及び/又は高解像度7.1サラウンドサウンドオーディオのハードウェア及び/又はソフトウェアサポートを含んでよい。ドライバは、統合グラフィックプラットフォームのためのグラフィックドライバを含んでよい。種々の実施形態では、グラフィックドライバは、PCI(peripheral component interconnect)Expressグラフィックカードを含んでよい。
【0188】
種々の実装では、システム900内に示されたコンポーネントのうちの任意の1つ以上は、統合されてよい。例えば、プラットフォーム902及びコンテンツサービス装置930が統合されてよく、又はプラットフォーム902及びコンテンツ配信装置940が統合されてよく、又はプラットフォーム902、コンテンツサービス装置930、及びコンテンツ配信装置940が統合されてよい。種々の実施形態では、プラットフォーム902及びディスプレイ920は統合されたユニットであってよい。例えば、ディスプレイ920及びコンテンツサービス装置930が統合されてよく、又はディスプレイ920及びコンテンツ配信装置940が統合されてよい。これらの例は、本開示を限定することを意味しない。
【0189】
種々の実施形態では、システム900は、無線システム、有線システム、又は両者の組み合わせとして実装されてよい。無線システムとして実装されるとき、システム900は、1つ以上のアンテナ、送信機、受信機、トランシーバ、増幅器、フィルタ、制御ロジック、等のような無線共有媒体を介して通信するために適するコンポーネント及びインタフェースを含んでよい。無線共有媒体の例は、RFスペクトル等のような無線スペクトルの部分を含んでよい。有線システムとして実装されるとき、システム900は、入力/出力(I/O)アダプタ、I/Oアダプタを対応する有線通信媒体に接続するための物理コネクタ、ネットワークインタフェースカード(NIC)、ディスク制御部、ビデオ制御部、オーディオ制御部、等のような無線通信媒体を介して通信するために適するコンポーネント及びインタフェースを含んでよい。有線通信媒体の例は、ワイヤ、ケーブル、金属リード、印刷回路基板(PCB)、バックプレーン、スイッチ設備、半導体材料、より対線、同軸ケーブル、光ファイバ、等を含んでよい。
【0190】
プラットフォーム902は、情報を通信するために、1つ以上の論理又は物理チャネルを確立してよい。情報は、メディア情報及び制御情報を含んでよい。メディア情報は、ユーザにコンテンツの意味を提示する任意のデータを表してよい。コンテンツの例は、例えば、ビデオ通話からのデータ、ビデオ会議、ストリーミングビデオ、電子メール(email)メッセージ、音声メールメッセージ、英数字記号、グラフィック、画像、ビデオ、テキスト、等を含んでよい。ビデオ通話からのデータは、例えば、会話情報、無音期間、背景雑音、快適雑音、トーン、等であってよい。制御情報は、自動システムにとって意味のあるコマンド、命令、又は制御語を提示する任意のデータを表してよい。例えば、制御情報は、システムを通じてメディア情報をルーティングし、所定の方法でメディア情報を処理するようノードに指示するために使用されてよい。しかしながら、実施形態は、図9に示した又は記載したコンテキストに又は要素に限定されない。
【0191】
上述のように、システム900は、種々の物理的形式又は寸法で実現されてよい。図10は、本開示の少なくとも幾つかの実装により構成された例示的な小型装置1000を示す。幾つかの例では、システム900は、装置1000により実装されてよい。他の例では、本願明細書で議論された他のシステム、コンポーネント、又はモジュール、又はそれらの部分は、装置1000により実装されてよい。種々の実施形態では、例えば、装置1000は、無線能力を有するモバイルコンピューティング装置として実装されてよい。モバイルコンピューティング装置は、例えば、処理システム及び1つ以上のバッテリのようなモバイル電源若しくは供給を有する任意の装置を表してよい。
【0192】
例えば、モバイルコンピューティング装置の例は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、パーソナルデジタルアシスタント(PDA)、セルラ電話機、結合型セルラ電話機/PDA、スマート装置(例えば、スマートフォン、スマートタブレット、又はスマートモバイルテレビジョン)、モバイルインターネット装置(MID)、メッセージ装置、データ通信装置、カメラ(例えば、オートフォーカスカメラ、スーパーズームカメラ、デジタル一眼レフ(DSLR)カメラ)等に組み込まれてよい。
【0193】
モバイルコンピューティング装置の例は、自動車又はロボットにより実装されよう、又は手首コンピュータ、指コンピュータ、指輪コンピュータ、眼鏡コンピュータ、ベルトクリップコンピュータ、腕輪コンピュータ、靴コンピュータ、衣類コンピュータ、及び他のウェアラブルコンピュータのような人間により装着されるよう、構成されるコンピュータも含んでよい。種々の実施形態では、例えば、モバイルコンピューティング装置は、コンピュータアプリケーション及び音声通信及び/又はデータ通信を実行可能なスマートフォンとして実装されてよい。幾つかの実施形態は、例としてスマートフォンとして実装されるモバイルコンピューティング装置により記載され得るが、他の実施形態は他の無線モバイルコンピューティング装置を用いて実装されてもよいことが理解される。実施形態はこのコンテキストに限定されない。
【0194】
図10に示されるように、装置1000は、前面1001及び背面1002を有する筐体を含んでよい。装置1000は、ディスプレイ1004、入力/出力(I/O)装置1006、カラーカメラ1021、カラーカメラ1022、及び内蔵アンテナ1008を含む。幾つかの実施形態では、カラーカメラ1021及びカラーカメラ1022は、本願明細書で議論したような平面画像を獲得する。幾つかの実施形態では、装置1000は、カラーカメラ1021及び1022を含まず、装置1000は、入力画像データ(例えば、ここで議論された任意の入力画像データ)を別の装置から獲得する。装置1000は、ナビゲーション機能1012を含んでもよい。I/O装置1006は、モバイルコンピューティング装置に情報を入力する任意の適切なI/O装置を含んでよい。I/O装置1006の例は、英数字キーボード、数字パッド、タッチパッド、入力キー、ボタン、スイッチ、マイクロフォン、スピーカ、音声認識装置及びソフトウェア、等を含んでよい。情報は、マイクロフォン(図示せず)により置1000に入力されてよく、又は音声認識装置によりデジタル処理されてよい。図示のように、装置1000は、背面1002(又はその他の場所)に統合された、カラーカメラ1021、1022、及びフラッシュ1010を含んでよい。他の例では、カラーカメラ1021、1022、及びフラッシュ1010は、装置1000の前面1001に統合されてよく、又はカメラの前面及び背面セットの両方が提供されてよい。カラーカメラ1021、1022、及びフラッシュ1010は、例えばディスプレイ1004へと出力される及び/又は装置1000からアンテナ1008を介して遠隔に通信される画像又はストリーミングビデオへと処理されてよいIRテクスチャ補正を有するカラー画像データを生成するカメラモジュールのコンポーネントであってよい。
【0195】
種々の実施形態は、ハードウェア要素、ソフトウェア要素、又は両者の組み合わせを用いて実装されてよい。ハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路素子(例えば、トランジスタ、抵抗器、キャパシタ、インダクタ、等)、集積回路、特定用途向け集積回路(ASIC)、プログラマブル論理装置(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理ゲート、レジスタ、半導体装置、チップ、マイクロチップ、チップセット、等を含んでよい。ソフトウェアの例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はそれらの任意の組み合わせを含んでよい。実施形態がハードウェア要素及び/又はソフトウェア要素を用いて実装されるかの決定は、所望の計算レート、電力レベル、熱耐性、処理サイクル予算、入力データレート、出力データレート、メモリリソース、データバス速度、及び他の設計又は性能制約のような任意の数の要因に従い変化してよい。
【0196】
少なくとも一実施形態の1つ以上の態様は、機械により読み取られると、該機械に本願明細書に記載の技術を実行するためのロジックを生成させる、プロセッサ内の種々のロジックを提示する機械可読媒体に格納された代表的命令により実装されてよい。このような表現は、IPコアとして知られ、有形機械可読媒体に格納され、実際にロジック又はプロセッサを作る製造機械にロードするために種々の顧客又は製造設備に供給されてよい。
【0197】
本願明細書に記載の特定の特徴は、種々の実装を参照して説明されたが、この説明は、限定的意味と考えられることを意図しない。従って、本願明細書に記載の実装の種々の変形、及び他の実装は、本開示の関連する当業者に明らかであり、本開示の精神及び範囲内に包含されると考えられる。
【0198】
1つ以上の第1の実施形態では、没入型ビデオコーディングの方法は、
没入型ビデオを表す深さアトラスピクチャシーケンス、テクスチャアトラスピクチャシーケンス、及び占有マップアトラスピクチャシーケンスのうちの1つ以上のシーケンスを受信するステップと、
深さアトラスピクチャシーケンス、テクスチャアトラスピクチャシーケンス、及び占有マップアトラスピクチャシーケンスのうちの前記1つ以上のシーケンスをビデオエンコーダによりコーディングして、それぞれが前記1つ以上のシーケンスのピクチャの個々の1つに対応する複数の出力時間を有するコーディング没入型ビデオデータを提供するステップであって、前記出力時間のサブセットの各々について、前記コーディング没入型ビデオデータは、コーディング深さアトラスピクチャ、コーディングテクスチャアトラスピクチャ、及びコーディング占有マップアトラスピクチャの1つ以上のイントラ-コーディングピクチャを含む、ステップと、
前記コーディング没入型ビデオデータを送信するステップと、
を含む。
【0199】
1つ以上の第2の実施形態では、第1の実施形態に対して更に、出力時間の前記サブセットは、前記出力時間の範囲外で間隔を開けて提供される前記没入型ビデオにアクセスするためのランダムアクセスポイントを含み、前記コーディング深さアトラスピクチャ、前記コーディングテクスチャアトラスピクチャ、及び前記コーディング占有マップアトラスピクチャの1つ以上の前記イントラ-コーディングピクチャは、前記コーディング深さアトラスピクチャ、前記コーディングテクスチャアトラスピクチャ、及び前記コーディング占有マップアトラスピクチャの各々の前記イントラコーディングピクチャを含む。
【0200】
1つ以上の第3の実施形態では、第1又は第2の実施形態に対して更に、前記出力時間の前記サブセットの各々は、前記イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャのうちの1つ以上を含む出力ユニットに対応する。
【0201】
1つ以上の第4の実施形態では、第1~第3の実施形態のいずれかに対して更に、前記コーディング没入型ビデオデータは、前記イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応イントラコーディング追加属性アトラスピクチャを更に含む。
【0202】
1つ以上の第5の実施形態では、第1~第4の実施形態のいずれかに対して更に、コーディング没入型ビデオデータは、イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応アトラスパラメータリストを更に含む。
【0203】
1つ以上の第6の実施形態では、没入型ビデオコーディングの方法は、
没入型ビデオを表す深さアトラスピクチャシーケンス、テクスチャアトラスピクチャシーケンス、及び占有マップアトラスピクチャシーケンスのうちの1つ以上のシーケンスのピクチャの個々の1つに対応する複数の出力時間を含むコーディング没入型ビデオデータを受信するステップと、
前記コーディング没入型ビデオデータを復号して、前記深さアトラスピクチャシーケンス、前記テクスチャアトラスピクチャシーケンス、及び前記占有マップアトラスピクチャシーケンスを生成するステップであって、前記出力時間のサブセットの各々について、前記復号シーケンスは、コーディング深さアトラスピクチャ、対応するコーディングテクスチャアトラスピクチャ、及び対応するコーディング占有マップアトラスピクチャの各々のイントラコーディングピクチャを含む、ステップと、
前記復号したシーケンスを用いてビューアのための提示を準備するステップと、
を含む。
【0204】
1つ以上の第7の実施形態では、第6の実施形態に対して更に、出力時間の前記サブセットは、前記出力時間の範囲内で間隔を開けて提供される前記没入型ビデオにアクセスするためのランダムアクセスポイントを含み、前記方法は、
第1ランダムアクセスポイントのための前記コーディング没入型ビデオデータをモニタするステップを更に含み、
前記復号するステップは前記第1ランダムアクセスポイントに応答する。
【0205】
1つ以上の第8の実施形態では、第6又は第7の実施形態に対して更に、前記出力時間の前記サブセットの各々は、前記イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャのうちを含む出力ユニットに対応する。
【0206】
1つ以上の第9の実施形態では、第6~第8の実施形態のいずれかに対して更に、前記コーディング没入型ビデオデータは、前記イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応イントラコーディング追加属性ピクチャを更に含む。
【0207】
1つ以上の第10の実施形態では、第6~第9の実施形態のいずれかに対して更に、コーディング没入型ビデオデータは、イントラコーディング深さアトラスピクチャ、イントラコーディングテクスチャアトラスピクチャ、及びイントラコーディング占有マップアトラスピクチャに対応アトラスパラメータリストを更に含む。
【0208】
1つ以上の第11の実施形態では、没入型ビデオコーディングの方法であって、
没入型ビデオに対応する複数のカメラについて、前記複数のカメラの固有パラメータ及び外部パラメータをシグナリングするための複数のカメラパラメータを受信するステップであって、前記カメラパラメータは、前記複数のカメラのうちの少なくとも幾つかについて存在しない1つ以上の第1固有パラメータである、ステップと、
前記複数のカメラの各々について、前記複数のカメラパラメータから前記複数のカメラのうちの第1カメラの第1復号固有パラメータを復号し及び前記第1復号固有パラメータを前記複数のカメラの各々に適用することにより、前記複数のカメラパラメータを用いて、復号固有及び外部カメラパラメータを決定するステップと、
前記復号固有及び外部カメラパラメータを用いて、ビューアのための提示を準備するステップと、
を含む。
【0209】
1つ以上の第12の実施形態では、第11の実施形態に対して更に、前記カメラパラメータは、前記複数のカメラのうちのいずれかの存在しない1つ以上の方向パラメータであり、前記方法は、
前記第1外部パラメータの不存在に基づき、第1方向パラメータをデフォルトパラメータとして前記複数のカメラの各々に適用するステップ、を更に含む。
【0210】
1つ以上の第13の実施形態では、第11又は第12の実施形態に対して更に、前記第1復号固有パラメータは、投影方法、投影面幅、縦範囲、視野、又は焦点距離を含む。
【0211】
1つ以上の第14の実施形態では、第11~第13の実施形態のうちのいずれかに対して更に、前記複数のカメラについて、グローバル参照座標系における各軸についての前記カメラの変位を表すカメラ位置粒度値を受信するステップであって、前記カメラ位置粒度値は、前記没入型ビデオに対応する前記グローバル参照座標系におけるカメラ位置のシグナリング精度を示す、ステップと、
前記複数のカメラのうちの第1カメラの各軸のカメラ位置ユニット値を受信するステップであって、各カメラ位置ユニット値は、前記カメラ位置粒度値に基づく前記グローバル参照座標系における前記第1カメラの位置を示す、ステップと、
前記カメラ位置粒度値及び前記カメラ位置ユニット値に基づき、前記グローバル参照座標系における前記第1カメラの位置を決定するステップと、
を更に含む。
【0212】
1つ以上の第15の実施形態では、第11~第14の実施形態のうちのいずれかに対して更に、前記カメラ位置粒度値は固定小数点値であり、前記グローバル参照系における前記第1カメラの位置を決定するステップは、各カメラ位置粒度値を前記第1カメラの各カメラ位置ユニット値により乗算して、前記グローバル参照座標系における前記第1カメラの位置を決定するステップを含む。
【0213】
1つ以上の第16の実施形態では、第11~第15の実施形態のうちのいずれかに対して更に、前記複数のカメラパラメータは、複数のカメラについてのintrinsic camera parameters equalフラグを含み、前記第1復号固有パラメータを前記複数のカメラの各々に適用するステップは、前記intrinsic camera parameters equalフラグに応答する。
【0214】
1つ以上の第17の実施形態では、第11~第16の実施形態のうちのいずれかに対して更に、前記第1カメラの深さ量子化パラメータ、及び前記複数のカメラの深さ量子化パラメータ均等フラグを受信するステップと、
前記深さ量子化パラメータ均等フラグに応答して、前記深さ量子化パラメータを前記複数のカメラの各々に割り当てるステップと、
を更に含む。
【0215】
1つ以上の第18の実施形態では、没入型ビデオコーディングの方法であって、
没入型ビデオに対応する複数のアトラスについて、少なくともアトラス数-1パラメータ及び複数のアトラスのうちの第1アトラスの第1パッチに関連付けられたカメラインデックスを表すコーディング表現を含むコーディングアトラスパラメータを含むビットストリーム部分を受信するステップと、
前記アトラス数-1パラメータの前記コーディング表現を復号するステップと、
整数ビット復号を用いて、前記複数のアトラスのうちの第1アトラスの第1パッチに関連付けられたカメラインデックスのコーディング表現を復号するステップであって、前記整数ビット復号は、カメラ数-1パラメータに基づく整数長を有する、ステップと、
前記複数のアトラス、前記復号アトラス数-1パラメータ、及び前記複数のアトラスのうちの第1アトラスの第1パッチに関連付けられた前記カメラインデックスに基づき少なくとも1つのビューピクチャを生成するステップと、
を含む。
【0216】
1つ以上の第19の実施形態では、第18の実施形態に対して更に、前記コーディング表現は、前記第1パッチのパッチサイズを更に含み、前記方法は、
整数ビット復号を用いて、前記第1パッチのパッチサイズのコーディング表現を復号するステップであって、前記整数ビット復号は前記カメラ数-1パラメータに基づく、ステップ、を更に含む。
【0217】
1つ以上の第20の実施形態では、第18又は第19の実施形態に対して更に、前記カメラ数-1パラメータに基づく前記整数ビット復号は、前記カメラ数-1パラメータの2を底とする対数に等しい整数サイズにおけるパッチサイズの整数ビット復号を含む。
【0218】
1つ以上の第21の実施形態では、装置又はシステムは、メモリと、上述の実施形態のうちのいずれか1つによる方法を実行するためのプロセッサとを含む。
【0219】
1つ以上の第22の実施形態では、複数の命令を含む少なくとも1つの機械可読媒体であって、該命令は、コンピューティング装置上で実行されることに応答して、該コンピューティング装置に上述の実施形態のうちのいずれか1つによる方法を実行させる、機械可読媒体。
【0220】
1つ以上の第23の実施形態では、機器は、上述の実施形態のうちのいずれか1つによる方法を実行する手段を含む。
【0221】
実施形態は、記載の実施形態に限定されず、添付の範囲から逸脱することなく変形及び代替を行うことができることが理解される。例えば、上述の実施形態は、特徴の特定の組み合わせを含んでよい。しかしながら、上述の実施形態はこれに関して限定されず、種々の実施形態では、上述の実施形態は、このような特徴の部分集合のみを実行すること、このような特徴の異なる順序を実行すること、このような特徴の異なる組み合わせを実行すること、及び/又は明示的にリストした特徴に追加した特徴を実行することを含んでよい。実施形態の範囲は、従って、添付の請求の範囲を参照して、権利の与えられた該請求の範囲の均等な全範囲とともに、決定されるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10