(57)【要約】  本開示は、メッシュからポイントクラウドを生成する際の負荷の増大を抑制することができるようにする画像処理装置および方法に関する。メッシュの面と指定解像度に対応する位置座標を開始原点とするベクトルとの交差点にポイントを配置することによりポイントクラウドデータを生成する。例えば、メッシュの面とベクトルとの交差判定を行い、交差すると判定された場合、その交差点の座標を算出する。本開示は、例えば、画像処理装置、電子機器、画像処理方法、またはプログラム等に適用することができる。
2020071114.tif 000002
【特許請求の範囲】
【請求項１】
メッシュの面と指定解像度に対応する位置座標を開始原点とするベクトルとの交差点にポイントを配置することによりポイントクラウドデータを生成するポイントクラウド生成部
を備える画像処理装置。
【請求項２】
前記ポイントクラウド生成部は、
前記面と前記ベクトルとの交差判定を行い、
交差すると判定された場合、前記交差点の座標を算出する
請求項１に記載の画像処理装置。
【請求項３】
前記ポイントクラウド生成部は、互いに垂直な３軸方向の正負それぞれの向きの前記ベクトルと、前記面との交差判定を行う
請求項２に記載の画像処理装置。
【請求項４】
前記ポイントクラウド生成部は、複数の交差点の座標値が重複する場合、重複する交差点群の内、いずれか１つの交差点を残し、その他の交差点を削除する
請求項３に記載の画像処理装置。
【請求項５】
前記ポイントクラウド生成部は、前記開始原点が前記面の各頂点の範囲内に位置する前記ベクトルと、前記面との交差判定を行う
請求項２に記載の画像処理装置。
【請求項６】
前記ポイントクラウド生成部は、算出した前記交差点の座標がバウンディングボックスの外である場合、前記交差点の座標を前記バウンディングボックス内にクリップする
請求項２に記載の画像処理装置。
【請求項７】
前記ポイントクラウド生成部は、算出した前記交差点の座標がバウンディングボックスの外である場合、前記交差点を削除する
請求項２に記載の画像処理装置。
【請求項８】
前記ポイントクラウド生成部は、前記面の端部に対する交差判定の場合よりも疎な前記ベクトルを用いて、前記面の内部に対する交差判定を行う
請求項２に記載の画像処理装置。
【請求項９】
前記ポイントクラウド生成部は、前記ベクトルが複数の前記面と交差し、かつ、複数の前記面同士の間に空間が存在する場合、前記空間にポイントを追加する
請求項２に記載の画像処理装置。
【請求項１０】
前記ポイントクラウド生成部は、１つの前記面に対する複数の前記ベクトルのそれぞれの交差判定を、互いに並列に行う
請求項２に記載の画像処理装置。
【請求項１１】
前記ポイントクラウド生成部は、１つの前記ベクトルに対する複数の前記面のそれぞれの交差判定を、互いに並列に行う
請求項２に記載の画像処理装置。
【請求項１２】
前記ベクトルは、指定のボクセル解像度に対応する位置座標を開始原点とする
請求項２に記載の画像処理装置。
【請求項１３】
前記ベクトルは、指定のボクセル解像度の２のべき乗に対応する位置座標を開始原点とする
請求項２に記載の画像処理装置。
【請求項１４】
前記ベクトルの開始原点の互いに垂直な３軸方向の位置は、互いに独立している
請求項２に記載の画像処理装置。
【請求項１５】
前記ベクトルの開始原点の互いに垂直な３軸方向の間隔は、互いに独立している
請求項２に記載の画像処理装置。
【請求項１６】
前記ポイントクラウド生成部は、前記交差点に位置しないポイントを前記ポイントクラウドデータに含める
請求項２に記載の画像処理装置。
【請求項１７】
ボクセルデータから前記メッシュの形状を復元するメッシュ形状復元部をさらに備え、
前記ポイントクラウド生成部は、前記メッシュ形状復元部により復元された前記面と前記ベクトルとの交差点をポイントとして前記ポイントクラウドデータを生成する
請求項２に記載の画像処理装置。
【請求項１８】
ビットストリームを可逆復号してOctreeデータを生成する可逆復号部と、
前記可逆復号部により生成された前記Octreeデータを用いて前記ボクセルデータを生成するOctree復号部と
をさらに備え、
前記メッシュ形状復元部は、前記Octree復号部により生成された前記ボクセルデータから前記メッシュの形状を復元する
請求項１７に記載の画像処理装置。
【請求項１９】
ポイントクラウドデータの位置情報を符号化する位置情報符号化部と、
前記位置情報符号化部が前記位置情報を符号化する際に生成したOctreeデータを用いて前記ボクセルデータを生成するOctree復号部と
をさらに備える
請求項１７に記載の画像処理装置。
【請求項２０】
メッシュの面と指定解像度に対応する位置座標を開始原点とするベクトルとの交差点にポイントを配置することによりポイントクラウドデータを生成する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法に関し、特に、メッシュからポイントクラウドを生成する際の負荷の増大を抑制することができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
従来、例えばポイントクラウド（Point cloud）のような３次元構造を表す３Ｄデータの符号化方法として、例えばOctreeを用いた符号化があった（例えば非特許文献１参照）。【０００３】
近年、対象３Ｄオブジェクトをボクセル（Voxel）化した後、Octree符号化とメッシュ（Mesh）符号化（Triangle soup）を組み合わせて符号化することが提案された（例えば非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video",tcsvt_paper_submitted_february.pdf
【非特許文献２】Ohji Nakagami, Phil Chou, Maja Krivokuca, Khaled Mammou, Robert Cohen, Vladyslav Zakharchenko, Gaelle Martin-Cocher, "Second Working Draft for PCC Categories 1, 3",ISO/IEC JTC1/SC29/WG11, MPEG 2018/N17533, April 2018, San Diego, US
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の方法では、メッシュ（Mesh）からポイントクラウドを生成する際に、メッシュの面にポイントを密にサンプリングし、高密度のポイントクラウドを生成し、その後、入力と同程度の解像度のボクセルデータにリサンプリングしていた。そのため処理量も処理するデータ量も多く、メッシュからポイントクラウドを生成する際の負荷が増大するおそれがあった。【０００６】
本開示は、このような状況に鑑みてなされたものであり、メッシュからポイントクラウドを生成する際の負荷の増大を抑制することができるようにするものである。
【課題を解決するための手段】
【０００７】
本技術の一側面の画像処理装置は、メッシュの面と指定解像度に対応する位置座標を開始原点とするベクトルとの交差点にポイントを配置することによりポイントクラウドデータを生成するポイントクラウド生成部を備える画像処理装置である。【０００８】
本技術の一側面の画像処理方法は、メッシュの面と指定解像度に対応する位置座標を開始原点とするベクトルとの交差点にポイントを配置することによりポイントクラウドデータを生成する画像処理方法である。【０００９】
本技術の一側面の画像処理装置および方法においては、メッシュの面と指定解像度に対応する位置座標を開始原点とするベクトルとの交差点にポイントが配置されることによりポイントクラウドデータが生成される。
【図面の簡単な説明】
【００１０】
【図１】メッシュからポイントクラウドを生成するための処理について説明する図である。
【図２】メッシュからポイントクラウドを生成するための処理について説明する図である。
【図３】交差点の算出の様子の例を説明する図である。
【図４】ポイントクラウド生成装置の主な構成例を示すブロック図である。
【図５】ポイントクラウド生成処理の流れの例を説明するフローチャートである。
【図６】交差点導出の様子の例を説明する図である。
【図７】交差点導出の様子の例を説明する図である。
【図８】交差点導出の様子の例を説明する図である。
【図９】復号装置の主な構成例を示すブロック図である。
【図１０】復号処理の流れの例を説明するフローチャートである。
【図１１】符号化装置の主な構成例を示すブロック図である。
【図１２】符号化処理の流れの例を説明するフローチャートである。
【図１３】Triangle soupのスケーラブル化の様子の例を説明する図である。
【図１４】ポイント生成の様子の例を説明する図である。
【図１５】ポイント生成の様子の例を説明する図である。
【図１６】ポイント生成の様子の例を説明する図である。
【図１７】ポイント生成の様子の例を説明する図である。
【図１８】ポイント生成の様子の例を説明する図である。
【図１９】ポイントクラウド生成処理の流れの例を説明するフローチャートである。
【図２０】コンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．ポイントクラウドの生成
２．第１の実施の形態（ポイントクラウド生成装置）
３．第２の実施の形態（復号装置）
４．第３の実施の形態（符号化装置）
５．第４の実施の形態（Triangle soupのスケーラブル化）
６．付記
【００１２】
＜１．ポイントクラウドの生成＞
＜技術内容・技術用語をサポートする文献等＞
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
【００１３】
非特許文献１：（上述）
非特許文献２：（上述）
非特許文献３：TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU（International Telecommunication Union）, "Advanced video coding for generic audiovisual services", H.264, 04/2017
非特許文献４：TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU（International Telecommunication Union）, "High efficiency video coding", H.265, 12/2016
非特許文献５：Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
【００１４】
つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献４に記載されているQuad-Tree Block Structure、非特許文献５に記載されているQTBT（Quad Tree Plus Binary Tree） Block Structureが実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース（Parsing）、シンタックス（Syntax）、セマンティクス（Semantics）等の技術用語についても同様に、実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
【００１５】
＜ポイントクラウド＞
従来、点群の位置情報や属性情報等により３次元構造を表すポイントクラウド（Point cloud）や、頂点、エッジ、面で構成され、多角形表現を使用して３次元形状を定義するメッシュ（Mesh）等の３Ｄデータが存在した。
【００１６】
例えばポイントクラウドの場合、立体構造物（３次元形状のオブジェクト）を多数の点の集合（点群）として表現する。つまり、ポイントクラウドのデータ（ポイントクラウドデータとも称する）は、この点群の各点の位置情報や属性情報（例えば色等）により構成される。したがってデータ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
【００１７】
＜ボクセルを用いた位置情報の量子化＞
このようなポイントクラウドデータはそのデータ量が比較的大きいので、符号化等によるデータ量を圧縮するために、ボクセル（Voxel）を用いた符号化方法が考えられた。ボクセルは、符号化対象の位置情報を量子化するための３次元領域である。
【００１８】
つまり、ポイントクラウドを内包する３次元領域をボクセルと称する小さな３次元領域に分割し、そのボクセル毎に、ポイントを内包するか否かを示すようにする。このようにすることにより、各ポイントの位置はボクセル単位に量子化される。したがって、ポイントクラウド（Point cloud）データをこのようなボクセルのデータ（ボクセル（Voxel）データとも称する）に変換することにより、情報量の増大を抑制する（典型的には情報量を削減する）ことができる。
【００１９】
＜Octree＞
さらに、このようなボクセル（Voxel）データを用いてOctreeを構築することが考えられた。Octreeは、ボクセルデータを木構造化したものである。このOctreeの最下位のノードの各ビットの値が、各ボクセルのポイントの有無を示す。例えば、値「１」がポイントを内包するボクセルを示し、値「０」がポイントを内包しないボクセルを示す。Octreeでは、１ノードが８つのボクセルに対応する。つまり、Octreeの各ノードは、８ビットのデータにより構成され、その８ビットが８つのボクセルのポイントの有無を示す。
【００２０】
そして、Octreeの上位のノードは、そのノードに属する下位ノードに対応する８つのボクセルを１つにまとめた領域のポイントの有無を示す。つまり、下位ノードのボクセルの情報をまとめることにより上位ノードが生成される。なお、値が「０」のノード、すなわち、対応する８つのボクセルが全てポイントを内包しない場合、そのノードは削除される。
【００２１】
このようにすることにより、値が「０」でないノードからなる木構造（Octree）が構築される。つまり、Octreeは、各解像度のボクセルのポイントの有無を示すことができる。したがって、ボクセルデータをOctree化して符号化することにより、復号の際により多様な解像度のボクセルデータをより容易に復元することができる。つまり、より容易にボクセルのスケーラビリティを実現することができる。
【００２２】
また、上述のように値が「０」のノードを省略することにより、ポイントが存在しない領域のボクセルを低解像度化することができるので、さらなる情報量の増大の抑制（典型的には情報量の削減）を行うことができる。
【００２３】
＜OctreeとMeshの組み合わせ＞
近年、例えば非特許文献２に記載のように、対象３Ｄオブジェクトをボクセル（Voxel）化した後、Octree符号化とメッシュ（Mesh）符号化（Triangle soup）を組み合わせて符号化することが提案された。
【００２４】
例えば図１のＡに示されるように、Octreeデータが復号されてボクセル（Voxel）データが生成される。図１のＡの例では、ボクセル１１−１、ボクセル１１−２、ボクセル１１−３が生成される。
【００２５】
次に、例えば図１のＢに示されるように、そのボクセルデータからメッシュ（Mesh）形状（すなわちメッシュの面）が復元される。図１のＢの例では、ボクセル１１−１、ボクセル１１−２、ボクセル１１−３に基づいてメッシュの面１２が復元される。
【００２６】
次に、例えば図１のＣに示されるように、そのメッシュの面１２に1/(2*blockwidth)の解像度でポイント１３が配置される。なお、blockwidthとは、メッシュを含むバウンディングボックス（Bounding box）の最も長い辺を示す。
【００２７】
そして、例えば図１のＤに示されるように、ポイント１３を指定の解像度ｄで再度ボクセル化する。その際、メッシュデータ（面１２等）は除去される。つまり、メッシュデータから、所望の解像度のポイントクラウドデータを生成する際に、一旦高解像度にサンプリングされたポイント１３の解像度（ポイント数）を低減するようにリサンプリングが行われる。
【００２８】
しかしながら、このような方法では、サンプリングを２回行わなければならず、処理が冗長である。また、高密度のポイントクラウドをサンプリングするため、データ量が増大する。そのため、メッシュからポイントクラウドを生成する際の負荷が増大するおそれがあった。それにより、処理時間の増大や、メモリ等のリソース使用量が増大するおそれがあった。
【００２９】
＜ポイントクラウドの解像度制御＞
そこで、出力ポイントクラウドの解像度が、入力ポイントクラウドをボクセル化した解像度と同じであることを利用して、ボクセルの判定回数を限定することで高速にポイントクラウドを生成するようにする。
【００３０】
より具体的には、メッシュの面と指定解像度に対応する位置座標を開始原点とするベクトルとの交差点にポイントを配置することによりポイントクラウドデータを生成するようにする。
【００３１】
例えば、画像処理装置において、メッシュの面と指定解像度に対応する位置座標を開始原点とするベクトルとの交差点にポイントを配置することによりポイントクラウドデータを生成するポイントクラウド生成部を備えるようにする。
【００３２】
このようにすることにより、メッシュから１回の処理で入力解像度相当のボクセルデータを生成することができる。したがって、メッシュからポイントクラウドを生成する際の負荷の増大を抑制することができる。これにより、処理時間の増大や、メモリ等のリソース使用量の増大を抑制することができる。典型的には、処理時間を低減させ、メモリ等のリソース使用量を低減させることができる。また、より高速にポイントクラウドを生成することができる。
【００３３】
＜ポイントクラウドの導出＞
次に、このポイントクラウドの導出方法についてより具体的に説明する。まず、図２の例のように、符号化対象のデータを含むバウンディングボックス（Bounding box）の辺と、同じ方向および同じ長さを持つベクトルViを間隔k*dで生成する。図２においては、バウンディングボックス２１内に存在するメッシュの面２２に対して、矢印２３で示されるようなベクトルViが設定される。dは、バウンディングボックスをボクセル化する際の量子化サイズである。kは任意の自然数である。つまり、指定のボクセル解像度に対応する位置座標を開始原点とするベクトルViが設定される。
【００３４】
次に設定したベクトルVi（矢印２３）と、デコードしたメッシュの面２２（つまり三角Mesh）との交差判定を行う。ベクトルViと三角形の面２２とが交差する場合は、その交差点２４の座標値を計算する。
【００３５】
なお、このベクトルViの向きとして、互いに垂直なx, y, z各方向（バウンディングボックスの各辺に平行な方向）に対し、正負２つの向きを設定することができる。つまり、６種類の向きのベクトルViについて、それぞれ、交差判定を行うようにしてもよい。このように、より多くの向きで交差判定を行うことにより、より確実に交差点を検出することができる。
【００３６】
なお、ベクトルViの開始点は、三角Meshの３つの頂点の範囲内に限定するようにしてもよい。このようにすることにより、処理するベクトルViの数を低減させることができるので、負荷の増大を抑制することができる（例えば、処理をより高速化することができる）。
【００３７】
また、補助処理として、異なるベクトルまたはメッシュ（Mesh）により、交差点の座標値が重複した場合は、１点を残し削除を行うようにしてもよい。このように重複した点を除去することにより、不要な処理の増大を抑制し、負荷の増大を抑制することができる（例えば、処理をより高速化することができる）。
【００３８】
また、補助処理として、交差点の座標値がバウンディングボックス（Bounding box）の外側になった場合、クリップ（Clip）処理によりその交差点の位置をバウンディングボックス内にクリップする（移動させる）ようにしてもよい。また、その交差点を削除するようにしてもよい。
【００３９】
以上のように、求められた座標値を持つポイントを、デコード結果として出力する。つまり、求められた座標値にポイントが配置される。このようにすることにより、メッシュから１回の処理で入力解像度相当のボクセルデータを生成することができる。したがって、メッシュからポイントクラウドを生成する際の負荷の増大を抑制することができる。
【００４０】
＜交差判定および座標値算出＞
なお、交差判定および座標値算出の方法は任意である。例えば、図３のようにクラメルの公式を用いて求めるようにしてもよい。例えば、Pは交点座標、originはレイの座標、rayは方向ベクトル、t はスカラー値として、レイを通る交点を直線式で以下のように表す。
【００４１】
P = origin + ray * t
【００４２】
また、voは三角形の頂点座標、edge1は座標v1からv0を引いたベクトル、edge2も同じ要領で座標v2からv0を引いたベクトル。点Pはv0からベクトルedge1方向にu（スカラー値）とし、三角形上の交点をエッジのベクトルで以下のように表す。
【００４３】
P = v0 + edge1 * u + edge2 * v
【００４４】
この２つの式をつなげると、連立方程式になる。
【００４５】
origin + ray * t = v0 + edge1 * u + edge2 * v
【００４６】
整理すると以下のように表すことができる。
【００４７】
edge1 * u + edge2 * v ・ ray * t = origin ・ v0
【００４８】
このように３次元連立１次元方程式の形になるので、行列式としてクラメルの公式で機械的に計算することができる。
【００４９】
＜２．第１の実施の形態＞
＜ポイントクラウド生成装置＞
次に、以上のような処理を実現する構成について説明する。図４は、本技術を適用した画像処理装置の一態様であるポイントクラウド生成装置の構成の一例を示すブロック図である。図４に示されるポイントクラウド生成装置１００は、＜１．ポイントクラウドの生成＞において説明したように、メッシュからポイントクラウドを生成する装置である。
【００５０】
なお、図４においては、処理部やデータの流れ等の主なものを示しており、図４に示されるものが全てとは限らない。つまり、ポイントクラウド生成装置１００において、図４においてブロックとして示されていない処理部が存在したり、図４において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【００５１】
図４に示されるようにポイントクラウド生成装置１００は、ベクトル設定部１１１、交差判定部１１２、補助処理部１１３、および出力部１１４を有する。
【００５２】
ベクトル設定部１１１は、例えば＜ポイントクラウドの導出＞において上述したように、交差判定用のベクトルViを設定（生成）する。このベクトルViは、上述したように、符号化対象のデータを含むバウンディングボックスの辺と、同じ方向および同じ長さを持つベクトルである。ベクトル設定部１１１は、設定したベクトルViを示すベクトル情報を交差判定部１１２に供給する。
【００５３】
交差判定部１１２は、ポイントクラウド生成装置１００に入力されたメッシュ（Mesh）データを取得し、さらに、ベクトル設定部１１１から供給されるベクトル情報を取得する。交差判定部１１２は、例えば＜ポイントクラウドの導出＞や＜交差判定および座標値算出＞等において上述したように、取得したメッシュデータが示すメッシュの面と、ベクトル情報が示すベクトルViとの交差判定を行う。交差判定部１１２は、交差点が検出された場合、その座標値を算出する。交差判定部１１２は、算出した交差点の座標値（交差点座標）を、補助処理部１１３に供給する。
【００５４】
補助処理部１１３は、交差判定部１１２から供給される交差点座標を取得し、例えば＜ポイントクラウドの導出＞において上述したように、その交差点に対する補助処理を行う。補助処理部１１３は、必要に応じて補助処理を行った交差点座標を出力部１１４に供給する。
【００５５】
出力部１１４は、補助処理部１１３から供給された交差点座標をポイントクラウドデータ（の位置情報）としてポイントクラウド生成装置１００の外部に出力する。つまり、導出された交差点座標にポイントが配置されたポイントクラウドデータが生成され、出力される。
【００５６】
なお、これらの処理部（ベクトル設定部１１１乃至出力部１１４）は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU（Central Processing Unit）、ROM（Read Only Memory）、RAM（Random Access Memory）等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【００５７】
このような構成とすることにより、ポイントクラウド生成装置１００は、＜１．ポイントクラウドの生成＞において説明したような効果を得ることができる。例えば、メッシュから１回の処理で入力解像度相当のボクセルデータを生成することができる。したがって、ポイントクラウドデータ生成の負荷の増大を抑制することができる。したがって、例えば、より高速にポイントクラウドデータを生成することができる。また、例えば、ポイントクラウド生成装置１００の製造コストを低減させることができる。
【００５８】
＜ポイントクラウド生成処理の流れ＞
次に、このポイントクラウド生成装置１００により実行されるポイントクラウド生成処理の流れの例を、図５のフローチャートを参照して説明する。
【００５９】
ポイントクラウド生成処理が開始されると、交差判定部１１２は、ステップＳ１０１において、メッシュ（Mesh）データを取得する。
【００６０】
ステップＳ１０２において、ベクトル設定部１１１は、指定のボクセル（Voxel）解像度に対応する位置座標を開始原点とするベクトルVi（符号化対象のデータを含むバウンディングボックスの辺と、同じ方向および同じ長さを持つベクトル）を設定する。
【００６１】
ステップＳ１０３において、交差判定部１１２は、ステップＳ１０２において設定されたベクトルViと、ステップＳ１０１において取得したメッシュデータが示すメッシュの面（三角形）との交差判定を行う。
【００６２】
ステップＳ１０４において、交差判定部１１２は、ステップＳ１０３において検出された交差点の座標を算出する。
【００６３】
ステップＳ１０５において、補助処理部１１３は、重複する交差点を、１点を残して削除する。
【００６４】
ステップＳ１０６において、補助処理部１１３は、バウンディングボックス外の交差点を処理（例えば、クリップ処理したり、削除したり）する。
【００６５】
ステップＳ１０７において、出力部１１４は、以上のように求められた交差点の座標をポイントクラウドのデータ（位置情報）として出力する。
【００６６】
ステップＳ１０７の処理が終了すると、ポイントクラウド生成処理が終了する。
【００６７】
なお、以上の各処理は、＜１．ポイントクラウドの生成＞において上述した例と同様に行われる。したがって、以上の各処理を実行することにより、ポイントクラウド生成装置１００は、＜１．ポイントクラウドの生成＞において説明したような効果を得ることができる。例えば、メッシュから１回の処理で入力解像度相当のボクセルデータを生成することができる。したがって、ポイントクラウドデータ生成の負荷の増大を抑制することができる。したがって、例えば、より高速にポイントクラウドデータを生成することができる。また、例えば、ポイントクラウド生成装置１００の製造コストを低減させることができる。
【００６８】
＜面内部の交差点の低減＞
なお、以上のような交差判定において、面の端部に対する交差判定の場合よりも疎なベクトルViを用いて、面の内部に対する交差判定を行うようにしてもよい。例えば、図６の例のように、面２０１に対して、ベクトルVi２０２−１乃至ベクトルVi２０２−８を用いて交差判定を行うようにしてもよい。この例において、ベクトルVi２０２−１乃至ベクトルVi２０２−８の間隔は、ベクトルVi２０２−１乃至ベクトルVi２０２−３と、ベクトルVi２０２−６乃至ベクトルVi２０２−８が狭い。換言するに、ベクトルVi２０２−３乃至ベクトルVi２０２−６の間隔がその他ベクトルViの間隔に比べて広く設定されている。つまり、面２０１の端部に対する交差判定に用いられるベクトルVi２０２−１乃至ベクトルVi２０２−３、並びに、ベクトルVi２０２−６乃至ベクトルVi２０２−８の間隔が狭く設定され（密である）、面２０１の内部に対する交差判定に用いられるベクトルVi２０２−３乃至ベクトルVi２０２−６の間隔が広く設定されている（疎である）。
【００６９】
このように、三角形の内部では、わざと疎な幅でベクトルViの衝突判定を行う（開始原点の幅を粗くする）ことにより、内部において生成される点を少なくすることができる。したがって、ポイントクラウドの属性情報（色情報等）の符号化ビットレートの増大を抑制することができる。
【００７０】
＜交差判定の省略＞
また、一度交差判定を行った座標は２度計算しないようにしてもよい。例えば、図７の例のように、１つのベクトルVi２１１に対して、複数のメッシュの面（面２１２および面２１３）がある場合に、１つのベクトルVi２１１に対し、同時に交差判定をすることで、処理をより高速化することができる。
【００７１】
＜デノイズ処理の追加＞
また、図８に示されるように、１つのベクトルVi２２１が複数の三角形（面２２２および面２２３）と交わり、かつその三角形の間に空間がある場合、その空間にポイント（図中、黒点）を生成することで穴埋め（デノイズ）を行うようにしてもよい。このようにすることにより、より高精度なポイントクラウドを生成することができる。つまり、その表示画像の画質の低減を抑制することができる（典型的には、画質を向上させることができる）。
【００７２】
＜処理の並列化＞
なお、以上のような交差判定は、複数の処理を並列に行うようにしてもよい。例えば、メッシュの１つの面に対する複数のベクトルの交差判定を互いに並列に処理する（並行して処理を行う）ようにしてもよい。つまり、ベクトル毎に処理を独立に行うようにしてもよい。このようにすることにより、より高速に交差判定を行うことができる。
【００７３】
また、例えば、１つのベクトルに対する複数の面のそれぞれの交差判定を、互いに並列に処理する（並行して処理を行う）ようにしてもよい。つまり、メッシュの面毎に処理を独立に行うようにしてもよい。このようにすることにより、より高速に交差判定を行うことができる。
【００７４】
＜３．第２の実施の形態＞
＜復号装置＞
図９は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図９に示される復号装置３００は、後述する図１１の符号化装置５００に対応する復号装置であり、例えばこの符号化装置５００により生成されたビットストリームを復号し、ポイントクラウドのデータを復元する装置である。
【００７５】
なお、図９においては、処理部やデータの流れ等の主なものを示しており、図９に示されるものが全てとは限らない。つまり、復号装置３００において、図９においてブロックとして示されていない処理部が存在したり、図９において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【００７６】
図９に示されるように復号装置３００は、可逆復号部３１１、Octree復号部３１２、Mesh形状復元部３１３、Point cloud生成部３１４、およびAttribute復号部３１５を有する。
【００７７】
可逆復号部３１１は、復号装置３００に入力されるビットストリームを取得し、そのビットストリームを復号し、Octreeデータを生成する。可逆復号部３１１は、そのOctreeデータをOctree復号部３１２に供給する。
【００７８】
Octree復号部３１２は、可逆復号部３１１から供給されるOctreeデータを取得し、そのOctreeデータからOctreeを構築し、そのOctreeからボクセル（Voxel）データを生成する。Octree復号部３１２は、生成したボクセルデータをMesh形状復元部３１３に供給する。
【００７９】
Mesh形状復元部３１３は、Octree復号部３１２から供給されるボクセルデータを用いてメッシュ形状を復元する。Mesh形状復元部３１３は、生成したメッシュデータをPoint cloud生成部３１４に供給する。
【００８０】
Point cloud生成部３１４は、Mesh形状復元部３１３から供給されるメッシュデータから、ポイントクラウドデータを生成し、生成したポイントクラウドデータをAttribute復号部３１５に供給する。このPoint cloud生成部３１４は、ポイントクラウド生成装置１００（図４）と同様の構成を有し、同様の処理を行う。すなわち、Point cloud生成部３１４は、＜１．ポイントクラウドの生成＞や＜２．第１の実施の形態＞において上述したような方法により、メッシュデータからポイントクラウドデータを生成する。
【００８１】
したがって、Point cloud生成部３１４は、ポイントクラウド生成装置１００と同様の効果を得ることができる。例えば、Point cloud生成部３１４は、メッシュから１回の処理で入力解像度相当のボクセルデータを生成することができる。したがって、Point cloud生成部３１４は、ポイントクラウドデータ生成の負荷の増大を抑制することができる。したがって、Point cloud生成部３１４は、例えば、より高速にポイントクラウドデータを生成することができる。また、例えば、Point cloud生成部３１４の製造コストを低減させることができる。
【００８２】
Attribute復号部３１５は、属性情報の復号に関する処理を行う。例えば、Attribute復号部３１５は、Point cloud生成部３１４から供給されるポイントクラウドデータに対応する属性情報を復号する。そして、Attribute復号部３１５は、復号した属性情報をPoint cloud生成部３１４から供給されるポイントクラウドデータに含めて復号装置３００の外部に出力する。
【００８３】
なお、これらの処理部（可逆復号部３１１乃至Attribute復号部３１５）は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【００８４】
このような構成とすることにより、復号装置３００は、＜１．ポイントクラウドの生成＞や＜２．第１の実施の形態＞において説明したような効果を得ることができる。例えば、メッシュから１回の処理で入力解像度相当のボクセルデータを生成することができるので、復号装置３００は、ポイントクラウドデータ生成の負荷の増大を抑制することができる。したがって、例えば、復号装置３００は、より高速にポイントクラウドデータを生成することができる。また、例えば、復号装置３００の製造コストを低減させることができる。
【００８５】
＜復号処理の流れ＞
次に、図１０のフローチャートを参照して、復号装置３００により実行される復号処理の流れの例を説明する。
【００８６】
復号処理が開始されると、可逆復号部３１１は、ステップＳ３０１において、ビットストリームを取得する。
【００８７】
ステップＳ３０２において、可逆復号部３１１は、ステップＳ３０１において取得したビットストリームを可逆復号する。
【００８８】
ステップＳ３０３において、Octree復号部３１２は、Octreeを構築し、ボクセルデータを復元する。
【００８９】
ステップＳ３０４において、Mesh形状復元部３１３は、ステップＳ３０３において復元されたボクセルデータからメッシュ形状を復元する。
【００９０】
ステップＳ３０５において、Point cloud生成部３１４は、ポイントクラウド生成処理（図５）を実行し、＜１．ポイントクラウドの生成＞や＜２．第１の実施の形態＞において上述したような方法により、ステップＳ３０４において復元されたメッシュ形状からポイントクラウドを生成する。
【００９１】
ステップＳ３０６において、Attribute復号部３１５は、属性情報（Attribute）の復号を行う。
【００９２】
ステップＳ３０７において、Attribute復号部３１５は、ステップＳ３０６において復号した属性情報をポイントクラウドデータに含めて出力する。
【００９３】
ステップＳ３０７の処理が終了すると復号処理が終了する。
【００９４】
以上のように、各処理を実行することにより、復号装置３００は、＜１．ポイントクラウドの生成＞や＜２．第１の実施の形態＞において説明したような効果を得ることができる。
【００９５】
＜４．第３の実施の形態＞
＜符号化装置＞
図１１は、本技術を適用した画像処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図１１に示される符号化装置５００は、ポイントクラウドのような３Ｄデータをボクセル（Voxel）およびOctreeを用いて符号化する装置である。
【００９６】
なお、図１１においては、処理部やデータの流れ等の主なものを示しており、図１１に示されるものが全てとは限らない。つまり、符号化装置５００において、図１１においてブロックとして示されていない処理部が存在したり、図１１において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、符号化装置５００内の処理部等を説明する他の図においても同様である。
【００９７】
図１１に示されるように符号化装置５００は、Voxel生成部５１１、Geometry符号化部５１２、Geometry復号部５１３、Attribute符号化部５１４、およびビットストリーム生成部５１５を有する。
【００９８】
Voxel生成部５１１は、符号化装置５００に入力されるポイントクラウド（Point cloud）データを取得し、その取得したポイントクラウドデータを含む領域に対してバウンディングボックスを設定し、さらにそのバウンディングボックスを分割し、ボクセルを設定することにより、そのポイントクラウドデータの位置情報を量子化する。Voxel生成部５１１は、このようにして生成したボクセル（Voxel）データをGeometry符号化部５１２に供給する。
【００９９】
Geometry符号化部５１２は、Voxel生成部５１１から供給されるボクセルデータを符号化し、ポイントクラウドの位置情報を符号化する。Geometry符号化部５１２は、生成したポイントクラウドの位置情報の符号化データをビットストリーム生成部５１５に供給する。また、Geometry符号化部５１２は、ポイントクラウドの位置情報を符号化する際に生成されるOctreeデータをGeometry復号部５１３に供給する。
【０１００】
Geometry復号部５１３は、そのOctreeデータを復号して、ポイントクラウドの位置情報を生成する。Geometry復号部５１３は、生成したポイントクラウドデータ（位置情報）をAttribute符号化部５１４に供給する。
【０１０１】
Attribute符号化部５１４は、入力されるエンコードパラメータ（encode parameter）に基づいて、ポイントクラウドデータ（位置情報）に対応する属性情報を符号化する。Attribute符号化部５１４は、生成した属性情報の符号化データをビットストリーム生成部５１５に供給する。
【０１０２】
ビットストリーム生成部５１５は、Geometry符号化部５１２から供給される位置情報の符号化データと、Attribute符号化部５１４から供給される属性情報の符号化データとを含むビットストリームを生成し、符号化装置５００の外部に出力する。
【０１０３】
＜Geometry符号化部＞
Geometry符号化部５１２は、Octree生成部５２１、Mesh生成部５２２、および可逆符号化部５２３を有する。
【０１０４】
Octree生成部５２１は、Voxel生成部５１１から供給されるボクセルデータを用いてOctreeを構築し、Octreeデータを生成する。Octree生成部５２１は、生成したOctreeデータをMesh生成部５２２に供給する。
【０１０５】
Mesh生成部５２２は、Octree生成部５２１から供給されたOctreeデータを用いてメッシュデータを生成し、それを可逆符号化部５２３に供給する。また、Mesh生成部５２２は、OctreeデータをGeometry復号部５１３に供給する。
【０１０６】
可逆符号化部５２３は、Mesh生成部５２２から供給されるMeshデータを取得する。また、可逆符号化部５２３は、符号化装置５００の外部から入力されるエンコードパラメータを取得する。このエンコードパラメータは、適用する符号化のタイプを指定する情報であり、例えばユーザ操作により入力されたり、外部の装置等から供給されたりする。可逆符号化部５２３は、このエンコードパラメータにより指定されるタイプでメッシュデータを符号化し、位置情報の符号化データを生成する。可逆符号化部５２３は、その位置情報をビットストリーム生成部５１５に供給する。
【０１０７】
＜Geometry復号部＞
Geometry復号部５１３は、Octree復号部５３１、Mesh形状復元部５３２、およびPoint cloud生成部５３３を有する。
【０１０８】
Octree復号部５３１は、Geometry符号化部５１２から供給されたOctreeデータを復号し、ボクセルデータを生成する。Octree復号部５３１は、生成したボクセルデータをMesh形状復元部５３２に供給する。
【０１０９】
Mesh形状復元部５３２は、Octree復号部５３１から供給されたボクセルデータを用いてメッシュ形状を復元し、そのメッシュデータをPoint cloud生成部５３３に供給する。
【０１１０】
Point cloud生成部５３３は、Mesh形状復元部５３２から供給されるメッシュデータから、ポイントクラウドデータを生成し、生成したポイントクラウドデータをAttribute符号化部５１４に供給する。このPoint cloud生成部５３３は、ポイントクラウド生成装置１００（図４）と同様の構成を有し、同様の処理を行う。すなわち、Point cloud生成部５３３は、＜１．ポイントクラウドの生成＞や＜２．第１の実施の形態＞において上述したような方法により、メッシュデータからポイントクラウドデータを生成する。
【０１１１】
したがって、Point cloud生成部５３３は、ポイントクラウド生成装置１００と同様の効果を得ることができる。例えば、Point cloud生成部５３３は、メッシュから１回の処理で入力解像度相当のボクセルデータを生成することができる。したがって、Point cloud生成部５３３は、ポイントクラウドデータ生成の負荷の増大を抑制することができる。したがって、Point cloud生成部５３３は、例えば、より高速にポイントクラウドデータを生成することができる。また、例えば、Point cloud生成部５３３の製造コストを低減させることができる。
【０１１２】
なお、これらの処理部（Voxel生成部５１１乃至Attribute符号化部５１４、Octree生成部５２１乃至可逆符号化部５２３、並びに、Octree復号部５３１乃至Point cloud生成部５３３）は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【０１１３】
このような構成とすることにより、符号化装置５００は、＜１．ポイントクラウドの生成＞や＜２．第１の実施の形態＞において説明したような効果を得ることができる。例えば、メッシュから１回の処理で入力解像度相当のボクセルデータを生成することができるので、符号化装置５００は、ポイントクラウドデータ生成の負荷の増大を抑制することができる。したがって、例えば、符号化装置５００は、より高速にビットストリームを生成することができる。また、例えば、符号化装置５００の製造コストを低減させることができる。
【０１１４】
＜符号化処理の流れ＞
次に、図１２のフローチャートを参照して、符号化装置５００により実行される符号化処理の流れの例を説明する。
【０１１５】
符号化処理が開始されると、Voxel生成部５１１は、ステップＳ５０１において、ポイントクラウドデータを取得する。
【０１１６】
ステップＳ５０２において、Voxel生成部５１１は、そのポイントクラウドデータを用いてボクセルデータを生成する。
【０１１７】
ステップＳ５０３において、Octree生成部５２１は、そのボクセルデータを用いてOctreeを構築し、Octreeデータを生成する。
【０１１８】
ステップＳ５０４において、Mesh生成部５２２は、そのOctreeデータに基づいて、メッシュデータを生成する。
【０１１９】
ステップＳ５０５において、可逆符号化部５２３は、そのメッシュデータを可逆符号化し、ポイントクラウドの位置情報の符号化データを生成する。
【０１２０】
ステップＳ５０６において、Octree復号部５３１は、ステップＳ５０３において生成されたOctreeデータを用いてボクセルデータを復元する。
【０１２１】
ステップＳ５０７において、Mesh形状復元部５３２は、そのボクセルデータからMesh形状を復元する。
【０１２２】
ステップＳ５０８において、Point cloud生成部５３３は、ポイントクラウド生成処理（図５）を実行し、＜１．ポイントクラウドの生成＞や＜２．第１の実施の形態＞において上述したような方法により、そのメッシュ形状からポイントクラウドデータを生成する。
【０１２３】
ステップＳ５０９において、Attribute符号化部５１４は、そのポイントクラウドデータを用いて属性情報を符号化する。
【０１２４】
ステップＳ５１０において、ビットストリーム生成部５１５は、ステップＳ５０５において生成された位置情報の符号化データと、ステップＳ５０９において生成された属性情報の符号化データとを含むビットストリームを生成する。
【０１２５】
ステップＳ５１１において、ビットストリーム生成部５１５は、そのビットストリームを符号化装置５００の外部に出力する。
【０１２６】
ステップＳ５１１の処理が終了すると、符号化処理が終了する。
【０１２７】
以上のように、各処理を実行することにより、符号化装置５００は、＜１．ポイントクラウドの生成＞や＜２．第１の実施の形態＞において説明したような効果を得ることができる。
【０１２８】
＜５．第４の実施の形態＞
＜Triangle soupのスケーラブル化＞
以上においては、Triangle soupにおいて、指定のボクセル解像度に対応する位置座標を開始原点とするベクトルとメッシュの面との交差点にポイントが生成され、ポイントクラウドデータが生成されるように説明した。これに限らず、メッシュから任意の解像度でポイントクラウドデータの生成するようにしてもよい。
【０１２９】
例えば、図１３に示されるように、より低解像度の階層（LoD=0乃至2）にOctreeが適用され、それより高解像度の階層にはTriangle soupが適用されているとする。Octreeが適用された階層については、復号において解像度のスケーラビリティを実現する（どの階層の解像度でポイントクラウドデータを生成するかを選択する）ことができる。
【０１３０】
それより下位の階層については、ベクトルViの間隔d=1とすることにより、Triangle soupにより、LoD=4相当の解像度のポイントクラウドデータが得られる。例えば、図１３の場合、LoD=2相当のボクセル６０１（図中一番右のボクセル６０１）には、メッシュの１つの三角形状の面６０２が含まれている。
【０１３１】
そして、このボクセル６０１の各面を開始原点とし、その面に対して垂直なベクトルVi６０３が、このボクセル６０１の各辺を４等分する間隔（d=1）で設定される。図１３においては、１つの矢印にのみ符号を付しているが、ボクセル６０１内（ボクセル６０１の端を含む）の全ての矢印がベクトルVi６０３である。
【０１３２】
そして、このベクトルVi６０３とメッシュの面６０２との交差点に位置するポイント６０４が導出される。図１３においては、１つの点にのみ符号を付しているが、ボクセル６０１内（ボクセル６０１の端を含む）に示される全ての点がポイント６０４である。
【０１３３】
このようにすることにより、LoD=4相当の解像度のポイントクラウドデータが得られる。
【０１３４】
つまり、指定のボクセル解像度に対応する位置座標を開始原点とするベクトルViを設定することにより、最終解像度のポイントクラウドデータが得られる。最終解像度とは予め定められた最高解像度を示す。例えば、符号化・復号の場合、最高解像度は、Octreeやメッシュ等を用いて符号化する前のポイントクラウドデータの解像度の事を示す。
【０１３５】
ここで、このようにする代わりに、ベクトルVi６０３の間隔をd=2とする（つまり、ベクトルVi６０３の間隔を２倍に拡げる）と、図１３の右から２番目のボクセル６０１のようにポイント６０４（面６０２とベクトルVi６０３）が導出される。つまり、LoD=3相当の解像度のポイントクラウドデータが得られる。
【０１３６】
図１４は、説明の簡略化のために、ボクセル６０１の様子を平面で示したものである。ボクセル６０１内（ボクセル６０１の端も含む）の、ボクセル６０１の４辺のいずれかに平行な全ての実線および点線は、最終解像度（例えばLod=4）の間隔（d=1）のベクトルVi６０３を示している。これらのベクトルVi６０３とメッシュの面６０２との交差点に位置するポイント６０４が導出される。
【０１３７】
図１４において、実線で示されるベクトルVi６０３と、点線で示されるベクトルVi６０３とが交互に配置されている。つまり、実線で示されるベクトルVi６０３同士の間隔はd=2である。つまり、実線で示されるベクトルVi６０３は、最終解像度よりも１つ上の階層（例えばLod=3）のベクトルVi６０３である。このように、間隔dを拡げることにより、ベクトルVi６０３の数が低減するため、交差点に位置するポイント６０４の数も低減する。つまり、ポイントクラウドデータの解像度が低減する。
【０１３８】
以上のように、ベクトルViの間隔dによって、任意の解像度のポイントクラウドデータの導出が可能になる。したがって、Triangle soupの解像度のスケーラビリティの実現が可能になる。
【０１３９】
このベクトルViの間隔dは、任意の値を設定することができる。例えば、ベクトルViの間隔dが２のべき乗に設定されるようにしてもよい。このようにすることにより、Octreeの階層毎の解像度のスケーラビリティが実現される。つまり、Octreeの各階層に相当する解像度のポイントクラウドデータの導出が可能になる。例えば、Octreeの所望の階層（導出される階層）と最下位層（最終解像度の階層）との差分をL（Lは、非負整数）とすると、d=2Lとすることにより、その所望の階層に相当する解像度のポイントクラウドデータの導出が可能になる。
【０１４０】
なお、Lは、負の値であってもよい。Lが負の値に設定されることにより、最終解像度よりも高解像度のポイントクラウドデータの導出が可能になる。
【０１４１】
また、ベクトルViの間隔dの値は、２のべき乗以外であってもよい。ベクトルViの間隔dは、正の値であれば、整数であってもよいし、小数であってもよい。例えば、ベクトルViの間隔dの値が２のべき乗以外に設定されることにより、Octreeの階層に相当する解像度以外の解像度のポイントクラウドデータの導出が可能になる。例えば、ベクトルViの間隔dの値が３に設定されることにより、LoD=2とLoD=3の間の解像度のポイントクラウドデータが得られる。
【０１４２】
＜開始原点の位置の独立化＞
例えば、図１４の場合、図中縦方向のベクトルVi６０３も、図中横方向のベクトルVi６０３も、共に、図中に示される識別番号０、２、４、６、８のベクトルVi６０３が、１階層上位のベクトルVi６０３として採用されている。換言するに、１階層上位においては、図中に示される識別番号１、３、５、７のベクトルVi６０３（点線で示されるベクトルVi６０３）が間引かれている。
【０１４３】
このように１階層上位において採用されるベクトルVi６０３（換言するに、間引かれるベクトルVi６０３）が、そのベクトルVi６０３の方向毎（つまり、互いに垂直な３軸方向（x,y,z方向）毎）に、独立に設定されるようにしてもよい。換言するに、各ベクトルVi６０３の開始原点の、互いに垂直な３軸方向（x,y,z方向）の位置が、その方向毎に互いに独立していてもよい。
【０１４４】
例えば、図１５の場合、図中縦方向のベクトルVi６０３は、図中に示される識別番号１、３、５、７のベクトルVi６０３が、１階層上位のベクトルVi６０３として採用されている。これに対して、図中横方向のベクトルVi６０３は、図中に示される識別番号０、２、４、６、８のベクトルVi６０３が、１階層上位のベクトルVi６０３として採用されている。
【０１４５】
換言するに、１階層上位においては、図中に示される識別番号０、２、４、６、８の図中縦方向のベクトルVi６０３（点線で示されるベクトルVi６０３）が間引かれている。これに対して、１階層上位においては、図中に示される識別番号１、３、５、７の図中横方向のベクトルVi６０３（点線で示されるベクトルVi６０３）が間引かれている。
【０１４６】
このようにすることにより、導出されるポイントクラウドデータの解像度は変えずに、図１４の場合と異なる位置にポイント６０４を生成させることができる。
【０１４７】
＜開始原点の間隔の独立化＞
例えば、図１４や図１５の場合、１階層上位においては、図中縦方向のベクトルVi６０３も、図中横方向のベクトルVi６０３も、共に、半数のベクトルが間引かれている。つまり、ベクトルViの間隔dが、図中縦方向と横方向とで互いに同一である。
【０１４８】
このように１階層上位において採用されるベクトルVi６０３（換言するに、間引かれるベクトルVi６０３）の数が、そのベクトルVi６０３の方向毎（つまり、互いに垂直な３軸方向（x,y,z方向）毎）に、独立に設定されるようにしてもよい。換言するに、各ベクトルVi６０３の開始原点の、互いに垂直な３軸方向（x,y,z方向）の間隔が、その方向毎に互いに独立していてもよい。
【０１４９】
例えば、図１６の場合、実線で示されるベクトルVi６０３のみが採用されている（点線で示されるベクトルVi６０３が間引かれている）ものとすると、図中縦方向のベクトルVi６０３は、識別番号０乃至８の全てのベクトルVi６０３が採用されているのに対して、図中横方向のベクトルVi６０３は、図中に示される識別番号０、２、４、６、８のベクトルVi６０３のみが採用されている。つまり、図中縦方向のベクトルVi６０３と図中横方向のベクトルVi６０３とでその間隔が互いに異なっている。したがって、生成されるポイントの図中縦方向の間隔と図中横方向の間隔とが互いに異なる。つまり、図中縦方向と図中横方向とで、ポイントクラウドデータの解像度が互いに異なる。
【０１５０】
つまり、このようにすることにより、ベクトルVi６０３の方向毎（つまり、互いに垂直な３軸方向（x,y,z方向）毎）に互いに独立に、ポイントクラウドデータの解像度の設定が可能になる。
【０１５１】
＜交差点の一部においてポイント生成＞
なお、ベクトルViとメッシュの面との交差点の一部においてポイントを生成するようにしてもよい。換言するに、交差点であってもポイントを生成しなくてもよい。つまり、ポイントを生成する交差点の数を低減させることにより、ポイントクラウドの低解像度化を実現する（すなわち、解像度のスケーラビリティを実現する）ようにしてもよい。
【０１５２】
ポイントを生成する（またはポイントを生成しない）交差点の選択方法は任意である。例えば、図１７に示されるように、千鳥状に（３軸方向のそれぞれについて１つ置きの交差点において）ポイントを生成するようにしてもよい。
【０１５３】
このようにすることにより、ベクトルViの間隔（またはベクトルViの数）に依らずに解像度のスケーラビリティの実現が可能になる。
【０１５４】
＜ポイントの追加＞
ベクトルViとメッシュの面との交差点に位置しないポイントを生成し、ポイントクラウドデータに含めるようにしてもよい。例えば、図１８に示されるように、交差点でなくても、ベクトルVi上の、メッシュの面６０２（三角形）の各辺に近似する位置にポイント６１１を生成し、ポイントクラウドデータに含めるようにしてもよい。図１８において、１つの点のみ符号を付してあるが、白い丸で示されるポイントは全て上述のように生成されたポイント６１１である。
【０１５５】
なお、ポイントを生成する位置の判定方法（図１８の例の場合、各辺からの近似点の判定方法）は、任意である。
【０１５６】
このようにすることにより、交差点の位置に依存せずにポイントを追加することができるので、より容易に、所望の部分の解像度を向上させることができる。例えば、図１８の場合、面６０２の各辺の近似点をポイントクラウドデータに含めることにより、面６０２の各辺の周辺の解像度を、他の部分よりも向上させることができる。このようにすることにより、ポイントクラウドデータにおいて、面６０２の各辺の構成をより正確に表現することができる。したがって、メッシュにより表現する３次元構造を、ポイントクラウドデータにおいてもより正確に表現することができる。
【０１５７】
＜組み合わせ＞
本実施の形態において上述した各手法は、任意の複数の手法を組み合わせて適用することができる。また、本実施の形態において上述した各手法は、＜ポイントクラウドの生成＞において上述した任意の手法とも組み合わせて適用することができる。
【０１５８】
＜方法の選択＞
また、本明細書において上述した各手法の一部または全部の中から、所望の手法（またはその組み合わせ）が選択され、適用されるようにしてもよい。その場合、その選択方法は任意である。例えば、全ての適用パタンを評価し、最善を選択するようにしてもよい。このようにすることにより、３次元構造等に最も適した手法によりポイントクラウドデータを生成することができる。
【０１５９】
＜ポイントクラウド生成装置への適用＞
本実施の形態において上述した各手法も、＜１．ポイントクラウドの生成＞において説明した各手法と同様に、第１の実施の形態において上述したポイントクラウド生成装置１００に適用することができる。その場合のポイントクラウド生成装置１００の構成は、図４を参照して説明した場合と同様である。
【０１６０】
この場合の、ポイントクラウド生成装置１００により実行されるポイントクラウド生成処理の流れの例を、図１９のフローチャートを参照して説明する。
【０１６１】
ポイントクラウド生成処理が開始されると、交差判定部１１２は、ステップＳ６０１において、メッシュ（Mesh）データを取得する。
【０１６２】
ステップＳ６０２において、ベクトル設定部１１１は、ボクセルの各面の、例えばユーザ等により指定された解像度に対応する位置座標を開始原点とする、その各面に垂直な（ボクセルの各辺に平行な）ベクトルViを設定する。
【０１６３】
ステップＳ６０３において、交差判定部１１２は、ステップＳ６０２において設定されたベクトルViと、ステップＳ６０１において取得したメッシュデータが示すメッシュの面（三角形）との交差判定を行う。
【０１６４】
ステップＳ６０４乃至ステップＳ６０７の各処理は、ステップＳ１０４乃至ステップＳ１０７の各処理と同様に実行される。
【０１６５】
ステップＳ６０７の処理が終了すると、ポイントクラウド生成処理が終了する。
【０１６６】
なお、以上の各処理は、例えば本実施の形態において上述した例と同様に行われる。したがって、以上の各処理を実行することにより、ポイントクラウド生成装置１００は、例えば本実施の形態において説明したような効果を得ることができる。例えば、メッシュから１回の処理で任意の解像度のボクセルデータを生成することができる。つまり、ポイントクラウドデータの解像度のスケーラビリティを実現することができる。
【０１６７】
付言するに、ポイントクラウドデータ生成の負荷の増大を抑制することができる。したがって、例えば、より高速にポイントクラウドデータを生成することができる。また、例えば、ポイントクラウド生成装置１００の製造コストを低減させることができる。
【０１６８】
＜復号装置への適用＞
また、本実施の形態において上述した各手法は、＜１．ポイントクラウドの生成＞において説明した各手法と同様に、第２の実施の形態において上述した復号装置３００に適用することができる。その場合の復号装置３００の構成は、図９を参照して説明した場合と同様である。
【０１６９】
Point cloud生成部３１４が、本実施の形態において上述したポイントクラウド生成装置１００と同様の構成を有し、本実施の形態において上述したようにメッシュデータからポイントクラウドデータを生成する。
【０１７０】
したがって、Point cloud生成部３１４は、本実施の形態のポイントクラウド生成装置１００と同様の効果を得ることができる。例えば、Point cloud生成部３１４は、メッシュから１回の処理で任意の解像度のボクセルデータを生成することができる。つまり、ポイントクラウドデータの解像度のスケーラビリティを実現することができる。
【０１７１】
付言するに、Point cloud生成部３１４は、ポイントクラウドデータ生成の負荷の増大を抑制することができる。したがって、Point cloud生成部３１４は、例えば、より高速にポイントクラウドデータを生成することができる。また、例えば、Point cloud生成部３１４の製造コストを低減させることができる。
【０１７２】
なお、この場合、Attribute復号部３１５が、属性情報をスケーラブルに復号してもよい。つまり、属性情報についても解像度のスケーラビリティを実現してもよい。
【０１７３】
また、この場合の復号装置３００により実行される復号処理は、第２の実施の形態の場合（図１０）と同様の流れで実行される。したがって、復号装置３００は、本実施の形態において上述した効果（例えば、ポイントクラウド生成装置１００と同様の効果）を得ることができる。
【０１７４】
＜６．付記＞
＜コンピュータ＞
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【０１７５】
図２０は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１７６】
図２０に示されるコンピュータ９００において、CPU（Central Processing Unit）９０１、ROM（Read Only Memory）９０２、RAM（Random Access Memory）９０３は、バス９０４を介して相互に接続されている。
【０１７７】
バス９０４にはまた、入出力インタフェース９１０も接続されている。入出力インタフェース９１０には、入力部９１１、出力部９１２、記憶部９１３、通信部９１４、およびドライブ９１５が接続されている。
【０１７８】
入力部９１１は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部９１２は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部９１３は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部９１４は、例えば、ネットワークインタフェースよりなる。ドライブ９１５は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア９２１を駆動する。
【０１７９】
以上のように構成されるコンピュータでは、CPU９０１が、例えば、記憶部９１３に記憶されているプログラムを、入出力インタフェース９１０およびバス９０４を介して、RAM９０３にロードして実行することにより、上述した一連の処理が行われる。RAM９０３にはまた、CPU９０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１８０】
コンピュータ（CPU９０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア９２１に記録して適用することができる。その場合、プログラムは、リムーバブルメディア９２１をドライブ９１５に装着することにより、入出力インタフェース９１０を介して、記憶部９１３にインストールすることができる。
【０１８１】
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部９１４で受信し、記憶部９１３にインストールすることができる。
【０１８２】
その他、このプログラムは、ROM９０２や記憶部９１３に、あらかじめインストールしておくこともできる。
【０１８３】
＜本技術の適用対象＞
以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の３Ｄデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、３Ｄデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
【０１８４】
本技術は、任意の構成に適用することができる。例えば、本技術は、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機（例えばテレビジョン受像機や携帯電話機）、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置（例えばハードディスクレコーダやカメラ）などの、様々な電子機器に適用され得る。
【０１８５】
また、例えば、本技術は、システムLSI（Large Scale Integration）等としてのプロセッサ（例えばビデオプロセッサ）、複数のプロセッサ等を用いるモジュール（例えばビデオモジュール）、複数のモジュール等を用いるユニット（例えばビデオユニット）、または、ユニットにさらにその他の機能を付加したセット（例えばビデオセット）等、装置の一部の構成として実施することもできる。
【０１８６】
また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV（Audio Visual）機器、携帯型情報処理端末、IoT（Internet of Things）デバイス等の任意の端末に対して、画像（動画像）に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
【０１８７】
なお、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０１８８】
＜本技術を適用可能な分野・用途＞
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
【０１８９】
＜その他＞
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の２状態を識別する際に用いる情報だけでなく、３以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の２値であってもよいし、３値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、１bitでも複数bitでもよい。また、識別情報（フラグも含む）は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
【０１９０】
また、符号化データ（ビットストリーム）に関する各種情報（メタデータ等）は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る（リンクさせ得る）ようにすることを意味する。つまり、互いに関連付けられたデータは、１つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の記録媒体（または同一の記録媒体の別の記録エリア）に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、１フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【０１９１】
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを１つのデータにまとめるといった、複数の物を１つにまとめることを意味し、上述の「関連付ける」の１つの方法を意味する。
【０１９２】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１９３】
例えば、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。
【０１９４】
また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能（機能ブロック等）を有し、必要な情報を得ることができるようにすればよい。
【０１９５】
また、例えば、１つのフローチャートの各ステップを、１つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、１つのステップに複数の処理が含まれる場合、その複数の処理を、１つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、１つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を１つのステップとしてまとめて実行することもできる。
【０１９６】
また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【０１９７】
また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【０１９８】
なお、本技術は以下のような構成も取ることができる。
（１）  メッシュの面と指定解像度に対応する位置座標を開始原点とするベクトルとの交差点にポイントを配置することによりポイントクラウドデータを生成するポイントクラウド生成部
を備える画像処理装置。
（２）  前記ポイントクラウド生成部は、
前記面と前記ベクトルとの交差判定を行い、
交差すると判定された場合、前記交差点の座標を算出する
（１）に記載の画像処理装置。
（３）  前記ポイントクラウド生成部は、互いに垂直な３軸方向の正負それぞれの向きの前記ベクトルと、前記面との交差判定を行う
（２）に記載の画像処理装置。
（４）  前記ポイントクラウド生成部は、複数の交差点の座標値が重複する場合、重複する交差点群の内、いずれか１つの交差点を残し、その他の交差点を削除する
（３）に記載の画像処理装置。
（５）  前記ポイントクラウド生成部は、前記開始原点が前記面の各頂点の範囲内に位置する前記ベクトルと、前記面との交差判定を行う
（２）乃至（４）のいずれかに記載の画像処理装置。
（６）  前記ポイントクラウド生成部は、算出した前記交差点の座標がバウンディングボックスの外である場合、前記交差点の座標を前記バウンディングボックス内にクリップする
（２）乃至（５）のいずれかに記載の画像処理装置。
（７）  前記ポイントクラウド生成部は、算出した前記交差点の座標がバウンディングボックスの外である場合、前記交差点を削除する
（２）乃至（６）のいずれかに記載の画像処理装置。
（８）  前記ポイントクラウド生成部は、前記面の端部に対する交差判定の場合よりも疎な前記ベクトルを用いて、前記面の内部に対する交差判定を行う
（２）乃至（７）のいずれかに記載の画像処理装置。
（９）  前記ポイントクラウド生成部は、前記ベクトルが複数の前記面と交差し、かつ、複数の前記面同士の間に空間が存在する場合、前記空間にポイントを追加する
（２）乃至（８）のいずれかに記載の画像処理装置。
（１０）  前記ポイントクラウド生成部は、１つの前記面に対する複数の前記ベクトルのそれぞれの交差判定を、互いに並列に行う
（２）乃至（９）のいずれかに記載の画像処理装置。
（１１）  前記ポイントクラウド生成部は、１つの前記ベクトルに対する複数の前記面のそれぞれの交差判定を、互いに並列に行う
（２）乃至（１０）のいずれかに記載の画像処理装置。
（１２）  前記ベクトルは、指定のボクセル解像度に対応する位置座標を開始原点とする
（２）乃至（１１）のいずれかに記載の画像処理装置。
（１３）  前記ベクトルは、指定のボクセル解像度の２のべき乗に対応する位置座標を開始原点とする
（２）乃至（１２）のいずれかに記載の画像処理装置。
（１４）
前記ベクトルの開始原点の互いに垂直な３軸方向の位置は、互いに独立している
（２）乃至（１３）のいずれかに記載の画像処理装置。
（１５）  前記ベクトルの開始原点の互いに垂直な３軸方向の間隔は、互いに独立している
（２）乃至（１４）のいずれかに記載の画像処理装置。
（１６）  前記ポイントクラウド生成部は、前記交差点に位置しないポイントを前記ポイントクラウドデータに含める
（２）乃至（１５）のいずれかに記載の画像処理装置。
（１７）  ボクセルデータから前記メッシュの形状を復元するメッシュ形状復元部をさらに備え、
前記ポイントクラウド生成部は、前記メッシュ形状復元部により復元された前記面と前記ベクトルとの交差点をポイントとして前記ポイントクラウドデータを生成する
（２）乃至（１６）のいずれかに記載の画像処理装置。
（１８）  ビットストリームを可逆復号してOctreeデータを生成する可逆復号部と、
前記可逆復号部により生成された前記Octreeデータを用いて前記ボクセルデータを生成するOctree復号部と
をさらに備え、
前記メッシュ形状復元部は、前記Octree復号部により生成された前記ボクセルデータから前記メッシュの形状を復元する
（１７）に記載の画像処理装置。
（１９）  ポイントクラウドデータの位置情報を符号化する位置情報符号化部と、
前記位置情報符号化部が前記位置情報を符号化する際に生成したOctreeデータを用いて前記ボクセルデータを生成するOctree復号部と
をさらに備える
（１７）に記載の画像処理装置。
（２０）  メッシュの面と指定解像度に対応する位置座標を開始原点とするベクトルとの交差点にポイントを配置することによりポイントクラウドデータを生成する
画像処理方法。
【符号の説明】
【０１９９】
１００  ポイントクラウド生成装置，  １１１  ベクトル設定部，  １１２  交差判定部，  １１３  補助処理部，  １１４  出力部，  ３００  復号装置，  ３１１  可逆復号部，  ３１２  Octree復号部，  ３１３  Mesh形状復元部，  ３１４  Point cloud生成部，  ３１５  Attribute復号部，  ５００  符号化装置，  ５１１  Voxel生成部，  ５１２  Geometry符号化部，  ５１３  Geometry復号部，  ５１４  Attribute符号化部，  ５１５  ビットストリーム生成部，  ５２１  Octree生成部，  ５２２  Mesh生成部，  ５２３  可逆符号化部，  ５３１  Octree復号部，  ５３２  Mesh形状復元部，  ５３３  Point cloud生成部
【図１】
2020071114.tif 000003
【図２】
2020071114.tif 000004
【図３】
2020071114.tif 000005
【図４】
2020071114.tif 000006
【図５】
2020071114.tif 000007
【図６】
2020071114.tif 000008
【図７】
2020071114.tif 000009
【図８】
2020071114.tif 000010
【図９】
2020071114.tif 000011
【図１０】
2020071114.tif 000012
【図１１】
2020071114.tif 000013
【図１２】
2020071114.tif 000014
【図１３】
2020071114.tif 000015
【図１４】
2020071114.tif 000016
【図１５】
2020071114.tif 000017
【図１６】
2020071114.tif 000018
【図１７】
2020071114.tif 000019
【図１８】
2020071114.tif 000020
【図１９】
2020071114.tif 000021
【図２０】
2020071114.tif 000022
【国際調査報告】
2020071114.tif 000023
2020071114.tif 000024
2020071114.tif 000025
2020071114.tif 000026