本開示の一態様に係る三次元データ符号化方法は、点群データを符号化することで符号化データを生成し、前記符号化データを含むビットストリームを生成し、前記ビットストリームは、前記点群データに対応するセンサを示す第1情報を含む。
これによれば、三次元データ復号装置は、第1情報に用いて所望のセンサで得られた点群データを抽出できる。よって、当該三次元データ符号化方法は、適切に点群データを抽出できるビットストリームを生成できる。
例えば、前記第1情報は、点群データに含まれる複数の三次元点毎に生成され、対応する三次元点に対応するセンサを示す第2情報を含んでもよい。
例えば、前記点群データは、前記複数の三次元点の各々の位置情報と1以上の属性情報とを含み、前記第2情報は、前記1以上の属性情報の1つとして前記符号化データに含まれてもよい。
例えば、前記ビットストリームは、前記複数の三次元点に共通の第3情報を含み、前記第2情報は、センサの識別子であり、前記第3情報は、前記センサの識別と前記センサとの対応関係を示す第4情報を含んでもよい。
例えば、前記ビットストリームは、前記複数の三次元点に共通の第3情報を含み、前記第3情報は、前記センサ毎の三次元点の数を示してもよい。
例えば、前記点群データは、前記複数の三次元点の各々の位置情報と1以上の属性情報とを含み、前記第1情報は、前記1以上の属性情報の各々に対応するセンサを示してもよい。
例えば、前記三次元データ符号化方法は、さらに、第1センサに基づく第1点群データと、第2センサに基づく第2点群データとを合成することで、前記点群データを生成し、前記合成では、前記第1点群データと前記第2点群データとに同一の位置情報を有する第1の点の属性情報が含まれる場合、前記第1点群データに含まれる前記第1の点の属性情報と前記第2点群データに含まれる前記第1の点の属性情報とに基づく属性情報を合成後の属性情報として生成し、前記第1の情報は、前記点群データに含まれる前記第1の点の情報が前記第1センサ及び前記第2センサに基づくことを示してもよい。
例えば、前記点群データの符号化では、前記点群データを第1センサに基づく第1点群データと、前記第2センサに基づく第2点群データとに分割し、前記第1点群データ及び前記第2点群データを符号化することで前記符号化データを生成し、前記ビットストリームは、前記第1点群データ用の第1制御情報と、前記第2点群データ用の第2制御情報とを含み、前記第1情報は、(1)前記第1制御情報に含まれ、前記第1点群データに対応するセンサを示す情報と、(2)前記第2制御情報に含まれ、前記第2点群データに対応するセンサを示す情報と、を含んでもよい。
例えば、前記点群データの符号化では、前記点群データを第1センサに基づく第1点群データと、前記第2センサに基づく第2点群データとに分割し、前記第1点群データ及び前記第2点群データを符号化することで前記符号化データを生成し、前記ビットストリームは、前記第1点群データと前記第2点群データとに共通の制御情報を含み、前記第1情報は、前記制御情報に含まれてもよい。
本開示の一態様に係る三次元データ復号方法は、点群データが符号化されることで生成された符号化データを含み、かつ前記点群データに対応するセンサを示す第1情報を含むビットストリームを復号することで、前記第1情報及び前記点群データを取得する。
これによれば、当該三次元データ復号方法は、適切に点群データを抽出できるビットストリームを復号することで点群データを取得できる。
例えば、前記第1情報は、点群データに含まれる複数の三次元点毎に生成され、対応する三次元点に対応するセンサを示す第2情報を含んでもよい。
例えば、前記点群データは、前記複数の三次元点の各々の位置情報と1以上の属性情報とを含み、前記第2情報は、前記1以上の属性情報の1つとして前記符号化データに含まれてもよい。
例えば、前記ビットストリームは、前記複数の三次元点に共通の第3情報を含み、前記第2情報は、センサの識別子であり、前記第3情報は、前記センサの識別と前記センサとの対応関係を示す第4情報を含んでもよい。
例えば、前記ビットストリームは、前記複数の三次元点に共通の第3情報を含み、前記第3情報は、前記センサ毎の三次元点の数を示してもよい。
例えば、前記点群データは、前記複数の三次元点の各々の位置情報と1以上の属性情報とを含み、前記第1情報は、前記1以上の属性情報の各々に対応するセンサを示してもよい。
例えば、前記点群データは、第1センサに基づく第1点群データと、第2センサに基づく第2点群データとを合成することで生成され、前記合成では、前記第1点群データと前記第2点群データとに同一の位置情報を有する第1の点の属性情報が含まれる場合、前記第1点群データに含まれる前記第1の点の属性情報と前記第2点群データに含まれる前記第1の点の属性情報とに基づく属性情報が合成後の属性情報として生成され、前記第1の情報は、前記点群データに含まれる前記第1の点の情報が前記第1センサ及び前記第2センサに基づくことを示してもよい。
例えば、前記符号化データは、前記点群データが第1センサに基づく第1点群データと、前記第2センサに基づく第2点群データとに分割され、前記第1点群データ及び前記第2点群データが符号化されることで生成され、前記ビットストリームは、前記第1点群データ用の第1制御情報と、前記第2点群データ用の第2制御情報とを含み、前記第1情報は、(1)前記第1制御情報に含まれ、前記第1点群データに対応するセンサを示す情報と、(2)前記第2制御情報に含まれ、前記第2点群データに対応するセンサを示す情報と、を含んでもよい。
例えば、前記符号化データは、前記点群データが第1センサに基づく第1点群データと、前記第2センサに基づく第2点群データとに分割され、前記第1点群データ及び前記第2点群データが符号化されることで生成され、前記ビットストリームは、前記第1点群データと前記第2点群データとに共通の制御情報を含み、前記第1情報は、前記制御情報に含まれてもよい。
また、本開示の一態様に係る三次元データ符号化装置は、プロセッサと、メモリとを備え、前記プロセッサは、前記メモリを用いて、点群データを符号化することで符号化データを生成し、前記符号化データを含むビットストリームを生成し、前記ビットストリームは、前記点群データに対応するセンサを示す第1情報を含む。
これによれば、三次元データ復号装置は、第1情報に用いて所望のセンサで得られた点群データを抽出できる。よって、当該三次元データ符号化装置は、適切に点群データを抽出できるビットストリームを生成できる。
また、本開示の一態様に係る三次元データ復号装置は、プロセッサと、メモリとを備え、前記プロセッサは、前記メモリを用いて、点群データが符号化されることで生成された符号化データを含み、かつ前記点群データに対応するセンサを示す第1情報を含むビットストリームを復号することで、前記第1情報及び前記点群データを取得する。
これによれば、当該三次元データ復号装置は、適切に点群データを抽出できるビットストリームを復号することで点群データを取得できる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
まず、本実施の形態に係る三次元データ(点群データ)符号化復号システムの構成を説明する。図1は、本実施の形態に係る三次元データ符号化復号システムの構成例を示す図である。図1に示すように、三次元データ符号化復号システムは、三次元データ符号化システム4601と、三次元データ復号システム4602と、センサ端末4603と、外部接続部4604とを含む。
三次元データ符号化システム4601は、三次元データである点群データを符号化することで符号化データ又は多重化データを生成する。なお、三次元データ符号化システム4601は、単一の装置により実現される三次元データ符号化装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ符号化装置は、三次元データ符号化システム4601に含まれる複数の処理部のうち一部を含んでもよい。
三次元データ符号化システム4601は、点群データ生成システム4611と、提示部4612と、符号化部4613と、多重化部4614と、入出力部4615と、制御部4616とを含む。点群データ生成システム4611は、センサ情報取得部4617と、点群データ生成部4618とを含む。
センサ情報取得部4617は、センサ端末4603からセンサ情報を取得し、センサ情報を点群データ生成部4618に出力する。点群データ生成部4618は、センサ情報から点群データを生成し、点群データを符号化部4613へ出力する。
提示部4612は、センサ情報又は点群データをユーザに提示する。例えば、提示部4612は、センサ情報又は点群データに基づく情報又は画像を表示する。
符号化部4613は、点群データを符号化(圧縮)し、得られた符号化データと、符号化過程において得られた制御情報と、その他の付加情報とを多重化部4614へ出力する。付加情報は、例えば、センサ情報を含む。
多重化部4614は、符号化部4613から入力された符号化データと、制御情報と、付加情報とを多重することで多重化データを生成する。多重化データのフォーマットは、例えば蓄積のためのファイルフォーマット、又は伝送のためのパケットフォーマットである。
入出力部4615(例えば、通信部又はインタフェース)は、多重化データを外部へ出力する。または、多重化データは、内部メモリ等の蓄積部に蓄積される。制御部4616(またはアプリ実行部)は、各処理部を制御する。つまり、制御部4616は、符号化及び多重化等の制御を行う。
なお、センサ情報が符号化部4613又は多重化部4614へ入力されてもよい。また、入出力部4615は、点群データ又は符号化データをそのまま外部へ出力してもよい。
三次元データ符号化システム4601から出力された伝送信号(多重化データ)は、外部接続部4604を介して、三次元データ復号システム4602に入力される。
三次元データ復号システム4602は、符号化データ又は多重化データを復号することで三次元データである点群データを生成する。なお、三次元データ復号システム4602は、単一の装置により実現される三次元データ復号装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ復号装置は、三次元データ復号システム4602に含まれる複数の処理部のうち一部を含んでもよい。
三次元データ復号システム4602は、センサ情報取得部4621と、入出力部4622と、逆多重化部4623と、復号部4624と、提示部4625と、ユーザインタフェース4626と、制御部4627とを含む。
センサ情報取得部4621は、センサ端末4603からセンサ情報を取得する。
入出力部4622は、伝送信号を取得し、伝送信号から多重化データ(ファイルフォーマット又はパケット)を復号し、多重化データを逆多重化部4623へ出力する。
逆多重化部4623は、多重化データから符号化データ、制御情報及び付加情報を取得し、符号化データ、制御情報及び付加情報を復号部4624へ出力する。
復号部4624は、符号化データを復号することで点群データを再構成する。
提示部4625は、点群データをユーザに提示する。例えば、提示部4625は、点群データに基づく情報又は画像を表示する。ユーザインタフェース4626は、ユーザの操作に基づく指示を取得する。制御部4627(またはアプリ実行部)は、各処理部を制御する。つまり、制御部4627は、逆多重化、復号及び提示等の制御を行う。
なお、入出力部4622は、点群データ又は符号化データをそのまま外部から取得してもよい。また、提示部4625は、センサ情報などの付加情報を取得し、付加情報に基づいた情報を提示してもよい。また、提示部4625は、ユーザインタフェース4626で取得されたユーザの指示に基づき、提示を行ってもよい。
センサ端末4603は、センサで得られた情報であるセンサ情報を生成する。センサ端末4603は、センサ又はカメラを搭載した端末であり、例えば、自動車などの移動体、飛行機などの飛行物体、携帯端末、又はカメラなどがある。
センサ端末4603で取得可能なセンサ情報は、例えば、(1)LIDAR、ミリ波レーダ、又は赤外線センサから得られる、センサ端末4603と対象物との距離(位置情報)、色、又は対象物の反射率、(2)複数の単眼カメラ画像又はステレオカメラ画像から得られるカメラと対象物との距離(位置情報)、色又は対象物の反射率等である。また、センサ情報は、センサの姿勢、向き、ジャイロ(角速度)、位置(GPS情報又は高度)、速度、加速度、又はセンサ情報の取得時刻等を含んでもよい。また、センサ情報は、気温、気圧、湿度、又は磁気等を含んでもよい。
外部接続部4604は、集積回路(LSI又はIC)、外部蓄積部、インターネットを介したクラウドサーバとの通信、又は、放送等により実現される。
次に、点群データについて説明する。図2は、点群データの構成を示す図である。図3は、点群データの情報が記述されたデータファイルの構成例を示す図である。
点群データは、複数の点のデータを含む。各点のデータは、位置情報(三次元座標)、及びその位置情報に対する属性情報とを含む。この点が複数集まったものを点群と呼ぶ。例えば、点群は対象物(オブジェクト)の三次元形状を示す。
三次元座標等の位置情報(Position)をジオメトリ(geometry)と呼ぶこともある。また、各点のデータは、複数の属性種別の属性情報(attribute)を含んでもよい。属性種別は、例えば色又は反射率などである。
1つの位置情報に対して1つの属性情報が対応付けられてもよいし、1つの位置情報に対して複数の異なる属性種別を持つ属性情報が対応付けられてもよい。また、1つの位置情報に対して同じ属性種別の属性情報が複数対応付けられてもよい。
図3に示すデータファイルの構成例は、位置情報と属性情報とが1対1に対応する場合の例であり、点群データを構成するN個の点の位置情報と属性情報とを示している。
位置情報は、例えば、x、y、zの3軸の情報である。属性情報は、例えば、RGBの色情報である。代表的なデータファイルとしてplyファイルなどがある。
次に、点群データの種類について説明する。図4は、点群データの種類を示す図である。図4に示すように、点群データには、静的オブジェクトと、動的オブジェクトとがある。
静的オブジェクトは、任意の時間(ある時刻)の三次元点群データである。動的オブジェクトは、時間的に変化する三次元点群データである。以降、ある時刻の三次元点群データをPCCフレーム、又はフレームと呼ぶ。
オブジェクトは、通常の映像データのように、ある程度領域が制限されている点群であってもよいし、地図情報のように領域が制限されていない大規模点群であってもよい。
また、様々な密度の点群データがあり、疎な点群データと、密な点群データとが存在してもよい。
以下、各処理部の詳細について説明する。センサ情報は、LIDAR或いはレンジファインダなどの距離センサ、ステレオカメラ、又は、複数の単眼カメラの組合せなど様々な方法で取得される。点群データ生成部4618は、センサ情報取得部4617で得られたセンサ情報に基づき点群データを生成する。点群データ生成部4618は、点群データとして、位置情報を生成し、位置情報に、当該位置情報に対する属性情報を付加する。
点群データ生成部4618は、位置情報の生成又は属性情報の付加の際に、点群データを加工してもよい。例えば、点群データ生成部4618は、位置が重複する点群を削除することでデータ量を減らしてもよい。また、点群データ生成部4618は、位置情報を変換(位置シフト、回転又は正規化など)してもよいし、属性情報をレンダリングしてもよい。
なお、図1では、点群データ生成システム4611は、三次元データ符号化システム4601に含まれるが、三次元データ符号化システム4601の外部に独立して設けられてもよい。
符号化部4613は、点群データを予め規定された符号化方法に基づき符号化することで符号化データを生成する。符号化方法には大きく以下の2種類がある。一つ目は、位置情報を用いた符号化方法であり、この符号化方法を、以降、第1の符号化方法と記載する。二つ目は、ビデオコーデックを用いた符号化方法であり、この符号化方法を、以降、第2の符号化方法と記載する。
復号部4624は、符号化データを予め規定された符号化方法に基づき復号することで点群データを復号する。
多重化部4614は、符号化データを、既存の多重化方式を用いて多重化することで多重化データを生成する。生成された多重化データは、伝送又は蓄積される。多重化部4614は、PCC符号化データの他に、映像、音声、字幕、アプリケーション、ファイルなどの他のメディア、又は基準時刻情報を多重化する。また、多重化部4614は、さらに、センサ情報又は点群データに関連する属性情報を多重してもよい。
多重化方式又はファイルフォーマットとしては、ISOBMFF、ISOBMFFベースの伝送方式であるMPEG-DASH、MMT、MPEG-2 TS Systems、RMPなどがある。
逆多重化部4623は、多重化データからPCC符号化データ、その他のメディア、及び時刻情報などを抽出する。
入出力部4615は、多重化データを、放送又は通信など、伝送する媒体又は蓄積する媒体にあわせた方法を用いて伝送する。入出力部4615は、インターネット経由で他のデバイスと通信してもよいし、クラウドサーバなどの蓄積部と通信してもよい。
通信プロトコルとしては、http、ftp、TCP、UDP又はIPなどが用いられる。PULL型の通信方式が用いられてもよいし、PUSH型の通信方式が用いられてもよい。
有線伝送及び無線伝送のいずれが用いられてもよい。有線伝送としては、Ethernet(登録商標)、USB、RS-232C、HDMI(登録商標)、又は同軸ケーブルなどが用いられる。無線伝送としては、3GPPのIEEEで規定される3G/4G/5G、無線LAN、Wi-Fi(登録商標)、Bluetooth(登録商標)又はミリ波などが用いられる。
また、放送方式としては、例えばDVB-T2、DVB-S2、DVB-C2、ATSC3.0、又はISDB-S3などが用いられる。
図5は、第1の符号化方法の符号化を行う符号化部4613の例である第1の符号化部4630の構成を示す図である。図6は、第1の符号化部4630のブロック図である。第1の符号化部4630は、点群データを第1の符号化方法で符号化することで符号化データ(符号化ストリーム)を生成する。この第1の符号化部4630は、位置情報符号化部4631と、属性情報符号化部4632と、付加情報符号化部4633と、多重化部4634とを含む。
第1の符号化部4630は、三次元構造を意識して符号化を行うという特徴を有する。また、第1の符号化部4630は、属性情報符号化部4632が、位置情報符号化部4631から得られる情報を用いて符号を行うという特徴を有する。第1の符号化方法は、GPCC(Geometry based PCC)とも呼ばれる。
点群データは、PLYファイルのようなPCC点群データ、又は、センサ情報から生成されたPCC点群データであり、位置情報(Position)、属性情報(Attribute)、及びその他の付加情報(MetaData)を含む。位置情報は位置情報符号化部4631に入力され、属性情報は属性情報符号化部4632に入力され、付加情報は付加情報符号化部4633に入力される。
位置情報符号化部4631は、位置情報を符号化することで符号化データである符号化位置情報(Compressed Geometry)を生成する。例えば、位置情報符号化部4631は、8分木等のN分木構造を用いて位置情報を符号化する。具体的には、8分木では、対象空間が8個のノード(サブ空間)に分割され、各ノードに点群が含まれるか否かを示す8ビットの情報(オキュパンシー符号)が生成される。また、点群が含まれるノードは、さらに、8個のノードに分割され、当該8個のノードの各々に点群が含まれるか否かを示す8ビットの情報が生成される。この処理が、予め定められた階層又はノードに含まれる点群の数の閾値以下になるまで繰り返される。
属性情報符号化部4632は、位置情報符号化部4631で生成された構成情報を用いて符号化することで符号化データである符号化属性情報(Compressed Attribute)を生成する。例えば、属性情報符号化部4632は、位置情報符号化部4631で生成された8分木構造に基づき、処理対象の対象点(対象ノード)の符号化において参照する参照点(参照ノード)を決定する。例えば、属性情報符号化部4632は、周辺ノード又は隣接ノードのうち、8分木における親ノードが対象ノードと同一のノードを参照する。なお、参照関係の決定方法はこれに限らない。
また、属性情報の符号化処理は、量子化処理、予測処理、及び算術符号化処理のうち少なくとも一つを含んでもよい。この場合、参照とは、属性情報の予測値の算出に参照ノードを用いること、又は、符号化のパラメータの決定に参照ノードの状態(例えば、参照ノードに点群が含まれる否かを示す占有情報)を用いること、である。例えば、符号化のパラメータとは、量子化処理における量子化パラメータ、又は算術符号化におけるコンテキスト等である。
付加情報符号化部4633は、付加情報のうち、圧縮可能なデータを符号化することで符号化データである符号化付加情報(Compressed MetaData)を生成する。
多重化部4634は、符号化位置情報、符号化属性情報、符号化付加情報及びその他の付加情報を多重化することで符号化データである符号化ストリーム(Compressed Stream)を生成する。生成された符号化ストリームは、図示しないシステムレイヤの処理部へ出力される。
次に、第1の符号化方法の復号を行う復号部4624の例である第1の復号部4640について説明する。図7は、第1の復号部4640の構成を示す図である。図8は、第1の復号部4640のブロック図である。第1の復号部4640は、第1の符号化方法で符号化された符号化データ(符号化ストリーム)を、第1の符号化方法で復号することで点群データを生成する。この第1の復号部4640は、逆多重化部4641と、位置情報復号部4642と、属性情報復号部4643と、付加情報復号部4644とを含む。
図示しないシステムレイヤの処理部から符号化データである符号化ストリーム(Compressed Stream)が第1の復号部4640に入力される。
逆多重化部4641は、符号化データから、符号化位置情報(Compressed Geometry)、符号化属性情報(Compressed Attribute)、符号化付加情報(Compressed MetaData)、及び、その他の付加情報を分離する。
位置情報復号部4642は、符号化位置情報を復号することで位置情報を生成する。例えば、位置情報復号部4642は、8分木等のN分木構造で表される符号化位置情報から三次元座標で表される点群の位置情報を復元する。
属性情報復号部4643は、位置情報復号部4642で生成された構成情報に基づき、符号化属性情報を復号する。例えば、属性情報復号部4643は、位置情報復号部4642で得られた8分木構造に基づき、処理対象の対象点(対象ノード)の復号において参照する参照点(参照ノード)を決定する。例えば、属性情報復号部4643は、周辺ノード又は隣接ノードのうち、8分木における親ノードが対象ノードと同一のノードを参照する。なお、参照関係の決定方法はこれに限らない。
また、属性情報の復号処理は、逆量子化処理、予測処理、及び算術復号処理のうち少なくとも一つを含んでもよい。この場合、参照とは、属性情報の予測値の算出に参照ノードを用いること、又は、復号のパラメータの決定に参照ノードの状態(例えば、参照ノードに点群が含まれる否かを示す占有情報)を用いること、である。例えば、復号のパラメータとは、逆量子化処理における量子化パラメータ、又は算術復号におけるコンテキスト等である。
付加情報復号部4644は、符号化付加情報を復号することで付加情報を生成する。また、第1の復号部4640は、位置情報及び属性情報の復号処理に必要な付加情報を復号時に使用し、アプリケーションに必要な付加情報を外部に出力する。
次に、第2の符号化方法の符号化を行う符号化部4613の例である第2の符号化部4650について説明する。図9は、第2の符号化部4650の構成を示す図である。図10は、第2の符号化部4650のブロック図である。
第2の符号化部4650は、点群データを第2の符号化方法で符号化することで符号化データ(符号化ストリーム)を生成する。この第2の符号化部4650は、付加情報生成部4651と、位置画像生成部4652と、属性画像生成部4653と、映像符号化部4654と、付加情報符号化部4655と、多重化部4656とを含む。
第2の符号化部4650は、三次元構造を二次元画像に投影することで位置画像及び属性画像を生成し、生成した位置画像及び属性画像を既存の映像符号化方式を用いて符号化するという特徴を有する。第2の符号化方法は、VPCC(Video based PCC)とも呼ばれる。
点群データは、PLYファイルのようなPCC点群データ、又は、センサ情報から生成されたPCC点群データであり、位置情報(Position)、属性情報(Attribute)、及びその他の付加情報MetaData)を含む。
付加情報生成部4651は、三次元構造を二次元画像に投影することで、複数の二次元画像のマップ情報を生成する。
位置画像生成部4652は、位置情報と、付加情報生成部4651で生成されたマップ情報とに基づき、位置画像(Geometry Image)を生成する。この位置画像は、例えば、画素値として距離(Depth)が示される距離画像である。なお、この距離画像は、一つの視点から複数の点群を見た画像(一つの二次元平面に複数の点群を投影した画像)であってもよいし、複数の視点から複数の点群を見た複数の画像であってもよいし、これらの複数の画像を統合した一つの画像であってもよい。
属性画像生成部4653は、属性情報と、付加情報生成部4651で生成されたマップ情報とに基づき、属性画像を生成する。この属性画像は、例えば、画素値として属性情報(例えば色(RGB))が示される画像である。なお、この画像は、一つの視点から複数の点群を見た画像(一つの二次元平面に複数の点群を投影した画像)であってもよいし、複数の視点から複数の点群を見た複数の画像であってもよいし、これらの複数の画像を統合した一つの画像であってもよい。
映像符号化部4654は、位置画像及び属性画像を、映像符号化方式を用いて符号化することで、符号化データである符号化位置画像(Compressed Geometry Image)及び符号化属性画像(Compressed Attribute Image)を生成する。なお、映像符号化方式として、公知の任意の符号化方法が用いられてよい。例えば、映像符号化方式は、AVC又はHEVC等である。
付加情報符号化部4655は、点群データに含まれる付加情報、及びマップ情報等を符号化することで符号化付加情報(Compressed MetaData)を生成する。
多重化部4656は、符号化位置画像、符号化属性画像、符号化付加情報、及び、その他の付加情報を多重化することで符号化データである符号化ストリーム(Compressed Stream)を生成する。生成された符号化ストリームは、図示しないシステムレイヤの処理部へ出力される。
次に、第2の符号化方法の復号を行う復号部4624の例である第2の復号部4660について説明する。図11は、第2の復号部4660の構成を示す図である。図12は、第2の復号部4660のブロック図である。第2の復号部4660は、第2の符号化方法で符号化された符号化データ(符号化ストリーム)を、第2の符号化方法で復号することで点群データを生成する。この第2の復号部4660は、逆多重化部4661と、映像復号部4662と、付加情報復号部4663と、位置情報生成部4664と、属性情報生成部4665とを含む。
図示しないシステムレイヤの処理部から符号化データである符号化ストリーム(Compressed Stream)が第2の復号部4660に入力される。
逆多重化部4661は、符号化データから、符号化位置画像(Compressed Geometry Image)、符号化属性画像(Compressed Attribute Image)、符号化付加情報(Compressed MetaData)、及び、その他の付加情報を分離する。
映像復号部4662は、符号化位置画像及び符号化属性画像を、映像符号化方式を用いて復号することで、位置画像及び属性画像を生成する。なお、映像符号化方式として、公知の任意の符号化方式が用いられてよい。例えば、映像符号化方式は、AVC又はHEVC等である。
付加情報復号部4663は、符号化付加情報を復号することで、マップ情報等を含む付加情報を生成する。
位置情報生成部4664は、位置画像とマップ情報とを用いて位置情報を生成する。属性情報生成部4665は、属性画像とマップ情報とを用いて属性情報を生成する。
第2の復号部4660は、復号に必要な付加情報を復号時に使用し、アプリケーションに必要な付加情報を外部に出力する。
以下、PCC符号化方式について説明する。図13は、PCC符号化データに関わるプロトコルスタックを示す図である。図13には、PCC符号化データに、映像(例えばHEVC)或いは音声などの他のメディアのデータ、又はセンサ情報を多重し、伝送又は蓄積する例を示す。
多重化方式及びファイルフォーマットは、様々な符号化データを多重し、伝送又は蓄積するための機能を有している。符号化データを伝送又は蓄積するために、符号化データを多重化方式のフォーマットに変換する。例えば、HEVCでは、NALユニットと呼ばれるデータ構造に符号化データを格納し、NALユニットをISOBMFFに格納する技術が規定されている。
PCCにおいても同様の構成が想定される。センサ情報は、点群データとともに、PCC符号化される場合もあれば、別の符号化方法をもちいて符号化される場合、符号化されずに直接多重レイヤに格納される場合があり、それらを組み合わせることもできる。別の符号化方法とは、具体的には、別の三次元符号化方法、又は、点群データを二次元或いは一次元データに変換したデータを符号化する符号化方法である。
以下、センサ信号(センサ情報とも呼ぶ)から点群データを生成する構成の例を説明する。図14~図16は、それぞれセンサ信号から点群データを生成する点群データ生成装置の構成例を示す図である。
図14に示す点群データ生成装置は、1つのセンシングデバイス7301から得られるセンサ信号から点群データを生成する。図14に示す点群データ生成装置は、センシングデバイス7301と、センサ情報入力部7302と、点群データ生成部7303とを備える。センサ情報入力部7302は、センシングデバイス7301で得られたセンサ信号を取得する。点群データ生成部7303は、センサ情報入力部7302が取得したセンサ信号から点群データを生成する。生成された点群データは、例えば、後段の点群データを符号化部(図示せず)に出力される。
図15に示すように、2以上のセンシングデバイスから得られるセンサ信号に基づき点群データが生成されてもよい。図15に示す点群データ生成装置は、センシングデバイス7301A及び7301Bと、センサ情報入力部7302A及び7302Bと、点群データ生成部7303Aとを備える。センサ情報入力部7302Aは、センシングデバイス7301Aで得られた第1のセンサ信号を取得する。センサ情報入力部7302Bは、センシングデバイス7301Bで得られた第2のセンサ信号を取得する。点群データ生成部7303Aは、センサ情報入力部7302A及び7302Bが取得した2つのセンサ信号から点群データを生成する。生成された点群データは、例えば、後段の点群データを符号化部(図示せず)に出力される。
図16に示す点群データ生成装置は、センシングデバイス7301Cと、センサ情報入力部7302Cと、点群データ生成部7303Cとを備える。センシングデバイス7301Cは、2以上のセンシング方法を用いてセンシングされた2つの情報を所定の方法でマージしたセンサ信号を生成する。センシングデバイス7301Cは、センシング部7304A及び7304Bと、マージ部7305とを備える。
センシング部7304Aは、第1のセンシング方法により第1のセンサ信号を生成する。センシング部7304Bは、第2のセンシング方法により第2のセンサ信号を生成する。マージ部7305は、第1のセンサ信号と第2のセンサ信号とをマージし、生成したセンサ信号をセンサ情報入力部7302Cに出力する。
なお、マージ部7305は、所定の条件に基づき第1のセンサ信号と第2のセンサ信号との一方を選択し、選択したセンサ信号を出力してもよい。また、マージ部7305は、2つのセンサ信号をマージする場合は、マージに使用する重み係数を変化させてもよい。
例えば、マージ部7305は、いずれのセンサ信号を選択するかの判定を、取得したセンサ信号に基づき行ってもよいし、別のセンサ信号に基づき行ってもよい。
例えば、第1のセンシング方法と第2のセンシング方法とは、センサのパラメータが異なってもよいし、センシングの周波数又は機構が異なってもよい。また、センタ信号は、センシング方法又はセンシングの際のパラメータなどを示す情報を含んでもよい。
マージ部7305は、複数のセンシング方法を切り替える場合には、どのセンシング方法を用いたかを示す情報、又は切り替えの判定基準のデータをセンサ信号に含めてもよい。マージ部7305は、センサ信号をマージする場合には、マージしたセンシング方法を識別するための情報、マージの判定基準のデータ、又はマージ係数をセンサ信号に含めてもよい。
また、センシングデバイス7301Cは、複数のセンサ信号を出力してもよい。また、センシングデバイス7301Cは、複数のセンサ信号として、第1のセンサ信号の絶対値と、第1のセンサ信号と第2のセンサ信号との差分値とを出力してもよい。
また、センサ信号は、第1のセンシング方法と第2のセンシング方法との関係を示す情報を含んでもよい。例えば、センサ信号は、第1のセンシング方法と第2のセンシング方法との基準位置情報の絶対値、又は相対値を含んでもよいし、センサ信号の取得時間、基準時刻情報、又はセンサの角度を示す情報を含んでもよい。これらの情報がセンサ信号に含まれることで、後段の処理においてこれらの情報に基づき2つのセンサ信号の関係の補正又は合成が可能となる。
センサ情報入力部7302Cは、センシングデバイス7301Cで得られたセンサ信号を取得する。点群データ生成部7303Cは、センサ情報入力部7302Cが取得したセンサ信号から点群データを生成する。生成された点群データは、例えば、後段の点群データを符号化部(図示せず)に出力される。
このように、点群データ生成装置は、上記の様々なセンサ信号のうち、いずれか一つ又は2以上のセンサ信号に基づき点群データを生成する。なお、点群データ生成装置は、点群データの生成過程において点の位置情報又は属性情報を補正してもよい。
なお、点群データ生成装置は、図14~図16のいずれかに示す構成でもよいし、これらのうちの複数を組み合わせた構成であってもよい。また、点群データ生成装置は、固定的な方法を用いてもよいし、例えば、センシングの目的又はユースケースに応じて、用いる方法を適応的に変化させてもよい。
次に、本実施の形態に係る点群データ符号化システムの構成例を説明する。図17は、本実施の形態に係る点群データ符号化システムの構成例を示す図である。図17に示す点群データ符号化システムは、第1のデバイス7310と、第2のデバイス7320とを含む。
第1のデバイス7310は、センシング部7311と出力I/F(インタフェース)7312とを含む。第2のデバイス7320は、センシング部7321と、出力I/F7322と、入力I/F7323と、処理部7324とを含む。処理部7324は、点群データ生成部7325と、符号化部7326とを含む。
センシング部7311又は7321は、CPUなどで構成される処理部7324と同一のハードウェア又はデバイスに含まれてもよいし、異なるハードウェア又はデバイスに含まれてもよい。
センシング部7321は、処理部7324と同一のデバイス(第2のデバイス7320)に含まれる。この場合、センシング部7321の出力信号(RAWデータと呼ぶ)はそのまま点群データ生成部7325に入力される。
センシング部7311は、処理部7324と異なるデバイス(第1のデバイス7310)に含まれる。この場合、センシング部7311から出力されるRAWデータは、出力I/F7312において入出力フォーマット(外部出力フォーマット)に変換され、フォーマット化された信号が第2のデバイス7320へ入力される。第2のデバイス7320に含まれる入力I/F7323は、フォーマット化された信号をRAWデータに変換し、得られたRAWデータを点群データ生成部7325へ出力する。出力I/F7312及び入力I/F7323は、例えば、図1に示す多重化部4614及び入出力部4615の機能を有する。
また、処理部7324と同一デバイスに含まれるセンシング部7321からの出力信号(RAWデータ)を出力I/F7322で入出力フォーマットに変換し、入力I/F7323においてフォーマット化された信号をRAWデータに変換し、得られたRAWデータが点群データ生成部7325へ入力されてもよい。
また、複数のセンサ信号が入力される場合において、例えば、他のデバイスから入力されるセンサ信号と同一デバイスから入力されるセンサ信号とが混在する場合は、これらのセンサ信号が同一のフォーマットに変換されてもよい。また、変換の際、それぞれの信号には信号を特定できる識別子が付与されてもよい。例えば、UDP(User Datagram Protocol)を用いて送信が行われる場合、各信号は、IP(Internet Protocol)又はUDPの送信元アドレス又は送信元ポート番号で識別されてもよい。これにより、点群データ生成部7325へ入力されるフォーマットを統一できるので、信号の制御が容易となる。
点群データ生成部7325は、入力されたRAWデータを用いて点群データを生成する。符号化部7326は、生成された点群データを符号化する。
次に、本実施の形態に係る三次元データ多重化装置(三次元データ多重化システム)の構成例を説明する。図18は、本実施の形態に係る三次元データ多重化装置の構成例を示す図である。三次元データ多重化装置は、様々なセンサ信号を符号化及び多重化することで出力信号を生成し、生成された出力信号を蓄積又は伝送する。
図18に示すように三次元データ多重化装置は、センシング部7331A、7331B及び7331Cと、センサ情報入力部7332A、7332B及び7332Cと、点群データ生成部7333A及び7333Bと、符号化部7334A及び7334Bと、同期部7335と、多重化部7336とを備える。ここでは3つのセンシング部が用いられる例を示すが、センシング部の数はこれに限定されない。また、各センシング部からセンサ信号の処理方法についても下記の処理方法の任意の組み合わせを用いることができる。
センサ情報入力部7332Aは、センシング部7331Aでセンシングにより生成された第1のセンサ信号を取得する。センサ情報入力部7332Bは、センシング部7331Bでセンシングにより生成された第2のセンサ信号を取得する。センサ情報入力部7332Cは、センシング部7331Cでセンシングにより生成された第3のセンサ信号を取得する。
点群データ生成部7333Aは、第1のセンサ信号から第1の点群データを生成する。点群データ生成部7333Bは、第2のセンサ信号から第2の点群データを生成する。このとき、センシング部7331Aとセンシング部7331Bとで用いられるセンシング方法の違い(例えば、方向、範囲、取得可能な属性、周波数、分解能等、方法、又は手段)により、生成される点群データにおける点の数、点の範囲、属性情報が異なる場合がある。
符号化部7334Aは、第1の点群データを符号化することで第1の符号化データを生成する。符号化部7334Bは、第2の点群データを符号化することで第2の符号化データを生成する。例えば、符号化部7334Aと符号化部7334Bとは、互いに異なる符号化方法を適用する。例えば、符号化部7334Aは第1の符号化方式を用い、符号化部7334Bは第1の符号化方式と異なる第2の符号化方式を用いてもよい。なお、符号化部7334Aと符号化部7334Bとは、同一の符号化方式を用いてもよい。
符号化部7334A及び7334Bは、点群データにおける点の位置情報又は属性情報をエントロピー符号化などを用いて圧縮してもよい。また、符号化部7334A及び7334Bは、センサ信号、センサの位置情報或いは角度情報、又は時刻情報などをメタデータとして格納してもよい。
符号化部7334A及び7334Bは、点群データに適した符号化方式を用いる。例えば、第1の符号化方式は、地図情報又は静止コンテンツで高い符号化率を期待できる符号化方式であり、第2の符号化方式は、AR又はVRのようなコンテンツで高い符号化率を期待できる符号化方式である。この場合、符号化部7334A及び7334Bは、コンテンツに適した符号化方式を用いてもよい。
あるいは、例えば、第1の符号化方式は、ビームLiDARのようなセンシング部でセンシングされた情報に基づく点群に対して高い符号化率を期待できる符号化方式であり、第2の符号化方式は、FLASH LiDARのようなセンシング部でセンシングされた情報に基づく点群に対して高い符号化率を期待できる符号化方式である。この場合、符号化部7334A及び7334Bは、センシング部に適した符号化方式を用いてもよい。
また、符号化部7334A及び7334Bは、符号化方式を変更するのではなく、同一の符号化方式においてコンテンツ又はセンシング部に適した符号化ツール又は符号化に関わるパラメータを用いてもよい。
生成された第1の符号化データ及び第2の符号化データは、多重化部7336に入力される。例えば、センシング部7331Cでセンシングされた第3のセンサ信号は、符号化の必要がないデータである。この場合、点群データの生成及び符号化は行われず、第3のセンサ信号がそのまま多重化部7336に入力される。なお、低遅延な伝送を目的として符号化が行われなくてもよい。
同期部7335は、複数のセンシング部を同期させるための機能を持つ。例えば、同期部7335は、同期に関わる情報として、センシングの時刻情報、タイムスタンプ情報、及び角度情報などを用いる。これらの同期に関わる情報は、共通の情報である同期信号として出力信号に多重化されてもよい。または、これらの同期に関わる情報は、各センサ信号に含まれてもよい。
多重化部7336は、1以上の符号化データ、メタデータ、センサ信号のRAWデータ、及び同期信号を多重化することで出力信号を生成する。また、多重化部7336は、それぞれのデータを識別するための情報、及び各データの対応関係を示す情報を出力信号に格納する。
図19は、三次元データ多重化装置の具体例を示す図である。図19に示すように、センシング部7331AとしてビームLiDARが用いられ、センシング部7331BとしてFLASH LiDARが用いられる。LiDARの特性に応じて、点群の範囲及び距離、並びに解像度などが異なる。図20は、ビームLiDAR及びFLASH LiDARのセンサ範囲の例を示す図である。例えば、ビームLiDARは、車両(センサ)の周囲の全方向を検知し、FLASH LiDARは、車両の一方向(例えば前方)の範囲を検知する。
点群データ生成部7333Aは、ビームLiDARから取得されるビーム照射角に対する距離情報及び反射率情報に基づき第1の点群データを生成する。点群データ生成部7333Bは、FLASH LiDARから得られる二次元の距離情報及び反射率に基づき第2の点群データを生成する。なお、点群データ生成部7333A及び7333Bは、さらにカメラで取得される二次元の色情報などを併用し、色情報と反射率との両方を持つ点群データを生成してもよい。
また、センシング部7331Cとして、3軸ジャイロセンサ、3軸加速度センサ又はGPSなどの位置情報センサである車載センサが用いられる。これらのセンサ情報は、車全体の状態を表すセンサ情報であり、第1のセンサ信号及び第2のセンサ信号に関連する共通の情報ということもできる。これらの共通のセンサ情報は、符号化されて多重化されてもよいし、符号されずに多重化されてもよい。また、これらの情報は、点群データに共通の付加情報として第1のセンサ信号や第2のセンサ信号に格納され符号化されてもよい。または、共通のセンサ情報は、第1のセンサ信号と第2のセンサ信号との一方のセンサ信号に格納されてもよい。この場合、共通のセンサ情報がいずれのセンサ信号に格納されているかを示す情報が、例えばその他のセンサ信号又は同期信号に示されてもよい。
また、センサを取得する時刻に関する情報として、例えばNTP(Network Time Protocol)又はPTP(Precision Time Protocol)などの基準時刻情報に基づいたタイムスタンプが、ビームLiDARに基づく第1の点群データと、FLASH LiDARに基づく第2の点群データとに付与される。それぞれセンサのタイムスタンプは、共通の基準時刻に同期するものであり、符号化部7334A及び7334Bで符号化される。
また、共通の基準時刻を示す基準時刻情報は、同期信号として多重化されてもよい。基準時刻情報は多重されなくてもよい。三次元データ逆多重化装置(三次元データ復号装置)は、複数のセンサ信号の符号化データからそれぞれのタイムスタンプを取得する。タイムスタンプは共通の基準時刻に同期しているため、三次元データ逆多重化装置は、複数のセンサ信号の復号データを、それぞれのタイムスタンプに基づき動作させることで、複数のセンサ間の同期をとることができる。
なお、ビームLiDAR及びFLASH LiDAR毎にそれぞれ対応する時刻情報が設定されてもよい。また、ビームLiDAR及びFLASH LiDAR毎にそれぞれ3軸センサが設けられてもよい。その場合、それぞれのNTPとしてインターネット時刻などの共通の時刻が用いられる。また、それぞれの3軸センサが、予めキャリブレーションされ、予め同期された複数の3軸センサが用いられる。
図21は、三次元データ多重化装置の別の構成例を示す図である。図21に示すように三次元データ多重化装置は、センシング部7341A、7341B及び7341Cと、入出力部7342A、7342B及び7342Cと、点群データ生成部7343と、符号化部7344A及び7344Bと、同期部7345と、多重化部7346とを備える。
入出力部7342Aは、センシング部7341Aでセンシングにより生成された第1のセンサ信号を取得する。入出力部7342Bは、センシング部7341Bでセンシングにより生成された第2のセンサ信号を取得する。入出力部7342Cは、センシング部7341Cでセンシングにより生成された第3のセンサ信号を取得する。なお、入出力部7342A、7342B及び7342Cは、取得したセンサ信号を蓄積するメモリを有してもよい。
点群データ生成部7343は、第1のセンサ信号から第1の点群データを生成する。符号化部7344Aは、第1の点群データを符号化することで第1の符号化データを生成する。符号化部7344Bは、第2のセンサ情報を符号化することで第2の符号化データを生成する。
同期部7345は、複数のセンシング部を同期させるための機能を持つ。多重化部7346は、1以上の符号化データ、メタデータ、センサ信号のRAWデータ、及び同期信号を多重化することで出力信号を生成する。
このように、図21に示す構成では、センシング部7341Bで得られるセンサ信号(RAWデータ)から点群データは生成されず、センサ信号はRAWデータのまま符号化される。例えば、第2のセンサ信号が、FLASH LiDAR、又はカメラなどCMOSセンサで得られる二次元の情報である場合、符号化部7344Bは、AVC又はHEVCなどの動画像コーデックを用いて第2のセンサ信号を符号化する。これにより、符号化効率の高い符号化を実現できる。また、既存コーデックを活用することでコストの安いシステム構築が可能となる。
このように、三次元データ多重化装置は、センシング部に応じて、点群データを変換後に符号化する手段と、点群データに変換せずにRAWデータのまま符号化する手段とを併用し、それぞれの符号化データを多重化する。
次に、多重化により所定のファイルフォーマットの出力信号を生成する手法の例を説明する。以下では、所定のファイルフォーマットがISOBMFF(ISO based media file format)である場合の例を説明する。なお、ファイルフォーマットはISOBMFFに限定されず、他のファイルフォーマットが用いられてもよい。
ISOBMFFは、ISO/IEC14496-12に規定されるファイルフォーマット規格である。ISOBMFFは、ビデオ、オーディオ、及びテキストなど様々なメディアのデータを多重して格納できるフォーマットを規定しており、メディアに依存しない規格である。
ISOBMFFへのメディア毎の格納方法は別途規定されている。例えば、AVCビデオ及びHEVCビデオの格納方法は、ISO/IEC14496-15に規定される。
一方で、複数のセンサ情報(センサ信号)から取得されたデータの符号化データをISOBMFFに格納する方法が必要である。図22は、複数のセンサ情報を、様々な符号化方法でそれぞれ符号化し、ISOBMFFへ格納するプロトコルを示す図である。
Data1~Data5は、それぞれ様々な種類のセンサから取得されたセンサデータ(センサ信号)であり、例えばRAWデータ等である。Data1とData2は3D点群フォーマットに変換され、3D点群フォーマット用の符号化方法Codec1又はCodec2を用いて符号化される。また、Data3とData4は画像などの2Dデータのフォーマットに変換され、2Dデータフォーマット用の符号化方法Codec3又はCodec4を用いて符号化される。
それぞれの符号化データは、所定の方法でNALユニットに変換されてISOBMFFに格納される。なお、NALユニットは、3DFormat及び2DFormatで共通の形式であってもよいし、異なる形式であってもよい。また、異なる符号化方法のNALユニットは共通の形式であってもよいし、異なる形式であってもよい。なお、センサデータのフォーマットは、ここにあげる3D及び2Dフォーマット以外にも、1Dのフォーマット、又はその他のフォーマットであってもよい。
Data5は、センサから取得されたセンサデータを符号化せずに直接ISOBMFFに格納する場合である。
これらのデータの任意の組み合わせのデータを統合的に格納するフォーマットを提供することにより、複数のセンサを扱うシステムのデータの管理が容易となり、様々な機能を実現することが可能となる。
次に、ISOBMFFの構成を説明する。三次元データ多重化装置は、複数のセンサデータをISOBMFFへ格納する。図23は、多重化対象の入力データの構成例を示す図である。図24は、NALユニットの構成例を示す図である。図25は、ISOBMFFの構成例を示す図である。図26は、moov及びmdatの構成例を示す図である。
入力データに含まれる符号化データは、主に符号化データ(Data)とメタデータ(Meta)に大別される。メタデータとしては、符号化データ毎のヘッダで示されるメタデータと、パラメータセットとして独立のNALユニットに格納されるメタデータとがある。また、メタデータが符号化データに含まれる場合もある。三次元データ多重化装置は、これらの複数の異なるコーデック毎のNALユニット及びRAWデータを一つのISOBMFFへ格納する。
ISOBMFFはボックス構造で構成される。ISOBMFFのボックスとして、主にメタデータを格納する「moov」及び「meta」と、データを格納する「mdat」とがある。
符号化データ及びRAWデータはISOBMFFにおける「mdat」にサンプル単位で格納される。また、入力データにおけるメタデータは、符号化データ毎に、ISOMBFFにおける「moov」の「trak」に所定のフォーマットで格納される。符号化データ内に含まれるメタデータ及び同期情報も「moov」内に格納される。
「mdat」からデータを取得するための情報(ファイル先頭からのデータのアドレス情報(オフセット情報)及びデータのサイズなど)は、符号化データ毎のメタデータに格納される。また、「ftyp」には後続のデータのファイルタイプ等が示される。
なお、フォーマットおよびボックス名は、ここに挙げたもの以外でもよく、同じ機能を有するものであればよい。
また、リアルタイム通信などのユースケースにおいては、「moov」及び「mdat」のようなボックスを分割した単位が時間的に分けて送信されてもよい。また、分割した単位のデータがインターリーブされてもよい。
三次元データ多重化装置は、構成情報を示すボックス(以下単に構成情報と記す)を定義し、ファイルに含まれる複数のデータの識別情報を構成情報に格納する。また、三次元データ多重化装置は、それぞれのデータのメタデータにアクセス可能な識別情報を構成情報に格納する。
図27は、構成情報の構成例を示す図である。図28は、構成情報のシンタックス例を示す図である。
構成情報は、ISOBMFFファイルを構成するコンテンツ及びコンポーネントの情報、コンポーネントの元データを取得した際のセンサ情報、フォーマット情報、並びに、符号化方法などを示す。
図27に示すように、構成情報は、全体構成情報と、符号化データ毎の構成情報とを含む。複数の構成情報は、同一のデータ構造又はボックスであってもよいし、異なるデータ構造又はボックスであってもよい。
mp4ボックスにおけるtypeには、構成情報ボックスであることが、例えば「msuc」などの4CCで示される。全体構成情報(data())には、符号化方式の異なる複数のデータの構成が示される。data()は、num_of_data、data_type及びdata_configurationを含む。
num_of_dataは、ファイルを構成する符号化データ及びRAWデータの数を示す。data_typeは、データ毎の識別情報を示す。つまり、data_typeは、複数のデータの種別を示す。
具体的には、data_typeは、データが点群データであるか、センサ信号(例えばRAWデータ)であるかを示す。また、data_typeは、データが符号化されているか否かを示してもよい。また、data_typeは、符号化データの符号化に用いられた符号化方法(符号化方式)を示してもよい。符号化方法とは、例えば、GPPC又はVPPC等である。また、符号化方法は、図22に示すCodec1~4等であってもよい。また、data_typeは、構成情報を識別するための情報を示してもよい。
また、data_typeは、点群データの元データの種別を示してもよい。元データの種別とは、元データがセンサ信号である場合の、センサ信号を生成したセンサの種類(例えば2Dセンサか3Dセンサかなど)等である。また、data_typeは、センサ信号のデータフォーマット(例えば1D情報か2D情報か3D情報かなど)を示す情報を含んでもよい。
例えば、data_type=0はPCC Codec1を示し、data_type=1はPCC Codec2を示し、data_type=2はVideo Codec3を示し、data_type=4は、3D軸センサ RAWデータを示す。data_configurationは、データ毎の構成情報を示す。
data_configuration()は、符号化データ毎の構成情報であり、num_of_componentと、component_typeと、component_idとを含む。
num_of_componentは、符号化データ内のコンポーネントの数を示す。component_typeは、コンポーネントのタイプを示す。例えばPCC符号化の場合は、component_typeは、コンポーネントが、ジオメトリであるか属性であるかメタデータであるかを示す。
component_idは、コンポーネントを他のメタデータ及びデータと紐付けるための一意の識別子を示す。
なお、符号化の方法は、ビデオコーデック及びPCCコーデック以外にも、オーディオ、テキスト、アプリケーション、又は360度画像などに用いられる符号化方法であってもよい。また、データは、メッシュ又はCADなどの加工されたデータであってもよい。また、符号化の方法は、同一のコーデックであってもよいし、プロファイル、レベル又はツールの異なる符号化方法であってもよく、いかなる符号化方法であっても統合的に扱うことが可能である。
このように、三次元データ逆多重化装置において復号した点群データをアプリケーションで活用するために必要なデータを一つのファイルに多重することで、アプリケーションで取り扱うファイル管理及び同期管理を容易化できる。
図29は、データボックス「mdat」の構成例を示す図である。データボックスの最小単位であるサンプルに、それぞれの符号化データ又はRAWデータが個別に格納される。
また、ファイルに含まれる符号化データ毎のタイムスタンプなどの同期情報は、共通の基準時刻などの全体同期情報に基づき設定される。また、同期情報は、それぞれ同期がとれている情報とする。
また、例えば、複数の符号化データのタイムスタンプにおける基準時刻、時間分解能及び時間間隔を揃え、同期情報を複数の符号化データで共通化してもよい。その場合、同期情報は、符号化データ毎の同期情報と共通の同期情報のいずれか1以上に格納すればよい。その場合、メタデータは、共通の時刻情報が格納されている場所を示す情報、及び同期情報が共通であることを示す情報の少なくとも一方を含む。
また、符号化データ間で同期がとれている場合には、三次元データ多重化装置は、同期がとれている複数の符号化データを一つのサンプルとして格納してもよい。一方、複数の符号化データで、基準時刻、時間分解能及び時間間隔の少なくとも一つが揃っていない場合は、三次元データ多重化装置は、別途符号化データ間のタイムスタンプの差分を示す差分情報を導出し、導出した差分情報を出力信号に格納してもよい。また、三次元データ多重化装置は、同期がとれているか否かを示すフラグを出力信号に格納してもよい。
三次元データ逆多重化装置は、それぞれの符号化データの同期情報と全体同期情報とを用いて、それぞれのサンプルを、メタデータに示されるタイムスタンプに示される時刻に処理することにより、符号化データ間の同期をとる。
以下、アプリケーション処理の例を説明する。図30は、アプリケーション処理の例を示すフローチャートである。アプリ操作が開始されると、三次元データ逆多重化装置は、点群データ及び複数の符号化データを含むISOBMFFファイルを取得する(S7301)。例えば、三次元データ逆多重化装置は、ISOBMFFファイルを、通信により取得してもよいし、蓄積しているデータから読み込んでもよい。
次に、三次元データ逆多重化装置は、ISOBMFFファイルにおける全体構成情報を解析し、アプリケーションに使用するデータを特定する(S7302)。例えば、三次元データ逆多重化装置は、処理に用いるデータを取得し、処理に用いないデータは取得しない。
次に、三次元データ逆多重化装置は、アプリケーションに使用する1以上のデータを抽出し、当該データの構成情報を解析する(S7303)。
データの種別が符号化データである場合(S7304で符号化データ)、三次元データ逆多重化装置は、ISOBMFFを符号化ストリームに変換し、タイムスタンプを抽出する(S7305)。また、三次元データ逆多重化装置は、データ間の同期がそろっているか否かを、例えば、データ間の同期がそろっているか否かを示すフラグを参照して判定し、揃っていなければ同期処理を行ってもよい。
次に、三次元データ逆多重化装置は、タイムスタンプ及びその他の指示に従い、所定の方法でデータを復号し、復号したデータを処理する(S7306)。
一方、データの種別が符号化データである場合(S7304でRAWデータ)、三次元データ逆多重化装置は、データ及びタイムスタンプを抽出する(S7307)。また、三次元データ逆多重化装置は、データ間の同期がそろっているか否かを、例えば、データ間の同期がそろっているか否かを示すフラグを参照して判定し、揃っていなければ同期処理を行ってもよい。次に、三次元データ逆多重化装置は、タイムスタンプ及びその他の指示に従い、データを処理する(S7308)。
例えば、ビームLiDAR、FLASH LiDAR、及びカメラで取得されたセンサ信号が、それぞれ異なる符号化方式で符号化及び多重化されている場合の例を説明する。図31は、ビームLiDAR、FLASH LiDAR及びカメラのセンサ範囲の例を示す図である。例えば、ビームLiDARは、車両(センサ)の周囲の全方向を検知し、FLASH LiDAR及びカメラは、車両の一方向(例えば前方)の範囲を検知する。
LiDAR点群を統合的に扱うアプリケーションの場合、三次元データ逆多重化装置は、全体構成情報を参照して、ビームLiDARとFLASH LiDARの符号化データを抽出して復号する。また、三次元データ逆多重化装置は、カメラ映像は抽出しない。
三次元データ逆多重化装置は、LiDARとFLASH LiDARのタイムスタンプに従い、同一のタイムスタンプの時刻のそれぞれの符号化データを同時に処理する。
例えば、三次元データ逆多重化装置は、処理したデータを提示装置で提示したり、ビームLiDARとFLASH LiDARの点群データを合成したり、レンダリングなどの処理を行ってもよい。
また、データ間でキャリブレーションをするアプリケーションの場合には、三次元データ逆多重化装置は、センサ位置情報を抽出してアプリケーションで用いてもよい。
例えば、三次元データ逆多重化装置は、アプリケーションにおいて、ビームLiDAR情報を使用するか、FLASH LiDARを使用するかを選択し、選択結果に応じて処理を切り替えてもよい。
このように、アプリケーションの処理に応じて適応的にデータの取得及び符号処理を変えることができるので、処理量及び消費電力を削減できる。
以下、自動運転におけるユースケースについて説明する。図32は、自動運転システムの構成例を示す図である。この自動運転システムは、クラウドサーバ7350と、車載装置又はモバイル装置等のエッジ7360とを含む。クラウドサーバ7350は、逆多重化部7351と、復号部7352A、7352B及び7355と、点群データ合成部7353と、大規模データ蓄積部7354と、比較部7356と、符号化部7357とを備える。エッジ7360は、センサ7361A及び7361Bと、点群データ生成部7362A及び7362Bと、同期部7363と、符号化部7364A及び7364Bと、多重化部7365と、更新データ蓄積部7366と、逆多重化部7367と、復号部7368と、フィルタ7369と、自己位置推定部7370と、運転制御部7371とを備える。
このシステムでは、エッジ7360は、クラウドサーバ7350に蓄積されている大規模点群地図データである大規模データをダウンロードする。エッジ7360は、大規模データとエッジ7360で得られたセンサ情報とをマッチングすることで、エッジ7360(車両又は端末)の自己位置推定処理を行う。また、エッジ7360は、取得したセンサ情報をクラウドサーバ7350へアップロードし、大規模データを最新の地図データに更新する。
また、システム内における点群データを扱う様々なアプリケーションにおいて、符号化方法の異なる点群データが扱われる。
クラウドサーバ7350は、大規模データを符号化及び多重化する。具体的には、符号化部7357は、大規模点群を符号化するために適した第3の符号化方法を用いて符号化を行う。また、符号化部7357は、符号化データを多重化する。大規模データ蓄積部7354は、符号化部7357で符号化及び多重化されたデータを蓄積する。
エッジ7360は、センシングを行う。具体的には、点群データ生成部7362Aは、センサ7361Aで取得されるセンシング情報を用いて、第1の点群データ(位置情報(ジオメトリ)及び属性情報)を生成する。点群データ生成部7362Bは、センサ7361Bで取得されるセンシング情報を用いて、第2の点群データ(位置情報及び属性情報)を生成する。生成された第1の点群データ及び第2の点群データは、自動運転の自己位置推定或いは車両制御、又は地図更新に用いられる。それぞれの処理において、第1の点群データ及び第2の点群データのうちの一部の情報が用いられてもよい。
エッジ7360は、自己位置推定を行う。具体的には、エッジ7360は、大規模データをクラウドサーバ7350からダウンロードする。逆多重化部7367は、ファイルフォーマットの大規模データを逆多重化することで符号化データを取得する。復号部7368は、取得された符号化データを復号することで大規模点群地図データである大規模データを取得する。
自己位置推定部7370は、取得された大規模データと、点群データ生成部7362A及び7362Bで生成された第1の点群データ及び第2の点群データとをマッチングすることで、車両の地図における自己位置を推定する。また、運転制御部7371は、当該マッチング結果又は自己位置推定結果を運転制御に用いる。
なお、自己位置推定部7370及び運転制御部7371は、大規模データのうち、位置情報などの特定の情報を抽出し、抽出した情報を用いて処理を行ってもよい。また、フィルタ7369は、第1の点群データ及び第2の点群データに補正又は間引き等の処理を行う。自己位置推定部7370及び運転制御部7371は、当該処理が行われた後の第1の点群データ及び第2の点群データを用いてもよい。また、自己位置推定部7370及び運転制御部7371は、センサ7361A及び7361Bで得られたセンサ信号を用いてもよい。
同期部7363は、複数のセンサ信号又は複数の点群データのデータ間の時間同期及び位置補正を行う。また、同期部7363は、自己位置推定処理によって生成された、大規模データとセンサデータとの位置補正情報に基づき、センサ信号又は点群データの位置情報を大規模データに合わせるように補正してもよい。
なお、同期及び位置補正はエッジ7360でなく、クラウドサーバ7350で行われてもよい。この場合、エッジ7360は、同期情報及び位置情報を多重化してクラウドサーバ7350へ送信してもよい。
エッジ7360は.センサ信号又は点群データを符号化及び多重化する。具体的には、センサ信号又は点群データは、それぞれの信号を符号化するために適した第1の符号化方法又は第2の符号化方法を用いて符号化される。例えば、符号化部7364Aは、第1の符号化方法を用いて第1の点群データを符号化することで第1の符号化データを生成する。符号化部7364Bは、第2の符号化方法を用いて第2の点群データを符号化することで第2の符号化データを生成する。
多重化部7365は、第1の符号化データ、第2の符号化データ、及び同期情報などを多重化することで多重化信号を生成する。更新データ蓄積部7366は、生成された多重化信号を蓄積する。また、更新データ蓄積部7366は、多重化信号をクラウドサーバ7350へアップロードする。
クラウドサーバ7350は、点群データを合成する。具体的には、逆多重化部7351は、クラウドサーバ7350にアップロードされた多重化信号を逆多重化することで第1の符号化データ及び第2の符号化データを取得する。復号部7352Aは、第1の符号化データを復号することで第1の点群データ(又はセンサ信号)を取得する。復号部7352Bは、第2の符号化データを復号することで第2の点群データ(又はセンサ信号)を取得する。
点群データ合成部7353は、第1の点群データと第2の点群データとを所定の方法で合成する。多重化信号に同期情報及び位置補正情報が多重化されている場合には、点群データ合成部7353は、それらの情報を用いて合成を行ってもよい。
復号部7355は、大規模データ蓄積部7354に蓄積されている大規模データを逆多重化及び復号する。比較部7356は、エッジ7360で得られたセンサ信号に基づき生成された点群データとクラウドサーバ7350が有する大規模データとを比較し、更新が必要な点群データを判断する。比較部7356は、大規模データのうち、更新が必要と判断された点群データを、エッジ7360から得られた点群データに更新する。
符号化部7357は、更新された大規模データを符号化及び多重化し、得られたデータを大規模データ蓄積部7354に蓄積する。
以上のように、使用する用途又はアプリケーションに応じて、取り扱う信号が異なり、多重化する信号又は符号化方法が異なる場合がある。このような場合であっても、本実施の形態を用いて様々な符号化方式のデータを多重化することで、柔軟な復号及びアプリケーション処理が可能となる。また、信号の符号化方式が異なる場合であっても、逆多重化、復号、データ変換、符号化、多重の処理により適した符号化方式を変換することで、様々なアプリケーションやシステムを構築し、柔軟なサービスの提供が可能となる。
以上のように、本実施の形態に係る三次元データ多重化装置は、図33に示す処理を行う。三次元データ多重化装置は、点群データを含む複数種類のデータを多重化することで所定のファイル構成(例えばISOBMFF)の出力信号を生成する(S7311)。次に、三次元データ多重化装置は、ファイル構成におけるメタデータ(制御情報)に出力信号に含まれる複数のデータの各々の種別を示す情報(例えばdata_type)を格納する(S7312)。
これによれば、三次元データ多重化装置は、ファイル構成におけるメタデータに出力信号に含まれる複数のデータの各々の種別を示す情報を格納する。これにより、当該出力信号を受信する三次元データ逆多重化装置において、容易に各データの種別を判定できる。このように、当該三次元データ多重化方法は、適切に点群データを多重化して送信できる。
例えば、複数のデータの各々の種別を示す情報は、(1)データに適用された符号化方式、(2)データの構成、(3)データを生成したセンサの種類、又は(4)データフォーマットを示す。
例えば、ファイル構成におけるメタデータは、出力信号に含まれる複数のデータの時刻を同期させるための同期情報を含む。これによれば、当該出力信号を受信する三次元データ逆多重化装置において、複数のデータを同期させることができる。
例えば、同期情報は、複数のデータ間におけるタイムスタンプの差分を示す。これによれば、出力信号のデータ量を削減できる。
例えば、三次元データ多重化装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
また、本実施の形態に係る三次元データ逆多重化装置は、図34に示す処理を行う。三次元データ逆多重化装置は、点群データを含む複数種類のデータが多重化された所定のファイル構成(例えばISOBMFF)の出力信号から、ファイル構成におけるメタデータに格納されている、出力信号に含まれる複数のデータの各々の種別を示す情報(例えばdata_type)を取得する(S7321)。三次元データ逆多重化装置は、複数のデータの各々の種別を示す情報を用いて、出力信号から複数のデータを取得する(S7322)。例えば、三次元データ逆多重化装置は、複数のデータの各々の種別を示す情報を用いて、出力信号から必要なデータを選択的に取得する。これによれば、三次元データ逆多重化装置は、容易に各データの種別を判定できる。
例えば、複数のデータの各々の種別を示す情報は、(1)データに適用された符号化方式、(2)データの構成、(3)データを生成したセンサの種類、又は(4)データフォーマットを示す。
例えば、ファイル構成におけるメタデータは、出力信号に含まれる複数のデータの時刻を同期させるための同期情報を含む。例えば、三次元データ逆多重化装置は、同期情報を用いて複数のデータを同期させる。
例えば、同期情報は、複数のデータ間におけるタイムスタンプの差分を示す。例えば、同期情報は、複数のデータのいずれかのタイムスタンプを示す情報を含み、三次元データ逆多重化装置は、複数のデータのいずれかのタイムスタンプに、同期情報で示される差分を加えることで、複数のデータのうちの他のデータのタイムスタンプを復元する。これにより、出力信号のデータ量を削減できる。
例えば、三次元データ逆多重化装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
(実施の形態2)
まず、点群データの生成及び合成について説明する。図35は、複数のセンサ信号を処理するシステムの一例である三次元データ符号化装置(三次元データ多重化装置)の構成例を示す図である。三次元データ符号化装置は、センシング部8601A、8601B及び8601Cと、入出力部8602A、8602B及び8602Cと、点群データ生成部8603と、符号化部8604と、同期部8605と、多重化部8606とを備える。
入出力部8602Aは、センシング部8601Aでセンシングにより生成された第1のセンサ信号を取得する。入出力部8602Bは、センシング部8601Bでセンシングにより生成された第2のセンサ信号を取得する。入出力部8602Cは、センシング部8601Cでセンシングにより生成された第3のセンサ信号を取得する。なお、入出力部8602A、8602B及び8602Cは、取得したセンサ信号を蓄積するメモリを有してもよい。
点群データ生成部8603は、第1のセンサ信号と第2のセンサ信号とを合成(マージ、又はフュージョンともいう)することで合成点群データを生成する。合成点群データは、第1のセンシング部8601A及び第2のセンシング部8601Bで得られる三次元点の位置情報及び属性情報と、その他のセンサ情報とを含む。なお、点群データ生成部8603は、第3のセンサ信号、共通のセンサ信号、共通の時刻情報などの複数センシング間を同期させるための同期信号を、同期信号に基づき、合成してもよい。
符号化部8604は、合成点群データを符号化することで符号化データを生成する。同期部8605は、複数のセンシング部を同期させるための機能を持つ。多重化部8606は、符号化データ、メタデータ、センサ信号のRAWデータ、及び同期信号を多重化することで出力信号(ビットストリーム)を生成する。
図36は、点群データ生成部8603の構成を示すブロック図である。点群データ生成部8603は、変換部8611及び8612と、合成部8613とを備える。
変換部8611は、第1のセンサ信号から第1の点群データを生成する。変換部8612は、第2のセンサ信号から第2の点群データを生成する。センサ信号は、例えばレーザー角度と距離情報からなる一次元の情報、又は、FLASH LiDAR或いはカメラなどで得られる二次元の距離情報などである。変換部8611及び8612は、その一次元又は二次元の位置情報(ジオメトリ情報)を三次元の位置情報(例えば(x、y、z)座標)に変換する。
点群データの構成要素である点(三次元点)は、三次元座標等の位置情報と、その位置情報に対する属性情報とを含む。図37~図39は、三次元点の情報の例を示す図である。図37に示す例では、1つの位置情報に対して1つの属性情報が存在する。図38及び図39に示す例では、1つの位置情報に対して2以上の属性情報が存在する。1つの位置情報に対して複数の属性情報が存在する場合には、複数の異なる属性種別が存在する場合と、同じ属性種別の属性情報が複数存在する場合とがある。図37に示す例は、例えば、1つの色情報が属性情報として存在する場合である。また、図38に示す例は、例えば、色情報と反射率の情報とが存在する場合である。また、図39に示す例は、例えば、3以上の色情報が存在する場合である。なお、位置情報は(x、y、z)の3値を持つ。色情報は、(R、G、B)又は(Y、Cb、Cr)の3値を持つ。反射率は1値である。このように、位置情報及び属性情報は、次元毎の情報を持ってもよい。
なお、第1のセンサ信号に基づく属性情報と、第2のセンサ信号に基づく属性情報とは、異なる対象物の同じ種別の属性情報(例えば色)であってもよいし、異なる種別の属性情報(例えば色と反射率)であってもよい。
以下、点群データファイルの合成について説明する。図40は、複数のセンサ信号を合成し、合成した点群データを生成する例を示す図である。同図は、点毎の情報を有するセンサ情報X及びセンサ情報Yと、共通の情報を有するセンサ情報Zとを合成する例を示している。合成後の点群情報である合成点群情報は、共通の情報と、点毎の情報と、構成情報とを含む。
以下、センサ情報Xとセンサ情報Yとが同一の属性情報(例えば、色情報又は反射率)を有する例を説明する。例えば、構成情報は、センサIDと、合成元のセンサ情報とを含む。図40に示す例では、構成情報は、センサ情報Xを生成したセンサX(SensorX)の情報として、センサID(ID=S1)と、センサ情報(Sensor)と、センサのバージョン(Version)と、センサのメーカー名(Maker)と、センサの設置情報(Mount Info.)と、センサの位置座標(World Coordinate)とを含む。また、構成情報は、センサ情報Yを生成したセンサY(SensorY)の情報として、センサID(ID=S2)を含む。なお、これらは一例であり、センサ情報として上記の一部の情報が含まれてもよい。
また、各点の情報には、センサID(S1又はS2)を示す属性情報Sが含まれる。このように、点毎のデータが、どのセンサから取得されたデータであるかを示す識別情報(センサID)が点毎に示される。
図41は、点毎のデータがどのセンサで取得されたかを示す識別情報を構成情報に示す例を示す図である。図41に示す構成情報は、IDごとに合成点群情報に含まれる点の数(numPoints)を含む。
また、ここでは、センサ等のセンシング手段により得られた点について、説明をしているが、この限りではない。例えば、人工的に付与された点については、センシング手段により得られた点ではないとして、「センサID:S4・・・センシング手段以外により得られた点」と定義し、属性情報SにS4が付与されてもよいし、属性情報Sに無効化を意味する固定値が示されてもよい。これにより、三次元データ復号装置は、合成点群において、センシング手段でない手段により得られた点を識別できる。
また、構成情報は、センシング手段でない手段により得られた点を識別する情報を含んでもよいし、合成点群がセンシング手段でない手段により得られた点を含むことを示すフラグを含んでもよい。これにより、三次元データ復号装置は、合成点群が、センシング手段でない手段により得られた点を含むか否かを判別できる。
また、図41等に示す例は、センサ情報Xとセンサ情報Yとで位置情報が重複する場合(1番目と4番目の位置情報がG1で同一)において、重複する点をそのまま記載する例である。なお、三次元データ符号化装置は、重複する点を所定の方法でマージしてもよいし、いずれか一方を選択してもよい。三次元データ符号化装置は、重複する点をマージする場合は、当該点が複数のセンサから取得された情報がマージされたデータであることを合成点群情報に示す。例えば、センサID(Sensor ID)=S1はセンサXで得られたデータを示し、センサID=S2はセンサYで得られたデータを示し、センサID=S3はセンサXとセンサYとのデータがマージされたデータであることを示す。
以下、センサ情報Xとセンサ情報Yとが異なる属性情報を有する例を説明する。図42は、この場合の合成処理を説明するための図である。図42に示すように、三次元データ符号化装置は、異なるセンサ情報から、それぞれ異なる属性情報A1(例えば色情報)及び属性情報A2(例えば反射率)を取得し、これらを合成する。構成情報は、属性情報A1とA2の情報、及び識別情報を含む。
センサXとセンサYで得られる点には、位置情報が重複する点と重複しない点がある。位置情報が重複する場合は、合成位置情報において、一つの位置情報に対して、属性情報A1と属性情報A2とが存在する。位置情報が重複しない場合は、合成位置情報において、一つの位置情報に対して、属性情報A1と属性情報A2のいずれかが存在する。
このとき、属性情報が存在しない場合は、当該属性情報が有効でないことを示す情報(N/A)が示される。なお、図42ではN/Aと記載しているが、0又は-1などの固定値により有効でないことが示されてもよい。なお、有効でない属性情報を含む点の情報を示さなくてもよい。または、有効でない属性情報が所定の方法で補間、又は推測されてもよい。また、有効でない属性情報を含むか否かを示すフラグが構成情報に含まれてもよい。
次に、点群情報Xが属性情報Aと属性情報Bとを有し、点群情報Yが属性情報Bを有する例を説明する。図43は、この場合の合成処理を説明するための図である。
点群情報Xは、1つのセンサ情報から得られた2以上の属性情報を含む点群情報である。なお、点群情報Xは、2以上のセンサ情報から予め変換された点群情報であってもよい。また、点群情報Yは、1つの属性情報を持つ点群情報である。
点群情報Xにおいて、位置情報G2は有効な属性情報A2を持たない。また、点群情報Xと点群情報Yとで、位置情報G2及び位置情報G3は重複する。
合成点群情報(重複点あり)は、重複する点の情報を個別に記載する例である。合成点群情報に含まれる点の数は、合成前の点群情報の点の数を合わせたものに等しい。また、構成情報は、属性情報Sが、点情報(位置情報及び属性情報)がどのセンサで取得されたかを示す識別情報であることを示す。また、点毎の情報として属性情報Sが付加されている。
合成点群情報(重複点なし)は、合成点群情報(重複点あり)において重複する点の情報をマージした例である。属性情報A1は全てセンサXで取得されたデータであり、属性情報A2はセンサXで取得されたデータ、センサYで取得されたデータ、両方のデータに基づくデータ、及びN/Aのいずれかである。
構成情報は、属性情報A1がセンサXで取得されたことを示す。また、属性情報は、属性情報Sが、属性情報A2がどのセンサで取得されたかを示す情報であることを示す。なお、属性情報A1がどのセンサで取得されたかを示す情報が別の属性情報として設けられてもよい。
なお、点群情報の合成において、重複点をマージしたか否かを示すフラグが構成情報に含まれてもよい。また、重複点のマージにおいて、属性情報をマージしたか否かを示すフラグが構成情報に含まれてもよい、また、マージの方法を示す識別子が構成情報に含まれてもよい。あるいは、マージでなく、一方の属性情報を選択した場合は、その選択基準を示す識別子が構成情報に含まれてもよい。
属性情報Sは、属性情報A2の各点のデータがどのセンサで取得されたかを示す。例えば、センサID(Sensor ID)=S1はセンサXで得られたデータを示し、センサID=S2はセンサYで得られたデータを示し、センサID=S3はセンサXとセンサYとのデータがマージされたデータであることを示す。
また、図43におけるf(A2X3、A2Y2)は、A2X3とA2Y2を用いた所定の方法で導出された値を示す。所定の方法とは、平均値、重み付けされた平均値、又は所定の基準値(例えば、センサの信頼度)に基づいて複数の値から1つの値を選択する方法などである。
以上のように、点群データ、又は点群データの属性情報が、どのセンサ情報又はどの点群情報から得られる情報であるかを構成情報又は属性情報で示すことにより、後段の符号化部或いは復号部、多重化部或いは逆多重化部、又は、アプリ処理において、効率の良い符号化、又は様々な柔軟な機能を実現できる。
なお、ここでは、属性情報が2つである例を示したが、属性情報は3以上であってもよいし、属性情報を含まない点群であってもよい。
また、属性情報Sは、点群情報又は属性情報が、どのセンサで取得されたかを示す情報だけでなく、位置情報がどのセンサで取得されたかを示す情報であってもよいし、位置情報と属性情報の任意の組み合わせ(クラス)が定義され、点の組み合わせがどのクラスのデータであるかを示してもよい。
また、図43に示す構成情報は、図40と同様に、センサIDに加え、センサ情報(Sensor)と、センサのバージョン(Version)と、センサのメーカー名(Maker)と、センサの設置情報(Mount Info.)と、センサの位置座標(World Coordinate)とのうち少なく一つを含んでもよい。これにより、三次元データ復号装置は、構成情報から各種センサの情報を取得できる。
次に、合成点群データの符号化方法について説明する。図44は、三次元データ符号化復号システムのブロック図である。同図に示すシステムは、三次元データ符号化装置8620と、三次元データ復号装置8630とを含む。三次元データ符号化装置8620は、符号化部8621と、多重化部8622とを含む。符号化部8621は、合成された点群データ(又はセンサ信号)を符号化することで符号化データを生成する。多重化部8622は、符号化データを多重することで多重化信号(ビットストリーム)を生成する。
三次元データ復号装置8630は、逆多重化部8631と、復号部8632と、再構成部8633とを含む。逆多重化部8631は、多重化信号を逆多重化することで符号化データを生成する。復号部8632は、符号化データを復号することで復号データを生成する。再構成部8633は、復号データを再構成することで点群データ(又はセンサ信号)を復元する。
図45は、メタデータ及び符号化データを含むビットストリームの構造を示す図である。全体のメタデータであるSPSは、点群データに含まれる属性情報のリストを含む。リストには、属性情報の識別情報(attribute_type)が格納される。
点群情報又は属性情報が、どのセンサで取得されたかを示す属性情報(例えば、「センサ属性」)が定義される。全体点群情報に、attribute_type=「センサ属性」の属性情報が含まれる場合には、全体メタデータにおける属性情報のリストに、attribute_type=「センサ属性」が示される。センサ属性情報が一次元であるか、二次元であるかが定義され、次元数が示されてもよい。
また、全体のセンサ情報(Z)は、符号化に必須でない場合は、オプションであるSEIに格納され、符号化に必須である場合には、SPS又はAPSなどに格納される。また、構成情報から得られるセンサ属性に関するメタデータは、センサ属性に関するメタデータAPS3に格納される。位置情報G、属性情報A1、属性情報A2、センサ属性を示す属性情報Sは、それぞれエントロピー符号化により圧縮され、符号化データとして出力される。
また、図45に示す、SPSは符号化データ全体のメタデータであり、GPSは位置情報のメタデータであり、APSは属性情報毎のメタデータであり、SEIはオプションのメタデータであり、Gは位置情報の符号化データであり、A1、A2及びA3は属性情報符号化データである。
次に、合成点群データの復号方法及び活用例を説明する。図46は、三次元データ復号装置における復号処理のフローチャートである。まず、三次元データ復号装置は、ビットストリームに含まれるメタデータを解析し、符号化データを構成する位置情報及び属性情報の情報を取得し、それぞれの符号化データを復号する(S8601)。
また、三次元データ復号装置は、符号化データが、attribute_typeが「センサ属性」である属性情報を含むか否かを判定する(S8602)。符号化データにセンサ属性の属性情報が含まれる場合(S8602でYes)、三次元データ復号装置は、センサ属性を含む点群データを再構成する(S8603)。符号化データにセンサ属性の属性情報が含まれない場合(S8602でNo)、三次元データ復号装置は、センサ属性を含まない点群データを再構成する(S8604)。
図47は、センサ属性を含む点群データから特定の点を抽出する処理を示すフローチャートである。また、図48は、データ抽出の例を示す図である。まず、三次元データ復号装置は、センサ属性を含む点群データからセンサX(SensorX)に関わる点を抽出することを決定する(S8611)。次に、三次元データ復号装置は、構成情報を解析し、属性情報A1はセンサXで取得されたこと、属性情報A2がどのセンサで取得されたかが属性情報Sに示されることを認識する(S8612)。
次に、三次元データ復号装置は、属性情報のタイプを判定する(S8613)。属性情報のタイプがA1である場合(S8613でA1)、三次元データ復号装置は、当該データがセンサXに基づくデータであると判断し、A1データを抽出する(S8614)。なお、三次元データ復号装置は、データがN/Aの場合は当該データを抽出しない。
属性情報のタイプがA2又はSである場合(S8613でA2 or S)、三次元データ復号装置は、属性情報Sに基づきA2のセンサ属性を解析する(S8615)。センサ属性がS1又はS3である場合(S8615でS1 or S3)、三次元データ復号装置は、当該データがセンサXに基づくデータと判断し、A2データを抽出する(S8616)。一方、センサ属性がS2である場合(S8615でS2)、三次元データ復号装置は、当該データがセンサYに基づくデータと判断し、A2データを抽出しない(S8617)。
なお、三次元データ復号装置は、センサ属性の解析(S8615)においてセンサ属性がS3である場合、マージされたf(A2X3、A2Y2)を所定の方法で変換あるいは補正してもよい。また、三次元データ復号装置は、センサXで取得された元データを抽出する場合、センサ属性の解析においてS3のデータを抽出しなくてもよい。
また、図48に示す構成情報は、図40と同様に、センサIDに加え、センサ情報(Sensor)と、センサのバージョン(Version)と、センサのメーカー名(Maker)と、センサの設置情報(Mount Info.)と、センサの位置座標(World Coordinate)とのうち少なく一つを含んでもよい。これにより、三次元データ復号装置は、構成情報から各種センサの情報を取得できる。
次に、データ分割を行う場合の合成点群データの符号化方法を説明する。データ分割は、並列処理による高速化、及び同一属性を持つ属性情報のグルーピングによる符号化効率向上に有効であり、所定の方法で点群データが分割される。
図49は、三次元データ符号化復号システムのブロック図である。同図に示すシステムは、三次元データ符号化装置8640と、三次元データ復号装置8650とを含む。三次元データ符号化装置8640は、分割部8641と、複数の符号化部8642と、多重化部8643とを含む。
分割部8641は、点群データをタイル又はスライスなどの複数のデータ単位に分割することで複数の分割データを生成する。または、分割部8641は、点群データに含まれる属性情報をセンサ情報毎に分割することで複数の分割データを生成する。
複数の符号化部8642は、複数の分割データを分割単位ごとに符号化する複数の符号化データを生成する。多重化部8643は、複数の符号化データを多重することで多重化信号(ビットストリーム)を生成する。
三次元データ復号装置8650は、逆多重化部8651と、複数の復号部8652と、再構成部8653とを含む。逆多重化部8651は、多重化信号を逆多重化することで複数の符号化データを生成する。復号部8652は、複数の符号化データを復号することで複数の復号データを生成する。再構成部8653は、複数の復号データを再構成することで、点群データを再構成する。
図50は、センサ情報毎にデータ分割を行う場合の符号化処理のフローチャートである。まず、三次元データ符号化装置は、入力点群データの構成情報を解析する(S8621)。次に、三次元データ符号化装置は、点群データ(位置情報及び属性情報)を、センサ情報毎に分割して符号化することに決定する(S8622)。例えば、三次元データ符号化装置は、構成情報に基づき、分割を行ったほうが符号化効率が良いと判定とした場合に分割すると決定してもよい。または、三次元データ符号化装置は、実際に符号化効率を見積もり、その結果に基づき分割するか否かを決定してもよい。または、三次元データ符号化装置は、アプリ等の外部からの指示に基づき分割するか否かを決定してもよい。
次に、三次元データ符号化装置は、点データが、どのセンサに基づくデータであるかを判定する(S8623)。センサ属性がS1であり、点データがセンサXに基づく場合(S8624でS1)、三次元データ符号化装置は、センサXに基づく分割データとして当該データを符号化する(S8625)。一方、センサ属性がS2であり、点データがセンサYに基づく場合(S8624でS2)、三次元データ符号化装置は、センサYに基づく分割データとして当該データを符号化する(S8626)。
次に、三次元データ符号化装置は、入力データの構成情報を、全体構成情報と、分割データ毎の構成情報とに分割し、全体構成情報と、分割データ毎の構成情報とをメタデータに格納する。また、三次元データ符号化装置は、メタデータ及び符号化データを多重化することで多重化信号(ビットストリーム)を生成する(S8627)。
図51は、この分割処理の例を示す図である。図51に示すように、第1の分割データは属性情報A1とA2を持ち、第2の分割データは属性情報A2を持ち、属性情報A1を持たない。
また、図51に示す全体構成情報及び分割データ毎の構成情報の少なくとも一方は、図40と同様に、センサIDに加え、センサ情報(Sensor)と、センサのバージョン(Version)と、センサのメーカー名(Maker)と、センサの設置情報(Mount Info.)と、センサの位置座標(World Coordinate)とのうち少なく一つを含んでもよい。これにより、三次元データ復号装置は、構成情報から各種センサの情報を取得できる。
以下、分割データの復号及びアプリケーションの例を説明する。まず、分割データの情報について説明する。図52は、ビットストリームの構成例を示す図である。分割データの全体情報は、分割データ毎に、当該分割データのセンサID(sensor_id)とデータID(data_id)とを示す。なお、データIDは各符号化データのヘッダにも示される。
なお、図52に示す分割データの全体情報は、図40と同様に、センサIDに加え、センサ情報(Sensor)と、センサのバージョン(Version)と、センサのメーカー名(Maker)と、センサの設置情報(Mount Info.)と、センサの位置座標(World Coordinate)とのうち少なく一つを含んでもよい。これにより、三次元データ復号装置は、構成情報から各種センサの情報を取得できる。
分割データの全体情報は、メタデータであるSPS、GPS又はAPSに格納されてもよいし、符号化に必須でないメタデータであるSEIに格納されてもよい。また、三次元データ符号化装置は、多重化の際に、当該SEIをISOBMFFのファイルに格納する。三次元データ復号装置は、当該メタデータに基づき、所望の分割データを取得できる。
図52において、SPSは符号化データ全体のメタデータであり、GPSは位置情報のメタデータであり、APSは属性情報毎のメタデータであり、Gは分割データ毎の位置情報の符号化データであり、A1等は分割データ毎の属性情報の符号化データである。
次に、分割データのアプリケーション例を説明する。点群データから、任意の点群を選択し、選択した点群を提示するアプリケーションの例を説明する。図53は、このアプリケーションにより実行される点群選択処理のフローチャートである。図54~図56は、点群選択処理の画面例を示す図である。
図54に示すように、アプリケーションを実行する三次元データ復号装置は、例えば、任意の点群を選択するための入力UI(ユーザインタフェース)8661を表示するUI部を有する。入力UI8661は、選択された点群を提示する提示部8662と、ユーザの操作を受け付ける操作部(ボタン8663及び8664)を有する。三次元データ復号装置は、UI8661で点群が選択された後、蓄積部8665から所望のデータを取得する。
まず、ユーザの入力UI8661に対する操作に基づき、ユーザが表示したい点群情報が選択される(S8631)。具体的には、ボタン8663が選択されることで、センサ1に基づく点群が選択される。ボタン8664が選択されることで、センサ2に基づく点群が選択される。または、ボタン8663及びボタン8664の両方が選択されることで、センサ1に基づく点群とセンサ2に基づく点群の両方が選択される。なお、点群の選択方法は一例であり、これに限らない。
次に、三次元データ復号装置は、多重化信号(ビットストリーム)又は符号化データに含まれる分割データの全体情報を解析し、選択されたセンサのセンサID(sensor_id)から、選択された点群を構成する分割データのデータID(data_id)を特定する(S8632)。次に、三次元データ復号装置は、多重化信号から、特定された所望のデータIDを含む符号化データを抽出し、抽出した符号化データを復号することで、選択されたセンサに基づく点群を復号する(S8633)。なお、三次元データ復号装置は、その他の符号化データは復号しない。
最後に、三次元データ復号装置は、復号された点群を提示(例えば表示)する(S8634)。図55は、センサ1のボタン8663が押下された場合の例を示し、センサ1の点群が提示される。図56は、センサ1のボタン8663とセンサ2のボタン8664の両方が押下された場合の例を示し、センサ1及びセンサ2の点群が提示される。
以上のように、本実施の形態に係る三次元データ符号化装置は、図57に示す処理を行う。三次元データ符号化装置は、点群データを符号化することで符号化データを生成し(S8641)、符号化データを含むビットストリームを生成する(S8642)。ビットストリームは、点群データに対応するセンサを示す第1情報(例えば構成情報又は属性情報S等)を含む。
これによれば、三次元データ復号装置は、第1情報に用いて所望のセンサで得られた点群データを抽出できる。よって、当該三次元データ符号化装置は、適切に点群データを抽出できるビットストリームを生成できる。
例えば、図40等に示すように、第1情報は、点群データに含まれる複数の三次元点毎に生成され、対応する三次元点に対応するセンサを示す第2情報(例えば属性情報S)を含む。
例えば、図40等に示すように、点群データは、複数の三次元点の各々の位置情報(例えばG)と1以上の属性情報(例えばA1)とを含み、第2情報は、1以上の属性情報の1つ(例えば属性情報S)として符号化データに含まれる。
例えば、図40等に示すように、ビットストリームは、複数の三次元点に共通の第3情報(例えば構成情報)を含み、第2情報は、センサの識別子(例えばS1等)であり、第3情報は、センサの識別とセンサとの対応関係を示す第4情報(例えばID等)を含む。
例えば、図41に示すように、ビットストリームは、複数の三次元点に共通の第3情報を含み第3情報は、センサ毎の三次元点の数(例えばnumPoints)を示す。
例えば、図42に示すように、点群データは、複数の三次元点の各々の位置情報と1以上の属性情報とを含み、第1情報は、1以上の属性情報の各々に対応するセンサを示す。
例えば、図43に示すように、三次元データ符号化装置は、さらに、第1センサに基づく第1点群データと、第2センサに基づく第2点群データとを合成することで、点群データ(例えば合成点群情報(重複点無し))を生成し、合成では、第1点群データと第2点群データとに同一の位置情報を有する第1の点の属性情報が含まれる場合、第1点群データに含まれる第1の点の属性情報と第2点群データに含まれる第1の点の属性情報とに基づく属性情報(例えばf(A2X3、A2Y2)を合成後の属性情報として生成し、第1の情報は、点群データに含まれる第1の点の情報が第1センサ及び第2センサに基づくこと(例えばS3)を示す。
例えば、図51に示すように、三次元データ符号化装置は、点群データの符号化では、点群データを第1センサに基づく第1点群データと、第2センサに基づく第2点群データとに分割し、第1点群データ及び第2点群データを符号化することで符号化データを生成する。ビットストリームは、第1点群データ用の第1制御情報(例えば分割データ1の構成情報)と、第2点群データ用の第2制御情報(例えば分割データ2の構成情報)とを含む。第1情報は、(1)第1制御情報に含まれ、第1点群データに対応するセンサを示す情報と、(2)第2制御情報に含まれ、第2点群データに対応するセンサを示す情報と、を含む。
例えば、図51に示すように、三次元データ符号化装置は、点群データの符号化では、点群データを第1センサに基づく第1点群データと、第2センサに基づく第2点群データとに分割し、第1点群データ及び第2点群データを符号化することで符号化データを生成する。ビットストリームは、第1点群データと第2点群データとに共通の制御情報(例えば全体構成情報)を含み、第1情報は、制御情報に含まれる。
例えば、三次元データ符号化装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
また、本実施の形態に係る三次元データ復号装置は、図58に示す処理を行う。三次元データ復号装置は、点群データが符号化されることで生成された符号化データを含み、かつ点群データに対応するセンサを示す第1情報を含むビットストリームを復号することで、第1情報及び点群データを取得する(S8651)。例えば、三次元データ復号装置は、取得した第1情報を用いてビットストリームから所望のセンサに対応する点群データを取得する。
これによれば、当該三次元データ復号装置は、適切に点群データを抽出できるビットストリームを復号することで点群データを取得できる。
例えば、図40等に示すように、第1情報は、点群データに含まれる複数の三次元点毎に生成され、対応する三次元点に対応するセンサを示す第2情報(例えば属性情報S)を含む。
例えば、図40等に示すように、点群データは、複数の三次元点の各々の位置情報(例えばG)と1以上の属性情報(例えばA1)とを含み、第2情報は、1以上の属性情報の1つ(例えば属性情報S)として符号化データに含まれる。
例えば、図40等に示すように、ビットストリームは、複数の三次元点に共通の第3情報(例えば構成情報)を含み、第2情報は、センサの識別子(例えばS1等)であり、第3情報は、センサの識別とセンサとの対応関係を示す第4情報(例えばID等)を含む。
例えば、図41に示すように、ビットストリームは、複数の三次元点に共通の第3情報を含み第3情報は、センサ毎の三次元点の数(例えばnumPoints)を示す。
例えば、図42に示すように、点群データは、複数の三次元点の各々の位置情報と1以上の属性情報とを含み、第1情報は、1以上の属性情報の各々に対応するセンサを示す。
例えば、図43に示すように、点群データ(例えば合成点群情報(重複点無し))は、第1センサに基づく第1点群データと、第2センサに基づく第2点群データとを合成することで生成される。合成では、第1点群データと第2点群データとに同一の位置情報を有する第1の点の属性情報が含まれる場合、第1点群データに含まれる第1の点の属性情報と第2点群データに含まれる第1の点の属性情報とに基づく属性情報(例えばf(A2X3、A2Y2)が合成後の属性情報として生成され、第1の情報は、点群データに含まれる第1の点の情報が第1センサ及び第2センサに基づくこと(例えばS3)を示す。
例えば、図51に示すように、符号化データは、点群データが第1センサに基づく第1点群データと、第2センサに基づく第2点群データとに分割され、第1点群データ及び第2点群データが符号化されることで生成される。ビットストリームは、第1点群データ用の第1制御情報(例えば分割データ1の構成情報)と、第2点群データ用の第2制御情報(例えば分割データ2の構成情報)とを含む。第1情報は、(1)第1制御情報に含まれ、第1点群データに対応するセンサを示す情報と、(2)第2制御情報に含まれ、第2点群データに対応するセンサを示す情報と、を含む。
例えば、図51に示すように、符号化データは、点群データが第1センサに基づく第1点群データと、第2センサに基づく第2点群データとに分割され、第1点群データ及び第2点群データが符号化されることで生成される。ビットストリームは、第1点群データと第2点群データとに共通の制御情報(例えば全体構成情報)を含み、第1情報は、制御情報に含まれる。
例えば、三次元データ復号装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
以上、本開示の実施の形態に係る三次元データ符号化装置及び三次元データ復号装置等について説明したが、本開示は、この実施の形態に限定されるものではない。
また、上記実施の形態に係る三次元データ符号化装置及び三次元データ復号装置等に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、本開示は、三次元データ符号化装置及び三次元データ復号装置等により実行される三次元データ符号化方法又は三次元データ復号方法等として実現されてもよい。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、一つまたは複数の態様に係る三次元データ符号化装置及び三次元データ復号装置等について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。