JP2007271301A - 撮像装置 - Google Patents

撮像装置 Download PDF

Info

Publication number
JP2007271301A
JP2007271301A JP2006093990A JP2006093990A JP2007271301A JP 2007271301 A JP2007271301 A JP 2007271301A JP 2006093990 A JP2006093990 A JP 2006093990A JP 2006093990 A JP2006093990 A JP 2006093990A JP 2007271301 A JP2007271301 A JP 2007271301A
Authority
JP
Japan
Prior art keywords
parallax
imaging
imaging signal
lens
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006093990A
Other languages
English (en)
Inventor
Tomokuni Iijima
友邦 飯島
Satoshi Tamaki
悟史 玉木
Takashi Ishikawa
隆 石川
Aki Takai
亜季 高井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006093990A priority Critical patent/JP2007271301A/ja
Publication of JP2007271301A publication Critical patent/JP2007271301A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Measurement Of Optical Distance (AREA)
  • Studio Devices (AREA)

Abstract

【課題】小型化が可能で、多様な被写体で高速に距離計測を可能にする撮像装置を提供する。
【解決手段】それぞれが少なくとも1枚のレンズを含む複数のレンズ部(113)と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域(123)と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部(125)と、前記複数の撮像信号から複数の組の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する視差演算部(125)と、複数の前記視差に基づき距離を演算する距離演算部(125)と、を有する。
【選択図】図1

Description

