本開示の一態様に係る情報送信方法は、移動体に搭載されるクライアント装置における情報送信方法であって、前記移動体に搭載されたセンサにより得られた、前記移動体の周辺状況を示すセンサ情報を取得し、前記センサ情報を記憶部に記憶し、前記移動体がサーバへ前記センサ情報を送信可能な環境に存在するかを判定し、前記移動体が前記サーバへ前記センサ情報を送信可能な環境に存在すると判定した場合、前記センサ情報を前記サーバに送信する。
これによれば、当該情報送信方法は、三次元データを作成するための情報の送信を適切に行うことができる。
例えば、前記情報送信方法は、さらに、前記センサ情報から、前記移動体の周辺の三次元データを作成し、作成された前記三次元データを用いて前記移動体の自己位置を推定してもよい。
例えば、前記情報送信方法は、さらに、前記サーバに三次元マップの送信要求を送信し、前記サーバから前記三次元マップを受信し、前記自己位置の推定では、前記三次元データと前記三次元マップとを用いて、前記自己位置を推定してもよい。
これによれば、当該情報送信方法は、自己位置推定の精度を向上できる。
例えば、前記センサ情報は、レーザセンサで得られた情報、輝度画像、赤外画像、デプス画像、センサの位置情報、及びセンサの速度情報のうち少なくとも一つを含んでもよい。
例えば、前記センサ情報は、当該センサ情報が前記センサにより取得された際の前記移動体又は前記センサの位置を示す取得場所情報を含んでもよい。
例えば、前記センサ情報は、当該センサ情報が前記センサにより取得された時刻を示す取得時刻情報を含んでもよい。
例えば、前記情報送信方法は、さらに、前記サーバから時刻情報を取得し、取得した時刻情報を用いて前記取得時刻情報を生成してもよい。
これによれば、複数のクライアント装置から送信されるセンサ情報の取得時刻情報を同期させることができる。
例えば、前記情報送信方法は、さらに、前記サーバから場所及び時刻を指定する指定情報を含むセンサ情報送信要求を受信し、前記記憶部に、前記指定情報で示される場所及び時刻において得られたセンサ情報が記憶されており、かつ、前記移動体が前記サーバへ前記センサ情報を送信可能な環境に存在すると判定した場合、前記指定情報で示される場所及び時刻において得られた前記センサ情報を前記サーバに送信してもよい。
例えば、前記情報送信方法は、さらに、前記サーバに送信済みの前記センサ情報を前記記憶部から削除してもよい。
これによれば、記憶部の容量を削減できる。
例えば、前記情報送信方法は、さらに、前記センサ情報が前記センサにより取得された際の前記移動体又は前記センサの位置と、現在の前記移動体又は前記センサの位置との差が、予め定められた距離を超えた場合に前記センサ情報を前記記憶部から削除してもよい。
これによれば、記憶部の容量を削減できる。
例えば、前記情報送信方法は、さらに、前記センサ情報が前記センサにより取得された時刻と、現在の時刻との差が、予め定められた時間を超えた場合に前記センサ情報を前記記憶部から削除してもよい。
これによれば、記憶部の容量を削減できる。
また、本開示の一態様に係るクライアント装置は、移動体に搭載されるクライアント装置であって、プロセッサと、メモリとを備え、前記プロセッサは、前記メモリを用いて、前記移動体に搭載されたセンサにより得られた、前記移動体の周辺状況を示すセンサ情報を取得し、前記センサ情報を記憶部に記憶し、前記移動体がサーバへ前記センサ情報を送信可能な環境に存在するかを判定し、前記移動体が前記サーバへ前記センサ情報を送信可能な環境に存在すると判定した場合、前記センサ情報を前記サーバに送信する。
これによれば、当該クライアント装置は、三次元データを作成するための情報の送信を適切に行うことができる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
まず、本実施の形態に係る符号化三次元データ(以下、符号化データとも記す)のデータ構造について説明する。図1は、本実施の形態に係る符号化三次元データの構成を示す図である。
本実施の形態では、三次元空間は、動画像の符号化におけるピクチャに相当するスペース(SPC)に分割され、スペースを単位として三次元データが符号化される。スペースは、さらに、動画像符号化におけるマクロブロックなどに相当するボリューム(VLM)に分割され、VLMを単位として予測及び変換が行われる。ボリュームは、位置座標が対応付けられる最小単位である複数のボクセル(VXL)を含む。なお、予測とは、二次元画像で行われる予測と同様に、他の処理単位を参照し、処理対象の処理単位と類似する予測三次元データを生成し、当該予測三次元データと処理対象の処理単位との差分を符号化することである。また、この予測は、同一時刻の他の予測単位を参照する空間予測のみならず、異なる時刻の予測単位を参照する時間予測を含む。
例えば、三次元データ符号化装置(以下、符号化装置とも記す)は、ポイントクラウドなどの点群データにより表現される三次元空間を符号化する際には、ボクセルのサイズに応じて、点群の各点、又は、ボクセル内に含まれる複数点をまとめて符号化する。ボクセルを細分化すれば点群の三次元形状を高精度に表現でき、ボクセルのサイズを大きくすれば点群の三次元形状をおおまかに表現できる。
なお、以下では、三次元データがポイントクラウドである場合を例に説明を行うが、三次元データはポイントクラウドに限定されず、任意の形式の三次元データでよい。
また、階層構造のボクセルを用いてもよい。この場合、n次の階層では、n-1次以下の階層(n次の階層の下層)にサンプル点が存在するかどうかを順に示してもよい。例えば、n次の階層のみを復号する際において、n-1次以下の階層にサンプル点が存在する場合は、n次階層のボクセルの中心にサンプル点が存在するとみなして復号できる。
また、符号化装置は、点群データを、距離センサ、ステレオカメラ、単眼カメラ、ジャイロ、又は慣性センサなどを用いて取得する。
スペースは、動画像の符号化と同様に、単独で復号可能なイントラ・スペース(I-SPC)、単方向の参照のみ可能なプレディクティブ・スペース(P-SPC)、及び、双方向の参照が可能なバイディレクショナル・スペース(B-SPC)を含む少なくとも3つの予測構造のいずれかに分類される。また、スペースは復号時刻と表示時刻との2種類の時刻情報を有する。
また、図1に示すように、複数のスペースを含む処理単位として、ランダムアクセス単位であるGOS(Group Of Space)が存在する。さらに、複数のGOSを含む処理単位としてワールド(WLD)が存在する。
ワールドが占める空間領域は、GPS又は緯度及び経度情報などにより、地球上の絶対位置と対応付けられる。この位置情報はメタ情報として格納される。なお、メタ情報は、符号化データに含まれてもよいし、符号化データとは別に伝送されてもよい。
また、GOS内では、全てのSPCが三次元的に隣接してもよいし、他のSPCと三次元的に隣接しないSPCが存在してもよい。
なお、以下では、GOS、SPC又はVLM等の処理単位に含まれる三次元データに対する、符号化、復号又は参照等の処理を、単に、処理単位を符号化、復号又は参照する等とも記す。また、処理単位に含まれる三次元データは、例えば、三次元座標等の空間位置と、色情報等の特性値との少なくとも一つの組を含む。
次に、GOSにおけるSPCの予測構造について説明する。同一GOS内の複数のSPC、又は、同一SPC内の複数のVLMは、互いに異なる空間を占めるが、同じ時刻情報(復号時刻及び表示時刻)を持つ。
また、GOS内で復号順で先頭となるSPCはI-SPCである。また、GOSにはクローズドGOSとオープンGOSとの2種類が存在する。クローズドGOSは、先頭I-SPCから復号開始する際に、GOS内の全てのSPCを復号できるGOSである。オープンGOSでは、GOS内で先頭I-SPCよりも表示時刻が前となる一部のSPCは異なるGOSを参照しており、当該GOSのみで復号を行うことができない。
なお、地図情報などの符号化データでは、WLDを符号化順とは逆方向から復号することがあり、GOS間に依存性があると逆方向再生が困難である。よって、このような場合には、基本的にはクローズドGOSが用いられる。
また、GOSは、高さ方向にレイヤ構造を有し、下のレイヤのSPCから順に符号化又は復号が行われる。
図2はGOSの最下層レイヤに属するSPC間の予測構造の一例を示す図である。図3はレイヤ間の予測構造の一例を示す図である。
GOS内には1つ以上のI-SPCが存在する。三次元空間内には、ヒト、動物、車、自転車、信号、又はランドマークとなる建物などのオブジェクトが存在するが、特にサイズが小さいオブジェクトはI-SPCとして符号化すると有効である。例えば、三次元データ復号装置(以下、復号装置とも記す)は、GOSを低処理量又は高速に復号する際には、GOS内のI-SPCのみを復号する。
また、符号化装置は、WLD内のオブジェクトの粗密さに応じてI-SPCの符号化間隔又は出現頻度を切替えてもよい。
また、図3に示す構成において、符号化装置又は復号装置は、複数のレイヤを下層(レイヤ1)から順に符号化又は復号する。これにより、例えば自動走行車などにとってより情報量の多い地面付近のデータの優先度を上げることができる。
なお、ドローンなどで用いられる符号化データでは、GOS内において高さ方向で上のレイヤのSPCから順に符号化又は復号してもよい。
また、符号化装置又は復号装置は、復号装置が荒くGOSを把握でき、徐々に解像度を上げるようにできるように、複数のレイヤを符号化又は復号してもよい。例えば、符号化装置又は復号装置は、レイヤ3、8、1、9…の順に符号化又は復号してもよい。
次に、静的オブジェクト及び動的オブジェクトの扱い方について説明する。
三次元空間には、建物又は道路など静的なオブジェクト又はシーン(以降、まとめて静的オブジェクトと呼ぶ)と、車又はヒトなどの動的なオブジェクト(以降、動的オブジェクトと呼ぶ)とが存在する。オブジェクトの検出は、ポイントクラウドのデータ、又は、ステレオカメラなどのカメラ映像などから特徴点を抽出するなどして、別途行われる。ここでは、動的オブジェクトの符号化方法の例について説明する。
第1方法は、静的オブジェクトと動的オブジェクトとを区別せずに符号化する方法である。第2方法は、静的オブジェクトと動的オブジェクトとを識別情報により区別する方法である。
例えば、GOSが識別単位として用いられる。この場合、静的オブジェクトを構成するSPCを含むGOSと、動的オブジェクトを構成するSPCを含むGOSとが、符号化データ内、又は符号化データとは別途格納される識別情報により区別される。
または、SPCが識別単位として用いられてもよい。この場合、静的オブジェクトを構成するVLMを含むSPCと、動的オブジェクトを構成するVLMを含むSPCとが、上記識別情報により区別される。
または、VLM或いはVXLが識別単位として用いられてもよい。この場合、静的オブジェクトを含むVLM又はVXLと、動的オブジェクトを含むVLM又はVXLとが上記識別情報により区別される。
また、符号化装置は、動的オブジェクトを1以上のVLM又はSPCとして符号化し、静的オブジェクトを含むVLM又はSPCと、動的オブジェクトを含むSPCとを、互いに異なるGOSとして符号化してもよい。また、符号化装置は、動的オブジェクトのサイズに応じてGOSのサイズが可変となる場合には、GOSのサイズをメタ情報として別途格納する。
また、符号化装置は、静的オブジェクトと動的オブジェクトとを互いに独立に符号化し、静的オブジェクトから構成されるワールドに対して、動的オブジェクトを重畳してもよい。このとき、動的オブジェクトは1以上のSPCから構成され、各SPCは、当該SPCが重畳される静的オブジェクトを構成する1以上のSPCに対応付けられる。なお、動的オブジェクトをSPCではなく、1以上のVLM又はVXLにより表現してもよい。
また、符号化装置は、静的オブジェクトと動的オブジェクトとを互いに異なるストリームとして符号化してもよい。
また、符号化装置は、動的オブジェクトを構成する1以上のSPCを含むGOSを生成してもよい。さらに、符号化装置は、動的オブジェクトを含むGOS(GOS_M)と、GOS_Mの空間領域に対応する静的オブジェクトのGOSとを同一サイズ(同一の空間領域を占める)に設定してもよい。これにより、GOS単位で重畳処理を行うことができる。
動的オブジェクトを構成するP-SPC又はB-SPCは、符号化済みの異なるGOSに含まれるSPCを参照してもよい。動的オブジェクトの位置が時間的に変化し、同一の動的オブジェクトが異なる時刻のGOSとして符号化されるケースでは、GOSを跨いだ参照が圧縮率の観点から有効となる。
また、符号化データの用途に応じて、上記の第1方法と第2方法とを切替えてもよい。例えば、符号化三次元データを地図として用いる場合は、動的オブジェクトを分離できることが望ましいため、符号化装置は、第2方法を用いる。一方、符号化装置は、コンサート又はスポーツなどのイベントの三次元データを符号化する場合に、動的オブジェクトを分離する必要がなければ、第1方法を用いる。
また、GOS又はSPCの復号時刻と表示時刻とは符号化データ内、又はメタ情報として格納できる。また、静的オブジェクトの時刻情報は全て同一としてもよい。このとき、実際の復号時刻と表示時刻は、復号装置が決定するものとしてもよい。あるいは、復号時刻として、GOS、あるいは、SPC毎に異なる値が付与され、表示時刻として全て同一の値が付与されてもよい。さらに、HEVCのHRD(Hypothetical Reference Decoder)など動画像符号化におけるデコーダモデルのように、デコーダが所定のサイズのバッファを有し、復号時刻に従って所定のビットレートでビットストリームを読み込めば破綻なく復号できることを保証するモデルを導入してもよい。
次に、ワールド内におけるGOSの配置について説明する。ワールドにおける三次元空間の座標は、互いに直交する3本の座標軸(x軸、y軸、z軸)により表現される。GOSの符号化順に所定のルールを設けることで、空間的に隣接するGOSが符号化データ内で連続するように符号化を行える。例えば、図4に示す例では、xz平面内のGOSを連続的に符号化する。あるxz平面内の全てのGOSの符号化終了後にy軸の値を更新する。すなわち、符号化が進むにつれて、ワールドはy軸方向に伸びていく。また、GOSのインデックス番号は符号化順に設定される。
ここで、ワールドの三次元空間は、GPS、或いは緯度及び経度などの地理的な絶対座標と1対1に対応付けておく。或いは、予め設定した基準位置からの相対位置により三次元空間が表現されてもよい。三次元空間のx軸、y軸、z軸の方向は、緯度及び経度などに基づいて決定される方向ベクトルとして表現され、当該方向ベクトルはメタ情報として符号化データと共に格納される。
また、GOSのサイズは固定とし、符号化装置は、当該サイズをメタ情報として格納する。また、GOSのサイズは、例えば、都市部か否か、又は、室内か外かなどに応じて切替えられてもよい。つまり、GOSのサイズは、情報としての価値があるオブジェクトの量又は性質に応じて切替えられてもよい。あるいは、符号化装置は、同一ワールド内において、オブジェクトの密度などに応じて、GOSのサイズ、又は、GOS内のI-SPCの間隔を適応的に切替えてもよい。例えば、符号化装置は、オブジェクトの密度が高いほど、GOSのサイズを小さくし、GOS内のI-SPCの間隔を短くする。
図5の例では、3番目から10番目のGOSの領域では、オブジェクトの密度が高いため、細かい粒度でのランダムアクセスを実現するために、GOSが細分化されている。なお、7番目から10番目のGOSは、それぞれ、3番目から6番目のGOSの裏側に存在する。
次に、本実施の形態に係る三次元データ符号化装置の構成及び動作の流れを説明する。図6は、本実施の形態に係る三次元データ符号化装置100のブロック図である。図7は、三次元データ符号化装置100の動作例を示すフローチャートである。
図6に示す三次元データ符号化装置100は、三次元データ111を符号化することで符号化三次元データ112を生成する。この三次元データ符号化装置100は、取得部101と、符号化領域決定部102と、分割部103と、符号化部104とを備える。
図7に示すように、まず、取得部101は、点群データである三次元データ111を取得する(S101)。
次に、符号化領域決定部102は、取得した点群データに対応する空間領域のうち、符号化対象の領域を決定する(S102)。例えば、符号化領域決定部102は、ユーザ又は車両の位置に応じて、当該位置の周辺の空間領域を符号化対象の領域に決定する。
次に、分割部103は、符号化対象の領域に含まれる点群データを、各処理単位に分割する。ここで処理単位とは、上述したGOS及びSPC等である。また、この符号化対象の領域は、例えば、上述したワールドに対応する。具体的には、分割部103は、予め設定したGOSのサイズ、又は、動的オブジェクトの有無或いはサイズに基づいて、点群データを処理単位に分割する(S103)。また、分割部103は、各GOSにおいて符号化順で先頭となるSPCの開始位置を決定する。
次に、符号化部104は、各GOS内の複数のSPCを順次符号化することで符号化三次元データ112を生成する(S104)。
なお、ここでは、符号化対象の領域をGOS及びSPCに分割した後に、各GOSを符号化する例を示したが、処理の手順は上記に限らない。例えば、一つのGOSの構成を決定した後にそのGOSを符号化し、その後、次のGOSの構成を決定する等の手順を用いてもよい。
このように、三次元データ符号化装置100は、三次元データ111を符号化することで符号化三次元データ112を生成する。具体的には、三次元データ符号化装置100は、三次元データを、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位(GOS)に分割し、第1処理単位(GOS)を複数の第2処理単位(SPC)に分割し、第2処理単位(SPC)を複数の第3処理単位(VLM)に分割する。また、第3処理単位(VLM)は、位置情報が対応付けられる最小単位である1以上のボクセル(VXL)を含む。
次に、三次元データ符号化装置100は、複数の第1処理単位(GOS)の各々を符号化することで符号化三次元データ112を生成する。具体的には、三次元データ符号化装置100は、各第1処理単位(GOS)において、複数の第2処理単位(SPC)の各々を符号化する。また、三次元データ符号化装置100は、各第2処理単位(SPC)において、複数の第3処理単位(VLM)の各々を符号化する。
例えば、三次元データ符号化装置100は、処理対象の第1処理単位(GOS)がクローズドGOSである場合には、処理対象の第1処理単位(GOS)に含まれる処理対象の第2処理単位(SPC)を、処理対象の第1処理単位(GOS)に含まれる他の第2処理単位(SPC)を参照して符号化する。つまり、三次元データ符号化装置100は、処理対象の第1処理単位(GOS)とは異なる第1処理単位(GOS)に含まれる第2処理単位(SPC)を参照しない。
一方、処理対象の第1処理単位(GOS)がオープンGOSである場合には、処理対象の第1処理単位(GOS)に含まれる処理対象の第2処理単位(SPC)を、処理対象の第1処理単位(GOS)に含まれる他の第2処理単位(SPC)、又は、処理対象の第1処理単位(GOS)とは異なる第1処理単位(GOS)に含まれる第2処理単位(SPC)を参照して符号化する。
また、三次元データ符号化装置100は、処理対象の第2処理単位(SPC)のタイプとして、他の第2処理単位(SPC)を参照しない第1タイプ(I-SPC)、他の一つの第2処理単位(SPC)を参照する第2タイプ(P-SPC)、及び他の二つの第2処理単位(SPC)を参照する第3タイプのうちいずれかを選択し、選択したタイプに従い処理対象の第2処理単位(SPC)を符号化する。
次に、本実施の形態に係る三次元データ復号装置の構成及び動作の流れを説明する。図8は、本実施の形態に係る三次元データ復号装置200のブロックのブロック図である。図9は、三次元データ復号装置200の動作例を示すフローチャートである。
図8に示す三次元データ復号装置200は、符号化三次元データ211を復号することで復号三次元データ212を生成する。ここで、符号化三次元データ211は、例えば、三次元データ符号化装置100で生成された符号化三次元データ112である。この三次元データ復号装置200は、取得部201と、復号開始GOS決定部202と、復号SPC決定部203と、復号部204とを備える。
まず、取得部201は、符号化三次元データ211を取得する(S201)。次に、復号開始GOS決定部202は、復号対象のGOSに決定する(S202)。具体的には、復号開始GOS決定部202は、符号化三次元データ211内、又は符号化三次元データとは別に格納されたメタ情報を参照して、復号を開始する空間位置、オブジェクト、又は、時刻に対応するSPCを含むGOSを復号対象のGOSに決定する。
次に、復号SPC決定部203は、GOS内で復号するSPCのタイプ(I、P、B)を決定する(S203)。例えば、復号SPC決定部203は、(1)I-SPCのみを復号するか、(2)I-SPC及びP-SPCを復号するか、(3)全てのタイプを復号するかを決定する。なお、全てのSPCを復号するなど、予め復号するSPCのタイプが決定している場合は、本ステップは行われなくてもよい。
次に、復号部204は、GOS内で復号順(符号化順と同一)で先頭となるSPCが符号化三次元データ211内で開始するアドレス位置を取得し、当該アドレス位置から先頭SPCの符号化データを取得し、当該先頭SPCから順に各SPCを順次復号する(S204)。なお、上記アドレス位置は、メタ情報等に格納されている。
このように、三次元データ復号装置200は、復号三次元データ212を復号する。具体的には、三次元データ復号装置200は、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位(GOS)の符号化三次元データ211の各々を復号することで第1処理単位(GOS)の復号三次元データ212を生成する。より具体的には、三次元データ復号装置200は、各第1処理単位(GOS)において、複数の第2処理単位(SPC)の各々を復号する。また、三次元データ復号装置200は、各第2処理単位(SPC)において、複数の第3処理単位(VLM)の各々を復号する。
以下、ランダムアクセス用のメタ情報について説明する。このメタ情報は、三次元データ符号化装置100で生成され、符号化三次元データ112(211)に含まれる。
従来の二次元の動画像におけるランダムアクセスでは、指定した時刻の近傍となるランダムアクセス単位の先頭フレームから復号を開始していた。一方、ワールドにおいては、時刻に加えて、空間(座標又はオブジェクトなど)に対するランダムアクセスが想定される。
そこで、少なくとも座標、オブジェクト、及び時刻の3つの要素へのランダムアクセスを実現するために、各要素とGOSのインデックス番号とを対応付けるテーブルを用意する。さらに、GOSのインデックス番号とGOSの先頭となるI-SPCのアドレスを対応付ける。図10は、メタ情報に含まれるテーブルの一例を示す図である。なお、図10に示す全てのテーブルが用いられる必要はなく、少なくとも一つのテーブルが用いられればよい。
以下、一例として、座標を起点とするランダムアクセスについて説明する。座標(x2、y2、z2)にアクセスする際には、まず、座標-GOSテーブルを参照して、座標が(x2、y2、z2)である地点は2番目のGOSに含まれることが分かる。次に、GOSアドレステーブルを参照し、2番目のGOSにおける先頭のI-SPCのアドレスがaddr(2)であることが分かるため、復号部204は、このアドレスからデータを取得して復号を開始する。
なお、アドレスは、論理フォーマットにおけるアドレスであっても、HDD又はメモリの物理アドレスであってもよい。また、アドレスの代わりにファイルセグメントを特定する情報が用いられてもよい。例えば、ファイルセグメントは、1つ以上のGOSなどをセグメント化した単位である。
また、オブジェクトが複数のGOSに跨る場合には、オブジェクト-GOSテーブルにおいて、オブジェクトが属するGOSを複数示してもよい。当該複数のGOSがクローズドGOSであれば、符号化装置及び復号装置は、並列に符号化又は復号を行うことができる。一方、当該複数のGOSがオープンGOSであれば、複数のGOSが互いに参照しあうことでより圧縮効率を高めることができる。
オブジェクトの例としては、ヒト、動物、車、自転車、信号、又はランドマークとなる建物などがある。例えば、三次元データ符号化装置100は、ワールドの符号化時に三次元のポイントクラウドなどからオブジェクトに特有の特徴点を抽出し、当該特徴点に基づきオブジェクトを検出し、検出したオブジェクトをランダムアクセスポイントとして設定できる。
このように、三次元データ符号化装置100は、複数の第1処理単位(GOS)と、複数の第1処理単位(GOS)の各々に対応付けられている三次元座標とを示す第1情報を生成する。また、符号化三次元データ112(211)は、この第1情報を含む。また、第1情報は、さらに、複数の第1処理単位(GOS)の各々に対応付けられている、オブジェクト、時刻及びデータ格納先のうち少なくとも一つを示す。
三次元データ復号装置200は、符号化三次元データ211から第1情報を取得し、第1情報を用いて、指定された三次元座標、オブジェクト又は時刻に対応する第1処理単位の符号化三次元データ211を特定し、当該符号化三次元データ211を復号する。
以下、その他のメタ情報の例について説明する。ランダムアクセス用のメタ情報の他に、三次元データ符号化装置100は、以下のようなメタ情報を生成及び格納してもよい。また、三次元データ復号装置200は、このメタ情報を復号時に利用してもよい。
三次元データを地図情報として用いる場合などには、用途に応じてプロファイルが規定され、当該プロファイルを示す情報がメタ情報に含まれてもよい。例えば、市街地或いは郊外向け、又は、飛行物体向けのプロファイルが規定され、それぞれにおいてワールド、SPC又はVLMの最大又は最小サイズなどが定義される。例えば、市街地向けでは、郊外向けよりも詳細な情報が必要なため、VLMの最小サイズが小さく設定される。
メタ情報は、オブジェクトの種類を示すタグ値を含んでもよい。このタグ値はオブジェクトを構成するVLM、SPC、又はGOSと対応付けられる。例えば、タグ値「0」は「人」を示し、タグ値「1」は「車」を示し、タグ値「2」は「信号機」を示す、などオブジェクトの種類ごとにタグ値が設定されてもよい。または、オブジェクトの種類が判定しにくい又は判定する必要がない場合はサイズ、又は、動的オブジェクトか静的オブジェクトかなどの性質を示すタグ値が用いられてもよい。
また、メタ情報は、ワールドが占める空間領域の範囲を示す情報を含んでもよい。
また、メタ情報は、符号化データのストリーム全体、又は、GOS内のSPCなど、複数のSPCに共通のヘッダ情報として、SPC又はVXLのサイズを格納してもよい。
また、メタ情報は、ポイントクラウドの生成に用いた距離センサ或いはカメラなどの識別情報、又は、ポイントクラウド内の点群の位置精度を示す情報を含んでもよい。
また、メタ情報は、ワールドが静的オブジェクトのみから構成されるか、動的オブジェクトを含むかを示す情報を含んでもよい。
以下、本実施の形態の変形例について説明する。
符号化装置又は復号装置は、互いに異なる2以上のSPC又はGOSを並列で符号化又は復号してもよい。並列で符号化又は復号するGOSは、GOSの空間位置を示すメタ情報などに基づいて決定できる。
三次元データを車又は飛行物体などが移動する際の空間地図として用いる、又はこのような空間地図を生成するケースなどでは、符号化装置又は復号装置は、GPS、経路情報、又はズーム倍率などに基づいて特定される空間に含まれるGOS又はSPCを符号化又は復号してもよい。
また、復号装置は、自己位置又は走行経路に近い空間から順に復号を行ってもよい。符号化装置又は復号装置は、自己位置又は走行経路から遠い空間を、近い空間に比べて優先度を落として符号化又は復号してもよい。ここで、優先度を落とすとは、処理順を下げる、解像度を下げる(間引いて処理する)、又は、画質を下げる(符号化効率を上げる。例えば、量子化ステップを大きくする。)等である。
また、復号装置は、空間内で階層的に符号化されている符号化データを復号する際は、低階層のみを復号してもよい。
また、復号装置は、地図のズーム倍率又は用途に応じて、低階層から優先的に復号してもよい。
また、車又はロボットの自律走行時に行う自己位置推定又は物体認識などの用途では、符号化装置又は復号装置は、路面から特定高さ以内の領域(認識を行う領域)以外は解像度を落として符号化又は復号を行ってもよい。
また、符号化装置は、室内と室外との空間形状を表現するポイントクラウドをそれぞれ個別に符号化してもよい。例えば、室内を表現するGOS(室内GOS)と室外を表現するGOS(室外GOS)とを分けることで、復号装置は、符号化データを利用する際に、視点位置に応じて復号するGOSを選択できる。
また、符号化装置は、座標が近い室内GOSと室外GOSとを、符号化ストリーム内で隣接するように符号化してもよい。例えば、符号化装置は、両者の識別子を対応付け、符号化ストリーム内、又は別途格納されるメタ情報内に対応付けた識別子を示す情報を格納する。これにより、復号装置は、メタ情報内の情報を参照して、座標が近い室内GOSと室外GOSとを識別できる。
また、符号化装置は、室内GOSと室外GOSとで、GOS又はSPCのサイズを切替えてもよい。例えば、符号化装置は、室内では室外に比べてGOSのサイズを小さく設定する。また、符号化装置は、室内GOSと室外GOSとで、ポイントクラウドから特徴点を抽出する際の精度、又はオブジェクト検出の精度などを変更してもよい。
また、符号化装置は、復号装置が動的オブジェクトを静的オブジェクトと区別して表示するための情報を符号化データに付加してもよい。これにより、復号装置は、動的オブジェクトと赤枠又は説明用の文字などとを合わせて表示できる。なお、復号装置は、動的オブジェクトの代わりに赤枠又は説明用の文字のみを表示してもよい。また、復号装置は、より細かいオブジェクト種別を表示してもよい。例えば、車には赤枠が用いられ、ヒトには黄色枠が用いられてもよい。
また、符号化装置又は復号装置は、動的オブジェクトの出現頻度、又は、静的オブジェクトと動的オブジェクトとの割合などに応じて、動的オブジェクトと静的オブジェクトとを異なるSPC又はGOSとして符号化又は復号するかどうかを決定してもよい。例えば、動的オブジェクトの出現頻度又は割合が閾値を超える場合には、動的オブジェクトと静的オブジェクトとが混在するSPC又はGOSが許容され、動的オブジェクトの出現頻度又は割合が閾値を超えない場合には、動的オブジェクトと静的オブジェクトとが混在するSPC又はGOSが許容されない。
動的オブジェクトをポイントクラウドではなく、カメラの二次元画像情報から検出する際には、符号化装置は、検出結果を識別するための情報(枠又は文字など)とオブジェクト位置とを別途取得し、これらの情報を三次元の符号化データの一部として符号化してもよい。この場合、復号装置は、静的オブジェクトの復号結果に対して、動的オブジェクトを示す補助情報(枠又は文字)を重畳して表示する。
また、符号化装置は、静的オブジェクトの形状の複雑さなどに応じて、SPCにおけるVXL又はVLMの粗密さを変更してもよい。例えば、符号化装置は、静的オブジェクトの形状が複雑なほど、VXL又はVLMを密に設定する。さらに、符号化装置は、空間位置又は色情報を量子化する際の量子化ステップなどをVXL又はVLMの粗密さに応じて決定してもよい。例えば、符号化装置は、VXL又はVLMが密なほど量子化ステップを小さく設定する。
以上のように、本実施の形態に係る符号化装置又は復号装置は、座標情報を有するスペース単位で空間の符号化又は復号を行う。
また、符号化装置及び復号装置は、スペース内において、ボリューム単位で符号化又は復号を行う。ボリュームは、位置情報が対応付けられる最小単位であるボクセルを含む。
また、符号化装置及び復号装置は、座標、オブジェクト、及び時間等を含む空間情報の各要素とGOPとを対応付けたテーブル、又は各要素間を対応付けたテーブルにより任意の要素間を対応付けて符号化又は復号を行う。また、復号装置は、選択された要素の値を用いて座標を判定し、座標からボリューム、ボクセル又はスペースを特定し、当該ボリューム又はボクセルを含むスペース、又は特定されたスペースを復号する。
また、符号化装置は、特徴点抽出又はオブジェクト認識により、要素により選択可能なボリューム、ボクセル又はスペースを判定し、ランダムアクセス可能なボリューム、ボクセル又はスペースとして符号化する。
スペースは、当該スペース単体で符号化又は復号可能なI-SPCと、任意の1つの処理済みスペースを参照して符号化又は復号されるP-SPCと、任意の二つの処理済みスペースを参照して符号化又は復号されるB-SPCとの3種類のタイプに分類される。
1以上のボリュームが、静的オブジェクト又は動的なオブジェクトに対応する。静的オブジェクトを含むスペースと動的オブジェクトを含むスペースとは互いに異なるGOSとして符号化又は復号される。つまり、静的オブジェクトを含むSPCと、動的オブジェクトを含むSPCとが異なるGOSに割り当てられる。
動的オブジェクトはオブジェクトごとに符号化又は復号され、静的オブジェクトを含む1以上のスペースに対応付けられる。つまり、複数の動的オブジェクトは個別に符号化され、得られた複数の動的オブジェクトの符号化データは、静的オブジェクトを含むSPCに対応付けられる。
符号化装置及び復号装置は、GOS内のI-SPCの優先度を上げて、符号化又は復号を行う。例えば、符号化装置は、I-SPCの劣化が少なくなるように(復号後に元の三次元データがより忠実に再現されるように)符号化を行う。また、復号装置は、例えば、I-SPCのみを復号する。
符号化装置は、ワールド内のオブジェクトの疎密さ又は数(量)に応じてI-SPCを用いる頻度を変えて符号化を行ってもよい。つまり、符号化装置は、三次元データに含まれるオブジェクトの数又は粗密さに応じて、I-SPCを選択する頻度を変更する。例えば、符号化装置は、ワールド内のオブジェクトが密であるほどIスペースを用いる頻度を上げる。
また、符号化装置は、ランダムアクセスポイントをGOS単位で設定し、GOSに対応する空間領域を示す情報をヘッダ情報に格納する。
符号化装置は、GOSの空間サイズとして、例えば、デフォルト値を使用する。なお、符号化装置は、オブジェクト又は動的オブジェクトの数(量)又は粗密さに応じてGOSのサイズを変更してもよい。例えば、符号化装置は、オブジェクト或いは動的オブジェクトが密なほど、又は数が多いほど、GOSの空間サイズを小さくする。
また、スペース又はボリュームは、デプスセンサ、ジャイロ、又はカメラ等のセンサで得られた情報を用いて導出された特徴点群を含む。特徴点の座標はボクセルの中心位置に設定される。また、ボクセルの細分化により位置情報の高精度化を実現できる。
特徴点群は、複数のピクチャを用いて導出される。複数のピクチャは、実際の時刻情報と、スペースに対応付けられた複数のピクチャで同一の時刻情報(例えば、レート制御等に用いられる符号化時刻)との少なくとも2種類の時刻情報を有する。
また、1以上のスペースを含むGOS単位で符号化又は復号が行われる。
符号化装置及び復号装置は、処理済みのGOS内のスペースを参照して、処理対象のGOS内のPスペース又はBスペースの予測を行う。
または、符号化装置及び復号装置は、異なるGOSを参照せず、処理対象のGOS内の処理済スペースを用いて処理対象のGOS内のPスペース又はBスペースの予測を行う。
また、符号化装置及び復号装置は、1以上のGOSを含むワールド単位で符号化ストリームを送信又は受信する。
また、GOSは少なくともワールド内で1方向にレイヤ構造を持ち、符号化装置及び復号装置は、下位レイヤから符号化又は復号を行う。例えば、ランダムアクセス可能なGOSは最下位レイヤに属する。上位レイヤに属するGOSは同一レイヤ以下に属するGOSを参照する。つまり、GOSは、予め定められた方向に空間分割され、各々が1以上のSPCを含む複数のレイヤを含む。符号化装置及び復号装置は、各SPCを、当該SPCと同一レイヤ又は当該SPCより下層のレイヤに含まれるSPCを参照して符号化又は復号する。
また、符号化装置及び復号装置は、複数のGOSを含むワールド単位内で、連続してGOSを符号化又は復号する。符号化装置及び復号装置は、符号化又は復号の順序(方向)を示す情報をメタデータとして書き込む又は読み出す。つまり、符号化データは、複数のGOSの符号化順を示す情報を含む。
また、符号化装置及び復号装置は、互いに異なる2以上のスペース又はGOSを並列で符号化又は復号する。
また、符号化装置及び復号装置は、スペース又はGOSの空間情報(座標、サイズ等)を符号化又は復号する。
また、符号化装置及び復号装置は、GPS、経路情報、又は倍率など、自己の位置又は/及び領域サイズに関する外部情報に基づいて特定される特定空間に含まれるスペース又はGOSを符号化又は復号する。
符号化装置又は復号装置は、自己の位置から遠い空間は、近い空間に比べて優先度を落として符号化又は復号する。
符号化装置は、倍率又は用途に応じて、ワールドのある1方向を設定し、当該方向にレイヤ構造を持つGOSを符号化する。また、復号装置は、倍率又は用途に応じて設定されたワールドのある1方向にレイヤ構造を持つGOSを、下位レイヤから優先的に復号する。
符号化装置は、室内と室外とでスペースに含まれる特徴点抽出、オブジェクト認識の精度、又は空間領域サイズなどを変化させる。ただし、符号化装置及び復号装置は、座標が近い室内GOSと室外GOSとをワールド内で隣接して符号化又は復号し、これらの識別子も対応付けて符号化又は復号する。
(実施の形態2)
ポイントクラウドの符号化データを実際の装置又はサービスにおいて使用する際には、ネットワーク帯域を抑制するために用途に応じて必要な情報を送受信することが望ましい。しかしながら、これまで、三次元データの符号化構造にはそのような機能が存在せず、そのための符号化方法も存在しなかった。
本実施の形態では、三次元のポイントクラウドの符号化データにおいて用途に応じて必要な情報のみを送受信する機能を提供するための三次元データ符号化方法及び三次元データ符号化装置、並びに、当該符号化データを復号する三次元データ復号方法及び三次元データ復号装置について説明する。
特徴量を一定以上持つボクセル(VXL)を特徴ボクセル(FVXL)と定義し、FVXLで構成されるワールド(WLD)をスパースワールド(SWLD)と定義する。図11は、スパースワールド及びワールドの構成例を示す図である。SWLDには、FVXLで構成されるGOSであるFGOSと、FVXLで構成されるSPCであるFSPCと、FVXLで構成されるVLMであるFVLMと含まれる。FGOS、FSPC及びFVLMのデータ構造及び予測構造はGOS、SPC及びVLMと同様であっても構わない。
特徴量とは、VXLの三次元位置情報、又はVXL位置の可視光情報を表現する特徴量であり、特に立体物のコーナー及びエッジ等で多く検出される特徴量である。具体的には、この特徴量は、下記のような三次元特徴量又は可視光の特徴量であるが、その他、VXLの位置、輝度、又は色情報などを表す特徴量であれば、どのようなものでも構わない。
三次元特徴量として、SHOT特徴量(Signature of Histograms of OrienTations)、PFH特徴量(Point Feature Histograms)、又はPPF特徴量(Point Pair Feature)が用いられる。
SHOT特徴量は、VXL周辺を分割し、基準点と分割された領域の法線ベクトルとの内積を計算してヒストグラム化することで得られる。このSHOT特徴量は、次元数が高く、特徴表現力が高いという特徴を有する。
PFH特徴量は、VXL近傍の多数の2点組を選択し、その2点から法線ベクトル等を算出してヒストグラム化することで得られる。このPFH特徴量は、ヒストグラム特徴なので、多少の外乱に対してロバスト性を有し、特徴表現力も高いという特徴を有する。
PPF特徴量は、2点のVXL毎に法線ベクトル等を用いて算出される特徴量である。このPPF特徴量には、全VXLが使われるため、オクルージョンに対してロバスト性を有する。
また、可視光の特徴量として、画像の輝度勾配情報等の情報を用いたSIFT(Scale-Invariant Feature Transform)、SURF(Speeded Up Robust Features)、又はHOG(Histogram of Oriented Gradients)等を用いることができる。
SWLDは、WLDの各VXLから上記特徴量を算出し、FVXLを抽出することで生成される。ここで、SWLDはWLDが更新される度に更新しても構わないし、WLDの更新タイミングに関わらず、一定時間経過後に定期的に更新するようにしても構わない。
SWLDは特徴量毎に生成しても構わない。例えば、SHOT特徴量に基づくSWLD1とSIFT特徴量に基づくSWLD2とのように、特徴量毎に別々のSWLDが生成され、用途に応じてSWLDを使い分けるようにしても構わない。また、算出した各FVXLの特徴量を特徴量情報として各FVXLに保持するようにしても構わない。
次に、スパースワールド(SWLD)の利用方法について説明する。SWLDは特徴ボクセル(FVXL)のみを含むため、全てのVXLを含むWLDと比べて一般的にデータサイズが小さい。
特徴量を利用して何らかの目的を果たすアプリケーションにおいては、WLDの代わりにSWLDの情報を利用することで、ハードディスクからの読み出し時間、並びにネットワーク転送時の帯域及び転送時間を抑制することができる。例えば、地図情報として、WLDとSWLDとをサーバに保持しておき、クライアントからの要望に応じて、送信する地図情報をWLD又はSWLDに切り替えることにより、ネットワーク帯域及び転送時間を抑制することができる。以下、具体的な例を示す。
図12及び図13は、SWLD及びWLDの利用例を示す図である。図12に示すように、車載装置であるクライアント1が自己位置判定用途として地図情報を必要な場合は、クライアント1はサーバに自己位置推定用の地図データの取得要望を送る(S301)。サーバは、当該取得要望に応じてSWLDをクライアント1に送信する(S302)。クライアント1は、受信したSWLDを用いて自己位置判定を行う(S303)。この際、クライアント1はレンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組合せ等の様々な方法でクライアント1の周辺のVXL情報を取得し、得られたVXL情報とSWLDとから自己位置情報を推定する。ここで自己位置情報は、クライアント1の三次元位置情報及び向き等を含む。
図13に示すように、車載装置であるクライアント2が三次元地図等の地図描画の用途として地図情報が必要な場合は、クライアント2はサーバに地図描画用の地図データの取得要望を送る(S311)。サーバは、当該取得要望に応じてWLDをクライアント2に送信する(S312)。クライアント2は、受信したWLDを用いて地図描画を行う(S313)。この際、クライアント2は、例えば、自己が可視光カメラ等で撮影した画像と、サーバから取得したWLDとを用いてレンダリング画像を作成し、作成した画像をカーナビ等の画面に描画する。
上記のように、サーバは、自己位置推定のような各VXLの特徴量を主に必要とする用途ではSWLDをクライアントに送信し、地図描画のように詳細なVXL情報が必要な場合はWLDをクライアントに送信する。これにより、地図データを効率よく送受信することが可能となる。
なお、クライアントは、自分でSWLDとWLDのどちらが必要かを判断し、サーバへSWLD又はWLDの送信を要求しても構わない。また、サーバは、クライアント又はネットワークの状況に合わせて、SWLDかWLDのどちらを送信すべきかを判断しても構わない。
次に、スパースワールド(SWLD)とワールド(WLD)との送受信を切り替える方法を説明する。
ネットワーク帯域に応じてWLD又はSWLDを受信するかを切替えるようにしてもよい。図14は、この場合の動作例を示す図である。例えば、LTE(Long Term Evolution)環境下等の使用できるネットワーク帯域が限られている低速ネットワークが用いられている場合には、クライアントは、低速ネットワーク経由でサーバにアクセスし(S321)、サーバから地図情報としてSWLDを取得する(S322)。一方、Wi‐Fi(登録商標)環境下等のネットワーク帯域に余裕がある高速ネットワークが用いられている場合には、クライアントは、高速ネットワーク経由でサーバにアクセスし(S323)、サーバからWLDを取得する(S324)。これにより、クライアントは、当該クライアントのネットワーク帯域に応じて適切な地図情報を取得することができる。
具体的には、クライアントは、屋外ではLTE経由でSWLDを受信し、施設等の屋内に入った場合はWi‐Fi(登録商標)経由でWLDを取得する。これにより、クライアントは、屋内のより詳細な地図情報を取得することが可能となる。
このように、クライアントは、自身が用いるネットワークの帯域に応じてサーバにWLD又はSWLDを要求してもよい。または、クライアントは、自身が用いるネットワークの帯域を示す情報をサーバに送信し、サーバは当該情報に応じて当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。または、サーバは、クライアントのネットワーク帯域を判別し、当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。
また、移動速度に応じてWLD又はSWLDを受信するかを切替えるようにしてもよい。図15は、この場合の動作例を示す図である。例えば、クライアントが高速移動をしている場合は(S331)、クライアントはSWLDをサーバから受信する(S332)。一方、クライアントが低速移動をしている場合は(S333)、クライアントはWLDをサーバから受信する(S334)。これにより、クライアントは、ネットワーク帯域を抑制しながら、速度に合った地図情報を取得することができる。具体的には、クライアントは、高速道路を走行中にはデータ量の少ないSWLDを受信することにより、大まかな地図情報を適切な速度で更新することができる。一方、クライアントは、一般道路を走行中にはWLDを受信することにより、より詳細な地図情報を取得することが可能となる。
このように、クライアントは、自身の移動速度に応じてサーバにWLD又はSWLDを要求してもよい。または、クライアントは、自身の移動速度を示す情報をサーバに送信し、サーバは当該情報に応じて当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。または、サーバは、クライアントの移動速度を判別し、当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。
また、クライアントは、最初にSWLDをサーバより取得し、その中で重要な領域のWLDを取得しても構わない。例えば、クライアントは、地図データを取得する際に、最初に大まかな地図情報をSWLDで取得し、そこから建物、標識、又は人物等の特徴が多く出現する領域を絞り込み、絞り込んだ領域のWLDを後から取得する。これにより、クライアントは、サーバからの受信データ量を抑制しつつ、必要な領域の詳細な情報を取得することが可能となる。
また、サーバは、WLDから物体毎に別々のSWLDを作成し、クライアントは、用途に合わせて、それぞれを受信してもよい。これにより、ネットワーク帯域を抑制できる。例えば、サーバは、WLDから予め人又は車を認識し、人のSWLDと車のSWLDを作成する。クライアントは、周囲の人の情報を取得したい場合には人のSWLDを、車の情報を取得したい場合には車のSWLDを受信する。また、このようなSWLDの種類はヘッダ等に付加された情報(フラグ又はタイプ等)によって区別するようにしても構わない。
次に、本実施の形態に係る三次元データ符号化装置(例えばサーバ)の構成及び動作の流れを説明する。図16は、本実施の形態に係る三次元データ符号化装置400のブロック図である。図17は、三次元データ符号化装置400による三次元データ符号化処理のフローチャートである。
図16に示す三次元データ符号化装置400は、入力三次元データ411を符号化することで符号化ストリームである符号化三次元データ413及び414を生成する。ここで、符号化三次元データ413はWLDに対応する符号化三次元データであり、符号化三次元データ414はSWLDに対応する符号化三次元データである。この三次元データ符号化装置400は、取得部401と、符号化領域決定部402と、SWLD抽出部403と、WLD符号化部404と、SWLD符号化部405とを備える。
図17に示すように、まず、取得部401は、三次元空間内の点群データである入力三次元データ411を取得する(S401)。
次に、符号化領域決定部402は、点群データが存在する空間領域に基づいて、符号化対象の空間領域を決定する(S402)。
次に、SWLD抽出部403は、符号化対象の空間領域をWLDと定義し、WLDに含まれる各VXLから特徴量を算出する。そして、SWLD抽出部403は、特徴量が予め定められた閾値以上のVXLを抽出し、抽出したVXLをFVXLと定義し、当該FVXLをSWLDへ追加することで、抽出三次元データ412を生成する(S403)。つまり、入力三次元データ411から特徴量が閾値以上の抽出三次元データ412が抽出される。
次に、WLD符号化部404は、WLDに対応する入力三次元データ411を符号化することでWLDに対応する符号化三次元データ413を生成する(S404)。このとき、WLD符号化部404は、符号化三次元データ413のヘッダに、当該符号化三次元データ413がWLDを含むストリームであることを区別するための情報を付加する。
また、SWLD符号化部405は、SWLDに対応する抽出三次元データ412を符号化することでSWLDに対応する符号化三次元データ414を生成する(S405)。このとき、SWLD符号化部405は、符号化三次元データ414のヘッダに、当該符号化三次元データ414がSWLDを含むストリームであることを区別するための情報を付加する。
なお、符号化三次元データ413を生成する処理と、符号化三次元データ414を生成する処理との処理順は上記と逆でもよい。また、これらの処理の一部又は全てが並列に行われてもよい。
符号化三次元データ413及び414のヘッダに付与される情報として、例えば、「world_type」というパラメータが定義される。world_type=0の場合はストリームがWLDを含むことを表し、world_type=1の場合はストリームがSWLDを含むことを表す。更にその他の多数の種別を定義する場合には、world_type=2のように割り当てる数値を増やすようにしても構わない。また、符号化三次元データ413及び414の一方に特定のフラグが含まれてもよい。例えば、符号化三次元データ414に、当該ストリームがSWLDを含むことを含むフラグが付与されてもよい。この場合、復号装置は、フラグの有無によりWLDを含むストリームか、SWLDを含むストリームかを判別できる。
また、WLD符号化部404がWLDを符号化する際に使用する符号化方法と、SWLD符号化部405がSWLDを符号化する際に使用する符号化方法とは異なってもよい。
例えば、SWLDではデータが間引かされているため、WLDに比べ、周辺のデータとの相関が低くなる可能性がある。よって、SWLDに用いられる符号化方法では、WLDに用いられる符号化方法よりもイントラ予測及びインター予測のうちインター予測が優先されてもよい。
また、SWLDに用いられる符号化方法とWLDに用いられる符号化方法とでは、三次元位置の表現手法が異なってもよい。例えば、SWLDでは、三次元座標によりFVXLの三次元位置を表現し、WLDでは、後述する8分木により三次元位置が表現されてもよいし、その逆でもよい。
また、SWLD符号化部405は、SWLDの符号化三次元データ414のデータサイズがWLDの符号化三次元データ413のデータサイズより小さくなるように符号化を行う。例えば、上述したようにSWLDは、WLDに比べ、データ間の相関が低くなる可能性がある。これにより、符号化効率が下がり、符号化三次元データ414のデータサイズがWLDの符号化三次元データ413のデータサイズより大きくなる可能性がある。よって、SWLD符号化部405は、得られた符号化三次元データ414のデータサイズが、WLDの符号化三次元データ413のデータサイズより大きい場合には、再符号化を行うことで、データサイズを低減した符号化三次元データ414を再生成する。
例えば、SWLD抽出部403は、抽出する特徴点の数を減らした抽出三次元データ412を再生成し、SWLD符号化部405は、当該抽出三次元データ412を符号化する。または、SWLD符号化部405における量子化の程度をより粗くしてもよい。例えば、後述する8分木構造において、最下層のデータを丸め込むことで、量子化の程度を粗くすることができる。
また、SWLD符号化部405は、SWLDの符号化三次元データ414のデータサイズをWLDの符号化三次元データ413のデータサイズより小さくできない場合は、SWLDの符号化三次元データ414を生成しなくてもよい。または、WLDの符号化三次元データ413がSWLDの符号化三次元データ414にコピーされてもよい。つまり、SWLDの符号化三次元データ414としてWLDの符号化三次元データ413がそのまま用いられてもよい。
次に、本実施の形態に係る三次元データ復号装置(例えばクライアント)の構成及び動作の流れを説明する。図18は、本実施の形態に係る三次元データ復号装置500のブロック図である。図19は、三次元データ復号装置500による三次元データ復号処理のフローチャートである。
図18に示す三次元データ復号装置500は、符号化三次元データ511を復号することで復号三次元データ512又は513を生成する。ここで、符号化三次元データ511は、例えば、三次元データ符号化装置400で生成された符号化三次元データ413又は414である。
この三次元データ復号装置500は、取得部501と、ヘッダ解析部502と、WLD復号部503と、SWLD復号部504とを備える。
図19に示すように、まず、取得部501は、符号化三次元データ511を取得する(S501)。次に、ヘッダ解析部502は、符号化三次元データ511のヘッダを解析し、符号化三次元データ511がWLDを含むストリームか、SWLDを含むストリームかを判別する(S502)。例えば、上述したworld_typeのパラメータが参照され、判別が行われる。
符号化三次元データ511がWLDを含むストリームである場合(S503でYes)、WLD復号部503は、符号化三次元データ511を復号することでWLDの復号三次元データ512を生成する(S504)。一方、符号化三次元データ511がSWLDを含むストリームである場合(S503でNo)、SWLD復号部504は、符号化三次元データ511を復号することでSWLDの復号三次元データ513を生成する(S505)。
また、符号化装置と同様に、WLD復号部503がWLDを復号する際に使用する復号方法と、SWLD復号部504がSWLDを復号する際に使用する復号方法とは異なってもよい。例えば、SWLDに用いられる復号方法では、WLDに用いられる復号方法よりもイントラ予測及びインター予測のうちインター予測が優先されてもよい。
また、SWLDに用いられる復号方法とWLDに用いられる復号方法とでは、三次元位置の表現手法が異なってもよい。例えば、SWLDでは、三次元座標によりFVXLの三次元位置を表現し、WLDでは、後述する8分木により三次元位置が表現されてもよいし、その逆でもよい。
次に、三次元位置の表現手法である8分木表現について説明する。三次元データに含まれるVXLデータは8分木構造に変換された後、符号化される。図20は、WLDのVXLの一例を示す図である。図21は、図20に示すWLDの8分木構造を示す図である。図20に示す例では、点群を含むVXL(以下、有効VXL)である3つVXL1~3が存在する。図21に示すように、8分木構造はノードとリーフで構成される。各ノードは最大で8つのノードまたはリーフを持つ。各リーフはVXL情報を持つ。ここで、図21に示すリーフのうち、リーフ1、2、3はそれぞれ図20に示すVXL1、VXL2、VXL3を表す。
具体的には、各ノード及びリーフは三次元位置に対応する。ノード1は、図20に示す全体のブロックに対応する。ノード1に対応するブロックは8つのブロックに分割され、8つのブロックのうち、有効VXLを含むブロックがノードに設定され、それ以外のブロックはリーフに設定される。ノードに対応するブロックは、さらに8つのノードまたはリーフに分割され、この処理が木構造の階層分繰り返される。また、最下層のブロックは、全てリーフに設定される。
また、図22は、図20に示すWLDから生成したSWLDの例を示す図である。図20に示すVXL1及びVXL2は特徴量抽出の結果、FVXL1及びFVXL2と判定され、SWLDに加えられている。一方で、VXL3はFVXLと判定されず、SWLDに含まれていない。図23は、図22に示すSWLDの8分木構造を示す図である。図23に示す8分木構造では、図21に示す、VXL3に相当するリーフ3が削除されている。これにより、図21に示すノード3が有効VXLを持たなくなり、リーフに変更されている。このように一般的にSWLDのリーフ数はWLDのリーフ数より少なくなり、SWLDの符号化三次元データもWLDの符号化三次元データより小さくなる。
以下、本実施の形態の変形例について説明する。
例えば、車載装置等のクライアントは、自己位置推定を行う場合に、SWLDをサーバから受信し、SWLDを用いて自己位置推定を行い、障害物検知を行う場合は、レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組合せ等の様々な方法を用いて自分で取得した周辺の三次元情報に基づいて障害物検知を実施してもよい。
また、一般的にSWLDには平坦領域のVXLデータが含まれにくい。そのため、サーバは、静的な障害物の検知用に、WLDをサブサンプルしたサブサンプルワールド(subWLD)を保持し、SWLDとsubWLDをクライアントに送信してもよい。これにより、ネットワーク帯域を抑制しつつ、クライアント側で自己位置推定及び障害物検知を行うことができる。
また、クライアントが三次元地図データを高速に描画する際には、地図情報がメッシュ構造である方が便利な場合がある。そこで、サーバは、WLDからメッシュを生成し、メッシュワールド(MWLD)として予め保持してもよい。例えばクライアントは、粗い三次元描画を必要としている場合にはMWLDを受信し、詳細な三次元描画を必要としている場合にはWLDを受信する。これにより、ネットワーク帯域を抑制することができる。
また、サーバは、各VXLのうち、特徴量が閾値以上であるVXLをFVXLに設定したが、異なる方法にてFVXLを算出しても構わない。例えば、サーバは、信号又は交差点などを構成するVXL、VLM、SPC、又はGOSを、自己位置推定、運転アシスト、又は自動運転等に必要と判断し、FVXL、FVLM、FSPC、FGOSとしてSWLDに含めるようにしても構わない。また、上記判断は手動で行われてもよい。なお、特徴量に基づき設定されたFVXL等に、上記方法で得られたFVXL等を加えてもよい。つまり、SWLD抽出部403は、さらに、入力三次元データ411から予め定められた属性を有する物体に対応するデータを抽出三次元データ412として抽出してもよい。
また、それらの用途に必要な旨を特徴量とは別にラベリングするようにしても構わない。また、サーバは、SWLDの上位レイヤ(例えばレーンワールド)として、信号又は交差点などの自己位置推定、運転アシスト、又は自動運転等に必要なFVXLを別途保持してもよい。
また、サーバは、WLD内のVXLにもランダムアクセス単位又は所定の単位毎に属性を付加してもよい。属性は、例えば、自己位置推定に必要或いは不要かを示す情報、又は、信号或いは交差点などの交通情報として重要かどうかなどを示す情報を含む。また、属性は、レーン情報(GDF:Geographic Data Filesなど)におけるFeature(交差点又は道路など)との対応関係を含んでもよい。
また、WLD又はSWLDの更新方法として下記のような方法を用いても構わない。
人、工事、又は並木(トラック向け)の変化などを示す更新情報が点群又はメタデータとしてサーバにアップロードされる。サーバは、当該アップロードに基づき、WLDを更新し、その後、更新したWLDを用いてSWLDを更新する。
また、クライアントは、自己位置推定時に自身で生成した三次元情報とサーバから受信した三次元情報との不整合を検知した場合、自身で生成した三次元情報を更新通知とともにサーバに送信してもよい。この場合、サーバは、WLDを用いてSWLDを更新する。SWLDが更新されない場合、サーバは、WLD自体が古いと判断する。
また、符号化ストリームのヘッダ情報として、WLDかSWLDかを区別する情報が付加されるとしたが、例えば、メッシュワールド又はレーンワールド等、多種類のワールドが存在する場合には、それらを区別する情報がヘッダ情報に付加されても構わない。また、特徴量が異なるSWLDが多数存在する場合には、それぞれを区別する情報がヘッダ情報に付加されても構わない。
また、SWLDは、FVXLで構成されるとしたが、FVXLと判定されなかったVXLを含んでもよい。例えば、SWLDは、FVXLの特徴量を算出する際に使用する隣接VXLを含んでもよい。これにより、SWLDの各FVXLに特徴量情報が付加されない場合でも、クライアントは、SWLDを受信した際にFVXLの特徴量を算出することができる。なお、その際には、SWLDは各VXLがFVXLかVXLかを区別するための情報を含んでもよい。
以上のように、三次元データ符号化装置400は、入力三次元データ411(第1三次元データ)から特徴量が閾値以上の抽出三次元データ412(第2三次元データ)を抽出し、抽出三次元データ412を符号化することで符号化三次元データ414(第1符号化三次元データ)を生成する。
これによれば、三次元データ符号化装置400は、特徴量が閾値以上のデータを符号化した符号化三次元データ414を生成する。これにより、入力三次元データ411をそのまま符号化する場合に比べてデータ量を削減できる。よって、三次元データ符号化装置400は、伝送するデータ量を削減できる。
また、三次元データ符号化装置400は、さらに、入力三次元データ411を符号化することで符号化三次元データ413(第2符号化三次元データ)を生成する。
これによれば、三次元データ符号化装置400は、例えば、使用用途等に応じて、符号化三次元データ413と符号化三次元データ414とを選択的に伝送できる。
また、抽出三次元データ412は、第1符号化方法により符号化され、入力三次元データ411は、第1符号化方法とは異なる第2符号化方法により符号化される。
これによれば、三次元データ符号化装置400は、入力三次元データ411と抽出三次元データ412とにそれぞれ適した符号化方法を用いることができる。
また、第1符号化方法では、第2符号化方法よりもイントラ予測及びインター予測のうちインター予測が優先される。
これによれば、三次元データ符号化装置400は、隣接するデータ間の相関が低くなりやすい抽出三次元データ412に対して、インター予測の優先度を上げることができる。
また、第1符号化方法と第2符号化方法とでは、三次元位置の表現手法が異なる。例えば、例えば、第2符号化方法では、8分木により三次元位置が表現され、第1符号化方法では、三次元座標により三次元位置を表現される。
これによれば、三次元データ符号化装置400は、データ数(VXL又はFVXLの数)が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
また、符号化三次元データ413及び414の少なくとも一方は、当該符号化三次元データが入力三次元データ411を符号化することで得られた符号化三次元データであるか、入力三次元データ411のうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含む。つまり、当該識別子は、符号化三次元データがWLDの符号化三次元データ413であるかSWLDの符号化三次元データ414であるかを示す。
これによれば、復号装置は、取得した符号化三次元データが符号化三次元データ413であるか符号化三次元データ414であるかを容易に判定できる。
また、三次元データ符号化装置400は、符号化三次元データ414のデータ量が符号化三次元データ413のデータ量より小さくなるように抽出三次元データ412を符号化する。
これによれば、三次元データ符号化装置400は、符号化三次元データ414のデータ量を符号化三次元データ413のデータ量より小さくできる。
また、三次元データ符号化装置400は、さらに、入力三次元データ411から予め定められた属性を有する物体に対応するデータを抽出三次元データ412として抽出する。例えば、予め定められた属性を有する物体とは、自己位置推定、運転アシスト、又は自動運転等に必要な物体であり、信号又は交差点などである。
これによれば、三次元データ符号化装置400は、復号装置で必要となるデータを含む符号化三次元データ414を生成できる。
また、三次元データ符号化装置400(サーバ)は、さらに、クライアントの状態に応じて、符号化三次元データ413及び414の一方をクライアントに送信する。
これによれば、三次元データ符号化装置400は、クライアントの状態に応じて適切なデータを送信できる。
また、クライアントの状態は、クライアントの通信状況(例えばネットワーク帯域)、又はクライアントの移動速度を含む。
また、三次元データ符号化装置400は、さらに、クライアントの要求に応じて、符号化三次元データ413及び414の一方をクライアントに送信する。
これによれば、三次元データ符号化装置400は、クライアントの要求に応じて適切なデータを送信できる。
また、本実施の形態に係る三次元データ復号装置500は、上記三次元データ符号化装置400により生成された符号化三次元データ413又は414を復号する。
つまり、三次元データ復号装置500は、入力三次元データ411から抽出された特徴量が閾値以上の抽出三次元データ412が符号化されることで得られた符号化三次元データ414を第1復号方法により復号する。また、三次元データ復号装置500は、入力三次元データ411が符号化されることで得られた符号化三次元データ413を、第1復号方法とは異なる第2復号方法により復号する。
これによれば、三次元データ復号装置500は、特徴量が閾値以上のデータを符号化した符号化三次元データ414と、符号化三次元データ413とを、例えば、使用用途等に応じて選択的に受信できる。これにより、三次元データ復号装置500は、伝送するデータ量を削減できる。さらに、三次元データ復号装置500は、入力三次元データ411と抽出三次元データ412とにそれぞれ適した復号方法を用いることができる。
また、第1復号方法では、第2復号方法よりもイントラ予測及びインター予測のうちインター予測が優先される。
これによれば、三次元データ復号装置500は、隣接するデータ間の相関が低くなりやすい抽出三次元データに対して、インター予測の優先度を上げることができる。
また、第1復号方法と第2復号方法とでは、三次元位置の表現手法が異なる。例えば、例えば、第2復号方法では、8分木により三次元位置が表現され、第1復号方法では、三次元座標により三次元位置を表現される。
これによれば、三次元データ復号装置500は、データ数(VXL又はFVXLの数)が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
また、符号化三次元データ413及び414の少なくとも一方は、当該符号化三次元データが入力三次元データ411を符号化することで得られた符号化三次元データであるか、入力三次元データ411のうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含む。三次元データ復号装置500は、当該識別子を参照して、符号化三次元データ413及び414を識別する。
これによれば、三次元データ復号装置500は、取得した符号化三次元データが符号化三次元データ413であるか符号化三次元データ414であるかを容易に判定できる。
また、三次元データ復号装置500は、さらに、クライアント(三次元データ復号装置500)の状態をサーバに通知する。三次元データ復号装置500は、クライアントの状態に応じて、サーバから送信された符号化三次元データ413及び414の一方を受信する。
これによれば、三次元データ復号装置500は、クライアントの状態に応じて適切なデータを受信できる。
また、クライアントの状態は、クライアントの通信状況(例えばネットワーク帯域)、又はクライアントの移動速度を含む。
また、三次元データ復号装置500は、さらに、符号化三次元データ413及び414の一方をサーバに要求し、当該要求に応じて、サーバから送信された符号化三次元データ413及び414の一方を受信する。
これによれば、三次元データ復号装置500は、用途に応じた適切なデータを受信できる。
(実施の形態3)
本実施の形態では、車両間での三次元データを送受信する方法について説明する。
図24は、自車両600と周辺車両601との間での三次元データ607の送受信の様子を示す模式図である。
自車両600に搭載されたセンサ(レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組合せなど)により三次元データを取得する場合、周辺車両601などの障害物により自車両600のセンサ検知範囲602内であるものの三次元データを作成できない領域(以降、これをオクルージョン領域604という)が発生する。また、三次元データを取得する空間が大きくなると自律動作の精度が高まるが、自車両600のみのセンサ検知範囲は有限である。
自車両600のセンサ検知範囲602は、三次元データを取得可能な領域603とオクルージョン領域604とを含む。自車両600が、三次元データを取得したい範囲は、自車両600のセンサ検知範囲602とそれ以外の領域とを含む。また、周辺車両601のセンサ検知範囲605は、オクルージョン領域604と、自車両600のセンサ検知範囲602に含まれない領域606とを含む。
周辺車両601は、周辺車両601が検知した情報を自車両600に伝送する。自車両600は、前走車などの周辺車両601が検知した情報を取得することで、オクルージョン領域604、及び、自車両600のセンサ検知範囲602以外の領域606の三次元データ607を取得することが可能となる。自車両600は、周辺車両601が取得した情報を用いて、オクルージョン領域604及びセンサ検知範囲外の領域606の三次元データを補完する。
車両、又はロボットの自律動作における三次元データの用途は、自己位置推定、周辺状況の検知、またはその両方である。例えば、自己位置推定には、自車両600のセンサ情報に基づき自車両600で生成した三次元データが使用される。周辺状況の検知には、自車両600で生成した三次元データに加え、周辺車両601から取得した三次元データも使用される。
三次元データ607を自車両600に伝送する周辺車両601は、自車両600の状態に応じて決定されてもよい。例えば、この周辺車両601は、自車両600の直進時には前走車であり、自車両600の右折時には対向車であり、自車両600の後退時には後方車である。また、自車両600のドライバが、三次元データ607を自車両600に伝送する周辺車両601を直接指定してもよい。
また、自車両600は、三次元データ607を取得したい空間内に含まれる、自車両600で取得できない領域の三次元データを所有している周辺車両601を探索してもよい。自車両600で取得できない領域とは、オクルージョン領域604又はセンサ検知範囲602外の領域606などである。
また、自車両600は、オクルージョン領域604を自車両600のセンサ情報に基づいて特定してもよい。例えば、自車両600は、自車両600のセンサ検知範囲602内に含まれる、三次元データを作成できない領域をオクルージョン領域604であると特定する。
以下、三次元データ607を伝送するのが前走車である場合の動作例を説明する。図25は、この場合の伝送される三次元データの一例を示す図である。
図25に示すように、前走車から伝送される三次元データ607は、例えば、ポイントクラウドのスパースワールド(SWLD)である。つまり、前走車は、当該前走車のセンサで検知した情報からWLDの三次元データ(ポイントクラウド)を作成し、WLDの三次元データから特徴量が閾値以上のデータを抽出することでSWLDの三次元データ(ポイントクラウド)を作成する。そして、前走車は、作成したSWLDの三次元データを自車両600に伝送する。
自車両600は、SWLDを受け取り、自車両600で作成したポイントクラウドに、受け取ったSWLDをマージする。
伝送されるSWLDは絶対座標(三次元マップの座標系におけるSWLDの位置)の情報を持っている。自車両600は、この絶対座標に基づいて、自車両600で生成したポイントクラウドを上書きすることによりマージ処理を実現できる。
周辺車両601から伝送されるSWLDは、自車両600のセンサ検知範囲602外かつ周辺車両601のセンサ検知範囲605内の領域606のSWLD、或いは、自車両600にとってのオクルージョン領域604のSWLD、又は、その両方のSWLDでもよい。また、伝送されるSWLDは、上記のSWLDのうち、周辺車両601が周辺状況の検知に使用している領域のSWLDでもよい。
また、周辺車両601は、自車両600と周辺車両601との速度差に基づく通信可能時間に応じて、伝送されるポイントクラウドの密度を変化させてもよい。例えば、速度差が大きく通信可能時間が短い場合は、周辺車両601は、SWLDの中から、特徴量の大きな三次元点を抽出することで、ポイントクラウドの密度(データ量)を低くしてもよい。
また、周辺状況の検知とは、人、車両、及び道路工事用の機材などの存在の有無を判定し、その種類を特定し、その位置、移動方向、及び移動速度などを検知することである。
また、自車両600は、周辺車両601で生成された三次元データ607の代わりに、又は、三次元データ607に加え、周辺車両601の制動情報を取得してもよい。ここで、周辺車両601の制動情報とは、例えば、周辺車両601のアクセル或いはブレーキが踏まれたこと、又はその度合いを示す情報である。
また、各車両で生成されるポイントクラウドでは、車両間の低遅延通信を考慮して、ランダムアクセス単位に三次元空間が細分化される。一方で、サーバからダウンロードされる地図データである三次元地図等は、三次元空間が、車両間通信の場合と比べて大きなランダムアクセス単位に分割される。
前走車の前方の領域又は後走車の後方の領域などのオクルージョン領域になりやすい領域のデータは低遅延向けデータとして、細かいランダムアクセス単位に分割される。
高速走行時には正面の重要性が高まるため、各車両は、高速走行時には、視野角を狭めた範囲のSWLDを細かいランダムアクセス単位で作成する。
前走車が伝送用に作成したSWLD内に自車両600でポイントクラウドの取得が可能な領域が含まれる場合、前走車は、その領域のポイントクラウドを取り除くことにより伝送量を削減してもよい。
次に、本実施の形態に係る三次元データ受信装置である三次元データ作成装置620の構成及び動作を説明する。
図26は、本実施の形態に係る三次元データ作成装置620のブロック図である。この三次元データ作成装置620は、例えば、上述した自車両600に含まれ、三次元データ作成装置620が作成した第1三次元データ632に、受信した第2三次元データ635を合成することで、より密な第3三次元データ636を作成する。
この三次元データ作成装置620は、三次元データ作成部621と、要求範囲決定部622と、探索部623と、受信部624と、復号部625と、合成部626とを備える。図27は、三次元データ作成装置620の動作を示すフローチャートである。
まず、三次元データ作成部621は、自車両600が備えるセンサで検知したセンサ情報631を用いて第1三次元データ632を作成する(S621)。次に、要求範囲決定部622は、作成した第1三次元データ632の中でデータが不足している三次元空間範囲である要求範囲を決定する(S622)。
次に、探索部623は、要求範囲の三次元データを所有する周辺車両601を探索し、探索により特定した周辺車両601に要求範囲を示す要求範囲情報633を送信する(S623)。次に、受信部624は、周辺車両601から、要求範囲の符号化ストリームである符号化三次元データ634を受信する(S624)。なお、探索部623は、特定範囲に存在する全ての車両に対し、無差別にリクエストを出し、応答があった相手から符号化三次元データ634を受信してもよい。また、探索部623は、車両に限らず、信号機又は標識などの物体にリクエストを出し、当該物体から符号化三次元データ634を受信してもよい。
次に、復号部625は、受信した符号化三次元データ634を復号することで第2三次元データ635を取得する(S625)。次に、合成部626は、第1三次元データ632と第2三次元データ635とを合成することで、より密な第3三次元データ636を作成する(S626)。
次に、本実施の形態に係る三次元データ送信装置640の構成及び動作を説明する。図28は、三次元データ送信装置640のブロック図である。
三次元データ送信装置640は、例えば、上述した周辺車両601に含まれ、周辺車両601が作成した第5三次元データ652を自車両600が要求する第6三次元データ654に加工し、第6三次元データ654を符号化することで符号化三次元データ634を生成し、符号化三次元データ634を自車両600に送信する。
三次元データ送信装置640は、三次元データ作成部641と、受信部642と、抽出部643と、符号化部644と、送信部645とを備える。図29は、三次元データ送信装置640の動作を示すフローチャートである。
まず、三次元データ作成部641は、周辺車両601が備えるセンサで検知したセンサ情報651を用いて第5三次元データ652を作成する(S641)。次に、受信部642は、自車両600から送信された要求範囲情報633を受信する(S642)。
次に、抽出部643は、第5三次元データ652から、要求範囲情報633で示される要求範囲の三次元データを抽出することで、第5三次元データ652を第6三次元データ654に加工する(S643)。次に、符号化部644は、第6三次元データ654を符号化することで、符号化ストリームである符号化三次元データ634を生成する(S644)。そして、送信部645は、自車両600へ符号化三次元データ634を送信する(S645)。
なお、ここでは、自車両600が三次元データ作成装置620を備え、周辺車両601が三次元データ送信装置640を備える例を説明するが、各車両が、三次元データ作成装置620と三次元データ送信装置640との機能を有してもよい。
以下、三次元データ作成装置620が、自車両600の周辺状況の検知処理を実現する周辺状況検知装置である場合の構成及び動作を説明する。図30は、この場合の三次元データ作成装置620Aの構成を示すブロック図である。図30に示す三次元データ作成装置620Aは、図26に示す三次元データ作成装置620の構成に加え、さらに、検知領域決定部627と、周辺状況検知部628と、自律動作制御部629とを備える。また、三次元データ作成装置620Aは、自車両600に含まれる。
図31は、三次元データ作成装置620Aによる自車両600の周辺状況検知処理のフローチャートである。
まず、三次元データ作成部621は、自車両600が備えるセンサで検知した、自車両600の検知範囲のセンサ情報631を用いてポイントクラウドである第1三次元データ632を作成する(S661)。なお、三次元データ作成装置620Aは、さらに、センサ情報631を用いて自己位置推定を行ってもよい。
次に、検知領域決定部627は、周辺状況を検知したい空間領域である検知対象範囲を決定する(S662)。例えば、検知領域決定部627は、自車両600の走行方向及び速度などの自律動作(自動運転)の状況に応じて、自律動作を安全に行うための周辺状況検知に必要な領域を算出し、当該領域を検知対象範囲に決定する。
次に、要求範囲決定部622は、オクルージョン領域604と、自車両600のセンサの検知範囲外であるが周辺状況検知に必要な空間領域とを要求範囲をとして決定する(S663)。
ステップS663において決定された要求範囲が存在する場合(S664でYes)、探索部623は、要求範囲に関する情報を所有する周辺車両を探索する。例えば、探索部623は、周辺車両に、要求範囲に関する情報を所有しているか問合せてもよいし、要求範囲と周辺車両との位置に基づき、当該周辺車両が要求範囲に関する情報を所有しているかを判断してもよい。次に、探索部623は、探索により特定した周辺車両601に対して、三次元データの伝送を依頼する依頼信号637を送信する。そして、探索部623は、周辺車両601から送信された、依頼信号637の依頼を受ける旨を示す許可信号を受信した後、要求範囲を示す要求範囲情報633を周辺車両601に送信する(S665)。
次に、受信部624は、要求範囲に関する情報である送信データ638の伝送通知を検知し、当該送信データ638を受信する(S666)。
なお、三次元データ作成装置620Aは、リクエストを送る相手を探索することなく、特定範囲に存在する全ての車両に対し、無差別にリクエストを出し、要求範囲に関する情報を持っていると応答があった相手から送信データ638を受信してもよい。また、探索部623は、車両に限らず、信号機又は標識などの物体にリクエストを出し、当該物体から送信データ638を受信してもよい。
また、送信データ638は、周辺車両601で生成された、要求範囲の三次元データが符号化された符号化三次元データ634、及び、要求範囲の周辺状況検知結果639の少なくとも一方を含む。周辺状況検知結果639は、周辺車両601が検知した人及び車両の位置、移動方向及び移動速度等を示す。また、送信データ638は、周辺車両601の位置及び動き等を示す情報を含んでもよい。例えば、送信データ638は、周辺車両601の制動情報を含んでもよい。
受信された送信データ638に符号化三次元データ634が含まれる場合(S667でYes)、復号部625は、符号化三次元データ634を復号することでSWLDの第2三次元データ635を取得する(S668)。つまり、第2三次元データ635は、第4三次元データ(WLD)から特徴量が閾値以上のデータが抽出されることで生成された三次元データ(SWLD)である。
次に、合成部626は、第1三次元データ632と第2三次元データ635とを合成することで第3三次元データ636を生成する(S669)。
次に、周辺状況検知部628は、周辺状況検知に必要な空間領域のポイントクラウドである第3三次元データ636を用いて、自車両600の周辺状況を検知する(S670)。なお、受信された送信データ638に周辺状況検知結果639が含まれる場合には、周辺状況検知部628は、第3三次元データ636に加えて周辺状況検知結果639を用いて、自車両600の周辺状況を検知する。また、受信された送信データ638に周辺車両601の制動情報が含まれる場合には、周辺状況検知部628は、第3三次元データ636に加えて当該制動情報を用いて、自車両600の周辺状況を検知する。
次に、自律動作制御部629は、周辺状況検知部628による周辺状況検知結果に基づき自車両600の自律動作(自動運転)を制御する(S671)。なお、UI(ユーザインタフェース)などを通して周辺状況検知結果がドライバに提示されてもよい。
一方、ステップS663において要求範囲が存在しない場合、(S664でNo)、つまり、周辺状況検知に必要な全ての空間領域の情報を、センサ情報631に基づき作成できた場合、周辺状況検知部628は、周辺状況検知に必要な空間領域のポイントクラウドである第1三次元データ632を用いて、自車両600の周辺状況を検知する(S672)。そして、自律動作制御部629は、周辺状況検知部628による周辺状況検知結果に基づき自車両600の自律動作(自動運転)を制御する(S671)。
また、受信された送信データ638に符号化三次元データ634が含まれない場合(S667でNo)、つまり、送信データ638に、周辺車両601の周辺状況検知結果639又は制動情報のみが含まれる場合、周辺状況検知部628は、第1三次元データ632と、周辺状況検知結果639又は制動情報を用いて、自車両600の周辺状況を検知する(S673)。そして、自律動作制御部629は、周辺状況検知部628による周辺状況検知結果に基づき自車両600の自律動作(自動運転)を制御する(S671)。
次に、上記三次元データ作成装置620Aに送信データ638を送信する三次元データ送信装置640Aについて説明する。図32は、この三次元データ送信装置640Aのブロック図である。
図32に示す三次元データ送信装置640Aは、図28に示す三次元データ送信装置640の構成に加え、さらに、伝送可否判定部646を備える。また、三次元データ送信装置640Aは、周辺車両601に含まれる。
図33は、三次元データ送信装置640Aの動作例を示すフローチャートである。まず、三次元データ作成部641は、周辺車両601が備えるセンサで検知したセンサ情報651を用いて第5三次元データ652を作成する(S681)。
次に、受信部642は、自車両600から、三次元データの伝送要求を依頼する依頼信号637を受信する(S682)。次に、伝送可否判定部646は、依頼信号637で示される依頼に応じるかどうかを決定する(S683)。例えば、伝送可否判定部646は、ユーザにより予め設定されている内容に基づき、依頼に応じるかどうかを決定する。なお、受信部642が要求範囲などの相手のリクエストを先に受け取り、伝送可否判定部646は、その内容によって依頼に応じるかどうか決定してもよい。例えば、伝送可否判定部646は、要求範囲の三次元データを所持している場合に、依頼に応じると決定し、要求範囲の三次元データを所持していない場合に、依頼に応じないと決定してもよい。
依頼に応じる場合(S683でYes)、三次元データ送信装置640Aは許可信号を自車両600に送信し、受信部642は要求範囲を示す要求範囲情報633を受信する(S684)。次に、抽出部643は、ポイントクラウドである第5三次元データ652から要求範囲のポイントクラウドを切り出し、切り出したポイントクラウドのSWLDである第6三次元データ654を含む送信データ638を作成する(S685)。
つまり、三次元データ送信装置640Aは、センサ情報651から第7三次元データ(WLD)を作成し、第7三次元データ(WLD)から特徴量が閾値以上のデータを抽出することで第5三次元データ652(SWLD)を作成する。なお、三次元データ作成部641が予めSWLDの三次元データを作成しておき、抽出部643においてSWLDの三次元データから要求範囲のSWLDの三次元データが抽出されてもよいし、抽出部643が、要求範囲のWLDの三次元データから要求範囲のSWLDの三次元データを生成してもよい。
また、送信データ638は、周辺車両601による要求範囲の周辺状況検知結果639、及び、周辺車両601の制動情報を含んでもよい。また、送信データ638は、第6三次元データ654を含まず、周辺車両601による要求範囲の周辺状況検知結果639、及び、周辺車両601の制動情報のうちの少なくとも一方のみを含んでもよい。
送信データ638が第6三次元データ654を含む場合(S686でYes)、符号化部644は、第6三次元データ654を符号化することで符号化三次元データ634を生成する(S687)。
そして、送信部645は、符号化三次元データ634を含む送信データ638を自車両600に送信する(S688)。
一方、送信データ638が第6三次元データ654を含まない場合(S686でNo)、送信部645は、周辺車両601による要求範囲の周辺状況検知結果639、及び、周辺車両601の制動情報の少なくとも一方を含む送信データ638を自車両600に送信する(S688)。
以下、本実施の形態の変形例について説明する。
例えば、周辺車両601から伝送される情報は、周辺車両が作成した三次元データ又は周辺状況検知結果でなくてもよく、周辺車両601自身の正確な特徴点情報であってもよい。自車両600は、この周辺車両601の特徴点情報を用いて、自車両600で取得したポイントクラウド内の前走車の特徴点情報を補正する。これにより、自車両600は、自己位置推定時のマッチング精度を向上できる。
また、前走車の特徴点情報は、例えば、色情報及び座標情報からなる三次元点情報である。これにより、自車両600のセンサがレーザセンサであっても、ステレオカメラであっても、その種類に依存することなく前走車の特徴点情報を使用できる。
なお、自車両600は、伝送時に限らず、自己位置推定時の精度を算出する際に、SWLDのポイントクラウドを用いてもよい。例えば、自車両600のセンサがステレオカメラなどの撮像装置である場合、自車両600がカメラで撮影した画像上で二次元点を検出し、その二次元点を用いて自己位置を推定する。また、自車両600は、自己位置と同時に周辺物体のポイントクラウドを作成する。自車両600は、その中のSWLDの三次元点を二次元画像上に再投影し、二次元画像上での検出点と再投影点との誤差に基づき自己位置推定の精度を評価する。
また、自車両600のセンサがLiDARなどのレーザセンサである場合、自車両600は、作成したポイントクラウドのSWLDと、三次元地図のSWLDとを用いてIterative Closest Pointにより算出した誤差に基づき自己位置推定の精度を評価する。
また、5Gなど基地局又はサーバ経由の通信状態が悪い場合には、自車両600は、周辺車両601から三次元地図を取得してもよい。
また、自車両600の周辺の車両から取得できない遠方の情報を車車間通信により取得してもよい。例えば、自車両600は、数百メートル、又は数キロ先の発生直後の交通事故情報などを対向車からのすれ違い通信、又は周辺車両に順次伝えていくリレー方式などにより取得してもよい。この時、伝送されるデータのデータ形式が、動的三次元地図の上位レイヤのメタ情報として伝送される。
また、周辺状況の検知結果、及び自車両600が検知した情報が、ユーザインタフェースを通じてユーザに提示されてもよい。例えば、カーナビの画面、又はフロントウィンドウへの重畳によりこれらの情報の提示が実現される。
また、自動運転をサポートしておらず、クルーズコントロールを有する車両は、自動運転モードで走行中の周辺車両を発見し、当該周辺車両を追尾してもよい。
また、自車両600は、三次元地図を取得できない、又はオクルージョン領域が多過ぎるなどの理由から自己位置推定が不可能な場合に動作モードを、自動運転モードから周辺車両の追尾モードに切り替えてもよい。
また、追尾される車両には、追尾されていることをユーザに警告し、追尾を許可するかどうかをユーザが指定できるユーザインタフェースが搭載されてもよい。その際、追尾する車両に広告表示し、追尾される側にインセンティブを支払うなどの仕組みが設けられてもよい。
また、伝送される情報は、三次元データであるSWLDを基本とするが、自車両600に設定されている要求設定又は前走車の公開設定に応じた情報であってもよい。例えば、伝送される情報は、密なポイントクラウドであるWLDでもよいし、前走車による周辺状況の検知結果でもよいし、前走車の制動情報でもよい。
また、自車両600は、WLDを受信し、WLDの三次元データを視覚化し、視覚化した三次元データをGUIを用いてドライバに提示してもよい。その際、自車両600は、自車両600で作成したポイントクラウドと受信したポイントクラウドとをユーザが区別できるように、情報に色分けなどを施して提示してもよい。
また、自車両600は、自車両600で検知した情報と周辺車両601の検知結果とをGUIでドライバに提示する場合、自車両600で検知した情報と受信した検知結果とをユーザが区別できるように、情報に色分けなどを施して提示してもよい。
以上のように、本実施の形態に係る三次元データ作成装置620では、三次元データ作成部621は、センサで検知したセンサ情報631から第1三次元データ632を作成する。受信部624は、第2三次元データ635が符号化された符号化三次元データ634を受信する。復号部625は、受信した符号化三次元データ634を復号することで第2三次元データ635を取得する。合成部626は、第1三次元データ632と第2三次元データ635とを合成することで第3三次元データ636を作成する。
これによれば、三次元データ作成装置620は、作成した第1三次元データ632と、受信した第2三次元データ635とを用いて、詳細な第3三次元データ636を作成できる。
また、合成部626は、第1三次元データ632と第2三次元データ635を合成することで、第1三次元データ632及び第2三次元データ635よりも密度が高い第3三次元データ636を作成する。
また、第2三次元データ635(例えばSWLD)は、第4三次元データ(例えばWLD)から特徴量が閾値以上のデータが抽出されることで生成された三次元データである。
これによれば、三次元データ作成装置620は、伝送される三次元データのデータ量を削減できる。
また、三次元データ作成装置620は、さらに、符号化三次元データ634の送信元である送信装置を探索する探索部623を含む。受信部624は、探索された送信装置から符号化三次元データ634を受信する。
これによれば、三次元データ作成装置620は、例えば、必要な三次元データを所有する送信装置を探索により特定できる。
また、三次元データ作成装置は、さらに、三次元データを要求する三次元空間の範囲である要求範囲を決定する要求範囲決定部622を備える。探索部623は、要求範囲を示す要求範囲情報633を送信装置に送信する。第2三次元データ635は、要求範囲の三次元データを含む。
これによれば、三次元データ作成装置620は、必要な三次元データを受信できるとともに、伝送される三次元データのデータ量を削減できる。
また、要求範囲決定部622は、センサで検知できないオクルージョン領域604を含む空間範囲を要求範囲に決定する。
また、本実施の形態に係る三次元データ送信装置640では、三次元データ作成部641は、センサで検知したセンサ情報651から第5三次元データ652を作成する。抽出部643は、第5三次元データ652の一部を抽出することで第6三次元データ654を作成する。符号化部644は、第6三次元データ654を符号化することで符号化三次元データ634を生成する。送信部645は、符号化三次元データ634を送信する。
これによれば、三次元データ送信装置640は、自身が作成した三次元データを他の装置に送信できるとともに、伝送される三次元データのデータ量を削減できる。
また、三次元データ作成部641は、センサで検知したセンサ情報651から第7三次元データ(例えばWLD)を作成し、第7三次元データから特徴量が閾値以上のデータを抽出することで第5三次元データ652(例えばSWLD)を作成する。
これによれば、三次元データ送信装置640は、伝送される三次元データのデータ量を削減できる。
また、三次元データ送信装置640は、さらに、受信装置から、三次元データを要求する三次元空間の範囲である要求範囲を示す要求範囲情報633を受信する受信部642を含む。抽出部643は、第5三次元データ652から、要求範囲の三次元データを抽出することで第6三次元データ654を作成する。送信部645は、受信装置に符号化三次元データ634を送信する。
これによれば、三次元データ送信装置640は、伝送される三次元データのデータ量を削減できる。
(実施の形態4)
本実施の形態では、三次元マップに基づく自己位置推定における異常系の動作について説明する。
車の自動運転、又は、ロボット、或いはドローンなどの飛行体などの移動体を自律的に移動させるなどの用途が今後拡大すると予想される。このような自律的な移動を実現する手段の一例として、移動体が、三次元マップ内における自らの位置を推定(自己位置推定)しながら、マップに従って走行する方法がある。
自己位置推定は、三次元マップと、自車に搭載したレンジファインダー(LiDARなど)又はステレオカメラなどのセンサにより取得した自車周辺の三次元情報(以降、自車検知三次元データ)とをマッチングして、三次元マップ内の自車位置を推定することで実現できる。
三次元マップは、HERE社が提唱するHDマップなどのように、三次元のポイントクラウドだけでなく、道路及び交差点の形状情報など二次元の地図データ、又は、渋滞及び事故などの実時間で変化する情報を含んでもよい。三次元データ、二次元データ、実時間で変化するメタデータなど複数のレイヤから三次元マップが構成され、装置は、必要なデータのみを取得、又は、参照することも可能である。
ポイントクラウドのデータは、上述したSWLDであってもよいし、特徴点ではない点群データを含んでもよい。また、ポイントクラウドのデータの送受信は、1つ、または、複数のランダムアクセス単位を基本として行われる。
三次元マップと自車検知三次元データとのマッチング方法として以下の方法を用いることができる。例えば、装置は、互いのポイントクラウドにおける点群の形状を比較し、特徴点間の類似度が高い部位が同一位置であると決定する。また、装置は、三次元マップがSWLDから構成される場合、SWLDを構成する特徴点と、自車検知三次元データから抽出した三次元特徴点とを比較してマッチングを行う。
ここで、高精度に自己位置推定を行うためには、(A)三次元マップと自車検知三次元データが取得できており、かつ、(B)それらの精度が予め定められた基準を満たすことが必要となる。しかしながら、以下のような異常ケースでは、(A)又は(B)が満たせない。
(1)三次元マップを通信経由で取得できない。
(2)三次元マップが存在しない、又は、三次元マップを取得したが破損している。
(3)自車のセンサが故障している、又は、悪天候のために、自車検知三次元データの生成精度が十分でない。
これらの異常ケースに対処するための動作を、以下で説明する。以下では、車を例に動作を説明するが、以下の手法は、ロボット又はドローンなど、自律的に移動する動物体全般に対して適用できる。
以下、三次元マップ又は自車検知三次元データにおける異常ケースに対応するための、本実施の形態に係る三次元情報処理装置の構成及び動作を説明する。図34は、本実施の形態に係る三次元情報処理装置700の構成例を示すブロック図である。図35は、三次元情報処理装置700による三次元情報処理方法のフローチャートである。
三次元情報処理装置700は、例えば、自動車等の動物体に搭載される。図34に示すように、三次元情報処理装置700は、三次元マップ取得部701と、自車検知データ取得部702と、異常ケース判定部703と、対処動作決定部704と、動作制御部705とを備える。
なお、三次元情報処理装置700は、二次元画像を取得するカメラ、又は、超音波或いはレーザーを用いた一次元データのセンサなど、自車周辺の構造物又は動物体を検知するための図示しない二次元又は一次元のセンサを備えてもよい。また、三次元情報処理装置700は、三次元マップを4G或いは5Gなどの移動体通信網、又は、車車間通信或いは路車間通信により取得するための通信部(図示せず)を備えてもよい。
図35に示すように、三次元マップ取得部701は、走行経路近傍の三次元マップ711を取得する(S701)。例えば、三次元マップ取得部701は、移動体通信網、又は、車車間通信或いは路車間通信により三次元マップ711を取得する。
次に、自車検知データ取得部702は、センサ情報に基づいて自車検知三次元データ712を取得する(S702)。例えば、自車検知データ取得部702は、自車が備えるセンサにより取得されたセンサ情報に基づき、自車検知三次元データ712を生成する。
次に、異常ケース判定部703は、取得した三次元マップ711及び自車検知三次元データ712の少なくとも一方に対して予め定められたチェックを実施することで異常ケースを検出する(S703)。つまり、異常ケース判定部703は、取得した三次元マップ711及び自車検知三次元データ712の少なくとも一方が異常であるかを判定する。
ステップS703において、異常ケースが検出された場合(S704でYes)、対処動作決定部704は、異常ケースに対する対処動作を決定する(S705)。次に、動作制御部705は、三次元マップ取得部701など、対処動作の実施に必要となる各処理部の動作を制御する(S706)。
一方、ステップS703において、異常ケースが検出されない場合(S704でNo)、三次元情報処理装置700は、処理を終了する。
また、三次元情報処理装置700は、三次元マップ711と自車検知三次元データ712とを用いて、三次元情報処理装置700を有する車両の自己位置推定を行う。次に、三次元情報処理装置700は、自己位置推定の結果を用いて、当該車両を自動運転する。
このように、三次元情報処理装置700は、第1の三次元位置情報を含むマップデータ(三次元マップ711)を通信路を介して取得する。例えば、第1の三次元位置情報は、三次元の座標情報を有する部分空間を単位として符号化され、各々が1以上の部分空間の集合体であり、各々を独立に復号可能な複数のランダムアクセス単位を含む。例えば、第1の三次元位置情報は、三次元の特徴量が所定の閾値以上となる特徴点が符号化されたデータ(SWLD)である。
また、三次元情報処理装置700は、センサで検知した情報から第2の三次元位置情報(自車検知三次元データ712)を生成する。次に、三次元情報処理装置700は、第1の三次元位置情報又は第2の三次元位置情報に対して異常判定処理を実施することで、第1の三次元位置情報又は前記第2の三次元位置情報が異常であるかどうかを判定する。
三次元情報処理装置700は、第1の三次元位置情報又は第2の三次元位置情報が異常であると判定された場合、当該異常に対する対処動作を決定する。次に、三次元情報処理装置700は、対処動作の実施に必要となる制御を実施する。
これにより、三次元情報処理装置700は、第1の三次元位置情報又は第2の三次元位置情報の異常を検知し、対処動作を行うことができる。
以下、異常ケース1である、三次元マップ711が通信経由で取得できない場合に対する対処動作について説明する。
自己位置推定には三次元マップ711が必要であるが、車両は、目的地までの経路に対応する三次元マップ711を予め取得していない場合には、三次元マップ711を通信により取得する必要がある。しかしながら、通信路の輻輳又は電波受信状態の悪化などにより、車両が、走行系路上の三次元マップ711を取得できないことがある。
異常ケース判定部703は、目的地までの経路上の全ての区間、又は、現在位置から所定の範囲内の区間における三次元マップ711が取得済みであるかを確認し、取得できていない場合は異常ケース1と判定する。つまり、異常ケース判定部703は、三次元マップ711(第1の三次元位置情報)を通信路を介して取得できるかどうかを判定し、三次元マップ711を通信路を介して取得できない場合、三次元マップ711が異常であると判定する。
異常ケース1と判定された場合、対処動作決定部704は、(1)自己位置推定を継続する、及び、(2)自己位置推定を停止する、の2つのタイプの対処動作のうち一方を選択する。
まず、(1)自己位置推定を継続する場合の対処動作の具体例について説明する。自己位置推定を継続する場合には、目的地までの経路上の三次元マップ711が必要となる。
例えば、車両は、三次元マップ711を取得済みの範囲内で通信路が利用可能な場所を判定し、その場所まで移動して、三次元マップ711を取得する。このとき、車両は、目的地までの全ての三次元マップ711を取得してもよいし、自車のメモリ或いはHDDなどの記録部に保持できる上限サイズ内でランダムアクセス単位毎に三次元マップ711を取得してもよい。
なお、車両は、経路上の通信状態を別途取得し、経路上の通信状態が不良となることが予測できる場合には、通信状態が不良である区間に到達する前に当該区間の三次元マップ711を予め取得しておく、又は、取得可能な最大限の範囲の三次元マップ711を取得しておくように動作してもよい。つまり、三次元情報処理装置700は、車両が通信状態が悪い領域に進入するかを予測する。三次元情報処理装置700は、車両が通信状態が悪い領域に進入すると予測された場合、当該車両が当該領域に侵入するまえに、三次元マップ711を取得する。
また、車両は、通常時よりも狭い範囲となる、経路上の自己位置推定に必要な最小限の三次元マップ711を構成するランダムアクセス単位を特定し、特定したランダムアクセス単位を受信してもよい。つまり、三次元情報処理装置700は、三次元マップ711(第1の三次元位置情報)を通信路を介して取得できない場合、第1の三次元位置情報より狭い範囲の第3の三次元位置情報を通信路を介して取得してもよい。
また、車両は、三次元マップ711の配信サーバへのアクセスができない場合において、自車周辺を走行中の他車など、目的地までの経路上の三次元マップ711を取得済みであり、かつ、自車と通信可能な移動体から、三次元マップ711を取得してもよい。
次に、(2)自己位置推定を停止する場合の対処動作の具体例を説明する。この場合、目的地までの経路上の三次元マップ711は不要である。
例えば、車両は、自己位置推定に基づく自動運転などの機能が継続できない旨を運転者に通知し、動作モードを、運転者が運転を行うマニュアルモードに移行する。
通常、自己位置推定を行う際は、人の介在度に応じたレベルの違いはあるものの、自動運転が行われる。一方で、自己位置推定の結果は、人が運転する際のナビゲーション等としての利用することも可能である。よって、自己位置推定の結果は、必ずしも自動運転に使用されてなくてもよい。
また、車両は、4G又は5Gなどの移動体通信網など通常使用する通信路が利用できない場合は、路車間のWi‐Fi(登録商標)或いはミリ波通信、又は、車車間の通信など、別の通信路経由で三次元マップ711を取得できるかどうかを確認し、使用する通信路を、三次元マップ711を取得可能な通信路に切り替えてもよい。
また、車両は、三次元マップ711を取得できない場合には、二次元マップを取得し、二次元マップと自車検知三次元データ712を用いて自動運転を継続してもよい。つまり、三次元情報処理装置700は、三次元マップ711を通信路を介して取得できない場合、二次元位置情報を含むマップデータ(二次元マップ)を通信路を介して取得し、二次元位置情報と自車検知三次元データ712とを用いて車両の自己位置推定を行ってもよい。
具体的には、車両は、自己位置推定には、二次元マップと自車検知三次元データ712を使用し、周辺の車両、歩行者、及び障害物などの検知には自車検知三次元データ712を用いる。
ここで、HDマップなどの地図データには、三次元のポイントクラウドなどから構成される三次元マップ711と共に、二次元の地図データ(二次元マップ)と、二次元の地図データから道路形状或いは交差点などの特徴的な情報を抜き出した簡易版の地図データと、渋滞、事故又は工事などの実時間情報を表すメタデータとを含めることができる。例えば、地図データは、下位レイヤから順に、三次元データ(三次元マップ711)、二次元データ(二次元マップ)、メタデータが配置されたレイヤ構造を有する。
ここで、二次元のデータは、三次元のデータに比べてデータサイズが小さい。よって、通信状態が悪くても車両は二次元マップを取得できる場合がある。または、車両は、通信状態が良い区間においてまとめて広い範囲の二次元マップを取得できる。従って、車両は、通信路の状態が悪く、三次元マップ711の取得が困難である場合は、三次元マップ711を受信せずに、二次元マップを含むレイヤを受信してもよい。なお、メタデータはデータサイズが小さいため、例えば、車両は、メタデータを通信状態によらず常に受信する。
二次元マップと自車検知三次元データ712を用いた自己位置推定の方法には、例えば、以下の2通りの方法がある。
第1の方法は、二次元特量のマッチングを行う方法である。具体的には、車両は、自車検知三次元データ712から二次元の特徴量を抽出し、抽出した二次元の特徴量と二次元マップとのマッチングを行う。
例えば、車両は、自車検知三次元データ712を二次元マップと同一の平面に投影し、得られた二次元データと、二次元マップとをマッチングする。マッチングは、両者から抽出された二次元の画像特徴量を用いて行われる。
三次元マップ711がSWLDを含む場合は、三次元マップ711は、三次元空間内の特徴点における三次元特徴量とともに、二次元マップと同一平面における二次元の特徴量を格納しておいてもよい。例えば、二次元の特徴量には識別情報が付与される。または、二次元の特徴量は、三次元データ及び二次元マップとは別レイヤに格納され、車両は、二次元マップと共に、二次元の特徴量のデータを取得する。
二次元マップが道路内の白線、ガードレール及び建物など、地上からの高さが異なる(同一平面内にない)位置の情報を同一マップ内に示す場合には、車両は、自車検知三次元データ712における複数の高さのデータから特徴量を抽出する。
また、二次元マップにおける特徴点と三次元マップ711における特徴点との対応関係を示す情報が、地図データのメタ情報として格納されてもよい。
第2の方法は、三次元特徴量のマッチングを行う方法である。具体的には、車両は、二次元マップにおける特徴点に対応する三次元特徴量を取得し、取得した三次元特徴量と、自車検知三次元データ712の三次元特徴量とをマッチングする。
具体的には、二次元マップにおける特徴点に対応する三次元特徴量が地図データに格納される。車両は、二次元マップの取得時に、この三次元特徴量を合わせて取得する。なお、三次元マップ711がSWLDを含む場合は、SWLDにおける特徴点のうち、二次元マップの特徴点に対応する特徴点を識別する情報を付与することで、車両は、識別情報に基づいて、二次元マップと合わせて取得する三次元特徴量を決定できる。なお、この場合、二次元位置を表現できればよいので、三次元位置を表現する場合に比べて、データ量を削減できる。
また、二次元マップを使用して自己位置推定する際には、三次元マップ711よりも自己位置推定の精度が低下する。従って、車両は、推定精度が低下しても自動運転を継続できるかどうか判定し、継続可と判定された場合にのみ、自動運転を継続してもよい。
自動運転が継続できるかは、車両が走行中の道路が市街地、又は、高速道路など他の車両又は歩行者の進入が少ない道路であるか、道幅或いは道路の混雑度(車両又は歩行者の密度)などの走行環境にも影響される。さらに、事業所の敷地、街、又は建物内などには、カメラなどのセンサで認識するためのマーカーを配置することも可能である。これら特定エリアにおいては、二次元のセンサによってマーカーを高精度に認識できるため、例えば、二次元マップ内にマーカーの位置情報を含めることで、自己位置推定を高精度に実施できる。
また、マップ内に各エリアが特定エリアであるかどうかを示す識別情報を含めることなどにより、車両は、当該車両が特定エリア内に存在するかを判定できる。車両は、当該車両が特定エリア内に存在する場合には、自動運転を継続すると判定する。このように、車両は、二次元マップ使用時の自己位置推定の精度、又は車両の走行環境に基づいて、自動運転継続の可否を判定してもよい。
このように、三次元情報処理装置700は、車両の走行環境(移動体の移動環境)に基づき、二次元マップと自車検知三次元データ712とを用いた車両の自己位置推定の結果を用いた車両の自動運転を行うか否かを判定する。
また、車両は、自動運転継続の可否でなはなく、自己位置推定の精度又は車両の走行環境に応じて、自動運転のレベル(モード)を切り替えてもよい。ここで自動運転のレベル(モード)を切り替えるとは、例えば、速度を制限する、ドライバーの操作量を増やす(自動運転の自動レベルを下げる)、前方を走る車の運転情報を得てそれを参考に運転するモードに切り替える、同一の目的地を設定している車の運転情報を得てそれを用いて自動運転するモードに切り替える、などである。
また、マップは、位置情報と対応付けられた、二次元マップを用いて自己位置推定する場合の自動運転の推奨レベルを示す情報を含んでもよい。推奨レベルは、交通量などに応じて動的に変化するメタデータであってもよい。これにより、車両は、周辺の環境等に応じて逐次レベルを判定することなく、マップ内の情報を取得するだけでレベルを決定できる。また、複数の車両が同一マップを参照することで、個々の車両の自動運転のレベルを一定に保つことができる。なお、推奨レベルは、推奨ではなく、遵守が必須であるレベルであってもよい。
また、車両は、運転者の有無(有人及び無人のいずれであるか)に応じて、自動運転のレベルの切り替えを行ってもよい。例えば、車両は、有人であれば自動運転のレベルを下げ、無人の場合には停止する。車両は、安全に停止できる位置を、周辺の通行者、車両及び交通標識を認識することによって判定する。または、マップは、車両が安全に停止できる位置を示す位置情報を含み、車両は当該位置情報を参照して安全に停止できる位置を判定してもよい。
次に、異常ケース2である、三次元マップ711が存在しない、又は、三次元マップ711を取得したが破損している場合に対する対処動作について説明する。
異常ケース判定部703は、(1)目的地までの経路上の一部或いは全ての区間における三次元マップ711が、アクセス先となる配信サーバなどに存在せず、取得できない、又は、(2)取得済みの三次元マップ711の一部或いは全てが破損している、のいずれかに当てはまるかを確認し、当てはまる場合には異常ケース2と判定する。つまり、異常ケース判定部703は、三次元マップ711のデータが完全であるかどうかを判定し、三次元マップ711のデータが完全でない場合、三次元マップ711が異常であると判定する。
異常ケース2と判定された場合、以下の対処動作が行われる。まず、(1)三次元マップ711を取得できない場合の対処動作の例を説明する。
例えば、車両は、三次元マップ711が存在しない区間を通らない経路を設定する。
また、車両は、代替の経路が存在しない、又は、代替の経路が存在するが距離が大幅に増加するなどの理由から、代替の経路が設定できない場合は、三次元マップ711が存在しない区間を含む経路を設定する。また、車両は、当該区間では運転者に、運転モードを切り替える旨を通知し、運転モードをマニュアルモードに切り替える。
(2)取得済みの三次元マップ711の一部或いは全てが破損している場合には以下の対処動作が行われる。
車両は、三次元マップ711における破損部位を特定し、通信により破損部位のデータを要求し、当該破損部位のデータを取得して、取得したデータを用いて三次元マップ711を更新する。このとき、車両は、破損部位を、三次元マップ711における絶対座標又は相対座標などの位置情報により指定してもよいし、破損部位を構成するランダムアクセス単位のインデックス番号などにより指定してもよい。この場合、車両は、破損部位を含むランダムアクセス単位を、取得したランダムアクセス単位で置き換える。
次に、異常ケース3である、自車のセンサが故障又は悪天候のために、自車検知三次元データ712が生成できない場合に対する対処動作について説明する。
異常ケース判定部703は、自車検知三次元データ712の生成誤差が許容範囲内であるかを確認し、許容範囲でなければ異常ケース3と判定する。つまり、異常ケース判定部703は、自車検知三次元データ712のデータの生成精度が基準値以上であるかどうかを判定し、自車検知三次元データ712のデータの生成精度が基準値以上でない場合、自車検知三次元データ712が異常であると判定する。
自車検知三次元データ712の生成誤差が許容範囲内であるかどうかの確認方法としては以下の方法を用いることができる。
レンジファインダー又はステレオカメラなど自車の三次元センサにおける奥行き方向及びスキャン方向の分解能、又は、生成可能な点群の密度などに基づいて、正常動作時の自車検知三次元データ712の空間分解能が予め決定される。また、車両は、三次元マップ711の空間分解能を、三次元マップ711に含まれるメタ情報などから取得する。
車両は、両者の空間分解能を用いて、自車検知三次元データ712と三次元マップ711とを、三次元特徴量などに基づいてマッチングする際のマッチング誤差の基準値を推定する。マッチング誤差としては、特徴点毎の三次元特徴量の誤差、複数の特徴点間の三次元特徴量の誤差の平均値などの統計量、又は、複数の特徴点間の空間的な距離の誤差などを利用できる。基準値からのズレの許容範囲は予め設定される。
車両は、走行開始前又は走行中に生成した自車検知三次元データ712と三次元マップ711とのマッチング誤差が許容範囲内でなければ、異常ケース3と判定する。
または、車両は、精度チェック用の既知の三次元形状を有するテストパターンを用いて、走行開始前などにテストパターンに対する自車検知三次元データ712を取得し、形状誤差が許容範囲内であるかに基づいて異常ケース3であるかを判定してもよい。
例えば、車両は、走行開始前に毎回、上記判定を行う。または、車両は、走行中に一定の時間間隔などで上記判定を行うことで、マッチング誤差の時系列変化を取得する。車両は、マッチング誤差が増加傾向にある際には、誤差が許容範囲内であっても異常ケース3と判定してもよい。また、車両は、時系列変化に基づいて、異常となることが予測できる場合には、検査又は修理を促す旨のメッセージを表示するなど、ユーザーに異常となることが予測されたことを通知してもよい。また、車両は、悪天候など一過性の要因に基づく異常と、センサの故障に基づく異常とを、時系列変化により判定し、センサの故障に基づく異常のみをユーザーに通知してもよい。
また、車両は、異常ケース3と判定された場合、(1)非常用の代替センサを作動させる(レスキューモード)、(2)運転モードを切り替える、(3)三次元センサの動作補正を行う、の3つのタイプの対処動作のいずれか、又はこれらを選択的に行う。
まず、(1)非常用の代替センサを作動する場合について説明する。車両は、通常運転時に使用する三次元センサとは異なる、非常用の代替センサを作動させる。つまり、三次元情報処理装置700は、自車検知三次元データ712のデータの生成精度が基準値以上でない場合、通常のセンサとは異なる代替センサで検知した情報から自車検知三次元データ712(第4の三次元位置情報)を生成する。
具体的には、車両が、複数のカメラ又はLiDARを併用して自車検知三次元データ712を取得する場合には、車両は、自車検知三次元データ712のマッチング誤差が許容範囲を超える方向などに基づいて、動作不良のセンサを特定する。そして、車両は、動作不良のセンサに対応する代替センサを作動する。
代替センサは、三次元センサであってもよいし、二次元画像を取得できるカメラであってもよいし、超音波などの一次元センサなどであってもよい。代替センサが三次元センサ以外のセンサの場合には、自己位置推定の精度が低下する、又は、自己位置推定ができないことがあるため、車両は、代替センサの種類に応じて自動運転のモードを切り替えてもよい。
例えば、車両は、代替センサが三次元センサである場合には自動運転モードを継続する。また、車両は、代替センサが二次元センサである場合には、完全自動運転から人の運転操作を前提とする準自動運転モードに運転モードを変更する。また、車両は、代替センサが一次元センサである場合には、自動的な制動制御を行わないマニュアルモードに運転モードを切り替える。
また、車両は、走行環境に基づいて自動運転モードを切り替えてもよい。例えば、車両は、代替センサが二次元センサである場合において、高速道路を走行中であれば完全自動運転モードを継続し、市街地を走行中であれば運転モードを準自動運転モードに切り替える。
また、車両は、代替センサが存在しない場合であっても、正常に動作しているセンサのみで十分な数の特徴点が取得できれば、自己位置推定を継続してもよい。ただし、特定方向に対する検知が不能になるため、車両は、運転モードを、準自動運転又はマニュアルモードに切り替える。
次に、(2)運転モードを切り替える対処動作について説明する。車両は、自動運転モードからマニュアルモードに運転モードを切り替える。または、車両は、路肩などの安全に停止できる場所まで自動運転を継続し、停止してもよい。また、車両は、停止後に運転モードをマニュアルモードに切り替えてもよい。このように、三次元情報処理装置700は、自車検知三次元データ712の生成精度が基準値以上でない場合、自動運転のモードを切り替える。
次に(3)三次元センサの動作補正を行う対処動作について説明する。車両は、マッチング誤差が発生する方向などから動作不良の三次元センサを特定し、特定したセンサのキャリブレーションを行う。具体的には、センサとして、複数のLiDAR又はカメラが使用され場合には、各センサにより再構成される三次元空間の一部がオーバーラップする。すなわち、オーバーラップ部分のデータは、複数のセンサにより取得される。正常なセンサと動作不良のセンサとでは、オーバーラップ部分に対して取得される三次元の点群データが異なる。従って、車両は、動作不良のセンサが正常なセンサと同等の三次元の点群データを取得できるように、LiDARの原点補正を行う、又は、カメラの露出或いはフォーカスなど、予め定めた箇所の動作を調整する。
車両は、調整後に、マッチング誤差が許容範囲内に収まれば、直前の運転モードを継続する。一方、調整後も、マッチング精度が許容範囲内に収まらなければ、車両は、上記(1)非常用の代替センサを作動する対処動作、又は(2)運転モードを切り替える対処動作を行う。
このように、三次元情報処理装置700は、自車検知三次元データ712のデータの生成精度が基準値以上でない場合、センサの動作補正を行う。
以下、対処動作の選択方法について説明する。対処動作は、運転者などのユーザーが選択してもよいし、ユーザーを介さずに車両が自動的に選択してもよい。
また、車両は、運転者が同乗しているかどうかに応じて制御を切り替えてもよい。例えば、運転者が同乗している場合には、車両は、マニュアルモードへの切り替えを優先する。一方、運転者が同乗しない場合には、車両は、安全な場所に移動して停止するモードを優先する。
停止場所を示す情報は、三次元マップ711にメタ情報として含まれてもよい。または、車両は、自動運転者の運行情報を管理するサービスに対して停止場所の回答要求を発行し、停止場所を示す情報を取得してもよい。
また、車両が既定の路線を運行する場合などでは、通信路を介してオペレータが車両の運行を管理するモードに車両の運転モードが移行されてもよい。特に、完全自動運転モードで走行中の車両における自己位置推定機能の異常は、危険性が高い。従って、車両は、異常ケースの検出時、又は、検出した異常を修正できない場合には、通信路を介して、運行情報を管理するサービスに対して異常の発生を通知する。当該サービスは、当該車両の周辺を走行中の車両などに、異常発生車両の存在を通知する、又は、近傍の停止場所を空けるように指示してもよい。
また、車両は、異常ケースの検出時には、通常時よりも走行速度を落としてもよい。
車両が、タクシーなどの配車サービスを行う自動運転車であり、当該車両に異常ケースが発生した場合には、当該車両は、運行管理センターに連絡を行い、安全な場所に停止する。また、配車サービスは、代わりの車両は配車する。または、配車サービスの利用者が車両を運転してもよい。これらのケースでは、料金の割引又は特典ポイントの付与なども併用されてもよい。
また、異常ケース1の対処方法において、二次元マップに基づいて自己位置推定を行う方法について述べたが、通常時においても、二次元マップを用いて自己位置推定を行ってもよい。図36は、この場合の自己位置推定処理のフローチャートである。
まず、車両は、走行経路近傍の三次元マップ711を取得する(S711)。次に、車両は、センサ情報に基づいて自車検知三次元データ712を取得する(S712)。
次に、車両は、自己位置推定に三次元マップ711が必要かどうかを判定する(S713)。具体的には、車両は、二次元マップ使用時の自己位置推定の精度と、走行環境に基づいて、三次元マップ711の要否を判定する。例えば、上述した異常ケース1の対処方法と同様の方法が用いられる。
三次元マップ711が必要でないと判定された場合(S714でNo)、車両は、二次元マップを取得する(S715)。このとき、車両は、異常ケース1の対処方法で述べたような付加情報を合わせて取得してもよい。また、車両は、三次元マップ711から二次元マップを生成してもよい。例えば、車両は、三次元マップ711からに任意の平面を切り出すことで二次元マップを生成してもよい。
次に、車両は、自車検知三次元データ712と二次元マップとを用いて自己位置推定を行う(S716)。なお、二次元マップを用いた自己位置推定の方法は、例えば、上述した異常ケース1の対処方法で述べて方法と同様である。
一方、三次元マップ711が必要であると判定された場合(S714でYes)、車両は、三次元マップ711を取得する(S717)。次に、車両は、自車検知三次元データ712と三次元マップ711とを用いて自己位置推定を行う(S718)。
なお、車両は、自車の通信機器の対応する速度、又は通信路の状況に応じて、二次元マップを基本として用いるか、三次元マップ711を基本として用いるかを切り替えてもよい。例えば、三次元マップ711を受信しながら走行する際に必要となる通信速度が予め設定され、車両は、走行時の通信速度が設定値以下の場合には二次元マップを基本として用い、走行時の通信速度が設定より大きい場合には三次元マップ711を基本として用いてもよい。なお、車両は、二次元マップ、または三次元マップのいずれを採用するか切り替える判定をせずに、二次元マップを基本として用いてもよい。
(実施の形態5)
本実施の形態では、後続車両への三次元データ送信方法等について説明する。図37は、後続車両等に送信する三次元データの対象空間の例を示す図である。
車両801は、車両801の前方の車両801から距離Lにある幅W、高さH、深さDの直方体の空間802に含まれるポイントクラウド(点群)等の三次元データを、Δtの時間間隔で、道路状況を監視する交通監視クラウド又は後続車両へ送信する。
車両801は、外部から空間802に車両又は人が進入するなどして過去に送信済みの空間802に含まれる三次元データに変化が生じた場合には、変化が生じた空間の三次元データについても送信する。
なお、図37では、空間802の形状が直方体である例を示すが、空間802は、後続車両から死角となっている前方道路上の空間を含んでいればよく、必ずしも直方体でなくてもよい。
距離Lは、三次元データを受信した後続車両が安全に停止できる距離に設定されることが望ましい。例えば、距離Lは、後続車両が、三次元データの受信に要する間に移動する距離と、後続車両が、受信したデータに応じて減速を開始するまでに移動する距離と、後続車両が原則を開始してから安全に停止するのに要する距離との和に設定される。これらの距離は速度に応じて変化するので、L=a×V+b(a、bは定数)のように、距離Lが車両の速度Vに応じて変化してもよい。
幅Wは、少なくとも車両801が走行している車線の幅よりも大きな値に設定される。更に望ましくは、幅Wは、左右の車線或いは路側帯など、隣接する空間が含まれる大きさに設定される。
深さDは固定値でも良いが、D=c×V+d(c、dは定数)のように、車両の速度Vに応じて変化してもよい。また、D>V×ΔtとなるようにDを設定することで、送信する空間を過去に送信済みの空間と重複させることができる。これにより、車両801は、より確実に走路上の空間を漏れなく後続車両等に送信することができる。
このように、車両801が送信する三次元データを後続車両にとって有用な空間に限定することで、送信する三次元データの容量を効果的に削減でき、通信の低遅延化及び低コスト化を実現できる。
次に、本実施の形態に係る三次元データ作成装置810の構成を説明する。図38は、本実施の形態に係る三次元データ作成装置810の構成例を示すブロック図である。この三次元データ作成装置810は、例えば、車両801に搭載される。三次元データ作成装置810は、外部の交通監視クラウド、前走車両又は後続車両と三次元データの送受信を行うとともに、三次元データを作成及び蓄積する。
三次元データ作成装置810は、データ受信部811と、通信部812と、受信制御部813と、フォーマット変換部814と、複数のセンサ815と、三次元データ作成部816と、三次元データ合成部817と、三次元データ蓄積部818と、通信部819と、送信制御部820と、フォーマット変換部821と、データ送信部822とを備える。
データ受信部811は、交通監視クラウド又は前走車両から三次元データ831を受信する。三次元データ831は、例えば、自車両のセンサ815で検知不能な領域を含む、ポイントクラウド、可視光映像、奥行き情報、センサ位置情報、又は速度情報などの情報を含む。
通信部812は、交通監視クラウド又は前走車両と通信し、データ送信要求などを交通監視クラウド又は前走車両に送信する。
受信制御部813は、通信部812を介して、対応フォーマット等の情報を通信先と交換し、通信先との通信を確立する。
フォーマット変換部814は、データ受信部811が受信した三次元データ831にフォーマット変換等を行うことで三次元データ832を生成する。また、フォーマット変換部814は、三次元データ831が圧縮又は符号化されている場合には、伸張又は復号処理を行う。
複数のセンサ815は、LiDAR、可視光カメラ又は赤外線カメラなどの、車両801の外部の情報を取得するセンサ群であり、センサ情報833を生成する。例えば、センサ情報833は、センサ815がLiDARなどのレーザセンサである場合、ポイントクラウド(点群データ)等の三次元データである。なお、センサ815は複数でなくてもよい。
三次元データ作成部816は、センサ情報833から三次元データ834を生成する。三次元データ834は、例えば、ポイントクラウド、可視光映像、奥行き情報、センサ位置情報、又は速度情報などの情報を含む。
三次元データ合成部817は、自車両のセンサ情報833に基づいて作成された三次元データ834に、交通監視クラウド又は前走車両等が作成した三次元データ832を合成することで、自車両のセンサ815では検知できない前走車両の前方の空間も含む三次元データ835を構築する。
三次元データ蓄積部818は、生成された三次元データ835等を蓄積する。
通信部819は、交通監視クラウド又は後続車両と通信し、データ送信要求などを交通監視クラウド又は後続車両に送信する。
送信制御部820は、通信部819を介して、対応フォーマット等の情報を通信先と交換し、通信先と通信を確立する。また、送信制御部820は、三次元データ合成部817で生成された三次元データ832の三次元データ構築情報と、通信先からのデータ送信要求とに基づき、送信対象の三次元データの空間である送信領域を決定する。
具体的には、送信制御部820は、交通監視クラウド又は後続車両からのデータ送信要求に応じて、後続車両のセンサでは検知できない自車両の前方の空間を含む送信領域を決定する。また、送信制御部820は、三次元データ構築情報に基づいて送信可能な空間又は送信済み空間の更新有無等を判断することで送信領域を決定する。例えば、送信制御部820は、データ送信要求で指定された領域であり、かつ、対応する三次元データ835が存在する領域を送信領域に決定する。そして、送信制御部820は、通信先が対応するフォーマット、及び送信領域をフォーマット変換部821に通知する。
フォーマット変換部821は、三次元データ蓄積部818に蓄積されている三次元データ835のうち、送信領域の三次元データ836を、受信側が対応しているフォーマットへ変換することで三次元データ837を生成する。なお、フォーマット変換部821は、三次元データ837を圧縮又は符号化することでデータ量を削減してもよい。
データ送信部822は、三次元データ837を交通監視クラウド又は後続車両に送信する。この三次元データ837は、例えば、後続車両の死角になる領域を含む、自車両の前方のポイントクラウド、可視光映像、奥行き情報、又はセンサ位置情報などの情報を含む。
なお、ここでは、フォーマット変換部814及び821にてフォーマット変換等が行われる例を述べたが、フォーマット変換は行われなくてもよい。
このような構成により、三次元データ作成装置810は、自車両のセンサ815では検知できない領域の三次元データ831を外部から取得し、三次元データ831と自車両のセンサ815で検知したセンサ情報833に基づく三次元データ834とを合成することで三次元データ835を生成する。これにより、三次元データ作成装置810は、自車両のセンサ815で検知できない範囲の三次元データを生成できる。
また、三次元データ作成装置810は、交通監視クラウド又は後続車両からのデータ送信要求に応じて、後続車両のセンサでは検知できない自車両の前方の空間を含む三次元データを、交通監視クラウド又は後続車両等へ送信できる。
次に、三次元データ作成装置810における後続車両への三次元データの送信手順について説明する。図39は、三次元データ作成装置810による交通監視クラウド又は後続車両へ三次元データを送信する手順の一例を示すフローチャートである。
まず、三次元データ作成装置810は、自車両801の前方道路上の空間802を含む空間の三次元データ835を生成及び更新する(S801)。具体的には、三次元データ作成装置810は、自車両801のセンサ情報833に基づいて作成した三次元データ834に、交通監視クラウド又は前走車両等が作成した三次元データ831を合成するなどして、自車両のセンサ815では検知できない前走車両の前方の空間も含む三次元データ835を構築する。
次に、三次元データ作成装置810は、送信済みの空間に含まれる三次元データ835が変化したかを判定する(S802)。
送信済みの空間に外部から車両又は人が進入するなどして、当該空間に含まれる三次元データ835に変化が生じた場合には(S802でYes)、三次元データ作成装置810は、変化が生じた空間の三次元データ835を含む三次元データを交通監視クラウド又は後続車両に送信する(S803)。
なお、三次元データ作成装置810は、変化が生じた空間の三次元データを、所定間隔で送信する三次元データの送信タイミングに合わせて送信してもよいが、変化を検知した後すぐに送信してもよい。つまり、三次元データ作成装置810は、変化が生じた空間の三次元データを、所定間隔で送信する三次元データよりも優先して送信してもよい。
また、三次元データ作成装置810は、変化が生じた空間の三次元データとして、変化が生じた空間の三次元データの全てを送信してもよいし、三次元データの差分(例えば出現又は消失した三次元点の情報、又は三次元点の変位情報など)のみを送信してもよい。
また、三次元データ作成装置810は、変化が生じた空間の三次元データに先行して、急制動警報など自車両の危険回避動作に関するメタデータを後続車両へ送信してもよい。これによれば、後続車両は前走車両の急制動などを早期に認知でき、より早期に減速などの危険回避動作を開始できる。
送信済みの空間に含まれる三次元データ835に変化が生じていない場合(S802でNo)、又は、ステップS803の後、三次元データ作成装置810は、自車両801の前方距離Lにある所定の形状の空間に含まれる三次元データを、交通監視クラウド又は後続車両へ送信する(S804)。
また、例えば、ステップS801~S804の処理は、所定の時間間隔で繰り返し行われる。
また、三次元データ作成装置810は、現在の送信対象の空間802の三次元データ835と、三次元地図とに差がない場合には、空間802の三次元データ837を送信しなくてもよい。
図40は、この場合の三次元データ作成装置810の動作を示すフローチャートである。
まず、三次元データ作成装置810は、自車両801の前方道路上の空間802を含む空間の三次元データ835を生成及び更新する(S811)。
次に、三次元データ作成装置810は、生成した空間802の三次元データ835に、三次元地図からの更新があるかを判定する(S812)。つまり、三次元データ作成装置810は、生成した空間802の三次元データ835と、三次元地図とに差があるかを判定する。ここで、三次元地図とは、交通監視クラウド等のインフラ側の装置で管理されている三次元の地図情報である。例えば、この三次元地図は、三次元データ831として取得される。
更新がある場合(S812でYes)、三次元データ作成装置810は、上記と同様に、空間802に含まれる三次元データを、交通監視クラウド又は後続車両へ送信する(S813)。
一方、更新がない場合(S812でNo)、三次元データ作成装置810は、空間802に含まれる三次元データを、交通監視クラウド及び後続車両へ送信しない(S814)。なお、三次元データ作成装置810は、空間802の体積をゼロに設定することで、空間802の三次元データが送信されないように制御してもよい。また、三次元データ作成装置810は、空間802に更新がないことを示す情報を、交通監視クラウド又は後続車両へ送信してもよい。
以上により、例えば、道路上に障害物が無い場合には、生成された三次元データ835とインフラ側の三次元地図とに差が生じず、データの送信は行われない。このように、不要なデータの送信を抑制できる。
なお、上記説明では、三次元データ作成装置810が車両に搭載される例を述べたが、三次元データ作成装置810は車両に限らず、任意の移動体に搭載されてもよい。
以上のように、本実施の形態に係る三次元データ作成装置810は、センサ815と、三次元データを外部と送受信する通信部(データ受信部811又はデータ送信部822等)とを備える移動体に搭載される。三次元データ作成装置810は、センサ815で検知されたセンサ情報833と、データ受信部811が受信した三次元データ831(第1三次元データ)とに基づいて三次元データ835(第2三次元データ)を作成する。三次元データ作成装置810は、三次元データ835の一部である三次元データ837を外部に送信する。
これにより、三次元データ作成装置810は、自車両で検知できない範囲の三次元データを生成できる。また、三次元データ作成装置810は、他の車両等が検知できない範囲の三次元データを、当該他の車両に送信できる。
また、三次元データ作成装置810は、三次元データ835の作成と、三次元データ837の送信とを、所定の間隔で繰り返し行う。三次元データ837は、現在の車両801の位置から、車両801の移動方向前方の所定距離Lに位置する所定サイズの小空間802の三次元データである。
これにより、送信される三次元データ837の範囲が制限されるので、送信される三次元データ837のデータ量を削減できる。
また、所定距離Lは、車両801の移動速度Vに応じて変化する。例えば、移動速度Vが大きくなるほど、所定距離Lは長くなる。これにより、車両801は、車両801の移動速度Vに応じた適切な小空間802を設定し、当該小空間802の三次元データ837を後続車両等に送信できる。
また、所定サイズは、車両801の移動速度Vに応じて変化する。例えば、移動速度Vが大きくなるほど、所定サイズは大きくなる。例えば、移動速度Vが大きくなるほど、小空間802の車両の移動方向の長さである深さDは大きくなる。これにより、車両801は、車両801の移動速度Vに応じた適切な小空間802を設定し、当該小空間802の三次元データ837を後続車両等に送信できる。
また、三次元データ作成装置810は、送信済みの三次元データ837に対応する小空間802の三次元データ835に変化があるかを判定する。三次元データ作成装置810は、変化があると判定した場合、変化がある三次元データ835の少なくとも一部である三次元データ837(第4三次元データ)を外部の後続車両等に送信する。
これにより、車両801は、変化があった空間の三次元データ837を後続車両等に送信できる。
また、三次元データ作成装置810は、変化のあった三次元データ837(第4三次元データ)を、定期的に送信する通常の三次元データ837(第3三次元データ)よりも優先して送信する。具体的には、三次元データ作成装置810は、定期的に送信する通常の三次元データ837(第3三次元データ)の送信よりも前に変化のあった三次元データ837(第4三次元データ)を送信する。つまり、三次元データ作成装置810は、変化のあった三次元データ837(第4三次元データ)を、定期的に送信する通常の三次元データ837の送信を待たずに、非定期に送信する。
これにより、車両801は、変化があった空間の三次元データ837を後続車両等に優先的に送信できるので、後続車両等は、三次元データに基づく判断を迅速に行える。
また、変化のあった三次元データ837(第4三次元データ)は、送信済みの三次元データ837に対応する小空間802の三次元データ835と、変化後の三次元データ835との差分を示す。これにより、送信される三次元データ837のデータ量を削減できる。
また、三次元データ作成装置810は、小空間802の三次元データ837と、小空間802の三次元データ831とに差がない場合、小空間802の三次元データ837を送信しない。さらに、三次元データ作成装置810は、小空間802の三次元データ837と、小空間802の三次元データ831とに差がないことを示す情報を外部に送信してもよい。
これにより、不要な三次元データ837が送信されることを抑制できるので、送信される三次元データ837のデータ量を削減できる。
(実施の形態6)
本実施の形態では、三次元マップ等から得られた情報を表示する表示装置及び表示方法、並びに、三次元マップ等の保存装置及び保存方法について説明する。
車又はロボット等の移動体は、車の自動運転又はロボットの自律移動のために、サーバ又は他車との通信により得られる三次元マップ及び自車に搭載したセンサから得られる二次元映像或いは自車検知三次元データを活用する。これらのデータのうちユーザが視聴又は保存したいデータは状況により異なると考えられる。以下では状況に応じて表示を切り替える表示装置について説明する。
図41は、表示装置による表示方法の概要を示すフローチャートである。表示装置は、車又はロボット等の移動体に搭載される。なお、以下では、移動体が車両(自動車)である例を説明する。
まず、表示装置は、車両の運転状況に応じて、二次元周辺情報と三次元周辺情報とのいずれを表示するかを決定する(S901)。なお、二次元周辺情報は請求項における第1周辺情報に対応し、と三次元周辺情報は請求項における第2周辺情報に対応する。ここで、周辺情報とは、移動体の周辺を示す情報であり、例えば、車両から所定の方向を見た映像、又は、車両の周辺の地図である。
二次元周辺情報とは、二次元データを用いて生成された情報である。ここで二次元データとは、二次元の地図情報又は映像である。例えば、二次元周辺情報は、二次元マップから得られた車両周辺の地図、又は、車両に搭載されたカメラにより得られた映像である。また、二次元周辺情報は、例えば、三次元の情報を含まない。つまり、二次元周辺情報が車両周辺の地図である場合には、当該地図には高さ方向の情報が含まれない。また、二次元周辺情報がカメラにより得られた映像である場合には、当該映像は奥行き方向の情報を含まない。
また、三次元周辺情報とは、三次元データを用いて生成された情報である。ここで、三次元データとは、例えば、三次元マップである。なお、三次元データは、他車両又はサーバから取得した、又は、自車両で検知した、車両周辺の対象物の三次元位置又は三次元形状を示す情報等であってもよい。例えば、三次元周辺情報は、三次元マップを用いて生成された、車両周辺の二次元又は三次元の映像又は地図である。また、三次元周辺情報は、例えば、三次元の情報を含む。例えば、三次元周辺情報が車両前方の映像である場合には、当該映像は当該映像内の対象物までの距離を示す情報を含む。または、当該映像において、例えば、前方の車両の奥に存在する歩行者等が表示される。また、三次元周辺情報は、車両に搭載されたセンサから得られる映像に、これらの距離又は歩行者等を示す情報が重畳されたものでもよい。また、三次元周辺情報は、二次元の地図に高さ方向の情報が重畳されたものであってもよい。
また、三次元データが三次元表示されてもよいし、三次元データから得られた二次元映像又は二次元地図が二次元のディスプレイ等に表示されてもよい。
ステップS901において三次元周辺情報を表示すると決定された場合(S902でYes)、表示装置は、三次元周辺情報を表示する(S903)。一方、ステップS901において二次元周辺情報を表示すると決定された場合(S902でNo)、表示装置は、二次元周辺情報を表示する(S904)。このように表示装置は、ステップS901で表示すると決定された三次元周辺情報又は二次元周辺情報を表示する。
以下、具体例を説明する。第1の例では、表示装置は、車両が自動運転されているか、手動運転されているかに応じて、表示する周辺情報を切り替える。具体的には、自動運転時には、運転手は、詳細な周辺の道路情報を詳しく知る必要がないため、表示装置は、二次元周辺情報(例えば二次元マップ)を表示する。一方、手動運転時は安全な運転のために周辺の道路情報の詳細が分かるよう三次元周辺情報(例えば三次元マップ)を表示する。
また、自動運転時は、自車がどのような情報に基づき運転を行っているかをユーザに示すため、表示装置は、運転操作に影響をあたえた情報(例えば、自己位置推定に利用したSWLD、車線、道路標識、及び周辺状況検知結果等)を表示してもよい。例えば、表示装置は、これらの情報を二次元マップに加えて表示してもよい。
なお、上記自動運転時及び手動運転時に表示する周辺情報はあくまで一例であり、表示装置は、自動運転時に三次元周辺情報を表示し、手動運転時に二次元周辺情報を表示してもよい。また、表示装置は、自動運転時及び手動運転時の少なくとも一方において、二次元又は三次元の地図又は映像に加えて、メタデータ又は周辺状況検知結果を表示してもよいし、二次元又は三次元の地図又は映像の代わりにメタデータ又は周辺状況検知結果を表示してもよい。ここで、メタデータとは、サーバ又は他車両から取得した対象物の三次元位置又は三次元形状を示す情報である。また、周辺状況検知結果は、自車両で検知した対象物の三次元位置又は三次元形状を示す情報である。
第2の例では、表示装置は、運転環境に応じて表示する周辺情報を切り替える。例えば、表示装置は、外界の明るさに応じて表示する周辺情報を切り替える。具体的には、表示装置は、自車周辺が明るい場合は、自車に搭載のカメラで得られる二次元映像、又は当該二次元映像を用いて作成された三次元周辺情報を表示する。一方、表示装置は、自車周辺が暗い場合は、自車に搭載のカメラから得られる二次元映像は暗くて視聴しにくいため、ライダー又はミリ波レーダーを用いて作成された三次元周辺情報を表示する。
また、表示装置は、現在の自車両が存在する領域である運転領域によって表示する周辺情報を切り替えてもよい。例えば、表示装置は、観光地、都心部、又は目的地付近などでは周辺の建物の情報などをユーザに提供できるよう三次元周辺情報を表示する。一方、表示装置は、山間部、又は郊外などでは周辺の詳細情報が必要ないケースが多いと考えられるため、二次元周辺情報を表示する。
また、表示装置は、天候状態に基づき表示する周辺情報を切り替えてもよい。例えば、表示装置は、晴天の場合はカメラ又はライダーを用いて作成した三次元周辺情報を表示する。一方、表示装置は、雨又は濃霧の場合はカメラ又はライダーによる三次元周辺情報にはノイズが含まれやすくなるためミリ波レーダーを用いて作成した三次元周辺情報を表示する。
また、これら表示の切り替えはシステムが自動で実施してもよいし、ユーザが手動で実施してもよい。
また、三次元周辺情報は、WLDに基づいて生成される密点群データ、MWLDに基づいて生成されるメッシュデータ、SWLDに基づいて生成されるスパースデータ、レーンワールドに基づいて生成されるレーンデータ、道路及び交差点の三次元の形状情報などを含む二次元の地図データ、並びに、実時間で変化する三次元位置又は三次元形状情報を含むメタデータ又は自車両検知結果のいずれか1つ以上のデータから生成される。
なお、上述したようにWLDとは、三次元の点群データであり、SWLDは、WLDから特徴量が閾値以上である点群が抽出されることで得られたデータである。また、MWLDは、WLDから生成されたメッシュ構造を有するデータである。レーンワールドは、WLDから、特徴量が閾値以上であり、かつ、自己位置推定、運転アシスト、又は自動運転等に必要な点群が抽出されることで得られたデータである。
ここで、MWLD及びSWLDは、WLDに比べデータ量が少ない。よって、より詳細データが必要な場合には、WLDを用い、そうでない場合にはMWLD又はSWLDを用いることで、通信データ量、及び処理量を適切に削減できる。また、レーンワールドは、SWLDに比べデータ量が少ない。よって、レーンワールドを用いることで、通信データ量、及び処理量をさらに削減できる。
また、上記では二次元周辺情報と三次元周辺情報とを切り替える例を述べたが、表示装置は、上記の条件に基づき、三次元周辺情報の生成に使用するデータの種別(WLD、SWLD等)を切り替えてもよい。つまり、上記説明において、表示装置は、三次元周辺情報を表示するケースでは、よりデータ量の多い第1データ(例えばWLD又はSWLD)から生成された三次元周辺情報を表示し、二次元周辺情報を表示するケースでは、二次元周辺情報の代わりに上記第1データよりデータ量の少ない第2データ(例えばSWLD又はレーンワールド)から生成された三次元周辺情報を表示してもよい。
また、表示装置は、二次元周辺情報又は三次元周辺情報を、例えば、自車に搭載された二次元ディスプレイ、ヘッドアップディスプレイ、又はヘッドマウントディスプレイに表示する。または、表示装置は、無線通信によりスマートフォンのようなモバイル端末に二次元周辺情報又は三次元周辺情報を転送し表示してもよい。つまり、表示装置は、移動体に搭載されるものに限らず、移動体と連携し、動作するものであればよい。例えば、スマートフォン等の表示装置を所持するユーザが移動体に搭乗した場合、又は移動体を運転する場合に、移動体の自己位置推定に基づく移動体の位置などの移動体の情報が表示装置に表示される、又は、これらの情報が周辺情報と共に表示装置に表示される。
また、表示装置は、三次元マップを表示する際は、三次元マップをレンダリングし二次元データとして表示しても、三次元ディスプレイ又は三次元ホログラムを利用して三次元データとして表示してもよい。
次に、三次元マップの保存方法について説明する。車又はロボット等の移動体は、車の自動運転又はロボットの自律移動のために、サーバ又は他車との通信により得られる三次元マップ、及び自車に搭載したセンサから得られる二次元映像、或いは自車検知三次元データを活用する。これらのデータのうちユーザが視聴又は保存したいデータは状況により異なると考えられる。以下では状況に応じたデータの保存方法について説明する。
保存装置は、車又はロボット等の移動体に搭載される。なお、以下では、移動体が車両(自動車)である例を説明する。また、保存装置は、上述した表示装置に含まれてもよい。
第1の例では、保存装置は、地域に基づき三次元マップを保存するか否かを決定する。ここで、三次元マップを自車の記憶媒体に保存することにより、保存した空間内ではサーバとの通信なしで自動運転が可能になる。しかし記憶容量に限界があるため限られたデータしか保存できない。そのため、保存装置は、以下に示すように保存する地域を限定する。
例えば、保存装置は、通勤経路、又は自宅周辺など頻繁に通過する地域の三次元マップを優先的に保存する。これにより、頻繁に利用する地域のデータをその都度取得する必要がなくなるので、通信データ量を効果的に削減できる。なお、優先的に保存するとは、予め定められた記憶容量内により優先度の高いデータを保存することである。例えば、記憶容量内に新たなデータを保存できない場合には、当該新たなデータより優先度の低いデータが削除される。
または、保存装置は、通信環境が悪い地域の三次元マップを優先的に保存する。これにより、通信環境が悪い地域において、通信によりデータを取得する必要がなくなるので、通信不良により三次元マップを取得できないケースの発生を抑制できる。
または、保存装置は、交通量の多い地域の三次元マップを優先的に保存する。これにより、事故の発生が多い地域の三次元マップを優先的に保存できる。よって、このような地域において、通信不良により三次元マップが取得できず、自動運転又は運転支援の精度が低下することを抑制できる。
または、保存装置は、交通量の少ない地域の三次元マップを優先的に保存する。ここで、交通量の少ない地域では、前走車を自動追従する自動運転モードが使用できない可能性が高くなる。これにより、より詳細な周辺情報が必要になるケースがある。よって、交通量の少ない地域の三次元マップを優先的に保存することで、このような地域における自動運転又は運転支援の精度を向上できる。
なお、上記の複数の保存方法を組み合わせてもよい。また、これらの三次元マップを優先的に保存する地域はシステムにより自動的に決定されてもよいし、ユーザにより指定されてもよい。
また、保存装置は、保存した後に所定期間が過ぎた三次元マップを削除してもよいし、最新のデータに更新してもよい。これにより、古い地図データが利用されないようにできる。また、保存装置は、地図データを更新する際は、古い地図と新しい地図とを比較することで、差分がある空間領域である差分領域を検出し、古い地図に、新しい地図の差分領域のデータを加える、又は古い地図から差分領域のデータを取り除くことにより、変化があった領域のデータのみを更新してもよい。
また、この例では、保存された三次元マップは自動運転に利用される。よって、この三次元マップとしてSWLDを用いることで、通信データ量等を削減できる。なお、三次元マップはSWLDに限らず、WLD等の他の種別のデータであってもよい。
第2の例では、保存装置は、イベントに基づき三次元マップを保存する。
例えば、保存装置は、走行中に遭遇する特別なイベントを三次元マップとして保存する。これにより、ユーザは、後にイベントの詳細を視聴することなどが可能になる。以下に三次元マップとして保存するイベント例を示す。なお、保存装置は、三次元マップから生成された三次元周辺情報を保存してもよい。
例えば、保存装置は、衝突事故の前後、又は危険察知時などに三次元マップを保存する。
または、保存装置は、きれいな景色、人だかりの多い場所、又は観光地など、特徴的なシーンの三次元マップを保存する。
これら保存するイベントはシステムにより自動的に決定されてもよいし、ユーザが事前に指定してもよい。例えば、これらのイベントを判定する方法として、機械学習が用いられてもよい。
また、この例では、保存された三次元マップは視聴に利用される。よって、この三次元マップとしてWLDを用いることで、高画質な映像を提供できる。なお、三次元マップはWLDに限らず、SWLD等の他の種別のデータであってもよい。
以下、表示装置が、ユーザに応じて表示を制御する方法について説明する。表示装置が、車車間通信で得られる周辺状況検知結果を地図に重畳し表示する際には、周辺車両をワイヤーフレームで表現する、又は周辺車両に透明度を付与して表現するなどして、周辺車両の奥にある検知物体を見えるようにする。あるいは、表示装置は、上空からの視点の映像表示し、自車、周辺車両及び周辺状況検知結果を俯瞰的に見えるようにしてもよい。
図42に示すようなフロントガラス越しに見える周辺環境に、ヘッドアップディスプレイを用いて周辺状況検知結果又は点群データを重畳する場合、ユーザの姿勢、体型又は目の位置の違いにより情報を重畳する位置がずれる可能性がある。図43は、位置がずれている場合のヘッドアップディスプレイの表示例を示す図である。
このようなズレを補正するため、表示装置は、車内カメラ又は座席シートに搭載されたセンサ情報を利用しユーザの姿勢、体型又は目の位置を検出する。表示装置は、検知したユーザの姿勢、体型又は目の位置に応じて情報を重畳する位置を調整する。図44は、調整後のヘッドアップディスプレイの表示例を示す図である。
なお、このような重畳位置の調整を、車に搭載された制御装置を用いてユーザが手動で行ってもよい。
また、表示装置は、災害時に安全な場所を地図上に示し、ユーザに提示してもよい。あるいは、車両は、災害内容及び安全な場所へ行く旨をユーザに伝え、安全な場所まで自動運転を行ってもよい。
例えば、車両は、地震発生時には津波に巻き込まれないよう海抜高度が高い地域を目的に設定する。この際、車両は、サーバとの通信により地震により通行困難となった道路情報を獲得し、その道路を避けるルートをとるなど災害内容に応じた処理を行ってもよい。
また、自動運転には移動モード、及びドライブモードなど複数のモードが含まれてもよい。
移動モードでは、車両は、到着時間の早さ、料金の安さ、走行距離の短さ、及び消費エネルギーの低さなどを考慮し、目的地までのルートを決定し、決定したルートに従い自動運転を行う。
ドライブモードでは、車両は、ユーザが指定した時間に目的地に着くよう自動的にルートを決定する。例えば、ユーザが目的地と到着時間を設定すると、車両は、周辺観光地をめぐり、設定時間に目的地に到着できるようなルートを決定し、決定したルートに従い自動運転を行う。
(実施の形態7)
実施の形態5において、車両等のクライアント装置が、他の車両又は交通監視クラウド等のサーバに三次元データを送信する例を説明した。本実施の形態では、クライアント装置は、サーバ又は他のクライアント装置にセンサで得られたセンサ情報を送信する。
まず、本実施の形態に係るシステムの構成を説明する。図45は、本実施の形態に係る三次元マップ及びセンサ情報の送受信システムの構成を示す図である。このシステムは、サーバ901と、クライアント装置902A及び902Bを含む。なお、クライアント装置902A及び902Bを特に区別しない場合には、クライアント装置902とも記す。
クライアント装置902は、例えば、車両等の移動体に搭載される車載機器である。サーバ901は、例えば、交通監視クラウド等であり、複数のクライアント装置902と通信可能である。
サーバ901は、クライアント装置902に、ポイントクラウドから構成される三次元マップを送信する。なお、三次元マップの構成はポイントクラウドに限定されず、メッシュ構造等、他の三次元データを表すものであってもよい。
クライアント装置902は、サーバ901に、クライアント装置902が取得したセンサ情報を送信する。センサ情報は、例えば、LiDAR取得情報、可視光画像、赤外画像、デプス画像、センサ位置情報及び速度情報のうち少なくとも一つを含む。
サーバ901とクライアント装置902との間で送受信されるデータは、データ削減のために圧縮されてもよいし、データの精度を維持するために非圧縮のままでも構わない。データを圧縮する場合、ポイントクラウドには例えば8分木構造に基づく三次元圧縮方式を用いることができる。また、可視光画像、赤外画像、及びデプス画像には二次元の画像圧縮方式を用いることができる。二次元の画像圧縮方式とは、例えば、MPEGで規格化されたMPEG-4 AVC又はHEVC等である。
また、サーバ901は、クライアント装置902からの三次元マップの送信要求に応じてサーバ901で管理する三次元マップをクライアント装置902に送信する。なお、サーバ901はクライアント装置902からの三次元マップの送信要求を待たずに三次元マップを送信してもよい。例えば、サーバ901は、予め定められた空間にいる1つ以上のクライアント装置902に三次元マップをブロードキャストしても構わない。また、サーバ901は、一度送信要求を受けたクライアント装置902に、一定時間毎にクライアント装置902の位置に適した三次元マップを送信してもよい。また、サーバ901は、サーバ901が管理する三次元マップが更新される度にクライアント装置902に三次元マップを送信してもよい。
クライアント装置902は、サーバ901に三次元マップの送信要求を出す。例えば、クライアント装置902が、走行時に自己位置推定を行いたい場合に、クライアント装置902は、三次元マップの送信要求をサーバ901に送信する。
なお、次のような場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。クライアント装置902の保持する三次元マップが古い場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。例えば、クライアント装置902が三次元マップを取得してから一定期間が経過した場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。
クライアント装置902が保持する三次元マップで示される空間から、クライアント装置902が外に出る一定時刻前に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。例えば、クライアント装置902が、クライアント装置902が保持する三次元マップで示される空間の境界から予め定められた距離以内に存在する場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。また、クライアント装置902の移動経路及び移動速度が把握できている場合には、これらに基づき、クライアント装置902が保持する三次元マップで示される空間から、クライアント装置902が外に出る時刻を予測してもよい。
クライアント装置902がセンサ情報から作成した三次元データと三次元マップとの位置合せ時の誤差が一定以上の場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。
クライアント装置902は、サーバ901から送信されたセンサ情報の送信要求に応じて、サーバ901にセンサ情報を送信する。なお、クライアント装置902はサーバ901からのセンサ情報の送信要求を待たずにセンサ情報をサーバ901に送ってもよい。例えば、クライアント装置902は、一度サーバ901からセンサ情報の送信要求を得た場合、一定期間の間、定期的にセンサ情報をサーバ901に送信してもよい。また、クライアント装置902は、クライアント装置902がセンサ情報を元に作成した三次元データと、サーバ901から得た三次元マップとの位置合せ時の誤差が一定以上の場合、クライアント装置902の周辺の三次元マップに変化が生じた可能性があると判断し、その旨とセンサ情報とをサーバ901に送信してもよい。
サーバ901は、クライアント装置902にセンサ情報の送信要求を出す。例えば、サーバ901は、クライアント装置902から、GPS等のクライアント装置902の位置情報を受信する。サーバ901は、クライアント装置902の位置情報に基づき、サーバ901が管理する三次元マップにおいて情報が少ない空間にクライアント装置902が近づいていると判断した場合、新たな三次元マップを生成するためにクライアント装置902にセンサ情報の送信要求を出す。また、サーバ901は、三次元マップを更新したい場合、積雪時或いは災害時などの道路状況を確認したい場合、渋滞状況、或いは事件事故状況等を確認したい場合に、センサ情報の送信要求を出してもよい。
また、クライアント装置902は、サーバ901から受け取るセンサ情報の送信要求の受信時における通信状態又は帯域に応じて、サーバ901に送信するセンサ情報のデータ量を設定してもよい。サーバ901に送信するセンサ情報のデータ量を設定するというのは、例えば、当該データそのものを増減させること、又は圧縮方式を適宜選択することである。
図46は、クライアント装置902の構成例を示すブロック図である。クライアント装置902は、サーバ901からポイントクラウド等で構成される三次元マップを受信し、クライアント装置902のセンサ情報に基づいて作成した三次元データからクライアント装置902の自己位置を推定する。また、クライアント装置902は、取得したセンサ情報をサーバ901に送信する。
クライアント装置902は、データ受信部1011と、通信部1012と、受信制御部1013と、フォーマット変換部1014と、複数のセンサ1015と、三次元データ作成部1016と、三次元画像処理部1017と、三次元データ蓄積部1018と、フォーマット変換部1019と、通信部1020と、送信制御部1021と、データ送信部1022とを備える。
データ受信部1011は、サーバ901から三次元マップ1031を受信する。三次元マップ1031は、WLD又はSWLD等のポイントクラウドを含むデータである。三次元マップ1031には、圧縮データ、及び非圧縮データのどちらが含まれていてもよい。
通信部1012は、サーバ901と通信し、データ送信要求(例えば、三次元マップの送信要求)などをサーバ901に送信する。
受信制御部1013は、通信部1012を介して、対応フォーマット等の情報を通信先と交換し、通信先との通信を確立する。
フォーマット変換部1014は、データ受信部1011が受信した三次元マップ1031にフォーマット変換等を行うことで三次元マップ1032を生成する。また、フォーマット変換部1014は、三次元マップ1031が圧縮又は符号化されている場合には、伸張又は復号処理を行う。なお、フォーマット変換部1014は、三次元マップ1031が非圧縮データであれば、伸張又は復号処理を行わない。
複数のセンサ1015は、LiDAR、可視光カメラ、赤外線カメラ、又はデプスセンサなど、クライアント装置902が搭載されている車両の外部の情報を取得するセンサ群であり、センサ情報1033を生成する。例えば、センサ情報1033は、センサ1015がLiDARなどのレーザセンサである場合、ポイントクラウド(点群データ)等の三次元データである。なお、センサ1015は複数でなくてもよい。
三次元データ作成部1016は、センサ情報1033に基づいて自車両の周辺の三次元データ1034を作成する。例えば、三次元データ作成部1016は、LiDARで取得した情報と、可視光カメラで得られた可視光映像とを用いて自車両の周辺の色情報付きのポイントクラウドデータを作成する。
三次元画像処理部1017は、受信したポイントクラウド等の三次元マップ1032と、センサ情報1033から生成した自車両の周辺の三次元データ1034とを用いて、自車両の自己位置推定処理等を行う。なお、三次元画像処理部1017は、三次元マップ1032と三次元データ1034とを合成することで自車両の周辺の三次元データ1035を作成し、作成した三次元データ1035を用いて自己位置推定処理を行ってもよい。
三次元データ蓄積部1018は、三次元マップ1032、三次元データ1034及び三次元データ1035等を蓄積する。
フォーマット変換部1019は、センサ情報1033を、受信側が対応しているフォーマットへ変換することでセンサ情報1037を生成する。なお、フォーマット変換部1019は、センサ情報1037を圧縮又は符号化することでデータ量を削減してもよい。また、フォーマット変換部1019は、フォーマット変換をする必要がない場合は処理を省略してもよい。また、フォーマット変換部1019は、送信範囲の指定に応じて送信するデータ量を制御してもよい。
通信部1020は、サーバ901と通信し、データ送信要求(センサ情報の送信要求)などをサーバ901から受信する。
送信制御部1021は、通信部1020を介して、対応フォーマット等の情報を通信先と交換し、通信を確立する。
データ送信部1022は、センサ情報1037をサーバ901に送信する。センサ情報1037は、例えば、LiDARで取得した情報、可視光カメラで取得した輝度画像、赤外線カメラで取得した赤外画像、デプスセンサで取得したデプス画像、センサ位置情報、及び速度情報など、複数のセンサ1015によって取得した情報を含む。
次に、サーバ901の構成を説明する。図47は、サーバ901の構成例を示すブロック図である。サーバ901は、クライアント装置902から送信されたセンサ情報を受信し、受信したセンサ情報に基づいて三次元データを作成する。サーバ901は、作成した三次元データを用いて、サーバ901が管理する三次元マップを更新する。また、サーバ901は、クライアント装置902からの三次元マップの送信要求に応じて、更新した三次元マップをクライアント装置902に送信する。
サーバ901は、データ受信部1111と、通信部1112と、受信制御部1113と、フォーマット変換部1114と、三次元データ作成部1116と、三次元データ合成部1117と、三次元データ蓄積部1118と、フォーマット変換部1119と、通信部1120と、送信制御部1121と、データ送信部1122とを備える。
データ受信部1111は、クライアント装置902からセンサ情報1037を受信する。センサ情報1037は、例えば、LiDARで取得した情報、可視光カメラで取得した輝度画像、赤外線カメラで取得した赤外画像、デプスセンサで取得したデプス画像、センサ位置情報、及び速度情報などを含む。
通信部1112は、クライアント装置902と通信し、データ送信要求(例えば、センサ情報の送信要求)などをクライアント装置902に送信する。
受信制御部1113は、通信部1112を介して、対応フォーマット等の情報を通信先と交換し、通信を確立する。
フォーマット変換部1114は、受信したセンサ情報1037が圧縮又は符号化されている場合には、伸張又は復号処理を行うことでセンサ情報1132を生成する。なお、フォーマット変換部1114は、センサ情報1037が非圧縮データであれば、伸張又は復号処理を行わない。
三次元データ作成部1116は、センサ情報1132に基づいてクライアント装置902の周辺の三次元データ1134を作成する。例えば、三次元データ作成部1116は、LiDARで取得した情報と、可視光カメラで得られた可視光映像とを用いてクライアント装置902の周辺の色情報付ポイントクラウドデータを作成する。
三次元データ合成部1117は、センサ情報1132を元に作成した三次元データ1134を、サーバ901が管理する三次元マップ1135に合成することで三次元マップ1135を更新する。
三次元データ蓄積部1118は、三次元マップ1135等を蓄積する。
フォーマット変換部1119は、三次元マップ1135を、受信側が対応しているフォーマットへ変換することで三次元マップ1031を生成する。なお、フォーマット変換部1119は、三次元マップ1135を圧縮又は符号化することでデータ量を削減してもよい。また、フォーマット変換部1119は、フォーマット変換をする必要がない場合は処理を省略してもよい。また、フォーマット変換部1119は、送信範囲の指定に応じて送信するデータ量を制御してもよい。
通信部1120は、クライアント装置902と通信し、データ送信要求(三次元マップの送信要求)などをクライアント装置902から受信する。
送信制御部1121は、通信部1120を介して、対応フォーマット等の情報を通信先と交換し、通信を確立する。
データ送信部1122は、三次元マップ1031をクライアント装置902に送信する。三次元マップ1031は、WLD又はSWLD等のポイントクラウドを含むデータである。三次元マップ1031には、圧縮データ、及び非圧縮データのどちらが含まれていてもよい。
次に、クライアント装置902の動作フローについて説明する。図48は、クライアント装置902による三次元マップ取得時の動作を示すフローチャートである。
まず、クライアント装置902は、サーバ901へ三次元マップ(ポイントクラウド等)の送信を要求する(S1001)。このとき、クライアント装置902は、GPS等で得られたクライアント装置902の位置情報を合わせて送信することで、その位置情報に関連する三次元マップの送信をサーバ901に要求してもよい。
次に、クライアント装置902は、サーバ901から三次元マップを受信する(S1002)。受信した三次元マップが圧縮データであれば、クライアント装置902は、受信した三次元マップを復号して非圧縮の三次元マップを生成する(S1003)。
次に、クライアント装置902は、複数のセンサ1015で得られたセンサ情報1033からクライアント装置902の周辺の三次元データ1034を作成する(S1004)。次に、クライアント装置902は、サーバ901から受信した三次元マップ1032と、センサ情報1033から作成した三次元データ1034とを用いてクライアント装置902の自己位置を推定する(S1005)。
図49は、クライアント装置902によるセンサ情報の送信時の動作を示すフローチャートである。まず、クライアント装置902は、サーバ901からセンサ情報の送信要求を受信する(S1011)。送信要求を受信したクライアント装置902は、センサ情報1037をサーバ901に送信する(S1012)。なお、クライアント装置902は、センサ情報1033が複数のセンサ1015で得られた複数の情報を含む場合、各情報を、各情報に適した圧縮方式で圧縮することでセンサ情報1037を生成してもよい。
次に、サーバ901の動作フローについて説明する。図50は、サーバ901によるセンサ情報の取得時の動作を示すフローチャートである。まず、サーバ901は、クライアント装置902へセンサ情報の送信を要求する(S1021)。次に、サーバ901は、当該要求に応じてクライアント装置902から送信されたセンサ情報1037を受信する(S1022)。次に、サーバ901は、受信したセンサ情報1037を用いて三次元データ1134を作成する(S1023)。次に、サーバ901は、作成した三次元データ1134を三次元マップ1135に反映する(S1024)。
図51は、サーバ901による三次元マップの送信時の動作を示すフローチャートである。まず、サーバ901は、クライアント装置902から三次元マップの送信要求を受信する(S1031)。三次元マップの送信要求を受信したサーバ901は、クライアント装置902へ三次元マップ1031を送信する(S1032)。このとき、サーバ901は、クライアント装置902の位置情報に合わせてその付近の三次元マップを抽出し、抽出した三次元マップを送信してもよい。また、サーバ901は、ポイントクラウドで構成される三次元マップを、例えば8分木構造による圧縮方式等を用いて圧縮し、圧縮後の三次元マップを送信してもよい。
以下、本実施の形態の変形例について説明する。
サーバ901は、クライアント装置902から受信したセンサ情報1037を用いてクライアント装置902の位置付近の三次元データ1134を作成する。次に、サーバ901は、作成した三次元データ1134と、サーバ901が管理する同エリアの三次元マップ1135とのマッチングを行うことによって、三次元データ1134と三次元マップ1135との差分を算出する。サーバ901は、差分が予め定められた閾値以上の場合は、クライアント装置902の周辺で何らかの異常が発生したと判断する。例えば、地震等の自然災害によって地盤沈下等が発生した際などに、サーバ901が管理する三次元マップ1135と、センサ情報1037を基に作成した三次元データ1134との間に大きな差が発生することが考えられる。
センサ情報1037は、センサの種類、センサの性能、及びセンサの型番のうち少なくとも一つを示す情報を含んでもよい。また、センサ情報1037に、センサの性能に応じたクラスID等が付加されてもよい。例えば、センサ情報1037がLiDARで取得された情報である場合、数mm単位の精度で情報を取得できるセンサをクラス1、数cm単位の精度で情報を取得できるセンサをクラス2、数m単位の精度で情報を取得できるセンサをクラス3のように、センサの性能に識別子を割り当てることが考えられる。また、サーバ901は、センサの性能情報等を、クライアント装置902の型番から推定してもよい。例えば、クライアント装置902が車両に搭載されている場合、サーバ901は、当該車両の車種からセンサのスペック情報を判断してもよい。この場合、サーバ901は、車両の車種の情報を事前に取得していてもよいし、センサ情報に、当該情報が含まれてもよい。また、サーバ901は取得したセンサ情報1037を用いて、センサ情報1037を用いて作成した三次元データ1134に対する補正の度合いを切り替えてもよい。例えば、センサ性能が高精度(クラス1)である場合、サーバ901は、三次元データ1134に対する補正を行わない。センサ性能が低精度(クラス3)である場合、サーバ901は、三次元データ1134に、センサの精度に応じた補正を適用する。例えば、サーバ901は、センサの精度が低いほど補正の度合い(強度)を強くする。
サーバ901は、ある空間にいる複数のクライアント装置902に同時にセンサ情報の送信要求を出してもよい。サーバ901は、複数のクライアント装置902から複数のセンサ情報を受信した場合に、全てのセンサ情報を三次元データ1134の作成に利用する必要はなく、例えば、センサの性能に応じて、利用するセンサ情報を選択してもよい。例えば、サーバ901は、三次元マップ1135を更新する場合、受信した複数のセンサ情報の中から高精度なセンサ情報(クラス1)を選別し、選別したセンサ情報を用いて三次元データ1134を作成してもよい。
サーバ901は、交通監視クラウド等のサーバのみに限定されず、他のクライアント装置(車載)であってもよい。図52は、この場合のシステム構成を示す図である。
例えば、クライアント装置902Cが近くにいるクライアント装置902Aにセンサ情報の送信要求を出し、クライアント装置902Aからセンサ情報を取得する。そして、クライアント装置902Cは、取得したクライアント装置902Aのセンサ情報を用いて三次元データを作成し、クライアント装置902Cの三次元マップを更新する。これにより、クライアント装置902Cは、クライアント装置902Aから取得可能な空間の三次元マップを、クライアント装置902Cの性能を活かして生成できる。例えば、クライアント装置902Cの性能が高い場合に、このようなケースが発生すると考えられる。
また、この場合、センサ情報を提供したクライアント装置902Aは、クライアント装置902Cが生成した高精度な三次元マップを取得する権利が与えられる。クライアント装置902Aは、その権利に従ってクライアント装置902Cから高精度な三次元マップを受信する。
また、クライアント装置902Cは近くにいる複数のクライアント装置902(クライアント装置902A及びクライアント装置902B)にセンサ情報の送信要求を出してもよい。クライアント装置902A又はクライアント装置902Bのセンサが高性能である場合には、クライアント装置902Cは、この高性能なセンサで得られたセンサ情報を用いて三次元データを作成できる。
図53は、サーバ901及びクライアント装置902の機能構成を示すブロック図である。サーバ901は、例えば、三次元マップを圧縮及び復号する三次元マップ圧縮/復号処理部1201と、センサ情報を圧縮及び復号するセンサ情報圧縮/復号処理部1202とを備える。
クライアント装置902は、三次元マップ復号処理部1211と、センサ情報圧縮処理部1212とを備える。三次元マップ復号処理部1211は、圧縮された三次元マップの符号化データを受信し、符号化データを復号して三次元マップを取得する。センサ情報圧縮処理部1212は、取得したセンサ情報から作成した三次元データの代わりに、センサ情報そのものを圧縮し、圧縮したセンサ情報の符号化データをサーバ901へ送信する。この構成により、クライアント装置902は、三次元マップ(ポイントクラウド等)を復号する処理を行う処理部(装置又はLSI)を内部に保持すればよく、三次元マップ(ポイントクラウド等)の三次元データを圧縮する処理を行う処理部を内部に保持する必要がない。これにより、クライアント装置902のコスト及び消費電力等を抑えることができる。
以上のように、本実施の形態に係るクライアント装置902は、移動体に搭載され、移動体に搭載されたセンサ1015により得られた、移動体の周辺状況を示すセンサ情報1033から、移動体の周辺の三次元データ1034を作成する。クライアント装置902は、作成された三次元データ1034を用いて移動体の自己位置を推定する。クライアント装置902は、取得したセンサ情報1033をサーバ901又は他の移動体902に送信する。
これによれば、クライアント装置902は、センサ情報1033をサーバ901等に送信する。これにより、三次元データを送信する場合に比べて、送信データのデータ量を削減できる可能性がある。また、三次元データの圧縮又は符号化等の処理をクライアント装置902で行う必要がないので、クライアント装置902の処理量を削減できる。よって、クライアント装置902は、伝送されるデータ量の削減、又は、装置の構成の簡略化を実現できる。
また、クライアント装置902は、さらに、サーバ901に三次元マップの送信要求を送信し、サーバ901から三次元マップ1031を受信する。クライアント装置902は、自己位置の推定では、三次元データ1034と三次元マップ1032とを用いて、自己位置を推定する。
また、センサ情報1033は、レーザセンサで得られた情報、輝度画像、赤外画像、デプス画像、センサの位置情報、及びセンサの速度情報のうち少なくとも一つを含む。
また、センサ情報1033は、センサの性能を示す情報を含む。
また、クライアント装置902は、センサ情報1033を符号化又は圧縮し、センサ情報の送信では、符号化又は圧縮後のセンサ情報1037を、サーバ901又は他の移動体902に送信する。これによれば、クライアント装置902は、伝送されるデータ量を削減できる。
例えば、クライアント装置902は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
また、本実施の形態に係るサーバ901は、移動体に搭載されるクライアント装置902と通信可能であり、移動体に搭載されたセンサ1015により得られた、移動体の周辺状況を示すセンサ情報1037をクライアント装置902から受信する。サーバ901は、受信したセンサ情報1037から、移動体の周辺の三次元データ1134を作成する。
これによれば、サーバ901は、クライアント装置902から送信されたセンサ情報1037を用いて三次元データ1134を作成する。これにより、クライアント装置902が三次元データを送信する場合に比べて、送信データのデータ量を削減できる可能性がある。また、三次元データの圧縮又は符号化等の処理をクライアント装置902で行う必要がないので、クライアント装置902の処理量を削減できる。よって、サーバ901は、伝送されるデータ量の削減、又は、装置の構成の簡略化を実現できる。
また、サーバ901は、さらに、クライアント装置902にセンサ情報の送信要求を送信する。
また、サーバ901は、さらに、作成された三次元データ1134を用いて三次元マップ1135を更新し、クライアント装置902からの三次元マップ1135の送信要求に応じて三次元マップ1135をクライアント装置902に送信する。
また、センサ情報1037は、レーザセンサで得られた情報、輝度画像、赤外画像、デプス画像、センサの位置情報、及びセンサの速度情報のうち少なくとも一つを含む。
また、センサ情報1037は、センサの性能を示す情報を含む。
また、サーバ901は、さらに、センサの性能に応じて、三次元データを補正する。これによれば、当該三次元データ作成方法は、三次元データの品質を向上できる。
また、サーバ901は、センサ情報の受信では、複数のクライアント装置902から複数のセンサ情報1037を受信し、複数のセンサ情報1037に含まれるセンサの性能を示す複数の情報に基づき、三次元データ1134の作成に用いるセンサ情報1037を選択する。これによれば、サーバ901は、三次元データ1134の品質を向上できる。
また、サーバ901は、受信したセンサ情報1037を復号又は伸張し、復号又は伸張後のセンサ情報1132から、三次元データ1134を作成する。これによれば、サーバ901は、伝送されるデータ量を削減できる。
例えば、サーバ901は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
(実施の形態8)
本実施の形態では、上記実施の形態7の変形例について説明する。図54は、本実施の形態に係るシステムの構成を示す図である。図54に示すシステムは、サーバ2001と、クライアント装置2002Aと、クライアント装置2002Bとを含む。
クライアント装置2002A及びクライアント装置2002Bは、車両等の移動体に搭載され、センサ情報をサーバ2001に送信する。サーバ2001は、三次元マップ(ポイントクラウド)をクライアント装置2002A及びクライアント装置2002Bに送信する。
クライアント装置2002Aは、センサ情報取得部2011と、記憶部2012と、データ送信可否判定部2013とを備える。なお、クライアント装置2002Bの構成も同様である。また、以下ではクライアント装置2002Aとクライアント装置2002Bとを特に区別しない場合には、クライアント装置2002とも記載する。
図55は、本実施の形態に係るクライアント装置2002の動作を示すフローチャートである。
センサ情報取得部2011は、移動体に搭載されたセンサ(センサ群)を用いて各種センサ情報を取得する。つまり、センサ情報取得部2011は、移動体に搭載されたセンサ(センサ群)により得られた、移動体の周辺状況を示すセンサ情報を取得する。また、センサ情報取得部2011は、取得したセンサ情報を記憶部2012に記憶する。このセンサ情報は、LiDAR取得情報、可視光画像、赤外画像及びデプス画像の少なくとも一つを含む。また、センサ情報は、センサ位置情報、速度情報、取得時刻情報、及び取得場所情報の少なくとも一つを含んでもよい。センサ位置情報は、センサ情報を取得したセンサの位置を示す。速度情報は、センサがセンサ情報を取得した際の移動体の速度を示す。取得時刻情報は、センサ情報がセンサにより取得された時刻を示す。取得場所情報は、センサ情報がセンサにより取得された際の移動体又はセンサの位置を示す。
次に、データ送信可否判定部2013は、移動体(クライアント装置2002)がサーバ2001へセンサ情報を送信可能な環境に存在するかを判定する(S2002)。例えば、データ送信可否判定部2013は、GPS等の情報を用いて、クライアント装置2002がいる場所及び時刻を特定し、データを送信可能かどうかを判定してもよい。また、データ送信可否判定部2013は、特定のアクセスポイントに接続できるかどうかで、データを送信可能かどうかを判定してもよい。
クライアント装置2002は、移動体がサーバ2001へセンサ情報を送信可能な環境に存在すると判定した場合(S2002でYes)、センサ情報をサーバ2001に送信する(S2003)。つまり、クライアント装置2002がセンサ情報をサーバ2001に送信できるような状況になった時点で、クライアント装置2002は、保持しているセンサ情報をサーバ2001に送信する。例えば、交差点等に高速通信が可能なミリ波のアクセスポイントが設置される。クライアント装置2002は、交差点内に入った時点で、ミリ波通信を用いてクライアント装置2002が保持するセンサ情報を高速にサーバ2001に送信する。
次に、クライアント装置2002は、サーバ2001に送信済みのセンサ情報を記憶部2012から削除する(S2004)。なお、クライアント装置2002は、サーバ2001に送信していないセンサ情報が所定の条件を満たした場合に、当該センサ情報を削除してもよい。例えば、クライアント装置2002は、保持するセンサ情報の取得時刻が現在時刻から一定時刻前より古くなった時点でそのセンサ情報を記憶部2012から削除してもよい。つまり、クライアント装置2002は、センサ情報がセンサにより取得された時刻と、現在の時刻との差が、予め定められた時間を超えた場合にセンサ情報を記憶部2012から削除してもよい。また、クライアント装置2002は、保持するセンサ情報の取得場所が現在地点から一定距離より離れた時点でそのセンサ情報を記憶部2012から削除してもよい。つまり、クライアント装置2002は、センサ情報がセンサにより取得された際の移動体又はセンサの位置と、現在の移動体又はセンサの位置との差が、予め定められた距離を超えた場合にセンサ情報を記憶部2012から削除してもよい。これにより、クライアント装置2002の記憶部2012の容量を抑制することができる。
クライアント装置2002によるセンサ情報の取得が終了していない場合(S2005でNo)、クライアント装置2002は、ステップS2001以降の処理を再度行う。また、クライアント装置2002によるセンサ情報の取得が終了した場合(S2005でYes)、クライアント装置2002は処理を終了する。
また、クライアント装置2002はサーバ2001に送信するセンサ情報を通信状況に合わせて選択してもよい。例えば、クライアント装置2002は、高速通信が可能な場合は、記憶部2012に保持されるサイズが大きいセンサ情報(例えばLiDAR取得情報等)を優先して送信する。また、クライアント装置2002は、高速通信が難しい場合は、記憶部2012に保持されるサイズが小さく優先度の高いセンサ情報(例えば可視光画像)を送信する。これにより、クライアント装置2002は記憶部2012に保持したセンサ情報をネットワークの状況に応じて効率的にサーバ2001に送信できる。
また、クライアント装置2002は、上記現在時刻を示す時刻情報、及び、現在地点を示す場所情報をサーバ2001から取得してもよい。また、クライアント装置2002は、取得した時刻情報及び場所情報に基づきセンサ情報の取得時刻及び取得場所を決定してもよい。つまり、クライアント装置2002は、サーバ2001から時刻情報を取得し、取得した時刻情報を用いて取得時刻情報を生成してもよい。また、クライアント装置2002は、サーバ2001から場所情報を取得し、取得した場所情報を用いて取得場所情報を生成してもよい。
例えば時刻情報については、サーバ2001とクライアント装置2002とはNTP(Network Time Protocol)、又はPTP(Precision Time Protocol)等の仕組みを用いて時刻同期を行う。これにより、クライアント装置2002は正確な時刻情報を取得できる。また、サーバ2001と複数のクライアント装置との間で時刻を同期できるので、別々のクライアント装置2002が取得したセンサ情報内の時刻を同期できる。よって、サーバ2001は、同期された時刻を示すセンサ情報を取り扱える。なお、時刻同期の仕組みはNTP又はPTP以外のどのような方法でも構わない。また、上記時刻情報及び場所情報としてGPSの情報が用いられてもよい。
サーバ2001は、時刻又は場所を指定して複数のクライアント装置2002からセンサ情報を取得しても構わない。例えば何らかの事故が発生した場合に、その付近にいたクライアントを探すため、サーバ2001は、事故発生時刻と場所を指定して複数のクライアント装置2002にセンサ情報送信要求をブロードキャスト送信する。そして、該当する時刻と場所のセンサ情報を持つクライアント装置2002は、サーバ2001にセンサ情報を送信する。つまり、クライアント装置2002は、サーバ2001から場所及び時刻を指定する指定情報を含むセンサ情報送信要求を受信する。クライアント装置2002は、記憶部2012に、指定情報で示される場所及び時刻において得られたセンサ情報が記憶されており、かつ、移動体がサーバ2001へセンサ情報を送信可能な環境に存在すると判定した場合、指定情報で示される場所及び時刻において得られたセンサ情報をサーバ2001に送信する。これにより、サーバ2001は、事故の発生に関連するセンサ情報を複数のクライアント装置2002から取得し、事故解析等に利用できる。
なお、クライアント装置2002は、サーバ2001からのセンサ情報送信要求を受信した場合に、センサ情報の送信を拒否してもよい。また、複数のセンサ情報のうち、どのセンサ情報を送信可能かどうかを事前にクライアント装置2002が設定してもよい。または、サーバ2001は、センサ情報の送信の可否を都度クライアント装置2002に問い合わせてもよい。
また、サーバ2001にセンサ情報を送信したクライアント装置2002にはポイントが付与されてもよい。このポイントは、例えば、ガソリン購入費、EV(Electric Vehicle)の充電費、高速道路の通行料、又はレンタカー費用などの支払いに使用できる。また、サーバ2001は、センサ情報を取得した後、センサ情報の送信元のクライアント装置2002を特定するための情報を削除してもよい。例えば、この情報は、クライアント装置2002のネットワークアドレスなどの情報である。これによりセンサ情報を匿名化することができるので、クライアント装置2002のユーザは安心して、クライアント装置2002からセンサ情報をサーバ2001に送信できる。また、サーバ2001は、複数のサーバから構成されてもよい。例えば複数のサーバでセンサ情報が共有化されることで、あるサーバが故障しても他のサーバがクライアント装置2002と通信できる。これにより、サーバ故障によるサービスの停止を回避できる。
また、センサ情報送信要求で指定される指定場所は事故の発生位置などを示すものであり、センサ情報送信要求で指定される指定時刻におけるクライアント装置2002の位置とは異なることがある。よって、サーバ2001は、例えば、指定場所として周辺XXm以内などの範囲を指定することで、当該範囲内に存在するクライアント装置2002に対して情報取得を要求できる。指定時刻についても同様に、サーバ2001は、ある時刻から前後N秒以内など範囲を指定してもよい。これにより、サーバ2001は、「時刻:t-Nからt+Nにおいて、場所:絶対位置SからXXm以内」に存在していたクライアント装置2002からセンサ情報が取得できる。クライアント装置2002は、LiDARなどの三次元データを送信する際に、時刻tの直後に生成したデータを送信してもよい。
また、サーバ2001は、指定場所として、センサ情報取得対象となるクライアント装置2002の場所を示す情報と、センサ情報が欲しい場所とをそれぞれ別に指定してもよい。例えば、サーバ2001は、絶対位置SからYYmの範囲を少なくとも含むセンサ情報を、絶対位置SからXXm以内に存在したクライアント装置2002から取得することを指定する。クライアント装置2002は、送信する三次元データを選択する際には、指定された範囲のセンサ情報を少なくとも含むように、1つ以上のランダムアクセス可能な単位の三次元データを選択する。また、クライアント装置2002は、可視光画像を送信する際は、少なくとも時刻tの直前又は直後のフレームを含む、時間的に連続した複数の画像データを送信してもよい。
クライアント装置2002が5G或いはWiFi、又は、5Gにおける複数モードなど、複数の物理ネットワークをセンサ情報の送信に利用できる場合には、クライアント装置2002は、サーバ2001から通知された優先順位に従って利用するネットワークを選択してもよい。または、クライアント装置2002自身が送信データのサイズに基づいて適切な帯域を確保できるネットワークを選択してもよい。または、クライアント装置2002は、データ送信にかかる費用等に基づいて利用するネットワークを選択してもよい。また、サーバ2001からの送信要求には、クライアント装置2002が時刻Tまでに送信を開始可能な場合に送信を行う、など、送信期限を示す情報が含まれてもよい。サーバ2001は、期限内に十分なセンサ情報が取得できなければ再度送信要求を発行してもよい。
センサ情報は、圧縮又は非圧縮のセンサデータと共に、センサデータの特性を示すヘッダ情報を含んでもよい。クライアント装置2002は、ヘッダ情報を、センサデータとは異なる物理ネットワーク又は通信プロトコルを介してサーバ2001に送信してもよい。例えば、クライアント装置2002は、センサデータの送信に先立ってヘッダ情報をサーバ2001に送信する。サーバ2001は、ヘッダ情報の解析結果に基づいてクライアント装置2002のセンサデータを取得するかどうかを判断する。例えば、ヘッダ情報は、LiDARの点群取得密度、仰角、或いはフレームレート、又は、可視光画像の解像度、SN比、或いはフレームレートなどを示す情報を含んでもよい。これにより、サーバ2001は、決定した品質のセンサデータを有するクライアント装置2002からセンサ情報を取得できる。
以上のように、クライアント装置2002は、移動体に搭載され、移動体に搭載されたセンサにより得られた、移動体の周辺状況を示すセンサ情報を取得し、センサ情報を記憶部2012に記憶する。クライアント装置2002は、移動体がサーバ2001へセンサ情報を送信可能な環境に存在するかを判定し、移動体がサーバへセンサ情報を送信可能な環境に存在すると判定した場合、センサ情報をサーバ2001に送信する。
また、クライアント装置2002は、さらに、センサ情報から、移動体の周辺の三次元データを作成し、作成された三次元データを用いて移動体の自己位置を推定する。
また、クライアント装置2002は、さらに、サーバ2001に三次元マップの送信要求を送信し、サーバ2001から三次元マップを受信する。クライアント装置2002は、自己位置の推定では、三次元データと三次元マップとを用いて、自己位置を推定する。
なお、上記クライアント装置2002による処理は、クライアント装置2002における情報送信方法として実現されてもよい。
また、クライアント装置2002は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行ってもよい。
次に、本実施の形態に係るセンサ情報収集システムについて説明する。図56は、本実施の形態に係るセンサ情報収集システムの構成を示す図である。図56に示すように本実施の形態に係るセンサ情報収集システムは、端末2021Aと、端末2021Bと、通信装置2022Aと、通信装置2022Bと、ネットワーク2023と、データ収集サーバ2024と、地図サーバ2025と、クライアント装置2026とを含む。なお、端末2021A及び端末2021Bを特に区別しない場合には端末2021とも記載する。通信装置2022A及び通信装置2022Bを特に区別しない場合には通信装置2022とも記載する。
データ収集サーバ2024は、端末2021が備えるセンサで得られたセンサデータなどのデータを三次元空間中の位置と対応付けられた位置関連データとして収集する。
センサデータとは、例えば、端末2021の周囲の状態または端末2021の内部の状態などを、端末2021が備えるセンサを用いて取得したデータである。端末2021は、端末2021と直接通信可能、又は同一の通信方式で一或いは複数の中継装置を中継して通信可能な位置にある一又は複数のセンサ機器から収集したセンサデータをデータ収集サーバ2024に送信する。
位置関連データに含まれるデータは、例えば、端末自身又は端末が備える機器の動作状態、動作ログ、サービスの利用状況などを示す情報を含んでいてもよい。また、位置関連データに含まれるデータは、端末2021の識別子と端末2021の位置又は移動経路などとを対応付けた情報などを含んでもよい。
位置関連データに含まれる、位置を示す情報は、例えば三次元地図データなどの三次元データにおける位置を示す情報と対応付けられている。位置を示す情報の詳細については後述する。
位置関連データは、位置を示す情報である位置情報に加えて、前述した時刻情報と、位置関連データに含まれるデータの属性、又は当該データを生成したセンサの種類(例えば型番など)を示す情報とのうち少なくとも一つを含んでいてもよい。位置情報及び時刻情報は、位置関連データのヘッダ領域又は位置関連データを格納するフレームのヘッダ領域に格納されていてもよい。また、位置情報及び時刻情報は、位置関連データと対応付けられたメタデータとして位置関連データとは別に送信及び/又は格納されてもよい。
地図サーバ2025は、例えば、ネットワーク2023に接続されており、端末2021などの他の装置からの要求に応じて三次元地図データなどの三次元データを送信する。また、前述した各実施の形態で説明したように、地図サーバ2025は、端末2021から送信されたセンサ情報を用いて、三次元データを更新する機能などを備えていてもよい。
データ収集サーバ2024は、例えば、ネットワーク2023に接続されており、端末2021などの他の装置から位置関連データを収集し、収集した位置関連データを内部又は他のサーバ内の記憶装置に格納する。また、データ収集サーバ2024は、収集した位置関連データ又は位置関連データに基づいて生成した三次元地図データのメタデータなどを、端末2021からの要求に応じて端末2021に対して送信する。
ネットワーク2023は、例えばインターネットなどの通信ネットワークである。端末2021は、通信装置2022を介してネットワーク2023に接続されている。通信装置2022は、一つの通信方式、又は複数の通信方式を切り替えながら端末2021と通信を行う。通信装置2022は、例えば、(1)LTE(Long Term Evolution)などの基地局、(2)WiFi或いはミリ波通信などのアクセスポイント(AP)、(3)SIGFOX、LoRaWAN或いはWi-SUNなどのLPWA(Low Power Wide Area) Networkのゲートウェイ、又は、(4)DVB-S2などの衛星通信方式を用いて通信を行う通信衛星である。
なお、基地局は、NB-IoT(Narrow Band-IoT)又はLTE-MなどのLPWAに分類される方式で端末2021との通信を行っていてもよいし、これらの方式を切り替えながら端末2021との通信を行っていてもよい。
ここでは、端末2021が2種類の通信方式を用いる通信装置2022と通信する機能を備え、これらの通信方式のいずれかを用いて、またはこれらの複数の通信方式及び直接の通信相手となる通信装置2022を切り替えながら地図サーバ2025又はデータ収集サーバ2024と通信を行う場合を例に挙げるが、センサ情報収集システム及び端末2021の構成はこれに限らない。例えば、端末2021は、複数の通信方式での通信機能を有さず、いずれか一つの通信方式で通信を行う機能を備えてもよい。また、端末2021は、3つ以上の通信方式に対応していてもよい。また、端末2021ごとに対応する通信方式が異なっていてもよい。
端末2021は、例えば図46に示したクライアント装置902の構成を備える。端末2021は、受信した三次元データを用いて自己位置などの位置推定を行う。また、端末2021は、センサから取得したセンサデータと位置推定の処理により得られた位置情報とを対応付けて位置関連データを生成する。
位置関連データに付加される位置情報は、例えば、三次元データで用いられている座標系における位置を示す。例えば、位置情報は、緯度及び経度の値で表される座標値である。このとき、端末2021は、座標値と共に当該座標値の基準となる座標系、及び位置推定に用いた三次元データを示す情報を位置情報に含めてもよい。また、座標値は高度の情報を含んでいてもよい。
また、位置情報は、前述した三次元データの符号化に用いることができるデータの単位又は空間の単位に対応付けられていてもよい。この単位とは、例えば、WLD、GOS、SPC、VLM、又はVXLなどである。このとき、位置情報は、例えば位置関連データに対応するSPCなどのデータ単位を特定するための識別子で表現される。なお、位置情報は、SPCなどのデータ単位を特定するための識別子に加えて、当該SPCなどのデータ単位を含む三次元空間を符号化した三次元データを示す情報、又は当該SPC内での詳細な位置を示す情報などを含んでいてもよい。三次元データを示す情報とは、例えば、当該三次元データのファイル名である。
このように、当該システムは、三次元データを用いた位置推定に基づく位置情報と対応付けた位置関連データを生成することにより、GPSを用いて取得されたクライアント装置(端末2021)の自己位置に基づく位置情報をセンサ情報に付加する場合よりも精度の高い位置情報をセンサ情報に付与することができる。その結果、位置関連データを他の装置が他のサービスにおいて利用する場合においても、同じ三次元データに基づいて位置推定を行うことで、位置関連データに対応する位置を実空間でより正確に特定できる可能性がある。
なお、本実施の形態では、端末2021から送信されるデータが位置関連データの場合を例に挙げて説明したが、端末2021から送信されるデータは位置情報と関連付けられていないデータであってもよい。すなわち、他の実施の形態で説明した三次元データ又はセンサデータの送受信が本実施の形態で説明したネットワーク2023を介して行われてもよい。
次に、三次元又は二次元の実空間又は地図空間における位置を示す位置情報の異なる例について説明する。位置関連データに付加される位置情報は、三次元データ中の特徴点に対する相対位置を示す情報であってもよい。ここで、位置情報の基準となる特徴点は、例えばSWLDとして符号化され、三次元データとして端末2021に通知された特徴点である。
特徴点に対する相対位置を示す情報は、例えば、特徴点から位置情報が示す点までのベクトルで表され、特徴点から位置情報が示す点までの方向と距離を示す情報であってもよい。または、特徴点に対する相対位置を示す情報は、特徴点から位置情報が示す点までのX軸、Y軸、Z軸のそれぞれの変位量を示す情報であってもよい。また、特徴点に対する相対位置を示す情報は、3以上の特徴点のそれぞれから位置情報が示す点までの距離を示す情報であってもよい。なお、相対位置は、各特徴点を基準として表現された位置情報が示す点の相対位置ではなく、位置情報が示す点を基準として表現された各特徴点の相対位置であってもよい。特徴点に対する相対位置に基づく位置情報の一例は、基準となる特徴点を特定するための情報と、当該特徴点に対する位置情報が示す点の相対位置を示す情報とを含む。また、特徴点に対する相対位置を示す情報が三次元データとは別に提供される場合、特徴点に対する相対位置を示す情報は、相対位置の導出に用いた座標軸、三次元データの種類を示す情報、又は/及び相対位置を示す情報の値の単位量あたりの大きさ(縮尺など)を示す情報などを含んでいてもよい。
また、位置情報は、複数の特徴点について、各特徴点に対する相対位置を示す情報を含んでいてもよい。位置情報を複数の特徴点に対する相対位置で表した場合、実空間において当該位置情報が示す位置を特定しようとする端末2021は、特徴点ごとにセンサデータから推定した当該特徴点の位置から位置情報が示す位置の候補点を算出し、算出された複数の候補点を平均して求めた点を位置情報が示す点であると判定してもよい。この構成によると、センサデータから特徴点の位置を推定する際の誤差の影響を軽減できるため、実空間における位置情報が示す点の推定精度を向上できる。また、位置情報が複数の特徴点に対する相対位置を示す情報を含む場合、端末2021が備えるセンサの種類又は性能などの制約で検出できない特徴点がある場合であっても、複数の特徴点のいずれか一つでも検出することができれば位置情報が示す点の値を推定することが可能となる。
特徴点として、センサデータから特定可能な点を用いことができる。センサデータから特定可能な点とは、例えば、前述した三次元特徴量又は可視光データの特徴量が閾値以上であるなど特徴点検出用の所定の条件を満たす点又は領域内の点である。
また、実空間に設置されたマーカなどを特徴点として用いてもよい。この場合、マーカは、LiDER又はカメラなどのセンサを用いて取得されたデータから検出及び位置の特定が可能であればよい。例えば、マーカは、色或いは輝度値(反射率)の変化、又は、三次元形状(凹凸など)で表現される。また、当該マーカの位置を示す座標値、又は当該マーカの識別子から生成された二次元コード又はバーコードなどが用いられてもよい。
また、光信号を送信する光源をマーカとして用いてもよい。光信号の光源をマーカとして用いる場合、座標値又は識別子などの位置を取得するための情報だけでなく、その他のデータが光信号により送信されてもよい。例えば、光信号は、当該マーカの位置に応じたサービスのコンテンツ、コンテンツを取得するためのurlなどのアドレス、又はサービスの提供を受けるための無線通信装置の識別子と、当該無線通信装置と接続するための無線通信方式などを示す情報を含んでもよい。光通信装置(光源)をマーカとして用いることで、位置を示す情報以外のデータの送信が容易になると共に、当該データを動的に切り替えることが可能となる。
端末2021は、互いに異なるデータ間での特徴点の対応関係を、例えば、データ間で共通に用いられる識別子、又は、データ間の特徴点の対応関係を示す情報或いはテーブルを用いて把握する。また、特徴点間の対応関係を示す情報がない場合、端末2021は、一方の三次元データにおける特徴点の座標を他方の三次元データ空間上の位置に変換した場合に最も近い距離にある特徴点を対応する特徴点であると判定してもよい。
以上で説明した相対位置に基づく位置情報を用いた場合、互いに異なる三次元データを用いる端末2021又はサービス間であっても、各三次元データに含まれる、又は各三次元データと対応付けられた共通の特徴点を基準に位置情報が示す位置を特定、又は推定することができる。その結果、互いに異なる三次元データを用いる端末2021又はサービス間で、同じ位置をより高い精度で特定又は推定することが可能となる。
また、互いに異なる座標系を用いて表現された地図データ又は三次元データを用いる場合であっても、座標系の変換に伴う誤差の影響を低減できるため、より高精度な位置情報に基づくサービスの連携が可能となる。
以下、データ収集サーバ2024が提供する機能の例について説明する。データ収集サーバ2024は、受信した位置関連データを他のデータサーバに転送してもよい。データサーバが複数ある場合、データ収集サーバ2024は、受信した位置関連データをどのデータサーバに転送するかを判定して、転送先として判定されたデータサーバ宛に位置関連データを転送する。
データ収集サーバ2024は、転送先の判定を、例えば、データ収集サーバ2024に事前に設定された転送先サーバの判定ルールに基づいて行う。転送先サーバの判定ルールとは、例えば、各端末2021に対応付けられた識別子と転送先のデータサーバとを対応付けた転送先テーブルなどで設定される。
端末2021は、送信する位置関連データに対して当該端末2021に対応付けられた識別子を付加してデータ収集サーバ2024に送信する。データ収集サーバ2024は、位置関連データに付加された識別子に対応する転送先のデータサーバを転送先テーブルなどを用いた転送先サーバの判定ルールに基づいて特定し、当該位置関連データを特定されたデータサーバに送信する。また、転送先サーバの判定ルールは、位置関連データが取得された時間又は場所などを用いた判定条件で指定されてもよい。ここで、上述した送信元の端末2021に対応付けられた識別子とは、例えば各端末2021に固有の識別子、又は端末2021が属するグループを示す識別子などである。
また、転送先テーブルは、送信元の端末に対応付けられた識別子と転送先のデータサーバとを直接対応付けたものでなくてもよい。例えば、データ収集サーバ2024は、端末2021に固有の識別子毎に付与されたタグ情報を格納した管理テーブルと、当該タグ情報と転送先のデータサーバを対応付けた転送先テーブルとを保持する。データ収集サーバ2024は、管理テーブルと転送先テーブルとを用いてタグ情報に基づく転送先のデータサーバを判定してもよい。ここで、タグ情報は、例えば当該識別子に対応する端末2021の種類、型番、所有者、所属するグループ又はその他の識別子に付与された管理用の制御情報又はサービス提供用の制御情報である。また、転送先テーブルに、送信元の端末2021に対応付けられた識別子の代わりに、センサ毎に固有の識別子が用いられてもよい。また、転送先サーバの判定ルールは、クライアント装置2026から設定できてもよい。
データ収集サーバ2024は、複数のデータサーバを転送先として判定し、受信した位置関連データを当該複数のデータサーバに転送してもよい。この構成によると、例えば、位置関連データを自動的にバックアップする場合、又は位置関連データを異なるサービスで共通に利用するために、各サービスを提供するためのデータサーバに対して位置関連データを送信する必要がある場合に、データ収集サーバ2024に対する設定を変更ことで意図通りのデータの転送を実現できる。その結果、個別の端末2021に位置関連データの送信先を設定する場合と比較して、システムの構築及び変更に要する工数を削減することができる。
データ収集サーバ2024は、データサーバから受信した転送要求信号に応じて、転送要求信号で指定されたデータサーバを新たな転送先として登録し、以降に受信した位置関連データを当該データサーバに転送してもよい。
データ収集サーバ2024は、端末2021から受信した位置関連データを記録装置に保存し、端末2021又はデータサーバから受信した送信要求信号に応じて、送信要求信号で指定された位置関連データを、要求元の端末2021又はデータサーバに送信してもよい。
データ収集サーバ2024は、要求元のデータサーバ又は端末2021に対する位置関連データの提供の可否を判断し、提供可能と判断された場合に要求元のデータサーバ又は端末2021に位置関連データの転送又は送信を行ってもよい。
クライアント装置2026から現在の位置関連データの要求を受け付けた場合、端末2021による位置関連データの送信タイミングでなくても、データ収集サーバ2024が端末2021に対して位置関連データの送信要求を行い、端末2021が当該送信要求に応じて位置関連データを送信してもよい。
上記の説明では、端末2021がデータ収集サーバ2024に対して位置情報データを送信するとしたが、データ収集サーバ2024は、例えば、端末2021を管理する機能など、端末2021から位置関連データを収集するために必要な機能又は端末2021から位置関連データを収集する際に用いられる機能などを備えてもよい。
データ収集サーバ2024は、端末2021に対して位置情報データの送信を要求するデータ要求信号を送信し、位置関連データを収集する機能を備えてもよい。
データ収集サーバ2024には、データ収集の対象となる端末2021と通信を行うためのアドレス又は端末2021固有の識別子などの管理情報が事前に登録されている。データ収集サーバ2024は、登録されている管理情報に基づいて端末2021から位置関連データを収集する。管理情報は、端末2021が備えるセンサの種類、端末2021が備えるセンサの数、及び端末2021が対応する通信方式などの情報を含んでいてもよい。
データ収集サーバ2024は、端末2021の稼働状態又は現在位置などの情報を端末2021から収集してもよい。
管理情報の登録は、クライアント装置2026から行われてもよいし、端末2021が登録要求をデータ収集サーバ2024に送信することで、登録のための処理が開始されてもよい。データ収集サーバ2024は、端末2021との間の通信を制御する機能を備えてもよい。
データ収集サーバ2024と端末2021とを結ぶ通信は、MNO(Mobile Network Operator)、或いはMVNO(Mobile Virtual Network Operator)などのサービス事業者が提供する専用回線、又は、VPN(Virtual Private Network)で構成された仮想の専用回線などであってもよい。この構成によると、端末2021とデータ収集サーバ2024との間の通信を安全に行うことができる。
データ収集サーバ2024は、端末2021を認証する機能、又は端末2021との間で送受信されるデータを暗号化する機能を備えてもよい。ここで、端末2021の認証の処理又はデータの暗号化の処理は、データ収集サーバ2024と端末2021との間で事前に共有された、端末2021に固有の識別子又は複数の端末2021を含む端末グループに固有の識別子などを用いて行われる。この識別子とは、例えば、SIM(Subscriber Identity Module)カードに格納された固有の番号であるIMSI(International Mobile Subscriber Identity)などである。認証処理に用いられる識別子とデータの暗号化処理に用いる識別子とは、同じであってもよいし、異なっていてもよい。
データ収集サーバ2024と端末2021との間の認証又はデータの暗号化の処理は、データ収集サーバ2024と端末2021との両方が当該処理を実施する機能を備えていれば提供可能であり、中継を行う通信装置2022が用いる通信方式に依存しない。よって、端末2021が通信方式を用いるかを考慮することなく、共通の認証又は暗号化の処理を用いることができるので、ユーザのシステム構築の利便性が向上する。ただし、中継を行う通信装置2022が用いる通信方式に依存しないとは、通信方式に応じて変更することが必須ではないことを意味している。つまり、伝送効率の向上又は安全性の確保の目的で、中継装置が用いる通信方式に応じてデータ収集サーバ2024と端末2021との間の認証又はデータの暗号化の処理が切り替えられてもよい。
データ収集サーバ2024は、端末2021から収集する位置関連データの種類及びデータ収集のスケジュールなどのデータ収集ルールを管理するUIをクライアント装置2026に提供してもよい。これにより、ユーザはクライアント装置2026を用いてデータを収集する端末2021、並びに、データの収集時間及び頻度などを指定できる。また、データ収集サーバ2024は、データを収集したい地図上の領域などを指定し、当該領域に含まれる端末2021から位置関連データを収集してもよい。
データ収集ルールを端末2021単位で管理する場合、クライアント装置2026は、例えば、管理対象となる端末2021又はセンサのリストを画面に提示する。ユーザはリストの項目毎にデータの収集の要否又は収集スケジュールなどを設定する。
データを収集したい地図上の領域などを指定する場合、クライアント装置2026は、例えば、管理対象となる地域の二次元又は三次元の地図を画面に提示する。ユーザは、表示された地図上でデータを収集する領域を選択する。地図上で選択される領域は、地図上で指定された点を中心とする円形又は矩形の領域であってもよいし、ドラッグ動作で特定可能な円形又は矩形の領域であってもよい。また、クライアント装置2026は、都市、都市内のエリア、ブロック、又は主要な道路など予め設定された単位で領域を選択してもよい。また、地図を用いて領域を指定するのではなく、緯度及び経度の数値を入力して領域が設定されてもよいし、入力されたテキスト情報に基づいて導出した候補領域のリストから領域が選択されてもよい。テキスト情報は、例えば、地域、都市、又はランドマークの名前などである。
また、ユーザが一又は複数の端末2021を指定して、当該端末2021の周囲100メートルの範囲内などの条件を設定することで、指定領域を動的に変更しながらデータの収集が行われてもよい。
また、クライアント装置2026がカメラなどのセンサを備える場合、センサデータから得られたクライアント装置2026の実空間での位置に基づいて地図上の領域が指定されてもよい。例えば、クライアント装置2026は、センサデータを用いて自己位置を推定し、推定された位置に対応する地図上の点から予め定められた距離、又はユーザが指定した距離の範囲内の領域を、データを収集する領域として指定してもよい。また、クライアント装置2026は、センサのセンシング領域、すなわち取得されたセンサデータに対応する領域を、データを収集する領域として指定してもよい。または、クライアント装置2026は、ユーザの指定したセンサデータに対応する位置に基づく領域を、データを収集する領域として指定してもよい。センサデータに対応する地図上の領域、又は位置の推定は、クライアント装置2026が行ってもよいし、データ収集サーバ2024が行ってもよい。
地図上の領域で指定を行う場合、データ収集サーバ2024は、各端末2021の現在位置情報を収集することで、指定された領域内の端末2021を特定し、特定された端末2021に対して位置関連データの送信を要求してもよい。また、データ収集サーバ2024が領域内の端末2021を特定するのではなく、データ収集サーバ2024が指定された領域を示す情報を端末2021に送信し、端末2021が自身が指定された領域内にあるか否かを判定して、指定された領域内にあると判断された場合に位置関連データを送信してもよい。
データ収集サーバ2024は、クライアント装置2026が実行するアプリケーションにおいて上述したUI(User Interface)を提供するためのリスト又は地図などのデータをクライアント装置2026に送信する。データ収集サーバ2024は、リスト又は地図などのデータだけでなく、アプリケーションのプログラムをクライアント装置2026に送信してもよい。また、上述したUIは、ブラウザで表示可能なHTMLなどで作成されたコンテンツとして提供されてもよい。なお、地図データなど一部のデータは地図サーバ2025などのデータ収集サーバ2024以外のサーバから提供されてもよい。
クライアント装置2026は、ユーザによる設定ボタンの押下など、入力が完了したことを通知する入力が行われると、入力された情報を設定情報としてデータ収集サーバ2024に送信する。データ収集サーバ2024は、クライアント装置2026から受信した設定情報に基づいて各端末2021に対して、位置関連データの要求又は位置関連データの収集ルールを通知する信号を送信し、位置関連データの収集を行う。
次に、三次元又は二次元の地図データに付加された付加情報に基づいて端末2021の動作を制御する例について説明する。
本構成では、道路又は駐車場に埋設された無線給電の給電アンテナ又は給電コイルなどの給電部の位置を示すオブジェクト情報が、三次元データに含まれて、又は三次元データに対応付けられて、車又はドローンなどである端末2021に提供される。
充電を行うために当該オブジェクト情報を取得した車両又はドローンは、車両が備える充電アンテナ又は充電コイルなどの充電部の位置が、当該オブジェクト情報が示す領域と対向する位置になるよう自動運転で車両自身の位置を移動させ、充電を開始する。なお、自動運転機能を備えていない車両又はドローンの場合は、画面上に表示された画像又は音声などを利用して、移動すべき方向又は行うべき操作を運転手又は操縦者に対して提示される。そして、推定された自己位置に基づいて算出した充電部の位置が、オブジェクト情報で示された領域又は当該領域から所定の距離の範囲内に入った判断されると、運転又は操縦を中止させる内容へと提示する画像又は音声が切り替えられ、充電が開始される。
また、オブジェクト情報は給電部の位置を示す情報ではなく、当該領域内に充電部を配置すると所定の閾値以上の充電効率が得られる領域を示す情報であってもよい。オブジェクト情報の位置は、オブジェクト情報が示す領域の中心の点で表されてもよいし、二次元平面内の領域或いは線、又は、三次元空間内の領域、線或いは平面などで表されてもよい。
この構成によると、LiDERのセンシングデータ又はカメラで撮影した映像では把握できない給電アンテナの位置を把握することができるので、車などの端末2021が備える無線充電用のアンテナと道路などに埋設された無線給電アンテナとの位置合わせをより高精度に行うことができる。その結果、無線充電時の充電速度を短くしたり、充電効率を向上させることができる。
オブジェクト情報は、給電アンテナの以外の対象物であってもよい。例えば、三次元データは、ミリ波無線通信のAPの位置などをオブジェクト情報として含む。これにより、端末2021は、APの位置を事前に把握することができるので、当該オブジェクト情報の方向にビームの指向性を向けて通信を開始することができる。その結果、伝送速度の向上、通信開始までの時間の短縮、及び通信可能な期間を延ばすなどの通信品質の向上を実現できる。
オブジェクト情報は、当該オブジェクト情報に対応する対象物のタイプを示す情報を含んでもよい。また、オブジェクト情報は、当該オブジェクト情報の三次元データ上の位置に対応する実空間上の領域内、又は領域から所定の距離の範囲内に端末2021が含まれる場合に、端末2021が実施すべき処理を示す情報を含んでもよい。
オブジェクト情報は、三次元データを提供するサーバとは異なるサーバから提供されてもよい。オブジェクト情報を三次元データとは別に提供する場合、同一のサービスで使用されるオブジェクト情報が格納されたオブジェクトグループが、対象サービス又は対象機器の種類に応じてそれぞれ別のデータとして提供されてもよい。
オブジェクト情報と組み合わせて用いられる三次元データは、WLDの点群データであってもよいし、SWLDの特徴点データであってもよい。
以上、本開示の実施の形態に係るサーバ及びクライアント装置等について説明したが、本開示は、この実施の形態に限定されるものではない。
また、上記実施の形態に係るサーバ及びクライアント装置等に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、本開示は、サーバ及びクライアント装置等により実行される三次元データ作成方法等として実現されてもよい。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、一つまたは複数の態様に係るサーバ及びクライアント装置等について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。