(57)【特許請求の範囲】
【請求項１】
撮像により得られた画像を取得する取得手段と、
前記取得手段により取得された画像に含まれる被写体について、撮像時に存在しなかった仮想光源による影響を演算する演算手段と、
前記演算手段による演算結果に基づき、前記被写体に前記仮想光源による影響を付加した画像を出力する出力手段とを有し、
前記演算手段は、
前記取得された画像に基づき、該画像が撮像された環境における環境光源の照射態様であって、少なくとも該環境光源の照射方向及び該環境光源から照射された光の拡散度を含む照射態様を推定する推定手段と、
前記推定手段による推定結果に基づき、前記仮想光源の照射方向と、該仮想光源により照射された場合の被写体の反射特性を決定する決定手段と、
前記決定手段により決定された、前記仮想光源の照射方向及び前記被写体の反射特性に基づいて、該仮想光源による影響を演算する処理手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
前記環境光源の照射方向は、前記取得された画像における主被写体領域における輝度分布に基づいて推定されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記環境光源から照射された光の拡散度は、前記取得された画像における主被写体領域におけるコントラストに基づいて推定されることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記被写体の反射特性には、前記仮想光源から入射した光の前記被写体における拡散反射率及び鏡面反射率を含むことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記被写体における拡散反射率及び鏡面反射率は、さらに前記被写体の種別に応じて決定されることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記演算手段は、前記取得された画像の主被写体領域に含まれる複数の被写体の各々について該被写体の種別を識別する識別手段をさらに含み、
前記演算手段は、前記識別手段により識別された被写体の種別ごとに異なる仮想光源を定義し、該仮想光源により該被写体に生じる影響を演算する
ことを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
撮像により画像を生成する撮像手段と、
前記撮像手段により生成された画像を取得し、仮想光源による影響を付加した画像を出力する請求項１乃至６のいずれか１項に記載の画像処理装置と、を有する
ことを特徴とする撮像装置。
【請求項８】
撮像により得られた画像を取得する取得工程と、
前記取得工程において取得された画像に含まれる被写体について、撮像時に存在しなかった仮想光源による影響を演算する演算工程と、
前記演算工程における演算結果に基づき、前記被写体に前記仮想光源による影響を付加した画像を出力する出力工程とを有し、
前記演算工程は、
前記取得された画像に基づき、該画像が撮像された環境における環境光源の照射態様であって、少なくとも該環境光源の照射方向及び該環境光源から照射された光の拡散度を含む照射態様を推定する推定工程と、
前記推定工程における推定結果に基づき、前記仮想光源の照射方向と、該仮想光源により照射された場合の被写体の反射特性を決定する決定工程と、
前記決定工程において決定された、前記仮想光源の照射方向及び前記被写体の反射特性に基づいて、該仮想光源による影響を演算する処理工程と、
を含むことを特徴とする画像処理装置の制御方法。
【請求項９】
コンピュータを、請求項１乃至６のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、制御方法及びプログラムに関し、特に撮影後に追加的に定義された仮想光源による照明効果を画像に付加する画像処理技術に関する。
【背景技術】
【０００２】
撮影後に得られた画像について、撮影環境には存在しなかった仮想的な光源による照明効果を付加し、被写体に生じた陰影を低減させる技術がある。特許文献１に記載の技術では、画像中の顔領域を検出し、該顔領域及び顔領域の平均輝度よりも低い輝度を有する陰影領域に対し、定義した仮想光源による明度の調整を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３５９９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、仮想光源の色味、強度分布及び方向を定義し、対象である被写体に明るさ調整を行っているが、画像が撮影された環境や被写体を考慮して、好適な照明効果が付加されない可能性があった。例えば、光沢やツヤといった表現や、明暗差を強調して立体感を出す等の表現が好適に実現されない可能性があった。
【０００５】
本発明は、上述の問題点に鑑みてなされたものであり、撮像後にシーンや被写体に応じた好適な照明効果を付加した画像を生成する画像処理装置、撮像装置、制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前述の目的を達成するために、本発明の画像処理装置は、撮像により得られた画像を取得する取得手段と、取得手段により取得された画像に含まれる被写体について、撮像時に存在しなかった仮想光源による影響を演算する演算手段と、演算手段による演算結果に基づき、被写体に仮想光源による影響を付加した画像を出力する出力手段とを有し、演算手段は、取得された画像に基づき、該画像が撮像された環境における環境光源の照射態様であって、少なくとも該環境光源の照射方向及び該環境光源から照射された光の拡散度を含む照射態様を推定する推定手段と、推定手段による推定結果に基づき、仮想光源の照射方向と、該仮想光源により照射された場合の被写体の反射特性を決定する決定手段と、決定手段により決定された、仮想光源の照射方向及び被写体の反射特性に基づいて、該仮想光源による影響を演算する処理手段と、を含むことを特徴とする。
【発明の効果】
【０００７】
このような構成により本発明によれば、撮像後にシーンや被写体に応じた好適な照明効果を付加した画像を生成することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るデジタルカメラ１００の機能構成を示したブロック図
【図２】本発明の実施形態に係る画像処理部１０５の詳細構成を示したブロック図
【図３】本発明の実施形態に係るリライティング処理部１１４の詳細構成を示したブロック図
【図４】本発明の実施形態に係る法線算出部３１０の動作を説明するための図
【図５】本発明の実施形態１に係るデジタルカメラ１００で実行されるパラメータ決定処理を例示したフローチャート
【図６】本発明の実施形態に係る環境光源の特性の推定を説明するための図
【図７】本発明の実施形態１における、仮想光源に係る各種パラメータの決定基準例
【図８】本発明の実施形態１における、仮想光源に係る各種パラメータを説明するための図
【図９】本発明の実施形態１に係るリライティング処理前後の画像を例示した図
【図１０】本発明の実施形態２に係るデジタルカメラ１００で実行されるパラメータ決定処理を例示したフローチャート
【図１１】本発明の実施形態２における、仮想光源に係る各種パラメータの決定基準例
【図１２】本発明の実施形態２における、仮想光源に係る各種パラメータを説明するための図
【図１３】本発明の実施形態３に係るデジタルカメラ１００で実行されるパラメータ決定処理を例示したフローチャート
【図１４】本発明の実施形態３における、仮想光源に係る各種パラメータを説明するための図
【発明を実施するための形態】
【０００９】
［実施形態１］
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、画像処理装置の一例としての、仮想光源による照明効果を付加するリライティング処理を実行可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明の実施において撮像機能は必須の構成ではなく、画像信号に対して追加的な仮想光源による照明効果を付加する種々の処理が実行可能な任意の機器に適用可能である。また、本明細書において、「リライティング処理」とは、撮像により得られた画像信号に対し、撮影環境には実際に存在しなかった仮想光源を追加的に定義し、該仮想光源による照明効果を付加する処理を言うものとして説明する。
【００１０】
《デジタルカメラ１００の構成》
図１は、本発明の実施形態に係るデジタルカメラ１００の機能構成を示すブロック図である。
【００１１】
レンズ群１０１は、ズームレンズ、フォーカスレンズを含む撮像光学系であり、撮影環境の被写体の反射光束や光源からの光束を撮像部１０３に導く。導かれた光束は、絞り機能を備えるシャッター１０２により光量制御され、撮像部１０３によりアナログ画像信号に変換される。撮像部１０３は、例えばＣＣＤやＣＭＯＳセンサ等の撮像装置であり、撮像部１０３により撮像面に結像された光学像を光電変換し、アナログ画像信号を出力する。撮像部１０３により出力されたアナログ画像信号はＡ／Ｄ変換器１０４によりデジタル画像信号（画像データ）に変換され、画像処理部１０５においてホワイトバランス処理や、ガンマ補正処理、輪郭強調処理、色補正処理等の各種画像処理が適用される。また顔検出部１１３は、入力された画像データに含まれる人物の顔領域を検出する顔検出処理を実行し、検出結果を出力する。リライティング処理部１１４は、入力された画像データに対して、仮想光源による照明効果を付加するリライティング処理を適用する。画像に係る各種の処理においては、画像メモリ１０６が作業領域やデータ格納領域として利用可能に設けられ、画像メモリ１０６への書き込み／読み出し等のアクセスに係る全般の動作はメモリ制御部１０７により制御される。
【００１２】
画像処理部１０５及びリライティング処理部１１４それぞれの詳細については、別図を用いて後述する。なお、本実施形態のデジタルカメラ１００では各種の画像処理を、画像処理部１０５、顔検出部１１３及びリライティング処理部１１４に分離して構成するものとして説明する。しかしながら、本発明の実施において、これらの画像処理が１以上の任意の数の処理回路で構成されてもよいことは容易に理解されよう。
【００１３】
撮像により得られ、各種の画像処理や重畳処理が適用された画像データは、Ｄ／Ａ変換器１０８において変換されることで表示用のアナログ画像信号となる。表示用のアナログ画像信号が例えばＬＣＤ等の表示部１０９に表示されることで、電子ビューファインダに係る機能が撮影者に提供される。また撮影動作に係り取得された画像データを記録（保存）する場合には、コーデック部１１０が予め定められた圧縮・符号化形式で記録用データに変換し、該データがＩ／Ｆ１１１を介して内蔵メモリやメモリカード等の記録装置である記録媒体１１２に記録される。また記録媒体１１２に記録された画像データを表示する場合には、コーデック部１１０は該データの復号を行う。
【００１４】
システム制御部５０は、例えばＣＰＵ等の演算装置であり、デジタルカメラ１００が有する各ブロックの動作を制御する。より詳しくはシステム制御部５０は、不揮発性メモリ１２１に記憶されている各ブロックの動作プログラムを読み出し、システムメモリ１２２に展開して実行することにより、各ブロックの動作を制御する。不揮発性メモリ１２１は、例えばＥＥＰＲＯＭ等の不揮発性の記憶装置である。不揮発性メモリ１２１は、各ブロックの動作プログラムに限らず、各ブロックの動作において必要となる各種パラメータ等を記憶する。システムメモリ１２２は、書き換え可能に構成された揮発性メモリであってよく、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を一時的に保持する格納領域としても用いられる。
【００１５】
また、顔検出部１１３による顔検出結果や撮像により得られた画像データを用いて画像処理部１０５が行った所定の評価値に基づき、システム制御部５０は撮像に係る露光制御、測距制御（レンズ群１０１、シャッター１０２、撮像部１０３の状態制御）を行う。これにより、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理等が実現される。
【００１６】
デジタルカメラ１００はこの他、撮影時の実際の光源として機能するストロボ１２３、デジタルカメラ１００と被写体との距離を計測する測距センサ１２４、各種の操作入力を検出するユーザインタフェースである操作部１２０を有する。操作部１２０は、操作入力がなされたことを検出した場合、対応する制御信号をシステム制御部５０に出力する。
【００１７】
本実施形態ではハードウェアとしてデジタルカメラ１００が備える各ブロックに対応した回路やプロセッサにより処理が実現されるものとして説明する。しかしながら、本発明の実施はこれに限られるものではなく、各ブロックの処理が該各ブロックと同様の処理を行うプログラムにより実現されるものであってもよい。
【００１８】
〈画像処理部１０５の構成〉
次に、画像処理部１０５の構成について、図２のブロック図を用いて詳述する。なお、本実施形態のデジタルカメラ１００において、撮像が行われた場合、画像処理部１０５には各画素がＲ成分、Ｇ成分及びＢ成分のいずれかの成分の信号レベルを示すベイヤー形式のデジタル画像信号が入力されるものとする。
【００１９】
同時化処理部２００は、入力されたベイヤー形式の画像信号に対して同時化処理を実行し、画像信号の各画素について信号レベルが示されない色成分を補間し、Ｒ成分、Ｇ成分及びＢ成分の画像信号（ＲＧＢ信号）を生成する。ＷＢ増幅部２０１は、システム制御部５０により決定されたホワイトバランス（ＷＢ）ゲイン値に基づき、ＲＧＢ信号の色成分ごとに信号レベルを増幅し、ＷＢの調整を行う。また輝度・色信号生成部２０２は、ＷＢ調整がなされたＲＧＢ信号から輝度信号（Ｙ信号）を生成して輪郭強調処理部２０３に出力する。また輝度・色信号生成部２０２は、入力されたＲＧＢ信号を色変換処理部２０５に出力する。
【００２０】
輪郭強調処理部２０３は、入力されたＹ信号に対して輪郭強調処理を行い、輝度ガンマ処理部２０４に出力する。輝度ガンマ処理部２０４は、輪郭強調処理が適用されたＹ信号に対してガンマ補正処理を実行し、補正後のＹ信号をメモリ制御部１０７を介して画像メモリ１０６に出力する。
【００２１】
一方、色変換処理部２０５は、入力されたＲＧＢ信号に対して所定のマトリクス演算を適用し、予め定められたカラーバランスに各色成分の信号レベルを変更する。色変換処理部２０５は、変更後のＲＧＢ信号を色ガンマ処理部２０６及び評価値生成部２０８に出力する。色ガンマ処理部２０６はカラーバランスが変更されたＲＧＢ信号の各色成分についてガンマ補正処理を行い、色差信号生成部２０７に出力する。色差信号生成部２０７は、入力されたＲＧＢ信号に基づき、色差信号Ｒ−Ｙ、Ｂ−Ｙ信号を生成し、メモリ制御部１０７を介して画像メモリ１０６に出力する。
【００２２】
本実施形態のデジタルカメラ１００において記録用の画像データは、輝度・色差信号Ｙ、Ｒ−Ｙ、Ｂ−Ｙの形式で構成されるものとする。即ち、撮影に係る操作が行われた場合には、画像メモリ１０６に格納されたＹ、Ｒ−Ｙ、Ｂ−Ｙ信号が、コーデック部１１０により圧縮符号化され、記録媒体１１２に記録される。
【００２３】
また、評価値取得部２０８は、撮影環境中に実際に存在していた光源（環境光源）による、被写体への当たり方（照射状態）を解析するための情報（評価値）を取得し、出力する。本実施形態のデジタルカメラ１００で行われる後述のリライティング制御処理では、評価値取得部２０８は該評価値として、被写体の平均輝度の情報、及び顔領域の水平・垂直ラインごとの輝度ヒストグラムの情報を取得する。出力された評価値の情報は、例えばシステムメモリ１２２に格納されればよい。
【００２４】
〈リライティング処理部１１４の構成〉
次にリライティング処理部１１４の構成について、図３のブロック図を用いて詳述する。本実施形態のデジタルカメラ１００では、リライティング処理部１１４は、リライティング処理を適用するものとして予め定められたモードが設定されている場合に、画像処理部１０５により生成された輝度・色差信号に対して処理を行うものとして説明する。あるいはリライティング処理部１１４は、記録媒体１１２から読み出されて画像メモリ１０６に展開された輝度・色差信号に対して処理を行うものであってもよい。
【００２５】
ＲＧＢ信号変換部３０１は、入力された輝度・色差信号を所定の色変換処理を適用し、ＲＧＢ信号に変換し、デガンマ処理部３０２に出力する。デガンマ処理部３０２は、入力されたＲＧＢ信号に適用されているガンマ補正に係るガンマ特性に基づき、ガンマ補正による効果を解除するデガンマ処理を実行する。撮像時においては、デガンマ処理部３０２は、ガンマ特性は色ガンマ処理部２０６において適用されたガンマ補正に係るガンマ特性の逆特性を用いて、入力されたＲＧＢ信号をガンマ補正前のリニアな信号に変換する。デガンマ処理部３０２は、デガンマ処理適用後のＲＧＢ信号（Ｒt、Ｇt、Ｂt）を、仮想光源付加処理部３０３及び後述の仮想光源反射成分算出部３１１に出力する。
【００２６】
仮想光源付加処理部３０３は、デガンマ処理部３０２においてデガンマ処理が適用されたＲＧＢ信号に対して、仮想光源による影響を付加するリライティング処理を行う。仮想光源による影響は、仮想光源反射成分算出部３１１により出力された付加用ＲＧＢ信号（Ｒa、Ｇa、Ｂa）を加算することにより行われる。
【００２７】
仮想光源反射成分算出部３１１は、仮想光源を配置することで被写体に生じる影響を、色成分ごとに算出するものである。本実施形態の仮想光源反射成分算出部３１１は、順光または斜光の関係となる位置に仮想光源を配置した場合に生じる影響を算出する。以下、順光／斜光の関係となる位置に仮想光源を配置した場合の処理に係る、仮想光源反射成分算出部３１１における付加用ＲＧＢ信号の生成に係り行われる各ブロックの処理について、説明する。
【００２８】
法線算出部３１０は、撮像に対応して測距センサ１２４により取得された、デジタルカメラ１００と被写体との距離分布を示す被写体距離情報に基づき、被写体についての法線マップを算出する。被写体距離情報に基づき法線マップを生成する手法は、いずれの公知技術が用いられるものであってもよいが、以下、例示的に図４を用いて説明する。
【００２９】
図４は、撮像時のデジタルカメラ１００の光軸と撮像素子の横方向（水平方向）とで形成される面における、デジタルカメラ１００と被写体４０１との位置関係を示している。被写体４０１が図示されるような形状である場合、被写体の領域４０２における法線情報４０３は、撮像画像における該領域４０２の水平方向の差分ΔＨと、被写体距離情報から得られる該領域４０２に係る距離（奥行き）の差分ΔＤとから得られる。より詳しくは、ΔＨ及びΔＤに基づき、領域４０２における勾配情報を算出し、該勾配情報に基づき法線４０３は定義できる。法線算出部３１０は、撮像画像に対応して入力された被写体距離情報から、撮像画像の各画素に対応する法線情報を算出して法線マップを構成し、仮想光源反射成分算出部３１１に出力する。
【００３０】
仮想光源反射成分算出部３１１は、定義する仮想光源の各種パラメータと、被写体に係る、光源との距離Ｋ、法線情報Ｎ、鏡面反射方向Ｓ及び反射率ｋと、に基づき、該仮想光源によって被写体が照明されることによる効果を算出する。即ち、仮想光源反射成分算出部３１１は、仮想光源により被写体が照射されることにより反射し、デジタルカメラ１００に入射する、仮想光源に係る反射成分を算出する。そして仮想光源反射成分算出部３１１は、得られた反射成分の演算結果であるＲＧＢ信号（Ｒa、Ｇa、Ｂa）を仮想光源付加処理部３０３に出力する。
【００３１】
例えば仮想光源として図４に示されるような仮想的な点光源４０４を定義する場合、仮想光源反射成分算出部３１１は、該点光源から放射した光が被写体表面において拡散反射及び鏡面反射された場合について仮想光源に係る反射成分を算出する。なお、図４の例では説明を簡単にするため高さ方向（図４の水平方向と光軸方向（距離）とで構成される面の法線方向）は考慮しないものとして説明するが、算出において３次元ベクトルが考慮されてもよいことは言うまでもない。例えば撮像画像の水平画素位置Ｈ１に存在する被写体で生じる拡散反射成分は、法線マップの対応する位置における法線Ｎ１と、仮想光源から被写体に到達する光束の方向ベクトルＬ１との内積に比例し、仮想光源と被写体との距離Ｋ１の二乗に反比例する値となる。一方、鏡面反射成分はデジタルカメラ１００に入射する寄与度を考慮する必要があるため、法線Ｎ１と方向ベクトルＬ１とで決定される鏡面反射方向Ｓ１と、被写体からデジタルカメラ１００に向かう方向Ｖ１との内積に比例する値となる。従って、仮想光源を定義した場合の被写体における該仮想光源に係る反射成分（Ｒa、Ｇa、Ｂa）は、デガンマ処理適用後のＲＧＢ信号（Ｒt、Ｇt、Ｂt）を用いて
0006700840.tif 000002
と表すことができる。ここで、仮想光源のパラメータは強度αと光源色（色味）の制御値（赤色成分Ｒw及び青色成分Ｂw）により示される。またｋd、ｋsがそれぞれ被写体の拡散反射率、鏡面反射率を示し、Ｌが被写体への方向ベクトル、Ｎが被写体の法線ベクトル、Ｋが光源被写体間の距離、Ｓが鏡面反射方向のベクトル、Ｖが被写体からデジタルカメラ１００に向かう方向ベクトルである。さらに、βは鏡面反射光の拡がりを示す輝き係数であり、βが大きいほど急峻な鏡面反射特性を示すパラメータである。なお、本実施形態のデジタルカメラ１００では、定義する各仮想光源のパラメータ及び該光源が適用された被写体の各種反射率は、後述のパラメータ決定処理で説明するように、撮像画像の解析に基づいて動的に決定するよう制御される。
【００３２】
従って、このようにして得られた反射成分のＲＧＢ信号と、デガンマ処理後のＲＧＢ信号（Ｒt、Ｇt、Ｂt）とを加算し、仮想光源付加処理部３０３はリライティングが実現された出力ＲＧＢ信号を生成する。即ち、出力ＲＧＢ信号の各色成分（Ｒout、Ｇout、Ｂout）は
Ｒout＝Ｒt＋Ｒa
Ｇout＝Ｇt＋Ｇa
Ｂout＝Ｂt＋Ｂa
により得られる。
【００３３】
ガンマ処理部３０４は、仮想光源付加処理部３０３において生成された出力ＲＧＢ信号に対してガンマ補正処理を行う。またガンマ補正が適用された出力ＲＧＢ信号は、輝度色差信号変換部３０５に入力され、輝度・色差信号に変換され出力される。
【００３４】
《パラメータ決定処理》
このような構成をもつ本実施形態のデジタルカメラ１００において、リライティング処理に先行して実行されるパラメータ決定処理について、図５のフローチャートを用いて具体的な処理を説明する。本実施形態ではパラメータ決定処理は、リライティング処理を実行する際のリライティング処理部１１４の各ブロックの動作パラメータを決定するために処理前に行われるものとして説明する。しかしながら、パラメータの設定タイミングはこれに限られるものでなく、本パラメータ決定処理はリライティング処理と並行して実行されるものであってよい。該フローチャートに対応する処理は、システム制御部５０が、例えば不揮発性メモリ１２１に記憶されている対応する処理プログラムを読み出し、システムメモリ１２２に展開して実行することにより実現することができる。本パラメータ決定処理は、例えばリライティング処理を行う撮影モードが設定された状態で撮影指示がなされたことを検出した際に開始されるものとして説明する。
【００３５】
Ｓ５０１で、システム制御部５０は、現在設定されているリライティング処理のモードが、マニュアルで仮想光源パラメータを決定するモードであるか否かを判断する。システム制御部５０は、現在のモードがマニュアルで仮想光源パラメータを決定するモードであると判断した場合は処理をＳ５０４に移し、異なるモードであると判断した場合は処理をＳ５０２に移す。
【００３６】
Ｓ５０２で、システム制御部５０は、撮像画像中の顔領域について評価値取得部２０８により生成された評価値の情報を取得し、環境光源の特性を推定する。具体的にはシステム制御部５０は、評価値の情報に基づき、環境光源の被写体に対する照射方向及び光の拡散度の推定を行う。本ステップにおける推定は、例えば以下のような処理工程を経て実現される。
【００３７】
まずシステム制御部５０は、撮像画像の取得が行われたシーンが逆光シーンであるかを判定する。システム制御部５０は、例えば図６（ａ）に示されるように、撮像時の露出情報に基づいて算出した照度が所定の閾値よりも高く、かつ撮像画像が画像上部領域の輝度が高い分布を示す場合に、逆光シーンであると判定する。一方で、システム制御部５０はこれに該当しない例えば図６（ｂ）のような撮像画像については逆光シーンではないと判定する。なお、逆光シーンの判定は該手法に限定されるものでなく、他のいずれの手法によりなされるものであってもよいことは容易に理解されよう。
【００３８】
次にシステム制御部５０は、環境光源がいずれの方向から照射されているかの推定を行う。該推定は、例えば主被写体である顔領域の輝度分布に基づき行われるものであってよい。図６（ｂ）の例では、顔領域６０１における水平方向の輝度分布（同一垂直座標の顔領域画素の平均輝度値の水平方向における変化、または水平方向の輝度ヒストグラム）が、概して水平座標が増加すれば輝度平均値が低下する態様を示す。従って、システム制御部５０は、環境光源がデジタルカメラ１００から見て左側に存在し、撮像画像右方向に向かい光が照射されているものと推定する。なお、照射方向の推定は、左右いずれの方向からであるかに限らず、さらに垂直方向の輝度分布に基づいて正面から照射されているとの判定も推定結果に含む。
【００３９】
またシステム制御部５０は、環境光源から放射された光の拡散度合い（拡散度）の推定を行う。環境光源による光は、被写体に直射するだけでなく、撮影環境周囲に存在する雲や塵等によって拡散されて入射することもあるため、システム制御部５０はこの拡散度合いを推定する。該推定は、照射方向と同様に顔領域の輝度分布に基づき得られる被写体のコントラスト（輝度最大値と最小値の差）に基づいて行われてよい。具体的にはシステム制御部５０は、コントラストが所定の閾値が高い場合には拡散度の低い、強い光が照射されていると推定し、コントラストが所定の閾値より低い場合には拡散度の高い、柔らかい光が照射されていると推定する。
【００４０】
Ｓ５０３で、システム制御部５０は、推定した環境光源の特性に応じて、仮想光源を定義する位置と、該仮想光源により照射された場合の被写体の各種反射率とを決定する。本ステップにおける決定は、例えば図７に示されるように、環境光の拡散度と照射方向との組み合わせに応じて予め定められた決定基準に従い行われるものであってよい。
【００４１】
例えば図８（ａ）は、被写体に対して、斜方（左または右方向）から拡散度の低い光が照射されている（所謂斜光の関係）と環境光源の特性が推定されたケースを示している。この場合、図９（ａ）に示されるように被写体には強い（コントラストの高い）陰影が生じることになるため、システム制御部５０は該陰影を和らげるよう、図８（ａ）に示されるような環境光源とは左右方向において対称的な位置８０１に仮想光源を定義する。また、陰影を弱めることが目的となるので、仮想光源により照射された場合の被写体の反射率は、拡散反射率ｋd＝１．０、鏡面反射率ｋs＝０．０と、拡散反射のみが生じるよう決定される。従って、定義された仮想光源によるリライティング処理が行われた場合には、例えば図９（ｂ）に示されるように被写体に生じていた陰影が弱められた結果画像が得られる。
【００４２】
また例えば図８（ｂ）は、被写体に対して、斜方から拡散度の高い光が照射されている（斜光の関係）と環境光源の特性が推定されたケースを示している。この場合、拡散度が高く、図９（ｃ）に示されるように被写体にコントラストの高い陰影は生じないため、システム制御部５０は立体感（凹凸感）を示すよう、図８（ｂ）に示されるような環境光源と同様に斜方から照射する位置８０２に仮想光源を定義する。位置８０２は、コントラストの低い陰影に対してツヤや光沢を加え、違和感のない立体感を実現するために、環境光源と同一方向から被写体を照射するよう決定される。またツヤや光沢を表現するため、仮想光源により照射された場合の被写体の反射率は、拡散反射率ｋd＝０．０、鏡面反射率ｋs＝０．５と、鏡面反射のみが生じるよう決定される。さらに鏡面反射の輝き係数β＝１０．０とし、比較的急峻な反射表現を付す。従って、定義された仮想光源によるリライティング処理が行われた場合には、例えば図９（ｄ）に示されるように被写体に対して付加的な反射表現が与えられ、立体感が強調される。
【００４３】
例えば図８（ｃ）は、被写体に対して、正面から拡散度の低い光が照射されている（所謂順光の関係）と環境光源の特性が推定されたケースを示している。この場合、撮像画像では図９（ｅ）のように被写体の正面には陰影が生じず平坦な印象を示すが、鼻や顎等の一部の部位に陰影が強く現れる。故に、システム制御部５０は、部分的に生じた強い陰影を和らげつつ、立体感を与えるよう、図８（ｃ）に示されるようなる斜方の位置８０３に仮想光源を定義する。また陰影の低減と立体感の付加を目的とするため、仮想光源により照射された場合の被写体の反射率は、拡散反射率ｋd＝０．５、鏡面反射率ｋs＝０．８と、２種類の反射特性を示すよう決定される。さらに鏡面反射の輝き係数β＝１０．０とし、比較的急峻な反射表現を実現する。従って、定義された仮想光源によるリライティング処理が行われた場合には、例えば図９（ｆ）に示されるように被写体に部分的に生じていた陰影が弱められ、一方で顔領域の全体に対して立体的な印象を与える反射表現が与えられる。
【００４４】
また例えば図８（ｄ）は、環境光源が逆光の関係にあると推定されたケースを示している。この場合、被写体の正面に環境光が照射されておらず、図９（ｇ）に示されるように被写体が暗く、かつコントラストが低く平坦な印象の撮像画像となる。故に、システム制御部５０は、被写体の明度を上げるための仮想光源を位置８０４に定義し、立体感を与えるための仮想光源を位置８０５に定義する。また立体感を与えるための仮想光源の定義する位置は、逆光シーンに不自然な照明効果が現れないよう、例えば被写体の側方等、深度方向において被写体の深度と同等と判断できる位置に決定される。図８（ｄ）に示されるように、これらの用途の異なる２種類の光源を水平方向のいずれの位置に定義するかは、環境光源の照射方向に応じて決定される。より詳しくは、システム制御部５０は、推定した環境光源に係る照射方向の水平成分の正負が同一となるよう、仮想光源を定義する水平方向位置を決定する。また仮想光源の各々は用途が異なるため、それぞれの光源により照射された場合の被写体の反射率には別々の値が用いられる。即ち、明度を上げるための仮想光源（位置８０４）により照射された場合の反射率は、拡散反射率ｋd＝１．０、鏡面反射率ｋs＝０．０と、拡散反射のみ生じるよう決定される。また立体感を与えるための仮想光源（位置８０５）により照射された場合の反射率は、拡散反射率ｋd＝０．０、鏡面反射率ｋs＝１．０と、鏡面反射のみ生じるよう決定される。さらに鏡面反射の輝き係数β＝５．０とし、逆光シーンにおいて不自然とならぬよう、比較的穏やかなハイライトを与える反射表現を実現する。従って、定義された仮想光源によるリライティング処理が行われた場合には、例えば図９（ｈ）に示されるように被写体に対して付加的な反射表現が与えられ、明度の上昇と立体感の強調の双方が実現される。
【００４５】
またＳ５０１においてマニュアルで仮想光源パラメータを決定するモードであると判断した場合、システム制御部５０はＳ５０４で、ユーザによる操作入力に基づき、仮想光源を定義する位置、及び該光源により照射された場合の被写体の各種反射率を決定する。決定の後、システム制御部５０は処理をＳ５０５に移す。
【００４６】
Ｓ５０５で、システム制御部５０は決定した仮想光源に係る各種パラメータの情報を仮想光源反射成分算出部３１１に供給し、リライティング処理において用いるよう設定させ、本パラメータ決定処理を完了する。
【００４７】
なお、本実施形態では、仮想光源に対する被写体の反射モデルとして、拡散反射と鏡面反射を例に説明したが反射モデルをこれに限定されるものではなく、いずれの方式を用いる構成であってもよい。例えば、ＢＲＤＦ（双方向反射率分布関数）を用いたものや、被写体内部での内部散乱をシミュレートした反射モデル等を用い、その反射特性のパラメータを環境光の当たり方に基づき制御する構成としてもよい。
【００４８】
また、本実施形態では、被写体に照射される環境光源の特性として環境光源の照射方向と拡散度を推定する方式について説明したが、例えば、環境光源の種類や位置等、被写体への照射態様を特定する情報であれば、いずれを用いるものであってもよい。
【００４９】
また、本実施形態では、仮想光源により照射された場合の反射率は、仮想光源ごとに定義され、被写体に種別によらず一定であるものとして説明したが、これに限られるものではない。例えば被写体の種別（人物の肌、髪の毛、衣服等）に応じてそれぞれ基準となる反射率を予め格納しておき、推定した環境光源の特性に応じて、基準となる反射率を補正した値を被写体毎の反射率として設定する態様であってもよい。このようにすることで、例えば被写体のうちの鏡面反射させたくない部分等において鏡面反射成分の強さを低減する等の調整が可能となり、より好適なリライティング結果を得ることができる。
【００５０】
以上説明したように、本実施形態の画像処理装置によれば、推定した撮像環境の環境光源の特性に基づき、照明された際の反射特性を定めた仮想光源を定義することで、好適な照明効果を付加した画像を生成することができる。
【００５１】
［実施形態２］
上述した実施形態では、定義する仮想光源の位置及び該光源により照明された場合の被写体の反射特性を決定するために、撮像画像における明るさ分布から推定した環境光源の特性用いるものとして説明した。本実施形態では被写体の種類、明るさ、撮影シーン等に基づき、より撮影者が所望するであろうリライティング結果を得られるよう仮想光源に係る各種パラメータを決定する態様について説明する。なお、本実施形態のデジタルカメラ１００の機能構成は、実施形態１で示したデジタルカメラ１００と同様の機能構成を有するものとし、説明を省略する。
【００５２】
《パラメータ決定処理》
以下、本実施形態のデジタルカメラ１００において、リライティング処理に先行して実行されるパラメータ決定処理について、図１０のフローチャートを用いて具体的な処理を説明する。本実施形態のパラメータ決定処理も同様に、リライティング処理を実行する際のリライティング処理部１１４の各ブロックの動作パラメータを決定するために処理前に行われるものとして説明する。しかしながら、パラメータの設定タイミングはこれに限られるものでなく、本パラメータ決定処理はリライティング処理と並行して実行されるものであってよい。該フローチャートに対応する処理は、システム制御部５０が、例えば不揮発性メモリ１２１に記憶されている対応する処理プログラムを読み出し、システムメモリ１２２に展開して実行することにより実現することができる。本パラメータ決定処理は、例えばリライティング処理を行う撮影モードが設定された状態で撮影指示がなされたことを検出した際に開始されるものとして説明する。
【００５３】
本実施形態のパラメータ決定処理では、被写体の種類や撮影シーンを特定するため、撮像画像取得時に設定されていた撮影モードの情報を用いる。以下の処理においては被写体の種類を特定しやすい例として、図１１に示すような被写体の種類が明確なポートレートモード、料理（撮影）モード、花・植物モードを用いて説明するが、その他の撮影モードの使用を制限するものではない。その他の撮影モードについては、被写体の特性を考慮して、あるいは画像編集者の好みを反映させて、仮想光源に係る各種パラメータの決定が可能なように処理すればよい。例えば逆光ポートレートモード、有形ポートレートモード等では、環境光源の照射方向や主被写体の種類を特定できるため、下記処理において仮想光源に係る各種パラメータにあたり考慮することが可能である。
【００５４】
Ｓ１００１で、システム制御部５０は、撮像画像について評価値取得部２０８により生成された被写体の情報を取得し、該情報に基づき主被写体領域を決定する。主被写体領域の決定は、例えば顔検出部１１３により検出された人物領域を主被写体領域とする方式、撮像画像の中央周辺で合焦している被写体と同じ色味の領域を主被写体領域とする方式等、いずれの方式が用いられるものであってよい。またシステム制御部５０は、決定した主被写体領域について領域内の平均明るさの情報を算出する。
【００５５】
Ｓ１００２で、システム制御部５０は、撮像画像の取得時に設定されていた撮影モードを示す情報を取得し、該撮影モードを示す情報と主被写体領域の明るさとに基づき、リライティング処理で用いる仮想光源に係る各種パラメータを決定する。即ち、実施形態１と同様、システム制御部５０は定義する仮想光源の位置、及び該光源により照明された場合の被写体の反射率を決定する。本ステップにおける決定は、例えば図１１に示されるように、設定されていた撮影モードと主被写体領域の明るさとの組み合わせに応じて予め定められた決定基準に従い行われるものであってよい。
【００５６】
図１２（ａ）には、撮影モードがポートレートであり、主被写体領域である人物領域の平均明るさが所定の閾値よりも低く、暗いと判断されたケースを例示している。このようなケースでは、主被写体領域を明るくするための仮想光源１２０１を、斜方から主被写体照射するよう、主被写体斜め前方（手前：深度方向で主被写体よりも浅い）の位置に定義する。また該仮想光源１２０１により照射された場合の被写体の反射率は、拡散反射率ｋd＝１．０、鏡面反射率ｋs＝０．０とし、拡散反射のみの光とする。また拡散反射光だけでは立体感が乏しくなるため、立体感を与えるための仮想光源１２０２を主被写体の側方から照射するよう定義する。仮想光源１２０２により照射された場合の被写体の反射率は、拡散反射率ｋd＝０．０、鏡面反射率ｋs＝０．５とし、鏡面反射のみの光とする。また、鏡面反射の輝き係数βは５．０として、柔らかなハイライトで立体感を出す。これにより、逆光シーンの判定をすることなく、図９（ｈ）に示したようなリライティング結果が得られるパラメータを決定することができる。
【００５７】
なお、撮影モードがポートレートモードであるが、主被写体領域である人物領域の平均明るさが所定の閾値よりも高く、明るいと判断されたケースについては、立体感を与えるための仮想光源のみ定義する。例えば図１２（ａ）に示した鏡面反射用の仮想光源１２０２のみ定義すればよい。
【００５８】
図１２（ｂ）には、撮影モードが料理モードであり、主被写体である料理の画像領域の平均明るさが所定の閾値よりも低く、暗いと判断されたケースを例示している。このようなケースでは、主被写体領域を明るくするための仮想光源１２０３を、上方から主被写体を照射するよう、主被写体上空に定義する。また該仮想光源１２０３により照射された場合の被写体の反射率は、拡散反射率ｋd＝１．０、鏡面反射率ｋs＝０．０とし、拡散反射のみの光とする。また、料理のツヤや立体感を与えるための仮想光源１２０４を、鏡面反射の影響が現れやすいよう、主被写体の斜め後方（奥：深度方向で主被写体よりも深い）の位置に定義する。仮想光源１２０４により照射された場合の被写体の反射率は、拡散反射率ｋd＝０．２、鏡面反射率ｋs＝１．０とし、鏡面反射が主体の光とする。また、鏡面反射の輝き係数βは２０．０として、比較的急峻なハイライトで立体感を出す。
【００５９】
なお、撮影モードが料理モードであるが、主被写体である料理の画像領域の平均明るさが所定の閾値よりも高く、明るいと判断されたケースについては、ツヤや立体感を与えるための仮想光源のみ定義する。例えば図１２（ｂ）に示した同用途の仮想光源１２０４のみ定義すればよい。
【００６０】
また図１２（ｃ）には、撮影モードが花・植物モードであり、主被写体である花の画像領域の平均明るさが所定の閾値よりも低く、暗いと判断されたケースを例示している。このようなケースでは、主被写体領域明るくするための仮想光源１２０５を、斜方から主被写体を照射するよう、主被写体の斜め前方の位置に定義する。仮想光源１２０５により照射された場合の被写体の反射率は、拡散反射率ｋd＝１．０、鏡面反射率ｋs＝０．２とし、拡散反射が主体の光とする。花・植物モードの場合は、ツヤが目立つよう仮想光源を定義してしまえば、リライティング結果がかえって不自然な印象を与える画像となり得るため、鏡面反射の輝き係数βは３．０として、ゆるやかなハイライトを作る。また、同様の理由から主として鏡面反射成分を生じさせるための仮想光源は花・植物モードでは定義しない。
【００６１】
なお、撮影モードが花・植物モードであるが、主被写体である草木の画像領域の平均明るさが所定の閾値よりも高く、明るいと判断されたケースについては、仮想光源によるリライティング処理は不要であるため、いずれの仮想光源の定義も行わない。即ち、リライティング処理が実行されない、あるいは仮想光源反射成分算出部３１１の処理が行われないよう、制御が行われる。
【００６２】
Ｓ１００４で、システム制御部５０は決定した仮想光源に係る各種パラメータの情報を仮想光源反射成分算出部３１１に供給し、リライティング処理において用いるよう設定させ、本パラメータ決定処理を完了する。
【００６３】
なお、本実施形態では撮影モードと主被写体領域の平均明るさに基づいて、仮想光源に係る各種パラメータを決定するものとして説明したが、撮影モードと組み合わせて判断する事項は、平均明るさに限られるものではない。例えば、上記実施形態１において用いた環境光源の照射方向の情報を組み合わせて各種パラメータを決定する構成としてもよいし、また撮影モードのみに基づいて仮想光源に係る各種パラメータを決定する構成としてもよい。
【００６４】
［実施形態３］
実施形態１において一部言及したが、例えば人物であっても、肌、髪の毛、衣服等の被写体の種別によってその実際の反射特性が異なるため、定義する仮想光源により照射された場合の被写体の反射率は種別ごとに異なることが好ましい。一方で、例えば人物の顔のパーツの各々は、例えば目については瞳に光を映り込ませる所謂キャッチライト、口については唇にツヤを生じさせる光、鼻については鼻筋の立体感を強調させる光等、好適とされる効果を与える照射方向等の条件は異なる。本実施形態では、識別した被写体の種別ごとに照射条件や被写体の反射率が異なるよう仮想光源を定義し、リライティング結果を得る態様について説明する。なお、本実施形態のデジタルカメラ１００の機能構成も、実施形態１で示したデジタルカメラ１００と同様の機能構成を有するものとして説明は省略する。
【００６５】
《パラメータ決定処理》
以下、本実施形態のデジタルカメラ１００において、リライティング処理に先行して実行されるパラメータ決定処理について、図１３のフローチャートを用いて具体的な処理を説明する。本実施形態のパラメータ決定処理も同様に、リライティング処理を実行する際のリライティング処理部１１４の各ブロックの動作パラメータを決定するために処理前に行われるものとして説明する。しかしながら、パラメータの設定タイミングはこれに限られるものでなく、本パラメータ決定処理はリライティング処理と並行して実行されるものであってよい。該フローチャートに対応する処理は、システム制御部５０が、例えば不揮発性メモリ１２１に記憶されている対応する処理プログラムを読み出し、システムメモリ１２２に展開して実行することにより実現することができる。本パラメータ決定処理は、例えばリライティング処理を行う撮影モードが設定された状態で撮影指示がなされたことを検出した際に開始されるものとして説明する。
【００６６】
Ｓ１３０１で、システム制御部５０は、撮像画像中の顔領域に係る顔検出部１１３の検出結果の情報を取得し、顔領域中の予め定められた被写体種別の領域を特定する。具体的にはシステム制御部５０は検出結果に基づき、顔領域の位置、及び該顔領域中の目、口、鼻の各々に対応する領域の位置を特定する。
【００６７】
Ｓ１３０２で、システム制御部５０は、Ｓ１３０１において位置を特定した各領域について、該領域の被写体種別に応じた仮想光源に係る各種パラメータを決定する。即ち、システム制御部５０は、顔領域を含む主被写体領域に含まれるパーツ（目、口、鼻、その他の領域）のそれぞれについて、リライティング処理にて照明効果を与える仮想光源に係る各種パラメータを決定する。
【００６８】
システム制御部５０は、例えば鼻領域について、鼻筋の立体感を強調するよう、図１４（ａ）に示されるように顔の正面方向からやや側方にずれた位置（斜方）から鼻領域を照射する仮想光源１４０１を定義する。また鼻筋の立体感を強調するため、仮想光源１４０１により照射された場合の鼻領域の反射率は、拡散反射率ｋd＝０．０、鏡面反射率ｋs＝０．８とし、鏡面反射のみの光とする。また、鏡面反射の輝き係数βは１０．０として、比較的急峻なハイライトで立体感を出す。
【００６９】
システム制御部５０は、例えば口領域について、唇のツヤ感を強調するよう、図１４（ａ）に示されるように口の側方近傍から斜光の関係で口領域を照射する仮想光源１４０２を定義する。また唇のツヤ感を強調するため、仮想光源１４０２により照射された場合の口領域の反射率は、拡散反射率ｋd＝０．０、鏡面反射率ｋs＝１．０とし、鏡面反射のみの光とする。また、鏡面反射の輝き係数βは３０．０として、急峻なハイライトを作り唇のツヤを出す。
【００７０】
システム制御部５０は、例えば目領域について、瞳の映り込みを生じさせて目の輝き感を提示するよう、図１４（ａ）に示されるように顔の正面方向から下方にずれた位置から目領域を照射する仮想光源１４０３を定義する。また目の輝き感を出すため、仮想光源１５０３により照射された場合の目領域の反射率は、拡散反射率ｋd＝０．０、鏡面反射率ｋs＝１．０とし、鏡面反射のみの光とする。また、鏡面反射の輝き係数βは５０．０として、急峻なハイライトを作りキャッチライトの効果を出す。
【００７１】
システム制御部５０は、例えばその他の領域について、図１４（ａ）に示されるように斜方から主被写体領域を照射する仮想光源１４０４を定義する。また仮想光源１４０４により照査された場合のその他の領域の反射率は、拡散反射率ｋd＝０．２、鏡面反射率ｋs＝０．８とし、鏡面反射を主体とする光とする。また、鏡面反射の輝き係数βは５．０として、ゆるやかなハイライトを作り全体的な立体感を出す。
【００７２】
Ｓ１３０３で、システム制御部５０は決定した仮想光源に係る各種パラメータの情報を仮想光源反射成分算出部３１１に供給し、リライティング処理において用いるよう設定させ、本パラメータ決定処理を完了する。このとき、特定の領域について定義された仮想光源については、他の領域に対する照明効果が生じないよう、仮想光源反射成分算出部３１１には対象でない領域については両反射率が０．０となるよう制御させる。このようにすることで、図１４（ｂ）に示されるように、被写体の部位ごとに好適とされる効果を与えたリライティング結果を得ることができる。
【００７３】
なお、本実施形態では、人物の顔領域のうちから目、鼻、口の領域の各々について、その他の領域とは異なる仮想光源に係る各種パラメータを決定するものとして説明したが、本発明の実施はこれに限られるものではない。例えば、照明効果を与える仮想光源を異ならせる分類は、人物の特定の部位であるか否かに限らず、物体、動物、料理等の特定の種別の被写体であるか否かに応じて決定されるものであってもよい。故に、本実施形態に係る発明は、主被写体領域に対してリライティング処理を行う場合に、該領域内に含まれる異なる種別の複数の被写体の各々について、各種パラメータの異なる仮想光源を定義するものであれば適用可能である。
【００７４】
上述した実施形態２及び３では、仮想光源により照射された場合の被写体の反射特性を、基本的には環境光源の照射態様に基づき、さらに撮影に用いられた撮影モードや被写体の種別を考慮して決定することについて説明した。しかしながら、本発明の実施において、反射特性の決定に係り環境光源の照射態様は必ずしも考慮される必要はなく、撮影に用いられた撮影モードまたは被写体の種別に基づき決定されるものであってもよい。
【００７５】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７６】
１００：デジタルカメラ、１０３：撮像部、１０５：画像処理部、１１３：顔検出部、１１４：リライティング処理部、５０：システム制御部、１２０：操作部、１２４：測距センサ、２０８：評価値生成部、３０４：仮想光源付加処理部、３１０：法線算出部、３１１：仮想光源反射成分算出部
【図１】
0006700840.tif 000003
【図２】
0006700840.tif 000004
【図３】
0006700840.tif 000005
【図４】
0006700840.tif 000006
【図５】
0006700840.tif 000007
【図６】
0006700840.tif 000008
【図７】
0006700840.tif 000009
【図８】
0006700840.tif 000010
【図９】
0006700840.tif 000011
【図１０】
0006700840.tif 000012
【図１１】
0006700840.tif 000013
【図１２】
0006700840.tif 000014
【図１３】
0006700840.tif 000015
【図１４】
0006700840.tif 000016