(57)【要約】メモリと通信するプロセッサを備える符号化器を用いて、シーンを表す点群を符号化する方法は、パラメーター化された表面を、３次元空間におけるロケーションを表す入力点を有する点群上にフィッティングするステップと、パラメーター化された表面からモデルパラメーターを生成するステップと、パラメーター化された表面から対応する点を計算するステップであって、この対応する点は、入力点に対応する、ステップと、対応する点と点群の入力点とに基づいて残差データを計算するステップと、モデルパラメーター及び残差データを圧縮して、それぞれ、符号化されたモデルパラメーター及び符号化された残差データを得るステップと、パラメーター化された表面の符号化されたモデルパラメーターと符号化された残差データとからビットストリームを生成するステップとを含む。
2019521417.tif 000002
【特許請求の範囲】
【請求項１】
メモリと通信するプロセッサを備える符号化器を用いて、シーンを表す点群を符号化する方法であって、前記点群の各点は、３次元（３Ｄ）空間におけるロケーションであり、該方法は、
パラメーター化された表面を、入力点によって形成される前記点群上にフィッティングするステップと、
前記パラメーター化された表面からモデルパラメーターを生成するステップと、
前記パラメーター化された表面上の対応する点を計算するステップであって、該対応する点は、前記入力点に対応する、ステップと、
前記対応する点と前記点群の前記入力点とに基づいて残差データを計算するステップと、
前記モデルパラメーター及び前記残差データを圧縮して、符号化されたモデルパラメーター及び符号化された残差データを得るステップと、
前記パラメーター化された表面の前記符号化されたモデルパラメーターと前記符号化された残差データとからビットストリームを生成するステップと、
を含む、方法。
【請求項２】
前記点群は、編成された点群である、請求項１に記載の方法。
【請求項３】
前記点群は、編成されていない点群である、請求項１に記載の方法。
【請求項４】
前記残差データは、前記対応する点と前記入力点との間の距離を表す、請求項１に記載の方法。
【請求項５】
前記入力点及び前記対応する点は、属性を含む、請求項１に記載の方法。
【請求項６】
前記属性は、色情報を含む、請求項５に記載の方法。
【請求項７】
前記圧縮するステップは、エントロピー符号化を含む、請求項１に記載の方法。
【請求項８】
前記圧縮するステップは、変換ステップ及び量子化ステップを含む、請求項１に記載の方法。
【請求項９】
前記モデルパラメーターを前記生成するステップは、前記フィッティングするステップ中に実行される、請求項１に記載の方法。
【請求項１０】
前記残差データを前記計算するステップは、前記対応する点の前記成分と前記点群の前記入力点の前記対応する成分との間の差分である、請求項１に記載の方法。
【請求項１１】
前記パラメーター化された表面についての前記モデルパラメーターを受信するステップと、
前記残差データを受信するステップと、
前記モデルパラメーターを用いて前記パラメーター化された表面を求めるステップと、
予め設定された配置に従って前記パラメーター化された表面から前記対応する点を計算するステップと、
前記残差データと前記対応する点とを合成することによって再構成された入力点を計算するステップと、
を更に含む、請求項１に記載の方法。
【請求項１２】
前記パラメーター化された表面からの前記対応する点は、或る配置に従って計算され、前記モデルパラメーターは、前記配置の明細を含む、請求項１１に記載の方法。
【請求項１３】
前記予め設定された配置は、予め設定された配置における近接性によって求められる、請求項１１に記載の方法。
【請求項１４】
前記合成するステップは、前記残差データと前記対応する点とを加算することによって実行される、請求項１１に記載の方法。
【請求項１５】
前記再構成された入力点は、３次元マップを含み、車両が、該車両から取得されたデータと前記３次元マップにおけるデータとを登録することによって、前記３次元マップ上での該車両の位置を求める、請求項１１に記載の方法。
【請求項１６】
前記車両から取得された前記データは、点群であり、前記登録することは、前記車両によって取得された前記点群を、３次元マップを含む前記再構成された入力点と比較することを含む、請求項１５に記載の方法。
【請求項１７】
モデルパラメーターのサブセット及び残差データのサブセットが受信されて、入力点のサブセットを再構成するように用いられ、後続する付加的なモデルパラメーターのサブセット及び付加的な残差データのサブセットが受信されて、再構成された前記入力点のサブセットを精緻化するように用いられる、請求項１１に記載の方法。
【請求項１８】
２次元グリッドを包含する矩形を画定するステップと、
各入力点を、前記２次元グリッド上のインデックスに関連付けるステップと、
前記矩形の各々について、該矩形内にインデックス付けされた前記入力点に、パラメーター化された表面をフィッティングするステップと、
前記矩形の各々について、前記パラメーター化された表面と前記矩形内にインデックス付けされた前記入力点との間のフィッティング誤差を測定するステップと、
前記フィッティング誤差が予め設定された閾値を超えた場合、前記矩形の各々を階層的に分割してより小さな矩形にするステップと、
を更に含む、請求項１に記載の方法。
【請求項１９】
シーンを表す点群を符号化する符号化器システムであって、前記点群の各点は、３次元（３Ｄ）空間におけるロケーションであり、該符号化器システムは、
メモリと通信するプロセッサと、
前記メモリに記憶される符号化器モジュールであって、ステップを実行することによってシーンを表す点群を符号化するように構成される、符号化器モジュールと、
を備え、前記ステップは、
パラメーター化された表面を、入力点によって形成される前記点群上にフィッティングするステップと、
前記パラメーター化された表面からモデルパラメーターを生成するステップと、
前記パラメーター化された表面上の対応する点を計算するステップであって、該対応する点は、前記入力点に対応する、ステップと、
前記対応する点と前記点群の前記入力点とに基づいて残差データを計算するステップと、
前記モデルパラメーター及び前記残差データを圧縮して、それぞれ、符号化されたモデルパラメーター及び符号化された残差データを得るステップと、
前記パラメーター化された表面の符号化された前記モデルパラメーターと前記符号化された残差データとからビットストリームを生成するステップと、
を含む、符号化器システム。
【請求項２０】
シーンを表す点群を符号化するプログラムが記憶された非一時的コンピューター可読記録媒体であって、前記点群の各点は、３次元（３Ｄ）空間におけるロケーションであり、プロセッサによって実行されると、前記プログラムは、該プロセッサに、
パラメーター化された表面を、入力点によって形成される前記点群上にフィッティングするステップと、
前記パラメーター化された表面からモデルパラメーターを生成するステップと、
前記パラメーター化された表面上の対応する点を計算するステップであって、該対応する点は、前記入力点に対応する、ステップと、
前記対応する点と前記点群の前記入力点とに基づいて残差データを計算するステップと、
前記モデルパラメーター及び前記残差データを圧縮して、それぞれ、符号化されたモデルパラメーター及び符号化された残差データを得るステップと、
前記パラメーター化された表面の前記符号化されたモデルパラメーターと前記符号化された残差データとからビットストリームを生成するステップと、
を実行させる、非一時的コンピューター可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、点群のジオメトリを圧縮する方法に関し、より詳細には、この点群のジオメトリを予測的に符号化する方法に関する。
【背景技術】
【０００２】
点群は、３Ｄ空間における点のセットを含むことができる。例えば、所与の点は、そのロケーション又はジオメトリを指定する具体的な（ｘ，ｙ，ｚ）座標を有することができる。この点ロケーションは、センサー分解能によって決定されるか、又は点群を生成するのに実行される任意の前処理によって決定される分解能で、３Ｄ空間における任意の箇所に配置することができる。細かい分解能について、又は広大な３Ｄ空間に拡がる点群を有する粗い分解能について、点ロケーションの整数バイナリ表現又は浮動小数点バイナリ表現には、複数のビットを要し得る。高精度で全ての座標を記憶又はシグナリングすることにより、捕捉システムが、高忠実度で点群座標を保存することが可能になるが、その一方で、そのような表現は、保存する際には記憶空間を、又はシグナリングする際には帯域幅を大量に消費する可能性がある。したがって、後の記憶又は送信のために、点群ロケーション又はジオメトリを表すのに必要なビット数を低減する必要がある。圧縮を伴う場合でも、圧縮された表現のサイズは、著しく大きなものとなる可能性があり、したがって、点群ジオメトリの粗い表現を、ファイル又はビットストリームの全体を復号する必要なく、迅速に又は容易に復号及び再構成することが可能になる圧縮された表現もまた必要とされている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明のいくつかの実施形態は、所与の表面をパラメーター化して、このパラメーター化された表面を、点群上にフィッティングすることによって、この点群を効果的に符号化することができるという認識に基づいている。
【課題を解決するための手段】
【０００４】
したがって、１つの実施形態は、メモリと通信するプロセッサを備える符号化器を用いて、シーンを表す点群を符号化する方法であって、この方法は、
パラメーター化された表面を、入力点によって形成される点群上にフィッティングするステップと、
パラメーター化された表面からモデルパラメーターを生成するステップと、
パラメーター化された表面上の対応する点を計算するステップであって、この対応する点は、入力点に対応する、ステップと、
対応する点と点群の入力点とに基づいて残差データを計算するステップと、
モデルパラメーター及び残差データを圧縮して、符号化されたモデルパラメーター及び符号化された残差データを得るステップと、
パラメーター化された表面の符号化されたモデルパラメーターと符号化された残差データとからビットストリームを生成するステップと、
を含む、方法を開示する。
【０００５】
さらに、本発明のいくつかの実施形態は、パラメーター化された表面のモデルパラメーターと元の点群から計算された残差データとを含むビットストリームを受信することによって、符号化された点群データを効果的に復号することができるという認識に基づいている。
【０００６】
したがって、１つの実施形態は、シーンを表す点群を符号化する符号化器システムであって、点群の各点は、３次元（３Ｄ）空間におけるロケーションであり、この符号化器システムは、
メモリと通信するプロセッサと、
メモリに記憶される符号化器モジュールであって、ステップを実行することによってシーンを表す点群を符号化するように構成される、符号化器モジュールと、
を備え、ステップは、
パラメーター化された表面を、入力点によって形成される点群上にフィッティングするステップと、
パラメーター化された表面からモデルパラメーターを生成するステップと、
パラメーター化された表面上の対応する点を計算するステップであって、この対応する点は、入力点に対応する、ステップと、
対応する点と点群の入力点とに基づいて残差データを計算するステップと、
モデルパラメーター及び残差データを圧縮して、それぞれ、符号化されたモデルパラメーター及び符号化された残差データを得るステップと、
パラメーター化された表面の符号化されたモデルパラメーターと符号化された残差データとからビットストリームを生成するステップと、
を含む、符号化器システムを開示する。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態による符号化プロセスのブロック図である。
【図２】本発明の実施形態による、表面モデルと編成された点群についての点ロケーションとの間の対応関係を計算するプロセスのブロック図である。
【図３】本発明の実施形態による、表面モデルと編成されていない点群についての点ロケーションとの間の対応関係を計算するプロセスのブロック図である。
【図４】本発明の実施形態による、点ロケーションと表面モデルの対応する点との間の残差を計算するプロセスである。
【図５】本発明の実施形態による復号プロセスの図である。
【図６】本発明の実施形態による、階層的分割プロセスの図である。
【発明を実施するための形態】
【０００８】
本発明の様々な実施形態が、図面を参照して以下で説明される。図面は縮尺どおり描かれておらず、類似の構造又は機能の要素は、図面全体にわたって同様の参照符号によって表されることに留意されたい。図面は、本発明の特定の実施形態の説明を容易にすることのみを意図することにも留意されたい。図面は、本発明の網羅的な説明として意図されるものでもなければ、本発明の範囲を限定するものとして意図されるものでもない。加えて、本発明の特定の実施形態と併せて説明される態様は、必ずしもその実施形態に限定されず、本発明の任意の他の実施形態において実施することができる。
【０００９】
本発明の実施形態は、３次元（３Ｄ）点群を、３Ｄ点の点ロケーションの予測子として機能する点の群又はセット上にフィッティングされた表面のパラメトリックモデルを用いて圧縮し、パラメーター及び／又は予測誤差を量子化及びシグナリングすることによって圧縮を達成する、方法及びシステムを提供する。
【００１０】
いくつかの実施形態は、メモリと通信するプロセッサを備える符号化器を用いて、シーンを表す点群を符号化する方法であって、点群の各点は、３次元（３Ｄ）空間におけるロケーションであり、この方法は、
パラメーター化された表面を、入力点によって形成される点群上にフィッティングするステップと、
パラメーター化された表面からモデルパラメーターを生成するステップと、
パラメーター化された表面上の対応する点を計算するステップであって、この対応する点は、入力点に対応する、ステップと、
対応する点と点群の入力点とに基づいて残差データを計算するステップと、
モデルパラメーター及び残差データを圧縮して、符号化されたモデルパラメーター及び符号化された残差データを得るステップと、
パラメーター化された表面の符号化されたモデルパラメーターと符号化された残差データとからビットストリームを生成するステップと、
を含む、方法を開示する。
【００１１】
符号化プロセス
図１は、本発明のいくつかの実施形態による、符号化器１００によって実行される符号化プロセスのブロック図である。符号化器１００は、この符号化プロセスを実行するために、メモリ（図示せず）と通信するプロセッサ（図示せず）を備える。
【００１２】
符号化器１００への入力は、Ｎ個の点ｐｉ、ｉ＝｛１，２，．．．，Ｎ｝のセットを含む点群１０１であり、ここで、各ｐｉは、３Ｄ空間における点ロケーションである。点ロケーションは、３Ｄ空間における座標によって表すことができる。例えば、デカルト座標系を用いる場合、ｐｉは、三つ組｛ｘｉ，ｙｉ，ｚｉ｝によって表すことができ、ここで、ｘｉ、ｙｉ、ｚｉは、点の座標である。別の例では、球面座標系を用いることができ、この球面座標系において各点ｐｉは、三つ組｛ｒｉ，θi，φi｝によって表され、ここで、ｒｉは、動径を示し、θiは、極角を示し、φiは、点の方位角を表す。
【００１３】
入力点ｐｉ１０１のセット又はサブセットについて、表面モデルフィッティングプロセス１０２が、入力点ｐｉ１０１のロケーション又は入力点によって表されるオブジェクトの表面を近似する表面モデルを計算する。例えば、入力点が３Ｄ空間における球面オブジェクトの表現又は境界ロケーションである場合、表面モデル１０４は、２つのパラメーター、すなわち、半径と球の原点のロケーションの座標とを有する球面の方程式とすることができる。別の例では、表面モデル１０４は、ベジェ曲面（Bezier surface：ベジェ表面）又はベジェ曲面パッチとすることができる。この場合、表面モデル１０４は、３Ｄ空間における位置又は座標のパラメトリック表現である、ｐ（ｕ，ｖ）によって表すことができる。ベジェ曲面パッチは、以下の方程式によって表すことができる。
【数１】
2019521417.tif 000003
【００１４】
ここで、ｐ（ｕ，ｖ）は、２つのパラメーターを用いる、３Ｄ空間におけるロケーション又は座標のパラメトリック表現である。（ｕ，ｖ）が単位正方形であるパラメーターｕ及びｖを所与とすると、ｐ（ｕ，ｖ）は、３Ｄ空間における（ｘ，ｙ，ｚ）座標である。ベジェ曲面モデルについて、
【数２】
2019521417.tif 000004
及び
【数３】
2019521417.tif 000005
は、
【数４】
2019521417.tif 000006
の形態のバーンスタイン多項式であり、以下の二項係数、
【数５】
2019521417.tif 000007
を用いる。
【００１５】
ベジェ曲面パッチの形状は、モデルパラメーターｂｉｊによって求められ、このモデルパラメーターは、「制御点」として知られる。制御点は、整数ｉ及びｊによってインデックス付けされ、ここで、ｉは、ｕ次元に沿った０〜ｎのインデックスであり、ｊは、ｖ次元に沿った０〜ｍのインデックスである。例えば、ｍ＝３かつｎ＝３の場合、全部で１６個の制御点が存在する。制御点ｂｉｊは、モデルパラメーター１０３に含まれる。
【００１６】
後に説明される、編成された点群について、予め設定された編成情報１１７は、点が編成される方法を指定し、この編成情報は、表面モデルフィッティングプロセス１０２に入力することができる。この編成情報１１７は、各入力点ｐｉ１０１と、編成行列、グリッド、ベクトルにおけるこの入力点のロケーション、又はメモリにおけるアドレスとの間のマッピングの明細とすることができる。いくつかの場合、編成情報１１７は、インデックス、又は各入力点ｐｉ１０１のメモリにおけるアドレス若しくは順序に基づいて推測することができる。
【００１７】
表面モデルフィッティングプロセス１０２は、歪みを最小化するようにモデルパラメーター１０３を選択することができる。歪みは、各入力点ｐｉと表面モデル１０４上の各対応する点ｆｍｊ１０６との間の全歪み又は平均歪みによって表すことができる。この場合、表面モデル１０４は、入力点ｐｉ１０１のセット又はサブセットの予測として機能する。また、表面モデルフィッティングプロセス１０２は、再構成誤差も最小化することができる。再構成誤差は、各入力点ｐｉと対応する再構成された点との間の全誤差又は平均誤差である。この場合、再構成された点は、復号プロセスにおいて再構成された点と同一であり、このことは、後に説明される。
【００１８】
モデルパラメーター１０３が計算されると、点のセット又はサブセットについての表面モデル１０４が、これらのモデルパラメーターを用いて生成される。代替的に、表面モデル１０４は、モデルパラメーター１０３を計算する前の、表面モデルフィッティングプロセス１０２中に生成することができる。この場合、表面モデル１０４は、既に利用可能であり、再生成される必要がない。
【００１９】
表面モデル１０４は、連続的モデルｆ１０５又は離散的モデル１０６とすることができる。連続的モデルは、単位正方形における（ｕ，ｖ）について連続値を使用し、その結果、表面モデル
【数６】
2019521417.tif 000008
をもたらし、ここで、（ｆｘ，ｆｙ，ｆｚ）は、デカルト空間における表面モデル１０４のロケーションを表す。離散的モデルについて、３Ｄ空間における表面モデル１０４のロケーションのパラメトリック表現ｐ（ｕ，ｖ）は、離散的パラメーター（ｕｉ，ｖｉ）を使用する（ここで、ｉは、一般的なインデックス項として用いられ、上述されたベジェ曲面パッチ方程式において用いられていたｉとは異なるインデックスであることに留意されたい）。離散的モデルにおいて、表面モデル１０４は、点
【数７】
2019521417.tif 000009
１０６のセットによって表され、ここで、各対応する点ｆｍｊ１０６は、連続的表面モデルｆの離散点を表す。符号化プロセスのこの部分の意図は、Ｎ個の入力点のセット又はサブセットの良好な表現であるＭ個の表面モデル点のセットを生成することである。
【００２０】
表面モデル１４が取得されると、符号化器１００は、残差計算プロセス１０７を実行して、各入力点ｐｉ１０１に対応する残差
【数８】
2019521417.tif 000010
１０８のセットを計算する。各残差ｒｉは、予測誤差として用いることができるが、これは何故なら、表面モデルは、入力点の予測であるものと考えることができるためである。いくつかの場合、予測誤差は、残差に基づいて計算することができ、例えば、残差ｒｉが各座標間の差分の三つ組によって表される場合（この場合、ｒｉ＝｛ｘｉ−ｆｘｉ，ｙｉ−ｆｙｉ，ｚｉ−ｆｚｉ｝、ｉ＝｛１，２，．．．，Ｎ｝である）、予測誤差は、残差の各成分の二乗を合計することによる二乗誤差歪みを用いて計算することができる。
【００２１】
残差ｒｉ１０８を計算するために、各入力点ｐｉ１０１は、表面モデルｆｍｊ１０６上に対応する点を有さなければならない。Ｎ個の入力点ｐｉ１０１及びＭ個の表面モデル点ｆｍｊ１０６は、表面モデル１０４上の対応する点ｆｉ１１０を計算するプロセス１０９に入力される。別の実施形態では、連続的表面ｆ１０５の点を、対応関係計算プロセス１０９において用いることができる。プロセス１０９は、Ｎ個の対応する表面モデル点
【数９】
2019521417.tif 000011
１１０のセットを出力し、ここにおいて、所与の｛１，２，．．．，Ｎ｝におけるｉについて、ｆｉ１１０は、入力点ｐｉ１０１に対応する表面モデル１０４上の点を示す。
【００２２】
表面モデル１０４上の対応する点ｆｉ１１０が計算されると、上述されたように、残差計算プロセス１０７において、対応する点ｆｉ１１０と入力点ｐｉ１０１との間の残差ｒｉ１０８が計算される。
【００２３】
残差ｒｉ、ｉ＝｛１，２，．．．，Ｎ｝１０８を変換プロセス１１１に入力して、変換係数１１２のセットを生成することができる。例えば、変換プロセス１１１は、変換係数１１２のセットを出力するのに、残差ｒｉ１０８に、離散コサイン変換（ＤＣＴ）又は他の空間領域−周波数領域変換を適用することができる。いくつかの場合、変換プロセス１１１は、パススルー（pass-through：素通りの）変換プロセスとすることができ、ここにおいて、データを改変する動作は行われず、変換係数１１２は残差ｒｉ１０８と同一のものとされる。
【００２４】
変換プロセス１１１の後、変換係数１１２は、量子化プロセス１１３に入力される。量子化プロセスは、変換係数１１２を量子化して、量子化された変換係数１１４のセットを出力する。量子化プロセス１１３の目的は、データの各要素が多数の異なる値を含む空間からの或る値を有する可能性のある入力データのセットを、データの各要素がより少数の異なる値を含む空間からの或る値を有する出力データのセットによって表すことである。例えば、量子化プロセス１１３は、浮動小数点の入力データを整数の出力データに量子化することができる。量子化プロセス１１３が可逆的なものである場合、ロスレス圧縮を達成することができる。これは、量子化プロセス１１３からの各々の生じ得る出力要素を、対応する量子化前の入力要素に逆マッピングすることができることを示す。
【００２５】
続いて、量子化された変換係数１１４は、エントロピー符号化器１１５に入力される。エントロピー符号化器１１５は、変換係数１１５のバイナリ表現を出力ビットストリーム１１６に出力する。出力ビットストリーム１１６は、続いて、送信するか、又はメモリ若しくはコンピューターファイルに記憶することができる。モデルパラメーター１０３もまた、ビットストリーム１１６に出力するために、エントロピー符号化器１１５に入力される。
【００２６】
別の実施形態では、エントロピー符号化器１１５は、固定長の符号化器を含むことができる。
【００２７】
表面モデル上の対応する点を計算するプロセス
図２及び図３は、対応する点の計算プロセス２００及び３００のブロック図を示している。対応する点の計算プロセスには、２つのタイプがある。対応する点の計算プロセス２００は、編成された点群に適用され、対応する点の計算プロセス３００は、編成されていない点群に適用される。
【００２８】
表面モデル上の対応する点を計算するプロセス１０９の目的は、後の段階で各入力点ｐｉ１０１と表面モデル１０４上の各対応する点ｆｉ１１０との間の残差ｒｉ１０８を計算することができるように、入力点ｐｉ１０１ごとに、表面モデル１０４上の対応する点ｆｉ１１０を求めることである。プロセス１０９において表面モデル１０４上の対応する点を計算するこのプロセスは、編成された点群又は編成されていない点群上で行うことができる。これらのプロセスは、編成された点群及び編成されていない点群の以下の説明の後に、詳述される。
【００２９】
編成された点群において、各点ｐｉ１０１は、メモリ又は１つ以上の要素を含む行列若しくはベクトルにおける位置又はアドレスに関連付けられる。例えば、３×４行列は、１２個の要素を含む。点群における各点ｐｉ１０１は、行列における要素若しくは位置に関連付けるか、又はこの要素若しくは位置に割り当てることができる。この関連付けにより、３Ｄ空間における点ｐｉ１０１の実際の座標とは独立とすることができる、点間の編成が生成される。したがって、行列又はメモリにおけるこれらの点の編成に基づいて、点に演算を適用することができ、例えば、点は、編成行列又はグリッドにおけるこれらの点の近接性に基づいて演算することができる。点群における点ｐｉ、ｉ＝｛１，２，．．．，Ｎ｝１０１の数がメモリアドレス又は行列要素の総数よりも小さい場合、メモリアドレス又は行列要素のうちのいくつかは、これらに関連付けられる入力点ｐｉ１０１を有しない。これらの要素は、空白の空間、又は編成グリッド内の穴である「ヌル点」と呼ぶことができる。
【００３０】
編成されていない点群において、入力点ｐｉ１０１に関連付けられる、上述されたような編成行列又はグリッドは存在しない。３Ｄ空間における各点のロケーションは既知であるが、行列若しくはグリッドにおける要素のロケーション又はメモリにおけるアドレスロケーションとの関連付けによって規定される点間に関連性は存在しない。
【００３１】
編成された点群についての対応する点の計算
図２は、対応する点の計算プロセス２００のブロック図を示している。Ｎ個の入力点ｐｉ、ｉ＝｛１，２，．．．，Ｎ｝１０１のセットを所与とすると、入力点ｐｉは、予め設定された編成又はマッピングに従って、メモリ内又は行列内に配置される。
【００３２】
符号化プロセス１００において、上述されたように、予め設定された編成又はマッピングは、編成情報１１７によって表すことができる。編成情報１１７は、指定されたマッピングとすることもできるし、各入力点ｐｉ１０１がメモリに入力又は記憶された順序に基づいて推測することもできる。Ｎ個の入力点ｐｉ１０１は、Ｍ個の要素、ロケーション、又はアドレスを有するメモリ又は行列若しくはベクトルに配置されて記憶される（２０１）。Ｍ≧Ｎの場合、「ヌル点」のプレースホルダーがメモリ、行列、又はベクトルのロケーションに記憶される（２０２）。これらのヌル点のプレースホルダーは、どの入力点ｐｉ１０１にも関連付けられていない。この場合、配置された入力点ｐｉ１０１及びヌル点のプレースホルダーは、組み合わされてＭ個のロケーションに記憶され（２１０）、このＭ個のロケーションは、Ｎ個のｐｉ１０１及びＭ−Ｎ個のヌル点のプレースホルダーを含む。
【００３３】
編成された点群において、ステップＳ１に示すように、各入力点ｐｉ１０１は、メモリ又は１つ以上の要素を含む行列若しくはベクトルにおける位置又はアドレスに関連付けられる。編成された点群における各入力点ｐｉ１０１は、行列における予め設定された位置に割り当てられた要素に関連付けることができる。この場合、関連付けは、入力点ｐｉ１０１と行列における要素との間でなされる。この関連付けは、３Ｄ空間における入力点ｐｉ１０１の実際の座標とは独立して実行することができる。ステップＳ２において、配置オペレーションを、この関連付けに基づいて行列における要素に適用することができる。ステップＳ２において、行列における要素は、行列におけるこれらの要素の近接性に基づいてＭ個のメモリロケーションに配置することができる。
【００３４】
点群における入力点ｐｉ、ｉ＝｛１，２，．．．，Ｎ｝１０１の数がＭ個のメモリアドレス又は行列要素の総数よりも小さい場合、メモリアドレス又は行列要素のうちのいくつかは、入力点ｐｉ１０１を有しない。これらの入力点ｐｉを有しない要素は、空白の空間、又は編成行列における穴である「ヌル点」と呼ぶことができる。ステップＳ１及びＳ２が実行された後、行列要素は、Ｍ個のメモリアドレス又はメモリにおける行列要素に記憶される。例えば、メモリに１２個の要素が記憶される行列が、図２に示されている。ヌル点が
【数１０】
2019521417.tif 000012
によって示されていることに留意されたい。すなわち、Ｍ≧Ｎの場合、「ヌル点」のプレースホルダーが、どの入力点ｐｉ１０１にも関連付けられていない、メモリ、行列又はベクトルのロケーションに記憶される（２０２）。この場合、配置された入力点ｐｉ１０１及びヌル点のプレースホルダーは、組み合わされてＭ個のロケーションに記憶され（２１０）、このＭ個のロケーションは、Ｎ個の入力点ｐｉ１０１及びＭ−Ｎ個のヌル点のプレースホルダーを含む。
【００３５】
ステップＳ４において、Ｎ個の入力点ｐｉ１０１が、メモリ、Ｍ個のアドレス又は要素を有する行列又はベクトルに編成されると、表面モデル点１０４、例えば、離散的表面モデル点ｆｍｊ、ｊ＝｛１，２，．．．，Ｍ｝１０６が、ステップＳ４において表面モデルフィッティングプロセス１０２を用いてプロセス２０３において生成される。
【００３６】
ステップＳ５において、組み合わされた（２１０）ロケーションに含まれるものと同じ数及び配置のアドレス又は要素を含む表面モデル点ｆｍｊが、メモリに配置され（２０４）、その結果、表面モデル点２１１の順序付けられた又は編成された配置がもたらされる。
【００３７】
いくつかの場合、表面モデル点は、フィッティングプロセス１０２中に生成することができる。
【００３８】
プロセス１０９において表面モデル上の対応する点を計算するプロセスは、Ｎ個の対応する表面モデル点ｆｉ、ｉ＝｛１，２，．．．，Ｎ｝１１０を出力するので、モデルと編成された点群の点ロケーションとの間の対応する点を計算するプロセス２００の最終ステップ（ステップ６）は、Ｍ個の表面モデル点ｆｍｊ、ｊ＝｛１，２，．．．，Ｍ｝１０６からＮ個の点を選択する（２０５）方法である。この選択は、組み合わされた（２１０）ロケーションのコンテンツを、例えば、最初の要素から最後の要素までの順で検査することによって達成することができる。この順序における位置は、ｊによってインデックス付けすることができ、非ヌル点を追跡するインデックスは、ｉとして示すことができる。組み合わされた（２１０）ロケーションの第１の要素、すなわち、ｊ＝１が非ヌル点を含む場合、この非ヌル点は、ｐ１となり、そのため、対応する点ｆ１は、表面モデル点ｆｍ１に等しく設定され、ｉは増分される。この第１の要素がヌルである場合、このロケーションについて対応する点は存在せず、そのため、割り当ては行われない。次に、ｊが増分され、これらのステップは、組み合わされた（２１０）ロケーションの次の要素について反復される。最終結果は、表面モデル点ｆｍｊ、ｊ＝｛１，２，．．．，Ｍ｝の要素から選択又はマッピングされる（２１２）Ｎ個の対応する点ｆｉ、ｉ＝｛１，２，．．．，Ｎ｝１１０の出力であり、ここで、この表面モデル点のロケーションは、組み合わされた（２１０）ロケーションを記憶するメモリにおける非ヌルエントリに対応する。
【００３９】
上述したように、復号プロセスにおいて、点群は、編成された点群とすることができる。別の場合では、点群は、編成されていない点群とすることができる。
【００４０】
編成されていない点群についての対応する点の計算
図３は、対応する点を計算するプロセス３００のブロック図を示している。編成されていない点群の表面モデル上の対応する点を計算するプロセス３００が図３に示されている。Ｎ個の入力点ｐｉ、ｉ＝｛１，２，．．．，Ｎ｝１０１のセットを所与とすると、プロセス３００が編成されていない点群上で行われ、そのため、入力点ｐｉ、ｉ＝｛１，２，．．．，Ｎ｝１０１は、予め設定された編成又はマッピングに従ってメモリ又は行列内に配置される必要がない。
【００４１】
表面モデルを、３Ｄ空間におけるロケーション又は座標のパラメトリック表現であるｐ（ｕ，ｖ）によって表すことができることが上記で記載された。編成されていない点群及び任意選択で編成された点群について、表面モデルフィッティングプロセス１０２は、所与の入力点に対応する表面モデルパッチ上のロケーションを生成するのに用いられるパラメーター（ｕ，ｖ）を計算することができる。したがって、入力点ｐｉ、ｉ＝｛１，２，．．．，Ｎ｝１０１の各々について、パラメーターの対（ｕｉ，ｖｉ）３０１が存在する。パラメーター対（ｕｉ，ｖｉ）３０１のセットは、付加的に、モデルパラメーター１０３としてシグナリングすることができる。各入力点ｐｉ１０１に関連付けられる各パラメーター対（ｕｉ，ｖｉ）３０１の選択は、表面モデルフィッティングプロセス１０２中、例えば、各入力点ｐｉ１０１と表面パッチｐ（ｕｉ，ｖｉ）上のロケーションとの間の差分又は歪みを最小化することによって計算することができる。
【００４２】
入力点ｐｉ１０１及び計算されたパラメーター（ｕｉ，ｖｉ）３０１を所与とすると、表面モデルｆｍｉ、ｉ＝｛１，２，．．．，Ｎ｝３１１上の対応する点（１１０）は、所与の（ｕｉ，ｖｉ）３０１のパラメーター対について、表面モデルｆｍｉ３１１上の対応する点を、表面パッチｐ（ｕｉ，ｖｉ）上のロケーションに設定することによって計算される（３０３）。
【００４３】
Ｎ個の入力点ｐｉ、ｉ＝｛１，２，．．．，Ｎ｝１０１が、表面モデル点ｆｍｉ、ｉ＝｛１，２，．．．，Ｎ｝３１１とともに順序付けられて配置され（３１０）、この順序は、パラメーター対（ｕｉ，ｖｉ）３０１の順序付けられたリスト３２０の順序と一致する。入力点１０１の数と表面モデル点ｆｍｉの数とは双方ともにＮであるので、入力点ｐｉとモデル点ｆｍｉとの間に一対一の対応関係が存在し、そのため、表面モデル１０４の対応する点ｆｉ、ｉ＝｛１，２，．．．，Ｎ｝１１０は、プロセス３０５において、表面モデル点ｆｍｉ、ｉ＝｛１，２，．．．，Ｎ｝３１１への一対一のマッピング３１２を用いて設定される。
【００４４】
点ロケーションと表面モデルの対応する点との間の残差を計算するプロセス
編成された点群の点ロケーションと表面モデル１０４の対応する点との間の残差を計算するプロセスは、図４に示されている。図２の配置プロセス２０１及び記憶プロセス２０２からの出力として入力点ｐｉ、ｉ＝｛１，２，．．．，Ｎ｝１０１及びヌル点のプレースホルダーを含む、組み合わされた（２１０）ロケーションのセットを所与とし、かつ図１の符号化プロセス１００中のプロセス１０９において計算された表面モデルの対応する点ｆｉ、ｉ＝｛１，２，．．．，Ｎ｝１１０を所与とすると、残差ｒｉ、ｉ＝｛１，２，．．．，Ｎ｝１０８が、各入力点ｐｉ１０１と表面モデル１０４の対応する点ｆｉとの間の差分として計算される（４４０）。この差分は、点の各座標について計算することができ、ここで、ｒｉ＝｛ｘｉ  ｆｘｉ，ｙｉ−ｆｙｉ，ｚｉ−ｆｚｉ｝、ｉ＝｛１，２，．．．，Ｎ｝である。編成されていない点群を処理する場合、配置された点２１０にヌル点のプレースホルダーは存在しないので、そのため、残差のリストは、入力点１０１と表面モデル１０４上の対応する点１１０とに対して一対一の対応関係を有する。編成された点群を処理する場合、残差を計算することにおいて一対一の対応関係が依然として存在するが、残差は、配置された点２１０と同じように配置される。図４において、配置された点２１０のリストにおけるヌル点によって占有されるロケーションが、配置された点２１０のリストにおけるヌル点ロケーションに対応するエントリを有しないように、対応する点のリスト４３０がより大きなメモリ内で配置される。配置された点２１０のリストから対応する点のリスト４３０のこのリストを減じることによって、残差４４１を記憶するメモリは、配置された点２１０を記憶するメモリ内のロケーションと同じロケーションにおいてヌル点エントリを含むことができる。したがって、編成された点群について、残差計算プロセス１０７から出力された残差１０８は、記憶ロケーションに基づいて明示的又は暗示的に、ヌル点エントリのロケーションに関する情報も含む。編成された点群について、ヌル点エントリは存在せず、そのため、出力残差１０８は、残差計算プロセス１０７によって計算されるものとして、差分のリストを含む。
【００４５】
一実施形態では、残差データは、対応する点と入力点との間の距離を表す。
【００４６】
さらに、いくつかの場合、入力点ｐｉ１０１は、属性を含むことができる。この場合、対応する点は、属性を含むことができる。例えば、属性は、色情報を含むことができる。
【００４７】
さらに、いくつかの実施形態は、シーンを表す点群を符号化する符号化器システムを開示し、点群の各点は、３次元（３Ｄ）空間におけるロケーションであり、本符号化器システムは、メモリと通信するプロセッサと、メモリに記憶される符号化器モジュールであって、ステップを実行することによってシーンを表す点群を符号化するように構成される、符号化器モジュールとを備え、ステップは、パラメーター化された表面を、入力点によって形成される点群上にフィッティングするステップと、パラメーター化された表面からモデルパラメーターを生成するステップと、パラメーター化された表面上の対応する点を計算するステップであって、この対応する点は、入力点に対応する、ステップと、対応する点と点群の入力点とに基づいて残差データを計算するステップと、モデルパラメーター及び残差データを圧縮して、それぞれ、符号化されたモデルパラメーター及び符号化された残差データを得るステップと、パラメーター化された表面の符号化されたモデルパラメーターと符号化された残差データとからビットストリームを生成するステップとを含む。
【００４８】
復号プロセス
本発明のいくつかの実施形態は、パラメーター化された表面のモデルパラメーターと元の点群から計算された残差データとを含むビットストリームを受信することによって、符号化された点群データを効果的に復号することができるという認識に基づいている。いくつかの実施形態は、メモリと通信するプロセッサを備える復号器を用いて、シーンを表す点群を復号する方法を開示し、本方法は、パラメーター化された表面についてのモデルパラメーターを受信するステップと、残差データを受信するステップと、モデルパラメーターを用いてパラメーター化された表面を求めるステップと、予め設定された配置に従ってパラメーター化された表面から対応する点を計算するステップと、残差データと対応する点とを合成することによって再構成された入力点を計算するステップとを含む。
【００４９】
図５は、本発明の一実施形態の復号器又は復号プロセスの図である。復号器への入力はビットストリーム１１６である。ビットストリーム１１６は、エントロピー復号器５１５によって復号され、これにより、モデルパラメーター１０３のセットと量子化された変換係数１１４とが生成される。量子化された変換係数は、逆量子化され（５１３）、逆量子化された変換係数５１２が生成される。逆量子化された変換係数５１２は逆変換５１１に入力され、これにより、再構成された残差
【数１１】
2019521417.tif 000013
５０８のセットが生成され、この残差は、例えば、デカルト座標系を用いる場合、
【数１２】
2019521417.tif 000014
とすることができる。
【００５０】
エントロピー復号器５１５から復号されたモデルパラメーター１０３は、表面モデル生成プロセス５１５に入力され、これにより、符号化プロセス１００の表面モデルフィッティングプロセス１０２の方法と同じ方法において表面モデル１０４が生成されるが、これには、ビットストリーム１１６からモデルパラメーターを復号することによってこれらが提供されるので、このプロセスのフィッティング部分を伴わない。表面モデル１０４は、連続的なものである
【数１３】
2019521417.tif 000015
１０５とすることもできるし、離散的なものである
【数１４】
2019521417.tif 000016
１０６とすることもできる。表面モデル１０４がベジェ曲面パッチである場合、モデルパラメーター１０３は、制御点ｂｉｊを含む。表面モデル１０４は、プロセス１０９において表面モデル上の対応する点を計算するプロセスに入力され、これにより、予め設定された配置に従って表面モデル１０４の対応する点ｆｉ、ｉ＝｛１，２，．．．，Ｎ｝１１０が計算される。例えば、予め設定された配置は、モデルにおけるパラメーターの近接性によって実行することができる。この場合、パラメーター化された表面からの対応する点は、或る配置に従って計算することができ、モデルパラメーターは、配置の明細を含む。
【００５１】
再構成された残差
【数１５】
2019521417.tif 000017
と表面モデル１０４上の対応する点ｆｉとが入力として与えられると、合成器５０７が、再構成された点群又は再構成された入力点
【数１６】
2019521417.tif 000018
５０１を計算する。合成器５０７において実行されるプロセスは、例えば、加算とすることができ、この加算において、
【数１７】
2019521417.tif 000019
である。
【００５２】
別の例では、合成器５０７によるプロセスは、残差データ及び対応する点を加算することによって実行することができる。
【００５３】
符号化プロセス１００における入力点ｐｉ１０１と同様に、再構成された点群
【数１８】
2019521417.tif 000020
５０１は、編成されていないものとすることも、編成されたものとすることもできる。
【００５４】
編成されていない場合について、ビットストリーム１１６から復号された（５１５）モデルパラメーターエントロピーは、（ｕｉ，ｖｉ）３０１のパラメーター対のリスト３２０を含むことができ、このパラメーター対は、ベジェ曲面モデル１０４の表面パッチｐ（ｕｉ，ｖｉ）等の、表面モデル１０４を生成するためのパラメーターとして用いられる。表面モデル１０４上の対応する点は、これらの点が符号化器において計算される方法と同様に計算され（１０９）、表面モデル１０４上のＮ個の対応する点１１０のセットがもたらされる。
【００５５】
編成される場合について、再構成された残差
【数１９】
2019521417.tif 000021
５０８は、ヌル点のロケーションを含み、すなわち、これらの残差は、符号化プロセス１００内で生成された残差４４１と同じ方法でメモリに配置される。復号プロセス５００において表面モデル１０４上の対応する点１１０を計算するプロセス１０９は、符号化プロセス１００内で行われる方法と同じ方法で行うことができる。
【００５６】
ヌル点を有する再構成された残差５０８上で行われる場合、合成器５０７は、入力ヌル点をその出力にコピーする。
【００５７】
別の実施形態では、合成器は、表面モデル１０４上の対応する点１１０をその出力にコピーすることができ、この場合、再構成された点群５０１におけるヌル点のプレースホルダーの全てが表面モデル１０４からの対応する点１１０に置き換えられる。この実施形態は、「穴」すなわち点群から欠落した点を、表面モデル１０４からの点に置き換えるように用いることができる。
【００５８】
階層的分割プロセス
２つ以上の表面モデル１０４が必要な場合、階層的分割プロセスを用いて点群を分解して、各々がそれら自体のモデルを有するより小さな点群にすることができる。
【００５９】
符号化の階層的分割プロセス
編成された点群について、表面モデル１０４は、表面パッチｐ（ｕｉ，ｖｉ）とすることができ、ここで、パラメーターの対（ｕｉ，ｖｉ）３０１が、表面モデル１０４のために３Ｄ空間における点ロケーションを計算するのに用いられる。連続的表面モデル１０４について、表面パッチｐ（ｕ，ｖ）のパラメーター（ｕ，ｖ）は、単位正方形上に拡がり、すなわち、０≦ｕ、ｖ≦１である。離散的表面モデルについて、パラメーター空間（ｕ，ｖ）は、パラメーター値（ｕｊ，ｖｋ）、ｊ＝｛１，２，．．．，Ｊ｝、ｋ＝｛１，２，．．．，Ｋ｝のＪ×Ｋグリッドとして離散化することができる。この場合、表面パッチｐ（ｕｊ，ｖｋ）は、３Ｄ空間においてＭ×Ｎ点を含む。
【００６０】
図６は、本発明の実施形態による階層的分割プロセスの図である。初期パラメーター空間、この場合、２Ｄグリッド（ｕｊ，ｖｋ）、ｊ＝｛１，２，．．．，Ｊ｝、ｋ＝｛１，２，．．．，Ｋ｝６０１は、幅ｗ＝Ｊ及び高さｈ＝Ｋを有する初期矩形６０２によって表すことができる。
【００６１】
いくつかの場合、近接性を、２Ｄグリッド上の近傍位置によって規定することができる。さらに、近傍位置は、水平方向、垂直方向、及び対角方向におけるものとすることができる。
【００６２】
サイズｗ×ｈを有する矩形６０２によって表される初期パラメーター空間（ｕｊ，ｖｋ）６０１を所与とすると、表面モデルパッチｐ（ｕｉ，ｖｉ）６０３は、表面モデルフィッティングプロセス１０２によって生成される。符号化プロセス１００及び復号プロセス５００は、ｆｍｌ、ｌ＝｛１，２，．．．，Ｌ｝１０６として離散的表面モデルを表し、そのため、表面モデルマッピングに対するパッチ６０４は、ｐ（ｕｊ，ｖｋ）ｊ＝｛１，２，．．．，Ｊ｝、ｋ＝｛１，２，．．．，Ｋ｝をｆｍｌ、ｌ＝｛１，２，．．．，Ｌ｝にマッピングする。したがって、Ｌ＝Ｊ×Ｋである。
【００６３】
全ての入力点を始めに表すことができる、現在の矩形表現に関連付けられた入力点と、離散的表面モデル１０４、１０６との間のフィッティング誤差ｅ６０３が計算される（６０５）。フィッティング誤差ｅは、例えば、入力点の各成分（例えば、ｘ成分、ｙ成分、及びｚ成分）とその対応する表面モデル点との間の全誤差又は平均二乗誤差として測定することができる。別の実施形態では、フィッティング誤差ｅは、表面モデル１０４の表面法線及び事前に計算された表面モデル１０４の表面法線の全偏差又は平均偏差として測定することができる。
【００６４】
フィッティング誤差ｅ６０６が予め設定されたフィッティング誤差閾値Ｔ６０７よりも小さい場合、階層的分割プロセス６００は、成功したものとみなされ、そのため、矩形がこれ以上分割されないことを示す分割フラグ６１０が出力され（６０８）、モデルパラメーター１０３とともに現在の矩形に関連付けられた点についての離散的表面モデルｆｍｌ１０６も出力され（６０８）、このプロセスは終了する。表面モデル１０４がベジェ曲面である場合、モデルパラメーター１０３は、式（１）に示される制御点ｂｉｊを含むことができる。これらのモデルパラメーターは、現在の矩形表現の幅ｗ及び高さｈも含むことができる。
【００６５】
フィッティング誤差ｅ６０６が予め設定されたフィッティング誤差閾値Ｔ６０７以上である場合、現在の表面モデル１０４は、現在の矩形に関連付けられた入力点への良好なフィットではないものとみなされる。この場合、矩形は、矩形分割プロセス６０９によって分割されて２つ以上の矩形にされ、矩形が分割されることを示す分割フラグ６１０が出力される（６１１）。
【００６６】
矩形分割プロセス６０９は、パラメーター空間の現在の矩形表現を取り、幅ｗ及び高さｈを有する矩形を分割して、２つ以上の矩形を含む分割された矩形６１２にする。例えば、バイナリ分割は、矩形を、各々幅ｗ／２及び高さｈを有する２つの矩形に分割することができる。別の例では、分割後、各矩形は、幅ｗ及び高さｈ／２を有することができる。ｗ／２又はｈ／２が整数ではない場合、丸め技法を行うことができ、例えば、一方の矩形は、幅ｆｌｏｏｒ（ｗ／２）を有することができ、他方はｆｌｏｏｒ（ｗ／２）＋１を有することができ、ここでｆｌｏｏｒ（）は、端数を切り捨てて最も近い整数にする。バイナリ分割について、幅に沿って分割するか又は高さに沿って分割するかは、予め設定されたプロセスによって判断することもできるし、いずれの次元を分割するのかについての判断は、ビットストリームにおいてフラグとして明示的にシグナリングすることもできる。予め設定されたプロセスによって判断する場合、そのような予め設定されたプロセスの一例は、より長い方の次元に交差するように矩形を分割することである。例えば、ｗ＝１０及びｈ＝４である場合、矩形は、幅に交差するように分割することができ、そのため、分割された矩形６１２は、各々幅ｗ＝５及び高さｈ＝４を有する。
【００６７】
別の実施形態では、矩形分割プロセス６０９は、１つの矩形を分割して３つ以上の矩形、例えば、各々矩形の１つの４分割部分を表す４つの矩形にすることができる。
【００６８】
別の実施形態では、矩形分割プロセス６０９は、矩形に関連付けられた入力点１０１の密度に基づいて矩形を分割することができる。例えば、その矩形についての入力点が３Ｄ空間における２つの別個のオブジェクトを表す場合、矩形分割プロセス６０９は、この矩形を分割して、各々が１つのオブジェクトを含む２つの部分にすることができる。矩形を最も良好に分割する場所を求めるために、例えば、矩形についての入力点の密度を測定することができ、分割は、各分割された矩形内の密度を最大化するラインに沿って行うことができ、又は、別の例では、分割は、ラインと分割された矩形内の各点との間の距離の総和を、例えば、最小二乗近似を用いてラインをフィッティングすることによって、最小化するラインに沿って行うことができる。分割のロケーションを示すパラメーターを、モデルパラメーターとして符号化してビットストリームにおいてシグナリングすることができる。
【００６９】
分割された矩形６１２が取得されると、階層的分割プロセス６００は、分割された矩形６１２を、階層的分割プロセス６００内の表面モデルフィッティングプロセス１０２に入力することによって、これらの分割された矩形６１２の各々について反復される。
【００７０】
矩形又は分割された矩形のフィッティング誤差６０６が閾値６０７よりも小さい場合にこの矩形又は分割された矩形について分割プロセス６０９を終端することに加えて、矩形についての分割プロセス６０９は、幅ｗ又は高さｈ、又は面積、すなわち、幅と高さとの積が予め設定された値よりも小さい場合に終端することができる。例えば、１６個の制御点を有するベジェ曲面パッチが表面モデル１０４として用いられる場合、及び、矩形の面積が１０である場合、１６個の制御点のシグナリングを必要とする表面モデル１０４を用いて矩形をフィッティングする代わりに、矩形に関連付けられた１０個の入力点１０１を直接シグナリングするのがより効率的であり得る。
【００７１】
別の実施形態では、表面モデル１０４に用いる制御点の数は、矩形の幅と高さとに依拠することができる。例えば、矩形の面積が１６よりも小さい場合、より少数の制御点を有する表面モデル１０４を用いることができる。ルックアップテーブルに対する値又はインデックスを、所与の矩形のためにいくつの制御点が表面モデル１０４において用いられるかを示すのに、ビットストリームにおいてシグナリングすることができる。
【００７２】
別の実施形態では、ランク、すなわち、入力点１０１の行列の線形独立な行若しくは列の数、又は矩形に関連付けられた入力点の行列の分解を測定することができ、表面モデル１０４を生成するのに用いる制御点の数は、ランク以下の値に設定することができる。
【００７３】
階層的分割プロセス６００が完了すると、分割フラグ６１０のシーケンスが出力される。例えば、バイナリ分割がより長い次元に交差するように常に生じることを認識することによって、分割フラグと初期矩形表現の幅及び高さとによって完全に指定することができるという点において分割プロセスが予め設定されたものである場合、全ての分割された矩形のロケーションを復元するのに十分な情報が復号器に利用可能である。したがって、初期矩形表現６０２の幅及び高さ、分割フラグ６１０のシーケンス、並びに各矩形についての制御点等のモデルパラメーター１０３を復号器が用いて、各矩形についての表面モデル１０４を生成することができる（５１５）。
【００７４】
復号器における分割された矩形の処理
１つの実施形態では、復号器は、ビットストリームから、初期矩形表現６０２の幅及び高さ、すなわち、２Ｄ編成グリッドを復号することができる。次に、復号器は、ビットストリームから、分割フラグ６１０を復号し、ここで、１すなわち真の分割フラグは、矩形が分割されて、例えば、２つの矩形（第１の矩形及び第２の矩形）にされることを示し、そして例えば、その分割は、矩形のより大きい次元に交差するように生じることができる。矩形が分割される場合、ビットストリームから復号された次の分割フラグ６１０は、第１の矩形についての分割フラグ６１０である。
【００７５】
その分割フラグが０すなわち偽である場合、第１の矩形は、この後分割されず、ペイロードフラグをビットストリームから復号して、いずれの種類のデータが第１の矩形について復号されるのかを示すことができる。ペイロードフラグが１すなわち真である場合、制御点、及び第１の矩形についての量子化された変換係数１１４等の残差１０８を表すデータが、ビットストリームからエントロピー復号される。残差を表すデータを復号した後、この矩形についての表面モデル１０４の制御点等のモデルパラメーター１０３をビットストリームからエントロピー復号することができる。ペイロードフラグが０すなわち偽である場合、第１の矩形について残差は利用可能でなく、これは、例えば表面モデル１０４が用いられず、符号化器が入力点１０１をビットストリームに直接シグナリングした場合に起こり得る。この場合、復号器は、次に、ビットストリームから、第１の矩形についての入力点、量子化された入力点、又は変換された入力点の量子化された変換係数をエントロピー復号する。別の実施形態では、ペイロードフラグは用いられない。この場合、表面モデル１０４が常に用いられ、そのため、残差を表すデータがビットストリームから復号される。
【００７６】
その分割フラグが１すなわち真である場合、第１の矩形は、更に分割される。
【００７７】
階層又はツリーを表すデータ構造は、幅優先又は深さ優先でトラバースすることができる。幅優先の場合、ビットストリームから復号される次のデータは、第２の矩形についての分割フラグである。深さ優先の場合、ビットストリームから復号される次のデータは、現在の矩形についての分割フラグであり、この場合、この分割フラグは、第１の矩形が更に分割されるか否かを示す。
【００７８】
復号器における分割された矩形のこの処理は、全ての矩形が処理されるまで各矩形上で実行される。
【００７９】
符号化プロセス中の場合には、付加的な基準を用いて或るブロックが分割されるか又は分割されないかを判断することができる。例えば、矩形の次元（幅及び／又は高さ、又は面積）が予め設定された閾値未満である場合、その矩形についての分割プロセスは、ビットストリームから分割フラグを復号する必要なく終端することができる。各矩形の次元は、初期矩形表現６０２の高さ及び幅から分割プロセス中に推測することができる。
【００８０】
付加的な実施形態
別の実施形態では、矩形又は分割された矩形６１２の選択されたセットが処理され、再構成された点群５０１が復号プロセス６００によって出力された後、例えば、スケーリング可能な復号システムにおいて、付加的な矩形を処理して、再構成された点群５０１のための付加的な点を生成することができる。
【００８１】
別の実施形態では、表面モデルが符号化プロセス１００及び復号プロセス６００によって用いられる場合にもたらされる、離散的表面モデル１０６と再構成された点群５０１との間の差分としてフィッティング誤差６０６が計算される。
【００８２】
別の実施形態では、差分に基づくフィッティング誤差６０６、例えば、入力点１０１と離散的表面モデル１０６との間の平均二乗誤差を計算する代わりに、誤差メトリックは、処理される矩形に関連付けられた全てのデータを表すのに、平均二乗誤差とビットストリームにおいて占有されるビットのスケーリングされた数との合計とすることができる。
【００８３】
別の実施形態では、矩形の分割は、矩形のより短い次元に交差するように生じさせることができる。
【００８４】
別の実施形態では、制御点、他のモデルパラメーター１０３、及び残差１０８に関連付けられたデータ等の、各矩形に関連付けられたどのデータよりも前に、全ての分割フラグ６１０がビットストリームから復号される。この実施形態により、残りのデータがビットストリームから復号される前に、完全な分割階層が復号器によって認識されることが可能になる。
【００８５】
別の実施形態では、ペイロードフラグと関連付けられたデータとが復号される前に、分割フラグのうちのいくつか又は全てがビットストリームから復号され、その後、ペイロードフラグと矩形の選択されたサブセットからのデータとをビットストリームから復号することができる。初期矩形表現６０２上の対象の領域を指定する、例えば、コンピューターディスプレイ上の編成グリッドの表現のアウトラインを引くことによって、所望の矩形を選択することができ、その後、対象の領域に含まれるか又は部分的に含まれる矩形に関連付けられたビットストリーム内のデータのみをビットストリームから復号することができる。
【００８６】
別の実施形態では、３Ｄ空間から対象の領域が選択され、例えば、３Ｄ境界ボックスが対象の入力点１０１を包含し、その後、３Ｄの対象の領域における点ロケーションについて、２Ｄ矩形表現６０２におけるそれらの対応するロケーションが識別され、すなわち、検索又は逆マッピングが行われ、２Ｄ境界ボックスが、全てのこれらの選択された対応するロケーションを含む２Ｄ矩形表現上で計算される。この境界ボックスは、選択された対応する入力点１０１によってポピュレートされた新たな最初の部分矩形を含む。３Ｄ境界ボックスの内部に対応する３Ｄ点ロケーションを有しないこの新たな部分矩形の内部の任意のロケーションについて、これらのロケーションはヌル点でポピュレートされ、ここで、ヌル点は、３Ｄ空間において対応する点がない、例えば、「穴」であることを示す値である。
【００８７】
別の実施形態では、矩形分割プロセス６０９は、各分割された矩形６１２に関連付けられた入力点１０１の数が等しくなるように又は概ね等しくなるように矩形を分割する。
【００８８】
別の実施形態では、各入力点１０１は、関連付けられた属性を有する。属性は、限定するものではないが、色値、反射、又は温度を含む追加データである。
【００８９】
別の実施形態では、表面モデルパッチの制御点は、符号化プロセス１００中に量子化され、任意選択で変換され、復号プロセス５００中に逆量子化され、任意選択で逆変換される。
【００９０】
別の実施形態では、入力点を含まないメモリロケーションにおけるヌル点のプレースホルダーとともに入力点がメモリ内に配置されない、編成されていない点群について、パラメーター化されたモデルに関連付けられたマニホールド上の対応する入力点ロケーションの位置は、ビットストリームにおいてシグナリングされる。例えば、ベジェ曲面又はベジェパッチを用いて、パラメーターｕ及びｖによって表される単位正方形が３Ｄ空間における（ｘ，ｙ，ｚ）座標にマッピングされ、ここで、ｕ及びｖの双方は、０．０〜１．０（０．０及び１．０を含む）である。好ましい実施形態の場合である編成された点群について、単位正方形は、３Ｄにおける各（ｘ，ｙ，ｚ）点が（ｕ，ｖ）単位正方形平面上のサンプル位置に対応し、３Ｄ空間において対応する点を有しない（ｕ，ｖ）単位正方形平面上のサンプル位置はヌル点によってポピュレートすることができるように、均一なグリッドを用いてサンプリングすることができる。（ｕ，ｖ）単位正方形平面におけるサンプル位置は、予め設定された順序を用いて、入力点１０１によってポピュレートする、すなわち、関連付けることができる。例えば、入力点１０１のシーケンスは、２Ｄサンプル位置を、２Ｄサンプル位置における各行が、その行内の最初の要素から最後の要素まで埋められて、その後、次の入力点が、次の行へと向かうラスタスキャン順でポピュレートすることができる。
【００９１】
別の実施形態では、パラメーター空間６０１は、均一なサンプリングを有する２Ｄグリッド又はマニホールドである。
【００９２】
別の実施形態では、パラメーター空間６０１は、不均一なサンプリングを有する２Ｄグリッド又はマニホールドである。例えば、グリッドの中心は、エッジよりも高密度で点を有することができる。更なる一例として、均一なグリッドは、全ての整数の位置において
サンプリングすることができ、その後、パラメーター空間全体の半分の幅及び高さを有する、中心を合わせた正方形を、全ての整数の２分の１又は４分の１の位置において付加的にサンプリングすることができる。
【００９３】
別の実施形態では、２Ｄ変換１１１が、残差データ１０８の成分に、２Ｄ編成グリッド１１７上のこれらの対応するロケーションに従って、適用される。
【００９４】
別の実施形態では、分割された矩形１１２に対応する残差データ１０８は、分割された矩形６１２の次元に基づいた順序、例えば、最大面積から最小面積の順序、又は別の例では、最小面積から最大面積の順序でビットストリーム１１６にシグナリングされ、ここで面積は、分割された矩形６１２の面積すなわち幅×高さである。
【００９５】
別の実施形態では、再構成された入力点は、３次元マップ（３Ｄマップ）を含む。或る車両は、３Ｄ空間におけるその位置を、この車両上に配置されたセンサーから点群を捕捉することによって求め、その後、捕捉された点群を、再構成された入力点又は再構成された点群と比較することができる。捕捉された点群上の点を、再構成された入力点と位置合わせすること、すなわち、アライメントすることによって、捕捉された点群におけるオブジェクト又は点の位置を、再構成された点群におけるオブジェクト又は点に関連付けることができる。車両のセンサーによって捕捉されたオブジェクトの、車両又は車両のセンサーの位置に対する位置が既知であることを考慮し、及び、位置合わせ処理の後、車両のセンサーによって捕捉されたオブジェクトの、再構成された点群に対する位置が既知であることを考慮すると、再構成された点群における車両の位置を推測することができ、したがって、３Ｄマップにおける車両の位置を推測、ひいては認識することができる。
【００９６】
発明の効果
本発明のいくつかの実施形態によれば、点群を効果的に符号化及び復号することができ、実施形態は、点群におけるオブジェクトの３次元表現を圧縮するのに有用とすることができる。さらに、本発明のいくつかの実施形態による符号化及び復号の方法は、ファイル又はビットストリーム全体を復号する必要なく、点群ジオメトリの粗い表現を迅速かつ容易に復号及び再構成することを可能にする圧縮表現を生成することができる。
【図１】
2019521417.tif 000022
【図２】
2019521417.tif 000023
【図３】
2019521417.tif 000024
【図４】
2019521417.tif 000025
【図５】
2019521417.tif 000026
【図６】
2019521417.tif 000027
【手続補正書】
【提出日】平成30年11月12日(2018.11.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリと通信するプロセッサを備える符号化器を用いて、シーンを表す点群を符号化する方法であって、前記点群の各点は、３次元（３Ｄ）空間におけるロケーションであり、該方法は、
パラメーター化された表面を、入力点によって形成される前記点群上にフィッティングするステップと、
前記パラメーター化された表面からモデルパラメーターを生成するステップと、
前記パラメーター化された表面上のロケーションを有する対応する点を計算するステップであって、該対応する点は、前記入力点に対応し、前記パラメーター化された表面上の前記対応する点の前記ロケーションは、予め設定された編成情報から特定される、ステップと、
前記対応する点と前記点群の前記入力点とに基づいて残差データを計算するステップと、
前記モデルパラメーター及び前記残差データを圧縮して、符号化されたモデルパラメーター及び符号化された残差データを得るステップと、
前記パラメーター化された表面の前記符号化されたモデルパラメーターと前記符号化された残差データとからビットストリームを生成するステップと、
を含む、方法。
【請求項２】
前記点群は、編成された点群である、請求項１に記載の方法。
【請求項３】
前記点群は、編成されていない点群である、請求項１に記載の方法。
【請求項４】
前記残差データは、前記対応する点と前記入力点との間の距離を表す、請求項１に記載の方法。
【請求項５】
前記入力点及び前記対応する点は、属性を含む、請求項１に記載の方法。
【請求項６】
前記属性は、色情報を含む、請求項５に記載の方法。
【請求項７】
前記圧縮するステップは、エントロピー符号化を含む、請求項１に記載の方法。
【請求項８】
前記圧縮するステップは、変換ステップ及び量子化ステップを含む、請求項１に記載の方法。
【請求項９】
前記モデルパラメーターを前記生成するステップは、前記フィッティングするステップ中に実行される、請求項１に記載の方法。
【請求項１０】
前記残差データを前記計算するステップは、前記対応する点の前記成分と前記点群の前記入力点の前記対応する成分との間の差分である、請求項１に記載の方法。
【請求項１１】
前記パラメーター化された表面についての前記モデルパラメーターを受信するステップと、
前記残差データを受信するステップと、
前記モデルパラメーターを用いて前記パラメーター化された表面を求めるステップと、
予め設定された配置に従って前記パラメーター化された表面から前記対応する点を計算するステップと、
前記残差データと前記対応する点とを合成することによって再構成された入力点を計算するステップと、
を更に含む、請求項１に記載の方法。
【請求項１２】
前記パラメーター化された表面からの前記対応する点は、或る配置に従って計算され、前記モデルパラメーターは、前記配置の明細を含む、請求項１１に記載の方法。
【請求項１３】
前記予め設定された配置は、予め設定された配置における近接性によって求められる、請求項１１に記載の方法。
【請求項１４】
前記合成するステップは、前記残差データと前記対応する点とを加算することによって実行される、請求項１１に記載の方法。
【請求項１５】
前記再構成された入力点は、３次元マップを含み、車両が、該車両から取得されたデータと前記３次元マップにおけるデータとを登録することによって、前記３次元マップ上での該車両の位置を求める、請求項１１に記載の方法。
【請求項１６】
前記車両から取得された前記データは、点群であり、前記登録することは、前記車両によって取得された前記点群を、３次元マップを含む前記再構成された入力点と比較することを含む、請求項１５に記載の方法。
【請求項１７】
モデルパラメーターのサブセット及び残差データのサブセットが受信されて、入力点のサブセットを再構成するように用いられ、後続する付加的なモデルパラメーターのサブセット及び付加的な残差データのサブセットが受信されて、再構成された前記入力点のサブセットを精緻化するように用いられる、請求項１１に記載の方法。
【請求項１８】
２次元グリッドを包含する矩形を画定するステップと、
各入力点を、前記２次元グリッド上のインデックスに関連付けるステップと、
前記矩形の各々について、該矩形内にインデックス付けされた前記入力点に、パラメーター化された表面をフィッティングするステップと、
前記矩形の各々について、前記パラメーター化された表面と前記矩形内にインデックス付けされた前記入力点との間のフィッティング誤差を測定するステップと、
前記フィッティング誤差が予め設定された閾値を超えた場合、前記矩形の各々を階層的に分割してより小さな矩形にするステップと、
を更に含む、請求項１に記載の方法。
【請求項１９】
シーンを表す点群を符号化する符号化器システムであって、前記点群の各点は、３次元（３Ｄ）空間におけるロケーションであり、該符号化器システムは、
メモリと通信するプロセッサと、
前記メモリに記憶される符号化器モジュールであって、ステップを実行することによってシーンを表す点群を符号化するように構成される、符号化器モジュールと、
を備え、前記ステップは、
パラメーター化された表面を、入力点によって形成される前記点群上にフィッティングするステップと、
前記パラメーター化された表面からモデルパラメーターを生成するステップと、
前記パラメーター化された表面上のロケーションを有する対応する点を計算するステップであって、該対応する点は、前記入力点に対応し、前記パラメーター化された表面上の前記対応する点の前記ロケーションは、予め設定された編成情報から特定される、ステップと、
前記対応する点と前記点群の前記入力点とに基づいて残差データを計算するステップと、
前記モデルパラメーター及び前記残差データを圧縮して、それぞれ、符号化されたモデルパラメーター及び符号化された残差データを得るステップと、
前記パラメーター化された表面の符号化された前記モデルパラメーターと前記符号化された残差データとからビットストリームを生成するステップと、
を含む、符号化器システム。
【請求項２０】
シーンを表す点群を符号化するプログラムが記憶された非一時的コンピューター可読記録媒体であって、前記点群の各点は、３次元（３Ｄ）空間におけるロケーションであり、プロセッサによって実行されると、前記プログラムは、該プロセッサに、
パラメーター化された表面を、入力点によって形成される前記点群上にフィッティングするステップと、
前記パラメーター化された表面からモデルパラメーターを生成するステップと、
前記パラメーター化された表面上のロケーションを有する対応する点を計算するステップであって、該対応する点は、前記入力点に対応し、前記パラメーター化された表面上の前記対応する点の前記ロケーションは、予め設定された編成情報から特定される、ステップと、
前記対応する点と前記点群の前記入力点とに基づいて残差データを計算するステップと、
前記モデルパラメーター及び前記残差データを圧縮して、それぞれ、符号化されたモデルパラメーター及び符号化された残差データを得るステップと、
前記パラメーター化された表面の前記符号化されたモデルパラメーターと前記符号化された残差データとからビットストリームを生成するステップと、
を実行させる、非一時的コンピューター可読記録媒体。
【国際調査報告】
2019521417.tif 000028
2019521417.tif 000029
2019521417.tif 000030
2019521417.tif 000031