(57)【要約】【課題】ユーザが所望する照射結果が得られる仮想光源を設定し易くすることを課題とする。【解決手段】画像処理装置（１００）は、被写体を撮影した撮影画像を取得する取得手段（１０３）と、仮想光源を設定する設定手段（５０）と、前記仮想光源を用いて前記撮影画像の特定の被写体の明るさを補正する補正手段（１１４）と、前記被写体と前記仮想光源との位置関係を表わす仮想光源状態画像を生成する生成手段（５０）と、前記撮影画像または前記明るさ補正後の画像に対し、前記仮想光源状態画像を重畳して表示させる制御手段（５０，１０９）と、を有することを特徴とする。【選択図】図１
2020005084.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮影した撮影画像を取得する取得手段と、
仮想光源を設定する設定手段と、
前記仮想光源を用いて前記撮影画像の特定の被写体の明るさを補正する補正手段と、
前記特定の被写体と前記仮想光源との位置関係を表わす仮想光源状態画像を生成する生成手段と、
前記撮影画像または前記明るさ補正後の画像に対し、前記仮想光源状態画像を重畳して表示させる制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記生成手段は、前記撮影画像または前記明るさ補正後の画像に重畳表示する前記仮想光源状態画像として、前記特定の被写体と前記仮想光源との位置関係を図式化した３次元図または平面図を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、前記仮想光源を表すパラメータとして前記仮想光源の位置と前記仮想光源の照射範囲と前記仮想光源の強度とを設定し、
前記生成手段は、前記仮想光源を表すパラメータを基に、前記特定の被写体と前記仮想光源との位置関係を表す前記仮想光源状態画像を生成することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記設定手段は、前記特定の被写体の位置と、前記特定の被写体の領域内の輝度情報、または、前記特定の被写体の領域内および領域外の輝度情報とに基づいて、前記仮想光源を表すパラメータを設定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記生成手段は、前記撮影画像に付加されている情報を基に前記仮想光源を表すパラメータを設定することを特徴とする請求項３または４に記載の画像処理装置。
【請求項６】
前記設定手段は、前記仮想光源状態画像に対するユーザからの変更の指示が入力された場合、前記指示により変更された仮想光源状態画像に基づいて、前記パラメータを再設定し、
前記補正手段は、前記再設定されたパラメータに基づいて前記撮影画像の前記特定の被写体の明るさ補正を行うことを特徴とする請求項３から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記設定手段は、前記パラメータを設定する際に、設定し得るパラメータの範囲を算出し、
前記制御手段は、前記パラメータの範囲を前記仮想光源状態画像にガイドラインとして付加して表示させることを特徴とする請求項３から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記設定手段は、一つまたは複数の仮想光源を設定し、前記仮想光源の数が複数である場合には、各々の仮想光源に対して前記パラメータを設定することを特徴とする請求項３から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記設定手段は、前記特定の被写体が明るさ補正を行う対象であるか否かを判定し、
前記補正手段は、前記明るさ補正を行う対象であると判定された場合に、前記被写体の明るさ補正を行うことを特徴とする請求項１から８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記設定手段は、前記特定の被写体の領域内の輝度情報、または、前記特定の被写体の領域内および領域外の輝度情報に基づいて、前記特定の被写体が明るさ補正を行う対象であるか否かを判定することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記制御手段は、前記特定の被写体が明るさ補正を行う対象であると判定された場合に、前記撮影画像または前記明るさ補正後の画像に対し、前記明るさ補正のお薦めマークを重畳表示させることを特徴とする請求項９または１０に記載の画像処理装置。
【請求項１２】
前記撮影画像から、前記特定の被写体として顔領域を検出する検出手段を有することを特徴とする請求項１から１１のいずれか１項に記載の画像処理装置。
【請求項１３】
被写体を撮影して撮影画像を生成する撮影手段と、
請求項１から１２のいずれか１項に記載の画像処理装置と、
を有することを特徴とする撮像装置。
【請求項１４】
画像処理装置が実行する画像処理方法であって、
被写体を撮影した撮影画像を取得する取得工程と、
仮想光源を設定する設定工程と、
前記仮想光源を用いて前記撮影画像の特定の被写体の明るさを補正する補正工程と、
前記特定の被写体と前記仮想光源との位置関係を表わす仮想光源状態画像を生成する生成工程と、
前記撮影画像または前記明るさ補正後の画像に対し、前記仮想光源状態画像を重畳して表示させる制御工程と、
を有することを特徴とする画像処理方法。
【請求項１５】
コンピュータを、請求項１から１２のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の明るさ等を補正する技術に関する。
【背景技術】
【０００２】
従来、撮影後の画像内の被写体に対して、仮想的な光源からの光を照射するライティング処理技術が知られている。これにより、環境光によって生じた影などの暗部領域を明るくし、好ましい画像を得ることが可能となる。例えば特許文献１には、撮影画像に対する疑似的なライティング処理技術として、顔領域全体の平均輝度よりも低い輝度領域を影領域として抽出し、その抽出した影領域の明度を上げるような技術が開示されている。これにより顔の影を抑えることができる。また特許文献１の技術では、ライティングエリアとライティング方向とライティング強度といったライティングパラメータを設定することにより、被写体に対する仮想光源の照射範囲・方向・強度を調整することも可能になされている。さらに特許文献１には、ライティングパラメータを表すパラメータ画像を、ライティング処理で明るさが補正された後の画像に重畳表示することも開示されている。ユーザは、ライティング処理による補正後の画像と重畳表示されたパラメータ画像とを参照しながらライティングパラメータを設定することにより、被写体に対する仮想光源の照射範囲・方向・強度を調整することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３５９９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ライティング処理によって陰影を補正する際には、ライティングパラメータを適切に設定する必要があり、ライティングパラメータが適切に設定されていない場合、絵柄によってはライティング処理後の画像が不自然なものになってしまう。例えば、被写体に対して斜め上の方向から仮想光源を照射する場合と、被写体に対して真横から仮想光源を照射する場合とでは、被写体上において仮想光源からの光の当たり具合は大きく異なる。例えば特許文献１の手法の場合、パラメータ画像は仮想光源の範囲、方向、強度が２次元的に表現されているため、２次元上の被写体に対して斜め上方向から仮想光源を照射するような場合、適切なライティングパラメータを設定することが非常に難しい。つまり、ユーザは、２次元的に表されたパラメータ画像を参照し、同じく２次元的に表された被写体に対して斜め上方向から仮想光源を照射する場合を想定して、照射範囲・方向・強度のライティングパラメータを設定するような難しい設定作業が必要となる。そして、このような難しい設定を行ったとしても、ユーザが意図した通りの照射結果が得られないことが多い。
【０００５】
そこで、本発明は、ユーザが所望する照射結果が得られる仮想光源を設定し易くすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、被写体を撮影した撮影画像を取得する取得手段と、仮想光源を設定する設定手段と、前記仮想光源を用いて前記撮影画像の特定の被写体の明るさを補正する補正手段と、前記特定の被写体と前記仮想光源との位置関係を表わす仮想光源状態画像を生成する生成手段と、前記撮影画像または前記明るさ補正後の画像に対し、前記仮想光源状態画像を重畳して表示させる制御手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ユーザが所望する照射結果が得られる仮想光源を設定し易くすることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置の適用例の構成を示すブロック図である。
【図２】画像処理部の構成を示すブロック図である。
【図３】リライティング処理部の構成を示すブロック図である。
【図４】仮想光源の照射とその反射の説明に用いる図である。
【図５】リライティング処理前後の画像例を示す図である。
【図６】第１の実施形態に係るリライティング処理のフローチャートである。
【図７】リライティングお薦めマークを説明する図である。
【図８】仮想光源状態画像の例を説明する図である。
【図９】第２の実施形態に係るリライティング処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
＜第１の実施形態＞
以下、本発明に係る画像処理装置の一適用例として、第１の実施形態ではデジタルカメラを挙げて説明する。
図１（ａ）は、本実施形態のデジタルカメラ１００の概略的な構成例を示すブロック図である。なお、図１（ｂ）の構成については後述する第２の実施形態において説明する。
【００１０】
レンズ群１０１は、フォーカスレンズとズームレンズおよび絞りを備えた撮像光学系であり、撮像部１０３が備える撮像素子上に被写体等の光学像を結像させる。シャッター１０２は、例えばフォーカルプレーンシャッターであり、システム制御部５０による制御の下で開閉動作が行われる。
撮像部１０３は、レンズ群１０１を介して撮像素子上に形成された光学像を光電変換により電気信号に変換してアナログ画像信号を出力する。撮像部１０３の撮像素子は、ＣＣＤイメージセンサ又はＣＭＯＳイメージセンサである。撮像素子の撮像面には、三原色のＲ（赤），Ｇ（緑），Ｂ(青）の各色成分に対応したカラーフィルタがいわゆるベイヤー配列と呼ばれる配列で画素毎に設けられている。このため、撮像部１０３からは、ベイヤー配列に対応したＲＧＢの各画素の色信号からなるアナログ画像信号が出力される。
Ａ／Ｄ変換部１０４は、撮像部１０３から出力されたアナログ画像信号をデジタル画像データに変換し、その画像データを画像処理部１０５とメモリ制御部１０７に出力する。
【００１１】
測距センサ１２３は、デジタルカメラ１００から被写体までの間の被写体距離を測定するセンサであり、撮像部１０３による撮像画像の画素単位に対応した距離情報を出力する。測距センサ１２３から出力された画素単位の距離情報は、メモリ制御部１０７を介して、画像メモリ１０６に一時的に記憶され、また、後述する画像処理部１０５に送られる。
【００１２】
画像メモリ１０６は、メモリ制御部１０７による制御の下、撮像部１０３にて撮像されてＡ／Ｄ変換部１０４でデジタル変換された画像データや、測距センサ１２３からの画素単位の距離情報を、一時的に記憶する。また、画像メモリ１０６は、Ｉ／Ｆ部１１１を介して記録媒体１１２から読み込まれた画像データや、表示部１０９に表示するための画像データ等の記憶も行う。
記録媒体１１２は、例えば半導体メモリカードやカード型ハードディスク等であり、デジタルカメラ１００に着脱可能となされており、このデジタルカメラ１００にて撮影された画像データや他のデジタルカメラにより撮影された画像データ等が記録される。
Ｉ／Ｆ部１１１は、記録媒体１１２とデジタルカメラ１００とを電気的に接続するインターフェース部である。デジタルカメラ１００にて撮影された画像データはＩ／Ｆ部１１１を介して記録媒体１１２に送られて記録され、また、記録媒体１１２から読み出された画像データはＩ／Ｆ部１１１を介して画像メモリ１０６等に送られる。
【００１３】
顔検出部１１３は、撮像部１０３で撮像された画像や、画像メモリ１０６から読み出された画像、記録媒体１１２から読み出された画像等に対して、所定の画像解析処理を行うことにより、その画像内から人の顔が映っている領域を検出する。顔検出部１１３により検出された顔検出結果のデータは、画像メモリ１０６に一時的に記憶され、また必要に応じて画像メモリ１０６から読み出されて後述する画像処理部１０５やシステム制御部５０に送られる。
【００１４】
Ｄ／Ａ変換器１０８は、撮像部１０３にて撮像されてＡ／Ｄ変換部１０４から出力された画像データや画像メモリ１０６から読み出された画像データ、記録媒体１１２から読み出された画像データ等を、アナログ映像信号に変換して表示部１０９に出力する。
表示部１０９は、ＬＣＤ（液晶ディスプレイ）等の表示装置を有し、Ｄ／Ａ変換器１０８から出力されたアナログ映像信号に基づく画像を表示する。表示部１０９には、撮影等された画像や、いわゆるライブビュー表示の際に撮像部１０３にて撮像されているライブビュー画像等が表示されることになる。また、表示部１０９には、デジタルカメラ１００をユーザが操作等する際のユーザインターフェース画像も表示される。
操作部１２０は、デジタルカメラ１００のシャッターボタンや各種スイッチ、表示部１０９の画面上等に配されたタッチパネル等を含み、ユーザによる操作を検知し、その検知した操作情報をシステム制御部５０に通知する。
【００１５】
コーデック部１１０は、画像データを圧縮符号化・復号化する。コーデック部１１０は、画像メモリ１０６に記憶された画像データを、ＪＰＥＧやＭＰＥＧなどの規格に準拠した形式で圧縮符号化する。コーデック部１１０にて圧縮符号化された画像データは、システム制御部５０による制御の下、Ｉ／Ｆ部１１１を介して記録媒体１１２に記録される。また、コーデック部１１０は、システム制御部５０による制御の下、Ｉ／Ｆ部１１１を介して記録媒体１１２から読み出された、圧縮符号化された画像データの復号化を行うことも可能である。
【００１６】
不揮発性メモリ１２１は、補助記憶装置として、プログラムやパラメータなどを格納するＥＥＰＲＯＭなどの不揮発性の半導体メモリを含む。
システムメモリ１２２は、主記憶装置として、不揮発性メモリ１２１から読み出したプログラム等を展開する他、システム制御部５０の動作用の定数、変数を記憶する。すなわちシステムメモリ１２２には、システム制御部５０の動作用の定数、変数、不揮発性メモリ１２１から読み出したプログラム等が展開される。
【００１７】
システム制御部５０は、ＣＰＵ又はＭＰＵを含み、不揮発性メモリ１２１に記憶されているプログラムをシステムメモリ１２２の作業領域に展開することにより実行して、本実施形態のデジタルカメラ１００全体の各機能を制御する。例えば、システム制御部５０は、ユーザによる操作部１２０の操作入力や設定状態を基に、撮影の制御や、各種画像処理の制御、後述するリライティング処理の制御、カメラ動作モードの切り替え等の各種の制御を行う。本実施形態に係るプログラムには、デジタルカメラ１００における被写体撮影時の基本動作プログラムの他に、後述するリライティング処理の制御や仮想光源状態画像の重畳表示等を行うためのプログラムも含まれる。システム制御部５０が実行するプログラムは、不揮発性メモリ１２１に予め格納されている場合だけでなく、記録媒体１１２等から取得されてもよく、或いは不図示のネットワーク等を介して取得されてもよい。
【００１８】
画像処理部１０５は、撮像部１０３にて撮像された画像、あるいは画像メモリ１０６から読み出された画像に対して、ホワイトバランス処理、γ（ガンマ）処理、輪郭強調、色補正処理などの各種の画像処理を行う。また、画像処理部１０５は、顔検出部１１３による顔検出結果の情報や、撮像された画像データ、測距センサ１２３にて検出された画素単位の距離情報から生成した２次元の距離マップ等を用いて、露光制御や測距制御等に用いられる評価値を算出する。この算出された評価値の情報は、システム制御部５０に送られる。
【００１９】
このときのシステム制御部５０は、画像処理部１０５にて算出された評価値に基づいて、例えば被写体の顔に対して露出を合わせる露光制御や顔にピントを合わせる測距制御等を行う。具体的には、システム制御部５０は、いわゆるＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理等の制御を行う。露光制御や測距制御等を行う際に用いられる評価値とその算出処理については公知の様々な技術を用いることができ、ここではそれらの説明及び図示は省略する。
【００２０】
リライティング処理部１１４は、撮像部１０３にて撮像された画像や、画像メモリ１０６から読み出された画像に対して、リライティング処理（ライティング処理）を行う。本実施形態に係るリライティング処理とは、画像中の特定の被写体等の領域に対して、仮想的な光源からの光を照射して明るさを補正する処理である。本実施形態に係るリライティング処理の詳細については後述する。
【００２１】
＜画像処理部の概略構成＞
図２は、画像処理部１０５の主な構成を示したブロック図である。
図２に示すように、画像処理部１０５は、同時化処理部２００、ＷＢ増幅部２０１、輝度・色生成部２０２、輪郭強調部２０３、輝度ガンマ処理部２０４、色変換部２０５、色ガンマ処理部２０６、色差生成部２０７、陰影取得部２０８等を有している。
【００２２】
画像処理部１０５において、同時化処理部２００には、例えば撮像部１０３にて撮像されてＡ／Ｄ変換部１０４によりデジタル変換された画像データが入力される。同時化処理部２００に入力される画像データは、前述したようにベイヤー配列に対応したＲ，Ｇ，Ｂのデータである。同時化処理部２００は、ベイヤー配列に対応した画像データに対して同時化処理を行い、Ｒ，Ｇ，Ｂの各色信号（以下、ＲＧＢ信号と表記する。）を生成する。同時化処理部２００にて生成されたＲＧＢ信号は、ＷＢ増幅部２０１に送られる。
【００２３】
ＷＢ増幅部２０１は、システム制御部５０が算出するホワイトバランスゲイン値に基づき、ＲＧＢ信号にゲインをかけてホワイトバランスを調整する処理を行う。ＷＢ増幅部２０１でホワイトバランスが調整されたＲＧＢ信号は、輝度・色生成部２０２に送られる。
【００２４】
輝度・色生成部２０２は、ホワイトバランス調整後のＲＧＢ信号から輝度信号Ｙを生成し、その生成した輝度信号Ｙを輪郭強調部２０３へ出力する。また輝度・色生成部２０２は、ＲＧＢ信号を色変換部２０５へ出力する。
【００２５】
輪郭強調部２０３は、輝度・色生成部２０２から供給された輝度信号Ｙからなる画像に対して輪郭強調処理を行い、その輪郭強調処理後の輝度信号Ｙを輝度ガンマ処理部２０４へ出力する。輝度ガンマ処理部２０４は、輪郭強調部２０３から供給された輝度信号Ｙに対してガンマ補正を行う。このガンマ補正後の輝度信号Ｙは、画像メモリ１０６に送られて一時的に記憶される。
【００２６】
色変換部２０５は、輝度・色生成部２０２から供給されたＲＧＢ信号に対してマトリクス演算などを行うことにより、所望のカラーバランスのＲＧＢ信号を生成して、色ガンマ処理部２０６と陰影取得部２０８へ出力する。色ガンマ処理部２０６は、色変換部２０５から供給されたＲＧＢ信号に対してガンマ補正を行って、色差生成部２０７へ出力する。色差生成部２０７は、色ガンマ処理部２０６にて色ガンマ処理がなされた後のＲＧＢ信号から、色差信号Ｒ−Ｙ，Ｂ−Ｙを生成する。それら色差信号Ｒ−Ｙ，Ｂ−Ｙは、画像メモリ１０６に送られて一時的に記憶される。
【００２７】
なお、画像メモリ１０６に一時的に記憶された輝度信号Ｙと色差信号Ｒ−Ｙ，Ｂ−Ｙからなる画像データは、その後、システム制御部５０による制御の下で、図１（ａ）のコーデック部１１０に送られる。これにより、コーデック部１１０では、それら輝度信号Ｙと色差信号Ｒ−Ｙ，Ｂ−Ｙからなる画像データを所定の規格に基づいて圧縮符号化する。そして、コーデック部１１０により圧縮符号化されたデータは、システム制御部５０による制御の下、前述したように、Ｉ／Ｆ部１１１を介して記録媒体１１２に記録される。
【００２８】
陰影取得部２０８は、環境光源によって被写体に生じた陰影の状態を解析するための情報を取得する。また、陰影取得部２０８には、色変換部２０５からのＲＧＢ信号の他に、前述した顔検出部１１３にて顔が検出された場合にはその顔領域の情報も入力される。そして、陰影取得部２０８は、被写体の平均輝度情報および顔領域の輝度ヒストグラム情報などを陰影情報として取得する。陰影取得部２０８により取得された陰影情報は、システム制御部５０に送られる。
【００２９】
＜リライティング処理部の概略構成＞
図３は、リライティング処理部１１４の概略構成を示すブロック図である。
本実施形態のデジタルカメラ１００において、リライティング処理は、リライティング処理を実行するカメラ動作モードがユーザにより選択されている場合に行われる。リライティング処理を実行するカメラ動作モードが選択されている場合、リライティング処理部１１４には、画像メモリ１０６から読み出された輝度信号Ｙおよび色差信号Ｒ−Ｙ，Ｂ−Ｙが入力される。
【００３０】
図３において、リライティング処理部１１４は、ＲＧＢ変換部３０１、デガンマ処理部３０２、反射成分算出部３０５、付加処理部３０６、ガンマ処理部３０７、輝度色差変換部３０８を有する。なお、図３に示されている距離算出部３０３と法線算出部３０４は例えば画像処理部１０５内に設けられている構成であるが、これらはリライティング処理部１１４に含まれていてもよいし、システム制御部５０に含まれていてもよい。
【００３１】
ＲＧＢ変換部３０１は、入力された輝度信号Ｙと色差信号Ｂ−Ｙ，Ｒ−ＹをＲＧＢ信号に変換し、その変換後のＲＧＢ信号をデガンマ処理部３０２へ出力する。
デガンマ処理部３０２は、ＲＧＢ変換部３０１から入力されたＲＧＢ信号に対して、画像処理部１０５の色ガンマ処理部２０６で用いられたガンマ特性の逆特性を用いた演算処理（つまりデガンマ処理）を行うことによりＲＧＢのリニアデータに変換する。そして、デガンマ処理部３０２は、そのデガンマ処理後のＲＧＢ信号（Ｒｔ信号、Ｇｔ信号、Ｂｔ信号）を、反射成分算出部３０５および付加処理部３０６に出力する。
【００３２】
距離算出部３０３は、測距センサ１２３により撮影画像の画素単位で取得された距離情報から２次元の距離マップを算出する。
法線算出部３０４は、距離算出部３０３にて算出された距離マップを基に、例えば顔検出部１１３により検出された顔等の領域の法線マップを算出する。距離マップから法線マップを生成する処理について図４を参照しながら説明する。
【００３３】
図４は、デジタルカメラ１００の撮影座標と顔等の特定の被写体４０１との間の位置関係を表した図である。前述した撮影画像の画素単位の距離情報に基づく２次元の距離マップを用いれば、例えば図４に示すように、被写体４０１について、撮影画像の水平方向の差分ΔＨに対する、奥行き方向の距離Ｄの差分ΔＤを算出することができる。また、その水平方向の差分ΔＨと奥行き方向の距離Ｄの差分ΔＤとから勾配を算出することができ、さらにその勾配から法線Ｎを算出することができる。法線算出部３０４は、撮影画像についてそのような処理を行うことにより、撮影画像の各画素に対応した法線Ｎを算出する。そして、法線算出部３０４は、撮影画像の各画素に対応した各法線Ｎを基に、２次元の法線マップを生成して反射成分算出部３０５に出力する。
【００３４】
反射成分算出部３０５は、仮想光源４０２から被写体４０１までの距離Ｋと、法線Ｎと、仮想光源４０２の方向ベクトルＬとに基づいて、設定した仮想光源４０２が被写体４０１により反射される成分を算出する。例えば反射成分算出部３０５は、仮想光源４０２から被写体４０１までの距離Ｋの二乗に反比例し、被写体４０１の法線Ｎのベクトルと仮想光源４０２の方向ベクトルＬとの内積に比例するように、撮影画像の各画素に対応した座標位置の反射成分を算出する。図４の例では、撮影画像の水平画素位置Ｈ１における反射成分は、水平画素位置Ｈ１の座標における法線Ｎ１と仮想光源４０２の方向ベクトルＬ１の内積に比例し、仮想光源４０２から被写体４０１までの距離Ｋ１の二乗に反比例する値となる。なお、簡略化のために、垂直画素位置における反射成分についての説明は省略する。
【００３５】
ここで、被写体からの仮想光源が当該被写体により反射される反射成分（Ｒａ，Ｇａ，Ｂａ）は、下記の式（１）により表すことができる。なお、式（１）中のαは仮想光源の強さでありリライティング補正量のゲイン値である。また式中のＬは仮想光源の３次元方向ベクトル、Ｎは被写体の３次元法線ベクトル、Ｋは仮想光源から被写体までの距離、Ｒｔ，Ｇｔ，Ｂｔは前述したデガンマ処理後のＲＧＢ信号である。
【００３６】
Ｒａ＝α×（−Ｌ・Ｎ）／Ｋ＾２×Ｒｔ
Ｇａ＝α×（−Ｌ・Ｎ）／Ｋ＾２×Ｇｔ          式（１）
Ｂａ＝α×（−Ｌ・Ｎ）／Ｋ＾２×Ｂｔ
【００３７】
反射成分算出部３０５により前述のようにして算出された反射成分（Ｒａ，Ｇａ，Ｂａ）は付加処理部３０６へ出力される。
付加処理部３０６は、デガンマ処理後のＲＧＢ信号（Ｒｔ，Ｇｔ，Ｂｔ）に、仮想光源成分（Ｒａ，Ｇａ，Ｂａ）を付加する処理を行う。付加処理部３０６では、下記の式（２）により表されるような仮想光源付加処理を行うことで、付加処理後のＲＧＢ信号（Ｒｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔ）を生成する。
【００３８】
Ｒｏｕｔ＝Ｒｔ＋Ｒａ
Ｇｏｕｔ＝Ｇｔ＋Ｇａ        式（２）
Ｂｏｕｔ＝Ｂｔ＋Ｂａ
【００３９】
付加処理部３０６から出力されたＲＧＢ信号（Ｒｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔ）は、ガンマ処理部３０７に入力される。
ガンマ処理部３０７は、ＲＧＢ信号（Ｒｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔ）に対してガンマ補正を行う。ガンマ処理部３０７では、画像処理部１０５の色ガンマ処理部２０６で用いられたガンマ特性によるガンマ補正が行われ、そのガンマ補正後のＲＧＢ信号（Ｒ'ｏｕｔ，Ｇ'ｏｕｔ，Ｂ'ｏｕｔ）が輝度色差変換部３０８へ出力される。
【００４０】
輝度色差変換部３０８は、入力されたＲＧＢ信号（Ｒ'ｏｕｔ，Ｇ'ｏｕｔ，Ｂ'ｏｕｔ）から輝度信号Ｙと色差信号Ｒ−Ｙ，Ｂ−Ｙを生成する。
【００４１】
以上が、リライティング処理部１１４の動作である。図５（ａ）と図５（ｂ）はリライティング処理前後の画像例を示した図である。図５（ａ）はリライティング処理前の撮影画像５００の例であり、図５（ｂ）はリライティング処理後の画像５０１の例である。リライティング処理は、図５（ａ）に示すように処理前の撮影画像５００では暗かった被写体５１０に対して仮想光源５２０からの光を仮想的に当てた処理となる。このため、当該リライティング処理後には、図５（ｂ）に示すように、明るく補正された被写体５１１の画像５０１が得られる。
【００４２】
本実施形態において、システム制御部５０は、リライティング処理部１１４が出力した輝度信号Ｙと色差信号Ｒ−Ｙ，Ｂ−Ｙを、メモリ制御部１０７を介して画像メモリ１０６に蓄積した後、コーデック部１１０で圧縮符号化させる。また、システム制御部５０は、Ｉ／Ｆ部１１１を介して記録媒体１１２に記録し、更には、表示部１０９においてリライティング処理後の画像を表示するよう制御する。
【００４３】
なお、前述した図２の画像処理部１０５や図３のリライティング処理部１１４は、ハードウェア構成だけでなく、図２や図３の各部の処理をＣＰＵ等がプログラムを実行して実現するソフトウェア構成により実現されてもよい。また、一部がハードウェア構成で残りがソフトウェア構成により実現されてもよい。このソフトウェア構成のためのプログラムは、予め用意されている場合だけでなく、不図示の外部メモリ等の記録媒体から取得されたり、不図示のネットワーク等を介して取得されたりしてもよい。
【００４４】
＜仮想光源状態画像の重畳表示＞
本実施形態のデジタルカメラ１００は、前述したリライティング処理後の画像を表示部１０９に表示する際、仮想光源と被写体との位置関係を表す仮想光源状態画像を、撮影画像またはリライティング処理後の画像に重畳表示させる機能をも有している。
図６には、撮影画像に対するリライティング処理の実行から、仮想光源状態画像の重畳表示までの処理のフローチャートを示す。図６に示すフローチャートの処理は、システム制御部５０が、本実施形態に係るプログラムを実行してデジタルカメラ１００の各部を制御することにより実現される。なお、以下の説明では、各処理のステップＳ６０１〜ステップＳ６１６をＳ６０１〜Ｓ６１６と略記する。これらのことは後述する他のフローチャートにおいても同様であるとする。
【００４５】
図６に示したフローチャートにおいて、Ｓ６０１からＳ６０６までの処理は、デジタルカメラ１００において本撮影がなされる前に実行される処理である。なお、本実施形態のデジタルカメラ１００の操作部１２０のシャッターボタンは半押し状態と全押し状態の二つの状態を取り得るボタンとなされている。シャッターボタンが半押し状態である時、システム制御部５０は、デジタルカメラ１００においてＡＦ処理やＡＥ処理、ＡＷＢ処理、顔検出処理等が行われる本撮影前の動作状態に制御する。そして、シャッターボタンが半押し状態になされた時、システム制御部５０は、デジタルカメラ１００において本撮影を実行させるように各部を制御する。シャッターボタンの半押しや全押し時のカメラ動作については一般的なカメラと同様であるため、その詳細な説明は省略する。
【００４６】
Ｓ６０１において、システム制御部５０は、操作部１２０の操作情報から、ユーザがシャッターボタンを半押ししたことを検出すると、Ｓ６０２に処理を進める。
Ｓ６０２に進むと、システム制御部５０は、カメラ動作モードがリライティング処理を実行するモードに設定されているか否か、つまりリライティング処理を実行するか否かを判定する。例えば事前にユーザにより操作部１２０が操作されてリライティング処理を実行するカメラ動作モードが設定されている場合、システム制御部５０は、Ｓ６０３に処理を進める。一方、カメラ動作モードとしてリライティング処理を実行する動作モードが設定されていない場合、システム制御部５０は、図６のフローチャートの処理を終了する。
【００４７】
Ｓ６０３に進むと、システム制御部５０は、本撮影前に取得されている画像から顔検出部１１３により撮影対象の顔が検出されている場合にはその顔検出結果を取得する。具体的には、顔検出部１１３から、顔の座標位置やその座標位置の信頼度といった情報を取得する。
【００４８】
次にＳ６０４とＳ６０５において、システム制御部５０は、画像処理部１０５を制御して陰影取得部２０８における陰影情報の取得処理を実行させる。このとき、陰影取得部２０８は、Ｓ６０４において、顔検出部１１３による顔検出結果に応じた顔領域内の輝度情報として、当該顔領域内の平均輝度値や顔領域内の輝度ヒストグラムなどの輝度分布といった情報を取得する。またＳ６０５において、陰影取得部２０８は、顔領域外の輝度情報として、当該顔領域外の平均輝度値や輝度ヒストグラムなどの輝度分布といった情報を取得する。Ｓ６０５の後、システム制御部５０は、Ｓ６０６に処理を進める。
【００４９】
Ｓ６０６に進むと、システム制御部５０は、本撮影前に得られている画像から、撮影対象の場面（シーン）がリライティング処理を行った場合に効果があるリライティング対象シーンであるか否かを判定する。本実施形態の場合、システム制御部５０は、Ｓ６０４とＳ６０５で陰影取得部２０８が取得した顔領域内の輝度情報や顔領域外の輝度情報を基に、リライティング対象シーンであるか否かを判定する。
【００５０】
例えば、Ｓ６０４で取得した顔領域内の平均輝度値が極端に低く黒潰れしている部分が多いシーンや、逆に平均輝度値が極端に高く白飛びしている部分が多いシーンでは、リライティング処理を施してもあまり効果のある結果が得られないと考えられる。このため、システム制御部５０は、顔領域内の平均輝度値が極端に低く黒潰れしている部分や、逆に、極端に高く白飛びしている部分が多いシーンの場合、Ｓ６０６においてリライティング対象シーンでないと判別する。また例えば顔領域内の輝度ヒストグラムの輝度分布が偏っているようなシーンは、仮想光源を偏りのある領域に照射して輝度の偏りを減らすことでリライティングの効果が得られると考えられる。このため、システム制御部５０は、顔領域内の輝度ヒストグラムの輝度分布が偏っているシーンの場合、Ｓ６０６においてリライティング対象シーンであると判別する。また例えば輝度ヒストグラムの輝度分布が平坦で顔の凹凸感がないシーンでは、仮想光源反射成分（Ｒa，Ｇａ，Ｂａ）をＲＧＢ信号（Ｒｔ，Ｇｔ，Ｂｔ）から減算して輝度分布の平坦さを軽減すればリライティングの効果が得られると考えられる。このため、システム制御部５０は、顔領域内の輝度ヒストグラムの輝度分布が平坦なシーンの場合、Ｓ６０６においてリライティング対象シーンであると判別する。また例えば、顔領域内の平均輝度値が低く、顔領域外の平均輝度値が高いといった逆光シーンにおいては、リライティングの効果が表れると考えられる。このため、システム制御部５０は、顔領域内の平均輝度値が低く、顔領域外の平均輝度値が高い逆光シーンの場合、Ｓ６０６においてリライティング対象シーンであると判定する。
【００５１】
また、システム制御部５０は、Ｓ６０６におけるリライティング対象シーンの判定結果に応じたマークやメッセージ等を、表示部１０９に表示される画像上に重畳表示させることも可能である。例えば、リライティング対象シーンであると判定された場合に、そのシーンがリライティングお薦めシーンであることを示すお薦めマーク等を重畳表示することにより、ユーザに対し、リライティング処理することが有効であることを知らせることが可能となる。
【００５２】
図７は、リライティング対象シーンであると判別された場合に、表示部１０９に表示される画像７００に対し、リライティングお薦めシーンであることを示すお薦めマーク７０１を重畳表示した例を示した図である。図７の例では、表示部１０９に表示されている画像７００の例えば左上に、リライティングお薦めシーンであることを示すお薦めマーク７０１が重畳表示されている。これにより、ユーザに対し、リライティング処理することが有効であることを知らせることが可能となる。また、システム制御部５０は、画像７００のお薦めマーク７０１の近傍に、リライティング処理モードのＯＮ・ОＦＦの切り替えボタン７０２を表示してもよい。そして、システム制御部５０は、操作部１２０のタッチパネルを介して、切り替えボタン７０２をＯＮにする指示がなされた場合、カメラ動作モードを、リライティング処理の実行するモードに切り替えるようにする。なお、リライティング処理モードのＯＮ・ОＦＦの切り替えボタン７０２を表示する例の場合、システム制御部５０は、図６のＳ６０１の後、Ｓ６０２の判定処理は行わずに、Ｓ６０３に処理を進めるようにする。
【００５３】
システム制御部５０は、前述したようにしてＳ６０６でリライティング対象シーンであると判定した場合、Ｓ６０７に処理を進める。一方、リライティング対象シーンでないと判定した場合、システム制御部５０は、図６のフローチャートの処理を終了する。
Ｓ６０７に進んだ場合、システム制御部５０は、ユーザが操作部１２０のシャッターボタンを全押しした場合、デジタルカメラ１００において本撮影を実行させるように各部を制御する。
【００５４】
次にＳ６０８において、システム制御部５０は、距離算出部３０３を制御して２次元の距離マップを算出させる。この時の距離算出部３０３は、システム制御部５０による制御の下、デジタルカメラ１００から被写体等までの距離による重み付けマップ画像（ｍａｐＫ）を生成する。具体的には、距離算出部３０３は、測距センサ１２３から取得した撮影画像の画素単位の距離情報に基づいて画素単位で距離Ｋを算出し、さらに画素単位で１／Ｋ＾２を任意のビット幅で正規化した値を算出する。そして、距離算出部３０３は、それら正規化した値が各画素に対応して２次元に配列されたものを、距離による重み付けマップ画像（ｍａｐＫ）として生成する。
【００５５】
次にＳ６０９において、システム制御部５０は、法線算出部３０４を制御して法線マップを算出させる。この時の法線算出部３０４は、システム制御部５０による制御の下、距離算出部３０３から取得した距離による重み付けマップ画像（ｍａｐＫ）を基に、法線マップ画像（ｍａｐＮ）を生成する。具体的には、法線算出部３０４は、図４で説明したように被写体４０１の法線ベクトル（Ｎ）を画素単位で算出し、それらの各座標軸方向に対する方向余弦を求め、その方向余弦を任意のビット幅で表現して、法線による重み付けマップ（ｍａｐＮ）とする。
【００５６】
次にＳ６１０において、システム制御部５０は、リライティング処理部の反射成分算出部３０５を制御して仮想光源の反射成分を算出させる。この時、システム制御部５０は、顔検出部１１３が検出した顔の座標情報と陰影取得部２０８が取得した顔領域内および顔領域外の輝度情報を反射成分算出部３０５に送る。そして、反射成分算出部３０５は、システム制御部５０による制御の下、それらの情報を基に、仮想光源の位置・照射範囲・強度を決定する。例えば、反射成分算出部３０５は、顔領域内の輝度分布が偏っていた場合、輝度値の低い領域に仮想光源が当たるように、仮想光源の位置・照射範囲・強度を決定する。ここで、例えば輝度値の低い領域の座標が（ｘ１，ｙ１）であるとすると、仮想光源による被写体からの反射成分（Ｒａ(x1,y1)，Ｇａ(x1,y1)，Ｂａ(x1,y1)）は、次の式（３）で表わされる。
【００５７】
Ｒａ(x1,y1)＝α×（−Ｌ(x1,y1)・Ｎ(x1,y1)）／Ｋ(x1,y1)＾２×Ｒｔ
Ｇａ(x1,y1)＝α×（−Ｌ(x1,y1)・Ｎ(x1,y1)）／Ｋ(x1,y1)＾２×Ｇｔ      式（３）
Ｂａ(x1,y1)＝α×（−Ｌ(x1,y1)・Ｎ(x1,y1)）／Ｋ(x1,y1)＾２×Ｂｔ
【００５８】
なお式（３）中のＲｔ，Ｇｔ，Ｂｔは前述したデガンマ処理後のＲＧＢ信号であり、αは仮想光源の強さ、Ｌ(x1,y1)は仮想光源の３次元方向ベクトル、Ｎ(x1,y1)は（ｘ１，ｙ１）座標の位置に存在する被写体の３次元法線ベクトルである。また、式（３）のＫ(x1,y1)は仮想光源と（ｘ１，ｙ１）座標の位置に存在する被写体との間の距離である。
【００５９】
さらに反射成分算出部３０５は、システム制御部５０による制御の下、式（３）に基づいて、仮想光源の照射範囲と、仮想光源の位置と、仮想光源の強さとを決定する。本実施形態の場合、反射成分算出部３０５は、陰影取得部２０８が取得した顔領域内の輝度分布の情報を基に、任意に設定した閾値よりも低い輝度値となる各座標の情報を取得し、それら座標が含まれるように、仮想光源の照射範囲を決定する。また、反射成分算出部３０５は、仮想光源からの光が輝度値の低い領域（座標（ｘ１，ｙ１））に当たるようになる、仮想光源の強さαと、仮想光源から被写体までの距離Ｋ(x1,y1)とを決定する。仮想光源の位置は、仮想光源の３次元方向ベクトルＬ(x1,y1)と距離Ｋ(x1,y1)とに基づいて特定される。
【００６０】
ここで、仮想光源が被写体の輝度値の低い領域（座標（ｘ１，ｙ１））に当たるようにするには、反射成分（Ｒａ(x1,y1)，Ｇａ(x1,y1)，Ｂａ(x1,y1)）が正の値となるような仮想光源の強さαと距離Ｋ(x1,y1)を決定する必要がある。また例えば、仮想光源の強さαを強くし過ぎると、白飛びや階調反転などが生じてしまう可能性もあるため、仮想光源の強さαは、予め求めた閾値範囲内の値にすることが望ましい。このため反射成分算出部３０５は、仮想光源の強さに対する閾値範囲として、仮想光源の照射範囲外で輝度値が高い領域の平均輝度値±βの輝度値範囲を算出し、その輝度値範囲の例えば平均値を仮想光源の強さαとして決定する。また反射成分算出部３０５は、反射成分（Ｒａ(x1,y1)，Ｇａ(x1,y1)，Ｂａ(x1,y1)）が正の値となるような、仮想光源から被写体までの距離の範囲を算出し、その距離の範囲の例えば平均値を、距離Ｋ(x1,y1)として決定する。また反射成分算出部３０５は、反射成分（Ｒａ(x1,y1)，Ｇａ(x1,y1)，Ｂａ(x1,y1)）が正の値となるような、仮想光源の各位置からなる範囲を、仮想光源の位置の範囲として決定する。
【００６１】
次にＳ６１１において、システム制御部５０は、反射成分算出部３０５を制御して、仮想光源による重み付けマップ画像を生成させる。この時、反射成分算出部３０５は、仮想光源の光源方向ベクトル−Ｌを画素単位で算出し、それら画素単位で各座標軸方向に対する方向余弦を求め、それら方向余弦を任意のビット幅で表現して仮想光源による重み付けマップ（ｍａｐＬ）とする。
【００６２】
次にＳ６１２において、システム制御部５０は、反射成分算出部３０５を制御して、被写体における仮想光源の反射成分を算出させる。ここで、仮想光源の反射成分（Ｒａ，Ｇａ，Ｂａ）は、前述した式（１）を用いることで算出できる。反射成分算出部３０５は、式（１）について、距離による重み付けマップ画像（ｍａｐＫ）、被写体の法線による重み付けマップ画像（ｍａｐＮ）、仮想光源による重み付けマップ画像（ｍａｐＬ）で置き換えた式（４）を用いて、仮想光源の反射成分を算出する。
【００６３】
Ｒａ＝α×mapＬ・mapＮ・mapＫ×Ｒｔ
Ｇａ＝α×mapＬ・mapＮ・mapＫ×Ｇｔ        式（４）
Ｂａ＝α×mapＬ・mapＮ・mapＫ×Ｂｔ
【００６４】
次にＳ６１３において、システム制御部５０は、仮想光源状態画像を生成する。具体的には、システム制御部５０は、反射成分算出部３０５が仮想光源反射成分を算出するのに用いた各パラメータを図式化した仮想光線状態画像を生成する。
【００６５】
以下、図８（ａ）〜図８（ｅ）を用いて仮想光源状態画像の例について説明する。
図８（ａ）は、例えば、リライティング処理後の画像８００の右上の位置に、３次元の仮想光源状態画像８０２が重畳表示された例を示した図である。また、画像８００の例えば左上の位置にはリライティング処理が行われたことを表すマーク８０１が表示されている。仮想光源状態画像８０２は、ｘ軸・ｙ軸・ｚ軸の３次元空間内における、被写体８０３の位置、仮想光源８０６の位置、仮想光源８０６の照射範囲８０８、カメラ８０５の位置、仮想光源８０６の強度を表す強度バー８０４等が配置された画像となっている。仮想光源状態画像８０２の仮想光源８０６の位置、照射範囲８０８、強度バー８０４については、表示部１０９に設けられているタッチパネル等の操作部１２０を介して、ユーザによる操作が可能となされている。システム制御部５０は、仮想光源状態画像８０２の仮想光源８０６の位置、照射範囲８０８、強度バー８０４が、操作部１２０を介してユーザにより操作されると、その操作に応じて、仮想光源の位置、照射範囲、仮想光源の強度等のパラメータを再設定する。
【００６６】
図８（ｂ）は仮想光源状態画像８１０の他の例を示しており、図８（ａ）の例と同様に、被写体８１３の位置、仮想光源８１６の位置、仮想光源８１６の照射範囲８１８、カメラ８１５の位置、強度バー８１４等が配置された画像となされている。図８（ｂ）の仮想光源状態画像８１０には、さらに、ユーザが仮想光源の位置や照射範囲を操作する際の目安となる補助線８１９が、ｘ軸，ｙ軸，ｚ軸（ｚ軸の補助線は図示を省略している。）について設けられている。図８（ｂ）の仮想光源状態画像８１０の場合、補助線８１９が設けられているため、ユーザは、仮想光源の位置や照射範囲の操作がし易くなる。
【００６７】
図８（ｃ）は仮想光源状態画像８２０の他の例を示しており、被写体８２３と仮想光源８２６との位置関係を真上から見た場合の平面図で表した画像となされている。図８（ｃ）の仮想光源状態画像８２０には、被写体８２３、仮想光源８２６、仮想光源８２６の照射範囲８２８、カメラ８２５の位置、強度バー８２４等が配置された画像となされている。この仮想光源状態画像８２０においても前述同様に、仮想光源状態画像８２０の仮想光源８２６の位置、照射範囲８２８、強度バー８２４は、操作部１２０を介してユーザによる操作が可能となされている。図８（ｃ）の仮想光源状態画像８２０の場合、ユーザは、被写体８２３と仮想光源８２６との２次元的な位置関係を容易に把握することが可能となる。
【００６８】
図８（ｄ）と図８（ｅ）は、Ｓ６１０で反射成分算出部３０５が算出した各パラメータの範囲をガイドラインとして表示している例である。図８（ｄ）は、図８（ａ）の仮想光源状態画像８０２と同様の仮想光源状態画像８３０にガイドライン８３７を表示した例である。図８（ｄ）の被写体８３３の位置、仮想光源８３６の位置、仮想光源８３６の照射範囲８３８、カメラ８３５の位置、仮想光源８３６の強度を表す強度バー８３４等は図８（ａ）の例と同様のものである。図８（ｅ）は、図８（ｃ）の仮想光源状態画像８２０と同様の仮想光源状態画像８４０にガイドライン８４７を表示した例である。図８（ｅ）の被写体８４３の位置、仮想光源８４６の位置、仮想光源８４６の照射範囲８４８、カメラ８４５の位置、仮想光源８４６の強度を表す強度バー８４４等は図８（ｃ）の例と同様のものである。図８（ｄ）と図８（ｅ）の場合、ユーザは、例えば仮想光源の位置と仮想光源の範囲をガイドラインに沿って操作することで、それら仮想光源の位置と仮想光源の範囲のパラメータを調整することが可能となる。これら図８（ｄ）と図８（ｅ）に示したようなガイドラインを表示し、ユーザの操作をガイドラインに沿った操作に制限することで、例えば絵柄が壊れてしまうような仮想光源のパラメータが設定されるのを回避可能となる。
【００６９】
図６のフローチャートに説明を戻す。
Ｓ６１４において、システム制御部５０は、リライティング処理部１１４を制御して、リライティング処理を実行させる。具体的には、付加処理部３０６において、前述した式（２）のように、反射成分算出部３０５で算出した仮想光源の反射成分（Ｒａ，Ｇａ，Ｂａ）を、デガンマ処理部３０２の出力（Ｒｔ，Ｇｔ，Ｂｔ）と加算することによりリライティング処理が行われる。
【００７０】
次にＳ６１５において、システム制御部５０は、リライティング処理後の画像に、Ｓ６１３で生成した仮想光源状態画像を重畳した表示画像を表示部１０９に表示させる。
その後、Ｓ６１６において、システム制御部５０は、操作部１２０を介してユーザから仮想光源状態画像に対する変更の操作がなされたか否かを判定する。そして、システム制御部５０は、仮想光源状態画像に対する変更の操作がなされたと判定した場合には、Ｓ６１１に処理を戻し、前述したＳ６１１以降の制御を行う。一方、仮想光源状態画像に対する変更の操作がなされなかったと判定した場合には、図６のフローチャートの処理を終了する。
【００７１】
第１の実施形態のデジタルカメラ１００は、前述したように仮想光源の位置・照射範囲・強さといったパラメータを図式化した仮想光源状態画像を生成し、撮影画像またはリライティング処理後の画像に重畳表示する機能を有している。本実施形態のデジタルカメラ１００によれば、ユーザは、表示された仮想光源状態画像を基に仮想光源（ライト）の位置や照射範囲・強さを調整することで、仮想光源の各パラメータを容易に調整でき、所望のリライティング処理結果を得ることが可能となる。
【００７２】
また、本実施形態では、仮想光源状態画像として３次元図や平面図の例を挙げたが、仮想光源状態画像は被写体と仮想光源との位置関係をユーザが把握出来るものであれば、前述の例に限るものではない。また、本実施形態では、仮想光源が一つの場合を例に挙げたが、これに限定されるものではない。例えば、一つの仮想光源は被写体に対し右斜め上から光を当て、もう一つの仮想光源は被写体に対し真横から光を当てるといったように、複数光源でリライティング処理する構成にしてもよい。この場合は、仮想光源状態画像において、それら複数の仮想光源について前述同様に位置・照射範囲・強さといったパラメータを調整可能にする。
【００７３】
＜第２の実施形態＞
次に、本発明に係る画像処理装置の一適用例として、第２の実施形態ではパーソナルコンピュータ（以下、ＰＣとする。）等の情報処理装置を例に挙げる。第２の実施形態のＰＣは、デジタルカメラ等から撮影画像および距離情報等の付加情報を取得する。そして、ＰＣは、撮影画像に対するリライティング処理後の画像を生成すると共に仮想光源状態画像を生成し、その仮想光源状態画像を撮影画像またはリライティング処理後の画像に重畳表示する。なお、撮影画像と共に取得する付加情報には、距離情報の他に、デジタルカメラが求めた顔検出結果や法線情報が含まれていてもよい。また、付加情報に顔検出結果や法線情報が含まれていない場合、第２の実施形態のＰＣは、撮影画像から顔領域を検出して顔検出結果を生成し、距離情報から法線情報を算出する。
【００７４】
図１（ｂ）は、第２の実施形態に係るＰＣ１５０の概略構成例を示した図である。
第２の実施形態のＰＣ１５０は、ＣＰＵ１５１、ＲＯＭ１５２、ＲＡＭ１５３、表示部１５４、操作部１５６、記録媒体１５７、Ｉ／Ｆ部１５８等を有して構成されている。
【００７５】
ＣＰＵ１５１は、ＰＣ１５０における全体の動作の統括的な制御や各種の演算処理を行うためのものであり、システムバスを介して、各構成部（１５２〜１５９）に接続されている。ＲＯＭ１５２は、ＣＰＵ１５１が処理を実行するために必要なプログラムを記憶する不揮発性メモリである。なお、当該プログラムは、後述する記録媒体１５７やＩ／Ｆ部１５８を介して取得されてもよい。ＲＡＭ１５３は、ＣＰＵ１５１の主メモリ、ワークエリアとして機能する。すなわちＣＰＵ１５１は、処理の実行に際してＲＯＭ１５２から必要なプログラムをＲＡＭ１５３にロードし、このプログラムを実行することで各種の制御や演算処理等を実現する。第２の実施形態の場合、ＣＰＵ１５１は、このプログラムの実行により、例えば図１（ａ）のデジタルカメラ１００の画像処理部１０５、リライティング処理部１１４、顔検出部１１３、表示部１５４への表示制御等と同様の各処理を行う。
【００７６】
Ｉ／Ｆ部１５８は、無線や有線等により外部機器等と接続したり、外部メモリ等と接続等したりするためのインターフェースである。Ｉ／Ｆ部１５８に接続される外部機器にはデジタルカメラが含まれ、またＩ／Ｆ部１５８の接続先にはインターネット等のネットワークも含まれる。記録媒体１５７は、ＣＰＵ１５１による制御の下、Ｉ／Ｆ部１５８を介して取得された撮影画像とその付加情報等、リライティング処理後の画像や仮想光源状態画像の情報等の記録や読み出しを行う。
【００７７】
表示部１５４は、液晶ディスプレイ（ＬＣＤ）等のモニタで構成される。表示部１５４には、ＣＰＵ１５１による制御の下で、前述したデジタルカメラ１００の表示部１０９に表示されるのと同様のリライティング処理後の画像や仮想光源状態画像等が表示される。操作部１５６は、例えばキーボードやマウス、タッチパネル等により構成され、ユーザからの指示を取得してＣＰＵ１５１に伝える。ユーザは、操作部１５６を介して、前述の第１の実施形態で説明した仮想光源状態画像への指示を行うことができる。
【００７８】
第２の実施形態のＰＣ１５０では、前述した第１の実施形態と同様に、仮想光源の位置・照射範囲・強さといったパラメータを図式化した仮想光源状態画像を生成し、撮影画像またはリライティング処理後の画像に重畳表示する。そして、第２の実施形態においても前述同様に、ユーザは、仮想光源状態画像を基に仮想光源の位置や照射範囲・強さを調整することができる。第２の実施形態においても、仮想光源状態画像の生成および重畳表示、仮想光源状態画像を介した仮想光源の位置・照射範囲・強さの調整等の基本的な処理は、前述した第１の実施形態と概ね同様である。以下の説明では、第２の実施形態において前述した第１の実施形態とは異なる点についてのみ記載する。
【００７９】
図９には、第２の実施形態のＰＣ１５０のＣＰＵ１５１が実行する処理のフローチャートを示す。図９のフローチャートは、第２の実施形態において、撮影画像に対するリライティング処理の実行から、仮想光源と被写体との位置関係を示す仮想光源状態画像の生成、さらにリライティング処理後の画像への重畳表示までの処理の流れを示している。
【００８０】
Ｓ９０１において、ＣＰＵ１５１は、予めデジタルカメラ等から取得して記録媒体１５７に記録されている撮影画像の画像データを読み出す。
次のＳ９０２において、ＣＰＵ１５１は、操作部１５６を介して、ユーザからリライティング処理を実行する旨の指示がなされているか否かを判定する。そして、ＣＰＵ１５１は、ユーザによりリライティング処理を行う旨の指示がなされていないと判定した場合には図９のフローチャートの処理を終了し、一方、リライティング処理を行う旨の指示がなされていると判定した場合にはＳ９０３に処理を進める。
【００８１】
Ｓ９０３に進むと、ＣＰＵ１５１は、デジタルカメラから取得された撮影画像の付加情報として、顔検出に関する情報すなわち顔検出結果の情報が含まれているか否かを判定する。そして、ＣＰＵ１５１は、付加情報に顔検出結果が含まれていると判定した場合にはＳ９０４に処理を進め、一方、顔検出結果が含まれていないと判定した場合にはＳ９０７に処理を進める。
【００８２】
Ｓ９０７に進んだ場合，ＣＰＵ１５１は、第１の実施形態のデジタルカメラ１００の顔検出部１１３における処理と同様な顔検出処理を撮影画像に対して実行する。
次にＳ９０８において、ＣＰＵ１５１は、第１の実施形態の陰影取得部２０８と同様の処理により、撮影画像内に含まれる顔領域内の輝度情報を取得する。具体的には、ＣＰＵ１５１は、顔検出結果を基に顔領域内の平均輝度値や輝度ヒストグラムなどの輝度分布といった情報を取得する。
さらにＳ９０９において、ＣＰＵ１５１は、前述した陰影取得部２０８と同様の処理により、撮影画像内に含まれる顔領域外の輝度情報を取得する。具体的には、ＣＰＵ１５１は、顔検出結果を基に顔領域外の平均輝度値や輝度ヒストグラムなどの輝度分布といった情報を取得する。このＳ９０９の後、ＣＰＵ１５１はＳ９１０に処理を進める。
【００８３】
またＳ９０４に進んだ場合、ＣＰＵ１５１は、撮影画像の付加情報から顔検出結果の情報を取得する。
次にＳ９０５において、ＣＰＵ１５１は、付加情報の顔検出結果を基に、撮影画像の顔領域内の輝度情報を取得する。
さらにＳ９０６において、ＣＰＵ１５１は、付加情報の顔検出結果を基に、撮影画像の顔領域外の輝度情報を取得する。このＳ９０６の後、ＣＰＵ１５１はＳ９１０に処理を進める。
【００８４】
Ｓ９１０に進むと、ＣＰＵ１５１は、図６のＳ６０６で説明したのと同様にして、撮影対象の場面（シーン）がリライティング処理を行った場合に効果があるリライティング対象シーンであるか否かを判定する。そして、ＣＰＵ１５１は、リライティング対象シーンであると判定した場合にはＳ９１１に処理を進め、リライティング対象シーンでないと判定した場合には図９のフローチャートの処理を終了する。
【００８５】
Ｓ９１１に進んだ場合、ＣＰＵ１５１は、撮影画像の付加情報として取得された距離情報を基に、第１の実施形態で説明した距離算出部３０３と同様の処理を行って重み付けマップ画像（ｍａｐＫ）の情報を生成する。
さらにＳ９１２において、ＣＰＵ１５１は、前述した法線算出部３０４と同様の処理を行って法線マップ画像（ｍａｐＮ）を生成する。
【００８６】
次にＳ９１３において、ＣＰＵ１５１は、顔検出結果に基づく顔の座標情報と、前述した顔領域内および顔領域外の輝度情報とを基に、第１の実施形態で説明した反射成分算出部３０５と同様の処理により、仮想光源の位置・照射範囲・強度を決定する。
さらに、ＣＰＵ１５１は、Ｓ９１４において、第１の実施形態の反射成分算出部３０５と同様の処理により、仮想光源による重み付けマップ画像（ｍａｐＬ）を生成し、また、Ｓ９１５において、仮想光源反射成分を算出する。
【００８７】
そして、次のＳ９１６において、ＣＰＵ１５１は、第１の実施形態で説明したのと同様の仮想光源状態画像を生成する。
さらに、ＣＰＵ１５１は、Ｓ９１７において、第１の実施形態で説明したのと同様のリライティング処理を実行し、次のＳ９１８において、ステップＳ９１８では、リライティング処理後の画像に仮想光源状態画像を重畳して表示部１５４に表示させる。
【００８８】
その後、Ｓ９１９において、ＣＰＵ１５１は、操作部１５６を介したユーザからの操作によって仮想光源状態画像を変更するか否かを判定する。そして、ＣＰＵ１５１は、ユーザからの操作に応じて変更すると判定した場合にはＳ９１４に処理を戻し、一方、変更しないと判定した場合には図９のフローチャートの処理を終了する。
【００８９】
以上説明したように、第２の実施形態のＰＣ１５０は、デジタルカメラ等から撮影画像および付加情報を取得し、それらを基に仮想光源のパラメータを図式化した仮想光源状態画像を生成し、撮影画像またはリライティング処理後の画像に重畳表示する。これにより、第２の実施形態においても第１の実施形態と同様に、ユーザは重畳表示された仮想光源状態画像を基に仮想光源の位置や照射範囲・強さ等の各パラメータを容易に調整でき、所望のリライティング処理結果を得ることが可能となる。
【００９０】
前述した第１、第２の実施形態では、撮影画像に付加された距離に基づく重み付けマップ画像と法線に基づく重み付けマップ画像とを用いてリライティング処理する例について説明したが、これに限るものではない。例えば、距離情報や法線情報の信頼度に応じて、距離による重み付けマップ画像と法線による重み付けマップ画像を整形するなどして再生成する構成にしてもよい。
【００９１】
前述した実施形態では、デジタルカメラの撮影画像がリライティング処理される場合を例に挙げたが、例えばスマートフォンやタブレット端末等、工業用カメラ、車載カメラ、医療用カメラなどからの撮影画像をリライティング処理する場合にも適用可能である。
【００９２】
本発明に係る信号処理における１以上の機能を実現するプログラムは、ネットワーク又は記憶媒体を介してシステム又は装置に供給可能であり、そのシステム又は装置のコンピュータの１つ以上のプロセッサにより読また出し実行されることで実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００９３】
前述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００９４】
１００：デジタルカメラ、５０：システム制御部、１０５：画像処理部、１０９：表示部、１１３：顔検出部、１１４：リライティング処理部、１２０：操作部、１２３：測距センサ
【図１】
2020005084.tif 000003
【図２】
2020005084.tif 000004
【図３】
2020005084.tif 000005
【図４】
2020005084.tif 000006
【図５】
2020005084.tif 000007
【図６】
2020005084.tif 000008
【図７】
2020005084.tif 000009
【図８】
2020005084.tif 000010
【図９】
2020005084.tif 000011