(57)【要約】【課題】立体物による画素値の欠損部分が解消された自然な合成画像を生成する。【解決手段】立体物マスク画像作成部２２が、時刻Ｔに撮影されたテクスチャ画像中で立体物を示す画素を特定するための立体物マスク画像を作成する。投影面ポリゴンデータ生成部２４が、時刻Ｔの投影面ポリゴンデータ、及び車両１の移動量に基づいて算出された時刻Ｔの車両座標系で表された時刻（Ｔ−ΔＴ）のカメラ位置を用いた時刻Ｔの立体投影面８上の各点と時刻（Ｔ−ΔＴ）のテクスチャ画像座標値との対応を示す補間用の投影面ポリゴンデータを仮想視点投影により作成する。画像合成部２６が、視点位置決定部２５で決定した視点位置から立体投影面８に投影されたテクスチャ画像を合成画像上に描画する際、立体物を示す画素には、補間用の投影面ポリゴンデータに基づいて時刻（Ｔ−ΔＴ）のテクスチャ画像を描画する。【選択図】図１
2014085925.tif 000002
【特許請求の範囲】
【請求項１】
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得する取得部と、
第１時刻と第２時刻との間に移動した前記移動体の移動量を計測する移動量計測部と、
前記取得部により取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定する特定部と、
前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成すると共に、前記移動量計測部により計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、前記立体投影面上の各点と前記第２時刻に撮影された第２画像の各画素の位置との対応を示す第２対応関係を仮想視点投影により生成する対応関係生成部と、
所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第１対応関係に基づいて前記第１画像の対応する画素の画素値とすると共に、前記第１画像において前記特定部により立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第２対応関係に基づいて前記第２画像の対応する画素の画素値とすることにより、前記合成画像を合成する合成部と、
を含む画像処理装置。
【請求項２】
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得する取得部と、
第１時刻と第２時刻との間に移動した前記移動体の移動量を計測する移動量計測部と、
前記取得部により取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定する特定部と、
前記移動量計測部により計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、前記特定部により立体物を示す画素として特定された前記第１画像の画素の画素値を、対応する前記第２時刻に撮影された第２画像の画素の画素値で補間する補間部と、
前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成する対応関係生成部と、
所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第１対応関係に基づいて前記補間部による補間後の第１画像の対応する画素の画素値とすることにより、前記合成画像を合成する合成部と、
を含む画像処理装置。
【請求項３】
前記移動量計測部により計測された前記第１時刻と前記第２時刻との間に移動した前記移動体の移動量に基づいて、前記第１時刻における前記移動体の位置と前記第２時刻における前記移動体の位置との差が、予め定めた所定範囲内となるように前記第２画像を管理する管理部を含む請求項１または請求項２記載の画像処理装置。
【請求項４】
前記特定部は、前記第１画像中で立体物を示す画素を特定する立体物マスク画像を作成する請求項１〜請求項３のいずれか１項記載の画像処理装置。
【請求項５】
前記対応関係生成部は、撮影された画像を、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影し、前記仮想視点投影面に投影された点を、仮想視点位置を基準に前記立体投影面に再投影する仮想視点投影を用いる請求項１〜請求項４のいずれか１項記載の画像処理装置。
【請求項６】
前記合成部は、前記取得部により取得した３次元位置情報に基づく立体物、及び予め登録された前記移動体の形状を前記合成画像に合成する請求項１〜請求項４のいずれか１項記載の画像処理装置。
【請求項７】
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得し、
第１時刻と第２時刻との間に移動した前記移動体の移動量を計測し、
取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定し、
前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成すると共に、計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、前記立体投影面上の各点と前記第２時刻に撮影された第２画像の各画素の位置との対応を示す第２対応関係を仮想視点投影により生成し、
所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第１対応関係に基づいて前記第１画像の対応する画素の画素値とすると共に、前記第１画像において立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第２対応関係に基づいて前記第２画像の対応する画素の画素値とすることにより、前記合成画像を合成する
ことを含む画像処理方法。
【請求項８】
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得し、
第１時刻と第２時刻との間に移動した前記移動体の移動量を計測し、
取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定し、
計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、立体物を示す画素として特定された前記第１画像の画素の画素値を、対応する前記第２時刻に撮影された第２画像の画素の画素値で補間し、
前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成し、
所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第１対応関係に基づいて、補間後の第１画像の対応する画素の画素値とすることにより、前記合成画像を合成する
ことを含む画像処理方法。
【請求項９】
コンピュータに、
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得し、
第１時刻と第２時刻との間に移動した前記移動体の移動量を計測し、
取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定し、
前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成すると共に、計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、前記立体投影面上の各点と前記第２時刻に撮影された第２画像の各画素の位置との対応を示す第２対応関係を仮想視点投影により生成し、
所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第１対応関係に基づいて前記第１画像の対応する画素の画素値とすると共に、前記第１画像において立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第２対応関係に基づいて前記第２画像の対応する画素の画素値とすることにより、前記合成画像を合成する
ことを含む処理を実行させるための画像処理プログラム。
【請求項１０】
コンピュータに、
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得し、
第１時刻と第２時刻との間に移動した前記移動体の移動量を計測し、
取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定し、
計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、立体物を示す画素として特定された前記第１画像の画素の画素値を、対応する前記第２時刻に撮影された第２画像の画素の画素値で補間し、
前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成し、
所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第１対応関係に基づいて、補間後の第１画像の対応する画素の画素値とすることにより、前記合成画像を合成する
ことを含む処理を実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、画像処理装置、画像処理方法、及び画像処理プログラムに関する。
【背景技術】
【０００２】
車両に取り付けられた１つまたは複数台のカメラにより取得されたカメラ画像を合成することにより、仮想的な視点を任意に変更可能な車両周辺の全周囲画像を生成する技術が存在する。従来の全周囲画像の生成手法は、路面については少ない歪みで表示することができるが、路面に対して高さ情報を有する被写体、すなわち立体物については、大きく引き延ばされて表示されたり、歪んで表示されたりする。これは、カメラにより撮影された立体物の形状とは異なる投影面に投影されたカメラ画像に基づいて、全周囲画像を生成して表示することが原因である。
【０００３】
このような問題に対して、移動体周辺の環境情報を検出し、検出した環境情報に基づいて移動体周辺の３次元環境情報を構築し、構築した３次元環境情報に基づく投影面にカメラ画像を描画して表示画像を作成する技術が存在する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０００／０７３７３号パンフレット
【特許文献２】国際公開第２０１２／０１７５６０号パンフレット
【特許文献３】特開２００４−２９７８０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、３次元環境情報に基づく投影面にカメラ画像を投影する場合には、路面を示す投影面と３次元環境情報に基づく投影面との両方に立体物像が描画されてしまい、立体物像が混在した画像となってしまう。３次元環境情報が存在する位置では、路面を示す投影面に立体物像を描画しないことで、立体物像の混在を解消することは可能である。しかし、路面を示す投影面に描画された立体物像が存在する部分は、カメラから見て立体物の裏側にあたる部分であり、カメラ画像中にその画像情報が存在しない部分である。このため、該当部分の画素値が欠損し、立体物の影のような領域が画面上に発生してしまう。
【０００６】
この立体物の影のような領域のように、画素値が欠損した領域は、合成画像に不自然さを生じさせる。また、この立体物の影のような領域は、車両の移動によるカメラと立体物との相対位置の変化によって大きく位置が変化し、ドライバの視線が不用意に誘導されてしまう。
【０００７】
開示の技術は、一つの側面として、立体物による画素値の欠損部分が解消された自然な合成画像を生成することが目的である。
【課題を解決するための手段】
【０００８】
開示の技術は、移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得する取得部を備えている。また、開示の技術は、第１時刻と第２時刻との間に移動した前記移動体の移動量を計測する移動量計測部を備えている。また、開示の技術は、前記取得部により取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定する特定部を備えている。また、開示の技術は、第１対応関係及び第２対応関係を仮想視点投影により生成する対応関係生成部を備えている。第１対応関係は、前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示すものである。第２対応関係は、計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、前記立体投影面上の各点と前記第２時刻に撮影された第２画像の各画素の位置との対応を示すものである。また、開示の技術は、合成画像を合成する合成部を備えている。合成部は、所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第１対応関係に基づいて前記第１画像の対応する画素の画素値とする。また、合成部は、前記第１画像において前記特定部により立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第２対応関係に基づいて前記第２画像の対応する画素の画素値とする。
【発明の効果】
【０００９】
開示の技術は、一つの側面として、立体物による画素値の欠損部分が解消された自然な合成画像を生成することができる、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る画像処理装置の一例を示す機能ブロック図である。
【図２】カメラ及びレンジセンサの配置の一例を示す概略図である。
【図３】テクスチャ画像の一例を示すイメージ図である。
【図４】距離データをカメラ画像に対応させて画像化した一例を示すイメージ図である。
【図５】ΔＴ間の車両の移動量を示す概略図である。
【図６】立体物マスク画像の一例を示すイメージ図である。
【図７】立体投影面を説明するための概略側面図である。
【図８】立体投影面を説明するための概略正面図である。
【図９】投影面ポリゴンデータの一例を示すテーブルである。
【図１０】仮想視点投影を説明するための概略図である。
【図１１】仮想視点投影における現在と過去との対応点を説明するための概略図である。
【図１２】立体物の投影像が大きく引き伸ばされた合成画像の一例を示すイメージ図である。
【図１３】立体物の投影像が混在した合成画像の一例を示すイメージ図である。
【図１４】立体物による画素値の欠損部分が生じている合成画像の一例を示すイメージ図である。
【図１５】時刻（Ｔ−ΔＴ）の車両位置及びカメラ位置を説明するための概略図である。
【図１６】車両座標系とカメラ座標系との関係を説明するための概略図である。
【図１７】カメラ座標系とローカル画像座標系との関係を説明するための概略図である。
【図１８】視点位置の一例を示す概略図である。
【図１９】立体投影面と合成画像との関係を説明するための概略図である。
【図２０】第１実施形態における欠損部分の補間を説明するためのイメージ図である。
【図２１】画像処理装置として機能するコンピュータの一例を示す概略ブロック図である。
【図２２】画像管理処理を示すフローチャートである。
【図２３】第１実施形態における全周囲画像表示処理を示すフローチャートである。
【図２４】現在時刻Ｔの画像合成処理を示すフローチャートである。
【図２５】時刻（Ｔ−ΔＴ）の画像合成処理を示すフローチャートである。
【図２６】３次元位置情報に基づく立体物形状及び車両形状の合成を説明するためのイメージ図である。
【図２７】第２実施形態に係る画像処理装置の一例を示す機能ブロック図である。
【図２８】第２実施形態における欠損部分の補間を説明するためのイメージ図である。
【図２９】第２実施形態における全周囲画像表示処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。本実施形態では、車両周辺の全周囲画像を合成する画像処理装置に開示の技術を適用した場合について説明する。
【００１２】
〔第１実施形態〕
図１には、第１実施形態に係る画像処理装置１０が示されている。画像処理装置１０は、立体物による画素値の欠損部分に対し、現在位置とは異なる位置で過去に撮影された画像における該当位置の画素値を割り当てることで、自然な全周囲画像を合成する。
【００１３】
図１に示すように、画像処理装置１０は、カメラ１１Ｆ，１１Ｂ，１１Ｌ，１１Ｒ、レンジセンサ１２Ｆ，１２Ｂ，１２Ｌ，１２Ｒ、車速センサ１３、ジャイロセンサ１４、舵角センサ１５、ブレーキセンサ１６、及びウインカセンサ１７と接続される。
【００１４】
カメラ１１Ｆ，１１Ｂ，１１Ｌ，１１Ｒ、及びレンジセンサ１２Ｆ，１２Ｂ，１２Ｌ，１２Ｒの配置の一例を図２に示す。図２において、車両１は、画像処理装置１０が搭載される車両である。図２に示すように、カメラ１１Ｆ及びレンジセンサ１２Ｆは、車両１の前方に設置されている。カメラ１１Ｂ及びレンジセンサ１２Ｂは、車両１の後方に設置されている。カメラ１１Ｌ及びレンジセンサ１２Ｌは、車両１の左側に設置されている。カメラ１１Ｒ及びレンジセンサ１２Ｒは、車両１の右側に設置されている。
【００１５】
カメラ１１Ｆ，１１Ｂ，１１Ｌ，１１Ｒは、例えば水平画角１８０度以上の魚眼レンズなどの広角レンズを持つカメラである。カメラ１１Ｆ，１１Ｂ，１１Ｌ，１１Ｒの各々は、一部視野を重ねながら車両の周囲３６０度を撮影できるように設置されている。カメラ１１Ｆ，１１Ｂ，１１Ｌ，１１Ｒの各々は、例えば３０フレーム／秒（ｆｐｓ）の頻度で撮影範囲の画像を撮影し、撮影した画像データを画像処理装置１０に出力する。なお、以下では、各カメラを区別なく説明する場合には、単に「カメラ１１」と表記する。
【００１６】
レンジセンサ１２Ｆ，１２Ｂ，１２Ｌ，１２Ｒは、レンジセンサから対象物までの距離を計測する測距センサである。レンジセンサ１２Ｆ，１２Ｂ，１２Ｌ，１２Ｒとしては、近赤外線レーザパルスを発射し、物体に反射して戻ってくるレーザパルスを受信し、発射から受信までの飛行時間（ＴＯＦ：Time of flight）を距離に換算するレーザスキャナ等を用いることができる。図２では、水平垂直検知角１５０度程度の２次元レーザスキャナをレンジセンサとして４台用いる場合の配置例を示す。４台のレンジセンサ１２Ｆ，１２Ｂ，１２Ｌ，１２Ｒは、各々の検知範囲を重ねながら車両の周囲３６０度の範囲に存在する物体までの距離データを計測できるように配置されている。レンジセンサ１２Ｆ，１２Ｂ，１２Ｌ，１２Ｒの各々は、例えば３０ｆｐｓで車両周辺を計測し、計測した距離データ及びレーザパルスの発射角度を画像処理装置１０に出力する。なお、以下では、各レンジセンサを区別なく説明する場合には、単に「レンジセンサ１２」と表記する。
【００１７】
カメラ１１によるカメラ画像の撮影タイミングと、レンジセンサ１２による距離データの計測タイミングとは同期させる。
【００１８】
車速センサ１３は、車両１の速度を検出するセンサである。ジャイロセンサ１４は、車両１のヨーレートを検出するセンサである。舵角センサ１５は、ステアリングの舵角を検出するセンサである。ブレーキセンサ１６は、ブレーキペダルの踏み込み量を検出するセンサである。ウインカセンサ１７は、ウインカの作動状態を検出するセンサである。各センサは、各々検出したセンサ値を画像処理装置１０に出力する。
【００１９】
画像表示部１８は、ディスプレイ等の表示デバイスであり、画像処理装置１０で合成された全周囲画像などを表示する。なお、画像表示部１８は、タッチパネルなどの入力デバイスを有し、ポインティングデバイス機能を実現してもよい。
【００２０】
また、画像処理装置１０は、取得部２０、車両移動量計測部２１、立体物マスク画像作成部２２、過去画像セット管理部２３、投影面ポリゴンデータ生成部２４、視点位置決定部２５、及び画像合成部２６を有する。さらに、画像処理装置１０は、テクスチャ画像記憶部３０、３次元位置記憶部３１、立体物マスク画像記憶部３２、過去画像セット記憶部３３Ａ，３３Ｂ、及び合成画像記憶部３４を有する。なお、取得部２０は開示の技術の取得部の一例である。また、車両移動量計測部２１は開示の技術の移動量計測部の一例である。また、立体物マスク画像作成部２２は開示の技術の特定部の一例である。また、過去画像セット管理部２３は開示の技術の管理部の一例である。また、投影面ポリゴンデータ生成部２４は開示の技術の対応関係生成部の一例である。また、画像合成部２６は開示の技術の合成部の一例である。
【００２１】
取得部２０は、車速センサ１３及びジャイロセンサ１４から出力されたセンサ値を取得し、車両移動量計測部２１へ出力する。
【００２２】
また、取得部２０は、カメラ１１の各々で撮影された各カメラ画像を取得し、取得した各カメラ画像でテクスチャ画像を構成して、各カメラ画像の撮影時刻と対応付けてテクスチャ画像記憶部３０に記憶する。テクスチャ画像の一例を図３に示す。図３の例では、１枚の画像を４分割し、各分割領域にカメラ１１Ｆ，１１Ｂ，１１Ｌ，１１Ｒの各々で撮影されたカメラ画像を当て嵌めてテクスチャ画像が構成されている。また、図３中のＳ，Ｔは、テクスチャ画像の画像座標系（テクスチャ画像座標系）の各軸であり、テクスチャ画像座標系の画素の座標（テクスチャ座標値）を（Ｓ，Ｔ）とする。なお、テクスチャ画像の構成例は、図３のような４分割に限定されない。各カメラ画像を用いてテクスチャ画像をどのような構成にするかに応じて、テクスチャ画像座標系と各カメラ画像の座標系（ローカル画像座標系）との対応関係を予め定めておく。
【００２３】
また、取得部２０は、レンジセンサ１２の各々で計測された距離データ及びレーザパルスの発射角度を取得し、レーザパルスが反射した立体物上の複数の計測点の車両座標系における３次元位置を算出する。算出した各計測点の３次元位置を示す３次元位置情報と距離データの計測時刻とを対応付けて３次元位置記憶部３１に記憶する。カメラ画像の撮影時刻と距離データの計測時刻とは同期しているため、テクスチャ画像記憶部３０に記憶されるテクスチャ画像と、３次元位置記憶部３１に記憶される３次元位置情報とに対応付けられる時刻は同一時刻となる。３次元位置情報をカメラ画像に対応させて画像化した一例を図４に示す。図４の例では、路面に相当する計測点の３次元位置を除去している。路面の計測点の除去は、算出された各計測点の車両座標系における３次元位置において、Ｚ座標（高さ情報）が一定の閾値内（例えば±３０ｍｍ）となる計測点を除去することで簡単に行うことができる。また、図４の例では、車両座標系のＹ軸方向における車両１からの距離が遠い計測点ほど濃い色で表示している。
【００２４】
なお、車両座標系とは、車両１に設定された座標系である。例えば、車両１の進行方向をＹ軸、車両１の垂直上方をＺ軸、Ｙ−Ｚ軸と右手系をなす水平方向をＸ軸、車両１の中心から道路平面に向かう法線と道路平面との交点を原点とする座標系とすることができる。車両座標系における各点の座標を（Ｘ，Ｙ，Ｚ）で表す。
【００２５】
また、取得部２０は、舵角センサ１５、ブレーキセンサ１６、及びウインカセンサ１７で検出された各センサ値を取得し、視点位置決定部２５に出力する。
【００２６】
車両移動量計測部２１は、取得部２０により取得された車速センサ１３及びジャイロセンサ１４のセンサ値に基づいて、車両１の移動量を連続して計測する。例えば、時刻（Ｔ−ΔＴ）と現在時刻Ｔとの間で、図５に示すように車両１が移動した場合を考える。ここで、図５中のＸ、Ｙ、及びＺは車両座標系の各軸を表す。車両移動量計測部２１は、車速センサ１３及びジャイロセンサ１４のセンサ値である車速及びヨーレートに基づいて、ΔＴ間の車両１の並進移動量（ＴＸ，ＴＹ）、及びΔＴ間の車両１のヨー（Ｚ軸まわりの回転移動）に関する回転移動量θを計算する。この並進移動量と回転移動量とを合わせて、ΔＴ間の車両１の移動量（ＴＸ，ＴＹ，θ）とする。
【００２７】
ΔＴは、立体物による画素値の欠損部分、すなわち立体物の裏側を撮影するために十分な距離を車両１が移動する移動時間であり、可変である。例えば、時速６ｋｍで車両１が後退している場合、欠損部分を撮影するために十分な移動距離を１ｍとするとΔＴ＝０．６秒となる。
【００２８】
なお、車両１の移動量は、例えば、タイヤの回転角やステアリングの舵角から算出してもよいし、ＧＰＳ（Global Positioning system）端末によって計測した自車両位置の変化から算出してもよい。また、レンジセンサ１２が計測する車両１から周辺物体までの距離の変化に基づいて算出してもよい。
【００２９】
立体物マスク画像作成部２２は、３次元位置記憶部３１に記憶された３次元位置情報に基づいて、テクスチャ画像中で立体物を示す画素を特定するための立体物マスク画像を作成する。立体物マスク画像の一例を図６に示す。立体物マスク画像においてマスク値（画素値）が１の画素（図６中、黒い部分）は、画素位置が対応するテクスチャ画像の画素が立体物を示す画素であることを表している。一方、マスク値が０の画素（図６中、白い部分）は、画素位置が対応するテクスチャ画像の画素が立体物を示す画素ではないことを表している。
【００３０】
テクスチャ画像の画素が立体物を示す画素か否かの判断は、各計測点の３次元位置情報に基づいて、各計測点の３次元位置からカメラ１１方向への入射光ベクトルを求める。そして、入射光ベクトルとカメラ画像の各画素の位置との関係を表す関数やテーブルを参照して行うことができる。立体物マスク画像作成部２２は、作成した立体物マスク画像に、３次元位置情報に対応付けられた計測時刻と同一の時刻を作成時刻として対応付けて立体物マスク画像記憶部３２に記憶する。
【００３１】
過去画像セット管理部２３は、車両１の移動量に応じて、過去画像セットの保存及び廃棄を管理する。過去画像セットとは、車両１の現在位置とは異なる位置で過去の時刻に撮影されたカメラ画像で構成されたテクスチャ画像、及び対応する過去の時刻に作成された立体物マスク画像をいう。これは、現在の車両位置から一定距離離れた位置（例えば前方または後方に１ｍ〜２ｍの位置）から撮影されたカメラ画像で構成されたテクスチャ画像及び対応する立体物マスク画像を、常に参照可能にするためである。
【００３２】
過去画像セットの保存及び廃棄の管理を実現する一例について説明する。画像処理装置１０には、過去画像セットを記憶するための過去画像セット記憶部３３Ａ，３３Ｂが設けられている。過去画像セット管理部２３は、車両前進（または後進）時には、現在の車両位置から後方（または前方）０〜１ｍの位置における過去画像セットを過去画像セット記憶部３３Ａに記憶する。また、過去画像セット管理部２３は、現在の車両位置から後方（または前方）１〜２ｍの位置における過去画像セットを過去画像セット記憶部３３Ｂに記憶する。過去画像セット管理部２３は、過去画像セット記憶部３３Ｂに記憶されたテクスチャ画像を構成するカメラ画像の撮影位置が後方（前方）２ｍに達した時点で、過去画像セット記憶部３３Ｂに記憶された過去画像セットを廃棄する。同時に、過去画像セット管理部２３は、過去画像セット記憶部３３Ａに記憶された過去画像セットを過去画像セット記憶部３３Ｂに移行する。さらに、テクスチャ画像記憶部３０に記憶されているテクスチャ画像、及び立体物マスク画像記憶部３２に記憶されている立体物マスク画像を、過去画像セット記憶部３３Ａにコピーする。これにより、過去画像セット記憶部３３Ｂには、常に現在位置より１〜２ｍ離れた位置で撮影されたカメラ画像で構成されたテクスチャ画像及び対応する立体物マスク画像が記憶されていることになる。
【００３３】
また、過去画像セット管理部２３は、車両１の現在位置と過去画像セットに含まれるテクスチャ画像を構成するカメラ画像の撮影位置との距離を、車両移動量計測部２１で計測された移動量（ＴＸ，ＴＹ，θ）に基づいて管理する。ここでは、過去画像セット記憶部３３Ａに記憶された過去画像セットに対応付けられた時刻（Ｔ−ΔＴＡ）と現在時刻Ｔとの間（ΔＴＡ）の車両１の移動量を（ＴＡＸ，ＴＡＹ，θＡ）とする。同様に、過去画像セット記憶部３３Ｂに記憶された過去画像セットに対応付けられた時刻（Ｔ−ΔＴＢ）と現在時刻Ｔとの間（ΔＴＢ）の車両１の移動量を（ＴＢＸ，ＴＢＹ，θＢ）とする。なお、過去画像セットに対応付けられた時刻とは、該当の過去画像セットに含まれるテクスチャ画像がテクスチャ画像記憶部３０に記憶される際に対応付けられた撮影時刻である。
【００３４】
上記の例の場合、過去画像セット管理部２３は、｜ＴＢＹ｜の値を監視することにより、過去画像セット記憶部３３Ａ，３３Ｂへ記憶する過去画像セットを管理する。なお、ここでは、車両１の後方（または前方）への移動距離に基づいて、過去画像セットの記憶を管理するため、｜ＴＢＹ｜の値を監視する場合について説明したが、移動量（ＴＸ，ＴＹ，θ）を総合的に用いて判断してもよい。
【００３５】
投影面ポリゴンデータ生成部２４は、カメラ１１の各々により撮影された各カメラ画像で構成されたテクスチャ画像から、車両１の全周囲を表示した３次元の全周囲画像を合成するための現在時刻Ｔの投影面ポリゴンデータを生成する。
【００３６】
まず、現在時刻Ｔにおける車両１を内部に含むように、テクスチャ画像を投影するための立体投影面８を設定する。図７及び図８に、立体投影面８の形状の一例を示す。図７は、立体投影面８を車両１の左側側面から見た場合の形状を表し、図８は、立体投影面８を車両１の前方から見た場合の形状を表す。立体投影面８は、車両１の位置を中心として、車両１周辺で道路平面に近似でき、かつ車両１から離れるにつれ勾配を増すような形状を有する立体面とすることができる。
【００３７】
この立体投影面８の形状は、曲面を予め平面で近似し、３次元ポリゴンデータとして所定の記憶領域に記憶しておく。例えば、１ポリゴン当たり４頂点が定義され、４頂点を結んだ４角形ポリゴンにより立体投影面８を構成することができる。立体投影面８を構成する各ポリゴンにはポリゴンＩＤが付与され、各ポリゴンを構成する頂点には頂点ＩＤが付与されている。ポリゴンＩＤは、ポリゴンを一意に識別する情報であり、頂点ＩＤは、ポリゴンの各頂点を識別する情報である。なお、以下では、１ポリゴンが四角形である場合について説明するが、１ポリゴンの形状は四角形に限定されず、他の多角形であってもよい。
【００３８】
投影面ポリゴンデータ生成部２４は、上記の３次元ポリゴンデータの各頂点の車両座標系におけるポリゴン頂点座標値（Ｘ，Ｙ，Ｚ）と、時刻Ｔのテクスチャ画像のテクスチャ座標値（Ｓ（Ｔ），Ｔ（Ｔ））とを対応付けた時刻Ｔの投影面ポリゴンデータを生成する。時刻Ｔの投影面ポリゴンデータの一例を図９に示す。ポリゴン頂点座標値（Ｘ，Ｙ，Ｚ）とテクスチャ座標値（Ｓ（Ｔ），Ｔ（Ｔ））との対応付けは、各カメラ１１の設置位置及び設置角度に基づいて、仮想視点投影により算出する。
【００３９】
仮想視点投影では、図１０に示すように、仮想視点位置Ｖｐを基準に、立体投影面８上の点を仮想視点投影面７に投影する。仮想視点投影面７は、車両座標系のＺ軸が０以上となる範囲において、十分に大きい距離の半径Ｒ及び車両座標系の原点に中心を持つ半球と、道路平面とを組み合わせた形状の投影面である。図１０では、点Ｐ１がＣ１へ、点Ｐ２がＣ２へそれぞれ投影される。そして、仮想視点投影面７に投影された点Ｃ１，Ｃ２からカメラ１１への車両座標系における入射ベクトルＩ１，Ｉ２を、各カメラ画像のローカル画像座標系における入射ベクトルに変換する。さらに、ローカル画像座標系をテクスチャ画像座標系に変換することで、ポリゴン頂点座標値（Ｘ，Ｙ，Ｚ）とテクスチャ座標値（Ｓ（Ｔ），Ｔ（Ｔ））との対応付けを行うことができる。投影面ポリゴンデータのより具体的な生成方法は、後述の補間用の投影面ポリゴンデータの生成において詳述する。なお、現在時刻Ｔの投影面ポリゴンデータの生成は、ΔＴ間の移動量に基づく座標変換を行わない点が、後述の補間用の投影面ポリゴンデータの生成とは異なる。
【００４０】
ここで、現在時刻Ｔにおける立体投影面８において、現在時刻Ｔに撮影されたカメラ画像中での立体物Ｏに対応する領域を図１１中のＳで示す。この領域Ｓを含む立体投影面８に基づいて全周囲画像を合成した場合には、図１２に示すように、立体物の投影像が大きく引き延ばされたり歪んだりした画像となってしまう。また、レンジセンサ１２による計測結果による３次元位置情報に基づいて、立体物を投影するための部分的な投影面を、立体投影面８とは異なる位置に生成することもできる。しかし、この場合、図１３に示すように、立体投影面８上に投影された立体物の投影像と、部分的な投影面に投影された立体物の投影像とが混在した画像となってしまう。さらに、部分的な投影面に投影された立体物については、立体投影面８へ投影しないようにすることもできる。しかし、この場合、立体投影面８の領域Ｓに対応するカメラ画像の画素は、カメラから見て立体物の裏側に相当するため、画素値が欠損している。そのため、図１４に示すように、立体物の影のような領域が全周囲画像上に発生してしまう。
【００４１】
そこで、投影面ポリゴンデータ生成部２４は、上記の仮想視点投影を用いることで、補間用の投影面ポリゴンデータを生成する。補間用の投影面ポリゴンデータとは、現在位置とは異なる位置で過去の時刻（Ｔ−ΔＴ）に撮影されたカメラ画像で構成されたテクスチャ画像を、現在時刻Ｔにおける立体投影面８に投影するための投影面ポリゴンデータである。この補間用の投影面ポリゴンデータを用いることで、現在時刻Ｔのテクスチャ画像により合成される全周囲画像中の立体物による画素値の欠損部分を、過去の時刻（Ｔ−ΔＴ）のテクスチャ画像の画素値を用いて補間することができる。以下に、補間用の投影面ポリゴンデータの生成について具体的に説明する。
【００４２】
図１１において、現在時刻Ｔにおける立体物Ｏに対応する立体投影面８上の領域Ｓに含まれる点Ｐ３，Ｐ４に対応するカメラ画像中の画素は、仮想視点投影面７に投影された点Ｃ３，Ｃ４を撮影した画素のはずである。しかし、現在時刻Ｔにおけるカメラ画像中では、領域Ｓに対応する画素は立体物Ｏの裏側に当たる画素であるため、立体物Ｏの裏側を示す画素値を有さない。言い換えると、領域Ｓに対応する画素の画素値は、立体物Ｏを示す画素値となる。
【００４３】
一方、時刻（Ｔ−ΔＴ）における車両１の位置及びカメラ位置は、以下に示すように、車両移動量計測部２１による計測結果により算出可能である。まず、道路を平面に近似して、車両挙動のうちピッチ（Ｘ軸まわりの回転運動）及びロール（Ｙ軸まわりの回転運動）を無視し、ΔＴ間の車両１の移動量（ＴＸ，ＴＹ，θ）を用いて、下記（１）式に示す４×４の座標変換マトリクスＭΔＴを定義する。
【００４４】
【数１】
2014085925.tif 000003
【００４５】
マトリクスＭΔＴは、現在時刻Ｔの車両座標系の座標値を時刻（Ｔ−ΔＴ）における車両座標系の座標値に変換するマトリクスである。従って、図１５に示すように、時刻（Ｔ−ΔＴ）における車両位置及びカメラの設置位置は、マトリクスＭΔＴの逆行列ＭΔＴ−１を用いて現在時刻Ｔの車両座標系に変換することができる。すなわち、現在時刻Ｔの車両座標系で表された時刻（Ｔ−ΔＴ）のカメラ位置を求めることができる。そして、点Ｃ３，Ｃ４に対応する時刻（Ｔ−ΔＴ）に撮影されたカメラ画像中の画素の画素値で、現在時刻Ｔにおける全周囲画像の欠損部分中の点Ｐ３，Ｐ４を補間する。
【００４６】
点Ｃ３，Ｃ４に対応する時刻（Ｔ−ΔＴ）に撮影されたカメラ画像中の画素を求めるには、点Ｃ３，Ｃ４からカメラ１１への入射光ベクトルＩ３，Ｉ４を用いる。上述のように、マトリクスＭΔＴの逆行列ＭΔＴ−１を用いることで、現在時刻Ｔの車両座標系で表された時刻（Ｔ−ΔＴ）のカメラ１１の位置は既知となる。このため、図１６に示すように、点Ｃ３，Ｃ４から時刻（Ｔ−ΔＴ）の位置でのカメラ１１への入射光ベクトルＩ３，Ｉ４を算出することができる（図１６中では点Ｃ４からカメラ１１への入射光ベクトルＩ４のみを図示）。なお、図１６中のＸＣ，ＹＣ，ＺＣは、点Ｃ４を撮影したカメラ１１のカメラ座標系の各軸を表している。
【００４７】
この入射光ベクトルＩ３，Ｉ４は、現在時刻Ｔにおける車両座標系によって定義されたものであるから、下記（２）式により、時刻（Ｔ−ΔＴ）の車両座標系で表された入射光ベクトルＩ＊３，Ｉ＊４に変換する。
Ｉ＊ｎ＝ＭΔＴＩｎ          （２）
【００４８】
車両座標系とカメラ座標系との間のベクトルの変換は４×４のマトリクスＭＣで行うことができる。マトリクスＭＣは、車両１に対するカメラ１１の設置位置及び設置角度により決定することができ、事前の計測により求めておく。マトリクスＭＣを用いると、カメラ座標系での入射光ベクトルＩ３Ｃ，Ｉ４Ｃは、下記（３）式により求めることができる。
ＩｎＣ＝ＭＣＩ＊ｎ＝ＭＣＭΔＴＩｎ          （３）
【００４９】
さらに、図１７に示すように、入射光ベクトルＩ３Ｃ，Ｉ４Ｃに対応する時刻（Ｔ−ΔＴ）のテクスチャ画像を構成するカメラ画像の画素Ｑ３（Ｔ−ΔＴ），Ｑ４（Ｔ−ΔＴ）は、下記（４）式により求められる。
Ｑｎ（Ｔ−ΔＴ）＝ＴＣ（ＩｎＣ）          （４）
【００５０】
ここで、ＴＣはカメラ１１毎に定められた入射光ベクトルとカメラ画像の各画素の位置との関係を表す関数やテーブルであり、カメラ１１のレンズディストーションなどのパラメータにより事前に算出可能なものである。また、上記（２）式〜（４）式におけるｎは、任意の正数であり、ここではｎ＝３，４である。また、図１７中のＸＱ，ＹＱは、点Ｃ３，Ｃ４を撮影したカメラ１１のローカル画像座標系の各軸であり、（Ｑ４Ｘ（Ｔ−ΔＴ），Ｑ４Ｙ（Ｔ−ΔＴ））は、ローカル画像座標系における時刻（Ｔ−ΔＴ）のカメラ画像の画素Ｑ４（Ｔ−ΔＴ）の座標値である。このようにして求めたローカル画像座標系における座標値（ＱｎＸ（Ｔ−ΔＴ），ＱｎＹ（Ｔ−ΔＴ））を、ローカル画像座標系における座標値とテクスチャ画像座標値との対応関係により、テクスチャ座標値（ｓｎ（Ｔ−ΔＴ），ｔｎ（Ｔ−ΔＴ））に変換する。これにより、補間用の投影面ポリゴンデータを生成することができる。
【００５１】
投影面ポリゴンデータ生成部２４は、生成した現在時刻Ｔの投影面ポリゴンデータ及び補間用の投影面ポリゴンデータを画像合成部２６へ出力する。
【００５２】
視点位置決定部２５は、図１８に示すように、画像合成部２６で全周囲画像を合成する際の視点位置を決定する。視点位置決定部２５は、舵角センサ１５、ブレーキセンサ１６、及びウインカセンサ１７で検出された各センサ値に基づいて、車両１の状態（前進、後退等）を特定し、予め登録された複数の視点位置から、車両１の状態に応じた視点位置を選択して決定する。視点位置決定部２５は、決定した視点位置の情報を画像合成部２６へ出力する。
【００５３】
画像合成部２６は、テクスチャ画像記憶部３０及び立体物マスク画像記憶部３２を参照し、視点位置決定部２５により決定された視点位置から、現在時刻Ｔのテクスチャ画像が投影された立体投影面８を見た場合の全周囲画像を合成する。合成した全周囲画像は、合成画像記憶部３４に記憶する。次に、画像合成部２６は、過去画像セット記憶部３３Ｂに記憶されている過去画像セットを参照し、上述の視点位置から、過去の時刻（Ｔ−ΔＴ）のテクスチャ画像が投影された現在時刻Ｔの立体投影面８を見た場合の全周囲画像を合成する。この際、画像合成部２６は、合成画像記憶部３４に記憶されている合成画像上の立体物を示す画素に対して、時刻（Ｔ−ΔＴ）のテクスチャ画像の画素値を重畳描画する。なお、ここでの「描画」とは、合成画像上の各画素に画素値を書き込むことである。その後、３次元位置記憶部３１に記憶された３次元位置情報に基づく立体物形状、及び予め登録しておいた車両形状を、合成画像記憶部３４に記憶された合成画像上に重畳描画する。
【００５４】
画像合成部２６の処理をより具体的に説明する。
【００５５】
立体投影面８に投影されたテクスチャ画像からの全周囲画像の合成は、任意の視点位置の下、立体投影面８を示す投影面ポリゴンデータを合成画像上に写像することにより実現することができる。この処理は、一般的な３次元コンピュータグラフィクス技術により容易に実装することができる。図１９にｐｉ（ｉ＝１，２，３，４）の４頂点により表される４角形ポリゴンの合成画像上への写像を示す。各頂点ｐｉは、投影面ポリゴンデータ生成部２４により生成された投影面ポリゴンデータに基づいて、車両座標系のポリゴン頂点座標値（３次元座標）及びテクスチャ画像のテクスチャ座標値（２次元座標）の５次元で定義されている。各頂点ｐｉは、視点位置決定部２５により決定された視点位置の下、３次元コンピュータグラフィクスの基本的な幾何変換である視野変換、モデリング変換、透視変換、及びビューポート変換を経て、合成画像の画素ｑｉ（ｉ＝１，２，３，４）に写像される。なお、図１９中のＶ，Ｕは、合成画像の２次元座標系の各軸である。ｑｉは合成画像の座標系の２次元座標値及び対応するテクスチャ座標値（２次元座標）の４次元ベクトル量である。ｑ１，ｑ２，ｑ３，ｑ４の４頂点で囲まれた４角形の内部の１画素をｑＦ＝（ｕＦ，ｖＦ，ｓＦ，ｔＦ）とすると、（ｕＦ，ｖＦ）は既知であるから、ＵＶ空間における線形補間により、４頂点ｑｉから（ｓＦ，ｔＦ）を算出することができる。
【００５６】
合成画像上の画素ｑＦの画素値は、テクスチャ画像及び立体物マスク画像に基づいて決定する。具体的には、まず、テクスチャ画像のテクスチャ座標値（ｓＦ，ｔＦ）の画素が立体物を示す画素か否かを、現在時刻Ｔの立体物マスク画像を用いて判定する。立体物を示す画素の場合は描画をスキップする。立体物を示す画素ではない場合には、合成画像上の画素ｑＦの画素値に、テクスチャ画像のテクスチャ座標値（ｓＦ，ｔＦ）の画素の画素値ＰＦを書き込むことで、図２０の上段に示すように、立体物像を投影しない全周囲画像を合成する。この段階で、描画をスキップした合成画像の画素は、画素値を有さない背景色の画素、すなわち画素値の欠損部分となる。
【００５７】
次に、過去の時刻（Ｔ−ΔＴ）のテクスチャ画像を立体投影面８に投影し、合成画像上に重畳描画する。この描画も現在時刻Ｔのテクスチャ画像の合成と同様に、投影面ポリゴンデータを合成画像上に写像することにより行うが、以下の点で現在時刻Ｔの場合と異なる。
（１）過去画像セット記憶部３３Ｂに記憶された時刻（Ｔ−ΔＴ）のテクスチャ画像を用いる。
（２）補間用の投影面ポリゴンデータを用いる。
（３）合成画像上に現在時刻Ｔのテクスチャ画像の画素値が既に書き込まれている場合（背景色以外の場合）には重畳描画しない。
【００５８】
時刻（Ｔ−ΔＴ）のテクスチャ画像を補間用の投影面ポリゴンデータに基づいて描画した合成画像の一例を図２０の中段に示す。なお、時刻（Ｔ−ΔＴ）の合成画像は、立体物による画素値の欠損部分にのみ適用するため、実際には描画されない。このように、過去の時刻（Ｔ−ΔＴ）のテクスチャ画像の画素値を、現在時刻Ｔの合成画像における画素値の欠損部分に重畳することで、図２０の下段に示すように、欠損部分が補間された全周囲画像を合成することができる。
【００５９】
画像処理装置１０は、例えば図２１に示すコンピュータ４０で実現することができる。コンピュータ４０はＣＰＵ４１、メモリ４２、不揮発性の記憶部４３、入出力インタフェース（ＩＦ）４４、及び表示デバイスＩＦ４５を備えている。ＣＰＵ４１、メモリ４２、記憶部４３、入出力ＩＦ４４、及び表示デバイスＩＦ４５は、バス４６を介して互いに接続されている。
【００６０】
コンピュータ４０は、入出力ＩＦ４０を介して、カメラ１１、レンジセンサ１２、車速センサ１３、ジャイロセンサ１４、舵角センサ１５、ブレーキセンサ１６、及びウインカセンサ１７と接続されている。また、コンピュータ４０は、表示デバイスＩＦ４５を介して、画像表示部１８と接続されている。
【００６１】
また、記憶部４３はＨＤＤ（Hard Disk Drive）やフラッシュメモリ等によって実現できる。記録媒体としての記憶部４３は、コンピュータ４０を画像処理装置１０として機能させるための画像処理プログラム５０を記憶する。また、記憶部４３には、テクスチャ画像記憶領域６０、３次元位置記憶領域６１、立体物マスク画像記憶領域６２、過去画像セット記憶領域６３Ａ，６３Ｂ、及び合成画像記憶領域６４が設けられている。ＣＰＵ４１は、画像処理プログラム５０を記憶部４３から読み出してメモリ４２に展開し、画像処理プログラム５０が有するプロセスを順次実行する。
【００６２】
画像処理プログラム５０は、取得プロセス５１、車両移動量計測プロセス５２、立体物マスク画像作成プロセス５３、過去画像セット管理プロセス５４、投影面ポリゴンデータ生成プロセス５５、視点位置決定プロセス５６、及び画像合成プロセス５７を有する。ＣＰＵ４１は、取得プロセス５１を実行することで、図１に示す取得部２０として動作する。また、ＣＰＵ４１は、車両移動量計測プロセス５２を実行することで、図１に示す車両移動量計測部２１として動作する。また、ＣＰＵ４１は、立体物マスク画像作成プロセス５３を実行することで、図１に示す立体物マスク画像作成部２２として動作する。また、ＣＰＵ４１は、過去画像セット管理プロセス５４を実行することで、図１に示す過去画像セット管理部２３として動作する。また、ＣＰＵ４１は、投影面ポリゴンデータ生成プロセス５５を実行することで、図１に示す投影面ポリゴンデータ生成部２４として動作する。また、ＣＰＵ４１は、視点位置決定プロセス５６を実行することで、図１に示す視点位置決定部２５として動作する。また、ＣＰＵ４１は、画像合成プロセス５７を実行することで、図１に示す画像合成部２６として動作する。
【００６３】
画像処理装置１０がコンピュータ４０で実現される場合、テクスチャ画像記憶領域６０は図１に示すテクスチャ画像記憶部３０として機能する。また、３次元位置記憶領域６１は図１に示す３次元位置記憶部３１として機能する。また、立体物マスク画像記憶領域６２は図１に示す立体物マスク画像記憶部３２として機能する。また、過去画像セット記憶領域６３Ａ，６３Ｂは図１に示す過去画像セット記憶領域３３Ａ，３３Ｂとして機能する。また、合成画像記憶領域６４は図１に示す合成画像記憶部３４として機能する。これにより、画像処理プログラム５０を実行したコンピュータ４０が、画像処理装置１０として機能することになる。
【００６４】
なお、画像処理装置１０は、例えば半導体集積回路、より詳しくはＡＳＩＣ（Application Specific Integrated Circuit）等で実現することも可能である。
【００６５】
次に、第１実施形態の作用を説明する。画像処理装置１０が起動されると、画像処理装置１０において、図２２に示す画像管理処理が開始される。また、画像処理装置１０において、画像管理処理と並行して、図２３に示す全周囲画像表示処理が実行される。以下、各処理について詳述する。
【００６６】
まず、画像管理処理（図２２）について説明する。ステップ１５０で、過去画像セット管理部２３が、過去画像セット記憶部３３Ａ，３３Ｂに記憶される過去画像セットに対応付ける車両１の移動量を初期化する。例えば、過去画像セット記憶部３３Ａに対応付ける移動量を（ＴＡＸ，ＴＡＹ，θ）＝（０，１ｍ，０）、過去画像セット記憶部３３Ｂに対応付ける移動量を（ＴＢＸ，ＴＢＹ，θ）＝（０，２ｍ，０）とすることができる。
【００６７】
次に、ステップ１５２で、過去画像セット管理部２３が、過去画像セット記憶部３３Ａ，３３Ｂに記憶されているデータをクリアする。
【００６８】
次に、ステップ１５４で、取得部２０が、カメラ１１の各々で撮影された各カメラ画像を取得し、取得した各カメラ画像でテクスチャ画像を構成して、カメラ画像の撮影時刻と対応付けてテクスチャ画像記憶部３０に記憶する。
【００６９】
次に、ステップ１５６で、取得部２０が、レンジセンサ１２の各々で計測された距離データ及びレーザパルスの発射角度を取得し、各計測点の３次元位置を算出する。算出した３次元位置を示す３次元位置情報と距離データの計測時刻とを対応付けて３次元位置記憶部３１に記憶する。
【００７０】
次に、ステップ１５８で、立体物マスク画像作成部２２が、３次元位置記憶部３１に記憶された３次元位置情報に基づいて、テクスチャ画像中で立体物を示す画素を特定するための立体物マスク画像を作成する。立体物マスク画像の各マスク値ＲＦは、画素位置が対応するテクスチャ画像の画素が立体物を示す画素の場合には１、立体物を示す画素ではない場合には０とする。立体物マスク画像作成部２２は、作成した立体物マスク画像を立体物マスク画像記憶部３２に記憶する。
【００７１】
次に、ステップ１６０で、取得部２０が、車速センサ１３及びジャイロセンサ１４から出力されたセンサ値を取得して、車両移動量計測部２１へ出力する。そして、車両移動量計測部２１が、過去画像セット記憶部３３Ａに記憶された過去画像セットに対応付けられた時刻（Ｔ−ΔＴＡ）と現在時刻Ｔとの間（ΔＴＡ）の車両１の移動量（ＴＡＸ，ＴＡＹ，θＡ）を計測する。同様に、過去画像セット記憶部３３Ｂに記憶された過去画像セットに対応付けられた時刻（Ｔ−ΔＴＢ）と現在時刻Ｔとの間（ΔＴＢ）の車両１の移動量（ＴＢＸ，ＴＢＹ，θＢ）を計測する。過去画像セット記憶部３３Ａ，３３Ｂに過去画像セットが記憶されていない場合には、上記ステップ１５０で初期化した移動量を用いる。
【００７２】
次に、ステップ１６２で、上記ステップ１６０で計測された移動量のうち、｜ＴＢＹ｜が２ｍ以上となったか否かを判定する。｜ＴＢＹ｜≧２ｍの場合には、ステップ１６４へ移行し、｜ＴＢＹ｜＜２ｍの場合には、ステップ１５４へ戻る。なお、「２ｍ」は、過去画像セットの保存及び廃棄を管理するためのΔＴ間の車両１の移動量の一例であり、他の値としてもよい。
【００７３】
ステップ１６４では、過去画像セット管理部２３が、過去画像セット記憶部３３Ｂに記憶された過去画像セットを廃棄する。同時に、過去画像セット管理部２３が、過去画像セット記憶部３３Ａに記憶された過去画像セットを過去画像セット記憶部３３Ｂに移行する。次に、ステップ１６６で、過去画像セット管理部２３が、テクスチャ画像記憶部３０に記憶されているテクスチャ画像、及び立体物マスク画像記憶部３２に記憶されている立体物マスク画像を、過去画像セット記憶部３３Ａにコピーする。
【００７４】
次に、ステップ１６８で、車両移動量計測部２１が、過去画像セット記憶部３３Ａ，３３Ｂに記憶された過去画像セットに対応付けられた撮影時刻と現在時刻との間の移動量を計測する。そして、過去画像セット管理部２３が、計測した移動量を過去画像セット記憶部３３Ａ，３３Ｂに記憶された過去画像セットの各々に対応付けて記憶し、ステップ１５４へ戻る。
【００７５】
次に、全周囲画像表示処理（図２３）について説明する。ステップ１００で、取得部２０が、舵角センサ１５、ブレーキセンサ１６、及びウインカセンサ１７で検出された各センサ値を取得し、視点位置決定部２５に出力する。
【００７６】
次に、ステップ１０２で、視点位置決定部２５が、上記ステップ１００で取得された各センサ値に基づいて、車両１の状態（前進、後退等）を特定する。そして、視点位置決定部２５が、特定された車両１の状態に基づいて、予め定めた全周囲画像を表示するタイミングか否かを判定する。全周囲画像を表示するタイミングの場合には、ステップ１０４へ移行し、全周囲画像を表示するタイミングではない場合には、ステップ１００へ戻る。
【００７７】
次に、ステップ１０４で、視点位置決定部２５が、上記ステップ１０２で特定した車両１の状態に基づいて、予め登録された複数の視点位置から、車両１の状態に応じた視点位置を選択して決定する。
【００７８】
次に、ステップ１０６で、投影面ポリゴンデータ生成部２４が、現在時刻Ｔの車両１を内部に含む立体投影面８を示す３次元ポリゴンデータを所定の記憶領域から読み込む。そして、投影面ポリゴンデータ生成部２４が、３次元ポリゴンデータの各ポリゴンのポリゴン頂点座標値（Ｘ，Ｙ，Ｚ）と、テクスチャ画像記憶部３０に記憶された時刻Ｔのテクスチャ画像のテクスチャ座標値（Ｓ（Ｔ），Ｔ（Ｔ））とを対応付ける。これにより、現在時刻Ｔの投影面ポリゴンデータが生成される。
【００７９】
次に、ステップ１０８で、現在時刻Ｔの画像合成処理を実行する。ここで、図２４を参照して、現在時刻Ｔの画像合成処理について説明する。
【００８０】
現在時刻Ｔの画像合成処理（図２４）のステップ１０８０で、画像合成部２６が、上記ステップ１０６で生成された現在時刻Ｔの投影面ポリゴンデータの各頂点ｐｉを、上記ステップ１０４で決定された視点位置の下、合成画像上の画素ｑｉに写像する。
【００８１】
次に、ステップ１０８２で、画像合成部２６が、合成画像上の画素ｑ１，ｑ２，ｑ３，ｑ４の４頂点で囲まれた４角形の内部の１画素ｑＦ＝（ｕＦ，ｖＦ，ｓＦ（Ｔ），ｔＦ（Ｔ））を算出する。
【００８２】
次に、ステップ１０８４で、画像合成部２６が、立体物マスク画像記憶部３２に記憶された現在時刻Ｔの立体物マスク画像を参照して、ｑＦ＝（ｕＦ，ｖＦ，ｓＦ（Ｔ），ｔＦ（Ｔ））が示す画素（ｓＦ（Ｔ），ｔＦ（Ｔ））のマスク値ＲＦ（Ｔ）を取得する。
【００８３】
次に、ステップ１０８６で、画像合成部２６が、上記ステップ１０８４で取得したマスク値ＲＦ（Ｔ）が０か否かを判定することにより、テクスチャ画像の画素（ｓＦ（Ｔ），ｔＦ（Ｔ））が立体物による画素値の欠損部分か否かを判定する。ＲＦ（Ｔ）＝０の場合には、欠損部分ではないと判定して、ステップ１０８８へ移行する。
【００８４】
ステップ１０８８では、画像合成部２６が、テクスチャ画像記憶部３０に記憶されている現在時刻Ｔのテクスチャ画像の画素（ｓＦ（Ｔ），ｔＦ（Ｔ））の画素値ＰＦ（Ｔ）を取得する。そして、ステップ１０９０で、画像合成部２６が、合成画像上の画素ｑＦの画素値に、上記ステップ１０８８で取得した画素値ＰＦ（Ｔ）を書き込む。
【００８５】
一方、上記ステップ１０８６で、ＲＦ（Ｔ）＝１の場合には、テクスチャ画像の画素（ｓＦ（Ｔ），ｔＦ（Ｔ））が立体物による画素値の欠損部分であると判定して、ステップ１０８８及び１０９０をスキップする。この場合、合成画像上の該当画素は、画素値を有さない背景色の画素となる。
【００８６】
上記ステップ１０８４〜１０９０の処理を合成画像上の全画素に対して行った合成画像が合成画像記憶部３４に記憶される。
【００８７】
全周囲画像表示処理（図２３）に戻って、次に、ステップ１１０で、投影面ポリゴンデータ生成部２４が、過去画像セット記憶部３３Ｂに記憶された過去画像セットに対応付けられた車両１のΔＴＢ間の移動量を取得する。投影面ポリゴンデータ生成部２４が、取得したΔＴＢ間の移動量を用いて、（１）式に示す４×４の座標変換マトリクスＭΔＴを定義する。そして、投影面ポリゴンデータ生成部２４が、現在時刻Ｔの車両座標系で表された時刻（Ｔ−ΔＴ）のカメラ１１の位置を、マトリクスＭΔＴの逆行列ＭΔＴ−１を用いて算出する。
【００８８】
次に、ステップ１１２で、投影面ポリゴンデータ生成部２４が、上記ステップ１０６で読み込んだ３次元ポリゴンデータの各ポリゴンの各頂点の仮想視点投影面７上への各投影点Ｃｎからカメラ１１への入射光ベクトルＩｎを算出する。ここでのカメラ１１の位置は、上記ステップ１１０で算出したカメラ１１の位置となる。また、投影面ポリゴンデータ生成部２４が、（２）式及び（３）式により、入射光ベクトルＩｎからカメラ座標系での入射光ベクトルＩｎＣを算出する。さらに、投影面ポリゴンデータ生成部２４が、（４）式により、入射光ベクトルＩｎＣに対応するカメラ画像のローカル画像座標系における位置Ｑｎを算出する。そして、投影面ポリゴンデータ生成部２４が、ローカル画像座標系とテクスチャ画像の画像座標系との対応関係に基づいて、ローカル画像座標値である位置Ｑｎをテクスチャ座標値に変換する。このようにして、３次元ポリゴンデータの各ポリゴンのポリゴン頂点座標値（Ｘ，Ｙ，Ｚ）と、過去画像セット記憶部３３Ｂに記憶されたテクスチャ画像のテクスチャ座標値（Ｓ（Ｔ−ΔＴ），Ｔ（Ｔ−ΔＴ））とを対応付ける。これにより、補間用の投影面ポリゴンデータが生成される。
【００８９】
次に、ステップ１１４で、時刻（Ｔ−ΔＴ）の画像合成処理を実行する。ここで、図２５を参照して、時刻（Ｔ−ΔＴ）の画像合成処理について説明する。
【００９０】
時刻（Ｔ−ΔＴ）の画像合成処理（図２５）のステップ１１４０で、画像合成部２６が、合成画像記憶部３４に記憶されている合成画像上の画素ｑＦの画素値が背景色か否かを判定する。画素ｑＦの画素値が背景色の場合には、ステップ１１４２へ移行する。ステップ１１４２では、画像合成部２６が、合成画像上の画素ｑＦ＝（ｕＦ，ｖＦ，ｓＦ（Ｔ），ｔＦ（Ｔ））の（ｕＦ，ｖＦ）に対応する（ｓＦ（Ｔ−ΔＴ），ｔＦ（Ｔ−ΔＴ））を、上記ステップ１１２で生成された補間用の投影面ポリゴンデータから取得する。そして、画像合成部２６が、過去画像セット記憶部３３Ｂに記憶された時刻（Ｔ−ΔＴ）の立体物マスク画像を参照して、画素（ｓＦ（Ｔ−ΔＴ），ｔＦ（Ｔ−ΔＴ））のマスク値ＲＦ（Ｔ−ΔＴ）を取得する。
【００９１】
次に、ステップ１１４４で、画像合成部２６が、上記ステップ１１４２で取得したマスク値ＲＦ（Ｔ−ΔＴ）が０か否かを判定する。これにより、時刻（Ｔ−ΔＴ）のテクスチャ画像の画素（ｓＦ（Ｔ−ΔＴ），ｔＦ（Ｔ−ΔＴ））が立体物による画素値の欠損部分か否かを判定する。ＲＦ（Ｔ−ΔＴ）＝０の場合には、欠損部分ではないと判定して、ステップ１１４６へ移行する。
【００９２】
ステップ１１４６では、画像合成部２６が、過去画像セット記憶部３３Ｂに記憶されている時刻（Ｔ−ΔＴ）のテクスチャ画像の画素（ｓＦ（Ｔ−ΔＴ），ｔＦ（Ｔ−ΔＴ））の画素値ＰＦ（Ｔ−ΔＴ）を取得する。そして、ステップ１１４８で、画像合成部２６が、合成画像上の画素ｑＦの画素値に、上記ステップ１１４６で取得した画素値ＰＦ（Ｔ−ΔＴ）を書き込む。
【００９３】
一方、ＲＦ（Ｔ−ΔＴ）＝１の場合には、上記ステップ１１４４で、テクスチャ画像の画素（ｓＦ（Ｔ−ΔＴ），ｔＦ（Ｔ−ΔＴ））が立体物による欠損部分であると判定して、ステップ１１４６及び１１４８をスキップする。この場合、合成画像上の該当画素は、画素値を有さない背景色の画素となる。
【００９４】
また、上記ステップ１１４０で、画素ｑＦの画素値が背景色ではないと判定された場合には、画素ｑＦには既に現在時刻Ｔのテクスチャ画像から画素値が書き込まれているため、ステップ１１４２〜１１４８をスキップする。
【００９５】
上記ステップ１１４０〜１１４８の処理を合成画像上の全画素に対して行った合成画像が合成画像記憶部３４に記憶される。
【００９６】
全周囲画像表示処理（図２３）に戻る。ステップ１１６で、画像合成部２６が、図２６に示すように、３次元位置記憶部３１に記憶された３次元位置情報に基づく立体物形状、及び予め登録しておいた車両形状を、合成画像記憶部３４に記憶された合成画像上に重畳描画する。
【００９７】
次に、ステップ１２０で、画像合成部２６が、合成画像記憶部３４に記憶された合成画像である全周囲画像を画像表示部１８に表示して、ステップ１００に戻る。
【００９８】
以上説明したように、第１実施形態の画像処理装置１０によれば、立体物の裏側に相当することにより、合成画像上で画素値を有さない欠損部分となる画素に対して、現在位置とは異なる位置で過去に撮影された画像から画素値を補間する。補間に用いられる過去の画像の画素を仮想視点投影により求めることにより、現在のカメラ位置と過去のカメラ位置との変化によるカメラ間の視差が軽減される。これにより、カメラ位置の違いによる白線や背景のズレが発生し難く、立体物による画素値の欠損部分が解消された自然な合成画像を生成することができる。また、立体物による画素値の欠損部分を効果的に補間することができるため、カメラが搭載された車両の移動などによるカメラ位置の変化に伴う欠損部分の画面上での大きな変動も抑制することができる。そのため、例えばドライバの視線が不用意に欠損部分に引き寄せられることを防止し、ドライバの安全運転に貢献する。
【００９９】
なお、第１実施形態では、補間用の投影面ポリゴンデータを生成する際に、３次元ポリゴンデータの全てのポリゴン頂点座標に対するテクスチャ座標値を求める場合について説明したが、補間用の投影面ポリゴンデータは部分的に生成してもよい。例えば、現在時刻Ｔのテクスチャ画像において、立体物による画素値の欠損部分であると判定された画素に対応するポリゴン頂点座標についてのみ、時刻（Ｔ−ΔＴ）のテクスチャ座標値と対応付けるようにするとよい。これにより、補間用の投影面ポリゴンデータを生成する処理量を大幅に削減することができる。
【０１００】
〔第２実施形態〕
次に開示の技術の第２実施形態について説明する。図２７には、第２実施形態に係る画像処理装置２１０が示されている。なお、第２実施形態の画像処理装置２１０について、第１実施形態の画像処理装置１０と同一の部分には、同一の符号を付して詳細な説明を省略する。
【０１０１】
画像処理装置２１０は、取得部２０、車両移動量計測部２１、立体物マスク画像作成部２２、過去画像セット管理部２３、投影面ポリゴンデータ生成部２２４、視点位置決定部２５、画像合成部２２６、及びテクスチャ画像補間部２７を有する。さらに、画像処理装置２１０は、テクスチャ画像記憶部３０、３次元位置記憶部３１、立体物マスク画像記憶部３２、過去画像セット記憶部３３Ａ，３３Ｂ、及び合成画像記憶部３４を有する。なお、投影面ポリゴンデータ生成部２２４は開示の技術の対応関係生成部の一例である。また、画像合成部２２６は開示の技術の合成部の一例である。また、テクスチャ画像補間部２７は開示の技術の補間部の一例である。
【０１０２】
テクスチャ画像補間部２７は、テクスチャ画像記憶部３０に記憶された現在時刻Ｔのテクスチャ画像における立体物による画素値の欠陥部分を、過去画像セット記憶部３３Ｂに記憶された時刻（Ｔ−ΔＴ）のテクスチャ画像を用いて補間する。
【０１０３】
具体的には、テクスチャ画像補間部２７は、立体物マスク画像記憶部３２に記憶された立体物マスク画像を参照して、現在時刻Ｔのテクスチャ画像中の画素値の欠損部分に該当する画素を判別し、その画素をローカル画像座系の画素ＱＦ（Ｔ）に変換する。また、テクスチャ画像補間部２７は、画素ＱＦ（Ｔ）に対応する仮想視点投影面７上の点ＣＦからカメラ１１へのカメラ座標系での入射光ベクトルＩＦＣを算出する。入射光ベクトルＩＦＣは、カメラ１１毎に定められた入射光ベクトルとカメラ画像上の位置との関係を表す関数やテーブルＴＣを用いて、（４）式を逆算することにより算出することができる。さらに、テクスチャ画像補間部２７は、車両座標系の入射光ベクトルＩＦを算出する。入射光ベクトルＩＦは、車両座標系とカメラ座標系とを変換するためのマトリクスＭＣを用いて、（３）式を逆算することにより算出することができる。そして、テクスチャ画像補間部２７は、車両座標系の入射光ベクトルＩＦにより、仮想視点投影面７上の点ＣＦを特定する。
【０１０４】
一方、テクスチャ画像補間部２７は、ΔＴ間の車両１の移動量（ＴＸ，ＴＹ，θ）を用いて（１）式で表されるマトリクスＭΔＴの逆行列ＭΔＴ−１を用いて、過去の時刻（Ｔ−ΔＴ）における車両１の位置を、現在時刻Ｔの車両座標系に変換する。これにより、現在時刻Ｔの車両座標系で表された時刻（Ｔ−ΔＴ）のカメラ位置を求める。以降は、第１実施形態と同様に、図１６及び図１７に示すように、（２）式〜（３）式に従って、点ＣＦに対応する時刻（Ｔ−ΔＴ）のテクスチャ画像における画素ＱＦ（Ｔ−ΔＴ）を求めることができる。
【０１０５】
また、テクスチャ画像補間部２７は、時刻（Ｔ−ΔＴ）のテクスチャ画像における画素ＱＦ（Ｔ−ΔＴ）の画素値ＰＦ（Ｔ−ΔＴ）を取得し、現在時刻Ｔのテクスチャ画像の画素ＱＦ（Ｔ）の画素値として書き込む。これにより、図２８に示すように、現在時刻Ｔのテクスチャ画像上で、欠損部分を補間することができる。
【０１０６】
投影面ポリゴンデータ生成部２２４は、第１実施形態の投影面ポリゴンデータ生成部２４と同様に、現在時刻Ｔの投影面ポリゴンデータを生成する。しかし、第１実施形態と異なり、立体物による画素値の欠損部分の補間は、テクスチャ画像上で行われているため、補間用の投影面ポリゴンデータを生成する必要はない。
【０１０７】
画像合成部２２６は、投影面ポリゴンデータ生成部２２４で生成された現在時刻Ｔの投影面ポリゴンデータに基づいて、テクスチャ画像補間部２７により欠損部分が補間された現在時刻Ｔのテクスチャ画像を合成画像上に写像する。これにより、全周囲画像を合成する。
【０１０８】
画像処理装置２１０は、第１実施形態と同様に、例えば図２１に示すコンピュータ２４０で実現することができる。記録媒体としての記憶部４３は、コンピュータ２４０を画像処理装置２１０として機能させるための画像処理プログラム２５０を記憶する。ＣＰＵ４１は、画像処理プログラム２５０を記憶部４３から読み出してメモリ４２に展開し、画像処理プログラム２５０が有するプロセスを順次実行する。
【０１０９】
画像処理プログラム２５０は、取得プロセス５１、車両移動量計測プロセス５２、過去画像セット管理プロセス５３、立体物マスク画像作成プロセス５４、投影面ポリゴンデータ生成プロセス２５５、及び視点位置決定プロセス５６を有する。また、画像処理プログラム２５０は、画像合成プロセス２５７、及びテクスチャ画像補間プロセス５８を有する。ＣＰＵ４１は、テクスチャ画像補間プロセス５８を実行することで、図２７に示すテクスチャ画像補間部２７として動作する。また、ＣＰＵ４１は、投影面ポリゴンデータ生成プロセス２５５を実行することで、図２７に示す投影面ポリゴンデータ生成部２２４として動作する。また、ＣＰＵ４１は、画像合成生成プロセス２５７を実行することで、図２７に示す画像合成部２２６として動作する。その他のプロセス及び記憶領域については第１実施形態の画像処理プログラム５０と同様である。これにより、画像処理プログラム２５０を実行したコンピュータ２４０が、画像処理装置２１０として機能することになる。
【０１１０】
なお、画像処理装置２１０は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【０１１１】
次に、第２実施形態の作用を説明する。画像処理装置２１０が起動されると、画像処理装置２１０において、図２２に示す画像管理処理が開始される。また、画像処理装置２１０において、画像管理処理と並行して、図２９に示す全周囲画像表示処理が実行される。画像管理処理については第１実施形態と同様であるため、以下では、全周囲画像表示処理について説明する。なお、第２実施形態の全周囲画像表示処理において、第１実施形態の全周囲画像表示処理と同一の処理については、同一符号を付して詳細な説明を省略する。
【０１１２】
全周囲画像表示処理（図２９）のステップ１００で、取得部２０が、舵角センサ１５、ブレーキセンサ１６、及びウインカセンサ１７で検出された各センサ値を取得し、視点位置決定部２５に出力する。
【０１１３】
次に、ステップ１０２で、視点位置決定部２５が、上記ステップ１００で取得された各センサ値に基づいて、全周囲画像を表示するタイミングか否かを判定する。全周囲画像を表示するタイミングの場合には、ステップ２００へ移行し、全周囲画像を表示するタイミングではない場合には、ステップ１００へ戻る。
【０１１４】
ステップ２００では、テクスチャ画像補間部２７が、過去画像セット記憶部３３Ｂに記憶された過去画像セットに対応付けられた車両１のΔＴＢ間の移動量を取得する。そして、テクスチャ画像補間部２７が、取得したΔＴＢ間の移動量を用いて、（１）式に示す４×４の座標変換マトリクスＭΔＴを定義する。さらに、テクスチャ画像補間部２７が、現在時刻Ｔの車両座標系で表された時刻（Ｔ−ΔＴ）のカメラ１１の位置を、マトリクスＭΔＴの逆行列ＭΔＴ−１を用いて算出する。
【０１１５】
次に、ステップ２０２で、テクスチャ画像補間部２７が、立体物マスク画像記憶部３２に記憶された立体物マスク画像を参照して、現在時刻Ｔのテクスチャ画像中の欠損部分に該当するローカル画像座系の画素ＱＦ（Ｔ）を求める。また、テクスチャ画像補間部２７が、画素ＱＦ（Ｔ）に対応する車両座標系の入射光ベクトルＩＦを算出し、仮想視点投影面７上の点ＣＦを特定する。次に、テクスチャ画像補間部２７が、上記ステップ２００で求めた現在時刻Ｔの車両座標系で表された時刻（Ｔ−ΔＴ）のカメラ１１の位置により、点ＣＦに対応する時刻（Ｔ−ΔＴ）のテクスチャ画像における画素ＱＦ（Ｔ−ΔＴ）を求める。そして、テクスチャ画像補間部２７が、時刻（Ｔ−ΔＴ）のテクスチャ画像における画素ＱＦ（Ｔ−ΔＴ）の画素値ＰＦ（Ｔ−ΔＴ）を、現在時刻Ｔのテクスチャ画像の画素ＱＦ（Ｔ）の画素値として書き込む。これにより、現在時刻Ｔのテクスチャ画像上で、欠損部分が補間される。
【０１１６】
次に、ステップ１０４で、視点位置決定部２５が視点位置を決定し、次のステップ１０６で、投影面ポリゴンデータ生成部２４が、現在時刻Ｔの投影面ポリゴンデータを生成する。
【０１１７】
次に、ステップ２０４で、画像合成部２２６が、上記ステップ１０６で生成された現在時刻Ｔの投影面ポリゴンデータに基づいて、上記ステップ２０２で補間された現在時刻Ｔのテクスチャ画像を合成画像上に写像することにより、全周囲画像を合成する。
【０１１８】
次に、ステップ１１６で、画像合成部２２６が、３次元位置情報に基づく立体物形状及び車両形状を合成画像上に重畳描画し、次のステップ１２０で、画像合成部２２６が全周囲画像を画像表示部１８に表示して、ステップ１００に戻る。
【０１１９】
以上説明したように、第２実施形態の画像処理装置２１０によれば、過去の時刻（Ｔ−ΔＴ）のテクスチャ画像を用いて、現在時刻Ｔのテクスチャ画像における立体物による画素値の欠損部分を補間する。これにより、現在時刻Ｔの投影面ポリゴンデータとは別に、過去の時刻（Ｔ−ΔＴ）の投影面ポリゴンデータを生成することなく、第１実施形態と同様に、立体物による画素値の欠損部分が解消された自然な合成画像を生成することができる。
【０１２０】
なお、上記各実施形態では、車両の前後左右に設置した４台のカメラ及び４台のレンジセンサを用いて、車両周辺３６０度の全周囲画像を合成する場合について説明したが、この場合に限定されない。カメラ及びレンジセンサの数は３台以下でも５台以上でもよく、例えば、１台のカメラと１台または複数台のレンジセンサとを用いるようにしてもよい。また、合成される画像も全周囲画像に限定されず、特定の範囲を対象とした画像を合成するようにしてもよい。
【０１２１】
また、上記各実施形態では、車両周辺の立体物上の各点の３次元位置の取得に測距センサであるレンジセンサを用いる場合について説明したが、ステレオカメラ等を用いてもよい。
【０１２２】
また、上記各実施形態では、欠損部分の補間に用いる過去の時刻のテクスチャ画像として、時刻（Ｔ−ΔＴ）の１時刻分のテクスチャ画像のみを用いる場合について説明したが、複数時刻分の過去の時刻のテクスチャ画像を用いてもよい。この場合、第１実施形態では、複数の過去の時刻分に対応した複数の補間用の投影面ポリゴンデータを生成し、各補間用の投影面ポリゴンデータに基づいて、対応する過去の時刻のテクスチャ画像の画素値を欠損部分の画素に書き込むようにするとよい。また、第２実施形態では、テクスチャ画像補間部によるテクスチャ画像の補間を、複数の過去の時刻分繰り返し行うようにするとよい。これにより、欠損部分が補間される割合がより高まり、より自然な合成画像を生成することができる。
【０１２３】
また、上記各実施形態では、過去の時刻のテクスチャ画像を用いて現在時刻の合成画像またはテクスチャ画像の欠損部分を補間する場合について説明した。開示の技術は、現在時刻のテクスチャ画像を用いて過去の時刻の合成画像またはテクスチャ画像の欠損部分を補間する場合にも適用することができる。これにより、合成画像の記録を目的とするような場合において、既に記録されている過去の時刻の合成画像の欠損部分を遡って補間することができる。
【０１２４】
また、上記各実施形態では、開示の技術の画像処理装置が車両に搭載されている場合について説明したが、車両以外の移動体（例えば、ロボット等）に搭載してもよい。また、開示の技術の画像処理装置を移動体とは異なる場所に設置し、移動体に搭載されたカメラ、レンジセンサ、その他各種センサで検出されたデータを通信により取得するようにしてもよい。
【０１２５】
また、上記では開示の技術における画像処理プログラムの一例である画像処理プログラム５０、２５０が記憶部４３に予め記憶（インストール）されている態様を説明した。しかし、開示の技術における画像処理プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【０１２６】
以上の実施形態に関し、更に以下の付記を開示する。
【０１２７】
（付記１）
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得する取得部と、第１時刻と第２時刻との間に移動した前記移動体の移動量を計測する移動量計測部と、前記取得部により取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定する特定部と、前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成すると共に、前記移動量計測部により計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、前記立体投影面上の各点と前記第２時刻に撮影された第２画像の各画素の位置との対応を示す第２対応関係を仮想視点投影により生成する対応関係生成部と、所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第１対応関係に基づいて前記第１画像の対応する画素の画素値とすると共に、前記第１画像において前記特定部により立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第２対応関係に基づいて前記第２画像の対応する画素の画素値とすることにより、前記合成画像を合成する合成部と、を含む画像処理装置。
【０１２８】
（付記２）
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得する取得部と、第１時刻と第２時刻との間に移動した前記移動体の移動量を計測する移動量計測部と、前記取得部により取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定する特定部と、前記移動量計測部により計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、前記特定部により立体物を示す画素として特定された前記第１画像の画素の画素値を、対応する前記第２時刻に撮影された第２画像の画素の画素値で補間する補間部と、前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成する対応関係生成部と、所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第１対応関係に基づいて前記補間部による補間後の第１画像の対応する画素の画素値とすることにより、前記合成画像を合成する合成部と、を含む画像処理装置。
【０１２９】
（付記３）
前記移動量計測部により計測された前記第１時刻と前記第２時刻との間に移動した前記移動体の移動量に基づいて、前記第１時刻における前記移動体の位置と前記第２時刻における前記移動体の位置との差が、予め定めた所定範囲内となるように前記第２画像を管理する管理部を含む付記１または付記２記載の画像処理装置。
【０１３０】
（付記４）
前記特定部は、前記第１画像中で立体物を示す画素を特定する立体物マスク画像を作成する付記１〜付記３のいずれか１つに記載の画像処理装置。
【０１３１】
（付記５）
前記対応関係生成部は、撮影された画像を、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影し、前記仮想視点投影面に投影された点を、仮想視点位置を基準に前記立体投影面に再投影する仮想視点投影を用いる付記１〜付記４のいずれか１つに記載の画像処理装置。
【０１３２】
（付記６）
前記合成部は、前記取得部により取得した３次元位置情報に基づく立体物、及び予め登録された前記移動体の形状を前記合成画像に合成する付記１〜付記４のいずれか１つに記載の画像処理装置。
【０１３３】
（付記７）
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得し、第１時刻と第２時刻との間に移動した前記移動体の移動量を計測し、取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定し、前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成すると共に、計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、前記立体投影面上の各点と前記第２時刻に撮影された第２画像の各画素の位置との対応を示す第２対応関係を仮想視点投影により生成し、所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第１対応関係に基づいて前記第１画像の対応する画素の画素値とすると共に、前記第１画像において立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第２対応関係に基づいて前記第２画像の対応する画素の画素値とすることにより、前記合成画像を合成することを含む画像処理方法。
【０１３４】
（付記８）
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得し、第１時刻と第２時刻との間に移動した前記移動体の移動量を計測し、取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定し、計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、立体物を示す画素として特定された前記第１画像の画素の画素値を、対応する前記第２時刻に撮影された第２画像の画素の画素値で補間し、前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成し、所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第１対応関係に基づいて、補間後の第１画像の対応する画素の画素値とすることにより、前記合成画像を合成することを含む画像処理方法。
【０１３５】
（付記９）
計測された前記第１時刻と前記第２時刻との間に移動した前記移動体の移動量に基づいて、前記第１時刻における前記移動体の位置と前記第２時刻における前記移動体の位置との差が、予め定めた所定範囲内となるように前記第２画像を管理することをさらに含む付記７または付記８記載の画像処理方法。
【０１３６】
（付記１０）
前記第１時刻に撮影された第１画像中で立体物を示す画素を特定することは、前記第１画像中で立体物を示す画素を特定する立体物マスク画像を作成することである付記７〜付記９のいずれか１つに記載の画像処理方法。
【０１３７】
（付記１１）
第１対応関係及び第２対応関係を生成する際に、撮影された画像を、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影し、前記仮想視点投影面に投影された点を、仮想視点位置を基準に前記立体投影面に再投影する仮想視点投影を用いる付記７〜付記１０のいずれか１つに記載の画像処理方法。
【０１３８】
（付記１２）
前記取得部により取得した３次元位置情報に基づく立体物、及び予め登録された前記移動体の形状を前記合成画像に合成する付記７〜付記１１のいずれか１つに記載の画像処理方法。
【０１３９】
（付記１３）
コンピュータに、移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得し、第１時刻と第２時刻との間に移動した前記移動体の移動量を計測し、取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定し、前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成すると共に、計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、前記立体投影面上の各点と前記第２時刻に撮影された第２画像の各画素の位置との対応を示す第２対応関係を仮想視点投影により生成し、所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第１対応関係に基づいて前記第１画像の対応する画素の画素値とすると共に、前記第１画像において立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第２対応関係に基づいて前記第２画像の対応する画素の画素値とすることにより、前記合成画像を合成することを含む処理を実行させるための画像処理プログラム。
【０１４０】
（付記１４）
コンピュータに、移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された３次元位置を示す３次元位置情報を取得し、第１時刻と第２時刻との間に移動した前記移動体の移動量を計測し、取得された前記３次元位置情報に基づいて、前記第１時刻に撮影された第１画像中で立体物を示す画素を特定し、計測された移動量に基づいて、前記第２時刻における前記移動体の位置を前記第１時刻における前記移動体座標系によって表し、立体物を示す画素として特定された前記第１画像の画素の画素値を、対応する前記第２時刻に撮影された第２画像の画素の画素値で補間し、前記第１時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第１画像の各画素の位置との対応を示す第１対応関係を仮想視点投影により生成し、所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第１対応関係に基づいて、補間後の第１画像の対応する画素の画素値とすることにより、前記合成画像を合成することを含む処理を実行させるための画像処理プログラム。
【０１４１】
（付記１５）
計測された前記第１時刻と前記第２時刻との間に移動した前記移動体の移動量に基づいて、前記第１時刻における前記移動体の位置と前記第２時刻における前記移動体の位置との差が、予め定めた所定範囲内となるように前記第２画像を管理することを含む処理をコンピュータに実行させるための付記１３または付記１４画像処理プログラム。
【０１４２】
（付記１６）
前記第１時刻に撮影された第１画像中で立体物を示す画素を特定することは、前記第１画像中で立体物を示す画素を特定する立体物マスク画像を作成することである付記１３〜付記１５のいずれか１つに記載の画像処理プログラム。
【０１４３】
（付記１７）
第１対応関係及び第２対応関係を生成する際に、撮影された画像を、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影し、前記仮想視点投影面に投影された点を、仮想視点位置を基準に前記立体投影面に再投影する仮想視点投影を用いる付記１３〜付記１６のいずれか１つに記載の画像処理プログラム。
【０１４４】
（付記１８）
前記取得部により取得した３次元位置情報に基づく立体物、及び予め登録された前記移動体の形状を前記合成画像に合成する付記１３〜付記１７のいずれか１つに記載の画像処理プログラム。
【符号の説明】
【０１４５】
１０、２１０  画像処理装置
１１Ｆ，１１Ｂ，１１Ｌ，１１Ｒ     カメラ
１２Ｆ，１２Ｂ，１２Ｌ，１２Ｒ     レンジセンサ
２０   取得部
２１   車両移動量計測部
２２   立体物マスク画像作成部
２３   過去画像セット管理部
２４、２２４  投影面ポリゴンデータ生成部
２５   視点位置決定部
２６、２２６  画像合成部
２７   テクスチャ画像補間部
３０   テクスチャ画像記憶部
３１   ３次元位置記憶部
３２   立体物マスク画像記憶部
３３Ａ，３３Ｂ       過去画像セット記憶部
３４   合成画像記憶部
４０、２４０  コンピュータ
【図１】
2014085925.tif 000004
【図２】
2014085925.tif 000005
【図３】
2014085925.tif 000006
【図６】
2014085925.tif 000007
【図７】
2014085925.tif 000008
【図８】
2014085925.tif 000009
【図９】
2014085925.tif 000010
【図１０】
2014085925.tif 000011
【図１６】
2014085925.tif 000012
【図１７】
2014085925.tif 000013
【図２１】
2014085925.tif 000014
【図２２】
2014085925.tif 000015
【図２３】
2014085925.tif 000016
【図２４】
2014085925.tif 000017
【図２５】
2014085925.tif 000018
【図２７】
2014085925.tif 000019
【図２８】
2014085925.tif 000020
【図２９】
2014085925.tif 000021
【図４】
2014085925.tif 000022
【図５】
2014085925.tif 000023
【図１１】
2014085925.tif 000024
【図１２】
2014085925.tif 000025
【図１３】
2014085925.tif 000026
【図１４】
2014085925.tif 000027
【図１５】
2014085925.tif 000028
【図１８】
2014085925.tif 000029
【図１９】
2014085925.tif 000030
【図２０】
2014085925.tif 000031
【図２６】
2014085925.tif 000032