IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クラリオン株式会社の特許一覧

<>
  • 特許-画像処理装置及び画像処理方法 図1
  • 特許-画像処理装置及び画像処理方法 図2
  • 特許-画像処理装置及び画像処理方法 図3
  • 特許-画像処理装置及び画像処理方法 図4
  • 特許-画像処理装置及び画像処理方法 図5
  • 特許-画像処理装置及び画像処理方法 図6
  • 特許-画像処理装置及び画像処理方法 図7
  • 特許-画像処理装置及び画像処理方法 図8
  • 特許-画像処理装置及び画像処理方法 図9
  • 特許-画像処理装置及び画像処理方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-11
(45)【発行日】2022-10-19
(54)【発明の名称】画像処理装置及び画像処理方法
(51)【国際特許分類】
   G06T 1/00 20060101AFI20221012BHJP
   H04N 7/18 20060101ALI20221012BHJP
   G09G 5/00 20060101ALI20221012BHJP
   G09G 5/36 20060101ALI20221012BHJP
   G06T 3/00 20060101ALI20221012BHJP
【FI】
G06T1/00 330A
H04N7/18 J
H04N7/18 U
H04N7/18 K
G09G5/00 510A
G09G5/00 530H
G09G5/36 520D
G09G5/00 550C
G06T3/00 720
【請求項の数】 9
(21)【出願番号】P 2018245393
(22)【出願日】2018-12-27
(65)【公開番号】P2020107089
(43)【公開日】2020-07-09
【審査請求日】2021-10-18
(73)【特許権者】
【識別番号】000001487
【氏名又は名称】フォルシアクラリオン・エレクトロニクス株式会社
(74)【代理人】
【識別番号】240000327
【弁護士】
【氏名又は名称】弁護士法人クレオ国際法律特許事務所
(72)【発明者】
【氏名】神宮 保幸
【審査官】山口 大志
(56)【参考文献】
【文献】特開2012-256274(JP,A)
【文献】特開2016-063394(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
H04N 7/18
G09G 5/00
G09G 5/36
G06T 3/00
(57)【特許請求の範囲】
【請求項1】
車両の周囲を撮像する撮像部から出力される画像信号に基づいて、所定の仮想視点から所定の投影面に投影した立体視画像を生成する画像処理装置であって、
前記投影面を、所定角度で複数に分割した分割投影面の各頂点の座標情報及び前記分割投影面に付与された識別情報が紐付けられた投影面頂点情報、並びに前記座標情報の座標変換情報が格納されている記憶部と、
前記仮想視点からの前記立体視画像の投影先となる投影領域を構成するすべての前記分割投影面を特定し、特定した前記分割投影面の前記識別情報を取得し、取得した前記識別情報に基づいて前記頂点の前記座標情報を前記記憶部から取得する情報制御部と、
前記情報制御部で取得した前記分割投影面の各頂点の前記座標情報を前記記憶部の前記座標変換情報に基づいて座標変換し、座標変換後の前記座標情報及び前記撮像部から出力される前記画像信号に基づいて前記立体視画像を生成する表示制御部と、
を備えたことを特徴とする画像処理装置。
【請求項2】
前記投影面は、半球型の投影面から構成され、前記半球型の投影面は、半球の中心から水平方向に、所定角度ずつ分割された複数の前記分割投影面を有し、前記分割投影面に、前記識別情報として識別番号が昇順に付与されていることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記情報制御部は、
所定の入力部から入力される前記仮想視点の位置座標、視線方向及び視野角を含む仮想視点情報を取得し、
前記仮想視点の前記位置座標及び前記視線方向に基づいて、水平方向の所定の基準方向に対する前記視線方向の角度を算出し、
前記角度及び前記視野角に基づいて、前記基準方向に対する前記投影領域の最小角度及び最大角度を算出し、
前記最小角度及び前記最大角度に基づいて、前記投影領域に含まれるすべての前記分割投影面の前記識別情報を算出することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記情報制御部は、前記基準方向に対する前記視線方向の角度をφとし、前記視野角をθとし、補正値をMとしたとき、前記投影領域の最小角及び最大角を、次式
int(φ) ± [int(θ/2) + M]
により算出することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記情報制御部は、前記仮想視点の前記位置座標及び前記視野角に基づいて、前記投影面と視野との水平方向における交点A,Bの座標情報を算出し、
前記交点A,Bの座標に基づいて算出した前記交点A,B間の距離をABとし、前記投影面の半径をrとしたとき、前記投影面の原点を仮想視点と想定したときの前記原点からの視野角θ’を、次式
+r-2rcosθ’ = |AB|
θ’=arccos(1-|AB|/2r
により算出し、
前記原点からの前記視線方向の前記基準方向に対する角度をφとし、前記原点からの前記視野角をθ’とし、補正値をMとしたとき、前記原点からの前記投影領域の最小角及び最大角を、次式
int(φ) ± [int(θ/2) + M]
により算出することを特徴とする請求項3に記載の画像処理装置。
【請求項6】
前記情報制御部は、所定の入力部から入力される前記仮想視点からの視線方向の変更指示に基づいて、前記仮想視点からの前記投影領域を、一回の変更指示に対して水平方向に前記分割投影面を1つずつ変更していくが、前記入力部からの変更指示の入力状態に応じて、前記投影領域を、一回の変更指示に対して前記分割投影面を複数個分ずつ変更していくように構成されたことを請求項1~5のいずれか一項に記載の画像処理装置。
【請求項7】
前記情報制御部は、前記仮想視点からの前記投影領域を、前記車両の走行状態に応じて変更することを特徴とする請求項1~6のいずれか一項に記載の画像処理装置。
【請求項8】
前記情報制御部は、前記記憶部から、前記分割投影面の前記頂点の前記座標情報が格納された先頭アドレスと、前記頂点の個数とを、前記投影領域に対応する前記分割投影面ごとに取得して前記表示制御部に送信するように構成され、
前記表示制御部は、前記表示制御部から取得した前記分割投影面ごとの前記先頭アドレス及び前記頂点の個数に基づいて、前記記憶部から、前記分割投影面のすべての前記頂点の前記座標情報を取得し、座標変換を行うように構成されたことを特徴とする請求項1~7のいずれか一項に記載の画像処理装置。
【請求項9】
請求項1~8のいずれか一項に記載の画像処理装置によって実行される画像処理方法であって、
前記仮想視点からの前記立体視画像の投影先となる前記投影領域を構成するすべての前記分割投影面を特定するステップと、
特定した前記分割投影面の前記識別情報を取得するステップと、
取得した前記識別情報に基づいて前記頂点の前記座標情報を前記記憶部から取得するステップと、
取得した前記分割投影面の各頂点の前記座標情報を前記座標変換情報に基づいて座標変換するステップと、
座標変換後の前記座標情報及び前記撮像部から出力される前記画像信号に基づいて前記立体視画像を生成するステップと、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両の周囲の路面を撮像する撮像装置から出力される画像信号に基づいて、所定の仮想視点からの立体視画像を生成する画像処理装置及び画像処理方法に関するものである。
【背景技術】
【0002】
車両に取り付けた複数のカメラで撮影された映像を合成して、車両周辺の俯瞰映像や立体視映像を生成し、モニターに表示する技術は公知である。このような合成映像を表現する言葉として、「3Dビュー」と呼ばれる表現がある。この3Dビューは、投影面として3D座標を用いることで、車両とその周辺映像を立体的に表現する技術である。
【0003】
また、3Dビューを利用した従来技術として、コンピュータグラフィクスにより作り出された仮想世界を、ユーザがリアルタイムでウォークスルー、ドライブスルー、あるいはフライスルーすることのできる、リアルタイムのシミュレーション映像を生成する模擬映像生成装置が開示されている(例えば特許文献1参照)。
【0004】
特許文献1に開示されたでは、仮想カメラを2つ設定して、1つを3Dモデル選定用、もう1つを表示用に使用している。このとき3Dモデル選定用の仮想カメラの視野範囲を、表示用の仮想カメラの視野範囲よりも大きくとっている。特許文献1に開示された技術では、まず、選定用仮想カメラの視野範囲を使い、将来表示されるであろう範囲(新たな表示すべき範囲)も含めて描画している。次に、表示用仮想カメラで表示範囲を切り出して表示部に表示している。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2012-033038号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1に開示された技術では、選定用の仮想カメラが別途必要であり、かつ描画範囲を大きめにとる必要があるため、描画に用いる3Dモデルデータは、表示範囲よりも大きな範囲で選定する必要がある。その結果、演算処理が複雑で処理時間も膨大となり、記憶容量も増大するため、GPU(Graphics Processing Unit)等のプロセッサに過大な負荷がかかっていた。
【0007】
本発明は、上記の事情に鑑みてなされたもので、画像処理の負荷を低減することが可能な画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の画像処理装置は、上述した目的を達成するため、車両の周囲を撮像する撮像部から出力される画像信号に基づいて、所定の仮想視点から所定の投影面に投影した立体視画像を生成する画像処理装置であって、前記投影面を、所定角度で複数に分割した分割投影面の各頂点の座標情報及び前記分割投影面に付与された識別情報が紐付けられた投影面頂点情報、並びに前記座標情報の座標変換情報が格納されている記憶部と、前記仮想視点からの前記立体視画像の投影先となる投影領域を構成するすべての前記分割投影面を特定し、特定した前記分割投影面の前記識別情報を取得し、取得した前記識別情報に基づいて前記頂点の前記座標情報を前記記憶部から取得する情報制御部と、前記情報制御部で取得した前記分割投影面の各頂点の前記座標情報を前記記憶部の前記座標変換情報に基づいて座標変換し、座標変換後の前記座標情報及び前記撮像部から出力される前記画像信号に基づいて前記立体視画像を生成する表示制御部と、を備えたことを特徴とする。
【発明の効果】
【0009】
本発明によれば、任意の仮想視点から立体視画像を投影する投影面を複数に分割し、仮想視点からの投影先である投影領域に対応する分割投影面のみの座標情報を記憶部から取得して座標変換処理を行っている。そのため、座標変換処理及び変換後の座標情報に基づく立体視画像の生成を、より少ない情報の容量で、簡易かつ高速に実行できる。したがって、画像処理の負荷を低減することが可能となる。
【図面の簡単な説明】
【0010】
図1】本発明の実施の形態である画像処理装置が適用される運転支援装置の概略構成を示すブロック図である。
図2】実施の形態である運転支援装置の撮像装置の配置位置の一例を示す図である。
図3】実施の形態である画像処理装置の概略構成を示す機能ブロック図である。
図4】実施の形態である画像処理装置で用いられる半球型(お椀型)の投影面のイメージを示す図である。
図5】複数の分割投影面(短冊)に分割された投影面と、分割投影面の頂点を示す概略図である。
図6】記憶部の投影面頂点データ格納領域に格納される分割投影面の各頂点の座標データを説明するための図であって、(a)は複数の頂点を有する分割投影面(短冊)の概略図であり、(b)は投影面頂点データ格納領域のデータ構造を示す。
図7】実施の形態である画像処理装置の動作の一例を説明するためのフローチャートであり、(a)は画像処理の全体の流れを示すフローチャートであり、(b)は投影面識別番号算出処理の一実施例の流れを示すフローチャートであり、(c)は投影面識別番号算出処理の変形例の流れを示すフローチャートである。
図8】実施の形態である画像処理装置において実行される識別番号算出処理の一実施例を説明するための図である。
図9】ナビゲーション装置のモニターへの画像の一表示例を示す図である。
図10】実施の形態である画像処理装置において実行される識別番号算出処理の変形例を説明するための図である。
【発明を実施するための形態】
【0011】
(運転支援装置の概略構成)
以下、この発明の実施の形態を図面に基づいて説明する。図1は、本発明の実施の形態である画像処理装置及び画像処理方法が適用される運転支援装置の概略構成を示すブロック図、図2は実施の形態である運転支援装置の撮像装置の配置位置の一例を示す図である。
【0012】
図1に示すように、運転支援装置1は、車両V(図2参照)に搭載され、運転支援動作を行う。具体的には、運転支援装置1は、この車両Vの周囲を撮像した画像に基づいて所定の仮想視点からの立体視画像(3Dビュー画像)を生成し、この立体視画像をドライバに提示することで、車両Vの運転の支援を行う。
【0013】
車両Vの前後左右には、図2に示すように複数の小型カメラ(撮像装置)が備えられている。具体的には、車両Vのフロントバンパまたはフロントグリルには、車両Vの前方に向けて前方カメラ20aが装着されている。車両Vのリアバンパまたはリアガーニッシュには、車両Vの後方に向けて後方カメラ20bが装着されている。車両Vの左ドアミラーには、車両Vの左側方に向けて左側方カメラ20cが装着されている。車両Vの右ドアミラーには、車両Vの右側方に向けて右側方カメラ20dが装着されている。
【0014】
前方カメラ20a、後方カメラ20b、左側方カメラ20c、右側方カメラ20dには、それぞれ、広範囲を観測可能な広角レンズや魚眼レンズが装着されており、4台のカメラ20a~20dで車両Vの周囲の路面を含む領域を漏れなく観測することができるようになっている。これらカメラ20a~20dにより、車両Vの周囲の路面を撮像する撮像装置が構成されている。なお、以下の説明において、個々のカメラ(撮像装置)20a~20dを区別せずに説明する場合は単にカメラ20として説明する。
【0015】
図1に戻って、運転支援装置1は、前方カメラ20a、後方カメラ20b、左側方カメラ20c、右側方カメラ20dと、カメラECU21と、ナビゲーション装置30と、車輪速センサ33と、操舵角センサ34とを有する。
【0016】
カメラECU21は、カメラ20を制御するとともに、カメラ20が検知した情報を用いて、立体視画像の生成処理(座標変換処理)等を行う。
【0017】
ナビゲーション装置(表示装置)30は画像表示機能を有するモニター31と、ユーザが入力操作する操作部32と、を有する。ナビゲーション装置30は、経路案内用の地図データ等が格納された記憶部を有する。ナビゲーション装置30は、この地図データ等及び図略のGPS装置等により検出された車両Vの現在位置に基づいて、ナビゲーション装置30の操作者が設定した目標地点までの経路案内を行う。
【0018】
経路案内動作中の各種画像はモニター31に表示される。このモニター31は、画像等が表示される表示面に、タッチパネル式の操作部が重畳されたタッチパネルディスプレイからなる。操作部32は、モニター31のタッチパネル、モニター31の周囲に設けられたジョイスティックや各種操作ボタン等から構成される。ドライバ等のユーザは、操作部32の操作によって、ナビゲーション装置30を通じて運転支援装置1の各部に所定の指示を与える。また、操作部32は、ユーザの操作入力を受けて、画像処理装置100へ送出するための仮想カメラ情報(仮想視点情報)を生成する。よって、操作部32は、画像処理装置100への仮想カメラ情報の入力部として機能する。仮想カメラ情報の詳細は後述する。
【0019】
車輪速センサ33は、車両Vの車輪速を検知するセンサである。車輪速センサ33で検知された検知情報(車輪速)は、車両制御ECU40に入力される。
【0020】
操舵角センサ34は、車両Vのステアリングの操舵角を検知する。車両Vが直進状態で走行するときの操舵角を中立位置(0度)とし、その中立位置からの回転角度を操舵角として送出する。操舵角センサ34で検知された検知情報(操舵角)は、車両制御ECU40に入力される。
【0021】
さらに、運転支援装置1は、車両制御ECU40と、ステアリング制御ユニット50と、スロットル制御ユニット60と、ブレーキ制御ユニット70とを有する。
【0022】
車両制御ECU40は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等から構成されたマイコンを主体として構成される。車両制御ECU40は、カメラECU21、車輪速センサ33及び操舵角センサ34から入力された各検知情報に基づいて、パワステアクチュエータ51、スロットルアクチュエータ61及びブレーキアクチュエータ71)を駆動制御し、車両Vの運転を支援する各種処理を実行する。
【0023】
具体的には、例えば図略の自動駐車開始スイッチをドライバがオン操作して運転支援装置1を作動させると、車両制御ECU40は、カメラECU21が検出した駐車枠に車両Vを自動で駐車させる自動駐車処理などを実行する。
【0024】
ステアリング制御ユニット50は、車両制御ECU40で決定した車両制御情報に基づいて、パワステアクチュエータ51を駆動して、車両Vの操舵角を制御する。
【0025】
スロットル制御ユニット60は、車両制御ECU40で決定した車両制御情報に基づいて、スロットルアクチュエータ61を駆動して、車両Vのスロットルを制御する。
【0026】
ブレーキ制御ユニット70は、車両制御ECU40で決定した車両制御情報に基づいて、ブレーキアクチュエータ71を駆動して、車両Vのブレーキを制御する。
【0027】
なお、カメラECU21、車輪速センサ33及び操舵角センサ34と、車両制御ECU40との間は、車内LAN(Local Area Network)であるセンサ情報CAN(登録商標)(Controller Area Network)80によって接続される。
【0028】
また、ステアリング制御ユニット50、スロットル制御ユニット60及びブレーキ制御ユニット70と、車両制御ECU40との間は、車内LANである車両情報CAN(登録商標)81によって接続される。
【0029】
以上の構成を有する運転支援装置1において、本実施の形態の画像処理方法を実行する画像処理装置100は、カメラECU21により主に構成されている。以下、画像処理装置100の機能構成について詳細に説明する。
【0030】
(画像処理装置の機能構成)
図3は、本実施の形態である画像処理装置100の概略構成を示す機能ブロック図である。この図3に示すように、本実施の形態である画像処理装置100は、制御部110及び記憶部120を有する。
【0031】
主にカメラECU21から構成される制御部110は、画像処理装置100全体の制御を行う。制御部110はCPU、FPGA、GPU(Graphics Processing Unit、描画ユニット)などのプログラマブルロジックデバイス、ASIC等の集積回路に代表される演算素子を有する。本実施の形態では、3Dグラフィック画像処理を高速に行うべく、制御部110は、画像処理に特化したGPU、高速演算可能な演算素子(例えばFPGA)などを有することが好ましい。
【0032】
画像処理装置100の記憶部120は、投影面頂点データ格納領域121を有する。この投影面頂点データ格納領域121には、後述する分割投影面201の各頂点202の座標データと、分割投影面201に付与された識別番号とが紐付けられた投影面頂点データが格納されている。また、記憶部120には、座標変換処理に用いられる座標変換情報等、画像処理に用いられる各種情報、パラメータ等が格納されている。
【0033】
さらに、記憶部120には、制御用プログラム(画像処理プログラム)が格納されている。この制御用プログラムが画像処理装置100の起動時に制御部110により実行されることで、画像処理装置100は図3に示すような機能構成を備えたものとなる。
【0034】
すなわち、制御部110は、仮想カメラ情報取得部111、投影面識別番号算出部112、描画制御部113及び表示制御部114を有する。仮想カメラ情報取得部111、投影面識別番号算出部112及び描画制御部113は、情報制御部として機能する。表示制御部114は、座標変換処理部115及び表示画像合成部116を有する。表示制御部114は、GPUから構成される。
【0035】
本実施の形態である画像処理装置100では、3D画像を投影する3Dモデル(空間モデル)として、図4に示すように、車両モデルV’を中心に半球状に延在する半球型(お椀型)の投影面200を想定している。この半球型の投影面200では、半球の中心を天頂とし、この天頂を通る鉛直方向をY軸とし、このY軸に直交する一つの軸をX軸とし、X軸及びY軸に直交する軸をZ軸としている(図4図5図8等参照)。
【0036】
仮想カメラ情報取得部111は、入力部としての操作部32から仮想カメラ情報を取得する。また、仮想カメラ情報取得部111は、取得した仮想カメラ情報を、投影面識別番号算出部112に送出する。仮想カメラ情報は、所定の仮想視点に仮想的に設置された仮想カメラPに関する情報である。
【0037】
本実施の形態で用いる仮想カメラ情報としては、仮想カメラPの3Dモデル上での位置座標(X座標,Y座標,Z座標)、仮想カメラPの視線方向(表示方向)、視野角等が挙げられる。視線方向は、カメラ20の位置及び角度(ロール角、ピッチ角、ヨー角)から算出した方角のベクトル、または仮想カメラPの位置と、仮想カメラPの注視点から求めるベクトルとして設定される。なお、角度、或いは注視点は、操作部32の操作方向や操作量から求められる。ここでいう仮想カメラPの注視点とは、ユーザが見たい場所を示す座標である。
【0038】
仮想カメラ(仮想視点)Pは、半球型の投影面200の3次元空間の任意の位置に設定できる。ユーザは、操作部32を操作することで、モニター31に立体視画像を表示する際の所望の仮想カメラP(仮想視点)の位置と、所望の視線方向(表示方向)を設定できる。具体的には、例えば、操作部32のタッチパネルを上下左右方向に操作(タッチ、ドラッグ、スワイプ又はフリック)したり、ジョイスティック等を操作したりすることで、仮想視点の位置を指定したり、所望の視線方向を選択したりできる。このユーザによる操作を操作部32が取得し、仮想カメラ情報を生成して仮想カメラ情報取得部11に送出する。
【0039】
投影面識別番号算出部112は、仮想カメラ情報取得部111からの仮想カメラ情報に基づいて、半球型の投影面200を所定角度ごとに分割した分割投影面201のうち、立体視画像の投影先となる投影面200を構成するすべての分割投影面201を特定し、特定された分割投影面201に付与された識別情報を算出する。投影面識別番号算出部112は、算出した識別番号を描画制御部113に送出する。
【0040】
投影面200は、図5図6(a)に示すように、所定角度ごとに縦方向に分割した複数の微細な3Dモデル、すなわち分割投影面201を有する。この分割投影面201は、短冊形を呈している(図6(a)参照)。そのため、以下では分割投影面201を「短冊201」と呼ぶことがあり、図6(a)には「短冊201」と表している。
【0041】
図5図6(a)に示す例では、投影面200をY軸回り(水平方向)に1度ごとに分割し、360個の分割投影面(短冊)201を設けている。このような投影面200では、仮想カメラPの視線方向をY軸回りに1度ずつ移動させて、その視線方向に対応した立体視画像を生成することができる。
【0042】
各分割投影面201には、予め識別情報としての識別番号(短冊番号)が付与されている。図5等の例では、各分割投影面201に、X軸からの角度と同一の番号が付与されている。具体的には、X軸に対する角度0度の分割投影面201の識別番号は、0番(#0、短冊201-0)、X軸に対する角度1度の分割投影面201の識別番号を1番(#1、短冊201-1)とする。同様にしてすべての分割投影面201に識別番号を付与してゆき、X軸に対する角度359度の分割投影面201の識別番号を359番(#359、短冊201-305)とする。
【0043】
このように、角度と分割投影面201の識別番号とを一致させておくことが、記憶部120のアクセス速度の向上や紐付けのし易さ等の観点から望ましい。なお、本実施の形態では、投影面200を1度ずつ360個の分割投影面201に分割し、0番から359番まで識別番号を付与しているが、これに限定されるものではない。他の異なる実施の形態として、例えば投影面200を0.5度ずつ、より細かく分割し、0度に0番、0.5度に1番、1度に2番、1.5度に3番、・・・のように識別番号を付してもよいし、投影面200を5度ずつ、より大きい角度で分割し、0度に0番、5度に1番、10度に2番、15度に3番、・・・のように識別番号を付してもよい。
【0044】
分割投影面201は、複数の頂点202,202・・・を有している(図5図6(a)等参照)。これら複数の頂点202の座標(X座標、Y座標、Z座標)のデータ(投影面頂点データ)は、記憶部120の投影面頂点データ格納領域121に格納される。この投影面頂点データ格納領域121には、図6(b)に示すように、識別番号0番の短冊201-0のすべての頂点202の座標データが順番に格納され、その次に識別番号1番の短冊201-1のすべての頂点202の座標データが順番に格納されるといったように、識別番号0番の短冊201-0から259番の短冊201-59までの各頂点202の座標が直列的に連続して格納されている。
【0045】
描画制御部113は、投影面識別番号算出部112から入力される識別番号に基づいて、記憶部120の投影面頂点データ格納領域121から識別番号に対応する分割投影面201の頂点座標202の座標データを取得し、GPU設定値とともに表示制御部114に送出する。
【0046】
より詳細には、描画制御部113は、投影面頂点データ格納領域121において、算出された識別番号ごとに、対応する分割投影面201の頂点202の座標データが格納された先頭アドレスと頂点202の個数を表示制御部114(GPU)に送出する。
【0047】
ここで、GPUに投影面の頂点の座標データを送信する従来の手法として、投影面のすべての頂点の座標データをGPUに一括送信する手法がある。しかし、この手法では仮想カメラPの視野に無関係にすべての座標データをGPUに送信するため、GPUの負荷が膨大で、かつ視野とは関係ない無駄な頂点の座標データが存在することとなる。
【0048】
これに対して、本実施の形態のように、投影面200を複数に分割し、さらに、仮想カメラPの投影先に対応する分割投影面201のみの座標データを表示制御部114(GPU)に送信している。これにより、GPUの負荷を削減して、より高速な演算処理が可能となる。
【0049】
表示制御部114の座標変換処理部115は、描画制御部113から入力された識別番号ごとの先頭アドレス及び頂点202の個数に基づいて、各識別番号に対する頂点202の座標データを、投影面頂点データ格納領域121から取得する。そして、取得した座標データに対して座標変換処理を行う。座標変換処理部115では、予め各分割投影面201の頂点202の座標データと、座標変換情報(変換式を含む)とが、テーブル等によって対応付けられている。
【0050】
表示画像合成部116は、座標変換処理部115で座標変換された座標データと、カメラ20からの画像信号(撮像画像)を取得し、これらに基づいてモニター31に表示するための立体視画像を合成し、この立体視画像を表示させるための表示制御信号をナビゲーション装置30(モニター31)に送出する。
【0051】
(画像処理装置の動作)
次に、本実施の形態である画像処理装置100の動作の一例(画像処理方法)を、図7(a)~図7(c)のフローチャート及び図8図10の説明図を参照して説明する。
【0052】
図7(a)は画像処理装置100の全体動作を説明するためのフローチャートである。図7(a)のフローチャートに示す動作は、ドライバがモニター31のタッチパネル等の操作部32を操作して、立体視画像の表示開始の指示入力を行うことにより開始する。
【0053】
ステップS1では、画像処理装置100の制御部110の仮想カメラ情報取得部111が、ナビゲーション装置30の操作部32から、仮想カメラ情報を取得する。仮想カメラ情報は、仮想カメラ(仮想視点)Pの位置座標、視線方向及び視野角である。
【0054】
視野角は、使用するカメラ20によって予め決まっている。図8では、視野角はθで表されている。これに対して、仮想カメラPの位置座標及び視線方向(図8に矢印で示す方向)は、前述したように、ユーザが操作部32を操作することで任意に設定できる。処理開始後であってユーザによる操作部32の操作前では、仮想カメラPの位置座標の初期値として、予め決められた座標データ、例えば、車両Vの真上の所定高さの位置座標、つまりY軸上の所定の位置座標(0,Y,0)が設定される。なお、Y座標も固定で決められていてもよい。視線方向は、初期値として、例えばX軸に沿った方向が設定される。
【0055】
次に、ステップS2では、ステップS1で取得した仮想カメラPの位置座標、視線方向及び視野角θに基づいて、投影面識別番号算出部112が、分割投影面201に付与した識別情報(短冊番号)のうち、立体視画像の投影先(投影領域)を構成するすべての分割投影面201の識別番号を算出する。投影領域は、視線方向と視野角に基づいて算出できる。
【0056】
この投影面識別番号算出部112による識別番号の算出手順の一実施例を、図7(b)及び図8を参照して説明する。図8は、投影面200の天頂から見下ろした平面図であり、仮想カメラPは、Y軸上の固定の位置「(0,Y,0)」に位置している。
【0057】
図7(b)に示すように、ステップS21で、仮想カメラ情報の視線方向(表示方向)に基づき、X軸(基準方向)に対する視線方向の角度φを算出する(図8参照)。次に、ステップS22で、ステップS21で算出された角度φと、ステップS1で取得した視野角θから、下記式(1)、(2)を用いて、視野のX軸に対する最小角αと最大角βを求める
【0058】
α=φ - θ/2 (1)
β=φ + θ/2 (2)
【0059】
次のステップS23では、下記式(3)を用いて、描画対象の短冊領域N(仮想カメラPからの投影領域に対応する分割投影面201を包含する領域)を算出する。すなわち、ステップS22で式(1)、(2)を用いて算出した最小角αと最大角βとを式(3)により整数化(四捨五入)し、この整数化された最小角と最大角の間を短冊領域Nとする。このとき、図8に示すように、Nに所定のマージンM(調整値)を加算して(N+マージンM)、Nの値を調整してもよい。下記式(3)中、int()は小数点以下を四捨五入して、整数を算出する関数であり、Mはマージン(調整値)を示す。
【0060】
N=int(φ) ± [int(θ/2) + M] (3)
【0061】
ステップS24では、上記式(3)によって算出した短冊領域Nに基づき、立体視画像を描画すべき分割投影面201の識別番号を取得する。すなわち、短冊領域Nに含まれる角度を、識別番号として取得する。
【0062】
以下、識別番号の算出手順の具体例1、2、3を挙げる。
【0063】
具体例1:φ=45.0(度)、θ=90.0(度),M=0としたとき、
N = 45 ± 45 = 0,90
よって、識別番号として、0番~90番が取得される。
【0064】
具体例2:φ=0.0(度)、θ=180.0(度)、M=0としたとき、
N = 0 ± 90 = -90,90
よって、識別番号として、-90度~90度の範囲、つまり0番~90番と、270番~359番が取得される。
【0065】
具体例3:φ=1.5(度)、θ=180.0(度). M=1としたとき、
N = 1 ± 90 = -90,92
よって、識別番号として、-90度~92度の範囲、つまり0番~92番と、270番~359番が取得される。
【0066】
図7(a)に戻って、ステップS3では、描画制御部113が、上記ステップS2で算出されたすべての識別番号に対応する分割投影面201について、頂点202の座標データ(ここでは各分割投影面201の座標データの格納領域の先頭アドレス)を、記憶部120の投影面頂点データ格納領域121から取得する。描画制御部113は、取得した各分割投影面201の座標データ(先頭アドレス)と、その頂点202の個数を、GPU設定値とともに表示制御部114(GPU)の座標変換処理部115に送出する。
【0067】
GPU設定値としては、具体的には、例えば、下記が挙げられる。
[行列]:主に座標変換に使用
・回転行列、拡大/縮小行列、平行移動行列
[描画条件]
・透過率設定、ライトの設定(光の強さ、方向など)、物体の質感情報
【0068】
ステップS4では、座標変換処理部115が、描画制御部113から入力される座標データ(各識別番号の座標データの先頭アドレス及び頂点202の個数に基づいて投影面頂点データ格納領域121から取得した座標データ)に対して、GPU設定値に基づいて、座標変換処理を行う。
【0069】
GPUから構成される表示制御部114は、3Dビューの描画においては、上記回転行列、拡大/縮小行列、平行移動行列の3つの行列を組み合わせて、以下のような意味を持つ行列を算出して使用する。そこで、表示制御部114の座標変換処理部115は、これらの行列に各頂点202の座標データを掛け合せることで、座標変換を行う。
【0070】
・モデル変換行列(モデルそのものの移動、回転、拡大縮小を担う変換行列)
・ビュー変換行列(カメラ位置を原点とするように座標を変換する行列)
・投影変換行列(遠近感を出す変換行列)
【0071】
最後に、ステップS5で、表示画像合成部116が、座標変換処理部115によって変換された座標データと、車両Vの周囲を撮影するカメラ20から取得した画像信号(撮像画像データ)に基づいて、モニター31に表示するための立体視画像を合成する。立体視画像の合成を行う際には、例えばテクスチャマッピング等の公知の手法を用いて行える。そして、表示画像合成部116は、生成した立体視画像を表示させるための表示制御信号を、ナビゲーション装置30に送出する。
【0072】
このとき、モニター31に立体視画像と並べて、例えば車両Vを真下に見下ろした画像を表示すべく、表示画像合成部116は、各カメラ20の画像信号に基づいて俯瞰画像を合成し、この俯瞰画像を表示させるための表示制御信号も併せてナビゲーション装置30に送出してもよい。
【0073】
以上により、画像処理装置100による画像処理が完了する。ナビゲーション装置30は、画像処理装置100から入力される表示制御信号に基づき、モニター31に画像を表示する。図9に、モニター31への画像の一表示例を示す。この図9に示す例では、モニター31の表示面に、画像処理装置100によって生成された立体視画像31aと、俯瞰画像31bが並べて表示されている。ユーザは、立体視画像31a等を視認することで、例えば、駐車時の死角の確認等を行いつつ、駐車を行うことができる。すなわち、立体視画像31aによって運転支援が行われる。
【0074】
そして、このモニター31に表示された立体視画像31a上で、ユーザがタッチパネルを操作して、仮想カメラPのY軸方向の位置又は視線方向を変更すると、操作部32がこの操作を受付けて、変更された仮想カメラ情報を画像処理装置100に送出する。この仮想カメラ情報の入力を受けて、画像処理装置100は、図7(a)のステップS1~S5の処理を繰り返すことで、変更された仮想カメラ情報に基づいた立体視画像を生成し、その表示制御信号をナビゲーション装置30のへ送出する。これにより、ユーザは、所定の仮想カメラPから、ユーザが変更指示した所望の視線方向に更新された立体視画像を視認することができる。
【0075】
図6(b)の投影面頂点データ格納領域121のデータ構造の上方に、仮想カメラPが、ある仮想視点(仮想視点1)から他の仮想視点(仮想視点2)へ移動されたときに、描画制御部113によって座標変換処理部115に送出される座標データの範囲を、矢印で示した。この例によれば、仮想視点1の場合は、識別番号0から所定数の分割投影面201の頂点202の座標データが送出される。そして、操作部32からの入力操作によって、仮想視点が仮想視点2に移動したときは、1度分ずれた識別番号1から所定数の分割投影面201の頂点202の座標データが送出される。
【0076】
(変形例)
次に、投影面識別番号算出部112による識別番号の算出手順の変形例(ステップS2’)について、図7(c)のフローチャート及び図10の図を参照しながら説明する。上記では、図8を用いて、仮想カメラPの位置座標が「(0,Y,0)」でY軸上にあり、視線方向が任意の場合の識別番号の算出手順について説明している。これに対して、当該変形例では、ユーザの操作部32の操作により、仮想カメラPのX軸、Y軸及びZ軸方向の位置と視線方向とが任意に指定できるようになっている。このような場合の識別番号の算出手順について説明する。
【0077】
投影面識別番号算出部112には、仮想カメラ情報取得部111で取得された仮想カメラPの位置座標(X,Y,Z)と、視線方向と、視野角θとが入力される。
【0078】
図7(c)に示すように、ステップS121では、投影面識別番号算出部112は、仮想カメラPの位置座標(X,Y,Z)と、視野角θに基づいて、投影面200と仮想カメラPの視野との交点A,B(図10参照)の座標データを算出する。
【0079】
次に、ステップS122で、投影面識別番号算出部112は、ステップS121で算出された交点A,Bの座標データに基づいて、下記式(4)、(5)を用いて、原点に設置された基準仮想カメラP’(基準仮想視点)における視野角θ’を算出する。下記式(4)、(5)中、rは半球型の投影面200の半径を、ABは交点Aと交点Bとの距離を示す。
【0080】
+r-2rcosθ’ = |AB| (4)
θ’=arccos(1-|AB|/2r) (5)
【0081】
次に、ステップS123において、投影面識別番号算出部112は、ステップS121で算出された交点A及び交点Bの座標データに基づいて、その中点Cの座標データを算出する。次のステップS124において、ステップS123で算出された中点Cの座標データと、基準仮想カメラP’(原点)の座標データとに基づいて、基準仮想カメラP’からの視線方向を算出する。この視線方向に基づいて、X軸に対する視線方向の角度φを算出する。
【0082】
次いで、投影面識別番号算出部112は、ステップS125において、ステップS124で算出された基準仮想カメラP’(原点)からの視線方向に関する角度φと、ステップS122で算出された視野角θ’に基づいて、描画対象の短冊領域Nを算出する。この短冊領域Nは、前出の式(3)を用いて、実施例のステップS23と同様の算出手順を用いて算出できる。
【0083】
そして、画像処理装置100では、上述のようにして算出された短冊領域Nに基づいて、図7(a)のステップS3の描画制御処理、ステップS4の座標変換処理、ステップS5の表示画像合成処理を実行することで立体視画像を生成し、その表示制御信号をナビゲーション装置30に送出する。これにより、ユーザが指定した所望の位置の仮想カメラPから、所望の視線方向へ投影した立体視画像がモニター31に表示される。
【0084】
(画像処理装置の効果)
以上説明したように、本実施の形態である画像処理装置100は、車両Vの周囲を撮像するカメラ20から出力される画像信号に基づいて、所定の仮想視点から所定の投影面200に投影した立体視画像を生成する画像処理装置である。画像処理装置100は、投影面200を、所定角度で複数に分割した分割投影面201の各頂点202の座標情報及び識別情報が紐付けられた投影面頂点情報、並びに座標変換情報が格納された記憶部120を有する。また、仮想視点(仮想カメラP)からの立体視画像の投影先となる投影領域を構成するすべての分割投影面201を特定し、特定した分割投影面201の識別情報を取得し、取得した識別情報に基づいて頂点202の座標情報を記憶部120から取得する情報制御部(仮想カメラ情報取得部111、投影面識別番号算出部112、描画制御部113)と、分割投影面の各頂点の座標情報を記憶部120の座標変換情報に基づいて座標変換し、座標変換後の座標情報及び撮像部から出力される画像信号に基づいて立体視画像を生成する表示制御部114(座標変換処理部115、表示画像合成部116)と、を備える。
【0085】
また、本実施の形態である画像処理装置100で実行される画像処理方法は、仮想視点(仮想カメラP)からの立体視画像の投影先となる投影領域を構成するすべての分割投影面201を特定するステップと、特定した分割投影面201の識別情報を取得するステップと、取得した識別情報に基づいて頂点202の座標情報を記憶部120から取得するステップと、取得した分割投影面201の各頂点202の座標情報を座標変換情報に基づいて座標変換するステップと、座標変換後の座標情報及びカメラ20から出力される画像信号に基づいて立体視画像を生成するステップと、を含む。
【0086】
したがって、本実施の形態によれば、投影面200を複数に分割し、さらに、仮想視点からの投影先である投影領域に対応する分割投影面201のみの座標情報を記憶部120から取得して座標変換処理を行っている。そのため、GPUからなる表示制御部114の負荷を大幅に低減でき、画像処理全体の負荷を削減できる。その結果、仮想視点が変更されても、仮想視点に対応した立体視画像を、迅速かつ高精度に提示することができる。
【0087】
また、本実施の形態では、投影面200は、半球型の投影面から構成される。この半球型の投影面は、半球の中心から水平方向に、所定角度(例えば、1度)ずつ分割された複数の分割投影面201を有し、各分割投影面201に、識別情報として識別番号が昇順に付与されている。これにより、識別番号と分割投影面201との対応付けが簡易かつ明確となり、画像処理の負荷の削減と高速化を、より合理的に図ることができる。
【0088】
また、本実施の形態では、情報制御部は、所定の入力部(例えば、操作部32)から入力される仮想視点(仮想カメラP)の位置座標、視線方向及び視野角を含む仮想視点情報(仮想カメラ情報)を取得し、仮想視点の位置座標及び視線方向に基づいて、水平方向の所定の基準方向に対する視線方向の角度を算出し、これら角度及び視野角に基づいて、基準方向に対する投影領域の最小角度及び最大角度を算出し、最小角度及び最大角度に基づいて、投影領域に含まれるすべての分割投影面の識別情報を算出している。そのため、分割投影面の特定処理が簡易となり、計算速度を速め、画像処理の負荷を削減できる。
【0089】
このとき、投影領域の最小角及び最大角を、前出の一実施例のように、式(3)に基づいて算出してもよい。また、仮想視点の位置座標が任意に指定される場合は、前出の変形例のように式(4)、(5)を用いて、仮想視点からの視線方向と視野角を、原点からの視線方向と視野角とに変換した後、式(3)を用いて投影領域の最小角及び最大角を算出してもよい。いずれの場合でも、分割投影面201の特定を、簡易な計算式を用いて高速に行うことができ、画像処理の負荷を削減できる。
【0090】
以上、図面を参照して、本発明の実施の形態及び変形例を詳述してきたが、具体的な構成は、この実施の形態及び変形例に限らず、本発明の要旨を逸脱しない程度の設計的変更は、本発明に含まれる。
【0091】
例えば、上記実施の形態及び変形例では、分割投影面201(短冊)として3Dモデルデータをそのまま描画に使用しているが、この手法に限定されるものではない。他の異なる実施の形態として、あくまで投影対象(描画対象)の識別番号の算出のみを行うように画像処理装置及び画像処理方法を構成し、予め各識別番号に割り当てておいた任意の3Dモデルデータを描画するものとしてもよい。
【0092】
また、上記実施の形態では、入力部から入力される仮想視点からの視線方向の変更指示に基づいて、投影領域について、分割投影面201を1つずつ、つまり1度ずつ変更し、投影する立体視画像を更新しているが、これに限定されるものではない。他の異なる実施の形態として、例えば、ユーザによる操作部32の操作速度、より具体的には、タッチパネル上でのドラッグやフリック動作の速度や操作量に応じた角度で視線方向を変更し、立体視画像を更新してもよい。例えば、操作速度が低速又はドラッグ等の操作距離が短いときには、1度ずつ視線方向変更して分割投影面201を1つずつずらし、操作速度が高速又はドラッグ等の操作距離が長いときには、5度ずつ視線方向を変更して分割投影面201を5つずつずらし、各々の視線方向からの立体視画像に更新してもよい。これにより、比較的機能が低いGPUを用いた場合であっても、ユーザの操作に追従させて、立体視画像を更新していくことができる。
【0093】
また、上記実施の形態では、操作部32からのユーザの入力操作に応じて、仮想視点からの投影領域、すなわち仮想カメラ情報の位置や視線方向を変更しているが、これに限定されるものではない。他の異なる実施の形態として、例えば、仮想視点からの投影領域を、車両Vの走行状態に応じて変更してもよい。具体的には、操舵角センサ34で検知した車両Vのステアリングの操舵角に基づいて、仮想カメラPの位置や視線方向を自動で変更し、これに基づいて立体視画像を生成してもよい。この場合、操舵角センサ34も仮想カメラ情報の入力部の一つとして機能する。これにより、車両Vの走行方向やステアリング方向等に対応した適切な立体視像が自動で表示される。
【0094】
さらに異なる実施の形態として、例えば、操舵角センサ34で検知した車両Vのステアリングの操舵角に追従して仮想カメラPの視線方向を変更する場合に、さらに車輪速センサ33で検知した車輪速、つまり車速に応じて角度を変更してもよい。この場合、操舵角センサ34及び車輪速センサ33も仮想カメラ情報の入力部の一つとして機能する。
【0095】
この構成では、例えば、所定以下の車速では、投影先の分割投影面201を1度ずつ移動させて立体視画像を更新する。これにより、所定以下の低速走行時には、より精細な立体視画像をユーザに提示できる。これに対して、車速が所定超の高速となったとき、投影先の分割投影面201を5度ずつ移動させて立体視画像を更新する。これにより、高速走行に追従して迅速に立体視画像を更新してユーザに提示できる。
【0096】
また、本実施の形態の画像処理装置100及び画像処理方法で作成した立体視画像を、電子ミラー用の画像として用いることもできる。本実施の形態では、視野角に適した分割投影面201を選定して立体視画像を生成し、画像処理(特にGPU)の負荷を低減しているため、電子ミラー用の画像の生成に適用しても、画像処理の負荷を低減して、好適な電子ミラー画像をドライバに提示できる。
【符号の説明】
【0097】
20 :カメラ
31 :モニター
32 :操作部(入力部)
33 :車輪速センサ(入力部)
34 :操舵角センサ(入力部)
100 :画像処理装置
111 :仮想カメラ情報取得部(情報制御部)
112 :投影面識別番号算出部(情報制御部)
113 :描画制御部(情報制御部)
114 :表示制御部
115 :座標変換処理部(表示制御部)
116 :表示画像合成部(表示制御部)
120 :記憶部
121 :投影面頂点データ格納領域
200 :投影面(半球型モデル)
201 :分割投影面(短冊)
202 :頂点
P :仮想カメラ(仮想視点)
P’ :基準仮想カメラ(原点)
V :車両
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10