(57)【要約】点群をエンコーディングするための方法およびデバイス。あるボリュームのサブボリュームに関する占有状態パターンをシグナリングするビットシーケンスが、バイナリエントロピコーディングを使用してコーディングされる。コンテキストは、近傍系構成およびビットシーケンスの先にコーディングされたビットの部分的シーケンスに基づき得る。コンテキスト削減オペレーションを適用すべきかどうかに関する決定が、行われ、該当する場合、オペレーションは、利用可能なコンテキストの数を削減する。例示的コンテキスト削減オペレーションは、先にコーディングされたビットと関連付けられたサブボリュームによる遮蔽、空の近傍系構成のための特殊ハンドリング、および統計ベースのコンテキスト統合に基づいて、近傍系構成を削減することを含む。
2021521679.tif 000002
【特許請求の範囲】
【請求項１】
点群をエンコーディングし、圧縮された点群データのビットストリームを生成する方法であって、前記点群は、ツリー構造において定義されており、前記ツリー構造は、親子関係を有する複数のノードを有しており、サブボリュームに再帰的に分裂され、前記点群の点を含有している、立体空間の幾何学形状を表しており、あるボリュームのサブボリュームの占有状態は、ビットシーケンスを使用して示され、前記ビットシーケンスの各ビットは、前記ボリューム内での走査順序で個別のサブボリュームの占有状態を示し、ボリュームは、複数の近傍ボリュームを有し、前記近傍ボリュームの占有状態のパターンは、近傍系構成であり、前記方法は、
前記ボリュームのビットシーケンス内の少なくとも１ビットに関して、
コンテキスト削減条件が満たされていることを決定し、それに基づいて、近傍系構成のカウント数と前記シーケンス内で先にコーディングされたビットの数との積より少ないコンテキストを含有する削減コンテキスト集合を選択することと、
前記少なくとも１ビットをコーディングするために、前記近傍ボリュームのうちの少なくともいくつかの占有状態ステータスおよび前記ビットシーケンスの少なくとも１つの先にコーディングされたビットに基づいて、前記削減コンテキスト集合からコンテキストを選択することと、
バイナリエントロピエンコーダを使用して、前記選択されたコンテキストに基づいて、前記少なくとも１ビットをエントロピエンコーディングし、前記ビットストリームに関するエンコーディングされたデータを生産することと、
前記選択されたコンテキストを更新することと
を含む、方法。
【請求項２】
圧縮された点群データのビットストリームをデコーディングし、再構築された点群を生産する方法であって、前記点群は、ツリー構造において定義されており、前記ツリー構造は、親子関係を有する複数のノードを有しており、サブボリュームに再帰的に分裂され、前記点群の点を含有している、立体空間の幾何学形状を表しており、あるボリュームのサブボリュームの占有状態は、ビットシーケンスを使用して示され、前記ビットシーケンスの各ビットは、前記ボリューム内での走査順序で個別のサブボリュームの占有状態を示し、ボリュームは、複数の近傍ボリュームを有し、前記近傍ボリュームの占有状態のパターンは、近傍系構成であり、前記方法は、
前記ボリュームのビットシーケンス内の少なくとも１ビットに関して、
コンテキスト削減条件が満たされていることを決定し、それに基づいて、近傍系構成のカウント数と前記シーケンス内で先にコーディングされたビットの数との積より少ないコンテキストを含有する削減コンテキスト集合を選択することと、
前記少なくとも１ビットをコーディングするために、前記近傍ボリュームのうちの少なくともいくつかの占有状態ステータスおよび前記ビットシーケンスの少なくとも１つの先にコーディングされたビットに基づいて、前記削減コンテキスト集合からコンテキストを選択することと、
バイナリエントロピデコーダを使用して、前記選択されたコンテキストに基づいて、前記少なくとも１ビットをエントロピデコーディングし、前記ビットストリームから再構築されたビットを生産することと、
前記選択されたコンテキストを更新することと
を含む、方法。
【請求項３】
前記コンテキスト削減条件は、１つ以上の先にコーディングされた占有状態ビットが、前記少なくとも１ビットと関連付けられた前記サブボリュームと前記近傍ボリュームのうちの１つ以上のものとの間に位置付けられる１つ以上の個別のサブボリュームと関連付けられることを決定することを含む、請求項１または請求項２に記載の方法。
【請求項４】
前記コンテキスト削減条件は、先にエンコーディングされたビットと関連付けられた４つのサブボリュームが、特定の近傍系ボリュームとある面を共有することを決定することを含む、請求項３に記載の方法。
【請求項５】
前記コンテキスト削減条件は、前記ビットシーケンスの少なくとも４ビットが先にコーディングされていることを決定することを含む、請求項３または請求項４に記載の方法。
【請求項６】
前記コンテキスト削減条件が満たされることを決定することは、前記近傍ボリュームの占有状態のパターンが、前記複数の近傍ボリュームが占有されていないことを示すことを決定することを含む、請求項１−５のいずれか１項に記載の方法。
【請求項７】
前記複数の近傍ボリュームが占有されていないことの決定に基づいて、前記選択された削減コンテキスト集合は、前記ビットシーケンス内の先にコーディングされたビットの数に対応するコンテキストの数を含む、請求項６に記載の方法。
【請求項８】
前記複数の近傍ボリュームが占有されていないことの決定に基づいて、前記コンテキストを選択することは、前記ビットシーケンス内の先にコーディングされたビットの和に基づいて、前記コンテキストを選択することを含む、請求項７に記載の方法。
【請求項９】
前記コンテキスト削減条件は、前記ビットシーケンス内の少なくとも閾値数のビットが先にコーディングされていることを決定することを含み、前記削減コンテキスト集合は、近傍系構成と前記ビットシーケンス内の先にコーディングされたビットのパターンとの各可能性として考えられる組み合わせを前記より少ないコンテキストにマッピングするルックアップテーブルを備える、請求項１−８のいずれか１項に記載の方法。
【請求項１０】
前記ルックアップテーブルは、個別の対の利用可能なコンテキスト間の距離測定値が閾値未満であることの決定に基づく複数のクラスへの利用可能なコンテキストの反復グループ化に基づいて生成され、前記複数のクラス内の各クラスは、前記より小さい集合内の個別のコンテキストを備え、近傍系構成と前記ビットシーケンス内の先にコーディングされたビットのパターンとの可能性として考えられる組み合わせ毎に、利用可能なコンテキストが存在する、請求項９に記載の方法。
【請求項１１】
前記近傍ボリュームのうちの少なくともいくつかは、前記ボリュームと少なくとも１つの面を共有する近傍ボリュームである、請求項１−１０のいずれか１項に記載の方法。
【請求項１２】
点群をエンコーディングし、圧縮された点群データのビットストリームを生成するためのエンコーダであって、前記点群は、ツリー構造において定義されており、前記ツリー構造は、親子関係を有する複数のノードを有しており、サブボリュームに再帰的に分裂され、前記点群の点を含有している、立体空間の幾何学形状を表しており、あるボリュームのサブボリュームの占有状態は、ビットシーケンスを使用して示され、前記ビットシーケンスの各ビットは、前記ボリューム内での走査順序で個別のサブボリュームの占有状態を示し、ボリュームは、前記ボリュームと少なくとも頂点を共有する複数の近傍ボリュームを有し、前記エンコーダは、
プロセッサと、
メモリと、
エンコーディングアプリケーションであって、前記エンコーディングアプリケーションは、前記プロセッサによって実行可能な命令を含有しており、前記命令は、実行されると、前記プロセッサに、請求項１または請求項１から独立するときは請求項３−１１のいずれか１項に記載の方法を実施させる、エンコーディングアプリケーションと
を備える、エンコーダ。
【請求項１３】
圧縮された点群データのビットストリームをデコーディングし、再構築された点群を生産するためのデコーダであって、前記点群は、ツリー構造において定義されており、前記ツリー構造は、親子関係を有する複数のノードを有しており、サブボリュームに再帰的に分裂され、前記点群の点を含有している、立体空間の幾何学形状を表しており、あるボリュームのサブボリュームの占有状態は、ビットシーケンスを使用して示され、前記ビットシーケンスの各ビットは、前記ボリューム内での走査順序で個別のサブボリュームの占有状態を示し、ボリュームは、前記ボリュームと少なくとも頂点を共有する複数の近傍ボリュームを有し、前記デコーダは、
プロセッサと、
メモリと、
デコーディングアプリケーションであって、前記デコーディングアプリケーションは、前記プロセッサによって実行可能な命令を含有しており、前記命令は、実行されると、前記プロセッサに、請求項２または請求項２から独立するときは請求項３−１１のいずれか１項に記載の方法を実施させる、デコーディングアプリケーションと
を備える、デコーダ。
【請求項１４】
非一過性プロセッサ可読媒体であって、前記非一過性プロセッサ可読媒体は、プロセッサ実行可能命令を記憶しており、前記命令は、プロセッサによって実行されると、前記プロセッサに、請求項１−１１のいずれか１項に記載の方法を実施させる、非一過性プロセッサ可読媒体。
【請求項１５】
コンピュータ可読シグナルであって、前記コンピュータ可読シグナルは、プログラム命令を含有しており、前記プログラム命令は、コンピュータによって実行されると、前記コンピュータに、請求項１−１１のいずれか１項に記載の方法を実施させる、コンピュータ可読シグナル。
【発明の詳細な説明】
【技術分野】
【０００１】
（分野）
本願は、概して、点群の圧縮に関し、特に、点群のバイナリエントロピコーディングのための方法およびデバイスに関する。
【背景技術】
【０００２】
（背景）
データ圧縮が、情報を効率的に記憶、伝送、および複製するために、通信およびコンピュータネットワーキングにおいて使用されている。３次元物体または空間の表現にますます関心が高まっているが、これは、大量データ集合を伴い得、そのための効率的および効果的圧縮が、非常に有用であり、価値があるであろう。ある場合には、３次元物体または空間は、点群を使用して表され得、これは、それぞれ、３つの座標場所（Ｘ、Ｙ、Ｚ）と、ある場合には、色データ（例えば、輝度および色度）、透明度、反射率、法線ベクトル等のような他の属性とを有する、点の集合である。点群は、静的（定常物体または単一時点における環境／物体のスナップショット）または動的（点群の時系列シーケンス）であり得る。
【０００３】
点群のための例示的用途は、トポグラフィおよびマッピング用途を含む。自律車両および他のマシンビジョン用途は、ＬｉＤＡＲスキャナから等の環境の３Ｄ走査の形態における点群センサデータに依拠し得る。仮想現実シミュレーションは、点群に依拠し得る。
【０００４】
点群が、大量のデータを伴い得、そのデータを迅速かつ正確に圧縮（エンコーディングおよびデコーディング）することが、有意な関心事であることを理解されたい。故に、点群のためのデータをより効率的および／または効果的に圧縮する、方法およびデバイスを提供することが、有利であろう。また、過剰な数のコンテキストの管理を要求せずに、コンテキスト適応バイナリエントロピコーディングを使用して実装され得る、点群をコーディングするための方法およびデバイスを見出すことが、有利であろう。
【発明の概要】
【課題を解決するための手段】
【０００５】
本願は、点群をエンコーディングおよびデコーディングする方法と、点群をエンコーディングおよびデコーディングするためのエンコーダおよびデコーダとを説明する。あるボリュームのサブボリュームに関する占有状態パターンをシグナリングするビットシーケンスが、バイナリエントロピコーディングを使用してコーディングされ得る。コンテキストは、近傍系構成およびビットシーケンスの先にコーディングされたビットの部分的シーケンスに基づき得る。コンテキスト削減オペレーションを適用すべきかどうかに関する決定が、行われ、該当する場合、オペレーションは、利用可能なコンテキストの数を削減する。例示的コンテキスト削減オペレーションは、先にコーディングされたビットと関連付けられたサブボリュームによる遮蔽、空の近傍系構成のための特殊ハンドリング、および統計ベースのコンテキスト統合に基づいて、近傍系構成を削減することを含む。削減は、コーディングに先立って適用されてもよく、削減コンテキスト集合を使用するための状況が満たされるかどうかに関する決定が、コーディングの間に行われてもよい。
【０００６】
一側面では、本願は、点群をエンコーディングし、圧縮された点群データのビットストリームを生成する方法であって、点群は、ツリー構造に定義されており、ツリー構造は、親子関係を有する複数のノードを有しており、サブボリュームに再帰的に分裂され、点群の点を含有している、立体空間の幾何学形状を表しており、あるボリュームのサブボリュームの占有状態は、ビットシーケンスを使用して示され、ビットシーケンスの各ビットは、ボリューム内での走査順序で個別のサブボリュームの占有状態を示し、ボリュームは、複数の近傍ボリュームを有し、近傍ボリュームの占有状態のパターンは、近傍系構成である、方法を提供する。本方法は、ボリュームのビットシーケンス内の少なくとも１ビットに関して、コンテキスト削減条件が満たさていれることを決定し、それに基づいて、近傍系構成のカウント数とシーケンス内で先にコーディングされたビットの数との積より少ないコンテキストを含有する、削減コンテキスト集合を選択することと、少なくとも１ビットをコーディングするために、近傍ボリュームのうちの少なくともいくつかの占有状態ステータスおよびビットシーケンスの少なくとも１つの先にコーディングされたビットに基づいて、削減コンテキスト集合からコンテキストを選択することと、バイナリエントロピエンコーダを使用して、選択されたコンテキストに基づいて、少なくとも１ビットをエントロピエンコーディングし、ビットストリームに関するエンコーディングされたデータを生産することと、選択されたコンテキストを更新することとを含む。
【０００７】
別の側面では、本願は、圧縮された点群データのビットストリームをデコーディングし、再構築された点群を生産する方法であって、点群は、ツリー構造に定義されており、ツリー構造は、親子関係を有する複数のノードを有しており、サブボリュームに再帰的に分裂され、点群の点を含有している、立体空間の幾何学形状を表しており、あるボリュームのサブボリュームの占有状態は、ビットシーケンスを使用して示され、ビットシーケンスの各ビットは、ボリューム内での走査順序で個別のサブボリュームの占有状態を示し、ボリュームは、複数の近傍ボリュームを有し、近傍ボリュームの占有状態のパターンは、近傍系構成である、方法を提供する。デコーディングする方法は、ボリュームのビットシーケンス内の少なくとも１ビットに関して、コンテキスト削減条件が満たされていることを決定し、それに基づいて、近傍系構成のカウント数とシーケンス内で先にコーディングされたビットの数との積より少ないコンテキストを含有する、削減コンテキスト集合を選択することと、少なくとも１ビットをコーディングするために、近傍ボリュームのうちの少なくともいくつかの占有状態ステータスおよびビットシーケンスの少なくとも１つの先にコーディングされたビットに基づいて、削減コンテキスト集合からコンテキストを選択することと、バイナリエントロピデコーダを使用して、選択されたコンテキストに基づいて、少なくとも１ビットをエントロピデコーディングし、ビットストリームから再構築されたビットを生産することと、選択されたコンテキストを更新することとを含む。
【０００８】
いくつかの実装では、コンテキスト削減条件は、１つ以上の先にコーディングされた占有状態ビットが、少なくとも１ビットと関連付けられたサブボリュームと近傍ボリュームのうちの１つ以上のものとの間に位置付けられる、１つ以上の個別のサブボリュームと関連付けられることを決定することを含んでもよい。ある場合には、これは、先にエンコーディングされたビットと関連付けられた４つのサブボリュームが、特定の近傍系ボリュームとある面を共有することを決定することを含んでもよい。
【０００９】
いくつかの実装では、コンテキスト削減条件は、ビットシーケンスの少なくとも４ビットが先にコーディングされていることを決定することを含んでもよい。
【００１０】
いくつかの実装では、コンテキスト削減条件が満たされることを決定することは、近傍ボリュームの占有状態のパターンが、複数の近傍ボリュームが占有されていないことを示すことを決定することを含んでもよい。それらの場合のうちのいくつかでは、選択された削減コンテキスト集合は、ビットシーケンス内の先にコーディングされたビットの数に対応するコンテキストの数を含んでもよく、随意に、コンテキストを選択することは、ビットシーケンス内の先にコーディングされたビットの和に基づいて、コンテキストを選択することを含んでもよい。
【００１１】
いくつかの実装では、コンテキスト削減条件は、ビットシーケンス内の少なくとも閾値数のビットが先にコーディングされていることを決定することを含んでもよく、削減コンテキスト集合は、近傍系構成とビットシーケンス内の先にコーディングされたビットのパターンとの各可能性として考えられる組み合わせをより少ないコンテキストにマッピングする、ルックアップテーブルを含んでもよい。いくつかの実施例では、ルックアップテーブルは、個別の対の利用可能なコンテキスト間の距離測定値が閾値未満であることの決定に基づく、複数のクラスへの利用可能なコンテキストの反復グループ化に基づいて生成され、複数のクラス内の各クラスは、より小さい集合内の個別のコンテキストを含んでもよく、近傍系構成とビットシーケンス内の先にコーディングされたビットのパターンとの可能性として考えられる組み合わせ毎に、利用可能なコンテキストが存在してもよい。
【００１２】
いくつかの実装では、近傍ボリュームのうちの少なくともいくつかは、ボリュームと少なくとも１つの面を共有する、近傍ボリュームである。
【００１３】
さらなる側面では、本願は、エンコーディングおよびデコーディングするそのような方法を実装するように構成される、エンコーダおよびデコーダを説明する。
【００１４】
さらにさらなる側面では、本願は、実行されると、１つ以上のプロセッサに、エンコーディングおよび／またはデコーディングする説明される方法を実施させる、コンピュータ実行可能プログラム命令を記憶する、非一過性コンピュータ可読媒体を説明する。
【００１５】
さらに別の側面では、本願は、コンピュータによって実行されると、コンピュータに、エンコーディングおよび／またはデコーディングする説明される方法を実施させる、プログラム命令を含有する、コンピュータ可読シグナルを説明する。
【００１６】
本願の他の側面および特徴は、付随の図と併せて、実施例の以下の説明の精査から、当業者によって理解されるであろう。
【００１７】
本発明の一側面または実施形態に関連して説明される任意の特徴はまた、１つ以上の他の側面／実施形態に関して使用され得る。本発明のこれらおよび他の側面は、本明細書に説明される実施形態から明白となり、それを参照して解明されるであろう。
【００１８】
ここで、一例として、本願の例示的実施形態を示す、付随の図面が参照されるであろう。
【図面の簡単な説明】
【００１９】
【図１】図１は、例示的点群エンコーダの簡略化されたブロック図を示す。
【００２０】
【図２】図２は、例示的点群デコーダの簡略化されたブロック図を示す。
【００２１】
【図３】図３は、例示的部分的サブボリュームおよびコーディングするための関連付けられたツリー構造を示す。
【００２２】
【図４】図４は、八分木の回帰的分裂およびコーディングを図示する。
【００２３】
【図５】図５は、八分木からのある例示的立方体内の例示的走査パターンを示す。
【００２４】
【図６】図６は、ある例示的立方体内の例示的占有状態パターンを示す。
【００２５】
【図７】図７は、フローチャート形態において、点群をエンコーディングするための一例示的方法を示す。
【００２６】
【図８】図８は、例示的八分木の一部を図示する。
【００２７】
【図９】図９は、近傍サブボリュームのある実施例を示す。
【００２８】
【図１０】図１０は、近傍ノード間の占有状態を示す、例示的近傍系構成を示す。
【００２９】
【図１１】図１１は、親パターン依存コンテキストを使用した点群エントロピエンコーディングのプロセスの１つの例証的実施形態を図式的に示す。
【００３０】
【図１２】図１２は、近傍系構成依存コンテキストを使用した点群エントロピエンコーディングのプロセスの例証的実施形態を示す。
【００３１】
【図１３】図１３は、フローチャート形態において、圧縮された点群データのビットストリームをデコーディングするための一例示的方法を示す。
【００３２】
【図１４】図１４は、エンコーダの例示的な簡略化されたブロック図を示す。
【００３３】
【図１５】図１５は、デコーダの例示的な簡略化されたブロック図を示す。
【００３４】
【図１６】図１６は、例示的デカルト座標系および軸を中心とした例示的回転および／または反射を示す。
【００３５】
【図１７】図１７は、Ｚ軸を中心とする回転の１回または数回の反復下の近傍系構成の不変性のクラスを示す。
【００３６】
【図１８】図１８は、垂直反射に関する近傍系構成の不変性のクラスを示す。
【００３７】
【図１９】図１９は、回転および反射の両方に関する不変性のクラスを示す。
【００３８】
【図２０】図２０は、３回の回転および反射下の不変性のクラスを示す。
【００３９】
【図２１】図２１は、占有状態パターンに関する非バイナリコーディングとカスケード表示されたバイナリコーディングとの間の等価性を図示する。
【００４０】
【図２２】図２２は、フローチャート形態において、バイナリコーディングを使用してツリーベースの点群コーダ内の占有状態パターンをコーディングするための一例示的方法を示す。
【００４１】
【図２３】図２３は、例示的エンコーダの一部の簡略化されたブロック図を示す。
【００４２】
【図２４】図２４は、近傍系遮断に基づく、例示的コンテキスト削減オペレーションを図式的に示す。
【００４３】
【図２５】図２５は、近傍系遮断に基づく、別の例示的コンテキスト削減オペレーションを示す。
【００４４】
【図２６】図２６は、フローチャート形態において、組み合わせられたコンテキスト削減を使用して占有状態パターンをバイナリコーディングする方法の一実施例を示す。
【発明を実施するための形態】
【００４５】
類似参照番号が、類似コンポーネントを示すために、異なる図で使用されている場合がある。
【００４６】
（例の実施形態の説明）
時として、下記の説明では、用語「ノード」、「ボリューム」、および「サブボリューム」は、同義的に使用され得る。ノードが、ボリュームまたはサブボリュームと関連付けられることを理解されたい。ノードは、内部ノードまたは葉ノードであり得る、ツリー上の特定の点である。ボリュームまたはサブボリュームは、ノードが表す、境界された物理的空間である。用語「ボリューム」は、ある場合には、点群を含有するために定義された最大の境界された空間を指すために使用され得る。ボリュームは、点群データをコーディングするために相互接続されたノードのツリー構造を確立する目的のために、サブボリュームに再帰的に分割され得る。
【００４７】
本願では、用語「および／または」は、列挙された要素単独、要素の任意の副次的組み合わせ、またはその全てのうちのいずれか１つを含み、かつ必ずしも付加的要素を除外せずに、列挙された要素のあらゆる可能性として考えられる組み合わせおよび副次的組み合わせを網羅するように意図される。
【００４８】
本願では、語句「…または…のうちの少なくとも一方」は、列挙された要素単独、要素の任意の副次的組み合わせ、またはその全てのうちのいずれか１つを含み、必ずしも任意の付加的要素を除外せず、かつ必ずしも要素の全てを要求せずに、列挙された要素のうちの任意の１つ以上のものを網羅するように意図される。
【００４９】
点群は、３次元座標系内の点の集合である。点は、多くの場合、１つ以上の物体の外部表面を表すように意図される。各点は、３次元座標系内の場所（位置）を有する。位置は、３つの座標（Ｘ、Ｙ、Ｚ）によって表され得、これは、デカルトまたは任意の他の座標系であることができる。点は、色等の他の関連付けられる属性を有してもよく、これはまた、ある場合には、Ｒ、Ｇ、ＢまたはＹ、Ｃｂ、Ｃｒ等の３つの成分値であってもよい。他の関連付けられる属性は、点群データのための所望の用途に応じて、透明度、反射率、法線ベクトル等を含んでもよい。
【００５０】
点群は、静的または動的であることができる。例えば、物体またはトポグラフィの詳細な走査またはマッピングは、静的点群データであり得る。マシンビジョン目的のための環境のＬｉＤＡＲベースの走査は、点群（少なくとも潜在的に）が、経時的に、例えば、ボリュームの各連続走査に伴って変化するという点で動的であり得る。動的点群は、したがって、点群の時系列シーケンスである。
【００５１】
点群データは、いくつかの実施例を挙げると、保護管理（歴史的または文化的物体の走査）、マッピング、マシンビジョン（自律または半自律走行車等）、および仮想現実システムを含む、いくつかの用途において使用され得る。マシンビジョンのような用途のための動的点群データは、保護管理目的のためのもののような静的点群データと非常に異なり得る。自動車ビジョンは、例えば、典型的には、高頻度の捕捉を伴うＬｉＤＡＲ（または類似）センサを通して取得される、比較的に低分解能で、無色の、非常に動的な点群を伴う。そのような点群の目的は、人間による消費または視認のためではなく、むしろ、決定プロセスにおける機械的物体検出／分類のためである。実施例として、典型的ＬｉＤＡＲフレームは、約数万の点を含有する一方、高品質仮想現実用途は、数百万の点を要求する。算出速度が増加し、新しい用途が見出されるにつれて、より高い分解能データの需要が経時的に存在するであろうことが、予期され得る。
【００５２】
点群データは、有用であるが、効果的かつ効率的な圧縮、すなわち、エンコーディングおよびデコーディングプロセスの欠如が、採用および展開を妨げ得る。オーディオまたはビデオのような他のデータ圧縮の場合には生じない、点群をコーディングする際の特定の課題は、点群の幾何学形状のコーディングである。点群は、疎らに取り込まれる傾向にあり、これは、点の場所を効率的にコーディングすることをはるかに困難にする。
【００５３】
点群データをコーディングするためのより一般的機構のうちの１つは、ツリーベースの構造の使用を通したものである。ツリーベースの構造では、点群のための境界３次元ボリュームが、サブボリュームに再帰的に分割される。ツリーのノードは、サブボリュームに対応する。サブボリュームをさらに分割するかどうかの決定は、ツリーの分解能および／またはサブボリューム内に含有される任意の点が存在するかどうかに基づき得る。葉ノードが、その関連付けられるサブボリュームが点を含有するかどうかを示す、占有状態フラグを有し得る。分裂フラグが、ノードが子ノードを有しているかどうか（すなわち、現在のボリュームがサブボリュームにさらに分裂されているかどうか）をシグナリングし得る。これらのフラグは、ある場合には、エントロピコーディングされてもよく、ある場合には、予測コーディングが、使用されてもよい。
【００５４】
一般に使用されるツリー構造は、八分木である。本構造では、ボリューム／サブボリュームは全て、立方体であって、サブボリュームの各分裂は、８つのさらなるサブボリューム／サブ立方体をもたらす。別の一般に使用されるツリー構造は、ＫＤツリーであって、その中でボリューム（立方体または矩形直方体）は、軸のうちの１つに直交する平面によって２つに再帰的に分割される。八分木は、ＫＤツリーの特殊例であって、ボリュームは、それぞれ、３つの軸のうちの１つに直交する、３つの平面によって分割される。これらの実施例は両方とも、立方体または矩形直方体に関するが、しかしながら、本願は、そのようなツリー構造に制限されず、ボリュームおよびサブボリュームは、いくつかの用途では、他の形状を有してもよい。ボリュームのパーティション化は、必ずしも、２つのサブボリューム（ＫＤツリー）または８つのサブボリューム（八分木）にではなく、非矩形形状への分割を含む、または非隣接サブボリュームを伴う、他のパーティションを伴い得る。
【００５５】
本願は、説明を容易にするために、かつそれらが自動車用途のための一般的候補ツリー構造であるため、八分木を参照し得るが、本明細書に説明される方法およびデバイスが、他のツリー構造を使用して実装され得ることを理解されたい。
【００５６】
ここで、本願の側面による、点群エンコーダ１０の簡略化されたブロック図を示す、図１を参照する。点群エンコーダ１０は、点群データを受信し、点群を含有する立体空間の幾何学形状を表し、その幾何学形状内の点群からの点の場所または位置を示す、ツリー（本実施例では、八分木）を生産するためのツリー確立モジュール１２を含む。
【００５７】
八分木を作成し、点群をコーディングするための基本プロセスは、以下を含み得る。
１．座標系内に点群を含有する、境界ボリューム（立方体）から開始する。
２．ボリュームを８つのサブボリューム（８つのサブ立方体）に分裂させる。
３．サブボリューム毎に、サブボリュームが空である場合、０で、または少なくとも１つの点がその中に存在する場合、１で、サブボリュームをマークする。
４．全てのサブボリュームが１でマークされるために、分裂の最大深度に到達するまで、（２）を繰り返し、それらのサブボリュームを分裂させる。
５．最大深度の全ての葉サブボリューム（サブ立方体）に関して、非空である場合、１で、そうでなければ、０で、葉立方体をマークする。
【００５８】
上記のプロセスは、占有状態が分裂に匹敵するプロセスとして説明される場合があり、分裂が、占有状態を含意し、それを超えるとさらなる分裂が生じないであろう、最大深度または分解能が存在する、制約を伴う。この場合、単一フラグが、ノードが分裂されるかどうか、故に、少なくとも１つの点によって占有されているかどうかをシグナリングし、その逆も同様である。最大深度では、フラグは、さらなる分裂が可能ではないという占有状態をシグナリングする。
【００５９】
いくつかの実装では、分裂および占有状態は、ノードが、占有され得、分裂される場合とそうではない場合があるように、独立している。本実装には、以下の２つの変形例が存在する。
１．分裂される、したがって、占有されている。シグナルフラグは、ノードが分裂されるかどうかを示す。分裂される場合、ノードは、点を含有しなければならない、すなわち、分裂は、占有状態を含意する。そうでなければ、ノードが、分裂されない場合、さらなる占有状態フラグが、ノードが少なくとも１つの点を含有するかどうかをシグナリングする。故に、ノードが、さらに分裂されない、すなわち、葉ノードであるとき、葉ノードは、関連付けられた占有状態フラグを有し、任意の点を含有するかどうかを示さなければならない。
２．占有されている、したがって、分裂される。単一フラグが、ノードが占有されているかどうかを示す。占有されていない場合、分裂は、生じない。占有されている場合、分裂フラグは、ノードがさらに分裂されるかどうかを示すようにコーディングされる。
【００６０】
上記に説明されるプロセスのうちのいずれがツリーを確立するために使用されるかに関係なく、事前に定義された順序（幅優先または深度優先で、各分割されたサブボリューム内の走査パターン／順序に従って）でトラバースされ、フラグ（占有状態および／または分裂フラグ）からビットのシーケンスを生産し得る。これは、ツリーの直列化またはバイナリ化と称され得る。図１に示されるように、本実施例では、点群エンコーダ１０は、八分木をバイナリ化し、ツリーを表すバイナリ化されたデータのビットストリームを生産するためのバイナライザ１４を含む。
【００６１】
本ビットのシーケンスは、次いで、エントロピエンコーダ１６を使用してエンコーディングされ、圧縮されたビットストリームを生産し得る。エントロピエンコーダ１６は、エントロピエンコーダ１６によるコンテキスト決定に基づくビットをコーディングするための確率を規定する、コンテキストモデル１８を使用して、ビットのシーケンスをエンコーディングし得る。コンテキストモデル１８は、各ビットまたは定義されたビットの集合のコーディング後、適応的に更新されてもよい。エントロピエンコーダ１６は、ある場合には、バイナリ算術エンコーダであってもよい。バイナリ算術エンコーダは、いくつかの実装では、コンテキスト適応バイナリ算術コーディング（ＣＡＢＡＣ）を採用してもよい。いくつかの実装では、算術コーダ以外のコーダが、使用されてもよい。
【００６２】
ある場合には、エントロピエンコーダ１６は、バイナリコーダではなくてもよく、代わりに、非バイナリデータに作用してもよい。ツリー確立モジュール１２からの出力八分木データは、バイナリ形態で評価されなくてもよく、代わりに、非バイナリデータとしてエンコーディングされてもよい。例えば、八分木の場合、その走査順序におけるサブボリューム内の８つのフラグ（例えば、占有状態フラグ）は、２８−１ビット番号（例えば、値０が分裂されたサブボリュームに関して不可能である、すなわち、全体的に占有されていない場合、分裂されてないであろうため、１〜２５５の値を有する整数）であると見なされ得る。本番号は、いくつかの実装では、マルチシンボル算術コーダを使用して、エントロピエンコーダによってエンコーディングされ得る。サブボリューム、例えば、立方体内では、本整数を定義する、フラグのシーケンスは、「パターン」と称され得る。
【００６３】
ビデオまたは画像コーディングのように、点群コーディングは、サブボリュームに関するパターンを予測するように行われる予測オペレーションを含むことができる。予測は、空間的（同一点群内の先にコーディングされたサブボリュームに依存する）または時間的（点群の時系列シーケンス内の先にコーディングされた点群に依存する）であってもよい。
【００６４】
エンコーダ１０に対応する、例示的点群デコーダ５０のブロック図が、図２に示される。点群デコーダ５０は、エンコーダ１０によって使用される同一コンテキストモデル５４を使用する、エントロピデコーダ５２を含む。エントロピデコーダ５２は、圧縮されたデータの入力ビットストリームを受信し、データをエントロピデコーディングし、解凍されたビットの出力シーケンスを生産する。シーケンスは、次いで、ツリーリコンストラクタ５６によって再構築された点群データに変換される。ツリーリコンストラクタ５６は、解凍されたデータおよびツリーデータがバイナリ化された走査順序の知識からツリー構造を再確立する。ツリーリコンストラクタ５６は、したがって、点群から点の場所を再構築することが可能である（ツリーコーディングの分解能に準拠する）。
【００６５】
例示的部分的サブボリューム１００が、図３に示される。本実施例では、サブボリューム１００は、例証を容易にするために、２次元で示され、サブボリューム１００のサイズは、１６×１６である。サブボリュームが、４つの８×８サブ正方形に分割されており、それらのうちの２つが、４×４サブ正方形にさらに細分割されており、それらのうちの３つはさらに、２×２サブ正方形に分割され、２×２サブ正方形のうちの１つが、次いで、１×１正方形に分割されることに留意されたい。１×１正方形は、ツリーの最大深度であって、位置点データのための最微細分解能を表す。点群からの点は、ドットとして図中に示される。
【００６６】
ツリー１０２の構造は、サブボリューム１００の右に示される。分裂フラグ１０４のシーケンスおよび占有状態フラグ１０６の対応するシーケンスが、事前に定義された幅優先走査順序で取得され、ツリー１０２の右に示される。本例証的実施例では、分裂されていない、すなわち、ゼロに設定される関連付けられた分裂フラグを有する、サブボリューム（ノード）毎の占有状態フラグが存在することが観察されるであろう。これらのシーケンスは、エントロピエンコーディングされ得る。
【００６７】
占有されている≡分裂条件を採用する、別の実施例が、図４に示される。図４は、八分木１５０の回帰的分裂およびコーディングを図示する。八分木１５０の一部のみが、図に示される。ＦＩＦＯ１５２は、本プロセスの幅優先性質を図示するために、分裂のためのノードを処理するように示される。ＦＩＦＯ１５２は、その親ノード１５６の処理後にさらに分裂させるために、ＦＩＦＯ１５２内の待ち行列に入れられた占有されているノード１５４を出力する。ツリービルダは、占有されているノード１５４と関連付けられたサブボリュームを８つのサブボリューム（立方体）に分裂させ、その占有状態を決定する。占有状態は、サブボリューム毎に、占有状態フラグによって示されてもよい。事前に規定された走査順序において、フラグは、ノード１５４に関する占有状態パターンと称され得る。パターンは、事前に定義された走査順序でサブボリュームと関連付けられた占有状態フラグのシーケンスを表す、整数によって規定されてもよい。八分木の場合、パターンは、［１，２５５］の範囲内の整数である。
【００６８】
エントロピエンコーダは、次いで、コンテキストモデルによって規定された確率に基づいて、非バイナリ算術エンコーダを使用して、そのパターンをエンコーディングする。本実施例では、確率は、初期分布モデルに基づくパターン分布であって、適応的に更新されてもよい。１つの実装では、パターン分布は、事実上、各パターン（１〜２５５の整数）がコーディングの間に遭遇された回数のカウンタである。パターン分布は、各サブボリュームがコーディングされた後、更新されてもよい。パターン分布は、パターンの相対的頻度が、確率査定に深く関わり、絶対カウント数ではないため、必要に応じて、正規化されてもよい。
【００６９】
パターンに基づいて、占有されている（例えば、フラグ＝１を有する）、それらの子ノードは、次いで、順番にさらに分裂させるために、ＦＩＦＯ１５２の中に入れられる（ノードがツリーの最大深度ではないことを前提とする）。
【００７０】
ここで、八分木からの例示的立方体１８０を示す、図５を参照する。立方体１８０は、８つのサブ立方体に細分割される。フラグを読み取るための走査順序は、８ビットストリングをもたらし、これは、バイナリ内の整数［１，２５５］として読み取られることができる。走査順序およびストリング内の各サブ立方体のフラグの結果として生じるビット位置に基づいて、サブ立方体は、図５に示される値を有する。走査順序は、エンコーダおよびデコーダの両方が同一走査順序を使用することを前提として、サブ立方体の任意のシーケンスであってもよい。
【００７１】
実施例として、図６は、その中で４つの「正面」サブ立方体が占有されている、立方体１８０を示す。これは、占有されているサブ立方体が立方体１＋４＋１６＋６４であることに基づく、パターン８５に対応するであろう。整数パターン番号は、サブ立方体内の占有状態のパターンを規定する。
【００７２】
八分木表現以上の概して任意のツリー表現は、ツリーが点座標のより高次のビットを分解する傾向にあるため、空間相関を伴う点を表す際に効率的である。八分木に関して、各レベルの深度は、精緻化あたり８ビットを犠牲にして、コンポーネント毎に１ビットずつサブボリューム内の点の座標を精緻化する。さらなる圧縮が、分裂情報、すなわち、各ツリーノードと関連付けられたパターンをエントロピコーディングすることによって取得される。本さらなる圧縮は、パターン分布が均一ではないため、可能であって、非均一性は、相関の別の結果である。
【００７３】
現在のシステムにおける１つの潜在的非効率性は、パターン分布（例えば、ツリーの先にコーディングされたノードに見られるパターン番号のヒストグラム）が、点群をコーディングする過程にわたって発生することである。ある場合には、パターン分布は、等確率であるように初期化されてもよい、またはある他の所定の分布に初期化されてもよいが、但し、１つのパターン分布の使用は、コンテキストモデルが、局所的幾何学的相関を考慮しない、または利用しないことを意味する。
【００７４】
欧州特許出願第１８３０５０３７．６号では、本出願人は、特定のノードの近くの先にコーディングされたノードからのある占有状態情報に基づいて、特定のノードの占有状態のパターンをコーディングする際に使用されるための利用可能なパターン分布の中から選択するための方法およびデバイスを説明している。一例示的実装では、占有状態情報は、特定のノードに対する親の占有状態のパターンから取得される。別の例示的実装では、占有状態情報は、特定のノードの近傍の１つ以上のノードから取得される。欧州特許出願第１８３０５０３７．６号の内容は、参照することによって本明細書に組み込まれる。
【００７５】
ここで、フローチャート形態において、点群をエンコーディングする一例示的方法２００を示す、図７を参照する。方法２００は、本実施例では、占有されているノード（サブボリューム）の回帰的分裂およびコーディングするためのツリーの幅優先トラバーサルを伴う。
【００７６】
オペレーション２０２では、エンコーダは、現在のノードに関する占有状態のパターンを決定する。現在のノードは、それぞれ、個別のサブ立方体に対応する、８つの子ノードに分裂されている、占有されているノードである。現在のノードに関する占有状態のパターンは、走査順序で８つの子ノードの占有状態を規定する。上記に説明されるように、本占有状態のパターンは、１〜２５５の整数、例えば、８ビットバイナリストリングを使用して示されてもよい。
【００７７】
オペレーション２０４では、エンコーダは、確率分布の集合の中から確率分布を選択する。確率分布の選択は、近隣の先にコーディングされたノード、すなわち、現在のノードの近傍系である、少なくとも１つのノードからのある占有状態情報に基づく。いくつかの実施形態では、少なくとも１つの面を共有する、個別のサブボリュームと関連付けられる場合、２つのノードが、近傍にあることになる。より広い定義では、少なくとも１つの縁を共有する場合、ノードは、近傍にあることになる。さらにより広い定義では、少なくとも１つの頂点を共有する場合、２つのノードは、近傍にあることになる。その中で現在のノードが子ノードである、親パターンは、現在のノードおよび現在のノードに対する７つの兄弟ノードに関する占有状態データを提供する。いくつかの実装では、占有状態情報は、親パターンである。いくつかの実装では、占有状態情報は、現在のノードとツリーの同一深度レベルにあるノードを含むが、異なる親ノードを有する、近傍系ノードの集合に関する占有状態データである。ある場合には、これらの組み合わせも、可能性として考えられる。例えば、近傍系ノードの集合は、いくつかの兄弟ノードおよびいくつかの非兄弟ノードを含んでもよい。
【００７８】
いったん確率分布が、選択されると、エンコーダは、次いで、オペレーション２０６によって示されるように、選択された確率分布を使用して、現在のノードに関する占有状態パターンをエントロピエンコーディングする。次いで、オペレーション２０８において、占有状態パターンに基づいて、選択された確率分布を更新し、例えば、その占有状態パターンに対応するカウント数をインクリメントしてもよい。オペレーション２１０では、エンコーダは、コーディングするためのさらなるノードが存在するかどうかを評価し、該当する場合、オペレーション２０２に戻り、次のノードをコーディングする。
【００７９】
オペレーション２０４における確率分布選択は、近隣の先にコーディングされたノードに関する占有状態データに基づくことになる。これは、エンコーダおよびデコーダの両方が、独立して、同一選択を行うことを可能にする。確率分布選択の下記の議論に関して、現在のノード３０２を含む、部分的八分木３００を図式的に図示する、図８が、参照されるであろう。現在のノード３０２は、占有されているノードであって、コーディングするために評価されている。現在のノード３０２は、ひいては、祖父母ノード（図示せず）に対する子である、親ノード３０６の８つの子のうちの１つである。現在のノード３０２は、８つの子ノード３０４に分割される。現在のノード３０２に関する占有状態パターンは、子ノード３０４の占有状態に基づく。例えば、図示されるように、黒色ドットが占有されているノードであるという慣例を使用すると、占有状態パターンは、００１１００１０、すなわち、パターン５０であり得る。
【００８０】
現在のノード３０２は、同一親ノード３０６を有する、兄弟ノード３０８を有する。親パターンは、親ノード３０６に関する占有状態パターンであって、これは、図示されるように、００１１００００、すなわち、パターン４８であろう。親パターンは、現在のノードに関する占有状態パターンをエントロピエンコーディングするための好適な確率分布を選択するための基礎としての役割を果たし得る。
【００８１】
図９は、現在のノードを囲繞する近傍系の集合を図示し、近傍系は、ある面を共有するノードとして定義される。本実施例では、ノード／サブボリュームは、立方体であって、画像の中心における立方体は、面毎に１つずつ、６つの近傍系を有する。八分木では、現在のノードに対する近傍系が、３つの兄弟ノードを含むであろうことを理解されたい。また、同一親ノードを有していない、３つのノードを含むであろう。故に、近傍ノードのうちのいくつかに関する占有状態データは、それらが兄弟であるため、利用可能であろうが、いくつかの近傍ノードに関する占有状態データは、それらのノードが先にコーディングされているかどうかに応じて、利用可能である場合とそうではない場合がある。特殊ハンドリングが、欠測近傍系に対処するために適用されてもよい。いくつかの実装では、欠測近傍系は、占有されていると想定されてもよい、または占有されていないと想定されてもよい。近傍系の定義が、共有縁に基づいて、または共有頂点に基づいて、近傍ノードを含むように拡大され、査定において付加的な隣接するサブボリュームを含み得ることを理解されたい。
【００８２】
前述のプロセスが、より好適なコンテキストを選択し、現在のノード３０２の占有状態データをエントロピコーディングするためのより正確な確率を使用するように、現在のノード３０２の占有状態の尤度を決定する試みにおいて、近隣のノードの占有状態を考察することを理解されたい。現在のノード３０２とある面を共有する、近傍ノードの占有状態ステータスが、そのうちの３つののみが、縁を共有し、そのうちの１つのみが、頂点を共有するであろう（八分木の場合）、兄弟ノードの占有状態ステータスに関する査定に基づくものより、現在のノード３０２が隔離されている可能性が高いかどうかの正確な査定であり得ることを理解されたい。しかしながら、兄弟の占有状態ステータスの査定は、査定のための関連データの全てが親ノードの一部であって、実装のためにより小さいメモリ占有面積を有することを意味するという点で、モジュール式であるという利点を有する一方、近傍系占有状態ステータスの査定は、将来の近隣ノードをコーディングすることに関連して近傍系占有状態ステータスを決定するときに必要とされる場合、ツリー占有状態データをバッファすることを伴う。
【００８３】
近傍系の占有状態は、占有状態パターンに関して上記に説明されるように、事実上、値を各近傍系に割り当てる、走査順序で読み取られ得る。図示されるように、近傍ノードは、事実上、１、２、４、８、１６、または３２の値をとり、したがって、６４（０〜６３）の可能性として考えられる近傍系占有状態構成が存在する。本値は、本明細書では、「近傍系構成」と称され得る。実施例として、図１０は、近傍系１、２、４、および８が、占有されており、近傍系１６および３２が、空である、近傍系構成１５の実施例を図示する。
【００８４】
ある場合には、上記２つの基準（親パターンおよび近傍系構成）の両方が、適用されてもよい、またはそれらの間で選択されてもよい。例えば、近傍系が、利用可能である場合、確率分布選択は、近傍ノードに基づいて行われてもよいが、しかしながら、近傍系のうちの１つ以上のものが、それらがまだコーディングされていないノードからのものであるために利用不可能である場合、確率分布選択は、兄弟ノード（親パターン）に基づく分析に戻ってもよい。
【００８５】
さらに別の実施形態では、確率分布選択は、代替として、または加えて、祖父母パターンに基づいてもよい。言い換えると、確率分布選択は、親ノード３０６に対して兄弟である、叔父ノードの占有状態ステータスに基づき得る。
【００８６】
なおもさらなる実装では、付加的または代替査定が、確率分布選択に対して考慮に入れられてもよい。例えば、確率分布選択は、親ノードに対する近傍系ノードまたは祖父母ノードに対する近傍系ノードの占有状態ステータスを考察してもよい。
【００８７】
局所的占有状態ステータスを査定するための上記の基準のうちの任意の２つ以上のものが、いくつかの実装では、組み合わせて使用されてもよい。
【００８８】
非バイナリエントロピコーダの場合、現在のノードに関する占有状態データは、確率分布を選択することによってコーディングされ得る。確率分布は、現在のノードに関する可能性として考えられる占有状態パターンの数に対応する、確率の数を含有する。例えば、八分木の占有状態パターンをコーディングする場合、２８−１＝２５５の可能性として考えられるパターンが存在し、各確率分布が２５５の確率を含むことを意味する。いくつかの実施形態では、確率分布の数は、選択基準内の、すなわち、近傍系、兄弟、および／または親占有状態データを使用した、可能性として考えられる占有状態結果の数に等しくあり得る。例えば、八分木に関する親パターンが、使用するための確率分布を決定するための選択基準として使用される場合、それぞれ、２５５の確率を伴う、２５５の確率分布が存在することになるであろう。近傍系構成の場合、近傍系が、ある面を共有するように定義される場合、各分布が２５５の確率を含有する、６４の確率分布が存在することになるであろう。
【００８９】
過度に多くの分布は、データの不足、すなわち、コンテキスト減少に起因して、低速適合をもたらし得ることを理解されたい。故に、いくつかの実施形態では、類似パターンは、同一確率分布を使用するようにグループ化されてもよい。例えば、別個の分布が、完全に占有されている場合、垂直に配向されている場合、水平に配向されている場合、大部分が空である場合、および全ての他の場合に対応するパターンのために使用されてもよい。これは、確率分布の数を約５まで削減し得る。パターンの異なるグループ化が、異なる数の確率分布をもたらすように形成されることを理解されたい。
【００９０】
ここで、親パターン依存コンテキストを使用した点群エントロピエンコーディングのプロセス４００の１つの例証的実施形態を図式的に示す、図１１を参照する。本実施例では、現在のノード４０２は、８つの子ノードに分裂されており、その占有状態パターン４０４は、非バイナリエントロピエンコーダ４０６を使用してエンコーディングされることになる。非バイナリエントロピエンコーダ４０６は、６つの可能性として考えられる確率分布４０８のうちの１つから選択される確率分布を使用する。選択は、親パターンに基づく、すなわち、選択は、現在のノード４０２に対する親ノードからの占有状態情報に基づく。親パターンは、１〜２５５の整数によって識別される。
【００９１】
確率分布の選択は、パターンが、完全ノード（例えば、パターン＝２５５）、水平構造（例えば、パターン＝１７０または８５、Ｚ軸が垂直であると仮定する）、垂直構造（例えば、パターン＝３、１２、４８、１９２）、疎らに取り込まれた分布（例えば、パターン＝１、２、４、８、１６、３２、６４、または１２８、すなわち、兄弟ノードのいずれも、占有されていない）、半疎らに取り込まれた分布（現在のノードおよび兄弟ノード間の占有されているノードの総数≦３）、および全ての他の場合に対応するかどうかを査定する、決定ツリーであってもよい。異なるカテゴリのために示される例示的パターンは、単に、実施例である。例えば、「水平」カテゴリは、同一水平レベル上の２つまたは３つの占有されている立方体を伴う、パターンを含み得る。「垂直」カテゴリは、壁状配列において３つまたは４つの占有されている立方体を伴う、パターンを含み得る。また、より細かい段階化が、使用され得ることを理解されたい。例えば、「水平」カテゴリは、それぞれ、異なる確率分布を伴う、立方体の上側部分における水平および立方体の底部部分における水平にさらに細分割されてもよい。ある相関を有する、占有状態パターンの他のグループ化が、行われ、対応する確率分布に配分されてもよい。近傍系構成および近傍系構成間の不変性のコンテキストにおけるパターンのグループ化に関するさらなる議論が、さらに下記に記載される。
【００９２】
図１２は、近傍系構成依存コンテキストを使用した点群エントロピエンコーディングのプロセス５００の例証的実施形態を示す。本実施例は、図９に関連して上記で使用される、近傍系の定義および近傍系構成付番を仮定する。本実施例はまた、各近傍系構成が、専用確率分布を有し、６４の異なる確率分布が存在することを意味すると想定する。現在のノード５０２は、エンコーディングされることになる占有状態パターン５０４を有する。確率分布は、現在のノード５０２に対する近傍ノードに基づいて選択される。すなわち、［０，６３］内の近傍系構成ＮＣが、見出され、関連付けられる確率分布を選択するために使用される。
【００９３】
いくつかの実施形態では、近傍系構成が、１つを上回る近傍系構成が、パターン内の類似性に基づいて同一確率分布を使用するように、グループ化され得ることを理解されたい。いくつかの実施形態では、プロセスは、分布のコンテクスチャラゼイション（選択）のために近傍系の異なる配列を使用してもよい。全３つの軸上で対角線上に隣接する８つの近傍系または２つの軸で対角線上に隣接する１２の近傍系等、付加的近傍系が、追加されてもよい。特定の近傍系を回避する、実施形態もまた、例えば、付加的依存性を深度優先走査に導入する、または大規模ツリーに関してコーデック状態を削減するように特定の軸上のみに依存性を導入する、近傍系の使用を回避するために使用されてもよい。
【００９４】
本実施例では、ＮＣ＝０の例が、具体的様式においてハンドリングされる。占有されている近傍系が存在しない場合、現在のノード５０２が隔離されていることを示し得る。故に、プロセス５００は、占有されている現在のノード５０２に対する子ノードの数をさらにチェックする。１つのみの子ノードが、占有されている、すなわち、ＮｕｍｂｅｒＯｃｃｕｐｉｅｄ（ＮＯ）が、１に等しい場合、フラグが、単一子ノードが占有されていることを示すようにエンコーディングされ、ノードに対するインデックスが、３ビットを使用してコーディングされる。１つを上回る子ノードが、占有されている場合、プロセス５００は、占有状態パターンをコーディングするために、ＮＣ＝０確率分布を使用する。
【００９５】
ここで、フローチャート形態において、エンコーディングされた点群データのビットストリームをデコーディングするための一例示的方法６００を示す、図１３を参照する。
【００９６】
オペレーション６０２では、デコーダは、現在のノードの近くの１つ以上のノードからの占有状態情報に基づいて、確率分布のうちの１つを選択する。上記に説明されるように、占有状態情報は、現在のノードに対する親ノードからの親パターン、すなわち、現在のノードおよびその兄弟の占有状態であってもよい、または現在のノードに対する近傍ノードの占有状態であってもよく、これは、兄弟ノードのうちのいくつかを含んでもよい。他または付加的占有状態情報が、いくつかの実装において使用されてもよい。
【００９７】
いったん確率分布が、選択されると、オペレーション６０４では、デコーダは、選択された確率分布を使用して、ビットストリームの一部をエントロピデコーディングし、現在のノードに関する占有状態パターンを再構築する。占有状態パターンは、エンコーディングされた点群データを再構築するように、ツリーを再構築する際に、デコーダによって使用される。いったん点群データが、デコーディングされると、ビューのレンダリング、セグメント化／分類、または他の用途等の使用のために、デコーダから出力されてもよい。
【００９８】
オペレーション６０６では、デコーダは、再構築された占有状態パターンに基づいて、確率分布を更新し、次いで、デコーディングするためのさらなるノードが存在する場合、バッファ内の次のノードに移動し、オペレーション６０２に戻る。
【００９９】
上記に説明される方法の例示的実装は、コーディング複雑性のごくわずかな増加を伴う、圧縮改良を提供することが証明されている。近傍系ベースの選択は、親パターンベースの選択より良好な圧縮性能を示すが、さらなる算出複雑性およびメモリ使用量を有する。いくつかの試験では、ＭＰＥＧ点群試験モデルに優る点あたりビットの相対的改良は、４〜２０％である。試験データを用いて到達される分布に基づく確率分布の初期化が、均一分布を伴う初期化と比較して改良された性能につながることに留意されたい。
【０１００】
上記の実施例のうちのいくつかは、占有状態パターンをシグナリングするための非バイナリコーダを使用する、ツリーコーディングプロセスに基づく。バイナリエントロピコーダを採用するための新しい開発が、さらに下記に提示される。
【０１０１】
近傍系ベースの確率分布選択の１つの変形例では、分布の数は、近傍帯の対称性を利用することによって削減され得る。近傍帯を順列することによって、またはパターン分布を順列することによって、対称中心線を有する構造的に類似する構成は、同一分布を再使用することができる。言い換えると、同一パターン分布を使用し得る、近傍系構成は、クラスにグループ化されてもよい。１つを上回る近傍系構成を含有するクラスは、本明細書では、それらの他の構成の反射または順列を経て、近傍系構成のうちの１つが、事実上、他の近傍系構成を包摂するという点で、「近傍系構成」と称され得る。
【０１０２】
実施例として、それぞれ、角近傍系パターンの対称性を表す、８つの角パターンＮＣ∈［２１，２２，２５，２６，３７，３８，４１，４２］を検討する。ＮＣのこれらの値は、特定の、但し、異なるノードのパターンと良好に相関される可能性が高い。さらに、これらの相関パターンは、近傍系パターンと同一対称性に追従する可能性が高い。一例として、単一分布を再使用し、その分布の確率を順列することを経て、ＮＣの複数の例を表す、方法が、実装されてもよい。
【０１０３】
エンコーダが、子ノードの占有状態に基づいて、ノードのパターン番号を導出する。エンコーダは、近傍系構成に従って、分布および順列関数を選択する。エンコーダは、順列関数に従って、分布内に含有される確率を並べ替え、続いて、順列された分布を使用し、パターン番号を算術的にエンコーディングする。算術エンコーダによる順列された分布の確率の更新は、逆順列関数を経て、元の分布に逆マッピングされる。
【０１０４】
対応するデコーダは、最初に、近傍系構成に従って、同一分布および順列関数を選択する。順列された分布が、エンコーダと同じ様式で生産され、順列された分布は、パターン番号をエントロピデコーディングするために、算術デコーダによって使用される。パターン番号を備えるビットは、次いで、それぞれ、対応する子に割り当てられる。
【０１０５】
同一順列が、分布自体のデータを並べ替えず、むしろ、ある間接レベルを導入し、順列関数を使用して、分布内の所与のインデックスのルックアップを順列して達成され得ることに留意されたい。
【０１０６】
代替実施形態は、分布ではなく、パターン自体の順列を検討し、それぞれ、エントロピエンコーディング／デコーディングに先立った、またはその後のシャッフリングを可能にする。そのような方法は、ビット毎のシャッフルオペレーションを通した効率的実装により適している可能性が高い。この場合、分布の並替は、エンコーダまたはデコーダのいずれによっても実施されず、むしろ、エンコーディングされたパターン番号の算出が、
【化１】
2021521679.tif 000003
となるように修正され、式中、ｃｉは、ｉ番目の子の占有状態の状態であって、σ（ｉ）は、順列関数である。１つのそのような例示的順列関数
【化２】
2021521679.tif 000004
が、ＮＣ＝２２に関する分布がＮＣ＝４１のもののために使用されることを可能にする。順列関数は、
【化３】
2021521679.tif 000005
を使用してエンコーディングされたパターン番号から子ノードの占有状態の状態を導出するために、デコーダによって使用されてもよい。
【０１０７】
要求される順列を導出するための方法は、近傍系構成の回転対称性に基づき得る、または特定の軸に沿った反射に基づき得る。さらに、順列が、例えば、対称性に従って、全ての位置を順列する必要はなく、部分的順列が、代わりに、使用されてもよい。例えば、ＮＣ＝２２をＮＣ＝４１に順列するとき、対称性の軸内の位置は、順列されず、マッピング
【化４】
2021521679.tif 000006
につながり得、式中、位置０、２、４、６は、順列されない。他の実施形態では、１および７の対のみが、入れ替えられる。
【０１０８】
回転対称性および反射に基づく実施形態の実施例が、以降、現在の立方体と共通面を共有する６つの近傍系を伴う、八分木の具体的例に関して提供される。一般性を失うことなく、図１６に示されるように、Ｚ軸は、図を視認する方向に対して垂直に延在する。それぞれ、「上方」（「下方」）等の近傍系の相対的位置は、したがって、それぞれ、Ｚ方向に増加（減少）する際、Ｚ軸に沿ったものとして理解されるべきである。同一注釈は、Ｘ軸に沿った左／右およびＹ軸に沿った正面／背面にも当てはまる。
【０１０９】
図１６は、それぞれ、Ｚ、Ｙ、およびＸ軸に沿った３つの回転２１０２、２１０４、および２１０６を示す。これらの３つの回転の角度は、９０度であって、すなわち、それらは、４分の１旋回だけその個別の軸に沿った回転を実施する。
【０１１０】
図１７は、Ｚ軸に沿った回転２１０２の１回または数回の反復下の近傍系構成の不変性のクラスを示す。本不変性は、ＸＹ平面に属する任意の方向に沿った点群幾何学形状の同一統計的挙動を表す。これは、特に、ＸＹ平面によって局所的に近似される地球表面上を移動する車のユースケースに該当する。水平構成は、上方の近傍系（２２０２）および下方の近傍系（２２０４）の占有状態から独立した、４つの近傍系（現在の立方体の左、右、正面、および背面に位置する）の所与の占有状態である。４つの水平構成２２０６、２２０８、２２１０、および２２１２は、回転２１０２下で不変性の同一クラスに属する。同様に、２つの構成２２１４および２２１６も、不変性の同一クラスに属する。回転２１０２下では、不変性の６つのみのクラス（クラス２２１８の集合下にグループ化される）が存在する。
【０１１１】
垂直構成は、現在の立方体の左、右、正面、および背面に位置する、４つの近傍系の占有状態から独立した、２つの近傍系２２０２および２２０４の所与の占有状態である。図１８上に示されるように、４つの可能性として考えられる垂直構成が存在する。その結果、Ｚ軸に沿った回転２１０２に対する不変性を考慮する場合、６×４＝２４の可能性として考えられる構成が存在することになる。
【０１１２】
Ｚ軸に沿った反射２１０８が、図１６上に示される。図１８上に描写される垂直構成２３０２および２３０４は、反射２１０８下で不変性の同一クラスに属する。反射２１０８下では、不変性の３つのクラス（クラス２３０６の集合下でグループ化される）が存在する。反射２１０８下での不変性は、上向きおよび下向き方向が、点群幾何学形状統計の観点から本質的に同一に挙動することを意味する。これは、道路上で移動する車に関する、正確な仮定である。
【０１１３】
回転２１０２および反射２１０８の両方の下での不変性が仮定される場合、２つの集合２２１８および２３０６の積から生じる、不変性の１８のクラスが存在することになる。これらの１８のクラスが、図１９に表される。
【０１１４】
２つの他の回転２１０４および２１０６下でのさらなる不変性を適用すると、２つの構成２４０１および２４０２は、不変性の同一クラスに属する。さらに、２つの構成２４１１および２４１２、２つの構成２４２１および２４２２、３つの構成２４３１、２４３２、および２４３３、２つの構成２４４１および２４４２、２つの構成２４５１および２４５２、最後に、２つの構成２４６１および２４６２が、同一クラスに属する。その結果、３つの回転（２１０２、２１０４、および２１０６）および反射２１０８下の不変性が、図２０上に示されるような不変性の１０のクラスにつながる。
【０１１５】
本明細書の上記で提供される実施例から、３つの回転および反射下の不変性を仮定する、または仮定しないことによって、有効近傍系構成、すなわち、６４の近傍系構成がグループ化され得る、クラスの数は、６４、２４、１８、または１０のいずれかとなる。
【０１１６】
エントロピコーディングに先立って、パターンは、不変性クラスのうちの１つに属するように、近傍系構成と同一転換、すなわち、回転および反射を受ける。これは、不変近傍系構成とコーディングされたパターンとの間の統計的一貫性を保つ。
【０１１７】
また、ツリーのトラバーサルの間、子ノードが、先に訪問された同一ツリー深度にある近傍ノードを有し、必然的に、依存性として使用され得ることを理解されたい。これらの同一レベル近傍系に関して、親の併置された近傍系を調べる代わりに、同一レベルの近傍系が、使用されてもよい。同一レベル近傍系が、親の二等分された寸法を有するため、１つの構成は、４つの直接隣接する近傍子ノード（すなわち、現在のノードとある面を共有する４つ）のいずれかが占有されている場合、近傍系が占有されていると見なす。
【０１１８】
（バイナリコーディングを使用してツリー占有状態パターンをエントロピコーディングする）
ツリー占有状態をコーディングするために近傍系占有状態情報を使用する上記に説明される技法は、欧州特許出願第１８３０５０３７．６号に詳述されている。説明される実施形態は、パターン分布が、近傍系占有状態情報に基づいて選択される、占有状態パターンの非バイナリエントロピコーディングの使用に焦点を当てている。しかしながら、いくつかの事例では、バイナリコーダの使用が、ハードウェア実装の観点からより効率的であり得る。また、多くの確率のオンザフライ更新は、高速アクセスメモリおよび算術コーダの中心部内での算出を要求し得る。故に、バイナリ算術コーダを使用して占有状態パターンをエントロピエンコーディングするための方法およびデバイスを見出すことが、有利であり得る。追跡するための圧倒的数のコンテキストを有することがないように保護しながら、圧縮性能を有意に劣化させずに行われ得る場合、バイナリコーダを使用することが、有利であろう。
【０１１９】
非バイナリコーダの代わりのバイナリコーダの使用は、以下のエントロピ式に反映される。
【化５】
2021521679.tif 000007
【０１２０】
式中、Ｘ＝（Ｘ１、Ｘ２）は、コーディングされることになる非バイナリ情報であって、Ｙは、コーディングするためのコンテキスト、すなわち、近傍系構成または選択されたパターン分布である。Ｘの非バイナリコーディングをバイナリコーディングに変換するために、情報（Ｘ１、Ｘ２）は、エントロピを増加させずに別個にコーディングされ得る、情報Ｘ１およびＸ２に分裂される。そのためには、２つのうちの一方を他方に応じてコーディングしなければならず、ここでは、Ｘ２は、Ｘ１に依存する。これは、Ｘにおける情報のｎビットに拡張されることができる。例えば、ｎ＝３に関して、以下となる。
【化６】
2021521679.tif 000008
【０１２１】
占有状態パターン、すなわち、ビットシーケンスＸが、より長くなるにつれて、シーケンス内の後のビットをコーディングするためのより多くの条件が存在することを理解されたい。バイナリコーダ（例えば、ＣＡＢＡＣ）に関して、これは、追跡および管理するためのコンテキストの数の大幅な増加を意味する。占有状態パターンが８ビットシーケンスｂ＝ｂ０…ｂ７である、八分木を実施例として使用すると、ビットシーケンスは、８つのバイナリ情報ビットｂ０…ｂ７に分裂され得る。コーディングは、コンテキストを決定するために、近傍系構成Ｎ（またはＮＣ）を使用し得る。上記に説明されるように、不変性のクラスへの近傍系構成のグループ化を通して、近傍系構成を１０の有効近傍系構成に削減することができると仮定すると、Ｎは、｛０，１，２，…，９｝に属する整数である。簡略化のために、「不変近傍系構成のクラス」は、本明細書では、時として、単に、「近傍系構成」と称され得るが、本削減された数の近傍系構成が、不変性に基づく近傍系構成のクラスベースのグループ化に基づいて実現され得ることを理解されたい。
【０１２２】
図２１は、バイナリエントロピコーディングのための８つの個々のビットへの８ビットパターンまたはシーケンスの分裂を図示する。シーケンスの第１のビットが、近傍系構成に基づいてエンコーディングされ、したがって、１０の総利用可能コンテキストが存在することに留意されたい。シーケンスの次のビットが、近傍系構成および任意の先にエンコーディングされたビット、すなわち、ビットｂ０に基づいてエンコーディングされる。これは、Ｎからの１０とｂ０からの２の積として取得される、２０の総利用可能コンテキストを伴う。最終ビットｂ７が、Ｎからの１０と先にエンコーディングされたビットｂ０，…，ｂ６によって与えられる部分的パターンからの１２８の積として取得される、１，２８０の利用可能なコンテキストから選択されたコンテキストを使用してエントロピエンコーディングされる。すなわち、ビット毎に、コンテキストの数（すなわち、条件／依存性の可能性として考えられる組み合わせ）は、定義された近傍系構成の数（本実施例では、クラスへの６４の近傍系構成のグループ化に基づく、１０）と、ｎ−１の先にエンコーディングされたビットの順序付けられたシーケンス（２ｎ−１によって与えられる）から可能性として考えられる部分的パターンの数との積となる。
【０１２３】
その結果、占有状態パターンのバイナリコーディングに関連して維持すべき合計２，５５０のコンテキストが存在する。これは、追跡するには過剰に多数のコンテキストであって、相対的な不足は、特に、シーケンス内の後のビットに関するコンテキスト減少のため、不良性能を生じさせ得る。
【０１２４】
故に、一側面では、本願は、コンテキストの集合が削減され得るかどうかを決定し、該当する場合、コンテキスト削減オペレーションを適用し、バイナリコーダを使用して占有状態パターンの少なくとも一部をエントロピコーディングするために、より小さい利用可能なコンテキストの集合を実現する、エンコーダおよびデコーダを開示する。別の側面では、本願はさらに、固定数のコンテキストから効果的コンテキスト選択を実施するために、同一コンテキスト削減オペレーションを使用した状態削減の１回以上の工程を適用する、エンコーダおよびデコーダを開示する。いくつかの実装では、コンテキスト削減は、コンテキストおよび／またはアルゴリズム条件のルックアップテーブルを生成する際に先験的に適用され、これは、次いで、好適なコンテキストを選択する際にエンコーダまたはデコーダによって使用される。削減は、エンコーダおよびデコーダが、選択すべきルックアップテーブル、またはそのルックアップテーブルからインデックス／選択し、選択されたコンテキストを取得する方法を決定するために評価する、試験可能条件に基づく。
【０１２５】
ここで、フローチャート形態において、バイナリコーディングを使用してツリーベースの点群コーダ内で占有状態パターンをコーディングするための一例示的方法３０００を示す、図２２を参照する。方法３０００は、エンコーダまたはデコーダによって実装されてもよい。エンコーダの場合、コーディングオペレーションが、エンコーディングであって、デコーダの場合、コーディングオペレーションは、デコーディングである。エンコーディングおよびデコーディングは、コンテキストベースのエントロピエンコーディングおよびデコーディングである。
【０１２６】
例示的方法３０００は、特定のノード／ボリュームに関して、占有状態パターン、すなわち、ビットシーケンスをエントロピコーディングするためのものである。占有状態パターンは、ノード／ボリュームの子ノード（サブボリューム）の占有状態ステータスをシグナリングする。八分木の場合、８つの子ノード／サブボリュームが存在する。オペレーション３００２では、近傍系構成が、決定される。近傍系構成は、占有状態パターンがコーディングされることになるボリュームの近傍にある１つ以上のボリュームの占有状態ステータスである。上記に議論されるように、近傍系構成を決定するための種々の可能性として考えられる実装が存在する。いくつかの実施例では、１０の近傍系構成が存在し、現在のボリュームに関する近傍系構成は、現在のボリュームとある面を共有する、６つのボリュームの占有状態に基づいて識別される。
【０１２７】
オペレーション３００４では、現在のボリュームの子ノードに対するインデックスｉが、０に設定される。次いで、オペレーション３００６では、コンテキスト削減が可能であるかどうかに関する査定が、行われる。異なる可能性として考えられるコンテキスト削減オペレーションが、下記にさらに詳細に議論される。コンテキスト削減が可能であるかどうかの査定は、例えば、コーディングされているビットシーケンス内のビット（例えば、インデックス値）に基づいてもよい。ある場合には、コンテキスト削減は、シーケンス内の後のビットに関して可能であるが、最初の数ビットに関しては不可能であり得る。コンテキスト削減が可能性であるかどうかの査定は、例えば、ある近傍系構成が簡略化を可能にし得るため、近傍系構成に基づいてもよい。付加的要因が、いくつかの実装では、コンテキスト削減が可能であるかどうかを査定する際に使用され得る。例えば、上界Ｂｏが、バイナリコーダがビットをコーディングするために使用し得る最大数のコンテキストとして提供されてもよく、削減後のコンテキストの数が最大でＢｏであるように、ビットをコーディングするための初期数のコンテキストが、Ｂｏより多い場合、コンテキスト削減が、適用される（そうでなければ、適用されない）。そのような境界Ｂｏは、Ｂｏコンテキストに対処することが可能であるソフトウェアまたはハードウェア実装が、常時、コンテキストの数の観点からオーバーフローを生成せずに、点群をエンコーディングおよび／またはデコーディングすることが可能であるであろうことを確実にするために、エンコーダおよび／またはデコーダ仕様に定義されてもよい。境界Ｂｏを事前に把握することもまた、バイナリエントロピコーダによって誘発される複雑性およびメモリ占有面積を予期することを可能にし、したがって、ハードウェアの設計を促進する。Ｂｏに関する典型的値は、１０〜数百である。
【０１２８】
コンテキスト削減が、利用可能であると決定される場合、オペレーション３００８では、コンテキスト削減オペレーションが、適用される。コンテキスト削減オペレーションは、利用可能なコンテキストの集合内の利用可能なコンテキストの数をより少ない総コンテキスト数を含有するより小さい集合に削減する。利用可能なコンテキストの数が、コンテキストが、ビットシーケンスからの先にコーディングされたビットのパターンに部分的に依存し得るため、部分的に、シーケンス内のビット位置、すなわち、インデックスに依存し得ることを思い出されたい。いくつかの実装では、削減前の集合内で利用可能なコンテキストの数は、先にコーディングされたビットを用いて可能性として考えられる部分的パターンの数によって乗算される近傍系構成の数に基づき得る。ｉが０〜ｎに及ぶ、インデックスｉにおけるビットに関して、部分的パターンの数は、２ｉによって求められ得る。
【０１２９】
上記に述べられたように、いくつかの実装では、コンテキスト削減オペレーションは、コーディングに先立って行われ、結果として生じる削減コンテキスト集合は、コーディングオペレーションの間にエンコーダおよびデコーダによる使用のために利用可能なコンテキスト集合である。コーディングの間の削減コンテキスト集合の使用および／または選択は、コンテキストの数が削減され得ることを決定するためのオペレーションでは３００６において評価される条件に対応する、それらの削減集合の使用に先立った１つ以上の条件の評価に基づき得る。例えば、削減コンテキスト集合の使用を許可する、具体的近傍系構成の場合、エンコーダおよび／またはデコーダは、最初に、近傍系構成条件が満たされるかどうかを決定し、次いで、該当する場合、対応する削減コンテキスト集合を使用し得る。
【０１３０】
オペレーション３０１０では、ビットｂｉに関するコンテキストが、決定される、すなわち、近傍系構成およびビットシーケンス内の先にコーディングされたビットの部分的パターンに基づいて、利用可能なコンテキストの集合（または該当する場合、削減集合）から選択される。現在のビットは、次いで、オペレーション３０１２において選択されたコンテキストを使用して、バイナリコーダによってエントロピエンコーディングされる。
【０１３１】
オペレーション３０１４において、インデックスｉが、現在コーディングされているビットが、シーケンス内の最後のビット、すなわち、ｉがｉｍａｘに等しいことを示す場合、コーディングプロセスは、次のノードに進む。そうでなければ、インデックスｉは、オペレーション３０１６においてインクリメントされ、プロセスは、オペレーション３００６に戻る。
【０１３２】
いくつかの実装では、コンテキスト選択は、近傍系構成に依存しない場合があることを理解されたい。ある場合には、該当する場合、シーケンス内の先にコーディングされたビットの部分的パターンのみに依存し得る。
【０１３３】
例示的エンコーダ３１００の一部の簡略化されたブロック図が、図２３に図示される。本図では、占有状態パターン３１０２が、対応するボリュームが子ノードの中にパーティション化されるにつれて取得され、点群の幾何学形状を保つ、ＦＩＦＯバッファ３１０４を通して巡回されることを理解されたい。占有状態パターン３１０２のコーディングは、パターンのビット毎に１つずつ、カスケード式のバイナリコーダ３１０６を伴うように図示される。バイナリコーダ３１０６のうちの少なくともいくつかの間には、利用可能なコンテキストをより小さい利用可能なコンテキストの集合に削減するようにオペレーションする、コンテキスト削減オペレーション３１０８がある。
【０１３４】
図２３は、一連のバイナリコーダ３１０６を図示するが、いくつかの実装では、１つのみのバイナリコーダが、使用される。１つを上回るコーダが使用される場合、コーディングは、（部分的に）並行化されてもよい。ビットシーケンス内の先行ビットへの１ビットのコンテキスト依存性を前提として、パターンのコーディングは、必ずしも、完全に並行化されることができないが、ある程度の並行化および速度改良を達成するために、あるパターンのためのカスケードバイナリコーダの使用を通して、パイプライン処理を改良することが、可能性として考えられ得る。
【０１３５】
（コンテキスト削減オペレーション）
上記の実施例は、コーディングプロセスが、利用可能なコンテキストの集合をより小さい集合の利用可能なコンテキストに削減するように、占有状態パターンの少なくとも１ビットに対してコンテキスト削減オペレーションを含むことを提案する。本意味では、「コンテキスト削減オペレーション」は、特定のビットｂｉの状況では重複または冗長と見なされ得る、コンテキストを識別および統合させるものと理解され得る。上記に述べられたように、削減コンテキスト集合は、コーディングに先立って決定されてもよく、エンコーダおよびデコーダに提供されてもよく、エンコーダおよびデコーダは、コンテキスト集合を削減するための下記に説明される同一条件に基づいて、削減コンテキスト集合を使用するかどうかを決定する。
【０１３６】
（遮断／遮蔽を通した近傍系構成削減）
第１の例示的コンテキスト削減オペレーションは、遮断／遮蔽に基づいて、近傍系構成の数を削減することを伴う。原理上、近傍系構成は、近傍ボリュームが、現在のボリュームまたはサブボリュームが占有されている可能性が高いかどうかを示すことに役立つことに基づいて、近傍ボリュームの占有状態ステータスをコンテキスト選択プロセスに考慮する。現在のボリューム内のサブボリュームと関連付けられるビットが、デコーディングされるにつれて、それらはまた、コンテキスト選択に対しても考慮に入れられるが、しかしながら、近隣のサブボリュームからの情報は、サブボリュームの現在のサブボリュームと反対の側に位置する近傍ボリュームの占有状態情報より有意かつより情報量が多くあり得る。本意味では、先にデコーディングされたビットは、近傍ボリュームを「遮断」または「遮蔽」する、サブボリュームと関連付けられる。これは、そのような状況では、その占有状態ステータスの関連性が、現在のサブボリュームと近傍ボリュームとの間のサブボリュームの占有状態ステータスによって包摂され、それによって、近傍系構成の数の削減を可能にするため、近傍ボリュームの占有状態が、無視され得ることを意味し得る。
【０１３７】
ここで、近傍系遮断に基づく例示的コンテキスト削減オペレーションを図式的に示す、図２４を参照する。実施例は、ボリューム３２００に関する占有状態パターンをコーディングすることを伴う。占有状態パターンは、ボリューム３２００内の８つのサブボリュームの占有状態ステータスをシグナリングする。本実施例では、ボリューム３２００の上半分の４つのサブボリュームは、コーディングされており、したがって、その占有状態ステータスは、既知である。コーディングされている占有状態パターンのビットは、４つの先にコーディングされたサブボリュームの下方のボリューム３２００の下半分に位置する、第５のサブボリューム３２０４と関連付けられる。
【０１３８】
本実施例におけるコーディングは、近傍系構成に基づいて、コンテキストを決定することを含む。１０の近傍系構成３２０２が、示される。コーディングされるための第５のサブボリューム３２０４を含有するボリューム３２００は、薄灰色で示され、参照番号３２００によって示される。近傍系構成３２０２は、ボリューム３２００に隣接し、それとある面を共有する、ボリュームの占有状態ステータスに基づく。近傍ボリュームは、上部近傍ボリューム３２０６を含む。
【０１３９】
本実施例では、近傍系構成の数は、構成のうちの少なくともいくつかにおける上部近傍ボリューム３２０６を無視することによって、１０から７に削減されることができる。図２４に示されるように、その中に上部近傍ボリューム３２０６が示される、４つの構成のうちの３つは、上部近傍ボリューム３２０６内に考慮されない等価構成下に包摂され、それによって、近傍系構成の数を合計７つに削減することができる。６のボリューム構成がともに統合され得る（５の要素のものを排除している）、既存の５のボリューム近傍系構成が存在せず、上部近傍ボリュームが除去される場合でも、新しい５の要素近傍系構成が生じ、コンテキスト内の全体的削減が生じないことを意味するため、全６つの近傍ボリュームを示すように構成を保つことが、依然として有利であり得る。
【０１４０】
上部近傍ボリューム３２０６は、本実施例では、第５のサブボリューム３２０４と関連付けられた占有状態ビットのコーディングのためのコンテキスト決定が、その直上の４つの先にコーディングされたサブボリュームの占有状態ステータスをすでに考慮しているであろうため、近傍系構成から排除されることができ、これは、より離れた上部近傍ボリューム３２０６の占有状態ステータスより、第５のサブボリュームに関する占有状態の尤度および指向性の良好なインジケーションである。
【０１４１】
上部近傍ボリューム３２０６が、第５のサブボリューム３２０４に対応する占有状態ビットをコーディングするとき、先にコーディングされたサブボリュームによって遮断または遮蔽される、上記の実施例は、一実施例にすぎない。ボリューム３２００内のコーディング順序に応じて、いくつかの他の可能性として考えられる遮断／遮蔽状況も、利用可能な近傍系構成を削減するために実現および利用され得る。
【０１４２】
ここで、遮断／遮蔽の第２の実施例を示す、図２５を参照する。本実施例では、ボリューム３２００に関する占有状態パターンは、ほぼ完全にコーディングされる。コーディングされることになるサブボリュームは、第８のサブボリュームであって、図では、後下角（不可視）に隠蔽される。この場合、全７つの他のサブボリュームの占有状態ステータスが、コーディングされている。特に、上部に沿った（故に、近傍系構成において合計７つまでの削減）および右側および正面側に沿ったサブボリュームである。故に、上部近傍ボリュームの遮断に加え、先にコーディングされた占有状態ビットを伴うサブボリュームは、正面近傍ボリューム３２１０および右側近傍ボリューム３２１２を遮蔽する。これは、図示されるように、合計７つから合計５つへの近傍系構成の削減を可能にし得る。
【０１４３】
遮蔽の２つの前述の実施例は、例証的であって、ある場合には、異なる構成が、異なる遮蔽状況を考慮するために統合され得ることを理解されたい。先にコーディングされたサブボリュームによる遮蔽／遮断に基づくコンテキスト削減オペレーションは、一般的であって、これらの２つの実施例に限定されないが、そこが任意の遮蔽／遮断であるためには、近隣のサブボリュームと関連付けられる少なくとも１つの先にコーディングされた占有状態ビットが存在することを要求するため、コーディングされることになる第１のサブボリュームの場合には適用され得ないことを理解されたい。
【０１４４】
また、近傍系構成削減を正当化するための遮蔽／遮断の程度が、異なる実装では異なり得ることを理解されたい。上記の２つの実施例では、近傍ボリュームとある面を共有する、全４つのサブボリュームが、その近傍ボリュームが、遮蔽／遮断されていると見なされ、したがって、近傍系構成から除去される前に、先にコーディングされた。他の実施例では、例えば、ある面を共有する、１〜３つの先にコーディングされたサブボリュームからの部分的遮蔽／遮断が、十分である場合がある。
【０１４５】
（特殊例ハンドリングを通したコンテキスト削減）
有用な情報の損失を伴わずにコンテキスト削減が生じ得る、ある例が存在する。上記に説明される例示的コンテキスト決定プロセスでは、占有状態ビットをコーディングためのコンテキストは、近傍系構成、すなわち、現在のボリュームの近傍にあるボリュームの占有状態のパターンと、先にコーディングされた現在のボリューム内のサブボリュームの占有状態に起因する部分的パターンとに基づく。その後者の条件は、占有状態パターンビットシーケンス内の第８のビットに対して、追跡するための２７＝１２８のコンテキストをもたらす。近傍系構成が、合計５つに削減される場合でも、これは、追跡するための６４０のコンテキストを意味する。
【０１４６】
コンテキストの数は、ビットシーケンスの先にコーディングされたビットが、ある順序を有し、順序が、コンテキストを査定する際に関連するという事実に基づいて、大きくなる。しかしながら、ある場合には、順序は、有用な情報を含有していない場合がある。例えば、近傍系構成が、空である、すなわち、Ｎ１０＝０の場合、ボリューム内の任意の点は、疎らに取り込まれることが想定され、それらが、兄弟サブボリューム内の占有状態の異なるパターンに関して別個のコンテキストを追跡することを正当化するために十分に強力な指向性を有していないことを意味し得る。空の近傍帯の場合、点群に対する局所配向またはトポロジが存在せず、ビットシーケンスの先にコーディングされたビットに基づく２ｊ条件がｊ＋１条件に削減され得ることを意味する。すなわち、ビットシーケンスのビットのうちの１つをコーディングするためのコンテキストは、先にコーディングされたビットに基づくが、その順序付けられたパターンには基づかず、単に、その和に基づく。言い換えると、本特殊例におけるエントロピ表現は、以下のように表され得る。
【化７】
2021521679.tif 000009
【０１４７】
いくつかの実装では、類似観察が、完全近傍系構成に関しても行われ得る。いくつかの実施例では、完全近傍系構成が、指向性を欠いており、先にコーディングされたビットの順序がコンテキストを決定する際に考慮される必要がないことを意味する。いくつかの実施例では、本コンテキスト削減オペレーションは、シーケンス内の後のビットのうちのいくつか等、ビットシーケンス内のビットのうちのいくつかのみに適用されてもよい。ある場合には、後のビットへの本コンテキスト削減オペレーションの適用は、先にコーディングされたサブボリュームと関連付けられたより先のビットもまた全て占有されたことを決定することを条件としてもよい。
【０１４８】
（統計的ベースのコンテキスト削減）
統計的分析が、概ね同一の統計的挙動につながるものを決定し、次いで、それらを組み合わせることを通して、コンテキストを削減するために使用され得る。本分析は、次いで、エンコーダおよびデコーダの両方に提供される、削減コンテキスト集合を発生させるための試験データを使用して、先験的に実施されてもよい。ある場合には、分析は、２パスコーディングを使用して、現在の点群上で実施され、具体的点群データに関するカスタム削減コンテキスト集合を発生させてもよい。いくつかのそのような場合では、非削減コンテキスト集合からカスタム削減コンテキスト集合へのマッピングは、ビットストリームにコーディングされる専用の構文を使用することによって、デコーダにシグナリングされてもよい。
【０１４９】
２つのコンテキストが、「距離」の概念を通して比較され得る。第１のコンテキストｃは、ゼロに等しいビットｂの確率ｐを有し、第２のコンテキストｃ’は、ゼロに等しいビットｂ’の確率ｐ’を有する。ｃとｃ’との間の距離は、以下によって求められる。
【化８】
2021521679.tif 000010
【０１５０】
類似性（距離）の本測定値を使用して、コンテキストは、次いで、以下のようなプロセスにおいてグループ化され得る。
【０１５１】
１．Ｍ１コンテキストから開始し、閾値レベルεを固定する。
【０１５２】
２．所与のコンテキストに関して、閾値レベルεより低い所与のコンテキストからの距離を有する、全てのコンテキストをクラスに再グループ化する。
【０１５３】
３．全ての再グループ化されていないコンテキストに関して、全てがクラスの中に入れられるまで、２を繰り返す。
【０１５４】
４．１からＭ２までをＭ２クラスと標識し、これは、［１，２，…，Ｍ１］→［１，２，…，Ｍ２］（式中、Ｍ１≧Ｍ２）にマッピングする、総当たり削減関数をもたらす。
【０１５５】
コンテキストの集合をより小さいコンテキストの集合にマッピングするための総当たり削減関数は、コーディングの間にコンテキスト削減オペレーションとしてエンコーダ／デコーダによって適用されるために、メモリ内に記憶されてもよい。マッピングは、ルックアップテーブルまたは他のデータ構造として記憶されてもよい。総当たり削減関数は、例えば、ビットシーケンス（パターン）内の後のビットに関してのみ適用されてもよい。
【０１５６】
（コンテキスト削減オペレーションの組み合わせおよび副次的組み合わせ）
３つの例示的コンテキスト削減オペレーションが、上記に説明される。それらはそれぞれ、いくつかの実装では、個々に、および独立して適用されてもよい。それらのうちの任意の２つ以上のものが、いくつかの実装では、組み合わせられ得る。付加的コンテキスト削減オペレーションが、単独で、または上記に説明されるコンテキスト削減オペレーションのうちの任意の１つ以上のものと組み合わせて、実装されてもよい。
【０１５７】
図２６は、フローチャート形態において、組み合わせられたコンテキスト削減を伴う、占有状態パターンバイナリコーディングの方法３３００の一実施例を示す。方法３３００は、８ビットバイナリパターンｂ０，ｂ１，…，ｂ７をコーディングし、｛０，１，２，…，９｝において、１０の要素近傍系構成Ｎ１０が求められる。評価される第１の条件は、近傍系構成が、空、すなわち、Ｎ１０＝０であるかどうかである。該当する場合、ビットは、参照番号３３０２によって示されるように、その順序を参照せずにコーディングされる。そうでなければ、ビットは、ビットｂ４まで、通常通りコーディングされ、その時点で、エンコーダおよびデコーダは、総当たりコンテキスト削減関数ＢＲｉの適用を開始し、近傍系構成によって定義されたコンテキストの集合および先にコーディングされたビットの部分的パターンを、実質的に類似する統計的結果を有する、より小さいコンテキストの集合にマッピングすることによって、コンテキストの数を削減する。
【０１５８】
本実施例では、最後の２ビットｂ６およびｂ７が、遮蔽／遮断に基づいて削減された近傍系構成を使用して、コーディングされる。
【０１５９】
全ての関数は、コンテキストの集合のサイズを削減するためのルックアップテーブル（ＬＵＴ）として実装され得る。１つの実践的実装では、全ての削減は、削減関数、すなわち、コンテキストを入力としてとり、削減されたコンテキストを出力として提供する、単に、ＬＵＴに分解される。本例示的実施形態では、コンテキストの総数は、２，５５０から５７６に削減されており、各削減関数ＢＲｉの出力サイズは、それぞれ、７０、１０６、１１０および１１９である。
【０１６０】
（固定数のコンテキストを用いたシステム内のコンテキスト選択）
前述のコンテキスト削減オペレーションはそれぞれ、静的（固定）最小限数のコンテキストを用いて、圧縮システムにおいてさらに使用され得る。そのような設計では、８ビットバイナリパターン内の所与のシンボルに関して、１つ以上の削減オペレーションが、それを用いてシンボルをエンコーディングまたはデコーディングするための、コンテキスト確率モデルを決定するために適用される。
【０１６１】
（圧縮性能に及ぼす影響）
１０の近傍系構成および非バイナリコーディングの使用は、点群コーディングのためのＭＰＥＧ試験モデルの現在の実装に優る圧縮利得を提供する。しかしながら、１０の近傍系構成と２，５５０のコンテキストを使用してカスケード表示されるバイナリコーディングの上記で提案される併用は、さらに良好な改良を圧縮効率にもたらす。上記に詳述される３つの技法等を使用するコンテキスト削減が、使用され、コンテキストを合計５７６に削減するときでも、バイナリコーディング圧縮は、依然として、非バイナリコーディングを使用した実装よりわずかに良好であって、試験モデルよりはるかに良好である。本観察は、異なる試験点群データを横断して一貫することが示されている。
【０１６２】
ここで、エンコーダ１１００の例示的実施形態の簡略化されたブロック図を示す、図１４を参照する。エンコーダ１１００は、プロセッサ１１０２と、メモリ１１０４と、エンコーディングアプリケーション１１０６とを含む。エンコーディングアプリケーション１１０６は、メモリ１１０４内に記憶され、実行されると、プロセッサ１１０２に本明細書に説明されるもの等のオペレーションを実施させる命令を含有する、コンピュータプログラムまたはアプリケーションを含んでもよい。例えば、エンコーディングアプリケーション１１０６は、本明細書に説明されるプロセスに従って、エンコーディングし、エンコーディングされたビットストリームを出力し得る。エンコーディングアプリケーション１１０６が、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等の非一過性コンピュータ可読媒体上に記憶され得ることを理解されたい。命令が、実行されると、プロセッサ１１０２は、説明されるプロセスを実装する特殊目的プロセッサとして動作するように、命令内に規定されたオペレーションおよび関数を実行する。そのようなプロセッサは、いくつかの実施例では、「プロセッサ回路」または「プロセッサ回路構成」と称され得る。
【０１６３】
ここでまた、デコーダ１２００の例示的実施形態の簡略化されたブロック図を示す、図１５も参照する。デコーダ１２００は、プロセッサ１２０２と、メモリ１２０４と、デコーディングアプリケーション１２０６とを含む。デコーディングアプリケーション１２０６は、メモリ１２０４内に記憶され、実行されると、プロセッサ１２０２に本明細書に説明されるもの等のオペレーションを実施させる命令を含有する、コンピュータプログラムまたはアプリケーションを含んでもよい。デコーディングアプリケーション１２０６が、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等のコンピュータ可読媒体上に記憶され得ることを理解されたい。命令が、実行されると、プロセッサ１２０２は、説明されるプロセスを実装する特殊目的プロセッサとして動作するように、命令内に規定されたオペレーションおよび関数を行う。そのようなプロセッサは、いくつかの実施例では、「プロセッサ回路」または「プロセッサ回路構成」と称され得る。
【０１６４】
本願によるデコーダおよび／またはエンコーダが、限定ではないが、サーバ、好適にプログラムされた汎用コンピュータ、マシンビジョンシステム、およびモバイルデバイスを含む、いくつかのコンピューティングデバイス内に実装され得ることを理解されたい。デコーダまたはエンコーダは、プロセッサまたは複数のプロセッサを本明細書に説明される関数を行うように構成するための命令を含有する、ソフトウェアを経由して実装されてもよい。ソフトウェア命令は、ＣＤ、ＲＡＭ、ＲＯＭ、フラッシュメモリ等を含む、任意の好適な非一過性コンピュータ可読メモリ上に記憶されてもよい。
【０１６５】
本明細書に説明されるデコーダおよび／またはエンコーダ、およびエンコーダまたはデコーダを構成するための説明される方法／プロセスを実装する、モジュール、ルーチン、プロセス、スレッド、または他のソフトウェアコンポーネントが、標準的コンピュータプログラミング技法および言語を使用して実現され得ることを理解されたい。本願は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミング慣例、データ構造、他のそのような実装詳細に限定されない。当業者は、説明されるプロセスが、揮発性または不揮発性メモリ内に記憶されるコンピュータ実行可能コードの一部として、特定用途向け集積チップ（ＡＳＩＣ）等の一部として実装され得ることを認識するであろう。
【０１６６】
本願はまた、本願によるエンコーディングプロセスの適用を通して生産されたデータをエンコーディングするコンピュータ可読シグナルを提供する。
【０１６７】
説明される実施形態のある適合および修正が、行われることができる。したがって、上記の議論される実施形態は、制限的ではなく、例証的と見なされる。
【図１】
2021521679.tif 000011
【図２】
2021521679.tif 000012
【図３】
2021521679.tif 000013
【図４】
2021521679.tif 000014
【図５】
2021521679.tif 000015
【図６】
2021521679.tif 000016
【図７】
2021521679.tif 000017
【図８】
2021521679.tif 000018
【図９】
2021521679.tif 000019
【図１０】
2021521679.tif 000020
【図１１】
2021521679.tif 000021
【図１２】
2021521679.tif 000022
【図１３】
2021521679.tif 000023
【図１４】
2021521679.tif 000024
【図１５】
2021521679.tif 000025
【図１６】
2021521679.tif 000026
【図１７】
2021521679.tif 000027
【図１８】
2021521679.tif 000028
【図１９】
2021521679.tif 000029
【図２０】
2021521679.tif 000030
【図２１】
2021521679.tif 000031
【図２２】
2021521679.tif 000032
【図２３】
2021521679.tif 000033
【図２４】
2021521679.tif 000034
【図２５】
2021521679.tif 000035
【図２６】
2021521679.tif 000036
【国際調査報告】
2021521679.tif 000037
2021521679.tif 000038