(57)【要約】【課題】撮影後に異なる条件の画像を生成可能な光線空間情報を出力することが可能な撮像装置を提供する。【解決手段】分割瞳領域の各々を通過した光束を記録した画素信号であって、複数の被写体距離のいずれかに合焦させた再構成画像を生成可能な画素信号を出力する撮像装置であって、画素信号の撮影にあたり絞りの開口径の下限値を、複数の分割瞳領域を通過した光束が開口を通過可能な値に制御する。【選択図】図５
2015197609.tif 000002
【特許請求の範囲】
【請求項１】
分割瞳領域の各々を通過した光束を記録した画素信号であって、複数の被写体距離のいずれかに合焦させた再構成画像を生成可能な画素信号を出力する撮像装置であって、
前記画素信号の撮影にあたり絞りの開口径の下限値を、複数の分割瞳領域を通過した光束が開口を通過可能な値に制御する制御手段を有することを特徴とする撮像装置。
【請求項２】
前記絞りの開口径を変更する変更手段をさらに有し、
前記変更手段は、ユーザにより前記下限値を下回る絞りの開口径が設定された場合に、前記絞りの開口径を前記下限値に変更することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記変更手段により前記絞りの開口径が前記下限値に変更された場合に、前記絞りの開口径が変更されたことを通知する通知手段をさらに有することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記変更手段は、異なる複数の条件の再構成画像を生成可能な画素信号を出力するための撮影モードが設定された場合に、前記絞りの開口径を前記下限値に変更することを特徴とする請求項２または３に記載の撮像装置。
【請求項５】
撮影を行い、前記画素信号を出力する撮像手段と、
前記撮像手段により出力された前記画素信号から再構成画像を生成する生成手段をさらに有することを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項６】
前記生成手段は、ユーザにより前記下限値を下回る絞りの開口径が設定された場合に、前記下限値の開口径で撮影して出力された画素信号から前記設定された開口径に対応する再構成画像を生成することを特徴とする請求項５に記載の撮像装置。
【請求項７】
前記生成手段により生成された再構成画像を表示する表示手段をさらに有し、
前記表示手段は、ユーザにより前記下限値を下回る絞りの開口径が設定されて撮影が行われた場合に、前記設定された開口径に対応する再構成画像を撮影後に表示することを特徴とする請求項６に記載の撮像装置。
【請求項８】
分割瞳領域の各々を通過した光束を記録した画素信号であって、複数の被写体距離のいずれかに合焦させた再構成画像を生成可能な画素信号を出力する撮像装置の制御方法であって、
制御手段が、前記画素信号の撮影にあたり絞りの開口径の下限値を、複数の分割瞳領域を通過した光束が開口を通過可能な値に制御する制御工程を有することを特徴とする撮像装置の制御方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項に記載の撮像装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、制御方法およびプログラムに関し、特に撮影後に所定の被写体距離に合焦した画像を生成する技術に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置の絞りを調整することで、ユーザは所望の被写界深度を有する画像を撮影することができる。一方で、撮影シーンの被写界深度の調整は、撮影時のみならず撮影後にも行うことが求められている。
【０００３】
撮像装置の中には、撮像面に入射した被写体からの光束の強度分布をその入射方向の情報とともに光線空間情報（Light Field Information）として記録可能な撮像装置がある。このような撮像装置では、撮影により記録された光線空間情報から、撮影後に所定の被写界深度を有する画像を生成（再構成）することができる。また光線空間情報からは、被写界深度を調整した画像だけでなく、撮影時に合焦していた被写体とは異なる被写体に焦点を合わせた、いわゆるリフォーカスした画像を生成することができる。特許文献１には、交換可能な撮影レンズを有する、光線空間情報を記録可能な撮像装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−０４３５８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、撮影時の絞り口径によっては、得られた光線空間情報から被写界深度を調整した画像や所望の被写体に合焦した画像を生成できないことがある。即ち、このような画像の生成には様々な入射方向を有する光束を撮像素子に受光させる必要があるが、絞り口径が小さく設定されることで入射する光束が制限され、所望の条件の画像を生成できない場合がある。従って、撮影後に所望の条件の画像を生成可能にするためには、撮影時の絞り口径に適切な下限値を設ける必要があるが、従来そのような制御を行う撮像装置はなかった。特許文献１は、撮像レンズのＦ値がマイクロレンズのＦ値よりも小さい値に設定された（有効口径が大きい）場合の迷光の発生を防止するために、設定可能な絞りの開口径に上限値を設定することは開示しているが、下限値の設定については開示していなかった。
【０００６】
本発明は、上述の従来技術の問題点に鑑みてなされたものであり、撮影後に異なる条件の画像を生成可能な光線空間情報を出力する撮像装置、制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この課題を解決するため、例えば本発明の撮像装置は以下の構成を備える。すなわち、分割瞳領域の各々を通過した光束を記録した画素信号であって、複数の被写体距離のいずれかに合焦させた再構成画像を生成可能な画素信号を出力する撮像装置であって、画素信号の撮影にあたり絞りの開口径の下限値を、複数の分割瞳領域を通過した光束が開口を通過可能な値に制御する制御手段を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、撮影後に異なる条件の画像を生成可能な光線空間情報を出力することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る撮像装置の一例としてのデジタルカメラ１００とレンズ１０２の機能構成例を示すブロック図
【図２】デジタルカメラ１００の背面図
【図３】実施形態１に係るデジタルカメラ１００の光学系を模式的に示す図
【図４】撮影時の表示部２５８の表示例を示す図
【図５】実施形態１に係るリフォーカス優先撮影モードで撮影する場合の、一連の処理を示すフローチャート
【図６】実施形態１に係る絞り値の設定を説明するための図
【図７】実施形態１に係る像生成処理の一連の処理を示すフローチャート
【図８】実施形態１に係る像シフト処理の一連の処理を示すフローチャート
【図９】像の再構成処理を模式的に示す図
【図１０】実施形態２に係るリフォーカス優先撮影モードで撮影する場合の一連の処理を示すフローチャート
【図１１】絞り１４０の開口径の大きさと被写体からの光線が撮像素子２５２上に結像する状態との関係を模式的に示す図
【発明を実施するための形態】
【００１０】
（実施形態１）
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下では撮像装置の一例として、被写体からの光束の強度および入射角度の情報を有する画素値から構成される光線空間情報（ＬＦデータ）を記録可能なデジタルカメラに本発明を適用した例を説明する。しかし、本発明はＬＦデータを記録可能なデジタルカメラに限らず、絞り値を調整してＬＦデータを取得可能な任意の機器にも適用可能である。また、以下の説明では、ＬＦデータを再構成して得られる画像を再構成画像と呼ぶ。
【００１１】
（１  デジタルカメラの構成）
図１は、本発明の実施形態に係る撮像装置の一例としてのデジタルカメラ１００とレンズ１０２の機能構成例を示すブロック図である。本実施形態におけるカメラシステムは、デジタルカメラ１００に対して着脱可能なレンズ１０２内に撮影光学系１０１が設けられている。
【００１２】
被写体からの光束は撮影光学系１０１を介して撮像素子２５２の撮像面に結像する。撮影光学系１０１はズームレンズ１１０を有しており、超音波モータやステッピングモータを駆動源とするズームレンズ駆動部１１１によって光軸方向に駆動可能である。ズームレンズ電圧ドライバ１１３は、ズームレンズ駆動部１１１を駆動制御する電圧を発生する。
【００１３】
ズーム位置検出部１１２は、光軸Ｉに沿ったズームレンズ１１０の位置を検出するズームエンコーダである。ズーム位置検出部１１２は、焦点距離値に応じたパルス信号をズームレンズ制御部１０５に出力する。ズームレンズ制御部１０５は、ズームレンズ駆動部１１１を制御し、例えばユーザがデジタルカメラ１００もしくはレンズ１０２に不図示のスイッチにより設定した焦点距離になる光軸Ｉ上の位置にズームレンズ１１０が駆動されるように追従制御を行う。またズームレンズ制御部１０５は、ズーム位置検出部１１２が出力するパルス信号を取り込む。ズームレンズ制御部１０５は、ユーザが設定した焦点距離になる光軸Ｉ上の位置（目標位置）、ズームレンズ１１０の現在位置情報などに基づいて駆動信号を演算し、このデジタル駆動信号をズームレンズ電圧ドライバ１１３に出力する。ズームレンズ電圧ドライバ１１３は、入力された駆動信号（駆動電圧）に応じて、ズームレンズ駆動部１１１に電力を供給するドライバ部である。ズームレンズ電圧ドライバ１１３は、駆動信号に対し、スイッチングを行い、ズームレンズ駆動部１１１に電圧を印加してズームレンズ駆動部１１１の駆動を行う。
【００１４】
また撮影光学系１０１は、ＡＦレンズ１２０を有しており、超音波モータやステッピングモータを駆動源とするＡＦレンズ駆動部１２１によって光軸方向に駆動可能である。ＡＦレンズ電圧ドライバ１２３は、ＡＦレンズ駆動部１２１を駆動制御する電圧を発生する。フォーカス位置検出部１２２は、光軸Ｉに沿ったＡＦレンズ１２０の位置を検出するフォーカスエンコーダである。フォーカス位置検出部１２２は、被写体距離値に応じたパルス信号をＡＦレンズ制御部１０４に出力する。ＡＦレンズ制御部１０４は、ＡＦレンズ駆動部１２１を制御し、例えばユーザのデジタルカメラ１００のレリーズスイッチ１９１の操作により検出された被写体距離となる光軸Ｉ上の位置にＡＦレンズ１２０が駆動されるように追従制御を行う部分である。またＡＦレンズ制御部１０４は、フォーカス位置検出部１２２が出力するパルス信号を取り込む。ＡＦレンズ制御部１０４は、被写体距離になる光軸Ｉ上の位置（目標位置）、ＡＦレンズ１２０の現在位置情報などに基づいて駆動信号を演算し、このデジタル駆動信号をＡＦレンズ電圧ドライバ１２３に出力する。
【００１５】
ＡＦレンズ電圧ドライバ１２３は、入力された駆動信号（駆動電圧）に応じて、ＡＦレンズ駆動部１２１に電力を供給するドライバ部である。ＡＦレンズ電圧ドライバ１２３は、駆動信号に対し、スイッチングを行い、ＡＦレンズ駆動部１２１に電圧を印加し、ＡＦレンズ駆動部１２１の駆動を行う。
【００１６】
また撮影光学系１０１は、絞り１４０を有しており、ステッピングモータ等を駆動源とする絞り駆動部１４１によって絞り１４０の開口の大きさが制御される。絞り制御部１０６は、絞り駆動部１４１を制御し、例えば撮影する被写体の明るさに応じて適正露光量となる絞りの値を演算するとともに、該絞り値となる駆動信号を演算して絞り駆動部１４１に出力する。また、後述するように絞り制御部１０６は、絞り設定スイッチ１９４においてユーザが設定した絞り値、あるいはボディＣＰＵ１０９からの指示に応じて駆動信号を演算し、絞り駆動部１４１に出力する。
【００１７】
レンズＣＰＵ１０３は、レンズ１０２側の種々の制御を行う中央処理装置である。レンズＣＰＵ１０３内には、ズームレンズ制御部１０５と、ＡＦレンズ制御部１０４及び絞り制御部１０６が設けられている。レンズＣＰＵ１０３は、レンズ１０２とデジタルカメラ１００との間に設けられたレンズ接点１９０を介して、ボディＣＰＵ１０９との間で通信が可能である。ＥＥＰＲＯＭ１３１は、レンズ１０２に関する種々の固有情報であるレンズデータなどを格納する不揮発性の記憶部である。レンズ用メモリ１３２は、レンズＣＰＵ１０３が演算処理を行う際に種々のデータを格納する揮発性の記憶部である。
【００１８】
撮像素子２５２は、例えば固体撮像素子の１つであるＣＭＯＳセンサである。任意の画素へのランダムアクセスが可能であり、ディスプレイ用に間引いた読み出しが容易に行えるため、表示部２５８において高い表示レートで画像を表示することができる。撮像素子２５２は、上述した特長を利用し、ディスプレイ画像出力動作（撮像素子２５２の受光領域のうち一部を間引いた領域での読み出し）および高精彩画像出力動作（全受光領域での読み出し）を行う。
【００１９】
撮像素子２５２と撮影光学系１０１との間にはマイクロレンズアレイ（ＭＬＡ）２０が配設されており、ＭＬＡ２０上にはマイクロレンズが格子状に並んでいる。１つのマイクロレンズには、撮像素子の複数の光電変換素子が対応付けられており、マイクロレンズに入射した光は該複数の光電変換素子に結像されて光電変換される。１つのマイクロレンズに対応付けられた光電変換素子の各々は、分割された瞳領域の各々を通過した光束に対応した画素信号を出力するためＬＦデータが得られる。なお、ＭＬＡ２０の機能や配置の詳細については図３を用いて後述する。
【００２０】
また、後述するように撮像素子２５２から得られるピント評価量および適当な露光量に基づいて、ボディＣＰＵ１０９は適切に撮影光学系１０１を調整する。該調整によって被写体からの反射光は適切な光量で撮像素子２５２に露光されるとともに、撮像素子２５２近傍で被写体像が結像する。ボディＣＰＵ１０９は、後述するように撮影画像のデフォーカス量（ボケ量）に基づいて主被写体の判定を行い、レンズＣＰＵ１０３を介してＡＦレンズ１２０の駆動を制御する。
【００２１】
画像処理部１５０は、内部にＡ／Ｄ変換器、ホワイトバランス回路、ガンマ補正回路、補間演算回路等を有しており、撮像素子２５２から入力されたＬＦデータに対して各種処理を行なって記録用の画像を生成する。画像処理部１５０で行われる各種処理には、後述する像シフト処理、像生成処理、相関計算処理が含まれる。また、画像処理部１５０は、生成した画像を記録部に出力を行うとともに、予め定められた方法を用いて画像、動画、音声などの圧縮を行う。さらに画像処理部１５０はボディＣＰＵ１０９の指示により生成した画像を表示部２５８に出力する。
【００２２】
ボディＣＰＵ１０９は、例えばＣＰＵやＭＰＵなどのプログラマブルプロセッサであり、例えば不図示の不揮発性メモリに記憶されたプログラムを読み出し、メモリ１９７に展開して実行することによりカメラシステム全体の種々の制御を行う。
【００２３】
ボディＣＰＵ１０９は、レリーズスイッチ１９１が操作されるとレリーズスイッチ１９１が半押し、又は、全押しされたことを検知し、撮像素子２５２の駆動、画像処理部１５０の動作などを制御する。ボディＣＰＵ１０９は、後述する撮影モードに応じて算出した絞り値に基づいて絞り駆動部１４１を制御するため、レンズＣＰＵ１０３との間で通信を行う。ボディＣＰＵ１０９は、さらに表示部２５８によって液晶モニタ等に情報表示を行う情報表示装置の各セグメントの状態を制御する。
【００２４】
レリーズスイッチ１９１は、図示しないレリーズボタンの半押し動作（ＳＷ１のＯＮ）あるいはレリーズボタンの全押し動作（ＳＷ２のＯＮ）を検出する。レリーズボタンの半押し動作の検出により、一連の撮影準備動作（測光動作や焦点調節動作等）が開始され、レリーズボタンの全押し動作（ＳＷ２のＯＮ）の検出により、撮影動作（撮像素子２５２から読み出されたＬＦデータの記録媒体への記録）が開始させる。
【００２５】
図２は本実施形態のデジタルカメラ１００の背面図の一例を示している。選択スイッチ１９２は任意方向の操作が可能な選択スイッチで、不図示の公知の撮影メニューの項目を選択したり、後述するように、ユーザが主被写体を選択したりするときに用いるスイッチである。
【００２６】
決定スイッチ１９３は、不図示の公知の撮影メニューにおいてユーザが操作を決定をしたり、後述するように、ユーザが主被写体を決定したりするときに用いるスイッチである。また、絞り設定スイッチ１９４は、ユーザが不図示の操作ダイヤルを操作して絞り値を設定することができるスイッチである。
【００２７】
メインスイッチ１９５はデジタルカメラ１００を起動させるためのスイッチである。メインスイッチ１９５は２つのポジション（１９５−１，１９５−２）が選択可能なスイッチである。１９５−１のポジションにメインスイッチ１９５をセットしたときは「ＯＦＦ」を示し、デジタルカメラ１００はスリープ状態となる。また１９５−２のポジションにメインスイッチ１９５をセットしたときは「ＯＮ」を示し、デジタルカメラ１００はスリープ状態から駆動状態となり、各種スイッチの操作等を受け付けて静止画や動画の撮影のための動作を行う状態となる。
【００２８】
モードスイッチ１９６は、デジタルカメラ１００の撮影モードを設定するためのスイッチである。ユーザは、少なくともユーザが設定した撮影条件を優先する撮影が可能なモードと、「リフォーカス優先撮影モード」とを設定することができる。本実施形態において「リフォーカス優先撮影モード」とは、例えば主被写体に合焦した撮影を行った後に、撮影時とは異なる被写体距離に合焦させた（例えば主被写体以外の被写体に合焦させた）画像を生成可能なＬＦデータを取得する撮影モードをいう。
【００２９】
メモリ１９７は、実際の記憶部に加えて記録に必要な処理回路を備えている。
【００３０】
表示部２５８はデジタルカメラ１００の背面に取り付けられており、例えば撮影時や再生時に、ＬＦデータから生成された画像データを表示する。また、撮影環境や撮影光学系１０１の状態等の情報を表示する場合、ボディＣＰＵ１０９は該情報を示すＧＵＩデータを表示部９に表示させる。表示部２５８は、例えば有機ＥＬ素子により構成すれば消費電力を小さくできるとともに、表示部２５８の薄型化を図ることができ、ひいてはデジタルカメラ１００の省電力化および小型化を図ることができる。
【００３１】
図３は、本実施形態における撮影光学系を模式的に示す図である。本実施形態では、光線の位置に加えて角度の情報を取得したＬＦデータを取得する。本実施形態では、ＬＦデータの取得のために撮影光学系１０１の結像面近傍にＭＬＡ２０を配置するとともに、ＭＬＡ２０を構成する１つのマイクロレンズに対して複数の画素を対応させている。
【００３２】
図３（ａ）は撮像素子２５２とＭＬＡ２０の関係を模式的に示している。図３（ｂ）は撮像素子２５２の画素とＭＬＡ２０の対応を模式的に示す図である。図３（ｃ）はＭＬＡ２０によってＭＬＡ２０の下に設けられた画素が特定の瞳領域と対応付けられることを示している。
【００３３】
図３（ａ）に示すように、撮像素子２５２上にはＭＬＡ２０が設けられており、ＭＬＡ２０の前側主点は撮影光学系１０１の結像面近傍になるように配置されている。本実施形態では撮像素子２５２上のＭＬＡ２０は、各マイクロレンズの前側主点が撮影光学系１０１の結像面近傍となるように配置される。また図３（ａ）の正面図（ｚ軸負の方向にＭＬＡ２０を見た図）に示されるように、ＭＬＡ２０は撮像素子２５２の光電変換素子（以下、画素という）を覆うように配置されている。
【００３４】
ここで、ＭＬＡ２０の各マイクロレンズには、図２（ｂ）に示されるように撮像素子２５２の複数の画素が対応付けられている。図３（ｂ）に示す格子状の枠は、撮像素子２５２の各画素を示している。２０ａ，２０ｂ，２０ｃ，２０ｄはＭＬＡ２０を構成する各マイクロレンズを示す。図３（ｂ）に示すように、マイクロレンズ１つに対して複数の画素が割り当てられており、図３（ｂ）の例では２５個の画素が１つのマイクロレンズに対して設けられている（各マイクロレンズの大きさは画素の大きさの５倍×５倍の大きさである）。
【００３５】
また図３（ｃ）は、ＭＬＡ２０の各マイクロレンズに対応付けられた撮像素子２５２の画素に結像される光束と、撮影光学系１０１の瞳領域との対応関係を示している。図３（ｃ）では便宜上、１つのマイクロレンズの主点を通りＹ軸と直交するＸＺ断面について示した該マイクロレンズ及びレンズに対応付けられた撮像素子２５２の画素と、Ｚ軸と直交する射出瞳面３０（ＸＹ平面）を示した瞳領域とを同一平面に示している。図３（ｃ）において画素２１、２２、２３、２４、２５は、例えば図３（ｂ）の画素２１ａ〜２５ａと対応しており、それぞれ分割瞳領域を通過した光束が結像される。つまり、ＭＬＡ２０のマイクロレンズによって画素２１〜２５の各々は撮影光学系１０１の射出瞳面上の特定の分割瞳領域と共役になるように設計されている。図３（ｃ）の例では、画素２１と領域３１が、画素２２と領域３２が、画素２３と領域３３が、画素２４と領域３４、画素２５と領域３５がそれぞれ対応している。従って、マイクロレンズの位置、及び射出瞳面と撮像素子６の距離が定まることにより、該マイクロレンズに対応付けられた画素の各々に入射する光束の入射角度の情報が実質的に取得可能である。
【００３６】
図４は、いわゆるライブビュー撮影時に表示部２５８に表示される被写体像の様子を示している。図４において、表示部２５８には、被写体像２５８ａと撮影条件（シャッタ速度、絞り値、ＩＳＯ感度等）や露出レベル表示、電池残量表示等の撮影情報２５８ｂが表示されている。図４の例では、主被写体３１０は主被写体であり、その他の被写体３２０、３３０、もしくは、３４０は主被写体以外の被写体である。
【００３７】
また被写体像２５８ａ表示部内には、複数のＡＦ検出枠３０１が設けられている。撮像素子２５２からのピント検出結果に基づいて選択されたＡＦ検出枠３０２は別の表示形態（色違いでの表示等）で表示されるため、ユーザは合焦している主被写体部を知ることができる。
【００３８】
なお、デジタルカメラ１００の選択スイッチ１９２と決定スイッチ１９３を用いれば、撮像素子２５２からのピント検出結果によらず、ユーザは複数のＡＦ検出枠３０１の中から合焦させたい任意の位置のＡＦ検出枠を選択可能である。ユーザが選択したＡＦ検出枠３０２に基づいて、撮像素子２５２からのピント検出結果から主被写体３１０までの距離を演算することで撮影された画像がボケた画像になることを防止する。
【００３９】
（２  像生成処理および像シフトの概要）
再構成画像を生成するための像生成処理および像シフト処理の概要について図９を用いて説明する。
【００４０】
図９（ｂ）は、撮像素子２５２が被写体像に係る光束を捕捉した面（取得面）について、再構成画像の各画素を生成する際に加算される画素を示している。図９（ｂ）において、画素Ｘ1,i、Ｘ2,i、Ｘ3,i、Ｘ4,i、Ｘ5,iはそれぞれ、分割瞳領域１〜５の各々を通過してｉで規定される位置のマイクロレンズに入射した光束に対応する画素を示している。図９では説明を簡単にするためＬＦデータは、瞳を１つの方向に５分割した分割瞳領域を定義し、各マイクロレンズについて該分割瞳領域の各々を通過した光束を記録したものであるとする。従って、図９（ｂ）において縦方向には同一のマイクロレンズに対応する画素が並び、横方向には対応する光束が通過した分割瞳領域が同一である画素が並んでいる。物理的な位置との関係においては、Ｘ1,iは図３（ｃ）の領域２１から得られるデータを、Ｘ2,iは図３（ｃ）の領域２２から得られるデータを、以下添え字の３、４、５は領域２３、２４、２５に対応していることを示している。
【００４１】
取得面に対応する焦点状態の再構成画像を生成するためには、図９（ｂ）に破線で示すように各マイクロレンズに対応する画素の画素値を加算すればよい（像生成処理）。具体的には、Ｘ1,i、Ｘ2,i、Ｘ3,i、Ｘ4,i、Ｘ5,iの画素値の和Ｓiを求めることにより、ｉで規定される位置のマイクロレンズに対応する、再構成画像の画素値を得ることができる。また、再構成画像を生成する際に中央の分割瞳領域３を通過した光束に対応する画素値のみを使用した場合、瞳を絞った状態と等価、即ち撮像素子に入射する光束を中央の分割瞳を通過する光束に制限した場合と等価な画像となる。このため、得られる再構成画像は、全画素を加算して得られる画像よりも被写界深度が深い画像となる。
【００４２】
次に図９（ａ）に示されるように、取得面よりも被写体寄りに規定される面（再構成面１）について再構成画像を生成する場合を考える。図３で説明したように、本実施形態の撮影光学系１０１は、各画素に入射する光束を特定の分割瞳領域に限定しているために、入射角度が既知である。この角度に沿って再構成面での各画素の位置を再構成する。具体的にはＸ1,iのように分割瞳領域の添え字が１のものは図９（ｄ）において４１に示すような角度で入射しているとする。分割瞳領域２、３、４、５はそれぞれ４２、４３、４４、４５に対応する。このとき再構成面１でのマイクロレンズＸiに入射した光束は、取得面においては、Ｘi-2からＸi+2に分散して入射していることになる。より具体的には、Ｘ1,i-2、Ｘ2,i-1、Ｘ3,i、Ｘ4,i+1、Ｘ5,i+2に分散している。再構成面１に対応する焦点状態の再構成画像を生成するためには、図９（ａ）に破線で示すように、入射角度に応じてシフトさせた画素を加算すれば良いことが分かる。再構成面１における再構成画像を生成するため、分割瞳領域が１のものは右に２画素、分割瞳領域が２のものは右に１画素、分割瞳領域が３のものはシフトなし、分割瞳領域が４のものは左に１画素、分割瞳領域が５のものは左に２画素、それぞれシフトさせる。これにより各画素について入射角度に応じたシフト量を与えることができる。このように光束の入射方向に基づいて再構成面における対応する画素をシフトさせることを像シフト処理と呼ぶ。
【００４３】
その後、図９（ａ）の縦方向に（即ち各分割瞳領域について）加算することで再構成面１に対応する焦点状態の再構成画像の画素値を得ることができる。具体的には、この再構成画像の画素値は、Ｘ1,i-2、Ｘ2,i-1、Ｘ3,i、Ｘ4,i+1、Ｘ5,i+2の和Ｓiであり、Ｘiに入射した光の角度方向の積分値を得ることができる。これにより再構成面１での再構成画像が得られる。
【００４４】
ここで、図９（ｄ）に示すように、再構成面１においてＸiに輝点があるとすると、光束は取得面に対してＸ1,i-2、Ｘ2,i-1、Ｘ3,i、Ｘ4,i+1、Ｘ5,i+2に分散し、いわゆるボケ状態にある。しかしながら、再構成面１での再構成画像を生成すると、再びＸiに輝点が生成されコントラストの高い像が得られる。図９（ｃ）から分かるように、再構成面２においても再構成面と同様に像を生成することができる。再構成面を配置する方向が異なるとシフトさせる方向を反転させれば良い。
【００４５】
以上説明した像生成処理および像シフト処理によって、撮影時には合焦していない撮影画像の任意の被写体（例えば、図４に示した被写体３２０、３３０、もしくは、３４０）に合焦させる再構成画像を生成することが可能となる。
【００４６】
（３  リフォーカス優先撮影モードにおける撮影の一連の動作）
ユーザが撮影モードをリフォーカス優先撮影モードに設定して撮影を行う場合の一連の処理を図５に示すフローチャートを用いて説明する。
【００４７】
フローチャートに対応する処理は、ボディＣＰＵ１０９が、例えば不揮発性メモリに記憶されている処理プログラムを読み出し、メモリ１９７に展開して実行することにより実現することができる。本処理は例えばメインスイッチ１９５に対する操作が検出された場合に開始される。
【００４８】
まずＳ１０１０においてボディＣＰＵ１０９は、メインスイッチ１９５がＯＮであるかどうかの判定を行う。ボディＣＰＵ１０９は、メインスイッチ１９５がＯＦＦであれば、デジタルカメラ１００はスリープ状態となるため処理を終了する。ボディＣＰＵ１０９はメインスイッチ１９５がＯＮであるときは処理をＳ１０２０へ進める。
【００４９】
Ｓ１０２０においてボディＣＰＵ１０９は、モードスイッチ１９６がリフォーカス優先撮影モードに設定されているかを判定する。ボディＣＰＵ１０９は、撮影モードがリフォーカス優先撮影モードに設定されているときは処理をＳ１０３０に進め、リフォーカス優先撮影モードに設定されていないときは処理をＳ１２５０に進める。
【００５０】
Ｓ１０３０においてボディＣＰＵ１０９は、ユーザが絞り設定スイッチ１９４を用いて設定する絞り値に対して、絞り値の値を大きくする側（以下、小絞り側という）に制限を設ける。小絞り側の絞り値の制限について、図６を用いて説明する。
【００５１】
図３（ｃ）において示したように、画素２１〜２５は、例えば図３（ｂ）の画素２１ａ〜２５ａと対応しており、それぞれ分割瞳領域を通過した光束が結像される。一方で、撮影光学系１０１において絞り１４０の開口径が小さくなると、分割瞳領域を通過した光束の一部が遮られ、限られた画素例えば画素２３（対応する画素２３ａ）に光束が結像される。また、図９において示したように、取得面と異なる再構成面に対応する再構成画像を生成するためには、入射方向の異なる複数の分割瞳領域を通過した光束を受光することが必要である。換言すれば、絞り１４０によって例えば各マイクロレンズ下の中心の画素に光束が制限されるときは、像シフト処理が制限されて再構成画像の生成ができないこととなる。
【００５２】
このため、絞り１４０を制御する際の開口径の下限値を規定するための絞り値Ｆｍｉｎを設定する。絞り値Ｆｍｉｎは、絞りの開口径の下限値を複数の分割瞳領域を通過した光束が通過可能な開口径の値にするように設定される。分割瞳領域を対応する画素で表すと、例えば絞り値Ｆｍｉｎは、ＭＬＡ２０を構成する各マイクロレンズ２０ａのＦナンバーをf、１つのマイクロレンズに対して格子状に配列された画素群の一列の画素数をｎとして、以下のように定義される。
Ｆｍｉｎ＝  ｎｆ/３（ｎが奇数のとき）
Ｆｍｉｎ＝  ｎｆ/２（ｎが偶数のとき）
図６（ａ）は、例えば一列分の画素数が５個（ｎ＝奇数）の場合に、マイクロレンズ２０ａの中心に配列されている画素２３ａの周囲に配列された画素が被写体からの光束を受光している様子を示している。図６（ａ）のハッチングで示した各画素は被写体からの光束を受光している画素である。即ち、絞り値Ｆｍｉｎに対応する絞りの開口径により画素２３ａの周囲に配列された画素２２ａ、２４ａ、２３ａａ、２３ａｂ、２３ａｃ、２３ａｄ、２３ａｅ、２３ａｆに被写体からの光束が入射する。同様に、図６（ｂ）は、例えば一列分の画素数が４個（ｎ＝偶数）の場合、マイクロレンズ２０ａの中心に配列された画素２２ａ、２３ａ、２２ａａ、２２ａｂに被写体からの光束が入射する。このように複数の分割瞳領域を通過した光束を受光可能にすることで、ＬＦデータから再構成画像の生成が可能になる。
【００５３】
ボディＣＰＵ１０９は、Ｆｍｉｎを小絞り側の制限値として設定する。絞り設定スイッチ１９４において設定可能な絞り値は、例えば、開放側の絞り値はレンズ１０２の撮影光学系１０１の開放絞り値であるＦ２．８から、小絞り側はＦｍｉｎまでに制限されることとなる。
【００５４】
Ｓ１０４０においてボディＣＰＵ１０９は、レリーズスイッチ１９１の半押し動作が行われたかどうかの判断を行う。ボディＣＰＵ１０９は反押し動作が行われていると判断したときは処理をＳ１０５０へ進める。
【００５５】
Ｓ１０５０においてボディＣＰＵ１０９は、ユーザが絞り設定スイッチ１９４にて設定した絞り値を読み込み、Ｓ１０３０において設定された絞り値（Ｆｍｉｎ）の制限値を超えたかを判断する。即ち、ボディＣＰＵ１０９は、ユーザにより指定されている絞りの開口径が再構成画像を生成可能な開口径の下限値を下回るかを判断する。ボディＣＰＵ１０９は、ユーザの設定した絞り値が制限値を超えている場合は処理をＳ１０５０に処理を進め、制限値を超えていない場合は処理をＳ１３００へ進める。
【００５６】
Ｓ１３００においてボディＣＰＵ１０９は、Ｓ１０５０において読み込んだユーザの設定した絞り値を、レンズ接点１９０を介してレンズＣＰＵ１０３に送信する。絞り制御部１０６は設定された絞り値に応じて絞り駆動部１４１を駆動制御し、絞り１４０をユーザの設定した絞り値に相当する開口径にする。ボディＣＰＵ１０９はその後処理をＳ１０８０へ進める。
【００５７】
Ｓ１０６０においてボディＣＰＵ１０９は、表示部２５８内に例えば「絞り値が制限値を超えました。制限値に設定変更します」等の警告表示を行って、ユーザの設定した絞り値が制限値を超えたことをユーザに通知すると共に、ボディＣＰＵ１０９は設定された絞り値を制限値に変更して、Ｓ１０７０に処理を進める。
【００５８】
Ｓ１０７０においてボディＣＰＵ１０９は、Ｓ１０６０にて設定した制限値の絞り値を、レンズ接点１９０を介してレンズＣＰＵ１０３に送信する。そして、その制限値の絞り値に応じて絞り制御部１０６は絞り駆動部１４１を駆動制御し、絞り１４０を設定された制限値である絞り値に相当する開口径にする。その後、ボディＣＰＵ１０９はＳ１０８０に処理を進める。
【００５９】
Ｓ１０８０においてボディＣＰＵ１０９は、撮像素子２５２を適当な時間露光して、読み出す（Ａ／Ｄ変換する）ことによりデータを取得する。なお、露光時間と露光量から撮影において適当な露出量を計算するようにしてもよい。
【００６０】
Ｓ１０９０においてボディＣＰＵ１０９は、相関計算処理を行う。相関計算処理では、いわゆる位相差ＡＦによるピント位置を求めることができる。相関計算処理は、予め設定された評価位置の数（いわゆるＡＦ検出枠の数）に対応して繰り返し演算を行う。相関計算処理は、適切に設定された評価枠（評価対象の領域）の大きさに応じた画素数の範囲で相関計算を行う。相関計算は例えばΣ｜Ａｉ  −  Ｂｉ｜により計算すれば良い。ここで、Aiは特定の瞳領域を通過したi番目の画素の輝度を示している。BiはAiとは異なる瞳領域を通過したi番目の画素の輝度を示している。例えば図３において、画素２２に対応する画素を並べたものをAi、画素２４に対応する画素を並べたものをBiとすれば良い。また相関計算の評価値は、予め設定された評価点の数（焦点合わせの探索を行うピントの深さに対応）だけ得られる。上記に示したΣ｜Ａｉ  −  Ｂｉ｜という評価式においては、相関値が小さくなった個所が最もピント状態が良い個所に対応している。相関評価値が最良となる点を相関量評価に基づく最良ピント位置として格納する。
【００６１】
Ｓ１１００においてボディＣＰＵ１０９は、Ｓ１０９０において求めたピント位置から各ＡＦ検出枠３０１でのデフォーカス量を算出する。
【００６２】
Ｓ１１１０においてボディＣＰＵ１０９は、Ｓ１１００で求めた各ＡＦ検出枠３０１でのデフォーカス量からユーザが主被写体としている被写体を判定する。具体的には、ボディＣＰＵ１０９は例えば各ＡＦ検出枠３０１でのデフォーカス量の分布状況やその絶対値の差から、ある特定の値及びその近傍のデフォーカス量となっているＡＦ検出枠３０１の数が多いエリアを特定する。ボディＣＰＵ１０９はそのエリア内の被写体を主被写体３１０と判定すると共に、そのエリアで一番デフォーカス量が小さいものをピント位置のＡＦ検出枠３０２として表示する（図４参照）。あるいは、前述のようにユーザが選択スイッチ１９２により合焦させたい位置のＡＦ検出枠３０２を指定した場合、ボディＣＰＵ１０９は指定されたＡＦ検出枠３０２におけるデフォーカス量と類似するデフォーカス量を持つＡＦ検出枠を特定しても良い。このとき、該ＡＦ検出枠が分布するエリア内の被写体を主被写体３１０と判定しても良い。なお、ユーザが主被写体３１０を指定する場合は、ボディＣＰＵ１０９表示部２５８内に例えば「主被写体を選択／決定して下さい」等の表示を行えば、ユーザにとっては利便性が向上する。また、撮影範囲内（図４で被写体像２５８ａ）においてＡＦ検出領域外（ＡＦ検出枠３０１が配置されていない領域）となる被写体（例えば、被写体３３０及び３４０）に対してもＳ１０６０の処理によりデフォーカス量が得られている。このためボディＣＰＵ１０９は主被写体３１０以外の被写体のデフォーカス量をメモリ１９７に記憶させても良い。
【００６３】
Ｓ１１２０においてボディＣＰＵ１０９は、Ｓ１１１０の演算結果をレンズ接点１９０を介してレンズＣＰＵ１０３へ送信して、ＡＦレンズ１２０を駆動させる。ボディＣＰＵ１０９はＳ１１１０により求まった主被写体３１０が合焦状態となる位置にＡＦレンズ１２０を移動させる。
【００６４】
Ｓ１１３０において画像処理部１５０は、ボディＣＰＵ１０９の指示に応じて像生成処理を行う。像生成処理の動作の詳細は図８を用いて後述するが、これにより撮像素子２５２に結像した主被写体３１０の像がメモリ１９７に生成される。
【００６５】
Ｓ１１４０においてボディＣＰＵ１０９は、Ｓ１１３０にて生成された主被写体３１０に合焦した画像を撮影前のプレビュー画像として表示部２５８に表示する。
【００６６】
Ｓ１１５０においてボディＣＰＵ１０９は、ユーザが絞り設定スイッチ１９４を操作することによって絞り値が変更されたかを判断する。これは、Ｓ１１４０で表示部２５８に表示されたプレビュー画像を確認後、撮影前にユーザが絞り値を変更してから撮影する場合があるためである。ボディＣＰＵ１０９はすでに取得している絞り値と絞り設定スイッチ１９４の絞り値を比較して、絞り値が異なる場合は処理をＳ１０５０に進め、変更されていない場合はＳ１１５０に処理を進める。
【００６７】
Ｓ１１６０においてボディＣＰＵ１０９は、レリーズスイッチ１９１が全部押し込まれたか（ＳＷ２がオンになったかどうか）の判断を行う。ボディＣＰＵ１０９はレリーズスイッチ１９１が全部押し込まれていないときはＳ１０６０に戻り、全部押し込まれているときはＳ１１７０に処理を進める。
【００６８】
Ｓ１１７０において、ボディＣＰＵ１０９は撮影動作を制御すると共に、撮像素子２５２に結像した主被写体３１０の像を、公知の画像処理技術を経て画像処理部１５０で処理した記録画像としてメモリ１９７もしくは不図示の記録媒体に記録する。
【００６９】
Ｓ１１８０においてボディＣＰＵ１０９は、Ｓ１１７０で生成した記録画像を表示部２５８に表示する。これにより、ユーザは撮影直後に主被写体３１０に合焦した画像を確認および取得することができる。
【００７０】
Ｓ１１９０においてボディＣＰＵ１０９は、メインスイッチ１９５がＯＦＦになったかどうかのボディＣＰＵ１０９が判断を行い、メインスイッチ１９５がＯＦＦの場合は処理をＳ１０４０に戻し、メインスイッチ１９５がＯＮの場合は一連の処理を終了する。
【００７１】
一方、Ｓ１２５０においてボディＣＰＵ１０９は、絞り値の制限を解除する。これにより、ユーザは自分が意図する絞り値で被写体を撮影することが可能になる。
【００７２】
Ｓ１２６０において、通常の撮影動作を行なって処理を終了する。なおＳ１２６０の動作は公知の動作でありため詳細な説明を省略する。
【００７３】
（４  像生成処理の動作）
上述の像生成処理の動作について、図７を用いて説明する。なお本実施形態においては取得したＬＦデータはＳ１１４０においてプレビュー表示を行うために再構成画像が生成される。このため、取得面において入射した光束を再現した画像を生成するものであるから、像シフト処理を行うことなく像生成処理が行われる。
【００７４】
Ｓ１６１０において、画像処理部１５０はＳ１６４０における加算処理のための領域のデータを初期化する（０で埋める）。このときのデータ領域の大きさはＭＬＡ２０のマイクロレンズの数量あれば良い。
【００７５】
Ｓ１６２０からＳ１６６０はＭＬＡ２０のマイクロレンズ数に基づくループを形成している。Ｓ１６２０において、ＭＬＡ２０を構成するマイクロレンズの数に応じてループ計算が実行される。例えば、図３に示した例では、元の撮像素子の画素数を２５分割（瞳分割の数）した数がマイクロレンズの数となる。画像処理部１５０はマイクロレンズの数だけループ処理を行なうと処理をＳ１６７０に進める。
【００７６】
Ｓ１６３０からＳ１６６０はさらに瞳分割の数に応じたループを形成している。画像処理部１５０は瞳分割の数だけループ処理を行うと処理をＳ１６６０に進める。即ち再び処理はＳ１６２０へ戻る。
【００７７】
Ｓ１６４０において、画像処理部１５０は処理対象であるマイクロレンズに対応する画素の画素値を加算する。瞳分割の数に応じた数だけループ計算が実行されると、例えば、図３に示した例では、２５個に分割されていた画素について、２５個のそれぞれの瞳位置からの光束を受光した画素が加算される。また図９の例では各マイクロレンズＸiについて、画素値の和Ｓiが求められる。画素値の総和シフト量が画素の整数倍でない場合は、Ｓ１６４０において、適切に内分されながら加算される（重なっている面積に応じて適切に加算すれば良い）。
【００７８】
Ｓ１６７０において、呼び出し元のＳ１１３０に戻る。
【００７９】
以上本実施形態における一連の動作を説明した。なお本実形態では、絞り値の制限値をマイクロレンズのＦナンバーと光束を受光する画素数により規定するものして説明したが、絞り値の制限値の設定方法はこれに限らない。画像解析によって得られる被写体の特徴量に基づいて制限値を設定してもよい。例えば、公知の顔検出処理で得られる顔領域の被写体距離と深度の情報に基づいて、顔領域のリフォーカスが可能な範囲で絞り値を制限することなどが考えられる。
【００８０】
以上説明したように、本実施形態では絞りの開口径の下限値を複数の分割瞳領域を通過した光束が通過可能にする値にすることで、再構成可能なＬＦデータを取得できるようにした。即ち撮影後に異なる条件の画像を生成可能なＬＦデータを出力することが可能になる。また本実施形態ではリフォーカス優先撮影モードに設定されているときは絞り値を再構成可能なＬＦデータを取得可能な絞り値に制限するようにした。これによりユーザが絞り値を増大させてＬＦデータを取得しようとする場合であっても撮影後に異なる条件の画像を生成可能なＬＦデータを出力することが可能になる。
【００８１】
さらに本実施形態では、絞り値を再構成可能なＬＦデータを取得可能な絞り値に制限した場合、ユーザに対する通知を行なうようにした。これによりユーザが絞り値を増大させた操作を行っても、ユーザは撮影後に異なる条件の画像を生成可能なＬＦデータが出力されることを認識することができる。
【００８２】
（実施形態２）
上述した実施形態１では、リフォーカス優先撮影モードに設定されている場合に、異なる条件の再構成画像をＬＦデータから生成できなくなる絞り値をユーザが設定できないように制御する方法について説明した。本実施形態では、ユーザに所望の絞り値の設定を許容した上で、ユーザの所望する絞り値に対応する画像を提示しつつ、異なる条件の再構成画像を生成可能なＬＦデータを記録する方法について説明する。本実施形態の説明において、デジタルカメラ１００の機能構成は実施形態１と同一であるものとし、説明は省略する。
【００８３】
（１  絞りを設定した場合の再構成画像の生成の概要）
図１１を用いて、異なる条件の再構成画像をＬＦデータから生成できなくなる絞り値がユーザにより設定された場合に、対応する再構成画像をＬＦデータから生成する原理について説明する。
【００８４】
図１１は絞り１４０の開口径と、撮像素子２５２上に結像する物体（被写体）からの光束の関係を示している。図１１では、それぞれ５１は物体平面を、５１ａ、５１ｂは物体上の適当な点を、５２は撮影光学系１０１の瞳平面を、６１、６２はＭＬＡ２０上の特定のマイクロレンズをそれぞれ示している。また、撮像素子２５２、ＭＬＡ２０、領域３１〜３５は図３で示すものにそれぞれ対応している。
【００８５】
物体上の点５１ａから出射して瞳平面上の領域３１及び３３を通過する光束を実線で、物体上の点５１ｂから出射して瞳平面上の領域３１及び３３を通過する光束を破線で図示した。図１１の例では、図３にて説明したように、撮影光学系１０１の結像面近傍にＭＬＡ２０を配置することで、撮像素子６と撮影光学系１０１の瞳平面５２が共役の関係にある。さらに、物体平面５１とＭＬＡ２０が共役の関係にある。このため物体上の点５１ａから出た光束はマイクロレンズ６１に、５１ｂを出た光束はマイクロレンズ６２に到達し、領域３１から３５それぞれを通過した光束はマイクロレンズ下に設けられたそれぞれ対応する画素に到達する。
【００８６】
例えば絞り１４０の開口径が所定の絞り値に設定された場合、該開口径を介した被写体からの光束は、瞳平面５２に矢印７１で示した領域（領域３２〜３４の全ておよび領域３１及び３５の一部）を通過する光束となる。そして瞳平面５２を通過した光束はＭＬＡ２０の下のそれぞれ対応する画素（図３（ｃ）では画素２１〜２５）に到達する。各光束を受光した画素の情報に対して像生成処理を行うことで、設定された所定の絞り値に対応した被写界深度を有する被写体像を得ることができる。
【００８７】
一方、像シフト処理を行うことにより絞りを絞った状態と等価な再構成画像を得ることができる。所望の再構成画像の絞り値に対応した仮想的な絞りの開口径が矢印７２で与えられているとする。被写体からの光束は瞳平面５２では矢印７２で示した領域（領域３２〜３４のほぼ全て）を通過する光束となる。そして該光束はＭＬＡ２０の下のそれぞれ対応する画素（図３（ｃ）では画素２２〜２４）に到達する。つまり、仮想的に到達した光束に対応する画素値を用いればより絞りを絞った状態と等価な再構成画像が生成される。即ち現に光束を受光した画素２１〜２５のうちの画素２２〜２４の情報を用いて再構成画像を生成することができる。よって、より大きな開口径に絞りを制限して現に取得した画素の情報を用いて、より開口径の小さな再構成画像を得ることができる。換言すれば、撮影後にユーザの設定した被写界深度に変更した再構成画像を得ることができる。
【００８８】
図１０は実施形態２に係るリフォーカス優先撮影モードで撮影する場合の一連の処理を示すフローチャートである。以下、図１０を用いて、撮影後にユーザが絞り値コントロール処理を行う場合の動作について説明する。
【００８９】
Ｓ３０１０からＳ３０６０、及び、Ｓ３３１０、Ｓ３３２０、Ｓ３４００の動作は、それぞれ実施形態１で説明したＳ１０１０からＳ１０６０、及びＳ１２５０、Ｓ１２６０、Ｓ１３００に対応するため、説明を省略する。
【００９０】
Ｓ３０７０においてボディＣＰＵ１０９は、Ｓ３０５０（Ｓ１０５０）において比較に用いた、ユーザにより設定された絞り値をメモリ１９７に記憶させ、Ｓ３０８０に処理を進める。
【００９１】
Ｓ３０８０からＳ３１９０の動作は、実施形態１で説明したＳ１０７０からＳ１１８０に対応するため、その説明を省略する。
【００９２】
Ｓ３２００においてボディＣＰＵ１０９は、Ｓ３１８０で撮影した主被写体に合焦した撮影画像に対して、被写界深度を変更するのかどうかのユーザからの入力を指示を待つ。具体的には、主被写体３１０に合焦した画像を表示部２５８に表示すると共に、例えば「絞り値の変更を行いますか？」等の表示を行って、ユーザが被写界深度を変更するかどうかの確認を行う。このとき「Ｙｅｓ」および「Ｎｏ」の表示等を行い、選択スイッチ１９２等により「Ｙｅｓ」という表示が選択された場合、Ｓ３２１０に処理を進める。一方、「Ｎｏ」という表示が選択された場合、ボディＣＰＵ１０９はＳ３２９０に処理を進める。
【００９３】
Ｓ３２１０においてボディＣＰＵ１０９は、Ｓ３０７０にてメモリ１９７に記憶させた、ユーザにより設定された絞り値を取得する。
【００９４】
Ｓ３２２０においてボディＣＰＵ１０９は、ユーザにより設定された絞り値が小絞り側の制限値を超えているかを判断する。該制限値を超えていると判断したときは、Ｓ３２２０に処理を進め、該制限値を超えていないと判断したときは、処理をＳ３５００に進める。Ｓ３５００においてボディＣＰＵ１０９は、ユーザが絞り設定スイッチ１９４にて入力した絞り値を取得すると、Ｓ３２３０に処理を進める。
【００９５】
Ｓ３２３０においてボディＣＰＵ１０９は、ユーザにより設定された絞り値あるいはＳ３５００において取得した絞り値を用いて、該絞り値に対応する再構成画像を生成するため各マイクロレンズ位置に対して像シフト処理を行う。像シフト処理の動作を図８に示す。ボディＣＰＵ１０９は、処理をＳ１７１０に進め、画像処理部１５０に像シフト処理を実行させる。
【００９６】
Ｓ１７１０からＳ１７６０はループを形成し、瞳分割の数に応じた数だけループ計算が実行される。例えば、図３に示した例では、瞳領域は２５個に分割されていたので、２５個のそれぞれの瞳位置に応じた計算がなされる。図９を用いて説明したように、再構成画像の生成においては同じ再構成面であっても入射角度が異なると像をシフトさせる量が異なる。瞳分割の数に応じたループの処理は、各入射角度に応じて各画素のシフト量を計算するためのものである。
【００９７】
Ｓ１７１０では、画像処理部１５０は処理が瞳分割の数分行われたかを判定し、処理回数が瞳分割の数より少ないときは処理をＳ１７３０に進め、処理回数が瞳分割の数に達したときは処理をループを終了してＳ１７７０に処理を進める。
【００９８】
Ｓ１７２０において画像処理部１５０は、瞳位置情報を取得する。瞳位置情報は、撮像素子２５２上の各画素とＭＬＡ２０との対応関係が保存されており、各画素がどの分割瞳領域の光線を受光しているかを示す情報である。
【００９９】
Ｓ１７３０において画像処理部１５０は取得した瞳位置情報に基づいて現在処理対象となっている各分割瞳領域での像シフト量を計算する。
【０１００】
Ｓ１７４０では、Ｓ１７３０の情報を元に同じ入射角の光線を得ている（同じ分割瞳領域からの光線を得ている）画素をシフトさせる。同じ入射角の光線を得ている画素は例えば図３（ｂ）の２５ａと２５ｂが該当する。このような画素がＭＬＡ２０を構成するマイクロレンズの数だけ存在している。
【０１０１】
Ｓ１７６０において画像処理部１５０は、呼び出し元のＳ３２３０に処理を戻す。
【０１０２】
Ｓ３２４０において画像処理部１５０は、Ｓ３２３０においてシフトされた画素を用いて、像生成処理を動作させる。これにより、ユーザが設定した絞り値によって得られる被写界深度の再構成画像が生成される。
【０１０３】
Ｓ３２５０においてボディＣＰＵ１０９は、Ｓ３２４０にて生成された再構成画像をプレビュー画像として表示部２５８に表示する。
【０１０４】
Ｓ３２６０においてボディＣＰＵ１０９は、表示した再構成画像に対するユーザからの入力を待つ。具体的には、表示部２５８に表示している、被写界深度を変更した画像と共に、例えば「この被写界深度でよろしいですか？」等の表示を行って、ユーザが望んでいた被写界深度を有する画像が得られたどうかの確認を行う。この時、さらに「ＯＫ」と「キャンセル」の表示等があり、ユーザにより「ＯＫ」選択された場合、ボディＣＰＵ１０９はユーザが望んでいた被写界深度を有する画像が得られたと判断して、Ｓ３２７０に処理を進める。一方、ユーザにより「キャンセル」が選択された場合、ユーザが望んでいた被写界深度を有する画像が得られなかったと判断して、Ｓ３６００に処理を進める。
【０１０５】
Ｓ３２７０においてボディＣＰＵ１０９は、生成した再構成画像をメモリ１９７や不図示の記録媒体に保存するかどうかの確認を行う。具体的には、ボディＣＰＵ１０９は表示部２５８に再構成画像を表示すると共に、例えば「保存しますか？」等の表示を行って再構成画像を保存するかどうかの確認を行う。このとき、さらにボディＣＰＵ１０９は「する」と「しない」の表示をさせ、ユーザにより「する」が選択された場合、Ｓ３２８０に処理を進める。一方、ボディＣＰＵ１０９は、ユーザにより「しない」が選択された場合、処理をＳ３７００へ進める。
【０１０６】
Ｓ３２８０においてボディＣＰＵ１０９は、再構成画像をＳ３１８０にて記録した主被写体３１０に合焦した画像の名前とは別の名前でメモリ１９７や不図示の記録媒体に保存して、処理をＳ３２９０へ進める。
【０１０７】
Ｓ３２９０においてボディＣＰＵ１０９は、Ｓ１１９０同様の処理を行い、一連の動作を終了させる。
【０１０８】
一方、Ｓ３６００においてボディＣＰＵ１０９は、ユーザが絞り設定スイッチ１９４を操作して絞り値を変更したかどうかを判定する。ボディＣＰＵ１０９が設定スイッチ１９４による信号から絞り値が変更されたと判定した場合は、Ｓ３２３０に戻って、一連の動作を繰り返す。一方、絞り値が変更されていないときは再びＳ３６００に処理を戻してユーザのよる入力を待つ。また、Ｓ３７００においてボディＣＰＵ１０９は、Ｓ３２４０にてメモリ１９７に生成した再構成画像を消去して、Ｓ３２９０へ進める。
【０１０９】
なお、実施形態２では撮影後にユーザに被写界深度の変更有無を確認してから該処理の実行を行っている。しかし例えばユーザの設定した絞り値が制限値よりも小絞り側である場合には、撮影後に自動的に被写界深度を変更するような撮影モードを設定すれば、ユーザの利便性はさらに向上し得る。本発明ではデジタルカメラ１００とレンズ１０２が着脱可能であるとしたが、これに限定せず、デジタルカメラ１００とレンズ１０２が一体化しているデジタルカメラでも上記で説明したのと同様な効果が得られることは言うまでもない。
【０１１０】
以上説明したように、本実施形態においては、絞りの開口径の下限値を複数の分割瞳領域を通過した光束が通過可能にする値にすることで、再構成可能なＬＦデータを取得し、ユーザによる指示に基づいて再構成画像の生成を行った。これにより、撮影時にユーザが所定の絞り値を超えて絞り値を増大させた場合であってもユーザの所望の再構成画像を生成できる。
【０１１１】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１１２】
１００…デジタルカメラ、１０９…ボディＣＰＵ、１４０…絞り、１４１…絞り駆動部、１９６…モードスイッチ、２５２…撮像素子、２５８…表示部
【図１】
2015197609.tif 000003
【図２】
2015197609.tif 000004
【図３】
2015197609.tif 000005
【図４】
2015197609.tif 000006
【図５】
2015197609.tif 000007
【図６】
2015197609.tif 000008
【図７】
2015197609.tif 000009
【図８】
2015197609.tif 000010
【図９】
2015197609.tif 000011
【図１０】
2015197609.tif 000012
【図１１】
2015197609.tif 000013