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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-21
(54)【発明の名称】チャートベースのメッシュ圧縮
(51)【国際特許分類】
   H04N 19/597 20140101AFI20241114BHJP
   H04N 19/46 20140101ALI20241114BHJP
【FI】
H04N19/597
H04N19/46
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024527694
(86)(22)【出願日】2023-04-06
(85)【翻訳文提出日】2024-05-13
(86)【国際出願番号】 US2023017678
(87)【国際公開番号】W WO2023200662
(87)【国際公開日】2023-10-19
(31)【優先権主張番号】63/331,711
(32)【優先日】2022-04-15
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/127,432
(32)【優先日】2023-03-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100112656
【弁理士】
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】ジャン,シアン
(72)【発明者】
【氏名】ホアン,チャオ
(72)【発明者】
【氏名】シュ,シャオジョン
(72)【発明者】
【氏名】ティエン,ジュン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MD02
5C159ME01
5C159PP03
5C159PP13
5C159RC11
5C159UA02
5C159UA05
5C159UA11
(57)【要約】
デコーダで実行される方法は、3Dメッシュに対応する1つ又は複数の2Dメッシュを含むコード化されたビデオビットストリームを受信するステップを含む。前記方法は、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築するステップを含む。前記方法は、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定するステップを含む。前記方法は、決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップを含む。前記方法は、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築するステップをさらに含む。
【特許請求の範囲】
【請求項1】
デコーダの少なくとも1つのプロセッサが実行する方法であって、
3次元(3D)メッシュに対応する1つ又は複数の2次元(2D)メッシュを含むコード化されたビデオビットストリームを受信するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定するステップと、
決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築するステップと、
を含む、方法。
【請求項2】
前記再構築モードの決定は、前記コード化されたビデオビットストリームに含まれるフラグに基づいている、請求項1に記載の方法。
【請求項3】
前記コード化されたビデオビットストリームに含まれる1つ又は複数のジオメトリマップをデコードするステップをさらに含む、請求項1に記載の方法。
【請求項4】
前記再構築モードが前記サンプリングモードであると決定することに基づいて、
前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップは、
前記1つ又は複数の2Dメッシュのそれぞれの境界ポリゴンを、前記1つ又は複数の2Dメッシュのそれぞれの対応する再構築された境界頂点に基づいて決定するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの前記境界ポリゴンに含まれる各頂点を内部頂点として識別するステップと、を含む、請求項3に記載の方法。
【請求項5】
前記3Dメッシュを再構築するステップは、
デコードされた前記1つ又は複数のジオメトリマップにおける対応する位置、サンプリングレート、及びデコードされた前記1つ又は複数のジオメトリマップにおけるオフセットに基づいて、前記3Dメッシュにおける内部頂点を導出するステップを含む、請求項4に記載の方法。
【請求項6】
前記再構築モードが前記非サンプリングモードであると決定することに基づいて、1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点は、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点に基づいて再構築される、請求項1に記載の方法。
【請求項7】
前記3Dメッシュを再構築するステップは、
前記1つ又は複数の2Dメッシュの再構築された内部頂点と、前記1つ又は複数の2Dメッシュにおける対応する再構築された境界頂点とを連接することによって、前記3Dメッシュにおける内部頂点を再構築するステップを含む、請求項6に記載の方法。
【請求項8】
前記3Dメッシュを再構築するステップは、
前記3Dメッシュにおける境界頂点を、前記1つ又は複数の2Dメッシュのそれぞれの対応する1つ又は複数の再構築された境界頂点を前記3Dメッシュにおける前記境界頂点にマッピングする2Dから3Dへのインデックス配列に基づいて再構築するステップを含む、請求項1に記載の方法。
【請求項9】
プログラムコードを記憶するように構成される少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードによって指示される通りに動作するように構成される少なくとも1つのプロセッサと、を備え、
前記プログラムコードは、
前記少なくとも1つのプロセッサに、3次元(3D)メッシュに対応する1つ又は複数の2次元(2D)メッシュを含むコード化されたビデオビットストリームを受信させるように構成される受信コードと、
前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築させるように構成される第1の再構築コードと、
前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定させるように構成される第1の決定コードと、
前記少なくとも1つのプロセッサに、決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築させるように構成される第2の再構築コードと、
前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築させるように構成される第3の再構築コードと、
を含むデコーダ。
【請求項10】
前記再構築モードの決定は、前記コード化されたビデオビットストリームに含まれるフラグに基づいている、請求項9に記載のデコーダ。
【請求項11】
前記プログラムコードは、
前記少なくとも1つのプロセッサに、前記コード化されたビデオビットストリームに含まれる1つ又は複数のジオメトリマップをデコードさせるように構成されるデコードコードをさらに含む、請求項9に記載のデコーダ。
【請求項12】
前記再構築モードが前記サンプリングモードであると決定することに基づいて、
前記第2の再構築コードは、
前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの境界ポリゴンを、前記1つ又は複数の2Dメッシュのそれぞれの対応する再構築された境界頂点に基づいて決定させるように構成される第2の決定コードと、
前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの前記境界ポリゴンに含まれる各頂点を内部頂点として識別させるように構成される識別コードと、をさらに含む、請求項11に記載のデコーダ。
【請求項13】
前記第3の再構築コードは、
前記少なくとも1つのプロセッサに、デコードされた前記1つ又は複数のジオメトリマップにおける対応する位置、サンプリングレート、及びデコードされた前記1つ又は複数のジオメトリマップにおけるオフセットに基づいて、前記3Dメッシュにおける内部頂点を導出させるように構成される導出コードをさらに含む、請求項12に記載のデコーダ。
【請求項14】
前記再構築モードが前記非サンプリングモードであると決定することに基づいて、1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点は、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点に基づいて再構築される、請求項9に記載のデコーダ。
【請求項15】
前記第3の再構築コードは、
前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュの再構築された内部頂点と、前記1つ又は複数の2Dメッシュにおける対応する再構築された境界頂点とを連接することによって、前記3Dメッシュにおける内部頂点を再構築させるように構成される第4の再構築コードをさらに含む、請求項14に記載のデコーダ。
【請求項16】
前記第3の再構築コードは、
前記少なくとも1つのプロセッサに、前記3Dメッシュにおける境界頂点を、前記1つ又は複数の2Dメッシュのそれぞれの対応する1つ又は複数の再構築された境界頂点を前記3Dメッシュにおける前記境界頂点にマッピングする2Dから3Dへのインデックス配列に基づいて再構築させるように構成される第4の再構築コードをさらに含む、請求項9に記載のデコーダ。
【請求項17】
デコーダにおける少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
3次元(3D)メッシュに対応する1つ又は複数の2次元(2D)メッシュを含むコード化されたビデオビットストリームを受信するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定するステップと、
決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築するステップと、
を実行させる命令を記憶した非一時的なコンピュータ読取可能な媒体。
【請求項18】
前記再構築モードの決定は、前記コード化されたビデオビットストリームに含まれるフラグに基づいている、請求項17に記載の非一時的なコンピュータ読取可能な媒体。
【請求項19】
前記命令は、さらに、
前記少なくとも1つのプロセッサに、前記コード化されたビデオビットストリームに含まれる1つ又は複数のジオメトリマップをデコードするステップを実行させる、請求項17に記載の非一時的なコンピュータ読取可能な媒体。
【請求項20】
前記再構築モードが前記サンプリングモードであると決定することに基づいて、
前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップは、
前記1つ又は複数の2Dメッシュのそれぞれの境界ポリゴンを、前記1つ又は複数の2Dメッシュのそれぞれの対応する再構築された境界頂点に基づいて決定するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの前記境界ポリゴンに含まれる各頂点を内部頂点として識別するステップと、をさらに含む、請求項19に記載の非一時的なコンピュータ読取可能な媒体。

