(57)【要約】【課題】被写体に対して仮想的な光照射を行う仮想光源のパラメータを簡単なユーザ操作で決定することを可能にする技術を提供する。【解決手段】撮影画像の被写体における補正領域を設定する設定手段と、前記補正領域に関する法線情報を取得する取得手段と、前記法線情報に基づいて、前記被写体に対して仮想的な光照射を行う仮想光源のパラメータを決定する決定手段と、前記仮想光源による光照射が反映されるように前記撮影画像を補正する補正手段と、を備えることを特徴とする画像処理装置を提供する。【選択図】図５
2020024581.tif 000002
【特許請求の範囲】
【請求項１】
撮影画像の被写体における補正領域を設定する設定手段と、
前記補正領域に関する法線情報を取得する取得手段と、
前記法線情報に基づいて、前記被写体に対して仮想的な光照射を行う仮想光源のパラメータを決定する決定手段と、
前記仮想光源による光照射が反映されるように前記撮影画像を補正する補正手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記法線情報は、前記補正領域の複数の位置に対応する複数の法線を示す情報を含み、
前記決定手段は、前記複数の法線に基づいて代表法線を決定し、前記代表法線に基づいて前記パラメータを決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記代表法線の方向は、前記複数の法線の方向の平均値、中央値、又は最頻値である
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記代表法線は、前記補正領域の重心を通る
ことを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記法線情報は、前記補正領域の重心における法線である代表法線を示す情報を含み、
前記決定手段は、前記代表法線に基づいて前記パラメータを決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記仮想光源による光照射の効果を選択する選択手段を更に備え、
前記決定手段は、前記選択された効果及び前記代表法線に基づいて、前記仮想光源の前記パラメータを決定する
ことを特徴とする請求項２乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記選択された効果が前記補正領域に拡散反射成分を付加する効果である場合、前記決定手段は、前記仮想光源の照射光が前記代表法線を通って前記補正領域へ向かうように、前記仮想光源の前記パラメータを決定する
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記選択された効果が前記補正領域に鏡面反射成分を付加する効果である場合、前記決定手段は、前記仮想光源の照射光が、前記代表法線と前記補正領域の交点を通る特定の線を通って前記補正領域へ向かうように、前記仮想光源の前記パラメータを決定し、
前記代表法線は、前記交点を通る前記撮影画像の奥行き方向の線と前記特定の線との中間を通る
ことを特徴とする請求項６又は７に記載の画像処理装置。
【請求項９】
前記選択された効果が前記補正領域に陰影を付加する効果である場合、
前記決定手段は、前記仮想光源の照射光が前記補正領域に当たらないように前記仮想光源の前記パラメータを決定し、
前記補正手段は、前記仮想光源の照射光が当たらない領域を暗くするように前記撮影画像を補正する
ことを特徴とする請求項６乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記仮想光源の前記パラメータは、前記仮想光源の位置及び方向のうちの少なくとも一方を含む
ことを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記設定手段は、前記撮影画像の前記被写体においてユーザが選択した選択領域を前記補正領域として設定する
ことを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記選択領域が所定の条件を満たす場合、前記設定手段は、前記選択領域を複数の領域に分割し、前記複数の領域それぞれを前記補正領域として設定する
ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記撮影画像を生成する撮像手段を更に備える
ことを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理装置。
【請求項１４】
画像処理装置が実行する画像処理方法であって、
撮影画像の被写体における補正領域を設定する設定工程と、
前記補正領域に関する法線情報を取得する取得工程と、
前記法線情報に基づいて、前記被写体に対して仮想的な光照射を行う仮想光源のパラメータを決定する決定工程と、
前記仮想光源による光照射が反映されるように前記撮影画像を補正する補正工程と、
を備えることを特徴とする画像処理方法。
【請求項１５】
コンピュータを、請求項１乃至１２のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、撮影画像中の被写体に対して、仮想的な光源からの光を照射することにより、リライティングを行う技術が知られている。これにより、環境光によって生じた影などの暗部領域を明るくし、好ましい画像を得ることが可能となる。
【０００３】
例えば、特許文献１には、撮影画像に対して疑似的なライティング処理を行う技術が開示されている。具体的には、顔の最大輝度及び影の輝度に基づいて仮想光源のライティング強度を決定し、仮想光源の方向を環境光の方向とは逆方向に決定する処理が行われる。また、決定した仮想光源の方向や強度をユーザ操作により操作可能である。これにより、顔付近に生じた強い明暗のコントラストを低減させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１３５９９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１によれば、仮想光源の方向や強度などをユーザ操作により決定することができる。しかしながら、ユーザが仮想光源の方向や強度、範囲を操作することは直観的でない場合もある。従って、ユーザが仮想光源のパラメータを調整して所望の被写体領域を思い通りの明るさにするのは難しい場合があった。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、被写体に対して仮想的な光照射を行う仮想光源のパラメータを簡単なユーザ操作で決定することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、撮影画像の被写体における補正領域を設定する設定手段と、前記補正領域に関する法線情報を取得する取得手段と、前記法線情報に基づいて、前記被写体に対して仮想的な光照射を行う仮想光源のパラメータを決定する決定手段と、前記仮想光源による光照射が反映されるように前記撮影画像を補正する補正手段と、を備えることを特徴とする画像処理装置を提供する。
【発明の効果】
【０００８】
本発明によれば、被写体に対して仮想的な光照射を行う仮想光源のパラメータを簡単なユーザ操作で決定することが可能となる。
【０００９】
なお、本発明のその他の特徴及び利点は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【図面の簡単な説明】
【００１０】
【図１】デジタルカメラ１００の構成を示すブロック図。
【図２】画像処理部１０５の構成を示すブロック図。
【図３】リライティング処理部１１４の構成を示すブロック図。
【図４】カメラ撮影座標と被写体との関係を示す図。
【図５】リライティングパラメータ決定処理のフローチャート。
【図６】リライティング領域を設定する際のユーザ操作の様子を示した図。
【図７】代表法線の算出方法を説明する図。
【図８】３つのリライティングモードそれぞれに対応した仮想光源のパラメータの決定方法を説明する図。
【図９】リライティングの前後の撮影画像を示す図。
【図１０】ユーザにより選択された選択領域が広い場合の処理例を示す図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の実施形態を説明する。添付図面の全体を通じて、同一の参照符号が付与された要素は、同一又は同様の要素を表す。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。また、別々の実施形態の中で説明されている特徴を適宜組み合せることも可能である。
【００１２】
以下の各実施形態では、画像処理装置をデジタルカメラ（撮像装置）に適用した構成を例にして説明を行う。
【００１３】
［第１の実施形態］
図１は、デジタルカメラ１００の構成を示すブロック図である。図１において、１０１は、ズームレンズ及びフォーカスレンズを含むレンズ群である。１０２は、絞り機能を備えるシャッターである。１０３は、光学像を電気信号に変換するＣＣＤやＣＭＯＳ素子等で構成される撮像部である。１０４は、アナログ信号をデジタル信号に変換するＡ／Ｄ変換器である。１０５は、Ａ／Ｄ変換器１０４から出力される画像データに対し、ホワイトバランス処理や、γ処理、輪郭強調処理、色補正処理などの各種画像処理を行う画像処理部である。１０６は、画像メモリである。１０７は、画像メモリ１０６を制御するメモリ制御部である。１０８は、入力デジタル信号をアナログ信号に変換するＤ／Ａ変換器である。１０９は、ＬＣＤ等を含む表示部である。１１０は、画像データを圧縮符号化・復号化するコーデック部である。
【００１４】
１１１は、記録媒体１１２とのインタフェース（Ｉ／Ｆ）である。１１２は、メモリカードやハードディスク等の記録媒体である。１１３は、撮影画像中から顔が映っている領域を検出する顔検出部である。１１４は、撮影画像にリライティング処理を行うリライティング処理部である。５０は、デジタルカメラ１００のシステム全体を制御するシステム制御部である。１２１は、プログラムやパラメータなどを格納するＥＥＰＲＯＭなどの不揮発性メモリである。１２２は、システム制御部５０の動作用の定数、変数、不揮発性メモリ１２１から読みだしたプログラム等を展開するシステムメモリである。１２３は、ストロボ（光源装置）である。１２４は、被写体との距離を測定し、撮影画素の画素単位に対応する距離情報を２次元の距離マップ画像として出力する測距センサである。
【００１５】
次に、上記のように構成されたデジタルカメラ１００における被写体撮影時の基本動作について説明する。撮像部１０３は、レンズ１０１及びシャッター１０２を介して入射した光を光電変換し、入力画像信号としてＡ／Ｄ変換器１０４へ出力する。Ａ／Ｄ変換器１０４は、撮像部１０３から出力されるアナログ画像信号をデジタル画像信号に変換して画像処理部１０５に出力する。
【００１６】
画像処理部１０５は、Ａ／Ｄ変換器１０４からの画像データ、又は、メモリ制御部１０７からの画像データに対し、ホワイトバランスなどの色変換処理、γ処理、輪郭強調処理などを行う。また、画像処理部１０５は、顔検出部１１３の顔検出結果や撮像した画像データを用いて所定の評価値算出処理を行う。システム制御部５０は、得られた評価値に基づいて露光制御及び測距制御を行う。これにより、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理などを行うことができる。
【００１７】
画像処理部１０５から出力された画像データは、メモリ制御部１０７を介して画像メモリ１０６に書き込まれる。画像メモリ１０６は、撮像部１０３から出力された画像データや、表示部１０９に表示するための画像データを格納する。Ｄ／Ａ変換器１０８は、画像メモリ１０６に格納されている画像表示用のデータをアナログ信号に変換して表示部１０９に供給する。表示部１０９は、ＬＣＤ等の表示デバイス上に、Ｄ／Ａ変換器１０８からのアナログ信号に応じた表示を行う。
【００１８】
コーデック部１１０は、画像メモリ１０６に記録された画像データをＪＰＥＧ、ＭＰＥＧなどの規格に基づき圧縮符号化する。システム制御部５０は、符号化した画像データを、Ｉ／Ｆ１１１を介して記録媒体１１２に格納する。
【００１９】
以上、被写体撮影時の基本動作について説明した。上記の基本動作以外に、システム制御部５０は、前述した不揮発性メモリ１２１に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。ここでいうプログラムとは、本実施形態にて後述する各種フローチャートを実行するためのプログラムのことである。この際、システム制御部５０の動作用の定数、変数、不揮発性メモリ１２１から読み出したプログラム等は、システムメモリ１２２に展開される。
【００２０】
次に、図２を参照して、画像処理部１０５の詳細について説明する。図２は、画像処理部１０５の構成を示すブロック図である。図２において、２００は同時化処理部、２０１はＷＢ増幅部、２０２は輝度・色信号生成部である。２０３は輪郭強調処理部、２０４は輝度ガンマ処理部、２０５は色変換処理部、２０６は色ガンマ処理部、２０７は色差信号生成部である。
【００２１】
画像処理部１０５における動作について説明する。図１のＡ／Ｄ変換器１０４から出力された画像信号が、画像処理部１０５に入力される。画像処理部１０５に入力された画像信号は、同時化処理部２００に入力される。同時化処理部２００は、入力されたベイヤーＲＧＢの形式の画像データに対して同時化処理を行い、色信号Ｒ，Ｇ，Ｂを生成する。
【００２２】
ＷＢ増幅部２０１は、システム制御部５０が算出するホワイトバランスゲイン値に基づき、ＲＧＢの色信号にゲインをかけ、ホワイトバランスを調整する。ＷＢ増幅部２０１は、ホワイトバランスが調整されたＲＧＢ信号を、輝度・色信号生成部２０２に入力する。
【００２３】
輝度・色信号生成部２０２は、ＲＧＢ信号から輝度信号Ｙを生成し、生成した輝度信号Ｙを輪郭強調処理部２０３へ、色信号ＲＧＢを色変換処理部２０５へ、それぞれ出力する。
【００２４】
輪郭強調処理部２０３は、輝度信号Ｙに対して輪郭強調処理を行い、輝度ガンマ処理部２０４へ出力する。輝度ガンマ処理部２０４は、輝度信号Ｙに対してガンマ補正を行い、輝度信号Ｙを画像メモリ１０６に出力する。色変換処理部２０５は、ＲＧＢ信号に対するマトリクス演算などにより、所望のカラーバランス変換を行う。色ガンマ処理部２０６は、ＲＧＢの色信号にガンマ補正を行う。色差信号生成部２０７は、ＲＧＢ信号から色差信号Ｒ−Ｙ、Ｂ−Ｙを生成し、画像メモリ１０６に出力する。画像メモリ１０６に出力された画像信号（Ｙ、Ｒ−Ｙ、Ｂ−Ｙ）は、コーデック部１１０によって圧縮符号化され、記録媒体１１２に記録される。
【００２５】
次に、図３を参照して、リライティング処理部１１４の構成及び動作について説明する。ユーザ操作によりリライティング処理の実行が指示された場合、画像処理部１０５から出力された画像データはリライティング処理部１１４に入力され、仮想光源によるリライティング処理が行われる。
【００２６】
図３は、リライティング処理部１１４の構成を示すブロック図である。図３において、３０１は、入力された輝度・色差信号（Ｙ、Ｂ−Ｙ、Ｒ−Ｙ）をＲＧＢ信号に変換するＲＧＢ信号変換部である。３０２は、デガンマ処理を行うデガンマ処理部である。３０３は、仮想光源によるリライティング信号を画像データに付加する仮想光源付加処理部である。３０４は、ＲＧＢ信号にガンマ特性をかけるガンマ処理部である。３０５は、ＲＧＢ信号を輝度・色差信号（Ｙ、Ｂ−Ｙ、Ｒ−Ｙ）に変換する輝度・色差信号変換部である。３１０は、測距センサ１２４から出力される被写体距離情報から被写体の法線を算出する法線算出部である。３１１は、仮想光源の照射光が被写体に反射した成分を算出する仮想光源反射成分算出部である。
【００２７】
上記の構成のリライティング処理部１１４の動作について説明する。リライティング処理部１１４は、画像メモリ１０６に記録された輝度・色差信号（Ｙ、Ｂ−Ｙ、Ｒ−Ｙ）を読み出し、ＲＧＢ信号変換部３０１に入力する。ＲＧＢ信号変換部３０１は、入力された輝度・色差信号（Ｙ、Ｂ−Ｙ、Ｒ−Ｙ）をＲＧＢ信号に変換し、デガンマ処理部３０２へ出力する。デガンマ処理部３０２は、画像処理部１０５におけるガンマ処理により適用されたガンマ特性と逆の特性の演算を行い、ＲＧＢ信号をリニアデータに変換する。デガンマ処理部３０２は、リニア変換後のＲＧＢ信号（Ｒｔ、Ｇｔ、Ｂｔ）を、仮想光源反射成分算出部３１１及び仮想光源付加処理部３０３に出力する。
【００２８】
一方、法線算出部３１０は、測距センサ１２４から取得した被写体距離情報から法線マップを算出する。被写体距離情報とは、撮影画像の画素単位で得られる２次元の距離情報のことである。被写体距離情報から法線マップを生成する方法に関しては、任意の公知の技術を用いることができるが、具体的な処理例について図４を用いて説明する。
【００２９】
図４は、カメラ撮影座標と被写体との関係を示す図である。例えば、図４に示す被写体４０１の法線Ｎ４０２を算出する場合を考える。この場合、法線算出部３１０は、撮影画像の水平方向の差分ΔＨに対する距離（奥行き）Ｄの差分ΔＤから勾配情報を算出し、勾配情報から法線Ｎ４０２を算出することが可能である。法線算出部３１０は、撮影した各画素に対して上記の処理を行うことで、撮影画像の各画素に対応する法線情報を算出する。法線算出部３１０は、撮影画像の各画素に対して算出した法線情報を法線マップとして仮想光源反射成分算出部３１１へ出力する。また、法線マップは、画像メモリ１０６（図１）にも出力され、後述するシステム制御部５０によるリライティングパラメータ決定処理に利用される。
【００３０】
仮想光源反射成分算出部３１１は、設置した仮想光源の照射光が被写体に反射する反射成分、又は、仮想光源の照射光が被写体に当たらない程度を示す非反射成分を算出する。本実施形態では、仮想光源による光照射の効果を定めるリライティングモードとして、
（１）拡散反射成分を付加するリライティング（拡散モード）
（２）光を減らす（陰影を付加する）リライティング（陰影モード）
（３）鏡面反射成分を付加するリライティング（鏡面モード）
の３つのモードを切り替え可能とする。仮想光源反射成分算出部３１１は、（非）反射成分信号（Ｒａ，Ｇａ，Ｂａ）として、（１）〜（３）のいずれかのリライティングモード（又はその組み合わせ）に対応する信号を出力する。仮想光源反射成分算出部３１１は、リライティングモードが拡散モードの場合に仮想光源による拡散反射成分を算出し、リライティングモードが陰影モードの場合に非反射成分を算出し、リライティングモードが鏡面モードの場合に鏡面反射成分を算出する。
【００３１】
なお、反射成分及び非反射成分は、仮想光源と被写体との距離Ｋ、法線情報Ｎ、仮想光源の鏡面反射方向Ｓ、及び仮想光源パラメータに基づいて算出される。仮想光源パラメータの算出（決定）に関しては後述する。
【００３２】
反射成分及び非反射成分の算出方法の具体例を、図４を用いて説明する。４０１は被写体、４０３は設定した仮想光源を示している。
【００３３】
リライティングモードが拡散モードの場合、仮想光源反射成分算出部３１１は、下記のように拡散反射成分を算出する。デジタルカメラ１００で撮影された撮影画像の水平画素位置Ｈ１における拡散反射成分は、カメラ座標Ｈ１における法線ベクトルＮ１と仮想光源の方向ベクトルＬ１の内積に比例し、仮想光源と被写体位置の距離Ｋ１の二乗に反比例する値となる。なお、図４において、垂直画素位置は説明の簡略化のため省略している。この関係を数式で表現すると、仮想光源による拡散反射成分（Ｒａ、Ｇａ、Ｂａ）は下記の通りとなる。
【００３４】
【数１】
2020024581.tif 000003
【００３５】
ここで、αは仮想光源の強さ、Ｌは仮想光源の３次元方向ベクトル、Ｎは被写体の３次元法線ベクトル、Ｋは仮想光源と被写体との間の距離、ｋｄは被写体の拡散反射率である。Ｎ及びＫは大きさが１に正規化されている。Ｒｔ、Ｇｔ、Ｂｔは、デガンマ処理部３０２から出力されたＲＧＢ信号である。Ｒｗ、Ｂｗは仮想光源の色を制御するパラメータである。
【００３６】
なお、仮想光源は複数設定することも可能であり、仮想光源毎にパラメータを制御することが可能である。
【００３７】
リライティングモードが陰影モードの場合、仮想光源反射成分算出部３１１は、下記のように非反射成分を算出する。非反射成分は、拡散反射成分が発生しない度合いを示すため、拡散度合い（−Ｌ・Ｎ）の補数（１−（−Ｌ・Ｎ））を用いて算出される。また、非反射成分（Ｒａ、Ｇａ、Ｂａ）は負値とし、撮影画像信号から非反射成分を減算するようにする。これにより、陰影を強めることができる。この関係を数式で表現すると、仮想光源による非反射成分（Ｒａ、Ｇａ、Ｂａ）は下記の通りとなる。
【００３８】
【数２】
2020024581.tif 000004
【００３９】
なお、陰影モードの場合に、照射された部分を暗くする光を照射する仮想光源を用いて陰影を付加してもよい。この場合、仮想光源反射成分算出部３１１の出力成分（Ｒａ、Ｇａ、Ｂａ）は下記の通りとなる。
【００４０】
【数３】
2020024581.tif 000005
【００４１】
リライティングモードが鏡面モードの場合、仮想光源反射成分算出部３１１は、下記のように鏡面反射成分を算出する。鏡面反射成分は、被写体に対する鏡面反射方向Ｓと被写体位置からデジタルカメラ１００への方向Ｖ（視線の方向）との内積に比例する。この関係を数式で表現すると、仮想光源による鏡面反射成分（Ｒａ、Ｇａ、Ｂａ）は下記の通りとなる。
【００４２】
【数４】
2020024581.tif 000006
【００４３】
ここで、Ｓは仮想光源の鏡面反射ベクトル、Ｖはデジタルカメラ１００から被写体位置への方向を示す視線方向ベクトル、Ｋｓは被写体の鏡面反射率である。Ｓ及びＶは大きさが１に正規化されている。また、βは反射した光の広がり具合を示す輝き係数であり、この値が大きくなると鏡面反射特性が急峻になる。
【００４４】
再び図３を参照すると、上記のように算出された仮想光源による（非）反射成分（Ｒａ、Ｇａ、Ｂａ）は、仮想光源付加処理部３０３へ出力される。仮想光源付加処理部３０３は、被写体領域に対して、（非）反射成分（Ｒａ、Ｇａ、Ｂａ）を付加する下記の処理を行う。
【００４５】
【数５】
2020024581.tif 000007
【００４６】
仮想光源付加処理部３０３から出力された画像信号（Ｒｏｕｔ、Ｇｏｕｔ、Ｂｏｕｔ）は、ガンマ処理部３０４に入力される。ガンマ処理部３０４は、入力されたＲＧＢ信号に対してガンマ補正を行う。輝度・色差信号変換部３０５は、ＲＧＢ信号から輝度信号Ｙ、色差信号Ｒ−Ｙ、Ｂ−Ｙを生成する。
【００４７】
以上が、リライティング処理部１１４の動作である。システム制御部５０は、リライティング処理部１１４が出力した輝度・色差信号を、メモリ制御部１０７の制御によって、画像メモリ１０６に蓄積したのち、コーデック部１１０で圧縮符号化を行う。また、システム制御部５０は、圧縮符号化された画像データを、Ｉ／Ｆ１１１を介して記録媒体１１２に記録する。
【００４８】
次に、図５を参照して、システム制御部５０がリライティング処理部１１４のパラメータ（仮想光源のパラメータ）を決定する処理について説明する。システム制御部５０は、リライティング処理に先立って、ユーザによる操作部１２０への、リライティング処理をオンにする操作を受け付ける。リライティング処理がオンの場合、システム制御部５０は、図５に示すフローチャートに従って、仮想光源のパラメータを決定する。
【００４９】
Ｓ５０１で、システム制御部５０は、ユーザによる操作部１２０への操作に応じて、リライティングモードを決定する。本実施形態では、前述した通り、ユーザはメニュー操作によりリライティングモードとして拡散モード、陰影モード、及び鏡面モードのいずれかを選択可能である。
【００５０】
Ｓ５０２で、システム制御部５０は、ユーザによる操作部１２０への操作に応じて、リライティングにより光を当てる（又は陰影を付ける）領域を設定する。図６は、リライティング領域（以下、「補正領域」又は「指定領域」などとも呼ぶ）を設定する際のユーザ操作の様子を示した図である。図６（Ａ）において、表示部１０９は、タッチ操作可能な液晶モニタであるものとする。６０１は、ユーザの手を示している。
【００５１】
図６（Ａ）に示すように、ユーザは、表示部１０９に表示された撮影画像中から補正したい領域を指でなぞることにより選択する。システム制御部５０は、ユーザが選択した選択領域を補正領域として設定する。図６（Ｂ）において、６０２は、ユーザにより選択された補正領域を示す。このように、リライティングにより光を加えたい（又は陰影を付けたい）領域をユーザが直接指定することができる。
【００５２】
図５に戻り、Ｓ５０３で、システム制御部５０は、法線算出部３１０（図３）から出力された法線情報を利用して、補正領域６０２の代表法線を算出する。代表法線の算出に関して、図７を用いて詳しく説明する。
【００５３】
図７（Ａ）は、撮影画像を示している。ここでは説明の簡略化のため、水平ライン７０１に関して代表法線を算出する方法を説明するが、補正領域６０２を含む全てのラインを考慮した代表法線を算出することも可能である。
【００５４】
リライティングモードが拡散モード又は鏡面モードの場合、図７（Ｂ）に示す算出方法により代表法線が算出される。図７（Ｂ）において、７０２は、水平ライン７０１における被写体距離（人物の顔領域の距離）を示している。システム制御部５０は、補正領域６０２に含まれる画素の法線情報を画像メモリ１０６から読み出し、補正領域６０２に含まれる法線ベクトルを平均化する。このとき、法線ベクトルは予め正規化しておく。また、システム制御部５０は、補正領域６０２に含まれる撮影画像の座標位置の平均値（補正領域６０２の重心）を算出し、座標平均を代表法線の始点とする。即ち、法線情報は、補正領域６０２の複数の位置に対応する複数の法線を示す情報を含み、システム制御部５０は、これら複数の法線に基づいて、補正領域６０２の重心を通る代表法線を決定する。その結果、代表法線７０３が算出される。
【００５５】
リライティングモードが陰影モードの場合、図７（Ｃ）に示す算出方法により代表法線及び直交代表法線が算出される。まず、システム制御部５０は、図７（Ｂ）と同様の算出方法により、代表法線７０３を算出する。そして、システム制御部５０は、代表法線７０３の方向と直交する方向を持つ直交代表法線ベクトルを算出する。次に、システム制御部５０は、直交代表法線ベクトルの始点を求める。具体的には、システム制御部５０は、代表法線７０３と直交する直交代表法線ベクトルに対して、成す角が所定の角度（例えば３０度）以内の被写体領域７０５を検出する。システム制御部５０は、被写体領域７０５の座標平均を、直交代表法線ベクトルの始点とする。その結果、直交代表法線７０４が得られる。
【００５６】
図５に戻り、Ｓ５０４で、システム制御部５０は、Ｓ５０３で算出した代表法線７０３又は直交代表法線７０４を利用して仮想光源のパラメータ（位置及び方向のうちの少なくとも一方を含む）を決定する。以下、図８を用いて、パラメータの決定方法について説明する。
【００５７】
図８は、３つのリライティングモードそれぞれに対応した仮想光源のパラメータの決定方法を説明する図である。図８（Ａ）は拡散モードに対応し、図８（Ｂ）は陰影モードに対応し、図８（Ｃ）は鏡面モードに対応する。
【００５８】
リライティングモードが拡散モードの場合、システム制御部５０は、図８（Ａ）に示すように、代表法線７０３の方向線上に仮想光源を配置する。被写体と仮想光源の距離Ｋが所定の固定値であるとすると、仮想光源８０１の位置が得られる。また、仮想光源８０１の照射範囲θ１は、補正領域６０２を全て含む角度となるように決定される。図８（Ａ）から理解できるように、仮想光源のパラメータは、仮想光源の照射光が代表法線７０３を通って補正領域６０２へ向かうように決定されている。こうして決定されたパラメータでリライティング（仮想光源による光照射が反映されるように撮影画像を補正する処理）を行った結果を図９（Ａ）に示す。図９（Ａ）において、９０１はリライティング前の撮影画像を示し、９０２はリライティング後の撮影画像を示す。代表法線７０３の方向からの拡散反射光を撮影画像に加えることで、補正領域６０２が明るくなるようなリライティングを行うことが可能である。
【００５９】
リライティングモードが陰影モードの場合、システム制御部５０は、図８（Ｂ）に示すように、直交代表法線７０４の方向線上に仮想光源を配置する。被写体と仮想光源の距離Ｋが所定の固定値であるとすると、仮想光源８０２の位置が得られる。また、仮想光源８０２の照射範囲θ２は、補正領域６０２を全て含まない角度となるように決定される。このように、仮想光源のパラメータは、仮想光源の照射光が補正領域６０２に当たらないように決定される。こうして決定されたパラメータでリライティングを行った結果を図９（Ｂ）に示す。図９（Ｂ）において、９０３はリライティング前の撮影画像を示し、９０４はリライティング後の撮影画像を示す。直交代表法線７０４の方向からの仮想光源を想定し、仮想光源が当たらない領域の信号を減算する制御を行うことで、補正領域６０２が暗くなるようなリライティングを行うことが可能である。
【００６０】
リライティングモードが鏡面モードの場合、システム制御部５０は、カメラ視線方向から見た場合に最も鏡面反射成分が発生しやすい方向に仮想光源を配置する。具体的には、システム制御部５０は、図８（Ｃ）に示すように、カメラ視線方向８０３と代表法線７０３の成す角θ３と同じ角度を持ち、カメラ視線方向８０３とは反対の方向線上に仮想光源を配置する。被写体と仮想光源の距離Ｋは所定の固定値とする。その結果、仮想光源８０４の位置が得られる。また、仮想光源８０４の照射範囲θ４は、補正領域６０２を全て含む角度となるように決定される。更に、システム制御部５０は、補正領域６０２の水平ラインの幅の広さに応じて、反射した光の広がり具合を示す輝き係数βを制御する。補正領域６０２の幅が狭い場合はβを大きくすることで急峻な鏡面反射を生成し、補正領域６０２の幅が広い場合はβを小さくすることでやわらかな鏡面反射を生成する。図８（Ｃ）から理解できるように、仮想光源のパラメータは、仮想光源の照射光が、代表法線７０３と補正領域６０２の交点８０５を通る特定の線８０６を通って補正領域６０２へ向かうように決定されている。代表法線７０３は、交点８０５を通る奥行き方向（カメラ視線方向８０３）の線８０７と線８０６との中間を通っている。こうして決定されたパラメータでリライティングを行った結果を図９（Ｃ）に示す。図９（Ｃ）において、９０５はリライティング前の撮影画像を示し、９０６はリライティング後の撮影画像を示す。鏡面反射が最も付く角度に仮想光源を設定することで、補正領域６０２に鏡面反射が付くようなリライティングを行うことが可能である。
【００６１】
図５に戻り、Ｓ５０５で、システム制御部５０は、Ｓ５０４で決定したリライティングパラメータ（仮想光源のパラメータ）を仮想光源反射成分算出部３１１（図３）に設定する。
【００６２】
以上、リライティングパラメータ決定処理について説明した。リライティング処理部１１４は、こうして決定されたパラメータに基づき、仮想光源による光照射が反映されるように撮影画像を補正する。
【００６３】
以上説明したように、第１の実施形態によれば、デジタルカメラ１００は、ユーザによる補正領域の選択を受け付け、補正領域に関する法線情報から代表法線を算出し、代表法線に基づき仮想光源のパラメータを決定する。これにより、被写体に対して仮想的な光照射を行う仮想光源のパラメータを簡単なユーザ操作で決定することが可能となる。
【００６４】
なお、上の説明では、ユーザはリライティングモードとして拡散モード、陰影モード、及び鏡面モードのいずれかを選択するものとしたが、選択可能なリライティングモードの種類はこれに限定されない。例えば、拡散反射成分と鏡面反射成分の両方を加えるモードのように上記３つのモードのうちの複数のモードを組み合わせたモードや、上記以外のモードなどが選択可能なモードとして追加されてもよい。補正領域の法線分布と光源の照射特性に基づき仮想光源のパラメータを決める方法であれば、どのような形態をとってもかまわない。
【００６５】
また、拡散反射成分や鏡面反射成分の強度を算出するモデルは、上で説明した数式のものに限定されない。採用するモデルに応じて、反射成分が高くなる位置・方向を算出し、それに基づいて仮想光源のパラメータを決定する方式であれば、どのような算出方法をとってもかまわない。
【００６６】
また、上の説明では、１つの選択領域（補正領域）に対して、代表法線を１つ算出するものとしたが、選択領域の範囲が所定の条件を満たす場合（例えば、選択領域が広い場合）は、複数の代表法線を算出する構成をとることも可能である。図１０は、ユーザにより選択された選択領域が広い場合の処理例を示している。図１０において、１００１は選択領域を示す。システム制御部５０は、選択領域１００１に含まれる法線の方向の広がりを判定し、法線の分布のばらつきが大きい場合は、選択領域１００１を複数の領域に分割し、複数の領域それぞれを補正領域として設定する。図１０（Ａ）の例では、システム制御部５０は、選択領域１００１を２つの補正領域に分割し、分割した補正領域毎に代表法線を算出している。１００２、１００３は、それぞれの分割した補正領域毎の代表法線を示す。システム制御部５０は、この２つの代表法線１００２、１００３に対してそれぞれ仮想光源のパラメータを算出する。算出方法は上で説明した算出方法と同様である。算出した仮想光源の位置を図１０（Ｂ）に示す。代表法線１００２に対して仮想光源１００４の位置が、代表法線１００３に対して仮想光源１００５の位置が、それぞれ得られる。このような制御をすることで、ユーザが選択領域として広い範囲を選択した場合でも、仮想光源を広範囲に照射することが可能である。
【００６７】
また、上の説明では、ユーザが選択する補正領域が１つであるものとしたが、選択可能な補正領域は１つに限定されず、複数の補正領域を選択可能な構成を採用してもよい。この場合、システム制御部５０は、補正領域毎に仮想光源を設定する。ただし、代表法線の方向が近い領域に関しては、まとめて１つの仮想光源を設定するなどの制御を行ってもよい。
【００６８】
また、上記の説明では、代表法線を補正領域に含まれる法線（補正領域の複数の位置に対応する複数の法線）の平均値から算出したが、代表法線の算出方法はこれに限定されない。例えば、代表法線を複数の法線の中央値から算出してもよいし、代表法線を複数の法線の方向をヒストグラム化したピーク値から算出してもよい。即ち、代表法線の方向は、複数の法線の方向の平均値、中央値、又は最頻値であってもよい。或いは、法線情報が、補正領域の座標平均値（重心）における法線を示す情報を含み、この法線を代表法線として用いてもよい。
【００６９】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７０】
５０…システム制御部、１００…デジタルカメラ、１０５…画像処理部、１１４…リライティング処理部、３０３…仮想光源付加処理部、３１０…法線算出部、３１１…仮想光源反射成分算出部
【図１】
2020024581.tif 000008
【図２】
2020024581.tif 000009
【図３】
2020024581.tif 000010
【図４】
2020024581.tif 000011
【図５】
2020024581.tif 000012
【図６】
2020024581.tif 000013
【図７】
2020024581.tif 000014
【図８】
2020024581.tif 000015
【図９】
2020024581.tif 000016
【図１０】
2020024581.tif 000017