(58)【調査した分野】(Int.Cl.,DB名)
少なくとも一部の光電変換素子のそれぞれに対応してカラーフィルタと開口マスクを備え、少なくとも2つの視差画像データを出力する撮像素子から前記視差画像データを取得する画像データ取得部と、
前記撮像素子における前記光電変換素子の位置および前記開口マスクの開口偏位の少なくとも一方に基づいて、前記視差画像データ間に生じる対応画素の色バランス崩れを補正する補正部と
を備える画像処理装置。
少なくとも一部の光電変換素子のそれぞれに対応してカラーフィルタと開口マスクを備え、少なくとも2つの視差画像データを出力する撮像素子から前記視差画像データを取得する画像データ取得ステップと、
前記撮像素子における前記光電変換素子の位置および前記開口マスクの開口偏位の少なくとも一方に基づいて、前記視差画像データ間に生じる対応画素の色バランス崩れを補正する補正ステップと
をコンピュータに実行させる画像処理プログラム。
【発明を実施するための形態】
【0009】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
撮像装置の一形態である本実施形態に係るデジタルカメラは、1つのシーンについて複数の視点数の画像を一度の撮影により生成できるように構成されている。互いに視点の異なるそれぞれの画像を視差画像と呼ぶ。
【0011】
図1は、本発明の実施形態に係るデジタルカメラ10の構成を説明する図である。デジタルカメラ10は、本体ユニット30と本体ユニット30に着脱できるレンズユニット50とから構成される。レンズユニット50が備える撮影レンズ20は、光軸21に沿って入射する被写体光束を、本体ユニット30が備える撮像素子100へ導く。本実施形態においては、デジタルカメラ10を、レンズユニット50が交換できるレンズ交換式カメラとして説明するが、レンズユニット50が本体ユニット30と一体的に構成されるタイプのカメラであっても良い。
【0012】
本体ユニット30は、撮像素子100、制御部201、A/D変換回路202、メモリ203、駆動部204、画像処理部205、メモリカードIF207、操作部208、表示部209、LCD駆動回路210およびAFセンサ211を備える。レンズユニット50は、撮影レンズ20に加え、レンズ制御部231、レンズメモリ232を備える。
【0013】
なお、図示するように、撮像素子100へ向かう光軸21に平行な方向をz軸プラス方向と定め、z軸と直交する平面において紙面手前へ向かう方向をx軸プラス方向、紙面上方向をy軸プラス方向と定める。以降のいくつかの図においては、
図1の座標軸を基準として、それぞれの図の向きがわかるように座標軸を表示する。
【0014】
撮影レンズ20は、複数の光学レンズ群から構成され、シーンからの被写体光束をその焦点面近傍に結像させる。なお、
図1では撮影レンズ20を説明の都合上、瞳近傍に配置された仮想的な1枚のレンズで代表して表している。撮像素子100は、撮影レンズ20の焦点面近傍に配置されている。撮像素子100は、二次元的に複数の光電変換素子が配列された、例えばCCD、CMOSセンサ等のイメージセンサである。撮像素子100は、駆動部204によりタイミング制御されて、受光面上に結像された被写体像を画像信号に変換してA/D変換回路202へ出力する。
【0015】
A/D変換回路202は、撮像素子100が出力する画像信号をデジタル画像信号に変換してメモリ203へ出力する。画像処理部205は、メモリ203をワークスペースとして種々の画像処理を施し、画像データを生成する。画像処理部205は、他にも、撮像素子100の画素配列に即して、入力される画像信号から非視差画像データとしての2D画像データおよび視差画像データを生成したり、選択された画像フォーマットに従って画像データを調整したりする機能も担う。生成された画像データは、LCD駆動回路210により表示信号に変換され、表示部209に表示され得る。また、メモリカードIF207に装着されているメモリカード220に記録され得る。
【0016】
AFセンサ211は、被写体空間に対して複数の測距点が設定された位相差センサであり、それぞれの測距点において被写体像のデフォーカス量を検出する。一連の撮影シーケンスは、操作部208がユーザの操作を受け付けて、制御部201へ操作信号を出力することにより開始される。撮影シーケンスに付随するAF,AE等の各種動作は、制御部201に制御されて実行される。例えば、制御部201は、AFセンサ211の検出信号を解析して、撮影レンズ20の一部を構成するフォーカスレンズを移動させる合焦制御信号をレンズ制御部231へ送信する。
【0017】
レンズ制御部231は、レンズユニット50の制御を司る。例えば、合焦制御信号を制御部201から受信して、フォーカスレンズを移動させる。また、フォーカスレンズを含む撮影レンズ20の現在位置を検出して制御部201へ送信する。レンズメモリ232は、レンズユニット50に関する各種特性値を記憶している不揮発性メモリである。レンズ制御部231は、制御部201の要求に従って、撮影レンズ20の位置情報、レンズメモリ232が記憶している各種特性値等をレンズ情報として制御部201へ送信する。
【0018】
次に、撮像素子100の構成について詳細に説明する。
図2は、本発明の実施形態に係る撮像素子の断面を表す概略図である。図示するように、撮像素子100は、被写体側から順に、マイクロレンズ101、カラーフィルタ102、開口マスク103、配線層105および光電変換素子108が配列されて構成されている。光電変換素子108は、入射する光を電気信号に変換するフォトダイオードにより構成される。光電変換素子108は、基板109の表面に二次元的に複数配列されている。
【0019】
光電変換素子108により変換された画像信号、光電変換素子108を制御する制御信号等は、配線層105に設けられた配線106を介して送受信される。また、各光電変換素子108に一対一に対応して設けられた開口部104を有する開口マスク103が、配線層に接して設けられている。開口部104は、後述するように、対応する光電変換素子108ごとにシフトさせて、相対的な位置が厳密に定められている。詳しくは後述するが、この開口部104を備える開口マスク103の作用により、光電変換素子108が受光する被写体光束に視差が生じる。
【0020】
一方、視差を生じさせない光電変換素子108上には、開口マスク103が存在しない。別言すれば、対応する光電変換素子108に対して入射する被写体光束を制限しない、つまり有効光束の全体を通過させる開口部104を有する開口マスク103が設けられているとも言える。視差を生じさせることはないが、実質的には配線106によって形成される開口107が入射する被写体光束を規定するので、配線106を、視差を生じさせない有効光束の全体を通過させる開口マスクと捉えることもできる。開口マスク103は、各光電変換素子108に対応して別個独立に配列しても良いし、カラーフィルタ102の製造プロセスと同様に複数の光電変換素子108に対して一括して形成しても良い。
【0021】
カラーフィルタ102は、開口マスク103上に設けられている。カラーフィルタ102は、各光電変換素子108に対して特定の波長帯域を透過させるように着色された、光電変換素子108のそれぞれに一対一に対応して設けられるフィルタである。カラー画像を出力するには、互いに異なる少なくとも2種類のカラーフィルタが配列されれば良いが、より高画質のカラー画像を取得するには3種類以上のカラーフィルタを配列すると良い。例えば赤色波長帯を透過させる赤フィルタ、緑色波長帯を透過させる緑フィルタ、および青色波長帯を透過させる青フィルタを格子状に配列すると良い。具体的な配列については後述する。
【0022】
マイクロレンズ101は、カラーフィルタ102上に設けられている。マイクロレンズ101は、入射する被写体光束のより多くを光電変換素子108へ導くための集光レンズである。マイクロレンズ101は、光電変換素子108のそれぞれに一対一に対応して設けられている。マイクロレンズ101は、撮影レンズ20の瞳中心と光電変換素子108の相対的な位置関係を考慮して、より多くの被写体光束が光電変換素子108に導かれるようにその光軸がシフトされていることが好ましい。さらには、開口マスク103の開口部104の位置と共に、後述の特定の被写体光束がより多く入射するように配置位置が調整されても良い。
【0023】
このように、各々の光電変換素子108に対応して一対一に設けられる開口マスク103、カラーフィルタ102およびマイクロレンズ101の一単位を画素と呼ぶ。特に、視差を生じさせる開口マスク103が設けられた画素を視差画素、視差を生じさせる開口マスク103が設けられていない画素を視差なし画素と呼ぶ。例えば、撮像素子100の有効画素領域が24mm×16mm程度の場合、画素数は1200万程度に及ぶ。
【0024】
なお、集光効率、光電変換効率が良いイメージセンサの場合は、マイクロレンズ101を設けなくても良い。また、裏面照射型イメージセンサの場合は、配線層105が光電変換素子108とは反対側に設けられる。
【0025】
次に、開口マスク103の開口部104と、生じる視差の関係について説明する。
図3は、撮像素子100の一部を拡大した様子を表す概略図である。ここでは、説明を簡単にすべく、カラーフィルタ102の配色については後に言及を再開するまで考慮しない。カラーフィルタ102の配色に言及しない以下の説明においては、同色のカラーフィルタ102を有する視差画素のみを寄せ集めたイメージセンサであると捉えることができる。したがって、以下に説明する繰り返しパターンは、同色のカラーフィルタ102における隣接画素として考えても良い。
【0026】
図3に示すように、開口マスク103の開口部104は、それぞれの画素に対して相対的にシフトして設けられている。そして、隣接する画素同士においても、それぞれの開口部104は互いに変位した位置に設けられている。
【0027】
図の例においては、それぞれの画素に対する開口部104の位置として、互いに左右方向にシフトした6種類の開口マスク103が用意されている。そして、撮像素子100の全体は、紙面左側から右側へ徐々にシフトする開口マスク103をそれぞれ有する6つの視差画素を一組とする光電変換素子群が、二次元的かつ周期的に配列されている。つまり、撮像素子100は、一組の光電変換素子群を含む繰り返しパターン110が、周期的に敷き詰められて構成されていると言える。
【0028】
図4は、視差画素と被写体の関係を説明する概念図である。特に
図4(a)は撮像素子100のうち撮影光軸21と直交する中心に配列されている繰り返しパターン110tの光電変換素子群を示し、
図4(b)は周辺部分に配列されている繰り返しパターン110uの光電変換素子群を模式的に示している。
図4(a)、(b)における被写体90は、撮影レンズ20に対して合焦位置に存在する。
図4(c)は、
図4(a)に対応して、撮影レンズ20に対して非合焦位置に存在する被写体91を捉えた場合の関係を模式的に示している。
【0029】
まず、撮影レンズ20が合焦状態に存在する被写体90を捉えている場合の、視差画素と被写体の関係を説明する。被写体光束は、撮影レンズ20の瞳を通過して撮像素子100へ導かれるが、被写体光束が通過する全体の断面領域に対して、6つの部分領域Pa〜Pfが規定されている。そして、例えば繰り返しパターン110t、110uを構成する光電変換素子群の紙面左端の画素は、拡大図からもわかるように、部分領域Pfから射出された被写体光束のみが光電変換素子108へ到達するように、開口マスク103の開口部104fの位置が定められている。同様に、右端の画素に向かって、部分領域Peに対応して開口部104eの位置が、部分領域Pdに対応して開口部104dの位置が、部分領域Pcに対応して開口部104cの位置が、部分領域Pbに対応して開口部104bの位置が、部分領域Paに対応して開口部104aの位置がそれぞれ定められている。
【0030】
別言すれば、例えば部分領域Pfと左端画素の相対的な位置関係によって定義される、部分領域Pfから射出される被写体光束の主光線Rfの傾きにより、開口部104fの位置が定められていると言っても良い。そして、合焦位置に存在する被写体90からの被写体光束を、開口部104fを介して光電変換素子108が受光する場合、その被写体光束は、点線で図示するように、光電変換素子108上で結像する。同様に、右端の画素に向かって、主光線Reの傾きにより開口部104eの位置が、主光線Rdの傾きにより開口部104dの位置が、主光線Rcの傾きにより開口部104cの位置が、主光線Rbの傾きにより開口部104bの位置が、主光線Raの傾きにより開口部104aの位置がそれぞれ定められていると言える。
【0031】
図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を構成する光電変換素子群の各画素の位置ずれに対応する分だけの広がりを有するが、実質的には、ほぼ同一の物点と近似することができる。
【0032】
つまり、被写体90が合焦位置に存在する限りは、撮像素子100上における繰り返しパターン110の位置に応じて、光電変換素子群が捉える微小領域が異なり、かつ、光電変換素子群を構成する各画素は互いに異なる部分領域を介して同一の微小領域を捉えている。そして、それぞれの繰り返しパターン110において、対応する画素同士は同じ部分領域からの被写体光束を受光している。つまり、図においては、例えば繰り返しパターン110t、110uのそれぞれの左端の画素は、同じ部分領域Pfからの被写体光束を受光している。
【0033】
撮影光軸21と直交する中心に配列されている繰り返しパターン110tにおいて左端画素が部分領域Pfからの被写体光束を受光する開口部104fの位置と、周辺部分に配列されている繰り返しパターン110uにおいて左端画素が部分領域Pfからの被写体光束を受光する開口部104fの位置は厳密には異なる。しかしながら、機能的な観点からは、部分領域Pfからの被写体光束を受光するための開口マスクという点で、これらを同一種類の開口マスクとして扱うことができる。したがって、
図4の例では、撮像素子100上に配列される視差画素のそれぞれは、6種類の開口マスクの一つを備えると言える。
【0034】
次に、撮影レンズ20が非合焦状態に存在する被写体91を捉えている場合の、視差画素と被写体の関係を説明する。この場合も、非合焦位置に存在する被写体91からの被写体光束は、撮影レンズ20の瞳の6つの部分領域Pa〜Pfを通過して、撮像素子100へ到達する。ただし、非合焦位置に存在する被写体91からの被写体光束は、光電変換素子108上ではなく他の位置で結像する。例えば、
図4(c)に示すように、被写体91が被写体90よりも撮像素子100に対して遠い位置に存在すると、被写体光束は、光電変換素子108よりも被写体91側で結像する。逆に、被写体91が被写体90よりも撮像素子100に対して近い位置に存在すると、被写体光束は、光電変換素子108よりも被写体91とは反対側で結像する。
【0035】
したがって、非合焦位置に存在する被写体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においても同様である。
【0036】
すると、撮像素子100の全体で見た場合、例えば、開口部104aに対応する光電変換素子108で捉えた被写体像Aと、開口部104dに対応する光電変換素子108で捉えた被写体像Dは、合焦位置に存在する被写体に対する像であれば互いにずれが無く、非合焦位置に存在する被写体に対する像であればずれが生じることになる。そして、そのずれは、非合焦位置に存在する被写体が合焦位置に対してどちら側にどれだけずれているかにより、また、部分領域Paと部分領域Pdの距離により、方向と量が定まる。つまり、被写体像Aと被写体像Dは、互いに視差像となる。この関係は、他の開口部に対しても同様であるので、開口部104aから104fに対応して、6つの視差像が形成されることになる。
【0037】
したがって、このように構成されたそれぞれの繰り返しパターン110において、互いに対応する画素の出力を寄せ集めると、視差画像が得られる。つまり、6つの部分領域Pa〜Pfうちの特定の部分領域から射出された被写体光束を受光した画素の出力は、視差画像を形成する。
【0038】
図5は、視差画像を生成する処理を説明する概念図である。図は、左列から順に、開口部104fに対応する視差画素の出力を集めて生成される視差画像データIm_fの生成の様子、開口部104eの出力による視差画像データIm_eの生成の様子、開口部104dの出力による視差画像データIm_dの生成の様子、開口部104cの出力による視差画像データIm_cの生成の様子、開口部104bの出力による視差画像データIm_bの生成の様子、開口部104aの出力による視差画像データIm_aの生成の様子を表す。まず開口部104fの出力による視差画像データIm_fの生成の様子について説明する。
【0039】
6つの視差画素を一組とする光電変換素子群から成る繰り返しパターン110は、横一列に配列されている。したがって、開口部104fを有する視差画素は、撮像素子100上において、左右方向に6画素おき、かつ、上下方向に連続して存在する。これら各画素は、上述のようにそれぞれ異なる微小領域からの被写体光束を受光している。したがって、これらの視差画素の出力を寄せ集めて配列すると、視差画像が得られる。
【0040】
しかし、本実施形態における撮像素子100の各画素は正方画素であるので、単に寄せ集めただけでは、横方向の画素数が1/6に間引かれた結果となり、縦長の画像データが生成されてしまう。そこで、補間処理を施して横方向に6倍の画素数とすることにより、本来のアスペクト比の画像として視差画像データIm_fを生成する。ただし、そもそも補間処理前の視差画像データが横方向に1/6に間引かれた画像であるので、横方向の解像度は、縦方向の解像度よりも低下している。つまり、生成される視差画像データの数と、解像度の向上は相反関係にあると言える。
【0041】
同様にして、視差画像データIm_e〜視差画像データIm_aが得られる。すなわち、デジタルカメラ10は、横方向に視差を有する6視点の視差画像を生成することができる。
【0042】
上記の例では、横一列を繰り返しパターン110として周期的に配列される例を説明したが、繰り返しパターン110はこれに限らない。
図6は、繰り返しパターン110の他の例を示す図である。
【0043】
図6(a)は、縦6画素を繰り返しパターン110とした例である。ただし、それぞれの開口部104は、紙面上端の視差画素から下に向かって、紙面左側から右側へ徐々にシフトするように位置が定められている。このように配列された繰り返しパターン110によっても、横方向に視差を与える6視点の視差画像を生成することができる。この場合は、
図3の繰り返しパターン110に比較すると、縦方向の解像度を犠牲にする代わりに横方向の解像度を維持する繰り返しパターンであると言える。
【0044】
図6(b)は、斜め方向に隣接する6画素を繰り返しパターン110とした例である。それぞれの開口部104は、紙面左上端の視差画素から右下に向かって、紙面左側から右側へ徐々にシフトするように位置が定められている。このように配列された繰り返しパターン110によっても、横方向に視差を与える6視点の視差画像を生成することができる。この場合は、
図3の繰り返しパターン110に比較すると、縦方向の解像度および横方向の解像度をある程度維持しつつ、視差画像の数を増やす繰り返しパターンであると言える。
【0045】
図3の繰り返しパターン110、および
図6(a)(b)の繰り返しパターン110をそれぞれ比較すると、いずれも6視点の視差画像を生成する場合において、視差画像でない全体から一枚の画像を出力する場合の解像度に対し、縦方向、横方向のいずれの方向の解像度を犠牲にするかの違いであると言える。
図3の繰り返しパターン110の場合は、横方向の解像度を1/6とする構成である。
図6(a)の繰り返しパターン110の場合は、縦方向の解像度を1/6とする構成である。また、
図6(b)の繰り返しパターン110の場合は、縦方向を1/3、横方向を1/2とする構成である。いずれの場合も、一つのパターン内には、各画素に対応して開口部104a〜104fが一つずつ設けられており、それぞれが対応する部分領域Pa〜Pfのいずれかから被写体光束を受光するように構成されている。したがって、いずれの繰り返しパターン110であっても視差量は同等である。
【0046】
上述の例では、左右方向に視差を与える視差画像を生成する場合について説明したが、もちろん上下方向に視差を与える視差画像を生成することもできるし、上下左右の二次元方向に視差を与える視差画像を生成することもできる。
図7は、二次元的な繰り返しパターン110の例を示す図である。
【0047】
図7の例によれば、縦6画素横6画素の36画素を一組の光電変換素子群として繰り返しパターン110を形成する。それぞれの画素に対する開口部104の位置として、互いに上下左右方向にシフトした36種類の開口マスク103が用意されている。具体的には、各開口部104は、繰り返しパターン110の上端画素から下端画素に向かって、上側から下側へ徐々にシフトすると同時に、左端画素から右端画素に向かって、左側から右側へ徐々にシフトするように位置決めされている。
【0048】
このような繰り返しパターン110を有する撮像素子100は、上下方向および左右方向に視差を与える、36視点の視差画像を出力することができる。もちろん
図7の例に限らず、さまざまな視点数の視差画像を出力するように繰り返しパターン110を定めることができる。
【0049】
以上の説明においては、開口部104の形状として矩形を採用した。特に、横方向に視差を与える配列においては、シフトさせる方向である左右方向の幅よりも、シフトさせない上下方向の幅を広くすることにより、光電変換素子108へ導く光量を確保している。しかし、開口部104の形状は矩形に限定されない。
【0050】
図8は、開口部104の他の形状を説明する図である。図においては、開口部104の形状を円形とした。円形とした場合、半球形状であるマイクロレンズ101との相対的な関係から、予定外の被写体光束が迷光となって光電変換素子108へ入射することを防ぐことができる。
【0051】
次に、カラーフィルタ102と視差画像について説明する。
図9は、ベイヤー配列を説明する図である。図示するように、ベイヤー配列は、緑フィルタが左上と右下の2画素に、赤フィルタが左下の1画素に、青フィルタが右上の1画素に割り当てられる配列である。ここでは、緑フィルタが割り当てられた左上の画素をGb画素と、同じく緑色フィルタが割り当てられた右下の画素をGr画素とする。また、赤色フィルタが割り当てられた画素をR画素と、青色が割り当てられた画素をB画素とする。そして、Gb画素およびB画素が並ぶ横方向をGb行とし、R画素およびGr画素が並ぶ横方向をGr行とする。また、Gb画素およびR画素が並ぶ縦方向をGb列とし、B画素およびGr画素が並ぶ縦方向をGr列とする。
【0052】
このようなカラーフィルタ102の配列に対して、視差画素と視差なし画素を、何色の画素にどのような周期で割り振っていくかにより、膨大な数の繰り返しパターン110が設定され得る。視差なし画素の出力を集めれば、通常の撮影画像と同じく視差のない撮影画像データを生成することができる。したがって、相対的に視差なし画素の割合を増やせば、解像度の高い2D画像を出力させることができる。この場合、視差画素は相対的に少ない割合となるので、複数の視差画像からなる3D画像としては画質が低下する。逆に、視差画素の割合を増やせば、3D画像としては画質が向上するが、視差なし画素は相対的に減少するので、解像度の低い2D画像が出力される。
【0053】
このようなトレードオフの関係において、何れの画素を視差画素とするか、あるいは視差なし画素とするかにより、様々な特徴を有する繰り返しパターン110が設定される。
図10は、ベイヤー配列に対する視差画素の割り振りについて、視差画素の種類が2つである場合のバリエーションを説明する図である。この場合の視差画素は、開口部104が中心よりも左側に偏心した視差L画素と、同じく右側に偏心した視差R画素を想定している。つまり、このような視差画素から出力される2視点の視差画像は、いわゆる立体視を実現する。
【0054】
それぞれの繰り返しパターンに対する特徴の説明は図に示す通りである。例えば、視差なし画素が多く割り振られていれば高解像度の2D画像データとなり、RGBのいずれの画素に対しても均等に割り振られていれば、色ずれの少ない高画質の2D画像データとなる。視差画素の出力も利用して2D画像データを生成する場合、ずれた被写体像を周辺画素の出力を参照して補正する。したがって、例えば全部のR画素が視差画素であったとしても2D画像を生成することはできるものの、その画質は自ずと低下する。
【0055】
一方、視差画素が多く割り振られていれば高解像度の3D画像データとなり、RGBのいずれの画素に対しても均等に割り振られていれば、3D画像でありながら、色再現性の良い高品質のカラー画像データとなる。視差なし画素の出力も利用して3D画像データを生成する場合、視差のない被写体像から周辺の視差画素の出力を参照してずれた被写体像を生成する。したがって、例えば全部のR画素が視差なし画素であったとしてもカラーの3D画像を生成することはできるものの、やはりその品質は低下する。
【0056】
以下にいくつかのバリエーションについて説明する。
図11は、バリエーションの一例を示す図である。
図11のバリエーションは、
図10における繰り返しパターン分類A−1に相当する。
【0057】
図の例においては、ベイヤー配列と同じ4画素を繰り返しパターン110とする。R画素とB画素は視差なし画素であり、Gb画素を視差L画素に、Gr画素を視差R画素に割り当てる。この場合、同一の繰り返しパターン110に含まれる視差L画素と視差R画素は、瞳上の互いに異なる部分領域を通過する被写体光束をそれぞれ受光するように開口部104が定められる。
【0058】
図の例においては、視感度の高い緑画素であるGb画素およびGr画素を視差画素として用いるので、コントラストの高い視差画像を得ることが期待できる。また、同じ緑色画素であるGb画素およびGr画素を視差画素として用いるので、これら2つの出力から視差のない出力に変換演算がし易く、視差なし画素であるR画素およびB画素の出力と共に、高画質の2D画像データを生成できる。
【0059】
図12は、他のバリエーションの一例を示す図である。
図12のバリエーションは、
図10における繰り返しパターン分類B−1に相当する。
【0060】
図の例においては、ベイヤー配列の4画素が左右に2組続く8画素を繰り返しパターン110とする。8画素のうち、左側のGb画素に視差L画素を、右側のGb画素に視差R画素を割り当てる。このような配列においては、Gr画素を視差なし画素としたことにより、
図10の例よりも、更に2D画像の高画質化が望める。
【0061】
図13は、更に他のバリエーションの一例を示す図である。
図13のバリエーションは、
図10における繰り返しパターン分類D−1に相当する。
【0062】
図の例においては、ベイヤー配列の4画素が左右に2組続く8画素を繰り返しパターン110とする。8画素のうち、左側のGb画素に視差L画素を、右側のGb画素に視差R画素を割り当てる。さらに、左側のR画素に視差L画素を、右側のR画素に視差R画素を割り当てる。さらに、左側のB画素に視差L画素を、右側のB画素に視差R画素を割り当てる。2つのGr画素には視差なし画素を割り当てる。
【0063】
2つのGb画素に割り当てられた視差L画素と視差R画素は、焦点面に存在する被写体を捉える場合、一つの微小領域から放射される光束を受光する。また、2つのR画素に割り当てられた視差L画素と視差R画素は、同様に、Gb画素のそれとは異なる一つの微小領域から放射される光束を受光し、2つのB画素に割り当てられた視差L画素と視差R画素は、同様に、Gb画素およびR画素のそれとは異なる一つの微小領域から放射される光束を受光する。したがって、3D画像としての解像度が増す。しかも、RGBの3色の出力が得られるので、カラー画像としての3D画像として高品質である。
【0064】
なお、上述のように視差画素の種類を2つにすれば2視点の視差画像が得られるが、もちろん視差画素の種類は、出力したい視差画像数に合わせて、
図3、
図7、
図8などで説明したような様々な数を採用し得る。視点数が増えていっても、さまざまな繰り返しパターン110を形成することができる。したがって、仕様、目的等に応じた繰り返しパターン110を選択することができる。
【0065】
上述の例では、カラーフィルタ配列としてベイヤー配列を採用した場合について説明したが、もちろん他のカラーフィルタ配列であっても差し支えない。
図3等を用いて説明したように、カラーフィルタ配列を構成するある1色に着目して寄せ集めた場合に、隣接する複数の画素を一組の光電変換素子群とする繰り返しパターンを形成し、視差画像を出力するように視差画素が割り当てられていれば良い。このとき、一組の光電変換素子群を構成する視差画素のそれぞれは、互いに異なる部分領域を向く開口部104を有する開口マスク103を備えると良い。
【0066】
したがって、撮像素子100は、入射光を電気信号に光電変換する、二次元的に配列された光電変換素子108と、光電変換素子108の少なくとも一部のそれぞれに一対一に対応して設けられた開口マスク103と、光電変換素子108の少なくとも一部のそれぞれに一対一に対応して設けられたカラーフィルタ102とを備え、隣接するn個(nは3以上の整数)の光電変換素子108のうち、少なくとも3つに対応して設けられたそれぞれの開口マスク103の開口部104は、互いに異なる波長帯域を透過させる少なくとも2種類のカラーフィルタ102から構成されるカラーフィルターパターンの一パターン内に含まれると共に、入射光の断面領域内の互いに異なる部分領域からの光束をそれぞれ通過させるように位置づけられ、n個の光電変換素子108を一組とする光電変換素子群が周期的に配列されていれば良い。
【0067】
ここで、カラー画像としての視差画像の生成と、カラー画像としての2D画像の生成について説明する。
図14は、視差画像と2D画像の生成過程を示す概念図である。ここでは、
図13を用いて説明した繰り返しパターン分類D−1を例に説明する。図示するように、視差L画素の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、L画像データが生成される。一つの繰り返しパターン110に含まれる視差L画素は、ベイヤー配列の4画素が左右に2組続く8画素のうち、左側のGb画素、R画素、B画素である。そこで、視差なし画素である左側のGr画素の位置には、Gb画素の出力を補間する。
【0068】
このようにして生成されたL画像データは、ベイヤー配列に相当する画像信号が並ぶことになるので、ベイヤー配列の出力に対する画像処理を採用してカラー画像としてのL画像データを生成することができる。例えば、可視画像形式としてのJPEGファイルを生成することができる。ただし、一つの繰り返しパターン110のうち左側の4画素の位置に相当する画像信号を寄せ集めたことになるので、右側の4画素に対応する画像信号が欠落しており、生成される画像は実際の被写体像に対して横方向に圧縮された画像となる。したがって、L画像データは、
図5を用いて説明したように、いずれかの段階においてアスペクト比を調整する補間処理が施される。
【0069】
同様に、視差R画素の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、R画像データが生成される。R画像データの場合は、一つの繰り返しパターン110のうち右側の4画素の位置に相当する画像信号を寄せ集めたことになるので、左側の4画素に対応する画像信号が欠落している。したがって、L画像データと同様に、R画像データは、いずれかの段階においてアスペクト比を調整する補間処理が施される。
【0070】
また、視差なし画素の出力が、撮像素子100上の相対的な位置関係を維持しながら寄せ集められて、2D画像データが生成される。ただし、図の例では、一つの繰り返しパターン110のうち2つのGr画素のみが視差なし画素である。そこで、他の画素位置における視差なしの出力を、補間処理および平均化処理により生成する。具体的には、まず、Gb画素の出力は、隣接するGr画素の出力で補間する。また、2つのR画素の出力は、繰り返しパターン110に含まれるR画素がそれぞれ視差L画素と視差R画素であることから、これらの出力を平均化してそれぞれの視差なし出力とみなす平均化処理を施す。同様に、2つのB画素の出力は、繰り返しパターン110に含まれるB画素がそれぞれ視差L画素と視差R画素であることから、これらの出力を平均化してそれぞれの視差なし出力とみなす平均化処理を施す。このように、補間処理および平均化処理を施せば、ベイヤー配列の出力に対する画像処理を採用して2D画像データを生成することができる。
【0071】
なお、以上の画像処理は、画像処理部205によって実行される。画像処理部205は、制御部201を介して撮像素子100から出力される画像信号を受け取り、上述のようにそれぞれの画素の出力ごとに分配してL画像データ、R画像データおよび2D画像データを生成する。
【0072】
次に、視差画像間に生じる色バランス崩れとその対処について説明する。
図15は、カラーフィルタに対する主光線の入射角の違いを説明する図である。上述のように、視差画素の開口部104は、瞳に設定された特定の部分領域を向くように、その位置が定められている。
【0073】
例えば、光軸21に対して光軸外のほぼ同じ像高を有する2つの視差画素に着目した場合、一方の視差R画素は、部分領域P
Rに向けて開口部104
aRの位置が定められており、他方の視差L画素は、部分領域P
Lに向けて開口部104
aLの位置が定められている。このとき、部分領域P
Rを通過して視差R画素へ向かう被写体光束の主光線R
aRのカラーフィルタ102に対する入射角はθ
aRである。また、部分領域P
Lを通過して視差L画素へ向かう被写体光束の主光線R
aLのカラーフィルタ102に対する入射角はθ
aLである。
【0074】
カラーフィルタ102の厚さをdとすると、主光線R
aRがカラーフィルタ102を通過するときの光路長は、d/cosθ
aRであり、主光線R
aLがカラーフィルタ102を通過するときの光路長は、d/cosθ
aLである。すなわち、対応する視差R画素と視差L画素でありながら、カラーフィルタ102に対する光路長が異なる。カラーフィルタ102に対する光路長が異なると光電変換素子108へ届く光量に差異が生じるので、視差R画素と視差L画素は、被写体の同じ微小領域から放射された光束を捉えながら、それぞれの出力値が異なることになる。つまり、異なった色信号を出力することになる。なお、ここでは、カラーフィルタ102を通過する光の物理的な長さを光路長として説明する。
【0075】
図16は、視差画像間における色バランス崩れの概念を示す図である。被写体の同じ微小領域から放射された光束を捉えながら、視差R画素と視差L画素が互いに異なった信号を出力すると、例えば、被写体としての洋服300の色がR画像とL画像で異なることになる。このような2つの画像を用いて実現される立体視映像は、鑑賞者に違和感を生じさせる。
【0076】
また、R画像およびL画像のそれぞれの面内で色バランス崩れが生じる場合がある。
図15に戻って、光軸近傍の視差L画素と、光軸に対してある像高を有する上述の視差L画素に着目する。光軸近傍の視差L画素も、部分領域P
Lに向けて開口部104
cLの位置が定められているが、部分領域P
Lを通過して光軸近傍の視差L画素へ向かう被写体光束の主光線R
cLのカラーフィルタ102に対する入射角はθ
cLである。一方、上述のように、部分領域P
Lを通過して像高を有する視差L画素へ向かう被写体光束の主光線R
aLのカラーフィルタ102に対する入射角はθ
aLである。
【0077】
カラーフィルタ102の厚さが共にdであれば、主光線R
cLがカラーフィルタ102を通過するときの光路長は、d/cosθ
cLであり、主光線R
aLがカラーフィルタ102を通過するときの光路長は、d/cosθ
aLである。すなわち、光軸近傍の視差L画素と像高を有する視差L画素で、カラーフィルタ102に対する光路長が異なる。すると、同じ色をした被写体を捉える場合であっても、それぞれの視差L画素は異なった色信号を出力することになる。
図16の例によれば、L画像における洋服300に対して、実際には全体として同じ色であっても、画像には中央付近から周辺部へ向かってグラデーションとなって色むらが現れることになる。このような関係は視差R画素に対しても同様であり、R画像にもL画像に対応する色むらが現れることになる。また、L画像とR画像間でも異なった結果となる。
【0078】
すなわち、撮像素子100の画素構造においては、撮像素子100の受光面における光電変換素子108の位置、および開口マスク103における開口部104の偏位に起因して色バランス崩れが生じ得る。そこで、本実施形態においては、この色バランス崩れを補正する。
【0079】
図17は、カラーフィルタ102に対する主光線の入射角と透過率の関係を示す図である。横軸は、カラーフィルタ102に対する主光線の入射角θを示し、縦軸は、入射前と射出後の光量の比である透過率を示す。図示するように、透過率T(θ)は、θ=0を最大値とする曲線で表される。具体的には、カラーフィルタ102の吸収係数をαとし、厚さをdとした場合に、T(θ)=e
(−α・d/cosθ)で表される。
【0080】
本実施形態においては、主光線が入射角θで入射する被写体光束による画素出力を、入射角0で入射した場合の画素出力に換算することにより、補正処理を行う。具体的には、実際に検出された画素出力がI(θ)である場合に、補正された画素出力I
c(θ)を、I
c(θ)={T(0)/T(θ)}・I(θ)として換算する補正演算を画像処理部205が各画素に対して実行する。
【0081】
各視差画素の開口部104は、それぞれが対応する部分領域に向けてその位置が定められているので、主光線のカラーフィルタ102に対する入射角は、それぞれの視差画素において既知である。それぞれの視差画素における主光線の入射角は、制御部201が内蔵するシステムメモリ内に予め記憶されている。
【0082】
以上の補正処理を実行することにより、撮像素子100の受光面における光電変換素子108の位置に起因する色バランス崩れも、開口部104の偏位に起因する色バランス崩れも補正されるので、デジタルカメラ10は、品位の高いカラー視差画像データを出力することができる。
【0083】
なお、上記の補正処理においては、入射角0で入射した場合の画素出力に換算することにより補正処理を行ったが、補正の基準とする条件は、処理の目的によって任意に選択され得る。例えば、被写体の同じ微小領域から放射された光束を捉えながら、視差R画素と視差L画素が互いに異なった信号を出力することに起因する色バランス崩れを主に緩和したいのであれば、一方の入射角を基準として他方の入射角を補正する処理を行うことができる。つまり、開口部104の偏位に起因する色バランス崩れのみを補正する場合であるが、この場合は、基準となる視差画素に対しては補正演算を行わなくて良いので演算量が半分になり、処理速度の向上も併せて期待できる。
【0084】
以上の説明においては、ある基準となるレンズユニット50が本体ユニット30に装着されている場合について説明した。つまり、撮影レンズ20の瞳位置は一定であり、それぞれの開口部104が向く部分領域も固定された領域であるとして説明した。そもそも撮像素子100の開口マスク103は、このような基準となるレンズユニット50が装着された場合を想定して、それぞれの光電変換素子108に対応する開口部104が設けられている。
【0085】
したがって、基準となるレンズユニット50でない他のレンズユニット50が本体ユニット30に装着されたときは、その瞳位置が基準となるレンズユニット50の瞳位置とは異なる場合がある。また、ある状態において瞳位置が基準となるレンズユニット50の瞳位置とほぼ一致するレンズユニット50であっても、フォーカスレンズ、ズームレンズなどの構成レンズの移動に伴って瞳位置が変化するレンズユニット50も存在する。
【0086】
このように、基準となる瞳位置とは異なる位置に瞳が存在する場合には、上述の補正処理に瞳位置の変化分を加味すると良い。
図18は、瞳位置が基準位置と異なるレンズユニット50が装着された場合における、主光線の入射角の違いを説明する図である。撮像素子100の受光面からの距離D
0が基準となるレンズユニット50の瞳位置であるが、図においては、距離D
1が瞳位置となるレンズユニット50が装着されている場合を想定している。特に図は、
図15でも着目した光軸近傍の視差L画素を例として拡大して示している。
【0087】
この光軸近傍の視差L画素は、部分領域P
Lに向けて開口部104
cLの位置が定められているが、瞳位置が距離D
1となるレンズユニット50が装着された場合には、この瞳における部分領域P'
Lから射出される主光線R'
cLの光束を主に受光する。したがって、主光線R'
cLは、部分領域P
Lからの主光線R
cLとは異なる角度でカラーフィルタ102へ入射する。この入射角を図示するようにθ'
cLで表す。
【0088】
ここで、基準となるレンズユニット50の瞳位置D
0は既知であり、入射角θ
cLは、D
0の関数として表される。したがって、装着されたレンズユニット50の瞳位置D
1が検出できれば、この関数を適用して入射角θ'
cLを算出することができる。入射角θ'
cLが算出できれば、上述のように、入射角0で入射した場合の画素出力に換算することができる。
【0089】
制御部201は、装着されたレンズユニット50の瞳位置である距離D
1を、レンズ制御部231から受信するレンズ情報を用いて決定する。例えば、レンズユニット50の瞳位置がフォーカスレンズ等のレンズ移動に関わらず一定の場合は、制御部201は、レンズメモリ232が記憶している当該瞳位置をレンズ情報として受信し、当該瞳位置を距離D
1として決定する。また、制御部201は、視差画像データの取得時における合焦情報を取得した場合には、フォーカスレンズ位置の変位を算出して距離D
1を決定する。
【0090】
以上のように、装着したレンズユニット50の瞳位置が基準とする瞳位置と異なる場合であっても、色バランス崩れを補正することができる。なお、上述においては光軸近傍の視差L画素を例示したが、像高を有する視差L画素においても同様に主光線の入射角の違いを吸収し得る。もちろん、視差R画素における主光線の入射角の違いは上述の視差L画素の場合と同様であるので、R画像データに対しても同様に補正処理と施すことができる。
【0091】
色バランス崩れに影響を与えるパラメータは、他にも存在し得る。例えば、レンズ硝材の特性に起因して、瞳の光軸近傍を透過する光束と周辺部を透過する光束とで、透過時の減衰に波長依存性が存在する場合がある。本実施形態においては、特定の部分領域を透過する光束を受光するように視差画素が設定されているので、このような波長依存性は色バランス崩れの原因となり得る。そこで、このような場合には、予め実験的、シミュレーション的に取得された、撮影レンズ20の瞳における径方向に対する波長ごとの透過率情報をルックアップテーブルとしてレンズメモリ232に記憶しておくと良い。制御部201は、レンズ制御部231から当該ルックアップテーブルをレンズ情報として取得し、補正処理に適用することができる。
【0092】
また、制御部201は、レンズ情報として視差画像データの取得時における絞り情報を取得し、補正処理に適用することもできる。本実施形態においては、特定の部分領域を透過する光束を受光するように視差画素が設定されているので、絞り値によっては特定の部分領域が絞りにより遮られる場合がある。そこで、画像処理部205は、制御部201から受信する絞り情報により絞りによる遮光領域を加味して、カラーフィルタ102に対する変化した主光線の入射角を算出する。変化した主光線の入射角が算出されれば、上述の通り補正処理を実行することができる。
【0093】
上述の説明においては、視差画像データ間で補正処理を実行した。しかし、撮像素子100から出力される画像信号により、同一被写体を捉えた2D画像データも生成されるので、補正処理に2D画像データを参照することもできる。例えば、画像処理部205は、視差画像データにおいて、特定画素の出力が周辺画素の出力と閾値以上に異なるような場合に、その出力が被写体像による正しい出力であるか、それともノイズの影響による出力であるかを、2D画像データを参照して判断する。具体的には、視差画像データと2D画像データをマッチング処理して対応する画素を定め、それぞれの画素が周辺画素とどれくらいの差異を有するかを算出する。そして、当該差異が予め設定された閾値以上であれば、特定画素の出力が異常であると判断する。異常であると判断された特定画素の出力は、例えば、比較された2D画像データの画素出力に置き換えられる。
【0094】
次に、補正処理のフローについて説明する。
図19は、色バランス崩れを補正する処理フローを示す図である。フローは、例えば露光動作を終え撮像素子100が画像信号を出力する時点から開始する。
【0095】
ステップS101において、画像処理部205は、L画像データ、R画像データおよび2D画像データを取得する。なお、画像処理部205は、これらの画像データを取得するにあたり、撮像素子100から出力される画像信号を受け取って画素の出力ごとに3つの画像データに分配して生成することにより取得しても良いし、メモリカード220に記録されているこれらの画像データを読み出すことにより取得しても良い。
【0096】
ステップS102へ進み、制御部201は、レンズ制御部231を介してレンズメモリ232に記憶されているレンズ情報を取得する。メモリカード220から撮影済みの画像データを読み出した場合には、ファイルのヘッダ情報からレンズ情報を取得することができる。なお、メモリカード220から撮影済みの画像データを読み出す場合には、他のデジタルカメラ10により撮影された画像データである場合も想定されるので、同様にヘッダ情報から撮像素子情報を取得する。撮像素子情報は、撮像素子100の情報であり、上述の画素配列情報、基準となるレンズユニット50に対する各視差画素における主光線の入射角情報を含む。
【0097】
画像処理部205は、ステップS103で、上述の手法によりL画像データの画素値を補正する補正処理を実行する。さらにステップS104で、マッチング処理を施して2D画像データを参照する。具体的には、上述のように、L画像データの画素と2D画像データの対応画素を比較する。その結果、ステップS105で異常出力であると判断した場合には、ステップS106へ進み、2D画像データの対応画素出力で置き換える修正処理を実行する。ステップS105で異常出力でないと判断した場合、およびステップS106で修正処理を終えた場合には、ステップS107へ進み、制御部201は処理すべき視差画像データが残っていないか否かを判断する。この場合、R画像データが未処理であるので、ステップS103へ戻ってR画像データの処理を実行する。すべての視差画像データの処理が終了したら一連の処理を終える。なお、ステップS105の判断処理は、L画像データ、R画像データおよび2D画像データのそれぞれで輪郭抽出を施して領域分けを行い、同一の領域内にある画素の補正処理であれば,色、透過率の補正による輝度の変化を補正しても良い。この場合、同一領域内の類似性に矛盾がなければ正常出力と判断すれば良い。
【0098】
以上の実施形態において、
図9以降に説明したL画像データとR画像データに対する処理は、前半で説明した多視差画像データに対してももちろん適用できる。例えば、
図7および
図8で示したような、縦方向にも視差を与える視差画像データを出力する場合には、主光線のカラーフィルタ102に対する入射角を、x方向に0に換算するだけではなく、y方向にも0に換算すれば良い。もちろん、横方向に視差を与える視差画像データのみが生成される場合であっても、y方向に0に換算する処理を加えても良い。
【0099】
また、上記実施形態においては、デジタルカメラ10を例に説明したが、色バランス崩れの補正処理は、撮影時に限らず、撮影後にそれぞれの画像データを読み出して実行することもできるので、例えばPC等の機器においても処理を行うことができる。この場合、撮像装置であるデジタルカメラ10に代わってPCが画像処理装置として機能する。
【0100】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【0101】
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。