【発明の詳細な説明】
【技術分野】
【0001】
本願は、2022年4月15日に出願された米国仮出願第63/331,711号及び2023年3月28日に出願された米国特許出願第18/127,432号に基づく優先権を主張し、それらの開示内容は、その全体が参照により本明細書に援用される。
【0002】
本開示は、一連の高度なビデオコーディング技術に関する。より具体的には、本開示は、チャートベースのメッシュ圧縮のコーディング方法を含む、ビデオベースのメッシュ圧縮に関する。
【背景技術】
【0003】
世界の高度な3次元(3D)表現は、より没入的な形式のインタラクション及びコミュニケーションを可能にしている。3D表現におけるリアリズムを達成するために、3Dモデルはますます洗練されてきており、これらの3Dモデルの作成と消費には、かなりの量のデータが関連している。3Dメッシュは、没入型コンテンツの3Dモデリングに広く使用されている。
【0004】
3Dメッシュは、ボリュメトリックオブジェクトの表面を記述する複数のポリゴンで構成され得る。動的メッシュシーケンスでは、そのメッシュシーケンスが経時的に変化するかなりの量の情報を有し得るため、大量のデータを必要とする可能性がある。したがって、このようなコンテンツを記憶及び伝送するには、効率的な圧縮技術が必要となる。
【0005】
メッシュ圧縮規格IC、MESHGRID、FAMCは、一定の連結性と時間変化するジオメトリと頂点属性とを持つ動的メッシュに対処するために以前に開発された。しかし、これらの規格は、時間変化する属性マップ及び連結性情報を考慮していない。
【0006】
さらに、ボリュメトリック取得技術にとって、特にリアルタイムの制約下で、一定の連結性を持つ動的メッシュを生成することも課題となる。この種の動的メッシュコンテンツは、既存の規格ではサポートされていない。
【発明の概要】
【課題を解決するための手段】
【0007】
1つ又は複数の実施形態によれば、デコーダの少なくとも1つのプロセッサが実行する方法は、3次元(3D)メッシュに対応する1つ又は複数の2次元(2D)メッシュを含むコード化されたビデオビットストリームを受信するステップを含む。前記方法は、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築するステップを含む。前記方法は、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定するステップを含む。前記方法は、決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップを含む。前記方法は、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの前記再構築された1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築するステップを含む。
【0008】
1つ又は複数の実施形態によれば、デコーダは、プログラムコードを記憶するように構成される少なくとも1つのメモリと、前記プログラムコードを読み取り、前記プログラムコードによって指示される通りに動作するように構成される少なくとも1つのプロセッサと、を備える。前記プログラムコードは、前記少なくとも1つのプロセッサに、3次元(3D)メッシュに対応する1つ又は複数の2次元(2D)メッシュを含むコード化されたビデオビットストリームを受信させるように構成される受信コードを含む。前記プログラムコードは、前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築させるように構成される第1の再構築コードを含む。前記プログラムコードは、前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定させるように構成される第1の決定コードを含む。前記プログラムコードは、前記少なくとも1つのプロセッサに、決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築させるように構成される第2の再構築コードを含む。前記プログラムコードは、前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの前記再構築された1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築させるように構成される第3の再構築コードを含む。
【0009】
1つ又は複数の実施形態によれば、命令を記憶した非一時的なコンピュータ読取可能な媒体であって、前記命令は、デコーダにおけるプロセッサによって実行されると、前記プロセッサに、3次元(3D)メッシュに対応する1つ又は複数の2次元(2D)メッシュを含むコード化されたビデオビットストリームを受信するステップと、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築するステップと、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定するステップと、決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップと、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの前記再構築された1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築するステップと、を実行させる。
【図面の簡単な説明】
【0010】
開示された主題の更なる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになるであろう。
【0011】
図1】本開示の実施形態に係る通信システムの概略ブロック図である。
図2】本開示の実施形態に係るストリーミングシステムの概略ブロック図である。
図3】本開示の実施形態に係るビデオエンコーダ及びデコーダの概略ブロック図である。
図4】本開示の実施形態に係る、3Dメッシュセグメントから2DチャートへのUVパラメータ化マッピングの例を示す。
図5】3Dメッシュセグメントが複数の別々のチャートにマッピングされる、異なるUVパラメータ化の例を示す。
図6】本開示の実施形態に係る、複数のチャートを持つ例示的な2D UVアトラスを示す。
図7】本開示の実施形態に係る、2Dパッチにおける境界頂点の例を示す。
図8】本開示の実施形態に係る例示的なジオメトリエンコードパイプラインを示す。
図9(A)-(B)】本開示の実施形態に係るチャート境界の検出の例を示す。
図10(A)-(B)】本開示の実施形態に係る、非占有ピクセルを埋める前及び埋めた後のジオメトリマップの例をそれぞれ示す。
図11】本開示の実施形態に係る例示的なジオメトリデコードパイプラインを示す。
図12】境界によって定義されるポリゴンの内側の内部サンプリング点を見つける例を示す。
図13】本開示の実施形態に係る、ビデオビットストリームをエンコードするための例示的なフローチャートを示す。
図14】本開示の実施形態に係る、コード化されたビデオビットストリームをデコードするための例示的なフローチャートを示す。
図15】本開示の実施形態を実現するのに適したコンピュータシステムを示す図である。
【発明を実施するための形態】
【0012】
以下の例示的な実施形態の詳細な説明は、添付の図面を参照する。異なる図面における同じ符号は、同じ又は類似の要素を特定することができる。
【0013】
前述の開示は、例示及び説明を提供するが、網羅的であること、又は実装を開示された正確な形態に限定することを意図するものではない。上記の開示に照らして修正及び変形が可能であるか、又は実装の実践から獲得され得る。さらに、1つの実施形態の1つ又は複数の特徴又は構成要素を、別の実施形態(又は別の実施形態の1つ又は複数の特徴)に組み込むか、又はそれと組み合わせてもよい。加えて、以下に提供される動作のフローチャート及び説明において、1つ又は複数の動作を省略してもよく、1つ又は複数の動作を追加してもよく、1つ又は複数の動作を(少なくとも部分的に)同時に行ってもよく、1つ又は複数の動作の順序を入れ替えてもよいことが理解される。
【0014】
本明細書で説明されたシステム及び/又は方法は、異なる形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせで実施され得ることが明らかであろう。これらのシステム及び/又は方法を実装するために使用される実際の特殊な制御ハードウェア又はソフトウェアコードは、実装を限定するものではない。したがって、システム及び/又は方法の動作及び行動は、特定のソフトウェアコードを参照することなく本明細書に記載された。ソフトウェア及びハードウェアは、本明細書の記載に基づいてシステム及び/又は方法を実装するように設計されてもよいことが理解される。
【0015】
特徴の特定の組み合わせが特許請求の範囲に記述され、及び/又は本明細書に開示されていても、これらの組み合わせは、可能な実装の開示を限定することを意図するものではない。実際には、これらの特徴の多くは、特に特許請求の範囲に記述されていない方法及び/又は本明細書に開示されていない方法で組み合わされることができる。以下にリストされる各従属請求項は、1つの請求項にのみ直接依存し得るが、可能な実装の開示は、請求項セット内の他のすべての請求項との組み合わせで各従属請求項を含む。
【0016】
本明細書で使用されるいかなる要素、行為、又は指示も、そのように明示的に記載されない限り、重要又は必須であると解釈されることはない。また、本明細書で使用されるように、冠詞「a」及び「an」は、1つ又は複数のアイテムを含むことを意図しており、「1つ又は複数」と交換可能に使用されてもよい。1つのみのアイテムが意図される場合、用語「1つ」又は類似の言語が使用される。また、本明細書で使用されるように、用語「有する」、「有している」、「含む」、「含んでいる」などは、オープンエンドな用語であることを意図している。さらに、「・・・に基づく」という句は、特に明記しない限り、「少なくとも部分的に、・・・に基づく」を意味することを意図している。さらに、「[A]及び[B]のうちの少なくとも1つ」又は「[A]又は[B]のうちの少なくとも1つ」といった表現は、Aのみ、Bのみ、又はA及びBの両方を含むものとして理解されるものとする。
【0017】
本明細書全体を通して、「一実施形態」、「実施形態」、又は類似の言語への参照は、示された実施形態に関連して説明された特定の特徴、構造、又は特性が、本解決的手段の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通して「一実施形態では」、「実施形態では」、及び類似の言語は、すべて同じ実施形態を指してもよいが、必ずしもそうではない。
【0018】
さらに、本開示の記載された特徴、利点、及び特性を、1つ又は複数の実施形態において任意の好適な方法で組み合わせることができる。当業者であれば、本明細書の説明に照らして、本開示は、特定の実施形態の1つ又は複数の特定の特徴又は利点がなくても実施され得ることを認識するであろう。他の例では、本開示のすべての実施形態に存在しない可能性がある追加の特徴及び利点が、特定の実施形態に認められる可能性がある。
【0019】
本開示の実施形態は、メッシュを圧縮することに関する。メッシュは、ボリュメトリックオブジェクトの表面を記述するいくつかのポリゴンで構成され得る。3D空間におけるその頂点、及び、連結性情報と呼ばれる、頂点がどのように連結されているかの情報によって、各ポリゴンを定義することができる。任意選択で、色、法線などの頂点属性は、メッシュ頂点に関連付けられてもよい。属性は、2D属性マップでメッシュをパラメータ化するマッピング情報を利用することで、メッシュの表面に関連付けられることもできる。このようなマッピングは、メッシュ頂点に関連付けられたUV座標又はテクスチャ座標と呼ばれるパラメトリック座標のセットを使用して定義されることができる。2D属性マップは、テクスチャ、法線、変位などの高解像度の属性情報を記憶するために使用されることができる。高解像度の属性情報は、テクスチャマッピング及びシェーディングなどの様々な目的に使用されることができる。
【0020】
上述のように、3Dメッシュ又は動的メッシュは、経時的に変化するかなりの量の情報から構成され得るため、大量のデータを必要とする可能性がある。既存の規格は、時間変化する属性マップ及び連結性情報を考慮していない。また、既存の規格は、特にリアルタイムの条件下で、一定の連結性を有する動的メッシュを生成するボリュメトリック取得技術もサポートしていない。
【0021】
したがって、時間変化する連結性情報を持っており、任意選択で時間変化する属性マップを持ってもよい動的メッシュを直接取り扱うための新しいメッシュ圧縮規格が必要となる。本開示の実施形態は、このような動的メッシュを記憶及び伝送するための効率的な圧縮技術を可能にする。本開示の実施形態は、リアルタイム通信、ストレージ、自由視点ビデオ、AR及びVRなどの様々なアプリケーションのための非可逆圧縮及び/又は可逆圧縮を可能にする。
【0022】
本開示の1つ又は複数の実施形態によれば、動的メッシュ圧縮のための方法、システム、及び非一時的な記憶媒体が提供される。本開示の実施形態は、メッシュの1つのフレーム又はメッシュコンテンツのみが経時的に変化しない静的メッシュにも適用されることができる。
【0023】
図1図2を参照して、本開示のエンコード構造及びデコード構造を実現するための本開示の1つ又は複数の実施形態について説明する。
【0024】
図1は、本開示の一実施形態による通信システム100の概略ブロック図を示す。システム100は、ネットワーク150を介して相互接続された少なくとも2つの端末110、120を含み得る。データの単方向伝送の場合、第1の端末110は、ネットワーク150を介して他方の端末120に伝送するために、メッシュデータを含み得るビデオデータをローカル位置でコード化することができる。第2の端末120は、ネットワーク150から他方の端末のコード化されたビデオデータを受信し、コード化されたデータをデコードし、復元されたビデオデータを表示することができる。単方向のデータ伝送は、メディアサービング用途などにおいて一般的であり得る。
【0025】
図1は、例えば、テレビ会議中に発生し得るコード化されたビデオの双方向伝送をサポートするために設けられた第2対の端末130、140を示す。データの双方向伝送の場合、各端末130、140は、ネットワーク150を介して他方の端末に伝送するために、ローカル位置でキャプチャされたビデオデータをコード化することができる。各端末130、140はまた、他方の端末によって送信されたコード化されたビデオデータを受信することができ、コード化されたデータをデコードすることができ、復元されたビデオデータをローカル表示装置に表示することができる。
【0026】
図1において、端末110~140は、例えば、サーバ、パーソナルコンピュータ、スマートフォン、及び/又は、他の任意のタイプの端末であってもよい。例えば、端末(110~140)は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ及び/又は専用のビデオ会議機器であってもよい。ネットワーク150は、例えば有線及び/又は無線通信ネットワークを含む、端末110~140間でコード化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク150は、回線交換及び/又はパケット交換チャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。本議論の目的のために、ネットワーク150のアーキテクチャ及びトポロジーは、以下に本明細書で説明されない限り、本開示の動作にとって重要でない場合がある。
【0027】
図2は、開示する主題の用途の例として、ストリーミング環境におけるビデオエンコーダ及びデコーダの配置を示す。開示する主題は、例えば、ビデオ会議、デジタルTV、及びCD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの格納など、を含む他のビデオ対応アプリケーションと共に使用されることができる。
【0028】
図2に示すように、ストリーミングシステム200は、ビデオソース201とエンコーダ203とを含むキャプチャサブシステム213を含むことができる。ストリーミングシステム200は、少なくとも1つのストリーミングサーバ205及び/又は少なくとも1つのストリーミングクライアント206をさらに含んでもよい。
【0029】
ビデオソース201は、例えば、3Dメッシュと3Dメッシュに関連付けられたメタデータとを含むストリーム202を作成してもよい。3Dメッシュは、ボリュメトリックオブジェクトの表面を記述するいくつかのポリゴンで構成され得る。例えば、3Dメッシュは、各頂点が3D座標(例えば、x、y、z)に関連付けられる3D空間における複数の頂点を含んでもよい。ビデオソース201は、例えば、3Dセンサ(例えば、深度センサ)又は3D撮像技術(例えば、デジタルカメラ)と、3Dセンサ又は3D撮像技術から受信したデータを使用して3Dメッシュを生成するように構成されるコンピューティングデバイスとを含んでもよい。エンコードされたビデオビットストリームと比較して高データ量を有する可能性があるサンプルストリーム202は、ビデオソース201に結合されたエンコーダ203によって処理されることができる。エンコーダ203は、以下でより詳細に説明されるように、開示する主題の態様を可能にする又は実現するためのハードウェア、ソフトウェア、又はそれらの組み合わせを含んでもよい。エンコーダ203はまた、エンコードされたビデオビットストリーム204を生成することができる。非圧縮のストリーム202と比較してより低いデータ量を有する可能性がある、エンコードされたビデオビットストリーム204は、将来の使用のためにストリーミングサーバ205に記憶されることができる。1つ又は複数のストリーミングクライアント206は、ストリーミングサーバ205にアクセスして、エンコードされたビデオビットストリーム204のコピーであり得るビデオビットストリーム209を検索することができる。
【0030】
ストリーミングクライアント206は、ビデオデコーダ210及びディスプレイ212を含み得る。ビデオデコーダ210は、例えば、エンコードされたビデオビットストリーム204の入方向のコピーであるビデオビットストリーム209をデコードし、ディスプレイ212又は別のレンダリングデバイス(図示せず)でレンダリングされ得る出方向のビデオサンプルストリーム211を作成することができる。一部のストリーミングシステムにおいて、ビデオビットストリーム204、209は、特定のビデオコーディング/圧縮規格に従ってエンコードされることができる。
【0031】
図3は、エンコーダ及びデコーダを使用する動的メッシュ圧縮及びメッシュ再構築のためのフレームワーク300の例示的な図である。
【0032】
図3に示すように、フレームワーク300は、エンコーダ301及びデコーダ351を含み得る。エンコーダ301は、1つ又は複数の入力メッシュ305、UVアトラス310を持つ1つ又は複数のメッシュ、占有マップ315、ジオメトリマップ320、属性マップ325、及びメタデータ330を含んでもよい。デコーダ351は、デコードされた占有マップ335、デコードされたジオメトリマップ340、デコードされた属性マップ345、デコードされたメタデータ350、及び再構築メッシュ360を含んでもよい。
【0033】
本開示の1つ又は複数の実施形態によれば、入力メッシュ305は、1つ又は複数のフレームを含んでもよく、1つ又は複数のフレームのそれぞれは、一連の動作によって前処理され、UVアトラス310を持つメッシュを生成するために使用されることができる。一例として、前処理動作は、追跡、パラメータ化、再メッシュ化、ボクセル化などを含んでもよいが、これらに限定されるものではない。いくつかの実施形態では、前処理動作は、エンコーダ側でのみ行われ、デコーダ側では行われない場合がある。
【0034】
UVアトラス310を持つメッシュは、2Dメッシュであってもよい。2Dメッシュは、それぞれが2D空間における座標(例えば、2D座標)に関連付けられた頂点のチャートであってもよい。2Dメッシュにおける各頂点は、3Dメッシュにおける対応する頂点に関連付けられてもよく、ここで、3Dメッシュにおける頂点は、3D空間における座標に関連付けられる。圧縮された2Dメッシュは、非圧縮の2Dメッシュと比較して情報が低減された2Dメッシュのバージョンであってもよい。例えば、2Dメッシュを、圧縮された2Dメッシュがサンプリングされた点を含むサンプリングレートでサンプリングすることができる。UVアトラスを持つ2Dメッシュは、メッシュの各頂点が2Dアトラス上のUV座標に関連付けられ得るメッシュであってもよい。UVアトラス310を持つメッシュを、サンプリングに基づいて処理し、複数のマップに変換することができる。一例として、UVアトラス310を、UVアトラスを持つ2Dメッシュのサンプリングに基づいて処理し、占有マップ、ジオメトリマップ、及び属性マップに変換することができる。生成された占有マップ335、ジオメトリマップ340、及び属性マップ345を、適切なコーデック(例えば、HVEC、VVC、AV1、AVS3など)を使用してエンコードし、デコーダに伝送することができる。いくつかの実施形態では、メタデータ(例えば、連結性情報など)もデコーダに伝送されることができる。
【0035】
いくつかの実施形態では、デコーダ側では、デコードされた2Dマップからメッシュを再構築することができる。また、再構築メッシュに対して後処理及びフィルタリングを適用することもできる。いくつかの例では、3Dメッシュの再構築の目的で、メタデータをデコーダ側にシグナリングしてもよい。各パッチの境界頂点がシグナリングされていれば、デコーダ側から占有マップを推測することができる。
【0036】
ある態様によれば、デコーダ351は、エンコーダから、エンコードされた占有マップ、ジオメトリマップ、及び属性マップを受信することができる。デコーダ315は、本明細書で説明される実施形態に加えて、適切な技術及び方法を使用して、占有マップ、ジオメトリマップ、及び属性マップをデコードすることができる。いくつかの実施形態では、デコーダ351は、デコードされた占有マップ335、デコードされたジオメトリマップ340、デコードされた属性マップ345、及びデコードされたメタデータ350を生成することができる。1つ又は複数の再構築フィルタ及び技術を使用して、デコードされた占有マップ335、デコードされたジオメトリマップ340、デコードされた属性マップ345、及びデコードされたメタデータ350に基づいて、入力メッシュ305を再構築メッシュ360に再構築することができる。いくつかの実施形態では、メタデータ330を直接デコーダ351に送信してもよく、デコーダ351は、デコードされた占有マップ335、デコードされたジオメトリマップ340、及びデコードされた属性マップ345に基づいて、メタデータを使用して再構築メッシュ360を生成することができる。再メッシュ化、パラメータ化、追跡、ボクセル化などを含むがこれらに限定されないポストフィルタリング技術も、再構築メッシュ360に適用され得る。
【0037】
いくつかの実施形態によれば、3Dメッシュを、若干のセグメント(又はパッチ/チャート)にパーティション化することができる。各セグメントは、ジオメトリ、属性、及び連結性情報に関連付けられた、連結された頂点のセットで構成され得る。図4に示すように、UVパラメータ化プロセスは、メッシュセグメント400を2D UVアトラスにおける2Dチャート(402,404)にマッピングする。メッシュセグメントにおける各頂点には、2D UVアトラスにおける2D UV座標が割り当てられてもよい。2Dチャート(例えば、2Dメッシュ)における頂点は、それらの3D対応物として連結成分を形成することができる。各頂点のジオメトリ、属性、及び連結性情報は、同様に、それらの3D対応物から継承されてもよい。
【0038】
いくつかの実施形態によれば、3Dメッシュセグメントも、複数の別々の2Dチャートにマッピングすることができる。3Dメッシュセグメントが別々の2Dチャートにマッピングされる場合、3Dメッシュセグメントにおける頂点は、2D UVアトラスにおける複数の頂点に対応し得る。図5に示すように、3Dメッシュセグメント400に対応し得る3Dメッシュセグメント500を、2D UVアトラスにおいて、単一のチャートではなく、2つの2Dチャート(502A,502B)にマッピングしてもよい。図5に示すように、3D頂点v1及びv4は、それぞれ2つの2D対応頂点v1'及びv4'を有する。
【0039】
図6は、複数のチャートを含む3Dメッシュの一般的な2D UVアトラス600の例を示しており、ここで、各チャートは、それらの3Dジオメトリ、属性、及び連結性情報に関連付けられた複数(例えば、3つ以上)の頂点を含み得る。
【0040】
境界頂点は、2D UV空間で定義されてもよい。図7に示すように、塗りつぶされた頂点は、連結成分(パッチ/チャート)の境界エッジ上にあるため、境界頂点である。境界エッジは、そのエッジが1つの三角形にのみ現れるか否かをチェックすることによって決定されてもよい。ジオメトリ情報(例えば、3D xyz座標)及び2D UV座標は、ビットストリームでシグナリングされてもよい。
【0041】
動的メッシュシーケンスは、経時的に変化するかなりの量の情報から構成され得るため、大量のデータを必要とする可能性がある。したがって、このようなコンテンツを記憶及び伝送するには、効率的な圧縮技術が必要となる。
【0042】
本開示の実施形態を、個別に使用することも、任意の順序で組み合わせることもできる。さらに、方法(又は実施形態)、エンコーダ、及びデコーダのそれぞれを、処理回路(例えば、1つ又は複数のプロセッサ或いは1つ又は複数の集積回路)によって実現することができる。一例では、1つ又は複数のプロセッサは、非一時的なコンピュータ読取可能な媒体に記憶されるプログラムを実行する。
【0043】
図8は、1つ又は複数の実施形態による、例示的なジオメトリエンコードパイプライン800を示す。エンコードパイプライン800は、エンコーダ301によって実行されてもよい。ジオメトリエンコードパイプラインは、メッシュを連結成分(例えば、チャート又は2Dメッシュ)にパーティション化すること(802)を含み得る。パーティション化後、チャート境界抽出(804)及びチャート分類(806)を行うことができる。
【0044】
1つ又は複数の例では、チャートの統計に基づいて、各チャートを生(raw)チャートモード又はサンプリングモードのいずれかによってコード化することができる。生チャートモードの場合、内部頂点を予測によって直接コード化(808)することができる。サンプリングモードの場合、チャートを2D UV空間において適応的にサンプリングし(810)、2Dジオメトリ画像アトラスにパックし(812)、続いてコード化する(818)。適応的サンプリング(810)は、異なるサンプリングレートを持つ異なるチャートを可能にするために適用されてもよい。次に、ジオメトリ画像を、ビデオコーデックによってコード化する(818)。境界頂点を抽出し、予測、量子化、及びエントロピーコーディングによってコード化する(816)。1つ又は複数の例では、再構築されたジオメトリに基づいて色を元のテクスチャマップから新しいテクスチャマップにトランスファーするために、テクスチャマップを、再カラー化アルゴリズムによって更新してもよい。
【0045】
1つ又は複数の実施形態によれば、各チャートについて、境界頂点を検出することができる。境界頂点は、境界エッジ上にある頂点であってもよく、ここで、境界エッジは、単一の三角形に関連付けられるエッジである。図9(A)及び図9(B)に示すように、2種類の境界(例えば、外部境界及び内部境界)が存在する。図9(A)及び図9(B)は、チャート境界の検出の例を示す。太線の頂点とエッジは、外部境界上にあってもよく、破線の頂点とエッジは、内部境界上にあり、他の頂点とエッジは、どの境界にも属さない。図9(A)では、1つの外部境界を持つホールは存在せず、図9(B)では、1つの外部境界と1つの内部境界を持つホールが1つ存在する。
【0046】
各チャートについて、1つの外部境界ループ(例えば、図9(A)及び図9(B)の実線境界)が存在する。外部境界ループは、頂点B0、B1、B2、B3、B4、B5、B6、及びB7によって定義されてもよい。これらの頂点は境界頂点と呼ばれてもよい。図9(A)及び図9(B)に示すように、境界頂点によって定義されるエッジは、単一の三角形に現れる。例えば、頂点B0とB1の間に定義されるエッジは、単一の三角形に現れる。1つ又は複数の例では、外部境界ループは、チャートの外部ポリゴンを定義し、他のすべての頂点は、このポリゴンの内側にあってもよい。1つ又は複数の例では、外部境界ループの内側に内部境界ループが存在してもよい(例えば、図9(B)の破線)。内部境界ループは、三角形を定義しない頂点によって定義されるループであってもよい。例えば、図9(A)の構成は、内部境界ループを一切含まないが、図9(B)の構成は、少なくとも1つの内部境界ループ(例えば、破線)を含む。図9(B)に示すように、破線は、三角形を定義していない。内部境界ループは、チャートのホールに対応し得る。1つ又は複数の例では、いずれの外部境界ループにもいずれの内部境界ループにも属さない頂点を、内部頂点として識別してもよい。
【0047】
いくつかの実施形態では、エンコーダの再パラメータ化アルゴリズムは、チャートの内側のホールを排除することができる。エンコーダ側のホールを排除することにより、内部境界ループをチャート(例えば、2Dメッシュ)から排除することができる。
【0048】
1つ又は複数の実施形態によれば、チャートの特性及び/又は1つ又は複数の応用シナリオに基づいて、各チャートを異なる方法によってコード化することができる。いくつかの実施形態では、2つのコーディング方法を使用することができる。1つ目の方法は、チャートを所定のサンプリングレート(例えば、ステップサイズ)でサンプリングし、生成されたジオメトリ及び属性マップをビデオコーデックによってコード化し得るサンプリングベースの方法であってもよい。2つ目の方法は、内部頂点と、頂点間の連結性とをサンプリングせずに直接コード化し得る生チャートコーディングモードであってもよい。
【0049】
1つ又は複数の実施形態によれば、適応的サンプリング法が適用されるか否かを示すために、高レベルシンタックスで最初に制御フラグをシグナリングすることができる。フラグが真の場合、各チャートに対して異なるサンプリングレートが適用され得るように、適応的サンプリングを有効化することができる。フラグが偽の場合、すべてのチャートに対して同じサンプリングレートが適用され得るように、適応的サンプリングを無効化することができる。
【0050】
1つ又は複数の例では、適応的サンプリングが有効化されるか否かにかかわらず、高レベルシンタックスで基本サンプリングレート(BS)をシグナリングしてもよい。基本サンプリングレートは、以下の1つ又は複数の側面で使用されることができる。適応的サンプリングが有効化される場合、基本サンプリングレートを、予測子として使用してもよい。各チャートは、基本サンプリングレートとの差(例えば、S-BS)によってサンプリングレートをシグナリングすることができる。適応的サンプリングが無効化される場合、基本サンプリングレートは、すべてのチャートの一定のサンプリングレートとして使用されることができる。基本サンプリングレートは、生チャートを含むチャートにおける境界UV座標のコーディングにおける量子化ステップとして使用されてもよく、これにより、より効率的な境界情報のコーディングが可能になる。
【0051】
元のサンプリング位置からのUV座標のオフセットをチャートごとにシグナリングしてもよい。(offsetu,offsetv)として示されるオフセットは、パックされたジオメトリ画像におけるサンプリングされた頂点を見つけるために使用されることができる。これは、テクスチャ画像及びジオメトリ画像の異なる配置を可能にする。
【0052】
1つ又は複数の実施形態によれば、ジオメトリマップを、1つ又は複数のビデオコーデックによってエンコードすることができる。ジオメトリマップのコーディング効率を向上させるために、図10(A)及び図10(B)に示すように、ジオメトリマップにおいて、非占有ピクセルを、隣接する占有ピクセルで埋めてもよい。図10(A)は、非占有ピクセルを埋める前の例示的なジオメトリマップを示し、図10(B)は、非占有ピクセルを埋めた後の例示的なジオメトリマップを示す。1つ又は複数の例では、占有情報を、ビットストリーム内でエンコードしないが、代わりに境界頂点から推測することができる。デコーダ側では、占有マップを、 境界頂点のUV座標から差し引くことができ、ジオメトリマップにおける占有ピクセル値は、メッシュ再構築に使用されることができる。
【0053】
境界頂点のUV座標とXYZ座標を含む境界情報を、ビットストリーム内で予測、量子化、エントロピーコーディングすることができる。量子化ステップサイズを、品質とビットレートのトレードオフのためにエンコーダ側で設定してもよい。異なるUV座標を持つ境界頂点は、同じ3D点からのものであるため、同じXYZ座標を有してもよい。デコーダによって再構築されたメッシュが3D境界エッジ全体にわたって正確であることを確保するために、3Dから2Dへのマッピング関数が維持され、そうでなければ、3D再構築には、再構築された3Dメッシュの視覚的品質を著しく低下させ得るホールやクラックが生じる可能性がある。したがって、UVからXYZへ(例えば、UV2XYZと呼ばれる)のインデックス配列を、境界頂点のマッピング関数を示すためにシグナリングしてもよい。UV2XYZインデックス配列は、各2D UV頂点を3D XYZ頂点にマッピングするインデックスの1D配列であってもよい。
【0054】
1つ又は複数の例では、各チャートについて、チャートにおける境界ループの数をシグナリングしてもよく、各境界ループについて、境界ループにおける頂点の数をシグナリングしてもよい。外部境界ループを、他の内部境界ループよりも先にシグナリングしてもよい。以下の情報をシグナリングして、境界情報を伝達することができる。すなわち、(i)各チャートの2D UV座標、(ii)各チャートのUV2XYZインデックス配列、及び(iii)一意の3D XYZ座標。重複する3D座標は除去してもよいが、対応関係をUV2XYZインデックス配列に保持してもよい。一意の境界XYZ座標を一度コード化し、すべてのチャートに共有させてもよい。エンコーダ側では、各チャートが外部境界ループを1つだけ持ち得ることを保証できるため、各チャートの境界ループの数をシグナリングするのをスキップすることにより、シンタックステーブルをさらに簡素化してもよい。UV2XYZのコーディングにより、異なるチャートで複数の対応関係を有する場合に境界xyz頂点の一意性が維持されるため、再構築されたジオメトリがホールやクラックなく境界全体にわたって正確であることが保証される。
【0055】
1つ又は複数の実施形態によれば、再構築されたジオメトリ画像(例えば、サンプリングされたチャートの場合)、又は以前に再構築された境界XYZ頂点(例えば、生チャートの場合)のいずれかから、境界XYZ頂点情報を予測することができる。境界XYZ頂点の予測残差を、次のように予測値から元のジオメトリを減算することによって導出し得る。
【数1】
【0056】
【0057】
予測残差を量子化し、エントロピーコーディングしてもよい。例えば、残差を次のようにスカラー値で量子化することができる。
【数2】
【0058】
ここで、QSxyzは、高レベルシンタックスでシグナリングされ得る量子化ステップサイズである。
【0059】
再構築された境界XYZ頂点を、次のように導出し得る。
【数3】
【0060】
境界XYZ頂点の予測を、次のように決定してもよい。少なくとも1つのサンプリングされたチャートで対応関係を有する境界XYZ頂点について、予測を次のように再構築されたジオメトリ画像から導出し得る。
【数4】
【0061】
ここで、Set(i)は、同じ境界XYZ頂点に対応する境界UV頂点のすべてのインデックスとインデックスiの集合である。
【数5】
【0062】
【数6】
【0063】
対応するすべてのUV座標が生チャートに属する境界XYZ頂点については、予測を、次のように以前に再構築された境界XYZ頂点から導出し得る。
【数7】
【0064】
いくつかの実施形態によれば、生チャートコーディングモードは、内部頂点をサンプリングすることなく直接エンコードする。1つ又は複数の例では、生チャートの内部頂点は、境界頂点として扱われてもよく、これらを境界頂点と連接することができ、ここで、上述したのと同じコーディング方法が適用され得る。1つ又は複数の例では、生チャートの内部頂点を境界頂点から分離してもよい。例えば、各生チャートについて、内部頂点なしで境界頂点を最初にコード化することができ、その後に内部頂点をコード化することができる。内部頂点には、境界頂点と同様の予測、量子化、及びエントロピーコーディングスキームを適用してもよい。1つ又は複数の例では、UV座標とXYZ座標のみはコード化される必要があり、内部頂点にはUV2XYZインデックス配列は不要である。境界頂点の数と内部頂点の数の両方を、生チャートごとにシグナリングしてもよい。
【0065】
図11は、1つ又は複数の実施形態による、例示的なジオメトリデコードパイプライン1100を示す。デコードパイプライン1100は、デコーダ351によって行われてもよい。境界情報サブストリームから境界頂点をデコード(1102)及び再構築(1106)することができる。ビデオサブストリームからジオメトリ画像をデコードする(1104)ことができる。各チャートについて、内部頂点の再構築は、コーディングモード(例えば、生チャートモード、サンプリングモード)の点で異なる。生チャートモードが使用される場合、直接境界情報サブストリームから内部頂点をデコードする(1108)。内部頂点が、境界頂点によって定義されるポリゴンにおけるサンプリングされた頂点であるサンプリングモードが使用される場合、サンプリングされた頂点を再構築する(1110)。再構築後、各チャートに対して三角測量(1112)を適用して、再構築された境界頂点と内部頂点の間の連結性情報を導出することができ、再構築メッシュ(1114)を得ることができる。1つ又は複数の例では、メッシュフィルタリング処理(1116)を適用して、再構築品質を向上させるために境界上などのジオメトリをさらに平滑化してもよい。
【0066】
1つ又は複数の例では、正しい対応関係を見つけるために、デコードされたUV2XYZインデックス配列を使用して境界XYZ頂点を再構築してもよい。例えば、各チャートについて、デコードされた境界UV座標を次式によって導出し得る。
【数8】
【0067】
【0068】
1つ又は複数の例では、i=0,1,…,Nj-1であり、ここで、Njは、j番目のチャートの境界頂点の数である。チャートにおけるデコードされた境界XYZ座標を次式によって導出し得る。
【数9】
【0069】
【0070】
いくつかの実施形態によれば、サンプリングベースの方法によってコード化されるチャートについて、内部頂点を、デコードされた境界頂点とジオメトリ画像によって再構築することができる。例えば、まず、再構築された境界UV座標は、チャートのポリゴンを定義してもよく、次に、チャートのバウンディングボックスの内側のすべてのサンプリング点をチェックして、その点がポリゴンの内側にあるか否かを確認する。もしその点がポリゴンの内側にあれば、その点を内部サンプリング点として識別する。図12は、境界ポリゴン(例えば、連結点)の例を示しており、ここで、内部サンプリング点が境界ポリゴンの内側にある。1つ又は複数の例では、点がポリゴンの内側にあるか否かをチェックする「クロスカウント」アルゴリズムを使用することができる。点がポリゴンの内側にあるか否かをチェックするために、当業者に知られている他の適切なアルゴリズムを使用してもよい。例えば、再構築された境界uv座標によって定義されるポリゴンを次のように示す。
【数10】
【0071】
内部サンプリングUV座標を次のように示してもよい。
【数11】
【0072】
ここで、i=0,1,…,Kj-1であり、Kjは、j番目のチャートの内部頂点の数である。
【0073】
【数12】
【0074】
【0075】
【0076】
【0077】
図13は、3Dメッシュを圧縮し、コード化されたビデオビットストリームを生成するための、エンコーダ301などのエンコーダによって行われる例示的なプロセス1300を示す。プロセスは、図5に示すように、さらに動作802(図8)に従って、3Dメッシュを1つ又は複数の2Dメッシュに変換する動作S1302から開始してもよい。プロセスは、境界抽出を行って1つ又は複数の2Dメッシュにおける境界頂点を識別することができる動作S1304に進む。例えば、境界抽出を動作804(図8)に従って行ってもよい。
【0078】
プロセスは、例えば動作806に従って、チャート分類を行う動作S1306に進む。プロセスは、内部頂点のコーディングを行う動作S1308に進む。例えば、1つ又は複数の2Dメッシュの内部頂点を、生チャートモード(動作808)又はサンプリングモード(動作810、812、818)に従ってエンコードしてもよい。プロセスは、例えば動作816に従って、境界頂点のコーディングを行う動作S1310に進む。プロセスは、エンコードされたメッシュ情報と、例えば内部頂点のコーディングモードなどの任意の他のシグナリング情報とを含むコード化されたビデオビットストリームを生成する動作S1312に進む。
【0079】
図14は、ビデオビットストリームをデコードし、3Dメッシュを再構築するための、デコーダ351などのデコーダによって行われる例示的なプロセス1400を示す。プロセスは、コード化されたビデオビットストリームを受信する動作S1402から開始してもよい。コード化されたビデオビットストリームは、動作S1312(図13)で生成されたビットストリームに対応し得る。コード化されたビデオビットストリームは、3Dメッシュに対応する1つ又は複数の2Dメッシュを含み得る。
【0080】
プロセスは、各2Dメッシュにおける1つ又は複数の境界頂点を再構築する動作S1404に進む。境界頂点の再構築を動作1106(図11)に従って行ってもよい。プロセスは、1つ又は複数の2Dメッシュの内部頂点を再構築するための再構築モードを決定する動作S1406に進む。例えば、コード化されたビデオビットストリームに含まれるフラグに基づいて、内部頂点をデコードするために生チャートモードを使用するかサンプリングモードを使用するかを決定することができる。
【0081】
プロセスは、決定された再構築モードに基づいて1つ又は複数の2Dメッシュの内部頂点を再構築する動作S1408に進む。プロセスは、1つ又は複数の2Dメッシュの再構築された境界頂点及び1つ又は複数の2Dメッシュの内部頂点に基づいて3Dメッシュを再構築する動作S1410に進む。動作S1410で行われる再構築は、図11の三角測量動作1112、メッシュ再構築動作1114、及びメッシュフィルタリング動作1116を含み得る。
【0082】
上述の技術は、コンピュータ読取可能な命令を使用し、1つ又は複数のコンピュータ読取可能な媒体に物理的に記憶されたコンピュータソフトウェアとして実現され得る。例えば、図15は、本開示の特定の実施形態を実現するのに適したコンピュータシステム1500を示す。
【0083】
コンピュータソフトウェアは、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などにより、直接、または解釈、マイクロコード実行などを介して実行され得る命令を含むコードを作成するために、アセンブル、コンパイル、リンク、または同様のメカニズムを受け得る任意の適切なマシンコードまたはコンピュータ言語を使用してコーディングされ得る。
【0084】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータ又はその構成要素上で実行されることができる。
【0085】
コンピュータシステム1500について図15に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータソフトウェアの使用範囲又は機能に関する制限を示唆することを意図するものではない。構成要素の構成は、コンピュータシステム1500の非限定的な実施形態に示されている構成要素のいずれか1つ、または構成要素の組合せに関して、依存性を有するものとも、要件を有するものとも解釈されてはならない。
【0086】
コンピュータシステム1500は、特定のヒューマンインタフェース入力デバイスを含んでもよい。そのようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動きなど)や、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャーなど)、嗅覚入力(図示せず)を介して、1人または複数の人間のユーザによる入力に応答することができる。ヒューマンインタフェースデバイスは、例えばオーディオ(例えば、音声、音楽、環境音など)、画像(例えば、スキャン画像、静止画カメラから得られた写真画像など)、ビデオ(例えば、2次元ビデオ、立体映像を含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されることもできる。
【0087】
入力ヒューマンインタフェースデバイスは、キーボード1501、マウス1502、トラックパッド1503、タッチスクリーン1510、データグローブ、ジョイスティック1505、マイク1506、スキャナ1507、及びカメラ1508のうちの1つ又は複数(それぞれの1つのみを図示)を含んでもよい。
【0088】
コンピュータシステム1500は、特定のヒューマンインタフェース出力デバイスも含み得る。そのようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通して、1人または複数の人間のユーザの感覚を刺激することができる。そのようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン1510、データグローブ、又はジョイスティック1505による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在し得る)を含み得る。例えば、そのようなデバイスは、オーディオ出力デバイス(例えば、スピーカ1509、ヘッドホン(図示せず)など)、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン1510など、それぞれタッチスクリーン入力機能の有無にかかわらず、それぞれ触覚フィードバック機能の有無にかかわらず、そのいくつかはステレオグラフィック出力などの手段を通して、2次元視覚出力又は3次元を超える出力を出力できるものもある、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、及びスモークタンク(図示せず))、及びプリンタ(図示せず)であり得る。
【0089】
コンピュータシステム1500は、人間がアクセス可能な記憶デバイス、及びそれらに関連する媒体、例えば、CD/DVDなどの媒体1521を伴うCD/DVD ROM/RW1520を含む光学媒体、サムドライブ1522、リムーバブルハードドライブ又はソリッドステートドライブ1523、例えばテープやフロッピーディスク等のレガシー磁気媒体(図示せず)、例えばセキュリティドングル等の特殊なROM/ASIC/PLDベースのデバイス(図示せず)などを含むことも可能である。
【0090】
現在開示されている主題に関連して使用される「コンピュータ読取可能な媒体」という用語は、伝送媒体、搬送波、又は他の一時的な信号を含まないことも、当業者は理解されたい。
【0091】
コンピュータシステム1500は、1つ又は複数の通信ネットワークへのインタフェースを含むこともできる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例は、イーサネットなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線または無線ワイドエリアデジタルネットワーク、ならびにCANBusを含む車両および産業用などを含む。特定のネットワークは一般に、特定の汎用データポートまたは周辺バス1549に接続された外部ネットワークインタフェースアダプタを必要とする(例えば、コンピュータシステム1500のUSBポートなど、他のものは、以下に説明するようにシステムバスへの接続によってコンピュータシステム1500のコアに、共通的に統合される(例えば、PCコンピュータシステムへのイーサネットインタフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム1500は、他のエンティティと通信することができる。このような通信は、単方向、受信のみ(例えば、TVの放送)、単方向の送信のみ(例えば、特定のCANBusデバイスへのCANBus)、または双方向、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステム向けであり得る。そのような通信は、クラウドコンピューティング環境1555への通信を含むことができる。上述のように、特定のプロトコルおよびプロトコルスタックは、それらのネットワークおよびネットワークインタフェースのそれぞれで使用されることができる。
【0092】
前述のヒューマンインタフェースデバイス、ヒューマンアクセス可能な記憶デバイス、及びネットワークインタフェース1554は、コンピュータシステム1500のコア1540に接続されることができる。
【0093】
コア1540は、1つ又は複数の中央処理装置(CPU)1541、グラフィックス処理装置(GPU)1542、フィールドプログラマブルゲートエリア(FPGA)1543の形態の特殊なプログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ1544等を含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)1545、ランダムアクセスメモリ1546、例えばユーザがアクセスできない内部ハードディスク、SSDなどの内部大容量ストレージ1547とともに、システムバス1548を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス1548は、1つ又は複数の物理プラグの形態でアクセス可能であり、追加のCPU、GPUなどによる拡張が可能である。周辺デバイスは、コアのシステムバス1548に直接接続されても、又は周辺バス1549を介して接続されてもよい。周辺バスのアーキテクチャは、PCI、USBなどを含む。グラフィックスアダプタ1550は、コア1540に含まれてもよい。
【0094】
CPU1541、GPU1542、FPGA1543、及びアクセラレータ1544は、組み合わせて、前述のコンピュータコードを構成し得る特定の命令を実行することができる。そのコンピュータコードは、ROM1545又はRAM1546に記憶されることができる。移行データはまた、RAM1546に記憶されることができるが、永久データは、例えば、内部大容量ストレージ1547に記憶されることができる。1つ又は複数のCPU1541、GPU1542、大容量ストレージ1547、ROM1545、RAM1546などと密接に関連付けられることができるキャッシュメモリの使用によって、任意のメモリデバイスへの高速な記憶及び検索を可能にすることができる。
【0095】
コンピュータ読取可能な媒体は、様々なコンピュータ実装動作を実施するためのコンピュータコードをその上に持つことができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであってもよいし、コンピュータソフトウェア分野の技術に精通する者によく知られ利用可能な種類のものであってもよい。
【0096】
一例として、限定ではなく、アーキテクチャ1500、具体的にはコア1540を有するコンピュータシステムは、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ又は複数の有形のコンピュータ読取可能な媒体で具現化されたソフトウェアを実行する結果として、機能を提供することができる。そのようなコンピュータ読取可能な媒体は、上述したようにユーザがアクセス可能な大容量ストレージのほか、コア内部大容量ストレージ1547又はROM1545などの非一時的な性質のコア1540の特定のストレージにも関連する媒体であり得る。本開示の様々な実施形態を実現するソフトウェアは、そのようなデバイスに記憶され、コア1540によって実行され得る。コンピュータ読取可能な媒体は、特定のニーズに応じて、1つ又は複数のメモリデバイス又はチップを含むことができる。ソフトウェアにより、コア1540、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)は、RAM1546に記憶されたデータ構造の定義、及びソフトウェアによって定義された処理による、そのようなデータ構造の変更を含む、本明細書に記載の特定の処理、又は特定の処理の特定の部分を実行することができる。加えて、又は代替として、コンピュータシステムは、本明細書に記載の特定の処理、または特定の処理の特定の部分を実行するために、ソフトウェアの代わりに、または共に動作し得る回路(例えば、アクセラレータ1544)に配線された、またはそうでなければ具体化されたロジックの結果として機能を提供することができる。ソフトウェアへの参照には、ロジックを含めることができ、必要に応じてその逆も可能である。必要に応じて、コンピュータ読み取り可能な媒体への参照は、実行のためのソフトウェアを記憶する回路(例えば、集積回路(IC)など)、実行のためのロジックを具体化する回路、またはこれらの両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0097】
本開示は、いくつかの非限定的な実施形態を説明したが、本開示の範囲内にある変更、置換、及び様々な代替の等価物が存在する。したがって、当業者は、本明細書で明示的に示されていないか又は説明されていないが、本開示の原理を具現化し、ゆえにその趣旨及び範囲内にある多数のシステム及び方法を発明することができることが理解されるであろう。
【0098】
上記の開示は、以下に列記する実施形態も包含する。
【0099】
(1)デコーダの少なくとも1つのプロセッサが実行する方法であって、3次元(3D)メッシュに対応する1つ又は複数の2次元(2D)メッシュを含むコード化されたビデオビットストリームを受信するステップと、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築するステップと、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定するステップと、決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップと、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの前記再構築された1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築するステップと、を含む、方法。
【0100】
(2)前記再構築モードの決定は、前記コード化されたビデオビットストリームに含まれるフラグに基づいている、特徴(1)に記載の方法。
【0101】
(3)前記コード化されたビデオビットストリームに含まれる1つ又は複数のジオメトリマップをデコードするステップをさらに含む、特徴(1)又は(2)に記載の方法。
【0102】
(4)前記再構築モードが前記サンプリングモードであると決定することに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップは、前記1つ又は複数の2Dメッシュのそれぞれの境界ポリゴンを、前記1つ又は複数の2Dメッシュのそれぞれの対応する再構築された境界頂点に基づいて決定するステップと、前記1つ又は複数の2Dメッシュのそれぞれの前記境界ポリゴンに含まれる各頂点を内部頂点として識別するステップと、を含む、特徴(3)に記載の方法。
【0103】
(5)前記3Dメッシュを再構築するステップは、デコードされた前記1つ又は複数のジオメトリマップにおける対応する位置、サンプリングレート、及びデコードされた前記1つ又は複数のジオメトリマップにおけるオフセットに基づいて、前記3Dメッシュにおける内部頂点を導出するステップを含む、特徴(4)に記載の方法。
【0104】
(6)前記再構築モードが前記非サンプリングモードであると決定することに基づいて、1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点は、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点に基づいて再構築される、特徴(1)ないし(5)のいずれか一項に記載の方法。
【0105】
(7)前記3Dメッシュを再構築するステップは、前記1つ又は複数の2Dメッシュの再構築された内部頂点と、前記1つ又は複数の2Dメッシュにおける対応する再構築された境界頂点とを連接することによって、前記3Dメッシュにおける内部頂点を再構築するステップを含む、特徴(6)に記載の方法。
【0106】
(8)前記3Dメッシュを再構築するステップは、前記3Dメッシュにおける境界頂点を、前記1つ又は複数の2Dメッシュのそれぞれの対応する1つ又は複数の再構築された境界頂点を前記3Dメッシュにおける前記境界頂点にマッピングする2Dから3Dへのインデックス配列に基づいて再構築するステップを含む、特徴(1)ないし(7)のいずれか一項に記載の方法。
【0107】
(9)プログラムコードを記憶するように構成される少なくとも1つのメモリと、前記プログラムコードを読み取り、前記プログラムコードによって指示される通りに動作するように構成される少なくとも1つのプロセッサと、を備え、前記プログラムコードは、前記少なくとも1つのプロセッサに、3次元(3D)メッシュに対応する1つ又は複数の2次元(2D)メッシュを含むコード化されたビデオビットストリームを受信させるように構成される受信コードと、前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築させるように構成される第1の再構築コードと、前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定させるように構成される第1の決定コードと、前記少なくとも1つのプロセッサに、決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築させるように構成される第2の再構築コードと、前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの前記再構築された1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築させるように構成される第3の再構築コードと、を含むデコーダ。
【0108】
(10)前記再構築モードの決定は、前記コード化されたビデオビットストリームに含まれるフラグに基づいている、特徴(9)に記載のデコーダ。
【0109】
(11)前記プログラムコードは、前記少なくとも1つのプロセッサに、前記コード化されたビデオビットストリームに含まれる1つ又は複数のジオメトリマップをデコードさせるように構成されるデコードコードをさらに含む、特徴(9)又は(10)に記載のデコーダ。
【0110】
(12)前記再構築モードが前記サンプリングモードであると決定することに基づいて、前記第2の再構築コードは、前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの境界ポリゴンを、前記1つ又は複数の2Dメッシュのそれぞれの対応する再構築された境界頂点に基づいて決定させるように構成される第2の決定コードと、前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュのそれぞれの前記境界ポリゴンに含まれる各頂点を内部頂点として識別させるように構成される識別コードと、をさらに含む、特徴(11)に記載のデコーダ。
【0111】
(13)前記第3の再構築コードは、前記少なくとも1つのプロセッサに、デコードされた前記1つ又は複数のジオメトリマップにおける対応する位置、サンプリングレート、及びデコードされた前記1つ又は複数のジオメトリマップにおけるオフセットに基づいて、前記3Dメッシュにおける内部頂点を導出させるように構成される導出コードをさらに含む、特徴(12)に記載のデコーダ。
【0112】
(14)前記再構築モードが前記非サンプリングモードであると決定することに基づいて、1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点は、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点に基づいて再構築される、特徴(9)ないし(13)のいずれか一項に記載のデコーダ。
【0113】
(15)前記第3の再構築コードは、前記少なくとも1つのプロセッサに、前記1つ又は複数の2Dメッシュの再構築された内部頂点と、前記1つ又は複数の2Dメッシュにおける対応する再構築された境界頂点とを連接することによって、前記3Dメッシュにおける内部頂点を再構築させるように構成される第4の再構築コードをさらに含む、特徴(14)に記載のデコーダ。
【0114】
(16)前記第3の再構築コードは、前記少なくとも1つのプロセッサに、前記3Dメッシュにおける境界頂点を、前記1つ又は複数の2Dメッシュのそれぞれの対応する1つ又は複数の再構築された境界頂点を前記3Dメッシュにおける前記境界頂点にマッピングする2Dから3Dへのインデックス配列に基づいて再構築させるように構成される第4の再構築コードをさらに含む、特徴(9)ないし(15)のいずれか一項に記載のデコーダ。
【0115】
(17)デコーダにおける少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、3次元(3D)メッシュに対応する1つ又は複数の2次元(2D)メッシュを含むコード化されたビデオビットストリームを受信するステップと、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築するステップと、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定するステップと、決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップと、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの前記再構築された1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築するステップと、を実行させる命令を記憶した非一時的なコンピュータ読取可能な媒体。
【0116】
(18)前記再構築モードの決定は、前記コード化されたビデオビットストリームに含まれるフラグに基づいている、特徴(17)に記載の非一時的なコンピュータ読取可能な媒体。
【0117】
(19)前記命令は、さらに、前記少なくとも1つのプロセッサに、前記コード化されたビデオビットストリームに含まれる1つ又は複数のジオメトリマップをデコードするステップを実行させる、特徴(17)又は(18)に記載の非一時的なコンピュータ読取可能な媒体。
【0118】
(20)前記再構築モードが前記サンプリングモードであると決定することに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップは、前記1つ又は複数の2Dメッシュのそれぞれの境界ポリゴンを、前記1つ又は複数の2Dメッシュのそれぞれの対応する再構築された境界頂点に基づいて決定するステップと、前記1つ又は複数の2Dメッシュのそれぞれの前記境界ポリゴンに含まれる各頂点を内部頂点として識別するステップと、をさらに含む、特徴(19)に記載の非一時的なコンピュータ読取可能な媒体。

