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

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

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

特表2024-512915非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム
<>
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図1
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図2
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図3
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図4
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図5
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図6
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図7
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図8
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図9
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図10
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図11
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図12
  • 特表-非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-21
(54)【発明の名称】非マニホールドメッシュにおける境界ループの検出のための方法、装置、およびコンピュータプログラム
(51)【国際特許分類】
   G06T 9/00 20060101AFI20240313BHJP
   H04N 19/597 20140101ALI20240313BHJP
【FI】
G06T9/00 100
H04N19/597
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023554898
(86)(22)【出願日】2022-09-27
(85)【翻訳文提出日】2023-09-07
(86)【国際出願番号】 US2022077112
(87)【国際公開番号】W WO2023081557
(87)【国際公開日】2023-05-11
(31)【優先権主張番号】63/276,444
(32)【優先日】2021-11-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/950,836
(32)【優先日】2022-09-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】チャオ・フアン
(72)【発明者】
【氏名】シャン・ジャン
(72)【発明者】
【氏名】ジュン・ティアン
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC01
5C159MB01
5C159MB18
5C159RC11
5C159UA02
5C159UA05
(57)【要約】
幾つかの例では、メッシュ処理のための装置が処理回路を含む。処理回路は、多角形がオブジェクトの表面を表わす第1のメッシュフレームを受けるとともに、第1のメッシュフレーム内の1つ以上の特異点成分に応じて第1のメッシュフレームが非マニホールドタイプメッシュであると決定する。処理回路は、第1のメッシュフレームを、マニホールドタイプメッシュである第2のメッシュフレームに変換する。第1のメッシュフレームは、第2のメッシュフレーム内の第2の境界ループにそれぞれ対応する第1の境界ループを有する。処理回路は、第2のメッシュフレーム内の第2の境界ループを検出するとともに、第2のメッシュフレーム内の第2の境界ループに従って第1のメッシュフレーム内の第1の境界ループを決定する。
【特許請求の範囲】
【請求項1】
多角形がオブジェクトの表面を表わす第1のメッシュフレームを受けるステップと、
前記第1のメッシュフレーム内の1つ以上の特異点成分に応じて前記第1のメッシュフレームが非マニホールドタイプメッシュであると決定するステップと、
前記第1のメッシュフレームを、マニホールドタイプメッシュである第2のメッシュフレームに変換するステップであって、前記第1のメッシュフレームが前記第2のメッシュフレーム内の第2の境界ループにそれぞれ対応する第1の境界ループを有する、ステップと、
前記第2のメッシュフレーム内の前記第2の境界ループを検出するステップと、
前記第2のメッシュフレーム内の前記第2の境界ループに従って前記第1のメッシュフレーム内の前記第1の境界ループを決定するステップと、
を含む、メッシュ処理のための方法。
【請求項2】
前記第1のメッシュフレーム内の少なくとも1つの頂点が前記第2のメッシュフレーム内で複製される、請求項1に記載の方法。
【請求項3】
前記第1のメッシュフレームが非マニホールドタイプメッシュであると決定する前記ステップは、
前記第1のメッシュフレーム内の特異な頂点及び/又は特異なエッジのうちの少なくとも1つを検出するステップ、
を更に含む、請求項1に記載の方法。
【請求項4】
前記第1のメッシュフレームが単体2複合メッシュであり、前記第1のメッシュフレームが非マニホールドタイプメッシュであると決定する前記ステップは、
第1の頂点が境界頂点であると決定するステップと、
前記第1の頂点の第1の数の入射面及び第2の数の入射エッジが正規頂点要件を満たさないと決定するステップと、
前記第1の頂点が特異な頂点であると決定するステップと、
を更に含む、請求項1に記載の方法。
【請求項5】
前記第1のメッシュフレームが単体2複合メッシュであり、前記第1のメッシュフレームが非マニホールドタイプメッシュであると決定する前記ステップは、
第1の頂点に対する入射境界エッジの数が2より大きいと決定するステップと、
前記第1の頂点が特異な頂点であると決定するステップと、
を更に含む、請求項1に記載の方法。
【請求項6】
前記第1のメッシュフレームが単体2複合体であり、前記第1のメッシュフレームが非マニホールドタイプメッシュであると決定する前記ステップは、
第1のエッジが入射面を有さない又は3つ以上の入射面を有することを検出するステップと、
前記第1のエッジが特異なエッジであると決定するステップと、
を更に含む、請求項1に記載の方法。
【請求項7】
前記第1のメッシュフレームが単体2複合メッシュであり、前記第1のメッシュフレームを前記第2のメッシュフレームに変換する前記ステップは、
前記第1のメッシュフレームの特異な頂点を前記第2のメッシュフレーム内の1つ以上のエイリアス頂点に変換するステップであって、前記1つ以上のエイリアス頂点が正規頂点である、ステップと、
を更に含む、請求項1に記載の方法。
【請求項8】
前記第1のメッシュフレームの特異なエッジの第1の特異な頂点及び第2の特異な頂点を前記第2のメッシュフレーム内のそれぞれのエイリアス頂点に変換するステップであって、前記それぞれのエイリアス頂点が正規頂点である、ステップを更に含む、
請求項7に記載の方法。
【請求項9】
前記第1のメッシュフレームの特異な頂点を前記第2のメッシュフレーム内の1つ以上のエイリアス頂点に変換する前記ステップは、
前記特異な頂点に入射する第1の入射面及び第2の入射面を識別するステップであって、前記第1の入射面が前記特異な頂点に対する第1の入射エッジを含み、前記第2の入射面が前記特異な頂点に対する第2の入射エッジを含み、前記第1の入射エッジ及び前記第2の入射エッジが異なる入射面からの隣接する入射エッジである、ステップと、
エイリアス頂点を生成するステップであって、前記第1の入射面及び前記第2の入射面が前記特異な頂点の代わりに前記第2のメッシュフレーム内の前記エイリアス頂点に入射する、ステップと、
を更に含む、請求項7に記載の方法。
【請求項10】
前記第2のメッシュフレーム内の前記第2の境界ループに従って前記第1のメッシュフレーム内の前記第1の境界ループを決定する前記ステップは、
前記第2の境界ループ内の前記エイリアス頂点に応じて、前記第2の境界ループ内の前記エイリアス頂点を前記特異な頂点と置き換えるステップ、
を更に含む、請求項9に記載の方法。
【請求項11】
前記第1のメッシュフレームにおけるオイラー特性とBetti数との間の関係に基づいて1つ以上の内部境界ループの存在を検出するステップを更に含む、請求項1に記載の方法。
【請求項12】
多角形がオブジェクトの表面を表わす第1のメッシュフレームを受け、
前記第1のメッシュフレーム内の1つ以上の特異点成分に応じて前記第1のメッシュフレームが非マニホールドタイプメッシュであると決定し、
前記第1のメッシュフレームを、マニホールドタイプメッシュである第2のメッシュフレームに変換し、前記第1のメッシュフレームが、前記第2のメッシュフレーム内の第2の境界ループにそれぞれ対応する第1の境界ループを有し、
前記第2のメッシュフレーム内の第2の境界ループを検出し、
前記第2のメッシュフレーム内の前記第2の境界ループに従って前記第1のメッシュフレーム内の前記第1の境界ループを決定する、
ように構成される処理回路を備える、メッシュ処理のための装置。
【請求項13】
前記第1メッシュフレーム内の少なくとも1つの頂点が前記第2のメッシュフレーム内で複製される、請求項12に記載の装置。
【請求項14】
前記処理回路は、
前記第1のメッシュフレーム内の特異な頂点及び/又は特異なエッジのうちの少なくとも一方を検出する、
ように構成される、請求項12に記載の装置。
【請求項15】
前記第1のメッシュフレームが単体2複合メッシュであり、前記処理回路は、
第1の頂点が境界頂点であると決定し、
第1の頂点の第1の数の入射面及び第2の数の入射エッジが正規頂点要件を満たさないと決定し、
前記第1の頂点が特異な頂点であると決定する、
ように構成される、請求項12に記載の装置。
【請求項16】
前記第1のメッシュフレームが単体2複合メッシュであり、前記処理回路は、
第1の頂点に対する入射境界エッジの数が2よりも大きいと決定し、
前記第1の頂点が特異な頂点であると決定する、
ように構成される、請求項14に記載の装置。
【請求項17】
前記第1のメッシュフレームが単体2複合体であり、前記処理回路は、
第1のエッジが入射面を有さない又は3つ以上の入射面を有することを検出し、
前記第1のエッジが特異なエッジであると決定する、
ように構成される、請求項12に記載の装置。
【請求項18】
前記第1のメッシュフレームが単体2複合メッシュであり、前記処理回路は、
前記第1のメッシュフレームの特異な頂点を前記第2のメッシュフレーム内の1つ以上のエイリアス頂点に変換し、前記1つ以上のエイリアス頂点が正規頂点である、
ように構成される、請求項12に記載の装置。
【請求項19】
前記処理回路は、
前記第1のメッシュフレームの特異なエッジの第1の特異な頂点及び第2の特異な頂点を、前記第2のメッシュフレーム内のそれぞれのエイリアス頂点に変換し、前記それぞれのエイリアス頂点が正規頂点である、
ように構成される、請求項18に記載の装置。
【請求項20】
前記処理回路は、
前記特異な頂点に入射する第1の入射面及び第2の入射面を識別し、前記第1の入射面が前記特異な頂点に対する第1の入射エッジを含み、前記第2の入射面が前記特異な頂点に対する第2の入射エッジを含み、前記第1の入射エッジ及び前記第2の入射エッジが異なる入射面からの隣接する入射エッジであり、
エイリアス頂点を生成し、前記第1の入射面及び前記第2の入射面が前記特異な頂点の代わりに前記第2のメッシュフレーム内の前記エイリアス頂点に入射する、
ように構成される、請求項18に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年11月5日に出願された米国仮出願第63/276,444号「非マニホールドメッシュにおける境界ループの検出」に対する優先権の利益を主張する、2022年9月22日に出願された米国特許出願第17/950,836号「非マニホールドメッシュにおける境界ループの検出」に対する優先権の利益を主張する。先行出願の開示は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、メッシュコーディングに関係する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示の前後関係を一般的に提示することを目的としている。本発明者らの研究は、この背景技術の節で記載されている限りにおいて、及び出願時に先行技術として認められない可能性がある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
【0004】
3次元(3D)空間における世界のオブジェクト、世界の環境などの世界を捕捉して表示するための様々な技術が開発されている。世界の3D表示により、より没入型のインタラクション、及びより没入型のコミュニケーションが可能になる可能性がある。幾つかの例では、点群及びメッシュが世界の3D表示として使用され得る。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の態様は、メッシュ処理のための方法及び装置を提供する。幾つかの例では、メッシュ処理のための装置が処理回路を含む。処理回路は、多角形がオブジェクトの表面を表わす第1のメッシュフレームを受けるとともに、第1のメッシュフレーム内の1つ以上の特異点成分に応じて第1のメッシュフレームが非マニホールドメッシュであると決定する。処理回路は、第1のメッシュフレームを、マニホールドメッシュである第2のメッシュフレームに変換する。第1のメッシュフレームは、第2のメッシュフレーム内の第2の境界ループにそれぞれ対応する第1の境界ループを有する。処理回路は、第2のメッシュフレーム内の第2の境界ループを検出するとともに、第2のメッシュフレーム内の第2の境界ループに従って第1のメッシュフレーム内の第1の境界ループを決定する。
【0006】
幾つかの例において、第1のメッシュフレーム内の少なくとも1つの頂点は、第2のメッシュフレーム内で複製される。
【0007】
第1のメッシュフレームが非マニホールドメッシュであると決定するために、幾つかの例において、処理回路は、第1のメッシュフレーム内の特異な頂点及び/又は特異なエッジの少なくとも一方を検出する。
【0008】
幾つかの例では、第1のメッシュフレームが単体2複合メッシュであり、処理回路は、第1の頂点が境界頂点であり、第1の頂点の第1の数の入射面及び第2の数の入射エッジが正規頂点要件を満たさないと決定する。次に、処理回路は、第1の頂点が特異な頂点であると決定する。他の例において、処理回路は、第1の頂点に対する入射境界エッジの数が2よりも大きいと決定するとともに、第1の頂点が特異な頂点であると決定する。他の例において、処理回路は、第1のエッジが入射面を有さない又は3つ以上の入射面を有することを検出するとともに、第1のエッジが特異なエッジであると決定する。
【0009】
幾つかの例では、第1のメッシュフレームが単体2複合メッシュであり、第1のメッシュフレームを第2のメッシュフレームに変換するために、処理回路は、第1のメッシュフレームの特異な頂点を第2のメッシュフレーム内の1つ以上のエイリアス頂点に変換する。1つ以上のエイリアス頂点は正規頂点である。他の例において、処理回路は、第1のメッシュフレームの特異なエッジの第1の特異な頂点及び第2の特異な頂点を、第2のメッシュフレーム内のそれぞれのエイリアス頂点に変換する。それぞれのエイリアス頂点は正規頂点である。
【0010】
幾つかの例において、処理回路は、特異な頂点に入射する第1の入射面及び第2の入射面を識別し、第1の入射面は、特異な頂点に対する第1の入射エッジを含み、第2の入射面は、特異な頂点に対する第2の入射エッジを含み、第1の入射エッジ及び第2の入射エッジは、異なる入射面からの隣接する入射エッジである。処理回路がエイリアス頂点を生成し、この場合、第1の入射面及び第2の入射面は、特異な頂点の代わりに第2のメッシュフレーム内のエイリアス頂点に入射する。
【0011】
第2のメッシュフレーム内の第2の境界ループに従って第1のメッシュフレーム内の第1の境界ループを決定するために、一例において、処理回路は、第2の境界ループ内のエイリアス頂点に応じて、第2の境界ループ内のエイリアス頂点を特異な頂点と置き換える。
【0012】
幾つかの例において、処理回路は、第1のメッシュフレームにおけるオイラー特性とBetti数との間の関係に基づいて、1つ以上の内部境界ループの存在を検出する。
【0013】
また、本開示の態様は、コンピュータによって実行されるときにメッシュ処理のための方法のいずれか1つ又は組合せをコンピュータに実行させる命令を記憶する非一時的コンピュータ可読媒体を提供する。
【0014】
開示されている主題の更なる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになる。
【図面の簡単な説明】
【0015】
図1】幾つかの例における通信システムのブロック図を示す。
図2】幾つかの例におけるストリーミングシステムのブロック図を示す。
図3】幾つかの例における点群フレームをエンコーディングするためのエンコーダのブロック図を示す。
図4】幾つかの例における点群フレームに対応する圧縮ビットストリームをデコーディングするためのデコーダのブロック図を示す。
図5】幾つかの例におけるビデオデコーダのブロック図を示す。
図6】幾つかの例におけるビデオエンコーダのブロック図を示す。
図7】幾つかの例における点群フレームをエンコーディングするためのエンコーダのブロック図を示す。
図8】幾つかの例における点群フレームを搬送する圧縮ビットストリームをデコーディングするためのデコーダのブロック図を示す。
図9】一例におけるメッシュ(900)を示す。
図10】一例におけるメッシュ(1000)を示す。
図11】一例におけるメッシュ(1100)を示す。
図12】幾つかの例におけるプロセス例の概要を説明するフローチャートを示す。
図13】幾つかの例におけるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0016】
本開示の態様は、3次元(3D)メディア処理の分野における技術を提供する。
【0017】
3次元(3D)捕捉、3Dモデリング、及び3Dレンダリングなどの進歩などの3Dメディア処理における技術開発は、幾つかのプラットフォーム及びデバイスにわたって3Dメディアコンテンツの普遍的な存在を促進している。一例では、赤ん坊の最初の一歩が1つの大陸で捕捉され、メディア技術は、祖父母が別の大陸で赤ん坊との没入体験を、眺め、(そして、おそらく対話し)、そして楽しむ、ことを可能にできる。本開示の一態様によれば、没入体験を改善するために、3Dモデルはますます洗練されてきており、3Dモデルの作成及び消費は、データストレージ、データ送信リソースなどのかなりの量のデータリソースを占有する。
【0018】
本開示の幾つかの態様によれば、点群及びメッシュを3Dモデルとして使用して、没入型コンテンツを表示できる。
【0019】
点群は一般に、3D空間内の点のセットを指してもよく、各点が、色、材料特性、テクスチャ情報、強度属性、反射率属性、動き関連属性、モダリティ属性、及び様々な他の属性などの関連付けられた属性を有する。点群は、このような点の構成としてオブジェクト又はシーンを再構成するために使用され得る。
【0020】
オブジェクトのメッシュ(メッシュモデルとも呼ばれる)は、オブジェクトの表面を記述する多角形を含むことができる。各多角形は、3D空間内の多角形の頂点と、頂点が多角形にどのように接続されているかの情報とによって定義され得る。頂点がどのように接続されているかの情報は接続性情報と呼ばれる。幾つかの例では、メッシュはまた、頂点に関連付けられた色、法線などの属性を含むことができる。
【0021】
本開示の幾つかの態様によれば、点群圧縮(PCC)のための幾つかのコーディングツールが、メッシュ圧縮のために使用され得る。例えば、メッシュを再メッシュ化して、新しいメッシュの接続性情報を推測できる新しいメッシュを生成することができる。新しいメッシュの頂点、及び新しいメッシュの頂点に関連付けられた属性は、点群内の点とみなすことができ、PCCコーデックを使用して圧縮することができる。
【0022】
点群を使用して、点の構成として、オブジェクト又はシーンを再構成することができる。点は、様々な設定において、複数のカメラ、深度センサ、又はLidarを使用して捕捉することができ、再構成されたシーン又はオブジェクトを現実的に表示するために数千から最大数十億の点で構成することができる。パッチは、一般に、点群によって記述される表面の連続したサブセットを指してもよい。一例では、パッチは、閾値量未満で互いにずれた表面法線ベクトルを有する点を含む。
【0023】
PCCは、G-PCCと呼ばれるジオメトリベースの方式、V-PCCと呼ばれるビデオコーディングベースの方式など、様々な方式に従って実行され得る。本開示の幾つかの態様によれば、G-PCCは、3Dジオメトリを直接エンコードし、ビデオコーディングとあまり共通する要素がない純粋にジオメトリベースの手法であり、V-PCCはビデオコーディングに多大に基づいている。例えば、V-PCCは、3Dクラウドの点を2Dグリッド(画像)のピクセルにマッピングすることができる。V-PCC方式は、点群圧縮のために汎用ビデオコーデックを利用することができる。本開示におけるPCCコーデック(エンコーダ/デコーダ)は、G-PCCコーデック(エンコーダ/デコーダ)又はV-PCCコーデックであり得る。
【0024】
本開示の一態様によれば、V-PCC方式は、既存のビデオコーデックを使用して、点群のジオメトリ、占有率、及びテクスチャを3つの別個のビデオシーケンスとして圧縮することができる。3つのビデオシーケンスを解釈するために必要な追加のメタデータは、別々に圧縮される。ビットストリーム全体の小部分はメタデータであり、一例ではソフトウェア実装を使用して効率的にエンコーディング/デコーディングすることができる。情報の大部分はビデオコーデックによって処理される。
【0025】
図1は、幾つかの例における通信システム(100)のブロック図を示す。通信システム(100)は、例えばネットワーク(150)を介して互いに通信可能な複数の端末デバイスを含む。例えば、通信システム(100)は、ネットワーク(150)を介して相互接続された端末デバイス(110)及び(120)の対を含む。図1の例では、端末デバイス(110)及び(120)の第1の対は、点群データの単方向送信を実行することができる。例えば、端末デバイス(110)は、端末デバイス(110)に接続されたセンサ(105)によって捕捉された点群(例えば、構造体を表示する点)を圧縮することができる。圧縮された点群は、例えばビットストリームの形態で、ネットワーク(150)を介して他の端末デバイス(120)に送信され得る。端末デバイス(120)は、ネットワーク(150)から圧縮された点群を受信し、ビットストリームを解凍して点群を再構成し、再構成された点群を適切に表示することができる。単方向データ送信は、メディアサービング用途などにおいて一般的であり得る。
【0026】
図1の例では、端末デバイス(110)及び(120)は、サーバ、及びパーソナルコンピュータとして示される場合があるが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ゲーム端末、メディアプレーヤ、及び/又は専用3次元(3D)機器による用途を見出す。ネットワーク(150)は、端末デバイス(110)と端末デバイス(120)との間で圧縮された点群を送信する任意の数のネットワークを表わす。ネットワーク(150)は、例えば、有線通信(有線)ネットワーク及び/又は無線通信ネットワークを含むことができる。ネットワーク(150)は、回線交換及び/又はパケット交換チャネルでデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、インターネットなどが含まれる。
【0027】
図2は、幾つかの例におけるストリーミングシステム(200)のブロック図を示す。ストリーミングシステム(200)は、点群の適用である。開示された主題は、3Dテレプレゼンスアプリケーション、仮想現実アプリケーションなどの他の点群対応アプリケーションにも等しく適用可能であり得る。
【0028】
ストリーミングシステム(200)は、捕捉サブシステム(213)を含むことができる。捕捉サブシステム(213)は、点群源(201)、例えば光検出と測距(LIDAR)システム、3Dカメラ、3Dスキャナ、例えば非圧縮の点群(202)を生成するソフトウェアにおいて非圧縮の点群を生成するグラフィックス生成構成要素などを含むことができる。一例では、点群(202)は、3Dカメラによって捕捉された点を含む。点群(202)は、圧縮された点群(204)(圧縮された点群のビットストリーム)と比較して高いデータ量を強調するために太線として図示されている。圧縮された点群(204)は、点群源(201)に結合されたエンコーダ(203)を含む電子デバイス(220)によって生成され得る。エンコーダ(203)は、以下でより詳細に説明されるように、開示された主題の態様を可能にするため、又は実装するために、ハードウェア、ソフトウェア、又はそれらの組合せを含むことができる。点群(202)のストリームと比較してより低いデータ量を強調するために細い線として図示されている、圧縮された点群(204)(又は圧縮された点群(204)のビットストリーム)は、将来の使用のためにストリーミングサーバ(205)に記憶され得る。図2のクライアントサブシステム(206)及び(208)などの1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(205)にアクセスして、圧縮された点群(204)のコピー(207)及び(209)を検索することができる。クライアントサブシステム(206)は、例えば電子デバイス(230)内のデコーダ(210)を含むことができる。デコーダ(210)は、圧縮された点群の入力コピー(207)をデコーディングし、レンダリングデバイス(212)上にレンダリングされ得る再構成された点群(211)の出力ストリームを作成する。
【0029】
電子デバイス(220)及び(230)が他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(220)はデコーダ(図示せず)を含むことができ、電子デバイス(230)はエンコーダ(図示せず)も含むことができる。
【0030】
幾つかのストリーミングシステムでは、圧縮された点群(204)、(207)、及び(209)(例えば、圧縮された点群のビットストリーム)は、特定の規格に従って圧縮され得る。幾つかの例では、点群の圧縮にビデオコーディング規格が使用される。このような規格の例は、高効率ビデオコーディング(HEVC)、又はVersatile Video Coding(VVC)などを含む。
【0031】
図3は、幾つかの実施形態による、点群フレームをエンコードするためのV-PCCエンコーダ(300)のブロック図を示す。幾つかの実施形態では、V-PCCエンコーダ(300)は、通信システム(100)及びストリーミングシステム(200)で使用され得る。例えば、エンコーダ(203)は、V-PCCエンコーダ(300)と同様に構成され、動作し得る。
【0032】
V-PCCエンコーダ(300)は、非圧縮入力として点群フレームを受信し、圧縮された点群フレームに対応するビットストリームを生成する。幾つかの実施形態では、V-PCCエンコーダ(300)は、点群源(201)などの点群源から点群フレームを受信してもよい。
【0033】
図3の例では、V-PCCエンコーダ(300)は、パッチ生成モジュール(306)と、パッチパッキングモジュール(308)と、ジオメトリ画像生成モジュール(310)と、テクスチャ画像生成モジュール(312)と、パッチ情報モジュール(304)と、占有マップモジュール(314)と、平滑化モジュール(336)と、画像パディングモジュール(316)及び(318)と、グループ拡張モジュール(320)と、ビデオ圧縮モジュール(322)、(323)及び(332)と、補助パッチ情報圧縮モジュール(338)と、エントロピー圧縮モジュール(334)と、マルチプレクサ(324)とを含む。
【0034】
本開示の一態様によれば、V-PCCエンコーダ(300)は、圧縮された点群を展開された点群に変換するために使用される幾つかのメタデータ(例えば、占有マップ及びパッチ情報)と共に、3D点群フレームを画像ベースの表示に変換する。幾つかの例では、V-PCCエンコーダ(300)は、3D点群フレームをジオメトリ画像、テクスチャ画像及び占有マップに変換し、次いでビデオコーディング技術を使用してジオメトリ画像、テクスチャ画像及び占有マップをビットストリームにエンコーディングすることができる。一般に、ジオメトリ画像は、ピクセルに投影される点に関連付けられたジオメトリ値で満たされたピクセルを有する2D画像であり、ジオメトリ値で満たされたピクセルは、ジオメトリサンプルと呼ばれ得る。テクスチャ画像は、ピクセルに投影される点に関連付けられたテクスチャ値で満たされたピクセルを有する2D画像であり、テクスチャ値で満たされたピクセルは、テクスチャサンプルと呼ばれ得る。占有マップは、パッチによって占有されているか、又は占有されていないかを示す値で満たされたピクセルを有する2D画像である。
【0035】
パッチ生成モジュール(306)は、各パッチが2D空間の平面に対する深度場によって記述され得るように、点群を、重なり合っていてもいなくてもよいパッチのセット(例えば、パッチは、点群によって記述される表面の連続したサブセットとして定義される)にセグメント化する。幾つかの実施形態では、パッチ生成モジュール(306)は、再構成エラーを最小化しながら、点群を平滑な境界を有する最小数のパッチに分解することを目的とする。
【0036】
幾つかの例では、パッチ情報モジュール(304)は、パッチのサイズ及び形状を示すパッチ情報を収集することができる。幾つかの例では、パッチ情報は画像フレームにパッキングされ、その後補助パッチ情報圧縮モジュール(338)によってエンコードされて、圧縮された補助パッチ情報を生成することができる。
【0037】
幾つかの例では、パッチパッキングモジュール(308)は、抽出されたパッチを2次元(2D)グリッド上にマッピングする一方で、未使用スペースを最小限に抑え、グリッドのM×M(例えば、16×16)個のブロックごとに固有のパッチが関連付けられることを保証するように構成される。効率的なパッチパッキングは、未使用の空間を最小化するか、又は時間的一貫性を保証するかのいずれかによって、圧縮効率に直接影響を与える可能性がある。
【0038】
ジオメトリ画像生成モジュール(310)は、所与のパッチ位置における点群のジオメトリに関連付けられた2Dジオメトリ画像を生成することができる。テクスチャ画像生成モジュール(312)は、所与のパッチ位置における点群のテクスチャと関連付けられた2Dテクスチャ画像を生成することができる。ジオメトリ画像生成モジュール(310)及びテクスチャ画像生成モジュール(312)は、パッキングプロセス中に計算された3Dから2Dへのマッピングを利用して、点群のジオメトリ及びテクスチャを画像として記憶する。複数の点が同じサンプルに投影される場合をより良好に処理するために、各パッチは、層と呼ばれる2つの画像に投影される。一例では、ジオメトリ画像は、YUV420-8ビットフォーマットのWxHの単色フレームによって表示される。テクスチャ画像を生成するために、テクスチャ生成手順は、再サンプリングされた点に関連付けられる色を計算するために、再構成/平滑化されたジオメトリを利用する。
【0039】
占有マップモジュール(314)は、各ユニットでパディング情報を記述する占有マップを生成することができる。例えば、占有画像は、グリッドの各セルについて、セルが空きスペースに属するか点群に属するかを示すバイナリマップを含む。一例では、占有マップは、各ピクセルについて、ピクセルがパディングされているかどうかを記述するバイナリ情報を使用する。他の例では、占有マップは、ピクセルの各ブロックについて、ピクセルのブロックがパディングされているか否かを記述するバイナリ情報を使用する。
【0040】
占有マップモジュール(314)によって生成された占有マップは、可逆コーディング又は非可逆コーディングを使用して圧縮され得る。可逆コーディングが使用されるとき、エントロピー圧縮モジュール(334)は、占有マップを圧縮するために使用される。非可逆コーディングが使用されるとき、ビデオ圧縮モジュール(332)は、占有マップを圧縮するために使用される。
【0041】
パッチパッキングモジュール(308)は、画像フレーム内にパッキングされた2Dパッチどうしの間に幾つかの空きスペースを残してもよいことに留意されたい。画像パディングモジュール(316)及び(318)は、2Dビデオ及び画像コーデックに適し得る画像フレームを生成するために、空きスペースを埋める(パディングと呼ばれる)ことができる。画像パディングは、未使用の空間を冗長な情報で埋めることができる背景充填とも呼ばれる。幾つかの例では、良好な背景充填はビットレートを最小限に増加させるが、パッチ境界の周りに著しいコーディング歪みを導入しない。
【0042】
ビデオ圧縮モジュール(322)、(323)、及び(332)は、HEVC、VVCなどの適切なビデオコーディング規格に基づいて、パディングされたジオメトリ画像、パディングされたテクスチャ画像、及び占有マップなどの2D画像をエンコードすることができる。一例では、ビデオ圧縮モジュール(322)、(323)、及び(332)は、別々に動作する個々の構成要素である。他の例では、ビデオ圧縮モジュール(322)、(323)、及び(332)は単一の構成要素として実装され得ることに留意されたい。
【0043】
幾つかの例では、平滑化モジュール(336)は、再構成されたジオメトリ画像の平滑化された画像を生成するように構成される。平滑化された画像は、テクスチャ画像生成(312)に提供され得る。次に、テクスチャ画像生成(312)は、再構成されたジオメトリ画像に基づいてテクスチャ画像の生成を調整することができる。例えば、エンコーディング及びデコーディングの際にパッチ形状(例えば、ジオメトリ)に多少の歪みがある場合、その歪みはテクスチャ画像を生成する際に考慮されて、パッチ形状の歪みを補正してもよい。
【0044】
幾つかの実施形態では、グループ拡張(320)は、コーディング利得、並びに再構成された点群の視覚的品質を改善するために、冗長な低周波数コンテンツでオブジェクト境界の周りにピクセルをパディングするように構成される。
【0045】
マルチプレクサ(324)は、圧縮されたジオメトリ画像、圧縮されたテクスチャ画像、圧縮された占有マップ、及び圧縮された補助パッチ情報を、圧縮されたビットストリームに多重化することができる。
【0046】
図4は、幾つかの例において、点群フレームに対応する圧縮ビットストリームをデコーディングするためのV-PCCデコーダ(400)のブロック図を示す。幾つかの例では、V-PCCデコーダ(400)は、通信システム(100)及びストリーミングシステム(200)で使用することができる。例えば、デコーダ(210)は、V-PCCデコーダ(400)と同様に動作するように構成され得る。V-PCCデコーダ(400)は、圧縮されたビットストリームを受信し、圧縮されたビットストリームに基づいて、再構成された点群を生成する。
【0047】
図4の例では、V-PCCデコーダ(400)は、デマルチプレクサ(432)と、ビデオ解凍モジュール(434)及び(436)と、占有マップ解凍モジュール(438)と、補助パッチ情報解凍モジュール(442)と、ジオメトリ再構成モジュール(444)と、平滑化モジュール(446)と、テクスチャ再構成モジュール(448)と、色平滑化モジュール(452)とを含む。
【0048】
デマルチプレクサ(432)は、圧縮されたビットストリームを受信し、圧縮されたテクスチャ画像、圧縮されたジオメトリ画像、圧縮された占有マップ、及び圧縮された補助パッチ情報に分離することができる。
【0049】
ビデオ解凍モジュール(434)及び(436)は、適切な規格(例えば、HEVC、VVCなど)に従って圧縮された画像をデコーディングし、解凍された画像を出力することができる。例えば、ビデオ解凍モジュール(434)は、圧縮されたテクスチャ画像をデコーディングして解凍されたテクスチャ画像を出力し、ビデオ解凍モジュール(436)は、圧縮されたジオメトリ画像をデコーディングして解凍されたジオメトリ画像を出力する。
【0050】
占有マップ解凍モジュール(438)は、適切な規格(例えば、HEVC、VVCなど)に従って圧縮された占有マップをデコーディングし、解凍された占有マップを出力することができる。
【0051】
補助パッチ情報解凍モジュール(442)は、適切な規格(例えば、HEVC、VVCなど)に従って圧縮された補助パッチ情報をデコーディングし、解凍された補助パッチ情報を出力することができる。
【0052】
ジオメトリ再構成モジュール(444)は、解凍されたジオメトリ画像を受信し、解凍された占有マップ及び解凍された補助パッチ情報に基づいて、再構成された点群ジオメトリを生成することができる。
【0053】
平滑化モジュール(446)は、パッチのエッジにおける不一致を平滑化することができる。平滑化手順は、圧縮アーチファクトに起因してパッチ境界で生じる可能性がある潜在的な不連続性を緩和することを目的とする。幾つかの実施形態では、圧縮/解凍によって引き起こされる可能性がある歪みを緩和するために、パッチ境界上に位置するピクセルに平滑化フィルタが適用され得る。
【0054】
テクスチャ再構成モジュール(448)は、解凍されたテクスチャ画像及び平滑化ジオメトリに基づいて、点群内の点のテクスチャ情報を決定することができる。
【0055】
色平滑化モジュール(452)は、カラーリングの不一致を平滑化することができる。3D空間内の隣接していないパッチは、2Dビデオ内で互いに隣接してパッキングされることが多い。幾つかの例では、隣接していないパッチからのピクセル値は、ブロックベースのビデオコーデックによって混合される場合がある。色平滑化の目的は、パッチ境界に現れる可視アーチファクトを削減することである。
【0056】
図5は、幾つかの例におけるビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、V-PCCデコーダ(400)で使用され得る。例えば、ビデオ解凍モジュール(434)及び(436)、占有マップ解凍モジュール(438)は、ビデオデコーダ(510)と同様に構成され得る。
【0057】
ビデオデコーダ(510)は、例えばコードされたビデオシーケンスのような、圧縮された画像からシンボル(521)を再構成するためのパーサ(520)を含み得る。これらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報を含む。パーサ(520)は、受信されたコードされたビデオシーケンスを解析/エントロピーデコーディングし得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、コンテキスト依存性あり又はなしの可変長コーディング、ハフマンコーディング、算術コーディングなどを含む様々な原理に従うことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、コーディングされたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出し得る。サブグループは、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。更に、パーサ(520)は、コーティングされたビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトル、などの情報を抽出することができる。
【0058】
パーサ(520)は、シンボル(521)を作成するために、バッファメモリから受信されたビデオシーケンスに対してエントロピーデコーディング/解析動作を実行することができる。
【0059】
シンボル(521)の再構成は、(ピクチャ間及びピクチャ内、ブロック間及びブロック内、などの)コーティングされたビデオピクチャ又はその一部分のタイプ並びに他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットがどのように関与するかは、パーサ(520)によってコーディングされたビデオシーケンスから構文解析されたサブグループ制御情報によって制御されることが可能である。パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、分かりやすくするために描写されていない。
【0060】
すでに述べられた機能ブロック以外に、ビデオデコーダ(510)は、以下に記載されるように、概念的に幾つかの機能ユニットに細分化されてよい。商業的制約の下で動作する実際の実装形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的に互いに統合されることが可能である。しかしながら、開示される主題を説明する目的のために、以下の機能ユニットへの概念的細分が適切である。
【0061】
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化された変換係数、並びにどの変換を使用するか、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報を、パーサ(520)から(1つ以上の)シンボル(521)として受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力することができるサンプル値を含むブロックを出力することができる。
【0062】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラコーティングされたブロック、すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在ピクチャの以前に再構成された部分からの予測情報を使用することができるブロックに関連する可能性がある。そのような予測情報は、イントラピクチャ予測ユニット(552)によって提供され得る。場合によっては、イントラピクチャ予測ユニット(552)は、現在のピクチャバッファ(558)からフェッチされた周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在のピクチャバッファ(558)は、例えば、部分的に再構成された現在のピクチャ及び/又は完全に再構成された現在のピクチャをバッファする。アグリゲータ(555)は、場合によっては、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加する。
【0063】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされ、潜在的に動き補償されたブロックに関連する可能性がある。そのような場合、動き補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関係するシンボル(521)に従ってフェッチされたサンプルを動き補償した後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(555)によってスケーラ/逆変換ユニット(551)の出力に追加されることが可能である(この場合、残差サンプル又は残差信号と呼ばれる)。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えば、X、Y、及び参照ピクチャ成分を有することができるシンボル(521)の形式で動き補償予測ユニット(553)に利用可能な動きベクトルによって制御されることが可能である。更に、動き補償は、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされたサンプル値の補間、動きベクトル予測機構、などを含むことができる。
【0064】
アグリゲータ(555)の出力サンプルを、ループフィルタユニット(556)において様々なループフィルタリング技法の対象にすることができる。ビデオ圧縮技術は、(コーティングされたビデオビットストリームとも呼ばれる)コーティングされたビデオシーケンスに含まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるインループフィルタ技術を含むことができるが、コーティングされたピクチャ又はコーティングされたビデオシーケンスの(デコーディングの順序における)先行の部分のデコーディングの最中に取得されたメタ情報、並びに以前に再構成及びループフィルタリングされたサンプル値に応答することもできる。
【0065】
ループフィルタユニット(556)の出力は、レンダリングデバイスに出力され得るほか、将来のピクチャ間予測で使用するために参照ピクチャメモリ(557)にも記憶され得るサンプルストリームであってもよい。
【0066】
特定のコーティングされたピクチャは、ひとたび完全に再構成されると、将来の予測のための参照ピクチャとして使用され得る。例えば、ひとたび現在ピクチャに対応するコーティングされたピクチャが完全に再構成され、コーティングされたピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部になることができ、未使用の現在ピクチャバッファを、次のコーティングされたピクチャの再構成を開始する前に再割当てすることができる。
【0067】
ビデオデコーダ(510)は、ITU-TRec.H.265などの規格における所定のビデオ圧縮技術に従ってデコーディング動作を実行し得る。コーティングされたビデオシーケンスがビデオ圧縮技術又は規格のシンタックスとビデオ圧縮技術において文書化されたプロファイルの両方を順守するという意味で、コーティングされたビデオシーケンスは、使用されているビデオ圧縮技術又は規格によって指定されたシンタックスに準拠することができる。具体的には、プロファイルは、ビデオ圧縮技術又は規格において利用可能な全てのツールの中から、特定のツールを、そのプロファイル下でそれらだけが利用可能なツールとして選択することができる。また、コンプライアンスのために必要なのは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルによって定義された範囲内にあることであり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、(例えば、毎秒メガサンプル単位で測定された)最大再構成サンプルレート、最大参照ピクチャサイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(HRD:Hypothetical Reference Decoder)仕様及びコーティングされたビデオシーケンスでシグナリングされたHRDバッファ管理のためのメタデータによって更に制限され得る。
【0068】
図6は、本開示の一実施形態に係るビデオエンコーダ(603)のブロック図を示している。ビデオエンコーダ(603)は、点群を圧縮するV-PCCエンコーダ(300)において使用され得る。一例では、ビデオ圧縮モジュール(322)及び(323)と、ビデオ圧縮モジュール(332)とは、エンコーダ(603)と同様に構成される。
【0069】
ビデオエンコーダ(603)は、パディングされたジオメトリ画像、パディングされたテクスチャ画像などの画像を受信し、圧縮された画像を生成してもよい。
【0070】
一実施形態によれば、ビデオエンコーダ(603)は、リアルタイムで、又はアプリケーションによって必要とされる他の任意の時間制約の下で、ソースビデオシーケンスのピクチャ(画像)をコードし、コードされたビデオシーケンス(圧縮された画像)に圧縮することができる。適切なコーディング速度を強制することが、コントローラ(650)の1つの機能である。幾つかの実施形態では、コントローラ(650)は、以下で説明される他の機能ユニットを制御し、それらの他の機能ユニットに機能的に結合されている。この結合は明確にするために描かれていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大動きベクトル探索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関係する他の適切な機能を有するように構成することができる。
【0071】
幾つかの実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。過度に簡略化された説明として、一例では、コーディングループは、ソースコーダ(630)(例えば、コーディングされるべき入力ピクチャと、(1つ以上の)参照ピクチャとに基づいて、シンボルストリームなどのシンボルを作成する役割を担う)と、ビデオエンコーダ(603)に組み込まれた(ローカル)デコーダ(633)とを含むことができる。(開示の主題で考慮されるビデオ圧縮技術においてはシンボルとコーディングされたビデオビットストリームとの間のいかなる圧縮も可逆であるため)デコーダ(633)は、(リモート)デコーダも作成することになるのと同様のやり方で、シンボルを再構成してサンプルデータを作成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームのデコーディングは、デコーダの位置(ローカル又はリモート)に関係なくビットイグザクトな結果をもたらすため、参照ピクチャメモリ(634)の内容も、ローカルエンコーダとリモートエンコーダとの間でビットイグザクトである。言い換えれば、エンコーダの予測部分は、デコーディング中に予測を使用するときにデコーダが「見る」ことになるのと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(及び、例えばチャネル誤差が原因で同期性を維持することができない場合には、結果として生じるドリフト)のこの基本原理は、幾つかの関連技術においても使用される。
【0072】
「ローカル」デコーダ(633)の動作は、図5と併せて上記で詳細にすでに説明されている、ビデオデコーダ(510)などの「リモート」デコーダの動作と同じであり得る。しかしながら、図5も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)及びパーサ(520)によるコードされたビデオシーケンスへのシンボルのエンコーディング/デコーディングは可逆的であり得るため、パーサ(520)を含む、ビデオデコーダ(510)のエントロピーデコーディング部分は、ローカルデコーダ(633)に十分実装されない場合がある。
【0073】
幾つかの例では、動作中、ソースコーダ(630)は、「参照画像」として指定されたビデオシーケンスからの1つ以上の以前にコードされたピクチャを参照して入力ピクチャを予測的にコードする動き補償予測コーディングを実行し得る。このようにして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャへの予測参照として選択され得る参照ピクチャのピクセルブロックとの間の差をコーティングする。
【0074】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーティングされたビデオデータをデコーディングすることができる。コーディングエンジン(632)の動作は、好適には、非可逆プロセスであってもよい。コーディングされたビデオデータが(図6には示されていない)ビデオデコーダでデコーディングされ得るとき、再構成されたビデオシーケンスは、一般に、幾つかの誤差を伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって実行され得るデコーディングプロセスを複製し、再構成された参照ピクチャを参照ピクチャキャッシュ(634)に格納させてもよい。このようにして、ビデオエンコーダ(603)は、遠端ビデオデコーダによって取得されることになる再構成された参照画像として共通のコンテンツを有する再構成された参照画像のコピーをローカルに格納することができる(伝送エラーなし)。
【0075】
予測器(635)は、コーディングエンジン(632)の予測検索を実行することができる。すなわち、コーディングされる新しいピクチャの場合、予測器(635)は、新しい画素のための適切な予測参照として役立つことができる、(候補参照画素ブロックとしての)サンプルデータ又は参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを求めて、参照ピクチャメモリ(634)を検索することができる。予測器(635)は、適切な予測参照を見つけるために、画素ブロックごとにサンプルブロックに対して動作することができる。場合によっては、予測器(635)によって取得された検索結果によって決定されるように、入力画像は、参照ピクチャメモリ(634)に格納された複数の参照ピクチャから描画された予測参照を有することができる。
【0076】
コントローラ(650)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理することができる。
【0077】
前述の全ての機能ユニットの出力は、エントロピーコーダ(645)においてエントロピーコーティングを受けることができる。エントロピーコーダ(645)は、ハフマンコーティング、可変長コーティング、算術コーティングなどの技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルをコーティングされたビデオシーケンスに変換する。
【0078】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理し得る。コーディング中、コントローラ(650)は、各コーディングされたピクチャに特定のコーディングされたピクチャタイプを割り当てることができ、これは、それぞれのピクチャに適用され得るコーディング技法に影響を及ぼす場合がある。例えば、ピクチャは多くの場合、次のピクチャタイプのいずれかとして割り当てられ得る。
【0079】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のピクチャを使用せずにコーディング及びデコーディングされ得るものであり得る。幾つかのビデオコーデックは、例えば、独立デコーダリフレッシュ(「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを可能にする。当業者は、Iピクチャのそれらの変形及びそれらのそれぞれの用途及び特徴を知っている。
【0080】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を使用して、コーディング及びデコーディングされ得るピクチャであり得る。
【0081】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を使用して、コーディング及びデコーディングされ得るピクチャであり得る。同様に、複数予測ピクチャは、単一ブロックの再構成のために3つ以上の参照ピクチャ及び関連するメタデータを使用することができる。
【0082】
ソースピクチャは、通常、空間的に複数のサンプルブロック(例えば、それぞれ4x4、8x8、4x8、又は16x16サンプルのブロック)に分割され、ブロックごとにコーディングされる。ブロックは、ブロックのそれぞれのピクチャに適用されたコーディング割り当てによって決定される他の(すでにコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコーディングされ得るか、又は、同じピクチャのすでにコーディングされたブロックを参照して予測的にコーディングされ得る(空間予測又はイントラ予測)。Pピクチャの画素ブロックは、1つの以前にコーディングされた参照ピクチャを参照して、空間予測を介して、又は時間予測を介して、予測的にコーディングされてもよい。Bピクチャのブロックは、空間的予測を介して、又は以前にコーディングされた1つ又は2つの参照ピクチャを参照する時間的予測を介して、予測的にコーディングされ得る。
【0083】
ビデオエンコーダ(603)は、ITU-T勧告H.265などの所定のビデオコーディング技術又は規格に従ってコーディング動作を実行し得る。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間及び空間の冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実行することができる。したがって、コーティングされたビデオデータは、使用されているビデオコーディング技術又は標準規格によって指定されたシンタックスに準拠し得る。
【0084】
ビデオは、時系列における複数のソースピクチャ(画像)の形態であってもよい。イントラピクチャ予測(しばしばイントラ予測と略される)は、所与のピクチャにおける空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、現在のピクチャと呼ばれる、エンコーディング/デコーディング中の特定のピクチャがブロックに分割される。現在のピクチャ内のブロックが、ビデオ内の以前にコーディングされた、まだバッファされている参照ピクチャ内の参照ブロックに類似しているとき、現在のピクチャ内のブロックは、動きベクトルと呼ばれるベクトルによってコーディングされることが可能である。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有することができる。
【0085】
幾つかの実施形態では、インターピクチャ予測において双予測技法を使用することができる。双予測技術によれば、第1の参照ピクチャ及び第2の参照ピクチャなどの2つの参照ピクチャが使用され、これらは両方ともビデオ内の現在のピクチャのデコーディング順より前にある(しかし、表示順序は、それぞれ過去及び未来のものであってもよい)。現在のピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指し示す第1の動きベクトル、及び第2の参照ピクチャ内の第2の参照ブロックを指し示す第2の動きベクトルによってコーディングされ得る。ブロックは、第1の参照ブロックと第2の参照ブロックの組合せによって予測することができる。
【0086】
更に、コーディング効率を改善するために、インターピクチャ予測においてマージモード技法を使用することができる。
【0087】
本開示の幾つかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測などの予測は、ブロックの単位で実行される。例えば、HEVC規格によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、16×16ピクセルなどの同じサイズを有する。一般に、CTUは3つのコーディングツリーブロック(CTB)を含み、それらは1つのルマCTB及び2つのクロマCTBである。各CTUは、1つ以上のコーディングユニット(CU)に再帰的に四分木分割されることが可能である。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCUに、又は32×32ピクセルの4つのCUに、又は16×16ピクセルの16個のCUに分割されることが可能である。一例では、各CUが、インター予測タイプやイントラ予測タイプなどのCUの予測タイプを決定するために解析される。CUは、時間的予測可能性及び/又は空間的予測可能性に応じて、1つ以上の予測ユニット(PU)に分割される。一般に、各PUは、1つのルマ予測ブロック(PB)及び2つのクロマPBを含む。一実施形態では、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で実行される。予測ブロックの一例として輝度予測ブロックを使用すると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセルなどのピクセルの値(例えば、輝度値)の行列を含む。
【0088】
図7は、幾つかの例におけるG-PCCエンコーダ(700)のブロック図を示す。G-PCCエンコーダ(700)は、点群データを受信し、点群データを圧縮して、圧縮された点群データを搬送するビットストリームを生成するように構成することができる。一実施形態では、G-PCCエンコーダ(700)は、位置量子化モジュール(710)、重複点除去モジュール(712)、八分木エンコーディングモジュール(730)、属性転送モジュール(720)、詳細レベル(LOD)生成モジュール(740)、属性予測モジュール(750)、残差量子化モジュール(760)、算術コーディングモジュール(770)、逆残差量子化モジュール(780)、加算モジュール(781)、及び再構成された属性値を格納するためのメモリ(790)を含むことができる。
【0089】
図示のように、入力点群(701)は、G-PCCエンコーダ(700)で、受信され得る。点群(701)の位置(例えば、3D座標)が量子化モジュール(710)に提供される。量子化モジュール(710)は、座標を量子化して量子化された位置を生成するように構成される。重複点除去モジュール(712)は、量子化された位置を受信し、フィルタプロセスを実行して重複点を識別及び除去するように構成される。八分木エンコーディングモジュール(730)は、重複点除去モジュール(712)からフィルタリングされた位置を受信し、八分木ベースのエンコーディングプロセスを実行して、ボクセルの3Dグリッドを記述する占有コードのシーケンスを生成するように構成される。占有コードは算術コーディングモジュール(770)に提供される。
【0090】
属性転送モジュール(720)は、入力点群の属性を受信し、複数の属性値がそれぞれのボクセルに関連付けられているときに、各ボクセルの属性値を決定するための属性転送プロセスを実行するように構成される。属性転送プロセスは、八分木エンコーディングモジュール(730)から出力された並べ替えられた点に対して実行され得る。転送動作後の属性は、属性予測モジュール(750)に提供される。LOD生成モジュール(740)は、八分木エンコーディングモジュール(730)から出力された並べ替えられた点に対して動作し、点を異なるLODに再編成するように構成される。LOD情報は属性予測モジュール(750)に供給される。
【0091】
属性予測モジュール(750)は、LOD生成モジュール(740)からのLOD情報によって示されるLODベースの順序に従って点を処理する。属性予測モジュール(750)は、メモリ(790)に記憶された現在点の隣接点のセットの再構成された属性に基づいて、現在点の属性予測を生成する。続いて、属性転送モジュール(720)から受信された元の属性値及びローカルに生成された属性予測に基づいて、予測残差が取得され得る。候補インデックスがそれぞれの属性予測プロセスで使用されるとき、選択された予測候補に対応するインデックスが算術コーディングモジュール(770)に提供され得る。
【0092】
残差量子化モジュール(760)は、属性予測モジュール(750)から予測残差を受信し、量子化を実行して量子化された残差を生成するように構成される。量子化された残差は算術コーディングモジュール(770)に提供される。
【0093】
逆残差量子化モジュール(780)は、残差量子化モジュール(760)から量子化された残差を受信し、残差量子化モジュール(760)で実行された量子化演算の逆を実行することによって再構成された予測残差を生成するように構成される。加算モジュール(781)は、逆残差量子化モジュール(780)からの再構成された予測残差、及び属性予測モジュール(750)からのそれぞれの属性予測を受信するように構成される。再構成された予測残差と属性予測とを組み合わせることによって、再構成された属性値が生成され、メモリ(790)に記憶される。
【0094】
算術コーディングモジュール(770)は、占有コード、候補インデックス(使用される場合)、量子化された残差(生成される場合)、及び他の情報を受信し、受信された値又は情報を更に圧縮するためにエントロピーエンコーディングを実行するように構成される。これにより、圧縮された情報を搬送する圧縮されたビットストリーム(702)が生成され得る。ビットストリーム(702)は、圧縮されたビットストリームをデコーディングするデコーダに送信されるか、又は提供されてもよく、又は記憶デバイスに記憶されてもよい。
【0095】
図8は、一実施形態に係るG-PCCデコーダ(800)のブロック図を示す。G-PCCデコーダ(800)は、圧縮されたビットストリームを受信し、点群データ展開を実行してビットストリームを展開し、デコードされた点群データを生成するように構成され得る。一実施形態では、G-PCCデコーダ(800)は、算術デコーディングモジュール(810)、逆残差量子化モジュール(820)、八分木デコーディングモジュール(830)、LOD生成モジュール(840)、属性予測モジュール(850)、及び再構成された属性値を格納するためのメモリ(860)を含むことができる。
【0096】
図示されるように、圧縮されたビットストリーム(801)は、算術デコーディングモジュール(810)で受信され得る。算術デコーディングモジュール(810)は、圧縮されたビットストリーム(801)をデコーディングして、量子化された残差(生成された場合)及び点群の占有コードを取得するように構成される。八分木デコーディングモジュール(830)は、占有コードに従って点群の点の再構成された位置を決定するように構成される。LOD生成モジュール(840)は、再構成された位置に基づいて点を異なるLODに再編成し、LODベースの順序を決定するように構成される。逆残差量子化モジュール(820)は、算術デコーディングモジュール(810)から受信された量子化された残差に基づいて再構成された残差を生成するように構成される。
【0097】
属性予測モジュール(850)は、LODベースの順序に従って点の属性予測を決定するための属性予測プロセスを実行するように構成される。例えば、現在点の属性予測は、メモリ(860)に記憶された現在点の隣接点の再構成された属性値に基づいて決定され得る。幾つかの例では、属性予測はそれぞれの再構成された残差と組み合わされて、現在点の再構成された属性を生成することができる。
【0098】
属性予測モジュール(850)から生成された再構成された属性のシーケンスは、八分木デコーディングモジュール(830)から生成された再構成された位置と共に、一例では、G-PCCデコーダ(800)から出力されるデコーディングされた点群(802)に対応する。加えて、再構成された属性もメモリ(860)に記憶され、その後の点の属性予測を導出するためにその後使用され得る。
【0099】
様々な実施形態において、エンコーダ(300)、デコーダ(400)、エンコーダ(700)、及び/又はデコーダ(800)は、ハードウェア、ソフトウェア、又はそれらの組合せで実装され得る。例えば、エンコーダ(300)、デコーダ(400)、エンコーダ(700)、及び/又はデコーダ(800)は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などの、ソフトウェアを用いても、用いなくても動作する1つ以上の集積回路(IC)などの処理回路を用いて実装され得る。他の例では、エンコーダ(300)、デコーダ(400)、エンコーダ(700)、及び/又はデコーダ(800)は、不揮発性(又は非一時的)コンピュータ可読記憶媒体に記憶された命令を含むソフトウェア又はファームウェアとして実装され得る。命令は、1つ以上のプロセッサなどの処理回路によって実行されると、処理回路に、エンコーダ(300)、デコーダ(400)、エンコーダ(700)、及び/又はデコーダ(800)の機能を実行させる。
【0100】
本明細書で開示される属性予測技術を実装するように構成された属性予測モジュール(750)及び(850)は、図7及び図8に示されたものと同様又は異なる構造を有し得る他のデコーダ又はエンコーダに含まれ得ることに留意されたい。加えて、エンコーダ(700)及びデコーダ(800)は、同じデバイス、又は様々な例では別個のデバイスに含まれ得る。
【0101】
本開示の幾つかの態様によれば、メッシュ圧縮は、PCCコーディングツールとは異なるコーディングツールを使用することができ、又は上記PCC(例えば、G-PCC、V-PCC)エンコーダ、上記PCC(例えば、G-PCC、V-PCC)デコーダなどのPCCコーディングツールを使用することができる。
【0102】
オブジェクトのメッシュ(メッシュモデル、メッシュフレームとも呼ばれる)は、オブジェクトの表面を記述する多角形を含むことができる。各多角形は、3D空間内の多角形の頂点と、頂点を多角形に接続するエッジとによって画定され得る。頂点がどのように接続されているかの情報(例えば、エッジの情報)を接続情報と呼ぶ。幾つかの例において、オブジェクトのメッシュは、オブジェクトの表面を記述する接続された三角形によって形成される。エッジを共有する2つの三角形は、2つの接続された三角形と呼ばれる。幾つかの他の例において、オブジェクトのメッシュは、接続された四辺形によって形成される。エッジを共有する2つの四辺形は、2つの接続された四辺形と呼ぶことができる。メッシュが他の適切な多角形によって形成され得ることに留意されたい。
【0103】
幾つかの例では、メッシュはまた、頂点に関連付けられた色、法線などの属性を含むことができる。属性は、メッシュを2D属性マップでパラメータ化するマッピング情報を利用することによって、メッシュの表面に関連付けることができる。マッピング情報は、通常、メッシュ頂点に関連付けられたUV座標又はテクスチャ座標と呼ばれる、パラメトリック座標のセットによって記述される。2D属性マップ(幾つかの例ではテクスチャマップと呼ばれる)は、テクスチャ、法線、変位などの高解像度属性情報を記憶するために使用される。そのような情報は、テクスチャマッピング及びシェーディングなどの様々な目的に使用され得る。
【0104】
幾つかの実施形態では、メッシュは、ジオメトリ情報、接続性情報、マッピング情報、頂点属性、及び属性マップと呼ばれる成分を含むことができる。幾つかの例では、ジオメトリ情報は、メッシュの頂点に関連付けられた3D位置のセットによって記述される。一例において、(x、y、z)座標は、使用して頂点の3D位置を記述することができ、3D座標とも呼ばれる。幾つかの例では、接続性情報は、3D表面を作成するために頂点をどのように接続するかを記述する頂点インデックスのセットを含む。幾つかの例では、マッピング情報は、メッシュ表面を平面の2D領域にマッピングする方法を記述する。一例では、マッピング情報は、接続性情報と共にメッシュ頂点に関連付けられたUVパラメトリック/テクスチャ座標(u,v)のセットによって記述される。幾つかの例では、頂点属性は、メッシュ頂点に関連付けられたスカラー又はベクトル属性値を含む。幾つかの例では、属性マップは、メッシュ表面に関連付けられ、2D画像/ビデオとして記憶される属性を含む。一例では、ビデオ(例えば、2D画像/ビデオ)とメッシュ表面との間のマッピングは、マッピング情報によって定義される。
【0105】
本開示の一態様によれば、UVマッピング又はメッシュパラメータ化と呼ばれる幾つかの技術が、3Dドメイン内のメッシュの表面を2Dドメインにマッピングするために使用される。幾つかの例では、メッシュは3Dドメインでパッチに分割される。パッチは、境界が境界エッジから形成されるメッシュの連続したサブセットである。パッチの境界エッジは、パッチの1つの多角形のみに属するとともにパッチ内の2つの隣接する多角形によって共有されないエッジである。幾つかの例では、パッチ内の境界エッジの頂点をパッチの境界頂点と呼び、パッチ内の非境界頂点をパッチの内部頂点と呼ぶことができる。
【0106】
幾つかの例では、オブジェクトのメッシュが接続された三角形によって形成され、メッシュはパッチに分割することができ、各パッチは接続された三角形のサブセットである。パッチの境界エッジは、パッチ内の1つの三角形のみに属し、パッチ内の隣接する三角形によって共有されないエッジである。幾つかの例では、パッチ内の境界エッジの頂点をパッチの境界頂点と呼び、パッチ内の非境界頂点をパッチの内部頂点と呼ぶことができる。境界ループは一連の境界頂点を含み、一連の境界頂点によって形成される境界エッジは、境界ループと呼ばれるループを形成することができる。
【0107】
境界ループ検出は、再メッシュ化、メッシュ圧縮、メッシュ変形、メッシュ位置合わせなどのメッシュ処理に多くの用途を有する。幾つかの関連する例では、マニホールドメッシュのみで境界ループを検出するアルゴリズムが開発される。本開示の幾つかの態様は、非マニホールドメッシュ内の境界ループを検出する技術を提供する。
【0108】
本開示の幾つかの態様は、境界ループに影響を与えることなく非マニホールドメッシュをマニホールドメッシュに変換する技術を提供する。したがって、マニホールドメッシュ内の境界ループを検出するために開発されるアルゴリズムを使用して、変換されたマニホールドメッシュ内の境界ループを検出することができる。
【0109】
配向可能な単体2複合メッシュは、0-単体(点)、1-単体(線分)、及び2-単体(三角形)で構成されるメッシュを指す。なお、以下の説明では、非マニホールドメッシュ内の境界ループを検出するための技術を示すために配向可能な単体2-複合メッシュが使用されるが、この技術は、単体n-複合体(n>2)及び/又は単体複合体ではないメッシュをカバーするように適切に拡張することができる。
【0110】
幾つかの例において、オブジェクトのメッシュは、頂点、エッジ、及び面(幾つかの例では多角形とも呼ばれる)の3つのメッシュ要素を含むことができる。幾つかの例において、メッシュは、各エッジが1つ又は2つの面のみに入射し且つ頂点に入射する面が閉じたファン又は開いたファンを形成するときにマニホールドメッシュ(マニホールドタイプメッシュとも呼ばれる)である。幾つかの例において、メッシュは、メッシュが開放ディスク又は半ディスクに対して同相である近傍を有さない幾つかの点を含むときに非マニホールドメッシュ(非マニホールドタイプメッシュとも呼ばれる)であり、開放ディスク又は半ディスクに対して同相である近傍を有しない点は特異点と呼ばれる。特異点を含む頂点は特異な頂点と呼ばれ、特異点を含むエッジは特異なエッジと呼ばれる。特異点を有さない頂点を正規頂点と呼ぶ。特異点を有さないエッジを正規エッジと呼ぶ。
【0111】
幾つかの例において、メッシュ内の頂点は、内部頂点と境界頂点とに分類することができる。幾つかの例において、境界エッジは、メッシュの2つの面に入射しないエッジである。例えば、境界エッジは、メッシュの1つの多角形のみに属するエッジである。幾つかの例において、境界頂点は、境界エッジに入射する頂点として定義される。例えば、境界エッジの頂点を境界頂点と呼ぶ。いかなる境界エッジにも入射しない頂点は、メッシュの内部頂点と呼ばれる。
【0112】
本開示の一態様によれば、単体2-複合メッシュの場合、内部頂点は全て正規頂点であり、境界頂点を検査して特異な頂点を識別することができる。境界頂点の場合、nfは入射面の数を表わし、neは入射エッジの数を表わす。式(1)で表わされるように、neがnfよりも1大きい場合、
ne=nf+1 式(1)
境界頂点は正規頂点であり、そうでなければ境界頂点は特異な頂点である。
【0113】
図9は、一例におけるメッシュ(900)を示す。メッシュ(900)は、単体2複合メッシュであり、頂点v1~v10を含む。頂点v1は、内部頂点であり、したがって正規頂点である。頂点v2,v4-v10は、境界頂点であり、それぞれ式(1)を満たし、正規頂点である。例えば、頂点v2は、2つの入射面及び3つの入射エッジを有し、頂点v4は、2つの入射面及び3つの入射エッジを有し、頂点v5は、2つの入射面及び3つの入射エッジを有し、頂点v6は、2つの入射面及び3つの入射エッジを有し、頂点v7は、1つの入射面及び2つの入射エッジを有し、頂点v8は、1つの入射面及び2つの入射エッジを有し、頂点v9は、1つの入射面及び2つの入射エッジを有し、頂点v10は、1つの入射面と2つの入射エッジを有する。
【0114】
図9の例では、頂点v3が、境界頂点であり、2つの入射面と4つの入射エッジを有するため、頂点v3は、式(1)を満たさず、特異な頂点である。
【0115】
本開示の他の態様によれば、入射境界エッジの数によって特異な頂点を識別することができる。例えば、正規境界頂点は2つの入射境界エッジのみを有することができ、一方、特異な境界頂点は3つ以上の入射境界エッジを有する。
【0116】
図9の例において、境界頂点v2,v4-v10はそれぞれ、2つの入射境界エッジを有するとともに、正規頂点であり、境界頂点v3は、4つの入射境界エッジを有するとともに、特異な頂点である。
【0117】
本開示の他の態様によれば、単体2-複合メッシュの場合、入射面の数に基づいて特異なエッジを識別することができる。例えば、1つのエッジに関して、該エッジが入射面を有さない(例えば、入射面0)又は3つ以上の入射面を有する場合、エッジは特異なエッジである。エッジが1つ又は2つの入射面を有する場合、エッジは正規エッジである。
【0118】
図10は、幾つかの例におけるメッシュ(1000)を示す。メッシュ(1000)は、単体2-複合メッシュであり、エッジe1~e13を含む。エッジe1は、2つの入射面を有し、正規エッジである。エッジe2は、入射面を有さず、特異なエッジである。エッジe3は、3つの入射面を有し、特異なエッジである。エッジe4~e13は、それぞれ1つの入射面を有し、正規エッジである。
【0119】
本開示の幾つかの態様によれば、非マニホールドメッシュ内の境界ループを検出するために、非マニホールドメッシュは、境界ループ構成に影響を与えることなくマニホールドメッシュに変換することができ、したがって、マニホールドメッシュ内の境界ループは、非マニホールドメッシュ内の境界ループに対応することができる。マニホールドメッシュの境界ループは、適切なアルゴリズムによって検出することができる。マニホールドメッシュの境界ループに基づいて、非マニホールドメッシュの対応する境界ループを決定することができる。以下の説明では、非マニホールドメッシュをマニホールドメッシュに変換する技術を示すために、特異な頂点を有する単体2-複合メッシュを使用するが、この技術は、特異なエッジを有する非マニホールドメッシュなどの他の非マニホールドメッシュにも適切に適用できることに留意されたい。
【0120】
幾つかの例では、特異な頂点のみを有する単体2-複合メッシュであるメッシュの場合、非マニホールドメッシュの境界ループ検出手順によって境界ループを検出することができる。非マニホールドメッシュの境界ループ検出手順は、第1のステップ、第2のステップ、及び第3のステップと呼ばれる3つのステップを含む。
【0121】
第1のステップ(トポロジカル手術ステップとも呼ばれる)では、メッシュのそれぞれの特異な頂点ごとに、入射エッジを時計回り又は反時計回りのいずれかの方向で巡回シーケンスへとインデックス付け(例えば、順序付け)することができる。巡回シーケンスにおいて、最初の入射エッジ及び最後の入射エッジは連続する入射エッジである。特異な頂点に対する入射エッジの巡回シーケンスに基づいて、ループエッジ対を検出することができる。ループエッジ対は、同じ面のエッジではない巡回シーケンス内の2つの連続する入射エッジとして定義される。インデックス付けの周期的な性質に起因して、最初と最後の入射エッジが同じ面のエッジでない限り、最初と最後の入射エッジをループエッジ対として定義するためにモジュラ算術規則を使用できることに留意されたい。
【0122】
それぞれのループエッジ対ごとに、2つの入射面を識別することができ、エイリアス頂点を特異な頂点から分割して、2つの識別された入射面における特異な頂点を置き換えることができる。エイリアス頂点は、ループエッジ対である2つの入射境界エッジのみを有するように構成することができる。具体的には、一例では、2つの識別された入射面内の特異な頂点の元のインデックスを新しいインデックスと置き換えることができ、新しいインデックスは、特異な頂点の元のインデックスのエイリアスとして記録される。
【0123】
第1のステップ(トポロジカル手術ステップ)の後、単体2-複合非マニホールドメッシュはマニホールドメッシュになる。
【0124】
第2のステップ(境界ループ検出ステップと呼ばれる)では、マニホールドメッシュにおける境界ループを検出するために開発された適切なアルゴリズムによって、マニホールドメッシュの境界ループを検出することができる。
【0125】
第3のステップ(非マニホールドメッシュの境界ループと呼ばれる)では、マニホールドメッシュの境界ループが決定された後、非マニホールドメッシュの対応する境界ループを決定するために、エイリアス関係に従って新しいインデックスを元のインデックスと置き換えることができる。
【0126】
幾つかの例では、第3のステップで検証動作を実行することができる。検証動作は、非マニホールドメッシュ内の検出された内部境界ループの数が、オイラー特性及びBetti数に基づいて検出された孔の数と一致するかどうかを検証することができる。
【0127】
本開示の一態様によれば、単体2-複合メッシュにおけるオイラー特性χとBetti数との間の関係は、式(2)のように表わすことができる。
【数1】
式中、ki(i=0,1,2)はi番目のシンプレックスの数であり、bi(i=0,1,2)はi番目のBetti数である。例えば、b0は接続された構成要素の数であり、これは接続された外部境界の数に等しく、b1=h+2gである。ここで、hは内部境界エッジによって囲まれた孔の数であり、gは「ハンドル」、すなわち属の数であり、b2は閉じた2つのマニホールドによって囲まれた孔の数である。幾つかの例では、ki(i=0,1,2,3)及びb0を計算することができる。b2及びgを計算することができるとき、内部境界エッジによって囲まれた孔の数は、式(2)から推論することができ、これは、単体2-複合メッシュにおける内部境界ループの予想数である。
【0128】
更に、本開示の一態様によれば、特異なエッジの2つの頂点は特異な頂点である。第1のステップにおけるトポロジカル手術は、非マニホールドメッシュ内の境界ループを検出するために、非マニホールドメッシュをマニホールドメッシュに変換するべく単体2-複合メッシュ内の特異なエッジの頂点に適用することができる。
【0129】
図11は、一例におけるメッシュ(1100)を示す。メッシュ(1100)は、単体2-複合メッシュであり、頂点v0~v10を含む。頂点v10は、内部頂点であり、したがって正規頂点である。頂点v0~v9は境界頂点である。頂点v0-v4及びv6-v9はそれぞれ、2つの入射境界エッジを有するため、正規境界頂点である。頂点5は、4つの入射境界エッジを有し、特異な頂点である。
【0130】
本開示の一態様によれば、非マニホールドメッシュの境界ループ検出手順をメッシュ(1100)に適用して、境界ループを検出することができる。境界ループ検出手順は、前述した3つのステップを含む。
【0131】
境界ループ検出のための第1のステップでは、特異な頂点v5に関し、e0-e4(反時計回り)として示される5つの入射エッジが頂点v5に入射する。5つの入射エッジのうち、第1のループエッジ対(e2、e3)及び第2のループエッジ対(e4、e0)が検出される。第1のループエッジ対(e2、e3)の場合、入射面は(v4,v5,v10)及び(v5,v6,v8)である。2つの入射面における頂点v5は、頂点v5のためのエイリアス頂点である新しい頂点v11に置き換えることができる。これにより、2つの入射面は(v4,v11,v10)と(v11,v6,v8)となる。
【0132】
同様に、第2のループエッジ対(e4、e0)について、入射面は(v5,v6,v8)及び(v5,v9,v10)である。2つの入射面の頂点v5は、頂点v5のエイリアス頂点である新しい頂点v12に置き換えることができる。これにより、2つの入射面は(v12,v6,v8)と(v12,v9,v10)となる。
【0133】
本開示の一態様によれば、頂点5は、新しい頂点v11と新しい頂点v12とに分割される。一例では、新たな頂点v11と新たな頂点v12とは、新たなエッジ(長さ0)によって接続されるとみなすことができる。新しい頂点のそれぞれは2つの入射境界エッジを有し、したがって新しい頂点v11及びv12は正規頂点である。したがって、メッシュ(1100)は、新しい頂点v11及びv12を有するマニホールドメッシュに変換される。
【0134】
境界ループ検出のための第2のステップにおいて、マニホールドメッシュのための境界ループ検出アルゴリズムは、新しい頂点v11及びv12を有する変換されたマニホールドメッシュに適用することができ、(v0,v1,v2,v3,v4,v11,v6,v7)の第1の境界ループ(外部境界ループ)及び(v8,v9,v12)の第2の境界ループ(内部境界ループ)を検出することができる。
【0135】
次に、境界ループ検出のための第3のステップにおいて、頂点v11及びv12は、メッシュの境界ループを決定するためにv5に名称変更し直すことができる(1100)。例えば、変換されたマニホールドメッシュの第1の境界ループ(v0,v1,v2,v3,v4,v11,v6,v7)は、メッシュ(1100)のための第1の境界ループ(v0,v1,v2,v3,v4,v5,v6,v7)となり、変換されたマニホールドメッシュの第2の境界ループ(v8,v9,v12)は、メッシュ(1100)の第2の境界ループ(v8,v9,v5)となる。
【0136】
幾つかの例において、境界ループ検出結果は、オイラー特性及びBetti数に従って検証することができる。図11の例では、オイラー特性χ=11-22+11=0であり、Betti数b0=1、b2=0、属g=0であるため、予想される孔の数はh=b1-2g=b0+b2-χ-2g=1である。したがって、オイラー特性及びBetti数によれば、メッシュ(1100)には、非マニホールドメッシュのための境界ループ検出手順からの結果と一致する1つの孔(内部境界ループ)がある。
【0137】
本開示の一態様によれば、非マニホールドメッシュの境界ループ検出手順は、高次元の単体複合メッシュを処理するために一般化することができる。例えば、単体3-複合体の場合、第1のステップのトポロジカル手術は、非マニホールドメッシュを3Dマニホールドメッシュに変換するために、2つ以上の四面体が接触する頂点/エッジなどの3Dの特異な頂点/エッジを分割するために同様に実行することができる。次に、3Dマニホールドメッシュ内で「境界面」を決定することができる。
【0138】
また、境界ループ検出手順は、単体から形成されないメッシュに関して適用できることにも留意されたい。幾つかの例では、単体から形成されないメッシュを、単体複合体を伴うメッシュへと再メッシュ化することができる。例えば、四角形のメッシュを三角形のメッシュに分割することができる。次に、境界ループ検出手順は、単体複合体を伴うメッシュに適用することができる。
【0139】
図12は、本開示の一実施形態に係るプロセス(1200)の概要を示すフローチャートを示している。プロセス(1200)は、メッシュのためのエンコーディングプロセス中に使用され得る。様々な実施形態では、プロセス(1200)は、処理回路によって実行される。幾つかの実施形態では、プロセス(1200)はソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(1200)を実行する。プロセスは(S1201)から開始し、(S1210)に進む。
【0140】
(S1210)において、第1のメッシュフレームが受けられる。第1のメッシュフレームは、多角形を伴うオブジェクトの表面を表わす。幾つかの例では、多角形が三角形である。幾つかの例では、多角形を三角形に分割することができる。
【0141】
(S1220)において、第1のメッシュフレームにおいて1つ以上の特異点成分が検出され、第1のメッシュフレームは、1つ以上の特異点成分に応じて非マニホールドメッシュであると決定される。
【0142】
(S1230)において、第1のメッシュフレームは、マニホールドメッシュである第2のメッシュフレームに変換され、第1のメッシュフレームは、第2のメッシュフレーム内の第2の境界ループにそれぞれ対応する第1の境界ループを有する。第1のメッシュフレームの第2のメッシュフレームへの変換は、境界ループに影響を及ぼさない。動作が境界ループに影響を及ぼさない限り、任意の適切な動作を適用して第1のメッシュフレームを第2のメッシュフレームに変換することができることに留意されたい。
【0143】
(S1240)において、第2のメッシュフレーム内の第2の境界ループは、マニホールドメッシュに適した検出アルゴリズムによって検出される。
【0144】
(S1250)において、第1のメッシュフレーム内の第1の境界ループは、第2のメッシュフレーム内の第2の境界ループに従って決定される。
【0145】
第1のメッシュフレームが非マニホールドメッシュであると決定するために、幾つかの例では、第1のメッシュフレーム内の少なくとも第1の頂点が特異な頂点であると検出される。一例では、第1のメッシュフレームが単体2複合メッシュであり、第1の頂点は境界頂点であり、第1の頂点の第1の数の入射面及び第2の数の入射エッジは正規頂点要件を満たさない。他の例では、第1の頂点に対する入射境界エッジの数は2よりも大きい。
【0146】
幾つかの例では、第1のメッシュフレームが非マニホールドメッシュであると決定するために、第1のメッシュフレーム内の少なくとも第1のエッジが特異なエッジであると決定される。一例では、第1のメッシュフレームが単体2複合体であり、第1のエッジは入射面を有さない又は3つ以上の入射面を有する。
【0147】
幾つかの実施形態では、第1のメッシュフレームが単体2複合メッシュであり、第1のメッシュフレームの特異な頂点は第2のメッシュフレーム内の1つ以上のエイリアス頂点に変換され、1つ以上のエイリアス頂点は正規頂点である。幾つかの例において、第1のメッシュフレームの特異なエッジの第1の特異な頂点及び第2の特異な頂点は、第2のメッシュフレーム内のそれぞれのエイリアス頂点に変換され、それぞれのエイリアス頂点は正規頂点である。
【0148】
第1のメッシュフレームの特異な頂点を第2のメッシュフレーム内の1つ以上のエイリアス頂点に変換するために、幾つかの例では、特異な頂点に入射する第1の入射面及び第2の入射面が識別され、第1の入射面は、特異な頂点に対する第1の入射エッジを含み、第2の入射面は、特異な頂点に対する第2の入射エッジを含み、第1の入射エッジ及び第2の入射エッジは、異なる入射面からの隣接する入射エッジである。その後、エイリアス頂点が生成され、この場合、第1の入射面及び第2の入射面は特異な頂点の代わりにエイリアス頂点に入射する。したがって、エイリアス頂点は、2つの入射境界エッジを有する正規頂点である。
【0149】
第2のメッシュフレーム内の第2の境界ループに従って第1のメッシュフレーム内の第1の境界ループを決定するために、幾つかの例では、第2の境界ループ内のエイリアス頂点に応じて、第2の境界ループ内のエイリアス頂点が特異な頂点と置き換えられる。
【0150】
幾つかの例において、1つ以上の内部孔(内部境界ループとも呼ばれる)の存在は、第1のメッシュフレームにおけるオイラー特性とBetti数との間の関係に基づいて決定又は検証することができる。
【0151】
幾つかの例では、第1のメッシュフレーム及び第2のメッシュフレームが2Dメッシュフレームであり、幾つかの他の例では、第1のメッシュフレーム及び第2のメッシュフレームが3Dメッシュフレームである。
【0152】
次いで、プロセスは(S1299)に進み、終了する。
【0153】
プロセス(1200)は、適切に適合されることができる。プロセス(1200)のステップは、修正及び/又は省略されることができる。追加のステップが追加されることができる。任意の適切な実施順序が使用され得る。
【0154】
本開示で開示された技術は、別々に使用されてもよく、任意の順序で組み合わされてもよい。更に、技術(例えば、方法、実施形態)、エンコーダ、及びデコーダの各々は、処理回路(例えば、1つもしくは複数のプロセッサ又は1つもしくは複数の集積回路)によって実装されてもよい。幾つかの例では、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
【0155】
前述された技法は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装され、1つ以上のコンピュータ可読媒体に物理的に記憶することができる。例えば、図13は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(1300)を示す。
【0156】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンクなどのメカニズムを受けることができる任意の適切な機械コード又はコンピュータ言語を使用してコーディングされ、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって直接、又は解釈、マイクロコード実行などを介して、実行され得る命令を含むコードを作成することができる。
【0157】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータ又はコンピュータの構成要素上で実行することができる。
【0158】
コンピュータシステム(1300)について図13に示されている構成要素は、本質的に例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に関する限定を示唆することを意図していない。構成要素の構成は、コンピュータシステム(1300)の例示的な実施形態に示された構成要素のいずれか1つ又は組合せに関するいかなる依存性又は要件も有すると解釈されるべきでない。
【0159】
コンピュータシステム(1300)は、特定のヒューマンインタフェース入力デバイスを含んでもよい。このようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介した、1人以上の人間ユーザによる入力に応答し得る。ヒューマンインタフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、写真画像は静止画像カメラから取得など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定の媒体を取り込むためにも使用され得る。
【0160】
入力ヒューマンインタフェースデバイスは、キーボード(1301)、マウス(1302)、トラックパッド(1303)、タッチスクリーン(1310)、データグローブ(図示せず)、ジョイスティック(1305)、マイクロフォン(1306)、スキャナ(1307)、カメラ(1308)のうちの1つ以上を含み得る(各々の1つのみが描写されている)。
【0161】
コンピュータシステム(1300)は、特定のヒューマンインタフェース出力デバイスも含み得る。このようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、及び匂い/味を介して、1人以上の人間のユーザの感覚を刺激し得る。そのようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1310)、データグローブ(図示せず)、又はジョイスティック(1305)による触覚フィードバック、しかし入力デバイスとして機能しない触覚フィードバックデバイスが存在する可能性もある)、(スピーカ(1309)、ヘッドフォン(描写せず)などの)オーディオ出力デバイス、(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1310)など、各々タッチスクリーン入力機能の有無にかかわらず、各々触覚フィードバック機能の有無にかかわらず、それらのうちの幾つかは、ステレオグラフィック出力、仮想現実眼鏡(描写せず)、ホログラフィックディスプレイ及びスモークタンク(描写せず)などの手段を介して2次元視覚出力又は3次元以上の出力を出力することが可能な場合がある)視覚出力デバイス、並びにプリンタ(描写せず)を含むことができる。
【0162】
コンピュータシステム(1300)は、CD/DVD又は同様の媒体(1321)を有するCD/DVDROM/RW(1320)を含む光学媒体、サムドライブ(1322)、リムーバブルハードドライブ又はソリッドステートドライブ(1323)、テープ及びフロッピーディスクなどのレガシー磁気媒体(描写せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(描写せず)などの、人間がアクセス可能なストレージデバイス及びそれらに関連する媒体を含むこともできる。
【0163】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、又は他の一時的な信号を包含しないことを理解するべきである。
【0164】
コンピュータシステム(1300)は、1つ以上の通信ネットワーク(1355)へのインタフェース(1354)を含むこともできる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークは更に、ローカル、広域、メトロポリタン、車両及び産業用、リアルタイム、遅延耐性、などとすることができる。ネットワークの例は、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、及び地上波放送テレビを含むテレビ有線又は無線広域デジタルネットワーク、CANBusを含む車両及び産業用などを含む。特定のネットワークは通常、特定の汎用データポート又は周辺バス(1349)(例えば、コンピュータシステム(1300)のUSBポート)に接続された外部ネットワークインタフェースアダプタを必要とし、他のものは一般に、以下に説明するように、システムバスに接続することによってコンピュータシステム(1300)のコアに統合される(例えば、PCコンピュータシステムに対するイーサネットインタフェース、又はスマートフォンコンピュータシステムに対するセルラーネットワークインタフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(1300)は他のエンティティと通信することができる。このような通信は、一方向、受信専用(例えば、テレビ放送)、一方向送信専用(例えば、CANbusから特定のCANbusデバイス)又は双方向、例えば、ローカルもしくは広域デジタルネットワークを用いた他のコンピュータシステムに対する双方向の通信とすることができる。特定のプロトコル及びプロトコルスタックは、前述したように、それらのネットワーク及びネットワークインタフェースの各々で使用され得る。
【0165】
前述のヒューマンインタフェースデバイス、人間がアクセス可能なストレージデバイス、及びネットワークインタフェースは、コンピュータシステム(1300)のコア(1340)に取り付けることができる。
【0166】
コア(1340)は、1つ以上の中央処理装置(CPU)(1341)、グラフィックスプロセッシングユニット(GPU)(1342)、フィールドプログラマブルゲートエリア(FPGA)(1343)の形態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(1344)、グラフィックスアダプタ(1350)などを含むことができる。これらのデバイスは、読取り専用メモリ(ROM)(1345)、ランダムアクセスメモリ(1346)、内部のユーザアクセス不可能なハードドライブ、SSDなどの内部大容量ストレージ(1347)とともに、システムバス(1348)を通じて接続され得る。一部のコンピュータシステムでは、システムバス(1348)は、追加のCPU、GPUなどによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能とすることができる。周辺デバイスは、コアのシステムバス(1348)に直接取り付けることも、周辺バス(1349)を介して取り付けることもできる。一例では、スクリーン(1310)は、グラフィックスアダプタ(1350)に接続することができる。周辺バス用のアーキテクチャには、PCI、USBなどが含まれる。
【0167】
CPU(1341)、GPU(1342)、FPGA(1343)及びアクセラレータ(1344)は、組み合わされて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。このコンピュータコードは、ROM(1345)又はRAM(1346)に記憶することができる。移行データはまた、RAM(1346)に記憶することもできるが、永続データは、例えば内部大容量ストレージ(1347)に記憶することができる。メモリデバイスのいずれかに対する高速の記憶及び検索は、1つ以上のCPU(1341)、GPU(1342)、大容量ストレージ(1347)、ROM(1345)、RAM(1346)などと密接に関連付けることができるキャッシュメモリを使用して可能にすることができる。
【0168】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実施するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであってもよく、又はコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものであってもよい。
【0169】
限定ではなく例として、アーキテクチャを有するコンピュータシステム(1300)、具体的にはコア(1340)は、(CPU、GPU、FPGA、アクセラレータなどを含む)(1つ以上の)プロセッサが1つ以上の有形のコンピュータ可読媒体において具現化されたソフトウェアを実行した結果として機能を提供することができる。このようなコンピュータ可読媒体は、前述のようなユーザアクセス可能な大容量ストレージ、並びにコア内部大容量ストレージ(1347)又はROM(1345)などの非一時的な性質のものであるコア(1340)の特定のストレージと関連付けられた媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、このようなデバイスに記憶され、コア(1340)によって実行することができる。コンピュータ可読媒体は、特定の必要性に応じて、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア(1340)、及び具体的にはその中の(CPU、GPU、FPGAなどを含む)プロセッサに、RAM(1346)に記憶されたデータ構造を定義すること、及びソフトウェアによって定義されたプロセスに従ってこのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、ソフトウェアの代わりに、又はソフトウェアと共に動作して、本明細書に記載される特定のプロセス又は特定のプロセスの特定の部分を実行することができる、回路(例えば、アクセラレータ(1344))におけるハードワイヤードの、又は他の方法で具現化された論理の結果として機能を提供することもできる。ソフトウェアへの言及は、必要に応じて、論理を包含することができ、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、又はその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0170】
本開示は幾つかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、及び様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないか又は記載されていないが、本開示の原理を具現化し、したがって本開示の趣旨及び範囲内にある多数のシステム及び方法を考案することができることが理解されよう。
【符号の説明】
【0171】
100 通信システム
105 センサ
110 端末デバイス
120 端末デバイス
150 ネットワーク
200 ストリーミングシステム
201 点群源
202 点群
203 エンコーダ
204 点群
205 ストリーミングサーバ
206 クライアントサブシステム
207 点群、入力コピー
210 デコーダ
211 点群
212 レンダリングデバイス
213 捕捉サブシステム
220 電子デバイス
230 電子デバイス
300 PCCエンコーダ
304 パッチ情報モジュール
306 パッチ生成モジュール
308 パッチパッキングモジュール
310 ジオメトリ画像生成モジュール
312 テクスチャ画像生成モジュール
314 占有マップモジュール
316 画像パディングモジュール
318 画像パディングモジュール
320 グループ拡張モジュール
322 ビデオ圧縮モジュール
323 ビデオ圧縮モジュール
324 マルチプレクサ
332 ビデオ圧縮モジュール
334 エントロピー圧縮モジュール
336 平滑化モジュール
338 補助パッチ情報圧縮モジュール
400 PCCデコーダ
432 デマルチプレクサ
434 ビデオ解凍モジュール
436 ビデオ解凍モジュール
438 占有マップ解凍モジュール
442 補助パッチ情報解凍モジュール
444 ジオメトリ再構成モジュール
446 平滑化モジュール
448 テクスチャ再構成モジュール
452 色平滑化モジュール
510 ビデオデコーダ
520 パーサ
521 シンボル
551 スケーラ/逆変換ユニット
552 イントラ予測ユニット
553 動き補償予測ユニット
555 アグリゲータ
556 ループフィルタ
557 参照ピクチャメモリ
558 現在ピクチャバッファ
603 ビデオエンコーダ
632 コーディングエンジン
633 ローカルビデオデコーダ
634 参照ピクチャキャッシュ、参照ピクチャメモリ
635 予測器
645 エントロピーコーダ
650 コントローラ
700 PCCエンコーダ
701 入力点群
702 ビットストリーム
710 位置量子化モジュール
712 重複点除去モジュール
720 属性転送モジュール
730 八分木エンコーディングモジュール
740 詳細レベル生成モジュール
750 属性予測モジュール
760 残差量子化モジュール
770 算術コーディングモジュール
780 逆残差量子化モジュール
781 加算モジュール
790 メモリ
800 PCCデコーダ
801 ビットストリーム
802 点群
810 算術デコーディングモジュール
820 逆残差量子化モジュール
830 八分木デコーディングモジュール
840 詳細レベル生成モジュール
850 属性予測モジュール
860 メモリ
900 メッシュ
1000 メッシュ
1100 メッシュ
1200 プロセス
1300 コンピュータシステム
1301 キーボード
1302 マウス
1303 トラックパッド
1305 ジョイスティック
1306 マイクロフォン
1307 スキャナ
1308 カメラ
1309 スピーカ
1310 タッチスクリーン
1321 媒体
1322 サムドライブ
1323 ソリッドステートドライブ
1340 コア
1341 中央処理装置(CPU)
1343 フィールドプログラマブルゲートエリア(FPGA)
1342 グラフィックスプロセッシングユニット(GPU)
1344 ハードウェアアクセラレータ
1345 読取り専用メモリ(ROM)
1346 ランダムアクセスメモリ
1347 コア内部大容量ストレージ
1348 システムバス
1350 グラフィックスアダプタ
1354 ネットワークインタフェース
1355 通信ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
【手続補正書】
【提出日】2023-09-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
メッシュ処理のための方法であって、
多角形がオブジェクトの表面を表わす第1のメッシュフレームを受けるステップと、
前記第1のメッシュフレーム内の1つ以上の特異点成分に応じて前記第1のメッシュフレームが非マニホールドタイプメッシュであると決定するステップと、
前記第1のメッシュフレームを、マニホールドタイプメッシュである第2のメッシュフレームに変換するステップであって、前記第1のメッシュフレームが前記第2のメッシュフレーム内の第2の境界ループにそれぞれ対応する第1の境界ループを有する、ステップと、
前記第2のメッシュフレーム内の前記第2の境界ループを検出するステップと、
前記第2のメッシュフレーム内の前記第2の境界ループに従って前記第1のメッシュフレーム内の前記第1の境界ループを決定するステップと、
を含む、メッシュ処理のための方法。
【請求項2】
前記第1のメッシュフレーム内の少なくとも1つの頂点が前記第2のメッシュフレーム内で複製される、請求項1に記載の方法。
【請求項3】
前記第1のメッシュフレームが非マニホールドタイプメッシュであると決定する前記ステップは、
前記第1のメッシュフレーム内の特異な頂点及び/又は特異なエッジのうちの少なくとも1つを検出するステップ、
を更に含む、請求項1に記載の方法。
【請求項4】
前記第1のメッシュフレームが単体2複合メッシュであり、前記第1のメッシュフレームが非マニホールドタイプメッシュであると決定する前記ステップは、
第1の頂点が境界頂点であると決定するステップと、
前記第1の頂点の第1の数の入射面及び第2の数の入射エッジが正規頂点要件を満たさないと決定するステップと、
前記第1の頂点が特異な頂点であると決定するステップと、
を更に含む、請求項1に記載の方法。
【請求項5】
前記第1のメッシュフレームが単体2複合メッシュであり、前記第1のメッシュフレームが非マニホールドタイプメッシュであると決定する前記ステップは、
第1の頂点に対する入射境界エッジの数が2より大きいと決定するステップと、
前記第1の頂点が特異な頂点であると決定するステップと、
を更に含む、請求項1に記載の方法。
【請求項6】
前記第1のメッシュフレームが単体2複合体であり、前記第1のメッシュフレームが非マニホールドタイプメッシュであると決定する前記ステップは、
第1のエッジが入射面を有さない又は3つ以上の入射面を有することを検出するステップと、
前記第1のエッジが特異なエッジであると決定するステップと、
を更に含む、請求項1に記載の方法。
【請求項7】
前記第1のメッシュフレームが単体2複合メッシュであり、前記第1のメッシュフレームを前記第2のメッシュフレームに変換する前記ステップは、
前記第1のメッシュフレームの特異な頂点を前記第2のメッシュフレーム内の1つ以上のエイリアス頂点に変換するステップであって、前記1つ以上のエイリアス頂点が正規頂点である、ステップと、
を更に含む、請求項1に記載の方法。
【請求項8】
前記第1のメッシュフレームの特異なエッジの第1の特異な頂点及び第2の特異な頂点を前記第2のメッシュフレーム内のそれぞれのエイリアス頂点に変換するステップであって、前記それぞれのエイリアス頂点が正規頂点である、ステップを更に含む、
請求項7に記載の方法。
【請求項9】
前記第1のメッシュフレームの特異な頂点を前記第2のメッシュフレーム内の1つ以上のエイリアス頂点に変換する前記ステップは、
前記特異な頂点に入射する第1の入射面及び第2の入射面を識別するステップであって、前記第1の入射面が前記特異な頂点に対する第1の入射エッジを含み、前記第2の入射面が前記特異な頂点に対する第2の入射エッジを含み、前記第1の入射エッジ及び前記第2の入射エッジが異なる入射面からの隣接する入射エッジである、ステップと、
エイリアス頂点を生成するステップであって、前記第1の入射面及び前記第2の入射面が前記特異な頂点の代わりに前記第2のメッシュフレーム内の前記エイリアス頂点に入射する、ステップと、
を更に含む、請求項7に記載の方法。
【請求項10】
前記第2のメッシュフレーム内の前記第2の境界ループに従って前記第1のメッシュフレーム内の前記第1の境界ループを決定する前記ステップは、
前記第2の境界ループ内の前記エイリアス頂点に応じて、前記第2の境界ループ内の前記エイリアス頂点を前記特異な頂点と置き換えるステップ、
を更に含む、請求項9に記載の方法。
【請求項11】
前記第1のメッシュフレームにおけるオイラー特性とBetti数との間の関係に基づいて1つ以上の内部境界ループの存在を検出するステップを更に含む、請求項1に記載の方法。
【請求項12】
請求項1から11のいずれか一項に記載の方法を実施するように構成される処理回路を備える、メッシュ処理のための装置。
【請求項13】
少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項1から11のいずれか一項に記載の方法を行わせるように構成されたコンピュータプログラム。
【国際調査報告】