以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
本実施形態に係る撮像装置の一例としてのデジタルカメラは、1つのシーンについて複数の視点数の画像を一度の撮影により生成できるように構成されている。互いに視点の異なるそれぞれの画像を視差画像と呼ぶ。
図1は、本発明の実施形態に係るデジタルカメラ10の構成を説明する図である。デジタルカメラ10は、本体ユニット30と本体ユニット30に着脱できるレンズユニット50とから構成される。レンズユニット50が備える撮影レンズ20は、光軸21に沿って入射する入射光束を、本体ユニット30が備える撮像素子100へ導く。本実施形態においては、デジタルカメラ10を、レンズユニット50が交換できるレンズ交換式カメラとして説明するが、レンズユニット50が本体ユニット30と一体的に構成されるタイプのカメラであっても良い。
本体ユニット30は、撮像素子100、制御部201、A/D変換回路202、メモリ203、駆動部204、画像処理部205、メモリカードIF207、操作部208、表示部209、表示制御部210、AFセンサ211およびレリーズスイッチ212を備える。レンズユニット50は、撮影レンズ20に加え、レンズ制御部231、レンズメモリ232、フォーカスレンズ駆動部233、シフトユニットの一例としての補正レンズユニット234を備える。
なお、図示するように、撮像素子100へ向かう光軸21に平行な方向をz軸プラス方向と定め、z軸と直交する平面において紙面手前へ向かう方向をx軸プラス方向、紙面上方向をy軸プラス方向と定める。以降のいくつかの図においては、図1の座標軸を基準として、それぞれの図の向きがわかるように座標軸を表示する。
撮影レンズ20は、フォーカスレンズ22、補正レンズ23等を含む複数の光学レンズ群から構成され、シーンからの被写体光束をその焦点面近傍に結像させる。撮像素子100は、撮影レンズ20の焦点面近傍に配置されている。撮像素子100は、二次元的に複数の光電変換素子が配列された、例えばCCD、CMOSセンサ等のイメージセンサである。撮像素子100は、駆動部204によりタイミング制御されて、受光面上に結像された被写体像を画像信号に変換してA/D変換回路202へ出力する。
A/D変換回路202は、撮像素子100が出力する画像信号をデジタル画像信号に変換してメモリ203へ出力する。画像処理部205は、メモリ203をワークスペースとして種々の画像処理を施し、画像データを生成する。また、画像処理部205は、撮像素子100の画素配列に即して、入力される画像信号から非視差画像データとしての2D画像データおよび視差画像データを生成したり、選択された画像フォーマットに従って画像データを調整したりする機能も担う。生成された画像データは、表示制御部210により表示信号に変換され、表示部209に表示され得る。また、生成された画像データは、メモリカードIF207に装着されているメモリカード220に記録され得る。
AFセンサ211は、被写体空間に対して複数の測距点が設定された位相差センサであり、それぞれの測距点において被写体像のデフォーカス量を検出する。一連の撮影シーケンスは、操作部208がユーザの操作を受け付けて、制御部201へ操作信号を出力することにより開始される。撮影シーケンスに付随するAF,AE等の各種動作は、制御部201に制御されて実行される。例えば、制御部201は、AFセンサ211の検出信号を解析して、撮影レンズ20の一部を構成するフォーカスレンズを移動させる合焦制御信号をレンズ制御部231へ送信する。
レリーズスイッチ212は、押下げ方向に2段階に検知できる押しボタンで構成されている。制御部201は、1段階目の押下げであるSW1の検知により撮影準備動作であるAF、AE等を実行し、2段階目の押下げであるSW2の検知により撮像素子100による撮像動作を実行する。
デジタルカメラ10は、通常の撮影モードの他に視差画像撮影モードを備える。ユーザは、これらのいずれかのモードを、メニュー画面が表示された表示部209を視認しながら、操作部208を操作することにより選択することができる。また、本実施形態の視差画像撮影モードにおいては、ユーザは、複数の視差画像数の中から任意の視差画像数を選択することができる。
制御部201の一部であるカメラメモリ213は、例えばフラッシュメモリなどの不揮発性メモリであり、デジタルカメラ10を制御するプログラム、各種パラメータなどを記憶する役割を担う。カメラメモリ213は、例えば、視差画像撮影モードにおいて選択可能な視差画像数毎に、補正レンズユニット234を駆動する際のシフト方向およびシフト量、並びに撮像回数を記憶している。
また、制御部201は、ユーザから視差画素数の選択を受け付けた後、カメラメモリ213を参照して、ユーザによって選択された視差画像数に応じたシフト方向およびシフト量を定める。そして、制御部201は、レンズ制御部231および補正レンズ駆動部235を介して補正レンズユニット234を駆動しつつ、撮像素子100による複数回の撮像動作を実行する。制御部201の具体的な処理内容は、後述する。
レンズ制御部231は、レンズユニット50の制御を司る。レンズ制御部231は、例えば、合焦制御信号を制御部201から受信して、フォーカスレンズ駆動部233を介してフォーカスレンズを移動させる。また、レンズ制御部231は、フォーカスレンズを含む撮影レンズ20の現在位置を検出して制御部201へ送信する。
補正レンズユニット234は、補正レンズ23、補正レンズ駆動部235を含む。補正レンズ駆動部235は、補正レンズ23の位置を検出する位置検出センサと、デジタルカメラ10に加えられるブレを検出する振れ検出センサと、補正レンズ23を駆動する2つのVCM(Voice Coil Motor)を備える。補正レンズ駆動部235は、振れ検出センサから検出されたデジタルカメラ10のブレを打ち消すように、位置検出センサの出力を加味して、VCMによって補正レンズ23を駆動する。これにより、被写体像は、撮像素子100の受光面上で安定した結像状態を維持する。
また、レンズ制御部231は、制御部201の制御に従って、定められたシフト方向およびシフト量に応じて補正レンズ23を駆動するよう補正レンズ駆動部235を制御する。補正レンズ駆動部235は、定められたシフト方向およびシフト量に応じて補正レンズ23を駆動する。
レンズメモリ232は、レンズユニット50に関する各種特性値を記憶している不揮発性メモリである。レンズ制御部231は、制御部201の要求に従って、撮影レンズ20の位置情報、レンズメモリ232が記憶している各種特性値等をレンズ情報として制御部201へ送信する。
次に、撮像素子100の構成について詳細に説明する。図2は、撮像素子100の断面を表す概略図である。図示するように、撮像素子100は、被写体側から順に、マイクロレンズ101、カラーフィルタ102、光束制限部の一例としての開口マスク103、配線層105および光電変換素子108が配列されて構成されている。光電変換素子108は、入射する光を電気信号に変換するフォトダイオードにより構成される。光電変換素子108は、基板109の表面に二次元的に複数配列されている。
光電変換素子108により変換された画像信号、光電変換素子108を制御する制御信号等は、配線層105に設けられた配線106を介して送受信される。開口マスク103は、開口部104を有し、光電変換素子108の少なくとも一部のそれぞれに一対一に対応して設けられている。開口マスク103は、対応する光電変換素子108の上方に、配線層105に接した状態で設けられている。開口部104は、後述するように、対応する光電変換素子108ごとにシフトさせて、相対的な位置が厳密に定められている。詳しくは後述するが、この開口部104を備える開口マスク103の作用により、光電変換素子108が受光する被写体光束に視差が生じる。
一方、視差を生じさせない光電変換素子108上には、開口マスク103が存在しない。別言すれば、対応する光電変換素子108に対して入射する被写体光束を制限しない、つまり有効光束の全体を通過させる開口部104を有する開口マスク103が設けられているとも言える。視差を生じさせることはないが、実質的には配線106によって形成される開口107が入射する被写体光束を規定するので、配線106を、視差を生じさせない有効光束の全体を通過させる開口マスクと捉えることもできる。開口マスク103は、各光電変換素子108に対応して別個独立に配列しても良いし、カラーフィルタ102の製造プロセスと同様に複数の光電変換素子108に対して一括して形成しても良い。
カラーフィルタ102は、開口マスク103上に設けられている。カラーフィルタ102は、各光電変換素子108に対して特定の波長帯域を透過させるように着色された、光電変換素子108のそれぞれに一対一に対応して設けられるフィルタである。カラー画像を出力するには、互いに異なる少なくとも2種類のカラーフィルタが配列されれば良いが、より高画質のカラー画像を取得するには3種類以上のカラーフィルタを配列すると良い。例えば赤色波長帯を透過させる赤フィルタ、緑色波長帯を透過させる緑フィルタ、および青色波長帯を透過させる青フィルタを格子状に配列すると良い。具体的な配列については後述する。
マイクロレンズ101は、カラーフィルタ102上に設けられている。マイクロレンズ101は、入射する被写体光束のより多くを光電変換素子108へ導くための集光レンズである。マイクロレンズ101は、光電変換素子108のそれぞれに一対一に対応して設けられている。マイクロレンズ101は、撮影レンズ20の瞳中心と光電変換素子108の相対的な位置関係を考慮して、より多くの被写体光束が光電変換素子108に導かれるようにその光軸がシフトされていることが好ましい。さらには、開口マスク103の開口部104の位置と共に、後述の特定の被写体光束がより多く入射するように配置位置が調整されても良い。
このように、各々の光電変換素子108に対応して一対一に設けられる開口マスク103、カラーフィルタ102およびマイクロレンズ101の一単位を画素と呼ぶ。特に、視差を生じさせる開口マスク103が設けられた画素を視差画素、視差を生じさせる開口マスク103が設けられていない画素を視差なし画素と呼ぶ。例えば、撮像素子100の有効画素領域が24mm×16mm程度の場合、画素数は1200万程度に及ぶ。
なお、集光効率、光電変換効率が良いイメージセンサの場合は、マイクロレンズ101を設けなくても良い。また、裏面照射型イメージセンサの場合は、配線層105が光電変換素子108とは反対側に設けられる。
次に、開口マスク103の開口部104と、生じる視差の関係について説明する。図3は、撮像素子100の一部を拡大した様子を表す概略図である。ここでは、説明を簡単にすべく、カラーフィルタ102の配色については後に言及を再開するまで考慮しない。カラーフィルタ102の配色に言及しない以下の説明においては、同色のカラーフィルタ102を有する視差画素のみを寄せ集めたイメージセンサであると捉えることができる。したがって、以下に説明する繰り返しパターンは、同色のカラーフィルタ102における隣接画素として考えても良い。
図3に示すように、開口マスク103の開口部104は、それぞれの画素に対して相対的にシフトして設けられている。そして、隣接する画素同士においても、それぞれの開口部104は互いに変位した位置に設けられている。
図の例においては、それぞれの画素に対する開口部104の位置として、互いに左右方向にシフトした6種類の開口マスク103が用意されている。そして、撮像素子100の全体は、紙面左側から右側へ徐々にシフトする開口マスク103をそれぞれ有する6つの視差画素を一組とする光電変換素子群が、二次元的かつ周期的に配列されている。つまり、撮像素子100は、一組の光電変換素子群を含む繰り返しパターン110が、周期的に敷き詰められて構成されていると言える。
図4は、視差画素と被写体の関係を説明する概念図である。特に図4(a)は撮像素子100のうち撮影光軸21と直交する中心に配列されている繰り返しパターン110tの光電変換素子群を示し、図4(b)は周辺部分に配列されている繰り返しパターン110uの光電変換素子群を模式的に示している。図4(a)、(b)における被写体90は、撮影レンズ20に対して合焦位置に存在する。図4(c)は、図4(a)に対応して、撮影レンズ20に対して非合焦位置に存在する被写体91を捉えた場合の関係を模式的に示している。
まず、撮影レンズ20が合焦状態に存在する被写体90を捉えている場合の、視差画素と被写体の関係を説明する。被写体光束は、撮影レンズ20の瞳を通過して撮像素子100へ導かれるが、被写体光束が通過する全体の断面領域に対して、6つの部分領域Pa〜Pfが規定されている。そして、例えば繰り返しパターン110t、110uを構成する光電変換素子群の紙面左端の画素は、拡大図からもわかるように、部分領域Pfから射出された被写体光束のみが光電変換素子108へ到達するように、開口マスク103の開口部104fの位置が定められている。同様に、右端の画素に向かって、部分領域Peに対応して開口部104eの位置が、部分領域Pdに対応して開口部104dの位置が、部分領域Pcに対応して開口部104cの位置が、部分領域Pbに対応して開口部104bの位置が、部分領域Paに対応して開口部104aの位置がそれぞれ定められている。
別言すれば、例えば部分領域Pfと左端画素の相対的な位置関係によって定義される、部分領域Pfから射出される被写体光束の主光線Rfの傾きにより、開口部104fの位置が定められていると言っても良い。そして、合焦位置に存在する被写体90からの被写体光束を、開口部104fを介して光電変換素子108が受光する場合、その被写体光束は、点線で図示するように、光電変換素子108上で結像する。同様に、右端の画素に向かって、主光線Reの傾きにより開口部104eの位置が、主光線Rdの傾きにより開口部104dの位置が、主光線Rcの傾きにより開口部104cの位置が、主光線Rbの傾きにより開口部104bの位置が、主光線Raの傾きにより開口部104aの位置がそれぞれ定められていると言える。
図4(a)で示すように、合焦位置に存在する被写体90のうち、光軸21と交差する被写体90上の微小領域Otから放射される光束は、撮影レンズ20の瞳を通過して、繰り返しパターン110tを構成する光電変換素子群の各画素に到達する。すなわち、繰り返しパターン110tを構成する光電変換素子群の各画素は、それぞれ6つの部分領域Pa〜Pfを介して、一つの微小領域Otから放射される光束を受光している。微小領域Otは、繰り返しパターン110tを構成する光電変換素子群の各画素の位置ずれに対応する分だけの広がりを有するが、実質的には、ほぼ同一の物点と近似することができる。同様に、図4(b)で示すように、合焦位置に存在する被写体90のうち、光軸21から離間した被写体90上の微小領域Ouから放射される光束は、撮影レンズ20の瞳を通過して、繰り返しパターン110uを構成する光電変換素子群の各画素に到達する。すなわち、繰り返しパターン110uを構成する光電変換素子群の各画素は、それぞれ6つの部分領域Pa〜Pfを介して、一つの微小領域Ouから放射される光束を受光している。微小領域Ouも、微小領域Otと同様に、繰り返しパターン110uを構成する光電変換素子群の各画素の位置ずれに対応する分だけの広がりを有するが、実質的には、ほぼ同一の物点と近似することができる。
つまり、被写体90が合焦位置に存在する限りは、撮像素子100上における繰り返しパターン110の位置に応じて、光電変換素子群が捉える微小領域が異なり、かつ、光電変換素子群を構成する各画素は互いに異なる部分領域を介して同一の微小領域を捉えている。そして、それぞれの繰り返しパターン110において、対応する画素同士は同じ部分領域からの被写体光束を受光している。つまり、図においては、例えば繰り返しパターン110t、110uのそれぞれの左端の画素は、同じ部分領域Pfからの被写体光束を受光している。
撮影光軸21と直交する中心に配列されている繰り返しパターン110tにおいて左端画素が部分領域Pfからの被写体光束を受光する開口部104fの位置と、周辺部分に配列されている繰り返しパターン110uにおいて左端画素が部分領域Pfからの被写体光束を受光する開口部104fの位置は厳密には異なる。しかしながら、機能的な観点からは、部分領域Pfからの被写体光束を受光するための開口マスクという点で、これらを同一種類の開口マスクとして扱うことができる。したがって、図4の例では、撮像素子100上に配列される視差画素のそれぞれは、6種類の開口マスクの一つを備えると言える。
次に、撮影レンズ20が非合焦状態に存在する被写体91を捉えている場合の、視差画素と被写体の関係を説明する。この場合も、非合焦位置に存在する被写体91からの被写体光束は、撮影レンズ20の瞳の6つの部分領域Pa〜Pfを通過して、撮像素子100へ到達する。ただし、非合焦位置に存在する被写体91からの被写体光束は、光電変換素子108上ではなく他の位置で結像する。例えば、図4(c)に示すように、被写体91が被写体90よりも撮像素子100に対して遠い位置に存在すると、被写体光束は、光電変換素子108よりも被写体91側で結像する。逆に、被写体91が被写体90よりも撮像素子100に対して近い位置に存在すると、被写体光束は、光電変換素子108よりも被写体91とは反対側で結像する。
したがって、非合焦位置に存在する被写体91のうち、微小領域Ot'から放射される被写体光束は、6つの部分領域Pa〜Pfのいずれを通過するかにより、異なる組の繰り返しパターン110における対応画素に到達する。例えば、部分領域Pdを通過した被写体光束は、図4(c)の拡大図に示すように、主光線Rd'として、繰り返しパターン110t'に含まれる、開口部104dを有する光電変換素子108へ入射する。そして、微小領域Ot'から放射された被写体光束であっても、他の部分領域を通過した被写体光束は、繰り返しパターン110t'に含まれる光電変換素子108へは入射せず、他の繰り返しパターンにおける対応する開口部を有する光電変換素子108へ入射する。換言すると、繰り返しパターン110t'を構成する各光電変換素子108へ到達する被写体光束は、被写体91の互いに異なる微小領域から放射された被写体光束である。すなわち、開口部104dに対応する108へは主光線をRd'とする被写体光束が入射し、他の開口部に対応する光電変換素子108へは主光線をRa+、Rb+、Rc+、Re+、Rf+とする被写体光束が入射するが、これらの被写体光束は、被写体91の互いに異なる微小領域から放射された被写体光束である。このような関係は、図4(b)における周辺部分に配列されている繰り返しパターン110uにおいても同様である。
すると、撮像素子100の全体で見た場合、例えば、開口部104aに対応する光電変換素子108で捉えた被写体像Aと、開口部104dに対応する光電変換素子108で捉えた被写体像Dは、合焦位置に存在する被写体に対する像であれば互いにずれが無く、非合焦位置に存在する被写体に対する像であればずれが生じることになる。そして、そのずれは、非合焦位置に存在する被写体が合焦位置に対してどちら側にどれだけずれているかにより、また、部分領域Paと部分領域Pdの距離により、方向と量が定まる。つまり、被写体像Aと被写体像Dは、互いに視差像となる。この関係は、他の開口部に対しても同様であるので、開口部104aから104fに対応して、6つの視差像が形成されることになる。
したがって、このように構成されたそれぞれの繰り返しパターン110において、互いに対応する画素の出力を寄せ集めると、視差画像が得られる。つまり、6つの部分領域Pa〜Pfうちの特定の部分領域から射出された被写体光束を受光した画素の出力は、視差画像を形成する。
続いて、図5、6は、視差画像数の増加の原理を説明する図である。図5の左図は、図4(a)と同一であり、撮影レンズ20に対して合焦位置に存在する被写体90を捉えた場合の関係を模式的に示している。図5の右図は、図5の左図の状態から、補正レンズ23が右方向にシフトされた状態を示している。図5の右図において、シフト前の瞳位置および部分領域Pa〜pfを破線で、シフト後の瞳位置および部分領域Pg〜Plを実線で示す。なお、シフト前の補正レンズ23は、撮像素子100の受光面上における、予め定められた領域に被写体像が結像するよう、その位置が規定される。一例として、補正レンズ23は、補正レンズ23の光軸が他の光学系の光軸と一致するように、初期位置が規定される。
上述のように、例えば開口マスク103の開口部104fの位置は、主光線Rfの傾きによって定められているので、図5の左図に示すように、部分領域Pfから射出された被写体光束のみが光電変換素子108fへ到達する。ところが、補正レンズ23が右方向にシフトされることによって、部分領域Pfは、主光線Rfの傾きに対応する位置に存在しなくなる。代わりに、図5の右図に示すように、シフト前の部分領域Pfに相当する位置、すなわち主光線Rfの傾きに相当する主光線Rlに対応する位置には、部分領域Plが規定されている。したがって、開口マスク103の開口部104fに対応する光電変換素子108fには、部分領域Plから射出された光束が到達することになる。つまり、補正レンズ23が右方向にシフトされることによって、光電変換素子108fからずれた位置に指向していた入射光束、すなわち微小領域Otにおける、部分領域Pa〜Pfに対応する物点とは異なる物点から部分領域Plに指向していた入射光束が、光電変換素子108fに指向することになる。
なお、入射光束のうち開口部を通過した部分光束のみが光電変換素子に到達する。また、物点から部分領域Plに指向していた入射光束が、光電変換素子108fに指向するとは、当該物点から放射される被写体光束が、光電変換素子108fに向かうことである。つまり、当該物点と光電変換素子108fに対応する画素とが、結像関係を有するとも言える。
同様に、開口マスク103の開口部104eに対応する光電変換素子108eには、部分領域Pkから射出された光束Rkが、開口マスク103の開口部104dに対応する光電変換素子108dには、部分領域Pjから射出された光束Rjが、それぞれ到達することになる。さらに、開口マスク103の開口部104cに対応する光電変換素子108cには、部分領域Piから射出された光束Riが、開口マスク103の開口部104bに対応する光電変換素子108bには、部分領域Phから射出された光束Rhが、開口マスク103の開口部104aに対応する光電変換素子108aには、部分領域Pgから射出された光束Rgが、それぞれ到達することになる。
図6の左図は、図4(c)と同一であり、撮影レンズ20に対して非合焦位置に存在する被写体91を捉えた場合の関係を模式的に示している。図6の右図は、図6の左図の状態から、補正レンズ23が右方向にシフトされた状態を示している。図6の右図において、シフト前の瞳位置および部分領域Pa〜pfを破線で、シフト後の瞳位置および部分領域Pg〜Plを実線で示す。補正レンズ23のシフト後において、撮影レンズ20が非合焦状態に存在する被写体91を捉えている場合には、微小領域Ot'から放射される被写体光束は、6つの部分領域Pg〜Plのいずれを通過するかにより、異なる組の繰り返しパターン110における対応画素に到達することになる。
例えば、部分領域Pdを通過した被写体光束は、図6の右図の拡大図に示すように、主光線Rjとして、繰り返しパターン110t'に含まれる、開口部104dを有する光電変換素子108dへ入射する。そして、微小領域Ot'から放射された被写体光束であっても、他の部分領域を通過した被写体光束は、繰り返しパターン110t'に含まれる光電変換素子108a〜108c、108e、108fへは入射せず、他の繰り返しパターンにおける対応する開口部を有する光電変換素子108a〜108c、108e、108fへ入射する。
繰り返しパターン110t'を構成する各光電変換素子108a〜108fへ到達する被写体光束は、被写体91の互いに異なる微小領域であり、かつ、各々の微小領域においてシフト前に光電変換素子108a〜108fが受光した被写体光束を放射した物点とは異なる物点から放射される。すなわち、開口部104dに対応する光電変換素子108dへは主光線をRjとする被写体光束が入射し、他の開口部に対応する光電変換素子108a〜108c、108e、108fへは主光線をRg+、Rh+、Ri+、Rk+、Rl+とする被写体光束が入射するが、これらの被写体光束は、被写体91の互いに異なる微小領域であり、かつ、シフト前に光電変換素子108a〜108fが受光した被写体光束を放射した微小領域とは異なる微小領域から放射される。
すると、撮像素子100の全体で見た場合、シフト前において、開口部104aから104fに対応して形成される6つの視差像に加えて、さらに、6つの視差像が形成されることになる。そして、6つの部分領域Pg〜Plに対応する画素の出力をそれぞれ寄せ集めると、新たに6つの視差画像が得られる。つまり、補正レンズ23がシフトされることによって、12の視差画像が得られることになる。
なお、補正レンズ23のシフト前において、部分領域Paが瞳の端に位置する場合には、補正レンズ23のシフト後において、部分領域Paに対応する部分領域Pgが存在しない場合があり得る。この場合、光電変換素子108aは、部分領域Pgからの入射光束を受光することはできない。したがって、この場合には、補正レンズ23のシフトの結果として、新たに5つの視差画像が得られることになる。
続いて、視差画素数の増加の具体例について説明する。上述の例では、視差画素の種類を6つとして説明したが、以降では、説明を簡単にするために、視差画素の種類を4つとして説明する。また、上述の例では、繰り返しパターン110として視差画素が連続して配列された例について説明したが、隣接する視差画素間に視差なし画素が配置されてもよい。この場合には、各視差画素間に同数の視差なし画素が配置される。以降の説明では、隣接する視差画素間に視差なし画素が配置された例について説明する。
図7は、視差画像数の増加処理の一例を説明する図である。図7は、撮像素子100における一つの繰り返しパターン110がシフトされる様子を示している。この例における繰り返しパターン110は、左右に8画素、上下に1画素の8画素からなり、紙面左側から右側へ徐々にシフトする開口マスク103をそれぞれ有する視差画素が、1画素おきに配置されている。ここで、この例における繰り返しパターン110は、微小領域からの被写体光束に対して、視差を形成する一つの画素セットとなる。また、この例においては、隣接する視差画素間にはそれぞれ、1つの視差なし画素が配置されている。したがって、隣接する視差画素間の距離のそれぞれは同一となる。この隣接する視差画素間の距離を相互距離Dとする。ここでは、相互間隔Dは2画素ピッチ(=2P)に相当する。また、相互間隔に満たない距離、すなわちシフト量をD/2とする。相互間隔に満たない距離D/2は、1画素ピッチ(=1P)に相当する。また、ここでは、紙面左側から右側へ徐々にシフトする開口マスク103が用いられているので、左右方向の視差が形成されることになる。したがって、開口マスク103によって定められる視差方向は、左右方向である。ここでは、シフト方向として紙面右方向を採用する。
図示するように、撮像素子100の画素配列に対して、右向きにi軸を定める。iは入射光束が入射される位置を表しており、iの値が異なれば、異なる入射光束が入射することを表す。つまり、iの値は、入射光束に対応しているとも言える。例えば、図7(a)においてi=1に対応する位置の画素301と、i=2に対応する一の画素302には異なる入射光束が入射される。また、撮像素子のシフトの前後において、iの値が共通する位置に存在する画素には、同一の入射光束が入射する。ここで、繰り返しパターン110における画素301に対応する光電変換素子を基準の光電変換素子とする。
本実施の形態において、制御部201は、補正レンズ23を駆動することによって、入射光束を撮像素子100に対しシフトさせる。ここで、入射光束を基準にすれば、制御部201による補正レンズ23の駆動によって、撮像素子100が入射光束に対してシフトすることになる。図7以降では、入射光束を固定とした上で撮像素子100がシフトされた状態を図示している。なお、以降の説明においては、説明の便宜上、「撮像素子のシフト」という文言が登場するが、本実施形態においては、これまでに説明したように、実際に駆動されるのは、あくまで補正レンズ23である。
制御部201は、図7(a)に示す状態で、1回目の撮像動作を実行する。その後、制御部201は、開口マスク103によって定められる視差方向について、光電変換素子の相互間隔に満たない距離だけずれた位置に指向していた入射光束が、基準の光電変換素子(画素301)に指向するように、補正レンズ23を駆動する。これにより、制御部201は、入射光束を撮像素子に対してシフトさせる。
したがって、制御部201は、左方向にD/2だけずれた位置に指向していた入射光束が、基準の光電変換素子(画素301)に指向するように、補正レンズ23を左方向にD/2シフトさせる。したがって、入射光束を基準とすれば、相対的には、図7(b)に示すように、繰り返しパターン110は、入射光束に対して右方向にD/2シフトされる。制御部201は、図7(b)に示す状態で2回目の撮像動作を実行する。
ここで、図7(a)、図7(b)において、i=2の位置に着目すると、図7(a)においては、繰り返しパターン110における画素302に対応する光電変換素子が位置している。一方、図7(b)においては、i=2には画素301に対応する基準の光電変換素子が位置している。iの値が同一であれば、シフト前後のそれぞれの画素に、同一の入射光束が入射するので、撮像素子のシフト前のi=2に位置する光電変換素子と、シフト後のi=2に位置する光電変換素子には、同一の入射光束が入射することになる。
したがって、画素301に対応する基準の光電変換素子は、i=2に対応する物点とi=2に対応する物点の中間の物点からの入射光束を受光することができる。その結果、視差画素301と視差画素303の中間の視差画素について、あたかも視差画素がそこにあるかのように出力値を得ることができる。
同様に、繰り返しパターン110における画素303に対応する光電変換素子を基準の光電変換素子とした場合、画素304に対応する光電変換素子を基準の光電変換素子とした場合にもそれぞれ、視差画素303と視差画素304の中間の視差画素、視差画素304と視差画素305の中間の視差画素が形成される。よって、画像処理部205は、1回目および2回目の撮像動作により得られる画素データの両方を用いることで、7つの視差画像を生成することができる。なお、ここでは、画素301と画素305の間の領域においてのみ視差が形成されるものとする。
図8は、視差画像数の増加処理の他の例を説明する図である。図8は、撮像素子100における一つの繰り返しパターン110がシフトされる様子を示している。この例における繰り返しパターン110は、図7と同一である。したがって、視差方向は、左右方向であり、相互間隔Dは、2画素ピッチに相当する。ただし、この例では、相互間隔に満たない距離をD/3とする。相互間隔に満たない距離D/3は、2/3画素ピッチに相当する。
また、図示するように、図7と同様に、撮像素子100の画素配列に対して、右向きにi軸を定める。i軸については、図7で説明した通りである。また、繰り返しパターン110における画素301に対応する光電変換素子を基準の光電変換素子とする。
制御部201は、図8(a)に示す状態で、1回目の撮像動作を実行する。その後、制御部201は、開口マスクによって定められる視差方向について、光電変換素子の相互間隔に満たない距離だけずれた位置に指向していた入射光束が、基準の光電変換素子(画素301)に指向するように、補正レンズ23を駆動する。
したがって、制御部201は、左方向にD/3だけずれた位置に指向していた入射光束が、基準の光電変換素子(画素301)に指向するように、補正レンズ23を左方向にD/3シフトさせる。したがって、入射光束を基準とすれば、相対的には、図8(b)に示すように、繰り返しパターン110は、入射光束に対して右方向にD/3シフトされる。制御部201は、図8(b)に示す状態で2回目の撮像動作を実行する。
ここで、図8(b)において、画素301は、i=1とi=2の間であるi=2/3に位置している。したがって、画素301には、i=1およびi=2に対応する入射光束とは異なる入射光束が入射する。よって、画素301に対応する基準の光電変換素子は、i=1に対応する物点とi=2に対応する物点の間の物点からの入射光束を受光することができる。その結果、視差画素301と視差画素303の間の視差画素について、あたかも視差画素がそこにあるかのように出力値を得ることができる。
同様に、繰り返しパターン110における画素303に対応する光電変換素子を基準の光電変換素子とした場合、画素304に対応する光電変換素子を基準の光電変換素子とした場合にもそれぞれ、視差画素303と視差画素304の間の視差画素、視差画素304と視差画素305の間の視差画素が形成される。
その後、制御部201は、さらに、開口マスクによって定められる視差方向について、光電変換素子の相互間隔に満たない距離だけずれた位置に指向していた入射光束が、基準の光電変換素子(画素301)に指向するように、補正レンズ23を駆動する。ここでは、制御部201は、左方向にD/3だけずれた位置に指向していた入射光束が、基準の光電変換素子に指向するように、補正レンズ23を左方向にD/3シフトさせる。したがって、入射光束を基準とすれば、相対的には、図8(c)に示すように、繰り返しパターン110は、入射光束に対して右方向にD/3シフトされる。制御部201は、図8(c)に示す状態で3回目の撮像動作を実行する。
ここで、図8(c)において、画素301は、i=2とi=3の間であるi=4/3に位置している。したがって、画素301には、i=2およびi=3に対応する入射光束とは異なる入射光束が入射する。画素301に対応する基準の光電変換素子は、i=2に対応する物点とi=3に対応する物点の間の物点からの入射光束を受光することができる。その結果、図8(b)で形成された新たな視差画素に加えて、視差画素301と視差画素303の間の視差画素がさらに形成される。
同様に、繰り返しパターン110における画素303に対応する光電変換素子を基準の光電変換素子とした場合、画素304に対応する光電変換素子を基準の光電変換素子とした場合にもそれぞれ、視差画素303と視差画素304の間の視差画素、視差画素304と視差画素305の間の視差画素が形成される。よって、画像処理部205は、1回目、2回目および3回目の撮像動作により得られる画素データを用いることで、10の視差画像を生成することができる。ここでは、画素301と画素305の間の領域においてのみ視差が形成されるものとする。
図9は、カラーフィルタ配列を説明する図である。図9(a)は、ベイヤー配列を説明する図である。図示するように、ベイヤー配列は、緑フィルタが左上と右下の2画素に、赤フィルタが左下の1画素に、青フィルタが右上の1画素に割り当てられる配列である。ここでは、緑フィルタが割り当てられた左上の画素をGb画素と、同じく緑色フィルタが割り当てられた右下の画素をGr画素とする。また、赤色フィルタが割り当てられた画素をR画素と、青色が割り当てられた画素をB画素とする。そして、Gb画素およびB画素が並ぶ横方向をGb行とし、R画素およびGr画素が並ぶ横方向をGr行とする。また、Gb画素およびR画素が並ぶ縦方向をGb列とし、B画素およびGr画素が並ぶ縦方向をGr列とする。
このようなカラーフィルタ102の配列に対して、視差画素と視差なし画素を、何色の画素にどのような周期で割り振っていくかにより、膨大な数の繰り返しパターン110が設定され得る。視差なし画素の出力を集めれば、通常の撮影画像と同じく視差のない撮影画像データを生成することができる。したがって、相対的に視差なし画素の割合を増やせば、解像度の高い2D画像を出力させることができる。この場合、視差画素は相対的に少ない割合となるので、複数の視差画像からなる3D画像としては画質が低下する。逆に、視差画素の割合を増やせば、3D画像としては画質が向上するが、視差なし画素は相対的に減少するので、解像度の低い2D画像が出力される。
図9(b)は、他のカラーフィルタ配列を説明する図である。図示するように、他のカラーフィルタ配列は、図9(a)で示したベイヤー配列のGr画素を緑フィルタが割り当てられるG画素として維持する一方、Gb画素をカラーフィルタが割り当てられないW画素に変更した配列である。なお、W画素は、上述のように、可視光のおよそ全ての波長帯域を透過させるように、着色を施さない透明フィルタが配列されていても良い。
このようなW画素を含むカラーフィルタ配列を採用すれば、撮像素子が出力するカラー情報の精度は若干低下するものの、W画素が受光する光量はカラーフィルタが設けられている場合に比較して多いので、精度の高い輝度情報を取得できる。W画素の出力を寄せ集めれば、モノクロ画像を形成することもできる。
W画素を含むカラーフィルタ配列の場合、視差画素と視差なし画素の繰り返しパターン110は、さらなるバリエーションが存在する。例えば、比較的暗い環境下で撮影された画像であっても、カラー画素から出力された画像に比較してW画素から出力された画像であれば、被写体像のコントラストが高い。そこで、W画素に視差画素を割り振れば、複数の視差画像間で行うマッチング処理において、精度の高い演算結果が期待できる。したがって、2D画像の解像度および視差画像の画質への影響に加え、抽出される他の情報への利害得失も考慮して、視差画素と視差なし画素の繰り返しパターン110が設定される。
図10は、視差画像と2D画像の生成過程を示す概念図である。図の例においては、ベイヤー配列の4画素が左右に4組続く16画素を繰り返しパターン110とする。16画素のうち、最も左側のGb画素に視差画素1を、左から2番目のGb画素に視差画素2を、左から3番目のGb画素に視差画素3を、最も右側のGb画素に視差画素4を割り当てる。なお、この例においては、図8で説明したように、制御部201が補正レンズ23を駆動させつつ撮像動作を3回実行した場合について説明する。図10(a)は、撮像素子100における一つの繰り返しパターン110およびその周囲の出力を、その画素配列に一致させてそのまま羅列した様子を示す。図においては、図8の例に即して画素の種類が理解されるように記載するが、実際には各画素に対応した出力値が並ぶ。図10(b)は、図10(a)に示す撮像画像データ1〜3から、各視差画素を抽出した図を示す。
図10(b)に示すように、撮像画像データ1において視差画素1の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、画像データIm_1が生成される。一つの繰り返しパターン110に含まれる視差画素1は一つであるので、画像データを形成する各視差画素1は、それぞれ異なる繰り返しパターン110から寄せ集められていると言える。すなわち、寄せ集められたそれぞれの視差画素1の出力は、被写体の互いに異なる微小領域から放射された光が光電変換された結果であるので、画像データは、特定の視点(視点1)から被写体を捉えた一つの視差画像データとなる。
同様に、撮像画像データ2において視差画素1の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、画像データIm_2が生成される。寄せ集められたそれぞれの視差画素1の出力は、被写体の互いに異なる微小領域から放射された光が光電変換された結果であるので、画像データは、特定の視点(視点2)から被写体を捉えた一つの視差画像データとなる。
同様に、撮像画像データ3において視差画素1の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、画像データIm_3が生成される。撮像画像データ1において視差画素2の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、画像データIm_4が生成される。撮像画像データ2において視差画素2の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、画像データIm_5が生成される。撮像画像データ3において視差画素2の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、画像データIm_6が生成される。撮像画像データ1において視差画素3の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、画像データIm_7が生成される。撮像画像データ2において視差画素2の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、画像データIm_8が生成される。撮像画像データ3において視差画素3の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、画像データIm_9が生成される。撮像画像データ1において視差画素4の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、画像データIm_10が生成される。
被写体が非合焦位置に存在するときに、一つの繰り返しパターン110において、視差画素1〜4は、被写体の互いにずれた微小領域から放射される光束を受光する。そのずれは、被写***置の合焦位置に対する相対関係と瞳の部分領域の関係とから、方向と量が定まる。したがって、視差画素1〜4データのそれぞれにおいて、視差画素1〜4が撮像素子100上の相対的な位置関係を維持しながら寄せ集められていれば、それぞれが視差画像を形成する。補正レンズ23が右方向にD/3シフトされた場合の視差画素1〜3データのそれぞれにおいても、同様のことが言える。したがって、画像データIm_1〜画像データIm_10によって形成される各視差画像は、互いに視差を有する視差画像となる。
また、撮像画像データ1、撮像画像データ2、撮像画像データ3のそれぞれにおいて、視差なし画素の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、2D画像データ1、2D画像データ2、2D画像データ3が生成される。このとき、Gb画素は視差画素であるので、視差なし画素のみで構成されるベイヤー配列からの出力に対して、Gb画素の出力に相当する出力が欠落する。そこで、例えば、この欠落した出力の値として、Gr画素の出力値を代入する。つまり、Gr画素の出力で補間処理を行う。このように、補間処理を施せば、ベイヤー配列の出力に対する画像処理を採用して2D画像データ1、2D画像データ2、2D画像データ3を生成することができる。
なお、以上の画像処理は、画像処理部205によって実行される。画像処理部205は、制御部201を介して撮像素子100から出力される画像信号を受け取り、上述のようにそれぞれの画素の出力ごとに分配して画像データIm_1〜Im_10および2D画像データ1〜3を生成する。
また、2D画像データ1、2D画像データ2、2D画像データ3は、互いに異なる物点に対応する画素データから得られた画像データである。したがって、画像処理部205は、いわゆる超解像処理により光電変換素子の数より多い画素数を有する2D画像データを生成することができる。
図11は、視差画像撮影モードに設定されている場合の処理フローである。具体的には、図11は、撮像モードが視差画像撮影モードに設定されている状態において、制御部201が、SW2がオンになったことを検出した場合の処理フローを示す。撮像素子100に割り振られた視差画素の種類は4つとし、視差画像数として、4、7、10のいずれかを取り得るとする。
制御部201は、SW2がオンになったことを検出すると、撮像素子100による撮像動作を実行する(ステップS101)。1回目の撮像動作においては、補正レンズ23を用いた振れ補正機能により、シャッタ速度によって定められる露光時間を通じて、撮像素子100の受光面上に結像する被写体像が静止させられる。また、この撮像動作により得られる各画素の画素データは、画像処理部205によって撮像画像データとして生成された後、メモリ203に記憶される。
制御部201は、撮像動作を行った後、実行した撮像回数を示す変数iに1を代入する(ステップS102)。そして、制御部201は、視差画像数が4つに設定されているか判定する(ステップS103)。視差画像数が4つに設定されている場合には(ステップS103:Yes)、画像処理部205は、ステップS101で得られた撮像画像データを用いて、互いに視差を有する4つの視差画像データを生成するとともに2D画像データを生成する(ステップS104)。
視差画像数が4つに設定されていない場合には(ステップS103:No)、制御部201は、視差画像数が7つに設定されているか判定する(ステップS105)。視差画像数が7つに設定されている場合には(ステップS105:Yes)、制御部201は、カメラメモリ213を参照して、シフト方向dに1を、シフト量aにD/2を、必要な撮像回数を示す変数mに2をそれぞれ代入する(ステップS106)。なお、相互距離Dは、予めカメラメモリ213に記憶されている。また、シフト方向dは、1=左、2=右を表す。
一方、視差画像数が7つに設定されていない場合には(ステップS105:No)、視差画像数は10に設定されていることになる。この場合には、制御部201は、カメラメモリ213を参照して、シフト方向dに1を、シフト量aにD/3を、必要な撮像回数を示す変数mに3をそれぞれ代入する(ステップS107)。
制御部201は、シフト方向d、シフト量a、必要な撮像回数mを設定すると、設定したシフト方向d、シフト量aに応じて補正レンズ23を駆動した後(ステップS108)、再度撮像動作を実行する(ステップS109)。シフト後の撮像動作においては、補正レンズ23を用いた振れ補正機能により、シャッタ速度によって定められる露光時間を通じて、撮像素子100の受光面上のシフト分だけずれた領域に結像する被写体像が静止させられる。また、この撮像動作により得られる各画素の画素データについても、画像処理部205によって撮像画像データとして生成された後、メモリ203に記憶される。
制御部201は、実行した撮像回数iを1だけ計数し(ステップS110)、実行した撮像回数iが、必要な撮像回数mに達しているか判定する(ステップS111)。実行した撮像回数iが、必要な撮像回数mに達していれば(ステップS111:Yes)、ステップS104に移行する。例えば、視差画像数が7つに設定されている場合には、実行した撮像回数iは、必要な撮像回数mに達しているので、ステップS104に移行することになる。この場合、画像処理部205は、ステップS101、およびステップS109で得られた2つの撮像画像データを用いて、互いに視差を有する7つの視差画像データを生成するとともに2D画像データを生成する。
実行した撮像回数iが、必要な撮像回数mに達していなければ(ステップS111:No)、ステップ108に移行する。例えば、視差画像数が10に設定されている場合には、ステップS111の一度目の判定時において、実行した撮像回数iが必要な撮像回数mに達していないので、ステップ108に移行することになる。ステップS111の二度目の判定時においては、実行した撮像回数iは、必要な撮像回数mに達しているので、ステップS104に移行することになる。この場合、画像処理部205は、ステップS101、およびステップ109で得られた3つの撮像画像データを用いて、互いに視差を有する10の視差画像データを生成するとともに2D画像データを生成する(ステップS104)。
なお、画像処理部205は、視差画像データおよび2D画像データの生成の一方を省略してもよい。例えば、撮影モードが視差画像撮影モードに設定されている場合には、画像処理部205は、2D画像データの生成を省略してもよい。
以上の説明では、シフトユニットとして補正レンズユニットを例に挙げて説明したが、デジタルカメラが例えば撮像素子シフト式の手振れ補正機構を採用している場合には、シフトユニットは、撮像素子をxy方向にシフトさせる撮像素子シフトユニットとして実現されてもよい。この場合には、制御部201による制御に従って撮像素子シフトユニットが撮像素子100をシフトさせることによって、被写体像を撮像素子100に対してシフトさせることができる。
以上の説明では、光束制限部として開口マスク103を例に挙げて説明したが、光電変換部上に反射膜を設けることによって光束制限部を実現してもよい。この場合、反射膜は、一組の光電変換素子群における光電変換素子のそれぞれが入射光束に対して互いに異なる部分光束を通過させるように位置づけられた上で形成される。
以上の説明では、開口マスク103の作用によって光電変換素子が受光する被写体光束に視差が生じたが、マイクロレンズ、シリンドリカルレンズ等の集光レンズの作用によって視差を生じさせることもできる。集光レンズの作用によって視差を生じさせる構成について簡単に説明すると、当該構成では、一つの集光レンズに対して複数の光電変換素子が対応するよう配置される。そして、集光レンズは、複数の光電変換素子のそれぞれに、入射光束における互いに異なる部分光束を入射させる。したがって、この場合には、集光レンズを光束制限部とみなすことができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。