(57)【要約】【課題】カメラモジュールに取付誤差が生じていても、簡単な処理で複数の画像から適切な俯瞰画像を作成できるようにする。【解決手段】複数のカメラモジュール２で撮像されたカメラ画像データを入力バッファ１２に格納し、記憶部１５に記憶されたアドレス変換テーブルを用いて、入力バッファ１２に格納されたカメラ画像データを出力バッファ１６に再配置して、俯瞰画像を作成する。記憶部１５には、カメラモジュール２に取付誤差が無い状態でのカメラ画像データを用いて俯瞰画像を作成するためのデフォルトのアドレス変換テーブルを、カメラモジュール２の車両に対する取付誤差を修正するパラメータに従って再構成させたアドレス変換テーブルを記憶させる。【選択図】図１
2006277738.tif 000002
【特許請求の範囲】
【請求項１】
車両周囲を撮像してカメラ画像データを生成する複数のカメラモジュールと接続され、当該カメラ画像データのそれぞれを視点変換して、車両周囲の俯瞰画像を表示手段に表示させる車載画像処理装置であって、
前記複数のカメラモジュールで生成されたカメラ画像データを格納する複数の入力バッファを備える入力手段と、
前記複数の入力バッファのそれぞれから取り出されたカメラ画像データを用いて作成された俯瞰画像を格納する出力バッファを備え、当該俯瞰画像を前記表示手段に出力する出力手段と、
前記カメラモジュールに対応した入力バッファを指定するカメラ番号と、前記俯瞰画像を作成するためのカメラ画像データを取り出す前記入力バッファ上のアドレスを指定する入力アドレス情報と、当該入力バッファ上のアドレスから取り出したカメラ画像データを格納する出力バッファ上のアドレスを指定する出力アドレス情報との対応関係を記述したアドレス変換テーブルを記憶する記憶手段と、
前記記憶手段に記憶されたアドレス変換テーブルに従って前記入力バッファからカメラ画像データを取り出し、当該カメラ画像データを、前記記憶手段に記憶されたアドレス変換テーブルに従って前記出力バッファに格納して、前記俯瞰画像を作成する画像処理手段とを備え、
前記記憶手段に記憶されているアドレス変換テーブルは、前記カメラモジュールの前記車両に対する取付誤差が無い状態でのカメラ画像データを用いて前記俯瞰画像を作成するための初期状態のアドレス変換テーブルを、前記カメラモジュールの前記車両に対する取付誤差を修正するパラメータに従って再構成させたアドレス変換テーブルであることを特徴とする車載画像処理装置。
【請求項２】
前記記憶手段に記憶されているアドレス変換テーブルは、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が、前記カメラモジュールの前記車両に対する取付誤差を修正するパラメータに従って変更されることで再構成されたものであることを特徴とする請求項１に記載の車載画像処理装置。
【請求項３】
前記初期状態のアドレス変換テーブルを、前記カメラモジュールの前記車両に対する取付誤差を修正するパラメータに従って再構成させて前記記憶手段に記憶させるテーブル再構成手段を備えることを特徴とする請求項１に記載の車載画像処理装置。
【請求項４】
前記テーブル再構成手段は、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報を、前記カメラモジュールの前記車両に対する取付誤差を修正するパラメータに従って変更して、前記記憶手段に記憶させるアドレス変換テーブルを再構成することを特徴とする請求項３に記載の車載画像処理装置。
【請求項５】
前記テーブル再構成手段は、前記カメラモジュールの前記車両に対する取付誤差であるカメラ座標系のヨー角の誤差量に応じたパラメータに従って、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を画像座標系の横方向にシフトさせることを特徴とする請求項４に記載の車載画像処理装置。
【請求項６】
前記テーブル再構成手段は、前記カメラモジュールの前記車両に対する取付誤差であるカメラ座標系のピッチ角の誤差量に応じたパラメータに従って、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を画像座標系の縦方向にシフトさせることを特徴とする請求項４又は５に記載の車載画像処理装置。
【請求項７】
前記テーブル再構成手段は、前記カメラモジュールの前記車両に対する取付誤差であるカメラ座標系のロール角の誤差量に応じたパラメータに従って、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を、画像座標系の任意の座標を回転中心とする回転方向に移動させることを特徴とする請求項４乃至６の何れかに記載の車載画像処理装置。
【請求項８】
前記テーブル再構成手段は、前記カメラ座標系のヨー角の誤差量に応じたパラメータに従って前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を画像座標系の横方向にシフトさせる処理及び／又は前記カメラ座標系のピッチ角の誤差量に応じたパラメータに従って前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を画像座標系の縦方向にシフトさせる処理を行った後に、前記カメラ座標系のロール角の誤差量に応じたパラメータに従って、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を、画像座標系の任意の座標を回転中心とする回転方向に移動させる処理を行うことを特徴とする請求項７に記載の車載画像処理装置。
【請求項９】
車両周囲を撮像する複数のカメラモジュールで生成されたカメラ画像データのそれぞれを視点変換して、車両周囲の俯瞰画像を表示手段に表示させる車両用画像処理方法であって、
前記カメラ画像データを用いて前記俯瞰画像を作成するためのアドレス変換テーブルであって、前記カメラモジュールの前記車両に対する取付誤差が無い状態でのカメラ画像データを用いて前記俯瞰画像を作成するための初期状態のアドレス変換テーブルを、前記カメラモジュールの前記車両に対する取付誤差を修正するパラメータに従って再構成させたアドレス変換テーブルを記憶手段に記憶させるステップと、
前記複数のカメラモジュールで生成されたカメラ画像データを、各カメラモジュールに対応した複数の入力バッファにそれぞれ格納するステップと、
前記記憶手段に記憶されたアドレス変換テーブルに従って前記入力バッファからカメラ画像データを取り出し、当該カメラ画像データを、前記記憶手段に記憶されたアドレス変換テーブルに従って出力バッファに格納して、前記俯瞰画像を作成するステップとを有することを特徴とする車両用画像処理方法。
【請求項１０】
前記初期状態のアドレス変換テーブルを、前記カメラモジュールの前記車両に対する取付誤差を修正するパラメータに従って再構成させて、前記記憶手段に記憶させるアドレス変換テーブルを作成するステップを有することを特徴とする請求項９に記載の車両用画像処理方法。
【請求項１１】
前記記憶手段に記憶させるアドレス変換テーブルを作成するステップでは、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報を、前記カメラモジュールの前記車両に対する取付誤差を修正するパラメータに従って変更して、前記記憶手段に記憶させるアドレス変換テーブルとすることを特徴とする請求項１０に記載の車両用画像処理方法。
【請求項１２】
前記記憶手段に記憶させるアドレス変換テーブルを作成するステップでは、前記カメラモジュールの前記車両に対する取付誤差であるカメラ座標系のヨー角の誤差量に応じたパラメータに従って、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を画像座標系の横方向にシフトさせることを特徴とする請求項１１に記載の車両用画像処理方法。
【請求項１３】
前記記憶手段に記憶させるアドレス変換テーブルを作成するステップでは、前記カメラモジュールの前記車両に対する取付誤差であるカメラ座標系のピッチ角の誤差量に応じたパラメータに従って、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を画像座標系の縦方向にシフトさせることを特徴とする請求項１１又は１２に記載の車両用画像処理方法。
【請求項１４】
前記記憶手段に記憶させるアドレス変換テーブルを作成するステップでは、前記カメラモジュールの前記車両に対する取付誤差であるカメラ座標系のロール角の誤差量に応じたパラメータに従って、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を、画像座標系の任意の座標を回転中心とする回転方向に移動させることを特徴とする請求項１１乃至１３の何れかに記載の車両用画像処理方法。
【請求項１５】
前記記憶手段に記憶させるアドレス変換テーブルを作成するステップでは、前記カメラ座標系のヨー角の誤差量に応じたパラメータに従って前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を画像座標系の横方向にシフトさせる処理及び／又は前記カメラ座標系のピッチ角の誤差量に応じたパラメータに従って前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を画像座標系の縦方向にシフトさせる処理を行った後に、前記カメラ座標系のロール角の誤差量に応じたパラメータに従って、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を、画像座標系の任意の座標を回転中心とする回転方向に移動させる処理を行うことを特徴とする請求項１４に記載の車両用画像処理方法。
【請求項１６】
車両周囲を撮像してカメラ画像データを生成する複数のカメラモジュールと接続され、当該カメラ画像データのそれぞれを視点変換して、車両周囲の俯瞰画像を表示手段に表示させる車載画像処理装置であって、
前記複数のカメラモジュールで生成されたカメラ画像データをそれぞれ格納する複数の入力バッファを備える入力手段と、
前記複数の入力バッファのそれぞれから取り出されたカメラ画像データを用いて作成された俯瞰画像を格納する出力バッファを備え、当該俯瞰画像を前記表示手段に出力する出力手段と、
前記カメラモジュールに対応した入力バッファを指定するカメラ番号と、前記俯瞰画像を作成するためのカメラ画像データを取り出す前記入力バッファ上のアドレスを指定する入力アドレス情報と、当該入力バッファ上のアドレスから取り出したカメラ画像データを格納する出力バッファ上のアドレスを指定する出力アドレス情報との対応関係を記述したアドレス変換テーブルを記憶する記憶手段と、
前記記憶手段に記憶されたアドレス変換テーブルに従って前記入力バッファからカメラ画像データを取り出し、当該カメラ画像データを、前記記憶手段に記憶されたアドレス変換テーブルに従って前記出力バッファに格納して、前記俯瞰画像を作成する画像処理手段とを備え、
前記入力バッファに格納されるカメラ画像データが、前記カメラモジュールの前記車両に対する取付誤差を修正するパラメータに従って調整されたカメラ画像データであることを特徴とする車載画像処理装置。
【請求項１７】
前記カメラモジュールの前記車両に対する取付誤差を修正するパラメータに従って、前記入力バッファに格納されるカメラ画像データを調整する入力画像調整手段を備えることを特徴とする請求項１６に記載の車載画像処理装置。
【請求項１８】
前記入力画像調整手段は、前記カメラモジュールの前記車両に対する取付誤差であるカメラ座標系のヨー角の誤差量に応じたパラメータに従って、前記入力バッファに格納されるカメラ画像データの画素のアドレス位置を画像座標系の横方向にシフトさせることを特徴とする請求項１７に記載の車載画像処理装置。
【請求項１９】
前記入力画像調整手段は、前記カメラモジュールの前記車両に対する取付誤差であるカメラ座標系のピッチ角の誤差量に応じたパラメータに従って、前記入力バッファに格納されるカメラ画像データの画素のアドレス位置を画像座標系の縦方向にシフトさせることを特徴とする請求項１７又は１８に記載の車載画像処理装置。
【請求項２０】
前記入力画像調整手段は、前記カメラモジュールの前記車両に対する取付誤差であるカメラ座標系のロール角の誤差量に応じたパラメータに従って、前記入力バッファに格納されるカメラ画像データの画素のアドレス位置を、画像座標系の任意の座標を回転中心とする回転方向に移動させることを特徴とする請求項１７乃至１９の何れかに記載の車載画像処理装置。
【請求項２１】
前記入力画像調整手段は、前記カメラ座標系のヨー角の誤差量に応じたパラメータに従って前記入力バッファに格納されるカメラ画像データの画素のアドレス位置を画像座標系の横方向にシフトさせる処理及び／又は前記カメラ座標系のピッチ角の誤差量に応じたパラメータに従って前記入力バッファに格納されるカメラ画像データの画素のアドレス位置を画像座標系の縦方向にシフトさせる処理を行った後に、前記カメラ座標系のロール角の誤差量に応じたパラメータに従って、前記初期状態のアドレス変換テーブルにおける前記入力アドレス情報が指定するアドレス位置を、画像座標系の任意の座標を回転中心とする回転方向に移動させる処理を行うことを特徴とする請求項２０に記載の車載画像処理装置。
【請求項２２】
車両周囲を撮像する複数のカメラモジュールで生成されたカメラ画像データのそれぞれを視点変換して、車両周囲の俯瞰画像を表示手段に表示させる車両用画像処理方法であって、
各カメラモジュールで生成されたカメラ画像データを、各カメラモジュールに対応した入力バッファにそれぞれ格納するステップと、
記憶手段に記憶されたアドレス変換テーブルに従って前記入力バッファからカメラ画像データを取り出し、当該カメラ画像データを、前記記憶手段に記憶されたアドレス変換テーブルに従って出力バッファに格納して、前記俯瞰画像を作成するステップとを有し、
前記カメラ画像データを入力バッファに格納するステップでは、前記カメラモジュールの前記車両に対する取付誤差を修正するパラメータに従って調整されたカメラ画像データを前記入力バッファに格納することを特徴とする車両用画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両周囲を撮像して、当該画像を視点変換し、車両周囲の俯瞰画像を運転者等に提示する車載画像処理装置及び車両用画像処理方法に関する。
【背景技術】
【０００２】
従来より、車両に取り付けられたカメラにより撮像された画像データを、俯瞰画像データに変換して、当該俯瞰画像を車両内のモニタに表示するための技術としては、下記の特許文献１などに記載された車載画像処理装置が知られている。
【０００３】
この車載画像処理装置は、路面と車体に取り付けられたカメラとの角度を、グローバル座標系（カメラ座標系）におけるピッチ角［deg］として検出し、当該ピッチ角に基づいて、カメラで撮像されたカメラ画像データを俯瞰画像データに変換するためのアドレス変換テーブルを作成している。すなわち、この車載画像処理装置では、カメラの車体に対する取り付け状態を表すグローバル座標系（カメラ座標系）におけるピッチ角に基づいてアドレス変換テーブルを作成し、このピッチ角に基づき作成したアドレス変換テーブルを用いてカメラの画像データを俯瞰画像データに変換することによって、カメラの車体に対する取り付け状態に応じた最適な俯瞰画像をモニタに表示できるとしている。
【特許文献１】特開２００４−６４４４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上述の車載画像処理装置において、車両の前後左右方向のそれぞれを撮像方向とした４台のカメラを使用して車両周囲全域を車両上方の仮想視点から見下ろした俯瞰画像を表示させるためには、４台のカメラのそれぞれの各画素データを、アドレス変換テーブルを用いて俯瞰画像を構成する各画素にそれぞれ置き換えて俯瞰画像データを作成する必要がある。すなわち、車両周囲全域を車両上方の仮想視点から見下ろした俯瞰画像を作成するためのアドレス変換テーブルは、４台それぞれのカメラのカメラ番号と、４枚のカメラ画像データを入力するそれぞれの入力バッファ上のアドレスと、モニタに俯瞰画像データを出力するための出力バッファ上のアドレスとの対応表となり、上述の車載画像処理装置では、このようなアドレス変換テーブルを装置内部で作成する必要がある。
【０００５】
以上のような車両周囲全域を車両上方の仮想視点から見下ろした俯瞰画像を作成する場合、４枚のカメラ画像を組み合わせて、画像間の継ぎ目が一致し、且つ歪みのない完全な俯瞰画像を作成するためには、それぞれのカメラの車体への実際の取付位置、それぞれのカメラの実際の取付方向と、アドレス変換テーブルを作成する際に算出されるカメラ取付位置、カメラ取付方向、レンズファイルとが、誤差無く完全に一致している必要がある。つまり、カメラの取付位置及び取付方向にずれが生じている状態で、正規の取付位置及び取付方向で撮像したカメラ画像データを変換するアドレス変換テーブルを使用して俯瞰画像を作成した場合には、各カメラ画像データを変換した俯瞰画像内の継ぎ目の不一致や歪みが発生してしまう。このような俯瞰画像の歪み等の原因となるカメラ取付位置及び取付方向のずれは、工場やディーラなどにおけるカメラ取付作業において車両ごとに必ず生じてしまうものである。
【０００６】
これに対し、上述した特許文献１に記載の車載画像処理装置では、カメラの車体に対する取付状態に応じたアドレス変換テーブルを装置内部で作成するようにしているので、カメラ取付位置及び取付方向のずれに起因する俯瞰画像のずれや歪みを大幅に低減させることはできるが、カメラの取付誤差を検出して、当該取付誤差に基づいてアドレス変換テーブルを装置内部で再計算するには、車載画像処理装置の処理負荷が高くなり、且つ演算時間を多く要する。したがって、特許文献１に記載の車載画像処理装置では、処理能力の高い演算装置を使用する必要があった。
【０００７】
また、演算量を減らすためにカメラの取付誤差に対応した複数のアドレス変換テーブルを装置内部に記憶させ、実際の取付誤差に応じて何れかのアドレス変換テーブルを選択する場合であっても、少ない演算量でカメラの取付誤差を修正して俯瞰画像を作成することができるが、装置内部のメモリ容量が膨大となり、装置が高コストとなってしまう問題があった。
【０００８】
そこで、本発明は、上述した実情に鑑みて提案されたものであり、複数の画像から俯瞰画像を作成するためにメモリ容量が膨大となることなく、且つ簡単な処理で複数の画像から俯瞰画像を作成することができる車載画像処理装置及び車両用画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、車両周囲を撮像する複数のカメラモジュールで生成されたカメラ画像データのそれぞれを視点変換して、車両周囲の俯瞰画像を表示手段に表示させるために、複数のカメラモジュールに対応した複数の入力バッファを備える入力手段と、俯瞰画像を格納する出力バッファを備えてこの出力バッファに格納された俯瞰画像を表示手段に出力する出力手段と、俯瞰画像の作成に用いられるアドレス変換テーブルを記憶する記憶手段と、アドレス変換テーブルに従って入力バッファからカメラ画像データを取り出して出力バッファに格納することで俯瞰画像を作成する画像処理手段とを備える。
【００１０】
そして、本発明では、記憶手段に記憶されているアドレス変換テーブルが、カメラモジュールの車両に対する取付誤差が無い状態でのカメラ画像データを用いて俯瞰画像を作成するための初期状態のアドレス変換テーブルを、カメラモジュールの車両に対する取付誤差を修正するパラメータに従って再構成させたアドレス変換テーブルであり、当該アドレス変換テーブルに従って画像処理手段によってカメラ画像データを出力バッファに格納させることによって、上述の課題を解決する。
【００１１】
また、他の発明では、入力バッファに格納されるカメラ画像データを、カメラモジュールの車両に対する取り付け誤差を修正するパラメータに従って調整されたカメラ画像データとし、当該調整されたカメラ画像データをアドレス変換テーブル（初期状態のアドレス変換テーブル）に従って画像処理手段によって出力バッファに格納させることによって、上述の課題を解決する。
【発明の効果】
【００１２】
本発明によれば、実際に俯瞰画像を作成するに際して多くの処理を行うことなく、初期状態のアドレス変換テーブルの再構成という簡単な処理で、カメラモジュールの車両に対する取付誤差を吸収することができ、複数のカメラモジュールの何れかに取付誤差が生じていたとしても、複数のカメラ画像データを視点変換して作成する俯瞰画像を、ずれや歪みを低減させた適切な俯瞰画像とすることができる。また、車両固有のカメラモジュールの取付誤差からアドレス変換テーブルを再構成するので、当該アドレス変換テーブルを記憶する記憶手段のメモリ容量が膨大となることがない。
【００１３】
また、他の発明によれば、実際に俯瞰画像を作成するに際して多くの処理を行うことなく、入力バッファに格納されるカメラ画像データの調整という簡単な処理で、カメラモジュールの車両に対する取付誤差を吸収することができ、複数のカメラモジュールの何れかに取付誤差が生じていたとしても、複数のカメラ画像データを視点変換して作成する俯瞰画像を、ずれや歪みを低減させた適切な俯瞰画像とすることができる。また、入力バッファに格納されるカメラ画像データの調整によりカメラモジュールの車両に対する取付誤差が吸収されるので、アドレス変換テーブルを記憶する記憶手段のメモリ容量が膨大となることがない。
【発明を実施するための最良の形態】
【００１４】
［第１の実施形態］
以下、本発明の第１の実施形態について図面を参照して説明する。
【００１５】
本発明は、例えば図１に示すように構成された車載画像処理装置１に適用される。この車載画像処理装置１は、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄで撮像した車両周囲のカメラ画像データを、それぞれのカメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄに対応した入力バッファ１２Ａ，１２Ｂ，１２Ｃ，１２Ｄで入力し、ＣＰＵ１３及び画像変換部１４によって、テーブル記憶部１５に記憶されたアドレス変換テーブルを使用して視点変換処理を行って車両周囲の俯瞰画像を作成し、出力バッファ１６に俯瞰画像データを記憶させてモニタ３に出力するものである。この車載画像処理装置１は、例えば図２に示すような機能部４１〜４３によって、デフォルトのアドレス変換テーブル、すなわち、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄの車両に対する取付誤差が無い状態でのカメラ画像データを用いて俯瞰画像を作成するための初期状態のアドレス変換テーブルを再構成させて、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄの取付誤差に起因する俯瞰画像の歪みや、俯瞰画像を構成する各画像間のずれを抑制し、１つの連続した画像として違和感のない適切な俯瞰画像をモニタ３に表示させる。
【００１６】
具体的には、図３に示すように、車両周囲の俯瞰画像３０を作成するために、カメラモジュール２Ａによって前方カメラ画像３１Ａを撮像し、カメラモジュール２Ｂによって後方カメラ画像３１Ｂを撮像し、カメラモジュール２Ｃによって左側方カメラ画像３１Ｃを撮像し、カメラモジュール２Ｄによって右側方カメラ画像３１Ｄを撮像する。ここで、カメラ画像３１Ａは車体３３と路面に描かれた白線Ｌ１，Ｌ３，Ｌ５を含み、カメラ画像３１Ｂは車体３３と白線Ｌ２，Ｌ３，Ｌ５を含み、カメラ画像３１Ｃは車体３３と白線Ｌ３，Ｌ４を含み、カメラ画像３１Ｄは車体３３と白線Ｌ５，Ｌ６を含んでいる。なお、各カメラ画像に現れる白線は、俯瞰画像３０に発生する歪みや画像間のずれを説明するために、路面に描かれてカメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄで撮像させるものである。
【００１７】
そして、車載画像処理装置１は、各カメラ画像３１Ａ，３１Ｂ，３１Ｃ，３１Ｄをそれぞれ上方からの視点に変換した前方画像３２Ａ、後方画像３２Ｂ、左側方画像３２Ｃ、右側方画像３２Ｄを繋ぎ合わせるとともに、コンピュータグラフィックス等よりなる自車両オブジェクト３３’を中心に配し、俯瞰画像３０を構成する画像間に跨ってずれや歪みがない俯瞰画像３０を作成する。
【００１８】
一方、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄの取付位置に誤差がある場合には、図４に示すように、視点変換後の前方画像３２Ａの白線Ｌ１が自車両オブジェクト３３’と平衡性が保たれていないような結果となったり、白線Ｌ３が歪んだり、俯瞰画像３０を構成する画像３２Ａ、３２Ｂ、３２Ｃ間に跨って白線Ｌ１，Ｌ２，Ｌ３のずれが生じたりする。これに対し、以下に説明する車載画像処理装置１では、当該カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄの取付誤差に起因する俯瞰画像３０のずれや歪みを補正するための処理を行い、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄに取付誤差があった場合であっても、俯瞰画像３０のずれや歪みを抑制した俯瞰画像３０を作成する。
【００１９】
このように、各カメラ画像３１Ａ，３１Ｂ，３１Ｃ，３１Ｄから、歪みやずれを抑制した俯瞰画像３０を作成するための車載画像処理装置１の構成及び動作について、以下に説明する。
【００２０】
＜車載画像処理装置の構成及び動作＞
この車載画像処理装置１を含む車両周囲表示システムは、図１に示すように、車載画像処理装置１に、４台のカメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄ（以下、総称する場合には、単に「カメラモジュール２」と呼ぶ。）及びモニタ３を接続して構成されている。この車載画像処理装置１は、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄのそれぞれで撮像したカメラ画像データを入力とし、当該それぞれのカメラ画像データを組み合わせて、車両上方から見た場合の俯瞰画像３０を作成するものである。本例では、上述したように車体の前方、後方、右側方、左側方をそれぞれの撮像方向とした４台のカメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄが設けられており、自車両の上方を視点とした俯瞰画像３０を作成する場合について説明する。
【００２１】
カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄは、それぞれ車体の異なる部分に設置され、それぞれが固定された異なる撮像方向となっている。カメラモジュール２は、撮像用レンズ２１及びＣＣＤ（電荷結合素子）２２から構成される。このカメラモジュール２は、例えばＮＴＳＣ（National Television System Committee）カメラからなり、それぞれ、ＮＴＳＣ方式に従って画像データを車載画像処理装置１に出力する。
【００２２】
車載画像処理装置１は、内部バス１１に、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄのそれぞれに接続された入力バッファ１２Ａ，１２Ｂ，１２Ｃ，１２Ｄ（以下、総称する場合には単位「入力バッファ１２」と呼ぶ。）と、ＣＰＵ（Central Processing Unit）１３と、画像変換部１４と、テーブル記憶部１５と、及びモニタ３と接続された出力バッファ１６とが接続されて構成されている。
【００２３】
入力バッファ１２は、カメラモジュール２の個数に対応して設けられ、入力バッファ１２Ａはカメラモジュール２Ａと接続され、入力バッファ１２Ｂはカメラモジュール２Ｂと接続され、入力バッファ１２Ｃはカメラモジュール２Ｃと接続され、入力バッファ１２Ｄはカメラモジュール２Ｄと接続される。入力バッファ１２は、ＮＴＳＣ方式のカメラ画像データを一旦格納し、ＣＰＵ１３の制御に従って、画像変換部１４による画像変換タイミングでカメラ画像データが読み出される。
【００２４】
テーブル記憶部１５は、ドライバーに提示する画像レイアウトごとのアドレス変換テーブル１５ａ、１５ｂ、１５ｃ、・・・を記憶している。ここで、本例では、４枚のカメラ画像データを組み合わせて、１枚の俯瞰画像３０を作成する場合について説明するので、テーブル記憶部１５には、少なくとも入力バッファ１２Ａ，１２Ｂ，１２Ｃ，１２Ｄに格納されたそれぞれのカメラ画像データから俯瞰画像３０を作成する画像レイアウトのアドレス変換テーブルが記憶されている。
【００２５】
このテーブル記憶部１５に記憶されるアドレス変換テーブルは、カメラモジュール２に対応した入力バッファ１２を指定するカメラ番号と、俯瞰画像を作成するためのカメラ画像データを取り出す入力バッファ１２上のアドレスを指定する入力アドレス情報と、入力バッファ１２上のアドレスから取り出したカメラ画像データを格納する出力バッファ１６上のアドレスを指定する出力アドレス情報との対応関係を記述したテーブルである。すなわち、アドレス変換テーブルは、出力バッファ１６上のメモリアドレス、すなわちモニタ３の表示座標と、各カメラモジュール２に対応した入力バッファ１２上のメモリアドレス、すなわち各カメラモジュール２毎のカメラ画像上の座標との対応関係を記述している。このようなアドレス変換テーブルは、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄのスペック、取付位置及び撮像方向の向き（光軸）等に基づいて作成される。
【００２６】
画像変換部１４は、ＣＰＵ１３の制御に従って、テーブル記憶部１５からアドレス変換テーブルを読み出し、当該アドレス変換テーブルを参照して、アドレス変換テーブルで指定されたカメラモジュール２の画像データを、アドレス変換テーブルで指定された入力バッファ１２上の入力アドレスから読み出して、アドレス変換テーブルで指定された出力バッファ１６上の出力アドレスに記憶させる。ここで、アドレス変換テーブルは、画像レイアウトに従って出力バッファ１６のメモリアドレスを記述しているので、画像変換部１４によって出力バッファ１６に置き換えられた俯瞰画像データは、使用したアドレス変換テーブルと同じ画像レイアウトに画像変換されている。なお、画像変換部１４は、ＬＳＩ（Large Scale Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）、ＤＳＰ（Digital Signal Processor）等で構成されていても良く、ＣＰＵ１３で行っても良い。
【００２７】
後述するが、アドレス変換テーブルは、車載画像処理装置１の製造時などに、カメラモジュール２それぞれの取付誤差（グローバル座標系であるカメラ座標系におけるピッチ角、ヨー角、ロール角の誤差）に応じて、当該取付誤差を修正した俯瞰画像３０を表示させるように、デフォルト（初期状態）のアドレス変換テーブルを再構成することで作成されている。すなわち、画像変換部１４による視点変換処理によって入力バッファ１２のカメラ画像データが読み出されて、出力バッファ１６に格納された俯瞰画像データの歪みや俯瞰画像３０を構成する画像間のずれを抑制するように、アドレス変換テーブルは再構成される。
【００２８】
出力バッファ１６は、画像変換部１４によって視点変換された４枚のカメラ画像データからなる俯瞰画像データを格納し、当該俯瞰画像データをＣＰＵ１３の制御に従ってモニタ３に出力する。
【００２９】
ＣＰＵ１３は、図示しない操作入力部がドライバーに操作されて決定された画像レイアウト指示や画像切り換え指示を認識して画像変換部１４での画像変換処理に使用するアドレス変換テーブルを決定する。また、ＣＰＵ１３は、画像変換部１４の入力バッファ１２からの画像変換タイミング及び出力バッファ１６のモニタ３へのデータ出力タイミングを制御することによって、連続的に俯瞰画像３０を出力バッファ１６に格納させると共に、連続的にモニタ３に表示させる俯瞰画像３０を切り換える。
【００３０】
また、ＣＰＵ１３は、図２に示すように、自車両の出荷時に行われる誤差検出を行う誤差検出部４１、デフォルトのアドレス変換テーブルを修正するパラメータを算出するパラメータ算出部４２、テーブル記憶部１５に記憶されるアドレス変換テーブルを再構成するテーブル再構成部４３とを備える。なお、本例では、誤差検出部４１、パラメータ算出部４２及びテーブル再構成部４３といったテーブル記憶部１５に記憶するアドレス変換テーブルを再構成するための機能部を車載画像処理装置１内に備えるものとするが、外部で再構成したアドレス変換テーブルをテーブル記憶部１５に記憶させても良い。
【００３１】
誤差検出部４１は、例えば車両出荷検査時などにおいてカメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄのカメラ座標系における取付誤差を検出する。この検査時において、誤差検出部４１は、所定の白線が描かれた路面上の所定位置に自車両が停車され、当該停車位置から白線を撮像した時のカメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄのカメラ画像データをそれぞれ取得する。そして、誤差検出部４１は、取得したそれぞれのカメラ画像データと、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄの取付誤差が無い時に撮像されるべきテンプレート画像と比較する。
【００３２】
そして、カメラ画像データの画像内縦方向に延びる白線と、テンプレート画像の縦方向に延びる白線とが画像内横方向にずれている場合には、当該ずれ量をカメラ座標系におけるヨー角の誤差[deg]として算出する。また、カメラ画像データの画像内横方向に延びる白線と、テンプレートとなる画像内横方向に延びる白線とが画像内縦方向にずれている場合には、当該ずれ量をカメラ座標系におけるピッチ角の誤差[deg]として算出する。更に、カメラ画像データとテンプレート画像とが回転方向、つまり画像内のある点を中心として画像を回転させる方向にずれている場合には、当該ずれ量をカメラ座標系におけるロール角の誤差[deg]として算出する。これにより、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄの取付誤差として、カメラ座標系（グローバル座標系）のヨー角の誤差[deg]、ピッチ角の誤差[deg]、ロール角の誤差[deg]をそれぞれ検出することができる。
【００３３】
パラメータ算出部４２は、誤差検出部４１で検出されたカメラ座標系におけるヨー角の誤差、カメラ座標系におけるピッチ角の誤差、カメラ座標系におけるロール角の誤差から、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄの取付誤差が無い状態でのカメラ画像データを用いて俯瞰画像を作成するための初期状態のアドレス変換テーブル、すなわちデフォルトのアドレス変換テーブルに対する補正量（パラメータ）を算出する。
【００３４】
このとき、パラメータ算出部４２は、ヨー角の誤差が大きいほど、アドレス変換テーブルによるカメラ画像データのアドレス変換対象領域を画素単位で左右方向に大きくずらす左右方向シフト量ｄｘ［pixel]を求める。また、パラメータ算出部４２は、ピッチ角の誤差の誤差が大きいほど、アドレス変換テーブルによるカメラ画像データのアドレス変換対象領域を画素単位で上下方向に大きくずらす上下方向シフト量ｄｙ［pixel]を求める。このようなシフト量ｄｘ、ｄｙ［pixel]は、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄの取付誤差のそれぞれを修正するためのパラメータとなる。
【００３５】
更に、パラメータ算出部４２は、ロール角の誤差[deg]から、カメラ画像データのアドレス変換対象領域を回転させる回転量ｄθ[deg]を求める。ここで、カメラ画像データのグラフィックス座標系（画像座標系）において、任意の座標（ox,oy）を中心にｒ[deg]のロール角の誤差が発生していた場合について、カメラ画像データのアドレス変換対象領域を回転させる回転量ｄθ[deg]を求める処理を説明する。なお、座標（ox,oy）は、入力バッファ１２Ａ，１２Ｂ，１２Ｃ，１２Ｄの中心座標に設定することで、回転による画素の欠損を最小限に抑えることができる。また、カメラのずれ量の差によらず回転中心を座標中心の一意の点にすることで計算を簡単化することができる。
【００３６】
先ず、ロール角の誤差を補正する前であってロール角の誤差によってカメラ画像上に現れた回転前の座標(sx1, sy1)は、ロール角の誤差に応じて補正した後の回転後の座標(x1, y1)を用いて以下の式１，式２で求めることができる。
【００３７】
sx1＝（x1−ox）＊cos（−r）＋（y1−oy）＊sin（−r）＋ox      （式１）
sy1＝（y1−oy）＊cos（−r）−（x1−ox）＊sin（−r）＋oy      （式２）
回転後座標（x1,y1）に対してx方向で隣り合った回転後座標（x1＋1,y）にも、上記の式１，２が適用できるので、回転前の座標(sx1, sy1)に対してｘ方向で隣り合った回転前座標（sx2, sy2）は、
sx2＝（x1＋1−ox）＊cos（−r）＋（y1−oy）＊sin（−r）＋ox   （式３）
sy2＝（y1−oy）＊cos（−r）＋（x1＋1−ox）＊sin（−r）＋oy   （式４）
と表現される。
【００３８】
ここで、dxx＝sx2−sx1、dyx＝sy2−sy1とおくと、dxx、dyxはそれぞれ、上記式１，２と式３，４とを用いて、
dxx＝sx2−sx1＝cos（−r） （式５）
dyx＝sy2−sy1＝ −sin（−r）     （式６）
となる。すると、x方向に連続した座標（x1＋n,y1）の回転後の座標は、sx1,sy1,dxx,dyxを用いて表現すると、
sx＝sx1＋dxx＊n    （式７）
sy＝sy1＋dyx＊n    （式８）
となる。したがって、座標（x1＋n,y1）の回転後の座標は、sx1,sy1にそれぞれdxy,dyyを加算していくことで計算できることがわかる。ここで、式７，８は、式５，６のように三角関数を含むために、小数値を含む回転量ｄθ[deg]となる。
【００３９】
次に、回転後の座標（x1,y1）の、y方向で隣り合った座標（x1,y1＋1）の場合も上述と同様に、
sx3＝（x1−ox）＊cos（−r）＋（y1＋1−oy）＊sin（−r）＋ox   （式９）
sy3＝（y1＋1−oy）＊cos（−r）−（x1−ox）＊sin（−r）＋oy   （式１０）
と表現される。ここで、dxy＝sx3−sx1, dyy＝sy3−sy1とおくと、dxy、dyyはそれぞれ、上記式９，式１０を用いて、
dxx＝sx3−sx1＝sin（−r）
dyx＝sy3−sy1＝cos（−r）
となり、y方向に連続した座標（x1,y1＋n）の回転後の座標は、sx1,sy1にそれぞれdxy,dyyを加算していくことで計算できる。また、このように求めた回転後の座標は、小数値を含む回転量ｄθ[deg]となる。
【００４０】
これらより、入力バッファ１２Ａ，１２Ｂ，１２Ｃ，１２Ｄに格納されるカメラ画像データの座標系であるグラフィックス座標系の左上座標について、一度だけ上述の回転後座標を計算することにより、残りのカメラ画像データの画素については、加算計算を行って回転させることになる。
【００４１】
ここで、上述の演算におけるcos（−r）及びsin（−r）の値が共通であるので、この２つの値を一度だけ求め、当該求めた結果を使用して回転量ｄθ[deg]を求める。そして、回転後の座標のうち、一対の回転前座標と回転後座標との対応関係を記憶しておけば、三角関数の演算を必要とせずに、ロール角の誤差を修正するためのパラメータである回転量ｄθ[deg]を求めることができる。
【００４２】
ここで、誤差検出部４１及びパラメータ算出部４２における動作の具体例について、図５及び図６を参照して説明する。なお、図５は誤差検出部４１及びパラメータ算出部４２によってカメラモジュール２のカメラ座標系における取付誤差を検出して当該誤差を修正するパラメータを算出する際の一連の手順を示すフローチャートであり、図６は図５のフローチャートで示す一連の手順を説明するための、カメラモジュール２Ｃにより撮像された自車両の左側方のカメラ画像を示す図である。
【００４３】
カメラモジュール２のカメラ座標系における取付誤差の検出及びパラメータの算出を行うに際しては、まず、ステップＳ１において、車両に対して正確な位置にテンプレートを準備する。本例ではテンプレートとして、例えば地面上に引いた幅５０ｍｍのＴ字形線を用いたが、テンプレートの位置や形状は特に限定されるものではなく、例えば、チェッカーフラッグのような格子模様等の形状のテンプレートを地面上に設置するようにしてもよい。なお、本例では、地面上に引いた幅５０ｍｍのＴ字形線のテンプレートは、図６に示す自車両左側方のカメラ画像上において、実線で示す位置Ｐ１に映り込んでいるものとする。
【００４４】
次に、ステップＳ２において、誤差検出部４１は、図６に示す自車両左側方のカメラ画像上において、カメラモジュール２Ｃの取付誤差が無い場合にテンプレートが画面上映り込むはずの位置にマーカ線テンプレートを描画し、自車両左側方のカメラ画像にマーカ線テンプレート重畳する。なお、本例では、マーカ線テンプレートは、図６に示す自車両左側方のカメラ画像上において、破線で示す位置Ｐ２にマーカ線テンプレートが重畳されるものとする。
【００４５】
次に、ステップＳ３において、誤差検出部４１は、自車両左側方のカメラ画像の中心を観点中心として、このカメラ画像上に重畳したマーカ線テンプレートを回転させて、このカメラ画像上に映り込んでいるテンプレートとマーカ線テンプレートとの傾きが合うように調整する。そして、パラメータ算出部４２が、このときのカメラ画像の回転量を、カメラ座標系におけるロール角の誤差を修正するためのパラメータとしての回転量ｄθ[deg]として算出する。
【００４６】
次に、ステップＳ４において、誤差検出部４１は、自車両左側方のカメラ画像上のマーカ線テンプレートを上下左右方向にピクセルシフトさせて、このカメラ画像上に映り込んでいるテンプレートとマーカ線テンプレートとの位置が合うように調整する。そして、パラメータ算出部４２が、このときの画像座標系におけるＸ軸方向のシフト量を、カメラ座標系におけるヨー角の誤差を修正するためのパラメータとしての左右方向シフト量ｄｘ［pixel]として算出し、画像座標系におけるＹ軸方向のシフト量を、カメラ座標系におけるピッチ角の誤差を修正するためのパラメータとしての上下方向シフト量ｄｙ[pixel]として算出する。
【００４７】
以上のように、本例では、カメラモジュール２で撮像されたカメラ画像に実際に映り込むテンプレートの位置と、カメラ画像上の本来テンプレートが映り込むはずの位置に描画したマーカ線テンプレートとのカメラ画像上における位置ずれ、すなわち画像座標系である２次元座標上におけるテンプレートとマーカ線テンプレートの位置ずれを、カメラ座標系におけるカメラモジュール２の取付誤差を修正するためのパラメータとして算出するようにしている。なお、以上は、自車両の左側方の画像を撮像するカメラモジュール２Ｃに取付誤差が生じている場合を例示したが、他のカメラモジュールに取付誤差が生じている場合も、同様の手法により取付誤差を修正するためのパラメータを算出できる。
【００４８】
テーブル再構成部４３は、パラメータ算出部４２で求められたカメラ座標系におけるヨー角の誤差を修正するための左右方向シフト量ｄｘ[pixel]、カメラ座標系におけるピッチ角の誤差を修正するための上下方向シフト量ｄｙ[pixel]、カメラ座標系におけるロール角の誤差を修正するための回転量ｄθ［deg］を用いて、テーブル記憶部１５に記憶されたデフォルトのアドレス変換テーブルに対して再構成を行い、新たなアドレス変換テーブルを作成する。このテーブル再構成部４３は、先ず、左右方向シフト量ｄｘ[pixel]分だけアドレス変換対象領域をずらすと共に上下方向シフト量ｄｙ[pixel]分だけアドレス変換対象領域をずらす。その後、テーブル再構成部４３は、回転量ｄθ［deg］に相当する画素数分だけ、左右方向シフト量ｄｘ及び上下方向シフト量ｄｙ分ずらされたアドレス変換対象領域を回転させる。回転操作は、上述したように回転前の座標と回転後の座標の対応関係をその都度計算するようにしてもよいし、テーブルとして備えていてもよい。
【００４９】
以上のように、テーブル再構成部４３は、左右方向及び上下方向にアドレス変換対象領域をずらした後に、当該ずらした後のアドレス変換対象領域を回転させる。このように先に左右方向及び上下方向にアドレス変換対象領域をずらして、その後に回転させるのは、アドレス変換対象領域である入力バッファ１２Ａ，１２Ｂ，１２Ｃ，１２Ｄの読み出しアドレスが実数値であることに対し、回転量ｄθ［deg］は小数値を含むことから、当該回転量ｄθ［deg］に対して回転後のアドレス変換対象領域に丸め誤差を生じるからである。したがって、テーブル再構成部４３は、丸め誤差を生じない左右及び上下のシフトを先に行い、その後に回転させることで、丸め誤差の影響を最低限に抑える。また、アドレス変換対象領域を回転させた後に、上下及び左右にアドレス変換対象領域をシフトさせた場合、シフト量[pixel]が、前の回転量に含まれるcos成分とsin成分とに分解されてしまい、パラメータ算出部４２で求めたシフト量［pixel］と実際のシフト量［pixel］とが異なる値になってしまうことが懸念されるが、左右方向及び上下方向のシフトを先に行ってその後に回転操作を行うことで、以上のような不都合は回避できる。また、左右方向及び上下方向のシフトを先に行ってその後に回転操作を行うことで、カメラモジュール２の取付誤差量の差によらず、回転中心を座標中心の一意の点にして計算を簡単化できる。
【００５０】
なお、本実施形態では、カメラ座標系におけるロール角の誤差に起因する画像のずれや歪みを抑制するためにアドレス変換対象領域の回転量ｄθを演算してアドレス変換テーブルの再構成を行っているが、当該ロール角の誤差が少なければ、アドレス変換対象領域の上下及び左右のシフトのみでヨー角の誤差及びピッチ角の誤差に起因する画像のずれや歪みを抑制できることは勿論である。このように、上下方向シフト量ｄｙ及び左右方向シフト量ｄｘのみを用いたアドレス変換テーブルの再構成は、出力アドレスをAddrとし、入力バッファ１２の縦方向画素数をXiとし、カメラモジュール２の取付誤差がないと仮定した初期状態時の横方向の入力アドレスをdefAddrとした場合には、
Addr＝（defAddr＋dx）＋Xi・dy
という単純な加減算で表現できる。
【００５１】
そして、テーブル再構成部４３は、アドレス変換対象領域をずらすことにより、入力バッファ１２Ａ，１２Ｂ，１２Ｃ，１２Ｄのうち、アドレス変換対象領域として取り出す入力バッファ１２上のアドレス（入力アドレス情報）を変更したアドレス変換テーブルを再構成して、テーブル記憶部１５に格納する。
【００５２】
このように、アドレス変換テーブルを再構成する処理は、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄの取付誤差がない状態にあることを前提として作成された、図７に示すようなデフォルトのアドレス変換テーブルに対して行われる。なお、この図７に示す例では、要点を分かりやすく説明するために、例えば任意のカメラモジュール２に対応した入力バッファ１２上の入力アドレスのうち、アドレス変換対象領域が、入力アドレス「１」〜「１６」の４画像×４画像ブロックとなっているものとする。また、デフォルトのアドレス変換テーブルは、入力アドレス「１」〜「１６」のうちの入力アドレス「６」、「７」、「１０」、「１１」からカメラ画像データを取り出して、入力アドレス「６」から取り出したカメラ画像データを出力バッファ１６上の出力アドレス「１」に格納し、入力アドレス「７」から取り出したカメラ画像データを出力バッファ１６の出力アドレス「２」に格納し、入力アドレス「１０」から取り出したカメラ画像データを出力バッファ１６上の出力アドレス「３」に格納し、入力アドレス「１１」から取り出したカメラ画像データを出力バッファ１６上の出力アドレス「４」に格納することを示している。
【００５３】
これによって、カメラモジュール２で撮像した車両周囲の特定場所のカメラ画像データを、出力バッファ１６に格納してモニタ３に表示させることができる。
【００５４】
一方、カメラモジュール２Ａ，２Ｂ，２Ｃ，２Ｄの取付誤差がある場合にはカメラ画像データで撮像する範囲に誤差が発生するので、図８（ａ）に示すように、入力バッファ１２のうち、図７の入力アドレス「６」、「７」、「１０」、「１１」に格納されるはずのカメラ画像データが、入力アドレス「１」、「２」、「５」、「６」にずれて格納される状態となる。そして、上述と同様に入力アドレス「６」、「７」、「１０」、「１１」のカメラ画像データを取り出して、出力アドレス「１」〜「４」に格納すると、本来モニタ３に表示するべき車両周囲の特定場所とは異なる場所の画像を表示させてしまう。
【００５５】
これに対し、上述したように上下方向シフト量ｄｙを−１［１アドレス分］とし、左右方向シフト量ｄｘを−１［１アドレス分］と決定して、アドレス変換対象領域をずらすアドレス変換テーブルの再構成を行うと、図８（ｂ）のように、入力アドレス「１」、「２」、「５」、「６」を取り出すように変更することができる。なお、以上の例はカメラモジュール２にヨー角及びピッチ角の誤差が生じている場合であるが、さらにロール角の誤差も生じている場合には、アドレス対象領域を上下左右方向にシフトした後に、上述したロール角の誤差に応じた回転量ｄθに相当する画素数分だけアドレス対象領域を回転させる操作を行えばよい。
【００５６】
このようなアドレス変換テーブルの再構成処理は、上述のように複数台のカメラモジュール２が車載画像処理装置１に接続される場合には、図９に示すようなステップＳ１１〜ステップＳ１３の処理を、カメラモジュール２の台数回繰り返すことにより行われる。
【００５７】
すなわち、ステップＳ１１においては、先ず任意のカメラモジュール２について、誤差検出部４１によりカメラ座標系におけるヨー角の誤差[deg]、ピッチ角の誤差[deg]、ロール角の誤差[deg]を求め、パラメータ算出部４２により、各誤差[deg]から、上下方向シフト量ｄｙ[pixel]、左右方向シフト量ｄｘ[pixel]、回転量ｄθ[deg]を求める。
【００５８】
次のステップＳ１２においては、デフォルトの俯瞰画像作成用となるアドレス変換テーブルのうち、任意のカメラモジュール２により撮像されたカメラ画像データが格納される入力バッファ１２上のアドレス（入力アドレス）を上下方向シフト量ｄｙ及び左右方向シフト量ｄｘだけ加減算し、その後に、ロール角の誤差[deg]に基づく回転量ｄθ分だけアドレス変換テーブルの入力アドレス全体（アドレス変換対象領域の全体）を回転させる。
【００５９】
次のステップＳ１３においては、ステップＳ１２で再構成されたアドレス変換テーブルを、テーブル記憶部１５に格納する。ここで、テーブル記憶部１５には、デフォルトのアドレス変換テーブルとは別個のメモリ領域に再構成後のアドレス変換テーブルを記憶させても良く、デフォルトのアドレス変換テーブルに、再構成後のアドレス変換テーブルを上書きしても良い。
【００６０】
これにより、カメラモジュール２それぞれの取付誤差[deg]から、それぞれのアドレス変換テーブルの補正量[pixel]及び回転量を求めて、単純なグラフィックス座標系における画素単位の加減算及び回転のみで、グローバル座標系（カメラ座標系）の誤差を補正することができる。
【００６１】
＜実施形態の効果＞
以上詳細に説明したように、本発明を適用した第１の実施形態の車載画像処理装置１によれば、車両周囲を撮像する複数のカメラモジュール２の何れかに自車両に対する取付誤差が生じていたとしても、テーブル記憶部１５に記憶されているデフォルトのアドレス変換テーブルを再構成することにより、取付誤差に起因する画像間のずれや歪みが効果的に抑制された車両周囲の俯瞰画像をモニタ３に表示させることができる。
【００６２】
すなわち、この車載画像処理装置１によれば、例えば図１０に示すように、自車両の左側方を撮像方向としたカメラモジュール２（左サイドカメラ）の取付位置又は方向に誤差があって、この誤差に起因して、モニタ３に表示されるべき図１０（ａ）に示すような俯瞰画像が表示されずに、図１０（ｂ）に示すように、白線Ｌ３，Ｌ４に歪みが生じたり、隣接する前方画像及び後方画像との継ぎ目で白線Ｌ３がずれているような違和感のある俯瞰画像がモニタ３に表示されてしまうといった不都合を有効に抑制することができる。例えば、カメラモジュール２の取付誤差がカメラ座標系におけるヨー角の誤差である場合には、デフォルトのアドレス変換テーブルを用いて俯瞰画像を作成すると、図１０（ｂ）に示すように白線Ｌ３の平行度が保たれていない俯瞰画像３０がモニタ３に表示されることになるが、ヨー角の誤差量に応じたパラメータである左右方向シフト量ｄｘ[pixel]に従ってデフォルトのアドレス変換テーブルの入力アドレスを左右方向にシフトさせるだけで、図１０（ａ）のように、白線Ｌ３の平行度が保たれた俯瞰画像３０をモニタ３に表示させることができる。具体的には、自車両の左側方を撮像するカメラモジュール２にヨー角の誤差が３度あり、画像上で２３ピクセル、実際で約３０ｃｍのずれがある場合であっても、ＶＧＡのモニタ３（Ｙ軸）に換算して、２３/４８０[pixel]のずれを１/４８０に抑えることができる。
【００６３】
また、本実施形態の車載画像処理装置１によれば、カメラモジュール２の車両に対する取付誤差が無い状態で俯瞰画像３０を作成するためのデフォルトのアドレス変換テーブルを、カメラモジュール２の車両に対する取付誤差を修正するパラメータに従って再構成して、この再構成したアドレス変換テーブルに従ってカメラ画像データを出力バッファに格納させるので、アドレス変換テーブルの入力アドレス情報を変更するのみで、実際に俯瞰画像３０を作成するに際して多くの処理を行うことなく簡単な処理で適切な俯瞰画像３０を作成することができる。また、車両固有のカメラモジュール２の取付誤差からアドレス変換テーブルを再構成するので、当該アドレス変換テーブルを記憶するテーブル記憶部１５のメモリ容量が膨大となることがない。
【００６４】
具体的には、テーブル記憶部１５には、カメラモジュール２に対応した入力バッファ１２を指定するカメラ番号と、俯瞰画像３０を作成するためのカメラ画像データを取り出す入力バッファ１２上のアドレスを指定する入力アドレス情報と、当該入力バッファ１２上のアドレスから取り出したカメラ画像データを格納する出力バッファ１６上のアドレスを指定する出力アドレス情報との対応関係を記述したアドレス変換テーブルが記憶されており、画像変換部１４によって、アドレス変換テーブルで指定されたカメラ番号及び入力アドレス情報に従って入力バッファ１２からカメラ画像データを取り出し、当該カメラ画像データをアドレス変換テーブルで指定された出力バッファ１６上のアドレスに格納する処理のみで、カメラモジュール２の取付誤差に拘わらず歪みやずれを抑制した俯瞰画像３０を表示させることができる。
【００６５】
また、本実施形態の車載画像処理装置１では、図２の誤差検出部４１、パラメータ算出部４２及びテーブル再構成部４３を備えることにより、カメラ座標系の誤差に起因する画像座標系の誤差を修正するためのアドレス変換テーブルを再構成することができる。すなわち、画像座標系の横方向に入力アドレスをシフトさせるのみで、カメラモジュール２の車両に対する取付誤差であるカメラ座標系のヨー角の誤差に起因するずれを抑制した俯瞰画像３０を表示させることができる。また、画像座標系の縦方向に入力アドレスをシフトさせるのみで、カメラモジュール２の車両に対する取付誤差であるピッチ角の誤差に起因するずれを抑制した俯瞰画像３０を表示させることができる。更に、画像座標系の任意の座標を回転中心とする回転方向に入力アドレスを移動させるのみで、カメラモジュール２の車両に対する取付誤差であるカメラ座標系のロール角の誤差に起因するずれを抑制した俯瞰画像３０を表示させることができる。
【００６６】
更にまた、本実施形態の車載画像処理装置１によれば、カメラモジュール２のヨー角の誤差やピッチ角の誤差に起因する画像のずれと、カメラモジュール２のロール角の誤差に起因する画像のずれとを合わせて修正できるようにアドレス変換テーブルを再構成する場合に、先にヨー角の誤差量に応じた左右方向のシフト補正やピッチ角の誤差量に応じた上下方向のシフト補正を行い、その後に、ロール角の誤差量に応じた回転操作を行ってアドレス変換テーブルを再構成することにより、ロール角の誤差[deg]による回転量ｄθ[deg]の演算結果に小数値が含まれる場合であっても、当該小数値により現れる丸め誤差の影響を最低限に抑えることができる。
【００６７】
なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【００６８】
例えば、テ−ブル記憶部１５には、例えば右側方画像と左側方画像とをモニタ３に一画面で表示させるためのアドレス変換テーブルや、右後側方画像と左後側方画像と下方画像とを一画面で表示させるためのアドレス変換テーブルなどが他にも記憶されていても良い。このようなアドレス変換テーブルによって複数のカメラ画像データを連続的な１枚の画像にする場合あっても、上述したように、カメラモジュール２の取付誤差であるヨー角の誤差量、ピッチ角の誤差量、ロール角の誤差量に応じたパラメータに従ってアドレス変換テーブルを再構成することにより、表示用の画像に、画像間のずれや歪みを抑制することができる。
【００６９】
［第２の実施形態］
次に、本発明の第２の実施形態について図面を参照して説明する。
【００７０】
本実施形態は、第１の実施形態で説明したようにカメラモジュールの車両に対する取付誤差を修正するパラメータに従ってアドレス変換テーブルを再構成するのではなく、視点変換処理にはデフォルトのアドレス変換テーブルを用い、入力バッファに格納される各カメラモジュールのカメラ画像データを前記パラメータに従って調整することで、カメラモジュールに取付誤差が生じていてもずれや歪みのない適切な俯瞰画像をモニタに表示できるようにするものである。なお、以下では、本実施形態に特徴的な部分を中心に説明することとし、第１の実施形態と同様の構成要素については同一の符号を付して詳細な説明は省略する。
【００７１】
図１１は、本発明を適用した第２の実施形態の車載画像処理装置５０の構成を示す図である。この車載画像処理装置５０は、ＣＰＵ１３によって例えば図１２に示すような機能部４１、４２、４４が実現されることで、各カメラモジュール２から入力バッファ１２に入力されるカメラ画像データを入力バッファ１２上でシフト、回転調整することでカメラモジュール２の取付誤差に起因する俯瞰画像上のずれや歪みを抑制して、適切な俯瞰画像をモニタ３に表示させる。
【００７２】
＜車載画像処理装置の構成及び動作＞
ＣＰＵ１３は、図１２に示すように、第１の実施形態で説明したテーブル再構成手段４３に代えて、入力バッファ１２上のカメラ画像データを調整する画像調整部４４を備える。なお、誤差検出部４１やパラメータ算出部４２は、基本的には第１の実施形態と同様であるが、本実施形態におけるパラメータ算出部４２は、誤差検出部４１で検出されるカメラモジュール２の取付誤差に応じて、各カメラモジュール２のカメラ画像データを入力バッファ１２上で調整するためのパラメータを算出する。
【００７３】
誤差検出部４１及びパラメータ算出部４２の動作は、第１の実施形態と同様であり、カメラモジュール２の３次元的なずれであるカメラ座標系におけるヨー角[deg]、ピッチ角[deg]、ロール角[deg]の誤差を、２次元座標系である画像座標系の横方向（左右方向）のシフト量ｄｘ[pixel]、縦方向（上下方向）のシフト量ｄｙ[pixel]、画面中心の回転量ｄθ[deg]として算出する。
【００７４】
画像調整部４４は、パラメータ算出部４２で求められたヨー角の誤差を修正するための左右方向シフト量ｄｘ、ピッチ角の誤差を修正するための上下方向シフト量ｄｙ、ロール角の誤差を修正するための回転量ｄθのそれぞれの正負逆の値を用いて、各カメラモジュール２から入力されて入力バッファ１２に格納されたカメラ画像データを調整する。この画像調整部４４は、先ず、左右方向シフト量−ｄｘだけ入力バッファ１２に格納されたカメラ画像データをずらすと共に上下方向シフト量−ｄｙだけ入力バッファ１２に格納されたカメラ画像データをずらす。その後、画像調整部４４は、回転量−ｄθに相当する画素数だけ、左右方向シフト量−ｄｘ及び上下方向シフト量−ｄｙだけずらされた入力バッファ１２内のカメラ画像データを回転させる。すなわち、画像調整部４４は、左右方向及び上下方向に入力バッファ１２内のカメラ画像データをずらした後に、当該ずらした後のカメラ画像データを回転させる。このように先に左右方向及び上下方向にカメラ画像データをずらして、その後に回転させる理由は第１の実施形態と同様である。
【００７５】
なお、本実施形態では、カメラ座標系におけるロール角の誤差に起因する画像のずれや歪みを抑制するために入力バッファ１２内のカメラ画像データの回転量ｄθを演算してカメラ画像データの調整を行っているが、当該ロール角の誤差が少なければ、入力バッファ１２上におけるカメラ画像データの上下及び左右のシフトのみでヨー角の誤差及びピッチ角の誤差に起因する画像のずれや歪みを抑制できることは勿論である。
【００７６】
入力バッファ１２上でカメラ画像データを調整する処理のイメージを図１３に模式的に示す。なお、この図１３に示す例は、第１の実施形態で説明した図７の状態をカメラモジュール２の取付誤差がない状態とし、この図７の状態に対して、カメラモジュール２にヨー角及びピッチ角の誤差が生じた場合の例である。
【００７７】
カメラモジュール２に取付誤差が生じている場合には、カメラモジュール２で撮像する範囲に誤差が発生するので、図１３（ａ）に示すように、入力バッファ１２のうち、図７の入力アドレス「６」、「７」、「１０」、「１１」に格納されるはずのカメラ画像データが、入力アドレス「１」、「２」、「５」、「６」にずれて格納される状態となる。そして、このままの状態で、アドレス変換テーブルに従って入力アドレス「６」、「７」、「１０」、「１１」のカメラ画像データを取り出して、出力アドレス「１」〜「４」に格納すると、本来モニタ３に表示するべき車両周囲の特定場所とは異なる場所の画像を表示させてしまう。
【００７８】
これに対し、上述したようにパラメータｄｘ＝−１、ｄｙ＝−１からその正負逆の値である上下方向シフト量−ｄｙを＋１［１アドレス分］とし、左右方向シフト量−ｄｘを＋１［１アドレス分］と決定して、入力バッファ１２内の画素情報を移動させると、図１３（ｂ）に示すように、デフォルトのアドレス変換テーブルを使いつつ、元々入力アドレス「１」、「２」、「５」、「６」に格納されていたカメラ画像データを取り出すよう変更することができる。本例では、調整前の入力アドレス「１」に格納されていたカメラ画像データ「Ｒ」が、調整後には入力アドレス「６」に格納するよう画素全体がシフトされている。なお、カメラ画像データの移動により情報がなくなった部分に関しては、例えば色情報を格納する等で対応する。また、以上の例はカメラモジュール２にヨー角及びピッチ角の誤差が生じている場合であるが、さらにロール角の誤差も生じている場合には、入力バッファ１２内の画素情報を上下左右方向にシフトした後に、上述したロール角の誤差に応じた回転量の逆数−ｄθに相当する画素数分だけ入力バッファ１２上でカメラ画像データを回転させる操作を行えばよい。
【００７９】
ここで、本実施形態の車載用画像処理装置５０において、カメラモジュール２から入力されるカメラ画像データを入力バッファ１２上で調整し、デフォルトのアドレス変換テーブルを用いて俯瞰画像を作成する動作の概要について、図１４及び図１５を参照して説明する。なお、図１４は一連の動作の流れを示すフローチャートであり、図１５は画像調整部４４での処理のイメージを表す図である。
【００８０】
図１４のフローが開始されると、まず、ステップＳ２１において、誤差検出部４１によりカメラ座標系におけるヨー角の誤差[deg]、ピッチ角の誤差[deg]、ロール角の誤差[deg]を求め、パラメータ算出部４２により、各誤差[deg]から、上下方向シフト量ｄｙ[pixel]、左右方向シフト量ｄｘ[pixel]、回転量ｄθ[deg]を求める。なお、これら誤差検出部４１及びパラメータ算出部４２による処理内容は、上述した第１の実施形態と同様である。
【００８１】
次に、ステップＳ２２において、画像調整部４４により、カメラモジュール２から入力されて車載用画像処理装置５０内の入力バッファ１２に格納されたカメラ画像データを、入力バッファ１２上で、ステップＳ２１で検出したパラメータｄｘ、ｄｙの正負逆の値（−ｄｘ、−ｄｙ）分だけシフトする処理を行う。本処理は、図１５中の「シフト調整」部分での演算により実現される。
【００８２】
次に、ステップＳ２３において、画像調整部４４により、ステップＳ２２でシフト調整を行ったカメラ画像データを、入力バッファ１２上で、ステップＳ２１で検出したパラメータｄθの逆数（−ｄθ）分だけ回転させる処理を行う。本処理は、図１５中の「回転操作」部分での演算により実現される。なお、カメラ画像データを回転させる操作は、第１の実施形態で説明したように回転前の座標と回転後の座標の対応関係をその都度計算するようにしてもよいし、テーブルとして備えていてもよい。また、調整後のカメラ画像データは、入力バッファ１２上の元々格納してあったバッファ領域に上書きしてもよいし、新たな領域に格納してもよい。
【００８３】
以上のステップＳ２１〜ステップＳ２３の処理は、取付誤差が生じている全てのカメラモジュール２から入力されるカメラ画像データに対して繰り返し行われる。すなわち、ステップＳ２４において、取付誤差が生じている全てのカメラモジュール２からのカメラ画像データに対する調整が終了したかどうかが判断され、取付誤差が生じている全てのカメラモジュール２からのカメラ画像データに対する調整が終了した段階で次のステップＳ２５に進む。
【００８４】
ステップＳ２５では、画像変換部１４がＣＰＵ１３の制御に従って、テーブル記憶部１５に記憶されているデフォルトのアドレス変換テーブルを読み出し、当該アドレス変換テーブルに従って、入力バッファ１２上で調整が行われた各カメラ画像データを読み出して出力バッファ１６に格納し、俯瞰画像を作成する。そして、出力バッファ１６からモニタ６へと俯瞰画像が出力される。
【００８５】
以上の一連の処理により、カメラモジュール２それぞれの取付誤差[deg]から、それぞれのカメラ画像データの入力バッファ１２上でのシフト量[pixel]及び回転量を求めて、単純なグラフィックス座標系における画素単位の加減算及び回転のみで、グローバル座標系（カメラ座標系）の誤差を補正して、ずれや歪みのない適切な俯瞰画像をモニタ６に表示することができる。
【００８６】
なお、上述した入力バッファ１２内におけるカメラ画像データのシフト処理及び回転処理は統合して一度に行ってもよい。また、上述した画像調整処理は、車載用画像処理装置５０内で行わず、カメラモジュール２内で行い、車載用画像処理装置５０は該カメラモジュール２で調整されたカメラ画像データを入力バッファ１２に格納して、デフォルトのアドレス変換テーブルに従って変換処理を行うようにしてもよい。この場合には、ＣＰＵ１３で実現される誤差検出部４１、パラメータ算出部４２、画像調整部４４の各機能のうちの少なくとも画像調整部４４としての機能を、各カメラモジュール２内部又は各カメラモジュール２に接続された制御装置で実現させるようにすればよく、上述した例と同様の効果を得ることができる。
【００８７】
＜実施形態の効果＞
以上詳細に説明したように、本発明を適用した第２の実施形態の車載画像処理装置５０によれば、車両周囲を撮像する複数のカメラモジュール２の何れかに自車両に対する取付誤差が生じていたとしても、当該カメラモジュール２のカメラ画像データを入力バッファ１２上で調整することにより、テーブル記憶部１５に記憶されているデフォルトのアドレス変換テーブルを用いて、取付誤差に起因する画像間のずれや歪みが効果的に抑制された車両周囲の俯瞰画像を作成してモニタ３に表示させることができる。
【００８８】
また、本実施形態の車載画像処理装置５０によれば、車両固有のカメラモジュール２の取付誤差に応じてカメラ画像データを調整し、アドレス変換テーブルとしてはデフォルトのアドレス変換テーブルを用いて俯瞰画像を作成するので、当該アドレス変換テーブルを記憶するテーブル記憶部１５のメモリ容量が膨大となることがない。
【００８９】
また、本実施形態の車載画像処理装置５０では、図１２の誤差検出部４１、パラメータ算出部４２及び画像調整部４４を備えることにより、カメラ座標系の誤差に起因する画像座標系の誤差を修正することができる。すなわち、カメラモジュール２のカメラ画像データを入力バッファ１２上で横方向にシフトさせるのみで、カメラモジュール２の車両に対する取付誤差であるカメラ座標系のヨー角の誤差に起因するずれを抑制した俯瞰画像３０を表示させることができる。また、カメラモジュール２のカメラ画像データを入力バッファ１２上で縦方向にシフトさせるのみで、カメラモジュール２の車両に対する取付誤差であるピッチ角の誤差に起因するずれを抑制した俯瞰画像３０を表示させることができる。更に、カメラモジュール２のカメラ画像データを入力バッファ１２上で画像座標系の任意の座標を回転中心とする回転方向に移動させるのみで、カメラモジュール２の車両に対する取付誤差であるカメラ座標系のロール角の誤差に起因するずれを抑制した俯瞰画像３０を表示させることができる。
【００９０】
更にまた、本実施形態の車載画像処理装置５０によれば、カメラモジュール２のヨー角の誤差やピッチ角の誤差に起因する画像のずれと、カメラモジュール２のロール角の誤差に起因する画像のずれとを合わせて修正できるように入力バッファ１２上でカメラ画像データを調整する場合に、先にヨー角の誤差量に応じた左右方向のシフトやピッチ角の誤差量に応じた上下方向のシフトを行い、その後に、ロール角の誤差量に応じた回転操作を行うことにより、ロール角の誤差[deg]による回転量ｄθ[deg]の演算結果に小数値が含まれる場合であっても、当該小数値により現れる丸め誤差の影響を最低限に抑えることができる。
【図面の簡単な説明】
【００９１】
【図１】本発明を適用した第１の実施形態の車載画像処理装置の構成を示すブロック図である。
【図２】アドレス変換テーブルを再構成するための構成を示すブロック図である。
【図３】それぞれ撮像方向が異なるカメラ画像データに対して視点変換処理を行って、俯瞰画像を作成する処理を説明するための図である。
【図４】それぞれ撮像方向が異なるカメラ画像データに対して視点変換処理を行って、俯瞰画像を作成する処理であって、カメラモジュールの取付誤差がある場合の課題を説明するための図である。
【図５】誤差検出部及びパラメータ算出部によってカメラモジュールのカメラ座標系における取付誤差を検出して当該誤差を修正するパラメータを算出する際の一連の手順を示すフローチャートである。
【図６】カメラモジュールのカメラ座標系における取付誤差を検出して当該誤差を修正するパラメータを算出する処理を説明するための図であり、カメラモジュールにより撮像された自車両の左側方のカメラ画像を示す図である。
【図７】カメラモジュールの取付誤差が無い場合のアドレス変換テーブルを用いた俯瞰画像の作成処理を説明するための図である。
【図８】カメラモジュールの取付誤差がある場合に、アドレス変換テーブルを再構成して俯瞰画像の作成を行う処理を説明するための図である。
【図９】アドレス変換テーブルの再構成処理の処理手順を示すフローチャートである。
【図１０】ヨー角の誤差が有る場合に表示される俯瞰画像について説明するための図であって、実施の形態の効果を説明するための図である。
【図１１】本発明を適用した第２の実施形態の車載画像処理装置の構成を示すブロック図である。
【図１２】カメラ画像データを入力バッファ上で調整するための構成を示すブロック図である。
【図１３】カメラモジュールの取付誤差がある場合に、カメラ画像データを入力バッファ上で調整して俯瞰画像の作成を行う処理を説明するための図である。
【図１４】カメラモジュールから入力されるカメラ画像データを入力バッファ上で調整して俯瞰画像を作成する際の一連の動作の流れを示すフローチャートである。
【図１５】画像調整部によりカメラ画像データを調整する処理のイメージを表す図である。
【符号の説明】
【００９２】
１，５０  車載画像処理装置
２Ａ，２Ｂ，２Ｃ，２Ｄ  カメラモジュール
３  モニタ
１２Ａ，１２Ｂ，１２Ｃ，１２Ｄ  入力バッファ
１３  ＣＰＵ
１４  画像変換部
１５  テーブル記憶部
１６  出力バッファ
３０  俯瞰画像
４１  誤差検出部
４２  パラメータ算出部
４３  テーブル再構成部
４４  画像調整部
【図１】
2006277738.tif 000003
【図２】
2006277738.tif 000004
【図３】
2006277738.tif 000005
【図４】
2006277738.tif 000006
【図５】
2006277738.tif 000007
【図６】
2006277738.tif 000008
【図７】
2006277738.tif 000009
【図８】
2006277738.tif 000010
【図９】
2006277738.tif 000011
【図１０】
2006277738.tif 000012
【図１１】
2006277738.tif 000013
【図１２】
2006277738.tif 000014
【図１３】
2006277738.tif 000015
【図１４】
2006277738.tif 000016
【図１５】
2006277738.tif 000017