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

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

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

特表2024-515208メッシュ圧縮のための境界UV2XYZインデックスの予測コーディング
<>
  • 特表-メッシュ圧縮のための境界UV2XYZインデックスの予測コーディング 図1
  • 特表-メッシュ圧縮のための境界UV2XYZインデックスの予測コーディング 図2
  • 特表-メッシュ圧縮のための境界UV2XYZインデックスの予測コーディング 図3
  • 特表-メッシュ圧縮のための境界UV2XYZインデックスの予測コーディング 図4
  • 特表-メッシュ圧縮のための境界UV2XYZインデックスの予測コーディング 図5
  • 特表-メッシュ圧縮のための境界UV2XYZインデックスの予測コーディング 図6
  • 特表-メッシュ圧縮のための境界UV2XYZインデックスの予測コーディング 図7
  • 特表-メッシュ圧縮のための境界UV2XYZインデックスの予測コーディング 図8
  • 特表-メッシュ圧縮のための境界UV2XYZインデックスの予測コーディング 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-05
(54)【発明の名称】メッシュ圧縮のための境界UV2XYZインデックスの予測コーディング
(51)【国際特許分類】
   H04N 19/20 20140101AFI20240329BHJP
   H04N 19/503 20140101ALI20240329BHJP
   G06T 9/00 20060101ALI20240329BHJP
   G06T 17/10 20060101ALI20240329BHJP
