(57)【要約】  本発明の撮像装置は、複数のレンズを含むレンズアレイと、前記複数のレンズと一対一に対応して設けられ、対応する前記レンズの光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域と、前記レンズアレイの近傍に配置され温度を検知する温度センサ(126)、温度センサ(126)により検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を推定する移動量推定部(139)と、移動量推定部(139)により推定された前記光軸の移動量に基づいて、前記撮像領域において生成された撮像信号を補正する撮像信号補正部(135)と、撮像信号補正部(135)により補正された前記撮像信号に基づき視差を演算する視差演算部(142)とを備える。
2009001563.tif 000002
【特許請求の範囲】
【請求項１】
複数のレンズを含むレンズアレイと、
前記複数のレンズと一対一に対応して設けられ、対応する前記レンズの光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域と、
前記レンズアレイの近傍に配置され温度を検知する温度センサと、
前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量に応じて前記撮像領域において生成された撮像信号を補正する温度補償／撮像信号補正部と、
前記温度補償／撮像信号補正部により補正された前記撮像信号に基づき視差を演算する視差演算部と、を備える、撮像装置。
【請求項２】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を推定する移動量推定部と、前記移動量推定部により推定された前記光軸の移動量に基づいて、前記撮像領域において生成された撮像信号を補正する撮像信号補正部と、を含み、
前記視差演算部は、前記撮像信号補正部により補正された前記撮像信号に基づき視差を演算するよう構成されている、請求項１に記載の撮像装置。
【請求項３】
前記移動量推定部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、前記光軸の移動量を推定するように構成されている、請求項２に記載の撮像装置。
【請求項４】
前記移動量推定部は、前記算出された変化量の半分を前記光軸の移動量と推定するように構成されている、請求項３に記載の撮像装置。
【請求項５】
前記撮像信号補正部は、前記移動量に基づき、光軸位置を補正し、その光軸周りの歪曲を補正するように構成されている、請求項２に記載の撮像装置。
【請求項６】
前記撮像信号補正部は、前記移動量に基づき、切り出し領域を変化させるように構成されている、請求項２に記載の撮像装置。
【請求項７】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を含む補正係数を作成する補正係数作成部と、前記補正係数に基づいて、前記撮像領域において生成された撮像信号を補正し補正後撮像信号を作成する撮像信号補正部と、を含み、
視差演算部は、前記補正後撮像信号に基づき視差を演算するように構成されている、請求項１に記載の撮像装置。
【請求項８】
前記補正係数作成部は、前記算出された変化量の半分を前記光軸の移動量と作成するように構成されている、請求項７に記載の撮像装置。
【請求項９】
前記温度に応じた複数組の補正係数を複数の補正係数保存値として保存する補正係数保存部を有し、
前記補正係数作成部は、前記複数組の補正係数保存値から前記温度に応じた補正係数保存値を選択して前記補正係数を作成するように構成されている、  請求項７に記載の撮像装置。
【請求項１０】
前記温度センサの信号を入力しデジタル値である温度値を作成する温度センサ信号入力部を有し、
前記補正係数保存部は、前記温度値よりも分解能が粗い組の前記補正係数保存値を保存するように構成されており、
前記補正係数作成部は、前記温度値に基づき複数組の前記補正係数保存値を選択し補間処理して、前記補正係数を作成するように構成されている、請求項９に記載の撮像装置。
【請求項１１】
前記撮像信号補正部は、前記補正係数に基づき参照先座標を求め、前記参照先座標が示す複数の撮像信号を参照し補間処理を施し補正後撮像信号を作成するように構成されている、請求項７に記載の撮像装置。
【請求項１２】
複数のレンズを含むレンズアレイと、前記複数のレンズと一対一に対応して設けられ、対応する前記レンズの光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域とを有する撮像装置に用いられる半導体回路素子であって、
前記レンズアレイの近傍に配置された温度センサによって検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量に応じて前記撮像領域において生成された撮像信号を補正する温度補償／撮像信号補正部と、
前記温度補償／撮像信号補正部により補正された前記撮像信号に基づき視差を演算する視差演算部と、を備える、半導体回路素子。
【請求項１３】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を推定する移動量推定部と、前記移動量推定部により推定された前記光軸の移動量に基づいて、前記撮像領域において生成された撮像信号を補正する撮像信号補正部と、を含み、
前記視差演算部は、前記撮像信号補正部により補正された前記撮像信号に基づき視差を演算するよう構成されている、請求項１２に記載の半導体回路素子。
【請求項１４】
前記移動量推定部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、前記光軸の移動量を推定するように構成されている、請求項１３に記載の半導体回路素子。
【請求項１５】
前記移動量推定部は、前記算出された変化量の半分を前記光軸の移動量と推定するように構成されている、請求項１４に記載の半導体回路素子。
【請求項１６】
前記撮像信号補正部は、前記移動量に基づき、光軸位置を補正し、その光軸周りの歪曲を補正するように構成されている、請求項１３に記載の半導体回路素子。
【請求項１７】
前記撮像信号補正部は、前記移動量に基づき、切り出し領域を変化させるように構成されている、請求項１３に記載の半導体回路素子。
【請求項１８】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を含む補正係数を作成する補正係数作成部と、前記補正係数に基づいて、前記撮像領域において生成された撮像信号を補正し補正後撮像信号を作成する撮像信号補正部と、を含み、
視差演算部は、前記補正後撮像信号に基づき視差を演算するように構成されている、請求項１２に記載の半導体回路素子。
【請求項１９】
前記補正係数作成部は、前記算出された変化量の半分を前記光軸の移動量として前記補正係数を作成する作成するように構成されている、請求項１８に記載の半導体回路素子。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、距離計測可能な撮像装置及びその撮像装置に用いられる半導体回路素子に関する。
【背景技術】
【０００２】
距離計測が可能な従来の撮像装置として、特許文献１の撮像装置がある。図３８は、特許文献１の撮像装置の分解斜視図である。また、図３９は、同じく撮像装置の撮像ブロックを説明するための図である。図３８及び図３９に示すように、複眼撮像系である撮像装置９０１は、絞り部材９０２と、光学レンズアレイ９０３と、遮光ブロック９０４と、光学フィルタ９０６と、撮像ユニット９０７とを備えている。この撮像装置９０１において、４つの開口部９０２−１、９０２−２、９０２−３、９０２−４を持つ絞り部材９０２と、４つの光学ブロック（レンズ）９０３−１、９０３−２、９０３−３、９０３−４を持つ光学レンズアレイ９０３とにより、４つの撮像光学系が構成されており、それぞれを通過した光線がそれぞれ撮像ユニット９０７上の４つの撮像ブロック９０７−１、９０７−２、９０７−３、９０７−４に結像する。ＣＣＤセンサなどで形成された撮像ユニット９０７は、当該撮像ユニット９０７を駆動する駆動回路９０８と、これら複数の撮像ブロック９０７−１〜９０７−４により撮像された画像間の視差情報を算出する視差算出回路９０９と共に、半導体基板９１０上に形成される。【０００３】
上述したように、絞り部材９０２の開口部９０２−１〜９０２−４を通過した光線は、それぞれレンズ９０３−１〜９０３−４により屈折作用を受けた後、遮光ブロック９０４内および光学フィルタ９０６を通過し、撮像ブロック９０７−１〜９０７−４に結像する。そして、例えば、撮像ブロック９０７−１により撮像された画像と撮像ブロック９０７−２により撮像された画像との類似度をブロックマッチングを用いて演算し、その類似度に基づき視差ｄを求めた後、下記式（１）のように、視差ｄから距離Ｌを求める。ここで、ｆはレンズ９０３−１および９０３−２の焦点距離であり、Ｂはレンズ９０３−１及び９０３−２の光軸の間隔であり、ｐはレンズ９０３−１と９０３−２との光軸を結ぶ方向の撮像ユニット９０７の画素間隔である。【０００４】
L = f B /p d …（１）
しかしながら、レンズアレイ９０３は温度変化により変形し、それに伴いレンズの光軸の間隔Ｂが変化するため、温度が変化すると正しく距離を求められない。【０００５】
このような温度変化に対応する撮像装置が特許文献２に開示されている。その構造は温度センサを有している点を除いて特許文献１の撮像装置と同様であるため、図３８を参照しながら説明すると、特許文献２の撮像装置は、等間隔に配置されたレンズ９０３−１〜９０３−４と、それらのレンズ９０３−１〜９０３−４近傍の温度Ｔを測定する温度センサとを備え、その温度Ｔを用いて、撮像ブロック９０７−１〜９０７−４により撮像された画像Ｉ１〜Ｉ４を補正する。【０００６】
より詳細に説明すると、この撮像装置は、下記式（２）のように、基準温度Ｔ０に対する温度変化量（Ｔ−Ｔ０）を演算し、レンズアレイの熱線膨張率ａＬと撮像ユニット９０７の線膨張率ａＳとの差（ａＬ−ａＳ）に基づき、温度変化による各レンズの光軸の間隔Ｂの変化量ｚを求める。そして、下記式（３）のように、撮像ブロック９０７−１により撮像された画像Ｉ１を基準として、下記式（４）、（５）及び（６）のように、撮像ブロック９０７−２、９０７−３、９０７−４により撮像された画像Ｉ２、Ｉ３、Ｉ４を、各レンズの光軸の間隔の変化分だけ補正する。ここで、レンズ９０３−１及び９０３−２、並びにレンズ９０３−３及び９０３−４がそれぞれ互いにｘ軸方向に離れて配置され、レンズ９０３−１及び９０３−３、並びにレンズ９０３−２及び９０３−４がそれぞれ互いにｙ軸方向に離れて配置されている。そして、ｐは撮像ユニット９０７の画素間隔であり、ｘ軸方向とｙ軸方向とで同一である。Ｉ１（ｘ，ｙ）、Ｉ２（ｘ，ｙ）、Ｉ３（ｘ，ｙ）、Ｉ４（ｘ，ｙ）は座標（ｘ、ｙ）における各画像の輝度を示す。温度変化により、レンズ９０３−１と比較してレンズ９０３−２はｘ軸方向にｚ／ｐ画素だけ移動するため、式（４）のように、Ｉ２（ｘ，ｙ）をｘ軸方向にｚ／ｐだけ移動するように補正する。また、温度変化により、レンズ９０３−３は、レンズ９０３−１と比較してｙ軸方向にｚ／ｐ画素だけ移動するため、式（５）のように、Ｉ３（ｘ，ｙ）をｙ軸方向にｚ／ｐだけ移動するように補正する。さらに、温度変化により、レンズ９０３−４は、レンズ９０３−１と比較してｘ軸方向にｚ／ｐ画素、ｙ軸方向にｚ／ｐ画素だけ移動するため、式（６）のように、Ｉ４（ｘ，ｙ）をｘ軸方向にｚ／ｐ画素、ｙ軸方向にｚ／ｐ画素だけ移動するように補正する。【０００７】
z = B (aL - aS) (T - T0) …（２）
I1(x, y) = I1(x, y) …（３）
I2(x, y) = I2(x+z/p, y) …（４）
I3(x, y) = I3(y, x+z/p) …（５）
I4(x, y) = I4(x+z/p, y+z/p) …（６）
【特許文献１】特開２００３−１４３４５９号公報
【特許文献２】特開２００２−２０４４６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前述のように、特許文献２に記載された従来の撮像装置は、撮像ブロック９０７−１により撮像された画像Ｉ１を基準として、式（４）、（５）及び（６）のように、撮像ブロック９０７−２、９０７−３、９０７−４により撮像された画像Ｉ２、Ｉ３、Ｉ４を、レンズの光軸の間隔の変化分だけ補正する。【０００９】
しかしながら、レンズアレイの温度変化により、光軸中心は全てのレンズにおいて変化するため、画像Ｉ１を基準とすると、光軸の間隔は正しく補正されるが、光軸中心の座標は正しく補正されない。例えば、レンズアレイの温度変化により、画像Ｉ１を撮像する撮像ブロック９０７−１に対応するレンズ９０３−１の光軸中心は変化するが、式（３）のように、画像Ｉ１の場合は補正が行われないため、当該レンズ９０３−１の光軸は補正されない。歪曲は、光軸中心に同心円状に存在するため、光軸が正しく補正されなければ、正しく歪曲補正をすることができない。すなわち、式（３）から（６）のように、画像Ｉ１を基準とした補正では、正しく光軸補正をすることができないため、正しく歪曲補正することができない。それゆえ、距離計測の精度が悪化する。【００１０】
本発明は、上記問題に鑑みなされたもので、温度が変化しても、適切な光軸補正を行うことにより正しく歪曲補正でき、その結果、高精度な距離計測を可能にする撮像装置及びその撮像装置に用いられる半導体回路素子を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の撮像装置は、複数のレンズを含むレンズアレイと、  前記複数のレンズと一対一に対応して設けられ、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量に応じて前記撮像領域において生成された撮像信号を補正する温度補償／撮像信号補正部と、前記温度補償／撮像信号補正部により補正された前記撮像信号に基づき視差を演算する視差演算部と、を備える。【００１２】
上記発明に係る撮像装置において、前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を推定する移動量推定部と、前記移動量推定部により推定された前記光軸の移動量に基づいて、前記撮像領域において生成された撮像信号を補正する撮像信号補正部と、を含み、前記視差演算部は、前記撮像信号補正部により補正された前記撮像信号に基づき視差を演算するよう構成されていてもよい。【００１３】
上記発明に係る撮像装置において、前記移動量推定部が、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、前記光軸の移動量を推定するように構成されていてもよい。ここで、当該移動量推定部が、前記算出された変化量の半分を前記光軸の移動量と推定するように構成されていてもよい。【００１４】
また、前記撮像信号補正部は、前記移動量に基づき、光軸位置を補正し、その光軸周りの歪曲を補正するように構成されていてもよい。また、前記撮像信号補正部は、前記移動量に基づき、切り出し領域を変化させるように構成されていてもよい。【００１５】
また、上記発明に係る撮像装置において、前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を含む補正係数を作成する補正係数作成部と、前記補正係数に基づいて、前記撮像領域において生成された撮像信号を補正し補正後撮像信号を作成する撮像信号補正部と、を含み、視差演算部は、前記補正後撮像信号に基づき視差を演算するように構成されていてもよい。【００１６】
上記発明に係る撮像装置において、前記補正係数作成部は、前記算出された変化量の半分を前記光軸の移動量と作成するように構成されていてもよい。【００１７】
この構成により、温度センサにより検知された温度に基づき複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、算出された変化量の半分を光軸の移動量とするように補正係数を作成し、この補正係数に撮像信号を補正する。このことにより、温度が変化しレンズアレイが変形しても、光軸の位置を正しく補償することができるため、温度の影響を低減した視差を得て、この視差に基づき正しい距離計測ができる。また、温度センサにより検知された温度に基づき複数のレンズ部の間隔の変化量を求め、複数のレンズの光軸原点をその変化量の半分だけ移動させて、光軸原点周りの歪みをなくすように画像を補正することにより、正しく歪みの影響を低減できるため、視差の検知及び距離測定を高精度に行うことができる。また、温度によりレンズ部の光軸の位置が変化すると、撮影される画像が移動することになる。例えば、自動車の前方監視に撮像装置を利用する場合、その撮像装置により得られた画像中心を運転者が見た画像の中心に合わせても、温度が変化すると画像中心がずれる。そのため、運転者は違和感を覚える。これに対し、本発明の撮像装置の場合、温度が変化しても、画像中心の変化を抑制することができる。そのため、自動車の前方監視にも適した撮像装置を実現することができる。【００１８】
また、上記発明に係る撮像装置において、前記温度に応じた複数組の補正係数を複数の補正係数保存値として保存する補正係数保存部を有し、前記補正係数作成部は、前記複数組の補正係数保存値から前記温度に応じた補正係数保存値を選択し前記補正係数を作成するように構成さていてもよい。【００１９】
この構成により、予め各温度に応じた補正係数を保存する。このことより、補正式から補正係数を演算することが不要になるため、その分だけ演算時間や演算回路が不要となり、低コストな撮像装置を実現する。また、温度に応じて複雑な非線形な変化をする補正係数について、実験で求めた値を保存し用いることにより、補正式で表現される変化と実際の変化との誤差を防止し、正しく歪みの影響を低減できるため、視差の検知及び距離測定を高精度に行うことができる。【００２０】
また、上記発明に係る撮像装置において、前記温度センサの信号を入力しデジタル値である温度値を作成する温度センサ信号入力部を有し、前記補正係数保存部は、前記温度値よりも分解能が粗い組の前記補正係数保存値を保存するように構成されており、前記補正係数作成部は、前記温度値に基づき複数組の前記補正係数保存値を選択し補間処理して、前記補正係数を作成するように構成されていてもよい。【００２１】
この構成により、予め各温度に応じた補正係数を保存するにあたり、全ての温度に対応した補正係数を保存せずに温度に対して間引いた補正係数を保存し、温度に対して補間した補正係数を用いる。このことにより、間引いた分だけ記憶領域を省略することができるため、その分だけ回路規模を縮小した低コストな撮像装置を実現することができる。【００２２】
また、上記発明に係る撮像装置において、前記撮像信号補正部は、前記補正係数に基づき参照先座標を求め、前記参照先座標が示す複数の撮像信号を参照し補間処理を施して、補正後撮像信号を作成するように構成されていてもよい。【００２３】
予め参照先座標を演算し保持する場合、補正後撮像信号の全ての画素に関し参照先座標が必要となるため、膨大な記憶容量が必要となり、その分だけ高コストとなる。特に、温度により参照先座標を変化させる必要がある場合、温度毎の参照先座標が必要であり、さらに膨大な記憶容量が必要となる。本発明の構成により、逐次、補正係数から参照先座標を求め、補正後撮像信号を作成する。このことにより、補正係数のみに記憶領域を割り当てればよく、大きな記憶容量は不要であるため、低コストな撮像装置を実現する。特に、温度より参照先座標を変化させる必要がある場合、その効果は顕著である。【００２４】
また、本発明の回路素子は、複数のレンズを含むレンズアレイと、前記複数のレンズと一対一に対応して設けられ、対応する前記レンズの光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域とを有する撮像装置に用いられる半導体回路素子であって、前記レンズアレイの近傍に配置された温度センサによって検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量に応じて前記撮像領域において生成された撮像信号を補正する温度補償／撮像信号補正部と、前記温度補償／撮像信号補正部により補正された前記撮像信号に基づき視差を演算する視差演算部と、を備える。【００２５】
上記本発明に係る回路素子において、前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を推定する移動量推定部と、前記移動量推定部により推定された前記光軸の移動量に基づいて、前記撮像領域において生成された撮像信号を補正する撮像信号補正部と、を含み、前記視差演算部は、前記撮像信号補正部により補正された前記撮像信号に基づき視差を演算するよう構成されていてもよい。【００２６】
ここで、前記移動量推定部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、前記光軸の移動量を推定するように構成されていてもよい。また、前記移動量推定部は、前記算出された変化量の半分を前記光軸の移動量と推定するように構成されていてもよい。【００２７】
また、前記撮像信号補正部は、前記移動量に基づき、光軸位置を補正し、その光軸周りの歪曲を補正するように構成されていてもよい。また、前記撮像信号補正部は、前記移動量に基づき、切り出し領域を変化させるように構成されていてもよい。【００２８】
上記本発明の回路素子において、前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を含む補正係数を作成する補正係数作成部と、前記補正係数に基づいて、前記撮像領域において生成された撮像信号を補正し補正後撮像信号を作成する撮像信号補正部と、を含み、視差演算部は、前記補正後撮像信号に基づき視差を演算するように構成されていてもよい。【００２９】
ここで、前記補正係数作成部は、前記算出された変化量の半分を前記光軸の移動量として前記補正係数を作成する作成するように構成されていてもよい。【００３０】
本発明の上記目的、他の目的、特徴、及び利点は、添付図面参照の下、以下の好適な実施態様の詳細な説明から明らかにされる。
【発明の効果】
【００３１】
本発明によれば、レンズの光軸補正及び歪曲補正を適切に行うことができるため、高精度な距離計測が可能となる。
【図面の簡単な説明】
【００３２】
【図１】図１は本発明の実施の形態１に係る撮像装置の構成を示す断面図である。
【図２】図２は本発明の実施の形態１に係る撮像装置のレンズアレイの構成を示す平面図である。
【図３Ａ】図３Ａは本発明の実施の形態１に係る撮像装置の回路部の構成を示す平面図である。
【図３Ｂ】図３Ｂは本発明の実施の形態１に係る撮像装置の撮像素子の構成を示す平面図である。
【図４】図４は本発明の実施の形態１に係る撮像装置の温度センサの回路図である。
【図５】図５は本発明の実施の形態１に係る撮像装置において、無限遠にある物体像の位置を説明するための図である。
【図６】図６は本発明の実施の形態１に係る撮像装置において、有限距離の位置にある物体像の位置を説明するための図である。
【図７】図７は本発明の実施の形態１に係る撮像装置の構成を示すブロック図である。
【図８】図８は本発明の実施の形態１に係る撮像装置の撮像信号の切り出し位置を説明するための図である。
【図９Ａ】図９Ａは本発明の実施の形態１に係る撮像装置の動作を示すフローチャートである。
【図９Ｂ】図９Ｂは平行移動処理と歪曲補正処理との前後の撮像信号を示す図である。
【図９Ｃ】図９Ｃは並行移動処理の前後の撮像信号を示す図である。
【図１０】図１０は本発明の実施の形態１に係る撮像装置の演算部の動作を示すフローチャートである。
【図１１】図１１は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算の動作を示すフローチャートである。
【図１２】図１２は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第１の撮像信号の分割ブロック及び演算順番を説明するための図である。
【図１３】図１３は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第２の撮像信号の分割ブロック及び演算順番を説明するための図である。
【図１４】図１４は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差評価値の演算領域を説明するための図である。
【図１５】図１５は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差と視差評価値との関係を説明するための図である。
【図１６】図１６は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。
【図１７】図１７は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用した視差演算の動作を示すフローチャートである。
【図１８】図１８は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用した視差演算における第３の撮像信号の分割ブロックと演算順番を説明するための図である。
【図１９】図１９は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第３の撮像信号とを利用したときの視差評価値の演算領域を説明するための図である。
【図２０】図２０は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用したときの視差演算における視差と視差評価値との関係を説明するための図である。
【図２１】図２１は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第３の撮像信号とを利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。
【図２２】図２２は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算の動作を示すフローチャートである。
【図２３】図２３は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算における第４の撮像信号の分割ブロックと演算順番を説明するための図である。
【図２４】図２４は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第４の撮像信号とを利用したときの視差評価値の演算領域を説明するための図である。
【図２５】図２５は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用したときの視差演算における視差と視差評価値との関係を説明するための図である。
【図２６】図２６は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第４の撮像信号とを利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。
【図２７】図２７は実施の形態１の変形例に係る撮像装置のレンズアレイの構成を示す平面図である。
【図２８】図２８は本発明の実施の形態２に係る撮像装置のレンズアレイの構成を示す平面図である。
【図２９】図２９は本発明の実施の形態３に係る撮像装置の構成を示すブロック図である。
【図３０】図３０は本発明の実施の形態３に係る撮像装置の動作を示すフローチャートである。
【図３１】図３１は本発明の実施の形態３に係る係数保存部を説明するための図である。
【図３２】図３２は本発明の実施の形態３に係る撮像装置の撮像信号の切り出し位置を説明するための図である。
【図３３】図３３は本発明の実施の形態３に係る撮像装置の距離演算部の動作を示すフローチャートである。
【図３４】図３４は本発明の実施の形態３に係る撮像装置において、ブロック分割を説明する図である。
【図３５】図３５は本発明の実施の形態３に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差評価値の演算領域を説明する図である。
【図３６】図３６は本発明の実施の形態３に係る撮像装置の第１の撮像信号と第２の撮像信号を利用したときの視差演算におけるずらし量と視差評価値との関係を説明する図である。
【図３７】図３７は実施の形態３の変形例に係る撮像装置のレンズアレイの構成を示す平面図である。
【図３８】図３８は従来の撮像装置の分解斜視図である。
【図３９】図３９は従来の撮像装置の撮像ブロックを説明するための図である。
【符号の説明】
【００３３】
１０１  カメラモジュール
１１０  レンズモジュール
１１１  鏡筒
１１２  上部カバーガラス
１１３  レンズアレイ
１１３ａ  第１のレンズ部
１１３ｂ  第２のレンズ部
１１３ｃ  第３のレンズ部
１１３ｄ  第４のレンズ部
１２０  回路部
１２１  基板
１２２  パッケージ
１２３  撮像素子
１２４  パッケージカバーガラス
１２５  ＳＬＳＩ
１２６  温度センサ
１２７  金線
１３１  システム制御部
１３２  撮像素子駆動部
１３３  撮像信号入力部
１３４  入力バッファ
１３５  前処理部
１３５ａ  第１の中間バッファ
１３５ｂ  第２の中間バッファ
１３５ｃ  第３の中間バッファ
１３５ｄ  第４の中間バッファ
１３５ｅ  前処理演算部
１３６  演算部
１３７  出力バッファ
１３７ａ  第１の出力バッファ
１３７ｂ  第２の出力バッファ
１３８  入出力部
１３９  温度補償部
１３９ａ  温度センサ信号入力部
１３９ｂ  温度補償演算部
１４１  演算バッファ
１４１  第１の演算バッファ
１４１  第２の演算バッファ
１４２  視差演算部
１４３  距離演算部
２２５  ＳＬＳＩ
２３４  温度センサ信号入力部
２３５  入出力部
２４１  係数保存部
２４２  温度補償演算部
２４３  撮像信号補正部
２４４  距離演算部
【発明を実施するための最良の形態】
【００３４】
以下、本発明の好ましい実施の形態を、図面を参照しながら説明する。なお、以下では全ての図を通じて同一又は相当する要素には同一の参照符号を付してその重複する説明を省略する。【００３５】
（実施の形態１）
本発明の実施の形態１に係る撮像装置は、温度センサにより検知された温度に基づき複数のレンズの光軸の間隔の変化量を求め、複数のレンズの光軸原点を変化量の半分だけ移動し、光軸原点周りの歪みをなくすように画像を補正する。これにより、歪みの影響を適切に低減できるため、高精度な視差を検知でき、高精度に距離測定できる。【００３６】
図１は、本発明の実施の形態１に係る撮像装置の構成を示す断面図である。図１に示すように、撮像装置１０１は、回路部１２０と、その回路部１２０の上方に設けられたレンズモジュール部１１０とを備えている。【００３７】
レンズモジュール部１１０は、円筒状の鏡筒１１１と、その鏡筒１１１の開口を覆う上部カバーガラス１１２と、その上部カバーガラス１１２の下方であって鏡筒１１１の内部に設けられたレンズアレイ１１３とを有している。また、回路部１２０は、基板１２１と、その基板１２１上に設けられたパッケージ１２２、撮像素子１２３、パッケージカバーガラス１２４、半導体回路素子であるシステムＬＳＩ（以下、ＳＬＳＩと記す）１２５、及びレンズアレイ１１３近傍の温度を検出する温度センサ１２６とを有している。【００３８】
鏡筒１１１は、上述のとおり円筒状であって、その内壁面は光の乱反射を防止するためにつやが消された黒で着色されており、樹脂を射出成形し形成される。上部カバーガラス１１２は、円盤状であり、光学ガラス材あるいは透明樹脂などから形成され、鏡筒１１１の上部の内壁に接着剤などにより固着され、その表面には摩擦などによる損傷を防止する保護膜と、入射光の反射を防止する反射防止膜とが設けられている。【００３９】
図２は、本発明の実施の形態１に係る撮像装置のレンズアレイの構成を示す平面図である。レンズアレイ１１３は、略円盤状であり、光学ガラス剤または透明樹脂などから形成され、円形の第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、及び第４のレンズ部１１３ｄが２行２列で碁盤目状に配設されている。第１〜第４のレンズ部１１３ａ〜１１３ｄの配置方向に沿って、図２に示すようにｘ軸及びｙ軸を設定する。第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄにおいて、被写体側から入射した光は、撮像素子１２３側へ射出され、撮像素子１２３上に４つの像が結像される。なお、図２に示すように、第１のレンズ部１１３ａの光軸及び第２のレンズ部１１３ｂの光軸は、ｘ軸方向ではＤｘだけ離れており、ｙ軸方向では一致する。第１のレンズ部１１３ａの光軸及び第３のレンズ部１１３ｃの光軸は、ｘ軸方向では一致しており、ｙ軸方向ではＤｙだけ離れている。第３のレンズ部１１３ｃの光軸及び第４のレンズ部１１３ｄの光軸は、ｘ軸方向ではＤｘだけ離れており、ｙ軸方向は一致する。第４のレンズ部１１３ｄの光軸及び第１のレンズ部１１３ａの光軸は、ｘ軸方向ではＤｘだけ離れており、ｙ軸方向ではＤｙだけ離れている。【００４０】
基板１２１は、樹脂基板から構成され、上面に鏡筒１１１がその底面を接して接着剤などにより固着される。このようにして、レンズモジュール部１１０と回路部１２０とが固定され、撮像装置１０１を構成する。【００４１】
パッケージ１２２は、金属端子を有する樹脂からなり、鏡筒１１１の内側において、基板１２１の上面にその金属端子部が半田づけ等されて固着される。【００４２】
撮像素子１２３は、ＣＣＤセンサやＣＭＯＳセンサのような固体撮像素子であり、その受光面が第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄの光軸と略垂直になるようにして配置される。撮像素子１２３の各端子は、パッケージ１２２の内側の底部の金属端子にワイヤーボンディングにより金線１２７で接続され、基板１２１を介して、ＳＬＳＩ１２５と電気的に接続される。撮像素子１２３の受光面に、第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄから射出された光がそれぞれ結像し、その光の情報が撮像素子１２３の画素を構成するフォトダイオードにより電気の情報へ変換され、その電気の情報がＳＬＳＩ１２５に転送される。【００４３】
図３Ａは、本発明の実施の形態１に係る撮像装置の回路部１２０の構成を示す平面図である。パッケージカバーガラス１２４は、平板状であり、透明樹脂により形成され、パッケージ１２２の上面に接着などにより固着される。なお、図３Ａにおいては、便宜上、パッケージカバーガラス１２４を透して見える撮像素子１２３などは省略している。【００４４】
ＳＬＳＩ１２５は、後述の方法で、撮像素子１２３を駆動し、撮像素子１２３からの電気情報を入力し、各種演算を行い、上位ＣＰＵと通信を行い、外部に画像情報や距離情報などを出力する。なお、ＳＬＳＩ１２５は、電源（例えば３．３Ｖ）とグランド（例えば、０Ｖ）に接続される。【００４５】
図３Ｂは、本発明の実施の形態１に係る撮像装置の撮像素子の構成を示す平面図である。図３Ｂに示すように、撮像素子１２３は、第１の撮像領域１２３ａ、第２の撮像領域１２３ｂ、第３の撮像領域１２３ｃ、および第４の撮像領域１２３ｄで構成されている。これらの第１〜第４の撮像領域１２３ａ〜１２３ｄは、それぞれの受光面が、第１〜第４のレンズ部１１３ａ〜１１３ｄの光軸と略垂直になるようにして２行２列で配置される。これらの各撮像領域１２３ａ〜１２３ｄにて撮像信号が生成される。【００４６】
図４は、本発明の実施の形態１に係る撮像装置の温度センサの回路図である。図４に示すように、温度センサ１２６は、第１の固定抵抗１２６ａとサーミスタ１２６ｂと第２の固定抵抗１２６ｃとが直列に接続されて構成されている。ここで、第１の固定抵抗１２６ａの他端（サーミスタ１２６ｂに接続されない端）は電源１２６ｄ（例えば３．３Ｖ）に接続され、第２の固定抵抗１２６ｃの他端（サーミスタ１２６ｂに接続されない端）はグランド１２６ｅ（例えば、０Ｖ。ＳＬＳＩ１２５のグランドと同一電位）に接続される。また、第１の固定抵抗１２６ａとサーミスタ１２６ｂとの接続点１２６ｆがＳＬＳＩ１２５に接続されている。【００４７】
次に、被写体距離と視差との関係を説明する。本発明の実施の形態１に係る撮像装置は、４つのレンズ部（第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、及び第４のレンズ部１１３ｄ）を有するため、４つのレンズ部がそれぞれ形成する４つの物体像の相対的位置が、被写体距離に応じて変化する。【００４８】
図５は、本発明の実施の形態１に係る撮像装置において、無限遠にある物体像の位置を説明するための図である。図５においては、簡単のため、レンズアレイ１１３において、第１のレンズ部１１３ａ、および第２のレンズ部１１３ｂのみを記す。無限遠の物体１０からの光の第１のレンズ部１１３ａへの入射光Ｌ１と、第２のレンズ部１１３ｂへの入射光Ｌ２とは平行である。このため、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離と、撮像素子１２３上の物体像１１ａと物体像１１ｂとの距離とは等しい。すなわち、視差はない。【００４９】
図６は、本発明の実施の形態１に係る撮像装置において、有限距離の位置にある物体像の位置を説明するための図である。図６において、簡単のため、レンズアレイ１１３において、第１のレンズ部１１３ａ、および第２のレンズ部１１３ｂのみを記す。有限距離の物体１２からの光の第１のレンズ部１１３ａへの入射光Ｌ１と第２のレンズ部１１３ｂへの入射光Ｌ２とは平行ではない。従って、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離に比べて、撮像素子１２３上の物体像１３ａと物体像１３ｂとの距離は長い。すなわち、視差がある。【００５０】
物体像１２までの距離（被写体距離）をＬ、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離をＤｘ、レンズ部１１３ａ，１１３ｂの焦点距離をｆとすると、図６の直角を挟む２辺の長さがＬ、Ｄｘの直角三角形と、直角を挟む２辺の長さがｆ、Δの直角三角形とが相似であることより、視差Δは、下記式（７）のように表される。【００５１】
L = f × Dx / Δ      ・・・（７）
その他のレンズ部間についても同様の関係が成立する。このように、被写体距離に応じて４つのレンズ部１１３ａ，１１３ｂ，１１３ｃ，１１３ｄがそれぞれ形成する４つの物体像の相対的位置が変化する。例えば、被写体距離Ｌが小さくなると、視差Δが大きくなる。【００５２】
図７は、本発明の実施の形態１に係る撮像装置の構成を示すブロック図である。ＳＬＳＩ１２５は、システム制御部１３１と、当該システム制御部１３１により制御される、撮像素子駆動部１３２、撮像信号入力部１３３、入力バッファ１３４、前処理部１３５、演算部１３６、出力バッファ１３７、入出力部１３８、及び温度補償部１３９とを有している。前処理部１３５は、第１の中間バッファ１３５ａ、第２の中間バッファ１３５ｂ、第３の中間バッファ１３５ｃ、第４の中間バッファ１３５ｄ、及び前処理演算部１３５ｅを有し、後述するようにして撮像信号を補正する撮像信号補正部として機能する。演算部１３６は、第１の演算バッファ１４１ａ及び第２の演算バッファ１４１ｂを具備する演算バッファ１４１と、視差演算部１４２と、距離演算部１４３とを有する。また、出力バッファ１３７は、第１の出力バッファ１３７ａ、および第２の出力バッファ１３７ｂを有する。さらに、温度補償部１３９は、温度センサ信号入力部１３９ａ、および温度補償演算部１３９ｂを有し、後述するようにして各レンズ部１１３ａ〜１１３ｄの光軸の移動量を推定する移動量推定部として機能する。また、温度補償部１３９と前処理部１３５とは、温度補償／撮像信号補正部を構成している。【００５３】
システム制御部１３１は、ＣＰＵ（中央演算処理装置：Central Processing Unit）及びロジック回路などから構成され、ＳＬＳＩ１２５の全体を制御する。【００５４】
撮像素子駆動部１３２は、ロジック回路などから構成され、撮像素子１２３を駆動する信号を発生し、この信号に応じた電圧を撮像素子１２３に印加する。【００５５】
撮像信号入力部１３３は、ＣＤＳ回路（相関二重サンプリング回路：Correlated Double Sampling Circuit）、ＡＧＣ（自動利得制御器：Automatic Gain Controller）、及びＡＤＣ（アナログ／デジタル変換器：Analog Digital Converter）が直列に接続されて構成される。撮像素子１２３からの電気信号が入力された場合、撮像信号入力部１３３におけるＣＤＳ回路により固定ノイズを除去し、ＡＧＣによりゲインを調整し、ＡＤＣによりアナログ信号からデジタル値に変換し、強度補正を行って、撮像信号I0とする。【００５６】
図８は、本発明の実施の形態１に係る撮像装置の撮像信号の切り出し位置を説明するための図である。撮像信号入力部１３３に入力される撮像信号I0(x,y)は、ｘ軸方向にH0画素、ｙ軸方向にV0画素を持っている。この撮像信号I0(x,y)は、I0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0-1)の順に撮像信号入力部１３３に入力され、順次、入力バッファ１３４に転送される。また、各座標（x,y）における強度補正係数ks(x,y)を用いて、下記式（８）のように強度補正が行われる。なお、強度補正係数ks(x,y)は、検査工程などにおいて特定チャート（例えば、白色チャート）を撮影し決定され、EEPROMやフラッシュメモリに保存される。【００５７】
I0(x,y) = ks(x,y) × I0(x,y) …（８）
入力バッファ１３４は、ＤＲＡＭ（Dynamic Random Access Memory）などにより構成され、撮像信号入力部１３３から入力された撮像信号I0(x,y)を保存する。【００５８】
前処理部１３５は、ロジック回路、ＤＲＡＭなどから構成される。この前処理部１３５においては、前処理演算部１３５ｅにより入力バッファ１３４に保存された撮像信号I0から各レンズ部により結像された被写体像に係る画像を切り出し、歪曲補正処理を行い、第１のレンズ部１３１ａに対応する第１の撮像信号I1(x,y)、第２のレンズ部１３１ｂに対応する第２の撮像信号I2(x,y)、第３のレンズ部に対応する第３の撮像信号I3(x,y)、および第４のレンズ部に対応する第４の撮像信号I4(x,y)を生成する。これらの撮像信号はそれぞれ第１の中間バッファ１３５ａ、第２の中間バッファ１３５ｂ、第３の中間バッファ１３５ｃ、および第４の中間バッファ１３５ｄに転送され、保存される。そして、下記式（９）のように、座標変換テーブルtx1(x,y)、ty1(x,y)に基づき撮像信号I0(x,y)から第１の撮像信号I1(x,y)が生成される。すなわち、座標(tx1(x,y), ty1(x,y))の撮像信号I0が第１の撮像信号I1(x,y)となる。座標(tx1(x,y), ty1(x,y))は、小数点を持ってもよい。その場合、座標変換テーブルtx1(x,y)の整数部分をtx1i(x,y)とし、小数部分をtx1f(x,y)として、下記式（１０）のように４画素を利用し演算する。同様に、下記式（１１）のように、座標変換テーブルtx2(x,y)、ty2(x,y)に基づき撮像信号I0(x,y)から第２の撮像信号I2(x,y)が生成され、下記式（１２）のように、座標変換テーブルtx3(x,y)、ty3(x,y)に基づき撮像信号I0(x,y)から第３の撮像信号I3(x,y)が生成され、下記式（１３）のように、座標変換テーブルtx4(x,y)、ty4(x,y)に基づき撮像信号I0(x,y)から第４の撮像信号I4(x,y)が生成される。なお、座標変換テーブルtx1(x,y)、ty1(x,y)、tx2(x,y)、ty2(x,y)、tx3(x,y)、ty3(x,y)、tx4(x,y)、ty4(x,y)は、後述の温度補償演算部１３９ｂにより生成される。【００５９】
I1(x,y) = I0(tx1(x,y),ty1(x,y)) …（９）
I1(x,y) = {1 - tx1f(x,y)} × {1 - ty1f(x,y)} × I0(tx1i(x,y),ty1i(x,y))
+ tx1f(x,y) × {1 - ty1f(x,y)} ×I0(tx1i(x,y)+1,ty1i(x,y))
+ {1 - tx1f(x,y)} × ty1f(x,y) ×I0(tx1i(x,y),ty1i(x,y)+1)
+ tx1f(x,y) × ty1f(x,y) ×I0(tx1i(x,y)+1,ty1i(x,y)+1)   …（１０）
I2(x,y) = I0(tx2(x,y),ty2(x,y)) …（１１）
I3(x,y) = I0(tx3(x,y),ty3(x,y)) …（１２）
I4(x,y) = I0(tx4(x,y),ty4(x,y)) …（１３）
歪みがなく、温度によるレンズの膨張がない場合、図８のように、第１の撮像信号I1(x,y)は、原点を(x01,y01)として、ｘ軸方向にH1画素、ｙ軸方向にV1画素だけ撮像信号I0を切り出した領域の画像を示す信号であり、第２の撮像信号I2(x,y)は、原点を(x02,y02)として、ｘ軸方向にH1画素、ｙ軸方向にV1画素だけ撮像信号I0を切り出した領域の画像を示す信号である。また、第３の撮像信号I3(x,y)は、原点を(x03,y03)として、ｘ軸方向にH1画素、ｙ軸方向にV1画素だけ撮像信号I0を切り出した領域の画像を示す信号であり、第４の撮像信号I4(x,y)は、原点を(x04,y04)として、ｘ軸方向にH1画素、ｙ軸方向にV1画素だけ撮像信号I0を切り出した領域の画像を示す信号である。【００６０】
第１の中間バッファ１３５ａは、ＤＲＡＭなどから構成され、座標変換テーブルtx1(x,y)、ty1(x,y)を用いた座標変換により歪曲補正処理された第１の撮像信号I1を順次読み込み、H1*V1画素（ｘ軸方向にH1画素、ｙ軸方向にV1画素）のデータを保存する。第２の中間バッファ１３５ｂは、ＤＲＡＭなどから構成され、座標変換テーブルtx2(x,y)、ty2(x,y)を用いた座標変換により歪曲補正処理された第２の撮像信号I2を順次読み込み、H1*V1画素（ｘ軸方向にH1画素、ｙ軸方向にV1画素）のデータを保存する。また、第３の中間バッファ１３５ｃは、ＤＲＡＭなどから構成され、座標変換テーブルtx3(x,y)、ty3(x,y)を用いた座標変換により歪曲補正処理された第３の撮像信号I3を順次読み込み、H1*V1画素（ｘ軸方向にH1画素、ｙ軸方向にV1画素）のデータを保存する。さらに、第４の中間バッファ１３５ｄは、ＤＲＡＭなどから構成され、座標変換テーブルtx4(x,y)、ty4(x,y)を用いた座標変換により歪曲補正処理された第４の撮像信号I4を順次読み込み、H1*V1画素（ｘ軸方向にH1画素、ｙ軸方向にV1画素）のデータを保存する。【００６１】
演算部１３６は、ＳＲＡＭ（Static Random Access Memory）から構成された第１の演算バッファ１４１ａ及び第２の演算バッファ１４１ｂと、ロジック回路やＣＰＵなどから構成された視差演算部１４２と、ロジック回路やＣＰＵなどから構成された距離演算部１４３とから構成される。演算部１３６は、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4をブロック単位で読み込み、これらの撮像信号を第１の演算バッファ１４１ａ及び第２の演算バッファ１４１ｂに保存する。そして、視差演算部１４２において第１の演算バッファ１４１ａ及び第２の演算バッファ１４１ｂのデータなどに基づき視差を演算し、この視差に基づき距離演算部１４３において距離を演算し、求められた距離データを出力バッファ１３７に転送する。この動作の詳細は、後述する。【００６２】
出力バッファ１３７は、ＤＲＡＭなどから構成され、演算部１３６から転送された画像データと距離データとを保存し、入出力部１３８に順次転送する。【００６３】
入出力部１３８は、上位ＣＰＵ（図示せず）との間で通信を行うとともに、上位ＣＰＵ、外部メモリ（図示せず）、及び液晶ディスプレイなどの外部表示装置（図示せず）に対して、画像データ及び距離データを出力する。【００６４】
温度センサ信号入力部１３９ａは、ＡＤＣ（Analog Digital Converter：アナログ・デジタル変換器）などから構成され、温度センサ１２６からアナログ電圧信号である温度センサ信号の入力を受ける。そして、温度センサ信号入力部１３９ａは、入力されたアナログ信号をデジタル値に変換し、その値を温度値Thとして温度補償演算部１３９ｂに出力する。【００６５】
温度補償演算部１３９ｂは、温度値Thに基づき、前処理部１３５にて利用される座標変換テーブルtx1(x,y)、ty1(x,y)、tx2(x,y)、ty2(x,y)、tx3(x,y)、ty3(x,y)、tx4(x,y)、ty4(x,y)を生成する。この座標変換テーブルを用いた変換処理により、各レンズ部１１３ａ〜１１３ｄの光軸の移動量が推定されることになる。以下、この座標変換テーブルの生成の詳細について説明する。【００６６】
レンズアレイ１１３の温度が上昇した場合、各レンズ部１１３ａ〜１１３ｄが膨張するため、図２において矢印で示すように各レンズ部１１３ａ〜１１３ｄの光軸中心がレンズ外側に移動する。このレンズ膨張に伴う光軸間の間隔の変化は、下記式（１４）及び（１５）で表される。ここで、dbxは温度上昇に伴うレンズ部の光軸間の間隔のｘ軸方向の変化量であり、撮像素子１２３の画素間隔を単位とする。また、dbyは温度上昇に伴うレンズ部の光軸間の間隔のｙ軸方向の変化量であり、撮像素子１２３の画素間隔を単位とする。また、Dxは基準温度Th0におけるｘ軸方向のレンズ部の光軸間の間隔であり、aLはレンズ部１１３の熱線膨張率であり、aSは撮像素子１２３の熱線膨張率である。また、Thは前述のようにセンサ温度であり、Th0は基準温度であり、pは撮像素子１２３の画素間隔であり、Dyは基準温度Th0におけるｙ軸方向のレンズ部の光軸間の間隔である。【００６７】
dbx = Dx × (aL - aS) × (Th - Th0) / p …（１４）
dby = Dy × (aL - aS) × (Th - Th0) / p …（１５）
レンズアレイ１１３は略円形であるため、温度上昇に伴い各レンズ部は等方的に膨張する。すなわち、図８に示すように、温度上昇に伴うレンズ部の光軸間の間隔の変化の半分（ｘ軸方向にdbx/2、ｙ軸方向にdby/2）だけ移動する。そこで、第１の撮像信号I1(x,y)用の変換テーブルtx1(x,y)及びty1(x,y)を下記式（１６）、（１７）及び（１８）のように生成する。ここで、(x01,y01)は撮像信号I0における歪みがないときの原点座標、(xc1,yc1)は撮像信号I1(x,y)における基準温度Th0での光軸中心座標、(-dbx/2,-dby/2)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（１８）における^2は二乗値を示す。また、第２の撮像信号I2(x,y)用の変換テーブルtx2(x,y)及びty2(x,y)を下記式（１９）、（２０）、及び（２１）のように生成する。ここで、(x02,y02)は撮像信号I0における歪みがないときの原点座標、(xc2,yc2)は撮像信号I2(x,y)における基準温度Th0での光軸中心座標、(+dbx/2,-dby/2)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（２１）における^2は二乗値を示す。また、第３の撮像信号I3(x,y)用の変換テーブルtx3(x,y)及びty3(x,y)を下記式（２２）、（２３）、及び（２４）のように生成する。ここで、(x03,y03)は撮像信号I0における歪みがないときの原点座標、(xc3,yc3)は撮像信号I3(x,y)における基準温度Th0での光軸中心座標、(-dbx/2,+dby/2)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（２４）における^2は二乗値を示す。さらに、第４の撮像信号I4(x,y)用の変換テーブルtx4(x,y)及びty4(x,y)を下記式（２５）、（２６）、及び（２７）のように生成する。ここで、(x04,y04)は撮像信号I0における歪みがないときの原点座標、(xc4,yc4)は撮像信号I4(x,y)における基準温度Th0での光軸中心座標、(+dbx/2,+dby/2)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（２７）における^2は二乗値を示す。【００６８】
tx1(x,y) = x01 + xc1 + {x - xc1 - dbx/2}×(1 + kd2 × r2 + kd4 × r4)  …（１６）
ty1(x,y) = y01 + yc1 + {y - yc1 - dby/2}×(1 + kd2 × r2 + kd4 × r4)  …（１７）
r2 = {x - xc1 - dbx/2}^2+ {y - yc1 - dby/2}^2、r4 = r2^2   …（１８）
tx2(x,y) = x02 + xc2 + {x - xc2 + dbx/2}×(1 + kd2 × r2 + kd4 × r4)  …（１９）
ty2(x,y) = y02 + yc2 + {y - yc2 - dby/2}×(1 + kd2 × r2 + kd4 × r4)  …（２０）
r2 = {x - xc2 + dbx/2}^2+ {y - yc2 - dby/2}^2、r4 = r2^2   …（２１）
tx3(x,y) = x03 + xc3 + {x - xc3 - dbx/2}×(1 + kd2 × r2 + kd4 × r4)  …（２２）
ty3(x,y) = y03 + yc3 + {y - yc3 + dby/2}×(1 + kd2 × r2 + kd4 × r4)  …（２３）
r2 = {x - xc3 - dbx/2}^2+ {y - yc3 + dby/2}^2、r4 = r2^2   …（２４）
tx4(x,y) = x04 + xc4 + {x - xc4 + dbx/2}×(1 + kd2 × r2 + kd4 × r4)  …（２５）
ty4(x,y) = y04 + yc4 + {y - yc4 + dby/2}×(1 + kd2 × r2 + kd4 × r4)  …（２６）
r2 = {x - xc4 + dbx/2}^2+ {y - yc4 + dby/2}^2、r4 = r2^2   …（２７）
なお、歪みが生じない場合、上記の座標変換テーブルを用いてなされる座標変換は、下記式（２８）乃至（３１）のように、撮像信号I0(x,y)から画像を切り出し、その後、下記式（３２）乃至（３５）のように、平行移動を行うことに相当する。【００６９】
I1(x, y) = I0(x + x01, y + y01) …（２８）
I2(x, y) = I0(x + x02, y + y02) …（２９）
I3(x, y) = I0(x + x03, y + y03) …（３０）
I4(x, y) = I0(x + x04, y + y04) …（３１）
I1(x, y) = I1(x-dbx/2, y-dby/2) …（３２）
I2(x, y) = I2(x+dbx/2, y-dby/2) …（３３）
I3(x, y) = I3(y-dbx/2, x+dby/2) …（３４）
I4(x, y) = I4(x+dbx/2, y+dby/2) …（３５）
図９Ａは、本発明の実施の形態１に係る撮像装置の動作を示すフローチャートである。ＳＬＳＩ１２５のシステム制御部１３１により、撮像装置１０１は、このフローチャートのとおりに動作される。【００７０】
ステップＳ１０１０において、撮像装置１０１は動作を開始する。例えば、上位ＣＰＵ（図示せず）が、入出力部１３６を介し、撮像装置１０１に動作の開始を命令することにより、撮像装置１０１は、動作を開始する。次に、ステップＳ１０２０を実行する。【００７１】
ステップＳ１０２０において、撮像信号を入力する。システム制御部１３１の命令により、撮像素子駆動部１３２が電子シャッターの動作及び撮像信号の転送を行うための信号を随時出力する。その結果、ｘ軸方向にH0画素分、ｙ軸方向にV0画素分の撮像信号I0(x,y)が撮像信号入力部１３３に入力される。この場合、撮像信号入力部１３３には、撮像信号I0(x,y)がI0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0-1)の順に入力され、順次、これらの信号が入力バッファ１３４に転送される。次に、ステップＳ１０３０を実行する。【００７２】
ステップＳ１０３０において、温度センサ信号入力部１３９ａは、温度センサ１２６から温度センサ信号の入力を受け、これをデジタル値に変換して温度値Thとして温度補償演算部１３９ａに出力する。次に、ステップＳ１０４０を実行する。【００７３】
ステップＳ１０４０において、温度補償演算部１３９ｂは、前述のようにして、温度値Thに基づき、前処理部１３５で用いられる座標変換テーブルtx1(x,y)、ty1(x,y)、tx2(x,y)、ty2(x,y)、tx3(x,y)、ty3(x,y)、tx4(x,y)、ty4(x,y)を生成する。次に、ステップＳ１０５０を実行する。【００７４】
ステップＳ１０５０において、前処理演算部１３５ｅは、前述のようにして、入力バッファ１３４に保存された撮像信号I0から各レンズ部により結像された被写体像に係る画像を切り出し、平行移動処理（温度上昇に伴うレンズ部の光軸間の間隔の変化の半分（ｘ軸方向にdbx/2、ｙ軸方向にdby/2）だけ光軸がレンズアレイ１１３の外側に平行移動するように座標変換テーブルを補償することにより実現される平行移動処理）と、歪曲補正とを行い、第１のレンズ部１１３ａに対応する第１の撮像信号I1(x,y)、第２のレンズ部１１３ｂに対応する第２の撮像信号I2(x,y)、第３のレンズ部１１３ｃに対応する第３の撮像信号I3(x,y)、および第４のレンズ部１１３ｄに対応する第４の撮像信号I4(x,y)を生成する。これらの撮像信号はそれぞれ第１の中間バッファ１３５ａ、第２の中間バッファ１３５ｂ、第３の中間バッファ１３５ｃ、および第４の中間バッファ１３５ｄに転送され、保存される。【００７５】
ここで、温度補償により歪曲補正の精度が向上することを説明する。図９Ｂは、平行移動処理と歪曲補正処理との前後の撮像信号を示す図である。図９Ｂにおいては、中央部の十字が太く表された格子が描画された平面板である被写体を撮像したときの撮像信号（画像）を示している。簡略化のため、第１の撮像信号の被写体像のみ示し、第２乃至第４の撮像信号の被写体像を省略している。ここで、撮像装置１０１は、この平面板に正対させ、第１のレンズ部１１３ａの光軸上に中央部の十字の交点が位置するように配置する。図９Ｂ（ａ）は、基準温度における撮像信号を示す図であり、図９Ｂ（ｂ）は、平行移動処理と歪曲補正処理とを行わないときの第１の撮像信号を示す図である。図９Ｂ（ｂ）に示すように、基準温度のとき、中央に太い十字が位置する。図９Ｂ（ｃ）は、平行移動処理を行わず歪曲補正処理を行うときの第１の撮像信号を示す図である。図９Ｂ（ｃ）に示すように、歪曲補正により、格子が再現される。図９Ｂ（ｄ）は、基準温度よりも温度が高いときにおける撮像信号を示す図であり、図９Ｂ（ｅ）は、平行移動処理と歪曲補正処理とを行わないときの第１の撮像信号を示す図である。図９Ｂ（ｅ）に示すように、基準温度より温度が高いときには、第１のレンズ部１１３ａの光軸が左上に移動するに伴い被写体像が左上に移動するため、中央よりも左上に太い十字の交点が移動する。図９Ｂ（ｆ）は、平行移動処理を行わず歪曲補正処理を行うときの第１の撮像信号を示す図である。図９Ｂ（ｆ）に示すように、歪曲補正の光軸中心と歪曲の中心とがずれるため、格子が完全には再現されず、歪みが残る。図９Ｂ（ｇ）は、基準温度よりも温度が高いときにおける撮像信号を示す図であり、図９Ｂ（ｈ）は、平行移動処理を行い、歪曲補正処理を行わないときの第１の撮像信号を示す図である。図９Ｂ（ｈ）に示すように、基準温度より温度が高いのとき、第１のレンズ部１１３ａの光軸が左上に移動するに伴い被写体像が左上に移動するが、平行移動処理により左上への移動が補償され、中央に太い十字の交点が位置する。図９Ｂ（ｉ）は、平行移動処理と歪曲補正処理とを行うときの第１の撮像信号を示す図である。図９Ｂ（ｉ）に示すように、歪曲補正の光軸中心と歪曲の中心とが一致するため、格子が再現される。このように、温度が高くなると光軸原点が外側に平行移動するように座標変換テーブルを設定し平行移動を行うことにより、歪曲の補正精度を向上し、ひいては、視差演算精度を向上し、測距演算精度を向上する。【００７６】
次に、温度補償により被写体像が動かないことを説明する。図９Ｃは、平行移動処理の前後の撮像信号（画像）を示す図である。図９Ｃにおいて、説明を簡単にするために、各レンズ部（第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄ）が歪曲を持たず、それゆえ歪曲補正を行わないときの撮像信号を示す。図９Ｃにおいて、撮像装置１０１を車両前方に配置し、車両前方の被写体として車線のみが撮像されたときの撮像信号を示している。図９Ｃ（ａ）は、基準温度における撮像信号を示す図であり、図９Ｃ（ｂ）は、平行移動処理を行わないときの第１の撮像信号を示す図である。図９Ｃ（ｂ）に示すように、基準温度のとき、中央に被写体が位置する。図９Ｃ（ｄ）は、基準温度よりも温度が高いときにおける撮像信号を示す図であり、図９Ｃ（ｅ）は、平行移動処理を行わないときの第１の撮像信号を示す図である。図９Ｃ（ｅ）のように、基準温度より温度が高いときには、第１のレンズ部１１３ａの光軸が左上に移動するに伴い被写体像が左上に移動する。図９Ｃ（ｇ）は、基準温度よりも温度が高いときにおける撮像信号を示す図であり、図９Ｃ（ｈ）は、平行移動処理を行うときの第１の撮像信号を示す図である。図９Ｃ（ｈ）に示すように、基準温度より温度が高いとき、第１のレンズ部１１３ａの光軸が左上に移動するに伴い被写体像が左上に移動するが、平行移動処理により左上への移動が補償され、中央に被写体が位置する。このように、温度が高くなると光軸原点が外側に平行移動するように座標変換テーブルを設定し平行移動を行うことにより、被写体の画像中心の移動を抑制する。次に、ステップＳ１１００を実行する。【００７７】
ステップＳ１１００において、演算部１３６が、距離データを生成し、順次、第２の出力バッファ１３７ｂに転送する。この動作の詳細は後述する。また、演算部１３６は、距離データの他に画像データを生成し、順次、第１の出力バッファ１３７ａに転送する。次に、ステップＳ１９１０を実行する。【００７８】
ステップＳ１９１０において、外部にデータを出力する。入出力部１３８は、第１の出力バッファ１３７ａ上の画像データ、および第２の出力バッファ１３７ｂ上の距離データを、上位ＣＰＵ及び外部表示装置に出力する。次に、ステップＳ１９２０を実行する。【００７９】
ステップＳ１９２０において、動作を終了するかどうかを判断する。例えば、システム制御部１３１は、入出力部１３６を介し、上位ＣＰＵと通信し、動作を終了するかどうかの命令を要求する。そして、上位ＣＰＵが終了を命令した場合（Ｓ１９２０でＹＥＳ）、撮像装置１０１はステップＳ１９３０へ進み、動作を終了する。一方、上位ＣＰＵが終了を命令しなかった場合（Ｓ１９２０でＮＯ）、撮像装置１０１は、動作を継続し、次に、ステップＳ１０２０を実行する。すなわち、上位ＣＰＵが終了を命令しない限り、ステップＳ１０２０、ステップＳ１０３０、ステップＳ１０４０、ステップＳ１０５０、ステップＳ１１００、およびステップＳ１９１０のループの実行が継続される。【００８０】
次に、ステップＳ１１００における動作の詳細を説明する。図１０は、本発明の実施の形態１に係る撮像装置の演算部の動作を示すフローチャートである。図１０のフローチャートは、ステップＳ１１００の動作の詳細を示す。ステップＳ１１００の演算では、まず、ステップＳ１２１０を実行する。【００８１】
ステップＳ１２１０において、演算の動作を開始する。次に、ステップＳ１２２０を実行する。【００８２】
ステップＳ１２２０において、第１の撮像信号と第２の撮像信号とを利用した視差演算を実行する。図１１は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算の動作を示すフローチャートである。図１１のフローチャートは、ステップＳ１２２０の動作の詳細を示す。ステップＳ１２２０の演算では、まず、ステップＳ１３１０を実行する。【００８３】
ステップＳ１３１０において、第１の撮像信号と第２の撮像信号とを利用した視差演算の動作を開始する。次に、ステップＳ１３２０を実行する。【００８４】
ステップＳ１３２０において、ブロックインデックスｉｂを０に初期化する。次に、ステップＳ１３３０を実行する。【００８５】
ステップＳ１３３０において、ブロックを選択する。図１２は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第１の撮像信号の分割ブロック及び演算順番を説明するための図であり、図１３は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第２の撮像信号の分割ブロック及び演算順番を説明するための図である。【００８６】
図１２に示すように、第１の撮像信号Ｉ１は、ｘ軸方向にＨＢ画素、ｙ軸方向にＶＢ画素の長方形状のブロックに分割される。各ブロックは、ｘ軸方向にＨＢ画素、ｙ軸方向にＶＢ画素ずれて配置されるため、各ブロックはｘ軸方向、ｙ軸方向ともに重なる部分はない。その結果、第１の撮像信号Ｉ１は、ｘ軸方向にＮｈ個、ｙ軸方向にＮｖ個のブロックを持つことになる。【００８７】
第２の撮像信号Ｉ２は、図１３（ｂ）に示すようなｘ軸方向に（ＨＢ＋ＳＢ）画素、ｙ軸方向にＶＢ画素の長方形状のブロックに分割される。各ブロックは、ｘ軸方向にＨＢ画素、ｙ軸方向にＶＢ画素ずれて配置されるため、ｘ軸方向では隣のブロックと重なるものの、ｙ軸方向では隣のブロックと重ならない。その結果、図１３（ａ）に示すように、第２の撮像信号Ｉ２は、ｘ軸方向にＮｈ個、ｙ軸方向にＮｖ個のブロックを持つことになる。なお、図面の右側のブロックにおいてｘ軸方向に（ＨＢ＋ＳＢ）画素が取れない場合、適宜ｘ軸方向の右端部が削除される。以下では、ＨＢ＝３２、ＶＢ＝３２の場合の例を示す。【００８８】
図１２及び図１３において、各ブロックの上段に記述された数字はブロックインデックスｉｂを示す。また、図１２及び図１３において、各ブロックの下段に記述された座標（ｉｂｘ、ｉｂｙ）は、各ブロックがｘ軸方向にｉｂｘ番目、ｙ軸方向にｉｂｙ番目のブロックであることを示す。ここで、ｉｂｘは０からＮｈ−１まで、ｉｂｙは０からＶｈ−１まで存在する。ステップＳ１３３０においては、図１２及び図１３でブロックインデックスｉｂにより示されるブロックB(ib)（座標（ｉｂｘ、ｉｂｙ）で示されるブロックB(ibx,iby)）が選択される。次に、ステップＳ１３４０を実行する。【００８９】
ステップＳ１３４０において、撮像信号を転送する。より具体的には、ステップＳ１３３０において選択されたブロックB(ibx,iby)に該当する座標の第１の撮像信号I1を式（９）に従い演算し、その結果得られた信号を第１の演算バッファ１４１ａに転送する。第１の演算バッファ１４１ａの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。【００９０】
また、ステップＳ１３３０において選択されたブロックB(ibx,iby)に該当する座標の第２の撮像信号I2を式（１１）に従い演算し、その結果得られた信号を第２の演算バッファ１４１ｂに転送する。第２の演算バッファ１４１ｂの座標(x,y)における値をBc2(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31+SB、y=0〜31である。【００９１】
例えば、ｉｂ＝０のとき、第１の演算バッファ１４１ａには、座標(0,0)と座標(31,31)とで囲まれる1024画素の撮像信号I1が転送され、第２の演算バッファ１４１ｂには、図１３において右斜上となる斜線が描かれた座標(0,0)と座標(31+SB,31)とで囲まれる(1024+32*SB)画素の撮像信号I2が転送される。【００９２】
次に、ｉｂ＝１のとき、第１の演算バッファ１４１ａには、座標(32,0)と座標(63,31)とで囲まれる1024画素の撮像信号I1が転送される。またこの場合、第２の演算バッファ１４１ｂには、図１３において右斜下となる斜線が描かれた座標(32,0)と座標(63+SB,31)とで囲まれる(1024+32*SB)画素の撮像信号I2が必要となるが、ｉｂ＝０と重なる部分（座標(32,0)と座標(31+SB,31)とで囲まれる32*SB画素の領域）はすでに第２の演算バッファ１４１ｂに転送されているため、新たに座標(32+SB,0)と座標(63+SB,31)とで囲まれる1024画素のみを転送すればよい。なお、適宜、出力用の画像データとして、第１の出力バッファ１３７ａにも転送する。次に、ステップＳ１３５０を実行する。【００９３】
ステップＳ１３５０において、視差演算を実行する。まず、視差評価値R(kx)を演算する。ここで、ｋｘは画像をどれだけずらすかを示すずらし量であり、kx=0、1、2、…、SBのように変化させる。図１４は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差評価値の演算領域を説明するための図である。図１４のように、Bc1で示される領域は、第１の演算バッファ１４１ａの領域であり、Bc2で示される領域は、第２の演算バッファ１４１ｂにおいて、Bc1で示されるブロックからｘ軸方向にずらし量ｋｘだけ移動した領域である。そして、ずらし量kx=0からSBについて、下記式（３６）に示される絶対値差分総和(SAD：Sum of Absolute Differences)を演算し、視差評価値R(kx)とする。ここで、ΣΣはｘ軸方向及びｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。【００９４】
R(kx) = ΣΣ|Bc1(x,y) - Bc2(x+k,y)| …（３６）
この視差評価値R(kx)は、第１の演算バッファ１４１ａのデータBc1と、ｘ軸方向にｋｘだけ離れた領域における第２の演算バッファ１４１ｂのデータBc2とがどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。ここで、第１の演算バッファ１４１ａのデータBc1は、第１の撮像信号I1を転送したものであり、第２の演算バッファ１４１ｂのデータBc2は、第２の撮像信号I2を転送したものであるため、視差評価値R(kx)は、第１の撮像信号I1と対応する第２の撮像信号I2とがどれだけ相関があるかを示すことになる。【００９５】
図１５は、本発明の実施の形態１に係る撮像装置の第１の撮像信号及び第２の撮像信号を利用したときの視差演算における視差と視差評価値との関係を説明するための図である。図１５のように、視差評価値R(kx)はずらし量ｋxの値によって変化し、ずらし量ｋｘ＝Δのとき極小値を持つ。第１の演算バッファ１４１ａのデータBc1は、当該データBc1をｘ軸方向にΔだけ移動した領域に存在する第２の演算バッファ１４１ｂのデータBc2と最も相関がある（最も似ている）ことを示す。したがって、第１の演算バッファ１４１ａのデータBc1と第２の演算バッファ１４１ｂのデータBc2とのｘ軸方向の視差がΔであることが分かる。そして、このときの視差Δを、第１の撮像信号及び第２の撮像信号を利用したときのブロックB(ibx,iby)における視差値Δ12(ibx,iby)として保存する。【００９６】
次に、第１の撮像信号と第２の撮像信号を利用したときのブロックB(ibx,iby)における視差値Δ12(ibx,iby)の信頼度を演算する。図１６は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号とを利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。データBc1は第１の演算バッファ１４１ａの領域内に格納されたデータである。また、データBc2は、データBc1をｘ軸方向にΔ12(ibx,iby)だけ移動した第２の演算バッファ１４１ｂにおけるデータである。そして、下記式（３７）のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ12(ibx,iby),y)について、正規化相関係数を、第１の撮像信号及び第２の撮像信号を利用したときのブロックB(ibx,iby)における信頼度E12(ibx,iby)とする。ΣΣはｘ軸方向及びｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。次に、ステップＳ１３６０を実行する。【００９７】
E12(ibx,iby) = ΣΣ(Bc1(x,y)-avg1)(Bc2(x+Δ12(ibx,iby),y)-avg2)
/ ΣΣ(Bc1(x,y)-avg1)(Bc1(x,y)-avg1)
/ ΣΣ(Bc2(x+Δ12(ibx,iby),y)-avg2)(Bc2(x+Δ12(ibx,iby),y)-avg2)
avg1 = ΣΣBc1(x,y)/(HB*VB)
avg2 = ΣΣBc2(x+Δ12(ibx,iby),y)/(HB*VB) …（３７）
ステップＳ１３６０において、ブロックインデックスｉｂに１を加える。次に、ステップＳ１３７０を実行する。【００９８】
ステップＳ１３７０において、第１の撮像信号と第２の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスｉｂがNh*Nv未満のとき（Ｓ１３７０でＮＯ）、次のブロックの視差を演算するために、ステップＳ１３３０に戻る。一方、ブロックインデックスｉｂがNh*Nv以上のとき（Ｓ１３７０でＹＥＳ）、全てのブロックの視差を演算したと判断し、次に、ステップＳ１３８０を実行する。【００９９】
ステップＳ１３８０において、第１の撮像信号と第２の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。【０１００】
このようにして、第１の撮像信号と第２の撮像信号とを利用した視差演算において、ブロックインデックスｉｂで示される３２ｘ３２画素のブロックB(ibx,iby)について、視差値Δ12(ibx,iby)とその信頼度E12(ibx,iby)とが求められた。ここで、12は第１の撮像信号と第２の撮像信号とを利用していることを示し、(ibx,iby)は図１２において各ブロックの下段に示される座標を示す（ｉｂｘは０からＮｈ−１まで、ｉｂｙはＶｈ−１まで変化する）。次に、図１０のステップＳ１２３０を実行する。【０１０１】
ステップＳ１２３０において、第１の撮像信号と第３の撮像信号とを利用した視差演算を実行する。図１７は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用した視差演算の動作を示すフローチャートである。図１７のフローチャートは、ステップＳ１２３０の動作の詳細を示す。ステップＳ１２３０の演算では、まず、ステップＳ１４１０を実行する。【０１０２】
ステップＳ１４１０において、第１の撮像信号と第３の撮像信号とを利用した視差演算の動作を開始する。次に、ステップＳ１４２０を実行する。【０１０３】
ステップＳ１４２０において、ブロックインデックスｉｂを０に初期化する。次に、ステップＳ１４３０を実行する。【０１０４】
ステップＳ１４３０において、ブロックを選択する。第１の撮像信号のブロック分割は、ステップＳ１３３０と同様であり、説明を省略する。図１８は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用した視差演算における第３の撮像信号の分割ブロックと演算順番を説明するための図である。第３の撮像信号Ｉ３は、ｘ軸方向にＨＢ画素、図１８（ｂ）に示すようにｙ軸方向に（ＶＢ＋ＳＢ）画素の長方形状のブロックに分割される。各ブロックは、ｘ軸方向にＨＢ画素、ｙ軸方向にＶＢ画素ずれて配置されるため、ｙ軸方向では隣のブロックと重なるものの、ｘ軸方向では隣のブロックと重ならない。その結果、図１８（ａ）に示すように、第３の撮像信号Ｉ３は、ｘ軸方向にＮｈ個、ｙ軸方向にＮｖ個のブロックを持つことになる。なお、図面の下側のブロックにおいてｙ軸方向に（ＶＢ＋ＳＢ）画素を取れないブロックは、適宜ｙ軸方向の下端部が削除される。以下では、ＨＢ＝３２、ＶＢ＝３２の場合の例を示す。【０１０５】
図１８において、各ブロックの上段に記述された数字はブロックインデックスｉｂを示す。また、図１８において、各ブロックの下段に記述された座標（ｉｂｘ、ｉｂｙ）は、各ブロックがｘ軸方向にｉｂｘ番目、ｙ軸方向にｉｂｙ番目のブロックであることを示す。ここで、ｉｂｘは０からＮｈ−１まで、ｉｂｙは０からＶｈ−１まで存在する。ステップＳ１４３０において、図１２及び図１８においてブロックインデックスｉｂで示されるブロックB(ib)（座標（ｉｂｘ、ｉｂｙ）で示されるブロックB(ibx,iby)）が選択される。次に、ステップＳ１４４０を実行する。【０１０６】
ステップＳ１４４０において、撮像信号を転送する。より具体的には、ステップＳ１４３０において選択されたブロックB(ibx,iby)に該当する座標の第１の撮像信号I1を式（９）に従い演算し、その結果得られた信号を第１の演算バッファBc1に転送する。第１の演算バッファ１４１ａの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。【０１０７】
また、ステップＳ１４３０において選択されたブロックB(ibx,iby)に該当する座標の第３の撮像信号I3を式（１２）に従い演算し、その結果得られた第２の演算バッファ１４１ｂに転送する。第２の演算バッファ１４１ｂの座標(x,y)における値をBc2(x,y)とする。
ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31+SBである。【０１０８】
例えば、ｉｂ＝０のとき、第１の演算バッファ１４１ａには、座標(0,0)と座標(31,31)とで囲まれる1024画素の撮像信号I1が転送され、第２の演算バッファ１４１ｂには、図１８において右斜上となる斜線が描かれた座標(0,0)と座標(31,31+SB)とで囲まれる(1024+32*SB)画素の撮像信号I2が転送される。【０１０９】
次に、ｉｂ＝１のとき、第１の演算バッファ１４１ａには、座標(0,32)と座標(31,63)とで囲まれる1024画素の撮像信号I1が転送される。またこの場合、第２の演算バッファ１４１ｂには、図１８において右斜下となる斜線が描かれた座標(0,32)と座標(31,63+SB)とで囲まれる(1024+32*SB)画素の撮像信号I2が必要となるが、ｉｂ＝０と重なる部分（座標(0,32)と座標(31,31+SB)で囲まれる32*SB画素の領域）はすでに第２の演算バッファ１４１ａに転送されているため、新たに座標(0,32+SB)と座標(31,63+SB)とで囲まれる1024画素のみを転送すればよい。次に、ステップＳ１４５０を実行する。【０１１０】
ステップＳ１４５０において、視差演算を実行する。まず、視差評価値R(ky)を演算する。ここで、ｋｙは画像をどれだけずらすかを示すずらし量であり、ky=0、1、2、…、SBのように変化させる。図１９は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第３の撮像信号とを利用したときの視差評価値の演算領域を説明するための図である。図１９のように、Bc1で示される領域は、第１の演算バッファ１４１ａの領域であり、Bc2で示される領域は、第２の演算バッファ１４１ｂにおいて、Bc1で示されるブロックからｙ軸方向にずらし量ｋｙだけ移動した領域である。そして、ずらし量ky=0からSBについて、下記式（３８）に示される絶対値差分総和を演算し、視差評価値R(ky)とする。ここで、ΣΣはｘ軸方向及びｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。【０１１１】
R(ky) = ΣΣ|Bc1(x,y) -Bc2(x,y+k)| …（３８）
この視差評価値R(ky)は、第１の演算バッファ１４１ａのデータBc1と、ｙ軸方向にｋｙだけ離れた領域における第２の演算バッファ１４１ｂのデータBc2とがどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。ここで、第１の演算バッファ１４１ａのデータBc1は、第１の撮像信号I1を転送したものであり、第２の演算バッファ１４１ｂのデータBc2は、第３の撮像信号I3を転送したものであるため、視差評価値R(ky)は、第１の撮像信号I1と対応する第３の撮像信号I3とがどれだけ相関があるかを示すことになる。【０１１２】
図２０は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用したときの視差演算における視差と視差評価値との関係を説明するための図である。図２０のように、視差評価値R(ky)はずらし量ｋｙの値によって変化し、ずらし量ｋｙ＝Δのとき極小値を持つ。第１の演算バッファ１４１ａのデータBc1のデータは、当該データBc1をｙ軸方向にΔだけ移動した領域に存在する第２の演算バッファ１４１ｂのデータBc2と最も相関がある（最も似ている）ことを示す。したがって、第１の演算バッファ１４１ａのデータBc1と第２の演算バッファ１４１ｂのデータBc2とのｙ軸方向の視差がΔであることが分かる。そして、このときの視差Δを第１の撮像信号及び第３の撮像信号を利用したときのブロックB(ibx,iby)における視差値Δ13(ibx,iby)として保存する。【０１１３】
次に、第１の撮像信号と第３の撮像信号を利用したときのブロックB(ibx,iby)における視差値Δ13(ibx,iby)の信頼度を演算する。図２１は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第３の撮像信号とを利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。Bc1で示される領域は第１の演算バッファ１４１ａの領域であり、Bc2で示される領域は、第２の演算バッファ１４１ｂにおいてｙ軸方向にΔ13(ibx,iby)だけ移動した領域である。そして、下記式（３９）のように、それぞれの領域のデータBc1(x,y)、Bc2(x,y+Δ13(ibx,iby))について、正規化相関係数を第１の撮像信号と第３の撮像信号を利用したときのブロックB(ibx,iby)における信頼度E13(ibx,iby)とする。ΣΣはｘ軸方向及びｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。次に、ステップＳ１４６０を実行する。【０１１４】
E13(ibx,iby) = ΣΣ(Bc1(x,y)-avg1)(Bc2(x,y+Δ13(ibx,iby))-avg2)
/ ΣΣ(Bc1(x,y)-avg1)(Bc1(x,y)-avg1)
/ ΣΣ(Bc2(x,yΔ13(ibx,iby))-avg2)(Bc2(x,y+Δ13(ibx,iby))-avg2)
avg1 = ΣΣBc1(x,y)/(HB*VB)
avg2 = ΣΣBc2(x,y+Δ13(ibx,iby))/(HB*VB) …（３９）
ステップＳ１４６０において、ブロックインデックスｉｂに１を加える。次に、ステップＳ１４７０を実行する。【０１１５】
ステップＳ１４７０において、第１の撮像信号と第３の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスｉｂがNh*Nv未満のとき（Ｓ１４７０でＮＯ）、次のブロックの視差を演算するために、ステップＳ１４３０に戻る。一方、ブロックインデックスｉｂがNh*Nv以上のとき（Ｓ１４７０でＹＥＳ）、全てのブロックの視差を演算したと判断し、ステップＳ１４８０に進む。【０１１６】
ステップＳ１４８０において、第１の撮像信号と第３の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。このようにして、第１の撮像信号と第３の撮像信号とを利用した視差演算において、ブロックインデックスｉｂで示される３２ｘ３２画素のブロックB(ibx,iby)について、視差量Δ13(ibx,iby)とその信頼度E13(ibx,iby)とが求められた。ここで、13は第１の撮像信号と第３の撮像信号とを利用していることを示し、(ibx,iby)は図１２において各ブロックの下段に示される座標を示す（ｉｂｘは０からＮｈ−１まで、ｉｂｙはＶｈ−１まで変化する）。次に、図１０のステップＳ１２４０を実行する。【０１１７】
ステップＳ１２４０において、第１の撮像信号と第４の撮像信号とを利用した視差演算を実行する。図２２は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算の動作を示すフローチャートである。図２２のフローチャートは、ステップＳ１２４０の動作の詳細を示す。ステップＳ１２４０の演算では、まず、ステップＳ１５１０を実行する。【０１１８】
ステップＳ１５１０において、第１の撮像信号と第４の撮像信号とを利用した視差演算の動作を開始する。次に、ステップＳ１５２０を実行する。【０１１９】
ステップＳ１５２０において、ブロックインデックスｉｂを０に初期化する。次に、ステップＳ１５３０を実行する。【０１２０】
ステップＳ１５３０において、ブロックを選択する。第１の撮像信号のブロック分割は、ステップＳ１３２０と同様であり、説明を省略する。図２３は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算における第４の撮像信号の分割ブロックと演算順番を説明するための図である。図２３おいて、第４の撮像信号Ｉ４は、図２３（ｂ）のような(HB+SB)*(VB+SB＊Dy/Dx)-SB*SB*Dy/Dx画素のブロックに分割され、ｘ軸方向にＨＢ画素、ｙ軸方向にＶＢ画素ずれて配置され、ｘ軸方向にＮｈ個、ｙ軸方向にＮｖ個のブロックを持つ。また、図２３において、図２３（ｂ）のようなブロックを取れないブロック（例えば、右上や右下や左下のブロック）は、適宜取れない部分が削除される（例えば、右上のブロックはＨＢ＊ＶＢの長方形状のブロックとなる）。なお、実施の形態１では、以下、ＨＢ＝３２、ＶＢ＝３２の例を示す。また、第４の撮像信号Ｉ４のブロックの長さがｘ軸方向とｙ軸方向とで異なるように設定したが、これは、レンズ間隔がｘ軸方向とｙ軸方向とで異なり、視差の発生する大きさの比がＤｘ：Ｄｙとなることを考慮したためである。【０１２１】
図２３において、各ブロックの上段に記述された数字はブロックインデックスｉｂを示す。また、図２３において、各ブロックの下段に記述された座標（ｉｂｘ、ｉｂｙ）は、各ブロックがｘ軸方向にｉｂｘ番目、ｙ軸方向にｉｂｙ番目のブロックであることを示す。ここで、ｉｂｘは０からＮｈ−１まで、ｉｂｙは０からＶｈ−１まで存在する。ステップＳ１５３０において、図２３でブロックインデックスｉｂで示されるブロックB(ib)（座標（ｉｂｘ、ｉｂｙ）で示されるブロックB(ibx,iby)）が選択される。次に、ステップＳ１５４０を実行する。【０１２２】
ステップＳ１５４０において、撮像信号を転送する。より具体的には、ステップＳ１５３０において選択されたブロックB(ibx,iby)に該当する座標の第１の撮像信号I1を式（９）に従い演算し、その結果得られた信号を第１の演算バッファ１４１ａに転送する。第１の演算バッファ１４１ａの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。【０１２３】
また、ステップＳ１５３０において選択されたブロックB(ibx,iby)に該当する座標の第４の撮像信号I4を式（１３）に従い演算し、第２の演算バッファ１４１ｂに転送する。第２の演算バッファ１４１ｂの座標(x,y)における値をBc2(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31+SB、y=0〜31+SB＊Dy/Dxである。【０１２４】
例えば、ｉｂ＝０のとき、第１の演算バッファ１４１ａには、座標(0,0)と座標(31,31)とで囲まれる1024画素の撮像信号I1が転送され、第２の演算バッファ１４１ｂには、図２３において右斜下となる斜線が描かれた座標(0,0)と座標(31+SB,31+SB*Dy/Dx)とで囲まれる領域の撮像信号I4が転送される。【０１２５】
また、ｉｂ＝１のとき、第１の演算バッファ１４１ａには、座標(32,0)と座標(63,31)とで囲まれる1024画素の撮像信号I1が転送される。またこの場合、第２の演算バッファ１４１ｂには、図２３において右斜下となる斜線が描かれた座標(32,0)と座標(63+SB,31+SB*Dy/Dx)とで囲まれる領域の撮像信号I4が必要となるが、ｉｂ＝０と重なる部分はすでに第２の演算バッファ１４１ｂに転送されているため、重複部分は転送しなくてもよい。次に、ステップＳ１５５０を実行する。【０１２６】
ステップＳ１５５０において、視差演算を実行する。まず、視差評価値R(kx)を演算する。ここで、ｋｘは画像をどれだけずらすかを示すずらし量であり、kx=0、1、2、・・・、SBのように変化させる。図２４は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第４の撮像信号とを利用したときの視差評価値の演算領域を説明するための図である。図２４のように、Bc1で示される領域は、第１の演算バッファ１４１ａの領域であり、Bc2で示される領域は、第２の演算バッファ１４１ｂにおいて、Bc1で示されるブロックからｘ軸方向にｋｘだけｙ軸方向にずらし量ｋｙだけ移動した領域である。そして、ずらし量kx=0からSBについて、下記式（４０）に示される絶対値差分総和(SAD。Sum of Absolute Differences)を演算し、視差評価値R(ky)とする。ここで、ΣΣはｘ軸方向とｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。なお、第１の撮像信号Ｉ１を結像するレンズ部１１３ａと第４の撮像信号を結像するレンズ部１１３ｄとがｘ軸方向にＤｘだけｙ軸方向にＤｙだけ離れて配置され、発生する視差のｘ軸方向に対するｙ軸方向の比がDy/Dxとなるため、ｙ軸方向のずらし量ｋｙは下記式（４１）のように、ｘ軸方向のずらし量にＤｙ／Ｄｘを乗じた値とする。【０１２７】
R(k) = ΣΣ|Bc1(x,y) - Bc2(x+kx,y+ky)| …（４０）
ky = kx * Dy / Dx …（４１）
この視差評価値R(kx)は、第１の演算バッファ１４１ａのデータBc1と、ｘ軸方向にｋｘだけｙ軸方向にｋｙだけ離れた領域における第２の演算バッファ１４１ｂのデータBc2と
がどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。ここで、第１の演算バッファ１４１ａのデータBc1は、第１の撮像信号I1を転送したものであり、第２の演算バッファ１４１ｂのデータBc2は、第４の撮像信号I4を転送したものであるため、視差評価値R(kx)は、第１の撮像信号I1と対応する第４の撮像信号I4とがどれだけ相関があるかを示すことになる。【０１２８】
図２５は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用したときの視差演算における視差と視差評価値との関係を説明するための図である。図２５のように、視差評価値R(kx)はずらし量ｋxの値によって変化し、ずらし量ｋx＝Δのとき極小値を持つ。第１の演算バッファ１４１ａのデータBc1は、当該データBc1をｘ軸方向にΔだけｙ軸方向にΔ×Dy/Dxだけ移動した領域に存在する第２の演算バッファ１４１ｂのデータBc2と最も相関がある（最も似ている）ことを示す。したがって、第１の演算バッファ１４１ａのデータBc1と第２の演算バッファ１４１ｂのデータBc2とのｘ軸方向の視差がΔである（ｙ軸方向の視差がΔ×Dy/Dxである）ことが分かる。そして、このときの視差Δを第１の撮像信号と第４の撮像信号とを利用したときのブロックB(ibx,iby)における視差値Δ14(ibx,iby)として保存する。【０１２９】
次に、第１の撮像信号と第４の撮像信号を利用したときのブロックB(ibx,iby)における視差値Δ14(ibx,iby)の信頼度を演算する。図２６は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第４の撮像信号とを利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。データBc1は、第１の演算バッファ１４１ａの領域内に格納されたデータである。また、データBc2は、データBc1をｘ軸方向にΔ14(ibx,iby)だけｙ軸方向にΔ14(ibx,iby)×Dy/Dxだけ移動した第２の演算バッファ１４１ｂにおけるデータである。そして、下記式（４２）のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ14(ibx,iby),y+Δ14(ibx,iby)×Dy/Dx)について、正規化相関係数を第１の撮像信号と第４の撮像信号とを利用したときのブロックB(ibx,iby)における信頼度E14(ibx,iby)とする。ΣΣはｘ軸方向とｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。次に、ステップＳ１５６０を実行する。【０１３０】
E14(ibx,iby)
= ΣΣ(Bc1(x,y)-avg1)(Bc2(xΔ14(ibx,iby),y+Δ14(ibx,iby)*Dy/Dx)-avg2)
/ ΣΣ(Bc1(x,y)-avg1)(Bc1(x,y)-avg1)
/ ΣΣ(Bc2(x+Δ14(ibx,iby),y+Δ14(ibx,iby)*Dy/Dx)-avg2)
(Bc2(x+Δ14(ibx,iby),y+Δ14(ibx,iby)*Dy/Dx)-avg2)
avg1 = ΣΣBc1(x,y)/(HB*VB)
avg2 = ΣΣBc2(x+Δ14(ibx,iby),y+Δ14(ibx,iby))/(HB*VB) …（４２）
ステップＳ１５６０において、ブロックインデックスｉｂに１を加える。次に、ステップＳ１５７０を実行する。【０１３１】
ステップＳ１５７０において、第１の撮像信号と第４の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスｉｂがNh*Nv未満のとき（Ｓ１５７０でＮＯ）、次のブロックの視差を演算するために、ステップＳ１５３０に戻る。一方、ブロックインデックスｉｂがNh*Nv以上のとき（Ｓ１５７０でＹＥＳ）、全てのブロックの視差を演算したと判断し、次に、ステップＳ１５８０を実行する。【０１３２】
ステップＳ１５８０において、第１の撮像信号と第４の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。【０１３３】
このようにして、第１の撮像信号と第４の撮像信号とを利用した視差演算において、ブロックインデックスｉｂで示される３２ｘ３２画素のブロックB(ibx,iby)について、視差量Δ14(ibx,iby)とその信頼度E14(ibx,iby)とが求められた。ここで、14は第１の撮像信号と第４の撮像信号とを利用していることを示し、(ibx,iby)は図１２において各ブロックの下段に示される座標を示す（ｉｂｘは０からＮｈ−１まで、ｉｂｙはＶｈ−１まで変化する）。次に、図１０のステップＳ１２５０を実行する。【０１３４】
ステップＳ１２５０において、視差を選択する。それぞれのブロックに対し、信頼度E12(ibx,iby)、E13(ibx,iby)、およびE14(ibx,iby)を比較し、最大の信頼度を与える視差をそのブロックでの視差Δ(ibx,iby)とする。なお、ｘ軸方向の視差に合わせるように、下記式（４３）の変換を行う。次に、ステップＳ１２６０を実行する。【０１３５】
Δ(ibx,iby) = Δ12(ibx,iby)       E12(ibx,iby)が最大のとき
Δ(ibx,iby) = Δ13(ibx,iby)＊Dx/Dy      E13(ibx,iby)が最大のとき
Δ(ibx,iby) = Δ14(ibx,iby)       E14(ibx,iby)が最大のとき …（４３）
ステップＳ１２６０において、距離演算部１４３は、距離演算を行い、その結果を、順次、第２の出力バッファ１３７ｂに、距離データとして転送する。前述のように式 （７）に基づき距離を演算する。すなわち、視差Δ(ibx,iby)を持つブロックにおける被写体の距離L(ibx,iby)は、下記式（４４）のように演算される。なお、ｆはレンズ部１１３の焦点距離であり、Ｄｘは各レンズ部１１３ａ〜１１３ｄのｘ軸方向の間隔であり、ｐは撮像素子の素子間隔である。次に、ステップＳ１２７０を実行する。【０１３６】
L(ibx,iby) = f ×Dx / p / Δ(ibx,iby) …（４４）
ステップＳ１２７０において、演算動作を終了し、上位ルーチンへ戻る。次に、ステップＳ１９１０を実行する。【０１３７】
本実施の形態の撮像装置が以上のように構成されて動作することにより、以下の効果が奏される。【０１３８】
以上のとおり、実施の形態１の撮像装置は、温度センサ１２６によりレンズアレイ１１３の周囲温度を計測し、温度値Thとして入力する。そして、レンズアレイ１１３が略円形であるために等方的に膨張することを利用し、式（１４）及び（１５）によって、レンズアレイ１１３の各レンズ部の光軸の間隔を求め、その間隔の半分だけ光軸が変化するものとして、座標変換テーブルを作成する。このことにより、温度が変化しレンズアレイ１１３が変形しても、光軸の位置を正しく補償することができるため、温度の影響を低減した視差を得て、この視差に基づき正しい距離計測ができる。また、温度センサ１２６により検知された温度に基づき複数のレンズ部の間隔の変化量を求め、複数のレンズの光軸原点をその変化量の半分だけ移動させて、光軸原点周りの歪みをなくすように画像を補正することにより、正しく歪みの影響を低減できるため、視差の検知及び距離測定を高精度に行うことができる。【０１３９】
温度によりレンズ部の光軸の位置が変化すると、撮影される画像が移動することになる。例えば、自動車の前方監視に撮像装置を利用する場合、その撮像装置により得られた画像中心を運転者が見た画像の中心に合わせても、温度が変化すると画像中心がずれる。そのため、運転者は違和感を覚える。これに対し、実施の形態１の撮像装置の場合、温度が変化しても、画像中心の変化を抑制することができる。そのため、自動車の前方監視にも適した撮像装置を実現することができる。【０１４０】
なお、光軸中心から離れるほど歪曲が大きくなり、測距精度は一般的に悪くなる。本実施の形態の撮像装置によれば、光軸を上記のように補償することにより、歪曲が大きい領域の利用を避けるという効果も期待できる。【０１４１】
一組のレンズ部に対応した撮像信号において、それぞれのレンズ部の光軸中心を結ぶ直線に平行な形状をなす撮像対象に対しては、それぞれのレンズ部により得られる撮像信号において同一形状となるため、視差を求めることができない。実施の形態１の撮像装置によれば、３つの撮像信号の組（第１の撮像信号I1及び第２の撮像信号I2、第１の撮像信号I1及び第３の撮像信号I3、並びに第１の撮像信号I1及び第４の撮像信号I4）を選択し、それぞれの組に対しそれぞれの視差Δ12(ibx,iby)、Δ13(ibx,iby)、及びΔ14(ibx,iby)を得る。このことにより、１つの組で正しく視差を求められない撮像対象であっても、他の組で正しく視差を求めることができるため、その視差に基づき距離を計測できる。例えば、水平な線状の撮像対象は、水平方向に並べられた組（第１の撮像信号I1及び第２の撮像信号I2）からは距離を計測することができないが、鉛直方向に並べられた組（第１の撮像信号I1及び第３の撮像信号I3、並びに第２の撮像信号I2及び第４の撮像信号I4）、及び斜めに並べられた組（第１の撮像信号I1及び第４の撮像信号I4）を用いることにより、距離を計測することができる。そのため、多様な形状の撮像対象に対応することができる。【０１４２】
また、実施の形態１の撮像装置によれば、複数の前記視差の信頼度(E12(ibx,iby)、E13(ibx,iby)、及びE14(ibx,iby))をそれぞれ演算し、ブロックB(ibx,iby)毎に、視差(Δ12(ibx,iby)、Δ13(ibx,iby)、及びΔ14(ibx,iby))のうち信頼度が最も大きい視差Δ(ibx,iby)を特定し、その視差Δ(ibx,iby)に基づいて距離を演算する。このように、信頼性が高い視差Δ(ibx,iby)に基づき視差演算するため、信頼性が高い距離計測が可能となる。また、全ての組の視差(Δ12(ibx,iby)、Δ13(ibx,iby)、及びΔ14(ibx,iby))において距離演算を行わず、信頼性が高い視差(Δ(ibx,iby))のみの距離演算を行うため、高速な距離計測が可能となる。【０１４３】
なお、実施の形態１に係る撮像装置において、温度センサ１２６は、基板１２１上に配設されている。このように、温度センサ１２６を基板１２１上に配設する場合、基板１２１上の配線を用いて温度センサ１２６と温度センサ信号入力部１３９ａとを接続すればよいため、実装が容易であるという利点がある。しかし、このような構成に限定されるわけではない。温度センサ１２６は、レンズアレイ１１３近傍の基板１２１の温度を検出しているが、その目的は、レンズアレイ１１３の温度を検出することにある。レンズアレイ１１３の温度は直接または間接的に検出することができる。レンズアレイ１１３の温度を間接的に検出するには、レンズアレイ１１３の温度と相関関係を有する温度あるいは温度以外の物理量を検出すればよい。そして、それらをレンズアレイ１１３の温度に補正し、あるいはレンズアレイ１１３の温度との差異を見込むことによって、それらを、直接検出するレンズアレイ１１３の温度の代わりに用いることができる。本実施の形態では、この観点から、レンズアレイ１１３近傍の基板１２１の温度を検出している。従って、これ以外に、例えば、温度センサ１２６をパッケージ１２２内部の撮像素子１２３に並列して配設するようにしてもよい。この場合、撮像素子１２３の近傍に温度センサ１２６が配置されるため、温度センサ１２６の実装時にゴミ等が撮像素子１２３に付着しないようにする配慮が必要となるものの、レンズアレイ１１３により近くなることにより、温度検出の精度が増す。その結果、光軸の変化をより正しく補正し、歪曲をより正しく補正することができるので、距離測定精度を向上させることができる。【０１４４】
また、ＳＬＳＩ１２５の一部が温度センサ１２６となるような製造プロセスを用いてＳＬＳＩ１２５を作成してもよい。この場合、温度センサ１２６を実装する必要がないため、その分だけ実装コストを低減できる。【０１４５】
また、温度センサ１２６が、鏡筒１１１の外壁または内壁に貼設されていてもよい。この場合、温度センサ１２６の配線に考慮が必要だが、レンズアレイ１１３に近い鏡筒１１１に温度センサ１２６を配置することができるため、温度検出の精度が増す。よって、光軸の変化をより正しく補正し、歪曲をより正しく補正することができ、距離測定精度を向上させることができる。また、鏡筒１１１の内部に埋設されていてもよい。この場合、温度センサ１２６の配線及び鏡筒１１１の製造方法に考慮が必要だが、レンズアレイ１１３に近い鏡筒１１１の内部に温度センサ１２６を配置することができるため、同様にして距離測定精度を向上させることができる。【０１４６】
また、温度センサ１２６をレンズアレイ１１３の適宜の位置に配設し、適宜配線により接続してもよい。この場合、温度センサ１２６の配線に考慮が必要だが、レンズアレイ１１３に温度センサ１２６を直接配設するため、さらに温度検出の精度が増し、その結果距離測定精度を向上させることができる。また、レンズ部の内部に埋設されていてもよい。この場合、温度センサ１２６の配線及びレンズアレイ１１３の製造方法に考慮が必要だが、レンズアレイ１１３の内部に温度センサ１２６を配置するため、さらに温度検出の精度が増し、距離測定精度を向上させることができる。【０１４７】
また、実施の形態１に係る撮像装置において、レンズアレイ１１３は略円形に成型されているが、これに限定されない。図２７は、実施の形態１の変形例に係る撮像装置のレンズアレイの構成を示す平面図である。図２７（ａ）に示すレンズアレイ１１３Ａのように、長方形状に成型されてもよい。さらに、図２７（ｂ）に示すレンズアレイ１１３Ｂのように、その端面等に平面方向に伸びる突起等が設けられていてもよい。このようにレンズアレイが略円形でない構成においても、レンズ部はほぼ等方に膨張するため、実施の形態１と同様に動作させることにより、実施の形態１の場合と同様の効果を得ることができる。【０１４８】
（実施の形態２）
本発明の実施の形態１に係る撮像装置は、レンズアレイ１１３が略円形に成型され、各レンズ部（第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄ）がレンズアレイ１１３の中心から同一距離に配置されている。そして、温度センサ１２６によって検知された温度に基づきレンズアレイ１１３の各レンズ部の光軸の間隔の変化量を求め、各レンズ部の光軸原点を変化量の半分だけ移動し、光軸原点周りの歪みをなくすように画像を補正する。これにより、温度が変化しても正しく歪みの影響を低減できるため、高精度な視差を検知し、それゆえ高精度に距離測定する撮像装置を実現した。また、温度が変化しても、画像中心が変化しない撮像装置を実現した。【０１４９】
これに対し、本発明の実施の形態２に係る撮像装置は、レンズアレイの中心から同一距離に配置されない各レンズ部を備えている。このように、各レンズ部がレンズアレイの中心から同一距離に配置されない場合においても、温度変化に影響されることなく高精度な視差を検知し、それゆえ高精度に距離測定し、かつ、画像中心の変化を抑制することができる。【０１５０】
実施の形態２の撮像装置は、実施の形態１のレンズアレイ１１３をレンズアレイ２１３に置換え、さらに、実施の形態１の温度補償部１３９ｂを温度補償演算部２３９ｂに置き換えたものである。その他の構成は実施の形態１と同様であり、同一の符号を付与し、説明を省略する。【０１５１】
図２８は、本発明の実施の形態２に係る撮像装置のレンズアレイの構成を示す平面図である。レンズアレイ２１３は、略円盤状であり、光学ガラス材や透明樹脂などから形成され、第１のレンズ部２１３ａ、第２のレンズ部２１３ｂ、第３のレンズ部２１３ｃ、および第４のレンズ部２１３ｄが碁盤目状に配置される。第１〜第４のレンズ部２１３ａ〜２１３ｄの配置方向に沿って、図２８に示すようにｘ軸及びｙ軸を設定する。第１のレンズ部２１３ａ、第２のレンズ部２１３ｂ、第３のレンズ部２１３ｃ、および第４のレンズ部２１３ｄにおいて、被写体側から入射した光は、撮像素子１２３側へ射出し、撮像素子１２３上に４つの像を結像する。なお、図２８に示すように、第１のレンズ部２１３ａの光軸と第２のレンズ部２１３ｂの光軸とは、水平方向（ｘ軸方向）ではＤｘだけ離れ、垂直方向（ｙ軸方向）では一致しており、レンズアレイ２１３の中心２１３ｏを通るｙ軸方向の軸に対して対称な位置に配置される。そして、第１のレンズ部２１３ａの光軸と第２のレンズ部２１３ｂの光軸とは、レンズアレイ２１３の中心２１３ｏからｙ軸方向にＤｙ１だけ離れて配置される。また、第３のレンズ部２１３ｃの光軸と第４のレンズ部２１３ｄの光軸とは、水平方向（ｘ軸方向）ではＤｘだけ離れ、垂直方向（ｙ軸方向）では一致しており、レンズアレイの中心２１３ｏを通るｙ軸方向の軸に対して対称な位置に配置される。そして、第３のレンズ部２１３ｃの光軸と第４のレンズ部２１３ｄの光軸とは、レンズアレイ２１３の中心２１３ｏからｙ軸方向にＤｙ２だけ離れて配置される。【０１５２】
温度補償演算部１３９ｂは、温度値Thに基づき、前処理部１３５にて利用される座標変換テーブルtx1(x,y)、ty1(x,y)、tx2(x,y)、ty2(x,y)、tx3(x,y)、ty3(x,y)、tx4(x,y)、ty4(x,y)を生成する。レンズアレイ２１３の温度が上昇した場合、各レンズ部２１３ａ〜２１３ｄが膨張する。この場合、レンズアレイ２１３は略円形であるため、図２８において矢印で示すように、各レンズ部２１３ａ〜２１３ｄの光軸中心がレンズアレイ２１３の中心２１３ｏに対してレンズ外側に移動する。この移動量は、レンズアレイ２１３の中心２１３ｏから各レンズ部２１３ａ〜２１３ｄの光軸までの距離に略比例する。すなわち、温度上昇によるレンズアレイ２１３の膨張に伴う第１のレンズ部２１３ａのｘ軸方向の移動量dbx1及びｙ軸方向の移動量dby1は、撮像素子１２３の画素間隔を単位として、下記式（４５）及び（４６）のように表される。ここで、Dx/2は基準温度Th0におけるレンズアレイ２１３の中心２１３ｏを通るｘ軸方向の軸と第１のレンズ部２１３ａの光軸との距離であり、Dy1は同じくｙ軸方向の軸と第１のレンズ部２１３ａの光軸との距離である。また、aLはレンズアレイ２１３の熱線膨張率であり、aSは撮像素子１２３の熱線膨張率であり、Thは前述のように温度値であり、Th0は基準温度であり、pは撮像素子１２３の画素間隔である。【０１５３】
また、温度上昇によるレンズアレイ膨張に伴う第２のレンズ部２１３ｂのｘ軸方向の移動量dbx2及びｙ軸方向の移動量dby2は、撮像素子１２３の画素間隔を単位として、下記式（４７）及び（４８）のように表される。ここで、Dx/2は基準温度Th0におけるレンズアレイ２１３の中心２１３ｏを通るｘ軸方向の軸と第２のレンズ部２１３ｂの光軸との距離であり、Dy1は同じくｙ軸方向の軸と第２のレンズ部２１３ｂの光軸との距離である。また、温度上昇によるレンズアレイ膨張に伴う第３のレンズ部２１３ｃのｘ軸方向の移動量dbx3及びｙ軸方向の移動量dby3は、撮像素子１２３の画素間隔を単位として、下記式（４９）及び（５０）のように表される。ここで、Dx/2は基準温度Th0におけるレンズアレイの中心２１３ｏを通るｘ軸方向の軸と第３のレンズ部２１３ｃの光軸との距離であり、Dy2は同じくｙ軸方向の軸と第３のレンズ部２１３ｃの光軸との距離である。さらに、温度上昇によるレンズアレイ膨張に伴う第４のレンズ部２１３ｄのｘ軸方向の移動量dbx4及びｙ軸方向の移動量dby4は、撮像素子１２３の画素間隔を単位として、下記式（５１）及び（５２）のように表される。ここで、Dx/2は基準温度Th0におけるレンズアレイの中心２１３ｏを通る軸と第４のレンズ部２１３ｄの光軸との距離であり、Dy2は同じくｙ軸方向の軸と第４のレンズ部２１３ｄの光軸との距離である。【０１５４】
dbx1 = (Dx/2) × (aL - aS) × (Th - Th0) / p …（４５）
dby1 = Dy1 × (aL - aS) × (Th - Th0) / p …（４６）
dbx2 = (Dx/2) × (aL - aS) × (Th - Th0) / p …（４７）
dby2 = Dy1 × (aL - aS) × (Th - Th0) / p …（４８）
dbx3 = (Dx/2) × (aL - aS) × (Th - Th0) / p …（４９）
dby3 = Dy2 × (aL - aS) × (Th - Th0) / p …（５０）
dbx4 = (Dx/2) × (aL - aS) × (Th - Th0) / p …（５１）
dby4 = Dy2 × (aL - aS) × (Th - Th0) / p …（５２）
撮像装置は、上述の温度上昇に伴う移動量だけ、各撮像信号を補正する。すなわち、第１の撮像信号I1(x,y)用の変換テーブルtx1(x,y)及びty1(x,y)を下記式（５３）、（５４）及び（５５）のように生成する。ここで、(x01,y01)は撮像信号I0における歪みがないときの原点座標、(xc1,yc1)は撮像信号I1(x,y)における基準温度Th0での光軸中心座標、(-dbx1,-dby1)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（５５）における^2は二乗値を示す。また、第２の撮像信号I2(x,y)用の変換テーブルtx2(x,y)及びty2(x,y)を下記式（５６）、（５７）及び（５８）のように生成する。ここで、(x02,y02)は撮像信号I0における歪みがないときの原点座標、(xc2,yc2)は撮像信号I2(x,y)における基準温度Th0での光軸中心座標、(+dbx2,-dby2)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（５８）における^2は二乗値を示す。また、第３の撮像信号I3(x,y)用の変換テーブルtx3(x,y)及びty3(x,y)を下記式（５９）、（６０）及び（６１）のように生成する。ここで、(x03,y03)は撮像信号I0における歪みがないときの原点座標、(xc3,yc3)は撮像信号I3(x,y)における基準温度Th0での光軸中心座標、(-dbx3,+dby3)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（６１）における^2は二乗値を示す。また、第４の撮像信号I4(x,y)用の変換テーブルtx4(x,y)及びty4(x,y)を下記式（６２）、（６３）及び（６４）のように作成する。ここで、(x04,y04)は撮像信号I0における歪みがないときの原点座標、(xc4,yc4)は撮像信号I4(x,y)における基準温度Th0での光軸中心座標、(+dbx4,+dby4)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（６４）における^2は二乗値を示す。【０１５５】
tx1(x,y) = x01 + xc1 + {x - xc1 - dbx1}×(1 + kd2 × r2 + kd4 × r4)  …（５３）
ty1(x,y) = y01 + yc1 + {y - yc1 - dby1}×(1 + kd2 × r2 + kd4 × r4)  …（５４）
r2= {x - xc1 - dbx1}^2 + {y - yc1 - dby1}^2、r4 = r2^2 …（５５）
tx2(x,y) = x02 + xc2 + {x - xc2 + dbx2}×(1 + kd2 × r2 + kd4 × r4)  …（５６）
ty2(x,y) = y02 + yc2 + {y - yc2 - dby2}×(1 + kd2 × r2 + kd4 × r4)  …（５７）
r2= {x - xc2 + dbx2}^2 + {y - yc2 - dby2}^2、r4 = r2^2 …（５８）
tx3(x,y) = x03 + xc3 + {x - xc3 - dbx3}×(1 + kd2 × r2 + kd4 × r4)  …（５９）
ty3(x,y) = y03 + yc3 + {y - yc3 + dby3}×(1 + kd2 × r2 + kd4 × r4)  …（６０）
r2= {x - xc3 - dbx3}^2 + {y - yc3 + dby3}^2、r4 = r2^2 …（６１）
tx4(x,y) = x04 + xc4 + {x - xc4 + dbx4}×(1 + kd2 × r2 + kd4 × r4)  …（６２）
ty4(x,y) = y04 + yc4 + {y - yc4 + dby4}×(1 + kd2 × r2 + kd4 × r4)  …（６３）
r2= {x - xc4 + dbx4}^2 + {y - yc4 + dby4}^2、r4 = r2^2 …（６４）
なお、歪みが生じない場合、上記の座標変換テーブルを用いてなされる座標変換は、下記式（６５）乃至（６８）のように、撮像信号I0(x,y)から画像を切り出し、その後、下記式（６９）乃至（７２）のように、平行移動することに相当する。【０１５６】
I1(x, y) = I0(x + x01, y + y01) …（６５）
I2(x, y) = I0(x + x02, y + y02) …（６６）
I3(x, y) = I0(x + x03, y + y03) …（６７）
I4(x, y) = I0(x + x04, y + y04) …（６８）
I1(x, y) = I1(x-dbx1, y-dby1) …（６９）
I2(x, y) = I2(x+dbx2, y-dby2) …（７０）
I3(x, y) = I3(y-dbx3, x+dby3) …（７１）
I4(x, y) = I4(x+dbx4, y+dby4) …（７２）
本実施の形態の撮像装置が以上のように構成されて動作することにより、実施の形態１と同様の効果が奏される。【０１５７】
（実施の形態３）
本発明の実施の形態３に係る撮像装置は、温度毎の係数を持ち、温度センサにより検知された温度に基づき複数のレンズの光軸の間隔の変化量を求め、複数のレンズの光軸原点を変化量の半分だけ移動し、光軸原点周りの歪みをなくすように画像を補正する。これにより、小規模の回路で歪みの影響を適切に低減できるため、高精度な視差を検知でき、低コストで高精度に距離測定できる。【０１５８】
実施の形態３の撮像装置は、実施の形態１の撮像装置１０１のシステムＬＳＩ１２５をシステムＬＳＩ２２５に変更したものである。その他の構成は、実施の形態１の撮像装置と同様であり、説明を省略する。【０１５９】
ＳＬＳＩ２２５は、後述の方法で、撮像素子１２３を駆動し、撮像素子１２３からの電気情報を入力し、各種演算を行い、上位ＣＰＵと通信を行い、外部に画像情報や距離情報などを出力する。なお、ＳＬＳＩ２２５は、電源（例えば３．３Ｖ）とグランド（例えば、０Ｖ）に接続される。【０１６０】
次に、光軸中心の温度補償の原理を説明する。図２の矢印のように、温度上昇に伴いレンズアレイ１１３が膨張し光軸中心がレンズ外側に移動する。レンズアレイが温度上昇に比例し等方的に膨張すると仮定すると、光軸中心の間隔は、下記式（１０９）、（１１０）で表される。ここで、dbxは温度上昇に伴う光軸間の間隔のｘ方向の変化量であり、単位は撮像素子１２３の受光素子の間隔である。また、dbyは温度上昇に伴う光軸間の間隔のｙ方向の変化量であり、単位は撮像素子１２２の受光素子の間隔である。また、Dxは基準温度Th0におけるｘ方向のレンズ間の光軸の間隔であり、Dyは基準温度Th0におけるｙ方向のレンズ間の光軸の間隔であり、aLはレンズアレイ１１３の熱線膨張率であり、aSは撮像素子１２３の熱線膨張率であり、Tは温度であり、Th0は基準温度であり、pは撮像素子１２３の受光素子の間隔である。【０１６１】
dbx = Dx * (aL - aS) * (T - Th0) / p ・・・(109)
dby = Dy * (aL - aS) * (T - Th0) / p ・・・(110)
そして、温度上昇に伴い各レンズ部の光軸中心は等方的に膨張するため、図２のように、温度上昇に伴うレンズ間の光軸間の間隔の変化の半分（ｘ方向にp*dbx/2、ｙ方向にp*dby/2）だけ移動する。すなわち、第１のレンズ部１１３ａの光軸中心は、ｘ方向に-p*dbx/2、ｙ方向に-p*dby/2だけ移動する。また、第２のレンズ部１１３ｂの光軸中心は、ｘ方向に+p*dbx/2、ｙ方向に-p*dby/2だけ移動する。また、第３のレンズ部１１３ｃの光軸中心は、ｘ方向に-p*dbx/2、ｙ方向に+p*dby/2だけ移動する。また、第４のレンズ部１１３ｄの光軸中心は、ｘ方向に+p*dbx/2、ｙ方向に+p*dby/2だけ移動する。【０１６２】
したがって、温度Tを検知し、その温度Tからレンズアレイ１１３の各レンズ間の光軸の間隔の変化dbx,dbyを求め、その変化dbx,dbyの半分だけレンズアレイ１１３の各レンズの光軸が移動すると推定し補償することにより、温度変化に伴うレンズアレイ１１３の膨張の影響を低減し、正確な視差を求めることができ、それゆえ、正確な距離を求めることができる。【０１６３】
次に、焦点距離の温度補正を説明する。レンズアレイ１１３が樹脂から構成されるとき、温度上昇に伴い屈折率が小さくなり、それゆえ、焦点距離が長くなり、撮像素子１２３に結像される像が大きくなり（倍率が大きくなり）、視差が長くなる。そこで、温度Tを検知し、その温度Tから焦点距離の変化を推定し、推定された焦点距離ｆを式（７）に代入することにより、温度変化に伴うレンズアレイ１１３の焦点距離の変化の影響を低減し、正確な視差を求めることができ、それゆえ、正確な距離を求めることができる。なお、式（７）の焦点距離ｆを一定として、その分だけ像の倍率が変化するものとして撮像信号を補正してもよい。【０１６４】
次に、鏡筒伸びの温度補正を説明する。鏡筒１１１が樹脂から構成されるとき、温度上昇に伴い鏡筒１１１が伸び、それゆえ、レンズアレイ１１３の主点から撮像素子１２３の受光面までの距離が長くなり、撮像素子１２３に結像される像が大きくなり（倍率が大きくなり）、視差が大きくなる。そこで、温度Tを検知し、その温度Tから鏡筒１１１の長さの変化を推定し、倍率の変化を推定し補償することにより、温度変化に伴う鏡筒１１１の伸びの影響を低減し、正確な視差を求めることができ、それゆえ、正確な距離を求めることができる。【０１６５】
次に、本発明の実施の形態３に係る撮像装置の動作を説明する。図２９は、本発明の実施の形態３に係る撮像装置の構成を示すブロック図である。ＳＬＳＩ２２５は、システム制御部１３１、撮像素子駆動部１３２、撮像信号入力部１３３、温度センサ信号入力部２３４、入出力部２３５、係数保存部２４１、温度補償演算部２４２、撮像信号補正部２４３、および距離演算部２４４を有する。ここで、温度補償演算部２４２と撮像信号補正部２４３とは、温度補償／撮像信号補正部を構成している。【０１６６】
システム制御部１３１は、ＣＰＵ（中央演算処理装置：Central Processing Unit）、ロジック回路などから構成され、ＳＬＳＩ２２５の全体を制御する。【０１６７】
図３０は、本発明の実施の形態３に係る撮像装置の動作を示すフローチャートである。ＳＬＳＩ２２５のシステム制御部１３１により、撮像装置は、このフローチャートのとおりに動作する。なお、図３０において、実施の形態１の図９Ａのフローチャートと同一又は相当するステップには同一の参照符号を付している。【０１６８】
ステップＳ１０１０において、撮像装置１０１は動作を開始する。例えば、上位ＣＰＵ（図示せず）が、入出力部２３５を介し、撮像装置１０１に動作の開始を命令することにより、撮像装置１０１は、動作を開始する。次に、ステップＳ１０２０を実行する。【０１６９】
ステップＳ１０２０において、撮像信号を入力する。撮像素子駆動部１３２は、ロジック回路などから構成され、システム制御部１３１の命令により電子シャッターや転送を行うための信号撮像素子１２３を駆動する信号を発生し、この信号に応じた電圧を撮像素子１２２に印加する。撮像信号入力部１３３は、ＣＤＳ回路（相関二重サンプリング回路：Correlated Double Sampling Circuit）、ＡＧＣ（自動利得制御器：Automatic Gain Controller）、ＡＤＣ（アナログ／デジタル変換器：Analog Digital Converter）が直列に接続されて構成され、撮像素子１２３からの電気信号が入力され、ＣＤＳ回路により固定ノイズを除去し、ＡＧＣによりゲインを調整し、ＡＤＣによりアナログ信号からデジタル値に変換し撮像信号I0を出力する。ここで、撮像信号入力部１３３は、撮像信号I0(x,y)を、ｘ方向にH0画素、ｙ方向にV0画素だけ、I0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0-1)の順に出力する。次に、ステップＳ１０３０を実行する。【０１７０】
ステップＳ１０３０において、温度センサ信号を入力する。温度センサ信号入力部２３４は、ＡＤＣ（Analog Digital Converter：アナログ・デジタル変換器）などから構成され、温度センサ１２６からアナログ電圧信号である温度センサ信号を入力し、アナログ信号からデジタル値に変換し、温度センサ信号Tsとして出力する。例えば12bitのADCを用いると、温度センサ信号Tsは、0〜4095までの値を取る。以下、温度センサ信号Tsは、12bitのADCを用いて作成されたものとして説明する。次に、ステップＳ１１１０を実行する。【０１７１】
ステップＳ１１１０において、各種の係数を温度補償する。温度補償演算部２４２は、温度センサ信号Tsを入力し、係数保存部２４１に保存されたデータを用いて、歪曲係数kd2,kd4、倍率(rx,ry)、第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、焦点距離f、および各レンズ部のｘ方向の光軸間距離Dxを出力する。【０１７２】
図３１は、本発明の実施の形態３に係る係数保存部を説明するための図である。図３１において、簡単のため、第１のレンズ部１１３ａの光軸中心ｘ座標xc1のみが記述されている。図３１のように、センサ温度信号Tsが０、２５６、５１２、７６８、１０２４、・・・、３８４０、４０９６のときの光軸中心ｘ座標xc1がそれぞれxc1_0、xc1_256、xc1_512、xc1_768、xc1_1024、・・・、xc1_3040、xc1_4096として係数保存部２４１に保存されている。そして、温度補償演算部２４２は、温度センサ値Tsに対応する光軸中心ｘ座標xc1を補間演算して作成する。例えば、温度センサ値Tsが512以上1024未満のとき、温度センサ信号Ts=512、768のときの光軸中心ｘ座標xc1_512、xc1_768を用いて、下記式（１１１）のように補間演算を行い、xc1を作成する。他の係数も同様に作成する。すなわち、第１のレンズ部１１３ａの光軸中心ｙ座標yc1、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、歪曲係数k2,k4、倍率(rx,ry)、焦点距離f、および各レンズ部のｘ方向の光軸間距離Dxは、それぞれ係数保存部２４１に各温度での値が保存され、温度センサ信号Tsに関して補間演算を行って作成される。【０１７３】
xc1 = xc1_512 + (Ts-512)/(768-512)*(xc_768-xc1_512) ・・・(111)
なお、係数保存部２４１に保存される係数は以下のように作成され保存される。各レンズ部の光軸中心は、式（１０９）、（１１０）に基づき、下記式（１１２）、（１１３）のように、温度上昇に伴う光軸間の間隔のｘ方向の変化量dbx、ｙ方向の変化量dbyを演算し、その半分（ｘ方向にp*dbx/2、ｙ方向にp*dby/2）だけ光軸中心が移動するとして作成する。ここで、T(Ts)はADCによりデジタル値に変換された温度センサ信号Tsのときの物理的な温度を示す。具体的には、下記式（１１４）、（１１５）のように、第１のレンズ部１１３ａの光軸中心(xc1,yc1)は、基準温度Th0における光軸中心(xc10,yc10)からｘ方向に-dbx/2、ｙ方向に-dby/2だけ移動するように作成する。また、下記式（１１６）、（１１７）のように、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)は、基準温度Th0における光軸中心(xc20,yc20)からｘ方向に+dbx/2、ｙ方向に-dby/2だけ移動するように作成する。また、下記式（１１８）、（１１９）のように、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)は、基準温度Th0における光軸中心(xc30,yc30)からｘ方向に-dbx/2、ｙ方向に+dby/2だけ移動するように作成する。また、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)は、基準温度Th0における光軸中心(xc40,yc40)からｘ方向に+dbx/2、ｙ方向に+dby/2だけ移動するように作成する。【０１７４】
dbx = Dx * (aL - aS) * (T(Ts) - Th0) / p ・・・(112)
dby = Dy * (aL - aS) * (T(Ts) - Th0) / p ・・・(113)
xc1 = xc10 - dbx/2 ・・・(114)  
yc1 = yc10 - dby/2 ・・・(115)
xc2 = xc20 + dbx/2 ・・・(116)  
yc2 = yc20 - dby/2 ・・・(117)
xc3 = xc30 - dbx/2 ・・・(118)  
yc3 = yc30 + dby/2 ・・・(119)
xc4 = xc40 + dbx/2 ・・・(120)  
yc4 = yc40 + dby/2 ・・・(121)
歪曲係数k2,k4は、光学解析や実験などで各温度における値を求め、作成する。【０１７５】
鏡筒の長さlkは下記式（１２２）のように推定される。ここで、Th0は基準温度であり、lk0は基準温度Th0における鏡筒の長さであり、kkは鏡筒の熱線膨張率、T(Ts)は温度センサ信号Tsが示す温度センサの物理的な温度である。そこで、鏡筒の長さの変化の比率を倍率とする。具体的には、下記式（１２３）、（１２４）のように、ｘ方向の倍率rx、ｙ方向の倍率ryとして作成する。【０１７６】
lk = lk0*{1+kk*(T(Ts)-Th0)} ・・・(122)
rx = {1+kk*(T(Ts)-Th0)} ・・・(123)
ry = {1+kk*(T(Ts)-Th0)} ・・・(124)
焦点距離ｆは、光学解析や実験などで各温度における値を求め、作成する。【０１７７】
ｘ方向の光軸間距離Dxは、ｘ方向の光軸間距離の変化量が式（１１２）のdbxで示されることより、このdbxを用いて下記式（１２５）のように作成する。【０１７８】
Dx = Dx0 + dbx * p ・・・(125)
なお、各温度で各種方法で測定された係数を保存してもよい。次に、ステップＳ１１２０を実行する。【０１７９】
ステップＳ１１２０において、画像を補正し切り出す。撮像信号補正部２４３は、撮像信号I0、歪曲係数kd2,kd4、倍率(rx,ry)、第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、および第４のレンズ部１１３ｄの光軸中心(xc4,yc4)を入力し、撮像信号I0から各レンズ部により結像された被写体像を撮像した画像を切り出し、歪曲補正などの補正処理を行い、第１のレンズ部１１３ａに対応する第１の撮像信号I1(x,y)、第２のレンズ部１１３ｂに対応する第２の撮像信号I2(x,y)、第３のレンズ部１１３ｃに対応する第３の撮像信号I3(x,y)、および第４のレンズ部１１３ｄに対応する第４の撮像信号I4(x,y)を出力する。【０１８０】
図３２は、本発明の実施の形態３に係る撮像装置の撮像信号の切り出し位置を説明するための図である。歪みがなく、温度によるレンズの膨張がない場合、図３２のように、第１の撮像信号I1(x,y)は、撮像信号I0を原点(x01,y01)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出した領域の画像であり、第２の撮像信号I2(x,y)は、撮像信号I0を原点(x02,y02)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出した領域の画像であり、第３の撮像信号I3(x,y)は、撮像信号I0を原点(x03,y03)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出した領域の画像であり、第４の撮像信号I4(x,y)は、撮像信号I0を原点(x04,y04)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出した領域の画像である。実施の形態３の撮像装置は、熱膨張による光軸中心の移動、歪み補正、倍率補正を加味し、以下のような処理を行う。【０１８１】
下記式（１２６）、（１２７）、（１２８）のように、歪曲係数kd2,kd4、倍率(rx,ry)、第１のレンズ部１１３ａの光軸中心(xc1,yc1)を用いて、第１の撮像信号用の参照先座標(tx1,ty1)を演算し、下記式（１２９）のように、第１の撮像信号用の参照先座標(tx1,ty1)を用いて撮像信号I0から第１の撮像信号I1(x,y)を演算する。なお、第１の撮像信号用の参照先座標(tx1, ty1)は、小数点を持ってもよい。その場合、第１の撮像信号用の参照先座標(tx1,ty1)の整数部分を(tx1i,ty1i)とし、小数部分を(tx1f,ty1f)とし、下記式（１３０）のように４画素を利用し演算する。ここで、式（１２６）、（１２７）、（１２８）、（１２９）、（１３０）において、ｘに関して０からH1-1まで、ｙに関して０からV1-1までの演算を行う。同様に、下記式（１３１）、（１３２）、（１３３）のように、歪曲係数kd2,kd4、倍率(rx,ry)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)を用いて、第２の撮像信号用の参照先座標(tx2,ty2)を演算し、下記式（１３４）のように、第２の撮像信号用の参照先座標(tx2,ty2)を用いて撮像信号I0から第２の撮像信号I2(x,y)を演算する。また、下記式（１３５）、（１３６）、（１３７）のように、歪曲係数kd2,kd4、倍率(rx,ry)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)を用いて、第３の撮像信号用の参照先座標(tx3,ty3)を演算し、下記式（１３８）のように、第３の撮像信号用の参照先座標(tx3,ty3)を用いて撮像信号I0から第３の撮像信号I3(x,y)を演算する。また、下記式（１３９）、（１４０）、（１４１）のように、歪曲係数kd2,kd4、倍率(rx,ry)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)を用いて、第４の撮像信号用の参照先座標(tx4,ty4)を演算し、下記式（１４２）のように、第４の撮像信号用の参照先座標(tx4,ty4)を用いて撮像信号I0から第４の撮像信号I4(x,y)を演算する。なお、以下の式において、^2は二乗演算を示し、^4は四乗演算を示す。【０１８２】
tx1 = x01 + xc1 + (x - xc1) * (1 + kd2 * r1^2 + kd4 * r1^4) * rx ・・・(126)
ty1 = y01 + yc1 + (y - yc1} * (1 + kd2 * r1^2 + kd4 * r1^4) * ry ・・・(127)
r1^2 = (x - xc1)^2 + (y - yc1)^2、r1^4 = (r1^2)^2 ・・・(128)
I1(x,y) = I0(tx1,ty1) ・・・(129)
I1(x,y) = (1 - tx1f) * (1 - ty1f) * I0(tx1i,ty1i)
+ tx1f * (1 - ty1f) * I0(tx1i+1,ty1i)
+ (1 - tx1f) * ty1f * I0(tx1i,ty1i+1)
+ tx1f * ty1f * I0(tx1i+1,ty1i+1) ・・・(130)
tx2 = x02 + xc2 + (x - xc2) * (1 + kd2 * r2^2 + kd4 * r2^4) * rx ・・・(131)
ty2 = y02 + yc2 + (y - yc2) * (1 + kd2 * r2^2 + kd4 * r2^4) * ry ・・・(132)
r2^2 = (x - xc2)^2 + (y - yc2)^2、r2^4 = (r2^2)^2 ・・・(133)
I2(x,y) = I0(tx2,ty2) ・・・(134)
tx3 = x03 + xc3 + (x - xc3) * (1 + kd2 * r3^2 + kd4 * r3^4) * rx ・・・(135)
ty3 = y03 + yc3 + (y - yc3) * (1 + kd2 * r3^2 + kd4 * r3^4) * ry ・・・(136)
r3^2 = (x - xc3)^2 + (y - yc3)^2、r2^4 = (r2^2)^2 ・・・(137)
I3(x,y) = I0(tx3,ty3) ・・・(138)
tx4 = x04 + xc4 + (x - xc4) * (1 + kd2 * r4^2 + kd4 * r4^4) * rx ・・・(139)
ty4 = y04 + yc4 + (y - yc4) * (1 + kd2 * r4^2 + kd4 * r4^4) * ry ・・・(140)
r4^2 = (x - xc4)^2 + (y - yc4)^2、r2^4 = (r2^2)^2 ・・・(141)
I4(x,y) = I0(tx4,ty4) ・・・(142)
なお、上記の変換において、歪みがなく、倍率を補正しないとき、下記式（１４３）、（１４４）、（１４５）、（１４６）のように、撮像信号I0(x,y)から画像を切り出し、その後、下記式（１４７）、（１４８）、（１４９）、（１５０）のように、平行移動することに相当する。次に、ステップＳ１２００を実行する。【０１８３】
I1(x, y) = I0(x + x01, y + y01) ・・・(143)
I2(x, y) = I0(x + x02, y + y02) ・・・(144)
I3(x, y) = I0(x + x03, y + y03) ・・・(145)
I4(x, y) = I0(x + x04, y + y04) ・・・(146)
I1(x, y) = I1(x-dbx/2, y-dby/2) ・・・(147)
I2(x, y) = I2(x+dbx/2, y-dby/2) ・・・(148)
I3(x, y) = I3(y-dbx/2, x+dby/2) ・・・(149)
I4(x, y) = I4(x+dbx/2, y+dby/2) ・・・(150)
ステップＳ１２００において、距離を演算する。距離演算部２４４は、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、第４の撮像信号I4、焦点距離ｆ、ｘ方向の光軸間距離Dxを入力し、距離を演算し、距離データDISを出力する。【０１８４】
図３３は、本発明の実施の形態３に係る撮像装置の距離演算部の動作を示すフローチャートである。図３３のフローチャートは、ステップＳ１２００の動作の詳細を示す。ステップＳ１２００の演算では、まず、ステップＳ１３１０を実行する。【０１８５】
ステップＳ１３１０において、演算の動作を開始する。次に、ステップＳ１３３０を実行する。【０１８６】
ステップＳ１３３０において、ブロックを分割する。【０１８７】
図３４は、本発明の実施の形態３に係る撮像装置において、ブロック分割を説明する図である。図３４において、第１の撮像信号Ｉ１は、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素を有する長方形状のブロックに分割され、ｘ方向にＮｈ個、ｙ方向にＮｖ個のブロックを持つ。次に、ステップＳ１３４０を実行する。【０１８８】
ステップＳ１３４０において、ブロックを選択する。ステップＳ１３１０（図３３）を実行後、初めてこのステップＳ１３４０を実行するときは(0,0)で示されるブロックを選択し、以後、ステップＳ１３４０が実行されるときは、右側に順にずらしたブロックを選択する。なお、図３４において右端のブロック（(Nh-1,0)、(Nh-1,1)、・・・で示されるブロック）を選択した次は、１つ下の行の左端のブロック（(0,1)、(0,2)、・・・で示されるブロック）を選択する。すなわち、ステップＳ１３１０を実行後、初めてこのステップＳ１３４０を実行するときを０番目としたとき、ｉ番目において(i%Nh, int(i/Nh))で示されるブロックを選択する。ここで、i%NhはｉをNhで除算したときの剰余、int(i/Nh)はｉをNhで除算したときの商の整数部である。以後このブロックを選択ブロックB(ih,iv)と呼ぶ。次に、ステップＳ１３５０を実行する。【０１８９】
ステップＳ１３５０において、視差演算する。まず、第１のレンズ撮像信号I1と第２のレンズ撮像信号I2との視差と視差信頼度とを演算する。最初に、第１のレンズ撮像信号I1と第２のレンズ撮像信号I2との視差評価値R12(kx)を演算する。ここで、kxは画像をどれだけずらすかを示すずらし量であり、kx=0、1、2、・・・、SBのように変化させる。【０１９０】
図３５は、本発明の実施の形態３に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差評価値の演算領域を説明する図である。図３５において、I１で示される領域は、第１のレンズ撮像信号I1の選択ブロックB(ih,iv)で選択された領域を示し、I2で示される領域は、選択ブロックの座標からｘ方向にkxだけずれた領域の第２のレンズ撮像信号I2である。ずらし量kx=0からSBについて、下記式（１５１）に示される絶対値差分総和(SAD：Sum of Absolute Differences)を演算し、視差評価値R12(kx)とする。すなわち、第１のレンズ撮像信号I1を基準として、視差評価値R12(kx)を演算する。【０１９１】
R12(kx) = ΣΣ|I1(x,y)-I2(x+kx,y)| ・・・(151)
この視差評価値R12(kx)は、選択ブロックB(ih,iv)の第１のレンズ撮像信号I1と選択ブロックからｘ方向にkxだけずれた領域における第２のレンズ撮像信号I2とがどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。【０１９２】
図３６は、本発明の実施の形態３に係る撮像装置の第１の撮像信号と第２の撮像信号を利用したときの視差演算におけるずらし量と視差評価値との関係を説明する図である。図３６のように、視差評価値R12(kx)はずらし量kxの値によって変化し、ずらし量kx=Δのとき極小値を持つ。そのため、選択ブロックB(ih,iv)の第１のレンズ撮像信号I1と選択ブロックからｘ方向にΔだけずれた領域における第２のレンズ撮像信号I2とが最も相関が高い、すなわち、最も似ていることを示す。従って、選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第２のレンズ撮像信号I2との視差がΔであることが分かる。そこで、下記式（１５２）のように、この視差Δを選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第２のレンズ撮像信号I2との視差値Δ12(ih,iv)とし、下記式（１５３）のように、視差評価値R12(Δ)を選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第２のレンズ撮像信号I2との視差信頼度C12(ih,iv)とする。【０１９３】
Δ12(ih,iv) = Δ ・・・ (152)
C12(ih,iv) = R12(Δ) ・・・ (153)
次に、第１のレンズ撮像信号I1と第３のレンズ撮像信号I3との視差と信頼信頼度も同様に求める。ただし、ずらす方向をｙ方向に変更し、ずらし量をkyとする。下記式（１５４）のように、選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第３のレンズ撮像信号I3の視差評価値R13(ky)を求める。すなわち、第１のレンズ撮像信号I1を基準として、視差評価値R13(ky)を演算する。そして、最小値を与えるずらし量、すなわち視差Δを、下記式（１５５）のように、選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第３のレンズ撮像信号I3との視差値Δ13(ih,iv)とし、下記式（１５６）のように、視差評価値R13(Δ)を選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第３のレンズ撮像信号I3との信頼度C13(ih,iv)とする。【０１９４】
R13(ky) = ΣΣ|I1(x,y)-I3(x,y+ky)| ・・・(154)
Δ13(ih,iv) = Δ ・・・ (155)
C13(ih,iv) = R13(Δ) ・・・ (156)
次に、第１のレンズ撮像信号I1と第４のレンズ撮像信号I4との視差と信頼信頼度も同様に求める。ただし、ずらす方向を斜め方向（第１のレンズ部１１３ａの光軸と第４のレンズ部１１３ｄの光軸とを結ぶ方向）に変更し、ずらし量はｘ方向にkx、ｙ方向にkx*Dy/Dxとする。下記式（１５７）のように、選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第４のレンズ撮像信号I4の視差評価値R14(kx)を求める。すなわち、第１のレンズ撮像信号I1を基準として、視差評価値R14(kx)を演算する。そして、最小値を与えるずらし量、すなわち視差Δを、下記式（１５８）のように、選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第４のレンズ撮像信号I4との視差値Δ14(ih,iv)とし、下記式（１５９）のように、視差評価値R14(Δ)を選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第４のレンズ撮像信号I4との信頼度C14(ih,iv)とする。なお、式（１５７）において座標(x+kx,y+kx*Dy/Dx)が小数となるとき、レンズ撮像信号I4は周辺画素から線形補間などにより求める。なお、図２のように、Dx、およびDyは、第１のレンズ部１１３ａと第４のレンズ部１１３ｄにおけるｘ方向のレンズ部の間隔、およびｙ方向のレンズ部の間隔である。【０１９５】
R14(ky) = ΣΣ|I1(x,y)-I4(x+kx,y+kx*Dy/Dx)| ・・・ (157)
Δ14(ih,iv) = Δ ・・・ (158)
C14(ih,iv) = R14(Δ) ・・・ (159)
そして、上記３つの視差信頼度を比較し最も信頼できる視差値をこのブロックにおける視差値とする。すなわち、下記式（６０）のように、３つの視差信頼度C12(ih,iv)、C13(ih,iv)、C14(ih,iv)を比較し、C12(ih,iv)が最も小さいときΔ12(ih,iv)をブロックB(ih,iv)における視差値Δ(ih,iv)とし、C13(ih,iv)が最も小さいときΔ13(ih,iv)をブロックB(ih,iv)における視差値Δ(ih,iv)とし、C14(ih,iv)が最も小さいときΔ14(ih,iv)をブロックB(ih,iv)における視差値Δ(ih,iv)とする。なお、信頼度（C12、C13、C14）として絶対値差分総和（式(53)、(56)、(59)）を用いたが正規化相関係数を用いてもよい。この場合、最も大きい信頼度を与える視差値を選択する。ここで、視差値をｘ方向に統一するため、Δ13(ih,iv)を採用するとき、レンズ部の間隔の比であるDx/Dyを乗ずる。次に、ステップＳ１３６０を実行する。【０１９６】
Δ(ih,iv) = Δ12(ih,iv)         （C12(ih,iv)が最も小さいとき） ・・・ (160)
= Δ13(ih,iv)＊Dx/Dy  （C13(ih,iv)が最も小さいとき）
= Δ14(ih,iv)         （C14(ih,iv)が最も小さいとき）
ステップＳ１３６０において、視差から距離を演算する。式（７）を距離Ａについて解くと式（８）のように表されるため、ブロックB(ih,iv)に含まれる領域の距離DIS(x,y)は、下記式（１６１）にように示される。ここで、ｆは焦点距離、Dxはｘ方向の光軸間距離、ｐは撮像素子１２３の受光素子の間隔である。視差値Δが画素単位であるため、視差値Δにｐを乗ずることにより、焦点距離ｆなどと同一の単位系に変換する。次に、ステップＳ１３７０を実行する。【０１９７】
DIS(x,y) = {f＊Dx}/{p*Δ(ih,iv)} （(x,y)はB(ih,iv)の範囲） ・・・ (161)
ステップＳ１３７０において、距離演算を終了するかどうかを判断する。全てのブロックが選択されたとき（選択ブロックがB(Nh-1,Nv-1)のとき）、距離演算を終了すると判断し、次に、ステップＳ１３８０を実行する。一方、全てのブロックが選択されたされていないとき（選択ブロックがB(Nh-1,Nv-1)でないとき）、距離演算を継続すると判断し、次に、ステップＳ１３４０を実行する。【０１９８】
ステップＳ１３８０において、距離演算を終了し、上位ルーチンへ戻る。このようにして、切出し後の座標(x,y)における距離DIS(x,y)が求められた。次に、ステップＳ１９１０（図３０）を実行する。【０１９９】
ステップＳ１９１０において、入出力部２３５は、画像データ、距離データ、および温度データを撮像装置１０１の外部に出力する。画像データとして、撮像信号I0、あるいは第１の撮像信号I1を出力する。距離データとして、距離DISを出力する。温度データとして、温度センサ信号Tsを出力する。次に、ステップＳ１９２０を実行する。【０２００】
ステップＳ１９２０において、動作を終了するかどうかを判断する。例えば、システム制御部１３１は、入出力部２３５を介し、上位ＣＰＵ（図示せず）と通信し、動作を終了するかどうかの命令を要求する。そして、上位ＣＰＵが終了を命令すれば動作を終了し、次に、ステップＳ１９３０を実行する。一方、上位ＣＰＵが終了を命令しなければ動作を継続し、次に、ステップＳ１０２０を実行する。すなわち、上位ＣＰＵが終了を命令しない限り、ステップＳ１０２０、ステップＳ１０３０、ステップＳ１１１０、ステップＳ１１２０、ステップＳ１２００、およびステップＳ１９１０のループの実行を継続する。【０２０１】
ステップＳ１９３０において、撮像装置１０１の動作を終了する。【０２０２】
本実施の形態の撮像装置が以上のように構成されて動作することにより、以下の効果が奏される。【０２０３】
以上のとおり、実施の形態３の撮像装置は、温度センサ１２６によりレンズアレイ１１３の周囲温度を計測し、温度センサ信号Tsとして入力する。そして、レンズアレイ１１３が略円形であるために等方的に膨張することを利用し、式（１１２）及び（１１３）によって、レンズアレイ１１３の温度上昇に伴う光軸間の間隔のｘ方向の変化量dbx、ｙ方向の変化量dbyを求め、その間隔の半分だけ光軸が変化するものとして、式（１１４）から（１２１）によって、第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、および第４のレンズ部１１３ｄの光軸中心(xc4,yc4)を作成し、これらに基づき座標変換する。このことにより、実施の形態１と同様の効果を奏する。【０２０４】
また、実施の形態３の撮像装置は、例えば、第１のレンズ部１１３ａの光軸中心ｘ座標xc1ならば、温度センサ信号Tsに応じた複数組の補正係数（センサ温度信号Tsが０、２５６、５１２、７６８、１０２４、・・・、３８４０、４０９６のときの値であるxc1_0、xc1_256、xc1_512、xc1_768、xc1_1024、・・・、xc1_3040、xc1_4096）を係数保存部２４１に保存し、温度センサ信号Tsに関して式（１１１）のように補間処理を行い、当該温度センサ信号Tsに応じた補正係数を作成する。同様に、第１のレンズ部１１３ａの光軸中心ｙ座標yc1、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、歪曲係数k2,k4、倍率(rx,ry)、焦点距離f、および各レンズ部のｘ方向の光軸間距離Dxは、それぞれ係数保存部２４１に各温度での値を持ち、温度センサ信号Tsを用いて補間演算を行い、当該温度センサ信号Tsに応じたものが作成される。【０２０５】
このことより、補正式から補正係数を演算すること（例えば、式（１１２）から（１２１）のような演算をすること）が不要になるため、その分だけ演算時間や演算回路が不要となり、低コストな撮像装置を実現することができる。また、温度に応じて複雑な非線形な変化をする補正係数について、光学解析や実験で求めた値を保存し用いることにより、補正式で表現される変化と実際の変化との誤差を防止し、正しく歪みの影響を低減できるため、視差の検知及び距離測定を高精度に行うことができる。【０２０６】
また、実施の形態３の撮像装置は、予め各温度センサ信号Tsに応じた補正係数を保存するにあたり、全ての温度センサ信号Ts（０から４０９５までのデジタル値を取る）に対応した補正係数を保存せずに２５６おきに間引いた補正係数を保存し、温度に対して補間した補正係数を作成する。例えば、第１のレンズ部１１３ａの光軸中心ｘ座標xc1ならば、温度センサ信号Tsに対し２５６おきに間引いた補正係数（センサ温度信号Tsが０、２５６、５１２、７６８、１０２４、・・・、３８４０、４０９６のときの値であるxc1_0、xc1_256、xc1_512、xc1_768、xc1_1024、・・・、xc1_3040、xc1_4096）を保存し、温度センサ信号Tsに関して補間して用いる。このことにより、間引いた分だけ記憶領域を１／２５６倍に省略することができるため、その分だけ回路規模を縮小した低コストな撮像装置を実現することができる。【０２０７】
また、実施の形態３の撮像装置は、撮像信号補正部２４３において、第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、歪曲係数k2,k4、および倍率(rx,ry)に基づき、式（１２６）、（１２７）、（１２８）を用いて第１の撮像信号用の参照先座標(tx1,ty1)を、式（１３１）、（１３２）、（１３３）を用いて第２の撮像信号用の参照先座標(tx2,ty2)を、式（１３５）、（１３６）、（１３７）を用いて第３の撮像信号用の参照先座標(tx3,ty3)を、式（１３９）、（１４０）、（１４１）を用いて第４の撮像信号用の参照先座標(tx4,ty4)を求める。そして、参照先座標が示す複数の撮像信号を参照して式（１２９）、（１３０）、（１３４）、（１３８）、（１４２）のように補間処理を施し、補正後撮像信号である第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4を作成する。【０２０８】
予め参照先座標を演算し保持する場合、補正後撮像信号（第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4）の全ての画素（全て合わせて画素数が4*H1*V1）に関し参照先座標（第１の撮像信号用の参照先座標(tx1,ty1)、第２の撮像信号用の参照先座標(tx2,ty2)、第３の撮像信号用の参照先座標(tx3,ty3)、および第４の撮像信号用の参照先座標(tx4,ty4)）が必要となるため、膨大な記憶容量が必要となり、その分だけ高コストとなる。特に、温度により参照先座標を変化させる必要がある場合、温度毎の参照先座標が必要であり、さらに膨大な記憶容量が必要となる。本実施の形態の構成により、逐次、補正係数（第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、歪曲係数k2,k4、および倍率(rx,ry)）から参照先座標（第１の撮像信号用の参照先座標(tx1,ty1)、第２の撮像信号用の参照先座標(tx2,ty2)、第３の撮像信号用の参照先座標(tx3,ty3)、および第４の撮像信号用の参照先座標(tx4,ty4)）を求め、補正後撮像信号（第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4）を作成する。このことにより、補正係数のみに記憶領域を割り当てればよく、大きな容量の記憶領域は不要であるため、低コストな撮像装置を実現する。特に、温度に基づいて参照先座標を変化させる必要がある場合、その効果は顕著である。【０２０９】
また、実施の形態３の撮像装置は、温度補償演算部２４２において温度センサ信号Tsに基づき焦点距離ｆを作成し、距離演算部２４４の式（１６１）において距離演算に利用する。温度変化に伴いレンズアレイ１１３の屈折率変化が変化し、焦点距離ｆが変化するため、一定の焦点距離ｆを用いると焦点距離ｆの温度変化分だけ距離精度が悪化する。本発明の構成により、レンズアレイ１１３の温度変化に対応した焦点距離ｆを距離演算に用いることができるため、高精度な距離演算を実現することができる。【０２１０】
また、実施の形態３の撮像装置は、温度補償演算部２４２において温度センサ信号Tsに基づき倍率(rx,ry)を作成し、撮像信号補正部２４３において倍率(rx,ry)などに基づき撮像信号I0を補正し、補正後撮像信号（第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4）を作成する。温度変化に伴い鏡筒１１１の長さ（レンズアレイ１１３の各レンズ部（第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄ）の主点と撮像素子１２３の受光面との距離）が変化し、その分だけ倍率が変化するため、倍率変化を考慮しなければ鏡筒の長さが温度変化する分だけ距離精度が悪化する。本実施の形態の構成により、鏡筒１１１の長さの温度変化に対応した倍率(rx,ry)だけ撮像信号を補正することにより、鏡筒の長さの温度変化の影響を低減することができるため、高精度な視差演算を実現し、それゆえ高精度な距離演算を実現することができる。【０２１１】
なお、実施の形態３の撮像装置において、温度センサ信号Tsに基づき焦点距離ｆを変化させたが、焦点距離ｆを一定に保ち、倍率(rx,ry)を変化させてもよい。ｆの変化に比例して倍率が変化するため、基準温度Th0のときの焦点距離に対する比を焦点距離に関する倍率の変化の比とする。具体的には、ｆを温度がT(Ts)のときの焦点距離、f0を基準温度Th0のときの焦点距離とし、焦点距離の変化の比（f/f0）を式（１２３）、（１２４）の右辺に乗じ、下記式（１６２）、（１６３）のように倍率(rx,ry)を演算する。【０２１２】
rx = {1+kk*(T(Ts)-Tk0)}*(f/f0) ・・・(162)
ry = {1+kk*(T(Ts)-Tk0)}*(f/f0) ・・・(163)
また、実施の形態３の撮像装置において、レンズアレイ１１３は４つのレンズ部を持ったがこれに限定されない。レンズ部の数が異なっていてもよい。【０２１３】
図３７は、実施の形態３の変形例に係る撮像装置のレンズアレイの構成を示す平面図である。図３７（ａ）に示すレンズアレイ１１３Ｃのように、ｘ方向にDxだけ離れた２つのレンズ部（第１のレンズ部１１３Ｃａ、および第２のレンズ部１１３Ｃｂ）を持つものでもよい。なお、係数保存部２４１にぞれぞれのレンズ部の光軸中心を以下のように決定し保存する。式（１１２）、（１１３）のように、温度上昇に伴う光軸間の間隔のｘ方向の変化量dbx、ｙ方向の変化量dbyを演算し、その半分（ｘ方向にp*dbx/2、ｙ方向にp*dby/2）だけ光軸中心が移動するとして作成する。具体的には、下記式（１６４）、（１６５）のように、第１のレンズ部１１３Ｃａの光軸中心(xc1,yc1)は、基準温度Th0における光軸中心(xc10,yc10)からｘ方向に-dbx/2だけ移動するように作成する。また、下記式（１６６）、（１６７）のように、第２のレンズ部１１３Ｃｂの光軸中心(xc2,yc2)は、基準温度Th0における光軸中心(xc20,yc20)からｘ方向に+dbx/2だけ移動するように作成する。【０２１４】
xc1 = xc10 - dbx/2 ・・・(164)  
yc1 = yc10         ・・・(165)
xc2 = xc20 + dbx/2 ・・・(166)  
yc2 = yc20         ・・・(167)
また、図３７（ｂ）に示すレンズアレイ１１３Ｄのように、最外周部のレンズ部同士がｘ方向にDxだけ、ｙ方向にDyだけ離れた９つのレンズ部（第１のレンズ部１１３Ｄａ、第２のレンズ部１１３Ｄｂ、第３のレンズ部１１３Ｄｃ、第４のレンズ部１１３Ｄｄ、第５のレンズ部１１３Ｄｅ、第６のレンズ部１１３Ｄｆ、第７のレンズ部１１３Ｄｇ、第８のレンズ部１１３Ｄｈ、および第９のレンズ部１１３Ｄｉ。ｘ方向、ｙ方向に関してそれぞれ等間隔に配置されたもの）を持つものでもよい。なお、係数保存部２４１にぞれぞれのレンズ部の光軸中心を以下のように決定し保存する。【０２１５】
式（１１２）、（１１３）のように、温度上昇に伴う光軸間の間隔のｘ方向の変化量dbx、ｙ方向の変化量dbyを演算し、その半分（ｘ方向にp*dbx/2、ｙ方向にp*dby/2）だけ光軸中心が移動するとして作成する。具体的には、下記式（１６８）、（１６９）のように、第１のレンズ部１１３Ｄａの光軸中心(xc1,yc1)は、基準温度Th0における光軸中心(xc10,yc10)からｘ方向に-dbx/2、ｙ方向に-dby/2だけ移動するように作成する。また、下記式（１７０）、（１７１）のように、第２のレンズ部１１３Ｄｂの光軸中心(xc2,yc2)は、基準温度Th0における光軸中心(xc20,yc20)からｙ方向に-dby/2だけ移動するように作成する。また、下記式（１７２）、（１７３）のように、第３のレンズ部１１３Ｄｃの光軸中心(xc3,yc3)は、基準温度Th0における光軸中心(xc30,yc30)からｘ方向に+dbx/2、ｙ方向に-dby/2だけ移動するように作成する。また、下記式（１７４）、（１７５）のように、第４のレンズ部１１３Ｄｄの光軸中心(xc4,yc4)は、基準温度Th0における光軸中心(xc40,yc40)からｘ方向に-dbx/2だけ移動するように作成する。また、下記式（１７６）、（１７７）のように、第５のレンズ部１１３Ｄｅの光軸中心(xc5,yc5)は、基準温度Th0における光軸中心(xc10,yc10)から移動しないように作成する。また、下記式（１７８）、（１７９）のように、第６のレンズ部１１３Ｄｆの光軸中心(xc6,yc6)は、基準温度Th0における光軸中心(xc60,yc60)からｘ方向に+dbx/2だけ移動するように作成する。また、下記式（１８０）、（１８１）のように、第７のレンズ部１１３Ｄｇの光軸中心(xc7,yc7)は、基準温度Th0における光軸中心(xc70,yc70)からｘ方向に-dbx/2、ｙ方向に+dby/2だけ移動するように作成する。また、下記式（１８２）、（１８３）のように、第８のレンズ部１１３Ｄｈの光軸中心(xc8,yc8)は、基準温度Th0における光軸中心(xc80,yc80)からｙ方向に+dby/2だけ移動するように作成する。また、下記式（８４）、（８５）のように、第９のレンズ部１１３Ｄｉの光軸中心(xc9,yc9)は、基準温度Th0における光軸中心(xc90,yc90)からｘ方向に+dbx/2、ｙ方向に+dby/2だけ移動するように作成する。【０２１６】
xc1 = xc10 - dbx/2 ・・・(168)  
yc1 = yc10 - dby/2 ・・・(169)
xc2 = xc20         ・・・(170)  
yc2 = yc20 - dby/2 ・・・(171)
xc3 = xc30 + dbx/2 ・・・(172)  
yc3 = yc30 - dby/2 ・・・(173)
xc4 = xc40 - dbx/2 ・・・(174)  
yc4 = yc40         ・・・(175)
xc5 = xc50         ・・・(176)  
yc5 = yc50         ・・・(177)
xc6 = xc60 + dbx/2 ・・・(178)  
yc6 = yc60         ・・・(179)
xc7 = xc70 - dbx/2 ・・・(180)  
yc7 = yc70 + dby/2 ・・・(181)
xc8 = xc80         ・・・(182)  
yc8 = yc80 + dby/2 ・・・(183)
xc9 = xc90 + dbx/2 ・・・(184)  
yc9 = yc90 + dby/2 ・・・(185)
また、実施の形態３の撮像装置は、歪曲係数kd2,kd4、倍率(rx,ry)、第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、焦点距離f、および各レンズ部のｘ方向の光軸間距離Dxを温度補償し、撮像信号を補正したが、これに限定されない。例えば、高次歪曲係数や、各レンズ部ごとの倍率や、各レンズ部ごとの回転補正などをしてもよい。【０２１７】
なお、実施の形態１及び２では、温度センサにより検知された温度に基づいて複数のレンズの光軸の移動量を推定し、その推定した光軸の移動量に基づいて撮像信号を補正した。また、実施の形態３では、温度センサにより検知された温度に基づいて複数のレンズの光軸の移動量を含む補正係数を作成し、その補正係数に基づいて撮像信号を補正した。しかし、本発明における撮像信号の補正はこれらに限定されるものではなく、温度センサにより検知された温度に基づいて、温度変化による複数のレンズの光軸の移動量に応じて撮像信号を補正すればよい。【０２１８】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【産業上の利用可能性】
【０２１９】
本発明の撮像装置は、距離計測可能な小型の撮像装置であるため、カメラ機能を備えた携帯型電話機、デジタルスチルカメラ、車載用カメラ、監視用カメラ、三次元計測器、および立体画像入力カメラ等に有用である。
【図１】
2009001563.tif 000003
【図２】
2009001563.tif 000004
【図３Ａ】
2009001563.tif 000005
【図３Ｂ】
2009001563.tif 000006
【図４】
2009001563.tif 000007
【図５】
2009001563.tif 000008
【図６】
2009001563.tif 000009
【図７】
2009001563.tif 000010
【図８】
2009001563.tif 000011
【図９Ａ】
2009001563.tif 000012
【図９Ｂ】
2009001563.tif 000013
【図９Ｃ】
2009001563.tif 000014
【図１０】
2009001563.tif 000015
【図１１】
2009001563.tif 000016
【図１２】
2009001563.tif 000017
【図１３】
2009001563.tif 000018
【図１４】
2009001563.tif 000019
【図１５】
2009001563.tif 000020
【図１６】
2009001563.tif 000021
【図１７】
2009001563.tif 000022
【図１８】
2009001563.tif 000023
【図１９】
2009001563.tif 000024
【図２０】
2009001563.tif 000025
【図２１】
2009001563.tif 000026
【図２２】
2009001563.tif 000027
【図２３】
2009001563.tif 000028
【図２４】
2009001563.tif 000029
【図２５】
2009001563.tif 000030
【図２６】
2009001563.tif 000031
【図２７】
2009001563.tif 000032
【図２８】
2009001563.tif 000033
【図２９】
2009001563.tif 000034
【図３０】
2009001563.tif 000035
【図３１】
2009001563.tif 000036
【図３２】
2009001563.tif 000037
【図３３】
2009001563.tif 000038
【図３４】
2009001563.tif 000039
【図３５】
2009001563.tif 000040
【図３６】
2009001563.tif 000041
【図３７】
2009001563.tif 000042
【図３８】
2009001563.tif 000043
【図３９】
2009001563.tif 000044
【手続補正書】
【提出日】平成20年10月24日(2008.10.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のレンズを含むレンズアレイと、
前記複数のレンズと一対一に対応して設けられ、対応する前記レンズの光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域と、
前記レンズアレイの近傍に配置され温度を検知する温度センサと、
前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量に応じて前記撮像領域において生成された撮像信号を補正する温度補償／撮像信号補正部と、
前記温度補償／撮像信号補正部により補正された前記撮像信号に基づき視差を演算する視差演算部と、を備える、撮像装置。
【請求項２】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を推定する移動量推定部と、前記移動量推定部により推定された前記光軸の移動量に基づいて、前記撮像領域において生成された撮像信号を補正する撮像信号補正部と、を含み、
前記視差演算部は、前記撮像信号補正部により補正された前記撮像信号に基づき視差を演算するよう構成されている、請求項１に記載の撮像装置。
【請求項３】
前記移動量推定部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、前記光軸の移動量を推定するように構成されている、請求項２に記載の撮像装置。
【請求項４】
前記移動量推定部は、前記算出された変化量の半分を前記光軸の移動量と推定するように構成されている、請求項３に記載の撮像装置。
【請求項５】
前記撮像信号補正部は、前記移動量に基づき、光軸位置を補正し、その光軸周りの歪曲を補正するように構成されている、請求項２に記載の撮像装置。
【請求項６】
前記撮像信号補正部は、前記移動量に基づき、切り出し領域を変化させるように構成されている、請求項２に記載の撮像装置。
【請求項７】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を含む補正係数を作成する補正係数作成部と、前記補正係数に基づいて、前記撮像領域において生成された撮像信号を補正し補正後撮像信号を作成する撮像信号補正部と、を含み、
視差演算部は、前記補正後撮像信号に基づき視差を演算するように構成されている、請求項１に記載の撮像装置。
【請求項８】
前記補正係数作成部は、前記算出された変化量の半分を前記光軸の移動量と作成するように構成されている、請求項７に記載の撮像装置。
【請求項９】
前記温度に応じた複数組の補正係数を複数の補正係数保存値として保存する補正係数保存部を有し、
前記補正係数作成部は、前記複数組の補正係数保存値から前記温度に応じた補正係数保存値を選択して前記補正係数を作成するように構成されている、  請求項７に記載の撮像装置。
【請求項１０】
前記温度センサの信号を入力しデジタル値である温度値を作成する温度センサ信号入力部を有し、
前記補正係数保存部は、前記温度値よりも分解能が粗い組の前記補正係数保存値を保存するように構成されており、
前記補正係数作成部は、前記温度値に基づき複数組の前記補正係数保存値を選択し補間処理して、前記補正係数を作成するように構成されている、請求項９に記載の撮像装置。
【請求項１１】
前記撮像信号補正部は、前記補正係数に基づき参照先座標を求め、前記参照先座標が示す複数の撮像信号を参照し補間処理を施し補正後撮像信号を作成するように構成されている、請求項７に記載の撮像装置。
【請求項１２】
複数のレンズを含むレンズアレイと、前記複数のレンズと一対一に対応して設けられ、対応する前記レンズの光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域とを有する撮像装置に用いられる半導体回路素子であって、
前記レンズアレイの近傍に配置された温度センサによって検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量に応じて前記撮像領域において生成された撮像信号を補正する温度補償／撮像信号補正部と、
前記温度補償／撮像信号補正部により補正された前記撮像信号に基づき視差を演算する視差演算部と、を備える、半導体回路素子。
【請求項１３】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を推定する移動量推定部と、前記移動量推定部により推定された前記光軸の移動量に基づいて、前記撮像領域において生成された撮像信号を補正する撮像信号補正部と、を含み、
前記視差演算部は、前記撮像信号補正部により補正された前記撮像信号に基づき視差を演算するよう構成されている、請求項１２に記載の半導体回路素子。
【請求項１４】
前記移動量推定部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、前記光軸の移動量を推定するように構成されている、請求項１３に記載の半導体回路素子。
【請求項１５】
前記移動量推定部は、前記算出された変化量の半分を前記光軸の移動量と推定するように構成されている、請求項１４に記載の半導体回路素子。
【請求項１６】
前記撮像信号補正部は、前記移動量に基づき、光軸位置を補正し、その光軸周りの歪曲を補正するように構成されている、請求項１３に記載の半導体回路素子。
【請求項１７】
前記撮像信号補正部は、前記移動量に基づき、切り出し領域を変化させるように構成されている、請求項１３に記載の半導体回路素子。
【請求項１８】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を含む補正係数を作成する補正係数作成部と、前記補正係数に基づいて、前記撮像領域において生成された撮像信号を補正し補正後撮像信号を作成する撮像信号補正部と、を含み、
視差演算部は、前記補正後撮像信号に基づき視差を演算するように構成されている、請求項１２に記載の半導体回路素子。
【請求項１９】
前記補正係数作成部は、前記算出された変化量の半分を前記光軸の移動量として前記補正係数を作成する作成するように構成されている、請求項１８に記載の半導体回路素子。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、距離計測可能な撮像装置及びその撮像装置に用いられる半導体回路素子に関する。
【背景技術】
【０００２】
距離計測が可能な従来の撮像装置として、特許文献１の撮像装置がある。図３８は、特許文献１の撮像装置の分解斜視図である。また、図３９は、同じく撮像装置の撮像ブロックを説明するための図である。図３８及び図３９に示すように、複眼撮像系である撮像装置９０１は、絞り部材９０２と、光学レンズアレイ９０３と、遮光ブロック９０４と、光学フィルタ９０６と、撮像ユニット９０７とを備えている。この撮像装置９０１において、４つの開口部９０２−１、９０２−２、９０２−３、９０２−４を持つ絞り部材９０２と、４つの光学ブロック（レンズ）９０３−１、９０３−２、９０３−３、９０３−４を持つ光学レンズアレイ９０３とにより、４つの撮像光学系が構成されており、それぞれを通過した光線がそれぞれ撮像ユニット９０７上の４つの撮像ブロック９０７−１、９０７−２、９０７−３、９０７−４に結像する。ＣＣＤセンサなどで形成された撮像ユニット９０７は、当該撮像ユニット９０７を駆動する駆動回路９０８と、これら複数の撮像ブロック９０７−１〜９０７−４により撮像された画像間の視差情報を算出する視差算出回路９０９と共に、半導体基板９１０上に形成される。
【０００３】
上述したように、絞り部材９０２の開口部９０２−１〜９０２−４を通過した光線は、それぞれレンズ９０３−１〜９０３−４により屈折作用を受けた後、遮光ブロック９０４内および光学フィルタ９０６を通過し、撮像ブロック９０７−１〜９０７−４に結像する。そして、例えば、撮像ブロック９０７−１により撮像された画像と撮像ブロック９０７−２により撮像された画像との類似度をブロックマッチングを用いて演算し、その類似度に基づき視差ｄを求めた後、下記式（１）のように、視差ｄから距離Ｌを求める。ここで、ｆはレンズ９０３−１および９０３−２の焦点距離であり、Ｂはレンズ９０３−１及び９０３−２の光軸の間隔であり、ｐはレンズ９０３−１と９０３−２との光軸を結ぶ方向の撮像ユニット９０７の画素間隔である。
【０００４】
L = f B /p d …（１）
しかしながら、レンズアレイ９０３は温度変化により変形し、それに伴いレンズの光軸の間隔Ｂが変化するため、温度が変化すると正しく距離を求められない。
【０００５】
このような温度変化に対応する撮像装置が特許文献２に開示されている。その構造は温度センサを有している点を除いて特許文献１の撮像装置と同様であるため、図３８を参照しながら説明すると、特許文献２の撮像装置は、等間隔に配置されたレンズ９０３−１〜９０３−４と、それらのレンズ９０３−１〜９０３−４近傍の温度Ｔを測定する温度センサとを備え、その温度Ｔを用いて、撮像ブロック９０７−１〜９０７−４により撮像された画像Ｉ１〜Ｉ４を補正する。
【０００６】
より詳細に説明すると、この撮像装置は、下記式（２）のように、基準温度Ｔ０に対する温度変化量（Ｔ−Ｔ０）を演算し、レンズアレイの熱線膨張率ａＬと撮像ユニット９０７の線膨張率ａＳとの差（ａＬ−ａＳ）に基づき、温度変化による各レンズの光軸の間隔Ｂの変化量ｚを求める。そして、下記式（３）のように、撮像ブロック９０７−１により撮像された画像Ｉ１を基準として、下記式（４）、（５）及び（６）のように、撮像ブロック９０７−２、９０７−３、９０７−４により撮像された画像Ｉ２、Ｉ３、Ｉ４を、各レンズの光軸の間隔の変化分だけ補正する。ここで、レンズ９０３−１及び９０３−２、並びにレンズ９０３−３及び９０３−４がそれぞれ互いにｘ軸方向に離れて配置され、レンズ９０３−１及び９０３−３、並びにレンズ９０３−２及び９０３−４がそれぞれ互いにｙ軸方向に離れて配置されている。そして、ｐは撮像ユニット９０７の画素間隔であり、ｘ軸方向とｙ軸方向とで同一である。Ｉ１（ｘ，ｙ）、Ｉ２（ｘ，ｙ）、Ｉ３（ｘ，ｙ）、Ｉ４（ｘ，ｙ）は座標（ｘ、ｙ）における各画像の輝度を示す。温度変化により、レンズ９０３−１と比較してレンズ９０３−２はｘ軸方向にｚ／ｐ画素だけ移動するため、式（４）のように、Ｉ２（ｘ，ｙ）をｘ軸方向にｚ／ｐだけ移動するように補正する。また、温度変化により、レンズ９０３−３は、レンズ９０３−１と比較してｙ軸方向にｚ／ｐ画素だけ移動するため、式（５）のように、Ｉ３（ｘ，ｙ）をｙ軸方向にｚ／ｐだけ移動するように補正する。さらに、温度変化により、レンズ９０３−４は、レンズ９０３−１と比較してｘ軸方向にｚ／ｐ画素、ｙ軸方向にｚ／ｐ画素だけ移動するため、式（６）のように、Ｉ４（ｘ，ｙ）をｘ軸方向にｚ／ｐ画素、ｙ軸方向にｚ／ｐ画素だけ移動するように補正する。
【０００７】
z = B (aL - aS) (T - T0) …（２）
I1(x, y) = I1(x, y) …（３）
I2(x, y) = I2(x+z/p, y) …（４）
I3(x, y) = I3(y, x+z/p) …（５）
I4(x, y) = I4(x+z/p, y+z/p) …（６）
【特許文献１】特開２００３−１４３４５９号公報
【特許文献２】特開２００２−２０４４６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前述のように、特許文献２に記載された従来の撮像装置は、撮像ブロック９０７−１により撮像された画像Ｉ１を基準として、式（４）、（５）及び（６）のように、撮像ブロック９０７−２、９０７−３、９０７−４により撮像された画像Ｉ２、Ｉ３、Ｉ４を、レンズの光軸の間隔の変化分だけ補正する。
【０００９】
しかしながら、レンズアレイの温度変化により、光軸中心は全てのレンズにおいて変化するため、画像Ｉ１を基準とすると、光軸の間隔は正しく補正されるが、光軸中心の座標は正しく補正されない。例えば、レンズアレイの温度変化により、画像Ｉ１を撮像する撮像ブロック９０７−１に対応するレンズ９０３−１の光軸中心は変化するが、式（３）のように、画像Ｉ１の場合は補正が行われないため、当該レンズ９０３−１の光軸は補正されない。歪曲は、光軸中心に同心円状に存在するため、光軸が正しく補正されなければ、正しく歪曲補正をすることができない。すなわち、式（３）から（６）のように、画像Ｉ１を基準とした補正では、正しく光軸補正をすることができないため、正しく歪曲補正することができない。それゆえ、距離計測の精度が悪化する。
【００１０】
本発明は、上記問題に鑑みなされたもので、温度が変化しても、適切な光軸補正を行うことにより正しく歪曲補正でき、その結果、高精度な距離計測を可能にする撮像装置及びその撮像装置に用いられる半導体回路素子を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の撮像装置は、複数のレンズを含むレンズアレイと、  前記複数のレンズと一対一に対応して設けられ、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量に応じて前記撮像領域において生成された撮像信号を補正する温度補償／撮像信号補正部と、前記温度補償／撮像信号補正部により補正された前記撮像信号に基づき視差を演算する視差演算部と、を備える。
【００１２】
上記発明に係る撮像装置において、前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を推定する移動量推定部と、前記移動量推定部により推定された前記光軸の移動量に基づいて、前記撮像領域において生成された撮像信号を補正する撮像信号補正部と、を含み、前記視差演算部は、前記撮像信号補正部により補正された前記撮像信号に基づき視差を演算するよう構成されていてもよい。
【００１３】
上記発明に係る撮像装置において、前記移動量推定部が、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、前記光軸の移動量を推定するように構成されていてもよい。ここで、当該移動量推定部が、前記算出された変化量の半分を前記光軸の移動量と推定するように構成されていてもよい。
【００１４】
また、前記撮像信号補正部は、前記移動量に基づき、光軸位置を補正し、その光軸周りの歪曲を補正するように構成されていてもよい。また、前記撮像信号補正部は、前記移動量に基づき、切り出し領域を変化させるように構成されていてもよい。
【００１５】
また、上記発明に係る撮像装置において、前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を含む補正係数を作成する補正係数作成部と、前記補正係数に基づいて、前記撮像領域において生成された撮像信号を補正し補正後撮像信号を作成する撮像信号補正部と、を含み、視差演算部は、前記補正後撮像信号に基づき視差を演算するように構成されていてもよい。
【００１６】
上記発明に係る撮像装置において、前記補正係数作成部は、前記算出された変化量の半分を前記光軸の移動量と作成するように構成されていてもよい。
【００１７】
この構成により、温度センサにより検知された温度に基づき複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、算出された変化量の半分を光軸の移動量とするように補正係数を作成し、この補正係数に撮像信号を補正する。このことにより、温度が変化しレンズアレイが変形しても、光軸の位置を正しく補償することができるため、温度の影響を低減した視差を得て、この視差に基づき正しい距離計測ができる。また、温度センサにより検知された温度に基づき複数のレンズ部の間隔の変化量を求め、複数のレンズの光軸原点をその変化量の半分だけ移動させて、光軸原点周りの歪みをなくすように画像を補正することにより、正しく歪みの影響を低減できるため、視差の検知及び距離測定を高精度に行うことができる。また、温度によりレンズ部の光軸の位置が変化すると、撮影される画像が移動することになる。例えば、自動車の前方監視に撮像装置を利用する場合、その撮像装置により得られた画像中心を運転者が見た画像の中心に合わせても、温度が変化すると画像中心がずれる。そのため、運転者は違和感を覚える。これに対し、本発明の撮像装置の場合、温度が変化しても、画像中心の変化を抑制することができる。そのため、自動車の前方監視にも適した撮像装置を実現することができる。
【００１８】
また、上記発明に係る撮像装置において、前記温度に応じた複数組の補正係数を複数の補正係数保存値として保存する補正係数保存部を有し、前記補正係数作成部は、前記複数組の補正係数保存値から前記温度に応じた補正係数保存値を選択し前記補正係数を作成するように構成さていてもよい。
【００１９】
この構成により、予め各温度に応じた補正係数を保存する。このことより、補正式から補正係数を演算することが不要になるため、その分だけ演算時間や演算回路が不要となり、低コストな撮像装置を実現する。また、温度に応じて複雑な非線形な変化をする補正係数について、実験で求めた値を保存し用いることにより、補正式で表現される変化と実際の変化との誤差を防止し、正しく歪みの影響を低減できるため、視差の検知及び距離測定を高精度に行うことができる。
【００２０】
また、上記発明に係る撮像装置において、前記温度センサの信号を入力しデジタル値である温度値を作成する温度センサ信号入力部を有し、前記補正係数保存部は、前記温度値よりも分解能が粗い組の前記補正係数保存値を保存するように構成されており、前記補正係数作成部は、前記温度値に基づき複数組の前記補正係数保存値を選択し補間処理して、前記補正係数を作成するように構成されていてもよい。
【００２１】
この構成により、予め各温度に応じた補正係数を保存するにあたり、全ての温度に対応した補正係数を保存せずに温度に対して間引いた補正係数を保存し、温度に対して補間した補正係数を用いる。このことにより、間引いた分だけ記憶領域を省略することができるため、その分だけ回路規模を縮小した低コストな撮像装置を実現することができる。
【００２２】
また、上記発明に係る撮像装置において、前記撮像信号補正部は、前記補正係数に基づき参照先座標を求め、前記参照先座標が示す複数の撮像信号を参照し補間処理を施して、補正後撮像信号を作成するように構成されていてもよい。
【００２３】
予め参照先座標を演算し保持する場合、補正後撮像信号の全ての画素に関し参照先座標が必要となるため、膨大な記憶容量が必要となり、その分だけ高コストとなる。特に、温度により参照先座標を変化させる必要がある場合、温度毎の参照先座標が必要であり、さらに膨大な記憶容量が必要となる。本発明の構成により、逐次、補正係数から参照先座標を求め、補正後撮像信号を作成する。このことにより、補正係数のみに記憶領域を割り当てればよく、大きな記憶容量は不要であるため、低コストな撮像装置を実現する。特に、温度より参照先座標を変化させる必要がある場合、その効果は顕著である。
【００２４】
また、本発明の回路素子は、複数のレンズを含むレンズアレイと、前記複数のレンズと一対一に対応して設けられ、対応する前記レンズの光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域とを有する撮像装置に用いられる半導体回路素子であって、前記レンズアレイの近傍に配置された温度センサによって検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量に応じて前記撮像領域において生成された撮像信号を補正する温度補償／撮像信号補正部と、前記温度補償／撮像信号補正部により補正された前記撮像信号に基づき視差を演算する視差演算部と、を備える。
【００２５】
上記本発明に係る回路素子において、前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を推定する移動量推定部と、前記移動量推定部により推定された前記光軸の移動量に基づいて、前記撮像領域において生成された撮像信号を補正する撮像信号補正部と、を含み、前記視差演算部は、前記撮像信号補正部により補正された前記撮像信号に基づき視差を演算するよう構成されていてもよい。
【００２６】
ここで、前記移動量推定部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、前記光軸の移動量を推定するように構成されていてもよい。また、前記移動量推定部は、前記算出された変化量の半分を前記光軸の移動量と推定するように構成されていてもよい。
【００２７】
また、前記撮像信号補正部は、前記移動量に基づき、光軸位置を補正し、その光軸周りの歪曲を補正するように構成されていてもよい。また、前記撮像信号補正部は、前記移動量に基づき、切り出し領域を変化させるように構成されていてもよい。
【００２８】
上記本発明の回路素子において、前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を含む補正係数を作成する補正係数作成部と、前記補正係数に基づいて、前記撮像領域において生成された撮像信号を補正し補正後撮像信号を作成する撮像信号補正部と、を含み、視差演算部は、前記補正後撮像信号に基づき視差を演算するように構成されていてもよい。
【００２９】
ここで、前記補正係数作成部は、前記算出された変化量の半分を前記光軸の移動量として前記補正係数を作成する作成するように構成されていてもよい。
【００３０】
本発明の上記目的、他の目的、特徴、及び利点は、添付図面参照の下、以下の好適な実施態様の詳細な説明から明らかにされる。
【発明の効果】
【００３１】
本発明によれば、レンズの光軸補正及び歪曲補正を適切に行うことができるため、高精度な距離計測が可能となる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の好ましい実施の形態を、図面を参照しながら説明する。なお、以下では全ての図を通じて同一又は相当する要素には同一の参照符号を付してその重複する説明を省略する。
【００３３】
（実施の形態１）
本発明の実施の形態１に係る撮像装置は、温度センサにより検知された温度に基づき複数のレンズの光軸の間隔の変化量を求め、複数のレンズの光軸原点を変化量の半分だけ移動し、光軸原点周りの歪みをなくすように画像を補正する。これにより、歪みの影響を適切に低減できるため、高精度な視差を検知でき、高精度に距離測定できる。
【００３４】
図１は、本発明の実施の形態１に係る撮像装置の構成を示す断面図である。図１に示すように、撮像装置１０１は、回路部１２０と、その回路部１２０の上方に設けられたレンズモジュール部１１０とを備えている。
【００３５】
レンズモジュール部１１０は、円筒状の鏡筒１１１と、その鏡筒１１１の開口を覆う上部カバーガラス１１２と、その上部カバーガラス１１２の下方であって鏡筒１１１の内部に設けられたレンズアレイ１１３とを有している。また、回路部１２０は、基板１２１と、その基板１２１上に設けられたパッケージ１２２、撮像素子１２３、パッケージカバーガラス１２４、半導体回路素子であるシステムＬＳＩ（以下、ＳＬＳＩと記す）１２５、及びレンズアレイ１１３近傍の温度を検出する温度センサ１２６とを有している。
【００３６】
鏡筒１１１は、上述のとおり円筒状であって、その内壁面は光の乱反射を防止するためにつやが消された黒で着色されており、樹脂を射出成形し形成される。上部カバーガラス１１２は、円盤状であり、光学ガラス材あるいは透明樹脂などから形成され、鏡筒１１１の上部の内壁に接着剤などにより固着され、その表面には摩擦などによる損傷を防止する保護膜と、入射光の反射を防止する反射防止膜とが設けられている。
【００３７】
図２は、本発明の実施の形態１に係る撮像装置のレンズアレイの構成を示す平面図である。レンズアレイ１１３は、略円盤状であり、光学ガラス剤または透明樹脂などから形成され、円形の第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、及び第４のレンズ部１１３ｄが２行２列で碁盤目状に配設されている。第１〜第４のレンズ部１１３ａ〜１１３ｄの配置方向に沿って、図２に示すようにｘ軸及びｙ軸を設定する。第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄにおいて、被写体側から入射した光は、撮像素子１２３側へ射出され、撮像素子１２３上に４つの像が結像される。なお、図２に示すように、第１のレンズ部１１３ａの光軸及び第２のレンズ部１１３ｂの光軸は、ｘ軸方向ではＤｘだけ離れており、ｙ軸方向では一致する。第１のレンズ部１１３ａの光軸及び第３のレンズ部１１３ｃの光軸は、ｘ軸方向では一致しており、ｙ軸方向ではＤｙだけ離れている。第３のレンズ部１１３ｃの光軸及び第４のレンズ部１１３ｄの光軸は、ｘ軸方向ではＤｘだけ離れており、ｙ軸方向は一致する。第４のレンズ部１１３ｄの光軸及び第１のレンズ部１１３ａの光軸は、ｘ軸方向ではＤｘだけ離れており、ｙ軸方向ではＤｙだけ離れている。
【００３８】
基板１２１は、樹脂基板から構成され、上面に鏡筒１１１がその底面を接して接着剤などにより固着される。このようにして、レンズモジュール部１１０と回路部１２０とが固定され、撮像装置１０１を構成する。
【００３９】
パッケージ１２２は、金属端子を有する樹脂からなり、鏡筒１１１の内側において、基板１２１の上面にその金属端子部が半田づけ等されて固着される。
【００４０】
撮像素子１２３は、ＣＣＤセンサやＣＭＯＳセンサのような固体撮像素子であり、その受光面が第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄの光軸と略垂直になるようにして配置される。撮像素子１２３の各端子は、パッケージ１２２の内側の底部の金属端子にワイヤーボンディングにより金線１２７で接続され、基板１２１を介して、ＳＬＳＩ１２５と電気的に接続される。撮像素子１２３の受光面に、第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄから射出された光がそれぞれ結像し、その光の情報が撮像素子１２３の画素を構成するフォトダイオードにより電気の情報へ変換され、その電気の情報がＳＬＳＩ１２５に転送される。
【００４１】
図３Ａは、本発明の実施の形態１に係る撮像装置の回路部１２０の構成を示す平面図である。パッケージカバーガラス１２４は、平板状であり、透明樹脂により形成され、パッケージ１２２の上面に接着などにより固着される。なお、図３Ａにおいては、便宜上、パッケージカバーガラス１２４を透して見える撮像素子１２３などは省略している。
【００４２】
ＳＬＳＩ１２５は、後述の方法で、撮像素子１２３を駆動し、撮像素子１２３からの電気情報を入力し、各種演算を行い、上位ＣＰＵと通信を行い、外部に画像情報や距離情報などを出力する。なお、ＳＬＳＩ１２５は、電源（例えば３．３Ｖ）とグランド（例えば、０Ｖ）に接続される。
【００４３】
図３Ｂは、本発明の実施の形態１に係る撮像装置の撮像素子の構成を示す平面図である。図３Ｂに示すように、撮像素子１２３は、第１の撮像領域１２３ａ、第２の撮像領域１２３ｂ、第３の撮像領域１２３ｃ、および第４の撮像領域１２３ｄで構成されている。これらの第１〜第４の撮像領域１２３ａ〜１２３ｄは、それぞれの受光面が、第１〜第４のレンズ部１１３ａ〜１１３ｄの光軸と略垂直になるようにして２行２列で配置される。これらの各撮像領域１２３ａ〜１２３ｄにて撮像信号が生成される。
【００４４】
図４は、本発明の実施の形態１に係る撮像装置の温度センサの回路図である。図４に示すように、温度センサ１２６は、第１の固定抵抗１２６ａとサーミスタ１２６ｂと第２の固定抵抗１２６ｃとが直列に接続されて構成されている。ここで、第１の固定抵抗１２６ａの他端（サーミスタ１２６ｂに接続されない端）は電源１２６ｄ（例えば３．３Ｖ）に接続され、第２の固定抵抗１２６ｃの他端（サーミスタ１２６ｂに接続されない端）はグランド１２６ｅ（例えば、０Ｖ。ＳＬＳＩ１２５のグランドと同一電位）に接続される。また、第１の固定抵抗１２６ａとサーミスタ１２６ｂとの接続点１２６ｆがＳＬＳＩ１２５に接続されている。
【００４５】
次に、被写体距離と視差との関係を説明する。本発明の実施の形態１に係る撮像装置は、４つのレンズ部（第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、及び第４のレンズ部１１３ｄ）を有するため、４つのレンズ部がそれぞれ形成する４つの物体像の相対的位置が、被写体距離に応じて変化する。
【００４６】
図５は、本発明の実施の形態１に係る撮像装置において、無限遠にある物体像の位置を説明するための図である。図５においては、簡単のため、レンズアレイ１１３において、第１のレンズ部１１３ａ、および第２のレンズ部１１３ｂのみを記す。無限遠の物体１０からの光の第１のレンズ部１１３ａへの入射光Ｌ１と、第２のレンズ部１１３ｂへの入射光Ｌ２とは平行である。このため、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離と、撮像素子１２３上の物体像１１ａと物体像１１ｂとの距離とは等しい。すなわち、視差はない。
【００４７】
図６は、本発明の実施の形態１に係る撮像装置において、有限距離の位置にある物体像の位置を説明するための図である。図６において、簡単のため、レンズアレイ１１３において、第１のレンズ部１１３ａ、および第２のレンズ部１１３ｂのみを記す。有限距離の物体１２からの光の第１のレンズ部１１３ａへの入射光Ｌ１と第２のレンズ部１１３ｂへの入射光Ｌ２とは平行ではない。従って、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離に比べて、撮像素子１２３上の物体像１３ａと物体像１３ｂとの距離は長い。すなわち、視差がある。
【００４８】
物体像１２までの距離（被写体距離）をＬ、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離をＤｘ、レンズ部１１３ａ，１１３ｂの焦点距離をｆとすると、図６の直角を挟む２辺の長さがＬ、Ｄｘの直角三角形と、直角を挟む２辺の長さがｆ、Δの直角三角形とが相似であることより、視差Δは、下記式（７）のように表される。
【００４９】
L = f × Dx / Δ      ・・・（７）
その他のレンズ部間についても同様の関係が成立する。このように、被写体距離に応じて４つのレンズ部１１３ａ，１１３ｂ，１１３ｃ，１１３ｄがそれぞれ形成する４つの物体像の相対的位置が変化する。例えば、被写体距離Ｌが小さくなると、視差Δが大きくなる。
【００５０】
図７は、本発明の実施の形態１に係る撮像装置の構成を示すブロック図である。ＳＬＳＩ１２５は、システム制御部１３１と、当該システム制御部１３１により制御される、撮像素子駆動部１３２、撮像信号入力部１３３、入力バッファ１３４、前処理部１３５、演算部１３６、出力バッファ１３７、入出力部１３８、及び温度補償部１３９とを有している。前処理部１３５は、第１の中間バッファ１３５ａ、第２の中間バッファ１３５ｂ、第３の中間バッファ１３５ｃ、第４の中間バッファ１３５ｄ、及び前処理演算部１３５ｅを有し、後述するようにして撮像信号を補正する撮像信号補正部として機能する。演算部１３６は、第１の演算バッファ１４１ａ及び第２の演算バッファ１４１ｂを具備する演算バッファ１４１と、視差演算部１４２と、距離演算部１４３とを有する。また、出力バッファ１３７は、第１の出力バッファ１３７ａ、および第２の出力バッファ１３７ｂを有する。さらに、温度補償部１３９は、温度センサ信号入力部１３９ａ、および温度補償演算部１３９ｂを有し、後述するようにして各レンズ部１１３ａ〜１１３ｄの光軸の移動量を推定する移動量推定部として機能する。また、温度補償部１３９と前処理部１３５とは、温度補償／撮像信号補正部を構成している。
【００５１】
システム制御部１３１は、ＣＰＵ（中央演算処理装置：Central Processing Unit）及びロジック回路などから構成され、ＳＬＳＩ１２５の全体を制御する。
【００５２】
撮像素子駆動部１３２は、ロジック回路などから構成され、撮像素子１２３を駆動する信号を発生し、この信号に応じた電圧を撮像素子１２３に印加する。
【００５３】
撮像信号入力部１３３は、ＣＤＳ回路（相関二重サンプリング回路：Correlated Double Sampling Circuit）、ＡＧＣ（自動利得制御器：Automatic Gain Controller）、及びＡＤＣ（アナログ／デジタル変換器：Analog Digital Converter）が直列に接続されて構成される。撮像素子１２３からの電気信号が入力された場合、撮像信号入力部１３３におけるＣＤＳ回路により固定ノイズを除去し、ＡＧＣによりゲインを調整し、ＡＤＣによりアナログ信号からデジタル値に変換し、強度補正を行って、撮像信号I0とする。
【００５４】
図８は、本発明の実施の形態１に係る撮像装置の撮像信号の切り出し位置を説明するための図である。撮像信号入力部１３３に入力される撮像信号I0(x,y)は、ｘ軸方向にH0画素、ｙ軸方向にV0画素を持っている。この撮像信号I0(x,y)は、I0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0-1)の順に撮像信号入力部１３３に入力され、順次、入力バッファ１３４に転送される。また、各座標（x,y）における強度補正係数ks(x,y)を用いて、下記式（８）のように強度補正が行われる。なお、強度補正係数ks(x,y)は、検査工程などにおいて特定チャート（例えば、白色チャート）を撮影し決定され、EEPROMやフラッシュメモリに保存される。
【００５５】
I0(x,y) = ks(x,y) × I0(x,y) …（８）
入力バッファ１３４は、ＤＲＡＭ（Dynamic Random Access Memory）などにより構成され、撮像信号入力部１３３から入力された撮像信号I0(x,y)を保存する。
【００５６】
前処理部１３５は、ロジック回路、ＤＲＡＭなどから構成される。この前処理部１３５においては、前処理演算部１３５ｅにより入力バッファ１３４に保存された撮像信号I0から各レンズ部により結像された被写体像に係る画像を切り出し、歪曲補正処理を行い、第１のレンズ部１３１ａに対応する第１の撮像信号I1(x,y)、第２のレンズ部１３１ｂに対応する第２の撮像信号I2(x,y)、第３のレンズ部に対応する第３の撮像信号I3(x,y)、および第４のレンズ部に対応する第４の撮像信号I4(x,y)を生成する。これらの撮像信号はそれぞれ第１の中間バッファ１３５ａ、第２の中間バッファ１３５ｂ、第３の中間バッファ１３５ｃ、および第４の中間バッファ１３５ｄに転送され、保存される。そして、下記式（９）のように、座標変換テーブルtx1(x,y)、ty1(x,y)に基づき撮像信号I0(x,y)から第１の撮像信号I1(x,y)が生成される。すなわち、座標(tx1(x,y), ty1(x,y))の撮像信号I0が第１の撮像信号I1(x,y)となる。座標(tx1(x,y), ty1(x,y))は、小数点を持ってもよい。その場合、座標変換テーブルtx1(x,y)の整数部分をtx1i(x,y)とし、小数部分をtx1f(x,y)として、下記式（１０）のように４画素を利用し演算する。同様に、下記式（１１）のように、座標変換テーブルtx2(x,y)、ty2(x,y)に基づき撮像信号I0(x,y)から第２の撮像信号I2(x,y)が生成され、下記式（１２）のように、座標変換テーブルtx3(x,y)、ty3(x,y)に基づき撮像信号I0(x,y)から第３の撮像信号I3(x,y)が生成され、下記式（１３）のように、座標変換テーブルtx4(x,y)、ty4(x,y)に基づき撮像信号I0(x,y)から第４の撮像信号I4(x,y)が生成される。なお、座標変換テーブルtx1(x,y)、ty1(x,y)、tx2(x,y)、ty2(x,y)、tx3(x,y)、ty3(x,y)、tx4(x,y)、ty4(x,y)は、後述の温度補償演算部１３９ｂにより生成される。
【００５７】
I1(x,y) = I0(tx1(x,y),ty1(x,y)) …（９）
I1(x,y) = [1 - tx1f(x,y)] × [1 - ty1f(x,y)] × I0(tx1i(x,y),ty1i(x,y))
+ tx1f(x,y) × [1 - ty1f(x,y)] ×I0(tx1i(x,y)+1,ty1i(x,y))
+ [1 - tx1f(x,y)] × ty1f(x,y) ×I0(tx1i(x,y),ty1i(x,y)+1)
+ tx1f(x,y) × ty1f(x,y) ×I0(tx1i(x,y)+1,ty1i(x,y)+1)   …（１０）
I2(x,y) = I0(tx2(x,y),ty2(x,y)) …（１１）
I3(x,y) = I0(tx3(x,y),ty3(x,y)) …（１２）
I4(x,y) = I0(tx4(x,y),ty4(x,y)) …（１３）
歪みがなく、温度によるレンズの膨張がない場合、図８のように、第１の撮像信号I1(x,y)は、原点を(x01,y01)として、ｘ軸方向にH1画素、ｙ軸方向にV1画素だけ撮像信号I0を切り出した領域の画像を示す信号であり、第２の撮像信号I2(x,y)は、原点を(x02,y02)として、ｘ軸方向にH1画素、ｙ軸方向にV1画素だけ撮像信号I0を切り出した領域の画像を示す信号である。また、第３の撮像信号I3(x,y)は、原点を(x03,y03)として、ｘ軸方向にH1画素、ｙ軸方向にV1画素だけ撮像信号I0を切り出した領域の画像を示す信号であり、第４の撮像信号I4(x,y)は、原点を(x04,y04)として、ｘ軸方向にH1画素、ｙ軸方向にV1画素だけ撮像信号I0を切り出した領域の画像を示す信号である。
【００５８】
第１の中間バッファ１３５ａは、ＤＲＡＭなどから構成され、座標変換テーブルtx1(x,y)、ty1(x,y)を用いた座標変換により歪曲補正処理された第１の撮像信号I1を順次読み込み、H1*V1画素（ｘ軸方向にH1画素、ｙ軸方向にV1画素）のデータを保存する。第２の中間バッファ１３５ｂは、ＤＲＡＭなどから構成され、座標変換テーブルtx2(x,y)、ty2(x,y)を用いた座標変換により歪曲補正処理された第２の撮像信号I2を順次読み込み、H1*V1画素（ｘ軸方向にH1画素、ｙ軸方向にV1画素）のデータを保存する。また、第３の中間バッファ１３５ｃは、ＤＲＡＭなどから構成され、座標変換テーブルtx3(x,y)、ty3(x,y)を用いた座標変換により歪曲補正処理された第３の撮像信号I3を順次読み込み、H1*V1画素（ｘ軸方向にH1画素、ｙ軸方向にV1画素）のデータを保存する。さらに、第４の中間バッファ１３５ｄは、ＤＲＡＭなどから構成され、座標変換テーブルtx4(x,y)、ty4(x,y)を用いた座標変換により歪曲補正処理された第４の撮像信号I4を順次読み込み、H1*V1画素（ｘ軸方向にH1画素、ｙ軸方向にV1画素）のデータを保存する。
【００５９】
演算部１３６は、ＳＲＡＭ（Static Random Access Memory）から構成された第１の演算バッファ１４１ａ及び第２の演算バッファ１４１ｂと、ロジック回路やＣＰＵなどから構成された視差演算部１４２と、ロジック回路やＣＰＵなどから構成された距離演算部１４３とから構成される。演算部１３６は、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4をブロック単位で読み込み、これらの撮像信号を第１の演算バッファ１４１ａ及び第２の演算バッファ１４１ｂに保存する。そして、視差演算部１４２において第１の演算バッファ１４１ａ及び第２の演算バッファ１４１ｂのデータなどに基づき視差を演算し、この視差に基づき距離演算部１４３において距離を演算し、求められた距離データを出力バッファ１３７に転送する。この動作の詳細は、後述する。
【００６０】
出力バッファ１３７は、ＤＲＡＭなどから構成され、演算部１３６から転送された画像データと距離データとを保存し、入出力部１３８に順次転送する。
【００６１】
入出力部１３８は、上位ＣＰＵ（図示せず）との間で通信を行うとともに、上位ＣＰＵ、外部メモリ（図示せず）、及び液晶ディスプレイなどの外部表示装置（図示せず）に対して、画像データ及び距離データを出力する。
【００６２】
温度センサ信号入力部１３９ａは、ＡＤＣ（Analog Digital Converter：アナログ・デジタル変換器）などから構成され、温度センサ１２６からアナログ電圧信号である温度センサ信号の入力を受ける。そして、温度センサ信号入力部１３９ａは、入力されたアナログ信号をデジタル値に変換し、その値を温度値Thとして温度補償演算部１３９ｂに出力する。
【００６３】
温度補償演算部１３９ｂは、温度値Thに基づき、前処理部１３５にて利用される座標変換テーブルtx1(x,y)、ty1(x,y)、tx2(x,y)、ty2(x,y)、tx3(x,y)、ty3(x,y)、tx4(x,y)、ty4(x,y)を生成する。この座標変換テーブルを用いた変換処理により、各レンズ部１１３ａ〜１１３ｄの光軸の移動量が推定されることになる。以下、この座標変換テーブルの生成の詳細について説明する。
【００６４】
レンズアレイ１１３の温度が上昇した場合、各レンズ部１１３ａ〜１１３ｄが膨張するため、図２において矢印で示すように各レンズ部１１３ａ〜１１３ｄの光軸中心がレンズ外側に移動する。このレンズ膨張に伴う光軸間の間隔の変化は、下記式（１４）及び（１５）で表される。ここで、dbxは温度上昇に伴うレンズ部の光軸間の間隔のｘ軸方向の変化量であり、撮像素子１２３の画素間隔を単位とする。また、dbyは温度上昇に伴うレンズ部の光軸間の間隔のｙ軸方向の変化量であり、撮像素子１２３の画素間隔を単位とする。また、Dxは基準温度Th0におけるｘ軸方向のレンズ部の光軸間の間隔であり、aLはレンズ部１１３の熱線膨張率であり、aSは撮像素子１２３の熱線膨張率である。また、Thは前述のようにセンサ温度であり、Th0は基準温度であり、pは撮像素子１２３の画素間隔であり、Dyは基準温度Th0におけるｙ軸方向のレンズ部の光軸間の間隔である。
【００６５】
dbx = Dx × (aL - aS) × (Th - Th0) / p …（１４）
dby = Dy × (aL - aS) × (Th - Th0) / p …（１５）
レンズアレイ１１３は略円形であるため、温度上昇に伴い各レンズ部は等方的に膨張する。すなわち、図８に示すように、温度上昇に伴うレンズ部の光軸間の間隔の変化の半分（ｘ軸方向にdbx/2、ｙ軸方向にdby/2）だけ移動する。そこで、第１の撮像信号I1(x,y)用の変換テーブルtx1(x,y)及びty1(x,y)を下記式（１６）、（１７）及び（１８）のように生成する。ここで、(x01,y01)は撮像信号I0における歪みがないときの原点座標、(xc1,yc1)は撮像信号I1(x,y)における基準温度Th0での光軸中心座標、(-dbx/2,-dby/2)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（１８）における^2は二乗値を示す。また、第２の撮像信号I2(x,y)用の変換テーブルtx2(x,y)及びty2(x,y)を下記式（１９）、（２０）、及び（２１）のように生成する。ここで、(x02,y02)は撮像信号I0における歪みがないときの原点座標、(xc2,yc2)は撮像信号I2(x,y)における基準温度Th0での光軸中心座標、(+dbx/2,-dby/2)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（２１）における^2は二乗値を示す。また、第３の撮像信号I3(x,y)用の変換テーブルtx3(x,y)及びty3(x,y)を下記式（２２）、（２３）、及び（２４）のように生成する。ここで、(x03,y03)は撮像信号I0における歪みがないときの原点座標、(xc3,yc3)は撮像信号I3(x,y)における基準温度Th0での光軸中心座標、(-dbx/2,+dby/2)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（２４）における^2は二乗値を示す。さらに、第４の撮像信号I4(x,y)用の変換テーブルtx4(x,y)及びty4(x,y)を下記式（２５）、（２６）、及び（２７）のように生成する。ここで、(x04,y04)は撮像信号I0における歪みがないときの原点座標、(xc4,yc4)は撮像信号I4(x,y)における基準温度Th0での光軸中心座標、(+dbx/2,+dby/2)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（２７）における^2は二乗値を示す。
【００６６】
tx1(x,y) = x01 + xc1 + [x - xc1 - dbx/2]×(1 + kd2 × r2 + kd4 × r4)  …（１６）
ty1(x,y) = y01 + yc1 + [y - yc1 - dby/2]×(1 + kd2 × r2 + kd4 × r4)  …（１７）
r2 = [x - xc1 - dbx/2]^2+ [y - yc1 - dby/2]^2、r4 = r2^2   …（１８）
tx2(x,y) = x02 + xc2 + [x - xc2 + dbx/2]×(1 + kd2 × r2 + kd4 × r4)  …（１９）
ty2(x,y) = y02 + yc2 + [y - yc2 - dby/2]×(1 + kd2 × r2 + kd4 × r4)  …（２０）
r2 = [x - xc2 + dbx/2]^2+ [y - yc2 - dby/2]^2、r4 = r2^2   …（２１）
tx3(x,y) = x03 + xc3 + [x - xc3 - dbx/2]×(1 + kd2 × r2 + kd4 × r4)  …（２２）
ty3(x,y) = y03 + yc3 + [y - yc3 + dby/2]×(1 + kd2 × r2 + kd4 × r4)  …（２３）
r2 = [x - xc3 - dbx/2]^2+ [y - yc3 + dby/2]^2、r4 = r2^2   …（２４）
tx4(x,y) = x04 + xc4 + [x - xc4 + dbx/2]×(1 + kd2 × r2 + kd4 × r4)  …（２５）
ty4(x,y) = y04 + yc4 + [y - yc4 + dby/2]×(1 + kd2 × r2 + kd4 × r4)  …（２６）
r2 = [x - xc4 + dbx/2]^2+ [y - yc4 + dby/2]^2、r4 = r2^2   …（２７）
なお、歪みが生じない場合、上記の座標変換テーブルを用いてなされる座標変換は、下記式（２８）乃至（３１）のように、撮像信号I0(x,y)から画像を切り出し、その後、下記式（３２）乃至（３５）のように、平行移動を行うことに相当する。
【００６７】
I1(x, y) = I0(x + x01, y + y01) …（２８）
I2(x, y) = I0(x + x02, y + y02) …（２９）
I3(x, y) = I0(x + x03, y + y03) …（３０）
I4(x, y) = I0(x + x04, y + y04) …（３１）
I1(x, y) = I1(x-dbx/2, y-dby/2) …（３２）
I2(x, y) = I2(x+dbx/2, y-dby/2) …（３３）
I3(x, y) = I3(y-dbx/2, x+dby/2) …（３４）
I4(x, y) = I4(x+dbx/2, y+dby/2) …（３５）
図９Ａは、本発明の実施の形態１に係る撮像装置の動作を示すフローチャートである。ＳＬＳＩ１２５のシステム制御部１３１により、撮像装置１０１は、このフローチャートのとおりに動作される。
【００６８】
ステップＳ１０１０において、撮像装置１０１は動作を開始する。例えば、上位ＣＰＵ（図示せず）が、入出力部１３６を介し、撮像装置１０１に動作の開始を命令することにより、撮像装置１０１は、動作を開始する。次に、ステップＳ１０２０を実行する。
【００６９】
ステップＳ１０２０において、撮像信号を入力する。システム制御部１３１の命令により、撮像素子駆動部１３２が電子シャッターの動作及び撮像信号の転送を行うための信号を随時出力する。その結果、ｘ軸方向にH0画素分、ｙ軸方向にV0画素分の撮像信号I0(x,y)が撮像信号入力部１３３に入力される。この場合、撮像信号入力部１３３には、撮像信号I0(x,y)がI0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0-1)の順に入力され、順次、これらの信号が入力バッファ１３４に転送される。次に、ステップＳ１０３０を実行する。
【００７０】
ステップＳ１０３０において、温度センサ信号入力部１３９ａは、温度センサ１２６から温度センサ信号の入力を受け、これをデジタル値に変換して温度値Thとして温度補償演算部１３９ａに出力する。次に、ステップＳ１０４０を実行する。
【００７１】
ステップＳ１０４０において、温度補償演算部１３９ｂは、前述のようにして、温度値Thに基づき、前処理部１３５で用いられる座標変換テーブルtx1(x,y)、ty1(x,y)、tx2(x,y)、ty2(x,y)、tx3(x,y)、ty3(x,y)、tx4(x,y)、ty4(x,y)を生成する。次に、ステップＳ１０５０を実行する。
【００７２】
ステップＳ１０５０において、前処理演算部１３５ｅは、前述のようにして、入力バッファ１３４に保存された撮像信号I0から各レンズ部により結像された被写体像に係る画像を切り出し、平行移動処理（温度上昇に伴うレンズ部の光軸間の間隔の変化の半分（ｘ軸方向にdbx/2、ｙ軸方向にdby/2）だけ光軸がレンズアレイ１１３の外側に平行移動するように座標変換テーブルを補償することにより実現される平行移動処理）と、歪曲補正とを行い、第１のレンズ部１１３ａに対応する第１の撮像信号I1(x,y)、第２のレンズ部１１３ｂに対応する第２の撮像信号I2(x,y)、第３のレンズ部１１３ｃに対応する第３の撮像信号I3(x,y)、および第４のレンズ部１１３ｄに対応する第４の撮像信号I4(x,y)を生成する。これらの撮像信号はそれぞれ第１の中間バッファ１３５ａ、第２の中間バッファ１３５ｂ、第３の中間バッファ１３５ｃ、および第４の中間バッファ１３５ｄに転送され、保存される。
【００７３】
ここで、温度補償により歪曲補正の精度が向上することを説明する。図９Ｂは、平行移動処理と歪曲補正処理との前後の撮像信号を示す図である。図９Ｂにおいては、中央部の十字が太く表された格子が描画された平面板である被写体を撮像したときの撮像信号（画像）を示している。簡略化のため、第１の撮像信号の被写体像のみ示し、第２乃至第４の撮像信号の被写体像を省略している。ここで、撮像装置１０１は、この平面板に正対させ、第１のレンズ部１１３ａの光軸上に中央部の十字の交点が位置するように配置する。図９Ｂ（ａ）は、基準温度における撮像信号を示す図であり、図９Ｂ（ｂ）は、平行移動処理と歪曲補正処理とを行わないときの第１の撮像信号を示す図である。図９Ｂ（ｂ）に示すように、基準温度のとき、中央に太い十字が位置する。図９Ｂ（ｃ）は、平行移動処理を行わず歪曲補正処理を行うときの第１の撮像信号を示す図である。図９Ｂ（ｃ）に示すように、歪曲補正により、格子が再現される。図９Ｂ（ｄ）は、基準温度よりも温度が高いときにおける撮像信号を示す図であり、図９Ｂ（ｅ）は、平行移動処理と歪曲補正処理とを行わないときの第１の撮像信号を示す図である。図９Ｂ（ｅ）に示すように、基準温度より温度が高いときには、第１のレンズ部１１３ａの光軸が左上に移動するに伴い被写体像が左上に移動するため、中央よりも左上に太い十字の交点が移動する。図９Ｂ（ｆ）は、平行移動処理を行わず歪曲補正処理を行うときの第１の撮像信号を示す図である。図９Ｂ（ｆ）に示すように、歪曲補正の光軸中心と歪曲の中心とがずれるため、格子が完全には再現されず、歪みが残る。図９Ｂ（ｇ）は、基準温度よりも温度が高いときにおける撮像信号を示す図であり、図９Ｂ（ｈ）は、平行移動処理を行い、歪曲補正処理を行わないときの第１の撮像信号を示す図である。図９Ｂ（ｈ）に示すように、基準温度より温度が高いのとき、第１のレンズ部１１３ａの光軸が左上に移動するに伴い被写体像が左上に移動するが、平行移動処理により左上への移動が補償され、中央に太い十字の交点が位置する。図９Ｂ（ｉ）は、平行移動処理と歪曲補正処理とを行うときの第１の撮像信号を示す図である。図９Ｂ（ｉ）に示すように、歪曲補正の光軸中心と歪曲の中心とが一致するため、格子が再現される。このように、温度が高くなると光軸原点が外側に平行移動するように座標変換テーブルを設定し平行移動を行うことにより、歪曲の補正精度を向上し、ひいては、視差演算精度を向上し、測距演算精度を向上する。
【００７４】
次に、温度補償により被写体像が動かないことを説明する。図９Ｃは、平行移動処理の前後の撮像信号（画像）を示す図である。図９Ｃにおいて、説明を簡単にするために、各レンズ部（第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄ）が歪曲を持たず、それゆえ歪曲補正を行わないときの撮像信号を示す。図９Ｃにおいて、撮像装置１０１を車両前方に配置し、車両前方の被写体として車線のみが撮像されたときの撮像信号を示している。図９Ｃ（ａ）は、基準温度における撮像信号を示す図であり、図９Ｃ（ｂ）は、平行移動処理を行わないときの第１の撮像信号を示す図である。図９Ｃ（ｂ）に示すように、基準温度のとき、中央に被写体が位置する。図９Ｃ（ｄ）は、基準温度よりも温度が高いときにおける撮像信号を示す図であり、図９Ｃ（ｅ）は、平行移動処理を行わないときの第１の撮像信号を示す図である。図９Ｃ（ｅ）のように、基準温度より温度が高いときには、第１のレンズ部１１３ａの光軸が左上に移動するに伴い被写体像が左上に移動する。図９Ｃ（ｇ）は、基準温度よりも温度が高いときにおける撮像信号を示す図であり、図９Ｃ（ｈ）は、平行移動処理を行うときの第１の撮像信号を示す図である。図９Ｃ（ｈ）に示すように、基準温度より温度が高いとき、第１のレンズ部１１３ａの光軸が左上に移動するに伴い被写体像が左上に移動するが、平行移動処理により左上への移動が補償され、中央に被写体が位置する。このように、温度が高くなると光軸原点が外側に平行移動するように座標変換テーブルを設定し平行移動を行うことにより、被写体の画像中心の移動を抑制する。次に、ステップＳ１１００を実行する。
【００７５】
ステップＳ１１００において、演算部１３６が、距離データを生成し、順次、第２の出力バッファ１３７ｂに転送する。この動作の詳細は後述する。また、演算部１３６は、距離データの他に画像データを生成し、順次、第１の出力バッファ１３７ａに転送する。次に、ステップＳ１９１０を実行する。
【００７６】
ステップＳ１９１０において、外部にデータを出力する。入出力部１３８は、第１の出力バッファ１３７ａ上の画像データ、および第２の出力バッファ１３７ｂ上の距離データを、上位ＣＰＵ及び外部表示装置に出力する。次に、ステップＳ１９２０を実行する。
【００７７】
ステップＳ１９２０において、動作を終了するかどうかを判断する。例えば、システム制御部１３１は、入出力部１３６を介し、上位ＣＰＵと通信し、動作を終了するかどうかの命令を要求する。そして、上位ＣＰＵが終了を命令した場合（Ｓ１９２０でＹＥＳ）、撮像装置１０１はステップＳ１９３０へ進み、動作を終了する。一方、上位ＣＰＵが終了を命令しなかった場合（Ｓ１９２０でＮＯ）、撮像装置１０１は、動作を継続し、次に、ステップＳ１０２０を実行する。すなわち、上位ＣＰＵが終了を命令しない限り、ステップＳ１０２０、ステップＳ１０３０、ステップＳ１０４０、ステップＳ１０５０、ステップＳ１１００、およびステップＳ１９１０のループの実行が継続される。
【００７８】
次に、ステップＳ１１００における動作の詳細を説明する。図１０は、本発明の実施の形態１に係る撮像装置の演算部の動作を示すフローチャートである。図１０のフローチャートは、ステップＳ１１００の動作の詳細を示す。ステップＳ１１００の演算では、まず、ステップＳ１２１０を実行する。
【００７９】
ステップＳ１２１０において、演算の動作を開始する。次に、ステップＳ１２２０を実行する。
【００８０】
ステップＳ１２２０において、第１の撮像信号と第２の撮像信号とを利用した視差演算を実行する。図１１は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算の動作を示すフローチャートである。図１１のフローチャートは、ステップＳ１２２０の動作の詳細を示す。ステップＳ１２２０の演算では、まず、ステップＳ１３１０を実行する。
【００８１】
ステップＳ１３１０において、第１の撮像信号と第２の撮像信号とを利用した視差演算の動作を開始する。次に、ステップＳ１３２０を実行する。
【００８２】
ステップＳ１３２０において、ブロックインデックスｉｂを０に初期化する。次に、ステップＳ１３３０を実行する。
【００８３】
ステップＳ１３３０において、ブロックを選択する。図１２は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第１の撮像信号の分割ブロック及び演算順番を説明するための図であり、図１３は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第２の撮像信号の分割ブロック及び演算順番を説明するための図である。
【００８４】
図１２に示すように、第１の撮像信号Ｉ１は、ｘ軸方向にＨＢ画素、ｙ軸方向にＶＢ画素の長方形状のブロックに分割される。各ブロックは、ｘ軸方向にＨＢ画素、ｙ軸方向にＶＢ画素ずれて配置されるため、各ブロックはｘ軸方向、ｙ軸方向ともに重なる部分はない。その結果、第１の撮像信号Ｉ１は、ｘ軸方向にＮｈ個、ｙ軸方向にＮｖ個のブロックを持つことになる。
【００８５】
第２の撮像信号Ｉ２は、図１３（ｂ）に示すようなｘ軸方向に（ＨＢ＋ＳＢ）画素、ｙ軸方向にＶＢ画素の長方形状のブロックに分割される。各ブロックは、ｘ軸方向にＨＢ画素、ｙ軸方向にＶＢ画素ずれて配置されるため、ｘ軸方向では隣のブロックと重なるものの、ｙ軸方向では隣のブロックと重ならない。その結果、図１３（ａ）に示すように、第２の撮像信号Ｉ２は、ｘ軸方向にＮｈ個、ｙ軸方向にＮｖ個のブロックを持つことになる。なお、図面の右側のブロックにおいてｘ軸方向に（ＨＢ＋ＳＢ）画素が取れない場合、適宜ｘ軸方向の右端部が削除される。以下では、ＨＢ＝３２、ＶＢ＝３２の場合の例を示す。
【００８６】
図１２及び図１３において、各ブロックの上段に記述された数字はブロックインデックスｉｂを示す。また、図１２及び図１３において、各ブロックの下段に記述された座標（ｉｂｘ、ｉｂｙ）は、各ブロックがｘ軸方向にｉｂｘ番目、ｙ軸方向にｉｂｙ番目のブロックであることを示す。ここで、ｉｂｘは０からＮｈ−１まで、ｉｂｙは０からＶｈ−１まで存在する。ステップＳ１３３０においては、図１２及び図１３でブロックインデックスｉｂにより示されるブロックB(ib)（座標（ｉｂｘ、ｉｂｙ）で示されるブロックB(ibx,iby)）が選択される。次に、ステップＳ１３４０を実行する。
【００８７】
ステップＳ１３４０において、撮像信号を転送する。より具体的には、ステップＳ１３３０において選択されたブロックB(ibx,iby)に該当する座標の第１の撮像信号I1を式（９）に従い演算し、その結果得られた信号を第１の演算バッファ１４１ａに転送する。第１の演算バッファ１４１ａの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。
【００８８】
また、ステップＳ１３３０において選択されたブロックB(ibx,iby)に該当する座標の第２の撮像信号I2を式（１１）に従い演算し、その結果得られた信号を第２の演算バッファ１４１ｂに転送する。第２の演算バッファ１４１ｂの座標(x,y)における値をBc2(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31+SB、y=0〜31である。
【００８９】
例えば、ｉｂ＝０のとき、第１の演算バッファ１４１ａには、座標(0,0)と座標(31,31)とで囲まれる1024画素の撮像信号I1が転送され、第２の演算バッファ１４１ｂには、図１３において右斜上となる斜線が描かれた座標(0,0)と座標(31+SB,31)とで囲まれる(1024+32*SB)画素の撮像信号I2が転送される。
【００９０】
次に、ｉｂ＝１のとき、第１の演算バッファ１４１ａには、座標(32,0)と座標(63,31)とで囲まれる1024画素の撮像信号I1が転送される。またこの場合、第２の演算バッファ１４１ｂには、図１３において右斜下となる斜線が描かれた座標(32,0)と座標(63+SB,31)とで囲まれる(1024+32*SB)画素の撮像信号I2が必要となるが、ｉｂ＝０と重なる部分（座標(32,0)と座標(31+SB,31)とで囲まれる32*SB画素の領域）はすでに第２の演算バッファ１４１ｂに転送されているため、新たに座標(32+SB,0)と座標(63+SB,31)とで囲まれる1024画素のみを転送すればよい。なお、適宜、出力用の画像データとして、第１の出力バッファ１３７ａにも転送する。次に、ステップＳ１３５０を実行する。
【００９１】
ステップＳ１３５０において、視差演算を実行する。まず、視差評価値R(kx)を演算する。ここで、ｋｘは画像をどれだけずらすかを示すずらし量であり、kx=0、1、2、…、SBのように変化させる。図１４は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差評価値の演算領域を説明するための図である。図１４のように、Bc1で示される領域は、第１の演算バッファ１４１ａの領域であり、Bc2で示される領域は、第２の演算バッファ１４１ｂにおいて、Bc1で示されるブロックからｘ軸方向にずらし量ｋｘだけ移動した領域である。そして、ずらし量kx=0からSBについて、下記式（３６）に示される絶対値差分総和(SAD：Sum of Absolute Differences)を演算し、視差評価値R(kx)とする。ここで、ΣΣはｘ軸方向及びｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。
【００９２】
R(kx) = ΣΣ|Bc1(x,y) - Bc2(x+k,y)| …（３６）
この視差評価値R(kx)は、第１の演算バッファ１４１ａのデータBc1と、ｘ軸方向にｋｘだけ離れた領域における第２の演算バッファ１４１ｂのデータBc2とがどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。ここで、第１の演算バッファ１４１ａのデータBc1は、第１の撮像信号I1を転送したものであり、第２の演算バッファ１４１ｂのデータBc2は、第２の撮像信号I2を転送したものであるため、視差評価値R(kx)は、第１の撮像信号I1と対応する第２の撮像信号I2とがどれだけ相関があるかを示すことになる。
【００９３】
図１５は、本発明の実施の形態１に係る撮像装置の第１の撮像信号及び第２の撮像信号を利用したときの視差演算における視差と視差評価値との関係を説明するための図である。図１５のように、視差評価値R(kx)はずらし量ｋxの値によって変化し、ずらし量ｋｘ＝Δのとき極小値を持つ。第１の演算バッファ１４１ａのデータBc1は、当該データBc1をｘ軸方向にΔだけ移動した領域に存在する第２の演算バッファ１４１ｂのデータBc2と最も相関がある（最も似ている）ことを示す。したがって、第１の演算バッファ１４１ａのデータBc1と第２の演算バッファ１４１ｂのデータBc2とのｘ軸方向の視差がΔであることが分かる。そして、このときの視差Δを、第１の撮像信号及び第２の撮像信号を利用したときのブロックB(ibx,iby)における視差値Δ12(ibx,iby)として保存する。
【００９４】
次に、第１の撮像信号と第２の撮像信号を利用したときのブロックB(ibx,iby)における視差値Δ12(ibx,iby)の信頼度を演算する。図１６は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号とを利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。データBc1は第１の演算バッファ１４１ａの領域内に格納されたデータである。また、データBc2は、データBc1をｘ軸方向にΔ12(ibx,iby)だけ移動した第２の演算バッファ１４１ｂにおけるデータである。そして、下記式（３７）のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ12(ibx,iby),y)について、正規化相関係数を、第１の撮像信号及び第２の撮像信号を利用したときのブロックB(ibx,iby)における信頼度E12(ibx,iby)とする。ΣΣはｘ軸方向及びｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。次に、ステップＳ１３６０を実行する。
【００９５】
E12(ibx,iby) = ΣΣ(Bc1(x,y)-avg1)(Bc2(x+Δ12(ibx,iby),y)-avg2)
/ ΣΣ(Bc1(x,y)-avg1)(Bc1(x,y)-avg1)
/ ΣΣ(Bc2(x+Δ12(ibx,iby),y)-avg2)(Bc2(x+Δ12(ibx,iby),y)-avg2)
avg1 = ΣΣBc1(x,y)/(HB*VB)
avg2 = ΣΣBc2(x+Δ12(ibx,iby),y)/(HB*VB) …（３７）
ステップＳ１３６０において、ブロックインデックスｉｂに１を加える。次に、ステップＳ１３７０を実行する。
【００９６】
ステップＳ１３７０において、第１の撮像信号と第２の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスｉｂがNh*Nv未満のとき（Ｓ１３７０でＮＯ）、次のブロックの視差を演算するために、ステップＳ１３３０に戻る。一方、ブロックインデックスｉｂがNh*Nv以上のとき（Ｓ１３７０でＹＥＳ）、全てのブロックの視差を演算したと判断し、次に、ステップＳ１３８０を実行する。
【００９７】
ステップＳ１３８０において、第１の撮像信号と第２の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。
【００９８】
このようにして、第１の撮像信号と第２の撮像信号とを利用した視差演算において、ブロックインデックスｉｂで示される３２ｘ３２画素のブロックB(ibx,iby)について、視差値Δ12(ibx,iby)とその信頼度E12(ibx,iby)とが求められた。ここで、12は第１の撮像信号と第２の撮像信号とを利用していることを示し、(ibx,iby)は図１２において各ブロックの下段に示される座標を示す（ｉｂｘは０からＮｈ−１まで、ｉｂｙはＶｈ−１まで変化する）。次に、図１０のステップＳ１２３０を実行する。
【００９９】
ステップＳ１２３０において、第１の撮像信号と第３の撮像信号とを利用した視差演算を実行する。図１７は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用した視差演算の動作を示すフローチャートである。図１７のフローチャートは、ステップＳ１２３０の動作の詳細を示す。ステップＳ１２３０の演算では、まず、ステップＳ１４１０を実行する。
【０１００】
ステップＳ１４１０において、第１の撮像信号と第３の撮像信号とを利用した視差演算の動作を開始する。次に、ステップＳ１４２０を実行する。
【０１０１】
ステップＳ１４２０において、ブロックインデックスｉｂを０に初期化する。次に、ステップＳ１４３０を実行する。
【０１０２】
ステップＳ１４３０において、ブロックを選択する。第１の撮像信号のブロック分割は、ステップＳ１３３０と同様であり、説明を省略する。図１８は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用した視差演算における第３の撮像信号の分割ブロックと演算順番を説明するための図である。第３の撮像信号Ｉ３は、ｘ軸方向にＨＢ画素、図１８（ｂ）に示すようにｙ軸方向に（ＶＢ＋ＳＢ）画素の長方形状のブロックに分割される。各ブロックは、ｘ軸方向にＨＢ画素、ｙ軸方向にＶＢ画素ずれて配置されるため、ｙ軸方向では隣のブロックと重なるものの、ｘ軸方向では隣のブロックと重ならない。その結果、図１８（ａ）に示すように、第３の撮像信号Ｉ３は、ｘ軸方向にＮｈ個、ｙ軸方向にＮｖ個のブロックを持つことになる。なお、図面の下側のブロックにおいてｙ軸方向に（ＶＢ＋ＳＢ）画素を取れないブロックは、適宜ｙ軸方向の下端部が削除される。以下では、ＨＢ＝３２、ＶＢ＝３２の場合の例を示す。
【０１０３】
図１８において、各ブロックの上段に記述された数字はブロックインデックスｉｂを示す。また、図１８において、各ブロックの下段に記述された座標（ｉｂｘ、ｉｂｙ）は、各ブロックがｘ軸方向にｉｂｘ番目、ｙ軸方向にｉｂｙ番目のブロックであることを示す。ここで、ｉｂｘは０からＮｈ−１まで、ｉｂｙは０からＶｈ−１まで存在する。ステップＳ１４３０において、図１２及び図１８においてブロックインデックスｉｂで示されるブロックB(ib)（座標（ｉｂｘ、ｉｂｙ）で示されるブロックB(ibx,iby)）が選択される。次に、ステップＳ１４４０を実行する。
【０１０４】
ステップＳ１４４０において、撮像信号を転送する。より具体的には、ステップＳ１４３０において選択されたブロックB(ibx,iby)に該当する座標の第１の撮像信号I1を式（９）に従い演算し、その結果得られた信号を第１の演算バッファBc1に転送する。第１の演算バッファ１４１ａの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。
【０１０５】
また、ステップＳ１４３０において選択されたブロックB(ibx,iby)に該当する座標の第３の撮像信号I3を式（１２）に従い演算し、その結果得られた第２の演算バッファ１４１ｂに転送する。第２の演算バッファ１４１ｂの座標(x,y)における値をBc2(x,y)とする。
ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31+SBである。
【０１０６】
例えば、ｉｂ＝０のとき、第１の演算バッファ１４１ａには、座標(0,0)と座標(31,31)とで囲まれる1024画素の撮像信号I1が転送され、第２の演算バッファ１４１ｂには、図１８において右斜上となる斜線が描かれた座標(0,0)と座標(31,31+SB)とで囲まれる(1024+32*SB)画素の撮像信号I2が転送される。
【０１０７】
次に、ｉｂ＝１のとき、第１の演算バッファ１４１ａには、座標(0,32)と座標(31,63)とで囲まれる1024画素の撮像信号I1が転送される。またこの場合、第２の演算バッファ１４１ｂには、図１８において右斜下となる斜線が描かれた座標(0,32)と座標(31,63+SB)とで囲まれる(1024+32*SB)画素の撮像信号I2が必要となるが、ｉｂ＝０と重なる部分（座標(0,32)と座標(31,31+SB)で囲まれる32*SB画素の領域）はすでに第２の演算バッファ１４１ａに転送されているため、新たに座標(0,32+SB)と座標(31,63+SB)とで囲まれる1024画素のみを転送すればよい。次に、ステップＳ１４５０を実行する。
【０１０８】
ステップＳ１４５０において、視差演算を実行する。まず、視差評価値R(ky)を演算する。ここで、ｋｙは画像をどれだけずらすかを示すずらし量であり、ky=0、1、2、…、SBのように変化させる。図１９は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第３の撮像信号とを利用したときの視差評価値の演算領域を説明するための図である。図１９のように、Bc1で示される領域は、第１の演算バッファ１４１ａの領域であり、Bc2で示される領域は、第２の演算バッファ１４１ｂにおいて、Bc1で示されるブロックからｙ軸方向にずらし量ｋｙだけ移動した領域である。そして、ずらし量ky=0からSBについて、下記式（３８）に示される絶対値差分総和を演算し、視差評価値R(ky)とする。ここで、ΣΣはｘ軸方向及びｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。
【０１０９】
R(ky) = ΣΣ|Bc1(x,y) -Bc2(x,y+k)| …（３８）
この視差評価値R(ky)は、第１の演算バッファ１４１ａのデータBc1と、ｙ軸方向にｋｙだけ離れた領域における第２の演算バッファ１４１ｂのデータBc2とがどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。ここで、第１の演算バッファ１４１ａのデータBc1は、第１の撮像信号I1を転送したものであり、第２の演算バッファ１４１ｂのデータBc2は、第３の撮像信号I3を転送したものであるため、視差評価値R(ky)は、第１の撮像信号I1と対応する第３の撮像信号I3とがどれだけ相関があるかを示すことになる。
【０１１０】
図２０は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用したときの視差演算における視差と視差評価値との関係を説明するための図である。図２０のように、視差評価値R(ky)はずらし量ｋｙの値によって変化し、ずらし量ｋｙ＝Δのとき極小値を持つ。第１の演算バッファ１４１ａのデータBc1のデータは、当該データBc1をｙ軸方向にΔだけ移動した領域に存在する第２の演算バッファ１４１ｂのデータBc2と最も相関がある（最も似ている）ことを示す。したがって、第１の演算バッファ１４１ａのデータBc1と第２の演算バッファ１４１ｂのデータBc2とのｙ軸方向の視差がΔであることが分かる。そして、このときの視差Δを第１の撮像信号及び第３の撮像信号を利用したときのブロックB(ibx,iby)における視差値Δ13(ibx,iby)として保存する。
【０１１１】
次に、第１の撮像信号と第３の撮像信号を利用したときのブロックB(ibx,iby)における視差値Δ13(ibx,iby)の信頼度を演算する。図２１は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第３の撮像信号とを利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。Bc1で示される領域は第１の演算バッファ１４１ａの領域であり、Bc2で示される領域は、第２の演算バッファ１４１ｂにおいてｙ軸方向にΔ13(ibx,iby)だけ移動した領域である。そして、下記式（３９）のように、それぞれの領域のデータBc1(x,y)、Bc2(x,y+Δ13(ibx,iby))について、正規化相関係数を第１の撮像信号と第３の撮像信号を利用したときのブロックB(ibx,iby)における信頼度E13(ibx,iby)とする。ΣΣはｘ軸方向及びｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。次に、ステップＳ１４６０を実行する。
【０１１２】
E13(ibx,iby) = ΣΣ(Bc1(x,y)-avg1)(Bc2(x,y+Δ13(ibx,iby))-avg2)
/ ΣΣ(Bc1(x,y)-avg1)(Bc1(x,y)-avg1)
/ ΣΣ(Bc2(x,yΔ13(ibx,iby))-avg2)(Bc2(x,y+Δ13(ibx,iby))-avg2)
avg1 = ΣΣBc1(x,y)/(HB*VB)
avg2 = ΣΣBc2(x,y+Δ13(ibx,iby))/(HB*VB) …（３９）
ステップＳ１４６０において、ブロックインデックスｉｂに１を加える。次に、ステップＳ１４７０を実行する。
【０１１３】
ステップＳ１４７０において、第１の撮像信号と第３の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスｉｂがNh*Nv未満のとき（Ｓ１４７０でＮＯ）、次のブロックの視差を演算するために、ステップＳ１４３０に戻る。一方、ブロックインデックスｉｂがNh*Nv以上のとき（Ｓ１４７０でＹＥＳ）、全てのブロックの視差を演算したと判断し、ステップＳ１４８０に進む。
【０１１４】
ステップＳ１４８０において、第１の撮像信号と第３の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。このようにして、第１の撮像信号と第３の撮像信号とを利用した視差演算において、ブロックインデックスｉｂで示される３２ｘ３２画素のブロックB(ibx,iby)について、視差量Δ13(ibx,iby)とその信頼度E13(ibx,iby)とが求められた。ここで、13は第１の撮像信号と第３の撮像信号とを利用していることを示し、(ibx,iby)は図１２において各ブロックの下段に示される座標を示す（ｉｂｘは０からＮｈ−１まで、ｉｂｙはＶｈ−１まで変化する）。次に、図１０のステップＳ１２４０を実行する。
【０１１５】
ステップＳ１２４０において、第１の撮像信号と第４の撮像信号とを利用した視差演算を実行する。図２２は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算の動作を示すフローチャートである。図２２のフローチャートは、ステップＳ１２４０の動作の詳細を示す。ステップＳ１２４０の演算では、まず、ステップＳ１５１０を実行する。
【０１１６】
ステップＳ１５１０において、第１の撮像信号と第４の撮像信号とを利用した視差演算の動作を開始する。次に、ステップＳ１５２０を実行する。
【０１１７】
ステップＳ１５２０において、ブロックインデックスｉｂを０に初期化する。次に、ステップＳ１５３０を実行する。
【０１１８】
ステップＳ１５３０において、ブロックを選択する。第１の撮像信号のブロック分割は、ステップＳ１３２０と同様であり、説明を省略する。図２３は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算における第４の撮像信号の分割ブロックと演算順番を説明するための図である。図２３おいて、第４の撮像信号Ｉ４は、図２３（ｂ）のような(HB+SB)*(VB+SB＊Dy/Dx)-SB*SB*Dy/Dx画素のブロックに分割され、ｘ軸方向にＨＢ画素、ｙ軸方向にＶＢ画素ずれて配置され、ｘ軸方向にＮｈ個、ｙ軸方向にＮｖ個のブロックを持つ。また、図２３において、図２３（ｂ）のようなブロックを取れないブロック（例えば、右上や右下や左下のブロック）は、適宜取れない部分が削除される（例えば、右上のブロックはＨＢ＊ＶＢの長方形状のブロックとなる）。なお、実施の形態１では、以下、ＨＢ＝３２、ＶＢ＝３２の例を示す。また、第４の撮像信号Ｉ４のブロックの長さがｘ軸方向とｙ軸方向とで異なるように設定したが、これは、レンズ間隔がｘ軸方向とｙ軸方向とで異なり、視差の発生する大きさの比がＤｘ：Ｄｙとなることを考慮したためである。
【０１１９】
図２３において、各ブロックの上段に記述された数字はブロックインデックスｉｂを示す。また、図２３において、各ブロックの下段に記述された座標（ｉｂｘ、ｉｂｙ）は、各ブロックがｘ軸方向にｉｂｘ番目、ｙ軸方向にｉｂｙ番目のブロックであることを示す。ここで、ｉｂｘは０からＮｈ−１まで、ｉｂｙは０からＶｈ−１まで存在する。ステップＳ１５３０において、図２３でブロックインデックスｉｂで示されるブロックB(ib)（座標（ｉｂｘ、ｉｂｙ）で示されるブロックB(ibx,iby)）が選択される。次に、ステップＳ１５４０を実行する。
【０１２０】
ステップＳ１５４０において、撮像信号を転送する。より具体的には、ステップＳ１５３０において選択されたブロックB(ibx,iby)に該当する座標の第１の撮像信号I1を式（９）に従い演算し、その結果得られた信号を第１の演算バッファ１４１ａに転送する。第１の演算バッファ１４１ａの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。
【０１２１】
また、ステップＳ１５３０において選択されたブロックB(ibx,iby)に該当する座標の第４の撮像信号I4を式（１３）に従い演算し、第２の演算バッファ１４１ｂに転送する。第２の演算バッファ１４１ｂの座標(x,y)における値をBc2(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31+SB、y=0〜31+SB＊Dy/Dxである。
【０１２２】
例えば、ｉｂ＝０のとき、第１の演算バッファ１４１ａには、座標(0,0)と座標(31,31)とで囲まれる1024画素の撮像信号I1が転送され、第２の演算バッファ１４１ｂには、図２３において右斜下となる斜線が描かれた座標(0,0)と座標(31+SB,31+SB*Dy/Dx)とで囲まれる領域の撮像信号I4が転送される。
【０１２３】
また、ｉｂ＝１のとき、第１の演算バッファ１４１ａには、座標(32,0)と座標(63,31)とで囲まれる1024画素の撮像信号I1が転送される。またこの場合、第２の演算バッファ１４１ｂには、図２３において右斜下となる斜線が描かれた座標(32,0)と座標(63+SB,31+SB*Dy/Dx)とで囲まれる領域の撮像信号I4が必要となるが、ｉｂ＝０と重なる部分はすでに第２の演算バッファ１４１ｂに転送されているため、重複部分は転送しなくてもよい。次に、ステップＳ１５５０を実行する。
【０１２４】
ステップＳ１５５０において、視差演算を実行する。まず、視差評価値R(kx)を演算する。ここで、ｋｘは画像をどれだけずらすかを示すずらし量であり、kx=0、1、2、・・・、SBのように変化させる。図２４は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第４の撮像信号とを利用したときの視差評価値の演算領域を説明するための図である。図２４のように、Bc1で示される領域は、第１の演算バッファ１４１ａの領域であり、Bc2で示される領域は、第２の演算バッファ１４１ｂにおいて、Bc1で示されるブロックからｘ軸方向にｋｘだけｙ軸方向にずらし量ｋｙだけ移動した領域である。そして、ずらし量kx=0からSBについて、下記式（４０）に示される絶対値差分総和(SAD。Sum of Absolute Differences)を演算し、視差評価値R(ky)とする。ここで、ΣΣはｘ軸方向とｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。なお、第１の撮像信号Ｉ１を結像するレンズ部１１３ａと第４の撮像信号を結像するレンズ部１１３ｄとがｘ軸方向にＤｘだけｙ軸方向にＤｙだけ離れて配置され、発生する視差のｘ軸方向に対するｙ軸方向の比がDy/Dxとなるため、ｙ軸方向のずらし量ｋｙは下記式（４１）のように、ｘ軸方向のずらし量にＤｙ／Ｄｘを乗じた値とする。
【０１２５】
R(k) = ΣΣ|Bc1(x,y) - Bc2(x+kx,y+ky)| …（４０）
ky = kx * Dy / Dx …（４１）
この視差評価値R(kx)は、第１の演算バッファ１４１ａのデータBc1と、ｘ軸方向にｋｘだけｙ軸方向にｋｙだけ離れた領域における第２の演算バッファ１４１ｂのデータBc2と
がどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。ここで、第１の演算バッファ１４１ａのデータBc1は、第１の撮像信号I1を転送したものであり、第２の演算バッファ１４１ｂのデータBc2は、第４の撮像信号I4を転送したものであるため、視差評価値R(kx)は、第１の撮像信号I1と対応する第４の撮像信号I4とがどれだけ相関があるかを示すことになる。
【０１２６】
図２５は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用したときの視差演算における視差と視差評価値との関係を説明するための図である。図２５のように、視差評価値R(kx)はずらし量ｋxの値によって変化し、ずらし量ｋx＝Δのとき極小値を持つ。第１の演算バッファ１４１ａのデータBc1は、当該データBc1をｘ軸方向にΔだけｙ軸方向にΔ×Dy/Dxだけ移動した領域に存在する第２の演算バッファ１４１ｂのデータBc2と最も相関がある（最も似ている）ことを示す。したがって、第１の演算バッファ１４１ａのデータBc1と第２の演算バッファ１４１ｂのデータBc2とのｘ軸方向の視差がΔである（ｙ軸方向の視差がΔ×Dy/Dxである）ことが分かる。そして、このときの視差Δを第１の撮像信号と第４の撮像信号とを利用したときのブロックB(ibx,iby)における視差値Δ14(ibx,iby)として保存する。
【０１２７】
次に、第１の撮像信号と第４の撮像信号を利用したときのブロックB(ibx,iby)における視差値Δ14(ibx,iby)の信頼度を演算する。図２６は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第４の撮像信号とを利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。データBc1は、第１の演算バッファ１４１ａの領域内に格納されたデータである。また、データBc2は、データBc1をｘ軸方向にΔ14(ibx,iby)だけｙ軸方向にΔ14(ibx,iby)×Dy/Dxだけ移動した第２の演算バッファ１４１ｂにおけるデータである。そして、下記式（４２）のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ14(ibx,iby),y+Δ14(ibx,iby)×Dy/Dx)について、正規化相関係数を第１の撮像信号と第４の撮像信号とを利用したときのブロックB(ibx,iby)における信頼度E14(ibx,iby)とする。ΣΣはｘ軸方向とｙ軸方向の総和を示し、ｘ軸方向に０〜ＨＢ−１（ここでは３１）、ｙ軸方向に０〜ＶＢ−１（ここでは３１）まで変化させる。次に、ステップＳ１５６０を実行する。
【０１２８】
E14(ibx,iby)
= ΣΣ(Bc1(x,y)-avg1)(Bc2(xΔ14(ibx,iby),y+Δ14(ibx,iby)*Dy/Dx)-avg2)
/ ΣΣ(Bc1(x,y)-avg1)(Bc1(x,y)-avg1)
/ ΣΣ(Bc2(x+Δ14(ibx,iby),y+Δ14(ibx,iby)*Dy/Dx)-avg2)
(Bc2(x+Δ14(ibx,iby),y+Δ14(ibx,iby)*Dy/Dx)-avg2)
avg1 = ΣΣBc1(x,y)/(HB*VB)
avg2 = ΣΣBc2(x+Δ14(ibx,iby),y+Δ14(ibx,iby))/(HB*VB) …（４２）
ステップＳ１５６０において、ブロックインデックスｉｂに１を加える。次に、ステップＳ１５７０を実行する。
【０１２９】
ステップＳ１５７０において、第１の撮像信号と第４の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスｉｂがNh*Nv未満のとき（Ｓ１５７０でＮＯ）、次のブロックの視差を演算するために、ステップＳ１５３０に戻る。一方、ブロックインデックスｉｂがNh*Nv以上のとき（Ｓ１５７０でＹＥＳ）、全てのブロックの視差を演算したと判断し、次に、ステップＳ１５８０を実行する。
【０１３０】
ステップＳ１５８０において、第１の撮像信号と第４の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。
【０１３１】
このようにして、第１の撮像信号と第４の撮像信号とを利用した視差演算において、ブロックインデックスｉｂで示される３２ｘ３２画素のブロックB(ibx,iby)について、視差量Δ14(ibx,iby)とその信頼度E14(ibx,iby)とが求められた。ここで、14は第１の撮像信号と第４の撮像信号とを利用していることを示し、(ibx,iby)は図１２において各ブロックの下段に示される座標を示す（ｉｂｘは０からＮｈ−１まで、ｉｂｙはＶｈ−１まで変化する）。次に、図１０のステップＳ１２５０を実行する。
【０１３２】
ステップＳ１２５０において、視差を選択する。それぞれのブロックに対し、信頼度E12(ibx,iby)、E13(ibx,iby)、およびE14(ibx,iby)を比較し、最大の信頼度を与える視差をそのブロックでの視差Δ(ibx,iby)とする。なお、ｘ軸方向の視差に合わせるように、下記式（４３）の変換を行う。次に、ステップＳ１２６０を実行する。
【０１３３】
Δ(ibx,iby) = Δ12(ibx,iby)       E12(ibx,iby)が最大のとき
Δ(ibx,iby) = Δ13(ibx,iby)＊Dx/Dy      E13(ibx,iby)が最大のとき
Δ(ibx,iby) = Δ14(ibx,iby)       E14(ibx,iby)が最大のとき …（４３）
ステップＳ１２６０において、距離演算部１４３は、距離演算を行い、その結果を、順次、第２の出力バッファ１３７ｂに、距離データとして転送する。前述のように式 （７）に基づき距離を演算する。すなわち、視差Δ(ibx,iby)を持つブロックにおける被写体の距離L(ibx,iby)は、下記式（４４）のように演算される。なお、ｆはレンズ部１１３の焦点距離であり、Ｄｘは各レンズ部１１３ａ〜１１３ｄのｘ軸方向の間隔であり、ｐは撮像素子の素子間隔である。次に、ステップＳ１２７０を実行する。
【０１３４】
L(ibx,iby) = f ×Dx / p / Δ(ibx,iby) …（４４）
ステップＳ１２７０において、演算動作を終了し、上位ルーチンへ戻る。次に、ステップＳ１９１０を実行する。
【０１３５】
本実施の形態の撮像装置が以上のように構成されて動作することにより、以下の効果が奏される。
【０１３６】
以上のとおり、実施の形態１の撮像装置は、温度センサ１２６によりレンズアレイ１１３の周囲温度を計測し、温度値Thとして入力する。そして、レンズアレイ１１３が略円形であるために等方的に膨張することを利用し、式（１４）及び（１５）によって、レンズアレイ１１３の各レンズ部の光軸の間隔を求め、その間隔の半分だけ光軸が変化するものとして、座標変換テーブルを作成する。このことにより、温度が変化しレンズアレイ１１３が変形しても、光軸の位置を正しく補償することができるため、温度の影響を低減した視差を得て、この視差に基づき正しい距離計測ができる。また、温度センサ１２６により検知された温度に基づき複数のレンズ部の間隔の変化量を求め、複数のレンズの光軸原点をその変化量の半分だけ移動させて、光軸原点周りの歪みをなくすように画像を補正することにより、正しく歪みの影響を低減できるため、視差の検知及び距離測定を高精度に行うことができる。
【０１３７】
温度によりレンズ部の光軸の位置が変化すると、撮影される画像が移動することになる。例えば、自動車の前方監視に撮像装置を利用する場合、その撮像装置により得られた画像中心を運転者が見た画像の中心に合わせても、温度が変化すると画像中心がずれる。そのため、運転者は違和感を覚える。これに対し、実施の形態１の撮像装置の場合、温度が変化しても、画像中心の変化を抑制することができる。そのため、自動車の前方監視にも適した撮像装置を実現することができる。
【０１３８】
なお、光軸中心から離れるほど歪曲が大きくなり、測距精度は一般的に悪くなる。本実施の形態の撮像装置によれば、光軸を上記のように補償することにより、歪曲が大きい領域の利用を避けるという効果も期待できる。
【０１３９】
一組のレンズ部に対応した撮像信号において、それぞれのレンズ部の光軸中心を結ぶ直線に平行な形状をなす撮像対象に対しては、それぞれのレンズ部により得られる撮像信号において同一形状となるため、視差を求めることができない。実施の形態１の撮像装置によれば、３つの撮像信号の組（第１の撮像信号I1及び第２の撮像信号I2、第１の撮像信号I1及び第３の撮像信号I3、並びに第１の撮像信号I1及び第４の撮像信号I4）を選択し、それぞれの組に対しそれぞれの視差Δ12(ibx,iby)、Δ13(ibx,iby)、及びΔ14(ibx,iby)を得る。このことにより、１つの組で正しく視差を求められない撮像対象であっても、他の組で正しく視差を求めることができるため、その視差に基づき距離を計測できる。例えば、水平な線状の撮像対象は、水平方向に並べられた組（第１の撮像信号I1及び第２の撮像信号I2）からは距離を計測することができないが、鉛直方向に並べられた組（第１の撮像信号I1及び第３の撮像信号I3、並びに第２の撮像信号I2及び第４の撮像信号I4）、及び斜めに並べられた組（第１の撮像信号I1及び第４の撮像信号I4）を用いることにより、距離を計測することができる。そのため、多様な形状の撮像対象に対応することができる。
【０１４０】
また、実施の形態１の撮像装置によれば、複数の前記視差の信頼度(E12(ibx,iby)、E13(ibx,iby)、及びE14(ibx,iby))をそれぞれ演算し、ブロックB(ibx,iby)毎に、視差(Δ12(ibx,iby)、Δ13(ibx,iby)、及びΔ14(ibx,iby))のうち信頼度が最も大きい視差Δ(ibx,iby)を特定し、その視差Δ(ibx,iby)に基づいて距離を演算する。このように、信頼性が高い視差Δ(ibx,iby)に基づき視差演算するため、信頼性が高い距離計測が可能となる。また、全ての組の視差(Δ12(ibx,iby)、Δ13(ibx,iby)、及びΔ14(ibx,iby))において距離演算を行わず、信頼性が高い視差(Δ(ibx,iby))のみの距離演算を行うため、高速な距離計測が可能となる。
【０１４１】
なお、実施の形態１に係る撮像装置において、温度センサ１２６は、基板１２１上に配設されている。このように、温度センサ１２６を基板１２１上に配設する場合、基板１２１上の配線を用いて温度センサ１２６と温度センサ信号入力部１３９ａとを接続すればよいため、実装が容易であるという利点がある。しかし、このような構成に限定されるわけではない。温度センサ１２６は、レンズアレイ１１３近傍の基板１２１の温度を検出しているが、その目的は、レンズアレイ１１３の温度を検出することにある。レンズアレイ１１３の温度は直接または間接的に検出することができる。レンズアレイ１１３の温度を間接的に検出するには、レンズアレイ１１３の温度と相関関係を有する温度あるいは温度以外の物理量を検出すればよい。そして、それらをレンズアレイ１１３の温度に補正し、あるいはレンズアレイ１１３の温度との差異を見込むことによって、それらを、直接検出するレンズアレイ１１３の温度の代わりに用いることができる。本実施の形態では、この観点から、レンズアレイ１１３近傍の基板１２１の温度を検出している。従って、これ以外に、例えば、温度センサ１２６をパッケージ１２２内部の撮像素子１２３に並列して配設するようにしてもよい。この場合、撮像素子１２３の近傍に温度センサ１２６が配置されるため、温度センサ１２６の実装時にゴミ等が撮像素子１２３に付着しないようにする配慮が必要となるものの、レンズアレイ１１３により近くなることにより、温度検出の精度が増す。その結果、光軸の変化をより正しく補正し、歪曲をより正しく補正することができるので、距離測定精度を向上させることができる。
【０１４２】
また、ＳＬＳＩ１２５の一部が温度センサ１２６となるような製造プロセスを用いてＳＬＳＩ１２５を作成してもよい。この場合、温度センサ１２６を実装する必要がないため、その分だけ実装コストを低減できる。
【０１４３】
また、温度センサ１２６が、鏡筒１１１の外壁または内壁に貼設されていてもよい。この場合、温度センサ１２６の配線に考慮が必要だが、レンズアレイ１１３に近い鏡筒１１１に温度センサ１２６を配置することができるため、温度検出の精度が増す。よって、光軸の変化をより正しく補正し、歪曲をより正しく補正することができ、距離測定精度を向上させることができる。また、鏡筒１１１の内部に埋設されていてもよい。この場合、温度センサ１２６の配線及び鏡筒１１１の製造方法に考慮が必要だが、レンズアレイ１１３に近い鏡筒１１１の内部に温度センサ１２６を配置することができるため、同様にして距離測定精度を向上させることができる。
【０１４４】
また、温度センサ１２６をレンズアレイ１１３の適宜の位置に配設し、適宜配線により接続してもよい。この場合、温度センサ１２６の配線に考慮が必要だが、レンズアレイ１１３に温度センサ１２６を直接配設するため、さらに温度検出の精度が増し、その結果距離測定精度を向上させることができる。また、レンズ部の内部に埋設されていてもよい。この場合、温度センサ１２６の配線及びレンズアレイ１１３の製造方法に考慮が必要だが、レンズアレイ１１３の内部に温度センサ１２６を配置するため、さらに温度検出の精度が増し、距離測定精度を向上させることができる。
【０１４５】
また、実施の形態１に係る撮像装置において、レンズアレイ１１３は略円形に成型されているが、これに限定されない。図２７は、実施の形態１の変形例に係る撮像装置のレンズアレイの構成を示す平面図である。図２７（ａ）に示すレンズアレイ１１３Ａのように、長方形状に成型されてもよい。さらに、図２７（ｂ）に示すレンズアレイ１１３Ｂのように、その端面等に平面方向に伸びる突起等が設けられていてもよい。このようにレンズアレイが略円形でない構成においても、レンズ部はほぼ等方に膨張するため、実施の形態１と同様に動作させることにより、実施の形態１の場合と同様の効果を得ることができる。
【０１４６】
（実施の形態２）
本発明の実施の形態１に係る撮像装置は、レンズアレイ１１３が略円形に成型され、各レンズ部（第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄ）がレンズアレイ１１３の中心から同一距離に配置されている。そして、温度センサ１２６によって検知された温度に基づきレンズアレイ１１３の各レンズ部の光軸の間隔の変化量を求め、各レンズ部の光軸原点を変化量の半分だけ移動し、光軸原点周りの歪みをなくすように画像を補正する。これにより、温度が変化しても正しく歪みの影響を低減できるため、高精度な視差を検知し、それゆえ高精度に距離測定する撮像装置を実現した。また、温度が変化しても、画像中心が変化しない撮像装置を実現した。
【０１４７】
これに対し、本発明の実施の形態２に係る撮像装置は、レンズアレイの中心から同一距離に配置されない各レンズ部を備えている。このように、各レンズ部がレンズアレイの中心から同一距離に配置されない場合においても、温度変化に影響されることなく高精度な視差を検知し、それゆえ高精度に距離測定し、かつ、画像中心の変化を抑制することができる。
【０１４８】
実施の形態２の撮像装置は、実施の形態１のレンズアレイ１１３をレンズアレイ２１３に置換え、さらに、実施の形態１の温度補償部１３９ｂを温度補償演算部２３９ｂに置き換えたものである。その他の構成は実施の形態１と同様であり、同一の符号を付与し、説明を省略する。
【０１４９】
図２８は、本発明の実施の形態２に係る撮像装置のレンズアレイの構成を示す平面図である。レンズアレイ２１３は、略円盤状であり、光学ガラス材や透明樹脂などから形成され、第１のレンズ部２１３ａ、第２のレンズ部２１３ｂ、第３のレンズ部２１３ｃ、および第４のレンズ部２１３ｄが碁盤目状に配置される。第１〜第４のレンズ部２１３ａ〜２１３ｄの配置方向に沿って、図２８に示すようにｘ軸及びｙ軸を設定する。第１のレンズ部２１３ａ、第２のレンズ部２１３ｂ、第３のレンズ部２１３ｃ、および第４のレンズ部２１３ｄにおいて、被写体側から入射した光は、撮像素子１２３側へ射出し、撮像素子１２３上に４つの像を結像する。なお、図２８に示すように、第１のレンズ部２１３ａの光軸と第２のレンズ部２１３ｂの光軸とは、水平方向（ｘ軸方向）ではＤｘだけ離れ、垂直方向（ｙ軸方向）では一致しており、レンズアレイ２１３の中心２１３ｏを通るｙ軸方向の軸に対して対称な位置に配置される。そして、第１のレンズ部２１３ａの光軸と第２のレンズ部２１３ｂの光軸とは、レンズアレイ２１３の中心２１３ｏからｙ軸方向にＤｙ１だけ離れて配置される。また、第３のレンズ部２１３ｃの光軸と第４のレンズ部２１３ｄの光軸とは、水平方向（ｘ軸方向）ではＤｘだけ離れ、垂直方向（ｙ軸方向）では一致しており、レンズアレイの中心２１３ｏを通るｙ軸方向の軸に対して対称な位置に配置される。そして、第３のレンズ部２１３ｃの光軸と第４のレンズ部２１３ｄの光軸とは、レンズアレイ２１３の中心２１３ｏからｙ軸方向にＤｙ２だけ離れて配置される。
【０１５０】
温度補償演算部１３９ｂは、温度値Thに基づき、前処理部１３５にて利用される座標変換テーブルtx1(x,y)、ty1(x,y)、tx2(x,y)、ty2(x,y)、tx3(x,y)、ty3(x,y)、tx4(x,y)、ty4(x,y)を生成する。レンズアレイ２１３の温度が上昇した場合、各レンズ部２１３ａ〜２１３ｄが膨張する。この場合、レンズアレイ２１３は略円形であるため、図２８において矢印で示すように、各レンズ部２１３ａ〜２１３ｄの光軸中心がレンズアレイ２１３の中心２１３ｏに対してレンズ外側に移動する。この移動量は、レンズアレイ２１３の中心２１３ｏから各レンズ部２１３ａ〜２１３ｄの光軸までの距離に略比例する。すなわち、温度上昇によるレンズアレイ２１３の膨張に伴う第１のレンズ部２１３ａのｘ軸方向の移動量dbx1及びｙ軸方向の移動量dby1は、撮像素子１２３の画素間隔を単位として、下記式（４５）及び（４６）のように表される。ここで、Dx/2は基準温度Th0におけるレンズアレイ２１３の中心２１３ｏを通るｘ軸方向の軸と第１のレンズ部２１３ａの光軸との距離であり、Dy1は同じくｙ軸方向の軸と第１のレンズ部２１３ａの光軸との距離である。また、aLはレンズアレイ２１３の熱線膨張率であり、aSは撮像素子１２３の熱線膨張率であり、Thは前述のように温度値であり、Th0は基準温度であり、pは撮像素子１２３の画素間隔である。
【０１５１】
また、温度上昇によるレンズアレイ膨張に伴う第２のレンズ部２１３ｂのｘ軸方向の移動量dbx2及びｙ軸方向の移動量dby2は、撮像素子１２３の画素間隔を単位として、下記式（４７）及び（４８）のように表される。ここで、Dx/2は基準温度Th0におけるレンズアレイ２１３の中心２１３ｏを通るｘ軸方向の軸と第２のレンズ部２１３ｂの光軸との距離であり、Dy1は同じくｙ軸方向の軸と第２のレンズ部２１３ｂの光軸との距離である。また、温度上昇によるレンズアレイ膨張に伴う第３のレンズ部２１３ｃのｘ軸方向の移動量dbx3及びｙ軸方向の移動量dby3は、撮像素子１２３の画素間隔を単位として、下記式（４９）及び（５０）のように表される。ここで、Dx/2は基準温度Th0におけるレンズアレイの中心２１３ｏを通るｘ軸方向の軸と第３のレンズ部２１３ｃの光軸との距離であり、Dy2は同じくｙ軸方向の軸と第３のレンズ部２１３ｃの光軸との距離である。さらに、温度上昇によるレンズアレイ膨張に伴う第４のレンズ部２１３ｄのｘ軸方向の移動量dbx4及びｙ軸方向の移動量dby4は、撮像素子１２３の画素間隔を単位として、下記式（５１）及び（５２）のように表される。ここで、Dx/2は基準温度Th0におけるレンズアレイの中心２１３ｏを通る軸と第４のレンズ部２１３ｄの光軸との距離であり、Dy2は同じくｙ軸方向の軸と第４のレンズ部２１３ｄの光軸との距離である。
【０１５２】
dbx1 = (Dx/2) × (aL - aS) × (Th - Th0) / p …（４５）
dby1 = Dy1 × (aL - aS) × (Th - Th0) / p …（４６）
dbx2 = (Dx/2) × (aL - aS) × (Th - Th0) / p …（４７）
dby2 = Dy1 × (aL - aS) × (Th - Th0) / p …（４８）
dbx3 = (Dx/2) × (aL - aS) × (Th - Th0) / p …（４９）
dby3 = Dy2 × (aL - aS) × (Th - Th0) / p …（５０）
dbx4 = (Dx/2) × (aL - aS) × (Th - Th0) / p …（５１）
dby4 = Dy2 × (aL - aS) × (Th - Th0) / p …（５２）
撮像装置は、上述の温度上昇に伴う移動量だけ、各撮像信号を補正する。すなわち、第１の撮像信号I1(x,y)用の変換テーブルtx1(x,y)及びty1(x,y)を下記式（５３）、（５４）及び（５５）のように生成する。ここで、(x01,y01)は撮像信号I0における歪みがないときの原点座標、(xc1,yc1)は撮像信号I1(x,y)における基準温度Th0での光軸中心座標、(-dbx1,-dby1)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（５５）における^2は二乗値を示す。また、第２の撮像信号I2(x,y)用の変換テーブルtx2(x,y)及びty2(x,y)を下記式（５６）、（５７）及び（５８）のように生成する。ここで、(x02,y02)は撮像信号I0における歪みがないときの原点座標、(xc2,yc2)は撮像信号I2(x,y)における基準温度Th0での光軸中心座標、(+dbx2,-dby2)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（５８）における^2は二乗値を示す。また、第３の撮像信号I3(x,y)用の変換テーブルtx3(x,y)及びty3(x,y)を下記式（５９）、（６０）及び（６１）のように生成する。ここで、(x03,y03)は撮像信号I0における歪みがないときの原点座標、(xc3,yc3)は撮像信号I3(x,y)における基準温度Th0での光軸中心座標、(-dbx3,+dby3)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（６１）における^2は二乗値を示す。また、第４の撮像信号I4(x,y)用の変換テーブルtx4(x,y)及びty4(x,y)を下記式（６２）、（６３）及び（６４）のように作成する。ここで、(x04,y04)は撮像信号I0における歪みがないときの原点座標、(xc4,yc4)は撮像信号I4(x,y)における基準温度Th0での光軸中心座標、(+dbx4,+dby4)は温度上昇による光軸中心の移動量、kd2及びkd4は歪曲係数である。なお、式（６４）における^2は二乗値を示す。
【０１５３】
tx1(x,y) = x01 + xc1 + [x - xc1 - dbx1]×(1 + kd2 × r2 + kd4 × r4)  …（５３）
ty1(x,y) = y01 + yc1 + [y - yc1 - dby1]×(1 + kd2 × r2 + kd4 × r4)  …（５４）
r2= [x - xc1 - dbx1]^2 + [y - yc1 - dby1]^2、r4 = r2^2 …（５５）
tx2(x,y) = x02 + xc2 + [x - xc2 + dbx2]×(1 + kd2 × r2 + kd4 × r4)  …（５６）
ty2(x,y) = y02 + yc2 + [y - yc2 - dby2]×(1 + kd2 × r2 + kd4 × r4)  …（５７）
r2= [x - xc2 + dbx2]^2 + [y - yc2 - dby2]^2、r4 = r2^2 …（５８）
tx3(x,y) = x03 + xc3 + [x - xc3 - dbx3]×(1 + kd2 × r2 + kd4 × r4)  …（５９）
ty3(x,y) = y03 + yc3 + [y - yc3 + dby3]×(1 + kd2 × r2 + kd4 × r4)  …（６０）
r2= [x - xc3 - dbx3]^2 + [y - yc3 + dby3]^2、r4 = r2^2 …（６１）
tx4(x,y) = x04 + xc4 + [x - xc4 + dbx4]×(1 + kd2 × r2 + kd4 × r4)  …（６２）
ty4(x,y) = y04 + yc4 + [y - yc4 + dby4]×(1 + kd2 × r2 + kd4 × r4)  …（６３）
r2= [x - xc4 + dbx4]^2 + [y - yc4 + dby4]^2、r4 = r2^2 …（６４）
なお、歪みが生じない場合、上記の座標変換テーブルを用いてなされる座標変換は、下記式（６５）乃至（６８）のように、撮像信号I0(x,y)から画像を切り出し、その後、下記式（６９）乃至（７２）のように、平行移動することに相当する。
【０１５４】
I1(x, y) = I0(x + x01, y + y01) …（６５）
I2(x, y) = I0(x + x02, y + y02) …（６６）
I3(x, y) = I0(x + x03, y + y03) …（６７）
I4(x, y) = I0(x + x04, y + y04) …（６８）
I1(x, y) = I1(x-dbx1, y-dby1) …（６９）
I2(x, y) = I2(x+dbx2, y-dby2) …（７０）
I3(x, y) = I3(y-dbx3, x+dby3) …（７１）
I4(x, y) = I4(x+dbx4, y+dby4) …（７２）
本実施の形態の撮像装置が以上のように構成されて動作することにより、実施の形態１と同様の効果が奏される。
【０１５５】
（実施の形態３）
本発明の実施の形態３に係る撮像装置は、温度毎の係数を持ち、温度センサにより検知された温度に基づき複数のレンズの光軸の間隔の変化量を求め、複数のレンズの光軸原点を変化量の半分だけ移動し、光軸原点周りの歪みをなくすように画像を補正する。これにより、小規模の回路で歪みの影響を適切に低減できるため、高精度な視差を検知でき、低コストで高精度に距離測定できる。
【０１５６】
実施の形態３の撮像装置は、実施の形態１の撮像装置１０１のシステムＬＳＩ１２５をシステムＬＳＩ２２５に変更したものである。その他の構成は、実施の形態１の撮像装置と同様であり、説明を省略する。
【０１５７】
ＳＬＳＩ２２５は、後述の方法で、撮像素子１２３を駆動し、撮像素子１２３からの電気情報を入力し、各種演算を行い、上位ＣＰＵと通信を行い、外部に画像情報や距離情報などを出力する。なお、ＳＬＳＩ２２５は、電源（例えば３．３Ｖ）とグランド（例えば、０Ｖ）に接続される。
【０１５８】
次に、光軸中心の温度補償の原理を説明する。図２の矢印のように、温度上昇に伴いレンズアレイ１１３が膨張し光軸中心がレンズ外側に移動する。レンズアレイが温度上昇に比例し等方的に膨張すると仮定すると、光軸中心の間隔は、下記式（１０９）、（１１０）で表される。ここで、dbxは温度上昇に伴う光軸間の間隔のｘ方向の変化量であり、単位は撮像素子１２３の受光素子の間隔である。また、dbyは温度上昇に伴う光軸間の間隔のｙ方向の変化量であり、単位は撮像素子１２２の受光素子の間隔である。また、Dxは基準温度Th0におけるｘ方向のレンズ間の光軸の間隔であり、Dyは基準温度Th0におけるｙ方向のレンズ間の光軸の間隔であり、aLはレンズアレイ１１３の熱線膨張率であり、aSは撮像素子１２３の熱線膨張率であり、Tは温度であり、Th0は基準温度であり、pは撮像素子１２３の受光素子の間隔である。
【０１５９】
dbx = Dx * (aL - aS) * (T - Th0) / p ・・・(109)
dby = Dy * (aL - aS) * (T - Th0) / p ・・・(110)
そして、温度上昇に伴い各レンズ部の光軸中心は等方的に膨張するため、図２のように、温度上昇に伴うレンズ間の光軸間の間隔の変化の半分（ｘ方向にp*dbx/2、ｙ方向にp*dby/2）だけ移動する。すなわち、第１のレンズ部１１３ａの光軸中心は、ｘ方向に-p*dbx/2、ｙ方向に-p*dby/2だけ移動する。また、第２のレンズ部１１３ｂの光軸中心は、ｘ方向に+p*dbx/2、ｙ方向に-p*dby/2だけ移動する。また、第３のレンズ部１１３ｃの光軸中心は、ｘ方向に-p*dbx/2、ｙ方向に+p*dby/2だけ移動する。また、第４のレンズ部１１３ｄの光軸中心は、ｘ方向に+p*dbx/2、ｙ方向に+p*dby/2だけ移動する。
【０１６０】
したがって、温度Tを検知し、その温度Tからレンズアレイ１１３の各レンズ間の光軸の間隔の変化dbx,dbyを求め、その変化dbx,dbyの半分だけレンズアレイ１１３の各レンズの光軸が移動すると推定し補償することにより、温度変化に伴うレンズアレイ１１３の膨張の影響を低減し、正確な視差を求めることができ、それゆえ、正確な距離を求めることができる。
【０１６１】
次に、焦点距離の温度補正を説明する。レンズアレイ１１３が樹脂から構成されるとき、温度上昇に伴い屈折率が小さくなり、それゆえ、焦点距離が長くなり、撮像素子１２３に結像される像が大きくなり（倍率が大きくなり）、視差が長くなる。そこで、温度Tを検知し、その温度Tから焦点距離の変化を推定し、推定された焦点距離ｆを式（７）に代入することにより、温度変化に伴うレンズアレイ１１３の焦点距離の変化の影響を低減し、正確な視差を求めることができ、それゆえ、正確な距離を求めることができる。なお、式（７）の焦点距離ｆを一定として、その分だけ像の倍率が変化するものとして撮像信号を補正してもよい。
【０１６２】
次に、鏡筒伸びの温度補正を説明する。鏡筒１１１が樹脂から構成されるとき、温度上昇に伴い鏡筒１１１が伸び、それゆえ、レンズアレイ１１３の主点から撮像素子１２３の受光面までの距離が長くなり、撮像素子１２３に結像される像が大きくなり（倍率が大きくなり）、視差が大きくなる。そこで、温度Tを検知し、その温度Tから鏡筒１１１の長さの変化を推定し、倍率の変化を推定し補償することにより、温度変化に伴う鏡筒１１１の伸びの影響を低減し、正確な視差を求めることができ、それゆえ、正確な距離を求めることができる。
【０１６３】
次に、本発明の実施の形態３に係る撮像装置の動作を説明する。図２９は、本発明の実施の形態３に係る撮像装置の構成を示すブロック図である。ＳＬＳＩ２２５は、システム制御部１３１、撮像素子駆動部１３２、撮像信号入力部１３３、温度センサ信号入力部２３４、入出力部２３５、係数保存部２４１、温度補償演算部２４２、撮像信号補正部２４３、および距離演算部２４４を有する。ここで、温度補償演算部２４２と撮像信号補正部２４３とは、温度補償／撮像信号補正部を構成している。
【０１６４】
システム制御部１３１は、ＣＰＵ（中央演算処理装置：Central Processing Unit）、ロジック回路などから構成され、ＳＬＳＩ２２５の全体を制御する。
【０１６５】
図３０は、本発明の実施の形態３に係る撮像装置の動作を示すフローチャートである。ＳＬＳＩ２２５のシステム制御部１３１により、撮像装置は、このフローチャートのとおりに動作する。なお、図３０において、実施の形態１の図９Ａのフローチャートと同一又は相当するステップには同一の参照符号を付している。
【０１６６】
ステップＳ１０１０において、撮像装置１０１は動作を開始する。例えば、上位ＣＰＵ（図示せず）が、入出力部２３５を介し、撮像装置１０１に動作の開始を命令することにより、撮像装置１０１は、動作を開始する。次に、ステップＳ１０２０を実行する。
【０１６７】
ステップＳ１０２０において、撮像信号を入力する。撮像素子駆動部１３２は、ロジック回路などから構成され、システム制御部１３１の命令により電子シャッターや転送を行うための信号撮像素子１２３を駆動する信号を発生し、この信号に応じた電圧を撮像素子１２２に印加する。撮像信号入力部１３３は、ＣＤＳ回路（相関二重サンプリング回路：Correlated Double Sampling Circuit）、ＡＧＣ（自動利得制御器：Automatic Gain Controller）、ＡＤＣ（アナログ／デジタル変換器：Analog Digital Converter）が直列に接続されて構成され、撮像素子１２３からの電気信号が入力され、ＣＤＳ回路により固定ノイズを除去し、ＡＧＣによりゲインを調整し、ＡＤＣによりアナログ信号からデジタル値に変換し撮像信号I0を出力する。ここで、撮像信号入力部１３３は、撮像信号I0(x,y)を、ｘ方向にH0画素、ｙ方向にV0画素だけ、I0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0-1)の順に出力する。次に、ステップＳ１０３０を実行する。
【０１６８】
ステップＳ１０３０において、温度センサ信号を入力する。温度センサ信号入力部２３４は、ＡＤＣ（Analog Digital Converter：アナログ・デジタル変換器）などから構成され、温度センサ１２６からアナログ電圧信号である温度センサ信号を入力し、アナログ信号からデジタル値に変換し、温度センサ信号Tsとして出力する。例えば12bitのADCを用いると、温度センサ信号Tsは、0〜4095までの値を取る。以下、温度センサ信号Tsは、12bitのADCを用いて作成されたものとして説明する。次に、ステップＳ１１１０を実行する。
【０１６９】
ステップＳ１１１０において、各種の係数を温度補償する。温度補償演算部２４２は、温度センサ信号Tsを入力し、係数保存部２４１に保存されたデータを用いて、歪曲係数kd2,kd4、倍率(rx,ry)、第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、焦点距離f、および各レンズ部のｘ方向の光軸間距離Dxを出力する。
【０１７０】
図３１は、本発明の実施の形態３に係る係数保存部を説明するための図である。図３１において、簡単のため、第１のレンズ部１１３ａの光軸中心ｘ座標xc1のみが記述されている。図３１のように、センサ温度信号Tsが０、２５６、５１２、７６８、１０２４、・・・、３８４０、４０９６のときの光軸中心ｘ座標xc1がそれぞれxc1#0、xc1#256、xc1#512、xc1#768、xc1#1024、・・・、xc1#3040、xc1#4096として係数保存部２４１に保存されている。そして、温度補償演算部２４２は、温度センサ値Tsに対応する光軸中心ｘ座標xc1を補間演算して作成する。例えば、温度センサ値Tsが512以上1024未満のとき、温度センサ信号Ts=512、768のときの光軸中心ｘ座標xc1#512、xc1#768を用いて、下記式（１１１）のように補間演算を行い、xc1を作成する。他の係数も同様に作成する。すなわち、第１のレンズ部１１３ａの光軸中心ｙ座標yc1、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、歪曲係数k2,k4、倍率(rx,ry)、焦点距離f、および各レンズ部のｘ方向の光軸間距離Dxは、それぞれ係数保存部２４１に各温度での値が保存され、温度センサ信号Tsに関して補間演算を行って作成される。
【０１７１】
xc1 = xc1#512 + (Ts-512)/(768-512)*(xc#768-xc1#512) ・・・(111)
なお、係数保存部２４１に保存される係数は以下のように作成され保存される。各レンズ部の光軸中心は、式（１０９）、（１１０）に基づき、下記式（１１２）、（１１３）のように、温度上昇に伴う光軸間の間隔のｘ方向の変化量dbx、ｙ方向の変化量dbyを演算し、その半分（ｘ方向にp*dbx/2、ｙ方向にp*dby/2）だけ光軸中心が移動するとして作成する。ここで、T(Ts)はADCによりデジタル値に変換された温度センサ信号Tsのときの物理的な温度を示す。具体的には、下記式（１１４）、（１１５）のように、第１のレンズ部１１３ａの光軸中心(xc1,yc1)は、基準温度Th0における光軸中心(xc10,yc10)からｘ方向に-dbx/2、ｙ方向に-dby/2だけ移動するように作成する。また、下記式（１１６）、（１１７）のように、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)は、基準温度Th0における光軸中心(xc20,yc20)からｘ方向に+dbx/2、ｙ方向に-dby/2だけ移動するように作成する。また、下記式（１１８）、（１１９）のように、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)は、基準温度Th0における光軸中心(xc30,yc30)からｘ方向に-dbx/2、ｙ方向に+dby/2だけ移動するように作成する。また、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)は、基準温度Th0における光軸中心(xc40,yc40)からｘ方向に+dbx/2、ｙ方向に+dby/2だけ移動するように作成する。
【０１７２】
dbx = Dx * (aL - aS) * (T(Ts) - Th0) / p ・・・(112)
dby = Dy * (aL - aS) * (T(Ts) - Th0) / p ・・・(113)
xc1 = xc10 - dbx/2 ・・・(114) 
yc1 = yc10 - dby/2 ・・・(115)
xc2 = xc20 + dbx/2 ・・・(116) 
yc2 = yc20 - dby/2 ・・・(117)
xc3 = xc30 - dbx/2 ・・・(118) 
yc3 = yc30 + dby/2 ・・・(119)
xc4 = xc40 + dbx/2 ・・・(120) 
yc4 = yc40 + dby/2 ・・・(121)
歪曲係数k2,k4は、光学解析や実験などで各温度における値を求め、作成する。
【０１７３】
鏡筒の長さlkは下記式（１２２）のように推定される。ここで、Th0は基準温度であり、lk0は基準温度Th0における鏡筒の長さであり、kkは鏡筒の熱線膨張率、T(Ts)は温度センサ信号Tsが示す温度センサの物理的な温度である。そこで、鏡筒の長さの変化の比率を倍率とする。具体的には、下記式（１２３）、（１２４）のように、ｘ方向の倍率rx、ｙ方向の倍率ryとして作成する。
【０１７４】
lk = lk0*[1+kk*(T(Ts)-Th0)] ・・・(122)
rx = [1+kk*(T(Ts)-Th0)] ・・・(123)
ry = [1+kk*(T(Ts)-Th0)] ・・・(124)
焦点距離ｆは、光学解析や実験などで各温度における値を求め、作成する。
【０１７５】
ｘ方向の光軸間距離Dxは、ｘ方向の光軸間距離の変化量が式（１１２）のdbxで示されることより、このdbxを用いて下記式（１２５）のように作成する。
【０１７６】
Dx = Dx0 + dbx * p ・・・(125)
なお、各温度で各種方法で測定された係数を保存してもよい。次に、ステップＳ１１２０を実行する。
【０１７７】
ステップＳ１１２０において、画像を補正し切り出す。撮像信号補正部２４３は、撮像信号I0、歪曲係数kd2,kd4、倍率(rx,ry)、第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、および第４のレンズ部１１３ｄの光軸中心(xc4,yc4)を入力し、撮像信号I0から各レンズ部により結像された被写体像を撮像した画像を切り出し、歪曲補正などの補正処理を行い、第１のレンズ部１１３ａに対応する第１の撮像信号I1(x,y)、第２のレンズ部１１３ｂに対応する第２の撮像信号I2(x,y)、第３のレンズ部１１３ｃに対応する第３の撮像信号I3(x,y)、および第４のレンズ部１１３ｄに対応する第４の撮像信号I4(x,y)を出力する。
【０１７８】
図３２は、本発明の実施の形態３に係る撮像装置の撮像信号の切り出し位置を説明するための図である。歪みがなく、温度によるレンズの膨張がない場合、図３２のように、第１の撮像信号I1(x,y)は、撮像信号I0を原点(x01,y01)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出した領域の画像であり、第２の撮像信号I2(x,y)は、撮像信号I0を原点(x02,y02)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出した領域の画像であり、第３の撮像信号I3(x,y)は、撮像信号I0を原点(x03,y03)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出した領域の画像であり、第４の撮像信号I4(x,y)は、撮像信号I0を原点(x04,y04)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出した領域の画像である。実施の形態３の撮像装置は、熱膨張による光軸中心の移動、歪み補正、倍率補正を加味し、以下のような処理を行う。
【０１７９】
下記式（１２６）、（１２７）、（１２８）のように、歪曲係数kd2,kd4、倍率(rx,ry)、第１のレンズ部１１３ａの光軸中心(xc1,yc1)を用いて、第１の撮像信号用の参照先座標(tx1,ty1)を演算し、下記式（１２９）のように、第１の撮像信号用の参照先座標(tx1,ty1)を用いて撮像信号I0から第１の撮像信号I1(x,y)を演算する。なお、第１の撮像信号用の参照先座標(tx1, ty1)は、小数点を持ってもよい。その場合、第１の撮像信号用の参照先座標(tx1,ty1)の整数部分を(tx1i,ty1i)とし、小数部分を(tx1f,ty1f)とし、下記式（１３０）のように４画素を利用し演算する。ここで、式（１２６）、（１２７）、（１２８）、（１２９）、（１３０）において、ｘに関して０からH1-1まで、ｙに関して０からV1-1までの演算を行う。同様に、下記式（１３１）、（１３２）、（１３３）のように、歪曲係数kd2,kd4、倍率(rx,ry)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)を用いて、第２の撮像信号用の参照先座標(tx2,ty2)を演算し、下記式（１３４）のように、第２の撮像信号用の参照先座標(tx2,ty2)を用いて撮像信号I0から第２の撮像信号I2(x,y)を演算する。また、下記式（１３５）、（１３６）、（１３７）のように、歪曲係数kd2,kd4、倍率(rx,ry)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)を用いて、第３の撮像信号用の参照先座標(tx3,ty3)を演算し、下記式（１３８）のように、第３の撮像信号用の参照先座標(tx3,ty3)を用いて撮像信号I0から第３の撮像信号I3(x,y)を演算する。また、下記式（１３９）、（１４０）、（１４１）のように、歪曲係数kd2,kd4、倍率(rx,ry)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)を用いて、第４の撮像信号用の参照先座標(tx4,ty4)を演算し、下記式（１４２）のように、第４の撮像信号用の参照先座標(tx4,ty4)を用いて撮像信号I0から第４の撮像信号I4(x,y)を演算する。なお、以下の式において、^2は二乗演算を示し、^4は四乗演算を示す。
【０１８０】
tx1 = x01 + xc1 + (x - xc1) * (1 + kd2 * r1^2 + kd4 * r1^4) * rx ・・・(126)
ty1 = y01 + yc1 + (y - yc1] * (1 + kd2 * r1^2 + kd4 * r1^4) * ry ・・・(127)
r1^2 = (x - xc1)^2 + (y - yc1)^2、r1^4 = (r1^2)^2 ・・・(128)
I1(x,y) = I0(tx1,ty1) ・・・(129)
I1(x,y) = (1 ？ tx1f) * (1 ？ ty1f) * I0(tx1i,ty1i)
+ tx1f * (1 ？ ty1f) * I0(tx1i+1,ty1i)
+ (1 ？ tx1f) * ty1f * I0(tx1i,ty1i+1)
+ tx1f * ty1f * I0(tx1i+1,ty1i+1) ・・・(130)
tx2 = x02 + xc2 + (x - xc2) * (1 + kd2 * r2^2 + kd4 * r2^4) * rx ・・・(131)
ty2 = y02 + yc2 + (y - yc2) * (1 + kd2 * r2^2 + kd4 * r2^4) * ry ・・・(132)
r2^2 = (x - xc2)^2 + (y - yc2)^2、r2^4 = (r2^2)^2 ・・・(133)
I2(x,y) = I0(tx2,ty2) ・・・(134)
tx3 = x03 + xc3 + (x - xc3) * (1 + kd2 * r3^2 + kd4 * r3^4) * rx ・・・(135)
ty3 = y03 + yc3 + (y - yc3) * (1 + kd2 * r3^2 + kd4 * r3^4) * ry ・・・(136)
r3^2 = (x - xc3)^2 + (y - yc3)^2、r2^4 = (r2^2)^2 ・・・(137)
I3(x,y) = I0(tx3,ty3) ・・・(138)
tx4 = x04 + xc4 + (x - xc4) * (1 + kd2 * r4^2 + kd4 * r4^4) * rx ・・・(139)
ty4 = y04 + yc4 + (y - yc4) * (1 + kd2 * r4^2 + kd4 * r4^4) * ry ・・・(140)
r4^2 = (x - xc4)^2 + (y - yc4)^2、r2^4 = (r2^2)^2 ・・・(141)
I4(x,y) = I0(tx4,ty4) ・・・(142)
なお、上記の変換において、歪みがなく、倍率を補正しないとき、下記式（１４３）、（１４４）、（１４５）、（１４６）のように、撮像信号I0(x,y)から画像を切り出し、その後、下記式（１４７）、（１４８）、（１４９）、（１５０）のように、平行移動することに相当する。次に、ステップＳ１２００を実行する。
【０１８１】
I1(x, y) = I0(x + x01, y + y01) ・・・(143)
I2(x, y) = I0(x + x02, y + y02) ・・・(144)
I3(x, y) = I0(x + x03, y + y03) ・・・(145)
I4(x, y) = I0(x + x04, y + y04) ・・・(146)
I1(x, y) = I1(x-dbx/2, y-dby/2) ・・・(147)
I2(x, y) = I2(x+dbx/2, y-dby/2) ・・・(148)
I3(x, y) = I3(y-dbx/2, x+dby/2) ・・・(149)
I4(x, y) = I4(x+dbx/2, y+dby/2) ・・・(150)
ステップＳ１２００において、距離を演算する。距離演算部２４４は、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、第４の撮像信号I4、焦点距離ｆ、ｘ方向の光軸間距離Dxを入力し、距離を演算し、距離データDISを出力する。
【０１８２】
図３３は、本発明の実施の形態３に係る撮像装置の距離演算部の動作を示すフローチャートである。図３３のフローチャートは、ステップＳ１２００の動作の詳細を示す。ステップＳ１２００の演算では、まず、ステップＳ１３１０を実行する。
【０１８３】
ステップＳ１３１０において、演算の動作を開始する。次に、ステップＳ１３３０を実行する。
【０１８４】
ステップＳ１３３０において、ブロックを分割する。
【０１８５】
図３４は、本発明の実施の形態３に係る撮像装置において、ブロック分割を説明する図である。図３４において、第１の撮像信号Ｉ１は、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素を有する長方形状のブロックに分割され、ｘ方向にＮｈ個、ｙ方向にＮｖ個のブロックを持つ。次に、ステップＳ１３４０を実行する。
【０１８６】
ステップＳ１３４０において、ブロックを選択する。ステップＳ１３１０（図３３）を実行後、初めてこのステップＳ１３４０を実行するときは(0,0)で示されるブロックを選択し、以後、ステップＳ１３４０が実行されるときは、右側に順にずらしたブロックを選択する。なお、図３４において右端のブロック（(Nh-1,0)、(Nh-1,1)、・・・で示されるブロック）を選択した次は、１つ下の行の左端のブロック（(0,1)、(0,2)、・・・で示されるブロック）を選択する。すなわち、ステップＳ１３１０を実行後、初めてこのステップＳ１３４０を実行するときを０番目としたとき、ｉ番目において(i%Nh, int(i/Nh))で示されるブロックを選択する。ここで、i%NhはｉをNhで除算したときの剰余、int(i/Nh)はｉをNhで除算したときの商の整数部である。以後このブロックを選択ブロックB(ih,iv)と呼ぶ。次に、ステップＳ１３５０を実行する。
【０１８７】
ステップＳ１３５０において、視差演算する。まず、第１のレンズ撮像信号I1と第２のレンズ撮像信号I2との視差と視差信頼度とを演算する。最初に、第１のレンズ撮像信号I1と第２のレンズ撮像信号I2との視差評価値R12(kx)を演算する。ここで、kxは画像をどれだけずらすかを示すずらし量であり、kx=0、1、2、・・・、SBのように変化させる。
【０１８８】
図３５は、本発明の実施の形態３に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差評価値の演算領域を説明する図である。図３５において、I１で示される領域は、第１のレンズ撮像信号I1の選択ブロックB(ih,iv)で選択された領域を示し、I2で示される領域は、選択ブロックの座標からｘ方向にkxだけずれた領域の第２のレンズ撮像信号I2である。ずらし量kx=0からSBについて、下記式（１５１）に示される絶対値差分総和(SAD：Sum of Absolute Differences)を演算し、視差評価値R12(kx)とする。すなわち、第１のレンズ撮像信号I1を基準として、視差評価値R12(kx)を演算する。
【０１８９】
R12(kx) = ΣΣ|I1(x,y)-I2(x+kx,y)| ・・・ (151)
この視差評価値R12(kx)は、選択ブロックB(ih,iv)の第１のレンズ撮像信号I1と選択ブロックからｘ方向にkxだけずれた領域における第２のレンズ撮像信号I2とがどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。
【０１９０】
図３６は、本発明の実施の形態３に係る撮像装置の第１の撮像信号と第２の撮像信号を利用したときの視差演算におけるずらし量と視差評価値との関係を説明する図である。図３６のように、視差評価値R12(kx)はずらし量kxの値によって変化し、ずらし量kx=Δのとき極小値を持つ。そのため、選択ブロックB(ih,iv)の第１のレンズ撮像信号I1と選択ブロックからｘ方向にΔだけずれた領域における第２のレンズ撮像信号I2とが最も相関が高い、すなわち、最も似ていることを示す。従って、選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第２のレンズ撮像信号I2との視差がΔであることが分かる。そこで、下記式（１５２）のように、この視差Δを選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第２のレンズ撮像信号I2との視差値Δ12(ih,iv)とし、下記式（１５３）のように、視差評価値R12(Δ)を選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第２のレンズ撮像信号I2との視差信頼度C12(ih,iv)とする。
【０１９１】
Δ12(ih,iv) = Δ ・・・ (152)
C12(ih,iv) = R12(Δ) ・・・ (153)
次に、第１のレンズ撮像信号I1と第３のレンズ撮像信号I3との視差と信頼信頼度も同様に求める。ただし、ずらす方向をｙ方向に変更し、ずらし量をkyとする。下記式（１５４）のように、選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第３のレンズ撮像信号I3の視差評価値R13(ky)を求める。すなわち、第１のレンズ撮像信号I1を基準として、視差評価値R13(ky)を演算する。そして、最小値を与えるずらし量、すなわち視差Δを、下記式（１５５）のように、選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第３のレンズ撮像信号I3との視差値Δ13(ih,iv)とし、下記式（１５６）のように、視差評価値R13(Δ)を選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第３のレンズ撮像信号I3との信頼度C13(ih,iv)とする。
【０１９２】
R13(ky) = ΣΣ|I1(x,y)-I3(x,y+ky)| ・・・ (154)
Δ13(ih,iv) = Δ ・・・ (155)
C13(ih,iv) = R13(Δ) ・・・ (156)
次に、第１のレンズ撮像信号I1と第４のレンズ撮像信号I4との視差と信頼信頼度も同様に求める。ただし、ずらす方向を斜め方向（第１のレンズ部１１３ａの光軸と第４のレンズ部１１３ｄの光軸とを結ぶ方向）に変更し、ずらし量はｘ方向にkx、ｙ方向にkx*Dy/Dxとする。下記式（１５７）のように、選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第４のレンズ撮像信号I4の視差評価値R14(kx)を求める。すなわち、第１のレンズ撮像信号I1を基準として、視差評価値R14(kx)を演算する。そして、最小値を与えるずらし量、すなわち視差Δを、下記式（１５８）のように、選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第４のレンズ撮像信号I4との視差値Δ14(ih,iv)とし、下記式（１５９）のように、視差評価値R14(Δ)を選択ブロックB(ih,iv)における第１のレンズ撮像信号I1と第４のレンズ撮像信号I4との信頼度C14(ih,iv)とする。なお、式（１５７）において座標(x+kx,y+kx*Dy/Dx)が小数となるとき、レンズ撮像信号I4は周辺画素から線形補間などにより求める。なお、図２のように、Dx、およびDyは、第１のレンズ部１１３ａと第４のレンズ部１１３ｄにおけるｘ方向のレンズ部の間隔、およびｙ方向のレンズ部の間隔である。
【０１９３】
R14(ky) = ΣΣ|I1(x,y)-I4(x+kx,y+kx*Dy/Dx)| ・・・ (157)
Δ14(ih,iv) = Δ ・・・ (158)
C14(ih,iv) = R14(Δ) ・・・ (159)
そして、上記３つの視差信頼度を比較し最も信頼できる視差値をこのブロックにおける視差値とする。すなわち、下記式（６０）のように、３つの視差信頼度C12(ih,iv)、C13(ih,iv)、C14(ih,iv)を比較し、C12(ih,iv)が最も小さいときΔ12(ih,iv)をブロックB(ih,iv)における視差値Δ(ih,iv)とし、C13(ih,iv)が最も小さいときΔ13(ih,iv)をブロックB(ih,iv)における視差値Δ(ih,iv)とし、C14(ih,iv)が最も小さいときΔ14(ih,iv)をブロックB(ih,iv)における視差値Δ(ih,iv)とする。なお、信頼度（C12、C13、C14）として絶対値差分総和（式(53)、(56)、(59)）を用いたが正規化相関係数を用いてもよい。この場合、最も大きい信頼度を与える視差値を選択する。ここで、視差値をｘ方向に統一するため、Δ13(ih,iv)を採用するとき、レンズ部の間隔の比であるDx/Dyを乗ずる。次に、ステップＳ１３６０を実行する。
【０１９４】
Δ(ih,iv) = Δ12(ih,iv)         （C12(ih,iv)が最も小さいとき） ・・・ (160)
= Δ13(ih,iv)＊Dx/Dy  （C13(ih,iv)が最も小さいとき）
= Δ14(ih,iv)         （C14(ih,iv)が最も小さいとき）
ステップＳ１３６０において、視差から距離を演算する。式（７）を距離Ａについて解くと式（８）のように表されるため、ブロックB(ih,iv)に含まれる領域の距離DIS(x,y)は、下記式（１６１）にように示される。ここで、ｆは焦点距離、Dxはｘ方向の光軸間距離、ｐは撮像素子１２３の受光素子の間隔である。視差値Δが画素単位であるため、視差値Δにｐを乗ずることにより、焦点距離ｆなどと同一の単位系に変換する。次に、ステップＳ１３７０を実行する。
【０１９５】
DIS(x,y) = [f＊Dx]/[p*Δ(ih,iv)] （(x,y)はB(ih,iv)の範囲） ・・・ (161)
ステップＳ１３７０において、距離演算を終了するかどうかを判断する。全てのブロックが選択されたとき（選択ブロックがB(Nh-1,Nv-1)のとき）、距離演算を終了すると判断し、次に、ステップＳ１３８０を実行する。一方、全てのブロックが選択されたされていないとき（選択ブロックがB(Nh-1,Nv-1)でないとき）、距離演算を継続すると判断し、次に、ステップＳ１３４０を実行する。
【０１９６】
ステップＳ１３８０において、距離演算を終了し、上位ルーチンへ戻る。このようにして、切出し後の座標(x,y)における距離DIS(x,y)が求められた。次に、ステップＳ１９１０（図３０）を実行する。
【０１９７】
ステップＳ１９１０において、入出力部２３５は、画像データ、距離データ、および温度データを撮像装置１０１の外部に出力する。画像データとして、撮像信号I0、あるいは第１の撮像信号I1を出力する。距離データとして、距離DISを出力する。温度データとして、温度センサ信号Tsを出力する。次に、ステップＳ１９２０を実行する。
【０１９８】
ステップＳ１９２０において、動作を終了するかどうかを判断する。例えば、システム制御部１３１は、入出力部２３５を介し、上位ＣＰＵ（図示せず）と通信し、動作を終了するかどうかの命令を要求する。そして、上位ＣＰＵが終了を命令すれば動作を終了し、次に、ステップＳ１９３０を実行する。一方、上位ＣＰＵが終了を命令しなければ動作を継続し、次に、ステップＳ１０２０を実行する。すなわち、上位ＣＰＵが終了を命令しない限り、ステップＳ１０２０、ステップＳ１０３０、ステップＳ１１１０、ステップＳ１１２０、ステップＳ１２００、およびステップＳ１９１０のループの実行を継続する。
【０１９９】
ステップＳ１９３０において、撮像装置１０１の動作を終了する。
【０２００】
本実施の形態の撮像装置が以上のように構成されて動作することにより、以下の効果が奏される。
【０２０１】
以上のとおり、実施の形態３の撮像装置は、温度センサ１２６によりレンズアレイ１１３の周囲温度を計測し、温度センサ信号Tsとして入力する。そして、レンズアレイ１１３が略円形であるために等方的に膨張することを利用し、式（１１２）及び（１１３）によって、レンズアレイ１１３の温度上昇に伴う光軸間の間隔のｘ方向の変化量dbx、ｙ方向の変化量dbyを求め、その間隔の半分だけ光軸が変化するものとして、式（１１４）から（１２１）によって、第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、および第４のレンズ部１１３ｄの光軸中心(xc4,yc4)を作成し、これらに基づき座標変換する。このことにより、実施の形態１と同様の効果を奏する。
【０２０２】
また、実施の形態３の撮像装置は、例えば、第１のレンズ部１１３ａの光軸中心ｘ座標xc1ならば、温度センサ信号Tsに応じた複数組の補正係数（センサ温度信号Tsが０、２５６、５１２、７６８、１０２４、・・・、３８４０、４０９６のときの値であるxc1#0、xc1#256、xc1#512、xc1#768、xc1#1024、・・・、xc1#3040、xc1#4096）を係数保存部２４１に保存し、温度センサ信号Tsに関して式（１１１）のように補間処理を行い、当該温度センサ信号Tsに応じた補正係数を作成する。同様に、第１のレンズ部１１３ａの光軸中心ｙ座標yc1、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、歪曲係数k2,k4、倍率(rx,ry)、焦点距離f、および各レンズ部のｘ方向の光軸間距離Dxは、それぞれ係数保存部２４１に各温度での値を持ち、温度センサ信号Tsを用いて補間演算を行い、当該温度センサ信号Tsに応じたものが作成される。
【０２０３】
このことより、補正式から補正係数を演算すること（例えば、式（１１２）から（１２１）のような演算をすること）が不要になるため、その分だけ演算時間や演算回路が不要となり、低コストな撮像装置を実現することができる。また、温度に応じて複雑な非線形な変化をする補正係数について、光学解析や実験で求めた値を保存し用いることにより、補正式で表現される変化と実際の変化との誤差を防止し、正しく歪みの影響を低減できるため、視差の検知及び距離測定を高精度に行うことができる。
【０２０４】
また、実施の形態３の撮像装置は、予め各温度センサ信号Tsに応じた補正係数を保存するにあたり、全ての温度センサ信号Ts（０から４０９５までのデジタル値を取る）に対応した補正係数を保存せずに２５６おきに間引いた補正係数を保存し、温度に対して補間した補正係数を作成する。例えば、第１のレンズ部１１３ａの光軸中心ｘ座標xc1ならば、温度センサ信号Tsに対し２５６おきに間引いた補正係数（センサ温度信号Tsが０、２５６、５１２、７６８、１０２４、・・・、３８４０、４０９６のときの値であるxc1#0、xc1#256、xc1#512、xc1#768、xc1#1024、・・・、xc1#3040、xc1#4096）を保存し、温度センサ信号Tsに関して補間して用いる。このことにより、間引いた分だけ記憶領域を１／２５６倍に省略することができるため、その分だけ回路規模を縮小した低コストな撮像装置を実現することができる。
【０２０５】
また、実施の形態３の撮像装置は、撮像信号補正部２４３において、第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、歪曲係数k2,k4、および倍率(rx,ry)に基づき、式（１２６）、（１２７）、（１２８）を用いて第１の撮像信号用の参照先座標(tx1,ty1)を、式（１３１）、（１３２）、（１３３）を用いて第２の撮像信号用の参照先座標(tx2,ty2)を、式（１３５）、（１３６）、（１３７）を用いて第３の撮像信号用の参照先座標(tx3,ty3)を、式（１３９）、（１４０）、（１４１）を用いて第４の撮像信号用の参照先座標(tx4,ty4)を求める。そして、参照先座標が示す複数の撮像信号を参照して式（１２９）、（１３０）、（１３４）、（１３８）、（１４２）のように補間処理を施し、補正後撮像信号である第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4を作成する。
【０２０６】
予め参照先座標を演算し保持する場合、補正後撮像信号（第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4）の全ての画素（全て合わせて画素数が4*H1*V1）に関し参照先座標（第１の撮像信号用の参照先座標(tx1,ty1)、第２の撮像信号用の参照先座標(tx2,ty2)、第３の撮像信号用の参照先座標(tx3,ty3)、および第４の撮像信号用の参照先座標(tx4,ty4)）が必要となるため、膨大な記憶容量が必要となり、その分だけ高コストとなる。特に、温度により参照先座標を変化させる必要がある場合、温度毎の参照先座標が必要であり、さらに膨大な記憶容量が必要となる。本実施の形態の構成により、逐次、補正係数（第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、歪曲係数k2,k4、および倍率(rx,ry)）から参照先座標（第１の撮像信号用の参照先座標(tx1,ty1)、第２の撮像信号用の参照先座標(tx2,ty2)、第３の撮像信号用の参照先座標(tx3,ty3)、および第４の撮像信号用の参照先座標(tx4,ty4)）を求め、補正後撮像信号（第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4）を作成する。このことにより、補正係数のみに記憶領域を割り当てればよく、大きな容量の記憶領域は不要であるため、低コストな撮像装置を実現する。特に、温度に基づいて参照先座標を変化させる必要がある場合、その効果は顕著である。
【０２０７】
また、実施の形態３の撮像装置は、温度補償演算部２４２において温度センサ信号Tsに基づき焦点距離ｆを作成し、距離演算部２４４の式（１６１）において距離演算に利用する。温度変化に伴いレンズアレイ１１３の屈折率変化が変化し、焦点距離ｆが変化するため、一定の焦点距離ｆを用いると焦点距離ｆの温度変化分だけ距離精度が悪化する。本発明の構成により、レンズアレイ１１３の温度変化に対応した焦点距離ｆを距離演算に用いることができるため、高精度な距離演算を実現することができる。
【０２０８】
また、実施の形態３の撮像装置は、温度補償演算部２４２において温度センサ信号Tsに基づき倍率(rx,ry)を作成し、撮像信号補正部２４３において倍率(rx,ry)などに基づき撮像信号I0を補正し、補正後撮像信号（第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4）を作成する。温度変化に伴い鏡筒１１１の長さ（レンズアレイ１１３の各レンズ部（第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄ）の主点と撮像素子１２３の受光面との距離）が変化し、その分だけ倍率が変化するため、倍率変化を考慮しなければ鏡筒の長さが温度変化する分だけ距離精度が悪化する。本実施の形態の構成により、鏡筒１１１の長さの温度変化に対応した倍率(rx,ry)だけ撮像信号を補正することにより、鏡筒の長さの温度変化の影響を低減することができるため、高精度な視差演算を実現し、それゆえ高精度な距離演算を実現することができる。
【０２０９】
なお、実施の形態３の撮像装置において、温度センサ信号Tsに基づき焦点距離ｆを変化させたが、焦点距離ｆを一定に保ち、倍率(rx,ry)を変化させてもよい。ｆの変化に比例して倍率が変化するため、基準温度Th0のときの焦点距離に対する比を焦点距離に関する倍率の変化の比とする。具体的には、ｆを温度がT(Ts)のときの焦点距離、f0を基準温度Th0のときの焦点距離とし、焦点距離の変化の比（f/f0）を式（１２３）、（１２４）の右辺に乗じ、下記式（１６２）、（１６３）のように倍率(rx,ry)を演算する。
【０２１０】
rx = [1+kk*(T(Ts)-Tk0)]*(f/f0) ・・・(162)
ry = [1+kk*(T(Ts)-Tk0)]*(f/f0) ・・・(163)
また、実施の形態３の撮像装置において、レンズアレイ１１３は４つのレンズ部を持ったがこれに限定されない。レンズ部の数が異なっていてもよい。
【０２１１】
図３７は、実施の形態３の変形例に係る撮像装置のレンズアレイの構成を示す平面図である。図３７（ａ）に示すレンズアレイ１１３Ｃのように、ｘ方向にDxだけ離れた２つのレンズ部（第１のレンズ部１１３Ｃａ、および第２のレンズ部１１３Ｃｂ）を持つものでもよい。なお、係数保存部２４１にぞれぞれのレンズ部の光軸中心を以下のように決定し保存する。式（１１２）、（１１３）のように、温度上昇に伴う光軸間の間隔のｘ方向の変化量dbx、ｙ方向の変化量dbyを演算し、その半分（ｘ方向にp*dbx/2、ｙ方向にp*dby/2）だけ光軸中心が移動するとして作成する。具体的には、下記式（１６４）、（１６５）のように、第１のレンズ部１１３Ｃａの光軸中心(xc1,yc1)は、基準温度Th0における光軸中心(xc10,yc10)からｘ方向に-dbx/2だけ移動するように作成する。また、下記式（１６６）、（１６７）のように、第２のレンズ部１１３Ｃｂの光軸中心(xc2,yc2)は、基準温度Th0における光軸中心(xc20,yc20)からｘ方向に+dbx/2だけ移動するように作成する。
【０２１２】
xc1 = xc10 - dbx/2 ・・・(164) 
yc1 = yc10         ・・・(165)
xc2 = xc20 + dbx/2 ・・・(166) 
yc2 = yc20         ・・・(167)
また、図３７（ｂ）に示すレンズアレイ１１３Ｄのように、最外周部のレンズ部同士がｘ方向にDxだけ、ｙ方向にDyだけ離れた９つのレンズ部（第１のレンズ部１１３Ｄａ、第２のレンズ部１１３Ｄｂ、第３のレンズ部１１３Ｄｃ、第４のレンズ部１１３Ｄｄ、第５のレンズ部１１３Ｄｅ、第６のレンズ部１１３Ｄｆ、第７のレンズ部１１３Ｄｇ、第８のレンズ部１１３Ｄｈ、および第９のレンズ部１１３Ｄｉ。ｘ方向、ｙ方向に関してそれぞれ等間隔に配置されたもの）を持つものでもよい。なお、係数保存部２４１にぞれぞれのレンズ部の光軸中心を以下のように決定し保存する。
【０２１３】
式（１１２）、（１１３）のように、温度上昇に伴う光軸間の間隔のｘ方向の変化量dbx、ｙ方向の変化量dbyを演算し、その半分（ｘ方向にp*dbx/2、ｙ方向にp*dby/2）だけ光軸中心が移動するとして作成する。具体的には、下記式（１６８）、（１６９）のように、第１のレンズ部１１３Ｄａの光軸中心(xc1,yc1)は、基準温度Th0における光軸中心(xc10,yc10)からｘ方向に-dbx/2、ｙ方向に-dby/2だけ移動するように作成する。また、下記式（１７０）、（１７１）のように、第２のレンズ部１１３Ｄｂの光軸中心(xc2,yc2)は、基準温度Th0における光軸中心(xc20,yc20)からｙ方向に-dby/2だけ移動するように作成する。また、下記式（１７２）、（１７３）のように、第３のレンズ部１１３Ｄｃの光軸中心(xc3,yc3)は、基準温度Th0における光軸中心(xc30,yc30)からｘ方向に+dbx/2、ｙ方向に-dby/2だけ移動するように作成する。また、下記式（１７４）、（１７５）のように、第４のレンズ部１１３Ｄｄの光軸中心(xc4,yc4)は、基準温度Th0における光軸中心(xc40,yc40)からｘ方向に-dbx/2だけ移動するように作成する。また、下記式（１７６）、（１７７）のように、第５のレンズ部１１３Ｄｅの光軸中心(xc5,yc5)は、基準温度Th0における光軸中心(xc10,yc10)から移動しないように作成する。また、下記式（１７８）、（１７９）のように、第６のレンズ部１１３Ｄｆの光軸中心(xc6,yc6)は、基準温度Th0における光軸中心(xc60,yc60)からｘ方向に+dbx/2だけ移動するように作成する。また、下記式（１８０）、（１８１）のように、第７のレンズ部１１３Ｄｇの光軸中心(xc7,yc7)は、基準温度Th0における光軸中心(xc70,yc70)からｘ方向に-dbx/2、ｙ方向に+dby/2だけ移動するように作成する。また、下記式（１８２）、（１８３）のように、第８のレンズ部１１３Ｄｈの光軸中心(xc8,yc8)は、基準温度Th0における光軸中心(xc80,yc80)からｙ方向に+dby/2だけ移動するように作成する。また、下記式（８４）、（８５）のように、第９のレンズ部１１３Ｄｉの光軸中心(xc9,yc9)は、基準温度Th0における光軸中心(xc90,yc90)からｘ方向に+dbx/2、ｙ方向に+dby/2だけ移動するように作成する。
【０２１４】
xc1 = xc10 - dbx/2 ・・・(168) 
yc1 = yc10 - dby/2 ・・・(169)
xc2 = xc20         ・・・(170) 
yc2 = yc20 - dby/2 ・・・(171)
xc3 = xc30 + dbx/2 ・・・(172) 
yc3 = yc30 - dby/2 ・・・(173)
xc4 = xc40 - dbx/2 ・・・(174) 
yc4 = yc40         ・・・(175)
xc5 = xc50         ・・・(176) 
yc5 = yc50         ・・・(177)
xc6 = xc60 + dbx/2 ・・・(178) 
yc6 = yc60         ・・・(179)
xc7 = xc70 - dbx/2 ・・・(180) 
yc7 = yc70 + dby/2 ・・・(181)
xc8 = xc80         ・・・(182) 
yc8 = yc80 + dby/2 ・・・(183)
xc9 = xc90 + dbx/2 ・・・(184) 
yc9 = yc90 + dby/2 ・・・(185)
また、実施の形態３の撮像装置は、歪曲係数kd2,kd4、倍率(rx,ry)、第１のレンズ部１１３ａの光軸中心(xc1,yc1)、第２のレンズ部１１３ｂの光軸中心(xc2,yc2)、第３のレンズ部１１３ｃの光軸中心(xc3,yc3)、第４のレンズ部１１３ｄの光軸中心(xc4,yc4)、焦点距離f、および各レンズ部のｘ方向の光軸間距離Dxを温度補償し、撮像信号を補正したが、これに限定されない。例えば、高次歪曲係数や、各レンズ部ごとの倍率や、各レンズ部ごとの回転補正などをしてもよい。
【０２１５】
なお、実施の形態１及び２では、温度センサにより検知された温度に基づいて複数のレンズの光軸の移動量を推定し、その推定した光軸の移動量に基づいて撮像信号を補正した。また、実施の形態３では、温度センサにより検知された温度に基づいて複数のレンズの光軸の移動量を含む補正係数を作成し、その補正係数に基づいて撮像信号を補正した。しかし、本発明における撮像信号の補正はこれらに限定されるものではなく、温度センサにより検知された温度に基づいて、温度変化による複数のレンズの光軸の移動量に応じて撮像信号を補正すればよい。
【０２１６】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【産業上の利用可能性】
【０２１７】
本発明の撮像装置は、距離計測可能な小型の撮像装置であるため、カメラ機能を備えた携帯型電話機、デジタルスチルカメラ、車載用カメラ、監視用カメラ、三次元計測器、および立体画像入力カメラ等に有用である。
【図面の簡単な説明】
【０２１８】
【図１】図１は本発明の実施の形態１に係る撮像装置の構成を示す断面図である。
【図２】図２は本発明の実施の形態１に係る撮像装置のレンズアレイの構成を示す平面図である。
【図３Ａ】図３Ａは本発明の実施の形態１に係る撮像装置の回路部の構成を示す平面図である。
【図３Ｂ】図３Ｂは本発明の実施の形態１に係る撮像装置の撮像素子の構成を示す平面図である。
【図４】図４は本発明の実施の形態１に係る撮像装置の温度センサの回路図である。
【図５】図５は本発明の実施の形態１に係る撮像装置において、無限遠にある物体像の位置を説明するための図である。
【図６】図６は本発明の実施の形態１に係る撮像装置において、有限距離の位置にある物体像の位置を説明するための図である。
【図７】図７は本発明の実施の形態１に係る撮像装置の構成を示すブロック図である。
【図８】図８は本発明の実施の形態１に係る撮像装置の撮像信号の切り出し位置を説明するための図である。
【図９Ａ】図９Ａは本発明の実施の形態１に係る撮像装置の動作を示すフローチャートである。
【図９Ｂ】図９Ｂは平行移動処理と歪曲補正処理との前後の撮像信号を示す図である。
【図９Ｃ】図９Ｃは並行移動処理の前後の撮像信号を示す図である。
【図１０】図１０は本発明の実施の形態１に係る撮像装置の演算部の動作を示すフローチャートである。
【図１１】図１１は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算の動作を示すフローチャートである。
【図１２】図１２は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第１の撮像信号の分割ブロック及び演算順番を説明するための図である。
【図１３】図１３は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第２の撮像信号の分割ブロック及び演算順番を説明するための図である。
【図１４】図１４は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差評価値の演算領域を説明するための図である。
【図１５】図１５は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差と視差評価値との関係を説明するための図である。
【図１６】図１６は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。
【図１７】図１７は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用した視差演算の動作を示すフローチャートである。
【図１８】図１８は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用した視差演算における第３の撮像信号の分割ブロックと演算順番を説明するための図である。
【図１９】図１９は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第３の撮像信号とを利用したときの視差評価値の演算領域を説明するための図である。
【図２０】図２０は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第３の撮像信号とを利用したときの視差演算における視差と視差評価値との関係を説明するための図である。
【図２１】図２１は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第３の撮像信号とを利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。
【図２２】図２２は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算の動作を示すフローチャートである。
【図２３】図２３は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算における第４の撮像信号の分割ブロックと演算順番を説明するための図である。
【図２４】図２４は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第４の撮像信号とを利用したときの視差評価値の演算領域を説明するための図である。
【図２５】図２５は本発明の実施の形態１に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用したときの視差演算における視差と視差評価値との関係を説明するための図である。
【図２６】図２６は本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第４の撮像信号とを利用したときの視差演算における視差評価値の信頼度の演算領域を説明するための図である。
【図２７】図２７は実施の形態１の変形例に係る撮像装置のレンズアレイの構成を示す平面図である。
【図２８】図２８は本発明の実施の形態２に係る撮像装置のレンズアレイの構成を示す平面図である。
【図２９】図２９は本発明の実施の形態３に係る撮像装置の構成を示すブロック図である。
【図３０】図３０は本発明の実施の形態３に係る撮像装置の動作を示すフローチャートである。
【図３１】図３１は本発明の実施の形態３に係る係数保存部を説明するための図である。
【図３２】図３２は本発明の実施の形態３に係る撮像装置の撮像信号の切り出し位置を説明するための図である。
【図３３】図３３は本発明の実施の形態３に係る撮像装置の距離演算部の動作を示すフローチャートである。
【図３４】図３４は本発明の実施の形態３に係る撮像装置において、ブロック分割を説明する図である。
【図３５】図３５は本発明の実施の形態３に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差評価値の演算領域を説明する図である。
【図３６】図３６は本発明の実施の形態３に係る撮像装置の第１の撮像信号と第２の撮像信号を利用したときの視差演算におけるずらし量と視差評価値との関係を説明する図である。
【図３７】図３７は実施の形態３の変形例に係る撮像装置のレンズアレイの構成を示す平面図である。
【図３８】図３８は従来の撮像装置の分解斜視図である。
【図３９】図３９は従来の撮像装置の撮像ブロックを説明するための図である。
【符号の説明】
【０２１９】
１０１  カメラモジュール
１１０  レンズモジュール
１１１  鏡筒
１１２  上部カバーガラス
１１３  レンズアレイ
１１３ａ  第１のレンズ部
１１３ｂ  第２のレンズ部
１１３ｃ  第３のレンズ部
１１３ｄ  第４のレンズ部
１２０  回路部
１２１  基板
１２２  パッケージ
１２３  撮像素子
１２４  パッケージカバーガラス
１２５  ＳＬＳＩ
１２６  温度センサ
１２７  金線
１３１  システム制御部
１３２  撮像素子駆動部
１３３  撮像信号入力部
１３４  入力バッファ
１３５  前処理部
１３５ａ  第１の中間バッファ
１３５ｂ  第２の中間バッファ
１３５ｃ  第３の中間バッファ
１３５ｄ  第４の中間バッファ
１３５ｅ  前処理演算部
１３６  演算部
１３７  出力バッファ
１３７ａ  第１の出力バッファ
１３７ｂ  第２の出力バッファ
１３８  入出力部
１３９  温度補償部
１３９ａ  温度センサ信号入力部
１３９ｂ  温度補償演算部
１４１  演算バッファ
１４１  第１の演算バッファ
１４１  第２の演算バッファ
１４２  視差演算部
１４３  距離演算部
２２５  ＳＬＳＩ
２３４  温度センサ信号入力部
２３５  入出力部
２４１  係数保存部
２４２  温度補償演算部
２４３  撮像信号補正部
２４４  距離演算部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009001563.tif 000045
【図２】
2009001563.tif 000046
【図３Ａ】
2009001563.tif 000047
【図３Ｂ】
2009001563.tif 000048
【図４】
2009001563.tif 000049
【図５】
2009001563.tif 000050
【図６】
2009001563.tif 000051
【図７】
2009001563.tif 000052
【図８】
2009001563.tif 000053
【図９Ａ】
2009001563.tif 000054
【図９Ｂ】
2009001563.tif 000055
【図９Ｃ】
2009001563.tif 000056
【図１０】
2009001563.tif 000057
【図１１】
2009001563.tif 000058
【図１２】
2009001563.tif 000059
【図１３】
2009001563.tif 000060
【図１４】
2009001563.tif 000061
【図１５】
2009001563.tif 000062
【図１６】
2009001563.tif 000063
【図１７】
2009001563.tif 000064
【図１８】
2009001563.tif 000065
【図１９】
2009001563.tif 000066
【図２０】
2009001563.tif 000067
【図２１】
2009001563.tif 000068
【図２２】
2009001563.tif 000069
【図２３】
2009001563.tif 000070
【図２４】
2009001563.tif 000071
【図２５】
2009001563.tif 000072
【図２６】
2009001563.tif 000073
【図２７】
2009001563.tif 000074
【図２８】
2009001563.tif 000075
【図２９】
2009001563.tif 000076
【図３０】
2009001563.tif 000077
【図３１】
2009001563.tif 000078
【図３２】
2009001563.tif 000079
【図３３】
2009001563.tif 000080
【図３４】
2009001563.tif 000081
【図３５】
2009001563.tif 000082
【図３６】
2009001563.tif 000083
【図３７】
2009001563.tif 000084
【図３８】
2009001563.tif 000085
【図３９】
2009001563.tif 000086
【手続補正書】
【提出日】平成20年10月27日(2008.10.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のレンズを含むレンズアレイと、
前記複数のレンズと一対一に対応して設けられ、対応する前記レンズの光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域と、
前記レンズアレイの近傍に配置され温度を検知する温度センサと、
前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量に応じて前記撮像領域において生成された撮像信号を補正する温度補償／撮像信号補正部と、
前記温度補償／撮像信号補正部により補正された前記撮像信号に基づき視差を演算する視差演算部と、を備える、撮像装置。
【請求項２】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を推定する移動量推定部と、前記移動量推定部により推定された前記光軸の移動量に基づいて、前記撮像領域において生成された撮像信号を補正する撮像信号補正部と、を含み、
前記視差演算部は、前記撮像信号補正部により補正された前記撮像信号に基づき視差を演算するよう構成されている、請求項１に記載の撮像装置。
【請求項３】
前記移動量推定部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、前記光軸の移動量を推定するように構成されている、請求項２に記載の撮像装置。
【請求項４】
前記移動量推定部は、前記算出された変化量の半分を前記光軸の移動量と推定するように構成されている、請求項３に記載の撮像装置。
【請求項５】
前記撮像信号補正部は、前記移動量に基づき、光軸位置を補正し、その光軸周りの歪曲を補正するように構成されている、請求項２に記載の撮像装置。
【請求項６】
前記撮像信号補正部は、前記移動量に基づき、切り出し領域を変化させるように構成されている、請求項２に記載の撮像装置。
【請求項７】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を含む補正係数を作成する補正係数作成部と、前記補正係数に基づいて、前記撮像領域において生成された撮像信号を補正し補正後撮像信号を作成する撮像信号補正部と、を含み、
視差演算部は、前記補正後撮像信号に基づき視差を演算するように構成されている、請求項１に記載の撮像装置。
【請求項８】
前記補正係数作成部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量の半分を前記光軸の移動量として前記補正係数を作成するように構成されている、請求項７に記載の撮像装置。
【請求項９】
前記温度に応じた複数組の補正係数を複数の補正係数保存値として保存する補正係数保存部を有し、
前記補正係数作成部は、前記複数組の補正係数保存値から前記温度に応じた補正係数保存値を選択して前記補正係数を作成するように構成されている、  請求項７に記載の撮像装置。
【請求項１０】
前記温度センサの信号を入力しデジタル値である温度値を作成する温度センサ信号入力部を有し、
前記補正係数保存部は、前記温度値よりも分解能が粗い組の前記補正係数保存値を保存するように構成されており、
前記補正係数作成部は、前記温度値に基づき複数組の前記補正係数保存値を選択し補間処理して、前記補正係数を作成するように構成されている、請求項９に記載の撮像装置。
【請求項１１】
前記撮像信号補正部は、前記補正係数に基づき参照先座標を求め、前記参照先座標が示す複数の撮像信号を参照し補間処理を施し補正後撮像信号を作成するように構成されている、請求項７に記載の撮像装置。
【請求項１２】
複数のレンズを含むレンズアレイと、前記複数のレンズと一対一に対応して設けられ、対応する前記レンズの光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域とを有する撮像装置に用いられる半導体回路素子であって、
前記レンズアレイの近傍に配置された温度センサによって検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量に応じて前記撮像領域において生成された撮像信号を補正する温度補償／撮像信号補正部と、
前記温度補償／撮像信号補正部により補正された前記撮像信号に基づき視差を演算する視差演算部と、を備える、半導体回路素子。
【請求項１３】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を推定する移動量推定部と、前記移動量推定部により推定された前記光軸の移動量に基づいて、前記撮像領域において生成された撮像信号を補正する撮像信号補正部と、を含み、
前記視差演算部は、前記撮像信号補正部により補正された前記撮像信号に基づき視差を演算するよう構成されている、請求項１２に記載の半導体回路素子。
【請求項１４】
前記移動量推定部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量に基づいて、前記光軸の移動量を推定するように構成されている、請求項１３に記載の半導体回路素子。
【請求項１５】
前記移動量推定部は、前記算出された変化量の半分を前記光軸の移動量と推定するように構成されている、請求項１４に記載の半導体回路素子。
【請求項１６】
前記撮像信号補正部は、前記移動量に基づき、光軸位置を補正し、その光軸周りの歪曲を補正するように構成されている、請求項１３に記載の半導体回路素子。
【請求項１７】
前記撮像信号補正部は、前記移動量に基づき、切り出し領域を変化させるように構成されている、請求項１３に記載の半導体回路素子。
【請求項１８】
前記温度補償／撮像信号補正部は、前記温度センサにより検知された温度に基づいて、前記複数のレンズのすべての光軸の移動量を含む補正係数を作成する補正係数作成部と、前記補正係数に基づいて、前記撮像領域において生成された撮像信号を補正し補正後撮像信号を作成する撮像信号補正部と、を含み、
視差演算部は、前記補正後撮像信号に基づき視差を演算するように構成されている、請求項１２に記載の半導体回路素子。
【請求項１９】
前記補正係数作成部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その前記算出された変化量の半分を前記光軸の移動量として前記補正係数を作成するように構成されている、請求項１８に記載の半導体回路素子。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
上記発明に係る撮像装置において、前記補正係数作成部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その算出された変化量の半分を前記光軸の移動量として前記補正係数を作成するように構成されていてもよい。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
ここで、前記補正係数作成部は、前記検知された温度に基づき前記複数のレンズの光軸間の間隔の変化量を算出し、その前記算出された変化量の半分を前記光軸の移動量として前記補正係数を作成するように構成されていてもよい。
【国際調査報告】
2009001563.tif 000087
2009001563.tif 000088
2009001563.tif 000089
2009001563.tif 000090