(57)【要約】【課題】複数の被写体が重なった画像領域にテカリが生じている場合であっても、正しい色味が得られる補正を実現可能にすることを課題とする。【解決手段】顔堅守る回路（１２０）は、撮影画像から顔領域を検出する。信号処理回路（１４０）は、顔領域のテカリ領域を補正する補正パラメータを生成して、その補正パラメータを用いてテカリ領域を補正する。また、信号処理回路（１４０）は、複数の顔が重なる画像領域にテカリが生じた場合、テカリが何れの顔の画像領域に属するかを判定し、属すると判定された顔の画像領域の情報を基に、重なる画像領域に生じたテカリを補正する補正パラメータを生成する。【選択図】図１
2018205883.tif 000002
【特許請求の範囲】
【請求項１】
撮影された画像から所定の被写体の画像領域を検出する検出手段と、
前記検出した画像領域の高輝度領域を補正する補正パラメータを生成する生成手段と、
前記補正パラメータを用いて前記高輝度領域を補正する補正手段と、を有し、
前記生成手段は、複数の被写体が重なる画像領域に前記高輝度領域が生じた場合、前記高輝度領域が何れの被写体の画像領域に属するかを判定し、属すると判定された被写体の画像領域の情報を基に、前記重なる画像領域に生じた前記高輝度領域を補正する補正パラメータを生成することを特徴とする画像処理装置。
【請求項２】
前記生成手段は、画像を撮影する撮影装置から前記所定の被写体までの距離情報を基に、前記高輝度領域が何れの被写体の画像領域に属するかを判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記生成手段は、前記重なる画像領域に対応した前記複数の被写体のうち前記撮影装置までの前記距離情報が最も短い被写体の画像領域に、前記高輝度領域が属すると判定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記生成手段は、前記重なる画像領域に対応した前記複数の被写体の間の前記距離情報の差分に応じた信頼度を設定し、前記距離情報の差分に応じた信頼度を基に前記高輝度領域が何れの被写体の画像領域に属するかを判定することを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記生成手段は、前記被写体を構成する複数の部位の情報を基に、前記高輝度領域が何れの被写体の画像領域に属するかを判定することを特徴とする請求項１から４の何れか１項に記載の画像処理装置。
【請求項６】
前記生成手段は、前記重なる画像領域に対応した前記複数の被写体のうち、前記複数の全ての部位の情報が得られている被写体の画像領域に、前記高輝度領域が属すると判定することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記生成手段は、前記重なる画像領域に対応した前記複数の被写体の各画像領域から取得されるべき各部位の情報に応じた信頼度を設定し、前記部位の情報の信頼度を基に前記高輝度領域が何れの被写体の画像領域に属するかを判定することを特徴とする請求項５又は６に記載の画像処理装置。
【請求項８】
前記生成手段は、前記重なる画像領域の色情報と前記複数の被写体の画像領域の色情報とを基に、前記重なる画像領域が何れの被写体の画像領域に属するかを判定することを特徴とする請求項１から７の何れか１項に記載の画像処理装置。
【請求項９】
前記生成手段は、前記重なる画像領域に対応した前記複数の被写体の画像領域のうち、前記重なる画像領域の色情報に最も近い色情報の画像領域を、前記重なる画像領域の属する被写体の画像領域と判定することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記生成手段は、前記重なる画像領域の色情報と前記複数の被写体の画像領域の色情報との差分に応じた信頼度を設定し、前記色情報の信頼度を基に前記重なる画像領域の属する被写体の画像領域の判定を行うことを特徴とする請求項８又は９に記載の画像処理装置。
【請求項１１】
前記生成手段は、前記重なる画像領域に対応した複数の被写体の画像領域ごとの前記信頼度を基に、前記重なる画像領域の前記高輝度領域の補正の目標値を設定することを特徴とする請求項４、７、１０の何れか１項に記載の画像処理装置。
【請求項１２】
前記生成手段は、前記重なる画像領域に対応した複数の被写体の前記画像領域ごとの前記信頼度のうち最も信頼度が高い画像領域の所定の色情報を、前記補正の目標値として設定し、前記目標値を基に前記補正パラメータを生成することを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記生成手段は、前記重なる画像領域に対応した複数の被写体の前記画像領域ごとの前記信頼度の比を基に、前記複数の被写体の画像領域の色情報の中間の色情報を算出し、前記中間の色情報を前記補正の目標値として設定し、前記目標値を基に前記補正パラメータを生成することを特徴とする請求項１１に記載の画像処理装置。
【請求項１４】
前記生成手段は、前記重なる画像領域に対応した複数の被写体の前記画像領域ごとの前記信頼度のうち最大の信頼度が所定の閾値未満の場合、前記重なる画像領域の前記高輝度領域の補正量を、前記信頼度に応じて小さく調整した補正量の前記補正パラメータを生成することを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記生成手段は、前記重なる画像領域に対応した複数の被写体の前記画像領域ごとの前記信頼度の差分が所定の閾値未満の場合、前記重なる画像領域の前記高輝度領域の補正量を、前記信頼度の差分に応じて小さく調整した補正量の前記補正パラメータを生成することを特徴とする請求項１３に記載の画像処理装置。
【請求項１６】
前記生成手段は、前記重なる画像領域に対応した複数の被写体の画像領域の色味の中間の色味を基に、前記重なる画像領域の前記高輝度領域の補正を行う場合、前記重なる画像領域の面積と、前記重なる画像領域に対応した複数の被写体の画像領域の間の色情報の差分との、少なくとも一つに基づいて、前記重なる領域の前記高輝度領域の補正量を調整することを特徴とする請求項１から１５の何れか１項に記載の画像処理装置。
【請求項１７】
前記生成手段は、前記重なる画像領域の面積が小さくなるにつれて、前記重なる画像領域の前記高輝度領域の補正量の最小値を大きい値に調整することを特徴とする請求項１６に記載の画像処理装置。
【請求項１８】
前記生成手段は、前記重なる画像領域に対応した複数の被写体の画像領域の間の色情報の差分が大きくなるにつれて、前記重なる画像領域の前記高輝度領域の補正量の最小値を大きい値に調整することを特徴とする請求項１６に記載の画像処理装置。
【請求項１９】
前記生成手段は、前記撮影された画像がストロボ発光して撮影された画像である場合、前記ストロボ発光して撮影する前の周期的な撮像時に取得された画像の前記重なる画像領域および前記被写体の画像領域の情報を基に、前記ストロボ発光して撮影された画像の前記重なる画像領域の高輝度領域を補正する補正パラメータを生成することを特徴とする請求項１から１８の何れか１項に記載の画像処理装置。
【請求項２０】
前記検出手段は、前記所定の被写体の画像領域として人の顔の画像領域を検出し、
前記補正手段は、前記顔の画像領域の肌色領域の中の前記高輝度領域を補正する補正パラメータを生成することを特徴とする請求項１から１９の何れか１項に記載の画像処理装置。
【請求項２１】
撮影された画像から所定の被写体の画像領域を検出する検出工程と、
前記検出した画像領域の高輝度領域を補正する補正パラメータを生成する生成工程と、
前記補正パラメータを用いて前記高輝度領域を補正する補正工程と、を有し、
前記生成工程では、複数の被写体が重なる画像領域に前記高輝度領域が生じた場合、前記高輝度領域が何れの被写体の画像領域に属するかを判定し、属すると判定された被写体の画像領域の情報を基に、前記重なる画像領域に生じた前記高輝度領域を補正する補正パラメータを生成することを特徴とする画像処理装置の画像処理方法。
【請求項２２】
コンピュータを、請求項１から２０の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像等された画像を処理する画像処理装置、画像処理方法、プログラムに関する。
【背景技術】
【０００２】
従来、撮影画像において、被写体の高輝度領域に対して補正を行う技術が知られている。この技術によれば、例えば環境光によって生じた顔のテカリ領域などを補正して、好ましい画像を得ることが可能となる。
また、例えば特許文献１には、画像から被写体の所定部位を検出し、それらの検出結果に基づいてテカリ領域を補正する方法が開示されている。特許文献１の技術では、被写体の所定部位として例えば顔と目や口などの各器官を検出し、それら各器官の位置や色などに基づいて各画素に対する補正の程度を決定している。これにより、輝度や明度を下げる必要のない部位についてはその高い輝度や明度が維持され、輝度を下げる必要のある肌のテカリが生じている部位のみに対して補正することが可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３２７００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述したように特許文献１の技術では、被写体の所定部位の検出結果を利用したテカリ補正が行われている。このため、例えば画像内で複数の被写体が検出され、それら複数の被写体が重なっていて、その重なりの画像領域内にテカリが生じているような場合、そのテカリ領域が別の被写体の色を基に補正されてしまうことがある。このように間違った被写体の色に基づく補正が行われると、その部分だけ色味が変わる色ズレ（例えば顔領域の中でその部分だけ違った肌色になるような色ズレ）が生じ、不自然な画像になってしまう。
【０００５】
そこで本発明は、複数の被写体が重なった画像領域にテカリが生じている場合であっても、正しい色味が得られる補正を実現可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、撮影された画像から所定の被写体の画像領域を検出する検出手段と、前記検出した画像領域の高輝度領域を補正する補正パラメータを生成する生成手段と、前記補正パラメータを用いて前記高輝度領域を補正する補正手段と、を有し、前記生成手段は、複数の被写体が重なる画像領域に前記高輝度領域が生じた場合、前記高輝度領域が何れの被写体の画像領域に属するかを判定し、属すると判定された被写体の画像領域の情報を基に、前記重なる画像領域に生じた前記高輝度領域を補正する補正パラメータを生成することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、複数の被写体が重なった画像領域にテカリが生じている場合であっても、正しい色味になる補正を実現可能となる。
【図面の簡単な説明】
【０００８】
【図１】実施形態の画像処理装置の構成例を示す図である。
【図２】本実施形態の画像処理を行う主要部を示した図である。
【図３】ブロック積分の説明図である。
【図４】補正ゲインの説明図である。
【図５】本実施形態におけるテカリ補正領域決定の説明図である。
【図６】顔が重なっている場合の一例を示す図である。
【図７】本実施形態におけるテカリ補正量算出処理のフローチャートである。
【図８】距離情報と距離情報に応じた信頼度の説明図である。
【図９】器官情報と器官情報に応じた信頼度の説明図である。
【図１０】色情報と色情報に応じた信頼度の説明図である。
【図１１】Ｔ値、重なっている面積、又は色の差分に応じた補正量の説明図である。
【図１２】重なり領域よりテカリ領域が大きい場合の例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明の好ましい実施形態について、添付の図面に基づいて詳細に説明する。
［第１の実施形態］
図１は、本実施形態の画像処理装置の一適用としての撮像装置の構成例を示したブロック図である。撮像装置としては、デジタルスチルカメラやデジタルビデオカメラ、デジタルカメラ機能を備えたスマートフォンやタブレット端末、パーソナルコンピュータ等の各種情報端末、工業用カメラ、車載カメラ、医療用カメラなどの各種カメラを挙げることができる。
【００１０】
図１において、ユーザからユーザインタフェース（以下、ＵＩ装置１１１とする。）を介して撮影指示が入力されると、システムコントローラ１０７は、鏡筒装置１０２、撮像素子１０１、ストロボ装置１１２などを制御して、画像撮影の動作を行わせる。
鏡筒装置１０２は、レンズや絞り、メカシャッタなどを有し、画像撮影時には被写体等の光学像を撮像素子１０１の撮像面上に形成する。撮像素子１０１は、ＣＭＯＳやＣＣＤ等の撮像デバイスと赤（Ｒ）、緑（Ｇ）、青（Ｂ）からなるカラーフィルタとを有して構成され、撮像面上に形成された光学像を光電変換により撮像信号に変換して、アナログフロントエンド回路（以下、ＡＦＥ回路１５０とする。）に出力する。ＡＦＥ回路１５０は、撮像素子１０１から出力されたＲＧＢの撮像信号のゲイン調整およびＡ／Ｄ（アナログ／デジタル）変換を行い、ＲＧＢデータとして出力する。ＡＦＥ回路１５０から出力されたＲＧＢデータは、いわゆるＲＡＷ（生）データとして、バッファメモリ１０３に一時的に蓄えられる。
【００１１】
なお、図１において、システムコントローラ１０７や各回路間におけるデータと各種情報の送受信は、それらの間で直接行われる場合もあるが、概ねバッファメモリ１０３を介して行われる。ただし、以下の説明では、記載を簡略にするために、特に明示が必要な場合を除き、バッファメモリ１０３を介したデータや各種情報の送受が行われる場合であっても、バッファメモリ１０３を介していることの記載は省略することとする。
【００１２】
画像撮影開始後、システムコントローラ１０７は、画像撮影時に設定されているホワイトバランス（以下、ＷＢとする。）モード、被写体輝度（Ｂｖ値）や撮影感度などの撮影条件を基に、ＷＢ検出設定値（白領域検出設定値）を算出する。そして、システムコントローラ１０７は、そのＷＢ検出設定値を、ＷＢ検出回路１７０に設定する。ＷＢ検出回路１７０は、ＷＢ検出設定値を基に、バッファメモリ１０３に蓄積されているＲＧＢデータ（ＲＡＷデータ）から白領域を抽出し、その白領域の情報をシステムコントローラ１０７に送る。システムコントローラ１０７は、ＷＢ検出回路１７０にて検出された白領域の情報を基にＷＢ係数を算出し、そのＷＢ係数をＷＢ処理回路１７４に設定する。ＷＢ処理回路１７４は、そのＷＢ係数を基に、バッファメモリ１０３に蓄積されているＲＧＢデータ（ＲＡＷデータ）のＷＢを調整するＷＢ処理を行う。このＷＢ処理後のＲＧＢデータは、バッファメモリ１０３を介して、信号処理回路１４０に送られる。
【００１３】
また、システムコントローラ１０７は、ＷＢ補正係数やガンマパラメータなどの画像処理パラメータを信号処理回路１４０に設定する。信号処理回路１４０は、ＷＢ処理後のＲＧＢデータに対し、システムコントローラ１０７にて設定された画像処理パラメータに基づく信号処理を行い、輝度（Ｙ）と色差（Ｕ，Ｖ）のＹＵＶデータを出力する。本実施形態における信号処理回路１４０は、ノイズリダクション処理やガンマ補正処理、諧調設定処理、色変換処理、ＹＵＶデータの生成などの信号処理の他、後述するテカリ補正処理などを行う。画像処理パラメータと信号処理の詳細については後述する。信号処理回路１４０による信号処理後のＹＵＶデータは、バッファメモリ１０３に一時的に蓄えられる。このバッファメモリ１０３に蓄積されたＹＵＶデータは、その後、例えば記録、リサイズ処理、表示等に用いられる。
【００１４】
例えばＹＵＶデータの記録が行われる場合、圧縮伸長回路１０４は、バッファメモリ１０３に蓄積されたＹＵＶデータを読み出して画像圧縮処理を行い、例えばＪＰＥＧファイルのデータを生成する。そして、記録装置１０５は、そのＪＰＥＧファイルのデータを記録媒体１０６に記録する。
また例えば、ＹＵＶデータの画像（以下、ＹＵＶ画像とする。）のリサイズ処理が行われる場合、リサイズ回路１３１は、バッファメモリ１０３に蓄積されたＹＵＶデータを読み出してサイズ変換処理を行う。このサイズ変換処理されたＹＵＶデータはバッファメモリ１０３に蓄積される。
また、ＹＵＶ画像の表示が行われる場合、表示制御回路１０８は、バッファメモリ１０３に蓄積されたＹＵＶデータを読み出して表示用データに変換する。表示制御回路１０８から出力された表示用データはＤ／Ａ（デジタル／アナログ）変換回路１０９によりアナログ表示信号に変換された後、モニタ装置１１０に送られる。
【００１５】
モニタ装置１１０は、液晶表示装置等であり、Ｄ／Ａ変換回路１０９から供給された表示信号に基づく映像を画面上に表示する。モニタ装置１１０に表示される映像は、静止画撮影等がなされる前後などにフレーム周期で撮像されるいわゆるライブ画像も含まれる。また、画像撮像時に、ＵＩ装置１１１を介してユーザによりカメラ撮影設定などが行われる場合、システムコントローラ１０７は、カメラ撮影設定用のＵＩ画面データを生成し、そのＵＩ画面データを表示制御回路１０８に送る。このときの表示制御回路１０８は、ＵＩ画面の表示用データを生成し、その表示用データがＤ／Ａ変換回路１０９によりアナログ表示信号に変換されてモニタ装置１１０に送られる。これにより、モニタ装置１１０には、ＵＩ画面が表示される。なお、前述したＹＵＶ画像とＵＩ画面を重畳表示させることも可能である。この場合、合成回路１３３は、バッファメモリ１０３から読み出したＹＵＶ画像にＵＩ画面を合成する重畳処理を行い、その重畳処理後の画像データが表示制御回路１０８に送られる。そして、表示制御回路１０８は、重畳処理後の画像データから表示用データを生成してＤ／Ａ変換回路１０９に出力し、これによりモニタ装置１１０では撮影画像（ＹＵＶ画像）とＵＩ画面の重畳表示がなされる。
【００１６】
画像補正回路１６０は、バッファメモリ１０３に蓄積された画像データ（ＲＧＢデータ又はＹＵＶデータ）に対し、システムコントローラ１０７にて設定された画像補正値に基づく画像補正処理を行う。画像補正値に基づく画像補正処理としては、例えばレンズに起因する歪み等の各種画像歪み補正や、ユーザにて設定された色や輝度などへの補正処理、その他の様々な補正処理を挙げることができる。画像補正回路１６０による画像補正処理後の画像データは、バッファメモリ１０３に一時的に蓄えられる。
【００１７】
また、本実施形態の画像処理装置は、顔検出回路１２０、器官検出回路１２１、ヒストグラム回路１３０、ブロック積分回路１３２、簡易信号処理回路１４１をも有している。
簡易信号処理回路１４１は、バッファメモリ１０３からＲＧＢデータを読み出して、システムコントローラ１０７による現像設定に基づく簡易信号処理を行って、ＹＵＶデータ（ＹＵＶ画像）を生成する。
【００１８】
顔検出回路１２０は、簡易信号処理にて生成されたＹＵＶ画像から、被写体の人物の顔領域を検出し、さらにその検出した顔領域の画像内における座標位置を検出する。そして、顔検出回路１２０は、検出した顔領域の座標位置情報をバッファメモリ１０３に一時的に蓄積するとともに、器官検出回路１２１とヒストグラム回路１３０にも出力する。なお、顔検出回路１２０における顔検出処理の詳細は後述する。
【００１９】
器官検出回路１２１は、顔領域の座標位置情報を基に、簡易信号処理にて生成されたＹＵＶ画像の中の顔領域を特定し、その顔領域から顔を構成する各部位である口、目、眉などの各器官を検出し、それら各器官の画像内における各座標位置を検出する。器官検出回路１２１にて検出された各器官の座標位置情報は、バッファメモリ１０３に一時的に蓄積される。なお、器官検出回路１２１における器官検出処理の詳細は後述する。
【００２０】
ヒストグラム回路１３０は、顔領域の座標位置情報、各器官の座標位置情報を基に、バッファメモリ１０３のＲＧＢデータの画像（ＲＧＢ画像とする。）の中の顔領域を特定し、その顔領域の中で口や目、眉などの器官を除いた領域のヒストグラムを取得する。すなわち、ヒストグラム回路１３０は、顔領域の中で、口や目、眉などの肌色ではない各器官を除いた領域（肌色領域）における画素値のヒストグラムを取得する。ここで、本実施形態の場合、ヒストグラム回路１３０は、ＲＧＢ画像の中の顔領域を複数に分割したブロック領域ごとにヒストグラムを取得することとする。このため、バッファメモリ１０３に蓄積されているＲＧＢ画像がブロック積分回路１３２に読み出される。ブロック積分回路１３２は、ＲＧＢ画像の中の顔領域を複数のブロック領域に分割し、それらブロック領域ごとにＲＧＢの各積分値（以下、ブロック積分値とする。）を算出し、それらをヒストグラム回路１３０に出力する。そして、ヒストグラム回路１３０は、それらブロック積分値のうち、口や目、眉などの器官を除いた肌色の各ブロック領域のヒストグラムを取得する。このようにしてヒストグラム回路１３０にて取得されたブロック領域ごとのヒストグラムの情報は、バッファメモリ１０３に一時的に蓄積される。なお、ブロック分割とブロック積分値の算出はＲＧＢ画像（つまり１画面分の画像）に対して行われてもよい。ヒストグラム回路１３０におけるヒストグラム取得処理の詳細は後述する。
【００２１】
本実施形態の画像処理装置においては、前述したように、顔領域とその座標位置情報、各器官の座標位置情報、ブロック領域ごとのヒストグラム等の情報が、バッファメモリ１０３に蓄積される。したがって、システムコントローラ１０７は、それら顔領域とその座標位置情報、各器官の座標位置情報、ブロック領域ごとのヒストグラムの情報を基に、顔領域のブロック領域ごとに彩度、色相、輝度などの詳細な情報を取得可能となる。同様に、システムコントローラ１０７は、顔領域内で口や目、眉などの肌色でない部分を除いた肌色部分において白飛びした高輝度領域、つまりテカリ領域やそのテカリの発生具合をブロック領域ごとに詳細に検出することができる。
【００２２】
なお、テカリとは、環境光源やストロボ光が被写体の人物の肌等の表面で反射し、撮像装置が取り込んだ入力信号値が飽和して色情報が失われ、肌の一部が白く撮像されてしまう（白く飛んでしまう）現象である。肌色の領域の中にテカリが生じて局所的に高輝度になった部分が存在すると、人物画像として好ましくない印象を与えてしまう。このため、撮像装置では、入力信号値が飽和している飽和領域（テカリが生じている領域）のある画像に対して、その飽和を補正してテカリを軽減するようなテカリ補正が行われる。
【００２３】
本実施形態の場合、テカリ補正処理は、信号処理回路１４０による信号処理の一つとして行われる。このため、システムコントローラ１０７は、画像処理パラメータの一つとしてテカリ補正パラメータを算出し、そのテカリ補正パラメータを含む画像処理パラメータを信号処理回路１４０に設定する。
【００２４】
図２（ａ）は、撮影画像から顔領域と各器官の情報が取得され、それら情報を基に算出されたテカリ補正パラメータを含む画像処理パラメータを用いて、信号処理回路１４０による信号処理が行われるまでの各部の処理の流れを表したブロック図である。
図２（ａ）において、バッファメモリ１０３から読み出されたＲＧＢデータ２０１（ＲＡＷデータ）は、ＷＢ検出回路１７０、ＷＢ処理回路１７４、簡易信号処理回路１４１、ヒストグラム回路１３０、ブロック積分回路１３２に送られる。
【００２５】
ＷＢ検出回路１７０は、前述したようにシステムコントローラ１０７により設定されたＷＢ検出設定値を基に、ＲＧＢデータ２０１から白領域を抽出する。ＷＢ検出回路１７０により検出された白領域の情報は、ＷＢ演算部１７３に送られる。なお、図２（ａ）では省略しているが、白領域の情報は画像処理パラメータ算出部１８０にも送られる。ＷＢ演算部１７３と画像処理パラメータ算出部１８０と後述するテカリ補正パラメータ算出部１９０とは、図１のシステムコントローラ１０７内に機能ブロックとして形成される構成である。
【００２６】
システムコントローラ１０７のＷＢ演算部１７３は、ＷＢ検出回路１７０にて検出された白領域の情報を基に、ＷＢ係数を算出して、そのＷＢ係数をＷＢ処理回路１７４に設定する。ＷＢ処理回路１７４では、前述したように、ＷＢ係数を基にＲＧＢデータ２０１に対するＷＢ処理を行い、そのＷＢ処理後のＲＧＢデータを信号処理回路１４０に送る。
【００２７】
簡易信号処理回路１４１は、ＲＧＢデータ２０１から、簡易信号処理によりＹＵＶデータを生成する。簡易信号処理回路１４１は、後段の顔検出回路１２０による顔検出と器官検出回路１２１による器官検出のみに用いられるＹＵＶデータを生成する。このため、簡易信号処理回路１４１では、信号処理回路１４０にて行われるようなノイズリダクション処理やガンマ補正処理等の詳細な処理は実施しない。簡易信号処理回路１４１にて生成されたＹＵＶデータは、顔検出回路１２０と器官検出回路１２１に送られる。
【００２８】
顔検出回路１２０は、簡易信号処理で生成されたＹＵＶ画像から顔領域を検出する。顔検出回路１２０は、顔検出処理の結果として、検出した顔領域、検出した顔領域の個数、画像内における顔領域の座標、顔領域ごとの顔検出の信頼度等の各情報を取得する。
【００２９】
ここで、顔検出処理の方法としては、例えば、ニューラルネットワークに代表される学習を用いた方法や、目や鼻、口、眉と言った物理的形状に特徴のある器官（部位）をいわゆるテンプレートマッチングにより画像から抽出する手法等を用いることができる。その他にも、肌の色や目の形といった画像の特徴情報を検出し、統計的手法を用いて解析する方法が挙げられる。特徴情報を検出して統計的手法を用いて解析する方法は、例えば特開平１０−２３２９３４号公報や特開２０００−４８１８４号公報等に開示されている。その他にも、顔検出処理の方法としては、例えばウェーブレット変換と画像の特徴情報とを利用して顔を検出する方法等や、さらにテンプレートマッチング等を組み合わせた方法など、様々な顔検出方法の何れを用いてもよい。顔検出回路１２０による顔検出処理により得られた情報は、システムコントローラ１０７のテカリ補正パラメータ算出部１９０に送られるとともに、器官検出回路１２１にも送られる。なお、顔検出処理により得られた情報は、バッファメモリ１０３を介してヒストグラム回路１３０とブロック積分回路１３２にも送られる。
【００３０】
器官検出回路１２１は、簡易信号処理で生成されたＹＵＶ画像から、顔検出回路１２０にて検出された顔領域の中の各器官を検出する器官検出処理を行う。すなわち、器官検出回路１２１は、器官検出処理により、顔領域内の口、鼻、目、眉などの各器官の詳細な情報や、顔の角度などの情報を取得する。顔領域内の各器官（部位）の検出方法としては、前述した顔検出方法と同様にテンプレートマッチングを利用した方法やニューラルネットワークを利用した方法など、様々な方法の何れを用いてもよい。なお、特開２００５−３２７００９号公報に記載された方法を用いることも可能である。器官検出回路１２１による器官検出処理により得られた情報は、システムコントローラ１０７のテカリ補正パラメータ算出部１９０に送られる。
【００３１】
ブロック積分回路１３２は、ＲＧＢデータ２０１のＲＧＢ画像を前述したように複数のブロック領域に分割して、ブロック積分値を算出する。それらブロック積分値は、バッファメモリ１０３を介して前述したようにヒストグラム回路１３０に送られる。ヒストグラム回路１３０は、前述したように、顔領域と各器官の情報、およびブロック積分回路１３２による各ブロック積分値を基に、顔領域の中の肌色領域のブロック領域ごとの詳細なヒストグラムを取得する。ヒストグラム回路１３０にて取得されたヒストグラムの情報は、システムコントローラ１０７のテカリ補正パラメータ算出部１９０に送られる。
【００３２】
図３は、ＲＧＢデータ２０１のＲＧＢ画像３１０から検出された顔領域３００と、その顔領域３００を複数のブロック領域３１２に分割した様子を示したイメージ図である。図３には、顔領域３００の中にテカリ領域３０１が存在している例が挙げられている。なお、各ブロック領域３１２のサイズ（積分値が算出される１ブロックの大きさ）は、顔領域３００の大きさに合わせて可変されてもよい。また、ブロック分割が行われる範囲は、図３の例のように顔領域３００を含む範囲だけでなく、画像３１０の略々全面に相当する範囲３１１となされてもよい。
【００３３】
テカリ補正パラメータ算出部１９０には、前述した顔領域の情報、各器官の情報の他、ＵＩ装置１１１を介してユーザにより画像撮影前又は画像撮影時に設定された情報（撮影時情報）も供給される。撮影時情報は、ユーザにより設定される情報であり、本実施形態では例えばテカリ補正の強度、テカリ補正処理を行うかどうかの情報等を含んでいる。例えばテカリ補正の強度を強くするように設定された場合、テカリ補正パラメータ算出部１９０は、例えば後述する図４（ａ）に示すような補正ゲインを強めるテカリ補正パラメータを設定する。テカリ補正パラメータ算出の詳細については後述する。そして、テカリ補正パラメータは、システムコントローラ１０７の画像処理パラメータ算出部１８０に送られる。
【００３４】
画像処理パラメータ算出部１８０は、前述したＷＢ検出回路１７０にて検出された白領域の情報に応じた階調設定や色変換処理などの画像処理パラメータを決定し、それら画像処理パラメータに前述のテカリ補正パラメータを含めて信号処理回路１４０に送る。
信号処理回路１４０は、ＷＢ処理回路１７４によるＷＢ処理後のＲＧＢデータに対して、画像処理パラメータに応じた信号処理を施し、さらにＹＵＶデータ２０２を生成する。信号処理回路１４０における処理の詳細は後述する。
【００３５】
図２（ｂ）は、図２（ａ）のテカリ補正パラメータ算出部１９０とそれに関連した各回路等における処理の流れを表したブロック図である。図２（ｂ）には、テカリ補正処理に関連する構成のみ示しているため、図２（ａ）のＷＢ検出回路１７０、ＷＢ処理回路１７４、ＷＢ演算部１７３、簡易信号処理回路１４１、及び画像処理パラメータ算出部１８０の図示は省略している。また、図２（ｂ）の輝度値算出部１７５と演算部２１１〜２１４は、信号処理回路１４０内のテカリ補正処理に係る構成である。なお、図２（ｂ）の顔検出回路１２０、器官検出回路１２１、ブロック積分回路１３２、ヒストグラム回路１３０については前述の図２（ａ）と同様であるためそれらの説明は省略する。図２（ｂ）に示すように、テカリ補正パラメータ算出部１９０は、テカリ補正特性決定部１９１、テカリ補正領域算出部１９２、テカリ補正色算出部１９３を有して構成される。
【００３６】
テカリ補正特性決定部１９１は、画像の輝度（入力輝度とする。）に応じた補正ゲインを決定する際の補正特性を表す補正特性パラメータを決定する。本実施形態の場合、テカリ補正特性決定部１９１は、ブロック積分回路１３２によるブロック積分値とヒストグラム回路１３０からのヒストグラムの情報を基に補正特性を決定する。
【００３７】
図４（ａ）、図４（ｂ）は、入力輝度に応じた補正ゲインを決める補正特性を示した図であり、横軸が入力輝度、縦軸が補正ゲインを示している。
ここで、例えば図４（ａ）に示すように、入力輝度が大きくなるのにつれて、補正ゲインが大きく上昇するような補正特性を用いた場合、輝度が高い白飛び領域（テカリ領域）に対して効果的に補正を行うことが可能となる。一方、例えば図４（ｂ）に示すように、入力輝度が大きくなっても補正ゲインの上昇が小さい補正特性を用いた場合、補正量を小さくすることが可能となる。このように、入力輝度と補正ゲインとの関係を可変させるようにすれば、補正特性を可変することが可能となる。
【００３８】
これら図４（ａ）や図４（ｂ）のように補正特性を可変するために、本実施形態のテカリ補正特性決定部１９１は、画像中の顔領域内の白飛びの具合に応じて補正特性を決定するようになされている。具体的には、テカリ補正特性決定部１９１は、先ず、顔領域のブロック積分値と各器官の座標とを基に、顔領域の中の肌色領域である頬部、額部、鼻部のブロック領域の白飛び量を算出する。例えば、テカリ補正特性決定部１９１は、肌色領域である頬部、額部、鼻部のブロック積分値の平均値や、それらブロック領域の輝度平均値が、所定の閾値を超えたブロック数を算出して、それらブロック数を白飛び量として算出する。または、テカリ補正特性決定部１９１は、ヒストグラム回路１３０により取得されたヒストグラムから顔領域内において所定の明るさ以上となっているピクセル数を算出し、そのピクセル数を白飛び量として算出する。そして、テカリ補正特性決定部１９１は、前述したブロック数又はピクセル数による白飛び量、つまり白飛びの具合に応じて補正特性を可変する。テカリ補正特性決定部１９１は、このようにして決定した補正特性を表す補正特性パラメータを、テカリ補正パラメータの一つとして信号処理回路１４０の演算部２１１に送る。
【００３９】
テカリ補正領域算出部１９２は、顔領域内においてテカリ補正の対象となる範囲、つまり顔領域の中で目や口等の肌色でない器官の領域を除いた肌色領域をテカリ補正領域として算出し、そのテカリ補正領域を表すテカリ補正領域パラメータを決定する。本実施形態の場合、テカリ補正領域算出部１９２は、顔検出回路１２０にて検出された顔領域、器官検出回路１２１にて検出された各器官、および、ブロック積分回路１３２にて算出された各ブロック積分値を基に、テカリ補正領域パラメータを決定する。
【００４０】
図５は、様々な向き（顔の角度）の顔領域３１０の例を示しており、テカリ補正領域算出部１９２はこれら顔領域３１０に対してテカリ補正領域を決定する。図５の上段は、様々な向きの各顔領域３１０を示し、これら各顔領域３１０には、目３０５等の各器官が含まれ、また白飛びした高輝度領域であるテカリ領域３０１も存在しているとする。図５の中段は、上段の各顔領域３１０についてそれぞれ決定されたテカリ補正領域３０２を示しており、図５の下段は、各顔領域３１０について決定されたテカリ補正領域３０２の中でテカリ補正が行われない補正除去領域３０３を示している。この例の場合、補正除去領域３０３は、テカリ補正領域３０２の中に存在する器官（この例では目３０５）の領域となされている。
【００４１】
図５の例において、テカリ補正領域算出部１９２は、テカリ補正領域３０２を決定する際、顔領域と各器官の情報を基に、例えば両目（３０５）の座標間の距離から楕円の大きさを決定し、さらに両目の位置から楕円の中心位置を決定する。本実施形態では、この楕円がテカリ補正領域３０２の決定に用いられる。また、テカリ補正領域算出部１９２は、例えば各器官の位置関係から顔の角度を算出し、その角度を基に顔が正面からずれているか否か判定する。そして、テカリ補正領域算出部１９２は、顔が正面からずれている場合、そのずれの方向と角度を算出し、ずれの方向とは逆の方向に、ずれの角度に相当する分だけ楕円の中心をずらす。またこのときのテカリ補正領域算出部１９２は、ずれの角度に応じて楕円の大きさを（つまりテカリ補正領域３０２のサイズ）を修正する。これにより、顔領域３１０からテカリ補正領域３０２がはみ出すことによる弊害を除外することが可能となる。
【００４２】
さらに、テカリ補正領域算出部１９２は、各器官の情報とブロック積分値とを基に、高輝度であっても白飛び領域ではない例えば目３０５の器官領域を特定し、その領域をテカリ補正領域３０２から除外する補正除去領域３０３として設定する。また、テカリ補正領域算出部１９２は、テカリ補正領域３０２について楕円の中心から周辺に向けて補正強度を徐々に減少させていくことで、テカリ補正領域３０２とその周辺の補正領域外との切り替わりによる急激な変化が発生するのを軽減させるようにする。同様に、テカリ補正領域算出部１９２は、目３０５の器官の補正除去領域３０３についても、補正除去領域３０３の中心部分（目３０５の中心部分）は補正をしないように設定し、補正除去領域３０３の周辺になるにつれて補正強度を強めていく設定を行う。これにより、テカリ補正領域算出部１９２は、テカリ補正領域３０２と補正除去領域３０３との切り替わりによる急激な変化が発生するのを軽減させるようにしている。そして、テカリ補正領域算出部１９２は、このようにして設定したテカリ補正領域３０２を表すテカリ補正領域パラメータを、テカリ補正パラメータの一つとして信号処理回路１４０の演算部２１２に送る。
【００４３】
テカリ補正色算出部１９３は、補正目標色を基に、テカリ補正の際のテカリ補正色を算出し、その補正色を表すテカリ補正色パラメータを決定する。ここで、本実施形態において、テカリ補正は、補正色に補正ゲインを乗算し、ＲＧＢデータ２０１から減算することにより行われる。また本実施形態の場合、補正目標色は顔領域の肌色であり、例えば飽和値を考えた場合、飽和値から補正色の値を減算した後に肌色になっている必要があるため、飽和値と肌色の値との差分値が補正色の値になる。
【００４４】
例えばＲ，Ｇ，Ｂの値をそれぞれ８ビットで表した場合、肌色目標値は、
（Ｒ，Ｇ，Ｂ）＝（２３０，２００，１７０）
となり、一方、飽和値は、
（Ｒ，Ｇ，Ｂ）＝（２５５，２５５，２５５）
となる。
したがって、その飽和値から肌色目標値を減算すると、補正色の値は、
（Ｒ，Ｇ，Ｂ）＝（２０，５５，８５）
となる。
【００４５】
ただし、被写体の明るさに応じて肌色目標値は異なってくるため、被写体の明るさに応じて補正色も可変させる必要がある。また例えば、人種や年齢、性別、個人差などによっても肌色目標値のＲＧＢの比率が異なってくる。これらのことから、テカリ補正色算出部１９３では、顔領域のうち例えば両頬（つまり肌色と考えられる部位）のブロック領域で、且つＲＧＢの各値の何れも飽和していないブロック領域から色味を算出し、それを肌色目標色に設定する。そして、テカリ補正色算出部１９３は、このようにして設定した肌色目標色に応じた補正色を算出し、その補正色を表すテカリ補正色パラメータを、テカリ補正パラメータの一つとして信号処理回路１４０の演算部２１３に送る。
【００４６】
信号処理回路１４０は、テカリ補正処理に係る構成として、図２（ｂ）に示すように輝度値算出部１７５と演算部２１１〜２１４を有している。輝度値算出部１７５はＲＧＢ画像の各画素の輝度値からなる輝度値画像２０３を生成し、その輝度値画像２０３を演算部２１１に送る。演算部２１１は、前述した補正特性パラメータにより示される補正特性を基に、輝度値画像２０３の画素ごとの輝度値に応じた各補正ゲインを算出し、それら画素毎の各補正ゲインを演算部２１２に送る。演算部２１２は、輝度値画像２０３を基に算出された各補正ゲインから、前述したテカリ補正領域パラメータにより示されるテカリ補正領域に対応した各補正ゲインを抽出し、そのテカリ補正領域の各補正ゲインを演算部２１３に送る。演算部２１３は、前述した補正色パラメータにより示される補正色に、テカリ補正領域の各補正ゲインを乗算し、その補正ゲイン乗算後の各補正色の情報を、演算部２１４に送る。演算部２１４は、ＲＧＢ画像であるＲＧＢデータ２０１から、前述した補正ゲイン乗算後の各補正色を減算する。これにより、演算部２１４からは、テカリ補正領域内のテカリ領域に対するテカリ補正がなされた後のＲＧＢ画像が生成される。その後、信号処理回路１４０は、テカリ補正後のＲＧＢデータからＹＵＶデータ２０２を生成する。
【００４７】
以上が、本実施形態のテカリ補正パラメータの算出処理とテカリ補正処理の基本的な流れである。
以下、被写体の画像領域である顔領域が複数存在し、その中の幾つかの顔の例えば一部が重なっていて、その重なり領域内にテカリが生じている場合において、本実施形態の画像処理装置が行うテカリ補正処理について説明する。
【００４８】
図６は、被写体である二つの顔の一部が重なっていて、それら二つの顔領域６００ａ，６００ｂに重なり領域が存在している例を示した図である。図６の例では、顔領域６００ａより手前側（撮像装置に近い側）に顔領域６００ｂが在り、その顔領域６００ｂ内にテカリ領域６０１ｂが存在しているとする。また、顔領域６００ａ，６００ｂの中の点線で囲われた領域は、それぞれの顔領域６００ａ，６００ｂで求められたテカリ補正領域６０２ａ，６０２ｂであるとする。そして、顔領域６００ｂのテカリ領域６０１ｂは、顔領域６００ａのテカリ補正領域６０２ａと顔領域６００ｂのテカリ補正領域６０２ｂが重なっているとする。図６の例のように、顔領域６００ａと６００ｂの重なった領域内にテカリ領域６０１ｂが存在する場合、どちらの顔領域の肌色を基に肌色目標値を算出するのかが問題となる。例えば、誤って顔領域６００ａの肌色を基に肌色目標値を算出して顔領域６００ｂのテカリ領域６０１ｂの補正が行われると、顔領域６００ｂではそのテカリ補正された領域だけが異なる色味の肌色となった不自然な顔画像が生成されてしまう虞がある。
【００４９】
このため、本実施形態の画像処理装置では、顔領域６００ａ，６００ｂのテカリ補正領域６０２ａ，６０２ｂが重なっていて、その重なり領域内にテカリが生じている場合、その重なった領域が顔領域６００ａ，６００ｂの何れの顔領域に属しているかを判定する。
図７には、テカリ補正領域の重なった領域が何れの顔領域に属するかを判定する処理のフローチャートを示す。本実施形態の場合、図７のフローチャートの処理は、例えばシステムコントローラ１０７により行われるとする。なお、図７のフローチャートでは、ステップＳ１０１〜ステップＳ１０５をそれぞれＳ１０１〜Ｓ１０５と略記する。また、図７のフローチャートの処理は、ハードウェア構成又はソフトウェア構成により実行されてもよいし、一部がソフトウェア構成で残りがハードウェア構成により実現されてもよい。ソフトウェア構成により処理が実行される場合、図７のフローチャートの処理は、一例として不図示のＲＯＭ等に格納されているプログラムをＲＡＭ等に展開し、システムコントローラ１０７が実行することなどにより実現可能である。本実施形態に係るプログラムは、ＲＯＭ等に予め用意される場合だけでなく、例えば着脱可能な半導体メモリから読み出されたり、不図示のインターネット等のネットワークからダウンロードされたりして、ＲＡＭ等にロードされてもよい。
【００５０】
図７のＳ１０１において、システムコントローラ１０７は、画像が撮影された際に取得された距離情報を基に、テカリ補正領域の重なった領域が顔領域６００ａと６００ｂの何れの顔領域に属しているかを判定する。画像が撮影された際に距離情報を取得する方法は公知の方法を用いることができる。例えば、画像の画素毎に距離情報を取得する方法として、一つの画素につき二つの受光素子（Ａ素子とＢ素子）が設けられ、Ａ素子とＢ素子の対からなる一つの画素につき一つのマイクロレンズが設けられた構造を有する撮像センサを用いる方法が知られている。この例の場合、鏡筒装置１０２を介した光像は、一つのマイクロレンズを介してＡ素子とＢ素子に分割受光されることで、視差を有したＡ像とＢ像の二つの画像信号として取得される。このような画素ごとの視差の情報により、撮像センサから被写体までの距離を算出することができる。
【００５１】
図８（ａ）は、前述した図６の顔領域６００ａと６００ｂの画像例において、画素毎に距離情報を算出することで得られる、距離情報のみからなる距離画像８１０の一例を示している。そして、システムコントローラ１０７は、図６の顔領域６００ａと６００ｂのそれぞれの平均距離を算出する。図８（ａ）の距離領域８００ａは図６の顔領域６００ａの平均距離情報を表し、距離領域８００ｂは顔領域６００ｂの平均距離情報を表しているとする。図８（ａ）に例示した距離画像８１０は、距離が白黒の濃淡（ドット密度の濃淡）で表されており、距離が長いほど黒に近い色になり（ドット密度が高くなり）、距離が短いほど白に近い色になる（ドット密度が低くなる）ように表されている。つまり、図６の例では顔領域６００ａよりも顔領域６００ｂが手前側で距離が短いため、図８（ａ）に示す距離領域８００ａよりも距離領域８００ｂが白に近い色になされている（ドット密度が低くなされている）。また、図６のテカリ補正領域６０２ａ，６０２ｂは、図８（ａ）では図中点線で囲われた領域８０２ａ，８０２ｂにより表されている。そして、図６のテカリ補正領域６０２ａ，６０２ｂの重なり領域は、手前側の顔領域６００ｂの中に、つまり、図８（ａ）の距離画像８１０では距離が短い距離領域８００ｂの中に、属している可能性が高いと考えられる。
【００５２】
本実施形態では、テカリ補正領域の重なり領域が何れの顔領域に属するかを判断する際には、距離情報だけでなく、図８（ｂ）に示すテーブル８５０に基づく信頼度Ａをも用いる。本実施形態の場合、信頼度Ａは、例えば図８（ｂ）に示すような信頼度Ａと距離差の関係を表すテーブル８５０を基に設定される。図８（ｂ）に示したテーブル８５０の信頼度Ａは、テカリ補正領域の重なり領域が、距離の短い方の顔領域に属する可能性（確からしさ）の高さを表している。図８（ｂ）に例示したテーブル８５０によれば、顔領域間の距離差が所定の距離差閾値以上（閾値ｔｈA以上）の場合、信頼度Ａは、重なり領域が手前側（距離が短い側）の顔領域に属していると判定される値（例えば値「１００」）に設定される。また、顔領域間の距離差が所定の距離差閾値未満（閾値ｔｈA未満）の場合、信頼度Ａは、距離差が小さくなるほど徐々に低い値に設定され、距離差がゼロ（０）のときに例えば値「５０」に設定される。なお、図８（ｂ）のテーブル８５０の場合、奥側（距離が遠い方）の顔領域に対する信頼度は、（１００−Ａ）として表すことができる。したがって、距離差がゼロの場合、それら顔画像における信頼度Ａの値は共に「５０」となる。本実施形態において、この信頼度Ａを用いるのは、各顔領域間の距離差が少ない場合は、距離情報が誤っている可能性があるため、距離情報だけでは手前にあるかどうかを断定できないためである。なお、図８（ｂ）に示すテーブル８５０は、例えばシステムコントローラ１０７が備えているメモリに予め保持されているとする。このように、システムコントローラ１０７は、図８（ａ）に示した距離領域８００ａ、８００ｂの距離情報から顔領域間の距離差を算出し、その距離差と図８（ｂ）のテーブル８５０を基に、重なり領域が何れの顔領域に属するかの判定に用いる信頼度Ａを求める。
【００５３】
図７のフローチャートに説明を戻す。
Ｓ１０１の後、システムコントローラ１０７は、Ｓ１０２に処理を進める。Ｓ１０２において、システムコントローラ１０７は、器官検出回路１２１にて顔領域から検出された各器官の情報を基に、テカリ補正領域の重なり領域が何れの顔領域に属しているかを判定する。
【００５４】
図９（ａ）は、図６に示した顔領域６００ａ，６００ｂから、器官検出回路１２１により検出される各器官の一例を示した図である。器官検出回路１２１は前述したように各器官の座標位置を表す情報を検出する。このため、図９（ａ）の例の場合、手前側の顔領域６００ｂからは、両目９０５ｂの例えば右端及び左端の座標位置の情報と、口９０６ｂの例えば左端及び右端の座標位置の情報とが検出される。一方、奥側の顔領域６００ａの場合、両目９０５ａの右端と左端の座標位置の情報は検出されるが、口は手前側の顔領域６００ｂに隠れているためその座標位置の情報は検出されない。したがって、複数の顔領域が検出されている場合において、顔領域の中に本来存在すべき各器官のうち何れかの器官の検出が出来ていないときには、その器官検出が出来ていない顔領域が奥側に位置している可能性が高いと判断することができる。図９（ａ）の例の場合、顔領域６００ａにおいて本来検出されるべき口の座標位置が検出できておらず、一方、顔領域６００ｂでは本来検出されるべき両目９０５ｂと口９０６ｂの座標位置が検出されている。このため、顔領域６００ｂが手前側であり、テカリ補正領域の重なり領域は顔領域６００ｂに属していると判断することができる。
【００５５】
また、図９（ａ）に例示したように器官の情報を用いてテカリ補正領域の重なり領域が属する顔領域を判断する場合、例えば図９（ｂ）に示すテーブルを用いて信頼度Ｂを設定する。図９（ｂ）に示したテーブルは、顔領域内に本来存在するべき各器官が検出できたかどうかに応じた信頼度Ｂを設定するためのテーブルであり、例えばシステムコントローラ１０７が備えているメモリに予め保持されているとする。図９（ｂ）のテーブルの信頼度Ｂは、顔領域内に本来存在するべき全ての器官が検出できている場合には、テカリ補正領域の重なり領域が、その顔領域に属している可能性が高いことを示す値（例えば値「１００」）に設定される。一方、顔領域内に本来存在するべき全ての器官のうち何れか検出できていない器官が存在する場合には、テカリ補正領域の重なり領域が、その顔領域に属している可能性が低いことを示す値（例えば値「７０」）に設定される。このように、システムコントローラ１０７は、図９（ａ）顔領域６００ａ、６００ｂから本来取得されるべき各器官の情報と図９（ｂ）のテーブルとを基に、重なり領域が何れの顔領域に属するかの判定に用いる信頼度Ｂを求める。
【００５６】
図７のフローチャートに説明を戻す。
Ｓ１０２の後、システムコントローラ１０７は、Ｓ１０３に処理を進める。Ｓ１０３において、システムコントローラ１０７は、顔領域の色情報を基に、テカリ補正領域の重なり領域が何れの顔領域に属しているかを判定する。
【００５７】
図１０（ａ）は、ブロック積分回路１３２によるブロック分割がなされた図６の顔領域６００ａ，６００ｂを示した図であり、前述したように顔領域６００ａ，６００ｂの重なった領域の中にテカリ領域６０１ｂが存在している。システムコントローラ１０７は、顔領域６００ａ，６００ｂのテカリ補正領域６０２ａ，６０２ｂの重なった領域の中で、各ブロックの信号値（積分値）が飽和していない各ブロックの領域１００１ｂの色情報の平均値を算出する。なお、各ブロックの積分値は、前述したテカリ補正パラメータの算出時に用いたものを使用してもよい。また、ブロックのサイズによっては、テカリ補正領域の重なり領域内に１ブロックも収まらない場合も考えられるが、その場合は、より細かく分割したブロックの積分値を用いてもよい。ここで、テカリ補正領域の重なり領域内の飽和していないブロックの領域１００１ｂの色情報の平均値と、顔領域の例えば両頬部の色情報とを比較した場合、テカリ補正領域の重なり領域は、それらの色情報の差分が小さい方の顔領域に属すると考えられる。
【００５８】
色情報の差分の算出方法には様々な手法を用いることができるが、本実施形態では、簡易的に例えば式（１）を用いて算出する。なお、式（１）において、（Ｒ1，Ｇ1，Ｂ1）は両頬部のブロックから得られるＲＧＢ値を表しており、（Ｒ2，Ｇ2，Ｂ2）は重なり領域内の飽和していないブロックの領域１００１ｂから得られるＲＧＢ値を表している。
【数１】
2018205883.tif 000003
【００５９】
また、この例の場合も、テカリ補正領域の重なり領域が何れの顔領域に属するかを判断する際には、図１０（ｂ）に示すテーブル１０００に基づく信頼度Ｃをも用いる。図１０（ｂ）に示すテーブル１０００は、重なり領域内で飽和していない領域（１００１ｂ）と頬部の色情報の差分と信頼度Ｃとの関係を表している。この図１０（ｂ）の信頼度Ｃは、テカリ補正領域の重なり領域が、色情報の差分の小さい方の顔領域に属する可能性（確からしさ）の高さを表している。図１０（ｂ）に示したテーブル１０００によれば、色情報の差分が所定の第１の色差分閾値以下（閾値ｔｈC1以下）の場合、信頼度Ｃは、テカリ補正領域の重なり領域がその顔領域に属していると判定される値（例えば値「１００」）に設定される。また、色情報の差分が第１の色差分閾値より大きく（閾値ｔｈC1より大きく）、第２の色差分閾値未満（閾値ｔｈC1より大きくｔｈC2より小さい、ｔｈC1＜ｔｈC2）の場合、信頼度Ｃは、差分が大きくなるほど徐々に低い値に設定される。また、色情報の差分が第２の色差分閾値以上（閾値ｔｈC2以上）のときには予め決められた最小信頼度の値に設定される。なお、図１０（ｂ）に示すテーブル１０００も前述同様、例えばシステムコントローラ１０７が備えているメモリに予め保持されているとする。このように、システムコントローラ１０７は、重なり領域内で飽和していない領域と頬部の色情報の差分と、図１０（ｂ）のテーブル１０００とを基に、テカリ補正領域の重なり領域が何れの顔領域に属するかの判定に用いる信頼度Ｃを求める。
【００６０】
図７のフローチャートに説明を戻す。
Ｓ１０３の後、システムコントローラ１０７は、Ｓ１０４に処理を進める。Ｓ１０４において、システムコントローラ１０７は、テカリ補正領域の重なり領域の肌色の目標値を算出する。本実施形態の場合、システムコントローラ１０７は、Ｓ１０１〜Ｓ１０３で算出された信頼度Ａ，Ｂ，Ｃを用いて、肌色の目標値を算出する。一例として、システムコントローラ１０７は、各顔領域について算出した前述した信頼度Ａ、信頼度Ｂ、信頼度Ｃを統合した値（Ｔ値とする。）を、顔領域ごとに算出する。ここでは、システムコントローラ１０７は、Ｔ値＝（信頼度Ａ）×（信頼度Ｂ）×（信頼度Ｃ）を算出する。
【００６１】
そして、システムコントローラ１０７は、例えばＴ値が高い方の顔領域の肌色を目標値として使用する。例えば図６のように顔領域６００ａと６００ｂが重なり、顔領域６００ａで算出したＴ値をＴ１、顔領域６００ｂで算出したＴ値をＴ２とした場合、システムコントローラ１０７は、Ｔ１とＴ２の何れかＴ値が高い方の顔領域の肌色を目標値として設定する。
【００６２】
また、顔領域６００ａの肌色が（Ｒ１，Ｇ１，Ｂ１）、顔領域６００ｂの肌色が（Ｒ２，Ｇ２，Ｂ２）である場合、システムコントローラ１０７は、下記式（２）により顔領域の肌色の重み平均（Ｒａ，Ｇａ，Ｂａ）を求めてそれを肌色の目標値としてもよい。
Ｒａ＝（Ｒ１×Ｔ１＋Ｒ２×Ｔ２）／（Ｔ１＋Ｔ２）
Ｇａ＝（Ｇ１×Ｔ１＋Ｇ２×Ｔ２）／（Ｔ１＋Ｔ２）      式（２）
Ｂａ＝（Ｂ１×Ｔ１＋Ｂ２×Ｔ２）／（Ｔ１＋Ｔ２）
【００６３】
ただし、式（２）は、信頼度のＴ１とＴ２の比を基に各顔領域の肌色の中間の色味を算出する演算式であり、その中間の色味が肌色目標値となされる。このため、その目標値の肌色は、顔領域の肌色から大きく色がずれることはないが、正確には何れの顔領域の肌色とも合っていないと考えられる。この場合、例えばテカリ補正量を大きくすると、色味が異なってしまう弊害が目立つ虞がある。したがってこの場合、以下のように算出される補正量の調整も合わせて行う必要がある。
【００６４】
Ｓ１０４の後、システムコントローラ１０７は、Ｓ１０５に処理を進める。Ｓ１０５において、システムコントローラは、テカリ補正領域の重なり領域内のテカリ領域に対するテカリ補正量を算出する。テカリ補正量は、前述したようにテカリ補正パラメータとして算出される。ここで、前述したように信頼度のＴ１とＴ２の比を基に各顔領域の肌色の中間の色味が肌色目標値となされた場合、システムコントローラ１０７は、テカリ補正量を以下のように調整する。
【００６５】
例えば、システムコントローラ１０７は、Ｓ１０４で算出した各顔領域のＴ値（Ｔ１，Ｔ２）のうち最大のＴ値が所定の閾値以下である場合、テカリ補正量を小さく調整、つまりテカリ補正の度合いが弱くなるようにテカリ補正量を調整する。または、システムコントローラ１０７は、各顔領域のＴ値（Ｔ１，Ｔ２）の差分が所定の閾値以下である場合、テカリ補正量を小さくする（テカリ補正の度合いを弱める）ように調整する。このようにＴ値が低い場合又はＴ値の差分が少ない場合にテカリ補正量を小さく調整するのは、重なり領域がどちらの顔領域に属するかの判定が誤っている可能性があるためであり、判定が誤っていた場合に生ずる色ズレの弊害を少なくするためである。
【００６６】
本実施形態の場合、システムコントローラ１０７は、例えば図１１（ａ）に示すようなテーブル１１００を用いてテカリ補正量の調整を行う。図１１（ａ）に示すテーブル１１００は、各顔領域のＴ値のうち例えば最大のＴ値と補正量の調整率との関係を表している。図１１（ａ）に示したテーブル１１００によれば、Ｔ値が所定の第１の信頼度閾値以下（閾値ｔｈT1以下）ある場合、補正量は最小値に調整される。また、Ｔ値が第１の信頼度閾値より大きく（閾値ｔｈT1より大きく）、第２の信頼度閾値未満（閾値ｔｈT2より小さい、ｔｈT1＜ｔｈT2）の場合、補正量は、Ｔ値が小さくなるほど徐々に小さい値に調整される。一方、Ｔ値が第２の信頼度閾値以上（閾値ｔｈT2以上）のときには、前述の算出された補正量（「１００％」）が用いられる。このように、システムコントローラ１０７は、図１１（ａ）のテーブル１１００を用い、Ｔ値に応じてテカリ補正量を調整することによってテカリ補正の度合いを調整する。なお、この図１１（ａ）に示すテーブル１１００も前述同様、例えばシステムコントローラ１０７が備えているメモリに予め保持されているとする。
【００６７】
なお、図示は省略しているが、各顔領域のＴ値（Ｔ１，Ｔ２）の差分を用いる場合についても、図１１（ａ）と同様のテーブル（この場合はＴ値の差分と補正量の調整率との関係を表したテーブル）を基に補正量の調整を行ってもよい。例えば、Ｔ値の差分が所定の第１の信頼度差分閾値以下ある場合、補正量は最小値に調整され、Ｔ値の差分が第１の信頼度差分閾値より大きく、第２の信頼度差分閾値未満の場合、補正量は、Ｔ値の差分が小さくなるほど徐々に小さいに調整される。そして、Ｔ値の差分が第２の信頼度差分閾値以上のときには、算出された補正値が用いられる。
【００６８】
また、例えばテカリ補正領域の重なり領域の面積が小さいときには、例え誤った顔領域の色情報に基づく補正が行われたとしても、それによる弊害が比較的少ないと考えられる。同様に、重なりのある顔領域間の色の差分が小さい場合にも、誤った顔領域の色情報に基づく補正が行われたとしても、それによる弊害は比較的少ないと考えられる。このため、本実施形態において、テカリ補正領域の重なり領域の面積と、重なりのある顔領域間の色の差分との、少なくとも一方を基に、テカリ補正の度合いを決定してもよい。
【００６９】
図１１（ｂ）は、重なり領域の面積又は顔領域間の色の差分と、図１１（ａ）の補正最小値との関係を表すテーブル１１１０を示している。図１１（ｂ）に示すように、テーブル１１１０は、テカリ補正領域の重なり領域の面積に応じてテーブル１１１０ａからテーブル１１１０ｂに可変される。例えば、テカリ補正領域の重なり領域の面積が小さくなるにつれて、テーブル１１１０は、図１１（ａ）の補正最小値を大きい値に調整する特性のテーブル１１１０ａに可変される。また、図１１（ｂ）に示すように、テーブル１１１０は、重なりのある顔領域間の色の差分に応じてテーブル１１１０ａからテーブル１１１０ｂに可変される。例えば、重なりのある顔領域間の色の差分が大きくなるにつれて、テーブル１１１０は、図１１（ａ）の補正最小値を大きい値に調整する特性のテーブル１１１０ａに可変される。このように、システムコントローラ１０７は、テカリ補正領域の重なり領域の面積と重なりのある顔領域間の色の差分との、少なくとも一つを基に、図１１（ａ）の補正最小値を調整した上で、テカリ補正量の算出を行う。
【００７０】
また、弊害を極力無くすという意味では、テカリ補正領域の重なり領域についてはテカリ補正を行わないようにしてもよい。この場合、図１１（ａ）のテーブル１１００を全て０％にすればよいが、Ｓ１０１〜Ｓ１０４の計算結果を実質使わないことになるので、これら処理はスキップされてもよい。
【００７１】
なお、本実施形態では、距離情報、器官情報、色情報の三つを用いる場合について説明したが、このうちの一つの情報だけ、或いは二つの情報を用いて前述同様の判定を行うようにしてもよい。
【００７２】
第１の実施形態の画像処理装置は、複数の顔が重なった領域にテカリが生じていても、テカリ補正領域の重なり領域が何れの顔領域に属するかを判定でき、これにより正しい色味のテカリ補正が行え、誤った色味の補正による弊害が生ずるのを抑制できる。
【００７３】
［第２の実施形態］
次に、第２の実施形態の画像処理装置について説明する。
第２の実施形態では、図１に示した画像処理装置が適用される撮像装置で例えばストロボ装置１１２によるストロボ発光を行って静止画撮影が行われる場合において、テカリ補正領域が重なっている際の処理について説明する。なお、第２の実施形態の画像処理装置（撮像装置）の構成、及びテカリ補正の基本的な処理については、前述した第１の実施形態と同じであるため、構成の図示及びそれらの説明は省略する。
【００７４】
図１２には、図６に例示した顔領域６００ａ，６００ｂのテカリ補正領域６０２ａ，６０２ｂが重なっている場合において、その重なり領域の大部分にテカリ領域１２０１ｂが生じている例を示している。このように、重なり領域の大部分にテカリ領域１２０１ｂが生じている場合、その重なり領域内でテカリが生じていない部分の肌色を抽出できないため、第１の実施形態で説明したような色情報を用いた処理は行えない。
【００７５】
そこで、第２の実施形態の場合、静止画撮像前に、画像確認用に周期的に撮像してモニタ装置１１０に表示されるライブ画像を用いて、重なり領域の色情報の判定を行う。このライブ画像は、周期的に撮像して表示するという性質上、一般的にストロボ発光を行わずに撮像がなされているため、テカリが生じていない可能性が高い。
【００７６】
第２の実施形態の場合、画像処理装置は、静止画撮影直前に表示用画像（ライブ画像）として撮像した画像から、重なり領域の色情報、及び各顔領域の頬部の色情報を検出する。具体的には、静止画画像から色情報を検出する場合と同様にブロック分割とブロック積分値を求め、重なり領域と各顔領域の頬部の領域のブロックの平均信号を取得する。
【００７７】
重なり領域が何れの顔領域に属するかの判定の際には、簡易的には静止画と同じブロックを用いればよいが、表示用画像と撮影される静止画像との間のタイムラグによって位置が若干ずれている場合がある。このため、静止画像を撮影した際には、表示用画像の顔検出結果を用いて、両頬と重なり領域の各ブロックを計算し直す。そして、表示用画像から取得した各領域の色情報を用いて、前述した式（１）などにより各顔領域と重なり領域との色の差分を求め、重なり領域は色の差分が最も小さい顔領域に属すると判定する。なお、第２の実施形態の場合も第１の実施形態と同様に、距離情報、器官情報による判定と組み合わせた判定を行ってもよい。また、第２の実施形態の場合も第１の実施形態と同様に、肌色の重み平均（中間の色味）を用いた補正量の算出、調整等を行ってもよい。
【００７８】
第２の実施形態によれば、例えばストロボ発光を行って静止画撮影がなされる場合のように重なり領域の大部分がテカリ領域となる場合であっても、重なり領域が何れの顔領域に属するかを判定できる。したがって、第２の実施形態においても、正しい色味でテカリ補正を行え、誤った色味で補正することによる弊害を抑制することができる。
【００７９】
［その他の実施形態］
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
前述の実施形態では、顔画像の肌色領域についてテカリ補正処理を行う例を挙げたが、本発明は顔画像の肌色領域のテカリ補正処理には限定されない。一例として、被写体が自動車である場合、その車体等の高輝度領域に対するテカリ補正等にも適用可能であり、この場合、複数の自動車が重なり、その重なり領域が何れの自動車の画像領域に属するかを判定でき、正しい色味でテカリ補正を行える。
【００８０】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８１】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８２】
１０７：システムコントローラ、１１２：ストロボ装置、１２０：顔検出回路、１２１：器官検出回路、１３０：ヒストグラム回路、１３２：ブロック積分回路、１４０：信号処理回路、１４１：簡易信号処理回路、１７０：ＷＢ検出回路、１７３：ＷＢ演算部、１７４：ＷＢ処理回路、１７５：輝度値算出部、１８０：画像処理パラメータ算出部、１９０：テカリ補正パラメータ算出部、１９１：テカリ補正特性決定部、１９２：テカリ補正領域算出部、１９３：テカリ補正色算出部
【図１】
2018205883.tif 000004
【図２】
2018205883.tif 000005
【図３】
2018205883.tif 000006
【図４】
2018205883.tif 000007
【図５】
2018205883.tif 000008
【図６】
2018205883.tif 000009
【図７】
2018205883.tif 000010
【図８】
2018205883.tif 000011
【図９】
2018205883.tif 000012
【図１０】
2018205883.tif 000013
【図１１】
2018205883.tif 000014
【図１２】
2018205883.tif 000015