(57)【要約】【課題】より簡便な方法で、撮影した画像に生じた白飛びを補正することが可能な画像処理装置を提供する。【解決手段】本発明の画像処理装置は、被写体を撮影した画像において、被写体の領域を検出する被写体検出手段と、予め生成された、被写体の表面形状における法線方向を示す情報を用いて、検出された被写体の領域の各位置における法線方向を決定する決定手段と、検出された被写体の領域の各位置のうち、決定された法線方向が所定の方向である被写体の領域の位置を検出して、被写体の領域における所定の高輝度領域を検出する白飛び領域検出手段と、高輝度領域の輝度を補正する補正手段と、を備える。【選択図】図２
2017130890.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮影した画像において、前記被写体の領域を検出する被写体検出手段と、
予め生成された、被写体の表面形状における法線方向を示す情報を用いて、検出された前記被写体の領域の各位置における法線方向を決定する決定手段と、
検出された前記被写体の領域の各位置のうち、前記決定された法線方向が所定の方向である前記被写体の領域の位置を検出して、前記被写体の領域における所定の高輝度領域を検出する白飛び領域検出手段と、
前記高輝度領域の輝度を補正する補正手段と、を備える、
ことを特徴とする画像処理装置。
【請求項２】
前記白飛び検出手段は、法線方向に基づいて検出した前記被写体の領域の位置のうち、その輝度が所定の閾値より高い位置を検出して、前記高輝度領域を検出する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記被写体の表面形状における法線方向を示す情報は、２次元状の被写体像の各位置に前記被写体の表面形状における法線方向を関連付けた情報である、
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記被写体の表面形状における法線方向を示す情報は、被写体の表面形状の３次元の位置を前記２次元状の被写体像の各位置に投影して、前記２次元状の被写体像の各位置に前記被写体の表面形状の３次元の位置における法線方向を関連付けた情報である、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記被写体検出手段は、前記被写体の向きを更に検出し、
前記決定手段は、異なる被写体の向きごとに予め生成された、複数の前記被写体の表面形状における法線方向を示す情報のなかから、前記被写体検出手段により検出された前記被写体の向きに対応するものを選択する、
ことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
記録手段を更に備え、
前記被写体の表面形状における法線方向を示す情報は、前記記録手段に予め記録されている、
ことを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
通信手段を更に備え、
前記被写体の表面形状における法線方向を示す情報は、前記通信手段を介して外部装置から取得される、
ことを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項８】
前記所定の方向は、光源から光が被写体に入射する方向と被写体において光が反射する方向とのなす角によって特定される、前記被写体の表面形状における法線の方向から所定の範囲内の方向である、
ことを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記白飛び検出手段は、発光手段を用いて前記被写体を撮影した場合、前記決定された法線方向が画像面に垂直である前記被写体の領域の位置を検出して、前記被写体の領域における所定の高輝度領域を検出する、
ことを特徴とする請求項１から８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記決定手段は、前記被写体の表面形状における法線方向を示す情報を検出された前記被写体の領域の各位置と対応付けるために、前記被写体の表面形状における法線方向を示す情報に係る前記２次元状の被写体像の各位置関係を拡大、縮小又は回転させ、検出された前記被写体の領域の各位置における法線方向を決定する、
ことを特徴とする請求項３又は４に記載の画像処理装置。
【請求項１１】
被写体検出手段が、被写体を撮影した画像において、前記被写体の領域を検出する被写体検出工程と、
決定手段が、予め生成された、被写体の表面形状における法線方向を示す情報を用いて、検出された前記被写体の領域の各位置における法線方向を決定する決定工程と、
白飛び領域検出手段が、検出された前記被写体の領域の各位置のうち、前記決定された法線方向が所定の方向である前記被写体の領域の位置を検出して、前記被写体の領域における所定の高輝度領域を検出する白飛び領域検出工程と、
補正手段が、前記高輝度領域の輝度を補正する補正工程と、を備える、
ことを特徴とする画像処理装置の制御方法。
【請求項１２】
コンピュータに、請求項１１に記載の画像処理装置の制御方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびその制御方法ならびにプログラムに関する。
【背景技術】
【０００２】
従来、撮影時の光源と被写体の位置関係により撮影画像の被写体の領域に白飛びが発生する場合に、当該白飛びを低減する技術が提案されている。特許文献１には、撮影画像内の対象物領域の色情報と対象物領域の３次元情報とに基づいて対象物領域の色情報から表面反射成分（てかり）を分離し、当該表面反射成分を補正することにより白飛びを低減する技術が開示されている。一方、特許文献２には、フラッシュ撮影を行う場合に、撮影する被写体の顔領域の大きさに応じてフラッシュ発光量を制御することにより、撮影画像の顔領域の白飛びを低減する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１０／０８７１６４号
【特許文献２】特開２０１４−１６４１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の特許文献１は、撮影画像内の特定対象物の３次元形状を復元し、画像内の各画素の法線ベクトルを求める必要がある。このため、３次元情報を扱うことによる多くの演算量や記憶容量が必要になる。また、特許文献２は、撮影時のフラッシュの発光量を調整する技術を開示するものであり、撮影した画像に対して白飛びを低減する処理を適用することについては考慮していない。
【０００５】
本発明は、上述の従来技術の問題点に鑑みてなされたものであり、より簡便な方法で、撮影した画像に生じた白飛びを補正することが可能な画像処理装置およびその制御方法ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、被写体を撮影した画像において、被写体の領域を検出する被写体検出手段と、予め生成された、被写体の表面形状における法線方向を示す情報を用いて、検出された被写体の領域の各位置における法線方向を決定する決定手段と、検出された被写体の領域の各位置のうち、決定された法線方向が所定の方向である被写体の領域の位置を検出して、被写体の領域における所定の高輝度領域を検出する白飛び領域検出手段と、高輝度領域の輝度を補正する補正手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、より簡便な方法で、撮影した画像に生じた白飛びを補正することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係る画像処理装置の一例としてのデジタルカメラの機能構成例を示すブロック図
【図２】実施形態１に係る画像補正処理部の機能構成例を示すブロック図
【図３】実施形態１に係る各種ベクトルを模式的に示す図
【図４】実施形態１に係る法線マップを模式的に示す図
【図５】実施形態１に係る法線マップと撮影画像との関連付けを示す図
【図６】実施形態１に係る画像補正処理の一連の動作を示すフローチャート
【図７】実施形態２に係るデジタルカメラの外観構成を示す図
【図８】実施形態２に係るデジタルカメラの機能構成例を示すブロック図
【図９】実施形態２に係る画像補正処理の一連の動作を示すフローチャート
【発明を実施するための形態】
【０００９】
（実施形態１）
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下では画像処理装置の一例として、撮像した画像に画像補正処理を行うことが可能な任意のデジタルカメラに本発明を適用した例を説明する。しかし、本発明は、撮像機能を備えたデジタルカメラに限らず、取得した画像に画像補正処理を行うことが可能な任意の機器にも適用可能である。これらの機器には、例えば携帯電話機、ゲーム機、タブレット端末、パーソナルコンピュータ、時計型や眼鏡型の情報端末、医療機器などが含まれてよい。
【００１０】
（デジタルカメラの構成）
図１は、本実施形態の画像処理装置の一例としてデジタルカメラ１００の機能構成例を示すブロック図である。なお、図１に示す機能ブロックの１つ以上は、ＡＳＩＣやプログラマブルロジックアレイ（ＰＬＡ）などのハードウェアによって実現されてもよいし、ＣＰＵやＭＰＵ等のプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。従って、以下の説明において、異なる機能ブロックが動作主体として記載されている場合であっても、同じハードウェアが主体として実現されうる。
【００１１】
制御部１０１は、例えば、ＣＰＵ（ＭＰＵ）、ＲＡＭ及びＲＯＭを含み、ＲＯＭに記憶されたプログラムを実行してデジタルカメラ１００の各ブロックを制御したり、各ブロック間でのデータ転送を制御したりする。また、制御部１０１は、ユーザからの操作を受け付ける、不図示の操作部からの操作信号に応じて、デジタルカメラ１００の各ブロックを制御する。
【００１２】
撮影光学系１０２は、撮像素子１０３の撮像面上に被写体像を結像する光学系を構成し、入射光量やフォーカスの調節及び、絞り調整機能を備える。撮像素子１０３は、光電変換素子を有する画素が複数、２次元的に配列された構成を有する。撮像素子１０３は、撮影光学系１０２により結像された被写体光学像を各画素で光電変換し、さらにＡ／Ｄ変換回路によってアナログ・デジタル変換して、画素単位のデジタル信号（画像データ）を出力する。撮像素子１０３は、ＣＣＤ（Charge-Coupled Device）イメージセンサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサなどの撮像素子であってよい。
【００１３】
カメラ信号処理部１０４は、撮像素子１０３が出力する画像データ（撮影画像）に対し、所定の処理、例えば撮影光学系１０２により生じた収差の補正処理や欠陥画素を補間する処理等を行なう。また、所定の処理には、例えばＲＧＢのオフセット調整、ゲイン調整、ベイヤー配列の補間処理、及び現像ガンマ処理等をさらに含んでもよい。
【００１４】
記録媒体１０５は、例えばメモリカード等のランダムアクセス可能な記録媒体であり、カメラ信号処理部１０４や画像補正処理部１０６から出力された画像データを記録する。記録媒体１０５は、例えば不図示の装着、排出機構を備え、デジタルカメラ１００に対してユーザが容易に装着又は取り外しを行うことができる。勿論、記録媒体１０５はデジタルカメラ１００に内像されていてもよい。
【００１５】
画像補正処理部１０６は、カメラ信号処理部１０４から出力された画像データ、又は記録媒体１０５から読み出された画像データに本実施形態に係る画像補正処理を適用して白飛びを補正した画像データを出力する。なお、画像補正処理部１０６及び画像補正処理の詳細は後述する。
【００１６】
位置姿勢検知部１０７は、ＧＰＳやジャイロセンサ等のデジタルカメラ１００の状態を検知するセンサを含み、制御部１０１の指示に応じてデジタルカメラ１００の位置及び姿勢を制御部１０１に出力する。
【００１７】
（画像補正処理部１０６の構成）
次に、図２を参照して、画像補正処理部１０６の構成について説明する。画像補正処理部１０６は、撮影画像２０２（すなわちカメラ信号処理部１０４から出力された画像データ）に対して後述する画像補正処理を行って、出力画像２０３を出力する。
【００１８】
画像補正処理部１０６は、撮影画像２０２に対する被写体検出処理を行って、特定の被写体を検出する。本実施形態では、特定の被写体として例えば人物の顔を検出するため、画像補正処理部１０６は人物の顔を検出するための構成として顔検出部２０４を有する。顔検出部２０４は、撮影画像２０２に対して顔検出処理を行って撮影画像内の顔領域を検出すると共に、検出された顔の向きを特定する。
【００１９】
法線決定部２０５は、顔検出部２０４によって検出された顔領域に対する、法線方向を決定する。法線決定部２０５は、例えば予め記録媒体１０５或いは不図示のＲＯＭに記録されている顔画像の法線マップ２０６を取得し、この法線マップ２０６を用いて、検出された顔領域の各画素に対する法線方向を決定する。なお、顔画像の法線マップについては後述する。
【００２０】
白飛び領域検出部２０７は、法線決定部２０５により決定された顔領域の特定の法線方向と、後述する光源方向情報２０８とを用いて、顔領域内の白飛び領域（所定の高輝度領域）を検出する。白飛び補正部２０９は、白飛び領域検出部２０７により検出された白飛び領域に対して補正処理（すなわち白飛びの低減処理）を行って、補正後の画像データ（出力画像２０３）を出力する。
【００２１】
ここで、図３を参照して、本実施形態に係る光源方向や特定の法線方向について説明する。図３において、３０１は本実施形態のデジタルカメラ１００を、３０２は被写体である人物を、３０３は光源である太陽をそれぞれ表している。
【００２２】
光源方向を示すベクトル３０５は、被写体３０２と光源である太陽３０３とを結ぶ方向、すなわち被写体３０２に光をあてる光源の方向を示す。また、撮影方向を示すベクトル３０４は、被写体３０２とデジタルカメラ３０１とを結ぶ方向、すなわち被写体からデジタルカメラ３０１に入射する光の方向を示す。そして、特定の法線方向３０６は、光源からの光が入射した被写体の表面における法線の方向を示す。特定の法線方向３０６と光源方向を示すベクトル３０５のなす角は、被写体の表面に入射した光源の光の入射角となる。また、特定の法線方向３０６と撮影方向を示すベクトル３０４のなす角は、被写体の表面に入射した光源の光が反射する反射角となる。入射角と反射角は等しいため、特定の法線方向３０６は、撮影方向を示すベクトル３０４と光源方向を示すベクトル３０５のなす角を２等分する方向である。
【００２３】
ベクトル３０４である撮影方向は、被写体３０２とデジタルカメラ３０１の位置関係によって求めることができる。また、ベクトル３０５である光源方向は、図３に示すような屋外の撮影環境では、デジタルカメラ１００の位置や姿勢の情報と、時刻情報に基づく太陽の位置とから推定することができる。なお、屋内の照明であっても、公知の光源方向の推定方法を用いたり、予め被写体と光源の位置関係を特定することにより光源方向を求めることができる。そして、特定の法線方向は、撮影方向と光源方向とのなす角を２等分して求めることができる。
【００２４】
（法線マップと撮影画像への適用）
次に、図４を参照して、本実施形態に係る法線マップについて説明する。法線マップは、特定の被写体（例えば人物の顔）ごとに予め定められた、被写体の表面形状における法線方向の情報を、画像平面上の各位置に関連付けて記述したデータである。図４（ａ）は、被写体が人物の正面顔である場合の法線マップ４００の例を示している。例えば図４（ｂ）に示す正面顔の３次元形状４０４の所定の位置４０３の法線ベクトル４０２が予め与えられた場合、法線マップ４００には、３次元状の位置４０３を２次元平面上に投影した位置４０１に法線ベクトル４０２の方向情報が記述される。法線ベクトルの方向情報には、基準座標の方向余弦や基準座標からの角度が用いられる。例えば、基準座標として画面下向きにx軸、画面左側から右側に水平なy軸、画面の法線方向にz軸を定めた場合、法線ベクトルの方向情報にはそれぞれの座標軸と法線ベクトルの方向余弦を記述できる。また、方向情報を、例えば、法線ベクトルが画像平面となす角度と、法線ベクトルを画像平面に投影した場合のx軸からの角度を用いて記述してもよい。このように、人物の顔の表面形状を表わす法線方向の情報を２次元状の位置関係に投影して保持することにより、撮影画像における顔領域の各位置の法線方向を容易に得ることができる。なお、顔の３次元形状は一般的な人物の３次元形状であってよいが、当該被写体となる人物の３次元形状を予め取得すればより精度の高い法線方向を得ることができる。
【００２５】
図４（ａ）では正面顔についての法線マップの例を示したが、図４（ｃ）や図４（ｄ）のように、予め複数の向きの法線マップ（４０５、４０６）を用意し、撮影時の被写体の顔の向きに応じて最も向きの近い法線マップを適用してもよい。この場合、各法線マップはそれぞれの顔の向きを示す方向情報を含む。
【００２６】
更に、上述の法線マップを撮影画像に適用する例について、図５を参照して説明する。図５（ａ）は、撮影画像の一例を示しており、撮影画像の中央にはやや傾いた人物の顔が存在する。そして、図５（ｂ）は、図５（ａ）の撮影画像に対して、顔検出処理の後に上述した正面顔の法線マップ４００を対応付けた例を示している。すなわち、法線マップは、検出された顔の位置や角度に応じて、大きさや角度が調整され（すなわち拡大縮小や画像面内で回転され）、撮影画像に対応付けられる。なお、図５（ｂ）の様に、法線マップ自体が撮影画像に重畳して描画される必要は無く、法線マップの各法線方向が顔領域の各位置と対応付けられればよい。
【００２７】
図５（ｃ）は、撮影画像に対応付けられた法線マップの各法線方向のうち、特定の法線方向を持つ領域５０１が抽出された例を示す。この領域５０１は、同様の法線方向を有するため、所定の方向からの光源の光を同様の方向に反射する。すなわち、領域５０１内の一部に白飛びが発生する場合、領域５０１内の各画素値は同様に白飛びが発生することが想定される。図５（ｄ）は、領域５０１が図５（ａ）の撮影画像に表示された例を示す。このように、顔画像と法線マップ画像を対応付けておくことで、顔画像上で、特定の法線方向を示す領域が抽出できる。
【００２８】
（画像補正処理に係る一連の動作）
次に、図６を参照して、画像補正処理に係る一連の動作について説明する。なお、本処理は、例えば不図示の操作ボタンに対するユーザからの撮影指示があった場合に開始される。また、本処理は、制御部１０１がＲＯＭに記憶されたプログラムをＲＡＭの作業用領域に展開及び実行することにより実現される。
【００２９】
Ｓ６０１において、画像補正処理部１０６は、制御部１０１の指示に応じて撮影画像を取得する。例えば、画像補正処理部１０６は、制御部１０１の指示に応じて撮像素子１０３が撮像した画像データを、カメラ信号処理部１０４を介して入力する。
【００３０】
Ｓ６０２において、画像補正処理部１０６は、制御部１０１の指示に応じて顔検出処理を行う。具体的には、Ｓ６０１において取得した画像データに対して顔検出処理を適用して顔領域を検出し、例えば顔の位置、大きさ、傾き及び向きを求める。なお、本実施形態に係る顔検出処理は、公知の顔検出処理を用いて行うことができるため、その詳細な説明は省略する。
【００３１】
Ｓ６０３において、画像補正処理部１０６は、制御部１０１の指示に応じて顔領域における法線方向を決定する。画像補正処理部１０６は、例えば記録媒体１０５から図４（ａ）、（ｃ）及び（ｄ）のような複数の向きの法線マップを読み出して、検出された顔の向きに最も近い法線マップを選択する。さらに選択した法線マップを、Ｓ６０２において検出した顔領域の位置、大きさ、傾きに合わせて調整したうえで、調整された法線マップを撮影画像の顔領域に対応付ける。換言すれば、法線マップが顔領域に対応付けられたことにより顔領域上の各位置の法線方向が決定されたことになる。
【００３２】
Ｓ６０４において、画像補正処理部１０６は、制御部１０１の指示に応じて顔領域に白飛び領域を検出する。まず、画像補正処理部１０６は、制御部１０１から光源方向情報を取得する。制御部１０１は、例えば、撮影時における位置姿勢検知部１０７の出力と時刻における太陽の位置とに基づいて光源方向を推定することにより光源方向情報を生成し、画像補正処理部１０６に提供する。画像補正処理部１０６は、取得した光源方向情報に含まれる光源方向と、例えば画像の正面方向にとった撮影方向とのなす角に基づいて、特定の法線方向を求める。
【００３３】
画像補正処理部１０６は、求めた特定の法線方向と、Ｓ６０３において決定した顔画像の法線方向とに基づいて、この特定の法線方向と整合する法線方向を有する領域（顔領域内の部分領域）を抽出する。例えば、画像補正処理部１０６は、Ｓ６０３において決定した顔画像の法線方向が、求めた特定の法線方向から所定の範囲内の方向である場合、当該顔画像の法線方向が特定の法線方向と整合する法線方向を有すると判定する。そして、画像補正処理部１０６は、抽出した部分領域の画素値（例えば輝度値の平均値）が予め定めた閾値以上であるかを判定し、部分領域の画素値が当該閾値以上である場合には、この部分領域を白飛び領域として検出する。一方、画像補正処理部１０６は、抽出した部分領域の画素値が閾値より小さい場合、白飛び領域は存在しないと判定して白飛び領域を検出しない。このように、特定の法線方向と法線方向が整合する領域を白飛び領域の候補とすることにより、単に白い領域に対して白飛び補正処理を適用することを回避し、より精度の高い補正処理を実現することができる。
【００３４】
Ｓ６０５において、画像補正処理部１０６は、Ｓ６０４において白飛び領域が検出されたか否かを判定する。画像補正処理部１０６は、白飛び領域が検出されている場合には処理をＳ６０６に進め、白飛び領域が検出されていない場合には本処理の一連の動作を終了する。
【００３５】
Ｓ６０６において、画像補正処理部１０６は、制御部１０１の指示に応じて検出した白飛び領域に対して白飛び補正を行う。画像補正処理部１０６は、例えば、検出した白飛び領域の近傍の画素値を参照して、同等の輝度となるように各画素値の輝度成分を減算する。画像補正処理部１０６は、白飛びの補正が終了すると本処理の一連の動作を終了する。
【００３６】
以上説明したように、本実施形態では、撮影画像から検出した特定の被写体領域に、当該被写体のために予め生成された法線マップ情報を対応づけ、被写体領域における法線方向を決定する。そして、決定した被写体領域における法線方向のうち、光源方向に応じて求められる特定の法線方向と整合する領域について、白飛び補正を行うようにした。このようにすることにより、被写体領域が単に白いことに起因して画素値が高くなる領域を誤って白飛び補正することがなく、適切な白飛び領域に対して補正を行うことができる。また、被写体の３次元形状を復元する処理を行わないため、より簡便な方法で、撮影した画像に生じた白飛びを補正することができる。
【００３７】
（実施形態２）
次に実施形態２について説明する。実施形態１に係るデジタルカメラ１００は、太陽等の光源の方向を推定した光源方向情報を用いて画像補正処理を行った。実施形態２では、ストロボを用いて撮影し、光源方向情報の代わりに光源の位置が特定されたストロボ情報を用いる点が実施形態１と異なるが、その他の構成は実施形態１と同一である。同一の構成及びステップについては同一の符号を付して重複する説明は省略し、相違点について重点的に説明する。
【００３８】
図７は、デジタルカメラ１００がストロボを利用する形態を模式的に示している。図７（ａ）は、ストロボ７０１がデジタルカメラ１００に内蔵されている例を示している。また、図７（ｂ）は、デジタルカメラ１００と別体型である外付けのストロボ７０２を、例えばアクセサリーシュー（不図示）に装着した例を示している。
【００３９】
デジタルカメラ１００に固定したストロボを発光させて撮影する場合、ストロボの位置を特定することができる。図７（ａ）の場合、ストロボ７０１がデジタルカメラ１００に内蔵されているため、デジタルカメラ１００の本体の構成に基づいてストロボ７０１と撮影光学系１０２との位置関係を特定することができる。また、図７（ｂ）の場合のように外付けのストロボ７０２を使用する場合も、ストロボ７０２の機種或いは外形が特定することにより、ストロボ７０２と撮影レンズとの位置関係を特定することができる。
【００４０】
利用するストロボと撮影光学系１０２との位置関係を特定すれば、実施形態１に係る光源情報が得られたことと同等であるため、特定の法線方向を容易に決定することができる。換言すれば、実施形態１に係る光源方向情報の代わりに、ストロボの位置、被写体の距離、ストロボ発光の有無（これらをストロボ情報という）を用いて特定の法線方向を決定し、白飛び領域の検出を行うことができる。
【００４１】
さらに、より簡易的には、ストロボを用いる際の光源方向は撮影方向と近似させることができるため、特定の法線方向を撮影方向（すなわち画像面に垂直方向）とみなすことができる。すなわち、簡易的に特定の法線方向を求める場合、ストロボ情報にはストロボ発光の有無が含まれるだけでよい。
【００４２】
図８は、本実施形態に係る画像補正処理部８０１の構成を示している。本実施形態に係る画像補正処理部８０１では、白飛び領域検出部２０７はストロボ情報８０２を用いて白飛び領域を検出する。ストロボ情報８０２を利用することにより、実施形態１の場合と比べて特定の法線方向の決定が単純になるため、より容易かつ高速に白飛び領域を検出することができる。例えば、ストロボ情報８０２がストロボ発光の有無のみを含む場合、白飛び領域検出部２０７は、法線決定部２０５が決定した顔領域の法線方向のうち、撮影方向（すなわち画像面に垂直方向）と一致する法線を特定の法線方向とすればよい。そして、特定の法線方向を有する部分領域を抽出すればよい。また、ストロボ情報８０２が、ストロボ位置、被写体距離及びストロボ発光の有無を含む場合、法線決定部２０５は被写体位置からストロボへの方向と撮影光学系１０２の光軸とのなす角の中間を、特定の法線方向とすればよい。
【００４３】
次に、図９を参照して、本実施形態に係る画像補正処理の一連の動作について説明する。なお、本処理も実施形態１と同様、例えば不図示の操作ボタンに対するユーザからの撮影指示があった場合に開始される。また、本処理は、制御部１０１がＲＯＭに記憶されたプログラムをＲＡＭの作業用領域に展開及び実行することにより実現される。
【００４４】
まず、画像補正処理部８０１は、制御部１０１の指示に応じて、実施形態１で上述したＳ６０１〜Ｓ６０３の処理を行い、撮影画像からの顔検出や、顔領域における法線方向を決定する。
【００４５】
次にＳ９０１において、画像補正処理部８０１は、制御部１０１の指示に応じてストロボ情報８０２を用いて白飛び領域を検出する。例えば、画像補正処理部８０１は、ストロボ情報８０２がストロボ発光有りを示す場合、特定の法線方向を撮影方向と一致させて、撮影方向の法線を持つ部分領域を抽出する。画像補正処理部８０１は、抽出した部分領域の画素値（例えば輝度値の平均値）が予め定めた閾値以上であるかを判定し、部分領域の画素値が当該閾値以上である場合には、この部分領域を白飛び領域として検出する。一方、画像補正処理部１０６は、抽出した部分領域の画素値が閾値より小さい場合、白飛び領域は存在しないと判定して白飛び領域を検出しない。
【００４６】
さらにＳ６０５において、画像補正処理部８０１は、白飛び領域が検出されたかを判定し、白飛び領域が検出されている場合はＳ６０６において白飛び補正処理を行って本処理に係る一連の動作を終了する。一方、白飛び領域が検出されていない場合、白飛び補正を行わずに本一連の動作を終了する。
【００４７】
以上説明したように、本実施形態では、予め光源の位置を特定可能なストロボを使用する際にその光源方向を特定したストロボ情報を用いて、顔領域における特定の法線方向を求めるようにした。また、光源方向を撮影方向と近似させることにより、更に顔領域における特定の法線方向を容易に求められるようにした。このようにすることにより、ストロボ撮影を行う場合に白飛び領域の検出をより簡単かつ高速に行うことができる。
【００４８】
（その他の実施形態）
なお、上述した実施形態では、法線マップが予め記録媒体１０５に記録されているものとして説明したが、デジタルカメラ１００は、通信手段を介してサーバ等の外部装置から法線マップを適宜取得するようにしてもよい。デジタルカメラ１００は、適切な法線マップを取得するために、要求する法線マップが人物の顔であることを特定したり、当該人物の顔の向きを指定したりすればよい。また、顔領域の大きさや傾きを指定したうえで対応する法線マップを取得して、デジタルカメラ１００における法線マップの拡大縮小や回転の処理を不要にしてもよい。
【００４９】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５０】
１０１…制御部、１０５…記録媒体、２０４…顔検出部、２０５…法線決定部、２０７…白飛び領域検出部、２０９…白飛び補正部
【図１】
2017130890.tif 000003
【図２】
2017130890.tif 000004
【図３】
2017130890.tif 000005
【図４】
2017130890.tif 000006
【図５】
2017130890.tif 000007
【図６】
2017130890.tif 000008
【図７】
2017130890.tif 000009
【図８】
2017130890.tif 000010
【図９】
2017130890.tif 000011