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

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

▶ ソニー株式会社の特許一覧 ▶ ソニー コーポレイション オブ アメリカの特許一覧

特表2024-539603ポイントクラウド圧縮のための適応モード選択
<>
  • 特表-ポイントクラウド圧縮のための適応モード選択 図1
  • 特表-ポイントクラウド圧縮のための適応モード選択 図2
  • 特表-ポイントクラウド圧縮のための適応モード選択 図3
  • 特表-ポイントクラウド圧縮のための適応モード選択 図4
  • 特表-ポイントクラウド圧縮のための適応モード選択 図5
  • 特表-ポイントクラウド圧縮のための適応モード選択 図6
  • 特表-ポイントクラウド圧縮のための適応モード選択 図7
  • 特表-ポイントクラウド圧縮のための適応モード選択 図8A
  • 特表-ポイントクラウド圧縮のための適応モード選択 図8B
  • 特表-ポイントクラウド圧縮のための適応モード選択 図9A
  • 特表-ポイントクラウド圧縮のための適応モード選択 図9B
  • 特表-ポイントクラウド圧縮のための適応モード選択 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-29
(54)【発明の名称】ポイントクラウド圧縮のための適応モード選択
(51)【国際特許分類】
   G06T 9/00 20060101AFI20241022BHJP
   H04N 19/597 20140101ALI20241022BHJP
