[0001]本出願は、その各々の内容全体が参照により本明細書に組み込まれる、2021年10月1日に出願された米国特許出願第17/492,095号と、2020年10月5日に出願された米国仮特許出願第63/087,805号との優先権を主張する。2021年10月1日に出願された米国特許出願第17/492,095号は、2020年10月5日に出願された米国仮特許出願第63/087,805号の利益を主張する。
[0024]概して、本開示は、ジオメトリベースのポイントクラウドの量子化およびスケーリングを改善する方法およびデバイスについて説明する。特に、本開示は、前の技法よりも低いビット数においてシグナリングされるシンタックス要素を使用して最終量子化パラメータ(QP)値を決定するための技法について説明する。たとえば、本開示は、最終QP値が、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定される技法について説明する。乗数を使用することによって、より少ないビット数をもつシンタックス要素が、大きいノードQPオフセット項を導出するために使用され得、したがって、最終QP決定のためのシグナリングオーバーヘッドを低減する。
[0025]図1は、本開示の技法を実施し得る例示的な符号化および復号システム100を示すブロック図である。本開示の技法は、概して、ポイントクラウドデータをコーディング(符号化および/または復号)すること、すなわち、ポイントクラウド圧縮をサポートすることを対象とする。概して、ポイントクラウドデータは、ポイントクラウドを処理するための任意のデータを含む。コーディングは、ポイントクラウドデータを圧縮および/または解凍する際に効果的であり得る。
[0026]図1に示されているように、システム100は、ソースデバイス102と宛先デバイス116とを含む。ソースデバイス102は、宛先デバイス116によって復号されるべき符号化されたポイントクラウドデータを提供する。詳細には、図1の例では、ソースデバイス102は、コンピュータ可読媒体110を介して宛先デバイス116にポイントクラウドデータを提供する。ソースデバイス102および宛先デバイス116は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、スマートフォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、地上車両または海洋車両、宇宙船、航空機、ロボット、LIDARデバイス、衛星、監視またはセキュリティ機器などを含む、広範囲のデバイスのいずれかを備え得る。いくつかの場合には、ソースデバイス102および宛先デバイス116は、ワイヤレス通信のために装備され得る。
[0027]図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は、同じデバイス中にデータコンシューマーを含むのではなく、外部データコンシューマーとインターフェースし得る。
[0028]図1に示されているシステム100は一例にすぎない。概して、他のデジタル符号化および/または復号デバイスが、量子化パラメータのスケーリングに関係する本開示の技法を実施し得る。ソースデバイス102および宛先デバイス116は、ソースデバイス102が宛先デバイス116への送信のためのコーディングされたデータを生成するようなデバイスの例にすぎない。本開示は、データのコーディング(符号化および/または復号)を実施するデバイスとして「コーディング」デバイスに言及する。したがって、G-PCCエンコーダ200およびG-PCCデコーダ300は、コーディングデバイス、特に、それぞれエンコーダおよびデコーダの例を表す。同様に、「コーディング」という用語は、符号化または復号のいずれかを指すことがある。いくつかの例では、ソースデバイス102および宛先デバイス116は、ソースデバイス102および宛先デバイス116の各々が符号化構成要素および復号構成要素を含むように、実質的に対称的に動作し得る。したがって、システム100は、たとえば、ストリーミング、再生、ブロードキャスティング、電話通信、ナビゲーション、および他の用途のために、ソースデバイス102と宛先デバイス116との間の一方向または双方向送信をサポートし得る。
[0029]概して、データソース104は、データ(すなわち、生の符号化されていないポイントクラウドデータ)のソースを表し、データの連続した一連の「フレーム」をG-PCCエンコーダ200に提供し得、G-PCCエンコーダ200は、フレームについてのデータを符号化する。ソースデバイス102のデータソース104は、様々なカメラまたはセンサーのいずれか、たとえば、3Dスキャナまたは光検出および測距(LIDAR)デバイス、1つまたは複数のビデオカメラ、以前にキャプチャされたデータを含んでいるアーカイブ、ならびに/あるいはデータコンテンツプロバイダからデータを受信するためのデータフィードインターフェースなど、ポイントクラウドキャプチャデバイスを含み得る。このようにして、データソース104は、ポイントクラウドを生成し得る。代替または追加として、ポイントクラウドデータは、スキャナ、カメラ、センサーまたは他のデータからコンピュータ生成され得る。たとえば、データソース104は、ソースデータとしてコンピュータグラフィックスベースのデータを生成し得るか、または、ライブデータ、アーカイブされたデータ、およびコンピュータ生成されたデータの組合せを作り出し得る。各場合において、G-PCCエンコーダ200は、キャプチャされたデータ、プリキャプチャされたデータ、またはコンピュータ生成されたデータを符号化する。G-PCCエンコーダ200は、フレームを、(「表示順序」と呼ばれることがある)受信順序から、コーディングするためのコーディング順序に並べ替え得る。G-PCCエンコーダ200は、符号化されたデータを含む1つまたは複数のビットストリームを生成し得る。ソースデバイス102は、次いで、たとえば、宛先デバイス116の入力インターフェース122による受信および/または取出しのために、符号化されたデータを出力インターフェース108を介してコンピュータ可読媒体110上に出力し得る。
[0030]ソースデバイス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は、ポイントクラウドを表すデータを記憶し得る。言い換えれば、メモリ106およびメモリ120は、ポイントクラウドデータを記憶するように構成され得る。
[0031]コンピュータ可読媒体110は、ソースデバイス102から宛先デバイス116に、符号化されたデータを移送することが可能な任意のタイプの媒体またはデバイスを表し得る。一例では、コンピュータ可読媒体110は、ソースデバイス102が、たとえば、無線周波数ネットワークまたはコンピュータベースのネットワークを介して、符号化されたデータ(たとえば、符号化されたポイントクラウド)を宛先デバイス116にリアルタイムで直接送信することを可能にするための通信媒体を表す。出力インターフェース108は、符号化されたデータを含む送信信号を変調し得、入力インターフェース122は、ワイヤレス通信プロトコルなどの通信規格に従って、受信された送信信号を復調し得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス102から宛先デバイス116への通信を容易にするために有用であり得る任意の他の機器を含み得る。
[0032]いくつかの例では、ソースデバイス102は、符号化されたデータを出力インターフェース108から記憶デバイス112に出力し得る。同様に、宛先デバイス116は、入力インターフェース122を介して記憶デバイス112からの符号化されたデータにアクセスし得る。記憶デバイス112は、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化されたデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。
[0033]いくつかの例では、ソースデバイス102は、ソースデバイス102によって生成された符号化されたデータを記憶し得るファイルサーバ114または別の中間記憶デバイスに、符号化されたデータを出力し得る。宛先デバイス116は、ストリーミングまたはダウンロードを介してファイルサーバ114からの記憶されたデータにアクセスし得る。ファイルサーバ114は、符号化されたデータを記憶し、その符号化されたデータを宛先デバイス116に送信することが可能な任意のタイプのサーバデバイスであり得る。ファイルサーバ114は、(たとえば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、コンテンツ配信ネットワークデバイス、またはネットワーク接続ストレージ(NAS)デバイスを表し得る。宛先デバイス116は、インターネット接続を含む任意の標準的なデータ接続を通してファイルサーバ114からの符号化されたデータにアクセスし得る。これは、ファイルサーバ114に記憶された符号化されたデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi-Fi(登録商標)接続)、ワイヤード接続(たとえば、デジタル加入者回線(DSL)、ケーブルモデムなど)、またはその両方の組合せを含み得る。ファイルサーバ114と入力インターフェース122とは、ストリーミング送信プロトコル、ダウンロード送信プロトコル、またはそれらの組合せに従って動作するように構成され得る。
[0034]出力インターフェース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デバイスを含み得る。
[0035]本開示の技法は、自律車両間の通信、スキャナ、カメラ、センサー、およびローカルサーバまたはリモートサーバなどの処理デバイスの間の通信、地理的マッピング、あるいは他の用途など、様々な用途のいずれかをサポートする符号化および復号に適用され得る。
[0036]いくつかの例では、ソースデバイス102および/または宛先デバイス116は、モバイルフォン、拡張現実(AR)デバイス、または複合現実(MR)デバイスなどのモバイルデバイスである。そのような例では、ソースデバイス102は、ソースデバイス102のローカル環境をマッピングするためのプロセスの一部としてポイントクラウドを生成し符号化し得る。ARおよびMRの例に関して、宛先デバイス116は、ソースデバイス102のローカル環境に基づいて仮想環境を生成するためにポイントクラウドを使用し得る。いくつかの例では、ソースデバイス102および/または宛先デバイス116は、地上車両または海洋車両、宇宙船、あるいは航空機である。そのような例では、ソースデバイス102は、たとえば、自律ナビゲーション、事故科学捜査、および他の目的のために、ソースデバイスの環境をマッピングするためのプロセスの一部としてポイントクラウドを生成し符号化し得る。
[0037]宛先デバイス116の入力インターフェース122は、コンピュータ可読媒体110(たとえば、通信媒体、記憶デバイス112、ファイルサーバ114など)から符号化されたビットストリームを受信する。符号化されたビットストリームは、コーディングされたユニット(たとえば、スライス、ピクチャ、ピクチャグループ、シーケンスなど)の特性および/または処理を記述する値を有するシンタックス要素など、G-PCCデコーダ300によっても使用される、G-PCCエンコーダ200によって定義されるシグナリング情報を含み得る。データコンシューマー118は、復号されたデータを使用する。たとえば、データコンシューマー118は、物理的物体のロケーションを決定するために、復号されたデータを使用し得る。いくつかの例では、データコンシューマー118は、ポイントクラウドに基づいて像を提示するためのディスプレイを備え得る。たとえば、データコンシューマー118は、ポイントクラウドのポイントを多角形の頂点として使用し得、多角形に陰影を付けるためにポイントクラウドのポイントの色属性を使用し得る。この例では、データコンシューマー118は、次いで、影付きの多角形に基づいてコンピュータ生成画像を提示するために多角形をラスタライズし得る。
[0038]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つまたは複数の集積回路、マイクロプロセッサ、および/または他のタイプのデバイスを備え得る。
[0039]G-PCCエンコーダ200およびG-PCCデコーダ300は、ビデオポイントクラウド圧縮(V-PCC)規格またはジオメトリポイントクラウド圧縮(G-PCC)規格などのコーディング規格に従って動作し得る。本開示は、概して、データを符号化または復号するプロセスを含むためにピクチャのコーディング(たとえば、符号化および復号)に言及することがある。符号化されたビットストリームは、概して、コーディング決定(たとえば、コーディングモード)を表すシンタックス要素についての一連の値を含む。
[0040]本開示は、概して、シンタックス要素などのある情報を「シグナリング」することに言及することがある。「シグナリング」という用語は、概して、符号化されたデータを復号するために使用されるシンタックス要素および/または他のデータについての値の通信を指すことがある。すなわち、G-PCCエンコーダ200は、ビットストリームにおいてシンタックス要素についての値をシグナリングし得る。概して、シグナリングは、ビットストリームにおいて値を生成することを指す。上述のように、ソースデバイス102は、宛先デバイス116による後の取出しのためにシンタックス要素を記憶デバイス112に記憶するときに起こり得る、ビットストリームを、実質的にリアルタイムで、またはリアルタイムではなく、宛先デバイス116に移送し得る。
[0041]ISO/IEC MPEG(JTC1/SC29/WG11)は、現在の手法の圧縮能力を大幅に上回る圧縮能力をもつポイントクラウドコーディング技術の規格化の潜在的な必要性を研究しており、その規格を作成することをターゲットにする。そのグループは、この分野の専門家によって提案された圧縮技術設計を評価するために、3次元グラフィックスチーム(3DG)として知られる協力的取り組みにおいて、この探究活動に関して協働している。
[0042]ポイントクラウド圧縮アクティビティは、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 w19088、ブリュッセル、ベルギー、2020年1月(以下では「w19088」)において入手可能であり、コーデックの説明は、G-PCC Codec Description v6、ISO/IEC JTC1/SC29/WG11 w19091、ブリュッセル、ベルギー、2020年1月(以下では「w19091」)において入手可能である。
[0043]ポイントクラウドは、3D空間内のポイントのセットを含んでおり、ポイントに関連付けられた属性を有し得る。属性は、R、G、B、またはY、Cb、Crなどの色情報、あるいは反射率情報、あるいは他の属性であり得る。ポイントクラウドは、LIDARセンサーおよび3Dスキャナなどの様々なカメラまたはセンサーによってキャプチャされてよく、コンピュータ生成されてもよい。ポイントクラウドデータは、限定はしないが、建築(モデリング)、グラフィックス(視覚化およびアニメーションのための3Dモデル)、自動車産業(ナビゲーションを助けるために使用されるLIDARセンサー)、モバイルフォン、タブレットコンピュータ、および他のシナリオを含む様々な用途において使用される。
[0044]ポイントクラウドデータによって占有される3D空間は、仮想バウンディングボックス(virtual bounding box)によって囲まれ得る。バウンディングボックス中のポイントの位置は、ある精度によって表され得、したがって、1つまたは複数のポイントの位置は、その精度に基づいて量子化され得る。最小レベルでは、バウンディングボックスは、単位立方体によって表される空間の最小単位であるボクセル(voxels)に分割される。バウンディングボックス中のボクセルは、0個、1つ、または2つ以上のポイントに関連付けられ得る。バウンディングボックスは、タイルと呼ばれることがある複数の立方体/直方体領域に分割され得る。各タイルは、1つまたは複数のスライスにコーディングされ得る。バウンディングボックスの、スライスおよびタイルへの区分は、各区分中のポイントの数に基づき得るか、または他の考慮事項(たとえば、特定の領域がタイルとしてコーディングされ得る)に基づき得る。スライス領域は、ビデオコーデックにおけるものと同様の分割決定を使用してさらに区分され得る。
[0045]図2は、G-PCCエンコーダ200の概要を提供する。図3は、G-PCCデコーダ300の概要を提供する。図示されたモジュールは論理的であり、G-PCCコーデック、すなわち、ISO/IEC MPEG(JTC1/SC29/WG11)によって研究されたTMC13テストモデルソフトウェアの参照実装において実装されたコードに必ずしも1対1に対応するとは限らない。
[0046]G-PCCエンコーダ200とG-PCCデコーダ300の両方において、ポイントクラウド位置が最初にコーディングされる。属性コーディングは、復号されたジオメトリに依存する。図2および図3において、グレーの影付きモジュールは、カテゴリー1のデータに典型的に使用されるオプションである。斜線付きのモジュールは、カテゴリー3のデータに典型的に使用されるオプションである。他のすべてのモジュールは、カテゴリー1とカテゴリー3との間で共通である。
[0047]カテゴリー3のデータの場合、圧縮されたジオメトリは、典型的に、ルートから個々のボクセルのリーフレベルに至るオクツリー(octree)として表される。カテゴリー1のデータの場合、圧縮されたジオメトリは、典型的に、プルーニングされたオクツリー(すなわち、ルートからボクセルよりも大きいブロックのリーフレベルまでのオクツリー)と、プルーニングされたオクツリーの各リーフ内の表面を近似するモデルとによって表される。このようにして、カテゴリー1のデータとカテゴリー3のデータの両方がオクツリーコーディング機構を共有するが、カテゴリー1のデータは、さらに、各リーフ内のボクセルを表面モデルで近似し得る。使用される表面モデルは、ブロック当たり1~10個の三角形を備える三角形分割であり、三角形スープ(triangle soup)をもたらす。したがって、カテゴリー1のジオメトリコーデックは、Trisoupジオメトリコーデックとして知られており、カテゴリー3のジオメトリコーデックは、オクツリージオメトリコーデックとして知られている。
[0048]オクツリーの各ノードにおいて、その子ノード(8つまでのノード)のうちの1つまたは複数について、占有率がシグナリングされる(推測されない場合)。(a)現在のオクツリーノードと面(face)を共有するノード、(b)現在のオクツリーノードと面、辺または頂点を共有するノードなどを含む複数の近傍が指定される。各近傍内で、ノードおよび/またはその子の占有率が、現在のノードまたはその子の占有率を予測するために使用され得る。オクツリーのいくつかのノードにおいてまばらに分布するポイントについて、(たとえば、G-PCCエンコーダ200およびG-PCCデコーダ300によって実装される)コーデックはまた、ポイントの3D位置が直接符号化される直接コーディングモードをサポートする。直接モードがシグナリングされることを示すために、フラグがシグナリングされ得る。最低レベルにおいて、オクツリーノード/リーフノードに関連付けられたポイントの数もコーディングされ得る。
[0049]ジオメトリがコーディングされると、ジオメトリポイントに対応する属性がコーディングされる。1つの再構成された/復号されたジオメトリポイントに対応する複数の属性ポイントがあるとき、再構成されたポイントを表す属性値が導出され得る。
[0050]G-PCCには、3つの属性コーディング方法、すなわち、領域適応階層変換(RAHT)コーディング、補間ベースの階層最近傍予測(予測変換)、および更新/リフティングステップを伴う補間ベースの階層最近傍予測(リフティング変換)がある。RAHTおよびリフティングは、典型的に、カテゴリー1のデータに使用されるが、予測は、典型的に、カテゴリーの3のデータに使用される。しかしながら、いずれの方法も任意のデータに使用され得、G-PCCにおけるジオメトリコーデックと同様に、ポイントクラウドをコーディングするために使用される属性コーディング方法は、ビットストリームにおいて指定される。
[0051]属性のコーディングは、詳細レベル(LoD)において行われ得、詳細レベルごとに、ポイントクラウド属性のより細かい表現が取得され得る。各詳細レベルは、近隣ノードからの距離メトリックに基づいて、またはサンプリング距離に基づいて指定され得る。
[0052]G-PCCエンコーダ200において、属性についてのコーディング方法の出力として取得された残差が量子化される。量子化された残差は、コンテキスト適応算術コーディングを使用してコーディングされ得る。
[0053]図2の例では、G-PCCエンコーダ200は、座標変換ユニット202と、色変換ユニット204と、ボクセル化ユニット206と、属性転送ユニット208と、オクツリー分析ユニット210と、表面近似分析ユニット212と、算術符号化ユニット214と、ジオメトリ再構成ユニット216と、RAHTユニット218と、LOD生成ユニット220と、リフティングユニット222と、係数量子化ユニット224と、算術符号化ユニット226とを含み得る。
[0054]図2の例に示されているように、G-PCCエンコーダ200は、ポイントクラウドのポイントの位置のセットと属性のセットとを受信し得る。G-PCCエンコーダ200は、データソース104(図1)からポイントクラウドのポイントの位置のセットと属性のセットとを取得し得る。位置は、ポイントクラウドのポイントの座標を含み得る。属性は、ポイントクラウドのポイントに関連付けられた色など、ポイントクラウドのポイントに関する情報を含み得る。G-PCCエンコーダ200は、ポイントクラウドのポイントの位置の符号化された表現を含むジオメトリビットストリーム203を生成し得る。G-PCCエンコーダ200は、属性のセットの符号化された表現を含む属性ビットストリーム205をも生成し得る。
[0055]座標変換ユニット202は、座標を初期領域から変換領域に変換するために、ポイントの座標に変換を適用し得る。本開示は、変換された座標を変換座標と呼ぶことがある。色変換ユニット204は、属性の色情報を異なる領域に変換するために変換を適用し得る。たとえば、色変換ユニット204は、色情報をRGB色空間からYCbCr色空間に変換し得る。
[0056]さらに、図2の例では、ボクセル化ユニット206は、変換座標をボクセル化し得る。変換座標のボクセル化は、量子化とポイントクラウドのいくつかのポイントを除去することとを含み得る。言い換えれば、ポイントクラウドの複数のポイントは、単一の「ボクセル」内に包含され得、これは、その後、いくつかの観点において1つのポイントとして扱われ得る。さらに、オクツリー分析ユニット210は、ボクセル化された変換座標に基づいてオクツリーを生成し得る。さらに、図2の例では、表面近似分析ユニット212は、ポイントのセットの表面表現を潜在的に決定するためにポイントを分析し得る。算術符号化ユニット214は、表面近似分析ユニット212によって決定されたオクツリーおよび/または表面の情報を表すシンタックス要素をエントロピー符号化し得る。G-PCCエンコーダ200は、ジオメトリビットストリーム203においてこれらのシンタックス要素を出力し得る。ジオメトリビットストリーム203は、算術的に符号化されていないシンタックス要素を含む他のシンタックス要素をも含み得る。
[0057]ジオメトリ再構成ユニット216は、オクツリー、表面近似分析ユニット212によって決定された表面を示すデータ、および/または他の情報に基づいて、ポイントクラウドのポイントの変換座標を再構成し得る。ジオメトリ再構成ユニット216によって再構成された変換座標の数は、ボクセル化および表面近似のために、ポイントクラウドのポイントの元の数とは異なり得る。本開示は、得られたポイントを再構成されたポイントと呼ぶことがある。属性転送ユニット208は、ポイントクラウドの元のポイントの属性をポイントクラウドの再構成されたポイントに転送し得る。
[0058]さらに、RAHTユニット218は、再構成されたポイントの属性にRAHTコーディングを適用し得る。代替または追加として、LOD生成ユニット220およびリフティングユニット222は、再構成されたポイントの属性に、それぞれLOD処理およびリフティングを適用し得る。RAHTユニット218およびリフティングユニット222は、属性に基づいて係数を生成し得る。係数量子化ユニット224は、RAHTユニット218またはリフティングユニット222によって生成された係数を量子化し得る。算術符号化ユニット226は、量子化係数を表すシンタックス要素に算術コーディングを適用し得る。G-PCCエンコーダ200は、属性ビットストリーム205においてこれらのシンタックス要素を出力し得る。属性ビットストリーム205は、算術的に符号化されていないシンタックス要素を含む他のシンタックス要素をも含み得る。
[0059]以下でより詳細に説明されるように、G-PCCエンコーダ200は、本開示の量子化および/またはスケーリング技法を実施するように構成されたデバイスの一例である。一例では、G-PCCエンコーダ200は、ポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、符号化されたポイントクラウドを作成するために、最終QP値を使用して、ポイントクラウドデータを符号化することとを行うように構成され得る。
[0060]図3の例では、G-PCCデコーダ300は、ジオメトリ算術復号ユニット302と、属性算術復号ユニット304と、オクツリー合成ユニット306と、逆量子化ユニット308と、表面近似合成ユニット310と、ジオメトリ再構成ユニット312と、RAHTユニット314と、LOD生成ユニット316と、逆リフティングユニット318と、逆変換座標ユニット320と、逆変換色ユニット322とを含み得る。
[0061]G-PCCデコーダ300は、ジオメトリビットストリーム203と属性ビットストリーム205とを取得し得る。デコーダ300のジオメトリ算術復号ユニット302は、算術復号(たとえば、コンテキスト適応型バイナリ算術コーディング(CABAC)または他のタイプの算術復号)をジオメトリビットストリーム中のシンタックス要素に適用し得る。同様に、属性算術復号ユニット304は、算術復号を属性ビットストリーム中のシンタックス要素に適用し得る。
[0062]オクツリー合成ユニット306は、ジオメトリビットストリームからパースされたシンタックス要素に基づいてオクツリーを合成し得る。表面近似がジオメトリビットストリームにおいて使用される事例では、表面近似合成ユニット310は、ジオメトリビットストリームからパースされたシンタックス要素に基づいて、またオクツリーに基づいて、表面モデルを決定し得る。
[0063]さらに、ジオメトリ再構成ユニット312は、ポイントクラウドのポイントの座標を決定するために再構成を実施し得る。逆変換座標ユニット320は、ポイントクラウドのポイントの再構成された座標(位置)を変換領域から初期領域に再びコンバートするために、再構成された座標に逆変換を適用し得る。
[0064]さらに、図3の例では、逆量子化ユニット308は、属性値を逆量子化し得る。属性値は、(たとえば、属性算術復号ユニット304によって復号されたシンタックス要素を含む)属性ビットストリームから取得されたシンタックス要素に基づき得る。
[0065]属性値がどのように符号化されるかに応じて、RAHTユニット314は、逆量子化された属性値に基づいて、ポイントクラウドのポイントについての色値を決定するためにRAHTコーディングを実施し得る。代替的に、LOD生成ユニット316および逆リフティングユニット318は、詳細レベルベースの技法を使用してポイントクラウドのポイントについての色値を決定し得る。
[0066]さらに、図3の例では、逆変換色ユニット322は、色値に逆色変換を適用し得る。逆色変換は、エンコーダ200の色変換ユニット204によって適用された色変換の逆であり得る。たとえば、色変換ユニット204は、色情報をRGB色空間からYCbCr色空間に変換し得る。したがって、逆色変換ユニット322は、色情報をYCbCr色空間からRGB色空間に変換し得る。
[0067]以下でより詳細に説明されるように、G-PCCデコーダ300は、本開示の量子化および/またはスケーリング技法を実施するように構成されたデバイスの一例である。一例では、G-PCCデコーダ300は、符号化されたポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、復号されたポイントクラウドを作成するために、最終QP値を使用して、符号化されたポイントクラウドデータを復号することとを行うように構成され得る。
[0068]図2および図3の様々なユニットは、エンコーダ200およびデコーダ300によって実施される動作の理解を支援するために示されている。ユニットは、固定機能回路、プログラマブル回路、またはそれらの組合せとして実装され得る。固定機能回路は、特定の機能を提供する回路を指し、実施され得る動作に関してあらかじめ設定される。プログラマブル回路は、様々なタスクを実施するように、および実施され得る動作においてフレキシブルな機能を提供するようにプログラムされ得る回路を指す。たとえば、プログラマブル回路は、ソフトウェアまたはファームウェアの命令によって定義された様式でプログラマブル回路を動作させるソフトウェアまたはファームウェアを実行し得る。固定機能回路は、(たとえば、パラメータを受信するかまたはパラメータを出力するために)ソフトウェア命令を実行し得るが、固定機能回路が実施する動作のタイプは、概して不変である。いくつかの例では、ユニットのうちの1つまたは複数は、別個の回路ブロック(固定機能またはプログラマブル)であり得、いくつかの例では、ユニットのうちの1つまたは複数は、集積回路であり得る。
[0069]予測ジオメトリコーディング
[0070]予測ジオメトリコーディングは、ノードが(予測構造を定義する)ツリー構造で配置される、オクツリージオメトリコーディングの代替として導入されており、様々な予測ストラテジーが、それの予測子に関するツリーにおける各ノードの座標を予測するために使用される。図4は、矢印が予測方向を指す、有向グラフとして示された予測ツリーの一例を示す概念図である。ノード400は、ルート頂点であり、予測子を有せず、ノード406は2つの子を有し、ノード404は3つの子を有し、ノード408は1つの子を有し、ノード402はリーフノードであり、これらは子を有しない。あらゆるノードが、1つの親ノードのみを有する。
[0071]一例では、4つの予測ストラテジーが、それの親(p0)、祖父母(p1)および曽祖父母(p2)に基づいて各ノードについて指定される。
- 予測なし
- デルタ予測(p0)
- 線形予測(2*p0-p1)
- 平行四辺形予測(2*p0+p1-p2)
[0072]G-PCCエンコーダ200は、予測ツリーを生成するために任意のアルゴリズムを採用し得る。G-PCCエンコーダ200は、用途/使用事例に基づいてアルゴリズムを決定し得、いくつかのストラテジーが使用され得る。各ノードについて、G-PCCエンコーダ200は、深さ優先様式で、ルートノードから開始して、ビットストリーム中の残差座標値を符号化する。予測ジオメトリコーディングは、主に、カテゴリー3(たとえば、LIDAR収集された)ポイントクラウドデータのために、たとえば、低レイテンシ用途のために有用である。
[0073]非規範的量子化(non-normative quantization)およびスケーリング
[0074]いくつかの例では、元のポイントクラウドは、浮動小数点フォーマットで、または極めて高いビット深度において表され得る。入力ポイントクラウドは、図2中のG-PCCエンコーダ200のボクセル化ユニット206によって示される、あるビット深度において量子化およびボクセル化される。量子化は、ボクセル化の目的でG-PCCエンコーダ200においてボクセル化ユニット206において適用され得、スケーリングは、主に、復号されたポイントクラウドのマッピングのために(すなわち、ボクセルユニットにおいて)、特定用途向け物理的空間において(すなわち、物理的次元において)、G-PCCデコーダ300において実施され得る。この動作のためにG-PCCデコーダ300によって使用され得るスケール値が、シンタックス要素sps_source_scale_factor_numerator_minus1とsps_source_scale_factor_denominator_minus1とを使用してシグナリングされる。
[0075](符号化より前の)前処理ステップである量子化、および(復号の後の)後処理ステップであるスケーリングプロセスは、全体的コーディングプロセスに影響を及ぼさない。すなわち、量子化およびスケーリングは、本質的に非規範的である。コーディングプロセスの外部のこの動作は、旧来の2Dビデオフレームでの、圧縮のためのより低い空間解像度への空間ダウンサンプリング、および後続の、表示より前のアップサンプリングとほぼ同様である。この旧来の2Dビデオの場合には、ダウンサンプリングおよびアップサンプリングは、非規範的であり、コーディングプロセスに影響を及ぼさない。シグナリングされたスケールファクタの分子(sps_source_scale_factor_numerator_minus1)および分母(sps_source_scale_factor_denominator_minus1)を示すシンタックス要素が、以下の表に示されている。
[0076]G-PCCにおける予測ジオメトリのための規範的量子化(normative quantization)
[0077]コーデック内のジオメトリ座標/位置の量子化/スケーリング、またはG-PCCにおいてそれが言及されるようなジオメトリスケーリングは、ジオメトリパラメータセット(GPS)中のフラグおよび量子化パラメータ(QP)値によって制御される。QP値は、複数のレベルにおいて指定/修正され得る。GPS中でジオメトリスケーリングに関連付けられるシンタックス要素は、以下で説明される。
[0078]ジオメトリパラメータセット(GPS)
[0079]ここで、geom_base_qpは、GPSを参照するポイントのすべてに適用可能であるベースQP値を導出するために使用される。QP乗数、geom_qp_multiplier(1<<geom_qp_multiplier_log2)が、QP値のすべてを乗算するために使用される。たとえば、base_qpが1に等しく設定され、geom_qp_multiplier_log2が2である場合、使用される実際のQP値は、1*(1<<2)=4である。実際には、geom_qp_multiplierは、QPのためのスケールファクタのように働き、QP値の最小変化を決定する。適用される前に同じくQP乗数を乗算される、スライスQPデルタもシグナリングされる。オクツリーコーディングでは、ノードQPオフセットが、特定のオクツリー深度においてシグナリングされ、QP乗数はこのノードQPオフセットにも適用される。
[0080]予測ジオメトリのために、G-PCCエンコーダ200は、QPオフセットが、予測ジオメトリツリーにおいてどのくらいの頻度でシグナリングされるかを示すための間隔をシグナリングする。シンタックス要素geom_qp_offset_intvl_log2に加えて、G-PCCエンコーダ200は、QPオフセットが予測ツリーにおいてシグナリングされる間隔を更新するために、ジオメトリスライスヘッダにおいて別のシンタックス要素geom_qp_offset_intvl_log2_deltaをシグナリングする。N=geom_qp_offset_intvl_log2+geom_qp_offset_intvl_log2_deltaである、N個のノードごとに、G-PCCエンコーダ200は、予測ジオメトリツリーにおいてQPオフセットをシグナリングする。G-PCCデコーダ300は、予測ジオメトリのための最終QP値を以下のように決定し得る。
したがって、シグナリングされた値node_qp_offsetは、ノードに適用されるノードQPオフセットと同じである。
[0081]最終QP値(qpFinal)が、空間領域において適用され、ビデオ圧縮のような変換領域において適用されない、量子化プロセスによって取得されることに留意されたい。したがって、ポイントクラウド圧縮では、ポイントクラウドのサイズおよび密度に基づいて、ジオメトリの量子化は、復号されたポイントクラウドにおいてより顕著であり得る。
[0082]G-PCCエンコーダ200およびG-PCCデコーダ300は、ジオメトリスケーリングプロセスによって使用されるステップサイズを導出するために最終QP値(たとえば、qpFinal)を使用し得る。ジオメトリスケーリングプロセスは、以下のように定義される。
このプロセスへの入力は、以下の通りである。
- スケーリングされていない位置成分値を表す変数val、
- 位置成分インデックスを指定する変数cIdx、
- 量子化パラメータを指定する変数qP。
このプロセスの出力は、スケーリングされた位置成分値posである。
(注)geom_scaling_enabled_flagが0に等しいとき、このプロセスの出力は入力値posに等しい。
変数scalingExpansionLog2は、qP/8に等しく設定される。
スケーリングされていない位置成分値の連結された部分を表す変数highPartおよびlowPartは、以下のように導出される。
[0083]スケールファクタsFは、以下のように導出される。
[0084]出力変数posは、以下のように導出される。
[0085]上記で説明されたジオメトリの規範的量子化を含む、オクツリージオメトリコーディングでは、QP乗数は、シグナリングされる任意のノードQPオフセットを含む、QP値のすべてに適用される。ノードQP乗数は、予測ツリーにおいてシグナリングされるシグナリングされたノードQPオフセット(たとえば、node_qpオフセット)に適用されない。いくつかの場合には、ノードQPオフセットはより大きい数であり得、これは、node_qp_offsetシンタックス要素のために多数のビットがシグナリングされることを必要とし得る。したがって、シグナリングオーバーヘッドは、ノードQPオフセットの大きい値により、増加し得る。
[0086]これらの欠点に鑑みて、本開示は、シグナリングオーバーヘッドを低減し、したがって、コーディング効率を増加させる様式で、ノードQPオフセットをシグナリングし、最終QP値を決定するための技法について説明する。本明細書で説明される技法は、独立して実装されるか、または1つまたは複数の他の技法と組み合わせられ得る。ステップサイズ、スケール値、スケールステップサイズという用語は、すべて、同じ値、すなわち、G-PCCデコーダ300において使用されるスケール値を指す。
[0087]本開示の一例では、G-PCCエンコーダ200およびG-PCCデコーダ300は、ステップサイズを導出するために使用されるQP値(たとえば、最終QP値)を、QP乗数を乗算されたノードQPオフセットを含むように決定するように構成され得る。一例として、G-PCCデコーダ300は、以下の式、すなわち、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)を使用して最終QP値(qpFinal)を決定するように構成され得る。
[0088]いくつかの例では、G-PCCエンコーダ200も、以下の式、すなわち、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)を使用して最終QP値(qpFinal)を決定するように構成され得る。たとえば、G-PCCエンコーダ200は、再構成ループにおいてその式を使用し得る。しかしながら、他の例では、G-PCCエンコーダ200は、最初に、最終QP値を決定し、次いで、node_qp_offsetおよびgeom_qp_multiplier_log2のためにシグナリングするための値を決定するためにノードQPオフセットの値を決定し得る。この例では、G-PCCエンコーダは、node_qp_offsetおよびgeom_qp_multiplier_log2の値を、すでに決定された最終QP値、ならびにbase_qpおよびslice_qpが、式qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)を満たすように決定することになる。
[0089]上記の式では、ベースQP(base_qp)およびスライスQP(slice_qp)は、合計され、次いで、左シフトされる(たとえば、geom_qp_multiplier_log2から導出されたジオメトリQP乗数の値を乗算される)。この得られた値は、次いで、(geom_qp_multiplier_log2から導出された)ジオメトリQP乗数によって左シフトされた(たとえば、乗算された)ノードQPオフセット(node_qp_offset)に加算される。この式は、ノードQPオフセットがジオメトリQP乗数を乗算されることを除いて、上記で説明された式(すなわち、qpFinal=(base_qp+slice_qp)<<geom_qp_multiplier_log2+node_qp_offset)と同じである。そのような技法は、ノードQPオフセットをシグナリングするために必要とされるビット数を低減し得る。
[0090]たとえば、所望のノードQPオフセットが20であった場合、G-PCCエンコーダ200は、値20に等しくなるようなビット数でnode_qp_offsetシンタックス要素をシグナリングしたであろう。しかしながら、本開示の技法を使用して、G-PCCエンコーダ200は、ノードQPオフセットがジオメトリQP乗数を乗算されるので、より少ないビット数でnode_qp_offsetシンタックス要素をシグナリングし得る。たとえば、いくつかのポイントクラウドでは、QPが、4の倍数である値のみをとる場合、20のnode_qp_offsetをシグナリングすることは、たとえば、一定のビット数を消費することになる。しかしながら、G-PCCデコーダ300が、上記で説明されたように、ジオメトリQP乗数を使用する場合、5の値のみがシグナリングされる必要があり(20>>geom_qp_multiplier_log2=20>>2=5)、これは、より少ないビットを消費することになる。ここで、ジオメトリQP乗数は4になり、geom_qp_multiplier_log2は、geom_qp_multiplier_log2が最終ジオメトリ乗数値のlog2としてシグナリングされるので、2になる。
[0091]したがって、本開示の一例では、G-PCCエンコーダ200は、最終ノードQPオフセット項を決定するためにノードQPオフセットにジオメトリQP乗数を適用することによって(たとえば、最終ノードQPオフセット項は、node_qp_offset<<geom_qp_multiplier_log2である)、ポイントクラウドのジオメトリを符号化するための最終QP値を決定し得る。一例では、G-PCCエンコーダ200は、式qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値(qpFinal)を決定し得る。
[0092]G-PCCエンコーダ200は、ジオメトリQP乗数を乗算されたシグナリングされたノードQPオフセットが、所望のノードQPオフセット項に等しくなるように、ノードQPオフセット(node_qp_offset)とジオメトリQP乗数(geom_qp_multiplier_log2)とを示すシンタックス要素を符号化し、シグナリングし得る。
[0093]逆の様式で、G-PCCデコーダ300は、ノードQPオフセット(node_qp_offset)およびジオメトリQP乗数(geom_qp_multiplier_log2)のためのシンタックス要素を受信し、復号し得る。G-PCCデコーダは、次いで、最終QP値を、ジオメトリQP乗数(geom_qp_multiplier_log2)を乗算されたノードQPオフセット(たとえば、node_qp_offset)の関数として決定し得る。一例では、G-PCCデコーダ300は、式qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値(qpFinal)を決定し得る。G-PCCデコーダ300は、次いで、上記で説明された1つまたは複数のコーディング技法を使用して、ポイントクラウドのジオメトリの規範的量子化を実施するために最終QP値を使用し得る。
[0094]別の例では、G-PCCエンコーダ200およびG-PCCデコーダ300は、(導出された最終QPの)node_qp_offsetが(1<<geom_qp_multiplier_log2)の倍数であるものとするという制約に従って動作し得る。そのような制約は、あらかじめ決定され得るか、またはビットストリーム中でシグナリングされ得る。
[0095]別の例では、導出された最終QP値は、(1<<geom_qp_multiplier_log2)の倍数に丸められ得る。
[0096]図5は、本開示の例示的な符号化技法を示すフローチャートである。G-PCCエンコーダ200の1つまたは複数の構造構成要素は、図5の技法を実施するように構成され得る。
[0097]一例では、G-PCCエンコーダ200は、ポイントクラウドデータを受信する(500)ことと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定する(510)こととを行うように構成され得る。G-PCCエンコーダ200は、次いで、符号化されたポイントクラウドを作成するために、最終QP値を使用して、ポイントクラウドデータを符号化し得る(520)。
[0098]本開示の一例では、G-PCCエンコーダ200は、ノードQPオフセットを示すノードQPオフセットシンタックス要素を符号化し、ジオメトリQP乗数を示すジオメトリQP乗数シンタックス要素を符号化し得る。
[0099]本開示の別の例では、G-PCCエンコーダ200は、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値を決定し得、ここにおいて、qpFinalは最終QP値であり、base_qpはベースQP値であり、slice_qpはスライスQP値であり、node_qp_offsetは、シグナリングされたノードQPオフセットであり、geom_qp_multiplier_log2はジオメトリQP乗数である。
[0100]一例では、ノードQPオフセットは、(1<<geom_qp_multiplier_log2)の倍数である。
[0101]本開示の別の例では、G-PCCエンコーダ200は、最終QP値を(1<<geom_qp_multiplier_log2)に丸め得る。
[0102]図6は、本開示の例示的な復号技法を示すフローチャートである。G-PCCデコーダ300の1つまたは複数の構造構成要素は、図6の技法を実施するように構成され得る。
[0103]本開示の一例では、G-PCCデコーダ300は、符号化されたポイントクラウドデータを受信する(600)ことと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定する(610)こととを行うように構成され得る。G-PCCデコーダ300は、復号されたポイントクラウドを作成するために、最終QP値を使用して、符号化されたポイントクラウドデータを復号する(620)ことを行うようにさらに構成され得る。
[0104]一例では、G-PCCデコーダ300は、ノードQPオフセットを決定するためにノードQPオフセットシンタックス要素を復号することと、ジオメトリQP乗数を決定するためにジオメトリQP乗数シンタックス要素を復号することとを行うようにさらに構成され得る。
[0105]別の例では、G-PCCデコーダ300は、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値を決定するようにさらに構成され得、ここにおいて、qpFinalは最終QP値であり、base_qpはベースQP値であり、slice_qpはスライスQP値であり、node_qp_offsetは、シグナリングされたノードQPオフセットであり、geom_qp_multiplier_log2はジオメトリQP乗数である。
[0106]一例では、シグナリングまたは導出されたノードQPオフセットは、(1<<geom_qp_multiplier_log2)の倍数である。
[0107]別の例では、G-PCCデコーダ300は、最終QP値を(1<<geom_qp_multiplier_log2)に丸めるようにさらに構成され得る。
[0108]図7は、本開示の1つまたは複数の技法とともに使用され得る例示的な測距システム900を示す概念図である。図7の例では、測距システム900は、照明器902とセンサー904とを含む。照明器902は、光906を放出し得る。いくつかの例では、照明器902は、1つまたは複数のレーザービームとして光906を放出し得る。光906は、赤外波長または可視光波長など、1つまたは複数の波長におけるものであり得る。他の例では、光906は、コヒーレントなレーザー光ではない。光906が、物体908など、物体に遭遇したとき、光906は、戻り光910をもたらす。戻り光910は、後方散乱光および/または反射光を含み得る。戻り光910は、センサー904上に物体908の画像912をもたらすように戻り光910を向けるレンズ911を通過し得る。センサー904は、画像912に基づいて信号914を生成する。画像912は、(たとえば、図7の画像912中のドットによって表される)ポイントのセットを備え得る。
[0109]いくつかの例では、照明器902およびセンサー904は、照明器902およびセンサー904が環境の360度視野をキャプチャするように、回転構造物上に搭載され得る。他の例では、測距システム900は、照明器902およびセンサー904が特定の範囲内(たとえば、360度まで)の物体を検出することを可能にする1つまたは複数の光学構成要素(たとえば、ミラー、コリメータ、回折格子など)を含み得る。図7の例は、単一の照明器902およびセンサー904のみを示すが、測距システム900は、照明器およびセンサーの複数のセットを含み得る。
[0110]いくつかの例では、照明器902は、構造化された光パターンを生成する。そのような例では、測距システム900は、構造化された光パターンのそれぞれの画像が形成される複数のセンサー904を含み得る。測距システム900は、構造化された光パターンが後方散乱する物体908までの距離を決定するために、構造化された光パターンの画像間の視差を使用し得る。構造化された光ベースの測距システムは、物体908がセンサー904に比較的近い(たとえば、0.2メートル~2メートル)とき、高レベルの精度(たとえば、サブミリメートル範囲の精度)を有し得る。この高レベルの精度は、モバイルデバイス(たとえば、モバイルフォン、タブレットコンピュータなど)のロック解除などの顔認識用途において、およびセキュリティ用途のために有用であり得る。
[0111]いくつかの例では、測距システム900は、飛行時間(ToF)ベースのシステムである。測距システム900がToFベースのシステムであるいくつかの例では、照明器902は、光のパルスを生成する。言い換えれば、照明器902は、放出された光906の振幅を変調し得る。そのような例では、センサー904は、照明器902によって生成された光906のパルスからの戻り光910を検出する。測距システム900は、次いで、光906が放出され検出されたときと空気中の既知の光速との間の遅延に基づいて光906が後方散乱する物体908までの距離を決定し得る。いくつかの例では、放出された光906の振幅を変調する代わりに(またはそれに加えて)、照明器902は、放出された光906の位相を変調し得る。そのような例では、センサー904は、物体908からの戻り光910の位相を検出し、光速を使用して、および照明器902が特定の位相で光906を生成したときとセンサー904が特定の位相で戻り光910を検出したときとの間の時間差に基づいて、物体908上のポイントまでの距離を決定し得る。
[0112]他の例では、ポイントクラウドは、照明器902を使用することなく生成され得る。たとえば、いくつかの例では、測距システム900のセンサー904は、2つまたはそれ以上の光学カメラを含み得る。そのような例では、測距システム900は、物体908を含む環境のステレオ画像をキャプチャするために光学カメラを使用し得る。測距システム900(たとえば、ポイントクラウド生成器920)は、次いで、ステレオ画像中のロケーション間の視差を計算し得る。測距システム900は、次いで、ステレオ画像に示されたロケーションまでの距離を決定するために視差を使用し得る。これらの距離から、ポイントクラウド生成器920は、ポイントクラウドを生成し得る。
[0113]センサー904はまた、色および反射率情報など、物体908の他の属性を検出し得る。図7の例では、ポイントクラウド生成器920は、センサー904によって生成された信号918に基づいてポイントクラウドを生成し得る。測距システム900および/またはポイントクラウド生成器920は、データソース104(図1)の一部を形成し得る。最終QP値を導出するための本開示の技法は、図7のシステムを使用してポイントクラウドを符号化するために必要とされる、より少ないビットを生じ得る。
[0114]図8は、本開示の1つまたは複数の技法が使用され得る例示的な車両ベースのシナリオを示す概念図である。図8の例では、車両1000は、LIDARシステムなどのレーザーパッケージ1002を含む。図8の例には示されていないが、車両1000はまた、データソース104(図1)などのデータソースと、G-PCCエンコーダ200(図1)などのG-PCCエンコーダとを含み得る。図8の例では、レーザーパッケージ1002は、歩行者1006または道路内の他の物体から反射するレーザービーム1004を放出する。車両1000のデータソースは、レーザーパッケージ1002によって生成された信号に基づいてポイントクラウドを生成し得る。車両1000のG-PCCエンコーダは、ジオメトリビットストリーム203(図2)および属性ビットストリーム205(図2)などのビットストリーム1008を生成するために、ポイントクラウドを符号化し得る。ビットストリーム1008は、G-PCCエンコーダによって取得された符号化されていないポイントクラウドよりもはるかに少ないビットを含み得る。車両1000の出力インターフェース(たとえば、出力インターフェース108(図1))は、ビットストリーム1008を1つまたは複数の他のデバイスに送信し得る。したがって、車両1000は、符号化されていないポイントクラウドデータよりも迅速にビットストリーム1008を他のデバイスに送信することが可能であり得る。さらに、ビットストリーム1008は、より少ないデータ記憶容量を必要とし得る。
[0115]図8の例では、車両1000は、ビットストリーム1008を別の車両1010に送信し得る。車両1010は、G-PCCデコーダ300(図1)などのG-PCCデコーダを含み得る。車両1010のG-PCCデコーダは、ポイントクラウドを再構成するためにビットストリーム1008を復号し得る。車両1010は、様々な目的で、再構成されたポイントクラウドを使用し得る。たとえば、車両1010は、歩行者1006が車両1000の前方の道路におり、したがって、たとえば、歩行者1006が道路にいることを車両1010の運転者が了解する前でも、減速を開始することを、再構成されたポイントクラウドに基づいて決定し得る。したがって、いくつかの例では、車両1010は、再構成されたポイントクラウドに基づいて、自律ナビゲーション動作を実施し、通知または警告を生成し、あるいは別のアクションを実施し得る。
[0116]追加または代替として、車両1000は、ビットストリーム1008をサーバシステム1012に送信し得る。サーバシステム1012は、様々な目的でビットストリーム1008を使用し得る。たとえば、サーバシステム1012は、ポイントクラウドの後続の再構成のためにビットストリーム1008を記憶し得る。この例では、サーバシステム1012は、自律運転システムを訓練するために他のデータ(たとえば、車両1000によって生成された車両テレメトリデータ)とともにポイントクラウドを使用し得る。他の例では、サーバシステム1012は、(たとえば、車両1000が歩行者1006と衝突する場合)科学捜査的事故調査(forensic crash investigations)のための後続の再構成のためにビットストリーム1008を記憶し得る。最終QP値を導出するための本開示の技法は、図8のシステムを使用してポイントクラウドを符号化するために必要とされる、より少ないビットを生じ得る。
[0117]図9は、本開示の1つまたは複数の技法が使用され得る例示的なエクステンデッドリアリティシステム(extended reality system)を示す概念図である。エクステンデッドリアリティ(XR:extended reality)は、拡張現実(AR)と、複合現実(MR)と、仮想現実(VR)とを含む技術の範囲をカバーするために使用される用語である。図9の例では、第1のユーザ1100が、第1のロケーション1102に位置する。ユーザ1100は、XRヘッドセット1104を装着する。XRヘッドセット1104の代替として、ユーザ1100は、モバイルデバイス(たとえば、モバイルフォン、タブレットコンピュータなど)を使用し得る。XRヘッドセット1104は、ロケーション1102における物体1106上のポイントの位置を検出する、LIDARシステムなどの深度検出センサーを含む。XRヘッドセット1104のデータソースは、ロケーション1102における物体1106のポイントクラウド表現を生成するために、深度検出センサーによって生成された信号を使用し得る。XRヘッドセット1104は、ビットストリーム1108を生成するためにポイントクラウドを符号化するように構成されたG-PCCエンコーダ(たとえば、図1のG-PCCエンコーダ200)を含み得る。
[0118]XRヘッドセット1104は、第2のロケーション1114においてユーザ1112によって装着されたXRヘッドセット1110に(たとえば、インターネットなどのネットワークを介して)ビットストリーム1108を送信し得る。XRヘッドセット1110は、ポイントクラウドを再構成するためにビットストリーム1108を復号し得る。XRヘッドセット1110は、ロケーション1102における物体1106を表すXR視覚化(たとえば、AR、MR、VR視覚化)を生成するためにポイントクラウドを使用し得る。したがって、いくつかの例では、XRヘッドセット1110がVR視覚化を生成するときなど、ロケーション1114のユーザ1112は、ロケーション1102の3D没入型体験を有し得る。いくつかの例では、XRヘッドセット1110は、再構成されたポイントクラウドに基づいて仮想物体の位置を決定し得る。たとえば、XRヘッドセット1110は、再構成されたポイントクラウドに基づいて、環境(たとえば、ロケーション1102)が平坦な表面を含むと決定し、次いで、仮想物体(たとえば、漫画のキャラクタ)が平坦な表面上に配置されるべきであると決定し得る。XRヘッドセット1110は、仮想物体が決定された位置にあるXR視覚化を生成し得る。たとえば、XRヘッドセット1110は、平坦な表面に座っている漫画のキャラクタを示し得る。最終QP値を導出するための本開示の技法は、図9のシステムを使用してポイントクラウドを符号化するために必要とされる、より少ないビットを生じ得る。
[0119]図10は、本開示の1つまたは複数の技法が使用され得る例示的なモバイルデバイスシステムを示す概念図である。図10の例では、モバイルフォンまたはタブレットコンピュータなどのモバイルデバイス1200は、モバイルデバイス1200の環境における物体1202上のポイントの位置を検出する、LIDARシステムなどの深度検出センサーを含む。モバイルデバイス1200のデータソースは、物体1202のポイントクラウド表現を生成するために、深度検出センサーによって生成された信号を使用し得る。モバイルデバイス1200は、ビットストリーム1204を生成するためにポイントクラウドを符号化するように構成されたG-PCCエンコーダ(たとえば、図1のG-PCCエンコーダ200)を含み得る。図10の例では、モバイルデバイス1200は、サーバシステムまたは他のモバイルデバイスなどのリモートデバイス1206にビットストリームを送信し得る。リモートデバイス1206は、ポイントクラウドを再構成するためにビットストリーム1204を復号し得る。リモートデバイス1206は、様々な目的でポイントクラウドを使用し得る。たとえば、リモートデバイス1206は、モバイルデバイス1200の環境のマップを生成するためにポイントクラウドを使用し得る。たとえば、リモートデバイス1206は、再構成されたポイントクラウドに基づいて建物の内部のマップを生成し得る。別の例では、リモートデバイス1206は、ポイントクラウドに基づいて像(たとえば、コンピュータグラフィックス)を生成し得る。たとえば、リモートデバイス1206は、ポイントクラウドのポイントを多角形の頂点として使用し、ポイントの色属性を多角形に陰影を付けるための基礎として使用し得る。いくつかの例では、リモートデバイス1206は、ポイントクラウドを使用して顔認識を実施し得る。最終QP値を導出するための本開示の技法は、図10のシステムを使用してポイントクラウドを符号化するために必要とされる、より少ないビットを生じ得る。
[0120]以下は、本開示の1つまたは複数の技法によるものであり得る態様の非限定的なリストである。
[0121]態様1A - ポイントクラウドをコーディングする方法であって、方法が、ポイントクラウドデータを受信することと、ポイントクラウドデータのための量子化パラメータ(QP)値を、QP乗数を乗算されたノードQPオフセットの関数として決定することと、QP値を使用して、ポイントクラウドデータをコーディングすることとを備える、方法。
[0122]態様2A - QP値を決定することが、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従ってQP値を決定することを備え、ここにおいて、qpFinalがQP値であり、base_qpがベースQP値であり、slice_qpがスライスQP値であり、node_qp_offsetがノードQPオフセットであり、geom_qp_multiplier_log2がQP乗数である、態様1Aに記載の方法。
[0123]態様3A - ノードQPオフセットが、(1<<geom_qp_multiplier_log2)の倍数である、態様2Aに記載の方法。
[0124]態様4A - QP値を(1<<geom_qp_multiplier_log2)に丸めることをさらに備える、態様2Aに記載の方法。
[0125]態様5A - ポイントクラウドを処理するためのデバイスであって、デバイスが、態様1Aから4Aのいずれかに記載の方法を実施するための1つまたは複数の手段を備える、デバイス。
[0126]態様6A - 1つまたは複数の手段が、回路中に実装された1つまたは複数のプロセッサを備える、態様5Aに記載のデバイス。
[0127]態様7A - ポイントクラウドを表すデータを記憶するためのメモリをさらに備える、態様5Aまたは6Aのいずれかに記載のデバイス。
[0128]態様8A - デバイスがデコーダを備える、態様5Aから7Aのいずれかに記載のデバイス。
[0129]態様9A - デバイスがエンコーダを備える、態様5Aから8Aのいずれかに記載のデバイス。
[0130]態様10A - ポイントクラウドを生成するためのデバイスをさらに備える、態様5Aから9Aのいずれかに記載のデバイス。
[0131]態様11A - ポイントクラウドに基づいて像を提示するためのディスプレイをさらに備える、態様5Aから10Aのいずれかに記載のデバイス。
[0132]態様12A - 命令を記憶したコンピュータ可読記憶媒体であって、命令が、実行されたとき、1つまたは複数のプロセッサに、態様1Aから4Aのいずれかに記載の方法を実施させる、コンピュータ可読記憶媒体。
[0133]態様1B - ポイントクラウドを符号化するように構成された装置であって、装置が、ポイントクラウドデータを記憶するように構成されたメモリと、回路中に実装され、メモリと通信している1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサが、ポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、符号化されたポイントクラウドを作成するために、最終QP値を使用して、ポイントクラウドデータを符号化することと、を行うように構成された、装置。
[0134]態様2B - 1つまたは複数のプロセッサが、ノードQPオフセットを示すノードQPオフセットシンタックス要素を符号化することと、ジオメトリQP乗数を示すジオメトリQP乗数シンタックス要素を符号化することとを行うようにさらに構成された、態様1Bに記載の装置。
[0135]態様3B - 最終QP値を決定するために、1つまたは複数のプロセッサが、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値を決定するようにさらに構成され、ここにおいて、qpFinalが最終QP値であり、base_qpがベースQP値であり、slice_qpがスライスQP値であり、node_qp_offsetがノードQPオフセットであり、geom_qp_multiplier_log2がジオメトリQP乗数である、態様1Bに記載の装置。
[0136]態様4B - ノードQPオフセットが、(1<<geom_qp_multiplier_log2)の倍数である、態様3Bに記載の装置。
[0137]態様5B - 1つまたは複数のプロセッサが、最終QP値を(1<<geom_qp_multiplier_log2)に丸めるようにさらに構成された、態様3Bに記載の装置。
[0138]態様6B - ポイントクラウドデータを生成するように構成されたセンサーをさらに備える、態様1Bに記載の装置。
[0139]態様7B - ポイントクラウドを符号化する方法であって、方法が、ポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、符号化されたポイントクラウドを作成するために、最終QP値を使用して、ポイントクラウドデータを符号化することとを備える、方法。
[0140]態様8B - ノードQPオフセットを示すノードQPオフセットシンタックス要素を符号化することと、ジオメトリQP乗数を示すジオメトリQP乗数シンタックス要素を符号化することとをさらに備える、態様7Bに記載の方法。
[0141]態様9B - 最終QP値を決定することが、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値を決定することを備え、ここにおいて、qpFinalが最終QP値であり、base_qpがベースQP値であり、slice_qpがスライスQP値であり、node_qp_offsetがノードQPオフセットであり、geom_qp_multiplier_log2がジオメトリQP乗数である、態様7Bに記載の方法。
[0142]態様10B - ノードQPオフセットが、(1<<geom_qp_multiplier_log2)の倍数である、態様9Bに記載の方法。
[0143]態様11B - 最終QP値を(1<<geom_qp_multiplier_log2)に丸めることをさらに備える、態様9Bに記載の方法。
[0144]態様12B - ポイントクラウドデータを生成することをさらに備える、態様7Bに記載の方法。
[0145]態様13B - 命令を記憶する非一時的コンピュータ可読記憶媒体であって、命令が、実行されたとき、ポイントクラウドを符号化するように構成されたデバイスの1つまたは複数のプロセッサに、ポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、符号化されたポイントクラウドを作成するために、最終QP値を使用して、ポイントクラウドデータを符号化することとを行わせる、非一時的コンピュータ可読記憶媒体。
[0146]態様14B - ポイントクラウドを符号化するように構成された装置であって、装置が、ポイントクラウドデータを受信するための手段と、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定するための手段と、符号化されたポイントクラウドを作成するために、最終QP値を使用して、ポイントクラウドデータを符号化するための手段とを備える、装置。
[0147]態様15B - ポイントクラウドを復号するように構成された装置であって、装置が、符号化されたポイントクラウドデータを記憶するように構成されたメモリと、回路中に実装され、メモリと通信している1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサが、符号化されたポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、復号されたポイントクラウドを作成するために、最終QP値を使用して、符号化されたポイントクラウドデータを復号することと、を行うように構成された、装置。
[0148]態様16B - 1つまたは複数のプロセッサが、ノードQPオフセットを決定するためにノードQPオフセットシンタックス要素を復号することと、ジオメトリQP乗数を決定するためにジオメトリQP乗数シンタックス要素を復号することとを行うようにさらに構成された、態様15Bに記載の装置。
[0149]態様17B - 最終QP値を決定するために、1つまたは複数のプロセッサが、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値を決定するようにさらに構成され、ここにおいて、qpFinalが最終QP値であり、base_qpがベースQP値であり、slice_qpがスライスQP値であり、node_qp_offsetがノードQPオフセットであり、geom_qp_multiplier_log2がジオメトリQP乗数である、態様15Bに記載の装置。
[0150]態様18B - ノードQPオフセットが、(1<<geom_qp_multiplier_log2)の倍数である、態様17Bに記載の装置。
[0151]態様19B - 1つまたは複数のプロセッサが、最終QP値を(1<<geom_qp_multiplier_log2)に丸めるようにさらに構成された、態様17Bに記載の装置。
[0152]態様20B - 復号されたポイントクラウドを表示するように構成されたディスプレイをさらに備える、態様15Bに記載の装置。
[0153]態様21B - ポイントクラウドを復号する方法であって、方法が、符号化されたポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、復号されたポイントクラウドを作成するために、最終QP値を使用して、符号化されたポイントクラウドデータを復号することとを備える、方法。
[0154]態様22B - ノードQPオフセットを決定するためにノードQPオフセットシンタックス要素を復号することと、ジオメトリQP乗数を決定するためにジオメトリQP乗数シンタックス要素を復号することとをさらに備える、態様21Bに記載の方法。
[0155]態様23B - 最終QP値を決定することが、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値を決定することを備え、ここにおいて、qpFinalが最終QP値であり、base_qpがベースQP値であり、slice_qpがスライスQP値であり、node_qp_offsetがノードQPオフセットであり、geom_qp_multiplier_log2がジオメトリQP乗数である、態様21Bに記載の方法。
[0156]態様24B - ノードQPオフセットが、(1<<geom_qp_multiplier_log2)の倍数である、態様23Bに記載の方法。
[0157]態様25B - 最終QP値を(1<<geom_qp_multiplier_log2)に丸めることをさらに備える、態様23Bに記載の方法。
[0158]態様26B - 復号されたポイントクラウドを表示することをさらに備える、態様21Bに記載の方法。
[0159]態様27B - 命令を記憶する非一時的コンピュータ可読記憶媒体であって、命令が、実行されたとき、ポイントクラウドを復号するように構成されたデバイスの1つまたは複数のプロセッサに、符号化されたポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、復号されたポイントクラウドを作成するために、最終QP値を使用して、符号化されたポイントクラウドデータを復号することと、を行わせる、非一時的コンピュータ可読記憶媒体。
[0160]態様28B - ポイントクラウドを復号するように構成された装置であって、装置が、符号化されたポイントクラウドデータを受信するための手段と、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定するための手段と、復号されたポイントクラウドを作成するために、最終QP値を使用して、符号化されたポイントクラウドデータを復号するための手段とを備える、装置。
[0161]態様1C - ポイントクラウドを符号化するように構成された装置であって、装置が、ポイントクラウドデータを記憶するように構成されたメモリと、回路中に実装され、メモリと通信している1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサが、ポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、符号化されたポイントクラウドを作成するために、最終QP値を使用して、ポイントクラウドデータを符号化することと、を行うように構成された、装置。
[0162]態様2C - 1つまたは複数のプロセッサが、ノードQPオフセットを示すノードQPオフセットシンタックス要素を符号化することと、ジオメトリQP乗数を示すジオメトリQP乗数シンタックス要素を符号化することとを行うようにさらに構成された、態様1Cに記載の装置。
[0163]態様3C - 最終QP値を決定するために、1つまたは複数のプロセッサが、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値を決定するようにさらに構成され、ここにおいて、qpFinalが最終QP値であり、base_qpがベースQP値であり、slice_qpがスライスQP値であり、node_qp_offsetがノードQPオフセットであり、geom_qp_multiplier_log2がジオメトリQP乗数である、態様1Cから2Cのいずれかに記載の装置。
[0164]態様4C - ノードQPオフセットが、(1<<geom_qp_multiplier_log2)の倍数である、態様3Cに記載の装置。
[0165]態様5C - 1つまたは複数のプロセッサが、最終QP値を(1<<geom_qp_multiplier_log2)に丸めるようにさらに構成された、態様3Cに記載の装置。
[0166]態様6C - ポイントクラウドデータを生成するように構成されたセンサーをさらに備える、態様1Cから5Cのいずれかに記載の装置。
[0167]態様7C - ポイントクラウドを符号化する方法であって、方法が、ポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、符号化されたポイントクラウドを作成するために、最終QP値を使用して、ポイントクラウドデータを符号化することとを備える、方法。
[0168]態様8C - ノードQPオフセットを示すノードQPオフセットシンタックス要素を符号化することと、ジオメトリQP乗数を示すジオメトリQP乗数シンタックス要素を符号化することとをさらに備える、態様7Cに記載の方法。
[0169]態様9C - 最終QP値を決定することが、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値を決定することを備え、ここにおいて、qpFinalが最終QP値であり、base_qpがベースQP値であり、slice_qpがスライスQP値であり、node_qp_offsetがノードQPオフセットであり、geom_qp_multiplier_log2がジオメトリQP乗数である、態様7Cから8Cのいずれかに記載の方法。
[0170]態様10C - ノードQPオフセットが、(1<<geom_qp_multiplier_log2)の倍数である、態様9Cに記載の方法。
[0171]態様11C - 最終QP値を(1<<geom_qp_multiplier_log2)に丸めることをさらに備える、態様9Cに記載の方法。
[0172]態様12C - ポイントクラウドデータを生成することをさらに備える、態様7Cから11Cのいずれかに記載の方法。
[0173]態様13C - ポイントクラウドを復号するように構成された装置であって、装置が、符号化されたポイントクラウドデータを記憶するように構成されたメモリと、回路中に実装され、メモリと通信している1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサが、符号化されたポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、復号されたポイントクラウドを作成するために、最終QP値を使用して、符号化されたポイントクラウドデータを復号することと、を行うように構成された、装置。
[0174]態様14C - 1つまたは複数のプロセッサが、ノードQPオフセットを決定するためにノードQPオフセットシンタックス要素を復号することと、ジオメトリQP乗数を決定するためにジオメトリQP乗数シンタックス要素を復号することとを行うようにさらに構成された、態様13Cに記載の装置。
[0175]態様15C - 最終QP値を決定するために、1つまたは複数のプロセッサが、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値を決定するようにさらに構成され、ここにおいて、qpFinalが最終QP値であり、base_qpがベースQP値であり、slice_qpがスライスQP値であり、node_qp_offsetがノードQPオフセットであり、geom_qp_multiplier_log2がジオメトリQP乗数である、態様13Cから14Cのいずれかに記載の装置。
[0176]態様16C - ノードQPオフセットが、(1<<geom_qp_multiplier_log2)の倍数である、態様15Cに記載の装置。
[0177]態様17C - 1つまたは複数のプロセッサが、最終QP値を(1<<geom_qp_multiplier_log2)に丸めるようにさらに構成された、態様15Cに記載の装置。
[0178]態様18C - 復号されたポイントクラウドを表示するように構成されたディスプレイをさらに備える、態様13Cから17Cのいずれかに記載の装置。
[0179]態様19C - ポイントクラウドを復号する方法であって、方法が、符号化されたポイントクラウドデータを受信することと、ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、復号されたポイントクラウドを作成するために、最終QP値を使用して、符号化されたポイントクラウドデータを復号することとを備える、方法。
[0180]態様20C - ノードQPオフセットを決定するためにノードQPオフセットシンタックス要素を復号することと、ジオメトリQP乗数を決定するためにジオメトリQP乗数シンタックス要素を復号することとをさらに備える、態様19Cに記載の方法。
[0181]態様21C - 最終QP値を決定することが、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って最終QP値を決定することを備え、ここにおいて、qpFinalが最終QP値であり、base_qpがベースQP値であり、slice_qpがスライスQP値であり、node_qp_offsetがノードQPオフセットであり、geom_qp_multiplier_log2がジオメトリQP乗数である、態様19Cから20Cのいずれかに記載の方法。
[0182]態様22C - ノードQPオフセットが、(1<<geom_qp_multiplier_log2)の倍数である、態様21Cに記載の方法。
[0183]態様23C - 最終QP値を(1<<geom_qp_multiplier_log2)に丸めることをさらに備える、態様21Cに記載の方法。
[0184]態様24C - 復号されたポイントクラウドを表示することをさらに備える、態様19Cから23Cのいずれかに記載の方法。
[0185]本開示の様々な態様における例は、個別にまたは任意の組合せで使用され得る。
[0186]例に応じて、本明細書で説明された技法のうちのいずれかのいくつかの行為またはイベントは、異なるシーケンスで実施され得、追加、マージ、または完全に除外され得る(たとえば、すべての説明された行為またはイベントが、技法の実践のために必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実施され得る。
[0187]1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベース処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0188]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu-rayディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
[0189]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他の等価な集積またはディスクリート論理回路など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」および「処理回路」という用語は、上記の構造、または本明細書で説明された技法の実装に好適な任意の他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用ハードウェアおよび/またはソフトウェアモジュール内に提供されるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素で十分に実装され得る。
[0190]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって提供され得る。
[0191]様々な例が説明された。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ポイントクラウドを復号するように構成された装置であって、前記装置は、
符号化されたポイントクラウドデータを記憶するように構成されたメモリと、
回路中に実装され、前記メモリと通信している1つまたは複数のプロセッサと、
を備え、前記1つまたは複数のプロセッサは、
前記符号化されたポイントクラウドデータを受信することと、
前記ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、
復号されたポイントクラウドを作成するために、前記最終QP値を使用して、前記符号化されたポイントクラウドデータを復号することと、
を行うように構成された、装置。
[C2]
前記1つまたは複数のプロセッサは、
前記ノードQPオフセットを決定するために、ノードQPオフセットシンタックス要素を復号することと、
前記ジオメトリQP乗数を決定するために、ジオメトリQP乗数シンタックス要素を復号することと、
を行うようにさらに構成された、C1に記載の装置。
[C3]
前記最終QP値を決定するために、前記1つまたは複数のプロセッサは、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って前記最終QP値を決定するようにさらに構成され、ここにおいて、qpFinalは前記最終QP値であり、base_qpはベースQP値であり、slice_qpはスライスQP値であり、node_qp_offsetは前記ノードQPオフセットであり、geom_qp_multiplier_log2は前記ジオメトリQP乗数である、C1に記載の装置。
[C4]
前記ノードQPオフセットは、(1<<geom_qp_multiplier_log2)の倍数である、C3に記載の装置。
[C5]
前記1つまたは複数のプロセッサは、前記最終QP値を(1<<geom_qp_multiplier_log2)に丸めるようにさらに構成された、C3に記載の装置。
[C6]
前記復号されたポイントクラウドを表示するように構成されたディスプレイをさらに備える、C1に記載の装置。
[C7]
ポイントクラウドを符号化するように構成された装置であって、前記装置は、
ポイントクラウドデータを記憶するように構成されたメモリと、
回路中に実装され、前記メモリと通信している1つまたは複数のプロセッサと、
を備え、前記1つまたは複数のプロセッサは、
前記ポイントクラウドデータを受信することと、
前記ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、
符号化されたポイントクラウドを作成するために、前記最終QP値を使用して、前記ポイントクラウドデータを符号化することと、
を行うように構成された、装置。
[C8]
前記1つまたは複数のプロセッサは、
前記ノードQPオフセット示すノードQPオフセットシンタックス要素を符号化することと、
前記ジオメトリQP乗数を示すジオメトリQP乗数シンタックス要素を符号化することと、
を行うようにさらに構成された、C7に記載の装置。
[C9]
前記最終QP値を決定するために、前記1つまたは複数のプロセッサは、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って前記最終QP値を決定するようにさらに構成され、ここにおいて、qpFinalは前記最終QP値であり、base_qpはベースQP値であり、slice_qpはスライスQP値であり、node_qp_offsetは前記ノードQPオフセットであり、geom_qp_multiplier_log2は前記ジオメトリQP乗数である、C7に記載の装置。
[C10]
前記ノードQPオフセットは、(1<<geom_qp_multiplier_log2)の倍数である、C9に記載の装置。
[C11]
前記1つまたは複数のプロセッサは、前記最終QP値を(1<<geom_qp_multiplier_log2)に丸めるようにさらに構成された、C9に記載の装置。
[C12]
前記ポイントクラウドデータを生成するように構成されたセンサーをさらに備える、C7に記載の装置。
[C13]
ポイントクラウドを復号する方法であって、
符号化されたポイントクラウドデータを受信することと、
前記ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、
復号されたポイントクラウドを作成するために、前記最終QP値を使用して、前記符号化されたポイントクラウドデータを復号することと、
を備える、方法。
[C14]
前記ノードQPオフセットを決定するために、ノードQPオフセットシンタックス要素を復号することと、
前記ジオメトリQP乗数を決定するために、ジオメトリQP乗数シンタックス要素を復号することと、
をさらに備える、C13に記載の方法。
[C15]
前記最終QP値を決定することは、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って前記最終QP値を決定することを備え、ここにおいて、qpFinalは前記最終QP値であり、base_qpはベースQP値であり、slice_qpはスライスQP値であり、node_qp_offsetは前記ノードQPオフセットであり、geom_qp_multiplier_log2は前記ジオメトリQP乗数である、C13に記載の方法。
[C16]
前記ノードQPオフセットは、(1<<geom_qp_multiplier_log2)の倍数である、C15に記載の方法。
[C17]
前記最終QP値を(1<<geom_qp_multiplier_log2)に丸めることをさらに備える、C15に記載の方法。
[C18]
前記復号されたポイントクラウドを表示することをさらに備える、C13に記載の方法。
[C19]
ポイントクラウドを符号化する方法であって、
ポイントクラウドデータを受信することと、
前記ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、
符号化されたポイントクラウドを作成するために、前記最終QP値を使用して、前記ポイントクラウドデータを符号化することと、
を備える、方法。
[C20]
前記ノードQPオフセット示すノードQPオフセットシンタックス要素を符号化することと、
前記ジオメトリQP乗数を示すジオメトリQP乗数シンタックス要素を符号化することと、
をさらに備える、C19に記載の方法。
[C21]
前記最終QP値を決定することは、式、qpFinal=((base_qp+slice_qp)<<geom_qp_multiplier_log2)+(node_qp_offset<<geom_qp_multiplier_log2)に従って前記最終QP値を決定することを備え、ここにおいて、qpFinalは前記最終QP値であり、base_qpはベースQP値であり、slice_qpはスライスQP値であり、node_qp_offsetは前記ノードQPオフセットであり、geom_qp_multiplier_log2は前記ジオメトリQP乗数である、C19に記載の方法。
[C22]
前記ノードQPオフセットは、(1<<geom_qp_multiplier_log2)の倍数である、C21に記載の方法。
[C23]
前記最終QP値を(1<<geom_qp_multiplier_log2)に丸めることをさらに備える、C21に記載の方法。
[C24]
前記ポイントクラウドデータを生成することをさらに備える、C19に記載の方法。
[C25]
命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されたとき、ポイントクラウドを符号化するように構成されたデバイスの1つまたは複数のプロセッサに、
ポイントクラウドデータを受信することと、
前記ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、
符号化されたポイントクラウドを作成するために、前記最終QP値を使用して、前記ポイントクラウドデータを符号化することと、
を行わせる、非一時的コンピュータ可読記憶媒体。
[C26]
ポイントクラウドを符号化するように構成された装置であって、
ポイントクラウドデータを受信するための手段と、
前記ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定するための手段と、
符号化されたポイントクラウドを作成するために、前記最終QP値を使用して、前記ポイントクラウドデータを符号化するための手段と、
を備える、装置。
[C27]
命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されたとき、ポイントクラウドを復号するように構成されたデバイスの1つまたは複数のプロセッサに、
符号化されたポイントクラウドデータを受信することと、
前記ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定することと、
復号されたポイントクラウドを作成するために、前記最終QP値を使用して、前記符号化されたポイントクラウドデータを復号することと、
を行わせる、非一時的コンピュータ可読記憶媒体。
[C28]
ポイントクラウドを復号するように構成された装置であって、
符号化されたポイントクラウドデータを受信するための手段と、
前記ポイントクラウドデータのための最終量子化パラメータ(QP)値を、ジオメトリQP乗数を乗算されたノードQPオフセットの関数として決定するための手段と、
復号されたポイントクラウドを作成するために、前記最終QP値を使用して、前記符号化されたポイントクラウドデータを復号するための手段と、
を備える、装置。