以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
画像処理装置および撮像装置の一形態である本実施形態に係るデジタルカメラは、1つのシーンについて複数の視点数の画像を一度の撮影により生成できるように構成されている。互いに視点の異なるそれぞれの画像を視差画像と呼ぶ。
図1は、本発明の実施形態に係るデジタルカメラ10の構成を説明する図である。デジタルカメラ10は、撮影光学系としての撮影レンズ20を備え、光軸21に沿って入射する被写体光束を撮像素子100へ導く。撮影レンズ20は、デジタルカメラ10に対して着脱できる交換式レンズであっても構わない。デジタルカメラ10は、撮像素子100、制御部201、A/D変換回路202、メモリ203、駆動部204、画像処理部205、メモリカードIF207、操作部208、表示部209、LCD駆動回路210およびAFセンサ211を備える。
なお、図示するように、撮像素子100へ向かう光軸21に平行な方向をz軸プラス方向と定め、z軸と直交する平面において紙面手前へ向かう方向をx軸プラス方向、紙面上方向をy軸プラス方向と定める。以降のいくつかの図においては、図1の座標軸を基準として、それぞれの図の向きがわかるように座標軸を表示する。
撮影レンズ20は、複数の光学レンズ群から構成され、シーンからの被写体光束をその焦点面近傍に結像させる。なお、図1では撮影レンズ20を説明の都合上、瞳近傍に配置された仮想的な1枚のレンズで代表して表している。撮像素子100は、撮影レンズ20の焦点面近傍に配置されている。撮像素子100は、二次元的に複数の光電変換素子が配列された、例えばCCD、CMOSセンサ等のイメージセンサである。撮像素子100は、駆動部204によりタイミング制御されて、受光面上に結像された被写体像を画像信号に変換してA/D変換回路202へ出力する。
A/D変換回路202は、撮像素子100が出力する画像信号をデジタル画像信号に変換してメモリ203へ出力する。画像処理部205は、メモリ203をワークスペースとして種々の画像処理を施し、画像データを生成する。特に、画像処理部205は、カラー画像データの対象画素位置から画素値を抽出する画素値抽出部231、視差画像データの対象画素位置から輝度値を抽出する輝度値抽出部232、抽出した画素値と輝度値を用いて対象画素位置におけるカラー画像データとしての画素値を算出する算出部233を有する。それぞれの処理の詳細については、後述する。
画像処理部205は、他にも選択された画像フォーマットに従って画像データを調整するなどの画像処理一般の機能も担う。生成された画像データは、LCD駆動回路210により表示信号に変換され、表示部209に表示される。また、メモリカードIF207に装着されているメモリカード220に記録される。
AFセンサ211は、被写体空間に対して複数の測距点が設定された位相差センサであり、それぞれの測距点において被写体像のデフォーカス量を検出する。一連の撮影シーケンスは、操作部208がユーザの操作を受け付けて、制御部201へ操作信号を出力することにより開始される。撮影シーケンスに付随するAF,AE等の各種動作は、制御部201に制御されて実行される。例えば、制御部201は、AFセンサ211の検出信号を解析して、撮影レンズ20の一部を構成するフォーカスレンズを移動させる合焦制御を実行する。
次に、撮像素子100の構成について詳細に説明する。図2は、本発明の実施形態に係る撮像素子の断面を表す概略図である。図2(a)は、カラーフィルタ102と開口マスク103が別体で構成される撮像素子100の断面概略図である。また、図2(b)は、撮像素子100の変形例として、カラーフィルタ部122と開口マスク部123が一体的に構成されたスクリーンフィルタ121を備える撮像素子120の断面外略図である。
図2(a)に示すように、撮像素子100は、被写体側から順に、マイクロレンズ101、カラーフィルタ102、開口マスク103、配線層105および光電変換素子108が配列されて構成されている。光電変換素子108は、入射する光を電気信号に変換するフォトダイオードにより構成される。光電変換素子108は、基板109の表面に二次元的に複数配列されている。
光電変換素子108により変換された画像信号、光電変換素子108を制御する制御信号等は、配線層105に設けられた配線106を介して送受信される。また、各光電変換素子108に一対一に対応して設けられた開口部104を有する開口マスク103が、配線層に接して設けられている。開口部104は、後述するように、対応する光電変換素子108ごとにシフトされて、相対的な位置が厳密に定められている。詳しくは後述するが、この開口部104を備える開口マスク103の作用により、光電変換素子108が受光する被写体光束に視差が生じる。
一方、視差を生じさせない光電変換素子108上には、開口マスク103が存在しない。別言すれば、対応する光電変換素子108に対して入射する被写体光束を制限しない、つまり有効光束の全体を通過させる開口部104を有する開口マスク103が設けられているとも言える。視差を生じさせることはないが、実質的には配線106によって形成される開口107が入射する被写体光束を規定するので、配線106を、視差を生じさせない有効光束の全体を通過させる開口マスクと捉えることもできる。開口マスク103は、各光電変換素子108に対応して別個独立に配列しても良いし、カラーフィルタ102の製造プロセスと同様に複数の光電変換素子108に対して一括して形成しても良い。
カラーフィルタ102は、開口マスク103上に設けられている。カラーフィルタ102は、各光電変換素子108に対して特定の波長帯域を透過させるように着色された、光電変換素子108のそれぞれに一対一に対応して設けられるフィルタである。カラー画像を出力するには、互いに異なる少なくとも2種類のカラーフィルタが配列されれば良いが、より高画質のカラー画像を取得するには3種類以上のカラーフィルタを配列すると良い。これらのカラーフィルタは、カラー画像を生成するための原色フィルタと言える。原色フィルタの組み合わせは、例えば赤色波長帯を透過させる赤フィルタ(Rフィルタ)、緑色波長帯を透過させる緑フィルタ(Gフィルタ)、および青色波長帯を透過させる青フィルタ(Bフィルタ)である。これらのカラーフィルタは、後述するように、光電変換素子108に対応して格子状に配列される。
マイクロレンズ101は、カラーフィルタ102上に設けられている。マイクロレンズ101は、入射する被写体光束のより多くを光電変換素子108へ導くための集光レンズである。マイクロレンズ101は、光電変換素子108のそれぞれに一対一に対応して設けられている。マイクロレンズ101は、撮影レンズ20の瞳中心と光電変換素子108の相対的な位置関係を考慮して、より多くの被写体光束が光電変換素子108に導かれるようにその光軸がシフトされていることが好ましい。さらには、開口マスク103の開口部104の位置と共に、後述の特定の被写体光束がより多く入射するように配置位置が調整されても良い。
このように、各々の光電変換素子108に対応して一対一に設けられる開口マスク103、カラーフィルタ102およびマイクロレンズ101の一単位を画素と呼ぶ。特に、視差を生じさせる開口マスク103が設けられた画素を視差画素、視差を生じさせる開口マスク103が設けられていない画素を視差なし画素と呼ぶ。例えば、撮像素子100の有効画素領域が24mm×16mm程度の場合、画素数は1200万程度に及ぶ。また、撮像素子100の出力から生成される画像データにおいて、撮像素子100の画素に対応して出力値を持ち得る単位も単に画素と呼ぶ場合がある。
なお、集光効率、光電変換効率が良いイメージセンサの場合は、マイクロレンズ101を設けなくても良い。また、裏面照射型イメージセンサの場合は、配線層105が光電変換素子108とは反対側に設けられる。
カラーフィルタ102と開口マスク103の組み合わせには、さまざまなバリエーションが存在する。図2(a)において、開口マスク103の開口部104に色成分を持たせれば、カラーフィルタ102と開口マスク103を一体的に形成することができる。また、特定の画素を被写体の輝度情報を取得する画素とする場合、その画素には、対応するカラーフィルタ102を設けなくても良い。あるいは、可視光のおよそ全ての波長帯域を透過させるように、着色を施さない透明フィルタを配列しても良い。
また、本実施形態においては、開口マスク103と配線106を別体として設けているが、視差画素における開口マスク103の機能を配線106が担っても良い。すなわち、規定される開口形状を配線106により形成し、当該開口形状により被写体光束を制限して特定の部分光束のみを光電変換素子108へ導く。この場合、開口形状を形成する配線106は、配線層105のうち最も光電変換素子108側であることが好ましい。
また、開口マスク103は、光電変換素子108に重ねて設けられる透過阻止膜によって形成されても良い。この場合、開口マスク103は、例えば、SiN膜とSiO2膜を順次積層して透過阻止膜とし、開口部104に相当する領域をエッチングで除去して形成される。
輝度情報を取得する画素を視差画素とするのであれば、図2(b)として示す撮像素子120の構成を採用し得る。すなわち、カラーフィルタとして機能するカラーフィルタ部122と、開口部104を有する開口マスク部123とが一体的に構成されたスクリーンフィルタ121を、マイクロレンズ101と配線層105の間に配設することができる。
スクリーンフィルタ121は、カラーフィルタ部122において例えば青緑赤の着色が施され、開口マスク部123において開口部104以外のマスク部分が黒の着色が施されて形成される。スクリーンフィルタ121を採用する撮像素子120は、撮像素子100に比較して、マイクロレンズ101から光電変換素子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)における被写体30は、撮影レンズ20に対して合焦位置に存在する。図4(c)は、図4(a)に対応して、撮影レンズ20に対して非合焦位置に存在する被写体31を捉えた場合の関係を模式的に示している。
まず、撮影レンズ20が合焦状態に存在する被写体30を捉えている場合の、視差画素と被写体の関係を説明する。被写体光束は、撮影レンズ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の位置が定められていると言っても良い。そして、合焦位置に存在する被写体30からの被写体光束を、開口部104fを介して光電変換素子108が受光する場合、その被写体光束は、点線で図示するように、光電変換素子108上で結像する。同様に、右端の画素に向かって、主光線Reの傾きにより開口部104eの位置が、主光線Rdの傾きにより開口部104dの位置が、主光線Rcの傾きにより開口部104cの位置が、主光線Rbの傾きにより開口部104bの位置が、主光線Raの傾きにより開口部104aの位置がそれぞれ定められていると言える。
図4(a)で示すように、合焦位置に存在する被写体30のうち、光軸21と交差する被写体30上の微小領域Otから放射される光束は、撮影レンズ20の瞳を通過して、繰り返しパターン110tを構成する光電変換素子群の各画素に到達する。すなわち、繰り返しパターン110tを構成する光電変換素子群の各画素は、それぞれ6つの部分領域Pa〜Pfを介して、一つの微小領域Otから放射される光束を受光している。微小領域Otは、繰り返しパターン110tを構成する光電変換素子群の各画素の位置ずれに対応する分だけの広がりを有するが、実質的には、ほぼ同一の物点と近似することができる。同様に、図4(b)で示すように、合焦位置に存在する被写体30のうち、光軸21から離間した被写体30上の微小領域Ouから放射される光束は、撮影レンズ20の瞳を通過して、繰り返しパターン110uを構成する光電変換素子群の各画素に到達する。すなわち、繰り返しパターン110uを構成する光電変換素子群の各画素は、それぞれ6つの部分領域Pa〜Pfを介して、一つの微小領域Ouから放射される光束を受光している。微小領域Ouも、微小領域Otと同様に、繰り返しパターン110uを構成する光電変換素子群の各画素の位置ずれに対応する分だけの広がりを有するが、実質的には、ほぼ同一の物点と近似することができる。
つまり、被写体30が合焦位置に存在する限りは、撮像素子100上における繰り返しパターン110の位置に応じて、光電変換素子群が捉える微小領域が異なり、かつ、光電変換素子群を構成する各画素は互いに異なる部分領域を介して同一の微小領域を捉えている。そして、それぞれの繰り返しパターン110において、対応する画素同士は同じ部分領域からの被写体光束を受光している。つまり、図においては、例えば繰り返しパターン110t、110uのそれぞれの左端の画素は、同じ部分領域Pfからの被写体光束を受光している。
撮影光軸21と直交する中心に配列されている繰り返しパターン110tにおいて左端画素が部分領域Pfからの被写体光束を受光する開口部104fの位置と、周辺部分に配列されている繰り返しパターン110uにおいて左端画素が部分領域Pfからの被写体光束を受光する開口部104fの位置は厳密には異なる。しかしながら、機能的な観点からは、部分領域Pfからの被写体光束を受光するための開口マスクという点で、これらを同一種類の開口マスクとして扱うことができる。したがって、図4の例では、撮像素子100上に配列される視差画素のそれぞれは、6種類の開口マスクの一つを備えると言える。
次に、撮影レンズ20が非合焦状態に存在する被写体31を捉えている場合の、視差画素と被写体の関係を説明する。この場合も、非合焦位置に存在する被写体31からの被写体光束は、撮影レンズ20の瞳の6つの部分領域Pa〜Pfを通過して、撮像素子100へ到達する。ただし、非合焦位置に存在する被写体31からの被写体光束は、光電変換素子108上ではなく他の位置で結像する。例えば、図4(c)に示すように、被写体31が被写体30よりも撮像素子100に対して遠い位置に存在すると、被写体光束は、光電変換素子108よりも被写体31側で結像する。逆に、被写体31が被写体30よりも撮像素子100に対して近い位置に存在すると、被写体光束は、光電変換素子108よりも被写体31とは反対側で結像する。
したがって、非合焦位置に存在する被写体31のうち、微小領域Ot'から放射される被写体光束は、6つの部分領域Pa〜Pfのいずれを通過するかにより、異なる組の繰り返しパターン110における対応画素に到達する。例えば、部分領域Pdを通過した被写体光束は、図4(c)の拡大図に示すように、主光線Rd'として、繰り返しパターン110t'に含まれる、開口部104dを有する光電変換素子108へ入射する。そして、微小領域Ot'から放射された被写体光束であっても、他の部分領域を通過した被写体光束は、繰り返しパターン110t'に含まれる光電変換素子108へは入射せず、他の繰り返しパターンにおける対応する開口部を有する光電変換素子108へ入射する。換言すると、繰り返しパターン110t'を構成する各光電変換素子108へ到達する被写体光束は、被写体31の互いに異なる微小領域から放射された被写体光束である。すなわち、開口部104dに対応する108へは主光線をRd'とする被写体光束が入射し、他の開口部に対応する光電変換素子108へは主光線をRa+、Rb+、Rc+、Re+、Rf+とする被写体光束が入射するが、これらの被写体光束は、被写体31の互いに異なる微小領域から放射された被写体光束である。このような関係は、図4(b)における周辺部分に配列されている繰り返しパターン110uにおいても同様である。
すると、撮像素子100の全体で見た場合、例えば、開口部104aに対応する光電変換素子108で捉えた被写体像Aと、開口部104dに対応する光電変換素子108で捉えた被写体像Dは、合焦位置に存在する被写体に対する像であれば互いにずれが無く、非合焦位置に存在する被写体に対する像であればずれが生じることになる。そして、そのずれは、非合焦位置に存在する被写体が合焦位置に対してどちら側にどれだけずれているかにより、また、部分領域Paと部分領域Pdの距離により、方向と量が定まる。つまり、被写体像Aと被写体像Dは、互いに視差像となる。この関係は、他の開口部に対しても同様であるので、開口部104aから104fに対応して、6つの視差像が形成されることになる。
したがって、このように構成されたそれぞれの繰り返しパターン110において、互いに対応する画素の出力を寄せ集めると、視差画像が得られる。つまり、6つの部分領域Pa〜Pfうちの特定の部分領域から射出された被写体光束を受光した画素の出力は、視差画像を形成する。
図5は、視差画像を生成する処理を説明する概念図である。図は、左列から順に、開口部104fに対応する視差画素の出力を集めて生成される視差画像データIm_fの生成の様子、開口部104eの出力による視差画像データIm_eの生成の様子、開口部104dの出力による視差画像データIm_dの生成の様子、開口部104cの出力による視差画像データIm_cの生成の様子、開口部104bの出力による視差画像データIm_bの生成の様子、開口部104aの出力による視差画像データIm_aの生成の様子を表す。まず開口部104fの出力による視差画像データIm_fの生成の様子について説明する。
6つの視差画素を一組とする光電変換素子群から成る繰り返しパターン110は、横一列に配列されている。したがって、開口部104fを有する視差画素は、視差なし画素を除いた仮想的な撮像素子100上において、左右方向に6画素おき、かつ、上下方向に連続して存在する。これら各画素は、上述のようにそれぞれ異なる微小領域からの被写体光束を受光している。したがって、これらの視差画素の出力を寄せ集めて配列すると、視差画像が得られる。
しかし、本実施形態における撮像素子100の各画素は正方画素であるので、単に寄せ集めただけでは、横方向の画素数が1/6に間引かれた結果となり、縦長の画像データが生成されてしまう。そこで、補間処理を施して横方向に6倍の画素数とすることにより、本来のアスペクト比の画像として視差画像データIm_fを生成する。ただし、そもそも補間処理前の視差画像データが横方向に1/6に間引かれた画像であるので、横方向の解像度は、縦方向の解像度よりも低下している。つまり、生成される視差画像データの数と、解像度の向上は相反関係にあると言える。なお、本実施形態に適用する具体的な補間処理については後述する。
同様にして、視差画像データIm_e〜視差画像データIm_aが得られる。すなわち、デジタルカメラ10は、横方向に視差を有する6視点の視差画像を生成することができる。
次に、カラーフィルタ102と視差画像について説明する。図6は、ベイヤー配列を説明する図である。図示するように、ベイヤー配列は、緑フィルタが左上と右下の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画像が出力される。
このようなトレードオフの関係において、何れの画素を視差画素とするか、あるいは視差なし画素とするかにより、様々な特徴を有する繰り返しパターン110が設定される。図7は、ベイヤー配列に対する視差画素の割り振りについて、視差画素の種類が2つである場合のバリエーションを説明する図である。この場合の視差画素は、開口部104が中心よりも左側に偏心した視差Lt画素と、同じく右側に偏心した視差Rt画素を想定している。つまり、このような視差画素から出力される2視点の視差画像は、いわゆる立体視を実現する。
それぞれの繰り返しパターンに対する特徴の説明は図に示す通りである。例えば、視差なし画素が多く割り振られていれば高解像度の2D画像データとなり、RGBのいずれの画素に対しても均等に割り振られていれば、色ずれの少ない高画質の2D画像データとなる。一方、視差画素が多く割り振られていれば高解像度の3D画像データとなり、RGBのいずれの画素に対しても均等に割り振られていれば、3D画像でありながら、色再現性の良い高品質のカラー画像データとなる。
以下にいくつかのバリエーションについて説明する。図8は、バリエーションの一例を示す図である。図8のバリエーションは、図7における繰り返しパターン分類A−1に相当する。
図の例においては、ベイヤー配列と同じ4画素を繰り返しパターン110とする。R画素とB画素は視差なし画素であり、Gb画素を視差Lt画素に、Gr画素を視差Rt画素に割り当てる。この場合、同一の繰り返しパターン110に含まれる視差Lt画素と視差Rt画素が、被写体が合焦位置に存在するときに、同じ微小領域から放射される光束を受光するように開口部104が定められる。
図の例においては、視感度の高い緑画素であるGb画素およびGr画素を視差画素として用いるので、コントラストの高い視差画像を得ることが期待できる。また、同じ緑色画素であるGb画素およびGr画素を視差画素として用いるので、これら2つの出力から視差のない出力に変換演算がし易く、視差なし画素であるR画素およびB画素の出力と共に、高画質の2D画像データを生成できる。なお、変換演算については後述する。
図9は、他のバリエーションの一例を示す図である。図9のバリエーションは、図7における繰り返しパターン分類B−1に相当する。
図の例においては、ベイヤー配列の4画素が左右に2組続く8画素を繰り返しパターン110とする。8画素のうち、左側のGb画素に視差Lt画素を、右側のGb画素に視差Rt画素を割り当てる。このような配列においては、Gr画素を視差なし画素としたことにより、図8の例よりも、更に2D画像の高画質化が望める。
図10は、更に他のバリエーションの一例を示す図である。図10のバリエーションは、図7における繰り返しパターン分類D−1に相当する。
図の例においては、ベイヤー配列の4画素が左右に2組続く8画素を繰り返しパターン110とする。8画素のうち、左側のGb画素に視差Lt画素を、右側のGb画素に視差Rt画素を割り当てる。さらに、左側のR画素に視差Lt画素を、右側のR画素に視差Rt画素を割り当てる。さらに、左側のB画素に視差Lt画素を、右側のB画素に視差Rt画素を割り当てる。2つのGr画素には視差なし画素を割り当てる。
2つのGb画素に割り当てられた視差Lt画素と視差Rt画素は、被写体が合焦位置に存在するときに、一つの微小領域から放射される光束を受光する。また、2つのR画素に割り当てられた視差Lt画素と視差Rt画素は、Gb画素のそれとは異なる一つの微小領域から放射される光束を受光し、2つのB画素に割り当てられた視差Lt画素と視差Rt画素は、Gb画素およびR画素のそれとは異なる一つの微小領域から放射される光束を受光する。したがって、図9の例に比較して、3D画像としての解像度が縦方向に3倍となる。しかも、RGBの3色の出力が得られるので、カラー画像としての3D画像として高品質である。
なお、上述のように視差画素の種類を2つにすれば2視点の視差画像が得られるが、もちろん視差画素の種類は、出力したい視差画像数に合わせて様々な数を採用し得る。視点数が増えていっても、さまざまな繰り返しパターン110を形成することができる。したがって、仕様、目的等に応じた繰り返しパターン110を選択することができる。
上述の例では、カラーフィルタ配列としてベイヤー配列を採用した場合について説明したが、もちろん他のカラーフィルタ配列であっても差し支えない。このとき、一組の光電変換素子群を構成する視差画素のそれぞれは、互いに異なる部分領域を向く開口部104を有する開口マスク103を備えると良い。
したがって、撮像素子100は、入射光を電気信号に光電変換する、二次元的に配列された光電変換素子108と、光電変換素子108の少なくとも一部のそれぞれに一対一に対応して設けられた開口マスク103と、光電変換素子108の少なくとも一部のそれぞれに一対一に対応して設けられたカラーフィルタ102とを備え、隣接するn個(nは3以上の整数)の光電変換素子108のうち、少なくとも2つ(3つ以上であっても良い)に対応して設けられたそれぞれの開口マスク103の開口部104は、互いに異なる波長帯域を透過させる少なくとも3種類のカラーフィルタ102から構成されるカラーフィルターパターンの一パターン内に含まれると共に、入射光の断面領域内の互いに異なる部分領域からの光束をそれぞれ通過させるように位置づけられ、n個の光電変換素子108を一組とする光電変換素子群が周期的に配列されていれば良い。
図11は、他のカラーフィルタ配列を説明する図である。図示するように、他のカラーフィルタ配列は、図6で示したベイヤー配列のGr画素を緑フィルタが割り当てられるG画素として維持する一方、Gb画素をカラーフィルタが割り当てられないW画素に変更した配列である。なお、W画素は、上述のように、可視光のおよそ全ての波長帯域を透過させるように、着色を施さない透明フィルタが配列されていても良い。
このようなW画素を含むカラーフィルタ配列を採用すれば、撮像素子が出力するカラー情報の精度は若干低下するものの、W画素が受光する光量はカラーフィルタが設けられている場合に比較して多いので、精度の高い輝度情報を取得できる。W画素の出力を寄せ集めれば、モノクロ画像を形成することもできる。
W画素を含むカラーフィルタ配列の場合、視差画素と視差なし画素の繰り返しパターン110は、さらなるバリエーションが存在する。例えば、比較的暗い環境下で撮影された画像であっても、カラー画素から出力された画像に比較してW画素から出力された画像であれば、被写体像のコントラストが高い。そこで、W画素に視差画素を割り振れば、複数の視差画像間で行うマッチング処理において、精度の高い演算結果が期待できる。したがって、2D画像の解像度および視差画像の画質への影響に加え、抽出される他の情報への利害得失も考慮して、視差画素と視差なし画素の繰り返しパターン110が設定される。
図12は、図11の他のカラーフィルタ配列を採用する場合の、W画素と視差画素の配列の一例を示す図である。図12のバリエーションは、ベイヤー配列における図7の繰り返しパターン分類B−1に類似するので、ここではB'−1とする。図の例においては、他のカラーフィルタ配列の4画素が左右に2組続く8画素を繰り返しパターン110とする。8画素のうち、左側のW画素に視差Lt画素を、右側のW画素に視差Rt画素を割り当てる。このような配列において撮像素子100は、視差画像をモノクロ画像として出力し、2D画像をカラー画像として出力することができる。
この場合、撮像素子100は、入射光を電気信号に光電変換する、二次元的に配列された光電変換素子108と、光電変換素子108の少なくとも一部のそれぞれに一対一に対応して設けられた開口マスク103と、光電変換素子108の少なくとも一部のそれぞれに一対一に対応して設けられたカラーフィルタ102とを有し、隣接するn個(nは4以上の整数)の光電変換素子108のうち、少なくとも2つに対応して設けられたそれぞれの開口マスク103の開口部104は、互いに異なる波長帯域を透過させる少なくとも3種類のカラーフィルタ102から構成されるカラーフィルターパターンの一パターン内には含まれず、かつ、入射光の断面領域内の互いに異なる部分領域からの光束をそれぞれ通過させるように位置づけられ、n個の光電変換素子108を一組とする光電変換素子群が周期的に配列されていれば良い。
以上のように、撮像素子100を構成する各画素は、開口部104に着目した場合の視差画素と視差なし画素、およびカラーフィルタ102に着目した場合のR画素、G画素、B画素、W画素が、さまざまに組み合わされて特徴付けられる。したがって、撮像素子100の出力をその画素配列に一致させてそのまま羅列しても、特定の像を表す画像データにはならない。すなわち、撮像素子100の画素出力を、同一に特徴付けられた画素グループごとに分離して寄せ集めてはじめて、その特徴に即した一つの像を表す画像データが形成される。例えば、既に図5を用いて説明したように、視差画素の出力をその開口部の種類ごとに寄せ集めると、互いに視差を有する複数の視差画像データが得られる。このように、同一に特徴付けられた画素グループごとに分離して寄せ集められたそれぞれの画像データを、プレーンデータと呼ぶ。
画像処理部205は、撮像素子100の画素配列順にその出力値が羅列されたRAW元画像データを受け取り、複数のプレーンデータに分離するプレーン分離処理を実行する。図13は、図12を用いて説明したB'−1の繰り返しパターンを例として、プレーン分離処理を説明する図である。なお、図示するように、撮像素子100の画素配列に対して、右向きにi軸を定め、下向きにj軸を定める。また、左端かつ上端の座標を(1,1)とし、右端かつ下端の座標を(i0,j0)とする。図においては、図12の例に則して画素の種類が理解されるように記載するが、実際のプレーンデータとしては各画素に対応した出力値が並ぶ。
図13の上段に模式的に表すように、RAW元画像データは、i=1行目において、(1,1)から(i0,1)へ向かって、視差Lt画素、視差なしB画素、視差Rt画素、視差なしB画素の順にそれぞれの出力値が繰り返し並んでいる。また、i=2行目において、(1,2)から(i0,2)へ向かって、視差なしR画素、視差なしG画素(Gr画素)の順にそれぞれの出力値が繰り返し並んでいる。RAW元画像データは、このような行方向の出力値が、列方向にも交互に繰り返して並んでいる。
画像処理部205は、視差Lt画素、視差Rt画素、視差なしR画素、視差なしG画素、および視差なしB画素のそれぞれを同一に特徴付けられた画素グループとして、RAW元画像データをそれぞれのプレーンデータに分離する。B'−1の繰り返しパターンにおいては、RGBのカラー画素は視差なし画素であり、視差画素はW画素である。そこで、画像処理部205は、RAW元画像データから、視差なしR画素のみを分離してR0プレーンデータを生成し、視差なしG画素のみを分離してG0プレーンデータを生成し、視差なしB画素のみを分離してB0プレーンデータを生成して、これらを纏めてカラー画像データとして管理する。
同様に、画像処理部205は、RAW元画像データから、視差Lt画素のみを分離してLt0プレーンデータを生成し、視差Rt画素のみを分離してRt0プレーンデータを生成して、これらを纏めて視差画像データして管理する。ここで、視差画像データは、カラー情報を含まず、被写体像の輝度情報を表していると言えるので、輝度画像データとして扱うことができる。そこで、本実施形態においては、カラー画像データに属する各プレーンの出力値を画素値と呼び、輝度画像データに属する各プレーンの出力値を輝度値と呼ぶ。また、画像処理部205は、カラー画像データと視差画像データを、一つのRAW元画像データから生成されたプレーンデータ群として、RAW画像データセットとして管理する。
この時点における各プレーンデータは、図示するように、RAW元画像データにおいて出力値が存在する画素位置にのみ出力値が存在する。例えば、R0プレーンデータにおいては、一つの繰り返しパターン110に対して出力値(画素値)が存在するのは2画素分であり、他の6画素分は空格子として存在する。同様に、Lt0プレーンデータにおいては、一つの繰り返しパターンに対して出力値(輝度値)が存在するのは1画素分であり、他の7画素分は空格子として存在する。そこで、画像処理部205は、各プレーンデータの空格子を埋める補間処理を実行する。
図14は、プレーンデータの補間処理を説明する図である。ここでは、空格子の存在するR0プレーンデータに補間処理を施して、空格子の存在しないRnプレーンデータを生成する様子を示す。
画像処理部205は、補間処理として、空格子に近接する画素の画素値を用いて、当該空格子の画素値を生成する。例えば、対象となる空格子と隣接する画素に画素値があれば、これらの平均値を当該空格子の画素値とする。また、隣接しない画素を用いる場合は、当該空格子からの距離に応じた重み付けを与えて平均化処理する。
このように補間処理を施すと、それぞれのプレーンデータから空格子を無くすことができる。図15は、補間処理を施した後のRAW画像データセットのデータ構造を説明する図である。
図示するように、RAW画像データセットを構成するカラー画像データは、空格子の存在しないRnプレーンデータ、Gnプレーンデータ、およびBnプレーンデータを含む。これらの画像データはそれぞれ、被写体像に対して赤色成分のみを抽出した画像データ、緑色成分のみを抽出した画像データ、青色成分のみを抽出した画像データに相当する。
同様に、RAW画像データセットを構成する視差画像データ(輝度画像データ)は、空格子の存在しないLtプレーンデータおよびRtプレーンデータを含む。これらの画像データはそれぞれ、被写体像に対して左側視点の輝度成分のみを抽出した画像データ、右側視点の輝度成分のみを抽出した画像データに相当する。
本実施形態においては、画像処理部205は、これら5つのプレーンデータを用いて、左側視点のカラー画像データおよび右側視点のカラー画像データを生成する。具体的な処理に先立って、まず生成原理について説明する。
図16は、デフォーカスの概念を説明する図である。図16(a)で示すように、被写体である物点が焦点位置に存在する場合、レンズ瞳を通って撮像素子受光面に到達する被写体光束は、対応する像点の画素を中心として急峻な光強度分布を示す。すなわち、レンズ瞳を通過する有効光束の全体を受光する視差なし画素が像点近傍に配列されていれば、像点に対応する画素の出力値が最も大きく、周辺に配列された画素の出力値は急激に低下する。
一方、図16(b)に示すように、物点が焦点位置からずれると、被写体光束は、物点が焦点位置に存在する場合に比べて、撮像素子受光面においてなだらかな光強度分布を示す。すなわち、対応する像点の画素における出力値が低下する上に、より周辺画素まで出力値を有する分布を示す。
また、図16(c)に示すように、さらに物点が焦点位置からずれると、被写体光束は、撮像素子受光面においてよりなだらかな光強度分布を示す。すなわち、対応する像点の画素における出力値がさらに低下する上に、より周辺画素まで出力値を有する分布を示す。
次に、視差Lt画素および視差Rt画素が受光する場合のデフォーカスの概念を説明する。図17は、視差画素デフォーカスの概念を説明する図である。視差Lt画素および視差Rt画素は、レンズ瞳の部分領域としてそれぞれ光軸対象に設定された2つの視差仮想瞳のいずれかから到達する被写体光束を受光する。
図17(a)で示すように、被写体である物点が焦点位置に存在する場合、いずれの視差仮想瞳を通った被写体光束であっても、対応する像点の画素を中心として急峻な光強度分布を示す。像点付近に視差Lt画素が配列されていれば、像点に対応する画素の出力値が最も大きく、周辺に配列された画素の出力値が急激に低下する。また、像点付近に視差Rt画素が配列されていても、像点に対応する画素の出力値が最も大きく、周辺に配列された画素の出力値が急激に低下する。すなわち、被写体光束がいずれの視差仮想瞳を通過しても、像点に対応する画素の出力値が最も大きく、周辺に配列された画素の出力値が急激に低下する分布を示し、それぞれの分布は互いに一致する。
一方、図17(b)に示すように、物点が焦点位置からずれると、物点が焦点位置に存在した場合に比べて、視差Lt画素が示す光強度分布のピークは、像点に対応する画素から一方向に離れた位置に現れ、かつその出力値は低下する。また、出力値を有する画素の幅も広がる。視差Rt画素が示す光強度分布のピークは、像点に対応する画素から、視差Lt画素における一方向とは逆向きかつ等距離に離れた位置に現れ、同様にその出力値は低下する。また、同様に出力値を有する画素の幅も広がる。すなわち、物点が焦点位置に存在した場合に比べてなだらかとなった同一の光強度分布が、互いに等距離に離間して現れる。また、図17(c)に示すように、さらに物点が焦点位置からずれると、図17(b)の状態に比べて、さらになだらかとなった同一の光強度分布が、より離間して現れる。つまり、物点が焦点位置から大きくずれる程、ぼけ量と視差量が増すと言える。
図16で説明した光強度分布の変化と、図17で説明した光強度分布の変化をそれぞれグラフ化すると、図18のように表される。図において、横軸は画素位置を表し、中心位置が像点に対応する画素位置である。縦軸は各画素の出力値を表し、この出力値は実質的に光強度に比例するので、図においては光強度として示す。
図18(a)は、図16で説明した光強度分布の変化を表すグラフである。分布曲線1801は、図16(a)に対応する光強度分布を表し、最も急峻な様子を示す。分布曲線1802は、図16(b)に対応する光強度分布を表し、また、分布曲線1803は、図16(c)に対応する光強度分布を表す。分布曲線1801に比較して、徐々にピーク値が下がり、広がりを持つ様子がわかる。
図18(b)は、図17で説明した光強度分布の変化を表すグラフである。分布曲線1804と分布曲線1805は、それぞれ図17(b)の視差Lt画素の光強度分布と視差Rt画素の光強度分布を表す。図からわかるように、これらの分布は中心位置に対して線対称の形状を成す。また、これらを足し合わせた合成分布曲線1806は、図17(b)に対して同等のデフォーカス状態である図16(b)の分布曲線1802と相似形状を示す。
分布曲線1807と分布曲線1808は、それぞれ図17(c)の視差Lt画素の光強度分布と視差Rt画素の光強度分布を表す。図からわかるように、これらの分布も中心位置に対して線対称の形状を成す。また、これらを足し合わせた合成分布曲線1809は、図17(c)に対して同等のデフォーカス状態である図16(c)の分布曲線1803と相似形状を示す。
本実施形態においては、このような光強度分布の性質を利用して、RAW画像データセットを構成する5つのプレーンデータから、左側視点のカラー画像データおよび右側視点のカラー画像データを生成する。左側視点のカラー画像データは、左側視点に対応する赤色プレーンデータであるRLtプレーンデータ、緑色プレーンデータであるGLtプレーンデータ、および青色プレーンデータであるBLtプレーンデータの3つのカラー視差プレーンデータによって構成される。同様に、右側視点のカラー画像データは、右側視点に対応する赤色プレーンデータであるRRtプレーンデータ、緑色プレーンデータであるGRtプレーンデータ、および青色プレーンデータであるBRtプレーンデータの3つのカラー視差プレーンデータによって構成される。
図19は、カラー視差プレーンデータの生成処理を説明する図である。特に、カラー視差プレーンのうち赤色視差プレーンである、RLtプレーンデータとRRtプレーンデータの生成処理について示す。
赤色視差プレーンは、図15を用いて説明したRnプレーンデータの画素値と、LtプレーンデータおよびRtプレーンデータの輝度値とを用いて生成する。具体的には、例えばRLtプレーンデータの対象画素位置(im,jn)の画素値RLtmnを算出する場合、まず、画像処理部205の画素値抽出部231は、Rnプレーンデータの同一画素位置(im,jn)から画素値Rnmnを抽出する。次に、画像処理部205の輝度値抽出部232は、Ltプレーンデータの同一画素位置(im,jn)から輝度値Ltmnを、Rtプレーンデータの同一画素位置(im,jn)から輝度値Rtmnを抽出する。そして、画像処理部205の算出部233は、画素値Rnmnを、輝度値LtmnとRtmnの比で分配して画素値RLtmnを算出する。具体的には、以下の式(1)により算出する。
RLtmn=2Rnmn×Ltmn/(Ltmn+Rtmn) …(1)
同様に、RRtプレーンデータの対象画素位置(im,jn)の画素値RRtmnを算出する場合も、算出部233は、画素値抽出部231が抽出した画素値Rnmnを、輝度値抽出部232が抽出した輝度値Ltmnと輝度値Rtmnの比で分配して算出する。具体的には、以下の式(2)により算出する。
RRtmn=2Rnmn×Rtmn/(Ltmn+Rtmn) …(2)
画像処理部205は、このような処理を、左端かつ上端の画素である(1、1)から右端かつ下端の座標である(i0,j0)まで順次実行する。
そして、赤色視差プレーンであるRLtプレーンデータとRRtプレーンデータの生成処理が完了したら、次に緑色視差プレーンであるGLtプレーンデータとGRtプレーンデータの生成処理を実行する。具体的には、上述の説明においてRnプレーンデータの同一画素位置(im,jn)から画素値Rnmnを抽出する代わりに、Gnプレーンデータの同一画素位置(im,jn)から画素値Gnmnを抽出して、同様に処理する。さらに、緑色視差プレーンであるGLtプレーンデータとGRtプレーンデータの生成処理が完了したら、次に青色視差プレーンであるBLtプレーンデータとBRtプレーンデータの生成処理を実行する。具体的には、上述の説明においてRnプレーンデータの同一画素位置(im,jn)から画素値Rnmnを抽出する代わりに、Bnプレーンデータの同一画素位置(im,jn)から画素値Bnmnを抽出して、同様に処理する。
以上の処理により、左側視点のカラー画像データ(RLtプレーンデータ、GLtプレーンデータ、BLtプレーンデータ)および右側視点のカラー画像データ(RRtプレーンデータ、GRtプレーンデータ、BRtプレーンデータ)が生成される。すなわち、実際には撮像素子100の画素として存在しない、RGBいずれかのカラーフィルタを併せ持つ視差Lt画素および視差Rt画素の仮想的な出力として、左側視点および右側視点のカラー画像データを、比較的簡易な処理により取得することができる。したがって、これらの画像データを3D画像対応の再生装置で再生すれば、ユーザは、カラー画像としての3D映像を鑑賞できる。特に、処理が簡易なので高速に画像データを生成することができ、動画像に対しても対応できる。
上記において、実際の撮像素子100上に視差画素がRGBのいずれの画素に対しても均等に割り振られていれば、3D画像でありながら色再現性の良い高品質のカラー画像データが得られる旨を説明したが、実際にはそのような画素を備えていなくても、以上の処理を施すことにより、これに準じた高品質の3Dカラー画像データを取得できると言える。また、実際の画素として視差画素をRGB画素に対して割り振らなくても良いので、その分、他のプレーンデータを高品質化できる。
次に、以上の処理を光強度分布の観点から説明する。図20は、光強度分布の変化を説明する図である。図20(a)は、焦点位置から一定量だけずれた位置に存在する物点からの被写体光束を受光した場合の、W画素である視差Lt画素の出力値と視差Rt画素の出力値を並べたグラフである。これらの出力値はカラー情報を含まない輝度値である。また、上述の通り、画素の出力値は光強度に比例するので、グラフは光強度分布を表すとも言える。
図20(b)は、図20(a)における物点からの被写体光束を受光した場合の、視差無し画素であるR画素、G画素、B画素の出力値を並べたグラフである。これらの出力値は、カラー情報を含む画素値である。また、このグラフも、各色の光強度分布を表すと言える。
対応する画素ごとに上述の処理を施すと、図20(c)のグラフで表される光強度分布となる。図から分かるように、あたかも、実際のRLt画素、RRt画素、GLt画素、GRt画素、BLt画素、BRt画素からの出力値を並べたかのような分布となる。
ここで、視差カラー画像データを生成するまでを、処理フローの観点から説明する。図21は、視差カラー画像データを生成するまでの処理フローである。フローは、撮影動作に連動して開始しても良いし、メモリカード220から対象画像データを読み出すことにより開始しても良い。
画像処理部205は、ステップS101で、RAW元画像データを取得する。そして、ステップS102において、図13を用いて説明したように、RAW元画像データを、カラー画像データとしてのR0プレーンデータ、G0プレーンデータ、B0プレーンデータ、視差画像データとしてのLt0プレーンデータ、Rt0プレーンデータに分離する。画像処理部205は、ステップS103で、分離した各プレーンデータに存在する空格子を補間する補間処理を実行する。具体的には、図14を用いて説明したように、近接する画素の出力値を用いて平均化処理等により空格子の出力値を算出する。
画像処理部205は、ステップS104で、各変数の初期化を行う。具体的には、まず、カラー変数Csetに1を代入する。カラー変数Csetは、1=赤、2=緑、3=青を表す。また、座標変数であるiとjに1を代入する。さらに、視差変数Sに1を代入する。視差変数Sは、1=左、2=右を表す。
画像処理部205の画素値抽出部231は、ステップS105において、Csetプレーンの対象画素位置(i,j)から画素値を抽出する。例えばCset=1で、対象画素位置が(1,1)である場合、抽出する画素値は、Rn11である。さらに、画像処理部205の輝度値抽出部232は、ステップS106において、Ltプレーンデータ、Rtプレーンデータの対象画素位置(i,j)から輝度値を抽出する。例えば対象画素位置が(1,1)である場合、抽出する輝度値は、Lt11とRt11である。
画像処理部205の算出部233は、ステップS107において、視差変数Sに対応する対象画素位置(i,j)の画素値を算出する。例えばCset=1、S=1で、対象画素位置が(1,1)である場合、RLt11を算出する。具体的には、例えば、上述の式(1)により算出する。
画像処理部205は、ステップS108で、視差変数Sをインクリメントする。そして、ステップS109で、視差変数Sが2を超えたか否かを判断する。超えていなければステップS107へ戻る。超えていればステップS110へ進む。
画像処理部205は、ステップS110で、視差変数Sに1を代入すると共に、座標変数iをインクリメントする。そして、ステップS111で、座標変数iがi0を超えたか否かを判断する。超えていなければステップS105へ戻る。超えていればステップS112へ進む。
画像処理部205は、ステップS112で、座標変数iに1を代入すると共に、座標変数jをインクリメントする。そして、ステップS113で、座標変数jがj0を超えたか否かを判断する。超えていなければステップS105へ戻る。超えていればステップS114へ進む。
ステップS114まで進むと、Csetに対する左右それぞれの全画素の画素値が揃うので、画像処理部205は、これらの画素値を並べて、プレーン画像データを生成する。例えばCset=1である場合、RLtプレーンデータとRRtプレーンデータを生成する。
ステップS115ヘ進み、画像処理部205は、座標変数jに1を代入すると共に、カラー変数Csetをインクリメントする。そして、ステップS116で、カラー変数Csetが3を超えたか否かを判断する。超えていなければステップS105へ戻る。超えていれば、左側視点のカラー画像データ(RLtプレーンデータ、GLtプレーンデータ、BLtプレーンデータ)および右側視点のカラー画像データ(RRtプレーンデータ、GRtプレーンデータ、BRtプレーンデータ)の全てが揃ったとして、一連の処理を終了する。
次に、開口部104の好ましい開口形状について説明する。図22は、好ましい開口形状を説明する図である。
視差Lt画素の開口部104l、および視差Rt画素の開口部104rは、それぞれ対応する光電変換素子108に対して中心を含んで互いに反対方向に偏位していることが好ましい。具体的には、開口部104lおよび104rのそれぞれが、光電変換素子108の中心(画素中心)を通る仮想的な中心線322と接する形状であるか、あるいは、中心線322を跨ぐ形状であることが好ましい。
特に、図示するように、開口部104lの形状と開口部104rの形状は、視差なし画素の開口部104nの形状を中心線322で分割したそれぞれの形状と同一であることが好ましい。別言すれば、開口部104nの形状は、開口部104lの形状と開口部104rの形状を隣接させた形状に等しいことが好ましい。開口部104n、104lおよび104rのそれぞれの形状がこのような関係にあれば、上述の式(1)、(2)による演算式を用いたときに、より実際の視差カラー画素(RLt画素、RRt画素、GLt画素、GRt画素、BLt画素、BRt画素)の出力値に近い値を算出できる。
次に図19および図20で説明した処理とは異なる処理について説明する。図23は、カラー視差プレーンデータの生成処理を説明する図である。特に、カラー視差プレーンのうち赤色視差プレーンである、RLtプレーンデータとRRtプレーンデータの生成処理について示す。
赤色視差プレーンは、図15を用いて説明したRnプレーンデータの画素値と、LtプレーンデータおよびRtプレーンデータの輝度値とを用いて生成する。具体的には、例えばRLtプレーンデータの対象画素位置(im,jn)の画素値RLtmnを算出する場合、まず、画像処理部205の画素値抽出部231は、Rnプレーンデータの同一画素位置(im,jn)から画素値Rnmnを抽出する。次に、画像処理部205の輝度値抽出部232は、Ltプレーンデータの同一画素位置(im,jn)から輝度値Ltmnを、Rtプレーンデータの同一画素位置(im,jn)から輝度値Rtmnを抽出する。そして、画像処理部205の算出部233は、算出したい画素値RLtmnと抽出した画素値Rnmnとの差が、抽出した輝度値LtmnとRtmnとの差に対して相関を保つように、画素値RLtmnを算出する。具体的には、以下の式(3)により算出する。
RLtmn−Rnmn=(Ltmn−Rtmn)/2 …(3)
同様に、RRtプレーンデータの対象画素位置(im,jn)の画素値RRtmnを算出する場合も、算出部233は、算出したい画素値RRtmnと抽出した画素値Rnmnとの差が、抽出した輝度値LtmnとRtmnとの差に対して相関を保つように、画素値RRtmnを算出する。具体的には、以下の式(4)により算出する。
RRtmn−Rnmn=(Rtmn−Ltmn)/2 …(4)
画像処理部205は、このような処理を、左端かつ上端の画素である(1、1)から右端かつ下端の座標である(i0,j0)まで順次実行する。
B'−1の繰り返しパターンの場合、B'−1の視差Lt画素は、視差なし画素に対して開口部104が左側に偏心し、視差Rt画素は、視差なし画素に対する視差Lt画素の偏心量と同じ偏心量だけ右側に偏心している。しがたって、算出したい画素値RLtmnと抽出した画素値Rnmnとの差は、上記式(3)に示すように、抽出した輝度値LtmnとRtmnとの差に対して比例係数1/2をもって相関を保つ。すなわち、算出したい画素値RLtmnと抽出した画素値Rnmnとの差に対する、抽出した輝度値LtmnとRtmnとの差の相関関係は、主に視差Lt画素と視差Rt画素のそれぞれの開口部の偏心量によって規定される。また、開口部の大きさ、視差なし画素の開口部との相対的な関係等のパラメータを考慮しても良い。いずれにしても、規定された相関関係が保たれるように定式化されて画素値RLtmnが算出される。上記式(3)の例では、相関関係として比例係数1/2を規定したが、比例係数を変更する他に、例えば補正項として定数を加算するなど、適宜相関関係を調整しても良い。なお、算出したい画素値が画素値RRtmn、GLtmn、GRtmn、BLtmn、BRtmnであっても、上記の関係は同様である。
赤色視差プレーンであるRLtプレーンデータとRRtプレーンデータの生成処理が完了したら、次に緑色視差プレーンであるGLtプレーンデータとGRtプレーンデータの生成処理を実行する。具体的には、上述の説明においてRnプレーンデータの同一画素位置(im,jn)から画素値Rnmnを抽出する代わりに、Gnプレーンデータの同一画素位置(im,jn)から画素値Gnmnを抽出して、同様に処理する。さらに、緑色視差プレーンであるGLtプレーンデータとGRtプレーンデータの生成処理が完了したら、次に青色視差プレーンであるBLtプレーンデータとBRtプレーンデータの生成処理を実行する。具体的には、上述の説明においてRnプレーンデータの同一画素位置(im,jn)から画素値Rnmnを抽出する代わりに、Bnプレーンデータの同一画素位置(im,jn)から画素値Bnmnを抽出して、同様に処理する。
以上の処理により、左側視点のカラー画像データ(RLtプレーンデータ、GLtプレーンデータ、BLtプレーンデータ)および右側視点のカラー画像データ(RRtプレーンデータ、GRtプレーンデータ、BRtプレーンデータ)が生成される。すなわち、実際には撮像素子100の画素として存在しない、RGBいずれかのカラーフィルタを併せ持つ視差Lt画素および視差Rt画素の仮想的な出力として、左側視点および右側視点のカラー画像データを、比較的簡易な処理により取得することができる。したがって、これらの画像データを3D画像対応の再生装置で再生すれば、ユーザは、カラー画像としての3D映像を鑑賞できる。特に、処理が簡易なので高速に画像データを生成することができ、動画像に対しても対応できる。さらに、和と差の演算はASICなどの回路への実装が容易である。
上記において、実際の撮像素子100上に視差画素がRGBのいずれの画素に対しても均等に割り振られていれば、3D画像でありながら色再現性の良い高品質のカラー画像データが得られる旨を説明したが、実際にはそのような画素を備えていなくても、以上の処理を施すことにより、これに準じた高品質の3Dカラー画像データを取得できると言える。また、実際の画素として視差画素をRGB画素に対して割り振らなくても良いので、その分、他のプレーンデータを高品質化できる。
次に、以上の処理を光強度分布の観点から説明する。図24は、光強度分布の変化を説明する図である。図24(a)は、焦点位置から一定量だけずれた位置に存在する物点からの被写体光束を受光した場合の、W画素である視差Lt画素の出力値と視差Rt画素の出力値を並べたグラフである。これらの出力値はカラー情報を含まない輝度値である。また、上述の通り、画素の出力値は光強度に比例するので、グラフは光強度分布を表すとも言える。
図24(b)は、図24(a)における視差Lt画素の出力値から視差Rt画素の出力値を引いた値と、視差Rt画素の出力値から視差Lt画素の出力値を引いた値を、それぞれ並べたグラフである。
図24(c)は、図24(a)における物点からの被写体光束を受光した場合の、視差無し画素であるR画素、G画素、B画素の出力値を並べたグラフである。これらの出力値は、カラー情報を含む画素値である。また、このグラフも、各色の光強度分布を表すと言える。
対応する画素ごとに上述の処理を施すと、図24(d)のグラフで表される光強度分布となる。図から分かるように、あたかも、実際のRLt画素、RRt画素、GLt画素、GRt画素、BLt画素、BRt画素からの出力値を並べたかのような分布となる。
以上の説明においては、撮像素子100がB'−1の繰り返しパターンを採用する場合を例に説明した。すなわち、視差画素がW画素であって、色情報を含まない輝度画像データとしての視差画像データを利用して、左側視点のカラー画像データと右側視点のカラー画像データの6プレーンデータを生成する例を説明した。しかし、上述の通り、カラーフィルタの配列に対して、視差画素と視差なし画素を、何色の画素にどのような周期で割り振っていくかにより、膨大な数の繰り返しパターンが設定され得る。特定色のカラーフィルタに視差画素が割り振られた撮像素子100の場合、上述の処理を多少変更して左側視点のカラー画像データと右側視点のカラー画像データの6プレーンデータを揃える。以下に具体的な手順について説明する。
図25は、他の繰り返しパターンを採用する撮像素子100におけるプレーン分離処理を説明する図である。図の例では、撮像素子100は、上述のA−1の繰り返しパターンを採用する。A−1の繰り返しパターンは、ベイヤー配列におけるGb画素が視差Lt画素となり、Gr画素が視差Rt画素となっている。
このような撮像素子100から出力されたRAW元画像データからは、カラー画像データとして、R0プレーンデータとB0プレーンデータは分離されるものの、G0プレーンデータは分離され得ない。また、視差画像データとして分離されるLt0プレーンデータとRt0プレーンデータは、緑色の色情報を有している。別言すると、視差画像データは、被写体光束のうち緑色波長成分を捉えた輝度画像データであると言える。したがって、これらのプレーンデータの各出力値は、輝度値として扱うことができる。一方で、これらのプレーンデータは、視差情報を有する緑色のカラー画像データであるとも言える。したがって、各出力値は、画素値として扱うこともできる。
分離されたプレーンデータに上述の補間処理を施して、それぞれに存在する空格子を埋める。図26は、補間処理後のRAW画像データセットのデータ構造を説明する図である。
Rnプレーンデータ、Bnプレーンデータ、LtプレーンデータおよびRtプレーンデータを生成する補間処理は上述の例と同様である。ここで生成されるLtプレーンデータは、左側視点のカラー画像データに属するGLtプレーンデータそのものとなる。同様に、Rtプレーンデータは、右側視点のカラー画像データに属するGRtプレーンデータそのものとなる。したがって、画像処理部205は、GLtプレーンデータとGRtプレーンデータの対応する画素ごとに平均値を算出してGnプレーンデータを生成することができる。
Rnプレーンデータに対して視差画像データを用いてRLtプレーンデータとRRtプレーンデータを生成する処理、およびBnプレーンデータに対して視差画像データを用いてBLtプレーンデータとBRtプレーンデータを生成する処理は、上述の例と同様である。
以上で説明した各繰り返しパターン以外においても、分離され補間処理されたカラー画像データと輝度画像データから、カラー画像データプレーンを生成することができる。例えば、分離され補間処理されたカラー画像データとしてRLtプレーンデータが存在し、輝度画像データとしてLtプレーンデータとRtプレーンデータが存在すれば、式(1)を変形した以下の式(4)によりRnプレーンデータを生成することができる。
Rnmn=RLtmn×(Ltmn+Rtmn)/(2×Ltmn) …(4)
また、式(4)から算出されたRnmnを式(2)へ代入すればRRtmnを算出することができるので、RRtプレーンデータを生成することができる。
あるいは、式(3)を変形した以下の式(5)によりRnプレーンデータを生成することができる。
Rnmn=RLtmn−(Ltmn−Rtmn)/2 …(5)
また、式(3)から算出されたRnmnを式(5)へ代入すればRRtmnを算出することができるので、RRtプレーンデータを生成することができる。
ここで、視差無し画素から生成される視差無し画像は、上述の左側視点の画像および右側視点の画像に対応する、正面からの視点の画像と捉えることができる。すなわち、これらは互いに異なる視点の画像と捉えることができる。したがって、輝度画像データと少なくともいずれかの視点におけるカラー画像データが存在すれば、視差無し画像を含め他の視点のカラー画像データを生成できると言える。
また、以上の説明においては、被写体像のカラーを構成する原色として、赤色、緑色および青色の3つを用いた。しかし、翠色などを加えた4つ以上を原色としても良い。また、赤色、緑色および青色に代えて、イエロー、マゼンタ、シアンの組み合わせによる補色の3原色を採用することもできる。
上述においては、例えば画像処理部205が含む画素値抽出部231、輝度値抽出部232および算出部233などは、デジタルカメラ10を構成する各構成要素の機能としてそれぞれの処理を説明した。また、制御部201および画像処理部205を動作させる制御プログラムは、デジタルカメラ10を構成する各ハードウェアを、上述の処理を実行させる構成要素として機能させ得る。また、カラー画像データを生成するこれらの処理は、デジタルカメラ10で行わなくても、外部のパーソナルコンピュータなどの機器で行っても良い。この場合、外部のパーソナルコンピュータなどの機器は画像処理装置として機能する。画像処理装置は、例えばRAW元画像データを取得してカラー画像データを生成する。画像処理装置は、RAW元画像データを取得した場合は、上述のプレーン分離処理、プレーンデータの補間処理も実行する。また、画像処理装置は、撮像装置側で補間処理が施されたプレーンデータを取得しても良い。
次に、これまで説明した上述の実施例(実施例1)に対して別の実施例(実施例2)について説明する。実施例1では、左視点のカラー画像と右視点のカラー画像を生成するために通常画像Rn,Gn,Bnの色面情報を、左視点の輝度画像Ltと右視点の輝度画像Rtの相加平均した画像に対して、左視点のカラー画像を作る場合には、左視点の輝度画像と相加平均した画像との比が一定に保たれるようにして左視点の輝度画像になぞらえて、左視点のカラー画像を生成する概念を示した。実施例2では、相加平均ではなく相乗平均に対して比が一定に保たれるような式を提示する。式(1)、式(2)で示した式は以下のような演算式に置き換える。
左視点のカラー画像の生成
RLt=RnxLt/√(Lt*Rt)
GLt=GnxLt/√(Lt*Rt)
BLt=BnxLt/√(Lt*Rt)
右視点のカラー画像の生成
RRt=RnxRt/√(Lt*Rt)
GRt=GnxRt/√(Lt*Rt)
BRt=BnxRt/√(Lt*Rt)
上記式は、左視点の輝度画像Ltと右視点の輝度画像Rtの相乗平均に対して比を一定に保つようにして右視点の輝度画像や左視点の輝度画像になぞらえて左視点のカラー画像と右視点のカラー画像を生成しているので、各視点のカラー画像のボケ特性が相加平均のときと異なった特性の画像が生成される。なぜなら、相加平均はボケ幅が広がるのに対して、相乗平均はボケ幅が広がらないからである。
上記式を書き換えると、以下のような関係を満たしている。
左視点のカラー画像の生成
RLt/Rn=√(Lt/Rt)
GLt/Gn=√(Lt/Rt)
BLt/Bn=√(Lt/Rt)
右視点のカラー画像の生成
RRt/Rn=√(Rt/Lt)
GRt/Gn=√(Rt/Lt)
BRt/Bn=√(Rt/Lt)
すなわち、求める対象の左視点のカラー画像の画素値は、左視点のカラー画像の画素値と視差なし画像の画素値との間の比が、左視点の輝度画像の輝度値と右視点の輝度画像の輝度値との間の比に対して相関を持つように値を求めている。また、求める対象の右視点のカラー画像の画素値は、右視点のカラー画像の画素値と視差なし画像の画素値との間の比が、右視点の輝度画像の輝度値と左視点の輝度画像の輝度値との間の比に対して相関を持つように値を求めている。
次に、実施例3を示す。実施例2で示した式の対数をとると以下のような式で等価に表される。
左視点のカラー画像の生成
log(RLt)=log(Rn)+log(Lt)-[log(Lt)+log(Rt)]/2
log(GLt)=log(Gn)+log(Lt)-[log(Lt)+log(Rt)]/2
log(BLt)=log(Bn)+log(Lt)-[log(Lt)+log(Rt)]/2
右視点のカラー画像の生成
log(RRt)=log(Rn)+log(Rt)-[log(Lt)+log(Rt)]/2
log(GRt)=log(Gn)+log(Rt)-[log(Lt)+log(Rt)]/2
log(BRt)=log(Bn)+log(Rt)-[log(Lt)+log(Rt)]/2
すなわち、対数階調をもつ階調特性の画像処理空間に移行すれば、線形階調の画像処理空間で比を一定に保つ演算式は、対数階調空間では差を一定に保つ視差変調によって、左右の各視点のカラー画像を生成することができる。この考え方を一般化して、対数階調にとどまらず、平方根や立方根など羃乗で表される階調特性や、任意の階調特性をもつガンマ空間で、差を一定に保つ演算を行えば、同様に視差変調を加える効果を得ることができる。
フローチャート
1)色・視差多重化モザイク画像データ入力
2)階調変換によるガンマ空間への移行
3)色、視差画像生成
4)逆階調変換による元の色空間への移行
5)出力色空間への変換
処理手順
1)色・視差多重化モザイク画像データ入力
ベイア配列型のG画素を右視差と左視差に瞳分割した、色と視差の多重化された単板式モザイク画像を入力する。これをM[i,j]と表す。各画素値は露光量に比例した値をとる線形階調のデータである。
2)階調変換によるガンマ空間への移行
モザイク画像に対して階調変換を施して、ガンマ空間に移行する。
M[i,j] → MΓ[i,j]
実際には、入力画素値xに対して出力画素値yとなるように非線形変換y=f(x)を施す。非線形変換の特性の例として、以下のような種々の場合が考えられる。ただし、入力信号をx、出力信号をyとし、入力信号の階調と出力信号の階調が共に、[0,1]の範囲で定義されるものとする。入出力特性は(x,y)=(0,0)と(1,1)を通るように階調曲線(ガンマ曲線)を定義する。実際の入力階調Xの最大値をXmax、出力階調Yの最大値をYmaxとすると、x=X/Xmax、y=Y/Ymaxであり、階調変換は
によって行われる。
階調特性の例として以下のような場合が考えられる。
a)立方根階調特性
b)オフセット付き平方根階調特性
オフセット値εは、正の定数である。USP7,957,588参照。
c)対数特性
係数kは正の定数である。
d)線形特性
y=x
3)色、視差画像生成
ガンマ空間で実施例1と同様にして、視差なしカラー画像RnΓ、GnΓ、BnΓと左視点の輝度画像LtΓと右視点の輝度画像RtΓを生成する。その後、視差変調を以下の式によって加えて、左視点のカラー画像と右視点のカラー画像を生成する。なお、模式的にガンマ空間での値を指数Γによって表す。
左視点のカラー画像の生成
RLtΓ=RnΓ+LtΓ-(LtΓ+RtΓ)/2
GLtΓ=GnΓ+LtΓ-(LtΓ+RtΓ)/2
BLtΓ=BnΓ+LtΓ-(LtΓ+RtΓ)/2
右視点のカラー画像の生成
RRtΓ=RnΓ+RtΓ-(LtΓ+RtΓ)/2
GRtΓ=GnΓ+RtΓ-(LtΓ+RtΓ)/2
BRtΓ=BnΓ+RtΓ-(LtΓ+RtΓ)/2
上記式を書き換えると、以下のような関係を満たしている。
左視点のカラー画像の生成
RLtΓ-RnΓ=(LtΓ-RtΓ)/2
GLtΓ-GnΓ=(LtΓ-RtΓ)/2
BLtΓ-BnΓ=(LtΓ-RtΓ)/2
右視点のカラー画像の生成
RRtΓ-RnΓ=(RtΓ-LtΓ)/2
GRtΓ-GnΓ=(RtΓ-LtΓ)/2
BRtΓ-BnΓ=(RtΓ-LtΓ)/2
すなわち、求める対象の左視点のカラー画像の画素値は、左視点のカラー画像の画素値と視差なし画像の画素値との間の差が、左視点の輝度画像の輝度値と右視点の輝度画像の輝度値との間の差に対して相関を持つように値を求めている。また、求める対象の右視点のカラー画像の画素値は、右視点のカラー画像の画素値と視差なし画像の画素値との間の差が、右視点の輝度画像の輝度値と左視点の輝度画像の輝度値との間の差に対して相関を持つように値を求めている。
4)逆階調変換による元の色空間への移行
ガンマ空間から線形階調空間へ逆階調変換を加えることによって、元の色空間へ戻す。必要なカラー画像データに対して施す。左視点のカラー画像と右視点のカラー画像が出来上がる。
左視点のカラー画像
RLtΓ[i,j] → RLt[i,j]
GLtΓ[i,j] → GLt[i,j]
BLtΓ[i,j] → BLt[i,j]
右視点のカラー画像
RRtΓ[i,j] → RRt[i,j]
GRtΓ[i,j] → GRt[i,j]
BRtΓ[i,j] → BRt[i,j]
5)出力色空間への変換
できあがった左視点のカラー画像と右視点のカラー画像に対して、色変換と出力階調変換を加えて、各出力カラー画像を生成する。例えば、sRGB色空間へ変換する。
なお、視差を含むモザイク画像が原色ベイア配列の例を示したが、これらのカラーフィルタが補色系に置き換わっても、同様に右視差の補色カラー画像と左視差の補色カラー画像が同じ原理で生成できる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。