[0001]本出願は、その各々の内容全体が参照により本明細書に組み込まれる、2021年9月30日に出願された米国特許出願第17/491,114号、2020年10月5日に出願された米国仮特許出願第63/087,804号、および2020年10月7日に出願された米国仮特許出願第63/088,843号の優先権を主張する。2021年9月30日に出願された米国特許出願第17/491,114号は、2020年10月5日に出願された米国仮出願第63/087,804号、および2020年10月7日に出願された米国仮出願第63/088,843号の利益を主張するものである。
[0023]図1は、本開示の技法を実施し得る例示的な符号化および復号システム100を示すブロック図である。本開示の技法は、概して、ポイントクラウドデータをコーディング(符号化および/または復号)すること、すなわち、ポイントクラウド圧縮をサポートすることを対象とする。概して、ポイントクラウドデータは、ポイントクラウドを処理するための任意のデータを含む。コーディングは、ポイントクラウドデータを圧縮および/または解凍する際に効果的であり得る。
[0024]図1に示されているように、システム100は、ソースデバイス102と宛先デバイス116とを含む。ソースデバイス102は、宛先デバイス116によって復号されるべき符号化されたポイントクラウドデータを提供する。詳細には、図1の例では、ソースデバイス102は、コンピュータ可読媒体110を介して宛先デバイス116にポイントクラウドデータを提供する。ソースデバイス102および宛先デバイス116は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、スマートフォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、ヘッドマウントデバイス(HMD)、エクステンデッドリアリティ(XR)デバイス(たとえば、仮想現実(VR)デバイス、複合現実(MR)デバイス、および/または拡張現実(AR)デバイス)、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、地上車両または海洋車両、宇宙船、航空機、ロボット、LIDARデバイス、衛星などを含む、広範囲のデバイスの任意の組合せを備え得る。いくつかの場合には、ソースデバイス102および宛先デバイス116は、ワイヤレス通信のために装備され得る。
[0025]図1の例では、ソースデバイス102は、データソース104と、メモリ106と、G-PCCエンコーダ200と、出力インターフェース108とを含む。宛先デバイス116は、入力インターフェース122と、G-PCCデコーダ300と、メモリ120と、データコンシューマー118とを含む。本開示によれば、ソースデバイス102のG-PCCエンコーダ200と、宛先デバイス116のG-PCCデコーダ300とは、予測ジオメトリコーディングにおいてレーザーインデックスをクリッピングすることに関係する本開示の技法を適用するように構成され得る。したがって、ソースデバイス102は符号化デバイスの一例を表すが、宛先デバイス116は復号デバイスの一例を表す。他の例では、ソースデバイス102および宛先デバイス116は、他の構成要素または構成を含み得る。たとえば、ソースデバイス102は、内部ソースまたは外部ソースからデータ(たとえば、ポイントクラウドデータ)を受信し得る。同様に、宛先デバイス116は、同じデバイス中にデータコンシューマーを含むのではなく、外部データコンシューマーとインターフェースし得る。
[0026]図1に示されているシステム100は一例にすぎない。概して、他のデジタル符号化および/または復号デバイスが、予測ジオメトリコーディングにおいてレーザーインデックスをクリッピングすることに関係する本開示の技法を実施し得る。ソースデバイス102および宛先デバイス116は、ソースデバイス102が宛先デバイス116への送信のためのコーディングされたデータを生成するようなデバイスの例にすぎない。本開示は、データのコーディング(符号化および/または復号)を実施するデバイスとして「コーディング」デバイスに言及する。したがって、G-PCCエンコーダ200およびG-PCCデコーダ300は、コーディングデバイス、特に、それぞれエンコーダおよびデコーダの例を表す。いくつかの例では、ソースデバイス102および宛先デバイス116は、ソースデバイス102および宛先デバイス116の各々が符号化構成要素および復号構成要素を含むように、実質的に対称的に動作し得る。したがって、システム100は、たとえば、ストリーミング、再生、ブロードキャスティング、電話通信、ナビゲーション、および他の用途のために、ソースデバイス102と宛先デバイス116との間の一方向または双方向送信をサポートし得る。
[0027]概して、データソース104は、データ(すなわち、生の符号化されていないポイントクラウドデータ)のソースを表し、データの連続した一連の「フレーム」をG-PCCエンコーダ200に提供し得、G-PCCエンコーダ200は、フレームについてのデータを符号化する。ソースデバイス102のデータソース104は、様々なカメラまたはセンサーのいずれか、たとえば、3Dスキャナまたは光検出および測距(LIDAR)デバイス、1つまたは複数のビデオカメラ、以前にキャプチャされたデータを含んでいるアーカイブ、ならびに/あるいはデータコンテンツプロバイダからデータを受信するためのデータフィードインターフェースなど、ポイントクラウドキャプチャデバイスを含み得る。代替または追加として、ポイントクラウドデータは、スキャナ、カメラ、センサーまたは他のデータからコンピュータ生成され得る。たとえば、データソース104は、ソースデータとしてコンピュータグラフィックスベースのデータを生成し得るか、または、ライブデータ、アーカイブされたデータ、およびコンピュータ生成されたデータの組合せを作り出し得る。各場合において、G-PCCエンコーダ200は、キャプチャされたデータ、プリキャプチャされたデータ、またはコンピュータ生成されたデータを符号化する。G-PCCエンコーダ200は、フレームを、(「表示順序」と呼ばれることがある)受信順序から、コーディングするためのコーディング順序に並べ替え得る。G-PCCエンコーダ200は、符号化されたデータを含む1つまたは複数のビットストリームを生成し得る。ソースデバイス102は、次いで、たとえば、宛先デバイス116の入力インターフェース122による受信および/または取出しのために、符号化されたデータを出力インターフェース108を介してコンピュータ可読媒体110上に出力し得る。
[0028]ソースデバイス102のメモリ106および宛先デバイス116のメモリ120は、汎用メモリを表し得る。いくつかの例では、メモリ106およびメモリ120は、生データ、たとえば、データソース104からの生データと、G-PCCデコーダ300からの生の復号されたデータとを記憶し得る。追加または代替として、メモリ106およびメモリ120は、たとえば、それぞれ、G-PCCエンコーダ200およびG-PCCデコーダ300によって実行可能なソフトウェア命令を記憶し得る。メモリ106およびメモリ120は、この例ではG-PCCエンコーダ200およびG-PCCデコーダ300とは別個に示されているが、G-PCCエンコーダ200およびG-PCCデコーダ300は、機能的に同様のまたは等価な目的で内部メモリをも含み得ることを理解されたい。さらに、メモリ106およびメモリ120は、符号化されたデータ、たとえば、G-PCCエンコーダ200からの出力、およびG-PCCデコーダ300への入力を記憶し得る。いくつかの例では、メモリ106およびメモリ120の部分は、たとえば、生の、復号された、および/または符号化されたデータを記憶するために、1つまたは複数のバッファとして割り振られ得る。たとえば、メモリ106およびメモリ120は、ポイントクラウドを表すデータを記憶し得る。
[0029]コンピュータ可読媒体110は、ソースデバイス102から宛先デバイス116に、符号化されたデータを移送することが可能な任意のタイプの媒体またはデバイスを表し得る。一例では、コンピュータ可読媒体110は、ソースデバイス102が、たとえば、無線周波数ネットワークまたはコンピュータベースのネットワークを介して、符号化されたデータを宛先デバイス116にリアルタイムで直接送信することを可能にするための通信媒体を表す。出力インターフェース108は、符号化されたデータを含む送信信号を変調し得、入力インターフェース122は、ワイヤレス通信プロトコルなどの通信規格に従って、受信された送信信号を復調し得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス102から宛先デバイス116への通信を容易にするために使用され得る任意の他の機器を含み得る。
[0030]いくつかの例では、ソースデバイス102は、符号化されたデータを出力インターフェース108から記憶デバイス112に出力し得る。同様に、宛先デバイス116は、入力インターフェース122を介して記憶デバイス112からの符号化されたデータにアクセスし得る。記憶デバイス112は、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化されたデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。
[0031]いくつかの例では、ソースデバイス102は、ソースデバイス102によって生成された符号化されたデータを記憶し得るファイルサーバ114または別の中間記憶デバイスに、符号化されたデータを出力し得る。宛先デバイス116は、ストリーミングまたはダウンロードを介してファイルサーバ114からの記憶されたデータにアクセスし得る。ファイルサーバ114は、符号化されたデータを記憶し、その符号化されたデータを宛先デバイス116に送信することが可能な任意のタイプのサーバデバイスであり得る。ファイルサーバ114は、(たとえば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、コンテンツ配信ネットワークデバイス、またはネットワーク接続ストレージ(NAS)デバイスを表し得る。宛先デバイス116は、インターネット接続を含む任意の標準的なデータ接続を通してファイルサーバ114からの符号化されたデータにアクセスし得る。これは、ファイルサーバ114に記憶された符号化されたデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi-Fi(登録商標)接続)、ワイヤード接続(たとえば、デジタル加入者回線(DSL)、ケーブルモデムなど)、またはその両方の組合せを含み得る。ファイルサーバ114と入力インターフェース122とは、ストリーミング送信プロトコル、ダウンロード送信プロトコル、またはそれらの組合せに従って動作するように構成され得る。
[0032]出力インターフェース108と入力インターフェース122とは、ワイヤレス送信機/受信機、モデム、ワイヤードネットワーキング構成要素(たとえば、イーサネット(登録商標)カード)、様々なIEEE802.11規格のいずれかに従って動作するワイヤレス通信構成要素、または他の物理的構成要素を表し得る。出力インターフェース108と入力インターフェース122とがワイヤレス構成要素を備える例では、出力インターフェース108と入力インターフェース122とは、4G、4G-LTE(登録商標)(ロングタームエボリューション)、LTEアドバンスト、5Gなど、セルラー通信規格に従って、符号化されたデータなどのデータを転送するように構成され得る。出力インターフェース108がワイヤレス送信機を備えるいくつかの例では、出力インターフェース108と入力インターフェース122とは、IEEE802.11仕様、IEEE802.15仕様(たとえば、ZigBee(登録商標))、Bluetooth(登録商標)規格など、他のワイヤレス規格に従って、符号化されたデータなどのデータを転送するように構成され得る。いくつかの例では、ソースデバイス102および/または宛先デバイス116は、それぞれのシステムオンチップ(SoC)デバイスを含み得る。たとえば、ソースデバイス102は、G-PCCエンコーダ200および/または出力インターフェース108に起因する機能を実施するためのSoCデバイスを含み得、宛先デバイス116は、G-PCCデコーダ300および/または入力インターフェース122に起因する機能を実施するためのSoCデバイスを含み得る。
[0033]本開示の技法は、自律車両間の通信、スキャナ、カメラ、センサー、およびローカルサーバまたはリモートサーバなどの処理デバイスの間の通信、地理的マッピング、あるいは他の用途など、様々な用途のいずれかをサポートする符号化および復号に適用され得る。
[0034]宛先デバイス116の入力インターフェース122は、コンピュータ可読媒体110(たとえば、通信媒体、記憶デバイス112、ファイルサーバ114など)から符号化されたビットストリームを受信する。符号化されたビットストリームは、コーディングされたユニット(たとえば、スライス、ピクチャ、ピクチャグループ、シーケンスなど)の特性および/または処理を記述する値を有するシンタックス要素など、G-PCCデコーダ300によっても使用される、G-PCCエンコーダ200によって定義されるシグナリング情報を含み得る。データコンシューマー118は、復号されたデータを使用する。たとえば、データコンシューマー118は、物理的物体のロケーションを決定するために、復号されたデータを使用し得る。いくつかの例では、データコンシューマー118は、ポイントクラウドに基づいて像を提示するためのディスプレイを備え得る。
[0035]G-PCCエンコーダ200およびG-PCCデコーダ300は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、など、様々な好適なエンコーダおよび/またはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、本開示の技法を実施するために、好適な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行し得る。G-PCCエンコーダ200およびG-PCCデコーダ300の各々は、1つまたは複数のエンコーダまたはデコーダ中に含まれ得、それらのいずれかは、それぞれのデバイス中の複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。G-PCCエンコーダ200および/またはG-PCCデコーダ300を含むデバイスは、1つまたは複数の集積回路、マイクロプロセッサ、および/または他のタイプのデバイスを備え得る。
[0036]G-PCCエンコーダ200およびG-PCCデコーダ300は、ビデオポイントクラウド圧縮(V-PCC)規格またはジオメトリポイントクラウド圧縮(G-PCC)規格などのコーディング規格に従って動作し得る。本開示は、概して、データを符号化または復号するプロセスを含むためにピクチャのコーディング(たとえば、符号化および復号)に言及することがある。符号化されたビットストリームは、概して、コーディング決定(たとえば、コーディングモード)を表すシンタックス要素についての一連の値を含む。
[0037]本開示は、概して、シンタックス要素などのある情報を「シグナリング」することに言及することがある。「シグナリング」という用語は、概して、符号化されたデータを復号するために使用されるシンタックス要素および/または他のデータについての値の通信を指すことがある。すなわち、G-PCCエンコーダ200は、ビットストリームにおいてシンタックス要素についての値をシグナリングし得る。概して、シグナリングは、ビットストリームにおいて値を生成することを指す。上述のように、ソースデバイス102は、宛先デバイス116による後の取出しのためにシンタックス要素を記憶デバイス112に記憶するときに起こり得る、ビットストリームを、実質的にリアルタイムで、またはリアルタイムではなく、宛先デバイス116に移送し得る。
[0038]ISO/IEC MPEG(JTC1/SC29/WG11)は、現在の手法の圧縮能力を大幅に上回る圧縮能力をもつポイントクラウドコーディング技術の規格化の潜在的な必要性を研究しており、その規格を作成することをターゲットにする。そのグループは、この分野の専門家によって提案された圧縮技術設計を評価するために、3次元グラフィックスチーム(3DG)として知られる協力的取り組みにおいて、この探究活動に関して協働している。
[0039]ポイントクラウド圧縮アクティビティは、2つの異なる手法に分類される。第1の手法は、「ビデオポイントクラウド圧縮」(V-PCC)であり、これは、3D物体をセグメント化し、(2Dフレーム中で「パッチ」として表される)複数の2D平面中にセグメントを投影し、それらはさらに、高効率ビデオコーディング(HEVC)(ITU-T H.265)コーデックなどのレガシー2Dビデオコーデックによってコーディングされる。第2の手法は、「ジオメトリベースのポイントクラウド圧縮」(G-PCC)であり、これは、3Dジオメトリ、すなわち、3D空間内のポイントのセットの位置と、(3Dジオメトリに関連付けられた各ポイントについて)関連付けられた属性値とを直接圧縮する。G-PCCは、カテゴリー1(静的ポイントクラウド)とカテゴリー3(動的に収集されたポイントクラウド)の両方におけるポイントクラウドの圧縮に対処する。G-PCC規格のドラフトは、G-PCC DIS、ISO/IEC JTC1/SC29/WG11 w19328、ブリュッセル、ベルギー、2020年1月において入手可能であり、コーデックの説明は、G-PCC Codec Description v8、ISO/IEC JTC1/SC29/WG11 w19525、ブリュッセル、ベルギー、2020年1月において入手可能である。
[0040]ポイントクラウドは、3D空間内のポイントのセットを含んでおり、ポイントに関連付けられた属性を有し得る。属性は、R、G、B、または、Y、Cb、Crなどの色情報、あるいは反射率情報、あるいは他の属性であり得る。ポイントクラウドは、LIDARセンサーおよび3Dスキャナなどの様々なカメラまたはセンサーによってキャプチャされ得、また、コンピュータ生成され得る。ポイントクラウドデータは、限定はしないが、建築(モデリング)、グラフィックス(視覚化およびアニメーションのための3Dモデル)、および自動車産業(ナビゲーションを助けるために使用されるLIDARセンサー)を含む様々な用途において使用される。
[0041]ポイントクラウドデータによって占有される3D空間は、仮想バウンディングボックス(bounding box)によって囲まれ得る。バウンディングボックス中のポイントの位置は、ある精度によって表され得、したがって、1つまたは複数のポイントの位置は、その精度に基づいて量子化され得る。最小レベルでは、バウンディングボックスは、単位立方体によって表される空間の最小単位であるボクセルに分割される。バウンディングボックス中のボクセルは、0個、1つ、または2つ以上のポイントに関連付けられ得る。バウンディングボックスは、タイルと呼ばれることがある複数の立方体/直方体領域に分割され得る。各タイルは、1つまたは複数のスライスにコーディングされ得る。バウンディングボックスの、スライスおよびタイルへの区分は、各区分中のポイントの数に基づき得るか、または他の考慮事項(たとえば、特定の領域がタイルとしてコーディングされ得る)に基づき得る。スライス領域は、ビデオコーデックにおけるものと同様の分割決定を使用してさらに区分され得る。
[0042]図2は、G-PCCエンコーダ200の概要を提供する。図3は、G-PCCデコーダ300の概要を提供する。図示されたモジュールは論理的であり、G-PCCコーデック、すなわち、ISO/IEC MPEG(JTC1/SC29/WG11)によって研究されたTMC13テストモデルソフトウェアの参照実装において実装されたコードに必ずしも1対1に対応するとは限らない。
[0043]G-PCCエンコーダ200とG-PCCデコーダ300の両方において、ポイントクラウド位置が最初にコーディングされる。属性コーディングは、復号されたジオメトリに依存する。図2および図3において、モジュール212、218、310、および314は、カテゴリー1のデータのために典型的に使用されるオプションである。モジュール220、222、316および318は、カテゴリー3のデータのために典型的に使用されるオプションである。他のすべてのモジュールは、カテゴリー1とカテゴリー3との間で共通である。
[0044]カテゴリー3のデータの場合、圧縮されたジオメトリは、典型的に、ルートから個々のボクセルのリーフレベルに至るオクツリーとして表される。カテゴリー1のデータの場合、圧縮されたジオメトリは、典型的に、プルーニングされたオクツリー(すなわち、ルートからボクセルよりも大きいブロックのリーフレベルまでのオクツリー)と、プルーニングされたオクツリーの各リーフ内の表面を近似するモデルとによって表される。このようにして、カテゴリー1のデータとカテゴリー3のデータの両方がオクツリーコーディング機構を共有するが、カテゴリー1のデータは、さらに、各リーフ内のボクセルを表面モデルで近似し得る。使用される表面モデルは、ブロック当たり1~10個の三角形を備える三角形分割であり、三角形スープ(triangle soup)をもたらす。したがって、カテゴリー1のジオメトリコーデックは、Trisoupジオメトリコーデックとして知られており、カテゴリー3のジオメトリコーデックは、オクツリージオメトリコーデックとして知られている。
[0045]オクツリーの各ノードにおいて、その子ノード(8つまでのノード)のうちの1つまたは複数について、占有率がシグナリングされる(推測されない場合)。(a)現在のオクツリーノードと面(face)を共有するノード、(b)現在のオクツリーノードと面、辺(edge)または頂点(vertex)を共有するノードなどを含む複数の近傍が指定される。各近傍内で、ノードおよび/またはその子の占有率が、現在のノードまたはその子の占有率を予測するために使用され得る。オクツリーのいくつかのノードにおいてまばらに分布するポイントについて、コーデックはまた、ポイントの3D位置が直接符号化される直接コーディングモードをサポートする。直接モードがシグナリングされることを示すために、フラグがシグナリングされ得る。最低レベルにおいて、オクツリーノード/リーフノードに関連付けられたポイントの数もコーディングされ得る。
[0046]ジオメトリがコーディングされると、ジオメトリポイントに対応する属性がコーディングされる。1つの再構成された/復号されたジオメトリポイントに対応する複数の属性ポイントがあるとき、再構成されたポイントを表す属性値が導出され得る。
[0047]G-PCCには、3つの属性コーディング方法、すなわち、領域適応階層変換(RAHT:Region Adaptive Hierarchical Transform)コーディング、補間ベースの階層最近傍予測(予測変換)、および更新/リフティングステップを伴う補間ベースの階層最近傍予測(リフティング変換)がある。RAHTおよびリフティング変換は、典型的に、カテゴリー1のデータのために使用されるが、予測変換は、典型的に、カテゴリーの3のデータのために使用される。しかしながら、いずれの方法も任意のデータのために使用され得、ちょうどG-PCCにおけるジオメトリコーデックの場合のように、ポイントクラウドをコーディングするために使用される属性コーディング方法は、ビットストリームにおいて指定される。
[0048]属性のコーディングは、詳細レベル(LOD:level of detail)において行われ得、各詳細レベルとともに、ポイントクラウド属性のより細かい表現が取得され得る。各詳細レベルは、近隣ノードからの距離メトリックに基づいて、またはサンプリング距離に基づいて指定され得る。
[0049]G-PCCエンコーダ200において、属性についてのコーディング方法の出力として取得された残差が(たとえば、算術符号化ユニット214および/または226のうちの1つによって)量子化される。量子化された残差は、コンテキスト適応算術コーディングを使用してコーディングされ得る。
[0050]図2の例では、G-PCCエンコーダ200は、座標変換ユニット202と、色変換ユニット204と、ボクセル化ユニット206と、属性転送ユニット208と、オクツリー分析ユニット210と、表面近似分析ユニット212と、算術符号化ユニット214と、ジオメトリ再構成ユニット216と、RAHTユニット218と、LOD生成ユニット220と、リフティングユニット222と、係数量子化ユニット224と、算術符号化ユニット226とを含み得る。
[0051]図2の例に示されているように、G-PCCエンコーダ200は、位置のセットと属性のセットとを受信し得る。位置は、ポイントクラウドにおけるポイントの座標を含み得る。属性は、ポイントクラウドにおけるポイントに関連付けられた色など、ポイントクラウドにおけるポイントに関する情報を含み得る。
[0052]座標変換ユニット202は、座標を初期領域から変換領域に変換するために、ポイントの座標に変換を適用し得る。本開示は、変換された座標を変換座標と呼ぶことがある。色変換ユニット204は、属性の色情報を異なる領域に変換するために変換を適用し得る。たとえば、色変換ユニット204は、色情報をRGB色空間からYCbCr色空間に変換し得る。
[0053]さらに、図2の例では、ボクセル化ユニット206は、変換座標をボクセル化し得る。変換座標のボクセル化は、量子化とポイントクラウドのいくつかのポイントを除去することとを含み得る。言い換えれば、ポイントクラウドの複数のポイントは、単一の「ボクセル」内に包含され得、これは、その後、いくつかの観点において1つのポイントとして扱われ得る。さらに、オクツリー分析ユニット210は、ボクセル化された変換座標に基づいてオクツリーを生成し得る。さらに、図2の例では、表面近似分析ユニット212は、ポイントのセットの表面表現を潜在的に決定するためにポイントを分析し得る。算術符号化ユニット214は、表面近似分析ユニット212によって決定されたオクツリーおよび/または表面の情報を表すシンタックス要素をエントロピー符号化し得る。G-PCCエンコーダ200は、ジオメトリビットストリームにおいてこれらのシンタックス要素を出力し得る。
[0054]ジオメトリ再構成ユニット216は、オクツリー、表面近似分析ユニット212によって決定された表面を示すデータ、および/または他の情報に基づいて、ポイントクラウドにおけるポイントの変換座標を再構成し得る。ジオメトリ再構成ユニット216によって再構成された変換座標の数は、ボクセル化および表面近似のために、ポイントクラウドのポイントの元の数とは異なり得る。本開示は、得られたポイントを再構成されたポイントと呼ぶことがある。属性転送ユニット208は、ポイントクラウドの元のポイントの属性をポイントクラウドの再構成されたポイントに転送し得る。図2に示されているように、属性転送ユニット208は、属性をRAHTユニット218およびLOD生成ユニット220の一方または両方に転送し得る。
[0055]さらに、RAHTユニット218は、再構成されたポイントの属性にRAHTコーディングを適用し得る。代替または追加として、LOD生成ユニット220およびリフティングユニット222は、再構成されたポイントの属性に、それぞれLOD処理およびリフティングを適用し得る。RAHTユニット218およびリフティングユニット222は、属性に基づいて係数を生成し得る。係数量子化ユニット224は、RAHTユニット218またはリフティングユニット222によって生成された係数を量子化し得る。算術符号化ユニット226は、量子化係数を表すシンタックス要素に算術コーディングを適用し得る。G-PCCエンコーダ200は、属性ビットストリームにおいてこれらのシンタックス要素を出力し得る。
[0056]図3の例では、G-PCCデコーダ300は、ジオメトリ算術復号ユニット302と、属性算術復号ユニット304と、オクツリー合成ユニット306と、逆量子化ユニット308と、表面近似合成ユニット310と、ジオメトリ再構成ユニット312と、RAHTユニット314と、LoD生成ユニット316と、逆リフティングユニット318と、逆変換座標ユニット320と、逆変換色ユニット322とを含み得る。
[0057]G-PCCデコーダ300は、ジオメトリビットストリームと属性ビットストリームとを取得し得る。デコーダ300のジオメトリ算術復号ユニット302は、算術復号(たとえば、コンテキスト適応型バイナリ算術コーディング(CABAC)または他のタイプの算術復号)をジオメトリビットストリーム中のシンタックス要素に適用し得る。同様に、属性算術復号ユニット304は、算術復号を属性ビットストリーム中のシンタックス要素に適用し得る。
[0058]オクツリー合成ユニット306は、ジオメトリビットストリームからパースされたシンタックス要素に基づいてオクツリーを合成し得る。表面近似がジオメトリビットストリームにおいて使用される事例では、表面近似合成ユニット310は、ジオメトリビットストリームからパースされたシンタックス要素に基づいて、またオクツリーに基づいて、表面モデルを決定し得る。
[0059]さらに、ジオメトリ再構成ユニット312は、ポイントクラウドにおけるポイントの座標を決定するために再構成を実施し得る。逆変換座標ユニット320は、ポイントクラウドにおけるポイントの再構成された座標(位置)を変換領域から初期領域に再びコンバートするために、再構成された座標に逆変換を適用し得る。
[0060]さらに、図3の例では、逆量子化ユニット308は、属性値を逆量子化し得る。属性値は、(たとえば、属性算術復号ユニット304によって復号されたシンタックス要素を含む)属性ビットストリームから取得されたシンタックス要素に基づき得る。図3に示されているように、逆量子化ユニット308は、属性値をRAHTユニット314およびLOD生成ユニット316の一方または両方に転送し得る。
[0061]属性値がどのように符号化されるかに応じて、RAHTユニット314は、逆量子化された属性値に基づいて、ポイントクラウドのポイントについての色値を決定するためにRAHTコーディングを実施し得る。代替的に、LOD生成ユニット316および逆リフティングユニット318は、詳細レベルベースの技法を使用してポイントクラウドのポイントについての色値を決定し得る。
[0062]さらに、図3の例では、逆変換色ユニット322は、色値に逆色変換を適用し得る。逆色変換は、エンコーダ200の色変換ユニット204によって適用された色変換の逆であり得る。たとえば、色変換ユニット204は、色情報をRGB色空間からYCbCr色空間に変換し得る。したがって、逆色変換ユニット322は、色情報をYCbCr色空間からRGB色空間に変換し得る。
[0063]図2および図3の様々なユニットは、エンコーダ200およびデコーダ300によって実施される動作の理解を支援するために示されている。ユニットは、固定機能回路、プログラマブル回路、またはそれらの組合せとして実装され得る。固定機能回路は、特定の機能を提供する回路を指し、実施され得る動作に関してあらかじめ設定される。プログラマブル回路は、様々なタスクを実施するように、および実施され得る動作においてフレキシブルな機能を提供するようにプログラムされ得る回路を指す。たとえば、プログラマブル回路は、ソフトウェアまたはファームウェアの命令によって定義された様式でプログラマブル回路を動作させるソフトウェアまたはファームウェアを実行し得る。固定機能回路は、(たとえば、パラメータを受信するかまたはパラメータを出力するために)ソフトウェア命令を実行し得るが、固定機能回路が実施する動作のタイプは、概して不変である。いくつかの例では、ユニットのうちの1つまたは複数は、別個の回路ブロック(固定機能またはプログラマブル)であり得、いくつかの例では、ユニットのうちの1つまたは複数は、集積回路であり得る。
[0064]予測ジオメトリコーディングは、ノードが(予測構造を定義する)ツリー構造で配置される、オクツリージオメトリコーディングの代替として導入されており、様々な予測ストラテジーが、それの予測子に関するツリーにおける各ノードの座標を予測するために使用される。図4は、予測ツリー400、矢印が予測方向を指す、有向グラフの一例を示す概念図である。水平方向に影付きのノードは、ルート頂点であり、予測子を有せず、格子の影付きのノードは2つの子を有し、斜めに影付きのノードは3つの子を有し、影付きでないノードは1つの子を有し、垂直方向に影付きのノードはリーフノードであり、これらは子を有しない。あらゆるノードが、1つの親ノードのみを有する。
[0065]4つの予測ストラテジーが、それの親(p0)、祖父母(p1)および曽祖父母(p2)に基づいて各ノードについて指定され得る。予測ストラテジーは、予測なしと、デルタ予測(p0)と、線形予測(2*p0-p1)と、平行四辺形予測(2*p0+p1-p2)とを含む。
[0066]エンコーダ(たとえば、G-PCCエンコーダ200)は、予測ツリーを生成するために任意のアルゴリズムを採用し得、使用されるアルゴリズムは、用途/使用事例に基づいて決定され得、いくつかのストラテジーが使用され得る。エンコーダは、各ノードについて、深さ優先様式で、ルートノードから開始して、ビットストリーム中の残差座標値を符号化し得る。予測ジオメトリコーディングは、カテゴリー3(LIDAR収集された)ポイントクラウドデータのために、たとえば、低レイテンシ用途のために特に有用であり得る。
[0067]角度モードが予測ジオメトリコーディングにおいて使用され得、ここで、LIDARセンサーの特性が、予測ツリーをより効率的にコーディングすることにおいて利用され得る。位置の座標が、(r,φ,i)(半径、方位角、およびレーザーインデックス)にコンバートされ、予測がこの領域において実施される(残差がr,φ,i領域においてコーディングされる)。丸めることにおけるエラーにより、r,φ,iにおいてコーディングすることは、ロスレスではなく、したがって、デカルト座標に対応する残差の第2のセットがコーディングされ得る。予測ジオメトリコーディングについての角度モードのために使用される符号化および復号ストラテジーの説明が、以下に再現される。その説明は、回転LIDAR収集モデルの概念図である図5Aおよび図5Bに基づく。
[0068]本開示の技法は、回転Lidarモデルを使用して収集される少なくともポイントクラウドに適用可能であり得る。ここで、ライダー502は、方位角φに従ってZ軸を中心として回転するN個のレーザー(たとえば、N=16、32、64)を有する(図5Aおよび図5B参照)。各レーザーは、異なる高度θ(i)i=1...Nおよび高さσ(i)i=1...Nを有し得る。レーザーiは、図5Aにおいて説明される座標系500に従って定義された、デカルト整数座標(x,y,z)をもつポイントMに当たる。
[0069]Mの位置は、以下のように算出される3つのパラメータ(r,φ,i)を用いてモデル化される。
、
[0070]より正確には、コーディングプロセスは、
と示された、(r,φ,i)の量子化されたバージョンを使用し得、
ここで、3つの整数
、およびiが以下のように算出される。
ここで、
・ (qr,or)および(qφ,oφ)が、それぞれ、
の精度を制御する量子化パラメータである。
・ sign(t)は、tが正の場合1を、他の場合(-1)を返す関数である。
・ |t|は、tの絶対値である。
[0071]浮動小数点演算の使用による再構成不整合を回避するために、σ(i)i=1...Nおよびtan(θ(i))i=1...Nの値があらかじめ算出され、以下のように量子化され得る。
ここで、
・ (qσ,oσ)および(qθ,oθ)は、それぞれ、
の精度を制御する量子化パラメータである。
再構成されたデカルト座標が、以下のように取得される。
、
ここで、app_cos(.)およびapp_sin(.)は、cos(.)およびsin(.)の近似である。それらの計算は、固定小数点表現、ルックアップテーブル、および線形補間を使用していることがある。
[0072]いくつかの例では、
は、
- 量子化
- 近似
- モデル不正確
- モデルパラメータ不正確
を含む様々な理由により、(x,y,z)とは異なり得る。
[0073]いくつかの例では、再構成残差(rx,ry,rz)は、以下のように定義され得る。
[0074]本方法では、エンコーダは以下のように進み得る。
・ モデルパラメータ
、ならびに量子化パラメータqr qσ、qθおよびqφを符号化する
・ G-PCC DISにおいて説明されるジオメトリ予測方式を表現
に適用する
〇 ライダーの特性を活用する新しい予測子が導入され得る。たとえば、z軸を中心とするライダースキャナの回転速度は、通常一定である。したがって、G-PCCデコーダは、現在の
を以下のように予測し得る。
ここで、
〇 (δφ(k))k=1...Kは、エンコーダが選定し得る潜在的な速度のセットである。インデックスkは、ビットストリームに明示的に書き込まれ得るか、またはエンコーダとデコーダの両方によって適用された決定論的ストラテジーに基づいて、コンテキストから推論され得、
〇 n(j)は、ビットストリームに明示的に書き込まれ得るか、またはエンコーダとデコーダの両方によって適用された決定論的ストラテジーに基づいて、コンテキストから推論され得る、スキップされたポイントの数である。
・ 各ノードとともに再構成残差(rx,ry,rz)を符号化する
[0075]デコーダは以下のように進み得る。
・ モデルパラメータ
、ならびに量子化パラメータqr qσ、qθおよびqφを復号する
・ G-PCCドラフト国際規格(DIS)において説明されるジオメトリ予測方式に従って、ノードに関連付けられた
パラメータを復号する
・ 上記で説明されたように、再構成された座標
を算出する
・ 残差(rx,ry,rz)を復号する
〇 次のセクションにおいて説明されるように、不可逆圧縮が、再構成残差(rx,ry,rz)を量子化することによってサポートされ得る
・ 元の座標(x,y,z)を以下のように算出する
[0076]不可逆圧縮は、量子化を再構成残差(rx,ry,rz)に適用することによって、またはポイントをドロップすることによって達成され得る。
[0077]量子化された再構成残差は、以下のように算出される。
ここで、(qx,ox)、(qy,oy)および(qz,oz)は、それぞれ、
の精度を制御する量子化パラメータである。
[0078]いくつかの例では、エンコーダおよび/またはデコーダは、RD(レートひずみ)性能結果をさらに改善するために、トレリス量子化を使用し得る。量子化パラメータは、領域適応品質を達成するために、およびレート制御目的のために、シーケンス/フレーム/スライス/ブロックレベルにおいて変化し得る。
[0079]しかしながら、上記で説明された技法は、1つまたは複数の欠点を提示し得る。たとえば、レーザーインデックスiは、角度モードが予測ジオメトリコーディングとともに使用されるとき、ジオメトリの第3の成分を形成し得る。レーザー残差をシグナリングするためのビット数は、緊密に制限されないことがある(最大絶対残差についてのビット数がlog2としてシグナリングされる)ので、再構成されたレーザーインデックスは、レーザーインデックスの有効範囲を超える(レーザーの数-1よりも大きいか、または0よりも小さい)ことがある。これは、デコーダが無効なレーザーインデックス値を生じるビットストリームを復号することを試みるとき、デコーダについて未定義の挙動を生じ得る。そのような未定義の挙動は望ましくないことがある。
[0080]同様の問題が、レーザーインデックス残差がシグナリングされる、(オクツリーコーディングおける)角度推論直接コーディングモード(IDCM:inferred direct coding mode)コンテキスト導出に当てはまり得る。ここで再び、シグナリングされるレーザーインデックス残差に関する制約がないことがあり、ビットストリームがレーザーインデックス残差値を含んでいることがあり、これは、デコーダについて未定義の挙動を生じる、有効範囲外のレーザーインデックス値を生じ得る。そのような未定義の挙動は望ましくないことがある。
[0081]本開示の1つまたは複数の技法によれば、エンコーダ(たとえば、G-PCCエンコーダ200)および/またはデコーダ(たとえば、G-PCCデコーダ300)は、復号されたレーザーインデックスがレーザーインデックスの有効範囲を超えるのを防ぐために、1つまたは複数の動作を実施し得る。いくつかの例では、レーザーインデックスの有効範囲は、レーザーの数-1よりも小さいかまたはそれに等しいか、あるいは0よりも大きくなり得る(たとえば、0~N-1、ここで、Nはレーザーの数である)。以下で説明される技法は、独立して使用され得るか、または互いと組み合わせられ得る。復号されたレーザーインデックスが有効範囲外になるのを防ぐことによって、本開示の技法は、G-PCCビットストリームの時間スケーラビリティを改善し得る。
[0082]第1の例示的な技法として、G-PCCエンコーダ200および/またはG-PCCデコーダ300は、角度モードが予測ジオメトリコーディングにおいて使用されるときの1次残差の再構成の後に取得されたレーザーインデックスが、有効レーザーインデックス範囲内にあるという制約を適用し得る。いくつかの例では、N個のレーザーがビットストリームにおいて指定されるとき、有効レーザーインデックス範囲は、両端値を含む、0~N-1であり得る。
[0083]第1の技法の2つの例は、以下の通りである。第1の技法の第1の例として、再構成されたレーザーインデックスが有効レーザーインデックス範囲内にあるように、以下の適合(conformance)制約が追加され得る。「角度モードが予測ジオメトリにおいて使用されるときの1次残差から再構成されたレーザーインデックスの値が、両端値を含む、0~num_lasers_minus1の範囲内にあるものとすることが、ビットストリーム適合の要件である。」この例では、num_lasers_minus1は、レーザーの数-1の値を示すために使用される。第1の技法の第2の例として、再構成されたレーザーインデックスが有効レーザーインデックス範囲内にあるように、以下の適合制約が追加され得る。「再構成されたレーザーインデックスの値が、両端値を含む、0~num_lasers_minus1の範囲内にあるものとすることが、ビットストリーム適合の要件である。」
[0084]G-PCCエンコーダ200が制約を執行する場合、G-PCCデコーダ300の挙動は影響を及ぼされ得る。たとえば、G-PCCエンコーダ200が、再構成されたレーザーインデックスの値を有効レーザーインデックス範囲内にあるように制約する場合、G-PCCデコーダ300は、再構成されたレーザーインデックスを表すビットに従うビットストリームにおけるビットを正確に復号し、未定義の挙動を回避し得る。
[0085]第2の例示的な技法として、G-PCCデコーダ300は、1次残差の再構成によって生成されたレーザーインデックスをクリッピングし得、したがって、そのクリッピングされたレーザーインデックスは有効レーザーインデックス範囲内にある。
[0086]第2の技法の一例は、以下の通りである。この例では、G-PCCデコーダ300は、1次残差をレーザーインデックスの有効範囲内にあるように再構成することによって取得されたレーザーインデックス値をクリッピングし得る。たとえば、G-PCCデコーダ300は、以下を実施し得る。
レーザーインデックスiの再構成された値は、それをClip3(i,0,num_lasers_minus1)に等しく設定することによって更新される。
言い換えれば、再構成されたデカルト座標
が、以下のように取得され得る。
[0087]第3の例として、G-PCCデコーダ300は、再構成されたレーザーインデックスがレーザーインデックスの有効範囲外にあるとき、デフォルト挙動を実施し得る。たとえば、レーザーインデックスiが有効なレーザーインデックスに対応しない(たとえば、レーザーインデックスの有効範囲外にある)とき、
の値は、デコーダの挙動が明確に定義されるように、デフォルト値であると推論され得る。たとえば、
のデフォルト値は、0になるように設定され得、
のデフォルト値は、0の角度に対応して設定され得(すなわち、
の値も0になるように設定され得る)。
[0088]第4の例として、G-PCCエンコーダ200および/またはG-PCCデコーダ300は、上記で説明された第1の例から第3の例(たとえば、クリッピング、明示的制約、デフォルト挙動など)の任意の組合せを、角度IDCMコンテキスト導出のためにシグナリングされたレーザーインデックス残差から導出されたレーザーインデックス値に適用し得る。たとえば、G-PCCエンコーダ200および/またはG-PCCデコーダ300は、角度IDCMコンテキスト導出においてレーザーインデックス残差を使用することによって取得されたレーザーインデックス値を、有効レーザーインデックス範囲にクリッピングし得る。1つの明示的例として、G-PCCエンコーダ200および/またはG-PCCデコーダ300は、以下を実施し得る。
ここで、laserIndexEstimate[Child]+laserIndexResidual[Child]は、角度IDCMコンテキスト導出におけるレーザーインデックス残差であり、0は有効レーザー範囲の下限であり、num_lasers_minus1は有効レーザー範囲の上限である。
[0089]図6は、本開示の1つまたは複数の技法による、ポイントクラウドを処理するための例示的な技法を示す流れ図である。G-PCCエンコーダ200(図1および図2)に関して説明されるが、他のデバイスが図6の方法と同様の方法を実施するように構成され得ることを理解されたい。
[0090]G-PCCエンコーダ200は、ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定し得る(602)。たとえば、(たとえば、図7~図10の例のいずれかにおいて)G-PCCエンコーダ200は、N個のレーザー(たとえば、N=16、32、64)がLIDARデータをキャプチャするために使用されたと決定し得る。いくつかの例では、G-PCCエンコーダ200は、ビットストリーム中で、レーザーの決定された量を表すシンタックス要素を符号化し得る。たとえば、G-PCCエンコーダは、レーザーの量-1を表すnum_lasers_minus1シンタックス要素を(たとえば、ジオメトリパラメータセット中で)符号化し得る。
[0091]G-PCCエンコーダ200は、ポイントクラウドの現在のノードについてのレーザーインデックスを符号化し得る(604)。上記で説明されたように、現在のノードについてのレーザーインデックスを直接シグナリングすることとは対照的に、G-PCCエンコーダは、現在のノードについての予測されたレーザーインデックスと実際のレーザーインデックスとの間の差をシグナリングし得る。いくつかの例では、G-PCCエンコーダ200は、予測ジオメトリコーディングの角度コーディングモードを使用して現在のノードを符号化することを決定したことに応答して、レーザーインデックス値を符号化し得る。
[0092]たとえば、G-PCCエンコーダ200は、現在のノードの予測されたレーザーインデックス値を取得し得る(606)。予測されたレーザーインデックスは、(デルタ予測、線形予測、または平行四辺形予測、図4参照、のうちの1つまたは複数を使用して)現在のノードの親ノード(p0)、現在のノードの祖父母(p1)、および/または現在のノードの曽祖父母(p2)のうちの1つまたは複数に応じて決定されたレーザーインデックスであり得る。いくつかの例では、G-PCCエンコーダ200は、現在のノードのレーザーインデックスに最もぴったり一致する、複数の候補予測されたレーザーインデックスのうちの候補レーザーインデックスを選択し、複数の候補予測されたレーザーインデックスのうちのどれが現在のノードについての選択された予測されたレーザーインデックスであるかを示すシンタックス要素をシグナリングし得る。
[0093]G-PCCエンコーダ200は、現在のノードについての残差レーザーインデックス値を決定し得る(608)。たとえば、G-PCCエンコーダ200は、現在のノードについての実際のレーザーインデックス値と、現在のノードについての選択された予測されたレーザーインデックス値との間の差を決定し得る(たとえば、実際のレーザーインデックス値が4であり、予測されたレーザーインデックス値が1である場合、G-PCCエンコーダは、残差レーザーインデックス値が3であると決定し得る)。G-PCCデコーダ(たとえば、G-PCCデコーダ300)は、残差レーザーインデックス値に、予測されたレーザーインデックス値を足すこと(たとえば、加算すること)によって、実際のレーザーインデックス値を再構成し得る。しかしながら、丸めることにおけるエラー、および他のソースにより、再構成されたレーザーインデックスiは、レーザーインデックスの有効範囲を超え(たとえば、存在しないレーザーを示し)得る。そのような結果は、デコーダの未定義の挙動を生じ得、これは、望ましくないことがある。
[0094]本開示の1つまたは複数の技法によれば、G-PCCエンコーダ200は、再構成されたレーザーインデックスの値をレーザーインデックスの有効範囲内にあるように制約し得る。たとえば、G-PCCエンコーダ200は、少なくとも、残差レーザーインデックス値と予測されたレーザーインデックス値との和を、レーザーの決定された量-1よりも小さいかまたはそれに等しくなるように制約することによって、残差レーザーインデックス値を決定し得る(608)。一例として、現在のノードのレーザーインデックスがレーザーインデックスの有効範囲外で再構成されることになると決定したことに応答して、G-PCCエンコーダ200は、レーザーインデックスが有効範囲内で再構成されることになるように、現在のノードのレーザーインデックスの符号化を(たとえば、残差レーザーインデックスの値を低減することによって)調整し得る。
[0095]G-PCCエンコーダ200は、ビットストリーム中で、残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を符号化し得る(610)。たとえば、G-PCCエンコーダ200は、残差レーザーインデックス値の絶対値が0よりも大きいかどうかを示す第1のシンタックス要素を符号化し得る。残差レーザーインデックス値の絶対値が0よりも大きい場合、G-PCCエンコーダ200は、残差レーザーインデックス値の絶対値を表す第2のシンタックス要素と、残差レーザーインデックス値の符号を表す第3のシンタックス要素とを符号化し得る。
[0096]図7は、本開示の1つまたは複数の技法とともに使用され得る例示的な測距システム700を示す概念図である。図7の例では、測距システム700は、照明器702とセンサー704とを含む。照明器702は、光706を放出し得る。いくつかの例では、照明器702は、1つまたは複数のレーザービームとして光706を放出し得る。光706は、赤外波長または可視光波長など、1つまたは複数の波長におけるものであり得る。他の例では、光706は、コヒーレントなレーザー光ではない。光706が、物体708など、物体に遭遇したとき、光706は、戻り光710をもたらす。戻り光710は、後方散乱光および/または反射光を含み得る。戻り光710は、センサー704上に物体708の画像712をもたらすように戻り光710を向けるレンズ711を通過し得る。センサー704は、画像712に基づいて信号714を生成する。画像712は、(たとえば、図8の画像712中のドットによって表される)ポイントのセットを備え得る。
[0097]いくつかの例では、照明器702およびセンサー704は、照明器702およびセンサー704が環境の360度視野をキャプチャするように、回転構造物上に搭載され得る。他の例では、測距システム700は、照明器702およびセンサー704が特定の範囲内(たとえば、360度まで)の物体の範囲を検出することを可能にする1つまたは複数の光学構成要素(たとえば、ミラー、コリメータ、回折格子など)を含み得る。図7の例は、単一の照明器702およびセンサー704のみを示すが、測距システム700は、照明器およびセンサーの複数のセットを含み得る。
[0098]いくつかの例では、照明器702は、構造化された光パターンを生成する。そのような例では、測距システム700は、構造化された光パターンのそれぞれの画像が形成される複数のセンサー704を含み得る。測距システム700は、構造化された光パターンが後方散乱する物体708までの距離を決定するために、構造化された光パターンの画像間の視差を使用し得る。構造化された光ベースの測距システムは、物体708がセンサー704に比較的近い(たとえば、0.2メートル~2メートル)とき、高レベルの精度(たとえば、サブミリメートル範囲の精度)を有し得る。この高レベルの精度は、モバイルデバイス(たとえば、モバイルフォン、タブレットコンピュータなど)のロック解除などの顔認識用途において、およびセキュリティ用途のために有用であり得る。
[0099]いくつかの例では、測距システム700は、飛行時間(ToF)ベースのシステムである。測距システム700がToFベースのシステムであるいくつかの例では、照明器702は、光のパルスを生成する。言い換えれば、照明器702は、放出された光706の振幅を変調し得る。そのような例では、センサー704は、照明器702によって生成された光706のパルスからの戻り光710を検出する。測距システム700は、次いで、光706が放出され検出されたときと空気中の既知の光速との間の遅延に基づいて光706が後方散乱する物体708までの距離を決定し得る。いくつかの例では、放出された光704の振幅を変調する代わりに(またはそれに加えて)、照明器702は、放出された光704の位相を変調し得る。そのような例では、センサー704は、物体708からの戻り光710の位相を検出し、光速を使用して、および照明器702が特定の位相で光706を生成したときとセンサー704が特定の位相で戻り光710を検出したときとの間の時間差に基づいて、物体708上のポイントまでの距離を決定し得る。
[0100]他の例では、ポイントクラウドは、照明器702を使用することなく生成され得る。たとえば、いくつかの例では、測距システム700のセンサー704は、2つまたはそれ以上の光学カメラを含み得る。そのような例では、測距システム700は、物体708を含む環境のステレオ画像をキャプチャするために光学カメラを使用し得る。測距システム700は、ステレオ画像中のロケーション間の視差を計算し得るポイントクラウド生成器716を含み得る。測距システム700は、次いで、ステレオ画像に示されたロケーションまでの距離を決定するために視差を使用し得る。これらの距離から、ポイントクラウド生成器716は、ポイントクラウドを生成し得る。
[0101]センサー704はまた、色および反射率情報など、物体708の他の属性を検出し得る。図7の例では、ポイントクラウド生成器716は、センサー704によって生成された信号714に基づいてポイントクラウドを生成し得る。測距システム700および/またはポイントクラウド生成器716は、データソース104(図1)の一部を形成し得る。したがって、測距システム700によって生成されたポイントクラウドは、本開示の技法のいずれかに従って符号化および/または復号され得る。
[0102]図8は、本開示の1つまたは複数の技法が使用され得る例示的な車両ベースのシナリオを示す概念図である。図8の例では、車両800が、測距システム802を含む。測距システム802は、図8に関して説明される様式で実装され得る。図8の例には示されていないが、車両800はまた、データソース104(図1)などのデータソースと、G-PCCエンコーダ200(図1)などのG-PCCエンコーダとを含み得る。図8の例では、測距システム802は、歩行者806または道路内の他の物体から反射するレーザービーム804を放出する。車両800のデータソースは、測距システム802によって生成された信号に基づいてポイントクラウドを生成し得る。車両800のG-PCCエンコーダは、ジオメトリビットストリーム(図2)および属性ビットストリーム(図2)などのビットストリーム808を生成するために、ポイントクラウドを符号化し得る。ビットストリーム808は、G-PCCエンコーダによって取得された符号化されていないポイントクラウドよりもはるかに少ないビットを含み得る。
[0103]車両800の出力インターフェース(たとえば、出力インターフェース108(図1))は、ビットストリーム808を1つまたは複数の他のデバイスに送信し得る。ビットストリーム808は、G-PCCエンコーダによって取得された符号化されていないポイントクラウドよりもはるかに少ないビットを含み得る。したがって、車両800は、符号化されていないポイントクラウドデータよりも迅速にビットストリーム808を他のデバイスに送信することが可能であり得る。さらに、ビットストリーム808は、より少ないデータ記憶容量を必要とし得る。
[0104]図8の例では、車両800は、ビットストリーム808を別の車両810に送信し得る。車両810は、G-PCCデコーダ300(図1)などのG-PCCデコーダを含み得る。車両810のG-PCCデコーダは、ポイントクラウドを再構成するためにビットストリーム808を復号し得る。車両810は、様々な目的で、再構成されたポイントクラウドを使用し得る。たとえば、車両810は、歩行者806が車両800の前方の道路におり、したがって、たとえば、歩行者806が道路にいることを車両810の運転者が了解する前でも、減速を開始することを、再構成されたポイントクラウドに基づいて決定し得る。したがって、いくつかの例では、車両810は、再構成されたポイントクラウドに基づいて、自律ナビゲーション動作を実施し得る。
[0105]追加または代替として、車両800は、ビットストリーム808をサーバシステム812に送信し得る。サーバシステム812は、様々な目的でビットストリーム808を使用し得る。たとえば、サーバシステム812は、ポイントクラウドの後続の再構成のためにビットストリーム808を記憶し得る。この例では、サーバシステム812は、自律運転システムを訓練するために他のデータ(たとえば、車両800によって生成された車両テレメトリデータ)とともにポイントクラウドを使用し得る。他の例では、サーバシステム812は、科学捜査的事故調査のための後続の再構成のためにビットストリーム808を記憶し得る。
[0106]図9は、本開示の1つまたは複数の技法が使用され得る例示的なエクステンデッドリアリティシステムを示す概念図である。エクステンデッドリアリティは、拡張現実と、複合現実(MR)と、仮想現実(VR)とを含む技術の範囲をカバーするために使用される用語である。図9の例では、ユーザ900が、第1のロケーション902に位置する。ユーザ900は、XRヘッドセット904を装着する。XRヘッドセット904の代替として、ユーザ900は、モバイルデバイス(たとえば、モバイルフォン、タブレットコンピュータなど)を使用し得る。XRヘッドセット904は、ロケーション902における物体906上のポイントの位置を検出する、測距システムなどの深度検出センサーを含む。XRヘッドセット904のデータソースは、ロケーション902における物体906のポイントクラウド表現を生成するために、深度検出センサーによって生成された信号を使用し得る。XRヘッドセット904は、ビットストリーム908を生成するためにポイントクラウドを符号化するように構成されたG-PCCエンコーダ(たとえば、図1のG-PCCエンコーダ200)を含み得る。
[0107]XRヘッドセット904は、第2のロケーション914においてユーザ912によって装着されたXRヘッドセット910に(たとえば、インターネットなどのネットワークを介して)ビットストリーム908を送信し得る。XRヘッドセット910は、ポイントクラウドを再構成するためにビットストリーム908を復号し得る。XRヘッドセット910は、ロケーション902における物体906を表すXR視覚化(たとえば、AR、MR、VR視覚化)を生成するためにポイントクラウドを使用し得る。したがって、いくつかの例では、XRヘッドセット910がVR視覚化を生成するときなど、ユーザ912は、ロケーション902の3D没入型体験を有し得る。いくつかの例では、XRヘッドセット910は、再構成されたポイントクラウドに基づいて仮想物体の位置を決定し得る。たとえば、XRヘッドセット910は、再構成されたポイントクラウドに基づいて、環境(たとえば、ロケーション902)が平坦な表面を含むと決定し、次いで、仮想物体(たとえば、漫画のキャラクタ)が平坦な表面上に配置されるべきであると決定し得る。XRヘッドセット910は、仮想物体が決定された位置にあるXR視覚化を生成し得る。たとえば、XRヘッドセット910は、平坦な表面に座っている漫画のキャラクタを示し得る。
[0108]図10は、本開示の1つまたは複数の技法が使用され得る例示的なモバイルデバイスシステムを示す概念図である。図10の例では、モバイルフォンまたはタブレットコンピュータなどのモバイルデバイス1000は、モバイルデバイス1000の環境における物体1002上のポイントの位置を検出する、LIDARシステムなどの測距システムを含む。モバイルデバイス1000のデータソースは、物体1002のポイントクラウド表現を生成するために、深度検出センサーによって生成された信号を使用し得る。モバイルデバイス1000は、ビットストリーム1004を生成するためにポイントクラウドを符号化するように構成されたG-PCCエンコーダ(たとえば、図1のG-PCCエンコーダ200)を含み得る。図10の例では、モバイルデバイス1000は、サーバシステムまたは他のモバイルデバイスなどのリモートデバイス1006にビットストリームを送信し得る。リモートデバイス1006は、ポイントクラウドを再構成するためにビットストリーム1004を復号し得る。リモートデバイス1006は、様々な目的でポイントクラウドを使用し得る。たとえば、リモートデバイス1006は、モバイルデバイス1000の環境のマップを生成するためにポイントクラウドを使用し得る。たとえば、リモートデバイス1006は、再構成されたポイントクラウドに基づいて建物の内部のマップを生成し得る。別の例では、リモートデバイス1006は、ポイントクラウドに基づいて像(たとえば、コンピュータグラフィックス)を生成し得る。たとえば、リモートデバイス1006は、ポイントクラウドのポイントを多角形の頂点として使用し、ポイントの色属性を多角形に陰影を付けるための基礎として使用し得る。いくつかの例では、リモートデバイス1006は、顔認識または他のセキュリティ用途のために再構成されたポイントクラウドを使用し得る。
[0109]以下の番号付けされた条項は、本開示の1つまたは複数の態様を示し得る。
[0110]条項1A. ポイントクラウドを処理する方法であって、方法は、レーザーインデックスについての有効範囲を決定することと、ポイントクラウドを表す光検出および測距(LIDAR)データのレーザーインデックス値を取得することと、再構成されたレーザーインデックス値を決定された有効範囲内にあるように制約することと、ビットストリーム中で、制約された再構成されたレーザーインデックスを符号化することとを備える。
[0111]条項1B. ポイントクラウドを処理する方法であって、方法が、レーザーインデックスについての有効範囲を決定することと、ビットストリームに基づいて、ポイントクラウドを表す光検出および測距(LIDAR)データのレーザーインデックス値を再構成することと、再構成されたレーザーインデックス値を決定された有効範囲内にあるようにクリッピングすることと、クリッピングされた再構成されたレーザーインデックスに基づいて、ポイントクラウドを復号することとを備える、方法。
[0112]条項2B. 有効範囲が最小値と最大値とを含み、ここにおいて、再構成されたレーザーインデックス値をクリッピングすることは、再構成されたレーザーインデックス値を最小値まで増加させること、ここで、再構成されたレーザーインデックス値が最小値よりも小さい、または再構成されたレーザーインデックス値を最大値まで低減すること、ここで、再構成されたレーザーインデックス値が最小値よりも大きい、を備える、条項1Bに記載の方法。
[0113]条項1C. ポイントクラウドを処理する方法であって、方法は、レーザーインデックスについての有効範囲を決定することと、ビットストリームに基づいて、ポイントクラウドを表す光検出および測距(LIDAR)データのレーザーインデックス値を再構成することと、再構成されたレーザーインデックス値が決定された有効範囲内にないと決定したことに応答して、1つまたは複数のモデルパラメータについてのデフォルト値を推論することと、1つまたは複数のモデルパラメータについてのデフォルト値に基づいて、ポイントクラウドを復号することとを備える、方法。
[0114]条項2C. 1つまたは複数のモデルパラメータが、
の一方または両方を備える、条項1Cに記載の方法。
[0115]条項3C.
についてのデフォルト値を推論することは、
の値が0であると推論することを備える、条項2Cに記載の方法。
[0116]条項4C.
についてのデフォルト値を推論することは、
の値が0であると推論することを備える、条項2Cまたは3Cに記載の方法。
[0117]条項1D. ポイントクラウドを処理する方法であって、方法が、レーザーインデックスについての有効範囲を決定することと、ビットストリームに基づいて、および角度推論直接コーディングモード(IDCM)コンテキスト導出におけるレーザーインデックス残差を使用して、ポイントクラウドを表す光検出および測距(LIDAR)データのレーザーインデックス値を再構成することと、再構成されたレーザーインデックス値を決定された有効範囲内にあるようにクリッピングすることと、クリッピングされた再構成されたレーザーインデックスに基づいて、ポイントクラウドを復号することと、を備える、方法。
[0118]条項1E. ポイントクラウドを符号化する方法であって、方法が、1つまたは複数のプロセッサによって、ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、1つまたは複数のプロセッサによって、ポイントクラウドの現在のノードについてのレーザーインデックスを符号化することとを備え、ここにおいて、レーザーインデックスを符号化することは、現在のノードの予測されたレーザーインデックス値を取得することと、現在のノードについての残差レーザーインデックス値を決定することと、ここにおいて、残差レーザーインデックス値を決定することが、レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約することを備える、ビットストリーム中で、残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を符号化することとを備える、方法。
[0119]条項2E. レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約することが、残差レーザーインデックス値と予測されたレーザーインデックス値との和を、0以上かつレーザーの決定された量-1以下になるように制約することを備える、条項1Eに記載の方法。
[0120]条項3E. 残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約することが、残差レーザーインデックス値と予測されたレーザーインデックス値との和を、0以上かつレーザーの決定された量-1以下になるようにクリッピングすることを備える、条項2Eに記載の方法。
[0121]条項4E. ビットストリーム中で、レーザーの決定された量を表すシンタックス要素を符号化することをさらに備える、条項1Eに記載の方法。
[0122]条項5E. レーザーインデックスを符号化することが、予測ジオメトリコーディングの角度コーディングモードを使用して現在のノードを符号化することを決定したことに応答して、レーザーインデックスを符号化することを備える、条項1Eに記載の方法。
[0123]条項6E. 1つまたは複数のプロセッサが、車両またはヘッドマウントデバイス(HMD)中に含まれる、条項1Eに記載の方法。
[0124]条項7E. ポイントクラウドを復号する方法であって、方法が、1つまたは複数のプロセッサによって、ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、1つまたは複数のプロセッサによって、ポイントクラウドの現在のノードについてのレーザーインデックスを復号することとを備え、ここにおいて、レーザーインデックスを復号することは、現在のノードの予測されたレーザーインデックス値を取得することと、ビットストリームから、現在のノードについての残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を復号することと、残差レーザーインデックス値と予測されたレーザーインデックス値との和として、現在のノードのレーザーインデックスを再構成することと、ここにおいて、現在のノードのレーザーインデックスが、レーザーの決定された量に基づいて制約される、を備える、方法。
[0125]条項8E. レーザーの決定された量に基づいて制約されるために、現在のノードのレーザーインデックスが、0以上かつレーザーの決定された量-1以下になるように制約される、条項7Eに記載の方法。
[0126]条項9E. レーザーの決定された量に基づいて制約されるために、現在のノードのレーザーインデックスが、0以上かつレーザーの決定された量-1以下になるようにクリッピングされる、条項8Eに記載の方法。
[0127]条項10E. ビットストリームから、レーザーの決定された量を表すシンタックス要素を復号することをさらに備える、条項7Eに記載の方法。
[0128]条項11E. レーザーインデックスを復号することは、現在のノードが、予測ジオメトリコーディングの角度コーディングモードを使用して符号化されると決定したことに応答して、レーザーインデックスを復号することを備える、条項7Eに記載の方法。
[0129]条項12E. ポイントクラウドを符号化するためのデバイスであって、デバイスが、ポイントクラウドの少なくとも一部分を記憶するように構成されたメモリと、回路中に実装された1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサが、ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、ポイントクラウドの現在のノードについてのレーザーインデックスを符号化することとを行うように構成され、ここにおいて、レーザーインデックスを符号化するために、1つまたは複数のプロセッサは、現在のノードの予測されたレーザーインデックス値を取得することと、現在のノードについての残差レーザーインデックス値を決定することと、ここにおいて、残差レーザーインデックス値を決定するために、1つまたは複数のプロセッサが、レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約するように構成される、ビットストリーム中で、残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を符号化することとを行うように構成された、デバイス。
[0130]条項13E. レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約するために、1つまたは複数のプロセッサが、レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を、0以上かつレーザーの決定された量-1以下になるように制約することを行うように構成された、条項12Eに記載のデバイス。
[0131]条項14E. 残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約するために、1つまたは複数のプロセッサが、レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を、0以上かつレーザーの決定された量-1以下になるようにクリッピングすることを行うように構成された、条項13Eに記載のデバイス。
[0132]条項15E. 1つまたは複数のプロセッサが、ビットストリーム中で、レーザーの決定された量を表すシンタックス要素を符号化することを行うようにさらに構成された、条項12Eに記載のデバイス。
[0133]条項16E. レーザーインデックスを符号化するために、1つまたは複数のプロセッサが、予測ジオメトリコーディングの角度コーディングモードを使用して現在のノードを符号化することを決定したことに応答して、レーザーインデックスを符号化するように構成された、条項12Eに記載のデバイス。
[0134]条項17E. デバイスが、車両またはヘッドマウントデバイス(HMD)である、条項12Eに記載のデバイス。
[0135]条項18E. ポイントクラウドを復号するためのデバイスであって、デバイスが、ポイントクラウドの少なくとも一部分を記憶するように構成されたメモリと、回路中に実装された1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサが、ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、ポイントクラウドの現在のノードについてのレーザーインデックスを復号することとを行うように構成され、ここにおいて、レーザーインデックスを復号するために、1つまたは複数のプロセッサは、現在のノードの予測されたレーザーインデックス値を取得することと、ビットストリームから、現在のノードについての残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を復号することと、残差レーザーインデックス値と予測されたレーザーインデックス値との和として、現在のノードのレーザーインデックスを再構成することと、ここにおいて、現在のノードのレーザーインデックスが、レーザーの決定された量に基づいて制約される、を行うように構成された、デバイス。
[0136]条項19E. レーザーの決定された量に基づいて制約されるために、現在のノードのレーザーインデックスが、0以上かつレーザーの決定された量-1以下になるように制約される、条項18Eに記載のデバイス。
[0137]条項20E. レーザーの決定された量に基づいて制約されるために、現在のノードのレーザーインデックスが、0以上かつレーザーの決定された量-1以下になるようにクリッピングされる、条項19Eに記載のデバイス。
[0138]条項21E. 1つまたは複数のプロセッサが、ビットストリームから、レーザーの決定された量を表すシンタックス要素を復号することを行うようにさらに構成された、条項18Eに記載のデバイス。
[0139]条項22E. レーザーインデックスを復号するために、1つまたは複数のプロセッサは、現在のノードが予測ジオメトリコーディングの角度コーディングモードを使用して符号化されると決定したことに応答して、レーザーインデックスを復号するように構成された、条項18Eに記載のデバイス。
[0140]条項1F. ポイントクラウドを符号化する方法であって、方法が、1つまたは複数のプロセッサによって、ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、1つまたは複数のプロセッサによって、ポイントクラウドの現在のノードについてのレーザーインデックスを符号化することとを備え、ここにおいて、レーザーインデックスを符号化することは、現在のノードの予測されたレーザーインデックス値を取得することと、現在のノードについての残差レーザーインデックス値を決定することと、ここにおいて、残差レーザーインデックス値を決定することが、レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約することを備える、ビットストリーム中で、残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を符号化することとを備える、方法。
[0141]条項2F. レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約することが、残差レーザーインデックス値と予測されたレーザーインデックス値との和を、0以上かつレーザーの決定された量-1以下になるように制約することを備える、条項1Fに記載の方法。
[0142]条項3F. 残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約することが、残差レーザーインデックス値と予測されたレーザーインデックス値との和を、0以上かつレーザーの決定された量-1以下になるようにクリッピングすることを備える、条項2Fに記載の方法。
[0143]条項4F. ビットストリーム中で、レーザーの決定された量を表すシンタックス要素を符号化することをさらに備える、条項1Fから3Fのいずれかに記載の方法。
[0144]条項5F. レーザーインデックスを符号化することが、予測ジオメトリコーディングの角度コーディングモードを使用して現在のノードを符号化することを決定したことに応答して、レーザーインデックスを符号化することを備える、条項1Fから4Fのいずれかに記載の方法。
[0145]条項6F. 1つまたは複数のプロセッサが、車両またはヘッドマウントデバイス(HMD)中に含まれる、条項1Fから5Fのいずれかに記載の方法。
[0146]条項7F. ポイントクラウドを復号する方法であって、方法が、1つまたは複数のプロセッサによって、ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、1つまたは複数のプロセッサによって、ポイントクラウドの現在のノードについてのレーザーインデックスを復号することとを備え、ここにおいて、レーザーインデックスを復号することは、現在のノードの予測されたレーザーインデックス値を取得することと、ビットストリームから、現在のノードについての残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を復号することと、残差レーザーインデックス値と予測されたレーザーインデックス値との和として、現在のノードのレーザーインデックスを再構成することと、ここにおいて、現在のノードのレーザーインデックスが、レーザーの決定された量に基づいて制約される、を備える、方法。
[0147]条項8F. レーザーの決定された量に基づいて制約されるために、現在のノードのレーザーインデックスが、0以上かつレーザーの決定された量-1以下になるように制約される、条項7Fに記載の方法。
[0148]条項9F. レーザーの決定された量に基づいて制約されるために、現在のノードのレーザーインデックスが、0以上かつレーザーの決定された量-1以下になるようにクリッピングされる、条項8Fに記載の方法。
[0149]条項10F. ビットストリームから、レーザーの決定された量を表すシンタックス要素を復号することをさらに備える、条項7Fから9Fのいずれかに記載の方法。
[0150]条項11F. レーザーインデックスを復号することは、現在のノードが、予測ジオメトリコーディングの角度コーディングモードを使用して符号化されると決定したことに応答して、レーザーインデックスを復号することを備える、条項7Fから10Fのいずれかに記載の方法。
[0151]条項12F. ポイントクラウドを符号化するためのデバイスであって、デバイスが、ポイントクラウドの少なくとも一部分を記憶するように構成されたメモリと、回路中に実装された1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサが、ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、ポイントクラウドの現在のノードについてのレーザーインデックスを符号化することとを行うように構成され、ここにおいて、レーザーインデックスを符号化するために、1つまたは複数のプロセッサは、現在のノードの予測されたレーザーインデックス値を取得することと、現在のノードについての残差レーザーインデックス値を決定することと、ここにおいて、残差レーザーインデックス値を決定するために、1つまたは複数のプロセッサが、レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約するように構成される、ビットストリーム中で、残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を符号化することとを行うように構成された、デバイス。
[0152]条項13F. レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約するために、1つまたは複数のプロセッサが、レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を、0以上かつレーザーの決定された量-1以下になるように制約することを行うように構成された、条項12Fに記載のデバイス。
[0153]条項14F. 残差レーザーインデックス値と予測されたレーザーインデックス値との和を制約するために、1つまたは複数のプロセッサが、レーザーの決定された量に基づいて、残差レーザーインデックス値と予測されたレーザーインデックス値との和を、0以上かつレーザーの決定された量-1以下になるようにクリッピングすることを行うように構成された、条項13Fに記載のデバイス。
[0154]条項15F. 1つまたは複数のプロセッサが、ビットストリーム中で、レーザーの決定された量を表すシンタックス要素を符号化することを行うようにさらに構成された、条項12Fから14Fのいずれかに記載のデバイス。
[0155]条項16F. レーザーインデックスを符号化するために、1つまたは複数のプロセッサが、予測ジオメトリコーディングの角度コーディングモードを使用して現在のノードを符号化することを決定したことに応答して、レーザーインデックスを符号化するように構成された、条項12Fから15Fのいずれかに記載のデバイス。
[0156]条項17F. デバイスが、車両またはヘッドマウントデバイス(HMD)である、条項12Fから16Fのいずれかに記載のデバイス。
[0157]条項18F. ポイントクラウドを復号するためのデバイスであって、デバイスが、ポイントクラウドの少なくとも一部分を記憶するように構成されたメモリと、回路中に実装された1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサが、ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、ポイントクラウドの現在のノードについてのレーザーインデックスを復号することとを行うように構成され、ここにおいて、レーザーインデックスを復号するために、1つまたは複数のプロセッサは、現在のノードの予測されたレーザーインデックス値を取得することと、ビットストリームから、現在のノードについての残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を復号することと、残差レーザーインデックス値と予測されたレーザーインデックス値との和として、現在のノードのレーザーインデックスを再構成することと、ここにおいて、現在のノードのレーザーインデックスが、レーザーの決定された量に基づいて制約される、を行うように構成された、デバイス。
[0158]条項19F. レーザーの決定された量に基づいて制約されるために、現在のノードのレーザーインデックスが、0以上かつレーザーの決定された量-1以下になるように制約される、条項18Fに記載のデバイス。
[0159]条項20F. レーザーの決定された量に基づいて制約されるために、現在のノードのレーザーインデックスが、0以上かつレーザーの決定された量-1以下になるようにクリッピングされる、条項19Fに記載のデバイス。
[0160]条項21F. 1つまたは複数のプロセッサが、ビットストリームから、レーザーの決定された量を表すシンタックス要素を復号することを行うようにさらに構成された、条項18Fから20Fのいずれかに記載のデバイス。
[0161]条項22F. レーザーインデックスを復号するために、1つまたは複数のプロセッサは、現在のノードが予測ジオメトリコーディングの角度コーディングモードを使用して符号化されると決定したことに応答して、レーザーインデックスを復号するように構成された、条項18Fから21Fのいずれかに記載のデバイス。
[0162]条項1Z. ポイントクラウドを処理するためのデバイスであって、デバイスが、条項1Aから22Fのいずれかに記載の方法を実施するための1つまたは複数の手段を備える、デバイス。
[0163]条項2Z. 1つまたは複数の手段が、回路中に実装された1つまたは複数のプロセッサを備える、条項1Zに記載のデバイス。
[0164]条項3Z. ポイントクラウドを表すデータを記憶するためのメモリをさらに備える、条項1Zまたは2Zのいずれかに記載のデバイス。
[0165]条項4Z. デバイスがビデオデコーダを備える、条項1Zから3Zのいずれかに記載のデバイス。
[0166]条項5Z. デバイスがエンコーダを備える、条項1Zから4Zのいずれかに記載のデバイス。
[0167]条項6Z. ポイントクラウドを生成するためのデバイスをさらに備える、条項1Zから5Zのいずれかに記載のデバイス。
[0168]条項7Z. ポイントクラウドに基づいて像を提示するためのディスプレイをさらに備える、条項1Zから6Zのいずれかに記載のデバイス。
[0169]条項8Z. 命令を記憶したコンピュータ可読記憶媒体であって、命令が、実行されたとき、1つまたは複数のプロセッサに、条項1Aから22Fのいずれかに記載の方法を実施させる、コンピュータ可読記憶媒体。
[0170]本開示の様々な態様における例は、個別にまたは任意の組合せで使用され得る。
[0171]例に応じて、本明細書で説明された技法のうちのいずれかのいくつかの行為またはイベントは、異なるシーケンスで実施され得、追加、マージ、または完全に除外され得る(たとえば、すべての説明された行為またはイベントが、技法の実践のために必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実施され得る。
[0172]1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベース処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0173]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu-rayディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
[0174]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他の等価な集積またはディスクリート論理回路など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」および「処理回路」という用語は、上記の構造、または本明細書で説明された技法の実装に好適な任意の他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用ハードウェアおよび/またはソフトウェアモジュール内に提供されるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素で十分に実装され得る。
[0175]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって提供され得る。
[0176]様々な例が説明された。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ポイントクラウドを符号化する方法であって、
1つまたは複数のプロセッサによって、前記ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、
前記1つまたは複数のプロセッサによって、前記ポイントクラウドの現在のノードについてのレーザーインデックスを符号化することと、
を備え、前記レーザーインデックスを符号化することは、
前記現在のノードの予測されたレーザーインデックス値を取得することと、
前記現在のノードについての残差レーザーインデックス値を決定することと、ここにおいて、前記残差レーザーインデックス値を決定することは、レーザーの前記決定された量に基づいて、前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との和を制約することを備える、
ビットストリーム中で、前記残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を符号化することと、
を備える、方法。
[C2]
レーザーの前記決定された量に基づいて、前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との前記和を制約することは、
前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との前記和を、0以上かつレーザーの前記決定された量-1以下になるように制約すること、
を備える、C1に記載の方法。
[C3]
前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との前記和を制約することは、前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との前記和を、0以上かつレーザーの前記決定された量-1以下になるようにクリッピングすることを備える、C2に記載の方法。
[C4]
前記ビットストリーム中で、レーザーの前記決定された量を表すシンタックス要素を符号化すること、
をさらに備える、C1に記載の方法。
[C5]
前記レーザーインデックスを符号化することは、予測ジオメトリコーディングの角度コーディングモードを使用して前記現在のノードを符号化すると決定したことに応答して、前記レーザーインデックスを符号化することを備える、C1に記載の方法。
[C6]
前記1つまたは複数のプロセッサは、車両またはヘッドマウントデバイス(HMD)中に含まれる、C1に記載の方法。
[C7]
ポイントクラウドを復号する方法であって、
1つまたは複数のプロセッサによって、前記ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、
前記1つまたは複数のプロセッサによって、前記ポイントクラウドの現在のノードについてのレーザーインデックスを復号することと、
を備え、前記レーザーインデックスを復号することは、
前記現在のノードの予測されたレーザーインデックス値を取得することと、
ビットストリームから、前記現在のノードについての残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を復号することと、
前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との和として、前記現在のノードの前記レーザーインデックスを再構成することと、ここにおいて、前記現在のノードの前記レーザーインデックスは、レーザーの前記決定された量に基づいて制約される、
を備える、方法。
[C8]
レーザーの前記決定された量に基づいて制約されるために、前記現在のノードの前記レーザーインデックスは、0以上かつレーザーの前記決定された量-1以下になるように制約される、C7に記載の方法。
[C9]
レーザーの前記決定された量に基づいて制約されるために、前記現在のノードの前記レーザーインデックスが、0以上かつレーザーの前記決定された量-1以下になるようにクリッピングされる、C8に記載の方法。
[C10]
前記ビットストリームから、レーザーの前記決定された量を表すシンタックス要素を復号すること、
をさらに備える、C7に記載の方法。
[C11]
前記レーザーインデックスを復号することは、前記現在のノードが、予測ジオメトリコーディングの角度コーディングモードを使用して符号化されると決定したことに応答して、前記レーザーインデックスを復号することを備える、C7に記載の方法。
[C12]
ポイントクラウドを符号化するためのデバイスであって、
前記ポイントクラウドの少なくとも一部分を記憶するように構成されたメモリと、
回路中に実装された1つまたは複数のプロセッサと、
を備え、前記1つまたは複数のプロセッサは、
前記ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、
前記ポイントクラウドの現在のノードについてのレーザーインデックスを符号化することと、
を行うように構成され、前記レーザーインデックスを符号化するために、前記1つまたは複数のプロセッサは、
前記現在のノードの予測されたレーザーインデックス値を取得することと、
前記現在のノードについての残差レーザーインデックス値を決定することと、ここにおいて、前記残差レーザーインデックス値を決定するために、前記1つまたは複数のプロセッサは、レーザーの前記決定された量に基づいて、前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との和を制約するように構成される、
ビットストリーム中で、前記残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を符号化することと、
を行うように構成された、デバイス。
[C13]
レーザーの前記決定された量に基づいて、前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との前記和を制約するために、前記1つまたは複数のプロセッサは、
レーザーの前記決定された量に基づいて、前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との前記和を、0以上かつレーザーの前記決定された量-1以下になるように制約すること、
を行うように構成された、C12に記載のデバイス。
[C14]
前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との前記和を制約するために、前記1つまたは複数のプロセッサは、
レーザーの前記決定された量に基づいて、前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との前記和を、0以上かつレーザーの前記決定された量-1以下になるようにクリッピングすること、
を行うように構成された、C13に記載のデバイス。
[C15]
前記1つまたは複数のプロセッサは、
前記ビットストリーム中で、レーザーの前記決定された量を表すシンタックス要素を符号化すること、
を行うようにさらに構成された、C12に記載のデバイス。
[C16]
前記レーザーインデックスを符号化するために、前記1つまたは複数のプロセッサは、予測ジオメトリコーディングの角度コーディングモードを使用して前記現在のノードを符号化すると決定したことに応答して、前記レーザーインデックスを符号化するように構成された、C12に記載のデバイス。
[C17]
前記デバイスは、車両またはヘッドマウントデバイス(HMD)である、C12に記載のデバイス。
[C18]
ポイントクラウドを復号するためのデバイスであって、
前記ポイントクラウドの少なくとも一部分を記憶するように構成されたメモリと、
回路中に実装された1つまたは複数のプロセッサと、
を備え、前記1つまたは複数のプロセッサは、
前記ポイントクラウドを表す光検出および測距(LIDAR)データをキャプチャするために使用されるレーザーの量を決定することと、
前記ポイントクラウドの現在のノードについてのレーザーインデックスを復号することと、
を行うように構成され、前記レーザーインデックスを復号するために、前記1つまたは複数のプロセッサは、
前記現在のノードの予測されたレーザーインデックス値を取得することと、
ビットストリームから、前記現在のノードについての残差レーザーインデックス値を表す1つまたは複数のシンタックス要素を復号することと、
前記残差レーザーインデックス値と前記予測されたレーザーインデックス値との和として、前記現在のノードの前記レーザーインデックスを再構成することと、ここにおいて、前記現在のノードの前記レーザーインデックスは、レーザーの前記決定された量に基づいて制約される、
を行うように構成された、デバイス。
[C19]
レーザーの前記決定された量に基づいて制約されるために、前記現在のノードの前記レーザーインデックスは、0以上かつレーザーの前記決定された量-1以下になるように制約される、C18に記載のデバイス。
[C20]
レーザーの前記決定された量に基づいて制約されるために、前記現在のノードの前記レーザーインデックスは、0以上かつレーザーの前記決定された量-1以下になるようにクリッピングされる、C19に記載のデバイス。
[C21]
前記1つまたは複数のプロセッサは、
前記ビットストリームから、レーザーの前記決定された量を表すシンタックス要素を復号すること、
を行うようにさらに構成された、C18に記載のデバイス。
[C22]
前記レーザーインデックスを復号するために、前記1つまたは複数のプロセッサは、前記現在のノードが、予測ジオメトリコーディングの角度コーディングモードを使用して符号化されると決定したことに応答して、前記レーザーインデックスを復号するように構成された、C18に記載のデバイス。