本発明は、小型かつ距離計測可能な撮像装置に関する。
従来の撮像装置として、特許文献1の撮像装置がある。図49は、特許文献1の撮像装置の斜視図である。図49において、撮像装置905の前面にはラインCCDモジュール902の一対のレンズ901A、901Bが間隔をおいて配置されている。ラインCCDモジュール902は、レンズ901A、901Bを結ぶ線L2と平行な直線上に多数の受光素子を一次元的に配した受光画面(ラインCCD)を内蔵している。さらに、ラインCCDモジュール902を撮像装置905内に設けたステップモータ904に結合して、所定角度位置へ回動可能としている。このステップモータ904により、ラインCCDモジュール902を適宜回転変位せしめて、左右のレンズを結ぶ線(L2)が先行車両後面の主要な線に対して常に角度を有するようになすことができ、先行車両後面の多様な意匠に対応して正確な車両距離の検出が可能である。
特開平8−178648号公報
前述のように、特許文献1に記載された従来の撮像装置は、ステップモータ904により、ラインCCDモジュール902を適宜回転させることにより、多様な意匠に対応して正確な距離計測が可能である。しかしながら、ステップモータ904が配置されるため、ステップモータ904の外形分だけ撮像装置の外形が大きくなる。また、正確な距離計測ができないときは、ステップモータ904でラインCCDモジュール902を正確な距離計測ができる位置まで適宜回転させなければならないため、回転に要する時間だけ、正確な距離計測が遅れる。
本発明は、上記問題に鑑みなされたもので、小型化が可能で、多様な被写体で高速に距離計測を可能にする撮像装置を提供することを目的とする。
本発明の撮像装置は、それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、前記複数の撮像信号から複数の組の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する視差演算部と、複数の前記視差に基づき距離を演算する距離演算部とを有する。
本発明は、上記問題に鑑みなされたもので、小型化が可能で、多様な被写体で高速に距離計測を可能にする撮像装置を提供することができる。
本発明の撮像装置は、それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、前記複数の撮像信号から複数の組の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する視差演算部と、複数の前記視差に基づき距離を演算する距離演算部と、を有する。
一組のレンズ部に対応した撮像信号において、それぞれの撮像信号の光軸中心を結ぶ直線に平行な意匠は、それぞれの撮像信号において同一形状となり視差を求めることができない。本発明の撮像装置によれば、複数の組の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する。このことにより、モータなど付加構成がなくとも、片方の組で正しく視差を求められない意匠であっても、他方の組で正しく視差を求めることができ、その視差に基づき距離を計測できる。すなわち、小型化が可能で、多様な被写体で距離計測できる。
上記の本発明の撮像装置において、前記距離演算部は、複数の前記視差の平均に基づき距離を演算する、ことが好ましい。
この好ましい構成によれば、複数の視差の平均に基づき距離を演算する。このことにより、ノイズなどにより演算される視差がばらつくときであっても、ノイズの影響が低減された正しい視差を求めることができ、その視差に基づき距離を計測できる。すなわち、ノイズの影響が低減された正しい距離計測を可能とする。
上記の本発明の撮像装置において、前記距離演算部は、複数の前記視差のうちの最大の視差に基づき距離を演算する、ことが好ましい。
この好ましい構成によれば、複数の視差のうち最大の視差に基づき距離を演算する。このことにより、全ての視差において距離演算を行わず、最大の視差のみの距離演算を行うため、高速な距離計測を可能とする。
上記の本発明の撮像装置において、前記距離演算部は、複数の前記視差のうち信頼性が最も高い視差に基づき距離を演算する、ことが好ましい。
この好ましい構成によれば、複数の前記視差のうち信頼性が最も高い視差に基づき距離を演算する。このことにより、信頼性が高い視差に基づき視差演算するため、信頼性が高い距離計測を可能とする。また、全ての視差において距離演算を行わず、信頼性が高い視差のみの距離演算を行うため、高速な距離計測を可能とする。
本発明の撮像装置において、それぞれが少なくとも1枚のレンズを含む第1のレンズ部と、前記第1のレンズ部の光軸から水平方向に移動された位置に光軸を有する第2のレンズ部と、前記第1のレンズ部の光軸から鉛直方向に移動された位置に光軸を有する第3のレンズ部と、前記第1のレンズ部の光軸から対角方向に移動された位置に光軸を有する第4のレンズ部と、前記第1のレンズ部、第2ののレンズ部、第3のレンズ部、第4のレンズ部に一対一に対応し、対応する前記第1のレンズ部、第2ののレンズ部、第3のレンズ部、第4のレンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える第1の撮像領域と、第2の撮像領域と、第3の撮像領域と、第4の撮像領域と、前記第1の撮像領域と、第2の撮像領域と、第3の撮像領域と、第4の撮像領域からそれぞれ出力される第1の撮像信号、第2の撮像信号、第3の撮像信号、第4の撮像信号が入力される撮像信号入力部と、前記第1の撮像信号と前記第2の撮像信号、前記第3の撮像信号と前記第4の撮像信号、前記第1の撮像信号と前記第3の撮像信号、および前記第2の撮像信号と前記第4の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する視差演算部と、複数の前記視差に基づき距離を演算する距離演算部と、を有する。
一組のレンズ部に対応した撮像信号において、それぞれの撮像信号の光軸中心を結ぶ直線に平行な意匠は、それぞれの撮像信号において同一形状となり視差を求めることができない。本発明の撮像装置によれば、光軸が水平方向にずれた第1の撮像信号と第2の撮像信号、および第3の撮像信号と第4の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する。また、光軸が鉛直方向にずれた第1の撮像信号と第3の撮像信号、および第2の撮像信号と第4の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する。このことにより、水平方向にずれた組の撮像信号(第1の撮像信号と第2の撮像信号、および第3の撮像信号と第4の撮像信号)で正しく視差を求められない意匠であっても、鉛直方向にずれた組の撮像信号(第1の撮像信号と第3の撮像信号、および第2の撮像信号と第4の撮像信号)で正しく視差を求めることができ、その視差に基づき距離を計測できる。一方、鉛直方向にずれた組の撮像信号(第1の撮像信号と第3の撮像信号、および第2の撮像信号と第4の撮像信号)で正しく視差を求められない意匠であっても、水平方向にずれた組の撮像信号(第1の撮像信号と第2の撮像信号、および第3の撮像信号と第4の撮像信号)で正しく視差を求めることができ、その視差に基づき距離を計測できる。すなわち、モータなど付加構成がなくとも、片方の組で正しく視差を求められない意匠であっても、他方の組で正しく視差を求めることができ、その視差に基づき距離を計測できる。すなわち、小型化が可能で、多様な被写体で距離計測できる。多様な被写体で距離計測できる。
本発明の撮像装置において、それぞれが少なくとも1枚のレンズを含む第1のレンズ部と、前記第1のレンズ部の光軸から水平方向に移動された位置に光軸を有する第2のレンズ部と、前記第1のレンズ部の光軸から鉛直方向に移動された位置に光軸を有する第3のレンズ部と、前記第1のレンズ部の光軸から対角方向に移動された位置に光軸を有する第4のレンズ部と、前記第1のレンズ部、第2ののレンズ部、第3のレンズ部、第4のレンズ部に一対一に対応し、対応する前記第1のレンズ部、第2ののレンズ部、第3のレンズ部、第4のレンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える第1の撮像領域と、第2の撮像領域と、第3の撮像領域と、第4の撮像領域と、前記第1の撮像領域と、第2の撮像領域と、第3の撮像領域と、第4の撮像領域からそれぞれ出力される第1の撮像信号、第2の撮像信号、第3の撮像信号、第4の撮像信号が入力される撮像信号入力部と、前記第1の撮像信号と前記第4の撮像信号、および前記第2の撮像信号と前記第3の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する視差演算部と、複数の前記視差に基づき距離を演算する距離演算部と、を有する。
一組のレンズ部に対応した撮像信号において、それぞれの撮像信号の光軸中心を結ぶ直線に平行な意匠は、それぞれの撮像信号において同一形状となり視差を求めることができない。本発明の撮像装置によれば、光軸が対角方向にずれた第1の撮像信号と第4の撮像信号、および第2の撮像信号と第3の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する。このことにより、第1の撮像信号と第4の撮像信号とで正しく視差を求められない意匠であっても、第2の撮像信号と第3の撮像信号とで正しく視差を求めることができ、その視差に基づき距離を計測できる。一方、第2の撮像信号と第3の撮像信号とで正しく視差を求められない意匠であっても、第1の撮像信号と第4の撮像信号とで正しく視差を求めることができ、その視差に基づき距離を計測できる。すなわち、多様な被写体で距離計測できる。モータなど付加構成がなくとも、片方の組で正しく視差を求められない意匠であっても、他方の組で正しく視差を求めることができ、その視差に基づき距離を計測できる。すなわち、小型化が可能で、多様な被写体で距離計測できる。
本発明の撮像装置において、それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、前記複数の撮像信号に基づき視差を演算する視差演算部と、周囲温度を示す計測温度を計測する温度センサと、前記視差と前記計測温度とに基づき距離を演算する距離演算部と、を有する。
本発明の撮像装置によれば、温度センサにより周囲温度を示す計測温度を計測し、温度変化によるレンズの変形の影響を視差から補償し、補償された視差を用いて距離を演算する。このことにより、温度変化によってレンズが変形しても、正しい距離計測ができる。
本発明の撮像装置において、それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、前記複数の撮像信号のうちの少なくとも1つの撮像信号を複数のブロックに分割するブロック分割部と、前記撮像信号を用いて、前記ブロックごとに、前記複数のレンズ部がそれぞれ形成する像間の視差を演算する視差演算部と、前記ブロック毎の前記レンズ部の歪曲の影響を示す歪曲補正係数を保存する歪曲補正係数保存部と、前記視差と前記歪曲補正係数とに基づき距離を演算する距離演算部と、を有する。
本発明の撮像装置によれば、ブロック毎のレンズ部の歪曲の影響を示す歪曲補正係数を用いて視差を補償し、補償された視差を用いて距離を演算する。このことにより、レンズに歪曲があっても、正しい距離計測ができる。
本発明の撮像装置において、それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、前記複数の撮像信号のうちの少なくとも1つの撮像信号を複数のブロックに分割するブロック分割部と、前記ブロックに分割された撮像信号を前記複数のレンズ間の光軸間の方向に順にブロック毎に転送し、視差を演算する視差演算部と、前記視差に基づき距離を演算する距離演算部と、を有する。
本発明の撮像装置によれば、ブロックに分割された撮像信号を複数のレンズ間の光軸間の方向に順にブロック毎に転送し、視差を演算する。このことにより、光軸間の方向以外に順に転送するときと比較し、転送の重複が低減され、高速に視差演算できる。すなわち、高速に距離計測できる。
本発明の撮像装置において、それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数のベイヤー配列の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、前記複数の撮像信号のうち主に緑色の感度を持つ撮像信号に基づく視差を示す緑色視差、前記複数の撮像信号のうち主に赤色の感度を持つ撮像信号に基づく視差を示す赤色視差、および前記複数の撮像信号のうち主に青色の感度を持つ撮像信号に基づく視差を示す青色視差を演算する視差演算部と、前記緑色視差と前記赤色視差と前記青色視差とに基づき距離を演算する距離演算部と、を有する。
本発明の撮像装置によれば、ベイヤー配列の撮像素子を利用し、緑色の撮像信号による視差と赤色の撮像信号による視差と青色の撮像信号による視差とに基づき距離を演算する。このことにより、例えば、赤色成分のみを持つ被写体であっても、正しく視差演算でき、この正しい視差に基づき距離演算できる。すなわち、単一の波長の被写体を撮像した場合でも、正しく距離測定できる。
上記の本発明の撮像装置において、前記距離演算部は、前記緑色視差と前記赤色視差と前記青色視差との重み付け平均に基づき距離を演算する、ことが好ましい。
この好ましい構成によれば、緑色視差と赤色視差と青色視差との平均に基づき距離を演算する。このことにより、ノイズなどにより演算される視差がばらつくときであっても、ノイズの影響が低減された正しい視差を求めることができ、その視差に基づき距離を計測できる。すなわち、ノイズの影響が低減された正しい距離計測を可能とする。
(請求項12:請求項10のサブ:最小値)
上記の本発明の撮像装置において、前記距離演算部は、前記緑色視差と前記赤色視差と前記青色視差とのうちの最大の視差に基づき距離を演算する、ことが好ましい。
この好ましい構成によれば、緑色視差と赤色視差と青色視差とのうち最大の視差に基づき距離を演算する。このことにより、全ての視差において距離演算を行わず、最大の視差のみの距離演算を行うため、高速な距離計測を可能とする。
(請求項13:請求項10のサブ:信頼性のある値)
上記の本発明の撮像装置において、前記距離演算部は、前記緑色視差と前記赤色視差と前記青色視差とのうち信頼性が最も高い視差に基づき距離を演算する、ことが好ましい。
この好ましい構成によれば、緑色視差と赤色視差と青色視差とのうち信頼性が最も高い視差に基づき距離を演算する。このことにより、信頼性が高い視差に基づき視差演算するため、信頼性が高い距離計測を可能とする。また、全ての視差において距離演算を行わず、信頼性が高い視差のみの距離演算を行うため、高速な距離計測を可能とする。
本発明の撮像装置によれば、それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、前記複数の撮像信号のうちの少なくとも1つの撮像信号を複数のブロックに分割するブロック分割部と、前記撮像信号を用いて、前記ブロックごとに基づき前記複数のレンズ部がそれぞれ形成する像間の視差を求めるために利用する視差評価値を演算し、前記視差評価値に基づき前記ブロックを結合した結合ブロックごとの視差評価値である結合視差評価値を演算し、前記視差評価値と前記結合視差評価値とに基づき前記複数のレンズ部がそれぞれ形成する像間の視差を演算する視差演算部と、前記視差に基づき距離を演算する距離演算部と、を有する。
本発明の撮像装置によれば、ブロック毎に演算された視差評価値を用いて結合ブロックの結合視差評価値を演算する。このことにより、結合したブロック(結合ブロック)で独自に視差評価値(結合視差評価値)を演算するときと比較し、結合したブロック(結合ブロック)での視差評価値(結合視差評価値)の演算量を減少でき、高速に視差演算できるため、高速に距離演算できる。
(請求項15:請求項14のサブ:ブロック結合+最適ブロック選択)
上記の本発明の撮像装置において、前記距離演算部は、前記ブロック毎に前記視差評価値に基づき演算した視差と前記結合ブロック毎に前記結合視差評価値に基づき演算した視差とのうち信頼性が最も高い視差に基づき距離を演算する、ことが好ましい。
この好ましい構成によれば、このことにより、信頼性が高い視差に基づき視差演算するため、信頼性が高い距離計測を可能とする。また、全ての視差において距離演算を行わず、信頼性が高い視差のみの距離演算を行うため、高速な距離計測を可能とする。
以下、本発明の具体的な実施の形態について、図面を用いて説明する。
(実施の形態1)
本発明の実施の形態1に係る撮像装置によれば、複数の組の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する。このことにより、モータなど付加構成がなくとも、片方の組で正しく視差を求められない意匠であっても、他方の組で正しく視差を求めることができ、その視差に基づき距離を計測できる。すなわち、小型化が可能で、多様な被写体で距離計測できる。
また、本発明の実施の形態1に係る撮像装置によれば、温度センサにより周囲温度を示す計測温度を計測し、温度変化によるレンズの変形の影響を視差から補償し、補償された視差を用いて距離を演算する。このことにより、温度変化によってレンズが変形しても、正しい距離計測ができる。
また、本発明の実施の形態1に係る撮像装置によれば、ブロック毎のレンズ部の歪曲の影響を示す歪曲補正係数を用いて視差を補償し、補償された視差を用いて距離を演算する。このことにより、レンズに歪曲があっても、正しい距離計測ができる。
また、本発明の実施の形態1に係る撮像装置によれば、ブロック毎に演算された視差評価値を用いて結合ブロックの結合視差評価値を演算する。演算量を減少でき、高速に視差演算できるため、高速に距離演算できる。
本発明の実施の形態1に係る撮像装置について、図面を参照しながら説明する。
図1は、本発明の実施の形態1に係る撮像装置の構成を示す断面図である。図1において、撮像装置撮像装置は、レンズモジュール部110、および回路部120を有する。
レンズモジュール部110は、鏡筒111、上部カバーガラス112、およびレンズ113を有する。回路部120は、基板121、パッケージ122、撮像素子123、パッケージカバーガラス124、システムLSI(以下、SLSIと記す)125、および温度センサ126を有する。
鏡筒111は、円筒状であり、その内壁面は光の乱反射を防止するためにつやが消された黒色であり、樹脂を射出成形し形成される。上部カバーガラス112は、円盤状であり、透明樹脂から形成され、鏡筒111の上部の内壁に接着剤などにより固着され、その表面は摩擦などによる損傷を防止する保護膜と、入射光の反射を防止する反射防止膜とが設けられている。
図2は、本発明の実施の形態1に係る撮像装置のレンズ113の上面図である。レンズ113は、略円盤状であり、ガラスや透明樹脂から形成され、第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部113dが碁盤目状に配置される。第1〜第4のレンズ部113a〜113dの配置方向に沿って、図2に示すようにx軸及びy軸を設定する。第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部113dにおいて、被写体側から入射した光は、撮像素子123側へ射出し、撮像素子123上に4つの像を結像する。なお、図2のように、第1のレンズ部113aの光軸と第2のレンズ部113bの光軸は、水平方向(x軸方向)はDだけ離れており、垂直方向(y軸方向)は一致する。第2のレンズ部113bの光軸と第3のレンズ部113cの光軸は、水平方向(x軸方向)に一致しており、垂直方向(y軸方向)はDだけ離れている。第3のレンズ部113cの光軸と第4のレンズ部113dの光軸は、水平方向(x軸方向)はDだけ離れており、垂直方向(y軸方向)は一致する。第4のレンズ部113dの光軸と第1のレンズ部113aの光軸は、水平方向(x軸方向)は一致しており、垂直方向(y軸方向)はDだけ離れている。
基板121は、樹脂基板から構成され、上面に鏡筒111がその底面を接して接着剤などにより固着される。このようにして、レンズモジュール部110と回路部120とが固定され、撮像装置101を構成する。
パッケージ122は、金属端子を有する樹脂からなり、鏡筒111の内側において、基板121の上面にその金属端子部が半田づけ等されて固着される。撮像素子123は、CCDセンサやCMOSセンサのような固体撮像素子であり、撮像素子123の受光面が第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部113dの光軸と略垂直になるようにして配置される。
撮像素子123の各端子は、パッケージ122の内側の底部の金属端子にワイヤーボンディングにより金線127で接続され、基板121を介して、SLSI125と電気的に接続される。撮像素子123受光面に、第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部113dから射出された光がそれぞれ結像し、フォトダイオードにより光の情報から変換された電気の情報が、SLSI125に出力される。
図3は、本発明の実施の形態1に係る撮像装置の回路部120の上面図である。パッケージカバーガラス124は、平板状であり、透明樹脂により形成され、パッケージ122の上面に接着などにより固着される。
SLSI125は、後述の方法で、撮像素子123を駆動し、撮像素子123からの電気情報を入力し、各種演算を行い、上位CPUと通信を行い、外部に画像情報や距離情報などを出力する。なお、SLSI125は、電源(例えば3.3V)とグランド(例えば、0V)に接続される。
図4、本発明の実施の形態1に係る撮像装置の温度センサの回路図である。温度センサ126は、第1の固定抵抗126aとサーミスタ126bと第2の固定抵抗126cとを直列に接続し、第1の固定抵抗の他端(サーミスタに接続されない端)を電源126d(例えば3.3V)に接続し、第2の固定抵抗の他端(サーミスタに接続されない端)をグランド126e(例えば、0V。SLSI125のグランドと同一電位)に接続し、第1の固定抵抗とサーミスタとの接続点126fがSLSI125に接続される。
次に、被写体距離と視差との関係を説明する。本発明の実施の形態1に係る撮像装置は、4つのレンズ部(第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部113d)を有するため、4つのレンズ部がそれぞれ形成する4つの物体像の相対的位置が、被写体距離に応じて変化する。
図5は、本発明の実施の形態1に係る撮像装置において、無限遠にある物体像の位置を説明するための図である。図5においては、簡単のため、レンズ部113において、第1のレンズ部113a、および第2のレンズ部113bのみを記す。無限遠の物体10からの光の第1のレンズ部113aへの入射光L1と、第2のレンズ部113bへの入射光L2とは平行である。このため、第1のレンズ部113aと第2のレンズ部113bとの距離と、撮像素子123上の物体像11aと物体像11bとの距離は等しい。すなわち、視差はない。
図6は、本発明の実施の形態1に係る撮像装置において、有限距離の位置にある物体像の位置を説明するための図である。図6において、簡単のため、レンズ部113において、第1のレンズ部113a、および第2のレンズ部113bのみを記す。有限距離の物体12からの光の第1のレンズ部113aへの入射光L1と第2のレンズ部113bへの入射光L2とは平行ではない。従って、第1のレンズ部113aと第2のレンズ部113bとの距離に比べて、撮像素子123上の物体像13aと物体像13bとの距離は長い。すなわち、視差がある。
物体像12までの距離(被写体距離)をA、第1のレンズ部113aと第2のレンズ部113bとの距離をD、レンズ部113a,113bの焦点距離をfとすると、図5の直角を挟む2辺の長さがA、Dの直角三角形と、直角を挟む2辺の長さがf、Δの直角三角形とが相似であることより、視差Δは、下記(数1)のように表される。その他のレンズ部間についても同様の関係が成立する。このように、被写体距離に応じて4つのレンズ部113a,113b,113c,113dがそれぞれ形成する4つの物体像の相対的位置が変化する。例えば、被写体距離Aが小さくなると、視差Δが大きくなる。
Figure 2007271301
次に、本発明の実施の形態1に係る撮像装置の動作を説明する。図7は、本発明の実施の形態1に係る撮像装置のブロック図である。SLSI125は、システム制御部131、撮像素子駆動部132、撮像信号入力部133、前処理部134、入力バッファ135、演算部136、出力バッファ137、入出力部138、および温度センサ信号入力部139を有する。入力バッファ135は、第1の入力バッファ135a、第2の入力バッファ135b、第3の入力バッファ135c、および第4の入力バッファ135dを有する。演算部136は、演算部バッファ141、視差演算部142、および距離演算部143を有する。演算部バッファ141は、第1の演算部バッファ141a、および第2の演算部バッファ141bを有する。出力バッファ137は、第1の出力バッファ137a、および第2の出力バッファ137bを有する。
システム制御部131は、CPU(中央演算処理装置:Central Processing Unit)、ロジック回路などから構成され、SLSI125の全体を制御する。撮像素子駆動部132は、ロジック回路などから構成され、撮像素子123を駆動する信号を発生し、この信号に応じた電圧を撮像素子123に印加する。
撮像信号入力部133は、CDS回路(相関二重サンプリング回路:Correlated Double Sampling Circuit)、AGC(自動利得制御器:Automatic Gain Controller)、ADC(アナログ/ディジタル変換器:Analog Digital Converter)が直列に接続されて構成され、撮像素子123からの電気信号が入力され、CDS回路により固定ノイズを除去し、AGCによりゲインを調整し、ADCによりアナログ信号からディジタル値に変換し撮像信号I0とする。図8は、本発明の実施の形態1に係る撮像装置の撮像信号の切り出し位置を説明するための図である。撮像信号入力部133から入力される撮像信号I0(x,y)は、x方向にH0画素、y方向にV0画素を持ち、I0(0,0)((x,y)=(0,0))、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0-1)の順に入力され、順次、前処理部134に転送される。
前処理部134は、ロジック回路などから構成され、撮像信号I0から画像を切り出し、強度補正処理を行い、第1の撮像信号I1、第2の撮像信号I2、第3の撮像信号I3、および第4の撮像信号I4を作成し、順次、入力バッファ135に転送する。第1の撮像信号I1、第2の撮像信号I2、第3の撮像信号I3、および第4の撮像信号は、それぞれ第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部114dによって結像された被写体像によって得られたものである。図8、および下記(数2)のように、撮像信号I0を原点(x01,y01)、x方向にH1画素、y方向にV1画素だけ切り出し、第1の強度補正係数ks1で補正したものを第1の撮像信号I1とする。また、図8、および下記(数3)のように、撮像信号I0を原点(x02,y02)、x方向にH1画素、y方向にV1画素だけ切り出し、第2の強度補正係数ks2で補正したものを第2の撮像信号I2とする。また、図8、および下記(数4)のように、撮像信号I0を原点(x03,y03)、x方向にH1画素、y方向にV1画素だけ切り出し、第3の強度補正係数ks3で補正したものを第3の撮像信号I3とする。また、図8、および下記(数5)のように、撮像信号I0を原点(x04,y04)、x方向にH1画素、y方向にV1画素だけ切り出し、第4の強度補正係数ks4で補正したものを第4の撮像信号I4とする。なお、第1の強度補正係数ks1(x,y)、第2の強度補正係数ks2(x,y)、第3の強度補正係数ks3(x,y)、および第4の強度補正係数ks4(x,y)は、第1の撮像信号I1、第2の撮像信号I2、第3の撮像信号I3、および第4の撮像信号I4の座標(x,y)における強度補正係数を示し、検査工程などにおいて特定チャートを撮影し決定され、EEPROMやフラッシュメモリに保存される。なお、各画素の係数を持たずに、代表点のみを持ち線形補間により第1の強度補正係数ks1(x,y)、第2の強度補正係数ks2(x,y)、第3の強度補正係数ks3(x,y)、および第4の強度補正係数ks4(x,y)を求めてもよい。また、近似式を策定しその係数のみを持ち、各座標の第1の強度補正係数ks1(x,y)、第2の強度補正係数ks2(x,y)、第3の強度補正係数ks3(x,y)、および第4の強度補正係数ks4(x,y)を作成してもよい。また、レンズの光軸のずれなどを校正するために、適宜、座標変換を行ってもよい。
Figure 2007271301
Figure 2007271301
Figure 2007271301
Figure 2007271301
第1の入力バッファ135aは、DRAM(Dynamic Random Access Memory)などから構成され、第1の撮像信号I1を順次読み込み、H1*V1画素(x方向にH1画素、y方向にV1画素)のデータを保存する。第2の入力バッファ135bは、DRAMなどから構成され、第2の撮像信号I2を順次読み込み、H1*V1画素(x方向にH1画素、y方向にV1画素)のデータを保存する。第3の入力バッファ135cは、DRAMなどから構成され、第3の撮像信号I3を順次読み込み、H1*V1画素(x方向にH1画素、y方向にV1画素)のデータを保存する。第4の入力バッファ135dは、DRAMなどから構成され、第4の撮像信号I4を順次読み込み、H1*V1画素(x方向にH1画素、y方向にV1画素)のデータを保存する。
演算部136は、SRAM(Static Random Access Memory)から構成された第1の演算バッファ141a、第2の演算バッファ141bと、ロジック回路やCPUなどから構成された視差演算部142と、ロジック回路やCPUなどから構成された距離演算部143と、から構成される。演算部136は、第1の撮像信号I1、第2の撮像信号I2、第3の撮像信号I3、および第4の撮像信号I4をブロック単位で読み込み第1の演算バッファ141a、第2の演算バッファ141bに保存し、視差演算部142において第1の演算バッファ141a、および第2の演算バッファ141bのデータなどに基づき視差を演算し、距離演算部143において求められた視差に基づき距離を演算し、求められた距離データを出力バッファ137に転送する。
出力バッファ137は、DRAMなどから構成され、入力バッファ135から転送された画像データと演算部136から転送された距離データを保存し、入出力部138に順次転送する。
入出力部138は、上位CPU(図示せず)との通信や、上位CPU、外部メモリ(図示せず)、および液晶などの外部表示装置(図示せず)へ画像データ、および距離データを出力する。
温度センサ信号入力部139は、ADC(Analog Digital Converter:アナログ・デジタル変換器)などから構成され、アナログ電圧信号である温度センサ信号を入力し、アナログ信号からディジタル値に変換し、温度センサ信号Thとしてシステム制御部131に出力する。
図9は、本発明の実施の形態1に係る撮像装置の動作を示すフローチャートである。SLSI125のシステム制御部131により、撮像装置101は、このフローチャートのとおりに動作される。
ステップS1010において、動作を開始する。例えば、上位CPU(図示せず)が、入出力部136を介し、撮像装置101に動作の開始を命令することにより、撮像装置101は、動作を開始する。次に、ステップS1020を実行する。
ステップS1020において、撮像信号を入力する。システム制御部131の命令により、撮像素子駆動部132が電子シャッターや転送を行うための信号を随時出力する。撮像信号入力部133は、撮像信号I0(x,y)を、x方向にH0画素、y方向にV0画素を持ち、I0(0,0)((x,y)=(0,0))、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0-1)の順に入力し、順次、前処理部134に転送する。前処理部134は、撮像信号I0から画像を切り出し、強度補正処理を行い、第1の撮像信号I1、第2の撮像信号I2、第3の撮像信号I3、および第4の撮像信号I4を作成し、第1の撮像信号I1を、順次、第1の入力バッファ135aに転送し、第2の撮像信号I2を、順次、第2の入力バッファ135bに転送し、第3の撮像信号I3を、順次、第3の入力バッファ135cに転送し、第4の撮像信号I4を、順次、第4の入力バッファ135dに転送する。次に、ステップS1030を実行する。
ステップS1030において、温度センサ信号を入力する。温度センサ信号入力部139は、温度センサ126の信号を入力し、温度センサ信号Thとしてシステム制御部131に出力する。次に、ステップS1040を実行する。
ステップS1040において、第1の入力バッファ135aに保存されている第1の撮像信号I1を第1の出力バッファ137aに転送し、第1の出力バッファ137aは、画像データとして保存する。次に、ステップS1100を実行する。
ステップS1100において、距離データを作成し、順次、第2の出力バッファ137bに転送する。この動作の詳細は後述する。次に、ステップS1910を実行する。
ステップS1910において、外部にデータを出力する。入出力部138は、第1の出力バッファ137a上の画像データ、および第2の出力バッファ137b上の距離データを、上位CPU(図示せず)や外部表示装置(図示せず)に出力する。次に、S1920を実行する。
ステップS1920において、動作を終了するかどうかを判断する。例えば、システム制御部131は、入出力部136を介し、上位CPU(図示せず)と通信し、動作を終了するかどうかの命令を要求する。そして、上位CPUが終了を命令すれば動作を終了し、次に、ステップS1930を実行する。一方、上位CPUが終了を命令しなければ動作を継続し、次に、ステップS1020を実行する。すなわち、上位CPUが終了を命令しない限り、ステップS1020、ステップS1030、ステップS1040、ステップS1100、およびステップS1910のループの実行を継続する。
ステップS1930において、動作を終了する。
次に、ステップS1100における動作の詳細を説明する。図10は、本発明の実施の形態1に係る撮像装置の演算部の動作を示すフローチャートである。図10のフローチャートは、ステップS1100の動作の詳細を示す。ステップS1100の演算では、まず、ステップS1110を実行する。
ステップS1110において、演算の動作を開始する。次に、ステップS1200を実行する。
ステップS1200において、視差演算を実行する。図11は、本発明の実施の形態1に係る撮像装置の視差演算の動作を示すフローチャートである。図11のフローチャートは、ステップS1200の動作の詳細を示す。ステップS1200の演算では、まず、ステップS1210を実行する。
ステップS1210において、視差演算の動作を開始する。次に、ステップS1220を実行する。
ステップS1220において、第1の撮像信号と第2の撮像信号とを利用した視差演算を実行する。図12は、本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号とを利用した視差演算の動作を示すフローチャートである。図12のフローチャートは、ステップS1220の動作の詳細を示す。ステップS1220の演算では、まず、ステップS1310を実行する。
ステップS1310において、第1の撮像信号と第2の撮像信号とを利用した視差演算の動作を開始する。次に、ステップS1315を実行する。
ステップS1315において、ブロックインデックスibに0に初期化する。次に、ステップS1320を実行する。
ステップS1320において、ブロックを選択する。図13は、本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号とを利用した視差演算における第1の撮像信号の分割ブロックと演算順番を説明する図であり、図14は、本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号とを利用した視差演算における第2の撮像信号の分割ブロックと演算順番を説明する図である。図13において、第1の撮像信号I1は、x方向にHB画素、y方向にVB画素の長方形状のブロックに分割され、x方向にHB画素、y方向にVB画素ずれて配置され、x方向にNh個、y方向にNv個のブロックを持つ。そのため、各ブロックはx方向、y方向ともに重なる部分はない。図14において、第2の撮像信号I2は、x方向に(HB+SB)画素、y方向にVB画素の長方形状のブロックに分割され、x方向にHB画素、y方向にVB画素ずれて配置され、x方向にNh個、y方向にNv個のブロックを持つ。そのため、x方向について、隣のブロックと重なる。一方、y方向について、隣のブロックと重ならない。また、図14において、右側のブロックにおいてx方向に(HB+SB)画素を取れないブロックは、適宜x方向の右端が削除される。なお、実施の形態1では、以下、HB=32、VB=32の例を示す。
図13、および図14において、各ブロックの上段に記述された数字はブロックインデックスibを示す。また、図13、および図14において、各ブロックの下段に記述された座標(ibx、iby)は、各ブロックがx方向にibx番目、y方向にiby番目のブロックであることを示す。ここで、ibxは0からNh−1まで、ibyは0からVh−1まで存在する。ステップS1320において、図13、および図14でブロックインデックスibで示されるブロック(座標(ibx、iby)で示されるブロック)が選択される。次に、ステップS1325を実行する。
ステップS1325において、撮像信号を転送する。ステップS1320において、選択されたブロックの第1の撮像信号I1を第1の演算バッファBc1に転送する。演算バッファの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。ステップS1320において、選択されたブロックの第2の撮像信号I2を第2の演算バッファBc2に転送する。演算バッファの座標(x,y)における値をBc2(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31+SB、y=0〜31である。例えば、ib=0のとき、第1の演算バッファBc1には、座標(0,0)と座標(31,31)とで囲まれる1024画素の撮像信号I1が転送され、第2の演算バッファBc2には、図14において右斜上となる斜線が描かれた座標(0,0)と座標(31+SB,31)とで囲まれる(1024+32*SB)画素の撮像信号I2が転送される。次に、ib=1のとき、第1の演算バッファBc1には、座標(32,0)と座標(63,31)とで囲まれる1024画素の撮像信号I1が転送され、第2の演算バッファBc2には、図14において右斜下となる斜線が描かれた座標(32,0)と座標(63+SB,31)とで囲まれる(1024+32*SB)画素の撮像信号I2が必要だが、ib=0と重なる部分(座標(32,0)と座標(31+SB,31)で囲まれる32*SB画素の領域)はすでに第2の演算バッファBc2に転送されているため、新たに座標(32+SB,0)と座標(63+SB,31)とで囲まれる1024画素のみを転送すればよい。次に、ステップS1330を実行する。
ステップS1330において、4x4画素の視差演算を実行する。図15は、本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号を利用したときの4x4画素の視差演算における第1の演算バッファの分割と演算順番を説明する図である。まず、第1の演算バッファBc1をx方向に4画素、y方向に4画素の大きさブロックに分割する。すなわち、x方向に8個、y方向に8個のブロックに分割する。
そして、各ブロック(B4(0)、B4(1)、B4(2)、・・・、B4(63))毎に、4x4画素の視差評価値R4(0)(k)、R4(1)(k)、R4(2)(k)、・・・、R4(63)(k)、を演算する。ここで、kは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。図16は、本発明の実施の形態1に係る撮像装置において、第1の撮像信号と第2の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の演算領域を説明する図である。図16のように、I番目のブロックB4(i)(Bc1で示される領域)は、第1の演算バッファの4x4画素の大きさに分割されたi番目のブロックである。Bc2で示される領域は、図16においてBc1で示されるブロックからx方向にずらし量kだけ移動した領域である。そして、ずらし量k=0からSBについて、下記(数6)に示される絶対値差分総和(SAD。Sum of Absolute Differences)を演算し、i番目のブロックB4(i)の視差評価値R4(i)(k)とする。
Figure 2007271301
この視差評価値R4(i)(k)は、i番目のブロックB4(i)の第1の演算バッファのデータBc1と、x方向にkだけ離れた領域における第2の演算バッファBc2がどれだけ相関があるかを示し、値が小さいほど相関が大きい(よく似ている)ことを示す。ここで、第1の演算バッファのデータBc1は、第1の撮像信号I1を転送したものであり、第2の演算バッファのデータBc2は、第2の撮像信号I2を転送したものであるため、視差評価値R4(i)(k)は、第1の撮像信号I1と対応する第2の撮像信号I2とがどれだけ相関があるかを示す。
図17は、本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号を利用したときの4x4画素の視差演算における視差と視差評価値との関係を説明する図である。図17のように、視差評価値R4(i)(k)はずらし量kの値によって変化し、ずらし量k=Δ4(i)のとき極小値を持つ。第1の演算バッファのデータBc1のi番目のブロックB4(i)のデータは、第1の演算バッファのデータBc1のi番目のブロックB4(i)をx方向にkだけ移動した領域に存在する第2の演算バッファBc2のデータと最も相関がある(最も似ている)ことを示す。したがって、ブロックB4(i)についての第1の演算バッファのデータBc1と第2の演算バッファのデータBc2とのx方向の視差がΔ4(i)であることが分かる。ここで、このΔ4(i)をブロックB4(i)の視差値Δ4(i)と呼ぶ。このように、i=0、1、2、・・・、63までブロックB4(i)の視差値Δ4(i)を求める。
次に、ブロックB4(i)の視差値Δ4(i)の信頼度を演算する。図18は、本発明の実施の形態1に係る撮像装置において、第1の撮像信号と第2の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の信頼度の演算領域を説明する図である。B4(i)で示される(Bc1としても示されている)領域は、図15におけるi番目の4x4画素のブロックである。Bc2で示される領域は、Biをx方向にΔ4(i)だけ移動した領域である。そして、下記(数7)のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ4(i),y)について、正規化相関係数を4x4画素のブロックB4(i)の信頼度E4(i)とする。次に、ステップS1335を実行する。
Figure 2007271301
ステップS1335において、8x8画素の視差演算を実行する。図19は、本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号を利用したときの8x8画素の視差演算における第1の演算バッファの分割と演算順番を説明する図である。まず、第1の演算バッファBc1をx方向に8画素、y方向に8画素の大きさブロックに分割する。すなわち、x方向に4個、y方向に4個のブロックに分割する。
そして、各ブロック(B8(0)、B8(1)、B8(2)、・・・、B8(15))毎に、8x8画素の視差評価値R8(0)(k)、R8(1)(k)、R8(2)(k)、・・・、R8(15)(k)、を演算する。ここで、kは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。下記(数8)のように、4x4画素の視差評価値R4(0)(k)、R4(1)(k)、R4(2)(k)、・・・、R4(63)(k)を利用し、8x8画素の視差評価値R8(0)(k)、R8(1)(k)、R8(2)(k)、・・・、R8(15)(k)を演算する。(数6)と同様に、誤差絶対値総和(SAD)を演算してもと同一の結果となるが、(数8)のように、8x8画素のブロックに含まれる4つの4x4画素のブロックの誤差絶対値総和の和を利用すると、その分だけ演算量を減少できるため、低コストな回路での動作が可能となる。
Figure 2007271301
次に、8x8画素のi番目のブロックB8(i)の視差量Δ8(i)を求める。4x4画素のi番目のブロックB4(i)の視差量Δ4(i)を求めたときと同様に、視差評価値R8(i)(k)の極小値を与えるkを視差量Δ8(i)とする。
次に、ブロックB8(i)の視差値Δ8(i)の信頼度を演算する。4x4画素のi晩目のブロックB4(i)の信頼度E4(i)を求めたときと同様に、下記(数9)のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ8(i),y)の正規化相関係数を8x8画素のブロックB8(i)の信頼度E8(i)とする。次に、ステップS1340を実行する。
Figure 2007271301
ステップS1340において、16x16画素の視差演算を実行する。図20は、本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号を利用したときの16x16画素の視差演算における第1の演算バッファの分割と演算順番を説明する図である。まず、第1の演算バッファBc1をx方向に16画素、y方向に16画素の大きさブロックに分割する。すなわち、x方向に2個、y方向に2個のブロックに分割する。
そして、各ブロック(B16(0)、B16(1)、B16(2)、B16(3))毎に、16x16画素の視差評価値R16(0)(k)、R16(1)(k)、R16(2)(k)、R16(3)(k)、を演算する。ここで、kは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。下記(数10)のように、8x8画素の視差評価値R8(0)(k)、R8(1)(k)、R8(2)(k)、・・・、R8(15)(k)を利用し、16x16画素の視差評価値R16(0)(k)、R16(1)(k)、R16(2)(k)、R16(3)(k)を演算する。(数6)と同様に、誤差絶対値総和(SAD)を演算してもと同一の結果となるが、(数10)のように、16x16画素のブロックに含まれる4つの8x8画素のブロックの誤差絶対値総和の和を利用すると、その分だけ演算量を減少できるため、低コストな回路での動作が可能となる。
Figure 2007271301
次に、16x16画素のi番目のブロックB16(i)の視差量Δ16(i)を求める。4x4画素のi番目のブロックB4(i)の視差量Δ4(i)を求めたときと同様に、視差評価値R16(i)(k)の極小値を与えるkを視差量Δ16(i)とする。
次に、ブロックB16(i)の視差値Δ16(i)の信頼度を演算する。4x4画素のi晩目のブロックB4(i)の信頼度E4(i)を求めたときと同様に、下記(数11)のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ16(i),y)の正規化相関係数を16x16画素のブロックB16(i)の信頼度E16(i)とする。次に、ステップS1345を実行する。
Figure 2007271301
ステップS1345において、32x32画素の視差演算を実行する。図21は、本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号を利用したときの32x32画素の視差演算における第1の演算バッファの分割と演算順番を説明する図である。まず、第1の演算バッファBc1をx方向に32画素、y方向に32画素の大きさブロックとする。すなわち、分割を行わない。
そして、ブロックB32(0)の32x32画素の視差評価値R32(0)(k)を演算する。ここで、kは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。下記(数12)のように、16x16画素の視差評価値R16(0)(k)、R16(1)(k)、R16(2)(k)、R16(3)(k)を利用し、32x32画素の視差評価値R32(0)(k)を演算する。(数6)と同様に、誤差絶対値総和(SAD)を演算してもと同一の結果となるが、(数12)のように、32x32画素のブロックに含まれる4つの16x16画素のブロックの誤差絶対値総和の和を利用すると、その分だけ演算量を減少できるため、低コストな回路での動作が可能となる。
Figure 2007271301
次に、32x32画素のブロックB32(0)の視差量Δ32(0)を求める。4x4画素のi番目のブロックB4(i)の視差量Δ4(i)を求めたときと同様に、視差評価値R32(0)(k)の極小値を与えるkを視差量Δ32(0)とする。
次に、ブロックB32(0)の視差値Δ32(0)の信頼度を演算する。4x4画素のi晩目のブロックB4(i)の信頼度E4(i)を求めたときと同様に、下記(数13)のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ32(0),y)の正規化相関係数を32x32画素のブロックB32(0)の信頼度E32(0)とする。次に、ステップS1350を実行する。
Figure 2007271301
ステップS1350において、信頼度に基づき視差を決定する。図15におけるi番目の4x4画素のブロックB4(i)を含む全てのブロック(B4(i), B8(i), B16(i), B32(0))の信頼度E4(i)、E8(i)、E16(i)、E32(0)のうち最大値を与えるものの視差(Δ4(i)、Δ8(i)、Δ16(i)、Δ32(i)のうち対応するもの)を、このブロックの最終的な視差Δf4(1,2)(ibx,iby)(i)とし、保存する。ここで、座標(ibx,iby)は、図13において各ブロックの下段に示される座標である。また、このときの最大値を与えた信頼度(E4(i)、E8(i)、E16(i)、E32(0)のうち対応するもの)をこのブロックの最終的な信頼度Ef4(1,2)(ibx,iby)(i)として、保存する。このようにして、第1の撮像信号と第2の撮像信号とを利用した視差演算において、座標(ibx,iby)で示される32x32画素のブロックについて、4x4画素の分解能で視差量Δf4(1,2)(ibx,iby)(i)とその信頼度Ef4(1,2)(ibx,iby)(i)とが求められた。次に、ステップS1355を実行する。
ステップS1355において、ブロックインデックスibに1を加える。次に、ステップS1360を実行する。
ステップS1360において、第1の撮像信号と第2の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスibがNh*Nv未満のとき、次のブロックの視差を演算するために、次に、ステップS1320を実行する。一方、ブロックインデックスibがNh*Nv以上のとき、全てのブロックの視差を演算したと判断し、次に、ステップS1365を実行する。
ステップS1365において、第1の撮像信号と第2の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。このようにして、第1の撮像信号と第2の撮像信号とを利用した視差演算において、ブロックインデックスibで示される32x32画素のブロックについて、4x4画素の分解能で視差量Δf4(1,2)(ibx,iby)(i)とその信頼度Ef4(1,2)(ibx,iby)(i)とが求められた。ここで、(1,2)は第1の撮像信号と第2の撮像信号とを利用していることを示し、(ibx,iby)は図13において各ブロックの下段に示される座標であり(ibxは0からNh−1まで、ibyはNv−1まで変化する)、iは32x32画素のうちの4x4画素のブロックを示す(iは、0〜63まで変化する)。次に、図11のステップS1230を実行する。
ステップS1230において、第3の撮像信号と第4の撮像信号とを利用した視差演算を実行する。このステップは、ステップS1220において、第1の撮像信号I1を第3の撮像信号I3に変更し、第2の撮像信号I2を第4の撮像信号I4に変更したものと同様である。すなわち、第3の撮像信号I3をブロックに分割し、第1の演算バッファ141aに転送し、第4の撮像信号I4をブロックに分割し、第2の演算バッファ141bに転送し、ステップS1220と同様の動作を行い、4x4画素の分解能で視差量Δf4(3,4)(ibx,iby)(i)とその信頼度Ef4(3,4)(ibx,iby)(i)とが求められた。ここで、(3,4)は第3の撮像信号と第4の撮像信号とを利用していることを示し、(ibx,iby)は図13の各ブロックの下段に示される座標を示し(図13のように、ibxは0からNh−1まで、ibyは0からNv−1まで変化する)、iは32x32画素のうちの4x4画素のブロックを示す(図15のように、iは、0〜63まで変化する)。次に、ステップS1240を実行する。
ステップS1240において、第1の撮像信号と第3の撮像信号とを利用した視差演算を実行する。図22は、本発明の実施の形態1に係る撮像装置の第1の撮像信号と第3の撮像信号とを利用した視差演算の動作を示すフローチャートである。図22のフローチャートは、ステップS1240の動作の詳細を示す。ステップS1240の演算では、まず、ステップS1410を実行する。
ステップS1410において、第1の撮像信号と第3の撮像信号とを利用した視差演算の動作を開始する。次に、ステップS1415を実行する。
ステップS1415において、ブロックインデックスibに0に初期化する。次に、ステップS1420を実行する。
ステップS1420において、ブロックを選択する。第1の撮像信号のブロック分割は、ステップS1320と同様であり、説明を省略する。図23は、本発明の実施の形態1に係る撮像装置の第1の撮像信号と第3の撮像信号とを利用した視差演算における第3の撮像信号の分割ブロックと演算順番を説明する図である。図23において、第3の撮像信号I3は、x方向にHB画素、y方向に(VB+SB)画素の長方形状のブロックに分割され、x方向にHB画素、y方向にVB画素ずれて配置され、x方向にNh個、y方向にNv個のブロックを持つ。そのため、y方向について、隣のブロックと重なる。一方、x方向について、隣のブロックと重ならない。また、図14において、下側のブロックにおいてy方向に(VB+SB)画素を取れないブロックは、適宜y方向の下端が削除される。なお、実施の形態1では、以下、HB=32、VB=32の例を示す。
図13、および図23において、各ブロックの上段に記述された数字はブロックインデックスibを示す。また、図13、および図23において、各ブロックの下段に記述された座標(ibx、iby)は、各ブロックがx方向にibx番目、y方向にiby番目のブロックであることを示す。ここで、ibxは0からNh−1まで、ibyは0からVh−1まで存在する。ステップS1420において、図13、および図23でブロックインデックスibで示されるブロック(座標(ibx、iby)で示されるブロック)が選択される。次に、ステップS1425を実行する。
ステップS1425において、撮像信号を転送する。ステップS1420において、選択されたブロックの第1の撮像信号I1を第1の演算バッファBc1に転送する。演算バッファの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。ステップS1420において、選択されたブロックの第3の撮像信号I3を第2の演算バッファBc2に転送する。演算バッファの座標(x,y)における値をBc2(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31+SBである。例えば、ib=0のとき、第1の演算バッファBc1には、座標(0,0)と座標(31,31)とで囲まれる1024画素の撮像信号I1が転送され、第2の演算バッファBc2には、図23において右斜上となる斜線が描かれた座標(0,0)と座標(31,31+SB)とで囲まれる(1024+32*SB)画素の撮像信号I2が転送される。次に、ib=1のとき、第1の演算バッファBc1には、座標(0,32)と座標(31,63)とで囲まれる1024画素の撮像信号I1が転送され、第2の演算バッファBc2には、図23において右斜下となる斜線が描かれた座標(0,32)と座標(31,63+SB)とで囲まれる(1024+32*SB)画素の撮像信号I2が必要だが、ib=0と重なる部分(座標(0,32)と座標(31,31+SB)で囲まれる32*SB画素の領域)はすでに第2の演算バッファBc2に転送されているため、新たに座標(0,32+SB)と座標(31,63+SB)とで囲まれる1024画素のみを転送すればよい。次に、ステップS1430を実行する。
ステップS1430において、4x4画素の視差演算を実行する。まず、ステップS1330と同様に、図15のように、第1の演算バッファBc1をx方向に4画素、y方向に4画素の大きさブロックに分割する。すなわち、x方向に8個、y方向に8個のブロックに分割する。
そして、各ブロック(B4(0)、B4(1)、B4(2)、・・・、B4(63))毎に、4x4画素の視差評価値R4(0)(k)、R4(1)(k)、R4(2)(k)、・・・、R4(63)(k)、を演算する。ここで、kは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。図24は、本発明の実施の形態1に係る撮像装置において、第1の撮像信号と第3の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の演算領域を説明する図である。図24のように、I番目のブロックB4(i)(Bc1で示される領域)は、第1の演算バッファの4x4画素の大きさに分割されたi番目のブロックである。Bc2で示される領域は、図24においてBc1で示されるブロックからy方向にずらし量kだけ移動した領域である。そして、ずらし量k=0からSBについて、下記(数14)に示される絶対値差分総和(SAD。Sum of Absolute Differences)を演算し、i番目のブロックB4(i)の視差評価値R4(i)(k)とする。
Figure 2007271301
この視差評価値R4(i)(k)は、i番目のブロックB4(i)の第1の演算バッファのデータBc1と、y方向にkだけ離れた領域における第2の演算バッファBc2がどれだけ相関があるかを示し、値が小さいほど相関が大きい(よく似ている)ことを示す。ここで、第1の演算バッファのデータBc1は、第1の撮像信号I1を転送したものであり、第2の演算バッファのデータBc2は、第3の撮像信号I3を転送したものであるため、視差評価値R4(i)(k)は、第1の撮像信号I1と対応する第3の撮像信号I3とがどれだけ相関があるかを示す。
そして、S1330と同様に、視差評価値R4(i)(k)はずらし量kの値によって変化し、ずらし量k=Δ4(i)のとき極小値を持つ。第1の演算バッファのデータBc1のi番目のブロックB4(i)のデータは、第1の演算バッファのデータBc1のi番目のブロックB4(i)をy方向にkだけ移動した領域に存在する第2の演算バッファBc2のデータと最も相関がある(最も似ている)ことを示す。したがって、ブロックB4(i)についての第1の演算バッファのデータBc1と第2の演算バッファのデータBc2とのx方向の視差がΔ4(i)であることが分かる。ここで、このΔ4(i)をブロックB4(i)の視差値Δ4(i)と呼ぶ。このように、i=0、1、2、・・・、63までブロックB4(i)の視差値Δ4(i)を求める。
次に、ブロックB4(i)の視差値Δ4(i)の信頼度を演算する。図25は、本発明の実施の形態1に係る撮像装置において、第1の撮像信号と第3の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の信頼度の演算領域を説明する図である。B4(i)で示される(Bc1としても示されている)領域は、図15におけるi番目の4x4画素のブロックである。Bc2で示される領域は、Biをy方向にΔ4(i)だけ移動した領域である。そして、下記(数15)のように、それぞれの領域のデータBc1(x,y)、Bc2(x,y+Δ4(i))について、正規化相関係数を4x4画素のブロックB4(i)の信頼度E4(i)とする。次に、ステップS1435を実行する。
Figure 2007271301
ステップS1435において、8x8画素の視差演算を実行する。このステップは、ステップS1335と同様に、視差量Δ8(i)を求める。そして、下記(数16)のように、それぞれの領域のデータBc1(x,y)、Bc2(x,y+Δ8(i))の正規化相関係数を8x8画素のブロックB8(i)の信頼度E8(i)とする。次に、ステップS1440を実行する。
Figure 2007271301
ステップS1440において、16x16画素の視差演算を実行する。このステップは、ステップS1340と同様に、視差量Δ16(i)を求める。そして、下記(数17)のように、それぞれの領域のデータBc1(x,y)、Bc2(x,y-Δ16(i))の正規化相関係数を16x16画素のブロックB16(i)の信頼度E16(i)とする。次に、ステップS1445を実行する。
Figure 2007271301
ステップS1445において、32x32画素の視差演算を実行する。このステップは、ステップS1345と同様に、視差量Δ32(0)を求める。そして、下記(数18)のように、それぞれの領域のデータBc1(x,y)、Bc2(x,y+Δ32(0))の正規化相関係数を32x32画素のブロックB32(0)の信頼度E32(0)とする。次に、ステップS1450を実行する。
Figure 2007271301
ステップS1450において、信頼度に基づき視差を決定する。図15におけるi番目の4x4画素のブロックB4(i)を含む全てのブロック(B4(i), B8(i), B16(i), B32(0))の信頼度E4(i)、E8(i)、E16(i)、E32(0)のうち最大値を与えるものの視差(Δ4(i)、Δ8(i)、Δ16(i)、Δ32(i)のうち対応するもの)を、このブロックの最終的な視差Δf4(1,3)(ibx,iby)(i)とし、保存する。ここで、図13においてibはブロックインデックスである。また、このときの最大値を与えた信頼度(E4(i)、E8(i)、E16(i)、E32(0)のうち対応するもの)をこのブロックの最終的な信頼度Ef4(1,3)(ibx,iby)(i)として、保存する。このようにして、第1の撮像信号と第2の撮像信号とを利用した視差演算において、図13において、座標(ibx,iby)で示される32x32画素のブロックについて、4x4画素の分解能で視差量Δf4(1,3)(ibx,iby)(i)とその信頼度Ef4(1,3)(ibx,iby)(i)とが求められた。次に、ステップS1455を実行する。
ステップS1455において、ブロックインデックスibに1を加える。次に、ステップS1460を実行する。
ステップS1460において、第1の撮像信号と第3の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスibがNh*Nv未満のとき、次のブロックの視差を演算するために、次に、ステップS1420を実行する。一方、ブロックインデックスibがNh*Nv以上のとき、全てのブロックの視差を演算したと判断し、次に、ステップS1465を実行する。
ステップS1465において、第1の撮像信号と第3の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。このようにして、第1の撮像信号と第3の撮像信号とを利用した視差演算において、ブロックインデックスibで示される32x32画素のブロックについて、4x4画素の分解能で視差量Δf4(1,3)(ibx,iby)(i)とその信頼度Ef4(1,3)(ibx,iby)(i)とが求められた。ここで、(1,3)は第1の撮像信号と第3の撮像信号とを利用していることを示し、(ibx,iby)は図13の各ブロックの下段に示される座標を示し(ibxは0からNh−1まで、ibyは0からNv−1まで変化する)、iは32x32画素のうちの4x4画素のブロックを示す(iは、0〜63まで変化する)。次に、図11のステップS1250を実行する。
ステップS1250において、第2の撮像信号と第4の撮像信号とを利用した視差演算を実行する。このステップは、ステップS1220において、第1の撮像信号I1を第2の撮像信号I2に変更し、第3の撮像信号I3を第4の撮像信号I4に変更したものと同様である。すなわち、第2の撮像信号I2をブロックに分割し、第1の演算バッファ141aに転送し、第4の撮像信号I4をブロックに分割し、第2の演算バッファ141bに転送し、ステップS1240と同様の動作を行い、4x4画素の分解能で視差量Δf4(2,4)(ibx,ixy)(i)とその信頼度Ef4(2,4)(ibx,iby)(i)とが求められた。ここで、(2,4)は第2の撮像信号と第4の撮像信号とを利用していることを示し、(ibx,iby)は図13において各ブロックの下段に示された座標であり(ibxは0からNh−1まで、ibyは0からNv−1まで変化する)、iは32x32画素のうちの4x4画素のブロックを示す(図15のように、iは、0〜63まで変化する)。次に、ステップS1260を実行する。
ステップS1260において、視差を選択する。それぞれのブロックに対し、信頼度E(1,2)(ibx,iby)(i)、E(2,3)(ibx,iby)(i)、E(1,3)(ibx,iby)(i)、およびE(2,4)(ib)(i)を比較し、最大の信頼度を与える視差をそのブロックでの視差Δ(ibx,iby)(i)とする。次に、ステップS1270を実行する。
ステップS1470において、視差演算を終了し、上位ルーチンへ戻る。このようにして、各ブロックにおける視差Δ(ibx,iby)(i)が求められた。ここで、(ibx,iby)は図13の各ブロックの下段に示される座標であり、ibxは0からNh−1まで、ibyはNv−1まで変化する。また、iは32x32画素のうちの4x4画素のブロックを示し、図15のように、0〜63まで変化する。次に、ステップS1800を実行する。
ステップS1800において、距離演算部143は、距離演算を行い、その結果を、順次、第2の出力バッファ137bに、距離データとして転送する。図26は、本発明の実施の形態1に係る撮像装置の距離演算の動作を示すフローチャートである。図26のフローチャートは、ステップS1800の動作の詳細を示す。ステップS1800の演算では、まず、ステップS1810を実行する。
ステップS1810において、距離演算の動作を開始する。次に、ステップS1820を実行する。
ステップS1820において、温度補正を実行する。下記(数19)のように、温度特性を補正するために視差からTh*Th1-Th2を減ずる。温度が高くなると、レンズが膨張し、その分だけ光軸間の距離が大きくなることが予想される。そのため、温度による光軸間の大きさの変化をTh*Th1-Th2として予測し、減ずる。ここで、Thは、ステップS1030において、入力された温度センサ信号Thである。また、Th1、およびTh2は設定された係数である。次に、ステップS1830を実行する。
Figure 2007271301
ステップS1830において、歪曲補正を実行する。ブロック毎に歪曲の影響が異なるため、下記(数20)のように、歪曲を補正するための歪曲補正係数kcb(ibx,iby)(i)をあらかじめ用意し、視差Δ(ibx,iyb)(i)に乗ずることにより視差を補正する。例えば、樽型の歪曲を持つレンズを使用した場合、像高が低いブロック(光軸に近いブロック)と比較し、像高が高いブロック(光軸から遠いブロック)では、視差を大きくするように補正する。なお、歪曲強度係数kcb(ibx,iby)(i)は、検査工程などにおいて特定チャートを撮影し決定され、あるいは、あるいはレンズの設計値や検査された特性などから計算し求められ、EEPROMやフラッシュメモリに保存される。なお、各ブロックの係数を持たずに、代表点のみを持ち線形補間により歪曲強度係数kcb(ibx,iby)(i)を求めてもよい。また、近似式を策定しその係数のみを持ち、各ブロックの歪曲強度係数kcb(ibx,iby)(i)を作成してもよい。また、レンズの光軸のずれなどを校正するために、適宜、座標変換を行ってもよい。次に、ステップS1840を実行する。
Figure 2007271301
ステップS1840において、距離演算し、距離データを作成する。(数1)を距離Aについて解くと、下記(数21)のように示される。したがって、視差Δ(ibx,iby)(i)を持つブロックにおける被写体の距離A(ibx,iby)(i)は、下記(数22)のように演算される。次に、ステップS1850を実行する。
Figure 2007271301
Figure 2007271301
ステップS1850において、距離データA(ibx,iby)(i)を第2出力バッファ137bに転送する。次に、ステップS1860を実行する。
ステップS1860において、距離演算を終了し、上位ルーチンに戻る。次に、ステップS1900を実行する。
ステップS1900において、演算動作を終了し、上位ルーチンへ戻る。次に、ステップS1910を実行する。
以上のように構成し、動作させることにより、以下の効果を有する。
一組のレンズ部に対応した撮像信号において、それぞれの撮像信号の光軸中心を結ぶ直線に平行な意匠は、それぞれの撮像信号において同一形状となり視差を求めることができない。実施の形態1の撮像装置によれば、4つの組(第1の撮像信号I1と第2の撮像信号I2、第3の撮像信号I3と第4の撮像信号I4、第1の撮像信号I1と第3の撮像信号I3、および第2の撮像信号I2と第4の撮像信号)を選択し、それぞれの組に対しそれぞれの視差(Δ4f(1,2)(ibx,iby)(i)、Δ4(3,4)(ibx,iby)(i)、Δ4f(1,3)(ibx,iby)(i)、およびΔ4f(2,4)(ibx,iby)(i))を演算する。このことにより、片方の組で正しく視差を求められない意匠であっても、他方の組で正しく視差を求めることができ、その視差に基づき距離を計測できる。例えば、水平な線状の意匠は、水平に並べられた組(第1の撮像信号I1と第2の撮像信号I2、および第3の撮像信号I3と第4の撮像信号I4)からは計測できないが、鉛直に並べられた組(第1の撮像信号I1と第3の撮像信号I3、および第2の撮像信号I2と第4の撮像信号)では、計測可能である。すなわち、多様な被写体で距離計測できる。
また、実施の形態の撮像装置によれば、ステップS1220において、複数の前記視差の信頼度(E(1,2)(ibx,iby)(i)、E(3,4)(ibx,iby)(i)、E(1,3)(ibx,iby)(i)、およびE(2,4)(ibx,iby)(i))をそれぞれ演算し、それぞれのブロック((ibx,iby)とiとで示される)毎に、それぞれの視差(Δ4f(1,2)(ibx,iby)(i)、Δ4(3,4)(ibx,iby)(i)、Δ4f(1,3)(ibx,iby)(i)、およびΔ4f(2,4)(ibx,iby)(i))のうち信頼度が最も大きい視差Δ(ibx,iby)(i)に基づき距離を演算する。このことにより、信頼性が高い視差Δ(ibx,iby)(i)に基づき視差演算するため、信頼性が高い距離計測を可能とする。また、全ての組の視差(Δ4f(1,2)(ibx,iby)(i)、Δ4(3,4)(ibx,iby)(i)、Δ4f(1,3)(ibx,iby)(i)、およびΔ4f(2,4)(ibx,iby)(i))において距離演算を行わず、信頼性が高い視差(Δ(ibx,iby)(i))のみの距離演算を行うため、高速な距離計測を可能とする。
例えば、画像中に水平な線状の意匠と垂直な線状に意匠とが混在する場合、上述のように、ブロック毎に信頼度が最も大きい視差Δ(ibx,iby)(i)を用いることにより、水平な線状の意匠のみが含まれるブロックでは鉛直に並べられた組(第1の撮像信号I1と第3の撮像信号I3、および第2の撮像信号I2と第4の撮像信号)から求められた視差を用いて、鉛直な線状の意匠のみが含まれるブロックでは水平に並べられた組(第1の撮像信号I1と第2の撮像信号I2、および第3の撮像信号I3と第4の撮像信号)から求められた視差を用いて、距離を演算することにより、多様な被写体で距離計測できる。
また、実施の形態1の撮像装置によれば、温度センサ126により周囲温度を示す計測温度を計測し、温度センサ信号Thとして入力し、ステップS1820において(数19)のように、温度変化によるレンズの変形の影響を、視差からTh*Th1-Th2を減ずることにより補償し、補償された視差を用いて距離を演算する。このことにより、温度変化によってレンズが変形しても、正しい距離計測ができる。
また、実施の形態1の撮像装置によれば、ステップS1830において(数20)のように、ブロック毎のレンズ部の歪曲の影響を示す歪曲補正係数kcb(ibx,iby)(i)を用いて視差を補償し、補償された視差を用いて距離を演算する。このことにより、レンズに歪曲があっても、正しい距離計測ができる。
また、実施の形態1の撮像装置によれば、ステップS1220における第1の撮像信号I1と第2の撮像信号I2による視差演算、およびステップS1230における第3の撮像信号I3と第4の撮像信号I4による視差演算では、ブロック毎に視差演算するにあたり、水平方向に順に演算を行う。このため、第2の演算バッファBc2への転送の際、ブロックインデックスib=1のとき、図14の右斜上の斜線と右斜下の斜線とが重なる部分は、すでに第2の演算バッファBc2に転送されているため、転送を省略でき、高速に視差演算できる。すなわち、高速に距離計測できる。また、ステップS1240における第1の撮像信号I1と第3の撮像信号I3による視差演算、およびステップS1250における第2の撮像信号I2と第4の撮像信号I4による視差演算では、ブロック毎に視差演算するにあたり、鉛直方向に順に演算を行う。このため、第2の演算バッファBc2への転送の際、ブロックインデックスib=1のとき、図23の右斜上の斜線と右斜下の斜線とが重なる部分は、すでに第2の演算バッファBc2に転送されているため、転送を省略でき、高速に視差演算できる。すなわち、高速に距離計測できる。
実施の形態1の撮像装置によれば、4x4画素のブロック毎に演算された視差評価値R4(i)(k)を用いて8x8画素のブロック毎の視差評価値R8(i)(k)を演算し、8x8画素のブロック毎の視差評価値R8(i)(k)を用いて16x16画素のブロック毎の視差評価値R16(i)(k)を演算し、16x16画素のブロック毎の視差評価値R16(i)(k)を用いてR32(0)(k)を演算する。このことにより、結合したブロック(結合ブロック)で独自に視差評価値(結合視差評価値)を演算するときと比較し、結合したブロック(結合ブロック)での視差評価値(結合視差評価値)の演算量を減少でき、高速に視差演算できるため、高速に距離演算できる。
また、実施の形態1の撮像装置によれば、ステップS1330、およびステップS1430において4x4画素の各ブロックの視差Δ4(i)の信頼度E4(i)を演算し、ステップS1335、およびステップS1435において8x8画素の各ブロックの視差Δ8(i)の信頼度E8(i)を演算し、ステップS1340、およびステップS1440において16x16画素の各ブロックの視差Δ16(i)の信頼度E16(i)を演算し、ステップS1345、およびステップS1445において32x32画素のブロックの視差Δ32(0)の信頼度E32(0)を演算し、ステップS1350、およびステップS1450において最も信頼度が大きいものを最終的な視差Δ4f(i)とし、この視差Δ4f(i)に基づき得られた視差Δ(ibx,iby)(i)を用いて、距離演算を行う。そのため、信頼性が高い視差に基づき視差演算をするため、信頼性が高い距離計測を可能とする。また、信頼性が高い視差のみの距離演算を行うため、高速な距離計測を可能とする。
(実施の形態2)
本発明の実施の形態1に係る撮像装置は、互いに水平に離れて配置されたレンズ部が結像する被写体像に対応した撮像信号(第1の撮像信号I1と第2の撮像信号I2、第3の撮像信号I3と第4の撮像信号)と、お互いに鉛直に離れて配置されたレンズ部が結像する被写体像に対応した撮像信号(第1の撮像信号I1と第3の撮像信号I3、第2の撮像信号I2と第4の撮像信号)と、に基づき視差を演算し、この視差に基づき距離を演算した。実施の形態2に係る撮像装置は、互いに対角に離れて配置されたレンズが結像する被写体像に基づき視差を演算し、この視差に基づき距離を演算する。
本発明の実施の形態2に係る撮像装置について、図面を参照しながら説明する。
図27は、本発明の実施の形態2に係る撮像装置の構成を示す断面図である。図27において、撮像装置撮像装置は、レンズモジュール部210、および回路部220を有する。
レンズモジュール部110は、鏡筒111、上部カバーガラス112、およびレンズ113を有する。回路部220は、基板121、パッケージ122、撮像素子123、パッケージカバーガラス224、システムLSI(以下、SLSIと記す)225、および温度センサ126を有する。
鏡筒111、上部カバーガラス112、レンズ113は、実施の形態1と同様であり、説明を省略する。
基板121、パッケージ122、撮像素子123は、実施の形態1と同様であり、説明を省略する。
図28は、本発明の実施の形態2に係る撮像装置の回路部の上面図である。パッケージカバーガラス224は、平板状であり、透明樹脂により形成され、パッケージ122の上面に接着などにより固着される。パッケージカバーガラス224の上面には、第1のカラーフィルタ224a、第2のカラーフィルタ224b、第3のカラーフィルタ224c、第4のカラーフィルタ224d、および遮光部124eが蒸着などにより配置される。また、パッケージカバーガラス124の下面には、反射防止膜が蒸着などにより配置される。
図29は、本発明の実施の形態2に係るカメラモジュールのカラーフィルタの特性図である。第1のカラーフィルタ224aは、図29のGで示した主に緑色光を透過する分光透過特性を有し、第2のカラーフィルタ224bは、図29のIRで示した主に近赤外光を透過する分光透過特性を有し、第3のカラーフィルタ224cは、図29のIRで示した主に近赤外光を透過する分光透過特性を有し、第4のカラーフィルタは、図29のGで示した主に緑色光を透過する分光透過特性を有する。
したがって、第1のレンズ部113aの上部から入射した物体光は、第1のレンズ部113aの下部から射出され、第1のカラーフィルタ224aにより主に緑色光が透過し、第1の撮像素子123aの受光部に結像するため、第1の撮像素子123aは物体光のうち緑色光成分を受光する。また、第2のレンズ部113bの上部から入射した物体光は、第2のレンズ部113bの下部から射出され、第2のカラーフィルタ224b主に近赤外光が透過し、第2の撮像素子123bの受光部に結像するため、第2の撮像素子123bは物体光のうち近赤外光成分を受光する。また、第3のレンズ部113cの上部から入射した物体光は、第3のレンズ部113cの下部から射出され、第3のカラーフィルタ224cにより主に近赤外光が透過し、第3の撮像素子123cの受光部に結像するため、第3の撮像素子123cは物体光のうち近赤外光成分を受光する。更に、第4のレンズ部113dの上部から入射した物体光は、第4のレンズ部113dの下部から射出され、第4のカラーフィルタ224dにより主に緑色光が透過し、第4の撮像素子123dの受光部に結像するため、第4の撮像素子123dは物体光のうち緑色光成分を受光する。
SLSI225は、後述の方法で、撮像素子123を駆動し、撮像素子123からの電気情報を入力し、各種演算を行い、上位CPUと通信を行い、外部に画像情報や距離情報などを出力する。なお、SLSI225は、電源(例えば3.3V)とグランド(例えば、0V)に接続される。
温度センサ126は、実施の形態1と同様であり、説明を省略する。
次に、本発明の実施の形態2に係る撮像装置の動作を説明する。図30は、本発明の実施の形態2に係る撮像装置のブロック図である。SLSI225は、システム制御部231、撮像素子駆動部132、撮像信号入力部133、前処理部134、入力バッファ135、演算部236、出力バッファ137、入出力部138、および温度センサ信号入力部139を有する。入力バッファ135は、第1の入力バッファ135a、第2の入力バッファ135b、第3の入力バッファ135c、および第4の入力バッファ135dを有する。演算部236は、演算部バッファ241、視差演算部242、および距離演算部143を有する。演算部バッファ241は、第1の演算部バッファ241a、および第2の演算部バッファ241bを有する。出力バッファ137は、第1の出力バッファ137a、および第2の出力バッファ137bを有する。
システム制御部231は、CPU(中央演算処理装置:Central Processing Unit)、ロジック回路などから構成され、SLSI225の全体を制御する。
撮像素子駆動部132、撮像信号入力部133、および入力バッファ135aは、実施の形態1と同様であり、説明を省略する。
演算部236は、SRAMから構成された第1の演算バッファ241a、第2の演算バッファ241bと、ロジック回路やCPUなどから構成された視差演算部242と、ロジック回路やCPUなどから構成された距離演算部143と、から構成される。演算部236は、第1の撮像信号I1、第2の撮像信号I2、第3の撮像信号I3、および第4の撮像信号I4をブロック単位で読み込み第1の演算バッファ241a、第2の演算バッファ241bに保存し、視差演算部242において第1の演算バッファ241a、および第2の演算バッファ241bのデータなどに基づき視差を演算し、距離演算部143において求められた視差に基づき距離を演算し、求められた距離データを出力バッファ137に転送する。
出力バッファ137、入出力部138、および温度センサ信号入力部139は、実施の形態1と同様であり、説明を省略する。図31は、本発明の実施の形態1に係る撮像装置の動作を示すフローチャートである。SLSI225のシステム制御部231により、撮像装置201は、このフローチャートのとおりに動作される。
ステップS2010において、動作を開始する。例えば、上位CPU(図示せず)が、入出力部136を介し、撮像装置201に動作の開始を命令することにより、撮像装置201は、動作を開始する。次に、ステップS1020を実行する。
ステップS1020は、実施の形態1と同様であり、説明を省略する。次に、ステップS1030を実行する。
ステップS1030は、実施の形態1と同様であり、説明を省略する。次に、ステップS1040を実行する。
ステップS1040は、実施の形態1と同様であり、説明を省略する。次に、ステップS2100を実行する。
ステップS2100において、距離データを作成し、順次、第2の出力バッファ137bに転送する。この動作の詳細は後述する。次に、ステップS1910を実行する。
ステップS1910は、実施の形態1と同様であり、説明を省略する。次に、S1920を実行する。
ステップS1920において、動作を終了するかどうかを判断する。例えば、システム制御部231は、入出力部136を介し、上位CPU(図示せず)と通信し、動作を終了するかどうかの命令を要求する。そして、上位CPUが終了を命令すれば動作を終了し、次に、ステップS2930を実行する。一方、上位CPUが終了を命令しなければ動作を継続し、次に、ステップS1020を実行する。すなわち、上位CPUが終了を命令しない限り、ステップS1020、ステップS1030、ステップS1040、ステップS2100、およびステップS1910のループの実行を継続する。
ステップS2930において、動作を終了する。
次に、ステップS2100における動作の詳細を説明する。図32は、本発明の実施の形態2に係る撮像装置の演算部の動作を示すフローチャートである。図31のフローチャートは、ステップS2100の動作の詳細を示す。ステップS2100の演算では、まず、ステップS2110を実行する。
ステップS2110において、演算の動作を開始する。次に、ステップS2200を実行する。
ステップS2200において、視差演算を実行する。図33は、本発明の実施の形態2に係る撮像装置の視差演算の動作を示すフローチャートである。図33のフローチャートは、ステップS2200の動作の詳細を示す。ステップS2200の演算では、まず、ステップS2210を実行する。
ステップS2210において、視差演算の動作を開始する。次に、ステップS2220を実行する。
ステップS2220において、第1の撮像信号と第4の撮像信号とを利用した視差演算を実行する。図34は、本発明の実施の形態2に係る撮像装置の第1の撮像信号と第4の撮像信号とを利用した視差演算の動作を示すフローチャートである。図34のフローチャートは、ステップS2220の動作の詳細を示す。ステップS2220の演算では、まず、ステップS2310を実行する。
ステップS2310において、第1の撮像信号と第4の撮像信号とを利用した視差演算の動作を開始する。次に、ステップS2315を実行する。
ステップS2315において、ブロックインデックスibに0に初期化する。次に、ステップS2320を実行する。
ステップS2320において、ブロックを選択する。図35は、本発明の実施の形態2に係る撮像装置の第1の撮像信号と第4の撮像信号とを利用した視差演算における第1の撮像信号の分割ブロックと演算順番を説明する図であり、図36は、本発明の実施の形態2に係る撮像装置の第1の撮像信号と第4の撮像信号とを利用した視差演算における第4の撮像信号の分割ブロックと演算順番を説明する図である。図35において、第1の撮像信号I1は、x方向にHB画素、y方向にVB画素の長方形状のブロックに分割され、x方向にHB画素、y方向にVB画素ずれて配置され、x方向にNh個、y方向にNv個のブロックを持つ。そのため、各ブロックはx方向、y方向ともに重なる部分はない。図36おいて、第4の撮像信号I4は、図36(b)のような(HB+SB)*(VB+SB)-SB*SB画素のブロックに分割され、x方向にHB画素、y方向にVB画素ずれて配置され、x方向にNh個、y方向にNv個のブロックを持つ。また、図36において、図36(b)のようなブロックを取れないブロック(例えば、右上や右下や左下のブロック)は、適宜取れない部分が削除される(例えば、右上のブロックはHB*VBの長方形状のブロックとなる)。なお、実施の形態2では、以下、HB=32、VB=32の例を示す。
図35、および図36において、各ブロックの上段に記述された数字はブロックインデックスibを示す。また、図35、および図36おいて、各ブロックの下段に記述された座標(ibx、iby)は、各ブロックがx方向にibx番目、y方向にiby番目のブロックであることを示す。ここで、ibxは0からNh−1まで、ibyは0からVh−1まで存在する。ステップS2320において、図35、および図36において、ブロックインデックスibで示されるブロック(座標(ibx、iby)で示されるブロック)が選択される。次に、ステップS2325を実行する。
ステップS2325において、撮像信号を転送する。ステップS2320において、選択されたブロックの第1の撮像信号I1を第1の演算バッファBc1に転送する。演算バッファの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。ステップS1320において、選択されたブロックの第2の撮像信号I2を第2の演算バッファBc2に転送する。演算バッファの座標(x,y)における値をBc2(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31+SB、y=0〜31+SBである。例えば、ib=ibtのとき、第1の演算バッファBc1には、座標(0,0)と座標(31,31)とで囲まれる1024画素の撮像信号I1が転送され、第2の演算バッファBc2には、図36において右斜下となる斜線が描かれた座標(0,0)と座標(31+SB,31+SB)とで囲まれる(1024+2*32*SB)画素の撮像信号I4が転送される。次に、ib=ibt+1のとき、第1の演算バッファBc1には、座標(32,32)と座標(63,63)とで囲まれる1024画素の撮像信号I1が転送され、第2の演算バッファBc2には、図36において右斜下となる斜線が描かれた座標(32,32)と座標(63+SB,63+SB)とで囲まれる(1024+2*32*SB)画素の撮像信号I4が必要だが、ib=ibtと重なる部分(座標(32,32)と座標(31+SB,31+SB)で囲まれる2*32*SB画素の領域)はすでに第2の演算バッファBc2に転送されているため、新たに座標(32+SB,32+SB)と座標(63+SB,63+SB)とで囲まれる2048画素のみを転送すればよい。次に、ステップS2330を実行する。
ステップS2330において、4x4画素の視差演算を実行する。まず、図15のように、第1の演算バッファBc1をx方向に4画素、y方向に4画素の大きさブロックに分割する。すなわち、x方向に8個、y方向に8個のブロックに分割する。
そして、各ブロック(B4(0)、B4(1)、B4(2)、・・・、B4(63))毎に、4x4画素の視差評価値R4(0)(k)、R4(1)(k)、R4(2)(k)、・・・、R4(63)(k)、を演算する。ここで、kは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。図37は、本発明の実施の形態2に係る撮像装置において、第1の撮像信号と第4の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の演算領域を説明する図である。図37のように、I番目のブロックB4(i)(Bc1で示される領域)は、第1の演算バッファの4x4画素の大きさに分割されたi番目のブロックである。Bc2で示される領域は、図37においてBc1で示されるブロックからx方向にずらし量kだけ、y方向にずらし量kだけ移動した領域である。そして、ずらし量k=0からSBについて、下記(数23)に示される絶対値差分総和(SAD)を演算し、i番目のブロックB4(i)の視差評価値R4(i)(k)とする。
Figure 2007271301
この視差評価値R4(i)(k)は、i番目のブロックB4(i)の第1の演算バッファのデータBc1と、x方向にkだけ、y方向にkだけ離れた領域における第2の演算バッファBc2がどれだけ相関があるかを示し、値が小さいほど相関が大きい(よく似ている)ことを示す。ここで、第1の演算バッファのデータBc1は、第1の撮像信号I1を転送したものであり、第2の演算バッファのデータBc2は、第2の撮像信号I2を転送したものであるため、視差評価値R4(i)(k)は、第1の撮像信号I1と対応する第2の撮像信号I2とがどれだけ相関があるかを示す。
図17のように、視差評価値R4(i)(k)はずらし量kの値によって変化し、ずらし量k=Δ4(i)のとき極小値を持つ。第1の演算バッファのデータBc1のi番目のブロックB4(i)のデータは、第1の演算バッファのデータBc1のi番目のブロックB4(i)をx方向にkだけ移動した領域に存在する第2の演算バッファBc2のデータと最も相関がある(最も似ている)ことを示す。したがって、ブロックB4(i)についての第1の演算バッファのデータBc1と第2の演算バッファのデータBc2とのx方向の視差がΔ4(i)であることが分かる。ここで、このΔ4(i)をブロックB4(i)の視差値Δ4(i)と呼ぶ。このように、i=0、1、2、・・・、63までブロックB4(i)の視差値Δ4(i)を求める。
次に、ブロックB4(i)の視差値Δ4(i)の信頼度を演算する。図38は、本発明の実施の形態2に係る撮像装置において、第1の撮像信号と第4の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の信頼度の演算領域を説明する図である。B4(i)で示される(Bc1としても示されている)領域は、図15におけるi番目の4x4画素のブロックである。Bc2で示される領域は、Biをx方向にΔ4(i)だけ移動した領域である。そして、下記(数24)のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ4(i),y+Δ4(i))について、正規化相関係数を4x4画素のブロックB4(i)の信頼度E4(i)とする。次に、ステップS2335を実行する。
Figure 2007271301
ステップS2335において、8x8画素の視差演算を実行する。図19のように、第1の演算バッファBc1をx方向に8画素、y方向に8画素の大きさブロックに分割する。すなわち、x方向に4個、y方向に4個のブロックに分割する。
そして、各ブロック(B8(0)、B8(1)、B8(2)、・・・、B8(15))毎に、8x8画素の視差評価値R8(0)(k)、R8(1)(k)、R8(2)(k)、・・・、R8(15)(k)、を演算する。ここで、kは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。下記(数25)のように、4x4画素の視差評価値R4(0)(k)、R4(1)(k)、R4(2)(k)、・・・、R4(63)(k)を利用し、8x8画素の視差評価値R8(0)(k)、R8(1)(k)、R8(2)(k)、・・・、R8(15)(k)を演算する。(数23)と同様に、誤差絶対値総和(SAD)を演算してもと同一の結果となるが、(数25)のように、8x8画素のブロックに含まれる4つの4x4画素のブロックの誤差絶対値総和の和を利用すると、その分だけ演算量を減少できるため、低コストな回路での動作が可能となる。
Figure 2007271301
次に、8x8画素のi番目のブロックB8(i)の視差量Δ8(i)を求める。4x4画素のi番目のブロックB4(i)の視差量Δ4(i)を求めたときと同様に、視差評価値R8(i)(k)の極小値を与えるkを視差量Δ8(i)とする。
次に、ブロックB8(i)の視差値Δ8(i)の信頼度を演算する。4x4画素のi晩目のブロックB4(i)の信頼度E4(i)を求めたときと同様に、下記(数26)のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ8(i),y+Δ8(i))の正規化相関係数を8x8画素のブロックB8(i)の信頼度E8(i)とする。次に、ステップS2340を実行する。
Figure 2007271301
ステップS2340において、16x16画素の視差演算を実行する。まず、図20のように、第1の演算バッファBc1をx方向に16画素、y方向に16画素の大きさブロックに分割する。すなわち、x方向に2個、y方向に2個のブロックに分割する。
そして、各ブロック(B16(0)、B16(1)、B16(2)、B16(3))毎に、16x16画素の視差評価値R16(0)(k)、R16(1)(k)、R16(2)(k)、R16(3)(k)、を演算する。ここで、kは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。下記(数26)のように、8x8画素の視差評価値R8(0)(k)、R8(1)(k)、R8(2)(k)、・・・、R8(15)(k)を利用し、16x16画素の視差評価値R16(0)(k)、R16(1)(k)、R16(2)(k)、R16(3)(k)を演算する。(数23)と同様に、誤差絶対値総和(SAD)を演算してもと同一の結果となるが、(数27)のように、16x16画素のブロックに含まれる4つの8x8画素のブロックの誤差絶対値総和の和を利用すると、その分だけ演算量を減少できるため、低コストな回路での動作が可能となる。
Figure 2007271301
次に、16x16画素のi番目のブロックB16(i)の視差量Δ16(i)を求める。4x4画素のi番目のブロックB4(i)の視差量Δ4(i)を求めたときと同様に、視差評価値R16(i)(k)の極小値を与えるkを視差量Δ16(i)とする。
次に、ブロックB16(i)の視差値Δ16(i)の信頼度を演算する。4x4画素のi晩目のブロックB4(i)の信頼度E4(i)を求めたときと同様に、下記(数27)のように、それぞれの領域のデータBc1(x,y)、Bc2(x+Δ16(i),y+Δ16(i))の正規化相関係数を16x16画素のブロックB16(i)の信頼度E16(i)とする。次に、ステップS2345を実行する。
Figure 2007271301
ステップS2345において、32x32画素の視差演算を実行する。まず、図21のように、第1の演算バッファBc1をx方向に32画素、y方向に32画素の大きさブロックとする。すなわち、分割を行わない。
そして、ブロックB32(0)の32x32画素の視差評価値R32(0)(k)を演算する。ここで、kは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。下記(数28)のように、16x16画素の視差評価値R16(0)(k)、R16(1)(k)、R16(2)(k)、R16(3)(k)を利用し、32x32画素の視差評価値R32(0)(k)を演算する。(数23)と同様に、誤差絶対値総和(SAD)を演算してもと同一の結果となるが、(数29)のように、32x32画素のブロックに含まれる4つの16x16画素のブロックの誤差絶対値総和の和を利用すると、その分だけ演算量を減少できるため、低コストな回路での動作が可能となる。
Figure 2007271301
次に、32x32画素のブロックB32(0)の視差量Δ32(0)を求める。4x4画素のi番目のブロックB4(i)の視差量Δ4(i)を求めたときと同様に、視差評価値R32(0)(k)の極小値を与えるkを視差量Δ32(0)とする。
次に、ブロックB32(0)の視差値Δ32(0)の信頼度を演算する。4x4画素のi晩目のブロックB4(i)の信頼度E4(i)を求めたときと同様に、下記(数30)のように、それぞれの領域のデータBc1(x,y)、Bc2(x-Δ32(0),y)の正規化相関係数を32x32画素のブロックB32(0)の信頼度E32(0)とする。次に、ステップS2350を実行する。
Figure 2007271301
ステップS1350において、信頼度に基づき視差を決定する。図15におけるi番目の4x4画素のブロックB4(i)を含む全てのブロック(B4(i), B8(i), B16(i), B32(0))の信頼度E4(i)、E8(i)、E16(i)、E32(0)のうち最大値を与えるものの視差(Δ4(i)、Δ8(i)、Δ16(i)、Δ32(i)のうち対応するもの)を、このブロックの最終的な視差Δf4(1,4)(ibx,iby)(i)とし、保存する。ここで、(ibx,iby)は図35の各ブロックの下段に示される座標である。また、このときの最大値を与えた信頼度(E4(i)、E8(i)、E16(i)、E32(0)のうち対応するもの)をこのブロックの最終的な信頼度Ef4(1,4)(ibx,iby)(i)として、保存する。このようにして、第1の撮像信号と第4の撮像信号とを利用した視差演算において、ブロックインデックスibで示される32x32画素のブロックについて、4x4画素の分解能で視差量Δf4(1,4)(ibx,iby)(i)とその信頼度Ef4(1,4)(ibx,iby)(i)とが求められた。次に、ステップS2355を実行する。
ステップS2355において、ブロックインデックスibに1を加える。次に、ステップS2360を実行する。
ステップS2360において、第1の撮像信号と第4の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスibがNh*Nv未満のとき、次のブロックの視差を演算するために、次に、ステップS2320を実行する。一方、ブロックインデックスibがNh*Nv以上のとき、全てのブロックの視差を演算したと判断し、次に、ステップS2365を実行する。
ステップS2365において、第1の撮像信号と第4の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。このようにして、第1の撮像信号と第2の撮像信号とを利用した視差演算において、ブロックインデックスibで示される32x32画素のブロックについて、4x4画素の分解能で視差量Δf4(1,4)(ibx,iby)(i)とその信頼度Ef4(1,4)(ibx,iby)(i)とが求められた。ここで、(1,4)は第1の撮像信号と第4の撮像信号とを利用していることを示し、(ibx,iyb)は図35の各ブロックの下段に示される座標であり(ibxは0からNh−1まで変化し、ibyは0からNv−1まで変化する)、iは32x32画素のうちの4x4画素のブロックを示す(iは、0〜63まで変化する)。次に、図33のステップS2230を実行する。
ステップS2230において、第2の撮像信号と第3の撮像信号とを利用した視差演算を実行する。図39は、本発明の実施の形態2に係る撮像装置の第2の撮像信号と第3の撮像信号とを利用した視差演算の動作を示すフローチャートである。図39フローチャートは、ステップS2230の動作の詳細を示す。ステップS2230の演算では、まず、ステップS2410を実行する。
ステップS2410において、第2の撮像信号と第3の撮像信号とを利用した視差演算の動作を開始する。次に、ステップS2415を実行する。
ステップS2415において、ブロックインデックスibに0に初期化する。次に、ステップS2420を実行する。
ステップS2420において、ブロックを選択する。第2の撮像信号のブロック分割は、ステップS2320の第1の撮像信号のブロック分割と同様であり、説明を省略する。図40は、本発明の実施の形態2に係る撮像装置の第2の撮像信号と第3の撮像信号とを利用した視差演算における第3の撮像信号の分割ブロックと演算順番を説明する図である。図40において、第3の撮像信号I3は、図40(b)のような(HB+SB)*(VB+SB)-SB*SB画素のブロックに分割され、x方向にHB画素、y方向にVB画素ずれて配置され、x方向にNh個、y方向にNv個のブロックを持つ。また、図40において、図40(b)のようなブロックを取れないブロック(例えば、左上や右下や左下のブロック)は、適宜取れない部分が削除される(例えば、左上のブロックはHB*VBの長方形状のブロックとなる)。なお、実施の形態2では、以下、HB=32、VB=32の例を示す。
図35、および図40において、各ブロックの上段に記述された数字はブロックインデックスibを示す。また、図35、および図40おいて、各ブロックの下段に記述された座標(ibx、iby)は、各ブロックがx方向にibx番目、y方向にiby番目のブロックであることを示す。ここで、ibxは0からNh−1まで、ibyは0からVh−1まで存在する。ステップS2320において、図35、および図40において、ブロックインデックスibで示されるブロック(座標(ibx、iby)で示されるブロック)が選択される。次に、ステップS2425を実行する。
ステップS2425において、撮像信号を転送する。ステップS2420において、選択されたブロックの第2の撮像信号I2を第1の演算バッファBc1に転送する。演算バッファの座標(x,y)における値をBc1(x,y)とする。ここで、HB=32、VB=32であるため、x=0〜31、y=0〜31である。ステップS2420において、選択されたブロックの第3の撮像信号I2を第2の演算バッファBc2に転送する。演算バッファの座標(x,y)における値をBc2(x,y)とする。ここで、HB=32、VB=32であるため、x=31-SB〜31、y=0〜31+SBである。例えば、ib=ibtのとき、第1の演算バッファBc1には、座標(H1-1,0)と座標(H1-32,31)とで囲まれる1024画素の撮像信号I1が転送され、第2の演算バッファBc2には、図40において右斜上となる斜線が描かれた座標(H1-10,0)と座標(H1-32-SB,31+SB)とで囲まれる(1024+2*32*SB)画素の撮像信号I3が転送される。次に、ib=ibt+1のとき、第1の演算バッファBc1には、座標(H1-33,32)と座標(H1-64,63)とで囲まれる1024画素の撮像信号I1が転送され、第2の演算バッファBc2には、図40において右斜上となる斜線が描かれた座標(H1-33,32)と座標(H1-64-SB,63+SB)とで囲まれる(1024+2*32*SB)画素の撮像信号I3が必要だが、ib=ibtと重なる部分(座標(H1-33,32)と座標(H1-32-SB,31+SB)で囲まれる2*32*SB画素の領域)はすでに第2の演算バッファBc2に転送されているため、新たに座標(H1-33-SB,31+SB)と座標(H1-64-SB,63+SB)とで囲まれる2048画素のみを転送すればよい。次に、ステップS2430を実行する。
ステップS2430において、4x4画素の視差演算を実行する。まず、ステップS1330と同様に、図15のように、第1の演算バッファBc1をx方向に4画素、y方向に4画素の大きさブロックに分割する。すなわち、x方向に8個、y方向に8個のブロックに分割する。
そして、各ブロック(B4(0)、B4(1)、B4(2)、・・・、B4(63))毎に、4x4画素の視差評価値R4(0)(k)、R4(1)(k)、R4(2)(k)、・・・、R4(63)(k)、を演算する。ここで、kは画像をどれだけずらすかを示すずらし量であり、k=0、1、2、・・・、SBのように変化させる。図41は、本発明の実施の形態2に係る撮像装置において、第2の撮像信号と第3の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の演算領域を説明する図である。図41のように、i番目のブロックB4(i)(Bc1で示される領域)は、第1の演算バッファの4x4画素の大きさに分割されたi番目のブロックである。Bc2で示される領域は、図41においてBc1で示されるブロックからy方向にずらし量kだけ移動した領域である。そして、ずらし量k=0からSBについて、下記(数31)に示される絶対値差分総和(SAD)を演算し、i番目のブロックB4(i)の視差評価値R4(i)(k)とする。
Figure 2007271301
この視差評価値R4(i)(k)は、i番目のブロックB4(i)の第1の演算バッファのデータBc1と、y方向にkだけ離れた領域における第2の演算バッファBc2がどれだけ相関があるかを示し、値が小さいほど相関が大きい(よく似ている)ことを示す。ここで、第1の演算バッファのデータBc1は、第2の撮像信号I2を転送したものであり、第2の演算バッファのデータBc2は、第3の撮像信号I3を転送したものであるため、視差評価値R4(i)(k)は、第2の撮像信号I2と対応する第3の撮像信号I3とがどれだけ相関があるかを示す。
そして、S2330と同様に、視差評価値R4(i)(k)はずらし量kの値によって変化し、ずらし量k=Δ4(i)のとき極小値を持つ。第1の演算バッファのデータBc1のi番目のブロックB4(i)のデータは、第1の演算バッファのデータBc1のi番目のブロックB4(i)をx方向、y方向にkだけ移動した領域に存在する第2の演算バッファBc2のデータと最も相関がある(最も似ている)ことを示す。したがって、ブロックB4(i)についての第1の演算バッファのデータBc1と第2の演算バッファのデータBc2とのx方向の視差がΔ4(i)であることが分かる。ここで、このΔ4(i)をブロックB4(i)の視差値Δ4(i)と呼ぶ。このように、i=0、1、2、・・・、63までブロックB4(i)の視差値Δ4(i)を求める。
次に、ブロックB4(i)の視差値Δ4(i)の信頼度を演算する。図42は、本発明の実施の形態2に係る撮像装置において、第2の撮像信号と第3の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の信頼度の演算領域を説明する図である。B4(i)で示される(Bc1としても示されている)領域は、図15におけるi番目の4x4画素のブロックである。Bc2で示される領域は、Biをx方向、y方向にΔ4(i)だけ移動した領域である。そして、下記(数32)のように、それぞれの領域のデータBc1(x,y)、Bc2(x-Δ4(i),y+Δ4(i))について、正規化相関係数を4x4画素のブロックB4(i)の信頼度E4(i)とする。次に、ステップS2435を実行する。
Figure 2007271301
ステップS2435において、8x8画素の視差演算を実行する。このステップは、ステップS2335と同様に、視差量Δ8(i)を求める。そして、下記(数33)のように、それぞれの領域のデータBc1(x,y)、Bc2(x-Δ8(i),y+Δ8(i))の正規化相関係数を8x8画素のブロックB8(i)の信頼度E8(i)とする。次に、ステップ2440を実行する。
Figure 2007271301
ステップS2440において、16x16画素の視差演算を実行する。このステップは、ステップS2340と同様に、視差量Δ16(i)を求める。そして、下記(数34)のように、それぞれの領域のデータBc1(x,y)、Bc2(x-Δ16(i),y+Δ16(i))の正規化相関係数を16x16画素のブロックB16(i)の信頼度E16(i)とする。次に、ステップS2445を実行する。
Figure 2007271301
ステップS2445において、32x32画素の視差演算を実行する。このステップは、ステップS2345と同様に、視差量Δ32(0)を求める。そして、下記(数35)のように、それぞれの領域のデータBc1(x,y)、Bc2(x-Δ32(0),y+Δ32(0))の正規化相関係数を32x32画素のブロックB32(0)の信頼度E32(0)とする。次に、ステップS2450を実行する。
Figure 2007271301
ステップS2450において、信頼度に基づき視差を決定する。図15におけるi番目の4x4画素のブロックB4(i)を含む全てのブロック(B4(i), B8(i), B16(i), B32(0))の信頼度E4(i)、E8(i)、E16(i)、E32(0)のうち最大値を与えるものの視差(Δ4(i)、Δ8(i)、Δ16(i)、Δ32(i)のうち対応するもの)を、このブロックの最終的な視差Δf4(2,3)(ibx、iby)(i)とし、保存する。ここで、(ibx,iby)は、図40の各ブロックの下段に示された座標である。また、このときの最大値を与えた信頼度(E4(i)、E8(i)、E16(i)、E32(0)のうち対応するもの)をこのブロックの最終的な信頼度Ef4(2,3)(ibx,iby)(i)として、保存する。このようにして、第2の撮像信号と第3の撮像信号とを利用した視差演算において、座標(ibx,iby)で示される32x32画素のブロックについて、4x4画素の分解能で視差量Δf4(2,3)(ibx,iby)(i)とその信頼度Ef4(2,3)(ibx,iby)(i)とが求められた。次に、ステップS2455を実行する。
ステップS2455において、ブロックインデックスibに1を加える。次に、ステップS2460を実行する。
ステップS2460において、第2の撮像信号と第3の撮像信号とを利用した視差演算を終了するかどうかを判断する。ブロックインデックスibがNh*Nv未満のとき、次のブロックの視差を演算するために、次に、ステップS1420を実行する。一方、ブロックインデックスibがNh*Nv以上のとき、全てのブロックの視差を演算したと判断し、次に、ステップS2465を実行する。
ステップS2465において、第2の撮像信号と第3の撮像信号とを利用した視差演算を終了し、上位ルーチンへ戻る。このようにして、第2の撮像信号と第3の撮像信号とを利用した視差演算において、図40の下段に示された座標(ibx,iby)で示される32x32画素のブロックについて、4x4画素の分解能で視差量Δf4(2,3)(ibx,iby)(i)とその信頼度Ef4(2,3)(ibx,iby)(i)とが求められた。ここで、(2,3)は第2の撮像信号と第3の撮像信号とを利用していることを示し、(ibx,iby)は図40の下段に示された座標であり(ibxは0からNh−1まで変化し、ibyはNv−1まで変化する)、iは32x32画素のうちの4x4画素のブロックを示す(iは、0〜63まで変化する)。次に、図11のステップS2260を実行する。
ステップS2260において、視差を選択する。それぞれのブロックに対し、信頼度E(1,4)(ibx,iby)(i)、およびE(2,3)(ibx,iby)(i)を比較し、最大の信頼度を与える視差をそのブロックでの視差Δ(ibx,iby)(i)とする。次に、ステップS2270を実行する。
ステップS2270において、視差演算を終了し、上位ルーチンへ戻る。このようにして、各ブロックにおける視差Δ(ibx,iby)(i)が求められた。ここで、図40のように、(ibx,iby)は各ブロックの下段に示された座標であり、ibxは0からNh−1まで変化し、ibyは0からNv−1まで変化する。また、iは32x32画素のうちの4x4画素のブロックを示し、図15のように、0〜63まで変化する。次に、ステップS1800を実行する。
ステップS1800において、実施の形態1と同様であり、説明を省略する。次に、ステップS2900を実行する。
ステップS2900において、演算動作を終了し、上位ルーチンへ戻る。次に、ステップS1910を実行する。
以上のように構成し、動作させることにより、以下の効果を有する。
一組のレンズ部に対応した撮像信号において、それぞれの撮像信号の光軸中心を結ぶ直線に平行な意匠は、それぞれの撮像信号において同一形状となり視差を求めることができない。実施の形態2の撮像装置によれば、2つの組(第1の撮像信号I1と第4の撮像信号I4、および第2の撮像信号I2と第3の撮像信号I3)を選択し、それぞれの組に対しそれぞれの視差(Δ4f(1,4)(ibx,iby)(i)、およびΔ4(2,3)(ibx,iyb)(i))を演算する。このことにより、片方の組で正しく視差を求められない意匠であっても、他方の組で正しく視差を求めることができ、その視差に基づき距離を計測できる。例えば、右斜下の線状の意匠は、第1の撮像信号I1と第4の撮像信号I2の組からは計測できないが、第2の撮像信号I2と第3の撮像信号I3の組では、計測可能である。すなわち、多様な被写体で距離計測できる。
また、実施の形態2の撮像装置によれば、ステップS2220において、複数の前記視差の信頼度(E(1,4)(ibx,iby)(i)、およびE(2,3)(ibx,iby)(i))をそれぞれ演算し、それぞれのブロック((ibx,iby)とiとで示される)毎に、それぞれの視差(Δ4f(1,4)(ibx,iby)(i)、およびΔ4(2,3)(ibx,iby)(i))のうち信頼度が最も大きい視差Δ(ibx,iby)(i)に基づき距離を演算する。このことにより、信頼性が高い視差Δ(ibx,iby)(i)に基づき視差演算するため、信頼性が高い距離計測を可能とする。また、全ての組の視差(Δ4f(1,4)(ibx,iby)(i)、およびΔ4(2,3)(ibx,iby)(i))において距離演算を行わず、信頼性が高い視差(Δ(ibx,iby)(i))のみの距離演算を行うため、高速な距離計測を可能とする。
例えば、画像中に右斜上の線状の意匠と右斜下の線状に意匠とが混在する場合、上述のように、ブロック毎に信頼度が最も大きい視差Δ(ibx,iby)(i)を用いることにより、右斜上の線状の意匠のみが含まれるブロックでは右斜下に並べられた組(第1の撮像信号I1と第4の撮像信号I4)から求められた視差を用いて、右斜下の線状の意匠のみが含まれるブロックでは右斜上に並べられた組(第2の撮像信号I2と第3の撮像信号I3)から求められた視差を用いて、距離を演算することにより、多様な被写体で距離計測できる。
また、実施の形態2の撮像装置によれば、温度センサ126により周囲温度を示す計測温度を計測し、温度センサ信号Thとして入力し、ステップS1820において(数19)のように、温度変化によるレンズの変形の影響を、視差からTh*Th1-Th2を減ずることにより補償し、補償された視差を用いて距離を演算する。このことにより、温度変化によってレンズが変形しても、正しい距離計測ができる。
また、実施の形態2の撮像装置によれば、ステップS1830において(数20)のように、ブロック毎のレンズ部の歪曲の影響を示す歪曲補正係数kcb(ibx,iby)(i)を用いて視差を補償し、補償された視差を用いて距離を演算する。このことにより、レンズに歪曲があっても、正しい距離計測ができる。
また、実施の形態2の撮像装置によれば、ステップS2220における第1の撮像信号I1と第4の撮像信号I4による視差演算では、ブロック毎に視差演算するにあたり、右斜下の方向に順に演算を行う。このため、第2の演算バッファBc2への転送の際、ブロックインデックスib=ibt+1のとき、図36の右斜上の斜線と右斜下の斜線とが重なる部分は、すでに第2の演算バッファBc2に転送されているため、転送を省略でき、高速に視差演算できる。すなわち、高速に距離計測できる。また、ステップS1230における第2の撮像信号I2と第3の撮像信号I3による視差演算では、ブロック毎に視差演算するにあたり、左斜下の方向に順に演算を行う。このため、第2の演算バッファBc2への転送の際、ブロックインデックスib=ibt+1のとき、図40の右斜上の斜線と右斜下の斜線とが重なる部分は、すでに第2の演算バッファBc2に転送されているため、転送を省略でき、高速に視差演算できる。すなわち、高速に距離計測できる。
また、実施の形態2の撮像装置によれば、4x4画素のブロック毎に演算された視差評価値R4(i)(k)を用いて8x8画素のブロック毎の視差評価値R8(i)(k)を演算し、8x8画素のブロック毎の視差評価値R8(i)(k)を用いて16x16画素のブロック毎の視差評価値R16(i)(k)を演算し、16x16画素のブロック毎の視差評価値R16(i)(k)を用いてR32(0)(k)を演算する。このことにより、結合したブロック(結合ブロック)で独自に視差評価値(結合視差評価値)を演算するときと比較し、結合したブロック(結合ブロック)での視差評価値(結合視差評価値)の演算量を減少でき、高速に視差演算できるため、高速に距離演算できる。
また、実施の形態2の撮像装置によれば、ステップS2330、およびステップS2430において4x4画素の各ブロックの視差Δ4(i)の信頼度E4(i)を演算し、ステップS2335、およびステップS2435において8x8画素の各ブロックの視差Δ8(i)の信頼度E8(i)を演算し、ステップS2340、およびステップS2440において16x16画素の各ブロックの視差Δ16(i)の信頼度E16(i)を演算し、ステップS2345、およびステップS2445において32x32画素のブロックの視差Δ32(0)の信頼度E32(0)を演算し、ステップS2350、およびステップS2450において最も信頼度が大きいものを最終的な視差Δ4f(i)とし、この視差Δ4f(i)に基づき得られた視差Δ(ibx,iby)(i)を用いて、距離演算を行う。そのため、信頼性が高い視差に基づき視差演算をするため、信頼性が高い距離計測を可能とする。また、信頼性が高い視差のみの距離演算を行うため、高速な距離計測を可能とする。
(実施の形態3)
本発明の実施の形態1、および実施の形態2に係る撮像装置は、撮像素子123上にカラーフィルタが配置されないいわゆる白黒の撮像素子であった。実施の形態3に係る撮像装置は、撮像素子123上にカラーフィルタがベイヤー配列に配置されたものである。
以下、本発明の実施の形態3に係る撮像装置について、図面を参照しながら説明する。
図43は、本発明の実施の形態3に係る撮像装置の構成を示す断面図である。図43において、撮像装置撮像装置301は、レンズモジュール部110、および回路部320を有する。
レンズモジュール部110は、実施の形態1と同様であり、説明を省略する。回路部120は、基板121、パッケージ122、撮像素子123、パッケージカバーガラス124、システムLSI(以下、SLSIと記す)125、および温度センサ126を有する。
基板121、およびパッケージ122は、実施の形態1と同様であり、説明を省略する。
撮像素子323の各端子は、ベイヤー配列のカラーフィルタが配置され、パッケージ122の内側の底部の金属端子にワイヤーボンディングにより金線127で接続され、基板121を介して、SLSI325と電気的に接続される。撮像素子323受光面に、第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部113dから射出された光がそれぞれ結像し、フォトダイオードにより光の情報から変換された電気の情報が、SLSI325に出力される。
パッケージカバーガラス124は、実施の形態1と同様であり、説明を省略する。
SLSI325は、後述の方法で、撮像素子123を駆動し、撮像素子123からの電気情報を入力し、各種演算を行い、上位CPUと通信を行い、外部に画像情報や距離情報などを出力する。なお、SLSI125は、電源(例えば3.3V)とグランド(例えば、0V)に接続される。
温度センサ126は、実施の形態1と同様であり、説明を省略する。
次に、本発明の実施の形態3に係る撮像装置の動作を説明する。図44は、本発明の実施の形態3に係る撮像装置のブロック図である。SLSI325は、システム制御部331、撮像素子駆動部132、撮像信号入力部133、前処理部334、入力バッファ335、演算部336、出力バッファ337、入出力部138、および温度センサ信号入力部139を有する。入力バッファ335は、第1の緑用入力バッファ335ag、第2の緑用入力バッファ335bg、第3の緑用入力バッファ335cg、第4の緑用入力バッファ335dg、第1の赤用入力バッファ335ar、第2の赤用入力バッファ335br、第3の赤用入力バッファ335cr、第4の赤用入力バッファ335dr、第1の青用入力バッファ335ab、第2の青用入力バッファ335bb、第3の青用入力バッファ335cb、および第4の入力バッファ335dbを有する。演算部336は、演算部バッファ341、視差演算部342、および距離演算部143を有する。演算部バッファ341は、第1の演算部バッファ341a、および第2の演算部バッファ341bを有する。出力バッファ337は、第1の出力バッファ337a、および第2の出力バッファ337bを有する。
システム制御部331は、CPU(中央演算処理装置:Central Processing Unit)、ロジック回路などから構成され、SLSI325の全体を制御する。
撮像素子駆動部132、および撮像信号入力部133は、実施の形態1と同様であり、説明を省略する。図45は、本発明の実施の形態3に係る撮像装置の撮像信号の色を説明する図である。撮像信号I0は、x方向にH0画素、y方向にV0画素のデータである。撮像信号I0において、Gで示される画素((0,0)、(2,0)、・・・、(H0-4,0)、(H0-2,0)、(1,1)、(3,1)、・・・、(H0-3,1)、(H0-1,1)、・・・、(0,V0-2)、(2,V0-2)、・・・、(H0-4,V0-2)、(1,V0-1)、(3,V0-1)、・・・、(H0-3,V0-1)、(H0-1,V0-1))に対応する撮像素子323上の画素には主に緑色光を透過するカラーフィルタが配置され、Rで示される画素((0,1)、(2,1)、・・・、(H0-4,1)、(H0-2,1)、(0,3)、(2,3)、・・・、(H0-4,3)、(H0-2,3)、・・・、(0,V0-3)、(2,V0-3)、・・・、(H0-4,V0-3)、(H0-2,V0-3)、(0,V0-1)、(2,V0-1)、・・・、(H0-4,V0-1)、(H0-2,V0-1))に対応する撮像素子323上の画素には主に赤色光を透過するカラーフィルタが配置され、Bで示される画素((1,0)、(3,0)、・・・、(H0-3,0)、(H0-1,0)、(1,2)、(3,2)、・・・、(H0-3,2)、(H0-1,2)、・・・、(1,V0-4)、(3,V0-4)、・・・、(H0-3,V0-4)、(H0-1,V0-4)、(1,V0-2)、(3,V0-2)、・・・、(H0-3,V0-2)、(H0-1,V0-2))に対応する撮像素子323上の画素には主に青色光を透過するカラーフィルタが配置されている。
前処理部134は、ロジック回路などから構成され、撮像信号I0から画像を切り出し、強度補正処理を行い、第1の緑用撮像信号I1g、第2の緑用撮像信号I2g、第3の緑用撮像信号I3g、第4の緑用撮像信号I4g、第1の赤用撮像信号I1r、第2の赤用撮像信号I2r、第3の赤用撮像信号I3r、第4の赤用撮像信号I4r、第1の青用撮像信号I1b、第2の青用撮像信号I2b、第3の青用撮像信号I3b、および第4の青用撮像信号I4bを作成し、順次、入力バッファ335に転送する。第1の緑用撮像信号I1g、第2の緑用撮像信号I2g、第3の緑用撮像信号I3g、および第4の緑撮像信号I4gは、それぞれ第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部114dによって結像された被写体像によって得られたもので、主に緑色光成分を示すものである。また、第1の赤用撮像信号I1r、第2の撮像信号I2r、第3の撮像信号I3r、および第4の撮像信号I4rは、それぞれ第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部114dによって結像された被写体像によって得られたもので、主に赤色光成分を示すものである。また、第1の青用撮像信号I1b、第2の青用撮像信号I2b、第3の青用撮像信号I3b、および第4の青用撮像信号I4bは、それぞれ第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部114dによって結像された被写体像によって得られたもので、主に青色光成分を示すものである。
まず、実施の形態1と同様に画像を切り出し、それぞれ第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部114dによって結像された被写体像によって得られた第1の撮像信号I1、第2の撮像信号I2、第3の撮像信号I3、および第4の撮像信号I4を作成する。図8、および(数2)のように、撮像信号I0を原点(x01,y01)、x方向にH1画素、y方向にV1画素だけ切り出し、第1の強度補正係数ks1で補正したものを第1の撮像信号I1とする。また、図8、および(数3)のように、撮像信号I0を原点(x02,y02)、x方向にH1画素、y方向にV1画素だけ切り出し、第2の強度補正係数ks2で補正したものを第2の撮像信号I2とする。また、図8、および(数4)のように、撮像信号I0を原点(x03,y03)、x方向にH1画素、y方向にV1画素だけ切り出し、第3の強度補正係数ks3で補正したものを第3の撮像信号I3とする。また、図8、および(数5)のように、撮像信号I0を原点(x04,y04)、x方向にH1画素、y方向にV1画素だけ切り出し、第4の強度補正係数ks4で補正したものを第4の撮像信号I4とする。また、レンズの光軸のずれなどを校正するために、適宜、座標変換を行ってもよい。図46は、本発明の実施の形態3に係る撮像装置の第1の撮像信号の色を説明する図である。なお、撮像信号I0と同様の色配置になるように(例えば、(0,0)がG、(1,0)がB、(0,1)がR、(1,1)がGの配置になるように)、第1の撮像信号I1、第2の撮像信号I2、第3の撮像信号I3、および第4の撮像信号I4が作成される。
次に、それぞれの色成分を作成する。座標(x,y)において、xが偶数、yが偶数のとき、下記(数36)のように、第1の撮像信号I1(x,y)を第1の緑用撮像信号I1g(x,y)とし、y方向に近接する2つの第1の撮像信号I1(x,y-1)、I1(x,y+1)の加算平均を第1の赤用撮像信号I1r(x,y)とし、x方向に近接する2つの第1の撮像信号I1(x-1,y)、I1(x+1,y)の加算平均を第1の青用撮像信号I1b(x,y)とする。また、xが偶数、yが奇数のとき、下記(数37)のように、x方向、およびy方向に近接する4つの第1の撮像信号I1(x-1,y)、I1(x+1,y)、 I1(x,y-1)、I1(x,y+1)の加算平均を第1の緑用撮像信号とし、対角に近接する4つの第1の撮像信号I1(x-1,y-1)、I1(x+1,y-1)、I1(x-1,y+1)、I1(x+1,y+1)の加算平均を第1の赤用撮像信号I1r(x,y)とし、第1の撮像信号I1(x,y)を第1の青用撮像信号I1b(x,y)とする。また、xが奇数、yが偶数のとき、下記(数38)のように、x方向、およびy方向に近接する4つの第1の撮像信号I1(x-1,y)、I1(x+1,y)、 I1(x,y-1)、I1(x,y+1)の加算平均を第1の緑用撮像信号とし、第1の撮像信号I1(x,y)を第1の赤用撮像信号I1r(x,y)とし、対角に近接する4つの第1の撮像信号I1(x-1,y-1)、I1(x+1,y-1)、I1(x-1,y+1)、I1(x+1,y+1)の加算平均を第1の青用撮像信号I1b(x,y)とする。また、xが奇数、yが奇数のとき、下記(数39)のように、第1の撮像信号I1(x,y)を第1の緑用撮像信号I1g(x,y)とし、x方向に近接する2つの第1の撮像信号I1(x-1,y)、I1(x+1,y)の加算平均を第1の赤用撮像信号I1r(x,y)とし、y方向に近接する2つの第1の撮像信号I1(x,y-1)、I1(x,y+1)の加算平均を第1の青用撮像信号I1b(x,y)とする。
Figure 2007271301
Figure 2007271301
Figure 2007271301
Figure 2007271301
第1の緑用入力バッファ335ag、第2の緑用入力バッファ335bg、第3の緑用入力バッファ335cg、第4の緑用入力バッファ335dg、第1の赤用入力バッファ335ar、第2の赤用入力バッファ335br、第3の赤用入力バッファ335cr、第4の赤用入力バッファ335dr、第1の青用入力バッファ335ab、第2の青用入力バッファ335bb、第3の青用入力バッファ335cb、および第4の青用入力バッファ335db、それぞれDRAMなどから構成され、第1の緑用撮像信号I1g、第2の緑用撮像信号I2g、第3の緑用撮像信号I3g、第4の緑用撮像信号I4g、第1の赤用撮像信号I1r、第2の赤用撮像信号I2r、第3の赤用撮像信号I3r、第4の赤用撮像信号I4r、第1の青用撮像信号I1b、第2の青用撮像信号I2b、第3の青用撮像信号Ib、および第4の青用撮像信号I4bをそれぞれ順次読み込み、それぞれH1*V1画素(x方向にH1画素、y方向にV1画素)のデータを保存する。
演算部336は、SRAMから構成された第1の演算バッファ341a、第2の演算バッファ341bと、ロジック回路やCPUなどから構成された視差演算部342と、ロジック回路やCPUなどから構成された距離演算部143と、から構成される。演算部336は、第1の緑用撮像信号I1g、第2の緑用撮像信号I2g、第3の緑用撮像信号I3g、第4の緑用撮像信号I4g、第1の赤用撮像信号I1r、第2の赤用撮像信号I2r、第3の赤用撮像信号I3r、第4の赤用撮像信号I4r、第1の青用撮像信号I1b、第2の青用撮像信号I2b、第3の青用撮像信号I3b、および第4の青用撮像信号I4bをブロック単位で読み込み第1の演算バッファ341a、第2の演算バッファ341bに保存し、視差演算部342において第1の演算バッファ341a、および第2の演算バッファ341bのデータなどに基づき視差を演算し、距離演算部143において求められた視差に基づき距離を演算し、求められた距離データを出力バッファ337に転送する。
出力バッファ337は、DRAMなどから構成され、入力バッファ335から転送された画像データと演算部336から転送された距離データを保存し、入出力部138に順次転送する。
入出力部138、および温度センサ信号入力部139は、実施の形態1と同様であり、説明を省略する。
図47は、本発明の実施の形態3に係る撮像装置の動作を示すフローチャートである。SLSI325のシステム制御部331により、撮像装置301は、このフローチャートのとおりに動作される。
ステップS3010において、動作を開始する。例えば、上位CPU(図示せず)が、入出力部136を介し、撮像装置301に動作の開始を命令することにより、撮像装置301は、動作を開始する。次に、ステップS1020を実行する。
ステップS3020において、撮像信号を入力する。システム制御部331の命令により、撮像素子駆動部132が電子シャッターや転送を行うための信号を随時出力する。撮像信号入力部133は、撮像信号I0(x,y)を、x方向にH0画素、y方向にV0画素を持ち、I0(0,0)((x,y)=(0,0))、I0(1,0)、I0(2,0)、・・・、I0(H0-1,V0-1)の順に入力し、順次、前処理部334に転送する。前処理部134は、撮像信号I0から画像を切り出し、強度補正処理、色作成を行い、第1の緑用撮像信号I1g、第2の緑用撮像信号I2g、第3の緑用撮像信号I3g、第4の緑用撮像信号I4g、第1の赤用撮像信号I1r、第2の赤用撮像信号I2r、第3の赤用撮像信号I3r、第4の赤用撮像信号I4r、第1の青用撮像信号I1b、第2の青用撮像信号I2b、第3の青用撮像信号I3b、および第4の青用撮像信号I4bを作成し、第1の緑用撮像信号I1gを、順次、第1の緑用入力バッファ335agに転送し、第2の緑用撮像信号I2gを、順次、第2の緑用入力バッファ335bgに転送し、、第3の緑用撮像信号I3gを、順次、第3の緑用入力バッファ335cgに転送し、、第4の緑用撮像信号I4gを、順次、第4の緑用入力バッファ335dgに転送し、第1の赤用撮像信号I1rを、順次、第1の赤用入力バッファ335arに転送し、第2の赤用撮像信号I2rを、順次、第2の赤用入力バッファ335brに転送し、、第3の赤用撮像信号I3rを、順次、第3の赤用入力バッファ335crに転送し、、第4の赤用撮像信号I4rを、順次、第4の赤用入力バッファ335drに転送し、第1の青用撮像信号I1bを、順次、第1の青用入力バッファ335abに転送し、第2の青用撮像信号I2bを、順次、第2の青用入力バッファ335bbに転送し、第3の青用撮像信号I3bを、順次、第3の青用入力バッファ335cbに転送し、および第4の緑用撮像信号I4bを、順次、第4の青用入力バッファ335dbに転送する。次に、ステップS3030を実行する。
ステップS3030において、温度センサ信号を入力する。温度センサ信号入力部139は、温度センサ126の信号を入力し、温度センサ信号Thとしてシステム制御部131に出力する。次に、ステップS3040を実行する。
ステップS3040において、第1の緑用入力バッファ135ag、第1の赤用入力バッファ135ar、および第1の青用入力バッファ135abに保存されている第1の緑色撮像信号I1g、第1の赤色撮像信号I1r、および第1の青色撮像信号I1bを第1の出力バッファ337aに転送し、第1の出力バッファ337aは、画像データ(カラー画像データ)として保存する。なお、Y−UV変換を適宜行い、Y成分、U成分、V成分を保存してもよい。あるいは、JPEGなどのような圧縮した形式で保存してもよい。次に、ステップS3100を実行する。
ステップS3100において、距離データを作成し、順次、第2の出力バッファ337bに転送する。この動作の詳細は後述する。次に、ステップS3910を実行する。
ステップS3910において、外部にデータを出力する。入出力部138は、第1の出力バッファ337a上の画像データ、および第2の出力バッファ337b上の距離データを、上位CPU(図示せず)や外部表示装置(図示せず)に出力する。次に、S3920を実行する。
ステップS3920において、動作を終了するかどうかを判断する。例えば、システム制御部331は、入出力部136を介し、上位CPU(図示せず)と通信し、動作を終了するかどうかの命令を要求する。そして、上位CPUが終了を命令すれば動作を終了し、次に、ステップS3930を実行する。一方、上位CPUが終了を命令しなければ動作を継続し、次に、ステップS3020を実行する。すなわち、上位CPUが終了を命令しない限り、ステップS3020、ステップS3030、ステップS3040、ステップS3100、およびステップS3910のループの実行を継続する。
ステップS3930において、動作を終了する。
次に、ステップS3100における動作の詳細を説明する。図48は、本発明の実施の形態3に係る撮像装置の演算部の動作を示すフローチャートである。図48のフローチャートは、ステップS3100の動作の詳細を示す。ステップS3100の演算では、まず、ステップS3110を実行する。
ステップS3110において、演算の動作を開始する。次に、ステップS3210を実行する。
ステップS3210において、緑用撮像信号による視差演算を実行する。このステップS3210は、実施の形態1のステップS1200と同様に動作させる。ただし、使用する撮像信号として、ステップS1200の第1の撮像信号I1、第2の撮像信号I2、第3の撮像信号I3、および第4の撮像信号に代えて、ステップS3210において第1の緑用撮像信号I1g、第2の緑用撮像信号I2g、第3の緑用撮像信号I3g、および第4の緑用撮像信号I4gを利用する。そして、ステップS1200の視差量Δ(ibx)(iby)(i)に代えて、ステップS3210において緑用視差量Δg(ibx,iby)(i)が求められるとする。加えて、ステップS3220において緑用視差量Δg(ibx,iby)(i)を与えた信頼度を緑用信頼度Eg(ibx,iby)(i)とする。次に、ステップS3220を実行する。
ステップS3220において、赤用撮像信号による視差演算を実行する。このステップS3220は、実施の形態1のステップS1200と同様に動作させる。ただし、使用する撮像信号として、ステップS1200の第1の撮像信号I1、第2の撮像信号I2、第3の撮像信号I3、および第4の撮像信号に代えて、ステップS3220において第1の赤用撮像信号I1r、第2の赤用撮像信号I2r、第3の赤用撮像信号I3r、および第4の赤用撮像信号I4rを利用する。そして、ステップS1200の視差量Δ(ibx)(iby)(i)に代えて、ステップS3220において赤用視差量Δr(ibx,iby)(i)が求められるとする。加えて、ステップS3220において赤用視差量Δr(ibx,iby)(i)を与えた信頼度を赤用信頼度Er(ibx,iby)(i)とする。次に、ステップS3230を実行する。
ステップS3230において、青用撮像信号による視差演算を実行する。このステップS3230は、実施の形態1のステップS1200と同様に動作させる。ただし、使用する撮像信号として、ステップS1200の第1の撮像信号I1、第2の撮像信号I2、第3の撮像信号I3、および第4の撮像信号に代えて、ステップS3230において第1の青用撮像信号I1b、第2の青用撮像信号I2b、第3の青用撮像信号I3b、および第4の青用撮像信号I4bを利用する。そして、ステップS1200の視差量Δ(ibx)(iby)(i)に代えて、ステップS3230において青用視差量Δb(ibx,iby)(i)が求められるとする。加えて、ステップS3230において青用視差量Δb(ibx,iby)(i)を与えた信頼度を青用信頼度Eb(ibx,iby)(i)とする。次に、ステップS3240を実行する。
ステップS3240において、色別に求められた視差からもっとも信頼度が高い視差を選択する。それぞれのブロックに対し、緑用信頼度Eg(ibx,iby)(i)、赤用信頼度Er(ibx,iby)(i)、および青用信頼度Eb(ibx,iby)(i)を比較し、最大の信頼度を与える視差をそのブロックでの視差Δ(ibx,iby)(i)とする。このようにして、各ブロックにおける視差Δ(ibx,iby)(i)が求められた。ここで、(ibx,iby)は図13の各ブロックの下段に示される座標であり、ibxは0からNh−1まで、ibyはNv−1まで変化する。また、iは32x32画素のうちの4x4画素のブロックを示し、図15のように、0〜63まで変化する。次に、ステップS1800を実行する。
ステップS1800において、距離演算する。ステップS1800の動作は、実施の形態1と同様であり、説明を省略する。次に、ステップS3900を実行する。
ステップS3900において、演算動作を終了し、上位ルーチンへ戻る。次に、ステップS3910を実行する。
以上のように構成し、動作させることにより、実施の形態1と同様の効果を有する。
加えて、実施の形態3の撮像装置によれば、ステップS3210において緑用信頼度Eg(ibx,iby)(i)を演算し、ステップS3220において赤用信頼度Er(ibx,iby)(i)を演算し、ステップS3230において青用信頼度Eb(ibx,iby)(i)を演算し、ステップS3240において、それぞれのブロック((ibx,iby)とiとで示される)毎に、それぞれの視差(Δg(ibx,iby)(i)、Δr(ibx,iby)(i)、およびΔb(ibx,iby)(i))のうち信頼度が最も大きい視差Δ(ibx,iby)(i)に基づき距離を演算する。このことにより、信頼性が高い視差Δ(ibx,iby)(i)に基づき視差演算するため、信頼性が高い距離計測を可能とする。また、全ての組の視差(Δg(ibx,iby)(i)、Δr(ibx,iby)(i)、およびΔb(ibx,iby)(i))において距離演算を行わず、信頼性が高い視差(Δ(ibx,iby)(i))のみの距離演算を行うため、高速な距離計測を可能とする。
以上、本発明のいくつかの実施形態を説明したが、これらはあくまでも例示であって、本発明の実施に際しては、以下のとおり、種々の変更が可能である。
実施の形態1の撮像装置は、ステップS1220において、複数の前記視差の信頼度(E(1,2)(ibx,iby)(i)、E(3,4)(ibx,iby)(i)、E(1,3)(ibx,iby)(i)、およびE(2,4)(ibx,iby)(i))をそれぞれ演算し、それぞれのブロック((ibx,iby)とiとで示される)毎に、それぞれの視差(Δ4f(1,2)(ibx,iby)(i)、Δ4(3,4)(ibx,iby)(i)、Δ4f(1,3)(ibx,iby)(i)、およびΔ4f(2,4)(ibx,iby)(i))のうち信頼度が最も大きい視差Δ(ibx,iby)(i)に基づき距離を演算した。信頼度のしきい値を設け、このしきい値より大きな信頼度を与える視差を平均したものを最終的な視差Δ(ibx,iby)(i)としてもよい。このことにより、ノイズなどにより演算される視差がばらつくときであっても、ノイズの影響が低減された正しい視差を求めることができ、その視差に基づき距離を計測できる。すなわち、ノイズの影響が低減された正しい距離計測を可能とする。また、信頼度のしきい値を設け、このしきい値より大きな信頼度を与える視差のうち、最大の視差を最終的な視差Δ(ibx,iby)(i)としてもよい。障害物検知においては、最も距離が近いもの注目すればよい。そのため、最も近い距離を与える最大の視差を採用する。このことにより、全ての視差において距離演算を行わず、最大の視差のみの距離演算を行うため、高速な距離計測を可能とする。
実施の形態3のは、ステップS3210において緑用信頼度Eg(ibx,iby)(i)を演算し、ステップS3220において赤用信頼度Er(ibx,iby)(i)を演算し、ステップS3230において青用信頼度Eb(ibx,iby)(i)を演算し、ステップS3240において、それぞれのブロック((ibx,iby)とiとで示される)毎に、それぞれの視差(Δg(ibx,iby)(i)、Δr(ibx,iby)(i)、およびΔb(ibx,iby)(i))のうち信頼度が最も大きい視差Δ(ibx,iby)(i)に基づき距離を演算した。信頼度のしきい値を設け、このしきい値より大きな信頼度を与える視差を平均したものを最終的な視差Δ(ibx,iby)(i)としてもよい。このことにより、ノイズなどにより演算される視差がばらつくときであっても、ノイズの影響が低減された正しい視差を求めることができ、その視差に基づき距離を計測できる。すなわち、ノイズの影響が低減された正しい距離計測を可能とする。なお、重み付け平均をしてもよい。例えば、緑用視差Δg(ibx,iby)(i)、赤用視差Δr(ibx,iby)(i)、青用視差Δb(ibx,iby)(i)に被視感度に応じた重み、すなわち、それぞれ7、2、1を与え、重み付き平均をしてもよい。また、緑用視差Δg(ibx,iby)(i)、赤用視差Δr(ibx,iby)(i)、青用視差Δb(ibx,iby)(i)に画素数に応じた重み、すなわち、それぞれ2、1、1を与え、重み付き平均をしてもよい。また、信頼度のしきい値を設け、このしきい値より大きな信頼度を与える視差のうち、最大の視差を最終的な視差Δ(ibx,iby)(i)としてもよい。障害物検知においては、最も距離が近いもの注目すればよい。そのため、最も近い距離を与える最大の視差を採用する。このことにより、全ての視差において距離演算を行わず、最大の視差のみの距離演算を行うため、高速な距離計測を可能とする。
また、実施の形態1から実施の形態3の撮像装置において、演算された視差をそのまま利用したが、適宜リミットしてもよい。レンズ特性によっては被写体距離Aがある値よりも小さいとき、画像が不鮮明となる。そのため、この値を被写体距離Aの最小値と定めれば、視差の最大値を定められる。この値よりも大きい視差は、誤差であるとして無視してもよい。また、このような場合、視差評価値が2番目に小さい値を視差として採用してもよい。また、視差評価値に目立つ極値が2つあるときは、より大きい方の視差を採用してもよい。このようなブロックには、被写体と背景が含まれており、被写体距離と背景距離とが異なるため、極値が2つ現れる。このうち障害物検知に大きな影響を与える、より大きな視差を採用してもよい。
また、第2の実施の形態の撮像装置では、第1のカラーフィルタと第4のカラーフィルタが主に緑色光を透過し、第2のカラーフィルタと第3のカラーフィルタが主に近赤外光を透過したが、これに限定されない。他の色、例えば、赤色光、青色光、遠赤外光、近紫外光などを透過してもよい。
また、第1の実施の形態、および第3の実施の形態の撮像装置において、さらに第1撮像信号と第4の撮像信号とから視差と信頼度とを演算して、視差を選択してもよい。また、第2撮像信号と第3の撮像信号とから視差と信頼度とを演算して、視差を選択してもよい。
また、実施の形態1から実施の形態3において、1つの撮像素子123を利用したが、複数を用いてもよい。例えば、第1のレンズ部113a、第2のレンズ部113b、第3のレンズ部113c、および第4のレンズ部113dにそれぞれ対応する4つの撮像素子を配置し、それぞれ撮像信号を作成してもよい。
また、実施の形態1から実施の形態3において、視差評価値R4(i)(k)として(数6)のような差分絶対値総和(SAD)を用いたがこれに限定されない。差分の二乗値の総和や、第1の撮像信号I1からブロック内の平均を差分したものと第2の撮像信号I2からブロック内の平均を差分したものとの差分の二乗値の総和や、第1の撮像信号I1からブロック内の平均を差分したものと第2の撮像信号I2からブロック内の平均を差分したものとの差分の二乗値の総和や、第1の撮像信号I1からブロック内の平均を差分したものと第2の撮像信号I2からブロック内の平均を差分したものとの差分の二乗値の総和を第1の撮像信号I1からブロック内の平均を差分したものの二乗値の総和の平方根で除し第2の撮像信号I2からブロック内の平均を差分したものの二乗値の総和の平方根で除したものを利用してもよい。
また、実施の形態1から実施の形態3において、信頼度E4(i)として(数7)のような正規化相関係数を用いたがこれに限定されない。SADの値をそのまま用いたり、SADの値と明度やコントラストや各種微分値などを組み合わせて利用してもよい。
なお、実施の形態1から実施の形態3において、ブロックを矩形状に分割したが、これに限定されない。例えば、エッジを検出し、エッジに基づき非矩形状のブロックに分割してもよい。また、ブロック毎の領域の視差を求めずに、エッジを複数の線分に分割し、この線分の視差を求めてもよい。また、あるブロックにおいて求められた視差を評価し、ブロックを分割したり結合してもよい。
なお、実施の形態1から実施の形態3の撮像装置において、温度センサ126は、基板121上に配置されたがこれに限定されない。例えば、パッケージ122内部の撮像素子123に並列して配置してもよい。また、レンズ113に配置し、適宜配線により接続してもよい。また、SLSI125、225、325の内部に配置されてもよい。また、鏡筒111に外壁や内壁に貼付されてもよい。
本発明の撮像装置は、小型かつ多様な被写体を距離計測可能な撮像装置であるため、カメラ機能を備えた携帯電話、デジタルスチルカメラ、車載用カメラ、監視用カメラ、三次元計測器、および立体画像入力カメラなどに有用である。
本発明の実施の形態1に係る撮像装置の構成を示す断面図 本発明の実施の形態1に係る撮像装置のレンズの上面図 本発明の実施の形態1に係る撮像装置の回路部の上面図 本発明の実施の形態1に係る撮像装置の温度センサの回路図 本発明の実施の形態1に係る撮像装置において、無限遠にある物体像の位置を説明するための図 本発明の実施の形態1に係る撮像装置において、有限距離の位置にある物体像の位置を説明するための図 本発明の実施の形態1に係る撮像装置のブロック図 本発明の実施の形態1に係る撮像装置の撮像信号の切り出し位置を説明するための図 本発明の実施の形態1に係る撮像装置の動作を示すフローチャート 本発明の実施の形態1に係る撮像装置の演算部の動作を示すフローチャート 本発明の実施の形態1に係る撮像装置の視差演算の動作を示すフローチャート 本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号とを利用した視差演算の動作を示すフローチャート 本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号とを利用した視差演算における第1の撮像信号の分割ブロックと演算順番を説明する図 本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号とを利用した視差演算における第2の撮像信号の分割ブロックと演算順番を説明する図 本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号を利用したときの4x4画素の視差演算における第1の演算バッファの分割と演算順番を説明する図 本発明の実施の形態1に係る撮像装置において、第1の撮像信号と第2の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の演算領域を説明する図 本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号を利用したときの4x4画素の視差演算における視差と視差評価値との関係を説明する図 本発明の実施の形態1に係る撮像装置において、第1の撮像信号と第2の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の信頼度の演算領域を説明する図 本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号を利用したときの8x8画素の視差演算における第1の演算バッファの分割と演算順番を説明する図 本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号を利用したときの16x16画素の視差演算における第1の演算バッファの分割と演算順番を説明する図 本発明の実施の形態1に係る撮像装置の第1の撮像信号と第2の撮像信号を利用したときの32x32画素の視差演算における第1の演算バッファの分割と演算順番を説明する図 本発明の実施の形態1に係る撮像装置の第1の撮像信号と第3の撮像信号とを利用した視差演算の動作を示すフローチャート 本発明の実施の形態1に係る撮像装置の第1の撮像信号と第3の撮像信号とを利用した視差演算における第3の撮像信号の分割ブロックと演算順番を説明する図 本発明の実施の形態1に係る撮像装置において、第1の撮像信号と第3の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の演算領域を説明する図 本発明の実施の形態1に係る撮像装置において、第1の撮像信号と第3の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の信頼度の演算領域を説明する図 本発明の実施の形態1に係る撮像装置の距離演算の動作を示すフローチャート 本発明の実施の形態2に係る撮像装置の構成を示す断面図 本発明の実施の形態2に係る撮像装置の回路部の上面図 本発明の実施の形態2に係る撮像装置のカラーフィルタの特性図 本発明の実施の形態2に係る撮像装置のブロック図 本発明の実施の形態1に係る撮像装置の動作を示すフローチャート 本発明の実施の形態2に係る撮像装置の演算部の動作を示すフローチャート 本発明の実施の形態2に係る撮像装置の視差演算の動作を示すフローチャート 本発明の実施の形態2に係る撮像装置の第1の撮像信号と第4の撮像信号とを利用した視差演算の動作を示すフローチャート 本発明の実施の形態2に係る撮像装置の第1の撮像信号と第4の撮像信号とを利用した視差演算における第1の撮像信号の分割ブロックと演算順番を説明する図 本発明の実施の形態2に係る撮像装置の第1の撮像信号と第4の撮像信号とを利用した視差演算における第4の撮像信号の分割ブロックと演算順番を説明する図 本発明の実施の形態2に係る撮像装置において、第1の撮像信号と第4の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の演算領域を説明する図 本発明の実施の形態2に係る撮像装置において、第1の撮像信号と第4の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の信頼度の演算領域を説明する図 本発明の実施の形態2に係る撮像装置の第2の撮像信号と第3の撮像信号とを利用した視差演算の動作を示すフローチャート 本発明の実施の形態2に係る撮像装置の第2の撮像信号と第3の撮像信号とを利用した視差演算における第3の撮像信号の分割ブロックと演算順番を説明する図 本発明の実施の形態2に係る撮像装置において、第2の撮像信号と第3の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の演算領域を説明する図 本発明の実施の形態2に係る撮像装置において、第2の撮像信号と第3の撮像信号を利用したときの4x4画素の視差演算における4x4画素の視差評価値の信頼度の演算領域を説明する図 本発明の実施の形態3に係る撮像装置の構成を示す断面図 本発明の実施の形態3に係る撮像装置のブロック図 本発明の実施の形態3に係る撮像装置の撮像信号の色を説明する図 本発明の実施の形態3に係る撮像装置の第1の撮像信号の色を説明する図 本発明の実施の形態3に係る撮像装置の動作を示すフローチャート 本発明の実施の形態3に係る撮像装置の演算部の動作を示すフローチャート 従来の撮像装置の斜視図
符号の説明
101,201,301 カメラモジュール
110,310 レンズモジュール
111 鏡筒
112 上部カバーガラス
113 レンズ
113a 第1のレンズ部
113b 第2のレンズ部
113c 第3のレンズ部
113d 第4のレンズ部
120,220,320 回路部
121 基板
122 パッケージ
123 撮像素子
124,324 パッケージカバーガラス
324a 第1のカラーフィルタ
324b 第2のカラーフィルタ
324c 第3のカラーフィルタ
324d 第4のカラーフィルタ
124e 遮光部
125,225,325 SLSI
126 温度センサ
131,231,331 システム制御部
132 撮像素子駆動部
133 撮像信号入力部
134,334 前処理部
135,335 入力バッファ
135a 第1の入力バッファ
135b 第2の入力バッファ
135c 第3の入力バッファ
135d 第4の入力バッファ
335ag 第1の緑用入力バッファ
335bg 第2の緑用入力バッファ
335cg 第3の緑用入力バッファ
335dg 第4の緑用入力バッファ
335ar 第1の赤用入力バッファ
335br 第2の赤用入力バッファ
335cr 第3の赤用入力バッファ
335dr 第4の赤用入力バッファ
335ab 第1の青用入力バッファ
335bb 第2の青用入力バッファ
335cb 第3の青用入力バッファ
335db 第4の青用入力バッファ
136,236,336 画像処理部
137,337 出力バッファ
137a,337a 第1の出力バッファ
137b,337b 第2の出力バッファ
138 入出力部
141,241,341 演算バッファ
141a,241a,341a 第1の演算バッファ
141b,241b,341b 第2の演算バッファ
142,242,342 視差演算部
143 距離演算部