【FI】
G06T9/00
H04N19/597
G06T9/00 200
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024521058
(86)(22)【出願日】2022-09-22
(85)【翻訳文提出日】2024-04-05
(86)【国際出願番号】 IB2022058973
(87)【国際公開番号】W WO2023057848
(87)【国際公開日】2023-04-13
(31)【優先権主張番号】63/262,135
(32)【優先日】2021-10-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/739,484
(32)【優先日】2022-05-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
2.BLUETOOTH
3.WCDMA
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(71)【出願人】
【識別番号】504257564
【氏名又は名称】ソニー コーポレイション オブ アメリカ
(74)【代理人】
【識別番号】100092093
【弁理士】
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100141553
【弁理士】
【氏名又は名称】鈴木 信彦
(74)【代理人】
【識別番号】100151987
【弁理士】
【氏名又は名称】谷口 信行
(72)【発明者】
【氏名】ザゲットー アレクサンドレ
(72)【発明者】
【氏名】タバタバイ アリ
(72)【発明者】
【氏名】グラジオッシ ダニーロ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159PP03
(57)【要約】
ポイントクラウド圧縮のための適応モード選択のための電子デバイス及び方法を提供する。電子デバイスは、3Dポイントクラウドジオメトリを受け取り、3Dポイントクラウドジオメトリを3Dブロックのセットに分割する。3Dブロックのセットのうちの3Dブロックに対して、モード決定情報を決定する。モード決定情報は、3Dポイントクラウドジオメトリのクラス情報、3Dポイントクラウドジオメトリの符号化段階と関連付けられる動作条件、又は3Dブロックのセットのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報を含む。モード決定情報に基づいて、複数のモードから3Dブロックに対する1又は2以上のモードを選択する。各モードは、3Dブロックを符号化するために使用される関数に対応する。1又は2以上のモードに基づいて、3Dブロックを符号化する。
【選択図】図3
【特許請求の範囲】
【請求項1】
電子デバイスであって、
3次元(3D)ポイントクラウドジオメトリを受け取ることと、
前記3Dポイントクラウドジオメトリを3Dブロックのセットに分割することと、
前記3Dブロックのセットのうちの3Dブロックに対して、モード決定情報を決定することであって、前記モード決定情報は、
前記3Dポイントクラウドジオメトリと関連付けられるクラス情報、
前記3Dポイントクラウドジオメトリの符号化段階と関連付けられる1又は2以上の動作条件(operational conditions)、又は
前記3Dブロックのセットのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報、
のうちの少なくとも1つを含む、ことと、
前記モード決定情報に基づいて、複数のモードから前記3Dブロックに対する1又は2以上のモードを選択することであって、
前記複数のモードのうちの各モードは、前記3Dブロックを符号化するために使用される関数に対応する、ことと、
前記選択された1又は2以上のモードに基づいて、前記3Dブロックを符号化することと、
を行うように構成される回路、
を含むことを特徴とする電子デバイス。
【請求項2】
前記3Dポイントクラウドジオメトリと関連付けられる前記クラス情報は、前記3Dポイントクラウドジオメトリと関連付けられるジオメトリビット深度、密度、又はポイント分布のうちの少なくとも1つを含むことを特徴とする、請求項1に記載の電子デバイス。
【請求項3】
前記3Dポイントクラウドジオメトリの前記符号化段階と関連付けられる前記1又は2以上の動作条件は、前記3Dポイントクラウドジオメトリと関連付けられる目標レート歪みコストを含むことを特徴とする、請求項1に記載の電子デバイス。
【請求項4】
前記回路は、
前記複数のモードをクラス及び動作条件にマッピングするテーブルをロードし、
前記クラス情報及び前記1又は2以上の動作条件を使用して前記テーブルを探索して、前記1又は2以上のモードを選択する、
ように更に構成される、
ことを特徴とする、請求項1に記載の電子デバイス。
【請求項5】
前記回路は、
較正ポイントクラウドを複数の3Dブロックに分割し、
前記複数のモードの各々に基づいて前記複数の3Dブロックを符号化して、複数の符号化された3Dブロックを生成し、
前記生成された複数の符号化された3Dブロックの各々と関連付けられるレート歪みコストを決定し、
前記複数のモードのうちの各モードについて、前記複数のモードに対して前記レート歪みコストが最小である前記複数の符号化された3Dブロックの割合(fraction)を示す統計情報を決定し、
前記決定された統計情報に基づいて、前記生成された複数の符号化された3Dブロックから、前記複数の符号化された3Dブロックの前記割合が閾値を超える符号化された3Dブロックのサブセットを決定し、
前記複数のモードから、前記符号化された3Dブロックのサブセットの生成に使用されるモードのサブセットを決定し、
前記決定されたモードのサブセット、前記クラス、及び前記動作条件に基づいて、前記テーブルを生成する、
ように更に構成される、
ことを特徴とする、請求項4に記載の電子デバイス。
【請求項6】
前記回路は、
前記選択された1又は2以上のモードの各々に基づいて、前記3Dブロックを符号化して、1又は2以上の符号化された3Dブロックを決定し、
前記決定された1又は2以上の符号化された3Dブロックと関連付けられるレート歪みコストを決定し、
前記モードと関連付けられるレート歪みコストが前記決定されたレート歪みコストの最小値に対応するという決定に基づいて、前記符号化段階のための最適なモードとして、前記選択された1又は2以上のモードのうちのモードを決定し、
前記決定されたモードに基づいて前記3Dブロックを符号化して、符号化された3Dブロックを生成する、
ように更に構成される、
ことを特徴とする、請求項1に記載の電子デバイス。
【請求項7】
前記関数は、前記3Dポイントクラウドジオメトリの前記3Dブロックを符号化して、符号化された3Dブロックを生成するようにトレーニングされるディープニューラルネットワーク(DNN)モデルに対応することを特徴とする、請求項1に記載の電子デバイス。
【請求項8】
前記複数のモードのうちの各モードは、前記DNNモデルのトレーニング段階で使用されるフォーカルロス関数(focal loss function)のアルファパラメータに対応し、
前記フォーカルロス関数は、前記3Dポイントクラウドジオメトリの前記3Dブロックからの非空ボクセルの除去にペナルティを科す(penalize)ように構成される、
ことを特徴とする、請求項7に記載の電子デバイス。
【請求項9】
前記回路は、
定められたスキャン順序での前記3Dブロックのセットのスキャンに基づいて、前記3Dブロックのセットのサブセットを決定し、
前記複数のモードに基づいて、前記決定されたサブセットのうちの第1のサブセットのうちの各3Dブロックを符号化して、複数の符号化された3Dブロックを生成し、
前記複数の符号化された3Dブロックのうちの各符号化された3Dブロックと関連付けられるレート歪みコストを決定し、
前記複数の符号化された3Dブロックのうちの各符号化された3Dブロックと関連付けられる前記決定されたレート歪みコストに基づいて、前記第1のサブセットと関連付けられるモード使用統計を決定する、
ように更に構成され、
前記モード関連情報は、前記第1のサブセットと関連付けられる前記決定されたモード使用統計を含む、
ことを特徴とする、請求項1に記載の電子デバイス。
【請求項10】
前記回路は、前記3Dブロックを含む第2のサブセットに対する前記1又は2以上のモードを選択するように更に構成され、
前記第2のサブセットは、前記決定されたサブセットに含まれ、
前記第2のサブセットは、前記スキャン順序に従って前記第1のサブセットに続く、
ことを特徴とする、請求項9に記載の電子デバイス。
【請求項11】
前記回路は、前記3Dポイントクラウドジオメトリにおける前記3Dブロックのセットの空間配置に基づいて、前記3Dブロックのセットから、前記3Dブロックの近隣に存在する3Dブロックのサブセットを決定するように更に構成され、
前記1又は2以上のモードの選択は、前記3Dブロックのサブセットのうちの各3Dブロックをそれぞれの符号化された3Dブロックに符号化するための前記1又は2以上のモードの使用に基づく、
ことを特徴とする、請求項1に記載の電子デバイス。
【請求項12】
前記回路は、前記3Dブロックと関連付けられる前記クラス情報を含むポイントクラウドメトリックを決定するように更に構成され、
前記1又は2以上のモードは、前記ポイントクラウドメトリックへの分類器モデルの適用に更に基づいて選択され、
前記分類器モデルは、モード予測のタスクでトレーニングされる機械学習モデルである、
ことを特徴とする、請求項1に記載の電子デバイス。
【請求項13】
前記回路は、前記3Dブロック及び前記3Dポイントクラウドジオメトリの前記3Dブロックの近隣の3Dブロックのサブセットと関連付けられる前記クラス情報を含むポイントクラウドメトリックを決定するように更に構成され、
前記1又は2以上のモードは、前記ポイントクラウドメトリックへの分類器モデルの適用に更に基づいて選択され、
前記分類器モデルは、モード予測のタスクでトレーニングされる機械学習モデルである、
ことを特徴とする、請求項1に記載の電子デバイス。
【請求項14】
前記回路は、前記3Dブロックに畳み込みニューラルネットワークを適用して、前記3Dブロックに対するモード予測を生成するように更に構成され、
前記モード予測は、前記モード決定情報に含まれ、前記1又は2以上のモードは、前記モード予測に基づいて選択される、
ことを特徴とする、請求項1に記載の電子デバイス。
【請求項15】
前記回路は、前記3Dブロック及び前記3Dポイントクラウドジオメトリの前記3Dブロックの近隣の3Dブロックのサブセットに畳み込みニューラルネットワークを適用して、前記3Dブロックに対するモード予測を生成するように更に構成され、
前記モード予測は、前記モード決定情報に含まれ、前記1又は2以上のモードは、前記モード予測に基づいて選択される、
ことを特徴とする、請求項1に記載の電子デバイス。
【請求項16】
方法であって、
電子デバイスにおいて、
3次元(3D)ポイントクラウドジオメトリを受け取るステップと、
前記3Dポイントクラウドジオメトリを3Dブロックのセットに分割するステップと、
前記3Dブロックのセットのうちの3Dブロックに対して、モード決定情報を決定するステップであって、前記モード決定情報は、
前記3Dポイントクラウドジオメトリと関連付けられるクラス情報、
前記3Dポイントクラウドジオメトリの符号化段階と関連付けられる1又は2以上の動作条件、又は
前記3Dブロックのセットのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報、
のうちの少なくとも1つを含む、ステップと、
前記モード決定情報に基づいて、複数のモードから前記3Dブロックに対する1又は2以上のモードを選択するステップであって、
前記複数のモードのうちの各モードは、前記3Dブロックを符号化するために使用される関数に対応する、ステップと、
前記選択された1又は2以上のモードに基づいて、前記3Dブロックを符号化するステップと、
を含むことを特徴とする方法。
【請求項17】
前記複数のモードをクラス及び動作条件にマッピングするテーブルをロードするステップと、
前記クラス情報及び前記1又は2以上の動作条件を使用して前記テーブルを探索して、前記1又は2以上のモードを選択するステップと、
を更に含むことを特徴とする、請求項16に記載の方法。
【請求項18】
前記関数は、前記3Dポイントクラウドジオメトリの前記3Dブロックを符号化して、符号化された3Dブロックを生成するようにトレーニングされるディープニューラルネットワーク(DNN)モデルに対応することを特徴とする、請求項16に記載の方法。
【請求項19】
前記複数のモードのうちの各モードは、前記DNNモデルのトレーニング段階で使用されるフォーカルロス関数のアルファパラメータに対応し、
前記フォーカルロス関数は、前記3Dポイントクラウドジオメトリの前記3Dブロックからの非空ボクセルの除去にペナルティを科すように構成される、
ことを特徴とする、請求項18に記載の方法。
【請求項20】
電子デバイスによって実行された時に、前記電子デバイスに動作を実行させるコンピュータ実行可能命令が記憶された非一時的コンピュータ可読媒体であって、前記動作は、
3次元(3D)ポイントクラウドジオメトリを受け取ることと、
前記3Dポイントクラウドジオメトリを3Dブロックのセットに分割することと、
前記3Dブロックのセットのうちの3Dブロックに対して、モード決定情報を決定することであって、前記モード決定情報は、
前記3Dポイントクラウドジオメトリと関連付けられるクラス情報、
前記3Dポイントクラウドジオメトリの符号化段階と関連付けられる1又は2以上の動作条件、又は
前記3Dブロックのセットのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報、
のうちの少なくとも1つを含む、ことと、
前記モード決定情報に基づいて、複数のモードから前記3Dブロックに対する1又は2以上のモードを選択することであって、
前記複数のモードのうちの各モードは、前記3Dブロックを符号化するために使用される関数に対応する、ことと、
前記選択された1又は2以上のモードに基づいて、前記3Dブロックを符号化することと、
を含む、
ことを特徴とする非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
〔関連出願への相互参照/引用による組み込み〕
[0001] 本出願は、2021年5月9日に米国特許商標庁に出願された米国特許出願第17/739,484号の優先権の利益を主張するものであり、この出願は、2021年10月5日出願の米国仮特許出願番号第63/262,135号の優先権を主張するものであり、その内容全体が引用により本明細書に組み入れられる。
【0002】
[0002] 本開示の様々な実施形態は、3次元(3D)ポイントクラウド圧縮(PCC)に関する。より具体的には、本開示の様々な実施形態は、ポイントクラウド圧縮のための適応モード選択に関する。
【背景技術】
【0003】
[0003] 3次元(3D)スキャンの分野の進歩は、3Dオブジェクトの3D幾何学表現を作成する能力をもたらした。3Dポイントクラウドは3D幾何学表現の一例であり、これらは、スポーツ又はライブイベントの中継放送の自由視点表示、地理情報システム、文化遺産の再現、又は車両の自律航法などの異なる用途に採用されている。通常、3Dポイントクラウドは、多数の非構造化3Dポイント(例えば、各ポイントは、X、Y及びZ座標を有する)と、関連する属性(例えば、色又は反射率を含むテクスチャ)とを含む。3Dポイントクラウドによって表されるオブジェクトの3D画像は、非常に多くの生データを含む場合があり、これにより、あらゆる実用的応用のためのデータの記憶、処理及び伝送が困難な作業になっている。したがって、効率的なポイントクラウド圧縮(PCC)手法を有することが望ましい場合がある。いくつかの従来のPCC手法は、3Dポイントクラウドの一部であっても圧縮するために、複数の符号化及び復号化動作を必要とする。このような手法は、計算コストがかかる可能性があり、計算のために利用可能なメモリリソースを制約する可能性がある。
【0004】
[0004] 当業者には、説明したシステムと、本出願の残り部分において図面を参照しながら示す本開示のいくつかの態様とを比較することにより、従来の慣習的方法の更なる制限及び不利点が明らかになるであろう。
【発明の概要】
【発明が解決しようとする課題】
【0005】
[0005] 少なくとも1つの図に実質的に示し、及び/又はこれらの図に関連して説明し、特許請求の範囲に更に完全に示す、ポイントクラウド圧縮のための適応モード選択のための電子デバイス及び方法を提供する。
【0006】
[0006] 全体を通じて同じ要素を同じ参照符号によって示す添付図面を参照しながら本開示の以下の詳細な説明を検討することにより、本開示のこれらの及びその他の特徴及び利点を理解することができる。
【図面の簡単な説明】
【0007】
図1】本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な環境を示すブロック図である。
図2】本開示の実施形態による、図1の例示的な電子デバイスを示すブロック図である。
図3】本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的なエンコーダ及び例示的なデコーダのブロック図である。
図4】本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。
図5】本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。
図6】本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。
図7】本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。
図8A】本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。
図8B】本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。
図9A】本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。
図9B】本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。
図10】本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な動作を示すフローチャートである。
【発明を実施するための形態】
【0008】
[0019] 以下で説明する実装は、ポイントクラウド圧縮のための適応モード選択のための開示される電子デバイス及び方法に見出すことができる。電子デバイスの例示的な態様は、3D空間内の少なくとも1つのオブジェクトと関連付けられる3Dポイントクラウドの3次元(3D)ポイントクラウドジオメトリを受け取るように構成することができる回路を含むことができる。電子デバイスは、3Dポイントクラウドジオメトリを3Dブロックのセットに分割し、3Dブロックのセットのうちの3Dブロックに対して、モード決定情報を決定するように構成することができる。モード決定情報は、例えば、3Dポイントクラウドジオメトリと関連付けられるクラス情報、3Dポイントクラウドジオメトリの符号化段階と関連付けられる1又は2以上の動作条件(operational conditions)、又は3Dブロックのセットのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報を含むことができる。電子デバイスは、モード決定情報に基づいて、複数のモードから3Dブロックに対する1又は2以上のモードを選択するように更に構成することができる。複数のモードのうちの各モードは、3Dブロックを符号化するために使用することができる関数に対応することができる。例えば、関数は、3Dポイントクラウドジオメトリの3Dブロックを符号化して、符号化された3Dブロックを生成するようにトレーニングすることができるディープニューラルネットワーク(DNN)モデルに対応することができる。複数のモードのうちの各モードは、例えば、DNNモデルのトレーニング段階で使用されるフォーカルロス関数(focal loss function)のアルファパラメータに対応することができる。フォーカルロス関数は、3Dポイントクラウドジオメトリの3Dブロックからの非空ボクセルの除去にペナルティを科す(penalize)ように構成することができる。電子デバイスは、選択された1又は2以上のモードに基づいて、3Dブロックを符号化するように更に構成することができる。
【0009】
[0020] いくつかの従来のポイントクラウド圧縮(PCC)技術は、3Dポイントクラウドジオメトリの各3Dブロックを符号化するための最適モードを探索するために、フルモードサーチ動作を必要とする。フルモードサーチ動作では、各可能なモードに基づいて、3Dブロックを符号化することができ、符号化された3Dブロックを再構成(すなわち復号)して、全ての可能なモードに対するレート歪みコストを決定することができる。3Dブロックと関連付けられる最適モードとして、最も低いレート歪みコストに対応するモードを選択することができる。最後に、選択された最適モードに基づいて、3Dブロックを符号化することができる。レート歪みコストの決定は、ブロック毎に複数の符号化及び復号化動作を必要とする場合があるので、従来のPCC技術は、計算コストがかかる場合があり、ポイントクラウドジオメトリの符号化段階においてメモリ使用量が高い場合がある。
【0010】
[0021] これに対して、ポイントクラウド圧縮のための開示する技術は、3Dポイントクラウドジオメトリの各3Dブロックを符号化するための最適モードを決定するために、フルモードサーチ動作を必要としない。全ての可能なモードを使用して各3Dブロックを符号化すること(すなわち、フルモードサーチ)の代わりに、開示する技術は、モード決定情報を使用して1又は2以上のモードを選択し、選択された1又は2以上のモードから最適モードを探索する。各3Dブロックを符号化するための最終モードを決定するために必要な符号化及び復号化動作の数は、3Dブロック毎のフルモードサーチと比較して、著しく低減することができる。したがって、ポイントクラウド圧縮のための開示する技術は、従来のPCC技術よりも計算集約的ではなく、必要なメモリリソースを少なくすることができる。
【0011】
[0022] 図1は、本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な環境を示すブロック図である。図1を参照すると、ネットワーク環境100が示されている。ネットワーク環境100は、電子デバイス102、サーバ104、スキャニングセットアップ(scanning setup)106、及び複数の外部デバイス108A...108Nを含むことができる。スキャニングセットアップ106は、1又は2以上の画像センサ(図示せず)と、1又は2以上の画像センサと関連付けられる1又は2以上の深度センサ(図示せず)とを含むことができる。電子デバイス102は、通信ネットワーク110を介して、サーバ104、スキャニングセットアップ106、及び複数の外部デバイス108A...108Nに通信可能に結合することができる。3D空間内の少なくとも1つのオブジェクト(例えば人物)と関連付けられる3Dポイントクラウドの3次元(3D)ポイントクラウドジオメトリ112が更に示されている。
【0012】
[0023] 電子デバイス102は、3Dポイントクラウドジオメトリ(例えば、3Dポイントクラウドジオメトリ112)を符号化及び/又は復号するように構成できる好適なロジック、回路、インターフェイス、及び/又はコードを含むことができる。3Dポイントクラウドは、3D空間内のオブジェクトを一緒に表現する複数のポイントを含むことができる。一例として、各ポイントを(x,y,z,r,g,b,α)として表すことができ、ここで、(x,y,z)は、オブジェクト上のポイントの3D座標を表し、(r,g,及びb)は、ポイントの赤、緑及び青の値を表し、(α)は、ポイントの透明度値を表す。いくつかの実施形態では、電子デバイス102は、1つのオブジェクト又は複数のオブジェクトの3Dポイントクラウド(例えば、前景及び背景にオブジェクトを含む3Dシーン)を生成するように構成することができる。電子デバイス102は、3Dポイントクラウドから、1つのオブジェクト(又は複数のオブジェクト)の3Dポイントクラウドジオメトリ112を取得することができる。電子デバイス102の例としては、以下に限定されるわけではないが、コンピュータデバイス、ビデオ会議システム、拡張現実(AR)デバイス、仮想現実(VR)デバイス、複合現実(MR)デバイス、ゲームコンソール、スマートウェアラブルデバイス、メインフレームマシン、サーバ、コンピュータワークステーション、及び/又は民生用電子(CE)デバイスを挙げることができる。
【0013】
[0024] サーバ104は、オブジェクトの3Dポイントクラウドを生成し、3Dポイントクラウドに関連する3Dポイントクラウドジオメトリ112及び情報を記憶するように構成できる好適なロジック、回路、インターフェイス、及び/又はコードを含むことができる。サーバ104の例としては、以下に限定されるわけではないが、アプリケーションサーバ、クラウドサーバ、ウェブサーバ、データベースサーバ、ファイルサーバ、ゲームサーバ、メインフレームサーバ、又はこれらの組み合わせを挙げることができる。
【0014】
[0025] スキャニングセットアップ106は、オブジェクトを含む3D環境をスキャンして、生の(raw)3Dスキャン(生の3Dポイントクラウドとも呼ばれる)を生成するように構成できる好適なロジック、回路、インターフェイス、及び/又はコードを含むことができる。ある実施形態によれば、スキャニングセットアップ106は、単一の画像キャプチャデバイス又は複数の画像キャプチャデバイス(複数の視点に配置される)を含み、複数の色画像を取り込むことができる。特定の例では、スキャニングセットアップ106に追加の深度センサを含めて、オブジェクトの深度情報を取り込むことができる。複数の色画像及びオブジェクトの深度情報は、異なる視点から取り込むことができる。このような場合、取り込まれた複数の色画像及びオブジェクトの対応する深度情報に基づいて、3Dポイントクラウドを生成することができる。
【0015】
[0026] ある実施形態によれば、スキャニングセットアップ106は、3D空間内のオブジェクトの3Dスキャンを実行し、異なる時間ステップにおいて異なる属性及び3Dポイントのジオメトリの変化を取り込むことができる動的3Dポイントクラウド(すなわち、ポイントクラウドシーケンス)を生成するように構成することができる。スキャニングセットアップ106は、通信ネットワーク110を介して、電子デバイス102に、生成された3Dポイントクラウド、複数の色画像、及び/又は対応する深度情報を通信するように構成することができる。
【0016】
[0027] ある実施形態によれば、スキャニングセットアップ106は、深度センサと色センサ(赤-緑-青(RGB)センサなど)の組み合わせ、及び/又は赤外線(IR)プロジェクタとIRセンサの組み合わせなどの複数のセンサを含むことができる。例えば、深度センサは、ポイントクラウドジオメトリと関連付けられる情報(ポイントの3D位置)を取り込むことができ、RGBセンサ及びIRセンサは、ポイントクラウド属性と関連付けられる情報(例えば、色及び温度)を取り込むことができる。ある実施形態では、IRプロジェクタ及びIRセンサを使用して、深度情報を推定することができる。深度センサ、RGBセンサ、及びIRセンサの組み合わせを使用して、関連するジオメトリ及び属性と共に、ポイントクラウドフレーム(単一の静的ポイントクラウド)又は複数のポイントクラウドフレーム(3Dビデオ)を取り込むことができる。
【0017】
[0028] ある実施形態によれば、スキャニングセットアップ106は、放射線又は光に依拠して、3D空間内のオブジェクトの3D構造を取り込むアクティブ3Dスキャナを含むことができる。また、スキャニングセットアップ106は、オブジェクトと関連付けられる色情報を取り込むことができる画像センサを含むことができる。例えば、アクティブ3Dスキャナは、飛行時間(TOF)ベースの3Dレーザスキャナ、レーザレンジファインダ、TOFカメラ、ハンドヘルドレーザスキャナ、構造化光3Dスキャナ、変調光3Dスキャナ、ポイントクラウドデータを出力するCTスキャナ、空中光検知及び測距(LiDAR)スキャナ、3D LiDAR、3Dモーションセンサなどとすることができる。
【0018】
[0029] 図1では、スキャニングセットアップ106は、電子デバイス102とは別個のものとして示されている。しかしながら、本開示はこのように限定的なものではなく、いくつかの実施形態では、スキャニングセットアップ106は、電子デバイス102に統合することができる。代替的に、本開示の範囲から逸脱することなく、スキャニングセットアップ106の機能全体を電子デバイス102に組み込むことができる。スキャニングセットアップ106の例としては、以下に限定されるわけではないが、深度センサ、RGBセンサ、IRセンサ、画像センサ、及び/又はモーション検出器デバイスを挙げることができる。
【0019】
[0030] 複数の外部デバイス108A...108Nの各々は、通信ネットワーク110を介して、電子デバイス102と通信するように構成できる好適なロジック、回路、インターフェイス、及び/又はコードを含むことができる。ある実施形態によれば、複数の外部デバイス108A...108Nの各々は、通信ネットワーク110を介して、電子デバイス102から、(マルチメディアコンテンツとして)符号化された3Dポイントクラウドジオメトリを受け取るように構成することができる。複数の外部デバイス108A...108Nは、符号化された3Dポイントクラウドジオメトリを復号して、オブジェクトの3Dモデルをレンダリングするように構成することができる。複数の外部デバイス108A...108Nの例としては、以下に限定されるわけではないが、ディスプレイシステム、コンピュータデバイス、ゲームデバイス、移動電話、テレビジョン、又はマルチメディアコンテンツを記憶又はレンダリングする能力を有する電子デバイスを挙げることができる。
【0020】
[0031] 通信ネットワーク110は、通信媒体を含むことができ、通信媒体を通じて、電子デバイス102は、サーバ104、スキャニングセットアップ106、及び複数の外部デバイス108A...108Nに通信可能に結合することができる。通信ネットワーク110の例としては、以下に限定されるわけではないが、インターネット、クラウドネットワーク、セルラー又はワイヤレスモバイルネットワーク(Long-Term Evolution及び5G New Radioなど)、ワイヤレスフィデリティ(Wi-Fi)ネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、又はメトロポリタンエリアネットワーク(MAN)を挙げることができる。ネットワーク環境100における様々なデバイスは、様々な有線及び無線通信プロトコルに従って、通信ネットワーク110に接続するように構成することができる。このような有線及び無線通信プロトコルの例としては、以下に限定されるわけではないが、伝送制御プロトコル及びインターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、ZigBee、EDGE、IEEE 802.11、ライトフィデリティ(Li-Fi)、802.16、IEEE 802.11s、IEEE 802.11g、マルチホップ通信、無線アクセスポイント(AP)、装置間通信、セルラー通信プロトコル、及びBluetooth(BT)通信プロトコルのうちの少なくとも1つを含むことができる。
【0021】
[0032] 動作時、電子デバイス102は、3D空間内の少なくとも1つのオブジェクトと関連付けられる3Dポイントクラウドジオメトリ112を受け取るように構成することができる。例えば、ジオメトリ及び属性を含む3Dポイントクラウド(又は3Dスキャン)から、3Dポイントクラウドデータを取得することができる。ある実施形態では、3Dポイントクラウドは、静的ポイントクラウドとすることができる。別の実施形態では、3Dポイントクラウドは、動的3Dポイントクラウド(すなわち、ポイントクラウドシーケンス)のフレームとすることができる。一般に、3Dポイントクラウドは、3D空間内のオブジェクトの幾何学情報(例えば、ポイントの3D座標)及び属性情報の表現である。属性情報は、以下に限定されるわけではないが、3D空間内のオブジェクトと関連付けられる、色情報、反射率情報、不透明度情報、法線ベクトル情報、マテリアル識別子(material identifier)情報、又はテクスチャ情報を含むことができる。テクスチャ情報は、オブジェクトの複数の色画像における色又は強度の空間配置を表すことができる。反射率情報は、3Dポイントクラウドの特徴点のローカル照明の経験的モデル(例えば、フォンシェーディングモデル又はグーローシェーディングモデル)と関連付けられる情報を表すことができる。ローカル照明の経験的モデルは、オブジェクトの表面の反射率(ざらざらした又は光沢のある表面部分)に対応することができる。不透明度情報は、ポイントの透明度を表すことができる。法線ベクトル情報は、ポイントにおける接平面に垂直な方向を表すことができる。マテリアル識別子情報は、利用可能なマテリアルのセットからマテリアルを示す識別子を表すことができる。
【0022】
[0033] 電子デバイス102は、3Dポイントクラウドジオメトリ112から複数のボクセルを生成するように更に構成することができる。ボクセルの生成は、3Dポイントクラウドジオメトリ112のボクセル化と呼ぶことができる。3Dポイントクラウドをボクセル化するための従来の技術は、当業者に周知であり得る。したがって、ボクセル化の詳細については、簡潔さのために本開示からは省略する。
【0023】
[0034] 3Dポイントクラウドジオメトリ112は、多数の(例えば、104以上のオーダーの)データポイントを含む可能性があるので、データポイントの送信/受信は、高いネットワーク帯域幅を消費する可能性がある。同様に、データポイントは、非圧縮状態では、必要以上のストレージを消費する可能性がある。3Dポイントクラウドジオメトリ112は、符号化されたポイントクラウドデータが送信/受信のためのネットワーク帯域幅及び必要な記憶スペースをより少なく使用するように、符号化する必要がある場合がある。3Dポイントクラウドジオメトリ112の符号化プロセスについて、本明細書で説明する。
【0024】
[0035] 電子デバイス102は、3Dポイントクラウドジオメトリ112を3Dブロックのセットに分割するように構成することができる。電子デバイス102は、3Dブロックのセットのうちの3Dブロックに対して、モード決定情報を決定するように構成することができる。モード決定情報は、例えば、3Dポイントクラウドジオメトリ112と関連付けられるクラス情報、3Dポイントクラウドジオメトリ112の符号化段階と関連付けられる1又は2以上の動作条件、又は3Dブロックのセットのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報を含むことができる。例えば、3Dポイントクラウドジオメトリと関連付けられるクラス情報は、3Dポイントクラウドジオメトリ112と関連付けられるジオメトリビット深度、密度、又はポイント分布を含むことができる。同様に、3Dポイントクラウドジオメトリ112の符号化段階と関連付けられる1又は2以上の動作条件は、3Dポイントクラウドジオメトリ112と関連付けられる目標レート歪みコストを含むことができる。
【0025】
[0036] 電子デバイス102は、モード決定情報に基づいて、複数のモードから3Dブロックに対する1又は2以上のモードを選択するように更に構成することができる。各モードは、3Dブロックを符号化することができる関数に対応することができる。例えば、関数は、3Dポイントクラウドジオメトリ112の3Dブロックを符号化して、符号化された3Dブロックを生成するようにトレーニングすることができるディープニューラルネットワーク(DNN)モデルに対応することができる。ある実施形態によれば、各モードは、DNNモデルのトレーニング段階で使用されるフォーカルロス関数のアルファパラメータに対応することができる。フォーカルロス関数は、3Dポイントクラウドジオメトリ112の3Dブロックからの非空ボクセルの除去にペナルティを科すように構成することができる。電子デバイス102は、複数のDNNモデルを含むことができ、複数のDNNモデルの各々は、複数のモードのうちの特定のモードのために構成することができる。例えば、複数のDNNモデルのうちの第1のDNNモデルは、アルファパラメータの第1の値と関連付けられる第1のモードに対応することができる。同様に、複数のDNNモデルのうちの第2のDNNモデルは、アルファパラメータの第2の値と関連付けられる第2のモードに対応することができるなどである。1又は2以上のモードの選択については、例えば図4図5図6図7図8A図8B図9A及び図9Bで更に説明する。
【0026】
[0037] 電子デバイス102は、選択された1又は2以上のモードに基づいて、3Dブロックを符号化するように更に構成することができる。ある実施形態では、電子デバイス102は、選択された1又は2以上のモードから、3Dブロックを符号化するための最適なモードを決定することができる。特定のシナリオでは、選択された1又は2以上のモードは、単一のモードを含むことができる。このようなシナリオでは、最適モードは、選択されたモードと同じとすることができる。最適モードの決定については、例えば図4図5図6図7図8A図8B図9A及び図9Bで更に説明する。
【0027】
[0038] 電子デバイス102は、3Dポイントクラウドジオメトリ112の全ての残りのブロックに対して(単複の)モードを決定することもでき、3Dポイントクラウドジオメトリ112の残りのブロックを符号化して、符号化された3Dポイントクラウドジオメトリ(符号化された3Dブロックを含むことができる)を生成することができる。
【0028】
[0039] ある実施形態では、電子デバイス102は、符号化された3Dポイントクラウドジオメトリと関連付けられる補足情報を生成することができる。補足情報の例としては、以下に限定されるわけではないが、コーディングテーブル、モード決定情報、重み情報、幾何学情報のためのインデックス値、及び量子化パラメータを挙げることができる。電子デバイス102は、複数の外部デバイス108A...108Nのうちの少なくとも1つに、符号化された3Dポイントクラウドジオメトリを送信するように更に構成することができる。補足情報は、符号化された3Dポイントクラウドジオメトリと一緒に送信することができる。
【0029】
[0040] 従来のポイントクラウド圧縮(PCC)技術は、3Dポイントクラウドジオメトリ112の各3Dブロックを符号化するための最適モードを探索するために、モードサーチ動作を必要とする。モードサーチ動作では、全ての可能なモードに基づいて、各3Dブロックを符号化することができ、符号化された3Dブロックを再構成(すなわち復号)して、可能なモードの各々に対するレート歪みコストを決定することができる。3Dブロックと関連付けられる最適モードとして、最も低いレート歪みコストに対応するモードを選択することができる。選択された最適モードに基づいて、3Dブロックを符号化することができる。レート歪みコストの決定は、3Dポイントクラウドジオメトリ112の3Dブロック毎に複数の符号化及び復号化動作を必要とする場合があるので、従来のPCC技術は、計算コストがかかる場合があり、所望の使用量と比較してメモリ使用量が高い場合がある。これに対して、開示する電子デバイス102は、複数の可能なモード(すなわち、複数のモード)から1又は2以上のモードを選択して、3Dポイントクラウドジオメトリ112の3Dブロックを符号化することができる。複数の可能なモードの全てが、3Dブロックの符号化のレート歪み性能に顕著な効果を与えるわけではないので、(全ての可能なモードの代わりに)選択された1又は2以上のモードを使用して3Dブロックを符号化することは、3Dポイントクラウドジオメトリ112の圧縮品質を低下させない。更に、より少ない数のモードに対して3Dブロックのレート歪みコストを決定する必要がある場合があるので、レート歪みコストの決定と関連付けられる符号化及び復号化動作の数が減少することができる。したがって、3Dブロックの圧縮と関連付けられる計算及びメモリ要件を低減することができ、それによって、3Dポイントクラウドジオメトリ112の圧縮と関連付けられる効率を向上させることができる。
【0030】
[0041] 図2は、本開示の実施形態による、図1の例示的な電子デバイスを示すブロック図である。図2の説明は、図1の要素に関連して行う。図2を参照すると、電子デバイス102のブロック図200が示されている。電子デバイス102は、回路202を含むことができる。回路は、プロセッサ204及びエンコーダ206を含むことができる。いくつかの実施形態では、回路202は、デコーダ208を含むこともできる。電子デバイス102は、メモリ210、入力/出力(I/O)デバイス212、及びネットワークインターフェイス214を更に含むことができる。I/Oデバイス212は、ディスプレイデバイス212Aを含むことができ、ディスプレイデバイス212Aを利用して、3Dポイントクラウド又は3Dポイントクラウドからレンダリングされる3Dグラフィックモデルなどのマルチメディアコンテンツをレンダリングすることができる。回路202は、メモリ210、I/Oデバイス212、及びネットワークインターフェイス214に通信可能に結合することができる。回路202は、ネットワークインターフェイス214を使用して、サーバ104、スキャニングセットアップ106、及び複数の外部デバイス108A...108Nと通信するように構成することができる。
【0031】
[0042] プロセッサ204は、オブジェクトの3Dポイントクラウドの符号化と関連付けられる命令を実行するように構成できる好適なロジック、回路、及び/又はインターフェイスを含むことができる。また、プロセッサ204は、3D空間内のオブジェクトの3Dポイントクラウドの生成及び/又は複数の色画像及び対応する深度情報の受信と関連付けられる命令を実行するように構成することができる。プロセッサ204は、複数の外部デバイス108A...108Nのうちの少なくとも1つに対する(マルチメディアコンテンツとしての)3Dポイントクラウドの送信及び/又は受信に関連する様々な動作を実行するように更に構成することができる。プロセッサ204の例は、グラフィック処理ユニット(GPU)、中央処理装置(CPU)、テンソル処理ユニット(TPU)、縮小命令セットコンピュータ(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複合命令セットコンピュータ(CISC)プロセッサ、コプロセッサ、その他のプロセッサ、及び/又はこれらの組み合わせとすることができる。ある実施形態によれば、プロセッサ204は、エンコーダ206が3Dポイントクラウドを符号化し、デコーダ208が符号化された3Dポイントクラウド及び電子デバイス102の他の機能を復号するのを支援するように構成することができる。
【0032】
[0043] エンコーダ206は、3D空間内のオブジェクトに対応する3Dポイントクラウドジオメトリを符号化するように構成できる好適なロジック、回路、及び/又はインターフェイスを含むことができる。ある実施形態では、エンコーダ206は、3Dポイントクラウドジオメトリと関連付けられる各3Dブロックを符号化することによって、3Dポイントクラウドを符号化することができる。ある実施形態では、エンコーダ206は、符号化された3Dポイントクラウドジオメトリと関連付けられる補足情報を生成することができる。
【0033】
[0044] 特定の実施形態では、エンコーダ206は、通信ネットワーク110を介して、メモリ210への符号化された3Dポイントクラウドジオメトリの記憶及び/又は他のメディアデバイス(例えば、ポータブルメディアプレーヤ)への符号化された3Dポイントクラウドジオメトリの転送を管理するように構成される。
【0034】
[0045] いくつかの実施形態では、エンコーダ206は、GPU、CPU、TPU、RISCプロセッサ、ASICプロセッサ、CISCプロセッサ、コプロセッサ、その他のプロセッサ、及び/又はこれらの組み合わせ上で(コンピュータ実行可能コードの形態で)ディープニューラルネットワークとして実装することができる。いくつかの他の実施形態では、エンコーダ206は、電子デバイス102の他の計算回路とインターフェイスされる専用ハードウェア上でディープニューラルネットワークとして実装することができる。このような実装では、エンコーダ206は、特定の計算回路上の特定のフォームファクタと関連付けられることができる。特定の計算回路の例としては、以下に限定されるわけではないが、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、ASIC、プログラマブルASIC(PL-ASIC)、特定用途向け集積部品(ASSP)、及び標準的なマイクロプロセッサ(MPU)又はデジタルシグナルプロセッサ(DSP)に基づくシステムオンチップ(SOC)を挙げることができる。ある実施形態によれば、エンコーダ206は、GPUとインターフェイスされて、エンコーダ206の動作を並列化することもできる。別の実施形態によれば、エンコーダ206は、メモリ210に記憶されるプログラム可能命令と電子デバイス102のハードウェア回路上の論理装置(又はプログラマブルロジックユニット)との組み合わせとして実装することができる。
【0035】
[0046] デコーダ208は、オブジェクトの幾何学情報を表すことができる符号化された情報を復号するように構成できる好適なロジック、回路、及び/又はインターフェイスを含むことができる。符号化された情報は、補足情報、例えば、コーディングテーブル、重み情報、モード情報、幾何学情報のためのインデックス値、及び量子化パラメータを含み、デコーダ208を支援することもできる。一例として、符号化された情報は、符号化された3Dポイントクラウドジオメトリを含むことができる。デコーダ208は、符号化された3Dポイントクラウドジオメトリを復号することによって、3Dポイントクラウドジオメトリを再構成するように構成することができる。ある実施形態によれば、デコーダ208は、複数の外部デバイス108A...108Nのうちの少なくとも1つに存在することができる。
【0036】
[0047] メモリ210は、回路202が実行できる命令を記憶するように構成できる好適なロジック、回路及び/又はインターフェイスを含むことができる。メモリ210は、オペレーティングシステム及び関連するアプリケーションを記憶するように構成することができる。メモリ210は、オブジェクトに対応する3Dポイントクラウド(3Dポイントクラウドジオメトリ112を含む)を記憶するように更に構成することができる。ある実施形態によれば、メモリ210は、複数のモードに関連する情報と、複数のモードをクラス及び動作条件にマッピングするテーブルとを記憶するように構成することができる。メモリ210の実装の例としては、以下に限定されるわけではないが、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的に消去可能なプログラマブルリードオンリメモリ(EEPROM)、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、CPUキャッシュ、及び/又はセキュアデジタル(SD)カードを挙げることができる。
【0037】
[0048] I/Oデバイス212は、ユーザ入力を受け取るように構成できる好適なロジック、回路、インターフェイス、及び/又はコードを含むことができる。I/Oデバイス212は、ユーザ入力に応答して出力を提供するように更に構成することができる。I/Oデバイス212は、様々な入力及び出力デバイスを含むことができ、これらは、回路202と通信するように構成することができる。入力デバイスの例としては、以下に限定されるわけではないが、タッチスクリーン、キーボード、マウス、ジョイスティック、及び/又はマイクロフォンを挙げることができる。出力デバイスの例としては、以下に限定されるわけではないが、ディスプレイデバイス212A及び/又はスピーカを挙げることができる。
【0038】
[0049] ディスプレイデバイス212Aは、ディスプレイデバイス212Aのディスプレイ画面上に3Dポイントクラウドをレンダリングするように構成できる好適なロジック、回路、インターフェイス、及び/又はコードを含むことができる。ある実施形態によれば、ディスプレイデバイス212Aは、タッチスクリーンを含み、ユーザ入力を受け取ることができる。ディスプレイデバイス212Aは、以下に限定されるわけではないが、液晶ディスプレイ(LCD)ディスプレイ、発光ダイオード(LED)ディスプレイ、プラズマディスプレイ、及び/又は有機LED(OLED)ディスプレイ技術などのいくつかの公知技術、及び/又はその他のディスプレイ技術を通じて実現することができる。ある実施形態によれば、ディスプレイデバイス212Aは、スマートグラスデバイス、3Dディスプレイ、シースルーディスプレイ、投影式ディスプレイ、エレクトロクロミックディスプレイ、及び/又は透明ディスプレイのディスプレイ画面を意味することができる。
【0039】
[0050] ネットワークインターフェイス214は、通信ネットワーク110を介して、電子デバイス102、サーバ104、スキャニングセットアップ106、及び複数の外部デバイス108A...108Nの間の通信を確立するように構成できる好適なロジック、回路、インターフェイス、及び/又はコードを含むことができる。ネットワークインターフェイス214は、電子デバイス102と通信ネットワーク110との有線又は無線通信をサポートする様々な公知技術を用いて実装することができる。ネットワークインターフェイス214は、以下に限定されるわけではないが、アンテナ、無線周波数(RF)トランシーバ、1又は2以上の増幅器、チューナ、1又は2以上の発振器、デジタルシグナルプロセッサ、コーダ・デコーダ(CODEC)チップセット、加入者識別モジュール(SIM)カード、及び/又はローカルバッファを含むことができる。
【0040】
[0051] ネットワークインターフェイス214は、インターネット、イントラネット、及び/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(LAN)及び/又はメトロポリタンエリアネットワーク(MAN)などの無線ネットワークなどのネットワークと無線通信を介して通信することができる。無線通信は、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM)、拡張データGSM環境(EDGE)、広帯域符号分割多元接続(W-CDMA)、ロングタームエボリューション(LTE)、第5世代(5G)New Radio(NR)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth、ワイヤレスフィデリティ(Wi-Fi)(IEEE 802.11a、IEEE 802.11b、IEEE 802.11g及び/又はIEEE 802.11nなど)、ボイスオーバーインターネットプロトコル(VoIP)、ライトフィデリティ(Li-Fi)、Wi-MAX、電子メール用プロトコル、インスタントメッセージング、及び/又はショートメッセージサービス(SMS)などの複数の通信規格、プロトコル及び技術のうちのいずれかを使用することができる。回路202の動作については、例えば図3図4図5図6図7図8A図8B図9A図9B及び図10で詳細に説明する。
【0041】
[0052] 図3は、本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的なエンコーダ及び例示的なデコーダのブロック図である。図3の説明は、図1及び図2の要素に関連して行う。図3を参照すると、エンコーダ302A及びデコーダ302Bを含むブロック図300が示されている。エンコーダ302Aは、図2のエンコーダ206の例示的な実装とすることができ、デコーダ302Bは、図2のデコーダ208の例示的な実装とすることができる。
【0042】
[0053] ある実施形態では、エンコーダ302A及びデコーダ302Bは、別個の電子デバイス上に実装することができる。別の実施形態では、エンコーダ302A及びデコーダ302Bの両方は、電子デバイス102上に実装することができる。デコーダ302Bは、1又は2以上の外部デバイス108A...108Nの各々に実装することもできる。
【0043】
[0054] エンコーダ302Aは、第1のエンコーダ(例えば、エンコーダ-1 304A)、...及び第Nのエンコーダ(例えば、エンコーダ-N 304N)などのエンコーダのセットを含むことができる。エンコーダ302Aのエンコーダのセットのうちの各エンコーダは、関連するニューラルネットワークモデルを含むことができる。例えば、エンコーダ-1 304Aは、DNNモデル-1 306Aなどの第1のディープニューラルネットワーク(DNN)モデルを含むことができる。更に、エンコーダ-N 304Nは、DNNモデル-N 306Nなどの第NのDNNモデルを含むことができる。エンコーダ302Aは、モードセレクタ308を更に含むことができ、モードセレクタ308は、エンコーダ-1 304A、...及びエンコーダ-N 304Nの各々に通信可能に結合することができる。
【0044】
[0055] 各ディープニューラルネットワークモデル(例えば、DNNモデル-1 306A)は、ノードとして複数の層に配置される人工ニューロンの計算ネットワーク又はシステムを含むニューラルネットワークモデルとすることができる。ニューラルネットワークモデルの複数の層は、入力層と、1又は2以上の隠れ層と、出力層とを含むことができる。複数の層のうちの各層は、1又は2以上のノード(又は例えば、円によって表される人工ニューロン)を含むことができる。入力層における全てのノードの出力は、(単複の)隠れ層の少なくとも1つのノードに結合することができる。同様に、各隠れ層の入力は、ニューラルネットワークモデルの他の層における少なくとも1つのノードの出力に結合することができる。各隠れ層の出力は、ニューラルネットワークモデルの他の層における少なくとも1つのノードの入力に結合することができる。最終層における(単複の)ノードは、少なくとも1つの隠れ層から入力を受け取り、結果を出力することができる。層の数及び各層内のノードの数は、ニューラルネットワークモデルのハイパーパラメータから決定することができる。このようなハイパーパラメータは、トレーニングデータセットでニューラルネットワークモデルをトレーニングする前に又はその後に設定することができる。
【0045】
[0056] ニューラルネットワークモデルの各ノードは、ネットワークのトレーニング中に調整できるパラメータセットを有する数学関数(例えば、シグモイド関数又は正規化線形ユニット)に対応することができる。パラメータセットは、例えば、重みパラメータ、正則化パラメータなどを含むことができる。各ノードは、数学関数を使用して、ニューラルネットワークモデルの(単複の)他の層(例えば、(単複の)前の層)内のノードからの1又は2以上の入力に基づいて出力を計算することができる。ニューラルネットワークモデルのノードの全て又はそのうちのいくつかは、同じ又は異なる数学関数に対応することができる。
【0046】
[0057] ニューラルネットワークモデルのトレーニングでは、(トレーニングデータセットからの)所与の入力に対する最終層の出力が、ニューラルネットワークモデルに対する損失関数に基づく正しい結果と一致するかどうかに基づいて、ニューラルネットワークの各ノードの1又は2以上のパラメータを更新することができる。損失関数の最小値に達することができ、トレーニングエラーを最小にすることができるまで、同じ又は異なる入力に対して上記のプロセスを繰り返すことができる。いくつかのトレーニング方法は、当技術分野で公知であり、例えば、勾配降下法、確率的勾配降下法、バッチ勾配降下法、勾配ブースト法、メタヒューリスティクスなどである。
【0047】
[0058] ニューラルネットワークモデルは、例えば、電子デバイス(例えば、電子デバイス102)上で実行可能なアプリケーションのソフトウェアコンポーネントとして実装することができる電子データを含むことができる。ニューラルネットワークモデルは、回路202などの処理デバイスが実行するライブラリ、外部スクリプト、又はその他のロジック/命令に依拠することができる。ニューラルネットワークモデルは、回路202などのコンピュータデバイスが3Dポイントクラウドジオメトリと関連付けられる3Dブロックを符号化又は復号するための1又は2以上の動作を実行できるようにするように構成されるコード及びルーチンを含むことができる。加えて、又は代替的に、ニューラルネットワークモデルは、プロセッサ、マイクロプロセッサ(例えば、1又は2以上の動作の実行又は実行の制御を行う)、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含むハードウェアを使用して実装することもできる。代替的に、いくつかの実施形態では、ニューラルネットワークモデルは、ハードウェア及びソフトウェアの組み合わせを使用して実装することができる。
【0048】
[0059] デコーダ302Bは、第1のデコーダ(例えば、デコーダ-1 310A)、...及び第Nのデコーダ(例えば、デコーダ-N 310N)などのデコーダのセットを含むことができる。デコーダのセットのうちの各デコーダは、関連するニューラルネットワークモデルを含むことができる。例えば、デコーダ-1 310Aは、DNNモデル-1 306Aなどの第1のDNNモデルを含むことができる。更に、デコーダ-N 310Nは、DNNモデル-N 306Nなどの第NのDNNモデルを含むことができる。図3には、エンコーダ302Aと関連付けられるブロック分割部312Aと、デコーダ302Bと関連付けられる2値化部及びマージ部312Bとが示されている。また、符号化されたビットストリーム及び補足情報314Aと、シグナリングビットストリーム314Bと、入力ポイントクラウド316Aと、再構成されたポイントクラウド316Nと、3Dブロックのセット318とが示されている。
【0049】
[0060] 動作時、圧縮のために、3Dポイントクラウドジオメトリ112を含む入力ポイントクラウド316Aを受け取ることができる。ブロック分割部312Aは、入力ポイントクラウド316Aを受け取り、入力ポイントクラウド316Aを3Dブロックのセット318に分割することができる。エンコーダ302Aは、ブロック分割部312Aから3Dブロックのセット318を受け取ることができる。3Dブロックのセット318からの各3Dブロックを、モードセレクタ308及びエンコーダ-1 304A、...及びエンコーダ-N 304Nの各々に入力することができる。エンコーダ-1 304Aは、エンコーダ回路及び/又はソフトウェア(エンコーダ206など)を含み、3DブロックへのDNNモデル-1 306Aの適用に基づいて、第1の符号化されたブロックの決定のために3Dブロックを符号化することができる。DNNモデル-1 306Aに基づく3Dブロックの符号化は、複数のモードからの第1のモードの使用による符号化に対応することができる。例えば、第1のモードは、DNNモデル-1 306Aをトレーニングするために使用することができるフォーカルロス関数のアルファパラメータの第1の値(例えば、0.5)に対応することができる。ここでは、フォーカルロス関数は、3Dポイントクラウドジオメトリ112の3Dブロックからの非空ボクセルの除去にペナルティを科すように構成することができる。同様に、エンコーダ-N 304Nは、エンコーダ回路及び/又はソフトウェア(エンコーダ206など)を含み、3DブロックへのDNNモデル-N 306Nの適用に基づいて、第Nの符号化されたブロックの決定のために3Dブロックを符号化することができる。DNNモデル-N 306Nに基づく3Dブロックの符号化は、複数のモードからの第Nのモードの使用による符号化に対応することができる。
【0050】
[0061] エンコーダ-1 304Aは、デコーダ回路及び/又はソフトウェア(デコーダ208など)を更に含み、第1の符号化されたブロックへのDNNモデル-1 306Aの適用に基づいて、第1の復号されたブロックの決定のために第1の符号化されたブロックを復号することができる。DNNモデル-1 306Aに基づく第1の符号化されたブロックの復号化は、第1のモードの使用による復号化に対応することができる。同様に、エンコーダ-N 304Nは、回路及び/又はソフトウェア(デコーダ208など)を含み、第Nの符号化されたブロックへのDNNモデル-N 306Nの適用に基づいて、第Nの復号されたブロックの決定のために第Nの符号化されたブロックを復号することができる。DNNモデル-N 306Nに基づく第Nの符号化されたブロックの復号化は、第Nのモードの使用による復号化に対応することができる。
【0051】
[0062] モードセレクタ308は、3Dブロックを受け取ることができ、エンコーダ-1 304Aから第1の復号されたブロックを更に受け取ることができ、…エンコーダ-N 304Nから第Nの復号されたブロック受け取ることができる。モードセレクタ308は、3Dブロックと第1の復号されたブロックとを比較して、第1のモードの使用による3Dブロックの符号化と関連付けられる第1のレート歪みコストを決定することができる。同様に、モードセレクタ308は、3Dブロックと第Nの復号されたブロックとを比較して、第Nのモードの使用による3Dブロックの符号化と関連付けられる第Nのレート歪みコストを決定することができる。次に、モードセレクタ308は、第1のレート歪みコスト、…及び第Nのレート歪みコストを互いに比較することができる。レート歪みコスト間の比較に基づいて、モードセレクタ308は、最も小さいレート歪みコストに対応するモードを決定することができる。モードセレクタ308は、3Dブロックの符号化のために選択されるモードとして、決定されたモードを選択することができる。
【0052】
[0063] エンコーダ302Aは、モードセレクタ308によって選択されるモードに基づいて、3Dブロックを符号化するように構成することができる。3Dポイントクラウドジオメトリ112に含まれる3Dブロックの符号化は、3Dポイントクラウドジオメトリ112を、圧縮されたポイントクラウドデータのビットストリーム(すなわち、符号化されたビットストリーム)に変換することができる。エンコーダ302Aは、圧縮されたポイントクラウドデータのビットストリームを、3Dポイントクラウドジオメトリ112と関連付けられる補足情報と一緒に、符号化されたビットストリーム及び補足情報314Aとして送信することができる。補足情報の例としては、以下に限定されるわけではないが、モード決定情報、コーディングテーブル、重み情報、幾何学情報のためのインデックス値、及び量子化パラメータを挙げることができる。エンコーダ302A及びブロック分割部312Aは一緒に、シグナリングビットストリーム314Bをデコーダ302Bに送信することができる。シグナリングビットストリーム314Bは、以下に限定されるわけではないが、3Dポイントクラウドジオメトリ112を3Dブロックのセット318に分割することと関連付けられる情報、及びモード決定情報(例えば、3Dブロックを符号化するためにモードセレクタ308によって選択されるモード)を含むことができる。
【0053】
[0064] デコーダ302Bは、エンコーダ302Aから、符号化されたビットストリーム及び補足情報314Aとシグナリングビットストリーム314Bとを受け取るように構成することができる。ある実施形態では、デコーダ302Bは、シグナリングビットストリーム314Bにおけるモード決定情報に基づいて、符号化されたビットストリームを復号するためのモードを決定することができる。一例では、デコーダ302Bは、符号化されたビットストリームを復号するために第1のモードを使用することができると決定することができる。デコーダ-1 310Aは、デコーダ回路及び/又はソフトウェア(デコーダ208など)を含み、第1の符号化されたブロックへのDNNモデル-1 306Aの適用に基づいて、第1の復号されたブロックの決定のために(符号化されたビットストリームからの)第1の符号化されたブロックを復号することができる。DNNモデル-1 306Aに基づく第1の符号化されたブロックの復号化は、第1のモードの使用による第1の符号化されたブロックの復号化に対応することができる。同様に、デコーダ-N 310Nは、回路及び/又はソフトウェア(デコーダ208など)を含み、第Nの符号化されたブロックへのDNNモデル-N 306Nの適用に基づいて、第Nの復号されたブロックの決定のために(符号化されたビットストリームからの)第Nの符号化されたブロックを復号することができる。DNNモデル-N 306Nに基づく第Nの符号化されたブロックの復号化は、第Nのモードの使用による第Nの符号化されたブロックの復号化に対応することができる。
【0054】
[0065] デコーダ302Bは、符号化されたブロックと関連付けられる(シグナリングビットストリーム314Bにおける)モード決定情報に基づいて、(符号化されたビットストリーム及び補足情報314Aにおける)受け取った符号化されたビットストリームからの特定の符号化されたブロックを復号するためのモードを選択するように構成することができる。符号化されたブロックのために選択されるモードに基づいて、デコーダ302Bは、符号化されたブロックを復号して、復号されたブロックを決定することができる。例えば、符号化されたブロックを復号するために第1のモードが選択された場合、デコーダ302Bは、第1のモードに基づいて、符号化されたブロックを復号することができる。このような場合、デコーダ302Bは、(DNNモデル-1 306Aと関連付けられることができる)デコーダ-1 310Aを選択して、符号化されたブロックを復号することができる。デコーダ302Bは、符号化されたビットストリームにおける各符号化されたブロックの復号化に基づいて、復号されたブロックのセット318Bを決定するように構成することができる。
【0055】
[0066] 2値化部及びマージ部312Bは、デコーダ302Bから、復号されたブロックのセット318Bを受け取ることができる。更に、2値化部及びマージ部312Bは、エンコーダ302Aからシグナリングビットストリーム314Bを受け取ることができる。受け取ったシグナリングビットストリーム314Bに基づいて、2値化部及びマージ部312Bは、受け取った復号されたブロックのセット318Bを2値化及びマージして、再構成されたポイントクラウド316Nを得ることができる。一例では、2値化部及びマージ部312Bは、シグナリングビットストリーム314Bにおける3Dポイントクラウドジオメトリ112の分割と関連付けられる情報を使用して、復号されたブロックのセット318Bを2値化及びマージすることができる。
【0056】
[0067] 図4は、本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。図4の説明は、図1図2及び図3の要素に関連して行う。図4を参照すると、ポイントクラウド圧縮のための適応モード選択のための処理パイプライン400が示されている。処理パイプライン400には、402から開始して414で終了することができる動作のシーケンスが示されている。動作のシーケンスは、電子デバイス102の回路202によって実行することができる。動作の個々の段階で得られる出力も示されている。
【0057】
[0068] 402において、データ取得動作を実行することができる。データ取得動作において、プロセッサ204は、3D空間内の1又は2以上のオブジェクト(人物など)に対応することができる3Dポイントクラウド402Aを取得するように構成することができる。3Dポイントクラウド402Aは、3D空間内の1又は2以上のオブジェクトの幾何学情報及び属性情報の表現とすることができる。幾何学情報は、3Dポイントクラウド402Aの個々の特徴点の3D座標(XYZ座標など)を示すことができる。属性情報がない場合、3Dポイントクラウド402Aは、1又は2以上のオブジェクトと関連付けられる3Dポイントクラウドジオメトリ(例えば、3Dポイントクラウドジオメトリ112)として表現することができる。属性情報は、例えば、1又は2以上のオブジェクトの色情報、反射率情報、不透明度情報、法線ベクトル情報、マテリアル識別子情報及びテクスチャ情報を含むことができる。ある実施形態によれば、3Dポイントクラウド402Aは、通信ネットワーク110を介してスキャニングセットアップ106から受け取られるか、又はスキャニングセットアップ106と同じ機能を有することができる内蔵スキャナから直接取得されることができる。
【0058】
[0069] 3Dポイントクラウド402Aにおける各特徴点は、(x,y,z,Y,Cb,Cr,α,a1,...an)として表すことができ、ここで、(x,y,z)は、幾何学情報を表すことができる3D座標とすることができ、(Y,Cb,Cr)は、特徴点の(YCbCr又はYUV色空間内の)輝度、彩度-青色差、及び彩度-赤色差成分(luma, chroma-blue difference, and chroma-red difference components)とすることができ、αは、特徴点の透明度値とすることができ、a1~anは、マテリアル識別子及び法線ベクトルのような1次元又は多次元属性を表す。Y,Cb,Cr,α及びa1~anは共同で、3Dポイントクラウド402Aの各特徴点の属性情報を表すことができる。
【0059】
[0070] 404において、事前符号化段階動作を実行することができる。事前符号化段階動作は、本明細書で説明するように、プロセッサ204によって実行することができる動作406及び408などの動作を含むことができる。
【0060】
[0071] 406において、3Dポイントクラウド402Aに対してボクセル化動作を実行することができる。ボクセル化動作において、プロセッサ204は、3Dポイントクラウド402Aから複数のボクセル406Aを生成するように構成することができる。各生成されたボクセルは、3D空間内の1又は2以上のオブジェクトの体積要素を表現することができる。体積要素は、3Dポイントクラウド402Aの特徴点のグループに対応する属性情報及び幾何学情報を示すことができる。
【0061】
[0072] 本明細書に、3Dポイントクラウド402Aのためのボクセル化のプロセスの例を提示する。3Dポイントクラウド402Aに対応する3D空間は、複数のサブ立方体(オクタントなど)に再帰的に分割することができる立方体として考えることができる。各サブ立方体のサイズは、3Dポイントクラウド402Aにおける複数の特徴点の密度に基づくことができる。3Dポイントクラウド402Aの複数の特徴点は、異なるサブ立方体を占有することができる。各サブ立方体は、ボクセルに対応することができ、対応するサブ立方体の特定の体積内に、3Dポイントクラウド402Aの特徴点のセットを含むことができる。プロセッサ204は、対応するボクセルの特徴点のセットと関連付けられる属性情報の平均を計算するように構成することができる。また、プロセッサ204は、対応するボクセル内の対応する特徴点のセットと関連付けられる幾何学情報に基づいて、複数のボクセル406Aのうちの各ボクセルについて中心座標を計算するように構成することができる。生成された複数のボクセル406Aのうちの各ボクセルは、対応する特徴点のセットと関連付けられる属性情報の中心座標及び平均によって表現することができる。
【0062】
[0073] ある実施形態によれば、3Dポイントクラウド402Aのボクセル化のプロセスは、当業者に周知であり得る従来の技術を使用して行うことができる。したがって、従来の技術の詳細については、簡潔さのために本開示からは省略する。複数のボクセル406Aは、3D空間内の1又は2以上のオブジェクトの幾何学情報及び属性情報を表現することができる。複数のボクセル406Aは、占有されたボクセルと、占有されていないボクセルとを含むことができる。占有されていないボクセルは、3D空間内の1又は2以上のオブジェクトの幾何学情報及び属性情報を表現することができない。占有されたボクセルのみが、1又は2以上のオブジェクトの幾何学情報及び属性情報(色情報など)を表現することができる。ある実施形態によれば、プロセッサ204は、複数のボクセル406Aから占有されたボクセルを識別するように構成することができる。
【0063】
[0074] 408において、複数のボクセル406Aに対してブロック分割動作を実行することができる。ブロック分割動作において、プロセッサ204は、3Dポイントクラウドジオメトリ112の複数のボクセル406Aを3Dブロックのセット(例えば、3Dブロックのセット408A)に分割するように構成することができる。例えば、プロセッサ204は、3Dポイントクラウドジオメトリ112を3Dブロックに分割することができ、3Dブロックの各々は、64x64x64などの所定のサイズを有することができる。ある実施形態では、3Dポイントクラウドジオメトリ112を、同じサイズの3Dブロックに分割することができる。別の実施形態では、3Dポイントクラウドジオメトリ112を、異なるサイズの3Dブロックに分割することができる。例えば、複数のボクセル406Aは、密に占有されることができるボクセルの第1のセットと、疎らに占有されることができるボクセルの第2のセットとを含むことができる。密に占有されたボクセルを含む3Dポイントクラウドジオメトリ112の部分は、32x32x32のサイズの3Dブロックの第1のセットに分割することができ、一方、疎らに占有されたボクセルを含む3Dポイントクラウドジオメトリ112の別の部分は、64x64x64のサイズの3Dブロックの第2のセットに分割することができる。ある実施形態によれば、プロセッサ204は、分割動作と関連付けられる計算コストと、分割された3Dブロックの占有密度との間のトレードオフに基づいて、3Dポイントクラウドジオメトリ112の異なる部分を分割するために、ブロックサイズを選択することができる。
【0064】
[0075] 410において、符号化段階動作を実行することができる。符号化段階動作は、本明細書で説明するように、エンコーダ206によって実行することができる412~414の動作を含むことができる。
【0065】
[0076] 412において、モード選択動作を実行することができる。モード選択動作において、プロセッサ204は、3Dブロックのセット408Aのうちの3Dブロック416に対して、モード決定情報を決定するように構成することができる。代替の実施形態では、モード選択動作は、エンコーダ206によって実行することができる。モード決定情報412Aは、例えば、3Dポイントクラウドジオメトリ112と関連付けられるクラス情報、3Dポイントクラウドジオメトリ112の符号化段階(例えば、符号化段階410)と関連付けられる1又は2以上の動作条件、又は3Dブロックのセット408Aのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報を含むことができる。更に、プロセッサ204は、モード決定情報に基づいて、複数のモードから3Dブロック416に対する1又は2以上のモード(例えば、選択された1又は2以上のモード418)を選択するように構成することができる。
【0066】
[0077] ある実施形態では、モードをクラス及び動作条件にマッピングすることができるテーブルからの探索に基づいて、1又は2以上のモードを選択することができる。別の実施形態では、第2の数(例えば「M」)の前の3Dブロックを符号化するために使用されるモードに基づいて、第1の数(例えば「N」)の現在の3Dブロックに対して、1又は2以上のモードを選択することができる。第2の数の前の3Dブロックは、定められたスキャン順序(Zスキャン順序など)での3Dブロックのセット408Aのスキャンに基づいて、第1の数の現在の3Dブロックに先行することができる。別の実施形態では、3Dポイントクラウドジオメトリ112における3Dブロックのセット408Aの空間配置において、現在の3Dブロックに隣接する3Dブロックによって使用されるモードに基づいて、1又は2以上のモードを選択することができる。別の実施形態では、現在の3Dブロック(及び/又は現在の3Dブロックの近隣の3Dブロック)及び現在の3Dブロック(及び/又は現在の3Dブロックの近隣の3Dブロック)と関連付けられるポイントクラウドメトリックへの分類器の適用に基づいて、1又は2以上のモードを選択することができる。別の実施形態では、現在の3Dブロック(及び/又は現在の3Dブロックの近隣の3Dブロック)に畳み込みニューラルネットワークを直接適用することに基づいて、1又は2以上のモードを選択することができる。
【0067】
[0078] モード決定情報に応じて、1又は2以上のモードを選択することができる。1又は2以上のモードが1よりも多くのモードを含む場合、プロセッサ204は、選択された1又は2以上のモードの各々と関連付けられるレート歪みコストを決定し、決定されたレート歪みコストを互いに比較することができる。決定されたレート歪みコストの比較に基づいて、プロセッサ204は、選択された1又は2以上のモードから、最適モードとして、最も小さいレート歪みコストを有するモードを選択して、現在の3Dブロックを符号化することができる。別のシナリオでは、1又は2以上のモードが単一のモードを含む場合、モードのレート歪みコストを決定することができない。代わりに、単一のモードは、それ自体が最適モードとすることができ、これを使用して、現在の3Dブロックを符号化することができる。モード決定情報の決定及び1又は2以上のモードの選択については、例えば図5図6図7図8A図8B図9A及び図9Bで更に説明する。
【0068】
[0079] 414において、モードベースの符号化動作を実行することができる。モードベースの符号化動作において、エンコーダ206は、選択された1又は2以上のモード418に基づいて、3Dブロック416を符号化するように構成することができる。例えば、エンコーダ206は、選択された1又は2以上のモード418に基づいて、3Dブロック416を符号化して、符号化された3Dブロック420を得ることができる。3Dブロックの符号化については、例えば図5図6図7図8A図8B図9A及び図9Bで更に説明する。
【0069】
[0080] 図5は、本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。図5の説明は、図1図2図3及び図4の要素に関連して行う。図5を参照すると、ポイントクラウド圧縮のための適応モード選択のための処理パイプライン500が示されている。処理パイプライン500には、502から開始して510で終了することができる動作のシーケンスが示されている。動作のシーケンスは、電子デバイス102の回路202によって実行することができる。動作の個々の段階で得られる出力も示されている。
【0070】
[0081] 502において、ブロック分割動作を実行することができる。ブロック分割動作において、プロセッサ204は、入力ポイントクラウドジオメトリ(3Dポイントクラウドジオメトリ512など)を3Dブロックのセット(3Dブロックのセット408Aなど)に分割するように構成することができる。3Dブロックのセット408Aは、3Dブロック502Aを含むことができる。ブロック分割動作については、例えば図4で(408において)更に説明されている。本開示の実施形態による、3Dブロック502Aの符号化については、本明細書で次に説明する。
【0071】
[0082] 504において、クラス識別動作を実行することができる。クラス識別動作において、プロセッサ204は、3Dポイントクラウドジオメトリ512と関連付けられる先験的な特性514に基づいて、3Dポイントクラウドジオメトリ512と関連付けられるクラス情報を決定するように構成することができる。例えば、先験的な特性514は、3Dポイントクラウドジオメトリ512と関連付けられるジオメトリビット深度を含むことができる。先験的な特性514に基づいて、プロセッサ204は、クラス情報(例えば、ポイントクラウドクラス516)を決定することができる。限定ではなく一例として、クラス情報は、3Dポイントクラウドジオメトリ512と関連付けられるジオメトリビット深度、密度、又はポイント分布のうちの少なくとも1つを含むことができる。また、プロセッサ204は、動作条件518などの1又は2以上の動作条件を受け取ることができる。ある実施形態では、電子デバイス102と関連付けられるユーザからのユーザ入力を介して、1又は2以上の動作条件を受け取ることができる。代替的に、1又は2以上の動作条件は、予め決定されてメモリ210に記憶されることができる。このような場合、プロセッサ204は、メモリ210から1又は2以上の動作条件を取り出すことができる。1又は2以上の動作条件は、3Dポイントクラウドジオメトリ512の符号化段階と関連付けられることができ、3Dポイントクラウドジオメトリ512と関連付けられる目標レート歪みコストを含むことができる。レート歪みコストは、元のポイントクラウドブロックと再構成されたポイントクラウドブロックとの間の歪みに対応することができる。レート歪みコストは、元のポイントクラウドブロック及び再構成されたポイントクラウドブロックにおける対応するポイント間のポイント間距離又は平面間距離(又は他の任意の客観的又は主観的歪みメトリック)と、対応するブロックを符号化するのに必要な推定ビット数とに基づいて決定することができる。
【0072】
[0083] プロセッサ204は、クラス情報及び1又は2以上の動作条件に基づいて、モード決定情報412Aを決定するように構成することができる。例えば、プロセッサ204は、複数のモードをクラス及び動作条件にマッピングすることができるテーブル(例えば、テーブル520)をロードすることができる。プロセッサ204は、クラス情報及び1又は2以上の動作条件を使用してテーブル520を探索して、1又は2以上のモードを選択することができる。ここでは、複数のモードのうちの各モードは、3Dブロック502Aなどの3Dブロックを符号化するために使用することができる関数に対応することができる。3Dブロック502Aの符号化の前に、テーブル520を生成及びロードすることができる。テーブル520の生成については、506において更に説明する。テーブル520を探索して1又は2以上のモードを選択することについては、508において更に説明する。
【0073】
[0084] 506において、モード探索動作を実行することができる。3Dポイントクラウドジオメトリ512の3Dブロックの符号化の前に、モード探索動作を使用して、テーブル520を生成することができる。モード探索動作では、プロセッサ204は、エンコーダ206及びデコーダ208を使用して、複数のモードから最適なモードを決定して、較正ポイントクラウドの3Dブロックを符号化することができる。較正ポイントクラウドは、クラス及び動作条件を知ることができるポイントクラウドとすることができる。プロセッサ204は、較正ポイントクラウドを複数の3Dブロックに分割するように構成することができる。較正ポイントクラウドの分割は、例えば502において更に説明するように、3Dポイントクラウドジオメトリ512の分割と同様とすることができる。
【0074】
[0085] エンコーダ206は、複数のモードに基づいて複数の3Dブロックのうちの各3Dブロックを符号化して、各3Dブロックに対応する複数の符号化された3Dブロックを生成するように更に構成することができる。ここでは、各モードは、3Dブロックを符号化するために使用することができる関数に対応することができる。モード(例えば、第1のモード)と関連付けられることができる関数は、3Dブロックを符号化して、符号化された3Dブロックを生成するようにトレーニングすることができるディープニューラルネットワーク(DNN)モデル(例えば、図3のエンコーダ-1 304AのDNNモデル-1 306A)とすることができる。ある実施形態では、複数のモードのうちの各モードは、DNNモデルのトレーニング段階で使用されるフォーカルロス関数のアルファパラメータに対応することができる。ここでは、フォーカルロス関数は、3Dブロックからの非空ボクセルの除去にペナルティを科すように構成することができる。限定ではなく一例として、フォーカルロス関数は、次の式(1)で表すことができる。
上式において、
FL()は、フォーカルロス関数を表すことができ、
tは、占有されているボクセルのDNNモデルの推定した確率を表すことができ、
は、調整可能なフォーカスパラメータ(focusing parameter)を表すことができ(ここで、
である)、
は、フォーカルロス関数のためのバランス係数(balancing factor)とすることができるアルファパラメータを表すことができる(ここで、
である)。
【0075】
[0086] ある実施形態では、各モードと関連付けられるDNNモデルは、入力ポイントクラウド、例えば、3Dポイントクラウドジオメトリ512の3Dブロックの属性及びジオメトリ特性(密度など)に基づいてトレーニングすることができる。このような場合、各DNNモデル(特定のモードと関連付けられることができる)は、異なるレベルの密度に対応する3Dブロックを使用してトレーニングすることができる。したがって、異なるモードを表す異なるDNNは、異なるトレーニングセットから導出することができ、異なるトレーニングセットの各々は、異なる密度レベルに対応することができる。例えば、異なる密度レベルは、以下に限定されるわけではないが、ベタ(solid)レベル、密(dense)レベル、疎ら(sparse)レベル、少ない(scant)レベル、及び不十分(insufficient)レベルを含むことができる。密度レベルの各々は、3Dブロックにおける各3Dポイントと関連付けられるローカル密度の分布の中央値に対応することができる。ローカル密度は、例えば、各ポイントの周囲の球体積内のいくつかの近隣ポイントとすることができる。
【0076】
[0087] 一例として、複数のモードは、第1のモード(例えば、モード「0」)、第2のモード(例えば、モード「1」)、第3のモード(例えば、モード「2」)、第4のモード(例えば、モード「3」)、及び第5のモード(例えば、モード「4」)などの5つのモードを含むことができる。各モードは、アルファパラメータの特定の値に対応することができる。一例として、第1のモード(すなわち、モード「0」)は、アルファパラメータの「0.5」の値に対応することができる。同様に、第2のモード(すなわち、モード「1」)は、アルファパラメータの「0.6」の値に対応することができる。更に、各モードは、3Dポイントクラウドジオメトリ512の特定の密度レベルに対応することができる。一例として、第1のモード(すなわち、モード「0」)は、密度レベル「ベタ(solid)」に対応することができる。同様に、第2のモード(すなわち、モード「1」)は、密度レベル「密(dense)」に対応することができる。以下のように、表1に、複数のモードの各々に対するアルファパラメータの例示的な値を示し、表2に、複数のモードの各々に対する密度レベルの例示的な値を示す。
各モードに対するアルファパラメータの例示的な値
【表1】

