ポイントクラウド等の符号化データを実際の装置又はサービスにおいて使用する際には、所望の空間位置又はオブジェクトなどに対するランダムアクセスが必須となるが、これまで、三次元の符号化データにおけるランダムアクセスは機能として存在せず、そのための符号化方法も存在しなかった。
本開示では、符号化三次元データにおいてランダムアクセス機能を提供できる三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置又は三次元データ復号装置について説明する。
本開示の一態様に係る三次元データ符号化方法は、三次元データを符号化する三次元データ符号化方法であって、前記三次元データを、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位に分割する分割ステップと、複数の前記第1処理単位の各々を符号化することで符号化データを生成する符号化ステップとを含む。
これによれば、第1処理単位ごとのランダムアクセスが可能となる。このように、当該三次元データ符号化方法は、符号化三次元データにおいてランダムアクセス機能を提供できる。
例えば、前記三次元データ符号化方法は、前記複数の第1処理単位と、前記複数の第1処理単位の各々に対応付けられている三次元座標とを示す第1情報を生成する生成ステップを含み、前記符号化データは、前記第1情報を含んでもよい。
例えば、前記第1情報は、さらに、前記複数の第1処理単位の各々に対応付けられている、オブジェクト、時刻及びデータ格納先のうち少なくとも一つを示してもよい。
例えば、前記分割ステップでは、さらに、前記第1処理単位を複数の第2処理単位に分割し、前記符号化ステップでは、前記複数の第2処理単位の各々を符号化してもよい。
例えば、前記符号化ステップでは、処理対象の第1処理単位に含まれる処理対象の第2処理単位を、前記処理対象の第1処理単位に含まれる他の第2処理単位を参照して符号化してもよい。
これによれば、他の第2処理単位を参照することで符号化効率を向上できる。
例えば、前記符号化ステップでは、前記処理対象の第2処理単位のタイプとして、他の第2処理単位を参照しない第1タイプ、他の一つの第2処理単位を参照する第2タイプ、及び他の二つの第2処理単位を参照する第3タイプのうちいずれかを選択し、選択したタイプに従い前記処理対象の第2処理単位を符号化してもよい。
例えば、前記符号化ステップでは、前記三次元データに含まれるオブジェクトの数又は粗密さに応じて、前記第1タイプを選択する頻度を変更してもよい。
これによれば、トレードオフの関係にあるランダムアクセス性と符号化効率とを適切に設定できる。
例えば、前記符号化ステップでは、前記三次元データに含まれるオブジェクト又は動的オブジェクトの数又は粗密さに応じて、前記第1処理単位のサイズを決定してもよい。
これによれば、トレードオフの関係にあるランダムアクセス性と符号化効率とを適切に設定できる。
例えば、前記第1処理単位は、予め定められた方向に空間分割され、各々が1以上の前記第2処理単位を含む複数のレイヤを含み、前記符号化ステップでは、前記第2処理単位を、当該第2処理単位と同一レイヤ又は当該第2処理単位より下層のレイヤに含まれる前記第2処理単位を参照して符号化してもよい。
これによれば、例えば、システムにおいて重要なレイヤのランダムアクセス性を向上できるとともに、符号化効率の低下を抑制できる。
例えば、前記分割ステップでは、静的オブジェクトのみを含む第2処理単位と、動的オブジェクトのみを含む第2処理単位とを異なる第1処理単位に割り当ててもよい。
これによれば、動的オブジェクトと静的オブジェクトとの制御を容易に行える。
例えば、前記符号化ステップでは、複数の動的オブジェクトを個別に符号化し、前記複数の動的オブジェクトの符号化データは、静的オブジェクトのみを含む第2処理単位に対応付けられてもよい。
これによれば、動的オブジェクトと静的オブジェクトとの制御を容易に行える。
例えば、前記分割ステップでは、さらに、前記第2処理単位を複数の第3処理単位に分割し、前記符号化ステップでは、前記複数の第3処理単位の各々を符号化してもよい。
例えば、前記第3処理単位は、位置情報が対応付けられる最小単位である1以上のボクセルを含んでもよい。
例えば、前記第2処理単位は、センサで得られた情報から導出された特徴点群を含んでもよい。
例えば、前記符号化データは、前記複数の第1処理単位の符号化順を示す情報を含んでもよい。
例えば、前記符号化データは、前記複数の第1処理単位のサイズを示す情報を含んでもよい。
例えば、前記符号化ステップでは、前記複数の第1処理単位を並列に符号化してもよい。
また、本開示の一態様に係る三次元データ復号方法は、三次元データを復号する三次元データ復号方法であって、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位の符号化データの各々を復号することで前記第1処理単位の三次元データを生成する復号ステップを含む。
これによれば、第1処理単位ごとのランダムアクセスが可能となる。このように、当該三次元データ復号方法は、符号化三次元データにおいてランダムアクセス機能を提供できる。
また、本開示の一態様に係る三次元データ符号化装置は、三次元データを符号化する三次元データ符号化装置であって、前記三次元データを、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位に分割する分割部と、複数の前記第1処理単位の各々を符号化することで符号化データを生成する符号化部とを含んでもよい。
これによれば、第1処理単位ごとのランダムアクセスが可能となる。このように、当該三次元データ符号化装置は、符号化三次元データにおいてランダムアクセス機能を提供できる。
また、本開示の一態様に係る三次元データ復号装置は、三次元データを復号する三次元データ復号装置であって、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位の符号化データの各々を復号することで前記第1処理単位の三次元データを生成する復号部を含んでもよい。
これによれば、第1処理単位ごとのランダムアクセスが可能となる。このように、当該三次元データ復号装置は、符号化三次元データにおいてランダムアクセス機能を提供できる。
なお、本開示は空間を分割して符号化する構成により、空間の量子化、予測等を可能とし、必ずしもランダムアクセスを行わない場合であっても有効である。
また、本開示の一態様に係る三次元データ符号化方法は、第1三次元データから特徴量が閾値以上の第2三次元データを抽出する抽出ステップと、前記第2三次元データを符号化することで第1符号化三次元データを生成する第1符号化ステップとを含む。
これによれば、当該三次元データ符号化方法は、特徴量が閾値以上のデータを符号化した第1符号化三次元データを生成する。これにより、第1三次元データをそのまま符号化する場合に比べて符号化三次元データのデータ量を削減できる。よって、当該三次元データ符号化方法は、伝送するデータ量を削減できる。
例えば、前記三次元データ符号化方法は、さらに、前記第1三次元データを符号化することで第2符号化三次元データを生成する第2符号化ステップを含んでもよい。
これによれば、当該三次元データ符号化方法は、例えば、使用用途等に応じて、第1符号化三次元データと第2符号化三次元データとを選択的に伝送できる。
例えば、前記第2三次元データは、第1符号化方法により符号化され、前記第1三次元データは、前記第1符号化方法とは異なる第2符号化方法により符号化されてもよい。
これによれば、当該三次元データ符号化方法は、第1三次元データと第2三次元データとにそれぞれ適した符号化方法を用いることができる。
例えば、前記第1符号化方法では、前記第2符号化方法よりもイントラ予測及びインター予測のうちインター予測が優先されてもよい。
これによれば、当該三次元データ符号化方法は、隣接するデータ間の相関が低くなりやすい第2三次元データに対して、インター予測の優先度を上げることができる。
例えば、前記第1符号化方法と前記第2符号化方法とでは、三次元位置の表現手法が異なってもよい。
これによれば、当該三次元データ符号化方法は、データ数が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
例えば、前記第1符号化三次元データ及び前記第2符号化三次元データの少なくとも一方は、当該符号化三次元データが前記第1三次元データを符号化することで得られた符号化三次元データであるか、前記第1三次元データのうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含んでもよい。
これによれば、復号装置は、取得した符号化三次元データが第1符号化三次元データであるか第2符号化三次元データであるかを容易に判定できる。
例えば、前記第1符号化ステップでは、前記第1符号化三次元データのデータ量が前記第2符号化三次元データのデータ量より小さくなるように前記第2三次元データを符号化してもよい。
これによれば、当該三次元データ符号化方法は、第1符号化三次元データのデータ量を第2符号化三次元データのデータ量より小さくできる。
例えば、前記抽出ステップでは、さらに、前記第1三次元データから予め定められた属性を有する物体に対応するデータを前記第2三次元データとして抽出してもよい。
これによれば、当該三次元データ符号化方法は、復号装置で必要となるデータを含む第1符号化三次元データを生成できる。
例えば、前記三次元データ符号化方法は、さらに、クライアントの状態に応じて、前記第1符号化三次元データ及び前記第2符号化三次元データの一方を前記クライアントに送信する送信ステップを含んでもよい。
これによれば、当該三次元データ符号化方法は、クライアントの状態に応じて適切なデータを送信できる。
例えば、前記クライアントの状態は、前記クライアントの通信状況、又は前記クライアントの移動速度を含んでもよい。
例えば、前記三次元データ符号化方法は、さらに、クライアントの要求に応じて、前記第1符号化三次元データ及び前記第2符号化三次元データの一方を前記クライアントに送信する送信ステップを含んでもよい。
これによれば、当該三次元データ符号化方法は、クライアントの要求に応じて適切なデータを送信できる。
また、本開示の一態様に係る三次元データ復号方法は、第1三次元データから抽出された特徴量が閾値以上の第2三次元データが符号化されることで得られた第1符号化三次元データを第1復号方法により復号する第1復号ステップと、前記第1三次元データが符号化されることで得られた第2符号化三次元データを、前記第1復号方法とは異なる第2復号方法により復号する第2復号ステップとを含む。
これによれば、当該三次元データ復号方法は、特徴量が閾値以上のデータを符号化した第1符号化三次元データと、第2符号化三次元データとを、例えば、使用用途等に応じて選択的に受信できる。これにより、当該三次元データ復号方法は、伝送するデータ量を削減できる。さらに、当該三次元データ復号方法は、第1三次元データと第2三次元データとにそれぞれ適した復号方法を用いることができる。
例えば、前記第1復号方法では、前記第2復号方法よりもイントラ予測及びインター予測のうちインター予測が優先されてもよい。
これによれば、当該三次元データ復号方法は、隣接するデータ間の相関が低くなりやすい第2三次元データに対して、インター予測の優先度を上げることができる。
例えば、前記第1復号方法と前記第2復号方法とでは、三次元位置の表現手法が異なってもよい。
これによれば、当該三次元データ復号方法は、データ数が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
例えば、前記第1符号化三次元データ及び前記第2符号化三次元データの少なくとも一方は、当該符号化三次元データが前記第1三次元データを符号化することで得られた符号化三次元データであるか、前記第1三次元データのうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含み、前記識別子を参照して、前記第1符号化三次元データ及び前記第2符号化三次元データを識別してもよい。
これによれば、当該三次元データ復号方法は、取得した符号化三次元データが第1符号化三次元データであるか第2符号化三次元データであるかを容易に判定できる。
例えば、前記三次元データ復号方法は、さらに、クライアントの状態をサーバに通知する通知ステップと、前記クライアントの状態に応じて、前記サーバから送信された前記第1符号化三次元データ及び前記第2符号化三次元データの一方を受信する受信ステップとを含んでもよい。
これによれば、当該三次元データ復号方法は、クライアントの状態に応じて適切なデータを受信できる。
例えば、前記クライアントの状態は、前記クライアントの通信状況、又は前記クライアントの移動速度を含んでもよい。
例えば、前記三次元データ復号方法は、さらに、前記第1符号化三次元データ及び前記第2符号化三次元データの一方をサーバに要求する要求ステップと、前記要求に応じて、前記サーバから送信された前記第1符号化三次元データ及び前記第2符号化三次元データの一方を受信する受信ステップを含んでもよい。
これによれば、当該三次元データ復号方法は、用途に応じた適切なデータを受信できる。
また、本開示の一態様に係る三次元データ符号化装置は、第1三次元データから特徴量が閾値以上の第2三次元データを抽出する抽出部と、前記第2三次元データを符号化することで第1符号化三次元データを生成する第1符号化部とを備える。
これによれば、当該三次元データ符号化装置は、特徴量が閾値以上のデータを符号化した第1符号化三次元データを生成する。これにより、第1三次元データをそのまま符号化する場合に比べてデータ量を削減できる。よって、当該三次元データ符号化装置は、伝送するデータ量を削減できる。
また、本開示の一態様に係る三次元データ復号装置は、第1三次元データから抽出された特徴量が閾値以上の第2三次元データが符号化されることで得られた第1符号化三次元データを第1復号方法により復号する第1復号部と、前記第1三次元データが符号化されることで得られた第2符号化三次元データを、前記第1復号方法とは異なる第2復号方法により復号する第2復号部とを備える。
これによれば、当該三次元データ復号装置は、特徴量が閾値以上のデータを符号化した第1符号化三次元データと、第2符号化三次元データとを、例えば、使用用途等に応じて選択的に受信できる。これにより、当該三次元データ復号装置は、伝送するデータ量を削減できる。さらに、当該三次元データ復号装置は、第1三次元データと第2三次元データとにそれぞれ適した復号方法を用いることができる。
また、本開示の一態様に係る三次元データ作成方法は、センサで検知した情報から第1三次元データを作成する作成ステップと、第2三次元データが符号化された符号化三次元データを受信する受信ステップと、受信した前記符号化三次元データを復号することで前記第2三次元データを取得する復号ステップと、前記第1三次元データと前記第2三次元データとを合成することで第3三次元データを作成する合成ステップとを含む。
これによれば、当該三次元データ作成方法は、作成した第1三次元データと、受信した第2三次元データとを用いて、詳細な第3三次元データを作成できる。
例えば、前記合成ステップでは、前記第1三次元データと前記第2三次元データを合成することで、前記第1三次元データ及び前記第2三次元データよりも密度が高い第3三次元データを作成してもよい。
例えば、前記第2三次元データは、第4三次元データから特徴量が閾値以上のデータが抽出されることで生成された三次元データであってもよい。
これによれば、当該三次元データ作成方法は、伝送される三次元データのデータ量を削減できる。
例えば、前記三次元データ作成方法は、さらに、前記符号化三次元データの送信元である送信装置を探索する探索ステップを含み、前記受信ステップでは、探索された前記送信装置から前記符号化三次元データを受信してもよい。
これによれば、当該三次元データ作成方法は、例えば、必要な三次元データを所有する送信装置を探索により特定できる。
例えば、前記三次元データ作成方法は、さらに、三次元データを要求する三次元空間の範囲である要求範囲を決定する決定ステップと、前記要求範囲を示す情報を前記送信装置に送信する送信ステップとを含み、前記第2三次元データは、前記要求範囲の三次元データを含んでもよい。
これによれば、当該三次元データ作成方法は、必要な三次元データを受信できるとともに、伝送される三次元データのデータ量を削減できる。
例えば、前記決定ステップでは、前記センサで検知できないオクルージョン領域を含む空間範囲を前記要求範囲に決定してもよい。
本開示の一態様に係る三次元データ送信方法は、センサで検知した情報から第5三次元データを作成する作成ステップと、前記第5三次元データの一部を抽出することで第6三次元データを作成する抽出ステップと、前記第6三次元データを符号化することで符号化三次元データを生成する符号化ステップと、前記符号化三次元データを送信する送信ステップとを含む。
これによれば、当該三次元データ送信方法は、自身が作成した三次元データを他の装置に送信できるとともに、伝送される三次元データのデータ量を削減できる。
例えば、前記作成ステップでは、前記センサで検知した情報から第7三次元データを作成し、前記第7三次元データから特徴量が閾値以上のデータを抽出することで前記第5三次元データを作成してもよい。
これによれば、当該三次元データ送信方法は、伝送される三次元データのデータ量を削減できる。
例えば、前記三次元データ送信方法は、さらに、受信装置から、三次元データを要求する三次元空間の範囲である要求範囲を示す情報を受信する受信ステップを含み、前記抽出ステップでは、前記第5三次元データから、前記要求範囲の三次元データを抽出することで前記第6三次元データを作成し、前記送信ステップでは、前記受信装置に前記符号化三次元データを送信してもよい。
これによれば、当該三次元データ送信方法は、伝送される三次元データのデータ量を削減できる。
また、本開示の一態様に係る三次元データ作成装置は、センサで検知した情報から第1三次元データを作成する作成部と、第2三次元データが符号化された符号化三次元データを受信する受信部と、受信した前記符号化三次元データを復号することで前記第2三次元データを取得する復号部と、前記第1三次元データと前記第2三次元データとを合成することで第3三次元データを作成する合成部とを含む。
これによれば、当該三次元データ作成装置は、作成した第1三次元データと、受信した第2三次元データとを用いて、詳細な第3三次元データを作成できる。
また、本開示の一態様に係る三次元データ送信装置は、センサで検知した情報から第5三次元データを作成する作成部と、前記第5三次元データの一部を抽出することで第6三次元データを作成する抽出部と、前記第6三次元データを符号化することで符号化三次元データを生成する符号化部と、前記符号化三次元データを送信する送信部とを含む。
これによれば、当該三次元データ送信装置は、自身が作成した三次元データを他の装置に送信できるとともに、伝送される三次元データのデータ量を削減できる。
また、本開示の一態様に係る三次元情報処理方法は、第1の三次元位置情報を含むマップデータを通信路を介して取得する取得ステップと、センサで検知した情報から第2の三次元位置情報を生成する生成ステップと、前記第1の三次元位置情報又は前記第2の三次元位置情報に対して異常判定処理を実施することで、前記第1の三次元位置情報又は前記第2の三次元位置情報が異常であるかどうかを判定する判定ステップと、前記第1の三次元位置情報又は前記第2の三次元位置情報が異常であると判定された場合、当該異常に対する対処動作を決定する決定ステップと、前記対処動作の実施に必要となる制御を実施する動作制御ステップとを含む。
これによれば、当該三次元情報処理方法は、第1の三次元位置情報又は第2の三次元位置情報の異常を検知し、対処動作を行うことができる。
例えば、前記第1の三次元位置情報は、三次元の座標情報を有する部分空間を単位として符号化され、各々が1以上の部分空間の集合体であり、各々を独立に復号可能な複数のランダムアクセス単位を含んでもよい。
これによれば、当該三次元情報処理方法は、取得する第1の三次元位置情報のデータ量を削減できる。
例えば、前記第1の三次元位置情報は、三次元の特徴量が所定の閾値以上となる特徴点が符号化されたデータであってもよい。
これによれば、当該三次元情報処理方法は、取得する第1の三次元位置情報のデータ量を削減できる。
例えば、前記判定ステップでは、前記第1の三次元位置情報を前記通信路を介して取得できるかどうかを判定し、前記第1の三次元位置情報を前記通信路を介して取得できない場合、前記第1の三次元位置情報が異常であると判定してもよい。
これによれば、当該三次元情報処理方法は、通信状況等に応じて、第1の三次元位置情報を取得できない場合に適切な対処動作を行える。
例えば、前記三次元情報処理方法は、さらに、前記第1の三次元位置情報と前記第2の三次元位置情報とを用いて前記センサを有する移動体の自己位置推定を行う自己位置推定ステップを含み、前記判定ステップでは、前記移動体が通信状態が悪い領域に進入するかを予測し、前記動作制御ステップでは、前記移動体が通信状態が悪い領域に進入すると予測された場合、前記移動体が当該領域に侵入するまえに、前記移動体は前記第1の三次元情報を取得してもよい。
これによれば、当該三次元情報処理方法は、第1の三次元位置情報を取得できなくなる可能性がある場合に、予め第1の三次元位置情報を取得できる。
例えば、前記動作制御ステップでは、前記第1の三次元位置情報を前記通信路を介して取得できない場合、前記第1の三次元位置情報より狭い範囲の第3の三次元位置情報を前記通信路を介して取得してもよい。
これによれば、当該三次元情報処理方法は、通信路を介して取得するデータのデータ量を削減できるので、通信状況が悪い場合でも、三次元位置情報を取得できる。
例えば、前記三次元情報処理方法は、さらに、前記第1の三次元位置情報と前記第2の三次元位置情報とを用いて前記センサを有する移動体の自己位置推定を行う自己位置推定ステップを含み、前記動作制御ステップでは、前記第1の三次元位置情報を前記通信路を介して取得できない場合、二次元位置情報を含むマップデータを前記通信路を介して取得し、前記二次元位置情報と前記第2の三次元位置情報とを用いて前記センサを有する移動体の自己位置推定を行ってもよい。
これによれば、当該三次元情報処理方法は、通信路を介して取得するデータのデータ量を削減できるので、通信状況が悪い場合でも、三次元位置情報を取得できる。
例えば、前記三次元情報処理方法は、さらに、前記自己位置推定の結果を用いて、前記移動体を自動運転する自動運転ステップを含み、前記判定ステップでは、さらに、前記移動体の移動環境に基づき、前記二次元位置情報と前記第2の三次元位置情報とを用いた前記移動体の前記自己位置推定の結果を用いた前記移動体の自動運転を行うか否かを判定してもよい。
これによれば、当該三次元情報処理方法は、移動体の移動環境に応じて、自動運転を継続するか否かを判定できる。
例えば、前記三次元情報処理方法は、さらに、前記自己位置推定の結果を用いて、前記移動体を自動運転する自動運転ステップを含み、前記動作制御ステップでは、前記移動体の移動環境に基づき、前記自動運転のモードを切り替えてもよい。
これによれば、当該三次元情報処理方法は、移動体の移動環境に応じて、適切な自動運転のモードを設定できる。
例えば、前記判定ステップでは、前記第1の三次元位置情報のデータが完全であるかどうかを判定し、前記第1の三次元位置情報のデータが完全でない場合、前記第1の三次元位置情報が異常であると判定してもよい。
これによれば、当該三次元情報処理方法は、例えば、第1の三次元位置情報が破損している場合等において、適切な対処動作を行える。
例えば、前記判定ステップでは、前記第2の三次元位置情報のデータの生成精度が基準値以上であるかどうかを判定し、前記第2の三次元位置情報のデータの生成精度が前記基準値以上でない場合、前記第2の三次元位置情報が異常であると判定してもよい。
これによれば、当該三次元情報処理方法は、第2の三次元位置情報を精度が低い場合に、適切な対処動作を行える。
例えば、前記動作制御ステップでは、前記第2の三次元位置情報のデータの生成精度が前記基準値以上でない場合、前記センサとは異なる代替センサで検知した情報から第4の三次元位置情報を生成してもよい。
これによれば、当該三次元情報処理方法は、例えば、センサが故障している場合等において、代替センサを用いて三次元位置情報を取得できる。
例えば、前記三次元情報処理方法は、さらに、前記第1の三次元位置情報と前記第2の三次元位置情報とを用いて前記センサを有する移動体の自己位置推定を行う自己位置推定ステップと、前記自己位置推定の結果を用いて、前記移動体を自動運転する自動運転ステップとを含み、前記動作制御ステップでは、前記第2の三次元位置情報のデータの生成精度が前記基準値以上でない場合、前記自動運転のモードを切り替えてもよい。
これによれば、当該三次元情報処理方法は、第2の三次元位置情報を精度が低い場合に、適切な対処動作を行える。
例えば、前記動作制御ステップでは、前記第2の三次元位置情報のデータの生成精度が前記基準値以上でない場合、前記センサの動作補正を行ってもよい。
これによれば、当該三次元情報処理方法は、第2の三次元位置情報を精度が低い場合に、第2の三次元位置情報を精度を上げることができる。
また、本開示の一態様に係る三次元情報処理装置は、第1の三次元位置情報を含むマップデータを通信路を介して取得する取得部と、センサで検知した情報から第2の三次元位置情報を生成する生成部と、前記第1の三次元位置情報又は前記第2の三次元位置情報に対して異常判定処理を実施することで、前記第1の三次元位置情報又は前記第2の三次元位置情報が異常であるかどうかを判定する判定部と、前記第1の三次元位置情報又は前記第2の三次元位置情報が異常であると判定された場合、当該異常に対する対処動作を決定する決定部と、前記対処動作の実施に必要となる制御を実施する動作制御部とを備える。
これによれば、当該三次元情報処理装置は、第1の三次元位置情報又は第2の三次元位置情報の異常を検知し、対処動作を行うことができる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能な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、FSPS及びFVLMのデータ構造及び予測構造はGOS、SPS及び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の情報を利用することで、ハードディスクからの読み出し時間、並びにネットワーク転送時の帯域及び転送時間を抑制することができる。例えば、地図情報として、WDLと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では、三次元座標によりSVXLの三次元位置を表現し、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では、三次元座標によりSVXLの三次元位置を表現し、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、SPS、又はGOSを、自己位置推定、運転アシスト、又は自動運転等に必要と判断し、FVXL、FVLM、FSPS、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又はSVXLの数)が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
また、符号化三次元データ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又はSVXLの数)が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
また、符号化三次元データ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を基本として用いてもよい。なお、車両は、二次元マップ、または三次元マップのいずれを採用するか切り替える判定をせずに、二次元マップを基本として用いてもよい。
以上、本開示の実施の形態に係る三次元情報処理装置について説明したが、本開示は、この実施の形態に限定されるものではない。
また、上記実施の形態に係る三次元情報処理装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、本開示は、三次元情報処理装置により実行される三次元情報処理方法として実現されてもよい。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、一つまたは複数の態様に係る三次元情報処理装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
(実施の形態5)
上記各実施の形態で示した画像処理方法及び装置の構成の他の応用例とそれを用いたシステムを説明する。当該システムは、インテリジェント化と対象空間の広域化とが進む映像システムに適用でき、例えば、(1)店舗或いは工場のセキュリティカメラ、又は警察の車載カメラなどに実装される監視システム、(2)個人所有のカメラ或いは各車載カメラ、又は道路に備えられたカメラなどを用いた交通情報システム、(3)ドローンなど遠隔操作又は自動制御可能な装置を用いた環境調査又は配送システム、及び(4)エンターテイメント施設又はスタジアム等における設置カメラ、ドローン等の移動カメラ、又は個人所有のカメラなどを用いた映像などのコンテンツ送受信システムなどに適用できる。
図37は、本実施の形態における映像情報処理システムex100の構成を示す図である。本実施の形態においては、死角の発生を防止する例、及び特定の領域を撮影禁止にする例について説明する。
図37に示す映像情報処理システムex100は、映像情報処理装置ex101と、複数のカメラex102と、映像受信装置ex103とを含む。なお、映像受信装置ex103は、必ずしも映像情報処理システムex100に含まれる必要はない。
映像情報処理装置ex101は、保存部ex111と、解析部ex112とを備える。N個のカメラex102のそれぞれは、映像を撮影する機能と撮影した映像データを映像情報処理装置ex101に送信する機能とを有する。また、カメラex102は、撮影中の映像を表示する機能を有する場合もある。なお、カメラex102は、撮影された映像信号をHEVC又はH.264のような符号化方式を用いてエンコードしたうえで映像情報処理装置ex101に送信してよいし、エンコードされていない映像データを映像情報処理装置ex101に送信してもよい。
ここで、各カメラex102は、監視カメラ等の固定カメラ、無人飛行型ラジコンや車等に搭載された移動カメラ、又は、ユーザが所持するユーザカメラである。
移動カメラは、映像情報処理装置ex101から送信された指示信号を受信し、受信された指示信号に応じて、移動カメラ自体の位置又は撮影方向を変更する。
また、撮影開示前に複数のカメラex102の時刻が、サーバ又は基準カメラの時刻情報などを用いてキャリブレーションされる。また、複数のカメラex102の空間位置が、撮影対象となる空間のオブジェクトの写り方又は基準カメラからの相対位置に基づいてキャリブレーションされる。
情報処理装置ex101に含まれる保存部ex111は、N個のカメラex102から送信された映像データを保存する。
解析部ex112は、保存部ex111に保存された映像データから死角を検出し、死角の発生を防止するための移動カメラへの指示を示す指示信号を移動カメラへ送信する。移動カメラは指示信号に従って移動を行い、撮影を継続する。
解析部ex112は、例えば、SfM(Structure from Motion)を用いて死角検出を行う。SfMとは、異なる位置から撮影された複数の映像から被写体の三次元形状を復元する手法であり、被写体形状及びカメラ位置を同時に推定する形状復元技術として広く知られている。例えば、解析部ex112は、SfMを用いて、保存部ex111に保存された映像データから施設内又はスタジアム内の三次元形状を復元し、復元できない領域を死角として検出する。
なお、解析部ex112は、カメラex102の位置及び撮影方向が固定であり、位置及び撮影方向の情報が既知の場合は、これらの既知の情報を用いてSfMを行ってもよい。また、移動カメラの位置及び撮影方向が、移動カメラが備えるGPS及び角度センサ等により取得できる場合は、移動カメラは、当該移動カメラの位置及び撮影方向の情報を解析部ex112に送信し、解析部ex112は、送信された位置及び撮影方向の情報を用いてSfMを行ってもよい。
なお、死角検出の方法は上述したSfMを用いた方法に限られるものではない。例えば、解析部ex112は、レーザレンジファインダなどのデプスセンサの情報を用いることで、撮影対象であるオブジェクトの空間距離を把握してもよい。また、解析部ex112は、カメラ位置、撮影方向及びズーム倍率等の情報を、空間内の予め設定したマーカ又は特定のオブジェクトが画像に含まれるか、含まれる場合にはそのサイズ等から検出してもよい。このように、解析部ex112は、各カメラの撮影領域を検出できる任意の方法を用いて、死角の検出を行う。また、解析部ex112は、複数の撮影対象について互いの位置関係等の情報を映像データ又は近接距離センサ等から取得し、取得した位置関係に基づいて死角が発生する可能性の高い領域を特定してもよい。
ここで死角とは、撮影したい領域中で映像が存在しない部分だけでなく、他の部分と比較して画質の悪い部分、及び予め定められた画質を得られていない部分などを含む。この検出対象の部分は、当該システムの構成又は目的に応じて適宜設定されればよい。例えば、撮影される空間中の特定の被写体について、要求される画質が高く設定されてもよい。また、逆に撮影空間中の特定の領域について、要求される画質が低く設定されてもよいし、映像が撮影されていなくても死角と判定しないように設定されてもよい。
なお、上述した画質とは、映像中の撮影対象となる被写体が占める面積(例えばピクセル数)、又は撮影対象となる被写体にピントが合っているかといった映像に関する様々な情報を含むものであり、それらの情報又はその組み合わせを基準に死角であるか否かが判定されればよい。
なお、上記の説明では、実際に死角となっている領域の検出について説明したが、死角の発生を防止するために検出する必要のある領域は実際に死角となっている領域に限定されない。例えば、複数の撮影対象が存在し、少なくともその一部が移動している場合には、ある撮影対象とカメラとの間に別の撮影対象が入ることによって新たな死角が生じる可能性がある。これに対し、解析部ex112は、例えば撮影された映像データ等から複数の撮影対象の動きを検出し、検出された複数の撮影対象の動きとカメラex102の位置情報に基づいて、新たに死角となる可能性のある領域を推定してもよい。この場合、映像情報処理装置ex101は、死角となる可能性のある領域を撮影するように移動カメラに指示信号を送信し、死角の発生を防止してもよい。
なお、移動カメラが複数ある場合、映像情報処理装置ex101は、死角、又は死角となる可能性がある領域を撮影させるために指示信号を送信する移動カメラを選択する必要がある。また、移動カメラ及び死角、又は死角となる可能性がある領域がそれぞれ複数存在する場合、映像情報処理装置ex101は、複数の移動カメラのそれぞれについて、どの死角、又は死角となる可能性がある領域を撮影させるかを決定する必要がある。例えば、映像情報処理装置ex101は、死角、又は死角となる可能性のある領域と各移動カメラが撮影中の領域の位置とに基づいて、死角、又は死角となる領域に最も近い移動カメラを選択する。また、映像情報処理装置ex101は、各移動カメラについて、当該移動カメラが現在撮影中の映像データが得られない場合に新たに死角が発生するか否かを判定し、現在撮影中の映像データが得られなくても死角が発生しないと判断された移動カメラを選択してもよい。
以上の構成により、映像情報処理装置ex101は、死角を検出し、死角を防止するように移動カメラに対して指示信号を送信することにより、死角の発生を防止できる。
(変形例1)
なお、上記説明では、移動カメラに移動を指示する指示信号が送信される例を述べたが、指示信号は、ユーザカメラのユーザに移動を指示するための信号であってもよい。例えば、ユーザカメラは、指示信号に基づき、ユーザにカメラの方向を変更するように指示する指示画像を表示する。なお、ユーザカメラは、ユーザの移動の指示として、地図上に移動経路を示した指示画像を表示してもよい。また、ユーザカメラは、取得される画像の質を向上させるために撮影方向、角度、画角、画質、及び撮影領域の移動など詳細な撮影の指示を表示してもよく、さらに映像情報処理装置ex101側で制御可能であれば、映像情報処理装置ex101は、そのような撮影に関するカメラex102の特徴量を自動で制御してもよい。
ここで、ユーザカメラは、例えば、スタジアム内の観客又は施設内の警備員が持つスマートフォン、タブレット型端末、ウェアラブル端末、又はHMD(Head Mounted Display)である。
また、指示画像を表示する表示端末は、映像データを撮影するユーザカメラと同一である必要はない。例えば、ユーザカメラに予め対応付けられた表示端末に対して、ユーザカメラが指示信号又は指示画像を送信し、当該表示端末が指示画像を表示してもよい。また、ユーザカメラに対応する表示端末の情報が、予め映像情報処理装置ex101に登録されてもよい。この場合は、映像情報処理装置ex101は、ユーザカメラに対応する表示端末に対して指示信号を直接送信することで、表示端末に指示画像を表示させてもよい。
(変形例2)
解析部ex112は、例えばSfMを用いて、保存部ex111に保存された映像データから施設内又はスタジアム内の三次元形状を復元することで自由視点映像(三次元再構成データ)を生成してもよい。この自由視点映像は、保存部ex111に保存される。映像情報処理装置ex101は、映像受信装置ex103から送信される視野情報(及び/又は、視点情報)に応じた映像データを保存部ex111から読み出して、映像受信装置ex103に送信する。なお、映像受信装置ex103は、複数のカメラの一つであってもよい。
(変形例3)
映像情報処理装置ex101は、撮影禁止領域を検出してもよい。この場合、解析部ex112は撮影画像を解析し、移動カメラが撮影禁止領域を撮影している場合には移動カメラに対して撮影禁止信号を送信する。移動カメラは撮影禁止信号を受信している間は撮影を停止する。
解析部ex112は、例えば、SfMを用いて復元された三次元の仮想空間と、撮影映像とのマッチングを取ることで、空間内で予め設定されている移動カメラが撮影禁止領域を撮影中かを判定する。または、解析部ex112は、空間内に配置されたマーカ又は特徴的なオブジェクトをトリガーとして移動カメラが撮影禁止領域を撮影中かを判定する。撮影禁止領域とは、例えば施設内又はスタジアム内のトイレなどである。
また、ユーザカメラが撮影禁止領域を撮影している場合には、ユーザカメラは、無線又は有線で接続されるディスプレイ等にメッセージを表示したり、スピーカ又はイヤホンから音又は音声を出力したりすることで、現在の場所が撮影禁止場所であることをユーザに知らせてもよい。
例えば、上記メッセージとして、現在カメラを向けている方向が撮影禁止である旨が表示される。または、表示される地図上に撮影禁止領域と現在の撮影領域とが示される。また、撮影の再開は、例えば、撮影禁止信号が出力されなくなれば自動的に行われる。または、撮影禁止信号が出力されておらず、かつ、ユーザが撮影再開を行う操作をした場合に、撮影が再開されてもよい。また、撮影の停止と再開とが短期間で複数回起こった場合には、再度キャリブレーションが行われてもよい。または、ユーザに現在位置を確認したり移動を促したりするための通知が行われてもよい。
また、警察など特別な業務の場合には、記録のためこのような機能をオフにするパスコード又は指紋認証などが用いられてもよい。さらに、そのような場合であっても撮影禁止領域の映像が外部に表示されたり保存される場合には自動でモザイクなど画像処理が行われてもよい。
以上の構成により、映像情報処理装置ex101は、撮影禁止の判定を行い、撮影を停止するようにユーザに通知することで、ある領域を撮影禁止に設定できる。
(変形例4)
映像から三次元の仮想空間を構築するためには、複数視点の映像を集める必要があるため、映像情報処理システムex100は、撮影映像を転送したユーザに対してインセンティブを設定する。例えば、映像情報処理装置ex101は、映像を転送したユーザに対し、無料又は割引料金で映像配信を行ったり、オンライン又はオフラインの店又はゲーム内で使用できるような金銭的な価値、又はゲームなどのバーチャル空間での社会的地位など非金銭的な価値のあるポイントを付与する。また、映像情報処理装置ex101は、リクエストが多いなど価値のある視野(及び/又は、視点)の撮影映像を転送したユーザに対しては特に高いポイントを付与する。
(変形例5)
映像情報処理装置ex101は、解析部ex112の解析結果に基づき、ユーザカメラに対して付加情報を送信してもよい。この場合、ユーザカメラは撮影映像に付加情報を重畳して、画面に表示する。付加情報とは、例えば、スタジアムでの試合が撮影されている場合には、選手名又は身長などの選手の情報であり、映像内の各選手に対応付けて当該選手の名前又は顔写真などが表示される。なお、映像情報処理装置ex101は、映像データの一部又は全部の領域に基づきインターネット経由の検索により、付加情報を抽出してもよい。また、カメラex102は、Bluetooth(登録商標)をはじめとする近距離無線通信又は、スタジアム等の照明から可視光通信によりそのような付加情報を受け取り、受け取った付加情報を、映像データにマッピングしてもよい。また、カメラex102は、このマッピングを、カメラex102に有線又は無線により接続される記憶部に保持されるテーブルであって、可視光通信技術により得られる情報と付加情報との対応関係を示すテーブルなどの一定規則に基づいて行なってもよいし、インターネット検索により最も確からしい組み合わせの結果を用いて行なってもよい。
また、監視システムにおいては、施設内の警備員が持つユーザカメラに対して、例えば注意人物の情報が重畳されることで、監視システムの高精度化を図ることができる。
(変形例6)
解析部ex112は,自由視点映像とユーザカメラの撮影映像とのマッチングを取ることで、ユーザカメラが施設内又はスタジアム内のどの領域を撮影中かを判定してもよい。なお、撮影領域の判定方法はこれに限られず、上述した各実施の形態で説明した様々な撮影領域の判定方法又はその他の撮影領域の判定方法を用いられてもよい。
映像情報処理装置ex101は、解析部ex112の解析結果に基づき、ユーザカメラに対して過去映像を送信する。ユーザカメラは撮影映像に過去映像を重畳して、又は撮影映像を過去映像に置換して、画面に表示する。
例えば、ハーフタイム中に、過去映像として前半のハイライトシーンが表示される。これにより、ユーザはハーフタイム中に、前半のハイライトシーンを自分が見ている方向の映像として楽しむことができる。なお過去映像は、前半のハイライトシーンに限らず、そのスタジアムで行われた過去の試合のハイライトシーンなどでもよい。また、映像情報処理装置ex101が過去映像を配信するタイミングはハーフタイム中に限らず、例えば試合終了後でも、試合中でもよい。特に試合中の場合には、解析部ex112の解析結果に基づき、映像情報処理装置ex101はユーザが見逃した重要と考えられるシーンを配信してもよい。また、映像情報処理装置ex101はユーザからリクエストがあった場合のみ過去映像を配信してもよく、又は過去映像の配信前に配信許可のメッセージを配信してもよい。
(変形例7)
映像情報処理装置ex101は、解析部ex112の解析結果に基づき、ユーザカメラに対して広告情報を送信してもよい。ユーザカメラは撮影映像に広告情報を重畳して、画面に表示する。
広告情報は例えば変形例6で示した、ハーフタイム中又は試合終了後の過去映像配信直前に配信されてもよい。これにより、配信業者は広告主からの広告料を得ることができ、ユーザに安価又は無料で映像配信サービスを提供できる。また、映像情報処理装置ex101は、広告情報の配信直前に広告配信許可のメッセージを配信してもよいし、ユーザが広告を視聴した場合のみ無料でサービスを提供してもよいし、広告を視聴しない場合より安価にサービスを提供してもよい。
また、広告に従ってユーザが「今すぐ注文する」などをクリックすると、当該システム又は何らかの位置情報に基づいてユーザの位置を把握しているスタッフ又は会場の自動の配送システムが注文された飲み物を席まで届けてくれる。決裁はスタッフへの手渡しでもよいし、予めモバイル端末のアプリ等に設定されているクレジットカード情報に基づいて行われてもよい。また、広告にはeコマースサイトへのリンクが含まれ、通常の自宅配送等のオンラインショッピングが可能な状態になっていてもよい。
(変形例8)
映像受信装置ex103は、カメラex102(ユーザカメラ)の一つであってもよい。この場合、解析部ex112は、自由視点映像とユーザカメラの撮影映像とのマッチングを取ることで、ユーザカメラが施設内又はスタジアム内のどの領域を撮影中かを判定する。なお、撮影領域の判定方法はこれに限らない。
例えば、ユーザが、画面に表示されている矢印の方向にスワイプ操作をすると、ユーザカメラはその方向へ視点を移動させることを示す視点情報を生成する。映像情報処理装置ex101は、解析部ex112が判定したユーザカメラの撮影領域から視点情報の分だけ移動させた領域を撮影した映像データを保存部ex111から読み出し、当該映像データのユーザカメラへの送信を開始する。そしてユーザカメラは撮影映像ではなく、映像情報処理装置ex101から配信された映像を表示する。
以上により、施設内又はスタジアム内のユーザは、画面スワイプのような簡易な動作で、好きな視点からの映像を視聴できる。例えば野球場の3塁側で観戦している観客が、1塁側の視点からの映像を視聴できる。また、監視システムにおいては、施設内の警備員が画面スワイプのような簡易な動作で、自身が確認したい視点又はセンターからの割り込みとして注視すべき映像などを、視点を適用的に変えながら視聴することができるので、監視システムの高精度化を図ることができる。
また、施設内又はスタジアム内のユーザへの映像の配信は、例えばユーザカメラと撮影対象との間に障害物が存在し、見えない領域がある場合等にも有効である。この場合、ユーザカメラは、ユーザカメラの撮影領域のうち障害物が含まれる一部の領域の映像を、撮影映像から、映像情報処理装置ex101からの配信映像に切り替えて表示してもよいし、画面全体を撮影映像から配信映像に切り替えて表示してもよい。また、ユーザカメラは、撮影映像と配信映像とを合成して障害物を透過して視聴対象が見えているような映像を表示してもよい。この構成によると、障害物の影響でユーザの位置から撮影対象が見えない場合にも、映像情報処理装置ex101から配信された映像を視聴することができるので、障害物の影響を軽減することができる。
また、障害物により見えない領域の映像として配信映像を表示する場合は、上述した画面スワイプのようなユーザによる入力処理に応じた表示の切り替え制御とは異なる表示の切り替え制御が行われてもよい。例えば、ユーザカメラの移動及び撮影方向の情報、並びに予め得られている障害物の位置情報に基づいて撮影領域に障害物が含まれると判定される場合に、撮影映像から配信映像への表示の切り替えが自動的に行われもよい。また、撮影映像データの解析により撮影対象ではない障害物が映っていると判定された場合に、撮影映像から配信映像への表示の切り替えが自動的に行われてもよい。また、撮影映像に含まれる障害物の面積(例えばピクセル数)が所定の閾値を超えた場合、又は撮影対象の面積に対する障害物の面積の比が所定の割合を超えた場合に、撮影映像から配信映像への表示の切り替えが自動的に行われてもよい。
なお、ユーザの入力処理に応じて撮影映像から配信映像への表示の切り替え及び配信映像から撮影映像への表示の切り替えが行われてもよい。
(変形例9)
各カメラex102で撮影された映像データの重要度に基づき映像データを映像情報処理装置ex101に転送する速度が指示されてもよい。
この場合、解析部ex112は保存部ex111に保存された映像データ、又は当該映像データを撮影したカメラex102の重要度を判定する。ここでの重要度の判定は、例えば映像中に含まれる人の数或いは移動物体の数、映像データの画質などの情報、又はその組み合わせに基づいて行われる。
また、映像データの重要度の判定は、映像データが撮影されたカメラex102の位置又は映像データが撮影している領域に基づいてもよい。例えば、対象のカメラex102の近くに撮影中の他のカメラex102が複数存在する場合に、対象のカメラex102で撮影された映像データの重要度を低くする。また、対象のカメラex102の位置が他のカメラex102から離れていても同じ領域を撮影している他のカメラex102が複数存在する場合に、対象のカメラex102で撮影された映像データの重要度を低くする。また、映像データの重要度の判定は、映像配信サービスにおけるリクエストの多さに基づいて行われてもよい。なお、重要度の判定方法は、上述したものやその組み合わせに限られず、監視システム又は映像配信システムの構成又は目的に応じた方法であればよい。
また、重要度の判定は撮影された映像データに基づくものでなくてもよい。例えば、映像情報処理装置ex101以外の端末へ映像データを送信するカメラex102の重要度が高く設定されてもよい。逆に、映像情報処理装置ex101以外の端末へ映像データを送信するカメラex102の重要度が低く設定されてもよい。これにより、例えば、映像データの伝送を必要とする複数のサービスが通信帯域を共有している場合に、各サービスの目的又は特性に応じた通信帯域の制御の自由度が高くなる。これにより、必要な映像データが得られないことによる各サービスの品質の劣化を防止できる。
また、解析部ex112は、自由視点映像とカメラex102の撮影映像とを用いて、映像データの重要度を判定してもよい。
映像情報処理装置ex101は、解析部ex112で行われた重要度の判定結果に基づき、カメラex102に対して通信速度指示信号を送信する。映像情報処理装置ex101は、例えば、重要度が高い映像を撮影しているカメラex102に対して高い通信速度を指示する。また、映像情報処理装置ex101は、速度の制御だけではなく、重要な情報については、欠落によるデメリットを低減するために複数回送るような方式を指示する信号を送信してもよい。これにより、施設内又はスタジアム内全体の通信を効率的に行うことができる。なお、カメラex102と映像情報処理装置ex101との通信は、有線通信であっても無線通信であってもよい。また、映像情報処理装置ex101は、有線通信及び無線通信のいずれか一方のみを制御してもよい。
カメラex102は、通信速度指示信号に従った通信速度で、撮影映像データを映像情報処理装置ex101に送信する。なお、カメラex102は所定の回数再送が失敗した場合には、その撮影映像データの再送を停止し、次の撮影映像データの転送を開始してもよい。これにより、施設内又はスタジアム内全体の通信を効率的に行うことができ、解析部ex112における処理の高速化を実現できる。
また、カメラex102は、それぞれに割り当てられた通信速度が撮影した映像データを転送するために十分な帯域でない場合は、撮影した映像データを、割り当てられた通信速度で送信可能なビットレートの映像データに変換し、変換後の映像データを送信してもよし、映像データの転送を中止してもよい。
また、上述したように死角の発生を防止するために映像データが使用される場合、撮影された映像データに含まれる撮影領域のうちの一部の領域のみが死角を埋めるために必要である可能性がある。この場合、カメラex102は、少なくとも、映像データから、死角の発生を防止するために必要とされる領域のみを抽出することで抽出映像データを生成し、生成された抽出映像データを映像情報処理装置ex101に送信してもよい。この構成によると、死角の発生の抑制をより少ない通信帯域で実現できる。
また、例えば、付加情報の重畳表示又は映像配信が行われる場合には、カメラex102は、映像情報処理装置ex101にカメラex102の位置情報及び撮影方向の情報を送信する必要がある。この場合、映像データを転送するためには十分ではない帯域しか割り当てられなかったカメラex102は、カメラex102で検出された位置情報及び撮影方向の情報のみを送信してもよい。また、映像情報処理装置ex101においてカメラex102の位置情報及び撮影方向の情報を推定する場合は、カメラex102は、撮影した映像データを、位置情報及び撮影方向の情報の推定に必要な解像度に変換し、変換された映像データを映像情報処理装置ex101に送信してもよい。この構成によると、少ない通信帯域しか割り当てられなかったカメラex102に対しても、付加情報の重畳表示又は映像配信のサービスを提供できる。また、映像情報処理装置ex101は、より多くのカメラex102から撮影領域の情報を取得できるため、例えば注目されている領域を検出する等の目的で、撮影領域の情報を利用するような場合においても有効である。
なお、上述した割り当てられた通信帯域に応じた映像データの転送処理の切り替えは、通知された通信帯域に基づいてカメラex102が行ってもよいし、映像情報処理装置ex101が各カメラex102の動作を決定し、決定された動作を示す制御信号を各カメラex102に通知してもよい。これにより、動作の切り替えの判定に必要な計算量、カメラex102の処理能力、及び必要となる通信帯域等に応じて、適切に処理の分担を行える。
(変形例10)
解析部ex112は、映像受信装置ex103から送信された視野情報(及び/又は、視点情報)に基づき、映像データの重要度を判定してもよい。例えば、解析部ex112は、視野情報(及び/又は、視点情報)が示す領域を多く含む撮影映像データの重要度を高く設定する。また、解析部ex112は、映像中に含まれる人の数、又は移動物体の数を考慮して、映像データの重要度を判定してもよい。なお、重要度の判定方法はこれに限らない。
なお、本実施の形態で説明した通信制御方法は、必ずしも複数の映像データから三次元形状の再構築を行うシステムにおいて用いられる必要はない。例えば複数のカメラex102が存在する環境において、映像データを選択的又は伝送速度に差をつけて有線通信及び/又は無線通信で送信する場合であれば、本実施の形態で説明した通信制御方法は有効である。
(変形例11)
映像配信システムにおいて、映像情報処理装置ex101は、撮影シーンの全体を示す概観映像を映像受信装置ex103に送信してもよい。
具体的には、映像情報処理装置ex101は、映像受信装置ex103から送信された配信リクエストを受信した場合、保存部ex111から施設内又はスタジアム内全体の概観映像を読み出し、当該外観映像を映像受信装置ex103に送信する。この概観映像は更新間隔が長くてもよく(低フレームレートでもよく)、また画質が低くてもよい。視聴者は、映像受信装置ex103の画面上に表示された概観映像中で、見たい部分をタッチする。これにより、映像受信装置ex103は、タッチされた部分に対応する視野情報(及び/又は、視点情報)を映像情報処理装置ex101に送信する。
映像情報処理装置ex101は、視野情報(及び/又は、視点情報)に応じた映像データを保存部ex111から読み出し、当該映像データを映像受信装置ex103に送信する。
また、解析部ex112は、視野情報(及び/又は、視点情報)で示される領域に対して優先的に三次元形状の復元(三次元再構成)を行うことで自由視点映像を生成する。解析部ex112は、施設内又はスタジアム内全体の三次元形状を、概観を示す程度の精度で復元する。これにより、映像情報処理装置ex101は、三次元形状の復元を効率的に行うことができる。その結果、視聴者が見たい領域の自由視点映像の高フレームレート化、及び高画質を実現できる。
(変形例12)
なお、映像情報処理装置ex101は、例えば、設計図面などから事前に生成された施設又はスタジアムの三次元形状復元データを事前映像として、予め保存しておいてもよい。なお、事前映像はこれに限らず、デプスセンサから得られる空間の凹凸と、過去又はキャリブレーション時の画像又は映像データから導出されるピクチャとをオブジェクトごとにマッピングした仮想空間データであってもよい。
例えば、スタジアムでサッカーが行われている場合、解析部ex112は、選手及びボールのみに限定して三次元形状の復元を行い、得られた復元データと事前映像とを合成することで自由視点映像を生成してもよい。あるいは、解析部ex112は、選手及びボールに対して優先して三次元形状の復元を行ってもよい。これにより、映像情報処理装置ex101は、三次元形状の復元を効率的に行うことができる。その結果、視聴者が注目する選手及びボールに関する自由視点映像の高フレームレート化及び高画質化を実現できる。また、監視システムにおいては、解析部ex112は、人物及び移動物体のみに限定して、又はそれらを優先して三次元形状の復元を行ってもよい。
(変形例13)
各装置の時刻は、サーバの基準時刻等に基づき、撮影開始時にキャリブレーションされてもよい。解析部ex112は、複数のカメラex102で撮影された複数の撮影映像データのうち、時刻設定の精度に応じて、予め設定された時間範囲内に属する時刻に撮影された複数の映像データを用いて、三次元形状の復元を行う。この時刻の検出には、例えば撮影映像データが保存部ex111に格納された時刻が用いられる。なお、時刻の検出方法はこれに限らない。これにより、映像情報処理装置ex101は、三次元形状の復元を効率的に行うことができるので、自由視点映像の高フレームレート化及び高画質化を実現できる。
または、解析部ex112は、保存部ex111に保存された複数の映像データのうち、高画質データのみを用いて、又は高画質データを優先的に用いて、三次元形状の復元を行ってもよい。
(変形例14)
解析部ex112は、カメラ属性情報を用いて、三次元形状の復元を行ってもよい。例えば、解析部ex112は、カメラ属性情報を用いて、視体積交差法又はマルチビューステレオ法などの手法により三次元映像を生成してもよい。この場合、カメラex102は、撮影映像データとカメラ属性情報とを映像情報処理装置ex101に送信する。カメラ属性情報は、例えば、撮影位置、撮影角度、撮影時刻、又はズーム倍率などである。
これにより、映像情報処理装置ex101は、三次元形状の復元を効率的に行うことができるので、自由視点映像の高フレームレート化及び高画質化を実現できる。
具体的には、カメラex102は、施設内又はスタジアム内に三次元座標を定義し、カメラex102がどのあたりの座標をどの角度から、どれ位のズームで、どの時間に撮ったかという情報を映像と共にカメラ属性情報として映像情報処理装置ex101に送信する。また、カメラex102の起動時に、施設内又はスタジアム内の通信ネットワーク上の時計とカメラ内の時計との同期がとられ、時間情報が生成される。
また、カメラex102の起動時又は任意のタイミングで施設内又はスタジアム内の特定のポイントにカメラex102を向けることにより、カメラex102の位置及び角度情報が取得される。図38は、カメラex102に起動時に、カメラex102の画面上に表示される通知の一例を示す図である。ユーザがこの通知に従い、スタジアム北側の広告中のサッカーボール中心にある「+」に、画面中央に表示された「+」を合わせて、カメラex102のディスプレイをタッチすると、カメラex102は、カメラex102から広告までのベクトル情報を取得しカメラ位置及び角度の基準を特定する。その後、カメラex102のモーション情報からその時々のカメラ座標及び角度が特定される。もちろん、この表示に限るものではなく、矢印等を用いて撮影期間中も座標、角度、又は撮影領域の移動速度等を指示するような表示が用いられてもよい。
カメラex102の座標の特定は、GPS、Wi‐Fi(登録商標)、3G、LTE(Long Term Evolution)、及び5G(無線LAN)の電波を用いて行われてもよいし、ビーコン(Bluetooth(登録商標)、超音波)など近距離無線を利用して行われてもよい。また、施設内又はスタジアム内のどの基地局に撮影映像データが届いたかという情報が用いられてもよい。
(変形例15)
当該システムはスマートフォン等のモバイル端末上で動作するアプリケーションとして提供されてもよい。
上記システムへのログインには、各種SNS等のアカウントが用いられてもよい。なお、アプリ専用のアカウント、又は機能が制限されたゲストアカウントが用いられてもよい。このようにアカウントが用いられることで、好みの映像又は好みのアカウント等を評価することができる。また、撮影中又は視聴中の映像データに類似した映像データ、撮影中又は視聴中の映像データの視点に類似した視点の映像データなどに優先的に帯域を割り振ることで、これらの映像データの解像度を高めることができる。これにより、これらの視点からの三次元形状の復元をより精度よく行うことができる。
また、ユーザは、当該アプリケーションで、好みの画像映像を選択し、相手方をフォローすることで、選択した画像を他のユーザよりも優先して見たり、相手方の承認などを条件にテキストチャット等でつながりをもつことができる。このように、新たなコミュニティの生成が可能である。
このようにユーザ同士がコミュニティ内でつながることにより、撮影自体、また撮影した画像の共有などが活発化し、より精度の高い三次元形状の復元を促すことができる。
また、コミュニティ内のつながりの設定に応じて、ユーザは、他人が撮影した画像又は映像を編集したり、他人の画像と自分の画像とをコラージュして新たな画像又は映像を作成したりできる。これにより、新たな画像又は映像を当該コミュニティ内の人のみでシェアするなど、新たな映像作品のシェアが可能になる。また、この編集においてCGのキャラクタを挿入するなどにより、拡張現実(Augmented Reality)のゲーム等にも映像作品を利用できる。
また、当該システムによると三次元モデルデータが逐次出力可能になるため、ゴールシーンなどの特徴的なシーンでの三次元モデルデータに基づき、施設が有する3Dプリンタなどが立体オブジェクトを出力することができる。これにより、試合後に、その試合中のシーンに基づくオブジェクトをキーホルダーのようなお土産として売ったり、参加ユーザに配布することも可能である。もちろん通常の写真として、もっとも良い視点からの画像をプリントすることも可能である。
(変形例16)
上記システムを用いて、例えば、警察の車載カメラ、及び警察官のウェアラブルカメラの映像などから、地域全体の大雑把な状態を、当該システムに接続されたセンターで管理することができる。
一般のパトロールの時は、例えば数分おきで静止画の送受信が行なわれる。また、センターは、過去の犯罪データ等を用いて分析した結果に基づいた犯罪マップに基づいて犯罪発生の可能性が高い地域を特定する、もしくはこのように特定された犯罪発生確率に関連する地域データを保持している。特定された犯罪発生確率の高い地域では、画像の送受信の頻度を上げたり、画像を動画に変更したりしてもよい。また、事件発生時は、動画、又はSfM等を用いた三次元再構成データが用いられてもよい。また、センターもしくは各端末が、同時にデプスセンサ又はサーモセンサなど他のセンサの情報を用いて画像又は仮想空間を補正することで、警察官は、より正確に状況を把握できる。
また、センターは、三次元再構成データを用いることで、複数の端末にそのオブジェクトの情報をフィードバックできる。これにより、各端末を持つ個々人がオブジェクトをトラッキングできる。
また、最近では、建造物或いは環境の調査、又はスポーツなどの臨場感ある撮影等の目的で、クワッドコプター、ドローンなどの飛行可能な装置による空中からの撮影が行なわれる。このような自律移動装置による撮影は、画像がブレるということが問題になりやすいが、SfMは位置及び傾きによりそのブレを補正しながら三次元化を行なうことが可能である。これにより、画質の向上、及び空間の復元精度の向上を実現できる。
また、車外を撮影する車載カメラの設置が、国によっては義務付けられている。このような車載カメラにおいても、複数の画像からモデル化された三次元データを用いることで、行き先の方向の天気及び路面の状態、並びに渋滞度合い等をより精度よく把握できる。
(変形例17)
上記システムは、例えば、複数のカメラを利用して建物又は設備の測距又はモデリングを行うシステムにも適用できる。
ここで、例えば、1台のドローンを用いて建物を上空から撮影し、建物の測距又はモデリングを行う場合には、測距中にカメラに動物体が写りこむことで測距の精度が低下するという課題がある。また、動物体の測距及びモデリングを行えないという課題がある。
一方で、上述したように複数のカメラ(固定カメラ、スマートフォン、ウェアラブルカメラ及びドローン等)を用いることで、動物体の有無にかかわらず安定した精度で建物の測距及びモデリングを実現できる。また、動物体の測距及びモデリングを実現できる。
具体的には、例えば、建築現場において作業員のヘルメット等にカメラが取り付けられる。これにより、作業員の作業に並行して建物の測距を行うことができる。また、作業の効率化及びミス防止にも用いることができる。また、作業員に装着されたカメラで撮影された映像を用いて建物をモデリングできる。さらに、遠隔地にいる管理者が、モデリングされた建物を見ることで進捗具合を確認できる。
また、当該システムは、工場又は発電所の機械等、停止できない設備の点検に使用できる。また、当該システムは、橋或いはダムの開閉、又は、遊園地の乗り物の動作等に異常がないかを点検する場合に使用できる。
また、当該システムにより、道路の渋滞具合又は交通量を監視することで、各時間帯の道路の渋滞具合又は交通量を示す地図を生成することができる。
(実施の形態6)
上記各実施の形態で示した画像処理方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した画像処理方法の応用例とそれを用いたシステムを説明する。当該システムは、画像処理方法を用いた装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図39は、コンテンツ配信サービスを実現するコンテンツ供給システムex200の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex206、ex207、ex208、ex209、ex210が設置されている。
このコンテンツ供給システムex200は、インターネットex201にインターネットサービスプロバイダex202および通信網ex204、および基地局ex206からex210を介して、コンピュータex211、PDA(Personal Digital Assistant)ex212、カメラex213、スマートフォンex214、ゲーム機ex215などの各機器が接続される。
しかし、コンテンツ供給システムex200は図39のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex206からex210を介さずに、各機器が電話線、ケーブルテレビ、又は光通信などの通信網ex204に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex213はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex216はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、スマートフォンex214は、GSM(登録商標)(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W-CDMA(Wideband-Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)、又は高周波帯域を利用した通信方式などに対応するスマートフォン機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex200では、カメラex213等が基地局ex209、通信網ex204を通じてストリーミングサーバex203に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex213を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して符号化処理を行い、ストリーミングサーバex203に送信する。一方、ストリーミングサーバex203は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex211、PDAex212、カメラex213、スマートフォンex214、ゲーム機ex215等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する。
なお、撮影したデータの符号化処理はカメラex213で行っても、データの送信処理をするストリーミングサーバex203で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex203で行ってもよいし、互いに分担して行ってもよい。また、カメラex213に限らず、カメラex216で撮影した静止画像および/または動画像データを、コンピュータex211を介してストリーミングサーバex203に送信してもよい。この場合の符号化処理はカメラex216、コンピュータex211、ストリーミングサーバex203のいずれで行ってもよいし、互いに分担して行ってもよい。さらに復号された画像の表示についても、システムにつながった複数の機器が連動して同じ画像を表示してもよいし、大きな表示部を有する装置で全体の画像を表示し、スマートフォンex214等では画像の一部の領域を拡大して表示してもよい。
また、これら符号化・復号化処理は、一般的にコンピュータex211や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex211等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、スマートフォンex214がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データはスマートフォンex214が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex203は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex200では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex200では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
なお、コンテンツ供給システムex200の例に限らず、図40に示すように、デジタル放送用システムex300にも、上記各実施の形態を適用してもよい。具体的には、放送局ex301では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex302に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである。これを受けた放送衛星ex302は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex304が受信する。受信した多重化データを、テレビ(受信機)ex400またはセットトップボックス(STB)ex317等の装置が復号化して再生する。
また、DVD、BD等の記録メディアex315、もしくはSDなどのメモリex316に記録した多重化データを読み取り復号化する、または記録メディアex315もしくはメモリex316に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex318にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex319に表示され、多重化データが記録された記録メディアex315、又はメモリex316により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex303または衛星/地上波放送のアンテナex304に接続されたセットトップボックスex317内に動画像復号化装置を実装し、これをテレビのモニタex319で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図41は、スマートフォンex214を示す図である。また、図42は、スマートフォンex214の構成例を示す図である。スマートフォンex214は、基地局ex210との間で電波を送受信するためのアンテナex450、映像、静止画を撮ることが可能なカメラ部ex465、カメラ部ex465で撮像した映像、アンテナex450で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex458を備える。スマートフォンex214は、さらに、タッチパネル等である操作部ex466、音声を出力するためのスピーカ等である音声出力部ex457、音声を入力するためのマイク等である音声入力部ex456、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存可能なメモリ部ex467、又は図40に例示されたメモリex316、もしくはユーザを特定し、ネットワークをはじめ各種データへのアクセスの認証をするためのSIMex468とのインタフェース部であるスロット部ex464を備える。
スマートフォンex214は、表示部ex458及び操作部ex466等を統括的に制御する主制御部ex460に対して、電源回路部ex461、操作入力制御部ex462、映像信号処理部ex455、カメラインタフェース部ex463、LCD(Liquid Crystal Display)制御部ex459、変調/復調部ex452、多重/分離部ex453、音声信号処理部ex454、スロット部ex464、メモリ部ex467がバスex470を介して互いに接続されている。
電源回路部ex461は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりスマートフォンex214を動作可能な状態に起動する。
スマートフォンex214は、CPU、ROM、RAM等を有する主制御部ex460の制御に基づいて、音声通話モード時に音声入力部ex456で収音した音声信号を音声信号処理部ex454でデジタル音声信号に変換し、これを変調/復調部ex452でスペクトラム拡散処理し、送信/受信部ex451でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex450を介して送信する。またスマートフォンex214は、音声通話モード時にアンテナex450を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex452でスペクトラム逆拡散処理し、音声信号処理部ex454でアナログ音声信号に変換した後、これを音声出力部ex457から出力する。
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作部ex466等の操作によって入力された電子メールのテキストデータは操作入力制御部ex462を介して主制御部ex460に送出される。主制御部ex460は、テキストデータを変調/復調部ex452でスペクトラム拡散処理をし、送信/受信部ex451でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex450を介して基地局ex210へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex458に出力される。
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex455は、カメラ部ex465から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し、符号化された映像データを多重/分離部ex453に送出する。また、音声信号処理部ex454は、映像、静止画等をカメラ部ex465で撮像中に音声入力部ex456で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex453に送出する。
多重/分離部ex453は、映像信号処理部ex455から供給された符号化された映像データと音声信号処理部ex454から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex452でスペクトラム拡散処理をし、送信/受信部ex451でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex450を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex450を介して受信された多重化データを復号化するために、多重/分離部ex453は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex470を介して符号化された映像データを映像信号処理部ex455に供給するとともに、符号化された音声データを音声信号処理部ex454に供給する。映像信号処理部ex455は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し、LCD制御部ex459を介して表示部ex458から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex454は、音声信号を復号し、音声出力部ex457から音声が出力される。
また、上記スマートフォンex214等の端末は、テレビex400と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex300において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
また、本開示はかかる上記実施の形態に限定されるものではなく、本開示の範囲を逸脱することなく種々の変形または修正が可能である。