Claims (15)

  1. それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、
    前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、
    前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、
    前記複数の撮像信号から複数の組の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する視差演算部と、
    複数の前記視差に基づき距離を演算する距離演算部と、を有する撮像装置。
  2. 前記距離演算部は、複数の前記視差の平均に基づき距離を演算する、請求項1に記載の撮像装置。
  3. 前記距離演算部は、複数の前記視差のうちの最大の視差に基づき距離を演算する、請求項1に記載の撮像装置。
  4. 前記距離演算部は、複数の前記視差のうち信頼性が最も高い視差に基づき距離を演算する、請求項1に記載の撮像装置。
  5. それぞれが少なくとも1枚のレンズを含む第1のレンズ部と、
    前記第1のレンズ部の光軸から水平方向に移動された位置に光軸を有する第2のレンズ部と、
    前記第1のレンズ部の光軸から鉛直方向に移動された位置に光軸を有する第3のレンズ部と、
    前記第1のレンズ部の光軸から対角方向に移動された位置に光軸を有する第4のレンズ部と、
    前記第1のレンズ部、第2ののレンズ部、第3のレンズ部、第4のレンズ部に一対一に対応し、対応する前記第1のレンズ部、第2ののレンズ部、第3のレンズ部、第4のレンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える第1の撮像領域と、第2の撮像領域と、第3の撮像領域と、第4の撮像領域と、
    前記第1の撮像領域と、第2の撮像領域と、第3の撮像領域と、第4の撮像領域からそれぞれ出力される第1の撮像信号、第2の撮像信号、第3の撮像信号、第4の撮像信号が入力される撮像信号入力部と、
    前記第1の撮像信号と前記第2の撮像信号、前記第3の撮像信号と前記第4の撮像信号、前記第1の撮像信号と前記第3の撮像信号、および前記第2の撮像信号と前記第4の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する視差演算部と、
    複数の前記視差に基づき距離を演算する距離演算部と、を有する撮像装置。
  6. それぞれが少なくとも1枚のレンズを含む第1のレンズ部と、
    前記第1のレンズ部の光軸から水平方向に移動された位置に光軸を有する第2のレンズ部と、
    前記第1のレンズ部の光軸から鉛直方向に移動された位置に光軸を有する第3のレンズ部と、
    前記第1のレンズ部の光軸から対角方向に移動された位置に光軸を有する第4のレンズ部と、
    前記第1のレンズ部、第2ののレンズ部、第3のレンズ部、第4のレンズ部に一対一に対応し、対応する前記第1のレンズ部、第2ののレンズ部、第3のレンズ部、第4のレンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える第1の撮像領域と、第2の撮像領域と、第3の撮像領域と、第4の撮像領域と、
    前記第1の撮像領域と、第2の撮像領域と、第3の撮像領域と、第4の撮像領域からそれぞれ出力される第1の撮像信号、第2の撮像信号、第3の撮像信号、第4の撮像信号が入力される撮像信号入力部と、
    前記第1の撮像信号と前記第4の撮像信号、および前記第2の撮像信号と前記第3の撮像信号を選択し、それぞれの組に対しそれぞれの視差を演算する視差演算部と、
    複数の前記視差に基づき距離を演算する距離演算部と、を有する撮像装置。
  7. それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、
    前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、
    前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、
    前記複数の撮像信号に基づき視差を演算する視差演算部と、
    周囲温度を示す計測温度を計測する温度センサと、
    前記視差と前記計測温度とに基づき距離を演算する距離演算部と、を有する撮像装置。
  8. それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、
    前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、
    前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、
    前記複数の撮像信号のうちの少なくとも1つの撮像信号を複数のブロックに分割するブロック分割部と、
    前記撮像信号を用いて、前記ブロックごとに、前記複数のレンズ部がそれぞれ形成する像間の視差を演算する視差演算部と、
    前記ブロック毎の前記レンズ部の歪曲の影響を示す歪曲補正係数を保存する歪曲補正係数保存部と、
    前記視差と前記歪曲補正係数とに基づき距離を演算する距離演算部と、を有する撮像装置。
  9. それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、
    前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、
    前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、
    前記複数の撮像信号のうちの少なくとも1つの撮像信号を複数のブロックに分割するブロック分割部と、
    前記ブロックに分割された撮像信号を前記複数のレンズ間の光軸間の方向に順にブロック毎に転送し、視差を演算する視差演算部と、
    前記視差に基づき距離を演算する距離演算部と、を有する撮像装置。
  10. それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、
    前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数のベイヤー配列の撮像領域と、
    前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、
    前記複数の撮像信号のうち主に緑色の感度を持つ撮像信号に基づく視差を示す緑色視差、前記複数の撮像信号のうち主に赤色の感度を持つ撮像信号に基づく視差を示す赤色視差、および前記複数の撮像信号のうち主に青色の感度を持つ撮像信号に基づく視差を示す青色視差を演算する視差演算部と、
    前記緑色視差と前記赤色視差と前記青色視差とに基づき距離を演算する距離演算部と、を有する撮像装置。
  11. 前記距離演算部は、前記緑色視差と前記赤色視差と前記青色視差との重み付け平均に基づき距離を演算する、請求項10に記載の撮像装置。
  12. 前記距離演算部は、前記緑色視差と前記赤色視差と前記青色視差とのうちの最大の視差に基づき距離を演算する、請求項10に記載の撮像装置。
  13. 前記距離演算部は、前記緑色視差と前記赤色視差と前記青色視差とのうち信頼性が最も高い視差に基づき距離を演算する、請求項10に記載の撮像装置。
  14. それぞれが少なくとも1枚のレンズを含む複数のレンズ部と、
    前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、
    前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、
    前記複数の撮像信号のうちの少なくとも1つの撮像信号を複数のブロックに分割するブロック分割部と、
    前記撮像信号を用いて、前記ブロックごとに基づき前記複数のレンズ部がそれぞれ形成する像間の視差を求めるために利用する視差評価値を演算し、前記視差評価値に基づき前記ブロックを結合した結合ブロックごとの視差評価値である結合視差評価値を演算し、前記視差評価値と前記結合視差評価値とに基づき前記複数のレンズ部がそれぞれ形成する像間の視差を演算する視差演算部と、
    前記視差に基づき距離を演算する距離演算部と、を有する撮像装置。
  15. 前記距離演算部は、前記ブロック毎に前記視差評価値に基づき演算した視差と前記結合ブロック毎に前記結合視差評価値に基づき演算した視差とのうち信頼性が最も高い視差に基づき距離を演算する、請求項14に記載の撮像装置。