各モードに対する密度レベルの例示的な値
【表2】
【0077】
[0088] 表1及び表2を参照して、エンコーダ206は、5つのモードの各々に基づいて、較正ポイントクラウドの複数の3Dブロックを符号化することができる。各3Dブロックを符号化して、5つの符号化された3Dブロックを生成することができる。5つの符号化された3Dブロックは、第1の符号化された3Dブロック(第1のモードに基づいて符号化することができる)と、第2の符号化された3Dブロック(第2のモードに基づいて符号化することができる)と、…、第5の符号化された3Dブロック(第5のモードに基づいて符号化することができる)とを含むことができる。較正ポイントクラウドの各3Dブロックを5回(すなわち、モード毎に1回)符号化して、符号化された3Dブロックの5つのバージョン(すなわち、モード毎に1つの符号化されたブロックバージョン)を生成することができる。表1及び表2に示すデータは単なる実験データとして挙げることができ、本開示を限定するものと解釈すべきではないことに留意されたい。
【0078】
[0089] エンコーダ206は、生成された複数の符号化された3Dブロックの各々と関連付けられるレート歪みコストを決定するように構成することができる。レート歪みコストは、元のポイントクラウドブロックと再構成されたポイントクラウドブロックとの間の歪みに対応することができる。レート歪みコストは、元のポイントクラウド及び再構成されたポイントクラウドにおける対応するポイント間のポイント間距離又は平面間距離(又は他の任意の客観的又は主観的歪みメトリック)と、対応するブロックを符号化するのに必要な推定ビット数とに基づいて決定することができる。
【0079】
[0090] エンコーダ206は、複数のモードのうちの各モードについて、レート歪みコストが最小であることができる生成された複数の符号化された3Dブロックの割合(fraction)を示すことができる統計情報を決定することができる。例えば、複数のモードは、モード「0」、モード「1」、モード「2」、モード「3」、及びモード「4」を含むことができる。全ての利用可能なモード(すなわち、モード「0」、「1」、「2」、「3」、及び「4」)の中から、エンコーダ206は、較正ポイントクラウドの符号化された3Dブロックの90%に対する最も低いレート歪みコストが、モード「0」と関連付けられると決定することができる。同様に、較正ポイントクラウドの符号化された3Dブロックの5%に対する最も低いレート歪みコストが、モード「1」と関連付けられることができると決定することができる。各モードについて、統計情報は、レート歪みコストが最小であることができる生成された複数の符号化された3Dブロックのこのような割合を含むことができる。以下のように、表3に、複数のモードに対する例示的な統計情報を示す。
各モードに対する例示的な統計情報
【表3】

