以下、本発明の例示的な実施形態を、図面に基づいて詳細に説明する。以下の実施形態では、本発明を画像処理装置の一例としてのデジタルカメラに適用した場合を例に説明するが、本発明はLFデータを処理可能な任意の機器に適用可能である。任意の機器には、例えばパーソナルコンピュータ、タブレット、ゲーム機、眼鏡型や時計型等のウェアラブル端末、車載用システム、監視カメラ用システム、医療機器が含まれてよい。
(第1の実施形態)
第1の実施形態に係る画像処理装置の一例としてのデジタルカメラ100の機能構成例を、図1を参照しながら説明する。
図1は本実施形態に係る撮像装置の機能構成例を示すブロック図である。撮影レンズ(結像光学系)の先端に配置された第1レンズ群101は、レンズ鏡筒にて光軸方向に進退可能に保持される。絞り兼用シャッタ102は、その開口径を調節することで撮影時の光量調節を行う他、静止画撮影時には露光秒時調節用シャッタとしての機能をもつ。第2レンズ群103は、絞り兼用シャッタ102と一体となって光軸方向に進退し、第1レンズ群101の進退動作との連動により、変倍作用(ズーム機能)を有する。第3レンズ群105は、光軸方向の進退により焦点調節を行うフォーカスレンズである。光学的ローパスフィルタ106は、撮像画像の偽色やモアレを軽減するための光学素子である。撮像素子107は、例えば2次元CMOS(相補型金属酸化膜半導体)フォトセンサーと周辺回路とを含み、結像光学系の結像面に配置される。撮像素子107の詳細は後述する。
ズームアクチュエータ111は、不図示のカム筒を回動することにより、第1レンズ群101および第2レンズ群103を光軸方向に移動させて変倍動作を行う。絞りシャッタアクチュエータ112は、絞り兼用シャッタ102の開口径を制御して撮影光量を調節すると共に、静止画撮影時の露光時間制御を行う。フォーカスアクチュエータ114は、第3レンズ群105を光軸方向に移動させて焦点調節動作を行う。
被写体照明用の電子フラッシュ115は、キセノン管を用いた閃光照明装置、又は連続発光するLED(発光ダイオード)を備えた照明装置を含み、撮影時に使用される。AF(オートフォーカス)補助光源116は、所定の開口パターンを有したマスクの像を、投光レンズを介して被写界に投影する。これにより、低輝度の被写体または低コントラストの被写体に対する焦点検出能力が向上する。
制御部121は、例えばCPU(中央演算処理装置)を含み、デジタルカメラ100全体の動作を制御する。制御部121は、演算部、ROM(リード・オンリー・メモリ)、RAM(ランダム・アクセス・メモリ)、A(アナログ)/D(デジタル)コンバーター、D/Aコンバーター、通信インターフェイス回路等を含む。制御部121は、ROMに記憶された所定のプログラムをRAMに展開、実行することにより、デジタルカメラ100の各部を駆動し、AF制御、撮像処理、画像処理、記録処理等の一連の動作を実行する。
電子フラッシュ制御回路122は制御部121の制御指令に従い、撮影動作に同期して電子フラッシュ115を点灯制御する。補助光源駆動回路123は制御部121の制御指令に従い、焦点検出動作に同期してAF補助光源116を点灯制御する。撮像素子駆動回路124は撮像素子107の撮像動作を制御するとともに、取得した画像信号をA/D変換して制御部121に送信する。画像処理回路125は制御部121の制御指令に従い、撮像素子107により取得された画像信号に対してガンマ変換、カラー補間、JPEG(Joint Photographic Experts Group)圧縮等の処理を行う。
フォーカス駆動回路126は制御部121の制御指令に従い、焦点検出結果に基づいてフォーカスアクチュエータ114を駆動し、第3レンズ群105を光軸方向に移動させて焦点調節を行う。絞りシャッタ駆動回路128は制御部121の制御指令に従い、絞りシャッタアクチュエータ112を駆動し、絞り兼用シャッタ102の開口径を制御する。ズーム駆動回路129は制御部121の制御指令に従い、撮影者のズーム操作指示に応じてズームアクチュエータ111を駆動する。
表示部131は、例えばLCD(液晶表示装置)等の表示デバイスを含み、カメラの撮影モードに関する情報、撮影前のプレビュー画像と撮影後の確認用画像、焦点検出時の合焦状態表示画像等を表示する。操作部132は、例えば電源スイッチ、レリーズ(撮影トリガ)スイッチ、ズーム操作スイッチ、撮影モード選択スイッチ等の操作スイッチやタッチパネルを含み、操作指示信号を制御部121に出力する。記録媒体133は、半導体メモリカードなど、デジタルカメラ100に着脱可能な記録媒体である。撮影で得られた画像データ等を記録媒体133に記録することができる。
(撮像素子の構成)
本実施形態に係る撮像素子107の画素と副画素の配列の概略図を図2に示す。図2の左右方向をx方向(水平方向)、上下方向をy方向(垂直方向)、x方向およびy方向に直交する方向(紙面に垂直な方向)をz方向(光軸方向)とする。図2に示す例は、2次元CMOSセンサー(撮像素子)の画素(単位画素)配列を4列×4行の範囲で、副画素配列を8列×4行の範囲で示している。
2列×2行の画素群200は、例えば左上の位置に第1色のR(赤)の分光感度を有する画素200Rが左上に、第2色のG(緑)の分光感度を有する画素200Gが右上と左下に、第3色のB(青)の分光感度を有する画素200Bが右下に配置される。さらに、各画素(単位画素)は、x方向に2分割(Nx分割)、y方向に1分割(Ny分割)された分割数2(分割数NLF=Nx×Ny)の第1副画素201と第2副画素202(第1副画素から第NLF副画素)の複数の副画素により構成されている。
図2に示す例では、撮像素子107の各画素を水平方向に並んだ2つの副画素に分割することにより、1回の撮影で得られる画像信号(LFデータ)から、分割数NLFに等しい数の視点画像と、全ての視点画像を合成した撮像画像とを生成することができる。なお、画素は2方向に分割してもよいし、方向ごとの分割数にも制限はない。したがって、視点画像は複数の副画素のうち、一部の副画素の信号から生成される画像、撮像画像は全部の副画素の信号から生成される画像ということができる。本実施形態では一例として撮像素子107の水平および垂直方向の画素周期Pを6μm、水平画素数NH=6000、垂直画素数NV=4000とする。したがって、総画素数N=NH×NV=2400万である。また、副画素の水平方向周期PSを3μmとすると、総副画素数NS=NH×(P/PS)×NV=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が形成され、このマイクロレンズ305によって入射光が集光される。さらに、x(水平)方向に2分割、y(垂直)方向に1分割された分割数2の第1光電変換部301と第2光電変換部302の複数の光電変換部が形成される。第1光電変換部301と第2光電変換部302が、それぞれ図2の第1副画素201と第2副画素202に対応する。より一般的に記載すれば、各画素の光電変換部が、x方向にNx分割、y方向にNy分割され、光電変換部の分割数NLF=Nx×Nyであるとき、第1~第NLF光電変換部が、第1~第NLF副画素に対応する。
第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は、画素構造と瞳分割との対応関係を概略的に示している。図4には、図3(A)に示した画素構造のa-a線での切断面を、+y方向から見た場合の断面図と、結像光学系の射出瞳面を、-z方向から見た図を示す。図4では、射出瞳面の座標軸と対応を取るために、断面図にてx軸とy軸を図3に示す状態とは反転させて示している。
撮像素子107は、撮影レンズ(結像光学系)の結像面近傍に配置されており、被写体からの光束は、結像光学系の射出瞳400を通過して、それぞれの画素に入射する。なお、撮像素子107が配置された面を撮像面とする。
第1瞳部分領域501と第2瞳部分領域502は、第1光電変換部301と第2光電変換部302の受光面と、マイクロレンズによって、概ね、光学的に共役である。つまり、第1瞳部分領域501と第2瞳部分領域502は、第1副画素201と第2副画素202でそれぞれ受光可能な瞳領域である。このように、瞳領域をNx×Ny分割することで得られる第1~第NLF瞳部分領域は、第1~第NLF副画素の対応する1つで受光可能な瞳領域となる。また、第1副画素201が対応する第1瞳部分領域501は瞳面上で+X側に重心が偏心しており、第2副画素202が対応する第2瞳部分領域502は瞳面上で-X側に重心が偏心している。
また、瞳領域500は、分割された全ての光電変換部(ここでは第1および第2光電変換部301および302)の受光面を合わせた受光面と、マイクロレンズによって、概ね、光学的に共役である。つまり、分割された第1~第NLF光電変換部は、全体で瞳領域500を受光可能である。したがって、第1~第NLF光電変換部で得られる信号を合成することにより、画素200全体が受光可能な瞳領域500に対応した画素信号を得ることができる。この合成信号は、画素200の光電変換部が分割されていない場合に得られる画素信号に相当する。
図5は、各画素に形成されたマイクロレンズに光が入射した場合の光強度分布を模式的に示す図である。図5(A)は、マイクロレンズの光軸に平行な断面における光強度分布を示している。また、図5(B)はマイクロレンズの焦点位置において、マイクロレンズの光軸に垂直な断面における光強度分布を示している。図5において、Hはマイクロレンズ305の凸側の面を、fはマイクロレンズの焦点距離を示している。また、nFΔは後述するリフォーカスによる焦点位置の可動範囲を、φは入射する光束の最大角度を示している。入射光は、マイクロレンズ305により、焦点位置に集光される。しかし、光の波動性による回折の影響により、集光スポットの直径は回折限界Δより小さくすることはできず、有限の大きさとなる。光電変換部の受光面サイズは約1~2μm程度であり、これに対してマイクロレンズの集光スポットは約1μm程度である。そのため、光電変換部の受光面とマイクロレンズを介して共役の関係にある、図4に示した第1瞳部分領域501と第2瞳部分領域502は、回折ボケのため、明瞭に瞳分割されず、光の入射角に依存した受光率分布(瞳強度分布)となる。
図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)は、それぞれ、結像光学系の第1瞳部分領域501と第2瞳部分領域502を通過した光束を受光する。第1副画素群で得られた画像信号と、第2副画素群で得られた画像信号とはそれぞれ異なる視点を有する画像である。LFデータは、各副画素群で得られた画像を生成可能なデータであり、光強度の空間分布および角度分布の情報を含む。なお、LFデータは各画素群で得られた画像の集合であってもよいし、各画素群で得られた画像を演算によって求めることが可能なデータであってもよい。例えば、第1副画素群で得られる画像をA像、第2副画素群で得られる画像をB像とすると、LFデータはA像およびB像のデータであってもよいし、A像とB像との合成画像(A+B像と記載する)のデータと、A像またはB像のデータとであってもよい。
つまり、LFデータについて、画素ごとに、全ての副画素(ここでは第1副画素201と第2副画素202)の信号を合成することにより、総画素数Nの解像度を有する撮像画像を生成することができる。
また、LFデータについて、画素ごとに、特定の副画素で得られた信号を抽出することにより、その副画素に対応する瞳部分領域に対応した画像(視点画像)を生成することができる。例えば、各画素について第1副画素201で得られた画像信号を抽出することで、結像光学系の第1瞳部分領域501に対応した、画素数Nの解像度を有する第1視点画像を生成できる。他の副画素についても同様である。
以上のように本実施形態の撮像素子107は、結像光学系の異なる瞳部分領域を通過する光束を受光する複数の副画素が設けられた画素が複数配列された構造を有し、LFデータを取得することができる。なお、上述した説明では、瞳領域が水平方向に2分割される例を示したが、水平方向の代わりに、あるいは水平方向に加えて、垂直方向にも分割されてよい。また、水平および垂直方向の少なくとも一方について分割数を3以上としてもよい。
(デフォーカス量と像ずれ量の関係)
さらに、図8を参照して、撮像素子107により取得されるLFデータに基づいて生成可能な第1視点画像と第2視点画像(第1~第NLF視点画像)のデフォーカス量と像ずれ量との関係について説明する。
図8は、第1視点画像と第2視点画像のデフォーカス量と、第1視点画像と第2視点画像との間の像ずれ量の関係を概略的に示している。撮像面600には撮像素子(不図示)が配置され、結像光学系の射出瞳は、図4、図7の場合と同様に、第1瞳部分領域501と第2瞳部分領域502に2×1分割される。
デフォーカス量dは、その大きさ|d|が被写体像の結像位置から撮像面600までの距離を表す。被写体像の結像位置が撮像面600よりも被写体側にある前ピン状態では、負符号(d<0)とし、これとは反対の後ピン状態では正符号(d>0)として向きを定義する。被写体像の結像位置が撮像面(すなわち合焦位置)にある合焦状態では、d=0である。例えば、被写体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|の増加に伴って増加する。例えば、図8に示すように、像ずれ量pは光束の重心位置の差「G1-G2」として定義することができ、その大きさ|p|は、|d|が増加するのに伴い、概ね比例して増加する。なお、後ピン状態(d>0)では、第1視点画像と第2視点画像との間の被写体像の像ずれ方向が前ピン状態とは反対となるが、同様に|p|がデフォーカス量|d|に比例する傾向がある。
したがって、本実施形態では、第1視点画像と第2視点画像、または、第1視点画像と第2視点画像を加算した撮像画像のデフォーカス量が増減するのに伴い、第1視点画像と第2視点画像との間の像ずれ量の大きさが増加する。
(撮像画像に基づく視点画像の補正処理)
以下の実施形態では、撮像画像に基づき、第1視点画像と第2視点画像(第1~第NLF視点画像)に対するキズ補正やシェーディング補正等の画像処理(補正処理)を行い、出力画像を生成する例について説明する。
まず、図9および図10を参照して、取得されたLFデータに基づいて、補正処理を行い、出力画像を生成する一連の流れについて説明する。なお、図9および図10に示す処理は、制御部121がROMに記憶されたプログラムをRAMに展開、実行することにより実行される。また、撮像素子107や画像処理回路125は制御部121の指示に応じて動作する。
(撮像画像と視点画像)
まず、図9に示すS1の前処理として、画像取得手段としての制御部121は、撮像素子107により取得されたLFデータから、結像光学系の異なる瞳部分領域を合成した撮像画像と、結像光学系の瞳部分領域に対応する少なくとも1つの視点画像とを生成する。なお、制御部121は、撮像画像と視点画像をLFデータから生成する代わりに、生成済みの撮像画像と視点画像を記憶媒体から読み出すなどして取得してもよい。前処理を便宜上S0とする。以下、前処理S0について説明する。
制御部121は、LFデータを取得する。LFデータは撮像素子107を用いて取得してもよいし、予め保存されているLFデータを例えば記録媒体から読み出すことによって取得してもよい。
そして制御部121は、LFデータを構成する複数の視点画像を合成することにより、撮像画像を生成する。LFデータを構成する各画素信号は、水平方向Nx、垂直方向Nyの総数NLFの副画素信号から構成される。ここで、1つの画素信号を構成する総数NLFの副画素信号のうち、水平方向にiS(1≦iS≦Nx)番目、垂直方向にjS(1≦jS≦Ny)番目の副画素の信号をk番目の副画素信号とする(k=Nx(jS-1)+iS)。ここで、1≦k≦NLFであり、kは、水平方向Nx,垂直方向Nyに分割された総数NLFの光電変換領域(副画素)の通し番号である。撮像画像は、図4における瞳領域500に対応する画像であり、各画素の副画素信号を合成することによって得られる。撮像画像Iを構成する、垂直方向にj番目、水平方向にi番目の画素I(j,i)、1≦j≦NV、1≦i≦NHは、式(1)に従って得ることができる。
なお、本処理は、LFデータを生成する際に行ってもよい。この場合、撮像画像IのS/Nを良好に保持するため、各副画素信号をアナログ/デジタル変換(A/D変換)する前に、撮像素子107内の静電容量部(FD)において式(1)に従う副画素信号の合成を行ってもよい。撮像素子107内のFDに蓄積された電荷を電圧信号に変換する際に、式(1)に従う各副画素信号の合成を行ってもよいし、A/D変換を行った後に、式(1)に従う各副画素信号の合成を行ってもよい。
なお、本実施形態は、Nx=2、Ny=1、NLF=2であるx方向2分割の場合であり、図2に例示した画素配列に対応した入力画像(LFデータ)を用いる。このため、制御部121は、画素ごとに、x方向に2分割された第1副画素201と第2副画素202の信号を全て合成した撮像画像を生成する。この撮像画像は、画素数N(=水平方向の画素数NH×垂直方向の画素数NV)の解像度を有するベイヤー配列のRGB信号である。
なお、後述する視点画像の補正処理では、撮像画像を補正基準の参照画像として用いるため、撮像画像Iに対してもRGB毎のシェーディング補正処理、欠陥補正処理を行う。
次に、制御部121は、結像光学系の第k瞳部分領域に対応した、水平方向i番目、垂直方向j番目の第k視点画像Ikを構成する画素Ik(j,i)を、式(2)に従って生成する。
なお、本実施形態では、x方向に光電変換部を2分割(水平方向に瞳領域を2分割)するNx=2、Ny=1、NLF=2の構成の撮像素子107で得られるLFデータから生成可能な2つの視点画像のうち、第1の視点画像(k=1)を生成するものとする。制御部121は、図2に例示した画素配列に対応したLFデータのうち、第1副画素201の信号を抽出し、第1視点画像I1を生成する。第1視点画像I1は、結像光学系の第1瞳部分領域501に対応した視点画像である。第1視点画像I1は、画素数N(=水平方向の画素数NH×垂直方向の画素数NV)の解像度を有するベイヤー配列のRGB信号である。なお、必要に応じて、結像光学系の第2瞳部分領域502に対応した第2視点画像I2を生成してもよい。
このように本実施形態では、LFデータに基いて、結像光学系の瞳領域に対応する撮像画像Iと、それぞれが結像光学系の異なる瞳部分領域に対応する視点画像Ikの1つ以上とを生成する。生成した撮像画像および視点画像のデータは、記録媒体133に記録してもよい。なお、撮像画像Iから第1視点画像I1を減じることにより、第2視点画像I2を生成することができる。撮像画像Iは、各画素の光電変換部が分割されていない従来の撮像素子で得られる撮像画像に相当する。そのため、撮像画像Iには従来と同様の画像処理を適用することができる。また、各視点画像への処理を同等にするために、第1視点画像I1と、第2視点画像I2とを生成して、記録媒体133に記録するようにしてもよい。この場合、第1視点画像I1と第2視点画像I2とを合成することで、撮像画像Iを生成することができる。
(視点画像のシェーディング補正(輝度補正))
次に、図9に示すS1におけるシェーディング補正(輝度補正)について説明する。本処理では、制御部121は、撮像画像Iに基づいて、第1視点画像I1(第k視点画像Ik)に対してRGB毎のシェーディング補正を行う。なお、以降の処理についても制御部121が実行する場合を例に説明するが、その一部又は全部を画像処理回路125が実行してもよい。
まず、第1視点画像と第2視点画像(第1~第NLF視点画像)の瞳ずれによるシェーディングについて説明する。図11は、撮像素子の周辺像高における第1光電変換部301が受光する第1瞳部分領域501、第2光電変換部302が受光する第2瞳部分領域502、および結像光学系の射出瞳400の関係を示している。図11では、第1光電変換部301と第2光電変換部302(第1光電変換部から第NLF光電変換部)が、それぞれ、第1副画素201と第2副画素202(第1副画素から第NLF副画素)に対応する。
図11(A)は、結像光学系の射出瞳距離Dlと撮像素子107の設定瞳距離Dsが同じ場合を示している。この場合、第1瞳部分領域501と第2瞳部分領域502により、結像光学系の射出瞳400が、概ね、均等に瞳分割される。これに対して、図11(B)は、結像光学系の射出瞳距離Dlが撮像素子の設定瞳距離Dsより短い場合を示している。この場合、撮像素子107の周辺像高では、結像光学系の射出瞳と撮像素子の入射瞳の瞳ずれが生じ、結像光学系の射出瞳400が、不均一に瞳分割されてしまう。図11(B)の例では、第1瞳部分領域501に対応した第1視点画像の実効絞り値が、第2瞳部分領域502に対応した第2視点画像の実効絞り値より小さい(明るい)値となる。反対側の像高(不図示)では、逆に、第1瞳部分領域501に対応した第1視点画像の実効絞り値が、第2瞳部分領域502に対応した第2視点画像の実効絞り値より大きい(暗い)値となる。
同様に、図11(C)に示す、結像光学系の射出瞳距離Dlが撮像素子の設定瞳距離Dsより長い場合も、撮像素子107の周辺像高で結像光学系の射出瞳と撮像素子の入射瞳の瞳ずれが生じる。このため、図11(C)に示す場合にも結像光学系の射出瞳400が不均一に瞳分割されてしまう。図11(C)の例では、第1瞳部分領域501に対応した第1視点画像の実効絞り値が、第2瞳部分領域502に対応した第2視点画像の実効絞り値より大きい(暗い)値となる。反対側の像高(不図示)では、逆に、第1瞳部分領域501に対応した第1視点画像の実効絞り値が、第2瞳部分領域502に対応した第2視点画像の実効絞り値より小さい(明るい)値となる。
このように、瞳分割が不均一になることに伴い、第1視点画像と第2視点画像の強度も不均一になり(すなわち光量分布が偏り)、第1視点画像と第2視点画像のいずれか一方の強度が大きく、また他方の強度が小さくなるシェーディングが生じる。そして、このシェーディングは画素ごと、すなわちRGBごとに生じる。
そこで、上述したシェーディングによる不均一な信号強度分布を一様に近づけて良好な画質品位の視点画像を生成するため、RGBごとのシェーディング補正を行う。すなわち、本実施形態では、補正撮像画像I(j,i)を基準の参照画像として第1視点画像I1(第k視点画像Ik)に対するRGB毎のシェーディング補正を行う。
具体的には、図9のS1において制御部121は、まず、撮像画像Iと第1視点画像I1から有効画素を検出する(S1-1)。有効画素は、撮像画像Iにおいても、第1視点画像I1においても非飽和かつ非欠陥(非キズ)の画素である。具体的には、制御部121は、撮像画像Iと第1視点画像I1との対応する画素(画素I(j,i)および画素I1(j,i))について、いずれも有効画素であるか、少なくとも一方が有効画素でないかを判定する。そして、制御部121は、いずれも有効画素と判定されればV1(j,i)=1、少なくとも一方が有効画素でないと判定されればV1(j,i)=0とする。V1は、有効画素については1、無効画素については0の値を有する2値画像と見なすことができる。あるいはV1は、欠陥画素位置を0で示す画像と見なすこともできる。例えば、制御部121は、画素値が飽和判定閾値ISを超える場合には飽和画素、超えない場合は非飽和画素と判定することができる。ただし、視点画像に用いる飽和判定閾値ISkは、撮像画像に用いる飽和判定閾値IS以下とする。また、制御部121は、撮像素子107に欠陥画素として登録されている画素については欠陥画素、登録されていない画素は非欠陥画素と判定することができる。なお、これらの判定方法は単なる例示であり、ある画素が飽和画素か否かや、欠陥画素か否かは、公知の任意の方法で判定することができる。制御部121は、第k視点画像Ik(k≧2)についてシェーディング補正を行う場合も、同様にして有効画素を検出する。
本実施形態の撮像素子107では、各画素が有する複数の光電変換部のいずれかが飽和した場合、画素外ではなく、同一画素内の他の光電変換部(副画素)に飽和電荷が漏れこむように構成される。このような飽和電荷の漏れ込みを電荷クロストークと呼ぶ。同一画素内で電荷クロストークが発生すると、飽和した副画素(例:第2副画素202)と、飽和電荷が漏れこむ副画素(例:第1副画素201)のいずれも、入射光量に対する蓄積電荷量の線形関係が保たれない。そのため、電荷クロストークが生じた画素については、シェーディングを正しく検出できない。
撮影感度が高い場合よりも低い場合の方が、光電変換部に蓄積される電荷量が相対的に多く、電荷クロストークが相対的に生じやすい。したがって、本実施形態では、飽和画素の検出精度を向上するために、第1の撮影感度での撮像信号の飽和判定閾値ISを、第1の撮影感度より高い第2の撮影感度での撮像信号の飽和判定閾値IS以下とすることができる。視点画像に用いる飽和判定閾値ISkについても同様である。
さらに、結像光学系の射出瞳距離が、第1の所定瞳距離より短い(もしくは、第2の所定瞳距離(>第1の所定瞳距離)より長い)場合、結像光学系の射出瞳と撮像素子の入射瞳の瞳ずれによるシェーディングを生じる。この場合、像高が大きな周辺部の画素では、第1視点画像と第2視点画像のいずれか一方の強度が大きくなり、他方の強度が小さくなるため、電荷クロストークが生じやすい。したがって、本実施形態では、飽和画素の検出精度を向上するために、瞳ずれによるシェーディングが発生する場合の飽和判定閾値ISを、瞳ずれによるシェーディングが発生しない場合の飽和判定閾値IS以下にすることができる。瞳ずれによるシェーディングが発生しない場合とは、結像光学系の射出瞳距離が、第1の所定瞳距離以上、かつ、第2の所定瞳距離以下の場合である。視点画像に用いる飽和判定閾値ISkについても同様である。
ここで、図2に示したベイヤー配列の撮像画像Iは、ベイヤーパターンの各色(R、Gr、Gb、B)ごとに定義することができる。
すなわち、Rの撮像画像をRIは、
画素RI(2j2-1,2i2-1)=I(2j2-1,2i2-1)から構成される。
Grの撮像画像GrIは、
画素GrI(2j2-1,2i2)=I(2j2-1,2i2)から構成される。
Gbの撮像画像GrIは、
画素GbI(2j2,2i2-1)=I(2j2,2i2-1)から構成される。
Bの撮像画像BIは、
画素BI(2j2,2i2)=I(2j2,2i2)から構成される。
このとき、整数j2および整数i2は、それぞれ1≦j2≦NV/2、1≦i2≦NH/2である。
同様に、図2に例示したベイヤー配列の第k視点画像Ikを、R、Gr、Gb、Bごとに取り扱う。
すなわち、Rの第k視点画像RIkは、
画素RIk(2j2-1,2i2-1)=Ik(2j2-1,2i2-1)から構成される。
Grの第k視点画像GrIk
画素GrIk(2j2-1,2i2)=Ik(2j2-1,2i2)から構成される。
Gbの第k視点画像GbIkは、
画素GbIk(2j2,2i2-1)=Ik(2j2,2i2-1)から構成される。
Bの第k視点画像BIkは、
画素BIk(2j2,2i2)=Ik(2j2,2i2)から構成される。
整数j2および整数i2は、それぞれ1≦j2≦NV/2、1≦i2≦NH/2である。
[射影処理]
次に、図9に示すS1において、射影手段としての制御部121は、撮像画像RI、GrI、GbI、BIに基づく射影処理を行う(S1-2A)。具体的には、撮像画像RI、GrI、GbI、BIの各画素を、式(3A)から式(3D)に従って、射影方向に投影し、射影方向と直交する方向に複数の信号が並んだ1次元の射影信号を生成する。ここでは、射影方向を、瞳分割方向(x方向)と直交する方向(y方向)とする。これにより、画像のx方向における輝度変化に関する射影信号が得られる。なお、射影方向は他の方向であってもよい。これにより、制御部121は、撮像画像の射影信号Pを構成する各色の画素RP(2i2-1)、GrP(2i2)、GbP(2i2-1)、BP(2i2)を生成する。
なお、飽和信号値や欠陥信号値には、撮像画像のRGB毎のシェーディングを正しく検出するための情報が含まれていない。そのため、制御部121は、撮像画像IとVkとの対応する画素の積を取ることにより、撮像画像Iの無効画素を除外してから射影処理を行う。この射影処理は、式(3A)~(3D)上段の式の分子に相当する。そして、制御部121は、射影結果を、射影処理に用いた有効画素数で規格化する。この正規化処理は、式(3A)~(3D)上段の式の分母に相当する。射影処理に用いた有効画素数が0の場合、制御部121は、式(3A)~(3D)の下段に示すように、撮像画像の射影信号を0に設定する。さらに、制御部121は、撮像画像の射影信号がノイズの影響などで負信号となった場合も撮像画像の射影信号を0に設定する。
同様に、S1-2Bで制御部121は、第k視点画像RIk、GrIk、GbIk、BIkの各画素を、式(3E)から式(3H)に従って、瞳分割方向と直交する方向(y方向)に射影する。これにより、制御部121は、第k視点画像の射影信号Pkを構成する各色の画素RPk(2i2-1)、GrPk(2i2)、GbPk(2i2-1)、BPk(2i2)を生成する。
制御部121は、上述の射影処理の後に、撮像画像の射影信号Pと第k視点画像の射影信号Pkを平滑化するためにローパスフィルタ処理を必要に応じて適用する。
S1ー3で制御部121は、S1-2Bで求めた、視点画像の射影信号を、シェーディングの補正値の算出に用いるか否かを判定する。制御部121は、視点画像について、射影方向に並んだ複数の画素ごと(すなわち、画素列ごと)に評価値を求める。そして、制御部121は、評価値と予め定められた閾値との比較結果に応じて、対応する射影信号を有効とするか無効とするか(シェーディング補正値の算出に用いるか用いないか)を判定する。
信号のSN比を考慮して射影信号の有効性を判定するため、有効画素数と輝度との両方を考慮した評価値を用いる。一般に、信号のSN比は、複数の信号値を加算することによって向上し、例えば、信号値を4つ加算すれば、信号のSN比を2倍にすることができる。また、画像信号のSN比は輝度の1/2乗に比例する。そのため、信号値の加算を含む演算により評価値を求めることで、輝度が低く、したがってSN比が低い視点画像の信号の有効/無効を正確に判定することができる。射影信号の有効性を正確に判定することで、有効な(信頼性の高い)射影信号を用いてシェーディング補正値を算出できる。
視点画像の射影信号の有効性判定は色成分(R、Gr、Gb、B)ごとに行う。例えば、第k視点画像の射影信号Pkを構成する赤色画素RPk(2i2-1)の有効性は、第k視点画像RIkから得られる評価値に基づいて判定する。
撮像画像Iと視点画像Ikとを比較した場合、視点画像Ikの方が輝度は小さい。これは、視点画像Ikの生成に用いる光電変換部の受光面の大きさが、撮像画像Iの生成に用いる光電変換部の受光面の大きさより小さいからである。そのため、本実施形態では、撮像画像よりも輝度が低く、したがってSN比が低い視点画像の射影信号についての有効性を判定する。また、撮像画像よりも輝度が低い視点画像についての閾値判定を正確に行うため、信号値を加算した評価値を生成し、閾値と比較する。
判定処理は、色成分(R、Gr、Gb、B)ごとに、同じ式に基づいて適用する。以下では、図12に示すフローチャートを用い、R成分に関する処理を代表的に説明するが、他の色成分についても同様に適用することができる。
上述したように、Rの第k視点画像RIkは、
画素RIk(2j2-1,2i2-1)=Ik(2j2-1,2i2-1)から構成される。また、整数j2および整数i2は、それぞれ1≦j2≦NV/2、1≦i2≦NH/2である。
閾値判定において制御部121は、まず、式(3I)により、i
2列目の評価値E
i2を求める(S1301)。ここで、評価値E
i2は、欠陥画素位置に該当する画素の値を用いずに生成されるため、有効画素数に比例する。また、評価値E
i2は、画素値(輝度)の二乗累積値であるから、画素値(輝度)に比例する。したがって、評価値E
i2は、有効画素数および輝度を考慮した評価値である。また、このような評価値を用いることで、画像信号のSN比を考慮して射影信号の有効性を判定できる。
次に、制御部121は、式(3J)により、評価値Ei2と垂直方向の評価閾値Elimitとを比較する(S1302)。そして、制御部121は、評価値Ei2が評価閾値Elimitより大きい場合、S1-3で求めた射影信号RP(2i2-1)を有効と判定する(S1303)。一方、制御部121は、評価値Ei2が評価閾値Elimit以下である場合、S1-3で求めた射影信号RP(2i2-1)を無効と判定する(S1304)。制御部121は、無効と判定した射影信号については、その値が使用されないように値を0にしてもよい。
制御部121は、有効性判定を視差画像の全画素列について実行したか否かを判定し(S1305)、実行したと判定されれば処理を終了し、判定されなければ処理をS1301に戻して未判定の画素列に対する判定処理を実行する。制御部121は、このような評価値Eの算出、評価値Eと閾値Elimitとの比較による射影信号RPk(2i2-1)の有効性判定を、視差画像の画素列ごとに(iの値を変えながら)実行する。また、制御部121は、他の色成分であるGrPk(2i2)、GbPk(2i2-1)、BPk(2i2)についても同様に判定処理を適用する。
なお、式(3I)は評価値Eを算出するための1例であり、視点画像について、垂直方向の画素数を考慮して算出された他の任意の評価値を用いることができる。なお、式(3I)で得られる評価値Eは、固定パターンノイズを考慮していないため、固定パターンノイズを考慮した評価値とすることで、より正確な判定を行うことができる。具体的には、固定パターンノイズは輝度に依存しないため、式(3I)に固定値Offsetの項を追加した式(3K)を用いることにより、固定パターンノイズを考慮した評価値Eを求めることができる。
また、撮像画像Iや視差画像Ikは、画像処理負荷の低減やSN比の改善を目的として、S1-1における有効画素検出処理の実施前に加算や間引により画素数が削減されていることがある。特に、画素が加算されている場合、上述したように信号のSN比が向上しているため、評価値を、加算を考慮した閾値と比較することにより、射影信号の有効性を正確に判定することができる。例えば、S1-1における有効画素検出処理の前に、垂直または垂直方向の画素数が加算処理によって1/N(Nは2以上の整数)に削減されているとする。この場合、加算処理により、加算方向における画像信号のSN比がN1/2倍向上している。そのため、評価値を、補正した閾値Elimit/(N1/2)と比較するようにする。なお、画素が間引きされている場合は信号のSN比に変化はないため、閾値Eの補正は不要である。
本実施形態では射影処理において画像を画素列ごと(垂直方向)に射影し、水平方向の1次元画像(射影信号)を得ているため、閾値Eは画像の垂直方向における閾値である。一方、画像の水平方向にも閾値を設定することができる。例えば、図12に示した処理において有効と判定された射影信号の割合について閾値を設定することができる。射影信号の総数は水平方向の画素数に等しいため、有効と判定された射影信号の割合についての閾値は、水平方向における閾値である。例えば、色成分単位での有効性判定処理の結果、有効と判定された射影信号の割合もしくは数が閾値以下の場合、制御部121は、有効と判定された射影信号を含め、視点画像の射影信号を全て無効と判定する。この場合、後述するS1-4でシェーディング関数を生成するためのデータとして、信頼性の高いデータが十分な数得られなかったことになる。そのため、制御部121は、シェーディング関数の生成およびシェーディング関数を用いたシェーディング補正を行わない。つまり、水平方向における閾値は、シェーディング補正を行うか否かの判定閾値である。
S1-1における有効画素検出は、飽和やキズの有無に基づくものであり、信号のSN比は考慮されていない。具体的には、画素の出力値が低いSN比によって真値からずれていても、出力値に基づいて有効性が判定される。一方、S1-3における射影信号の有効性判定は、射影信号がシェーディング補正値の算出に用いるのに適切あるか否かの判定であるため、低いSN比による真値からのずれを許容してしまうと、シェーディング補正の精度低下を招く。低いSN比によって真値からずれている射影信号は除外することにより、精度の良いシェーディング補正が実現できる。
図13(A)および(B)は射影信号の具体例を示し、横軸は水平方向の画素位置、縦軸は信号強度である。す。図13(A)は、撮像画像の射影信号Pを構成する緑(G)成分、赤(R)、青(B)成分の値の例を示している。なお、G成分はGr成分とGb成分とをまとめて示しているため、水平方向の各画素位置に値が存在する。一方、R、B成分は1画素おきの位置に値を有するが、図では便宜上連続的に記載している。また、図13(B)は、図13(A)と同様に、第1視点画像の射影信号Pkを構成する緑(G)成分、赤(R)、青(B)成分の値の例を示している。各射影信号の信号強度は、被写体の色に応じた値を有する。従って、第k視点画像Ikのシェーディング補正を正確に行うためには、瞳ずれにより生じる第k視点画像IkのRGB成分間の光量のずれ(シェーディング成分)と、被写体の色に起因するRGB成分とを分離する必要がある。
図9のS1-4を実行する前に制御部121は、S1-3における有効性判定処理により、全ての色成分について、水平方向の閾値を超える割合または数の射影信号が有効と判定されているか否かを判定する。そして、水平方向の閾値を超える割合または数の射影信号が有効と判定されていない色成分が1つでもある場合には、S1-4以降の、シェーディング補正に関する処理は行わない。
一方、全ての色成分について水平方向の閾値を超える割合または数の射影信号が有効と判定されていれば、制御部121はS1-4以降の処理を実行する。なお、以下の処理においては、全ての射影信号が有効と判定された場合を想定して説明するが、実際には、無効と判定された射影信号については処理をスキップする。
S1-4において制御部121は、式(4A)から式(4D)に従って、撮像画像Iを基準とした相対的な第k視点画像IkのRGB毎のシェーディング信号RSk(2i2-1)、GrSk(2i2)、GbSk(2i2-1)、BSk(2i2)を算出する。なお、撮像素子における画素の受光量は、画素を分割した副画素の受光量より大きい必要があり、さらに、シェーディング成分の算出には、副画素の受光量が0より大きい必要がある。そのため、制御部121は、条件式RP(2i2-1)>RPk(2i2-1)>0を満たす場合、式(4A)に従って、第k視点画像のR成分RIkの射影信号RPk(2i2-1)と撮像画像のR成分RIの射影信号RP(2i2-1)との比(すなわち割合)を算出する。そして、制御部121は、算出した比に規格化のための瞳分割数NLFを乗算して、第k視点画像IkのR成分のシェーディング信号RSk(2i2-1)を生成する。これにより、被写体に起因するRの信号成分を相殺し、第k視点画像IkのRのシェーディング成分を分離することができる。一方、制御部121は、条件式RP(2i2-1)>RPk(2i2-1)>0を満たさない場合、第k視点画像IkのR成分のシェーディング信号RSk(2i2-1)を0に設定する。
同様に、他の色成分におけるシェーディング信号を算出する。第k視点画像IkのGr成分については、条件式GrP(2i2)>GrPk(2i2)>0を満たす場合、式(4B)に従って第k視点画像のGr成分の射影信号GrPk(2i2)と、撮像画像のGr成分の射影信号GrP(2i2)との比を算出する。そして、制御部121は、算出した比に規格化のため瞳分割数NLFを乗算して、第k視点画像IkのGr成分のシェーディング信号GrSk(2i2)を生成する。これにより、被写体に起因するGrの信号成分を相殺し、第k視点画像IkのGr成分のシェーディング成分を分離することができる。また、制御部121は、条件式GrP(2i2)>GrPk(2i2)>0を満たさない場合、第k視点画像IkのGr成分のシェーディング信号GrSk(2i2)を0に設定する。
同様に、式(4C)及び(4D)に従って、第k視点画像IkのGb成分のシェーディング信号GbSk(2i2-1)及び第k視点画像IkのB成分のシェーディング信号BSk(2i2)を生成する。
なお、シェーディング補正精度を高精度に行うために、有効なシェーディング信号が十分存在する場合にのみシェーディング補正を行うようにしてもよい。例えば、RSk(2i2-1)>0、GrSk(2i2)>0、GbSk(2i2-1)>0、BSk(2i2)>0を満たす有効なシェーディング信号が所定数以上である場合に、シェーディング補正を行うようにすればよい。
また、制御部121は、式(5A)から式(5D)に従って、第k視点画像IkのRGB毎のシェーディング関数RSFk(2i2-1)、GrSFk(2i2)、GbSFk(2i2-1)、BSFk(2i2)を算出する。これらのシェーディング関数は、例えば瞳分割方向(x方向)の位置変数に対する滑らかなNSF次元の多項式関数である。また、上述した、RSk(2i2-1)>0、GrSk(2i2)>0、GbSk(2i2-1)>0、BSk(2i2)>0を満たす有効なシェーディング信号を、これらのシェーディング関数に入力するデータ点とする。
制御部121は、これらデータ点を用いて、例えば最小二乗法によりパラメーターフィッティングを行い、式(5A)から式(5D)の各シェーディング関数の係数RSCk(μ)、GrSCk(μ)、GbSCk(μ)、BSCk(μ)を算出する。このようにして、撮像画像を基準とした相対的な第k視点画像IkのRGB毎のシェーディング関数RSFk(2i2-1)、GrSFk(2i2)、GbSFk(2i2-1)、BSFk(2i2)を生成することができる。シェーディング関数を用いた統計処理により、x方向の位置に応じた統計的なシェーディングの発生傾向に基づいてシェーディング信号を調整することができるため、滑らかなシェーディング補正を行うことができる。
シェーディング関数RSFk、GrSFk、GbSFk、BSFkを、瞳分割方向(x方向)に反転した関数を、それぞれ、R[RSFk]、R[GrSFk]、R[GbSFk]、R[BSFk]とする。所定許容値をε(0<ε<1)として、1-ε≦RSFk+R[RSFk]≦1+ε、1-ε≦GrSFk+R[GrSFk]≦1+ε、1-ε≦GbSFk+R[GbSFk]≦1+ε、1-ε≦BSFk+R[BSFk]≦1+εの各条件式が、各位置で、全て満たされる場合、検出されたシェーディング関数は適正であると判定し、式(6A)から式(6D)の処理を行う。それ以外の場合、検出されたシェーディング関数は不適正であると判定し、RSFk≡1、GrSFk≡1、GbSFk≡1、BSFk≡1とし、必要に応じて、例外処理を行う。
図13(C)に、撮像画像Iを基準とした相対的な第1視点画像I1のRGB毎のシェーディング関数RSF1(R)、GrSF1(G)、GbSF1(G)、BSF1(B)の例を示す。図13(B)に示した第1視点画像の射影信号と、図13(A)に示した撮像画像の射影信号とには、被写体の色に起因した成分と、シェーディング成分とが含まれている。本実施形態では、第1視点画像の射影信号と撮像画像の射影信号の比を求めることによって被写体の色成分を相殺し、射影信号から分離したシェーディング信号に基づいてシェーディング関数を生成する。そのため、第1視点画像I1について、精度のよい、滑らかなシェーディング関数をRGB成分ごとに生成することができる。
なお、上述の説明では、シェーディング関数を多項式関数を用いて生成した。しかし、これに限定されることはなく、シェーディングの特性に応じて他の関数を用いてシェーディング関数を生成してもよい。
S1-5において、制御部121は、第k視点画像Ik(j,i)に対して、式(6A)から式(6D)に従ってシェーディング補正(輝度補正)を適用する。具体的には、制御部121は、第k視点画像Ik(j,i)の色成分ごとに、対応するシェーディング関数を用いてシェーディング補正処理を適用する。以下、シェーディング補正後の第k視点画像Ikを第k視点(第1修正)画像M1Ikと呼ぶ。
ここで、ベイヤー配列の第k視点(第1修正)画像M1Ikを、R、Gr、Gb、Bごとに定義する。すなわち、Rの第k視点(第1修正)画像をRM1Ik(2j2-1、2i2-1)=M1Ik(2j2-1、2i2-1)、Grの第k視点(第1修正)画像をGrM1Ik(2j2-1、2i2)=M1Ik(2j2-1、2i2)とする。また、Gbの第k視点(第1修正)画像をGbM1Ik(2j2、2i2-1)=M1Ik(2j2、2i2-1)、Bの第k視点(第1修正)画像をBM1Ik(2j2、2i2)=M1Ik(2j2、2i2)とする。必要に応じて、シェーディング補正後の第k視点(第1修正)画像M1Ik(j,i)を出力画像としてもよい。
このように本実施形態では、撮像画像と視点画像の射影信号を用い、被写体の色成分による信号変化を相殺することにより、RGBごとのシェーディング関数(すなわち瞳ずれによって生じる光量のずれの大きさと位置との関係)を求めるようにした。この際、視点画像の射影信号の信頼性を判定し、信頼性の高い射影信号を用いてシェーディング関数を生成するため、精度の良いシェーディング関数が得られる。補正量取得手段としての制御部121は、シェーディング関数値の逆数をシェーディング補正量(輝度補正量)として生成する。そして、補正手段としての制御部121は、輝度補正量に基づいて視点画像の輝度を補正するシェーディング補正処理を行う。したがって、シェーディング関数の精度の向上により、シェーディング補正の精度も向上する。
ここで、図14(A)~図14(C)を参照して、図9のS1に示した第1視点画像I1(j,i)のRGBごとのシェーディング補正処理の効果を説明する。まず、図14(A)は、本実施形態の撮像画像I(デモザイキング後)の例であり、画質品位が良好な撮像画像の例を示している。また、図14(B)は、本実施形態のシェーディング補正前の第1視点画像I1(デモザイキング後)の例を示している。すなわち、上述した結像光学系の射出瞳と撮像素子の入射瞳の瞳ずれによりRGBごとのシェーディングが生じ、図14(B)に示す第1視点画像I1(j,i)では右側の周辺像高において輝度の低下(及びRGB比の変調)が生じている。更に図14(C)は、本実施形態のシェーディング補正後の第1視点(第1修正)画像M1I1(デモザイキング後)の例を示している。すなわち、上述したRGBごとのシェーディング補正により、輝度の低下(及びRGB比の変調)が修正され、撮像画像と同様に、画質品位の良好なシェーディング補正後の第1視点(第1修正)画像M1I1(j,i)が生成される。
(視点画像の欠陥補正)
次に、図9のS2で行う、視点画像に対する欠陥補正処理について説明する。本実施形態では、制御部121は、撮像画像Iに基づいて、シェーディング補正後の第k視点(第1修正)画像M1Ikの欠陥補正を行う。本実施形態では、k=1の場合を例に説明する。
撮像素子の回路構成や駆動方式により、転送ゲートの短絡などに起因して、撮像画像Iは正常であるものの、第k視点画像Ik(第1視点画像I1)のごく一部分な信号の欠陥が生じ、点欠陥や線欠陥となる場合がある。このような場合、必要に応じて、量産工程等で検査された点欠陥情報や線欠陥情報を、例えば画像処理回路125等に事前に記録し、記録された点欠陥情報や線欠陥情報を用いて第k視点画像Ik(第1視点画像I1)の欠陥補正処理を行うことができる。また、必要に応じて、第k視点画像Ik(第1視点画像I1)をリアルタイムに検査して点欠陥判定や線欠陥判定を行うことができる。
以下、S2における欠陥補正処理の例では、第k視点画像Ikには奇数行2jD-1もしくは偶数行2jDの水平方向(x方向)のライン状の線欠陥がある場合であって、撮像画像Iには当該奇数行もしくは偶数行の線欠陥がない場合を例に説明する。
S2-1において、制御部121は、正常な撮像画像Iを参照画像として用いて、第k視点(第1修正)画像M1Ikの欠陥補正を行う。すなわち、制御部121は、欠陥と判定されていない位置の第k視点(第1修正)画像M1Ikの信号値と、欠陥と判定されていない位置の撮像画像Iの信号値とを比較する。但し、この比較を行う際には、瞳ずれにより生じた第k視点画像IkのRGBごとのシェーディング成分の影響を取り除いたうえで、第k視点画像Ikと撮像画像Iとで、被写体が有するRGBごとの信号成分を正確に比較することが必要である。そのため、S1において生成された第k視点(第1修正)画像M1Ikを用いて、撮像画像Iと同等のシェーディング状態となった第k視点画像を用いる。すなわち、本ステップでは、撮像画像Iを参照画像として用いながら、シェーディング補正された第k視点(第1修正)画像M1Ikに対して高精度な欠陥補正を行う。
制御部121は、シェーディング補正後の第k視点(第1修正)画像M1Ik(j,i)のごく一部で欠陥と判定された信号に対して、撮像画像Iの正常信号と、第k視点(第1修正)画像M1Ikの正常信号とを用いる。なお、欠陥補正処理により生成される画像を第k視点(第2修正)画像M2Ik(j,i)とする。ここで、ベイヤー配列の第k視点(第2修正)画像M2Ikを、R、Gr、Gb、Bごとに定義する。すなわち、Rの第k視点(第2修正)画像をRM2Ik(2j2-1、2i2-1)=M2Ik(2j2-1、2i2-1)、Grの第k視点(第2修正)画像をGrM2Ik(2j2-1、2i2)=M2Ik(2j2-1、2i2)とする。また、Gbの第k視点(第2修正)画像をGbM2Ik(2j2、2i2-1)=M2Ik(2j2、2i2-1)、Bの第k視点(第2修正)画像をBM2Ik(2j2、2i2)=M2Ik(2j2、2i2)とする。
制御部121は、第k視点(第1修正)画像M1IkのRの第1位置(2jD-1、2iD-1)が欠陥と判定された場合、式(7A)に従う演算を行って、第1位置における第k視点(第2修正)画像RM2Ik(2jD-1、2iD-1)を生成する。式(7A)の演算には、第1位置の撮像画像RI(2jD-1、2iD-1)と、欠陥と判定されていないRの第2位置の第k視点(第1修正)画像RM1Ikと、第2位置の撮像画像RIとを用いる。
また、第k視点(第1修正)画像M1IkのGrの第1位置(2jD-1、2iD)が欠陥と判定された場合、式(7B)に従う演算を行い、第1位置における欠陥補正後の第k視点(第2修正)画像GrM2Ik(2jD-1、2iD)を生成する。さらに、第k視点(第1修正)画像M1IkのGb及びBについても同様に、それぞれ式(7C)及び式(7D)に従って欠陥補正後の視点画像を生成する。
欠陥と判定されていない大部分の位置(j,i)では、第k視点(第2修正)画像M2Ik(j,i)が第k視点(第1修正)画像M1Ik(j,i)と同一(又は略同一)の信号値、すなわちM2Ik(j,i)=M1Ik(j,i)である。なお、必要に応じて、欠陥補正後の第k視点(第2修正)画像M2Ik(j,i)を出力画像としてもよい。
さらに、図15(A)および図15(B)を参照して、上述した欠陥補正処理の効果を説明する。図15(A)は、上述した欠陥補正前の第1視点(第1修正)画像M1I1の例を示す。なお、本画像は、シェーディング補正処理およびデモザイキング処理が施されている。この例は、第1視点(第1修正)画像M1I1(j,i)の中央部に、水平方向(x方向)のライン状の線欠陥が生じている場合を示している。一方、図15(B)は、上述した欠陥補正後の第1視点(第2修正)画像M2I1(シェーディング補正後、デモザイキング後)の例を示している。正常な撮像画像Iに基づく欠陥補正により、水平方向(x方向)のライン状の線欠陥が修正され、撮像画像と同様に、画質品位が良好になっている。
本実施形態では、欠陥と判定された第1位置における視点画像の信号値を、第1位置における撮像画像の信号値と、欠陥と判定されていない第2位置における視点画像および撮像画像の信号値とに基づいて補正する。この際、シェーディング補正(輝度補正)された視点画像の信号値を用いるようにしたので、視点画像の補正精度を高めることができる。
さらに、制御部121は、S2-2において、欠陥補正後の第k視点(第2修正)画像M2Ik(j,i)に対して、式(8A)から式(8D)に従ったシェーディング処理を行い、第k視点(第3修正)画像M3Ik(j,i)を生成する。ここで、ベイヤー配列の第k視点(第3修正)画像M3Ikを、R、Gr、Gb、Bごとに定義する。すなわち、Rの第k視点(第3修正)画像をRM3Ik(2j2-1、2i2-1)=M3Ik(2j2-1、2i2-1)、Grの第k視点(第3修正)画像をGrM3Ik(2j2-1、2i2)=M3Ik(2j2-1、2i2)とする。また、Gbの第k視点(第3修正)画像をGbM3Ik(2j2、2i2-1)=M3Ik(2j2、2i2-1)、Bの第k視点(第3修正)画像をBM3Ik(2j2、2i2)=M3Ik(2j2、2i2)とする。
S3において、撮像画像I(j,i)と、第k視点(第3修正)画像M3Ik(j,i)に対して、飽和信号処理を行う。本実施形態では、k=1、NLF=2である場合を例に説明する。
まず、S3-1において、制御部121は、撮像画像I(j,i)に対する飽和信号処理を行う。すなわち、式(9)に従い、撮像信号の最大値をImaxとする飽和信号処理を行って、修正撮像画像MI(j,i)を生成する。ここで、撮像信号の最大値Imaxと、撮像信号の飽和判定閾値ISは、Imax≧ISを満たす。
次に、S3-2において、制御部121は、第k視点(第3修正)画像M3Ik(j,i)に対する飽和信号処理を行う。すなわち、式(10)に従い、ベイヤー配列のシェーディング関数をSFk(j,i)としたシェーディング状態に合わせた飽和信号処理を行い、第k視点(第4修正)画像M4Ik(j,i)を生成する。ここで、ベイヤー配列のシェーディング関数SFk(j,i)を、式(5A)から式(5D)により、R、Gr、Gb、Bごとに生成されたシェーディング関数RSFk(2i2-1)、GrSFk(2i2)、GbSFk(2i2-1)、BSFk(2i2)から、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)とする。
次に、S4-1において、制御部121は、S3-1で生成された修正撮像画像MI(j,i)と、S3-2で生成された第1視点(第4修正)画像M4I1(j,i)から、式(11)に従って第2視点画像I2(j,i)を生成する。
なお、撮像素子の駆動方式やA/D変換の回路構成によっては、第1視点(第3修正)画像M3I1(j,i)の飽和時の最大信号値が、撮像画像I(j,i)の飽和時の最大信号値Imaxと、同一の最大信号値となる場合がある。このような場合に、飽和信号処理を行うことなく、式(11)を適用して撮像画像から第1視点(第3修正)画像を減算すると、生成される第2視点画像において飽和信号値となるべきところが誤った信号値0となる場合がある。このような動作を防止するため、S3では、撮像画像I(j,i)と第k視点(第3修正)画像M3Ik(j,i)に対して予めシェーディング状態に合わせた飽和信号処理を行う。このようにして、飽和信号処理後の修正撮像画像MI(j,i)と第1視点(第4修正)画像M4I1(j,i)を生成する。S4-1では、式(11)に従って第2視点画像I2(j,i)を生成することにより、より正しい飽和信号値に対応した第2視点画像I2を生成することができる。
S5では、制御部121は、第1視点(第4修正)画像M4I1(j,i)と、第2視点画像I2(j,i)に対して、それぞれシェーディング補正を行う。S5-1では、第1視点(第4修正)画像M4I1(j,i)に対して、式(5A)から式(5D)に従って生成済みのシェーディング関数RSF1、GrSF1、GbSF1、BSF1を適用する。そして、式(6A)から式(6D)に従って、シェーディング補正処理を行う。なお、このとき第1視点(第5修正)画像M5I1(j,i)が生成される。
次に、S5-2において、制御部121は、第2視点画像I2(j,i)に対して、式(3A)から式(6D)と同様に、修正撮像画像MI(j,i)に基づくシェーディング補正処理を行って、第2視点(第5修正)画像M5I2(j,i)を生成する。なお、第2視点画像I2の射影信号についても、第1視点画像I1の射影信号と同様に有効性判定を行い、信頼性の高い射影信号を用いてシェーディング関数を生成する。
次に、S6では、制御部121は、第1視点(第5修正)画像M5I1(j,i)と、第2視点(第5修正)画像M5I2(j,i)に対して、それぞれ飽和信号処理を行う。S6-1では、第1視点(第5修正)画像M5I1(j,i)に対して、式(12)に従って飽和信号処理を行い、修正第1視点画像MI1(j,i)を生成する。一方、S6-2では、第2視点(第5修正)画像M5I2(j,i)に対して、式(12)に従って飽和信号処理を行い、修正第2視点画像MI2(j,i)を生成する。ここで、第k視点画像の最大値Imax/NLFと、第k視点画像の飽和判定閾値ISkは、Imax/NLF≧ISkを満たす。
以下、図16(A)および図16(B)を参照して、S5に示した第2視点画像I2(j,i)に対するRGBごとのシェーディング補正処理の効果について説明する。図16(A)は、シェーディング補正前の第2視点画像I2(デモザイキング後)の例を示している。この例では、結像光学系の射出瞳と撮像素子の入射瞳の瞳ずれによってRGBごとのシェーディングが生じているため、第2視点画像I2(j,i)の左側では、輝度の低下(およびRGB比の変調)が生じている。一方、図16(B)は、本実施形態に係るシェーディング補正後の修正第2視点画像MI2(デモザイキング後)の例を示している。この例では、撮像画像に基づいたRGBごとのシェーディング補正により、輝度の低下(およびRGB比の変調)が修正され、撮像画像と同様に、画質品位が良好な修正第2視点画像MI2(j,i)が生成されている。
最後に、制御部121は、修正第1視点画像MI1(j,i)および修正第2視点画像MI2(j,i)のそれぞれを出力する。あるいは、制御部121は、修正第1視点画像MI1(j,i)および修正第2視点画像MI2(j,i)を1枚に合成した合成画像を出力する。
このように、本実施形態では、第1視点画像および第2視点画像に対し、撮像画像と視点画像とを用いて生成したシェーディング関数に基づくシェーディング補正を適用するようにした。その際、視点画像の射影信号に対して信頼性判定を行い、信頼性の高い射影信号を用いてシェーディング関数を生成することにより、精度の良いシェーディング関数を生成することができ、視点画像に対するシェーディング補正の精度を高めることができる。
(位相差方式の焦点検出処理)
次に、第1視点画像と第2視点画像(第1~第NLF視点画像)から、第1視点画像と第2視点画像の相関(信号の一致度)に基づき、位相差方式によりデフォーカス量を検出する焦点検出処理について説明する。なお、以下の説明では、制御部121が処理を実行する例を説明するが、画像処理回路125が実行してもよい。
まず、制御部121は、ベイヤー配列のRGB信号である第k視点画像Ik(k=1~NLF)から、位置(j,i)ごとに、各色RGBの色重心を一致させて、第k視点輝度信号Ykを、式(13)に従って生成する。
次に、制御部121は、式(14)に従って、第k視点輝度信号Yk(k=1~NLF)のシェーディング補正量Sk(i)を、瞳分割方向(x方向)の位置iに対する滑らかなNS次の多項式関数として算出する。撮像素子107の光学特性(第k副画素ごとの瞳強度分布)と、結像光学系の光学特性(絞り値F、射出瞳距離Dl)に基づき、予め、各係数SCk(μ|F、Dl)を算出し、不図示のROM等へ保存しておく。
さらに、制御部121は、第k視点輝度信号Yk(j,i)に対して、式(15)に従って、シェーディング補正量Sk(i)を用いたシェーディング補正処理を行い、第k修正視点輝度信号MYk(j,i)を生成する。
制御部121は、生成された第1修正視点輝度信号MY1に対して、瞳分割方向(水平方向)に、1次元バンドパスフィルター処理を行い、第1焦点検出信号dYAを生成する。同様に、第2修正視点輝度信号MY2に対して、瞳分割方向(水平方向)に、1次元バンドパスフィルター処理を行い、第2焦点検出信号dYBを生成する。なお、1次元バンドパスフィルターとしては、例えば、1次微分型フィルター[1、5、8、8、8、8、5、1、-1、-5、-8、-8、-8、-8、-5、-1]などを用いることができる。必要に応じて、1次元バンドパスフィルターの通過帯域を調整してもよい。
次に、制御部121は、第1焦点検出信号dYAと第2焦点検出信号dYBを、相対的に瞳分割方向(水平方向)にシフトさせて、信号の一致度を表す相関量を算出し、算出した相関量に基づいて像ずれ量MDISを生成する。
例えば、焦点検出位置(jAF、iAF)を中心として、垂直方向j2番目、瞳分割方向である水平方向i2番目の第1焦点検出信号をdYA(jAF+j2、iAF+i2)、第2焦点検出信号をdYB(jAF+j2、iAF+i2)とする。但し、j2は-n2≦j2≦n2、i2は-m2≦i2≦m2である。さらに、シフト量をs(-ns≦s≦ns)とすると、各位置(jAF,iAF)での相関量COREVEN(jAF,iAF、s)および相関量CORODD(jAF,iAF、s)は、それぞれ式(16A)および式(16B)により算出することができる。
なお、相関量CORODD(jAF,iAF、s)は、相関量COREVEN(jAF,iAF、s)に対して、第1焦点検出信号dYAと第2焦点検出信号dYBのシフト量を半位相-1シフトずらした相関量である。
制御部121は、相関量COREVEN(jAF,iAF、s)と相関量CORODD(jAF,iAF、s)から、それぞれ、サブピクセル演算を行って、相関量が最小値となる実数値のシフト量を算出する。さらに、算出したシフト量の平均値を算出し、焦点検出位置(jAF、iAF)における像ずれ量Dis(jAF、iAF)を検出する。
次に、制御部121は、像ずれ量からデフォーカス量への変換係数Kを、焦点検出領域の像高位置ごとに像ずれ量Dis(jAF、iAF)に乗算し、各焦点検出位置(jAF、iAF)におけるデフォーカス量MDef(jAF、iAF)を検出する。なお、変換係数Kは、例えば、撮像素子の光学特性(第k副画素ごとの瞳強度分布)およびレンズ情報(結像光学系の絞り値F、射出瞳距離Dlなど)に応じて算出し、不図示のROMへ保存しておく。
最後に、制御部121は、焦点検出位置(jAF、iAF)で検出されたデフォーカス量MDef(jAF、iAF)に応じて合焦位置にレンズを駆動して、焦点検出処理を終了する。
第1視点画像と第2視点画像(複数の視点画像)を用いて、自動焦点検出を行う場合、応答性に優れたリアルタイム処理の自動焦点検出を行うために、高速なシェーディング補正が必要となる場合がある。そのため、本実施形態では、自動焦点検出を行う場合には、不図示のROM等に保存されている、予め算出されたシェーディング補正関連データを用いて高速にシェーディング補正を行うようにしてもよい。このようにすれば、良好な信号品質の位相差方式の焦点検出信号を用いることができ、精度が高く、応答性に優れた自動焦点検出を実現することができる。なお、シェーディング補正関連データは、撮像素子の光学特性(第k副画素ごとの瞳強度分布)と結像光学系の光学特性(絞り値F、射出瞳距離Dl)とに基づき算出することができる。この場合、自動焦点検出を行う際には、特定の視点画像(例えば第1視点画像)についてのみシェーディング補正を適用し、より高速な自動焦点検出を行うようにしてもよい。
本実施形態は、画質品位が良好な視点画像、もしくは、これらの合成画像を画像出力する際は、撮像画像に基づいて、高精度なRGB毎のシェーディング補正を行う。一方、優れた応答性が要求されるリアルタイム処理の自動焦点検出の際は、シェーディング補正方法を切り換え、予め、算出され、記録媒体に保存されたシェーディング補正関連データによる高速なシェーディング補正を行う例を説明した。これにより、画質品位が良好な視点画像の画像出力と、応答性に優れた高精度な自動焦点検出を、両立することができる。
以上説明したように、単位画素内の光電変換部を分割した構造の撮像素子から得られるLFデータに基づいて撮像画像と視点画像を生成し、これらの画像に基づき視点画像に対するシェーディング(光量分布の偏り)を補正するようにした。さらに、シェーディング補正のなされた視点画像を用いて欠陥画素を補正するようにした。このようにすることで、良好な画質品位の視点画像を生成することができる。換言すれば、LFデータを用いる場合に、生成される視点画像の光量の変動を低減することができるようになる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。