(57)【特許請求の範囲】
【請求項１】
それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、
前記複数のレンズ部に一対一に対応して設けられ、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域と、
前記撮像領域により生成された撮像信号の入力を受ける撮像信号入力部と、
前記撮像領域から前記撮像信号入力部へ転送される撮像信号の転送範囲を決定する転送範囲決定部と、
前記転送範囲決定部により決定された転送範囲に応じた撮像信号を前記撮像信号入力部へ転送するように前記撮像領域を駆動する撮像領域駆動部と、
前記撮像信号入力部に転送された撮像信号に基づき視差を演算する視差演算部とを備え、
前記転送範囲決定部は、前記複数の撮像領域のうち少なくとも２つの撮像領域で生成される撮像信号を前記転送範囲と決定する第１の動作モードと、第１の動作モードとは異なる撮像信号を前記転送範囲と決定する第２の動作モードとを切替可能なように構成されており、
前記複数の撮像領域のうちの少なくとも２つの撮像領域は、生成する撮像信号の一部を前記撮像信号入力部へ交互に転送することを繰り返すことによって、生成する撮像信号の全てを前記撮像信号入力部へ転送するように構成されている、撮像装置。
【請求項２】
前記視差演算部によって得られた視差に基づいて、被写体までの距離を演算する距離演算部を更に備える、請求項１に記載の撮像装置。
【請求項３】
それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応して設けられ、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域とを有する撮像装置に用いられる半導体回路素子であって、
前記撮像領域により生成された撮像信号の入力を受ける撮像信号入力部と、
前記撮像領域から前記撮像信号入力部へ転送される撮像信号の転送範囲を決定する転送範囲決定部と、
前記転送範囲決定部により決定された転送範囲に応じた撮像信号を前記撮像信号入力部へ転送するように前記撮像領域を駆動する撮像素子駆動部と、
前記撮像信号入力部に転送された撮像信号に基づき視差を演算する視差演算部とを備え、
前記転送範囲決定部は、前記複数の撮像領域のうち少なくとも２つの撮像領域で生成される撮像信号を前記転送範囲と決定する第１の動作モードと、第１の動作モードとは異なる撮像信号を前記転送範囲と決定する第２の動作モードとを切替可能なように構成されており、
前記複数の撮像領域のうちの少なくとも２つの撮像領域は、生成する撮像信号の一部を前記撮像信号入力部へ交互に転送することを繰り返すことによって、生成する撮像信号の全てを前記撮像信号入力部へ転送するように構成されている、半導体回路素子。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、距離計測可能な撮像装置及びその撮像装置に用いられる半導体回路素子に関する。
【背景技術】
【０００２】
従来の撮像装置として、特許文献１の撮像装置がある。図５３は、特許文献１の撮像装置の分解斜視図である。撮像装置９０１は、絞り部材９０２と、光学レンズアレイ９０３と、光学フィルタ９０６と、撮像ユニット９０７とを備えている。この撮像装置９０１において、４つの開口部９０２−１、９０２−２、９０２−３、９０２−４を持つ絞り部材９０２と、４つのレンズ９０３−１、９０３−２、９０３−３、９０３−４を持つ光学レンズアレイ９０３とにより、４つの撮像光学系が構成されており、それぞれを通過した光線がそれぞれ撮像ユニット９０７上の４つの画素群９０７−１、９０７−２、９０７−３、９０７−４に結像する。ＣＣＤセンサなどで形成された撮像ユニット９０７は、駆動回路９０８と信号処理回路９０９と共に半導体基板９１０上に形成される。
【０００３】
信号処理回路９０９は、駆動回路から９０８により撮像ユニット９０７の画素情報を順次読み出し画素信号として入力し、画素信号から各画素群（９０７−１、９０７−２、９０７−３、９０７−４）における視差の値を演算し、この視差に基づき距離を演算する。
【特許文献１】特開２００３−１４３４５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述のように、特許文献１に記載された従来の撮像装置において、信号処理回路９０９は、撮像ユニット９０７上の４つの画素分９０７−１、９０７−２、９０７−３、９０７−４の全ての画素情報を駆動回路９０８を用いて読み出し、視差を演算する。そのため、全ての画素情報を撮像ユニット９０７から信号処理回路９０９へ転送する分だけ転送時間が必要であり、その転送時間の分だけ高速化に限界があった。すなわち、視差演算の間隔は、この転送時間より短くできなかった。
【０００５】
また、撮像ユニット９０７として、ローリングシャッタ方式のＣＭＯＳセンサを利用した場合、画素群９０７−１、９０７−２、９０７−３、９０７−４により撮像される時刻が異なる。被写体の動作が速いとき、視差演算に利用する撮像信号が異なるため、求められる視差の精度が低下する。
【０００６】
本発明は、上記問題に鑑みなされたもので、高速で高精度な視差演算を可能とする撮像装置及びその撮像装置に用いられる半導体回路素子を提供することを目的とする。すなわち、撮像信号の転送時間を短縮することにより、高速な視差演算を可能とし、被写体の動作が速くても、高精度な視差演算を可能とする撮像装置及び半導体回路素子を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明の撮像装置は、それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応して設けられ、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域と、  前記撮像領域により生成された撮像信号の入力を受ける撮像信号入力部と、前記撮像領域から前記撮像信号入力部へ転送される撮像信号の転送範囲を決定する転送範囲決定部と、前記転送範囲決定部により決定された転送範囲に応じた撮像信号を前記撮像信号入力部へ転送するように前記撮像領域を駆動する撮像領域駆動部と、前記撮像信号入力部に転送された撮像信号に基づき視差を演算する視差演算部とを備え、前記転送範囲決定部は、前記複数の撮像領域のうち少なくとも２つの撮像領域で生成される撮像信号を前記転送範囲と決定する第１の動作モードと、第１の動作モードとは異なる撮像信号を前記転送範囲と決定する第２の動作モードとを切替可能なように構成されている。
【０００８】
常に撮像領域の全領域で生成される撮像信号を転送する場合、転送時間が長時間となるため、高速な視差演算を行うことは困難である。そこで、上述したように、第１の動作モードと第２の動作モードとを適宜切り替えることにより、転送が必要な範囲のみの撮像信号を転送すれば足りるようになるため、高速な視差演算が可能となる。
【０００９】
前記発明に係る撮像装置において、前記転送範囲決定部が、前記撮像領域の略全領域で生成される撮像信号を前記転送範囲とする第１の動作モードと、前記撮像領域の略半分の領域で生成される撮像信号を前記転送範囲とする第２の動作モードとを切替可能なように構成されていてもよい。
【００１０】
また、前記発明に係る撮像装置において、前記略半分の領域を、前記撮像領域のうち転送順の早い略半分の領域としてもよく、４つの撮像領域が２行２列で配設されている場合であれば、前記略半分の領域を、対角位置にある２つの前記撮像領域としてもよい。
【００１１】
また、前記発明に係る撮像装置において、前記撮像領域がインターレース走査される複数のフィールドに分割され、前記転送範囲決定部が、前記撮像領域の略全領域で生成される撮像信号を前記転送範囲とする第１の動作モードと、前記撮像領域の１フィールド分の撮像信号を前記転送範囲とする第２の動作モードとを切替可能なように構成されていてもよい。
【００１２】
また、前記発明に係る撮像装置において、前記転送範囲決定部が、被写体に関する情報に基づいて、前記第１の動作モードと前記第２の動作モードとを切り替えるように構成されていてもよい。
【００１３】
また、前記発明に係る撮像装置において、前記転送範囲決定部が、視差の演算に高速性が必要であると判断した場合に、前記第１の動作モードから前記第２の動作モードへ切り替えるように構成されていてもよい。
【００１４】
また、前記発明に係る撮像装置において、前記転送範囲決定部が、視差の演算に高精度が必要であると判断した場合に、前記第２の動作モードから前記第１の動作モードへ切り替えるように構成されていてもよい。
【００１５】
また、前記発明に係る撮像装置において、前記転送範囲決定部が、前記第１の動作モード及び前記第２の動作モードの何れにおいても、前記複数の撮像領域のうちの一部の撮像領域で生成される撮像信号を前記転送範囲と決定するように構成されていてもよい。
【００１６】
また、前記発明に係る撮像装置において、前記転送範囲決定部が、前記第１の動作モード及び前記第２の動作モードの少なくとも何れかにおいて、動作する被写体を撮像する撮像領域で生成される撮像信号を前記転送範囲と決定するように構成されていてもよい。  
【００１７】
また、前記発明に係る撮像装置において、前記転送範囲決定部が、前記被写体の動作の速さに基づいて、前記第１の動作モードと前記第２の動作モードとを切り替えるように構成されていてもよい。
【００１８】
また、前記発明に係る撮像装置において、前記転送範囲決定部が、前記被写体の動作が速い場合には多くの撮像領域で生成される撮像信号を前記転送範囲と決定する動作モードに、前記被写体の動作が遅い場合には少ない撮像領域で生成される撮像信号を前記転送範囲と決定する動作モードにそれぞれ切り替えるように構成されていてもよい。
【００１９】
また、前記発明に係る撮像装置において、前記転送範囲決定部が、前記第１の動作モード及び前記第２の動作モードの少なくとも何れかにおいて、前記転送範囲の撮像信号に係る画素数を略一定とするように構成されていてもよい。
【００２０】
また、前記発明に係る撮像装置において、前記撮像領域が、路面に相当する領域を含む領域を撮像するように構成されており、前記転送範囲決定部が、前記第１の動作モード及び前記第２の動作モードの少なくとも何れかにおいて、前記路面に相当する領域以外の領域に係る撮像信号を前記転送範囲とするように構成されていてもよい。
【００２１】
また、前記発明に係る撮像装置において、前記撮像領域が、人の顔に相当する領域を含む領域を撮像するように構成されており、前記転送範囲決定部が、前記第１の動作モード及び前記第２の動作モードの少なくとも何れかにおいて、前記人の顔に相当する領域に係る撮像信号を前記転送範囲とするように構成されていてもよい。
【００２２】
また、前記発明に係る撮像装置において、前記複数の撮像領域のうちの少なくとも２つの撮像領域は、生成する撮像信号の一部を前記撮像信号入力部へ交互に転送することを繰り返すことによって、生成する撮像信号の全てを前記撮像信号入力部へ転送するように構成されていてもよい。
【００２３】
さらに、前記発明に係る撮像装置が、前記視差演算部によって得られた視差に基づいて、被写体までの距離を演算する距離演算部を更に備えるようにしてもよい。
【００２４】
また、本発明の半導体回路素子は、それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応して設けられ、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域とを有する撮像装置に用いられる半導体回路素子であって、前記撮像領域により生成された撮像信号の入力を受ける撮像信号入力部と、前記撮像領域から前記撮像信号入力部へ転送される撮像信号の転送範囲を決定する転送範囲決定部と、前記転送範囲決定部により決定された転送範囲に応じた撮像信号を前記撮像信号入力部へ転送するように前記撮像領域を駆動する撮像素子駆動部と、前記撮像信号入力部に転送された撮像信号に基づき視差を演算する視差演算部とを備え、前記転送範囲決定部は、前記複数の撮像領域のうち少なくとも２つの撮像領域で生成される撮像信号を前記転送範囲と決定する第１の動作モードと、第１の動作モードとは異なる撮像信号を前記転送範囲と決定する第２の動作モードとを切替可能なように構成されている。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態１に係る撮像装置の構成を示す断面図
【図２】本発明の実施の形態１に係る撮像装置のレンズの構成を示す平面図
【図３Ａ】本発明の実施の形態１に係る撮像装置の回路部の構成を示す平面図
【図３Ｂ】本発明の実施の形態１に係る撮像装置の撮像素子の構成を示す平面図
【図４】本発明の実施の形態１に係る撮像装置のカラーフィルタの特性図
【図５】本発明の実施の形態１に係る撮像装置において、無限遠にある物体像の位置を説明するための図
【図６】本発明の実施の形態１に係る撮像装置において、有限距離の位置にある物体像の位置を説明するための図
【図７】本発明の実施の形態１に係る撮像装置の構成を示すブロック図
【図８】本発明の実施の形態１に係る撮像装置の撮像信号の切り出し位置を説明するための図
【図９】本発明の実施の形態１に係る撮像装置の撮像信号の転送を示すタイミングチャート
【図１０Ａ】本発明の実施の形態１に係る撮像装置の動作を示すフローチャート
【図１０Ｂ】本発明の実施の形態１に係る撮像装置の動作の変形例を示すフローチャート
【図１１Ａ】本発明の実施の形態１に係る撮像装置の演算部の動作を示すフローチャート
【図１１Ｂ】本発明の実施の形態１に係る撮像装置の演算部の動作の変形例を示すフローチャート
【図１２】本発明の実施の形態１に係る撮像装置の視差演算の動作を示すフローチャート
【図１３】本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算の動作を示すフローチャート
【図１４】本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第１の撮像信号の分割ブロックと演算順番を説明する図
【図１５】本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第２の撮像信号の分割ブロックと演算順番を説明する図
【図１６】本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差評価値の演算領域を説明する図
【図１７】本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差と視差評価値との関係を説明する図
【図１８】本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差評価値の信頼度の演算領域を説明する図
【図１９】本発明の実施の形態１に係る撮像装置の変形のフィールド画像を説明する図
【図２０】本発明の実施の形態１に係る撮像装置の変形の撮像信号の転送を示すタイミングチャート
【図２１】本発明の実施の形態２に係る撮像装置の構成を示す断面図
【図２２】本発明の実施の形態２に係る撮像装置の回路部の構成を示す平面図
【図２３】本発明の実施の形態２に係るカメラモジュールのカラーフィルタの特性図
【図２４】本発明の実施の形態２に係る撮像装置の構成を示すブロック図
【図２５】本発明の実施の形態２に係る撮像装置の撮像信号の切り出し位置を説明するための図
【図２６】本発明の実施の形態２に係る撮像装置の撮像信号の転送を示すタイミングチャート
【図２７】本発明の実施の形態２に係る撮像装置の動作を示すフローチャート
【図２８】本発明の実施の形態２に係る撮像装置の演算部の動作を示すフローチャート
【図２９】本発明の実施の形態２に係る撮像装置の視差演算の動作を示すフローチャート
【図３０】本発明の実施の形態２に係る撮像装置の第２の撮像信号と第３の撮像信号とを利用した視差演算の動作を示すフローチャート
【図３１】本発明の実施の形態２に係る撮像装置の第２の撮像信号と第３の撮像信号とを利用した視差演算における第２の撮像信号の分割ブロックと演算順番を説明する図
【図３２】本発明の実施の形態２に係る撮像装置の第２の撮像信号と第３の撮像信号とを利用した視差演算における第３の撮像信号の分割ブロックと演算順番を説明する図
【図３３】本発明の実施の形態２に係る撮像装置の第２の撮像信号と第３の撮像信号を利用したときの視差演算における視差評価値の演算領域を説明する図
【図３４】本発明の実施の形態２に係る撮像装置の第２の撮像信号と第３の撮像信号を利用したときの視差演算における視差評価値の信頼度の演算領域を説明する図
【図３５】本発明の実施の形態２に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算の動作を示すフローチャート
【図３６】本発明の実施の形態２に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算における第４の撮像信号の分割ブロックと演算順番を説明する図
【図３７】本発明の実施の形態２に係る撮像装置の第１の撮像信号と第４の撮像信号を利用したときの視差演算における視差評価値の演算領域を説明する図
【図３８】本発明の実施の形態２に係る撮像装置の第１の撮像信号と第４の撮像信号を利用したときの視差演算における視差評価値の信頼度の演算領域を説明する図
【図３９】本発明の実施の形態２に係る撮像装置の変形の撮像信号の切り出し位置を説明するための図
【図４０】本発明の実施の形態３に係る撮像装置の構成を示す断面図
【図４１】本発明の実施の形態３に係る撮像装置のレンズの構成を示す平面図
【図４２】本発明の実施の形態３に係る撮像装置の回路部の構成を示す平面図
【図４３】本発明の実施の形態３に係る撮像装置の構成を示すブロック図
【図４４】本発明の実施の形態３に係る撮像装置の動作を示すフローチャート
【図４５】本発明の実施の形態３に係る撮像装置の撮像信号の切り出し位置を説明するための図
【図４６】本発明の実施の形態３に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第１の撮像信号の分割ブロックと演算順番と転送範囲フラッグとを説明する図
【図４７】本発明の実施の形態３に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第２の撮像信号の分割ブロックと演算順番と転送範囲フラッグとを説明する図
【図４８】本発明の実施の形態３に係る撮像装置の演算部の動作を示すフローチャート
【図４９】本発明の実施の形態３に係る撮像装置の視差演算の動作を示すフローチャート
【図５０】本発明の実施の形態３に係る撮像装置の転送範囲を説明する図
【図５１】本発明の実施の形態３に係る撮像装置の変形の転送範囲を説明する図
【図５２】本発明の実施の形態３に係る撮像装置の変形の転送範囲を説明する図
【図５３】従来技術の特許文献１の撮像装置の分解斜視図
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態に係る撮像装置について、図面を参照しながら説明する。
【００２７】
（実施の形態１）
本発明の実施の形態１に係る撮像装置によれば、転送範囲決定部が、撮像信号の転送範囲を適宜変更する。特に、撮像領域の略全領域で生成される撮像信号を転送範囲とする場合と撮像領域の略半分の領域（転送順の早い領域）で生成される撮像信号を転送範囲とする場合とを切り替える。すなわち、高速性が要求されるような場合では、撮像領域の略半分の領域（転送順の早い領域）で生成される撮像信号を転送範囲とする。このことにより、高速性が必要な場合は、転送を半分の領域で生成される撮像信号に限定するため、全領域の場合と比較し、転送に要する時間が半減される。したがって、高速な視差演算、距離演算を可能にする撮像装置を実現することができる。
【００２８】
以下、本発明の実施の形態１に係る撮像装置について、図面を参照しながら説明する。
【００２９】
図１は、本発明の実施の形態１に係る撮像装置の構成を示す断面図である。図１に示すように、撮像装置１０１は、レンズモジュール部１１０、および回路部１２０を有する。
【００３０】
レンズモジュール部１１０は、鏡筒１１１、上部カバーガラス１１２、およびレンズ１１３を有する。回路部１２０は、基板１２１、パッケージ１２２、撮像素子１２３、パッケージカバーガラス１２４、および半導体回路素子であるシステムＬＳＩ（以下、ＳＬＳＩと記す）１２５を有する。
【００３１】
鏡筒１１１は、円筒状であり、その内壁面は光の乱反射を防止するためにつやが消された黒色であり、樹脂を射出成形し形成される。上部カバーガラス１１２は、円盤状であり、透明樹脂から形成され、鏡筒１１１の上部の内壁に接着剤などにより固着され、その表面は摩擦などによる損傷を防止する保護膜と、入射光の反射を防止する反射防止膜とが設けられている。
【００３２】
図２は、本発明の実施の形態１に係る撮像装置のレンズの構成を示す平面図である。レンズ１１３は、略円盤状であり、ガラスや透明樹脂から形成され、第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄが２行２列で碁盤目状に配置される。第１〜第４のレンズ部１１３ａ〜１１３ｄの配置方向に沿って、図２に示すようにｘ軸及びｙ軸を設定する。第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄにおいて、被写体側から入射した光は、撮像素子１２３側へ射出され、撮像素子１２３上に４つの像が結像される。なお、図２に示すように、第１のレンズ部１１３ａの光軸と第２のレンズ部１１３ｂの光軸は、水平方向（ｘ軸方向）はＤだけ離れており、垂直方向（ｙ軸方向）は一致する。第１のレンズ部１１３ａの光軸と第３のレンズ部１１３ｃの光軸は、水平方向（ｘ軸方向）は一致しており、垂直方向（ｙ軸方向）はＤだけ離れている。第３のレンズ部１１３ｃの光軸と第４のレンズ部１１３ｄの光軸は、水平方向（ｘ軸方向）はＤだけ離れており、垂直方向（ｙ軸方向）は一致する。
【００３３】
基板１２１は、樹脂基板から構成され、上面に鏡筒１１１がその底面を接して接着剤などにより固着される。このようにして、レンズモジュール部１１０と回路部１２０とが固定され、撮像装置１０１を構成する。
【００３４】
パッケージ１２２は、金属端子を有する樹脂からなり、鏡筒１１１の内側において、基板１２１の上面にその金属端子部が半田づけ等されて固着される。
【００３５】
撮像素子１２３は、プログレッシブＣＣＤセンサであり、撮像素子１２３の受光面が第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄの光軸と略垂直になるようにして配置される。撮像素子１２３の各端子は、パッケージ１２２の内側の底部の金属端子にワイヤーボンディングにより金線１２７で接続され、基板１２１を介して、ＳＬＳＩ１２５と電気的に接続される。撮像素子１２３の受光面に、第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄから射出された光がそれぞれ結像し、その光の情報がフォトダイオードにより電気の情報へ変換され、その電気の情報がＳＬＳＩ１２５に転送される。
【００３６】
図３Ａは、本発明の実施の形態１に係る撮像装置の回路部の構成を示す平面図である。パッケージカバーガラス１２４は、平板状であり、透明樹脂により形成され、パッケージ１２２の上面に接着などにより固着される。パッケージカバーガラス１２４の上面には、第１のカラーフィルタ１２４ａ、第２のカラーフィルタ１２４ｂ、第３のカラーフィルタ１２４ｃ、第４のカラーフィルタ１２４ｄ、および遮光部１２４ｅが蒸着などにより配置される。また、パッケージカバーガラス１２４の下面には、反射防止膜が蒸着などにより配置される。
【００３７】
図３Ｂは、本発明の実施の形態１に係る撮像装置の撮像素子の構成を示す平面図である。図３Ｂに示すように、撮像素子１２３は、第１の撮像領域１２３ａ、第２の撮像領域１２３ｂ、第３の撮像領域１２３ｃ、および第４の撮像領域１２３ｄで構成されている。これらの第１〜第４の撮像領域１２３ａ〜１２３ｄは、それぞれの受光面が、第１〜第４のレンズ部１１３ａ〜１１３ｄの光軸と略垂直になるようにして２行２列で配置される。これらの各撮像領域１２３ａ〜１２３ｄにて撮像信号が生成される。
【００３８】
上述したように、本実施の形態では、１個の撮像素子が複数の撮像領域を有しているが、本発明の撮像装置はこれに限定されるわけではなく、その他の態様で複数の撮像領域を有するようにしてもよい。したがって、例えば１個の撮像素子が１個の撮像領域となり、そのような撮像素子を複数設けることによって、複数の撮像領域を有するような態様であってもよい。
【００３９】
図４は、本発明の実施の形態１に係るカメラモジュールのカラーフィルタの特性図である。第１のカラーフィルタ１２４ａ、および第２のカラーフィルタ１２４ｂは、図４のＩＲで示した主に近赤外光を透過する分光透過特性（波長λ２を中心とする透過特性。例えば、λ２＝８７０ｎｍ）を有し、第３のカラーフィルタ１２４ｃ、および第４のカラーフィルタ１２４ｄは、図４のＧで示した主に緑色光を透過する分光透過特性（波長λ１を中心とする透過特性。例えば、λ１＝５００ｎｍ）を有する。
【００４０】
したがって、第１のレンズ部１１３ａの上部から入射した物体光は、第１のレンズ部１１３ａの下部から射出され、第１のカラーフィルタ１２４ａにより主に近赤外光が透過し、第１の撮像領域１２３ａの受光部に結像するため、第１の撮像領域１２３ａは物体光のうち近赤外光成分を受光する。また、第２のレンズ部１１３ｂの上部から入射した物体光は、第２のレンズ部１１３ｂの下部から射出され、第２のカラーフィルタ２２４ｂ主に近赤外光が透過し、第２の撮像領域１２３ｂの受光部に結像するため、第２の撮像領域１２３ｂは物体光のうち近赤外光成分を受光する。また、第３のレンズ部１１３ｃの上部から入射した物体光は、第３のレンズ部１１３ｃの下部から射出され、第３のカラーフィルタ２２４ｃにより主に緑色光が透過し、第３の撮像領域１２３ｃの受光部に結像するため、第３の撮像領域１２３ｃは物体光のうち緑色光成分を受光する。更に、第４のレンズ部１１３ｄの上部から入射した物体光は、第４のレンズ部１１３ｄの下部から射出され、第４のカラーフィルタ２２４ｄにより主に緑色光が透過し、第４の撮像領域１２３ｄの受光部に結像するため、第４の撮像領域１２３ｄは物体光のうち緑色光成分を受光する。
【００４１】
ＳＬＳＩ１２５は、後述の方法で、撮像素子１２３を駆動し、撮像素子１２３からの電気情報を入力し、各種演算を行い、上位ＣＰＵと通信を行い、外部に画像情報や距離情報などを出力する。なお、ＳＬＳＩ１２５は、電源（例えば３．３Ｖ）とグランド（例えば、０Ｖ）に接続される。
【００４２】
次に、被写体距離と視差との関係を説明する。本発明の実施の形態１に係る撮像装置は、４つのレンズ部（第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄ）を有するため、４つのレンズ部がそれぞれ形成する４つの物体像の相対的位置が、被写体距離に応じて変化する。
【００４３】
図５は、本発明の実施の形態１に係る撮像装置において、無限遠にある物体像の位置を説明するための図である。図５においては、簡単のため、レンズ部１１３において、第１のレンズ部１１３ａ、および第２のレンズ部１１３ｂのみを記す。無限遠の物体１０からの光の第１のレンズ部１１３ａへの入射光Ｌ１と、第２のレンズ部１１３ｂへの入射光Ｌ２とは平行である。このため、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離と、撮像素子１２３上の物体像１１ａと物体像１１ｂとの距離は等しい。すなわち、視差はない。
【００４４】
図６は、本発明の実施の形態１に係る撮像装置において、有限距離の位置にある物体像の位置を説明するための図である。図６において、簡単のため、レンズ部１１３において、第１のレンズ部１１３ａ、および第２のレンズ部１１３ｂのみを記す。有限距離の物体１２からの光の第１のレンズ部１１３ａへの入射光Ｌ１と第２のレンズ部１１３ｂへの入射光Ｌ２とは平行ではない。従って、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離に比べて、撮像素子１２３上の物体像１３ａと物体像１３ｂとの距離は長い。すなわち、視差がある。
【００４５】
物体像１２までの距離（被写体距離）をＡ、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離をＤ、レンズ部１１３ａ，１１３ｂの焦点距離をｆとすると、図６の直角を挟む２辺の長さがＡ、Ｄの直角三角形と、直角を挟む２辺の長さがｆ、Δの直角三角形とが相似であることより、視差値Δは、下記式１のように表される。
【００４６】
Δ＝ｆ・Ｄ／Ａ  …  式１
その他のレンズ部間についても同様の関係が成立する。このように、被写体距離に応じて４つのレンズ部１１３ａ，１１３ｂ，１１３ｃ，１１３ｄがそれぞれ形成する４つの物体像の相対的位置が変化する。例えば、被写体距離Ａが小さくなると、視差値Δが大きくなる。
【００４７】
次に、本発明の実施の形態１に係る撮像装置の動作を説明する。図７は、本発明の実施の形態１に係る撮像装置の構成を示すブロック図である。ＳＬＳＩ１２５は、システム制御部１３１、撮像素子駆動部１３２、撮像信号入力部１３３、前処理部１３４、入力バッファ１３５、演算部１３６、出力バッファ１３７、および入出力部１３８を有する。入力バッファ１３５は、第１の入力バッファ１３５ａ、第２の入力バッファ１３５ｂ、第３の入力バッファ１３５ｃ、および第４の入力バッファ１３５ｄを有する。演算部１３６は、演算バッファ１４１、視差演算部１４２、距離演算部１４３、および転送範囲決定部１４４を有する。演算バッファ１４１は、第１の演算バッファ１４１ａ、および第２の演算バッファ１４１ｂを有する。出力バッファ１３７は、第１の出力バッファ１３７ａ、および第２の出力バッファ１３７ｂを有する。
【００４８】
システム制御部１３１は、ＣＰＵ（中央演算処理装置：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)の順に入力され、順次、前処理部１３４に転送される。図９（ａ）のように、垂直同期信号２１ａの立ち上がりエッジから一定期間後に、信号２３ａのハイレベルのタイミングでＣＣＤセンサのフォトダイオードから垂直転送ＣＣＤへ電荷が転送され、信号２４ａのハイレベルで、順次垂直ＣＣＤ、水平ＣＣＤ内を電荷が転送され、撮像信号入力部１３３においてアナログ信号からディジタル信号の撮像信号として変換入力される。
【００５４】
一方、転送範囲フラッグＦＯ＝２のとき、転送範囲が撮像領域の半分の領域で生成される撮像信号であるため、図８（ｂ）のように、水平方向にＨ０画素、垂直方向にＶ０／２画素の撮像信号を転送する。すなわち、撮像信号入力部１３３から入力される撮像信号I0(x,y)は、ｘ方向にH0画素、ｙ方向にV0/2画素を持ち、I0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0/2-1)の順に入力され、順次、前処理部１３４に転送される。図８（ｂ）において、上半分のハッチがない部分は転送する画素（転送範囲である領域）を示し、下半分のハッチ部は転送しない画素（転送範囲でない領域）を示す。図９（ｂ）のように、垂直同期信号２１ｂの立ち上がりエッジから一定期間後に、信号２２ｂのハイレベルで垂直ＣＣＤ内に残された電荷を水平ＣＣＤに掃き出し、信号２３ｂのハイレベルのタイミングでＣＣＤセンサのフォトダイオードから垂直転送ＣＣＤへ電荷が転送され、信号２４ｂのハイレベルで、順次垂直ＣＣＤ、水平ＣＣＤ内を電荷が転送され、撮像信号入力部１３３においてアナログ信号からディジタル信号の撮像信号として変換入力される。なお、ＦＯ＝２の場合の転送範囲は、ＦＯ＝１の場合の転送範囲の半分のうち最初に転送される方が設定される。
【００５５】
転送範囲フラッグＦＯ＝１（第１の動作モード）のときの電荷の転送時間（信号２４ａがハイレベルを取る期間）と比較し、転送範囲フラッグＦＯ＝２（第２の動作モード）のときの電荷の転送時間（信号２４ｂがハイレベルを取る期間）は略半分であるため、画像１枚を転送する時間間隔が短縮化される。なお、ＦＯ＝１（第１の動作モード）のときの電荷の掃き出しを行わず、ＦＯ＝２（第２の動作モード）のときにのみ電荷の掃き出しを行うため、ＦＯ＝１（第１の動作モード）では電荷の掃き出しの時間が不要であり、ＦＯ＝１（第１の動作モード）での画像１枚を転送する時間間隔の増大を防止する。また、ＦＯ＝２（第２の動作モード）のときの電荷の掃き出しは、前回転送されなかった垂直ＣＣＤのみ（すなわち、実施の形態１ではＶ０／２列）で十分であり、そのことにより、全列の垂直ＣＣＤの掃き出しを行うときと比較し、画像１枚を転送する時間間隔の増大を最小限に抑制することができる。
【００５６】
前処理部１３４は、ロジック回路などから構成され、撮像信号I0から画像を切り出し、強度補正処理を行い、順次、入力バッファ１３５に転送する。ＦＯ＝１のとき、転送範囲が撮像領域の全領域で生成される撮像信号であるため、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4を作成し、順次、入力バッファ１３５に転送する。第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4は、それぞれ第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１４ｄによって結像された被写体像によって得られたものである。図８（ａ）、および下記式２のように、撮像信号I0を原点(x01,y01)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出し、第１の強度補正係数ks1で補正したものを第１の撮像信号I1とする。また、図８（ａ）、および下記式３のように、撮像信号I0を原点(x02,y02)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出し、第２の強度補正係数ks2で補正したものを第２の撮像信号I2とする。また、図８（ａ）、および下記式４のように、撮像信号I0を原点(x03,y03)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出し、第３の強度補正係数ks3で補正したものを第３の撮像信号I3とする。また、図８（ａ）、および下記式５のように、撮像信号I0を原点(x04,y04)、ｘ方向にH1画素、ｙ方向にV1画素だけ切り出し、第４の強度補正係数ks4で補正したものを第４の撮像信号I4とする。
【００５７】
I1(x,y) = ks1(x,y) * I0(x+x01,y+y01)  …  式２
I2(x,y) = ks2(x,y) * I0(x+x02,y+y02)  …  式３
I3(x,y) = ks3(x,y) * I0(x+x03,y+y03)  …  式４
I4(x,y) = ks4(x,y) * I0(x+x04,y+y04)  …  式５
第１の強度補正係数ks1(x,y)、第２の強度補正係数ks2(x,y)、第３の強度補正係数ks3(x,y)、および第４の強度補正係数ks4(x,y)は、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4の座標(x,y)における強度補正係数を示し、検査工程などにおいて特定チャートを撮影し決定され、EEPROMやフラッシュメモリに保存される。なお、各画素の係数を持たずに、代表点のみを持ち、その代表点を用いて線形補間により第１の強度補正係数ks1(x,y)、第２の強度補正係数ks2(x,y)、第３の強度補正係数ks3(x,y)、および第４の強度補正係数ks4(x,y)を求めてもよい。また、近似式を策定しその係数のみを持ち、各座標の第１の強度補正係数ks1(x,y)、第２の強度補正係数ks2(x,y)、第３の強度補正係数ks3(x,y)、および第４の強度補正係数ks4(x,y)を作成してもよい。また、レンズの光軸のずれなどを校正するために、適宜、座標変換を行ってもよい。
【００５８】
一方、ＦＯ＝２のとき、転送範囲が撮像領域の半分の領域で生成される撮像信号であるため、第１の撮像信号I1、および第２の撮像信号I2を作成し、順次、入力バッファ１３５に転送する。ＦＯ＝１のとき（全領域を転送するとき）と比較し、第３の撮像信号I3、および第４の撮像信号I4に関する処理が省略される。第１の撮像信号I1、および第２の撮像信号I2に関する処理は同様であるため、説明を省略する。
【００５９】
ＦＯ＝１のとき、第１の入力バッファ１３５ａは、ＤＲＡＭ（Dynamic Random Access Memory）などから構成され、第１の撮像信号I1を順次読み込み、H1*V1画素（ｘ方向にH1画素、ｙ方向にV1画素）のデータを保存する。第２の入力バッファ１３５ｂは、ＤＲＡＭなどから構成され、第２の撮像信号I2を順次読み込み、H1*V1画素（ｘ方向にH1画素、ｙ方向にV1画素）のデータを保存する。第３の入力バッファ１３５ｃは、ＤＲＡＭなどから構成され、第３の撮像信号I3を順次読み込み、H1*V1画素（ｘ方向にH1画素、ｙ方向にV1画素）のデータを保存する。第４の入力バッファ１３５ｄは、ＤＲＡＭなどから構成され、第４の撮像信号I4を順次読み込み、H1*V1画素（ｘ方向にH1画素、ｙ方向にV1画素）のデータを保存する。
【００６０】
一方、ＦＯ＝２のとき、第１の撮像信号I1、および第２の撮像信号I2を作成し、順次、入力バッファ１３５に入力する。ＦＯ＝１のとき（全領域を転送するとき）と比較し、第３の入力バッファ１３５ｃ、および第４の入力バッファ１３５ｄに関する処理が省略される。第１の入力バッファ１３５ａ、および第２の入力バッファ１３５ｂに関する処理は同様であるため、説明を省略する。
【００６１】
演算部１３６は、SRAM(Static Random Access Memory)から構成された第１の演算バッファ１４１ａ、第２の演算バッファ１４１ｂと、ロジック回路やCPUなどから構成された視差演算部１４２と、ロジック回路やCPUなどから構成された距離演算部１４３と、ロジック回路やCPUから構成された転送範囲決定部１４４と、から構成される。ＦＯ＝１のとき、演算部１３６は、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4をブロック単位で読み込み第１の演算バッファ１４１ａ、第２の演算バッファ１４１ｂに保存し、視差演算部１４２において第１の演算バッファ１４１ａ、および第２の演算バッファ１４１ｂのデータなどに基づき視差を演算し、距離演算部１４３において求められた視差に基づき距離を演算し、求められた距離データを出力バッファ１３７に転送する。
【００６２】
一方、ＦＯ＝２のとき、転送範囲が撮像領域の半分の領域で生成される撮像信号であり、したがって、第１の撮像信号I1、および第２の撮像信号I2のみが転送されているため、演算部１３６は、第１の撮像信号I1、および第２の撮像信号I2をブロック単位で読み込み第１の演算バッファ１４１ａ、第２の演算バッファ１４１ｂに保存し、視差演算部１４２において第１の演算バッファ１４１ａ、および第２の演算バッファ１４１ｂのデータなどに基づき視差を演算し、距離演算部１４３において求められた視差に基づき距離を演算し、求められた距離データを出力バッファ１３７に転送する。
【００６３】
出力バッファ１３７は、ＤＲＡＭなどから構成され、入力バッファ１３５から転送された画像データと演算部１３６から転送された距離データとを保存し、入出力部１３８に順次転送する。
【００６４】
入出力部１３８は、上位ＣＰＵ（図示せず）との通信や、上位ＣＰＵ、外部メモリ（図示せず）、および液晶ディスプレイなどの外部表示装置（図示せず）へ画像データ、および距離データを出力する。
【００６５】
図１０Ａは、本発明の実施の形態１に係る撮像装置の動作を示すフローチャートである。ＳＬＳＩ１２５のシステム制御部１３１により、撮像装置１０１は、このフローチャートのとおりに動作される。
【００６６】
ステップＳ１０１０において、撮像装置１０１は動作を開始する。例えば、上位ＣＰＵ（図示せず）が、入出力部１３６を介し、撮像装置１０１に動作の開始を命令することにより、撮像装置１０１は、動作を開始する。次に、ステップＳ１０２０Ａを実行する。
【００６７】
ステップＳ１０２０Ａにおいて、転送範囲の初期化処理を行う。本実施の形態では、この初期化処理により、転送範囲フラッグＦＯ＝１（第１の動作モード）が設定される。次に、ステップＳ１０３０を実行する。
【００６８】
ステップＳ１０３０において、撮像信号を入力する。システム制御部１３１の命令により、撮像素子駆動部１３２が電子シャッターや転送を行うための信号を撮像素子１２３に対して随時出力する。その結果、転送範囲フラッグＦＯ＝１（第１の動作モード）のとき、撮像信号入力部１３３は、撮像信号I0(x,y)を、ｘ方向にH0画素、ｙ方向にV0画素だけ、すなわち、I0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0-1)の順に入力し、順次、前処理部１３４に転送する。前処理部１３４は、撮像信号I0から画像を切り出し、強度補正処理を行い、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4を作成し、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4を、それぞれ、順次、第１の入力バッファ１３５ａ、第２の入力バッファ１３５ｂ、第３の入力バッファ１３５ｃ、および第４の入力バッファ１３５ｄに転送する。
【００６９】
一方、転送範囲フラッグＦＯ＝２（第２の動作モード）のとき、撮像信号入力部１３３は、撮像信号I0(x,y)を、ｘ方向にH0画素、ｙ方向にV0/2画素だけ、すなわち、I0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0/2-1)の順に入力し、順次、前処理部１３４に転送する。前処理部１３４は、撮像信号I0から画像を切り出し、強度補正処理を行い、第１の撮像信号I1、および第２の撮像信号I2を作成し、第１の撮像信号I1、および第２の撮像信号を、それぞれ、順次、第１の入力バッファ１３５ａ、および第２の入力バッファ１３５ｂに転送する。次に、ステップＳ１０４０を実行する。
【００７０】
ステップＳ１０４０において、第１の入力バッファ１３５ａに保存されている第１の撮像信号I1を第１の出力バッファ１３７ａに転送し、第１の出力バッファ１３７ａは、画像データとして保存する。次に、ステップＳ１１００Ａを実行する。
【００７１】
ステップＳ１１００Ａにおいて、距離データを作成し、順次、第２の出力バッファ１３７ｂに転送する。また、転送範囲を決定し、転送範囲フラッグＦＯを設定する。この動作の詳細は後述する。次に、ステップＳ１９１０を実行する。
【００７２】
ステップＳ１９１０において、外部にデータを出力する。入出力部１３８は、第１の出力バッファ１３７ａ上の画像データ、および第２の出力バッファ１３７ｂ上の距離データを、上位ＣＰＵ（図示せず）や外部表示装置（図示せず）に出力する。次に、Ｓ１９２０を実行する。
【００７３】
ステップＳ１９２０において、動作を終了するかどうかを判断する。例えば、システム制御部１３１は、入出力部１３６を介し、上位ＣＰＵ（図示せず）と通信し、動作を終了するかどうかの命令を要求する。そして、上位ＣＰＵが終了を命令すれば動作を終了し、次に、ステップＳ１９３０を実行する。一方、上位ＣＰＵが終了を命令しなければ動作を継続し、次に、ステップＳ１０３０を実行する。すなわち、上位ＣＰＵが終了を命令しない限り、ステップＳ１０３０、ステップＳ１０４０、ステップＳ１１００Ａ、およびステップＳ１９１０のループの実行を継続する。
【００７４】
ステップＳ１９３０において、動作を終了する。
【００７５】
次に、ステップＳ１１００Ａにおける動作の詳細を説明する。図１１Ａは、本発明の実施の形態１に係る撮像装置の演算部の動作を示すフローチャートである。図１１Ａのフローチャートは、ステップＳ１１００Ａの動作の詳細を示す。ステップＳ１１００Ａの演算では、まず、ステップＳ１１１０を実行する。
【００７６】
ステップＳ１１１０において、演算の動作を開始する。次に、ステップＳ１２００を実行する。
【００７７】
ステップＳ１２００において、視差演算を実行する。図１２は、本発明の実施の形態１に係る撮像装置の視差演算の動作を示すフローチャートである。図１２のフローチャートは、ステップＳ１２００の動作の詳細を示す。ステップＳ１２００の演算では、まず、ステップＳ１２１０を実行する。
【００７８】
ステップＳ１２１０において、視差演算の動作を開始する。次に、ステップＳ１２２０を実行する。
【００７９】
ステップＳ１２２０において、転送範囲フラッグＦＯによって分岐する。転送範囲フラッグＦＯ＝１のとき（Ｓ１２２０でＹ）、転送範囲が撮像領域の全領域で生成される撮像信号となり、次に、ステップＳ１２３０ａを実行する。一方、転送範囲フラッグＦＯ＝２のとき（Ｓ１２２０でＮ）、転送範囲が撮像領域の半分の領域で生成される撮像信号となり、次に、ステップ１２３０ｂを実行する。
【００８０】
ステップＳ１２３０ａにおいて、第１の撮像信号と第２の撮像信号とを利用した視差演算を実行する。図１３は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算の動作を示すフローチャートである。図１３のフローチ
ャートは、ステップＳ１２３０ａの動作の詳細を示す。ステップＳ１２３０の演算では、まず、ステップＳ１３１０を実行する。
【００８１】
ステップＳ１３１０において、第１の撮像信号と第２の撮像信号とを利用した視差演算の動作を開始する。次に、ステップＳ１３２０を実行する。
【００８２】
ステップＳ１３２０において、ブロックインデックスｉｂに０を設定して初期化処理を行う。次に、ステップＳ１３３０を実行する。
【００８３】
ステップＳ１３３０において、ブロックを選択する。図１４は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第１の撮像信号の分割ブロックと演算順番を説明する図であり、図１５は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第２の撮像信号の分割ブロックと演算順番を説明する図である。図１４において、第１の撮像信号Ｉ１は、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素の長方形状のブロックに分割され、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素ずれて配置され、ｘ方向にＮｈ個、ｙ方向にＮｖ個のブロックを持つ。そのため、各ブロックはｘ方向、ｙ方向ともに重なる部分はない。図１５において、第２の撮像信号Ｉ２は、ｘ方向に（ＨＢ＋ＳＢ）画素、ｙ方向にＶＢ画素の長方形状のブロックに分割され、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素ずれて配置され、ｘ方向にＮｈ個、ｙ方向にＮｖ個のブロックを持つ。そのため、ｘ方向について、隣のブロックと重なる。一方、ｙ方向について、隣のブロックと重ならない。また、図１５において、右側のブロックにおいてｘ方向に（ＨＢ＋ＳＢ）画素を取ることができないブロックは、適宜ｘ方向の右端が削除される。なお、実施の形態１では、以下、ＨＢ＝３２、ＶＢ＝３２の例を示す。
【００８４】
図１４、および図１５において、各ブロックの上段に記述された数字はブロックインデックスｉｂを示す。また、図１４、および図１５において、各ブロックの下段に記述された座標（ｉｂｘ、ｉｂｙ）は、各ブロックがｘ方向にｉｂｘ番目、ｙ方向にｉｂｙ番目のブロックであることを示す。ここで、ｉｂｘは０からＮｈ−１まで、ｉｂｙは０からＶｈ−１まで存在する。ステップＳ１３２０において、図１４、および図１５でブロックインデックスｉｂで示されるブロック（座標（ｉｂｘ、ｉｂｙ）で示されるブロック）が選択される。次に、ステップＳ１３４０を実行する。
【００８５】
ステップＳ１３４０において、撮像信号を転送する。ステップＳ１３４０において、選択されたブロックの第１の撮像信号I1を第１の演算バッファ１４１ａに転送する。そして、第１の演算バッファ１４１ａの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。ステップＳ１３４０において、選択されたブロックの第２の撮像信号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(k)を演算する。ここで、ｋは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。図１６は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差評価値の演算領域を説明する図である。図１６において、データBc1で格納されている領域は、第１の演算バッファ１４１ａ中の領域である。また、データBc2で示される領域は、図１６においてBc1で示されるブロックからｘ方向にずらし量ｋだけ移動した第２の演算バッファ１４１ｂ中の領域である。そして、ずらし量k=0からSBについて、下記式６に示される絶対値差分総和(SAD：Sum of Absolute Differences)を演算し、視差評価値R(k)とする。
【００８７】
R(k) = ΣΣ|Bc1(x,y)-Bc2(x+k,y)|  …  式６
この視差評価値R(k)は、第１の演算バッファ１４１ａのデータBc1と、ｘ方向にｋだけ離れた領域における第２の演算バッファ１４１ｂのデータBc2とがどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。ここで、第１の演算バッファ１４１ａのデータBc1は、第１の撮像信号I1を転送したものであり、第２の演算バッファ１４１ｂのデータBc2は、第２の撮像信号I2を転送したものであるため、視差評価値R(k)は、第１の撮像信号I1と対応する第２の撮像信号I2とがどれだけ相関があるかを示す。
【００８８】
図１７は、本発明の実施の形態１に係る撮像装置の第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差と視差評価値との関係を説明する図である。図１７のように、視差評価値R(k)はずらし量ｋの値によって変化し、ずらし量ｋ＝Δのとき極小値を持つ。第１の演算バッファ１４１ａのデータBc1は、第１の演算バッファ１４１ａのデータBc1をｘ方向にｋだけ移動した領域に存在する第２の演算バッファ１４１ｂのデータBc2と最も相関がある（最も似ている）ことを示す。したがって、第１の演算バッファ１４１ａのデータBc1と第２の演算バッファ１４１ｂのデータBc2とのｘ方向の視差がΔであることが分かる。ここで、このΔをこのブロックでの視差値Δと呼ぶ。
【００８９】
次に、視差値Δの信頼度を演算する。図１８は、本発明の実施の形態１に係る撮像装置において、第１の撮像信号と第２の撮像信号を利用したときの視差演算における視差評価値の信頼度の演算領域を説明する図である。データBc1が格納されている領域は、第１の演算バッファ１４１ａ中の領域である。データBc2が格納されている領域は、Bc1をｘ方向にΔだけ移動した第２の演算バッファ１４１ｂ中の領域である。そして、下記式７のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ,y)について、正規化相関係数を信頼度Eとする。
【００９０】
E(1,2)(ibx,iby) = ΣΣ[{Bc1(x,y)-avg(Bc1(x,y))}
*{Bc2(x+Δ,y)-avg(Bc2(x+Δ,y))}]
/ √ΣΣ[{Bc1(x,y)-avg(Bc1(x,y))}
*{Bc1(x,y)-avg(Bc1(x,y))}
/ √ΣΣ[{Bc2(x+Δ,y)-avg(Bc2(x+Δ,y))}
*{Bc2(x+Δ,y)-avg(Bc2(x+Δ,y))}]          …  式７
そして、この信頼度Eを、第１の撮像信号と第２の撮像信号とを利用した視差演算にお
いて、座標(ibx,iby)で示される３２ｘ３２画素のブロックにおける視差値Δ(1,2)(ibx,iby)の信頼度E(1,2)(ibx,iby)として保存する。(1,2)は、第１の撮像信号と第２の撮像信号とを利用した視差値、および信頼度であることを示す。(ibx,iby)は、ブロックインデックスibで示されるブロックを示し、図１４において各ブロックの下段に示される座標である。次に、ステップＳ１３６０を実行する。
【００９１】
ステップＳ１３６０において、ブロックインデックスｉｂに１を加える。次に、ステップＳ１３７０を実行する。
【００９２】
ステップＳ１３７０において、第１の撮像信号と第２の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスｉｂがNh*Nv未満のとき、次のブ
ロックの視差を演算するために、次に、ステップＳ１３３０を実行する。一方、ブロックインデックスｉｂがNh*Nv以上のとき、全てのブロックの視差を演算したと判断し、次に
、ステップＳ１３８０を実行する。
【００９３】
ステップＳ１３８０において、第１の撮像信号と第２の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。このようにして、第１の撮像信号と第２の撮像信号とを利用した視差演算において、ブロックインデックスｉｂで示される３２ｘ３２画素のブロックについて、３２ｘ３２画素の分解能で視差値Δ(1,2)(ibx,iby)とその信頼度E(1,2)(ibx,iby)とが求められた。ここで、(1,2)は第１の撮像信号と第２の撮像信号とを利用していることを示し、(ibx,iby)は図１４において各ブロックの下段に示される座標である（ｉｂｘは０からＮｈ−１まで、ｉｂｙはＮｖ−１まで変化する）。次に、図１２のステップＳ１２４０ａを実行する。
【００９４】
ステップＳ１２４０ａにおいて、第３の撮像信号と第４の撮像信号とを利用した視差演算を実行する。このステップは、ステップＳ１２３０ａにおいて、第１の撮像信号I1を第３の撮像信号I3に変更し、第２の撮像信号I2を第４の撮像信号I4に変更したものと同様である。すなわち、第３の撮像信号I3をブロックに分割し、第１の演算バッファ１４１ａに転送し、第４の撮像信号I4をブロックに分割し、第２の演算バッファ１４１ｂに転送し、ステップＳ１２３０ａと同様の動作を行い、３２ｘ３２画素の分解能で視差値Δ(3,4)(ibx,iby)とその信頼度E(3,4)(ibx,iby)とを求める。ここで、(3,4)は第３の撮像信号と第４の撮像信号とを利用していることを示し、(ibx,iby)は図１４の各ブロックの下段に示される座標を示す（図１４のように、ｉｂｘは０からＮｈ−１まで、ｉｂｙは０からＮｖ−１まで変化する）。次に、ステップＳ１２５０ａを実行する。
【００９５】
ステップＳ１２５０ａにおいて、視差を選択する。それぞれのブロックに対し、信頼度E(1,2)(ibx,iby)、およびE(3,4)(ibx,iby)を比較し、最大の信頼度を与える視差をそのブロックでの視差値Δ(ibx,iby)とする。また、そのときの信頼度をE(ibx,iby)とする。次に
、ステップＳ１２６０を実行する。
【００９６】
ステップＳ１２３０ｂにおいて、第１の撮像信号と第２の撮像信号とを利用した視差演算を実行する。このステップは、ステップＳ１２３０ａと同様であり、説明を省略する。ただし、求められる視差、および信頼度を、それぞれのブロックでの視差値Δ(ibx,iby)、および信頼度E(ibx,iby)とする。次に、ステップＳ１２６０を実行する。
【００９７】
ステップＳ１２６０において、視差演算を終了し、上位ルーチンへ戻る。このようにして、各ブロックにおける視差値Δ(ibx,iby)が求められた。ここで、(ibx,iby)は図１４の各ブロックの下段に示される座標であり、ｉｂｘは０からＮｈ−１まで、ｉｂｙはＮｖ−１まで変化する。転送範囲フラッグＦＯ＝１（第１の動作モード）のとき、第１の撮像信号Ｉ１と第２の撮像信号Ｉ２とによる視差（近赤外光による視差）の信頼度と第３の撮像信号Ｉ３と第４の撮像信号Ｉ４とのよる視差（緑色光による視差）の信頼度とを比較し、信頼度が高い視差を採用した。一方、転送範囲フラッグＦＯ＝２（第２の動作モード）のとき、選択は行わず、第１の撮像信号Ｉ１と第２の撮像信号Ｉ２とによる視差（近赤外光による視差）を採用した。次に、ステップＳ１７００を実行する。
【００９８】
ステップＳ１７００において、距離演算部１４３は、距離演算を行い、その結果を、順次、第２の出力バッファ１３７ｂに、距離データとして転送する。式１を距離Ａについて解くと、下記式８のように示される。したがって、視差値Δ(ibx,iby)を持つブロックにおける被写体の距離A(ibx,iby)は、下記式９のように演算される。そして、距離データA(ibx,iby)を第２出力バッファ１３７ｂに転送する。
【００９９】
A = f・D/Δ  …  式８
A(ibx,iby) = f・D/Δ(ibx,iby)  …  式９
次に、ステップＳ１８００を実行する。
【０１００】
ステップＳ１８００において、転送範囲決定部１４４は、転送範囲を決定し、転送範囲フラッグを設定する。下記式１０のように、各ブロック(ibx,iby)での信頼度E(ibx,iby)の最小値がある設定された値より小さいとき、転送範囲フラッグＦＯ＝１とする。一方、各ブロック(ibx,iby)での信頼度E(ibx,iby)の最小値がある設定された値以上のとき、転送範囲フラッグＦＯ＝２とする。
【０１０１】
FO=1 (min(E(ibx,iby)) ＜ E0のとき)
FO=2 (min(E(ibx,iby)) ≧ E0のとき)  …  式１０
次に、ステップＳ１９００を実行する。
【０１０２】
ステップＳ１９００において、演算動作を終了し、上位ルーチンへ戻る。次に、ステップＳ１９１０を実行する。
【０１０３】
本発明の撮像装置を以上のように構成し、動作させることにより、以下の効果を有する。
【０１０４】
本発明の実施の形態１に係る撮像装置によれば、転送範囲決定部１４４が撮像信号から作成される信頼度E(ibx,iby)に基づき、信頼度E(ibx,iby)が小さいとき、転送範囲フラッグＦＯ＝１（第１の動作モード）とし、信頼度E(ibx,iby)が大きいとき、転送範囲フラッグＦＯ＝２とする（転送範囲を半分の領域とする）。このことにより、信頼度E(ibx,iby)が大きいとき、高速性を上げる余裕があると判断し、出力フラッグＦＯ＝２（第２の動作モード）とすることにより、高速な視差演算、距離演算を可能とする撮像装置を実現する。一方、信頼度E(ibx,iby)が小さいとき、精度がさらに必要であると判断し、出力フラッグＦＯ＝１（第１の動作モード）とすることにより、高精度な視差演算、距離演算を可能とする撮像装置を実現する。
【０１０５】
このように、本実施の形態の撮像装置の場合、信頼度Eに応じて転送範囲を変更すべく、動作モードの切替を行っている。ここで、信頼度Eは、被写体の動き等に応じて変化し得る値である。したがって、本実施の形態の撮像装置は、被写体の動き等の被写体に関する情報に応じて転送範囲を変更しているともいえる。
【０１０６】
また、本発明の撮像装置において、ＦＯ＝２（第２の動作モード）のとき、転送順の早い略半分の領域とする。すなわち、図９（ｂ）２４ｂのように、転送に要する時間を半分にし、垂直ＣＣＤに残った電荷は２２ｂの期間で水平ＣＣＤに掃き出すことにより、転送に要する時間を半減し、高速な視差演算、距離演算を可能にする撮像装置を実現する。
【０１０７】
なお、実施の形態１の撮像装置において、ＦＯ＝１（第１の動作モード）のとき、転送する撮像信号の垂直方向をＶ０画素、ＦＯ＝２（第２の動作モード）のとき、転送する撮像信号の垂直方向をＶ０／２画素としたが、若干の変更があってもよい。例えば、ＦＯ＝２（第２の動作モード）の転送範囲の垂直方向を０画素目からy01+V1-1とすれば、さらに転送時間を低減できる。また、レンズのばらつきが大きく、各光軸のずれが大きい場合には、ＦＯ＝２（第２の動作モード）の転送範囲の垂直方向をＶＯ／２より大きくすれば、その分だけ原点の調整の余裕が大きくなる。
【０１０８】
また、実施の形態１の撮像装置において、信頼度E(ibx,iby)により転送範囲を変更したが、本発明はこれに限定されない。本発明の要諦は、転送範囲を変更することにより、速度と精度との関係が適当なものになるように、視差演算、距離演算をすることにある。なお、上位ＣＰＵの命令により、転送範囲を変更してもよい。例えば、上位ＣＰＵが画像データを用いて、転送範囲を変更してもよい。あるいは、ユーザが指定する被写体情報に基づいて、転送範囲を上位ＣＰＵが命令してもよい。
【０１０９】
図１０Ｂは、本発明の実施の形態１に係る撮像装置の動作の変形例を示すフローチャートである。また、図１１Ｂは、本発明の実施の形態１に係る撮像装置の演算部の動作の変形例を示すフローチャートである。この図１１Ｂのフローチャートでは、図１０Ｂにおける演算処理（Ｓ１１００Ｂ）の詳細な処理の流れが示されている。
【０１１０】
この変形例では、被写体に関する情報に基づくことなく、転送範囲が決定される。すなわち、撮像信号がどのような画像に関する信号であるかに関係なく、所定の基準にしたがって、転送範囲が決定されることになる。例えば、第１の動作モードと第２の動作モードとが交互に入れ替わったり、全動作中で第１の動作モード（又は第２の動作モード）が占める割合が所定の割合になるように動作モードの切替を行ったりする。
【０１１１】
変形例における転送範囲の決定は、図１０ＢのフローチャートにおけるステップＳ１０２０Ｂにて実行される。そして、ステップＳ１１００Ｂの演算処理においては、図１１Ｂに示すように、上述した開始処理（Ｓ１１１０）、視差演算（Ｓ１２００）、距離演算（Ｓ１７００）、および終了処理（Ｓ１９００）を実行する。この変形例では、ステップＳ１０２０Ｂにおいて転送範囲が決定されるため、図１１Ａに示されているステップＳ１８００の転送範囲の決定処理を行う必要はない。
【０１１２】
なお、ユーザが転送範囲を適宜設定することができるようにしてもよい。そのためには、例えば、ユーザが操作可能なスイッチなどを介してユーザから転送範囲設定（動作モード切替）の指示が出された場合に、その指示を受けた上位ＣＰＵが撮像装置に対して転送範囲の設定（動作モードの切替）を行うように命令する等すればよい。
【０１１３】
また、実施の形態１の撮像装置において、転送範囲フラッグの初期値をＦＯ＝１（第１の動作モード）としたが、ＦＯ＝２（第２の動作モード）としてもよい。
【０１１４】
また、実施の形態１の撮像装置において、第１の演算バッファの大きさを３２ｘ３２画素（水平方向に３２画素、および垂直方向に３２画素）としたが、これに限定されない。例えば、４ｘ４画素、８ｘ８画素、１６ｘ１６画素でもよい。また、適宜大きさを変更してもよい。また、複数の大きさのブロックの視差を求め、選択してもよい。さらに、矩形状のブロックではなく、エッジなどを抽出してブロック分割してもよい。また、ブロックの視差を求めることに限定されず、エッジである線分の視差を求めてもよい。
【０１１５】
また、実施の形態１の撮像装置において、第１の撮像信号Ｉ１を第１の出力バッファ１３７ａに転送し、入出力部１３８から出力したが、他の撮像信号（第２の撮像信号Ｉ２、第３の撮像信号Ｉ３、あるいは第４の撮像信号Ｉ４）を出力してもよい。また、複数の撮像信号を出力してもよい。さらに、撮像信号の条件により、入出力部１３８から出力する撮像信号を変更してもよい。例えば、それぞれの撮像信号を比較し、最も明るい撮像信号（撮像信号の大きさの平均が最も大きいなどにより判定されたもの）、あるいは最も輪郭がはっきりしているもの（微分値の平均や最大値が最も大きいなどにより判定されたもの）などを出力するように変更してもよい。
【０１１６】
また、実施の形態１の撮像装置において、撮像素子としてＣＣＤセンサを用いたが、他の撮像素子（例えば、ＣＭＯＳセンサ）を用いてもよい。
【０１１７】
また、実施の形態１の撮像素子において、撮像素子１２３としてプログレッシブＣＣＤのみならず、インターレースＣＣＤを利用してもよい。図１９は、本発明の実施の形態１に係る撮像装置の変形のフィールド画像を説明する図である。例えば、３つのフィールドを持つインターレースＣＣＤを利用した場合、画像全体は、図１９（ａ）に示すように、第１のフィールド画像と第２のフィールド画像と第３のフィールド画像とが順に配置される。まず、第１のフィールド画像を構成する撮像信号が転送され、次に第２のフィールド画像を構成する撮像信号が転送され、次に第３のフィールド画像を構成する撮像信号が転送される。通常の白黒画像では、これらを１ラインずつ順に配置することにより画像全体を再現する。図１９（ｂ）のように画像全体（フレーム画像）の幅がＨ０、高さがＶ０であるとき、図１９（ｃ）、（ｄ）、（ｅ）のように、第１のフィールド画像、第２のフィールド画像、および第３のフィールド画像の幅はそれぞれＨ０であり、高さはＶ０／３である。
【０１１８】
図２０は、本発明の実施の形態１に係る撮像装置の変形の撮像信号の転送を示すタイミングチャートである。転送範囲フラッグＦＯ＝１のとき、転送範囲が撮像領域の全領域で生成される撮像信号であるため、図８（ａ）のように、水平方向にＨ０画素、垂直方向にＶ０画素の撮像信号を転送する。すなわち、撮像信号入力部１３３に入力される撮像信号I0(x,y)は、ｘ方向にH0画素、ｙ方向にV0画素を持ち、I0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0-1)の順に入力され、順次、前処理部１３４に転送される。図２０（ａ）のように、１フレームに１回だけ発生する信号２０ｃが発生し、１フィールドに１回だけ垂直同期信号２１ｃが発生する。３フィールドのインターレースＣＣＤでは、信号２０ｃの１つあたり３つの垂直同期信号２１ｃが発生する。垂直同期信号２１ｃの立ち上がりエッジから一定期間後に、信号２３ｃのハイレベルのタイミングでＣＣＤセンサのフォトダイオードから垂直転送ＣＣＤへ電荷が転送され、信号２４ａのハイレベルで、順次垂直ＣＣＤ、水平ＣＣＤ内を電荷が転送され、撮像信号入力部１３３においてアナログ信号からディジタル信号の撮像信号として変換入力される。なお、信号２０ｃ発生直後は第１のフィールドの撮像信号が転送され（24c1で示された期間）、次に、第２のフィールドの撮像信号が転送され（24c2で示された期間）、次に、第３のフィールドの撮像信号が転送される（24c3で示された期間）。
【０１１９】
一方、転送範囲フラッグＦＯ＝２のとき、転送範囲が撮像領域の半分の領域で生成される撮像信号であるため、図８（ｂ）のように、水平方向にＨ０画素、垂直方向にＶ０／２画素の撮像信号を転送する。すなわち、撮像信号入力部１３３に入力される撮像信号I0(x,y)は、ｘ方向にH0画素、ｙ方向にV0/2画素を持ち、I0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0/2-1)の順に入力され、順次、前処理部１３４に転送される。図２０（ｂ）のように、１フレームに１回だけ発生する信号２０ｄが発生し、１フィールドに１回だけ垂直同期信号２１ｄが発生する。３フィールドのインターレースＣＣＤでは、信号２０ｄの１つあたり３つの垂直同期信号２１ｄが発生する。垂直同期信号２１ｄの立ち上がりエッジから一定期間後に、信号２２ｄのハイレベルで垂直ＣＣＤ内に残された電荷を水平ＣＣＤに掃き出し、信号２３ｄのハイレベルのタイミングでＣＣＤセンサのフォトダイオードから垂直転送ＣＣＤへ電荷が転送され、信号２４ｄのハイレベルで、順次垂直ＣＣＤ、水平ＣＣＤ内を電荷が転送され、撮像信号入力部１３３においてアナログ信号からディジタル信号の撮像信号として変換入力される。なお、信号２０ｄ発生直後は第１のフィールドの撮像信号が転送され（24d1で示された期間）、次に、第２のフィールドの撮像信号が転送され（24d2で示された期間）、次に、第３のフィールドの撮像信号が転送される（24d3で示された期間）。このため、転送範囲フラッグＦＯ＝１（第１の動作モード）のときの電荷の転送時間（信号２４ｃがハイレベルを取る期間）と比較し、転送範囲フラッグＦＯ＝２（第２の動作モード）のときの電荷の転送時間（信号２４ｄがハイレベルを取る期間）は略半分であるため、画像１枚を転送する時間間隔が短縮される。
【０１２０】
さらに、全てのフィールド画像を用いずに１つのフィールド画像のみを使用すれば、さらに画像１枚を転送する時間間隔が短縮される。転送範囲フラッグとしてＦＯ＝３の状態も設け、転送範囲フラッグＦＯ＝３のとき、転送範囲が半分の領域であり（転送領域は図８（ｂ））、第１のフィールドのみの画像を転送する。すなわち、撮像信号入力部１３３から入力される撮像信号I0(x,y)は、ｘ方向にH0画素、ｙ方向にV0/6画素を持ち、I0(0,0)（(x,y)=(0,0)）、I0(1,0)、I0(2,0)、・・・、I0(0,3)、I0(1,3)、I0(2,3)、・・・、I0(H0-1,V0/2-3)の順に入力され、順次、前処理部１３４に転送される。図２０（ｃ）のように、信号２０ｅが発生するタイミングと垂直同期信号２１ｄが発生するタイミングは略同一である。垂直同期信号２１ｅの立ち上がりエッジから一定期間後に、信号２２ｅのハイレベルで垂直ＣＣＤ内に残された電荷を水平ＣＣＤに掃き出し、信号２３ｅのハイレベルのタイミングでＣＣＤセンサのフォトダイオードから垂直転送ＣＣＤへ電荷が転送され、信号２４ｅのハイレベルで、順次垂直ＣＣＤ、水平ＣＣＤ内を電荷が転送され、撮像信号入力部１３３においてアナログ信号からディジタル信号の撮像信号として変換入力される。なお、常に、第１のフィールドの撮像信号のみが転送される（24e1で示された期間）ため、転送範囲フラッグＦＯ＝１（第１の動作モード）のときの電荷の転送時間（信号２４ｅがハイレベルを取る期間）と比較し、転送範囲フラッグＦＯ＝３（転送範囲が半分の領域で第１のフィールド画像のみを転送する）のときの電荷の転送時間（信号２４ｃがハイレベルを取る期間）は略１／６倍となり、画像１枚を転送する時間間隔が短縮される。
【０１２１】
ここで、１枚のフィールドのみを転送することにより、垂直方向の画素数は減少するが、水平方向の画素数は減少しない。視差が発生する方向は水平方向であり、視差演算の精度悪化は小さい。したがって、１枚のフィールドのみを転送する場合は、視差演算の精度を保持しつつ、高速化が可能である。
【０１２２】
ここで、視差演算の高速性が必要な場合は転送範囲フラッグＦＯ＝３（第３の動作モード）に設定して転送範囲を撮像領域の半分の領域で生成される撮像信号とし、常に第１のフィールドのみを転送する。また、高速性と高精度性とがある程度必要な場合は転送範囲フラッグＦＯ＝２（第２の動作モード）に設定して転送範囲を撮像領域の半分の領域で生成される撮像信号とし、第１フレームから第３フレームまでを転送する。また、高精度性が必要な場合は転送範囲フラッグＦＯ＝１（第１の動作モード）に設定して転送範囲を撮像領域の全領域で生成される撮像信号とし、第１フレームから第３フレームまでを転送する。このように動作することにより、状況に応じ高速性と高精度性とを適宜変更できる。
【０１２３】
なお、視差演算の高速性及び／または高精度性が必要か否かは、被写体に関する情報に基づいてＳＬＳＩ１２５が判断する。すなわち、例えば上述したようにして求められた信頼度Eの値に応じて、ＳＬＳＩ１２５が高速性及び／または高精度性が必要か否かを判断し、その判断結果にしたがって、ＳＬＳＩ１２５が第１〜第３の動作モードのいずれかを選択する。
【０１２４】
なお、転送範囲を撮像領域の全領域で生成される撮像信号として第１のフィールドのみを転送する場合を付加することにより、さらに緻密に状況に対応できる。また、第１のフィールドの代わりに、第２のフィールド、あるいは第３のフィールドを転送してもよい。
【０１２５】
（実施の形態２）
本発明の実施の形態１に係る撮像装置は、主に近赤外光成分を透過するカラーフィルタ（第１のカラーフィルタ１２４ａ、および第２のカラーフィルタ１２４ｂ）、および主に緑色光成分を透過するカラーフィルタ（第３のカラーフィルタ１２４ｃ、および第４のカラーフィルタ１２４ｄ）がそれぞれ水平に配置され、それらに対応する撮像成分同士（第１の撮像信号I1と第２の撮像信号I2、および第３の撮像信号I3と第４の撮像信号I4）を比較し、視差を演算し、この視差に基づき距離を演算した。これに対し、本発明の実施の形態２に係る撮像装置は、主に近赤外光成分を透過するカラーフィルタ、および主に緑色光成分を透過するカラーフィルタがそれぞれ対角に配置され、それらに対応する撮像成分同士を比較し、視差を演算し、この視差に基づき距離を演算する。
【０１２６】
以下、本発明の実施の形態２に係る撮像装置について、図面を参照しながら説明する。
【０１２７】
図２１は、本発明の実施の形態２に係る撮像装置の構成を示す断面図である。図２１において、撮像装置２０１は、レンズモジュール部１１０、および回路部２２０を有する。
【０１２８】
レンズモジュール部１１０は、鏡筒１１１、上部カバーガラス１１２、およびレンズ１１３を有する。回路部２２０は、基板１２１、パッケージ１２２、撮像素子２２３、パッケージカバーガラス２２４、およびシステムＬＳＩ（以下、ＳＬＳＩと記す）２２５を有する。
【０１２９】
鏡筒１１１、上部カバーガラス１１２、およびレンズ１１３は、実施の形態１と同様で
あり、説明を省略する。
【０１３０】
基板１２１、およびパッケージ１２２は、実施の形態１と同様であり、説明を省略する。
【０１３１】
撮像素子２２３は、固体撮像素子であるＣＭＯＳセンサであり、撮像素子２２３の受光面が第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄの光軸と略垂直になるようにして配置される。撮像素子２２３の各端子は、パッケージ１２２の内側の底部の金属端子にワイヤーボンディングにより金線２２７で接続され、基板１２１を介して、ＳＬＳＩ２２５と電気的に接続される。撮像素子２２３の受光面に、第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄから射出された光がそれぞれ結像し、その光の情報がフォトダイオードにより電気の情報へ変換され、その電気の情報がＳＬＳＩ２２５に転送される。
【０１３２】
図２２は、本発明の実施の形態２に係る撮像装置の回路部の構成を示す平面図である。パッケージカバーガラス２２４は、平板状であり、透明樹脂により形成され、パッケージ１２２の上面に接着などにより固着される。パッケージカバーガラス２２４の上面には、第１のカラーフィルタ２２４ａ、第２のカラーフィルタ２２４ｂ、第３のカラーフィルタ２２４ｃ、第４のカラーフィルタ２２４ｄ、および遮光部２２４ｅが蒸着などにより配置される。また、パッケージカバーガラス２２４の下面には、反射防止膜が蒸着などにより配置される。
【０１３３】
撮像素子２２３は、実施の形態１の場合と同様に、第１の撮像領域２２３ａ、第２の撮像領域２２３ｂ、第３の撮像領域２２３ｃ、および第４の撮像領域２２３ｄで構成されている。これらの第１〜第４の撮像領域２２３ａ〜２２３ｄは、それぞれの受光面が、第１〜第４のレンズ部１１３ａ〜１１３ｄの光軸と略垂直になるようにして２行２列で配置される。なお、実施の形態１の場合と同様に、１個の撮像素子が１個の撮像領域となり、そのような撮像素子を複数設けることによって、複数の撮像領域を有するようにしてもよい。
【０１３４】
図２３は、本発明の実施の形態２に係るカメラモジュールのカラーフィルタの特性図である。第２のカラーフィルタ２２４ｂ、および第３のカラーフィルタ２２４ｃは、図２３のＩＲで示した主に近赤外光を透過する分光透過特性（波長λ２を中心とする透過特性。例えば、λ２＝８７０ｎｍ）を有し、第１のカラーフィルタ２２４ａ、および第４のカラーフィルタ２２４ｄは、図２３のＧで示した主に緑色光を透過する分光透過特性（波長λ１を中心とする透過特性。例えば、λ１＝５００ｎｍ）を有する。
【０１３５】
したがって、第１のレンズ部１１３ａの上部から入射した物体光は、第１のレンズ部１１３ａの下部から射出され、第１のカラーフィルタ２２４ａにより主に緑色光が透過し、第１の撮像領域２２３ａの受光部に結像するため、第１の撮像領域２２３ａは物体光のうち緑色光成分を受光する。また、第２のレンズ部１１３ｂの上部から入射した物体光は、第２のレンズ部１１３ｂの下部から射出され、第２のカラーフィルタ２２４ｂ主に近赤外光が透過し、第２の撮像領域２２３ｂの受光部に結像するため、第２の撮像領域２２３ｂは物体光のうち近赤外光成分を受光する。また、第３のレンズ部１１３ｃの上部から入射した物体光は、第３のレンズ部１１３ｃの下部から射出され、第３のカラーフィルタ２２４ｃにより主に近赤外光が透過し、第３の撮像領域２２３ｃの受光部に結像するため、第３の撮像領域２２３ｃは物体光のうち近赤外光成分を受光する。更に、第４のレンズ部１１３ｄの上部から入射した物体光は、第４のレンズ部１１３ｄの下部から射出され、第４のカラーフィルタ２２４ｄにより主に緑色光が透過し、第４の撮像領域２２３ｄの受光部に結像するため、第４の撮像領域２２３ｄは物体光のうち緑色光成分を受光する。
【０１３６】
ＳＬＳＩ２２５は、後述の方法で、撮像素子２２３を駆動し、撮像素子２２３からの電気情報を入力し、各種演算を行い、上位ＣＰＵと通信を行い、外部に画像情報や距離情報などを出力する。なお、ＳＬＳＩ２２５は、電源（例えば３．３Ｖ）とグランド（例えば、０Ｖ）に接続される。
【０１３７】
次に、本発明の実施の形態２に係る撮像装置の動作を説明する。図２４は、本発明の実施の形態２に係る撮像装置の構成を示すブロック図である。ＳＬＳＩ２２５は、システム制御部２３１、撮像素子駆動部２３２、撮像信号入力部２３３、前処理部２３４、入力バッファ１３５、演算部２３６、出力バッファ１３７、および入出力部１３８を有する。撮像素子駆動部２３２は、第１の撮像素子駆動部２３２ａ、および第２の撮像素子駆動部２３２ｂを有する。入力バッファ１３５は、第１の入力バッファ１３５ａ、第２の入力バッファ１３５ｂ、第３の入力バッファ１３５ｃ、および第４の入力バッファ１３５ｄを有する。演算部２３６は、演算部バッファ２４１、視差演算部２４２、距離演算部１４３、および転送範囲決定部１４４を有する。演算バッファ２４１は、第１の演算バッファ２４１ａ、および第２の演算バッファ２４１ｂを有する。出力バッファ１３７は、第１の出力バッファ１３７ａ、および第２の出力バッファ１３７ｂを有する。
【０１３８】
システム制御部２３１は、ＣＰＵ（中央演算処理装置：Central Processing Unit）、ロジック回路などから構成され、ＳＬＳＩ２２５の全体を制御する。
【０１３９】
撮像素子駆動部２３２は、ロジック回路などから構成され、撮像素子２２３を駆動する信号を発生し、この信号に応じた電圧を撮像素子２２３に印加する。この撮像素子駆動部２３２は、第１の撮像素子駆動部２３２ａ、および第２の撮像素子駆動部２３２ｂから構成され、後述の転送範囲フラッグＦＯ＝１（第１の動作モード）のとき、第１の撮像素子駆動部２３２ａが動作し、転送範囲フラッグＦＯ＝２（第２の動作モード）のとき、第２の撮像素子駆動部２３２ｂが動作する。このように、あらかじめ２種類の回路（撮像素子駆動部）を用意することにより、転送範囲の変更（動作モードの切替）を容易にすることができる。
【０１４０】
撮像信号入力部２３３は、ＣＤＳ回路（相関二重サンプリング回路：Correlated Double Sampling Circuit）、ＡＧＣ（自動利得制御器：Automatic Gain Controller）、ＡＤＣ（アナログ／ディジタル変換器：Analog Digital Converter）が直列に接続されて構成され、撮像素子２２３からの電気信号が入力され、ＣＤＳ回路により固定ノイズを除去し、ＡＧＣによりゲインを調整し、ＡＤＣによりアナログ信号からディジタル値に変換し、後述のように、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4とする。
【０１４１】
転送範囲決定部１４４は、後述の方法で、転送範囲フラッグＦＯを決定する。転送範囲フラッグＦＯ＝１のとき、転送範囲が撮像領域の全領域で生成される撮像信号であることを示し、転送範囲フラッグＦＯ＝２のとき、転送範囲が撮像領域の半分の領域で生成される撮像信号であることを示す。なお、転送範囲フラッグは、ＦＯ＝１に初期化されている。
【０１４２】
図２５は、本発明の実施の形態２に係る撮像装置の撮像信号の切り出し位置を説明するための図である。図２６は、本発明の実施の形態２に係る撮像装置の撮像信号の転送を示すタイミングチャートである。転送範囲フラッグＦＯ＝１のとき、転送範囲が撮像領域の全領域で生成される撮像信号であるため、図２５（ａ）のように、第１の撮像信号Ｉ１に対応する領域（原点が(x01,y01)で、水平画素がＨ１画素で、垂直画素がＶ１画素の領域）、第２の撮像信号Ｉ２に対応する領域（原点が(x02,y02)で、水平画素がＨ１画素で、垂直画素がＶ１画素の領域）、第３の撮像信号Ｉ３に対応する領域（原点が(x03,y03)で、水平画素がＨ１画素で、垂直画素がＶ１画素の領域）、および第４の撮像信号Ｉ４に対応する領域（原点が(x04,y04)で、水平画素がＨ１画素で、垂直画素がＶ１画素の領域）を転送する。図２６（ａ）のように、垂直同期信号２１ｆの立ち上がりエッジから一定期間後に、信号２４ｆのハイレベルで、撮像信号が順次転送され、撮像信号入力部２３３においてアナログ信号からディジタル信号の撮像信号として変換入力される。すなわち、２４ｆ１で示される期間において第１の撮像信号I１がI1(0,0)、I1(1,0)、I1(2,0)、・・・、I1(H1-1、V1-1)の順に入力され、２４ｆ２で示される期間において第２の撮像信号I２がI2(0,0)、I2(1,0)、I2(2,0)、・・・、I2(H1-1、V1-1)の順に入力され、２４ｆ３で示される期間において第３の撮像信号I３がI3(0,0)、I3(1,0)、I3(2,0)、・・・、I3(H1-1、V1-1)の順に入力され、および２４ｆ４で示される期間において第４の撮像信号I４がI4(0,0)、I4(1,0)、I4(2,0)、・・・、I4(H1-1、V1-1)の順に入力され、前処理部２３４に転送される。
【０１４３】
転送範囲フラッグＦＯ＝２のとき、転送範囲が撮像領域の半分の領域で生成される撮像信号であるため、図２５（ｂ）のように、第２の撮像信号Ｉ２に対応する領域（原点が(x02,y02)で、水平画素がＨ１画素で、垂直画素がＶ１画素の領域）、および第３の撮像信号Ｉ３に対応する領域（原点が(x03,y03)で、水平画素がＨ１画素で、垂直画素がＶ１画素の領域）を転送する。図２６（ｂ）のように、垂直同期信号２１ｇの立ち上がりエッジから一定期間後に、信号２４ｇのハイレベルで、撮像信号が順次転送され、撮像信号入力部２３３においてアナログ信号からディジタル信号の撮像信号として変換入力される。すなわち、２４ｇ２で示される期間において第２の撮像信号I２がI2(0,0)、I2(1,0)、I2(2,0)、・・・、I2(H1-1、V1-1)の順に入力され、および２４ｇ３で示される期間において第３の撮像信号I３がI3(0,0)、I3(1,0)、I3(2,0)、・・・、I3(H1-1、V1-1)の順に入力され、前処理部２３４に転送される。
【０１４４】
転送範囲フラッグＦＯ＝１（第１の動作モード）のときの電荷の転送時間（信号２４ｇがハイレベルを取る期間）と比較し、転送範囲フラッグＦＯ＝２（第２の動作モード）のときの電荷の転送時間（信号２４ｆがハイレベルを取る期間）は略半分であるため、画像１枚を転送する時間間隔が短縮される。
【０１４５】
前処理部２３４は、ロジック回路などから構成され、撮像信号の強度補正処理を行い、順次、入力バッファ１３５に転送する。
【０１４６】
ＦＯ＝１のとき、転送範囲が撮像領域の全領域で生成される撮像信号であるため、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4の強度を補正し、順次、入力バッファ１３５に転送する。第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号は、それぞれ第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１４ｄによって結像された被写体像によって得られたものである。下記式１１のように、第１の撮像信号I1を第１の強度補正係数ks1で補正し、下記式１２のように、第２の撮像信号I2を第２の強度補正係数ks2で補正し、下記式１３のように、第３の撮像信号I3を第３の強度補正係数ks3で補正し、さらに、下記式１４のように、第４の撮像信号I4を第４の強度補正係数ks4で補正する。
【０１４７】
I1(x,y) = ks1(x,y) * I1(x,y)  …  式１１
I2(x,y) = ks2(x,y) * I2(x,y)  …  式１２
I3(x,y) = ks3(x,y) * I3(x,y)  …  式１３
I4(x,y) = ks4(x,y) * I4(x,y)  …  式１４
なお、第１の強度補正係数ks1(x,y)、第２の強度補正係数ks2(x,y)、第３の強度補正係数ks3(x,y)、および第４の強度補正係数ks4(x,y)のそれぞれは、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4の座標(x,y)における強度補正係数を示し、検査工程などにおいて特定チャートを撮影して決定され、EEPROMやフラッシュメモリに保存される。なお、各画素の係数を持たずに、代表点のみを持ち、その代表点を用いて線形補間により第１の強度補正係数ks1(x,y)、第２の強度補正係数ks2(x,y)、第３の強度補正係数ks3(x,y)、および第４の強度補正係数ks4(x,y)を求めてもよい。また、近似式を策定しその係数のみを持ち、各座標の第１の強度補正係数ks1(x,y)、第２の強度補正係数ks2(x,y)、第３の強度補正係数ks3(x,y)、および第４の強度補正係数ks4(x,y)を作成してもよい。また、レンズの光軸のずれなどを校正するために、適宜、座標変換を行ってもよい。
【０１４８】
一方、ＦＯ＝２のとき、転送範囲が撮像領域の半分の領域で生成される撮像信号であるため、第２の撮像信号I2、および第３の撮像信号I3を作成し、順次、入力バッファ１３５に転送する。ＦＯ＝１のとき（第１の動作モード）と比較し、第１の撮像信号I1、および第４の撮像信号I4に関する処理が省略される。第２の撮像信号I2、および第３の撮像信号I3に関する処理は同様であるため、説明を省略する。
【０１４９】
ＦＯ＝１のとき、第１の入力バッファ１３５ａは、ＤＲＡＭ（Dynamic Random Access Memory）などから構成され、第１の撮像信号I1を順次読み込み、H1*V1画素（ｘ方向にH1画素、ｙ方向にV1画素）のデータを保存する。第２の入力バッファ１３５ｂは、ＤＲＡＭなどから構成され、第２の撮像信号I2を順次読み込み、H1*V1画素（ｘ方向にH1画素、ｙ方向にV1画素）のデータを保存する。第３の入力バッファ１３５ｃは、ＤＲＡＭなどから構成され、第３の撮像信号I3を順次読み込み、H1*V1画素（ｘ方向にH1画素、ｙ方向にV1画素）のデータを保存する。第４の入力バッファ１３５ｄは、ＤＲＡＭなどから構成され、第４の撮像信号I4を順次読み込み、H1*V1画素（ｘ方向にH1画素、ｙ方向にV1画素）のデータを保存する。
【０１５０】
一方、ＦＯ＝２のとき、第２の撮像信号I2、および第３の撮像信号I3を作成し、順次、入力バッファ１３５に入力する。ＦＯ＝１のとき（全領域を転送するとき）と比較し、第１の入力バッファ１３５ａ、および第４の入力バッファ１３５ｄに関する処理が省略される。第２の入力バッファ１３５ｂ、および第３の入力バッファ１３５ｃに関する処理は同様であるため、説明を省略する。
【０１５１】
演算部２３６は、SRAMから構成された第１の演算バッファ２４１ａ、第２の演算バッファ２４１ｂと、ロジック回路やCPUなどから構成された視差演算部２４２と、ロジック回路やCPUなどから構成された距離演算部１４３と、ロジック回路やCPUなどから構成された転送範囲決定部１４４と、から構成される。演算部２３６は、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4をブロック単位で読み込み、第１の演算バッファ２４１ａ、第２の演算バッファ２４１ｂに保存する。そして、視差演算部２４２において第１の演算バッファ２４１ａ、および第２の演算バッファ２４１ｂのデータなどに基づき視差を演算し、距離演算部１４３において求められた視差に基づき距離を演算し、求められた距離データを出力バッファ１３７に転送する。
【０１５２】
出力バッファ１３７、および入出力部１３８は、実施の形態１と同様であり、説明を省略する。
【０１５３】
図２７は、本発明の実施の形態２に係る撮像装置の動作を示すフローチャートである。ＳＬＳＩ２２５のシステム制御部２３１により、撮像装置２０１は、このフローチャートのとおりに動作される。
【０１５４】
ステップＳ２０１０において、動作を開始する。例えば、上位ＣＰＵ（図示せず）が、入出力部１３８を介し、撮像装置２０１に動作の開始を命令することにより、撮像装置２０１は、動作を開始する。次に、ステップＳ２０２０を実行する。
【０１５５】
ステップＳ２０２０において、転送範囲の初期化処理を行う。本実施の形態では、この初期化処理により、転送範囲フラッグＦＯ＝１（第１の動作モード）が設定される。次に、ステップＳ２０３０を実行する。
【０１５６】
ステップＳ２０３０において、撮像信号を入力する。システム制御部２３１の命令により、撮像素子駆動部２３２が転送を行うための信号を随時出力する。転送範囲フラッグＦＯ＝１（第１の動作モード）のとき、第１の撮像信号駆動部２３２ａが動作する。この場合、撮像信号入力部２３３は、第１の撮像信号I1(x,y)を、ｘ方向にH1画素、ｙ方向にV1画素だけ、すなわち、I1(0,0)（(x,y)=(0,0)）、I1(1,0)、I1(2,0)、・・・、I1(H1-1,V1-1)の順に入力し、順次、前処理部２３４に転送する。次に、第２の撮像信号I2(x,y)を、ｘ方向にH1画素、ｙ方向にV1画素だけ、すなわち、I2(0,0)（(x,y)=(0,0)）、I2(1,0)、I2(2,0)、・・・、I2(H1-1,V1-1)の順に入力し、順次、前処理部２３４に転送する。次に、第３の撮像信号I3(x,y)を、ｘ方向にH1画素、ｙ方向にV1画素だけ、すなわち、I3(0,0)（(x,y)=(0,0)）、I3(1,0)、I3(2,0)、・・・、I3(H1-1,V1-1)の順に入力し、順次、前処理部２３４に転送する。次に、第４の撮像信号I4(x,y)を、ｘ方向にH1画素、ｙ方向にV1画素だけ、すなわち、I4(0,0)（(x,y)=(0,0)）、I4(1,0)、I4(2,0)、・・・、I4(H1-1,V1-1)の順に入力し、順次、前処理部２３４に転送する。前処理部２３４は、強度補正処理を行い、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4を作成し、第１の撮像信号I1、第２の撮像信号I2、第３の撮像信号I3、および第４の撮像信号I4を、それぞれ、順次、第１の入力バッファ１３５ａ、第２の入力バッファ１３５ｂ、第３の入力バッファ１３５ｃ、および第４の入力バッファ１３５ｄに転送する。
【０１５７】
一方、転送範囲フラッグＦＯ＝２（第２の動作モード）のとき、第２の撮像信号駆動部２３２ｂが動作し、撮像信号入力部２３３は、第２の撮像信号I2(x,y)を、ｘ方向にH1画素、ｙ方向にV1画素だけ、すなわち、I2(0,0)（(x,y)=(0,0)）、I2(1,0)、I2(2,0)、・・・、I2(H1-1,V1-1)の順に入力し、順次、前処理部２３４に転送し、第３の撮像信号I3(x,y)を、ｘ方向にH1画素、ｙ方向にV1画素だけ、すなわち、I3(0,0)（(x,y)=(0,0)）、I3(1,0)、I3(2,0)、・・・、I3(H1-1,V1-1)の順に入力し、順次、前処理部２３４に転送する。前処理部２３４は、強度補正処理を行い、第２の撮像信号I2、および第３の撮像信号I3を作成し、第２の撮像信号I2、および第３の撮像信号I3を、それぞれ、順次、第２の入力バッファ１３５ｂ、および第３の入力バッファ１３５ｃに転送する。
【０１５８】
ステップＳ２０４０において、第２の入力バッファ１３５ａに保存されている第２の撮像信号I2を第１の出力バッファ１３７ａに転送し、第１の出力バッファ１３７ａは、画像データとして保存する。次に、ステップＳ２１００を実行する。
【０１５９】
ステップＳ２１００において、距離データを作成し、順次、第２の出力バッファ１３７ｂに転送する。また、転送範囲を決定し、転送範囲フラッグＦＯを設定する。この動作の詳細は後述する。次に、ステップＳ２９１０を実行する。
【０１６０】
ステップＳ２９１０において、外部にデータを出力する。入出力部１３８は、第１の出力バッファ１３７ａ上の画像データ、および第２の出力バッファ１３７ｂ上の距離データを、上位ＣＰＵ（図示せず）や外部表示装置（図示せず）に出力する。次に、Ｓ２９２０を実行する。
【０１６１】
ステップＳ２９２０において、動作を終了するかどうかを判断する。例えば、システム制御部２３１は、入出力部１３８を介し、上位ＣＰＵ（図示せず）と通信し、動作を終了するかどうかの命令を要求する。そして、上位ＣＰＵが終了を命令すれば動作を終了し、次に、ステップＳ２９３０を実行する。一方、上位ＣＰＵが終了を命令しなければ動作を継続し、次に、ステップＳ２０３０を実行する。すなわち、上位ＣＰＵが終了を命令しない限り、ステップＳ２０３０、ステップＳ２０４０、ステップＳ２１００、およびステップＳ２９１０のループの実行を継続する。
【０１６２】
ステップＳ２９３０において、動作を終了する。
【０１６３】
次に、ステップＳ２１００における動作の詳細を説明する。図２８は、本発明の実施の形態２に係る撮像装置の演算部の動作を示すフローチャートである。図２８のフローチャートは、ステップＳ２１００の動作の詳細を示す。ステップＳ２１００の演算では、まず、ステップＳ２１１０を実行する。
【０１６４】
ステップＳ２１１０において、演算の動作を開始する。次に、ステップＳ２２００を実行する。
【０１６５】
ステップＳ２２００において、視差演算を実行する。図２９は、本発明の実施の形態２に係る撮像装置の視差演算の動作を示すフローチャートである。図２９のフローチャートは、ステップＳ２２００の動作の詳細を示す。ステップＳ２２００の演算では、まず、ステップＳ２２１０を実行する。
【０１６６】
ステップＳ２２１０において、視差演算の動作を開始する。次に、ステップＳ２２２０を実行する。
【０１６７】
ステップＳ２２２０において、転送範囲フラッグＦＯによって分岐する。転送範囲フラッグＦＯ＝１のとき（Ｓ２２２０でＹ）、転送範囲が撮像領域の全領域で生成される撮像信号となり、次に、ステップＳ２２３０ａを実行する。一方、転送範囲フラッグＦＯ＝２のとき（Ｓ２２２０でＮ）、転送範囲が撮像領域の半分の領域で生成される撮像信号となり、次に、ステップ２２３０ｂを実行する。
【０１６８】
ステップＳ２２３０ａにおいて、第２の撮像信号と第３の撮像信号とを利用した視差演算を実行する。図３０は、本発明の実施の形態２に係る撮像装置の第２の撮像信号と第３の撮像信号とを利用した視差演算の動作を示すフローチャートである。図３０のフローチャートは、ステップＳ２２３０ａの動作の詳細を示す。ステップＳ２２３０ａの演算では、まず、ステップＳ２３１０を実行する。
【０１６９】
ステップＳ２３１０において、第２の撮像信号と第３の撮像信号とを利用した視差演算の動作を開始する。次に、ステップＳ２３２０を実行する。
【０１７０】
ステップＳ２３２０において、ブロックインデックスｉｂに０に初期化する。次に、ステップＳ２３３０を実行する。
【０１７１】
ステップＳ２３３０において、ブロックを選択する。図３１は、本発明の実施の形態２に係る撮像装置の第２の撮像信号と第３の撮像信号とを利用した視差演算における第２の撮像信号の分割ブロックと演算順番を説明する図であり、図３２は、本発明の実施の形態２に係る撮像装置の第２の撮像信号と第３の撮像信号とを利用した視差演算における第３の撮像信号の分割ブロックと演算順番を説明する図である。図３１において、第２の撮像信号Ｉ２は、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素の長方形状のブロックに分割され、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素ずれて配置され、ｘ方向にＮｈ個、ｙ方向にＮｖ個のブロックを持つ。そのため、各ブロックはｘ方向、ｙ方向ともに重なる部分はない。図３２において、第３の撮像信号Ｉ３は、図３２（ｂ）のような(HB+SB)*(VB+SB)-SB*SB画素のブロックに分割され、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素ずれて配置され、ｘ方向にＮｈ個、ｙ方向にＮｖ個のブロックを持つ。また、図３２において、図３２（ｂ）のようなブロックを取ることができないブロック（例えば、左上や右下や左下のブロック）は、適宜取れない部分が削除される（例えば、左上のブロックはＨＢ＊ＶＢの長方形状のブロックとなる）。なお、実施の形態２では、以下、ＨＢ＝３２、ＶＢ＝３２の例を示す。図３１、および図３２において、各ブロックの上段に記述された数字はブロックインデックスｉｂを示す。また、図３１、および図３２おいて、各ブロックの下段に記述された座標（ｉｂｘ、ｉｂｙ）は、各ブロックがｘ方向にｉｂｘ番目、ｙ方向にｉｂｙ番目のブロックであることを示す。ここで、ｉｂｘは０からＮｈ−１まで、ｉｂｙは０からＶｈ−１まで存在する。ステップＳ２３３０において、図３１、および図３２において、ブロックインデックスｉｂで示されるブロック（座標（ｉｂｘ、ｉｂｙ）で示されるブロック）が選択される。次に、ステップＳ２３４０を実行する。
【０１７２】
ステップＳ２３４０において、撮像信号を転送する。ここでは、ステップＳ２３３０において選択されたブロックの第２の撮像信号I2を第１の演算バッファ２４１ａに転送する。演算バッファの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。ステップＳ２３４０において、さらに、選択されたブロックの第３の撮像信号I3を第２の演算バッファ２４１ｂに転送する。演算バッファの座標(x,y)における値をBc2(x,y)とする。ここで、HB=32、VB=32であるため、x=31-SB〜31、y=0〜31+SBである。例えば、ｉｂ＝ｉｂｔのとき、第１の演算バッファ２４１ａには、座標(H1-1,0)と座標(H1-32,31)とで囲まれる1024画素の撮像信号I1が転送され、第２の演算バッファ２４１ｂには、図３２において右斜上となる斜線が描かれた座標(H1-10,0)と座標(H1-32-SB,31+SB)とで囲まれる(1024+2*32*SB)画素の撮像信号I3が転送される。次に、ｉｂ＝ｉｂｔ＋１のとき、第１の演算バッファ２４１ａには、座標(H1-33,32)と座標(H1-64,63)とで囲まれる1024画素の撮像信号I1が転送される。また、第２の演算バッファ２４１ｂでは、図３２において右斜上となる斜線が描かれた座標(H1-33,32)と座標(H1-64-SB,63+SB)とで囲まれる(1024+2*32*SB)画素の撮像信号I3が必要だが、ｉｂ＝ｉｂｔと重なる部分（座標(H1-33,32)と座標(H1-32-SB,31+SB)で囲まれる2*32*SB画素の領域）はすでに第２の演算バッファ２４１ｂに転送されているため、新たに座標(H1-33-SB,31+SB)と座標(H1-64-SB,63+SB)とで囲まれる2048画素のみを第２の演算バッファ２４１ｂに転送する。これにより、転送時間を低減できる。次に、ステップＳ２３５０を実行する。
【０１７３】
ステップＳ２３５０において、視差演算を実行する。まず、視差評価値R(k)を演算する。ここで、ｋは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。図３３は、本発明の実施の形態２に係る撮像装置の第２の撮像信号と第３の撮像信号を利用したときの視差演算における視差評価値の演算領域を説明する図である。図３３のように、データBc1が格納されている領域は、第１の演算バッファ２４１ａ中の領域である。データBc2が格納されている領域は、図３３においてBc1で示されるブロックからｘ方向に負の向きでずらし量ｋだけ、ｙ方向に正の向きでずらし量ｋだけ移動した第２の演算バッファ２４１ｂ中の領域である。そして、ずらし量k=0からSBについて、下記式１５に示される絶対値差分総和(SAD。Sum of Absolute Differences)を演算し、視差評価値R(k)とする。
【０１７４】
R(k) = ΣΣ|Bc1(x,y)-Bc2(x-k,y+k)|  …  式１５
この視差評価値R(k)は、第１の演算バッファ２４１ａのデータBc1と、ｘ方向に負の向きでｋだけ、ｙ方向に正の向きでｋだけ離れた領域における第２の演算バッファ２４１ｂのデータBc2とがどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。ここで、第１の演算バッファ２４１ａのデータBc1は、第２の撮像信号I2を転送したものであり、第２の演算バッファ２４１ｂのデータBc2は、第３の撮像信号I3を転送したものであるため、視差評価値R(k)は、第２の撮像信号I2と対応する第３の撮像信号I3とがどれだけ相関があるかを示す。
【０１７５】
図１７のように、視差評価値R(k)はずらし量ｋの値によって変化し、ずらし量ｋ＝Δのとき極小値を持つ。第１の演算バッファ２４１ａのデータBc1は、第１の演算バッファ２４１ａのデータBc1をｘ方向に負の向きにｋだけ、ｙ方向に正の向きにｋだけ移動した領域に存在する第２の演算バッファ２４１ｂのデータBc2と最も相関がある（最も似ている）ことを示す。したがって、第１の演算バッファ２４１ａのデータBc1と第２の演算バッファ２４１ｂのデータBc2との視差がΔであることが分かる。ここで、このΔをこのブロックでの視差値Δと呼ぶ。
【０１７６】
次に、視差値Δの信頼度を演算する。図３４は、本発明の実施の形態２に係る撮像装置の第２の撮像信号と第３の撮像信号を利用したときの視差演算における視差評価値の信頼度の演算領域を説明する図である。データBc1が格納されている領域は、第１の演算バッファ２４１ａ中の領域である。データBc2が格納されている領域は、データBc1をｘ方向に負の向きにΔだけ、ｙ方向に正の向きにΔだけ移動した第２の演算バッファ２４１ｂ中の領域である。そして、下記式１６のように、それぞれの領域のデータBc1(x,y)、Bc2(x-Δ,y+Δ)について、正規化相関係数を信頼度Eとする。
【０１７７】
E(2,3)(ibx,iby) = ΣΣ[{Bc1(x,y)-avg(Bc1(x,y))}
*{Bc2(x-Δ,y+Δ)-avg(Bc2(x-Δ,y+Δ))}]
/ √ΣΣ[{Bc1(x,y)-avg(Bc1(x,y))}
*{Bc1(x,y)-avg(Bc1(x,y))}
/ √ΣΣ[{Bc2(x-Δ,y+Δ)-avg(Bc2(x-Δ,y+Δ))}
*{Bc2(x-Δ,y+Δ)-avg(Bc2(x-Δ,y+Δ))}]          …  式１６
そして、この視差値Δの信頼度Eを、第２の撮像信号と第３の撮像信号とを利用した視差演算において、座標(ibx,iby)で示される３２ｘ３２画素のブロックにおける視差値Δ(2,3)(ibx,iby)とその信頼度E(2,3)(ibx,iby)として保存する。(2,3)は、第２の撮像信号と第３の撮像信号とを利用した視差値、および信頼度であることを示す。(ibx,iby)は、ブロックインデックスibで示されるブロックを示し、図３１において各ブロックの下段に示される座標である。次に、ステップＳ２３６０を実行する。
【０１７８】
ステップＳ２３６０において、ブロックインデックスｉｂに１を加える。次に、ステップＳ２３７０を実行する。
【０１７９】
ステップＳ２３７０において、第２の撮像信号と第３の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスｉｂがNh*Nv未満のとき、次のブロックの視差を演算するために、次に、ステップＳ２３３０を実行する。一方、ブロックインデックスｉｂがNh*Nv以上のとき、全てのブロックの視差を演算したと判断し、次に、ステップＳ２３８０を実行する。
【０１８０】
ステップＳ２３８０において、第２の撮像信号と第３の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。このようにして、第２の撮像信号と第３の撮像信号とを利用した視差演算において、ブロックインデックスｉｂで示される３２ｘ３２画素のブロックについて、３２ｘ３２画素の分解能で視差値Δ(2,3)(ibx,iby)とその信頼度E(2,3)(ibx,iby)とが求められた。ここで、(2,3)は第２の撮像信号と第３の撮像信号とを利用していることを示し、(ibx,iby)は図３１において各ブロックの下段に示される座標である（ｉｂｘは０からＮｈ−１まで、ｉｂｙはＮｖ−１まで変化する）。次に、図２９のステップＳ２２４０ａを実行する。
【０１８１】
ステップＳ２２４０ａにおいて、第１の撮像信号と第４の撮像信号とを利用した視差演算を実行する。図３５は、本発明の実施の形態２に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算の動作を示すフローチャートである。図３５のフローチャートは、ステップＳ２２４０ａの動作の詳細を示す。ステップＳ２２４０ａの演算では、まず、ステップＳ２４１０を実行する。
【０１８２】
ステップＳ２４１０において、第１の撮像信号と第４の撮像信号とを利用した視差演算の動作を開始する。次に、ステップＳ２４２０を実行する。
【０１８３】
ステップＳ２４２０において、ブロックインデックスｉｂに０に初期化する。次に、ステップＳ２４３０を実行する。
【０１８４】
ステップＳ２４３０において、ブロックを選択する。第１の撮像信号のブロック分割は、ステップＳ２３３０の第２の撮像信号のブロック分割と同様であり、説明を省略する。ただし、ブロックインデックスibは後述の図３６と同様となるように変更される。図３６は、本発明の実施の形態２に係る撮像装置の第１の撮像信号と第４の撮像信号とを利用した視差演算における第４の撮像信号の分割ブロックと演算順番を説明する図である。図３１の第２の撮像信号Ｉ２と同様に、第１の撮像信号Ｉ１は、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素の長方形状のブロックに分割され、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素ずれて配置され、ｘ方向にＮｈ個、ｙ方向にＮｖ個のブロックを持つ。そのため、各ブロックはｘ方向、ｙ方向ともに重なる部分はない。図３６おいて、第４の撮像信号Ｉ４は、図３６（ｂ）のような(HB+SB)*(VB+SB)-SB*SB画素のブロックに分割され、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素ずれて配置され、ｘ方向にＮｈ個、ｙ方向にＮｖ個のブロックを持つ。また、図３６において、図３６（ｂ）のようなブロックを取れないブロック（例えば、右上や右下や左下のブロック）は、適宜取れない部分が削除される（例えば、右上のブロックはＨＢ＊ＶＢの長方形状のブロックとなる）。なお、実施の形態２では、以下、ＨＢ＝３２、ＶＢ＝３２の例を示す。
【０１８５】
図３６において、各ブロックの上段に記述された数字はブロックインデックスｉｂを示す。また、図３６おいて、各ブロックの下段に記述された座標（ｉｂｘ、ｉｂｙ）は、各ブロックがｘ方向にｉｂｘ番目、ｙ方向にｉｂｙ番目のブロックであることを示す。ここで、ｉｂｘは０からＮｈ−１まで、ｉｂｙは０からＶｈ−１まで存在する。ステップＳ２３２０において、図３６において、ブロックインデックスｉｂで示されるブロック（座標（ｉｂｘ、ｉｂｙ）で示されるブロック）が選択される。次に、ステップＳ２４４０を実行する。
【０１８６】
ステップＳ２４４０、撮像信号を転送する。ここでは、ステップＳ２４３０において選択されたブロックの第１の撮像信号I1を第１の演算バッファ２４１ａに転送する。第１の演算バッファ２４１ａの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。ステップＳ２４３０において、選択されたブロックの第４の撮像信号I4を第２の演算バッファ２４１ｂに転送する。第２の演算バッファ２４１ｂの座標(x,y)における値をBc2(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31+SB、y=0〜31+SBである。例えば、ｉｂ＝ｉｂｔのとき、第１の演算バッファ２４１ａには、座標(0,0)と座標(31,31)とで囲まれる1024画素の撮像信号I1が転送され、第２の演算バッファ２４１ｂには、図３６において右斜下となる斜線が描かれた座標(0,0)と座標(31+SB,31+SB)とで囲まれる(1024+2*32*SB)画素の撮像信号I4が転送される。次に、ｉｂ＝ｉｂｔ＋１のとき、第１の演算バッファ２４１ａには、座標(32,32)と座標(63,63)とで囲まれる1024画素の撮像信号I1が転送される。また、第２の演算バッファ２４１ｂでは、図３６において右斜下となる斜線が描かれた座標(32,32)と座標(63+SB,63+SB)とで囲まれる(1024+2*32*SB)画素の撮像信号I4が必要だが、ｉｂ＝ｉｂｔと重なる部分（座標(32,32)と座標(31+SB,31+SB)で囲まれる2*32*SB画素の領域）はすでに第２の演算バッファ２４１ｂに転送されているため、新たに座標(32+SB,32+SB)と座標(63+SB,63+SB)とで囲まれる2048画素のみを第２の演算バッファ２４１ｂに転送すればよい。次に、ステップＳ２４５０を実行する。
【０１８７】
ステップＳ２４５０において、視差演算を実行する。まず、視差評価値R(k)を演算する。ここで、ｋは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。図３７は、本発明の実施の形態２に係る撮像装置の第１の撮像信号と第４の撮像信号を利用したときの視差演算における視差評価値の演算領域を説明する図である。図３７のように、データBc1が格納されている領域は、第１の演算バッファ２４１ａ中の領域である。データBc2が格納されている領域は、図３７においてBc1で示されるブロックからｘ方向に正の向きでずらし量ｋだけ、ｙ方向に正の向きでずらし量ｋだけ移動した第２の演算バッファ２４１ｂ中の領域である。そして、ずらし量k=0からSBについて、下記式１７に示される絶対値差分総和(SAD。Sum of Absolute Differences)を演算し、視差評価値R(k)とする。
【０１８８】
R(k) = ΣΣ|Bc1(x,y)-Bc2(x+k,y+k)|  …  式１７
この視差評価値R(k)は、第１の演算バッファ２４１ａのデータBc1と、ｘ方向に正の向きでｋだけ、ｙ方向に正の向きでｋだけ離れた領域における第２の演算バッファ２４１ｂのデータBc2とがどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。ここで、第１の演算バッファ２４１ａのデータBc1は、第１の撮像信号I1を転送したものであり、第２の演算バッファ２４１ｂのデータBc2は、第４の撮像信号I4を転送したものであるため、視差評価値R(k)は、第１の撮像信号I1と対応する第４の撮像信号I4とがどれだけ相関があるかを示す。
【０１８９】
図１７のように、視差評価値R(k)はずらし量ｋの値によって変化し、ずらし量ｋ＝Δのとき極小値を持つ。第１の演算バッファ２４１ａのデータBc1は、第１の演算バッファ２４１ａのデータBc1をｘ方向に正の向きにｋだけ、ｙ方向に正の向きにｋだけ移動した領域に存在する第２の演算バッファ２４１ｂのデータBc2と最も相関がある（最も似ている）ことを示す。したがって、第１の演算バッファ２４１ａのデータBc1と第２の演算バッファ２４１ｂのデータBc2との視差がΔであることが分かる。ここで、このΔをこのブロックでの視差値Δと呼ぶ。
【０１９０】
次に、視差値Δの信頼度を演算する。図３８は、本発明の実施の形態２に係る撮像装置の第１の撮像信号と第４の撮像信号を利用したときの視差演算における視差評価値の信頼度の演算領域を説明する図である。データBc1が格納されている領域は、第１の演算バッファ２４１ａ中の領域である。データBc2が格納されている領域は、データBc1をｘ方向に正の向きにΔだけ、ｙ方向に正の向きにΔだけ移動した第２の演算バッファ２４１ｂ中の領域である。そして、下記式１８のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ,y+Δ)について、正規化相関係数を信頼度Eとする。
【０１９１】
E(1,4)(ibx,iby) = ΣΣ[{Bc1(x,y)-avg(Bc1(x,y))}
*{Bc2(x+Δ,y+Δ)-avg(Bc2(x+Δ,y+Δ))}]
/ √ΣΣ[{Bc1(x,y)-avg(Bc1(x,y))}
*{Bc1(x,y)-avg(Bc1(x,y))}
/ √ΣΣ[{Bc2(x+Δ,y+Δ)-avg(Bc2(x+Δ,y+Δ))}
*{Bc2(x+Δ,y+Δ)-avg(Bc2(x+Δ,y+Δ))}]          …  式１８
そして、この視差値Δの信頼度Eを、第１の撮像信号と第４の撮像信号とを利用した視差演算において、座標(ibx,iby)で示される３２ｘ３２画素のブロックにおける視差値Δ(1,4)(ibx,iby)とその信頼度E(1,4)(ibx,iby)として保存する。(1,4)は、第１の撮像信号と第４の撮像信号とを利用した視差値、および信頼度であることを示す。(ibx,iby)は、ブロックインデックスibで示されるブロックを示し、図３１において各ブロックの下段に示される座標である。次に、ステップＳ２４６０を実行する。
【０１９２】
ステップＳ２４６０において、ブロックインデックスｉｂに１を加える。次に、ステップＳ２４７０を実行する。
【０１９３】
ステップＳ２４７０において、第１の撮像信号と第４の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスｉｂがNh*Nv未満のとき、次のブロックの視差を演算するために、次に、ステップＳ２４３０を実行する。一方、ブロックインデックスｉｂがNh*Nv以上のとき、全てのブロックの視差を演算したと判断し、次に、ステップＳ２４８０を実行する。
【０１９４】
ステップＳ２４８０において、第１の撮像信号と第４の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。このようにして、第１の撮像信号と第４の撮像信号とを利用した視差演算において、ブロックインデックスｉｂで示される３２ｘ３２画素のブロックについて、３２ｘ３２画素の分解能で視差値Δ(1,4)(ibx,iby)とその信頼度E(1,4)(ibx,iby)とが求められた。ここで、(1,4)は第１の撮像信号と第４の撮像信号とを利用していることを示し、(ibx,iby)は図３１において各ブロックの下段に示される座標である（ｉｂｘは０からＮｈ−１まで、ｉｂｙはＮｖ−１まで変化する）。次に、図２９のステップＳ２２５０ａを実行する。
【０１９５】
ステップＳ２２５０ａにおいて、視差を選択する。それぞれのブロックに対し、信頼度E(2,3)(ibx,iby)、およびE(1,4)(ibx,iby)を比較し、最大の信頼度を与える視差をそのブロックでの視差値Δ(ibx,iby)とする。また、そのときの信頼度をE(ibx,iby)とする。次に、ステップＳ２２６０を実行する。
【０１９６】
ステップＳ２２３０ｂにおいて、第２の撮像信号と第３の撮像信号とを利用した視差演算を実行する。このステップは、ステップＳ２２３０ａと同様であり、説明を省略する。ただし、求められる視差、および信頼度を、それぞれのブロックでの視差値Δ(ibx,iby)、および信頼度E(ibx,iby)とする。次に、ステップＳ２２６０を実行する。
【０１９７】
ステップＳ２２６０において、視差演算を終了し、上位ルーチンへ戻る。このようにして、各ブロックにおける視差値Δ(ibx,iby)が求められた。ここで、(ibx,iby)は図３１の各ブロックの下段に示される座標であり、ｉｂｘは０からＮｈ−１まで、ｉｂｙはＮｖ−１まで変化する。本実施の形態では、フラッグＦＯ＝１（第１の動作モード）のとき、第２の撮像信号Ｉ２と第３の撮像信号Ｉ３とによる視差（近赤外光による視差）の信頼度と第１の撮像信号Ｉ１と第４の撮像信号Ｉ４とのよる視差（緑色光による視差）の信頼度とを比較し、信頼度が高い視差を採用した。一方、転送範囲フラッグＦＯ＝２（第２の動作モード）のとき、信頼度による選択を行わず、第２の撮像信号Ｉ２と第３の撮像信号Ｉ３とによる視差（近赤外光による視差）を採用した。次に、ステップＳ２７００を実行する。
【０１９８】
ステップＳ２７００において、距離演算部１４３は、距離演算を行い、その結果を、順次、第２の出力バッファ１３７ｂに、距離データとして転送する。このステップＳ２７００の動作は、実施の形態１のステップＳ１７００と同様であり、説明を省略する。次に、ステップＳ２８００を実行する。
【０１９９】
ステップＳ２８００において、転送範囲決定部１４４は、転送範囲を決定し、転送範囲フラッグを設定する。このステップＳ２８００の動作は、実施の形態１のステップＳ１８００と同様であり、説明を省略する。次に、ステップＳ２９００を実行する。
【０２００】
ステップＳ２９００において、演算動作を終了し、上位ルーチンへ戻る。次に、ステップＳ２９１０を実行する。
【０２０１】
本実施の形態の撮像装置を以上のように構成し、動作させることにより、実施の形態１と同様の効果を有する。すなわち、本発明の実施の形態２に係る撮像装置によれば、転送範囲決定部１４４が撮像信号から作成される信頼度E(ibx,iby)に基づき、信頼度E(ibx,iby)が小さいとき、転送範囲フラッグＦＯ＝１（第１の動作モード）とし、信頼度E(ibx,iby)が大きいとき、転送範囲フラッグＦＯ＝２（第２の動作モード）とする。このことにより、信頼度E(ibx,iby)が大きいとき、高速性を上げる余裕があると判断し、出力フラッグＦＯ＝２（第２の動作モード）とすることにより、高速な視差演算、距離演算を可能とする撮像装置を実現する。一方、信頼度E(ibx,iby)が小さいとき、精度がさらに必要であると判断し、出力フラッグＦＯ＝１（第１の動作モード）とすることにより、高精度な視差演算、距離演算を可能とする。
【０２０２】
また、対角に配置されたレンズ部（第２のレンズ部１１３ｂと第３のレンズ部１１３ｃ、および第１のレンズ部１１３ａと第４のレンズ部１１４ｄ）に対応する撮像信号（第２の撮像信号Ｉ２と第３の撮像信号Ｉ３、および第１の撮像信号Ｉ１と第４の撮像信号）を利用し視差演算することにより、水平方向に伸びた形状を有する被写体（例えば、車両前方の停止線）の視差を精度よく検知できる。
【０２０３】
なお、実施の形態２の撮像装置において、第１の撮像信号Ｉ１、第２の撮像信号Ｉ２、第３の撮像信号Ｉ３、および第４の撮像信号I4の大きさは、それぞれ水平方向にＨ１画素、垂直方向にＶ１画素であり、この領域の全てを用いて視差演算を行ったが、ある程度余裕を持たせてもよい。すなわち、視差演算に利用する撮像信号を、水平方向にＨ１画素、垂直方向にＶ１画素よりも小さくしてもよい。
【０２０４】
また、実施の形態２の撮像装置において、信頼度E(ibx,iby)により転送範囲を変更したが、本発明はこれに限定されない。本発明の要諦は、転送範囲を変更することにより、速度と精度との関係が最適な視差演算、距離演算をすることにある。なお、上位ＣＰＵの命令により、転送範囲を変更してもよい。例えば、上位ＣＰＵが画像データを用いて、転送範囲を変更してもよい。あるいは、ユーザが指定する被写体情報に基づいて、転送範囲を上位ＣＰＵが命令してもよい。
【０２０５】
なお、実施の形態１の場合と同様に、撮像信号に基づくことなく、転送範囲が決定されるようにしてもよい。
【０２０６】
また、実施の形態２の撮像装置において、転送範囲フラッグの初期値をＦＯ＝１（転送範囲が全領域）としたが、ＦＯ＝２（転送範囲が半分の領域）としてもよい。
【０２０７】
また、実施の形態２の撮像装置において、第１の演算バッファの大きさを３２ｘ３２画素（水平方向に３２画素、および垂直方向に３２画素）としたが、これに限定されない。例えば、４ｘ４画素、８ｘ８画素、１６ｘ１６画素でもよい。また、適宜大きさを変更してもよい。また、複数の大きさのブロックの視差を求め、選択してもよい。さらに、矩形状のブロックではなく、エッジなどを抽出してブロック分割してもよい。また、ブロックの視差を求めることに限定されず、エッジである線分の視差を求めてもよい。
【０２０８】
また、実施の形態２の撮像装置において、第２の撮像信号Ｉ２を第１の出力バッファ１３７ａに転送し、入出力部１３８から出力したが、他の撮像信号（第１の撮像信号Ｉ１、第３の撮像信号Ｉ３、あるいは第４の撮像信号Ｉ４）を出力してもよい。また、複数の撮像信号を出力してもよい。さらに、撮像信号の条件により、入出力部１３８から出力する撮像信号を変更してもよい。例えば、それぞれの撮像信号を比較し、最も明るい撮像信号（撮像信号の大きさの平均が最も大きいなどにより判定されたもの）、あるいは最も輪郭がはっきりしているもの（微分値の平均や最大値が最も大きいなどにより判定されたもの）などを出力するように変更してもよい。
【０２０９】
また、実施の形態２の撮像装置において、ＣＭＯＳセンサである撮像素子２２３とＳＬＳＩ２２５とを別体としたが、ＳＬＳＩ２２５をＣＭＯＳプロセスにより構成し、撮像素子２２３とＳＬＳＩ２２５とを同一半導体基板上に構成してもよい。このことにより、別体で構成するときと比較し、基板１２１上の配線などを省略できるため、低コスト化を実現できる。また、耐ノイズ性を向上できる。
【０２１０】
なお、図２５（ａ）において、第１の撮像信号Ｉ１に対応する領域（Ｉ１で示された領域）、第２の撮像信号Ｉ２に対応する領域（Ｉ２で示された領域）、第３の撮像信号Ｉ３に対応する領域（Ｉ３で示された領域）、および第４の撮像信号Ｉ４に対応する領域（Ｉ４で示された領域）は、それぞれ撮像素子の中心に対して対称に描画されているが、対称でなくてもよいことは言うまでもない。レンズ１１３の製造ばらつきやレンズモジュール１１０の組み立て精度などにより、第１のレンズ部１１３ａの光軸中心、第２のレンズ部１１３ｂの光軸中心、第３のレンズ部１１３ｃの光軸中心、および第４のレンズ部１１３ｄの光軸中心がそれぞれ対応する撮像信号の同一の画素に対応するように、組み立て後の調整などにより、撮像信号Ｉ１の原点(x01,y01)、撮像信号Ｉ２の原点(x02,y02)、撮像信号Ｉ３の原点(x03,y03)、および撮像信号Ｉ４の原点(x04,y04)を設定し、ＳＬＳＩ２２５内や基板１２１上にフラッシュメモリやEEPROMなどを実装し情報を保持し、適宜使用すればよい。
【０２１１】
また、実施の形態２の撮像装置は、任意の位置（図２５のように、撮像信号Ｉ１では、原点が(x01,y01)）から任意の大きさ（図２５のように、撮像信号Ｉ１では、水平方向の画素がＨ１画素、垂直方向の画素がＶ１画素）の撮像信号を得ている。ここで、垂直方向にのみ任意の位置を指定できるものであれば、以下のような変形を行う。図３９は、本発明の実施の形態２に係る撮像装置の変形の撮像信号の切り出し位置を説明するための図である。図３９は、第１の撮像素子Ｉ１に対応する領域（Ｉ１で示された領域）は、第２の撮像素子Ｉ２に対応する領域よりも、垂直方向で負の方向にあり（すなわち、第１の撮像信号I1の原点のｙ座標y01と第２の撮像信号I2の原点のｙ座標y02との間に、y01<y02の関係があり）、第３の撮像素子Ｉ３に対応する領域（Ｉ３で示された領域）は、第４の撮像素子Ｉ４に対応する領域よりも、垂直方向で負の方向にある（すなわち、第３の撮像信号I3の原点のｙ座標y03と第４の撮像信号I4の原点のｙ座標y04との間に、y03<y04の関係がある）場合を示す。ＦＯ＝１（第１の動作モード）のとき、図３９（ａ）のように、水平方向にＨ０画素、垂直方向にｙ座標がy=y01〜y02+V1-1のV1+y02-y01画素の領域（右下がりの斜線部で示された領域）、および水平方向にＨ０画素、垂直方向にｙ座標がy=y03〜y04+V1-1のV1+y04-y03画素の領域（右上がりの斜線部で示された領域）を読み出し、適宜前処理を行い、第１の撮像信号Ｉ１、第２の撮像信号Ｉ２、第３の撮像信号Ｉ３、および第４の撮像信号Ｉ４に対応する領域を使用する。ＦＯ＝２（第２の動作モード）のとき、図３９（ｂ）のように、水平方向にＨ０画素、垂直方向にｙ座標がy=y02〜y02+V1-1のV1画素の領域（右下がりの斜線部で示された領域）、および水平方向にＨ０画素、垂直方向にｙ座標がy=y03〜y03+V1-1のV1画素の領域（右上がりの斜線部で示された領域）を読み出し、適宜前処理を行い、第２の撮像信号Ｉ２、および第３の撮像信号Ｉ３を使用する。
【０２１２】
転送範囲フラッグＦＯ＝１（第１の動作モード）のときに要する垂直方向の読み出し画素数V1+y02-y01（上部の右下がりの斜線部で示された領域の垂直方向の読み出し画素数）、およびV1+y04-y03（下部の右上がりの斜線部で示された領域の垂直方向の読み出し画素数）を、転送範囲フラッグＦＯ＝２（第２の動作モード）のときに要する垂直方向の読み出し画素数V1（上部の右下がりの斜線部で示された領域の垂直方向の読み出し画素数）、およびV1（下部の右上がりの斜線部で示された領域の垂直方向の読み出し画素数）まで低減し、すなわち、y02-y01+y04-y03画素だけ低減し、その分だけ画像の転送に要する時間を短縮できる。このことにより、信頼度E(ibx,iby)が大きいとき、高速性を上げる余裕があると判断し、出力フラッグＦＯ＝２（第２の動作モード）とすることにより、高速な視差演算、距離演算を可能とする撮像装置を実現する。一方、信頼度E(ibx,iby)が小さいとき、精度がさらに必要であると判断し、出力フラッグＦＯ＝１（第１の動作モード）とすることにより、高精度な視差演算、距離演算を可能とする。
【０２１３】
なお、例えば転送範囲フラッグＦＯ＝３（第３の動作モード）として、第１の撮像信号Ｉ１と第４の撮像信号Ｉ４とを利用した視差演算のみを行う場合を付加してもよい。この場合、ＦＯ＝３のとき、図３９（ｃ）のように、水平方向にＨ０画素、垂直方向にｙ座標がy=y01〜y01+V1-1のV1画素の領域（右下がりの斜線部で示された領域）、および水平方向にＨ０画素、垂直方向にｙ座標がy=y04〜y04+V1-1のV1画素の領域（右上がりの斜線部で示された領域）を読み出し、適宜前処理を行い、第１の撮像信号Ｉ１、および第４の撮像信号Ｉ４を使用する。読み出し位置を変更しなければ、ＦＯ＝２とＦＯ＝３とに対応するためには、図３９（ａ）のようにそれぞれの垂直方向の幅（２×Ｖ１）以上を読み出さなければならないが、ＦＯ＝２とＦＯ＝３との切り替えのように、動作モードによって、読み出しを開始する垂直方向の位置を適宜変更し、垂直方向の読み出し画素は変更しない（２×Ｖ１に保つ）ことにより、画素転送に要する時間の増大を防止する。
【０２１４】
また、図３９において、右下がりの斜線部で示された領域と右上がりの斜線部で占められた領域の各行を交互に読み出してもよい。例えば、図３９（ａ）において、y=y01、y03、y01+1、y03+1、y01+2、y03+1、・・・の順に読み出してもよい。ローリングシャッタ形式のＣＭＯＳセンサを使用する場合、右下がりの斜線部で示された領域を読み出した後、右上がりの斜線部で占められた領域を読み出すと、第２の撮像信号Ｉ２の撮像された時刻と第３の撮像信号が撮像された時刻とが異なる。そのため、被写体の動作が速いとき、誤差絶対値総和の演算に利用する撮像信号が異なるため、求められる視差の精度が低下する。ローリングシャッタ形式のＣＭＯＳセンサを使用する場合、右下がりの斜線部で示された領域と右上がりの斜線部で占められた領域の各行を交互に読み出すことにより、被写体の動作が速いときであっても、誤差絶対値総和の演算に利用する撮像信号が撮像信号の撮像時間がほぼ一致するため、高精度に視差演算できる。
【０２１５】
また、ローリングシャッタ形式のＣＭＯＳセンサを使用する場合、それぞれの撮像領域を１画素ずづ順に読み出せば、さらに撮像時間の影響を低減し、高精度な視差演算を実現する。すなわち、ＦＯ＝１（第１の動作モード）のとき、(x02,y02)、(x03,y03)、(x01,y01)、(x04,y04)、(x02+1,y02)、(x03+1,y03)、(x01+1,y01)、(x04+1,y04)、(x02+2,y02)、(x03+2,y03)、(x01+2,y01)、(x04+2,y04)、・・・、(x02+H1-1,y02)、(x03+H1-1,y03)、(x01+H1-1,y01)、(x04+H1-1,y04)、(x02,y02+1)、(x03,y03+1)、(x01,y01+1)、(x04,y04+1)、(x02+1,y02+1)、(x03+1,y03+1)、(x01+1,y01+1)、(x04+1,y04+1)、・・・、(x02,y02+V1-1)、(x03,y03+V1-1)、(x01,y01+V1-1)、(x04,y04+V1-1)、(x02+1,y02+V1-1)、(x03+1,y03+V1-1)、(x01+1,y01+V1-1)、(x04+1,y04+V1-1)、・・・、(x02+H1-1,y02+V1-1)、(x03+H1-1,y03+V1-1)、(x01+H1-1,y01+V1-1)、(x04＋H1-1,y04+V1-1)の順に転送してもよい。なお、上述のように視差演算時に対応する組の撮像信号（第２の撮像信号I2と第３の撮像信号、および第１の撮像信号I1と第４の撮像信号I4）を順に読み出すことにより、さらに撮像時間のずれの影響を低減できる。一方、ＦＯ＝２（第２の動作モード）のとき、(x02,y02)、(x03,y03)、(x02+1,y02)、(x03+1,y03)、(x02+2,y02)、(x03+2,y03)、・・・、(x02+H1-1,y02)、(x03+H1-1,y03)、(x02,y02+1)、(x03,y03+1)、(x02+1,y02+1)、(x03+1,y03+1)、・・・、(x02,y02+V1-1)、(x03,y03+V1-1)、(x02+1,y02+V1-1)、(x03+1,y03+V1-1)、・・・、(x02+H1-1,y02+V1-1)、(x03+H1-1,y03+V1-1)の順に転送してもよい。
【０２１６】
このように、転送範囲に係る撮像領域が、生成する撮像信号の一部を撮像信号入力部２３３へ交互に転送することを繰り返すことによって、生成する撮像信号の全てを撮像信号入力部２３３へ転送するようにしてもよい。
【０２１７】
（実施の形態３）
本発明の実施の形態１および実施の形態２に係る撮像装置は、例えば視差演算の高速性が必要な場合に２組の撮像信号を転送せず１組の撮像信号のみを転送することにより、転送に要する時間を低減し、高速に視差演算、距離演算している。これに対し、実施の形態３に係る撮像装置は、１組の撮像信号のうち、視差演算する範囲を限定し、その限定された部分のみを転送することにより、転送に要する時間を低減し、高速に視差演算、距離演算を行う。
【０２１８】
以下、本発明の実施の形態３に係る撮像装置について、図面を参照しながら説明する。
【０２１９】
図４０は、本発明の実施の形態３に係る撮像装置の構成を示す断面図である。図４０において、撮像装置は、レンズモジュール部３１０、および回路部３２０を有する。
【０２２０】
レンズモジュール部３１０は、鏡筒３１１、上部カバーガラス３１２、およびレンズ３１３を有する。回路部３２０は、基板３２１、パッケージ３２２、撮像素子３２３、パッケージカバーガラス３２４、およびシステムＬＳＩ（以下、ＳＬＳＩと記す）３２５を有する。
【０２２１】
鏡筒３１１、および上部カバーガラス３１２は、それぞれ実施の形態１の鏡筒１１１、および上部カバーガラス１１２と同様であり、説明を省略する。
【０２２２】
図４１は、本発明の実施の形態３に係る撮像装置のレンズの構成を示す平面図である。レンズ３１３は、略円盤状であり、ガラスや透明樹脂から形成され、第１のレンズ部３１３ａ、および第２のレンズ部３１３ｂが配置される。第１のレンズ部３１３ａ、およびレンズ部３１３ｂの配置方向に沿って、図４１に示すようにｘ軸を設定し、ｘ軸に垂直にｙ軸を設定する。第１のレンズ部３１３ａ、および第２のレンズ部３１３ｂにおいて、被写体側から入射した光は、撮像素子３２３側へ射出し、撮像素子３２３上に２つの像を結像する。なお、図４１のように、第１のレンズ部３１３ａの光軸と第２のレンズ部３１３ｂの光軸とは、水平方向（ｘ軸方向）はＤだけ離れており、垂直方向（ｙ軸方向）は一致している。
【０２２３】
基板３２１、およびパッケージ３２２は、実施の形態１の基板１２１、およびパッケージ１２２とそれぞれ同様であり、説明を省略する。
【０２２４】
撮像素子３２３は、ＣＭＯＳセンサであり、撮像素子３２３の受光面が第１のレンズ部３１３ａ、および第２のレンズ部３１３ｂの光軸と略垂直になるようにして配置される。撮像素子３２３の各端子は、パッケージ３２２の内側の底部の金属端子にワイヤーボンディングにより金線３２７で接続され、基板３２１を介して、ＳＬＳＩ３２５と電気的に接続される。撮像素子３２３受光面に、第１のレンズ部３１３ａ、および第２のレンズ部３１３ｂから射出された光がそれぞれ結像し、その光の情報がフォトダイオードにより電気の情報へ変換され、その電気の情報がＳＬＳＩ３２５に転送される。
【０２２５】
図４２は、本発明の実施の形態３に係る撮像装置の回路部の構成を示す平面図である。パッケージカバーガラス３２４は、平板状であり、透明樹脂により形成され、パッケージ３２２の上面に接着などにより固着される。また、パッケージカバーガラス３２４の上面、下面、あるいは両面には、反射防止膜が蒸着などにより配置される。
【０２２６】
ＳＬＳＩ３２５は、後述の方法で、撮像素子３２３を駆動し、撮像素子３２３からの電気情報を入力し、各種演算を行い、上位ＣＰＵと通信を行い、外部に画像情報や距離情報などを出力する。なお、ＳＬＳＩ３２５は、電源（例えば３．３Ｖ）とグランド（例えば、０Ｖ）に接続される。
【０２２７】
次に、本発明の実施の形態３に係る撮像装置の動作を説明する。図４３は、本発明の実施の形態３に係る撮像装置の構成を示すブロック図である。ＳＬＳＩ３２５は、システム制御部３３１、撮像素子駆動部３３２、撮像信号入力部３３３、前処理部３３４、入力バッファ３３５、演算部３３６、出力バッファ３３７、および入出力部３３８を有する。入力バッファ３３５は、第１の入力バッファ３３５ａ、および第２の入力バッファ３３５ｂを有する。演算部３３６は、演算バッファ３４１、視差演算部３４２、距離演算部３４３、および転送範囲決定部３４４を有する。演算バッファ３４１は、第１の演算バッファ３４１ａ、および第２の演算バッファ３４１ｂを有する。出力バッファ３３７は、第１の出力バッファ３３７ａ、および第２の出力バッファ３３７ｂを有する。
【０２２８】
システム制御部３３１は、ＣＰＵ（中央演算処理装置：Central Processing Unit）、ロジック回路などから構成され、ＳＬＳＩ３２５の全体を制御する。
【０２２９】
撮像素子駆動部３３２は、ロジック回路などから構成され、撮像素子３２３を駆動する信号を発生し、この信号に応じた電圧を撮像素子３２３に印加する。
【０２３０】
撮像信号入力部３３３は、ＣＤＳ回路（相関二重サンプリング回路：Correlated Double Sampling Circuit）、ＡＧＣ（自動利得制御器：Automatic Gain Controller）、ＡＤＣ（アナログ／ディジタル変換器：Analog Digital Converter）が直列に接続されて構成され、撮像素子３２３からの電気信号が入力され、ＣＤＳ回路により固定ノイズを除去し、ＡＧＣによりゲインを調整し、ＡＤＣによりアナログ信号からディジタル値に変換する。
【０２３１】
前処理部３３４は、ロジック回路などから構成され、強度補正処理を行い、順次、入力バッファ３３５に転送する。なお、レンズの光軸のずれなどを校正するために、適宜、座標変換を行ってもよい。
【０２３２】
演算部３３６は、SRAM(Static Random Access Memory)から構成された第１の演算バッファ３４１ａ、第２の演算バッファ３４１ｂと、ロジック回路やCPUなどから構成された視差演算部３４２と、ロジック回路やCPUなどから構成された距離演算部３４３と、ロジック回路やCPUから構成された転送範囲決定部３４４と、から構成される。演算部３３６は、第１の撮像信号I1、および第２の撮像信号I2をブロック単位で読み込み、それぞれ第１の演算バッファ３４１ａ、第２の演算バッファ３４１ｂに保存し、視差演算部３４２において第１の演算バッファ３４１ａ、および第２の演算バッファ３４１ｂのデータなどに基づき視差を演算し、距離演算部３４３において求められた視差に基づき距離を演算し、求められた距離データを出力バッファ３３７に転送する。
【０２３３】
出力バッファ３３７は、ＤＲＡＭなどから構成され、入力バッファ３３５から転送された画像データと演算部３３６から転送された距離データとを保存し、入出力部３３８に順次転送する。
【０２３４】
入出力部３３８は、上位ＣＰＵ（図示せず）との通信や、上位ＣＰＵ、外部メモリ（図示せず）、および液晶ディスプレイなどの外部表示装置（図示せず）へ画像データ、および距離データを出力する。
【０２３５】
図４４は、本発明の実施の形態３に係る撮像装置の動作を示すフローチャートである。ＳＬＳＩ３２５のシステム制御部３３１により、撮像装置３０１は、このフローチャートのとおりに動作される。
【０２３６】
ステップＳ３０１０において、動作を開始する。例えば、上位ＣＰＵ（図示せず）が、入出力部３３８を介し、撮像装置３０１に動作の開始を命令することにより、撮像装置３０１は、動作を開始する。次に、ステップＳ３０２０を実行する。
【０２３７】
ステップＳ３０２０において、転送範囲の初期化を行う。本実施の形態では、撮像領域の全領域で生成される撮像信号を転送範囲に設定する。そして、各ブロック(ibx,iby)の転送範囲フラッグFO(ibx,iby)=を全て１とする。
【０２３８】
図４５は、本発明の実施の形態３に係る撮像装置の撮像信号の切り出し位置を説明するための図である。撮像素子３２３の撮像領域の大きさは水平方向にＨ０画素、垂直方向にＶ０画素である。第１のレンズ部３１３ａによって結像された被写体像を撮像する領域は、図４５においてＩ１で示されるように、(x01,y01)を原点とする水平方向にＨ１画素、垂直方向にＶ１画素であり、第１の撮像信号Ｉ１としてＳＬＳＩ３２５に入力される。また、第２のレンズ部３１３ｂによって結像された被写体像を撮像する領域は、図４５においてＩ２で示されるように、(x02,y02)を原点とする水平方向にＨ１画素、垂直方向にＶ１画素であり、第２の撮像信号としてＳＬＳＩ３２５に入力される。第１の撮像信号Ｉ１に対応する領域、および第２の撮像信号Ｉ２に対応する領域は、それぞれ多数のブロックの領域に分割されている。
【０２３９】
図４６は、本発明の実施の形態３に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第１の撮像信号の分割ブロックと演算順番と転送範囲フラッグとを説明する図であり、図４７は、本発明の実施の形態３に係る撮像装置の第１の撮像信号と第２の撮像信号とを利用した視差演算における第２の撮像信号の分割ブロックと演算順番と転送範囲フラッグとを説明する図である。図４６において、第１の撮像信号Ｉ１は、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素の長方形状のブロックに分割され、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素ずれて配置され、ｘ方向にＮｈ個、ｙ方向にＮｖ個のブロックを持つ。そのため、各ブロックはｘ方向、ｙ方向ともに重なる部分はない。図４７において、第２の撮像信号Ｉ２は、ｘ方向に（ＨＢ＋ＳＢ）画素、ｙ方向にＶＢ画素の長方形状のブロックに分割され、ｘ方向にＨＢ画素、ｙ方向にＶＢ画素ずれて配置され、ｘ方向にＮｈ個、ｙ方向にＮｖ個のブロックを持つ。そのため、ｘ方向について、隣のブロックと重なる。一方、ｙ方向について、隣のブロックと重ならない。また、図４７において、右側のブロックにおいてｘ方向に（ＨＢ＋ＳＢ）画素を取れないブロックは、適宜ｘ方向の右端が削除される。なお、実施の形態３では、以下、ＨＢ＝３２、ＶＢ＝３２の例を示す。
【０２４０】
図４６、および図４７において、各ブロックの上段に記述された数字はブロックインデックスｉｂを示す。また、図４６、および図４７において、各ブロックの中段に記述された座標（ｉｂｘ、ｉｂｙ）は、各ブロックがｘ方向にｉｂｘ番目、ｙ方向にｉｂｙ番目のブロックであることを示す。ここで、ｉｂｘは０からＮｈ−１まで、ｉｂｙは０からＶｈ−１まで存在する。また、図４６、および図４７において、各ブロックの下段には転送範囲フラッグFO(ibx,iby)が示され、転送範囲フラッグFO(ibx,iby)=1であれば動作を意味し、該当するブロックの撮像信号を転送し視差演算する。一方、転送範囲フラッグFO(ibx,iby)=0であれば停止を意味し、該当するブロックの撮像信号を転送せず視差演算しない。
【０２４１】
ステップＳ３０２０において、各ブロック(ibx,iby)の転送範囲フラッグFO(ibx,iby)=を全て１とし、転送範囲を撮像領域の全領域で生成される撮像信号として初期化する。次に、ステップＳ３０３０を実行する。
【０２４２】
ステップＳ３０３０において、撮像信号を入力する。システム制御部３３１の命令により、撮像素子駆動部３３２が電子シャッターや転送を行うための信号を随時出力する。転送範囲フラッグFO(ibx,iby)=1のブロック（動作のブロック）の撮像領域の撮像信号を順に入力し、順次、前処理部３３４に転送する。前処理部３３４は、第１の撮像信号I1、および第２の撮像信号I2の強度補正処理を行い、順次入力バッファ３３５に転送する。第１の撮像信号I1を、順次、第１の入力バッファ３３５ａに転送し、第２の撮像信号I2を、順次、第２の入力バッファ３３５ｂに転送する。第１の撮像信号I1、および第２の撮像信号I2は、それぞれ第１のレンズ部３１３ａ、および第２のレンズ部３１３ｂによって結像された被写体像によって得られたものである。下記式１９のように、第１の撮像信号I1を第１の強度補正係数ks1で補正し、および下記式２０のように、第２の撮像信号I2を第２の強度補正係数ks2で補正する。
【０２４３】
I1(x,y) = ks1(x,y) * I1(x,y)  …  式１９
I2(x,y) = ks2(x,y) * I2(x,y)  …  式２０
なお、第１の強度補正係数ks1(x,y)、および第２の強度補正係数ks2(x,y)は、第１の撮像信号I1、および第２の撮像信号I2の座標(x,y)における強度補正係数を示し、検査工程などにおいて特定チャートを撮影し決定され、EEPROMやフラッシュメモリに保存される。なお、各画素の係数を持たずに、代表点のみを持ち、その代表点を用いて線形補間により第１の強度補正係数ks1(x,y)、および第２の強度補正係数ks2(x,y)を求めてもよい。また、近似式を策定しその係数のみを持ち、各座標の第１の強度補正係数ks1(x,y)、および第２の強度補正係数ks2(x,y)を作成してもよい。また、レンズの光軸のずれなどを校正するために、適宜、座標変換を行ってもよい。次に、ステップＳ３０４０を実行する。
【０２４４】
ステップＳ３０４０において、第１の入力バッファ３３５ａに保存されている第１の撮像信号I1を第１の出力バッファ３３７ａに転送し、第１の出力バッファ３３７ａは、画像データとして保存する。なお、転送範囲フラッグFO(ibx,iby)=1のブロック（動作のブロック）おいて撮像信号I1をそのまま転送し、転送範囲フラッグFO(ibx,iby)=0のブロック（停止のブロック）おいて転送すべき撮像信号I1がないため該当する画像データを全て黒とするなどの処理を行う。次に、ステップＳ３１００を実行する。
【０２４５】
ステップＳ３１００において、距離データを作成し、順次、第２の出力バッファ３３７ｂに転送する。また、転送範囲を決定し、転送範囲フラッグFO(ibx,iby)を設定する。この動作の詳細は後述する。次に、ステップＳ３９１０を実行する。
【０２４６】
ステップＳ３９１０において、外部にデータを出力する。入出力部３３８は、第１の出力バッファ３３７ａ上の画像データ、および第２の出力バッファ３３７ｂ上の距離データを、上位ＣＰＵ（図示せず）や外部表示装置（図示せず）に出力する。なお、適宜転送範囲フラッグFO(ibx,iby)を出力してもよい。次に、Ｓ３９２０を実行する。
【０２４７】
ステップＳ３９２０において、動作を終了するかどうかを判断する。例えば、システム制御部３３１は、入出力部３３８を介し、上位ＣＰＵ（図示せず）と通信し、動作を終了するかどうかの命令を要求する。そして、上位ＣＰＵが終了を命令すれば動作を終了し、次に、ステップＳ３９３０を実行する。一方、上位ＣＰＵが終了を命令しなければ動作を継続し、次に、ステップＳ３０３０を実行する。すなわち、上位ＣＰＵが終了を命令しない限り、ステップＳ３０３０、ステップＳ３０４０、ステップＳ３１００、およびステップＳ３９１０のループの実行を継続する。
【０２４８】
ステップＳ３９３０において、動作を終了する。
【０２４９】
次に、ステップＳ３１００における動作の詳細を説明する。図４８は、本発明の実施の形態３に係る撮像装置の演算部の動作を示すフローチャートである。図４８のフローチャートは、ステップＳ３１００の動作の詳細を示す。ステップＳ３１００の演算では、まず、ステップＳ３１１０を実行する。
【０２５０】
ステップＳ３１１０において、演算の動作を開始する。次に、ステップＳ３２００を実行する。
【０２５１】
ステップＳ３２００において、視差演算を実行する。図４９は、本発明の実施の形態３に係る撮像装置の視差演算の動作を示すフローチャートである。図４９のフローチャートは、ステップＳ３２００の動作の詳細を示す。ステップＳ３２００では、第１の撮像信号と第２の撮像信号とを利用した視差演算を行う。ステップＳ３２００の演算では、まず、ステップＳ３３１０を実行する。
【０２５２】
ステップＳ３３１０において、視差演算の動作を開始する。次に、ステップＳ３３２０を実行する。
【０２５３】
ステップＳ３３２０において、ブロックインデックスｉｂに０に初期化する。次に、ステップＳ３３３０を実行する。
【０２５４】
ステップＳ３３３０において、ブロックを選択する。図４６、および図４７において、ブロックインデックスｉｂで示されるブロック（座標（ｉｂｘ、ｉｂｙ）で示されるブロック）が選択される。次に、ステップＳ３３３５を実行する。
【０２５５】
ステップＳ３３３５において、転送範囲であるかどうかを判断し、分岐する。ブロックインデックスｉｂで示されるブロック（座標（ｉｂｘ，ｉｂｙ）で示されるブロック）において転送範囲フラッグFO(ibx,iby)=1（動作のブロック）のとき、次に、ステップＳ３３４０を実行する。一方、ブロックインデックスｉｂで示されるブロック（座標（ｉｂｘ，ｉｂｙ）で示されるブロック）において転送範囲フラッグFO(ibx,iby)=0（停止のブロック）のとき、次に、ステップＳ３３６０を実行する。このように、転送範囲フラッグFO(ibx,iby)=1（動作のブロック）のブロックにおいて、後述のステップＳ３３４０において撮像信号を転送し、後述のステップＳ３３５０において視差演算を行い、後述のステップＳ３３６０を実行する。一方、転送範囲フラッグFO(ibx,iby)=0（停止のブロック）のブロックにおいて、撮像信号を転送と視差演算とを行わず、後述のステップＳ３３６０を実行する。
【０２５６】
ステップＳ３３４０において、撮像信号を転送する。このステップＳ３３４０の動作は、実施の形態１のステップＳ１３４０の動作と同様であり、説明を省略する。ただし、第２の撮像信号について、転送を省略できる部分は、ブロックの重なりがあり、かつそのブロックにおいて転送範囲フラッグFO(ibx,iby)=1（動作のブロック）であった部分（すなわち、転送された部分）のみである。次に、ステップＳ３３５０を実行する。
【０２５７】
ステップＳ３３５０において、視差演算を実行する。このステップＳ３３５０の動作は、実施の形態１のステップＳ１３５０の動作と同様であり、説明を省略する。ただし、信頼度の演算を行う必要はなく、実施の形態１でΔ(1,2)(ibx,iby)で示される視差を、ブロックインデックスｉｂで示されるブロック（座標(ibx,iby)で示されるブロック）の視差値Δ(ibx,iby)とする。次に、ステップＳ３３６０を実行する。
【０２５８】
ステップＳ３３６０において、ブロックインデックスｉｂに１を加える。次に、ステップＳ３３７０を実行する。
【０２５９】
ステップＳ３３７０において、視差演算を終了するかどうかを判断する。ブロックインデックスｉｂがNh*Nv未満のとき、次のブロックの視差を演算するために、次に、ステップＳ３３３０を実行する。一方、ブロックインデックスｉｂがNh*Nv以上のとき、全てのブロックの視差を演算したと判断し、次に、ステップＳ３３８０を実行する。
【０２６０】
ステップＳ３３８０において、視差演算を終了し、上位ルーチンへ戻る。このようにして、ブロックインデックスｉｂで示される３２ｘ３２画素のブロックについて、３２ｘ３２画素の分解能で視差値Δ(ibx,iby)が求められた。ここで、(ibx,iby)は図４６において各ブロックの中段に示される座標である（ｉｂｘは０からＮｈ−１まで、ｉｂｙはＮｖ−１まで変化する）。次に、図４８のステップＳ３７００を実行する。
【０２６１】
ステップＳ３７００において、距離演算部３４３は、距離演算を行い、その結果を、順次、第２の出力バッファ３３７ｂに、距離データとして転送する。このステップＳ３７００の動作は、実施の形態１のステップＳ１７００の動作を同様であり、説明を省略する。ただし、距離演算は、転送範囲フラッグFO(ibx,iby)=1（動作のブロック）についてのみ行う。なお、転送範囲フラッグFO(ibx,iby)=0（停止のブロック）に負数を代入すれば、上位CPUに転送範囲フラッグFO(ibx,iby)の情報転送をしなくても、上位CPUは転送された距離データA(ibx,iby)のうち負数が代入されたブロックについては、視差演算、距離演算がなされなかったブロックであると判断できるため、通信の負荷を低減できる。次に、ステップＳ３８００を実行する。
【０２６２】
ステップＳ３８００において、転送範囲決定部３４４は、転送範囲を決定し、各ブロック(ibx,iby)の転送範囲フラッグFO(ibx,iby)を設定する。図５０は、本発明の実施の形態３に係る撮像装置の転送範囲を説明する図である。なお、図５０において、簡単のため、ブロック数が小さいものを示しているが、ブロック数がこの図に限定されるものではない。転送範囲決定部３４４は、第１の撮像信号Ｉ１から構成される画像の各ブロックのうち、人物の顔面を含むブロックをFO(ibx,iby)=1（動作のブロック）とし、人物の顔面を含まないブロックをFO(ibx,iby)=0（停止のブロック）とする。図５０において、図５０（ａ）の座標(0,0)や座標(1,0)で示されるブロックのような白抜きのブロックは転送範囲フラッグFO(ibx,iby)=1（動作のブロック）を示し、例えば、図５０（ｂ）（ｃ）（ｄ）の座標(0,0)や座標(1,0)で示されるブロックのような斜線ハッチが掛けられたブロックは転送範囲フラッグFO(ibx,iby)=0（停止のブロック）を示す。
【０２６３】
例えば、カメラモジュールである撮像装置３０１が起動されて最初に撮像される撮像信号I1は、ステップ３０２０において、全てのブロックの転送範囲フラッグFO(ibx,iby)=1となるように初期化されるため、図５０（ａ）のように、第１のレンズ部３１３ａに対応する撮像領域の全ての範囲が転送されている。転送範囲決定部３４４は、人物の顔面の部分を判断し、図５０（ｂ）のように、顔面を含むブロックは転送範囲フラッグFO(ibx,iby)=1（白抜きのブロック）に保ち、顔面を含まないブロックは転送範囲フラッグFO(ibx,iby)=0（斜線ハッチが掛けられたブロック）となるように、図５０（ａ）のような転送範囲ブラッグFO(ibx,iby)を変更する。
【０２６４】
なお、人物の顔面を検知する方法としては公知のものを利用することができる。例えば、人物の前面に本実施の形態の撮像装置を配置する場合では、卵型のエッジ（顔面の輪郭に相当するエッジ）を有し、その内部に２つの黒点（目に相当する２つの点）を有する画像内の領域を人物の顔面として検知すればよい。
【０２６５】
また、図５０（ｂ）のような転送範囲フラッグFO(ibx,iby)の分布を持つときに、人物の顔面が移動すると、図５０（ｃ）のように顔面の一部が転送範囲FO(ibx,iby)=0（停止のブロック）に移動する。その場合、図５０（ｂ）では顔面が含まれたためFO(ibx,iby)=1（白抜きのブロック。動作のブロック）であったが、図５０（ｃ）では顔面が含まれなくなったブロックを、図５０（ｄ）の３８００Ａのように、転送範囲フラッグFO(ibx,iby)=0（斜線ハッチが掛けられたブロック）に変更する。さらに、図５０（ｂ）では顔面が含まれなかったためFO(ibx,iby)=0（斜線ハッチが掛けられたブロック。停止のブロック）であったが、図５０（ｃ）では顔面が含まれるようになったブロックを、図５０（ｄ）の３８００Ｂのように、転送範囲フラッグFO(ibx,iby)= 1（白抜きのブロック。動作のブロック）に変更する。次に、ステップＳ３９００を実行する。
【０２６６】
ステップＳ３９００において、演算動作を終了し、上位ルーチンへ戻る。次に、ステップＳ３９１０を実行する。
【０２６７】
本実施の形態の撮像装置を以上のように構成し、動作させることにより、以下の効果を有する。
【０２６８】
転送範囲を常に撮像領域の全領域で生成される撮像信号とする場合、常に全ての画素を転送する分だけ転送時間が必要であり、その転送時間の分だけ高速化に限界があった。本発明の実施の形態３に係る撮像装置によれば、図５０（ｂ）（ｄ）のように、人物の顔面を含むブロックの転送範囲フラッグFO(ibx,iby)=1とし、人物の顔面を含むブロックのみの撮像信号を転送する。車載用の乗員監視に利用した場合、注視すべき被写体は人物の顔であり、顔の距離測定が必要である。そこで、顔部分の領域のみに転送を限定することにより、全画素を転送する場合と比較し転送量を低減し、高速な視差演算、距離演算を可能にする撮像装置を実現する。例えば、図５０（ｂ）（ｄ）では、全てのブロックが４８個に対し、撮像信号を転送するブロックを１４個に低減できる。
【０２６９】
なお、実施の形態３の撮像装置においては、上述したように、撮像領域の一部の領域で生成される撮像信号（全ブロック中の特定のブロックに係る撮像信号）を転送範囲に設定している。そして、その転送範囲は適宜変更されることになる。換言すると、複数の動作モードが適宜切り替えられることになる。
【０２７０】
また、実施の形態３の撮像装置においては、初期状態として全ての画像領域を転送範囲に設定しているが、あらかじめ中心付近の画像領域のみを転送範囲としてもよい。適切な位置に撮像装置を取り付ければ、人物の顔面は画像の中心にあることがほとんどであるため、初期状態として中心付近のみを転送し、適宜、転送範囲を変更すればよい。このことにより、転送領域は常に撮像領域の一部の領域で生成される撮像信号とすることができるため、常に転送時間を短縮でき、高速に視差演算、距離演算できる。
【０２７１】
また、実施の形態３の撮像装置において、第１の演算バッファの大きさを３２ｘ３２画素（水平方向に３２画素、および垂直方向に３２画素）としたが、これに限定されない。例えば、４ｘ４画素、８ｘ８画素、１６ｘ１６画素でもよい。また、適宜大きさを変更してもよい。また、複数の大きさのブロックの視差を求め、選択してもよい。さらに、矩形状のブロックではなく、エッジなどを抽出してブロック分割してもよい。また、ブロックの視差を求めることに限定されず、エッジである線分の視差を求めてもよい。
【０２７２】
また、実施の形態３の撮像装置において、第１の撮像信号Ｉ１を第１の出力バッファ３３７ａに転送し、入出力部３３８から出力したが、第２の撮像信号Ｉ２を出力してもよい。また、複数の撮像信号を出力してもよい。
【０２７３】
また、実施の形態３の撮像装置において、人物の顔面を含むブロックのみを転送したが、さらに限定し、例えば顔面のうち目を含むブロックのみを転送する等してもよい。
【０２７４】
また、実施の形態３の撮像装置において、人物の顔面を含むブロックのみを転送したが、例えば撮像信号のうち路面に相当する領域以外の領域に係る撮像信号のみを転送する等してもよい。図５１は、本発明の実施の形態３に係る撮像装置の変形の転送範囲を説明する図である。例えば、カメラモジュールである撮像装置３０１が起動され、ステップＳ３０２０において全てのブロックの転送範囲フラッグFO(ibx,iby)=1となるように初期化されるため、初期に撮像される撮像信号I1は、図５１（ａ）のように、第１のレンズ部３１３ａに対応する撮像領域の全ての領域で生成される撮像信号が転送される。転送範囲決定部３４４は、路面ではない部分を判断し、図５１（ｂ）のように、路面ではない被写体（前方の自動車、人物、および自車）を含むブロックは転送範囲フラッグFO(ibx,iby)=1（白抜きのブロック。動作のブロック）に保ち、路面であるブロックは出力範囲フラッグFO(ibx,iby)=0（斜線ハッチが掛けられたブロック。停止のブロック）に変更する。
【０２７５】
なお、路面に相当する領域を検知する方法としては公知のものを利用することができる。例えば、次のようにその検知を行うことができる。自動車の前面に本発明の撮像装置を配置し、レンズの光軸が路面と平行になるように調整し、前方の距離を測定する場合、被写体距離A1は、下記式２１のように示される。式２１において、θはレンズの光軸と路面との角度、Zは撮像装置が配置された路面からの高さを示す。そして、各ブロックにおける視差値Δ(ibx,iby)から演算された距離A(ibx,iby)が式２１で演算された距離A1と略一致する場合、そのブロックに撮像された被写体は路面であると判断する。
【０２７６】
A1=Z/tanθ      …  式２１
転送範囲を常に撮像領域の全領域で生成される撮像信号とする場合、常に全ての画素を転送する分だけ転送時間が必要であり、その転送時間の分だけ高速化に限界があった。本発明の実施の形態３に係る撮像装置の変形によれば、図５１（ｂ）のように、路面ではない被写体を含むブロックの転送範囲フラッグFO(ibx,iby)=1とし、路面ではない被写体を含むブロックのみの撮像信号を転送する。このことにより、車載用の前方監視に利用した場合、注視すべき被写体は路面以外の例えば、前方の車、人物、およびその他の構造物であり、それらの距離測定が必要である。そこで、路面以外の領域のみに転送を限定することにより、全画素を転送する場合と比較し転送量を低減し、高速な視差演算、距離演算を可能にする撮像装置を実現する。例えば、図５１（ｂ）では、全てのブロックが７２個に対し、撮像信号を転送するブロックを１５個に低減できる。
【０２７７】
また、実施の形態３の撮像装置において、人物の顔面を含むブロックのみを転送したが、撮像信号のうち動作がある被写体が含まれる領域のみを転送してもよい。図５２は、本発明の実施の形態３に係る撮像装置の変形の転送範囲を説明する図である。図５２（ａ）および図５２（ｂ）は動画像の連続する２つのフレーム画像である。図５２（ａ）において、右から２つ目から３つ目のブロックに位置する人物が、次のフレームでは図５２（ｂ）のように右から３つ目から４つ目のブロックに位置する。このような場合、図５２（ｃ）のように、次のフレームで転送すべきブロックとして、動きがある人物が位置するブロック（右から３つ目から４つ目のブロック）と、同一の動きが継続し人物が移動すると推測されるブロック（右から５つ目のブロック）とする。すなわち、図５２（ｂ）の次のフレームの転送範囲フラッグFO(ibx,iby)を、動きがある人物が位置するブロック（右から３つ目から４つ目のブロック）、および同一の動きが継続し人物が移動すると推測されるブロック（右から５つ目のブロック）を転送範囲フラッグFO(ibx,iby)=1（白抜きのブロック。動作のブロック）とし、それ以外のブロックを転送範囲フラッグFO(ibx,iby)=0（斜線ハッチが掛けられたブロック。停止のブロック）とする（図５２（ｃ）参照）。
【０２７８】
ここで、第１の撮像信号I1における連続する２つのフレーム画像の差分の絶対値の総和DtDiff（下記式２２）が大きいブロックを動作する被写体が含まれるブロックとすればよい。
【０２７９】
DtDiff = ΣΣ｜I1(x,y)(t0)-I1(x,y)(t0+dt)｜      …  式２２
なお、I1(x,y)(t0)は、時刻t0、座標(x,y)における第１の撮像信号I1を示し、I1(x,y)(t0+dt)は、時刻t0+dt、座標(x,y)における第１の撮像信号I1を示す。
【０２８０】
転送範囲を常に撮像領域の全領域で生成される撮像信号とする場合、常に全ての画素を転送する分だけ転送時間が必要であり、その転送時間の分だけ高速化に限界があった。本発明の実施の形態３に係る撮像装置の変形によれば、図５２（ｃ）のように、動作する被写体（図５２では人物が示されている）を含むブロックの転送範囲フラッグFO(ibx,iby)=1とする。車載用の前方監視に利用した場合、注視すべき被写体は動作する被写体、例えば、前方の車、人物、動物などであり、それらの距離測定が必要である。そこで、動作する被写体の領域のみに転送を限定することにより、全画素を転送する場合と比較し転送量を低減し、高速な視差演算、距離演算を可能にする撮像装置を実現する。例えば、図５２（ｃ）では、全てのブロックが４８個に対し、撮像信号を転送するブロックを１２個に低減できる。
【０２８１】
なお、被写体の動作の速さに基づき転送範囲を決定することが好ましい。被写体の動作の速さに係らず転送範囲を常に被写体の像の周りの一定の領域とする場合、被写体の動作が速くなると、被写体がこの領域に含まれず視差の精度が悪化する場合がある。図５２（ｃ）のように、被写体の動作を予測し、次のフレームで動くであろうと予測される領域も含め転送する。すなわち、被写体の動作の速さに基づいて転送範囲決定部３４４が転送範囲を決定する。このように、被写体の動作の速さに応じて転送範囲の大きさが適切に決定されることにより、被写体が転送範囲に含まれるようになるため、高精度な視差演算、距離演算を可能にする撮像装置を実現することができる。
【０２８２】
ここで、被写体の動作の速さは、各フレーム間の画像を比較する等によって転送範囲決定部３４４により検出される。
【０２８３】
なお、被写体の動作が速いときは転送範囲を大きくすることが好ましい。すなわち、動作が速いときは、次のフレームで動くであろうと予測される範囲を大きくし、常に被写体が転送領域に含まれるようにすることにより、高精度な視差演算、距離演算を可能にする撮像装置を実現する。
【０２８４】
また、転送範囲に含まれる画素数、すなわちブロック数を、複数のフレームにわたって略同一となるようにすることが好ましい。例えば、図５２（ｃ）に示すように、転送範囲に含まれるブロックが１２個に設定された場合であれば、１２個という数が複数のフレームで保持されるように撮像装置が動作してもよい。
【０２８５】
被写体の動作の速さのみにより転送範囲を決定すると、動作が速い被写体が全領域中に多く含まれる場合では、転送量が増大するという事態が生じ得る。そこで、動作が速い被写体が全領域中に多く含まれる場合に、転送範囲に含まれる画素数を一定とし、その画素数を複数のフレームにわたって保持するようにする。そのために、例えば、被写体の動作が速いか否かを判定するための閾値を大きく設定して被写体を絞り込む等の処理を行う。これにより、転送範囲に含まれる画素数が一定に保持される。そのため、転送量の増大を防止することができ、高速な視差演算、距離演算を可能にする撮像装置を実現することができる。
【０２８６】
このように、複数のフレームにわたって転送範囲に含まれる画素数が一定に保たれることが好ましいが、必ずしも当該画素数が複数のフレームで同一でなくてもよく、転送速度等に応じてその数が多少増減しても構わない。
【０２８７】
以上、本発明のいくつかの実施形態を説明したが、これらはあくまでも例示であって、本発明の実施に際しては、以下のとおり、種々の変更が可能である。
【０２８８】
実施の形態１から実施の形態３の撮像装置は、転送範囲フラッグＦＯをＳＬＳＩ１２５、２２５、および３２５が決定したが、ＳＬＳＩ以外が決定してもよい。また、ＳＬＳＩの機能を複数のＬＳＩに分割し、基板上に実装してもよい。
【０２８９】
また、実施の形態１から実施の形態３の撮像装置において、演算された視差をそのまま利用したが、適宜リミットしてもよい。レンズ特性によっては被写体距離Ａがある値よりも小さいとき、画像が不鮮明となることがある。そのため、この値を被写体距離Ａの最小値と定めれば、視差の最大値を定められる。この値よりも大きい視差は、誤差であるとして無視してもよい。また、このような場合、視差評価値が２番目に小さい値を視差として採用してもよい。また、視差評価値に目立つ極値が２つあるときは、より大きい方の視差を採用してもよい。このような場合、該当ブロックには、被写体と背景が含まれており、被写体距離と背景距離とが異なるため、極値が２つ現れる。このうち障害物検知に大きな影響を与える、より大きな視差を採用してもよい。
【０２９０】
第１の実施の形態の撮像装置では、第１のカラーフィルタ１２４ａと第２のカラーフィルタ１２４ｂとが主に赤外光を透過し、第３のカラーフィルタ１２４ｃと第４のカラーフィルタ１２４ｄとが主に緑色光を透過している。また、第２の実施の形態の撮像装置では、第２のカラーフィルタ２２４ｂと第３のカラーフィルタ２２４ｃとが主に赤外光を透過し、第１のカラーフィルタ２２４ａと第４のカラーフィルタ２２４ｄとが主に緑色光を透過している。しかしながら、これは例示であって、本発明はこれに限定されない。したがって、それぞれ異なる波長域を透過してもよい。例えば、赤色光、青色光、遠赤外光、近紫外光などを透過してもよい。また、片側のカラーフィルタを省略してもよい。また、片方の組がある特定のカラーフィルタが配置され、片方の組がベイヤ配列のフィルタを撮像素子上に配置してもよい。また、それぞれの組のカラーフィルタ特性は同一で、Ｆ値や焦点距離が異なっていてもよい。
【０２９１】
本発明の撮像装置の場合、視差演算を行う必要があるため、各動作モードにおいては、４つの撮像領域のうち少なくとも２つの撮像領域で生成される撮像信号を転送範囲としている。このように、少なくとも２つの撮像領域で生成される撮像信号を転送範囲とする必要はあるものの、それらの撮像領域は任意のものでよい。したがって、実施の形態１の撮像装置においては、撮像領域の全領域と上半分の領域（第１のレンズ部１１３ａ、および第２のレンズ部１１３ｂに対応する領域）とを切り替えているが、全領域と下半分の領域（第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄに対応する領域）とを切り替えてもよい。また、上半分の領域（第１のレンズ部１１３ａ、および第２のレンズ部１１３ｂに対応する領域）と下半分の領域（第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄに対応する領域）とを切り替えてもよい。
【０２９２】
また、実施の形態２の撮像装置においては、撮像領域の全領域と対角右上がりの領域（第２のレンズ部１１３ｂ、および第３のレンズ部１１３ｃに対応する領域）とを切り替えているが、全領域と対角右下がり（第１のレンズ部１１３ａ、および第４のレンズ部１１３ｄに対応する領域）とを切り替えてもよい。また、対角右上がりの領域（第２のレンズ部１１３ｂ、および第３のレンズ部１１３ｃに対応する領域）と対角右下がり（第１のレンズ部１１３ａ、および第４のレンズ部１１３ｄに対応する領域）とを切り替えてもよい。
【０２９３】
また、実施の形態１から実施の形態３において、視差評価値R(k)として式６に示すような差分絶対値総和（SAD）を用いたが、本発明はこれに限定されない。差分の二乗値の総和、第１の撮像信号I1からブロック内の平均を差分したものと第２の撮像信号I2からブロック内の平均を差分したものとの差分の二乗値の総和、第１の撮像信号I1からブロック内の平均を差分したものと第２の撮像信号I2からブロック内の平均を差分したものとの差分の二乗値の総和、または、第１の撮像信号I1からブロック内の平均を差分したものと第２の撮像信号I2からブロック内の平均を差分したものとの差分の二乗値の総和を第１の撮像信号I1からブロック内の平均を差分したものの二乗値の総和の平方根で除し第２の撮像信号I2からブロック内の平均を差分したものの二乗値の総和の平方根で除したものなどを視差評価値R(k)として利用してもよい。
【０２９４】
なお、実施の形態１から実施の形態３において、ブロックを矩形状に分割したが、これに限定されない。例えば、エッジを検出し、エッジに基づき非矩形状のブロックに分割してもよい。また、ブロック毎の領域の視差を求めずに、エッジを複数の線分に分割し、この線分の視差を求めてもよい。また、あるブロックにおいて求められた視差を評価し、ブロックを分割したり結合したりしてもよい。
【０２９５】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【産業上の利用可能性】
【０２９６】
本発明に係る撮像装置及び半導体回路素子は、高速な視差演算が可能な撮像装置及び半導体回路素子であるため、カメラ機能を備えた携帯電話、デジタルスチルカメラ、車載用カメラ、監視用カメラ、三次元計測器、および立体画像入力カメラなどに有用である。
【符号の説明】
【０２９７】
１０１，２０１，３０１    撮像装置
１１０，３１０    レンズモジュール
１１１，３１１    鏡筒
１１２，３１２    上部カバーガラス
１１３，３１３    レンズ
１１３ａ，３１３ａ    第１のレンズ部
１１３ｂ，３１３ｂ    第２のレンズ部
１１３ｃ    第３のレンズ部
１１３ｄ    第４のレンズ部
１２０，２２０，３２０    回路部
１２１，３２１    基板
１２２，３２２    パッケージ
１２３，２２３，３２３    撮像素子
１２４，２２４    パッケージカバーガラス
１２４ａ，２２４ａ    第１のカラーフィルタ
１２４ｂ，２２４ｂ    第２のカラーフィルタ
１２４ｃ，２２４ｃ    第３のカラーフィルタ
１２４ｄ，２２４ｄ    第４のカラーフィルタ
１２４ｅ，２２４ｅ    遮光部
１２５，２２５，３２５    ＳＬＳＩ
１２７，３２７    金線
１３１，２３１，３３１    システム制御部
１３２，２３２，３３２    撮像素子駆動部
２３２ａ    第１の撮像素子駆動部
２３２ｂ    第２の撮像素子駆動部
１３３，２３３，３３３    撮像信号入力部
１３４，２３４，３３４    前処理部
１３５，３３５    入力バッファ
１３５ａ，３３５ａ    第１の入力バッファ
１３５ｂ，３３５ｂ    第２の入力バッファ
１３５ｃ    第３の入力バッファ
１３５ｄ    第４の入力バッファ
１３６，２３６，３３６    画像処理部
１３７，３３７    出力バッファ
１３７ａ，３３７ａ    第１の出力バッファ
１３７ｂ，３３７ｂ    第２の出力バッファ
１３８，３３８    入出力部
１４１，２４１，３４１    演算バッファ
１４１ａ，２４１ａ，３４１ａ    第１の演算バッファ
１４１ｂ，２４１ｂ，３４１ｂ    第２の演算バッファ
１４２，２４２，３４２    視差演算部
１４３，３４３    距離演算部
１４４，３４４    転送範囲決定部
【要約】  それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、それらのレンズ部に一対一に対応して設けられ、対応するレンズ部の光軸方向に対して略垂直な受光面をそれぞれ有する複数の撮像領域と、それらの撮像領域により生成された撮像信号の入力を受ける撮像信号入力部１３３と、記撮像領域から撮像信号入力部１３３へ転送される撮像信号の転送範囲を決定する転送範囲決定部１４４と、転送範囲決定部１４４により決定された転送範囲に応じた撮像信号を撮像信号入力部１３３へ転送するように前記撮像領域を駆動する撮像領域駆動部１３２と、撮像信号入力部１３３に転送された撮像信号に基づき視差を演算する視差演算部１４２とを備えており、転送範囲決定部１４４は、前記複数の撮像領域のうち少なくとも２つの撮像領域で生成される撮像信号を転送範囲と決定する第１の動作モードと、第１の動作モードとは異なる撮像信号を転送範囲と決定する第２の動作モードとを切り替える。
【選択図】    図７【図１】
0004441585.tif 000002
【図２】
0004441585.tif 000003
【図３Ａ】
0004441585.tif 000004
【図３Ｂ】
0004441585.tif 000005
【図４】
0004441585.tif 000006
【図５】
0004441585.tif 000007
【図６】
0004441585.tif 000008
【図７】
0004441585.tif 000009
【図８】
0004441585.tif 000010
【図９】
0004441585.tif 000011
【図１０Ａ】
0004441585.tif 000012
【図１０Ｂ】
0004441585.tif 000013
【図１１Ａ】
0004441585.tif 000014
【図１１Ｂ】
0004441585.tif 000015
【図１２】
0004441585.tif 000016
【図１３】
0004441585.tif 000017
【図１４】
0004441585.tif 000018
【図１５】
0004441585.tif 000019
【図１６】
0004441585.tif 000020
【図１７】
0004441585.tif 000021
【図１８】
0004441585.tif 000022
【図１９】
0004441585.tif 000023
【図２０】
0004441585.tif 000024
【図２１】
0004441585.tif 000025
【図２２】
0004441585.tif 000026
【図２３】
0004441585.tif 000027
【図２４】
0004441585.tif 000028
【図２５】
0004441585.tif 000029
【図２６】
0004441585.tif 000030
【図２７】
0004441585.tif 000031
【図２８】
0004441585.tif 000032
【図２９】
0004441585.tif 000033
【図３０】
0004441585.tif 000034
【図３１】
0004441585.tif 000035
【図３２】
0004441585.tif 000036
【図３３】
0004441585.tif 000037
【図３４】
0004441585.tif 000038
【図３５】
0004441585.tif 000039
【図３６】
0004441585.tif 000040
【図３７】
0004441585.tif 000041
【図３８】
0004441585.tif 000042
【図３９】
0004441585.tif 000043
【図４０】
0004441585.tif 000044
【図４１】
0004441585.tif 000045
【図４２】
0004441585.tif 000046
【図４３】
0004441585.tif 000047
【図４４】
0004441585.tif 000048
【図４５】
0004441585.tif 000049
【図４６】
0004441585.tif 000050
【図４７】
0004441585.tif 000051
【図４８】
0004441585.tif 000052
【図４９】
0004441585.tif 000053
【図５０】
0004441585.tif 000054
【図５１】
0004441585.tif 000055
【図５２】
0004441585.tif 000056
【図５３】
0004441585.tif 000057