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

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

▶ バイトダンス インコーポレイテッドの特許一覧

特表2025-500437点群コーディングのための方法、装置、及び媒体
<>
  • 特表-点群コーディングのための方法、装置、及び媒体 図1
  • 特表-点群コーディングのための方法、装置、及び媒体 図2
  • 特表-点群コーディングのための方法、装置、及び媒体 図3
  • 特表-点群コーディングのための方法、装置、及び媒体 図4
  • 特表-点群コーディングのための方法、装置、及び媒体 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-09
(54)【発明の名称】点群コーディングのための方法、装置、及び媒体
(51)【国際特許分類】
   G06T 9/00 20060101AFI20241226BHJP
【FI】
G06T9/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024538015
(86)(22)【出願日】2022-12-20
(85)【翻訳文提出日】2024-08-16
(86)【国際出願番号】 US2022082084
(87)【国際公開番号】W WO2023122628
(87)【国際公開日】2023-06-29
(31)【優先権主張番号】63/292,206
(32)【優先日】2021-12-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】ワン,イェ-クイ
(57)【要約】
第1点群フレームを識別する第1構文要素であり、フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、前記ビットのセットが前記ビットストリームで示される、第1構文要素、又は、第2点群フレームを識別する第2構文要素であり、フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が前記ビットのセット内のビット数以上である、第2構文要素、のうちの少なくとも1つを含む構文要素のセットに基づく、点群シーケンスと前記点群シーケンスのビットストリームとの間の転換。
【選択図】 図4
【特許請求の範囲】
【請求項1】
点群コーディングの方法であって、
点群シーケンス内の第1点群フレームを識別する第1構文要素であり、
フレーム固有の属性プロパティが前記第1点群フレームに適用され、
前記第1構文要素のビット長が、前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、
前記ビットのセットがビットストリームで示される、第1構文要素、又は、
前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、
フレーム境界マーカーが前記第2点群フレームに適用され、
前記第2構文要素のビット長が、前記ビットのセット内のビット数以上である、第2構文要素、
のうちの少なくとも1つを含む、構文要素のセットに基づいて、点群シーケンスと前記点群シーケンスのビットストリームとの間の転換を実行する、ステップ、
を含む、方法。
【請求項2】
前記構文要素のセットは、前記ビットのセット内のビット数を指定する第3構文要素を、さらに含み、
前記第1構文要素のビット長を指定する第4構文要素であり、前記第4構文要素の値が前記第3構文要素の値以上である第4構文要素、又は、
前記第2構文要素のビット長を指定する第5構文要素であり、前記第5構文要素の値が前記第3構文要素の値以上である第5構文要素、
のうちの少なくとも1つを、さらに含む、
請求項1に記載の方法。
【請求項3】
前記第3構文要素は、前記点群シーケンスに対してアクティブ化されたシーケンスパラメータセット(SPS)に含まれる、
請求項2に記載の方法。
【請求項4】
前記第1構文要素は、fsap_frame_ctr_lsbとして表され、
前記第2構文要素は、fbdu_frame_ctr_lsbとして表され、
前記第3構文要素は、frame_ctr_lsb_bitsとして表され、
前記第4構文要素は、fsap_frame_ctr_lsb_bitsとして表され、又は、
前記第5構文要素は、fbdu_frame_ctr_lsb_bitsとして表される、
請求項2~3のいずれか一項に記載の方法。
【請求項5】
前記第3構文要素の値は、0より大きい、
請求項2~4のいずれか一項に記載の方法。
【請求項6】
前記現在の点群フレームは、スライスを含み、
前記第3構文要素の値が0より大きい場合、前記ビットのセットを示す第6構文要素は、前記スライスのジオメトリデータユニットヘッダーに対する構文構造に含まれる、
請求項2~4のいずれか一項に記載の方法。
【請求項7】
前記第6構文要素は、frame_ctr_lsbとして表される、
請求項6に記載の方法。
【請求項8】
前記第3構文要素の値は、0に等しく、
前記ビットストリームは、1つのコード化点群フレームのみを含む、
請求項2~4のいずれか一項に記載の方法。
【請求項9】
前記ビットのセット内のビット数は、0より大きく、
前記構文要素のセットは、前記ビットのセット内のビット数から1を引いた数を指定する第7構文要素を、さらに含む、
請求項1~4のいずれか一項に記載の方法。
【請求項10】
前記第7構文要素は、frame_ctr_lsb_bits_minus1として表される、
請求項9に記載の方法。
【請求項11】
前記現在の点群フレームは、スライスを含み、
前記構文要素のセットは、前記スライスに対するスライスタグのビット長を指定する第8構文要素を、さらに含む、
請求項1~10のいずれか一項に記載の方法。
【請求項12】
前記第8構文要素は、slice_tag_bitsとして表される、
請求項11に記載の方法。
【請求項13】
前記第8構文要素の値は、0より大きい、
請求項11~12のいずれか一項に記載の方法。
【請求項14】
前記第8構文要素の値が0より大きい場合、前記スライスタグを示す第9構文要素は、前記スライスのジオメトリデータユニットヘッダーに対する構文構造に含まれる、
請求項11~12のいずれか一項に記載の方法。
【請求項15】
前記第9構文要素は、slice_tagとして表される、
請求項14に記載の方法。
【請求項16】
前記第8構文要素の値は、0に等しく、
前記転換が、タイルインベントリなしで実行される、
請求項11~12のいずれか一項に記載の方法。
【請求項17】
前記現在の点群フレームは、スライスを含み、
前記スライスに対するスライスタグのビット長は、0より大きく、
前記構文要素のセットは、前記スライスタグのビット長から1を引いた長さを指定する第10構文要素、をさらに含む、
請求項1~10のいずれか一項に記載の方法。
【請求項18】
前記第10構文要素は、slice_tag_bits_minus1として表される、
請求項17に記載の方法。
【請求項19】
前記転換は、前記点群シーケンスを前記ビットストリームにエンコードするステップ、を含む、
請求項1~18のいずれか一項に記載の方法。
【請求項20】
前記転換は、前記ビットストリームから前記点群シーケンスをデコードするステップ、を含む、
請求項1~18のいずれか一項に記載の方法。
【請求項21】
プロセッサと、命令を備えた非一時的メモリとを含む、点群データを処理する装置であって、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、請求項1~20のいずれか一項に記載の方法を実行させる、
装置。
【請求項22】
プロセッサに、請求項1~20のいずれか一項に記載の方法を実行させる命令を記憶する、
非一時的なコンピュータ可読記憶媒体。
【請求項23】
点群処理装置によって実行される方法によって生成された点群シーケンスのビットストリームを記憶する、非一時的なコンピュータ可読記録媒体であって、
前記方法は、
前記点群シーケンス内の第1点群フレームを識別する第1構文要素であり、
フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が、前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、前記ビットのセットが前記ビットストリームで示される、第1構文要素、又は、
前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、
フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が前記ビットのセット内のビット数以上である、第2構文要素、
のうちの少なくとも1つを含む構文要素のセットに基づいて、前記点群シーケンスと前記ビットストリームとの間の転換を実行するステップ、を含む、
非一時的なコンピュータ可読記録媒体。
【請求項24】
点群シーケンスのビットストリームを記憶するための方法であって、
前記点群シーケンス内の第1点群フレームを識別する第1構文要素であり、
フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が、前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、前記ビットのセットが前記ビットストリームで示される、第1構文要素、又は、
前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、
フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が、前記ビットのセット内のビット数以上である、第2構文要素、
のうちの少なくとも1つを含む構文要素のセットに基づいて、前記点群シーケンスと前記ビットストリームとの間の転換を実行するステップ、および、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップ、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、一般に、点群コーディング技術に関し、より具体的には、ジオメトリベースの点群圧縮におけるフレーム識別に関する。
【0002】
関連出願の相互参照
本出願は、2021年12月21日に出願された米国仮出願第63/292,206号について優先権の利益を主張し、その全内容は、参照により本明細書に組み込まれる。
【背景技術】
【0003】
点群とは、3次元(3D)平面における個々のデータ点の集合であり、各点は、X、Y、Z軸上に設定座標を有する。したがって、3次元空間の物理的内容を表すために点群が使用され得る。点群は、拡張現実から自動運転車に至るまで、幅広い没入型アプリケーションの3Dビジュアルデータを表現する有望な方式であることが示されている。
【0004】
点群コーディング標準は、主に、よく知られたMPEG組織の開発を通じて進化してきた。MPEGは、Moving Picture Experts Groupの略であって、マルチメディアを扱う主要な標準化グループの1つである。2017年、MPEG3Dグラフィックスコーディンググループ(3DG)は、点群コーディング標準の開発を開始するための提案募集(CFP)文書を発行した。最終的な標準は2つのクラスのソリューションで構成される。ビデオベースの点群圧縮(V-PCC又はVPCC)は、点が比較的均一に分布している点セットに適している。ジオメトリベースの点群圧縮(G-PCC又はGPCC)は、よりまばらな分布に適している。しかしながら、従来の点群コーディング技術のコーディング効率は、一般に、さらに改善されることが期待されている。
【発明の概要】
【0005】
本開示の実施形態は、点群コーディングのためのソリューションを提供する。
【0006】
第1態様では、点群コーディングの方法が提案される。前記方法は、前記点群シーケンス内の第1点群フレームを識別する第1構文要素であり、フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、前記ビットのセットが前記ビットストリームで示される第1構文要素、又は、前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が前記ビットのセット内のビット数以上である第2構文要素、のうちの少なくとも1つを含む構文要素のセットに基づいて、点群シーケンスと前記点群シーケンスのビットストリームとの間の転換を実行するステップ、を含む。
【0007】
本開示の第1態様による方法に基づいて、第1又は第2構文要素のビット長は、frame_ctr_lsb_bitsに関して明確に指定される。このような制約のない従来のソリューションと比較して、提案される方法は、点群処理効率を向上させることができるという利点がある。
【0008】
第2態様では、点群データを処理する装置が提案される。前記点群データを処理する装置は、プロセッサと、命令を備えた非一時的メモリと、を含む。前記命令は、前記プロセッサによって実行されると、前記プロセッサに、本開示の第1態様による方法を実行させる。
【0009】
第3態様では、非一時的なコンピュータ可読記憶媒体が提案される。前記非一時的なコンピュータ可読記憶媒体は、プロセッサに、本開示の第1態様による方法を実行させる命令を記憶する。
【0010】
第4態様では、別の非一時的なコンピュータ可読記録媒体が提案される。前記非一時的なコンピュータ可読記録媒体は、点群処理装置によって実行される方法によって生成された点群シーケンスのビットストリームを記憶する。前記方法は、前記点群シーケンス内の第1点群フレームを識別する第1構文要素であり、フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、前記ビットのセットが前記ビットストリームで示される第1構文要素、又は、前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が前記ビットのセット内のビット数以上である第2構文要素、のうちの少なくとも1つを含む構文要素のセットに基づいて、前記点群シーケンスと前記ビットストリームとの間の転換を実行するステップ、を含む。
【0011】
第5態様では、点群シーケンスのビットストリームを記憶するための方法が提案される。前記方法は、前記点群シーケンス内の第1点群フレームを識別する第1構文要素であり、フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、前記ビットのセットが前記ビットストリームで示される第1構文要素、又は、前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が前記ビットのセット内のビット数以上である第2構文要素のうちの少なくとも1つを含む構文要素のセットに基づいて、前記点群シーケンスと前記ビットストリームとの間の転換を実行するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップと、を含む。
【0012】
この発明の概要は、以下の詳細な説明でさらに説明される概念の選択を簡略化した形式で紹介するために提供される。この発明の概要は、請求された主題の主要な特徴又は本質的な特徴を特定することを意図したものではなく、また、請求された主題の範囲を制限するために使用されることを意図したものでもない。
【図面の簡単な説明】
【0013】
添付の図面を参照した以下の詳細な説明を通じて、本開示の例示的な実施形態の上記及び他の目的、特徴、及び利点がより明らかになるであろう。本開示の例示的な実施形態では、通常、同じ参照番号は、同じ構成要素を指す。
図1】本開示の技術を利用し得る例示的な点群コーディングシステムを示すブロック図である。
図2】本開示のいくつかの実施形態による、例示的な点群エンコーダを示すブロック図である。
図3】本開示のいくつかの実施形態による、例示的な点群デコーダを示すブロック図である。
図4】本開示のいくつかの実施形態による、点群コーディングの方法のフローチャートである。
図5】本開示の様々な実施形態を具現できるコンピューティングデバイスのブロック図である。
【0014】
図面全体にわたって、同一又は類似の参照番号は、通常、同一又は類似の要素を指す。
【発明を実施するための形態】
【0015】
次に、いくつかの実施形態を参照して、本開示の原理を説明する。これらの実施形態は、説明のみを目的として記載されており、当業者が、本開示を理解し、具現するのを助けるものであり、本開示の範囲に関していかなる限定も示唆するものではないことを理解すべきである。本明細書に記載の開示は、以下に記載する方法以外にも、様々な方式で具現されることができる。
【0016】
以下の説明及び特許請求の範囲において、別段の定義がない限り、本明細書で使用されるすべての技術用語及び科学用語は、本開示が属する技術分野の当業者によって、一般に理解されるのと同じ意味を有する。
【0017】
本開示における「一つの実施形態」、「一実施形態」、「例示的な実施形態」などへの言及は、記載される実施形態が、特定の特徴、構造、又は特性を含み得ることを示すが、必ずしも、すべての実施形態が特定の特徴、構造、又は特性を含むとは限らない。また、そのような語句は、必ずしも同じ実施形態を指しているわけではない。さらに、特定の特徴、構造、又は特性が、例示的な実施形態に関連して説明される場合、明示的に記載されているかどうかにかかわらず、他の実施形態に関連して、そのような特徴、構造、又は特性に影響を与えることは、当業者の知識の範囲内であることが指摘される。
【0018】
「第1」及び「第2」などの用語は、本明細書では様々な要素を説明するために使用され得るが、これらの要素は、これらの用語によって限定されるべきではないことを理解すべきである。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、例示的な実施形態の範囲から逸脱することなく、第1要素が第2要素と呼ばれ得る。同様に、第2要素が第1要素と呼ばれ得る。本明細書で使用されるように、「及び/又は」という用語には、列挙された用語の1つ又は複数のあらゆる組み合わせが含まれる。
【0019】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、例示的な実施形態を限定することを意図したものではない。本明細書で使用されるように、単数形「a(一つの)」、「an(一つの)」、及び「the(その)」は、文脈上明らかに別段の指示がない限り、複数形も含むものとする。「含む」、「備える」、「有する」、「持つ」、「含有する」、及び/又は「包含する」という用語は、本明細書で使用される場合、記載された特徴、要素、及び/又は構成要素などの存在を指定するが、1つ又は複数の他の特徴、要素、構成要素、及び/又はそれらの組み合わせの存在又は追加を排除するものではないことが、さらに理解されるであろう。
【0020】
例示的な環境
図1は、本開示の技術を利用し得る例示的な点群コーディングシステム100を示すブロック図である。図示されるように、点群コーディングシステム100は、ソースデバイス110と、宛先デバイス120とを含み得る。ソースデバイス110は、点群エンコーディングデバイスとも呼ばれ、宛先デバイス120は、点群デコーディングデバイスとも呼ばれ得る。動作中、ソースデバイス110は、エンコードされた点群データを生成するように構成され得る。宛先デバイス120は、ソースデバイス110によって生成されたエンコードされた点群データを、デコードするように構成され得る。本開示の技術は、一般に、点群データのコーディング(エンコーディング及び/又はデコーディング)、即ち、点群圧縮のサポートを対象とする。前記コーディングは、点群データの圧縮及び/又は解凍に効果的であり得る。
【0021】
ソースデバイス100及び宛先デバイス120は、デスクトップコンピュータ、ノートブック(即ち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、スマートフォン及び携帯電話などの電話機、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲーム機、ビデオストリーミングデバイス、車両(例えば、陸上車両又は海上船舶、宇宙船、航空機、など)、ロボット、LIDARデバイス、衛星、拡張現実デバイスなどを含む、広範囲のデバイスのいずれかを含み得る。場合によっては、ソースデバイス100及び宛先デバイス120は、無線通信用に装備され得る。
【0022】
ソースデバイス100は、データソース112と、メモリ114と、GPCCエンコーダ116と、入力/出力(I/O)インターフェース118と、を含み得る。宛先デバイス120は、入力/出力(I/O)インターフェース128と、GPCCデコーダ126と、メモリ124と、データコンシューマ122と、を含み得る。本開示によれば、ソースデバイス100のGPCCエンコーダ116及び宛先デバイス120のGPCCデコーダ126は、点群コーディングに関する本開示の技術を適用するように構成され得る。したがって、ソースデバイス100は、エンコーディングデバイスの一例を表し、宛先デバイス120は、デコーディングデバイスの一例を表す。他の例では、ソースデバイス100及び宛先デバイス120は、他のコンポーネント又はアレンジメントを含み得る。例えば、ソースデバイス100は、内部又は外部ソースからデータ(例えば、点群データ)を受信し得る。同様に、宛先デバイス120は、同じデバイスにおいてデータコンシューマを含めるのではなく、外部データコンシューマとインターフェースし得る。
【0023】
一般に、データソース112は、点群データ(即ち、生の、エンコードされていない点群データ)のソースを表し、点群データの連続した一連の「フレーム」を、フレームの点群データをエンコードするGPCCエンコーダ116に提供し得る。いくつかの例では、データソース112は、点群データを生成する。ソースデバイス100のデータソース112は、様々なカメラ又はセンサのいずれか、例えば1つ又は複数のビデオカメラ、以前にキャプチャされた点群データを含むアーカイブ、3Dスキャナ、又は光検出と測距(LIDAR)デバイスなどの点群キャプチャデバイス、及び/又は、データコンテンツプロバイダーから点群データを受信するデータフィードインターフェースを含み得る。したがって、いくつかの例では、データソース112は、LIDAR装置からの信号に基づいて点群データを生成し得る。代替的又は追加的に、点群データは、スキャナ、カメラ、センサ、又は他のデータから、コンピュータで生成され得る。例えば、データソース112は、点群データを生成するか、又は、ライブ点群データ、アーカイブされた点群データ、及び、コンピュータで生成された点群データの組み合わせを生成し得る。いずれの場合も、GPCCエンコーダ116は、キャプチャされた、事前キャプチャされた、又は、コンピュータで生成された点群データをエンコードする。GPCCエンコーダ116は、点群データのフレームを、受信した順序(「表示順序」と呼ばれることもある)からコーディングのためのコーディング順序に再配置し得る。GPCCエンコーダ116は、エンコードされた点群データを含む1つ又は複数のビットストリームを生成し得る。次に、ソースデバイス100は、例えば宛先デバイス120のI/Oインターフェース128による受信及び/又は検索のために、I/Oインターフェース118を介して、エンコードされた点群データを出力し得る。エンコードされた点群データは、I/Oインターフェース118を介して、ネットワーク130Aを通じて、宛先デバイス120に直接送信され得る。エンコードされた点群データは、宛先デバイス120によるアクセスのために記憶媒体/サーバ130Bに記憶されてもよい。
【0024】
ソースデバイス100のメモリ114及び宛先デバイス120のメモリ124は、汎用メモリを表し得る。いくつかの例では、メモリ114及びメモリ124は、生の点群データ、例えば、データソース112からの生の点群データ、及びGPCCデコーダ126からの生のデコードされた点群データを記憶し得る。追加的又は代替的に、メモリ114及びメモリ124は、例えば、それぞれGPCCエンコーダ116及びGPCCデコーダ126によって実行可能なソフトウェア命令を記憶し得る。この例では、メモリ114及びメモリ124が、GPCCエンコーダ116及びGPCCデコーダ126とは別個に示されているが、GPCCエンコーダ116及びGPCCデコーダ126は、機能的に同様又は同等の目的で、内部メモリも含み得ることを理解すべきである。さらに、メモリ114及びメモリ124は、例えば、GPCCエンコーダ116から出力され、GPCCデコーダ126に入力される、エンコードされた点群データを記憶し得る。いくつかの例では、メモリ114及びメモリ124の一部は、1つ又は複数のバッファとして割り当てられて、生の、デコードされた、及び/又は、エンコードされた点群データを記憶し得る。例えば、メモリ114及びメモリ124は、点群データを記憶し得る。
【0025】
I/Oインターフェース118及びI/Oインターフェース128は、無線送信機/受信機、モデム、有線ネットワーキングコンポーネント(例えば、イーサネットカード)、様々なIEEE802.11標準のいずれかに従って動作する無線通信コンポーネント、又は他の物理コンポーネントを表し得る。I/Oインターフェース118及びI/Oインターフェース128が無線コンポーネントを含む例では、I/Oインターフェース118及びI/Oインターフェース128は、4G、4G-LTE(ロングタームエボリューション)、LTE-Advanced(LTEアドバンスト)、5Gなどのセルラー通信標準に従って、エンコードされた点群データなどのデータを転送するように構成され得る。I/Oインターフェース118が無線送信機を含むいくつかの例では、I/Oインターフェース118及びI/Oインターフェース128は、IEEE802.11標準などの他の無線標準に従って、エンコードされた点群データなどのデータを転送するように構成され得る。いくつかの例では、ソースデバイス100及び/又は宛先デバイス120は、それぞれのシステムオンチップ(SoC)デバイスを含み得る。例えば、ソースデバイス100は、GPCCエンコーダ116及び/又はI/Oインターフェース118に起因する機能を実行するSoCデバイスを含み得る。宛先デバイス120は、GPCCデコーダ126及び/又はI/Oインターフェース128に起因する機能を実行する、SoCデバイスを含み得る。
【0026】
本開示の技術は、自律走行車間の通信、スキャナ、カメラ、センサ、及び、ローカル又はリモートサーバなどの処理装置デバイス間の通信、地理的マッピング、又は、他のアプリケーションなどの、様々なアプリケーションのいずれかをサポートする、エンコーディング及びデコーディングに適用され得る。
【0027】
宛先デバイス120のI/Oインターフェース128は、ソースデバイス110からエンコードされたビットストリームを受信する。エンコードされたビットストリームは、GPCCエンコーダ116によって定義された、シグナリング情報を含み得るが、これは、点群を表す値を有する構文要素など、GPCCデコーダ126によっても使用される。データコンシューマ122は、デコードされたデータを使用する。例えば、データコンシューマ122は、デコードされた点群データを使用して、物理的オブジェクトの位置を決定し得る。いくつかの例では、データコンシューマ122は、点群データに基づいて画像を提示するディスプレイを含み得る。
【0028】
GPCCエンコーダ116及びGPCCデコーダ126は、それぞれ、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はそれらの組み合わせなどの様々な適切なエンコーダ及び/又はデコーダ回路のいずれかとして、具現され得る。技術が部分的にソフトウェアで具現される場合、デバイスは、ソフトウェアの命令を適切な非一時的なコンピュータ可読媒体に記憶し、1つ又は複数のプロセッサを使用して、ハードウェアで命令を実行して、本開示の技術を実行し得る。GPCCエンコーダ116及びGPCCデコーダ126のそれぞれは、1つ又は複数のエンコーダ又はデコーダに含まれ得るが、そのいずれも、それぞれのデバイスにおける複合エンコーダ/デコーダ(CODEC)の一部として統合され得る。GPCCエンコーダ116及び/又はGPCCデコーダ126を含むデバイスは、1つ又は複数の集積回路、マイクロプロセッサ、及び/又は、他のタイプのデバイスを含み得る。
【0029】
GPCCエンコーダ116及びGPCCデコーダ126は、ビデオ点群圧縮(VPCC)標準又はジオメトリ点群圧縮(GPCC)標準などのコーディング標準に従って動作し得る。本開示は、一般に、データをエンコード又はデコードするプロセスを含むフレームのコーディング(例えば、エンコーディング及びデコーディング)を指し得る。エンコードされたビットストリームは、一般に、コーディング決定(例えば、コーディングモード)を表す、構文要素の一連の値を含む。
【0030】
点群は、3D空間内の点のセットを含み得る。その点に関連付けられた属性を有し得る。属性は、R、G、Bなどの色情報、Y、Cb、Cr、又は、反射率情報、或いは、その他の属性であり得る。点群は、LIDARセンサ及び3Dスキャナなどの様々なカメラやセンサによってキャプチャされてもく、また、コンピュータで生成されてもよい。点群データは、建設(モデリング)、グラフィックス(視覚化及びアニメーション用の3Dモデル)、自動車産業(ナビゲーションに使用されるLIDARセンサ)を含むが、これらに限定されない、様々なアプリケーションで使用される。
【0031】
図2は、本開示のいくつかの実施形態による、図1に示されるシステム100におけるGPCCエンコーダ116の一例であり得る、GPCCエンコーダ200の一例を示すブロック図である。図3は、本開示のいくつかの実施形態による、図1に示されるシステム100におけるGPCCデコーダ126の一例であり得る、GPCCデコーダ300の一例を示すブロック図である。
【0032】
GPCCエンコーダ200及びGPCCデコーダ300の両方において、点群位置が最初にコード化される。属性コーディングは、デコードされたジオメトリに依存する。図2及び図3において、領域適応階層変換(RAHT)ユニット218、表面近似分析ユニット212、RAHTユニット314、及び表面近似合成ユニット310は、カテゴリ1のデータに、通常、使用されるオプションである。詳細レベル(LOD)生成ユニット220、リフティングユニット222、LOD生成ユニット316、及び逆リフティングユニット318は、カテゴリ3のデータに、通常、使用されるオプションである。他のすべてのユニットは、カテゴリ1と3で共通である。
【0033】
カテゴリ3のデータの場合、圧縮されたジオメトリは、通常、ルートから個々のボクセルのリーフレベルに至るオクツリーとして表される。カテゴリ1のデータの場合、圧縮されたジオメトリは、通常、プルーニングされたオクツリー(即ち、ルートからボクセルよりも大きいブロックのリーフレベルまでのオクツリー)と、プルーニングされたオクツリーの各リーフ内の表面を近似するモデルと、によって表される。このようにして、カテゴリ1のデータとカテゴリ3のデータの両方が、オクツリーコーディングメカニズムを共有するが、カテゴリ1のデータは、さらに、各リーフ内のボクセルを表面モデルで近似し得る。使用される表面モデルは、ブロック当たり1~10個の三角形を備える三角形分割であり、三角形スープ(triangle soup)をもたらす。したがって、カテゴリ1のジオメトリコーデックは、Trisoupジオメトリコーデックとして知られており、カテゴリ3のジオメトリコーデックは、オクツリージオメトリコーデックとして知られている。
【0034】
図2の例では、GPCCエンコーダ200は、座標変換ユニット202、色変換ユニット204、ボクセル化ユニット206、属性転送ユニット208、オクツリー分析ユニット210、表面近似分析ユニット212、算術エンコーディングユニット214、ジオメトリ再構成ユニット216、RAHTユニット218、LOD生成ユニット220、リフティングユニット222、係数量子化ユニット224、および、算術エンコーディングユニット226を含み得る。
【0035】
図2の例に示すように、GPCCエンコーダ200は、位置のセット及び属性のセットを受信し得る。位置には、点群内の点の座標が含まれ得る。属性には、点群内の点に関連付けられた色など、点群内の点に関する情報が含まれ得る。
【0036】
座標変換ユニット202は、点の座標に変換を適用して、座標を初期ドメインから変換ドメインに変換し得る。本開示では、変換された座標を変換座標と呼び得る。色変換ユニット204は、属性の色情報を異なるドメインに転換するための変換を適用し得る。例えば、色変換ユニット204は、色情報を、RGB色空間からYCbCr色空間に転換し得る。
【0037】
さらに、図2の例では、ボクセル化ユニット206は、変換座標をボクセル化し得る。変換座標のボクセル化には、点群のいくつかの点を量子化して削除することが含まれ得る。言い換えれば、点群の複数の点が、単一の「ボクセル」内に包含され得る。その後、いくつかの方面で、1つの点として扱われ得る。さらに、オクツリー分析ユニット210は、ボクセル化された変換座標に基づいてオクツリーを生成し得る。追加的に、図2の例では、表面近似分析ユニット212は、点を分析して、点のセットの表面表現を潜在的に決定し得る。算術エンコーディングユニット214は、表面近似分析ユニット212によって決定されたオクツリー、及び/又は、表面の情報を表す構文要素に対して、算術エンコーディングを実行し得る。GPCCエンコーダ200は、これらの構文要素をジオメトリビットストリームで出力し得る。
【0038】
ジオメトリ再構成ユニット216は、オクツリー、表面近似分析ユニット212によって決定された表面を示すデータ、及び/又は、他の情報に基づいて、点群内の点の変換座標を再構成し得る。ジオメトリ再構成ユニット216によって再構成される変換座標の数は、ボクセル化及び表面近似のため、点群の元の点の数とは異なり得る。本開示では、結果として生じる点を、再構成された点と呼び得る。属性転送ユニット208は、点群の元の点の属性を、点群データの再構成された点に転送し得る。
【0039】
さらに、RAHTユニット218は、再構成された点の属性に、RAHTコーディングを適用し得る。代替的又は追加的に、LOD生成ユニット220及びリフティングユニット222は、それぞれ、再構成された点の属性に、LOD処理及びリフティングを適用し得る。RAHTユニット218及びリフティングユニット222は、属性に基づいて、係数を生成し得る。係数量子化ユニット224は、RAHTユニット218又はリフティングユニット222によって生成された係数を量子化し得る。算術エンコーディングユニット226は、量子化された係数を表す構文要素に、算術コーディングを適用し得る。GPCCエンコーダ200は、これらの構文要素を、属性ビットストリームで出力し得る。
【0040】
図3の例では、GPCCデコーダ300は、ジオメトリ算術デコーディングユニット302、属性算術デコーディングユニット304、オクツリー合成ユニット306、逆量子化ユニット308、表面近似合成ユニット310、ジオメトリ再構成ユニット312、RAHTユニット314、LOD生成ユニット316、逆リフティングユニット318、座標逆変換ユニット320、および、色逆変換ユニット322を含み得る。
【0041】
GPCCデコーダ300は、ジオメトリビットストリーム及び属性ビットストリームを取得し得る。デコーダ300のジオメトリ算術デコーディングユニット302は、算術デコーディング(例えば、CABAC又は他のタイプの算術デコーディング)をジオメトリビットストリームにおける構文要素に適用し得る。同様に、属性算術デコーディングユニット304は、属性ビットストリームにおける構文要素に算術デコーディングを適用し得る。
【0042】
オクツリー合成ユニット306は、ジオメトリビットストリームから解析された構文要素に基づいて、オクツリーを合成し得る。表面近似がジオメトリビットストリームで使用される場合、表面近似合成ユニット310は、ジオメトリビットストリームから解析された構文要素及びオクツリーに基づいて、表面モデルを決定し得る。
【0043】
さらに、ジオメトリ再構成ユニット312は、点群内の点の座標を決定するために、再構成を実行し得る。座標逆変換ユニット320は、再構成された座標に逆変換を適用して、点群内の点の再構成された座標(位置)を、変換ドメインから初期ドメインに転換し直し得る。
【0044】
追加的に、図3の例では、逆量子化ユニット308は属性値を逆量子化し得る。属性値は、属性ビットストリームから取得された構文要素(例えば、属性算術デコーディングユニット304によってデコードされた構文要素を含む)に基づいてもよい。
【0045】
属性値がどのようにエンコードされるかに応じて、RAHTユニット314は、RAHTコーディングを実行して、逆量子化された属性値に基づいて、点群の点の色値を決定し得る。代替的に、LOD生成ユニット316及び逆リフティングユニット318は、詳細レベルベースの技術を使用して、点群の点の色値を決定し得る。
【0046】
さらに、図3の例では、色逆変換ユニット322は、色値に、逆色変換を適用し得る。逆色変換は、エンコーダ200の色変換ユニット204によって適用される色変換の逆であり得る。例えば、色変換ユニット204は、色情報を、RGB色空間からYCbCr色空間に変換し得る。したがって、色逆変換ユニット322は、色情報を、YCbCr色空間からRGB色空間に変換し得る。
【0047】
図2及び図3の様々なユニットは、エンコーダ200及びデコーダ300によって実行される動作の理解を助けるために示されている。ユニットは、固定機能回路、プログラマブル回路、又は、それらの組み合わせとして具現され得る。固定機能回路とは、特定の機能を提供し、実行可能な動作に関して事前に設定されている回路を指す。プログラマブル回路とは、様々なタスクを実行するようにプログラムでき、実行可能な動作に柔軟な機能を提供できる回路を指す。例えば、プログラマブル回路は、ソフトウェア又はファームウェアの命令によって定義された方式で、プログラマブル回路を動作させる、ソフトウェア又はファームウェアを実行し得る。固定機能回路は、ソフトウェア命令を実行し得るが(例えば、パラメータを受信するか、又は、パラメータを出力するように)、固定機能回路が実行する動作のタイプは、一般に、イミュータブルである。いくつかの例では、1つ又は複数のユニットは、別個の回路ブロック(固定機能又はプログラマブル)であり得る。いくつかの例では、1つ又は複数のユニットは、集積回路であり得る。
【0048】
本開示のいくつかの例示的な実施形態について、以下に詳細に説明する。本明細書では理解を容易にするためにセクション見出しが使用されており、セクションで開示される実施形態を、そのセクションのみに限定するものではないことを理解すべきである。さらに、特定の実施形態はGPCC又は他の特定の点群コーデックを参照して説明されるが、開示された技術は、他の点群コーディング技術にも適用可能である。さらに、いくつかの実施形態は、点群コーディングステップを詳細に説明するが、コーディングを元に戻すデコードする対応するステップはデコーダによって具現されることを理解されるであろう。
【表1】
【0049】
ジオメトリベースの点群圧縮におけるフレーム識別に関連する本開示の実施形態のさらなる詳細が、以下で説明される。
【0050】
本明細書で使用されるように、「点群シーケンス」という用語は、0個以上の点群のシーケンスを指し得る。「点群フレーム」という用語は、点群シーケンス内の点群を指し得る。「コード化点群フレーム」という用語は、点群フレームのコード化された表現を指し得る。「バウンディングボックス」という用語は、点のセットの境界を定める空間領域を定義する、軸が整列した直方体を指し得る。「スライス」という用語は、ジオメトリデータユニット(GDU)と0個以上の対応する属性データユニット(ADU)で構成されるコード化群フレームの一部又は全体を指し得る。
【0051】
図4は、本開示のいくつかの実施形態による点群コーディングのための方法400のフローチャートを示す。図4に示すように、402では、点群シーケンスと、点群シーケンスのビットストリームとの間の転換が、構文要素のセットに基づいて実行される。いくつかの実施形態では、点群シーケンスは、402での転換中にビットストリームにエンコードされ得る。追加的又は代替的に、点群シーケンスは、402での転換中にビットストリームからデコードされ得る。
【0052】
いくつかの実施形態では、構文要素のセットは、点群シーケンス内の第1点群フレームを識別する第1構文要素を含む。フレーム固有の属性プロパティが第1点群フレームに適用される。一例では、第1構文要素は、構文要素fsap_frame_ctr_lsbであり得る。第1構文要素のビット長は、点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上である。ビットのセットは、ビットストリームに示される。一例では、ビットのセット内のビット数は、frame_ctr_lsb_bits等の第3構文要素によって指定され得る。一例として、構文要素fsap_frame_ctr_lsbのビット長は、frame_ctr_lsb_bits以上となるように指定され得る。
【0053】
代替的又は追加的に、構文要素のセットは、点群シーケンス内の第2点群フレームを識別する第2構文要素を含む。フレーム境界マーカーが第2点群フレームに適用される。一例では、第2構文要素は、構文要素fbdu_frame_ctr_lsbであり得る。第2構文要素におけるビット数は、ビットのセット内のビット数以上である。一例では、ビットのセット内のビット数は、frame_ctr_lsb_bits等の第3構文要素によって指定され得る。一例として、構文要素fbdu_frame_ctr_lsbのビット長は、frame_ctr_lsb_bits以上となるように指定され得る。
【0054】
上記を考慮して、第1又は第2構文要素のビット長は、frame_ctr_lsb_bitsに関して明確に指定される。このような制約のない従来のソリューションと比較して、提案される方法は、点群処理効率を向上させることができるという利点がある。
【0055】
いくつかの実施形態では、第3構文要素は、構文要素のセットに含まれ得る。第3構文要素は、点群シーケンスに対してアクティブ化されたシーケンスパラメータセット(SPS)(アクティブSPSとも呼ばれる)に含まれてもよい。
【0056】
いくつかの追加的な実施形態では、構文要素のセットは、第1構文要素のビット長を指定する第4構文要素を、さらに含み得る。限定ではなく例として、第4構文要素は、構文要素fsap_frame_ctr_lsb_bitsであり得る。一例では、第4構文要素の値は、第3構文要素の値以上であり得る。fsap_frame_ctr_lsb_bitsの値は、アクティブSPS内のframe_ctr_lsb_bits以上となるように指定され得る。別の例では、第4構文要素の値は、第3構文要素の値と等しくてもよい。fsap_frame_ctr_lsb_bitsの値は、アクティブSPS内のframe_ctr_lsb_bitsと等しくなるように指定され得る。
【0057】
いくつかの追加的な実施形態では、構文要素のセットは、第2構文要素のビット長を指定する第5構文要素を、さらに含み得る。限定ではなく例として、第5構文要素は、構文要素fbdu_frame_ctr_lsb_bitsであり得る。一例では、第5構文要素の値は、第3構文要素の値以上であり得る。fbdu_frame_ctr_lsb_bitsの値は、アクティブSPS内のframe_ctr_lsb_bits以上となるように指定され得る。別の例では、第5構文要素の値は、第3構文要素の値と等しくてもよい。fbdu_frame_ctr_lsb_bitsの値は、アクティブSPS内のframe_ctr_lsb_bitsと等しくなるように指定され得る。
【0058】
いくつかの実施形態では、第3構文要素の値は、0より大きくてもよい。一例では、frame_ctr_lsb_bitsの値が0より大きいものとすることが指定され得る。いくつかの実施形態では、現在の点群フレームは、スライスを含み得る。第3構文要素の値が0より大きい場合、ビットのセットを示す第6構文要素(構文要素frame_ctr_lsb等)は、スライスのジオメトリデータユニットヘッダー(geometry_data_unit_header( )等)に対する構文構造に含まれ得る。一例では、frame_ctr_lsb構文要素は、前提条件「if(frame_ctr_lsb_bits>0)」に基づいて、geometry_data_unit_header( )構文構造に含まれ得る。いくつかの実施形態では、第3構文要素の値は0に等しくてもよく、ビットストリームは1つのコード化点群フレームのみを含むものとする。
【0059】
いくつかの実施形態では、ビットのセット内のビット数は0より大きくてもよく、構文要素のセットは、ビットのセット内のビット数から1を引いた数を指定する第7構文要素をさらに含む。一例では、第7構文要素は、構文要素frame_ctr_lsb_bits_minus1であり得る。frame_ctr_lsb_bits_minus1 プラス1がframe_ctr_lsb構文要素のビット長を指定することが指定され得る。
【0060】
いくつかの実施形態では、現在の点群フレームは、スライスを含み得る。前記構文要素のセットは、前記スライスに対するスライスタグのビット長を指定する第8構文要素(構文要素slice_tag_bits等)を、さらに含む。一例では、第8構文要素の値は0より大きくてもよい。slice_tag_bitsの値が0より大きいものとすることが指定され得る。
【0061】
いくつかの実施形態では、第8構文要素の値が0より大きい場合、スライスタグを示す第9構文要素(構文要素slice_tag等)は、前記スライスのジオメトリデータユニットヘッダー(geometry_data_unit_header( )など)に対する構文構造に含まれ得る。一例では、slice_tag構文要素は、前提条件「if(slice_tag_bits>0)」に基づいて、geometry_data_unit_header( )構文構造に含まれ得る。代替的に、第8構文要素の値は0に等しくてもよく、転換はタイルインベントリなしで実行され得る。一例として、slice_tag_bitsが0に等しい場合、コード化点群シーケンス内にタイルインベントリ存在しないものとすることが指定される。
【0062】
いくつかの実施形態では、現在の点群フレームはスライスを含む。前記スライスに対するスライスタグにおけるビット数は0より大きくてもよく、構文要素のセットは、前記スライスタグのビット長から1を引いた長さを指定する第10構文要素を、さらに含み得る。一例では、第10構文要素は、構文要素slice_tag_bits_minus1であり得る。slice_tag_bits_minus1 プラス1がslice_tag構文要素のビット長を指定することが指定され得る。
【0063】
本開示の実施形態によれば、非一時的なコンピュータ可読記録媒体が提案される。点群シーケンスのビットストリームは、前記非一時的なコンピュータ可読記録媒体に記憶される。前記ビットストリームは、点群処理装置によって実行される方法によって生成され得る。前記方法によれば、点群シーケンスと前記点群シーケンスのビットストリームとの間の転換が構文要素のセットに基づいて実行される。前記構文要素のセットは、前記点群シーケンス内の第1点群フレームを識別する第1構文要素であり、フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、前記ビットのセットが前記ビットストリームで示される第1構文要素、又は、前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が前記ビットのセット内のビット数以上である第2構文要素、のうちの少なくとも1つを含む。
【0064】
本開示の実施形態によれば、点群シーケンスのビットストリームを記憶するための方法が提案される。前記方法では、点群シーケンスと前記点群シーケンスのビットストリームとの間の転換が構文要素のセットに基づいて実行される。前記構文要素のセットは、前記点群シーケンス内の第1点群フレームを識別する第1構文要素であり、フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、前記ビットのセットが前記ビットストリームで示される第1構文要素、又は、前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が前記ビットのセット内のビット数以上である第2構文要素、のうちの少なくとも1つを含む。前記ビットストリームは、非一時的なコンピュータ可読記録媒体に記憶される。
【0065】
本開示の具現は、以下の条項を考慮して説明され得る。その特徴は、任意の合理的な方式で組み合わせられ得る。
【0066】
条項1.点群コーディングの方法であって、前記点群シーケンス内の第1点群フレームを識別する第1構文要素であり、フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、前記ビットのセットが前記ビットストリームで示される第1構文要素、又は、前記点群シーケンス内の第2点群フレームを識別する第2構文要素であって、フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が前記ビットのセット内のビット数以上である第2構文要素、のうちの少なくとも1つを含む構文要素のセットに基づいて、点群シーケンスと前記点群シーケンスのビットストリームとの間の転換を実行するステップを含む、方法。
【0067】
条項2.前記構文要素のセットは、前記ビットのセット内のビット数を指定する第3構文要素を、さらに含み、前記第1構文要素のビット長を指定する第4構文要素であり、前記第4構文要素の値が前記第3構文要素の値以上である第4構文要素、又は、前記第2構文要素のビット長を指定する第5構文要素であり、前記第5構文要素の値が前記第3構文要素の値以上である第5構文要素、とのうちの少なくとも1つとを、さらに含む、条項1に記載の方法。
【0068】
条項3.前記第3構文要素は、前記点群シーケンスに対してアクティブ化されたシーケンスパラメータセット(SPS)に含まれる、条項2に記載の方法。
【0069】
条項4.前記第1構文要素は、fsap_frame_ctr_lsbとして表され、前記第2構文要素は、fbdu_frame_ctr_lsbとして表され、前記第3構文要素は、frame_ctr_lsb_bitsとして表され、前記第4構文要素は、fsap_frame_ctr_lsb_bitsとして表され、又は、前記第5構文要素は、fbdu_frame_ctr_lsb_bitsとして表される、条項2から3のいずれか一項に記載の方法。
【0070】
条項5.前記第3構文要素の値は0、より大きい、条項2から4のいずれか一項に記載の方法。
【0071】
条項6.前記現在の点群フレームは、スライスを含み、前記第3構文要素の値が0より大きい場合、前記ビットのセットを示す第6構文要素は、前記スライスのジオメトリデータユニットヘッダーに対する構文構造に含まれる、条項2から4のいずれか一項に記載の方法。
【0072】
条項7.前記第6構文要素は、frame_ctr_lsbとして表される、条項6に記載の方法。
【0073】
条項8.前記第3構文要素の値は、0に等しく、前記ビットストリームは、1つのコード化点群フレームのみを含む、条項2から4のいずれか一項に記載の方法。
【0074】
条項9.前記ビットのセット内のビット数は、0より大きく、前記構文要素のセットは、前記ビットのセット内のビット数から1を引いた数を指定する第7構文要素を、さらに含む、条項1から4のいずれか一項に記載の方法。
【0075】
条項10.前記第7構文要素は、frame_ctr_lsb_bits_minus1として表される、条項9に記載の方法。
【0076】
条項11.前記現在の点群フレームは、スライスを含み、前記構文要素のセットは、前記スライスに対するスライスタグのビット長を指定する第8構文要素を、さらに含む、条項1から10のいずれか一項に記載の方法。
【0077】
条項12.前記第8構文要素は、slice_tag_bitsとして表される、条項11に記載の方法。
【0078】
条項13.前記第8構文要素の値は、0より大きい、条項11から12のいずれか一項に記載の方法。
【0079】
条項14.前記第8構文要素の値が0より大きい場合、前記スライスタグを示す第9構文要素は、前記スライスのジオメトリデータユニットヘッダーに対する構文構造に含まれる、条項11から12のいずれか一項に記載の方法。
【0080】
条項15.前記第9構文要素は、slice_tagとして表される、条項14に記載の方法。
【0081】
条項16.前記第8構文要素の値は、0に等しく、前記転換が、タイルインベントリなしで実行される、条項11から12のいずれか一項に記載の方法。
【0082】
条項17.前記現在の点群フレームは、スライスを含み、前記スライスに対するスライスタグのビット長は、0より大きく、前記構文要素のセットは、前記スライスタグのビット長から1を引いた長さを指定する第10構文要素を、さらに含む、条項1から10のいずれか一項に記載の方法。
【0083】
条項18.前記第10構文要素は、slice_tag_bits_minus1として表される、条項17に記載の方法。
【0084】
条項19.前記転換は、前記点群シーケンスを前記ビットストリームにエンコードするステップを含む、条項1から18のいずれか一項に記載の方法。
【0085】
条項20.前記転換は、前記ビットストリームから前記点群シーケンスをデコードするステップを含む、条項1から18のいずれか一項に記載の方法。
【0086】
条項21.プロセッサと、命令を備えた非一時的メモリとを含む、点群データを処理する装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、条項1から20のいずれか一項に記載の方法を実行させる装置。
【0087】
条項22.プロセッサに、条項1から20のいずれか一項に記載の方法を実行させる命令を記憶する非一時的なコンピュータ可読記憶媒体。
【0088】
条項23.点群処理装置によって実行される方法によって生成された点群シーケンスのビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、前記点群シーケンス内の第1点群フレームを識別する第1構文要素であり、フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、前記ビットのセットが前記ビットストリームで示される第1構文要素、又は、前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が前記ビットのセット内のビット数以上である第2構文要素、のうちの少なくとも1つを含む構文要素のセットに基づいて、前記点群シーケンスと前記ビットストリームとの間の転換を実行するステップを含む、非一時的なコンピュータ可読記録媒体。
【0089】
条項24.点群シーケンスのビットストリームを記憶するための方法であって、前記点群シーケンス内の第1点群フレームを識別する第1構文要素であり、フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数以上であり、前記ビットのセットが前記ビットストリームで示される第1構文要素、又は、前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が前記ビットのセット内のビット数以上である第2構文要素、のうちの少なくとも1つを含む構文要素のセットに基づいて、前記点群シーケンスと前記ビットストリームとの間の転換を実行するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む方法。
【0090】
例示的なデバイス
図5は、本開示の様々な実施形態を具現できるコンピューティングデバイス500のブロック図を示す。コンピューティングデバイス500は、ソースデバイス110(或いは、GPCCエンコーダ116又は200)、又は、宛先デバイス120(或いはGPCCデコーダ126又は300)として具現されるか、又は、それに含まれ得る。
【0091】
図5に示されるコンピューティングデバイス500は、単に解説を目的としたものであり、本開示の実施形態の機能及び範囲をいかなる形でも制限することを示唆するものではないことが理解されるだろう。
【0092】
図5に示すように、コンピューティングデバイス500は、汎用コンピューティングデバイス500を含む。コンピューティングデバイス500は、少なくとも1つ又は複数のプロセッサ又は処理ユニット510、メモリ520、記憶ユニット530、1つ又は複数の通信ユニット540、1つ又は複数の入力デバイス550、および、1つ又は複数の出力デバイス560、を含み得る。
【0093】
いくつかの実施形態では、コンピューティングデバイス500は、コンピューティング能力を有する任意のユーザ端末又はサーバ端末として具現され得る。前記サーバ端末は、サービスプロバイダが提供するサーバや大規模コンピューティングデバイスなどであり得る。前記ユーザ端末は、例えば、携帯電話、ステーション、ユニット、デバイス、マルチメディアコンピュータ、マルチメディアタブレット、インターネットノード、コミュニケータ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、パーソナルコミュニケーションシステム(PCS)デバイス、パーソナルナビゲーションデバイス、携帯情報端末(PDA)、オーディオ/ビデオプレーヤー、デジタルカメラ/ビデオカメラ、測位デバイス、テレビ受信機、ラジオ放送受信機、電子ブックデバイス、ゲームデバイス、又は、それらの任意の組み合わせ(これらのデバイスのアクセサリ及び周辺機器、又は、それらの任意の組み合わせを含む)を含む、任意のタイプの移動端末、固定端末、又は、携帯端末であり得る。コンピューティングデバイス500は、ユーザに対する任意のタイプのインターフェース(「ウェアラブル」回路など)をサポートできることが考えられる。
【0094】
処理ユニット510は、物理又は仮想プロセッサであり得る。そして、メモリ520に記憶されたプログラムに基づいて、様々なプロセスを具現することができる。マルチプロセッサシステムでは、コンピューティングデバイス500の並列処理能力を向上させるために、複数の処理ユニットが、コンピュータ実行可能命令を並列に実行する。処理ユニット510は、中央処理ユニット(CPU)、マイクロプロセッサ、コントローラ、又はマイクロコントローラと呼ばれ得る。
【0095】
コンピューティングデバイス500は、通常、様々なコンピュータ記憶媒体を含む。このような媒体は、揮発性及び不揮発性媒体、又は、取り外し可能及び取り外し不可能な媒体を含むが、これらに限定されない、コンピューティングデバイス500によってアクセス可能な任意の媒体であり得る。メモリ520は、揮発性メモリ(例えば、レジスタ、キャッシュ、ランダムアクセスメモリ(RAM))、不揮発性メモリ(例えば、読み取り専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、フラッシュメモリ)、又は、それらの任意の組み合わせであり得る。記憶ユニット530は、任意の取り外し可能又は取り外し不可能な媒体であり得る。そして、情報及び/又はデータを記憶するために使用でき、コンピューティングデバイス500でアクセスできる、メモリ、フラッシュメモリドライブ、磁気ディスク、又は別の他の媒体などの機械可読媒体を含み得る。
【0096】
コンピューティングデバイス500は、追加の取り外し可能/取り外し不可能、揮発性/不揮発性メモリ媒体を、さらに含み得る。なお、図5には示していないが、着脱可能な不揮発性磁気ディスクの読み書きを行う磁気ディスクドライブや、着脱可能な不揮発性光ディスクの読み書きを行う光ディスクドライブを提供することが可能である。このような場合、各ドライブは、1つ又は複数のデータ媒体インターフェースを介して、バス(図示せず)に接続され得る。
【0097】
通信ユニット540は、通信媒体を介して、さらなるコンピューティングデバイスと通信する。加えて、コンピューティングデバイス500内のコンポーネントの機能は、通信接続を介して通信できる、単一のコンピューティングクラスタ、又は、複数のコンピューティングマシンによって具現され得る。したがって、コンピューティングデバイス500は、1つ又は複数の他のサーバ、ネットワーク化されたパーソナルコンピュータ(PC)、又は、さらなる一般的なネットワークノードとの論理接続を使用して、ネットワーク化された環境で動作することができる。
【0098】
入力デバイス550は、マウス、キーボード、トラッキングボール、音声入力デバイスなどの様々な入力デバイスのうちの1つ又は複数であり得る。出力デバイス560は、ディスプレイ、ラウドスピーカ、プリンタなどの様々な出力デバイスのうちの1つ又は複数であり得る。通信ユニット540によって、コンピューティングデバイス500は、記憶デバイス及び表示デバイスなどの1つ又は複数の外部デバイス(図示せず)とさらに通信することができ、1つ又は複数のデバイスにより、ユーザがコンピューティングデバイス500と対話可能にするか、又は、必要に応じて、任意のデバイス(ネットワークカード、モデムなど)により、コンピューティングデバイス500が、1つ又は複数の他のコンピューティングデバイスと通信可能にする。このような通信は、入力/出力(I/O)インターフェイス(図示せず)を介して実行され得る。
【0099】
いくつかの実施形態では、単一のデバイスに統合される代わりに、コンピューティングデバイス500のいくつかの、又は、全てのコンポーネントが、クラウドコンピューティングアーキテクチャに配置され得る。クラウドコンピューティングアーキテクチャでは、コンポーネントは、遠隔的に提供され、連携して、本開示で説明される機能を実施し得る。いくつかの実施形態では、クラウドコンピューティングは、コンピューティング、ソフトウェア、データアクセス、及びストレージサービスを提供し、これらのサービスを提供するシステム又はハードウェアの物理的な位置又は構成をエンドユーザが認識する必要はない。様々な実施形態において、クラウドコンピューティングは、適切なプロトコルを使用して、広域ネットワーク(インターネットなど)を介してサービスを提供する。例えば、クラウドコンピューティングプロバイダーは、Webブラウザ又はその他のコンピューティングコンポーネントを通じてアクセスできる広域ネットワーク経由でアプリケーションを提供する。クラウドコンピューティングアーキテクチャのソフトウェア又はコンポーネント及び対応するデータは、遠隔地にあるサーバに保存され得る。クラウドコンピューティング環境におけるコンピューティングリソースは、リモートデータセンターの場所に併合又は分散され得る。クラウドコンピューティングインフラストラクチャは、ユーザにとって単一のアクセスポイントとして動作するが、共有データセンターを通じてサービスを提供し得る。したがって、クラウドコンピューティングアーキテクチャを使用して、本明細書で説明されるコンポーネント及び機能を、遠隔地にあるサービスプロバイダから提供し得る。代替的に、それらは、従来のサーバから提供されるか、又は、クライアントデバイスに直接又はその他の方法でインストールされ得る。
【0100】
コンピューティングデバイス500は、本開示の実施形態において点群エンコーディング/デコーディングを具現するために使用され得る。メモリ520は、1つ又は複数のプログラム命令を有する1つ又は複数の点群コーディングモジュール525を含み得る。これらのモジュールは、本明細書で説明される様々な実施形態の機能を実行するように、処理ユニット510によって、アクセス可能かつ実行可能である。
【0101】
点群エンコーディングを実行する例示的な実施形態では、入力デバイス550は、エンコードされるべき点群データを入力570として受信し得る。点群データは、例えば、点群コーディングモジュール525によって処理されて、エンコードされたビットストリームを生成し得る。エンコードされたビットストリームは、出力デバイス560を介して、出力580として提供され得る。
【0102】
点群デコーディングを実行する例示的な実施形態では、入力デバイス550は、エンコードされたビットストリームを入力570として受信し得る。エンコードされたビットストリームは、例えば、点群コーディングモジュール525によって処理されて、デコードされた点群データを生成し得る。デコードされた点群データは、出力デバイス560を介して、出力580として提供され得る。
【0103】
本開示は、その好ましい実施形態を参照して特に図示及び説明されたが、添付の特許請求の範囲によって定義される本出願の精神及び範囲から逸脱することなく、形態及び詳細における様々な変更を行うことができることが当業者には理解されるであろう。このような変形は、本出願の範囲に含まれるものとする。したがって、本出願の実施形態に関する前述の説明は、限定することを意図したものではない。
図1
図2
図3
図4
図5
【手続補正書】
【提出日】2024-08-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
点群コーディングの方法であって、
点群シーケンス内の第1点群フレームを識別する第1構文要素であり、
フレーム固有の属性プロパティが前記第1点群フレームに適用され、
前記第1構文要素のビット長が、前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数に等しく
前記ビットのセットがビットストリームで示される、第1構文要素、又は、
前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、
フレーム境界マーカーが前記第2点群フレームに適用され、
前記第2構文要素のビット長が、前記ビットのセット内のビット数に等しい、第2構文要素、
のうちの少なくとも1つを含む、構文要素のセットに基づいて、点群シーケンスと前記点群シーケンスのビットストリームとの間の転換を実行する、ステップ、
を含む、方法。
【請求項2】
前記構文要素のセットは、前記ビットのセット内のビット数を指定する第3構文要素を、さらに含み、
前記第1構文要素のビット長を指定する第4構文要素であり、前記第4構文要素の値が前記第3構文要素の値に等しい、第4構文要素、又は、
前記第2構文要素のビット長を指定する第5構文要素であり、前記第5構文要素の値が前記第3構文要素の値に等しい、第5構文要素、
のうちの少なくとも1つを、さらに含む、
請求項1に記載の方法。
【請求項3】
前記第3構文要素は、前記点群シーケンスに対してアクティブ化されたシーケンスパラメータセット(SPS)に含まれる、
請求項2に記載の方法。
【請求項4】
前記第1構文要素は、fsap_frame_ctr_lsbとして表され、
前記第2構文要素は、fbdu_frame_ctr_lsbとして表され、
前記第3構文要素は、frame_ctr_lsb_bitsとして表され、
前記第4構文要素は、fsap_frame_ctr_lsb_bitsとして表され、又は、
前記第5構文要素は、fbdu_frame_ctr_lsb_bitsとして表される、
請求項2に記載の方法。
【請求項5】
前記第3構文要素の値は、0より大きいまたは、
前記現在の点群フレームは、スライスを含み、
前記第3構文要素の値が0より大きい場合、前記ビットのセットを示す第6構文要素は、前記スライスのジオメトリデータユニットヘッダーに対する構文構造に含まれるまたは、
前記第3構文要素の値は0に等しく、前記ビットストリームは、1つのコード化点群フレームのみを含む、
請求項2に記載の方法。
【請求項6】
前記第6構文要素は、frame_ctr_lsbとして表される、
請求項に記載の方法。
【請求項7】
前記ビットのセット内のビット数は、0より大きく、
前記構文要素のセットは、前記ビットのセット内のビット数から1を引いた数を指定する第7構文要素を、さらに含む、
請求項1に記載の方法。
【請求項8】
前記第7構文要素は、frame_ctr_lsb_bits_minus1として表される、
請求項に記載の方法。
【請求項9】
前記現在の点群フレームは、スライスを含み、
前記構文要素のセットは、前記スライスに対するスライスタグのビット長を指定する第8構文要素を、さらに含む、
請求項1に記載の方法。
【請求項10】
前記第8構文要素は、slice_tag_bitsとして表されるまたは、
前記第8構文要素の値は、0より大きいまたは、
前記第8構文要素の値が0より大きい場合、前記スライスタグを示す第9構文要素は、前記スライスのジオメトリデータユニットヘッダーに対する構文構造に含まれるまたは、
前記第8構文要素の値は0に等しく、変換は、タイルインベントリ無しで実行される、
請求項9に記載の方法。
【請求項11】
前記第9構文要素は、slice_tagとして表される、
請求項10に記載の方法。
【請求項12】
前記現在の点群フレームは、スライスを含み、
前記スライスに対するスライスタグのビット長は、0より大きく、
前記構文要素のセットは、前記スライスタグのビット長から1を引いた長さを指定する第10構文要素、をさらに含む、
請求項1に記載の方法。
【請求項13】
前記第10構文要素は、slice_tag_bits_minus1として表される、
請求項12に記載の方法。
【請求項14】
前記転換は、前記点群シーケンスを前記ビットストリームにエンコードするステップ、を含む、
請求項1に記載の方法。
【請求項15】
前記転換は、前記ビットストリームから前記点群シーケンスをデコードするステップ、を含む、
請求項1に記載の方法。
【請求項16】
プロセッサと、命令を備えた非一時的メモリとを含む、点群データを処理する装置であって、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、請求項1~15のいずれか一項に記載の方法を実行させる、
装置。
【請求項17】
プロセッサに、請求項1~15のいずれか一項に記載の方法を実行させる命令を記憶する、
非一時的なコンピュータ可読記憶媒体。
【請求項18】
点群シーケンスのビットストリームを記憶するための方法であって、
前記点群シーケンス内の第1点群フレームを識別する第1構文要素であり、
フレーム固有の属性プロパティが前記第1点群フレームに適用され、前記第1構文要素のビット長が、前記点群シーケンス内の現在の点群フレームに対するフレームカウンタのビットのセット内のビット数に等しく、前記ビットのセットが前記ビットストリームで示される、第1構文要素、又は、
前記点群シーケンス内の第2点群フレームを識別する第2構文要素であり、
フレーム境界マーカーが前記第2点群フレームに適用され、前記第2構文要素のビット長が、前記ビットのセット内のビット数に等しい、第2構文要素、
のうちの少なくとも1つを含む構文要素のセットに基づいて、前記点群シーケンスと前記ビットストリームとの間の転換を実行するステップ、および、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップ、
を含む、方法。
【国際調査報告】