以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
以下の各実施形態では、画像処理装置の例としてデジタルカメラ等の撮像装置について説明を行うが、画像処理装置は撮像装置に限定されず、他の種類の画像処理装置(例えば、パーソナルコンピュータなど)であってもよい。
[第1の実施形態]
●撮像装置100の構成
図1は、撮像装置100の構成を示すブロック図である。撮像光学系(結像光学系)の先端に配置された第1レンズ群101は、レンズ鏡筒にて光軸方向に進退可能に保持される。絞り兼用シャッタ102は、その開口径を調節することで撮影時の光量調節を行う。また、絞り兼用シャッタ102は、静止画撮影時には露光秒時調節用シャッタとしての機能も持つ。第2レンズ群103は、絞り兼用シャッタ102と一体となって光軸方向に進退し、第1レンズ群101の進退動作との連動により、変倍動作(ズーム動作)を行う。第3レンズ群105は、光軸方向の進退により焦点調節を行うフォーカスレンズである。光学的ローパスフィルタ106は、撮像画像の偽色やモアレを軽減するための光学素子である。撮像素子107は、例えば2次元CMOS(相補型金属酸化膜半導体)フォトセンサと周辺回路とからなり、撮像光学系の結像面に配置される。
ズームアクチュエータ111は、不図示のカム筒を回動することで、第1レンズ群101及び第2レンズ群103を光軸方向に移動させて変倍動作を行う。絞りシャッタアクチュエータ112は、絞り兼用シャッタ102の開口径を制御して撮影光量を調節すると共に、静止画撮影時の露光時間制御を行う。フォーカスアクチュエータ114は、第3レンズ群105を光軸方向に移動させて焦点調節動作を行う。
被写体照明用の電子フラッシュ115は、撮影時に使用される。電子フラッシュ115としては、キセノン管を用いた閃光照明装置、又は連続発光するLED(発光ダイオード)を備えた照明装置が用いられる。AF補助光源116(オートフォーカス補助光源)は、所定の開口パターンを有したマスクの像を、投光レンズを介して被写界に投影する。これにより、低輝度の被写体又は低コントラストの被写体に対する焦点検出能力が向上する。
撮像装置100本体の制御部を構成するCPU121(中央演算処理装置)は、種々の制御を司る制御中枢機能を持つ。CPU121は、演算部、ROM(リード・オンリー・メモリ)、RAM(ランダム・アクセス・メモリ)、A(アナログ)/D(デジタル)コンバーター、D/Aコンバーター、及び通信インタフェース回路等を有する。CPU121は、ROMに記憶された所定のプログラムに従って、撮像装置100内の各種回路を駆動し、AF制御、撮像処理、画像処理、記録処理等の一連の動作を実行する。
電子フラッシュ制御回路122は、CPU121の制御指令に従い、撮影動作に同期して電子フラッシュ115を点灯制御する。補助光源駆動回路123は、CPU121の制御指令に従い、焦点検出動作に同期してAF補助光源116を点灯制御する。撮像素子駆動回路124は、撮像素子107の撮像動作を制御すると共に、取得した撮像信号をA/D変換してCPU121に送信する。画像処理回路125は、CPU121の制御指令に従い、撮像素子107により取得した画像のガンマ変換、カラー補間、JPEG(Joint Photographic Experts Group)圧縮等の処理を行う。
フォーカス駆動回路126は、CPU121の制御指令に従い、焦点検出結果に基づいてフォーカスアクチュエータ114を駆動し、第3レンズ群105を光軸方向に移動させて焦点調節を行う。絞りシャッタ駆動回路128は、CPU121の制御指令に従い、絞りシャッタアクチュエータ112を駆動し、絞り兼用シャッタ102の開口径を制御する。ズーム駆動回路129は、CPU121の制御指令に従い、撮影者のズーム操作指示に応じてズームアクチュエータ111を駆動する。
表示部131は、LCD(液晶表示装置)等の表示デバイスを有し、撮像装置100の撮影モードに関する情報、撮影前のプレビュー画像、撮影後の確認用画像、及び焦点検出時の合焦状態表示画像等を表示する。操作部132は、操作スイッチとして、電源スイッチ、レリーズ(撮影トリガ)スイッチ、ズーム操作スイッチ、及び撮影モード選択スイッチ等を備え、操作指示信号をCPU121に出力する。フラッシュメモリ133は、撮像装置100本体に対して着脱可能な記録媒体であり、撮影済み画像データ等を記録する。
●撮像素子107の構成
図2は、撮像素子107の画素及び副画素の配列の概略図である。図2の左右方向をx方向(水平方向)、上下方向をy方向(垂直方向)、x方向及びy方向に直交する方向(紙面に垂直な方向)をz方向(光軸方向)としてそれぞれ定義する。図2は、撮像素子107(2次元CMOSセンサ)の画素(撮像画素)配列を4列×4行の範囲で、副画素配列を8列×4行の範囲で、それぞれ示したものである。
本実施形態では、図2に示した2列×2行の画素群200においては、R(赤)の分光感度を有する画素200Rが左上に、G(緑)の分光感度を有する画素200Gが右上及び左下に、B(青)の分光感度を有する画素200Bが右下に配置されている。また、各画素は、x方向にNx分割(Nxは自然数)、y方向にNy分割(Nyは自然数)されており、瞳分割数NLF=Nx×Nyの副画素により構成されている。なお、図2の例においては、Nx=2、Ny=1、NLF=2×1=2であり、各画素は第1副画素201及び第2副画素202により構成されている。以下の説明においては、簡略化のために、各画素が図2に示すようにx方向に2分割され、y方向には分割されていないものとするが、本実施形態の画素の分割は、図2に示すものに限定されない。以下の説明をNx≧2かつNy≧2の場合に一般化する方法については、第3の実施形態において説明する。
図2に示す例では、4列×4行の画素(8列×4行の副画素)を面上に多数配置することで、撮像画像及び2つの視点画像(視点画像の数は瞳分割数2に対応)を生成するための入力画像を取得可能である。撮像素子107では、画素の周期Pを6μm(マイクロメートル)とし、水平(列方向)画素数NH=6000列、垂直(行方向)画素数NV=4000行、画素数N=NH×NV=2400万画素とする。また、副画素の列方向周期PSを3μmとし、副画素数NSを水平12000列×垂直4000行=4800万画素とする。
図2に示す撮像素子107における1つの画素200Gを、撮像素子107の受光面側(+z側)から見た場合の平面図を図3(A)に示す。図3(A)の紙面に垂直な方向にz軸を設定し、手前側をz軸の正方向と定義する。また、z軸に直交する上下方向にy軸を設定して上方をy軸の正方向と定義し、z軸及びy軸に直交する左右方向にx軸を設定して右方をx軸の正方向と定義する。また、図3(A)のa−a切断線に沿って−y側から見た場合の断面図を図3(B)に示す。
図3(A)及び図3(B)に示すように、画素200Gは、各画素の受光面側(+z方向)に入射光を集光するためのマイクロレンズ305が形成されている。また、x方向に2分割、y方向に1分割(分割なし)された、2つの光電変換部(第1光電変換部301及び第2光電変換部302)が形成されている。第1光電変換部301及び第2光電変換部302が、それぞれ、第1副画素201及び第2副画素202に対応する。
第1光電変換部301及び第2光電変換部302は、2つの独立したpn接合フォトダイオードであり、p型ウェル層300と、2つに分割されたn型層301及びn型層302とから構成される。必要に応じて、イントリンシック層を挟み、pin構造フォトダイオードとして光電変換部を形成してもよい。各画素には、マイクロレンズ305と、第1光電変換部301及び第2光電変換部302との間に、カラーフィルタ306が形成される。必要に応じて、画素毎や光電変換部毎などで、カラーフィルタ306の分光透過率を変えてもよいし、カラーフィルタを省略しても構わない。
画素200Gに入射した光は、マイクロレンズ305により集光され、カラーフィルタ306で分光された後に、第1光電変換部301及び第2光電変換部302により受光される。第1光電変換部301及び第2光電変換部302では、受光量に応じて電子とホール(正孔)が対生成され、空乏層で分離された後、電子が蓄積される。一方、ホールは定電圧源(不図示)に接続されたp型ウェル層を通じて撮像素子107の外部へ排出される。第1光電変換部301と第2光電変換部302に蓄積された電子は、転送ゲートを介して静電容量部(FD)に転送され、電圧信号に変換される。
図4は、撮像素子107の画素構造と瞳分割との対応関係を示す概略説明図である。図4には、図3(A)に示した画素構造のa−a線での切断面を、+y方向から見た場合の断面図と、結像光学系の射出瞳面を−z方向から見た図と、を示す。図4では、射出瞳面の座標軸と対応を取るために、断面図にてx軸とy軸を図3に示す状態とは反転させて示している。
撮像素子107は、撮影レンズ(結像光学系)の結像面近傍に配置され、被写体からの光束は、結像光学系の射出瞳400を通過して、それぞれの画素に入射する。撮像素子107が配置された面を撮像面とする。
2×1分割された第1瞳部分領域501と第2瞳部分領域502は、マイクロレンズによって、第1光電変換部301と第2光電変換部302それぞれの受光面と概ね光学的に共役な関係になっている。そして、第1瞳部分領域501と第2瞳部分領域502は、第1副画素201と第2副画素202により、それぞれ受光可能な瞳領域である。第1副画素201の第1瞳部分領域501は、瞳面上で+X側に重心が偏心しており、第2副画素202の第2瞳部分領域502は、瞳面上で−X側に重心が偏心している。
また、瞳領域500は、マイクロレンズによって、2×1分割された第1光電変換部301と第2光電変換部302を全て合わせた受光面と概ね光学的に共役な関係になっている。そして、瞳領域500は、第1副画素201と第2副画素202を全て合わせた画素200G全体により受光可能な瞳領域である。
図5に、各画素に形成されたマイクロレンズに光が入射した場合の光強度分布を例示する。図5(A)は、マイクロレンズの光軸に平行な断面での光強度分布を示す図である。図5(B)は、マイクロレンズの焦点位置において、マイクロレンズの光軸に垂直な断面での光強度分布を示す図である。入射光は、マイクロレンズにより、焦点位置に集光される。しかし、光の波動性による回折の影響のため、集光スポットの直径は回折限界Δより小さくすることはできず、有限の大きさとなる。光電変換部の受光面サイズは約1〜2μm程度であり、これに対してマイクロレンズの集光スポットが約1μm程度である。そのため、光電変換部の受光面とマイクロレンズを介して共役の関係にある、図4の第1瞳部分領域501と第2瞳部分領域502は、回折ボケのため、明瞭に瞳分割されず、光の入射角に依存した受光率分布(瞳強度分布)となる。
図6に、光の入射角に依存した受光率分布(瞳強度分布)の例を示す。図6において、横軸は瞳座標を表し、縦軸は受光率を表す。図6に実線で示すグラフ線L1は、図4の第1瞳部分領域501のX軸に沿った瞳強度分布を表す。グラフ線L1で示す受光率は、左端から急峻に上昇してピークに到達した後で徐々に低下してから変化率が緩やかになって右端へと至る。また、図6に破線で示すグラフ線L2は、第2瞳部分領域502のX軸に沿った瞳強度分布を表す。グラフ線L2で示す受光率は、グラフ線L1とは反対に、右端から急峻に上昇してピークに到達した後で徐々に低下してから変化率が緩やかになって左端へと至る。図示のように、緩やかに瞳分割されることがわかる。
図7は、撮像素子107と瞳分割との対応関係を示す図である。第1光電変換部301と第2光電変換部302が、それぞれ、第1副画素201と第2副画素202に対応する。撮像素子107の各画素において、2×1分割された第1副画素201と第2副画素202は、それぞれ、結像光学系の第1瞳部分領域501と第2瞳部分領域502の異なる瞳部分領域を通過した光束を受光する。各副画素で受光された信号から、光強度の空間分布及び角度分布を示すLFデータ(入力画像)が取得される。
LFデータに基づき、第1副画素201及び第2副画素202の信号を画素毎に合成することで、画素数Nの解像度を有する撮像画像を生成することができる。また、第1副画素201と第2副画素202の中から選択された特定の副画素の信号を、各画素についてLFデータから取得することで、第1瞳部分領域501と第2瞳部分領域502の中の特定の瞳部分領域に対応した視点画像を生成することができる。例えば、第1副画素201の信号を、各画素についてLFデータから取得することで、第1瞳部分領域501に対応した画素数Nの解像度を有する視点画像(第1視点画像)を生成することができる。他の副画素でも同様である。
以上のように、撮像素子107は、結像光学系の異なる瞳部分領域を通過する光束を受光する複数の光電変換部が設けられた画素が複数配列された構造を有し、LFデータ(入力画像)を取得することができる。
●デフォーカス量と像ずれ量の関係
撮像素子107により取得されるLFデータ(入力画像)から生成される第1視点画像と第2視点画像のデフォーカス量と、像ずれ量との関係について、以下に説明する。
図8は、第1視点画像と第2視点画像のデフォーカス量と、第1視点画像と第2視点画像との間の像ずれ量との関係について概略的に示す図である。撮像面600には撮像素子107(図8において不図示)が配置され、図4及び図7の場合と同様に、結像光学系の射出瞳400が、第1瞳部分領域501と第2瞳部分領域502に2×1分割される。
デフォーカス量dは、その大きさ|d|が、被写体像の結像位置から撮像面600までの距離を表す。被写体像の結像位置が撮像面600よりも被写体側にある前ピン状態では、負符号(d<0)とし、これとは反対の後ピン状態では正符号(d>0)として向きを定義する。被写体像の結像位置が撮像面600にある合焦状態では、d=0である。図8に示す被写体801の位置は、合焦状態(d=0)に対応する位置を示しており、被写体802の位置は前ピン状態(d<0)に対応する位置を示している。以下では、前ピン状態(d<0)と後ピン状態(d>0)とを併せて、デフォーカス状態(|d|>0)という。
前ピン状態(d<0)では、被写体802からの光束のうち、第1瞳部分領域501(又は第2瞳部分領域502)を通過した光束は、一旦集光した後、光束の重心位置G1(又はG2)を中心として幅Γ1(又はΓ2)に広がる。この場合、撮像面600上でボケ像となる。ボケ像は、撮像素子107に配列された各画素を構成する第1副画素201(又は第2副画素202)により受光され、第1視点画像(又は第2視点画像)が生成される。よって、第1視点画像(又は第2視点画像)は、撮像面600上の重心位置G1(又はG2)にて、幅Γ1(又はΓ2)を持った被写体像(ボケ像)の画像データとしてメモリに記憶される。被写体像の幅Γ1(又はΓ2)は、デフォーカス量dの大きさ|d|が増加するのに伴い、概ね比例して増加する。同様に、第1視点画像と第2視点画像との間の被写体像の像ずれ量を「p」と記すと、その大きさ|p|は、デフォーカス量dの大きさ|d|の増加に伴って増加する。例えば、像ずれ量pは、光束の重心位置の差「G1−G2」として定義され、その大きさ|p|は、|d|が増加するのに伴い、概ね比例して増加する。なお、後ピン状態(d>0)では、第1視点画像と第2視点画像との間の被写体像の像ずれ方向が前ピン状態とは反対となるが、同様の傾向がある。
従って、本実施形態では、第1視点画像と第2視点画像、又は、第1視点画像と第2視点画像を加算した撮像画像のデフォーカス量が増減するのに伴い、第1視点画像と第2視点画像との間の像ずれ量の大きさが増減する。
●撮像画像に基づく視点画像の補正処理(概要)
本実施形態の撮像装置100は、撮像画像に基づいて、第1視点画像と第2視点画像に対して、キズ補正やシェーディング補正等の補正処理を行い、出力画像を生成する。以下、撮像素子107により取得されたLFデータ(入力画像)から、撮像画像に基づいて、第1視点画像と第2視点画像に対して補正処理を行い、出力画像を生成する画像処理方法について、図9及び図10を参照して説明する。なお、図9及び図10の各ステップの処理は、特に断らない限り、CPU121が制御プログラムに従って撮像装置100の各部を制御することにより実現される。
●撮像画像及び視点画像の取得(S901及びS902)
最初に、撮像装置100は、撮像素子107により取得されたLFデータから、結像光学系の異なる瞳部分領域を合成した瞳領域に対応する撮像画像と、第1瞳部分領域501に対応する第1視点画像と、を生成する。
S901で、撮像装置100は、撮像画像を取得する。具体的には、撮像装置100は、撮像素子107を用いた撮像を行うことにより、LFデータを取得する。或いは、撮像装置100は、予めフラッシュメモリ133に保存されているLFデータを取得してもよい。そして、撮像装置100は、結像光学系の異なる瞳部分領域(第1瞳部分領域と第2瞳部分領域)を合成した瞳領域に対応数撮像画像を生成する。ここで、LFデータをLFと表記する。また、LFの各画素信号内での列方向iS(1≦iS≦Nx)番目、行方向jS(1≦jS≦Ny)番目の副画素信号を、第k副画素信号と表記する。ここで、k=Nx(jS−1)+iS(1≦k≦NLF)である。撮像装置100は、結像光学系の異なる瞳部分領域を合成した瞳領域に対応した、列方向にi番目、行方向にj番目の撮像画像I(j、i)を、式(1)により生成する。
本実施形態では、撮像画像I(j、i)のS/Nを良好に保持するために、撮像装置100は、各副画素信号がA/D変換される前に、撮像素子107内の静電容量部(FD)において、式(1)の各副画素信号の合成を行う。必要に応じて、撮像装置100は、各副画素信号がA/D変換される前に、撮像素子107内の静電容量部(FD)に蓄積された電荷を電圧信号に変換する際に、式(1)の各副画素信号の合成を行ってもよい。或いは、必要に応じて、撮像装置100は、各副画素信号がA/D変換された後に、式(1)の各副画素信号の合成を行ってもよい。
なお、以下の説明において、画素位置を厳密に考慮する必要がない場合は、「撮像画像I(j、i)」の「(j、i)」を省略して単に「撮像画像I」と記載する場合もある。後述する「第k視点画像Ik(j、i)」などについても同様である。
前述の通り、本実施形態では、Nx=2、Ny=1、NLF=2のx方向2分割の例を用いて説明を行う。撮像装置100は、図2に例示した画素配列に対応したLFデータから、画素毎に、第1副画素201と第2副画素202の信号を合成し、画素数N(=水平画素数NH×垂直画素数NV)の解像度を有するベイヤー配列のRGB信号である撮像画像を生成する。
本実施形態では、視点画像の補正処理において撮像画像を補正基準の参照画像として用いるために、撮像装置100は、撮像画像I(j、i)に対して、RGB毎のシェーディング(光量)補正処理、点キズ補正処理などを行う。必要に応じて、撮像装置100は、その他の処理を行ってもよい。
次に、S902で、撮像装置100は、結像光学系の第k瞳部分領域に対応した、列方向i番目、行方向j番目の第k視点画像Ik(j、i)を、式(2)により生成する。
前述の通り、本実施形態では、Nx=2、Ny=1、NLF=2のx方向2分割の例を用いて説明を行う。また、k=1であるものとする。撮像装置100は、図2に例示した画素配列に対応したLFデータから、画素毎に、第1副画素201の信号を取得する。即ち、撮像装置100は、結像光学系の第1瞳部分領域501に対応した、画素数N(=水平画素数NH×垂直画素数NV)の解像度を有するベイヤー配列のRGB信号である第1視点画像I1(j、i)を生成する。必要に応じて、撮像装置100は、k=2を選択し、結像光学系の第2瞳部分領域502に対応した第2視点画像I2(j、i)を生成してもよい。
このように、撮像装置100は、撮像素子107により取得されたLFデータから、ベイヤー配列のRGB信号である撮像画像I(j、i)と、ベイヤー配列のRGB信号である第1視点画像I1(j、i)とを生成し、フラッシュメモリ133へ保存を行う。本実施形態では、撮像装置100は、撮像画像I(j、i)と、第1視点画像I1(j、i)とから、第2視点画像I2(j、i)を生成する。これにより、撮像画像I(j、i)に対しては、各画素の光電変換部が分割されていない従来の撮像素子107で取得される撮像画像と同様の画像処理を行うことができる。しかしながら、必要に応じて、各視点画像への処理を同等にするために、撮像装置100は、LFデータから第1視点画像I1(j、i)と第2視点画像I2(j、i)とを生成し、フラッシュメモリ133に保存してもよい。
●視点画像のシェーディング補正処理(S903乃至S907)
続いて、撮像装置100は、撮像画像I(j、i)に基づいて、第1視点画像I1のRGB毎のシェーディング(光量)補正を行う。ここで、第1視点画像と第2視点画像の瞳ずれによるシェーディングについて説明する。図11に、撮像素子107の周辺像高における、第1光電変換部301が受光する第1瞳部分領域501と、第2光電変換部302が受光する第2瞳部分領域502と、結像光学系の射出瞳400との関係を示す。図11において、図4と同一又は同様の要素には同一の符号を付す。第1光電変換部301と第2光電変換部302が、それぞれ、第1副画素201と第2副画素202に対応する。
図11(A)は、結像光学系の射出瞳距離Dlと撮像素子107の設定瞳距離Dsが同じ場合を示す。この場合、第1瞳部分領域501と第2瞳部分領域502により、結像光学系の射出瞳400が、概ね均等に瞳分割される。図11(B)は、結像光学系の射出瞳距離Dlが撮像素子107の設定瞳距離Dsより短い場合を示す。この場合、撮像素子107の周辺像高では、結像光学系の射出瞳400と撮像素子107の入射瞳の瞳ずれが生じ、結像光学系の射出瞳400が、不均一に瞳分割されてしまう。図11(C)は、結像光学系の射出瞳距離Dlが撮像素子107の設定瞳距離Dsより長い場合を示す。この場合も、撮像素子107の周辺像高で結像光学系の射出瞳400と撮像素子107の入射瞳の瞳ずれが生じ、結像光学系の射出瞳400が、不均一に瞳分割されてしまう。周辺像高で瞳分割が不均一になるのに伴い、第1視点画像と第2視点画像の強度も不均一になり、第1視点画像と第2視点画像のいずれか一方の強度が大きくなり、他方の強度が小さくなるシェーディングが、RGB毎に生じる。
本実施形態では、撮像装置100は、良好な画質の視点画像を生成するために、撮像画像I(j、i)を基準の参照画像として、第1視点画像I1のRGB毎のシェーディング(光量)補正を行う。
S903で、撮像装置100は、撮像画像I(j、i)と第1視点画像I1(j、i)のいずれもが、非飽和かつ非欠陥(非キズ)である有効画素V1(j、i)を検出する。撮像画像I(j、i)と第1視点画像I1(j、i)のいずれもが、非飽和かつ非欠陥である有効画素は、V1(j、i)=1とする。一方、撮像画像I(j、i)と第1視点画像I1(j、i)の少なくとも一方について飽和又は欠陥である非有効画素は、V1(j、i)=0とする。第k視点画像Ikのシェーディング(光量)補正の場合は、同様に、撮像画像I(j、i)と第k視点画像Ik(j、i)のいずれもが、非飽和かつ非欠陥である有効画素をVk(j、i)=1とする。
飽和判定について詳細に説明する。撮像信号の飽和判定閾値をISとする。撮像装置100は、撮像画像I(j、i)>ISの場合、撮像画像I(j、i)を飽和と判定し、撮像画像I(j、i)≦ISの場合、撮像画像I(j、i)を非飽和と判定する。同様に、第k視点画像の飽和判定閾値をISkとする。撮像装置100は、第k視点画像Ik(j、i)>ISkの場合、第k視点画像Ik(j、i)を飽和と判定し、第k視点画像Ik(j、i)≦ISkの場合、第k視点画像Ik(j、i)を非飽和と判定する。第k視点画像の飽和判定閾値ISkは、撮像信号の飽和判定閾値IS以下(ISk≦IS)である。
なお、有効画素の定義は、「非飽和かつ非欠陥」に限定されない。撮像装置100は、何らかの基準に従い、撮像画像及び視点画像の両方において有効な値を持つ画素を、有効画素として判定する。画素が有効な値を持つか否かの基準として、例えば、画素が飽和画素であるか否か、及び、画素が欠陥画素であるか否か、のうちの少なくとも一方を使用することができる。
本実施形態の撮像素子107は、各画素の第1光電変換部301と第2光電変換部302のいずれかの光電変換部にて蓄積電荷が飽和した場合に、画素外ではなく、同一画素内の他の光電変換部(副画素)に電荷が漏れこむように構成される。この現象を電荷クロストークと呼ぶ。いずれかの副画素(例:第2副画素)が飽和し、副画素間(例:第2副画素から第1副画素)の電荷クロストークが生じた場合を考える。この場合、電荷の溢れ元の副画素(例:第2副画素)と、電荷の漏れこみ先の副画素(例:第1副画素)のいずれも、入射光量に対する蓄積電荷量の線形関係が保たれず、シェーディングの正しい検出に必要な情報が含まれなくなる。
高ISOの場合に比べて、低ISOの場合の方が、光電変換部に蓄積される電荷量が相対的に多く、電荷クロストークが相対的に生じやすい。従って、本実施形態では、飽和画素の検出精度を向上するために、低ISOでの撮像信号の飽和判定閾値ISが、高ISOでの撮像信号の飽和判定閾値IS未満であることが望ましい。また、低ISOでの第k視点画像の飽和判定閾値ISkが、高ISOでの第k視点画像の飽和判定閾値ISk未満であることが望ましい。
また、結像光学系の射出瞳距離が、第1の所定瞳距離より短く(又は、第2の所定瞳距離より長く)、結像光学系の射出瞳400と撮像素子107の入射瞳の瞳ずれによるシェーディングが生じる場合を考える。この場合、周辺像高で、第1視点画像と第2視点画像のいずれか一方の強度が大きくなり、他方の強度が小さくなり、電荷クロストークが生じやすい。従って、飽和画素の検出精度向上のため、射出瞳距離が第1の所定瞳距離より短い(又は、第2の所定瞳距離より長い)場合の飽和判定閾値ISが、射出瞳距離が第1の所定瞳距離以上かつ第2の所定瞳距離以下の場合の飽和判定閾値IS未満であることが望ましい。また、射出瞳距離が第1の所定瞳距離より短い(又は、第2の所定瞳距離より長い)場合の第k視点画像の飽和判定閾値ISkが、射出瞳距離が第1の所定瞳距離以上かつ第2の所定瞳距離以下の場合の飽和判定閾値ISk未満であることが望ましい。
次に、S904及びS905で、撮像装置100は、撮像画像及び第1視点画像について、色別に射影処理を行う。ここで、整数j2(1≦j2≦NV/2)、i2(1≦i2≦NH/2)とする。図2に例示したベイヤー配列に対応する撮像画像IのR成分をRI(2j2−1、2i2−1)=I(2j2−1、2i2−1)、Gr成分をGrI(2j2−1、2i2)=I(2j2−1、2i2)とする。また、Gb成分をGbI(2j2、2i2−1)=I(2j2、2i2−1)、B成分をBI(2j2、2i2)=I(2j2、2i2)とする。
同様に、図2に例示したベイヤー配列に対応する第k視点画像IkのR成分をRIk(2j2−1、2i2−1)=Ik(2j2−1、2i2−1)、Gr成分をGrIk(2j2−1、2i2)=Ik(2j2−1、2i2)とする。また、Gb成分をGbIk(2j2、2i2−1)=Ik(2j2、2i2−1)、B成分をBIk(2j2、2i2)=Ik(2j2、2i2)とする。
S904で、撮像装置100は、撮像画像のRI(2j2−1、2i2−1)、GrI(2j2−1、2i2)、GbI(2j2、2i2−1)、BI(2j2、2i2)について、射影処理を行う。撮像装置100は、式(3A)から式(3D)に従い、瞳分割方向(x方向)と直交する方向(y方向)に射影処理を行う。その結果、撮像画像の射影信号RP(2i2−1)、GrP(2i2)、GbP(2i2−1)、BP(2i2)が生成される。飽和信号値や欠陥信号値には、撮像画像のRGB毎のシェーディングを正しく検出するための情報が含まれていない。そのため、射影処理においては、撮像画像と有効画素Vkとの積を取ることにより、飽和信号値や欠陥信号値が除外される(式(3A)から式(3D)の上段の分子)。そして、射影処理に用いられた有効画素数で規格化が行われる(式(3A)から式(3D)の上段の分母)。射影処理に用いられた有効画素数が0の場合、式(3A)から式(3D)の下段により、撮像画像の射影信号は0に設定される。更に、撮像画像の射影信号が、ノイズの影響などで負信号となった場合、撮像画像の射影信号は0に設定される。
同様に、S905で、撮像装置100は、第k視点画像のRIk(2j2−1、2i2−1)、GrIk(2j2−1、2i2)、GbIk(2j2、2i2−1)、BIk(2j2、2i2)について、射影処理を行う。撮像装置100は、式(3E)から式(3H)に従い、瞳分割方向(x方向)と直交する方向(y方向)に射影処理を行う。その結果、第k視点画像の射影信号RPk(2i2−1)、GrPk(2i2)、GbPk(2i2−1)、BPk(2i2)が生成される。
式(3A)から式(3D)から理解できるように、S904の射影処理は、瞳分割方向に直交する方向に並ぶ撮像画像Iの画素群(非有効画素を除く)の合計値を算出する処理である。合計値の算出は、色毎に行われ(即ち、画素群は、全画素が同一の色に対応するように決定され)、合計値は、正規化のために有効画素の数で除算される。また、式(3E)から式(3H)から理解できるように、S905の射影処理は、瞳分割方向に直交する方向に並ぶ第1視点画像I1の画素群(非有効画素を除く)の合計値を算出する処理である。合計値の算出は、色毎に行われ(即ち、画素群は、全画素が同一の色に対応するように決定され)、合計値は、正規化のために有効画素の数で除算される。
式(3A)から式(3D)の射影処理後、撮像装置100は、平滑化のために、撮像画像の射影信号RP(2i2−1)、GrP(2i2)、GbP(2i2−1)、BP(2i2)に、ローパスフィルタ処理を行う。同様に、式(3E)から式(3H)の射影処理後、撮像装置100は、平滑化のために、第k視点画像の射影信号RPk(2i2−1)、GrPk(2i2)、GbPk(2i2−1)、BPk(2i2)に、ローパスフィルタ処理を行う。しかしながら、ローパスフィルタ処理は省略してもよい。
図12(A)に、撮像画像の射影信号RP(R)、GrP(G)、GbP(G)、BP(B)の例を、図12(B)に、第1視点画像の射影信号RP1(R)、GrP1(G)、GbP1(G)、BP1(B)の例を示す。各射影信号には、被写体に依存した複数の山谷の起伏が生じる。第1視点画像I1のシェーディング(光量)補正を高精度に行うためには、瞳ずれにより生じている第1視点画像I1のRGB毎のシェーディング成分と、被写体が保有しているRGB毎の信号成分と、を分離する必要がある。
この分離のために、S906で、撮像装置100は、撮像画像Iを基準とした相対的な、第k視点画像IkのRGB毎のシェーディング信号RSk(2i2−1)、GrSk(2i2)、GbSk(2i2−1)、BSk(2i2)を算出する。この算出は、式(4A)から式(4D)に従って行われる。
ここで、画素の受光量は、副画素の受光量より大きい必要があり、また、シェーディング成分の算出には、副画素の受光量が0より大きい必要がある。そのため、撮像装置100は、式(4A)に従い、条件式RP(2i2−1)>RPk(2i2−1)>0を満たす場合、第k視点画像のR成分の射影信号RPk(2i2−1)と、撮像画像のR成分の射影信号RP(2i2−1)との比を取得する。そして、撮像装置100は、取得した比に対して、規格化のために瞳分割数NLFを乗算して、第k視点画像IkのR成分のシェーディング信号RSk(2i2−1)を生成する。これにより、被写体が保有しているRの信号成分を相殺し、第k視点画像IkのRのシェーディング成分を分離することができる。一方、条件式RP(2i2−1)>RPk(2i2−1)>0を満たさない場合、撮像装置100は、第k視点画像IkのR成分のシェーディング信号RSk(2i2−1)を0に設定する。
同様に、撮像装置100は、式(4B)に従い、条件式GrP(2i2)>GrPk(2i2)>0を満たす場合、第k視点画像のGr成分の射影信号GrPk(2i2)と、撮像画像のGr成分の射影信号GrP(2i2)との比を取得する。そして、撮像装置100は、取得した比に対して、規格化のために瞳分割数NLFを乗算して、第k視点画像IkのGr成分のシェーディング信号GrSk(2i2)を生成する。これにより、被写体が保有しているGrの信号成分を相殺し、第k視点画像IkのGrのシェーディング成分を分離することができる。一方、条件式GrP(2i2)>GrPk(2i2)>0を満たさない場合、撮像装置100は、第k視点画像IkのGr成分のシェーディング信号GrSk(2i2)を0に設定する。
同様に、撮像装置100は、式(4C)に従い、条件式GbP(2i2−1)>GbPk(2i2−1)>0を満たす場合、第k視点画像のGb成分の射影信号GbPk(2i2−1)と、撮像画像のGb成分の射影信号GbP(2i2−1)との比を取得する。そして、撮像装置100は、取得した比に対して、規格化のために瞳分割数NLFを乗算して、第k視点画像IkのGb成分のシェーディング信号GbSk(2i2−1)を生成する。これにより、被写体が保有しているGbの信号成分を相殺し、第k視点画像IkのGbのシェーディング成分を分離することができる。一方、条件式GbP(2i2−1)>GbPk(2i2−1)>0を満たさない場合、撮像装置100は、第k視点画像IkのGb成分のシェーディング信号GbSk(2i2−1)を0に設定する。
同様に、撮像装置100は、式(4D)に従い、条件式BP(2i2)>BPk(2i2)>0を満たす場合、第k視点画像のB成分の射影信号BPk(2i2)と、撮像画像のB成分の射影信号BP(2i2)との比を取得する。そして、撮像装置100は、取得した比に対して、規格化のために瞳分割数NLFを乗算して、第k視点画像IkのB成分のシェーディング信号BSk(2i2)を生成する。これにより、被写体が保有しているBの信号成分を相殺し、第k視点画像IkのBのシェーディング成分を分離することができる。一方、条件式BP(2i2)>BPk(2i2)>0を満たさない場合、撮像装置100は、第k視点画像IkのB成分のシェーディング信号BSk(2i2)を0に設定する。
なお、シェーディング補正を高精度に行うためには、有効なシェーディング信号数が所定値以上である場合に、シェーディング補正を行うことが望ましい。即ち、RSk(2i2−1)>0、GrSk(2i2)>0、GbSk(2i2−1)>0、BSk(2i2)>0を満たす有効なシェーディング信号数が所定値以上である場合に、シェーディング補正を行うことが望ましい。
式(4A)から式(4D)から理解できるように、シェーディング信号は、瞳分割方向に直交する方向に並ぶ第1視点画像I1の画素群の合計値と、これに対応する位置の撮像画像の画素群の合計値との比率に関係する値である。
シェーディング信号の生成に続いて、撮像装置100は、式(5A)から式(5D)に従い、第k視点画像IkのRGB毎のシェーディング関数RSFk(2i2−1)、GrSFk(2i2)、GbSFk(2i2−1)、BSFk(2i2)を、瞳分割方向(x方向)の位置変数に対する滑らかなNSF次の多項式関数とする。また、撮像装置100は、式(4A)から式(4D)により生成された、RSk(2i2−1)>0、GrSk(2i2)>0、GbSk(2i2−1)>0、BSk(2i2)>0を満たす有効なシェーディング信号を、データ点とする。撮像装置100は、これらのデータ点を用いて最小二乗法によるパラメータフィッティングを行い、式(5A)から式(5D)の各係数RSCk(μ)、GrSCk(μ)、GbSCk(μ)、BSCk(μ)を算出する。以上により、撮像画像を基準とした相対的な、第k視点画像IkのRGB毎のシェーディング関数RSFk(2i2−1)、GrSFk(2i2)、GbSFk(2i2−1)、BSFk(2i2)が生成される。
ここで、シェーディング関数RSFk、GrSFk、GbSFk、BSFkを、瞳分割方向(x方向)に反転した関数を、それぞれ、R[RSFk]、R[GrSFk]、R[GbSFk]、R[BSFk]とする。所定許容値をε(0<ε<1)とする。撮像装置100は、1−ε≦RSFk+R[RSFk]≦1+ε、1−ε≦GrSFk+R[GrSFk]≦1+ε、1−ε≦GbSFk+R[GbSFk]≦1+ε、1−ε≦BSFk+R[BSFk]≦1+εの各条件式が、各位置で全て満たされるか判定する。各条件式が各位置で全て満たされる場合、撮像装置100は、生成されたシェーディング関数は適正であると判定し、式(6A)から式(6D)に従うシェーディング補正処理(後述)を行う。そうでない場合、撮像装置100は、生成されたシェーディング関数は不適正であると判定し、RSFk≡1、GrSFk≡1、GbSFk≡1、BSFk≡1とし、必要に応じて、例外処理を行う。
図12(C)に、撮像画像Iを基準とした相対的な、第1視点画像I1のRGB毎のシェーディング関数RSF1(R)、GrSF1(G)、GbSF1(G)、BSF1(B)の例を示す。図12(B)の第1視点画像I1の射影信号と、図12(A)の撮像画像Iの射影信号では、被写体に依存した山谷の起伏が存在する。これに対して、第1視点画像I1の射影信号と撮像画像Iの射影信号の比を得ることにより、被写体に依存した山谷の起伏(被写体が保有しているRGB毎の信号値)を相殺することができる。これにより、滑らかな第1視点画像I1のRGB毎のシェーディング関数を分離して生成することができる。
なお、本実施形態では、シェーディング関数として多項式関数を用いたが、これに限定されることはなく、必要に応じて、シェーディング形状に合わせて、より一般的な関数を用いてもよい。
次に、S907で、撮像装置100は、RGB毎のシェーディング関数を用いて、第k視点画像Ik(j、i)に対してシェーディング(光量)補正処理を行い、第1修正第k視点画像M1Ik(j、i)を生成する。シェーディング補正処理は、式(6A)から式(6D)に従って行われる。ここで、ベイヤー配列の第1修正第k視点画像M1IkのR成分をRM1Ik(2j2−1、2i2−1)=M1Ik(2j2−1、2i2−1)、Gr成分をGrM1Ik(2j2−1、2i2)=M1Ik(2j2−1、2i2)とする。また、Gb成分をGbM1Ik(2j2、2i2−1)=M1Ik(2j2、2i2−1)、B成分をBM1Ik(2j2、2i2)=M1Ik(2j2、2i2)とする。
本実施形態では、撮像装置100は、撮像画像と視点画像に基づき、撮像画像の被写体による信号変化と、視点画像の被写体による信号変化と、を相殺して、RGB毎のシェーディング関数を算出する。そして、撮像装置100は、シェーディング関数の逆数により、RGB毎のシェーディング補正量(光量補正量)を算出する。そして、撮像装置100は、算出したシェーディング補正量(光量補正量)に基づき、視点画像のシェーディング(光量)補正処理を行う。
本実施形態においては、瞳分割方向に直交する方向に並ぶ第1視点画像I1の画素群の合計値と、これに対応する位置の撮像画像の画素群の合計値との比率を利用することにより、被写体による信号変化が相殺される。瞳分割方向に直交する方向の合計値を利用することにより、瞳分割方向の視差情報が失われることを抑制しつつ、被写体による信号変化を相殺することができる。
以下、図13から図15を参照して、図9のS903乃至S907に示した第1視点画像I1のRGB毎のシェーディング(光量)補正処理の効果を説明する。図13は、撮像画像I(デモザイキング後)の例を示す。これは、画質が良好な撮像画像の例である。図14は、シェーディング補正前の第1視点画像I1(デモザイキング後)の例を示す。これは、結像光学系の射出瞳400と撮像素子107の入射瞳の瞳ずれによりRGB毎のシェーディングが生じ、そのため、第1視点画像I1の右側において輝度の低下とRGB比の変調が生じている例である。図15は、本実施形態のシェーディング補正後の第1修正第1視点画像M1I1(デモザイキング後)の例を示す。撮像画像に基づいたRGB毎のシェーディング補正により、輝度の低下とRGB比の変調とが修正され、撮像画像Iと同様に画質が良好な、シェーディング補正後の第1修正第1視点画像M1I1が生成されている。
以上の処理により生成された第1修正第k視点画像M1Ikは、次に説明するキズ補正処理に用いられる。しかしながら、必要に応じて、撮像装置100は、第1修正第k視点画像M1Ikを出力画像としてフラッシュメモリ133に格納するなどしてもよい。
●視点画像のキズ補正処理(S908)
S908で、撮像装置100は、撮像画像Iに基づいて、第1修正第k視点画像M1Ikの欠陥補正(キズ補正)を行う。前述の通り、k=1であるものとして説明を行う。本実施形態では、撮像素子107の回路構成や駆動方式により、転送ゲートの短絡などが原因で、撮像画像Iは正常である一方、第1視点画像I1の一部分に欠陥信号が生じ、点欠陥や線欠陥となる場合がある。必要に応じて、撮像装置100は、量産工程等で検査された点欠陥情報や線欠陥情報を、画像処理回路125等に事前に記録し、記録された点欠陥情報や線欠陥情報を用いて第1視点画像I1の欠陥補正処理を行ってもよい。また、必要に応じて、撮像装置100は、第1視点画像I1をリアルタイムに検査して点欠陥判定や線欠陥判定を行ってもよい。
第k視点画像Ikの奇数行2jD−1又は偶数行2jDが水平方向(x方向)の線欠陥であると判定され、撮像画像Iの奇数行2jD−1又は偶数行2jDは線欠陥と判定されていない場合を例として、S908の欠陥補正を説明する。
撮像装置100は、正常な撮像画像Iを参照画像として、撮像画像Iに基づいて、第1修正第k視点画像M1Ikの欠陥補正を行う。本実施形態の欠陥補正では、欠陥と判定されていない位置の第1修正第k視点画像M1Ikの信号値と、欠陥と判定されていない位置の撮像画像Iの信号値と、を比較して欠陥補正を行う。この比較を行う際に、瞳ずれにより生じている第k視点画像IkのRGB毎のシェーディング成分の影響が取り除かれていることが、精度向上のために重要である。なぜなら、第k視点画像Ikと撮像画像Iとで、被写体が保有しているRGB毎の信号成分を正確に比較することが高精度な欠陥補正のために必要であるからである。そのため、欠陥補正においては、(第k視点画像Ikではなく)第1修正第k視点画像M1Ikが用いられる。
撮像装置100は、第1修正第k視点画像M1Ik(j、i)の欠陥信号に対して、撮像画像Iの正常信号と、第1修正第k視点画像M1Ikの正常信号とを用いて、欠陥補正処理を行う。欠陥補正後の第k視点画像を、第2修正第k視点画像M2Ik(j、i)と表記する。欠陥補正は、式(7A)から式(7D)に従って行われる。ここで、ベイヤー配列の第2修正第k視点画像M2IkのR成分をRM2Ik(2j2−1、2i2−1)=M2Ik(2j2−1、2i2−1)、Gr成分をGrM2Ik(2j2−1、2i2)=M2Ik(2j2−1、2i2)とする。また、Gb成分をGbM2Ik(2j2、2i2−1)=M2Ik(2j2、2i2−1)、B成分をBM2Ik(2j2、2i2)=M2Ik(2j2、2i2)とする。
第1修正第k視点画像M1IkのR成分の第1位置(2jD−1、2iD−1)が欠陥と判定された場合、撮像装置100は式(7A)に従って欠陥補正処理を行い、第1位置における第2修正第k視点画像RM2Ik(2jD−1、2iD−1)を生成する。式(7A)において、τ及びσの値は、R成分の第1修正第k視点画像RM1Ikにおいて欠陥と判定されていない位置(第2位置)に対応する値のみが使用される。
同様に、第1修正第k視点画像M1IkのGr成分の第1位置(2jD−1、2iD)が欠陥と判定された場合、撮像装置100は式(7B)に従って欠陥補正処理を行い、第1位置における第2修正第k視点画像GrM2Ik(2jD−1、2iD)を生成する。式(7B)において、τ及びσの値は、Gr成分の第1修正第k視点画像GrM1Ikにおいて欠陥と判定されていない位置(第2位置)に対応する値のみが使用される。
同様に、第1修正第k視点画像M1IkのGb成分の第1位置(2jD、2iD−1)が欠陥と判定された場合、撮像装置100は式(7C)に従って欠陥補正処理を行い、第1位置における第2修正第k視点画像GbM2Ik(2jD、2iD−1)を生成する。式(7C)において、τ及びσの値は、Gb成分の第1修正第k視点画像GbM1Ikにおいて欠陥と判定されていない位置(第2位置)に対応する値のみが使用される。
同様に、第1修正第k視点画像M1IkのB成分の第1位置(2jD、2iD)が欠陥と判定された場合、撮像装置100は式(7D)に従って欠陥補正処理を行い、第1位置における第2修正第k視点画像BM2Ik(2jD、2iD)を生成する。式(7D)において、τ及びσの値は、Gb成分の第1修正第k視点画像GbM1Ikにおいて欠陥と判定されていない位置(第2位置)に対応する値のみが使用される。
第1修正第k視点画像M1Ikにおいて欠陥と判定されていない位置(j、i)については、第2修正第k視点画像M2Ik(j、i)は、第1修正第k視点画像M1Ik(j、i)と同じ信号値である。即ち、M2Ik(j、i)=M1Ik(j、i)である。
以下、図16及び図17を参照して、S908に示した第1修正第1視点画像M1I1の欠陥補正処理の効果を説明する。図16は、欠陥補正前の第1修正第1視点画像M1I1(シェーディング補正後、デモザイキング後)の例を示す。これは、第1修正第1視点画像M1I1の中央部に、水平方向(x方向)のライン状の欠陥(線欠陥)が生じている例である。図17は、欠陥補正後の第2修正第1視点画像M2I1(シェーディング補正後、デモザイキング後)の例を示す。正常な撮像画像Iに基づいた欠陥補正により、水平方向(x方向)の線欠陥が修正され、撮像画像Iと同様に画質が良好な、欠陥補正後の第2修正第1視点画像M2I1が生成されている。
以上の処理により生成された第2修正第k視点画像M2Ikは、次に説明する再シェーディング処理に用いられる。しかしながら、必要に応じて、撮像装置100は、第2修正第k視点画像M2Ikを出力画像としてフラッシュメモリ133に格納するなどしてもよい。
●視点画像の再シェーディング処理(S909)
S909で、撮像装置100は、欠陥補正後の第2修正第k視点画像M2Ik(j、i)に対して、式(8A)から式(8D)に従って再シェーディング処理を行い、第3修正第k視点画像M3Ik(j、i)を生成する。ここで、ベイヤー配列の第3修正第k視点画像M3IkのR成分をRM3Ik(2j2−1、2i2−1)=M3Ik(2j2−1、2i2−1)、Gr成分をGrM3Ik(2j2−1、2i2)=M3Ik(2j2−1、2i2)とする。また、Gb成分をGbM3Ik(2j2、2i2−1)=M3Ik(2j2、2i2−1)、B成分をBM3Ik(2j2、2i2)=M3Ik(2j2、2i2)とする。
●撮像画像及び視点画像の飽和信号処理(S910及びS911)
次に、撮像装置100は、撮像画像I(j、i)と、第3修正第k視点画像M3Ik(j、i)に対して、飽和信号処理を行う。引き続き、k=1、NLF=2の例について説明を行う。
S910で、撮像装置100は、撮像画像I(j、i)に対して、撮像信号の最大値をImaxとして、式(9)に従って飽和信号処理を行い、修正撮像画像MI(j、i)を生成する。ここで、撮像信号の最大値Imaxと、撮像信号の飽和判定閾値ISは、Imax≧ISを満たす。
S911で、撮像装置100は、第3修正第k視点画像M3Ik(j、i)に対して、式(10)に従ってシェーディング状態に合わせた飽和信号処理を行い、第4修正第k視点画像M4Ik(j、i)を生成する。式(10)において、SFk(j、i)は、式(5A)から式(5D)により求められたベイヤー配列のシェーディング関数であり、SFk(2j2−1、2i2−1)=RSFk(2i2−1)である。また、SFk(2j2−1、2i2)=GrSFk(2i2)、SFk(2j2、2i2−1)=GbSFk(2i2−1)、SFk(2j2、2i2)=BSFk(2i2)である。
●第2視点画像の生成処理(S912)
S912で、撮像装置100は、式(11)に従い、修正撮像画像MI(j、i)及び第4修正第1視点画像M4I1(j、i)から、第2視点画像I2(j、i)を生成する。
本実施形態では、撮像素子107の駆動方式やA/D変換の回路構成により、第3修正第1視点画像M3I1(j、i)の飽和時の最大信号値が、撮像画像I(j、i)の飽和時の最大信号値Imaxと、同一の最大信号値となる場合がある。その場合に、仮に飽和信号処理を行わずに、式(11)のように撮像画像Iから第3修正第1視点画像M3I1を減算して第2視点画像I2を生成した場合を考える。この仮定において、第2視点画像I2において飽和信号値となるべき場合に、誤った信号値0となってしまう場合がある。この問題を防止するために、本実施形態では、撮像装置100は予めS910及びS911において、撮像画像Iと第3修正第k視点画像M3Ikに対してシェーディング状態に合わせた飽和信号処理を行っている。そして、撮像装置100は、飽和信号処理により修正撮像画像MI及び第4修正第1視点画像M4I1が生成された後に、S912で、式(11)に従って第2視点画像I2を生成している。これにより、より正しい飽和信号値に対応した第2視点画像I2を生成することができる。
●第1視点画像及び第2視点画像のシェーディング補正処理(S913乃至S915)
次に、撮像装置100は、第4修正第1視点画像M4I1(j、i)と、第2視点画像I2(j、i)に対して、シェーディング(光量)補正を行う。
S913で、撮像装置100は、S907と同様に(式(6A)から式(6D)参照)、第4修正第1視点画像M4I1に対してシェーディング(光量)補正処理を行い、第5修正第1視点画像M5I1を生成する。この時、撮像装置100は、シェーディング関数RSF1、GrSF1、GbSF1、BSF1として、S906において生成済みのものを用いる。
S914で、撮像装置100は、S903乃至S906と同様に(式(3A)から式(5D)参照)、第2視点画像I2のシェーディング関数RSF2、GrSF2、GbSF2、BSF2を生成する。S915で、撮像装置100は、S907と同様に(式(6A)から式(6D)参照)、第2視点画像I2に対して、S914において生成したシェーディング関数を用いたシェーディング(光量)補正処理を行い、第5修正第2視点画像M5I2を生成する。
●第1視点画像及び第2視点画像の飽和信号処理(S916及びS917)
S916で、撮像装置100は、第5修正第1視点画像M5I1(j、i)に対して、式(12)に従って飽和信号処理を行い、出力画像である最終修正第1視点画像MI1(j、i)を生成する。ここで、第k視点画像の最大値Imax/NLFと、第k視点画像の飽和判定閾値ISkは、Imax/NLF≧ISkを満たす。同様に、S917で、撮像装置100は、第5修正第2視点画像M5I2(j、i)に対して、式(12)に従って飽和信号処理を行い、出力画像である最終修正第2視点画像MI2(j、i)を生成する。なお、「最終」修正という用語は便宜上のものであり、これ以降に更に何らかの修正を行うことを禁止することを意味する訳ではない。
以下、図18及び図19を参照して、図9のS914及びS915に示した第2視点画像I2のRGB毎のシェーディング(光量)補正処理の効果を説明する。図18は、シェーディング補正前の第2視点画像I2(デモザイキング後)の例を示す。これは、結像光学系の射出瞳400と撮像素子107の入射瞳の瞳ずれによりRGB毎のシェーディングが生じ、そのため、第2視点画像I2の左側において輝度の低下とRGB比の変調が生じている例である。図19は、本実施形態のシェーディング補正後の最終修正第2視点画像MI2(デモザイキング後)の例を示す。撮像画像に基づいたRGB毎のシェーディング補正により、輝度の低下とRGB比の変調とが修正され、撮像画像Iと同様に画質が良好な、シェーディング補正後の最終修正第2視点画像MI2(j、i)が生成されている。
以上説明したように、第1の実施形態によれば、撮像装置100は、撮像画像を用いて視点画像の補正処理を行う。これにより、視点画像の画質を向上させることが可能となる。
[第2の実施形態]
第2の実施形態では、第1の実施形態で生成された最終修正第1視点画像及び最終修正第2視点画像から、最終修正第1視点画像と最終修正第2視点画像の相関(信号の一致度)に基づき、位相差方式により像ずれ量分布を検出する処理について説明する。本実施形態において、撮像装置100の基本的な構成は、第1の実施形態と同様である(図1参照)。以下、主に第1の実施形態と異なる点について説明する。
最初に、撮像装置100は、式(13)に従い、ベイヤー配列のRGB信号である最終修正第k視点画像MIkから、位置(j,i)ごとに、各色RGBの色重心を一致させて、第k視点輝度信号Ykを生成する。
次に、撮像装置100は、最終修正第1視点画像MI1から生成された第1視点輝度信号Y1に対して、瞳分割方向(x方向)に1次元バンドパスフィルタ処理を行い、第1焦点検出信号dYAを生成する。また、撮像装置100は、最終修正第2視点画像MI2から生成された第2視点輝度信号Y2に対して、瞳分割方向(x方向)に1次元バンドパスフィルタ処理を行い、第2焦点検出信号dYBを生成する。1次元バンドパスフィルタとしては、例えば、1次微分型フィルタ[1、5、8、8、8、8、5、1、−1、−5、−8、−8、−8、−8、−5、−1]などを用いることができる。必要に応じて、1次元バンドパスフィルタの通過帯域を調整しても良い。
次に、撮像装置100は、第1焦点検出信号dYAと第2焦点検出信号dYBを、相対的に瞳分割方向(x方向)にシフトさせて、信号の一致度を表す相関量を算出し、相関量に基づいて像ずれ量分布MDIS(j,i)を生成する。ここで、位置(j,i)を中心として、行方向j2(−n2≦j2≦n2)番目、瞳分割方向である列方向i2(−m2≦i2≦m2)番目の第1焦点検出信号をdYA(j+j2、i+i2)、第2焦点検出信号をdYB(j+j2、i+i2)とする。撮像装置100は、シフト量をs(−ns≦s≦ns)として、各位置(j,i)での相関量COREVEN(j,i,s)を式(14A)に従って算出し、相関量CORODD(j,i,s)を式(14B)に従って算出する。
相関量CORODD(j,i,s)は、相関量COREVEN(j,i,s)に対して、第1焦点検出信号dYAと第2焦点検出信号dYBのシフト量を半位相−1シフトした相関量である。
撮像装置100は、相関量COREVEN(j,i,s)と相関量CORODD(j,i,s)から、それぞれ、サブピクセル演算により、相関量が最小値となる実数値のシフト量を算出して平均値を算出し、像ずれ量分布MDIS(j,i)を検出する。
位相差方式の像ずれ量の検出を行う場合、撮像装置100は、式(14A)及び式(14B)の相関量を評価し、第1焦点検出信号と第2焦点検出信号の相関(信号の一致度)に基づいて、像ずれ量の検出を行う。本実施形態では、撮像装置100は、撮像画像に基づいてRGB毎のシェーディング(光量)補正が施された最終修正第1視点画像と最終修正第2視点画像から、それぞれ、第1焦点検出信号と第2焦点検出信号を生成する。そのため、第1焦点検出信号と第2焦点検出信号の相関(信号の一致度)が改善され、像ずれ量を高精度に検出することができる。
自動焦点検出を行い、検出されたデフォーカス量に応じて合焦位置にレンズを駆動する場合などは、撮像装置100は、像ずれ量分布MDIS(j,i)に対して、焦点検出領域の像高位置毎に、撮像レンズ(結像光学系)の絞り値Fと、射出瞳距離などのレンズ情報に応じた像ずれ量からデフォーカス量への変換係数Kとを乗算し、デフォーカス分布MDef(j,i)を検出する。
[第3の実施形態]
第1の実施形態においては、Nx=2、Ny=1、NLF=2×1=2であるものとして説明を行ったが、第3の実施形態では、Nx≧2、Ny≧2、NLF=Nx×Nyに一般化することについて説明する。本実施形態において、撮像装置100の基本的な構成は、第1の実施形態と同様である(図1参照)。また、撮像画像に基づく視点画像の補正処理(図9及び図10)も、以下に説明する点を除いて第1の実施形態と概ね同様であるが、第1の実施形態においてNLF=2であることを前提とした記載は、NLF=2に限定されない形に読み替える。例えば、特定の画素の全副画素を指す「第1副画素201及び第2副画素202」との記載は、「第1副画素から第NLF副画素」と読み替える。また、特定の画素の全光電変換部を指す「第1光電変換部301及び第2光電変換部302」との記載は「第1光電変換部から第NLF光電変換部」と読み替える。同様に、「第1瞳部分領域501と第2瞳部分領域502」の「第1瞳部分領域から第NLF瞳部分領域」への読み替えや、「第1視点画像と第2視点画像」の「第1視点画像から第NLF視点画像」への読み替えなどが必要に応じて行われる。以下、主に第1の実施形態と異なる点について説明する。
図20は、第3の実施形態に係る撮像素子107の画素及び副画素の配列の概略図である。図20の左右方向をx方向(水平方向)、上下方向をy方向(垂直方向)、x方向及びy方向に直交する方向(紙面に垂直な方向)をz方向(光軸方向)としてそれぞれ定義する。図20は、撮像素子107(2次元CMOSセンサ)の画素(撮像画素)配列を4列×4行の範囲で、副画素配列を8列×8行の範囲で、それぞれ示したものである。
本実施形態では、図20に示した2列×2行の画素群200においては、R(赤)の分光感度を有する画素200Rが左上に、G(緑)の分光感度を有する画素200Gが右上及び左下に、B(青)の分光感度を有する画素200Bが右下に配置されている。また、各画素は、x方向にNx分割(Nxは自然数)、y方向にNy分割(Nyは自然数)されており、瞳分割数NLF=Nx×Nyの副画素により構成されている。なお、図20の例においては、Nx=2、Ny=2、NLF=2×2=2であり、各画素は第1副画素201から第4副画素204により構成されている。以下の説明においては、簡略化のために、各画素が図20に示すように分割されているものとするが、本実施形態の画素の分割は、図20に示すものに限定されない。本実施形態の説明は、Nx及びNyの一方又は両方が3以上の場合も同様であり、この場合、各画素は第1副画素から第NLF副画素により構成される。
図20に示す例では、4列×4行の画素(8列×8行の副画素)を面上に多数配置することで、撮像画像及び4つの視点画像(視点画像の数は瞳分割数NLFに対応)を生成するための入力画像を取得可能である。撮像素子107では、画素の周期Pを6μm(マイクロメートル)とし、水平(列方向)画素数NH=6000列、垂直(行方向)画素数NV=4000行、画素数N=NH×NV=2400万画素とする。また、副画素の周期PSを3μmとし、副画素数NSを水平12000列×垂直8000行=9600万画素とする。
図20に示す撮像素子107における1つの画素200Gを、撮像素子107の受光面側(+z側)から見た場合の平面図を図21(A)に示す。図21(A)の紙面に垂直な方向にz軸を設定し、手前側をz軸の正方向と定義する。また、z軸に直交する上下方向にy軸を設定して上方をy軸の正方向と定義し、z軸及びy軸に直交する左右方向にx軸を設定して右方をx軸の正方向と定義する。また、図21(A)のa−a切断線に沿って−y側から見た場合の断面図を図21(B)に示す。
図21(A)及び図21(B)に示すように、画素200Gは、各画素の受光面側(+z方向)に入射光を集光するためのマイクロレンズ305が形成されている。また、x方向に2分割、y方向に2分割された、4つの光電変換部(第1光電変換部301から第4光電変換部304)が形成されている。第1光電変換部301から第4光電変換部304が、それぞれ、第1副画素201から第4副画素204に対応する。図21(B)に示す第3光電変換部303及び第4光電変換部304の構成などは、第1の実施形態において図3(B)を参照して説明した第1光電変換部301及び第2光電変換部302の構成と同様である。
図22は、撮像素子107の画素構造と瞳分割との対応関係を示す概略説明図である。図22には、図21(A)に示した画素構造のa−a線での切断面を、+y方向から見た場合の断面図と、結像光学系の射出瞳面を、−z方向から見た図を示す。図22では、射出瞳面の座標軸と対応を取るために、断面図にてx軸とy軸を図21に示す状態とは反転させて示している。
撮像素子107は、撮影レンズ(結像光学系)の結像面近傍に配置され、被写体からの光束は、結像光学系の射出瞳400を通過して、それぞれの画素に入射する。撮像素子107が配置された面を撮像面とする。
2×2分割された第1瞳部分領域501から第4瞳部分領域504は、マイクロレンズによって、第1光電変換部301から第4光電変換部304それぞれの受光面と概ね光学的に共役な関係になっている。そして、第1瞳部分領域501から第4瞳部分領域504は、第1副画素201から第4副画素204により、それぞれ受光可能な瞳領域である。第1副画素201の第1瞳部分領域501は、瞳面上で(+X,−Y)側に重心が偏心している。第2副画素202の第2瞳部分領域502は、瞳面上で(−X,−Y)側に重心が偏心している。第3副画素203の第3瞳部分領域503は、瞳面上で(+X,+Y)側に重心が偏心している。第4副画素204の第4瞳部分領域504は、瞳面上で(−X,+Y)側に重心が偏心している。
撮像素子107の各画素において、2×2分割された第1副画素201から第4副画素204は、それぞれ、結像光学系の第1瞳部分領域501から第4瞳部分領域504の異なる瞳部分領域を通過した光束を受光する。各副画素で受光された信号から、光強度の空間分布及び角度分布を示すLFデータ(入力画像)が取得される。
第3の実施形態においても、撮像装置100は、第1の実施形態と同様に、図9及び図10のフローチャートに従って撮像画像に基づく視点画像の補正処理を行うことができる。但し、瞳分割数NLFが2よりも大きいことに伴い、S902において複数の視点画像を生成するなど、若干の読み替えを行う必要がある。以下、具体的に説明する。
S901で、撮像装置100は、式(1)に従い、画素毎に第1副画素201から第4副画素204の信号を全て合成する。これにより、LFデータから、画素数N(=水平画素数NH×垂直画素数NV)の解像度を有するベイヤー配列のRGB信号である撮像画像が生成される。
S902で、撮像装置100は、k=1〜3について式(2)の演算を行うことにより、LFデータから、第1視点画像I1(j、i)から第3視点画像I3(j、i)を生成する。
S903乃至S907で、撮像装置100は、式(3A)から式(6D)に従い、第k視点画像Ikに対して、x方向におけるシェーディング補正処理を行う。ここでの処理は概ね第1の実施形態と同様であるが、S903及びS905乃至S907に関して、第1の実施形態ではk=1のみであったのに対し、本実施形態ではk=1〜3のそれぞれについて同様の処理が行われる。また、第1の実施形態と異なり本実施形態ではy方向の瞳分割もあるため、y方向におけるシェーディング補正処理も行う必要がある。そのため、撮像装置100は、式(3A)から式(6D)において、x方向とy方向を入れ替え、y方向におけるシェーディング補正処理を行う。このようにx方向におけるシェーディング補正処理とy方向におけるシェーディング補正処理とを2段階で行う場合、式(4A)から式(4D)において、規格化のための瞳分割数NLFが1回余分となる。そのため、2回目のy方向におけるシェーディング補正処理では、式(4A)から式(4D)において、規格化のための瞳分割数NLFの乗算は省略される。これにより、シェーディング補正後の第1修正第k視点画像M1Ikが生成される。
S908乃至S911の処理は、第1の実施形態と同様、式(7A)から式(10)に従って行われる。但し、S908、S909、及びS911に関して、第1の実施形態ではk=1のみであったのに対し、本実施形態ではk=1〜3のそれぞれについて同様の処理が行われる。これにより、第4修正第k視点画像M4Ikが生成される。
S912で、撮像装置100は、式(15)に従い、修正撮像画像MI及び第4修正第k視点画像M4Ik(k=1〜NLF−1=1〜3)から、第4視点画像I4を生成する。
S913で、撮像装置100は、第1の実施形態と同様、式(6A)から式(6D)に従って第4修正第k視点画像M4Ikに対してシェーディング補正処理を行い、第5修正第k視点画像M5Ikを生成する。但し、第1の実施形態ではk=1のみであったのに対し、本実施形態ではk=1〜3のそれぞれについて同様の処理が行われる。
S914及びS915で、撮像装置100は、第2の実施形態のS903乃至S907と同様に、第4視点画像I4のシェーディング関数を生成し、第4視点画像I4から第5修正第4視点画像M5I4を生成する。
S916及びS917で、撮像装置100は、第1の実施形態と同様、式(12)に従って、第5修正第k視点画像M5Ikから最終修正第k視点画像MIkを生成する。但し、第1の実施形態ではk=1〜2であったのに対し、本実施形態ではk=1〜4である。
以上のように、第1の実施形態は、Nx≧2、Ny≧2、NLF=Nx×Nyの場合に一般化することができる。
[第4の実施形態]
第4の実施形態では、第3の実施形態で生成された最終修正第1視点画像から最終修正第4視点画像から、画素ずらし超解像処理を行い、各視点画像の解像度よりも高い解像度の出力画像を生成する構成について説明する。本実施形態において、撮像装置100の基本的な構成は、第3の実施形態と同様である(図1参照)。以下、主に第3の実施形態と異なる点について説明する。
図23は、最終修正第1視点画像MI1(j,i)から最終修正第4視点画像MI4(j,i)による画素ずらし超解像処理の概要を示す説明図である。図23では、紙面の上下方向にx軸を設定して下方をx軸の正方向と定義し、紙面に垂直な方向をy軸に設定して手前側をy軸の正方向と定義し、紙面の左右方向にz軸を設定して左方をz軸の正方向と定義する。図23の撮像面600は、図7及び図8に示した撮像面600に対応している。
図23では、最終修正第1視点画像MI1(j,i)から最終修正第4視点画像MI4(j,i)のうち、最終修正第1視点画像MI1(j,i)と最終修正第2視点画像MI2(j,i)を模式的に表している。最終修正第1視点画像MI1(j,i)の信号は、図7の第1瞳部分領域501に対応した主光線角度θ1で位置(j,i)の第1光電変換部301に入射した光束の受光信号である。最終修正第2視点画像MI2(j,i)の信号は、図7の第2瞳部分領域502に対応した主光線角度θ2で位置(j,i)の第2光電変換部302に入射した光束の受光信号である。
最終修正第1視点画像MI1(j,i)から最終修正第4視点画像MI4(j,i)は、光強度分布情報だけでなく、入射角度情報も有している。従って、以下の平行移動により、仮想結像面610での1組の画素ずらし画像群を得ることができる。
最終修正第1視点画像MI1(j,i)を主光線角度θ1に沿って仮想結像面610まで平行移動させることは、x方向へ−1/4画素分、y方向へ+1/4画素分のシフトに対応する。最終修正第2視点画像MI2(j,i)を主光線角度θ2に沿って仮想結像面610まで平行移動させることは、x方向へ+1/4画素分、y方向へ+1/4画素分のシフトに対応する。最終修正第3視点画像MI3(j,i)を主光線角度θ3に沿って仮想結像面610まで平行移動させることは、x方向へ−1/4画素分、y方向へ−1/4画素分のシフトに対応する。最終修正第4視点画像MI4(j,i)を主光線角度θ4に沿って仮想結像面610まで平行移動させることは、x方向へ+1/4画素分、y方向へ−1/4画素分のシフトに対応する。従って、最終修正第1視点画像MI1(j,i)から最終修正第4視点画像MI4(j,i)を、それぞれ、x方向又はy方向の少なくとも1つの方向に、相対的に+1/2画素分の非整数シフトさせた、仮想結像面610での4つの画像から構成される1組の画素ずらし画像群を得ることができる。
本実施形態では、撮像装置100は、最終修正第1視点画像MI1から最終修正第4視点画像MI4の複数の修正視点画像から構成される1組の画素ずらし画像群を用いて、画素ずらし超解像処理を行う。これにより、各修正視点画像の画素数Nの解像度より高い解像度の出力画像を生成することができる。
本実施形態の第1視点画像から第4視点画像では、図11を参照して説明したように、結像光学系の射出瞳400と撮像素子107の入射瞳の瞳ずれが生じ、瞳分割が不均一となり、各視点画像のRGB毎に異なるシェーディングが生じる場合がある。第1視点画像から第4視点画像のRGB毎のシェーディング(光量)補正を行わず、シェーディング状態が大きく異なる複数の視点画像で構成された1組の画素ずらし画像群を用いた画素ずらし超解像処理では、解像度を十分に改善できない場合がある。
従って、本実施形態では、撮像装置100は、撮像画像に基づくRGB毎のシェーディング補正処理が高精度に施された最終修正第1視点画像から最終修正第4視点画像から、1組の画素ずらし画像群を構成し、画素ずらし超解像処理により、出力画像を生成する。そのため、各修正視点画像の画素数Nの解像度より高い解像度の出力画像を生成することができる。
なお、画素ずらし超解像処理においては、最終修正第1視点画像から最終修正第4視点画像の全てを使用することは必須ではない。例えば、最終修正第1視点画像及び最終修正第2視点画像だけを使用する場合でも、x方向の解像度が高くなるという効果を得ることができる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。