(57)【要約】【課題】仮想光源に基づいて画像のリライティングを行う際に、処理対象の画素に対して、処理対象の画素の色を考慮した鏡面反射成分を加算する技術を提供する。【解決手段】画像に対して所定の色を有する仮想光源を設定し、前記仮想光源による光照射の効果が画像に付与されるように、画像処理を行う画像処理装置であって、前記画像における処理対象の画素について、前記所定の色を有する仮想光源による光の第１の鏡面反射成分を取得する第１の取得手段と、前記処理対象の画素について、前記仮想光源が前記所定の色の代わりに前記処理対象の画素の色を持つ場合に対応して、前記仮想光源による光の第２の鏡面反射成分を取得する第２の取得手段と、前記処理対象の画素に対して、前記第１の鏡面反射成分と前記第２の鏡面反射成分とを所定の比率で加算する加算手段と、を備えることを特徴とする画像処理装置を提供する。【選択図】図４
2019004290.tif 000002
【特許請求の範囲】
【請求項１】
画像に対して所定の色を有する仮想光源を設定し、前記仮想光源による光照射の効果が画像に付与されるように、画像処理を行う画像処理装置であって、
前記画像における処理対象の画素について、前記所定の色を有する仮想光源による光の第１の鏡面反射成分を取得する第１の取得手段と、
前記処理対象の画素について、前記仮想光源が前記所定の色の代わりに前記処理対象の画素の色を持つ場合に対応して、前記仮想光源による光の第２の鏡面反射成分を取得する第２の取得手段と、
前記処理対象の画素に対して、前記第１の鏡面反射成分と前記第２の鏡面反射成分とを所定の比率で加算する加算手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像は、撮像手段により撮像された画像であり、
前記処理対象の画素は、所定の被写体に含まれる画素であり、
前記画像処理装置は、
前記画像から前記所定の被写体を検出する検出手段と、
前記所定の被写体の輝度、前記画像の撮像時のＩＳＯ感度、及び前記被写体の色のうちの少なくともいずれかに基づいて前記所定の比率を決定する決定手段と、
を更に備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記決定手段は、前記被写体の輝度が高いほど、前記第１の鏡面反射成分の割合が大きくなるように前記所定の比率を決定する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記決定手段は、前記画像の撮像時のＩＳＯ感度が高いほど、前記第１の鏡面反射成分の割合が大きくなるように前記所定の比率を決定する
ことを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記決定手段は、前記被写体の色が前記所定の色に近いほど、前記第１の鏡面反射成分の割合が大きくなるように前記所定の比率を決定する
ことを特徴とする請求項２乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記処理対象の画素が閾値以上の値を持つ色成分を含む場合に、前記第２の取得手段による前記第２の鏡面反射成分の取得前に、前記被写体の色に基づいて、前記処理対象の画素の前記閾値以上の値を持つ色成分を補正する補正手段を更に備える
ことを特徴とする請求項２乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記画像は、撮像手段により撮像された画像であり、
前記画像処理装置は、前記画像の撮像時のＩＳＯ感度、前記画像の撮像時の露出量、及び前記画像の撮像時のストロボの発光量のうちの少なくともいずれかに基づいて前記所定の比率を決定する決定手段を更に備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記決定手段は、前記画像の撮像時のＩＳＯ感度が高いほど、前記第１の鏡面反射成分の割合が大きくなるように前記所定の比率を決定する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記画像の撮像時に適正露出量を検出する露出検出手段を更に備え、
前記決定手段は、前記適正露出量に対する前記露出量の比が大きいほど、前記第１の鏡面反射成分の割合が大きくなるように前記所定の比率を決定する
ことを特徴とする請求項７又は８に記載の画像処理装置。
【請求項１０】
前記画像の撮像時に前記ストロボの適正発光量を検出する発光検出手段を更に備え、
前記決定手段は、前記適正発光量に対する前記発光量の比が大きいほど、前記第１の鏡面反射成分の割合が大きくなるように前記所定の比率を決定する
ことを特徴とする請求項７乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
請求項１乃至１０のいずれか１項に記載の画像処理装置と、
前記画像を撮像する撮像手段と、
を備えることを特徴とする撮像装置。
【請求項１２】
画像処理装置が実行する、画像に対して所定の色を有する仮想光源を設定し、前記仮想光源による光照射の効果が画像に付与されるように、画像処理を行う画像処理方法であって、
前記画像における処理対象の画素について、前記所定の色を有する仮想光源による光の第１の鏡面反射成分を取得する第１の取得工程と、
前記処理対象の画素について、前記仮想光源が前記所定の色の代わりに前記処理対象の画素の色を持つ場合に対応して、前記仮想光源による光の第２の鏡面反射成分を取得する第２の取得工程と、
前記処理対象の画素に対して、前記第１の鏡面反射成分と前記第２の鏡面反射成分とを所定の比率で加算する加算工程と、
を備えることを特徴とする画像処理方法。
【請求項１３】
コンピュータを、請求項１乃至１０のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、撮影後の画像中の被写体に対して、仮想的な光源に基づくリライティングを行う技術が知られている。この技術によれば、ユーザは、撮影した画像の被写体に対して任意の陰影を付けることができる。また、仮想光源によるライティングにおいて、仮想光源からの光が被写体の表面上で入射角と同じ反射角で反射する成分（鏡面反射成分）をシミュレートし、被写体に付加する技術が知られている。この技術によれば、被写体の光沢などの質感を再現することができる。しかしながら、鏡面反射成分は光源の情報に基づいて生成されるため、被写体にそのまま付加しても被写体の色となじまないことがある。そこで、特許文献１では、鏡面反射中心からの距離に基づいて鏡面反射成分の色情報を変化させることで、所望の被写体の色を再現する方法を提案している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−０７７４１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
被写体の種類によっては、画像内に部分的に急峻な色の変化が生じる場合がある。例えば、被写体が人物の場合、人物の肌には毛穴やホクロなどがあり、この部分で急峻な色の変化が生じる可能性がある。しかしながら、特許文献１の技術は、このような被写体の部分的な色変化を考慮しておらず、被写体に付加する鏡面反射成分を被写体の部分的な色変化に適合させることができない。
【０００５】
本発明はこのような状況に鑑みてなされたものであり、仮想光源に基づいて画像のリライティングを行う際に、処理対象の画素に対して、処理対象の画素の色を考慮した鏡面反射成分を加算する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、画像に対して所定の色を有する仮想光源を設定し、前記仮想光源による光照射の効果が画像に付与されるように、画像処理を行う画像処理装置であって、前記画像における処理対象の画素について、前記所定の色を有する仮想光源による光の第１の鏡面反射成分を取得する第１の取得手段と、前記処理対象の画素について、前記仮想光源が前記所定の色の代わりに前記処理対象の画素の色を持つ場合に対応して、前記仮想光源による光の第２の鏡面反射成分を取得する第２の取得手段と、前記処理対象の画素に対して、前記第１の鏡面反射成分と前記第２の鏡面反射成分とを所定の比率で加算する加算手段と、を備えることを特徴とする画像処理装置を提供する。
【０００７】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【発明の効果】
【０００８】
本発明によれば、仮想光源に基づいて画像のリライティングを行う際に、処理対象の画素に対して、処理対象の画素の色を考慮した鏡面反射成分を加算することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】デジタルカメラ１００の構成を示すブロック図。
【図２】画像処理部１０４の詳細な構成を示すブロック図。
【図３】第１の実施形態に係る、リライティング処理部２０３の詳細な構成を示すブロック図。
【図４】リライティング処理のフローチャート。
【図５】デジタルカメラ１００の撮影座標と被写体との関係を示す図。
【図６】被写体の輝度平均値Ｙ＿ａｖｅの算出処理のフローチャート。
【図７】Ｎ＿ｖａｌｕｅの算出方法を説明する図。
【図８】評価値Ｅｖａｌと合成比率ａの関係を示す図。
【図９】距離Ｃ＿ｄｉｓｔと合成比率ａの関係を示す図。
【図１０】第２の実施形態に係る、リライティング処理部２０３の詳細な構成を示すブロック図。
【図１１】評価値Ｅｖａｌ＿ｃと合成比率ａの関係を示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。また、別々の実施形態の中で説明されている特徴を適宜組み合せることも可能である。
【００１１】
［第１の実施形態］
図１は、画像処理装置の一例であるデジタルカメラ１００の構成を示すブロック図である。以下の説明においては、リライティング処理の対象画像はデジタルカメラ１００により撮影された画像であるものとする。しかしながら、リライティング処理の対象画像は撮影画像に限定されず、３次元空間における所定の視点を持つ任意の画像（例えば、コンピュータグラフィックス）を対象画像として用いることができる。
【００１２】
デジタルカメラ１００は、光学系１０１、撮像素子１０２、Ａ／Ｄ変換部１０３、画像処理部１０４、測距部１０５、顔検出部１０６、記録部１０７、制御部１０８、メモリ１０９、操作部１１０、表示部１１１、ストロボ１１２を備えている。
【００１３】
光学系１０１にはフォーカスレンズや絞り、シャッターが含まれる。光学系１０１は、撮影時にはフォーカスレンズを駆動し被写体のピント合わせを行い、絞りやシャッターを制御することにより露光量の調節をする。撮像素子１０２は、光学系１０１において結像された被写体の光量を光電変換によって電気信号にするＣＣＤやＣＭＯＳ等の光電変換素子である。Ａ／Ｄ変換部１０３では、入力された電気信号をデジタル化する。デジタル化された画像信号は、画像処理部１０４で同時化処理、ホワイトバランス補正処理、リライティング処理、ガンマ処理などが行われ、記録部１０７に出力される。測距部１０５は、撮影時の被写体までの距離情報を取得し距離マップを生成する。距離マップとは、撮影した画像の画素単位での被写体までの距離情報を示す二次元配列である。
【００１４】
顔検出部１０６は、画像処理部１０４で行うリライティング処理の対象領域である被写体領域を判定するため、撮影画像中の人物の顔領域を検出する。この時、顔検出部１０６は、右目、左目、口などの顔器官の座標を検出し、右目と左目の距離など各顔器官同士の距離を算出する。顔検出部１０６は、各顔器官同士の距離に基づいて、背景領域を含まないように、各顔器官の座標の重心座標を中心とする楕円領域を設定し、この楕円領域を顔領域として検出する。
【００１５】
記録部１０７は、画像処理部１０４から出力された画像情報をＪＰＥＧ等の画像形式に変換し、記録する。若しくは、記録部１０７は、ＪＰＥＧ等への変換を行わずに、撮像素子１０２での光電変換により得られた情報と、撮影時の情報などを組み合わせた情報を、ＲＡＷ等のデータ形式で記録する。
【００１６】
制御部１０８は、デジタルカメラ１００全体の動作制御を行う。例えば、制御部１０８は、撮影直前の被写体の明るさから、光学系１０１で目標とする露光量を算出する。また、制御部１０８は、撮影した画像に基づいて所定の評価値を算出し、画像処理部１０４で行う画像処理のパラメータを決定する。
【００１７】
メモリ１０９は、画像処理部１０４で用いる情報を格納しており、必要に応じて画像処理部１０４に出力する。操作部１１０は、ユーザがデジタルカメラ１００に対し操作指示を行う部分である。表示部１１１は、例えばデジタルカメラ１００の背面に設置された液晶ディスプレイ等であり、撮影時の操作の補助を行うための画面や、記録部１０７に保存されている画像等を表示するものである。ストロボ１１２は、ユーザの操作に応じて発光し、被写体に光を照射する。
【００１８】
図２を参照して、画像処理部１０４の処理の詳細について説明する。画像処理部１０４は、同時化処理部２０１、ホワイトバランス補正部２０２、リライティング処理部２０３、ガンマ処理部２０４を備えている。
【００１９】
画像処理部１０４の処理の流れについて説明する。Ａ／Ｄ変換部１０３でデジタル化された、ベイヤー配列の画像信号（ＲＧＢ信号）が画像処理部１０４に入力される。画像処理部１０４において、同時化処理部２０１は、ベイヤー配列のＲＧＢ信号に対して同時化処理を行い、色信号Ｒ、Ｇ、Ｂを生成する。生成された色信号Ｒ、Ｇ、Ｂはホワイトバランス補正部２０２に入力される。ホワイトバランス補正部２０２は、制御部１０８が算出したホワイトバランスゲイン値に基づいて、色信号Ｒ、Ｇ、Ｂにゲインをかけてホワイトバランスを調整する。ホワイトバランスが調整された色信号Ｒ、Ｇ、Ｂはリライティング処理部２０３に入力される。リライティング処理部２０３は、ホワイトバランス補正部２０２から色信号Ｒ、Ｇ、Ｂを取得し、測距部１０５から距離マップＤ＿ＭＡＰを取得する。リライティング処理部２０３は、距離マップＤ＿ＭＡＰに基づいて、色信号Ｒ、Ｇ、Ｂに対して仮想光源を照射した画像を生成し、処理後の色信号Ｒ＿ｏｕｔ、Ｇ＿ｏｕｔ、Ｂ＿ｏｕｔをガンマ処理部２０４に出力する。ガンマ処理部２０４は、リライティング処理後の色信号Ｒ＿ｏｕｔ、Ｇ＿ｏｕｔ、Ｂ＿ｏｕｔに対してガンマ処理を施し、ガンマ処理後の色信号Ｒｇ、Ｇｇ、Ｂｇを記録部１０７出力する。
【００２０】
図３及び図４を参照して、リライティング処理の詳細について説明する。図３は、リライティング処理部２０３の詳細な構成を示すブロック図である。図４は、リライティング処理のフローチャートである。
【００２１】
本実施形態の説明において、リライティング処理による仮想光源の照射対象の被写体の例として、人物の顔を用いている。そのため、デジタルカメラ１００は、画像中の顔領域を検出する顔検出部１０６を備えている。しかし、仮想光源の照射対象は人物の顔に限定されず、任意の物体を仮想光源の照射対象とすることができる。従って、デジタルカメラ１００は、照射対象の物体に応じた物体検出部を備えていてもよい。
【００２２】
リライティング処理部２０３は、法線算出部３０１、テカリ補正量算出部３０２、テカリ補正部３０３、拡散反射成分算出部３０４、鏡面反射成分算出部３０５、仮想光源付加部３０６を備える。
【００２３】
最初に、Ｓ４０１で、リライティング処理部２０３は、測距部１０５から距離マップを取得し、ホワイトバランス補正部２０２から色信号Ｒ、Ｇ、Ｂを取得し、顔検出部１０６から顔領域情報を取得する。
【００２４】
Ｓ４０２で、法線算出部３０１は、測距部１０５から取得した距離マップに基づいて法線マップを生成する。距離マップに基づいて法線マップを生成する方法に関しては、任意の公知の技術を利用可能であるが、図５を参照して一例を説明する。
【００２５】
図５は、デジタルカメラ１００の撮影座標と被写体との関係を示す図である。例えば被写体５０１の法線５０２を算出する場合、法線算出部３０１は、撮影画像の水平方向の差分ΔＨに対する距離（奥行き）Ｄの差分ΔＤから勾配情報を算出し、勾配情報から法線５０２を算出することが可能である。法線算出部３０１は、撮影した各画素に対して同様の処理を行うことで、撮影画像の各画素に対応する法線を算出し、法線マップを生成する。法線算出部３０１は、法線マップを拡散反射成分算出部３０４及び鏡面反射成分算出部３０５へ出力する。
【００２６】
Ｓ４０３で、テカリ補正量算出部３０２は、撮影時に環境光を強く反射したことにより発生した被写体の飽和領域（テカリ）の補正量Ｒｈ、Ｇｈ、Ｂｈを算出する。テカリ補正量算出部３０２は、ホワイトバランス補正部２０２から色信号Ｒ、Ｇ、Ｂを取得し、顔検出部１０６から顔領域情報を取得する。補正量Ｒｈ、Ｇｈ、Ｂｈはそれぞれ、補正目標色となる被写体の色の補色である。補正目標色は、例えば被写体の色の平均値である。前述の通り、本実施形態の説明において被写体は人物の顔である。そのため、テカリ補正量算出部３０２は、顔検出部１０６で検出した顔領域内における色信号Ｒ、Ｇ、Ｂの単純平均値をそれぞれ補正目標色Ｒｔ、Ｇｔ、Ｂｔとして算出する。
【００２７】
ここで、補色とは、対象となる色の逆の特性を持つ色であり、色信号Ｒ、Ｇ、Ｂがそれぞれ０〜２５５の範囲の値をとるとすると、補色信号、即ち補正量Ｒｈ、Ｇｈ、Ｂｈは、下記の式１により求めることができる。
Ｒｈ＝２５５−Ｒｔ
Ｇｈ＝２５５−Ｇｔ      ・・・（１）
Ｂｈ＝２５５−Ｂｔ
【００２８】
Ｓ４０４で、テカリ補正部３０３は、ホワイトバランス補正部２０２から色信号Ｒ、Ｇ、Ｂを取得し、テカリ補正量算出部３０２から補正量Ｒｈ、Ｇｈ、Ｂｈを取得する。テカリ補正部３０３は、顔領域の各画素について、色信号Ｒ、Ｇ、Ｂが飽和しているか否かを判定する。色信号の飽和判定は、色信号の値が閾値以上であるか否かに基づいて行われる。例えば、色信号Ｒの値が２５１であり、閾値が２５０である場合、この色信号Ｒは飽和していると判定される。テカリ補正部３０３は、色信号Ｒ、Ｇ、Ｂ及び補正量Ｒｈ、Ｇｈ、Ｂｈに基づき、テカリ補正後色信号Ｒ’、Ｇ’、Ｂ’を算出する。具体的には、テカリ補正部３０３は、下記の式２に従い、色信号Ｒ、Ｇ、Ｂそれぞれから、テカリ補正量Ｒｈ、Ｇｈ、Ｂｈを減算することで、テカリ補正後色信号Ｒ’、Ｇ’、Ｂ’を算出する。なお、飽和していない色信号については、テカリ補正部３０３は、式２に従う演算を行わず、ホワイトバランス補正部２０２から取得した色信号をテカリ補正後色信号として出力する。
Ｒ’＝Ｒ−ｋｙ×Ｒｈ
Ｇ’＝Ｇ−ｋｙ×Ｇｈ      ・・・（２）
Ｂ’＝Ｂ−ｋｙ×Ｂｈ
ここで、式２におけるｋｙはテカリ補正量のゲインであり、ｋｙを調整することで、テカリ補正量を調整することができる。
【００２９】
このようにして、環境光による影響を抑えたテカリ補正後色信号Ｒ’、Ｇ’、Ｂ’を得ることができる。テカリ補正部３０３は、テカリ補正後色信号Ｒ’、Ｇ’、Ｂ’を、拡散反射成分算出部３０４、鏡面反射成分算出部３０５、及び仮想光源付加部３０６へ出力する。このように、テカリ補正処理は、後述する鏡面反射成分算出部３０５による鏡面反射成分の算出前（取得前）に行われる。
【００３０】
Ｓ４０５で、拡散反射成分算出部３０４は、拡散反射成分Ｒｄ、Ｇｄ、Ｂｄを算出する。算出処理の詳細について、所定の色を持つ仮想光源５０３が配置された図５を参照して説明する。画像の水平画素位置Ｈ１に注目する（垂直画素位置は、説明の簡略化のため省略する）。水平画素位置Ｈ１における被写体の拡散反射成分は、水平画素位置Ｈ１における法線Ｎ１と仮想光源５０３の方向ベクトルＬ１の内積に比例し、仮想光源５０３と被写体位置の距離Ｋ１の二乗に反比例する値となる。仮想光源による拡散反射成分強度Ｐｄは、下記の式３で表すことができ、色ごとの拡散反射成分Ｒｄ、Ｇｄ、Ｂｄは、下記の式４で表すことができる。
2019004290.tif 000003
Ｒｄ＝Ｐｄ×Ｒｗ×Ｒ’
Ｇｄ＝Ｐｄ×Ｇｗ×Ｇ’      ・・・（４）
Ｂｄ＝Ｐｄ×Ｂｗ×Ｂ’
式３において、αは仮想光源の強さ、Ｌは仮想光源の３次元方向ベクトル、Ｎは被写体の３次元法線ベクトル、Ｋは仮想光源と被写体の距離、ｋｄは被写体の拡散反射率である。また、式４において、Ｒｗ、Ｇｗ、Ｂｗは仮想光源の色を示すパラメータである。
【００３１】
なお、仮想光源は複数配置することも可能であり、この場合、仮想光源毎に、強さαや色Ｒｗ、Ｇｗ、Ｂｗなどの各種パラメータを制御することが可能である。
【００３２】
Ｓ４０６で、鏡面反射成分算出部３０５は、鏡面反射成分Ｒｓ、Ｇｓ、Ｂｓを算出する。算出処理の詳細について、所定の色を持つ仮想光源５０３が配置された図５を参照して説明する。画像の水平画素位置Ｈ１に注目する（垂直画素位置は、説明の簡略化のため省略する）。水平画素位置Ｈ１における被写体の鏡面反射成分の強度は、被写体に対する鏡面反射方向Ｓ１と被写体位置から撮影時のデジタルカメラ１００の方向Ｖ１（視線の方向）の内積に比例する。仮想光源による鏡面反射成分強度Ｐｓは、下記の式５で表すことができる。
2019004290.tif 000004
式５において、Ｓは仮想光源の鏡面反射ベクトル、Ｖはデジタルカメラ１００から被写体位置への方向を示す視線方向ベクトル、ｋｓは被写体の鏡面反射率である。また、βは反射した光の広がり具合を示す輝き係数であり、この値が大きくなると鏡面反射特性が急峻になる。
【００３３】
次に、鏡面反射成分算出部３０５は、鏡面反射成分強度Ｐｓを用いて、仮想光源照射時に照射対象に反映される鏡面反射成分を算出する。仮想光源の色を反映した鏡面反射色成分Ｒｓ１、Ｇｓ１、Ｂｓ１は、仮想光源の色情報Ｒｗ、Ｇｗ、Ｂｗを用いて、下記の式６で表すことができる。
Ｒｓ１＝Ｐｓ×Ｒｗ
Ｇｓ１＝Ｐｓ×Ｇｗ      ・・・（６）
Ｂｓ１＝Ｐｓ×Ｂｗ
【００３４】
また、鏡面反射成分算出部３０５は、被写体の色を反映した鏡面反射色成分Ｒｓ２、Ｇｓ２、Ｂｓ２も算出する。「被写体の色を反映した鏡面反射色成分」とは、仮想光源が、本来の仮想光源の色の代わりに被写体の色を持つ場合に対応する、仮想光源の鏡面反射色成分を意味する。被写体の色を反映した鏡面反射色成分Ｒｓ２、Ｇｓ２、Ｂｓ２は、テカリ補正後色信号Ｒ’、Ｇ’、Ｂ’を用いて、下記の式７で表すことができる。
Ｒｓ２＝Ｐｓ×Ｒ’
Ｇｓ２＝Ｐｓ×Ｇ’      ・・・（７）
Ｂｓ２＝Ｐｓ×Ｂ’
【００３５】
更に、鏡面反射成分算出部３０５は、鏡面反射色成分Ｒｓ１、Ｇｓ１、Ｂｓ１、鏡面反射色成分Ｒｓ２、Ｇｓ２、Ｂｓ２、及び０〜１の値をとる合成比率ａを用いる下記の式８に従い、最終的な鏡面反射成分Ｒｓ、Ｇｓ、Ｂｓを算出する。
Ｒｓ＝ａ×Ｒｓ１＋（１−ａ）×Ｒｓ２
Ｇｓ＝ａ×Ｇｓ１＋（１−ａ）×Ｇｓ２      ・・・（８）
Ｂｓ＝ａ×Ｂｓ１＋（１−ａ）×Ｂｓ２
【００３６】
合成比率ａの値が１に近づくほど、鏡面反射成分Ｒｓ、Ｇｓ、Ｂｓの色は仮想光源の色に近づき、合成比率ａの値が０に近づくほど、鏡面反射成分Ｒｓ、Ｇｓ、Ｂｓの色は被写体の色に近づく。合成比率ａの決定方法の具体例については後述するが、本実施形態は特定の決定方法に限定される訳ではない。
【００３７】
Ｓ４０７で、仮想光源付加部３０６は、Ｓ４０５で算出された拡散反射成分Ｒｄ、Ｇｄ、Ｂｄと、Ｓ４０６で算出された鏡面反射成分Ｒｓ、Ｇｓ、Ｂｓとを、テカリ補正後色信号Ｒ’、Ｇ’、Ｂ’に付加する処理を行う。ここでの付加により得られるリライティング色信号Ｒ＿ｏｕｔ、Ｇ＿ｏｕｔ、Ｂ＿ｏｕｔは、下記の式９で表すことができる。
Ｒ＿ｏｕｔ＝Ｒ’＋Ｒｄ＋Ｒｓ
Ｇ＿ｏｕｔ＝Ｇ’＋Ｇｄ＋Ｇｓ      ・・・（９）
Ｂ＿ｏｕｔ＝Ｂ’＋Ｂｄ＋Ｂｓ
【００３８】
Ｓ４０８で、仮想光源付加部３０６は、リライティング色信号Ｒ＿ｏｕｔ、Ｇ＿ｏｕｔ、Ｂ＿ｏｕｔをガンマ処理部２０４に出力する。
【００３９】
次に、Ｓ４０６における合成比率ａの決定方法の具体例について説明する。鏡面反射成分算出部３０５は、撮影画像に関する評価値Ｅｖａｌに基づいて合成比率ａを算出する。評価値Ｅｖａｌは、被写体の明るさと、画像中のノイズ量に基づいて算出される値であり、被写体の輝度値が高く、かつ画像中のノイズ量が多い程、評価値Ｅｖａｌの値は大きくなる。評価値Ｅｖａｌは、被写体の輝度平均値Ｙ＿ａｖｅ、撮影時の撮像素子１０２の受光感度によって決まる値Ｎ＿ｖａｌｕｅに基づいて、下記の式１０に従って算出される。
Ｅｖａｌ＝Ｙ＿ａｖｅ×Ｎ＿ｖａｌｕｅ      ・・・（１０）
【００４０】
図６を参照して、式１０のＹ＿ａｖｅの算出方法について説明する。図６は、鏡面反射成分算出部３０５が実行する、被写体の輝度平均値Ｙ＿ａｖｅの算出処理のフローチャートである。
【００４１】
Ｓ６０１で、鏡面反射成分算出部３０５は、テカリ補正後色信号Ｒ’、Ｇ’、Ｂ’に基づき、輝度信号Ｙを算出する。輝度信号Ｙは、例えば下記の式１１で表すことができる。
Ｙ＝０．２９９Ｒ’＋０．５８７Ｇ’＋０．１１４Ｂ’      ・・・（１１）
【００４２】
Ｓ６０２で、鏡面反射成分算出部３０５は、仮想光源を照射する被写体領域を取得する。ここでは、被写体領域として、顔検出部１０６が検出した顔領域が取得される。
【００４３】
Ｓ６０３で、鏡面反射成分算出部３０５は、被写体領域内の輝度値の単純平均により、被写体の輝度平均値Ｙ＿ａｖｅを算出する。
【００４４】
図７を参照して、式１０のＮ＿ｖａｌｕｅの算出方法について説明する。鏡面反射成分算出部３０５は、図７に示す特性に従い、撮像素子１０２の受光感度であるＩＳＯ感度に基づいてＮ＿ｖａｌｕｅを算出する。ＩＳＯ感度が高くなるほどＮ＿ｖａｌｕｅは高くなる。ここで、図７中のＴｈは、撮影画像のノイズ成分があまり目立たないＩＳＯ感度である。Ｔｈは、例えば、ＰＳＮＲ（Ｐｅａｋ  Ｓｉｇｎａｌ−ｔｏ−Ｎｏｉｓｅ  Ｒａｔｉｏ）などで表現されるノイズ成分の評価値が所定値以上の水準を保つことができるＩＳＯ感度の上限である。
【００４５】
評価値Ｅｖａｌの算出後、鏡面反射成分算出部３０５は、図８に示す特性に従い、評価値Ｅｖａｌの値に基づいて合成比率ａを算出する。合成比率ａは、評価値Ｅｖａｌが大きくなるほど１に近づく特性を持つ。従って、鏡面反射成分の付加（加算）において、被写体の輝度が高いほど、また、画像の撮像時のＩＳＯ感度が高いほど、仮想光源の色を反映した鏡面反射成分の割合が大きくなる。鏡面反射成分算出部３０５は、このようにして算出した合成比率ａを用いて、鏡面反射成分Ｒｓ、Ｇｓ、Ｂｓを算出する。
【００４６】
次に、合成比率ａの算出方法の他の例について説明する。鏡面反射成分算出部３０５は、仮想光源色Ｒｗ、Ｇｗ、Ｂｗと、被写体色Ｒｔ、Ｇｔ、Ｂｔに関して、Ｒ、Ｇ、Ｂの３軸を持つ色空間上での距離Ｃ＿ｄｉｓｔを算出し、距離Ｃ＿ｄｉｓｔに基づいて合成比率ａを算出する。ここで、被写体色Ｒｔ、Ｇｔ、Ｂｔは、顔検出部１０６により検出された顔領域の、テカリ補正後色信号Ｒ’、Ｇ’、Ｂ’それぞれの単純平均値である。
【００４７】
距離Ｃ＿ｄｉｓｔは、仮想光源色Ｒｗ、Ｇｗ、Ｂｗと被写体色Ｒｔ、Ｇｔ、Ｂｔを用いて、下記の式１２のようにユークリッド距離によって算出される。
2019004290.tif 000005
【００４８】
鏡面反射成分算出部３０５は、図９に示す特性に従い、距離Ｃ＿ｄｉｓｔの値に基づいて合成比率ａを算出する。合成比率ａは、距離Ｃ＿ｄｉｓｔが小さくなるほど１に近づく特性を持つ。従って、鏡面反射成分の付加（加算）において、被写体の色が仮想光源の色に近いほど、仮想光源の色を反映した鏡面反射成分の割合が大きくなる。鏡面反射成分算出部３０５は、このようにして算出した合成比率ａを用いて、鏡面反射成分Ｒｓ、Ｇｓ、Ｂｓを算出する。
【００４９】
以上説明したように、第１の実施形態によれば、デジタルカメラ１００は、画像に対して所定の色を有する仮想光源を設定し、前記仮想光源による光照射の効果が画像に付与されるように、画像処理（リライティング処理）を行う。デジタルカメラ１００は、リライティング処理において、所定の色を持つ仮想光源の鏡面反射成分と、仮想光源が所定の色の代わりに被写体の色を持つ場合に対応する鏡面反射成分とを算出する。そして、デジタルカメラ１００は、処理対象の画素に対して、これら２種類の鏡面反射成分を所定の比率で加算する。これにより、被写体の色によりなじむ鏡面反射成分を付加することが可能になる。
【００５０】
［第２の実施形態］
第２の実施形態では、被写体領域が検出できない（又は検出しない）場合のリライティング処理について説明する。本実施形態において、デジタルカメラ１００の基本的な構成は第１の実施形態と同様であるが、画像処理部１０４の中のリライティング処理部２０３は、図３に示す構成の代わりに、図１０に示す構成を持つ。図１０において、図３と同一又は同様の機能を持つブロックには、図３と同一の符号を付す。以下、主に第１の実施形態と異なる点について説明する。
【００５１】
被写体領域が検出できない場合、図３のテカリ補正量算出部３０２における補正目標色の算出ができない。そのため、図１０においては、テカリ補正量算出部３０２及びテカリ補正部３０３が取り除かれている。
【００５２】
第１の実施形態では、テカリ補正後色信号Ｒ’、Ｇ’、Ｂ’が拡散反射成分算出部３０４、鏡面反射成分算出部３０５、仮想光源付加部３０６に入力されていた。本実施形態では、テカリ補正後色信号Ｒ’、Ｇ’、Ｂ’に代わって、ホワイトバランス補正部２０２から入力された色信号Ｒ、Ｇ、Ｂが、拡散反射成分算出部３０４、鏡面反射成分算出部３０５、仮想光源付加部３０６に入力される。
【００５３】
本実施形態では、鏡面反射成分算出部３０５は、撮影時のパラメータから合成比率ａを算出する。制御部１０８は、画像を撮影する直前に、光学系１０１における適正露出量や、ストロボ１１２における適正発光量を算出する（露出検出処理及び発光検出処理）。ユーザは、被写体を所望の明るさで撮影するために、操作部１１０を用いて、撮影時に実際に光学系１０１やストロボ１１２に適用する露出量や発光量を調整することができる。
【００５４】
そこで、制御部１０８が算出した適正露出量や適正発光量と、ユーザが設定した露出量や発光量とを比較して、ユーザが被写体を明るく撮影しようとする度合を示す評価値Ｅｖａｌ＿ｃを、下記の式１３のように表す。
Ｅｖａｌ＿ｃ＝ＥＶ＿ｒａｔｅ×Ｆ＿ｒａｔｅ×Ｎ＿ｖａｌｕｅ      ・・・（１３）
【００５５】
式１３のＥＶ＿ｒａｔｅの算出方法について説明する。光学系１０１で撮影時にユーザが設定した露出量ＥＶ＿ａｃｔｕａｌと、撮影直前に制御部１０８が算出した撮影シーンにおける適正露出量ＥＶ＿ｃｏｒｒｅｃｔを用いて、ＥＶ＿ｒａｔｅを下記の式１４のように表す。
ＥＶ＿ｒａｔｅ＝ＥＶ＿ａｃｔｕａｌ／ＥＶ＿ｃｏｒｒｅｃｔ      ・・・（１４）
【００５６】
式１３のＦ＿ｒａｔｅの算出方法について説明する。撮影時にユーザが設定したストロボ１１２の実際の発光量Ｆ＿ａｃｔｕａｌと、撮影直前に制御部１０８が算出した撮影シーンにおける適正発光量Ｆ＿ｃｏｒｒｅｃｔを用いて、Ｆ＿ｒａｔｅを下記の式１５のように表す。なお、ストロボ１１２が非発光の時、Ｆ＿ｒａｔｅの値は１とする。
Ｆ＿ｒａｔｅ＝Ｆ＿ａｃｔｕａｌ／Ｆ＿ｃｏｒｒｅｃｔ      ・・・（１５）
【００５７】
式１３のＮ＿ｖａｌｕｅの値は、第１の実施形態において式１０を参照して説明した算出方法と同じ方法で算出される。
【００５８】
評価値Ｅｖａｌ＿ｃの算出後、鏡面反射成分算出部３０５は、図１１に示す特性に従い、評価値Ｅｖａｌ＿ｃの値に基づいて合成比率ａを算出する。合成比率ａは、評価値Ｅｖａｌ＿ｃが大きくなるほど１に近づく特性を持つ。従って、鏡面反射成分の付加（加算）において、適正露出量に対する撮像時の露出量の比が大きいほど、また、適正発光量に対する撮像時の発光量の比が大きいほど、仮想光源の色を反映した鏡面反射成分の割合が大きくなる。また、画像の撮像時のＩＳＯ感度が高いほど、仮想光源の色を反映した鏡面反射成分の割合が大きくなる。また、撮影時の露出条件及びストロボ発光量がそれぞれ適性で、かつ、ＩＳＯ感度が図８におけるＴｈより低い場合、評価値Ｅｖａｌ＿ｃは１．０となり、合成比率ａは０．５となる。鏡面反射成分算出部３０５は、このようにして算出した合成比率ａを用いて、鏡面反射成分Ｒｓ、Ｇｓ、Ｂｓを算出する。
【００５９】
以上説明したように、第２の実施形態によれば、デジタルカメラ１００は、リライティング処理において、所定の色を持つ仮想光源の鏡面反射成分と、仮想光源が所定の色の代わりに処理対象の画素の色を持つ場合に対応する鏡面反射成分とを算出する。そして、デジタルカメラ１００は、処理対象の画素に対して、これら２種類の鏡面反射成分を所定の比率で加算する。これにより、処理対象の画素の色によりなじむ鏡面反射成分を付加することが可能になる。
【００６０】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６１】
１００…デジタルカメラ、１０４…画像処理部、２０３…リライティング処理部、３０１…法線算出部、３０４…拡散反射成分算出部、３０５…鏡面反射成分算出部、３０６…仮想光源付加部
【図１】
2019004290.tif 000006
【図２】
2019004290.tif 000007
【図３】
2019004290.tif 000008
【図４】
2019004290.tif 000009
【図５】
2019004290.tif 000010
【図６】
2019004290.tif 000011
【図７】
2019004290.tif 000012
【図８】
2019004290.tif 000013
【図９】
2019004290.tif 000014
【図１０】
2019004290.tif 000015
【図１１】
2019004290.tif 000016