以下、本発明の例示的な実施形態を、図面に基づいて詳細に説明する。デジタルカメラ等の撮像装置に適用した場合の実施例を説明するが、本発明に係る画像処理方法を実行する画像処理装置や情報処理装置、電子機器等に幅広く適用可能である。
[第1実施例]
本発明の第1実施例に係る画像処理装置の適用例として、撮像装置の全体構成を以下に説明する。図1は本実施例に係る撮像素子を有する撮像装置の構成例を示すブロック図である。被写体側を前側として各部の位置関係を説明する。
第1レンズ群101は撮像光学系(結像光学系)の前端部に配置され、レンズ鏡筒にて光軸方向に進退可能に保持される。絞り兼用シャッタ102は、その開口径を調節することで撮影時の光量調節を行う他、静止画撮影時には露光秒時調節用シャッタとしての機能をもつ。第2レンズ群103は、絞り兼用シャッタ102と一体となって光軸方向に進退し、第1レンズ群101の進退動作との連動により、変倍動作を行い、ズーム機能を実現する。第3レンズ群105は、光軸方向の進退により焦点調節を行うフォーカスレンズである。光学的ローパスフィルタ106は、撮影画像の偽色やモアレを軽減するための光学素子である。撮像素子107は、例えば2次元CMOS(相補型金属酸化膜半導体)フォトセンサと周辺回路を備え、撮像光学系の結像面に配置される。
ズームアクチュエータ111は、レンズ鏡筒のカム筒を回動させることで、第1レンズ群101および第2レンズ群103を光軸方向に移動させて変倍動作を行う。絞りシャッタアクチュエータ112は、絞り兼用シャッタ102の開口径を制御して撮影光量を調節すると共に、静止画撮影時の露光時間制御を行う。フォーカスアクチュエータ114は、第3レンズ群105を光軸方向に移動させて焦点調節動作を行う。
被写体照明用の電子フラッシュ115は撮影時に使用し、キセノン管を用いた閃光照明装置または連続発光するLED(発光ダイオード)を備えた照明装置が用いられる。AF(オートフォーカス)補助光源116は、所定の開口パターンを有したマスクの像を、投光レンズを介して被写界に投影する。これにより、低輝度の被写体または低コントラストの被写体に対する焦点検出能力が向上する。
カメラ本体部の制御部を構成するCPU(中央演算処理装置)121は、種々の制御を司る制御中枢機能をもつ。CPU121は、演算部、ROM(リード・オンリー・メモリ)、RAM(ランダム・アクセス・メモリ)、A(アナログ)/D(デジタル)コンバータ、D/Aコンバータ、通信インターフェイス回路等を有する。CPU121はROMに記憶された所定のプログラムに従って、撮像装置内の各種回路を駆動し、AF制御、撮像処理、画像処理、記録処理等の一連の動作を実行する。AF制御では撮像光学系の焦点状態検出および焦点調節の制御が行われる。CPU121は本発明に係るデータの生成手段の機能を有する。
電子フラッシュ制御回路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(液晶表示装置)等の表示デバイスを有し、撮像装置の撮影モードに関する情報、撮影前のプレビュー画像と撮影後の確認用画像、焦点検出時の合焦状態表示画像等を表示する。操作部132は各種の操作スイッチを備え、操作指示信号をCPU121に出力する。フラッシュメモリ133はカメラ本体部に着脱可能な記録媒体であり、撮影済み画像データ等を記録する。所定の画像データが表示部131の画面に表示され、またはフラッシュメモリ133に記録される。所定の画像データとは、例えば撮像素子107により撮像されてから画像処理回路125により処理された複数の視点画像データ、または複数の視点画像データを撮像素子107内または画像処理回路125内で合成した合成画像データである。
図2は、撮像素子の画素と副画素の配列を説明する概略図である。図2の左右方向をx方向(水平方向)とし、上下方向をy方向(垂直方向)とし、x方向およびy方向に直交する方向(紙面に垂直な方向)をz方向(光軸方向)と定義する。図2は、撮像素子として2次元CMOSセンサの撮像画素配列を4列×4行の範囲で示し、副画素配列を8列×4行の範囲で示している。
図2に示す2列×2行の画素群200は、以下の画素200R,200G,200Bから構成される。
・左上に位置する第1色R(赤)の分光感度を有する画素200R。
・右上と左下に位置する第2色G(緑)の分光感度を有する画素200G。
・右下に位置する第3色B(青)の分光感度を有する画素200B。
図2のx方向の分割数をNxとし、y方向の分割数をNyとすると、全分割数NLFはNx×Nyである。図2の例ではNx=2およびNy=1であり、第1副画素201と第2副画素202により1つの画素部が構成される。4列×4行の画素(8列×4行の副画素)を面上に多数配置することで、撮像素子107から、撮像画像(合成画像)および分割数2の視点画像を生成するための入力画像を取得可能である。本実施例の撮像素子では、画素の周期Pを4μm(マイクロメートル)とし、画素数Nを横5575列×縦3725行=約2075万画素とする。また、副画素の列方向周期PSを2μmとし、副画素数NSを横11150列×縦3725行=約4150万画素とする。なお、分割数NLFの場合には第1副画素から第NLF副画素から画素データを取得可能である。
図3を参照して画素部の構造を説明する。図3(A)は、図2に示す撮像素子107における1つの画素200Gを、撮像素子の受光面側(+z側)から見た場合の平面図である。図3(A)の紙面に垂直な方向の軸をz軸とし、手前側をz軸の正方向と定義する。また、z軸に直交する上下方向の軸をy軸とし、上方をy軸の正方向と定義する。z軸およびy軸に直交する左右方向の軸をx軸とし、右方をx軸の正方向と定義する。図3(B)は、図3(A)にてa−a線に沿って切断し、−y側から見た場合の断面図である。
画素200Gには、その受光面側(+z方向)に入射光を集光するためのマイクロレンズ305が形成されている。さらに、第1光電変換部301と第2光電変換部302が形成されており、それぞれ第1副画素201と第2副画素202に対応する。分割数NLFの場合には、第1光電変換部から第NLF光電変換部がそれぞれ、第1副画素から第NLF副画素に対応する。
各光電変換部301,302は、独立したpn接合フォトダイオードを有し、p型ウェル層300と2つに分割されたn型層301とn型層302から構成される。必要に応じて、イントリンシック層を挟み、pin構造フォトダイオードとして形成してもよい。各画素には、マイクロレンズ305と、第1光電変換部301および第2光電変換部302との間に、カラーフィルタ306が形成される。必要に応じて、カラーフィルタ306の分光透過率を画素ごとに、また光電変換部ごとに変更してもよいし、カラーフィルタを省略しても構わない。
画素200Gに入射した光はマイクロレンズ305が集光し、さらにカラーフィルタ306で分光された後に、第1光電変換部301と第2光電変換部302がそれぞれ受光する。各光電変換部では、受光量に応じて電子とホール(正孔)が対生成され、空乏層で分離された後、電子が蓄積される。一方、ホールは定電圧源(不図示)に接続されたp型ウェル層を通じて撮像素子の外部へ排出される。第1光電変換部301と第2光電変換部302に蓄積された電子は、転送ゲートを介して、静電容量部(FD)に転送されて電圧信号に変換される。
図4は、撮像素子107における画素構造と瞳分割との対応関係を示す概略的な説明図である。図4の下側には、図3(A)に示した画素構造をa−a線で切断し、+y方向から見た場合の断面図を示す。図4の上側には、結像光学系の射出瞳面を、−Z方向から見た図を示す。Z軸方向は光軸方向であり、射出瞳面上でx方向に平行な方向をX方向とし、y方向に平行な方向をY方向と定義する。図4では、射出瞳面の座標軸と対応を取るために、断面図にてx軸とy軸との関係を、図3に示す状態とは反転させて示している。撮像素子107は、結像光学系の結像面近傍に配置され、被写体からの光束は、結像光学系の射出瞳400を通過して、それぞれの画素に入射する。撮像素子107が配置された面を撮像面とする。
第1瞳部分領域501と第2瞳部分領域502はそれぞれ、第1光電変換部301と第2光電変換部302の受光面と、マイクロレンズによって、概ね、光学的に共役な関係になっている。つまり第1瞳部分領域501と第2瞳部分領域502は第1副画素201と第2副画素202でそれぞれ受光可能な瞳領域である。第1瞳部分領域501は瞳面上で+X側に重心が偏倚しており、第2瞳部分領域502は瞳面上で−X側に偏倚している。
瞳領域500は、第1光電変換部301と第2光電変換部302を全て合わせた受光面と、マイクロレンズによって、概ね、光学的に共役な関係になっている。つまり瞳領域500は、第1副画素201と第2副画素202を全て合わせた画素200G全体での受光可能な瞳領域である。分割数NLFの場合には、瞳領域がNx×Nyに分割され、第1瞳部分領域から第NLF瞳部分領域により構成される。
図5は、各画素に形成されたマイクロレンズに光が入射した場合の光強度分布を例示する断面図である。図5(A)はマイクロレンズの光軸に平行な断面での光強度分布を示す。図5(B)はマイクロレンズの焦点位置において、マイクロレンズの光軸に垂直な断面での光強度分布を示す。入射光は、マイクロレンズにより焦点位置に集光される。しかし、光の波動性による回折の影響のため、集光スポットの直径は回折限界Δより小さくすることはできず、有限の大きさとなる。光電変換部の受光面サイズは約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は、本実施例の撮像素子と瞳分割との対応関係を示す概略図である。撮像面600を線分で示しており、第1光電変換部301と第2光電変換部302がそれぞれ、第1副画素201と第2副画素202に対応する。撮像素子の各画素において、第1光電変換部301と第2光電変換部302はそれぞれ、結像光学系の第1瞳部分領域501と第2瞳部分領域502を通過した光束を受光する。各光電変換部で受光された信号から、光強度の空間分布および角度分布を示すライトフィールドデータ(入力画像)が取得される。分割数NLFの場合にはNx×Ny分割された第1副画素から第NLF副画素の各信号からライトフィールドデータ(以下、LFデータと記す)を取得可能である。
LFデータにおいて、画素ごとに分割された第1副画素201と第2副画素202の中から特定の副画素の信号を選択する処理が行われる。結像光学系の第1瞳部分領域501と第2瞳部分領域502のうち、特定の瞳部分領域に対応した視点画像を生成することができる。例えば、画素ごとに第1副画素201(または第2副画素202)の信号を選択することで、第1瞳部分領域501(または第2瞳部分領域502)に対応した画素数Nの解像度を有する第1視点画像(または第2視点画像)を生成できる。第1視点画像と第2視点画像は視点の異なる画像である。分割数NLFの場合には第1視点画像から第NLF視点画像を生成可能である。
またLFデータにおいて、画素ごとに分割された第1副画素201と第2副画素202の信号を全て合成することで、画素数Nの解像度を有する撮像画像を生成することができる。分割数NLFの場合には、第1副画素から第NLF副画素の信号の合成によって撮像画像が生成される。
以上のように本実施例の撮像素子は、結像光学系の異なる瞳部分領域を通過する光束をそれぞれ受光する複数の光電変換部が設けられた画素が複数配列された構造を有し、LFデータ(入力画像)を取得することができる。
次に、撮像素子により取得されるLFデータ(入力画像)から生成される第1視点画像と第2視点画像のデフォーカス量と、像ずれ量との関係について説明する。
図8は、第1視点画像と第2視点画像のデフォーカス量と、第1視点画像と第2視点画像との間の像ずれ量について概略的に示す関係図である。撮像面600には撮像素子(不図示)が配置され、図4、図7の場合と同様に、結像光学系の射出瞳が、第1瞳部分領域501と第2瞳部分領域502に2分割される。
デフォーカス量dは、その大きさ|d|が被写体像の結像位置から撮像面600までの距離を表す。被写体像の結像位置が撮像面600よりも被写体側にある前ピン状態では、負符号(d<0)とし、これとは反対の後ピン状態では正符号(d>0)として向きを定義する。被写体像の結像位置が撮像面(合焦位置)にある合焦状態では、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上で暈け像となる。暈け像は、撮像素子に配列された各画素部を構成する第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視点画像との間の像ずれ量の大きさが増加する。
本実施例では、複数の視点画像(第1乃至第NLF視点画像)のデフォーカス量と像ずれ量の関係性を用いて、撮像画像に対して、撮影後にフォーカス位置を再修正するリフォーカス処理を行う。具体的には、第1視点画像から第NLF視点画像を用いたシフト合成処理によるリフォーカスと、シャープ/アンシャープ制御とを組み合わせた処理が実行される。シャープ/アンシャープ制御は、像ずれ差分量分布に応じた先鋭化と平滑化によって先鋭度の高い領域と暈け度合いの高い領域を適応的に画像処理する制御である。ただし、リフォーカス処理とシャープ/アンシャープ制御のうち、いずれか一方のみを画像に行ってもよい。いずれか一方を行う場合には、図9にて必要でない処理のステップを省略すればよい。
図9を参照して、リフォーカス処理およびシャープ/アンシャープ制御の流れの概略図を用いて説明する。撮像素子により取得されたLFデータ(入力画像)から、撮影後に、フォーカス位置や暈け感が修正された処理画像(出力画像)を生成する画像処理が行われる。なお、図9の処理は、CPU121と画像処理回路125によって実行される。
図9のS1では、撮像素子により取得されたLFデータから、結像光学系の異なる瞳部分領域ごとに、複数の視点画像(第1視点画像から第NLF視点画像)が生成される。視点の異なる複数の画像は多視点画像とも呼ばれる。また、結像光学系の異なる瞳部分領域を合成した瞳領域に対応する撮像画像(合成画像)が生成される。
具体的にはS1において、まず撮像素子107により取得されたLFデータを取得する処理が実行される。または、予め撮像素子107により撮像されて記録媒体に保存されているLFデータを読み出して入力画像データとして用いてもよい。次に、結像光学系の異なる瞳部分領域ごとに、第1視点画像から第NLF視点画像のデータが生成される。LFデータ(入力画像)を「LF」と表記する。また、LFの各画素信号内での列方向iS(1≦iS≦Nx)番目、行方向jS(1≦jS≦Ny)番目の副画素信号を、k=Nx(jS−1)+iS(1≦k≦NLF)として、第k副画素信号とする。結像光学系の第k瞳部分領域に対応した、列方向i番目、行方向j番目の第k視点画像をIk(j,i)と表記すると、これは式(1)により生成される。
本実施例は、Nx=2、Ny=1、NLF=2での分割の例である。図2に例示した画素配列に対応したLFデータから、画素ごとに、x方向にて2分割された第1副画素201と第2副画素202の中から特定の副画素の信号を選択する処理が行われる。結像光学系の第1瞳部分領域501と第2瞳部分領域502の中の特定の瞳部分領域に対応した、画素数Nの解像度を有するベイヤー配列のRGB信号である第1視点画像と第2視点画像が生成される。
ここで、第1視点画像と第2視点画像の瞳ずれによるシェーディングについて説明する。図11は、撮像素子の周辺像高における、第1光電変換部301が受光する第1瞳部分領域501、第2光電変換部302が受光する第2瞳部分領域502、および結像光学系の射出瞳400の関係を示す。尚、図4と同じ部分について同じ符号を用いて示している。第1光電変換部301と第2光電変換部302がそれぞれ、第1副画素201と第2副画素202に対応する。結像光学系の射出瞳距離をDlと表記し、撮像素子の設定瞳距離をDsと表記する。
図11(A)は、結像光学系の射出瞳距離Dlと撮像素子の設定瞳距離Dsが同じ場合を示す。この場合、第1瞳部分領域501と第2瞳部分領域502により、結像光学系の射出瞳400が、概ね、均等に瞳分割される。これに対して図11(B)は、結像光学系の射出瞳距離Dlが撮像素子の設定瞳距離Dsより短い場合を示す。この場合、撮像素子の周辺像高では、結像光学系の射出瞳と撮像素子の入射瞳の瞳ずれが生じ、結像光学系の射出瞳400が、不均一に瞳分割されてしまう。図11(C)は、結像光学系の射出瞳距離Dlが撮像素子の設定瞳距離Dsより長い場合を示す。この場合、撮像素子の周辺像高で結像光学系の射出瞳と撮像素子の入射瞳の瞳ずれが生じ、結像光学系の射出瞳400が、不均一に瞳分割されてしまう。周辺像高で瞳分割が不均一になることに伴い、第1視点画像と第2視点画像の強度が不均一になる。第1視点画像と第2視点画像のいずれか一方の強度が大きくなり、他方の強度が小さくなるシェーディングが、RGBの色ごとに発生する。
各視点画像のシェーディングを改善するために、第1視点画像から第NLF視点画像には、シェーディング補正処理(光学補正処理)がRGBごとに行われる。また、必要に応じて、キズ補正処理や、飽和処理、デモザイキング処理等が行われる。
図9のS1において次に、撮像画像(合成画像)が生成される。撮像画像は結像光学系の異なる瞳部分領域を合成した瞳領域に対応する画像である。列方向にてi番目、行方向にてj番目の撮像画像をI(j,i)と表記すると、これは式(2)により生成される。
本実施例は、Nx=2、Ny=1で、NLF=2の分割の例である。図2に例示した画素配列に対応した入力画像(LFデータ)から、画素ごとに、第1副画素201と第2副画素202の信号を全て合成し、画素数Nの解像度を有するベイヤー配列のRGB信号である撮像画像を生成する処理が実行される。必要に応じて、シェーディング補正処理、キズ補正処理、飽和処理、デモザイキング処理等が行われる。図12は、本実施例のデモザイキング処理が施された撮像画像を例示する。中央に主被写体である人形が配置され、左側に細かい市松模様の平板が手前から奥に渡って傾斜して配置されている。
以上のように、結像光学系の異なる瞳部分領域をそれぞれ通過する光束を受光する複数の光電変換部が設けられた画素を複数配列した撮像素子により取得される入力画像から、異なる瞳部分領域ごとに、複数の視点画像が生成される。さらには、異なる瞳部分領域を合成した瞳領域に対応する撮像画像が生成される。複数の視点画像およびそれらの合成画像を取得できる構成であれば、各種の撮像系を有する装置に本発明を適用可能である。特許文献3に開示されるように、視点の異なる複数のカメラを用いる構成では、複数のカメラをまとめて撮像素子107とみなすことができる。また、物体平面と撮像素子が共役の関係となるように、マイクロレンズアレイ上で撮像光学系からの光束を結像させ、その結像面に撮像素子を設ける構成でもよい。さらには、マイクロレンズアレイ上で撮像光学系からの光束を再結像させ(一度結像した光束が拡散する状態にあり、この光束を結像させるので再結像と呼んでいる)、その結像面に撮像素子を設ける構成がある。また、適当なパターンを施したマスク(ゲイン変調素子)を撮像光学系の光路中に挿入する構成を利用できる。これらの構成の適用については後述する実施例でも同じである。
図9のS2では、撮像画像(合成画像)と複数の視点画像から、それぞれ、空間周波数の高周波帯域成分を領域ごとに抽出し、コントラスト分布を生成する処理が行われる。本実施例のコントラスト分布については、視点画像間の差に応じた調整が行われる。具体的にはS2において、まず、ベイヤー配列のRGB信号である撮像画像I(j,i)から、位置(j,i)ごとに、各色RGBの色重心を一致させて、撮像輝度信号Y(j,i)が、下記式(3A)により生成される。ベイヤー配列のRGB信号である第k視点画像Ik(j,i)(k=1〜NLF)から、位置(j,i)ごとに、第k視点輝度信号Yk(j,i)が、下記式(3B)により生成される。
S2において、次に、空間周波数の高周波成分を抽出する2次元バンドパスフィルタを用いて、撮像輝度信号Y(j,i)から、撮像高周波信号dY(j,i)が下記式(4A)より生成される。2次元バンドパスフィルタ{FBPF(jBPF、iBPF)|−nBPF≦jBPF≦nBPF、−mBPF≦iBPF≦mBPF}が使用される。第k視点輝度信号Yk(j,i)(k=1〜NLF)から、第k視点高周波信号dYk(j,i)が下記式(4B)より生成される。
本実施例は、Nx=2、Ny=1でNLF=2の分割の例である。x方向(瞳分割方向)の1次元フィルタFx(iBPF)と、y方向(瞳分割方向と直交する方向)の1次元フィルタFy(jBPF)との直積により、2次元バンドパスフィルタFBPF(jBPF,iBPF)が構成される。つまり、FBPF(jBPF,iBPF)=Fy(jBPF)×Fx(iBPF)である。瞳分割方向の1次元フィルタFx(iBPF)には、x方向の空間周波数の高周波成分を抽出するため、例えば係数が、0.5×[1,2,0,−2,−1]+1.5×[1,0,−2,0,1]等の1次元バンドパスフィルタが用いられる。ここで、1次微分型フィルタ[1、2,0,−2,−1]と2次微分型フィルタ[1,0,−2,0,1]を組み合わせた混合型フィルタとしている。一般的に、微分型フィルタ処理を行うと、フィルタ処理後の信号において、正符号から負符号に変化する部分にゼロ点が存在する。このため、絶対値演算と組み合わせることにより、空間周波数の高周波成分が含まれる領域に節が生じてしまう場合がある。節が発生する位置は、微分型フィルタの微分の次数により異なる。そこで、本実施例では、1次微分型フィルタと2次微分型フィルタ(一般には、異なる次数の微分型フィルタ)を組み合わせた混合型フィルタを用いることで、節の発生を抑制している。必要に応じて、[1,2,0,−2,−1]等の1次微分型フィルタ、[1,0,−2,0,1]等の2次微分型フィルタ、高次微分型フィルタや、より一般的な1次元バンドパスフィルタを用いてもよい。
瞳分割方向と直交する方向であるy方向の1次元フィルタFy(jBPF)には、y方向の高周波ノイズを抑制するため、例えば、[1,1,1,1,1]や[1,4,6,4,1]等の高周波カット(ローパス)フィルタを用いることができる。必要に応じて、x方向とy方向のいずれの方向に対しても、空間周波数の高周波成分を抽出するバンドパスフィルタ処理を行ってもよい。本実施例では、2つの1次元フィルタの直積で構成される2次元バンドパスフィルタを例示したが、これに限定されず、一般的な2次元バンドパスフィルタを用いることができる。
S2において、次に規格化撮像高周波信号dZ(j,i)が下記式(5A)により生成される。式(5A)中、Y0>0であり、撮像高周波信号dY(j,i)が撮像輝度信号Y(j,i)により規格化される。また規格化第k視点高周波信号dZk(j,i)が下記式(5B)により生成される。第k視点高周波信号dYk(j,i)(k=1〜NLF)が第k視点輝度信号Yk(j,i)により規格化される。分母のY0>0との最大値判定は、ゼロでの除算を防止するための処理である。必要に応じて、式(5A)、式(5B)での規格化前に、撮像輝度信号Y(j,i)、第k視点輝度信号Yk(j,i)に対して、高周波カット(ローパス)フィルタ処理を行い、高周波ノイズを抑制してもよい。
S2において、次に、低輝度閾値Ymin、コントラスト最大閾値Cmax、指数γを用いて、撮像コントラスト分布C(j,i)が、下記式(6A)により生成される。同様に、第k視点コントラスト分布Ck(j,i)(k=1〜NLF)が、下記式(6B)により生成される。
式(6A)の1行目で、撮像輝度信号Y(j,i)が低輝度閾値Yminより小さい場合、撮像コントラスト分布C(j,i)の値は0に設定される。式(6A)の3行目で、規格化撮像高周波信号dZ(j,i)がコントラスト最大閾値Cmaxより大きい場合、撮像コントラスト分布C(j,i)の値は1に設定される。それ以外の場合、式(6A)の2行目で、撮像コントラスト分布C(j,i)は、規格化撮像高周波信号dZ(j,i)をコントラスト最大閾値Cmaxで規格化してγ乗した値に設定される。
以上のように、撮像コントラスト分布C(j,i)は、[0,1](0以上1以下)の範囲内の値をとる。C(j,i)の値が、0に近いとコントラストが低く、1に近いとコントラストが高いことを示す。撮像コントラスト分布C(j,i)の0から1までのトーンカーブを調整するために、dZ(j,i)/Cmaxがγ乗されている。低コントラスト側での変化を緩やかにし、高コントラスト側での変化を急峻にするために、指数γの値は1.5以上2.5以下が望ましい。必要に応じて、定義域[0,1]から値域[0,1]への関数F:[0,1]→[0,1]を用いて、合成関数F(C(j,i))により撮像コントラスト分布を算出してもよい。
第k視点コントラスト分布Ck(j,i)についても上記と同様である。
図13は本実施例の撮像コントラスト分布C(j,i)の分布例を示す。図14は第1視点コントラスト分布C1(j,i)の分布例を示し、図15は第2視点コントラスト分布C2(j,i)の分布例を示す。図13から図15に示す分布例では、右側の[0,1]の範囲のグレースケール表示にてコントラストの高低の指標を表している。1近傍の白い部分はx方向の空間周波数の高周波成分が多く、コントラストの高い領域を示し、0近傍の黒い部分はx方向の空間周波数の高周波成分が少なく、コントラストの低い領域を示している。
本実施例における複数の視点画像(第1視点画像と第2視点画像)間の視差と、遠近競合やオクルージョンとの関係を、図16を用いて説明する。図16において、撮像面600に本実施例の撮像素子(不図示)が配置され、図4、図7、図8と同様に、結像光学系の射出瞳が、第1瞳部分領域501と第2瞳部分領域502に2分割される。
図16(A)は、被写体q1の合焦像p1に、手前の被写体q2の暈け像Γ1+Γ2が重なって撮影され、撮影画像において遠近競合が生じている例を示す。この例において、結像光学系の第1瞳部分領域501を通過する光束と、瞳部分領域502を通過する光束に、それぞれ分けた状態を、図16(B)、図16(C)に示す。
図16(B)では、被写体q1からの光束は、第1瞳部分領域501を通過して、合焦状態で像p1に結像する。手前の被写体q2からの光束は、第1瞳部分領域501を通過して、デフォーカス状態で暈け像Γ1に広がり、撮像素子の各画素の副画素201で受光される。副画素201の受光信号から第1視点画像が生成される。第1視点画像では、被写体q1の像p1と手前の被写体q2の暈け像Γ1が重ならずに、異なる位置で撮影される。第1視点画像においては、複数の被写体(被写体q1と被写体q2)の間で、遠近競合やオクルージョンが生じていない。
一方、図16(C)では、被写体q1からの光束は、第2瞳部分領域502を通過して、合焦状態で像p1に結像する。手前の被写体q2からの光束は、第2瞳部分領域502を通過して、デフォーカス状態で暈け像Γ2に広がり、撮像素子の各画素の副画素202で受光される。副画素202の受光信号から第2視点画像が生成される。第2視点画像では、被写体q1の像p1と手前の被写体q2の暈け像Γ2が重なって撮影される。第2視点画像においては、複数の被写体(被写体q1と被写体q2)の間で、遠近競合やオクルージョンが生じている。
図16の例は、撮影画像において遠近競合やオクルージョンが生じている領域近傍では、撮影画像を構成する第1視点画像と第2視点画像とで遠近競合やオクルージョンが生じている状態が異なる。よって第1視点画像と第2視点画像との差が大きくなる可能性が高いことを示している。したがって、複数の視点画像間の差が大きい領域を検出することにより、遠近競合やオクルージョンが発生している可能性が高い領域を推定できる。
図17は、本実施例の第1視点コントラスト分布C1(j,i)と第2視点コントラスト分布C2(j,i)との差分量分布C1(j,i)−C2(j,i)を例示する。図17に示す分布例では、右側の[−1,1]の範囲のグレースケール表示にて、第1視点画像のコントラストと第2視点画像のコントラストとの差(第1視点コントラスト分布と第2視点コントラスト分布の差分量)の大小の指標を表している。0近傍の黒い部分は、第1視点画像と第2視点画像のコントラスト差が小さい領域を示す。一方、±1近傍の白い部分は、第1視点画像と第2視点画像のコントラスト差が大きい領域を示す。
図17において、第1視点画像と第2視点画像のコントラスト差が大きい白い領域として、中央下部では、被写体(人形)の胴体と、市松模様の平板とで、遠近競合やオクルージョンを生じている領域が検出されている。また、遠近競合やオクルージョンが生じている領域以外に、デフォーカス状態の被写体エッジ部のように、高いコントラストが保たれたまま像ずれ量が大きい領域等が検出されている。この領域は第1視点画像と第2視点画像とで、空間周波数の高周波帯域成分が大きく変化している領域である。これらの検出領域では、第1視点画像と第2視点画像とで、空間周波数成分が大きく異なる被写体像が、それぞれ撮影されている。そのため、第1視点画像と第2視点画像とを合成した撮像画像にて、上記検出領域は、空間周波数成分が大きく異なる複数の被写体像が混成している、混成領域である。
空間周波数成分が異なる複数の被写体像の混成領域に対して、先鋭化や平滑化等の画像処理を強く行うと、画質品位が低下する可能性がある。そこで、本実施例では、第1視点コントラスト分布と第2視点コントラスト分布との差分量分布の絶対値|C1(j,i)−C2(j,i)|を用いて、空間周波数成分が異なる複数の被写体像の混成領域を検出する。検出された混成領域での先鋭化や平滑化等の画像処理を抑制して行うことにより、画質品位を良好に維持しつつ、先鋭化や平滑化の画像処理を行うことができる。
本実施例では、S2において、空間周波数成分が異なる複数被写体像の混成領域を検出する。そのために、第1視点コントラスト分布C1(j,i)と第2視点コントラスト分布C2(j,i)から、式(7A)により、コントラスト差分量分布CDIFF(j,i)が生成される。次に、式(7B)により、撮像コントラスト分布C(j,i)に、コントラスト差分量分布CDIFF(j,i)が乗算される。これにより、空間周波数成分が異なる複数の被写体像の混成領域での値を0近傍に抑制したコントラスト分布MCON(j,i)が生成される。
コントラスト差分量分布CDIFF(j,i)は、[0,1]の範囲の分布である。つまり視点画像間のコントラスト差が大きく、空間周波数成分が異なる被写体像の混成が多い領域では0の値に近づき、視点画像間のコントラスト差が小さく、空間周波数成分が異なる被写体像の混成が少ない領域では1の値に近づく分布である。コントラスト分布MCON(j,i)は、撮像コントラスト分布C(j,i)にコントラスト差分量分布CDIFF(j,i)を乗算した分布であるので、空間周波数成分が異なる複数の被写体像の混成領域での値を0近傍に抑制した分布である。
図18は本実施例のコントラスト分布MCON(j,i)の分布例を示す。図18に示す分布例では、右側の[0,1]の範囲のグレースケール表示にてコントラストの高低の指標を表している。1近傍の白い部分はx方向の空間周波数の高周波成分が多く、コントラストの高い領域を示し、0近傍の黒い部分はx方向の空間周波数の高周波成分が少なく、コントラストの低い領域を示している。図13に示した撮像コントラスト分布C(j,i)に対して、差分量分布の絶対値|C1(j,i)−C2(j,i)|が大きい領域ではコントラスト値が抑制されている。
本実施例では、コントラスト差分量分布CDIFF(j,i)として、第1視点コントラスト分布と第2視点コントラスト分布の差分量分布の絶対値|C1(j,i)−C2(j,i)|に対して単調減少する線形関数を用いた。必要に応じて、より一般的な関数を用いてもよい。
以上のように本実施例では、撮像画像と複数の視点画像から、視点画像ごとのコントラスト間の差に応じて、コントラスト分布MCON(j,i)を生成する処理が実行される。本実施例のコントラスト分布値は、視点画像ごとのコントラスト間の差が大きい領域よりも、コントラスト間の差が小さい領域の方が大きい。また、本実施例のコントラスト分布値は、所定の空間周波数帯域における撮像画像の空間周波数成分が少ない領域よりも、空間周波数成分が多い領域の方が大きい。また、本実施例のコントラスト分布値は、撮像画像の輝度が低い領域よりも、輝度が高い領域の方が大きい。
2回目以降の処理で、コントラスト分布MCON(j,i)の生成を省略し、処理時間を短縮することができる。そのために、生成されたコントラスト分布MCON(j,i)のデータを、記録される画像データと関連付けてフラッシュメモリ133等の記録媒体等に記録する処理が行われる。
図9のS3では、コントラスト分布MCON(j,i)の値が所定値以上である各位置(j,i)において、第1視点画像と第2視点画像から、第1視点画像と第2視点画像との相関(信号の一致度)に基づき、像ずれ量分布が生成される。なお、本実施例に限らず、コントラスト分布MCON(j,i)の値に関係なく各視点画像に基づき像ずれ量分布を生成してもよい。また、生成される分布情報として視差マップを表わす像ずれ量分布を例示するが、本発明を適用する上では当該分布情報に限らない。焦点ずれ量の分布を表わすデフォーカス量分布や、撮像装置と被写体との距離を表わす被写体距離分布でもよい。
S3では、まず、ベイヤー配列のRGB信号である第1視点画像I1から、式(3B)により生成された第1視点輝度信号Y1に対して、瞳分割方向(列方向)に、1次元バンドパスフィルタ処理が行われ、第1焦点検出信号dYAが生成される。また、第2視点画像I2から、式(3B)により生成された第2視点輝度信号Y2に対して、瞳分割方向(列方向)に、1次元バンドパスフィルタ処理が行われ、第2焦点検出信号dYBが生成される。1次元バンドパスフィルタとしては、例えば、1次微分型フィルタ[1,5,8,8,8,8,5,1,−1,−5,−8,−8,−8,−8,−5,−1]等を用いることができる。必要に応じて、1次元バンドパスフィルタの通過帯域を調整してもよい。
S3では、次に、コントラスト分布MCON(j,i)の値が所定値(例えば、0.2)以上である各位置(j,i)において、像ずれ量分布MDIS(j,i)が生成される。第1焦点検出信号dYAと第2焦点検出信号dYBを、相対的に瞳分割方向(列方向)にシフトさせて、信号の一致度を表す相関量を算出する処理が行われ、相関量に基づいて像ずれ量分布MDIS(j,i)が生成される。一方、コントラスト分布MCON(j,i)の値が所定値(例えば、0.2)未満である各位置(j,i)は、像ずれ量の算出から除外される。像ずれ量の検出を、高コントラストで、かつ、遠近競合やオクルージョンが生じていない領域に限定することにより、像ずれ量の検出精度を高くし、処理を高速化できる。
着目位置(j,i)を中心として、行方向j2(−n2≦j2≦n2)番目で、列方向i2(−m2≦i2≦m2)番目の第1焦点検出信号をdYA(j+j2、i+i2)とし、第2焦点検出信号をdYB(j+j2、i+i2)とする。シフト量をs(−ns≦s≦ns)とする。各位置(j,i)での相関量COREVEN(j,i、s)は、式(8A)により算出され、相関量CORODD(j,i、s)は、式(8B)により算出される。
相関量CORODD(j,i,s)は、相関量COREVEN(j,i,s)に対して、第1焦点検出信号dYAと第2焦点検出信号dYBのシフト量を半位相−1ずらした相関量である。相関量COREVEN(j,i,s)と相関量CORODD(j,i,s)から、それぞれ、サブピクセル演算により、相関量が最小値となる実数値のシフト量を算出して平均値を算出する演算が行われ、像ずれ量分布MDIS(j,i)が生成される。
コントラスト分布MCON(j,i)の値が所定値(例えば、0.2)未満であるために像ずれ量の算出から除外された領域については、MDIS(j,i)=0とする。必要に応じて、0以外の値を設定してもよい。
次に像ずれ量とF値の関係を説明するにあたり、まず、像ずれ量をデフォーカス量に変換するための変換係数について説明する。基線長は、所定瞳距離の瞳面上での第1瞳部分領域501と第2瞳部分領域502との重心間隔である。図10には基線長BL0、BL1、BL2、撮像素子の周辺像高における第1焦点検出画素201の第1瞳部分領域501、第2焦点検出画素202の第2瞳部分領域502、および撮像光学系の射出瞳400の関係を示す。
図10(A)は、撮像光学系の射出瞳距離Dlと撮像素子の設定瞳距離Dsが同じ場合を示す。この場合、第1瞳部分領域501と第2瞳部分領域502により、撮像光学系の射出瞳400が、概ね、均等に瞳分割される。射出瞳400内部における、それぞれ第1瞳部分領域501の重心と第2瞳部分領域502の重心との間隔である基線長をBL0で示す。この時、像ずれ量から検出デフォーカス量への換算に必要な変換係数Kは、K=Ds/BL0により求められる。
これに対して、図10(B)は撮像光学系の射出瞳距離Dlが撮像素子の設定瞳距離Dsより短い場合を示す。この場合、撮像素子の周辺像高では、撮像光学系の射出瞳と撮像素子の入射瞳の瞳ずれが生じ、撮像光学系の射出瞳400が不均一に瞳分割されてしまう。したがって、基線長は片側に偏ったBL1となり、それに伴い、変換係数(K1と記す)はK1=Ds/BL1に変化する。図10(C)は撮像光学系の射出瞳距離Dlが撮像素子の設定瞳距離Dsより長い場合を示す。この場合、撮像素子の周辺像高では、撮像光学系の射出瞳と撮像素子の入射瞳の瞳ずれが生じ、撮像光学系の射出瞳400が不均一に瞳分割されてしまう。したがって、基線長は、図10(B)と反対側に偏ったBL2となり、それに伴い、変換係数(K2と記す)はK2=Ds/BL2に変化する。
このように、像ずれ量から検出デフォーカス量への変換係数は撮像光学系の絞り値と射出瞳距離、撮像素子の瞳強度分布(光学特性)、および像高に応じて変化することがわかる。
次に、前述のシフト量範囲である検出範囲を撮影条件に応じて変更する処理を説明する。検出するデフォーカス量の最小値と最大値をそれぞれdefmin,defmaxと表記する。像ずれ量からデフォーカス量への変換係数をKと表記すると、像ずれ量分布の検出範囲の最小値DISminと最大値DISmaxはそれぞれ下記式から求まる。
DISmin=defmin/K
DISmax=defmax/K
検出する距離範囲の最大値と最小値をそれぞれDSTmin,DSTmaxと表記し、変換係数をKと表記し、横倍率mと表記する。像ずれ量分布の検出範囲の最小値をDISmin2と表記し、最大値をDISmax2と表記する。これらは下記式から求まる。「^」はべき乗を表わす。
DISmin2=(DSTmin/m^2)/K
DISmax2=(DSTmax/m^2)/K
上式により像ずれ量分布の検出範囲が決定される。例えば人物の顔や体の大きさに応じて検出範囲を変更可能であり、撮影条件から判る被写体距離に応じて検出範囲を変更可能である。被写体に応じて適切に像ずれ量分布を算出できるので、被写体に対して適切な画像処理を行うことができる。
次に像ずれ量と被写体距離について説明する。像ずれ量sを変換係数Kによりデフォーカス量(s×K)に変換した場合、デフォーカス量と被写体距離Lとの関係は下記式のようになる。
L=s×K×m2
上式中のmは横倍率であり、m2は縦倍率である。つまり、同一像ずれ量を実距離に換算する場合には、被写体距離Lは縦倍率m2と変換係数Kに比例する。前述の画像処理を行う際に、像ずれ量を計算する範囲が同じである場合には横倍率mに応じて実距離が異なるため、画像処理を行う範囲が異なる。
以上から、像ずれ量分布を生成する際の像ずれ量の検出範囲をF値、結像光学系の射出瞳距離、像高、被写体距離、横倍率に応じて変更することで、被写体に応じた適切な範囲で前述の画像処理を行うことができる。撮影条件に応じて像ずれ量分布の検出範囲を変更する処理については、S3の像ずれ量分布の生成のサブフローチャートを参照して後述する。
図19は本実施例の像ずれ量分布MDIS(j,i)の分布例を示す。右側に所定範囲のグレースケール表示を示す。図19の分布例では、コントラスト分布MCON(j,i)の値が所定値0.2以上で像ずれ量が算出されている領域について、グレースケール表示にて、第1視点画像と第2視点画像との像ずれ量を1ピクセル(1画素)単位で表している。マイナス(−)符号の黒側の部分は、前ピン状態の領域を示し、0付近が合焦近傍の領域を示し、プラス(+)符号の白側の部分は、後ピン状態の領域を示している。また、図19の分布例では、コントラスト分布MCON(j,i)の値が所定値0.2未満で、像ずれ量の算出から除外され、MDIS(j,i)=0と設定された領域に関しては、黒色で表示している。
以上のように本実施例では、複数の視点画像から、像ずれ量分布MDIS(j,i)が生成されるが、2回目以降の処理では像ずれ量分布MDIS(j,i)の生成を省略し、処理時間を短縮することができる。そのために、生成された像ずれ量分布MDIS(j,i)のデータは、記録される画像データと関連付けてフラッシュメモリ133等の記録媒体等に記録する処理が行われる。
必要に応じて、像ずれ量分布をデフォーカス量分布に変換することもできる。像ずれ量分布MDIS(j,i)に対し、位置(j,i)と撮像レンズ(結像光学系)の絞り値、射出瞳距離等に応じた変換係数を乗算すればよい。
図9のS4では、像ずれ量分布MDIS(j,i)と所定の像ずれ量から、像ずれ差分量分布MDIFF(j,i)を生成する処理が行われる。まず、本実施例のリフォーカス処理により修正を行う対象となる像ずれ量が、所定像ずれ量(pと記す)として設定される。例えば、図19の像ずれ量分布MDISの例では、目近傍の領域での像ずれ量は約2.5である。リフォーカス処理により、被写体(人形)の目近傍の領域での像ずれ量を、概ね0に微修正する場合には、所定像ずれ量pは2.5に設定される。
S4において、次に、像ずれ差分量分布MDIFF(j,i)が式(9)により算出される。式(9)中、σp>0であり、像ずれ量分布MDIS(j,i)、所定像ずれ量p、コントラスト分布MCON(j,i)から像ずれ差分量分布MDIFF(j,i)が算出される。
像ずれ差分量分布MDIFF(j,i)は、像ずれ量分布MDIS(j,i)と所定像ずれ量pとの差分の絶対値|MDIS(j,i)−p|に対して単調減少する線形関数と、コントラスト分布MCON(j,i)とを、乗算した分布である。像ずれ差分量分布MDIFF(j,i)は、|MDIS(j,i)−p|<σpで正、|MDIS(j,i)−p|=σpで0、|MDIS(j,i)−p|>σpで負となる。なお、コントラスト分布MCON(j,i)の値が所定値(例えば、0.2)未満であるために像ずれ量の算出から除外された領域については、MDIFF(j,i)=(1−|p|/σp)×MCON(j,i)とする。必要に応じて、他の値を設定してもよい。
図20は本実施例の像ずれ差分量分布MDIFF(j,i)の分布例を示す。コントラスト分布MCONの値が所定値0.2以上で、像ずれ量が算出されている領域については、右側の[−1,1]の範囲のグレースケール表示にて、像ずれ差分量を示している。プラス(+)符号の白側の部分は、像ずれ量分布MDIS(j,i)と所定像ずれ量pとの差分の絶対値|MDIS(j,i)−p|が小さく、かつ、コントラストが高い領域を示している。マイナス(−)符号の黒側の部分は、像ずれ量分布MDIS(j,i)と所定像ずれ量pとの差分の絶対値|MDIS(j,i)−p|が大きく、かつ、コントラストが高い領域を示している。また図20の分布例では、コントラスト分布MCON(j,i)の値が所定値0.2未満で、像ずれ量の算出から除外され、MDIFF(j,i)=(1−|p|/σp)×MCON(j,i)と設定された領域に関しては、黒色で表示している。
図9のS5では、複数の視点画像に対して第1の先鋭化および第1の平滑化の処理が行われる。第1視点画像と第2視点画像に対して、像ずれ差分量分布MDIFF(j,i)に応じて、第1の先鋭化および第1の平滑化の処理を行うことで、第1修正視点画像と第2修正視点画像が生成される。
本実施例では、複数の視点画像に対して、像ずれ差分量分布が0以上(MDIFF(j,i)≧0)の領域にて、視点画像間の差を拡大して視差を先鋭化する(クロストーク補正および先鋭化)処理が行われる。この処理を、以下では第1の先鋭化処理という。一方、像ずれ差分量分布が0未満(MDIFF(j,i)<0)の領域では、視点画像間の差を縮小して視差を平滑化する(クロストーク補正および平滑化)処理が行われる。この処理を、以下では第1の平滑化処理という。第1の先鋭化処理および第1の平滑化処理を行うことで、複数の修正視点画像が生成される。
図9のS5において、まず、第1視点画像と第2視点画像に対して、第1の先鋭化処理または第1の平滑化処理の強さを指定する第1の強度パラメータkctが設定される。kct≧0とする。次に、第1の強度パラメータ分布Kct(j,i)が式(10)により設定される。第1の強度パラメータ分布Kct(j,i)は、kctを比例係数として、像ずれ差分量分布MDIFF(j,i)に比例する。
S5において、次に、第1視点画像I1(j,i)と第2視点画像I2(j,i)に対して、式(11A)、および、式(11B)の処理を行い、第1修正視点画像MI1(j,i)と第2修正視点画像MI2(j,i)が生成される。
式(11A)は、第1の強度パラメータ分布(像ずれ差分量分布)が0以上(Kct(j,i)=kct×MDIFF(j,i)≧0)の領域で行われる第1の先鋭化処理を表わす。式(11B)は、第1の強度パラメータ分布(像ずれ差分量分布)が0未満(Kct(j,i)=kct×MDIFF(j,i)<0)の領域で行われる第1の平滑化処理を表わす。
図21は、第1視点画像と第2視点画像に対する第1の先鋭化処理例をグラフで示す図である。横軸は画素位置を表し、縦軸は画素値(信号レベル)を表す。図21では、第1の先鋭化処理前の第1視点画像(修正前A)と第2視点画像(修正前B)の例を、破線のグラフで示す。また、式(11A)による第1の先鋭化処理後の第1修正視点画像(修正後A)と第2修正視点画像(修正後B)の例を、実線のグラフで示す。第1の先鋭化処理により、処理前に視点画像間の差が大きい部分は、より拡大されるが、処理前に視点画像間の差が小さい部分はあまり変化しない。このように、視点画像間の視差が先鋭化されることがわかる。一方、式(11B)による第1の平滑化処理では、第1視点画像と第2視点画像との差が縮小され、視点画像間の視差が平滑化される。
以上のように本実施例では、複数の視点画像に対して、コントラスト分布および像ずれ量に対応する分布情報に応じた先鋭化および平滑化の画像処理を行う。コントラスト分布および像ずれ量分布に対応する分布情報に応じた画像処理は、必要に応じて、先鋭化の処理、平滑化の処理、または両処理を組み合わせた処理のいずれでもよい。
式(7A)、式(7B)、式(9)、式(10)、式(11A)、式(11B)により、視点画像ごとのコントラスト間の差が大きい領域よりもコントラスト間の差が小さい領域の方が、各視点画像への先鋭化や平滑化等の画像処理が強く行われる。また、コントラスト分布が、小さい領域より、大きい領域の方が、各視点画像への先鋭化や平滑化等の画像処理が強く行われる。
式(9)、式(10)、式(11A)、式(11B)により、像ずれ量分布の所定シフト量(基準)からの差が小さい領域には先鋭化の処理が行われ、差が大きい領域には平滑化の処理が行われる。式(9)、式(10)、式(11A)により、像ずれ量分布の所定シフト量からの差が大きい領域に比べて、差が小さい領域の方が、先鋭化の処理が強く行われる。また式(9)、式(10)、式(11B)により、像ずれ量分布の所定シフト量からの差が小さい領域に比べて、差が大きい領域の方が、平滑化の処理が強く行われる。
式(11A)および式(11B)により、複数の視点画像の画素ごとに、複数の視点画像間の差を拡大して視差を先鋭化する処理、または、複数の視点画像間の差を縮小して視差を平滑化する処理が行われ、複数の修正視点画像が生成される。式(11A)の第1の先鋭化処理、および式(11B)の第1の平滑化処理は、各画素に含まれる第1光電変換部の出力信号である第1視点画像I1(j,i)と、第2光電変換部の出力信号である第2視点画像I2(j,i)間の演算処理である。
図9のS6では、所定領域において被写界深度を微修正するために、修正視点画像ごとの重み係数が設定される。S6において、まず、被写界深度の再修正を行う対象となる所定領域R=[j1,j2]×[i1,i2]、および、所定領域の境界幅σが設定される。式(12)により、所定領域Rと所定領域の境界幅σに応じたテーブル関数T(j,i)が算出される。
テーブル関数T(j,i)の値は、所定領域Rの内側で1であり、所定領域Rの外側で0となり、所定領域Rの境界幅σで、概ね、1から0へ連続的に変化する。必要に応じて、所定領域は、円形や、その他の任意の形状としてもよい。また、必要に応じて、複数の所定領域および境界幅を設定してもよい。
S6において、次に各修正視点画像の重み係数分布が算出される。実係数w(−1≦w≦1)として、第1修正視点画像MI1(j,i)の第1重み係数分布W1(j,i)は式(13A)により算出され、第2修正視点画像MI2(j,i)の第2重み係数分布W2(j,i)は式(13B)により算出される。
所定領域において、第1修正視点画像MI1(j,i)の加算比率を上げて、被写界深度を修正する場合には、−1≦w<0の範囲で設定が行われる。第2修正視点画像MI2(j,i)の加算比率を上げて、被写界深度を修正する場合には、0<w≦1の範囲で設定が行われる。w=0に設定して、W1≡W2≡1とし、被写界深度を修正しない場合もある。
図9のS7では、修正視点画像ごとに重み係数を乗算して、瞳分割方向(x方向)に沿って相対的にシフトして加算する処理(シフト合成処理)が行われる。この処理では、複数の視点画像による合成画像である中間画像が生成される。
図22は、第1修正視点画像MI1(j,i)と第2修正視点画像MI2(j,i)に対する、瞳分割方向(x方向)のシフト合成処理によるリフォーカスについて概要を示す説明図である。図22では、紙面の上下方向に設定されるx軸として、下方をx軸の正方向と定義し、紙面に垂直な方向に設定されるy軸として、手前側をy軸の正方向と定義する。紙面の左右方向に設定されるz軸として、左方をz軸の正方向と定義する。図22の撮像面600は、図7、図8、図16に示した撮像面600に対応している。
図22では、第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)と第2修正視点画像MI2(j,i)は、光強度分布情報だけでなく、入射角度情報も有している。したがって、下記の第1および第2の処理によって仮想結像面610でのリフォーカス画像を生成することができる。
・第1の処理(平行移動処理)
第1修正視点画像MI1(j,i)を主光線角度θ1に沿って仮想結像面610まで平行移動させ、第2修正視点画像MI2(j,i)を主光線角度θ2に沿って仮想結像面610まで平行移動させる処理。
・第2の処理(加算処理)
第1の処理によってそれぞれ平行移動させた第1修正視点画像MI1(j,i)と第2修正視点画像MI2(j,i)を加算する処理。
第1修正視点画像MI1(j,i)を主光線角度θ1に沿って仮想結像面610まで平行移動させることは、列方向への−1画素分のシフトに対応する。また、第2修正視点画像MI2(j,i)を主光線角度θ2に沿って仮想結像面610まで平行移動させることは、列方向への+1画素分のシフトに対応する。したがって第1修正視点画像MI1(j,i)と第2修正視点画像MI2(j,i)を相対的に+2画素分シフトさせ、MI1(j,i)とMI2(j,i+2)を対応させて加算することで、仮想結像面610でのリフォーカス信号を生成できる。
図9のS7において、仮想結像面でのリフォーカス画像であるシフト合成画像が生成される。所定像ずれ量pに最も近い偶数をpeと表記する。peについては、ROUNDを四捨五入の関数として、pe=2×ROUND(p/2)により算出される。第1修正視点画像MI1(j,i)と第2修正視点画像MI2(j,i)に対して、式(14)により、シフト合成画像IS(j,i)が生成される。
式(14)では、シフト加算と同時に、式(13A)の第1重み係数分布W1(j,i)を第1修正視点画像MI1(j,i)に乗算し、式(13B)の第2重み係数分布W2(j,i)を第2修正視点画像MI2(j,i)に乗算する演算を示す。これにより、所定領域での被写界深度を修正することができる。被写界深度を修正しない場合には、W1≡W2≡1と設定すればよい。複数の視差画像ごとに重み係数を乗算してシフト合成処理を行うことで、複数の視点画像による合成画像である中間画像が生成される。
第1修正視点画像MI1(j,i)と第2修正視点画像MI2(j,i)のシフト合成処理は、偶数シフトや加算処理に限定されない。必要に応じて、実数シフトや、より一般的な合成処理を用いてもよい。また、必要に応じて、後述する図9のS8の処理を省略することもできる。式(14)により複数の修正視点画像をシフト加算して生成されるシフト合成画像IS(j,i)を出力画像としてもよい。
本実施例では、式(14)により生成されるシフト合成画像IS(j,i)の画素数を、撮像画像の画素数Nと同数に保つための処理を予め行う。この処理は、第2修正視点画像MI2(j,i)の瞳分割方向(x方向)の終端部分に対して、データ長を拡大する終端処理を行う。pe>0の場合、最小列番号をiminとして、終端の列番号ie(imin≦ie≦imin+pe−1)に対して、式(15A)により終端処理が行われる。pe<0の場合、最大列番号をimaxとして、終端の列番号ie(imax+pe+1≦ie≦imax)に対して、式(15B)により終端処理が行われる。本実施例では、複数の修正視点画像の画像サイズを拡張する処理を行う。
図23の概略図を参照して、本実施例でのシフト合成処理によるリフォーカス可能範囲について説明する。撮像面600には撮像素子(不図示)が配置される。図4、図7、図8の場合と同様に、結像光学系の射出瞳が、第1瞳部分領域501と第2瞳部分領域502に2分割される。
許容錯乱円径をδと表記し、結像光学系の絞り値をFと表記する。絞り値Fでの焦点深度は、±F×δである。これに対して、Nx×Ny=2×1に分割されて狭くなった瞳部分領域501(または502)の瞳分割方向(x方向)の実効絞り値F01(またはF02)は、F01=Nx×F(またはF02=Nx×F)となって暗くなる。第1修正視点画像(または第2修正視点画像)ごとの実効的な焦点深度は、±Nx×F×δで、Nx倍深くなり、合焦範囲がNx倍に広がる。実効的な焦点深度「±Nx×F×δ」の範囲内では、第1修正視点画像(または第2修正視点画像)ごとに合焦した被写体像が取得されている。よって、図22に示した主光線角度θ1(またはθ2)に沿って第1修正視点画像(または第2修正視点画像)を平行移動させて加算する処理により、撮影後に、合焦位置のリフォーカスを行うことができる。
撮影後に合焦位置をリフォーカス可能な撮像面600からのデフォーカス量dは限定される。デフォーカス量dのリフォーカス可能範囲は、概ね、式(16)の範囲である。許容錯乱円径δは、δ=2・ΔX(画素周期ΔXのナイキスト周波数1/(2・ΔX)の逆数)等で規定される。
しかしながら、図6の瞳強度分布例に示したように、画素部ごとに形成される直径数μmのマイクロレンズと複数に分割された光電変換部による瞳分割では、光の波動性による回折暈けのために、緩やかな瞳分割となる。そのため、第1視点画像と第2視点画像の瞳分割方向(x方向)の焦点深度が十分に深くならず、第1視点画像と第2視点画像を用いてリフォーカス画像を生成しても、リフォーカス効果が十分に得られない場合がある。
そこで本実施例では、シフト合成処理によるリフォーカスにて、複数の視点画像に対し、第1の強度パラメータ分布(像ずれ差分量分布)が0以上(Kct(j,i)=kct×MDIFF(j,i)≧0)の画素ごとに、第1の先鋭化処理を行う。式(11A)により、第1視点画像と第2視点画像との差を拡大して視差を先鋭化する処理が実行され、第1修正視点画像と第2修正視点画像が生成される。これにより、複数の修正視点画像の瞳分割方向(x方向)の実効的な絞り値Fを大きくし、焦点深度を深く修正することができ、リフォーカス効果を向上させることができる。
図24を参照して、シフト合成処理によるリフォーカスにおける、第1の先鋭化処理の効果を説明する。図24(A)は、従来例における第1の先鋭化処理前の第1視点画像と第2視点画像とのシフト合成処理によるリフォーカス画像例を示す。これは、瞳分割が緩やかで、第1視点画像と第2視点画像(複数の視点画像)の瞳分割方向(x方向)の焦点深度が十分に深くない例である。被写体(人形)の右目よりも、後ろに焦点が合った後ピン状態の撮像画像に対し、シフト合成処理によるリフォーカスが行われている。しかし、被写体(人形)の右目や、まつ毛、髪の毛等が小暈け状態のままで、十分なリフォーカス効果が得られていない。これに対し、図24(B)は、本実施例における第1の先鋭化処理後の第1修正視点画像と第2修正視点画像とのシフト合成処理によるリフォーカス画像例を示す。これは、第1の先鋭化処理により、第1修正視点画像と第2修正視点画像の瞳分割方向(x方向)の実効的な絞り値Fが大きく、焦点深度が深く修正された例である。シフト合成処理によるリフォーカスが行われ、撮影後に、被写体(人形)の右目や、まつ毛、髪の毛等に合わせてフォーカス位置が再修正され、リフォーカス効果が向上していることがわかる。
また、本実施例では、Nx=2、Ny=1、NLF=2であり、瞳分割数が少なく、視点画像数が少ない。このような場合、シフト合成処理によるリフォーカスにおいて、暈け量(像ずれ量)を増加させる領域で、人工的な2線暈けが生じて被写体の境界が2重となり、画像品位が低下する可能性がある。
そこで本実施例では、シフト合成処理によるリフォーカスにおいて、第1視点画像と第2視点画像に対し、第1の平滑化処理を行い、第1修正視点画像と第2修正視点画像を生成する。第1の強度パラメータ分布(像ずれ差分量分布)が0未満(Kct(j,i)=kct×MDIFF(j,i)<0)の画素ごとに、式(11B)による第1の平滑化処理が実行される。第1視点画像と第2視点画像との差を縮小して視差を平滑化する処理(クロストーク補正、平滑化)によって第1修正視点画像と第2修正視点画像が生成される。これにより、暈け量(像ずれ量)を増加させる領域で、人工的な2線暈けの発生を抑制し、画質品位を良好に維持して、シフト合成処理によるリフォーカスを行うことができる。
図9のS8では、複数の修正視点画像から生成されたシフト合成画像(中間画像)に対して、像ずれ差分量分布MDIFF(j,i)に応じた先鋭化処理および平滑化処理が行われる。以下では、シフト合成画像に対する先鋭化処理、平滑化処理をそれぞれ、第2の先鋭化処理、第2の平滑化処理という。これらの処理によって、撮影後に、先鋭度の高い領域と暈け度合いの高い領域を適応的に制御するシャープ/アンシャープ制御された出力画像を生成することができる。本実施例では、シフト合成画像IS(j,i)に対して、像ずれ差分量分布が0以上(MDIFF(j,i)≧0)の領域では、第2の先鋭化処理が行われる。一方、像ずれ差分量分布が0未満(MDIFF(j,i)<0)の領域では、第2の平滑化処理が行われる。
図9のS8において、まず、シフト合成画像IS(j,i)に対して、第2の先鋭化処理または第2の平滑化処理の強さを指定する第2の強度パラメータkUSMを設定する処理が行われる。kUSM≧0とする。次にアンシャープマスクIUSM(j,i)の算出処理が行われる。2次元ローパスフィルタ{FLPF(jLPF,iLPF)|−nLPF≦jLPF≦nLPF、−mLPF≦iLPF≦mLPF}を、シフト合成画像IS(j,i)に作用させ、式(17)により、IUSM(j,i)が算出される。2次元ローパスフィルタFLPF(jLPF,iLPF)には、例えば、t[1,0,2,0,1]×[1,0,2,0,1]等の2次元フィルタを用いることができる。必要に応じて、2次元ガウシアン分布等を用いてもよい。
S8において、最後に、出力画像であるリフォーカス画像IRF(j,i)が生成される。シフト合成画像IS(j,i)に対して、式(18)により、像ずれ差分量分布MDIFF(j,i)に応じて、アンシャープマスクIUSM(j,i)を作用させて、第2の先鋭化処理、または第2の平滑化処理が行われる。第2の先鋭化処理と第2の平滑化処理とでは、IUSM(j,i)にかかる係数の符号が異なる。
第2の先鋭化処理の場合、式(18)にて、像ずれ差分量分布が0以上(MDIFF(j,i)≧0)の領域では、正係数kUSM×MDIFF(j,i)が乗算されたアンシャープマスクIUSM(j,i)を用いる。この場合には、シフト合成画像IS(j,i)を、像ずれ差分量分布MDIFF(j,i)の大きさに応じて先鋭化する処理が行われる。一方、第2の平滑化処理の場合、式(18)にて、像ずれ差分量分布が0未満(MDIFF(j,i)<0)の領域では、負係数kUSM×MDIFF(j,i)が乗算されたアンシャープマスクIUSM(j,i)を用いる。この場合には、シフト合成画像IS(j,i)を、像ずれ差分量分布MDIFF(j,i)の大きさに応じて平滑化する処理が行われる。
シフト合成処理によるリフォーカスでは、LFデータを用いて光学的な原理に基づいたリフォーカスを行うことができる。シフト合成処理によるリフォーカスは、像ずれ差分量分布を検出できない領域に対しても、処理を行うことができる利点がある。しかしながら、本実施例(Nx=2、Ny=1、NLF=2)の瞳分割では、瞳分割方向が1方向のみである。瞳分割方向が1方向のみである場合、瞳分割方向のx方向(またはy方向)にはリフォーカス効果が得られるが、瞳分割方向と直交するy方向(またはx方向)には、リフォーカス効果が十分に得られない可能性がある。一方、像ずれ差分量分布に応じた先鋭化と平滑化によるリフォーカスでは、瞳分割方向に関係なくリフォーカス効果を得ることができる。本実施例では、シフト合成処理によるリフォーカスと、像ずれ差分量分布に応じた先鋭化と平滑化によるリフォーカスとを組み合わせたリフォーカス処理を行う。これにより、瞳分割方向と直交する方向に対しても、リフォーカス効果を得ることができる。
以上のように本実施例では、複数の修正視点画像から生成される合成画像IS(j,i)に、コントラスト分布および像ずれ量分布に応じた画像処理、つまり先鋭化処理および平滑化処理を行って出力画像を生成する。
必要に応じて、シフト合成処理によるリフォーカスである図9のS5、S6、S7の処理を省略することも可能である。この場合、撮像画像I(j,i)に対し、コントラスト分布および像ずれ量分布に応じた先鋭化および平滑化の画像処理が行われて出力画像が生成される。コントラスト分布および像ずれ量分布に応じた画像処理については、必要に応じて、先鋭化処理もしくは平滑化処理、またはこれらを組み合わせた処理を行ってもよい。
本実施例では、式(7A)、式(7B)、式(9)、式(17)、および式(18)により、複数の修正視点画像の合成画像(または撮像画像)への先鋭化や平滑化等の画像処理が行われる。その際、視点画像ごとのコントラスト間の差が大きい領域に比べて、コントラスト間の差が小さい領域の方が、合成画像(または撮像画像)への先鋭化や平滑化等の画像処理が強く行われる。また、コントラスト分布が、小さい領域に比べて、大きい領域の方が、複数の修正視点画像の合成画像(または撮像画像)への先鋭化や平滑化等の画像処理が強く行われる。
本実施例では、式(9)、式(17)、および式(18)により、像ずれ量分布の所定シフト量(基準)からの差が小さい領域にて先鋭化処理が行われ、差が大きい領域にて平滑化処理が行われる。本実施例では、式(9)、式(17)、および式(18)により、像ずれ量分布の所定シフト量からの差が大きい領域に比べて、差が小さい領域の方が、先鋭化処理が強く行われる。また本実施例では、式(9)、式(17)、および式(18)により、像ずれ量分布の所定シフト量からの差が小さい領域に比べて、差が大きい領域の方が、平滑化処理が強く行われる。
次に図25を参照して、図9のS3(像ずれ量分布の生成)に関する処理を説明する。図25は、図9のメインフローチャートに示すS3の処理例を示すサブフローチャートである。以下の処理はCPU121が実行するプログラムにしたがって実現される。
S101では入力画像の撮影条件を取得する処理が行われる。入力画像には画像の他にヘッダ情報が付随する。ヘッダ情報の中から撮影F値、撮影レンズ、AF枠位置の情報が取得されて、S102へ進む。S102では像ずれ量分布として検出するデフォーカス量を設定する処理が行われる。デフォーカス量の設定については、絞り値Fと許容錯乱円径δ(例えば画素ピッチの2.2倍)から焦点深度±Fδの倍数で指定される。像ずれ量分布は焦点深度内だけでなく、焦点深度外についても検出されて後段の画像処理に適用されるので、焦点深度以上(例えば、±5Fδ〜±10Fδ)の範囲で検出される。検出するデフォーカス量の範囲設定後にS103へ進む。
S103では、撮影条件に応じたデフォーカス変換係数の選択処理が行われる。デフォーカス変換係数は予めテーブルデータとして撮像装置内の記憶部に保持されるか、または入力画像ファイルのヘッダ情報として保持される。画像処理回路または撮像装置とは異なる画像処理装置にデフォーカス変換係数のデータを記憶してもよい。本実施形態では、デフォーカス変換係数のデータはF値、像高、射出瞳距離ごとに値が保持されるものとする。しかし本発明はこれに限らず、焦点距離及び被写体距離、F値、像高(あるいはAF枠位置)、射出瞳距離(レンズとセンサ情報)のうち少なくとも1つに基づいて値が保持されていればよい。撮影条件の読込によって、F値とレンズ情報、焦点距離、被写体距離、AF枠位置、F値、像高、射出瞳距離の情報が取得され、デフォーカス変換係数が選択されると、S104へ進む。なお、デフォーカス変換係数のデータをF値、像高、射出瞳距離ごとに保持することは例示であり、F値、像高、射出瞳距離以外の項目で変換係数値を保持してもよい。または、F値、像高、射出瞳距離のうちいずれか1つの項目ごとに変換係数値を保持してもよい。
具体的な撮影条件に応じた検出範囲(シフト量)の変更について説明する。
撮影条件をF値とした場合を考える。F値が小さい場合には、前述の基線長が大きいことによりデフォーカス変換係数が小さくなる。よってデフォーカス範囲や被写体距離範囲を適切に設定するためには検出範囲(シフト量)を大きくする必要がある。以上からF値が小さいほど検出範囲(シフト量)を大きくする処理が行われる。具体的にはF値が小さくなるに従って、段階的に検出範囲(シフト量)が大きく設定される。
また、撮影条件をAF枠の位置(撮像面上の座標)あるいは像高とした場合を考える。AF枠位置が像高の高い周辺像高である場合には、前述の説明のように瞳ずれが生じ、基線長が小さくなることでデフォーカス変換係数が大きくなる。よってデフォーカス範囲や被写体距離範囲を適切に設定するためには検出範囲(シフト量)を小さくする必要がある。以上からAF枠位置の像高が高くなるに従って段階的に検出範囲(シフト量)を小さくしてもよいことになる。
次に撮影条件がレンズの光学特性に対応するレンズID(識別情報)である場合を考える。撮像光学系である交換レンズを着脱可能なシステムである場合、レンズの光学特性が変わると適切な検出範囲も変化するので、レンズの光学特性に応じて変更する必要がある。具体的には交換レンズとの通信に基づいて装着されているレンズのIDを取得すると射出瞳距離がわかり、該射出瞳距離と撮像素子107の設定瞳距離との差がわかる。この差が大きいほど瞳ずれが大きいため、検出範囲は小さくてもよいことになる。従って、本実施形態では、レンズIDに対応する射出瞳距離と、撮像素子107の設定瞳距離との差に基づいて検出範囲が変更される。
撮影条件が焦点距離および被写体距離である場合を考える。前述のデフォーカス量と被写体距離、横倍率の関係により、被写体距離Lはデフォーカス量×縦倍率(横倍率の2乗)に比例する。このため、検出範囲(シフト量)を一定とした場合には被写体が近距離である場合には検出可能な実距離範囲が狭く、被写体が遠距離である場合には検出可能な実距離範囲が広い。以上から焦点距離、被写体距離から求まる横倍率が小さいほど検出範囲(シフト量)を大きくする必要がある。
以上のように、本実施形態では、様々な撮影条件に基づき検出範囲(シフト量)を適宜設定することが可能である。これらの撮影条件は組み合わせて考慮してもよく、本発明では、少なくとも1つの撮影条件が満たされていればよい。
S104でCPU121は、検出する像ずれ量分布の範囲を算出した後、S105へ進む。S105では、S104で決定された検出範囲(シフト量)で、像ずれ量分布の演算が行われる。像ずれ量分布の生成処理が完了すると、図9のメインフローチャートの処理に戻る。
次に本実施例の効果について説明する。
遠近競合やオクルージョンを生じている領域等、空間周波数成分が大きく異なる複数の被写体像が混成している領域(混成領域)に、先鋭化や平滑化等の画像処理を強く行うと、画質品位が低下する可能性がある。
本実施例では、以下の処理を実行する。
(1)混成領域の検出処理。
第1視点コントラスト分布C1(j,i)と第2視点コントラスト分布C2(j,i)から、式(7A)により、コントラスト差分量分布CDIFF(j,i)を生成し、混成領域が検出される。コントラスト差分量分布CDIFF(j,i)は、[0,1]の範囲の分布であり、視点画像間のコントラスト差が大きく、空間周波数成分が異なる被写体像の混成が多い領域では0の値に近づく。また視点画像間のコントラスト差が小さく、空間周波数成分が異なる被写体像の混成が少ない領域では1の値に近づく。
(2)コントラスト分布MCON(j,i)の生成処理。
これは、生成されたコントラスト差分量分布CDIFF(j,i)を、式(7B)により、複数の視点画像から得られる合成画像のコントラスト分布である撮像コントラスト分布C(j,i)に乗算する処理である。混成領域での値を0近傍に抑制したコントラスト分布MCON(j,i)が生成される。
(3)先鋭化や平滑化の画像処理。
生成されたコントラスト分布MCON(j,i)に基づき、複数の視点画像や、これらの合成画像に対して、空間周波数成分が異なる被写体像の混成が多い領域では、先鋭化や平滑化の画像処理が処理強度を相対的に弱めて実行される。また空間周波数成分が異なる被写体像の混成が少ない領域では、先鋭化や平滑化の画像処理が処理強度を相対的に強めて実行される。
したがって、本実施例では、(1)から(3)の処理により、画質品位を良好に維持しつつ、先鋭化や平滑化の画像処理を行うことができる。
また、低輝度領域に先鋭化や平滑化等の画像処理を強く行うと、画質品位が低下する可能性がある。本実施例では、式(6A)の1行目、および、式(7B)に示すように、輝度値が低輝度閾値Yminより小さい場合、コントラスト分布MCON(j,i)の値がゼロに設定される。よって、コントラスト分布MCON(j,i)は、撮像画像の輝度が高い領域の方が、輝度が低い領域よりもコントラストが高い。低輝度領域での画質品位を良好に維持するためには、コントラスト分布MCON(j,i)に基づき、複数の視点画像や、これらの合成画像に対して、以下の処理が実行される。
・輝度値が低輝度閾値Yminより小さい領域では、先鋭化や平滑化等の画像処理が処理強度を相対的に弱めて実行される。
・輝度値が低輝度閾値Ymin以上である領域では、先鋭化や平滑化等の画像処理が処理強度を相対的に強めて実行される。
本実施例の画像処理方法では、結像光学系の異なる瞳部分領域を通過する光束を受光する複数の光電変換部を備える撮像素子により取得される入力画像から、異なる瞳部分領域ごとに複数の視点画像が生成される。撮像画像と複数の視点画像からコントラスト分布が生成され、複数の視点画像から像ずれ量分布が生成される。像ずれ量分布の生成処理では、入力画像の撮影条件と、異なる瞳部分領域の重心間隔である基線長に関する係数を用いて像ずれ量の検出範囲が設定され、複数の視点画像から検出範囲の像ずれ量分布が生成される。撮像画像、複数の視点画像、または合成画像に対して、像ずれ量分布に応じた画像処理が実行されて出力画像が生成される。本実施例によれば、画質品位を良好に維持しつつ、画像処理を行うことができる。
[第2実施例]
次に、本発明の第2実施例を説明する。なお、第1実施例の場合と同様の構成要素については既に使用した符号を用いることで、それらの詳細な説明を省略し、相違点を中心に説明する。このような説明の省略の仕方については後述の実施例でも同じである。
本実施例では、像ずれ量分布の生成の際に被写体距離、被写体のサイズに応じて像ずれ量分布の検出範囲を変更する。撮像装置により取得されたLFデータ(入力画像)から、撮像画像に対して、撮影後に像ずれ量分布を生成する際に被写体距離、被写体のサイズに応じて像ずれ量分布の検出範囲を変更する処理について図26を用いて説明する。
本実施例では、図9のメインフローチャートにおいての像ずれ量分布の生成処理S30のみ異なる。図26のサブフローチャートを参照して、像ずれ量分布の生成処理について説明する。S201で入力画像の撮影条件を取得する処理が行われる。入力画像には画像情報に関連するヘッダ情報が付随する。ヘッダ情報中でAF枠の物体距離から被写体距離、AF枠のサイズから被写体サイズ(例えば顔枠の縦横の画素数)が取得され、焦点距離等の情報が取得されてS202へ進む。
S202では像ずれ量分布として検出する距離範囲が設定される。距離範囲については、S201で取得された被写体距離を中心として、被写体サイズから検出距離範囲が設定される。例えば、被写体サイズとして顔枠の縦横の画素数が取得された場合には被写体距離と焦点距離から横倍率mが算出され、顔の縦横の大きさが算出される。その大きさに被写体距離を加算した値が像ずれ量分布の距離範囲の最大値として設定される。
S203では検出するデフォーカス範囲の計算が行われる。S204では撮影条件に応じたデフォーカス変換係数が選択される。デフォーカス変換係数については図25のS103で説明済みである。S205では検出する像ずれ量分布の範囲が算出される。検出する距離範囲の最大値と最小値により、像ずれ量分布の検出範囲の最大値と最小値が算出され、像ずれ量分布の検出範囲が決定される。S206では、S205で決定された検出範囲(シフト量)で像ずれ量分布の演算が行われる。像ずれ量分布の生成処理が完了すると、図9のメインフローチャートの処理に戻る。
本実施例では、撮影後に、像ずれ量分布の生成の際に被写体距離、被写体のサイズに応じて像ずれ量分布の検出範囲を変更し、画質品位を良好に維持しつつ、先鋭化や平滑化等の画像処理を行うことができる。
[第3実施例]
次に、本発明の第3実施例を説明する。
図27は本実施例における撮像素子の画素配列の概略図である。図27の左右方向をx方向(水平方向)とし、上下方向をy方向(垂直方向)とし、x方向およびy方向に直交する方向(紙面に垂直な方向)をz方向(光軸方向)と定義する。図27は、本実施例の2次元CMOSセンサの撮像画素配列を4列×4行の範囲で示し、副画素配列を8列×8行の範囲で示している。
図2との相違点は、各画素がx方向に2分割され、y方向に2分割されていることである。つまり、分割数NLF=4であり、各画素が第1副画素201から第4副画素204により構成されている。
図27に示す例では、4列×4行の画素(8列×8行の副画素)を面上に多数配置することで、撮像画像および分割数4の視点画像を生成するための入力画像を取得可能である。本実施例の撮像素子では、画素の周期Pを4μm(マイクロメートル)とし、画素数Nを横5575列×縦3725行=約2075万画素とする。また、副画素の周期PSを2μmとし、副画素数NSを横11150列×縦7450行=約8300万画素とする。
図28(A)は、図27に示す撮像素子における1つの画素200Gを、撮像素子の受光面側(+z側)から見た場合の平面図である。図28(A)の紙面に垂直な方向の軸をz軸とし、手前側をz軸の正方向と定義する。また、z軸に直交する上下方向にy軸を設定して上方をy軸の正方向とし、z軸およびy軸に直交する左右方向にx軸を設定して右方をx軸の正方向と定義する。図28(B)は、図28(A)にてa−a線に沿って切断し、−y側から見た場合の断面図である。
図28に示すように、画素200Gは、各画素の受光面側(+z方向)に入射光を集光するためのマイクロレンズ305が形成されている。さらに、Nx=2、Ny=2で分割数4の第1光電変換部301から第4光電変換部304が形成されている。第1光電変換部301から第4光電変換部304がそれぞれ、第1副画素201から第4副画素204に対応する。
本実施例では図9のS1において、撮像素子により取得されたLFデータ(入力画像)から、結像光学系の異なる4つの瞳部分領域ごとに視点画像が生成される。結像光学系の異なる瞳部分領域を合成した瞳領域に応じた撮像画像が生成される。まず、撮像素子により取得されたLFデータ(入力画像)が入力されるか、または撮影済みで記録媒体に保存されているLFデータが読み出されて入力される。
S1において、次に、結像光学系の異なる瞳部分領域ごとに、第1副画素201から第4副画素204が生成される。LFデータの各画素信号内での列方向iS(1≦iS≦2)番目、行方向jS(1≦jS≦2)番目の副画素信号を、k=2・(jS−1)+iS(1≦k≦4)として、第k副画素信号とする。結像光学系の第k瞳部分領域に対応した、列方向i番目、行方向j番目の第k視点画像Ik(j,i)が、式(1)により生成される。
本実施例では、図27に例示した画素配列に対応したLFデータから、画素ごとに、4分割された第1副画素201から第4副画素204の中から特定の副画素の信号が選択される。よって、結像光学系の第1瞳部分領域から第4瞳部分領域のうちで特定の瞳部分領域に対応した、画素数Nの解像度を有するベイヤー配列のRGB信号である第1視点画像から第4視点画像が生成される。
図9のS1において、次に、結像光学系の異なる瞳部分領域を合成した瞳領域に応じた撮像画像が生成される。列方向にi番目、行方向にj番目の撮像画像I(j,i)が、式(2)により生成される。図27に示した画素配列に対応した入力画像から、画素ごとに、4分割された第1副画素201から第4副画素204の信号を全て合成することで、画素数Nの解像度を有するベイヤー配列のRGB信号である撮像画像が生成される。
図9のS2では、本実施例の撮像画像と複数の視点画像から、それぞれ、空間周波数の高周波帯域成分を領域ごとに抽出する処理が行われ、コントラスト分布が生成される。コントラスト分布については、視点画像間の差に応じた調整が行われる。まず、ベイヤー配列のRGB信号である撮像画像I(j,i)から、位置(j,i)ごとに、各色RGBの色重心を一致させて、撮像輝度信号Yが式(3A)により生成される。同様に、ベイヤー配列のRGB信号である第k視点画像Ik(k=1〜4)から、第k視点輝度信号Ykが、式(3B)により生成される。
S2において、次に、2次元バンドパスフィルタを用いて、撮像輝度信号Y(j,i)から、撮像高周波信号dY(j,i)が式(4A)により生成される。同様に、第k視点輝度信号Yk(j,i)(k=1〜4)から、第k視点高周波信号dYk(j,i)が式(4B)より生成される。
本実施例では、Nx=2、Ny=2、NLF=4である。x方向およびy方向はいずれも瞳分割方向である。x方向の1次元フィルタFx(iBPF)と、y方向の1次元フィルタFy(jBPF)との直積により、2次元バンドパスフィルタはFBPF(jBPF、iBPF)=Fy(jBPF)×Fx(iBPF)として構成される。瞳分割方向の1つであるx方向の1次元フィルタFx(iBPF)は、x方向の空間周波数の高周波成分を抽出する。例えば係数値が、0.5×[1,2,0,−2,−1]+1.5×[1,0,−2,0,1]等の1次元バンドパスフィルタを用いることができる。同様に、瞳分割方向の1つであるy方向の1次元フィルタFy(jBPF)は、y方向の空間周波数の高周波成分を抽出する。例えば係数値が、0.5×[1,2,0,−2,−1]+1.5×[1,0,−2,0,1]等の1次元バンドパスフィルタを用いることができる。本実施例では、2つの1次元フィルタの直積で構成される2次元バンドパスフィルタを例示したが、これに限定されず、一般的な2次元バンドパスフィルタを用いることができる。
S2において、次に規格化撮像高周波信号dZ(j,i)が生成される。式(5A)において、Y0>0として、撮像高周波信号dY(j,i)を、撮像輝度信号Y(j,i)により規格化する処理が行われる。同様に、第k視点高周波信号dYk(j,i)(k=1〜NLF)を、第k視点輝度信号Yk(j,i)により規格化した、規格化第k視点高周波信号dZk(j,i)が式(5B)により生成される。必要に応じて、式(5A)、式(5B)での規格化前に、撮像輝度信号Y(j,i)、第k視点輝度信号Yk(j,i)に対して、高周波カット(ローパス)フィルタ処理を行い、高周波ノイズを抑制してもよい。
S2において、次に、低輝度閾値Ymin、コントラスト最大閾値Cmax、指数γから、撮像コントラスト分布C(j,i)が式(6A)により生成される。同様に、第k視点コントラスト分布Ck(j,i)(k=1〜4)が式(6B)により生成される。
S2において、次にコントラスト差分量分布CDIFF(j,i)が生成される。空間周波数成分が異なる複数の被写体像の混成領域を検出するために、第1視点コントラスト分布C1(j,i)から第4視点コントラスト分布C4(j,i)を用いて、下記式(19)によりCDIFF(j,i)が生成される。次に、式(7B)により、撮像コントラスト分布C(j,i)に対し、コントラスト差分量分布CDIFF(j,i)が乗算される。これにより、空間周波数成分が異なる複数の被写体像の混成領域での値を0近傍に抑制したコントラスト分布MCON(j,i)が生成される。
コントラスト差分量分布CDIFF(j,i)は、[0,1]の範囲の分布である。コントラスト分布MCON(j,i)は、撮像コントラスト分布C(j,i)に対し、空間周波数成分が異なる複数の被写体像の混成領域での値を0近傍に抑制した分布である。
図9のS3,S30以降の処理は、第1実施例および第2実施例の場合と同様である。
本実施例では、各画素が4分割の光電変換部を備え、画質品位を良好に維持しつつ、先鋭化や平滑化等の処理を行うことができる。
撮像素子の各画素における光電変換部については、分割数をさらに多くした実施形態に適用可能である。例えば、Nx=3、Ny=3としたNLF=9の分割や、Nx=4、Ny=4としたNLF=16の分割等が可能である。Nx=Nyに限らず、前記した処理は任意の分割数NLF=Nx×Nyの場合に適用可能である。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。