(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-28
(45)【発行日】2024-04-05
(54)【発明の名称】画像処理装置および方法、プログラム、記憶媒体
(51)【国際特許分類】
G06T 5/40 20060101AFI20240329BHJP
G06T 1/00 20060101ALI20240329BHJP
H04N 23/60 20230101ALI20240329BHJP
【FI】
G06T5/40
G06T1/00 500Z
H04N23/60 500
(21)【出願番号】P 2020072924
(22)【出願日】2020-04-15
【審査請求日】2023-04-11
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】河村 拓哉
【審査官】渡部 幸和
(56)【参考文献】
【文献】特開2013-235537(JP,A)
【文献】特開2018-010497(JP,A)
【文献】特開2019-145097(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 5/40
G06T 1/00
H04N 23/00
(57)【特許請求の範囲】
【請求項1】
第1の被写体と第2の被写体を含む画像に対し、仮想光源からの照明効果を付与する処理手段と、
前記仮想光源のパラメータを設定する設定手段と、
ユーザ操作に基づき、前記第1の被写体または前記第2の被写体を前記処理手段の対象として指定する指定手段と、を有し、
前記指定手段によりいずれかの被写体が指定されている場合、前記第1の被写体及び前記第2の被写体には共通の方向からの仮想光が照射された効果が付与され、
前記指定手段により被写体が指定されていない場合、前記第1の被写体と前記第2の被写体にはそれぞれ異なる方向からの仮想光が照射された効果が付与され
、
前記設定手段は、前記指定手段によりいずれかの被写体を指定する手動補正モードと、前記指定手段により被写体を指定しない自動補正モードとを有し、
前記設定手段は、前記自動補正モードでは、被写体の陰影情報に基づいて、陰影を低減させるように仮想光源のパラメータを設定することを特徴とする画像処理装置。
【請求項2】
前記設定手段は、被写体の平均輝度または輝度ヒストグラムに基づいて、被写体の陰影を判定することを特徴とする請求項
1に記載の画像処理装置。
【請求項3】
前記設定手段は、前記手動補正モードでは、ユーザの指示に基づいて仮想光源のパラメータを設定することを特徴とする請求項
1または2に記載の画像処理装置。
【請求項4】
前記設定手段は、前記指定手段によりいずれかの被写体が指定されている場合、前記指定された被写体の情報に基づき、前記共通の方向を設定することを特徴とする請求項1乃至
3のいずれか1項に記載の画像処理装置。
【請求項5】
前記指定手段により指定された被写体とは、ユーザの指示に基づいて決定された主要被写体と、該主要被写体との距離が所定の範囲内である被写体であることを特徴とする請求項
4に記載の画像処理装置。
【請求項6】
前記仮想光源は、被写体を明るくする加算光、被写体を暗くする減算光、被写体に鏡面反射を付加する鏡面反射光の少なくとも1つを含むことを特徴とする請求項1乃至
5のいずれか1項に記載の画像処理装置。
【請求項7】
前記仮想光源のパラメータとは、仮想光源の位置、照射範囲、向き、強さの少なくとも1つを含むことを特徴とする請求項1乃至
6のいずれか1項に記載の画像処理装置。
【請求項8】
第1の被写体と第2の被写体を含む画像に対し、仮想光源からの照明効果を付与する処理工程と、
前記仮想光源のパラメータを設定する設定工程と、
ユーザ操作に基づき、前記第1の被写体または前記第2の被写体を前記処理工程の対象として指定する指定工程と、を有し、
前記指定工程においていずれかの被写体が指定されている場合、前記第1の被写体及び前記第2の被写体には共通の方向からの仮想光が照射された効果が付与され、
前記指定工程において被写体が指定されていない場合、前記第1の被写体と前記第2の被写体にはそれぞれ異なる方向からの仮想光が照射された効果が付与され
、
前記設定工程は、前記指定工程によりいずれかの被写体を指定する手動補正モードと、前記指定工程により被写体を指定しない自動補正モードとを有し、
前記設定工程では、前記自動補正モードでは、被写体の陰影情報に基づいて、陰影を低減させるように仮想光源のパラメータを設定することを特徴とする画像処理方法。
【請求項9】
コンピュータを、請求項1乃至
7のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項10】
コンピュータを、請求項1乃至
7のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理により画像の明るさを補正する技術に関する。
【背景技術】
【0002】
従来、画像中の被写体に対して、仮想光の効果を適用することにより、被写体の暗い部分の明るさを補正する技術が知られている(特許文献1)。これにより、環境光によって生じた被写体の陰影を、撮影後に調整することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述の特許文献1に開示された従来技術では、複数の被写体を撮影した際に、被写体毎に陰影に応じて仮想光源を定めて補正を行った場合には、仮想光源の当たり方が不自然になる場合がある。一方、特定の被写体の陰影を基準に仮想光源を定めて複数の被写体に照射し補正した場合には、仮想光源の当たり方は自然だが、個々の被写体に最適な補正を付与するのは難しい。これらのことにより、被写体が複数存在する場合には、所望のライティング効果を得られない場合がある。
【0005】
本発明は上述した課題に鑑みてなされたものであり、その目的は、複数の被写体が存在する場合でも、効果的な陰影の補正を行うことができる画像処理装置を提供することである。
【課題を解決するための手段】
【0006】
本発明に係わる画像処理装置は、第1の被写体と第2の被写体を含む画像に対し、仮想光源からの照明効果を付与する処理手段と、前記仮想光源のパラメータを設定する設定手段と、ユーザ操作に基づき、前記第1の被写体または前記第2の被写体を前記処理手段の対象として指定する指定手段と、を有し、前記指定手段によりいずれかの被写体が指定されている場合、前記第1の被写体及び前記第2の被写体には共通の方向からの仮想光が照射された効果が付与され、前記指定手段により被写体が指定されていない場合、前記第1の被写体と前記第2の被写体にはそれぞれ異なる方向からの仮想光が照射された効果が付与され、前記設定手段は、前記指定手段によりいずれかの被写体を指定する手動補正モードと、前記指定手段により被写体を指定しない自動補正モードとを有し、前記設定手段は、前記自動補正モードでは、被写体の陰影情報に基づいて、陰影を低減させるように仮想光源のパラメータを設定することを特徴とする。
【発明の効果】
【0007】
本発明によれば、複数の被写体が存在する場合でも、効果的な陰影の補正を行うことが可能となる。
【図面の簡単な説明】
【0008】
【
図1】本発明の画像処理装置の一実施形態であるデジタルカメラの構成を示すブロック図。
【
図2】一実施形態における画像処理部の構成を示すブロック図。
【
図3】一実施形態おけるリライティング処理部の構成を示すブロック図。
【
図4】一実施形態おける仮想光源からの仮想的な光の反射を説明する模式図。
【
図5】一実施形態における仮想光源のパラメータ制御のイメージ図。
【
図6】一実施形態におけるリライティング処理前後の画像の一例を示す図。
【
図7】一実施形態におけるリライティング処理を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
図1は、本発明の画像処理装置の一実施形態であるデジタルカメラ100の構成を示すブロック図である。
【0011】
図1に示すデジタルカメラ100において、ズームレンズ、フォーカスレンズを含むレンズ群101(撮像光学系)、及び、絞り機能を備えるシャッター102を介して入射した光は、撮像部103において光電変換される。撮像部103は、CCDやCMOSセンサーなどの撮像素子を備え、光電変換により得られた電気信号は、画像信号としてA/D変換器104へ出力される。A/D変換器104は、撮像部103から出力されるアナログ画像信号をデジタル画像信号(画像データ)に変換し、画像処理部105に出力する。
画像処理部105は、A/D変換器104からの画像データ、または、メモリ制御部107を介して画像メモリ106から読み出された画像データに対し、ホワイトバランスなどの色変換処理、γ処理、輪郭強調処理、色補正処理などの各種画像処理を行う。画像処理部105から出力された画像データは、メモリ制御部107を介して画像メモリ106に書き込まれる。画像メモリ106は、画像処理部105から出力された画像データや、表示部109に表示するための画像データを格納する。
顔検出部113は、撮影された画像から、人物の顔及び顔の器官が存在する顔及び顔器官領域を検出する。画像処理部105では、顔検出部113の顔検出結果や顔器官検出結果、撮像した画像データを用いて所定の評価値算出処理を行い、得られた評価値に基づいてシステム制御部50が露光制御、焦点調節制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理などを行う。
また、D/A変換器108は、画像メモリ106に格納されている表示用のデジタルの画像データをアナログ信号に変換して表示部109に供給する。表示部109は、LCD等の表示器上に、D/A変換器108からのアナログ信号に応じた表示を行う。
コーデック部110は、画像メモリ106に格納された画像データをJPEGやMPEGなどの規格に基づいてそれぞれ圧縮符号化する。システム制御部50は、符号化した画像データを、インタフェース(I/F)111を介して、メモリカードやハードディスク等の記録媒体112に格納する。また、I/F111を介して記録媒体112から読み出された画像データをコーデック部110により復号して伸長し、画像メモリ106に格納する。そして、画像メモリ106に格納された画像データを、メモリ制御部107、D/A変換器108を介して表示部109に表示することで、画像を再生表示することができる。
リライティング処理部114は、撮影された画像に仮想光源を当てて明るさを補正するリライティング処理(再照明処理)を行う。なお、リライティング処理部114により行われるリライティング処理の詳細については、後述する。
【0012】
システム制御部50は、デジタルカメラ100のシステム全体を制御する。不揮発性メモリ121は、EEPROMなどのメモリにより構成され、システム制御部50の処理に必要なプログラムやパラメータなどを格納する。システム制御部50は、不揮発性メモリ121に記録されたプログラム、及び、システム制御部50の動作用の定数、変数をシステムメモリ122に展開して実行することにより、後述する本実施形態の各処理を実現する。
【0013】
操作部120は、ユーザによるメニューの設定や画像選択などの操作を受け付ける。測距センサ123は被写体までの距離を測定し、撮影画素の各画素に対応する距離情報を出力する。
次に、画像処理部105の詳細について、
図2を用いて説明する。
図2は画像処理部105の構成を示すブロック図である。なお、本実施形態では、撮像部103の撮像素子はベイヤー配列のカラーフィルタにより覆われているものとする。従って、撮像部103の撮像素子の各画素からはR、G、Bいずれかの画像信号が出力される。
まず、
図1のA/D変換器104から入力されたベイヤーRGBの画像データは同時化処理部200に入力される。同時化処理部200は、入力されたR、G、Bの画像信号に対して同時化処理を行い、各画素について色信号RGBを生成する。WB増幅部201は、公知の処理によりシステム制御部50が算出するホワイトバランスゲイン値に基づき、生成された各画素の色信号RGBにゲインをかけ、ホワイトバランスを調整する。WB増幅部201によりホワイトバランスが調整された色信号RGBは、輝度・色信号生成部202に入力される。輝度・色信号生成部202は色信号RGBから輝度信号Yを生成し、生成した輝度信号Yを輪郭強調処理部203へ、また、色信号RGBを色変換処理部205へ出力する。
【0014】
輪郭強調処理部203では、輝度信号Yに対して輪郭強調処理を行い、輝度ガンマ処理部204へ出力する。色変換処理部205では、色信号RGBに、例えばマトリクス演算を行って、所望のカラーバランスへ変換し、色ガンマ処理部206と被写体情報検出部208へ出力する。
被写体情報検出部208において、顔検出部113から出力される顔・顔器官検出情報と、色変換処理部205から出力される色信号RGBとから、撮影画像における被写体に関する情報を検出する。ここで、被写体に関する情報とは、撮影画像内の被写体の人数、被写体の大きさ、被写体の位置、被写体への光のあたり方、被写体の陰影情報などである。例えば、被写体の人数、大きさ、位置に関しては、顔検出部113が出力する各顔・顔器官の座標位置情報から検出し、光の当たり方や陰影情報は、撮影画像全体及び各被写体の平均輝度情報や輝度ヒストグラム情報から検出する。
輝度ガンマ処理部204において、輝度信号Yに対してガンマ補正を行い、メモリ制御部107を介してガンマ補正した輝度信号Yを画像メモリ106に出力する。一方、色ガンマ処理部206においては、色信号RGBにガンマ補正を行い、色差信号生成部207に出力する。色差信号生成部207においてRGB信号から色差信号R-Y、B-Y信号を生成し、メモリ制御部107を介して画像メモリ106に出力する。
次に、本実施形態におけるリライティング処理について説明する。
図3はリライティング処理部114の構成を示すブロック図である。
【0015】
リライティング処理部114は、画像処理部105により処理されて画像メモリ106に記録された輝度信号Y及び色差信号B-Y、R-Yを読み出して入力とし、仮想光源によるリライティング処理を行う。
まず、RGB信号変換部301は、入力された輝度信号Y及び色差信号B-Y、R-YをRGB信号に変換し、デガンマ処理部302へ出力する。デガンマ処理部302は、画像処理部105の輝度ガンマ処理部204及び色ガンマ処理部206におけるガンマ補正のガンマ特性と逆の特性の演算(デガンマ処理)を行い、リニアデータに変換する。そしてデガンマ処理部302は、リニアデータに変換後のRGB信号(Rt,Gt,Bt)を、仮想光源反射成分算出部307及び仮想光源付加処理部308に出力する。
一方、距離算出部303は測距センサ123から取得した被写体の距離情報から、距離マップを算出する。被写体の距離情報とは、撮影画像の画素単位で得られる2次元の距離情報のことである。被写体領域算出部304は、画像処理部105の被写体情報検出部208から入力される撮影画像内の被写体の人数、位置、顔の大きさ、コントラストや陰影情報などを示す被写体情報と、距離算出部303から入力される距離マップとを入力として被写体領域を算出し、被写体領域マップを出力する。被写体領域マップとは、撮影画像の各画素に被写体が存在するかどうかを表し、算出方法の詳細は後述する。法線算出部305は距離算出部303で算出した距離マップから、被写体の形状を表す形状情報として法線マップを算出する。距離マップから法線マップを生成する方法に関しては、公知の技術を用いるものとするが、具体的な処理例について
図4を用いて説明する。
図4は、カメラ撮影座標と被写体の関係を示す図である。例えば、
図4に示すようにある被写体401に対して、撮影画像の水平方向の差分ΔHに対する、距離Dの差分ΔDHと、不図示ではあるが、垂直方向(
図5の紙面に対して垂直な方向)の差分ΔVに対する距離Dの差分ΔDVとから、被写体の一部分における勾配情報を算出する。そして、求めた被写体の一部分における勾配情報から法線Nを算出することが可能である。撮影した各画素に対して上記の処理を行うことにより、撮影画像の各画素に対応する法線Nを算出することが可能である。法線算出部305は、撮影画像の各画素に対応する法線Nの情報を法線マップとして仮想光源反射成分算出部307に出力する。
なお、距離算出部303及び法線算出部305は、リライティング処理部114内に構成されるものとして説明したが、本発明はこれに限られるものでは無く、例えば、測距センサ123または画像処理部105内に構成してもよいし、独立した構成としてもよい。
【0016】
仮想光源設定部306は、画像処理部105の被写体情報検出部208から入力される被写体情報に基づいて、仮想光源のパラメータを設定する。例えば、顔全体が暗い被写体に対して顔の明るさを全体的に明るくしたい場合においては、顔全体が仮想光源の照射範囲に含まれるように、仮想光源の位置、照射範囲、強度などのパラメータを制御する。なお、仮想光源は被写体を明るくする加算光、被写体を暗くする減算光、被写体に鏡面反射を付加する鏡面反射光の少なくとも1つを含むものとする。
【0017】
ここで、被写体が1人である場合を例に挙げて、仮想光源に設定するパラメータについて、
図5を用いて説明する。
【0018】
図5(a)は、被写体と仮想光源の位置関係を表した斜視図、
図5(b)は、被写体と仮想光源の位置関係を表した平面図である。仮想光源の位置に関しては、仮想光源と被写体までの距離を短く設定すれば仮想光源の光は被写体に強く当たるようになり、逆に被写体までの距離を長く設定すれば仮想光源の光は被写体に弱く当たるようになる。仮想光源の照射範囲に関しては、仮想光源の照射範囲を広く設定すれば被写体全体に光を当てることができ、逆に照射範囲を狭く設定すれば被写体の一部にだけ光を当てることができる。また、仮想光源の強度に関しては、仮想光源の強度を強く設定すれば、被写体に強く光を当てることになり、逆に強度を弱く設定すれば、被写体に弱く光を当てることになる。
【0019】
仮想光源反射成分算出部307では、光源と被写体の距離K、法線情報N及び仮想光源設定部306が設定した仮想光源のパラメータに基づき、設定した仮想光源から仮想的に照射された光のうち、被写体により反射される成分を算出する。以下、仮想光源から仮想的に照射された光を「仮想光」と呼ぶ。具体的には、仮想光源と各画素に対応する被写体の部分との距離Kの二乗に反比例し、法線Nのベクトルと光源方向Lのベクトルの内積に比例するように、撮影画像の座標位置に対応する被写体の部分における仮想光の反射成分を算出する。
ここで、仮想光の反射成分の一般的な算出方法について、
図4を用いて説明する。なお、
図4では説明を分かりやすくするために撮影画像の水平方向についてのみ示しているが、上述したように、紙面に対して垂直な方向が撮影画像の垂直方向となる。以下の説明では、撮影画像における水平画素位置H1と不図示の垂直画素位置V1に対応する、被写体401上の点P1における仮想光の反射成分の算出方法について説明する。
【0020】
図4において、仮想光源402は被写体401に対して設定した仮想光源である。カメラ100で撮影された撮影画像の位置(H1,V1)における仮想光の反射成分は、被写体401上の点P1における法線ベクトルN1と仮想光源402の光源方向ベクトルL1との内積に比例し、仮想光源402と点P1との距離K1の二乗に反比例する値となる。なお、法線ベクトルN1と光源方向ベクトルL1は、水平方向、垂直方向、及び奥行き方向(
図4の距離Dで示す方向)からなる3次元のベクトルである。この関係を数式で表現すると、仮想光の被写体401上の点P1における反射成分(Ra,Ga,Ba)は下記の式(1)に示す通りとなる。
Ra=α×{(-L1・N1)/K1
2}×Rt
Ga=α×{(-L1・N1)/K1
2}×Gt …(1)
Ba=α×{(-L1・N1)/K1
2}×Bt
ここで、αは仮想光源の光の強度であり、リライティング補正量のゲイン値である。また、Rt、Gt、Btはデガンマ処理部302から出力されたRGB信号である。
上記のようにして算出された仮想光の反射成分(Ra,Ga,Ba)は、仮想光源付加処理部308へ出力される。仮想光源付加処理部308では、仮想光の反射成分(Ra,Ga,Ba)をデガンマ処理部302から出力されたRGB信号に付加する、下記の式(2)に示す処理を行う。
Rout=Rt+Ra
Gout=Gt+Ga …(2)
Bout=Bt+Ba
仮想光源付加処理部308によりリライティング処理されたRBG信号(Rout,Gout,Bout)は、ガンマ処理部309に入力され、ガンマ補正が行われる。そして、輝度・色差信号生成部310では、ガンマ処理されたRGB信号(R’out,G’out,B’out)から輝度信号Y及び色差信号R-Y、B-Y信号を生成して出力する。
【0021】
リライティング処理部114で上述したリライティング処理した例を
図6に示す。
図6(a)は、リライティング処理前の撮影画像の例、
図6(b)は、リライティング処理後の撮影画像の例である。
図6(a)に示すように暗かった被写体が、仮想光を当ててリライティング処理をすることにより、
図6(b)に示すように明るく補正されている。
システム制御部50は、リライティング処理部114が出力した輝度信号Y及び色差信号R-Y、B-Yを、メモリ制御部107の制御によって、画像メモリ106に蓄積した後、コーデック部110で圧縮符号化を行う。そして、I/F111を介して記録媒体112に記録する。
次に、本実施形態におけるリライティング処理部114によるリライティング処理について
図7のフローチャートに沿って説明する。この処理は、操作部120を介したユーザからの操作によってリライティング処理が選択されている場合に、画像処理部105によって処理されて、画像メモリ106に記憶された画像(輝度信号Y及び色差信号R-Y、B-Y)に対して実施される。
【0022】
ステップS601では、システム制御部50は、操作部120を介したユーザからの操作によって選択されているリライティング処理のモードを取得する。本実施形態では自動で仮想光源のパラメータを決定するモードとユーザが仮想光源のパラメータを指定するモードとを有する。
【0023】
ステップS602では、システム制御部50は、ステップS601で取得したリライティング処理の自動補正モードが有効であるか否か判定する。有効であると判定された場合はステップS603に移行し、有効でないと判定された場合はステップS605に移行する。
【0024】
ステップS603では、システム制御部50は、被写体領域算出部304を用いて、被写体情報検出部208から出力された被写体情報に基づいて被写体数分の個別被写体領域を算出する。例えば、画像中に検出された人物被写体の総数Nと各人物被写体の位置を入力として、画素毎に人物が存在するか否かを判定し、それぞれの被写体に対応した個別被写体領域マップを生成する。具体的には、n∈[1,2,…,N]人目に対応した個別被写体領域マップをDn、座標(x,y)における個別被写体領域マップの値をDn(x,y)であるとすると、座標(x1,y1)にn人目の人物が存在する場合は、Dn(x1,y1)=1とし、存在しない場合はDn(x1,y1)=0とする。被写体領域マップは二値に限らず、人物が存在する確率を表す多値のマップでもよい。
【0025】
ステップS604では、システム制御部50は、仮想光源設定部306を用いて、被写体情報検出部208から出力された被写体情報に基づいて、個別仮想光源設定値を算出する。被写体それぞれに対して顔領域の陰影情報を取得し、顔の陰影が低減するよう仮想光源の位置、照射範囲、強度を算出する。仮想光源のパラメータの算出は種々の公知の方法を用いて行うことができる。詳細な説明を省略するが、例えば、顔の輝度値の偏りと顔の法線情報とから環境光の向きを推定し、環境光と反対の方向の所定の距離になるよう光源の位置を決定する。そして、顔の輝度値の偏りを打ち消すよう光源の強度を推定し、顔の大きさから照射範囲を算出することでパラメータを求めてもよい。
【0026】
ステップS605では、システム制御部50は、ステップS601で取得したリライティング処理の手動補正モードが有効であるか否かを判定する。有効であると判定された場合はステップS606に移行し、有効でないと判定された場合はステップS609に移行する。
【0027】
ステップS606では、システム制御部50は、操作部120を介したユーザからの操作(指示)によって選択されている主要被写体を取得する。
【0028】
ステップS607では、システム制御部50は、被写体領域算出部304を用いて、ステップS606で取得した主要被写体と被写体情報検出部208から出力された被写体情報と距離算出部303から出力された距離情報とに基づいて共通被写体領域を決定する。例えば、主要被写体の距離値に対して所定の距離範囲(範囲内)にある領域を共通被写体領域とする。共通被写体領域マップをDc、座標(x,y)における共通被写体領域マップの値をDc(x,y)であるとすると、座標(x,y)の距離が主要被写体の距離値に対して所定の距離範囲にある場合はDc(x,y)=1、所定の距離範囲にない場合はDc(x,y)=0とする。ただし、共通被写体領域マップの値は、主要被写体との距離が0である場合は1に、主要被写体と距離が離れると単調減少していくよう算出されればよく、共通被写体領域マップの値は前述の算出方法に限らない。
【0029】
ステップS608では、システム制御部50は、ユーザ操作に基づいて、被写体共通の仮想光源設定値を取得する。具体的には、操作部120を介したユーザからの操作によって光源の位置、強度、照射範囲を取得する。
【0030】
ステップS609では、システム制御部50は、仮想光源反射成分算出部307を用いて、法線算出部305から出力される法線情報とステップS603で算出された個別被写体領域とステップS604で算出された個別光源設定値とステップS607で算出された共通被写体領域とステップS608で算出された共通光源設定値とに基づいて仮想光の反射成分(Ra,Ga,Ba)を算出する。
【0031】
まず、ステップS604で算出されたN個の光源設定値から前述の式(1)に従って、反射光成分(R1,G1,B1)、(R2,G2,B2)、…(RN,GN,BN)を算出する。次に、ステップS608で算出された共通の光源設定値から前述の式(1)に従って、反射成分(Rc,Gc,Bc)を算出する。次に、それぞれの反射成分を合成した反射成分を算出する。座標(x,y)が個別被写体領域に含まれる場合は対応する光源の仮想光源成分を付与し、また、共通被写体領域に含まれる場合は共通仮想光源成分を付与する。2つ以上の仮想光源が付与される場合は、最終的な反射成分(Ra,Ga,Ba)は全仮想光の反射成分の総和となり、以下の式(3)で算出される。
【0032】
【0033】
なお、光源の合成方法は上記の式に限らず、以下の式(4)のように反射光成分を比較して、最大となる光源設定のみを用いて算出してもよい。
【0034】
Ra(x,y)=max(R1(x,y)D1(x,y),…,RN(x,y)DN(x,y),Rc(x,y)Dc(x,y))
Ga(x,y)=max(G1(x,y)D1(x,y),…,GN(x,y)DN(x,y),Gc(x,y)Dc(x,y)) …(4)
Ba(x,y)=max(B1(x,y)D1(x,y),…,BN(x,y)DN(x,y),Bc(x,y)Dc(x,y))
現像時のモードによっては仮想光源成分パラメータが算出されないことがあるが、その場合は仮想光源成分を0にする。
【0035】
ステップS610では、システム制御部50は、仮想光源の付加を行う。仮想光源付加処理部308において、前述の式(2)の通りに仮想光源の反射成分(Ra,Ga,Ba)をデガンマ処理部の出力(Rt,Gt,Bt)に加算する。リライティング処理を終えると、リライティング処理部114による処理を終了する。
【0036】
以上説明したように、上記の実施形態によれば、画像に対して、ユーザが所望するライティング効果を付与することが可能となる。
【0037】
(他の実施形態)
また本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現できる。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現できる。
【0038】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0039】
50:システム制御部、100:デジタルカメラ、103:撮像部、105:画像処理部、113:顔検出部、114:リライティング処理部