JP2006093990A 2006-03-30 2006-03-30 撮像装置 Pending JP2007271301A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006093990A JP2007271301A (ja) 2006-03-30 2006-03-30 撮像装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006093990A JP2007271301A (ja) 2006-03-30 2006-03-30 撮像装置

Publications (1)

Publication Number Publication Date
JP2007271301A true JP2007271301A (ja) 2007-10-18

Family

ID=38674272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006093990A Pending JP2007271301A (ja) 2006-03-30 2006-03-30 撮像装置

Country Status (1)

Country Link
JP (1) JP2007271301A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009001563A1 (ja) * 2007-06-28 2008-12-31 Panasonic Corporation 撮像装置及び半導体回路素子
WO2009125577A1 (ja) * 2008-04-10 2009-10-15 パナソニック株式会社 撮像装置、撮像システムおよび撮像方法
EP2177869A2 (en) 2008-10-20 2010-04-21 Funai Electric Co., Ltd. Object distance deriving device
US8390703B2 (en) 2008-07-23 2013-03-05 Panasonic Corporation Image pickup apparatus and semiconductor circuit element
JP2018152022A (ja) * 2017-03-15 2018-09-27 セイコーエプソン株式会社 プロジェクターシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009001563A1 (ja) * 2007-06-28 2008-12-31 Panasonic Corporation 撮像装置及び半導体回路素子
US8395693B2 (en) 2007-06-28 2013-03-12 Panasonic Corporation Image pickup apparatus and semiconductor circuit element
WO2009125577A1 (ja) * 2008-04-10 2009-10-15 パナソニック株式会社 撮像装置、撮像システムおよび撮像方法
JP4456180B2 (ja) * 2008-04-10 2010-04-28 パナソニック株式会社 撮像装置、撮像システムおよび撮像方法
JPWO2009125577A1 (ja) * 2008-04-10 2011-07-28 パナソニック株式会社 撮像装置、撮像システムおよび撮像方法
US8212912B2 (en) 2008-04-10 2012-07-03 Panasonic Corporation Imaging device, imaging system, and imaging method
US8390703B2 (en) 2008-07-23 2013-03-05 Panasonic Corporation Image pickup apparatus and semiconductor circuit element
EP2177869A2 (en) 2008-10-20 2010-04-21 Funai Electric Co., Ltd. Object distance deriving device
JP2018152022A (ja) * 2017-03-15 2018-09-27 セイコーエプソン株式会社 プロジェクターシステム

