(57)【特許請求の範囲】
【請求項１】
撮像により得られた画像を取得する取得手段と、
前記取得手段により取得された画像に含まれる被写体について、撮像時に存在しなかった仮想光源による影響を演算する演算手段と、
前記演算手段による演算結果に基づき、前記被写体に前記仮想光源による影響を付加した画像を出力する出力手段とを有し、
前記演算手段は、
前記仮想光源を定義する位置を決定する決定手段と、
前記取得された画像に含まれる被写体領域を特定する特定手段と、
前記決定手段により逆光の関係となる位置に前記仮想光源を定義する位置が決定される場合に、
前記特定手段により特定された被写体領域の形状に基づいて、前記仮想光源による透過光の発生率を決定する第１の決定手段と、
前記仮想光源を定義する位置と前記被写体領域との位置に基づいて、前記仮想光源による反射光の発生率を決定する第２の決定手段と、
前記第１の決定手段により決定された前記透過光の発生率と前記第２の決定手段により決定された前記反射光の発生率とに基づいて、前記仮想光源による影響を演算する処理手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
前記透過光の発生率は、前記被写体領域の境界から離れるほど減衰するよう決定されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記透過光の発生率は、前記被写体領域に対応する被写体の種類、材質及び反射特性の少なくともいずれかを考慮して決定されることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記反射光の発生率は、前記仮想光源を定義する位置から前記被写体領域までの光の入射角が直角に近いほど高くなるよう決定されることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記反射光の発生率は、前記被写体領域の境界における仮想光源からの光束の入射角に応じて決定されることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記演算手段は、前記被写体領域に対応する被写体の立体的形状を推定する推定手段をさらに含み、
前記反射光の発生率は、前記被写体領域の画素について、前記仮想光源を定義する位置から該画素に向かうベクトルと、該画素について推定された立体的形状の法線ベクトルとに基づいて決定される
ことを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記取得された画像を撮像した環境が逆光シーンであるか否かを判断する判断手段をさらに有し、
前記演算手段は、前記判断手段により前記撮像した環境が逆光シーンであると判断された場合に、前記第１の決定手段、前記第２の決定手段、及び前記処理手段に係る演算を実行する
ことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
撮像により画像を生成する撮像手段と、
前記撮像手段により生成された画像を取得し、仮想光源による影響を付加した画像を出力する請求項１乃至７のいずれか１項に記載の画像処理装置と、を有する
ことを特徴とする撮像装置。
【請求項９】
撮像により得られた画像を取得する取得工程と、
前記取得工程において取得された画像に含まれる被写体について、撮像時に存在しなかった仮想光源による影響を演算する演算工程と、
前記演算工程における演算結果に基づき、前記被写体に前記仮想光源による影響を付加した画像を出力する出力工程とを有し、
前記演算工程は、
前記仮想光源を定義する位置を決定する決定工程と、
前記取得された画像に含まれる被写体領域を特定する特定工程と、
前記決定工程において逆光の関係となる位置に前記仮想光源を定義する位置が決定される場合に、
前記特定工程において特定された被写体領域の形状に基づいて、前記仮想光源による透過光の発生率を決定する第１の決定工程と、
前記仮想光源を定義する位置と前記被写体領域との位置に基づいて、前記仮想光源による反射光の発生率を決定する第２の決定工程と、
前記第１の決定工程において決定された前記透過光の発生率と前記第２の決定工程において決定された前記反射光の発生率とに基づいて、前記仮想光源による影響を演算する処理工程と、
を含むことを特徴とする画像処理装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至７のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、制御方法及びプログラムに関し、特に撮像後に追加的に定義された仮想光源による照明効果を画像に付加する画像処理技術に関する。
【背景技術】
【０００２】
撮影後に得られた画像について、撮影環境には存在しなかった仮想的な光源による照明効果を付加し、被写体に生じた陰影を低減させる技術がある。特許文献１に記載の技術では、画像中の顔領域を検出し、該顔領域に対して定義した仮想光源による明度の調整を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３５９９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１のような明度を上げることで陰影を低減する画像処理では、画像の撮影環境において順光または斜光の関係となるように仮想光源を定義している。一方で、撮影環境は必ずしも順光や斜光ではなく、撮影者によっては逆光特有の表現を所望して撮影を行うこともあり、特許文献１のような画像処理を行うことで、所望の表現が得られない可能性があった。即ち、逆光シーンにおける、被写体の周囲において背後からの光が抜けてくる透過光や、被写体の斜め背後から当たったことにより稜線付近で生じる反射光に係る照明効果は表現されるものでなかった。
【０００５】
本発明は、上述の問題点に鑑みてなされたものであり、撮像後に逆光特有の表現を好適に実現した画像を生成する画像処理装置、撮像装置、制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前述の目的を達成するために、本発明の画像処理装置は、撮像により得られた画像を取得する取得手段と、取得手段により取得された画像に含まれる被写体について、撮像時に存在しなかった仮想光源による影響を演算する演算手段と、演算手段による演算結果に基づき、被写体に仮想光源による影響を付加した画像を出力する出力手段とを有し、演算手段は、仮想光源を定義する位置を決定する決定手段と、取得された画像に含まれる被写体領域を特定する特定手段と、決定手段により逆光の関係となる位置に仮想光源を定義する位置が決定される場合に、特定手段により特定された被写体領域の形状に基づいて、仮想光源による透過光の発生率を決定する第１の決定手段と、仮想光源を定義する位置と被写体領域との位置に基づいて、仮想光源による反射光の発生率を決定する第２の決定手段と、第１の決定手段により決定された透過光の発生率と第２の決定手段により決定された反射光の発生率とに基づいて、仮想光源による影響を演算する処理手段と、を含むことを特徴とする。
【発明の効果】
【０００７】
このような構成により本発明によれば、撮像後に逆光特有の表現を好適に実現した画像を生成することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るデジタルカメラ１００の機能構成を示したブロック図
【図２】本発明の実施形態に係る画像処理部１０５の詳細構成を示したブロック図
【図３】本発明の実施形態に係るリライティング処理部１１４の詳細構成を示したブロック図
【図４】本発明の実施形態に係る輪郭距離重みの決定に係る処理を説明するための図
【図５】本発明の実施形態に係る輪郭距離重みの決定に係る処理を説明するための別の図
【図６】本発明の実施形態に係る光源角度重みの決定に係る処理を説明するための図
【図７】本発明の実施形態に係る光源角度重みを例示した図
【図８】本発明の実施形態に係る総合重みを例示した図
【図９】本発明の実施形態のデジタルカメラ１００で実行されるリライティング制御処理を例示したフローチャート
【図１０】本発明の実施形態に係るシーン識別を説明するための図
【図１１】輪郭が形成する方向を考慮した、輪郭距離重みの決定に係る処理を説明するための図
【図１２】本発明の実施形態２に係る光源角度重みを補正する処理を説明するための図
【発明を実施するための形態】
【０００９】
［実施形態１］
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、画像処理装置の一例としての、仮想光源による照明効果を付加するリライティング処理を実行可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明の実施において撮像機能は必須の構成ではなく、画像信号に対して追加的な仮想光源による照明効果を付加する種々の処理が実行可能な任意の機器に適用可能である。また、本明細書において、「リライティング処理」とは、撮像により得られた画像信号に対し、撮影環境には実際に存在しなかった仮想光源を追加的に定義し、該仮想光源による照明効果を付加する処理を言うものとして説明する。
【００１０】
《デジタルカメラ１００の構成》
図１は、本発明の実施形態に係るデジタルカメラ１００の機能構成を示すブロック図である。
【００１１】
レンズ群１０１は、ズームレンズ、フォーカスレンズを含む撮像光学系であり、撮影環境の被写体の反射光束や光源からの光束を撮像部１０３に導く。導かれた光束は、絞り機能を備えるシャッター１０２により光量制御され、撮像部１０３によりアナログ画像信号に変換される。撮像部１０３は、例えばＣＣＤやＣＭＯＳセンサ等の撮像装置であり、撮像部１０３により撮像面に結像された光学像を光電変換し、アナログ画像信号を出力する。撮像部１０３により出力されたアナログ画像信号はＡ／Ｄ変換器１０４によりデジタル画像信号（画像データ）に変換され、画像処理部１０５においてホワイトバランス処理や、ガンマ補正処理、輪郭強調処理、色補正処理等の各種画像処理が適用される。また顔検出部１１３は、入力された画像データに含まれる人物の顔領域を検出する顔検出処理を実行し、検出結果を出力する。リライティング処理部１１４は、入力された画像データに対して、仮想光源による照明効果を付加するリライティング処理を適用する。画像に係る各種の処理においては、画像メモリ１０６が作業領域やデータ格納領域として利用可能に設けられ、画像メモリ１０６への書き込み／読み出し等のアクセスに係る全般の動作はメモリ制御部１０７により制御される。
【００１２】
画像処理部１０５及びリライティング処理部１１４それぞれの詳細については、別図を用いて後述する。なお、本実施形態のデジタルカメラ１００では各種の画像処理を、画像処理部１０５、顔検出部１１３及びリライティング処理部１１４に分離して構成するものとして説明する。しかしながら、本発明の実施において、これらの画像処理が１以上の任意の数の処理回路で構成されてもよいことは容易に理解されよう。
【００１３】
撮像により得られ、各種の画像処理や重畳処理が適用された画像データは、Ｄ／Ａ変換器１０８において変換されることで表示用のアナログ画像信号となる。表示用のアナログ画像信号が例えばＬＣＤ等の表示部１０９に表示されることで、電子ビューファインダに係る機能が撮影者に提供される。また撮影動作に係り取得された画像データを記録（保存）する場合には、コーデック部１１０が予め定められた圧縮・符号化形式で記録用データに変換し、該データがＩ／Ｆ１１１を介して内蔵メモリやメモリカード等の記録装置である記録媒体１１２に記録される。また記録媒体１１２に記録された画像データを表示する場合には、コーデック部１１０は該データの復号を行う。
【００１４】
システム制御部５０は、例えばＣＰＵ等の演算装置であり、デジタルカメラ１００が有する各ブロックの動作を制御する。より詳しくはシステム制御部５０は、不揮発性メモリ１２１に記憶されている各ブロックの動作プログラムを読み出し、システムメモリ１２２に展開して実行することにより、各ブロックの動作を制御する。不揮発性メモリ１２１は、例えばＥＥＰＲＯＭ等の不揮発性の記憶装置である。不揮発性メモリ１２１は、各ブロックの動作プログラムに限らず、各ブロックの動作において必要となる各種パラメータ等を記憶する。システムメモリ１２２は、書き換え可能に構成された揮発性メモリであってよく、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を一時的に保持する格納領域としても用いられる。
【００１５】
また、顔検出部１１３による顔検出結果や撮像により得られた画像データを用いて画像処理部１０５が行った所定の評価値に基づき、システム制御部５０は撮像に係る露光制御、測距制御（レンズ群１０１、シャッター１０２、撮像部１０３の状態制御）を行う。これにより、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理等が実現される。
【００１６】
デジタルカメラ１００はこの他、撮影時の実際の光源として機能するストロボ１２３、デジタルカメラ１００と被写体との距離を計測する測距センサ１２４、各種の操作入力を検出するユーザインタフェースである操作部１２０を有する。操作部１２０は、操作入力がなされたことを検出した場合、対応する制御信号をシステム制御部５０に出力する。
【００１７】
本実施形態ではハードウェアとしてデジタルカメラ１００が備える各ブロックに対応した回路やプロセッサにより処理が実現されるものとして説明する。しかしながら、本発明の実施はこれに限られるものではなく、各ブロックの処理が該各ブロックと同様の処理を行うプログラムにより実現されるものであってもよい。
【００１８】
〈画像処理部１０５の構成〉
次に、画像処理部１０５の構成について、図２のブロック図を用いて詳述する。なお、本実施形態のデジタルカメラ１００において、撮像が行われた場合、画像処理部１０５には各画素がＲ成分、Ｇ成分及びＢ成分のいずれかの成分の信号レベルを示すベイヤー形式のデジタル画像信号が入力されるものとする。
【００１９】
同時化処理部２００は、入力されたベイヤー形式の画像信号に対して同時化処理を実行し、画像信号の各画素について信号レベルが示されない色成分を補間し、Ｒ成分、Ｇ成分及びＢ成分の画像信号（ＲＧＢ信号）を生成する。ＷＢ増幅部２０１は、システム制御部５０により決定されたホワイトバランス（ＷＢ）ゲイン値に基づき、ＲＧＢ信号の色成分ごとに信号レベルを増幅し、ＷＢの調整を行う。また輝度・色信号生成部２０２は、ＷＢ調整がなされたＲＧＢ信号から輝度信号（Ｙ信号）を生成して輪郭強調処理部２０３に出力する。また輝度・色信号生成部２０２は、入力されたＲＧＢ信号を色変換処理部２０５に出力する。
【００２０】
輪郭強調処理部２０３は、入力されたＹ信号に対して輪郭強調処理を行い、輝度ガンマ処理部２０４に出力する。輝度ガンマ処理部２０４は、輪郭強調処理が適用されたＹ信号に対してガンマ補正処理を実行し、補正後のＹ信号をメモリ制御部１０７を介して画像メモリ１０６に出力する。
【００２１】
一方、色変換処理部２０５は、入力されたＲＧＢ信号に対して所定のマトリクス演算を適用し、予め定められたカラーバランスに各色成分の信号レベルを変更する。色変換処理部２０５は、変更後のＲＧＢ信号を色ガンマ処理部２０６及び評価値生成部２０８に出力する。色ガンマ処理部２０６はカラーバランスが変更されたＲＧＢ信号の各色成分についてガンマ補正処理を行い、色差信号生成部２０７に出力する。色差信号生成部２０７は、入力されたＲＧＢ信号に基づき、色差信号Ｒ−Ｙ、Ｂ−Ｙ信号を生成し、メモリ制御部１０７を介して画像メモリ１０６に出力する。
【００２２】
本実施形態のデジタルカメラ１００において記録用の画像データは、輝度・色差信号Ｙ、Ｒ−Ｙ、Ｂ−Ｙの形式で構成されるものとする。即ち、撮影に係る操作が行われた場合には、画像メモリ１０６に格納されたＹ、Ｒ−Ｙ、Ｂ−Ｙ信号が、コーデック部１１０により圧縮符号化され、記録媒体１１２に記録される。
【００２３】
また、評価値生成部２０８は、撮影環境中に実際に存在していた光源（環境光源）の状態の推定に用いる評価値を生成する。本実施形態のデジタルカメラ１００で行われる後述のリライティング制御処理では、環境光源の状態として逆光シーンであるか否かを推定するため、評価値生成部２０８は評価値として輝度、色相、彩度の値の分布を生成する。より詳しくは評価値生成部２０８は、入力されたＲＧＢ信号に係る画像の領域を複数のブロックに分割し、各ブロックに含まれる画素の輝度値、色相値、彩度値に基づき、該ブロックに係るそれぞれの値の代表値を決定する。代表値は、最大値、平均値、ブロック中所定の位置に存在する画素の値、総和値等、種々の値であってよい。評価値生成部２０８は、画像に含まれる複数のブロックに係る代表値群で構成された評価値を出力する。評価値の情報は、例えばシステムメモリ１２２に格納されればよい。
【００２４】
〈リライティング処理部１１４の構成〉
次にリライティング処理部１１４の構成について、図３のブロック図を用いて詳述する。本実施形態のデジタルカメラ１００では、リライティング処理部１１４は、リライティング処理を適用するものとして予め定められたモードが設定されている場合に、画像処理部１０５により生成された輝度・色差信号に対して処理を行うものとして説明する。あるいはリライティング処理部１１４は、記録媒体１１２から読み出されて画像メモリ１０６に展開された輝度・色差信号に対して処理を行うものであってもよい。
【００２５】
ＲＧＢ信号変換部３０１は、入力された輝度・色差信号を所定の色変換処理を適用し、ＲＧＢ信号に変換し、デガンマ処理部３０２に出力する。デガンマ処理部３０２は、入力されたＲＧＢ信号に適用されているガンマ補正に係るガンマ特性に基づき、ガンマ補正による効果を解除するデガンマ処理を実行する。撮像時においては、デガンマ処理部３０２は、ガンマ特性は色ガンマ処理部２０６において適用されたガンマ補正に係るガンマ特性の逆特性を用いて、入力されたＲＧＢ信号をガンマ補正前のリニアな信号に変換する。デガンマ処理部３０２は、デガンマ処理適用後のＲＧＢ信号（Ｒt、Ｇt、Ｂt）を、ゲイン処理部３０３及び後述の仮想光源透過・反射成分算出部３１３に出力する。
【００２６】
ゲイン処理部３０３は、入力されたＲＧＢ信号に対して、係る画像の全体の信号レベルを増幅させるゲイン処理を行う。ゲイン処理は、例えば定義する仮想光源とは無関係に暗部の信号レベルを引き上げるために行われるものであってよい。ゲイン処理部３０３は、ゲイン処理後のＲＧＢ信号（Ｒg、Ｇg、Ｂg）を仮想光源付加処理部３０４に出力する。
【００２７】
仮想光源付加処理部３０４は、ゲイン処理部３０３においてゲイン処理が適用されたＲＧＢ信号に対して、仮想光源による影響を付加するリライティング処理を行う。仮想光源による影響は、仮想光源透過・反射成分算出部３１３により出力された付加用ＲＧＢ信号（Ｒa、Ｇa、Ｂa）を加算することにより行われる。
【００２８】
仮想光源透過・反射成分算出部３１３は、仮想光源を配置することで被写体に生じる影響を、色成分ごとに算出するものである。本実施形態の仮想光源透過・反射成分算出部３１３は、特に逆光の関係となる位置に仮想光源を配置した場合に生じる影響を算出する。以下、逆光の関係となる位置に仮想光源を配置した場合の処理を主として、仮想光源透過・反射成分算出部３１３における付加用ＲＧＢ信号の生成に係り行われる各ブロックの処理について、説明する。
【００２９】
被写体領域抽出部３１０は、ＲＧＢ信号に係る画像中の被写体領域を特定する。本実施形態の被写体領域抽出部３１０では、主被写体である人物を被写体領域（主被写体領域）として特定するものとして説明するが、被写体領域は人物に限らず、種々の被写体が対象であってよい。故に被写体領域抽出部３１０は、顔検出部１１３の検出結果（顔位置情報）及び測距センサ１２４の出力（距離情報）に基づき、画像中の主被写体である人物に係る領域を被写体領域として特定する。
【００３０】
例えば図４（ａ）に示されるように主被写体が中央に配置された構図で撮像された画像について処理を行う場合を説明する。このとき顔位置情報では画像中の人物の顔領域の位置及びサイズが特定されるため、被写体領域抽出部３１０はまず、該顔領域に含まれる被写体についての平均距離（深度）を算出する。顔領域に係る平均距離は、距離情報中の対応する画素の値の平均値として算出される。そして被写体領域抽出部３１０は、該顔領域に係る平均距離を基準に、所定の距離範囲に含まれる画素を被写体領域として特定する。所定の距離範囲は、顔領域を基準に人体に対応する領域を抽出するよう予め定められた深度方向前後の幅の閾値に基づき規定されるものであってよく、手前方向の閾値を平均距離から減算した距離から、奥方向の閾値を平均距離に加算した距離までの範囲となる。被写体領域抽出部３１０は、距離情報に基づき所定の距離範囲に含まれる画素位置を把握し、画像中の被写体領域を特定する。なお、顔領域に基づく被写体領域の特定においては、所定の距離範囲に含まれる画素であっても、顔領域を含む領域に属さない画素は被写体領域から除外されるものであってもよい。このようにすることで、被写体領域抽出部３１０は、特定した被写体領域を示す情報（被写体領域情報）を例えば図４（ｂ）に示されるような二値の画像信号として生成することができる。生成された被写体領域情報は、輪郭距離重み算出部３１１及び光源角度重み算出部３１２に出力される。
【００３１】
輪郭距離重み算出部３１１は、特定された被写体領域について、その端部（輪郭）において重みが最大となり、かつ領域内において端部からの距離に応じて重みが減少する輪郭距離重みＷdを決定する。輪郭距離重みは、被写体に対して逆光の関係に仮想光源がある場合（主被写体背後に仮想光源が配置）において、仮想光源から照射された光束がデジタルカメラ１００方向（手前側）に抜ける確率（透過光の発生率）の高さに応じて定められた重みである。具体的には輪郭距離重み算出部３１１はまず、入力された被写体領域情報である画像信号に対してバンドパスフィルタを適用することで、図４（ｃ）に示されるような周波数の高い部分を抽出した、即ち輪郭部分を示す画像信号（輪郭信号）を生成する。そして輪郭距離重み算出部３１１は、輪郭信号に対して図５（ａ）に示されるような輪郭距離重み算出フィルタを適用し、さらに被写体領域情報との間でＡＮＤ演算を行うことで、輪郭距離重みを示す図４（ｄ）に示される画像信号を得る。図４（ｄ）に示されるように、輪郭距離重みでは被写体領域内において、輪郭に近いほど大きい（白に近い）重みが示される。換言すれば、輪郭距離重み算出部３１１は、被写体領域の境界から離れるほど透過光の発生率が減衰するように、輪郭距離重みを生成する。輪郭距離重み算出部３１１は、得られた輪郭距離重みＷdの情報を仮想光源透過・反射成分算出部３１３に出力する。
【００３２】
一方、光源角度重み算出部３１２は、リライティング処理において定義される仮想光源（点光源）による反射光の発生度合い（発生率）を示す光源角度重みＷaを決定する。光源角度重みは、特定された被写体領域について例えば反射によって明るさの変化を生じさせる度合い等を示すよう定められた重みであり、仮想光源からの光束の入射角に応じて定められる（被写体に対する入射角が小さいほど高い）。
【００３３】
なお、定義される仮想光源の位置や属性（順光／逆光、強度、光源色）の情報（仮想光源情報）は、システム制御部５０により決定され、リライティング処理部１１４に供給される。仮想光源の順光／逆光に係る属性は、例えばユーザの操作入力によりリライティング処理を順光、逆光のいずれの関係にある仮想光源について行うか否かを選択可能に構成されてもよい。また仮想光源が順光、逆光のいずれの関係にあるかをユーザが決定する態様ではなく、距離情報における主被写体の位置と、ユーザの操作入力により決定された仮想光源の位置との関係に応じてシステム制御部５０が該属性の判断を行うものであってもよい。この場合、ユーザが決定する仮想光源の位置は、例えば奥行き距離であってよい。システム制御部５０は、このような仮想光源の設定により得られた情報を基に仮想光源情報を生成し、リライティング処理部１１４に入力する。仮想光源の位置については、後述するように撮影環境中の環境光源の状態に基づきシステム制御部５０が好適であろう位置を決定する構成であってよい。
【００３４】
ここで、光源角度重みの生成例を、順光時と逆光時の双方について説明する。図６（ａ）及び（ｂ）では主被写体６０１と定義する仮想光源６０２との位置関係が示されている。奥行き方向において主被写体６０１よりも手前側に仮想光源６０２が配置される図６（ａ）が順光（斜光）時、主被写体６０１よりも奥側に仮想光源６０２が配置される図６（ｂ）が逆光時を示す。なお、本実施形態の光源角度重み算出部３１２では簡単のため、主被写体６０１は深度方向の長さ（厚み）を有さない、被写体領域形状の平板であるものとして説明する。
【００３５】
図６（ａ）において、仮想光源６０２はデジタルカメラ１００から見て左方向（ｘがデジタルカメラ１００よりも小）に配置されている。従って、主被写体６０１の法線ベクトル（デジタルカメラ１００に向かう側）と、仮想光源６０２から主被写体６０１に入射する光束の入射ベクトルとがなす角θは、（デジタルカメラ１００から見て）主被写体６０１の左右で異なる。光源角度重みは、仮想光源による（反射）寄与度がこれらのベクトルの内積に基づくことから、該なす角θの余弦ｃｏｓθとして算出されればよく、図７（ａ）に示すような重み分布となる。なす角θが直角に近いほど重みが大きくなる。
【００３６】
一方、図６（ｂ）において、仮想光源６０２はデジタルカメラ１００から見て右方向（ｘがデジタルカメラ１００よりも大）に配置されている。従って主被写体６０１の法線ベクトル（デジタルカメラ１００から遠離する側）と、仮想光源６０２からの入射ベクトルとがなす角θは、（デジタルカメラ１００から見て）主被写体６０１の左右で異なる。故に、光源角度重みは図７（ｂ）に示すような重み分布となる。同様に、なす角θが垂直に近いほど重みが大きくなる。
【００３７】
光源角度重み算出部３１２は、このようにして得られた光源角度重みＷaの情報を、仮想光源透過・反射成分算出部３１３に出力する。
【００３８】
仮想光源透過・反射成分算出部３１３は、入力された輪郭距離重みＷdの情報及び光源角度重みＷaの情報に基づき、仮想光源による影響を示す付加用ＲＧＢ信号（Ｒa、Ｇa、Ｂa）を生成する。仮想光源が主被写体の背後に定義される逆光時において、仮想光源透過・反射成分算出部３１３は該光源からの光束が主被写体を透過したことによる影響、または主被写体において反射したことによる影響を示すために、２種類の重みを用いる。まず仮想光源透過・反射成分算出部３１３は、輪郭距離重みＷdと光源角度重みＷaとを画素ごとに乗算し、仮想光源による透過成分及び反射成分に係る総合重みＷt（＝Ｗd×Ｗa）を算出する。なお、順光の関係となる位置に仮想光源が定義される場合は、透過成分は生じないため、輪郭距離重みＷdは全画素に渡って１となり、Ｗt＝Ｗaとなる。例えば、図６（ｂ）に示したような逆光の関係となる位置に仮想光源が定義される場合、図４（ｄ）に示した輪郭距離重みと図７（ｂ）に示した光源角度重みに基づき、図８（ａ）に示されるような総合重みが得られる。
【００３９】
また仮想光源透過・反射成分算出部３１３は、得られた総合重みに基づき、デガンマ処理適用後のＲＧＢ信号（Ｒt、Ｇt、Ｂt）から付加用ＲＧＢ信号（Ｒa、Ｇa、Ｂa）に係る各信号レベルを算出する。付加用ＲＧＢ信号に係る各信号レベルは、仮想光源の強度α（輝度等）、光源色の制御値（赤色成分Ｒw及び青色成分Ｂw）を用い、以下の数式により算出できる。
Ｒa＝α×Ｗt×Ｒw×Ｒt
Ｇa＝α×Ｗt     ×Ｇt
Ｂa＝α×Ｗt×Ｂw×Ｂt
【００４０】
従って、このようにして得られた演算結果である付加用ＲＧＢ信号と、ゲイン処理後のＲＧＢ信号（Ｒg、Ｇg、Ｂg）とを加算し、仮想光源付加処理部３０４はリライティングが実現された出力ＲＧＢ信号を生成する。即ち、出力ＲＧＢ信号の各色成分（Ｒout、Ｇout、Ｂout）は
Ｒout＝Ｒa＋Ｒg
Ｇout＝Ｇa＋Ｇg
Ｂout＝Ｂa＋Ｂg
により得られる。例えば逆光の関係となる位置に仮想光源が配置される場合、出力ＲＧＢ信号は、図４（ａ）に示した画像信号に図８（ａ）に示した付加用ＲＧＢ信号を加算し、図８（ｂ）のように、被写体領域の境界付近における逆光特有の光の透過や反射表現が実現される。
【００４１】
ガンマ処理部３０５は、仮想光源付加処理部３０４において生成された出力ＲＧＢ信号に対してガンマ補正処理を行う。またガンマ補正が適用された出力ＲＧＢ信号は、輝度色差信号変換部３０６に入力され、輝度・色差信号に変換され出力される。
【００４２】
《リライティング制御処理》
このような構成をもつ本実施形態のデジタルカメラ１００において、リライティング処理に先行して実行されるリライティング制御処理について、図９のフローチャートを用いて具体的な処理を説明する。本実施形態ではリライティング制御処理は、リライティング処理を実行する際のリライティング処理部１１４の各ブロックの動作パラメータを決定するために処理前に行われるものとして説明する。しかしながら、パラメータの設定タイミングはこれに限られるものでなく、本リライティング制御処理はリライティング処理と並行して実行されるものであってよい。該フローチャートに対応する処理は、システム制御部５０が、例えば不揮発性メモリ１２１に記憶されている対応する処理プログラムを読み出し、システムメモリ１２２に展開して実行することにより実現することができる。本リライティング制御処理は、例えばリライティング処理を行う撮影モードが設定された状態で撮影指示がなされたことを検出した際に開始されるものとして説明する。
【００４３】
Ｓ９０１で、システム制御部５０は、評価値生成部２０８により生成された評価値に基づき環境光源の状態の推定を行い、対象の画像信号を撮影した撮影環境が逆光シーンと順光シーン（逆光シーン以外のシーン）のいずれであるかを判定する。具体的にはシステム制御部５０は、撮影に用いられた露出情報及び撮影により得られた画像信号に係る輝度信号に基づき照度を算出する。そしてシステム制御部５０は、該照度が所定の閾値よりも高く、かつ画像信号に係る複数のブロックについて得られた評価値が所定の分布である場合に撮影環境が逆光シーンであると判定し、これに該当しない場合に順光シーンであると判定する。
【００４４】
例えば図１０（ａ）のように、画像上部に輝度値（ＥＶ値）が所定の閾値を超えて高輝度に分類されるブロックが所定数を超えて存在する場合には、システム制御部５０は逆光シーンであると判定する。一方、例えば図１０（ｂ）のように、画像上部に高輝度に分類されるブロックが所定数に満たない場合には、逆光シーンではないと判定する。またシステム制御部５０は、明るさの分布から被写体に対して環境光源が照射している方向を特定する。図１０（ａ）の例では、主被写体である人物に対して、デジタルカメラ１００から見て右奥方向から環境光源が照射されているものと特定される。一方、図１０（ｂ）の例では、主被写体である人物に対してデジタルカメラ１００から見て左手前方向から環境光源が照射されているものと特定される。
【００４５】
Ｓ９０２で、システム制御部５０は、実行させるリライティング処理が逆光の関係となる仮想光源について照明効果を付加するものであるか否かを判断する。本ステップの判断は、上述したように、リライティング処理において照明効果を付加する仮想光源に係る操作入力の内容や設定に基づいて行われる。システム制御部５０は、リライティング処理が逆光の関係となる仮想光源についての照明効果を付加するものであると判断した場合は処理をＳ９０３に移す。またシステム制御部５０は、リライティング処理が順光の関係となる仮想光源についての照明効果を付加するものであると判断した場合は処理をＳ９０６に移す。
【００４６】
Ｓ９０３で、システム制御部５０は、Ｓ９０１によるシーン判定結果に基づき、対象の画像信号を撮影した撮影環境が逆光シーンであったか否かを判断する。システム制御部５０は、撮影環境が逆光シーンであると判断した場合は処理をＳ９０４に移し、逆光シーンではないと判断した場合は処理をＳ９０５に移す。
【００４７】
Ｓ９０４で、システム制御部５０は、Ｓ９０１において推定した環境光源の照射方向に基づき仮想光源を定義する位置を決定する。本実施形態では仮想光源を定義する位置は、仮想光源から主被写体に向かう方向が、環境光源の照射方向と同方向となるように、あるいは同等の方向成分を有するように決定される。またシステム制御部５０は、仮想光源透過・反射成分算出部３１３において用いられる仮想光源に係る強度（α）及び光源色（Ｒw、Ｂw）に係るパラメータを決定する。光源強度は、例えばユーザによりなされた操作入力に基づき決定されるものであってよいし、例えば環境光源が明るいほど強度を高くする等、環境光源に応じて決定されるものであってもよい。また光源色は、逆光シーンにおいて適用するものであるため、赤寄りの色成分となるようＲw＞Ｂwの関係が実現されるよう決定される。システム制御部５０は、このように決定した、仮想光源の位置及び各種属性の情報に基づき仮想光源情報を構成し、リライティング処理部１１４に出力し、本リライティング制御処理を完了する。
【００４８】
一方、Ｓ９０３において逆光シーンではないと判断した場合、システム制御部５０はＳ９０５で、設定された仮想光源の位置に係るリライティング処理を実行しない旨のエラー通知を行い、本リライティング制御処理を完了する。これは、逆光シーンでない画像に対して、逆光の関係にある仮想光源による照明効果を付加することで、不自然な表現となることに依る。エラー通知は、表示部１０９を介して行われるものであってよい。またシステム制御部５０は、撮影により得られた画像信号に対するリライティング処理部１１４でのリライティング処理が行われないよう、動作の制御を行う。
【００４９】
またＳ９０２においてリライティング処理が順光の関係となる仮想光源についての照明効果を付加するものであると判断した場合、システム制御部５０はＳ９０６で、仮想光源を定義する位置を決定する。本ステップにおいて決定される仮想光源を定義する位置は、Ｓ９０３と同様に、推定した環境光源の照射方向に基づき決定される。より詳しくは、システム制御部５０は、仮想光源から主被写体に向かう方向が、環境光源の照射方向と同方向となるように、あるいは同等の方向成分を有するように仮想光源の位置を決定する。またシステム制御部５０は、Ｓ９０３と同様に仮想光源透過・反射成分算出部３１３において用いられる仮想光源に係る強度及び光源色に係るパラメータを決定する。そしてシステム制御部５０は、このように決定した、仮想光源の位置及び各種属性の情報に基づき仮想光源情報を構成し、リライティング処理部１１４に供給し、本リライティング制御処理を完了する。なお、システム制御部５０は、順光の関係にある仮想光源による照明効果の付加においては、光源の透過成分を表現する必要がないため、輪郭距離重みＷdが全ての画素について１となるよう、輪郭距離重み算出部３１１の動作の制御も行う。
【００５０】
このようにすることで、本実施形態のデジタルカメラ１００ではリライティング処理の実行にあたり、逆光の関係となる仮想光源による照明効果を付加する際であっても、好適なリライティング結果を得ることができる。
【００５１】
なお、本実施形態では輪郭距離重みを算出するために、図５（ａ）に示したような７×７のフィルタを用いる例について説明したが、本発明の実施はこれに限定されるものでなく、輪郭からの距離に応じて重み付けを行う手法であればいずれの方法を用いてもよい。例えば、より被写体の内側に対する光の透過や回り込みの特性を表現する場合は９×９以上のタップ数の多いフィルタを用いてもよい。また例えば、処理対象画素から最も近い輪郭画素を特定し、該輪郭画素と処理対象の距離に応じて重みを決定する手法を用いてるものであってもよい。
【００５２】
またこの他、光源角度重みの決定においては、部分的な輪郭が形成する方向（法線方向あるいは接線方向）を検出し、該方向に基づきさらに重み付けを行ってもよい。輪郭が形成する方向は、従前のいずれの手法を用いて検出されるものであってもよい。例えば図１１に示されるように、重みを算出する処理対象画素１１０１につき、該画素を含む部分的な輪郭の法線ベクトル１１０３と仮想光源１１０２から該画素に向かう仮想光源ベクトル１１０４とがθをなす場合、θに応じて該画素の重みを変更する。具体的には光源角度重み算出部３１２は、輪郭信号において輪郭として抽出されている画素につき、該画素に係る法線ベクトルと仮想光源ベクトルとの内積（ｃｏｓθ）を乗じて信号レベルを変更し、変更後の輪郭信号に基づき光源角度重みを算出する。輪郭が形成する方向の検出を４５度単位とすることで、このような手法により、仮想光源と正対する方向を形成する輪郭にのみ透過光による照明効果が現れるよう、光源角度重みを決定することができる。
【００５３】
また本実施形態では、逆光の関係となる仮想光源に係るリライティングを行う場合には、輪郭における透過光、反射光の照明効果のみを表現するものとして説明したが、さらに別の、主被写体に正対する仮想光源を定義して照明効果を変更してもよい。これにより環境からの回り込み光を表現することも可能である。
【００５４】
［変形例］
上述した実施形態では、主被写体である人物を強調するよう、輪郭周辺における透過光に係る輪郭距離重みＷdを決定した。しかしながら、本発明の実施はこれに限られるものでなく、例えば照明効果の付加対象である被写体の種類、材質、反射特性を考慮して輪郭距離重みＷdを決定するようにしてもよい。また、人物であっても髪の毛、肌、衣服等の部位や材質に応じて分離して認識し、輪郭距離重みＷdの決定に係る処理を部位ごとに異ならせてもよい。このとき、例えば髪の毛であれば透過光が強調されるように図５（ａ）に示したフィルタを用いて輪郭距離重みＷdを決定すればよい。一方で、その他の人体については透過光よりも反射光が強調されるよう、例えば図５（ｂ）に示すようなフィルタを用い、より輪郭に近い画素において重みが高くなるようにしてもよい。
【００５５】
［実施形態２］
また実施形態１では簡単のため、被写体領域は平板であるものとして光源角度重みＷaを決定するものとして説明したが、被写体立体的形状の推定に基づき決定した各画素の法線を考慮してもよい。例えば、被写体領域１２０１について推定した形状に基づく法線ベクトルが図１２に示されるような分布を示す場合を考える。このとき、光源角度重み算出部３１２は仮想光源１２０２から被写体領域の各画素に向かう仮想光源ベクトル１２０３と該画素の法線ベクトルとの内積を考慮し、１−ｃｏｓθを該画素に係る光源角度重みＷaに乗算する。このようにすることで総合重みＷtを、被写体の輪郭であって、リライティング対象の被写体に対して仮想光源ベクトル１２０３が垂直であるほど、反射光が強くなるよう構成することができる。
【００５６】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５７】
１００：デジタルカメラ、１０３：撮像部、１０５：画像処理部、１１３：顔検出部、１１４：リライティング処理部、５０：システム制御部、１２０：操作部、１２４：測距センサ、２０８：評価値生成部、３０４：仮想光源付加処理部、３１０：被写体領域抽出部、３１１：輪郭距離重み算出部、３１２：光源角度重み算出部、３１３：仮想光源透過・反射成分算出部
【図１】
0006702752.tif 000002
【図２】
0006702752.tif 000003
【図３】
0006702752.tif 000004
【図４】
0006702752.tif 000005
【図５】
0006702752.tif 000006
【図６】
0006702752.tif 000007
【図７】
0006702752.tif 000008
【図８】
0006702752.tif 000009
【図９】
0006702752.tif 000010
【図１０】
0006702752.tif 000011
【図１１】
0006702752.tif 000012
【図１２】
0006702752.tif 000013