(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-09-19
(54)【発明の名称】メッシュ圧縮のための適応的ジオメトリフィルタリング
(51)【国際特許分類】
H04N 19/597 20140101AFI20250911BHJP
G06T 9/00 20060101ALI20250911BHJP
H04N 19/117 20140101ALI20250911BHJP
H04N 19/46 20140101ALI20250911BHJP
【FI】
H04N19/597
G06T9/00 100
H04N19/117
H04N19/46
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2025516238
(86)(22)【出願日】2023-10-13
(85)【翻訳文提出日】2025-03-18
(86)【国際出願番号】 US2023035090
(87)【国際公開番号】W WO2024081393
(87)【国際公開日】2024-04-18
(32)【優先日】2022-10-14
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2023-10-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
【氏名又は名称原語表記】TENCENT AMERICA LLC
【住所又は居所原語表記】2747 Park Boulevard Palo Alto, California 94306, USA
(74)【代理人】
【識別番号】100112656
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】ジャン,シアン
(72)【発明者】
【氏名】シュ,シャオジョン
(72)【発明者】
【氏名】ホアン,チャオ
(72)【発明者】
【氏名】ティエン,ジュン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159PP03
5C159PP13
5C159RC11
5C159RC12
5C159TA69
5C159TC35
5C159TD02
5C159TD12
5C159TD16
5C159UA02
5C159UA05
5C159UA11
(57)【要約】
方法及び装置であって、1つまたは複数のプロセッサに、入力メッシュにおける1つよりも多い頂点を決定させ、前記1つよりも多い頂点を1つよりも多い頂点グループにグループ化させるように構成されるコンピュータコードを含む。それぞれのグループにおけるそれぞれの頂点のグループ化は、前記それぞれの頂点のトポロジカル距離に基づいてもよい。実施形態では、前記1つまたは複数のプロセッサはまた、前記1つよりも多い頂点グループに対してフィルタリング係数のセットを決定し、前記1つよりも多い頂点グループ及び前記フィルタリング係数のセットをシグナリングしてもよい。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行する、メッシュ圧縮のための方法であって、
入力メッシュにおける1つよりも多い頂点を決定するステップであって、前記入力メッシュは、少なくとも1つの3次元(3D)ビジュアルコンテンツのボリュメトリックデータを表すものである、ステップと、
前記1つよりも多い頂点を1つよりも多い頂点グループにグループ化するステップであって、それぞれのグループにおけるそれぞれの頂点の前記グループ化は、前記それぞれの頂点のトポロジカル距離に基づいている、ステップと、
前記1つよりも多い頂点グループに対してフィルタ係数のセットを決定するステップと、
前記1つよりも多い頂点グループ及び前記フィルタ係数のセットをシグナリングするステップと、を含む方法。
【請求項2】
前記トポロジカル距離に基づいて、前記それぞれの頂点をグループ化するステップは、
前記それぞれの頂点に対して近隣頂点を決定するステップであって、前記近隣頂点は、少なくとも1つのエッジによって前記それぞれの頂点に接続される頂点である、ステップと、
前記それぞれの頂点を、第1のグループにおける頂点がエッジを介して同じ数の頂点に接続されるような前記第1のグループにグループ化するステップと、を含む、請求項1に記載の方法。
【請求項3】
前記それぞれの頂点の前記近隣頂点を決定するステップは、
前記入力メッシュにおけるそれぞれの前記エッジに直接接続される前記近隣頂点を決定するステップ、又は、
前記それぞれの頂点に複数のエッジで接続される前記近隣頂点を決定するステップであって、前記複数のエッジが第1の閾値以下である、ステップ、のうちの1つを含む、請求項2に記載の方法。
【請求項4】
前記フィルタ係数のセットを決定するステップは、
第1の損失関数、及び第1のフィルタ関数に基づいて、前記フィルタ係数のセットを決定するステップを含み、
前記フィルタ係数のセットは、前記1つよりも多い頂点グループのうちの各グループに対する1つ又は複数のフィルタ係数を含み、
前記フィルタ係数のセットにおける各係数は、前記1つよりも多い頂点グループにおける1つ又は複数の頂点に関連付けられている、請求項1に記載の方法。
【請求項5】
前記第1の損失関数は、ポイント・ツー・ポイント損失関数又はポイント・ツー・プレーン損失関数のうちの1つを含み、
前記第1のフィルタ関数は、ラプラシアンフィルタ又はワイナーフィルタのうちの1つを含む、請求項4に記載の方法。
【請求項6】
前記フィルタ係数のセットを決定するステップに続いて、前記方法は、
前記1つよりも多い頂点グループのうちの第1のグループに対する第1のフィルタ係数が歪み閾値よりも高い歪みを有することに基づいて、前記第1のフィルタ係数を無効化するステップをさらに含む、請求項1に記載の方法。
【請求項7】
前記1つよりも多い頂点グループ及び前記フィルタ係数のセットをシグナリングするステップは、
前記1つよりも多い頂点グループのうちの各グループのために、前記それぞれのグループに対するフィルタ係数が有効化されるか否かを示すバイナリフラグをシグナリングするステップと、
前記それぞれのグループに対する前記バイナリフラグが、前記フィルタ係数が有効化されることを示すことに基づいて、前記それぞれのグループに関連付けられた1つ又は複数の係数をシグナリングするステップと、を含む、請求項1に記載の方法。
【請求項8】
前記方法は、
前記1つよりも多い頂点グループにおける各グループに対する前記フィルタ係数のセットを決定するために同じ第1のフィルタ関数が使用されるか否かを示す第2のフラグをシグナリングするステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記方法は、
前記1つよりも多い頂点グループにおける各グループに対する前記フィルタ係数のセットを決定するために同じ第1の損失関数が使用されるか否かを示す第3のフラグをシグナリングするステップをさらに含む、請求項7に記載の方法。
【請求項10】
メッシュ圧縮のための適応的ジオメトリフィルタのための装置であって、
プログラムコードを記憶するように構成される少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードによって指示される通りに動作するように構成される少なくとも1つのプロセッサと、を備え、
前記プログラムコードは、
前記少なくとも1つのプロセッサに、入力メッシュにおける1つよりも多い頂点を決定させるように構成される第1の決定コードであって、前記入力メッシュは、少なくとも1つの3次元(3D)ビジュアルコンテンツのボリュメトリックデータを表すものである、第1の決定コードと、
前記少なくとも1つのプロセッサに、前記1つよりも多い頂点を1つよりも多い頂点グループにグループ化させるように構成される第1のグループ化コードであって、それぞれのグループにおけるそれぞれの頂点のグループ化は、前記それぞれの頂点のトポロジカル距離に基づいている、第1のグループ化コードと、
前記少なくとも1つのプロセッサに、前記1つよりも多い頂点グループに対してフィルタ係数のセットを決定させるように構成される第2の決定コードと、
前記少なくとも1つのプロセッサに、前記1つよりも多い頂点グループ及び前記フィルタ係数のセットをシグナリングさせるように構成される第1のシグナリングコードと、を含む、装置。
【請求項11】
前記第1のグループ化コードは、
前記少なくとも1つのプロセッサに、前記それぞれの頂点に対して近隣頂点を決定させるように構成される第3の決定コードであって、前記近隣頂点は、少なくとも1つのエッジによって前記それぞれの頂点に接続される頂点である、第3の決定コードと、
前記少なくとも1つのプロセッサに、前記それぞれの頂点を、第1のグループにおける頂点がエッジを介して同じ数の頂点に接続されるような前記第1のグループにグループ化させるように構成される第2のグループ化コードと、をさらに含む、請求項10に記載の装置。
【請求項12】
前記第3の決定コードは、
前記少なくとも1つのプロセッサに、前記入力メッシュにおけるそれぞれの前記エッジに直接接続される前記近隣頂点を決定させるように構成される第4の決定コード、又は、
前記少なくとも1つのプロセッサに、前記それぞれの頂点に複数のエッジで接続される前記近隣頂点を決定させるように構成される第5の決定コードであって、前記複数のエッジが第1の閾値以下である、第5の決定コード、のうちの1つをさらに含む、請求項11に記載の装置。
【請求項13】
前記第2の決定コードは、
前記少なくとも1つのプロセッサに、第1の損失関数及び第1のフィルタ関数に基づいて、前記フィルタ係数のセットを決定させるように構成される第6の決定コードをさらに含み、
前記フィルタ係数のセットは、前記1つよりも多い頂点グループのうちの各グループに対する1つ又は複数のフィルタ係数を含み、
前記フィルタ係数のセットにおける各係数は、前記1つよりも多い頂点グループにおける1つ又は複数の頂点に関連付けられている、請求項10に記載の装置。
【請求項14】
前記プログラムコードは、
前記フィルタ係数のセットを決定することに続いて、
前記少なくとも1つのプロセッサに、前記1つよりも多い頂点グループのうちの第1のグループに対する第1のフィルタ係数が歪み閾値よりも高い歪みを有することに基づいて、前記第1のフィルタ係数を無効化させるように構成される無効化コードをさらに含む、請求項10に記載の装置。
【請求項15】
前記第1のシグナリングコードは、
前記少なくとも1つのプロセッサに、前記1つよりも多い頂点グループのうちの各グループのために、前記それぞれのグループに対するフィルタ係数が有効化されるか否かを示すバイナリフラグをシグナリングさせるように構成される第2のシグナリングコードと、
前記少なくとも1つのプロセッサに、前記それぞれのグループに対する前記バイナリフラグが、前記フィルタ係数が有効化されることを示すことに基づいて、前記それぞれのグループに関連付けられた1つ又は複数の係数をシグナリングさせるように構成される第3のシグナリングコードと、をさらに含む、請求項10に記載の装置。
【請求項16】
前記プログラムコードは、
前記少なくとも1つのプロセッサに、前記1つよりも多い頂点グループにおける各グループに対する前記フィルタ係数のセットを決定するために同じ第1のフィルタ関数が使用されるか否かを示す第2のフラグをシグナリングさせるように構成される第4のシグナリングコードをさらに含む、請求項10に記載の装置。
【請求項17】
前記プログラムコードは、
前記少なくとも1つのプロセッサに、前記1つよりも多い頂点グループにおける各グループに対する前記フィルタ係数のセットを決定するために同じ第1の損失関数が使用されるか否かを示す第3のフラグをシグナリングさせるように構成される第5のシグナリングコードをさらに含む、請求項15に記載の装置。
【請求項18】
前記プログラムコードは、
前記少なくとも1つのプロセッサに、前記1つよりも多い頂点グループにおける各グループに対する前記フィルタ係数のセットを決定するために同じ第1の損失関数が使用されるか否かを示す第3のフラグをシグナリングさせるように構成される第6のシグナリングコードをさらに含む、請求項15に記載の装置。
【請求項19】
命令を記憶した非一時的なコンピュータ読取可能な媒体であって、
前記命令は、1つ又は複数の命令を含み、前記1つ又は複数の命令は、
メッシュ圧縮のためのジオメトリフィルタのためのデバイスの1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサに、
入力メッシュにおける1つよりも多い頂点を決定するステップであって、前記入力メッシュは、少なくとも1つの3次元(3D)ビジュアルコンテンツのボリュメトリックデータを表すものである、ステップと、
前記1つよりも多い頂点を1つよりも多い頂点グループにグループ化するステップであって、それぞれのグループにおけるそれぞれの頂点のグループ化は、前記それぞれの頂点のトポロジカル距離に基づいている、ステップと、
前記1つよりも多い頂点グループに対してフィルタ係数のセットを決定するステップと、
前記1つよりも多い頂点グループ及び前記フィルタ係数のセットをシグナリングするステップと、
を実行させる、非一時的なコンピュータ読取可能な媒体。
【請求項20】
前記トポロジカル距離に基づいて前記それぞれの頂点をグループ化するステップは、
前記それぞれの頂点に対して近隣頂点を決定するステップであって、前記近隣頂点は、少なくとも1つのエッジによって前記それぞれの頂点に接続される頂点である、ステップと、
前記それぞれの頂点を、第1のグループにおける頂点がエッジを介して同じ数の頂点に接続されるような前記第1のグループにグループ化するステップと、を含む、請求項19に記載の非一時的なコンピュータ読取可能な媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2022年10月14日に出願された米国仮出願第63/416,382号及び2023年10月12日に出願された米国出願第18/485,770号の優先権を主張し、それらの開示内容は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示の実施形態は、ビデオコーディング及びデコーディングに関する。具体的には、本開示の実施形態は、メッシュ動きベクトルコーディングにおける適応的ジオメトリフィルタリングを含むメッシュのエンコード及びデコードに関する。
【背景技術】
【0003】
世界の高度な3次元(3D)表現により、さらに没入型の相互作用およびコミュニケーションが可能になっている。3D表現の臨場感を実現するために、3Dモデルは、これまで以上に洗練されてきており、かなりの量のデータがこれらの3Dモデルの作成および消費に結び付けられる。3Dメッシュが3Dモデル没入型コンテンツに広く使用される。
【0004】
3Dメッシュは、ボリュメトリックオブジェクトの表面を記述するいくつかのポリゴンで構成され得る。動的メッシュシーケンスは、経時的に変化するかなりの量の情報を有し得るため、大量のデータを必要とする場合がある。したがって、このようなコンテンツを保存及び伝送するには、効率的な圧縮技術が必要となる。
【0005】
メッシュ圧縮規格IC、MESHGRID、FAMCは、常時接続性と、時間変化するジオメトリと頂点属性を持つ動的メッシュに対処するために以前に開発された。しかし、これらの規格は、時間変化する属性マップ及び接続性情報を考慮していない。
【0006】
さらに、特にリアルタイムの制約下で、ボリュメトリック取得技術が常時接続性動的メッシュを生成することも困難である。この種の動的メッシュコンテンツは、既存の規格ではサポートされていない。
【0007】
別の例として、glTF(GL Transmission Format:GL伝送フォーマット)は、アプリケーションによる3Dシーンとモデルの効率的な伝送とローディングのために、Khronos Groupが開発中の標準である。glTFは、3Dアセットのサイズと、解凍に必要なランタイム処理の両方を最小化することを目指している。Google Draco技術を用いたglTF 2.0のジオメトリ圧縮エクステンションは、glTFモデルとシーンのサイズを縮小するために開発されている。
【発明の概要】
【課題を解決するための手段】
【0008】
一実施形態によれば、1つ又は複数のプロセッサに、入力メッシュにおける1つよりも多い頂点を決定するステップであって、前記入力メッシュは、少なくとも1つの3次元(3D)ビジュアルコンテンツのボリュメトリックデータを表すものである、ステップと、前記1つよりも多い頂点を1つよりも多い頂点グループにグループ化するステップであって、それぞれのグループにおけるそれぞれの頂点のグループ化は、前記それぞれの頂点のトポロジカル距離に基づいている、ステップと、前記1つよりも多い頂点グループに対してフィルタリング係数のセットを決定するステップと、前記1つよりも多い頂点グループ及び前記フィルタリング係数のセットをシグナリングするステップと、を実行させるように構成されるコンピュータコードを含む方法及び装置が提供される。
【0009】
一実施形態によれば、1つ又は複数のプロセッサに、メッシュに関連付けられたコード化されたビットストリームを受信するステップであって、前記コード化されたビットストリームは、前記メッシュにおける頂点に関する情報、及び前記頂点に関連付けられたフィルタリング係数を含む、ステップと、前記コード化されたビットストリームから、前記メッシュに含まれる1つよりも多い頂点グループを取得するステップと、前記コード化されたビットストリームから、前記1つよりも多い頂点グループに対するフィルタリング係数のセットを取得するステップと、前記メッシュにおける頂点に関する情報に基づいて、再構成されたメッシュを生成するステップと、前記再構成されたメッシュ、前記1つよりも多い頂点グループ、及び前記1つよりも多い頂点グループに対する前記フィルタリング係数のセットを使用して、精緻化された再構成されたメッシュを生成するステップと、を実行させるように構成されるコンピュータコードを含む方法及び装置が提供される。
【図面の簡単な説明】
【0010】
開示する主題の更なる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになるであろう。
【
図1】本開示の実施形態による通信システムの簡略化されたブロック図の概略図である。
【
図2】本開示の実施形態によるストリーミングシステムの簡略化されたブロック図の概略図である。
【
図3】本開示の実施形態によるビデオエンコーダ及びビデオデコーダの簡略化されたブロック図の概略図である。
【
図4A】本開示の実施形態による、3Dメッシュセグメントから2DチャートへのUVパラメータ化マッピングの例示的な図である。
【
図4B】本開示の実施形態による、3Dメッシュセグメントから2DチャートへのUVパラメータ化マッピングの例示的な図である。
【
図5】本開示の実施形態による、適応的フィルタリング係数をエンコードするためのプロセスのフローチャートである。
【
図6】本開示の実施形態による、シグナリングされた適応的フィルタリング係数を使用して、再構成されたメッシュを生成するためのプロセスのフローチャートである。
【
図7】実施形態を実現するのに適したコンピュータシステムの例示的な図である。
【発明を実施するための形態】
【0011】
以下に説明する提案された特徴は、別々に使用してもよいし、任意の順序で組み合わせてもよい。さらに、実施形態は、処理回路(例えば、1つ又は複数のプロセッサあるいは1つ又は複数の集積回路)によって実現してもよい。一例では、1つ又は複数のプロセッサは、非一時的なコンピュータ読取可能な媒体に記憶されたプログラムを実行する。
【0012】
図1は、本開示の一実施形態による通信システム100の簡略化されたブロック図を示す。通信システム100は、ネットワーク105を介して相互接続された少なくとも2つの端末102及び103を含み得る。データの単方向伝送の場合、第1の端末103は、ネットワーク105を介して他方の端末102に伝送するために、ビデオデータをローカル位置でコード化することができる。第2の端末102は、ネットワーク105から他方の端末のコード化されたビデオデータを受信し、コード化されたデータをデコードし、復元されたビデオデータを表示することができる。単方向のデータ伝送は、メディアサービング用途などにおいて一般的であり得る。
【0013】
図1は、例えばテレビ会議中に発生し得るコード化されたビデオの双方向伝送をサポートするために設けられた第2の端末対101及び104を示す。データの双方向伝送の場合、各端末101及び104は、ネットワーク105を介して他方の端末に伝送するために、ローカル位置でキャプチャされたビデオデータをコード化することができる。各端末101及び104はまた、他方の端末によって伝送されたコード化されたビデオデータを受信することができ、コード化されたデータをデコードすることができ、復元されたビデオデータをローカル表示装置に表示することができる。
【0014】
図1において、端末101、102、103及び104は、サーバ、パーソナルコンピュータ及びスマートフォンとして示され得るが、本開示の原理はそれに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ及び/又は専用のビデオ会議機器の用途を見出す。ネットワーク105は、例えば有線及び/又は無線通信ネットワークを含む、端末101、102、103及び104間でコード化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク105は、回線交換及び/又はパケット交換チャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。本議論の目的のために、ネットワーク105のアーキテクチャ及びトポロジーは、以下に本明細書で説明されない限り、本開示の操作にとって重要でない場合がある。
【0015】
図2は、開示された主題の用途の一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTV、及びCD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶など、を含む他のビデオ対応アプリケーションに同様に適用可能である。
【0016】
ストリーミングシステムは、例えば非圧縮のビデオサンプルストリーム213を作成する、例えばデジタルカメラなどのビデオソース201を含み得るキャプチャサブシステム203を含むことができる。そのサンプルストリーム213は、エンコードされたビデオビットストリームと比較して高データ量として強調されることができ、例えば上述したカメラであり得る、ビデオソース201に結合されたエンコーダ202によって処理されることができる。エンコーダ202は、以下でより詳細に説明されるように、開示された主題の態様を可能にする又は実現するために、ハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。サンプルストリームと比較してより低いデータ量として強調され得る、エンコードされたビデオビットストリーム204は、将来の使用のためにストリーミングサーバ205に記憶されることができる。1つ又は複数のストリーミングクライアント212及び207は、ストリーミングサーバ205にアクセスして、エンコードされたビデオビットストリーム204のコピー208及び206を検索することができる。クライアント212は、エンコードされたビデオビットストリーム208の入方向コピーをデコードし、ディスプレイ209又は別のレンダリングデバイス(図示せず)でレンダリングされ得る出方向ビデオサンプルストリーム210を作成するビデオデコーダ211を含むことができる。一部のストリーミングシステムにおいて、ビデオビットストリーム204、206及び208は、特定のビデオコーディング/圧縮規格に従ってエンコードされることができる。それらの規格の例は前述の通りであり、本明細書でさらに説明される。
【0017】
以下にさらに説明される例示的な実施形態によれば、「メッシュ」という用語は、ボリュメトリックオブジェクトの表面を記述する1つ又は複数のポリゴンの構成を示す。各ポリゴンは、3D空間内のその頂点と、接続性情報と呼ばれる、頂点がどのように接続されているかの情報とによって定義される。任意選択で、色、法線などの頂点属性がメッシュ頂点に関連付けられることができる。属性はまた、2D属性マップでメッシュをパラメータ化するマッピング情報を利用することで、メッシュの表面に関連付けられることもできる。このようなマッピングは、メッシュ頂点に関連付けられたUV座標又はテクスチャ座標と呼ばれるパラメトリック座標のセットによって記述されてもよい。2D属性マップは、テクスチャ、法線、変位などの高解像度の属性情報を記憶するために使用される。そのような情報は、例示的な実施形態によれば、テクスチャマッピング及びシェーディングなどの様々な目的に使用されることができる。
【0018】
それにもかかわらず、動的メッシュシーケンスは、経時的に変化するかなりの量の情報から構成され得るため、大量のデータを必要とする可能性がある。例えば、メッシュの情報があるフレームから別のフレームへと変化しない「静的メッシュ」又は「静的メッシュシーケンス」とは対照的に、「動的メッシュ」又は「動的メッシュシーケンス」は、そのメッシュによって表される頂点のものがあるフレームから別のフレームへと変化する動きを示す。したがって、このようなコンテンツを記憶及び伝送するためには、効率的な圧縮技術が必要となる。メッシュ圧縮規格IC、MESHGRID、FAMCは、常時接続性と、時間変化するジオメトリと頂点属性を持つ動的メッシュに対処するために、MPEGによって以前に開発された。しかし、これらの規格は、時変属性マップと接続性情報を考慮していない。DCC(デジタルコンテンツ制作)ツールは通常、このような動的メッシュを生成する。これと相反して、ボリュメトリック取得技術にとって、特にリアルタイムの制約下で、常時接続性の動的メッシュを生成することが課題となる。この種のコンテンツは、既存の規格ではサポートされていない。本明細書における例示的な実施形態によれば、時間変化する接続性情報を持っており、任意選択で、時間変化する属性マップを持っていてもよい動的メッシュを直接取り扱うための新しいメッシュ圧縮規格の態様が記載され、この規格は、リアルタイム通信、ストレージ、自由視点ビデオ、AR及びVRなどの様々な用途のための非可逆圧縮及び可逆圧縮を狙いとする。ランダムアクセス及びスケーラブル/プログレッシブコーディングなどの機能性も考慮される。
【0019】
図3は、2Dアトラスサンプリングベースの方法などの1つの動的メッシュ圧縮の例示的なフレームワーク300を表す。入力メッシュ301の各フレームを、例えば、トラッキング、再メッシュ化、パラメータ化、ボクセル化などの一連の操作によって前処理することができる。なお、これらの操作は、エンコーダのみであることができ、これは、デコードプロセスの一部ではない可能性があることを意味し、そのような可能性は、エンコーダのみの場合は0を示し、その他の場合は1を示すようなフラグによって、メタデータにおいてシグナリングされ得る。その後、2D UVアトラス302を持つメッシュを得ることができ、メッシュの各頂点は、2Dアトラス上の1つ又は複数の関連付けられたUV座標を有する。次に、メッシュを、2Dアトラス上でサンプリングすることによって、ジオメトリマップ及び属性マップを含む複数のマップに変換することができる。次に、これらの2Dマップを、HEVC、VVC、AV1、AVS3などのビデオ/画像コーデックによってコード化することができる。デコーダ303側では、デコードされた2Dマップからメッシュを再構成することができる。再構成されたメッシュ304には、任意の後処理及びフィルタリングを適用することもできる。なお、3Dメッシュ再構成の目的で、他のメタデータをデコーダ側にシグナリングしてもよい。なお、境界頂点のuv座標及びxyz座標を含むチャート境界情報を、ビットストリーム内で予測、量子化、及びエントロピーコーディングすることができる。量子化ステップサイズを、品質とビットレートとの間のトレードオフのためにエンコーダ側で設定することができる。
【0020】
いくつかの実現形態では、3Dメッシュをいくつかのセグメント(又はパッチ/チャート)にパーティション化することができ、例示的な実施形態によれば、1つ又は複数の3Dメッシュセグメントは、「3Dメッシュ」と見なされる場合がある。各セグメントは、ジオメトリ、属性、及び接続性情報に関連付けられた、接続された頂点のセットで構成される。
図4Aのボリュメトリックオデータの例400に示すように、3Dメッシュセグメントから2Dチャートへ、例えば上述の2D UVアトラス302ブロックへマッピングするUVパラメータ化プロセス402は、1つ又は複数のメッシュセグメント401を2D UVアトラス404における2Dチャート403にマッピングする。メッシュセグメントにおける各頂点(v
n)には、2D UVアトラスにおける2D UV座標が割り当てられてもよい。なお、2Dチャートにおける頂点(v
n)は、それらの3D対応物として連結成分を形成する。各頂点のジオメトリ、属性、及び接続性情報は、同様にそれらの3D対応物から継承されることができる。例えば、頂点v
4が頂点v
0,v
5,v
1,v
3に直接接続しているという情報を示してもよく、他の各頂点の情報も同様に示してもよい。さらに、このような2Dテクスチャメッシュは、例示的な実施形態によれば、各三角形のパッチ、例えば、1つの「パッチ」としてのv
2,v
5,v
3によって、パッチ単位で、色情報などの情報をさらに示すことになる。
【0021】
例えば、
図4Aの例400の特徴については、3Dメッシュセグメント451が複数の別々の2Dチャート451及び452にマッピングされることもできる
図4Bの例450を参照されたい。この場合、3Dの頂点は、2D UVアトラスにおける複数の頂点に対応し得る。
図4Bに示すように、同じ3Dメッシュセグメントは、2D UVアトラスにおいて、
図4Aのような単一のチャートではなく、複数の2Dチャートにマッピングされる。例えば、3D頂点v
1及びv
4には、それぞれ、v
1、v
1'及びv
4、v
4'という2つの2D対応関係がある。このように、3Dメッシュの一般的な2D UVアトラスは、複数のチャートから構成されてもよく、各チャートは、それらの3Dジオメトリ、属性、及び接続性情報に関連付けられた複数(通常は3つ以上)の頂点を含み得る。
【0022】
図4Bは、境界頂点B
0、B
1、B
2、B
3、B
4、B
5、B
6、B
7を持つチャートにおける導出された三角測量を示す例453を示す。このような情報が提示された場合、任意の三角測量法を適用して、頂点(境界頂点及びサンプリングされた頂点を含む)間の接続性を作成することができる。例えば、各頂点について、最も近い2つの頂点を見つける。あるいは、すべての頂点について、設定された回数の試行後に最小の三角形数が達成されるまで、連続的に三角形を生成する。例453に示すように、様々な規則的な形状の繰り返し三角形と、一般に境界頂点に最も近く、他の三角形のいずれとも共有されてもよいし共有されなくてもよいそれぞれ固有の寸法を有する様々な異形の三角形がある。接続性情報は、明示的なシグナリングによって再構成することもできる。ポリゴンが暗黙的な規則によって復元できない場合、エンコーダは、例示的な実施形態によれば、接続性情報をビットストリーム内でシグナリングすることができる。
【0023】
境界頂点B0、B1、B2、B3、B4、B5、B6、B7は、2D UV空間で定義される。境界エッジは、そのエッジが1つの三角形にのみ現れるか否かをチェックすることによって決定されることができる。例示的な実施形態によれば、境界頂点の以下の情報は重要であり、ビットストリーム内でシグナリングされるべきであり、すなわち、ジオメトリ情報、例えば、3D XYZ座標(現在は2D UVパラメトリック形式であるにもかかわらず)及び2D UV座標である。
【0024】
図4Bに示すような、3Dの境界頂点が2D UVアトラスにおける複数の頂点に対応する場合、3D XYZから2D UVへのマッピングは、1対複数とすることができる。したがって、UV対XYZ(又はUV2XYZと呼ばれる)インデックスを、マッピング関数を示すためにシグナリングすることができる。UV2XYZは、各2D UV頂点を3D XYZ頂点に対応させるインデックスの1D配列であってもよい。
【0025】
上述のように、動的メッシュシーケンスは、経時的に変化するかなりの量の情報から構成され得るため、大量のデータを必要とする可能性がある。関連技術で使用されるサンプリングベースの方法は、再構成されたメッシュジオメトリに、視覚的品質を低下させ得るいくつかのアーチファクトを導入する可能性がある。したがって、このようなアーチファクトを低減し、再構成されたメッシュの品質を向上させる効率的なアルゴリズムを開発する必要がある。
【0026】
本開示の実施形態は、別々に使用してもよいし、任意の順序で組み合わせてもよい。さらに、方法(又は実施形態)、エンコーダ、及びデコーダの各々は、処理回路(例えば、1つ又は複数のプロセッサ、あるいは、1つ又は複数の集積回路)によって実現してもよい。一例では、1つ又は複数のプロセッサは、非一時的なコンピュータ読取可能な媒体に記憶されたプログラムを実行する。
【0027】
本開示の実施形態は、メッシュ圧縮における再構成されたジオメトリのフィルタリングのための多数の方法に関する。当業者であれば、本明細書で開示される方法は、個別に適用されてもよいし、任意の形態の組み合わせによって適用されてもよいことを知ることができる。なお、本方法は、メッシュのフレームが1つしかない、又はメッシュコンテンツが経時的に変化しない静的メッシュに適用されることができる。
【0028】
本明細書で開示される適応的ジオメトリフィルタリングの利点は、フィルタリング係数のセットをシグナリングすることによって、再構成されたメッシュの品質を向上させることである。フィルタリング係数を、再構成されたメッシュ及び対応する参照メッシュに基づいて、エンコーダ側でトレーニングすることができ、フィルタリング係数の各セットは、類似する頂点のグループでトレーニングされ得る。その後、フィルタリング係数を各頂点及びその近隣頂点に適用することができる。
【0029】
【0030】
最初のステップとして、頂点をグループに分類することができる。
【0031】
【0032】
【0033】
【0034】
【0035】
したがって、一実施形態によれば、適応的ジオメトリフィルタリングは、入力メッシュにおける1つよりも多い頂点を決定することと、1つよりも多い頂点を1つよりも多い頂点グループにグループ化することと、を含み得る。次に、1つよりも多い頂点グループに対してフィルタリング係数のセットを決定することができる。次に、1つよりも多い頂点グループ及びフィルタリング係数のセットをエンコードし、シグナリングすることができる。いくつかの実施形態では、それらを同じビットストリーム内でエンコードしてもよい。いくつかの実施形態では、フィルタリング係数のセットをエンコードし、メタデータとしてシグナリングしてもよい。
【0036】
本開示の実施形態によれば、適応的ジオメトリフィルタリングを、次のようにエンコーダ側で適用することができる。
【0037】
エンコーダと全く同じ方法を使用して、頂点をグループに分類することができる。いくつかの実施形態では、グループ化の方法は、エンコーダとデコーダによって合意される。いくつかの実施形態では、合意された方法は、それぞれの頂点のトポロジカル距離に基づいて、それぞれの頂点をそれぞれのグループにグループ化することを含み得る。
【0038】
次に、i番目の頂点グループについて、フィルタ係数をビットストリームからデコードし、エンコーダと同じ方法で逆量子化することができる。
【0039】
【0040】
したがって、一実施形態によれば、デコーダで適用される適応的ジオメトリフィルタリングは、メッシュに関連付けられたコード化されたビットストリームを受信することであって、コード化されたビットストリームは、メッシュにおける頂点に関する情報、及び頂点に関連付けられたフィルタリング係数を含む、ことと、コード化されたビットストリームから、メッシュに含まれる1つよりも多い頂点グループ、及び1つよりも多い頂点グループに対するフィルタリング係数のセットを取得することと、を含み得る。次に、メッシュにおける頂点に関する情報に基づいて、再構成されたメッシュを構成することができ、再構成されたメッシュは、1つよりも多い頂点グループ及び1つよりも多い頂点グループに対するフィルタリング係数のセットを使用して精緻化され得る。
【0041】
頂点のグループ化
【0042】
頂点のグループ化は、デコーダ側で同じプロセスを行うことができる限り、様々な特性に基づいて、再構成されたメッシュの頂点をグループに分類することができる。
【0043】
一実施形態では、再構成されたメッシュのトポロジーに基づいて、頂点を領域にグループ化してもよく、各頂点グループは、エッジを介して接続される頂点の数がほぼ同じである。いくつかの実施形態では、グループ化のために、メトリック空間における2つのグラフ又は点の間の構造的距離を測定するトポロジカル距離、例えば、2つの点の間のエッジの数、又はユークリッド距離を使用することができる。
【0044】
同じ又は別の実施形態では、再構成されたメッシュから導出できる様々な特性に基づいて、頂点をグループ化してもよい。これらの特性は、頂点の曲率、頂点の法線方向、頂点の詳細レイヤーのレベルなどを含んでもよいが、これらに限定されるものではない。
【0045】
頂点の隣接
【0046】
【0047】
【0048】
【0049】
フィルタ及び係数の導出
【0050】
【0051】
実施形態によれば、フィルタ係数及び最小化すべき誤差関数を定義するために、複数の異なる方法を使用することができる。
【0052】
ポイント・ツー・ポイント(Point-to-Point)損失関数を備えた適応的ラプラシアンフィルタ
【0053】
【0054】
【0055】
【0056】
【0057】
【0058】
上記式は、例えば、最小二乗法などの適切な方法によって解くことができる。
【0059】
ポイント・ツー・プレーン(Point-to-Plane)損失関数を備えた適応的ラプラシアンフィルタ
【0060】
同じ又は別の実施形態では、最後の実施形態と同じ適応的ラプラシアンフィルタを適用してもよいが、フィルタ係数を、最小ポイント・ツー・プレーン誤差関数で最適化する。
【0061】
【0062】
【0063】
ポイント・ツー・ポイント(Point-to-Point)損失関数を備えた適応的ウィーナーフィルタ
【0064】
同じ又は別の実施形態では、適応的ウィーナーフィルタを次のように適用することができる。
【0065】
【0066】
【0067】
【0068】
上記式は、例えば、最小二乗法などの適切な方法によって解くこともできる。
【0069】
ポイント・ツー・プレーン(Point-to-Plane)損失関数を備えた適応的ウィーナーフィルタ
【0070】
同じ又は別の実施形態では、最後の実施形態と同じ適応的ウィーナーフィルタを適用してもよいが、フィルタ係数を、最小ポイント・ツー・プレーン誤差関数で最適化してもよい。
【0071】
【0072】
【0073】
したがって、本明細書で開示されるように、エンコーダは、フィルタ関数と損失関数の任意の組み合わせを使用してもよい。実施形態では、エンコーダとデコーダは、どのフィルタ関数とどの損失関数を使用するかについて合意してもよい。実施形態では、エンコーダは、すべてのグループが同じフィルタ関数、同じ損失関数、異なるフィルタ関数、又は異なる損失関数を使用するか否かを示すフラグをシグナリングしてもよい。異なるフィルタ関数又は損失関数がグループによって使用され得る場合、エンコーダは、グループごとにフィルタ関数及び/又は損失関数を示す追加のフラグ又は情報をシグナリングしてもよい。いくつかの実施形態では、このシグナリングは、頂点グループのシグナリングに完全に先行するが、いくつかの実施形態では、このシグナリングはそれぞれの頂点グループに先行する。
【0074】
フィルタ係数の最適化
【0075】
フィルタ係数を、推定されたレート歪み性能に基づいて、エンコード前に微調整することができる。歪み項(D)は、本明細書で説明されるように、ポイント・ツー・ポイント損失関数又はポイント・ツー・プレーン損失関数のいずれかによって推定してもよい。レート項(R)は、係数の分布から推定することができる。
【0076】
一実施形態では、歪み項が閾値よりも大きい場合、フィルタを、i番目の頂点グループに対して無効化してもよく、ここで、閾値は、フィルタ係数の量子化ステップサイズの関数であり得る。
【0077】
【0078】
フィルタ係数のコーディング
【0079】
量子化され最適化されたフィルタ係数を、その後、ビットストリーム内で様々な方法でエントロピーコーディングすることができる。
【0080】
一実施形態では、最初に、1つのバイナリフラグを、フィルタがi番目のグループに適用されるか否かを示すようにコード化する。フラグが真である場合、次に係数をコード化する。そうでない場合、係数をコード化しない。このバイナリフラグを、算術コーディングでコンテクストの有無にかかわらずコード化することができる。
【0081】
各係数値について、固定長コーディング又はExp-Golombコーディングなどによってコード化することができる。
【0082】
一実施形態では、係数値を以下のようにコード化することができる。1つのバイナリフラグを、値が0に等しいか否かを示すようにコード化する。このフラグが偽である場合、次に、別のバイナリフラグを、値が1に等しいか否かを示すようにコード化する。このフラグも偽である場合、次に、その値から2を引いたものを、Exp-Golombコーディングによってコード化する。
【0083】
いくつかの実施形態では、係数の一部を、エンコード前に他の係数から予測することができる。例えば、適応的ウィーナーフィルタが適用される場合、第1の係数を、他の係数から予測することができる。
【0084】
図5は、本開示の実施形態による、メッシュ圧縮を示すプロセス500のフローチャートである。
【0085】
動作505では、入力メッシュにおける1つよりも多い頂点を決定することができる。入力メッシュは、少なくとも1つの3次元(3D)ビジュアルコンテンツのボリュメトリックデータを表してもよい。
【0086】
動作510では、1つよりも多い頂点を1つよりも多い頂点グループにグループ化することができる。実施形態では、それぞれのグループにおけるそれぞれの頂点のグループ化は、それぞれの頂点のトポロジカル距離に基づいてもよい。
【0087】
実施形態では、トポロジカル距離に基づいてそれぞれの頂点をグループ化することは、それぞれの頂点に対して近隣頂点を決定することであって、近隣頂点は、少なくとも1つのエッジによってそれぞれの頂点に接続される頂点である、ことと、それぞれの頂点を、第1のグループにおける頂点がエッジを介して同じ数の頂点に接続されるような第1のグループにグループ化することと、を含んでもよい。
【0088】
実施形態では、それぞれの頂点の近隣頂点を決定することは、入力メッシュにおけるそれぞれのエッジに直接接続される近隣頂点を決定すること、又は、それぞれの頂点に複数のエッジで接続される近隣頂点を決定することであって、複数のエッジが第1の閾値以下である、こと、のうちの1つ又は複数を含んでもよい。
【0089】
動作515では、1つよりも多い頂点グループに対して、フィルタリング係数のセットを決定することができる。
【0090】
実施形態では、フィルタリング係数のセットを決定することは、第1の損失関数及び第1のフィルタ関数に基づいて、フィルタリング係数のセットを決定することを含んでもよく、フィルタリング係数のセットは、1つよりも多い頂点グループのうちの各グループに対する1つ又は複数のフィルタ係数を含む。
【0091】
実施形態では、第1の損失関数は、ポイント・ツー・ポイント損失関数又はポイント・ツー・プレーン損失関数のうちの1つを含んでもよい。同じ又は異なる実施形態では、第1のフィルタ関数は、ラプラシアンフィルタ又はワイナーフィルタのうちの1つを含んでもよい。
【0092】
いくつかの実施形態では、フィルタ係数のセットを決定することに続いて、プロセス500は、第1のフィルタ係数が歪み閾値よりも高い歪みを有することに基づいて、1つよりも多い頂点グループのうちの第1のグループに対する第1のフィルタ係数を無効化することを含んでもよい。
【0093】
動作520では、1つよりも多い頂点グループ及びフィルタリング係数のセットをシグナリングすることができる。
【0094】
いくつかの実施形態では、動作520は、1つよりも多い頂点グループのうちの各グループのために、それぞれのグループに対するフィルタ係数が有効化されるか否かを示すバイナリフラグをシグナリングすることと、それぞれのグループに対するバイナリフラグが、フィルタ係数が有効化されることを示すことに基づいて、それぞれのグループに関連付けられた1つ又は複数の係数をシグナリングすることと、を含んでもよい。動作520はまた、1つよりも多い頂点グループにおける各グループに対するフィルタ係数のセットを決定するために同じ第1のフィルタ関数が使用されるか否かを示す第2のフラグをシグナリングすることを含んでもよい。いくつかの実施形態では、動作520はまた、1つよりも多い頂点グループにおける各グループに対するフィルタ係数のセットを決定するために同じ第1の損失関数が使用されるか否かを示す第3のフラグをシグナリングすることを含んでもよい。
【0095】
図6は、本開示の実施形態による、メッシュの再構成を示すプロセス600のフローチャートである。
【0096】
動作605では、メッシュに関連付けられたコード化されたビットストリームを受信することができる。コード化されたビットストリームは、メッシュにおける頂点に関する情報、及び頂点に関連付けられたフィルタリング係数を含み得る。動作610では、コード化されたビットストリームから、メッシュに含まれる1つよりも多い頂点グループを取得することができる。動作615では、コード化されたビットストリームから、1つよりも多い頂点グループに対するフィルタリング係数のセットを取得することができる。動作620では、メッシュにおける頂点に関する情報に基づいて、再構成されたメッシュを生成することができる。実施形態では、再構成されたメッシュをさらに精緻化してもよく、動作625では、再構成されたメッシュ、1つよりも多い頂点グループ、及び1つよりも多い頂点グループに対するフィルタリング係数のセットを使用して、精緻化された再構成されたメッシュを構成することができる。
【0097】
提案された方法は、別々に使用してもよいし、任意の順序で組み合わせてもよい。様々な実施形態の実演のために三角形メッシュのみが使用されたとしても、提案された方法は、任意のポリゴンメッシュに使用することができる。上述したように、入力メッシュは1つ又は複数のインスタンスを含んでもよいこと、サブメッシュは1つのインスタンス又は複数のインスタンスを持つ入力メッシュの一部であること、及び複数のインスタンスをグループ化してサブメッシュを形成することができることを仮定する。
【0098】
上述の技術は、コンピュータ読取可能な命令を用いてコンピュータソフトウェアとして実現され、1つ又は複数のコンピュータ読取可能な媒体に物理的に記憶されるか、又は、特別に構成された1つ又は複数のハードウェアプロセッサによって実現されることができる。例えば、
図7は、本開示の特定の実施形態を実現するのに適したコンピュータシステム700を示す。
【0099】
コンピュータソフトウェアは、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などにより、直接、または解釈、マイクロコード実行などを介して実行され得る命令を含むコードを作成するために、アセンブル、コンパイル、リンク、または同様のメカニズムを受け得る任意の適切なマシンコードまたはコンピュータ言語を使用してコード化され得る。
【0100】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々な種類のコンピュータ又はそのコンポーネント上で実行されることができる。
【0101】
図7に示されるコンピュータシステム700のコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータソフトウェアの使用範囲又は機能性に関するいかなる制限も示唆することが意図されていない。コンポーネントの構成は、コンピュータシステム700の例示的な実施形態に示されているコンポーネントのいずれか又は組み合わせに関連する任意の依存性又は要件を有すると解釈されるべきではない。
【0102】
コンピュータシステム700は、特定のヒューマンインタフェース入力デバイスを含んでもよい。そのようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動きなど)や、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャーなど)、嗅覚入力(図示せず)を介して、1人または複数の人間のユーザによる入力に応答することができる。ヒューマンインタフェースデバイスは、例えばオーディオ(例えば、音声、音楽、環境音など)、画像(例えば、スキャン画像、静止画カメラから得られた写真画像など)、ビデオ(例えば、2次元ビデオ、立体映像を含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されることもできる。
【0103】
入力ヒューマンインタフェースデバイスは、キーボード701、マウス702、トラックパッド703、タッチスクリーン710、ジョイスティック705、マイク706、スキャナ708、及びカメラ707のうちの1つ又は複数(それぞれの1つのみを図示)を含んでもよい。
【0104】
コンピュータシステム700はまた、特定のヒューマンインタフェース出力デバイスを含むことができる。そのようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚によって、1人または複数の人間のユーザの感覚を刺激することができる。このようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン710、又はジョイスティック705による触覚フィードバックであるが、入力デバイスとして作用しない触覚フィードバックデバイスであってもよい)、オーディオ出力デバイス(例えば、スピーカ709、ヘッドホン(図示せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン710(各々は、タッチスクリーン入力機能を備えてもよく、あるいは備えていなくてもよく、各々は、触覚フィードバック機能を備えてもよく、あるいは備えていなくてもよく、これらのいくつかは、ステレオグラフィック出力などの手段によって、2次元の視覚出力又は3次元以上の出力を出力することができる)、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、およびスモークタンク(図示せず))、およびプリンタ(図示せず)を含んでもよい。
【0105】
コンピュータシステム700はまた、例えばCD/DVD711付きのCD/DVD ROM/RW720又は類似の媒体を含む光学媒体、サムドライブ722、リムーバブルハードドライブ又はソリッドステートドライブ723、例えばテープ及びフロッピーディスク等のレガシー磁気媒体(図示せず)、例えばセキュリティドングル等の専用ROM/ASIC/PLDベースデバイス(図示せず)など、人間がアクセス可能な記憶デバイス及びそれらの関連媒体を含むことも可能である。
【0106】
当業者は、現在開示されている主題に関連して使用される「コンピュータ読取可能な媒体」という用語は、伝送媒体、搬送波、又は他の一時的な信号を包含しないことも理解すべきである。
【0107】
コンピュータシステム700はまた、1つ又は複数の通信ネットワーク798へのインタフェース799を含むことができる。ネットワーク798は、例えば、無線、有線、光学的であってもよい。ネットワーク798はさらに、ローカルネットワーク、広域ネットワーク、大都市圏ネットワーク、車両用ネットワークおよび産業用ネットワーク、リアルタイムネットワーク、遅延耐性ネットワークなどであってもよい。ネットワーク798の例は、イーサネット、無線LAN、GSMや、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、及び地上放送TVを含むテレビ有線又は無線広域デジタルネットワーク、CANBusを含む車両用ネットワークおよび産業用ネットワークなどを含む。いくつかのネットワーク798は、一般に、特定の汎用データポート又は周辺バス(750及び751)(例えば、コンピュータシステム700のUSBポートなど)に接続された外部ネットワークインタフェースアダプタを必要とし、その他は、通常、以下に説明するようにシステムバスに接続することによって、コンピュータシステム700のコアに統合される(例えば、イーサネットインタフェースからPCコンピュータシステムへ、又はセルラーネットワークインタフェースからスマートフォンコンピュータシステムへ)。これらのネットワーク798のいずれかを使用して、コンピュータシステム700は、他のエンティティと通信することができる。このような通信は、単方向の受信のみ(例えば、放送TV)、単方向の送信のみ(例えば、CANバスから特定のCANバスデバイスへ)、あるいは、双方向の、例えばローカル又は広域デジタルネットワークを使用して他のコンピュータシステムへの通信であってもよい。上記のように、特定のプロトコルおよびプロトコルスタックは、それらのネットワークおよびネットワークインタフェースのそれぞれで使用されることができる。
【0108】
前述のヒューマンインタフェースデバイス、人間がアクセス可能な記憶デバイス、及びネットワークインタフェースは、コンピュータシステム700のコア740に接続されることができる。
【0109】
コア740は、1つ又は複数の中央処理装置(CPU)741、グラフィックス処理装置(GPU)742、グラフィックスアダプタ717、フィールドプログラマブルゲートエリア(FPGA)743の形態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ744等を含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)745、ランダムアクセスメモリ746、例えばユーザがアクセスできない内部ハードディスク、SSDなどの内部大容量ストレージ747とともに、システムバス748を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス748は、追加のCPU、GPUなどによる拡張を可能にするために、1つ又は複数の物理プラグの形態でアクセス可能である。周辺デバイスは、コアのシステムバス748に直接、又は周辺バス749を介して接続されることができる。周辺バスのアーキテクチャは、PCI、USBなどを含む。
【0110】
CPU741、GPU742、FPGA743、及びアクセラレータ744は、いくつかの命令を実行することができ、これらの命令を組み合わせて前述のコンピュータコードを構成することができる。そのコンピュータコードは、ROM745又はRAM746に記憶されることができる。過渡的なデータもRAM746に記憶されることができ、一方、永久的なデータは、例えば、内部大容量ストレージ747に記憶されることができる。1つ又は複数のCPU741、GPU742、大容量ストレージ747、ROM745、RAM746などと密接に関連付けられることができるキャッシュメモリの使用によって、いずれかのメモリデバイスへの高速な記憶及び検索を可能にすることができる。
【0111】
コンピュータ読取可能な媒体は、様々なコンピュータ実現操作を行うためのコンピュータコードをその上に持つことができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであってもよいし、コンピュータソフトウェア分野の技術に精通する者によく知られ利用可能な種類のものであってもよい。
【0112】
一例として、限定ではなく、アーキテクチャ700を有するコンピュータシステム、特にコア740は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ又は複数の有形のコンピュータ読取可能な媒体で具現化されたソフトウェアを実行する結果として、機能性を提供することができる。このようなコンピュータ読取可能な媒体は、上述したようなユーザがアクセス可能な大容量ストレージに関連付けられる媒体、ならびに、例えばコア内部大容量ストレージ747又はROM745などの非一時的な性質であるコア740の特定のストレージとすることができる。本開示の様々な実施形態を実現するソフトウェアは、このようなデバイスに記憶され、コア740によって実行され得る。コンピュータ読取可能な媒体は、特定のニーズに応じて、1つ又は複数のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア740、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM746に記憶されたデータ構造の定義、及びソフトウェアによって定義されたプロセスに従ってかかるデータ構造の修正を含む、本明細書に記載された特別なプロセス又は特別なプロセスの特別な部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、ロジックハードワイヤ又は他の方式で回路(例えば、アクセラレータ744)で具体化された結果としての機能性を提供することができ、この回路は、ソフトウェアの代わりに動作し又はソフトウェアと一緒に動作して、ここで説明された特定のプロセス又は特定のプロセスの特定の部分を実行してもよい。適切な場合には、ソフトウェアへの参照はロジックを含むことができ、逆もまた然りである。適切な場合には、コンピュータ読み取り可能な媒体への参照は、実行のソフトウェアを記憶する回路(例えば、集積回路(IC)など)、実行のロジックを具体化する回路、又はその両方を兼ね備えることができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0113】
本開示は、いくつかの例示的な実施形態を説明したが、本開示の範囲内に入る変更、置換、及び様々な代替の等価物が存在する。したがって、当業者は、本明細書で明示的に示されていないか又は説明されていないが、本開示の原理を具現化し、ゆえにその精神及び範囲内にある多数のシステム及び方法を考案することができることが理解されるであろう。
【手続補正書】
【提出日】2025-03-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行する、メッシュ圧縮のための方法であって、
入力メッシュにおける1つよりも多い頂点を決定するステップであって、前記入力メッシュは、少なくとも1つの3次元(3D)ビジュアルコンテンツのボリュメトリックデータを表すものである、ステップと、
前記1つよりも多い頂点を1つよりも多い頂点グループにグループ化するステップであって、それぞれのグループにおけるそれぞれの頂点の前記グループ化は、前記それぞれの頂点のトポロジカル距離に基づいている、ステップと、
前記1つよりも多い頂点グループに対してフィルタ係数のセットを決定するステップと、
前記1つよりも多い頂点グループ及び前記フィルタ係数のセットをシグナリングするステップと、を含む方法。
【請求項2】
前記トポロジカル距離に基づいて、前記それぞれの頂点をグループ化するステップは、
前記それぞれの頂点に対して近隣頂点を決定するステップであって、前記近隣頂点は、少なくとも1つのエッジによって前記それぞれの頂点に接続される頂点である、ステップと、
前記それぞれの頂点を、第1のグループにおける頂点がエッジを介して同じ数の頂点に接続されるような前記第1のグループにグループ化するステップと、を含む、請求項1に記載の方法。
【請求項3】
前記それぞれの頂点の前記近隣頂点を決定するステップは、
前記入力メッシュにおけるそれぞれの前記エッジに直接接続される前記近隣頂点を決定するステップ、又は、
前記それぞれの頂点に複数のエッジで接続される前記近隣頂点を決定するステップであって、前記複数のエッジが第1の閾値以下である、ステップ、のうちの1つを含む、請求項2に記載の方法。
【請求項4】
前記フィルタ係数のセットを決定するステップは、
第1の損失関数、及び第1のフィルタ関数に基づいて、前記フィルタ係数のセットを決定するステップを含み、
前記フィルタ係数のセットは、前記1つよりも多い頂点グループのうちの各グループに対する1つ又は複数のフィルタ係数を含み、
前記フィルタ係数のセットにおける各係数は、前記1つよりも多い頂点グループにおける1つ又は複数の頂点に関連付けられている、請求項1に記載の方法。
【請求項5】
前記第1の損失関数は、ポイント・ツー・ポイント損失関数又はポイント・ツー・プレーン損失関数のうちの1つを含み、
前記第1のフィルタ関数は、ラプラシアンフィルタ又はワイナーフィルタのうちの1つを含む、請求項4に記載の方法。
【請求項6】
前記フィルタ係数のセットを決定するステップに続いて、前記方法は、
前記1つよりも多い頂点グループのうちの第1のグループに対する第1のフィルタ係数が歪み閾値よりも高い歪みを有することに基づいて、前記第1のフィルタ係数を無効化するステップをさらに含む、請求項1に記載の方法。
【請求項7】
前記1つよりも多い頂点グループ及び前記フィルタ係数のセットをシグナリングするステップは、
前記1つよりも多い頂点グループのうちの各グループのために、前記それぞれのグループに対するフィルタ係数が有効化されるか否かを示すバイナリフラグをシグナリングするステップと、
前記それぞれのグループに対する前記バイナリフラグが、前記フィルタ係数が有効化されることを示すことに基づいて、前記それぞれのグループに関連付けられた1つ又は複数の係数をシグナリングするステップと、を含む、請求項1に記載の方法。
【請求項8】
前記方法は、
前記1つよりも多い頂点グループにおける各グループに対する前記フィルタ係数のセットを決定するために同じ第1のフィルタ関数が使用されるか否かを示す第2のフラグをシグナリングするステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記方法は、
前記1つよりも多い頂点グループにおける各グループに対する前記フィルタ係数のセットを決定するために同じ第1の損失関数が使用されるか否かを示す第3のフラグをシグナリングするステップをさらに含む、請求項7に記載の方法。
【請求項10】
メッシュ圧縮のための適応的ジオメトリフィルタのための装置であって、
プログラムコードを記憶するように構成される少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードによって指示される通りに動作するように構成される少なくとも1つのプロセッサと、を備え、
前記プログラムコードは、
前記少なくとも1つのプロセッサに、
請求項1乃至9のうちのいずれか一項に記載の方法を実行させるように構成される、装置。
【請求項11】
コンピュータに、請求項1乃至9のうちのいずれか一項に記載の方法を実行させるように構成される、コンピュータプログラム。
【国際調査報告】