(57)【特許請求の範囲】
【請求項１】
被写体に照明装置から光が照射された状態で撮影して得られた第１の画像に対して画像処理を行う画像処理装置であって、
前記被写体と前記照明装置の位置関係に基づいて、撮影時に存在しなかった仮想光源の位置を前記照明装置と異なる位置に決定する決定手段と、
前記決定手段によって決定された前記仮想光源の位置と前記被写体の形状に基づいて、前記被写体における前記仮想光源から照射された光の反射成分を算出する算出手段と、
前記第１の画像に対して、画像における前記被写体の領域について、前記照明装置からの光成分を低減するように明るさを補正するとともに、前記仮想光源からの光の反射成分を付加するように明るさを補正する処理手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記決定手段は、前記第１の画像が逆光で撮影された画像であるかどうかを判断し、逆光で撮影された画像である場合に、前記仮想光源の位置を、予め決められた位置に設定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記決定手段は、前記被写体の向き、または、前記第１の画像における前記被写体の位置に基づいて、前記仮想光源の位置を決定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記第１の画像と、前記照明装置を発光させずに前記被写体を撮影した第２の画像を取得する取得手段を備え、
前記決定手段は、前記第１の画像が逆光で撮影された画像でない場合に、前記第２の画像を照明している環境光の方向を判定し、該環境光の方向に前記仮想光源の位置を設定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記処理手段は、前記照明装置から被写体における複数の位置までの距離情報に基づいて、前記第１の画像における被写体の予め決められた複数の位置に対応する、前記被写体の複数の部分における法線を算出し、前記仮想光源からの光が前記被写体により反射される反射成分として、前記仮想光源からの光の強度を、前記法線と前記仮想光源からの光の方向との内積に比例させ、且つ、前記被写体の複数の部分までの距離に反比例させて求めることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記処理手段は、前記第１の画像における被写体の輝度を予め決められた割合で低減した後に、前記反射成分を付加することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
照明装置を発光させて被写体を撮影した第１の画像と、前記被写体における複数の位置までの距離情報とを取得する取得手段と、
仮想的な光を照射する仮想光源の位置を決定する決定手段と、
前記距離情報に基づいて前記被写体の形状情報を求め、求めた前記被写体の形状情報、前記距離情報、及び前記被写体に対する前記仮想光源の位置に基づいて、前記第１の画像を処理して、前記仮想光源により前記被写体に光を照射した画像を生成する処理手段と
を有し、
前記処理手段は、前記被写体の形状情報、前記距離情報、及び前記被写体に対する前記仮想光源の位置に基づいて、前記被写体の陰影成分を求め、求めた前記陰影成分を前記第１の画像に付加することを特徴とする画像処理装置。
【請求項８】
前記処理手段は、前記距離情報に基づいて、前記第１の画像における被写体の予め決められた複数の位置に対応する、前記被写体の複数の部分における法線を算出し、前記法線と前記仮想的な光の方向との内積に比例させ、且つ、前記被写体の複数の部分までの距離に反比例させて求めた前記仮想的な光の強度が小さいほど、前記第１の画像における被写体の輝度が小さくなる値を、前記陰影成分として求めることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
被写体を撮影する撮像手段と、
請求項１乃至６のいずれか１項に記載の画像処理装置と
を有することを特徴とする撮像装置。
【請求項１０】
被写体を撮影する撮像手段と、
前記被写体における複数の位置までの距離を測定して、距離情報を取得する測距手段と、
請求項７または８に記載の画像処理装置と
を有することを特徴とする撮像装置。
【請求項１１】
被写体に照明装置から光が照射された状態で撮影して得られた第１の画像に対して画像処理を行う画像処理方法であって、
決定手段が、前記被写体と前記照明装置の位置関係に基づいて、撮影時に存在しなかった仮想光源の位置を前記照明装置と異なる位置に決定する決定工程と、
処理手段が、前記決定工程で決定された前記仮想光源の位置と前記被写体の形状に基づいて、前記被写体における前記仮想光源から照射された光の反射成分を算出する算出工程と、
前記処理手段が、前記第１の画像に対して、画像における前記被写体の領域について、前記照明装置からの光成分を低減するように明るさを補正するとともに、前記仮想光源からの光の反射成分を付加するように明るさを補正する処理工程と
を有することを特徴とする画像処理方法。
【請求項１２】
コンピュータを、請求項１乃至８のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１３】
請求項１２に記載のプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び方法、及び撮像装置に関し、特に入力された画像の明るさを補正する技術に関するものである。
【背景技術】
【０００２】
被写体を撮影する際に、被写体の明るさが不十分である場合、撮影した画像が暗くなることがある。暗い部分の明るさを補うためゲインをかけると、ノイズによって画質が劣化し、高品位な画像を取得することは難しい。明るさを補い、ノイズ感の少ない画像を取得するためには、従来から、例えばフラッシュなどの照明装置を利用して十分な光量を確保したうえで撮影する方法がある。しかし、フラッシュなどの照明装置を発光させて撮影を行うと、被写体の陰影が消失してしまうことにより、被写体の立体感が損なわれた平坦な画像となってしまう場合がある。
【０００３】
例えば、特許文献１では、被写体の立体感を損なわずに画像を取得する方法として、フラッシュなどの光源手段を複数備え、フラッシュの照射位置などの照射条件を複数設定して撮影を行い、該撮影された複数の画像の中から陰影のある画像を選択する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１６７３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の方法では、複数の光源手段によって何度も照射条件を変更しながら撮影する必要があり、また、フラッシュを用いて撮影することで陰影を失った画像に関しては、陰影を付加することができないという課題がある。
【０００６】
本発明は上記問題点を鑑みてなされたものであり、フラッシュ等の照明装置による照明により被写体の陰影が失われた画像から、良好な陰影のある画像を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、被写体に照明装置から光が照射された状態で撮影して得られた第１の画像に対して画像処理を行う本発明の画像処理装置は、前記被写体と前記照明装置の位置関係に基づいて、撮影時に存在しなかった仮想光源の位置を前記照明装置と異なる位置に決定する決定手段と、前記決定手段によって決定された前記仮想光源の位置と前記被写体の形状に基づいて、前記被写体における前記仮想光源から照射された光の反射成分を算出する算出手段と、前記第１の画像に対して、画像における前記被写体の領域について、前記照明装置からの光成分を低減するように明るさを補正するとともに、前記仮想光源からの光の反射成分を付加するように明るさを補正する処理手段とを有する。
【発明の効果】
【０００８】
本発明によれば、フラッシュ等の照明装置による照明により被写体の陰影が失われた画像から、良好な陰影のある画像を得ることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態におけるデジタルカメラの構成を示すブロック図。
【図２】実施形態における画像処理部の構成を示すブロック図。
【図３】実施形態における仮想光源のパラメータを決定する処理を示すフローチャート。
【図４】実施形態における環境光の状態例を示す模式図。
【図５】実施形態における仮想光源を設定する位置の例を示す模式図。
【図６】第１の実施形態におけるリライティング処理部の構成を示すブロック図。
【図７】実施形態における仮想光源からの仮想的な光の反射を説明する模式図。
【図８】第1の実施形態における仮想光源から仮想的な光による陰影付加の一例を示す図。
【図９】第２の実施形態におけるリライティング処理部の構成を示すブロック図。
【図１０】第２の実施形態における仮想光源からの仮想的な光による陰影付加の一例を示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明を実施するための形態を詳細に説明する。なお、本実施形態では、画像処理装置として、本発明をデジタルカメラに適用した例について説明する。
【００１１】
＜第１の実施形態＞
以下、図１〜７を参照して本発明の第１の実施形態について説明する。図１は、第１の実施形態におけるデジタルカメラ１００の構成例を示すブロック図である。
【００１２】
図１に示すデジタルカメラ１００において、ズームレンズ、フォーカスレンズを含むレンズ群１０１（撮像光学系）、及び、絞り機能を備えるシャッター１０２を介して入射した光は、撮像部１０３において光電変換される。撮像部１０３は、ＣＣＤやＣＭＯＳ素子などで構成され、光電変換により得られた電気信号は、画像信号としてＡ／Ｄ変換器１０４へ出力される。Ａ／Ｄ変換器１０４は、撮像部１０３から出力されるアナログ画像信号をデジタル画像信号（画像データ）に変換し、画像処理部１０５に出力する。
【００１３】
画像処理部１０５は、Ａ／Ｄ変換器１０４からの画像データ、または、メモリ制御部１０７を介して画像メモリ１０６から読み出された画像データに対し、ホワイトバランスなどの色変換処理、γ処理、輪郭強調処理、色補正処理などの各種画像処理を行う。画像処理部１０５から出力された画像データは、メモリ制御部１０７を介して画像メモリ１０６に書き込まれる。画像メモリ１０６は、画像処理部１０５から出力された画像データや、表示部１０９に表示するための画像データを格納する。
【００１４】
顔検出部１１３は、撮影された画像から人物の顔が存在する顔領域を検出する。画像処理部１０５では、顔検出部１１３の顔検出結果や、撮像した画像データを用いて所定の評価値算出処理を行い、得られた評価値に基づいてシステム制御部５０が露光制御、測距制御を行う。これにより、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理などを行う。
【００１５】
また、Ｄ／Ａ変換器１０８は、画像メモリ１０６に格納されている表示用のデジタルの画像データをアナログ信号に変換して表示部１０９に供給する。表示部１０９は、ＬＣＤ等の表示器上に、Ｄ／Ａ変換器１０８からのアナログ信号に応じた表示を行う。
【００１６】
コーデック部１１０は、画像メモリ１０６に格納された画像データをＪＰＥＧ、ＭＰＥＧなどの規格に基いてそれぞれ圧縮符号化する。システム制御部５０は符号化した画像データを、インタフェース（Ｉ／Ｆ）１１１を介して、メモリカードやハードディスク等の記録媒体１１２に格納する。
【００１７】
また、Ｉ／Ｆ１１１を介して記録媒体１１２から読み出された画像データをコーデック部１１０により復号して伸長し、画像メモリ１０６に格納する。そして、画像メモリ１０６に格納された画像データを、メモリ制御部１０７、Ｄ／Ａ変換器１０８を介して表示部１０９に表示することで、画像を再生表示することができる。
【００１８】
リライティング処理部１１４は、撮影された画像にリライティング処理（再照明処理）を行う。なお、リライティング処理部１１４により行われるリライティング処理については、詳細に後述する。
【００１９】
システム制御部５０はデジタルカメラ１００のシステム全体を制御する。不揮発性メモリ１２１は、ＥＥＰＲＯＭなどのメモリにより構成され、システム制御部５０の処理に必要なプログラムやパラメータなどを格納する。システムメモリ１２２はシステム制御部５０の動作用の定数、変数、不揮発性メモリ１２１から読みだしたプログラム等を展開するために用いられる。
【００２０】
操作部１２０は、ユーザによる操作を受け付ける。フラッシュ１２３は照明装置であり、測距センサ１２４は被写体までの距離を測定する。
【００２１】
図２は、画像処理部１０５の構成を示すブロック図である。以下、図２を参照して、画像処理部１０５における処理について説明する。なお、本実施形態では、撮像部１０３はベイヤー配列のカラーフィルタにより覆われているものとする。従って、撮像部１０３の各画素からはＲ、Ｇ、Ｂいずれかの画像信号が出力される。
【００２２】
図１のＡ／Ｄ変換器１０４から画像処理部１０５に入力された画像信号は、まず、図２の同時化処理部２００に入力される。同時化処理部２００は、入力されたＲ、Ｇ、Ｂの画像信号に対して同時化処理を行い、各画素について色信号ＲＧＢを生成する。ＷＢ増幅部２０１は、公知の処理によりシステム制御部５０が算出するホワイトバランスゲイン値に基づき、生成された各画素の色信号ＲＧＢにゲインをかけ、ホワイトバランスを調整する。ＷＢ増幅部２０１によりホワイトバランスが調整された色信号ＲＧＢは、輝度・色信号生成部２０２に入力される。輝度・色信号生成部２０２は色信号ＲＧＢから輝度信号Ｙを生成し、生成した輝度信号Ｙを輪郭強調処理部２０３へ、また、色信号ＲＧＢを色変換処理部２０５へ出力する。
【００２３】
輪郭強調処理部２０３では、輝度信号Ｙに対して輪郭強調処理を行い、輝度ガンマ処理部２０４へ出力する。輝度ガンマ処理部２０４では輝度信号Ｙに対してガンマ補正を行い、メモリ制御部１０７を介して輝度信号Ｙを画像メモリ１０６に出力する。
【００２４】
一方、色変換処理部２０５は、色信号ＲＧＢに、例えば、マトリクス演算を行って、所望のカラーバランスへ変換する。色ガンマ処理部２０６では、色信号ＲＧＢにガンマ補正を行う。色差信号生成部２０７では、ＲＧＢ信号から色差信号Ｒ−Ｙ、Ｂ−Ｙを生成する。
【００２５】
このようにして生成された輝度信号Ｙ及び色差信号Ｒ−Ｙ、Ｂ−Ｙ（画像データ）は、画像メモリ１０６に一旦記憶され、コーデック部１１０によって圧縮符号化され、記録媒体１１２に記録する。
【００２６】
また、色変換処理部２０５により処理された色信号ＲＧＢは、環境光源情報抽出部２０８へも入力される。環境光源情報抽出部２０８は、実際の環境光源の状態を推定するための情報を取得する。本実施形態における環境光源の状態とは、カメラ１００に対する光源の方向であり、光源の方向を推定するための輝度分布情報を環境光源情報として出力する。そして、出力された環境光源情報をシステムメモリ１２２に記憶する。なお、フラッシュ１２３を発光して撮影を行う際には、フラッシュ１２３の発光前の画像を取得し、取得した画像の輝度分布情報を環境光情報として出力する。環境光源情報の推定方法に関しては後述する。
【００２７】
次に、画像処理部１０５から出力された画像データ（輝度信号Ｙ及び色差信号Ｒ−Ｙ、Ｂ−Ｙ）に対して、リライティング処理部１１４で行うリライティング処理について説明する。なお、システム制御部５０は、リライティング処理部１１４における処理に先立って、リライティング処理部１１４に設定する制御パラメータを計算し、リライティング処理部１１４へパラメータを設定する。
【００２８】
図３は、リライティング処理時のシステム制御部５０による処理を示すフローチャートである。以下、図３のフローチャートに従って、リライティング処理時のシステム制御部５０の仮想光源パラメータ決定動作について説明する。
【００２９】
Ｓ３０１では、操作部１２０に対するユーザからの操作によってリライティング処理が選択されているか判定する。リライティング処理を行うモードの場合はＳ３０２に進み、リライティング処理を行わない場合は処理を終了する。
【００３０】
Ｓ３０２では、処理対象の画像が、フラッシュ１２３が発光されて撮影されたか否かを判定する。フラッシュ撮影された画像（第１の画像）である場合はＳ３０３に進み、フラッシュ撮影された画像でない場合は処理を終了する。Ｓ３０３では、フラッシュ１２３の発光前に取得した画像に基づいて、環境光源情報抽出部２０８により取得した環境光源情報から、環境光源の方向を推定する。この処理について、図４を用いて具体的に説明する。
【００３１】
まず、画像が逆光シーンであるかどうか判定する。この逆光シーンの判定は、公知の技術を用いて行うことができる。例えば、撮影時の露出情報及び撮影画像の輝度情報を利用して、露出情報から算出した照度が所定の閾値よりも高く、画面上部の輝度が高く画面中央部の輝度が低いシーンを逆光シーンであると判定する。逆光シーンと判断した例を図４（ａ）、逆光シーンでないと判断した例を図４（ｂ）に示す。
【００３２】
また、逆光でないと判断した場合は、さらに詳細な環境光源の方向を推定する。本実施形態では、環境光源の方向は、フラッシュ１２３の発光前に取得した画像における主被写体への陰影のつき方から判断する。図４（ｂ）を用いて、具体的な例を説明すると、主被写体が人物であった場合、その顔領域４０１中から肌色部分の平均輝度を取得する。４０２は、顔の肌色領域の水平方向の輝度分布を示している。水平方向の輝度分布に基づき、顔の左右のどちらの輝度が高いか、即ち、顔の左右のどちらが明るいかを判定する。図４（ｂ）の例では左側の方が明るい分布をしている。そのため、環境光源は人物に向かって左側に位置していると推定する。同様に４０３は顔の肌色領域の垂直方向の輝度分布を示している。垂直方向の輝度分布に基づき、顔の上下でどちらの輝度が高いか、即ち、顔の上下のどちらが明るいかを判定する。図４（ｂ）の例では、上下方向で大きな差はないため、環境光源の高さが顔の中心の高さ付近であると推定する。
【００３３】
図３に戻り、Ｓ３０４では、Ｓ３０３で環境光源の方向を推定した結果、逆光であるかを判断する。逆光と判断した場合はＳ３０５に進み、逆光でないと判断した場合はＳ３０６に進む。
【００３４】
Ｓ３０５では、主被写体（本実施形態では人物）の向き及び画像中の位置に基づき、仮想光源の位置を決定する。この方法について図５を用いて説明する。図５（ａ）はフラッシュ非発光時の被写体と、カメラ１００及びフラッシュ１２３の位置関係を示している。カメラ１００とフラッシュ１２３の位置関係は固定されており、被写体に対するフラッシュの方向が特定できる。Ｓ３０５では、フラッシュ１２３の照射位置とは異なる位置に仮想光源を配置する。具体的には、主被写体の顔の向きによって位置を決定する。例えば、図５（ａ）に示すように顔が向かって左側を向いている場合、顔の左側面の面積が大きく撮影される。そこで、主被写体に向かって右側の位置５０１に仮想光源を配置する。
【００３５】
顔が正面を向いている場合は、主被写体の画像中の位置によって、仮想光源の位置を決定する。例えば、図５（ｂ）に示すように、向かって右側に主被写体がいる場合は、主被写体に対して左側から照射する位置５０２に仮想光源を配置する。
【００３６】
図３に戻り、逆光ではないと判断した場合、Ｓ３０６において、環境光源による光の照射方向と仮想光源による光の照射方向がおおよそ近くなるように仮想光源の位置を決定する。例えば、図５（ｃ）の例ではＳ３０３で判定した通り、主被写体に対して、向かって左から環境光源が照射されていると判断しているので、仮想光源の位置も左側から照射する位置５０３に決定する。
【００３７】
Ｓ３０７では、仮想光源の色味を環境光の色味と同じになるように設定する。この制御に関しては後述する。Ｓ３０８では、仮想光源の配光特性をフラッシュ光よりも広くなるような特性に設定する。環境光により近い拡散した光を仮想光源の配光特性とすることで、より自然な画像を得ることが可能となる。以上の処理により、リライティング処理時の仮想光源パラメータを決定する。
【００３８】
次にリライティング処理部１１４の構成及び動作について説明する。図６はリライティング処理部１１４の構成を示すブロック図である。以下、図６を参照して、リライティング処理部１１４の動作について説明する。
【００３９】
リライティング処理部１１４は、画像処理部１０５により処理されて画像メモリ１０６に記録された輝度信号Ｙ及び色差信号Ｂ−Ｙ、Ｒ−Ｙを読み出し、入力とする。ＲＧＢ信号変換部６０１は、入力された輝度信号Ｙ及び色差信号Ｂ−Ｙ、Ｒ−ＹをＲＧＢ信号に変換し、デガンマ処理部６０２へ出力する。
【００４０】
デガンマ処理部６０２は、画像処理部１０５の輝度ガンマ処理部２０４及び色ガンマ処理部２０６におけるガンマ補正のガンマ特性と逆の特性の演算（デガンマ処理）を行い、リニアデータに変換する。デガンマ処理部６０２は、リニアデータに変換後のＲＧＢ信号（Ｒｔ、Ｇｔ、Ｂｔ）を、仮想光源反射成分算出部６０４及び仮想光源付加処理部６０５に出力する。
【００４１】
一方、法線算出部６０３は測距センサ１２４から取得した被写体の距離情報から、被写体の形状を表す形状情報として法線マップを算出する。被写体の距離情報から法線マップを生成する方法に関しては、公知の技術を用いるものとする。その一例について、図７を用いて説明する。図７はカメラ撮影座標と、被写体の関係を示す図である。例えば、図７に示すようにある被写体７０１に対して、撮影画像の水平方向の差分ΔＨに対する、距離Ｄの差分ΔＤＨと、不図示ではあるが、垂直方向の差分ΔＶに対する距離Ｄの差分ΔＤＶとから、被写体の一部分における勾配情報を算出する。そして、求めた被写体の一部分における勾配情報から法線を算出する。なお、図７においては、撮影画像の垂直方向は紙面に対して垂直な方向である。この算出方法により、撮影画像の各画素に対応する法線Ｎを算出することが可能である。法線算出部６０３は、撮影画像の各画素に対応する被写体の複数の部分の法線Ｎを法線マップとして仮想光源反射成分算出部６０４に出力する。
【００４２】
仮想光源反射成分算出部６０４では、光源と被写体の距離Ｋ、法線Ｎ、仮想光源パラメータ（図３に示す処理で算出したもの）に基づき、設定した仮想光源から仮想的に照射された光のうち、被写体により反射される成分を算出する。具体的には、仮想光源と各画素に対応する被写体の部分との距離Ｋの二乗に反比例し、法線Ｎと光源方向Ｌとの内積に比例するように、撮影画像の座標位置に対応する被写体の部分における反射成分を算出する。
【００４３】
ここで、反射成分の算出方法について、図７を用いて説明する。図７において、７０２は、被写体７０１に対して設定した仮想光源の位置を示している。カメラ１００で撮影された撮影画像における画素位置（Ｈ１，Ｖ１）に対応する被写体７０１の部分における仮想的な光の反射成分は、その部分の法線Ｎ１と仮想光源の方向ベクトルＬ１との内積に比例し、仮想光源と被写体位置の距離Ｋ１に反比例する値となる。この関係を数式で表現すると仮想光源による被写体反射成分（Ｒａ、Ｇａ、Ｂａ）は下記の式（１）に示す通りとなる。
Ｒａ＝α×（−Ｌ・Ｎ）／Ｋ2×Ｒｗ×Ｒｔ
Ｇａ＝α×（−Ｌ・Ｎ）／Ｋ2      ×Ｇｔ      …（１）
Ｂａ＝α×（−Ｌ・Ｎ）／Ｋ2×Ｂｗ×Ｂｔ
【００４４】
ここで、αは仮想光源の光の強度、Ｌは仮想光源の３次元方向ベクトル、Ｎは被写体の３次元法線ベクトル、Ｋは仮想光源と被写体の距離である。また、Ｒｔ、Ｇｔ、Ｂｔはデガンマ処理部６０２から出力されたＲＧＢデータ、Ｒｗ、Ｂｗは光源の色を制御するパラメータである。本実施形態では、図３を参照して説明した通り、仮想光源の色を環境光源の色に合わせるパラメータを設定する。Ｒｗ、Ｂｗは非発光でのＲＧＢ値と、発光後のＲＧＢ値の比率から次の式（２）に示すように算出する。
Ｒｗ＝（Ｒ非発光／Ｇ非発光）／（Ｒｔ／Ｇｔ）
Ｂｗ＝（Ｂ非発光／Ｇ非発光）／（Ｂｔ／Ｇｔ）      …（２）
上述のようにして算出した仮想光源からの仮想的な光の反射成分（Ｒａ、Ｇａ、Ｂａ）は、仮想光源付加処理部６０５へ出力される。仮想光源付加処理部６０５では、フラッシュが照射された被写体領域に対して、式（３）に示す処理を行う。
Ｒｏｕｔ＝Ｒｔ／Ｓ＋Ｒａ
Ｇｏｕｔ＝Ｇｔ／Ｓ＋Ｇａ      …（３）
Ｂｏｕｔ＝Ｂｔ／Ｓ＋Ｂａ
ここで、１／Ｓはフラッシュが照射された部分の明るさを落とすゲインである。即ち、フラッシュの影響を受けた領域に関して、一旦、予め決められた割合で明るさを低減するゲインをかけた後、仮想光源によるリライティング処理を行うことで、陰影を付けている。
【００４５】
この処理の様子を図８に示す。図８（ａ）はフラッシュ１２３を発光せずに（Ｒ非発光、Ｇ非発光、Ｂ非発光）撮影した画像を示している。図８（ｂ）はフラッシュ撮影した画像（Ｒｔ、Ｇｔ、Ｂｔ）を示している。フラッシュ１２３の発光前後の画像を比較して、明るさが大きく変化している領域を特定し、その領域のみ明るさを落とす処理を行う。図８（ｃ）はフラッシュの影響を受けた被写体領域の明るさを落とした画像（Ｒｔ／Ｓ、Ｇｔ／Ｓ、Ｂｔ／Ｓ）を示している。図８（ｄ）は仮想光源によるリライティング処理を行った画像（Ｒｏｕｔ、Ｇｏｕｔ、Ｂｏｕｔ）を示している。
【００４６】
図６に戻り、仮想光源付加処理部６０５によりリライティング処理された画像信号（Ｒｏｕｔ、Ｇｏｕｔ、Ｂｏｕｔ）はガンマ処理部６０６に入力される。ガンマ処理部６０６では、入力されたＲＧＢ信号にガンマ補正を行う。輝度・色差信号変換部６０７では、ＲＧＢ信号から輝度信号Ｙ及び色差信号Ｒ−Ｙ、Ｂ−Ｙを生成する。
【００４７】
システム制御部５０は、リライティング処理部１１４が出力した輝度信号Ｙ及び色差信号Ｒ−Ｙ、Ｂ−Ｙを、メモリ制御部１０７の制御によって、画像メモリ１０６に蓄積した後、コーデック部１１０で圧縮符号化を行う。そして、Ｉ／Ｆ１１１を介して記録媒体１１２に記録する。
【００４８】
上記の通り第１の実施形態によれば、フラッシュ撮影された画像に対して、フラッシュとは異なる方向から光を照射する位置に仮想光源を設定し、被写体の形状に応じた、仮想光源からの仮想的な光の反射成分に基づいてリライティング処理を行う。これにより、陰影のある立体感のある画像を生成することが可能となる。
【００４９】
＜第２の実施形態＞
以下、図９及び図１０を参照して、本発明の第２の実施形態について説明する。第１の実施形態では、仮想光源を設定し、仮想光源からの仮想的な光の反射成分を算出して元の画像に付加していたが、第２の実施形態では、仮想光源によって生じる陰影成分を算出し、陰影を付加する処理を行う。
【００５０】
なお、第２の実施形態における、デジタルカメラの全体構成及び仮想光源の位置の算出処理は、第１の実施形態において図３〜図５を参照して説明したものと同様であるため、説明を省略する。ただし、第２の実施形態のリライティング処理部１１４の内部構成が、図６を参照して上述した第１の実施形態における構成と異なる。
【００５１】
図９は、第２の実施形態におけるリライティング処理部１１４の内部構成を示すブロック図である。なお、図６と同様の構成には同じ参照番号を付して説明を省略する。図９のリライティング処理部１１４は、図６の仮想光源反射成分算出部６０４と仮想光源付加処理部６０５の代わりに、仮想光源陰影成分算出部９０１及び仮想光源陰影付加処理部９０２を備える。
【００５２】
仮想光源陰影成分算出部９０１では、光源と被写体の距離Ｒ、法線Ｎ、仮想光源パラメータ（図３に示す処理で算出したもの）に基づき、設定した仮想光源からの仮想的な光が被写体に照射されたときに生じる陰影成分を算出する。具体的には、被写体法線Ｎと光源の方向Ｌの内積が小さいほどより多くの陰影を付加するように、撮影画像に対応する座標位置の反射成分を算出する。
【００５３】
上記算出方法について、図７を用いて説明する。カメラ１００で撮影された撮影画像における画素位置（Ｈ１，Ｖ１）における反射成分は、画素位置（Ｈ１，Ｖ１）における法線Ｎ１と仮想光源の方向ベクトルＬ１の内積に比例し、仮想光源と被写体位置の距離Ｋ１に反比例する値となる。この関係を数式で表現すると仮想光源による陰影成分（Ｒｓ、Ｇｓ、Ｂｓ）は下記の式（４）に示す通りとなる。
Ｒｓ＝α×（１−（−Ｌ・Ｎ））／Ｋ2×Ｒｃ×Ｒｔ
Ｇｓ＝α×（１−（−Ｌ・Ｎ））／Ｋ2×Ｇｃ×Ｇｔ      …（４）
Ｂｓ＝α×（１−（−Ｌ・Ｎ））／Ｋ2×Ｂｃ×Ｂｔ
【００５４】
ここで、αは仮想光源の光の強度、Ｌは仮想光源の３次元方向ベクトル、Ｎは被写体の３次元法線ベクトル、Ｋは仮想光源と被写体の距離である。また、Ｒｔ、Ｇｔ、Ｂｔはデガンマ処理部６０２から出力されたＲＧＢデータ、Ｒｃ、Ｇｃ、Ｂｃは被写体色の補色である。第２の実施形態では、被写体が人物である場合を想定しているため、Ｒｃ、Ｇｃ、Ｂｃとして、被写体の顔領域の色の平均値をデガンマ後の画像データ（Ｒｔ、Ｇｔ、Ｂｔ）から算出する。
上記のように仮想光源陰影成分算出部９０１で算出した仮想光源による陰影成分（Ｒｓ、Ｇｓ、Ｂｓ）は、仮想光源陰影付加処理部９０２へ出力される。仮想光源陰影付加処理部９０２では、被写体の距離が所定の距離よりも近い被写体に対して、式（５）に示す処理を行う。
Ｒｏｕｔ＝Ｒｔ−Ｒｓ
Ｇｏｕｔ＝Ｇｔ−Ｇｓ      …（５）
Ｂｏｕｔ＝Ｂｔ−Ｂｓ
【００５５】
この制御結果の様子を図１０に示す。図１０（ａ）はフラッシュ１２３を発光せずに撮影した画像を示している。図１０（ｂ）はフラッシュ撮影した画像（Ｒｔ、Ｇｔ、Ｂｔ）を示している。図１０（ｃ）は仮想光源によって生じる陰影を付加した画像（Ｒｏｕｔ、Ｇｏｕｔ、Ｂｏｕｔ）を示している。
【００５６】
図９に戻り、仮想光源陰影付加処理部９０２から出力された画像信号（Ｒｏｕｔ、Ｇｏｕｔ、Ｂｏｕｔ）に対して、ガンマ処理部６０６、及び、輝度・色差信号変換部６０７により処理する。そして処理の結果として、第１の実施形態と同様に、輝度信号Ｙ、色差信号Ｒ−Ｙ、Ｂ−Ｙを出力する。
【００５７】
上記の通り第２の実施形態によれば、フラッシュ撮影された画像に対して、フラッシュとは異なる方向から光を照射する位置に仮想光源を設定し、仮想光源によって生じる陰影成分を撮影画像に付加する処理を行う。これにより、陰影のある立体感のある画像を生成することが可能となる。
【００５８】
なお、第２の実施形態では、仮想光源を設定し、設定された仮想光源により生じる陰影成分を算出していた。しかしながら、本発明はこれに限るものではなく、事前にフラッシュの方向とは異なる方向から人物に照射したときに生じる陰影のテンプレートを備えておき、その陰影テンプレートを選択して、陰影成分を付加する構成をとってもよい。
【００５９】
また、上述した実施形態では、環境光の方向に基づき仮想光源の位置を決定したが、仮想光源の決め方はこれに限定されるものではなく、フラッシュ光と異なる方向からの光を当てる方法であれば、どのような形態をとってもかまわない。例えば、被写体に対して水平、垂直ともに４５度の位置から仮想光源を照射するなどの構成をとることも可能である。
【００６０】
また、上述した実施形態では、仮想光源の配光特性をフラッシュよりも広くする例について述べたが、仮想光源の配光特性をこれに限定するものではなく、フラッシュと配光特性が異なっていればどのような特性であっても構わない。例えば、環境光源の光の配光特性を検出し、それに合わせるような特性をとってもよい。具体的には、撮影シーンが屋内であるか屋外であるかを判定し、屋外の場合には、仮想光源を平行光源として設定し、屋内の場合には、仮想光源としてスポット光源や、点光源を設定する。これにより、より自然な雰囲気で陰影のついた画像を得ることが可能となる。
【００６１】
＜他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ、インターフェイス機器、スキャナ、ビデオカメラなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００６２】
また、上述したリライティング処理は、フラッシュ撮影した画像と、その前または後にフラッシュを発光させずに撮影した画像と、距離情報とを関連づけて記録媒体に記録しておくことで、撮影手段を有さない画像処理装置においてリライティング処理を実行することが可能である。
【００６３】
また、上述した例では、測距センサにより距離情報を取得するものとしたが、本発明はこれに限られるものではない。例えば、撮像部１０３の各画素を、レンズ群１０１の異なる瞳領域を通過した光を受光するように、複数の光電変換部により構成し、各光電変換部から得られる画像信号による一対の画像の視差に基づいて、距離情報を求めるようにしてもよい。その場合、距離情報として、各光電変換部からそれぞれ得られた画像信号を取得可能に記録しておくことにより、画像処理装置においてもリライティング処理を実行することが可能となる。
【００６４】
また、本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６５】
５０：システム制御部、１０１：レンズ群、１０３：撮像部、１０５：画像処理部、１０６：メモリ制御部、１０６：画像メモリ、１２３：フラッシュ、１２４：測距センサ、６０３：法線算出部、６０４：仮想光源反射成分算出部、６０５：仮想光源付加処理部
【図１】
0006381404.tif 000002
【図２】
0006381404.tif 000003
【図３】
0006381404.tif 000004
【図４】
0006381404.tif 000005
【図５】
0006381404.tif 000006
【図６】
0006381404.tif 000007
【図７】
0006381404.tif 000008
【図８】
0006381404.tif 000009
【図９】
0006381404.tif 000010
【図１０】
0006381404.tif 000011