【FI】
H04N19/20
H04N19/503
G06T9/00
G06T17/10
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023565242
(86)(22)【出願日】2023-03-17
(85)【翻訳文提出日】2023-10-23
(86)【国際出願番号】 US2023015444
(87)【国際公開番号】W WO2023183186
(87)【国際公開日】2023-09-28
(31)【優先権主張番号】63/323,874
(32)【優先日】2022-03-25
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/185,076
(32)【優先日】2023-03-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャン,シァン
(72)【発明者】
【氏名】ホアン,チャオ
(72)【発明者】
【氏名】ティアン,ジュン
(72)【発明者】
【氏名】シュー,シャオジョン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5B080
5C159
【Fターム(参考)】
5B080AA14
5B080CA00
5B080FA02
5B080GA11
5C159MA01
5C159MB05
5C159MB18
5C159ME01
5C159PP04
5C159UA02
5C159UA05
(57)【要約】
方法及び装置であって、エンコーダからコーディングされたビデオビットストリーム(コード化ビデオビットストリーム)を受信し、前記コード化ビデオビットストリームから、ボリュメトリックオブジェクトの1つ以上の表面を記述する複数のポリゴンを備えるメッシュを取り出し、UV-to-XYZインデックスアレイ内の別のインデックスに含まれる少なくとも1つの以前にコーディングされた値から、前記UV-to-XYZインデックスアレイのインデックスの現在の値を予測し、前記UV-to-XYZインデックスアレイが、前記メッシュに関連付けられた各2次元(2D)UV頂点を前記メッシュに関連付けられた3次元(3D)XYZ頂点に対応させる複数のインデックスを含み、前記UV-to-XYZインデックスアレイの前記インデックスの前記現在の値に関連付けられた予測残差を導出し、前記UV-to-XYZインデックスアレイの前記インデックスの予測された前記現在の値と、導出された前記予測残差とに基づいて境界UV座標を再構成する。
【特許請求の範囲】
【請求項1】
デコーダ内の少なくとも1つのプロセッサによって実行される方法であって:
エンコーダからコーディングされたビデオビットストリーム(コード化ビデオビットストリーム)を受信するステップと;
前記コード化ビデオビットストリームから、ボリュメトリックオブジェクトの1つ以上の表面を記述する複数のポリゴンを備えるメッシュを取り出すステップと;
UV-to-XYZインデックスアレイ内の別のインデックスに含まれる少なくとも1つの以前にコーディングされた値から、前記UV-to-XYZインデックスアレイのインデックスの現在の値を予測するステップであって、前記UV-to-XYZインデックスアレイが、前記メッシュに関連付けられた各2次元(2D)UV頂点を前記メッシュに関連付けられた3次元(3D)XYZ頂点に対応させる複数のインデックスを含む、ステップと;
前記UV-to-XYZインデックスアレイの前記インデックスの前記現在の値に関連付けられた予測残差を導出するステップと;
前記UV-to-XYZインデックスアレイの前記インデックスの予測された前記現在の値と導出された前記予測残差とに基づいて境界UV座標を再構成するステップと、を含む
方法。
【請求項2】
前記予測残差は、固定長コーディングによってコーディングされる、
請求項1記載の方法。
【請求項3】
前記予測残差は、指数ゴロムコーディングによってコーディングされる、
請求項1記載の方法。
【請求項4】
前記予測残差は、ユーナリーコーディングによってコーディングされる、
請求項1記載の方法。
【請求項5】
前記予測残差が、前記予測残差の大きさ及び符号を特定する前記コード化ビデオビットストリーム中に含まれる1つ以上のシンタックス要素によってコーディングされる、
請求項1記載の方法。
【請求項6】
前記UV-to-XYZインデックスアレイは、ランレングス方向のタプルとしてコーディングされる、
請求項1記載の方法。
【請求項7】
前記UV-to-XYZインデックスアレイが境界ループである、
請求項1記載の方法。
【請求項8】
プログラムコードを格納するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み込んで、前記プログラムコードによって命令されたように動作するように構成された少なくとも1つのプロセッサと、を備える装置であって、
前記プログラムコードは、前記少なくとも1つのプロセッサに、請求項1乃至7いずれか1項記載の方法を実行させるように構成されている、
装置。
【請求項9】
命令を備えるプログラムであって、前記命令は、少なくとも1つのプロセッサで実行されるときに、前記少なくとも1つのプロセッサに、請求項1乃至7いずれか1項記載の方法を実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
関連出願の相互参照本出願は、2023年3月25日に出願された米国仮特許出願第63/323,874号及び2022年3月16日に出願された米国特許出願第18/185,076号からの優先権を主張するものであり、これらの開示は、その全体が参照により本明細書に組み込まれる。
【0002】
技術分野
本開示は、高度ビデオコーディング技術のセットを対象とする。より具体的には、本開示は、効率的なメッシュ圧縮のための境界頂点のUV-to-XYZ(UV2XYZ)インデックスのコーディング方法を対象とする。
【背景技術】
【0003】
3Dキャプチャ、モデリング、及びレンダリングにおける進歩は、いくつかのプラットフォーム及びデバイスにわたる3Dコンテンツのユビキタスな存在が促進された。今日では、ある大陸で赤ちゃんの最初の一歩を撮影し、祖父母が別の大陸でその子どもを見て(そしておそらく交流し)、完全な没入体験を楽しむことができる。それにもかかわらず、そのような現実性を達成するために、モデルはますます洗練され、大量のデータがそれらのモデルの作成と使用にリンクされる。3Dメッシュは、そのような没入型コンテンツを表すために広く使用されている。
【0004】
動的メッシュシーケンスは、時間とともに変化するかなりの量の情報からなり得るので、大量のデータを必要とし得る。したがって、かかるコンテンツを格納及び伝送するために効率的な圧縮技術が要求される。メッシュ圧縮標準IC、MESHGRID、FAMCは、以前にMPEGによって開発されて、一定の接続性及び時間変化するジオメトリ及び頂点属性を有する動的メッシュに対処した。しかしながら、これらの標準は、時間変化する属性マップ及び接続性情報を考慮していない。DCC(Digital Content Creation:デジタルコンテンツ作成)ツールは通常、そのような動的メッシュを生成する。これに対して、特にリアルタイム制約下で、一定の接続性の動的メッシュを生成することは、ボリュメトリック取得技法にとって困難である。このタイプのコンテンツは、既存の標準によってサポートされていない。MPEGは、時間と共に変化する接続性情報及び任意選択で時間と共に変化する属性マップを有する動的メッシュを直接扱うために新たなメッシュ圧縮標準を開発することを計画している。この標準は、リアルタイム通信、ストレージ、自由視点ビデオ、AR及びVRなどの様々なアプリケーションのための損失性圧縮及び無損失性圧縮を対象とする。ランダムアクセス及びスケーラブル/プログレッシブコーディングなどの機能も考慮される。
【発明の概要】
【0005】
以下は、本開示の1つ以上の実施形態の基本的な理解を提供するために、そのような実施形態の簡略化された概要を提示する。この概要は、全ての考察された実施形態の広範な概観ではなく、全ての実施形態の主要又は重要な要素を識別することも、いずれか又は全ての実施形態の範囲を線引きすることも意図されていない。その唯一の目的は、後に提示されるより詳細な説明の前置きとして、本開示の1つ以上の複数の実施形態のいくつかの概念を簡略化された形で提示することである。
【0006】
本開示は、効率的なメッシュ圧縮のための境界頂点のUV2XYZインデックスの方法を提供する。
【0007】
いくつかの実施形態によれば、少なくとも1つのプロセッサによって実行される方法が提供される。方法は、エンコーダからコーディングされたビデオビットストリーム(coded video bitstream)(コード化ビデオビットストリーム)を受信するステップを含む。方法はさらに、コード化ビデオビットストリームから、ボリュメトリックオブジェクトの1つ以上の表面を記述する複数のポリゴンを備えるメッシュを取り出すステップを含む。方法はさらに、UV-to-XYZインデックスアレイ内の別のインデックスに含まれる少なくとも1つの以前にコーディングされた値から、UV-to-XYZインデックスアレイのインデックスの現在の値を予測するステップであって、UV-to-XYZインデックスアレイが、メッシュに関連付けられた各2次元(2D)UV頂点をメッシュに関連付けられた3次元(3D)XYZ頂点に対応させる複数のインデックスを含む、ステップを含む。方法はさらに、UV-to-XYZインデックスアレイのインデックスの現在の値に関連付けられた予測残差を導出するステップを含む。方法はさらに、UV-to-XYZインデックスアレイのインデックスの予測された現在の値と導出された予測残差とに基づいて境界UV座標を再構成するステップを含む。
【0008】
いくつかの実施態様によれば、装置は、プログラムコードを格納するように構成された少なくとも1つのメモリと、プログラムコードを読み込んで、プログラムコードによって命令されるように作動するように構成された少なくとも1つのプロセッサと、を備える。プログラムコードは、少なくとも1つのプロセッサに、エンコーダからコーディングされたビデオビットストリームを受信させるように構成された受信コードを含む。プログラムコードはさらに、少なくとも1つのプロセッサに、コード化ビデオビットストリームから、ボリュメトリックオブジェクトの1つ以上の表面を記述する複数のポリゴンを備えるメッシュを取り出させるように構成された取り出しコードを備える。プログラムコードはさらに、少なくとも1つのプロセッサに、UV-to-XYZインデックスアレイ内の別のインデックスに含まれる少なくとも1つの以前にコーディングされた値から、UV-to-XYZインデックスアレイのインデックスの現在の値を予測させるように構成された予測コードであって、UV-to-XYZインデックスアレイが、メッシュに関連付けられた各2次元(2D)UV頂点をメッシュに関連付けられた3次元(3D)XYZ頂点に対応させる複数のインデックスを含む、予測コードを含む。プログラムコードはさらに、少なくとも1つのプロセッサに、UV-to-XYZインデックスアレイのインデックスの現在の値に関連付けられた予測残差を導出させるように構成された導出コードを含む。プログラムコードはさらに、少なくとも1つのプロセッサに、UV-to-XYZインデックスアレイのインデックスの予測された現在の値と導出された前記予測残差とに基づいて境界UV座標を再構成させるように構成された再構成コードを含む。
【0009】
いくつかの実施形態によれば、非一時的コンピュータ可読記憶媒体は、少なくとも1つのプロセッサによって実行されたとき、少なくとも1つのプロセッサに、エンコーダからコード化ビデオビットストリームを受信させる命令を記憶する。命令は、少なくとも1つのプロセッサに、コード化ビデオビットストリームから、ボリュメトリックオブジェクトの1つ以上の表面を記述する複数のポリゴンを備えるメッシュを取り出させる。命令はさらに、少なくとも1つのプロセッサに、UV-to-XYZインデックスアレイ内の別のインデックスに含まれる少なくとも1つの以前にコーディングされた値から、UV-to-XYZインデックスアレイのインデックスの現在の値を予測させ、UV-to-XYZインデックスアレイが、メッシュに関連付けられた各2次元(2D)UV頂点をメッシュに関連付けられた3次元(3D)XYZ頂点に対応させる複数のインデックスを含む。命令はさらに、少なくとも1つのプロセッサに、UV-to-XYZインデックスアレイのインデックスの現在の値に関連付けられた予測残差を導出させる。命令はさらに、少なくとも1つのプロセッサに、UV-to-XYZインデックスアレイのインデックスの予測された現在の値と導出された予測残差とに基づいて境界UV座標を再構成させる。
【0010】
追加の実施形態は、以下の説明に記載され、部分的に、説明から明らかになり、及び/又は本開示の提示された実施形態の実施によって習得され得る。
【図面の簡単な説明】
【0011】
開示された主題のさらなる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになるであろう。
図1図1は、いくつかの実施形態による、通信システムの簡略化されたブロック図を模式的に示す図である。
図2図2は、いくつかの実施形態による、ストリーミングシステムの簡略化されたブロック図を模式的に示す図である。
図3図3は、いくつかの実施形態による、ビデオエンコーダ及びデコーダの簡略化されたブロック図を模式的に示す図である。
図4図4は、いくつかの実施形態による、3Dメッシュセグメントから2DチャートへのUVパラメータ化マッピングのプロセスを示す図である。
図5図5は、いくつかの実施形態による、3Dメッシュセグメントが複数の別個のチャートにマッピングされる、異なるUVパラメータ化の図である。
図6図6は、いくつかの実施形態による、複数のチャートを伴う一般的2DUVアトラスを示す図である。
図7図7は、いくつかの実施形態による、2Dチャートにおける境界頂点を示す図である。
図8図8は、いくつかの実施形態による、効率的なメッシュ圧縮のために境界頂点のUV2XYZインデックスをコーディングするためのプログラムによって実行されるステップを示す動作フローチャートである。
図9図9は、実施形態を実施するのに適したコンピュータシステムの図である。
【発明を実施するための形態】
【0012】
例示的な実施形態の以下の詳細な説明は、添付の図面を参照する。異なる図面における同じ参照番号は、同じ又は類似の要素を識別することがある。
【0013】
メッシュは、ボリュメトリックオブジェクトの表面を記述するいくつかのポリゴンを含み得る。3D空間内のその頂点、及び頂点がどのように接続されるかの情報は、接続性情報と称される各ポリゴンを定義することができる。任意選択で、色、法線などの頂点属性をメッシュ頂点に関連付けることができる。属性はまた、2D属性マップを用いてメッシュをパラメータ化するマッピング情報を利用することによって、メッシュの表面に関連付けられ得る。かかるマッピングは、UV座標又はテクスチャ座標と称され、メッシュ頂点に関連付けられたパラメータ座標のセットを使用して定義され得る。2D属性マップは、テクスチャ、法線、変位などの高解像度属性情報を記憶するために使用され得る。高解像度属性情報は、テクスチャマッピングやシェーディングなどのさまざまな目的に使用できる。
【0014】
上述したように、3Dメッシュ又は動的メッシュは、時間とともに変化する(changing over time)大量の情報から構成され得るので、大量のデータを必要とし得る。特に、境界情報はメッシュ全体のうちの重要な部分である。したがって、境界情報を効率的に圧縮するための効率的な圧縮技術が必要とされる。
【0015】
本開示では、メッシュ圧縮における境界のUV2XYZ(UV-to-XYZ)インデックスアレイのコーディングのためのいくつかの方法が提案される。それらは、個々に、又は任意の形態の組み合わせによって適用され得る。本方法は、メッシュの1つのフレームのみが存在する、又はメッシュコンテンツが経時的に変化しない、静的メッシュに適用され得る。
【0016】
提案された方法は、別々に又は任意の順序で組み合わせて用いられることができる。さらに、方法(又は実施形態)、エンコーダ、及びデコーダの各々は、処理回路(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実装され得る。一実施例では、1つ以上のプロセッサは、非一時的コンピュータ可読記憶媒体に格納されたプログラムを実行する。
【0017】
境界頂点の総数がNであり、一意のxyz座標を持つ境界頂点の数がM(M≦N)であるとする。UV2XYZは長さがNの1Dアレイであり、アレイ内の各要素は、一意のxyz座標に対するインデックスを示し、例えば、i=0,1,…,N-1についてUV2XYZ[i]∈{0,1,…,M-1}である。
【0018】
UV2XYZは、各セグメントがチャートのUV2XYZインデックスを含むセグメントに分離され得る。
【0019】
UV2XYZのアレイを無損失でコーディングする複数の方法がある。
【0020】
図1図2を参照して、本開示のエンコーディング構造及びデコーディング構造を実装するための本開示の実施形態が説明される。
【0021】
図1は、本開示の一実施形態による通信システム100の簡略化されたブロック図を示す。システム100は、ネットワーク150を介して相互接続された少なくとも2つの端末110、120を含み得る。データの一方向伝送のために、第1端末110は、ネットワーク150を介して他の端末120に伝送するためのローカル位置で、メッシュを含むビデオデータをコーディングし得る。第2端末120は、ネットワーク150から他方の端末のコーディングされたビデオデータを受信し、コーディングされたデータをデコードし、復元されたビデオデータを表示することができる。一方向性データ伝送は、メディア提供アプリケーション等において一般的であり得る。
【0022】
図1は、例えば、テレビ会議中に発生し得るコーディングビデオの双方向伝送をサポートするために設けられた第2端末ペア130、140を示す。データの双方向伝送のために、各端末130,140は、ネットワーク150を介して他方の端末に伝送するために、ローカル位置で捕捉されたビデオデータをコーディングし得る。各端末130,140はまた、他の端末によって送信されたコーディングビデオデータを受信することができ、コーディングビデオデータをデコードすることができ、復元されたビデオデータをローカル表示装置に表示することができる。
【0023】
図1において、端末110~140は、サーバ、パーソナルコンピュータ、及びスマートフォン、及び/又は任意の他のタイプの端末であり得る。。例えば、端末110~140は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のテレビ会議装置であることができる。ネットワーク150は、例えば、有線及び/又は無線通信ネットワークを含む、端末110~140間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク105は、回線交換チャネル及び/又はパケット交換チャネルでデータを交換することができる。代表的なネットワークには、テレコミュニケーションネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットが含まれる。本説明の目的のためには、以下に説明しない限り、ネットワーク150のアーキテクチャ及びトポロジーは本発明の動作には重要ではない可能性がある。
【0024】
図2は、開示された主題のアプリケーションの例として、ストリーミング環境におけるビデオエンコーダ及びデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTVや、CD、DVD、メモリースティック等を含むデジタルメディアへの圧縮ビデオの保存等を含む、他のビデオ対応アプリケーションと共に使用され得る
【0025】
図2に示すように、ストリーミングシステム200は、ビデオソース201及びエンコーダ203を含むキャプチャサブシステム(213)を含み得る。ストリーミングシステム200は、少なくとも1つのストリーミングサーバ205及び/又は少なくとも1つのストリーミングクライアント206をさらに含み得る。
【0026】
ビデオソース201は、例えば、3Dメッシュ及び3Dメッシュに関連付けられたメタデータを含むストリーム202を作成することができる。ビデオソース201は、例えば、3Dセンサ(例えば、深度センサ)又は3D撮像技術(例えば、(1つ以上の)デジタルカメラ)と、3Dセンサ又は3D撮像技術から受信したデータを使用して3Dメッシュを生成するように構成されたコンピューティングデバイスとを含み得る。エンコードされたビデオビットストリームと比較して高いデータ量を有し得るサンプルストリーム202は、ビデオソース201に結合されたエンコーダ203によって処理され得る。エンコーダ203は、以下でより詳細に説明するように、開示される主題の態様を可能にするか又は実装するために、ハードウェア、ソフトウェア、又はそれらの組合せを含み得る。エンコーダ203はまた、エンコードされたビデオビットストリーム204を生成し得る。圧縮されていないストリーム202と比較してより低いデータ量を有し得るエンコードされたビデオビットストリーム204は、将来の使用のためにストリーミングサーバ205上に記憶され得る。1つ以上のストリーミングクライアント206は、ストリーミングサーバ205にアクセスして、エンコードされたビデオビットストリーム204のコピーであり得るビデオビットストリーム209を取り出すことができる
【0027】
ストリーミングクライアント206は、ビデオデコーダ210及びディスプレイ212を含むことができる。ビデオデコーダ210は、例えば、エンコードされたビデオビットストリーム204の入力コピーであるビデオビットストリーム209をデコードし、ディスプレイ212又は他のレンダリングデバイス(図示せず)上でレンダリング可能な出力ビデオサンプルストリーム211を作成することができる。いくつかのストリーミングシステムでは、ビデオビットストリーム204、209は、特定のビデオコーディング/圧縮標準に従ってエンコードされることができる。
【0028】
図3は、エンコーダ及びデコーダを使用する動的メッシュ圧縮及びメッシュ再構成のためのフレームワーク300の例示的な図である。入力メッシュの各フレームは、一連の動作、例えば、追跡、再メッシュ化、パラメータ化、ボクセル化によって前処理され得る。これらの動作は、エンコーダのみであることができ、それらがデコードプロセスの一部ではない可能性がある。その後、2D UVアトラスを有するメッシュを得ることができ、メッシュの各頂点は、2Dアトラス上に1つ以上の関連付けられたUV座標を有する。その後、メッシュは、2Dアトラス上でサンプリングすることによって、占有マップ、幾何学マップ、及び属性マップを含む、複数のマップに変換され得る。その後、これらの2Dマップは、HEVC、VVC、AV1、AVS3などの任意のビデオ/画像コーデックによってコーディングされ得る。デコーダ側では、メッシュは、デコードされた2Dマップから再構成され得る。再構成されたメッシュに対して任意の後処理及びフィルタリングを適用することもできる。他のメタデータは、3Dメッシュ再構成の目的のためにデコーダ側にシグナリングされ得る。占有マップは、各チャートの境界頂点がシグナリングされる場合、デコーダ側から推測され得る。
【0029】
図3に示すように、フレームワーク300は、エンコーダ301及びデコーダ351を含むことができる。エンコーダ301は、1つ以上の入力メッシュ305、UVアトラス310を有する1つ以上のメッシュ、占有マップ315、幾何学マップ320、属性マップ325、及びメタデータ330を含むことができる。デコーダ351は、デコードされた占有マップ335、デコードされた幾何学マップ340、デコードされた属性マップ345、デコードされたメタデータ350、及び再構成されたメッシュ360を含み得る。
【0030】
本開示の一態様によれば、入力メッシュ305は1つ以上のフレームを含み得、1つ以上のフレームの各々は、一連の動作によって前処理され、UVアトラス310を有するメッシュを生成するために使用され得る。一例として、前処理動作は、追跡、パラメータ化、再メッシュ化、ボクセル化などを含んでもよく、これらに限定されなくてもよい。いくつかの実施形態では、前処理動作は、エンコーダ側でのみ実行され、デコーダ側では実行されなくてもよい。
【0031】
UVアトラス310を有するメッシュは、2Dメッシュであり得る。UVアトラスを有する2Dメッシュは、メッシュの各頂点が2Dアトラス上のUV座標に関連付けられ得るメッシュであり得る。UVアトラス310を有するメッシュは、処理され、サンプリングに基づいて複数のマップに変換され得る。一例として、UVアトラス310は、UVアトラスを有する2Dメッシュのサンプリングに基づいて、処理され、占有マップ、幾何学マップ、及び属性マップに変換され得る。生成された占有マップ335、幾何学マップ340、及び属性マップ345は、適切なコーデック(たとえば、HVEC、VVC、AV1など)を使用してエンコードされ、デコーダに送信され得る。いくつかの実施形態では、メタデータ(例えば、接続性情報など)もデコーダに送信され得る。
【0032】
一態様によれば、デコーダ351は、エンコードされた占有マップ、幾何学マップ、及び属性マップをエンコーダから受信することができる。デコーダ351は、本明細書で説明する実施形態に加えて、適切な技法及び方法を使用して、占有マップ、幾何学マップ、及び属性マップをデコードすることができる。一実施形態において、デコーダ351は、デコードされた占有マップ335、デコードされた幾何学マップ340、デコードされた属性マップ345、及びデコードされたメタデータ350を生成し得る。入力メッシュ305は、1つ以上の再構成フィルタ及び技法を使用して、デコードされた占有マップ335、デコードされた幾何学マップ340、デコードされた属性マップ345、及びデコードされたメタデータ350に基づいて、再構成されたメッシュ360に再構成され得る。いくつかの実施形態では、メタデータ330はデコーダ351に直接送信されることができ、デコーダ351はメタデータを使用して、デコードされた占有マップ335、デコードされた幾何学マップ340、及びデコードされた属性マップ345に基づいて再構成されたメッシュ360を生成し得る。再メッシュ化、パラメータ化、追跡、ボクセル化などを含むがこれらに限定されないポストフィルタリング技法も、再構成されたメッシュ360に適用することができる。
【0033】
いくつかの実施形態では、3Dメッシュは、いくつかのセグメント(又はパッチ/チャート)に区分され得る。各セグメントは、それらの幾何学、属性、及び接続性情報に関連付けられた接続された頂点のセットを含み得る。図4に示すように、UVパラメータ化プロセスは、メッシュセグメントを2D UVアトラス内の2Dチャート上にマッピングする。メッシュセグメント内の各頂点には、2D UVアトラス内の2D UV座標が割り当てられる。2Dチャートの頂点は、それらの3D チャートのカウンターパートとして接続されたコンポーネントを形成する。各頂点の幾何学又はジオメトリ(geometry)、属性、及び接続性情報は、それらの3Dカウンターパートからも継承され得る。
【0034】
3Dメッシュセグメントは、複数の別個の2Dチャートにマッピングされ得る。この場合、3Dにおける頂点は、2DUVアトラスにおける複数の頂点に対応することができる。図5に示されるように、同じ3Dメッシュセグメントは、2D UVアトラスにおいて、単一チャートの代わりに2つの2Dチャートにマッピングされる。3D頂点v及びvは2つの2D対応をそれぞれ有する。
【0035】
3Dメッシュの一般的な2D UVアトラスは、図6に示されるような複数のチャートから成ることができ、各チャートは、それらの3D幾何学、属性、及び接続性情報に関連付けられた複数の(通常、3つ以上の)頂点を含み得る。
【0036】
境界頂点は、2D UV空間において定義される。図7に示すように、塗りつぶされた頂点は、連結コンポーネント(パッチ/チャート)の境界エッジ上にあるので、境界頂点である。境界エッジは、エッジが1つの三角形内にのみ現れるかどうかをチェックすることによって決定され得る。境界頂点の以下の情報は重要であり、ビットストリームにおいてシグナリングされるべきである。
* ジオメトリ情報、即ち、3D xyz座標。
* 2D UV座標。
【0037】
図5に示すように、3Dにおける境界頂点が2DUVアトラスにおける複数の頂点に対応する場合、3DXYZから2DUVへのマッピングは1対複数であってもよい。したがって、UV-to-XYZ(又はUV2XYZと呼ばれる)インデックスが、マッピング関数を示すためにシグナリングされ得る。UV2XYZは、各2Duv頂点を3Dxyz頂点に対応させるインデックスの1Dアレイである。
【0038】
いくつかの実施形態では、UV-to-XYZインデックスは、UV-to-XYZインデックスアレイのインデックスであり得、これは、1つ以上の2DUV座標から1つ以上の3DXYZ座標へのマッピング関数を示す複数の要素を含み得る。例えば、アレイ内の要素は、特定のUV座標に対応する1つ以上の一意のXYZ座標へのインデックスを示すことができる。
【0039】
いくつかの実施形態では、予測コーディングが適用される。UV2XYZの現在の値は、UV2XYZアレイ内の以前にコーディングされた値から予測される。現在の予測値UV2XYZ[i]を、UV2XYZ[i]と表す。
【0040】
一実施形態では、UV2XYZ[i]の現在の値は、UV2XYZにおいて以前にコーディングされた値から予測され、例えばUV2XYZ[i]=UV2XYZ[i-1]である。
【0041】
別の実施形態では、UV2XYZ[i]の現在の値が予測を有さない場合、予測子は定数値として設定され得る。例えば、チャートにおけるUV2XYZの第1値は、適切な予測子を有さない場合があり、したがって、UV2XYZ[0]は、0に設定され得る。
【0042】
別の実施形態では、UV2XYZ[i]の現在の値は複数の予測子を有し得る。この場合、予測子候補リストは、どの予測子が使用されるかを示すためにシグナリングされるインデックスを用いて確立され得る。一例では、最後の2つのコーディングされたUV2XYZ値が、かかる候補リストを形成するために使用され得る。2つの予測子のうちのどちらがUV2XYZ[i]の現在の値を予測するために使用されるかを示すために、1ビットインデックスがシグナリングされる。
【0043】
別の実施形態では、UV2XYZ[i]の現在の値は複数の予測子を有し得る。この場合、これらの予測子の何らかの加重平均が予測のために使用され得る。例えば、全ての予測子の平均が使用される。
【0044】
元のUV2XYZと予測子との間の予測残差、即ち、UV2XYZ[i]=UV2XYZ[i]-UV2XYZ[i]は、その後、エントロピーコーデックによって無損失な方法でコーディングされ得る。
【0045】
一実施形態において、予測残差は、固定長コーディングによってコーディングされる。ビット長は、全てのチャートについて高レベルシンタックステーブルにおいてコーディングされるか、又は各チャートについて異なるようにコーディングされ得る。
【0046】
他の実施形態では、予測残差は、ユーナリーコーディングによってコーディングされる。
【0047】
他の実施形態では、予測残差は、指数ゴロムコーディングによってコーディングされる。
【0048】
他の実施形態では、予測残差は、以下のシンタックス表1に示されるようなシンタックス要素によってコーディングされ得る。
【表1】
【0049】
1つ以上の例では、変数prediction_residual_signは、予測残差の符号ビット(sign bit)を特定し得る。1つ以上の例では、変数prediction_residual_abs_eq1は、予測残差の絶対値が1に等しいか否かを特定し得る。1つ以上の例では、変数prediction_residual_abs_minus2は、予測残差の絶対値マイナス2を特定することができる。
【0050】
1つ以上の実施形態によれば、デコーダ側で、UV2XYZの予測残差は、以下のように、上記のシンタックス要素から導出され得る:
【数1】
【0051】
その後、元のUV2XYZ値は、UV2XYZ[i]=UV2XYZ[i]+UV2XYZ[i]によって回復され得る。
【0052】
別の実施形態では、予測残差は、以下のシンタックス表2に示されるようなシンタックス要素によってコーディングされ得る。
【表2】
【0053】
1つ以上の例では、変数prediction_residual_eq1は、予測残差が1に等しいか否かを特定し得る。1つ以上の例では、変数prediction_residual_eq_minus1は、予測残差が-1に等しいか否かを特定し得る。1つ以上の例では、変数prediction_residual_signは、予測残差の符号ビットを特定し得る。1つ以上の例では、変数prediction_residual_abs_minus2は、予測残差の絶対値マイナス2を特定し得る。
【0054】
1つ以上の実施形態によれば、デコーダ側で、UV2XYZの予測残差は、以下のように、上記のシンタックス要素から導出され得る。
【数2】
【0055】
その後、元のUV2XYZは、UV2XYZ[i]=UV2XYZ[i]+UV2XYZ[i]によって回復され得る。
【0056】
頂点ストレージの性質に起因して、隣り合う頂点のインデックスをUV2XYZアレイに割り当てるとき、隣り合うUV2XYZ値は、概して、1によるインデックス差を有する。しばしば、ある範囲に対して、単調な増加又は減少傾向を示す。したがって、UV2XYZアレイは、一般的な方法として以下の形式で表すことができる:
(a,a+1,a+2,...,a+n,)(b,b-1,b-2,....,b-n)(c,c+1,c+2,....,c+n),...
ここで、いくつかのサブ配列に分けることができる。各シーケンスは、+1又は-1のステップを有する連続インデックスからなる。
【0057】
したがって、UV2XYZアレイは、ランレングス方向のタプルとして表され、コーディングされ得る:
(a,n,1),(b,n,-1),(c,n,1),...
【0058】
1つ以上の例では、UV2XYZアレイは、{100,101,102、99,98,97,96,103,104}であり得る。上記の形式では、このアレイは、等価的に(100,2,1)、(99,3,-1)、(103,1,1)と書くことができる。
【0059】
1つ以上の実施形態によれば、(RUN,LEN,DIR)のタプルは、次のように定義することができる。変数RUNは、ランにおける開始インデックスであり得る。変数LENは、ランの長さから1を引いたものであり得る。変数DIRは、ランの方向(例えば、増加に対して1、減少に対して-1)であり得る。1つ以上の例では、タプルは異なる方法でコーディングされ得る。例えば、変数RUNは、固定長によってコーディングされ得、ここで、ビット長は、一意のxyz境界頂点の数(たとえば[logM])。1つ以上の例では、変数LENは、固定長によってコーディングされ得、ここで、ビット長は、現在チャート中のuv境界頂点の数によって決定され得る(たとえば、[log])、ここでNは、jthチャート内のuv境界頂点の数である。1つ以上の例では、変数DIRは、1ビットバイパスコーディングによってコーディングされ得る。別の実施形態では、DIRは、コンテキストを用いた算術コーディングによってコーディングされ得る。
【0060】
UV2XYZは境界ループであるので、ランが線形アレイの2つの端部によって分割されることが起こる。例えば、(a+2,a+3,a+4,a,a+1)は、最初と最後の要素が接続されているので、単一のタプルであるはずである。しかし、アルゴリズムは、2つのラン、即ち、(a+2,2,1)及び(a,1,1)を有すると考えることができる。
【0061】
エンコーダは、その後、UV2XYZが分割ランを有しないことを確実にするためにインデックスを再順序付けすることができ、例えば、上記のアレイは、(a,a+1,a+2,a+3,a+4)として再順序付けすることができ、その後、それは、単一タプル(a,4,1)によって表され得る。境界UV及び境界XYZは、この場合に対応して再順序付けされるべきである。
【0062】
図8は、効率的なメッシュ圧縮のために境界頂点のUV2XYZインデックスをコーディングするための例示的なプロセス800のフローチャートである。いくつかの実装形態では、図8の1つ以上のプロセスブロックは、上記で説明した要素のいずれかによって実行され得る。
【0063】
図8に示されているように、プロセス800は、エンコーダにおいてコード化ビデオビットストリームを受信するステップを含み得る(ブロック810)。
【0064】
図8にさらに示されるように、プロセス800は、コード化ビデオビットストリームから動的メッシュを取り出すステップを含み得る(ブロック820)。
【0065】
図8にさらに示されるように、プロセス800は、UV-to-XYZインデックスアレイ内の少なくとも1つの以前にコーディングされた値からUV-to-XYZインデックスアレイを予測するステップを含み得る(ブロック830)。
【0066】
図8にさらに示すように、プロセス800は、UV-to-XYZインデックスアレイに関連付けられた予測残差を導出するステップを含み得る(ブロック840)。
【0067】
図8にさらに示すように、プロセス800は、予測されたUV-to-XYZインデックスアレイ及び導出された予測残差に基づいて境界UV座標を再構成することを含み得る(ブロック850)。
【0068】
図8はプロセス800の例示的なブロックを示しているが、いくつかの実装形態では、プロセス800は、図8に示されているブロックよりも追加のブロック、より少ないブロック、異なるブロック、又は異なるように配置されたブロックを含み得る。さらに又はあるいは、プロセス800のブロックのうちの2つ以上は、並行して実施され得る。
【0069】
上述の技法は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装され、1つ以上のコンピュータ可読記憶媒体に物理的に記憶され得る。例えば、図9は、本開示の特定の実施形態を実装するのに適したコンピュータシステム900を示す。
【0070】
コンピュータソフトウェアは、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって、直接、又は解釈、マイクロコード実行などを介して実行され得る命令を含むコードを作成するために、アセンブリ、コンパイル、リンク、又は同様の機構にかけられ得る任意の適切な機械コード又はコンピュータ言語を使用してコード化され得る。
【0071】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイス等を含む、種々のタイプのコンピュータ又はその構成要素上で実行され得る。
【0072】
コンピュータシステム900について図9に示される構成要素は例であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に関していかなる限定も示唆するものではない。また、コンポーネントの構成は、コンピュータシステム900の非限定的な実施形態に示されるコンポーネントのいずれか1つ又は組合せに関して何らかの依存関係又は要件を有するものとして解釈されるべきではない。
【0073】
コンピュータシステム900は、特定のヒューマンインタフェース入力デバイスを含み得る。このようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スイッピング、データグローブの動き)、音声入力(例えば、音声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介して、一人又は複数の人間ユーザによる入力に応答し得る。また、ヒューマンインターフェースデバイスは、オーディオ(スピーチ、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから得られる写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定のメディアをキャプチャするために使用されてもよい。
【0074】
入力ヒューマンインターフェースデバイスには、次のものが1つ以上含まれ得る(それぞれ1つのみ表されている):キーボード901、マウス902、トラックパッド903、タッチスクリーン910、データグローブ、ジョイスティック905、マイクロフォン906、スキャナ907、カメラ908。
【0075】
コンピュータシステム900はまた、特定のヒューマンインタフェース出力デバイスを含み得る。かかるヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、及び嗅覚/味覚を通して、1人又は複数の人間ユーザの感覚を刺激し得る。かかるヒューマンインターフェースデバイス出力デバイスには、触覚出力デバイスが含むことができ(たとえば、タッチスクリーン910、データグローブ、又はジョイスティック905による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスであることもできる)。例えば、かかるデバイスは、オーディオ出力デバイス(例えば、スピーカー909、ヘッドホン(図示せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン910など、それぞれタッチスクリーン入力機能を備えるか又は備えない、それぞれ触覚フィードバック機能を備えるか又は備えない、ーそのうちのいくつかは、ステレオグラフィック出力などの手段を介して、2次元の視覚的出力又は3次元以上の出力を出力できる場合がある:バーチャルリアリティグラス(図示せず)、ホログラフィックディスプレイ、及びスモークタンク(図示せず))、プリンタ(図示せず)などであり得る。
【0076】
コンピュータシステム900はまた、人間がアクセス可能な記憶デバイスと、それらのアクセス可能な媒体と、を含むことができ、媒体は、例えば、CD/DVD又は同様の媒体921を有するCD/DVD ROM/RW920を含む光媒体、USBメモリ922、リムーバブルハードドライブ又はソリッドステートドライブ923、テープ及びフロッピー(登録商標)ディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)等の専用ROM/ASIC/PLDベースのデバイスなどの関連する媒体と、を含むこともできる。
【0077】
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読記憶媒体」という用語は、伝送媒体、搬送波、又は他の一時的な信号を包含しないことを理解されたい。
【0078】
コンピュータシステム900はまた、1つ以上の通信ネットワークへのインターフェースデバイスを含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークは、さらに、ローカル、広域、大都市、車両及び工業、リアルタイム、遅延耐性等であり得る。ネットワークの例としては、イーサネット、無線LAN、GSM、3G、4G、5G、LTE等を含むセルラーネットワーク、ケーブルTV、衛星TV、及び地上放送TV、CANBusを含む産業用及び車両用を含む。特定のネットワークは、一般に、特定の汎用データポート又は周辺バス949(例えば、コンピュータシステム900のUSBポートなど)に取り付けられる外部ネットワークインターフェースアダプタを必要とし、他のものは、一般に、以下で説明するように、システムバスへの取り付けによってコンピュータシステム900のコアに統合される(例えば、PCコンピュータシステムへのイーサネット(登録商標)インターフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム900は、他のエンティティと通信することができる。かかる通信は、単方向の受信のみ通信(例えば、放送テレビ)、単方向送信のみ通信(例えば、特定のCANバスデバイスへのCANバス)、又は、例えばローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの、双方向通信であることができる。かかる通信は、クラウドコンピューティング環境955との通信を含むことができる。特定のプロトコル及びプロトコルスタックは、上述のように、それらのネットワーク及びネットワークインタフェースの各々で使用されることができる。
【0079】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、及びネットワークインタフェース954は、コンピュータシステム900のコア940に接続されることができる。
【0080】
コア940は、1つ以上の中央処理ユニット(CPU)941、グラフィックス処理ユニット(GPU)942、フィールドプログラマブルゲートエリア(FPGA)943の形態の専用プログラマブル処理デバイス、特定のタスクのためのハードウェアアクセラレータ944等を含むことができる。これらのデバイスは、読出し専用メモリ(ROM)945、ランダムアクセスメモリ946、内部大容量ストレージ、例えば内部非ユーザアクセス可能ハードドライブ、SSD等947と共に、システムバス948を介して接続され得る。
いくつかのコンピュータシステムでは、システムバス948は、追加のCPU、GPU等による拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能である。周辺デバイスは、コアのシステムバス948に直接接続するか、又は周辺バス949を介して接続することができる。周辺バスのアーキテクチャは、PCI、USB等を含む。グラフィックアダプタ950は、コア940に含まれ得る。
【0081】
CPU941、GPU942、FPGA943、及びアクセラレータ944は、組み合わされて、上述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM945又はRAM946に格納されることができる。移行データは、RAM946に格納されることもできるが、永久データは例えば内部大容量ストレージ947に格納されことができる。1つ以上のCPU941、GPU942、大容量ストレージ947、ROM945、RAM946等と密接に関連付けることができるキャッシュメモリを使用することによって、メモリデバイスのいずれかへの高速記憶及び検索を可能にすることができる。
【0082】
コンピュータ可読記憶媒体は、各種のコンピュータ実施動作(computer-implemented operations)を実行するためにその上のコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであってもよく、又はコンピュータソフトウェア分野の当業者によく知られ、利用可能な種類のものであってもよい。
【0083】
限定ではなく、例として、アーキテクチャ900を有するコンピュータシステム、具体的にはコア940は、(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ以上の有形のコンピュータ可読記憶媒体において具現化されたソフトウェアを実行する結果として機能を提供することができる。かかるコンピュータ可読記憶媒体は、上記で紹介したようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ947又はROM945などの非一時的な性質のコア940の特定のストレージに関連付けられた媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイス内に記憶され、コア940によって実行され得る。コンピュータ読取可能媒体は、特定のニーズに応じて、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア940及びその中の具体的にプロセッサ(CPU、GPU、FPGA等を含む)に、RAM946に記憶されたデータ構造を定義し、ソフトウェアによって定義されたプロセスにしたがって、かかるデータ構造を変更することを含む、本明細書に記載された特定のプロセス又は特定の部分を実行させることができる。付加的に又は代替的に、コンピュータシステムは、回路(例えば、アクセラレータ944)内に配線された、又は他の方法で具現化されたロジックの結果として、機能性を提供することができ、これは、本明細書に記載される特定のプロセス又は特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、又はソフトウェアと共に動作することができる。ソフトウェアへの言及は、論理を含み、また、必要に応じて、その逆も可能である。コンピュータ読取り可能媒体への参照は、実行のためのソフトウェアを記憶する(集積回路(IC)等の)回路、実行のためのロジックを具体化する回路、又は適切な場合にはその両方を含むことができる。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを包含する。
【0084】
本開示は、いくつかの非限定的な実施形態を説明してきたが、本開示の範囲内に入る変更、置換、及び様々な代用等価物が存在する。したがって、当業者は、本明細書に明示的に示されていないか又は記載されていないが、本発明の原理を実施し、したがってその概念及び範囲内にある多数のシステム及び方法を創造することができることが理解されよう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】