(第1実施形態)
図1は、撮像素子を有する撮像装置の構成例を示すブロック図である。なお、以下ではLFデータを取得可能な任意のデジタルカメラ等の撮像装置に適用した場合の実施形態を説明するが、本発明は、LFデータを処理可能な画像処理装置や情報処理装置、電子機器等に幅広く適用可能である。また、任意の機器がネットワーク上のプロセッサー等の処理手段を備えたサーバ機器(仮想マシンを含む)にLFデータと操作内容を送信し、LFデータに対する処理の一部又は全部をサーバ機器で実行する構成が含まれていてもよい。
撮像装置は、第1レンズ群101、絞り兼用シャッタ102、第2レンズ群103、第3レンズ群105、光学的ローパスフィルタ106、撮像素子107、電子フラッシュ115およびAF補助光源116を備える。また、撮像装置は、ズームアクチュエータ111、絞りシャッタアクチュエータ112、フォーカスアクチュエータ114、CPU121、各種回路122~129、表示部131、操作部132およびフラッシュメモリ133を備える。
第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制御では撮像光学系の焦点状態検出および焦点調節の制御が行われる。
電子フラッシュ制御回路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は、画像処理回路125の構成例を示すブロック図である。画像処理回路125は、画像取得部151、減算部152、シェーディング処理部153、操作情報取得部154、視点変更処理部155およびリフォーカス処理部156を備える。また、画像処理回路125は、ホワイトバランス部157、デモザイキング部158、ガンマ変換部159、色調整部160、圧縮部161および出力部163を備える。
画像取得部151は、フラッシュメモリ133から画像データを取得し、取得した画像データを保存する。画像データは、後述する第1視点画像と第2視点画像とを合成した撮像画像(A+B像)および第1視点画像(もしくは第2視点画像)である。減算部152は、撮像画像(A+B像)から第1視点画像(A像)を減算することで第2視点画像(B像)を生成する。
シェーディング処理部153は、第1の視点画像と第2の視点画像の像高による光量変化を補正する。操作情報取得部154は、ユーザがユーザインタフェースにて設定した視点移動とピント調整(リフォーカス)の調整値を受け取る。そして、操作情報取得部154は、ユーザが操作した調整値を、視点変更処理部155とリフォーカス処理部156へ転送する。また、操作情報取得部154は、撮影の際の撮影条件を取得する撮影条件取得手段としての機能も有する。撮影条件には、絞り値、ISO値、被写体距離などが含まれる。視点変更処理部155は、操作情報取得部154から取得した調整値に基づき、複数の視点画像を用いて画像処理を行う。視点変更処理部155は、第1視点画像と第2視点画像の加算比率(重み付け)を変更して視点を変更した画像や被写界深度を変更した画像を生成する。リフォーカス処理部156は、第1視点画像と第2視点画像とを瞳分割方向にシフト加算することにより合成画像を生成し、異なるピント位置の画像を生成する。
次に、画像処理回路125において現像処理を行う構成要素について説明する。ホワイトバランス部157は、ホワイトバランス処理を行う。具体的には、白の領域のR,G,Bが等色になるようにR,G,Bの各色にゲインをかける。ホワイトバランス処理をデモザイキング処理前に行うことにより、彩度を算出する際に色かぶり等により偽色の彩度よりも高い彩度になることを回避し、誤判定を防止することができる。
デモザイキング部158は、各画素において欠落している3原色のうち2色のカラーモザイク画像データを補間することによって、全ての画素においてR,G,Bのカラー画像データが揃ったカラー画像を生成する。具体的には、まず注目画素に対してその周辺の画素を用いてそれぞれの規定方向で補間を行い、その後、方向選択を行うことで、各画素について補間処理結果としてR、G,Bの3原色のカラー画像信号を生成する。
ガンマ変換部159は、各画素のカラー画像データにガンマ補正処理を行い、基本的なカラー画像データを生成する。ガンマ変換部159は、例えば、基本的なカラー画像データとして表示部131の表示特性に整合させたカラー画像データを生成する。色調整部160は、画像の見栄えを改善するための処理である、ノイズ低減、彩度強調、色相補正、エッジ強調といった各種の色調整処理をカラー画像データに適用する。
圧縮部161は、色調整されたカラー画像データをJPEG等の所定の圧縮方式に準拠した方法で圧縮し、記録する際のカラー画像データのデータサイズを小さくする。出力部163は、カラー画像データ、圧縮された画像データ、ユーザインタフェース用の表示データなど各種画像データを撮像装置の表示部131や外部の表示装置、フラッシュメモリ133等に出力する。
図3は、撮像素子の画素と副画素の配列の概略図を示す図である。図3の左右方向をx軸方向とし、上下方向をy軸方向とし、x軸方向およびy軸方向に直交する方向(紙面に垂直な方向)をz軸方向と定義する。図3は、本実施形態の2次元CMOSセンサー(撮像素子)の画素配列を4列×4行の範囲で、副画素配列を8列×4行の範囲で示したものである。
図3に示した2列×2行の画素200では、R(赤)の分光感度を有する画素200Rが左上の位置に、G(緑)の分光感度を有する画素200Gが右上と左下の位置に、B(青)の分光感度を有する画素200Bが右下の位置に配置されている。さらに、各画素は、x軸方向に2分割、y軸方向に1分割された第1副画素201と第2副画素202を有している。つまり、x方向における分割数をNxと表記し、y方向における分割数をNyと表記し、分割数をNLFと表記すると、図3はNx=2、Ny=1、NLF=Nx×Ny=2の例を示している。副画素はそれぞれ、焦点検出信号を出力する焦点検出画素としての機能を有する。
図3に示す例では、4列×4行の画素(8列×4行の副画素)を面上に多数配置することで、表示部131での表示やフラッシュメモリ133への記録などにも用いる撮像画像(A+B像)および複数の視点画像を生成するための信号を取得可能である。本実施形態においては、画素の周期Pが4μm、画素数Nが横5575列×縦3725行=約2075万画素、副画素の列方向周期PSが2μm、副画素数NSが横11150列×縦3725行=約4150万画素の撮像素子として説明を行う。
図4(A)は、図3に示す撮像素子の1つの画素200Gを、撮像素子の受光面側(+z側)から見た平面図である。図4(A)の紙面に垂直な方向にz軸を設定し、手前側をz軸の正方向と定義する。また、z軸に直交する上下方向にy軸を設定して上方をy軸の正方向とし、z軸およびy軸に直交する左右方向にx軸を設定して右方をx軸の正方向と定義する。図4(B)は、図4(A)のa-a切断線に沿って-y側から見た場合の断面図である。
図4(A)および図4(B)に示されるように、画素200Gには、各画素の受光面側(+z軸方向)に入射光を集光するためのマイクロレンズ305が形成されている。さらに、x方向に2分割、y方向に1分割された分割数2の複数の光電変換部が形成されている。第1光電変換部301と第2光電変換部302が、それぞれ、第1副画素201と第2副画素202に対応する。なお、光電変換部(副画素)の分割数については2に限定されない。分割の方向もx方向に限定されず、y方向に分割してもよい。
第1光電変換部301と第2光電変換部302は、2つの独立したpn接合フォトダイオードであり、p型層とn型層の間にイントリンシック層を挟んだpin構造フォトダイオードである。また、必要に応じてイントリンシック層を省略し、pn接合フォトダイオードとしてもよい。各画素には、マイクロレンズ305と、第1光電変換部301および第2光電変換部302との間に、カラーフィルター306が形成される。また、必要に応じて、画素毎や光電変換部毎(副画素毎)にカラーフィルター306の分光透過率を変えてもよいし、カラーフィルターを省略しても構わない。
画素200Gに入射した光は、マイクロレンズ305により集光され、カラーフィルター306で分光されたのち、第1光電変換部301と第2光電変換部302それぞれで受光される。第1光電変換部301と第2光電変換部302では、受光量に応じて電子とホール(正孔)が対生成し、空乏層で分離された後、負電荷の電子はn型層(不図示)に蓄積される。一方、ホールは定電圧源(不図示)に接続されたp型層を通じて撮像素子外部へ排出される。第1光電変換部301と第2光電変換部302のn型層(不図示)に蓄積された電子は、転送ゲートを介して、静電容量部(FD)に転送され、電圧信号に変換される。
図5は、画素構造と瞳分割との対応関係を示す概略説明図である。図5には、図4(A)に示した画素構造のa-a切断線での断面を+y側から見た断面図と、結像光学系の射出瞳面を-z軸方向から見た図を示す。図5では、射出瞳面の座標軸と対応を取るために、断面図のx軸とy軸を図4に示す状態に対して反転させて示している。撮像素子は、撮影レンズ(結像光学系)の結像面近傍に配置され、被写体からの光束は、結像光学系の射出瞳400を通過して、それぞれの画素に入射する。撮像素子が配置された面を撮像面とする。
第1副画素201の第1瞳部分領域501は、重心が-x方向に偏心している第1光電変換部301の受光面と、マイクロレンズ305によって、概ね光学的に共役関係になっている。第1瞳部分領域501は、第1副画素201で受光可能な瞳領域を表している。第1副画素201の第1瞳部分領域501は、瞳面上で+X側に重心が偏心している。
第2副画素202の第2瞳部分領域502は、重心が+x方向に偏心している第2光電変換部302の受光面と、マイクロレンズ305によって、概ね光学的に共役関係になっている。第2瞳部分領域502は、第2副画素202で受光可能な瞳領域を表している。第2副画素202の第2瞳部分領域502は、瞳面上で-X側に重心が偏心している。
瞳領域500は、第1光電変換部301と第2光電変換部302を全て合わせた受光面と、マイクロレンズ305によって、概ね光学的に共役な関係になっている。瞳領域500は、第1副画素201と第2副画素202を全て合わせた画素200G全体で受光可能な瞳領域である。
図6は、各画素に形成されたマイクロレンズに、光が入射した場合の光強度分布の例を示す図である。図6(A)はマイクロレンズの光軸に平行な断面での光強度分布を示す。図6(B)はマイクロレンズの焦点位置において、マイクロレンズの光軸に垂直な断面での光強度分布を示す。入射光は、マイクロレンズにより、焦点位置に集光される。しかし、光の波動性による回折の影響のため、集光スポットの直径は回折限界Δより小さくすることはできず、有限の大きさとなる。光電変換部の受光面サイズは約1~2μm程度であり、これに対してマイクロレンズの集光スポットが約1μm程度である。そのため、光電変換部の受光面とマイクロレンズを介して共役の関係にある、図5の第1瞳部分領域501と第2瞳部分領域502は、回折ボケのため、明瞭に瞳分割されず、光の入射角に依存した受光率分布(瞳強度分布)となる。
図7は、光の入射角に依存した受光率分布(瞳強度分布)の例を示す図である。横軸は瞳座標を表し、縦軸は受光率を表す。図7に実線で示すグラフ線L1は、図5の第1瞳部分領域501のX軸に沿った瞳強度分布を表す。グラフ線L1で示す受光率は、左端から急峻に上昇してピークに到達した後で徐々に低下してから変化率が緩やかになって右端へと至る。また、図7に破線で示すグラフ線L2は、第2瞳部分領域502のX軸に沿った瞳強度分布を表す。グラフ線L2で示す受光率は、グラフ線L1とは反対(左右対称的)に、右端から急峻に上昇してピークに到達した後で徐々に低下してから変化率が緩やかになって左端へと至る。図示のように、緩やかに瞳分割されることがわかる。
図8は、撮像素子と瞳分割との対応関係を示す概略図である。第1光電変換部301と第2光電変換部302が、それぞれ、第1副画素201と第2副画素202に対応する。撮像素子の各画素において、2×1分割された第1副画素201と第2副画素202は、それぞれ結像光学系の第1瞳部分領域501と第2瞳部分領域502の異なる瞳部分領域を通過した光束を受光する。すなわち、第1瞳部分領域501と第2瞳部分領域502の異なる瞳部分領域を通過した光束は、撮像素子の各画素にそれぞれ異なる角度で入射し、2×1分割された第1副画素201と第2副画素202でそれぞれ受光される。
各副画素で受光された信号から、画素毎に第1副画素201と第2副画素202の中から特定の副画素の信号を選択することで、結像光学系の第1瞳部分領域501と第2瞳部分領域502の中の特定の瞳部分領域に対応した視点画像を生成できる。例えば、各画素において、第1副画素201の信号を選択することで、結像光学系の第1瞳部分領域501に対応した画素数Nの解像度を有する第1視点画像を生成できる。他の副画素でも同様である。本実施形態の撮像素子は、結像光学系の異なる瞳部分領域を通過する光束を受光する複数の光電変換部(副画素)が設けられた画素が複数配列された構造を有し、異なる瞳部分領域毎に複数の視点画像を生成することができる。
本実施形態では、第1視点画像および第2視点画像は、それぞれベイヤー配列の画像となる。必要に応じて、第1視点画像、第2視点画像に、デモザイキング処理を行ってもよい。また、撮像素子の画素毎に、第1副画素201と第2副画素202の信号を加算して読み出すことで、有効画素数Nの解像度の撮像画像を生成することができる。
次に、本実施形態の撮像素子により取得される第1視点画像と第2視点画像のデフォーカス量と像ずれ量の関係について説明する。図9は、第1視点画像と第2視点画像のデフォーカス量と第1視点画像と第2視点画像間の像ずれ量の概略関係を示す図である。撮像面600に撮像素子(不図示)が配置され、図5、図8の場合と同様に、結像光学系の射出瞳が、第1瞳部分領域501と第2瞳部分領域502に2×1分割される。
デフォーカス量dは、その大きさ|d|が被写体像の結像位置から撮像面600までの距離を表す。被写体の結像位置が撮像面より被写体側にある前ピン状態を負符号(d<0)、被写体の結像位置が撮像面より被写体の反対側にある後ピン状態を正符号(d>0)として向きを定義する。被写体の結像位置が撮像面(合焦位置)にある合焦状態は、d=0である。図9で、被写体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視点画像)が生成される。よって、被写体802は、第1視点画像(または第2視点画像)では、撮像面600上の重心位置G1(またはG2)にて、ボケ幅Γ1(Γ2)をもった被写体像(ボケ像)の画像データとして記録される。
被写体像のボケ幅Γ1(またはΓ2)は、デフォーカス量dの大きさ|d|が増加するのに伴い、概ね比例して増加する。同様に、第1視点画像と第2視点画像間の被写体像の像ずれ量p(=光束の重心位置の差G1-G2)の大きさ|p|も、デフォーカス量dの大きさ|d|が増加するのに伴い、概ね比例して増加する。なお、後ピン状態(d>0)では、第1視点画像と第2視点画像間の被写体像の像ずれ方向が前ピン状態とは反対となるが、同様の傾向がある。
したがって、本実施形態では、第1視点画像と第2視点画像、または、第1視点画像と第2視点画像を加算した撮像信号のデフォーカス量の大きさが増加するのに伴い、第1視点画像と第2視点画像間の像ずれ量の大きさが増加する。
次に、視点画像を用いた画像処理について説明する。視点画像を用いた画像処理には、リフォーカス処理、視点移動処理、ボケ調整、不要成分低減処理などがある。
視点画像修正処理とリフォーカス処理について説明する。本実施形態のリフォーカス処理では、3段階の処理を実行する。第1段階として、視点変更処理部155が撮像画像の各画素値に基づくコントラストの高低を表すコントラスト分布を算出する。第2段階として、第1段階で算出したコントラスト分布に基づいて、視点変更処理部155が画素毎に複数の視点画像(第1視点画像と第2視点画像)間の差を拡大して視差を強調する変換を行う。この第2段階の処理により、複数の修正視点画像(第1修正視点画像と第2修正視点画像)が生成される。第3段階として、リフォーカス処理部156が複数の修正視点画像(第1修正視点画像と第2修正視点画像)を相対的にシフト加算して、リフォーカス画像を生成する。
以下では、撮像素子107の行方向j番目、列方向i番目の位置を(j,i)と表記する。j,iは整数の変数である。また、位置(j,i)の画素の第1視点画像をA0(j,i)と表記し、第2視点画像をB0(j,i)と表記する。撮像画像をI(j,i)を表記し、I(j,i)=A0(j,i)+B0(j,i)とする。
まず、コントラスト分布の算出について説明する。視点変更処理部155は、ベイヤー配列の撮像画像I(j,i)に対し、式(1)に従って、位置(j,i)ごとに各色RGBの色重心を一致させて、輝度Y(j,i)を算出する。
次に、視点変更処理部155は、輝度Y(j,i)に対して、瞳分割方向である水平方向(列i方向)に、[1,2,-1,-4,-1,2,1]などのラプラシアン型フィルタ処理を行い、水平方向の高周波成分dY(j,i)を算出する。視点変更処理部155は、必要に応じて、瞳分割方向ではない垂直方向(行j方向)には、[1,1,1,1,1,1,1]などの高周波カットフィルタ処理を行い、垂直方向の高周波ノイズを抑制してもよい。
次に、視点変更処理部155は、規格化(正規化)された水平方向の高周波成分dZ(j,i)を、式(2)に従って算出する。ここで、ゼロでない定数Y0を分母に加えることにより、0で除算することによって式(2)が発散することが防止される。視点変更処理部155は、必要に応じて、式(2)で規格化する前に、輝度Y(j,i)に高周波カットフィルタ処理を施して、高周波ノイズを抑制してもよい。
視点変更処理部155は、コントラスト分布C(j,i)を、式(3)に従って算出する。式(3)の1行目は、撮像画像の輝度が所定輝度Ycよりも小さく、低輝度である場合、コントラスト分布C(j,i)を0とすることを示す。一方、式(3)の3行目は、規格化された高周波成分dZ(j,i)が所定値Zcより大きい場合、コントラスト分布C(j,i)を1とすることを示す。それ以外の場合は、式(3)の2行目で示すように、dZ(j,i)をZcで除算することで規格化した値がコントラスト分布C(j,i)となることを示す。
このように、コントラスト分布C(j,i)は、[0,1](0以上1以下)の範囲の値をとる。C(j,i)の値が、0に近いほどコントラストが低く、1に近いほどコントラストが高くなることを意味する。
図10は、式(3)によって得られる、撮像画像のコントラスト分布C(j,i)の一例を示す図である。図10に示す分布図では、右側のグレースケール表示にてコントラストの高低の指標を表している。白い部分は水平方向の高周波成分が多くコントラストが高いことを示し、黒い部分は水平方向の高周波成分が少なくコントラストが低いことを示している。
次に、視差強調処理について説明する。視差強調処理では、まず視点画像の像ずれ分布を算出する。像ずれ分布は、第1視点画像A0と第2視点画像B0の1対の像に対して相関演算を行って、1対の像の相対的な位置ずれ量を計算することにより算出される。相関演算には、様々な公知の方法が知られているが、視点変更処理部155は、例えば、式(4)に示すような一対の像の差の絶対値を加算することにより、像の相関値を算出する。
ここで、A0
i、B0
iは、それぞれ第1視点画像A0、第2視点画像B0のi番目の画素の輝度を表す。またniは、演算に用いる画素数を表す数字で、像ずれ分布の最小演算範囲に応じて適切に設定される。
視点変更処理部155は、例えば、式(4)のCOR(k)が最小となるkを、像ずれ量として算出する。すなわち、1対の像をk画素ずらした状態で、行方向のi番目の各A0画素とB0画素の差の絶対値を取り、その絶対値を行方向の複数画素について加算する。そして、視点変更処理部155は、加算された値、すなわちCOR(k)が最も小さくなるときのkをA0とB0の像ずれ量とみなし、ずらし量k画素を算出する。
これに対し、2次元的な像を瞳分割方向のみにk画素分動かして第1視点画像A0の画素と第2視点画像B0の差分をとるようにし、複数列について加算する場合、相関演算は式(5)で定義される。
ここで、A0
ij、B0
ijは、それぞれ第1視点画像A0、第2視点画像B0のj列目i番目の画素の輝度を表す。また、niは演算に用いる画素数を表し、njは相関演算を行う1対の像の列方向の数を表す。
視点変更処理部155は、式(4)と同様に、式(5)のCOR(k)が最小となるkを像ずれ量として算出する。なお、添え字kはiにのみ加算されてjとは無関係である。これは、2次元的な像を瞳分割方向のみに移動させながら相関演算をしていることに対応する。視点変更処理部155は、式(5)に従って第1視点画像A0、第2視点画像B0の各領域の像ずれ量を算出し、像ずれ分布を算出する。なお、後述する本実施例のリフォーカス処理では、高コントラスト部分のみに後述のシャープネス処理を行って、リフォーカス処理を行う。従って、上述したコントラスト分布の算出処理において、コントラスト分布C(j,i)が0である領域(すなわち所定輝度Ycよりも低輝度の位置)には、式(5)による相関演算を行わないようにしてもよい。
次に、具体的な視差強調処理の例について説明する。図7において瞳強度分布の例を示したように、画素ごとに形成されるマイクロレンズと複数に分割された光電変換部による瞳分割では、回折ボケのために、なだらかな瞳分割となる。そのため、複数の視点画像(第1視点画像と第2視点画像)の点像についても、なだらかな分割となり、視差がつきにくく、瞳分割方向の実効F値が十分に暗く(大きく)ならないため、実効的な焦点深度が深くなりにくい。そこで、本実施形態では、視点変更処理部155が、複数の視点画像(第1視点画像と第2視点画像)に対して、画素ごとに視点画像間の差を拡大して視差を強調する処理を行う。この視差を強調する処理により、複数の修正視点画像(第1修正視点画像と第2修正視点画像)が生成される。
視点変更処理部155は、第1視点画像A
0(j,i)と第2視点画像B
0(j,i)に対して、式(6)および式(7)に従って視点画像間の差を拡大し、視差を強調する処理を行う。そして、第1修正視点画像A(j,i)と第2修正視点画像B(j,i)を生成する。ここで、係数kは「0≦k≦1」を満たす実数とし、係数αは「0≦α≦1」を満たす実数とする。
なお、k1とk2、A1(j,i)とB1(j,i)は、第1修正視点画像A(j,i)と第2修正視点画像B(j,i)の算出過程で式(6)にて定義される変数である。A1(j,i)は、第1視点画像A0(j,i)と第2視点画像B0(j,i)に対して、k1とk2をそれぞれ乗算した項の和として算出される。またB1(j,i)は、第1視点画像A0(j,i)と第2視点画像B0(j,i)に対して、k2とk1をそれぞれ乗算した項の和として算出される。
修正視点画像はそれぞれ、式(7)の右辺第1項と右辺第2項との和により算出される。つまり、右辺第1項は、A1(j,i)またはB1(j,i)と、それらの絶対値との平均値を示す項である。右辺第2項は、B1(j,i)またはA1(j,i)の絶対値と、B1(j,i)またはA1(j,i)との差分を2で除算して係数αを乗算した項である。
図11は、視差強調処理によって、視点画像間の差が拡大した例を示す図である。横軸は1152番目~1156番目の画素を副画素(サブピクセル)単位で示し、縦軸は各画素における視差の大きさを示している。つまり、横軸は画素位置を表し、縦軸は画素値(信号レベル)を表す。図11においては、視差強調処理を行う前の第1視点画像A0(修正前A)と第2視点画像B0(修正前B)を破線で示す。また、式(4)および式(5)による視差強調処理を行った後の第1修正視点画像A(修正後A)と第2修正視点画像B(修正後B)の例を実線で示す。変換前に視点画像間の差が大きい部分は、より拡大され視差が強調されるが、変換前に視点画像間の差が小さい部分はあまり変化しない。
以上のように、本実施形態では、視点変更処理部155は、複数の視点画像ごとに、複数の視点画像間の差を拡大して視差を強調する処理により、複数の修正視点画像を生成する。視点変更処理部155は、視差強調処理の負荷を抑制するために、式(6)および式(7)のように、画素内に含まれる複数の副画素の信号間の重み付け演算による変換を行う。
式(6)では、kの値を大きくして変換による視差強調の度合いを強くすると、複数の修正視点画像(第1修正視点画像と第2修正視点画像)間の視差が大きくなり、分割方向の実効F値を深く修正することができる。一方、視差強調の度合を過剰に強くすると、修正視点画像のノイズが増加し、S/N比(信号対ノイズ比)が低下してしまう。 そこで、本実施形態では、コントラスト分布C(j,i)に基づいて、視差強調の変換の強さを領域ごとに適応的に調整する。すなわち、視点変更処理部155は、コントラストが相対的に高い領域では、視差を大きくし、分割方向の実効F値を暗く(大きく)するため、視差強調の度合いを強くするように調整する。一方、コントラストが低い領域では、S/N比を維持するため、視差強調の強度を弱くするよう調整する。これにより、S/N比の低下を抑制してリフォーカス効果を向上させることができる。
視点変更処理部155は、必要に応じて、撮像画像の低輝度の領域よりも高輝度の領域における視差強調の強度を強く調整する処理を行い、S/N低下を抑制する。また、必要に応じて、撮像画像の高周波成分が少ない領域よりも高周波成分が多い領域において、視差強調の強度をより強く調整する処理を行い、S/N低下を抑制することができる。以上のように、複数の修正視点画像(第1修正視点画像と第2修正視点画像)間の視差を大きくすることで、分割方向の実効F値を暗く(大きく)し、分割方向の実効的な焦点深度を深く修正することができる。また、後述するリフォーカス処理では、複数の修正視点画像(第1修正視点画像と第2修正視点画像)を用いてリフォーカス画像を生成ことにより、リフォーカス効果を向上(リフォーカスによる画像の変化を強調)させることができる。
次に、リフォーカス処理について説明する。図10は、複数の修正視点画像(第1修正視点画像と第2修正視点画像)による瞳分割方向(水平方向)のリフォーカス処理(第3の生成処理)について概要を示す説明図である。図12の撮像面600は、図8に示した撮像面600に対応している。図12では、iを整数の変数として、撮像面600に配置された撮像素子の列方向におけるi番目の画素の第1修正視点画像をAiと表記し、第2修正視点画像をBiと表記して、模式的に表している。第1修正視点画像Aiは、(図8の第1瞳部分領域501に対応した)主光線角度θaでi番目の画素に入射した光束の受光信号を含む。第2修正視点画像Biは、(図8の第2瞳部分領域502に対応した)主光線角度θbでi番目の画素に入射した光束の受光信号を含む。つまり、第1修正視点画像Aiと第2修正視点画像Biは、光強度分布情報に加えて入射角度情報も有している。
第1修正視点画像Aiと第2修正視点画像Biは、光強度分布情報だけでなく、入射角度情報も有している。よって、リフォーカス処理部156は、所定の仮想的な結像面(仮想結像面610)におけるリフォーカス画像を生成することができる。リフォーカス処理部156は、平行移動処理および加算処理を行うことにより、仮想結像面610でのリフォーカス信号を生成する。
具体的には、まず、リフォーカス処理部156は、第1修正視点画像Aiを主光線角度θaに沿って仮想結像面610まで平行移動させ、第2修正視点画像Biを主光線角度θbに沿って仮想結像面610まで平行移動させる処理を行う。次に、リフォーカス処理部156は、それぞれ平行移動させた第1修正視点画像Aiと第2修正視点画像Biを加算する処理を行う。
第1修正視点画像Aiを角度θaに沿って仮想結像面610まで平行移動させることは、第1修正視点画像Aiを列方向に+0.5画素シフトすることに対応する。また、第2修正視点画像Biを角度θbに沿って仮想結像面610まで平行移動させることは、第2修正視点画像Biを列方向に-0.5画素シフトすることに対応する。したがって、第1修正視点画像Aiと第2修正視点画像Biを相対的に+1画素分シフトさせ、AiとBi+1を対応させて加算することで、仮想結像面610でのリフォーカス信号を生成できる。つまり、第1修正視点画像Aiと第2修正視点画像Biを整数の画素分だけシフトさせて画素ごとに加算することで、整数のシフト量に応じた各仮想結像面におけるリフォーカス画像を生成できる。
リフォーカス処理部156は、式(8)に従って、第1修正視点画像Aと第2修正視点画像Bをシフト加算することにより、整数シフト量sに応じた各仮想結像面におけるリフォーカス画像I(j,i;s)を生成する。
本実施形態では、第1修正視点画像Aと第2修正視点画像Bはベイヤー配列で構成されるため、リフォーカス処理部156は、2の倍数のシフト量s=2n(n:整数)で、同色ごとに式(8)に従ったシフト加算を行う。すなわち、リフォーカス処理部156は、画像のベイヤー配列を保ったままリフォーカス画像I(j,i;s)を生成し、その後、生成したリフォーカス画像I(j,i;s)にデモザイキング処理を施す。
なお、リフォーカス処理部156は、必要に応じて、まず第1修正視点画像Aと第2修正視点画像Bとにデモザイキング処理を施し、デモザイキング処理後の第1修正視点画像と第2修正視点画像を用いてシフト加算処理を行ってもよい。また、リフォーカス処理部156は、必要に応じて、第1修正視点画像Aと第2修正視点画像Bの各画素間の補間信号を生成して、非整数シフト量に応じたリフォーカス画像を生成してもよい。これにより、仮想結像面の位置をより詳細な粒度で変更したリフォーカス画像を生成することができる。
次に、リフォーカス処理部156が、より効果的なリフォーカス画像を生成するために適用する、シャープネス処理について説明する。シャープネス処理は、被写体の輪郭協調を行う処理である。上述したように、リフォーカス処理では、第1修正視点画像Aと第2修正視点画像Bとがシフト加算されて、仮想結像面におけるリフォーカス画像が生成される。シフト加算により第1修正視点画像Aと第2修正視点画像Bの像をずらすため、リフォーカス処理前の画像に対する相対的なずらし量(像ずらし量ともいう)が分かる。リフォーカス処理による整数シフト量sは、この像ずらし量に対応する。リフォーカス処理部156は、像ずらし量sに対応した領域にシャープネス処理を行うことにより、リフォーカス画像における被写体の輪郭強調を実現することができる。
本実施形態では、例えば、シャープネス処理として、アンシャープマスク処理を用いる。図13は、アンシャープマスク処理の概要を説明する図である。アンシャープマスク処理では、注目画素を中心とした局所領域(元の信号)にぼかしフィルタを適用し、ぼかしフィルタ適用後の信号を生成する。そして、ぼかし処理を適用する前後の画素値の差分を注目画素の画素値に反映することにより、輪郭強調を実現する。
処理対象の画素値Pに対するアンシャープマスク処理は、式(9)に従って算出される。式(9)において、P'(i,j)は処理適用後の画素値、Rはぼかしフィルタの半径、T(i,j)は適用量(%)を表す。ぼかしフィルタの半径Rの大きさは、シャープネス処理を適用したい画像上の周波の波長に関係する。すなわち、Rが小さいほど細かい模様が強調され、Rが大きいほど緩やかな模様が強調される。
F(i,j,R)は、画素P(i,j)に対して半径Rのぼかしフィルタを適用して得られる画素値である。ぼかしフィルタには、公知の方法、例えば、ガウスぼかしを用いることができる。ガウスぼかしは、処理対象の画素からの距離に応じてガウス分布に従った重み付けを適用して平均化する処理であり、自然な処理結果を得ることができる。
適用量T(i,j)は、像ずれ分布に応じてアンシャープマスク処理による輪郭強調の適用量を変化させる値である。各画素の位置の像ずれ量をpred(i,j)とし、リフォーカス処理によるシフト量sとする。|s-pred(i,j)|が小さい値(例えば像ずれ1画素以内)となる領域、すなわち仮想結像面で合焦状態となる領域、では適用量Tを大きくする。一方、|s-pred(i,j)|が大きい値(例えば像ずれ量が3画素以上の場合)となる領域では、適用量Tを小さくする。このようにすることで、デフォーカス量が小さいピント位置または合焦近傍である領域には輪郭強調することができ、かつデフォーカス量が大きいボケ領域にはアンシャープマスク処理をかけないようにすることができる。つまり、リフォーカス処理によるピント位置の移動の効果をより強調することができる。
次に、リフォーカス可能範囲について説明する。リフォーカス可能範囲は、リフォーカス処理によって変更可能なピント位置の範囲である。図14は、本実施例に係るリフォーカス可能範囲を模式的に示す図である。許容錯乱円をδとし、結像光学系の絞り値をFとすると、絞り値Fにおける被写界深度は±F×δである。これに対して、NH×NV(例えば、2×1)に分割されて狭くなった第1瞳部分領域501(または第2瞳部分領域502)の水平方向の実効絞り値F01(またはF02)は、F01=NH×F(またはF02=NH×F)となって暗くなる。第1修正視点画像(または第2修正視点画像)ごとの実効的な被写界深度は、±NH×F×δで、NH倍深くなり、合焦範囲がNH倍に広がる。すなわち、実効的な被写界深度「±NH×F×δ」の範囲内では、第1修正視点画像(または第2修正視点画像)ごとに合焦した被写体像が取得されている。よって、リフォーカス処理部156は、図12に示した主光線角度θa(またはθb)に沿って第1修正視点画像(第2修正視点画像)を平行移動させて加算するリフォーカス処理により、撮影後に、ピント位置を再調整(リフォーカス)することができる。
撮影後にピント位置を再調整(リフォーカス)可能な、撮像面からのデフォーカス量dは限定される。デフォーカス量dのリフォーカス可能範囲は、概ね、式(10)の範囲である。
許容錯乱円δは、例えば、δ=2・ΔX(画素周期ΔXのナイキスト周波数1/(2ΔX)の逆数)などで規定される。このように、リフォーカス可能範囲を算出することにより、ユーザ操作によってピント位置を変更(リフォーカス)する際の操作可能な範囲に対応させることができる。また、リフォーカス処理によって合焦させることのできる光線(被写体)を予め把握することができるため、例えば、所定の被写体がリフォーカス可能範囲に含まれるように、結像光学系の状態等の撮像条件を制御して再び撮影することも可能になる。
次に、視点移動処理について説明する。視点移動処理は、手前側の非主被写体のボケが主被写体に被る場合に、非主被写体によるボケを低減するため、視点変更処理部155によって実行される処理である。図15は、視点移動処理の概略を説明する図である。図15においては、撮像素子107が撮像面600に配置されており、図12と同様に、結像光学系の射出瞳が第1瞳部分領域501と第2瞳部分領域502とに2分割される。第1瞳部分領域501を通過した像が第1視点画像となり、第2瞳部分領域502を通過した像が第2視点画像となる。視点移動は、複数の光電変換部を有する撮像素子により取得された、複数の視点画像を用いて行われる。本実施形態では、第1視点画像と第2視点画像により視点移動を行い、合成画像を生成する。
図15(A)は、主被写体q1の合焦像p1に、手前の被写体q2のボケ像Γ1+Γ2が重なって撮影され、撮影画像において遠近競合(主被写体への前ボケ被り)が生じている例である。図15(A)に示す例を、結像光学系の第1瞳部分領域501を通過する光束と、第2瞳部分領域502を通過する光束とに、それぞれ分けたものを、図10(B)および図10(C)に示す。
図15(B)では、主被写体q1からの光束は、第1瞳部分領域501を通過して、合焦状態で像p1に結像する。一方、手前の被写体q2からの光束は、第1瞳部分領域501を通過して、デフォーカス状態でボケ像Γ1に広がる。それぞれの光束は、撮像素子107の各画素の第1副画素201により受光され、第1視点画像が生成される。図15(B)に示すように、第1視点画像では、主被写体q1の像p1と手前の被写体q2のボケ像Γ1とは重ならずに受光される
図15(C)では、主被写体q1からの光束は、第2瞳部分領域502を通過して、合焦状態で像p1に結像する。一方、手前の被写体q2からの光束は、第2瞳部分領域502を通過して、デフォーカス状態でボケ像Γ2に広がる。それぞれの光束は、撮像素子107の各画素の第2副画素202で受光されて、第2視点画像が生成される。図15(C)に示すように、第2視点画像では、主被写体q1の像p1と手前の被写体q2のボケ像Γ2が重なって受光される。
図15(B)および図15(C)において、主被写体q1の像p1近傍の領域を、所定領域とする。図15(B)では、所定領域における至近側の被写体q2のボケ像Γ1の範囲は狭くなっており、写りも少ない。そのため、所定領域におけるコントラスト評価値は大きくなる。一方、図15(C)では、所定領域における至近側の被写体q2のボケ像Γ1の範囲は広がっており、写りも多い。そのため、所定領域におけるコントラスト評価値は大きくなる。そのため、所定領域におけるコントラスト評価値は小さくなる。そのため、所定領域において、像p1とボケ像Γ1の重なりが少ない第1視点画像の重みを大きくし、像p1とボケ像Γ2の重なりが多い第2視点画像の重みを小さくして加算する。これにより、主被写体に対する前ボケ被りを低減させることができる。
次に、視点変更処理部155が、第1視点画像と第2視点画像とを、重みを用いて重ね合わせる処理について説明する。視点変更処理部155は、上述した第1視点画像A(j,i)と第2視点画像B(j,i)とを入力する。
まず、視点変更処理部155は、視点移動を行う所定領域R=[j1,j2]×[i1,i2]および所定領域の境界幅σを設定する。そして、式(11)に従って、所定領域Rと所定領域の境界幅σに応じたテーブル関数T(j,i)を算出する。
テーブル関数T(j,i)の値は、所定領域Rの内側で1、所定領域Rの外側で0となり、所定領域Rの境界幅σで、概ね1から0へ連続的に変化する。なお、視点変更処理部155は、必要に応じて、所定領域を円形やその他の任意の形状としてもよい。また、複数の所定領域および複数の境界幅を設定してもよい。
次に、視点変更処理部155は、重み係数を算出する。実係数w(-1≦w≦1)として、第1視点画像A(j,i)の第1重み係数Wa(j,i)は、式(12A)により算出される。第2視点画像B(j,i)の第2重み係数Wb(j,i)は、式(12B)により算出される。
所定領域において、第1視点画像A(j,i)の加算比率を上げて、被写界深度を修正する場合には、-1≦w<0の範囲で設定が行われる。一方、第2視点画像B(j,i)の加算比率を上げて、被写界深度を修正する場合には、0<w≦1の範囲で設定が行われる。w=0に設定して、W1≡W2≡1とし、被写界深度を修正しない場合もある。
次に、視点変更処理部155は、出力画像I(j,i)を生成する。視点変更処理部155は、式(13)に従い、第1重み係数Wa(j,i)で重み付けした第1視点画像A(j,i)と、第2重み係数Wb(j,i)で重み付けした第2視点画像B(j,i)とを加算し、出力画像I(j,i)を生成する。
また、視点変更処理部155は、シフト量sを用いたリフォーカス処理と組み合わせて、式(14A)もしくは式(14B)に従って、出力画像Is(j,i)を生成してもよい。
生成された出力画像I
s(j,i)は、視点が移動した画像であると共に、ピント位置が再調整(リフォーカス)された画像となる。
このように、出力画像の領域に応じて連続的に変化する重み係数を用いて、複数の視点画像毎に重み係数をかけて合成し、出力画像を生成する。所定領域において、像p1とボケ像Γ1の重なりが少ない第1視点画像の第1重み係数Waを、第2重み係数Wbより大きくして出力画像を生成することで、主被写体q1に対する前ボケ被りを低減した画像を生成することができる。すなわち、前ボケ被り低減のため、視点変更処理部155は、所定領域において、至近側の被写体が最も広い範囲で撮影されている視点画像の重み係数を小さく、もしくは、至近側の被写体が最も狭い範囲で撮影されている視点画像の重み係数を大きくすればよい。同様に、前ボケ被り低減のため、視点変更処理部155は、所定領域において、コントラスト評価値が最も小さい視点画像の重み係数を小さく、もしくは、コントラスト評価値が最も大きい視点画像の重み係数を大きくすればよい。
なお、視点変更処理部155は、必要に応じて、視点移動処理を行わない所定領域以外では、結像光学系のボケ形状を変化させないために、複数の視点画像毎の重み係数(第1重み係数、第2重み係数)を、概ね均等に加算し、出力画像を生成してもよい。また、ユーザの指定に応じて重み係数(すなわち加算比率)を変更した出力画像を生成する方法を後述するが、視点移動処理を行う所定領域をユーザが指定するようにしてもよい。
次に、撮像素子107の周辺像高における瞳ずれについて説明する。図16は、撮像素子の周辺像高での瞳ずれの概略説明図である。図16は、具体的には、撮像素子に配列された各画素の第1副画素201が受光する第1瞳部分領域501、第2副画素202が受光する第2瞳部分領域502および結像光学系の射出瞳400との関係を示している。
図16(A)は、結像光学系の射出瞳距離Dlと撮像素子107の設定瞳距離Dsが、同じ場合を示している。この場合、結像光学系の射出瞳400は、中央像高の場合も周辺像高の場合も、第1瞳部分領域501と第2瞳部分領域502によって概ね均等に瞳分割される。
これに対して、図16(B)は、結像光学系の射出瞳距離Dlが撮像素子107の設定瞳距離Dsより短い場合を示している。この場合、周辺像高では、結像光学系の射出瞳400が、第1瞳部分領域501と第2瞳部分領域502によって不均一に瞳分割される。図16(B)の例では、第1瞳部分領域501に対応した第1視点画像の実効絞り値が、第2瞳部分領域502に対応した第2視点画像の実効絞り値より小さい(明るい)値となる。反対側の像高(不図示)では、逆に、第1瞳部分領域501に対応した第1視点画像の実効絞り値が、第2瞳部分領域502に対応した第2視点画像の実効絞り値より大きい(暗い)値となる。
図16(C)は、結像光学系の射出瞳距離Dlが撮像素子107の設定瞳距離Dsより長い場合を示している。この場合も、周辺像高では、結像光学系の射出瞳400が、第1瞳部分領域501と第2瞳部分領域502によって不均一に瞳分割される。図16(C)の例では、第1瞳部分領域501に対応した第1視点画像の実効絞り値が、第2瞳部分領域502に対応した第2視点画像の実効絞り値より大きい(暗い)値となる。反対側の像高(不図示)では、逆に、第1瞳部分領域501に対応した第1視点画像の実効絞り値が、第2瞳部分領域502に対応した第2視点画像の実効絞り値より小さい(明るい)値となる。
すなわち、瞳ずれにより周辺像高で瞳分割が不均一になることに伴って、第1視点画像と第2視点画像の実効F値も不均一になる。このため、第1視点画像と第2視点画像のいずれかのボケの広がり方が大きくなり、他方のボケの広がり方が小さくなる。そのため、視点変更処理部155は、必要に応じて、出力画像の所定領域において、実効絞り値が最も小さい視点画像の重み係数を最も小さく、もしくは、実効絞り値が最も大きい視点画像の重み係数を最も大きくすることが望ましい。このような視点移動処理を行うことにより、主被写体への前ボケ被りを低減させることができる。
次に、視点変更処理部155による深度拡大処理について説明する。図15および図16を用いて説明したように、第1瞳部分領域501を通過した像が第1視点画像となり、第2瞳部分領域502を通過した像が第2視点画像となる。各視点画像は、本来の瞳領域の半分を通過して得られる画像であるため、水平方向2分割の瞳分割領域の場合には水平方向の絞り径が半分となる。このため、水平方向の被写界深度は4倍になる。なお、本実施形態は垂直方向に瞳分割した構成ではないため、垂直方向の被写界深度の変化はない。従って、第1視点画像または第2視点画像は、第1視点画像と第2視点画像とを合成した画像(A+B像)の被写界深度に対して、縦横平均として2倍の被写界深度を有する画像となる。
視点変更処理部155は、第1視点画像または第2視点画像の加算比率を1:1以外に変更して合成画像を生成することにより、被写界深度が拡大した画像を生成することができる。さらに、視点変更処理部155は、コントラスト分布と像ずれ分布を用いたアンシャープマスク処理を第1視点画像または第2視点画像の加算比率を変更した画像に対して適用することで、被写界深度を拡大しかつ輪郭を強調した合成画像を生成することができる。また、深度拡大処理では、視点移動処理と同様に、所定領域をユーザの指定に応じて処理するようにしてもよい。なお、視点変更処理部155から出力された合成画像には上述した現像処理が適用され、現像処理の適用された画像が画像処理回路125から出力される。
また、第1視点画像と第2視点画像を用いた視点変更処理により、主被写体の手前に位置する前景が大きくボケることにより主被写体が隠れてしまう前ボケ被りを低減させる処理(ボケ調整処理)が可能である。また、第1視点画像と第2視点画像を用いた視点変更処理により、撮像光学系に入射した光の一部が撮影画像中に現れるゴーストなどの不要成分と視差成分とを分離し、ゴーストなどの不要成分のみを低減させる処理(不要成分低減処理)が可能である。
次に、リフォーカス処理、視点移動処理、ボケ調整、不要成分低減処理などの画像処理に必要な情報を、撮影条件やコントラスト情報、処理情報によって選択し、保存する方法について図17~図19を用いて説明する。図17は、情報を記録する処理を示すフローチャートである。図18は、記録する情報を決定する処理を示すフローチャートである。図19は、視点画像を圧縮する処理を示すフローチャートである。なお、図17~図19の処理は、画像処理回路125とCPU121によって実行される。
ステップS100で、設定された撮影条件によって、撮像素子駆動回路124が撮像素子107を制御し、視点画像を取得する。撮像条件には、絞り値、シャッタースピード、ISO感度、焦点距離、被写体距離が含まれる。撮像条件、被写体の明度に応じた露出を自動設定して算出した値に基づいて設定してもよいし、ユーザがマニュアルで値を設定してもよい。
ステップS200で、ステップS100で設定した撮影条件から、視点画像をフラッシュメモリ133に記録するか否かを判定する。ここで、視点画像をフラッシュメモリ133に記録するか否かを判定する方法について、図18を用いて説明する。
ステップS201で、撮影条件に基づいて視点画像をフラッシュメモリ133に記録するか否かを判定する。視点画像を利用した画像処理により得られる効果が大きい場合は視点画像を記録し、効果が小さい場合は視点画像を記録しない。画像処理による効果が大きいか否かは、撮影条件により判断される。ここでの撮像条件とは、例えば、絞り値、ISO感度、焦点距離などである。
まず、絞り値での判定方法について説明する。絞り値が大きいほど、被写界深度が深くなり、第1視点画像と第2視点画像間の視差が小さくなる。第1視点画像と第2視点画像間の視差が小さいと、画像処理(特に、ボケ調整処理や不要成分低減処理)の効果が小さくなる。そのため、絞り値が所定の値以上である場合には視点画像を記録しないと判定する。一方、絞り値が所定の値よりも小さい場合には視点画像を記録すると判定する。
次に、ISO感度での判定方法について説明する。ISO感度が高くなるほど、S/Nが小さくなり(すなわち悪化し)、画像処理前後の変化が視認しづらくなる。画像処理前後の変化が小さいことは、画像処理の効果が小さいことを意味する。そのため、ISO感度が所定の値以上である場合には、視点画像を記録しないと判定する。一方、ISO感度が所定の値よりも低い場合には、視点画像を記録すると判定する。
最後に、焦点距離での判定方法について説明する。リフォーカス処理におけるデフォーカス量の実距離換算値は、縦倍率(横倍率の2乗)に比例し、近距離の被写体ではリフォーカス処理によるデフォーカス変化量の実距離換算値が小さいため、効果が視認しづらい。また、遠距離(例えば、無限遠)では、リフォーカス処理によるデフォーカス変化量の実距離換算値が大きいため、被写体サイズに応じた適切な画像処理(特に、リフォーカス処理)の効果を適用できない。そのため、焦点距離が所定の焦点距離の範囲外の場合には、視点画像を記録しないと判定する。一方、焦点距離が所定の焦点距離の範囲内の場合には、視点画像を記録すると判定する。なお、リフォーカス処理によるデフォーカス変化量の効果を十分得られる所定の焦点距離の範囲は、レンズの焦点距離ごとに設定される。
ステップS201で視点画像を記録すると判定した場合、ステップS201へ移行する。一方、視点画像を記録しないと判定した場合には、ステップS206へ移行する。なお、ステップS201では撮影条件として、絞り値、ISO感度、焦点距離について説明したが、これらに限定されない。例えば、シェーディング処理部153で、第1の視点画像と第2の視点画像の像高による光量変化を補正しきれていない場合に、視点画像をフラッシュメモリ133に記録するか否かを判定することができる。また、撮影者の手振れやパンニング動作、またはレンズのフォーカス状態等に基づいて、視点画像をフラッシュメモリ133に記録するか否かを判定するようにしてもよい。
ステップS202では、視差関連情報である撮像画像のコントラスト情報を生成する。コントラスト情報は、コントラストの分布に対応する情報である。コントラスト情報は、第1視点画像と第2視点画像とを合成して生成される。コントラスト情報を生成した後、ステップS203へ移行する。
ステップS203では、視差関連情報である像ずれ情報を生成する。像ずれ情報は、像ずれ量の分布に対応する情報である。像ずれ情報は、視点画像から生成される。像ずれ情報を生成した後、ステップS204へ移行する。
ステップS204では、視差関連情報である像ずれ・コントラスト情報を生成する。像ずれ・コントラスト情報は、ステップS202で生成したコントラスト情報とステップS203で生成した像ずれ情報を統合した情報である。像ずれ・コントラスト情報を生成した後、ステップS205へ移行する。
ステップS205では、ステップS204で生成した像ずれ・コントラスト情報に基づいて、視点画像をフラッシュメモリ133に記録するか否かを判定する。視点画像を記録するか否かは、像ずれ・コントラスト情報において所定のコントラスト以上の領域が、所定の値(所定の領域の大きさ)以上存在するか否かに応じて判定される。像ずれ・コントラスト情報において所定のコントラスト以上の領域が、所定の値以上存在する場合には、画像処理による効果が大きいため、視点画像を記録すると判定する。一方、所定のコントラスト以上の領域が、所定の値未満の場合には、画像処理による効果が小さいため、視点画像を記録しないと判定する。
像ずれ・コントラスト情報における所定のコントラスト以上の領域が、所定の値以上存在する場合、すなわち視点画像を記録する場合に、フラッシュメモリ133にコントラスト情報、もしくは像ずれ・コントラスト情報をさらに記録するとしてもよい。ステップS205で、視点画像を記録すると判定した場合には、ステップS206へ移行する。一方、視点画像を記録しないと判定した場合には、ステップS208へ移行する。
ステップS206では、視点画像に対して画像処理を実施して、合成画像を生成する。生成した後、ステップS207へ移行する。画像処理は、例えば、リフォーカス処理、視点移動処理、ボケ調整、不要成分低減処理などである。
ステップS207では、画像処理に基づいて、視点画像を記録するか否か判定する。ステップS206で実施された視点画像の画像処理において、視点画像を使用する所定の画像処理、例えば、リフォーカス処理、視点移動処理、ボケ調整、不要成分低減処理のうち1つ以上が実施済みであれば、視点画像を記録しないと判定する。また、前述の画像処理を実施していない場合でも、ステップS207以降の画像処理においても視点画像を使用する所定の画像処理を実施しない場合には、視点画像を記録しないと判定してもよい。
一方で、ステップS206での画像処理において視点画像を使用する所定の画像処理が行われていた場合であっても、ステップS207以降の画像処理において視点画像を使用する所定の画像処理を実施する場合には、視点画像を記録すると判定してもよい。また、ステップS207以降の画像処理において視点画像を使用したリフォーカス処理を実施する場合には、視点画像は記録せず、撮像画像と像ずれ・コントラスト情報を保存するようにしてもよい。なお、ステップS207では、ユーザ指示によって、視点画像を記録するか否かを判定してもよい。視点画像を記録するか否か判定した後、ステップS208へ移行する。
ステップS208では、フラッシュメモリ133に記録する情報を決定する。フラッシュメモリ133に記録する情報は、ステップS201、ステップS205およびステップS207の判定に基づいて決定される。各ステップにおいて視点画像を記録すると判定された場合には、例えば、第1視点画像または第2視点画像、第1視点画像と第2視点画像とを合成した撮像画像およびステップS204で生成した像ずれ・コントラスト情報を記録する。一方、視点画像を記録しないと判定された場合には、第1視点画像と第2視点画像とを合成した撮像画像のみを記録する。フラッシュメモリ133に記録する情報を決定した後、本サブルーチンを終了して、メインルーチンのステップS300へ移行する。
なお、視点画像を記録するか否かの判定にかかわらず、ステップS204で生成した像ずれ・コントラスト情報を記録するようにしてもよい。像ずれ・コントラスト情報を記録することより、例えば、ステップS201、ステップS205、ステップS207で視点画像を記録しないと判定された場合においても、撮像画像と像ずれ・コントラスト情報を用いた画像処理を実施することが可能になる。
図17の説明に戻る。ステップS300では、ステップS200で視点画像を記録すると決定した場合に、フラッシュメモリ133に記録する視点画像を圧縮するか否か判定する。ここで、ステップS300の視点画像圧縮を実施するか否かの判定及び圧縮処理について、図19を用いて説明する。なお、ステップS300においてユーザが視点画像を圧縮するか否かを選択するようにしてもよい。
ステップS301では、視点画像撮影時の撮影条件であるISO感度が所定の値以上であるかを判定する。ISO感度が所定の値以上である場合には、S/Nが小さくなる(悪化する)ため、視点画像を水平垂直加算して圧縮することでS/Nを増加させる。ISO感度が所定の値(例えば、ISO6400)以上である場合には、S303へ移行する。一方、ISO感度が所定の値以上でない場合には、S302へ移行する。
S302では、S202で生成したコントラスト情報を用いて、コントラストが所定の値以上であるかを判定する。コントラストが所定の値以上でない場合には高周波被写体がいない視点画像と判定できるため、水平垂直加算による視点画像の圧縮をしてもよい。コントラストが所定の値以上でない場合には、S303へ移行する。一方、コントラストが所定の値以上である場合には、視点画像の圧縮を行わず視点画像圧縮判定を終了し、メインフローに戻る。
S303では、視点画像を水平または垂直方向にRGBごとに加算し、画素数を低減することで圧縮する。視点画像を圧縮して記録することにより、後処理で像ずれ分布を生成する際にS/Nと像ずれの精度を向上させた像ずれ分布を生成することがでる。また、視点画像の圧縮によりデータ容量を削減できる。なお、本実施形態では、視点画像の圧縮方法を水平、垂直加算で説明したが、ローパスフィルタ処理やデモザイキング処理を用いてもよい。
視点画像を圧縮する際の水平または垂直加算数、すなわち圧縮する際の圧縮率を、撮影条件やコントラストの値に応じて変更してもよい。例えば、ISO感度が高いほど、水平垂直加算画素数を増やし、高い圧縮率で圧縮する。また、コントラストの値が高いほど、水平垂直加算画素数を増やし、高い圧縮率で圧縮する。さらに、絞り値が大きいほど、水平垂直加算画素数を増やし、高い圧縮率で圧縮するようにしてもよい。
図19に示したように、ISO感度はコントラスト値より優先順位の高い判定条件とする。ISO感度が高い場合には、コントラスト値が高い場合でも、S/Nが小さくなるため像ずれの精度が低下する。そのため、ISO感度が高い場合には、コントラスト値に関わらず、視点画像の水平または垂直加算を行いS/Nを向上させてから、相関演算を行った方がよい。ステップS303の圧縮処理が完了した後、視点画像圧縮判定を終了し、メインフローに戻る。
ステップS400では、ステップS200およびステップS300で用意された記録情報をフラッシュメモリ133に記録する。記録した後、本メインフローを終了する。
また、上述した本実施形態では、撮影条件や画像処理の結果によっては視点画像を記録しない例について説明したが、これに限らず、視点画像の記録の有無を制御する代わりに視点画像を圧縮するあるいは圧縮率を制御するようにしてもよい。すなわち、CPU121はステップS201、ステップS205、ステップS207での各条件の判定の結果、記録の有無ではなく圧縮の有無あるいは圧縮率の制御を行う。このとき、視点画像が記録されない分岐(各判定フローでNO)が、視点画像の圧縮が行われない分岐あるいは圧縮率がより高く設定される分岐と対応する。視点画像が記録される分岐(各判定フローでYES)が視点画像の圧縮が行われないあるいはより低い圧縮率が設定される分岐と対応する。
以上のように、本実施形態によれば、撮影条件や画像処理の実施に応じて、記録するデータを決定し圧縮するため、視点画像を適切な容量で記録することができる。そのため、フラッシュメモリ133に記録するデータ容量を抑制することが可能となる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。