表3に示すデータは単なる実験データとして挙げるべきであり、本開示を限定するものと解釈すべきではない。
【0080】
[0091] エンコーダ206は、決定された統計情報に基づいて、複数の符号化された3Dブロックから、複数の符号化された3Dブロックの割合が閾値を超える符号化された3Dブロックのサブセットを決定することができる。例えば、表3を参照すると、較正ポイントクラウドの複数の3Dブロックの90%に対して、モード「0」は最適モードとすることができる。更に、複数の3Dブロックの5%に対して、モード「1」は最適モードとすることができる。このような場合、閾値が94%である場合、符号化された3Dブロックのサブセットは、モード「0」及びモード「1」として決定することができる。というのは、モード「0」及び「1」が最適モードである符号化された3Dブロックの合計パーセンテージは、95%である(閾値よりも大きい)からである。
【0081】
[0092] エンコーダ206は、複数のモードから、符号化された3Dブロックのサブセットの生成に使用することができるモードのサブセットを更に決定することができる。モードのサブセットは、3Dブロックを符号化するために使用される時に、複数のモードのうちの他のモードに対応する歪みコストと比較して、比較的小さい歪みコストをもたらすことができる。更に、モードのサブセットは、最適モードとして、較正ポイントクラウドの複数の3Dブロックの統計的に有意又は大部分(例えば95%)を符号化することができる。したがって、モードのサブセットは、複数のモードのうちの他のモードよりも最適なモードとして、較正ポイントクラウドの3Dブロックを符号化することができる。モードのサブセットは、較正ポイントクラウドと関連付けられるクラス及び動作条件に対応するモードとして選択することができる。選択されたモードは、較正ポイントクラウドと関連付けられるクラス及び動作条件に対応するレコードとして、タブレットに挿入することができる。
【0082】
[0093] エンコーダ206は、決定されたモードのサブセット、クラス(例えば、較正ポイントクラウドのクラスを含む)、及び動作条件に基づいて、テーブル(例えば、テーブル520)を生成することができる。例えば、エンコーダ206は、異なる動作条件(すなわち、目標レート歪みコスト)を選択し、上記で説明したように、特定のクラスの較正ポイントクラウドに対して各動作条件に対するモードのサブセットを決定することができる。エンコーダ206は、様々な動作条件の下での異なるクラスの較正ポイントクラウドのセットに対するモードのサブセットの決定のプロセスを繰り返すことができる。エンコーダ206は、異なるポイントクラウドクラス及び異なる動作条件に対するモード使用と関連付けられる統計情報を決定することができる。統計情報は、モードのサブセットを用いて符号化することができる3Dブロックのサブセットと関連付けられる統計を示すことができる。エンコーダ206は、統計情報に基づいて、テーブル520内のクラス及び動作条件に対応するエントリとして、モードのサブセットを決定することができる。一例では、統計情報が、3Dブロックのサブセットが複数の3Dブロックからの90%以上の3Dブロックを含むことを示す場合、エンコーダ206は、較正ポイントクラウドの特定のクラス及び動作条件に対応するエントリとして、モードのサブセット(3Dブロックのサブセットと関連付けられることができる)を決定することができる。モードのサブセットは、複数の3Dブロックからの90%以上の3Dブロックと関連付けられることができるので、エンコーダ206は、モードのサブセットのみをチェックして、同じクラスを有しかつ同じ動作条件下の3Dポイントクラウドジオメトリの任意の3Dブロックを符号化すればよい。したがって、3Dポイントクラウドジオメトリの3Dブロックを符号化するのに適したモードを決定するために、フルサーチ(複数のモードの各々に基づく3Dブロックの符号化を必要とする場合がある)を実行する必要がない場合があり、それによって、時間及び計算を節約することができる。エンコーダ206は、3Dポイントクラウドジオメトリ512のクラス情報及び動作条件を使用してテーブル520を探索して、1又は2以上のモードを選択することができる。
【0083】
[0094] 図5に示すように、テーブル520は、異なるポイントクラウドクラス及び異なる動作条件に対応するモードのサブセットのエントリを含むことができる。例えば、様々なポイントクラウドクラスは、クラス「b1」(10ビットの深度など)及びクラス「b2」(11ビットの深度など)を含むことができる。更に、動作条件は、目標レート歪みコストに対応することができ、「a1」、「a2」、「a3」、「a4」、及び「a5」などの5つの動作条件を含むことができる。一例として、動作条件「a3」及びポイントクラウドクラス「b2」に対応するモードの第1のサブセット520Aは、モード「2」及びモード「3」を含むことができる。テーブル520に示すデータは単なる実験データとして挙げることができ、本開示を限定するものと解釈すべきではないことに留意されたい。
【0084】
[0095] 508において、モード選択動作を実行することができる。モード選択動作において、エンコーダ206は、モード決定情報に基づいて、複数のモードから3Dブロック502Aに対する1又は2以上のモードを選択するように構成することができる。ここでは、モード決定情報は、クラス情報(すなわち、ポイントクラウドクラス516)と、3Dポイントクラウドジオメトリと関連付けられる動作条件518とを含むことができる。エンコーダ206は、本明細書で説明するように、ポイントクラウドクラス516及び動作条件518に基づいてテーブル520を探索して、1又は2以上のモードを選択することができる。テーブル520を参照して、エンコーダ206は、1又は2以上のモードとして、モードの第1のサブセット520A(すなわち、モード「2」及びモード「3」)を選択して、動作条件518が「a3」であり、かつポイントクラウドクラス516が「b2」である場合において、3Dブロック502Aを符号化することができる。
【0085】
[0096] 510において、モードベースの符号化動作を実行することができる。モードベースの符号化動作において、エンコーダ206は、選択された1又は2以上のモードに基づいて、3Dブロック502Aを符号化して、符号化された3Dブロック522を生成することができる。選択された1又は2以上のモードが、単一のモード(例えば、動作条件「a5」及びポイントクラウドクラス「b2」に対するモード「4」)を含む場合、単一のモード自体が、最適モードに対応することができ、これを使用して、3Dブロック502Aを符号化することができる。別のシナリオでは、選択された1又は2以上のモードが複数のモードを含む場合、エンコーダ206は、1又は2以上の選択されたモードの各々に基づいて3Dブロックを符号化して、1又は2以上の符号化された3Dブロックを決定することができる。例えば、1又は2以上のモードが3つのモードを含む場合、エンコーダ206は、各3Dブロックを符号化して、3つの符号化された3Dブロックバージョン(各モードに対して1つ)を生成することができる。エンコーダ206は、選択された1又は2以上のモードの各々と関連付けられるレート歪みコストを決定することができる。エンコーダ206は、モードと関連付けられるレート歪みコストが決定されたレート歪みコストの最小値に対応するという決定に基づいて、符号化段階のための最適なモードとして、選択された1又は2以上のモードのうちのモードを決定することができる。換言すれば、エンコーダ206は、決定されたレート歪みコストを比較して、最適モードとして、最も小さいレート歪みコストを有するモードを選択することができ、これを使用して、3Dブロック502Aを符号化することができる。
【0086】
[0097] 例えば、選択された1又は2以上のモードが、モードの第1のサブセット520Aである場合、エンコーダ206は、モード「2」に基づいて及びモード「3」に基づいて、3Dブロック502Aを符号化して、それぞれ、第1の符号化された3Dブロック及び第2の符号化された3Dブロックを決定することができる。エンコーダ206は、第1の符号化された3Dブロックに対する第1のレート歪みコストと、第2の符号化された3Dブロックに対する第2のレート歪みコストとを決定することができる。ある実施形態では、エンコーダ206は、第1のレート歪みコストと第2のレート歪みコストとを比較して、2つのレート歪みコストのうちの低い方に対応するモードを最適なモードとして決定することができる。例えば、(モード「2」を使用して符号化される)第1の符号化された3Dブロックと関連付けられる第1のレート歪みコストが、(モード「3」を使用して符号化される)第2の符号化された3Dブロックと関連付けられる第2のレート歪みコストよりも小さい場合、エンコーダ206は、最適なモードをモード「2」として決定することができる。換言すれば、エンコーダ206は、特定のモード(すなわち、モード「2」)を使用して符号化される時に、3Dブロックと関連付けられるレート歪みコストを最小にするもの(例えば、モード「2」)として、選択された1又は2以上のモード(モード「2」及び「3」など)から最適なモードを決定することができる。
【0087】
[0098] 最適なモードが決定されると、エンコーダ206は、決定された最適なモードに基づいて、3Dブロック502Aを符号化して、符号化された3Dブロック522を生成することができる。ある実施形態では、エンコーダ206は、決定された最適なモードに対応するDNNモデルを使用して、3Dブロック502Aを符号化することができる。例えば、モード「2」が最適なモードとして決定された場合、エンコーダ206は、モード「2」に対応するDNNモデル(例えば、DNNモデル-N 306N)を使用して、3Dブロック502Aを符号化することができる。ここでは、DNNモデル-N 306Nは、0.7のアルファパラメータ値を有するフォーカルロス関数に基づいてトレーニングすることができるDNNモデルとすることができる。というのは、モード「2」に対応するアルファパラメータ値は、0.7とすることができるからである。別の例では、DNNモデル-N 306Nは、「疎ら(sparse)」密度レベルを有するポイントクラウドの3Dブロックを含むトレーニングセットで訓練することができるDNNモデルとすることができる。選択された1又は2以上のモードが2つのモード(例えば、モード「2」及びモード「3」)を含み、複数のモードが5つの異なるモードを含む場合、エンコーダ206は、各3Dブロックを符号化するために、2つの符号化動作及び2つの復号化動作を実行する必要がある場合がある。フルモードサーチを実装する従来の解決策では、エンコーダは、各3Dブロックを符号化するために、5つの符号化動作及び5つの復号化動作を実行する必要がある場合がある。テーブル520を使用して、開示する電子デバイス102は、従来の解決策によって提供されるものよりも2.5倍(すなわち、(5+5)/(2+2))の符号化効率利得を達成することができる。
【0088】
[0099] 図6は、本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。図6の説明は、図1図2図3図4及び図5の要素に関連して行う。図6を参照すると、ポイントクラウド圧縮のための適応モード選択のための処理パイプライン600が示されている。処理パイプライン600には、602から開始して608で終了することができる動作のシーケンスが示されている。動作のシーケンスは、電子デバイス102の回路202によって実行することができる。動作の個々の段階で得られる出力も示されている。
【0089】
[0100] 602において、ブロック分割動作を実行することができる。ブロック分割動作において、エンコーダ206は、入力ポイントクラウドジオメトリ(3Dポイントクラウドジオメトリ610など)を3Dブロックのセット(3Dブロックのセット408Aなど)に分割するように構成することができる。3Dブロックのセット408Aは、3Dブロック416を含むことができる。ブロック分割動作については、例えば図4で(408において)更に説明されている。
【0090】
[0101] ある実施形態では、エンコーダ206は、定められたスキャン順序での3Dブロックのセット408Aのスキャンに基づいて、3Dブロックのセット408Aのサブセットを決定するように構成することができる。例えば、3Dブロックのセット408Aは、モートンオーダー(又はZオーダー)に従ってスキャンすることができる。3Dブロックのセット408Aのためのモートンオーダーは、3Dブロックのセット408Aにおいて複数のボクセル406Aの各々の局所性を保存しながら、多次元座標値を1Dにマッピングすることができる。3D空間内のモートンオーダーは、複数のボクセル406Aの幾何学情報(すなわち、3D座標)のバイナリ表現をインターリーブすることによって生成することができる。ある実施形態では、3Dブロックのセット408Aにおける複数のボクセル406Aの各々の原点の座標は、符号化段階410のためのモートンオーダーに基づいてソートすることができる。更に、復号化段階中に、デコーダにおいて、3Dブロックのセット408Aにおける複数のボクセル406Aを再ソートして、再構成されたポイントクラウドを得ることができる。
【0091】
[0102] 定められたスキャン順序に基づいて、エンコーダ206は、3Dブロックのセット408Aのサブセットから、3Dブロックの第1のサブセット602Aと、3Dブロックの第2のサブセット602Bとを決定することができる。すなわち、3Dブロックのセット408Aは、3Dブロックの第1のサブセット602Aと、3Dブロックの第2のサブセット602Bとを含むことができる。ここでは、3Dブロックの第2のサブセット602Bは、スキャン順序に従って、3Dブロックの第1のサブセット602Aに続くことができる。例えば、3Dブロックの第1のサブセット602Aは、スキャン順序における「N」個の連続する3Dブロックのサブセットとすることができる。更に、3Dブロックの第2のサブセット602Bは、スキャン順序における「M」個の連続する3Dブロックのサブセットとすることができる。
【0092】
[0103] 「M」及び「N」の値は、符号化動作のローカル特性に基づいて、3Dブロックのセット408Aの符号化中に変化することができる。ローカル特性は、例えば、特定の閾値を超える再構成歪みの増加を含むことができる。ある実施形態では、3Dブロックの第2のサブセット602Bは、3Dブロック416を含むことができる。3Dブロック416の符号化について、本明細書で説明する。
【0093】
[0104] 604において、モード探索動作を実行することができる。モード探索動作において、エンコーダ206は、複数のモードの各々に基づいて、決定されたサブセットのうちの第1のサブセット(すなわち、3Dブロックの第1のサブセット602A)のうちの各3Dブロックを符号化して、複数の符号化された3Dブロックを生成するように構成することができる。例えば、表1を参照して、エンコーダ206は、5つのモード(モード「0」、モード「1」、モード「2」、モード「3」、及びモード「4」など)に基づいて、3Dブロックの第1のサブセット602Aのうちの各3Dブロックを符号化して、5つの対応する符号化された3Dブロックを生成することができる。エンコーダ206は、複数の符号化された3Dブロックのうちの各符号化された3Dブロックと関連付けられるレート歪みコストを決定するように更に構成することができる。エンコーダ206は、複数の符号化された3Dブロックのうちの各符号化された3Dブロックと関連付けられる決定されたレート歪みコストに基づいて、第1のサブセット(すなわち、3Dブロックの第1のサブセット602A)と関連付けられるモード使用統計(例えば、モード使用統計612)を決定するように更に構成することができる。モード使用統計612は、3Dブロックの第1のサブセット602Aのために選択される最適なモードと関連付けられる情報を含むことができる。例えば、モード使用統計612は、モード「2」及びモード「3」が3Dブロックの第1のサブセット602Aにおける3Dブロックの特定のパーセンテージに対して最適なモードとすることができることを示すことができる。ここでは、モード関連情報は、3Dブロックの第1のサブセット602Aと関連付けられる決定されたモード使用統計612を含むことができる。
【0094】
[0105] 606において、モード選択動作を実行することができる。モード選択動作において、エンコーダ206は、3Dブロック416を含むことができる3Dブロックの第2のサブセット602Bに対する1又は2以上のモードを選択するように構成することができる。1又は2以上のモードの選択は、モード使用統計612の形態でモード関連情報を含むモード決定情報に基づくことができる。例えば、モード使用統計が、モード「2」及びモード「3」が3Dブロックの第1のサブセット602Aからの3Dブロックの90%以上に対して最適なモードであることを示す場合、エンコーダ206は、3Dブロックの第2のサブセット602Bに対する1又は2以上のモードとして、モード「2」及びモード「3」を選択することができる。
【0095】
[0106] 608において、モードベースの符号化動作を実行することができる。モードベースの符号化動作において、エンコーダ206は、選択された1又は2以上のモードに基づいて、3Dブロック416を符号化して、符号化された3Dブロック614を生成することができる。ある実施形態では、エンコーダ206は、1又は2以上の選択されたモードの各々に基づいて3Dブロック416を符号化して、1又は2以上の符号化された3Dブロックを決定することができる。その後、エンコーダ206は、決定された1又は2以上の符号化された3Dブロックの各々と関連付けられるレート歪みコストを決定するように構成することができる。エンコーダ206は、決定されたモードと関連付けられるレート歪みコストが閾値を下回るという決定に基づいて、符号化段階のための最適なモードとして、選択された1又は2以上のモードのうちのモードを決定することができる。モードベースの符号化動作については、例えば図5で(510において)更に説明されている。
【0096】
[0107] 選択された1又は2以上のモードが2つのモード(例えば、モード「2」及びモード「3」)を含み、複数のモードが5つのモードを含む場合、エンコーダ206は、各3Dブロックを符号化するために、2*Mの符号化動作及び2*Mの復号化動作のみを実行すればよい。この場合、テーブル520を生成する必要がない。従来のシステムでは、M+Nの3Dブロックの各々が、5つのモードの全てで符号化及び復号化される場合があるので、合計5*(M+N)の符号化及び復号化動作が必要である場合がある。本開示の現在の実施形態の場合、較正プロセスにおいてN個のブロックを符号化するために、5*Nの符号化及び復号化動作が必要である場合があり、(較正プロセスで使用することができる)N個のブロックに続くM個のブロックを符号化するために、2*Mの符号化及び復号化動作が必要である場合がある。符号化効率利得は、5*(M+N)/(2*M+5*N)として決定することができる。例えば、M及びNが同じ値を有する場合(すなわち、M=N)、例えば、符号化効率利得は、5*2 /7(すなわち、10/7~1.43)とすることができる。このような場合、2つの候補モードのみを選択することができ、M=Nである。
【0097】
[0108] 図7は、本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。図7の説明は、図1図2図3図4図5及び図6の要素に関連して行う。図7を参照すると、ポイントクラウド圧縮のための適応モード選択のための処理パイプライン700が示されている。処理パイプライン700には、702から開始して706で終了することができる動作のシーケンスが示されている。動作のシーケンスは、電子デバイス102の回路202によって実行することができる。動作の個々の段階で得られる出力も示されている。
【0098】
[0109] 702において、ブロック分割動作を実行することができる。ブロック分割動作において、プロセッサ204は、入力ポイントクラウドジオメトリ(3Dポイントクラウドジオメトリ708など)を3Dブロックのセット(3Dブロックのセット408Aなど)に分割するように構成することができる。3Dブロックのセット408Aは、3Dブロック710(例えば、図7に示すように、ブロック「C」)を含むことができる。ブロック分割動作については、例えば図4で(408において)更に説明されている。
【0099】
[0110] プロセッサ204は、3Dポイントクラウドジオメトリ708における3Dブロックのセット408Aの空間配置に基づいて、3Dブロックのセット408Aから、3Dブロック710の近隣に存在する3Dブロックのサブセットを決定するように更に構成することができる。例えば、4つの3Dブロックのサブセットが、3Dブロック710(すなわち、ブロック「C」)の3D近隣に存在することができる。図7に示すように、4つの3Dブロックのサブセットは、第1の3Dブロック712A(例えば、ブロック「A1」)と、第2の3Dブロック712B(例えば、ブロック「A2」)と、第3の3Dブロック714A(例えば、ブロック「B1」)と、第4の3Dブロック714B(例えば、ブロック「B2」)とを含むことができる。3Dブロック710の符号化について、本明細書で説明する。
【0100】
[0111] 704において、モード選択動作を実行することができる。モード選択動作において、プロセッサ204は、3Dブロックのサブセットのうちの各3Dブロックを符号化してそれぞれの符号化された3Dブロックを生成するための1又は2以上のモードの使用を決定するように構成することができる。ある実施形態では、3Dブロックのサブセットのうちの各3Dブロックを符号化するための1又は2以上のモードの使用は、3Dブロック710の前の3Dブロックのサブセットの符号化に基づいて、予め決定することができる。一例として、第1の3Dブロック712A及び第2の3Dブロック712Bの両方を符号化するために使用される1又は2以上のモードは、モード「2」及びモード「3」とすることができる。更に、第3の3Dブロック714A及び第4の3Dブロック714Bの両方を符号化するために使用される1又は2以上のモードは、モード「3」及びモード「4」とすることができる。
【0101】
[0112] プロセッサ204は、サブセットのうちの各3Dブロックに対して近隣分析動作を実行するように構成することができる。近隣分析動作は、3Dブロック710の近隣のサブセットのうちの各3Dブロックの相対位置の決定を含むことができる。図示のように、例えば、近隣分析動作に基づいて、プロセッサ204は、第1の3Dブロック712A及び第2の3Dブロック712Bの両方のエッジが、3Dブロック710のエッジに直接隣接することができると決定することができる。更に、プロセッサ204は、第3の3Dブロック714A及び第4の3Dブロック714Bの両方の面が、3Dブロック710の面に直接隣接することができると決定することができる。近隣分析動作に基づいて、第3の3Dブロック714A及び第4の3Dブロック714Bの両方が、第1の3Dブロック712A又は第2の3Dブロック712Bのいずれかと比較して、3Dブロック710に近いと決定することができる。
【0102】
[0113] 限定ではなく一例として、近隣分析動作に基づいて、プロセッサ204は、3Dブロック710の近隣の3Dブロック(第1の3Dブロック712A、第2の3Dブロック712B、第3の3Dブロック714A、及び第4の3Dブロック714Bなど)の中から、頻繁に使用されるモードを選択して、3Dブロック710を符号化することができる。最も頻繁なモードが存在しない場合、最も近い3Dブロック(例えば、第3の3Dブロック714A)と関連付けられるデフォルトモードを選択して、3Dブロック710を符号化することができる。別の例では、プロセッサ204は、3Dブロック710の近隣において最も近い3Dブロック(例えば、第3の3Dブロック714A)のモードを選択して、3Dブロック710を符号化することができる。3Dブロック710の近隣において2又は3以上の最も近い3Dブロック(第3の3Dブロック714A及び第4の3Dブロック714Bなど)が存在する場合、このような最も近い3Dブロックのうちの1つのモードをランダムに選択して、3Dブロック710を符号化することができる。別の例では、プロセッサ204は、モード探索動作(図5の506及び図6の604と同様)を実行して、他のモードに対して最小のレート歪みコストに対応する全ての近隣3Dブロック(又は近隣の最も近い3Dブロック)のモードからモードを選択することができる。選択されたモード(すなわち、最小のレート歪みコスト特性を有するモード)を使用して、3Dブロック710を符号化することができる。
【0103】
[0114] プロセッサ204は、3Dブロックのサブセットのうちの各3Dブロックを符号化してそれぞれの符号化された3Dブロックを生成するためのモードの使用に基づいて、3Dブロック710のための最適モードを選択することができる。例えば、第3の3Dブロック714A及び第4の3Dブロック714Bは、3Dブロック710により近いとすることができるので、エンコーダ206は、第3の3Dブロック714A及び第4の3Dブロック714Bの各々を符号化するために使用されるモードとして、3Dブロック710を符号化するために使用されるべき最適モードを選択することができる。具体的には、モード「4」に基づいて、第3の3Dブロック714A及び第4の3Dブロック714Bの両方を符号化することができる。
【0104】
[0115] 706において、モードベースの符号化動作を実行することができる。モードベースの符号化動作において、エンコーダ206は、選択された1又は2以上のモードに基づいて、3Dブロック710を符号化して、符号化された3Dブロック716を生成することができる。ある実施形態では、選択された1又は2以上のモードは、1つのモードのみを含むことができる。このような場合、レート歪みベースの最適化が必要ない場合があり、エンコーダ206は、単一の選択されたモードに基づいて、3Dブロック710を直接符号化することができる。一例として、選択された1又は2以上のモードが単一のモード(例えば、モード「4」)を含み、複数のモードが5つのモードを含む場合、エンコーダ206は、各3Dブロックを符号化するために、1つの符号化動作のみを実行すればよい。更に、ここでは、テーブル520を生成する必要がない場合がある。しかしながら、従来のシステムでは、複数のモードが5つのモードを含むので、エンコーダは、各3Dブロックを符号化するために、5つの符号化動作及び5つの復号化動作を実行する必要がある場合がある。したがって、開示する電子デバイス102によって、従来のシステムと比較して、10倍(すなわち、(5+5)/1)の符号化効率利得を達成することができる。
【0105】
[0116] 図8Aは、本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。図8Aの説明は、図1図2図3図4図5図6及び図7の要素に関連して行う。図8Aを参照すると、ポイントクラウド圧縮のための適応モード選択のための処理パイプライン800Aが示されている。処理パイプライン800Aには、802A、804A、及び806Aを含む動作のシーケンスが示されている。動作のシーケンスは、電子デバイス102の回路202によって実行することができる。動作の個々の段階で得られる出力も示されている。
【0106】
[0117] 802Aにおいて、ブロック分割動作を実行することができる。ブロック分割動作において、プロセッサ204は、入力ポイントクラウドジオメトリ(3Dポイントクラウドジオメトリ808など)を3Dブロックのセット(3Dブロックのセット408Aなど)に分割するように構成することができる。3Dポイントクラウドジオメトリ808は、3Dポイントクラウドジオメトリ112と関連付けられる情報を含むことができる。3Dブロックのセット408Aは、3Dブロック810を含むことができる。ブロック分割動作については、例えば図4で(408において)更に説明されている。
【0107】
[0118] プロセッサ204は、3Dブロック810と関連付けられるクラス情報を含むポイントクラウドメトリック(例えば、ポイントクラウドメトリック812A)を決定するように更に構成することができる。いくつかの場合では、ポイントクラウドメトリック812Aは、例えば、3Dブロック810と関連付けられる密度又はポイント分布を含むことができる。3Dブロック810の符号化について、本明細書で説明する。
【0108】
[0119] 804Aにおいて、モード選択動作を実行することができる。モード選択動作において、プロセッサ204は、ポイントクラウドメトリック812Aへの分類器モデルの適用に基づいて、3Dブロック810に対する1又は2以上のモード(例えば、予測されたモード814A)を選択するように構成することができる。ある実施形態によれば、分類器モデルは、モード予測のタスクでトレーニングすることができる機械学習モデルとすることができる。モード予測タスクのためのトレーニングデータセットは、ポイントクラウドの3Dブロックと関連付けられるポイントクラウドメトリックと、対応する3Dブロックを符号化するために使用することができる1又は2以上のモードとを含むことができる。ある実施形態では、分類器モデルは、メモリ210に記憶され、プロセッサ204によって使用されて、3Dブロック810に対する1又は2以上のモードを選択することができる。別の実施形態によれば、分類器モデルは、ニューラルネットワークモデルとすることができる。ニューラルネットワークモデルは、例えば図3で更に説明したDNNモデルと同様とすることができる。
【0109】
[0120] 806Aにおいて、モードベースの符号化動作を実行することができる。モードベースの符号化動作において、エンコーダ206は、選択された1又は2以上のモード(例えば、予測されたモード814A)に基づいて、3Dブロック810を符号化して、符号化された3Dブロック816Aを生成することができる。ある実施形態では、選択された1又は2以上のモードは、1つのモードのみを含むことができる。このような場合、レート歪みベースの最適化が必要ない場合があり、エンコーダ206は、単一の選択されたモードに基づいて、3Dブロック810を直接符号化することができる。一例として、選択された1又は2以上のモードが単一のモード(例えば、モード「4」)を含み、複数のモードが5つのモードを含む場合、エンコーダ206は、各3Dブロックを符号化するために、1つの符号化動作のみを実行すればよい。この場合、テーブル520を生成する必要がない場合がある。全てのモード(例えば、5つのモード)に対するフルモードサーチを実装する従来の解決策では、エンコーダは、各3Dブロックを符号化するために、5つの符号化動作及び5つの復号化動作を実行する場合がある。したがって、開示する電子デバイス102は、符号化及び復号化の複雑さが異なる場合、従来の解決策によって提供されるものを超える5(すなわち、(5*E+5*D)/E又は5+5*(D/E))よりも大きい符号化効率利得を達成することができる。一方、符号化及び復号化の複雑さが等しい場合、開示する電子デバイス102は、従来の解決策によって提供されるものを超える10の符号化効率利得を達成することができる。E及びDは、それぞれ、符号化の複雑さ及び復号化の複雑さを表す。
【0110】
[0121] 図8Bは、本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。図8Bの説明は、図1図2図3図4図5図6図7及び図8Aの要素に関連して行う。図8Bを参照すると、ポイントクラウド圧縮のための適応モード選択のための処理パイプライン800Bが示されている。処理パイプライン800Bには、802B、804B、及び806Bを含む動作のシーケンスが示されている。動作のシーケンスは、電子デバイス102の回路202によって実行することができる。動作の個々の段階で得られる出力も示されている。
【0111】
[0122] 802Bにおいて、ブロック分割動作を実行することができる。ブロック分割動作において、プロセッサ204は、入力ポイントクラウドジオメトリ(3Dポイントクラウドジオメトリ808など)を3Dブロックのセット(3Dブロックのセット408Aなど)に分割するように構成することができる。3Dブロックのセット408Aは、3Dブロック810を含むことができる。ブロック分割動作については、例えば図4で(408において)更に説明されている。
【0112】
[0123] プロセッサ204は、3Dブロック810の近隣の3Dブロックのサブセット(例えば、3Dブロックのサブセット818)を決定するように更に構成することができる。エンコーダ206は、3Dブロック810及び3Dポイントクラウドジオメトリ808の3Dブロック810の近隣の3Dブロックのサブセット818と関連付けられるクラス情報を含むポイントクラウドメトリック(例えば、ポイントクラウドメトリック812B)を決定するように更に構成することができる。例えば、ポイントクラウドメトリック812Bは、以下に限定されるわけではないが、3Dブロック810及び3Dブロックのサブセット818と関連付けられる密度又はポイント分布を含むことができる。本開示の実施形態による、3Dブロック810の符号化については、本明細書で次に説明する。
【0113】
[0124] 804Bにおいて、モード選択動作を実行することができる。モード選択動作において、プロセッサ204は、ポイントクラウドメトリック812Bへの分類器モデルの適用に基づいて、3Dブロック810に対する1又は2以上のモード(例えば、予測されたモード814B)を選択するように構成することができる。ある実施形態では、分類器モデルは、モード予測のタスクでトレーニングすることができる機械学習モデルとすることができる。一例では、分類器モデルは、ニューラルネットワークモデルとすることができる。モード予測タスクのためのトレーニングデータセットは、ポイントクラウドの3Dブロックと関連付けられるポイントクラウドメトリックと、対応する3Dブロックを符号化することができる1又は2以上のモードとに関連付けられる情報を含むことができる。ある実施形態では、分類器モデルは、メモリ210に記憶され、エンコーダ206によって使用されて、3Dブロック810に対する1又は2以上のモードを選択することができる。分類器モデルに関する詳細については、例えば図8Aで更に説明されている。
【0114】
[0125] 806Bにおいて、モードベースの符号化動作を実行することができる。モードベースの符号化動作において、エンコーダ206は、選択された1又は2以上のモード(例えば、予測されたモード814B)に基づいて、3Dブロック810を符号化して、符号化された3Dブロック816Bを生成することができる。ある実施形態では、選択された1又は2以上のモードは、1つのモードのみを含むことができる。このような場合、レート歪みベースの最適化が必要ない場合があり、エンコーダ206は、単一の選択されたモードに基づいて、3Dブロック810を直接符号化することができる。一例として、選択された1又は2以上のモードが単一のモード(例えば、モード「4」)を含み、複数のモードが5つのモードを含む場合、エンコーダ206は、各3Dブロックを符号化するために、1つの符号化動作のみを実行すればよい。更に、ここでは、テーブル520を生成する必要がない場合がある。しかしながら、従来のシステムでは、複数のモードが5つのモードを含むので、エンコーダは、各3Dブロックを符号化するために、5つの符号化動作及び5つの復号化動作を実行する必要がある場合がある。したがって、開示する電子デバイス102は、符号化及び復号化の複雑さが異なる場合、従来の解決策によって提供されるものを超える5(すなわち、(5*E+5*D)/E又は5+5*(D/E))よりも大きい符号化効率利得を達成することができる。一方、符号化及び復号化の複雑さが等しい場合、開示する電子デバイス102は、従来の解決策によって提供されるものを超える10の符号化効率利得を達成することができる。E及びDは、それぞれ、符号化の複雑さ及び復号化の複雑さを表す。
【0115】
[0126] 図9Aは、本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。図9Aの説明は、図1図2図3図4図5図6図7図8A及び図8Bの要素に関連して行う。図9Aを参照すると、ポイントクラウド圧縮のための適応モード選択のための処理パイプライン900Aが示されている。処理パイプライン900Aには、902A、904A、及び906Aを含む動作のシーケンスが示されている。動作のシーケンスは、電子デバイス102の回路202によって実行することができる。動作の個々の段階で得られる出力も示されている。
【0116】
[0127] 902Aにおいて、ブロック分割動作を実行することができる。ブロック分割動作において、プロセッサ204は、入力ポイントクラウドジオメトリ(3Dポイントクラウドジオメトリ908など)を3Dブロックのセット(3Dブロックのセット408Aなど)に分割するように構成することができる。3Dブロックのセット408Aは、3Dブロック910(例えば、現在の3Dブロック「C」)を含むことができる。ブロック分割動作については、例えば図4で(408において)更に説明されている。本開示の実施形態による、3Dブロック910の符号化については、本明細書で次に説明する。
【0117】
[0128] 904Aにおいて、モード選択動作を実行することができる。モード選択動作において、プロセッサ204は、3Dブロック910に畳み込みニューラルネットワーク(CNN)を適用して、3Dブロック910に対するモード予測(例えば、予測されたモード912A)を生成するように構成することができる。畳み込みニューラルネットワークは、モード予測のタスクでトレーニングすることができる。モード予測タスクのためのトレーニングデータセットは、サンプルポイントクラウドの3Dブロックと、対応する3Dブロックを符号化するために使用することができる1又は2以上のモードとを含むことができる。ある実施形態では、畳み込みニューラルネットワーク(CNN)は、メモリ210に記憶され、使用されて、3Dブロック910に対する1又は2以上のモードを選択することができる。モード予測は、モード決定情報に含まれる(すなわち、(単複の)モードが選択される前に決定される)ことができ、1又は2以上のモードは、モード予測に基づいて選択することができる。CNNは、例えば図3で更に説明したDNNモデルと同様とすることができる。
【0118】
[0129] 906Aにおいて、モードベースの符号化動作を実行することができる。モードベースの符号化動作において、エンコーダ206は、選択された1又は2以上のモードに基づいて、3Dブロック910を符号化して、符号化された3Dブロック914Aを生成することができる。ある実施形態では、選択された1又は2以上のモードは、1つのモードのみを含むことができる。このような場合、レート歪みベースの最適化が必要ない場合があり、エンコーダ206は、単一の選択されたモードに基づいて、3Dブロック910を直接符号化することができる。一例として、選択された1又は2以上のモードが単一のモード(例えば、モード「4」)を含み、複数のモードが5つのモードを含む場合、エンコーダ206は、各3Dブロックを符号化するために、1つの符号化動作のみを実行すればよい。この場合、テーブル520が必要ない場合がある。複数のモード(例えば、5つのモード)を実装する従来の解決策では、エンコーダは、各3Dブロックを符号化するために、少なくとも5つの符号化動作及び5つの復号化動作を実行する必要がある。したがって、CNNを使用して、開示する電子デバイス102は、符号化及び復号化の複雑さが異なる場合、従来の解決策によって提供されるものを超える5(すなわち、(5*E+5*D)/E又は5+5*(D/E))よりも大きい符号化効率利得を達成することができる。一方、符号化及び復号化の複雑さが等しい場合、開示する電子デバイス102は、従来の解決策によって提供されるものを超える10の符号化効率利得を達成することができる。E及びDは、それぞれ、符号化の複雑さ及び復号化の複雑さを表す。
【0119】
[0130] 図9Bは、本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な処理パイプラインを示す図である。図9Bの説明は、図1図2図3図4図5図6図7図8A図8B及び図9Aの要素に関連して行う。図9Bを参照すると、ポイントクラウド圧縮のための適応モード選択のための処理パイプライン900Bが示されている。処理パイプライン900Bには、902B、904B、及び906Bを含む動作のシーケンスが示されている。動作のシーケンスは、電子デバイス102の回路202によって実行することができる。動作の個々の段階で得られる出力も示されている。
【0120】
[0131] 902Bにおいて、ブロック分割動作を実行することができる。ブロック分割動作において、プロセッサ204は、入力ポイントクラウドジオメトリ(3Dポイントクラウドジオメトリ908など)を3Dブロックのセット(3Dブロックのセット408Aなど)に分割するように構成することができる。3Dブロックのセット408Aは、3Dブロック910を含むことができる。ブロック分割動作については、例えば図4で(408において)更に説明されている。プロセッサ204は、3Dブロック910の近隣の3Dブロックのサブセット(例えば、3Dブロックのサブセット916)を決定するように更に構成することができる。本開示の実施形態による、3Dブロック910の符号化については、本明細書で次に説明する。
【0121】
[0132] 904Bにおいて、モード選択動作を実行することができる。モード選択動作において、プロセッサ204は、3Dブロック910及び3Dポイントクラウドジオメトリ908の3Dブロック910の近隣の3Dブロックのサブセット916に畳み込みニューラルネットワーク(CNN)を適用するように構成することができる。畳み込みニューラルネットワークの適用に基づいて、エンコーダ206は、3Dブロック910に対するモード予測(例えば、予測されたモード912B)を生成することができる。畳み込みニューラルネットワークは、モード予測のタスクでトレーニングすることができる。モード予測タスクのためのトレーニングデータセットは、サンプルポイントクラウドの3Dブロックと、対応する3Dブロックを符号化するために使用することができる1又は2以上のモードとを含むことができる。ある実施形態では、畳み込みニューラルネットワーク(CNN)は、メモリ210に記憶され、使用されて、3Dブロック910に対する1又は2以上のモードを選択することができる。モード予測は、モード決定情報に含まれる(すなわち、(単複の)モードが選択される前に決定される)ことができ、1又は2以上のモードは、モード予測に基づいて選択することができる。現在の場合、1又は2以上のモードは、モード決定情報に含まれるモード予測に基づいて選択することができ、単一のモードとすることができる。モード決定情報においてモード予測によって示される単一のモードに基づいて、3Dブロック910を符号化することができる。畳み込みニューラルネットワークモデルに関する詳細については、例えば図9Aで更に説明されている。
【0122】
[0133] 906Bにおいて、モードベースの符号化動作を実行することができる。モードベースの符号化動作において、エンコーダ206は、選択された1又は2以上のモードに基づいて、3Dブロック910を符号化して、符号化された3Dブロック914Bを生成することができる。ある実施形態では、選択された1又は2以上のモードは、1つのモードのみを含むことができる。このような場合、レート歪みベースの最適化が必要ない場合があり、エンコーダ206は、単一の選択されたモードに基づいて、3Dブロック910を直接符号化することができる。一例として、選択された1又は2以上のモードが単一のモード(例えば、モード「4」)を含み、複数のモードが5つのモードを含む場合、エンコーダ206は、各3Dブロックを符号化するために、1つの符号化動作のみを実行すればよい。更に、ここでは、テーブル520を生成する必要がない場合がある。しかしながら、従来の解決策では、複数のモードが5つのモードを含むので、エンコーダは、各3Dブロックを符号化するために、少なくとも5つの符号化動作及び5つの復号化動作を実行する必要がある場合がある。したがって、開示する電子デバイス102は、符号化及び復号化の複雑さが異なる場合、従来の解決策によって提供されるものを超える5(すなわち、(5*E+5*D)/E又は5+5*(D/E))よりも大きい符号化効率利得を達成することができる。一方、符号化及び復号化の複雑さが等しい場合、開示する電子デバイス102は、従来の解決策によって提供されるものを超える10の符号化効率利得を達成することができる。E及びDは、それぞれ、符号化の複雑さ及び復号化の複雑さを表す。
【0123】
[0134] 図10は、本開示の実施形態による、ポイントクラウド圧縮のための適応モード選択のための例示的な動作を示すフローチャートである。図10を参照すると、フローチャート1000が示されている。フローチャート1000の説明は、図1図2図3図4図5図6図7図8A図8B図9A及び図9Bの要素に関連して行う。動作1002~1012は、電子デバイス102に実装することができる。フローチャート1000で説明する方法は、1002から開始して1004に進むことができる。
【0124】
[0135] 1004において、3Dポイントクラウドジオメトリ(例えば、3Dポイントクラウドジオメトリ112)を受け取ることができる。ある実施形態では、回路202は、3Dポイントクラウドジオメトリ112を受け取るように構成することができる。3Dポイントクラウドジオメトリ112は、通信ネットワーク110を介して、スキャニングセットアップ106から受け取ることができる。3Dポイントクラウドジオメトリの受け取りについては、例えば図4で更に説明されている。
【0125】
[0136] 1006において、3Dポイントクラウドジオメトリ112を、3Dブロックのセット(例えば、3Dブロックのセット408A)に分割することができる。ある実施形態では、回路202は、3Dポイントクラウドジオメトリ112を3Dブロックのセット408Aに分割するように構成することができる。3Dポイントクラウドジオメトリの分割については、例えば図4で更に説明されている。
【0126】
[0137] 1008において、3Dブロックのセットのうちの3Dブロックに対して、モード決定情報(例えば、モード決定情報412A)を決定することができ、モード決定情報は、以下に限定されるわけではないが、3Dポイントクラウドジオメトリ112と関連付けられるクラス情報、3Dポイントクラウドジオメトリ112の符号化段階と関連付けられる1又は2以上の動作条件、又は3Dブロックのセット408Aのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報、のうちの少なくとも1つを含む。ある実施形態では、モード決定情報412Aは、以下に限定されるわけではないが、3Dポイントクラウドジオメトリ112と関連付けられるクラス情報、3Dポイントクラウドジオメトリ112の符号化段階と関連付けられる1又は2以上の動作条件、又は3Dブロックのセット408Aのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報、のうちの少なくとも1つを含むことができる。ある実施形態では、回路202は、3Dブロックのセット408Aのうちの3Dブロック416に対して、モード決定情報412Aを決定するように構成することができる。モード決定情報の決定については、例えば図4図5図6図7図8A図8B図9A及び図9Bで更に説明されている。
【0127】
[0138] 1010において、モード決定情報に基づいて、複数のモードから3Dブロックに対する1又は2以上のモードを選択することができ、複数のモードのうちの各モードは、3Dブロックを符号化する関数に対応する。ここでは、複数のモードのうちの各モードは、3Dブロック416を符号化することができる関数に対応することができる。ある実施形態では、回路202は、モード決定情報412Aに基づいて、複数のモードから、3Dブロック416に対する1又は2以上のモードを選択するように構成することができる。1又は2以上のモードの選択については、例えば図4図5図6図7図8A図8B図9A及び図9Bで更に説明されている。
【0128】
[0139] 1012において、選択された1又は2以上のモードに基づいて、3Dブロック416を符号化することができる。ある実施形態では、回路202は、選択された1又は2以上のモードに基づいて、3Dブロック416を符号化するように構成することができる。選択された1又は2以上のモードに基づく3Dブロックの符号化については、例えば図4図5図6図7図8A図8B図9A及び図9Bで更に説明されている。制御は、終了に進むことができる。
【0129】
[0140] フローチャート1000は、1004、1006、1008、1010、及び1012などの個別の動作として示されているが、本開示はこれに限定されるものではない。したがって、特定の実施形態では、このような個別の動作は、開示する実施形態の本質を損なうことなく、特定の実装に応じて、追加の動作に更に分割したり、より少ない動作に組み合わせたり、又は削除したりすることができる。
【0130】
[0141] 本開示の様々な実施形態は、機械及び/又はコンピュータが電子デバイス(例えば、電子デバイス102)を動作させるために実行できるコンピュータ実行可能命令を記憶した非一時的コンピュータ可読媒体及び/又は記憶媒体を提供することができる。このような命令は、3次元(3D)ポイントクラウドジオメトリ(例えば、3Dポイントクラウドジオメトリ112)を受け取ることを含む動作を電子デバイス102に実行させることができる。動作は、3Dポイントクラウドジオメトリ112を3Dブロックのセット(例えば、3Dブロックのセット408A)に分割することを更に含むことができる。動作は、3Dブロックのセット408Aのうちの3Dブロック416に対して、モード決定情報(例えば、モード決定情報412A)を決定することを更に含むことができる。モード決定情報412Aは、以下に限定されるわけではないが、3Dポイントクラウドジオメトリ112と関連付けられるクラス情報、3Dポイントクラウドジオメトリ112の符号化段階と関連付けられる1又は2以上の動作条件、又は3Dブロックのセット408Aのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報、のうちの少なくとも1つを含むことができる。動作は、モード決定情報412Aに基づいて、複数のモードから、3Dブロック416に対する1又は2以上のモードを選択することを更に含むことができる。ここでは、複数のモードのうちの各モードは、3Dブロック416を符号化することができる関数に対応することができる。動作は、選択された1又は2以上のモードに基づいて、3Dブロック416を符号化することを更に含むことができる。
【0131】
[0142] 本開示の例示的な態様は、回路(回路202など)を含む第1の電子デバイス(図1の第1の電子デバイス102など)を提供することができる。回路202は、3次元(3D)ポイントクラウドジオメトリ(例えば、3Dポイントクラウドジオメトリ112)を受け取るように構成することができる。回路202は、3Dポイントクラウドジオメトリ112を3Dブロックのセット(例えば、3Dブロックのセット408A)に分割するように更に構成することができる。回路202は、3Dブロックのセット408Aのうちの3Dブロック416に対して、モード決定情報(例えば、モード決定情報412A)を決定するように更に構成することができる。モード決定情報412Aは、以下に限定されるわけではないが、3Dポイントクラウドジオメトリ112と関連付けられるクラス情報、3Dポイントクラウドジオメトリ112の符号化段階と関連付けられる1又は2以上の動作条件、又は3Dブロックのセット408Aのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報、のうちの少なくとも1つを含むことができる。回路202は、モード決定情報412Aに基づいて、複数のモードから、3Dブロック416に対する1又は2以上のモードを選択するように更に構成することができる。ここでは、複数のモードのうちの各モードは、3Dブロック416を符号化することができる関数に対応することができる。回路202は、選択された1又は2以上のモードに基づいて、3Dブロック416を符号化するように更に構成することができる。
【0132】
[0143] ある実施形態では、3Dポイントクラウドジオメトリ112と関連付けられるクラス情報は、以下に限定されるわけではないが、3Dポイントクラウドジオメトリ112と関連付けられるジオメトリビット深度、密度、又はポイント分布のうちの少なくとも1つを含むことができる。更に、3Dポイントクラウドジオメトリ112の符号化段階と関連付けられる1又は2以上の動作条件は、以下に限定されるわけではないが、3Dポイントクラウドジオメトリ112と関連付けられる目標レート歪みコストを含むことができる。
【0133】
[0144] ある実施形態では、回路202は、複数のモードをクラス及び動作条件にマッピングすることができるテーブルをロードするように構成することができる。回路202は、クラス情報及び1又は2以上の動作条件を使用してテーブルを探索して、1又は2以上のモードを選択するように構成することができる。
【0134】
[0145] ある実施形態では、回路202は、較正ポイントクラウドを複数の3Dブロックに分割するように構成することができる。回路202は、複数のモードの各々に基づいて複数の3Dブロックを符号化して、複数の符号化された3Dブロックを生成するように更に構成することができる。回路202は、生成された複数の符号化された3Dブロックの各々と関連付けられるレート歪みコストを決定するように更に構成することができる。更に、回路202は、複数のモードのうちの各モードについて、複数のモードに対してレート歪みコストが最小である複数の符号化された3Dブロックの割合を示すことができる統計情報を決定するように構成することができる。回路202は、決定された統計情報に基づいて、生成された複数の符号化された3Dブロックから、複数の符号化された3Dブロックの割合が閾値を超える符号化された3Dブロックのサブセットを決定するように構成することができる。回路202は、複数のモードから、符号化された3Dブロックのサブセットの生成に使用されるモードのサブセットを決定するように更に構成することができる。回路202は、決定されたモードのサブセット、クラス、及び動作条件に基づいて、テーブルを生成するように構成することができる。
【0135】
[0146] ある実施形態では、回路202は、選択された1又は2以上のモードの各々に基づいて、3Dブロック416を符号化して、1又は2以上の符号化された3Dブロックを決定するように構成することができる。更に、回路202は、決定された1又は2以上の符号化された3Dブロックと関連付けられるレート歪みコストを決定するように構成することができる。回路202は、モードと関連付けられるレート歪みコストが決定されたレート歪みコストの最小値に対応するという決定に基づいて、符号化段階のための最適なモードとして、選択された1又は2以上のモードのうちのモードを決定するように構成することができる。換言すれば、回路202は、3Dブロックを符号化するために、レート歪みコストを最小にする最適なモードとして、選択された1又は2以上のモードからモードを決定することができる。回路202は、決定されたモードに基づいて3Dブロックを符号化して、符号化された3Dブロックを生成するように更に構成することができる。
【0136】
[0147] ある実施形態では、関数は、3Dポイントクラウドジオメトリ112の3Dブロック416を符号化して、符号化された3Dブロックを生成するようにトレーニングすることができるディープニューラルネットワーク(DNN)モデルに対応する。複数のモードのうちの各モードは、DNNモデルのトレーニング段階で使用されるフォーカルロス関数のアルファパラメータに対応することができる。更に、フォーカルロス関数は、3Dポイントクラウドジオメトリ112の3Dブロック416からの非空ボクセルの除去にペナルティを科すように構成することができる。
【0137】
[0148] ある実施形態では、回路202は、定められたスキャン順序での3Dブロックのセット408Aのスキャンに基づいて、3Dブロックのセット408Aのサブセットを決定するように構成することができる。回路202は、複数のモードに基づいて、決定されたサブセットのうちの第1のサブセットのうちの各3Dブロックを符号化して、複数の符号化された3Dブロックを生成するように構成することができる。更に、回路202は、複数の符号化された3Dブロックのうちの各符号化された3Dブロックと関連付けられるレート歪みコストを決定するように構成することができる。回路202は、複数の符号化された3Dブロックのうちの各符号化された3Dブロックと関連付けられる決定されたレート歪みコストに基づいて、第1のサブセットと関連付けられるモード使用統計を決定するように構成することができる。ここでは、モード関連情報は、第1のサブセットと関連付けられる決定されたモード使用統計を含むことができる。回路202は、3Dブロック416を含む第2のサブセットに対する1又は2以上のモードを選択するように更に構成することができる。ここでは、第2のサブセットは、決定されたサブセットに含まれることができ、第2のサブセットは、スキャン順序に従って第1のサブセットに続くことができる。
【0138】
[0149] ある実施形態では、回路202は、3Dポイントクラウドジオメトリ112における3Dブロックのセット408Aの空間配置に基づいて、3Dブロックのセット408Aから、3Dブロック416の近隣に存在することができる3Dブロックのサブセットを決定するように構成することができる。ここでは、1又は2以上のモードの選択は、3Dブロックのサブセットのうちの各3Dブロックをそれぞれの符号化された3Dブロックに符号化するための1又は2以上のモードの使用に基づくことができる。
【0139】
[0150] ある実施形態では、回路202は、3Dブロック416と関連付けられるクラス情報を含むポイントクラウドメトリックを決定するように構成することができる。ここでは、1又は2以上のモードは、ポイントクラウドメトリックへの分類器モデルの適用に更に基づいて選択することができ、分類器モデルは、モード予測のタスクでトレーニングすることができる機械学習モデルとすることができる。
【0140】
[0151] ある実施形態では、回路202は、3Dブロック及び3Dポイントクラウドジオメトリ112の3Dブロック416の近隣の3Dブロックのサブセットと関連付けられるクラス情報を含むポイントクラウドメトリックを決定するように構成することができる。ここでは、1又は2以上のモードは、ポイントクラウドメトリックへの分類器モデルの適用に更に基づいて選択することができ、分類器モデルは、モード予測のタスクでトレーニングすることができる機械学習モデルとすることができる。
【0141】
[0152] ある実施形態では、回路202は、3Dブロック416に畳み込みニューラルネットワークを適用して、3Dブロック416に対するモード予測を生成するように構成することができる。ここでは、モード予測は、モード決定情報412Aに含まれることができ、1又は2以上のモードは、モード予測に基づいて選択することができる。
【0142】
[0153] ある実施形態では、回路202は、3Dブロック416及び3Dポイントクラウドジオメトリ112の3Dブロック416の近隣の3Dブロックのサブセットに畳み込みニューラルネットワークを適用して、3Dブロック416に対するモード予測を生成するように構成することができる。ここでは、モード予測は、モード決定情報412Aに含まれることができ、1又は2以上のモードは、モード予測に基づいて選択することができる。
【0143】
[0154] 本開示は、ハードウェアの形で実現することも、又はハードウェアとソフトウェアの組み合わせの形で実現することもできる。本開示は、少なくとも1つのコンピュータシステム内で集中方式で実現することも、又は異なる要素を複数の相互接続されたコンピュータシステムにわたって分散できる分散方式で実現することもできる。本明細書で説明した方法を実行するように適合されたコンピュータシステム又はその他の装置が適することができる。ハードウェアとソフトウェアの組み合わせは、ロードされて実行された時に本明細書で説明した方法を実行するようにコンピュータシステムを制御することができるコンピュータプログラムを含む汎用コンピュータシステムとすることができる。本開示は、他の機能も実行する集積回路の一部を含むハードウェアの形で実現することができる。
【0144】
[0155] 本開示は、本明細書で説明した方法の実装を可能にする全ての特徴を含み、コンピュータシステムにロードされた時にこれらの方法を実行できるコンピュータプログラム製品に組み込むこともできる。本文脈におけるコンピュータプログラムとは、情報処理能力を有するシステムに、特定の機能を直接的に、或いはa)別の言語、コード又は表記法への変換、b)異なる内容形態での複製、のいずれか又は両方を行った後に実行させるように意図された命令セットの、あらゆる言語、コード又は表記法におけるあらゆる表現を意味する。
【0145】
[0156] いくつかの実施形態を参照しながら本開示を説明したが、当業者であれば、本開示の範囲から逸脱することなく様々な変更を行うことができ、同等物を代用することができると理解するであろう。また、本開示の範囲から逸脱することなく、本開示の教示に特定の状況又は内容を適合させるための多くの変更を行うこともできる。したがって、本開示は、開示した特定の実施形態に限定されるものではなく、特許請求の範囲に該当する全ての実施形態を含むことが意図されている。
【符号の説明】
【0146】
100 ネットワーク環境
102 電子デバイス
104 サーバ
106 スキャニングセットアップ
108A...108N 複数の外部デバイス
110 通信ネットワーク
112 3次元(3D)ポイントクラウドジオメトリ
200 ブロック図
202 回路
204 プロセッサ
206 エンコーダ
208 デコーダ
210 メモリ
212 入力/出力(I/O)デバイス
212A ディスプレイデバイス
214 ネットワークインターフェイス
300 ブロック図
302A エンコーダ
302B デコーダ
304A エンコーダ-1
304N エンコーダ-N
306A DNNモデル-1
306N DNNモデル-N
308 モードセレクタ
310A デコーダ-1
310N デコーダ-N
312A ブロック分割部
312B 2値化部及びマージ部
314A 符号化されたビットストリーム及び補足情報
314B シグナリングビットストリーム
316A 入力ポイントクラウド
316N 再構成されたポイントクラウド
318 3Dブロックのセット
318B 復号されたブロックのセット
400 処理パイプライン
402 データ取得段階
402A 3Dポイントクラウド
404 事前符号化段階
406 ボクセル化
406A 複数のボクセル
408 ブロック分割
408A 3Dブロックのセット
410 符号化段階
412 モード選択
412A モード決定情報
414 モードベースの符号化
416 3Dブロック
418 選択された1又は2以上のモード
420 符号化された3Dブロック
500 処理パイプライン
502 ブロック分割
502A 3Dブロック
504 クラス識別
506 モード探索
508 モード選択
510 モードベースの符号化
512 3Dポイントクラウドジオメトリ
514 先験的な特性
516 ポイントクラウドクラス
518 動作条件
520 テーブル
520A モードの第1のサブセット
522 符号化された3Dブロック
600 処理パイプライン
602 ブロック分割
602A 3Dブロックの第1のサブセット
602B 3Dブロックの第2のサブセット
604 モード探索
606 モード選択
608 モードベースの符号化
610 3Dポイントクラウドジオメトリ
612 モード使用統計
614 符号化された3Dブロック
700 処理パイプライン
702 ブロック分割
704 モード選択
706 モードベースの符号化
708 3Dポイントクラウドジオメトリ
710 3Dブロック
712A 第1の3Dブロック
712B 第2の3Dブロック
714A 第3の3Dブロック
714B 第4の3Dブロック
716 符号化された3Dブロック
800A 処理パイプライン
800B 処理パイプライン
802A ブロック分割
802B ブロック分割
804A モード選択
804B モード選択
806A モードベースの符号化
806B モードベースの符号化
808 3Dポイントクラウドジオメトリ
810 3Dブロック
812A ポイントクラウドメトリック
812B ポイントクラウドメトリック
814A 予測されたモード
814B 予測されたモード
816A 符号化された3Dブロック
816B 符号化された3Dブロック
818 3Dブロックのサブセット
900A 処理パイプライン
900B 処理パイプライン
902A ブロック分割
902B ブロック分割
904A モード選択
904B モード選択
906A モードベースの符号化
906B モードベースの符号化
908 3Dポイントクラウドジオメトリ
910 3Dブロック
912A 予測されたモード
912B 予測されたモード
914A 符号化された3Dブロック
914B 符号化された3Dブロック
916 3Dブロックのサブセット
1000 フローチャート
1002 開始
1004 3次元(3D)ポイントクラウドジオメトリを受け取る
1006 3Dポイントクラウドジオメトリを3Dブロックのセットに分割
1008 3Dブロックのセットのうちの3Dブロックに対して、モード決定情報を決定し、モード決定情報は、3Dポイントクラウドジオメトリと関連付けられるクラス情報、3Dポイントクラウドジオメトリの符号化段階と関連付けられる1又は2以上の動作条件、又は3Dブロックのセットのうちの1又は2以上の3Dブロックと関連付けられるモード関連情報、のうちの少なくとも1つを含む
1010 モード決定情報に基づいて、複数のモードから3Dブロックに対する1又は2以上のモードを選択し、複数のモードのうちの各モードは、3Dブロックを符号化する関数に対応する
1012 選択された1又は2以上のモードに基づいて、3Dブロックを符号化
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9A
図9B
図10
【国際調査報告】