Similar Documents

Publication Publication Date Title
JP4264464B2 (ja) 撮像装置及び半導体回路素子
JP4441585B1 (ja) 撮像装置及び半導体回路素子
JP2019513976A (ja) 3d結像システムおよび方法
US10419664B2 (en) Image sensors with phase detection pixels and a variable aperture
JP4510930B2 (ja) 撮像装置及び半導体回路素子
CN102227665A (zh) 固态摄像元件和摄像设备
JP2007271301A (ja) 撮像装置
SE523318C2 (sv) Kamerabaserad avstånds- och vinkelmätare
JP2001141430A (ja) 画像撮像装置及び画像処理装置
JP2008211631A (ja) 焦点検出素子、焦点検出装置および撮像装置
TWI754809B (zh) 影像感測裝置
CN105391934A (zh) 焦点检测设备、其控制方法以及摄像装置
US11178372B1 (en) Image signal processor, image signal processing method and electronic device thereof
US10410374B2 (en) Image sensors with calibrated phase detection pixels
JP2023159227A5 (ja)
JP5385672B2 (ja) 撮像装置
JP4642547B2 (ja) 焦点検出装置
JP5434816B2 (ja) 測距装置及び撮像装置
TWI786569B (zh) 紅外線攝影裝置
US9967452B2 (en) Imaging apparatus and imaging method for controlling auto-focus
KR20160011533A (ko) 이미지 촬영 장치, 이미지 촬영 방법 및 비일시적 기록매체
JP6503646B2 (ja) 撮像装置及びノイズ補正方法
TW202143213A (zh) 電子機器
KR101839357B1 (ko) 촬상 장치 및 촬상 방법
JP4576157B2 (ja) カメラの焦点検出装置