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

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

▶ エルジー エレクトロニクス インコーポレイティドの特許一覧

特表2024-546796ポイントクラウドデータの伝送装置とこの伝送装置で行われる方法、及びポイントクラウドデータの受信装置とこの受信装置で行われる方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-26
(54)【発明の名称】ポイントクラウドデータの伝送装置とこの伝送装置で行われる方法、及びポイントクラウドデータの受信装置とこの受信装置で行われる方法
(51)【国際特許分類】
   H04N 21/434 20110101AFI20241219BHJP
   H04N 19/597 20140101ALI20241219BHJP
   G06T 9/40 20060101ALI20241219BHJP
   H04N 21/236 20110101ALI20241219BHJP
【FI】
H04N21/434
H04N19/597
G06T9/40
H04N21/236
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024534689
(86)(22)【出願日】2022-12-13
(85)【翻訳文提出日】2024-06-11
(86)【国際出願番号】 KR2022020278
(87)【国際公開番号】W WO2023113443
(87)【国際公開日】2023-06-22
(31)【優先権主張番号】63/289,097
(32)【優先日】2021-12-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【弁理士】
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】ヘンドリー ヘンドリー
【テーマコード(参考)】
5C159
5C164
【Fターム(参考)】
5C159PP03
5C159PP13
5C159UA02
5C159UA05
5C164GA03
5C164MB13S
5C164SB11P
5C164SB21S
5C164UB11P
5C164UB21S
(57)【要約】
ポイントクラウドデータの伝送装置、伝送装置で行われる方法、受信装置、及び受信装置で行われる方法が提供される。本開示によるポイントクラウドデータの受信装置で行われる方法は、前記ポイントクラウドデータを含むG-PCC(geometry-based point cloud compression)ファイルを取得するステップと、前記G-PCCファイル内のトラックの時間的レベルの個数を示す時間的レベル個数情報を前記G-PCCファイルから取得するステップと、前記時間的レベル個数情報に基づいて、前記トラック内のサンプルに対するサンプルグループ情報をG-PCCファイルから取得するステップと、を含み、前記サンプルグループ情報は、前記時間的レベル個数情報が前記トラックの時間的レベルが複数個であることを示すことに基づいて取得される、方法であり得る。
【選択図】図16
【特許請求の範囲】
【請求項1】
ポイントクラウドデータの受信装置で行われる方法であって、
前記ポイントクラウドデータを含むG-PCC(geometry-based point cloud compression)ファイルを取得するステップと、
前記G-PCCファイル内のトラックの時間的レベルの個数を示す時間的レベル個数情報を前記G-PCCファイルから取得するステップと、
前記時間的レベル個数情報に基づいて、前記トラック内のサンプルに対するサンプルグループ情報をG-PCCファイルから取得するステップと、を含み、
前記サンプルグループ情報は、前記時間的レベル個数情報が前記トラックの時間的レベルが複数個であることを示すことに基づいて取得される、方法。
【請求項2】
前記サンプルグループ情報は、前記時間的レベルの識別子情報を含む、請求項1に記載の方法。
【請求項3】
前記トラックは、前記ポイントクラウドデータのジオメトリ(geometry)情報を含む、請求項1に記載の方法。
【請求項4】
前記トラックが第1サンプルエントリタイプを有することに基づいて、前記時間的レベルの数は、G-PCCデコーダコンフィギュレーションレコード(GPCCDecoderConfigrationRecord)に含まれる、請求項1に記載の方法。
【請求項5】
前記第1サンプルエントリタイプは、
gpe1サンプルエントリタイプ、gpegサンプルエントリタイプ、gpc1サンプルエントリタイプ、又はgpcgサンプルエントリタイプのうちの少なくとも一つである、請求項4に記載の方法。
【請求項6】
前記トラックが第2サンプルエントリタイプを有することに基づいて、前記時間的レベルの数はG-PCC時間スケーラビリティ情報ボックス(GPCCScalablityInfoBox)に含まれる、請求項1に記載の方法。
【請求項7】
前記第2サンプルエントリタイプは、gpcbサンプルエントリタイプ又はgpebサンプルエントリタイプのうちの少なくとも一つである、請求項6に記載の方法。
【請求項8】
前記トラック内に前記サンプルグループ情報が存在することに基づいて、時間的レベル識別子(identifier)に属するサンプルは、サンプルグループディスクリプション(description)インデックスにマッピングされ、
前記サンプルグループディスクリプションインデックスは、前記時間的レベル識別子に1を加えた値と同じである、請求項1に記載の方法。
【請求項9】
前記G-PCCデコーダコンフィギュレーションレコードを介してシグナリングされた時間的レベルに対するサンプルディスクリプションは、サンプルディスクリプションボックス(SampleDescriptionBox)に含まれる、請求項4に記載の方法。
【請求項10】
ポイントクラウドデータの伝送装置で行われる方法であって、
G-PCC(geometry-based point cloud compression)ファイル内のトラックの時間的レベルの個数を示す時間的レベル個数情報を生成するステップと、
前記時間的レベルの個数に基づいて、前記トラック内のサンプルをグループ化した情報であるサンプルグループ情報を生成するステップと、
時間的レベル個数情報を含む前記G-PCCファイルを生成するステップと、を含み、
前記サンプルグループ情報は、前記時間的レベルが複数個であることに基づいて生成される、方法。
【請求項11】
ポイントクラウドデータの受信装置であって、
メモリと、
少なくとも一つのプロセッサと、を含み、
前記少なくとも一つのプロセッサは、
前記ポイントクラウドデータを含むG-PCC(geometry-based point cloud compression)ファイルを取得し、
前記G-PCCファイル内のトラックの時間的レベルの個数を示す時間的レベル個数情報を前記G-PCCファイルから取得し、
前記時間的レベル個数情報に基づいて、前記トラック内のサンプルに対するサンプルグループ情報をG-PCCファイルから取得するが、
前記サンプルグループ情報は、前記時間的レベル個数情報が前記トラックの時間的レベルが複数個であることを示すことに基づいて取得される、受信装置。
【請求項12】
ポイントクラウドデータの伝送装置であって、
メモリと、
少なくとも一つのプロセッサと、を含み、
前記少なくとも一つのプロセッサは、
G-PCCファイル内のトラックの時間的レベルの個数を示す時間的レベル個数情報を生成し、
前記時間的レベル個数情報に基づいて前記トラック内のサンプルをグループ化した情報であるサンプルグループ情報を生成し、
前記時間的レベル個数情報を含む前記G-PCCファイルを生成するが、
前記サンプルグループ情報は、前記時間的レベルが複数個であることに基づいて生成される、伝送装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ポイントクラウドコンテンツ(point cloud content)を処理する方法及び装置に関する。
【背景技術】
【0002】
ポイントクラウドコンテンツは、三次元空間を表現する座標系に属した点(ポイント)の集合であるポイントクラウドで表現されるコンテンツである。ポイントクラウドコンテンツは、三次元からなるメディアを表現することができ、VR(virtual reality、仮想現実)、AR(augmented reality、拡張現実)、MR(mixed reality、混合現実)、及び自律走行サービスなどの多様なサービスを提供するために使用される。ポイントクラウドコンテンツを表現するためには、数万個~数十万個のポイントデータが必要であるので、膨大な量のポイントデータを効率よく処理するための方法が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示は、ポイントクラウドデータを効率よく処理するための装置及び方法を提供する。本開示は、遅延時間(latency)及び符号化/復号化複雑度を解決するためのポイントクラウドデータ処理方法及び装置を提供する。
【0004】
また、本開示は、ジオメトリ(Geometry)トラック内の時間的レベルの数に応じて「tele」サンプルグループ化を支援するための装置及び方法を提供する。
【0005】
また、本開示は、保存されたG-PCCビットストリームに対する効率的な接近を支援することができるようにするためのファイル保存技法を処理する装置及び方法を提案する。
【0006】
本開示で解決しようとする技術的課題は、上述した技術的課題に制限されず、上述していない別の技術的課題は、以降の記載から本開示の属する技術分野における通常の知識を有する者に明確に理解できるであろう。
【課題を解決するための手段】
【0007】
本開示の一実施例によるポイントクラウドデータの受信装置で行われる方法は、前記ポイントクラウドデータを含むG-PCC(Geometry-based point cloud compression)ファイルを取得するステップと、前記G-PCCファイル内のトラックの時間的レベルの個数を示す時間的レベル個数情報を前記G-PCCファイルから取得するステップと、前記時間的レベル個数情報に基づいて、前記トラック内のサンプルに対するサンプルグループ情報をG-PCCファイルから取得するステップと、を含み、前記サンプルグループ情報は、前記時間的レベル個数情報が前記トラックの時間的レベルが複数個であることを示すことに基づいて取得される、方法であり得る。
【0008】
本開示の他の実施形態によるポイントクラウドデータの伝送装置で行われる方法は、G-PCC(geometry-based point cloud compression)ファイル内のトラックの時間的レベルの個数を示す時間的レベル個数情報を生成するステップと、前記時間的レベルの個数に基づいて、前記トラック内のサンプルをグループ化した情報であるサンプルグループ情報を生成するステップと、時間的レベル個数情報を含む前記G-PCCファイルを生成するステップと、を含み、前記サンプルグループ情報は、前記時間的レベルが複数個であることに基づいて生成される、方法であり得る。
【0009】
本開示の他の一実施例によるポイントクラウドデータの受信装置は、メモリと、少なくとも一つのプロセッサと、を含み、前記少なくとも一つのプロセッサは、前記ポイントクラウドデータを含むG-PCC(geometry-based point cloud compression)ファイルを取得し、前記G-PCCファイル内のトラックの時間的レベルの個数を示す時間的レベル個数情報を前記G-PCCファイルから取得し、前記時間的レベル個数情報に基づいて、前記トラック内のサンプルに対するサンプルグループ情報をG-PCCファイルから取得するが、前記サンプルグループ情報は、前記時間的レベル個数情報が前記トラックの時間的レベルが複数個であることを示すことに基づいて取得される、受信装置であり得る。
【0010】
本開示の別の一実施例によるポイントクラウドデータの伝送装置は、メモリと、少なくとも一つのプロセッサと、を含み、前記少なくとも一つのプロセッサは、G-PCC(geometry-based point cloud compression)ファイル内のトラックの時間的レベルの個数を示す時間的レベル個数情報を生成し、前記時間的レベル個数情報に基づいて前記トラック内のサンプルをグループ化した情報であるサンプルグループ情報を生成し、前記時間的レベル個数情報を含む前記G-PCCファイルを生成するが、前記サンプルグループ情報は、前記時間的レベルが複数個であることに基づいて生成される、伝送装置であり得る。
【発明の効果】
【0011】
本開示の実施例による装置及び方法は、高い効率でポイントクラウドデータを処理することができる。
【0012】
本開示の実施例による装置及び方法は、高いクオリティーのポイントクラウドサービスを提供することができる。
【0013】
本開示の実施例による装置及び方法は、VRサービスや自律走行サービスなどの汎用的なサービスを提供するためのポイントクラウドコンテンツを提供することができる。
【0014】
本開示の実施例による装置及び方法は、G-PCCコンポーネントのうちの所望のコンポーネントに効果的にアクセスすることが可能な時間スケーラビリティを提供することができる。
【0015】
本開示の実施例による装置及び方法は、複数の時間的レベルを有するトラックが存在するときに「tele」サンプルグループ化を行うことにより、ビットを節減することができる。
【0016】
本開示の実施例による装置および方法は、複数の時間的レベルを有するジオメトリトラックが存在するときに「tele」サンプルグループ化を行うことにより、ビットを節減することができる。
【図面の簡単な説明】
【0017】
図1】本開示の実施例によるポイントクラウドコンテンツ提供システムの例示を示すブロック図である。
図2】本開示の実施例によるポイントクラウドコンテンツ提供過程の例示を示すブロック図である。
図3】本開示の実施例によるポイントクラウド符号化装置の例示を示す。
図4】本開示の実施例によるポイントクラウド復号化装置の例示を示すブロック図である。
図5】本開示の実施例によるポイントクラウド復号化装置の他の例示を示すブロック図である。
図6】本開示の実施例によるポイントクラウドデータ送受信方法/装置と連動可能な構造の例示を示す。
図7】本開示の実施例による伝送装置の別の例示を示すブロック図である。
図8】本開示の実施例による受信装置の別の例示を示すブロック図である。
図9】本開示の実施例によるTLVカプセル化構造に対する例示を示す。
図10】本開示の実施例によるTLVカプセル化シンタックス構造及びペイロードタイプに対する例示を示す。
図11】本開示の実施例によるシングルトラックを含むファイルに対する例示を示す。
図12】本開示の実施例によるマルチプルトラックを含むファイルに対する例示を示す。
図13】本開示の実施例によるトラック内のサンプルグループ化に対する例示を示す。
図14】本開示の実施例によるトラック内のサンプルグループ化に対する例示を示す。
図15】本開示の実施例によるトラック内のサンプルグループ化に対する例示を示す。
図16】本開示の実施例による「tele」サンプルグループ化のためのフローチャートを示す。
図17】本開示の実施例による「tele」サンプルグループ化のためのフローチャートを示す。
図18】本開示の実施例による「tele」サンプルグループ化のためのG-PCCファイルの構造に対する例示を示す。
図19】本開示の実施例によるサンプルグループ化の如何に基づくデータ伝送のためのフローチャートを示す。
図20】本開示の実施例によるサンプルグループ化の如何に基づくデータ受信のためのフローチャートを示す。
【発明を実施するための形態】
【0018】
以下、添付図面を参照して、本開示の実施例について、本開示の属する技術分野における通常の知識を有する者が容易に実施し得るように詳細に説明する。しかし、本開示は、様々な異なる形態で実現でき、ここで説明する実施例に限定されない。
【0019】
本開示の実施例を説明するにあたり、公知の構成又は機能についての具体的な説明が本開示の要旨を不明確にするおそれがあると判断される場合には、それについての詳細な説明は省略する。そして、図面において、本開示についての説明と関係ない部分は省略し、同様の部分には同様の図面符号を付した。
【0020】
本開示において、ある構成要素が他の構成要素と「連結」、「結合」又は「接続」されているとするとき、これは、直接的な連結関係だけでなく、それらの間に別の構成要素が存在する間接的な連結関係も含むことができる。また、ある構成要素が他の構成要素を「含む」又は「有する」とするとき、これは、特に反対される記載がない限り、別の構成要素を排除するのではなく、別の構成要素をさらに含むことができることを意味する。
【0021】
本開示において、「第1」、「第2」などの用語は、一つの構成要素を他の構成要素から区別する目的のみで使用され、特に言及されない限り、構成要素間の順序又は重要度などを限定しない。したがって、本開示の範囲内で、一実施例における第1構成要素を他の実施例で第2構成要素と呼んでもよく、これと同様に、一実施例における第2構成要素を他の実施例で第1構成要素と呼んでもよい。
【0022】
本開示において、互いに区別される構成要素は、それぞれの特徴を明確に説明するためのものであり、構成要素が必ずしも分離されることを意味するものではない。つまり、複数の構成要素が統合されて一つのハードウェア又はソフトウェア単位で構成されてもよく、一つの構成要素が分散されて複数のハードウェア又はソフトウェア単位で構成されてもよい。よって、別に言及しなくても、このように統合又は分散された実施例も本開示の範囲に含まれる。
【0023】
本開示において、さまざまな実施例で説明する構成要素が必ず必要不可欠な構成要素を意味するものではなく、一部は選択的な構成要素であり得る。したがって、一実施例で説明する構成要素の部分集合で構成される実施例も本開示の範囲に含まれる。また、様々な実施例で説明する構成要素にさらに他の構成要素を含む実施例も、本開示の範囲に含まれる。
【0024】
本開示は、ポイントクラウド関連データの符号化及び復号化に関するものであって、本開示に使用される用語は、本開示で新たに定義されなり限り、本開示の属する技術分野で通用される通常の意味を有することができる。
【0025】
本開示において、「/」と「、」は「及び/又は」と解釈されることができる。例えば、「A/B」と「A、B」は「A及び/又はB」と解釈されることができる。また、「A/B/C」と「A、B、C」は、「A、B及び/又はCのうちの少なくとも一つ」を意味することができる。
【0026】
本開示において、「又は」は「及び/又は」と解釈されることができる。例えば、「A又はB」は、1)「A」のみを意味するか、2)「B」のみを意味するか、3)「A及びB」を意味することができる。又は、本開示において、「又は」は、「追加的に又は代替的に(additionally or alternatively)」を意味することができる。
【0027】
本開示は、ポイントクラウド関連データの圧縮に関するものである。本開示の多様な方法又は実施例は、MPEG(moving picture experts group)のPCC(point cloud compression又はpoint cloud coding)標準(例えば、G-PCC又はV-PCC標準)又は次世代ビデオ/イメージコーディング標準に適用されることができる。
【0028】
本開示において、「ポイントクラウド」は、三次元空間に位置したポイントの集合を意味することができる。また、本開示において、「ポイントクラウドコンテンツ」は、ポイントクラウドで表現されるコンテンツであって、「ポイントクラウドビデオ/画像」を意味することができる。以下では、「ポイントクラウドビデオ/画像」を「ポイントクラウドビデオ」という。ポイントクラウドビデオは、一つ以上のフレームを含むことができ、一つのフレームは、静止画又はピクチャであり得る。したがって、ポイントクラウドビデオは、ポイントクラウド画像/フレーム/ピクチャを含むことができ、「ポイントクラウド画像」、「ポイントクラウドフレーム」及び「ポイントクラウドピクチャ」のうちのいずれか一つと称されることがある。
【0029】
本開示において、「ポイントクラウドデータ」は、ポイントクラウド内の各ポイントに関連したデータ又は情報などを意味することができる。ポイントクラウドデータは、ジオメトリ(geometry)及び/又はアトリビュート(attribute、属性)を含むことができる。また、ポイントクラウドデータは、メタ(meta)データをさらに含んでもよい。ポイントクラウドデータは、「ポイントクラウドコンテンツデータ」又は「ポイントクラウドビデオデータ」などと称されることがある。また、ポイントクラウドデータは、「ポイントクラウドコンテンツ」、「ポイントクラウドビデオ」、「G-PCCデータ」などと称されることがある。
【0030】
本開示において、ポイントクラウドデータに該当するポイントクラウドオブジェクト(object)は、座標系に基づくボックス形態で示すことができ、この座標系に基づくボックス形態をバウンディングボックス(bounding box)ということができる。すなわち、バウンディングボックスは、ポイントクラウドのポイントを全て入れることが可能な直方体(rectangular cuboid)であってもよく、原本(source)ポイントクラウドフレームが含まれる直方体であってもよい。
【0031】
本開示において、ジオメトリは、各ポイントのポジション(又は、ポジション情報)を含み、このポジションは、三次元座標系(例えば、x軸、y軸及びz軸からなる座標系)を表すパラメータ(例えば、x軸値、y軸値及びz軸値)で表現できる。ジオメトリは、「ジオメトリ情報」と称されることがある。
【0032】
本開示において、アトリビュートは、各ポイントの属性を含むことができ、この属性は、各ポイントのテクスチャ(texture)情報、色相(RGB又はYCbCr)、反射率(reflectance、r)、透明度(transparency)などのうちの一つ以上を含むことができる。アトリビュートは、「アトリビュート情報」と称されることがある。メタデータは、後述する取得過程において取得に関連した多様なデータを含むことができる。
【0033】
ポイントクラウドコンテンツ提供システムの概要
【0034】
図1は、本開示の実施例によるポイントクラウドコンテンツを提供するシステム(以下では、「ポイントクラウドコンテンツ提供システム」という)の例示を示す。図2は、ポイントクラウドコンテンツ提供システムがポイントクラウドコンテンツを提供する過程の例示を示す。
【0035】
図1に示すように、ポイントクラウドコンテンツ提供システムは、伝送装置(transmission device)10及び受信装置(reception device)20を含むことができる。ポイントクラウドコンテンツ提供システムは、伝送装置10と受信装置20の動作によって、図2に示されている取得過程(S20)、エンコーディング過程(S21)、伝送過程(S22)、デコーディング過程(S23)、レンダリング過程(S24)及び/又はフィードバック過程(S25)を行うことができる。
【0036】
伝送装置10は、ポイントクラウドコンテンツを提供するために、ポイントクラウドデータを取得し、取得されたポイントクラウドデータ(原本ポイントクラウドデータ)に対する一連の過程(例えば、エンコーディング過程)を経てビットストリームを出力することができる。ここで、ポイントクラウドデータは、エンコーディング過程を経てビットストリーム形式で出力されることができる。実施例によって、伝送装置10は、出力されたビットストリームをファイル又はストリーミング(ストリーミングセグメント)形式でデジタルストレージ媒体又はネットワークを介して受信装置20へ伝送することができる。デジタルストレージ媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなどの多様なストレージ媒体を含むことができる。受信装置20は、受信されたデータ(例えば、符号化されたポイントクラウドデータ)を再び元来のポイントクラウドデータに加工(例えば、デコーディング又は復元)してレンダリングすることができる。これらの過程によって、ポイントクラウドコンテンツがユーザに提供されることができ、本開示は、これらの一連の過程を効果的に実行するために必要な多様な実施例を提供することができる。
【0037】
図1に示すように、伝送装置10は、取得部11、符号化部12、カプセル化処理部13及び伝送部14を含むことができ、受信装置20は、受信部21、デカプセル化処理部22、復号化部23及びレンダリング部24を含むことができる。
【0038】
取得部11は、キャプチャ、合成又は生成過程などを介してポイントクラウドビデオを取得する過程(S20)を行うことができる。従って、取得部11は、「ポイントクラウドビデオ取得部(point cloud video acquisition)」とも称される。
【0039】
取得過程(S20)によって、多数のポイントに対するポイントクラウドデータ(ジオメトリ及び/又はアトリビュートなど)などが生成できる。また、取得過程(S20)によって、ポイントクラウドビデオの取得に関連したメタデータが生成できる。また、取得過程(S20)によって、ポイントクラウド間の連結情報を示すメッシュ(mesh)データ(例えば、三角形形状のデータ)が生成できる。
【0040】
メタデータは、イニシャルビューイングオリエンテーションメタデータ(Initial viewing orientation metadata)を含むことができる。イニシャルビューイングオリエンテーションメタデータは、ポイントクラウドデータが前を示すデータであるか、それとも後ろを示すデータであるかを指示することができる。メタデータは、ポイントクラウドに対するメタデータである「補助(auxiliary)データ」と称されることがある。
【0041】
取得されたポイントクラウドビデオには、PLY(polygon file format or the stanford triangle format)ファイルが含まれることができる。ポイントクラウドビデオは、一つ以上のフレームを有するので、取得されたポイントクラウドビデオには、一つ以上のPLYファイルが含まれることができる。PLYファイルは、各ポイントのポイントクラウドデータを含むことができる。
【0042】
ポイントクラウドビデオ(又は、ポイントクラウドデータ)の取得のために、取得部11は、深さ(depth、深さ情報)を取得することが可能なカメラ装備と、深さ情報に対応する色相情報を抽出することが可能なRGBカメラとの組み合わせで構成できる。ここで、深さ情報を取得することが可能なカメラ装備は、赤外線パターンプロジェクタと赤外線カメラとの組み合わせであってもよい。また、取得部11は、LiDARで構成されてもよいが、LiDARのレーザーパルスを照射し反射して戻ってくる時間を測定して反射体の位置座標を測定するレーダーシステムを用いることができる。
【0043】
取得部110は、深さ情報から三次元空間上のポイントからなるジオメトリの形態を抽出し、RGB情報から各ポイントの色相や反射などを表現するアトリビュートを抽出することができる。
【0044】
ポイントクラウドビデオ(又は、ポイントクラウドデータ)を抽出(又は、キャプチャ、取得など)する方式としては、中心オブジェクトをキャプチャするインワード-フェーシング(inward-facing)方式と、外部環境をキャプチャするアウトワード-フェーシング(outward-facing)方式があり得る。
【0045】
符号化部12は、取得部11から生成されたデータ(ジオメトリ、アトリビュート及び/又はメタデータ及び/又はメッシュデータなど)を一つ以上のビットストリームにエンコードするエンコーディング過程(S21)を行うことができる。従って、符号化部12は、「ポイントクラウドビデオエンコーダ(point cloud video encoder)」とも称される。符号化部12は、取得部11から生成されたデータを直列的又は並列的にエンコードすることができる。
【0046】
符号化部12が行うエンコーディング過程(S21)は、ジオメトリベースのポイントクラウド圧縮(geometry-based point cloud compression、G-PCC)であってもよい。符号化部12は、圧縮及びコーディング効率のために、予測、変換、量子化、エントロピーコーディングなどの一連の手続きを行うことができる。
【0047】
エンコードされたポイントクラウドデータは、ビットストリーム形式で出力できる。G-PCC手続きに基づく場合、符号化部12は、ポイントクラウドデータを後述のようにジオメトリ及びアトリビュートに分けてエンコードすることができる。この場合、出力されるビットストリームは、エンコードされたジオメトリを含むジオメトリビットストリーム、及びエンコードされたアトリビュートを含むアトリビュートビットストリームを含むことができる。また、出力されるビットストリームは、メタデータを含むメタデータビットストリーム、補助データを含む補助ビットストリーム、及びメッシュデータを含むメッシュデータビットストリームのうちの一つ以上をさらに含んでもよい。エンコーディング過程(S21)については、以下でさらに詳細に説明する。エンコードされたポイントクラウドデータを含むビットストリームは、「ポイントクラウドビットストリーム」又は「ポイントクラウドビデオビットストリーム」と呼ばれることもある。
【0048】
カプセル化処理部13は、復号化部12から出力された一つ以上のビットストリームをファイル又はセグメント(segment)などの形式にカプセル化する過程を行うことができる。したがって、カプセル化処理部13は、「ファイル/セグメントカプセル化モジュール(file/segment encapsulation module)」と呼ばれることもある。図面には、カプセル化処理部13が伝送部14との関係で別途のコンポーネント/モジュールからなる例示が表現されているが、実施例によって、カプセル化処理部13は、伝送部14に含まれることもできる。
【0049】
カプセル化処理部13は、当該データをISOBMFF(ISO Base Media File Format)などのファイルフォーマットにカプセル化するか、或いはその他のDASHセグメントなどの形態で処理することができる。実施例によって、カプセル化処理部13は、メタデータをファイルフォーマット上に含ませることができる。メタデータは、例えば、ISOBMFFファイルフォーマット上の多様なレベルのボックス(box)に含まれるか、或いはファイル内で別途のトラック内のデータとして含まれることができる。実施例によって、カプセル化処理部130は、メタデータ自体をファイルにカプセル化することができる。カプセル化処理部13によって処理されるメタデータは、図面には示されていないメタデータ処理部等から伝達されたものであり得る。メタデータ処理部は、符号化部12に含まれてもよく、或いは別途のコンポーネント/モジュールで構成されてもよい。
【0050】
伝送部14は、「カプセル化されたポイントクラウドビットストリーム」にファイルフォーマットによる処理(伝送のための処理)を加える伝送過程(S22)を行うことができる。伝送部14は、ビットストリーム又は当該ビットストリームを含むファイル/セグメントを、デジタルストレージ媒体又はネットワークを介して受信装置20の受信部21へ伝達することができる。したがって、伝送部14は、「送信機(transmitter)」又は「通信モジュール(communication module)」などとも呼ばれる。
【0051】
伝送部14は、任意の伝送プロトコルに従ってポイントクラウドデータの処理を行うことができる。ここで、「任意の伝送プロトコルに従ってポイントクラウドデータを処理すること」は、「伝送のための処理」であり得る。伝送のための処理には、放送網を介した伝達のための処理や、ブロードバンドを介した伝達のための処理などが含まれることができる。実施例によって、伝送部14は、ポイントクラウドデータだけでなく、メタデータ処理部からメタデータの伝達を受け、伝達されたメタデータに伝送のための処理を加えることもできる。実施例によって、伝送のための処理は伝送処理部で行われることもでき、伝送処理部は、伝送部14に含まれるか、或いは伝送部14とは別途のコンポーネント/モジュールで構成できる。
【0052】
受信部21は、伝送装置10が伝送したビットストリーム、又は当該ビットストリームを含むファイル/セグメントを受信することができる。伝送されるチャネルによって、受信部21は、放送網を介して、ビットストリーム又は当該ビットストリームを含むファイル/セグメントを受信することもでき、ブロードバンドを介して、ビットストリーム又は当該ビットストリームを含むファイル/セグメントを受信することもできる。或いは、受信部21は、デジタルストレージ媒体を介して、ビットストリーム、又は当該ビットストリームを含むファイル/セグメントを受信することもできる。
【0053】
受信部21は、受信されたビットストリーム、又は当該ビットストリームを含むファイル/セグメントに対して伝送プロトコルによる処理を行うことができる。受信部21は、伝送装置10で伝送のための処理が行われたことに対応するように、伝送処理(伝送のための処理)の逆過程を行うことができる。受信部21は、受信したデータのうち、エンコードされたポイントクラウドデータをデカプセル化処理部22へ伝達し、メタデータをメタデータパーシング部へ伝達することができる。メタデータは、シグナリングテーブルの形態であり得る。実施例によって、伝送のための処理の逆過程は、受信処理部で行われることができる。受信処理部、デカプセル化処理部22及びメタデータパーシング部のそれぞれは、受信部21に含まれるか或いは受信部21とは別途のコンポーネント/モジュールで構成されることができる。
【0054】
デカプセル化処理部22は、受信部21又は受信処理部から伝達されたファイル形式のポイントクラウドデータ(すなわち、ファイル形式のビットストリーム)をデカプセル化することができる。したがって、デカプセル化処理部22は、「ファイル/セグメントデカプセル化モジュール(file/segment encapsulation module)」とも呼ばれる。
【0055】
デカプセル化処理部22は、ISOBMFFなどによってファイルをデカプセル化することにより、ポイントクラウドビットストリーム乃至メタデータビットストリームを取得することができる。実施例によって、メタデータ(メタデータビットストリーム)は、ポイントクラウドビットストリームに含まれてもよい。取得されたポイントクラウドビットストリームは、復号化部23へ伝達されることができ、取得されたメタデータビットストリームは、メタデータ処理部へ伝達されることができる。メタデータ処理部は、復号化部23に含まれてもよく、或いは別途のコンポーネント/モジュールで構成されてもよい。デカプセル化処理部23が取得するメタデータは、ファイルフォーマット内のボックス或いはトラック形態であってもよい。デカプセル化処理部23は、必要な場合、メタデータ処理部からデカプセル化に必要なメタデータの伝達を受けることもできる。メタデータは、復号化部23へ伝達されてデコーディング過程(S23)に使用されることもでき、或いはレンダリング部24へ伝達されてレンダリング過程(S24)に使用されることもできる。
【0056】
復号化部23は、ビットストリームの入力を受け、符号化部12の動作に対応する動作を行うことにより、ポイントクラウドビットストリーム(エンコードされたポイントクラウドデータ)をデコードするデコーディング過程(S23)を行うことができる。従って、復号化部23は、「ポイントクラウドビデオデコーダ(point cloud video decoder)」とも呼ばれる。
【0057】
復号化部23は、ポイントクラウドデータをジオメトリ及びアトリビュートに分けてデコードすることができる。例えば、復号化部23は、ポイントクラウドビットストリームに含まれたジオメトリビットストリームからジオメトリを復元(デコーディング)することができ、ポイントクラウドビットストリームに含まれたアトリビュートビットストリーム及び復元されたジオメトリに基づいてアトリビュートを復元(デコーディング)することができる。復元されたジオメトリによるポジション情報、及びデコードされたアトリビュートによるアトリビュート(カラー又はテクスチャなど)に基づいて三次元のポイントクラウドビデオ/画像が復元されることができる。デコーディング過程(S23)については、以下でより詳細に説明する。
【0058】
レンダリング部24は、復元されたポイントクラウドビデオをレンダリングするレンダリング過程(S24)を行うことができる。したがって、レンダリング部24は、「レンダラー(renderer)」とも呼ばれる。
【0059】
レンダリング過程(S24)は、3D空間上にポイントクラウドコンテンツをレンダリングし、ディスプレイする過程を意味することができる。レンダリング過程(S24)は、デコーディング過程を介してデコードされたポイントのポジション情報及びアトリビュート情報に基づいて所望のレンダリング方式によってレンダリングすることができる。
【0060】
フィードバック過程(S25)は、レンダリング過程(S24)又はディスプレイ過程で取得できる多様なフィードバック情報を伝送装置10へ伝達するか、或いは受信装置20内の他の構成へ伝達する過程を含むことができる。フィードバック過程(S25)は、図1の受信装置20に含まれた構成のうちの一つ以上によって行われるか、或いは図9及び図10に表現された構成のうちの一つ以上によって行われることができる。実施例によって、フィードバック過程(S25)は、「フィードバック部」又は「センシング/トラッキング部(sensing/tracking)」によって行われてもよい。
【0061】
ポイントクラウド符号化装置の概要
【0062】
図3は、本開示の実施例によるポイントクラウド符号化装置300の例示を示す。図3のポイントクラウド符号化装置300は、図1の符号化部12とは構成及び機能において対応することができる。
【0063】
図3に示すように、ポイントクラウド符号化装置300は、座標系変換部305、ジオメトリ量子化部310、八分木分析部315、近似化部320、ジオメトリエンコーディング部325、復元部330、アトリビュート変換部340、RAHT変換部345、LOD生成部350、リフト部355、アトリビュート量子化部360、アトリビュートエンコーディング部365及び/又はカラー変換部335を含むことができる。
【0064】
取得部11によって取得されたポイントクラウドデータは、ネットワークの状況或いはアプリケーションなどによってポイントクラウドコンテンツの質(例えば、無損失-lossless、損失-lossy、near-lossless)を調節するための過程を経ることができる。また、取得されたポイントクラウドコンテンツの各ポイントを損失なしに伝送することもできるが、そのような場合、ポイントクラウドコンテンツのサイズが大きいため、リアルタイムストリーミングが可能でないこともある。したがって、ポイントクラウドコンテンツの円滑な提供のために、最大ターゲットビット率(bitrate)に合わせてポイントクラウドコンテンツを再構成する過程が必要である。
【0065】
ポイントクラウドコンテンツの質を調節するための過程は、ポイントの位置情報(ジオメトリ情報に含まれたポジション情報)又は色相情報(アトリビュート情報に含まれたカラー情報)を再構成する過程と、エンコードする過程などであり得る。ポイントのポジション情報を再構成及びエンコードする過程をジオメトリコーディングと称し、各ポイントに関連したアトリビュート情報を再構成及びエンコードする過程をアトリビュートコーディングと称することがある。
【0066】
ジオメトリコーディングは、ジオメトリ量子化過程、ボクセル化過程、八分木分析過程、近似化過程、ジオメトリエンコーディング過程及び/又は座標系変換過程を含むことができる。また、ジオメトリコーディングは、ジオメトリ復元過程をさらに含んでもよい。アトリビュートコーディングは、色相変換過程、アトリビュート変換過程、予測変換過程、リフト変換過程、RAHT変換過程、アトリビュート量子化過程、アトリビュートエンコーディング過程などを含むことができる。
【0067】
ジオメトリコーディング
【0068】
座標系変換過程は、ポイントのポジションに対する座標系(coordinate)を変換する過程に当該することができる。よって、座標系変換過程は、「transform coordinates」と称されることがある。座標系変換過程は、座標系変換部305によって行われ得る。例えば、座標系変換部305は、ポイントのポジションを、グローバル空間座標系から三次元空間(例えば、X軸、Y軸及びZ軸座標系で表現される三次元空間など)のポジション情報に変換することができる。実施例による三次元空間のポジション情報は、「ジオメトリ情報」と称されることがある。
【0069】
ジオメトリ量子化過程は、ポイントのポジション情報を量子化する過程に該当することができ、ジオメトリ量子化部310によっても行われることができる。例えば、ジオメトリ量子化部310は、ポイントのポジション情報のうち最小の(x、y、z)値を有するポジション情報を探し、各ポイントのポジション情報から最小の(x、y、z)値を有するポジション情報を差し引くことができる。また、ジオメトリ量子化部310は、差し引かれた値に予め設定された量子スケール(quantization scale)値を掛けた後、その結果を近い整数(integer)値に調整(下げたり上げたり)することにより、量子化過程を行うことができる。
【0070】
ボクセル化過程は、量子化過程を介して量子化されたジオメトリ情報を、三次元空間上に存在する特定のボクセル(voxel)にマッチングする過程に該当することができる。ボクセル化過程も、ジオメトリ量子化部310によって行われることができる。ジオメトリ量子化部310は、量子化過程が適用された各ポイントを再構成するために、ポイントのポジション情報に基づいて、八分木(octree)ベースのボクセル化(voxelization)を行うことができる。
【0071】
ジオメトリエンコーディング過程は、占有コードに対してエントロピーコーディングを行う過程に該当することができる。ジオメトリエンコーディング過程は、ジオメトリエンコーディング部325によって行われることができる。ジオメトリエンコーディング部325は、占有コードに対するエントロピーコーディングを行うことができる。生成された占有コードは、直ちにエンコードされてもよく、圧縮効率を高めるためにイントラ及びインターコーディング過程を介してエンコードされてもよい。受信装置20は、占有コードを介して八分木を再構成することができる。
【0072】
一方、ポイントが無いか或いは非常に少ない特定領域の場合、全ての領域をボクセル化させることは非効率的であってもよい。すなわち、特定領域にはポイントが殆ど存在しないので、全体八分木を構成する必要がない場合がある。このような場合のために、早期終了(early termination)方案が必要であり得る。
【0073】
ポイントクラウド符号化装置300は、特定領域(リーフノードに当該しない特定領域)に対して、この特定領域に対応するノード(特定ノード)を8つのサブノード(子ノード)に分ける代わりに、当該特定領域に対してのみ直接ポイントの位置を伝送するか、或いは表面モデル(surface model)を用いて特定領域内のポイントのポジションをボクセルに基づいて再構成することができる。
【0074】
特定ノードに対して直接各ポイントの位置を伝送するモードは、直接モード(direct mode)であり得る。ポイントクラウド符号化装置300は、直接モードを可能にするための条件を満たすか否かをチェックすることができる。
【0075】
直接モードを可能にするための条件は、1)直接モード使用オプションが活性化されていなければならない、2)当該特定ノードがリーフノードに該当しない、3)当該特定ノード内に閾値(threshold)以下のポイントが存在しなければならない、及び4)直接伝送しようとするポイントの総数が閾値を超えないことを含むことができる。
【0076】
ポイントクラウド符号化装置300は、これらの条件を全て満たす場合に、当該特定ノードに対して直接ポイントのポジション値をジオメトリエンコーディング部325を介してエントロピーコーディングして伝送することができる。
【0077】
表面モデルを用いて特定領域内のポイントの位置をボクセルに基づいて再構成するモードは、trisoupモードであってもよい。trisoupモードは、近似化部320によって行われてもよい。近似化部320は、八分木の特定レベルを定め、定めた特定レベルからは、表面モデルを用いてノード領域内のポイントの位置をボクセルに基づいて再構成することができる。
【0078】
ポイントクラウド符号化装置300は、trisoupモードを選択的に適用することもできる。具体的には、ポイントクラウド符号化装置300は、trisoupモードの使用時に、trisoupモードが適用されるレベル(特定レベル)を指定することができる。例えば、指定された特定レベルが八分木の深さ(d)と同じであれば、trisoupモードが適用されなくてもよい。すなわち、指定された特定レベルは、八分木の深さ値よりも小さくなければならない。
【0079】
指定された特定レベルのノードの三次元立方体領域をブロック(block)といい、一つのブロックは、一つ以上のボクセルを含むことができる。ブロック又はボクセルは、ブリック(brick)に対応することもできる。各ブロックは、12個のエッジ(edge)を持っていてもよく、近似化部320は、各エッジがポイントを有するボクセル(occupied voxel)に隣接したか否かをチェックすることができる。各エッジは、複数の占有された(occupied)ボクセルに隣接することができる。ボクセルに隣接したエッジの特定位置を頂点(vertex)といい、近似化部320は、一つのエッジに複数の占有されたボクセルが隣接した場合には、当該位置の平均位置を頂点と定めることができる。
【0080】
ポイントクラウド符号化装置300は、頂点が存在する場合に、エッジの始点(x、y、z)、エッジの方向ベクトル(△x、△y、△z)、及び頂点の位置値(エッジ内の相対的位置値)をジオメトリエンコーディング部325を介してエントロピーコーディングすることができる。
【0081】
ジオメトリ復元過程は、八分木及び/又は近似化された八分木を再構成して、復元されたジオメトリを生成する過程に該当することができる。ジオメトリ復元過程は、復元部330によって行われ得る。復元部330は、三角形再構成(triangle reconstruction)、アップサンプリング(up-sampling)、ボクセル化過程などを介してジオメトリ復元過程を行うことができる。
【0082】
近似化部320でtrisoupモードが適用された場合に、復元部330は、エッジの始点、エッジの方向ベクトル及び頂点の位置値に基づいて三角形を再構成することができる。
【0083】
復元部330は、三角形のエッジに沿って中間にポイントを追加してボクセル化するためにアップサンプリング過程を行うことができる。復元部330は、アップサンプリング要素値(upsampling factor)とブロックの幅を基準に追加ポイントを生成することができる。これらのポイントは、refined頂点と呼ぶことがある。復元部330は、refined頂点をボクセル化することができ、ポイントクラウド符号化装置300は、ボクセル化された位置値を基準にアトリビュートコーディングを行うことができる。
【0084】
実施例によって、ジオメトリエンコーディング部325は、コンテキスト適応的算術(context adaptive arithmetic)コーディングを適用して圧縮効率を高めることができる。ジオメトリエンコーディング部325は、算術コードを用いて占有コードを直ちにエントロピーコーディングすることができる。実施例によって、ジオメトリエンコーディング部325は、周辺隣接ノードの占有如何に基づいて適応的にエンコーディングを行うか(イントラコーディング)、或いは以前フレームの占有コードに基づいて適応的にエンコーディングを行うこともできる(インターコーディング)。ここで、フレームは、同じ時間に生成されたポイントクラウドデータの集合を意味することができる。イントラコーディングとインターコーディングは、選択的(optional)過程であるので、省略可能である。
【0085】
アトリビュートコーディング
【0086】
アトリビュートコーディングは、復元された(再構成された)ジオメトリと座標系変換前のジオメトリ(原本ジオメトリ)に基づいてアトリビュート情報をコーディングする過程に該当することができる。アトリビュートは、ジオメトリに従属的であり得るので、アトリビュートコーディングに復元されたジオメトリが活用できる。
【0087】
前述したように、アトリビュートは、色相や反射率などを含むことができる。アトリビュートに含まれた情報又はパラメータに対して同じアトリビュートコーディング方法が適用できる。色相は三つの要素を有し、反射率は一つの要素を有し、要素ごとに独立的に処理できる。
【0088】
アトリビュートコーディングは、色相変換過程、アトリビュート変換過程、予測変換過程、リフト変換過程、RAHT変換過程、アトリビュート量子化過程、アトリビュートエンコーディング過程などを含むことができる。予測変換過程、リフト変換過程、RAHT変換過程は、選択的に使用されるか、或いは一つ又はそれ以上の組み合わせが使用され得る。
【0089】
色相変換過程は、アトリビュート内の色相のフォーマットを他のフォーマットに変換する過程に該当することができる。色相変換過程は、カラー変換部335によって行われることができる。すなわち、カラー変換部335は、アトリビュート内の色相を変換することができる。例えば、カラー変換部335は、アトリビュート内の色相をRGBからYCbCrに変換するコーディング作業を行うことができる。実施例によって、カラー変換部335の動作、すなわち色相変換過程は、アトリビュートに含まれた色相値によって選択的に(optional)適用できる。
【0090】
前述したように、一つのボクセルに一つ又はそれ以上のポイントが存在する場合に、これらを当該ボクセルに対する一つのポイント情報に統合して示すために、ボクセル内に存在するポイントに対する位置値がボクセルの中央点に設定できる。これにより、当該ポイントに連関したアトリビュートの値を変換する過程が必要であり得る。また、trisoupモードが行われた場合にも、アトリビュート変換過程が行われることができる。
【0091】
アトリビュート変換過程は、ジオメトリコーディングが行われていないポジション及び/又は再構成されたジオメトリに基づいてアトリビュートを変換する過程に該当することができる。例えば、アトリビュート変換過程は、ボクセルに含まれたポイントのポジションに基づいて、当該ポジションのポイントが有するアトリビュートを変換する過程に該当することができる。アトリビュート変換過程は、アトリビュート変換部340によって行われ得る。
【0092】
アトリビュート変換部340は、ボクセルの中央位置値と、特定半径内に隣接しているポイント(隣接ポイント)のアトリビュート値との平均値を計算することができる。或いは、アトリビュート変換部340は、中央位置との距離による重みをアトリビュート値に適用し、重みが適用されたアトリビュート値の平均値を計算することもできる。この場合、各ボクセルは、位置と計算されたアトリビュート値とを有する。
【0093】
予測変換過程は、現在ポイント(予測の対象に該当するポイント)に隣接する一つ以上のポイント(隣接ポイント)のアトリビュート値に基づいて現在ポイントのアトリビュート値を予測する過程に該当することができる。予測変換過程は、LOD(level of detail)生成部350によって行われることができる。
【0094】
予測変換は、LOD変換技法が適用された方法であって、LOD生成部350は、各ポイントのLOD距離値を基準に、各ポイントのLOD値を計算して設定することができる。
【0095】
LOD生成部350は、予測変換のために、各ポイントに対する予測器(predictor)を生成することができる。従って、N個のポイントが存在する場合には、N個の予測器が生成できる。予測器は、各ポイントに対するLOD値、隣接ポイントに対するインデクシング情報、及び隣接ポイントとの距離値に基づいて重み値(=1/距離)を計算して設定することができる。ここで、隣接ポイントは、現在ポイントからLOD別に設定された距離内に存在するポイントであり得る。
【0096】
また、予測器は、隣接ポイントのアトリビュート値に「設定された重み」を掛け、重みが掛けられたアトリビュート値を平均した値を、現在ポイントの予測されたアトリビュート値に設定することができる。現在ポイントのアトリビュート値から当該現在ポイントの予測されたアトリビュート値を差し引いた残余(Residual)アトリビュート値に対してアトリビュート量子化過程が行われることができる。
【0097】
リフト変換過程は、予測変換過程と同様に、LOD生成過程を介してポイントをディテールレベルの集合で再構成する過程に該当することができる。リフト変換過程は、リフト部355によって行われることができる。リフト変換過程も、各ポイントに対する予測器を生成する過程、及び計算されたLODを予測器に設定する過程、隣接ポイントを登録する過程、及び現在ポイントと隣接ポイントとの距離による重みを設定する過程などを含むことができる。
【0098】
RAHT変換過程は、八分木の下位(lower)レベルにあるノードに連関したアトリビュート情報を用いて、上位レベルにあるノードのアトリビュート情報を予測する方法に該当することができる。すなわち、RATH変換過程は、八分木バックワード(backward)スキャンによるアトリビュート情報イントラコーディング方法に該当することができる。RAHT変換過程は、RAHT変換部345によって行われることができる。
【0099】
RAHT変換部345は、ボクセルで全体領域にスキャンし、各ステップでボクセルをさらに大きいブロックに合算(併合)しながら、ルートノードまでRAHT変換過程を行うことができる。RAHT変換部345は、占有された(occupied)ノードに対してのみRAHT変換過程を行うので、占有されていないemptyノードの場合には、真上の上位レベルのノードを対象にしてRAHT変換過程を行うことができる。
【0100】
アトリビュート量子化過程は、RAHT変換部345、LOD生成部350及び/又はリフト部355から出力されたアトリビュートを量子化する過程に該当することができる。アトリビュート量子化過程は、アトリビュート量子化部360によって行われることができる。アトリビュートエンコーディング過程は、量子化されたアトリビュートをエンコードしてアトリビュートビットストリームを出力する過程に該当することができる。アトリビュートエンコーディング過程は、アトリビュートエンコーディング部365によって行われることができる。
【0101】
ポイントクラウド復号化装置の概要
【0102】
図4は、本開示の一実施例によるポイントクラウド復号化装置400の例示を示す。図4のポイントクラウド復号化装置400は、図1の復号化部23とは構成及び機能において対応することができる。
【0103】
ポイントクラウド復号化装置400は、伝送装置10から伝送されたデータ(ビットストリーム)に基づいて、デコーディング過程を行うことができる。デコーディング過程は、ビットストリームを対象に前述したエンコーディング動作に対応する動作を行うことにより、ポイントクラウドビデオを復元(デコーディング)する過程を含むことができる。
【0104】
図4に示すように、デコーディング過程は、ジオメトリデコーディング過程とアトリビュートデコーディング過程を含むことができる。ジオメトリデコーディング過程は、ジオメトリ復号化部410によって行われることができ、アトリビュートデコーディング過程は、アトリビュート復号化部420によって行われることができる。すなわち、ポイントクラウド復号化装置400は、ジオメトリ復号化部410及びアトリビュート復号化部420を含むことができる。
【0105】
ジオメトリ復号化部410は、ジオメトリビットストリームからジオメトリを復元することができ、アトリビュート復号化部420は、復元されたジオメトリとアトリビュートビットストリームに基づいてアトリビュートを復元することができる。また、ポイントクラウド復号化装置400は、復元されたジオメトリによるポジション情報、及び復元されたアトリビュートによるアトリビュート情報に基づいて三次元のポイントクラウドビデオ(ポイントクラウドデータ)を復元することができる。
【0106】
図5は、本開示の他の一実施例によるポイントクラウド復号化装置500の具体的な例示を示す。図5に示すように、ポイントクラウド復号化装置500は、ジオメトリデコーディング部505、八分木合成部510、近似化合成部515、ジオメトリ復元部520、座標系逆変換部525、アトリビュートデコーディング部530、アトリビュート逆量子化部535、RATH変換部550、LOD生成部540、逆リフト部545及び/又はカラー逆変換部555を含むことができる。
【0107】
ジオメトリデコーディング部505、八分木合成部510、近似化合成部515、ジオメトリ復元部520、及び座標系逆変換部550は、ジオメトリデコーディングを行うことができる。ジオメトリデコーディングは、図1図3で説明したジオメトリコーディングの逆過程で行われることができる。ジオメトリデコーディングは、ダイレクトコーディング(direct coding)及びtrisoupジオメトリデコーディング(trisoup geometry decoding)を含むことができる。ダイレクトコーディング及びtrisoupジオメトリデコーディングは、選択的に適用できる。
【0108】
ジオメトリデコーディング部505は、受信したジオメトリビットストリームを、アリスメティックコーディングに基づいてデコードすることができる。ジオメトリデコーディング部505の動作は、ジオメトリエンコーディング部325が行う動作の逆過程に対応することができる。
【0109】
八分木合成部510は、デコードされたジオメトリビットストリームから(又は、デコーディング結果として確保されたジオメトリに関する情報)から占有コードを取得して八分木を生成することができる。八分木合成部510の動作は、八分木分析部315が行う動作の逆過程に対応することができる。
【0110】
近似化合成部515は、trisouジオメトリエンコーディングが適用された場合、デコードされたジオメトリ及び/又は生成された八分木に基づいてサーフェス(surface)を合成することができる。
【0111】
ジオメトリ復元部520は、サーフェス及びデコードされたジオメトリに基づいてジオメトリを復元することができる。ダイレクトコーディングが適用された場合に、ジオメトリ復元部520は、ダイレクトコーディングが適用されたポイントのポジション情報を直接持ってきて追加することができる。また、trisoupジオメトリエンコーディングが適用された場合に、ジオメトリ復元部520は、再構成動作、例えば、三角形再構成、アップサンプリング、ボクセル化動作などを行ってジオメトリを復元することができる。復元されたジオメトリは、アトリビュートを含まないポイントクラウドピクチャ又はフレームを含むことができる。
【0112】
座標系逆変換部550は、復元されたジオメトリに基づいて座標系を変換してポイントのポジションを取得することができる。例えば、座標系逆変換部550は、ポイントのポジションを三次元空間(例えば、X軸、Y軸及びZ軸座標系で表現される三次元空間など)からグローバル空間座標系の位置情報に逆変換することができる。
【0113】
アトリビュートデコーディング部530、アトリビュート逆量子化部535、LOD生成部540及び/又は逆リフト部545は、アトリビュートデコーディングを行うことができる。アトリビュートデコーディングは、RAHT変換デコーディング、予測変換デコーディング及びリフト変換デコーディングを含むことができる。上述した3種類のデコーディングは、選択的に使用されてもよく、一つ又はそれ以上のデコーディングの組み合わせが使用されてもよい。
【0114】
アトリビュートデコーディング部530は、アリスメティックコーディングに基づいてアトリビュートビットストリームをデコードすることができる。例えば、各ポイントの予測器に隣接ポイントが存在しないため、現在ポイントのアトリビュート値が直接エントロピーエンコードされた場合に、アトリビュートデコーディング部530は、現在ポイントのアトリビュート値(量子化されていないアトリビュート値)をデコードすることができる。他の例として、現在ポイントの予測器に隣接ポイントが存在して量子化された残余アトリビュート値がエントロピーエンコードされた場合に、アトリビュートデコーディング部530は、量子化された残余アトリビュート値をデコードすることができる。
【0115】
アトリビュート逆量子化部535は、デコードされたアトリビュートビットストリーム又はデコーディングの結果として確保したアトリビュートに対する情報を逆量子化し、逆量子化されたアトリビュート(又は、アトリビュート値)を出力することができる。例えば、アトリビュートデコーディング部530から量子化された残余アトリビュート値が出力された場合、アトリビュート逆量子化部535は、量子化された残余アトリビュート値を逆量子化して残余アトリビュート値を出力することができる。逆量子化過程は、ポイントクラウド符号化装置300のアトリビュートエンコーディング如何に基づいて選択的に適用できる。すなわち、各ポイントの予測器に隣接ポイントが存在しないため現在ポイントのアトリビュート値が直接エンコードされた場合に、アトリビュートデコーディング部530は、量子化されていない現在ポイントのアトリビュート値を出力することができ、アトリビュートエンコーディング過程は、スキップされることができる。
【0116】
RATH変換部550、LOD生成部540及び/又は逆リフト部545は、再構成されたジオメトリ及び逆量子化されたアトリビュートを処理することができる。RATH変換部550、LOD生成部540及び/又は逆リフト部545は、ポイントクラウド符号化装置300のエンコーディング動作に対応するデコーディング動作を選択的に行うことができる。
【0117】
カラー逆変換部555は、デコードされたアトリビュートに含まれているカラー値(又は、テクスチャ)を逆変換するための逆変換コーディングを行うことができる。カラー逆変換部555の動作は、カラー変換部335の動作如何に基づいて選択的に行われることができる。
【0118】
図6は、本開示の実施例によるポイントクラウドデータ送受信方法/装置と連動可能な構造の例示を示す。
【0119】
図6の構造は、サーバ(AI Server)、ロボット(Robot)、自律走行車両(Self-Driving Vehicle)、XR装置(XR device)、スマートフォン(Smartphone)、家電(Home Appliance)、及び/又はHMDのうちの少なくとも一つがクラウドネットワーク(Network)に接続された構成を示す。ロボット、自律走行車両、XR装置、スマートフォン又は家電などは、装置と称されることがある。また、XR装置は、実施例によるポイントクラウドデータ装置(PCC)に対応するか、或いはPCC装置と連動することができる。
【0120】
クラウドネットワークは、クラウドコンピューティングインフラの一部を構成するか、或いはクラウドコンピューティングインフラ内に存在するネットワークを意味することができる。ここで、クラウドネットワークは、3Gネットワーク、4G又はLTE(Long Term Evolution)ネットワーク又は5Gネットワークなどを用いて構成できる。
【0121】
サーバは、ロボット、自律走行車両、XR装置、スマートフォン、家電及び/又はHMDのうちの少なくとも一つとクラウドネットワークを介して接続され、接続された装置のプロセシングの少なくとも一部を助けることができる。
【0122】
HMDは、実施例によるXRデバイス及び/又はPCCデバイスが実現できるタイプのうちの一つを示すことができる。実施例によるHMDタイプのデバイスは、コミュニケーションユニット、コントロールユニット、メモリユニット、I/Oユニット、センサユニット、及びパワー供給ユニットなどを含むことができる。
【0123】
<PCC+XR>
【0124】
XR/PCC装置は、PCC及び/又はXR技術が適用されることにより、HMD、車両に備えられたHUD、テレビ、携帯電話、スマートフォン、コンピュータ、ウェアラブルデバイス、家電機器、デジタルサイネージ、車両、固定型ロボット又は移動型ロボットなどで実現されてもよい。
【0125】
XR/PCC装置は、多様なセンサを介して、又は外部装置から取得した三次元ポイントクラウドデータ又はイメージデータを分析して三次元ポイントに対する位置(ジオメトリ)データ及びアトリビュートデータを生成することにより、周辺空間又は現実オブジェクトに対する情報を取得し、出力するXRオブジェクトをレンダリングして出力することができる。例えば、XR/PCC装置は、認識された物体に対する追加情報を含むXRオブジェクトを当該認識された物体に対応させて出力することができる。
【0126】
<PCC+XR+モバイルフォン>
【0127】
XR/PCC装置は、PCC技術が適用されてモバイルフォンなどで実現できる。モバイルフォンは、PCC技術に基づいてポイントクラウドコンテンツをデコードし、ディスプレイすることができる。
【0128】
<PCC+自律走行+XR>
【0129】
自律走行車両は、PCC技術及びXR技術が適用されることにより、移動型ロボット、車両、無人飛行体などで実現できる。XR/PCC技術が適用された自律走行車両は、XR画像を提供する手段を備えた自律走行車両や、XR画像内での制御/相互作用の対象となる自律走行車両などを意味することができる。特に、XR画像内での制御/相互作用の対象となる自律走行車両は、XR装置と区分され、互いに連動することができる。
【0130】
XR/PCC画像を提供する手段を備えた自律走行車両は、カメラを含むセンサからセンサ情報を取得し、取得したセンサ情報に基づいて生成されたXR/PCC画像を出力することができる。例えば、自律走行車両は、HUDを備えてXR/PCC画像を出力することにより、搭乗者に現実オブジェクト又は画面内のオブジェクトに対応するXR/PCCオブジェクトを提供することができる。
【0131】
この時、XR/PCCオブジェクトがHUDに出力される場合には、XR/PCCオブジェクトの少なくとも一部が、搭乗者の視線が向かう実際のオブジェクトにオーバーラップするように出力されることができる。これに対し、XR/PCCオブジェクトが自律走行車両内のディスプレイに出力される場合には、XR/PCCオブジェクトの少なくとも一部が画面内のオブジェクトにオーバーラップするように出力されることができる。例えば、自律走行車両は、車路、他の車両、交通信号機、交通標識板、二輪車、歩行者、建物などのオブジェクトと対応するXR/PCCオブジェクトを出力することができる。
【0132】
実施例によるVR技術、AR技術、MR技術及び/又はPCC技術は、多様なデバイスに適用可能である。すなわち、VR技術は、現実世界のオブジェクトや背景などをCG画像でのみ提供するディスプレイ技術である。これに対し、AR技術は、実際の事物画像上に、仮想で作られたCG画像を一緒に見せる技術を意味する。さらに、MR技術は、現実世界に仮想オブジェクトを混ぜて結合させて見せるという点で、前述したAR技術と類似する。しかし、AR技術では、現実オブジェクトとCG画像とで作られた仮想オブジェクトの区別が明確であり、現実オブジェクトを補完する形態で仮想オブジェクトを使用するのに対し、MR技術では、仮想オブジェクトが現実オブジェクトと同等な性格として見なされるという点で、AR技術とは区別される。より具体的には、例えば、上述したMR技術が適用されたものがホログラムサービスである。VR、AR及びMR技術を統合してXR技術と称されることもある。
【0133】
空間分割
【0134】
ポイントクラウドデータ(すなわち、G-PCCデータ)は、フレーム(ポイントクラウドフレーム)のシーケンスからなるポイントクラウドのボリュメトリックエンコーディング(volumetric encoding)を示すことができる。各ポイントクラウドフレームは、ポイントの数、ポイントのポジション、及びポイントのアトリビュートを含むことができる。ポイントの数、ポイントのポジション、及びポイントのアトリビュートはフレームごとに異なり得る。各ポイントクラウドフレームは、特定タイムインスタンス(particulary time instance)で三次元ポイントの直交座標系(cartesian coordinates)(x、y、z)とゼロ以上のアトリビュートによって明示された三次元ポイントのセットを意味することができる。ここで、三次元ポイントの直交座標系(x、y、z)は、ポジション又はジオメトリであり得る。
【0135】
実施例によって、本開示は、ポイントクラウドデータをエンコード(符号化)する前に、ポイントクラウドデータを一つ以上の三次元ブロックに分割する空間分割過程をさらに行うことができる。三次元ブロックは、ポイントクラウドデータが占有する三次元空間の全部又は一部領域を意味することができる。三次元ブロックは、タイルグループ(tile group)、タイル(tile)、スライス(slice)、コーディングユニット(coding unit、CU)、予測ユニット(prediction unit、PU)、又は変換単位(transform unit、TU)のうちの一つ以上を意味することができる。
【0136】
三次元ブロックに該当するタイルは、ポイントクラウドデータが占有する三次元空間の全部又は一部領域を意味することができる。また、三次元ブロックに該当するスライスも、ポイントクラウドデータが占有する三次元空間の全部又は一部領域を意味することができる。タイルは、一つのタイルに含まれたポイントの個数に基づいて一つ以上のスライスに分割されることができる。タイルは、バウンディングボックス情報を有するスライスのグループであり得る。各タイルのバウンディングボックス情報は、タイルインベントリ(又は、タイルパラメータセット、tile parameter set(TPS))に明示できる。タイルは、バウンディングボックス内の他のタイルとオーバーラップ(overlap)することができる。スライスは、独立してエンコーディングが行われるデータの単位であってもよく、独立してデコーディングが行われるデータの単位であってもよい。つまり、スライスは、独立してエンコーディング又はデコーディングできるポイントのセットであってもよい。実施例によって、スライスは、コーディングされたポイントクラウドフレームの一部又は全体を示すシンタックス要素のシリーズであり得る。各スライスは、当該スライスの属するタイルを識別するためのインデックスを含むことができる。
【0137】
空間分割された三次元ブロックは、それぞれ独立的又は非独立的に処理できる。例えば、空間分割された三次元ブロックは、それぞれ独立的又は非独立的にエンコード又はデコードされてもよく、それぞれ独立的又は非独立的に伝送又は受信されてもよい。また、空間分割された三次元ブロックは、それぞれ独立的又は非独立的に量子化又は逆量子化されてもよく、それぞれ独立的又は非独立的に変換又は逆変換されてもよい。また、空間分割された三次元ブロックは、それぞれ独立的又は非独立的にレンダリングされてもよい。例えば、スライス単位又はタイル単位でエンコーディング又はデコーディングが行われてもよい。また、量子化又は逆量子化がタイル別又はスライス別に異なるように行われてもよく、変換又は逆変換されたタイル別又はスライス別に異なるように行われてもよい。
【0138】
このように、ポイントクラウドデータを一つ以上の三次元ブロックに空間分割し、空間分割された三次元ブロックを独立的又は非独立的に処理すると、三次元ブロックを処理する過程がリアルタイムで行われるとともに、当該過程が低遅延に処理されることができる。また、ポイントクラウドデータが占有する三次元空間上のランダムアクセス(random access)と並列エンコーディング又は並列デコーディングが可能となり、エンコーディング又はデコーディング過程で累積するエラーを防止することもできる。
【0139】
図7は、本開示の実施例による空間分割過程を行う伝送装置700の例示を示すブロック図である。図7に示すように、伝送装置700は、空間分割過程を行う空間分割部705、シグナリング処理部710、ジオメトリエンコーダ715、アトリビュートエンコーダ720、カプセル化処理部725及び/又は伝送処理部730を含むことができる。
【0140】
空間分割部705は、バウンディングボックス及び/又はサブバウンディングボックスなどに基づいてポイントクラウドデータを一つ以上の三次元ブロックに分割する空間分割過程を行うことができる。空間分割過程を介して、ポイントクラウドデータが一つ以上のタイル及び/又は一つ以上のスライスに分割されることができる。実施例によって、空間分割過程を介して、ポイントクラウドデータが一つ以上のタイルに分割され、分割された各タイルがさらに一つ以上のスライスに分割されることもできる。
【0141】
シグナリング処理部710は、シグナリング情報を生成及び/又は処理(例えば、エントロピーエンコーディング)してビットストリーム形式で出力することができる。以下では、シグナリング処理部から出力される(シグナリング情報がエンコードされた)ビットストリームを「シグナリングビットストリーム」という。シグナリング情報は、空間分割のための情報又は空間分割に対する情報を含むことができる。すなわち、シグナリング情報は、空間分割部705で行われた空間分割過程に関連した情報を含むことができる。
【0142】
ポイントクラウドデータが一つ以上の三次元ブロックに分割された場合には、ポイントクラウドデータのうち、特定タイル又は特定スライスに該当する一部のポイントクラウドデータをデコードするための情報が必要であり得る。また、ポイントクラウドデータに対する空間的接近(又は、部分的接近)を支援するために、三次元空間領域に関連した情報が必要であり得る。ここで、空間的接近とは、ポイントクラウドデータ全体で必要な一部のポイントクラウドデータのみをファイルから抽出することを意味することができる。シグナリング情報は、一部のポイントクラウドデータをデコードするための情報、空間的接近を支援するための三次元空間領域に関連した情報などを含むことができる。例えば、シグナリング情報は、三次元バウンディングボックス情報、三次元空間領域情報、タイル情報及び/又はタイルインベントリ情報などを含むことができる。
【0143】
シグナリング情報は、空間分割部705、ジオメトリエンコーダ715、アトリビュートエンコーダ720、伝送処理部725、及び/又はカプセル化処理部730から提供されることができる。また、シグナリング処理部710は、図8の受信装置800からフィードバックされるフィードバック情報を空間分割部705、ジオメトリエンコーダ715、アトリビュートエンコーダ720、伝送処理部725及び/又はカプセル化処理部730へ提供することができる。
【0144】
シグナリング情報は、トラック内のサンプル、サンプルエントリ、サンプルグループ、トラックグループ又は別途のメタデータトラックなどに保存されてシグナリングされ得る。実施例によって、シグナリング情報は、シーケンスレベルのシグナリングのためのシーケンスパラメータセット(sequence parameter set、SPS)、ジオメトリコーディング情報のシグナリングのためのジオメトリパラメータセット(geometry parameter set、GPS)、アトリビュートコーディング情報のシグナリングのためのアトリビュートパラメータセット(attribute parameter set、APS)、タイルレベルのシグナリングのためのタイルパラメータセット(tile parameter set、TPS)(又は、タイルインベントリ)などの単位でシグナリングされることができる。また、シグナリング情報は、スライスもしくはタイルなどのコーディングユニット単位でシグナリングされることもできる。
【0145】
一方、三次元ブロックのポジション(ポジション情報)は、ジオメトリエンコーダ715へ出力されることができ、三次元ブロックのアトリビュート(アトリビュート情報)は、アトリビュートエンコーダ720へ出力されることができる。
【0146】
ジオメトリエンコーダ715は、ポジション情報に基づいて八分木を構成し、構成された八分木をエンコードしてジオメトリビットストリームを出力することができる。また、ジオメトリエンコーダ715は、八分木及び/又は近似化された八分木を再構成(復元)してアトリビュートエンコーダ720へ出力することができる。復元された八分木は、復元されたジオメトリであり得る。ジオメトリエンコーダ715は、図3の座標系変換部305、ジオメトリ量子化部310、八分木分析部315、近似化部320、ジオメトリエンコーディング部325及び/又は復元部330が行う動作の全部又は一部を行うことができる。
【0147】
アトリビュートエンコーダ720は、復元されたジオメトリに基づいてアトリビュートをエンコードすることにより、アトリビュートビットストリームを出力することができる。アトリビュートエンコーダ720は、図3のアトリビュート変換部340、RAHT変換部345、LOD生成部350、リフト部355、アトリビュート量子化部360、アトリビュートエンコーディング部365及び/又はカラー変換部335が実行する動作の全部又は一部を行うことができる。
【0148】
カプセル化処理部725は、入力される一つ以上のビットストリームをファイル又はセグメントなどにカプセル化することができる。例えば、カプセル化処理部725は、ジオメトリビットストリーム、アトリビュートビットストリーム、シグナリングビットストリームをそれぞれカプセル化することもでき、或いはジオメトリビットストリーム、アトリビュートビットストリーム、シグナリングビットストリームを多重化してカプセル化することができる。実施例によって、カプセル化処理部725は、TLV(type-length-value)構造のシーケンスで構成されたビットストリーム(G-PCCビットストリーム)をファイルにカプセル化することができる。G-PCCビットストリームを構成するTLV(又は、TLVカプセル化)構造は、ジオメトリビットストリーム、アトリビュートビットストリーム、シグナリングビットストリームなどを含むことができる。実施例によって、G-PCCビットストリームは、カプセル化処理部725で生成されてもよく、伝送処理部730で生成されてもよい。TLV構造又はTLVカプセル化構造については、詳細に後述する。実施例によって、カプセル化処理部725は、図1のカプセル化処理部13が実行する動作の全部又は一部を行うことができる。
【0149】
伝送処理部730は、任意の伝送プロトコルに従ってカプセル化されたビットストリーム又はファイル/セグメントなどの処理を行うことができる。伝送処理部730は、図1を参照して説明した伝送部14及び伝送処理部が実行する動作の全部又は一部を行うことができる。
【0150】
図8は、本開示の実施例による受信装置800の例示を示すブロック図である。受信装置800は、空間分割を実行する伝送装置700の動作に対応する動作を行うことができる。図8に示すように、受信装置800は、受信処理部805、デカプセル化処理部810、シグナリング処理部815、ジオメトリデコーダ820、アトリビュートエンコーダ825及び/又は後処理部830を含むことができる。
【0151】
受信処理部805は、G-PCCビットストリームがカプセル化されたファイル/セグメント、G-PCCビットストリーム又はビットストリームを受信し、これらを対象に伝送プロトコルによる処理を行うことができる。受信処理部805は、図1を参照して説明した受信部21及び受信処理部が実行する動作の全部又は一部を行うことができる。
【0152】
デカプセル化処理部810は、カプセル化処理部725が実行する動作の逆過程を行うことにより、G-PCCビットストリームを取得することができる。デカプセル化処理部810は、ファイル/セグメントをデカプセル化してG-PCCビットストリームを取得することができる。例えば、デカプセル化処理部810は、シグナリングビットストリームを取得してシグナリング処理部815へ出力することができ、ジオメトリビットストリームを取得してジオメトリデコーダ820へ出力することができ、アトリビュートビットストリームを取得してアトリビュートデコーダ825へ出力することができる。デカプセル化処理部810は、図1のデカプセル化処理部22が実行する動作の全部又は一部を行うことができる。
【0153】
シグナリング処理部815は、シグナリング処理部710が実行する動作の逆過程を行うことにより、シグナリング情報をパーシング及びデコードすることができる。シグナリング処理部815は、シグナリングビットストリームからシグナリング情報をパーシング及びデコードすることができる。シグナリング処理部815は、デコードされたシグナリング情報をジオメトリデコーダ820、アトリビュートデコーダ825及び/又は後処理部830へ提供することができる。
【0154】
ジオメトリデコーダ820は、ジオメトリエンコーダ715が実行する動作の逆過程を行うことにより、ジオメトリビットストリームからジオメトリを復元することができる。ジオメトリデコーダ820は、シグナリング情報(ジオメトリに関連したパラメータ)に基づいてジオメトリを復元することができる。復元されたジオメトリは、アトリビュートデコーダ825へ提供されることができる。
【0155】
アトリビュートデコーダ825は、アトリビュートエンコーダ720が実行する動作の逆過程を行うことにより、アトリビュートビットストリームからアトリビュートを復元することができる。アトリビュートデコーダ825は、シグナリング情報(アトリビュートに関連したパラメータ)と、復元されたジオメトリに基づいてアトリビュートを復元することができる。
【0156】
後処理部830は、復元されたジオメトリと復元されたアトリビュートに基づいてポイントクラウドデータを復元することができる。ポイントクラウドデータの復元は、復元されたジオメトリと復元されたアトリビュートとを互いにマッチングさせる過程によって行われることができる。実施例によって、後処理部830は、復元されたポイントクラウドデータがタイル及び/又はスライス単位である場合に、シグナリング情報に基づいて伝送装置700の空間分割過程の逆過程を行うことにより、ポイントクラウドデータのバウンディングボックスを復元することができる。実施例によって、後処理部830は、バウンディングボックスが空間分割過程を介して複数のタイル及び/又は複数のスライスに分割された場合に、シグナリング情報に基づいて一部のスライス及び/又は一部のタイルを結合することにより、バウンディングボックスの一部を復元することもできる。ここで、バウンディングボックスの復元に用いられる一部のスライス及び/又は一部のタイルは、空間的接近を所望する三次元空間領域に関連したスライス及び/又は一部のタイルであり得る。
【0157】
TLV構造
【0158】
前述したように、G-PCCビットストリームは、TLV構造のシーケンスからなるポイントクラウドデータのビットストリームを意味することができる。TLV構造は、「TLVカプセル化構造」、「G-PCC TLVカプセル化構造」、又は「G-PCC TLV構造」とも称される。
【0159】
TLVカプセル化構造に対する一例が図9に示されており、TLVカプセル化のシンタックス構造に対する一例が図10aに示されており、TLVカプセル化構造のペイロードタイプに対する一例が図10bに示されている。各TLVカプセル化構造は、TLVタイプ(TLV TYPE)、TLV長さ(TLV LENGTH)、及び/又はTLVペイロード(TLV PAYLOAD)で構成できる。TLVタイプは、TLVペイロードのタイプ情報であってもよく、TLV長さは、TLVペイロードの長さ情報であってもよく、TLVペイロードは、ペイロード(又は、ペイロードバイト)であってもよい。図10aに例示されたTLVカプセル化のシンタックス構造(tlv_encapsulation())を見ると、tlv_typeは、TLVペイロードのタイプ情報を示すことができ、tlv_num_payload_bytesは、TLVペイロードの長さ情報を示すことができる。また、tlv_payload_byte[i]は、TLVペイロードを示すことができる。tlv_payload_byte[i]は、tlv_num_payload_bytesの値だけシグナリングされることができ、iは、0から(tlv_num_payload_bytes-1)になるまで1ずつ増加することができる。
【0160】
TLVペイロードは、SPS、GPS、一つ以上のAPS、タイルインベントリ、ジオメトリスライス、一つ以上のアトリビュートスライス、及び一つ以上のメタデータスライスを含むことができる。実施例によって、各TLVカプセル化構造のTLVペイロードは、TLVペイロードのタイプ情報に応じてSPS、GPS、一つ以上のAPS、タイルインベントリ、ジオメトリスライス、一つ以上のアトリビュートスライス、及び一つ以上のメタデータスライスのうちの一つを含むこともできる。TLVペイロードのタイプ情報を介して、TLVペイロードに含まれるデータが区分されることができる。例えば、図10bに示すように、tlv_typeの値が0であれば、TLVペイロードに含まれるデータがSPSであることを指示し、tlv_typeの値が1であれば、TLVペイロードに含まれるデータがGPSであることを指示することができる。tlv_typeの値が2であれば、TLVペイロードに含まれるデータがジオメトリスライスであることを指示し、tlv_typeの値が3であれば、TLVペイロードに含まれるデータがAPSであることを指示することができる。tlv_typeの値が4であれば、TLVペイロードに含まれるデータがアトリビュートスライスであることを指示し、tlv_typeの値が5であれば、TLVペイロードに含まれるデータがタイルインベントリ(又はタイルパラメータセット)であることを指示することができる。tlv_typeの値が6であれば、TLVペイロードに含まれるデータがframe boundary markerであることを指示し、tlv_typeの値が7であれば、TLVペイロードに含まれるデータがメタデータスライスであることを指示することができる。TLVカプセル化構造のペイロードは、HEVC(High Efficiency Video Coding)NAL(Network Abstraction Layer)ユニットのフォーマットに従うことができる。
【0161】
カプセル化/デカプセル化
【0162】
このようなTLVカプセル化構造は、本明細書で言及された伝送部、伝送処理部、カプセル化部で生成できる。TLVカプセル化構造で構成されたG-PCCビットストリームは、そのまま受信装置へ伝送されるか、或いはカプセル化されて受信装置へ伝送されることもできる。例えば、カプセル化処理部725は、TLVカプセル化構造からなるG-PCCビットストリームをファイル/セグメント形式にカプセル化して伝送することができる。デカプセル化処理部810は、カプセル化されたファイル/セグメントをデカプセル化してG-PCCビットストリームを取得することができる。
【0163】
実施例によって、G-PCCビットストリームは、ISOBMFF基盤のファイルフォーマットにカプセル化できる。この場合、G-PCCビットストリームは、ISOBMFFファイル内のシングルトラック(track)又はマルチプルトラックに保存できる。ここで、ファイル内のシングルトラック又はマルチプルトラックは、「トラック」又は「G-PCCトラック」とも称される。ISOBMFF基盤のファイルは、コンテナ、コンテナファイル、メディアファイル、G-PCCファイルなどとも称される。具体的に、ファイルは、ftyp、moov、mdatと称することが可能なボックス及び/又は情報などで構成できる。
【0164】
ftypボックス(file type box、ファイルタイプボックス)は、当該ファイルに対するファイルタイプ又はファイル互換性関連情報を提供することができる。受信装置は、ftypボックスを参照して当該ファイルを区分することができる。mdatボックスは、メディアデータボックス(media data box)とも呼び、実際メディアデータを含むことができる。実施例によって、ジオメトリスライス(又は、コーディングされたジオメトリビットストリーム)、ゼロ以上のアトリビュートスライス(又は、コーディングされたアトリビュートビットストリーム)は、ファイル内のmdatボックスのサンプルに含まれることができる。ここで、サンプルは、G-PCCサンプルと称されることがある。moovボックスは、movieボックスとも呼び、当該ファイルのメディアデータに対するメタデータを含むことができる。例えば、moovボックスは、当該メディアデータのデコーディング及び再生に必要な情報を含むことができ、当該ファイルのトラック及びサンプルに関する情報を含むことができる。moovボックスは、全てのメタデータのためのコンテナの役割を果たすことができる。moovボックスは、メタデータ関連ボックスのうちの最上位レイヤのボックスであり得る。
【0165】
実施例によって、moovボックスは、ファイルのトラックに関連した情報を提供するトラック(trak)ボックスを含むことができ、trakボックスは、当該トラックのメディア情報を提供するメディア(mdia)ボックス(mediabox)、及び当該トラックと当該トラックに対応するファイルのサンプルを連結(reference)するためのトラックレファレンスコンテナ(tref)ボックスを含むことができる。メディアボックス(MediaBox)は、当該メディアデータの情報を提供するメディア情報コンテナ(minf)ボックスと、ストリームのタイプを指示するハンドラ(hdlr)ボックス(HandlerBox)とを含むことができる。minfボックスは、mdatボックスのサンプルに関連したメタデータを提供するサンプルテーブル(stbl)ボックスを含むことができる。stblボックスは、使用されたコーディングタイプ(coding type)に対する情報と当該コーディングタイプのために必要な初期情報(initialization information)を提供するサンプルディスクリプション(stsd)ボックスを含むことができる。実施例によって、サンプルディスクリプション(stsd)ボックスは、トラックのためのサンプルエントリ(sample entry)を含むことができる。実施例によって、SPS、GPS、APS、タイルインベントリなどのシグナリング情報(又は、メタデータ)は、ファイル内のmoovボックスのサンプルエントリ又はmdatボックスのサンプルに含まれることができる。
【0166】
G-PCCトラックは、ジオメトリスライス(又は、コーディングされたジオメトリビットストリーム)又はアトリビュートスライス(又は、コーディングされたアトリビュートビットストリーム)、又はジオメトリスライスとアトリビュートスライスの両方をキャリーするボリュメトリックビジュアルトラック(volumetric visual track)と定義されることができる。実施例によって、ボリュメトリックビジュアルトラックは、メディアボックス(MediaBox)のハンドラボックス(HandlerBox)内のボリュメトリックビジュアルメディアハンドラタイプ(volume visual media handler type)‘volv’及び/又はメディアボックス(MediaBox)のminfボックス内のボリュメトリックビジュアルメディアヘッダ(volumetric visual media header、vvhd)によって識別できる。minfボックスは、メディア情報コンテナ又はメディア情報ボックスとも称される。minfボックスはメディアボックス(MediaBox)に含まれ、メディアボックス(MediaBox)はトラックボックスに含まれ、トラックボックスはファイルのmoovボックスに含まれることができる。シングルボリュメトリックビジュアルトラック又はマルチプルボリュメトリックビジュアルトラックは、ファイルに存在することができる。
【0167】
ボリュメトリックビジュアルメディアヘッダボックス(VolumetricVisualMediaHeaderBox)
【0168】
ボリュメトリックビジュアルトラックは、実際データの伝送のためにボリュメトリックビジュアルサンプル(VolumetricVisualSample)を使用することができる。ボリュメトリックビジュアルサンプルエントリは、サンプルエントリ又はG-PCCサンプルエントリと呼ばれることがあり、ボリュメトリックビジュアルサンプルは、サンプルまたはG-PCCサンプルと呼ばれることがある。シングルボリュメトリックビジュアルトラックは、シングルトラックまたはG-PCCシングルトラックと呼ばれることがあり、マルチプルボリュメトリックビジュアルトラックは、マルチプルトラック又はマルチプルG-PCCトラックと呼ばれることがある。サンプルのグループ化、トラックのグループ化、G-PCCビットストリームのシングルトラックカプセル化、又はG-PCCビットストリームのマルチプルトラックカプセル化などに関連したシグナリング情報、又は空間的接近を支援するためのシグナリング情報がボックスないしフルボックス(FullBox)の形態でサンプルエントリに追加できる。シグナリング情報は、GPCCエントリ情報ボックス(GPCCEntryInfoBox)、GPCCコンポーネントタイプボックス(GPCCComponentTypeBox)、キュービック領域情報ボックス(CubicRegionInfoBox)、3Dバウンディングボックス情報ボックス(3DBoundingBoxInfoBox)、又はタイルインベントリ(TileInventoryBox)の少なくとも一つを含むことができる。
【0169】
GPCCエントリ情報構造
【0170】
G-PCCエントリ情報ボックス(GPCCEntryInfoBox)のシンタックス構造は、次の通りに定義できる。
【0171】
class GPCCEntryInfoBox extends Box(‘gpsb’) {
【0172】
GPCCEntryInfoStruct();
【0173】
【0174】
上記のシンタックス構造において、‘gpsb’のサンプルエントリタイプを有するGPCCEntryInfoBoxは、GPCCEntryInfoStruct()を含むことができる。GPCCEntryInfoStruct()のシンタックスは、次の通りに定義できる。
【0175】
aligned(8) class GPCCEntryInfoStruct {
【0176】
unsigned int(1) main_entry_flag;
【0177】
unsigned int(1) dependent_on;
【0178】
if(dependent_on){ //non-entry
【0179】
unsigned int(16) dependency_id;
【0180】
【0181】
【0182】
GPCCEntryInfoStruct()は、main_entry_flagとdependent_onを含むことができる。main_entry_flagは、G-PCCビットストリームをデコードするためのエントリポイント(entry point)であるか否かを示すことができる。dependent_onは、そのデコーディングが他のものによって変わるかを指示する(dependent_on indicates its decoding is dependent on others)。もし、dependent_onがサンプルエントリに存在する場合、dependent_onは、トラック内のサンプルのデコーディングが他のトラックに従属するということを指示することができる。dependent_onの値が1であれば、GPCCEntryInfoStruct()は、dependency_idをさらに含むことができる。dependency_idは、関連したデータをデコードするためのトラックの識別子を指示することができる。dependency_idがサンプルエントリに存在する場合、dependency_idは、トラック内のサンプルのデコーディングが従属するG-PCCサブビットストリームをキャリーするトラックの識別子を表すことができる。もし、dependency_idがサンプルグループに存在する場合、dependency_idは、関連したサンプルのデコーディングが従属するG-PCCサブビットストリームをキャリーするサンプルの識別子を表すことができる。
【0183】
G-PCCコンポーネント情報の構造
【0184】
G-PCCコンポーネントタイプボックス(GPCCComponentTypeBox)のシンタックス構造は、次の通りに定義できる。
【0185】
aligned(8) class GPCCComponentTypeBox extends FullBox(‘gtyp’、version=0,0){
【0186】
GPCCComponentTypeStruct();
【0187】
【0188】
‘gtyp’のサンプルエントリタイプを有するGPCCComponentTypeBoxは、GPCCComponentTypeStruct()を含むことができる。GPCCComponentTypeStruct()のシンタックスは、次の通りに定義できる。
【0189】
aligned(8) class GPCCComponentTypeStruct {
【0190】
unsigned int(8) numOfComponents;
【0191】
for(i=0;i<numOfComponents;i++) {
【0192】
unsigned int(8) gpcc_type;
【0193】
if(gpcc_type==4)
【0194】
unsigned int(8)AttrIdx;
【0195】
【0196】
// additional fields
【0197】
【0198】
numOfComponentsは、当該GPCCComponentTypeStructにシグナリングされたG-PCCコンポーネントの数を指示することができる。gpcc_typeは、numOfComponentsの値だけ繰り返される繰り返し文によってGPCCComponentTypeStructに含まれることができる。この繰り返し文は、iが0から(numOfComponents-1)になるまで1ずつ増加しながら繰り返されることができる。gpcc_typeは、G-PCCコンポーネントのタイプを指示することができる。例えば、gpcc_typeの値が2であれば、ジオメトリコンポーネントを指示し、4であれば、アトリビュートコンポーネントを指示することができる。gpcc_typeの値が4、すなわちアトリビュートコンポーネントを指示する場合、当該繰り返し文は、AttrIdxをさらに含むことができる。AttrIdxは、SPS()でシグナリングされたアトリビュートの識別子を指示することができる。G-PCCコンポーネントタイプボックス(GPCCComponentTypeBox)は、マルチプルトラックのためのサンプルエントリに含まれることができる。G-PCCコンポーネントタイプボックス(GPCCComponentTypeBox)がG-PCCビットストリームの一部または全部をキャリーするトラックのサンプルエントリに存在すると、GPCCComponentTypeStruct()は、各トラックによってキャリーされる一つ以上のG-PCCコンポーネントタイプを指示することができる。GPCCComponentTypeStruct()を含むGPCCComponentTypeBox又はGPCCComponentTypeStruct()は、G-PCCコンポーネント情報と呼ばれることがある。
【0199】
サンプルグループ
【0200】
本開示で言及されたカプセル化処理部は、一つ以上のサンプルをグループ化してサンプルグループを生成することができる。本開示で言及されたカプセル化処理部、メタデータ処理部又はシグナリング処理部は、サンプルグループに連関したシグナリング情報をサンプル、サンプルグループ又はサンプルエントリにシグナリングすることができる。すなわち、サンプルグループに連関したサンプルグループ情報は、サンプル、サンプルグループ又はサンプルエントリに追加されることができる。サンプルグループ情報は、3Dバウンディングボックスサンプルグループ情報、3D領域サンプルグループ情報、3Dタイルサンプルグループ情報、3Dタイルインベントリサンプルグループ情報などであり得る。
【0201】
トラックグループ
【0202】
本開示で言及されたカプセル化処理部は、一つ以上のトラックをグループ化してトラックグループを生成することができる。本開示で言及されたカプセル化処理部、メタデータ処理部又はシグナリング処理部は、トラックグループに連関したグナリング情報をサンプル、トラックグループ又はサンプルエントリにシグナリングすることができる。すなわち、トラックグループに連関したトラックグループ情報は、サンプル、トラックグループ又はサンプルエントリに追加されることができる。トラックグループ情報は、3Dバウンディングボックストラックグループ情報、ポイントクラウドコンポジショントラックグループ情報、空間領域トラックグループ情報、3Dタイルトラックグループ情報、3Dタイルインベントリトラックグループ情報などであり得る。
【0203】
サンプルエントリ
【0204】
図11は、シングルトラックを含むISOBMFF基盤ファイルを説明するための図である。図11の(a)は、シングルトラックを含むISOBMFF基盤ファイルのレイアウトに対する一例を示し、図11の(b)は、G-PCCビットストリームがファイルのシングルトラックに保存されるとき、mdatボックスのサンプル構造に対する一例を示す。図12は、マルチプルトラックを含むISOBMFF基盤ファイルを説明するための図である。図12の(a)は、マルチプルトラックを含むISOBMFF基盤ファイルのレイアウトに対する一例を示し、図12の(b)は、G-PCCビットストリームがファイルのシングルトラックに保存されるときのmdatボックスのサンプル構造に対する一例を示す。
【0205】
ファイルのmoovボックスに含まれるstsdボックス(SampleDescriptionBox)は、G-PCCビットストリームを保存するシングルトラックのためのサンプルエントリを含むことができる。SPS、GPS、APS、タイルインベントリが、ファイル内のmoovボックスのサンプルエントリ又はmdatボックスのサンプルに含まれることができる。また、ジオメトリスライス、ゼロ以上のアトリビュートスライスがファイル内のmdatボックスのサンプルに含まれることができる。G-PCCビットストリームがファイルのシングルトラックに保存されるとき、各サンプルは、マルチプルG-PCCコンポーネントを含むことができる。すなわち、各サンプルは、一つ以上のTLVのカプセル化構造で構成されることができる。シングルトラックのサンプルエントリは、次の通りに定義できる。
【0206】
Sample Entry Type: ‘gpe1’,‘gpeg’
【0207】
Container: SampleDescriptionBox
【0208】
Mandatory: A‘gpe1’ or ‘gpeg’ sample entry is mandatory
【0209】
Quantity: One or more sample entries may be present
【0210】
サンプルエントリタイプ‘gpel’又は‘gpeg’は必須的であり、一つ以上のサンプルエントリが存在することができる。G-PCCトラックは、‘gpel’又は‘gpeg’のサンプルエントリタイプを有するVolumetricVisualSampleEntryを使用することができる。G-PCCトラックのサンプルエントリは、G-PCCデコーダコンフィギュレーションボックス(GPCCConfigurationBox)を含むことができ、G-PCCデコーダコンフィギュレーションボックスは、G-PCCデコーダコンフィギュレーションレコード(GPCCDecoderConfigurationRecord())を含むことができる。GPCCDecoderConfigurationRecord())は、configurationVersion、profile_idc、profile_compatibility_flags、level_idc、numOfSetupUnitArrays、SetupUnitType、completeness、numOfSepupUnit、setupUnitのうちの少なくとも一つを含むことができる。GPCCDecoderConfigurationRecord()に含まれたsetupUnit arrayフィールドは、一つのSPSを含むTLVカプセル化構造を含むことができる。
【0211】
サンプルエントリタイプが‘gpe1’である場合、すべてのパラメータセット、例えば、SPS、GPS、APS、タイルインベントリがsetupUnitsのアレイに含まれることができる。サンプルエントリタイプが‘gpeg’であれば、上記のpらメータセットは、setupUnitsのアレイ(すなわち、サンプルエントリ)に含まれるか、或いは当該ストリーム(すなわち、サンプル)に含まれることができる。‘gpe1’のサンプルエントリタイプを有するG-PCCサンプルエントリ(GPCCSampleEntry)のシンタックスに対する一例は、次の通りである。
【0212】
aligned(8) class GPCCSampleEntry()
【0213】
extends VolumetricVisualSampleEntry(‘gpe1’){
【0214】
GPCCConfigurationBox config; //mandatory
【0215】
3DBoundingBoxInfoBox();
【0216】
CubicRegionInfoBox();
【0217】
TileInventoryBox();
【0218】
【0219】
‘gpe1’のサンプルエントリタイプを有するG-PCCサンプルエントリ(GPCCSampleEntry)は、GPCCConfigurationBox、3DBoundingBoxInfoBox()、CubicRegionInfoBox()、及びTileInventoryBox()を含むことができる。3DBoundingBoxInfoBox()は、当該トラックでキャリーされるサンプルに関連したポイントクラウドデータの3Dバウンディングボックス情報を指示することができる。CubicRegionInfoBox()は、当該トラック内のサンプルでキャリーされるポイントクラウドデータの一つ以上の空間領域情報を指示することができる。TileInventoryBox()は、当該トラック内のサンプルでキャリーされたポイントクラウドデータの3Dタイルインベントリ情報を指示することができる。
【0220】
図11の(b)に示すように、サンプルは、ジオメトリスライスを含むTLVカプセル化構造が含まれることができる。また、サンプルは、一つ以上のパラメータセットを含むTLVカプセル化構造を含むことができる。また、サンプルは、一つ以上のアトリビュートスライスを含むTLVカプセル化構造を含むことができる。
【0221】
図12の(a)に示すように、G-PCCビットストリームがISOBMFF基盤のファイルのマルチプルトラックでキャリーされる場合に、各ジオメトリスライス又はアトリビュートスライスは、個別トラック(indivisual track)にマッピングされることができる。例えば、ジオメトリスライスは、トラック1(track1)にマッピングされることができ、アトリビュートスライスは、トラック2(track2)にマッピングされることができる。ジオメトリスライスをキャリーするトラック(track1)は、ジオメトリトラック又はG-PCCジオメトリトラックと呼ばれることがあり、アトリビュートスライスをキャリーするトラック(track2)は、アトリビュートトラック又はG-PCCアトリビュートトラックと呼ばれることがある、そして、ジオメトリトラックは、ジオメトリスライスをキャリーするボリュメトリックビジュアルトラックとして定義でき、アトリビュートトラックは、アトリビュートスライスをキャリーするボリュメトリックビジュアルトラックとして定義できる。
【0222】
ジオメトリスライスとアトリビュートスライスの両方を含むG-PCCビットストリームの一部をキャリーするトラックを、多重化されたトラック(multilexed track)とも呼ぶ。ジオメトリスライスとアトリビュートスライスが個別トラック(Separate tracks)に保存される場合に、トラック内の各サンプルは、シングルG-PCCコンポーネントのデータをキャリーする少なくとも一つのTLVカプセル化構造を含むことができる。この場合、各サンプルは、ジオメトリとアトリビュートの両方を含まず、かつマルチプルアトリビュートを含まなくてもよい。G-PCCビットストリームのマルチトラックカプセル化は、G-PCCプレーヤがG-PCCコンポーネントのうちの一つを効果的(effectively)にアクセスすることを可能にすることができる。G-PCCビットストリームがマルチプルトラックでキャリーされるとき、G-PCCプレーヤがG-PCCコンポーネントのうちの一つを効果的にアクセスするために、次の条件が満たされる必要がある。
【0223】
a)TLVカプセル化構造からなるG-PCCビットストリームがマルチプルトラックでキャリーされるとき、ジオメトリビットストリーム(又は、ジオメトリスライス)をキャリーするトラックがエントリポイントになる。
【0224】
b)サンプルエントリにおいて、当該トラックに含まれたストリームの役割(role)を指示するために新しいボックスが追加される。新しいボックスは、前述したG-PCCコンポーネントタイプボックス(GPCCComponentTypeBox)であり得る。すなわち、GPCCComponentTypeBoxがマルチプルトラックのためのサンプルエントリに含まれることができる。
【0225】
c)G-PCCジオメトリビットストリームのみを運搬するトラックにおいてG-PCCアトリビュートビットストリームを運搬するトラックとしてトラック参照が導入される。
【0226】
GPCCComponentTypeBoxは、GPCCComponentTypeStruct()を含むことができる。GPCCComponentTypeBoxがG-PCCビットストリームの一部又は全部をキャリーするトラックのサンプルエントリに存在すれば、GPCCComponentTypeStruct()は、各トラックによってキャリアーされる一つ以上のG-PCCコンポーネントのタイプ(例えば、ジオメトリ、アトリビュート)を指示することができる。例えば、GPCCComponentTypeStruct()に含まれたgpcc_typeフィールドの値が2であれば、ジオメトリコンポーネントを指示し、4であれば、アトリビュートコンポーネントを指示することができる。また、gpcc_typeフィールドの値が4、すなわち、アトリビュートコンポーネントを指示すれば、SPS()にシグナリングされたアトリビュートの識別子を指示するAttrIdxフィールドをさらに含むことができる。
【0227】
G-PCCビットストリームがマルチプルトラックでキャリーされる場合に、サンプルエントリのシンタックスは、次の通りに定義できる。
【0228】
Sample Entry Type:‘gpe1’、‘gpeg’、‘gpc1’ or ‘gpcg’
【0229】
Container:SampleDescriptionBox
【0230】
Mandatory:‘gpc1’、‘gpcg’ sample entry is mandatory
【0231】
Quantity:One or more sample entries may be present
【0232】
サンプルエントリタイプ‘gpc1’、‘gpcg’、‘gpc1’又は‘gpcg’は必須であり、一つ以上のサンプルエントリが存在することができる。マルチプルトラック(例えば、ジオメトリ又はアトリビュートトラック)は、‘gpc1’、‘gpcg’、‘gpc1’又は‘gpcg’のサンプルエントリタイプを有するVolumetricVisualSampleEntryを使用することができる。‘gpe1’サンプルエントリにおいて、すべてのパラメータセットは、setupUnitアレイに存在することができる。‘gpeg’サンプルエントリにおいて、パラメータセットが当該アレイ又はストリームに存在することができる。‘gpe1’又は‘gpeg’サンプルエントリにおいて、GPCCComponentTypeBoxが存在しなければならないことがある。‘gpc1’サンプルエントリにおいて、SPS、GPS及びタイルインベントリは、G-PCCジオメトリビットストリームを伝達するトラックのSetupUnitアレイに存在することができる。全ての関連APSは、G-PCCアトリピュートビットストリームを伝達するトラックのSetupUnitアレイに存在することができる。‘gpcg’サンプルエントリにおいて、SPS、GPS、APS又はタイルインベントリが当該アレイ又はストリームに存在することができる。‘gpc1’又は‘gpcg’サンプルアレイにおいて、GPCCComponentTypeBoxが存在しなければならないことがある。
【0233】
G-PCCのサンプルエントリのシンタックスに対する一例は、次の通りである。
【0234】
aligned(8) class GPCCSampleEntry()
【0235】
extends VolumetricVisualSampleEntry(codingname) {
【0236】
GPCCConfigurationBox config;//mandatory
【0237】
GPCCComponentTypeBox type;//optional
【0238】
【0239】
ベースクラスVolumetricVisualSampleEntryのcompressorname、すなわち、codingnameは、推奨される「\013GPCCコーディング」値と共に使用される圧縮機の名前を指示することができる。「\013GPCCコーディング」において、一番目のバイト(\013で表示される8進数13又は10進数11)は、リメイニングバイトの数であって、残りの文字列(string)のバイト数を示すことができる。congifは、G-PCCデコーダコンフィギュレーション情報を含むことができる。infoは、各トラックでキャリーされるG-PCCコンポーネント情報を表すことができる。infoは、トラックでキャリーされるコンポーネントタイルを示すことができ、また、G-PCCアトリビュートトラックでキャリーされるG-PCCコンポーネントのアトリビュート名、インデックス、及びアトリビュートタイプを示すことができる。
【0240】
サンプルフォーマット
【0241】
G-PCCビットストリームがシングルトラックに保存される場合に、サンプルフォーマットに対するシンタックスは、次の通りである。
【0242】
aligned(8) class GPCCSample
【0243】
【0244】
unsigned int GPCCLength=sample_size;//Size of Sample
【0245】
for(i=0;i<GPCCLength;)//to end of the sample
【0246】
【0247】
tlv_encapsulation gpcc_unit;
【0248】
i+=(1+4)+gpcc_unit.tlv_num_payload_bytes;
【0249】
【0250】
【0251】
上記のシンタックスにおいて、各サンプル(GPCCSample)は、シングルポイントクラウドフレームに該当し、同じプレゼンテーションタイム(same presentation time)に属する一つ以上のTLVカプセル化構造で構成されることができる。各TLVカプセル化構造は、シングルタイプのTLVペイロードを含むことができる。これに加えて、一つのサンプルは、独立的(例えば、シンクサンプル)であり得る。GPCCLengthは、当該サンプルの長さを示し、gpcc_unitは、シングルG-PCCコンポーネント(例えば、ジオメトリスライス)を含むTLVカプセル化構造のインスタンスを含むことができる。
【0252】
G-PCCビットストリームがマルチプルトラックに保存される場合に、各サンプルは、単一ポイントクラウドフレームに当該することができ、互いに異なるトラックで同じポイントクラウドフレームに寄与するサンプルは、同じプレゼンテーション時間を有しなければならないことがある。各サンプルは、サンプルエントリのGPCCComponentInfoBoxに表示されたG-PCCコンポーネントの一つ以上のG-PCCユニットと、パラメータセット又はタイルインベントリのうちの一つを運搬する0個以上のG-PCCユニットで構成されなければならない。パラメータセット又はタイルインベントリを含むG-PCCユニットがサンプルに存在する場合、当該F-PCCサンプルは、G-PCCコンポーネントのG-PCCユニットの前に現れなければならない。各サンプルは、アトリビュートデータユニットを含む一つ以上のG-PCCユニット、パラメータセットをキャリーする0個以上のG-PCCユニットを含むことができる。G-PCCビットストリームがマルチプルトラックに保存される場合に、サンプルフォーマットに対するシンタックス及びセマンティックスは、前述したG-PCCビットストリームがシングルトラックに保存される場合に対するシンタックス及びセマンティックスと同一であり得る。
【0253】
サブサンプル
【0254】
受信装置では、ジオメトリスライスが先にデコードされ、デコーディングジオメトリに基づいてアトリビュートスライスがデコードされる必要があるため、各サンプルがマルチプルTLVカプセル化構造で構成される場合に、当該サンプルにおいて各TLVカプセル化構造をアクセスする必要がある。また、一つのサンプルがマルチプルTLVカプセル化構造で構成されると、マルチプルTLVカプセル化構造のそれぞれは、サブサンプルとして保存されることができる。サブサンプルは、G-PCCサブサンプルと呼ばれることがある。例えば、一つのサンプルがパラメータセットを含むパラメータセットTLVカプセル化構造、ジオメトリスライスを含むジオメトリTLVカプセル化構造、及びアトリビュートスライスを含むアトリビュートTLVカプセル化構造を含むならば、パラメータセットTLVカプセル化構造、ジオメトリTLVカプセル化構造、及びアトリビュートTLVカプセル化構造は、それぞれサブサンプルとして保存できる。この場合、当該サンプルにおいて、各G-PCCコンポーネントにアクセスすることを可能にするために、当該サブサンプルでキャリーされるTLVカプセル化構造のタイプが必要であり得る。
【0255】
G-PCCビットストリームがシングルトラックに保存される場合に、G-PCCサブサンプルは、ただ一つのTLVカプセル化構造を含むことができる。一つのSubSampleInformationBoxがmoovボックスのサンプルテーブルボックス(SampleTableBox、stbl)に存在するか、或いはムービーフラグメントボックス(MovieFragmentBox、moof)それぞれのトラックフラグメントボックス(TrackFragmentBox、traf)に存在することができる。もし、SubSampleInformationBoxが存在すれば、TLVカプセル化構造の8ビットタイプ値がSubSampleInformationBox内のサブサンプルエントリの32-bit codec_specific_parameters fieldに含まれることができる。もし、TLVカプセル化構造がアトリビュートペイロードを含むならば、アトリビュートインデックスの6ビット値がSubSampleInformationBox内のサブサンプルエントリの32-bit codec_specific_parameters fieldに含まれることができる。実施例によって、各サブサンプルのタイプは、SubSampleInformationBox内のサブサンプルエントリのcodec_secific_parameters fieldに含まれることができる。実施例によって、各サブサンプルのタイプは、SubSampleInformationBox内のサブサンプルエントリのcodec_specific_parameters fieldをパーシングすることにより識別できる。SubSampleInformaionBoxのcodec_specific_parametersは、次の通りに定義できる。
【0256】
if(flags==0) {
【0257】
unsigned int(8) PayloadType;
【0258】
if(PayloadType==4){//attribute payload
【0259】
unsigned int(6) AttrIdx;
【0260】
bit(18) reserved=0;
【0261】
【0262】
else
【0263】
bit(24) reserved=0;
【0264】
} else if(flags==1){
【0265】
unsigned int(1) tile_data;
【0266】
bit(7) reserved=0;
【0267】
if (tile_data)
【0268】
unsigned int(24) tile_id;
【0269】
else
【0270】
bit(24) reserved=0;
【0271】
【0272】
上記のサブサンプルシンタックスにおいて、payloadTypeは、当該サブサンプル内のTLVカプセル化構造のtlv_typeを指示することができる。例えば、payloadTypeの値が4であれば、アトリビュートスライス(すなわち、アトリビュートスライス)を指示することができる。attrIdxは、当該サブサンプル内のアトリビュートペイロードを含むTLVカプセル化構造のアトリビュート情報の識別子を指示することができる。attrIdxは、当該サブサンプル内のアトリビュートペイロードを含むTLVカプセル化構造のash_attr_sps_attr_idxと同一であり得る。tile_dataは、サブサンプルが一つのタイル又は他のタイルを含むか否かを示すことができる。tile_dataの値が1であれば、サブサンプルが一つのG-PCCタイルに対応するジオメトリデータユニット又はアトリビュートデータユニットを含むTLVカプセル化構造を含むということを示すことができる。tile_dataの値が0であれば、サブサンプルが各パラメータセット、タイルインベントリ又はフレームバウンダリマーカーを含むTLVカプセル化構造を含むということを示すことができる。tile_idは、サブサンプルがタイルインベントリ内で関連するG-PCCバージョンのインデックスを示すことができる。
【0273】
G-PCCビットストリームがマルチプルトラックに保存される場合に(ISOBMFFにおいて、G-PCCデータのマルチプルトラックカプセル化の場合に)サブサンプルが存在すると、SampleTableBox又は各MovieFragmentBoxのTrackFragmentBoxでフラグ(flag)が1であるSubSampleInformationBoxのみ存在しなければならないことがある。G-PCCビットストリームがマルチプルトラックに保存される場合に、シンタックス要素とセマンティックスは、G-PCCビットストリームがシングルトラックに保存される場合のシンタックス要素とセマンティックにおいてflag==1の場合と同一であり得る。
【0274】
トラック間の参照
【0275】
G-PCCビットストリームがマルチプルトラックでキャリーされる場合に(すなわち、G-PCCジオメトリビットストリームとアトリビュートビットストリームとが互いに異なる(分離された)トラックでキャリーされる場合に)、トラック間を連結するために、トラック参照ツールが使用できる。一つのTrackReferenceTypeBoxesがG-PCCトラックのTrackBox内のTrackReferenceBoxに追加されることができる。TrackReferenceTypeBoxは、G-PCCトラックが参照するトラックを指定するtrack_IDsのアレイを含むことができる。
【0276】
実施例によって、本開示は、G-PCCデータ(以下では、G-PCCビットストリーム、カプセル化されたG-PCCビットストリーム、又はG-PCCファイルということがある)の運搬(carriage)に時間スケーラビリティ(temporal scalability)を支援するための装置及び方法を提供することができる。また、本開示は、G-PCCビットストリームをファイル内の単一トラックに効率よく保存するか、或いは複数のトラックに分割して保存し、これに対するシグナリングを提供するポイントクラウドコンテンツサービス提供のための装置及び方法を提案することができる。また、本開示は、保存されたG-PCCビットストリームに対する効率的な接近を支援することができるようにするためのファイル保存技法を処理する装置及び方法を提案する。
【0277】
時間スケーラビリティ(temporal scalability)
【0278】
時間スケーラビリティは、独立してコーディングされたフレームの一つ以上のサブセットを抽出する可能性を許容する機能を意味することができる。また、時間スケーラビリティは、G-PCCデータを複数の互いに異なる時間的レベル(temporal levels)に区分し、互いに異なる時間的レベルに属する各G-PCCフレームを互いに独立的に処理する機能を意味することができる。時間スケーラビリティが支援されると、G-PCCプレーヤ(又は、本開示の伝送装置及び/又は受信装置)は、G-PCCコンポーネントのうちの所望のコンポーネント(ターゲットコンポーネント)に効果的(effectively)にアクセスすることができる。また、時間スケーラビリティが支援されると、G-PCCフレームが互いに独立的に処理されるので、システムレベルで時間スケーラビリティの支援がより柔軟な時間的サブレイヤリング(sub-layering)で表現されることができる。また、時間スケーラビリティが支援されると、G-PCCデータを処理するシステム(ポイントクラウドコンテンツ提供システム)がネットワーク機能(capability)やデコーダ機能(Capability)などと一致するように高い水準でデータを操作することができるようにするので、ポイントクラウドコンテンツ提供システムの性能を向上させることができる。
【0279】
サンプルグループ化(sample grouping)
【0280】
時間スケーラビリティを支援するための方式としては、サンプルグループ化方式とトラックグループ化方式が存在することができる。サンプルグループ化方式は、G-PCCファイル内のサンプルを時間的レベルによってグループ化する方式であり、トラックグループ化方式は、G-PCCファイル内のトラックを時間的レベルによってグループ化する方式であり得る。
【0281】
サンプルグループは、サンプルと、これらに指定された(designated)時間的レベルとを連関させるのに使用できる。すなわち、サンプルグループは、どのサンプルがどの時間的レベルに属するか否かを示すことができる。また、サンプルグループは、一つ以上のサンプルを一つ以上の時間的レベルにグループ化した結果に対する情報であり得る。サンプルグループは、‘tele’サンプルグループ、時間的レベルサンプルグループ‘tele’とも呼ばれる。
【0282】
サンプルグループに対する情報
【0283】
サンプルグループに対する情報は、サンプルグループ化の結果に対する情報を含むことができる。従って、サンプルグループに対する情報は、サンプルとこれらに指定された時間的レベルとを互いに連関させるのに使用するための情報であり得る。すなわち、サンプルグループに対する情報は、どのサンプルがどの時間的レベルに属するか否かを示すことができ、一つ以上のサンプルを一つ以上の時間的レベルにグループ化した結果に対する情報であり得る。
【0284】
サンプルグループに対する情報は、ジオメトリデータユニットを含むトラックに存在することができる。G-PCCデータがマルチプルトラックで運搬される場合に、サンプルグループに対する情報は、トラック内の各サンプルを指定された時間的レベルにグループ化するためにジオメトリトラックにのみ存在することができる。アトリビュートトラック内のサンプルは、それらに連関したジオメトリトラックとの関係に基づいて推論できる。例えば、アトリビュートトラック内のサンプルは、それらに連関したジオメトリトラック内のサンプルと同じ時間的レベルに属することができる。
【0285】
サンプルグループに対する情報が、G-PCCタイル基盤トラック(tile base track)が参照するG-PCCタイルトラックに存在する場合、サンプルグループに対する情報は、G-PCCタイル基盤トラックが参照する残り(rest)のタイルトラックに存在しなければならないこともある。ここで、G-PCCタイルトラックは、全てのG-PCCコンポーネント又は一つ以上のG-PCCタイルに当該する単一G-PCCコンポーネントを運搬するボリュメトリックビジュアルトラックであり得る。また、G-PCCタイル基盤トラックは、G-PCCタイルトラックに該当する全てのパラメータセット及びタイルインベントリを運搬するボリュメトリックビジュアルトラックであり得る。
【0286】
時間的レベルに対する情報
【0287】
G-PCCファイルで支援する時間スケーラビリティを説明するために時間的レベルに対する情報がシグナリングされることができる。時間的レベルに対する情報は、サンプルグループ(又は、サンプルグループに対する情報)を含むトラックのサンプルエントリに存在することができる。例えば、時間的レベルに対する情報は、GPCCDecoderConfigurationRecord()に存在するか、或いはG-PCCトラックに対するスケーラビリティ情報をシグナリングするG-PCCスケーラビリティ情報ボックス(GCCScalabilityInfoBox)に存在することができる。
【0288】
時間的レベルサンプルグループ化(temporal level sample grouping)
【0289】
時間的レベルサンプルグループ化(以下、「「tele」サンプルグループ」という。)は、トラック内のサンプルを時間的レベルに応じてグループ化することを意味することができる。このような「tele」サンプルグループは、ジオメトリデータを含むトラック内に存在することができる。このとき、「tele」サンプルグループは、コーデック独立(codec-independent)サンプルグループ化に関する情報であり得る。具体的には、コーデック独立的とは、一つの時間的レベルのサンプルが他の時間的レベルのサンプルに対するコーディング従属性(dependency)がない場合を意味することができる。すなわち、一つの時間的レベルのサンプルが他の時間的レベルのサンプルに対するコーディング従属性がない場合、「tele」サンプルグループがトラック内に存在することができる。また、「tele」サンプルグループは、時間的レベルに応じてトラック(及び/又は潜在的なトラックフラグメント(potential trace fragment))内のサンプルをグループ化した結果に関する情報及び/又は時間的レベル識別値(indentifier value)に関する情報を含むことができる。
【0290】
G-PCCデータが複数の時間的レベルトラックを用いて運搬(carry)される場合、「tele」サンプルグループは、ジオメトリデータを運搬するトラック内にのみ存在することができる。アトリビュート(attribute)データを運搬するトラック内のサンプルは、それらに関連するジオメトリトラックとの関係に基づいて推論できる。例えば、アトリビュートトラック内のサンプルは、それらに関連するジオメトリトラック内のサンプルと同じ時間的レベルに属することができる。
【0291】
従来技術の問題点
【0292】
「tele」サンプルグループは、複数の時間的レベルを有するトラックの場合にのみ必要である。しかし、従来技術は、只一つの時間的レベルを有するトラックの場合でもサンプルをグループ化して処理するか、或いはサンプルグループ情報をシグナリングする。したがって、従来技術は、不要なサンプルグループ化又はサンプルグループ情報シグナリングを行うことにより、コーディング効率又はビット効率が低下する可能性がある。
【0293】
実施例
【0294】
本開示の一実施例によれば、「tele」サンプルグループは、複数の時間的レベルを有するトラックに存在することができる。また、複数の時間的レベルを有するトラックは、ジオメトリデータを運搬(carry)するトラックであり得る。
【0295】
実施例によれば、時間的レベル個数に関する情報は、サンプルエントリタイプによって互いに異なるボックス内のシンタックス要素によって定義できる。例えば、時間的レベル個数に関する情報は、GPCCデコーダコンフィギュレーションレコード(GPCCDecoderConfigrationRecord)内のシンタックス要素及び/又はGPCC時間スケーラビリティ情報ボックス(GPCCScalablityInfoBox)内のシンタックス要素によって定義できる。
【0296】
「gpe1」、「gpeg」、「gpc1」又は「gpcg」と同じサンプルエントリタイプを含むトラックの場合、トラック内の時間的レベルの数は、GPCCデコーダコンフィギュレーションレコードのnum_temporal_levelsシンタックス要素によって定義できる。GPCCデコーダコンフィギュレーションレコードは、ジオメトリベースのポイントクラウドコンテンツのためのG-PCCデコーダコンフィギュレーション情報を提供することができる。GPCCデコーダコンフィギュレーションレコードのシンタックス構造は、下記表1のように定義できる。
【0297】
【表1】
【0298】
上記のシンタックス構造において、GPCCデコーダコンフィギュレーションレコードは、configurationVersion、profile_idc、profile_compatibility_flags、level_idc、numOfSetupUnitArrays、SetupUnitType、completeness、numOfSepupUnit、setupUnitのうちの少なくとも一つを含むことができる。num_temporal_levelsシンタックス要素は、G-PCCビットストリームフレームがグループ化される時間的レベルの最大数を表すことができる。
【0299】
「gpcb」又は「gpeb」と同じサンプルエントリタイプを含むトラックの場合、トラック内の時間的レベルの数は、GPCC時間スケーラビリティ情報ボックスのnum_temporal_levelsシンタックス要素によって定義できる。GPCC時間スケーラビリティ情報ボックスは、G-PCCトラックに対するスケーラビリティ情報を含むことができる。GPCC時間スケーラビリティ情報ボックスのシンタックス構造は、下記表2のように定義できる。
【0300】
【表2】
【0301】
上記のシンタックス構造において、num_temporal_levelsは、G-PCCビットストリームフレームがグループ化される時間的レベルの最大数を表すことができる。temporal_level_idは、G-PCCサンプルの時間的レベル識別子情報を表すことができる。
【0302】
本開示の他の実施例によれば、「gpe1」、「gpeg」、「gpc1」又は「gpcg」と同じサンプルエントリタイプを含むトラックの場合、トラック内の時間的レベルの数は、GPCCデコーダコンフィギュレーションレコード以外の他のボックスに含まれることもできる。例えば、前記他のボックスは、GPCC時間スケーラビリティ情報ボックス又はG-PCC関連時間スケーラビリティ情報を含む任意のボックスであり得る。
【0303】
或いは、「gpcb」又は「gpeb」と同じサンプルエントリタイプを含むトラックの場合、トラック内の時間的レベルの数は、GPCC時間スケーラビリティ情報ボックス以外の他のボックスに含まれることもできる。例えば、前記他のボックスは、G-PCC関連の時間スケーラビリティ情報を含む任意のボックスであり得る。
【0304】
本開示の他の実施例によれば、トラック内の時間的レベルの数は、トラック内のサンプルエントリタイプに関係なく、所定のボックスに含まれることができる。例えば、所定のボックスは、GPCCデコーダコンフィギュレーションレコード、GPCC時間スケーラビリティ情報ボックス、又はG-PCC関連時間スケーラビリティ情報を含む任意のボックスであり得る。
【0305】
G-PCC関連時間スケーラビリティ情報を含むボックスは、さまざま名称で命名できる。例えば、G-PCC関連時間スケーラビリティ情報ボックスは、GPCCScalabilityInfoBox又はGPCCTileScalabilityInfoBoxと呼ばれることがある。
【0306】
G-PCCトラック内に「tele」サンプルグループが存在する場合、第1時間的レベル識別子に属するサンプルは、第1時間的レベル識別子に1を加えたのと同じサンプルグループディスクリプションインデックスにマッピングできる。
【0307】
サンプルグループディスクリプションインデックスは、サンプルディスクリプション(stsd)ボックスに含まれたサンプルを説明するサンプルエントリのインデックスを意味することができる。サンプルディスクリプション(stsd)ボックスは、デコーダコンフィギュレーションレコードでシグナリングされた全ての時間的レベルに対するサンプルディスクリプション信号を含むことができる。また、サンプルディスクリプション(stsd)ボックスはトラックのためのサンプルエントリを含むことができる。
【0308】
アトリビュートトラック内のサンプルの時間的レベルは、参照されたジオメトリトラック内の対応(corresponding)サンプル、すなわち同じ合成(composition)タイムスタンプを有するサンプルの時間的レベルと同じであり得る。したがって、「tele」サンプルグループは、ジオメトリデータのみを運搬するトラック内に存在することができる。
【0309】
図13図15は、本開示の一実施例によるトラック内のサンプルグループ化に対する例示を示す。
【0310】
図13を参照すると、各トラック(トラック1及びトラック2)は、GPCC時間スケーラビリティ情報(「gsci」)ボックス、サンプルグループディスクリプション(「sgpd」)ボックス又はサンプルグループ(「sbgp」)ボックスのうちの少なくとも一つを含むことができる。
【0311】
「gsci」ボックスは、時間的レベル個数に関する情報(num_temporal_levels)を含むことができる。「sgpd」ボックスは、サンプルグループに含まれたサンプルの共通特性に関する情報を含むことができる。「sbgp」ボックスは、サンプルの含まれたサンプルグループに関する情報を含むことができる。
【0312】
図13のトラック1を参照すると、「gsci」ボックスに存在する時間的レベルの個数は2であり得る。このとき、2つの時間的レベルは、temporal_level_idで区別できる。「sgpd」ボックスに含まれたエントリの数は、2つ(entry_count:2)であり得る。「sgpd」ボックス内に存在するエントリは、SampleGroupDescripitionEntry(「tele」)で表すことができ、SampleGroupDescriptionEntry(「tele」)は、「tele」サンプルグループディスクリプションエントリを意味することができる。トラック1の「sbgp」ボックスは「tele」サンプルグループを含むことができ、エントリの数は12個であり得る。
【0313】
図13のトラック2を参照すると、トラック2の「gsci」ボックスに存在する時間的レベルの個数は、2であり得る。このとき、2つの時間的レベルは、temporal_level_idで区別できる。トラック2の「sgpd」ボックスに含まれたエントリの数は、4つであり得る。「sgpd」ボックス内に存在するエントリは、SampleGroupDescripitionEntry(「tele」)で表すことができ、SampleGroupDescriptionEntry(「tele」)は、「tele」サンプルグループディスクリプションエントリを意味することができる。トラック2の「sbgp」ボックスは「tele」サンプルグループを含むことができ、エントリの数は12個であり得る。
【0314】
図13の「mdat」ボックスは、メディアデータを含むことができる。具体的には、「mdat」ボックスは、画像フレームを含むことができる。「mdat」ボックス内に含まれた画像フレームは、固有の識別子(TemporalId、Tid)を有することができる。例えば、「mdat」ボックスは、4つのTemporalID(Tid0、Tid1、Tid2、Tid3)を含むことができる。
【0315】
時間的レベルタイルトラック内のサンプルグループ化の例を示す図14を参照すると、図14のトラック1は、「gsci」ボックスを含み、トラック2は、「sgpd」ボックス及び「sbgp」ボックスを含むことができる。トラック2は、すべての時間的レベルのサンプルを含む時間的レベルタイルトラックであるので、GPCCTileScalabilityInfoBox(「gtsi」ボックス)を含まなくてもよい。
【0316】
図15を参照すると、図15のGPCCファイル構造は、タイルベーストラック(トラック1)及び2つの時間的レベルタイルトラック(トラック2及びトラック3)を含むことができる。それぞれの時間的レベルタイルトラックにおいて、「sgpd」ボックス内の「tele」サンプルグループディスクリプションエントリの数は、「gtsi」ボックス内のtemporal_level_id plus 1の最大値と同じでもよい。
【0317】
図16及び図17は、本開示の実施例による「tele」サンプルグループ化のためのフローチャートを示す。
【0318】
図16を参照すると、伝送装置10は、G-PCCファイル内のトラックの時間的レベル個数情報を生成することができる(S1610)。時間的レベル個数情報は、トラック内に存在する時間的レベルの個数を示す情報であり得る。時間的レベル個数情報は、num_temporal_levelsで表すことができる。
【0319】
伝送装置10は、時間的レベルの個数(又は、時間的レベル個数情報)に基づいて少なくとも一つのサンプルグループを構成することができる(S1620)。例えば、伝送装置10は、トラック内の時間的レベルの個数が複数個である場合に少なくとも一つのサンプルグループを構成することができる。他の例として、伝送装置10は、トラック内の時間的レベルの個数が複数個であり、当該トラックがジオメトリトラックである場合に少なくとも一つのサンプルグループを構成することができる。サンプルグループは「tele」サンプルグループであり得る。
【0320】
伝送装置10は、サンプルグループ情報を生成することができる(S1630)。サンプルグループ情報は、ステップS1620で構成したサンプルグループに関する情報であり得る。サンプルグループ情報は、G-PCCサンプルの時間的レベル識別子情報を含むことができる。時間的レベル識別子情報は、temporal_level_idで表すことができる。
【0321】
伝送装置10は、G-PCCファイルを生成することができる(S1640)。G-PCCファイルは、時間的レベル個数情報及び/又はサンプルグループ情報のうちの少なくとも一つを含むことができる。
【0322】
本開示によれば、トラック内にサンプルグループ情報が存在する場合、時間的レベル識別子に属するサンプルは、サンプルグループディスクリプションインデックスにマッピングされることができる。この場合、サンプルグループディスクリプションインデックスは、時間的レベル識別子値に1を加えた値であり得る。
【0323】
図17を参照すると、受信装置20は、G-PCCファイルを取得することができる(S1710)。G-PCCファイルは、ポイントクラウドデータ、トラックの時間的レベル個数情報、サンプルグループ情報を含むことができる。
【0324】
受信装置20は、G-PCCファイル内のトラックの時間的レベル個数情報をG-PCCファイルから取得することができる(S1720)。時間的レベル個数情報はnum_temporal_levelsであり得る。
【0325】
受信装置20は、時間的レベル個数情報に基づいて、トラック内のサンプルに対するサンプルグループ情報をG-PCCファイルから取得することができる(S1730)。例えば、受信装置20は、トラック内の時間的レベルの個数が複数個である場合に少なくとも一つのサンプルグループを構成することができる。他の例として、受信装置20は、トラック内の時間的レベルの個数が複数個であり、当該トラックがジオメトリトラックである場合に少なくとも一つのサンプルグループを構成することができる。サンプルグループ情報は、G-PCCサンプルの時間的レベル識別子情報を含むことができる。時間的レベル識別子情報は、temporal_level_idで表すことができる。
【0326】
図18は、本開示の実施例による「tele」サンプルグループ化のためのG-PCCファイルの構造に対する例示を示す。
【0327】
図18を参照すると、G-PCCファイル1800内のmoovボックス1805は、2つ以上のトラックが存在するマルチトラックカプセル化ファイルであり得る。ここで、moovボックス1805内に存在する2つ以上のトラックの種類は、ジオメトリトラック及び/又はアトリビュートトラックを含むことができる。
【0328】
本開示の一実施例によれば、「tele」サンプルグループは、ジオメトリトラック内にのみ存在することができる。さらに、「tele」サンプルグループは、ジオメトリトラック内の時間的レベル個数が複数である場合にのみトラック内に存在することができる。図18の場合、ジオメトリトラック#1(1810)は、トラック内の時間的レベルが0、1、2であって、複数個である。したがって、ジオメトリトラック#1(1801)は、トラック内に「tele」サンプルグループが存在することができる。しかし、ジオメトリトラック#2(1815)は、トラック内の時間的レベルが3であって、一つである。したがって、ジオメトリトラック#2(1815)は、トラック内に「tele」サンプルグループが存在することができない。
【0329】
図19及び図20は、本開示の実施例によるサンプルグループ化の如何に基づくデータ伝送/受信のためのフローチャートである。
【0330】
図19を参照すると、伝送装置10は、トラック内の時間的レベル個数に基づいてサンプルのグループ化の如何を決定することができる(S1910)。伝送装置10は、トラック内の時間的レベル個数が2以上である場合、トラック内のサンプルをグループ化することができる。これに対し、伝送装置10は、トラック内の時間的レベルの個数が一つである場合、トラック内のサンプルに対してグループ化を行わなくてもよい。もしトラック内の時間的レベル個数が2以上であることに基づいてサンプルがグループ化された場合、伝送装置10は、当該サンプルグループ情報を生成することができる(S1920)。サンプルグループ情報は、時間的レベルインデックス情報を含むことができる。
【0331】
伝送装置10は、ステップS1920で生成したサンプルグループ情報に基づいてサンプルをカプセル化することができる(S1930)。これに対し、トラック内のサンプルがグループ化されていない場合、伝送装置10は、サンプルグループ情報の生成なしにサンプルをカプセル化することができる(S1930)。
【0332】
図20を参照すると、受信装置20は、時間的レベル個数が2以上であるか否かを確認することができる(S2010)。時間的レベル個数情報は、トラック内に存在する時間的レベルの個数に関する情報であり得る。受信装置20は、トラック内の時間的レベル個数情報が2以上である場合にトラック内のサンプルがグループ化されたと判断することができる。これに対し、受信装置20は、トラック内の時間的レベル個数情報が一つである場合、トラック内のサンプルがグループ化されていないと判断することができる。
【0333】
受信装置20は、サンプルグループ情報を取得することができる(S2020)。サンプルグループ情報は、トラック内の時間的レベルインデックス情報を含むことができる。時間的レベルインデックス情報は、temporal_level_idであり得る。受信装置20は、ステップS2010で確認した時間的レベル個数に基づいてサンプルグループ情報を取得することができる。具体的には、受信装置20は、ステップS2010で確認した時間的レベル個数が2以上である場合、サンプルグループ情報を取得することができる。
【0334】
受信装置20は、ステップS2020で取得したサンプルグループ情報に基づいてサンプルをデカプセル化することができる(S2030)。これに対し、受信装置20は、トラック内の時間的レベル個数が2以上でない場合、サンプルグループ情報の確認なしにサンプルをデカプセル化することができる(S2030)。
【0335】
以上で説明した本開示によれば、トラック内の時間的レベルの個数が一つである場合には、サンプルグループ化を行わないことにより、不要な「tele」サンプルグループを除去することができる。また、トラック内の時間的レベルの個数が一つである場合には、サンプルグループ情報をシグナリングしないことにより、不要な情報をシグナリングしなくてもよい。これにより、G-PCCファイルデータのカプセル化/デカプセル化効率及び/又はビット効率が向上することができる。
【0336】
本開示の範囲は、多様な実施例の方法による動作が装置又はコンピュータ上で実行されるようにするソフトウェア又はマシン-実行可能な命令(例えば、オペレーティングシステム、アプリケーション、ファームウェア(firmware)、プログラムなど)、及びこのようなソフトウェア又は命令などが保存されて装置又はコンピュータ上で実行可能な非一時的コンピュータ可読媒体(non-transitory computer-readable medium)を含む。
【産業上の利用可能性】
【0337】
本開示による実施例は、ポイントクラウドコンテンツの提供に利用可能である。また、本開示による実施例は、ポイントクラウドデータの符号化/復号化に利用可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10a
図10b
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
【国際調査報告】