図1
図2
図3
図4
図5
図6
図7
図8
図9(A)】
図9(B)】
図10(A)】
図10(B)】
図11
図12
図13
図14
図15
【手続補正書】
【提出日】2024-05-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーダの少なくとも1つのプロセッサが実行する方法であって、
3次元(3D)メッシュに対応する1つ又は複数の2次元(2D)メッシュを含むコード化されたビデオビットストリームを受信するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定するステップと、
決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築するステップと、
を含む、方法。
【請求項2】
前記再構築モードの決定は、前記コード化されたビデオビットストリームに含まれるフラグに基づいている、請求項1に記載の方法。
【請求項3】
前記コード化されたビデオビットストリームに含まれる1つ又は複数のジオメトリマップをデコードするステップをさらに含む、請求項1に記載の方法。
【請求項4】
前記再構築モードが前記サンプリングモードであると決定することに基づいて、
前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップは、
前記1つ又は複数の2Dメッシュのそれぞれの境界ポリゴンを、前記1つ又は複数の2Dメッシュのそれぞれの対応する再構築された境界頂点に基づいて決定するステップと、
前記1つ又は複数の2Dメッシュのそれぞれの前記境界ポリゴンに含まれる各頂点を内部頂点として識別するステップと、を含む、請求項3に記載の方法。
【請求項5】
前記3Dメッシュを再構築するステップは、
デコードされた前記1つ又は複数のジオメトリマップにおける対応する位置、サンプリングレート、及びデコードされた前記1つ又は複数のジオメトリマップにおけるオフセットに基づいて、前記3Dメッシュにおける内部頂点を導出するステップを含む、請求項4に記載の方法。
【請求項6】
前記再構築モードが前記非サンプリングモードであると決定することに基づいて、1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点は、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点に基づいて再構築される、請求項1に記載の方法。
【請求項7】
前記3Dメッシュを再構築するステップは、
前記1つ又は複数の2Dメッシュの再構築された内部頂点と、前記1つ又は複数の2Dメッシュにおける対応する再構築された境界頂点とを連接することによって、前記3Dメッシュにおける内部頂点を再構築するステップを含む、請求項6に記載の方法。
【請求項8】
前記3Dメッシュを再構築するステップは、
前記3Dメッシュにおける境界頂点を、前記1つ又は複数の2Dメッシュのそれぞれの対応する1つ又は複数の再構築された境界頂点を前記3Dメッシュにおける前記境界頂点にマッピングする2Dから3Dへのインデックス配列に基づいて再構築するステップを含む、請求項1に記載の方法。
【請求項9】
プログラムコードを記憶するように構成される少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードによって指示される通りに動作するように構成される少なくとも1つのプロセッサと、を備え、
前記プログラムコードは、
前記少なくとも1つのプロセッサに、請求項1乃至8のうちのいずれか一項に記載の方法を実行させるように構成される、デコーダ。
【請求項10】
コンピュータに、請求項1乃至8のうちのいずれか一項に記載の方法を実行させるように構成される、コンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正の内容】
【0009】
1つ又は複数の実施形態によれば、コンピュータプログラムにおけるコンピュータが実行する方法は、3次元(3D)メッシュに対応する1つ又は複数の2次元(2D)メッシュを含むコード化されたビデオビットストリームを受信するステップと、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の境界頂点を再構築するステップと、前記1つ又は複数の2Dメッシュのそれぞれの1つ又は複数の内部頂点を再構築するための再構築モードが、(i)サンプリングモードと、(ii)非サンプリングモードのうちの1つであるか否かを決定するステップと、決定された前記再構築モードに基づいて、前記1つ又は複数の2Dメッシュのそれぞれの前記1つ又は複数の内部頂点を再構築するステップと、前記1つ又は複数の2Dメッシュのそれぞれの再構築された前記1つ又は複数の境界頂点と、前記1つ又は複数の2Dメッシュのそれぞれの前記再構築された1つ又は複数の内部頂点とに基づいて、前記3Dメッシュを再構築するステップと、を含む
【国際調査報告】