(57)【要約】【課題】リフォーカス処理によって主被写体が変わっても、各リフォーカス画像の明るさを適正にする。【解決手段】画像処理装置１０１，１１２は、撮像により取得された互いに視差を有する複数の視差画像を用いたリフォーカス処理を行うことによりリフォーカス画像を生成する。該装置は、リフォーカス処理においてリフォーカスが可能な距離の範囲であるリフォーカス可能範囲を取得し、リフォーカス可能範囲内の複数の距離のそれぞれにおける輝度値に応じた複数の第１の露出値を取得する。また、撮像時の露出値としての第２の露出値を設定し、リフォーカス処理においてリフォーカスする距離であるリフォーカス距離と少なくとも１つの第１の露出値と第２の露出値とを用いて明るさ補正値を取得する。そして、明るさ補正値を用いてリフォーカス処理を行う。【選択図】図１
2018050231.tif 000002
【特許請求の範囲】
【請求項１】
撮像により取得された互いに視差を有する複数の視差画像を用いたリフォーカス処理を行うことによりリフォーカス画像を生成する画像処理装置であって、
前記リフォーカス処理においてリフォーカスが可能な距離の範囲であるリフォーカス可能範囲を取得する範囲取得手段と、
前記リフォーカス可能範囲内の複数の距離のそれぞれにおける輝度値に応じた複数の第１の露出値を取得する第１の露出取得手段と、
前記撮像時の露出値としての第２の露出値を設定する第２の露出設定手段と、
前記リフォーカス処理においてリフォーカスする距離であるリフォーカス距離と少なくとも１つの前記第１の露出値と前記第２の露出値とを用いて明るさ補正値を取得する補正値取得手段と、
前記明るさ補正値を用いて前記リフォーカス処理を行う処理手段とを有することを特徴とする画像処理装置。
【請求項２】
前記リフォーカス可能範囲に含まれる被写体を検出する被写体検出手段を有し、
前記第１の露出取得手段は、前記リフォーカス可能範囲内で検出された複数の被写体が位置する前記距離ごとに前記第１の露出値を取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記補正値取得手段は、前記リフォーカス距離に応じた前記第１の露出値または少なくとも１つの前記第１の露出値を用いて取得された前記リフォーカス距離に応じた露出値と前記第２の露出値との差を用いて前記明るさ補正値を取得することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記第２の露出設定手段は、前記複数の第１の露出値のうち最も大きい露出値を用いて前記第２の露出値を設定することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記複数の距離のそれぞれに対する前記第１の露出値と前記第２の露出値との差である露出差を前記距離に対応付けて記憶する記憶手段を有することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記第２の露出設定手段は、前記複数の距離のそれぞれに対する前記第１の露出値における最大の差に応じてダイナミックレンジを設定することを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
撮像により互いに視差を有する複数の視差画像を取得する撮像部と、
請求項１から６のいずれか一項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項８】
撮像により取得された互いに視差を有する複数の視差画像を用いたリフォーカス処理を行うことによりリフォーカス画像を生成する画像処理方法であって、
前記リフォーカス処理においてリフォーカスが可能な距離の範囲であるリフォーカス可能範囲を取得するステップと、
前記リフォーカス可能範囲内の複数の距離のそれぞれにおける輝度値に応じた複数の第１の露出値を取得するステップと、
前記撮像時の露出値としての第２の露出値を設定するステップと、
前記リフォーカス処理においてリフォーカスする距離であるリフォーカス距離と少なくとも１つの前記第１の露出値と前記第２の露出値とを用いて明るさ補正値を取得するステップと、
前記明るさ補正値を用いて前記リフォーカス処理を行うステップとを有することを特徴とする画像処理方法。
【請求項９】
撮像により取得された互いに視差を有する複数の視差画像を用いたリフォーカス処理を行うことによりリフォーカス画像を生成するコンピュータに画像処理を実行させるコンピュータプログラムであって、
前記画像処理は、
前記リフォーカス処理においてリフォーカスが可能な距離の範囲であるリフォーカス可能範囲を取得するステップと、
前記リフォーカス可能範囲内の複数の距離のそれぞれにおける輝度値に応じた複数の第１の露出値を取得するステップと、
前記撮像時の露出値としての第２の露出値を設定するステップと、
前記リフォーカス処理においてリフォーカスする距離であるリフォーカス距離と少なくとも１つの前記第１の露出値と前記第２の露出値とを用いて明るさ補正値を取得するステップと、
前記明るさ補正値を用いて前記リフォーカス処理を行うステップとを有することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リフォーカス用の撮影およびリフォーカス処理を行う撮像装置に関する。
【背景技術】
【０００２】
複数の撮像位置（視点）からの撮像により取得された互いに視差を有する複数の視差画像（または視点画像）を合成して、撮像後に合焦状態が調節された画像としてのリフォーカス画像を生成するリフォーカス技術が知られている。特許文献１には、複数の視差画像の視点とピントを合わせたい被写体距離とに応じて、該複数の視差画像をそれらに写っている同一の主被写体が互いに重なるようにシフトさせて合成することでリフォーカス画像を生成するリフォーカス処理が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０２２７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の撮像では、撮像前に決めたピントを合わせたい主被写体に対して露出値とダイナミックレンジ（以下、Ｄレンジという）を決定する。撮像により取得された画像に対して画像処理を行うことで明るさが補正された画像を生成することは可能であるが、白飛びや黒潰れを含む画像の明るさ補正は困難であり、高彩度部分の色曲がりやノイズの増加等の問題が存在する。例えば、明暗差が大きな撮像シーンにおいて、露出値を主被写体に合わせた場合に他の被写体は露出オーバーまたは露出アンダーになる場合がある。このとき、特に露出オーバーになった他の被写体に対して画像処理によって明るさ補正を行っても、適正露出を得ることができないことがある。
【０００５】
つまり、ユーザは撮像後のリフォーカス処理によって主被写体とは別の被写体を中心とした画像を生成しようとしたにもかかわらず、撮像時の露出条件によっては該被写体にピントを合わせることができても、適正な明るさを得ることができない場合がある。
【０００６】
本発明は、明暗差が大きな撮像シーンを撮像する場合においてリフォーカス処理によって主被写体が変わっても、各主被写体の明るさが適正であるリフォーカス画像を得られるようにした画像処理装置および撮像装置を提供する。
【課題を解決するための手段】
【０００７】
本発明の一側面としての画像処理装置は、撮像により取得された互いに視差を有する複数の視差画像を用いたリフォーカス処理を行うことによりリフォーカス画像を生成する。該装置は、リフォーカス処理においてリフォーカスが可能な距離の範囲であるリフォーカス可能範囲を取得する範囲取得手段と、リフォーカス可能範囲内の複数の距離のそれぞれにおける輝度値に応じた複数の第１の露出値を取得する第１の露出取得手段と、撮像時の露出値としての第２の露出値を設定する第２の露出設定手段と、リフォーカス処理においてリフォーカスする距離であるリフォーカス距離と少なくとも１つの第１の露出値と第２の露出値とを用いて明るさ補正値を取得する補正値取得手段と、明るさ補正値を用いてリフォーカス処理を行う処理手段とを有することを特徴とする。
【０００８】
なお、撮像により互いに視差を有する複数の視差画像を取得する撮像部と、上記画像処理装置とを有する撮像装置も、本発明の他の一側面を構成する。
【０００９】
また、本発明の他の一側面としての画像処理方法は、撮像により取得された互いに視差を有する複数の視差画像を用いたリフォーカス処理を行うことによりリフォーカス画像を生成する方法である。該方法は、リフォーカス処理においてリフォーカスが可能な距離の範囲であるリフォーカス可能範囲を取得するステップと、リフォーカス可能範囲内の複数の距離のそれぞれにおける輝度値に応じた複数の第１の露出値を取得するステップと、撮像時の露出値としての第２の露出値を設定するステップと、リフォーカス処理においてリフォーカスする距離であるリフォーカス距離と少なくとも１つの第１の露出値と第２の露出値とを用いて明るさ補正値を取得するステップと、明るさ補正値を用いてリフォーカス処理を行うステップとを有することを特徴とする。
【００１０】
なお、上記画像処理方法に従う画像処理をコンピュータに実行させる画像処理プログラムも、本発明の他の一側面を構成する。
【発明の効果】
【００１１】
本発明によれば、明暗差が大きな撮像シーンを撮像する場合においてリフォーカス処理によって主被写体が変わっても、各主被写体の明るさが適正であるリフォーカス画像を得ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例である撮像装置の構成を示すブロック図。
【図２】実施例の撮像装置における撮像部の光学系の構成を示す図。
【図３】実施例の撮像装置における撮像素子の一部を示す図。
【図４】実施例において視差画像データおよびそれらを合成することで得られるリフォーカス画像を示す図。
【図５】実施例の撮像装置と被写体との距離を示す図。
【図６】実施例における被写体の配置による明暗差を示す図。
【図７】実施例における露出決定処理を示すフローチャート。
【図８】実施例における撮像後の明るさ補正リフォーカス処理を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、本発明の実施例について図面を参照しながら説明する。
【００１４】
図１には、本発明の実施例である撮像装置の構成を示している。撮像部１００は、被写体の光（被写体像）を後述する撮像素子により光電変換（撮像）し、撮像素子から出力された電気信号（アナログ信号）をＡ／Ｄ変換して画像データを取得する。撮像部１００は、操作部１０５等を介して入力されたユーザによる撮像指示を受けて画像データを取得し、取得された画像データは不図示の記録媒体に保存される。また、撮像部１００で取得された画像データは、撮像装置に設けられた表示部１０６に、いわゆるライブビュー画像として表示される。
【００１５】
本実施例では、撮像部１００は、１つの撮像指示に応じて、同一の撮像シーンを複数の視点（撮像位置）から撮像することで、互いに視差を有する複数の画像データ（以下、複数の視差画像ともいう）を取得する。
【００１６】
中央処理装置（以下、ＣＰＵという）１０１は、撮像装置を構成する各部を統括的に制御するプロセッサである。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能するメモリである。また、ＲＯＭ１０３は、ＣＰＵ１０１で実行される制御プログラム等を格納するメモリである。バス１０４は、各種データの伝送経路であり、例えば撮像部１００によって取得された画像データはこのバス１０４を介して所定の処理部に伝送される。操作部１０５はユーザから与えられる指示をＣＰＵ１０１に入力する入力デバイスであり、ボタン、モードダイヤルおよびタッチ入力機能を有するタッチスクリーン等の操作部材を有する。
【００１７】
表示部１０６は、液晶ディスプレイ等により構成され、画像や文字等を表示する。表示部１０６には、上述した操作部１０５にも含まれるタッチスクリーンを備えていてもよい。表示制御部１０７は、表示部１０６における画像や文字等の表示制御を行う。
【００１８】
撮像制御部１０８は、ＣＰＵ１０１からの指示に基づいて、撮像部１００のフォーカシング、シャッタの開閉および開口絞りの開口径調節等の制御を行う。デジタル信号処理部１０９は、バス１０４を介して受け取った画像データ（後述するリフォーカス画像を含む）に対して、ホワイトバランス処理、ガンマ処理およびノイズ低減処理等の各種画像処理を行うことでデジタル処理画像データを生成する。
【００１９】
エンコーダ部１１０は、バス１０４を介して受取ったデジタル処理画像データをＪＰＥＧやＭＰＥＧ等のファイルフォーマットに変換する処理を行う。外部メモリ制御部１１１は、撮像装置をパーソナルコンピュータやその他のメディア（ハードディスク、光ディスク、半導体メモリ等）に接続するためのインターフェースである。撮像装置で取得または生成された画像データは、外部メモリ制御部１１１を介して外部の記憶装置に出力され、格納される。
【００２０】
画像処理部１１２は、撮像部１００で取得された複数の視差画像を用いて後述するリフォーカス処理を行ってリフォーカス画像を生成したりデジタル信号処理部１０９から出力されたデジタル処理画像データを用いて出力画像を生成したりする画像処理を行う。ＣＰＵ１０１および画像処理部１１２により画像処理装置が構成される。
【００２１】
次に、撮像部１００の光学系の構成について図２を参照して説明する。撮像部１００の光学系は、メインレンズ２０２と、レンズアレイ２０３と、撮像素子２０４とにより構成されている。なお、図２では光学系の構成を簡略化しているが、開口絞りやカラーフィルタ等を設けてもよく、またメインレンズは複数のレンズにより構成されていてもよい。レンズアレイ２０３は、複数の微小な凸レンズセルが２次元アレイ状に配置されて構成されており、メインレンズ２０２に対して被写体面２０１と像側にて概ね共役な位置に配置されている。撮像素子２０４は、レンズアレイ２０３に対してメインレンズ２０２の射出瞳と概ね共役な位置に配置されている。このような構成の撮像部１００は、プレノプティック（Plenoptic）カメラとも称され、光線の入射方向に関する情報（ライトフィールド）を含んだ画像を取得することができる。
【００２２】
撮像素子２０４の一部を図３に示す。ｘ方向２画素×ｙ方向２画素からなる画素群３００において、左上にはＲ（赤）の分光感度を有する画素３００Ｒが、右上と左下にはＧ（緑）の分光感度を有する画素３００Ｇが、右下にはＢ（青）の分光感度を有する画素３００Ｂがそれぞれ配置されている。さらに、各画素は、ｘ方向に２分割された第１サブ画素３０１と第２サブ画素３０２とにより構成されている。
【００２３】
図２に示すように被写体面２０１からの複数の光線は、メインレンズ２０１およびレンズアレイ２０３を通過することで、それら光線の被写体面２０１上における出射位置と出射角度に応じて撮像素子２０４の互いに異なる複数の画素に入射する。また、被写体面２０１上の一点から出射してメインレンズ２０２に入射した複数の光線は、それらの出射方向にかかわらず全てレンズアレイ２０３上の一点に結像する。そして、レンズアレイ２０３上で一点に結像した複数の光線は、それらのレンズアレイ２０３への入射角度に応じて互いに異なる方向に出射し、撮像素子２０４上の異なる画素（例えば図３中の第１サブ画素３０１と第２サブ画素３０２）に入射する。つまり、被写体からの出射角度が異なる光線、すなわち被写体を異なる方向から見たときに観測される光線がそれぞれ区別されて撮像素子２０４上に記録される。このため、プレノプティックカメラによる撮像により取得される複数の視差画像は、複数の異なる視点から見た被写体の情報を含む。そして、メインレンズ２０２の同じ領域を通過した光線に対応する画素を抜き出して並べ替えることで、複数の異なる視点に対応する複数の視差画像を得ることができる。
【００２４】
図３では、簡単のためにｘ方向にのみ画素を２分割した場合を示しているが、ｘ方向に２分割し、ｙ方向にも２分割してもよい。また、本実施例ではプレノプティックカメラによって視差を有する複数の視差画像を取得するが、複数のカメラが二次元的に配置された、いわゆる多眼カメラを使って複数の視差画像を取得してもよい。
【００２５】
リフォーカス処理について図４および図５を用いて説明する。図４には、水平方向に並んだ２つの視点、すなわち左視点および右視点にそれぞれ対応する２つの視差画像４１０，４１１と、これらの視差画像４１０，４１１を合成することで得られるリフォーカス画像４２０，４２１とを示す。図５には撮像装置に対する被写体Ａ，Ｂの位置を示す。視差画像４１０，４１１は２つの被写体像４０１，４０２を含んでいる。図５に示すように、被写体像４０２に対応する被写体Ａは、被写体像４０１に対応する被写体Ｂより近い距離に位置する。
【００２６】
被写体像４０１，４０２は、被写体Ａ，Ｂの被写体距離に応じた視差を有する。視差画像４１０，４１１を合成することで得られたリフォーカス画像４２０，４２１はそれらの合成に際しての視差画像４１０，４１１の相対的なシフト量が互いに異なる。リフォーカス画像４２０は、被写体像４０１が重なるように視差画像４１０，４１１を相対的にシフトさせて合成することで得られた画像であり、被写体像４０１（主被写体としての被写体Ａ）にピントが合っている。一方、視差画像４１０，４１１において、被写体像４０２は被写体像４０１とは異なる大きさの視差を有するため、リフォーカス画像４２０においてはずれた位置で合成される。このため、リフォーカス画像４２０において被写体像４０２はぼけている。
【００２７】
また、リフォーカス画像４２１は、被写体像４０２が重なるように視差画像４１０，４１１を相対的にシフトさせて合成することで得られた画像であり、被写体像４０２（主被写体としての被写体Ｂ）にピントが合っている。一方、視差画像４１０，４１１において、被写体像４０１はそれぞれ被写体像４０２とは異なる大きさの視差を有するため、リフォーカス画像４２１においてはずれた位置で合成される。このため、リフォーカス画像４２１において被写体像４０１はぼけている。
【００２８】
このように複数の視差画像をピントを合わせる被写体に応じて決定したシフト量だけ相対的にシフトさせて合成することで、所定の被写体距離（合焦距離）にピントが合い、合焦距離との距離差に応じたぼけが付与されたリフォーカス画像を生成することができる。
【００２９】
図５に示すように、被写体Ａとこれによりも被写体距離が大きい（遠い）被写体Ｂはともにリフォーカス可能範囲内にある。リフォーカス可能範囲とは、撮像により取得された複数の視差画像から被写体にピントが合った（リフォーカスした）リフォーカス画像を生成できる被写体距離の範囲である。リフォーカス可能範囲は、図３で説明した撮像素子２０４により得られる視差の情報とリフォーカス可能範囲の中央に位置する被写体Ａの被写体距離の情報とから既知の方法を用いて算出することが可能である。
【００３０】
ここで、本実施例により解決すべき課題である明暗差の大きな撮像シーンについて例を挙げて説明する。図６には、明るい領域に位置する被写体６０１と暗い領域に位置する被写体６０２とが含まれる撮像シーンを示している。また、被写体６０２は被写体６０１よりも近い距離に位置し、主被写体としてピントを合わせ、かつ露出値を決定する対象である。被写体６０２の顔領域に内接する矩形領域をメッシュ状に複数に分割して各分割領域の輝度値を算出することで、被写体６０２に対する適正露出を求めることができる。暗い領域に位置する被写体６０２に対して適正となるように撮像時の露出値を設定すると、明るい領域に位置する被写体６０１はより明るく撮像されるために露出オーバーとなり、被写体６０１の領域が白飛び（輝度飽和）領域となるおそれがある。このような輝度飽和領域を画像処理により適正露出となるように明るさ補正をすることは困難である。
【００３１】
そこで本実施例では、このような明暗差の大きな撮像シーンを撮像する場合においてリフォーカス処理により主被写体が変わっても各主被写体に対して適正露出が得られるように、撮像時の露出値を決定するとともに撮像後の画像処理により明るさ補正を行う。
【００３２】
図７のフローチャートには、本実施例において、明暗差の大きな撮像シーンの撮像時において露出値を決定する露出決定処理（画像処理方法）を示す。ＣＰＵ１０１は、コンピュータプログラムである画像処理（撮像制御）プログラムにしたがって本処理を実行する。ＣＰＵ１０１は、本処理において、範囲取得手段、被写体検出手段、第１の露出取得手段、第２の露出設定手段および露出差記憶手段として機能する。また、以下の説明において、「Ｓ」はステップを意味する。
【００３３】
Ｓ７００において、ＣＰＵ１０１は、前述した方法によりリフォーカス可能範囲を算出（取得）する。次に、Ｓ７０１において、ＣＰＵ１０１は、複数の視差画像を取得するための本撮像の前のプリ撮像により取得された画像データ（ライブビュー画像用の画像データ）から、リフォーカス可能範囲内において主被写体となり得る候補（主被写体候補）を検出する。そして、主被写体候補の数を確認する。図５に示す例では、リフォーカス可能範囲内の主被写体候補（被写体Ａ，Ｂ）の数は２である。主被写体候補の検出には、顔検出処理や物体検出処理等の既知の処理を用いる。主被写体候補が複数検出された場合には、ＣＰＵ１０１は、その検出の信頼度や検出された被写体候補の距離や大きさ等の要素から１つの主被写体を決定する。
【００３４】
次にＳ７０２では、ＣＰＵ１０１は、Ｓ７０１にて決定した主被写体に対して適正露出を得るための露出値（主被写体が位置する被写体距離での第１の露出値）を取得する。主被写体が人物である場合は、図６にて説明したように、その主被写体の顔領域に内接する矩形領域をメッシュ状に分割して各分割領域で輝度値を算出し、所定の重みを適用して顔領域の輝度値を算出する。そして、算出した輝度値を用いて顔領域の輝度が適正な明るさレベルになる露出値（露光時間、絞り値およびＩＳＯ感度）を主被写体が適正露出となる主被写体用露出値として決定する。主被写体が人物でない場合においても、同様に該主被写体が含まれる領域の明るさレベルが適正になる露出値を主被写体用露出値として決定する。
【００３５】
次にＳ７０３では、ＣＰＵ１０１は、Ｓ７０１で確認した主被写体候補の数が１であるか否かを判定する。主被写体候補の数が１である場合はリフォーカス処理による主被写体の変化はないため、ＣＰＵ１０１は、Ｓ７０９に進み、Ｓ７０２で求めた露出値を撮像時の露出（以下、撮像露出という）として決定する。一方、主被写体候補の数が２以上である場合は、ＣＰＵ１０１はＳ７０４に進む。
【００３６】
Ｓ７０４では、ＣＰＵ１０１は、Ｓ７０１で決定した主被写体とは別の主被写体候補の輝度値を算出する。この輝度値の算出は、Ｓ７０２で説明した主被写体の輝度値の算出と同様に行う。そして、ＣＰＵ１０１は、算出した輝度値を用いて該別の主被写体候補を適正な明るさレベルとするための露出値（それら別の主被写体候補が位置する被写体距離での第１の露出値）を候補用露出値として求める。
【００３７】
そして、Ｓ７０５では、ＣＰＵ１０１は、リフォーカス可能範囲内の全ての主被写体候補に対する候補用露出値の算出が完了したか否かを判定し、完了していない場合はＳ７０４に戻って残りの主被写体候補に対して輝度値を算出し、候補用露出値を決定する。完了した場合はＳ７０６に進む。
【００３８】
Ｓ７０６では、ＣＰＵ１０１は、ここまでで求めた主被写体用露出値および候補用露出値のうち最オーバー露出値と最アンダー露出値との差である最大露出差を算出する。この際、最大露出差が所定値（例えば１Ｅｖ）より大きい場合には、ＣＰＵ１０１は、ダイナミックレンジの拡大（設定）を行うことを決定する。ダイナミック（Ｄ）レンジの拡大は、露出値を１Ｅｖ分アンダー露出として撮像し、撮像後の画像処理において中間輝度を１Ｅｖ分増加させるガンマカーブを適用することでＤレンジを拡げる処理である。
【００３９】
次にＳ７０７では、ＣＰＵ１０１は、複数の視差画像を取得するための撮像時の露出値である撮像露出値（第２の露出値）を設定する。具体的には、ＣＰＵ１０１は、撮像露出値として、ここまでで求めた主被写体用露出値および候補用露出値の中から最オーバー露出値(最も大きい露出値)を選択する。
【００４０】
次にＳ７０８では、ＣＰＵ１０１は、Ｓ７０７で設定した撮像露出値と主被写体用露出値との差分である露光差と、撮像露出値と各候補用露出値との差分である露出差とを求める。さらに、ＣＰＵ１０１は、求めた露出差を主被写体および主被写体候補のそれぞれに対応付けて内部メモリに記憶（または記録）する。例えば、画像ファイルの付帯情報として記録してもよい。そして、ＣＰＵ１０１は、本処理を終了する。
【００４１】
次に、図８のフローチャートを用いて、リフォーカス画像を生成するとともにその明るさ補正処理を行う明るさ補正リフォーカス処理（画像処理方法）について説明する。ＣＰＵ１０１は、上記画像処理プログラムにしたがって本処理を実行する。ＣＰＵ１０１は本処理において補正値取得手段として機能し、また画像処理部１１２は処理手段として機能する。
【００４２】
Ｓ８０１では、ＣＰＵ１０１は、図７に示したＳ７０１と同様に、リフォーカス可能範囲内の被写体候補の数を確認する。
【００４３】
次にＳ８０２では、ＣＰＵ１０１は、図７に示したＳ７０３と同様に、Ｓ８０１で確認した主被写体候補の数が１であるか否かを判定する。主被写体候補の数が１である場合は、その唯一の主被写体に対する適正露出で撮像が行われているので明るさ補正は不要である。このため、ＣＰＵ１０１はＳ８１０に進んで該唯一の主被写体にリフォーカスしたリフォーカス画像を生成するリフォーカス処理を行わせ、その後、本処理を終了する。一方、主被写体候補の数が２以上である場合は、ＣＰＵ１０１はＳ８０３に進む。
【００４４】
Ｓ８０３では、ＣＰＵ１０１は、複数の主被写体候補のうちリフォーカス処理によりピントを合わせる、すなわちリフォーカスする主被写体としてのリフォーカス被写体を決定する。言い換えれば、リフォーカスする被写体距離としてのリフォーカス距離を決定する。
【００４５】
次にＳ８０４では、ＣＰＵ１０１は、最終的なリフォーカス距離がＳ８０３で決定したリフォーカス距離であるＣＰＵリフォーカス距離か該ＣＰＵリフォーカス距離からさらにユーザによる調整がなされたユーザリフォーカス距離かを判定する。ＣＰＵ１０１は、最終的なリフォーカス距離がＣＰＵリフォーカス距離である場合はＳ８０５に進む。また、最終的なリフォーカス距離がユーザリフォーカス距離である場合であって該ユーザリフォーカス距離が最至近の被写体候補よりも近い距離である場合や最遠の被写体候補より遠い距離である場合にもＳ８０５に進む。一方、最終的なリフォーカス距離がある被写体候補と別の被写体候補との間の距離（以下、被写体中間距離という）である場合には、ＣＰＵ１０１はＳ８０６に進む。
【００４６】
Ｓ８０５では、ＣＰＵ１０１は、図７に示したＳ７０８で記憶した露出差のうち、リフォーカス被写体（つまりはＣＰＵリフォーカス距離）に対応する露出差を読み出し、これをリフォーカス露出差に設定する。そして、Ｓ８０８に進む。
【００４７】
一方、Ｓ８０６では、ＣＰＵ１０１は、図７に示したＳ７０８で記憶した露出差のうち、リフォーカス距離（被写体中間距離）の前後の被写体距離に位置する主被写体候補に対応付けられた２つの露出差を読み出す。例えば、リフォーカス距離が図５に示した被写体Ａと被写体Ｂの間の被写体中間距離である場合には、被写体Ａと被写体Ｂのそれぞれに対応付けられた露出差を読み出す。ただし、リフォーカス距離が被写体Ａより近い距離である場合には、被写体Ａに対応付けられた１つの露出差のみを読み出す。また、リフォーカス距離が被写体Ｂより遠い距離である場合には、被写体Ｂに対応付けられた１つの露出差のみを読み出す。
【００４８】
そしてＳ８０７では、ＣＰＵ１０１は、Ｓ８０６で読み出した２つの露出差からリフォーカス距離に応じたリフォーカス露出差を決定する。具体的には、リフォーカス距離よりも近い距離の主被写体候補を１つ選択し、その主被写体候補に対応付けられた露出差を上記２つ露出差から選択してリフォーカス露出差として決定する。また、これに代えて、上記２つの露出差を用いた距離による補間計算によってリフォーカス露出差を求めてもよい。リフォーカス距離が被写体Ａより近い距離である場合には、Ｓ８０６で読み出した被写体Ａに対応付けられた露出差をリフォーカス露出差に設定する。また、リフォーカス距離が被写体Ｂより遠い距離である場合には、Ｓ８０６で読み出した被写体Ｂに対応付けられた露出差をリフォーカス露出差に設定する。このようにして、ＣＰＵ１０１は、Ｓ８０５〜Ｓ８０７において、リフォーカス距離に応じたリフォーカス露出差を設定する。そして、Ｓ８０８に進む。
【００４９】
Ｓ８０８では、ＣＰＵ１０１は、Ｓ８０５およびＳ８０７でリフォーカス距離に応じて設定されたリフォーカス露出差を、明るさ補正値に換算する。リフォーカス露出差は２のべき乗（２ｎ）で表現されており、ｎが明るさ補正値に相当する。明るさ補正値は、明るさ補正するためのゲイン値となる。
【００５０】
そして、Ｓ８０９では、ＣＰＵ１０１は、画像処理部１１２に、Ｓ８０８で決定された明るさ補正値を用いたリフォーカス処理を行わせる。このリフォーカス処理において、画像処理部１１２は、撮像により取得された合成前の複数の視差画像またはこれらの合成により生成したリフォーカス画像に対して明るさ補正処理を行う。これにより、適正な明るさの主被写体（像）が含まれる良好なリフォーカス画像を生成することができる。
【００５１】
図７および図８で説明した処理を行うことで、明暗差が大きい撮像シーンの撮像により取得された複数の視差画像を用いたリフォーカス処理においてピントを合わせる主被写体が変わっても、リフォーカス画像内の主被写体を適正な明るさとすることができる。
【００５２】
なお、上記実施例では、ＣＰＵ１０１は撮像露出値と主被写体用および候補用露出値との差である露出差を記憶し、その露出差を用いてリフォーカス距離に応じたリフォーカス露出差を取得して該リフォーカス露出差から明るさ補正値を取得した。しかし、撮像露出値、主被写体用露出値および候補用露出値を記憶し、これら露出値からリフォーカス距離に応じたリフォーカス露出値を取得して、撮像露出値とリフォーカス露出値との差であるリフォーカス露出差を取得し、さらに明るさ補正値を取得してもよい。すなわち、露出差を記憶したり用いたりすることは、撮像露出値、主被写体用露出および候補用露出値を記憶したり用いたりすることと同義である。
【００５３】
また、上記実施例では撮像部および画像処理装置を内蔵した撮像装置について説明したが、画像処理装置は、撮像部を有する撮像装置とは別に構成されてもよい。この場合、撮像装置（撮像部）で取得された複数の視差画像を、通信や記憶媒体を利用して画像処理装置に入力すればよい。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５４】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【００５５】
１００  撮像部
１０１  ＣＰＵ
１１２  画像処理部
【図１】
2018050231.tif 000003
【図２】
2018050231.tif 000004
【図３】
2018050231.tif 000005
【図４】
2018050231.tif 000006
【図５】
2018050231.tif 000007
【図６】
2018050231.tif 000008
【図７】
2018050231.tif 000009
【図８】
2018050231.tif 000010