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

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

▶ インターデイジタル ヴィーシー ホールディングス インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】ポイントクラウドの処理
(51)【国際特許分類】
   H04N 19/597 20140101AFI20240820BHJP
   H04N 19/70 20140101ALI20240820BHJP
   G06T 9/40 20060101ALI20240820BHJP
【FI】
H04N19/597
H04N19/70
G06T9/40
【請求項の数】 21
(21)【出願番号】P 2021556741
(86)(22)【出願日】2020-01-27
(65)【公表番号】
(43)【公表日】2022-06-07
(86)【国際出願番号】 US2020015170
(87)【国際公開番号】W WO2020190374
(87)【国際公開日】2020-09-24
【審査請求日】2023-01-27
(31)【優先権主張番号】19305341.0
(32)【優先日】2019-03-20
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】318017914
【氏名又は名称】インターデイジタル ヴィーシー ホールディングス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジャン-クラウド シュヴェ
(72)【発明者】
【氏名】ヤニック オリヴィエ
(72)【発明者】
【氏名】ジョアン リャック
【審査官】田中 純一
(56)【参考文献】
【文献】国際公開第2019/142666(WO,A1)
【文献】欧州特許出願公開第3742401(EP,A1)
【文献】特開2022-36353(JP,A)
【文献】特表2022-525599(JP,A)
【文献】国際公開第2020/186060(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
G06T 1/00 - 1/40
G06T 3/00 - 5/94
G06T 9/00 - 9/40
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって、ポイントクラウドフレームの少なくとも1つの中間3Dサンプルのテキスチャ値を表す少なくとも1つのテキスチャパッチを送信するステップを備え、前記テキスチャパッチを送信するステップは、2Dグリッドにおいて定義された前記テキスチャパッチの2D位置、および前記テキスチャパッチのサイズを表す少なくとも1つの第1のシンタックス要素を送信するステップを含前記少なくとも1つの中間3Dサンプルは、前記ポイントクラウドフレームの第1の3Dサンプルと前記ポイントクラウドフレームの第2の3Dサンプルの間の同一の投影ラインに沿って位置している、前記ポイントクラウドフレームの3Dサンプルであることを特徴とする方法。
【請求項2】
ポイントクラウドフレームの少なくとも1つの中間3Dサンプルのテキスチャ値を表す少なくとも1つのテキスチャパッチを送信するように構成された1つまたは複数のプロセッサを備え、前記テキスチャパッチを送信することは、2Dグリッドにおいて定義された前記テキスチャパッチの2D位置、および前記テキスチャパッチのサイズを表す少なくとも1つの第1のシンタックス要素を送信することを含前記少なくとも1つの中間3Dサンプルは、前記ポイントクラウドフレームの第1の3Dサンプルと前記ポイントクラウドフレームの第2の3Dサンプルの間の同一の投影ラインに沿って位置している、前記ポイントクラウドフレームの3Dサンプルであることを特徴とする装置。
【請求項3】
1つまたは複数のプロセッサによって、ポイントクラウドフレームを復号する方法であって、
2Dグリッドにおいて定義された少なくとも1つのテキスチャパッチの2D位置、および前記テキスチャパッチのサイズを表す少なくとも1つの第1のシンタックス要素を復号するステップであって、前記少なくとも1つのテキスチャパッチは、前記ポイントクラウドフレームの少なくとも1つの中間3Dサンプルのテキスチャ値を表しており前記少なくとも1つの中間3Dサンプルは、前記ポイントクラウドフレームの第1の3Dサンプルと前記ポイントクラウドフレームの第2の3Dサンプルの間の同一の投影ラインに沿って位置している、前記ポイントクラウドフレームの3Dサンプルであるステップと、
前記テキスチャパッチの前記2D位置および前記テキスチャパッチの前記サイズに基づいて、前記少なくとも1つのテキスチャパッチを取り出すステップと、
を備えることを特徴とする方法。
【請求項4】
ポイントクラウドフレームを復号するように構成された1つまたは複数のプロセッサを備え、前記ポイントクラウドフレームを復号することは、
2Dグリッドにおいて定義された少なくとも1つのテキスチャパッチの2D位置、および前記テキスチャパッチのサイズを表す少なくとも1つの第1のシンタックス要素を復号することであって、前記少なくとも1つのテキスチャパッチは、前記ポイントクラウドフレームの少なくとも1つの中間3Dサンプルのテキスチャ値を表しており前記少なくとも1つの中間3Dサンプルは、前記ポイントクラウドフレームの第1の3Dサンプルと前記ポイントクラウドフレームの第2の3Dサンプルの間の同一の投影ラインに沿って位置している、前記ポイントクラウドフレームの3Dサンプルであることと、
前記テキスチャパッチの前記2D位置および前記テキスチャパッチの前記サイズに基づいて、前記少なくとも1つのテキスチャパッチを取り出すことと、
を含むことを特徴とする装置。
【請求項5】
前記少なくとも1つの中間3Dサンプルは、前記ポイントクラウドフレームの前記第1の3Dサンプルよりも大きく、前記ポイントクラウドフレームの前記第2の3Dサンプルよりも低い深度値を有するポイントクラウドフレームの3Dサンプルであり、前記少なくとも1つの中間3Dサンプル、ならびに前記第1の3Dサンプルおよび前記第2の3Dサンプルは、前記同一の投影ラインに沿って投影されることを特徴とする請求項1または3に記載の方法。
【請求項6】
前記2Dグリッドの前記テキスチャパッチにおける2Dサンプルの数を表す少なくとも1つの第2のシンタックス要素を符号化するステップをさらに備えことを特徴とする請求項1に記載の方法。
【請求項7】
前記2Dグリッドの前記テキスチャパッチにおける2Dサンプルの数を表す少なくとも1つの第2のシンタックス要素を復号するステップをさらに備えことを特徴とする請求項3に記載の方法。
【請求項8】
前記投影ラインに沿った前記少なくとも1つの中間3Dサンプルの場所は、占有マップの参照パッチにストアされたコードワードの1ビットによって示され、
前記2Dグリッドにおける参照パッチの数であって、前記参照パッチは前記少なくとも1つのテキスチャパッチの中にそのテキスチャ値をストアさせた中間3Dサンプルのためのビットをストアしている、参照パッチの数と、
所定の参照パッチに関連付けられており、および、前記少なくとも1つのテキスチャパッチにおいて、前記所定の参照パッチの中にその場所をストアさせた前記中間3Dサンプルの前記テキスチャ値の開始位置を決定することを可能とするオフセットと
を含む少なくとも1つの第3のシンタックス要素を符号化するステップをさらに備えことを特徴とする請求項に記載の方法。
【請求項9】
前記投影ラインに沿った前記少なくとも1つの中間3Dサンプルの場所は、占有マップの参照パッチにストアされたコードワードの1ビットによって示され、
前記2Dグリッドにおける参照パッチの数であって、前記参照パッチは前記少なくとも1つのテキスチャパッチの中にそのテキスチャ値をストアさせた中間3Dサンプルのためのビットをストアしている、参照パッチの数と、
所定の参照パッチに関連付けられており、および、前記少なくとも1つのテキスチャパッチにおいて、前記所定の参照パッチの中にその場所をストアさせた前記中間3Dサンプルの前記テキスチャ値の開始位置を決定することを可能とするオフセットと
を含む少なくとも1つの第3のシンタックス要素を復号るステップをさらに備えことを特徴とする請求項3に記載の方法。
【請求項10】
前記少なくとも1つの第3のシンタックス要素は、前記所定の参照パッチのインデックスを含むことを特徴とする請求項8または9に記載の方法。
【請求項11】
前記少なくとも1つの第1のシンタックス要素が、前記ポイントクラウドフレームを表しているシンタックスの全体の異なるレベルで送信されることを示す別のシンタックス要素を符号化するステップ
をさらに備えことを特徴とする請求項に記載の方法。
【請求項12】
前記少なくとも1つの第1のシンタックス要素が、前記ポイントクラウドフレームを表しているシンタックスの全体の異なるレベルにおいて復号されることを示す別のシンタックス要素を復号するステップ
さらに備えことを特徴とする請求項3に記載の方法。
【請求項13】
請求項1、3、または5乃至12のいずれか一項に記載の方法を1つまたは複数のプロセッサに実行させるための命令を含むことを特徴とする非一時的コンピュータ可読媒体。
【請求項14】
前記少なくとも1つの中間3Dサンプルは、前記ポイントクラウドフレームの前記第1の3Dサンプルよりも大きく、前記ポイントクラウドフレームの前記第2の3Dサンプルよりも低い深度値を有する前記ポイントクラウドフレームの3Dサンプルであり、前記少なくとも1つの中間3Dサンプル、ならびに前記第1の3Dサンプルおよび前記第2の3Dサンプルは、同一の投影ラインに沿って投影されることを特徴とする請求項2または4に記載の装置。
【請求項15】
前記1つまたは複数のプロセッサは、前記2Dグリッドの前記テキスチャパッチにおける2Dサンプルの数を表す少なくとも1つの第2のシンタックス要素を符号化するようにさらに構成されことを特徴とする請求項2に記載の装置。
【請求項16】
前記1つまたは複数のプロセッサは、前記2Dグリッドの前記テキスチャパッチにおける2Dサンプルの数を表す少なくとも1つの第2のシンタックス要素を復号するようにさらに構成されことを特徴とする請求項4に記載の装置。
【請求項17】
前記投影ラインに沿った前記少なくとも1つの中間3Dサンプルの場所は、占有マップの参照パッチにストアされたコードワードの1ビットによって示され、
前記1つまたは複数のプロセッサは、
前記2Dグリッドにおける参照パッチの数であって、前記参照パッチは前記少なくとも1つのテキスチャパッチの中にそのテキスチャ値をストアさせた中間3Dサンプルのためのビットをストアしている、参照パッチの数と、
所定の参照パッチに関連付けられており、および、前記少なくとも1つのテキスチャパッチにおいて、前記所定の参照パッチの中にその場所をストアさせた前記中間3Dサンプルの前記テキスチャ値の開始位置を決定することを可能とするオフセットと
を含む少なくとも1つの第3のシンタックス要素を符号化するようにさらに構成されことを特徴とする請求項に記載の装置。
【請求項18】
前記投影ラインに沿った前記少なくとも1つの中間3Dサンプルの場所は、占有マップの参照パッチにストアされたコードワードの1ビットによって示され、
前記1つまたは複数のプロセッサは、
前記2Dグリッドにおける参照パッチの数であって、前記参照パッチは前記少なくとも1つのテキスチャパッチの中にそのテキスチャ値をストアさせた中間3Dサンプルのためのビットをストアしている、参照パッチの数と、
所定の参照パッチに関連付けられており、および、前記少なくとも1つのテキスチャパッチにおいて、前記所定の参照パッチの中にその場所をストアさせた前記中間3Dサンプルの前記テキスチャ値の開始位置を決定することを可能とするオフセットと
を含む少なくとも1つの第3のシンタックス要素復号するようにさらに構成されことを特徴とする請求項に記載の装置。
【請求項19】
前記少なくとも1つの第3のシンタックス要素は、前記所定の参照パッチのインデックスを含むことを特徴とする請求項17または18に記載の装置。
【請求項20】
前記1つまたは複数のプロセッサは、前記少なくとも1つの第1のシンタックス要素が、前記ポイントクラウドフレームを表しているシンタックスの全体の異なるレベルで送信されることを示す別のシンタックス要素を符号化するようにさらに構成されことを特徴とする請求項に記載の装置。
【請求項21】
前記1つまたは複数のプロセッサは、前記少なくとも1つの第1のシンタックス要素が、前記ポイントクラウドフレームを表すシンタックスの全体の異なるレベルにおいて復号されることを示す別のシンタックス要素を復号するようにさらに構成されことを特徴とする請求項に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態のうちの少なくとも1つは概して、ポイントクラウドの処理に関する。
【背景技術】
【0002】
本セクションは、以下で説明され、および/または特許請求される本実施形態のうちの少なくとも1つの様々な態様に関連することができる、本分野の様々な態様に読み手を導入することを意図している。この議論は、少なくとも1つの実施形態の様々な態様のより良好な理解を促進するための背景の情報を読み手に提供することを支援となると信じられている。
【0003】
像または建造物などの物体が、それを送信することまたはそれに訪れることなく、物体の空間構成を共有するため三次元においてスキャンされる、文化的遺産/建造物などの様々な目的のためにポイントクラウドが使用されることがある。また、例えば、地震によって寺が破壊されることがあるケースにおいて物体の知識を保存することを保証する方式がある。そのようなポイントクラウドは典型的には、静的であり、色付けられ、広大である。
【0004】
別のケースは、トポグラフィおよびカートグラフィにあり、トポグラフィおよびカートグラフィでは、3D表現を使用することによって、平面に制限されず、レリーフを含むことができるマップが可能になる。Google Mapsは今では、3Dマップであるが、ポイントクラウドの代わりにメッシュを使用する良好な例である。しかしながら、ポイントクラウドが、3Dマップに対して適切なデータフォーマットであることがあり、そのようなポイントクラウドは典型的には、静的であり、色付けられ、広大である。
【0005】
自動車産業および自動運転車も、ポイントクラウドが使用されることがある領域である。自動運転車は、それらに直に隣接するものの現実に基づいて良好な運転の決定を行うために、それらの環境を「プローブ」することが可能であるはずである。LIDAR(光検出・測距)のような典型的なセンサは、決定エンジンによって使用される動的ポイントクラウドを生成する。それらのポイントクラウドは、人間によって見られることを意図しておらず、それらは典型的には、小さく、必ずしも色付けされておらず、高頻度の捕捉により動的である。それらのポイントクラウドは、LIDARによってもたらされる反射性のような他の属性が、検知された物体の材料に関する良好な情報を提供するようにこの属性を有することがあり、決定を行う際の支援となることがある。
【0006】
仮想現実および没入世界は、近年では注目の話題になっており、2D平面ビデオの未来として多くによって予想されている。基本的な考えは、ビューワがビューワの前方で仮想世界においてのみ視認することができる標準的なTVとは対照的に、ビューワを取り囲む環境にビューワを没入させる。環境内のビューワの自由度に応じて、いくつかの没入性にける段階が存在する。ポイントクラウドは、仮想現実(VR)世界を分散するための良好なフォーマット候補である。
【0007】
多くの用途では、適正な量のみのビットレート(または、記憶用途のための記憶空間)を消費すると共に、許容可能な(または、好ましくは非常に良好な)経験の品質を維持することによって、エンドユーザに動的ポイントクラウドを分散する(または、それらをサーバに記憶することが可能であることが重要である。それらの動的ポイントクラウドの効率的な圧縮は、多くの没入世界の分散チェーンを実用的にするために重要なポイントである。
【0008】
上述したことを考慮して、少なくとも1つの実施形態が考案されてきた。
【発明の概要】
【0009】
以下は、本開示のいくつかの態様の基本的な理解を提供するために、本実施形態のうちの少なくとも1つの簡易化された概要を提示する。この概要は、実施形態の拡張した概略でない。それは、実施形態の重要な要素または必須の要素を特定することを意図していない。以下の概要は、本明細書で他に提供される更なる詳細な説明の序章として、簡易的な形式において本実施形態のうちの少なくとも1つのいくつかの態様を提示するにすぎない。
【0010】
少なくとも1つの実施形態の全体態様に従って、少なくとも1つの中間3Dサンプルのテキスチャ値を表す少なくとも1つのテキスチャパッチをシグナリングするステップを含む方法が提供され、テキスチャパッチは、投影ラインに沿って投影平面に直交して投影されたポイントクラウドの3Dサンプルのテキスチャ値を表す2Dサンプルのセットであり、少なくとも1つの中間3Dサンプルは、ポイントクラウドフレームの近い方の3Dサンプルよりも大きく、ポイントクラウドフレームの遠い方の3Dサンプルよりも低い深度値を有するポイントクラウドフレームの3Dサンプルであり、少なくとも1つの中間3Dサンプル、ならびに近い方の3Dサンプルおよび遠い方の3Dサンプルは、同一の投影ラインに沿って投影される。
【0011】
実施形態に従って、少なくとも1つの中間3Dサンプルのテキスチャ値を表すテキスチャパッチをシグナリングするステップは、
-ビットストリームに、2Dグリッドにおいて定義されたテキスチャパッチの2D位置、およびテキスチャパッチのサイズを表す少なくとも1つのシンタックス要素を追加するステップと、
-ビットストリームを送信するステップと、
-ビットストリームから少なくとも1つのシンタックス要素を取り出し、少なくとも1つの取り出されたシンタックス要素から、2Dグリッドにおいて定義されたテキスチャパッチの2D位置、およびテキスチャパッチのサイズを抽出するステップと、
を含む。
【0012】
実施形態に従って、少なくとも1つのシンタックス要素は、2Dグリッドのパッチのいくつかの2Dサンプルをもシグナリングしてもよい。
【0013】
実施形態に従って、少なくとも1つのシンタックス要素は、2Dグリッド内のテキスチャパッチの数およびテキスチャパッチの開始位置を判定するためのオフセットをもシグナリングしてもよい。
【0014】
実施形態に従って、少なくとも1つのシンタックス要素は、テキスチャパッチのインデックスをもシグナリングしてもよい。
【0015】
実施形態に従って、シンタックス要素は、ビットストリームに追加された少なくとも1つのシンタックス要素が、ポイントクラウドフレームを表すシンタックスの全体の異なるレベルにおいてシグナリングされることをもシグナリングしてもよい。
【0016】
少なくとも1つの実施形態別の全体態様に従って、少なくとも1つの中間3Dサンプルのテキスチャ値を導出するよう、投影平面上のポイントクラウドフレームの直交射影を分析するステップと、少なくとも1つのテキスチャ値を少なくとも1つのテキスチャパッチにマッピングするステップと、少なくとも1つのテキスチャパッチをテキスチャ画像にパッキングするステップと、ビットストリームにおいて、上記方法に従って少なくとも1つのテキスチャパッチをシグナリングするステップと、を含む方法が提供される。
【0017】
少なくとも1つの実施形態の別の全体態様に従って、上記方法に従って、ビットストリームにおいてシグナリングされた少なくとも1つのシンタックス要素から少なくとも1つのテキスチャパッチを導出するステップと、少なくとも1つのテキスチャパッチから少なくとも1つのテキスチャ値を導出するステップと、少なくとも1つのテキスチャ値を少なくとも1つの中間3Dサンプルに割り当てるステップと、を含む方法が提供される。
【0018】
少なくとも1つ実施形態のうちの1つまたは複数は、デバイス、コンピュータプログラム製品、非一時的コンピュータ可読媒体、および信号をも提供する。
【0019】
本実施形態のうちの少なくとも1つの特定の性質と共に、本実施形態のうちの少なくとも1つの目的、利点、特徴、および使用が、添付図面を併用して以下の実施例の説明から明白になるであろう。
【0020】
図面では、いくつかの実施形態の例が示される。
【図面の簡単な説明】
【0021】
図1】本実施形態のうちの少なくとも1つに従った、2レイヤ方式ポイントクラウド(two-layer-based point cloud)符号化構造の例の概略ブロック図を示す。
図2】本実施形態のうちの少なくとも1つに従った、2レイヤ方式ポイントクラウド復号構造の例の概略ブロック図を示す。
図3】本実施形態のうちの少なくとも1つに従った、画像方式ポイントクラウド(image-based point cloud)エンコーダの例の概略ブロック図を示す。
図3a】2パッチおよびそれらの2D境界ボックスを含むキャンバスの例を示す。
図3b】投影線に沿った2つの3Dサンプルの間に位置する2つの中間3Dサンプル(in-between 3D samples)の例を示す。
図4】本実施形態のうちの少なくとも1つに従った、画像方式ポイントクラウドデコーダの例の概略ブロック図を示す。
図5】本実施形態のうちの少なくとも1つに従った、ベースレイヤBLを表すビットストリームのシンタックスの例を概略的に示す。
図6】様々な態様および実施形態が実装されるシステムの例の概略ブロック図を示す。
図7】本実施形態のうちの少なくとも1つに従った、少なくとも1つのEOMテキスチャパッチをシグナリングする方法の例を示す。
図8a】ステップ710の少なくとも1つの実施形態に従った、シンタックス要素の例を示す。
図8b】ステップ710の少なくとも1つの実施形態に従った、シンタックス要素の例を示す。
図8c】ステップ710の少なくとも1つの実施形態に従った、シンタックス要素の例を示す。
図8d】ステップ710の少なくとも1つの実施形態に従った、シンタックス要素の例を示す。
図9a】ステップ710の少なくとも1つの実施形態に従った、キャンバスの例を示す。
図9b】ステップ710の少なくとも1つの実施形態に従った、キャンバスの例を示す。
図9c】ステップ710の少なくとも1つの実施形態に従った、キャンバスの例を示す。
図10】ステップ710の実施形態に従った、シンタックス要素の例を示す。
図11】ステップ710の実施形態の変形例に従った、シンタックス要素の例を示す。
図12】ステップ710の実施形態の変形例に従った、シンタックス要素の例を示す。
図13】本実施形態のうちの少なくとも1つに従った、パッチモードを定義した表の例を示す。
図14】ステップ710の実施形態の変形例に従った、シンタックス要素の例を示す。
図15】ステップ710の実施形態に従った、シンタックス要素の例を示す。
図16】本実施形態のうちの少なくとも1つに従った、中間3Dサンプルのテキスチャ値をコーディングする方法のブロック図を示す。
図17】本実施形態のうちの少なくとも1つに従った、中間3Dサンプルのテキスチャ値を復号する方法のブロック図を示す。
図18】ブロックラスタスキャン順序ごとの例を示す。
【発明を実施するための形態】
【0022】
以下では、本実施形態のうちの少なくとも1つの例が示される、添付図面を参照して、本実施形態のうちの少なくとも1つがより完全に説明される。しかしながら、実施形態は、多くの代替的な形式において具体化されてもよく、本明細書で示される例に限定されると解釈されるべきではない。したがって、実施形態を開示される特定の形式に限定すると意図されないことが理解されるべきである。反対に、開示は、本出願の精神および範囲内にある全ての修正物、同東部、及び代替物を網羅することを意図している。
【0023】
図がフローチャートとして提示されるとき、それは、対応する装置のブロック図も提供することが理解されるべきである。同様に、図がブロック図として提示されるとき、それは、対応する方法/処理のフローチャートも提供することが理解されるべきである。
【0024】
図の同様または同一の要素は、同一の参照符号により参照される。
【0025】
いくつかの図は、V-PCCに準拠したビットストリームの構造を定義するためのV-PCCにおいて広く使用されるシンタックステーブルを表す。それらのシンタックステーブルでは、表現「…」は、読むことを促進するためにV-PCCにおいて与えられ、図からは取り除かれた元の定義に関するシンタックスの変更されていない部分を表す。図における強調した表現は、この表現についての値がビットストリームを構文解析することによって取得されることを示す。シンタックステーブルの右列は、シンタックス要素のデータを符号化するためのビット数を示す。例えば、u(4)は、データを符号化するために4ビットが使用されることを示し、u(8)は、データを符号化するために8ビットが使用されることを示し、ae(v)は、例えば、CABAC(Context-Adaptive-Binary-Arithmetic Coding)を使用して整数値が算術符号化されることを示す。
【0026】
以下で説明および考慮される態様は、多くの異なる形式において実装されてもよい。図1~18は以下で、いくつかの実施形態を提供するが、他の実施形態も考慮され、図1~18の議論は、実装態様の範囲を限定しない。
【0027】
本態様のうちの少なくとも1つは概して、ポイントクラウド符号化および復号に関し、少なくとも1つの他の態様は概して、生成または符号化されたビットストリームを送信することに関する。
【0028】
より正確には、本明細書で説明される様々な方法および他の態様は、モジュールを修正するために使用されてもよく、例えば、図3のモジュール3100、3200、3400、および3700は、図16の方法を実装するために修正されてもよい。モジュール4400および4600も、図17の方法を実装するために修正されてもよい。
【0029】
その上、本態様は、ポイントクラウド圧縮に関連するMPEG-I part5などのMPEG標準に限定されず、例えば、既に存在するかまたは将来開発されるかに関わらず、他の標準および勧告、ならびにいずれかのそのような標準および勧告の拡張(MPEG-I part5を含む)に適用されてもよい。他に示されない限り、または技術的に排除されない限り、本出願において説明される態様は、個々にまたは組み合わせで使用されてもよい。
【0030】
以下では、画像データは、データ、例えば、特定の画像/ビデオフォーマットにある2Dサンプルの1つのアレイまたはいくつかのアレイを指す。特定の画像/ビデオフォーマットは、画像(または、ビデオ)の画素値に関連する情報を指定することができる。特定の画像/ビデオフォーマットはまた、例えば、画像(または、ビデオ)を視覚化および/または復号するためにディスプレイおよび/またはいずれかの他の装置によって使用することができる情報を指定することができる。画像は典型的には、画像の輝度(つまり、ルマ)を通常は表す、サンプルの第1の2Dアレイの形状にある第1の成分を含む。画像はまた、画像の色度(つまり、クロマ)を通常は表す、サンプルの他の2Dアレイの形状にある第2の成分および第3の成分を含む。いくつかの実施形態は、従来の3色覚(tri-chromatic)RGB表現などの色サンプルの2Dアレイのセットを使用して同一の情報を表す。
【0031】
画素値は、1つまたは複数の実施形態では、C値のベクトルによって表され、Cは、成分の数である。ベクトルの各々の値は典型的には、画素値の動的な範囲を定義することができるビットの数により表される。
【0032】
画像ブロックは、画像に属する画素のセットを意味する。画像ブロックの画素値(または、画像ブロックデータ)は、この画像ブロックに属する画素の値を指す。画像ブロックは、任意の形状を有してもよいが、矩形が一般的である。
【0033】
ポイントクラウドは、一意な座標を有し、1つまたは複数の属性をも有することができる3D体積空間内の3Dサンプルのデータセットによって表されてもよい。
【0034】
このデータセットの3Dサンプルは、その空間的位置(3D空間内のX,Y,およびZ座標)によって、場合によっては、RGB色空間もしくはYUV色空間において表される色、例えば、透明性、反射性、2つの成分の法線ベクトル、またはこのサンプルの特徴を表すいずれかの特徴などの1つまたは複数の関連する属性によって定義されてもよい。例えば、3Dサンプルは、6つの成分(X,Y,Z,R,G,B)またはその同等のもの(X,Y,Z,y,U,V)によって定義されてもよく、(X,Y,Z)は、3D空間内のポイントの座標を定義し、(R,G,B)または(y,U,V)は、この3Dサンプルの色を定義する。同一のタイプの属性は、複数回存在してもよい。例えば、複数の色属性は、異なる視点からの色情報を提供することができる。
【0035】
ポイントクラウドは、クラウドが時間に対して変化するか否かに応じて静的または動的であってもよい。静的ポイントクラウドまたは動的ポイントクラウドのインスタンスは通常、ポイントクラウドフレームとして表される。動的ポイントクラウドのケースでは、ポイントの数は一般的に、一定ではないが、逆に、一般的に時間と共に変化する。より一般的には、ポイントクラウドは、例えば、ポイントの数、1つもしくは複数のポイントの位置、またはいずれかのポイントのいずれかの属性など、何らかが時間と共に変化するにつれて動的であると考えられてもよい。
【0036】
例として、2Dサンプルは、6つの成分(u,v,Z,R,G,B)またはその同等のもの(u,v,Z,y,U,V)によって定義されてもよい。(u,v)は、投影平面の2D空間内の2Dサンプルの座標を定義する。Zは、この投影平面への投影された3Dサンプルの深度値である。(R,G,B)または(y,U,V)は、この3Dサンプルの色を定義する。
【0037】
図1は、本実施形態のうちの少なくとも1つに従った、2レイヤ方式ポイントクラウド符号化構造1000の例の概略ブロック図を示す。
【0038】
2レイヤ方式ポイントクラウド符号化構造1000は、入力ポイントクラウドフレームIPCFを表すビットストリームBを提供することができる。場合によっては、先述の入力ポイントクラウドフレームIPCFは、動的ポイントクラウドのフレームを表す。次いで、先述の動的ポイントクラウドのフレームは、別のフレームとは独立して2レイヤ方式ポイントクラウド符号化構造1000によって符号化されてもよい。
【0039】
基本的には、2レイヤ方式ポイントクラウド符号化構造1000は、ベースレイヤBLおよびエンハンスメントレイヤELとしてビットストリームBを構造化する能力をもたらすことができる。ベースレイヤBLは、入力ポイントクラウドフレームIPCFの非可逆表現(lossy representation)をもたらすことができ、エンハンスメントレイヤELは、ベースレイヤBLによって表されない分離したポイントを符号化することによって、より高い品質(場合によっては可逆)表現をもたらすことができる。
【0040】
ベースレイヤBLは、図3に示されるような画像方式エンコーダ3000によって設けられてもよい。先述の画像方式エンコーダ3000は、入力ポイントクラウドフレームIPCFの3Dサンプルのジオメトリ/属性を表すジオメトリ/テキスチャ画像を提供することができる。これは、分離した3Dサンプルが破棄されることを可能にすることができる。ベースレイヤBLは、中間再構築済みポイントクラウドフレームIRPCFを提供することができる、図4に示されるような画像方式デコーダ4000によって復号されてもよい。
【0041】
次いで、図1における2レイヤ方式ポイントクラウド符号化構造1000に戻ると、コンパレータCOMPは、損失した/分離した3Dサンプルを検出/特定するために、入力ポイントクラウドフレームIPCFの3Dサンプルを中間再構築済みポイントクラウドフレームIRPCFの3Dサンプルと比較してもよい。次に、エンコーダENCは、損失した3Dサンプルを符号化してもよく、エンハンスメントレイヤELを設けてもよい。最後に、ベースレイヤBLおよびエンハンスメントレイヤELは、ビットストリームBを生成するよう、マルチプレクサマルチプレクサMUXによって共に多重化されてもよい。
【0042】
実施形態に従って、エンコーダENCは、検出器を含んでもよく、検出器は、中間再構築済みポイントクラウドフレームIRPCFの3D参照サンプルRを検出し、中間再構築済みポイントクラウドフレームIRPCFの3D参照サンプルRを損失した3DサンプルMと関連付けることができる。
【0043】
例えば、損失した3DサンプルMと関連付けられた3D参照サンプルRは、所与の基準に従った、Mのその最も近い隣接であってもよい。
【0044】
実施形態に従って、次いで、エンコーダENCは、損失した3DサンプルMの空間的位置およびそれらの属性を、先述の3D参照サンプルRの空間的位置および属性に従って判定された差として符号化してもよい。
【0045】
変形例では、それらの差は、別々に符号化されてもよい。
【0046】
例えば、損失した3DサンプルMについて、空間座標x(M)、y(M)、およびz(M)により、x-座標位置差(coordinate position difference)Dx(M)、y-座標位置差Dy(M)、z-座標位置差Dz(M)、R-属性成分差(attribute component difference)Dr(M)、G-属性成分差Dg(M)、ならびにB-属性成分差Db(M)が、以下のように計算されてもよい。
Dx(M)=x(M)-x(R)
x(M)は、図3によって提供されるジオメトリ画像内の3DサンプルM、それぞれのRのx-座標であり、
Dy(M)=y(M)-y(R)
y(M)は、図3によって提供されるジオメトリ画像内の3DサンプルM、それぞれのRのy-座標であり、
Dz(M)=z(M)-z(R)
z(M)は、図3によって提供されるジオメトリ画像内の3DサンプルM、それぞれのRのz-座標であり、
Dr(M)=R(M)-R(R)
R(M)、それぞれR(R)は、3DサンプルM、それぞれRの色属性のr-色成分であり、
Dg(M)=G(M)-G(R)
G(M)、それぞれG(R)は、3DサンプルM、それぞれRの色属性のg-色成分であり、
Db(M)=B(M)-B(R)
B(M)、それぞれB(R)は、3DサンプルM、それぞれRの色属性のb-色成分である。
【0047】
図2は、本実施形態のうちの少なくとも1つに従った、2レイヤ方式ポイントクラウド復号構造2000の例の概略ブロック図を示す。
【0048】
2レイヤ方式ポイントクラウド復号構造2000の振る舞いは、その能力に依存する。
【0049】
能力が制限された2レイヤ方式ポイントクラウド復号構造2000は、デマルチプレクサDMUXを使用することによって、ビットストリームBからベースレイヤBLにのみアクセスすることができ、次いで、図4に示されるようなポイントクラウドデコーダ4000によりベースレイヤBLを復号することによって、忠実な(非可逆であるが)バージョンIRPCFの入力ポイントクラウドフレームIPCFを提供することができる。
【0050】
完全な能力を有する2レイヤ方式ポイントクラウド復号構造2000は、デマルチプレクサDMUXを使用することによって、ビットストリームBからベースレイヤBLおよびエンハンスメントレイヤELの両方にアクセスすることができる。ポイントクラウドデコーダ4000は、図4に示されるように、ベースレイヤBLから中間再構築済みポイントクラウドフレームIRPCFを判定してもよい。デコーダDECは、エンハンスメントレイヤELから補完ポイントクラウドフレーム(complementary point cloud frame)CPCFを判定してもよい。次いで、コンバイナCOMは、中間再構築済みポイントクラウドフレームIRPCFおよび補完ポイントクラウドフレームCPCFを共に結合し、したがって、入力ポイントクラウドフレームIPCFのより高い品質(場合によっては可逆)表現(再構築)CRPCFを提供することができる。
【0051】
図3は、本実施形態のうちの少なくとも1つに従った、画像方式ポイントクラウドエンコーダ3000の例の概略ブロック図を示す。
【0052】
画像方式ポイントクラウドエンコーダ3000は、動的ポイントクラウドのジオメトリ情報およびテキスチャ(属性)情報を圧縮するよう、既存のビデオコーデックを利用する。これは、ポイントクラウドデータを異なるビデオシーケンスのセットに変換することによって必然的に達成される。
【0053】
特定の実施形態では、1つがポイントクラウドデータのジオメトリ情報を捕捉するためのものであり、もう1つがテキスチャ情報を捕捉するためのものである2つのビデオは、既存のビデオコーデックを使用して生成および圧縮されてもよい。既存のビデオコーデックの例は、HEVC Mainプロファイルエンコーダ/デコーダ(ITU-TH.265 Telecommunication standardization sector of ITU(02/2018),series H:audiovisual and multimedia systems,infrastructure of audiovisual services-coding of moving video,High efficiency video coding,Recommendation ITU-T H.265)である。
【0054】
2つのビデオを解釈するために使用される追加のメタデータも典型的には、別々に生成および圧縮される。そのような追加のメタデータは、例えば、占有マップ(occupancy map)OMおよび/または補助パッチ情報PIを含む。
【0055】
生成されたビデオビットストリームおよびメタデータは次いで、結合されたビットストリームを生成するように多重化されてもよい。
【0056】
メタデータは典型的には、全体情報のうちの少ない量を表すことに留意されるべきである。情報の大部分は、ビデオビットストリームである。
【0057】
そのようなポイントクラウド符号化/復号処理の例は、ISO/IEC JTC1/SC29/WG11MPEG2019/w18180(January 2019,Marrakesh)において定義されたMPEG draft standardを実装したTest model Category 2アルゴリズム(V-PCCとも表される)によって与えられる。
【0058】
ステップ3100では、モジュールPGMは、最良の圧縮をもたらすストラテジを使用して、入力ポイントクラウドフレームIPCFを表すデータセットの3Dサンプルを投影平面上の2Dサンプルに分解することによって、少なくとも1つのパッチを生成してもよい。
【0059】
パッチは、2Dサンプルのセットとして定義されてもよい。
【0060】
例えば、V-PCCでは、例えば、Hoppe et al.(Hugues Hoppe,Tony DeRose,Tom Duchamp,John McDonald,Werner Stuetzle.Surface reconstruction from unorganized points.ACM SIGGRAPH 1992 Proceedings,71-78)において説明されるように、3Dサンプルごとの法線(normal)が最初に推定される。次に、入力ポイントクラウドフレームIPCFの3Dサンプルを覆う3D境界ボックスの6個の有向平面(oriented planes)の1つと各々の3Dサンプルを関連付けることによって、入力ポイントクラウドフレームIPCFの初期のクラスタリングが取得される。より正確に、各々の3Dサンプルがクラスタリングされ、最も近い法線を有する(点法線および面法線のドット積を最大にする)有向平面と関連付けられる。次いで、それらの関連付けられた平面に3Dサンプルが投影される。それらの平面内の連結領域を形成する3Dサンプルのセットは、連結成分と称される。連結成分は、類似の法線および同一の関連付けられた有向平面を有する少なくとも1つの3Dサンプルのセットである。初期のクラスタリングは次いで、その法線およびその最も近くの隣接サンプルのクラスタに基づいて、各々の3Dサンプルと関連付けられたクラスタを反復的に更新することによって精緻化される。最終ステップは、先述の連結成分と関連付けられた有向平面に各々の連結成分の3Dサンプルを投影することによって行われる、各々の連結成分から1つのパッチを生成することから構成される。パッチは、ジオメトリ情報および/または属性情報に対応する投影された2Dサンプルを解釈するために、パッチごとに定義された補助パッチ情報を表す補助パッチ情報PIと関連付けられる。
【0061】
V-PCCでは、例えば、補助パッチ情報PIは、1)連結成分の3Dサンプルを覆う3D境界ボックスの6個の有向平面の1つを示す情報、2)面法線に対する情報、3)深度、タンジェンシャルシフト(tangential shift)、およびバイタンジェンシャルシフト(bi-tangential shift)の項において表されるパッチに対する連結成分の3D位置を判定する情報、ならびに4)パッチを覆う2D境界ボックスを定義した投影平面内の座標(u0,v0,u1,v1)などの情報を含む。
【0062】
ステップ3200では、パッチパッキングモジュール(patch packing module)PPMは、未使用空間を典型的には最小にする方式において重複なしに、2Dグリッド(キャンバスとも呼ばれる)に少なくとも1つの生成されたパッチをマッピング(配置)してもよく、2DグリッドのあらゆるT×T(例えば、16×16)ブロックが一意なパッチと関連付けられることを保証することができる。2Dグリッドの所与の最小ブロックサイズT×Tは、この2Dグリッドに配置されるような別個のパッチの間の最小距離を規定することができる。2Dグリッドの解像度は、入力ポイントクラウドサイズならびにその幅Wおよび高さHに依存してもよく、ブロックサイズTがメタデータとしてデコーダに送信されてもよい。
【0063】
補助パッチ情報PIは、2Dグリッドのブロックとパッチとの間の関連付けに対する情報を更に含んでもよい。
【0064】
V-PCCでは、補助情報PIは、2Dグリッドのブロックとパッチインデックスとの間の関連付けを判定するブロックツーパッチインデックス情報(BlockToPatch)を含んでもよい。
【0065】
図3aは、2つのパッチP1およびP2ならびにそれらの関連付けられた2D境界ボックスB1およびB2を含むキャンバスCの例を示す。図3aに示されるように、キャンバスC内で2つの境界ボックスが重複してもよいことに留意されよう。2Dグリッド(キャンバスの分離)のみが境界ボックスの内部で表されるが、キャンバスを分離することは、それらの境界ボックスの外側でも発生する。パッチと関連付けられた境界ボックスは、T×Tブロックに分離されてもよく、典型的には、T=16である。
【0066】
パッチに属する2Dサンプルを含むT×Tブロックが、占有されたブロックとして考えられてもよい。キャンバスの各々の占有されたブロックは、占有マップOM内で特定の画素値(例えば1)によって表され、キャンバスの各々の占有されていないブロックは、別の特定の値、例えば、0によって表される。次いで、占有マップOMの画素値は、パッチに属する2Dサンプルを含む、キャンバスのT×Tブロックが占有されるかどうかを示すことができる。
【0067】
図3aでは、占有されたブロックは、白色ブロックによって表され、網掛けブロックは、占有されていないブロックを表す。画像生成処理(ステップ3300および3400)は、入力ポイントクラウドフレームIPCFのジオメトリおよびテキスチャを画像として記憶するために、ステップ3200の間に計算された2Dグリッドへの少なくとも1つの生成されたパッチのマッピングを利用する。
【0068】
ステップ3300では、ジオメトリ画像ジェネレータGIGは、入力ポイントクラウドフレームIPCF、占有マップOM、および補助パッチ情報PIから、少なくとも1つのジオメトリ画像GIを生成してもよい。ジオメトリ画像ジェネレータGIGは、ジオメトリ画像GI内の占有されたブロック、よって、ジオメトリ画像GI内の非空白画像を検出(特定)するために、占有マップ情報を利用してもよい。
【0069】
ジオメトリ画像GIは、入力ポイントクラウドフレームIPCFのジオメトリを表すことができ、例えば、YUV420-8bitフォーマットにおいて表されるW×H画素のモノクロ画像であってもよい。
【0070】
投影平面の同一の2Dサンプルに投影(マッピング)される(同一の投影方向(ライン)に沿って)複数の3Dサンプルのケースをより良好に扱うために、レイヤと称される複数の画像が生成されてもよい。よって、異なる深度値D1、…、Dnがパッチの2Dサンプルと関連付けられてもよく、次いで、複数のジオメトリ画像が生成されてもよい。
【0071】
V-PCCでは、パッチの2Dサンプルが2つのレイヤに投影される。近接レイヤ(near layer)とも称される第1のレイヤは、例えば、より小さい深度を有する2Dサンプルと関連付けられた深度値D0を記憶してもよい。遠方レイヤ(far layer)とも称される第2のレイヤは、例えば、より大きい深度を有する2Dサンプルと関連付けられた深度値D1を記憶してもよい。代わりに、第2のレイヤは、深度値D1と深度値D0との間の差分値を記憶してもよい。例えば、第2の深度画像によって記憶された情報は、範囲[D0,D0+Δ]にある深度値に対応する間隔[0,Δ]以内にあってもよく、Δは、表面厚みを記述したユーザにより定義されたパラメータである。
【0072】
このようにして、第2のレイヤは、重要な輪郭のような頻度の特徴(contour-like high frequency feature)を含むことができる。よって、第2の深度画像がレガシビデオコーダを使用することによってコーディングすることが困難であることがあり、したがって、深度値は、先述の復号された第2の深度画像からはうまく再構築されないことがあり、それは、再構築済みポイントクラウドフレームのジオメトリの不良な品質に結果としてなることが明白である。
【0073】
実施形態に従って、ジオメトリ画像生成モジュールGIGは、補助パッチ情報PIを使用することによって、第1のレイヤおよび第2のレイヤの2Dサンプルと関連付けられた深度値をコーディング(導出)することができる。
【0074】
V-PCCでは、対応する連結成分を有するパッチ内の3Dサンプルの位置は、以下のように、深度δ(u,v)、タンジェンシャルシフトs(u,v)、およびバイタンジェンシャルシフトr(u,v)の項において表現されてもよい。
δ(u,v)=δ0+g(u,v)
s(u,v)=s0-u0+u
r(u,v)=r0-v0+v
g(u,v)は、ジオメトリ画像のルマ成分であり、(u,v)は、投影平面上の3Dサンプルと関連付けられた画素であり、(δ0,s0,r0)は、3Dサンプルが属する連結成分の対応するパッチの3D位置であり、(u0,v0,u1,v1)は、先述の連結成分と関連付けられたパッチの投影を覆う2D境界ボックスを定義した先述の投影平面内の座標である。
【0075】
よって、ジオメトリ画像生成モジュールGIGは、g(u,v)=δ(u,v)-δ0によって与えられたルマ成分g(u,v)としてレイヤ(第1のレイヤもしくは第2のレイヤ、またはその両方)の2Dサンプルと関連付けられた深度値をコーディング(導出)することができる。この関係は、不随する補助パッチ情報PIにより再構築済みジオメトリ画像g(u,v)から3Dサンプル位置(δ0,s0,r0)を再構築するために採用されてもよい。
【0076】
実施形態に従って、第1のジオメトリ画像GI0が第1のレイヤまたは第2のレイヤのいずれかの2Dサンプルの深度値を記憶することができるかどうか、および第2のジオメトリ画像GI1が第2のレイヤまたは第1のレイヤのいずれかの2Dサンプルと関連付けられた深度値を記憶することができるかどうかを示すために、投影モードが使用されてもよい。
【0077】
例えば、投影モードが0に等しいとき、第1のジオメトリ画像GI0は、第1のレイヤの2Dサンプルの深度値を記憶してもよく、第2のジオメトリ画像GI1は、第2のレイヤの2Dサンプルと関連付けられた深度値を記憶してもよい。相反的に、投影モードが1に等しいとき、第1のジオメトリ画像GI0は、第2のレイヤの2Dサンプルの深度値を記憶してもよく、第2のジオメトリ画像GI1は、第1のレイヤの2Dサンプルと関連付けられた深度値を記憶してもよい。
【0078】
実施形態に従って、全てのパッチに対して固定投影モードが使用されるかどうか、または各々のパッチが異なる投影モードを使用することができる可変投影モードが使用されるかどうかを示すために、フレーム投影モードが使用されてもよい。
【0079】
投影モードおよび/またはフレーム投影モードは、メタデータとして送信されてもよい。
【0080】
例えば、V-PCCのsection 2.2.1.3.1において、フレーム投影モード決定アルゴリズムをもたらすことができる。
【0081】
実施形態に従って、可変投影モードを使用することができることをフレーム投影が示すとき、パッチを投影(投影解除)するために使用する適切なモードを示すためにパッチ投影モードが使用されてもよい。
【0082】
パッチ投影モードは、メタデータとして送信されてもよく、場合によっては、補助パッチ情報PIに含まれる情報として送信されてもよい。
【0083】
例えば、V-PCCのsection 2.2.1.3.2において、パッチ投影モード決定アルゴリズムをもたらすことができる。
【0084】
ステップ3300の実施形態に従って、パッチの2Dサンプル(u,v)に対応する第1のジオメトリ画像、例えば、GI0における画素値は、先述の2Dサンプル(u,v)に対応する投影ラインに沿って定義された中間3Dサンプルの少なくとも1つの深度値を表すことができる。より正確に、先述の中間3Dサンプルは、投影ラインに沿って存在し、その深度値D1が第2のジオメトリ画像、例えば、GI1においてコーディングされる2Dサンプル(u,v)の同一の座標を共有する。更に、先述の中間3Dサンプルは、深度値D0と深度値D1との間の深度値を有してもよい。指定ビット(designated bit)は、中間3Dサンプルが存在する場合に1に設定され、そうでなければ0に設定される、各々の先述の中間3Dサンプルと関連付けられてもよい。
【0085】
図3bは、投影ラインPLに沿って2つの3DサンプルP0およびP1の間に位置する2つの中間3DサンプルPi1およびPi2の例を示す。3DサンプルP0およびP1は、D0およびD1に等しいそれぞれの深度値を有する。それぞれ2つの中間3DサンプルPi1およびPi2の深度値Di1およびDi2は、D0よりも大きく、D1よりも低い。
【0086】
次いで、先述の登園ラインに沿った全ての先述の指定ビットは、以下では、拡張占有マップ(EOM:Enhanced-Occupancy map)コードワードと表されるコードワードを形成するよう連結される。図3bに示されるように、8ビットの長さのEOMコードワードを想定して、2つの3DサンプルPi1およびPi2の位置を示すために、2ビットは1に等しい。最終的に、全てのEOMコードワードは、画像、例えば、占有マップOMにおいてパッキングされてもよい。そのケースでは、キャンバスの少なくとも1つのパッチは、少なくとも1つのEOMコードワードを含んでもよい。そのようなパッチは、参照パッチと表され、参照パッチのブロックは、EOM参照ブロックと表される。よって、占有マップOMの画素値は、キャンバスの占有されていないブロックを示すために第1の値、例えば、0に等しくてもよく、または例えば、D1-D0<=1であるとき、キャンバスの占有されたブロックを示すために、もしくは例えば、D1-D0>1であるとき、キャンバスのEOM参照ブロックを示すために、別の値、例えば、0よりも大きい値に等しくてもよい。
【0087】
占有マップOMにおける画素の位置(EOM参照ブロックおよびそれらの画素の値から取得されたEOMコードワードのビットの値を示す)は、中間3Dサンプルの3D座標を示す。
【0088】
ステップ3400では、テキスチャ画像ジェネレータTIGは、入力ポイントクラウドフレームIPCF、占有マップOM、補助パッチ情報PI、およびビデオデコーダVDECの出力(図4におけるステップ4200)である、少なくとも1つの復号されたジオメトリ画像DGIから導出された再構築済みポイントクラウドフレームのジオメトリから、少なくとも1つのテキスチャ画像TIを生成してもよい。
【0089】
テキスチャ画像TIは、入力ポイントクラウドフレームIPCFのテキスチャを表すことができ、例えば、YUV420-8bitフォーマットにおいて表されるW×H画素の画像であってもよい。
【0090】
テキスチャ画像ジェネレータTGは、テキスチャ画像内の占有されたブロック、よって、テキスチャ画像内の非空白画素を検出(特定)するために、占有マップ情報を利用してもよい。
【0091】
テキスチャ画像ジェネレータTIGは、テキスチャ画像TIを生成し、テキスチャ画像TIを各々のジオメトリ画像/レイヤDGIと関連付けるように適合されてもよい。
【0092】
実施形態に従って、テキスチャ画像ジェネレータTIGは、第1のテキスチャ画像TI0の画素値として、第1のレイヤの2Dサンプルと関連付けられたテキスチャ(属性)値T0を、および第2のテキスチャ画像TI1の画素値として、第2のレイヤの2Dサンプルと関連付けられたテキスチャ値T1をコーディング(記憶)してもよい。
【0093】
代わりに、テキスチャ画像生成モジュールTIGは、第1のテキスチャ画像TI0の画素値として、第2のレイヤの2Dサンプルと関連付けられたテキスチャ値T1を、および第2のジオメトリ画像GI1の画素値として、第1のレイヤの2Dサンプルと関連付けられたテキスチャ値D0をコーディング(記憶)してもよい。
【0094】
例えば、V-PCCのsection 2.2.3、2.2.4、2.2.5、2.2.8、または2.5に説明されるように、3Dサンプルの色が取得されてもよい。
【0095】
2つの3Dサンプルのテキスチャ値は、第1のテキスチャ画像または第2のテキスチャ画像のいずれかに記憶される。しかしながら、図3bに示されるように、投影された中間3Dサンプルの位置が別の3Dサンプル(P0またはP1)のテキスチャ値を記憶するために既に使用されている占有されたブロックに対応することを理由に、中間3Dサンプルのテキスチャ値をこの第1のテキスチャ画像TI0にも第2のテキスチャ画像TI1にも記憶することができない。よって、中間3Dサンプルのテキスチャ値は、手順通りに定義された(V-PCCのsection 9.4.5)位置にある第1のテキスチャ画像または第2のテキスチャ画像のいずれかに位置するEOMテキスチャブロックに記憶される。要するに、この処理は、テキスチャ画像における占有されていないブロックの位置を判定し、EOMテキスチャブロックと表される、テキスチャ画像の先述の占有されていないブロックの画素値として中間3Dサンプルと関連付けられたテキスチャ値を記憶する。
【0096】
実施形態に従って、パディング処理がジオメトリ画像および/またはテキスチャ画像に適用されてもよい。パディング処理は、ビデオ圧縮に適合された区分的に平滑な(piecewise smooth image)画像を生成するよう、パッチの間の空白を埋めるために使用されてもよい。
【0097】
V-PCCのsections 2.2.6および2.2.7において、画像パディングの例が提供される。
【0098】
ステップ3500では、ビデオエンコーダVENCは、生成された画像/レイヤTIおよびGIを符号化してもよい。
【0099】
ステップ3600では、エンコーダOMENCは、例えば、V-PCCのsection 2.2.2において詳述されるように、画像として占有マップを符号化してもよい。不可逆符号化または可逆符号化が使用されてもよい。
【0100】
実施形態に従って、ビデオエンコーダENCおよび/またはOMENCは、HEVC方式エンコーダであってもよい。
【0101】
ステップ3700では、エンコーダPIENCは、補助パッチ情報PI、場合によっては、ジオメトリ画像/テキスチャ画像のブロックサイズT、幅W、および高さHなどの追加のメタデータを符号化してもよい。
【0102】
実施形態に従って、補助パッチ情報は、異なって符号化されてもよい(例えば、V-PCCのsection 2.4.1において定義されるように)。
【0103】
ステップ3800では、ステップ3500、3600、および3700の生成された出力にマルチプレクサが適用されてもよく、結果として、それらの出力は、ベースレイヤBLを表すビットストリームを生成するように、共に多重化されてもよい。メタデータ情報がビットストリーム全体の僅かな部分を表すことに留意されるべきである。情報の大部分は、ビデオコーデックを使用して圧縮される。
【0104】
図4は、本実施形態のうちの少なくとも1つに従った、画像方式ポイントクラウドデコーダ4000の例の概略ブロック図を示す。
【0105】
ステップ4100では、ベースレイヤBLを表すビットストリームの符号化された情報を逆多重化するために、デマルチプレクサDMUXが適用されてもよい。
【0106】
ステップ4200では、ビデオデコーダVDECは、少なくとも1つの復号されたジオメトリ画像DGIおよび少なくとも1つの復号されたテキスチャ画像DTIを導出するよう、符号化された情報を復号してもよい。
【0107】
ステップ4300では、デコーダOMDECは、復号された占有マップDOMを導出するよう、符号化された情報を復号してもよい。
【0108】
実施形態に従って、ビデオデコーダVDECおよび/またはOMDECは、HEVC方式デコーダであってもよい。
【0109】
ステップ4400では、デコーダPIDECは、補助パッチ情報DPIを導出するよう、符号化された情報を復号してもよい。
【0110】
場合によっては、メタデータもビットストリームBLから導出されてもよい。
【0111】
ステップ4500では、ジオメトリ生成モジュールGGMは、少なくとも1つの復号されたジオメトリ画像DGI、復号された占有マップDOM、復号された補助パッチ情報DPI、および場合によっては追加のメタデータから、再構築済みポイントクラウドフレームIRPCFのジオメトリRGを導出してもよい。
【0112】
ジオメトリ生成モジュールGGMは、少なくとも1つの復号されたジオメトリ画像DGI内の非空白画素を特定するために、復号された占有マップ情報DOMを利用してもよい。
【0113】
先述の非空白画素は、復号された占有情報DOMの画素値および上記説明されたD1~D0の値に応じて、占有されたブロックまたはEOM参照ブロックのいずれかに属する。
【0114】
ステップ4500の実施形態に従って、ジオメトリ生成モジュールGGMは、非空白画素の座標から、中間3Dサンプルの3D座標のうちの2つを導出してもよい。
【0115】
ステップ4500の実施形態に従って、先述の非空白画素が先述のEOM参照ブロックに属するとき、ジオメトリ生成モジュールGGMは、EOMコードワードのビット値から、中間3Dサンプルの3D座標の3番目を導出してもよい。
【0116】
例えば、図3bの例に従って、中間3DサンプルPi1およびPi2の3D座標を判定するために、EOMコードワードEOMCが使用される。中間3DサンプルPi1の第3の座標は、例えば、Di1=D0+3によってD0から導出されてもよく、再構築済み3DサンプルPi2の第3の座標は、例えば、Di2=D0+5によってD0から導出されてもよい。オフセット値(3または5)は、投影ラインに沿ったD0とD1との間の間隔にある数である。
【0117】
実施形態に従って、先述の非空白画素が占有されたブロックに属するとき、ジオメトリ生成モジュールGGMは、非空白画素の座標、少なくとも1つの復号されたジオメトリ画像DGIの1つの先述の非空白画素の値、復号された補助パッチ情報、および場合によっては追加のメタデータから、再構築済み3Dサンプルの3D座標を導出してもよい。
【0118】
非空白画素の使用は、3Dサンプルとの2D画素の関係に基づいている。例えば、V-PCCにおける先述の投影により、再構築済み3Dサンプルの3D座標は、以下のように、深度δ(u,v)、タンジェンシャルシフトs(u,v)、およびバイタンジェンシャルシフトr(u,v)の項において表現されてもよい。
δ(u,v)=δ0+g(u,v)
s(u,v)=s0-u0+u
r(u,v)=r0-v0+v
g(u,v)は、復号されたジオメトリ画像DGIのルマ成分であり、(u,v)は、再構築済み3Dサンプルと関連付けられた画素であり、(δ0,s0,r0)は、再構築済み3Dサンプルが属する連結成分の3D位置であり、(u0,v0,u1,v1)は、先述の連結成分と関連付けられたパッチの投影を覆う2D境界ボックスを定義した投影平面内の座標である。
【0119】
ステップ4600では、テキスチャ生成モジュールTGMは、ジオメトリRGおよび少なくとも1つの復号されたテキスチャ画像DTIから、再構築済みポイントクラウドフレームIRPCFのテキスチャを導出してもよい。
【0120】
ステップ4600の実施形態に従って、テキスチャ生成モジュールTGMは、対応するEOMテキスチャブロックから、EOM参照ブロックに属する非空白画素のテキスチャを導出してもよい。テキスチャ画像におけるEOMテキスチャブロックの位置は、手順通りに定義される(V-PCCのsection 9.4.5)。
【0121】
ステップ4600の実施形態に従って、テキスチャ生成モジュールTGMは、第1のテキスチャ画像または第2のテキスチャ画像のいずれかの画素値として、占有されたブロックに直接属する非空白画素のテキスチャを導出してもよい。
【0122】
図5は、本実施形態のうちの少なくとも1つに従った、ベースレイヤBLを表すビットストリームのシンタックスの例を概略的に示す。
【0123】
ビットストリームは、ビットストリームヘッダSHおよび少なくとも1つのグループオブフレームストリームGOFSを含む。
【0124】
グループオブフレームストリームGOFSは、ヘッダHS、占有マップOMを表す少なくとも1つのシンタックス要素OMS、少なくとも1つのジオメトリ画像(または、ビデオ)を表す少なくとも1つのシンタックス要素GVS、少なくとも1つのテキスチャ画像(または、ビデオ)を表す少なくとも1つのシンタックス要素TVS、ならびに補助パッチ情報および他の追加のメタデータを表す少なくとも1つのシンタックス要素PISを含む。
【0125】
変形例では、グループオブフレームストリームGOFSは、少なくとも1つのフレームストリームを含む。
【0126】
図6は、様々な態様および実施形態が実装されるシステムの例を示す概略ブロック図を示す。
【0127】
システム6000は、以下で説明され、本明細書において説明される態様のうちの1つまたは複数を実行するように構成された様々な構成要素を含む1つまたは複数のデバイスとして具体化されてもよい。システム6000の全てまたは一部を形成することができる機器の例は、パーソナルコンピュータ、ラップトップ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオレコーディングシステム、接続された家電製品、接続された車両およびそれらの関連するプロセシングシステム、ヘッドマウントディスプレイデバイス(HMD、シースルーグラス)、プロジェクタ(ビーマ)、「ケーブス」)(複数のディスプレイを含む)、サーバ、ビデオエンコーダ、ビデオデコーダ、ビデオデコーダからの出力を処理するポストプロセッサ、ビデオエンコーダに入力を提供するプリプロセッサ、ウェブサーバ、セットトップボックス、ならびにポイントクラウド、ビデオ、もしくは画像を処理するためのいずれかの他のデバイス、または他の通信デバイスを含む。システム6000の要素は、単独または組み合わせで、単一の集積回路、複数のIC、および/または離散構成要素において具体化されてもよい。例えば、少なくとも1つの実施形態では、システム6000の処理要素およびエンコーダ/デコーダ要素は、複数のICおよび/または離散構成要素にわたって分散されてもよい。様々な実施形態では、システム6000は、例えば、通信バスを介して、または専用入力ポートおよび/もしくは出力ポートを通じて、他の同様のシステムまたは他の電子デバイスに通信可能に結合されてもよい。様々な実施形態では、システム6000は、本明細書において説明される態様のうちの1つまたは複数を実装するように構成されてもよい。
【0128】
システム6000は、例えば、本明細書において説明される様々な態様を実装するためにそこにロードされる命令を実行するように構成された少なくとも1つのプロセッサ6010を含んでもよい。プロセッサ6010は、組み込みメモリ、入力出力インタフェース、および本分野において既知の様々な他の回路を含んでもよい。システム6000は、少なくとも1つのメモリ6020(例えば、揮発性メモリデバイスおよび/または不揮発性メモリデバイス)を含んでもよい。システム6000は、それらに限定されないが、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、リードオンリメモリ(ROM)、プログラム可能リードオンリメモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、および/または光学ディスクドライブを含む、不揮発性メモリおよび/または揮発性メモリを含むことができる、記憶装置6040を含んでもよい。記憶装置6040は、非限定的な例として、内部ストレージ、アタッチドストレージ、および/またはネットワークアクセス可能ストレージを含んでもよい。
【0129】
システム6000は、例えば、符号化されたデータまたは復号されたデータを提供するようデータを処理するように構成されたエンコーダ/デコーダモジュール6030を含んでもよく、エンコーダ/デコーダモジュール6030は、その自身のプロセッサおよびメモリを含んでもよい。エンコーダ/デコーダモジュール6030は、符号化機能および/または復号機能を実行するデバイスに含まれてもよいモジュール(複数可)を表してもよい。既知のように、デバイスは、符号化モジュールおよび復号モジュールの一方または両方を含んでもよい。加えて、エンコーダ/デコーダモジュール6030は、システム6000の別個の要素として実装されてもよく、または当業者に既知なハードウェアおよびソフトウェアの組み合わせとしてプロセッサ6010内に組み込まれてもよい。
【0130】
本明細書において説明される様々な態様を実行するようプロセッサ6010またはエンコーダ/デコーダ6030にロードされることになるプログラムコードは、記憶装置6040に記憶されてもよく、プロセッサ6010による実行のためにその後メモリ6020にロードされてもよい。様々な実施形態に従って、プロセッサ6010、メモリ6020、記憶装置6040、およびエンコーダ/デコーダモジュール6030のうちの1つまたは複数は、本明細書において説明される処理の実行の間に様々なアイテムのうちの1つまたは複数を記憶してもよい。そのような記憶されるアイテムは、それらに限定されないが、ポイントクラウドフレーム、符号化/復号されたジオメトリ/テキスチャビデオ/画像または符号化/復号されたジオメトリ/テキスチャビデオ/画像の一部、ビットストリーム、マトリクス、ならびに変数、式、数式、演算、演算ロジックの処理からの中間結果または最終結果を含んでもよい。
【0131】
いくつかの実施形態では、プロセッサ6010および/またはエンコーダ/デコーダモジュール6030の内部のメモリは、符号化または復号の間に実行することができる処理のための命令を記憶し、ワーキングメモリを設けるために使用されてもよい。
【0132】
しかしながら、他の実施形態では、処理デバイス(例えば、処理デバイスは、プロセッサ6010またはエンコーダ/デコーダモジュール6030のいずれかであってもよい)の外部のメモリは、それらの機能のうちの1つまたは複数に対して使用されてもよい。外部メモリは、メモリ6020、ならびに/または記憶装置6040、例えば、動的揮発性メモリおよび/もしくは不揮発性フラッシュメモリであってもよい。いくつかの実施形態では、外部不揮発性フラッシュメモリは、テレビのオペレーティングシステムを記憶するために使用されてもよい。少なくとも1つの実施形態では、MPEG-2 part 2(MPEG-2 Videoとしても知られる、ITU-T Recommendation H.262およびISO/IEC 13818-2として既知の)、HEVC(High Efficiency Video coding)、またはVVC(Versatile Video Coding)など、ビデオ符号化および復号演算のためのワーキングメモリとして、RAMなどの高速外部動的揮発性メモリが使用されてもよい。
【0133】
システム6000の要素への入力は、ブロック6130において示されるように、様々な入力デバイスを通じて提供されてもよい。そのような入力デバイスは、それらに限定されないが、(i)例えば、ブロードキャスタによって無線で送信されたRF信号を受信することができるRF部分、(ii)コンポジット入力端子、(iii)USB入力端子、および/または(iv)HDMI入力端子を含む。
【0134】
様々な実施形態では、ブロック6130の入力デバイスは、本分野において既知な関連するそれぞれの入力処理要素を有してもよい。例えば、RF部分は、(i)所望の周波数を選択し(信号を選択し、または信号を周波数の帯域に帯域制限するとも称される)、(ii)選択された信号をダウンコンバートし、(iii)(例えば、)特定の実施形態ではチャネルと称されてもよい信号周波数帯域を選択するよう、より狭い帯域の周波数に再度帯域制限し、(iv)ダウンコンバートされ、帯域制限された信号を復調し、(v)誤り訂正を実行し、(vi)データパケットの所望のストリームを選択するよう逆多重化するために必要な要素と関連付けられてもよい。様々な実施形態のRF部分は、それらの機能を実行する1つまたは複数の要素、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、デモジュレータ、誤り訂正器、およびデマルチプレクサを含んでもよい。RF部分は、例えば、受信された信号をより低い周波数(例えば、中間周波数もしくはニアベースバンド周波数)またはベースバンドにダウンコンバートすることを含む、様々なそれらの機能を実行するチューナを含んでもよい。
【0135】
1つのセットトップボックスの実施形態では、RF部分およびその関連する入力処理要素は、有線(例えば、ケーブル)媒体を通じてRF信号を受信してもよい。次いで、RF部分は、所望の周波数帯域にフィルタリング、ダウンコンバート、および再度フィルタリングすることによって、周波数選択を実行してもよい。
【0136】
様々な実施形態は、上記説明された(および、他の)要素の順序を再配列し、それらの要素のいくつかを除去し、および/または同様の機能もしくは異なる機能を実行する他の要素を追加する。
【0137】
要素を追加することは、例えば、増幅器およびアナログ-デジタル変換器を挿入することなど、既存の要素の間に要素を挿入することを含んでもよい。様々な実施形態では、RF部分は、アンテナを含んでもよい。
【0138】
加えて、USB端子および/またはHDMI端子は、USB接続および/またはHDMI接続にわたってシステム6000を他の電子デバイスに接続するためのそれぞれのインタフェースプロセッサを含んでもよい。入力処理の様々な態様、例えば、リードソロモン誤り訂正が、必要に応じて、例えば、別個の入力処理IC内で、またはプロセッサ6010内で実装されてもよいことが理解されよう。同様に、USBインタフェース処理またはHDMIインタフェース処理の態様は、必要に応じて、別個のインタフェースIC内で、またはプロセッサ6010内で実装されてもよい。復調され、誤り訂正され、および逆多重化されたストリームは、例えば、出力デバイス上での提示のために必要なデータストリームを処理するためにメモリおよび記憶素子との組み合わせで動作するプロセッサ6010およびエンコーダ/デコーダ6030を含む様々な処理要素に提供されてもよい。
【0139】
システム6000の様々な要素は、統合された筐体内に設けられてもよい。統合された筐体内で、適切な接続配列6140、例えば、I2Cバス、ワイヤリング、およびプリント回路基板を含む、本分野において既知の内部バスを使用して、様々な要素が相互接続されてもよく、その間でデータを送信してもよい。
【0140】
システム6000は、通信チャネル6060を介して他のデバイスとの通信を可能にする通信インタフェース6050を含んでもよい。通信インタフェース6050は、それらに限定されないが、通信チャネル6060を通じてデータを送信および受信するように構成された送受信機を含んでもよい。通信インタフェース6050は、それらに限定されないが、モデムまたはネットワークカードを含んでもよく、通信チャネル6060は、例えば、有線媒体および/または無線媒体内で実装されてもよい。
【0141】
様々な実施形態では、IEEE802.11などのWi-Fiネットワークを使用して、データがシステム6000にストリーミングされてもよい。それらの実施形態のWi-Fi信号は、Wi-Fi通信に対して適合された、通信チャネル6060および通信インタフェース6050を通じて受信されてもよい。それらの実施形態の通信チャネル6060は典型的には、アクセスポイントまたはルータに接続されてもよく、アクセスポイントまたはルータは、ストリーミングアプリケーションおよび他のオーバザトップ通信を可能にするためのインターネットを含むネットワークの外部へのアクセスをもたらす。
【0142】
他の実施形態は、入力ブロック6130のHDMI接続を通じてデータを配信するセットトップボックスを使用して、システム6000にストリーミングされたデータを提供してもよい。
【0143】
更なる他の実施形態は、入力ブロック6130のRF接続を使用して、システム6000にストリーミングされたデータを提供してもよい。
【0144】
様々な方式においてシグナリングを達成することができることが認識されよう。例えば、様々な実施形態では、対応するデコーダに情報をシグナリングするために、1つまたは複数のシンタックス要素およびフラグなどが使用されてもよい。
【0145】
システム6000は、ディスプレイ6100、スピーカ6110、および他の周辺デバイス6120を含む様々な出力デバイスに出力信号を提供してもよい。他の周辺デバイス6120は、様々な例示的な実施形態では、スタンドアロンDVR、ディスクプレイヤ、ステレオシステム、照明システム、およびシステム3000の出力に基づいた機能を提供する他のデバイスのうちの1つまたは複数を含んでもよい。
【0146】
様々な実施形態では、制御信号は、AV.Link(音声/ビデオリンク)、CEC(Consumer Electronics Control)、またはユーザの介入によりもしくはユーザの介入なしにデバイスツーデバイス制御を可能にする他の通信プロトコルなどのシグナリングを使用して、システム6000とディスプレイ6100、スピーカ6110、または他の周辺デバイス6120との間で通信されてもよい。
【0147】
出力デバイスは、それぞれのインタフェース6070、6080、および6090を通じて専用接続を介して、システム6000に通信可能に結合されてもよい。
【0148】
代わりに、出力デバイスは、通信インタフェース6050を介して通信チャネル6060を使用して、システム6000に接続されてもよい。ディスプレイ6100およびスピーカ6110は、例えば、テレビなどの電子デバイス内のシステム6000の他の構成要素との単一のユニットにおいて統合されてもよい。
【0149】
様々な実施形態では、ディスプレイインタフェース6070は、例えば、タイミングコントローラ(T Con)チップなどのディスプレイドライバを含んでもよい。
【0150】
ディスプレイ6100およびスピーカ6110は代わりに、例えば、入力6130のRF部分が別個のセットトップボックスの一部である場合に、他の構成要素のうちの1つまたは複数とは別個であってもよい。ディスプレイ6100およびスピーカ6110が外部構成要素であってもよい様々な実施形態では、出力信号は、例えば、HDMIポート、USBポート、またはCOMP出力を含む専用出力接続を介して提供されてもよい。
【0151】
V-PCCにおいて定義されるように、EOMテキスチャブロックから中間3Dサンプルのテキスチャ値を取り出すことは、それらの位置が占有マップOMのEOM参照ブロックのEOMコードワードから導出されることを理由に、先述の中間3Dサンプルの位置を示すために、および直列の処理によって定義されるEOMテキスチャブロックの位置を示すために、追加のシンタックスを必要としない。しかしながら、全てのEOMテキスチャブロックが特定のEOMテキスチャブロックの位置を判定するよう体系的に処理されるはずであることを理由に、特定の中間3Dサンプルのテキスチャ値にランダムにアクセスすることは可能でない。
【0152】
加えて、先述のテキスチャ画像のコンテンツが低空間的相関(冗長性)を有することがあることを理由に、テキスチャ画像のパッチの間にEOMテキスチャブロックを埋め込むことは、先述のテキスチャ画像の圧縮効率を低減させることがある。
【0153】
少なくとも1つの実施形態の全体的な態様に従って、少なくとも1つの中間3Dサンプルのテキスチャ値を表す少なくとも1つのEOM(拡張占有マップ)テキスチャパッチをシグナリングすることを含む方法が提供される。
【0154】
EOMテキスチャパッチをシグナリングすることは、特定の中間3Dサンプルのテキスチャ値へのランダムな(直接、高速)アクセスを可能にする。言い換えると、EOMコードワードから再構築された中間3Dサンプルに対応するテキスチャを独立して復号することが可能である。これは、空間的スケーラビリティまたは並列復号のような追加の特徴を実装することを可能にする。
【0155】
図7は、本実施形態のうちの少なくとも1つに従った、少なくとも1つのEOMテキスチャパッチをシグナリングする方法の例を示す。
【0156】
ステップ710では、モジュールは、ビットストリームに、ポイントクラウドフレーム(frmIdxによってインデックス付けされる)のキャンバス内のEOMテキスチャパッチ(patchIndexによってインデックス付けされる)の2D位置、および先述のEOMテキスチャパッチのサイズ(高さ、幅)を表す少なくとも1つのシンタックス要素SE1を追加してもよい。
【0157】
キャンバスの例が図3aに示される。
【0158】
ステップ720では、ビットストリームが送信されてもよい。
【0159】
ステップ730では、モジュールは、ビットストリーム(受信されたビットストリーム)から、少なくとも1つのシンタックス要素SE1を取り出してもよく(読み出す)、先述の少なくとも1つのシンタックス要素SE1から、ポイントクラウドフレームのキャンバス内のEOMテキスチャパッチの2D位置、および先述のEOMテキスチャパッチのサイズ(高さ、幅)を抽出してもよい。
【0160】
実施形態に従って、EOMテキスチャパッチ(patchIndexによってインデックス付けされる)の2D位置は、キャンバスの2D座標系によって定義された水平座標etpdu_2d_shift_uおよび垂直座標etpdu_2d_shift_vによってシグナリングされてもよい。
【0161】
この実施形態は、キャンバスにEOMテキスチャパッチを柔軟に配置することをもたらす。
【0162】
実施形態に従って、EOMテキスチャパッチ(patchIndexによってインデックス付けされる)のサイズ(高さ、幅)は、EOMテキスチャパッチの高さおよび幅をそれぞれ表すetpdu_2d_delta_size_uおよびetpdu_2d_delta_size_vによってシグナリングされてもよい。
【0163】
この実施形態は、EOMテキスチャパッチのサイズに適合することをもたらす。
【0164】
図8aに示されるステップ710の実施形態に従って、シンタックス要素SE1も、キャンバスのパッチ(patchIndexによってインデックス付けされる)の2Dサンプルの数をシグナリングする要素etpdu_pointsであってもよい。
【0165】
送信されることになる低い量のデータしか必要としないことを理由に、この実施形態は有利である。
【0166】
しかしながら、このパッチがEOMテキスチャパッチでない場合でさえ、すなわち、このパッチが中間3Dサンプルのいずれのテキスチャ値をも搬送しない場合でさえ(etpdu_pointsが0に設定されるケースでは)、パッチの2Dサンプルの数がシグナリングされる。
【0167】
また、この実施形態は、EOMテキスチャパッチにおけるパッチ情報がカレントポイントクラウドフレーム内のパッチと同一のオーダー(order)にあることを必要とする。
【0168】
図9aは、先述のステップ710の実施形態に従った、4つのテキスチャパッチおよび単一のEOMテキスチャパッチEOMPを含むキャンバスを有するテキスチャ画像の例を示す。
【0169】
テキスチャパッチ#1、#2、#3、および#4の各々は、ポイントクラウドの3Dサンプルのテキスチャ値を記憶し、EOMテキスチャパッチEOMPは、テキスチャパッチ#1、#2、および#4に対する中間サンプルのテキスチャ値を記憶する。テキスチャパッチ#1に対する少なくとも1つの中間3Dサンプルのテキスチャ値は、EOMテキスチャパッチEOMPの左上隅から最初に追加され、その後、テキスチャパッチ#2に対する少なくとも1つの中間3Dサンプルのテキスチャ値(複数可)が続き、その後、テキスチャパッチ#4に対する少なくとも1つの中間3Dサンプルのテキスチャ値(複数可)が続く。
【0170】
この実施形態は、複数のEOMテキスチャパッチをサポートしない。
【0171】
この実施形態は、例えば、図9aに示されるように、2つの連続したパッチの中間3Dサンプルのテキスチャ値の間の「ギャップ」を許容しない。
【0172】
図8bに示されたステップ710の実施形態に従って、シンタックス要素SE1も、EOMテキスチャパッチ内の参照パッチの数を表す要素etpdu_patch_countであってもよく、別のシンタックス要素SE1も、「p」番目の参照パッチのインデックスを表す要素etpdu_ref_indexであってもよく、別のシンタックス要素SE1も、「p」番目の(カレント)参照パッチ(前の「参照パッチ「p-1」に続く)の開始位置を判定するためのオフセット(画素内の)を表す要素etpdu_offsetであってもよい。
【0173】
図9bは、ステップ710の実施形態に従った、4つのテキスチャパッチおよび単一のEOMテキスチャパッチEOMPを含むキャンバスを有するテキスチャ画像の例を示す。
【0174】
テキスチャパッチ#1、#2、#3、および#4の各々は、ポイントクラウドの3Dサンプルのテキスチャ値を記憶し、EOMテキスチャパッチEOMPは、テキスチャパッチ#1、#2、および#4に対する中間サンプルのテキスチャ値を記憶する。テキスチャパッチ#1に対する少なくとも1つの中間3Dサンプルのテキスチャ値は、EOMテキスチャパッチEOMPの左上隅から最初に追加される。次に、開始位置S1が、先述のテキスチャパッチに対する要素etpdu_offsetからテキスチャパッチ#2に対して判定される。テキスチャパッチ#2に対する少なくとも1つの中間3Dサンプルのテキスチャ値(複数可)が次いで記憶される。次に、開始位置S2が、先述のテキスチャパッチに対する要素etpdu_offsetからテキスチャパッチ#4に対して判定される。テキスチャパッチ#4に対する少なくとも1つの中間3Dサンプルのテキスチャ値(複数可)が次いで記憶される。
【0175】
この実施形態は、非常に柔軟な解決策を提供し、図9cに示される複数のEOMテキスチャパッチをサポートすることができるが、前の実施形態と比較して、より多くのデータが送信されることを必要とする。
【0176】
図8cに示されたステップ710の実施形態に従って、シンタックス要素SE1はまた、EOMテキスチャパッチ内の参照パッチの数を表す要素etpdu_patch_countであってもよく、「p」番目の(カレント)参照パッチ(前の参照パッチ「p-1」に続く)の開始位置を判定するためのオフセット(画素内の)を表す要素etpdu_offsetであってもよい。
【0177】
図8a~bに示された実施形態と比較して、図8cに示された実施形態は、シンタックス(「if」ステートメント)を構文解析する際のビットの複雑度をあまり増やさないが、図8bに示された実施形態(パッチのオーダーを変更することができないだけである)に非常に近いレベルの柔軟性をもたらす。
【0178】
図8cに示された実施形態は、複数のEOMテキスチャ参照パッチをサポートするが、EOMテキスチャ参照パッチのインデックスが、全てのEOMテキスチャパッチにわたってポイントクラウドのパッチのインデックスと同一のオーダーに従うことを必要とし、すなわち、N個の正規パッチが存在する場合、最初のm1個のパッチのテキスチャは、第1のEOMテキスチャパッチにある必要があり、次のm2個のパッチのテキスチャは、次のEOMテキスチャパッチにある必要がある、などであり、m1…mXの合計は、N以下である必要がある。
【0179】
図8dに示されたステップ710の実施形態に従って、シンタックス要素SE1はまた、図8a~cに示されたステップ710の実施形態の1つによって定義されるように、EOMテキスチャパッチを表す特定のシンタックスを示す要素etpdu_modeであってもよい。
【0180】
この実施形態は、複数の変形例を単一のシンタックスSE1に組み合わせることを可能にする。
【0181】
ステップ710の実施形態に従って、モジュールはまた、ポイントクラウドフレームを表すシンタックスの全体の異なるレベルにおいて、先述の少なくとも1つのシンタックス要素SE1をシグナリングするよう、少なくとも1つの他のシンタックス要素SE2をビットストリームに追加してもよい。
【0182】
ステップ710の実施形態に従って、少なくとも1つのシンタックス要素SE1は、シーケンスレベルにおいてシグナリングされてもよい。
【0183】
例えば、先述の少なくとも1つのシンタックス要素SE1は、V-PCCにおいて定義されるように、シンタックス要素sequence_parameter_set()においてシグナリングされてもよい。
【0184】
図10に示される先述のステップ710の実施形態の変形例に従って、第2のシンタックス要素SE2は、V-PCCにおいて定義されるように、シーケンスパラメータセットシンタックスのシンタックス要素sps_enhanced_occupancy_map_texture_patch_present_flagであってもよい。
【0185】
シンタックス要素sps_enhanced_occupancy_map_texture_patch_present_flagは、ポイントクラウドフレームのシーケンスに対してEOMテキスチャパッチが存在するかどうかを示す。
【0186】
シンタックス要素sps_enhanced_occupancy_map_texture_patch_present_flagが0に等しいとき、EOMテキスチャパッチは存在しない。シンタックス要素sps_enhanced_occupancy_map_texture_patch_present_flagが1に等しいとき、EOMテキスチャパッチは存在する。
【0187】
先述のシンタックス要素sps_enhanced_occupancy_map_texture_patch_present_flagはまた、既存のEOMテキスチャパッチがテキスチャ画像TI0もしくはTI1に存在するかどうか、または先述の既存のEOMテキスチャパッチが別のビットストリームに存在するかどうかを示すために、V-PCCにおいて定義されるように、シンタックス要素sps_enhanced_occupancy_map_depth_for_enabled_flagと組み合わされてもよい。
【0188】
ステップ710の先述の実施形態の変形例に従って、シンタックス要素sequence_parameter_set()は任意選択で、EOMテキスチャパッチ、すなわち、pcmパッチ(V-PCCにおけるsection 7.3.33および7.4.33)に対して異なるビデオを使用してもよく、EOMテキスチャパッチは、異なるテキスチャ画像(ビデオビットストリーム)にある。
【0189】
これは、グローバルV-PCCビットストリーム内のサブビットストリームの数を増大させると共に、各々の符号化パラメータをより良好に調節することを可能にし、主に、より良好なスケーラビリティの特徴をもたらし、例えば、pcmパッチのテキスチャのみが必要とされる場合にEOMテキスチャパッチを復号する必要がなく、逆もまたそうである。
【0190】
図11は、ステップ710の先述の実施形態の先述の変形例に従った、シンタックス要素sequence_parameter_set()のシンタックステーブルの例を示す。
【0191】
シンタックス要素sps_eom_texture_patch_separate_video_present_flagは、別個のビデオがEOMテキスチャパッチに対して使用されるかどうかを明確に示す。
【0192】
図12および14に示されるステップ710の実施形態に従って、少なくとも1つのシンタックス要素SE1は、フレームレベルにおいてシグナリングされる。
【0193】
例えば、先述の少なくとも1つのシンタックス要素SE1は、V-PCCにおいて定義されるように、シンタックス要素patch_frame_data_unit()においてシグナリングされる。
【0194】
図12に示されるステップ710の先述の実施形態の変形例に従って、第2のシンタックス要素SE2は、EOMテキスチャパッチを表すための特定のシンタックスをシグナリングするシンタックス要素sps_enhanced_occupancy_map_texture_patch_present_flagであってもよい。
【0195】
シンタックス要素sps_enhanced_occupancy_map_texture_patch_present_flagは、EOMテキスチャパッチがビットストリームに存在するかどうかを示す。
【0196】
シンタックス要素sps_enhanced_occupancy_map_texture_patch_present_flagが0に等しいとき、EOMテキスチャパッチが存在しない。シンタックス要素sps_enhanced_occupancy_map_texture_patch_present_flagが1に等しいとき、EOMテキスチャパッチが存在し、よって、EOMテキスチャパッチに対するデータは、V-PCCにおいて定義されるように、関数patch_information_data(.)のおかげでビットストリームから取り出される。
【0197】
先述の関数は、図13の表に定義されるようなパッチモードに依存する。
【0198】
パッチモードI_EOMT(イントラフレームについての)は、パッチがV-PCCにおいて定義されるようなイントラフレーム内の拡張占有マップテキスチャパッチであることを識別し、パッチモードP_EOMT(インターフレームまたは予測済みフレームについての)は、パッチがV-PCCにおいて定義されるようなインターフレーム内の拡張占有マップテキスチャパッチであることを識別する。
【0199】
図14に示されるステップ710の先述の実施形態の変形例に従って、第2の要素SE2も、何個のEOMテキスチャパッチが存在するかを示すシンタックス要素pfdu_eom_texture_patch_countであってもよい。EOMテキスチャパッチの数は、pfdu_patch_count_minus1+1以下である必要がある。
【0200】
先述の変形例が図14に示される。EOMテキスチャパッチの数にわたるループは、EOMテキスチャパッチの各々に対する取得されたデータに対して稼働する。
【0201】
複数のEOMテキスチャパッチを使用することは、単一のパッチを使用するよりもやや多くのビットレートを必要とするが、よりコンパクトなパッチのパッキングを可能にする(いくつかの小さいEOMテキスチャパッチは、単一の大きなEOMテキスチャパッチよりもテキスチャキャンバス内で適合することが容易である)。
【0202】
図15に示されるステップ710の実施形態に従って、第2の要素SE2はまた、パッチのタイプ、例えば、正規イントラパッチ、I_INTRAまたはP_INTRAを示すシンタックス要素patch_modeであってもよい。
【0203】
図16は、本実施形態のうちの少なくとも1つに従った、中間3Dサンプルのテキスチャ値をコーディングする方法のブロック図を示す。
【0204】
ステップ1610では、モジュールは、少なくとも1つの中間3Dサンプルのテキスチャ値TVを導出するよう、投影平面上のポイントクラウドフレームPCFの直交射影を分析してもよい。
【0205】
ステップ1620では、モジュールは、先述の少なくとも1つのテキスチャ値TVを少なくとも1つのEOMテキスチャパッチEOMPにマッピングしてもよい。
【0206】
ステップ1630は、モジュールは、先述の少なくとも1つのEOMテキスチャパッチEOMTPをテキスチャ画像にパッキングしてもよい。
【0207】
例えば、ステップ1610および1620は、モジュールPGMがEOMテキスチャパッチEOMTPごとに追加のパッチを生成することができる、ステップ3100の一部であってもよい。ステップ1630は次いで、ステップ3200および3400の一部であってもよい。ステップ3200では、先述の少なくとも1つの追加のパッチは、キャンバス内の他の生成されたパッチと共にパッキングされ、ステップ3400では、テキスチャ画像ジェネレータTGは、テキスチャ画像内の先述の少なくとも1つの追加のパッチのコロケートされた少なくとも1つのEOMテキスチャパッチEOMTPにおけるテキスチャ値TVをコーディング(マッピング)してもよい。
【0208】
ステップ1640では、モジュールは、ビットストリームにおいて、図7と関連して説明された先述の少なくとも1つのパッキングされたEOMテキスチャパッチEOMTPをシグナリングしてもよい。
【0209】
例えば、ステップ1640は、ステップ3700の一部であってもよく、ステップ3700では、エンコーダPIENCは、図10~15と関連して説明されたシンタックスに続く先述の少なくとも1つのEOMテキスチャパッチEOMTPを表す、少なくとも1つのシンタックス要素SE1、場合によってはSE2を符号化してもよい。
【0210】
ステップ1620の実施形態に従って、テキスチャ値TVを少なくとも1つのEOMテキスチャパッチEOMTPにマッピングすることは、図16に示されるような2つのサブステップ1621および1622を含む。
【0211】
サブステップ1621では、モジュールは、ポイントクラウドフレームの占有マップOMのパッチがEOM参照ブロックEOMBを含むかどうかをチェックしてもよい。
【0212】
ステップ1622では、モジュールは、各々のEOM参照ブロックの少なくとも1つの中間3Dサンプルのテキスチャ値TVを少なくとも1つのEOMテキスチャパッチEOPMに埋め込んでもよい。よって、各々のEOMテキスチャパッチは、少なくとも1つのEOM参照ブロックと関連付けられる。
【0213】
基本的に、少なくとも1つのEOM参照ブロックを含むパスごとに、テキスチャ値TVのソート済みリストが形成され、先述の順序付けられたリストは次いで、少なくとも1つのEOMテキスチャパッチにラスタライズされる。
【0214】
ステップ1622の実施形態に従って、占有マップOMのキャンバスのパッチの画素を直列にスキャンすることによって、テキスチャ値TVのソート済みリストが形成されてもよい。画素値がEOMコードワードに対応する場合、対応する中間3Dサンプルのテキスチャ値TVは、順序付けられたリストの終わりに連結される。
【0215】
スキャンの例は、ラスタスキャン、Z階数スキャン、および2D-ヒルベルト曲線である。ラスタスキャンは、EOMテキスチャパッチを左から右へ、および上から下へスキャンすることができる。ブロック方式スキャンまたはEOMテキスチャパッチのブロックごとのスキャンも使用されてもよく、それでは、ブロックがラスタスキャンされる。
【0216】
ステップ1622のこの実施形態は、3D空間をスキャンすることを必要としないことを理由に、最も単純なアプローチである。
【0217】
ステップ1622の実施形態に従って、テキスチャ値TVのソート済みリストは、以下のように形成されてもよい。
最初に、パッチの全ての中間3Dサンプルが再構築される。次いで、3D曲線を使用して3D空間をスキャンし、パッチの中間3Dサンプルのテキスチャ値DVは、3D曲線において発見された順序でリストに連結される。
【0218】
3D曲線の例は、ヒルベルト曲線、Z階数曲線、またはいずれかの局所性保存曲線が適切である。
【0219】
この実施形態は、3Dスキャンに起因してより複雑であるが、EOMテキスチャパッチの隣接サンプルの間の相関性を増大させ、コーディング効率を増大させる。
【0220】
ステップ1622の実施形態に従って、テキスチャ値TVのソート済みリストは、以下のように形成されてもよい。
最初に、パッチの全ての中間3Dサンプルが再構築され、ツリーによって表される。ツリーは、全ての中間サンプルを3D空間に最初にマッピングし、再帰的に、3D空間を、例えば、8分に区画化し(8分木を形成するために)、または半分に区画化する(KDツリーを形成するために)ことによって作成される。次いで、テキスチャ値TVのソート済みリストがそのようなツリーをトラバースすることによって形成される。
【0221】
ツリーの例は、8分木およびKDツリーである。トラバースすることは、深度優先または幅優先で行われてもよい。
【0222】
この実施形態は、2Dスキャンと3Dスキャンとの間のトレードオフである。
【0223】
ステップ710の実施形態に従って、シンタックス要素SE1は、テキスチャ値のリストがどのようにソートされるかを示す要素でもあってもよい。
【0224】
ステップ710の実施形態に従って、シンタックス要素SE1は、ラスタライズのタイプがどのように使用されるかを示す要素でもあってもよい。
【0225】
実施形態に従って、タイプをソートおよびラスタライズすることは固定され、エンコーダおよびデコーダによって知られる。
【0226】
図17は、本実施形態のうちの少なくとも1つに従った、中間3Dサンプルのテキスチャ値を復号する方法のブロック図を示す。
【0227】
ステップ1710では、モジュールは、先述の少なくとも1つのEOMテキスチャパッチEOMTPが図7と関連して説明された方法に従ってシグナリングされるとき、ビットストリームから少なくとも1つのEOMテキスチャパッチEOMTPを導出する。
【0228】
例えば、ステップ1710は、ステップ4400の一部であり、ステップ4400では、復号されたPIDECは、図10~15と関連して説明されたシンタックスに続く、少なくとも1つのシンタックス要素SE1、場合によってはSE2から、少なくとも1つのEOMテキスチャパッチEOMTP情報を復号してもよい。
【0229】
ステップ1720では、モジュールは、先述の少なくとも1つのEOMテキスチャパッチEOMTPからテキスチャ値TVを導出してもよい。
【0230】
ステップ1730では、モジュールは、少なくとも1つのテキスチャ値を少なくとも1つの中間3Dサンプルに割り当ててもよい。
【0231】
例えば、ステップ1720は、ステップ4600の一部であってもよく、ステップ4600では、テキスチャ生成モジュールTGMは、テキスチャ値TVを少なくとも1つの中間3Dサンプルに割り当ててもよい。
【0232】
ステップ1720の実施形態に従って、EOMテキスチャパッチEOMTPからテキスチャ値TVを導出することは、V-PCCのsection 9.4.5において説明されるような再構築処理のステップ6の修正である。
【0233】
より正確に、サブステップ1721では、EOMテキスチャパッチ内の参照パッチの第1の画素の(u,v)座標が判定される。先述の画素値は、第1の中間3Dサンプルにテキスチャ値TVを提供する。次に、サブステップ1722では、中間3Dサンプルに続く少なくとも1つについてのテキスチャ値は、先述の第1の画素の(u,v)座標から取り出される。
【0234】
それらのサブステップの説明は、図8bに示されたEOMテキスチャパッチについてのよりリッチなシンタックスを想定して提供される。しかしながら、上記説明されたようなEOMテキスチャパッチの他のシンタックスに対するそれらのサブステップの他の代替的な実施形態も導出されてもよい。
【0235】
以下では、ポイントクラウドフレーム内のEOMテキスチャパッチのシンタックスを復号するようビットストリームが構文解析されていることが想定される(インデックスframeIdxにより)。pfdu_eom_texture_patch_countは、ポイントクラウドフレームframeIdx内のEOMテキスチャパッチの数を指す。ポイントは、フレームframeIdx内のパッチpatchIdxに属し、そのようなポイントは、パッチpatchIdxの復号順序における最初の中間ポイントである。
【0236】
サブステップ1721の実施形態に従って、EOMテキスチャパッチ内の参照パッチの第1の画素の(u,v)座標は、以下のように算出される。
-カレントインデックスpがターゲットとされたパッチインデックスpatchIdxに等しくなるまでEOMテキスチャパッチをスキャンし、
-オフセット(etpdu_2d_shift_uおよびetpdu_2d_shift_v)により座標(u,v)をカレントパッチ(カレントp)の開始位置に初期化する。
【0237】
以下は、この実施形態を実施するアルゴリズムの疑似コードである。
【0238】
【数1】
【0239】
EOMテキスチャパッチシンタックスに対して使用される実施形態に応じて、上記パラメータのうちのいくつかは、それらのデフォルト値に設定されてもよい。例えば、
-オフセットに対してシンタックス要素が存在しない場合、上記アルゴリズムにおいてetpdu_offset[frmIdx][p][r]=0に設定する。
-参照パッチカウント、pfdu_eom_texture_patch_countに対してシンタックス要素が存在しない場合、pfdu_eom_texture_patch_count[frmIdx][p]をpfdu_patch_count_minus1+1に設定する。
【0240】
サブステップ1722の実施形態に従って、中間3Dサンプルに続く少なくとも1つについてのテキスチャ値TVは、先述の第1の画素(ステップ1721)の(u,v)座標を有する第1のポイントを有する参照パッチをスキャンすることに従って、先述の第1の画素の(u,v)座標から取り出される。
【0241】
例えば、このスキャンは、所与のラスタスキャン順序(例えば、V-PCCのsection 3.1.2においてリストされたラスタライズモードの1つ)に続く(u,v)座標をnの位置だけ進める関数coordinate_advance_raster(u,v,n)およびEOMテキスチャパッチの寸法によって行われてもよい。
【0242】
典型的なラスタスキャンが図18に示される。
【0243】
図1~18では、様々な方法が本明細書で説明され、方法の各々は、説明される方法を達成するための1つまたは複数のステップまたはアクションを含む。ステップまたはアクションの特定の順序が方法の適切な動作のために必要とされない限り、特定のステップおよび/またはアクションの順序および/または仕様は、修正または組み合わされてもよい。
【0244】
ブロック図および動作フローチャートに関していくつかの実施例が説明される。各々のブロックは、指定された論理機能(複数可)を実装するための1つまたは複数の実行可能命令を含む、回路要素、モジュール、またはコードの部分を表す。他の実装態様では、ブロックにおいて記述される機能(複数可)は、示された順序とは関係なく存在してもよいことにも留意されよう。例えば、連続して示される2つのブロックは実際には、実質的に同時に実行されてもよく、またはブロックは時に、関与する機能性に応じて逆の順序で実行されてもよい。
【0245】
本明細書で説明される実装態様および態様は、例えば、方法もしくは処理、装置、コンピュータプログラム、データストリーム、ビットストリーム、または信号において実装されてもよい。単一の形式のコンテキストのみにおいて議論される場合でさえ(例えば、方法としてのみ議論される)、議論される特徴の実装態様は、他の形式(例えば、装置またはコンピュータプログラム)においても実装されてもよい。
【0246】
方法は、概して、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブル論理回路を含む、処理デバイスを指す、例えば、プロセッサにおいて実装されてもよい。プロセッサは、通信デバイスをも含む。
【0247】
加えて、方法は、プロセッサによって実行される命令によって実装されてもよく、そのような命令(および/または、実装態様によって生成されるデータ値)は、コンピュータ可読記憶媒体に記憶されてもよい。コンピュータ可読記憶媒体は、1つまたは複数のコンピュータ可読媒体(複数可)において具体化され、コンピュータによって実行可能な、そこで具体化されたコンピュータ可読プログラムコードを有するコンピュータ可読プログラム製品の形式を取ってもよい。本明細書で使用されるコンピュータ可読記憶媒体は、そこに情報を記憶する固有能力と共に、そこからの情報の取り出しをもたらす固有能力を仮定して、非一時的記憶媒体と考えられてもよい。コンピュータ可読記憶媒体は、例えば、それらに限定されないが、電気、磁気、光学、電磁気、赤外線、もしくは半導体システム、装置、もしくはデバイス、またはそれらのいずれかの適切な組み合わせであってもよい。本実施形態を適用することができるコンピュータ可読記憶媒体の更なる特定の例を提供する以下のもの:ポータブルコンピュータディスケット、ハードディスク、リードオンリメモリ(ROM)、電子的消去可能プログラマブルリードオンリメモリ(EPROMもしくはフラッシュメモリ)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、光学記憶装置、磁気記憶装置、またはそれらのいずれかの適切な組み合わせは、当業者によって容易に認識されるように、例示にすぎず、非包的リストではないことが認識されよう。
【0248】
命令は、プロセッサ可読媒体上で有形的に具体化されたアプリケーションプログラムを形成することができる。
【0249】
命令は、例えば、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにあってもよい。命令は、例えば、オペレーティングシステム、別個のアプリケーション、または2つの組み合わせにおいて発見されてもよい。したがって、プロセッサは、処理を実行するように構成されたデバイスおよび処理を実行するための命令を有するプロセッサ可読媒体(記憶装置など)を含むデバイスの両方として特徴付けられてもよい。更に、プロセッサ可読媒体は、命令に加えてまたはその代わりに、実装態様によって生成される命令を記憶してもよい。
【0250】
装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアにおいて実装されてもよい。そのような装置の例は、パーソナルコンピュータ、ラップトップ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオレコーディングシステム、接続された家電製品、ヘッドマウントディスプレイデバイス(HMD、シースルーグラス)、プロジェクタ(ビーマ)、「ケーブス」)(複数のディスプレイを含む)、サーバ、ビデオエンコーダ、ビデオデコーダ、ビデオデコーダからの出力を処理するポストプロセッサ、ビデオエンコーダに入力を提供するプリプロセッサ、ウェブサーバ、セットトップボックス、ならびにポイントクラウド、ビデオ、もしくは画像を処理するためのいずれかの他のデバイス、または他の通信デバイスを含む。明確である必要があるように、機器は、モバイルであってもよく、更に、移動車両に設置されてもよい。
【0251】
コンピュータソフトウェアは、プロセッサ6010もしくはハードウェア、またはハードウェアおよびソフトウェアの組み合わせによって実装されてもよい。非限定的な例として、実施形態は、1つまたは複数の集積回路によっても実装されてもよい。メモリ6020は、技術的環境に適切ないずれかのタイプのメモリであってもよく、非限定的な例として、光学メモリデバイス、磁気メモリデバイス、半導体方式メモリデバイス、固定メモリ、および着脱可能メモリなどのいずれかの適切なデータ記憶技術を使用して実装されてもよい。プロセッサ6010は、技術的環境に適切ないずれかのタイプのプロセッサであってもよく、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、特殊目的コンピュータ、およびマルチコアwillに基づいたプロセッサのうちの1つまたは複数を包含してもよい。
【0252】
当業者によって明白であるように、実装態様は、例えば、記憶または送信することができる情報を搬送するようにフォーマットされた様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、または説明された実装態様の1つによって生成されるデータを含んでもよい。例えば、信号は、説明された実施形態のビットストリームを搬送するようにフォーマットされてもよい。そのような信号は、例えば、電磁波としてフォーマットされてもよく(例えば、スペクトルの無線周波数部分を使用して)、またはベースバンド信号としてフォーマットされてもよい。フォーマットすることは、例えば、データストリームを符号化すること、および符号化されたデータストリームと共に搬送波を変調することを含んでもよい。信号が搬送する情報は、例えば、アナログ情報またはデジタル情報であってもよい。信号は、既知なように、様々な異なる有線リンクまたは無線リンクを通じて送信されてもよい。信号は、プロセッサ可読媒体に記憶されてもよい。
【0253】
本明細書で使用される技術用語は、特定の実施形態を説明することのみを目的としており、限定することを意図していない。本明細書で使用されるように、単数形「a」、「an」、および「the」は、コンテキストが明確に他を示さない限り、複数形をも含んでもよいことを意図している。更に、用語「includes/comprises」および/または「including/comprising」は、本明細書において使用されるとき、例えば、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を指定することがあるが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在を排除しないことが理解されよう。その上、要素が別の要素に「応答」し、または「接続」されると称されるとき、それは、別の要素に直接応答し、もしくは接続されてもよく、または中間要素が存在してもよい。対照的に、要素が別の要素に「直接応答」し、または「直接接続」されると称されるとき、中間要素は存在しない。
【0254】
シンボル/用語「/」、「and/or」、および「at least one」は、例えば、「A/B」、「A and/or B」、および「at least one of A and B」のケースでは、第1の表記された選択肢(A)のみの選択、第2の表記された選択肢(B)のみの選択、または(AおよびB)の両方の選択を包含することを意図していることが認識されよう。更なる例として、「A、B、and/or C」および「at least one of A、B、and C」のケースでは、そのようなフレーズは、第1の表記された選択肢(A)のみの選択、第2の表記された選択肢(B)のみの選択、第3の表記された選択肢(C)のみの選択、第1の表記された選択肢および第2の表記された選択肢(AおよびB)のみの選択、第1の表記された選択肢および第3の表記された選択肢(AおよびC)のみの選択、第2の表記された選択肢および第3の表記された選択肢(BおよびC)のみの選択、または全ての3つの選択肢(A、B、およびC)の選択を包含することを意図している。これは、多くのアイテムが表記されるように、当業者に対して明確であるように拡張されてもよい。
【0255】
本出願において様々な数値が使用されてもよい。特定の値が例示を目的とするものであり、説明される態様は、それらの特定の値に限定されない。
【0256】
用語「fist」および「second」などは、様々な要素を説明されるために本明細書で使用されてもよいが、それらの要素は、それらの用語によって限定されないことが理解されよう。それらの用語は、1つの要素を別の要素と区別するために使用されるにすぎない。例えば、本出願の教示から逸脱することなく、第1の要素は、第2の要素と称されてもよく、第2の要素は、第1の要素と称されてもよい。第1の要素と第2の要素との間で順序付けは意味しない。
【0257】
「one embodiment」、「an embodiment」、「one aspect」、または「an implementation」と共にそれらの他の変形への言及は、特定の特徴、構造、および特性など(実施形態/実装態様と関連して説明された)が少なくとも1つの実施形態/実装態様に含まれることを伝えるために頻繁に使用される。よって、本出願の全体を通じて出現するフレーズ「in one embodiment」、「in an embodiment」、「in one implementation」、または「in an implementation」と共にそれらのいずれかの他の変形の出現は、必ずしも全てが同一の実施形態に言及しない。
【0258】
同様に、「in accordance with an embodiment/example/implementation」または「in an embodiment/example/implementation」と共にそれらの他の変形への言及は、特定の特徴、構造、および特性(実施形態/実施例/実装態様と関連して説明された)が少なくとも1つの実施形態/実施例/実装態様に含まれてもよいことを伝えるために頻繁に使用される。よって、本明細書での様々な箇所における表現「in accordance with an embodiment/example/implementation」または「in an embodiment/example/implementation」の出現は、必ずしも全てが同一の実施形態/実施例/実装態様に言及せず、別個のまたは代替的な実施形態/実施例/実装態様が必ずしも相互に他の実施形態/実施例/実装態様を排除しない。
【0259】
請求項において出現する参照符号は例示にすぎず、請求項の範囲に影響を与える限定を有しない。明確に説明されていないが、本実施形態/実施例および変形例は、いずれかの組み合わせまたは下位の組み合わせにおいて採用されてもよい。
【0260】
図面がフローチャートとして提示されるとき、それは対応する装置のブロック図も提供することが理解されるべきである。同様に、図面がブロック図として提示されるとき、それは対応する方法/処理のフローチャートも提供することが理解されるべきである。
【0261】
図のいくつかが通信の主要な方向を示す通信パスに関する矢印を含むが、記述された矢印とは反対の方向において通信が発生してもよいことが理解されよう。
【0262】
様々な実装態様は、復号することを伴う。本出願において使用される「復号」は、表示に適切な最終出力を生成するために、または再構築済みポイントクラウドドメインにおける更なる処理のために、例えば、受信されたポイントクラウドフレームに対して(場合によっては、1つまたは複数のポイントクラウドフレームを符号化した受信されたポイントクラウドフレームを含む)実行される処理の全てまたは一部を包含してもよい。様々な実施形態では、そのような処理は、典型的には画像方式デコーダによって実行される処理のうちの1つまたは複数を含む。
【0263】
更なる例として、1つの実施形態では、「復号」はエントロピ復号のみを指してもよく、別の実施形態では、「復号」は差分復号のみを指してもよく、別の実施形態では、「復号」はエントロピ復号および差分復号の組み合わせを指してもよい。フレーズ「復号処理」が演算のサブセットまたはより広義に全体的に復号処理を特に指すことを意図することができるかどうかは、特定の説明のコンテキストに基づいて明白であり、当業者によって良好に理解されると信じられている。
【0264】
様々な実装態様は、符号化することを伴う。「復号」に関する議論と同様の方式において。本出願において使用される「符号化」は、符号化されたビットストリームをするために、例えば、入力ポイントクラウドフレームに対して実行される処理の全てまたは一部を包含してもよい。様々な実施形態では、そのような処理は、典型的には画像方式デコーダによって実行される処理のうちの1つまたは複数を含む。
【0265】
更なる例として、1つの実施形態では、「符号化」はエントロピ符号化のみを指してもよく、別の実施形態では、「符号化」は差分符号化のみを指してもよく、別の実施形態では、「符号化」はエントロピ符号化および差分符号化の組み合わせを指してもよい。フレーズ「符号化処理」が演算のサブセットまたはより広義に全体的に符号化処理を特に指すことを意図することができるかどうかは、特定の説明のコンテキストに基づいて明白であり、当業者によって良好に理解されると信じられている。
【0266】
本明細書で使用されるシンタックス要素、例えば、etpdu_2d_shift_u、etpdu_2d_shift_v、etpdu_2d_delta_size_u、etpdu_2d_delta_size_v、etpdu_points、etpdu_patch_count、etpdu_ref_index、etpdu_offset、etpdu_mode、sps_enhanced_occupancy_map_texture_patch_present_flag、sps_enhanced_occupancy_map_depth_for_enabled_flag、sps_eom_texture_patch_separate_video_present_flag、pfdu_eom_texture_patch_count、pfdu_patch_count_minus1、patch_modeは、記述的用語である。それ自体として、それらは、他のシンタックス要素名の使用を排除しない。
【0267】
様々な実施形態は、レート歪み最適化を指す。特に、計算の複雑度の制約を多くに仮定して、符号化処理の間、レートと歪みとの間のバランスまたはトレードオフが通常は考慮される。レート歪み最適化は通常、レートおよび歪みの加重和である、レート歪み関数を最小にするとして定式化されることがある。レート歪み最適化問題を解決する異なるアプローチが存在する。例えば、アプローチは、符号化および復号の後のそれらのコーディングコストの完全な評価および再構築済み信号の関連する歪みの完全な評価により、全ての考慮されるモードまたはコーディングパラメータ値を含む、全ての符号化オプションを広範に試験することに基づいてもよい。特に、再構築済み信号ではない、予測信号または予測残差信号に基づいて近似された歪みの計算により符号化の複雑度を抑えるために、より高速なアプローチも使用されてもよい。取り得る符号化オプションの一部のみについての近似化された歪み、および他の符号化オプションついての完全な歪みを使用することによってなど、それらの2つのアプローチの混合も使用されてもよい。他のアプローチは、取り得る符号化オプションのサブセットを評価するにすぎない。より一般的に、多くのアプローチは、最適化を実行する様々な技術のいずれかを採用するが、最適化は、コーディングコストおよび関連する歪みの完全な評価では必ずしもない。
【0268】
加えて、本出願は、情報の様々な部分を「判定する」ことに言及することがある。情報を判定することは、例えば、情報を評価すること、情報を計算すること、情報を予測すること、またはメモリから情報を取り出すことのうちの1つまたは複数を含んでもよい。
【0269】
更に、本出願は、情報の様々な部分に「アクセスする」ことに言及することがある。情報にアクセスすることは、例えば、情報を受信すること、情報を取り出すこと(例えば、はメモリから)、情報を記憶すること、情報を移動させること、情報を複製すること、情報を計算すること、情報を判定すること、情報を予測すること、または情報を評価することのうちの1つまたは複数を含んでもよい。
【0270】
加えて、本出願は、情報の様々な部分を「受信する」ことに言及することがある。受信することは、「アクセスする」と同様に、広義の用語であることを意図している。情報を受信することは、例えば、情報にアクセスすること、または情報を取り出すこと(例えば、はメモリから)のうちの1つまたは複数を含んでもよい。更に、「受信する」は典型的には、例えば、情報を記憶すること、情報を処理すること、情報を伝送すること、情報を移動させること、情報を複製すること、情報を消去すること、情報を計算すること、情報を判定すること、情報を予測すること、または情報を評価することなどの演算の間に1つの方式または別の方式において関与する。
【0271】
また、本明細書で使用されるように、単語「シグナリング」は、とりわけ、対応するデコーダに何かを示すことを指す。例えば、特定の実施形態では、エンコーダは、特定のシンタックス要素SE1、場合によってはシンタックス要素SE2をシグナリングする。このようにして、実施形態では、エンコーダ側およびデコーダ側の両方において同一のパラメータが使用されてもよい。よって、例えば、エンコーダは、デコーダに特定のパラメータを伝送することができ(明確にシグナリングする)、その結果、デコーダは、同一の特定のパラメータを使用することができる。逆に、デコーダが特定のパラメータと共にその他のパラメータを既に有している場合、デコーダが特定のパラメータを認識および選択することを単純に可能にするよう、伝送することなく、シグナリングが使用されてもよい(暗黙的にシグナリングする)。いずれかの実際の関数を伝送することを回避することによって、様々な実施形態では、ビット節約が実現される。様々な方式においてシグナリングを達成することができることを認識されよう。様々な実施形態では、対応するデコーダに情報をシグナリングするために、例えば、1つまたは複数のシンタックス要素およびフラグなどが使用される。先述したことは、単語「シグナリングの動詞の形式に関連するが、単語「信号」も本明細書で名詞として使用されてもよい。
【0272】
多数の実装態様が説明されてきた。しかしながら、様々な修正が行われてもよい。例えば、他の実装態様を生成するために、異なる実装態様の要素が組み合わされてもよく、補足されてもよく、修正されてもよく、または除去されてもよい。加えて、他の構造および処理がそれらの開示されたものと置き換えられてもよく、結果として生じる実装態様は、開示される実装態様と少なくとも実質的に同一の結果(複数可)を達成するために、少なくとも実質的に同一方式(複数可)において、少なくとも実質的に同一の機能(複数可)を実行することを当業者は理解するであろう。したがって、それらの実装態様および他の実装態様が本出願によって考慮される。
図1
図2
図3
図3a
図3b
図4
図5
図6
図7
図8a
図8b
図8c
図8d
図9a
図9b
図9c
図10
図11
図12
図13
図14
図15
図16
図17
図18