(57)【要約】  本開示は、符号化効率の低減を抑制することができるようにする情報処理装置および方法に関する。ポイントクラウドデータを量子化したボクセルデータの比較において、ボクセルデータの値の分布パタンの主観的特徴に基づいて、比較対象のボクセルデータ間におけるその分布パタンの相関度を算出する。本開示は、例えば、情報処理装置、画像処理装置、電子機器、情報処理方法、またはプログラム等に適用することができる。
2019065298.tif 000002
【特許請求の範囲】
【請求項１】
ポイントクラウドデータを量子化したボクセルデータの比較において、ボクセルデータの値の分布パタンの主観的特徴に基づいて、比較対象のボクセルデータ間における前記分布パタンの相関度を算出する相関度算出部
を備える情報処理装置。
【請求項２】
前記相関度算出部は、前記ボクセルデータが表す空間の部分領域であるブロック毎に前記相関度を算出する
請求項１に記載の情報処理装置。
【請求項３】
前記相関度算出部は、
比較対象の全てのボクセルデータが所定の形状の前記分布パタンを有する場合、前記相関度をより高く算出し、
前記比較対象の少なくともいずれかのボクセルデータが前記所定の形状の前記分布パタンを有しない場合、前記相関度をより低く算出する
請求項２に記載の情報処理装置。
【請求項４】
前記所定の形状は、線または面である
請求項３に記載の情報処理装置。
【請求項５】
ポイントクラウドで描画される３次元構造の特徴量を算出する特徴量算出部をさらに備え、
前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、前記相関度を算出する
請求項２に記載の情報処理装置。
【請求項６】
前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、テクスチャが所定の基準より細かいブロックにおいて、前記相関度をより低く算出する
請求項５に記載の情報処理装置。
【請求項７】
前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、周囲のボクセルに対してピークとなる色成分を有するボクセルを含むブロックにおいて、前記相関度をより低く算出する
請求項５に記載の情報処理装置。
【請求項８】
前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、注目度のより高い領域のブロックにおいて、前記相関度をより低く算出する
請求項５に記載の情報処理装置。
【請求項９】
前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、ポイントクラウドで描画される３次元構造における人の顔部分に相当するブロックにおいて、前記相関度をより低く算出する
請求項５に記載の情報処理装置。
【請求項１０】
前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、ポイントクラウドで描画される３次元構造におけるエッジ部分に相当するブロックにおいて、前記相関度をより低く算出する
請求項５に記載の情報処理装置。
【請求項１１】
前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、ポイントクラウドで描画される３次元構造における面を構成する４点の少なくともいずれか１つを含むブロックにおいて、前記相関度をより低く算出する
請求項５に記載の情報処理装置。
【請求項１２】
前記相関度算出部は、コスト関数を用いて、比較対象のボクセルデータ間の相関についてのコスト値を算出し、算出した前記コスト値を、前記分布パタンの主観的特徴に基づいて補正することにより、比較対象のボクセルデータ間の相関度を算出する
請求項２に記載の情報処理装置。
【請求項１３】
処理対象のブロックであるカレントブロックと比較するボクセルデータを設定する設定部をさらに備え、
前記相関度算出部は、前記カレントブロックのボクセルデータと、前記設定部が設定した全てのボクセルデータとの間の相関度を算出する
請求項２に記載の情報処理装置。
【請求項１４】
前記設定部は、所定の空間的範囲内において、前記カレントブロックと比較するボクセルデータを設定する
請求項１３に記載の情報処理装置。
【請求項１５】
前記設定部は、階層化されたボクセルデータの処理対象の階層よりも上位の階層において、前記カレントブロックと比較するボクセルデータを設定する
請求項１３に記載の情報処理装置。
【請求項１６】
前記相関度算出部により算出された前記相関度に基づいて、前記比較対象のボクセルデータの前記分布パタン同士が一致または近似するかを判定し、一致または近似すると判定された場合、前記比較対象のボクセルデータのそれぞれの前記分布パタンと一致または近似する前記分布パタンであるユニークパタンを設定するユニークパタン設定部をさらに備える
請求項２に記載の情報処理装置。
【請求項１７】
前記ユニークパタン設定部は、前記比較対象のボクセルデータの内、存在頻度が最も高いボクセルデータの前記分布パタンを前記ユニークパタンとして設定する
請求項１６に記載の情報処理装置。
【請求項１８】
前記ユニークパタン設定部は、前記比較対象のボクセルデータの内、予め定められた所定の分布パタンに最も近似するボクセルデータの前記分布パタンを前記ユニークパタンとして設定する
請求項１６に記載の情報処理装置。
【請求項１９】
前記ユニークパタン設定部は、各比較対象のボクセルデータの前記分布パタンを用いて所定の方法により導出される新たな前記分布パタンを前記ユニークパタンとして設定する
請求項１６に記載の情報処理装置。
【請求項２０】
ポイントクラウドデータを量子化したボクセルデータの比較において、ボクセルデータの値の分布パタンの主観的特徴に基づいて、比較対象のボクセルデータ間における前記分布パタンの相関度を算出する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置および方法に関し、特に、主観画質の低減を抑制することができるようにした情報処理装置および方法に関する。
【背景技術】
【０００２】
従来、点群の位置情報や属性情報等により３次元構造を表すポイントクラウドや、頂点、エッジ、面で構成され、多角形表現を使用して３次元形状を定義するメッシュの頂点データの圧縮方法として、例えばOctree等のような、ボクセル（Voxel）を用いた符号化があった。またOctree符号化されたデータを、自己相関を利用してさらに可逆符号化する方法も考えられた（例えば非特許文献１参照）。【０００３】
非特許文献１に記載のDAG（Directed Acyclic Graph）（有効指向性グラフとも称する）は、Octree符号化されたデータの木構造（Octreeパタン）が同一のノードをまとめることにより、冗長性を低減させて情報量を低減させることができる。【０００４】
また、従来、データ同士の類似度（相関度）を評価する指標として、例えばPSNR（Peak signal-to-noise ratio）等が提案されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】V.Kampe, "High Resolution Sparse Voxel DAGs", ACM 2013
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしなら、PSNRのような一般的な評価指標は、一般的なデータとしての評価を行うので、主観的な画質（見た目の良さ）に対応しているとは限らない。そのため、ポイントクラウドデータ（ボクセルデータ）の相関度の評価において、このような一般的な評価指標のみを利用してRD最適を考慮したノードのマージを行うだけでは、復号ポイントクラウドデータにおいて、主観的な劣化が目立つおそれがあった。【０００７】
本開示は、このような状況に鑑みてなされたものであり、主観画質の低減を抑制することができるようにするものである。
【課題を解決するための手段】
【０００８】
本技術の一側面の情報処理装置は、ポイントクラウドデータを量子化したボクセルデータの比較において、ボクセルデータの値の分布パタンの主観的特徴に基づいて、比較対象のボクセルデータ間における前記分布パタンの相関度を算出する相関度算出部を備える情報処理装置である。【０００９】
本技術の一側面の情報処理方法は、ポイントクラウドデータを量子化したボクセルデータの比較において、ボクセルデータの値の分布パタンの主観的特徴に基づいて、比較対象のボクセルデータ間における前記分布パタンの相関度を算出する情報処理方法である。【００１０】
本技術の一側面の情報処理装置および方法においては、ポイントクラウドデータを量子化したボクセルデータの比較において、ボクセルデータの値の分布パタンの主観的特徴に基づいて、比較対象のボクセルデータ間におけるその分布パタンの相関度が算出される。
【発明の効果】
【００１１】
本開示によれば、情報を処理することができる。特に、主観画質の低減を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】ポイントクラウドの例を説明する図である。
【図２】DAGの例を説明する図である。
【図３】Octree符号化の例を説明する図である。
【図４】DAGの例を説明する図である。
【図５】DAGの例を説明する図である。
【図６】ボクセルデータの符号化の例を説明する図である。
【図７】符号化装置の主な構成例を示すブロック図である。
【図８】符号化の概要の例を説明する図である。
【図９】ボクセルデータの符号化の例を説明する図である。
【図１０】インデックスを用いたボクセルデータの符号化の例を説明する図である。
【図１１】信号列生成部の主な構成例を示すブロック図である。
【図１２】符号化処理の流れの例を説明するフローチャートである。
【図１３】信号列生成処理の流れの例を説明するフローチャートである。
【図１４】信号列生成部の主な構成例を示すブロック図である。
【図１５】信号列生成処理の流れの例を説明するフローチャートである。
【図１６】信号列生成部の主な構成例を示すブロック図である。
【図１７】信号列生成処理の流れの例を説明するフローチャートである。
【図１８】信号列生成部の主な構成例を示すブロック図である。
【図１９】信号列生成処理の流れの例を説明するフローチャートである。
【図２０】信号列生成部の主な構成例を示すブロック図である。
【図２１】信号列生成処理の流れの例を説明するフローチャートである。
【図２２】復号装置の主な構成例を示すブロック図である。
【図２３】復号処理の流れの例を説明するフローチャートである。
【図２４】復号装置の主な構成例を示すブロック図である。
【図２５】復号処理の流れの例を説明するフローチャートである。
【図２６】復号装置の主な構成例を示すブロック図である。
【図２７】復号処理の流れの例を説明するフローチャートである。
【図２８】復号装置の主な構成例を示すブロック図である。
【図２９】復号処理の流れの例を説明するフローチャートである。
【図３０】復号装置の主な構成例を示すブロック図である。
【図３１】復号処理の流れの例を説明するフローチャートである。
【図３２】相関演算部の主な構成例を示すブロック図である。
【図３３】相関演算処理の流れの例を説明するフローチャートである。
【図３４】サーチする範囲の例を示す図である。
【図３５】コスト算出処理の流れの例を説明するフローチャートである。
【図３６】コスト関数の例を示す図である。
【図３７】指標の例を示す図である。
【図３８】ユニークパタンの設定例を示す図である。
【図３９】コスト算出処理の流れの例を説明するフローチャートである。
【図４０】位置合わせの例を示す図である。
【図４１】画像処理装置の主な構成例を示すブロック図である。
【図４２】位置合わせ処理の流れの例を説明するフローチャートである。
【図４３】コンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．ボクセルデータの符号化
２．第１の実施の形態（符号化装置）
３．第２の実施の形態（復号装置）
４．第３の実施の形態（相関演算処理）
５．その他
【００１４】
＜１．ボクセルデータの符号化＞
＜ポイントクラウド＞
従来、点群の位置情報や属性情報等により３次元構造を表すポイントクラウドや、頂点、エッジ、面で構成され、多角形表現を使用して３次元形状を定義するメッシュ等のデータが存在した。
【００１５】
例えばポイントクラウドの場合、図１のＡに示されるような立体構造物を、図１のＢに示されるような多数の点（ポイントデータ）の集合（点群）として表現する。つまり、ポイントクラウドのデータは、この点群の各点の位置情報や属性情報（例えば色等）により構成される。したがってデータ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造を十分な精度で表現することができる。
【００１６】
しかしながら、このようなポイントクラウドやメッシュ等のデータはそのデータ量が比較的大きいので、符号化等によるデータ量の圧縮が求められている。例えば、OctreeやKDtree等といったボクセル（Voxel）を用いた符号化方法が考えられた。ボクセルは、符号化対象の位置情報を量子化するためのデータ構造である。
【００１７】
＜有効指向性グラフ＞
また、例えば、非特許文献１に記載のDAG（Directed Acyclic Graph）（有効指向性グラフとも称する）のように、Octree符号化されたデータを、自己相関を利用してさらに可逆符号化する方法も考えられた。このDAG（有効指向性グラフ）は、Octree符号化されたデータの木構造（Octreeパタン）が同一のノードをまとめることにより、冗長性を低減させて情報量を低減させることができる。
【００１８】
このDAGによる冗長性の低減の様子の例を、図２を参照して説明する。例えば、図２のＡに示されるような２分木構造について考える。この２分木構造の各四角はノードを示している。各ノード間の矢印はノード同士を結びつけるポインタを示している。図２のＡの２分木構造には、白、黒、グレーの３種類のノードが存在する。各色は値を示している。つまり、図２のＡの２分木構造には、３種類の値のノードが存在する。
【００１９】
ここでこの２分木構造の図中一番下のノード（最下位レベルのノード）に着目すると、白と黒の２種類のノードが存在する。つまり、黒のノード同士と白のノード同士とで冗長性が生じている。そこで図２のＢに示されるように黒のノードと白のノードを１つずつ残し、重複する他のノードを削除する。
【００２０】
そして、その一段上のレベルのノードを、残した黒のノードまたは白のノードに結びつける。つまり、下から２段目のレベルのノードの内、最下位レベルの黒のノードに結び付けられていたノードは、残した黒のノードに結び付け直し、最下位レベルの白のノードに結び付けられていたノードは、残した白のノードに結び付け直す。より具体的には、下から２段目のレベルの各ノードのポインタ（矢印）の先を、残した黒または白のノードを指定するように更新する。
【００２１】
このような操作により、図２のＣに示されるように、最下位レベルのノードが２つに削減される。ノードの値は変化しないので、図２のＣの２分木構造は、実質的に図２のＡの２分木構造と同等である。つまり、可逆に圧縮される。
【００２２】
次に、図２のＣに示されるように、下から２段目のレベルについても同様にノードを集約させる。２分木構造の各レベルについて同様の処理を行うことにより、２分木構造最終的に図２のＤのようにすることができる。つまり、図２のＤの２分木構造は、図２のＡの２分木構造と同等である。以上のように、DAGにより、２分木構造の情報を可逆に圧縮することができる。
【００２３】
＜OctreeとDAG＞
このDAG（有効指向性グラフ）は、Octree符号化されたボクセルデータの構造であるOctreeパタンにも適用することができる。Octreeパタンにおいては、図３のＡに示されるように、上位のレベルの２×２×２のボクセルの内、ポイントデータが存在するボクセルが、１段下位のレベルにおいてさらに２×２×２に分割される。図３のＡにおいて、グレーで示されるボクセルが、ポイントデータが存在するボクセルであることを示している。上位のレベルのノード１０のボクセルの内、２つがグレーのボクセルである。したがって、この２つのボクセルが１段下位のレベルのノード１１およびノード１２とされ、さらに、２×２×２のボクセルに分割されている。
【００２４】
図３のＢはこのようなOctreeパタンのデータ構造の概要を示す。図３のＢにおいて、ノード２０は、上位のノードを示し、ノード２１およびノード２２は、そのノード２０に属する１段下位のレベルのノードを示す。
【００２５】
各ノード内の四角は、各ボクセルのデータを示す。１ボクセルのデータは、例えば、１バイト（byte）により構成される。つまり、１ノードのデータは８バイトにより構成される。ここでは説明の便宜上、白と斜線模様の２種類のデータが存在するとする。白のデータは、ポイントデータが存在しないボクセルのデータを示し、斜線模様のデータは、ポイントデータが存在するデータを示す。
【００２６】
斜線模様の各データには、１段下位のノードのデータが存在するアドレスを示すポインタが付与される。つまり、ポイントデータが存在するボクセルのみ、１段下位のノードが形成される。ノードのデータ構造は、各レベルにおいて同様である。最下位のデータには、より下位レベルのデータが存在するアドレスを示すポインタは付与されない。なお、この説明では位置情報についてのみ説明し、属性情報の説明は省略している。
【００２７】
図３のＢの例の場合、ノード２１とノード２２とが、各ボクセルのデータのパタンが一致している。つまり、両ノードにおけるボクセルデータの値の分布パタンが互いに同一である。すなわち、同一のデータが複数のアドレスに存在するので、冗長である。したがって、DAGを行うことにより、図４に示されるように、この２ノードが１つにマージされる。例えば、ノード２１が削除され、ノード２０の左から２つ目のボクセルのデータのポインタが、ノード２２のアドレスを示すように更新される。このようにすることにより、このレベルのデータの冗長性を低減させることができる。
【００２８】
各レベルにおいて同様にして冗長性を低減させることができる。すなわち、図５に示されるように、複数のレベルについても同様に、データ構造が同一な部分をマージすることができる。
【００２９】
＜DAGの特性＞
DAGは、主にコンピュータモデルより生成された巨大なCGデータ（数億点の頂点情報を持つようなデータ）の情報量低減を目的としている。つまり、大容量かつ低ノイズのデータを対象として高圧縮率で圧縮することを目的としている。
【００３０】
しかしながら、自然画像等のポイントクラウドデータの場合、ノイズやデータに含まれるディテール情報等によって、同一のOctreeパタンが発生する確率が低減するため、十分な圧縮効率が得られないおそれがあった。つまり、符号化効率が低減するおそれがあった。
【００３１】
また、解像度が比較的低い場合（例えば頂点情報が百万点程度）の場合も、同一のOctreeパタンが発生する確率が低減するため、十分な圧縮効率が得られないおそれがあった。つまり、符号化効率が低減するおそれがあった。
【００３２】
なお、DAGは、記録媒体にデータを保存する場合や、GPU等において処理する際のメモリに格納する場合の容量低減を目的とした処理であり、データ伝送については考慮されていない。したがって伝送時のデータ構造等は定義されていない。
【００３３】
＜ボクセルデータの符号化＞
そこで、例えば図６に示されるように、ボクセルデータ６０（ボクセル化された３次元データ）において、所定数のボクセルからなるブロック６１とブロック６２とのように、ボクセルデータの値の分布パタンが一致する場合（DAGと同様）だけでなく、ブロック６１（ブロック６２）とブロック６３とのように、ボクセルデータの値の分布が近似する場合も、（両ブロックの分布パタンが同一とみなし、）マージするようにする。
【００３４】
換言するに、ブロック６１乃至ブロック６３とブロック６４とのように、ボクセルデータの値の分布が一致も近似もしない場合のみ、（両ブロックのボクセルデータの値の分布パタンが互いに異なるとみなし、）マージしないようにする。
【００３５】
つまり、ボクセルデータ６０に対して、各ブロック間における、ボクセルデータの値の分布パタンの相関の強さを求め、その相関の強さに基づいて上述のように各ブロックをマージする。このようにすることにより、情報量を低減させることができる。上述のように分布パタンが近似する場合もマージすることができるので、DAGの場合よりも情報量を低減させることができる。すなわち、符号化効率の低減を抑制することができる。
【００３６】
なお、図６においては、４×４×４のボクセルからなるブロックについて、ボクセルデータの値の分布パタンを比較しているが、この比較を行うブロックのサイズ（ボクセルの個数）は、任意であり、４×４×４に限定されない。
【００３７】
なお、以下においては符号化対象のデータとしてポイントクラウドを例に本技術の説明を行うが、本技術は、ポイントクラウドに限らず、例えばメッシュ等、３次元構造を示し、ボクセルを用いた符号化が可能なデータであればどのような符号化対象に対しても適用することができる。また、この符号化対象は、動画像であってもよいし、静止画像であってもよい。
【００３８】
＜２．第１の実施の形態＞
＜符号化装置＞
図７は、本技術を適用した情報処理装置の一実施の形態である符号化装置の主な構成例を示すブロック図である。図７に示される符号化装置１００は、符号化対象として入力されたポイントクラウドのデータを、ボクセルを用いて符号化し、得られた符号化データ等を出力する。その際、符号化装置１００は、以下に説明するように本技術を適用した方法でこの符号化を行う。
【００３９】
図７に示されるように、符号化装置１００は、制御部１０１、前処理部１１１、バウンディングボックス設定部１１２、ボクセル設定部１１３、信号列生成部１１４、および符号化部１１５を有する。
【００４０】
制御部１０１は、符号化装置１００内の各処理部の制御に関する処理を行う。例えば、制御部１０１は、各処理部による処理の実行またはスキップ（省略）を制御する。例えば、制御部１０１は、所定の制御情報に基づいてそのような制御を行う。このようにすることにより、制御部１０１は、不要な処理の実行を抑制することができ、負荷の増大を抑制することができる。
【００４１】
制御部１０１は、どのような構成を有するようにしてもよいが、例えば、CPU（Central Processing Unit）、ROM（Read Only Memory）、RAM（Random Access Memory）等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、処理を行うようにしてもよい。
【００４２】
前処理部１１１は、制御部１０１により制御され、符号化装置１００に入力される符号化対象（ポイントクラウドのデータ）に対して、前処理として所定の処理を施し、処理後のデータをバウンディングボックス設定部１１２に供給する。
【００４３】
例えば、制御部１０１は、前処理の実行を許可または禁止する制御情報に従って、前処理の実行が許可されている（禁止されていない）場合に、前処理部１１１に前処理を実行させる。また、例えば、制御部１０１は、前処理の実行の許可または禁止の対象となる符号化対象の範囲を示す制御情報に従って、前処理の実行が許可されている（禁止されていない）符号化対象に対して、前処理部１１１に前処理を実行させる。さらに例えば、制御部１０１は、実行を許可または禁止する処理内容を指定する制御情報に従って、実行が許可されている（禁止されていない）処理を前処理部１１１に実行させる。このようにすることにより、不要な前処理の実行を抑制することができ、負荷の増大を抑制することができる。
【００４４】
なお、前処理の内容は任意である。例えば、前処理部１１１が、前処理として、ノイズを低減させる処理を施すようにしても良いし、解像度（点の数）を変更する処理を行うようにしても良い。また例えば、点群の密度を均等にしたり、所望の偏りを持たせたりするように、各点の配置を更新するようにしてもよい。さらに例えば、奥行き情報を有する画像情報等のようなポイントクラウドでないデータが符号化装置１００に入力されるようにし、前処理部１１１が、前処理として、その入力されたデータをポイントクラウドのデータに変換するようにしてもよい。
【００４５】
前処理部１１１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、前処理を行うようにしてもよい。
【００４６】
バウンディングボックス設定部１１２は、制御部１０１により制御されて、符号化対象の位置情報を正規化するためのバウンディングボックスの設定に関する処理を行う。
【００４７】
例えば、制御部１０１は、バウンディングボックスの設定の許可または禁止する制御情報に従って、そのバウンディングボックスの設定が許可されている（禁止されていない）場合に、バウンディングボックス設定部１１２にそのバウンディングボックスを設定させる。また、例えば、制御部１０１は、バウンディングボックスの設定の許可または禁止の対象となる符号化対象の範囲を示す制御情報に従って、そのバウンディングボックスの設定が許可されている（禁止されていない）符号化対象に対して、バウンディングボックス設定部１１２にそのバウンディングボックスを設定させる。さらに例えば、制御部１０１は、バウンディングボックスの設定に用いられるパラメータの許可または禁止に関する制御情報に従って、バウンディングボックス設定部１１２に、使用が許可されている（禁止されていない）パラメータを用いてバウンディングボックスを設定させる。このようにすることにより、不要なバウンディングボックスの設定や不要なパラメータの使用を抑制することができ、負荷の増大を抑制することができる。
【００４８】
例えば、バウンディングボックス設定部１１２は、符号化対象の各オブジェクトに対するバウンディングボックスを設定する。例えば、図８のＡに示されるように、ポイントクラウドのデータによりオブジェクト１３１やオブジェクト１３２が表現されている場合、バウンディングボックス設定部１１２は、図８のＢに示されるように、そのオブジェクト１３１やオブジェクト１３２をそれぞれ包含するようにバウンディングボックス１４１やバウンディングボックス１４２を設定する。図７に戻り、バウンディングボックスが設定されると、バウンディングボックス設定部１１２は、そのバウンディングボックスに関する情報をボクセル設定部１１３に供給する。
【００４９】
なお、バウンディングボックス設定部１１２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、バウンディングボックスの設定に関する処理を行うようにしてもよい。
【００５０】
ボクセル設定部１１３は、制御部１０１により制御されて、符号化対象の位置情報を量子化するためのボクセルの設定に関する処理を行う。
【００５１】
例えば、制御部１０１は、ボクセルの設定の許可または禁止する制御情報に従って、そのボクセルの設定が許可されている（禁止されていない）場合に、ボクセル設定部１１３にそのボクセルを設定させる。また、例えば、制御部１０１は、ボクセルの設定の許可または禁止の対象となる符号化対象の範囲を示す制御情報に従って、そのボクセルの設定が許可されている（禁止されていない）符号化対象に対して、ボクセル設定部１１３にそのボクセルを設定させる。さらに例えば、制御部１０１は、ボクセルの設定に用いられるパラメータの許可または禁止に関する制御情報に従って、ボクセル設定部１１３に、使用が許可されている（禁止されていない）パラメータを用いてボクセルを設定させる。このようにすることにより、不要なボクセルの設定や不要なパラメータの使用を抑制することができ、負荷の増大を抑制することができる。
【００５２】
例えば、ボクセル設定部１１３は、バウンディングボックス設定部１１２により設定されたバウンディングボックス内に、ボクセルを設定する。例えば、ボクセル設定部１１３は、図８のＣに示されるように、バウンディングボックス１４１を分割してボクセル１５１を設定する。つまり、ボクセル設定部１１３は、バウンディングボックス内のポイントクラウドデータをボクセルにより量子化（すなわちボクセル化）する。なお、バウンディングボックスが複数存在する場合、ボクセル設定部１１３は、各バウンディングボックスについてポイントクラウドデータをボクセル化する。つまり、図８のＢの例の場合、ボクセル設定部１１３は、バウンディングボックス１４２に対しても同様の処理を行う。以上のようにしてボクセルが設定されると、ボクセル設定部１１３は、そのボクセル化されたポイントクラウドデータ（ボクセルデータとも称する）（位置情報の量子化のためのデータ構造に関する情報）や属性情報等を、信号列生成部１１４に供給する。
【００５３】
なお、ボクセル設定部１１３は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、ボクセルの設定に関する処理を行うようにしてもよい。
【００５４】
信号列生成部１１４は、制御部１０１により制御され、信号列の生成に関する処理を行う。
【００５５】
例えば、制御部１０１は、信号列の生成を許可または禁止する制御情報に従って、信号列の生成が許可されている（禁止されていない）場合に、信号列生成部１１４に信号列を生成させる。また、例えば、制御部１０１は、信号列の生成の許可または禁止の対象となる符号化対象の範囲を示す制御情報に従って、信号列の生成が許可されている（禁止されていない）符号化対象に対して、信号列生成部１１４に信号列を生成させる。このようにすることにより、不要な信号列の生成を抑制することができ、負荷の増大を抑制することができる。
【００５６】
信号列生成部１１４は、例えば、ポイントクラウドデータを量子化したボクセルデータ（例えば図８のＣに示されるようなボクセル設定部１１３により生成されたボクセルデータ）を、そのボクセルデータの値の分布パタンの相関を利用して符号化する（相関情報を生成する）。例えば、信号列生成部１１４は、ボクセルデータが表す空間の部分領域であるブロック毎に、そのボクセルデータを符号化して相関情報を生成する。信号列生成部１１４は、生成した相関情報やその他の情報を信号列化し、その信号列を符号化部１１５に供給する。
【００５７】
なお、信号列生成部１１４は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、信号列の生成に関する処理を行うようにしてもよい。
【００５８】
符号化部１１５は、制御部１０１により制御され、供給された信号列の符号化に関する処理を行う。
【００５９】
例えば、制御部１０１は、信号列の符号化を許可または禁止する制御情報に従って、信号列の符号化が許可されている（禁止されていない）場合に、符号化部１１５に信号列を符号化させる。また、例えば、制御部１０１は、信号列の符号化の許可または禁止の対象となる符号化対象の範囲を示す制御情報に従って、信号列の符号化が許可されている（禁止されていない）符号化対象に対して、符号化部１１５に信号列を符号化させる。このようにすることにより、不要な信号列の符号化を抑制することができ、負荷の増大を抑制することができる。
【００６０】
符号化部１１５は、例えば、供給された信号列を符号化し、符号化データ（ビットストリーム）を生成する。つまり、符号化部１１５は、信号列生成部１１４により生成された相関情報を符号化し、その相関情報を含むビットストリームを生成する。
【００６１】
この信号列の符号化方法は任意である。例えば、符号化部１１５が、可変長符号化（VLC（Variable Length Code））により信号列を符号化するようにしてもよい。図８のＤは、符号化された信号列の様子の例を示している。なお、符号化部１１５は、位置情報だけでなく、属性情報（例えば、色情報、αチャンネル、法線ベクトル等）も符号化する。
【００６２】
また、符号化部１１５は、適宜、例えば制御情報等の、ポイントクラウドデータ以外の関連情報も符号化し、ヘッダやパラメータセット等に格納する。例えば、符号化部１１５は、ボクセルデータが表す空間の部分領域であるブロック間におけるボクセルデータの値の分布パタンの相関の強さに基づいて設定されたボクセルデータの値の分布パタンであるユニークパタンと、そのユニークパタンを識別するためのインデックスとの対応関係を示す情報を符号化し、ヘッダやパラメータセット等に格納するようにしてもよい。
【００６３】
符号化部１１５は、上述した各種情報のビットストリームを互いに関連付ける。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る（リンクさせ得る）ようにすることを意味する。つまり、互いに関連付けられたデータは、１つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データに関連付けられた制御情報は、その符号化データとは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データに関連付けられた制御情報は、その符号化データとは別の記録媒体（または同一の記録媒体の別の記録エリア）に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、複数フレーム、１フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【００６４】
符号化部１１５は、このような符号化により得られた符号化データ（ビットストリーム）を符号化装置１００の外部に出力する。この符号化装置１００より出力されたデータ（符号化データや制御情報）は、例えば、図示せぬ後段の処理部により復号され、ポイントクラウドのデータが復元されるようにしてもよいし、図示せぬ通信部により送信され、所定の伝送路を介して復号装置等の他の装置に伝送されるようにしてもよいし、図示せぬ記録媒体に記録されるようにしてもよい。
【００６５】
なお、符号化部１１５は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、符号化に関する処理を行うようにしてもよい。
【００６６】
＜ボクセルデータの符号化方法の例１＞
信号列生成部１１４による、上述の相関の強さを利用したボクセルデータの符号化の方法は、任意である。その方法の例を、図９の表に示す。例えば、信号列生成部１１４は、図９に示される表のid = 1の行に示される方法により、ボクセルデータを符号化するようにしてもよい。この場合、画面内のノード（Node）に対してユニークなインデックス（Index）を付与し、符号化ブロックに用いる。つまり、ユニークパタンとそのインデックス（Index）とを用いてボクセルデータが符号化される。
【００６７】
この場合、信号列生成部１１４は、図１０のＡに示されるように、画面内の全ノード（Node）から冗長なノードを削減し、ユニークパタンUiを検出し、検出した各ユニークパタンUiに対して互いに異なるインデックス（Idx）を割り当てる。そして、信号列生成部１１４は、図１０のＢに示されるように、ボクセルデータ６０の各ブロックのボクセルデータを、そのブロックとボクセルデータの値の分布パタンが一致または近似するユニークパタンUiに割り当てたインデックスに置き換える。つまり、全ノードがインデックスを用いて表現される。
【００６８】
そして、符号化部１１５は、図１０のＡに示されるようなユニークパタンとインデックスとの対応関係を示す情報や、図１０のＢに示されるような各ブロックのボクセルパタンと置き換えたインデックスのリスト（IdxLst）を符号化し、ビットストリームを生成する。
【００６９】
＜信号列生成部＞
図１１は、この場合の信号列生成部１１４（図７）の主な構成例を示すブロック図である。図１１に示されるように、この場合の信号列生成部１１４は、相関演算部２０１、ユニークパタン設定部２０２、インデックス割り当て部２０３、および相関情報生成部２０４を有する。
【００７０】
相関演算部２０１は、ボクセルデータの値の分布パタンの相関の強さ（相関度とも称する）の算出に関する処理を行う。例えば、相関演算部２０１は、ボクセル設定部１１３から供給されたボクセルデータについて、ボクセルデータが表す空間の部分領域であるブロック間のボクセルデータの値の分布パタンの相関度を算出する。
【００７１】
なお、この比較は任意のブロック間（つまり任意のボクセル群同士の間）で行うことができる。例えば、相関演算部２０１は、Octreeパタンのノードをブロックとし、そのノード間の相関度を算出するようにしてもよいし、ノードとノードでないブロックとの間の相関度を算出するようにしてもよいし、ノードでないブロック同士の相関度を算出するようにしてもよい。また、この相関度の算出方法は任意である。
【００７２】
相関演算部２０１は、供給されたボクセルデータとともに、算出した相関度を示す情報をユニークパタン設定部２０２に供給する。
【００７３】
なお、相関演算部２０１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、相関度の算出に関する処理を行うようにしてもよい。
【００７４】
ユニークパタン設定部２０２は、ユニークパタンの設定に関する処理を行う。例えば、ユニークパタン設定部２０２は、相関演算部２０１から供給された相関度を利用してその分布パタンが一致または近似するかによってブロックを分類する（例えばマージする）。
【００７５】
そして、ユニークパタン設定部２０２は、その分類結果に基づいてユニークパタンUiを設定する。このユニークパタンUiは、例えば、図１０のＡのブロック６１やブロック６４のように、ユニークパタンUiとして選択されたもの同士において、分布パタンが互いに異なるボクセルデータである。つまり、ユニークパタンUiのボクセルデータの値の分布パタンは、他のユニークパタンUiのボクセルデータの値の分布パタンと異なる。
【００７６】
このようなユニークパタンUiを設定する際に、ユニークパタン設定部２０２は、上述のように、比較したブロック同士でボクセルデータの値の分布パタンが一致する場合だけでなく、近似する場合も、両ブロックのその分布パタンが同一であるとみなし、マージする。換言するに、ユニークパタン設定部２０２は、比較したブロックにおいてその分布パタンが一致もせず、近似もしない場合のみ、両ブロックのその分布パタンが互いに異なると判定する。なお、この分布パタンが近似していると判定する基準は、任意である。
【００７７】
このようにすることにより、ユニークパタン設定部２０２は、分布パタンが互い異なる（つまり、分布パタンが互いに一致も近似もしない）ユニークパタンUiを設定することができる。ユニークパタン設定部２０２は、供給されたボクセルデータとともに、設定したユニークパタンUiを、インデックス割り当て部２０３に供給する。
【００７８】
なお、ユニークパタン設定部２０２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、ユニークパタンの設定に関する処理を行うようにしてもよい。
【００７９】
インデックス割り当て部２０３は、インデックスの割り当てに関する処理を行う。例えば、インデックス割り当て部２０３は、ユニークパタン設定部２０２から供給されたユニークパタンにインデックスを割り当てる。
【００８０】
その際、インデックス割り当て部２０３は、図１０のＡに示されるように、各ユニークパタンに対して互いに異なるインデックスを割り当てる。なお、このインデックスの割り当て方は、任意である。つまり、各ユニークパタンに対して互いに異なるインデックスを割り当てる限り、各ユニークパタンに対してどのような値のインデックスを割り当てるようにしてもよい。例えば、インデックス割り当て部２０３は、符号化対象のボクセルデータにおいて出現頻度のより高いユニークパタンに対して、情報量のより少ないインデックスを割り当てるようにしてもよい。このようにすることにより、相関情報の情報量をより低減させることができ、符号化効率の低減をより抑制することができる。
【００８１】
インデックス割り当て部２０３は、全てのユニークパタンUiに対して上述のようにインデックスを割り当てると、供給されたボクセルデータとともに、その割り当てた結果であるユニークパタンとインデックスとの対応関係を示す情報を、相関情報生成部２０４に供給する。このユニークパタンとインデックスとの対応関係を示す情報は、設定された各ユニークパタンUiと、各ユニークパタンUiに割り当てられたインデックスとを示す情報である。例えば、この情報は、ユニークパタンとインデックスとの対応関係が示されるように構成された、ユニークパタンのリストとインデックスのリストとを含む。
【００８２】
なお、インデックス割り当て部２０３は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、インデックスの割り当てに関する処理を行うようにしてもよい。
【００８３】
相関情報生成部２０４は、相関情報の生成に関する処理を行う。例えば、相関情報生成部２０４は、処理対象のブロックであるカレントブロックのボクセルデータを、そのカレントブロックのボクセルデータの値の分布パタンに一致または近似するユニークパタンに割り当てられたインデックスに変換し、インデックスを含む相関情報を生成する。
【００８４】
相関情報とは、ボクセルデータの値の分布パタンの相関を利用してボクセルデータを符号化したものである。相関情報生成部２０４は、符号化対象のボクセルデータの各ブロックを、上述のユニークパタンUi（のインデックス）に置き換えることにより、符号化対象のボクセルデータを符号化する。つまり、この場合、相関情報は、ユニークパタンUiのインデックスにより構成される。
【００８５】
より具体的には、相関情報生成部２０４は、インデックス割り当て部２０３から供給されるユニークパタンとインデックスとの対応関係を示す情報を保持する。相関情報生成部２０４は、ユニークパタン設定部２０２によりユニークパタンを設定する際に行われた各ブロックのボクセルデータの値の分布パタンの分類（マージ）に基づいて、各ブロックのその分布パタンに対応するユニークパタンUiを特定する。つまり、各ブロックとその分布パタンが一致または近似するユニークパタンUiが特定される。そして、相関情報生成部２０４は、保持したその情報に基づいて、その特定したユニークパタンUiに対応するインデックスを特定する。そして、相関情報生成部２０４は、各ブロックのボクセルデータを、その特定したインデックスに置き換える（変換する）。
【００８６】
このようにすることにより、その符号化結果として、図１０のＢに示されるような、インデックスのリスト（IdxLst）が得られる。相関情報生成部２０４は、供給された各ブロックのボクセルデータの代わりに、その相関情報（インデックス）を信号列として符号化部１１５に供給する。また、相関情報生成部２０４は、保持しているユニークパタンとインデックスとの対応関係を示す情報も信号列として符号化部１１５に供給する。つまり、これらの情報は符号化部１１５によって上述のように符号化され、ビットストリームに含められ、復号側に伝送されたり、記録媒体に記録されたりする。
【００８７】
このように各ブロックのボクセルデータを、図１０のＡに示されるユニークパタンUiに割り当てられたインデックスを用いて、図１０のＢに示されるようにインデックス化することにより、分布パタンが同一のボクセルデータがマージされるので、相関情報生成部２０４は、ビットストリームの冗長性を低減させることができる。また、上述のように、このユニークパタンUiは、ボクセルデータの値の分布パタンが互いに一致するブロックだけでなく、分布パタンが近似するブロックもマージして設定されるので、相関情報生成部２０４は、ビットストリームの冗長性をより低減させることができる。したがって、信号列生成部１１４は、符号化効率の低減を抑制することができる。
【００８８】
なお、相関情報生成部２０４は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、相関情報の生成に関する処理を行うようにしてもよい。
【００８９】
＜符号化処理の流れ＞
以上のような構成の符号化装置１００により実行される符号化処理の流れの例を図１２のフローチャートを参照して説明する。
【００９０】
符号化処理が開始されると、前処理部１１１は、ステップＳ１０１において、入力されたデータに対して前処理を行う。
【００９１】
ステップＳ１０２において、バウンディングボックス設定部１１２は、前処理されたデータに対してバウンディングボックスを設定する。
【００９２】
ステップＳ１０３において、ボクセル設定部１１３は、ステップＳ１０２において設定されたバウンディングボックスにボクセルを設定する。
【００９３】
ステップＳ１０４において、信号列生成部１１４は、データ構造に基づいて信号列を生成する。
【００９４】
ステップＳ１０５において、符号化部１１５は、ステップＳ１０４の処理により生成された信号列を符号化する。
【００９５】
ステップＳ１０６において、符号化部１１５は、その符号化により得られたビットストリームを符号化装置１００の外部に出力する。このビットストリームは例えば復号側（復号装置等）に伝送されたり、記録媒体に記録されたりする。
【００９６】
ステップＳ１０６の処理が終了すると、符号化処理が終了する。例えば、符号化対象が動画像である場合、この一連の処理をフレーム毎に行う。
【００９７】
＜信号列生成処理の流れ＞
次に、図１２のステップＳ１０４において実行される信号列生成処理の流れの例を、図１３のフローチャートを参照して説明する。
【００９８】
信号列生成処理が開始されると、相関演算部２０１は、ステップＳ１２１において、ブロック間のボクセルデータの値の分布パタンの相関の強さ（相関度）を求める。
【００９９】
ステップＳ１２２において、ユニークパタン設定部２０２は、ステップＳ１２１において求めた相関度に基づいて、ユニークパタンUiを設定する。その際、ユニークパタン設定部２０２は、上述したように、比較したブロック同士でボクセルデータの値の分布パタンが一致する場合だけでなく、近似する場合も、両ブロックのその分布パタンが同一であるとみなす。
【０１００】
ステップＳ１２３において、インデックス割り当て部２０３は、ステップＳ１２２において設定された各ユニークパタンUiに、互いに異なるインデックスを割り当てる。
【０１０１】
ステップＳ１２４において、相関情報生成部２０４は、ステップＳ１２３におけるユニークパタンUiへのインデックスの割り当て結果に基づいて、符号化対象の各ブロックのボクセルデータを、そのブロックのボクセルデータの値の分布パタンに一致または近似するユニークパタンUiのインデックスに置き換え、相関情報の信号列を生成する。また、相関情報生成部２０４は、ユニークパタンとインデックスとの対応関係を示す情報の信号列も生成する。
【０１０２】
ステップＳ１２４の処理が終了すると信号列生成処理が終了し、処理は図１２に戻る。
【０１０３】
以上のように各処理を実行することにより、符号化装置１００は、上述したように符号化効率の低減を抑制することができる。
【０１０４】
＜ボクセルデータの符号化方法の例２＞
また例えば、信号列生成部１１４は、図９に示される表のid = 2の行に示される方法により、ボクセルデータを符号化するようにしてもよい。この場合、参照先のブロック（ノード（Node））を特定する空間座標情報（参照空間座標情報とも称する）を、符号化ブロックに用いる。つまり、信号列生成部１１４は、例えば符号化済みのブロック（ノード）からカレントブロックと高い相関を持つブロックを探索し、符号化部１１５は、そのブロックの絶対位置または相対位置（ベクトル）等の信号列を符号化する。
【０１０５】
この参照空間座標情報は、処理対象のブロックであるカレントブロック（参照元のブロック）の周辺に位置する周辺ブロックの内の、ボクセルデータの値の分布パタンがカレントブロックと一致または近似する周辺ブロック（参照先のブロック）の位置を示す情報である。信号列生成部１１４は、カレントブロックのボクセルデータを、この参照空間座標情報に変換することにより符号化する。つまり、信号列生成部１１４は、その参照空間座標情報を含む相関情報を生成する。
【０１０６】
この参照空間座標情報は、参照先のブロックの位置を絶対位置により示す情報（例えば参照先のブロックの空間座標（参照先空間座標情報とも称する））を含むようにしてもよいし、参照先のブロックの位置を参照元のブロック（カレントブロック）に対する相対位置を示す情報（例えば参照元から参照先へのベクトル（参照ベクトルとも称する））を含むようにしてもよい。
【０１０７】
そして、符号化部１１５は、このような参照空間座標情報を含む相関情報を符号化し、ビットストリームを生成する。
【０１０８】
＜信号列生成部＞
図１４は、この場合の信号列生成部１１４（図７）の主な構成例を示すブロック図である。図１４に示されるように、この場合の信号列生成部１１４は、相関演算部２２１、参照空間座標情報設定部２２２、および相関情報生成部２２３を有する。
【０１０９】
相関演算部２２１は、相関演算部２０１と同様の処理部であり、相関演算部２０１と同様の処理を行う。すなわち、相関演算部２２１は、ボクセルデータの値の分布パタンの相関の強さ（相関度）の算出に関する処理を行う。例えば、相関演算部２２１は、ボクセル設定部１１３から供給されたボクセルデータについて、ボクセルデータが表す空間の部分領域であるブロック間のボクセルデータの値の分布パタンの相関度を算出する。なお、この比較は任意のブロック間で行うことができる。また、この相関度の算出方法は任意である。
【０１１０】
相関演算部２２１は、供給されたボクセルデータとともに、算出した相関度を示す情報を参照空間座標情報設定部２２２に供給する。
【０１１１】
なお、相関演算部２２１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、相関度の算出に関する処理を行うようにしてもよい。
【０１１２】
参照空間座標情報設定部２２２は、参照空間座標情報の設定に関する処理を行う。例えば、参照空間座標情報設定部２２２は、相関演算部２０１から供給された相関度に基づいて、カレントブロックと相関の高い周辺ブロックを参照先として特定し、その周辺ブロックの位置を示す参照空間座標情報を設定する。より具体的には、参照空間座標情報設定部２２２は、相関演算部２０１から供給された相関度に基づいて、候補となる各周辺ブロックについて、ボクセルデータの分布パタンがカレントブロックと一致または近似するかを判定する。なお、この分布パタンが近似していると判定する基準は、任意である。例えば、参照空間座標情報設定部２２２は、カレントブロックとの相関度が最も高い周辺ブロックを、分布パタンがカレントブロックに近似している周辺ブロックであると判定する。また、例えば、参照空間座標情報設定部２２２は、カレントブロックとの相関度が所定の基準よりも高い周辺ブロックを、分布パタンがカレントブロックに近似している周辺ブロックであると判定する。
【０１１３】
なおこの周辺ブロックは、カレントブロックの空間的な周辺に位置するブロックであってもよい。つまり、この周辺ブロックは、カレントブロックと同じフレーム内のブロックであってもよい。また、この周辺ブロックは、カレントブロックの時間的な周辺に位置するブロックであってもよい。つまり、この周辺ブロックは、カレントブロックと異なるフレームのブロックであってもよい。例えば、周辺ブロックは、カレントブロックと異なるフレームの、カレントブロックと同じ位置のブロック（コロケーテッドブロック）、または、そのコロケーテッドブロックの周辺に位置するブロックであってもよい。さらに、この周辺ブロックは、シーケンス（ビュー、レイヤ、コンポーネント等）間で周辺に位置するブロックであってもよい。つまり、この周辺ブロックは、カレントブロックと異なるシーケンスのブロックであってもよい。例えば、周辺ブロックは、カレントブロックと異なるシーケンスの、カレントブロックと同じフレームの同じ位置のブロック（コロケーテッドブロック）そのコロケーテッドブロックの周辺に位置するブロックであってもよい。また、例えば、周辺ブロックは、カレントブロックと異なるシーケンスの、カレントブロックと異なるフレームのブロックであってもよい。
【０１１４】
参照空間座標情報設定部２２２は、供給されたボクセルデータとともに、設定した参照空間座標情報を相関情報生成部２２３に供給する。
【０１１５】
なお、分布パタンがカレントブロックに一致または近似する周辺ブロックが検出できない場合（そのような周辺ブロックが存在しない場合）、参照空間座標情報設定部２２２は、そのカレントブロックのボクセルデータを符号化しない（相関情報に置き換えない）。つまり、この場合、参照空間座標情報設定部２２２は、そのブロックに対応する参照空間座標の設定を省略する。
【０１１６】
なお、参照空間座標情報設定部２２２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、ユニークパタンの設定に関する処理を行うようにしてもよい。
【０１１７】
相関情報生成部２２３は、相関情報の生成に関する処理を行う。例えば、相関情報生成部２２３は、処理対象のブロックであるカレントブロックのボクセルデータを、そのカレントブロックの周辺に位置する周辺ブロックの内の、ボクセルデータの値の分布パタンがカレントブロックと一致または近似する周辺ブロックの位置を示す情報である参照空間座標情報に変換し、その参照空間座標情報を含む相関情報を生成する。
【０１１８】
つまり、相関情報生成部２２３は、符号化対象のボクセルデータの各ブロックを、参照空間座標情報設定部２２２から供給された参照空間座標情報に置き換えることにより、符号化対象のボクセルデータを符号化する。つまり、この場合、相関情報は、参照空間座標情報（参照先空間座標または参照ベクトル）により構成される。
【０１１９】
ただし、参照空間座標情報設定部２２２において参照空間座標情報が設定されなかったブロック（つまり参照先が見つからなかったブロック）については、この相関情報の生成が省略される。
【０１２０】
相関情報生成部２２３は、相関情報を生成したブロックについては、供給された各ブロックのボクセルデータの代わりに、その相関情報（参照空間座標情報）を信号列として符号化部１１５に供給する。また、相関情報生成部２２３は、相関情報を生成していないブロックについては、供給されたボクセルデータの信号列を符号化部１１５に供給する。
【０１２１】
これらの信号列は、符号化部１１５によって上述のように符号化され、ビットストリームに含められ、復号側に伝送されたり、記録媒体に記録されたりする。
【０１２２】
このように各ブロックのボクセルデータを、参照空間座標情報に変換することにより、情報量を低減させることができる。また、そのブロック間の参照関係を設定する際に、例えば、ボクセルデータの値の分布パタンがカレントブロックと一致する周辺ブロックのみを参照先の候補とすると、参照先が存在しないケースが増大するおそれがあり、十分に情報量を低減させることができないおそれがある。
【０１２３】
これに対して、相関情報生成部２２３は、上述のように、ボクセルデータの値の分布パタンがカレントブロックと一致する周辺ブロックだけでなく、近似する周辺ブロックも参照先の候補とする。これにより、カレントブロックの参照先となり得る周辺ブロックが存在する可能性を高くすることができる。したがって、より多くのブロックを参照空間座標情報に変換することができ、情報量をより低減させることができる。したがって、信号列生成部１１４は、符号化効率の低減を抑制することができる。
【０１２４】
なお、相関情報生成部２２３は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、相関情報の生成に関する処理を行うようにしてもよい。
【０１２５】
＜信号列生成処理の流れ＞
次に、この場合に、図１２のステップＳ１０４において実行される信号列生成処理の流れの例を、図１５のフローチャートを参照して説明する。
【０１２６】
信号列生成処理が開始されると、相関演算部２２１は、ステップＳ１４１において、ブロック間のボクセルデータの値の分布パタンの相関の強さ（相関度）を求める。
【０１２７】
ステップＳ１４２において、参照空間座標情報設定部２２２は、カレントブロックと相関の高い周辺ブロックを参照先とし、参照空間座標情報を設定する。
【０１２８】
ステップＳ１４３において、相関情報生成部２２３は、ステップＳ１４２において設定された参照空間座標情報を用いて相関情報を生成し、ボクセルデータに置き換える。そして相関情報生成部２２３は、その相関情報を含む信号列を生成する。つまり、相関情報生成部２２３は、参照先が存在するブロックについては、相関情報の信号列を生成し、参照先が存在しないブロックについては、ボクセルデータの信号列を生成する。
【０１２９】
ステップＳ１４３の処理が終了すると信号列生成処理が終了し、処理は図１２に戻る。
【０１３０】
以上のように各処理を実行することにより、符号化装置１００は、上述したように符号化効率の低減を抑制することができる。
【０１３１】
なお、以上に説明した図９に示される表のid = 2の行に示される方法は、図９に示される表のid = 1の行に示される方法と併用するようにしてもよい。つまり、ユニークパタンのインデックスを含む相関情報と、参照空間座標情報を含む相関情報とが混在するようにしてもよい。
【０１３２】
＜ボクセルデータの符号化方法の例３＞
また例えば、信号列生成部１１４は、図９に示される表のid = 3の行に示される方法により、ボクセルデータを符号化するようにしてもよい。この場合、事前に定義した分布パタンを持つブロック（ノード（Node））にインデックス（Index）を付与し、符号化ブロックに用いる。つまり、信号列生成部１１４は、例えば事前定義されたブロックから、カレントブロックと高い相関を持つブロックを探索し、符号化部１１５は、そのインデックスを符号化する。
【０１３３】
つまり、この場合、予め、所定のユニークパタン（事前定義ユニークパタンとも称する）が用意され、各ユニークパタンに互いに異なるインデックス（事前定義インデックスとも称する）が割り当てられている。信号列生成部１１４は、＜ボクセルデータの符号化方法の例１＞において上述したように符号化対象のボクセルデータから生成したユニークパタンの代わりに、この事前定義ユニークパタンを用いて、各ブロックをインデックス化する。
【０１３４】
より具体的には、信号列生成部１１４は、カレントブロックのボクセルデータを、事前定義ユニークパタンの内の、分布パタンがカレントブロックと一致または近似する事前定義ユニークパタンに割り当てられた事前定義インデックスに変換し、その事前定義インデックスを含む相関情報を生成する。
【０１３５】
なお、事前定義ユニークパタンは、＜ボクセルデータの符号化方法の例１＞において上述したユニークパタンと同様に、事前定義ユニークパタン同士において、分布パタンが互いに異なる。つまり、事前定義ユニークパタンのボクセルデータの値の分布パタンは、他の事前定義ユニークパタンのボクセルデータの値の分布パタンと異なる。
【０１３６】
＜信号列生成部＞
図１６は、この場合の信号列生成部１１４（図７）の主な構成例を示すブロック図である。図１６に示されるように、この場合の信号列生成部１１４は、相関演算部２４１および相関情報生成部２４２を有する。
【０１３７】
相関演算部２４１は、ボクセルデータの値の分布パタンの相関の強さ（相関度）の算出に関する処理を行う。例えば、相関演算部２４１は、事前定義ユニークパタン（のボクセルデータ）を取得し、保持する。相関演算部２４１は、ボクセル設定部１１３から供給されたボクセルデータの各ブロックについて、各事前定義ユニークパタンとの間のボクセルデータの値の分布パタンの相関度を算出する。なお、この相関度の算出方法は任意である。相関演算部２４１は、供給されたボクセルデータとともに、算出した相関度を示す情報を相関情報生成部２４２に供給する。
【０１３８】
なお、相関演算部２４１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、相関度の算出に関する処理を行うようにしてもよい。
【０１３９】
相関情報生成部２４２は、相関情報の生成に関する処理を行う。例えば、相関情報生成部２４２は、処理対象のブロックであるカレントブロックのボクセルデータを、そのカレントブロックのボクセルデータの値の分布パタンに一致または近似する事前定義ユニークパタンに割り当てられた事前定義インデックスに変換し、その事前定義インデックスを含む相関情報を生成する。
【０１４０】
より具体的には、相関情報生成部２４２は、事前定義ユニークパタンと事前定義インデックスとの対応関係を示す情報を取得し、保持する。この事前定義ユニークパタンと事前定義インデックスとの対応関係を示す情報は、各事前定義ユニークパタンと、各事前定義インデックスとを示す情報である。例えば、この情報は、事前定義ユニークパタンと事前定義インデックスとの対応関係が示されるように構成された、事前定義ユニークパタンのリストと事前定義インデックスのリストとを含む。
【０１４１】
そして、相関情報生成部２４２は、相関演算部２４１から供給された相関度に基づいて、各ブロックについて、その分布パタンが一致または近似する事前定義ユニークパタンを特定する。換言するに、相関情報生成部２４２は、その分布パタンが一致もせず、近似もしない場合のみ、分布パタンが異なると判定して、その事前定義ユニークパタンを特定しない。なお、この分布パタンが近似していると判定する基準は、任意である。
【０１４２】
そして、相関情報生成部２４２は、保持したその情報に基づいて、その特定した事前定義ユニークパタンに対応する事前定義インデックスを特定する。そして、相関情報生成部２４２は、各ブロックのボクセルデータを、その特定した事前定義インデックスに置き換える（変換する）。
【０１４３】
このようにすることにより、その符号化結果として、事前定義インデックスのリストが得られる。相関情報生成部２４２は、供給された各ブロックのボクセルデータの代わりに、その相関情報（事前定義インデックス）を信号列として符号化部１１５に供給する。この信号列は符号化部１１５によって上述のように符号化され、ビットストリームに含められ、復号側に伝送されたり、記録媒体に記録されたりする。
【０１４４】
なお、相関情報生成部２４２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、相関情報の生成に関する処理を行うようにしてもよい。
【０１４５】
このように各ブロックのボクセルデータを、事前定義インデックスを用いてインデックス化することにより、分布パタンが同一のボクセルデータがマージされるので、相関情報生成部２４２は、ビットストリームの冗長性を低減させることができる。
【０１４６】
なお、カレントブロックのボクセルデータの値の分布パタンと事前定義ユニークパタンとが一致する場合のみ、カレントブロックのボクセルデータを事前定義インデックスに置き換えるようにすると、事前定義ユニークパタンと一致しない分布パタンのブロックは、そのボクセルデータを事前定義インデックスに置き換えることができない。
【０１４７】
これに対して、相関情報生成部２４２は、分布パタンが近似する事前定義ユニークパタンが存在するブロックも、そのボクセルデータを事前定義インデックスに置き換えることができる。したがって、より情報量を削減することができる。つまり、信号列生成部１１４は、符号化効率の低減を抑制することができる。
【０１４８】
＜信号列生成処理の流れ＞
次に、この場合に、図１２のステップＳ１０４において実行される信号列生成処理の流れの例を、図１７のフローチャートを参照して説明する。
【０１４９】
信号列生成処理が開始されると、相関演算部２４１は、ステップＳ１６１において、各ブロックのボクセルデータの値の分布パタンと事前定義ユニークパタンとの相関の強さ（相関度）を求める。
【０１５０】
ステップＳ１６２において、相関情報生成部２４２は、その相関度に基づいて、各ブロックと相関の強い事前定義インデックスを特定し、その特定した事前定義インデックスを用いて相関情報を生成し、ボクセルデータに置き換える。そして相関情報生成部２４２は、その相関情報を含む信号列を生成する。
【０１５１】
ステップＳ１６２の処理が終了すると信号列生成処理が終了し、処理は図１２に戻る。
【０１５２】
以上のように各処理を実行することにより、符号化装置１００は、上述したように符号化効率の低減を抑制することができる。
【０１５３】
なお、事前定義ユニークパタンと一致も近似もしない分布パタンのブロックは、ボクセルデータの信号列を符号化部１１５に供給するようにしてもよい。また、そのようなブロックの分布パタンをユニークパタンとして設定するようにしてもよいし、周辺ブロックを参照するようにしてもよい。つまり、以上に説明した図９に示される表のid = 3の行に示される方法は、図９に示される表のid = 1や2の行に示される方法と併用するようにしてもよい。つまり、ユニークパタンのインデックスを含む相関情報と、参照空間座標情報を含む相関情報と、事前定義インデックスを含む相関情報とが混在するようにしてもよい。
【０１５４】
＜ボクセルデータの符号化方法の例４＞
また例えば、符号化対象のボクセルデータが動画像の場合（複数のフレームにより構成される場合）、図９に示される表のid = 4の行に示される方法を適用するようにしてもよい。つまり、異なるフレーム間での相関を利用するようにしてもよい。その場合、参照先ブロック（ノード（Node））を特定する時間情報を符号化ブロックに用いる。例えば、信号列生成部１１４は、符号化済みのフレームを保持し、そのフレーム内から相関の高いブロックを探索する。見つかった場合、符号化部１１５は、そのフレームを特定する情報（カレントフレームからの時間差分等）を符号化し、伝送する。
【０１５５】
つまり、この場合、信号列生成部１１４は、処理対象のブロックであるカレントブロックのボクセルデータの値の分布パタンとの相関の強さを求める際の、参照先に対応するフレームを示す時間情報を含む相関情報を生成する。
【０１５６】
この方法は、図９に示される表のid = 1乃至3の行に示される各方法と組み合わせて用いることができる。例えば、図９に示される表のid = 1の行に示される方法に組み合わせる場合、相関情報生成部２０４が過去に処理したフレームにおいて設定したユニークパタンのインデックスを用いてカレントブロックのボクセルデータをインデックス化するようにしてもよい。また、例えば、相関演算部２０１がカレントブロックと、カレントブロックのフレーム（カレントフレーム）以外のフレームのブロックとの相関度を算出するようにし、ユニークパタン設定部２０２が、その相関度に基づいて、ユニークパタンを設定するようにしてもよい。
【０１５７】
また、例えば、図９に示される表のid = 2の行に示される方法に組み合わせる場合、相関演算部２２１がカレントブロックと、カレントフレーム以外のフレームのブロックとの相関度を算出するようにし、参照空間座標情報設定部２２２が、その相関度に基づいて、カレントフレーム以外のフレームのブロックを参照先として設定することができるようにしてもよい。
【０１５８】
また、例えば、図９に示される表のid = 3の行に示される方法に組み合わせる場合、事前定義ユニークパタン（および事前定義インデックス）がフレーム等毎に設定されるようにし（時間方向に更新されるようにし）、相関演算部２４１が、カレントブロックと、カレントフレーム以外のフレームに対応する事前定義ユニークパタンとの相関度を算出するようにし、相関情報生成部２４２が、その相関度に基づいて、カレントブロックのボクセルデータを、カレントフレーム以外のフレームに対応する事前定義インデックスに置き換えるようにしてもよい。
【０１５９】
このようにすることにより、相関情報とするインデックスや参照先の範囲を拡大することができる。したがって、信号列生成部１１４は、ビットストリームの冗長性をより低減させることができ、符号化効率の低減を抑制することができる。
【０１６０】
＜ボクセルデータの符号化方法の例５＞
また例えば、図９に示される表のid = 5の行に示される方法を適用するようにしてもよい。つまり、ブロック間の相関を求める際に、比較するボクセルデータの値の分布パタンを、回転させたり、反転させたりすることできるようにしてもよい。その場合、相関情報に、回転に関する情報（回転情報）や反転に関する情報（反転情報）を含めるようにすればよい。例えば、信号列生成部１１４は、相関を計算する際に、参照ブロック（ノード（Node））に対して点対称や線対称となる分布パタンについてもカレントブロックとのマッチングを行う。相関が高いパタンが見つかった場合、符号化部１１５は、回転情報や反転情報を符号化し伝送する。
【０１６１】
つまり、この場合、信号列生成部１１４は、処理対象のブロックであるカレントブロックのボクセルデータの値の分布パタンとの相関の強さを求める際の、参照先のボクセルデータの値の分布パタンの回転に関する情報、および、その参照先の分布パタンの反転に関する情報の内の少なくとも一方を含む相関情報を生成する。
【０１６２】
この方法は、図９に示される表のid = 1乃至4の行に示される各方法と組み合わせて用いることができる。例えば、相関演算部２０１、相関演算部２２１、または相関演算部２４１は、カレントブロックとの相関度の算出において、参照先の分布パタン（他のブロックの分布パタンまたは事前定義ユニークパタン）の線対称や点対称となる分布パタンとも比較を行うようにしてもよい。そして、相関情報生成部２０４、相関情報生成部２２３、または相関情報生成部２４２は、回転情報（回転の有無、または、どのように回転したか等を示す情報）や、反転情報（反転の有無、または、どのように反転したか等を示す情報）を含む相関情報を生成するようにしてもよい。
【０１６３】
このようにすることにより、参照先の分布パタンがカレントブロックと一致または近似する可能性を増大させることができる。また、その相関度がより高くなる可能性を増大させることができる。したがって、信号列生成部１１４は、ビットストリームの冗長性をより低減させることができ、符号化効率の低減を抑制することができる。
【０１６４】
＜ボクセルデータの符号化方法の例６＞
また例えば、図９に示される表のid = 6の行に示される方法を適用するようにしてもよい。つまり、近傍のブロックで用いた相関情報をカレントブロックに対して再利用することができるようにしてもよい。例えば、信号列生成部１１４は、近傍のブロック（ノード（Node））で用いた相関情報をカレントブロックにおいて再利用した場合の相関度を算出する。その相関が高い場合、符号化部１１５は、再利用する旨の情報（例えばフラグ等）を符号化し伝送する。
【０１６５】
つまり、この場合、信号列生成部１１４は、処理対象のブロックであるカレントブロックの周辺に位置する周辺ブロックの相関情報を用いて、カレントブロックの相関情報を生成する。
【０１６６】
この方法は、図９に示される表のid = 1乃至5の行に示される各方法と組み合わせて用いることができる。例えば、相関演算部２０１、相関演算部２２１、または相関演算部２４１は、カレントブロックとの相関度の算出において、周辺ブロックの相関情報をカレントブロックに適用した場合の相関度を算出するようにしてもよい。そして、相関情報生成部２０４、相関情報生成部２２３、または相関情報生成部２４２は、その再利用した相関度を適用する場合（その相関度が高かった場合）、相関度を再利用する旨の情報（フラグ等）を含む相関情報を生成するようにしてもよい。なお、その際、再利用する相関度を指定する情報や、モードを指定する情報を、相関情報に含めるようにしてもよい。また、相関度を再利用するか否かを示すフラグ情報を、常に相関情報に含めるようにしてもよい。
【０１６７】
周辺ブロックの相関情報を再利用する場合、復号側においても周辺ブロックの相関情報が再利用されるので、カレントブロックの相関情報の伝送は省略することができる。したがって、伝送する情報量を低減させることができるので、符号化効率の低減を抑制することができる。
【０１６８】
＜Octree符号化の併用＞
以上に説明した相関情報を用いたボクセルデータの符号化方法は、Octree符号化と併用するようにしてもよい。例えばボクセルデータを、LoD=GのOctreeで符号化する場合は、Level=l (l=0,1,…,G-1)におけるノードn(l,i)のChildmask (8bit)を符号化する。ここで、k=4の場合、３階層のOctreeに相当するため (4 = 1<<(3-1))、n(G-1,i), n(G-2,i), n(G-3,i) のノードをまとめて、ユニークパタンUiによって表現することができる。つまり、例えば以下のように、相関情報を用いた符号化方式をOctree符号化と組み合わせることができる。
【０１６９】
Level=0,…,G-4：Octree符号化を利用
Level=G-((log2k)+1),…,G-2：DAGを利用
Level=G-1 : 提案符号化を利用
【０１７０】
このようにすることにより、例えば部分デコードや、粗い解像度からデコードする等といったスケーラビリティ（Scalability）に対応することができる。また、Octree符号化のみを行う場合や、DAG処理のみを適用する場合よりも、ビットストリームの冗長性を低減させることができるので、符号化効率の低減を抑制することができる。
【０１７１】
なお、相関情報を用いた符号化をOctreeパタンの複数のレベルに適用するようにしてもよいが、相関情報を用いた符号化では近似するノードもマージするため、処理が複雑になるおそれがある。そこで、上述のように、最下位のレベルのみ相関情報を用いた符号化を適用し、最下位より上のレベルは、DAG（有効指向性グラフ）を適用するようにしてもよい。なお、このDAGは、Octreeパタンの最下位レベルより上位の全てのレベルに適用するようにしてもよいし、上述のように、最下位レベルより１つ上のレベルから途中のレベルまでのみ適用し、上位側の一部のレベルは、Octree符号化のみを適用するようにしてもよい。
【０１７２】
＜信号列生成部＞
図１８は、この場合の信号列生成部１１４（図７）の主な構成例を示すブロック図である。図１８に示されるように、この場合の信号列生成部１１４は、相関演算部２０１乃至相関情報生成部２０４の他に、さらにOctree符号化部２６１およびDAG処理部２６２を有する。
【０１７３】
Octree符号化部２６１は、Octree符号化に関する処理を行う。例えば、Octree符号化部２６１は、ボクセル設定部１１３から供給されたボクセルデータをOctree符号化し、図３を参照して説明したようにOctreeパタンを生成し、各ノードのChildmask（８ビット）を生成する。Octree符号化部２６１は、生成したそのChildmaskデータをDAG処理部２６２に供給する。
【０１７４】
なお、Octree符号化部２６１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、Octree符号化に関する処理を行うようにしてもよい。
【０１７５】
DAG処理部２６２は、DAGに関する処理を行う。例えば、DAG処理部２６２は、Octree符号化部２６１から供給されたChildmaskデータの最下位レベルより上位のレベルに対してDAG処理を行い、自己相関を利用して同一のノードをマージする。DAG処理部２６２は、そのようにして生成したDAGデータの信号列を符号化部１１５に供給する。
【０１７６】
相関演算部２０１乃至相関情報生成部２０４は、図１１の場合と同様に処理を行い、相関情報を利用してボクセルデータを符号化する。つまり、Octreeパタンの最下位レベルが符号化される。相関情報生成部２０４は、図１１を参照して説明したように信号列を符号化部１１５に供給する。
【０１７７】
なお、DAG処理部２６２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、DAGに関する処理を行うようにしてもよい。
【０１７８】
符号化部１１５は、それらの信号列を符号化する。つまり、符号化部１１５は、相関情報やDAGデータ等を含むビットストリームを生成する。
【０１７９】
このようにOctree符号化を適用することにより、相関情報を用いた符号化をスケーラビリティに対応させることができる。換言するに、Octreeパタンに対して、相関情報を用いた符号化を適用することにより、符号化効率の低減を抑制することができる。
【０１８０】
＜信号列生成処理の流れ＞
次に、この場合の、図１２のステップＳ１０４において実行される信号列生成処理の流れの例を、図１９のフローチャートを参照して説明する。
【０１８１】
信号列生成処理が開始されると、Octree符号化部２６１は、ステップＳ１８１において、Octree符号化を行う。
【０１８２】
ステップＳ１８２において、DAG処理部２６２は、Octreeパタンの最下位レベルより上位のレベルのノードに対してDAG処理を行う。
【０１８３】
ステップＳ１８３乃至ステップＳ１８６の各処理は、図１３のステップＳ１２１乃至ステップＳ１２４の各処理と同様に行う。
【０１８４】
ステップＳ１８６の処理が終了すると信号列生成処理が終了し、処理は図１２に戻る。
【０１８５】
以上のように各処理を実行することにより、符号化装置１００は、上述したように、相関情報を用いた符号化をスケーラビリティに対応させたり、符号化効率の低減を抑制したりすることができる。
【０１８６】
なお、以上においては、図９に示される表のid = 1の行に示される方法に、Octree符号化を適用する場合について説明したが、図９に示される表のその他の行に示される方法にOctree符号化を適用する場合も同様である。つまり、信号列生成部１１４に、Octree符号化部２６１およびDAG処理部２６２を図１８の場合と同様に設け、信号列生成処理において、図１９のステップＳ１８１およびステップＳ１８２と同様の処理を行うようにすればよい。
【０１８７】
＜予測残差の伝送＞
以上に説明した相関情報を用いたボクセルデータの符号化において、相関情報は、ボクセルデータの予測値とも言える。つまり、上述の相関情報を用いた符号化は、この予測値のみを符号化して伝送している。そこで、さらに、ボクセルデータの予測残差も伝送するようにしてもよい。さらに、その予測残差を符号化して（情報量を低減させて）伝送するようにしてもよい。
【０１８８】
例えば、信号列生成部１１４が、ボクセル設定部１１３から供給されたボクセルデータと、相関情報に対応するボクセルデータの予測値との差分（予測残差）を求め、その予測残差を別途符号化して伝送するようにしてもよい。この符号化方法は任意である。例えば、予測残差を直交変換するようにしてもよい。また、予測残差をチェーン符号化するようにしてもよい。さらに量子化を行うようにしてもよい。
【０１８９】
このように予測残差を伝送することにより、復号側においてより正確な（符号化前の状態に近い）復号画像（復号されたポイントクラウドデータ）を得ることができる。つまり、復号されたポイントクラウドデータ（復号ポイントクラウドデータとも称する）の主観画質を向上させることができる。また、上述のように予測残差を符号化して伝送することにより、符号化効率の低減を抑制することができる。
【０１９０】
＜信号列生成部＞
図２０は、この場合の信号列生成部１１４（図７）の主な構成例を示すブロック図である。図２０に示されるように、この場合の信号列生成部１１４は、図１１の場合と同様に、相関演算部２０１乃至インデックス割り当て部２０３を有する。また、この場合の信号列生成部１１４は、相関情報生成部２０４の代わりに、相関情報生成部２８１を有する。さらに、この場合の信号列生成部１１４は、演算部２８２および予測残差符号化部２８３を有する。
【０１９１】
相関情報生成部２８１は、基本的に相関情報生成部２０４と同様の処理を行うが、さらに、相関情報に含まれる各ブロックのインデックスに対応するユニークパタンを演算部２８２に供給する。
【０１９２】
なお、相関情報生成部２８１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、相関情報の生成に関する処理を行うようにしてもよい。
【０１９３】
演算部２８２は、予測残差の生成に関する処理を行う。例えば、演算部２８２は、各ブロックについて、ボクセル設定部１１３から供給されるボクセルデータから、相関情報生成部２８１から供給されるユニークパタンを減算し、予測残差を生成する。演算部２８２は、生成した予測残差を予測残差符号化部２８３に供給する。
【０１９４】
なお、演算部２８２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、予測残差の生成に関する処理を行うようにしてもよい。
【０１９５】
予測残差符号化部２８３は、予測残差の符号化に関する処理を行う。例えば、予測残差符号化部２８３は、演算部２８２から供給される各ブロックのボクセルデータの予測残差を符号化し、係数データに変換する。この予測残差の符号化方法は任意である。例えば、上述のように直交変換やチェーン符号化を適用するようにしてもよい。さらに、量子化を行うようにしてもよい。予測残差符号化部２８３は、生成した係数データの信号列を符号化部１１５に供給する。
【０１９６】
なお、予測残差符号化部２８３は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、予測残差の符号化に関する処理を行うようにしてもよい。
【０１９７】
符号化部１１５は、相関情報生成部２８１や予測残差符号化部２８３から供給される信号列を符号化する。つまり、符号化部１１５は、相関情報や予測残差等を含むビットストリームを生成する。
【０１９８】
このようにすることにより、復号側においてより正確な復号ポイントクラウドデータを得ることができる。つまり、復号ポイントクラウドデータの主観画質を向上させることができる。また、上述のように予測残差を符号化して伝送することにより、符号化効率の低減を抑制することができる。
【０１９９】
＜信号列生成処理の流れ＞
次に、この場合の、図１２のステップＳ１０４において実行される信号列生成処理の流れの例を、図２１のフローチャートを参照して説明する。
【０２００】
この場合の信号列性生成処理においても、ステップＳ２０１乃至ステップＳ２０４の各処理は、図１３のステップＳ１２１乃至ステップＳ１２４の各処理と同様に実行される。
【０２０１】
ステップＳ２０５において、演算部２８２は、ボクセルデータとユニークパタン（ボクセルデータの予測値）との差分である予測残差を求める。
【０２０２】
ステップＳ２０６において、予測残差符号化部２８３は、ステップＳ２０５の処理により得られた予測残差を符号化する。
【０２０３】
ステップＳ２０６の処理が終了すると信号列生成処理が終了し、処理は図１２に戻る。
【０２０４】
以上のように各処理を実行することにより、符号化装置１００は、上述したように、復号ポイントクラウドデータの主観画質を向上させたり、符号化効率の低減を抑制したりすることができる。
【０２０５】
なお、以上においては、図９に示される表のid = 1の行に示される方法に、予測残差の伝送を適用する場合について説明したが、図９に示される表のその他の行に示される方法に上述したような予測残差の伝送を適用することもできる。その場合も、上述した例と基本的に同様に適用することができる。つまり、信号列生成部１１４に、相関情報生成部２８１乃至予測残差符号化部２８３を図２０の場合と同様に設け、信号列生成処理において、図２０のステップＳ２０５およびステップＳ２０６と同様の処理を行うようにすればよい。
【０２０６】
＜属性情報＞
ポイントクラウドの各ポイントは、位置情報（x,y,z）に加えて、色情報（（R,G,B），（Y,U,V））、αチャンネル、法線ベクトル等の属性情報を持っている。そこで、上述の位置情報の符号化の際に、属性情報も同様に、相関情報を利用して符号化するようにしてもよい。つまり、符号化部１１５が、相関情報が生成されたブロックの属性情報の符号化を省略するようにしてもよい。
【０２０７】
その際の、属性情報のマージの方法は任意である。例えば、カレントブロックと位置情報（構造情報）をマージする参照先の属性情報（例えば、色情報をデコードした後のRGB/YUV画素値）を、カレントブロックにおいても使用するようにしてもよい。
【０２０８】
また、例えば、カレントブロックと位置情報（構造情報）をマージする参照先の属性情報の符号化方法（例えば、色予測モード等）を、カレントブロックにおいても使用するようにしてもよい。つまり、符号化部１１５が、信号列生成部１１４により相関情報が生成されたブロックの属性情報を、その相関情報に対応する参照先の属性情報と同一の符号化方法で符号化するようにしてもよい。
【０２０９】
さらに、例えば、カレントブロックと位置情報（構造情報）をマージする参照先の属性情報のフィルタリング方法（カラーフォーマット変換、クロマサブサンプリング方法、デブロック等のデノイズ方法等）を、カレントブロックにおいても使用するようにしてもよい。つまり、符号化部１１５が、信号列生成部１１４により相関情報が生成されたブロックの属性情報を、その相関情報に対応する参照先の属性情報と同一のフィルタリング方法でフィルタリングするようにしてもよい。
【０２１０】
このようにすることにより、ビットストリームの冗長性を低減させることができ、符号化効率の低減を抑制することができる。
【０２１１】
＜３．第２の実施の形態＞
＜復号方法の例１＞
次に、以上のような符号化装置１００に対応する復号装置について説明する。例えば、図９に示される表のid = 1の行に示される方法により符号化されたボクセルデータのビットストリームは、同行に示される方法により復号することができる。
【０２１２】
つまり、この場合、ユニークパタンとインデックスとの対応関係を示す情報を復号し、その情報に基づいて、各ブロックのインデックスをユニークパタンに変換することにより、各ブロックの相関情報を復号することができる。
【０２１３】
＜復号装置＞
図２２は、本技術を適用した情報処理装置の一実施の形態である復号装置の主な構成例を示すブロック図である。図２２に示される復号装置３００は、図７の符号化装置１００に対応する復号装置であり、例えばこの符号化装置１００により生成されたポイントクラウドの符号化データを復号し、ポイントクラウドのデータを復元する。この符号化装置１００の信号列生成部１１４は、上述したように図９に示される表のid = 1の行に示される方法によりボクセルデータを符号化する。図２２の復号装置３００は、その符号化装置１００により得られたビットストリームを、図９に示される表のid = 1の行に示される方法により復号する。
【０２１４】
図２２に示されるように、この場合の復号装置３００は、復号部３０１、ボクセルデータ生成部３０２、およびポイントクラウド化処理部３０３を有する。
【０２１５】
復号部３０１は、ビットストリームの復号に関する処理を行う。例えば、復号部３０１は、ビットストリームを符号化部１１５の符号化方法に対応する復号方法で復号し、ビットストリームから、相関情報を抽出する。この相関情報は、ボクセルデータが表す空間の部分領域であるブロック毎に設定されており、復号部３０１は、その各ブロックの相関情報を抽出する。
【０２１６】
この相関情報には、ブロック毎にボクセルデータを変換したインデックスが含まれている。このインデックスは、そのブロックのボクセルデータと分布パタンが一致または近似すると判定されたユニークパタンに割り当てられたものである。さらに、ビットストリームには、ユニークパタンとインデックスとの対応関係を示す情報が含まれており、復号部３０１は、そのユニークパタンとインデックスとの対応関係を示す情報もビットストリームから抽出する。
【０２１７】
復号部３０１は、ビットストリームから抽出した情報（相関情報やユニークパタンとインデックスとの対応関係を示す情報等）をボクセルデータ生成部３０２に供給する。
【０２１８】
なお、復号部３０１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、復号に関する処理を行うようにしてもよい。
【０２１９】
ボクセルデータ生成部３０２は、ボクセルデータの生成に関する処理を行う。例えば、ボクセルデータ生成部３０２は、復号部３０１から供給される相関情報に対応するボクセルデータを生成する。つまり、相関情報がボクセル毎に設定されている場合、ボクセルデータ生成部３０２は、各ブロックの相関情報をボクセルデータに変換する。
【０２２０】
例えば、ボクセルデータ生成部３０２は、復号部３０１から供給されたユニークパタンとインデックスとの対応関係を示す情報を用いて、復号部３０１から供給された各ブロックの相関情報をユニークパタンに変換することにより、各ブロックのボクセルデータを生成する。
【０２２１】
ボクセルデータ生成部３０２は、生成したボクセルデータをポイントクラウド化処理部３０３に供給する。
【０２２２】
なお、ボクセルデータ生成部３０２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、ボクセルデータの生成に関する処理を行うようにしてもよい。
【０２２３】
ポイントクラウド化処理部３０３は、ポイントクラウドデータの復元に関する処理を行う。例えば、ポイントクラウド化処理部３０３は、供給されたボクセルデータをポイントクラウドデータに変換する（復号ポイントクラウドデータを生成する）。なお、ポイントクラウド化処理部３０３が、その復号ポイントクラウドデータをさらにMeshデータに変換するようにしてもよい。
【０２２４】
ポイントクラウド化処理部３０３は、生成した復号ポイントクラウドデータ（またはMeshデータ）を復号装置３００の外部に出力する。この出力された復号ポイントクラウドデータ（またはMeshデータ）は、例えば、図示せぬ後段の処理部により画像処理され、画像情報としてモニタ等に表示されるようにしてもよいし、図示せぬ通信部により送信され、所定の伝送路を介して他の装置に伝送されるようにしてもよいし、図示せぬ記録媒体に記録されるようにしてもよい。
【０２２５】
なお、ポイントクラウド化処理部３０３は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、ポイントクラウドデータの復元に関する処理を行うようにしてもよい。
【０２２６】
以上のように、この場合の復号装置３００は、図９に示される表のid = 1の行に示される方法により復号する。したがって、この場合の復号装置３００は、図９に示される表のid = 1の行に示される符号化方法による符号化効率の低減の抑制を実現することができる。
【０２２７】
＜復号処理の流れ＞
この場合の復号装置３００により実行される復号処理の流れの例を、図２３のフローチャートを参照して説明する。
【０２２８】
復号処理が開始されると、復号部３０１は、ステップＳ３０１において、ビットストリームを復号し、ユニークパタンとインデックスとの対応関係を示す情報と、インデックスを含む各ブロックの相関情報を抽出する。
【０２２９】
ステップＳ３０２において、ボクセルデータ生成部３０２は、ステップＳ３０１において抽出されたユニークパタンとインデックスとの対応関係を示す情報に基づいて、各ブロックの相関情報のインデックスをそれに対応するユニークパタンに変換することにより、各ブロックのボクセルデータを生成する。
【０２３０】
ステップＳ３０３において、ポイントクラウド化処理部３０３は、ステップＳ３０２の処理により得られたボクセルデータからポイントクラウドデータを復元する。
【０２３１】
ステップＳ３０４において、ポイントクラウド化処理部３０３は、復元されたポイントクラウドデータ（復号ポイントクラウドデータ）を復号装置３００の外部に出力する。
【０２３２】
ステップＳ３０４の処理が終了すると、復号処理が終了する。
【０２３３】
以上のように復号処理を行うことにより、この場合の復号装置３００は、図９に示される表のid = 1の行に示される符号化方法による符号化効率の低減の抑制を実現することができる。
【０２３４】
＜復号方法の例２＞
また、例えば、図９に示される表のid = 2の行に示される方法により符号化されたボクセルデータのビットストリームは、同行に示される方法により復号することができる。
【０２３５】
つまり、この場合、各ブロックが参照するブロックの絶対位置（空間座標）または相対位置（ベクトル）等の情報を復号し、その参照先のブロックのボクセルデータを用いてカレントブロックのボクセルデータを生成することにより、各ブロックの相関情報を復号することができる。
【０２３６】
＜復号装置＞
図２４は、本技術を適用した情報処理装置の一実施の形態である復号装置の主な構成例を示すブロック図である。図２４に示される復号装置３００は、図７の符号化装置１００に対応する復号装置であり、例えばこの符号化装置１００により生成されたポイントクラウドの符号化データを復号し、ポイントクラウドのデータを復元する。この符号化装置１００の信号列生成部１１４は、上述したように図９に示される表のid = 2の行に示される方法によりボクセルデータを符号化する。図２４の復号装置３００は、その符号化装置１００により得られたビットストリームを、図９に示される表のid = 2の行に示される方法により復号する。
【０２３７】
図２４に示されるように、この場合の復号装置３００は、復号部３２１、ボクセルデータ生成部３２２、およびポイントクラウド化処理部３０３を有する。
【０２３８】
復号部３２１は、ビットストリームの復号に関する処理を行う。例えば、復号部３２１は、ビットストリームを符号化部１１５の符号化方法に対応する復号方法で復号し、ビットストリームから、相関情報を抽出する。この相関情報は、ボクセルデータが表す空間の部分領域であるブロック毎に設定されており、復号部３２１は、その各ブロックの相関情報を抽出する。
【０２３９】
この相関情報には、参照空間座標情報が含まれている。この参照空間座標情報は、ボクセルデータの値の分布パタンがカレントブロックと一致または近似し、ボクセルデータの参照先として指定された周辺ブロックの位置を示す情報である。復号部３２１は、ビットストリームから抽出した情報（相関情報等）をボクセルデータ生成部３２２に供給する。
【０２４０】
なお、復号部３２１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、復号に関する処理を行うようにしてもよい。
【０２４１】
ボクセルデータ生成部３２２は、ボクセルデータの生成に関する処理を行う。例えば、ボクセルデータ生成部３２２は、復号部３２１から供給される相関情報に対応するボクセルデータを生成する。つまり、相関情報がボクセル毎に設定されている場合、ボクセルデータ生成部３２２は、各ブロックの相関情報をボクセルデータに変換する。
【０２４２】
例えば、ボクセルデータ生成部３２２は、復号部３２１から供給されたカレントブロックの相関情報に含まれる参照空間座標情報に基づいて、参照先のブロックを特定し、そのブロックのボクセルデータを用いて、カレントブロックのボクセルデータを生成する。ボクセルデータ生成部３２２は、各ブロックの相関情報についてこのような処理を行うことにより、各ブロックのボクセルデータを生成する。
【０２４３】
ボクセルデータ生成部３２２は、生成したボクセルデータをポイントクラウド化処理部３０３に供給する。ポイントクラウド化処理部３０３が行う処理は、図２２の場合と同様であるのでその説明を省略する。
【０２４４】
なお、ボクセルデータ生成部３２２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、ボクセルデータの生成に関する処理を行うようにしてもよい。
【０２４５】
以上のように、この場合の復号装置３００は、図９に示される表のid = 2の行に示される方法により復号する。したがって、この場合の復号装置３００は、図９に示される表のid = 2の行に示される符号化方法による符号化効率の低減の抑制を実現することができる。
【０２４６】
＜復号処理の流れ＞
この場合の復号装置３００により実行される復号処理の流れの例を、図２５のフローチャートを参照して説明する。
【０２４７】
復号処理が開始されると、復号部３２１は、ステップＳ３２１において、ビットストリームを復号し、参照空間座標情報を含む各ブロックの相関情報を抽出する。
【０２４８】
ステップＳ３２２において、ボクセルデータ生成部３２２は、ステップＳ３２１において抽出された各ブロックの相関情報の参照空間座標情報に基づいて、参照先のブロックを特定し、その各参照先のブロックのボクセルデータを用いて、各ブロックのボクセルデータを生成する。
【０２４９】
ステップＳ３２３およびステップＳ３２４の各処理は、図２３のステップＳ３０３およびステップＳ３０４の各処理と同様に実行される。ステップＳ３２４の処理が終了すると、復号処理が終了する。
【０２５０】
以上のように復号処理を行うことにより、この場合の復号装置３００は、図９に示される表のid = 2の行に示される符号化方法による符号化効率の低減の抑制を実現することができる。
【０２５１】
＜復号方法の例３＞
また例えば、図９に示される表のid = 3の行に示される方法により符号化されたボクセルデータのビットストリームは、同行に示される方法により復号することができる。
【０２５２】
つまり、この場合、事前定義ユニークパタンと事前定義インデックスとの対応関係を示す情報に基づいて、各ブロックの事前定義インデックスを事前定義ユニークパタンに変換することにより、各ブロックの相関情報を復号することができる。
【０２５３】
＜復号装置＞
図２６は、本技術を適用した情報処理装置の一実施の形態である復号装置の主な構成例を示すブロック図である。図２６に示される復号装置３００は、図７の符号化装置１００に対応する復号装置であり、例えばこの符号化装置１００により生成されたポイントクラウドの符号化データを復号し、ポイントクラウドのデータを復元する。この符号化装置１００の信号列生成部１１４は、上述したように図９に示される表のid = 3の行に示される方法によりボクセルデータを符号化する。図２６の復号装置３００は、その符号化装置１００により得られたビットストリームを、図９に示される表のid = 3の行に示される方法により復号する。
【０２５４】
図２６に示されるように、この場合の復号装置３００は、復号部３４１、ボクセルデータ生成部３４２、およびポイントクラウド化処理部３０３を有する。
【０２５５】
復号部３４１は、ビットストリームの復号に関する処理を行う。例えば、復号部３４１は、ビットストリームを符号化部１１５の符号化方法に対応する復号方法で復号し、ビットストリームから、相関情報を抽出する。この相関情報は、ボクセルデータが表す空間の部分領域であるブロック毎に設定されており、復号部３２１は、その各ブロックの相関情報を抽出する。
【０２５６】
この相関情報には、ブロック毎にボクセルデータを変換した事前定義インデックスが含まれている。この事前定義インデックスは、事前定義ユニークパタンに割り当てられたものである。なお、図２６の復号装置３００は、事前定義ユニークパタンと事前定義インデックスとの対応関係を示す情報を予め有している。復号部３４１は、ビットストリームから抽出した情報（相関情報等）をボクセルデータ生成部３４２に供給する。
【０２５７】
なお、復号部３４１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、復号に関する処理を行うようにしてもよい。
【０２５８】
ボクセルデータ生成部３４２は、ボクセルデータの生成に関する処理を行う。例えば、ボクセルデータ生成部３４２は、復号部３４１から供給される相関情報に対応するボクセルデータを生成する。つまり、相関情報がボクセル毎に設定されている場合、ボクセルデータ生成部３４２は、各ブロックの相関情報をボクセルデータに変換する。
【０２５９】
例えば、ボクセルデータ生成部３４２は、復号部３４１から供給された各ブロックの相関情報に含まれる事前定義インデックスを、事前定義ユニークパタンと事前定義インデックスとの対応関係を示す情報に基づいて、事前定義ユニークパタンに変換することにより、各ブロックのボクセルデータを生成する。
【０２６０】
ボクセルデータ生成部３２２は、生成したボクセルデータをポイントクラウド化処理部３０３に供給する。ポイントクラウド化処理部３０３が行う処理は、図２２の場合と同様であるのでその説明を省略する。
【０２６１】
なお、ボクセルデータ生成部３４２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、ボクセルデータの生成に関する処理を行うようにしてもよい。
【０２６２】
以上のように、この場合の復号装置３００は、図９に示される表のid = 3の行に示される方法により復号する。したがって、この場合の復号装置３００は、図９に示される表のid = 3の行に示される符号化方法による符号化効率の低減の抑制を実現することができる。
【０２６３】
＜復号処理の流れ＞
この場合の復号装置３００により実行される復号処理の流れの例を、図２７のフローチャートを参照して説明する。
【０２６４】
復号処理が開始されると、復号部３４１は、ステップＳ３４１において、ビットストリームを復号し、事前定義インデックスを含む各ブロックの相関情報を抽出する。
【０２６５】
ステップＳ３４２において、ボクセルデータ生成部３４２は、事前定義ユニークパタンと事前定義インデックスとの対応関係を示す情報に基づいて、ステップＳ３４１において抽出された各ブロックの相関情報の事前定義インデックスを事前定義ユニークパタンに変換することにより、各ブロックのボクセルデータを生成する。
【０２６６】
ステップＳ３４３およびステップＳ３３４の各処理は、図２３のステップＳ３０３およびステップＳ３０４の各処理と同様に実行される。ステップＳ３４４の処理が終了すると、復号処理が終了する。
【０２６７】
以上のように復号処理を行うことにより、この場合の復号装置３００は、図９に示される表のid = 3の行に示される符号化方法による符号化効率の低減の抑制を実現することができる。
【０２６８】
＜復号方法の例４＞
また例えば、図９に示される表のid = 4の行に示される方法により符号化されたボクセルデータのビットストリームは、同行に示される方法により復号することができる。つまり、この場合、フレームを特定する情報を復号することにより、復号済みのフレームを特定し、追加の情報によって、そのフレーム内のブロックから分布パタンを復号することができる。
【０２６９】
例えば、相関情報に、カレントブロックのボクセルデータの値の分布パタンとの相関の強さを求める際の、参照先に対応するフレームを示す時間情報が含まれるようにしてもよい。そして、ビットストリームより抽出されたカレントブロックの相関情報に含まれるその時間情報に基づいて参照先に対応するフレームを特定するようにしてもよい。
【０２７０】
このようにすることにより、相関情報とするインデックスや参照先の範囲を拡大することができるので、ビットストリームの冗長性をより低減させることができ、符号化効率の低減を抑制することができる。
【０２７１】
＜復号方法の例５＞
また例えば、図９に示される表のid = 5の行に示される方法により符号化されたボクセルデータのビットストリームは、同行に示される方法により復号することができる。つまり、この場合、回転、反転等の情報を復号し、参照先のブロックに対応する操作を施して、カレントブロックの分布パタンを復号することができる。
【０２７２】
例えば、相関情報に、カレントブロックのボクセルデータの値の分布パタンとの相関の強さを求める際の、参照先のボクセルデータの値の分布パタンの回転に関する情報（回転情報）、および、その参照先のボクセルデータの値の分布パタンの反転に関する情報（反転情報）、の内の少なくともいずれか一方が含まれるようにしてもよい。そして、各ブロックの相関情報からボクセルデータを生成する際に、ビットストリームより抽出されたカレントブロックの相関情報に含まれる回転情報および反転情報の内の少なくともいずれか一方に基づいて、参照先のボクセルデータの値の分布パタンに対して回転若しくは反転、またはその両方を行うようにしてもよい。
【０２７３】
このようにすることにより、参照先の分布パタンがカレントブロックと一致または近似する可能性を増大させることができる。また、その相関度がより高くなる可能性を増大させることができる。したがって、ビットストリームの冗長性をより低減させることができ、符号化効率の低減を抑制することができる。
【０２７４】
＜復号方法の例６＞
また例えば、図９に示される表のid = 6の行に示される方法により符号化されたボクセルデータのビットストリームは、同行に示される方法により復号することができる。つまり、この場合、周辺ブロックの相関情報を再利用して、カレントブロックのボクセルデータを生成することができる。
【０２７５】
周辺ブロックの相関情報を再利用する場合、ビットストリームにはカレントブロックの相関情報は含まれないようにしてもよい。その代わりに、例えば、そのブロックにおいて、周辺ブロックの相関情報を再利用する旨を示す情報（フラグ等）がビットストリームに含まれるようにしてもよい。そして、カレントブロックに対してそのような情報が得られた場合、周辺ブロックの相関情報を用いて、カレントブロックの相関情報を生成し、生成した相関情報を用いて、カレントブロックのボクセルデータを生成するようにしてもよい。
【０２７６】
このようにすることにより、周辺ブロックの相関情報を再利用するブロックの相関情報の伝送は省略することができる。したがって、伝送する情報量を低減させることができるので、符号化効率の低減を抑制することができる。
【０２７７】
なお、符号化の場合と同様に、上述した図９に示される表のid = 1乃至6の行に示される復号方法は、適宜組み合わせることができる。
【０２７８】
＜Octree復号の併用＞
なお、復号対象のビットストリームは、＜Octree符号化の併用＞において説明したように、相関情報を利用した符号化と、Octree符号化とを併用して生成されたものであってもよい。例えば、ビットストリームが、ボクセルデータがOctree符号化され、そのOctreeパタンの最下位レベルのノードが相関情報を利用して符号化されたものであってもよい。また、そのOctreeパタンの最下位レベルを含む複数のレベルのノードが相関情報を利用して符号化されたものであってもよい。
【０２７９】
さらに、DAG処理も併用して生成されたものであってもよい。例えば、ビットストリームが、ボクセルデータがOctree符号化され、そのOctreeパタンの最下位レベルのノードが相関情報を利用して符号化され、最下位レベルより上位のレベルのノードがDAG処理されたものであってもよい。また、そのOctreeパタンの最下位レベルのノードが相関情報を利用して符号化され、最下位レベルより１つ上位のレベルから途中のレベルまでのノードがDAG処理され、それより上位のレベルのノードは、Octree符号化のみが適用されたものであってもよい。
【０２８０】
＜復号装置＞
図２８は、この場合の復号装置３００の主な構成例を示すブロック図である。図２８に示されるように、この場合の復号装置３００は、復号部３６１、DAG逆処理部３６２、Octree復号部３６３、ボクセルデータ生成部３６４、およびポイントクラウド化処理部３０３を有する。
【０２８１】
復号部３６１は、ビットストリームの復号に関する処理を行う。例えば、復号部３６１は、ビットストリームを符号化部１１５の符号化方法に対応する復号方法で復号し、ビットストリームから、インデックスを含む各ブロックの相関情報と、ユニークパタンとインデックスとの対応関係を示す情報と、DAG処理されたOctreeパタンであるDAGデータとを抽出する。復号部３６１は、抽出した各ブロックの相関情報と、ユニークパタンとインデックスとの対応関係を示す情報とをボクセルデータ生成部３６４に供給し、DAGデータをDAG逆処理部３６２に供給する。
【０２８２】
なお、復号部３６１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、復号に関する処理を行うようにしてもよい。
【０２８３】
DAG逆処理部３６２は、DAG処理部２６２が行うDAG処理の逆処理であるDAG逆処理に関する処理を行う。つまり、DAG逆処理は、DAGデータからOctreeパタンの各ノードのChildmaskを生成する処理である。DAG逆処理部３６２は、復号部３６１から供給されたDAGデータに対してこのDAG逆処理を行って、Octreeパタンの各ノードのChildmaskを生成し、それをOctree復号部３６３に供給する。
【０２８４】
なお、DAG逆処理部３６２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、DAG逆処理に関する処理を行うようにしてもよい。
【０２８５】
Octree復号部３６３は、Octreeパタンの復号に関する処理を行う。例えば、Octree復号部３６３は、Octreeパタンの各ノードのChildmaskを復号してボクセルデータを生成する。Octree復号部３６３は、生成したボクセルデータをボクセルデータ生成部３６４に供給する。
【０２８６】
なお、Octree復号部３６３は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、Octree復号に関する処理を行うようにしてもよい。
【０２８７】
ボクセルデータ生成部３６４は、ボクセルデータの生成に関する処理を行う。例えば、ボクセルデータ生成部３６４は、復号部３６１から供給されたユニークパタンとインデックスとの対応関係を示す情報を用いて、復号部３６１から供給された各ブロックの相関情報をユニークパタンに変換することにより、各ブロックのボクセルデータを生成する。
【０２８８】
ボクセルデータ生成部３６４は、生成したボクセルデータと、Octree復号部３６３から供給されたボクセルデータとをポイントクラウド化処理部３０３に供給する。ポイントクラウド化処理部３０３が行う処理は、図２２の場合と同様であるのでその説明を省略する。
【０２８９】
なお、ボクセルデータ生成部３６４は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、ボクセルデータの生成に関する処理を行うようにしてもよい。
【０２９０】
このようにOctree符号化を適用することにより、相関情報を用いた符号化をスケーラビリティに対応させることができる。換言するに、Octreeパタンに対して、相関情報を用いた符号化を適用することにより、符号化効率の低減を抑制することができる。
【０２９１】
＜復号処理の流れ＞
この場合の復号装置３００により実行される復号処理の流れの例を、図２９のフローチャートを参照して説明する。
【０２９２】
復号処理が開始されると、復号部３６１は、ステップＳ３６１において、ビットストリームを復号し、ユニークパタンとインデックスとの対応関係を示す情報と、インデックスを含む各ブロックの相関情報と、DAGデータとを抽出する。
【０２９３】
ステップＳ３６２において、ボクセルデータ生成部３６４は、ステップＳ３６１において抽出されたユニークパタンとインデックスとの対応関係を示す情報に基づいて、各ブロックの相関情報のインデックスをそれに対応するユニークパタンに変換することにより、各ブロックのボクセルデータを生成する。
【０２９４】
ステップＳ３６３において、DAG逆処理部３６２は、ステップＳ３６１において抽出されたDAGデータに対してDAG逆処理を施し、Octreeパタンの各ノードのChildmaskを生成する。
【０２９５】
ステップＳ３６４において、Octree復号部３６３は、ステップＳ３６３の処理により得られたOctreeパタンの各ノードのChildmaskに対してOctree復号を行い、ボクセルデータを生成する。
【０２９６】
ステップＳ３６５において、ポイントクラウド化処理部３０３は、ステップＳ３６２の処理により得られたボクセルデータと、ステップＳ３６４の処理により得られたボクセルデータとから、ポイントクラウドデータを復元する。
【０２９７】
ステップＳ３６６において、ポイントクラウド化処理部３０３は、復元されたポイントクラウドデータ（復号ポイントクラウドデータ）を復号装置３００の外部に出力する。
【０２９８】
ステップＳ３６６の処理が終了すると、復号処理が終了する。
【０２９９】
以上のように復号処理を行うことにより、この場合の復号装置３００は、相関情報を用いた符号化をスケーラビリティに対応させたり、符号化効率の低減を抑制したりすることができる。
【０３００】
なお、以上においては、図９に示される表のid = 1の行に示される復号方法に、Octree復号を適用する場合について説明したが、図９に示される表のその他の行に示される復号方法にOctree復号を適用する場合も同様に適用することができる。
【０３０１】
＜予測残差の復号＞
なお、復号対象のビットストリームに、＜予測残差の伝送＞において説明したように、ボクセルデータの予測残差が含まれるようにしてもよい。また、その予測残差は、符号化された（情報量が低減された）ものであってもよい。つまり、ビットストリームに、予測残差が符号化された係数データが含まれるようにしてもよい。この予測残差の符号化方法は任意である。例えば、予測残差が直交変換されるようにしてもよい。また、予測残差がチェーン符号化されるようにしてもよい。さらに量子化が行われるようにしてもよい。
【０３０２】
このように予測残差を伝送することにより、復号装置３００は、より正確な（符号化前の状態に近い）復号画像（復号ポイントクラウドデータ）を得ることができる。つまり、復号ポイントクラウドデータの主観画質を向上させることができる。また、上述のように符号化された予測残差を伝送することにより、符号化効率の低減を抑制することができる。
【０３０３】
＜復号装置＞
図３０は、この場合の復号装置３００の主な構成例を示すブロック図である。図３０に示されるように、この場合の復号装置３００は、復号部３８１、予測残差復号部３８２、ボクセルデータ生成部３８３、およびポイントクラウド化処理部３０３を有する。ボクセルデータ生成部３８３は、ユニークパタン生成部３９１および演算部３９２を有する。
【０３０４】
復号部３８１は、ビットストリームの復号に関する処理を行う。例えば、復号部３８１は、ビットストリームを符号化部１１５の符号化方法に対応する復号方法で復号し、ビットストリームから、インデックスを含む各ブロックの相関情報と、ユニークパタンとインデックスとの対応関係を示す情報と、予測残差が符号化された係数データとを抽出する。復号部３８１は、抽出した各ブロックの相関情報と、ユニークパタンとインデックスとの対応関係を示す情報とをボクセルデータ生成部３８３（ユニークパタン生成部３９１）に供給し、係数データを予測残差復号部３８２に供給する。
【０３０５】
なお、復号部３８１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、復号に関する処理を行うようにしてもよい。
【０３０６】
予測残差復号部３８２は、係数データの復号に関する処理を行う。例えば、予測残差復号部３８２は、復号部３８１から供給された係数データを、予測残差符号化部２８３（図２０）により行われる符号化方法に対応する復号方法により復号し、予測残差を復元する。予測残差復号部３８２は、復元した予測残差をボクセルデータ生成部３８３（演算部３９２）に供給する。
【０３０７】
なお、予測残差復号部３８２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、予測残差の復号に関する処理を行うようにしてもよい。
【０３０８】
ボクセルデータ生成部３８３は、ボクセルデータの生成に関する処理を行う。例えば、ボクセルデータ生成部３８３のユニークパタン生成部３９１は、ユニークパタンの生成に関する処理を行う。例えば、ユニークパタン生成部３９１は、復号部３８１から供給されたユニークパタンとインデックスとの対応関係を示す情報を用いて、復号部３８１から供給された各ブロックの相関情報をユニークパタン（ボクセルデータ）に変換する。ユニークパタン生成部３９１は、生成した各ブロックのユニークパタンを演算部３９２に供給する。
【０３０９】
なお、ユニークパタン生成部３９１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、ユニークパタンの生成に関する処理を行うようにしてもよい。
【０３１０】
演算部３９２は、ボクセルデータの生成に関する処理を行う。例えば、演算部３９２は、予測残差復号部３８２から供給された予測残差と、ユニークパタン生成部３９１から供給された各ブロックのユニークパタン（ボクセルデータ）とを加算し、各ブロックのボクセルデータを生成する。演算部３９２は、生成したボクセルデータをポイントクラウド化処理部３０３に供給する。ポイントクラウド化処理部３０３が行う処理は、図２２の場合と同様であるのでその説明を省略する。
【０３１１】
なお、演算部３９２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、ボクセルデータの生成に関する処理を行うようにしてもよい。
【０３１２】
このようにすることにより、復号装置３００は、より正確な（符号化前の状態に近い）復号画像（復号ポイントクラウドデータ）を得ることができる。つまり、復号ポイントクラウドデータの主観画質を向上させることができる。また、上述のように符号化された予測残差を伝送することにより、符号化効率の低減を抑制することができる。
【０３１３】
＜復号処理の流れ＞
この場合の復号装置３００により実行される復号処理の流れの例を、図３１のフローチャートを参照して説明する。
【０３１４】
復号処理が開始されると、復号部３８１は、ステップＳ３８１において、ビットストリームを復号し、ユニークパタンとインデックスとの対応関係を示す情報と、インデックスを含む各ブロックの相関情報と、各ブロックの係数データとを抽出する。
【０３１５】
ステップＳ３８２において、予測残差復号部３８２は、各ブロックについて、ステップＳ３８１において抽出された係数データに対して予測残差復号を行い、予測残差を得る。
【０３１６】
ステップＳ３８３において、ユニークパタン生成部３９１は、ステップＳ３８１において抽出されたユニークパタンとインデックスとの対応関係を示す情報に基づいて、各ブロックの相関情報のインデックスをそれに対応するユニークパタンに変換する。
【０３１７】
ステップＳ３８４において、演算部３９２は、各ブロックについて、ステップＳ３８２において得られた予測残差と、ステップＳ３８３において得られたユニークパタンとを加算し、ボクセルデータを生成する。
【０３１８】
ステップＳ３８５において、ポイントクラウド化処理部３０３は、ステップＳ３８４の処理により得られたボクセルデータから、ポイントクラウドデータを復元する。
【０３１９】
ステップＳ３８６において、ポイントクラウド化処理部３０３は、復号ポイントクラウドデータを復号装置３００の外部に出力する。
【０３２０】
ステップＳ３８６の処理が終了すると、復号処理が終了する。
【０３２１】
以上のように復号処理を行うことにより、復号装置３００は、より正確な復号画像（復号ポイントクラウドデータ）を得ることができる。つまり、復号ポイントクラウドデータの主観画質を向上させることができる。また、上述のように符号化された予測残差を伝送することにより、符号化効率の低減を抑制することができる。
【０３２２】
なお、以上においては、図９に示される表のid = 1の行に示される復号方法に、予測残差の伝送を適用する場合について説明したが、図９に示される表のその他の行に示される復号方法に予測残差の伝送を適用する場合も同様に適用することができる。
【０３２３】
＜属性情報の参照＞
また、上述の位置情報の符号化の際に、属性情報も同様に、相関情報を利用して符号化するようにしてもよい。例えば、位置情報（構造情報）の参照先となるブロック、ユニークパタン、または事前定義ユニークパタンの属性情報（例えば、色情報をデコードした後のRGB/YUV画素値）を、カレントブロックにおいても使用するようにしてもよい。その場合、ビットストリームには、参照先のブロックの属性情報を再利用するブロックの属性情報が含まれない。したがって、復号装置３００は、ビットストリームより抽出された相関情報に対応する参照先の属性情報を用いて、カレントブロックの属性情報を復元する。
【０３２４】
また、例えば、位置情報（構造情報）の参照先となるブロック、ユニークパタン、または事前定義ユニークパタンの属性情報の符号化方法（例えば、色予測モード等）を、カレントブロックにおいても使用するようにしてもよい。その場合、復号装置３００は、ビットストリームより抽出された相関情報に対応する参照先の属性情報の符号化方法に対応する復号方法を用いて、カレントブロックの属性情報を復号する。
【０３２５】
さらに、例えば、位置情報（構造情報）の参照先となるブロック、ユニークパタン、または事前定義ユニークパタンの属性情報のフィルタリング方法（カラーフォーマット変換、クロマサブサンプリング方法、デブロック等のデノイズ方法等）を、カレントブロックにおいても使用するようにしてもよい。その場合、復号装置３００は、ビットストリームより抽出された相関情報に対応する参照先の属性情報のフィルタリング方法を用いて、カレントブロックの属性情報をフィルタリングする。
【０３２６】
このようにすることにより、ビットストリームの属性情報の冗長性を低減させることができ、符号化効率の低減を抑制することができる。
【０３２７】
＜４．第３の実施の形態＞
＜主観画質を考慮した相関度の算出＞
従来、データ同士の類似度（相関度）を評価する指標として、例えばPSNR（Peak signal-to-noise ratio）等が提案されている。しかしなら、PSNRのような一般的な評価指標は、一般的なデータとしての評価を行うので、主観的な画質（見た目の良さ）に対応しているとは限らない。そのため、ポイントクラウドデータ（ボクセルデータ）の相関度の評価において、このような一般的な評価指標のみを利用してRD最適を考慮したノードのマージを行うだけでは、復号ポイントクラウドデータにおいて、主観的な劣化が目立つおそれがあった。
【０３２８】
また、このような一般的な評価指標は、計算の処理コストが非常に大きく、リアルタイム処理を実現することが困難になる程、処理時間が増大するおそれがあった。
【０３２９】
そこで、ポイントクラウドデータを量子化したボクセルデータの比較において、ボクセルデータの値の分布パタンの主観的特徴に基づいて、比較対象のボクセルデータ間におけるその分布パタンの相関度を算出するようにする。
【０３３０】
例えば、情報処理装置において、ポイントクラウドデータを量子化したボクセルデータの比較において、ボクセルデータの値の分布パタンの主観的特徴に基づいて、比較対象のボクセルデータ間におけるその分布パタンの相関度を算出する相関度算出部を備えるようにする。
【０３３１】
このようにすることにより、復号ポイントクラウドデータの主観画質の低減を抑制することができる。
【０３３２】
＜相関演算部＞
図３２は、この場合の、符号化装置１００の相関演算部２０１（図１１）の主な構成例を示すブロック図である。図３２に示されるように、この場合の相関演算部２０１は、特徴量算出部４１１、相関演算組設定部４１２、およびコスト算出部４１３を有する。
【０３３３】
特徴量算出部４１１は、特徴量の算出に関する処理を行う。例えば、特徴量算出部４１１は、ボクセルデータおよびそのテクスチャに基づいて、ポイントクラウドデータの主観的な（見た目に影響を及ぼす）特徴量を算出する。特徴量算出部４１１は、算出した特徴量を相関演算組設定部４１２と、コスト算出部４１３とに供給する。
【０３３４】
なお、特徴量算出部４１１は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、特徴量の算出に関する処理を行うようにしてもよい。
【０３３５】
相関演算組設定部４１２は、相関の演算を行うボクセルデータの組の設定に関する処理を行う。例えば、相関演算組設定部４１２は、特徴量算出部４１１から供給される特徴量に基づいて、分布パタンの相関をカレントブロックと比較するボクセルデータを設定する。つまり、相関演算組設定部４１２は、各ブロックについて、比較対象とするボクセルデータを設定する。相関演算組設定部４１２は、設定したその組を示す情報（組情報）と、ボクセルデータとをコスト算出部４１３に供給する。
【０３３６】
なお、相関演算組設定部４１２は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、組の設定に関する処理を行うようにしてもよい。
【０３３７】
コスト算出部４１３は、コストの算出に関する処理を行う。例えば、コスト算出部４１３は、相関演算組設定部４１２により設定されたボクセルデータの各組について、相関度（コスト値）を算出する。例えば、コスト算出部４１３は、カレントブロックのボクセルデータと、相関演算組設定部４１２が設定した全てのボクセルデータとの間の相関度を算出する。つまり、コスト算出部４１３は、各ブロックについて、比較対象として設定された全てのボクセルデータとの間の相関度を算出する。なお、コスト算出部４１３は、特徴量算出部４１１により算出された特徴量も用いて、その相関度（コスト値）の算出を行う。
【０３３８】
また、コスト算出部４１３は、各組の中でコスト値が最小となる組を特定する（その最小コスト値も求める）。コスト算出部４１３は、このようなコスト値の算出結果を、相関度として、ユニークパタン設定部２０２（図１１）に供給する。
【０３３９】
なお、コスト算出部４１３は、どのような構成を有するようにしてもよいが、例えば、CPU、ROM、RAM等を有し、CPUがROM等に記憶されているプログラムやデータをRAMにロードして実行することにより、コストの算出に関する処理を行うようにしてもよい。
【０３４０】
＜相関演算処理の流れ＞
次に、図３３のフローチャートを参照して、図１３のステップＳ１２１において実行される相関演算処理の流れの例を説明する。
【０３４１】
相関演算処理が開始されると、特徴量算出部４１１は、ステップＳ４０１において、ボクセルデータおよびテクスチャに基づいて、ポイントクラウドデータの主観的な特徴量を算出する。
【０３４２】
ステップＳ４０２において、相関演算組設定部４１２は、相関演算を行うブロックの組を設定する。
【０３４３】
その際、相関演算組設定部４１２は、例えば、比較対象を一部のブロックに制限するようにしてもよい。このようにすることにより、相関演算組設定部４１２は、相関演算を行う組数の増大を抑制することができ、相関演算の処理量（処理時間）の増大を抑制することができる。
【０３４４】
例えば、相関演算組設定部４１２が、カレントブロック（カレントノード）と空間的に近い場所のブロック（ノード）とのみ相関の算出が行われるように、相関演算を行うブロックの組を設定するようにしてもよい。例えば、相関演算組設定部４１２が、所定の空間的範囲内において、カレントブロックと比較するボクセルデータを設定するようにしてもよい。一般的に空間的に近い場所のブロックは、比較的相関度が高い。したがって、このように、比較対象とするブロックを空間的に近い場所に限定することにより、相関演算の処理量（処理時間）の増大を抑制しながら、相関度の高い組を検出しやすくすることができる。
【０３４５】
また、例えば、相関演算組設定部４１２が、Octreeパタンの１つ上位のレベルにおいて相関の算出が行われるように、相関演算を行うブロックの組を設定するようにしてもよい。例えば、相関演算組設定部４１２が、階層化されたボクセルデータの処理対象の階層よりも上位の階層において、カレントブロックと比較するボクセルデータを設定するようにしてもよい。
【０３４６】
例えば、図３４のＡに示される４×４×４のボクセルからなるブロック４２１を処理対象とすると、それより１段上位のレベルにおいては、そのブロック４２１は、図３４のＢに示されるブロック４２２のように、２×２×２のボクセルにより構成される。つまり、上位のレベルにいくほどボクセル数が低減する。したがって、より上位のレベルで相関の算出を行う方が、相関演算の処理量（処理時間）の増大を抑制することができる。
【０３４７】
また、例えば、相関演算組設定部４１２が、代表的なパタンとのみ相関度が算出されるように、相関演算を行うブロックの組を設定するようにしてもよい。また、その代表的なパタンは、予め定められた固定パタン（更新されないパタン）であってもよい。例えば、相関演算組設定部４１２が、予め定められた固定の代表的な分布パタンのボクセルデータを、カレントブロックと比較するボクセルデータとして設定するようにしてもよい。
【０３４８】
もちろん、この代表的なパタンは、更新可能であってもよい。例えば、フレーム毎に代表的なパタンが更新されるようにしてもよい。例えば、フレーム内の統計情報に基づいて（統計情報に応じたパタンに）更新されるようにしてもよい。また、例えば過去の処理の統計情報に基づいて（統計情報に応じたパタンに）更新されるようにしてもよい。例えば、相関演算組設定部４１２が、更新可能な代表的な分布パタンのボクセルデータを、カレントブロックと比較するボクセルデータとして設定するようにしてもよい。
【０３４９】
このように、比較対象のパタンを限定することにより、相関演算の処理量（処理時間）の増大を抑制することができる。
【０３５０】
図３３に戻り、ステップＳ４０３において、コスト算出部４１３は、ステップＳ４０２において設定された各組の相関について、コスト値を算出する。なお、このコスト値の算出方法は任意である。例えば、コスト算出部４１３が、各組について、複数の方法でコスト値を算出するようにしてもよい。例えば、コスト算出部４１３が、各組について、互いに異なる方法で複数のコスト値を算出し、その中の最小値を、その組のコスト値として選択するようにしてもよい。
【０３５１】
ステップＳ４０３の処理が終了すると相関演算処理が終了し、処理は図１３に戻る。
【０３５２】
＜コスト算出処理の流れ＞
次に、図３５のフローチャートを参照して、図３３のステップＳ４０３において実行されるコスト算出処理の流れの例を説明する。
【０３５３】
コスト算出処理が開始されると、コスト算出部４１３は、ステップＳ４２１において、処理対象の組について、基本コスト関数を用いてコスト値を算出する。この基本コスト関数は、一般的なコスト関数を用いる。このコスト関数は、どのようなものであってもよいが、例えば、図３６の表に示されるようなコスト関数であってもよい。
【０３５４】
図３６の表において、Hausdorff Distanceは、２つの点群間の最短距離の最大値を双方向から求めて評価する関数である。ボクセルデータ（ポイントクラウドデータ）をポイント群とみなし、この評価関数を用いて２つのポイント群同士の距離を評価することで、ボクセルデータ間の相関の強さを評価することができる。
【０３５５】
また、PSNR Point2Pointは、２点間の最短距離のPSNRを評価する関数である。この評価関数を用いて、ボクセルデータ間でポイント同士の距離を評価することで、ボクセルデータ間の相関の強さを評価することができる。
【０３５６】
また、PSNR Point2Surfaceは、点と面との最短距離のPSNRを評価する関数である。この評価関数を用いて、一方のボクセルデータの各ポイントと、他方のボクセルデータの各ポイントの法線ベクトルに直交する面との距離を評価することで、ボクセルデータ間の相関の強さを評価することができる。
【０３５７】
また、Hamming Distanceは、ビット列同士を比較して互いに異なる値を持つビットの数を評価する関数である。ボクセルデータをビット列とみなし、この評価関数を用いて２つのビット列を比較し、評価することで、ボクセルデータ間の相関の強さを評価することができる。
【０３５８】
コスト算出部４１３は、ステップＳ４２１において、これらのコスト関数（評価関数）のいずれか、または任意の組み合わせにより、コスト値を算出する。
【０３５９】
ただし、これらのコスト関数（評価関数）では、主観的な画質については考慮されてない。そこで、図３５に戻り、コスト算出部４１３は、ステップＳ４２２において、処理対象の組について、補正用指標を用いてペナルティ値を算出する。ペナルティ値とは、主観的に相関が弱いことを示す値であり、この値をコスト値に加算することにより、コスト値が増大する（つまり、相関度が低く評価される）値である。
【０３６０】
例えば、図３７に示されるような指標０乃至指標３により、このペナルティ値を算出する。図３７のＡに示される指標０の場合、相関を評価するボクセルデータにおいて、４×４×４のボクセルからなるブロック４３１の中の、２×２×２のボクセル（グレーで示されるボクセル）において、Ｘ個（０＜Ｘ≦８）以上のポイントが減少する場合、ペナルティ値が設定される。
【０３６１】
また、例えば図３７のＢに示される指標１の場合、相関を評価するボクセルデータにおいて、４×４×４のボクセルからなるブロック４３１の中の、４×１×１のボクセル（グレーで示されるボクセル）において、Ｘ個（０＜Ｘ≦４）以上のポイントが減少する場合、ペナルティ値が設定される。
【０３６２】
また、例えば図３７のＣに示される指標２の場合、相関を評価するボクセルデータにおいて、４×４×４のボクセルからなるブロック４３１の中の、４×２×１のボクセル（グレーで示されるボクセル）において、Ｘ個（０＜Ｘ≦８）以上のポイントが減少する場合、ペナルティ値が設定される。
【０３６３】
また、例えば図３７のＤに示される指標３の場合、相関を評価するボクセルデータにおいて、４×４×４のボクセルからなるブロック４３１の中の、４×４×１のボクセル（グレーで示されるボクセル）において、Ｘ個（０＜Ｘ≦１６）以上のポイントが減少する場合、ペナルティ値が設定される。
【０３６４】
ここで設定されるペナルティ値は、正の値であれば任意である。ポイントの減少量に応じて値が変化するようにしてもよい。
【０３６５】
つまり、これらの指標（補正用指標）は、相関の強さを算出するボクセルデータにおいて、所定の形状の範囲を定義し、その範囲内において互いの分布パタンが所定の基準以上に異なる場合、それらのボクセルデータの相関が（基本コスト関数を用いて算出した相関の強さよりも）弱いと評価するものである。
【０３６６】
この範囲の形状は、主観的な特徴を有する分布パタン（主観的に識別可能な分布パタン）とする。例えば、線や面等であってもよい。つまり、この補正用指標は、比較するボクセルデータのいずれかが、見て分かるような所定の形状の分布パタンを有しない場合、それらのボクセルデータ間の相関度をより低く算出する指標である。換言するに、この補正用指標は、比較するボクセルデータの全てが、その見て分かる形状の分布パタンを有する場合、それらのボクセルデータ間の相関度をより高く評価する指標である。
【０３６７】
例えば、主観的な分布パタンが（分布パタンの見た目の形状）が全く異なる場合であっても、上述の基本コスト関数では、相関性が強く評価される場合がある。このような場合、ボクセルデータがブロック単位でマージされてしまうので、復号ポイントクラウドデータにおいて、主観的に大きく異なる構造となるおそれがある。これに対して上述の補正用指標は、主観的特徴を考慮して相関度を評価するので、このような主観的な変化の発生を抑制することができる。したがって、復号ポイントクラウドデータの主観画質の低減を抑制することができる。
【０３６８】
なお、以上において指標０乃至指標３について説明したが、適用する補正用指標の数は任意である。また、各指標の範囲の形状は、主観的な特徴を有する（見て分かる）ものであれば、任意であり、上述の例に限定されない。
【０３６９】
図３５に戻り、ステップＳ４２３において、コスト算出部４１３は、処理対象の組について、ステップＳ４０１（図３３）において算出された主観的な特徴量に基づいて、補正値を算出する。
【０３７０】
つまり、相関を算出するブロックが、ポイントクラウドデータ全体におけるどのような主観的特徴を有する部分に位置するかによって、相関度を評価する。
【０３７１】
例えば、相関を算出するブロックのテクスチャが所定の基準より細かい場合、分布パタンの違いが主観的により大きな影響を及ぼす（見た目の変化がより大きい）可能性が高いので、コスト算出部４１３が、相関度をより低く算出するように補正値を算出するようにしてもよい。例えば、その場合、コスト算出部４１３が、コスト値がより大きくなるように、正の値の補正値を設定するようにしてもよい。
【０３７２】
また例えば、相関を算出するブロックが色のピーク点を有する場合、分布パタンの違いが主観的により大きな影響を及ぼす（見た目の変化がより大きい）可能性が高いので、コスト算出部４１３が、相関度をより低く算出するように補正値を算出するようにしてもよい。例えば、相関を算出するブロックが周囲のボクセルに対してピークとなる色成分を有するボクセルを含む場合、コスト算出部４１３が、コスト値がより大きくなるように、正の値の補正値を設定するようにしてもよい。
【０３７３】
また例えば、相関を算出するブロックが、注目度がより高い領域のブロックである場合、分布パタンの違いが主観的により大きな影響を及ぼす（変化がより目立つ）可能性が高いので、コスト算出部４１３が、相関度をより低く算出するように補正値を算出するようにしてもよい。例えば、その場合、コスト算出部４１３が、コスト値がより大きくなるように、正の値の補正値を設定するようにしてもよい。
【０３７４】
また例えば、相関を算出するブロックが、ポイントクラウドで描画される３次元構造における人の顔部分に相当するブロックである場合、分布パタンの違いが主観的により大きな影響を及ぼす（変化がより目立つ）可能性が高いので、コスト算出部４１３が、相関度をより低く算出するように補正値を算出するようにしてもよい。例えば、その場合、コスト算出部４１３が、コスト値がより大きくなるように、正の値の補正値を設定するようにしてもよい。
【０３７５】
また例えば、相関を算出するブロックが、ポイントクラウドで描画される３次元構造におけるエッジ部分に相当するブロックである場合、分布パタンの違いが主観的により大きな影響を及ぼす（変化がより目立つ）可能性が高いので、コスト算出部４１３が、相関度をより低く算出するように補正値を算出するようにしてもよい。例えば、その場合、コスト算出部４１３が、コスト値がより大きくなるように、正の値の補正値を設定するようにしてもよい。
【０３７６】
さらに例えば、相関を算出するブロックが、ポイントクラウドで描画される３次元構造における面を構成する４点の少なくともいずれか１つを含むブロックである場合、コスト算出部４１３が、相関度をより低く算出するように補正値を算出するようにしてもよい。例えば、ポイントクラウドで描画される３次元構造における面において、４点を残しておけばその４点を用いてその面を復元することができる。したがって、ポイントクラウドで描画される３次元構造における面の部分において少なくとも４点が残るように、コスト算出部４１３が、正の値の補正値を設定するようにしてもよい。
【０３７７】
このようにすることにより、ブロックの主観的特徴に基づいてコスト値を補正することができるので、主観的な変化の発生を抑制することができる。したがって、復号ポイントクラウドデータの主観画質の低減を抑制することができる。
【０３７８】
なお、コスト算出部４１３が補正値を設定する主観的特徴は任意であり、上述した例に限定されない。また、コスト算出部４１３が補正値を設定する主観的特徴の数も任意である。また、コスト算出部４１３がこれらのような主観的特徴に対して設定する補正値の値は任意である。例えば、主観的特徴に応じた値が設定されるようにしてもよい。
【０３７９】
図３５に戻り、ステップＳ４２４において、コスト算出部４１３は、ステップＳ４２１乃至ステップＳ４２３のそれぞれにおいて算出した値を用いて、処理対象の組に対応する最終的なコスト値（最終コスト値）を算出する。つまり、コスト算出部４１３は、主観的特徴を考慮して最終コスト値を算出する。したがって、復号ポイントクラウドデータの主観画質の低減を抑制することができる。
【０３８０】
ステップＳ４２５において、コスト算出部４１３は、カレントブロックに対応する未処理の組が存在するか否かを判定する。未処理の組が存在すると判定された場合、未処理の組が新たな処理対象とされ、処理はステップＳ４２１に戻る。つまり、カレントブロックに対応する各組について、ステップＳ４２１乃至ステップＳ４２５の各処理が実行される。
【０３８１】
そして、ステップＳ４２５において、カレントブロックに対応する全ての組を処理したと判定された場合、処理はステップＳ４２６に進む。
【０３８２】
ステップＳ４２６において、コスト算出部４１３は、以上のようにして算出された各組の最終コスト値の中の最小値（コスト最小値）を求め、そのコスト最小値に対応する組を特定する。
【０３８３】
ステップＳ４２６の処理が終了すると、コスト算出処理が終了し、処理は図３３に戻る。
【０３８４】
＜ユニークパタンの設定＞
例えば、図１１を参照して説明したように、以上のように算出されたコスト値は、ユニークパタン設定部２０２に供給され、ユニークパタンの設定に利用される。例えば、コスト値が十分に小さい（分布パタンが一致または近似している）と判定された場合、ユニークパタン設定部２０２は、そのボクセルデータの組の分布パタンを用いて、ユニークパタンを設定する。
【０３８５】
その際のユニークパタンの設定方法は任意である。例えば、ユニークパタン設定部２０２は、存在頻度の高い分布パタンをユニークパタンとするようにしてもよい。例えば、図３８のＡに示されるように、ブロック４５１とブロック４５２とが、分布パタンが近似していると判定されたとする。ここで、ブロック４５２の分布パタンの方がブロック４５１の分布パタンよりも存在頻度が高いとすると、ユニークパタン設定部２０２は、図３８のＢに示されるように、ブロック４５２の分布パタンをユニークパタンに採用する。
【０３８６】
また、例えば、ユニークパタン設定部２０２は、分布パタンを所定の基準に基づいて評価し、その評価値（スコア）がより高い分布パタンをユニークパタンとするようにしてもよい。例えば、モデルとなる分布パタンを予め定めておき、そのモデルの分布パタンに最も近似する分布パタンをユニークパタンとするようにしてもよい。例えば、ブロック４５１の分布パタンがモデルの分布パタンに最も近似しているとすると、ユニークパタン設定部２０２は、図３８のＣに示されるように、ブロック４５１の分布パタンをユニークパタンに採用する。
【０３８７】
さらに、例えば、ユニークパタン設定部２０２は、各分布パタンを用いて所定の方法により導出される新たな分布パタンをユニークパタンとするようにしてもよい。例えば、ユニークパタン設定部２０２は、図３８のＤに示されるブロック４５３のように、ブロック４５１の分布パタンとブロック４５２の分布パタンを混合した新たな分布パタンをユニークパタンに採用する。
【０３８８】
このように相関度を算出した分布パタンを用いてユニークパタンを設定することにより、復号ポイントクラウドデータの主観画質の低減を抑制することができる。
【０３８９】
＜Early Termination＞
上述したコスト値算出処理は、算出した一部のコスト値に応じて、全てのコスト値を算出する前に終了するようにしてもよい。
【０３９０】
例えば、基本コスト関数を用いて算出したコスト値が所定の基準以上である場合、その組の分布パタンの相関性は低い（分布パタンが一致も近似もしない）と判定し、ペナルティ値や補正値の算出を省略するようにしてもよい。また、例えば、算出したペナルティ値が所定の基準以上である場合、その組の分布パタンの相関性は低い（分布パタンが一致も近似もしない）と判定し、補正値の算出を省略するようにしてもよい。
【０３９１】
また、例えば、カレントブロックについて、算出したある組についての最終コスト値が所定の基準以下である場合、その組の分布パタンの相関性が十分に高い（分布パタンが一致または近似する組である）と判定し、カレントブロックについては、その他の組のコスト値の算出を省略するようにしてもよい。
【０３９２】
＜コスト値算出処理の流れ＞
図３９のフローチャートを参照して、この場合の、図３３のステップＳ４０３において実行されるコスト算出処理の流れの例を説明する。
【０３９３】
コスト算出処理が開始されると、コスト算出部４１３は、ステップＳ４４１において、処理対象の組について、基本コスト関数を用いてコスト値を算出する。
【０３９４】
ステップＳ４４２において、コスト算出部４１３は、そのコスト値が予め定められた所定の閾値TH_MAX_0より小さいか否かを判定する。コスト値が予め定められた所定の閾値TH_MAX_0より小さいと判定された場合、処理はステップＳ４４３に進む。
【０３９５】
ステップＳ４４３において、コスト算出部４１３は、処理対象の組について、補正用指標を用いてペナルティ値を算出する。
【０３９６】
ステップＳ４４４において、コスト算出部４１３は、そのペナルティ値が予め定められた所定の閾値TH_MAX_1より小さいか否かを判定する。コスト値が予め定められた所定の閾値TH_MAX_1より小さいと判定された場合、処理はステップＳ４４５に進む。
【０３９７】
ステップＳ４４５において、コスト算出部４１３は、処理対象の組について、ステップＳ４０１（図３３）において算出された主観的な特徴量に基づいて、補正値を算出する。
【０３９８】
ステップＳ４４６において、コスト算出部４１３は、ステップＳ４４１、ステップＳ４４３、およびステップＳ４４５のそれぞれにおいて算出した値を用いて、処理対象の組に対応する最終的なコスト値（最終コスト値）を算出する。つまり、コスト算出部４１３は、主観的特徴を考慮して最終コスト値を算出する。したがって、復号ポイントクラウドデータの主観画質の低減を抑制することができる。
【０３９９】
ステップＳ４４７において、コスト算出部４１３は、その最終コスト値が予め定められた所定の閾値TH_MINより大きいか否かを判定する。最終コスト値が予め定められた所定の閾値TH_MINより小さいと判定された場合、処理はステップＳ４４９に進む。
【０４００】
また、ステップＳ４４２において、ステップＳ４４１において算出されたコスト値が閾値TH_MAX_0以上であると判定された場合、処理はステップＳ４４８に進む。また、ステップＳ４４４において、ステップＳ４４３において算出されたペナルティ値が閾値TH_MAX_1以上であると判定された場合、処理はステップＳ４４８に進む。
【０４０１】
ステップＳ４４８において、コスト算出部４１３は、処理対象の組について分布パタンの相関性無し（分布パタンが一致も近似もしない）と判定する。ステップＳ４４８の処理が終了すると処理はステップＳ４４９に進む。
【０４０２】
ステップＳ４４９において、コスト算出部４１３は、カレントブロックに対応する未処理の組が存在するか否かを判定する。未処理の組が存在すると判定された場合、未処理の組が新たな処理対象とされ、処理はステップＳ４４１に戻る。つまり、カレントブロックに対応する各組について、ステップＳ４４１乃至ステップＳ４４９の各処理が実行される。
【０４０３】
そして、ステップＳ４４９において、カレントブロックに対応する全ての組を処理したと判定された場合、処理はステップＳ４５０に進む。
【０４０４】
ステップＳ４５０において、コスト算出部４１３は、以上のようにして算出された各組の最終コスト値の中の最小値（コスト最小値）を求め、そのコスト最小値に対応する組を特定する。
【０４０５】
ステップＳ４５０の処理が終了すると、コスト算出処理が終了し、処理は図３３に戻る。
【０４０６】
また、ステップＳ４４７において、最終コスト値が閾値TH_MIN以下であると判定された場合、処理はステップＳ４５１に進む。
【０４０７】
ステップＳ４５１において、コスト算出部４１３は、その最終コスト値に対応する組について分布パタンの相関性が十分に高い（分布パタンが一致または近似する）と判定し、（全ての組の最終コスト値を算出する前に、）そのコスト値をコスト最小値とする。ステップＳ４５１の処理が終了すると、コスト算出処理が終了し、処理は図３３に戻る。
【０４０８】
このように算出したコスト値に応じて有益性の低い処理を適宜省略することにより、コスト値算出処理の処理量（処理時間）の増大を抑制することができる。
【０４０９】
＜相関演算の適用例＞
以上においては、信号列生成部１１４が図９に示される表のid = 1の行に示される方法によりボクセルデータを符号化する場合について説明したが、本技術を適用した相関演算は、相関演算を行う方法であれば、任意の方法でボクセルデータを符号化する場合にも適用することができる。
【０４１０】
例えば、本技術を適用した相関演算は、図９に示される表のid = 1乃至6のいずれの行に示される方法によってボクセルデータを符号化する場合にも、上述した例と同様に適用することができる。また、Octree符号化やDAG処理を併用する場合も上述した例と同様に適用することができる。さらに、予測残差を伝送する場合も上述した例と同様に適用することができる。
【０４１１】
また、以上においては、ポイントクラウドデータの符号化において、本技術を適用した相関演算を適用するように説明したが、上述した本技術を適用した相関演算は、相関演算を用いる任意の処理に適用することができる。
【０４１２】
例えば、ポイントクラウドの位置合わせにおいて行われる相関演算にも適用することができる。ポイントクラウドの位置合わせ（Registration）は、例えば、複数視点から撮影されたポイントクラウド（Point cloud）の合成や、時間方向に連続するポイントクラウドデータの合成等に用いられる。
【０４１３】
ポイントクラウドの位置合わせ（Registration）には、それぞれのポイントクラウドの位置情報の誤差が最小となるように、移動量を求める探索アルゴリズムが用いられる。この時に用いる誤差の指標として、本技術を適用した相関演算を適用してもよい。
【０４１４】
例えば、図４０のＡに示されるように、ポイントクラウド４７１とポイントクラウド４７２とを動かして両者の位置を図４０のＢの例のように揃えるように位置合わせを行う場合に、本技術を適用した相関演算を適用して、ウサギの胴体の表面形状が保たれるような指標を用いることで、主観的画質の低減を抑制することができる。
【０４１５】
＜画像処理装置＞
図４１は、本技術を適用した情報処理装置の一実施の形態である画像処理装置の主な構成例を示すブロック図である。図４１に示される画像処理装置５００は、ポイントクラウドデータ（またはボクセルデータ）同士の位置合わせ（Registration）を行う。その際、符号化装置１００は、本技術を適用した相関演算を行う。
【０４１６】
図４１に示されるように、画像処理装置は、位置設定部５０１、相関演算部５０２、および判定部５０３を有する。
【０４１７】
位置設定部５０１は、位置合わせを行う各ポイントクラウドデータの位置を設定する。
【０４１８】
相関演算部５０２は、位置設定部５０１により設定された位置関係において、位置合わせを行う各ポイントクラウドデータの分布パタンの相関性の強さ（相関度）をコスト値として算出する。
【０４１９】
判定部５０３は、相関演算部５０２により算出されたコスト値に基づいて、各ポイントクラウドデータが最も近づく位置を判定する。
【０４２０】
位置設定部５０１は、ポイントクラウドデータ（またはボクセルデータ）の位置を更新し、相関演算部５０２は、再度コスト値を算出する。位置設定部５０１および相関演算部５０２は、ポイントクラウドデータを移動させる全ての位置について、以上の処理を繰り返す。そして、判定部５０３は、各位置のコスト値から最小コスト値（つまり、ポイントクラウド同士が最も近づく位置）を求める。
【０４２１】
このような画像処理装置５００において、相関演算部５０２が、上述したような本技術を適用した相関演算を行って、ボクセルデータの値の分布パタンの主観的特徴に基づいて、比較対象のボクセルデータ間における前記分布パタンの相関度を算出することで、主観画質の低減を抑制しながら位置合わせを行うことができる。
【０４２２】
＜位置合わせ処理の流れ＞
このような画像処理装置５００により実行される位置合わせ処理の流れの例を図４２のフローチャートを参照して説明する。
【０４２３】
位置合わせ処理が開始されると、位置設定部５０１は、ステップＳ５０１において、位置合わせを行う各ポイントクラウドの位置を設定する。
【０４２４】
ステップＳ５０２において、相関演算部５０２は、比較対象のポイントクラウド同士の誤差（位置ずれの大きさ）について、図３２乃至図３９を参照して説明した場合と同様にして、コスト値を算出する。
【０４２５】
ステップＳ５０３において、位置設定部５０１は、ポイントクラウドを移動可能な全ての位置においてコスト値を算出したか否かを判定する。未処理の位置が存在すると判定された場合、処理はステップＳ５０１に戻る。つまり、ポイントクラウドを移動可能な全ての位置について、ステップＳ５０１乃至ステップＳ５０３の各処理が実行される。
【０４２６】
そしてステップＳ５０３において、全ての位置においてコスト値を算出したと判定された場合、処理はステップＳ５０４に進む。
【０４２７】
ステップＳ５０４において、判定部５０３は、相関演算部５０２により算出されたコスト値の中から、最小コスト値を求め、ポイントクラウド同士が最も近づく位置を特定する。
【０４２８】
ステップＳ５０４の処理が終了すると位置合わせ処理が終了する。
【０４２９】
以上のように、本技術を適用した相関演算を適用することにより、ボクセルデータの値の分布パタンの主観的特徴を考慮してコスト値を算出することができるので、主観画質の低減を抑制しながら位置合わせを行うことができる。
【０４３０】
＜５．その他＞
＜ソフトウエア＞
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。また、一部の処理をハードウエアにより実行させ、他の処理をソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【０４３１】
図４３は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０４３２】
図４３に示されるコンピュータ９００において、CPU（Central Processing Unit）９０１、ROM（Read Only Memory）９０２、RAM（Random Access Memory）９０３は、バス９０４を介して相互に接続されている。
【０４３３】
バス９０４にはまた、入出力インタフェース９１０も接続されている。入出力インタフェース９１０には、入力部９１１、出力部９１２、記憶部９１３、通信部９１４、およびドライブ９１５が接続されている。
【０４３４】
入力部９１１は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部９１２は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部９１３は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部９１４は、例えば、ネットワークインタフェースよりなる。ドライブ９１５は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア９２１を駆動する。
【０４３５】
以上のように構成されるコンピュータでは、CPU９０１が、例えば、記憶部９１３に記憶されているプログラムを、入出力インタフェース９１０およびバス９０４を介して、RAM９０３にロードして実行することにより、上述した一連の処理が行われる。RAM９０３にはまた、CPU９０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０４３６】
コンピュータ（CPU９０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア９２１に記録して適用することができる。その場合、プログラムは、リムーバブルメディア９２１をドライブ９１５に装着することにより、入出力インタフェース９１０を介して、記憶部９１３にインストールすることができる。また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部９１４で受信し、記憶部９１３にインストールすることができる。その他、このプログラムは、ROM９０２や記憶部９１３に、あらかじめインストールしておくこともできる。
【０４３７】
＜補足＞
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０４３８】
例えば、本技術は、装置またはシステムを構成するあらゆる構成、例えば、システムLSI（Large Scale Integration）等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等（すなわち、装置の一部の構成）として実施することもできる。
【０４３９】
なお、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０４４０】
また、上述した処理部は、その処理部について説明した機能を有するようにすれば、どのような構成により実現するようにしてもよい。例えば、処理部が、任意の回路、LSI、システムLSI、プロセッサ、モジュール、ユニット、セット、デバイス、装置、またはシステム等により構成されるようにしてもよい。また、それらを複数組み合わせるようにしてもよい。例えば、複数の回路、複数のプロセッサ等のように同じ種類の構成を組み合わせるようにしてもよいし、回路とLSI等のように異なる種類の構成を組み合わせるようにしてもよい。
【０４４１】
また、例えば、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。
【０４４２】
また、例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０４４３】
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能（機能ブロック等）を有し、必要な情報を得ることができるようにすればよい。
【０４４４】
また、例えば、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、１つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を１つのステップとしてまとめて実行することもできる。
【０４４５】
コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【０４４６】
本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【０４４７】
なお、本技術は以下のような構成も取ることができる。
（１）  ポイントクラウドデータを量子化したボクセルデータを、前記ボクセルデータの値の分布パタンの相関を利用して符号化した相関情報を生成する相関情報生成部と、
前記相関情報生成部により生成された前記相関情報を符号化し、前記相関情報を含むビットストリームを生成する符号化部と
を備える情報処理装置。
（２）  前記相関情報生成部は、前記ボクセルデータが表す空間の部分領域であるブロック毎に、前記ボクセルデータを符号化して前記相関情報を生成する
（１）に記載の情報処理装置。
（３）  前記相関情報生成部は、
処理対象のブロックであるカレントブロックのボクセルデータを、
ボクセルデータの値の分布パタンであって、前記ポイントクラウドデータを量子化したボクセルデータを用いて生成されたユニークパタンの内の、
前記カレントブロックのボクセルデータの値の分布パタンに一致または近似するユニークパタン
に割り当てられたインデックスに変換し、
前記インデックスを含む前記相関情報を生成する
（２）に記載の情報処理装置。
（４）  前記相関情報生成部は、
ユニークパタンとインデックスとの対応関係を示す情報を保持し、
前記情報に基づいて、前記カレントブロックのボクセルデータの値の分布パタンに一致または近似するユニークパタンに割り当てられたインデックスを特定し、
前記カレントブロックのボクセルデータを、特定した前記インデックスに変換する
（３）に記載の情報処理装置。
（５）  前記符号化部は、前記相関情報生成部が保持する前記情報を符号化し、前記ビットストリームに含める
（４）に記載の情報処理装置。
（６）  前記ポイントクラウドデータを量子化したボクセルデータを用いて生成されたユニークパタンにインデックスを割り当てるインデックス割り当て部をさらに備え、
前記相関情報生成部は、前記インデックス割り当て部が割り当てたユニークパタンとインデックスとの対応関係を示す情報を保持するように構成される
（４）または（５）に記載の情報処理装置。
（７）  ブロック間のボクセルデータの値の分布パタンの相関の強さを利用して前記分布パタンが一致または近似するかによってブロックを分類し、その分類結果に基づいてユニークパタンを設定するユニークパタン設定部をさらに備え、
前記インデックス割り当て部は、前記ユニークパタン設定部により設定されたユニークパタンにインデックスを割り当てるように構成される
（６）に記載の情報処理装置。
（８）  ブロック間のボクセルデータの値の分布パタンの相関の強さを算出する相関演算部をさらに備え、
前記ユニークパタン設定部は、前記相関演算部により算出された前記ブロック間の前記分布パタンの相関の強さを利用してブロックを分類し、その分類結果に基づいて前記ユニークパタンを設定するように構成され、
前記相関情報生成部は、その分類結果に基づいて、前記カレントブロックのボクセルデータの値の分布パタンに一致または近似するユニークパタンを特定するように構成される
（７）に記載の情報処理装置。
（９）  前記相関情報生成部は、
処理対象のブロックであるカレントブロックのボクセルデータを、
前記カレントブロックの周辺に位置する周辺ブロックの内の、
ボクセルデータの値の分布パタンが前記カレントブロックと一致または近似する周辺ブロック
の位置を示す情報である参照空間座標情報に変換し、
前記参照空間座標情報を含む前記相関情報を生成する
（２）乃至（８）のいずれかに記載の情報処理装置。
（１０）  前記参照空間座標情報は、前記周辺ブロックの絶対位置を示す情報である参照先空間座標情報を含む
（９）に記載の情報処理装置。
（１１）  前記参照空間座標情報は、前記周辺ブロックの前記カレントブロックに対する相対位置を示す情報である参照ベクトルを含む
（９）に記載の情報処理装置。
（１２）  ブロック間のボクセルデータの値の分布パタンの相関の強さに基づいて前記分布パタンが前記カレントブロックと一致または近似する前記周辺ブロックを特定し、特定した前記周辺ブロックに対応する前記参照空間座標情報を設定する参照空間座標情報設定部をさらに備え、
前記相関情報生成部は、前記カレントブロックのボクセルデータを、前記参照空間座標情報設定部により設定された前記参照空間座標情報に変換し、前記相関情報を生成するように構成される
（９）乃至（１１）のいずれかに記載の情報処理装置。
（１３）  ブロック間のボクセルデータの値の分布パタンの相関の強さを算出する相関演算部をさらに備え、
前記参照空間座標情報設定部は、前記相関演算部により算出された前記ブロック間の前記分布パタンの相関の強さに基づいて前記参照空間座標情報を設定するように構成される
（１２）に記載の情報処理装置。
（１４）  前記相関情報生成部は、
処理対象のブロックであるカレントブロックのボクセルデータを、
予め用意されたボクセルデータの値の分布パタンであるユニークパタンの内の、
前記カレントブロックのボクセルデータの値の分布パタンに一致または近似するユニークパタン
に割り当てられたインデックスに変換し、
前記インデックスを含む前記相関情報を生成する
（２）乃至（１３）のいずれかに記載の情報処理装置。
（１５）  前記相関情報生成部は、
ユニークパタンとインデックスとの対応関係を示す情報を保持し、
前記情報に基づいて、前記カレントブロックのボクセルデータの値の分布パタンに一致または近似するユニークパタンに割り当てられたインデックスを特定し、
前記カレントブロックのボクセルデータを、特定した前記インデックスに変換する
（１４）に記載の情報処理装置。
（１６）  前記カレントブロックのボクセルデータの値の分布パタンとユニークパタンとの相関の強さを算出する相関演算部をさらに備え、
前記相関情報生成部は、
前記相関演算部により算出された前記カレントブロックの前記分布パタンと前記ユニークパタンとの相関の強さに基づいて、前記カレントブロックのボクセルデータの値の分布パタンに一致または近似するユニークパタンを特定するように構成される
（１５）に記載の情報処理装置。
（１７）  前記相関情報生成部は、
処理対象のブロックであるカレントブロックのボクセルデータの値の分布パタンとの相関の強さを求める際の、参照先に対応するフレームを示す時間情報
を含む前記相関情報を生成する
（２）乃至（１６）のいずれかに記載の情報処理装置。
（１８）  前記相関情報生成部は、
処理対象のブロックであるカレントブロックのボクセルデータの値の分布パタンとの相関の強さを求める際の、参照先のボクセルデータの値の分布パタンの回転に関する情報、
および、前記参照先の前記分布パタンの反転に関する情報
の内の少なくとも一方を含む前記相関情報を生成する
（２）乃至（１７）のいずれかに記載の情報処理装置。
（１９）  前記相関情報生成部は、処理対象のブロックであるカレントブロックの周辺に位置する周辺ブロックの前記相関情報を用いて、前記カレントブロックの前記相関情報を生成する
（２）乃至（１８）のいずれかに記載の情報処理装置。
（２０）  ポイントクラウドデータを量子化したボクセルデータを、Octree符号化して階層化するOctree符号化部をさらに備え、
前記相関情報生成部は、前記Octree符号化部により階層化されたボクセルデータの最下位レベルのノードについて前記相関情報を生成するように構成され、
前記符号化部は、前記Octree符号化部により階層化されたボクセルデータの各ノードと、前記相関情報生成部により生成された前記相関情報とを含む信号列を符号化するように構成される
（２）乃至（１９）のいずれかに記載の情報処理装置。
（２１）  前記Octree符号化部により階層化されたボクセルデータの最下位レベルの１つ上のレベルから所定のレベルまでのノードを、自己相関を用いて符号化する有効指向性グラフ処理を行う有効指向性グラフ処理部をさらに備え、
前記符号化部は、前記有効指向性グラフ処理されたノードをさらに含む信号列を符号化するように構成される
（２０）に記載の情報処理装置。
（２２）  処理対象のブロックであるカレントブロックのボクセルデータの値の分布パタンと、前記カレントブロックの前記相関情報に対応するボクセルデータの値の分布パタンとの差分である予測残差を符号化する予測残差符号化部をさらに備え、
前記符号化部は、前記相関情報生成部により生成された前記相関情報と、前記予測残差符号化部により前記予測残差が符号化されて得られる係数データとを含む信号列を符号化するように構成される
（２）乃至（２１）のいずれかに記載の情報処理装置。
（２３）  前記符号化部は、前記相関情報生成部により前記相関情報が生成されたブロックの属性情報の符号化を省略する
（２）乃至（２２）のいずれかに記載の情報処理装置。
（２４）  前記符号化部は、前記相関情報生成部により前記相関情報が生成されたブロックの属性情報を、前記相関情報に対応する参照先の属性情報と同一の符号化方法で符号化する
（２）乃至（２３）のいずれかに記載の情報処理装置。
（２５）  前記符号化部は、前記相関情報生成部により前記相関情報が生成されたブロックの属性情報を、前記相関情報に対応する参照先の属性情報と同一のフィルタリング方法でフィルタリングする
（２）乃至（２４）のいずれかに記載の情報処理装置。
（２６）  ポイントクラウドデータを量子化したボクセルデータを、前記ボクセルデータの値の分布パタンの相関を利用して符号化した相関情報を生成し、
生成された前記相関情報を符号化し、前記相関情報を含むビットストリームを生成する
情報処理方法。
【０４４８】
（３１）    ポイントクラウドデータを量子化したボクセルデータを、前記ボクセルデータの値の分布パタンの相関を利用して符号化した相関情報
を含むビットストリームを復号し、前記相関情報を抽出する復号部と、
前記復号部により前記ビットストリームから抽出された前記相関情報に対応するボクセルデータを生成するボクセルデータ生成部と
を備える情報処理装置。
（３２）  前記復号部は、前記ボクセルデータが表す空間の部分領域であるブロック毎に設定された前記相関情報を抽出し、
前記ボクセルデータ生成部は、各ブロックの前記相関情報に基づいて、各ブロックのボクセルデータを生成する
（３１）に記載の情報処理装置。
（３３）  前記相関情報は、ボクセルデータの値の分布パタンであって、前記ポイントクラウドデータを量子化したボクセルデータを用いて生成されたユニークパタンの内の、処理対象のブロックであるカレントブロックのボクセルデータの値の分布パタンに一致または近似するユニークパタンに割り当てられたインデックスを含み、
前記ビットストリームは、さらに、ユニークパタンとインデックスとの対応関係を示す情報を含み、
前記復号部は、前記ビットストリームを復号し、前記相関情報および前記ユニークパタンとインデックスとの対応関係を示す情報を抽出するように構成され、
前記ボクセルデータ生成部は、前記復号部により前記ビットストリームより抽出された前記カレントブロックの前記相関情報のインデックスに対応するユニークパタンを、前記ユニークパタンとインデックスとの対応関係を示す情報を用いて特定し、特定した前記ユニークパタンを用いて、前記カレントブロックのボクセルデータを生成するように構成される
（３２）に記載の情報処理装置。
（３４）  前記相関情報は、処理対象のブロックであるカレントブロックの周辺に位置する周辺ブロックの内の、ボクセルデータの値の分布パタンが前記カレントブロックと一致または近似する周辺ブロックの位置を示す情報である参照空間座標情報を含み、
前記ボクセルデータ生成部は、前記復号部により前記ビットストリームより抽出された前記カレントブロックの前記相関情報に含まれる前記参照空間座標情報に対応する位置のブロックのボクセルデータを用いて、前記カレントブロックのボクセルデータを生成するように構成される
（３２）または（３３）に記載の情報処理装置。
（３５）  前記相関情報は、予め用意されたボクセルデータの値の分布パタンであるユニークパタンの内の、処理対象のブロックであるカレントブロックのボクセルデータの値の分布パタンに一致または近似するユニークパタンに割り当てられたインデックスを含み、
前記ボクセルデータ生成部は、前記復号部により前記ビットストリームより抽出された前記カレントブロックの前記相関情報に含まれるインデックスに対応するユニークパタンを特定し、特定した前記ユニークパタンを用いて、前記カレントブロックのボクセルデータを生成するように構成される
（３２）乃至（３４）のいずれかに記載の情報処理装置。
（３６）  前記相関情報は、処理対象のブロックであるカレントブロックのボクセルデータの値の分布パタンとの相関の強さを求める際の、参照先に対応するフレームを示す時間情報を含み、
前記ボクセルデータ生成部は、前記復号部により前記ビットストリームより抽出された前記カレントブロックの前記相関情報に含まれる前記時間情報に基づいて前記参照先に対応するフレームを特定するように構成される
（３２）乃至（３５）のいずれかに記載の情報処理装置。
（３７）  前記相関情報は、処理対象のブロックであるカレントブロックのボクセルデータの値の分布パタンとの相関の強さを求める際の、参照先のボクセルデータの値の分布パタンの回転に関する情報、および、前記参照先の前記分布パタンの反転に関する情報、の内の少なくともいずれか一方を含み、
前記ボクセルデータ生成部は、前記復号部により前記ビットストリームより抽出された前記カレントブロックの前記相関情報に含まれる前記回転に関する情報、および、前記反転に関する情報の内の少なくともいずれか一方に基づいて、参照先のボクセルデータの値の分布パタンに対して回転若しくは反転、またはその両方を行うように構成される
（３２）乃至（３６）のいずれかに記載の情報処理装置。
（３８）  前記ボクセルデータ生成部は、処理対象のブロックであるカレントブロックの周辺に位置する周辺ブロックの前記相関情報を用いて、前記カレントブロックの前記相関情報を生成し、生成した前記相関情報を用いて、前記カレントブロックのボクセルデータを生成する
（３２）乃至（３７）のいずれかに記載の情報処理装置。
（３９）  前記ビットストリームは、ポイントクラウドデータを量子化したボクセルデータがOctree符号化された、階層化されたボクセルデータの各ノードの係数データをさらに含み、
前記復号部は、前記ビットストリームを復号し、前記階層化されたボクセルデータの各ノードの係数データをさらに抽出するように構成され、
前記復号部により前記ビットストリームより抽出された前記階層化されたボクセルデータの各ノードをOctree復号するOctree復号部をさらに備える
（３２）乃至（３８）のいずれかに記載の情報処理装置。
（４０）  前記ビットストリームは、前記階層化されたボクセルデータの最下位レベルの１つ上のレベルから所定のレベルまでのノードに対して、自己相関を用いて符号化する有効指向性グラフ処理を行うことにより得られる有効指向性グラフデータをさらに含み、
前記復号部は、前記ビットストリームを復号し、前記有効指向性グラフデータをさらに抽出するように構成され、
前記復号部により前記ビットストリームより抽出された前記有効指向性グラフデータに対して、自己相関を用いて復号する有効指向性グラフ逆処理を行う有効指向性グラフ逆処理部をさらに備える
（３９）に記載の情報処理装置。
（４１）  前記ビットストリームは、ポイントクラウドデータを量子化したボクセルデータの値の分布パタンと前記相関情報に対応するボクセルデータの値の分布パタンとの差分である予測残差が符号化された係数データをさらに含み、
前記復号部は、前記ビットストリームを復号し、前記係数データをさらに抽出するように構成され、
前記復号部により前記ビットストリームより抽出された前記係数データを復号する予測残差復号部をさらに備え、
前記ボクセルデータ生成部は、前記復号部により前記ビットストリームより抽出された前記相関情報に対応するボクセルデータの値の分布パタンと、前記予測残差復号部により前記係数データが復号されて復元された前記予測残差とを用いて、ボクセルデータを生成する
（３２）乃至（４０）のいずれかに記載の情報処理装置。
（４２）  前記ボクセルデータ生成部は、前記復号部により前記ビットストリームより抽出された前記相関情報に対応する参照先の属性情報を用いて、処理対象のブロックであるカレントブロックの属性情報を復元する
（３２）乃至（４１）のいずれかに記載の情報処理装置。
（４３）  前記ボクセルデータ生成部は、前記復号部により前記ビットストリームより抽出された前記相関情報に対応する参照先の属性情報の符号化方法を用いて、処理対象のブロックであるカレントブロックの属性情報を復号する
（３２）乃至（４２）のいずれかに記載の情報処理装置。
（４４）  前記ボクセルデータ生成部は、前記復号部により前記ビットストリームより抽出された前記相関情報に対応する参照先の属性情報のフィルタリング方法を用いて、処理対象のブロックであるカレントブロックの属性情報をフィルタリングする
（３２）乃至（４３）のいずれかに記載の情報処理装置。
（４５）    ポイントクラウドデータを量子化したボクセルデータを、前記ボクセルデータの値の分布パタンの相関を利用して符号化した相関情報
を含むビットストリームを復号し、前記相関情報を抽出し、
前記ビットストリームから抽出された前記相関情報に対応するボクセルデータを生成する
情報処理方法。
【０４４９】
（１０１）  ポイントクラウドデータを量子化したボクセルデータの比較において、ボクセルデータの値の分布パタンの主観的特徴に基づいて、比較対象のボクセルデータ間における前記分布パタンの相関度を算出する相関度算出部
を備える情報処理装置。
（１０２）  前記相関度算出部は、前記ボクセルデータが表す空間の部分領域であるブロック毎に前記相関度を算出する
（１０１）に記載の情報処理装置。
（１０３）  前記相関度算出部は、
比較対象の全てのボクセルデータが所定の形状の前記分布パタンを有する場合、前記相関度をより高く算出し、
前記比較対象の少なくともいずれかのボクセルデータが前記所定の形状の前記分布パタンを有しない場合、前記相関度をより低く算出する
（１０２）に記載の情報処理装置。
（１０４）  前記所定の形状は、線または面である
（１０３）に記載の情報処理装置。
（１０５）  ポイントクラウドで描画される３次元構造の特徴量を算出する特徴量算出部をさらに備え、
前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、前記相関度を算出する
（１０２）乃至（１０４）のいずれかに記載の情報処理装置。
（１０６）  前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、テクスチャが所定の基準より細かいブロックにおいて、前記相関度をより低く算出する
（１０５）に記載の情報処理装置。
（１０７）  前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、周囲のボクセルに対してピークとなる色成分を有するボクセルを含むブロックにおいて、前記相関度をより低く算出する
（１０５）または（１０６）に記載の情報処理装置。
（１０８）  前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、注目度のより高い領域のブロックにおいて、前記相関度をより低く算出する
（１０５）乃至（１０７）のいずれかに記載の情報処理装置。
（１０９）  前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、ポイントクラウドで描画される３次元構造における人の顔部分に相当するブロックにおいて、前記相関度をより低く算出する
（１０５）乃至（１０８）のいずれかに記載の情報処理装置。
（１１０）  前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、ポイントクラウドで描画される３次元構造におけるエッジ部分に相当するブロックにおいて、前記相関度をより低く算出する
（１０５）乃至（１０９）のいずれかに記載の情報処理装置。
（１１１）  前記相関度算出部は、前記特徴量算出部により算出された前記特徴量に基づいて、ポイントクラウドで描画される３次元構造における面を構成する４点の少なくともいずれか１つを含むブロックにおいて、前記相関度をより低く算出する
（１０５）乃至（１１０）のいずれかに記載の情報処理装置。
（１１２）  前記相関度算出部は、コスト関数を用いて、比較対象のボクセルデータ間の相関についてのコスト値を算出し、算出した前記コスト値を、前記分布パタンの主観的特徴に基づいて補正することにより、比較対象のボクセルデータ間の相関度を算出する
（１０２）乃至（１１１）のいずれかに記載の情報処理装置。
（１１３）  前記コスト関数は、Hausdorff Distanceである
（１１２）に記載の情報処理装置。
（１１４）  前記コスト関数は、PSNR Point2Pointである
（１１２）または（１１３）に記載の情報処理装置。
（１１５）  前記コスト関数は、PSNR Point2Surfaceである
（１１２）乃至（１１４）のいずれかに記載の情報処理装置。
（１１６）  前記コスト関数は、Hamming Distanceである
（１１２）乃至（１１５）のいずれかに記載の情報処理装置。
（１１７）  処理対象のブロックであるカレントブロックと比較するボクセルデータを設定する設定部をさらに備え、
前記相関度算出部は、前記カレントブロックのボクセルデータと、前記設定部が設定した全てのボクセルデータとの間の相関度を算出する
（１０２）乃至（１１６）のいずれかに記載の情報処理装置。
（１１８）  前記設定部は、所定の空間的範囲内において、前記カレントブロックと比較するボクセルデータを設定する
（１１７）に記載の情報処理装置。
（１１９）  前記設定部は、階層化されたボクセルデータの処理対象の階層よりも上位の階層において、前記カレントブロックと比較するボクセルデータを設定する
（１１７）または（１１８）に記載の情報処理装置。
（１２０）  前記設定部は、予め定められた固定の代表的なパタンの前記分布パタンを有するボクセルデータを、前記カレントブロックと比較するボクセルデータとして設定する
（１１７）乃至（１１９）のいずれかに記載の情報処理装置。
（１２１）  前記設定部は、更新可能な代表的なパタンであるボクセルデータを、前記カレントブロックと比較するボクセルデータとして設定する
（１１７）乃至（１２０）のいずれかに記載の情報処理装置。
（１２２）  前記相関度算出部は、前記設定部が設定した各ボクセルデータについて複数の方法で前記相関度を順次算出し、いずれかの方法で算出した前記相関度が所定の基準よりも低いと判定された場合、比較した前記ボクセルデータの前記分布パタンは前記カレントブロックの前記分布パタンと一致および近似しないと判定し、前記ボクセルデータとの相関度の算出を中止する
（１１７）乃至（１２１）のいずれかに記載の情報処理装置。
（１２３）  前記相関度算出部は、前記設定部が設定した各ボクセルデータについて複数の方法で前記相関度を順次算出し、いずれかの方法で算出した前記相関度が所定の基準よりも高いと判定された場合、比較した前記ボクセルデータの前記分布パタンが前記カレントブロックの分布パタンと一致または最も近似すると判定し、前記カレントブロックについての相関度の算出を中止する
（１１７）乃至（１２２）のいずれかに記載の情報処理装置。
（１２４）  前記相関度算出部により算出された前記相関度に基づいて、前記比較対象のボクセルデータの前記分布パタン同士が一致または近似するかを判定し、一致または近似すると判定された場合、前記比較対象のボクセルデータのそれぞれの前記分布パタンと一致または近似する前記分布パタンであるユニークパタンを設定するユニークパタン設定部をさらに備える
（１０２）乃至（１２３）のいずれかに記載の情報処理装置。
（１２５）  前記ユニークパタン設定部は、前記比較対象のボクセルデータの内、存在頻度が最も高いボクセルデータの前記分布パタンを前記ユニークパタンとして設定する
（１２４）に記載の情報処理装置。
（１２６）  前記ユニークパタン設定部は、前記比較対象のボクセルデータの内、予め定められた所定の分布パタンに最も近似するボクセルデータの前記分布パタンを前記ユニークパタンとして設定する
（１２４）または（１２５）に記載の情報処理装置。
（１２７）  前記ユニークパタン設定部は、各比較対象のボクセルデータの前記分布パタンを用いて所定の方法により導出される新たな前記分布パタンを前記ユニークパタンとして設定する
（１２４）乃至（１２６）のいずれかに記載の情報処理装置。
（１２８）  前記相関度算出部により算出された前記相関度に基づいて前記比較対象のボクセルデータの位置を、互いに近づけるように設定する位置設定部をさらに備える
（１０２）乃至（１２７）のいずれかに記載の情報処理装置。
（１２９）  ポイントクラウドデータを量子化したボクセルデータの比較において、ボクセルデータの値の分布パタンの主観的特徴に基づいて、比較対象のボクセルデータ間における前記分布パタンの相関度を算出する
情報処理方法。
【符号の説明】
【０４５０】
１００  符号化装置，  １０１  制御部，  １１１  前処理部，  １１２  バウンディングボックス設定部，  １１３  ボクセル設定部，  １１４  信号列生成部，  １１５  符号化部，  ２０１  相関演算部，  ２０２  ユニークパタン設定部，  ２０３  インデックス割り当て部，  ２０４  相関情報生成部，  ２２１  相関演算部，  ２２２  参照空間座標情報設定部，  ２２３  相関情報生成部，  ２４１  相関演算部，  ２４２  相関情報生成部，  ２６１  Octree符号化部，  ２６２  DAG処理部，  ２８１  相関情報生成部，  ２８２  演算部，  ２８３  予測残差符号化部，  ３００  復号装置，  ３０１  復号部，  ３０２  ボクセルデータ生成部，  ３０３  ポイントクラウド化処理部，  ３２１  復号部，  ３２２  ボクセルデータ生成部，  ３４１  復号部，  ３４２  ボクセルデータ生成部，  ３６１  復号部，  ３６２  DAG逆処理部，  ３６３  Octree復号部，  ３６４  ボクセルデータ生成部，  ３８１  復号部，  ３８２  予測残差復号部，  ３８３  ボクセルデータ生成部，  ３９１  ユニークパタン生成部，  ３９２  演算部，  ４１１  特徴量算出部，  ４１２  相関演算組設定部，  ４１３  コスト算出部，  ５００  画像処理装置，  ５０１  位置設定部，  ５０２  コスト算出部，  ５０３  判定部，  ９００  コンピュータ
【図１】
2019065298.tif 000003
【図２】
2019065298.tif 000004
【図３】
2019065298.tif 000005
【図４】
2019065298.tif 000006
【図５】
2019065298.tif 000007
【図６】
2019065298.tif 000008
【図７】
2019065298.tif 000009
【図８】
2019065298.tif 000010
【図９】
2019065298.tif 000011
【図１０】
2019065298.tif 000012
【図１１】
2019065298.tif 000013
【図１２】
2019065298.tif 000014
【図１３】
2019065298.tif 000015
【図１４】
2019065298.tif 000016
【図１５】
2019065298.tif 000017
【図１６】
2019065298.tif 000018
【図１７】
2019065298.tif 000019
【図１８】
2019065298.tif 000020
【図１９】
2019065298.tif 000021
【図２０】
2019065298.tif 000022
【図２１】
2019065298.tif 000023
【図２２】
2019065298.tif 000024
【図２３】
2019065298.tif 000025
【図２４】
2019065298.tif 000026
【図２５】
2019065298.tif 000027
【図２６】
2019065298.tif 000028
【図２７】
2019065298.tif 000029
【図２８】
2019065298.tif 000030
【図２９】
2019065298.tif 000031
【図３０】
2019065298.tif 000032
【図３１】
2019065298.tif 000033
【図３２】
2019065298.tif 000034
【図３３】
2019065298.tif 000035
【図３４】
2019065298.tif 000036
【図３５】
2019065298.tif 000037
【図３６】
2019065298.tif 000038
【図３７】
2019065298.tif 000039
【図３８】
2019065298.tif 000040
【図３９】
2019065298.tif 000041
【図４０】
2019065298.tif 000042
【図４１】
2019065298.tif 000043
【図４２】
2019065298.tif 000044
【図４３】
2019065298.tif 000045
【国際調査報告】
2019065298.tif 000046
2019065298.tif 000047