(57)【特許請求の範囲】
【請求項１】
所定の光源の発光を伴って撮影された画像を取得する取得手段と、
前記所定の光源の特性に基づいて、前記画像に適用する仮想光源を設定する設定手段と、
前記仮想光源によって前記画像に含まれる複数の被写体の少なくともいずれかの陰影状態を変更した画像を生成する生成手段と、を備え、
前記設定手段は、前記画像に含まれる、第１の被写体と第２の被写体とが前記所定の光源から異なる距離に存在する場合に、前記所定の光源による前記第１の被写体における陰影状態の変化と前記所定の光源による前記第２の被写体における陰影状態の変化との差を低減するように、前記仮想光源を設定し、更に、前記設定手段は、前記第１の被写体における前記仮想光源による陰影状態の変化が前記差を低減するように、前記仮想光源を設定し、
前記第１の被写体における前記仮想光源による陰影状態の変化は、前記第１の被写体における前記仮想光源の反射成分であり、
前記生成手段は、前記第１の被写体の陰影状態を変更した画像を生成する、
ことを特徴とする画像処理装置。
【請求項２】
前記設定手段は、前記第１の被写体における前記仮想光源による陰影状態の変化が、前記所定の光源から前記第１の被写体までの距離と前記所定の光源から前記第２の被写体までの距離との差分に応じて変化するように、前記仮想光源を設定する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、前記第１の被写体における前記仮想光源による陰影状態の変化が、前記第１の被写体における前記所定の光源による光の強度と前記第２の被写体における前記所定の光源による光の強度との差分に応じて変化するように、前記仮想光源を設定する、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記設定手段は、前記第１の被写体における前記仮想光源による陰影状態の変化が、前記画像を撮影した際の絞りの状態に応じて変化するように、前記仮想光源を設定する、
ことを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記画像は、前記第２の被写体を基準として明るさを調整して撮影された画像であり、
前記生成手段は、前記所定の光源から前記第１の被写体までの距離が前記所定の光源から前記第２の被写体までの距離より近い場合、前記第１の被写体の飽和していない信号に基づいて、陰影状態を変更した画像を生成する、
ことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第２の被写体は主被写体であり、前記第１の被写体は、前記主被写体と異なる被写体である、
ことを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記所定の光源はストロボであり、前記所定の光源の特性は、光源の色に関する特性を含む、
ことを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
撮像した画像を出力する撮像素子と、
請求項１から７のいずれか１項に記載の画像処理装置と、を備える、
ことを特徴とする撮像装置。
【請求項９】
撮影する際に発光する、前記所定の光源である発光装置を更に備える、
ことを特徴とする請求項８に記載の撮像装置。
【請求項１０】
取得手段が、所定の光源の発光を伴って撮影された画像を取得する取得工程と、
設定手段が、前記所定の光源の特性に基づいて、前記画像に適用する仮想光源を設定する設定工程と、
生成手段が、前記仮想光源によって前記画像に含まれる複数の被写体の少なくともいずれかの陰影状態を変更した画像を生成する生成工程と、を備え、
前記設定工程では、前記画像に含まれる、第１の被写体と第２の被写体とが前記所定の光源から異なる距離に存在する場合に、前記所定の光源による前記第１の被写体における陰影状態の変化と前記所定の光源による前記第２の被写体における陰影状態の変化との差を低減するように、前記仮想光源を設定し、
更に、前記設定工程では、前記第１の被写体における前記仮想光源による陰影状態の変化が前記差を低減するように、前記仮想光源を設定し、
前記第１の被写体における前記仮想光源による陰影状態の変化は、前記第１の被写体における前記仮想光源の反射成分であり、
前記生成工程では、前記第１の被写体の陰影状態を変更した画像を生成する、
ことを特徴とする画像処理装置の制御方法。
【請求項１１】
コンピュータに、請求項１０に記載の画像処理装置の制御方法の各工程を実行させるためのプログラム。
【請求項１２】
撮像素子と発光装置とを備える撮像装置の制御方法であって、
撮像素子が、前記発光装置の発光を伴って画像を撮影する撮影工程と、
設定手段が、前記発光装置の特性に基づいて、前記画像に適用する仮想光源を設定する設定工程と、
生成手段が、前記仮想光源によって前記画像に含まれる複数の被写体の少なくともいずれかの陰影状態を変更した画像を生成する生成工程と、を備え、
前記設定工程では、前記画像に含まれる、第１の被写体と第２の被写体とが前記発光装置から異なる距離に存在する場合に、前記発光装置による前記第１の被写体における陰影状態の変化と前記発光装置による前記第２の被写体における陰影状態の変化との差を低減するように、前記仮想光源を設定し、
更に、前記設定工程では、前記第１の被写体における前記仮想光源による陰影状態の変化が前記差を低減するように、前記仮想光源を設定し、
前記第１の被写体における前記仮想光源による陰影状態の変化は、前記第１の被写体における前記仮想光源の反射成分であり、
前記生成工程では、前記第１の被写体の陰影状態を変更した画像を生成する、
ことを特徴とする撮像装置の制御方法。
【請求項１３】
コンピュータに、請求項１２に記載の撮像装置の制御方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置およびそれらの制御方法ならびにプログラムに関する。
【背景技術】
【０００２】
一般に、被写体を撮影する際に光源の光量が不足する場合、撮影した画像が暗くなる。このため、暗くなる画像をより明るくするために、例えばストロボ等の照明装置を用いて被写体に光を照射し、十分な光量を確保したうえで撮影する方法が知られている。
【０００３】
しかし、照明装置から被写体までの距離が被写体ごとに異なる場合、被写体ごとに照射される光量が異なるため、被写体によっては照射される光量が適切でない場合がある。例えば、主被写体に照射される光量が適切となるように照明装置から光を照射する場合、主被写体より照明装置に近い被写体では光量が過剰となり白飛びが発生する可能性がある。一方、主被写体より照明装置から遠い被写体では光量が不足し黒潰れが発生する可能性がある。
【０００４】
このような課題に対して、特許文献１は、照明装置からの距離が異なる被写体の明るさを調整するため、照明装置から被写体までの距離情報に応じて被写体に異なるゲインをかけることにより、明るさを調整する技術を提案している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１６５１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１で提案された技術では、画像処理によってゲインをかける（すなわち信号を増幅する）ためノイズも増幅されてしまう。また、光源の特性が考慮されていないため、被写体の明るさの差が軽減するだけで照明装置から照射される光による反射成分や光源色を再現することができず、結果的に不自然な画像となる場合がある。
【０００７】
本発明は、上述の従来技術の問題点に鑑みてなされたものである。すなわち、発光させる光源からの距離が異なる複数の被写体を撮影した画像に、光源の特性を反映した陰影の調整を行うことが可能な画像処理装置、撮像装置およびそれらの制御方法ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、所定の光源の発光を伴って撮影された画像を取得する取得手段と、所定の光源の特性に基づいて、画像に適用する仮想光源を設定する設定手段と、仮想光源によって画像に含まれる複数の被写体の少なくともいずれかの陰影状態を変更した画像を生成する生成手段と、を備え、設定手段は、画像に含まれる、第１の被写体と第２の被写体とが所定の光源から異なる距離に存在する場合に、所定の光源による第１の被写体における陰影状態の変化と所定の光源による第２の被写体における陰影状態の変化との差を低減するように、仮想光源を設定し、更に、設定手段は、第１の被写体における仮想光源による陰影状態の変化が差を低減するように、仮想光源を設定し、第１の被写体における仮想光源による陰影状態の変化は、第１の被写体における仮想光源の反射成分であり、生成手段は、第１の被写体の陰影状態を変更した画像を生成する、ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、発光させる光源からの距離が異なる複数の被写体を撮影した画像に、光源の特性を反映した陰影の調整を行うことが可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る画像処理装置の一例としてのデジタルカメラの機能構成例を示すブロック図
【図２】本実施形態に係る画像処理部１０５の機能構成例を示すブロック図
【図３】本実施形態に係るリライティング処理部１１４の機能構成例を示すブロック図
【図４】本実施形態に係るリライティング処理の一連の動作を示すフローチャート
【図５】本実施形態に係る、カメラ撮影座標と、被写体の関係を説明する図
【図６】本実施形態に係る、被写体と主被写体とストロボとの位置関係を説明する図
【図７】本実施形態に係る、距離差分の絶対値ΔＫとゲインβの特性の一例を示す図
【発明を実施するための形態】
【００１１】
（実施形態１）
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下では画像処理装置の一例として、撮像可能な任意のデジタルカメラに本発明を適用した例を説明する。しかし、本発明は、デジタルカメラに限らず、撮像された画像を取得してリライティング処理を行うことが可能な任意の機器にも適用可能である。これらの機器には、例えば携帯電話機、ゲーム機、タブレット端末、パーソナルコンピュータ、時計型や眼鏡型の情報端末、監視システム、医療機器などが含まれてよい。
【００１２】
（デジタルカメラ１００の構成）
図１は、本実施形態の画像処理装置の一例としてデジタルカメラ１００の機能構成例を示すブロック図である。なお、図１に示す機能ブロックの１つ以上は、ＡＳＩＣやプログラマブルロジックアレイ（ＰＬＡ）などのハードウェアによって実現されてもよいし、ＣＰＵやＭＰＵ等のプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。従って、以下の説明において、異なる機能ブロックが動作主体として記載されている場合であっても、同じハードウェアが主体として実現されうる。
【００１３】
レンズ群１０１は、フォーカスレンズやズームレンズを含むレンズ群である。シャッター１０２は絞り機能を備え、レンズ群１０１と撮像部１０３との間に設けられている。撮像部１０３は、レンズ群１０１によって撮像面に形成される光学像を２次元状に配列された画素で光電変換し、画素単位の電気信号に出力する撮像素子を有する。撮像素子は、ＣＣＤイメージセンサやＣＭＯＳイメージセンサであってよい。Ａ／Ｄ変換部１０４は、撮像部１０３が出力するアナログ信号をデジタル信号（画像データ）に変換する。
【００１４】
画像処理部１０５は、Ａ／Ｄ変換部１０４から出力される画像データに対し、後述する各種画像処理を行う。画像メモリ１０６は揮発性の半導体メモリを含み、Ａ／Ｄ変換部１０４や画像処理部１０５から出力された画像データを一時的に記憶する。
【００１５】
メモリ制御部１０７は、画像処理部１０５や顔検出部１１３による画像メモリ１０６の読み書きを制御する。Ｄ／Ａ変換部１０８は、メモリ制御部１０７から読み出したデジタルをアナログ信号に変換する回路又はモジュールを含む。表示部１０９は、ＬＣＤや有機ＥＬディスプレイ等の表示装置を含み、デジタルカメラ１００を操作するための各種ＧＵＩ、ライブビュー画像、又は記録媒体１１２から読み出して再生される画像などを表示する。
【００１６】
コーデック部１１０は、画像メモリ１０６に記憶されている画像データを記録媒体に記録するために予め定められた方法で符号化したり、画像ファイルに含まれる符号化画像データを例えば表示のために復号したりする。インタフェース（Ｉ／Ｆ）１１１は、例えば半導体メモリカードやカード型ハードディスクなどの着脱可能な記録媒体１１２を挿抜する機構を備え、デジタルカメラ１００と機械的および電気的に接続する。
【００１７】
システム制御部５０は、例えばＣＰＵやＭＰＵなどのプロセッサを含み、不揮発性メモリ１２１等に記録されたプログラムをシステムメモリ１２２に展開、実行して必要なブロックや回路を制御することにより、デジタルカメラ１００の機能を実現する。
【００１８】
顔検出部１１３は、撮影された画像に含まれる顔領域を検出し、検出された顔領域のそれぞれについて、位置、大きさ、信頼度などの顔情報を求める。なお、顔検出部１１３はニューラルネットワークに代表される学習を用いた手法や、目、鼻、口などの特徴部位を、画像領域からテンプレートマッチングにより探索し類似度が高い領域を顔とみなす手法など、任意の方法を用いることができる。
【００１９】
リライティング処理部１１４は、撮影された画像データに対して後述するリライティング処理を行って被写体の陰影状態を変更した画像を出力する。操作部１２０は、ユーザがデジタルカメラ１００に対する各種の指示を入力するためのボタンやスイッチなどの入力デバイスを含む。表示部１０９がタッチディスプレイである場合、タッチパネルは操作部１２０に含まれる。また、音声入力や視線入力など、非接触で指示を入力するタイプの入力デバイスが操作部１２０に含まれてもよい。
【００２０】
不揮発性メモリ１２１は、電気的に消去・記録可能な、例えばＥＥＰＲＯＭ等であってよい。不揮発性メモリ１２１は、例えば各種の設定値、ＧＵＩデータを記録するほか、システム制御部５０がＭＰＵやＣＰＵである場合、システム制御部５０が実行するためのプログラムを記録する。システムメモリ１２２は、システム制御部５０の動作用の定数や変数、不揮発性メモリ１２１から読み出したプログラム等を展開したデータを一時的に記憶する。
【００２１】
ストロボ１２３は、ストロボなどの発光装置を含み、システム制御部５０の指示に応じて撮影前や撮影時に発光する。測距センサ１２４は、被写体とデジタルカメラ１００との距離を測定するセンサを含み、撮影画像の画素単位で得られる２次元の距離情報（被写体距離情報）を出力する。
【００２２】
（デジタルカメラ１００における撮影時の基本動作）
次に、上記のように構成されたデジタルカメラ１００における被写体撮影時の基本動作について説明する。
【００２３】
撮像部１０３は、シャッター１０２が開いている所定の時間内にレンズ群１０１が撮像面に形成する被写体像を撮像素子によって光電変換し、電荷を蓄積する。そして、撮像部１０３は蓄積された電荷を所定のタイミングで読み出してアナログ画像信号としてＡ／Ｄ変換部１０４へ出力する。Ａ／Ｄ変換部１０４は、撮像部１０３から出力されるアナログ画像信号をデジタル画像信号（画像データ）に変換し画像処理部１０５に出力する。
【００２４】
画像処理部１０５は、Ａ／Ｄ変換部１０４からの画像データ、又は、メモリ制御部１０７からの画像データに対し、例えば、同時化処理（色補間処理或いはデモザイク処理）、ガンマ（γ）補正などの画像処理を行う。また、画像処理部１０５では、撮影で得られた画像データを用いて輝度やコントラストなどに関する所定の演算処理を行い、得られた演算結果に基づいてシステム制御部５０が焦点調節や露光制御を行う。焦点検出や露出制御に顔検出部１１３の検出結果を考慮してもよい。このように、本実施形態のデジタルカメラ１００では、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理を行う。画像処理部１０５ではさらに、撮影で得られた画像データを用いたオートホワイトバランス（ＡＷＢ）調整も行う。
【００２５】
画像処理部１０５から出力された画像データは、メモリ制御部１０７を介して画像メモリ１０６に書き込まれる。画像メモリ１０６は、撮像部１０３から出力された画像データや、表示部１０９に表示するための画像データを格納する。また、Ｄ／Ａ変換部１０８は、画像メモリ１０６に格納されている画像表示用のデータをアナログ信号に変換して表示部１０９に供給する。表示部１０９は、ＬＣＤ等の表示装置に、Ｄ／Ａ変換部１０８からのアナログ信号に応じた表示を行う。
【００２６】
コーデック部１１０は、例えばＪＰＥＧやＭＰＥＧなどの規格に準拠した処理を行って、画像メモリ１０６に記録された画像データを符号化する。システム制御部５０は、符号化された画像データに対して予め定められたヘッダなどを付与して画像ファイルを形成し、Ｉ／Ｆ１１１を介して記録媒体１１２に記録する。
【００２７】
なお、デジタルカメラ１００は、撮影スタンバイ状態において動画撮影を行い、撮影された動画を表示部１０９に表示し続けることにより表示部１０９を電子ビューファインダ（ＥＶＦ）として機能させることができる。この場合、システム制御部５０は、シャッター１０２を開いた状態に制御し、撮像部１０３のいわゆる電子シャッターを用いて例えば３０フレーム／秒の撮影を行うように撮像部１０３を制御する。
【００２８】
また、システム制御部５０は、操作部１２０に含まれるシャッターボタンが半押しされた場合に上述のＡＦ、ＡＥ制御を実行し、更にシャッターボタンが全押しされた場合、本撮影による記録用の静止画撮影を実行して画像データを記録媒体１１２に記録する。さらに、動画撮影ボタンなどにより動画撮影が指示された場合、記録媒体１１２への動画記録を開始する。
【００２９】
（画像処理部１０５の構成及び動作）
次に、画像処理部１０５の構成及び動作について、図２を参照して説明する。
【００３０】
図２において、２００は同時化処理部、２０１はＷＢ増幅部、２０２は輝度色信号生成部、２０３は輪郭強調処理部、２０４は輝度ガンマ処理部、２０５は色変換処理部、２０６は色ガンマ処理部、２０７は色差信号生成部である。
【００３１】
画像処理部１０５には、Ａ／Ｄ変換部１０４から画像データが入力され、画像処理部１０５の各部による以下の処理が行われる。同時化処理部２００は、Ａ／Ｄ変換部１０４から画像処理部１０５に入力されたベイヤーＲＧＢの画像データに対して、同時化処理を行って、色信号Ｒ、Ｇ、Ｂを生成する。ＷＢ増幅部２０１は、システム制御部５０が算出するホワイトバランスゲイン値に基づいて、ＲＧＢの色信号にゲインをかけ、ホワイトバランスを調整する。ＷＢ増幅部２０１によって出力されたＲＧＢ信号は輝度色信号生成部２０２に入力される。輝度色信号生成部２０２はＲＧＢ信号から輝度信号Ｙを生成して、生成した輝度信号Ｙを輪郭強調処理部２０３に、生成した色信号ＲＧＢを色変換処理部２０５にそれぞれ出力する。
【００３２】
輪郭強調処理部２０３は、輝度信号に対して輪郭強調処理を行い、輝度ガンマ処理部２０４へ出力する。輝度ガンマ処理部２０４は、例えば表示部１０９等の有する表示特性と整合させるために輝度信号Ｙにガンマ補正を行って、補正後の輝度信号Ｙを画像メモリ１０６に出力する。
【００３３】
色変換処理部２０５は、ＲＧＢ信号に対するマトリクス演算などにより、入力されたＲＧＢ信号を所望のカラーバランスへ変換する。色ガンマ処理部２０６は、例えば表示部１０９等の有する表示特性と整合させるためＲＧＢの色信号にガンマ補正を行う。色差信号生成部２０７は、ＲＧＢ信号から色差信号Ｒ−Ｙ、Ｂ−Ｙ信号を生成する。画像メモリ１０６に出力された画像信号Ｙ、Ｒ−Ｙ、Ｂ−Ｙ信号はコーデック部１１０によって圧縮符号化され、記録媒体１１２に記録される。
【００３４】
（リライティング処理部１１４の構成）
次に、リライティング処理部１１４の構成について、図３を参照して説明する。なお、リライティング処理は、リライティング処理の実行が指定された状態で撮影された画像や、メニュー画面等からリライティング処理の実施が指示された、例えば記録媒体１１２に記録済の画像に対して実施することができる。リライティング処理において撮影時の情報が必要な場合、不揮発性メモリ１２１またはシステムメモリ１２２から読み出したり、画像ファイルのヘッダなどから取得したりするものとする。
【００３５】
図３において、ＲＧＢ信号変換部３０１は、リライティングに係る演算をＲＧＢ信号において処理するため、入力された輝度・色信号（Ｙ、Ｒ−Ｙ、Ｂ−Ｙ）をＲＧＢ信号に変換する。デガンマ処理部３０２は、画像処理部１０５におけるガンマ処理によって特性の変更された信号をリニアな特性に戻すため、デガンマ処理を行う。反対に、ガンマ処理部３０６は、リライティング処理によって陰影状態を変更したＲＧＢ信号に対してガンマ処理を行って再び信号特性を変更する。また、輝度色差信号変換部３０７はＲＧＢ信号を再び輝度・色差信号（Ｙ、Ｒ−Ｙ、Ｂ−Ｙ）に戻してリライティング処理部１１４から出力する。
【００３６】
一方、法線算出部３０３は、測距センサ１２４から出力される被写体距離情報に基づいて被写体の表面形状における法線を算出する。なお、被写体の表面形状における法線を算出する方法は後述する。仮想光源反射成分算出部３０４は、仮想的に配置する擬似的な光源（仮想光源ともいう）を設定すると共に、仮想光源による光が被写体の表面において反射する成分を算出する。仮想光源付加処理部３０５は、仮想光源を配置することによって生じる被写体上の反射成分を入力画像に付加して被写体の陰影状態を変更した画像（ＲＧＢ信号）を出力する。
【００３７】
（リライティング処理に係る一連の動作）
次に、図４を参照して、リライティング処理に係る一連の動作を説明する。なお、本処理は、例えば操作部１２０に含まれるメニュー画面等において記録媒体１１２に記録された画像が選択された場合に開始される。また、本処理は、システム制御部５０が不揮発性メモリ１２１に記憶されたプログラムをシステムメモリ１２２の作業用領域に展開、実行すると共に、リライティング処理部１１４（内部の構成要素を含む）等の各部を制御することにより実現される。
【００３８】
Ｓ４０１では、システム制御部５０は、操作部１２０に対するユーザからの操作によってリライティング処理が選択されているか否かを判定する。すなわち、システム制御部５０は、リライティング処理部１１４による処理を行うか否かを判定する。システム制御部５０は、例えば画像ファイルのヘッダ等のリライティング処理の実施を示すパラメータを参照し、リライティング処理を行うと判定した場合はＳ４０２に処理を進める。一方、当該パラメータを参照してリライティング処理を行わないと判定した場合は、本処理を終了する。
【００３９】
Ｓ４０２では、システム制御部５０は、撮影画像に含まれる主被写体を決定する。なお、本実施形態では、主被写体が人物の顔である場合を例に説明する。システム制御部５０は、顔検出部１１３が公知の手法で検出した顔領域の位置や大きさの情報を取得する。システム制御部５０は、人物の顔が複数ある場合、顔領域の位置や大きさに基づいて主被写体を決定する。例えば、顔の大きさが最も大きい人物を主被写体として選択してもよいし、画像の中心に最も近い人物を主被写体としてもよい。なお、主被写体は人物の顔でなくてもよく、人体やその一部などでもよい。
【００４０】
Ｓ４０３では、システム制御部５０は、主被写体の領域の明るさを解析して、ストロボ発光の有無を判定する。具体的に、システム制御部５０は、主被写体の領域の明るさが所定の閾値より低く、適正な明るさに対して不足していると判定した場合、主被写体の明るさを適正な明るさにするためストロボ１２３を発光させる。システム制御部５０は、ストロボ１２３を発光させると判定した場合、Ｓ４０４へ処理を進め、ストロボを発光させないと判定した場合は本処理を終了する。
【００４１】
Ｓ４０４では、画像処理部１０５は、ストロボを発光した状態で撮影された画像データに対して前述した所定の画像処理を行う。画像処理部１０５から出力された輝度・色差信号（Ｙ、Ｒ−Ｙ、Ｂ−Ｙ）からなる画像データは、メモリ制御部１０７を介して画像メモリ１０６に記憶される。
【００４２】
Ｓ４０５では、ＲＧＢ信号変換部３０１は、メモリ制御部１０７を介して画像メモリ１０６に記憶された輝度・色差信号（Ｙ、Ｒ−Ｙ、Ｂ−Ｙ）を読み出して、ＲＧＢ信号に変換する。変換されたＲＧＢ信号は、デガンマ処理部３０２に出力される。
【００４３】
Ｓ４０６では、デガンマ処理部３０２は、画像処理部１０５のガンマ処理部で適用されたガンマ特性と逆の特性の演算を行ってリニアデータに変換する。デガンマ処理部３０２は、変換後のＲＧＢ信号（Ｒｔ、Ｇｔ、Ｂｔ）を、仮想光源反射成分算出部３０４と仮想光源付加処理部３０５とにそれぞれ出力する。
【００４４】
Ｓ４０７では、法線算出部３０３は、入力されたＲＧＢ信号を、測距センサ１２４から取得した被写体距離情報（すなわち撮影画像の画素単位で得られる２次元の距離情報）に基づいて法線マップを算出する。被写体距離情報に基づく法線マップの生成は、公知の技術を用いて行うことができるため詳細は省略するが、本実施形態における法線マップの概略について図５を参照して説明する。
【００４５】
図５は、撮影された画像上の水平座標と被写体の存在する３次元の座標との関係を示している。本実施形態では、被写体距離情報を用いることにより、画像上の水平方向の差分ΔＨに対する、距離（奥行き）Ｄの差分ΔＤが得られる。このため、法線算出部３０３は、この差分ΔＨに対する距離の差分ΔＤに基づいて、被写体５０１の表面形状の勾配を算出することができる。そして、算出した勾配に対する法線を求めることにより、被写体の表面形状における法線ベクトルＮを算出することができる。法線算出部３０３は、同様の処理により撮影画像の各画素に対応する法線を算出し、算出した法線を法線マップとして仮想光源反射成分算出部３０４に出力する。
【００４６】
Ｓ４０８では、仮想光源反射成分算出部３０４は、仮想光源を設定して、被写体６０１における仮想光源による反射成分を算出する。具体的には、本ステップでは、ストロボ発光によって生じた被写体間の陰影状態の差を補うための仮想光源を設定する。換言すれば、設定する仮想光源は、ストロボ発光による主被写体６０２への影響度（例えば主被写体６０２の陰影状態の変化）と、ストロボ光による被写体６０１への影響度（例えば被写体６０１の陰影状態の変化）の差を低減させるものである。そして、算出される仮想光源の反射成分は、設定された仮想光源によって生じる被写体における陰影状態の変化を表すものであり、ストロボ発光によって生じた被写体間の陰影状態の差を低減する。
【００４７】
仮想光源による反射成分は、各被写体におけるストロボ強度がストロボと被写体との距離Ｋの二乗に反比例し、且つ、ストロボ光が被写体に照射するストロボ強度とストロボ光が主被写体に照射するストロボ強度との差分と、被写体表面における法線ベクトルＮとストロボ光の光源方向ベクトルＬの内積とに比例する特性を用いて算出される。
【００４８】
この仮想光源による反射成分の具体的な算出方法について、図６を参照して説明する。図６では、撮影時における、主被写体以外の被写体６０１と、主被写体６０２と、デジタルカメラ１００及びストロボ１２３との位置の関係を示している。
【００４９】
仮想光源反射成分算出部３０４は、ストロボ１２３が被写体６０１に照射するストロボ強度Ｓｋを、ストロボ１２３と被写体６０１との距離Ｋ、ストロボの光量に基づいた仮想光源の光量αを用いて、式１に従って求めることができる。
【００５０】
Ｓｋ  =  α  ／  Ｋ＾２                              ・・・  （式１）
なお、光量αは、例えば実際のストロボの光量と同等となるように設定される。
【００５１】
また、ストロボ１２３が主被写体６０２に照射するストロボ強度Ｓｍは、ストロボ１２３と主被写体６０２との距離Ｋｍ、ストロボの光量に基づいた仮想光源の光量αを用いて、式２に従って求めることができる。
【００５２】
Ｓｍ  =  α  ／  Ｋｍ＾２                            ・・・  （式２）
なお、光量αは、例えば式１に示すストロボの光量と同一である。
【００５３】
更に、ストロボ１２３が被写体６０１に照射するストロボ強度Ｓｋ、及び、ストロボ１２３が主被写体６０２に照射するストロボ強度Ｓｍを用いて、被写体６０１の表面における仮想光源による反射成分（Ｒａ、Ｇａ、Ｂａ）は、式３に従って求めることができる。
【００５４】
Ｒａ  ＝  β  ×  （Ｓｍ−Ｓｋ）  ×  （−Ｌ・Ｎ）  ×  Ｒｗ  ×  Ｒｔ
Ｇａ  ＝  β  ×  （Ｓｍ−Ｓｋ）  ×  （−Ｌ・Ｎ）            ×  Ｇｔ
Ｂａ  ＝  β  ×  （Ｓｍ−Ｓｋ）  ×  （−Ｌ・Ｎ）  ×  Ｂｗ  ×  Ｂｔ
・・・  （式３）
ここで、Ｌはストロボ１２３の３次元ベクトル、法線Ｎは被写体の３次元法線ベクトル、（Ｒｔ、Ｇｔ、Ｂｔ）はデガンマ処理部３０２から出力されたＲＧＢ信号である。仮想光源反射成分算出部３０４は、測距センサ１２４からの被写体距離情報に基づいて距離（Ｋ、Ｋｍ）やＬを取得し、法線算出部３０３からの法線マップに基づいて法線Ｎを取得する。また、Ｒｗ、Ｂｗは光源の色を制御する色パラメータであり、ストロボ１２３の特性に合わせるための所定の値を設定する。このように色パラメータを用いることにより、仮想光源の反射成分に光源の特性を反映することができる。
【００５５】
なお、βは仮想光源による反射成分（Ｒａ、Ｇａ、Ｂａ）の調整を行うためのゲインであり、リライティング処理の効果を調整するために設定する。具体的には、ゲインβは、距離Ｋ（ストロボ１２３と被写体６０１との距離）と距離Ｋｓ（ストロボ１２３と主被写体６０２との距離）の差分の絶対値に基づいて算出する。
【００５６】
図７を参照してゲインβの算出例について説明する。図７は、距離Ｋと距離Ｋｓとの差分の絶対値であるΔＫ（距離差分の絶対値）からゲインβを算出する変換テーブルの一例を示している。図７に示す横軸は距離差分の絶対値ΔＫであり、縦軸はゲインβである。ゲインβは、距離差分の絶対値ΔＫが所定の閾値Ｔｈ０より小さい場合には１．０に設定されて出力される。また、ゲインβは、距離差分の絶対値ΔＫが所定の閾値Ｔｈ１より大きい場合には０．０に設定されて出力される。距離差分の絶対値ΔＫが閾値Ｔｈ０と閾値Ｔｈ１の間である場合には、ゲインβは１．０〜０．０の間の値に設定されて出力される。
【００５７】
このように設定されたゲインβを用いることにより、例えば背景の被写体のように、主被写体６０２と比べてストロボ１２３からの距離が遠い被写体が、リライティング処理によって主被写体と同程度の明るさとなることを抑圧することができる。すなわち、ストロボを使用する際に自然な明るさに補正することができる。
【００５８】
したがって、式３では、被写体６０１が主被写体６０２よりも遠い（被写体６０１に対する光量が主被写体６０２に対する光量より不足する）場合、ストロボ強度Ｓｍがストロボ強度Ｓｋより大きくなり、仮想光源による反射成分は正の値となる。つまり、仮想光源による反射成分によって被写体６０１の明るさを補うことができる。
【００５９】
一方、被写体６０１が主被写体６０２よりも近い（被写体６０１に対する光量が主被写体６０２に対する光量より過剰となる）場合、ストロボ強度Ｓｍがストロボ強度Ｓｋより小さくなり、仮想光源による反射成分は負の値となる。つまり、仮想光源による反射成分によって、被写体６０１の明るさを抑制することができる。
【００６０】
仮想光源反射成分算出部３０４は、式３に従って算出した仮想光源による反射成分（Ｒａ、Ｇａ、Ｂａ）を仮想光源付加処理部３０５へ出力する。
【００６１】
Ｓ４０９では、仮想光源付加処理部３０５は、上述した仮想光源成分（Ｒａ、Ｇａ、Ｂａ）を撮影画像に付加する。具体的に、仮想光源付加処理部３０５は、以下の式に従って、仮想光源成分（Ｒａ、Ｇａ、Ｂａ）を、デガンマ処理部３０２から出力されたリニア変換後のＲＧＢ信号（Ｒｔ、Ｇｔ、Ｂｔ）に付加する。
Ｒｏｕｔ  ＝  Ｒｔ  ＋  Ｒａ
Ｇｏｕｔ  ＝  Ｇｔ  ＋  Ｇａ
Ｂｏｕｔ  ＝  Ｂｔ  ＋  Ｒａ
【００６２】
このように、ストロボの特性を反映した仮想光源による反射成分を撮影画像の信号に付加することにより、発光させる光源の特性を反映した陰影の調整を行うことができる。そして、仮想光源付加処理部３０５から出力されたＲＧＢ信号（Ｒｏｕｔ、Ｇｏｕｔ、Ｂｏｕｔ）はガンマ処理部３０６に入力される。
【００６３】
Ｓ４１０では、ガンマ処理部３０６は、仮想光源付加処理部３０５から出力されたＲＧＢ信号（Ｒｏｕｔ、Ｇｏｕｔ、Ｂｏｕｔ）にガンマ補正を行う。ガンマ補正後のＲＧＢ信号（Ｒ´ｏｕｔ、Ｇ´ｏｕｔ、Ｂ´ｏｕｔ）は、輝度色差信号変換部３０７へ出力される。
【００６４】
Ｓ４１１では、輝度色差信号変換部３０７は、ガンマ補正後のＲＧＢ信号（Ｒ´ｏｕｔ、Ｇ´ｏｕｔ、Ｂ´ｏｕｔ）から輝度Ｙ、色差信号Ｒ−Ｙ、Ｂ−Ｙ信号を生成し、画像メモリ１０６に出力し、本処理に係る一連の動作を終了する。
【００６５】
なお、本実施形態では、ストロボ１２３とデジタルカメラ１００とが一体である場合を例に説明した。しかし、ストロボ１２３がデジタルカメラ１００から離れた場所に設置され、通信（有線又は無線）によりデジタルカメラ１００と接続されてもよい。この場合、仮想光源反射成分算出部３０４は、ストロボ１２３の位置情報を予め取得することにより、本実施形態と同様に仮想光源による反射成分を算出することができる。
【００６６】
また、仮想光源反射成分算出部３０４は、絞りを備えるシャッター１０２から絞り値の情報を更に取得し、取得した絞り値の情報を用いて仮想光源の光量αを調整してもよい。絞り値の情報を更に参照することにより、ストロボ１２３から照射される光に対する絞りの影響を考量して、リライティング処理の精度を向上させることができる。仮想光源反射成分算出部３０４は、また、ストロボ１２３の照射角に基づき、ストロボ１２３の光軸からの角度によって仮想光源の光量αを調整してもよい。
【００６７】
また、被写体６０１が主被写体６０２よりもストロボ１２３に近い位置に存在する場合、ストロボ強度Ｓｍがストロボ強度Ｓｋより小さい値となり、仮想光源による反射成分（Ｒａ、Ｇａ、Ｂａ）は、式３において負の値となる。また、主被写体６０２を基準に露出を調整するため、被写体６０１の一部が飽和する場合がある。このため、被写体６０１に飽和している領域がある場合には、被写体６０１の陰影状態が仮想光源による反射成分によって適切に補正できなくなる。そこで、被写体６０１が主被写体６０２よりもストロボ１２３に近い位置に存在する場合には、周辺の非飽和領域のＲＧＢ信号（Ｒｏｕｔ、Ｇｏｕｔ、Ｂｏｕｔ）を用いて飽和領域を補間してもよい。
【００６８】
以上説明したように本実施形態では、複数の被写体がストロボ１２３から異なる距離に存在する場合、ストロボ１２３による被写体６０１における陰影状態の変化とストロボ１２３による主被写体における陰影状態の変化との差を低減する仮想光源を設定した。またこの仮想光源の特性は、ストロボ１２３の特性に基づいて決定した。これにより、ストロボ等の照明装置を使用した場合でも、照明装置の特性を反映した被写体領域の明るさの調整（すなわちリライティング）を行うことができる。換言すれば、発光させる光源からの距離が異なる複数の被写体を撮影した画像に、光源の特性を反映した陰影の調整を行うことが可能になる。
【００６９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７０】
５０…システム制御部、１０３…撮像部、１１４…リライティング処理部、３０４…仮想光源反射成分算出部、３０５…仮想光源付加処理部
【図１】
0006718256.tif 000002
【図２】
0006718256.tif 000003
【図３】
0006718256.tif 000004
【図４】
0006718256.tif 000005
【図５】
0006718256.tif 000006
【図６】
0006718256.tif 000007
【図７】
0006718256.tif 000008