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

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

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

特表2024-509605ポイントクラウド圧縮に基づく動的メッシュ圧縮
<>
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図1
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図2
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図3
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図4
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図5
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図6
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図7
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図8
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図9
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図10
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図11
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図12
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図13
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図14
  • 特表-ポイントクラウド圧縮に基づく動的メッシュ圧縮 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-04
(54)【発明の名称】ポイントクラウド圧縮に基づく動的メッシュ圧縮
(51)【国際特許分類】
   G06T 9/40 20060101AFI20240226BHJP
【FI】
G06T9/40
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023555698
(86)(22)【出願日】2022-10-11
(85)【翻訳文提出日】2023-09-12
(86)【国際出願番号】 US2022077890
(87)【国際公開番号】W WO2023102285
(87)【国際公開日】2023-06-08
(31)【優先権主張番号】63/285,967
(32)【優先日】2021-12-03
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/962,201
(32)【優先日】2022-10-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ホアン,チャオ
(72)【発明者】
【氏名】ジャン,シァン
(72)【発明者】
【氏名】ティアン,ジュン
(72)【発明者】
【氏名】シュー,シャオジョン
(72)【発明者】
【氏名】リウ,シャン
(57)【要約】
本開示の態様は、メッシュコーディング(符号化及び/又は復号)のための方法及び機器を提供する。幾つかの例では、メッシュをコーディングするための機器は、処理回路を含む。処理回路は、ポイントクラウド圧縮(PCC)デコーダを使用し、ビットストリームから、3次元(3D)メッシュフレーム内の頂点に対応する第1ポイントを含むポイントクラウドを復号する。3Dメッシュフレームは、多角形を有するオブジェクトの表面を表す。処理回路は、ビットストリームから、3Dメッシュフレームの第1接続性情報を復号する。第1接続性情報はビットストリームでシグナリングされている。処理回路は、ポイントクラウドの第1ポイントから、3Dメッシュフレームの第2接続性情報を推定する。第2接続性情報はビットストリームでシグナリングされない。処理回路は、ポイントクラウド、第1接続性情報、及び第2接続性情報に基づいて3Dメッシュフレームを再構成する。
【特許請求の範囲】
【請求項1】
メッシュの伸長の方法であって、
ポイントクラウド圧縮(PCC)デコーダを使用し、ビットストリームから、3次元(3D)メッシュフレーム内の頂点に対応する第1ポイントを含むポイントクラウドを復号するステップであって、前記3Dメッシュフレームは多角形を有するオブジェクトの表面を表す、ステップと、
前記ビットストリームから、前記3Dメッシュフレームの第1接続性情報を復号するステップであって、前記第1接続性情報は前記ビットストリーム内でシグナリングされる、ステップと、
前記3Dメッシュフレームの第2接続性情報を推定するステップであって、前記第2接続性情報は前記ビットストリーム内でシグナリングされない、ステップと、
前記ポイントクラウド、前記第1接続性情報、及び前記第2接続性情報に基づき、前記3Dメッシュフレームを再構成するステップと、
を含む方法。
【請求項2】
前記第1接続性情報が前記3Dメッシュフレームの第1領域における第1の複数の頂点の第1接続性を含み、前記第2接続性情報が前記3Dメッシュフレームの第2領域における第2の複数の頂点の第2接続性を含み、前記第1領域は前記第2領域よりも高い頂点密度を有する、請求項1に記載の方法。
【請求項3】
前記第1接続性情報が、第1領域における第1の複数の頂点の接続性を含み、前記第1領域の曲率パラメータが閾値よりも大きい、請求項1に記載の方法。
【請求項4】
前記第1接続性情報が、第1領域における第1の複数の頂点の接続性を含み、前記第1領域の法線値が要件を満たす、請求項1に記載の方法。
【請求項5】
前記第1接続性情報が、前記3Dメッシュフレームの第1多角形の第1接続性を含み、前記方法がさらに、
補間によって前記第1多角形内の1つ以上の追加のサンプルポイントを決定するステップと、
前記第1ポイントと前記1つ以上の追加のサンプルポイントの接続の前記第2接続性情報を推定するステップと、
を含む請求項1に記載の方法。
【請求項6】
前記第2接続性情報が、第1チャートの第1頂点と第2チャートの第2頂点とを接続する第1エッジを持つ多角形を含み、前記方法は、さらに、
少なくとも前記第1頂点の第1色と前記第2頂点の第2色に基づく補間によって、前記多角形の内部のポイントの色を決定するステップ、を含む請求項1に記載の方法。
【請求項7】
前記第1接続性情報が、前記3Dメッシュフレームの元の接続性と前記3Dメッシュフレームの推定された接続性との間の接続性の差を含み、前記方法は、さらに、
前記第1接続性情報と前記第2接続性情報とを組み合わせて、前記3Dメッシュフレームの回復された接続性情報を生成するステップと、
前記ポイントクラウドと前記3Dメッシュフレームの前記回復された接続性情報に基づいて、前記3Dメッシュフレームを再構成するステップと、
を含む請求項1に記載の方法。
【請求項8】
前記第1接続性情報は、第1頂点と第2頂点を接続する第1エッジを含み、前記第1エッジが2つの異なるチャートを接続する偽のエッジであることを示し、前記方法は、
前記第1エッジと交差するチャート境界エッジを決定するステップと、
前記第1エッジを前記第2接続性情報の前記チャート境界エッジに置き換えるステップと、
を含む請求項1に記載の方法。
【請求項9】
メッシュの伸長のための機器であって、処理回路を含み、前記処理回路は、
ポイントクラウド圧縮(PCC)デコーダを使用し、ビットストリームから、3次元(3D)メッシュフレーム内の頂点に対応する第1ポイントを含むポイントクラウドを復号し、前記3Dメッシュフレームは多角形を有するオブジェクトの表面を表し、
前記ビットストリームから、前記3Dメッシュフレームの第1接続性情報を復号し、前記第1接続性情報は前記ビットストリーム内でシグナリングされ、
前記3Dメッシュフレームの第2接続性情報を推定し、前記第2接続性情報は前記ビットストリーム内でシグナリングされず、
前記ポイントクラウド、前記第1接続性情報、及び前記第2接続性情報に基づき、前記3Dメッシュフレームを再構成する、
よう構成される、機器。
【請求項10】
前記第1接続性情報が前記3Dメッシュフレームの第1領域における第1の複数の頂点の第1接続性を含み、前記第2接続性情報が前記3Dメッシュフレームの第2領域における第2の複数の頂点の第2接続性を含み、前記第1領域は前記第2領域よりも高い頂点密度を有する、請求項9に記載の機器。
【請求項11】
前記第1接続性情報が、第1領域における第1の複数の頂点の接続性を含み、前記第1領域の曲率パラメータが閾値よりも大きい、請求項9に記載の機器。
【請求項12】
前記第1接続性情報が、第1領域における第1の複数の頂点の接続性を含み、前記第1領域の法線値が要件を満たす、請求項9に記載の機器。
【請求項13】
前記第1接続性情報が、前記3Dメッシュフレームの第1多角形の第1接続性を含み、前記処理回路は、
補間によって前記第1多角形内の1つ以上の追加のサンプルポイントを決定し、
前記第1ポイントと前記1つ以上の追加のサンプルポイントの接続の前記第2接続性情報を推定する、
よう構成される、請求項9に記載の機器。
【請求項14】
前記第2接続性情報が、第1チャートの第1頂点と第2チャートの第2頂点とを接続する第1エッジを持つ多角形を含み、前記処理回路は、
少なくとも前記第1頂点の第1色と前記第2頂点の第2色に基づく補間によって、前記多角形の内部のポイントの色を決定するよう構成される、請求項9に記載の機器。
【請求項15】
前記第1接続性情報が、前記3Dメッシュフレームの元の接続性と前記3Dメッシュフレームの推定された接続性との間の接続性の差を含み、前記処理回路は、
前記第1接続性情報と前記第2接続性情報とを組み合わせて、前記3Dメッシュフレームの回復された接続性情報を生成し、
前記ポイントクラウドと前記3Dメッシュフレームの前記回復された接続性情報に基づいて、前記3Dメッシュフレームを再構成する、
よう構成される、請求項9に記載の機器。
【請求項16】
前記第1接続性情報は、第1頂点と第2頂点を接続する第1エッジを含み、前記第1エッジが2つの異なるチャートを接続する偽のエッジであることを示し、前記処理回路は、
前記第1エッジと交差するチャート境界エッジを決定し、
前記第1エッジを前記第2接続性情報の前記チャート境界エッジに置き換える、
よう構成される、請求項9に記載の機器。
【請求項17】
機器の少なくとも1つのプロセッサに請求項1~8のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【請求項18】
メッシュエンコーダにより実行されるメッシュの圧縮の方法であって、
3次元(3D)メッシュフレーム内の頂点に対応する第1ポイントを含むポイントクラウドを生成するステップであって、前記3Dメッシュフレームは多角形を有するオブジェクトの表面を表す、ステップと、
前記3Dメッシュフレームの元の接続性情報と異なる前記3Dメッシュフレームの第1接続性情報を決定するステップと、
ポイントクラウド圧縮(PCC)エンコーダを使用し、前記3Dメッシュフレームを運ぶビットストリームに、前記ポイントクラウドを符号化するステップと、
前記ビットストリームに前記第1接続性情報を符号化するステップと、
前記第1接続性情報を前記ビットストリーム内でシグナリングするステップと、
を含む方法。
【請求項19】
メッシュの圧縮のための機器であって、処理回路を含み、前記処理回路は、
3次元(3D)メッシュフレーム内の頂点に対応する第1ポイントを含むポイントクラウドを生成し、前記3Dメッシュフレームは多角形を有するオブジェクトの表面を表し、
前記3Dメッシュフレームの元の接続性情報と異なる前記3Dメッシュフレームの第1接続性情報を決定し、
ポイントクラウド圧縮(PCC)エンコーダを使用し、前記3Dメッシュフレームを運ぶビットストリームに、前記ポイントクラウドを符号化し、
前記ビットストリームに前記第1接続性情報を符号化し、
前記第1接続性情報を前記ビットストリーム内でシグナリングする、
よう構成される、機器。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本願は、米国仮特許出願番号第63/285,967号、「Dynamic Mesh Compression based on Point Cloud Compression」、2021年12月3日出願、の優先権の利益を主張する米国特許出願番号第17/962,201号、「DYNAMIC MESH COMPRESSION BASED ON POINT CLOUD COMPRESSION」、2022年10月7日出願の優先権の利益を主張する。前述の出願の開示は、それらの全体が参照によりここに組み込まれる。
【0002】
[技術分野]
本開示は、概して、メッシュコーディングに関連する実施形態を記載する。
【背景技術】
【0003】
ここに提供される背景の説明は、本開示のコンテキストの概要を提示するためである。現在名前の挙げられた発明者の研究は、この背景の章に記載された研究の範囲で、出願時に従来技術として見なされない可能性のある記載の態様と同様に、本開示に対する従来技術として明示的に又は暗示的にも認められるものではない。
【0004】
世界の中の物体、世界の中の環境、及び3次元(3D)空間における同様のものなど、世界を捉え表現するための様々な技術が開発されている。世界の3D表現は、より没入感のある相互作用や通信を可能にする。幾つかの例では、ポイントクラウドやメッシュを世界の3D表現として使用することができる。
【発明の概要】
【0005】
本開示の態様は、メッシュコーディング(符号化及び/又は復号)のための方法及び機器を提供する。幾つかの例では、メッシュをコーディングするための機器は、処理回路を含む。処理回路は、ポイントクラウド圧縮(PCC)デコーダを使用し、ビットストリームから、3次元(3D)メッシュフレーム内の頂点に対応する第1ポイントを含むポイントクラウドを復号する。3Dメッシュフレームは、多角形を有するオブジェクトの表面を表す。処理回路は、ビットストリームから、3Dメッシュフレームの第1接続性情報を復号する。第1接続性情報はビットストリームでシグナリングされている。処理回路は、ポイントクラウドの第1ポイントから、3Dメッシュフレームの第2接続性情報を推定する。第2接続性情報はビットストリームでシグナリングされない。処理回路は、ポイントクラウド、第1接続性情報、及び第2接続性情報に基づき、3Dメッシュフレームを再構成する。
【0006】
幾つかの例では、第1接続性情報が3Dメッシュフレームの第1領域における第1の複数の頂点の第1接続性を含み、第2接続性情報が3Dメッシュフレームの第2領域における第2の複数の頂点の第2接続性を含み、第1領域は第2領域よりも高い頂点密度を有する。
【0007】
幾つかの例では、第1接続性情報が、第1領域における第1の複数の頂点の接続性を含み、第1領域の曲率パラメータが閾値よりも大きい。
【0008】
幾つかの例では、第1接続性情報が、第1領域における第1の複数の頂点の接続性を含み、第1領域の法線値(normal value)が要件を満たす。
【0009】
幾つかの例では、第1接続性情報は3Dメッシュフレームの第1多角形の第1接続性を含む。処理回路は、補間によって第1多角形内の1つ以上の追加のサンプルポイントを決定し、すべての第1ポイントと1つ以上の追加のサンプルポイントの第2接続性情報を推定する。
【0010】
幾つかの例では、第2接続性情報には、第1チャートの第1頂点と第2チャートの第2頂点を接続する第1エッジを持つ多角形が含まれる。処理回路は、少なくとも第1頂点の第1色と第2頂点の第2色に基づく補間によって、多角形内のポイントの色を決定する。
【0011】
幾つかの例では、第1接続性情報が、3Dメッシュフレームの元の接続性と3Dメッシュフレームの推定された接続性との間の接続性の差を含み、処理回路は、
第1接続性情報と第2接続性情報とを組み合わせて、3Dメッシュフレームの回復された接続性情報を生成し、
ポイントクラウドと3Dメッシュフレームの回復された接続性情報に基づいて、3Dメッシュフレームを再構成する。
【0012】
幾つかの例では、第1接続性情報には、第1頂点と第2頂点を接続する第1エッジが含まれており、第1エッジが2つの異なるチャートを接続する偽のエッジであることを示している。処理回路は、第1エッジと交差するチャート境界エッジを決定し、第1エッジを第2接続性情報のチャート境界エッジに置き換える。
【0013】
本開示の態様は、コンピュータにより実行されると該コンピュータにメッシュコーディングのための方法のうちのいずれか1つ又はその組合せを実行させる命令を格納する非一時的コンピュータ可読媒体も提供する。
【図面の簡単な説明】
【0014】
開示の主題の更なる特徴、特性、及び種々の利点は、以下の詳細な説明及び添付の図面から一層明らかになるだろう。
【0015】
図1】幾つかの例における通信システムのブロック図を示す。
【0016】
図2】幾つかの例による、ストリーミングシステムのブロック図を示す。
【0017】
図3】幾つかの例におけるポイントクラウドフレームを符号化するエンコーダのブロック図を示す。
【0018】
図4】幾つかの例におけるポイントクラウドフレームに対応する圧縮されたビットストリームを復号するデコーダのブロック図を示す。
【0019】
図5】幾つかの例による、ビデオデコーダのブロック図を示す。
【0020】
図6】幾つかの例による、ビデオエンコーダのブロック図を示す。
【0021】
図7】幾つかの例におけるポイントクラウドフレームを符号化するエンコーダのブロック図を示す。
【0022】
図8】幾つかの例におけるポイントクラウドフレームを運ぶ圧縮されたビットストリームを復号するデコーダのブロック図を示す。
【0023】
図9】幾つかの例におけるメッシュのアトラスへのマッピングを示す図を示す。
【0024】
図10】本開示の幾つかの実施形態によるメッシュ圧縮のための枠組みの図を示す。
【0025】
図11】本開示の幾つかの実施形態によるメッシュ圧縮のための枠組みの図を示す。
【0026】
図12】幾つかの例におけるメッシュ処理技術を示す図を示す。
【0027】
図13】幾つかの例における処理例の概要を示すフローチャートを示す。
【0028】
図14】幾つかの例における処理例の概要を示すフローチャートを示す。
【0029】
図15】幾つかの例におけるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0030】
本開示の態様は、3次元(3D)メディア処理の分野における技術を提供する。
【0031】
3次元(3D)キャプチャ、3Dモデリング、及び3Dレンダリングの進歩など、3Dメディア処理における技術の発展は、幾つかのプラットフォーム及び装置にわたって3Dメディアコンテンツのユビキタスな存在を促進した。一例として、ある大陸では赤ちゃんの第1歩をキャプチャすることができ、メディア技術は祖父母が別の大陸で赤ちゃんとの没入体験を視聴(及び場合によっては交流)して楽しむことを可能にする。本開示の態様によると、没入体験を向上させるために、3Dモデルはますます洗練されてきており、3Dモデルの作成と消費は、データストレージ、データ伝送リソースなど、かなりの量のデータリソースを占めている。
【0032】
本開示の幾つかの態様によると、ポイントクラウドとメッシュを3Dモデルとして使用して、没入コンテンツを表現することができる。
【0033】
ポイントクラウドは一般に、色、材料特性、テクスチャ情報、強度属性、反射率属性、動き関連属性、モダリティ属性、及びその他の様々な属性などの関連属性を持つ、3D空間内の点の集合を指すことがある。ポイントクラウドは、そのような点の構成としてオブジェクト又はシーンを再構成するために使用できる。
【0034】
オブジェクトのメッシュ(メッシュモデルとも呼ばれる)には、オブジェクトの表面を記述する多角形を含めることができる。各多角形は、3D空間内の多角形の頂点と、頂点が多角形にどのように接続されているかの情報によって定義できる。頂点がどのように接続されているかの情報は、接続性情報と呼ばれる。幾つかの例では、メッシュには、頂点に関連付けられた色、法線などの属性も含めることができる。
【0035】
本開示の幾つかの態様によると、ポイントクラウド圧縮(point cloud compression (PCC))のための幾つかのコーディングツールをメッシュ圧縮に使用することができる。例えば、メッシュを再メッシュして新しいメッシュを生成し、新しいメッシュの接続性情報を推定することができる。新しいメッシュの頂点、及び新しいメッシュの頂点に関連付けられた属性は、ポイントクラウド内のポイントと見なすことができ、PCCコーデックを使用して圧縮できる。
【0036】
ポイントクラウドは、点(ポイント)の構成としてオブジェクト又はシーンを再構成するために使用できる。ポイントは、複数のカメラ、奥行きセンサ、あるいは様々な設定でライダー(Lidar)を使って撮影することができ、シーン又はオブジェクトを現実的に表現するために数千から数十億のポイントで構成される場合がある。パッチは一般に、ポイントクラウドによって記述される表面の連続したサブセットを指す場合がある。例では、パッチには、閾値よりも小さい値で互いに逸脱する表面法線ベクトルを持つポイントが含まれる。
【0037】
PCCは、G-PCCと呼ばれるジオメトリに基づく方式、V-PCCと呼ばれるビデオコーディングに基づく方式など、様々な方式に従って実行できる。本開示の幾つかの態様によると、G-PCCは3Dジオメトリを直接符号化し、ビデオコーディングと共有することのあまりない純粋なジオメトリに基づくアプローチであり、V-PCCはビデオコーディングに大きく基づいている。例えば、V-PCCは3Dクラウドの点を2Dグリッド(画像)のピクセルにマップすることができる。V-PCC方式はポイントクラウド圧縮のために汎用ビデオコーデックを利用することができる。本開示におけるPCCコーデック(エンコーダ/デコーダ)は、G-PCCコーデック(エンコーダ/デコーダ)又はV-PCCコーデックとすることができる。
【0038】
本開示の態様によれば、V-PCC方式は、既存のビデオコーデックを使用して、ポイントクラウドのジオメトリ、占有、及びテクスチャを3つの別個のビデオシーケンスとして圧縮することができる。3つのビデオシーケンスを解釈するために必要な追加のメタデータは、個別に圧縮される。全体的なビットストリームのごく一部はメタデータであり、例ではソフトウェア実装を使用して効率的に符号化/復号することができた。情報の大部分はビデオコーデックによって処理される。
【0039】
図1は、幾つかの例における通信システム(100)のブロック図を示す。通信システム(100)は、例えばネットワーク(150)を介して互いに通信できる複数の端末装置を含む。例えば、通信システム(100)は、ネットワーク(150)を介して相互接続された端末装置(110)及び(120)のペアを含む。図1の例では、端末装置(110)及び(120)の第1ペアは、ポイントクラウドデータの単方向伝送を実行してよい。例えば、端末装置(110)は、端末装置(110)に接続されたセンサ(105)によってキャプチャされたポイントクラウド(例えば、構造を表す点)を圧縮することができる。圧縮されたポイントクラウドは、例えばビットストリームの形で、ネットワーク(150)を介して他の端末装置(120)に送信することができる。端末装置(120)は、ネットワーク(150)から圧縮されたポイントクラウドを受信し、ポイントクラウドを再構成するためにビットストリームを伸長し、再構成されたポイントクラウドを適切に表示することができる。単方向データ伝送は、メディアサービングアプリケーション等で共通であってよい。
【0040】
図1の例では、端末装置(110)及び(120)は、サーバ及びパーソナルコンピュータとして示されてよいが、本開示の原理はこれらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ゲーム端末、メディアプレイヤ、及び/又は専用の3次元(3D)機器による適用がある。ネットワーク(150)は、端末装置(110)と(120)の間で圧縮されたポイントクラウドを送信する任意の数のネットワークを表す。ネットワーク(150)は、例えばワイヤ線(有線)及び/又は無線通信ネットワークを含むことができる。ネットワーク(150)は、回線交換及び/又はパケット交換チャネルでデータを交換してよい。代表的なネットワークは、電子通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、インターネット等を含む。
【0041】
図2は、幾つかの例におけるストリーミングシステム(200)のブロック図を示す。ストリーミングシステム(200)は、ポイントクラウドの使用アプリケーションである。開示された主題は、3Dテレプレゼンスアプリケーション、仮想現実アプリケーションなど、他のポイントクラウド対応アプリケーションにも同様に適用できる。
【0042】
ストリーミングシステム(200)には、キャプチャサブシステム(213)を含めることができる。キャプチャサブシステム(213)には、ポイントクラウドソース(201)、例えば光検出及び測距(light detection and ranging (LIDAR))システム、3Dカメラ、3Dスキャナ、ソフトウェアで非圧縮のポイントクラウドを生成するグラフィックス生成コンポーネントなど、例えば非圧縮のポイントクラウド(202)を生成するものを含めることができる。一例では、ポイントクラウド(202)には、3Dカメラによってキャプチャされる点が含まれる。ポイントクラウド(202)は、圧縮されたポイントクラウド(204)(圧縮されたポイントクラウドのビットストリーム)と比較して高いデータ量を強調するために太線で示されている。圧縮されたポイントクラウド(204)は、ポイントクラウドソース(201)に結合されたエンコーダ(203)を含む電子装置(220)によって生成することができる。エンコーダ(203)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含み、以下に詳述するように開示の主題の態様を可能にし又は実装することができる。圧縮されたポイントクラウド(204)(又は圧縮されたポイントクラウドのビデオビットストリーム(204))は、ポイントクラウドのストリーム(202)と比べたとき、より低いデータ容量を強調するために細線で示され、将来の使用のためにストリーミングサーバ(205)に格納できる。図2のクライアントサブシステム(206)及び(208)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(205)にアクセスして、圧縮されたポイントクラウド(204)のコピー(207)及び(209)を読み出すことができる。クライアントサブシステム(206)は、例えば電子装置(230)内にデコーダ(210)を含むことができる。デコーダ(210)は、圧縮されたポイントクラウドの入来するコピー(207)を復号し、レンダリング装置(212)でレンダリングできる再構成されたポイントクラウド(211)の送出するストリームを作成する。
【0043】
電子装置(220)及び(230)は他のコンポーネント(図示しない)を含み得ることに留意する。例えば、電子装置(220)は、デコーダ(図示しない)を含むことができ、電子装置(230)もエンコーダ(図示しない)を含むことができる。
【0044】
一部のストリーミングシステムでは、圧縮されたポイントクラウド(204)、(207)、及び(209)(例えば、圧縮されたポイントクラウドのビットストリーム)を特定の標準に従って圧縮できる。幾つかの例では、ポイントクラウドの圧縮にビデオコーディング規格が使用される。これらの規格の例には、High Efficiency Video Coding(HEVC)、Versatile Video Coding (VVC)などがある。
【0045】
図3は、幾つかの実施形態による、ポイントクラウドフレームを符号化するV-PCCエンコーダのブロック図を示す。幾つかの実施形態では、V-PCCエンコーダ(300)を通信システム(100)及びストリーミングシステム(200)で使用することができる。例えば、エンコーダ(203)は、V-PCCエンコーダ(300)と同様の方法で構成及び動作することができる。
【0046】
V-PCCエンコーダ(300)は、ポイントクラウドフレームを非圧縮の入力として受け取り、圧縮されたポイントクラウドフレームに対応するビットストリームを生成する。幾つかの実施形態では、V-PCCエンコーダ(300)は、ポイントクラウドソース(201)などのポイントクラウドソースからポイントクラウドフレームを受け取ることができる。
【0047】
図3の例では、V-PCCエンコーダ(300)には、パッチ生成モジュール(306)、パッチパッキングモジュール(308)、ジオメトリ画像生成モジュール(310)、テクスチャ画像生成モジュール(312)、パッチ情報モジュール(304)、占有マップモジュール(314)、平滑化モジュール(336)、画像パディングモジュール(316)及び(318)、グループ拡張モジュール(320)、ビデオ圧縮モジュール(322)、(323)及び(332)、補助パッチ情報圧縮モジュール(338)、エントロピー圧縮モジュール(334)、マルチプレクサ(324)が含まれている。
【0048】
開示の態様によると、V-PCCエンコーダ(300)は、圧縮されたポイントクラウドを伸長されたポイントクラウドに戻すために使用される幾つかのメタデータ(例えば、占有マップとパッチ情報)とともに、3Dポイントクラウドフレームを画像に基づく表現に変換する。幾つかの例では、V-PCCエンコーダ(300)は、3Dポイントクラウドフレームをジオメトリ画像、テクスチャ画像及び占有マップに変換でき、次に、ビデオコーディング技術を使用して、ジオメトリ画像、テクスチャ画像及び占有マップをビットストリームに符号化することができる。一般に、ジオメトリ画像は、ピクセルに投影されたポイントに関連付けられたジオメトリ値で満たされたピクセルを持つ2D画像であり、ジオメトリ値で満たされたピクセルをジオメトリサンプルと呼ぶことができる。テクスチャ画像は、ピクセルに投影されたポイントに関連付けられたテクスチャ値で満たされたピクセルを持つ2D画像であり、テクスチャ値で満たされたピクセルをテクスチャサンプルと呼ぶことができる。占有マップは、パッチによって占有されている又は占有されていないことを示す値で満たされたピクセルを持つ2D画像である。
【0049】
パッチ生成モジュール(306)は、ポイントクラウドをパッチのセット(例えば、パッチはポイントクラウドによって記述される表面の連続したサブセットとして定義される)にセグメント化する。これは、重複しているかどうかに関係なく、各パッチが2D空間内の平面に対する深度フィールドによって記述されるようにする。幾つかの実施形態では、パッチ生成モジュール(306)は、再構成エラーを最小限に抑えながら、スムーズな境界を持つ最小数のパッチにポイントクラウドを分解することを目的としている。
【0050】
幾つかの例では、パッチ情報モジュール(304)は、パッチのサイズと形状を示すパッチ情報を収集できる。幾つかの例では、パッチ情報を画像フレームにパックし、次に補助パッチ情報圧縮モジュール(338)によって符号化して、圧縮された補助パッチ情報を生成できる。
【0051】
幾つかの例では、パッチパッキングモジュール(308)は、未使用空間を最小限に抑え、グリッドの各々のM×M(例えば、16x16)ブロックが一意のパッチに関連付けられることを保証しながら、抽出されたパッチを2次元(2D)グリッドにマッピングするように構成される。効率的なパッチパッキングは、未使用空間を最小限に抑えるか、時間的一貫性を確保することによって、圧縮効率に直接影響を与えることができる。
【0052】
ジオメトリ画像生成モジュール(310)は、所与のパッチ位置でポイントクラウドのジオメトリに関連付けられた2Dジオメトリ画像を生成できる。テクスチャ画像生成モジュール(312)は、所与のパッチ位置でポイントクラウドのテクスチャに関連付けられた2Dテクスチャ画像を生成できる。ジオメトリ画像生成モジュール(310)とテクスチャ画像生成モジュール(312)は、パッキング処理中に計算された3Dから2Dへのマッピングを利用して、ポイントクラウドのジオメトリとテクスチャを画像として格納する。複数の点が同じサンプルに投影される場合をより適切に処理するために、各パッチはレイヤと呼ばれる2つの画像に投影される。例では、ジオメトリ画像はYUV420-8ビット形式のW×Hの単色フレームで表される。テクスチャ画像を生成するために、再サンプリングされたポイントに関連付けられる色を計算するために、テクスチャ生成手順は再構成/平滑化されたジオメトリを利用する。
【0053】
占有マップモジュール(314)は、各ユニットのパディング情報を記述する占有マップを生成できる。例えば、占有画像には、グリッドのセル毎に、セルが空の空間に属しているかポイントクラウドに属しているかを示すバイナリマップが含まれている。例では、占有マップは、ピクセルがパディングされているかどうかをピクセル毎に記述するバイナリ情報を使用する。別の例では、占有マップは、ピクセルのブロックがパディングされているかどうかをピクセルのブロック毎に記述するバイナリ情報を使用する。
【0054】
占有マップモジュール(314)によって生成された占有マップは、可逆符号化又は不可逆コーディングを使用して圧縮できる。可逆コーディングを使用する場合、エントロピー圧縮モジュール(334)を使用して占有マップを圧縮する。不可逆コーディングを使用する場合、ビデオ圧縮モジュール(332)を使用して占有マップを圧縮する。
【0055】
なお、パッチパッキングモジュール(308)は、画像フレームにパックされた2Dパッチの間に幾つかの空の空間を残すことがある。画像パディングモジュール(316)及び(318)は、2Dビデオ及び画像コーデックに適した画像フレームを生成するために、空の空間を埋めることができる(パディングと呼ばれる)。画像パディングは、冗長な情報で未使用の空間を満たすことができる背景フィリングとも呼ばれる。幾つかの例では、良好な背景フィリングはビットレートの増加を最小限に抑えるが、パッチ境界付近に重大なコーディングの歪みを導入しない。
【0056】
ビデオ圧縮モジュール(322)、(323)、(332)は、HEVC、VVCなどの適切なビデオコーディング標準に基づいて、パディングされたジオメトリ画像、パディングされたテクスチャ画像、占有マップなどの2D画像を符号化できる。例では、ビデオ圧縮モジュール(322)、(323)、(332)は個別に動作する個々のコンポーネントである。なお、別の例では、ビデオ圧縮モジュール(322)、(323)、(332)を単一のコンポーネントとして実装できる。
【0057】
幾つかの例では、再構成されたジオメトリ画像の平滑化された画像を生成するように平滑化モジュール(336)が設定されている。平滑化された画像は、テクスチャ画像生成(312)に提供できる。次に、テクスチャ画像生成(312)は、再構成されたジオメトリ画像に基づいてテクスチャ画像の生成を調整できる。例えば、符号化及び復号の間にパッチ形状(例えばジオメトリ)がわずかに歪んでいる場合、パッチ形状の歪みを補正するために、テクスチャ画像を生成するときに歪みを考慮することがある。
【0058】
幾つかの実施形態では、グループ拡張(320)は、再構成されたポイントクラウドの視覚的品質だけでなくコーディング利得を向上させるために、冗長な低周波コンテンツでオブジェクト境界の周囲のピクセルをパディングするように構成されている。
【0059】
マルチプレクサ(324)は、圧縮されたジオメトリ画像、圧縮されたテクスチャ画像、圧縮された占有マップ、圧縮された補助パッチ情報を圧縮されたビットストリームに多重化できる。
【0060】
図4は、幾つかの例におけるポイントクラウドフレームに対応する圧縮されたビットストリームを復号するV-PCCデコーダ(400)のブロック図を示す。幾つかの例では、V-PCCエンコーダ(400)を通信システム(100)及びストリーミングシステム(200)で使用することができる。例えば、デコーダ(210)は、V-PCCデコーダ(400)と同様の方法で構成及び動作することができる。V-PCCデコーダ(400)は、圧縮されたビットストリームを受信し、圧縮されたビットストリームに基づいて再構成されたポイントクラウドを生成する。
【0061】
図4の例では、V-PCCデコーダ(400)は、デマルチプレクサ(432)、ビデオ伸長モジュール(434)及び(436)、占有マップ伸長モジュール(438)、補助パッチ情報伸長モジュール(442)、ジオメトリ再構成モジュール(444)、平滑化モジュール(446)、テクスチャ再構成モジュール(448)、及びカラー平滑化モジュール(452)を含む。
【0062】
デマルチプレクサ(432)は、圧縮されたビットストリームを受信し、圧縮されたテクスチャ画像、圧縮されたジオメトリ画像、圧縮された占有マップ、及び圧縮された補助パッチ情報に分離することができる。
【0063】
ビデオ圧縮モジュール(434)及び(436)は、適切な標準(例えば、HEVC、VVCなど)に従って圧縮された画像を復号し、伸長された画像を出力できる。例えば、ビデオ伸長モジュール(434)は、圧縮されたテクスチャ画像を復号し、伸長されたテクスチャ画像を出力する。ビデオ伸長モジュール(436)は、圧縮されたジオメトリ画像を復号し、伸長されたジオメトリ画像を出力する。
【0064】
[占有マップ圧縮モジュール(438)は、適切な規格(例えば、HEVC、VVCなど)に従って圧縮された占有マップを復号し、伸長された占有マップを出力できる。
【0065】
補助パッチ情報伸長モジュール(442)は、適切な規格(例えば、HEVC、VVCなど)に従って圧縮された補助パッチ情報を復号し、伸長された補助パッチ情報を出力できる。
【0066】
ジオメトリ再構成モジュール(444)は、伸長されたジオメトリ画像を受信し、伸長された占有マップと伸長された補助パッチ情報に基づいて再構成されたポイントクラウドジオメトリを生成できる。
【0067】
平滑化モジュール(446)は、パッチのエッジで不一致を平滑化できる。平滑化手順は、圧縮アーチファクトによってパッチ境界で発生する可能性のある潜在的な不連続性を緩和することを目的としている。幾つかの実施形態では、圧縮/伸長によって発生する可能性のある歪みを緩和するために、パッチ境界に位置するピクセルに平滑化フィルタを適用することができる。
【0068】
テクスチャ再構成モジュール(448)は、伸長されたテクスチャ画像と平滑化ジオメトリに基づいて、ポイントクラウド内のポイントのテクスチャ情報を決定できる。
【0069】
カラー平滑化モジュール(452)は、カラーリングの不一致を平滑化できる。3D空間の隣接しないパッチは、2Dビデオでは互いに隣接してパックされることがよくある。例によっては、隣接しないパッチのピクセル値がブロックベースのビデオコーデックによって混同されることがある。カラー平滑化の目的は、パッチ境界に現れる目に見えるアーチファクトを減らすことである。
【0070】
図5は、幾つかの例による、ビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、V-PCC(400)内で使用できる。例えば、ビデオ伸長モジュール(434)と(436)、占有マップ伸長モジュール(438)は、ビデオデコーダ(510)として同様に構成できる。
【0071】
ビデオデコーダ(510)は、コーディングビデオシーケンスのような圧縮された画像からシンボル(521)を再構成するために、パーサ(520)を含んでよい。これらのシンボルのカテゴリには、ビデオデコーダ(510)の動作を管理するために使用される情報が含まれる。パーサ(520)は、受信されたコーディングビデオシーケンスをパース/エントロピー復号してよい。コーディングビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト依存性を有する又は有しない算術コーディング、等を含む、種々の原理に従うことができる。パーサ(520)は、コーディングビデオシーケンスから、ビデオデコーダの中のピクセルのサブグループのうちの少なくとも1つについて、該グループに対応する少なくとも1つのパラメータに基づき、サブグループパラメータのセットを抽出してよい。サブグループは、GOP(Groups of Picture)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(Coding Units:CU)、ブロック、変換ユニット(Transform Units:TU)、予測ユニット(Prediction Units:PU)、等を含み得る。パーサ(520)は、符号化ビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトル、等のような情報も抽出してよい。
【0072】
パーサ(520)は、バッファメモリから受信したビデオシーケンスに対してエントロピー復号/パース動作を実行して、シンボル(521)を生成してよい。
【0073】
シンボル(521)の再構成は、コーディングビデオピクチャ又はその部分の種類(例えば、インター及びイントラピクチャ、インター及びイントラブロック)及び他の要因に依存して、複数の異なるユニットを含み得る。どのユニットがどのように含まれるかは、パーサ(520)によりコーディングビデオシーケンスからパースされたサブグループ制御情報により制御できる。パーサ(520)と以下の複数のユニットとの間のこのようなサブグループ制御情報のフローは、明確さのために示されない。
【0074】
既に言及した機能ブロックを超えて、ビデオデコーダ(510)は、後述のように、多数の機能ユニットに概念的に細分化できる。商用的制約の下で動作する実際の実装では、これらのユニットの多くは、互いに密に相互作用し、少なくとも部分的に互いに統合され得る。しかしながら、開示の主題を説明する目的で、機能ユニットへの以下の概念的細分化は適切である。
【0075】
第1ユニットは、スケーラ/逆変換ユニット551である。スケーラ/逆変換ユニット(551)は、量子化された変換係数、及び、どの変換を使用すべきか、ブロックサイズ、量子化係数、量子化スケーリングマトリクス、等を含む制御情報を、パーサ(520)からのシンボル(521)として受信する。スケーラ/逆変換ユニット(551)はアグリゲータ(555)に入力され得るサンプル値を含むブロックを出力できる。
【0076】
幾つかの例では、スケーラ/逆変換ユニット(551)の出力サンプルは、イントラコーディングブロック、つまり、前に再構成されたピクチャからの予測情報を使用しないが現在ピクチャの前に再構成された部分からの予測情報を使用可能なブロック、に属することができる。このような予測情報は、イントラピクチャ予測ユニット(552)により提供できる。幾つかの場合には、イントラピクチャ予測ユニット(552)は、再構成中のブロックと同じサイズ及び形状のブロックを、現在ピクチャバッファ(558)からフェッチした周囲の既に再構成された情報を用いて、生成する。現在ピクチャバッファ(558)は、例えば、再構成された現在ピクチャを部分的に及び/又は再構成された現在ピクチャを完全にバッファリングする。アグリゲータ(555)は、幾つかの場合には、サンプル毎に、イントラ予測ユニット(552)の生成した予測情報を、スケーラ/逆変換ユニット(551)により提供された出力サンプル情報に追加する。
【0077】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされた、場合によっては動き補償されたブロックに関連し得る。このような場合には、動き補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測ために使用されるサンプルをフェッチできる。ブロックに関連するシンボル(521)に従いフェッチしたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ(555)により、出力サンプル情報を生成するために、スケーラ/逆変換ユニット(551)の出力に追加され得る(この場合、残差サンプル又は残差信号と呼ばれる)。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えばX、Y及び参照ピクチャコンポーネントを有し得るシンボル(521)の形式で、動き補償予測ユニット(553)の利用可能な動きベクトルにより制御できる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるとき参照ピクチャメモリ(557)からフェッチされたサンプル値の補間、動きベクトル予測メカニズム、等を含み得る。
【0078】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において種々のループフィルタリング技術を受け得る。ビデオ圧縮技術は、コーディングビデオシーケンス(コーディングビデオビットストリームとも呼ばれる)に含まれ且つパーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされたパラメータにより制御されるが、コーディングピクチャ又はコーディングビデオシーケンスの(復号順序で)前の部分の復号中に取得されたメタ情報にも応答し、前に再構成されループフィルタリングされたサンプル値にも応答し得るインループフィルタ技術を含み得る。
【0079】
ループフィルタユニット(556)の出力は、レンダー装置へと出力でき及び将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)に格納され得るサンプルストリームであり得る。
【0080】
特定のコーディングピクチャは、一旦完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。例えば、現在ピクチャに対応するコーディングピクチャが完全に再構成され、コーディングピクチャが(例えばパーサ(520)により)参照ピクチャとして識別されると、現在ピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部になることができ、後続のコーディングピクチャの再構成を開始する前に、新鮮な現在ピクチャバッファを再割り当てできる。
【0081】
ビデオデコーダ(510)は、ITU-T Rec.H.265のような標準の所定のビデオ圧縮技術に従い復号動作を実行してよい。コーディングビデオシーケンスがビデオ圧縮技術又は規格、及びビデオ圧縮技術又は規格において文書化されたプロファイルの両方に従うという意味で、コーディングビデオシーケンスは、使用中のビデオ圧縮技術又は規格により指定されたシンタックスに従ってよい。具体的に、プロファイルは、ビデオ圧縮技術又は標準において利用可能な全部のツールから、プロファイルの下でのみ使用可能なツールとして、特定のツールを選択できる。また、遵守のために必要なことは、コーディングビデオシーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルにより定められる限界の範囲内であることであり得る。幾つかの場合には、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えばメガサンプル/秒で測定される)、最大参照ピクチャサイズ、等を制限する。レベルにより設定される限界は、幾つかの場合には、HRD(Hypothetical Reference Decoder)仕様及びコーディングビデオシーケンスの中でシグナリングされるHRDバッファ管理のためのメタデータを通じて更に制限され得る。
【0082】
図6は、本開示の一実施形態によるビデオエンコーダ(603)のブロック図を示す。ビデオデコーダ(603)は、ポイントクラウドを圧縮するV-PCCエンコーダ(300)内で使用できる。例では、ビデオ圧縮モジュール(322)と(323)、及びビデオ圧縮モジュール(332)は、エンコーダ(603)と同様に設定されている。
【0083】
ビデオエンコーダ(603)は、パディングされたジオメトリ画像、パディングされたテクスチャ画像などの画像を受信し、圧縮された画像を生成できる。
【0084】
実施形態によると、ビデオエンコーダ(603)は、ソースビデオシーケンス(画像)のピクチャを、コーディングビデオシーケンス(圧縮された画像)へと、リアルタイムに又はアプリケーションにより要求される任意の他の時間制約の下でコーディングし圧縮してよい。適切なコーディング速度の実施は、制御部(650)の1つの機能である。幾つかの実施形態では、制御部(650)は、後述する他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確さのために図示されない。制御部(650)により設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、GOP(group of pictures)レイアウト、最大動きベクトル探索範囲、等を含み得る。制御部(650)は、特定のシステム設計に最適化されたビデオエンコーダ(603)に関連する他の適切な機能を有するよう構成され得る。
【0085】
幾つかの実施形態では、ビデオエンコーダ(603)は、コーディングループの中で動作するよう構成される。非常に簡略化された説明として、一例では、コーディングループは、ソースコーダ(630)(例えば、シンボルストリームのようなシンボルを、コーディングされるべき入力ピクチャ及び参照ピクチャに基づき生成することを担う)、及びビデオエンコーダ(603)に内蔵された(ローカル)デコーダ(633)を含み得る。デコーダ(633)は、(シンボルとコーディングビットストリームとの間の任意の圧縮が、開示の主題において検討されるビデオ圧縮技術において無損失であるとき)(遠隔にある)デコーダが生成するのと同様の方法で、シンボルを再構成して、サンプルデータを生成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号が、デコーダ位置(ローカル又はリモート)と独立にビット正確な結果をもたらすとき、参照ピクチャメモリ(634)の内容も、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分が、復号中に予測を用いるときデコーダが「見る」のと正確に同じサンプル値を、参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(及び、例えばチャネルエラーのために同期生が維持できない場合には、結果として生じるドリフト)は、幾つかの関連技術で同様に使用される。
【0086】
「ローカル」デコーダ(633)の動作は、図5と関連して以上に詳述したビデオデコーダ(510)のような「リモート」デコーダのものと同じであり得る。簡単に図5も参照すると、しかしながら、シンボルが利用可能であり、エントロピーコーダ(645)及びパーサ(520)による符号化ビデオシーケンスへのシンボルの符号化/復号が無損失であり得るので、パーサ(520)を含むビデオデコーダ(510)のエントロピー復号部分は、ローカルデコーダ(633)に完全に実装されなくてよい。
【0087】
動作中、幾つかの例では、ソースコーダ(630)は、動き補償された予測コーディングを実行してよい。これは、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の前にコーディングされたピクチャを参照して予測的に入力ピクチャをコーディングする。この方法では、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する予測基準として選択されてよい参照ピクチャのピクセルブロックとの間の差分をコーディングする。
【0088】
ローカルビデオデコーダ(633)は、ソースコーダ(630)により生成されたシンボルに基づき、参照ピクチャとして指定されてよいピクチャのコーディングビデオデータを復号してよい。コーディングエンジン(632)の動作は、有利なことに、損失処理であってよい。コーディングビデオデータがビデオデコーダ(図6に図示されない)において復号され得るとき、再構成ビデオシーケンスは、標準的に、幾つかのエラーを有するソースビデオシーケンスの複製であってよい。ローカルビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダにより実行され得る復号処理を複製し、参照ピクチャキャッシュ(634)に格納されるべき再構成参照ピクチャを生じ得る。このように、ビデオエンコーダ(603)は、(伝送誤りが無ければ)遠端ビデオデコーダにより取得される再構成参照ピクチャと共通の内容を有する再構成参照ピクチャのコピーを格納してよい。
【0089】
予測器(635)は、コーディングエンジン(632)のために予測探索を実行してよい。つまり、符号化されるべき新しいピクチャについて、予測器(635)は、新しいピクチャのための適切な予測基準として機能し得る(候補参照ピクセルブロックのような)サンプルデータ又は参照ピクチャ動きベクトル、ブロック形状、等のような特定のメタデータについて、参照ピクチャメモリ(634)を検索してよい。予測器(635)は、適切な予測基準を見付けるために、サンプルブロック-ピクセルブロック毎に動作してよい。幾つかの例では、予測器(635)により取得された検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に格納された複数の参照ピクチャから引き出された予測基準を有してよい。
【0090】
制御部(650)は、例えば、ビデオデータの符号化のために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理してよい。
【0091】
全ての前述の機能ユニットの出力は、エントロピーコーダ(645)におけるエントロピーコーディングを受けてよい。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディング、等のような技術に従いシンボルを無損失圧縮することにより、種々の機能ユニットにより生成されたシンボルを、コーディングビデオシーケンスへと変換する。
【0092】
制御部(650)は、ビデオエンコーダ(603)の動作を管理してよい。コーディング中、制御部(650)は、各々のピクチャに適用され得るコーディング技術に影響し得る特定のコーディングピクチャタイプを、各コーディングピクチャに割り当ててよい。例えば、ピクチャは、多くの場合、以下のピクチャタイプのうちの1つとして割り当てられてよい。
【0093】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のピクチャを使用せずにコーディング及び復号され得るピクチャであってよい。幾つかのビデオコーデックは、例えばIDR(Independent Decoder Refresh)ピクチャを含む異なる種類のイントラピクチャを許容する。当業者は、Iピクチャの変形、及びそれらの個々の適用及び特徴を認識する。
【0094】
予測ピクチャ(Pピクチャ)は、殆どの場合、各ブロックのサンプル値を予測するために1つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いてコーディング及び復号され得るピクチャであってよい。
【0095】
双方向予測ピクチャ(Bピクチャ、Bi-directionally Predictive Picture (B Picture))は、各ブロックのサンプル値を予測するために最大で2つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いてコーディング及び復号され得るピクチャであってよい。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために、2つより多くの参照ピクチャ及び関連付けられたメタデータを使用できる。
【0096】
ソースピクチャは、一般に、複数のサンプルブロック(例えば、各々4×4、8×8、4×8、又は16×16個のサンプルのブロック)に空間的に細分化され、ブロック毎にコーディングされてよい。ブロックは、ブロックの各々のピクチャに適用されるコーディング割り当てにより決定される他の(既にコーディングされた)ブロックへの参照により予測的にコーディングされてよい。例えば、Iピクチャのブロックは、非予測的にコーディングされてよく、又はそれらは同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの前にコーディングされた参照ピクチャを参照して、空間予測を介して又は時間予測を介して、予測的にコーディングされてよい。Bピクチャのブロックは、1つ又は2つの前にコーディングされた参照ピクチャを参照して、空間予測を介して又は時間予測を介して、予測的にコーディングされてよい。
【0097】
ビデオエンコーダ(603)は、ITU-T Rec. H.265のような所定のビデオコーディング技術又は規格に従いコーディング動作を実行してよい。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスの中の時間的及び空間的冗長性を利用する予測コーディング動作を含む種々の圧縮動作を実行してよい。コーディングビデオデータは、従って、使用されているビデオコーディング技術又は規格により指定されたシンタックスに従ってよい。
【0098】
ビデオは、時系列の中の複数のソースピクチャ(画像)の形式であってよい。イントラピクチャ予測(イントラ予測と省略されることがある)は、所与のピクチャの中の空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、符号化/復号中の特定のピクチャは、現在ピクチャと呼ばれ、ブロックにパーティションされる。現在ピクチャの中のブロックが、ビデオの中の前に符号化され且つ未だバッファリングされている参照ピクチャの中の参照ブロックと同様であるとき、現在ピクチャの中のブロックは、動きベクトルと呼ばれるベクトルにより符号化できる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用中である場合には、参照ピクチャを識別する第3次元を有することができる。
【0099】
幾つかの実施形態では、双予測(bi-prediction)技術が、インターピクチャ予測で使用できる。双予測技術によると、両方とも復号順序でビデオの中の現在ピクチャより前にある(が、各々表示順序で過去及び未来にあってよい)第1参照ピクチャ及び第2参照ピクチャのような2つの参照ピクチャが使用される。現在ピクチャ内のブロックは、第1参照ピクチャ内の第1参照ブロックを指す第1動きベクトル、及び第2参照ピクチャ内の第2参照ブロックを指す第2動きベクトルによりコーディングできる。ブロックは、第1参照ブロック及び第2参照ブロックの結合により予測できる。
【0100】
さらに、コーディング効率を向上するために、インターピクチャ予測においてマージモード技術が使用できる。
【0101】
本開示の幾つかの実施形態によると、インターピクチャ予測及びイントラピクチャ予測のような予測は、ブロックのユニットの中で実行される。例えば、HEVC規格によると、ビデオピクチャシーケンスの中のピクチャは、圧縮のためにコーディングツリーユニット(coding tree unit:CTU)にパーティションされる。ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、又は16×16ピクセルのような、同じサイズを有する。通常、CTUは、3個のコーディングツリーブロック(coding tree blocks:CTB)、つまり1個のルマCTB及び2個のクロマCTB、を含む。各CTUは、1又は複数の符号化ユニット(coding unit:CU)に再帰的に4分木分割できる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1個のCU、又は32×32ピクセルの4個のCU、又は16×16ピクセルの16個のCUに分割できる。一例では、各CUは、インター予測タイプ又はイントラ予測タイプのようなCUの予測タイプを決定するために分析される。CUは、時間的及び/又は空間的予測性に依存して、1つ以上の予測ユニット(prediction unit:PU)に分割される。通常、各PUは、ルマ予測ブロック(prediction block:PB)、及び2個のクロマPBを含む。一実施形態では、コーディング(符号化/復号)における予測演算が、予測ブロックのユニットの中で実行される。ルマ予測ブロックを予測ブロックの一例として用いると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル、等のようなピクセルについて値(例えば、ルマ値)のマトリクスを含む。
【0102】
図7は、幾つかの例による、G-PCCエンコーダ(700)のブロック図を示す。G-PCCエンコーダ(700)は、ポイントクラウドデータを受信し、ポイントクラウドデータを圧縮して、圧縮されたポイントクラウドデータを伝送するビットストリームを生成するように設定できる。実施形態では、G-PCCエンコーダ(700)は、位置量子化モジュール(710)、重複ポイント除去モジュール(712)、8分木符号化モジュール(730)、属性転送モジュール(720)、詳細レベル(LOD)生成モジュール(740)、属性予測モジュール(750)、残差量子化モジュール(760)、算術コーディングモジュール(770)、逆残差量子化モジュール(780)、加算モジュール(781)、及び再構成された属性値を格納するメモリ(790)を含むことができる。
【0103】
図のように、G-PCCエンコーダ(700)で入力ポイントクラウド(701)を受信できる。ポイントクラウド(701)の位置(例えば、3D座標)は量子化モジュール(710)に提供される。量子化モジュール(710)は、量子化された位置を生成するために座標を量子化するように構成される。重複ポイント除去モジュール(712)は、量子化された位置を受け取り、重複ポイントを識別して除去するためのフィルタ処理を実行するように構成される。8分木符号化モジュール(730)は、重複ポイント除去モジュール(712)からフィルタリングされた位置を受け取り、8分木に基づく符号化処理を実行して、ボクセルの3Dグリッドを記述する占有コードのシーケンスを生成するように構成される。占有コードは、算術コーディングモジュール(770)に提供される。
【0104】
属性転送モジュール(720)は、入力ポイントクラウドの属性を受信し、複数の属性値が各々のボクセルに関連付けられている場合に、各ボクセルの属性値を決定するための属性転送処理を実行するように構成されている。属性転送処理は、8分木符号化モジュール(730)から出力された並べ替えられたポイントに対して実行できる。転送操作後の属性は、属性予測モジュール(750)に提供される。LOD生成モジュール(740)は、8分木符号化モジュール(730)から出力された並べ替えられたポイントで動作し、ポイントを異なるLODに再編成するように構成されている。LOD情報は、属性予測モジュール(750)に提供される。
【0105】
属性予測モジュール(750)は、LOD生成モジュール(740)からのLOD情報によって示されるLODに基づく順序に従ってポイントを処理する。属性予測モジュール(750)は、メモリ(790)に格納された現在ポイントの隣接するポイントの集合の再構成された属性に基づいて、現在ポイントの属性予測を生成する。予測残差は、その後、属性転送モジュール(720)から受け取った元の属性値と、ローカルに生成された属性予測に基づいて取得することができる。候補インデックスが各々の属性予測処理で使用される場合、選択された予測候補に対応するインデックスを算術コーディングモジュール(770)に提供することができる。
【0106】
残差量子化モジュール(760)は、属性予測モジュール(750)から予測残差を受け取り、量子化を実行して量子化された残差を生成するように構成される。量子化された残差は、算術コーディングモジュール(770)に提供される。
【0107】
逆残差量子化モジュール(780)は、残差量子化モジュール(760)から量子化された残差を受け取り、残差量子化モジュール(760)で実行される量子化操作の逆を実行することによって再構成された予測残差を生成するように構成される。加算モジュール(781)は、逆残差量子化モジュール(780)から再構成された予測残差を受け取り、属性予測モジュール(750)から各々の属性予測を受け取るように構成される。再構成された予測残差と属性予測を組み合わせることで、再構成された属性値が生成され、メモリ(790)に格納される。
【0108】
算術コーディングモジュール(770)は、占有コード、候補インデックス(使用されている場合)、量子化された残差(生成されている場合)、及びその他の情報を受信し、受信した値又は情報をさらに圧縮するためにエントロピー符号化を実行するように構成される。その結果、圧縮された情報を運ぶ圧縮されたビットストリーム(702)を生成することができる。ビットストリーム(702)は、圧縮されたビットストリームを復号するデコーダに送信されるか又は提供されるか、又はストレージ装置に格納される場合がある。
【0109】
図8は、実施形態による、G-PCC(800)のブロック図を示す。G-PCCデコーダ(800)は、圧縮されたビットストリームを受信し、ポイントクラウドデータの伸長を実行してビットストリームを伸長し、復号されたポイントクラウドデータを生成するように設定できる。実施形態では、G-PCCデコーダ(800)は、算術復号モジュール(810)、逆残差量子化モジュール(820)、8分木復号モジュール(830)、LOD生成モジュール(840)、属性予測モジュール(850)、及び再構成された属性値を格納するメモリ(860)を含めることができる。
【0110】
図示のように、圧縮されたビットストリーム(801)は算術復号モジュール(810)で受信できる。算術復号モジュール(810)は、圧縮されたビットストリーム(801)を復号して、量子化された残差(生成された場合)とポイントクラウドの占有コードを取得するように構成されている。8分木復号モジュール(830)は、占有コードに従ってポイントクラウド内のポイントの再構成される位置を決定するように構成されている。LOD生成モジュール(840)は、再構成された位置に基づいてポイントを異なるLODに再編成し、LODに基づく順序を決定するように構成されている。逆残差量子化モジュール(820)は、算術復号モジュール(810)から受信した量子化された残差に基づいて再構成された残差を生成するように構成されている。
【0111】
属性予測モジュール(850)は、LODに基づく順序に従ってポイントの属性予測を決定する属性予測処理を実行するように構成されている。例えば、現在ポイントの属性予測は、メモリ(860)に格納された現在ポイントの隣接ポイントの再構成された属性値に基づいて決定することができる。幾つかの例では、属性予測を各々の再構成された残差と組み合わせて、現在ポイントの再構成された属性を生成することができる。
【0112】
属性予測モジュール(850)から生成された再構成された属性のシーケンスは、8分木復号モジュール(830)から生成された再構成された位置とともに、一例ではG-PCCデコーダ(800)から出力される復号されたポイントクラウド(802)に対応する。さらに、再構成された属性もメモリ(860)に格納され、その後、後続のポイントの属性予測を導出するために使用することができる。
【0113】
様々な実施形態において、エンコーダ(300)、デコーダ(400)、エンコーダ(700)、及び/又はデコーダ(800)は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実装することができる。例えば、エンコーダ(300)、デコーダ(400)、エンコーダ(700)、及び/又はデコーダ(800)は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、ソフトウェアの有無にかかわらず動作する1つ以上の集積回路(IC)などの処理回路で実装することができる。別の例では、エンコーダ(300)、デコーダ(400)、エンコーダ(700)、及び/又はデコーダ(800)は、不揮発性(又は非一時的)コンピュータ可読記憶媒体に格納された命令を含むソフトウェア又はファームウェアとして実装することができる。命令は、1つ以上のプロセッサなどの処理回路によって実行されると、処理回路にエンコーダ(300)、デコーダ(400)、エンコーダ(700)、及び/又はデコーダ(800)の機能を実行させる。
【0114】
ここで開示されている属性予測技術を実装するように構成された属性予測モジュール(750)及び(850)は、図7及び図8に示されているものと類似又は異なる構造を持つ可能性のある他のデコーダ又はエンコーダに含めることができることに留意されたい。さらに、エンコーダ(700)及びデコーダ(800)は、同じ装置に含めることも、様々な例で別々の装置に含めることもできる。
【0115】
開示の幾つかの態様によると、メッシュ圧縮はPCCコーディングツールとは異なるコーディングツールを使用することも、上記のPCC(例えば、G-PCC、V-PCC)エンコーダ、上記のPCC(例えば、G-PCC、V-PCC)デコーダなどのPCCコーディングツールを使用することもできる。
【0116】
オブジェクトのメッシュ(メッシュモデル、メッシュフレームとも呼ばれる)には、オブジェクトの表面を記述する多角形を含めることができる。各多角形は、3D空間内の多角形の頂点と、頂点を多角形に接続するエッジによって定義できる。頂点がどのように接続されているかの情報(例えば、エッジの情報)は、接続性情報と呼ばれる。幾つかの例では、オブジェクトのメッシュは、オブジェクトの表面を記述する接続された三角形によって形成される。エッジを共有する2つの三角形は、2つの接続された三角形と呼ばれる。他の幾つかの例では、オブジェクトのメッシュは、接続された四角形によって形成される。エッジを共有する2つの四角形は、2つの接続された四角形と呼ぶことができる。メッシュは、他の適切な多角形によって形成できることに注意する。
【0117】
幾つかの例では、メッシュには、頂点に関連付けられた色、法線(normal)などの属性も含めることができる。2D属性マップでメッシュをパラメータ化するマッピング情報を利用することで、属性をメッシュの表面に関連付けることができる。マッピング情報は通常、メッシュの頂点に関連付けられたUV座標又はテクスチャ座標と呼ばれる一連のパラメータ座標によって記述される。2D属性マップ(例によってはテクスチャマップと呼ばれる)は、テクスチャ、法線、変位などの高解像度の属性情報を格納するために使用される。このような情報はテクスチャマッピングやシェーディングなどの様々な目的に使用できる。
【0118】
幾つかの実施形態では、メッシュには、ジオメトリ情報、接続性情報、マッピング情報、頂点属性、及び属性マップと呼ばれるコンポーネントを含めることができる。幾つかの例では、ジオメトリ情報は、メッシュの頂点に関連付けられた3D位置のセットによって記述される。例では、(x,y,z)座標を使用して頂点の3D位置を記述でき、3D座標とも呼ばれる。幾つかの例では、接続性情報に、頂点を接続して3D表面を作成する方法を記述する頂点インデックスのセットが含まれている。幾つかの例では、マッピング情報に、メッシュ表面を平面の2D領域にマッピングする方法が記述されている。例では、マッピング情報は、接続性情報とともに、メッシュ頂点に関連付けられたUVパラメータ/テクスチャ座標(u,v)のセットによって記述される。幾つかの例では、頂点属性には、メッシュ頂点に関連付けられたスカラ又はベクトル属性値が含まれる。一部の例では、属性マップにメッシュ表面に関連付けられた属性が含まれ、2D画像/ビデオとして保存される。例では、ビデオ(例えば、2D画像/ビデオ)とメッシュ表面との間のマッピングは、マッピング情報によって定義される。
【0119】
開示の態様によると、3Dドメイン内のメッシュの表面を2Dドメインにマッピングするために、UVマッピング又はメッシュパラメータ化と呼ばれる幾つかの手法が使用される。幾つかの例では、メッシュは3Dドメイン内のパッチにパーティションされる。パッチは、境界エッジで形成された境界を持つメッシュの連続したサブセットである。パッチの境界エッジは、パッチの1つの多角形のみに属し、パッチ内の隣接する2つの多角形によって共有されないエッジである。パッチ内の境界エッジの頂点は、パッチの境界頂点と呼ばれ、パッチ内の非境界頂点は、例によってはパッチの内部頂点と呼ばれることがある。
【0120】
幾つかの例では、オブジェクトのメッシュは接続された三角形によって形成され、メッシュはパッチにパーティションでき、各パッチは接続された三角形のサブセットである。パッチの境界エッジは、パッチ内の1つの三角形のみに属し、パッチ内の隣接する三角形によって共有されないエッジである。パッチ内の境界エッジの頂点は、パッチの境界頂点と呼ばれ、パッチ内の非境界頂点は、例によってはパッチの内部頂点と呼ばれることがある。境界ループには境界頂点のシーケンスが含まれ、境界頂点のシーケンスによって形成される境界エッジは、境界ループと呼ばれるループを形成できる。
【0121】
開示の態様によると、幾つかの例では、パッチは各々2D形状(UVパッチとも呼ばれる)にパラメータ化される。2D形状は、幾つかの例ではアトラスとも呼ばれるマップにパック(例えば、方向付けられ、配置される)することができる。幾つかの例では、2D画像又はビデオ処理技術を使用してマップをさらに処理できる。
【0122】
例では、UVマッピング技術によって、3Dメッシュのパッチに対応する2DのUVアトラス(UVマップとも呼ばれる)と1つ以上のテクスチャアトラス(テクスチャマップとも呼ばれる)が生成される。UVアトラスには、3Dメッシュの3D頂点の2Dドメイン(例えば、長方形)内の2Dポイントへの割り当てが含まれる。UVアトラスは、3D表面の座標から2Dドメインの座標へのマッピングである。例では、UVアトラス内の2D座標(u,v)にあるポイントは、3Dドメイン内の頂点の座標(x,y,z)によって形成される値を持つ。例では、テクスチャアトラスに3Dメッシュの色情報が含まれている。例えば、テクスチャアトラスの2D座標(u,v)にあるポイント(UVアトラスで(x,y,z)の3D値を持つ)には、3Dドメインの(x,y,z)にあるポイントの色属性を指定する色がある。例によっては、3D領域の座標(x,y,z)はD座標又はxyz座標と呼ばれ、2D座標(u,v)はUV座標又はUV座標と呼ばれることがある。
【0123】
開示の幾つかの態様によると、メッシュ圧縮は、1つ以上の2Dマップ(幾つかの例では2Dアトラスとも呼ばれる)を使用してメッシュを表現し、次に画像又はビデオコーデックを使用して2Dマップを符号化することによって実行できる。2Dマップの生成には、様々な手法を使用できる。
【0124】
図9は、幾つかの例における3Dメッシュ(910)の2Dアトラス(920)へのマッピングを示す図を示す。図9の例では、3Dメッシュ(910)は、4つのパッチA~Dを形成する4つの頂点1~4を含む。各パッチには、頂点のセットと関連する属性情報がある。例えば、パッチAは、三角形に接続された頂点1、2、3によって形成される。パッチBは、三角形に接続された頂点1、3、4によって形成される。パッチCは、三角形に接続された頂点1、2、4によって形成される。パッチDは、三角形に接続された頂点2、3、4によって形成される。幾つかの例では、頂点1、2、3、4は各々の属性を持つことができ、頂点1、2、3、4によって形成される三角形は各々の属性を持つことができる。
【0125】
例では、3DのパッチA、B、C、Dは、UVアトラス(920)又はマップ(920)とも呼ばれる2Dアトラス(920)などの2Dドメインにマッピングされる。例えば、パッチAはマップ(920)で2D形状(UVパッチとも呼ばれる)A'にマッピングされ、パッチBはマップ(920)で2D形状(UVパッチとも呼ばれる)B'にマッピングされ、パッチCはマップ(920)で2D形状(UVパッチとも呼ばれる)C'にマッピングされ、パッチDはマップ(920)で2D形状(UVパッチとも呼ばれる)D'にマッピングされる。幾つかの例では、3Dドメインの座標は(x,y,z)座標と呼ばれ、マップ(920)などの2Dドメインの座標はUV座標と呼ばれる。3Dメッシュ内の頂点は、マップ(920)内で対応するUV座標を持つことができる。
【0126】
マップ(920)は、ジオメトリ情報を含むジオメトリマップにすることも、カラー、法線、テキスタイル、又はその他の属性情報を含むテクスチャマップにすることも、占有情報を有する占有マップにすることもできる。
【0127】
図9の例では、各パッチは三角形で表されるが、パッチには、メッシュの連続したサブセットを形成するために接続されている任意の適切な数の頂点を含めることができることに注意する。幾つかの例では、パッチ内の頂点が三角形に接続されている。パッチ内の頂点は、他の適切な形状を使用して接続できることに注意する。
【0128】
例では、頂点のジオメトリ情報を2Dジオメトリマップに格納できる。例えば、2Dジオメトリマップは、2Dジオメトリマップ内の対応するポイントにおけるサンプリングポイントの(x,y,z)座標を格納する。例えば、(u,v)位置にある2Dジオメトリマップ内のポイントは、3Dメッシュ内の対応するサンプリングポイントのx、y、zの値に各々対応する3つのコンポーネントのベクトル値である。
【0129】
開示の態様によると、マップ内の領域が完全に占有されていない場合がある。例えば、図9では、2D形状A’、B’、C’、D’の外側の領域は未定義である。復号後の2D形状A'、B'、C'、D'の外側の領域のサンプル値は破棄できる。場合によっては、占有マップを使用して、ピクセルがパッチに属しているかどうか、又は未定義であるかどうかを識別するバイナリ値を格納するなど、ピクセル毎に何らかの追加情報を格納する。
【0130】
開示の態様によると、動的メッシュは、コンポーネント(ジオメトリ情報、接続性情報、マッピング情報、頂点属性、属性マップ)の少なくとも1つが時間によって変化するメッシュである。動的メッシュは、一連のメッシュ(メッシュフレームとも呼ばれる)によって記述できる。幾つかの例では、動的メッシュのメッシュフレームは異なる時間のオブジェクトの表面の表現であり、各メッシュフレームは特定の時間のオブジェクトの表面の表現である(時間インスタンスとも呼ばれる)。動的メッシュには、時間の経過とともに変化する大量の情報が含まれる場合があるため、大量のデータが必要になることがある。メッシュの圧縮技術は、メッシュ表現でメディアコンテンツを効率的に保存及び送信することを可能にする。
【0131】
幾つかの例では、動的メッシュは、一定の接続性情報、時変ジオメトリ、及び時変頂点属性を持つことができる。幾つかの例では、動的メッシュは、時変接続性情報を持つことができる。例では、デジタルコンテンツ作成ツールは通常、時変属性マップと時変接続性情報を持つ動的メッシュを生成する。幾つかの例では、動的メッシュの生成にボリューム(volumetric)取得技術が使用されている。ボリューム取得技術は、特にリアルタイムの制約の下で、時変接続性情報を持つ動的メッシュを生成できる。
【0132】
開示の幾つかの態様によると、上記のPCC(例えば、G-PCC、V-PCC)エンコーダとデコーダは、静的メッシュ圧縮、動的メッシュ圧縮、一定の接続性情報を持つ動的メッシュの圧縮、時変接続性情報を持つ動的メッシュの圧縮、時変属性マップを持つ動的メッシュの圧縮など、メッシュ圧縮の枠組みで使用できる。
【0133】
図10は、本開示の幾つかの実施形態によるなメッシュ圧縮のためのフレームワーク(1000)の図を示す。フレームワーク(1000)は、メッシュエンコーダ(1010)とメッシュデコーダ(1050)を含む。メッシュエンコーダ(1010)は入力メッシュ(1005)(動的メッシュの場合はメッシュフレーム)をビットストリーム(1045)に符号化し、メッシュデコーダ(1050)はビットストリーム(1045)を復号して再構成されたメッシュ(1095)(動的メッシュの場合はメッシュフレーム)を生成する。
【0134】
メッシュエンコーダ(1010)は、コンピュータ、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ゲーム装置、AR装置、VR装置など、任意の適切な装置とすることができる。メッシュデコーダ(1050)は、コンピュータ、クライアントコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ゲーム装置、AR装置、VR装置など、任意の適切な装置とすることができる。ビットストリーム(1045)は、ネットワーク(図示されない)を介してメッシュエンコーダ(1010)からメッシュデコーダ(1050)に送信することができる。
【0135】
図10の例では、メッシュエンコーダ(1010)は、前処理モジュール(1011)と、PCCエンコーダ(1040)、ビデオエンコーダ(1041)、属性エンコーダ(1042)などの複数のエンコーダと、を含む。
【0136】
前処理モジュール(1011)は、入力メッシュ(1005)を複数のエンコーダによる符号化のための複数のセクションを持つ適切なインターメディアデータに変換するように構成される。例では、前処理モジュール(1011)は、入力メッシュ(1005)を、3Dグリッド上の同じサイズのブロックのコレクションを含むボクセル化されたメッシュに変換することができる。ボクセル化されたメッシュは、ボリュームと接続性に関する情報を保持することができる。
【0137】
例では、入力メッシュ(1005)の情報は、頂点(1021)、テクスチャマップ(1022)、及びその他の属性(1023)に変換できる。頂点(1021)には、頂点の位置を記述する(x,y,z)座標など、頂点のジオメトリ情報を含めることができる。頂点(1021)には、法線、色の反射率などの頂点属性を含めることもできる。テクスチャマップ(1022)(例によっては属性マップとも呼ばれる)は、メッシュ表面に関連付けられた属性である。幾つかの例では、一連のメッシュフレームのテクスチャマップ(1022)がビデオシーケンスを形成することができる。他の属性(1023)には、PCCエンコーダでコーディングできない可能性のある属性を含めることができる。幾つかの例では、他の属性(1023)には、3次元座標(例えば(x,y,z))の2D座標(例えば、UV座標(u,v))とのマッピングなどのマッピング情報が含まれる。
【0138】
開示の態様によれば、頂点(1021)はポイントクラウドとして見ることができ、PCCエンコーダ(1040)によってコーディングすることができる。PCCエンコーダ(1040)は、V-PCCエンコーダ、G-PCCなど、任意の適切なPCCエンコーダとすることができる。なお、法線、色、反射率などの頂点属性(頂点に関連する属性)は、PCCエンコーダ(1040)で符号化することができる。
【0139】
テクスチャマップ(1022)は、ビデオシーケンスとして見ることができ、ビデオエンコーダ(1041)で符号化することができる。幾つかの例では、テクスチャマップ(1022)は入力メッシュ(1005)の元のテクスチャマップとは異なる場合がある。テクスチャマップ(1022)は任意の適切なアルゴリズムで生成できる。
【0140】
PCCエンコーダ(1040)とビデオエンコーダ(1041)でコーディングできない可能性のあるその他の属性(1023)は、属性エンコーダ(1042)で符号化できる。属性エンコーダ(1042)は、その他の属性(1023)の符号化に適したその他の属性符号化技術で実装できる。例えば、その他の属性(1023)はUV座標(u,v)を含み、属性エンコーダ(1042)はUV座標(u,v)を符号化するように設定される。
【0141】
図10の例では、PCCエンコーダ1040、ビデオエンコーダ(1041)、及び属性エンコーダ(1042)からの符号化された出力が、入力メッシュ(1005)の符号化されたメッシュを伝送するビットストリーム(1045)にミックス(例えば多重化)される。
【0142】
図10の例では、メッシュデコーダ(1050)は、ビットストリーム(1045)を、PCCデコーダ(1060)、ビデオデコーダ(1061)、属性デコーダ(1062)などの複数のデコーダによって各々復号されるセクションに逆多重化することができる。
【0143】
例では、PCCデコーダ(1060)はPCCエンコーダ(1040)に対応し、PCCエンコーダ(1040)によって符号化されるビットストリーム(1045)のセクションを復号できる。PCCデコーダ(1060)は、メッシュの頂点であるポイントを持つポイントクラウド(1065)を生成できる。
【0144】
接続性生成モジュール(1070)は、ポイントクラウド(1065)内の復号されたポイント(メッシュの文脈では頂点)から接続性情報(1075)(トポロジとも呼ばれる)を推定できる。接続性生成モジュール(1070)は、任意の適切なアルゴリズムを使用して、頂点の接続性情報を推定できることに注意する。
【0145】
図10の例では、ポイントクラウド(1065)と接続性情報(1075)がメッシュ再構成モジュール(1080)に提供される。
【0146】
例では、ビデオデコーダ(1061)はビデオエンコーダ(1041)に対応し、ビデオエンコーダ(1041)によって符号化されるビットストリーム(1045)のセクションを復号できる。ビデオデコーダ(1061)は、復号されたテクスチャマップ(1066)を生成できる。復号されたテクスチャマップ(1066)は、メッシュ再構成モジュール(1080)に提供される。
【0147】
例では、属性デコーダ(1062)は属性エンコーダ(1042)に対応し、属性エンコーダ(1042)によって符号化されるビットストリーム(1045)のセクションを復号できる。属性デコーダ(1062)は、復号された属性(1067)を生成できる。復号された属性(1067)は、メッシュ再構成モジュール(1080)に提供される。
【0148】
メッシュ再構成モジュール(1080)は、ポイントクラウド(1065)、接続性情報(1075)、復号されたテクスチャマップ(1066)、及び復号された属性(1067)を受け取り、それに応じて再構成されたメッシュ(1095)を生成する。例えば、PCCデコーダ(1060)からのポイントクラウド(1065)は、再構成されたメッシュ(1095)の再構成のための頂点と頂点属性のジオメトリ情報を提供できる。接続性生成モジュール(1070)によって決定された接続性情報(1075)は、再構成されたメッシュ(1095)の再構成のための接続性情報を提供できる。復号されたテクスチャマップ(1066)は、再構成されたメッシュ(1095)の再構成のためのテクスチャマップを提供でき、復号された属性(1067)は、再構成されたメッシュ(1095)の再構成のための他の属性を提供できる。
【0149】
前処理モジュール(1011)、PCCエンコーダ(1040)、ビデオエンコーダ(1041)、属性エンコーダ(1042)などのメッシュエンコーダ(1010)のコンポーネントは、様々な手法で各々実装できることに注意する。例では、コンポーネントは集積回路によって実装される。別の例では、1つ以上のプロセッサで実行できるソフトウェアを使用してコンポーネントが実装される。
【0150】
PCCデコーダ(1060)、接続性生成モジュール(1070)、メッシュ再構成モジュール(1080)、ビデオデコーダ(1061)、属性デコーダ(1062)などのメッシュデコーダ(1050)のコンポーネントは、様々な手法で各々実装できることに注意する。例では、コンポーネントは集積回路によって実装される。別の例では、1つ以上のプロセッサで実行できるソフトウェアを使用してコンポーネントが実装される。
【0151】
図11は、本開示の幾つかの実施形態によるなメッシュ圧縮のためのフレームワーク(1100)の図を示す。フレームワーク(1100)は、メッシュエンコーダ(1110)とメッシュデコーダ(1150)を含む。メッシュエンコーダ(1110)は入力メッシュ(1105)(動的メッシュの場合はメッシュフレーム)をビットストリーム(1145)に符号化し、メッシュデコーダ(1150)はビットストリーム(1145)を復号して再構成されたメッシュ(1195)(動的メッシュの場合はメッシュフレーム)を生成する。
【0152】
メッシュエンコーダ(1110)は、コンピュータ、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ゲーム装置、AR装置、VR装置など、任意の適切な装置とすることができる。メッシュデコーダ(1150)は、コンピュータ、クライアントコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ゲーム装置、AR装置、VR装置など、任意の適切な装置とすることができる。ビットストリーム(945)は、ネットワーク(図示されない)を介してメッシュエンコーダ(1110)からメッシュデコーダ(1150)に送信することができる。
【0153】
図11の例では、メッシュエンコーダ(1110)は、前処理モジュール(1111)と、PCCエンコーダ(1140)、ビデオエンコーダ(1141)、属性エンコーダ(1142)、接続性エンコーダ(1144)などの複数のエンコーダと、を含む。さらに、メッシュエンコーダは、PCCデコーダ(1130)と接続性生成モジュール(1131)を含む。
【0154】
前処理モジュール(1111)は、入力メッシュ(1105)を複数のエンコーダによる符号化のための複数のセクションを持つ適切なインターメディアデータに変換するように構成される。例では、前処理モジュール(1111)は、入力メッシュ(1105)を、3Dグリッド上の同じサイズのブロックのコレクションを含むボクセル化されたメッシュに変換することができる。ボクセル化されたメッシュは、ボリュームと接続性に関する情報を保持することができる。
【0155】
例では、入力メッシュ(1105)の情報は、頂点(1121)、接続性情報(1124)、テクスチャマップ(1122)、その他の属性(1123)に変換できる。頂点(1121)には、頂点の位置を記述する(x,y,z)座標など、頂点のジオメトリ情報を含めることができる。頂点(1121)には、法線、色の反射率などの頂点属性を含めることもできる。接続性情報(1124)(一部の例ではトポロジとも呼ばれる)には、入力メッシュ(1105)の接続性情報が含まれる。テクスチャマップ(1122)(一部の例では属性マップとも呼ばれる)はメッシュ表面に関連付けられた属性であり、テクスチャマップ(1122)はビデオシーケンスにすることができる。他の属性(1123)には、PCCエンコーダ(1140)とビデオエンコーダ(1141)でコーディングできない可能性のある属性を含めることができる。幾つかの例では、他の属性(1123)には、3D座標(例えば(x,y,z))の2D座標(例えば、UV座標(u,v))とのマッピングなどのマッピング情報が含まれる、。
【0156】
開示の態様によれば、頂点(1121)はポイントクラウドとして見ることができ、PCCエンコーダ(1140)によってコーディングすることができる。PCCエンコーダ(1140)は、V-PCCエンコーダ、G-PCCなど、任意の適切なPCCエンコーダとすることができる。なお、法線、色、反射率などの頂点属性(頂点に関連する属性)は、PCCエンコーダ(1140)で符号化することができる。
【0157】
開示の態様によれば、接続性エンコーダ(1144)は、接続性情報(1124)を直接符号化できる。
【0158】
開示の別の態様によれば、接続性エンコーダ(1144)は、接続性情報(1124)(元の接続性情報とも呼ばれる)と推定された接続性情報(1134)との間の接続性の差を符号化するように構成される。図11の例では、メッシュエンコーダ(1100)は、推定された接続性情報(1134)を生成するために、PCCデコーダ(1130)と接続性生成モジュール(1131)を含む。例では、PCCデコーダ(1130)はPCCエンコーダ(1140)に対応する。PCCデコーダ(1130)は、PCCエンコーダ(1140)によって符号化された情報を復号できる。PCCデコーダ(1130)は、符号化されたポイントクラウドのコピー(1132)を受信し、メッシュの頂点であるポイントを持つポイントクラウド(1133)を生成できる。
【0159】
接続性生成モジュール(1131)は、ポイントクラウド(1133)内の復号されたポイント(メッシュの文脈では頂点)から推定された接続性情報(1134)を生成できる。接続性生成モジュール(1131)は、任意の適切なアルゴリズムによって推定された接続性情報(1134)を推定及び生成できる。接続性エンコーダ(1144)は、元の接続性情報(1124)と推定された接続性情報(1134)を受け取り、推定された接続性情報(1134)と元の接続性情報(1124)の差をビットストリーム(1145)に符号化する。
【0160】
テクスチャマップ(1122)は、ビデオシーケンスとして見ることができ、ビデオエンコーダ(1141)で符号化することができる。幾つかの例では、テクスチャマップ(1122)は入力メッシュ(1105)の元のテクスチャマップとは異なる場合がある。テクスチャマップ(1122)は任意の適切なアルゴリズムで生成できる。
【0161】
PCCエンコーダ(1140)とビデオエンコーダ(1141)でコーディングできない可能性のあるその他の属性(1123)は、属性エンコーダ(1142)で符号化できる。属性エンコーダ(1142)は、その他の属性(1123)の符号化に適したその他の属性符号化技術で実装できる。例えば、その他の属性(1123)には、3D座標からUV座標へのマッピング情報が含まれており、属性エンコーダ(1142)はマッピング情報を符号化するように設定されている。
【0162】
図11の例では、PCCエンコーダ(1140)、接続性エンコーダ(1144)、ビデオエンコーダ(1141)、及び属性エンコーダ(1142)からの符号化された出力が、入力メッシュ(1105)に対応する符号化されたメッシュを伝送するビットストリーム(1145)にミックス(例えば多重化)される。
【0163】
図11の例では、メッシュデコーダ(1150)は、ビットストリーム(1145)を、PCCデコーダ(1160)、接続性デコーダ(1164)、ビデオデコーダ(1161)、及び属性デコーダ(1162)などの複数のデコーダによって各々復号されるセクションに逆多重化できる。
【0164】
例では、PCCデコーダ(1160)はPCCエンコーダ(1140)に対応し、PCCエンコーダ(1140)によって符号化されるビットストリーム(1145)のセクションを復号できる。PCCデコーダ(1160)は、メッシュの頂点であるポイントを持つポイントクラウド(1165)を生成できる。
【0165】
幾つかの例では、接続性生成モジュール(1170)は、ポイントクラウド(1165)内の復号されたポイント(メッシュの文脈では頂点)から接続性(トポロジ)を推定し、推定された接続性情報(1175)を出力できる。接続性生成モジュール(1170)は、任意の適切なアルゴリズムを使用して、頂点の推定された接続性情報(1175)を決定できることに注意する。
【0166】
図11の例では、復号されたポイントクラウド(1165)がメッシュ再構成モジュール(1180)に提供される。推定された接続性情報(1175)は、接続性デコーダ(1164)に提供される。
【0167】
接続性デコーダ(1164)は接続性エンコーダ(1144)に対応し、接続性エンコーダ(1144)によって符号化されるビットストリーム(1145)のセクションを復号できる。例では、接続性エンコーダ(1144)が接続性情報を直接符号化し、接続性デコーダ(1164)が接続性情報を復号して復号された接続性情報(1168)を生成し、復号された接続性情報(1168)をメッシュ再構成モジュール(1180)に提供する。別の例では、接続性エンコーダ(1144)が接続性の差を符号化し、接続性デコーダ(1164)が接続性の差を復号して、接続性の差と推定された接続性情報(1175)を組み合わせて、復号された接続性情報(1168)を出力できる。復号された接続性情報(1168)は、メッシュ再構成モジュール(1180)に提供できる。
【0168】
開示の態様によると、PCCデコーダ(1130)とPCCデコーダ(1160)は、同じ復号アルゴリズムを使用できる。さらに、接続性生成モジュール(1131)と接続性生成モジュール(1170)は、同じ接続性推定アルゴリズムを使用できる。
【0169】
例では、ビデオデコーダ(1161)はビデオエンコーダ(1141)に対応し、ビデオエンコーダ(1141)によって符号化されるビットストリーム(1145)のセクションを復号できる。ビデオデコーダ(1161)は、復号されたテクスチャマップ(1166)を生成できる。復号されたテクスチャマップ(1166)は、メッシュ再構成モジュール(1180)に提供される。
【0170】
例では、属性デコーダ(1162)は属性エンコーダ(1142)に対応し、属性エンコーダ(1142)によって符号化されるビットストリーム(1145)のセクションを復号できる。属性デコーダ(1162)は、復号された属性(1167)を生成できる。復号された属性(1167)は、メッシュ再構成モジュール(1180)に提供される。
【0171】
メッシュ再構成モジュール(1180)は、復号されたポイントクラウド(1165)、復号された接続性情報(1168)、復号されたテクスチャマップ(1166)、及び復号された属性(1167)を受け取り、それに応じて再構成されたメッシュ(1195)を生成する。例えば、PCCデコーダ(1160)からの復号されたポイントは、再構成されたメッシュ(1195)の再構成のための頂点のジオメトリ情報と頂点属性を提供できる。接続性デコーダ(1164)によって決定された復号された接続性情報(1168)は、再構成されたメッシュ(1195)の再構成のための接続性情報を提供できる。復号されたテクスチャマップ(1166)は、再構成されたメッシュ(1195)の再構成のためのテクスチャマップを提供でき、復号された属性(1167)は、再構成されたメッシュ(1195)の再構成のための他の属性を提供できる。
【0172】
前処理モジュール(1111)、PCCエンコーダ(1140)、ビデオエンコーダ(1141)、属性エンコーダ(1142)、PCCデコーダ(1130)、接続性生成モジュール(1131)、接続性エンコーダ(1144)などのメッシュエンコーダ(1110)内のコンポーネントは、様々な技術によって各々実装できることに注意する。例では、コンポーネントは集積回路によって実装される。別の例では、1つ以上のプロセッサで実行できるソフトウェアを使用してコンポーネントが実装される。
【0173】
PCCデコーダ(1160)、接続性生成モジュール(1170)、メッシュ再構成モジュール(1180)、ビデオデコーダ(1161)、属性デコーダ(1162)、接続性デコーダ(1164)などのメッシュデコーダ(1150)のコンポーネントは、様々な手法で各々実装できることに注意する。例では、コンポーネントは集積回路によって実装される。別の例では、1つ以上のプロセッサで実行できるソフトウェアを使用してコンポーネントが実装される。
【0174】
幾つかの例では、入力メッシュ(1005)、入力メッシュ(1105)などの入力メッシュは、頂点の3D座標(ジオメトリ情報)、頂点のUV座標(マッピング情報)、頂点(接続性情報)で形成される面(三角形などの多角形)、及びテクスチャマップを含む形式で提供される。幾つかの例では、トラッキング、再メッシュ化、パラメータ化、ボクセル化などを含む一連の操作を入力メッシュ(1005)に適用して、入力メッシュをUVアトラス(920)などのUVアトラスを持つメッシュなどの別の形式に変換できる。幾つかの例では、入力メッシュ(1005)はUVアトラスを持つメッシュの形式である。
【0175】
開示の態様によると、入力メッシュの頂点はポイントクラウドとして見ることができ、任意の適切なPCCエンコーダによってコーディングすることができる。幾つかの例では、法線、色、反射率などの頂点に関連付けられた属性もPCCエンコーダによってコーディングできる。
【0176】
図10に示すような幾つかの実施形態では、接続性情報(トポロジ)は、表面再構成アルゴリズムによって復号された頂点上で推定でき、ビットストリーム(1045)などのビットストリームに明示的に符号化されない。
【0177】
図11に示すような幾つかの実施形態では、接続性情報を圧縮されたメッシュを伝送するビットストリームにコーディングすることができる。幾つかの例では、接続性情報はビットストリームに直接符号化される。幾つかの例では、推定された接続性と元の接続性の差をビットストリームに符号化できる。
【0178】
開示の幾つかの態様によると、接続性情報は部分的にビットストリームに符号化される。例えば、密集した頂点などの特定の頂点の接続性は、再構成された表面の大きな歪みを避けるよう符号化される。
【0179】
幾つかの例では、接続性を符号化する基準は空間特性に基づくことができる。実施形態では、平均曲率や主曲率などの曲率が所与の閾値より大きい頂点の接続性をビットストリームに符号化することができる。別の実施形態では、頂点/面法線の分散又は分布を使用して、接続性符号化の頂点を選択することができる。
【0180】
開示の態様によると、テクスチャマップはビデオシーケンスとして変換でき、任意のビデオエンコーダで符号化できる。幾つかの例では、符号化されるテクスチャマップは(入力メッシュ内の)元のテクスチャマップとは異なることができ、任意の適切なアルゴリズムを使用して異なるテクスチャマップを生成することができる。
【0181】
幾つかの例では、UVアトラスの頂点から接続性を推定できる。幾つかの例では、UVアトラスは複数のチャート(2D形状、UVパッチとも呼ばれる)を含み、各チャートはメッシュのサブセットに対応する。幾つかの例では、UVアトラスの頂点に基づいて接続性を推定するために、推定された接続性はUVアトラスの異なるチャートの頂点を接続する場合がある。例では、異なるチャートの境界頂点が、元の入力メッシュに存在しない偽の面に接続される場合がある。
【0182】
開示の幾つかの態様は、偽の面に応答してテクスチャマップを変換する技術を提供する。幾つかの例では、異なるチャートを接続する偽の面を追加するためにテクスチャマップが変換され、偽の面のテクスチャが偽の面の頂点に基づいて決定される。例では、偽の面の内部の色は、偽の面の頂点の色を補間することによって決定される。
【0183】
幾つかの例では、異なるチャートを接続する偽の面に対応して、異なるチャートを接続するエッジ(偽のエッジと呼ばれる)を検出し、削除又は同じチャート内の頂点を接続するエッジで置換できる。幾つかの例では、エンコーダ側で、異なるチャート内の頂点を接続する偽のエッジを検出し、例えばビットストリーム内の他の属性として偽のエッジを符号化できる。例えば、偽のエッジ情報は、属性エンコーダ(1042)、属性エンコーダ(1142)などの属性エンコーダによって、圧縮されたメッシュを伝送するビットストリーム(例えば、ビットストリーム(1045)、ビットストリーム(1145))に符号化できる。その後、デコーダ側で、デコーダは偽のエッジ情報を復号し、偽のエッジを削除したり、同じチャート内の頂点を接続するエッジに置き換えたりできる。
【0184】
図12は、幾つかの例で偽エッジを処理する技術を示す図である。図12は、元のメッシュの図(1210)である。元のメッシュには、第1チャートと第2チャートが含まれている。第1チャートには第1三角形(v1、v2、v3)が含まれ、第2チャートには第2三角形(v1、v3、v4)が含まれている。
【0185】
例では、接続性推定アルゴリズムを使用して、頂点に基づいて接続を推定する。図12は、推定された接続性を持つ図(1220)を示している。推定された接続性は、頂点に応じた接続性推定アルゴリズムによって生成される。推定された接続性は、第3三角形(v1、v2、v4)と第4三角形(v2、v3、v4)によって示される。第3三角形(v1、v2、v4)と第4三角形(v2、v3、v4)は偽三角形であり、2つの異なるチャートの頂点を接続するエッジが含まれている。偽三角形は、2つの偽の面のテクスチャマップの変換を困難にする可能性がある。
【0186】
例では、2つの異なるチャートの頂点を接続するエッジ(v2、v4)を検出できる。エッジ(v2、v4)は2つの異なるチャートの頂点を接続しているため、エッジ(v2、v4)は2つのチャートの境界と交差するため、エッジ(v1、v3)は境界エッジになる。例では、偽のエッジ(v2、v4)はエンコーダ側からシグナリングされる。デコーダ側では、デコーダは偽のエッジ(x2、v4の場合)を境界エッジ(v1、v3)に置き換えて、元の接続性を回復できる。図12は、回復された接続性を持つ図(1230)を示している。偽エッジ(x2、v4)は削除され、境界エッジ(v1、v3)が回復された接続性に追加される。
【0187】
PCCエンコーダでコーディングできない可能性のあるその他の属性は、属性エンコーダ(1042)、属性エンコーダ(1142)など、他の属性エンコーダ方法でコーディングできることに注意する。
【0188】
図10及び図11に示すように、デコーダ側は、ビットストリームの異なるセクション(例えば、ビットストリーム(1045)、ビットストリーム(1145))を各々復号するために、PCCデコーダ、ビデオデコーダ、接続性デコーダ、属性デコーダなどの複数のデコーダを含めることができる。
【0189】
幾つかの例では、PCCデコーダは、符号化されたPCCに対応するセクションを復号でき、復号されたポイントクラウドを生成する。
【0190】
幾つかの例では、接続性はビットストリームに全くコーディングされていないため、図10の接続性生成モジュール(1070)などによって、復号されたポイントから接続性を推定できる。
【0191】
幾つかの例では、接続性はビットストリームに直接コーディングされ、例では接続性はビットストリームから直接導出できる。
【0192】
幾つかの例では、接続性は、元の接続性と推定された接続性との差をコーディングすることによってコーディングされる。したがって、例では、推定された接続性を復号された差で調整することによって接続性が回復される。
【0193】
開示の幾つかの態様は、部分的な接続性がビットストリームにコーディングされたときに、完全な接続性を回復する技術も提供する。例えば、シグナリングされた部分的な接続性はデコーダ側のビットストリームから直接導出され、残りの完全な接続性はデコーダ側で推定できる。
【0194】
例では、ビットストリームから導出された部分的な接続性に基づいて、頂点密度を増加させるために接続された多角形上の補間によって追加のサンプルポイントを生成し、その後、表面再構成によってすべてのポイント(サンプリングされたポイントと復号されたポイントを含む)の接続性を推定できる。
【0195】
幾つかの例では、テクスチャマップをビデオデコーダで復号し、他の属性を属性デコーダで復号できる。復号されたテクスチャマップと他の属性を使用して、テクスチャや他の属性を有する最終的なメッシュを再構成できる。
【0196】
幾つかの例では、異なるチャートを接続する偽のエッジがシグナリングされる。偽のエッジは復号でき、その後、シグナリングされた偽のエッジから推定できる境界エッジに置き換えることができる。推定された接続性は、それに応じて変更できる。
【0197】
図13は、本開示の一実施形態による、処理(1300)の概要を示すフローチャートを示す。処理(1300)は、メッシュの符号化処理中に使用できる。様々な実施形態では、処理(1300)は処理回路によって実行される。幾つかの実施形態では、処理(1300)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路が処理(1300)を実行する。処理は(S1301)で開始し、(S1310)に進む。
【0198】
(S1310)で、3Dメッシュフレームからポイントクラウドのポイントが生成される。3Dメッシュフレームは、多角形を有するオブジェクトの表面を表す。幾つかの例では、ポイントは3Dメッシュフレームの頂点に対応する。
【0199】
(S1320)で、3Dメッシュフレームの第1接続性情報が決定される。第1接続性情報は、3Dメッシュフレームの元の接続性情報とは異なる。
【0200】
(S1330)で、ポイントクラウドはポイントクラウドエンコーダを使用してビットストリームに符号化される。
【0201】
(S1340)で、第1接続性情報がビットストリームに符号化される。
【0202】
幾つかの例では、第1接続性情報は元の接続性情報の部分的な接続性情報である。例では、第1接続性情報は3Dメッシュフレームの第1領域の第1の複数の頂点の接続性を含み、元の接続性情報は3Dメッシュフレームの第1領域の第1の複数の頂点の接続性と、3Dメッシュフレームの第2領域の第2の複数の頂点の接続性も含み、第1領域は第2領域よりも頂点密度が高い。例えば、頂点密度が閾値よりも高い領域を特定し、領域内の頂点の接続性を抽出してビットストリームに符号化することができる。
【0203】
別の例では、第1接続性情報が、第1領域における第1の複数の頂点の接続性を含み、第1領域の曲率パラメータが閾値よりも大きい。例えば、平均曲率又は主曲率が閾値より大きい領域を検出し、領域内の頂点の接続性を抽出してビットストリームに符号化することができる。
【0204】
別の例では、第1接続性情報が、第1領域における第1の複数の頂点の接続性を含み、第1領域の法線値が要件を満たす。例えば、要件を満たす頂点法線又は面法線の分散又は分布を持つ領域を検出し、領域内の頂点の接続性を抽出してビットストリームに符号化することができる。
【0205】
別の例では、3Dメッシュフレーム内の頂点の一部をポイントにすることができる。例えば、大きな平面などの3Dメッシュフレームの幾つかの部分は、歪みを導入せずに頂点の数を減らすことで表現できる。削減された頂点の数は、ポイントクラウドのポイントに含めることができる。3Dメッシュフレームには、ポイントクラウド内のポイント以外の1つ以上の追加ポイントが含まれる。第1接続性情報には、ポイントクラウド内のポイントによって形成される第1多角形の第1接続性が含まれる。
【0206】
幾つかの例では、ポイントクラウド内のポイントに従って3Dメッシュフレームの第2接続性情報が推定される。幾つかの例では、第2接続性情報に1つ以上の偽エッジを含めることができる。例では、第2接続性情報から、第1チャート(例えば、パッチ)の第1頂点と第2チャート(例えば、パッチ)の第2頂点を接続する第1エッジを持つ多角形が検出される。第1エッジは偽エッジである。幾つかの例では、偽エッジの検出に応じてテクスチャマップを調整できる。例えば、少なくとも第1頂点の第1色と第2頂点の第2色に基づく補間によって、多角形内のポイントの色を決定する。その後、テクスチャマップが調整され、多角形内の色を持つポイントが含まれるようになる。例では、調整されたテクスチャマップがビットストリームに符号化される。
【0207】
幾つかの例では、ポイントクラウド内のポイントに従って3Dメッシュフレームの第2接続性情報が推定される。第1接続性情報は、3Dメッシュフレームの元の接続性と3Dメッシュフレームの第2接続性情報の差として決定される。
【0208】
幾つかの例では、第1接続性情報は推定された接続性情報の偽エッジを含む。例えば、第1接続性情報には、第1頂点と第2頂点を接続する第1エッジが含まれており、第1エッジが2つの異なるチャートを接続する偽のエッジであることを示している。例では、第1接続性情報は、接続性エンコーダ(例えば、接続性エンコーダ(1144)など)によってビットストリームに符号化できる。別の例では、第1接続性情報は、他の適切な属性エンコーダ(例えば、属性エンコーダ(1042)、属性エンコーダ(1142)など)によって符号化できる。
【0209】
次に、処理は(S1399)に進み終了する。
【0210】
処理(1300)は、適切に適応させることができる。処理(1300)のステップは変更及び/又は省略できる。追加のステップを追加できる。任意の適切な実装順序を使用できる。
【0211】
図14は、本開示の一実施形態による、処理(1400)の概要を示すフローチャートを示す。処理(1400)は、メッシュフレームのメッシュシーケンスの復号処理中に使用できる。様々な実施形態では、処理(1400)は処理回路によって実行される。幾つかの実施形態では、処理(1400)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路が処理(1400)を実行する。処理は(S1401)で開始し、(S1410)に進む。
【0212】
(S1410)で、ポイントクラウドは、ポイントクラウド圧縮(point cloud compression (PCC))デコーダを使用してビットストリームから復号される。ポイントクラウドには、3次元(3D)メッシュフレーム内の頂点に対応する第1ポイントが含まれる。3Dメッシュフレームは、多角形を有するオブジェクトの表面を表す。
【0213】
(S1420)で、3Dメッシュフレームの第1接続性情報がビットストリームから復号される。第1接続性情報はビットストリームでシグナリングされている。
【0214】
(S1430)で、3Dメッシュフレームの第2接続性情報がポイントクラウドのポイントから推定される。第2接続性情報はビットストリームでシグナリングされない。
【0215】
(S1440)で、ポイントクラウド、第1接続性情報、第2接続性情報に基づいて3Dメッシュフレームが再構成される。
【0216】
幾つかの例では、第1接続性情報に3Dメッシュフレームの第1領域の第1の複数の頂点の接続性が含まれ、第2接続性情報に3Dメッシュフレームの第2領域の第2の複数の頂点の接続性が含まれる。第1領域は第2領域よりも頂点密度が高くなる。
【0217】
幾つかの例では、第1接続性情報が、第1領域における第1の複数の頂点の接続性を含み、第1領域の曲率パラメータが閾値よりも大きい。
【0218】
幾つかの例では、第1接続性情報が、第1領域における第1の複数の頂点の接続性を含み、第1領域の法線値が要件を満たす。
【0219】
幾つかの例では、第1接続性情報は3Dメッシュフレームの第1多角形の第1接続性を含む。その後、第1多角形内の1つ以上の追加のサンプルポイントが補間によって決定される。次に、すべてのポイント(ポイントクラウドの第1ポイントと1つ以上の追加のサンプルポイント)間の接続の第2接続性情報が推定される。
【0220】
幾つかの例では、第2接続性情報には、第1チャートの第1頂点と第2チャートの第2頂点を接続する第1エッジを持つ多角形が含まれる。次に、少なくとも第1頂点の第1色と第2頂点の第2色に基づく補間によって、多角形内のポイントの色を決定する。
【0221】
幾つかの例では、第1接続性情報は、3Dメッシュフレームの元の接続性と3Dメッシュフレームの推定された接続性との間の接続性の差である。第1接続性情報は、第2接続性情報と組み合わせて、3Dメッシュフレームの回復された接続性情報を生成する。ポイントクラウド及び3Dメッシュフレームの回復された接続性情報に基づいて、3Dメッシュフレームが再構成される。
【0222】
幾つかの例では、第1接続性情報には、第1頂点と第2頂点を接続する第1エッジが含まれており、第1エッジが2つの異なるチャート(パッチ)を接続する偽のエッジであることを示している。その後、第1エッジと交差するチャート境界エッジが決定される。第1エッジは、第2接続性情報のチャート境界エッジに置き換えられる。
【0223】
次に、処理は(S1499)に進み終了する。
【0224】
処理(1400)は、適切に適応させることができる。処理(1400)のステップは変更及び/又は省略できる。追加のステップを追加できる。任意の適切な実装順序を使用できる。
【0225】
本開示で開示された技術は、別個に使用され又は任意の順序で結合されてよい。さらに、技術(例えば、方法、実施形態)、エンコーダ、及びデコーダの各々は、処理回路(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実装されてもよい。幾つかの例では、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に格納されたプログラムを実行する。
【0226】
上述の技術は、コンピュータ可読命令を用いてコンピュータソフトウェアとして実装でき、1つ以上のコンピュータ可読媒体に物理的に格納でる。例えば、図15は、本開示の主題の特定の実施形態を実装するのに適するコンピュータシステム(1500)を示す。
【0227】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク等のメカニズムにより処理されて、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、等により直接又はインタープリット、マイクロコード実行、等を通じて実行可能な命令を含むコードを生成し得る、任意の適切な機械コード又はコンピュータ言語を用いてコーディングできる。
【0228】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、等を含む種々のコンピュータ又はそのコンポーネントで実行できる。
【0229】
コンピュータシステム(1500)の図15に示すコンポーネントは、本来例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に対するようないかなる限定も示唆しない。さらに、コンポーネントの構成も、コンピュータシステム(1500)の例示的な実施形態に示されたコンポーネントのうちのいずれか又は組み合わせに関連する任意の依存性又は要件を有すると解釈されるべきではない。
【0230】
コンピュータシステム(1500)は、特定のヒューマンインタフェース入力装置を含んでよい。このようなヒューマンインタフェース入力装置は、例えば感覚入力(例えば、キーストローク、スワイプ、データグラブ動作)、音声入力(例えば、音声、クラッピング)、視覚的入力(例えば、ジェスチャ)、嗅覚入力(示されない)を通じた1人以上の人間のユーザによる入力に応答してよい。ヒューマンインタフェース装置は、必ずしも人間による意識的入力に直接関連する必要のない特定の媒体、例えば音声(例えば、会話、音楽、環境音)、画像(例えば、スキャンされた画像、デジタルカメラから取得された写真画像)、ビデオ(例えば、2次元ビデオ、3次元ビデオ、立体ビデオを含む)をキャプチャするためにも使用できる。
【0231】
入力ヒューマンインタフェース装置は、キーボード(1501)、マウス(1502)、トラックパッド(1503)、タッチスクリーン(1510)、データグラブ(図示しない)、ジョイスティック(1505)、マイクロフォン(1506)、スキャナ(1507)、カメラ(1508)、のうちの1つ以上を含んでよい(そのうちの1つのみが示される)。
【0232】
コンピュータシステム(1500)は、特定のヒューマンインタフェース出力装置も含んでよい。このようなヒューマンインタフェース出力装置は、例えば感覚出力、音声、光、及び匂い/味を通じて1人以上の人間のユーザの感覚を刺激してよい。このようなヒューマンインタフェース出力装置は、感覚出力装置を含んでよい(例えば、タッチスクリーン(1510)、データグラブ(図示しない)、又はジョイスティック(1505(による感覚フィードバック、しかし入力装置として機能しない感覚フィードバック装置も存在し得る)、音声出力装置(例えば、スピーカ(1509)、ヘッドフォン(図示しない)、視覚的出力装置(例えば、スクリーン(1510)、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、各々タッチスクリーン入力能力を有し又は有さず、各々感覚フィードバック能力を有し又は有さず、これらのうちの幾つかは例えば立体出力、仮想現実眼鏡(図示しない)、ホログラフィックディスプレイ、及び発煙剤タンク(図示しない)、及びプリンタ(図示しない)のような手段を通じて2次元視覚出力又は3次元以上の出力を出力可能であってよい))。
【0233】
コンピュータシステム(1500)は、人間のアクセス可能な記憶装置、及び、例えばCD/DVD等の媒体(1521)を備えるCD/DVD ROM/RW(1520)を含む光学媒体、サムドライブ(1522)、取り外し可能ハードドライブ又は固体ドライブ(1523)、テープ及びフロッピディスク(図示しない)のようなレガシー磁気媒体、セキュリティドングル(図示しない)等のような専用ROM/ASIC/PLDに基づく装置のような関連する媒体も含み得る。
【0234】
当業者は、本開示の主題と関連して使用される用語「コンピュータ可読媒体」が伝送媒体、搬送波、又は他の一時的信号を包含しないことも理解すべきである。
【0235】
コンピュータシステム(1500)は、1つ以上の通信ネットワーク(1555)へのインタフェース(1554)も含み得る。ネットワークは、例えば無線、有線、光であり得る。ネットワークへは、更に、ローカル、広域、都市域、車両及び産業、リアルタイム、耐遅延性、等であり得る。ネットワークの例は、イーサネットのようなローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTE等を含むセルラネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線又は無線広域デジタルネットワーク、CANBusを含む車両及び産業、等を含む。特定のネットワークは、一般に、特定の汎用データポート又は周辺機器バス(1549)(例えば、コンピュータシステム(1500)のUSBポート)に取り付けられる外部ネットワークインタフェースを必要とする。他のものは、一般に、後述するようなシステムバスへの取り付けによりコンピュータシステム(1500)のコアに統合される(例えば、イーサネットインタフェースをPCコンピュータシステムへ、又はセルラネットワークインタフェースをスマートフォンコンピュータシステムへ)。これらのネットワークを用いて、コンピュータシステム(1500)は、他のエンティティと通信できる。このような通信は、単方向受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbus装置へのCANbus)、又は例えばローカル又は広域デジタルネットワークを用いて他のコンピュータシステムへの双方向であり得る。特定のプロトコル及びプロトコルスタックが、上述のネットワーク及びネットワークインタフェースの各々で使用され得る。
【0236】
前述のヒューマンインタフェース装置、人間のアクセス可能な記憶装置、及びネットワークインタフェースは、コンピュータシステム(1500)のコア(1540)に取り付け可能である。
【0237】
コア(1540)は、1つ以上の中央処理ユニット(CPU)(1541)、グラフィック処理ユニット(GPU)(1542)、FPGAの形式の専用プログラマブル処理ユニット(1543)、特定タスクのためのハードウェアアクセラレータ(1544)、グラフィックアダプタ(1550)、等を含み得る。これらの装置は、読み出し専用メモリ(ROM)(1545)、ランダムアクセスメモリ(1546)、内部のユーザアクセス不可能なハードドライブ、SSD、等のような内蔵大容量記憶装置(1547)と共に、システムバス(1548)を通じて接続されてよい。幾つかのコンピュータシステムでは、追加CPU、GPU、等による拡張を可能にするために、システムバス(1548)は、1つ以上の物理プラグの形式でアクセス可能である。周辺機器は、コアのシステムバス(1548)に直接に、又は周辺機器バス(1549)を通じて、取り付け可能である。例では、スクリーン(1510)は、グラフィックアダプタ(1550)に接続できる。周辺機器バスのアーキテクチャは、PCI、USB等を含む。
【0238】
CPU(1541)、GPU(1542)、FPGA(1543)、及びアクセラレータ(1544)は、結合されて前述のコンピュータコードを生成可能な特定の命令を実行できる。該コンピュータコードは、ROM(1545)又はRAM(1546)に格納できる。一時的データもRAM(1546)に格納でき、一方で、永久的データは例えば内蔵大容量記憶装置(1547)に格納できる。メモリ装置のうちのいずれかへの高速記憶及び読み出しは、CPU(1541)、GPU(1542)、大容量記憶装置(1547)、ROM(1545)、RAM(1546)等のうちの1つ以上に密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0239】
コンピュータ可読媒体は、種々のコンピュータにより実施される動作を実行するためのコンピュータコードを有し得る。媒体及びコンピュータコードは、本開示の目的のために特別に設計され構成されたものであり得、又は、コンピュータソフトウェア分野の当業者によく知られ利用可能な種類のものであり得る。
【0240】
例として及び限定ではなく、アーキテクチャを有するコンピュータシステム(1500)、及び具体的にはコア(1540)は、プロセッサ(CPU、GPU、FPGA、アクセラレータ、等を含む)が1つ以上の有形コンピュータ可読媒体内に具現化されたソフトウェアを実行した結果として、機能を提供できる。このようなコンピュータ可読媒体は、コア内蔵大容量記憶装置(1547)又はROM(1545)のような非一時的特性のコア(1540)の特定の記憶装置、及び上述のようなユーザアクセス可能な大容量記憶装置と関連付けられた媒体であり得る。本開示の種々の実施形態を実装するソフトウェアは、このような装置に格納されコア(1540)により実行できる。コンピュータ可読媒体は、特定の必要に従い、1つ以上のメモリ装置又はチップを含み得る。ソフトウェアは、コア(1540)及び具体的にはその中のプロセッサ(CPU、GPU、FPGA、等を含む)に、ソフトウェアにより定義された処理に従うRAM(1546)に格納されたデータ構造の定義及び該データ構造の変更を含む、ここに記載した特定の処理又は特定の処理の特定の部分を実行させることができる。追加又は代替として、コンピュータシステムは、ここに記載の特定の処理又は特定の処理の特定の部分を実行するためにソフトウェアと一緒に又はそれに代わって動作可能な論理ハードワイヤド又は他の回路内の実装(例えば、アクセラレータ(1544))の結果として機能を提供できる。ソフトウェアへの言及は、ロジックを含み、適切な場合にはその逆も同様である。コンピュータ可読媒体への言及は、適切な場合には、実行のためにソフトウェアを格納する(集積回路(IC)のような)回路、実行のためにロジックを実装する回路、又はそれらの両方を含み得る。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを含む。
【0241】
本開示は、幾つかの例示的な実施形態を記載したが、代替、置換、及び種々の代用の均等物が存在し、それらは本開示の範囲に包含される。当業者に明らかなことに、ここに明示的に示され又は説明されないが、本開示の原理を実施し、従って、本開示の精神及び範囲に含まれる多数のシステム及び方法を考案可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
【国際調査報告】