以下、図面を参照しつつ本発明の実施の形態について説明する。
<1.第1の実施の形態>
<1−1.構成>
図1は、第1の実施の形態における画像処理システム100の構成を示す図である。画像処理システム100は、車両1(本実施の形態では、自動車)に搭載され、車両1の周辺領域を示す画像を生成し、車室内に設置されたディスプレイに表示する機能を有する。画像処理システム100のユーザとなる車両1のドライバは、この画像処理システム100を利用して、車両1周辺の様子を車室内から確認することができる。
画像処理システム100は、画像処理装置10及び表示装置20を備える。画像処理装置10は、入力された撮影画像を用いて各種の画像処理を行い、後述する表示装置20に表示するための画像を生成する。また、画像処理装置10は、複数のカメラで構成される撮影部40を備えている。この撮影部40は、車両1の周辺を撮影して取得した画像を画像処理装置10の本体部30へ送信する。
撮影部40の複数のカメラはそれぞれ、レンズと撮像素子とを備え、車両1の周辺を示す撮影画像を電子的に取得する。複数のカメラは、フロントカメラ40F、リアカメラ40B、左サイドカメラ40L、及び右サイドカメラ40Rを含む。これら4つのカメラ40は、車両1において互いに異なる位置に配置され、車両1の周辺の異なる方向を撮影する。
図2は、カメラ40F,40B,40L,40Rがそれぞれ撮影する方向を示す図である。フロントカメラ40Fは、車両1の前端に設けられ、その光軸40Faは車両1の直進方向に向けられる。リアカメラ40Bは、車両1の後端に設けられ、その光軸40Baは車両1の直進方向の逆方向に向けられる。左サイドカメラ40Lは、左側の左サイドミラーMLに設けられ、その光軸40Laは車両1の左側方(直進方向の直交方向)に向けられる。また、右サイドカメラ40Rは、右側の右サイドミラーMRに設けられ、その光軸40Raは車両1の右側方(直進方向の直交方向)に向けられる。
これらのカメラ40F,40B,40L,40Rのレンズは、魚眼レンズ等の広角レンズが採用され、180度以上の画角θを有する。このため、4つのカメラ40を利用し、車両1の全周囲を撮影することが可能である。
図1に戻り、画像処理システム100の構成の説明を行う。表示装置20は、画像を表示する液晶等の表示部20a、及びユーザの入力操作を検知する操作部20bを備え、画像処理装置10で生成された画像の表示やユーザの入力操作の制御を行う。表示装置20は、ドライバが車両1の運転席に着座した状態で表示部20aを視認できる位置に配置される。
画像処理装置10は、各種の画像処理が可能な電子装置であり、本体部30、前述の撮影部40、及び操作スイッチ50を備えている。
本体部30は、画像取得部31、画像処理部32、画像出力部33、制御部34、記憶部35、カード読取部36、及び信号受信部37を備える。
画像取得部31は、4つのカメラ40F,40B,40L,40Rでそれぞれ得られた撮影画像を取得する。画像取得部31は、アナログの撮影画像をデジタルの撮影画像に変換する等の画像処理機能を有する。画像取得部31は、取得した撮影画像に所定の画像処理を行い、処理後の撮影画像を画像処理部32に入力する。
画像処理部32は、撮影画像に対して各種の画像処理を行うための画像処理を行うハードウェア回路である。画像処理部32は、仮想視点からみた車両1周辺の様子を示す合成画像を生成する機能として画像生成部32aを有している。
画像生成部32aは、複数のカメラ40で取得された複数の撮影画像を合成し、仮想視点からみた車両1周辺の様子を示す合成画像を生成する。また、画像生成部32aは、生成した合成画像に対し、車両1の車体や車室の画像を合成画像に重畳する処理を行う。仮想視点は、代表的には、車両1の外部の位置から車両1を俯瞰する俯瞰視点、及び、車両1に乗車したドライバの視点に相当する位置から外部をみるドライバ視点などである。画像生成部32aは、仮想視点の方向を連続的に変化させ、連続表示により車両1の周辺を移動するように示す複数の合成画像を生成することができる。画像生成部32aが合成画像を生成する手法については後に詳述する。
画像出力部33は、合成画像等の表示すべき画像を表示装置20に出力する。これにより、画像が出力された表示装置20に当該画像が表示される。
制御部34は、例えば、マイクロコンピュータであり、画像処理装置10の全体を統括的に制御する。制御部34は、CPU、RAM、及びROMを備える。制御部34の各種の機能は、記憶部35に記憶されたプログラムに従ってCPUが演算処理を行うことで実現される。また、制御部34は、プログラムに従って実現される機能として開始判定部34a、起点決定部34b、領域決定部34c、及び画像制御部34dを備える。
開始判定部34aは、車両1の状態に基づき、仮想視点の方向を連続的に変化させる処理を開始するための条件が成立したか否かを判定する。起点決定部34bは、車両1の状態に応じ、仮想視点の方向を連続的に変化させる際の変化の開始方向、すなわち起点方向を決定する。領域決定部34cは、車両1の状態に応じ、仮想視点の方向を連続的に変化させる際の変化の終点方向、及び起点方向から終点方向へ向けた仮想視点の変化方向を決定する。なお、起点決定部34bによる起点方向、及び領域決定部34cによる終点方向並びに変化方向の3つの方向が決定されることにより、複数の合成画像によって車両1周辺の一部を移動するように示すべき領域が特定される。画像制御部34dは、画像取得部31、画像処理部32、及び画像出力部33の制御を行う。
記憶部35は、例えば、フラッシュメモリ等の不揮発性メモリであり、各種の情報を記憶する。記憶部35は、視点データ35a、運転席データ35b、起点データ35c、終点データ35d、変化データ35e、ファームウェアとしてのプログラム35f、及び、制御部34の制御に用いる各種データを記憶する。視点データ35aは、車両1を俯瞰した位置、及び運転席に着座したドライバの視点位置を示すデータであり、合成画像を生成する際に設定される仮想視点の位置を規定するデータとなる。運転席データ35bは、画像処理システム100が設置される車両1の運転席の位置を示すデータである。すなわち、運転席が車両1の右側(いわゆる右ハンドル)の場合は「右」、車両1の左側(いわゆる左ハンドル)の場合は「左」を示すデータである。この運転席データ35bは、画像処理システム100が車両1に設置された際、又は画像処理システム100が設置後最初に起動された際に、ユーザ等により入力されて記憶部35に記憶され、画像生成部32aが合成画像を生成する際に制御部34により参照される。起点データ35cは、仮想視点の起点方向を角度で示すデータであり、仮想視点の方向を連続的に変化させる際の変化の開始点を示すデータとなる。終点データ35dは、仮想視点の終点方向を角度で示すデータであり、仮想視点の方向を連続的に変化させる際の変化の終了点を示すデータとなる。変化データ35eは、仮想視点の方向を起点方向から終点方向へ向けて変化させる際の変化の方向を示すデータである。起点データ35c、終点データ35d、及び変化データ35eのいずれも、車両1の状態に応じた方向を示すデータである。
カード読取部36は、メモリーカードMCが挿入され、メモリーカードMCに記憶されたデータを読み取るカードスロットである。カード読取部36は、読み取ったデータを記憶部35へ送信する。
信号受信部37は、他の装置からの信号を受信し、制御部34へ送信する。信号受信部37は、受信した信号を制御部34に入力する。信号受信部37は、表示装置20の操作部20b、後述の操作スイッチ50、シフトセンサ60、及びIGスイッチ70から送信される各信号を受信する。
操作スイッチ50は、ユーザの操作を受け付ける操作部材である。操作スイッチ50は、画像処理装置10に一体として備えられる。また、車両のステアリングホイールの一部として設けられてもよい。操作スイッチ50がユーザに操作された場合、操作内容を示す操作信号が信号受信部37を介して制御部34へ入力される。
シフトセンサ60は、「Parking」、「Reverse」、「Neutral」「Drive」等のシフトポジションを検知し、現在入力されているシフトポジションの位置データを信号受信部37へ出力する。
IGスイッチ70は、車両1の駆動システムが起動する際にドライバによりオンとされるスイッチである。ドライバがIGスイッチ70をオンにすると、IGスイッチ70は信号受信部37へオン信号を送信する。IGスイッチ70はシリンダ形状の機械的なスイッチ機構の他、電子的にオンとオフを検知するボタンが含まれる。
<1−2.合成画像の生成>
次に、画像生成部32aが、車両1周辺を示す合成画像を生成する手法について説明する。図3は、画像生成部32aが合成画像を生成する手法を説明する図である。
フロントカメラ40F、リアカメラ40B、左サイドカメラ40L、及び、右サイドカメラ40Rのそれぞれで撮影が行われると、車両1の前方、後方、左側方、及び、右側方をそれぞれ示す4つの画像PF,PB,PL,PRが取得される。これら4つの画像PF,PB,PL,PRには、車両1の全周囲のデータが含まれている。
画像生成部32aは、まず、これら4つの画像PF,PB,PL,PRに含まれるデータ(各画素の値)を、仮想的な三次元空間における立体曲面である投影面TSに投影する。投影面TSは、例えば、略半球状(お椀形状)をしている。この投影面TSの中心部分(お椀の底部分)は、車両1の位置として定められている。また、投影面TSの中心以外の部分は、画像PF,PB,PL,PRのいずれかと対応付けられている。
画像生成部32aは、この投影面TSの中心以外の部分に、画像PF,PB,PL,PRに含まれるデータを投影する。画像生成部32aは、投影面TSにおいて車両1の前方に相当する領域に、フロントカメラ40Fの画像PFのデータを投影する。また、画像生成部32aは、投影面TSにおいて車両1の後方に相当する領域に、リアカメラ40Bの画像PBのデータを投影する。さらに、画像生成部32aは、投影面TSにおいて車両1の左側方に相当する領域に左サイドカメラ40Lの画像PLのデータを投影し、投影面TSにおいて車両1の右側方に相当する領域に右サイドカメラ40Rの画像PRのデータを投影する。
このように投影面TSの各部分にデータを投影すると、次に、画像生成部32aは、車両1の外観及び車室内部の三次元形状を示すポリゴンのモデルを仮想的に構成する。この車両1のモデルは、投影面TSが設定される三次元空間において、車両1の位置と定められた投影面TSの中心部分に配置される。
次に、画像生成部32aは、三次元空間に対して仮想視点の位置VPを設定する。画像生成部32aは、三次元空間における任意の視点位置(仮想視点の位置VP)に任意の視野方向(仮想視点の方向VD)に向けて仮想視点を設定できる。そして、画像生成部32aは、投影面TSのうち、設定した仮想視点の位置VPからみて所定の視野角に含まれる領域を画像として切り出す。また、画像生成部32aは、設定した仮想視点の位置VPに応じてポリゴンのモデルに関してレンダリングを行い、その結果となる二次元の車両像PGを、切り出した画像に対して重畳する。これにより、画像生成部32aは、仮想視点の位置VPから仮想視点の方向VDをみた車両1の外観又は車室内、及び車両1の周辺の領域を示す合成画像CPを生成する。
例えば図に示すように、視点位置を車両1の直上、視野方向を直下とした仮想視点VPaを設定した場合には、車両1及び車両1の周辺の領域を俯瞰する合成画像CPaが生成される。また、視点位置を車両1の右後方、視野方向を車両1の前方とした仮想視点VPbを設定した場合には、車両1の右後方からその周辺全体を見渡すように、車両1及び車両1の周辺の領域を示す合成画像CPbが生成される。また、視点位置を車両1の運転席、視野方向を車両1の直進方向とした仮想視点VPcを設定した場合には、車両1の車室内及び車両1の周辺の領域を示す合成画像CPaが生成される。
<1−3.仮想視点の方向の変化>
画像処理装置10は、車両1の状態に応じてこのような仮想視点の方向VDを連続的に変化させ、これにより生成した複数の合成画像が示す範囲が車両1の周辺を連続的に移動するよう表示する。合成画像にドライバが運転する際に注意すべき車両1の周辺箇所を含めることで、ドライバは、車両1の状態に応じて確認すべき方向から優先的に車両周辺を確認することができる。
なお、車両1の状態とは、例えば運転席の位置やシフトのポジションが示す進行方向等である。運転席の位置や車両1の進行方向等により、ドライバが運転する際に優先的に注意すべき車両1周辺の箇所が異なるからである。例えば、右側運転席ではドライバは車両左側が見難いため、車両左側箇所に特に注意を要する。また、「Drive」のシフトポジションにおいて車両1の進行方向が前方の場合には前方箇所、「Rverse」のシフトポジションにおいて車両1の進行方向が後方の場合には後方箇所にドライバは注意を要する。さらに、このような車両1の状態には、図示しないウインカースイッチ(方向指示器)の状態や、ステアリングの回転状態、ナビゲーションシステムによる経路案内状態の他、車両1の周囲の明るさ、降雨や積雪による天候状態も含まれる。すなわち、車両1の状態は、車両1が進行しようとする状態、ドライバが車両1を操作しようとする状態、及び、車両1の周囲の状態を含む。これらによっても、ドライバが運転する際に優先的に注意すべき車両1周辺の箇所が異なるからである。
図4は、車両1が前進する際の仮想視点の方向VDを変化させる範囲を説明する図である。図に示す車両1は運転席位置が右側、いわゆる右ハンドルの車両である。以下、特に断らない限り、図に示される車両1の運転席位置は右側である。
まず、画像生成部32aが、仮想視点の位置VPを決定する。図4の例では、仮想視点の位置VPは、車両1の運転席に着座したドライバーの視点に相当する位置に設定されている。この仮想視点の高さは、運転席に着座したドライバの一般的な目線の高さに基いて決定される。
次に、起点決定部34bが、運転席が右側かつシフトポジションが「Drive」である車両1の状態において設定されるべき起点方向ODを記憶部35の起点データ35cから読み出して設定する。なお、起点方向ODは、複数の合成画像が連続表示される際に、最初に表示される方向、すなわち最初に設定される仮想視点の方向VDを示す。このような車両1の状態において、起点方向ODは、運転席位置から前進方向DFの右側30[°]の方向、すなわちフロントフェンダ右側箇所よりドライバから見て外側(右側)となる方向へ設定される。起点方向ODが前進方向DFの右側30[°]の方向へ設定されることで、車両1を前進させる際に注意を要するフロントフェンダ右側箇所を示す合成画像から優先的に表示することができるからである。なお、車両1の前進方向DFは、運転席に着座したドライバの位置から見た車両1の進行方向である。
次に、領域決定部34cは、運転席が右側かつシフトポジションが「Drive」である車両1の状態において設定されるべき終点方向FD及び変化方向MDを記憶部35の終点データ35d及び変化データ35eから読み出して設定する。なお、終点方向FDは複数の合成画像が連続表示される際に、最後に表示される方向、すなわち最後に設定される仮想視点の方向VDを示す。また、変化方向MDは、起点方向ODから終点方向FDへ向けた仮想視点の方向を変化させる方向を示す。起点方向OD、終点方向FD、及び変化方向MDが設定されることで、仮想視点の方向が変化する領域、すなわち連続表示される複数の合成画像が動画的に示すべき車両1の周辺の領域である変化領域PXが設定される。このような車両1の状態において、変化領域PXは、前進方向DFの右側30[°]から前進方向DFの左側60[°]であって車両1の前方の領域に設定される。変化領域PXがこのような範囲へ設定されることで、車両1を前進させる際に注意を要するフロントフェンダ右側箇所から左側箇所を含めて表示することができるからである。
図5は、仮想視点の方向を連続的に変化させた様子を示す図である。画像生成部32aは、仮想視点の位置VP、起点方向OD、終点方向FD、及び変化方向MDが設定されると、仮想視点の方向VDを起点方向ODから終点方向FDへ向けて変化方向MDに沿って連続的に変化させつつ、前述の手法で複数の合成画像を連続的に生成する。これにより、連続表示した場合に車両1の周辺を移動するように示す複数の合成画像が生成される。なお、画像生成部32aは、仮想視点の方向VDを連続的に変化させる場合には、仮想視点の位置VPを固定する。この場合、ドライバは、固定的な位置からみた車両1周辺を示す合成画像を視認するため、車両1周辺の様子を直感的に把握できるからである。
図に示すように、画像生成部32aは、仮想視点の方向VDを起点方向ODの方向(VD1)から変化領域PXの端部である前進方向DFの左側60[°](VD4)へ向けて、変化方向MDに沿って変化させる。
画像生成部32aは、仮想視点の方向VD(VD1)が起点方向ODの方向である場合に、合成画像を生成し表示装置20へ出力する。仮想視点の方向VDに変化方向MDへ向けて所定角度、たとえば30[°]を加算し、新たな仮想視点の方向VD(VD2)でさらに合成画像を生成、出力する。また、同様に仮想視点の方向VDをさらに変化させ、新たな仮想視点の方向VD3で合成画像を生成、出力する。そして、仮想視点の方向VDが変化領域PXの端部である終点方向FDと合致するまで、このように仮想視点の方向に所定角度の加算を繰り返しつつ複数の合成画像の生成と出力を実行する。やがて仮想視点の方向VDが変化領域PXの端部である終点方向FD(VD4)と合致すると、合成画像の生成を終了する。
図6は、連続的に表示される合成画像を示す図である。合成画像には、画像生成部32aにより、車両1の周辺を示す画像にドライバから見た車室内の透過画像PGが重畳されている。透過画像PGは透過して重畳されるため、ドライバは車室内の画像PGとともに、すなわち車両1の位置関係とともに周辺を示す画像を視認することができる。
表示画像PVD1は、図5における仮想視点の方向VD1で生成された合成画像を表示部20aへ表示した画像である。仮想視点の方向VD1は、前進方向DFの右側30[°]を示すため、ドライバは表示画像PVD1を視認することで、フロントフェンダ右側付近の車両1周辺を最初に確認できる。
表示画像PVD2は、図5における仮想視点の方向VD2で生成された合成画像を表示部20aへ表示した画像である。仮想視点の方向VD2は、仮想視点の方向VD1に30[°]加算した方向である。仮想視点の方向VD2は、前進方向DFを示すため、ドライバは表示画像PVD1を視認することで、運転席正面の車両1周辺を確認できる。
表示画像PVD3は、図5における仮想視点の方向VD3で生成された合成画像を表示部20aへ表示した画像である。仮想視点の方向VD3は、仮想視点の方向VD2に30[°]加算した方向である。仮想視点の方向VD3は、前進方向DFの左側30[°]を示すため、ドライバは表示画像PVD3を視認することで、助手席正面の車両1周辺を確認できる。
表示画像PVD4は、図5における仮想視点の方向VD4で生成された合成画像を表示部20aへ表示した画像である。仮想視点の方向VD4は、仮想視点の方向VD3に30[°]加算した方向である。仮想視点の方向VD4は、前進方向DFの左側60[°]を示すため、ドライバは表示画像PVD4を視認することで、フロントフェンダ左側付近の車両1周辺を確認できる。
このような仮想視点の方向VDが異なる複数の合成画像が表示部20aに連続的に表示されることで、複数の合成画像は、運転席から見た車両1の周辺、特に前進する際に注意を要するフロントフェンダの左右端を含めた車両1前方の変化領域PX中を移動するように動画的に示すことになる。このため、ドライバは安全に車両1を前進させることができる。また、右側運転席において、前進方向DFの右側30[°]の方向から連続表示が開始されるので、ドライバは特に注意を要する方向から車両1の周辺を確認できる。なお、この例では説明のため、仮想視点の方向を30[°]づつ変化させたが、実際には微小な角度(例えば1[°])づつ変化させて合成画像の生成及び表示を行うことで、より円滑な連続表示を行うことが望ましい。
図7は、車両1が後進する際の仮想視点の方向VDが変化する範囲を説明する図である。画像生成部32aが前述のように仮想視点の位置VPを決定すると、起点決定部34bが、運転席が右側かつシフトポジションが「Reverse」である車両1の状態において設定されるべき起点方向ODを記憶部35の起点データ35cから読み出して設定する。このような車両1の状態において、起点方向ODは、運転席位置から後進方向DBの左側30[°]の方向、すなわちリアフェンダ端部よりドライバから見て外側となる方向へ設定される。起点方向ODが後進方向DBの左側30[°]の方向へ設定されることで、車両1を後進させる際に注意を要するリアフェンダ端部を示す合成画像から優先的に表示できるからである。
次に、領域決定部34cは、運転席が右側かつシフトポジションが「Reverse」である車両1の状態において設定されるべき終点方向FD及び変化方向MDを記憶部35の終点データ35d及び変化データ35eから読み出して設定する。起点方向OD、終点方向FD、及び変化方向MDが設定されることで、仮想視点の方向VDが変化する領域、すなわち複数の合成画像が動画的に示すべき変化領域PXが設定される。このような車両1の状態において、変化領域PXは、後進方向DBの左側30[°]から後進方向DBの右側60[°]であって車両1の後方領域に設定される。変化領域PXがこのような範囲へ設定されることで、車両1を後進させる際に注意を要するリアフェンダの左右端部を含めて表示することができるからである。
画像生成部32aは、仮想視点の位置VP、起点方向OD、終点方向FD、及び変化方向MDが設定されると、仮想視点の方向VDを起点方向ODから終点方向FDへ向けて変化方向MDに沿って所定角度づつ変化させながら、複数の合成画像を連続的に生成する。すなわち、画像生成部32aは、仮想視点の方向を起点方向から連続的に変化させ、連続表示により車両1の周辺を移動するように示す複数の合成画像を生成する。
このように生成された合成画像を表示させることにより、ドライバは車両1を後進させる際、すなわちシフトポジションを「Reverse」に切替えた際、運転席位置から車両後方を見た場合のリアフェンダ左右端部を含む範囲について、起点方向ODから連続的に移動して表示される合成画像で確認できる。したがって、ドライバは車両1を後進させる際、車両1の周辺のうち確認すべき領域、すなわちリアフェンダ左右端部を含む範囲のみを的確に確認できる。
図8は、画像処理システム100が起動した直後において、仮想視点の方向が変化する変化領域PXを説明する図である。画像処理システム100が起動した直後は、車両1は発進前の停車中であるため、ドライバは車両1の周囲の安全確認を要する。この際、ドライバの死角となりやすい側面、すなわち運転席位置が右側であれば車両1の左側面については特に注意を要する。したがって、この範囲を変化領域PXとし、この変化領域PXについて複数の合成画像を動画的に示すことにより、ドライバは容易に周囲の安全を確認でき、安心して車両1を発進させることができる。
なお、画像処理システム100の起動直後の他、シフトポジションが「Parking」及び「Neutral」に切替えられた際やドライバによる表示させるべき旨の操作(操作スイッチ50の操作)があった際にも行われる。このような場合も、車両1は発進前の停車中であるため、ドライバの死角となりやすい側面について、合成画像の連続表示を行うことで安全確認を容易にするからである。
画像処理システム100が起動した直後における仮想視点の方向を変化させる処理は、以下のように実行される。
まず、画像生成部32aが前述のように仮想視点の位置VPを決定すると、起点決定部34bが、画像処理システム100が起動した直後、すなわちIGスイッチ70がオンとなった直後の状態において設定されるべき起点方向ODを記憶部35の起点データ35cから読み出して設定する。このような車両1の状態において、起点方向ODは、運転席位置から前進方向DFの方向へ設定される。起点方向ODが前進方向DFの方向へ設定されることで、車両1を発進させる際に注意を要する車両1前方を示す合成画像から優先的に表示することができ、また、ドライバが正面を向いた視線方向と合致させることでドライバは違和感なく合成画像を視認できるからである。なお、IGがオンとなった直後の状態とは、所定周期で繰り返し実行されるプログラム35fが画像処理システム100の起動後最初に実行される場合である。
次に、領域決定部34cは、運転席が右側かつIGがオンとなった直後の状態において設定されるべき終点方向FD及び変化方向MDを記憶部35の終点データ35d及び変化データ35eから読み出して設定する。このようなIGオン直後の状態において、変化領域PXは、前進方向DFから後進方向DBまでの車両左側の範囲に設定される。変化領域PXがこのような範囲へ設定されることで、車両1を発進させる際に特に注意を要する車両左側面の全体を表示することができるからである。
画像生成部32aは、仮想視点の位置VP、起点方向OD、終点方向FD、及び変化方向MDが設定されると、仮想視点の方向VDを起点方向ODから終点方向FDへ向けて変化方向MDに沿って所定角度づつ変化させながら、連続的に複数の合成画像の生成と出力を行う。これにより、ドライバは車両1を発進させる際、すなわちIGオン直後やシフトポジションが「Parking」に設定している際に、運転席位置から車両左側面を見た場合の範囲について、起点方向ODから連続的に移動するように示す合成画像を確認できる。
図9は、運転席が左側に位置する車両1における仮想視点の方向が変化する変化領域PXを説明する図である。図に示すように、運転席が左側(いわゆる左ハンドル)に位置する車両1においては、複数の合成画像が動画的に示すべき変化領域PXは、運転席が右側に位置する車両1で設定された場合に対し、運転席を基準とした車両1の前後方向について左右反対、すなわち前進方向DF及び後進方向DBを対称軸として線対称となる位置に設定される。運転席が反対側に位置すれば、ドライバの死角となる箇所や特に注意を要する箇所も左右反対となるからである。このような変化領域PXは、起点方向OD、終点方向FD、及び変化方向MDを運転席位置に応じて左右反対に設定すればよい。このように変化領域PXが設定されると、左側運転席に着座したドライバは、運転席から見難い車両1の右側全体を合成画像により的確に確認することができる。なお、図9はIGオン直後等の停車中に設定される変化領域PXを示すが、車両発進時、すなわちシフトポジションの切替え時等であっても、運転席位置が異なれば変化領域PXは左右反対に設定される。
<1−4.処理手順>
次に、合成画像を生成する画像処理装置10の処理手順について説明する。図10は、画像処理装置10の処理手順を示す図である。図に示す処理は、所定の周期(例えば、1/30秒周期)で繰り返し実行される。
まず、開始判定部34aが、記憶部35に記憶された運転席データ35bを参照し、車両1の運転席の位置を判断する(ステップS11)。運転席データ35bは、「右」又は「左」を示すデータであり、画像処理システム100が車両1に設置された際や最初に起動した際に設置者やドライバにより入力される。
開始判定部34aが、運転席データ35bが「左」を示すデータであると判断すると(ステップS11で「左」)、左側運転席処理が実行される(ステップS12)。左側運転席処理の詳細は後述する。
一方、開始判定部34aが、運転席データ35bが「右」を示すデータであると判断すると(ステップS11で「右」)、画像処理システム100が起動直後であるか判断する(ステップS13)。開始判定部34aは、プログラム35fがIGスイッチ70によるオン信号送信後の最初に実行された処理であるかを判断し、画像処理システム100が起動直後であるか判断する。
開始判定部34aが画像処理システム100が起動直後であると判断すると(ステップS13でYes)、起点決定部34bが、起点方向ODを車両1の前進方向に設定する(ステップS14)。
起点決定部34bが起点方向ODを設定すると、領域決定部34cは、仮想視点の変化が終了する終点方向FDを起点方向ODの角度から180[°]加算した角度、すなわち車両1の後進方向に設定する(ステップS15)。また、領域決定部34cは、仮想視点を変化させる変化方向MDを車両左側方に設定する(ステップS16)。これにより、図8に示したように、仮想視点を所定角度毎に変化させた場合に、車両1の前方から仮想視点の方向変化が開始し、車両1の左側方全体の領域において仮想視点の方向が連続的に変化する。
一方、開始判定部34aは、画像処理システム100が起動直後でないと判断すると(ステップS13でNo)、操作スイッチ50がドライバにより操作されたか判断する(ステップS17)。開始判定部34aは、操作スイッチ50から信号受信部37を介して送信される操作信号が制御部34へ入力された場合に、操作スイッチ50がドライバにより操作されたと判断する。なお、前述の通り、操作スイッチ50が操作された場合とは、ドライバが任意のタイミングで車両1の側方全体を画像表示により確認を欲する場合である。
開始判定部34aが、操作スイッチ50が操作されたと判断すると(ステップS17でYes)、起点決定部34bによる起点方向ODの設定(ステップS14)、及び領域決定部34cによる終点方向FD並びに仮想視点の変化方向MDの設定が実行される(ステップS15、S16)。
一方、開始判定部34aが、操作スイッチ50が操作されていないと判断すると(ステップS17でNo)、シフトポジションが切替えられたか判断する(ステップS18)。開始判定部34aは、シフトセンサ60から信号受信部37を介して送信されるシフト信号に基づき、シフトポジションがどの位置へ切替えられたか判断する。
開始判定部34aが、シフトポジションが「Parking」又は「Neutral」へ切替えられたと判断すると(ステップS18で「P」又は「N」)、起点決定部34bによる起点方向ODの設定(ステップS14)、及び領域決定部34cによる終点方向FD並びに仮想視点の変化方向MDの設定が実行される(ステップS15、S16)。なお、シフトポジションが「Parking」又は「Neutral」に切替えられる場合とは、車両1が駐車又は停車する場合であり、ドライバは車両1の駐車位置の適切さや他の駐車車両との間隔、歩行者や障害物との距離に注意を要する場合であるため、ステップS14〜S16の実行により車両1の側方全体について前方から表示されることが好ましい。
一方、開始判定部34aがシフトポジションが「Drive」へ切替えられたと判断すると(ステップS18で「D」)、起点決定部34bが、起点方向ODを車両1の右前方向に設定する(ステップS19)。
起点決定部34bが起点方向ODを設定すると、領域決定部34cが、終点方向FDを起点方向ODの角度から90[°]加算した角度、すなわち車両1の左前方向に設定する(ステップS20)。また、領域決定部34cは、仮想視点の方向VDが変化する方向MDを車両1の前方を含むよう右側から左側方向に設定する(ステップS21)。これにより、図4に示したように、所定角度毎に仮想視点の方向VDを変化させた場合に、車両1の右前方から仮想視点の方向変化が開始し、車両1の前方領域において仮想視点の方向VDが左前方へ連続的に変化する。なお、シフトポジションが「Drive」に切替えられる場合とは、車両1が前進する場合であり、ドライバは車両1の前方、特にフロントフェンダ左右端に注意を要する場合であるため、ステップS19からステップS21の実行により車両1の前方が右側から表示されることが好ましい。
一方、開始判定部34aがシフトポジションが「Reverse」へ切替えられたと判断すると(ステップS18で「R」)、起点決定部34bが、起点方向ODを車両1の右後方(車両1の前進方向DFに向かって右後方)に設定する(ステップS22)。
起点決定部34bが起点方向ODを設定すると、領域決定部34cは、仮想視点の変化が終了する終点方向FDを起点方向ODの角度から90[°]加算した角度、すなわち車両1の左後方(車両1の前進方向DFに向かって左後方)に設定する(ステップS23)。また、領域決定部34cは仮想視点の方向VDを変化させる変化方向MDを車両1の後方を含むよう右側から左側方向に設定する(ステップS24)。これにより、図7に示したように、所定角度毎に仮想視点を変化させた場合に、車両1の右後方から仮想視点の方向変化が開始し、車両1の後方領域において仮想視点の方向が左後方まで連続的に変化する。なお、シフトポジションが「Reverse」に切替えられる場合とは、車両1が後進する場合であり、ドライバは車両1の後方、特にフロントフェンダ左右端に注意を要する場合であるため、ステップS22からステップS24の実行により車両1の後方が画像表示されることが好ましい。
一方、開始判定部34aがシフトポジションが切替えられていないと判断すると(ステップS18でNo)、画像処理装置10の処理は終了する。画像処理システム100の起動直後でなく、操作スイッチがオンされず、またシフトポジションが切替えられていない車両状態においては、ドライバに車両1周辺の画像を表示部20aにより表示する必要性が低いからである。この場合、表示部20aには、図示しないナビゲーション装置により生成された経路案内画面等が表示される。
ステップS16、ステップS21、又はステップS24が実行されると、画像取得部31が撮影部40の各カメラで撮影された撮影画像を取得する(ステップS25)。
画像取得部31が撮影画像を取得すると、画像制御部34dは設定された起点方向OD、終点方向FD、及び変化方向MDを画像処理部32の画像生成部32aに送信する。画像生成部32aは、画像取得部31で取得された撮影画像、及び送信された起点方向OD、終点方向FD並びに変化方向MDを用いて、合成画像を生成する(ステップS26)。この際、画像生成部32aは起点方向ODの方向を示す合成画像を最初に生成する。
画像生成部32aが合成画像を生成すると、画像出力部33は、生成された合成画像を表示装置20へ出力する(ステップS27)。表示装置20が画像出力部33により出力された合成画像を表示部20aに表示することで、ドライバは表示部20aを参照して車両1周辺を確認することができる。
次に、画像生成部32aは、起点方向ODの角度が終点方向FDの角度と一致するか判断する(ステップS28)。起点方向ODの角度が終点方向FDの角度と一致する場合は、起点方向ODの変化が終点方向FDに達した場合であるので、連続表示により車両1の周辺を移動するように示す複数の合成画像の生成は終了する。したがって、画像生成部32aが、起点方向ODの角度が終点方向FDの角度と一致すると判断すると画像処理装置10の処理は終了する。
一方、画像生成部32aは、起点方向ODの角度が終点方向FDの角度と一致しないと判断する場合(ステップS28でNo)、仮想視点の方向を所定角度だけ変化方向MDの方向へ向けて変化させる(ステップS29)。
画像生成部32aが仮想視点の方向を変化させると、画像取得部31が撮影部40の各カメラで撮影された撮影画像を再度取得する(ステップS25)。以後、起点方向ODが終点方向FDと一致するまで、ステップS25からS29の処理が繰り返し実行され、所定角度毎に合成画像が繰り返し生成され、表示装置20へ出力される。このような合成画像を表示部20aに表示することで、ドライバは起点方向ODから終点方向FDまで変化方向MDの方向へ向けて移動して車両1周辺を示す合成画像を参照することができる。
次に、ステップS12における左側運転席処理について説明する。図10は、左側運転席処理の処理手順の詳細を示す図である。ステップS12が実行されると、画像処理システム100が起動直後であるか判断する(ステップS51)。
開始判定部34aが画像処理システム100が起動直後であると判断すると(ステップS51でYes)、起点決定部34bが、起点方向ODを車両1の前進方向に設定する(ステップS52)。
起点決定部34bが起点方向ODを設定すると、領域決定部34cは、仮想視点の変化が終了する方向を起点方向ODの角度から180[°]加算した角度、すなわち車両1の後進方向に設定する(ステップS53)。また、領域決定部34cは仮想視点が変化する方向MDを車両1の右側面に設定する(ステップS54)。これにより、図9に示したように、所定角度毎に仮想視点を変化させた場合に、車両1の前方から仮想視点の方向変化が開始し、車両1の右側方全体の領域において仮想視点の方向が連続的に変化する。
一方、開始判定部34aは、画像処理システム100が起動直後でないと判断すると(ステップS51でNo)、操作スイッチ50がドライバにより操作されたか判断する(ステップS55)。
開始判定部34aが、操作スイッチ50が操作されたと判断すると(ステップS55でYes)、起点決定部34bによる起点方向ODの設定(ステップS52)、及び領域決定部34cによる終点方向FD並びに仮想視点の変化方向MDの設定が実行される(ステップS53、S54)。
一方、開始判定部34aが操作スイッチ50が操作されていないと判断すると(ステップS55でNo)、シフトポジションが切替えられたか判断する(ステップS56)。
開始判定部34aが、シフトポジションが「Parking」又は「Neutral」へ切替えられたと判断すると(ステップS55で「P」又は「N」)、起点決定部34bによる起点方向ODの設定(ステップS52)、及び領域決定部34cによる終点方向FD並びに仮想視点の変化方向MDの設定が実行される(ステップS53、S54)。
一方、開始判定部34aがシフトポジションが「Drive」へ切替えられたと判断すると(ステップS56で「D」)、起点決定部34bが、起点方向ODを車両1の左前方向に設定する(ステップS57)。
起点決定部34bが起点方向ODを設定すると、領域決定部34cは、仮想視点の方向変化が終了する方向を起点方向ODから90[°]、すなわち車両1の左前方に設定する(ステップS58)。また、領域決定部34cは仮想視点が変化する方向MDを車両1の前方を含むよう左側から右側方向に設定する(ステップS59)。
一方、開始判定部34aがシフトポジションが「Reverse」へ切替えられたと判断すると(ステップS56で「R」)、起点決定部34bが、起点方向ODを車両1の左後方(車両1の前進方向DFに向かって左後方)に設定する(ステップS60)。
起点決定部34bが起点方向ODを設定すると、領域決定部34cは、仮想視点の変化が終了する方向を起点方向ODの角度から90[°]加算した角度、すなわち車両1の右後方(車両1の前進方向DFに向かって右後方)に設定する(ステップS61)。また、領域決定部34cは仮想視点が変化する方向MDを車両1の後方に設定する(ステップS62)。
一方、開始判定部34aがシフトポジションが切替えられていないと判断すると(ステップS56でNo)、画像処理装置10の処理は終了する。
ステップS54、ステップS59、又はステップS62が実行されると、処理は図10の処理に戻り、ステップS25以下が実行される。すなわち、左側運転席処理で設定された起点方向OD、終点方向FD、及び変化方向MDに基づき、合成画像が生成され、表示部へ出力する等の各処理が実行される。
以上のように、画像処理装置10は仮想視点の方向VDを連続的に変化させる際、車両1の状態に応じて起点方向ODを設定する。このため、ドライバは車両1の状態に応じて確認すべき方向から優先的に車両1の周辺を確認することができる。また、画像処理装置10は車両1の状態に応じて変化領域PX(起点方向OD、終点方向FD、及び変化方向MD)を設定する。このため、ドライバは車両1の状態に応じて車両1周辺のうち確認すべき領域のみを的確に確認できる。
<2.変形例>
以上、本発明の実施の形態について説明してきたが、この発明は上記実施の形態に限定されるものではなく様々な変形が可能である。以下では、このような変形例について説明する。上記実施の形態及び以下で説明する形態を含む全ての形態は、適宜に組み合わせ可能である。
また、上記実施の形態では、プログラムに従ったCPUの演算処理によってソフトウェア的に各種の機能が実現されると説明したが、これら機能のうちの一部は電気的なハードウェア回路により実現されてもよい。また逆に、ハードウェア回路によって実現されるとした機能のうちの一部は、ソフトウェア的に実現されてもよい。
また、仮想視点の方向VDの変化する方向MDは、仮想視点の位置VPを中心として、いわゆる反時計回りとして説明したが、時計回りでもよい。
<2−1>
上記実施の形態では、起点方向OD及び終点方向FDが、仮想視点の方向VDの変化する変化領域PXの両端となる方向を規定していたが、必ずしもこのような形態に限定されるものではない。すなわち、仮想視点の方向VDの変化する変化領域PX内の途中位置に起点方向ODを設定してもよい。この場合、仮想視点の方向VDの変化は、起点方向ODから開始して一方方向へ変化させて変化領域PXの一端に達した後、変化領域PX内を折り返し、他方方向へ変化させて他端である終点方向FDに達する。このような仮想視点の方向VDの変化方向の折り返し点となる方向については、折り返し点方向RDとして設定すればよい。
図12は、このような折り返し点方向RDを設定し、仮想視点の方向VDの変化を説明する図である。図に示すように、起点方向ODを車両1の前進方向DFに設定し、折り返し点方向RDを右前方に設定し、終点方向FDを左前方に設定する。
このような設定において、仮想視点の方向VDの変化方向MDが起点方向ODから車両1の右側方に変化することで、仮想視点の方向VDは折り返し点方向RDに達する。仮想視点の方向VDが折り返し点方向RDに達すると、変化方向MDは一転して車両1の左側方に変化し、仮想視点の方向VDが変化領域PX内を折り返す。変化領域PX内を折り返した仮想視点の方向VDは、変化方向MDに沿って終点方向FDに達する。
このような形態とすることで、最初に表示される合成画像が運転席正面から見える車両1の周辺を示す画像となる。合成画像の生成がドライバの目線に近い方向から開始されるため、ドライバは違和感なく合成画像を参照できる。
なお、折り返し点RDは、折り返し点データとして車両1の状態毎に記憶部35に記憶され、合成画像生成時に起点決定部34bにより読み出されて設定されればよい。
<2−2>
上記実施の形態では、仮想視点の方向VDの変化する変化領域PXを車両1の周辺の一部に限定していたが、必ずしもこのような形態に限定されるものではない。すなわち、仮想視点の方向VDの変化する変化領域PXを車両1の全周囲(360°)に設定してもよい。この場合、起点方向ODと終点方向FDとは一致するよう設定すればよい。
図13は、起点方向ODと終点方向FDとを一致するよう設定し、仮想視点の方向VDの変化を説明する図である。図に示すように、車両1の状態に応じて起点方向ODが設定され、終点方向FDを起点方向ODと一致するよう設定する。そして、変化方向MDを車両1の全周囲となるよう設定する。このため、仮想視点の方向VDの変化する領域PXは、車両1の全周囲となる。
このような形態とすることで、ドライバは車両1の状態に応じて確認すべき方向から優先的に車両1の全周囲を確認することができる。
<2−3>
上記実施の形態では、仮想視点の方向VDの変化する方向MDを車両1の前進方向DFに対して水平に設定していたが、必ずしもこのような形態に限定されるものではない。すなわち、仮想視点の方向VDの変化について、変化の途中で下向きとしてもよい。
図14は、仮想視点の方向VDの変化方向MDが変化の途中で下向きとなるよう設定し、仮想視点の方向VDの変化を説明する図である。図に示すように、仮想視点の方向VDの変化が開始されると、変化方向MDが下向きとなり、仮想視点の方向VDも下向きとなる(仮想視点の方向VD´)。仮想視点の方向VDは、車両1の略正面において最も下向きとなった後、一転して上向きとなり起点方向ODと同じ高さの終点方向FDに達する。仮想視点の方向VDが下向きになる程、仮想視点の方向VDは車両1のより近傍へ向けられる。
このような形態とすることで、ドライバは車両1の近傍を確認することができるので、車両1近傍に子供の歩行者や小さな障害物等が存在した場合であっても適切に確認できる。
<2−4>
上記実施の形態では、仮想視点の位置VPを車両1の運転席の位置に設定していたが、必ずしもこのような形態に限定されるものではない。すなわち、仮想視点の位置VPを車両1の上方に設定してもよい。
図15は、仮想視点の位置VPを車両1の上方に設定し、仮想視点の方向VDの変化を説明する図である。図に示すように、仮想視点の位置VPを車両1の上方Hの高さに設定すると、仮想視点の方向VPは車両1を見下ろすような方向となる。仮想視点の方向VPを起点方向ODから終点方向FDへ変化方向MDに向けて変化させると、車両1の前方を高さHの上方から見渡す合成画像が生成される。なお、合成画像に重畳される車両1の外観画像は透過するよう画像処理されるため、仮想視点の方向VPが車両1を見下ろすような方向とした場合でも、ドライバは車両1の外観を透過して周辺画像を参照できる。
このような形態とすることで、ドライバは車両1の周辺を上方から見下ろしたように確認することができるので、車両1周辺の障害物等の位置関係を適切に把握できる。
なお、仮想視点の位置VPは、車両1上方の高さHを視点データ35aに含めておけばよい。このような視点データ35aが合成画像生成時に読み出されて設定されればよい。
<2−5>
上記実施の形態では、仮想視点の位置VPを車両1の運転席の位置に設定し、仮想視点の方向VDを車両1外側に向けていたが、必ずしもこのような形態に限定されるものではない。すなわち、仮想視点の位置VPを車両1外側に設定し、仮想視点の方向VDをドライバ(運転席)に向けて設定してもよい。
図16は、仮想視点の位置VPを車両1の右側前方に設定し、仮想視点の方向VDを車両1の運転席に向けて設定した場合における、仮想視点の方向VDの変化を説明する図である。図に示すように、仮想視点の位置VPを車両1の外側Dの位置に設定すると、仮想視点の方向VDは車両1を見る方向となる。この場合、仮想視点の方向VPを起点方向ODから終点方向FDに変化方向MDに向けて変化させると、仮想視点の位置VPは仮想視点の位置VP´から仮想視点の位置VP´´へと変化し、仮想視点の方向VDは仮想視点の方向VD´から仮想視点の方向VD´´へと変化する。これにより、合成画像は車両1の外側の位置Dから車両1を見る合成画像となる。なおこの場合、合成画像に重畳される車両1の外観画像は透過するよう画像処理する必要はない。仮想視点の位置VPと車両1との間に存在する障害物等が表示されればよいからである。
このような形態とすることで、ドライバは車両1の周辺を車両1外側から見た場合のように確認することができるので、車両1周辺の障害物等と車両1との位置関係を適切に把握できる。
なお、仮想視点の位置VPは、車両1の外側の位置Dを視点データ35aに含めておけばよい。このような視点データ35aが合成画像生成時に読み出されて設定されればよい。
<2−6>
上記変形例2−5では、仮想視点の変化方向MDを車両1の運転席の位置に対して周回するよう設定していたが、必ずしもこのような形態に限定されるものではない。すなわち、仮想視点の位置VPの変化方向MDを起点方向ODから終点方向FDに向けて直線的に設定してもよい。
図17は、仮想視点の変化方向MDを起点方向ODから終点方向FDに向けて直線的に設定した場合における、仮想視点の方向VDの変化を説明する図である。図に示すように、仮想視点の変化方向MDを起点方向ODから終点方向FDに向けて直線的に設定し、仮想視点の方向VPを起点方向ODから終点方向FDに変化方向MDに向けて変化させると、仮想視点の位置VPは仮想視点の位置VP´から仮想視点の位置VP´´へと変化し、仮想視点の方向VDは仮想視点の方向VD´から仮想視点の方向VD´´へと変化する。この際、仮想視点の方向VD´は、仮想視点の方向VD及び仮想視点の方向VD´´に比較して、より車両1に接近する。これにより、合成画像は車両1の外側から車両1に接近後遠ざかるような合成画像となる。
このような形態とすることで、ドライバは仮想視点の位置VPと運転席の位置との位置関係を適切に把握できる。
<2−7>
上記実施の形態では、仮想視点の方向VDを車両1の前進方向DFに対して水平に設定していたが、必ずしもこのような形態に限定されるものではない。すなわち、仮想視点の方向VDを下向きとしてもよい。特に、車両1周囲の照度が低い場合に仮想視点の方向VDを下向きとすることが好ましい。仮想視点の方向VDを下向きとすると、車両1近傍の合成画像が生成される。夜間等において車両1周囲の照度が低い場合には、車両1の遠方は明瞭な画像が生成され難いが、車両1近傍は比較的明瞭な画像を生成し得る。また、夜間等はドライバの目視でも車両1近傍が見難い場合も生じるため、仮想視点の方向VDを下向きとすることが好ましい。
図18は、仮想視点の方向VDを車両の前進方向DFから角度θ下向きとなるよう設定し、仮想視点の方向VDの変化を説明する図である。図に示すように、仮想視点の方向VDは、車両の前進方向DFから角度θ下向きのまま、起点方向ODから終点方向FDへ変化方向MDに沿って変化する。この際、仮想視点の方向VDは、向きが下向きになる程、車両1のより近傍へ向けられる。なお、車両1に照度センサを設け、照度センサからの照度情報に基づき仮想視点の方向を下向きにしてもよい。
このような形態とすることで、ドライバは車両1の近傍を明瞭に確認できるので、夜間等の照度の低い場合でも車両1の近傍を適切に確認できる。