以下、本開示を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.第1実施の形態:画像処理システム(図1乃至図12)
2.第2実施の形態:画像処理システム(図13乃至図16)
3.第3実施の形態:コンピュータ(図17)
4.応用例:車両制御システム(図18および図19)
<第1実施の形態>
(画像処理システムの構成例)
図1は、本開示を適用した画像処理システムの第1実施の形態の構成例を示すブロック図である。
図1の画像処理システム10は、撮像装置11、符号化装置12(画像処理装置)、復号装置13(画像処理装置)、および表示装置14により構成される。画像処理システム10は、撮像装置11により取得されたカラー画像とデプス画像を用いて、表示視点のカラー画像を生成し、表示する。
具体的には、画像処理システム10の撮像装置11は、例えば、マルチカメラ、測距測定器、および画像処理部により構成される。撮像装置11のマルチカメラは、複数のカメラにより構成され、各カメラで少なくとも一部が共通する被写体のカラー画像の動画像を撮像する。測距測定器は、例えば、各カメラに設けられ、そのカメラと同一の視点のデプス画像の動画像を生成する。
撮像装置11の画像処理部は、フレーム単位で、各カメラの視点のカラー画像およびデプス画像の動画像、並びに、各カメラのワールド座標系(3D座標系)における外部パラメータおよび内部パラメータを用いて、Visual Hull等を算出することにより、被写体の3Dモデルを生成する。画像処理部は、3Dモデルを構成する各ポリゴンメッシュの頂点(Vertex)の3次元位置および頂点間mのつながりを示す形状情報(Geometry)と、そのポリゴンメッシュの色情報とを被写体の3Dデータとして生成する。
画像処理部における3Dデータの生成方法としては、例えば、非特許文献1等に記載されている方法を採用することができる。なお、3Dデータは、形状情報と各カメラの視点のカラー画像とにより構成されてもよい。画像処理部は、3Dデータを符号化装置12に供給する。
符号化装置12は、変換部21、符号化部22、記憶部23、および送信部24により構成される。
符号化装置12の変換部21は、フレームごとに、撮像装置11から供給される3Dデータに基づいて、被写体の3Dモデルを1以上のオブジェクトに分割する。また、変換部21は、フレームごとに、そのフレームとそのフレームより1つ前のフレームの3Dデータに基づいて、生成する各仮想カメラのデプス画像上の主要なオブジェクトの位置の時間変化が小さくなるように、生成するデプス画像に対応する各仮想カメラの視点を決定する。ここでは、生成するデプス画像とカラー画像に対応する仮想カメラの視点は同一であるものとするが、デプス画像とカラー画像に対応する仮想カメラおよび仮想カメラ数は異なっていてもよい。
変換部21は、決定された各視点の仮想カメラのワールド座標系における外部パラメータおよび内部パラメータを生成する。また、変換部21は、各仮想カメラに対して、仮想カメラに固有のIDであるカメラIDを付与する。変換部21は、各仮想カメラの外部パラメータおよび内部パラメータと各オブジェクトのフレーム単位の3Dデータとに基づいて、各仮想カメラにより撮影される各オブジェクトのフレーム単位のカラー画像と、そのカラー画像に対応するデプス画像とを生成する。
3Dデータからカラー画像やデプス画像を生成する方法としては、例えば、谷本正幸、「究極の映像通信を目指して」電子情報通信学会技術研究報告. CS, 通信方式 110(323), 73-78, 2010-11-25等に記載されている方法を採用することができる。
変換部21は、各仮想カメラの各オブジェクトのカラー画像とデプス画像を符号化部22に供給する。また、変換部21は、各仮想カメラの外部パラメータ、内部パラメータ、およびカメラIDを仮想視点情報として記憶部23に供給する。
さらに、変換部21は、オブジェクトごとに、そのオブジェクトの範囲を示すオブジェクト範囲情報、そのオブジェクトに対応するカラー画像IDとデプス画像IDなどをオブジェクト情報として生成する。カラー画像IDとは、カラー画像に固有のIDであり、デプス画像IDとはデプス画像に固有のIDである。変換部21は、各オブジェクトのオブジェクト情報を登録したオブジェクトテーブルを生成する。変換部21は、オブジェクトテーブルを記憶部23に供給する。
符号化部22は、変換部21から供給される各仮想カメラの各オブジェクトのカラー画像とデプス画像を符号化する。符号化方式としては、AVC(Advanced Video Coding)方式、HEVC(High Efficiency Video Coding)方式等を採用することができる。符号化部22は、符号化の結果得られる符号化ストリームを記憶部23に供給する。
記憶部23は、変換部21から供給される仮想視点情報およびオブジェクトテーブルと、符号化部22から供給される符号化ストリームとを記憶する。
送信部24は、記憶部23に記憶されている仮想視点情報およびオブジェクトテーブルをメタデータとして読み出し、復号装置13に伝送するとともに、符号化ストリームを読み出し、復号装置13に伝送する。
復号装置13は、受信部31、復号部32、再構成部33、および描画部34により構成される。復号装置13には、表示装置14を視聴するユーザから表示視点のワールド座標系における外部パラメータおよび内部パラメータが入力され、表示視点情報として描画部34に供給される。
復号装置13の受信部31は、符号化装置12の送信部24から伝送されてくる仮想視点情報およびオブジェクトテーブルと符号化ストリームを受信する。受信部31は、仮想視点情報およびオブジェクトテーブルを再構成部33に供給し、符号化ストリームを復号部32に供給する。
復号部32は、受信部31から供給される符号化ストリームを、符号化部22における符号化方式に対応する方式で復号する。復号部32は、その結果得られる各仮想カメラの各オブジェクトのカラー画像とデプス画像を再構成部33に供給する。
再構成部33(オブジェクト生成部)は、オブジェクトテーブル、各仮想カメラの各オブジェクトのカラー画像およびデプス画像、並びに仮想視点情報に基づいて、撮像装置11の画像処理部と同様に、各オブジェクトの3Dデータを再構成(生成)する。再構成部33は、各オブジェクトの3Dデータを描画部34に供給する。
描画部34は、表示視点情報と、再構成部33から供給される各オブジェクトの3Dデータとに基づいて、変換部21と同様に、表示視点において全てのオブジェクトを撮影したときに得られるカラー画像を表示画像として生成する。描画部34は、表示画像を表示装置14に供給する。
表示装置14は、2次元ヘッドマウントディスプレイ(HMD)や2次元モニタなどにより構成される。表示装置14は、再構成部33から供給される表示画像に基づいて表示画像を2次元表示する。
なお、表示装置14は、3次元ヘッドマウントディスプレイや3次元モニタなどにより構成されてもよい。この場合、描画部34は、表示視点情報と各オブジェクトの3Dデータとに基づいて、変換部21と同様に、表示視点のデプス画像を生成し、表示装置14に供給する。表示装置14は、描画部34から供給される表示画像とデプス画像に基づいて表示画像を3次元表示する。
また、図1の例では、再構成部33は、3Dモデルに含まれる全てのオブジェクトの3Dデータを生成したが、3Dモデルに含まれる全てのオブジェクトのうちの、視聴者等により指定された所定のオブジェクトの3Dデータのみを生成するようにしてもよい。
(変換部の構成例)
図2は、図1の変換部21の構成例を示すブロック図である。
図2の変換部21は、オブジェクト決定部51、視点決定部52、カラー画像生成部53、デプス画像生成部54、オブジェクト範囲情報生成部55、およびオブジェクトテーブル生成部56により構成される。
変換部21のオブジェクト決定部51は、図1の撮像装置11から供給される3Dデータに基づいて、フレームごとに、被写体の3Dモデルを1以上のオブジェクトに分割する。また、オブジェクト決定部51は、オブジェクトごとに、そのオブジェクトに固有のIDであるオブジェクトIDを付与する。オブジェクト決定部51は、フレームごとに、各オブジェクトの3DデータとオブジェクトIDを対応付けて、視点決定部52、カラー画像生成部53、およびデプス画像生成部54に供給する。
視点決定部52は、現在のフレームの1つ前のフレームの各オブジェクトの3DデータとオブジェクトIDを対応付けて保持している。また、視点決定部52は、現在のフレームの1つ前のフレームの仮想視点情報を保持している。視点決定部52は、フレームごとに、オブジェクト決定部51から供給される各オブジェクトの3Dデータに基づいて、全てのオブジェクトの中から1つの主要なオブジェクトを選択する。そして、視点決定部52は、オブジェクト決定部51から供給される各オブジェクトの3DデータとオブジェクトIDの対応関係に基づいて、選択された主要なオブジェクトのオブジェクトIDを認識する。
視点決定部52は、認識された主要なオブジェクトのオブジェクトIDと、保持している1つ前のフレームの各オブジェクトの3DデータとオブジェクトIDの対応関係とに基づいて、1つ前のフレームの主要なオブジェクトの3Dデータを読み出す。視点決定部52は、読み出された1つ前のフレームの主要なオブジェクトの3Dデータおよび仮想視点情報と、現在のフレームの主要なオブジェクトの3Dデータとに基づいて、デプス画像生成部54が生成する現在のフレームのデプス画像に対応する複数の仮想カメラの視点を決定する。
具体的には、視点決定部52は、仮想カメラごとに、デプス画像生成部54が生成する現在のフレームのデプス画像上の主要なオブジェクトの位置の時間変化が小さくなるように、1つ前のフレームの仮想カメラの視点を変更し、現在のフレームの仮想カメラの視点に決定する。
視点決定部52は、決定された各視点の仮想カメラの仮想視点情報を生成し、カラー画像生成部53、デプス画像生成部54、および図1の記憶部23に供給する。また、視点決定部52は、現在のフレームの仮想視点情報を保持する。さらに、視点決定部52は、各オブジェクトの3DデータとオブジェクトIDを対応付けて保持する。
カラー画像生成部53は、オブジェクト決定部51から供給される各オブジェクトの3Dデータと、視点決定部52から供給される仮想視点情報とに基づいて、各オブジェクトに対して各仮想カメラのカラー画像を生成する。カラー画像生成部53は、各仮想カメラの各オブジェクトのカラー画像を図1の符号化部22に供給する。また、カラー画像生成部53は、各カラー画像にカラー画像IDを付与する。カラー画像生成部53は、各仮想カメラの各オブジェクトのカラー画像のカラー画像IDと、その仮想カメラのカメラID、および、そのオブジェクトのオブジェクトIDとを対応付けて、オブジェクトテーブル生成部56に供給する。
デプス画像生成部54は、オブジェクト決定部51から供給される各オブジェクトの3Dデータと、視点決定部52から供給される仮想視点情報とに基づいて、各オブジェクトに対して複数の各仮想カメラのデプス画像を生成する。
このデプス画像は、例えば、各画素に対応するオブジェクトと仮想カメラとの奥行き方向の距離zを量子化した値を、その画素の画素値とする画像である。また、距離zの量子化ステップは、デプス画像における距離zの範囲を、デプス画像の画素値のとり得る範囲で除算した値である。
デプス画像生成部54は、オブジェクトごとにデプス画像を生成するため、デプス画像における距離zの範囲の大きさは、オブジェクト全体のデプス画像における距離zの範囲の大きさ以下になる。即ち、オブジェクトごとのデプス画像における距離zの範囲は、そのオブジェクトに適した範囲になる。従って、各オブジェクトのデプス画像の量子化ステップは、オブジェクト全体のデプス画像の量子化ステップに比べて小さくなる。よって、各オブジェクトのデプス画像の精度は、オブジェクト全体のデプス画像内の各オブジェクトの精度に比べて向上する。
デプス画像生成部54は、各仮想カメラの各オブジェクトのデプス画像を図1の符号化部22に供給する。また、デプス画像生成部54は、各デプス画像にデプス画像IDを付与する。デプス画像生成部54は、各仮想カメラの各オブジェクトのデプス画像のデプス画像IDと、その仮想カメラのカメラID、および、そのオブジェクトのオブジェクトIDとを対応付けて、オブジェクトテーブル生成部56に供給する。
また、デプス画像生成部54は、各デプス画像上のオブジェクトの2次元位置の範囲を示す2次元位置情報を生成する。さらに、デプス画像生成部54は、各デプス画像の生成に用いられる距離zの範囲を示す距離zの最小値zminと最大値zmaxを生成する。デプス画像生成部54は、各デプス画像の2次元位置情報、最小値zmin、および最大値zmaxを、そのデプス画像に対応するオブジェクトIDおよびカメラIDに対応付けて、オブジェクト範囲情報生成部55に供給する。
オブジェクト範囲情報生成部55は、オブジェクトIDおよびカメラIDごとに、デプス画像生成部54から供給される2次元位置情報、最小値zmin、および最大値zmaxをオブジェクト範囲情報として生成し、オブジェクトテーブル生成部56に供給する。
オブジェクトテーブル生成部56は、オブジェクトIDおよびカメラIDに対応付けて、そのオブジェクトIDおよびカメラIDに対応するカラー画像ID、デプス画像ID、およびオブジェクト範囲情報を登録したテーブルを生成する。オブジェクトテーブル生成部56は、生成されたテーブルを、オブジェクトに関するテーブルであるオブジェクトテーブルとして、図1の記憶部23に供給する。
以上のように、変換部21は、フレーム間のデプス画像上の主要なオブジェクトの位置の変動が小さくなるように、デプス画像の視点を変更する。従って、変換部21は、主要なオブジェクトが動いている場合であっても、常に略同一の位置に主要なオブジェクトに対応する画素値が存在するデプス画像を生成することができる。その結果、符号化部22によりデプス画像を符号化した際に符号化ストリームに含められる動きベクトルが小さくなり、デプス画像の圧縮率が向上する可能性がある。
(仮想カメラの視点の決定方法の説明)
図3は、図2の視点決定部52による仮想カメラの視点の決定方法を説明する図である。
視点決定部52は、オブジェクト決定部51から供給される複数のオブジェクトの3Dデータに基づいて、複数のオブジェクトのうちの1つを主要なオブジェクトに決定する。具体的には、視点決定部52は、複数のオブジェクトのうち、オブジェクトのバウンディングボックス(Bounding Box)が最も大きいものを、主要なオブジェクトに決定する。図3の例では、主要なオブジェクトはオブジェクト71である。
次に、視点決定部52は、オブジェクト決定部51から供給されるオブジェクト71の3Dデータに基づいて、ワールド座標系上に主要なオブジェクト71を生成する。図3の例では、現在のフレームと1つ前のフレームの仮想カメラのX方向の画角は、角度θである。また、現在のフレームにおいて、1つ前のフレームの所定の仮想カメラのカメラ座標系のx方向(図中右方向)にオブジェクト71が移動し、オブジェクト71の重心71Aのワールド座標系における3次元位置sが3次元位置s´に移動している。カメラ座標系とは、仮想カメラのワールド座標系における3次元位置を原点oとし、その仮想カメラに対する奥行き方向をz方向とするxyz座標である。
この場合、図3のAに示すように、1つ前のフレームの原点oに存在する仮想カメラを、そのまま現在のフレームの仮想カメラとして用いると、その仮想カメラのデプス画像72上のオブジェクト71の位置p1は、x方向に移動して位置p1´になる。
そこで、視点決定部52は、現在のフレームのオブジェクト71の3Dデータに基づいて、オブジェクト71の重心71Aをデプス画像72上に投影する。また、視点決定部52は、現在のフレームより1つ前のフレームのオブジェクト71の3Dデータに基づいて、重心71Aをデプス画像72上に投影する。そして、視点決定部52は、デプス画像72上の1つ前のフレームの重心71Aの位置p1から、現在のフレームの重心71Aの位置p1´へのx方向の並進移動量dを求める。そして、視点決定部52は、現在のフレームのデプス画像の仮想カメラの視点を、原点oからx方向の逆方向に並進移動量dだけ移動した視点aに決定することにより、オブジェクト71のx方向への移動を打ち消す。
その結果、図3のBに示すように、原点oを視点とするデプス画像72上の重心71Aの位置p2と、視点aのデプス画像73上の重心71Aの位置p2´との差分は略0になる。視点決定部52は、他の仮想カメラの視点についても同様に移動させる。
以上のように、視点決定部52は、オブジェクト71の動きに基づいて、その動きを打ち消すように仮想カメラの視点を移動させることにより、デプス画像上の重心71Aの位置の時間変化を小さくする。
(デプス画像生成部の構成例)
図4は、図2のデプス画像生成部54の構成例を示すブロック図である。
図4のデプス画像生成部54は、z範囲算出部81、2次元位置情報算出部82、および画像生成部83により構成される。図2のオブジェクト決定部51から供給される各オブジェクトの3DデータおよびオブジェクトID、並びに視点決定部52から供給される仮想視点情報は、z範囲算出部81、2次元位置情報算出部82、および画像生成部83に供給される。
デプス画像生成部54のz範囲算出部81は、各オブジェクトの3Dデータと仮想視点情報とに基づいて、各仮想カメラの各オブジェクトのデプス画像における最小値zminと最大値zmaxを算出する。z範囲算出部81は、各デプス画像における最小値zminと最大値zmaxを、そのデプス画像に対応するオブジェクトIDおよびカメラIDに対応付けて、図2のオブジェクト範囲情報生成部55に供給する。また、z範囲算出部81は、オブジェクトおよび仮想カメラごとの最小値zminと最大値zmaxを画像生成部83に供給する。
2次元位置情報算出部82は、各オブジェクトの3Dデータと仮想視点情報とに基づいて、各仮想カメラの各オブジェクトのデプス画像上のオブジェクトの2次元位置情報を算出する。2次元位置情報算出部82は、各デプス画像の2次元位置情報を、そのデプス画像に対応するオブジェクトIDおよびカメラIDに対応付けて、図2のオブジェクト範囲情報生成部55に供給する。また、2次元位置情報算出部82は、オブジェクトおよび仮想カメラごとの2次元位置情報を画像生成部83に供給する。
画像生成部83は、各オブジェクトの3Dデータと仮想視点情報とに基づいて、オブジェクトおよび仮想カメラごとに、2次元位置情報算出部82から供給される2次元位置情報が示す範囲の各画素に投影されるオブジェクトの距離zを算出する。画像生成部83は、オブジェクトおよび仮想カメラごとに、z範囲算出部81から供給される最小値zminと最大値zmaxに基づいて各画素の距離zを量子化し、画素値を生成する。画像生成部83は、オブジェクトおよび仮想カメラごとに、デプス画像の2次元位置情報が示す範囲の各画素の画素値を、生成された画素値とし、他の画素の画素値を任意の固定値としたデプス画像を生成し、図1の符号化部22に供給する。
また、画像生成部83は、各デプス画像にデプス画像IDを付与する。そして、画像生成部83は、各仮想カメラの各オブジェクトのデプス画像のデプス画像IDと、その仮想カメラのカメラID、および、そのオブジェクトのオブジェクトIDとを対応付けて、図2のオブジェクトテーブル生成部56に供給する。
(所定の仮想カメラの各オブジェクトのデプス画像の説明)
図5は、図2のデプス画像生成部54により生成される所定の仮想カメラの各オブジェクトのデプス画像を説明する図である。
図5の例では、被写体の3Dモデル90が3つのオブジェクト91乃至93に分割されている。また、所定の仮想カメラの3Dモデル90全体のカラー画像は、カラー画像100である。
この場合、デプス画像生成部54は、オブジェクト91の3Dデータと仮想視点情報に基づいて、カラー画像100上のオブジェクト91の領域に対応する領域の画素値が、オブジェクト91の距離zを表す所定のサイズ(解像度)のデプス画像101を生成する。デプス画像101のオブジェクト91の距離zを画素値が表す画素以外の画素の画素値は、任意の固定値(図5の例では0)である。
同様に、デプス画像生成部54は、オブジェクト92の3Dデータと仮想視点情報に基づいて所定のサイズのデプス画像102を生成し、オブジェクト93の3Dデータと仮想視点情報に基づいて所定のサイズのデプス画像103を生成する。
なお、デプス画像のサイズは、オブジェクトごとに異なるようにしてもよい。この場合、例えば、デプス画像生成部54は、カラー画像100上のオブジェクト91の領域に対応する領域の画素値が、オブジェクト91の距離zを表す、その領域を含む矩形の最小サイズのデプス画像111を生成する。同様に、デプス画像生成部54は、カラー画像100上のオブジェクト91の領域に対応する領域を含む矩形の最小サイズのデプス画像112、および、カラー画像100上のオブジェクト91の領域に対応する領域を含む矩形の最小サイズのデプス画像113を生成する。
この場合、3Dモデル全体のデプス画像を生成する場合に比べて、デプス画像のデータ量を削減することができる。従って、符号化装置12は、デプス画像の伝送量を削減することができる。
(2次元位置情報の説明)
図6は、図2のデプス画像生成部54により生成される2次元位置情報を説明する図である。
図6に示すように、デプス画像130の2次元位置情報は、デプス画像130上のオブジェクト131のuv座標系のu座標の最小値uminおよび最大値umax、並びに、v座標系の最小値vminおよび最大値vmaxである。uv座標系とは、デプス画像の右上を原点oとし、左方向をv方向、下方向をu方向とした2次元座標系である。
(最小値zminと最大値zmaxの説明)
図7は、最小値zminと最大値zmaxを説明する図である。
図7に示すように、オブジェクト151の所定の仮想カメラのデプス画像の画素値の量子化に用いられる最小値zminと最大値zmaxは、その仮想カメラのカメラ座標系におけるオブジェクト151のz座標の最小値と最大値である。
(オブジェクトテーブルの第1の例)
図8は、図2のオブジェクトテーブル生成部56により生成されるオブジェクトテーブルの例を示す図である。
図8に示すように、オブジェクトテーブルでは、カメラIDおよびオブジェクトIDに対応付けて、デプス画像ID、カラー画像ID、およびオブジェクト範囲情報が登録される。
図8の例では、カラー画像およびデプス画像の仮想カメラの数は2つであり、2つの仮想カメラのカメラIDは、それぞれ、0,1である。また、オブジェクトの数は3つであり、3つのオブジェクトのオブジェクトIDは、それぞれ、0,1,2である。従って、カラー画像およびデプス画像の数は、それぞれ、6(=2×3)である。
また、カメラIDが0である仮想カメラの、オブジェクトIDが0,1,2であるオブジェクトのデプス画像のデプス画像IDとカラー画像のカラー画像IDは、0,1,2である。さらに、カメラIDが1である仮想カメラの、オブジェクトIDが0,1,2であるオブジェクトのデプス画像のデプス画像IDとカラー画像のカラー画像IDは、3,4,5である。
復号装置13は、オブジェクトテーブルに登録された各オブジェクト範囲情報と仮想視点情報とに基づいて、各仮想カメラのカメラ座標系における各オブジェクトを含む3次元領域を認識することができる。従って、復号装置13は、仮想視点情報と各仮想カメラのカメラ座標系における各オブジェクトを含む3次元領域とに基づいて、ワールド座標系における各オブジェクトを含む3次元領域を認識することができる。
よって、復号装置13は、オブジェクトごとに、そのオブジェクトの各仮想カメラのデプス画像とカラー画像を用いて、認識されたワールド座標系における3次元領域を処理領域としてオブジェクトを再構成することができる。従って、ワールド座標系における仮想カメラの撮影領域全体を処理領域としてオブジェクトを再構成する場合に比べて、オブジェクトを容易に再構成することができる。
また、復号装置13は、オブジェクトテーブルに各デプス画像IDに対応付けて登録された最小値zminと最大値zmaxに基づいて、そのデプス画像IDのデプス画像の画素値を距離zに逆量子化することができる。
(画像処理システムの処理の説明)
図9は、図1の符号化装置12の符号化処理を説明するフローチャートである。この符号化処理は、例えば、撮像装置11からフレーム単位で3Dデータが供給されたとき、開始される。
図9のステップS11において、符号化装置12の変換部21のオブジェクト決定部51(図2)は、撮像装置11から供給される3Dデータに基づいて、被写体の3Dモデルを1以上のオブジェクトに分割する。また、オブジェクト決定部51は、各オブジェクトにオブジェクトIDを付与する。オブジェクト決定部51は、各オブジェクトの3DデータとオブジェクトIDを、視点決定部52、カラー画像生成部53、およびデプス画像生成部54に供給する。
ステップS12において、視点決定部52は、オブジェクト決定部51から供給される各オブジェクトの3Dデータに基づいて、全てのオブジェクトの中から1つの主要なオブジェクトを選択する主要オブジェクト選択処理を行う。この主要オブジェクト選択処理の詳細は、後述する図10を参照して説明する。
ステップS13において、視点決定部52は、生成するカラー画像およびデプス画像に対応する各仮想カメラの視点を決定する視点決定処理を行う。この視点決定処理の詳細は、後述する図11を参照して説明する。
ステップS14において、カラー画像生成部53は、オブジェクト決定部51から供給される各オブジェクトの3Dデータと、視点決定部52から供給される仮想視点情報とに基づいて、各オブジェクトに対して各仮想カメラのカラー画像を生成する。カラー画像生成部53は、各仮想カメラの各オブジェクトのカラー画像を図1の符号化部22に供給する。また、カラー画像生成部53は、各カラー画像にカラー画像IDを付与する。カラー画像生成部53は、各仮想カメラの各オブジェクトのカラー画像のカラー画像IDと、その仮想カメラのカメラID、および、そのオブジェクトのオブジェクトIDとを対応付けて、オブジェクトテーブル生成部56に供給する。
ステップS15において、デプス画像生成部54のz範囲算出部81(図4)は、各オブジェクトの3Dデータと仮想視点情報とに基づいて、各仮想カメラの各オブジェクトのデプス画像における最小値zminと最大値zmaxを算出する。z範囲算出部81は、各デプス画像における最小値zminと最大値zmaxを、そのデプス画像に対応するオブジェクトIDおよびカメラIDに対応付けて、オブジェクト範囲情報生成部55に供給する。また、z範囲算出部81は、オブジェクトおよび仮想カメラごとの最小値zminと最大値zmaxを画像生成部83に供給する。
ステップS16において、2次元位置情報算出部82は、各オブジェクトの3Dデータと仮想視点情報とに基づいて、各仮想カメラの各オブジェクトのデプス画像上のオブジェクトの2次元位置情報を算出する。2次元位置情報算出部82は、各デプス画像の2次元位置情報を、そのデプス画像に対応するオブジェクトIDおよびカメラIDに対応付けて、オブジェクト範囲情報生成部55に供給する。また、2次元位置情報算出部82は、オブジェクトおよび仮想カメラごとの2次元位置情報を画像生成部83に供給する。
ステップS17において、画像生成部83は、各オブジェクトの3Dデータ、仮想視点情報、並びに、オブジェクトおよび仮想カメラごとの最小値zmin、最大値zmax、および2次元位置情報に基づいて、各仮想カメラの各オブジェクトのデプス画像を生成する。画像生成部83は、各仮想カメラの各オブジェクトのデプス画像を符号化部22に供給する。また、画像生成部83は、各デプス画像にデプス画像IDを付与する。そして、画像生成部83は、各仮想カメラの各オブジェクトのデプス画像のデプス画像IDと、その仮想カメラのカメラID、および、そのオブジェクトのオブジェクトIDとを対応付けて、オブジェクトテーブル生成部56に供給する。
ステップS18において、オブジェクト範囲情報生成部55は、オブジェクトIDおよびカメラIDごとに、2次元位置情報、最小値zmin、および最大値zmaxをオブジェクト範囲情報として生成し、オブジェクトテーブル生成部56に供給する。
ステップS19において、オブジェクトテーブル生成部56は、オブジェクトIDおよびカメラIDに対応付けて、そのオブジェクトIDとカメラIDに対応するカラー画像ID、デプス画像ID、およびオブジェクト範囲情報を登録したオブジェクトテーブルを生成する。オブジェクトテーブル生成部56は、オブジェクトテーブルを記憶部23に供給する。
ステップS20において、符号化部22は、各仮想カメラの各オブジェクトのカラー画像とデプス画像を符号化する。符号化部22は、符号化の結果得られる符号化ストリームを記憶部23に供給する。
ステップS21において、記憶部23は、仮想視点情報、オブジェクトテーブル、および符号化ストリームを記憶する。
ステップS22において、送信部24は、記憶部23に記憶されている仮想視点情報、オブジェクトテーブル、および符号化ストリームを読み出し、復号装置13に伝送する。そして、処理は終了する。
図10は、図9のステップS12の主要オブジェクト選択処理の詳細を説明するフローチャートである。
図10のステップS30において、視点決定部52は、オブジェクト決定部51から各オブジェクトの3DデータおよびオブジェクトIDを取得する。ステップS31において、視点決定部52は、カウント値Pを0に設定する。
ステップS32において、視点決定部52は、オブジェクト決定部51から取得されたオブジェクトIDがカウント値Pであるオブジェクトの3Dデータに基づいて、そのオブジェクトのバウンディングボックスをワールド座標系上に作成する。
ステップS33において、視点決定部52は、ステップS32で作成されたバウンディングボックスのサイズが、最大値MaxSizeより大きいかどうかを判定する。なお、最大値MaxSizeの初期値は0である。従って、まだステップS34の処理が行われていない場合、ステップS33の処理では、ステップS32で作成されたバウンディングボックスのサイズが最大値MaxSizeより大きいと判定される。
ステップS33で、ステップS32で作成されたバウンディングボックスのサイズが、最大値MaxSizeより大きいと判定された場合、処理はステップS34に進む。
ステップS34において、視点決定部52は、ステップS32で作成されたオブジェクトIDがカウント値Pであるオブジェクトのバウンディングボックスのサイズを最大値MaxSizeに設定する。
ステップS35において、視点決定部52は、主要なオブジェクトをオブジェクトIDがカウント値Pであるオブジェクトに設定し、処理をステップS36に進める。
一方、ステップS33で、ステップS32で作成されたバウンディングボックスのサイズが、最大値MaxSizeより大きくはないと判定された場合、処理はステップS36に進む。
ステップS36において、視点決定部52は、カウント値PがオブジェクトIDの最大値であるかどうかを判定する。ステップS36でカウント値PがオブジェクトIDの最大値ではないと判定された場合、即ちまだ全てのオブジェクトに対してステップS32乃至S35の処理が行われていない場合、処理はステップS37に進む。
ステップS37において、視点決定部52は、カウント値Pを1だけインクリメントし、処理をステップS32に戻す。これにより、カウント値PがオブジェクトIDの最大値になるまで、ステップS32乃至S37の処理が繰り返される。
一方、ステップS36でカウント値PがオブジェクトIDの最大値であると判定された場合、即ち全てのオブジェクトに対してステップS32乃至S35の処理が行われた場合、視点決定部52は、現在主要なオブジェクトに設定されているオブジェクトを、最終的な主要なオブジェクトとして選択する。そして、処理は図9のステップS12に戻り、ステップS13に進む。
図11は、図9のステップS13の視点決定処理の詳細を説明するフローチャートである。この視点決定処理は、例えば、仮想カメラごとに行われる。
図11のステップS51において、視点決定部52は、保持している1つ前のフレームの主要なオブジェクトの3Dデータに基づいて、1つ前のフレームの主要なオブジェクトの重心のワールド座標系における3次元位置を算出する。また、視点決定部52は、オブジェクト決定部51から供給された現在のフレーム(処理対象のフレーム)の主要なオブジェクトの3Dデータに基づいて、現在のフレームの主要なオブジェクトの重心のワールド座標系における3次元位置を算出する。
ステップS52において、視点決定部52は、ステップS51で算出された3次元位置と、保持している1つ前のフレームの仮想視点情報とに基づいて、1つ前のフレームと現在のフレームの主要なオブジェクトの重心が投影される、処理対象の仮想カメラのデプス画像上の位置を算出する。
ステップS53において、視点決定部52は、ステップS52で算出された1つ前のフレームの重心の位置から現在のフレームの重心の位置までの移動量だけ、1つ前のフレームの処理対象の仮想カメラの視点を移動させることにより、現在のフレームの処理対象の仮想カメラの視点を決定する。
ステップS54において、視点決定部52は、ステップS53で決定された視点の仮想カメラの外部パラメータ、内部パラメータ、およびカメラIDを生成し、カラー画像生成部53、デプス画像生成部54、および記憶部23に供給する。
ステップS55において、視点決定部52は、ステップS54で生成された外部パラメータ、内部パラメータ、およびカメラIDを保持する。そして、処理は図9のステップS13に戻り、ステップS14に進む。
図12は、図1の復号装置13の復号処理を説明するフローチャートである。この復号処理は、例えば、符号化装置12の送信部24から、フレーム単位で、符号化ストリーム、仮想視点情報、およびオブジェクトテーブルが伝送されてきたとき、開始される。
図12のステップS71において、復号装置13の受信部31は、符号化装置12の送信部24から伝送されてくる仮想視点情報、オブジェクトテーブル、および符号化ストリームを受信する。受信部31は、仮想視点情報およびオブジェクトテーブルを再構成部33に供給し、符号化ストリームを復号部32に供給する。
ステップS72において、復号部32は、受信部31から供給される符号化ストリームを、符号化部22における符号化方式に対応する方式で復号する。復号部32は、その結果得られる各仮想カメラの各オブジェクトのカラー画像とデプス画像を再構成部33に供給する。
ステップS73において、再構成部33は、受信部31から供給されるオブジェクトテーブルの最小値zminと最大値zmaxに基づいて、復号部32から供給される各デプス画像の画素値を逆量子化し、距離zを得る。
ステップS74において、再構成部33は、オブジェクトごとに、オブジェクトテーブルと仮想視点情報に基づいて、そのオブジェクトを含むワールド座標系における3次元領域を認識する。
ステップS75において、再構成部33は、オブジェクトごとに、そのオブジェクトのデプス画像の各画素に対応する距離zおよびカラー画像、並びに仮想視点情報に基づいて、ステップS74で認識された3次元領域にオブジェクトを再構成する。再構成部33は、再構成された各オブジェクトの3Dデータを描画部34に供給する。
ステップS76において、描画部34は、表示視点情報と、再構成部33から供給される各オブジェクトの3Dデータとに基づいて、変換部21と同様に、表示視点において全てのオブジェクトを撮影したときに得られるカラー画像を表示画像として生成する。描画部34は、表示画像を表示装置14に供給する。
以上のように、符号化装置12は、オブジェクトごとにデプス画像を生成する。従って、各デプス画像における距離zの範囲が、3Dモデル全体のデプス画像における距離zの範囲以下になる。よって、3Dモデルのデプス画像の精度が、3Dモデル全体のデプス画像を生成する場合に比べて向上する。
また、符号化装置12は、各オブジェクトのオブジェクト範囲情報を生成する。従って、復号装置13は、オブジェクトごとに、そのオブジェクトのオブジェクト範囲情報と仮想視点情報に基づいて、ワールド座標系におけるオブジェクトを含む3次元領域を認識することができる。よって、復号装置13は、オブジェクトごとに、そのオブジェクトを含む3次元領域を処理領域として、そのオブジェクトを再構成することができる。これにより、処理領域がワールド座標系の仮想カメラの撮影領域全体である場合に比べて、オブジェクトを再構成する処理の負荷が軽減される。
<第2実施の形態>
(変換部の構成例)
本開示を適用した画像処理システムの第2実施の形態の構成は、変換部21の構成、および、オブジェクトテーブルの構成を除いて、図1の画像処理システム10の構成と同一である。従って、以下では、変換部21以外の説明については適宜省略する。
図13は、本開示を適用した画像処理システムの第2実施の形態における変換部21の構成例を示すブロック図である。
図13に示す構成のうち、図2の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図13の変換部21の構成は、視点決定部52、デプス画像生成部54、オブジェクト範囲情報生成部55、オブジェクトテーブル生成部56の代わりに、視点決定部170、デプス画像生成部171、オブジェクト範囲情報生成部172、オブジェクトテーブル生成部173が設けられる点が、図2の構成と異なる。図13の変換部21は、各オブジェクトのバウンディングボックスのワールド座標系における範囲を示す情報をオブジェクト範囲情報として生成する。
具体的には、図13の変換部21の視点決定部170は、図2の視点決定部52と同様に、図10の主要オブジェクト選択処理と図11の視点決定処理を行う。視点決定部170は、図10のステップS32の処理によりワールド座標系上に作成された各オブジェクトのバウンディングボックスのX座標、Y座標、およびZ座標それぞれの最小値と最大値と、そのオブジェクトのオブジェクトIDを対応付けて、オブジェクト範囲情報生成部172に供給する。
デプス画像生成部171は、オブジェクト決定部51から供給される各オブジェクトの3Dデータと、視点決定部52から供給される仮想視点情報とに基づいて、各オブジェクトに対して各仮想カメラのデプス画像を生成する。デプス画像生成部171は、各仮想カメラの各オブジェクトのデプス画像を図1の符号化部22に供給する。また、デプス画像生成部171は、各デプス画像にデプス画像IDを付与する。デプス画像生成部171は、各仮想カメラの各オブジェクトのデプス画像のデプス画像IDと、その仮想カメラのカメラID、および、そのオブジェクトのオブジェクトIDとを対応付けて、オブジェクトテーブル生成部173に供給する。
オブジェクト範囲情報生成部172は、視点決定部170から供給される各オブジェクトのX座標の最小値Xminと最大値Xmax、Y座標の最小値Yminと最大値Ymax、およびZ座標の最小値Zminと最大値Zmaxを、各オブジェクトのオブジェクト範囲情報として生成する。オブジェクト範囲情報生成部172は、各オブジェクトのオブジェクト範囲情報と、そのオブジェクトのオブジェクトIDを対応付けて、オブジェクトテーブル生成部173に供給する。
オブジェクトテーブル生成部173は、オブジェクトIDおよびカメラIDに対応付けて、そのオブジェクトIDおよびカメラIDに対応するカラー画像IDとデプス画像IDを登録したIDテーブルを生成する。また、オブジェクトテーブル生成部173は、オブジェクト範囲情報生成部172から供給されるオブジェクトIDとオブジェクト範囲情報を対応付けて登録した範囲テーブルを生成する。オブジェクトテーブル生成部173は、IDテーブルと範囲テーブルをオブジェクトテーブルとして、図1の記憶部23に供給する。
(オブジェクトのバウンディングボックスの例)
図14は、図13の視点決定部170により生成されるオブジェクトのバウンディングボックスの例を示す図である。
図14に示すように、オブジェクト191のバウンディングボックス192は、オブジェクトに接するように生成された、例えば、X方向、Y方向、およびZ方向のそれぞれに平行な2辺を有する直方体(立方体を含む)である。バウンディングボックス192のX座標の最小値Xminと最大値Xmax、Y座標の最小値Yminと最大値Ymax、およびZ座標の最小値Zminと最大値Zmaxは、オブジェクト191のオブジェクト範囲情報とされる。
(オブジェクトテーブルの例)
図15は、図13のオブジェクトテーブル生成部173により生成されるオブジェクトテーブルの例を示す図である。
なお、図15の例のカメラID、オブジェクトID、デプス画像ID、およびカラー画像IDは、図8の例と同一である。
図15に示すように、オブジェクトテーブル生成部173により生成されるオブジェクトテーブルは、図15のAのIDテーブルと、図15のBの範囲テーブルとから構成される。
図15のAのIDテーブルは、オブジェクト範囲情報が登録されない点を除いて、図8のオブジェクトテーブルと同様である。即ち、図15のAのIDテーブルには、カメラIDおよびオブジェクトIDに対応付けて、デプス画像IDとカラー画像IDが登録される。
図15のBの範囲テーブルには、オブジェクトIDに対応付けて、そのオブジェクトIDのオブジェクトのバウンディングボックスの最小値Xminと最大値Xmax、最小値Yminと最大値Ymax、および最小値Zminと最大値Zmaxが、オブジェクト範囲情報として登録される。
復号装置13は、範囲テーブルに登録された各オブジェクト範囲情報に基づいて、ワールド座標系における各オブジェクトのバウンディングボックスの3次元領域を認識することができる。また、復号装置13は、IDテーブルに各オブジェクトIDに対応付けて登録されたカラー画像IDとデプス画像IDに基づいて、各オブジェクトのカラー画像とデプス画像を認識することができる。
従って、復号装置13は、オブジェクトごとに、そのオブジェクトのデプス画像とカラー画像を用いて、認識されたワールド座標系における3次元領域を処理領域としてオブジェクトを再構成することができる。よって、ワールド座標系における仮想カメラの撮影領域全体を処理領域としてオブジェクトを再構成する場合に比べて、オブジェクトを容易に再構成することができる。
また、復号装置13は、範囲テーブルに登録された各オブジェクト範囲情報と仮想視点情報とに基づいて、各デプス画像における距離zの最小値zminと最大値zmaxを算出することができる。従って、復号装置13は、デプス画像ごとに、算出された最小値zminと最大値zmaxに基づいて、デプス画像の画素値を距離zに逆量子化することができる。
(画像処理システムの処理の説明)
図16は、本開示を適用した画像処理システムの第2実施の形態における符号化装置12の符号化処理を説明するフローチャートである。この符号化処理は、例えば、撮像装置11からフレーム単位で3Dデータが供給されたとき、開始される。
図16のステップS91乃至S94の処理は、図9のステップS11乃至S14の処理と同様であるので、説明は省略する。
ステップS95において、デプス画像生成部171は、オブジェクト決定部51から供給される各オブジェクトの3Dデータと、視点決定部52から供給される仮想視点情報とに基づいて、各オブジェクトに対して各仮想カメラのデプス画像を生成する。デプス画像生成部171は、各仮想カメラの各オブジェクトのデプス画像を符号化部22に供給する。また、デプス画像生成部171は、各デプス画像にデプス画像IDを付与する。デプス画像生成部171は、各仮想カメラの各オブジェクトのデプス画像のデプス画像IDと、その仮想カメラのカメラID、および、そのオブジェクトのオブジェクトIDとを対応付けて、オブジェクトテーブル生成部173に供給する。
ステップS96において、オブジェクト範囲情報生成部172は、ステップS92に処理により作成された各オブジェクトのバウンディングボックスの最小値Xminと最大値Xmax、最小値Yminと最大値Ymax、および最小値Zminと最大値Zmaxを、各オブジェクトのオブジェクト範囲情報として生成する。オブジェクト範囲情報生成部172は、各オブジェクトのオブジェクト範囲情報と、そのオブジェクトのオブジェクトIDを対応付けて、オブジェクトテーブル生成部173に供給する。
ステップS97において、オブジェクトテーブル生成部173は、IDテーブルと範囲テーブルをオブジェクトテーブルとして生成し、記憶部23に供給する。
ステップS98乃至S100の処理は、図9のステップS20乃至S22の処理と同様であるので、説明は省略する。
なお、第1および第2実施の形態では、全てのオブジェクトに対して同一の仮想視点情報が決定されたが、オブジェクトごとに仮想視点情報が決定されるようにしてもよい。この場合、視点決定部52は、オブジェクトごとに、そのオブジェクトの現在のフレームの3Dデータと、1つ前のフレームの3Dデータおよび仮想視点情報とに基づいて、各視点のデプス画像上のオブジェクトの位置の時間変化が小さくなるように、現在のフレームのデプス画像の視点を決定する。
また、視点決定部52は、複数のオブジェクトのうち、オブジェクトを構成するポリゴンの面(face)数が最も多いものを主要なオブジェクトに決定するようにしてもよい。
<第3実施の形態>
(本開示を適用したコンピュータの説明)
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図17は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータ200において、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、及びドライブ210が接続されている。
入力部206は、キーボード、マウス、マイクロフォンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア211を駆動する。
以上のように構成されるコンピュータ200では、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ200(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータ200では、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
なお、コンピュータ200が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
<応用例>
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
図18は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図18に示した例では、車両制御システム7000は、駆動系制御ユニット7100、ボディ系制御ユニット7200、バッテリ制御ユニット7300、車外情報検出ユニット7400、車内情報検出ユニット7500、及び統合制御ユニット7600を備える。これらの複数の制御ユニットを接続する通信ネットワーク7010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)又はFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク7010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信I/Fを備える。図18では、統合制御ユニット7600の機能構成として、マイクロコンピュータ7610、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660、音声画像出力部7670、車載ネットワークI/F7680及び記憶部7690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/F及び記憶部等を備える。
駆動系制御ユニット7100は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット7100は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット7100は、ABS(Antilock Brake System)又はESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。
駆動系制御ユニット7100には、車両状態検出部7110が接続される。車両状態検出部7110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット7100は、車両状態検出部7110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
ボディ系制御ユニット7200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット7200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット7200には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット7200は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
バッテリ制御ユニット7300は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池7310を制御する。例えば、バッテリ制御ユニット7300には、二次電池7310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット7300は、これらの信号を用いて演算処理を行い、二次電池7310の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
車外情報検出ユニット7400は、車両制御システム7000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット7400には、撮像部7410及び車外情報検出部7420のうちの少なくとも一方が接続される。撮像部7410には、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部7420には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム7000を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサのうちの少なくとも一つが含まれる。
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)装置のうちの少なくとも一つであってよい。これらの撮像部7410及び車外情報検出部7420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
ここで、図19は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
なお、図19には、それぞれの撮像部7910,7912,7914,7916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部7910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部7912,7914の撮像範囲を示し、撮像範囲dは、リアバンパ又はバックドアに設けられた撮像部7916の撮像範囲を示す。例えば、撮像部7910,7912,7914,7916で撮像された画像データが重ね合わせられることにより、車両7900を上方から見た俯瞰画像が得られる。
車両7900のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7922,7924,7926,7928,7930は、例えば超音波センサ又はレーダ装置であってよい。車両7900のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7926,7930は、例えばLIDAR装置であってよい。これらの車外情報検出部7920〜7930は、主として先行車両、歩行者又は障害物等の検出に用いられる。
図18に戻って説明を続ける。車外情報検出ユニット7400は、撮像部7410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット7400は、接続されている車外情報検出部7420から検出情報を受信する。車外情報検出部7420が超音波センサ、レーダ装置又はLIDAR装置である場合には、車外情報検出ユニット7400は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット7400は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
また、車外情報検出ユニット7400は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部7410により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット7400は、異なる撮像部7410により撮像された画像データを用いて、視点変換処理を行ってもよい。
車内情報検出ユニット7500は、車内の情報を検出する。車内情報検出ユニット7500には、例えば、運転者の状態を検出する運転者状態検出部7510が接続される。運転者状態検出部7510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット7500は、運転者状態検出部7510から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット7500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
統合制御ユニット7600は、各種プログラムにしたがって車両制御システム7000内の動作全般を制御する。統合制御ユニット7600には、入力部7800が接続されている。入力部7800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット7600には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。入力部7800は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム7000の操作に対応した携帯電話又はPDA(Personal Digital Assistant)等の外部接続機器であってもよい。入力部7800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。さらに、入力部7800は、例えば、上記の入力部7800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット7600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部7800を操作することにより、車両制御システム7000に対して各種のデータを入力したり処理動作を指示したりする。
記憶部7690は、マイクロコンピュータにより実行される各種プログラムを記憶するROM(Read Only Memory)、及び各種パラメータ、演算結果又はセンサ値等を記憶するRAM(Random Access Memory)を含んでいてもよい。また、記憶部7690は、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
汎用通信I/F7620は、外部環境7750に存在する様々な機器との間の通信を仲介する汎用的な通信I/Fである。汎用通信I/F7620は、GSM(Global System of Mobile communications)、WiMAX、LTE(Long Term Evolution)若しくはLTE−A(LTE−Advanced)などのセルラー通信プロトコル、又は無線LAN(Wi−Fi(登録商標)ともいう)、Bluetooth(登録商標)などのその他の無線通信プロトコルを実装してよい。汎用通信I/F7620は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)へ接続してもよい。また、汎用通信I/F7620は、例えばP2P(Peer To Peer)技術を用いて、車両の近傍に存在する端末(例えば、運転者、歩行者若しくは店舗の端末、又はMTC(Machine Type Communication)端末)と接続してもよい。
専用通信I/F7630は、車両における使用を目的として策定された通信プロトコルをサポートする通信I/Fである。専用通信I/F7630は、例えば、下位レイヤのIEEE802.11pと上位レイヤのIEEE1609との組合せであるWAVE(Wireless Access in Vehicle Environment)、DSRC(Dedicated Short Range Communications)、又はセルラー通信プロトコルといった標準プロトコルを実装してよい。専用通信I/F7630は、典型的には、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信、車両と家との間(Vehicle to Home)の通信及び歩車間(Vehicle to Pedestrian)通信のうちの1つ以上を含む概念であるV2X通信を遂行する。
測位部7640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部7640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、PHS若しくはスマートフォンといった端末から位置情報を取得してもよい。
ビーコン受信部7650は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部7650の機能は、上述した専用通信I/F7630に含まれてもよい。
車内機器I/F7660は、マイクロコンピュータ7610と車内に存在する様々な車内機器7760との間の接続を仲介する通信インタフェースである。車内機器I/F7660は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)又はWUSB(Wireless USB)といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器I/F7660は、図示しない接続端子(及び、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(High-Definition Multimedia Interface)、又はMHL(Mobile High-definition Link)等の有線接続を確立してもよい。車内機器7760は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は車両に搬入され若しくは取り付けられる情報機器のうちの少なくとも1つを含んでいてもよい。また、車内機器7760は、任意の目的地までの経路探索を行うナビゲーション装置を含んでいてもよい。車内機器I/F7660は、これらの車内機器7760との間で、制御信号又はデータ信号を交換する。
車載ネットワークI/F7680は、マイクロコンピュータ7610と通信ネットワーク7010との間の通信を仲介するインタフェースである。車載ネットワークI/F7680は、通信ネットワーク7010によりサポートされる所定のプロトコルに則して、信号等を送受信する。
統合制御ユニット7600のマイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム7000を制御する。例えば、マイクロコンピュータ7610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット7100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ7610は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行ってもよい。また、マイクロコンピュータ7610は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。
マイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、車両と周辺の構造物や人物等の物体との間の3次元距離情報を生成し、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ7610は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
音声画像出力部7670は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図18の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
なお、図18に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
なお、図1乃至図16を用いて説明した本実施形態に係る画像処理システム10の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
以上説明した車両制御システム7000において、図1乃至図16を用いて説明した本実施形態に係る画像処理システム10は、図18に示した応用例の車両制御システム7000に適用することができる。例えば、画像処理システム10の撮像装置11は、撮像部7410に相当し、符号化装置12と復号装置13は一体化されて、統合制御ユニット7600のマイクロコンピュータ7610と記憶部7690に相当し、表示装置14は、表示部7720に相当する。
また、図1乃至図16を用いて説明した画像処理システム10の少なくとも一部の構成要素は、図18に示した統合制御ユニット7600のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、図1乃至図16を用いて説明した画像処理システム10が、図18に示した車両制御システム7000の複数の制御ユニットによって実現されてもよい。
本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
また、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
なお、本開示は、以下のような構成もとることができる。
(1)
3Dモデルに含まれる各オブジェクトに対して複数の視点のデプス画像を生成するデプス画像生成部
を備える画像処理装置。
(2)
前記デプス画像上の前記オブジェクトの範囲と、前記デプス画像に対応する視点と前記オブジェクトとの奥行き方向の距離の範囲とを示すオブジェクト範囲情報を生成するオブジェクト範囲情報生成部
をさらに備える
前記(1)に記載の画像処理装置。
(3)
3D座標系における前記オブジェクトの範囲を示すオブジェクト範囲情報を生成するオブジェクト範囲情報生成部
をさらに備える
前記(1)に記載の画像処理装置。
(4)
時系列の前記3Dモデルに基づいて、各視点の前記デプス画像上の所定のオブジェクトの位置の時間変化が小さくなるように、前記複数の視点を決定する視点決定部
をさらに備える
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(5)
前記オブジェクトごとに、時系列の前記オブジェクトに基づいて、各視点の前記デプス画像上の前記オブジェクトの位置の時間変化が小さくなるように、前記複数の視点を決定する視点決定部
をさらに備える
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(6)
画像処理装置が、
3Dモデルに含まれる各オブジェクトに対して複数の視点のデプス画像を生成するデプス画像生成ステップ
を含む画像処理方法。
(7)
3Dモデルに含まれるオブジェクトに対する複数の視点のデプス画像に基づいて、前記オブジェクトを生成するオブジェクト生成部
を備える画像処理装置。
(8)
前記オブジェクト生成部は、前記デプス画像上の前記オブジェクトの範囲と、前記デプス画像に対応する視点と前記オブジェクトとの奥行き方向の距離の範囲とを示すオブジェクト範囲情報に基づいて、前記オブジェクトを生成する
ように構成された
前記(7)に記載の画像処理装置。
(9)
前記オブジェクト生成部は、3D座標系における前記オブジェクトの範囲を示すオブジェクト範囲情報に基づいて、前記オブジェクトを生成する
前記(7)に記載の画像処理装置。
(10)
前記複数の視点は、時系列の前記3Dモデルに基づいて、各視点の前記デプス画像上の前記3Dモデルに含まれる所定のオブジェクトの位置の時間変化が小さくなるように決定される
ように構成された
前記(7)乃至(9)のいずれかに記載の画像処理装置。
(11)
前記複数の視点は、時系列の前記オブジェクトに基づいて、各視点の前記デプス画像上の前記オブジェクトの位置の時間変化が小さくなるように決定される
ように構成された
前記(7)乃至(10)のいずれかに記載の画像処理装置。
(12)
前記オブジェクトは、前記3Dモデルに含まれる全てのオブジェクトのうちの所定のオブジェクトである
ように構成された
前記(7)乃至(11)のいずれかに記載の画像処理装置。
(13)
画像処理装置が、
3Dモデルに含まれるオブジェクトに対する複数の視点のデプス画像に基づいて、前記オブジェクトを生成するオブジェクト生成ステップ
を含む画像処理方法。