(57)【要約】【課題】被写体の陰影などを補正する処理を行う領域の信頼度に基づき、適切に処理を行うことができる技術を実現する。【解決手段】画像処理装置は、仮想的な光源である仮想光源を設定し、前記仮想光源を用いて画像中の被写体の明るさを補正する補正処理を行う処理手段と、画像中の特定の被写体情報を取得する取得手段と、画像における前記補正処理の対象となる被写体領域を決定する決定手段と、前記取得手段により得られた特定の被写体情報と前記決定手段により決定された被写体領域と関係に基づく前記補正処理の信頼度に応じて前記処理手段による補正処理を制御する制御手段と、を有する。【選択図】図１
2018182699.tif 000002
【特許請求の範囲】
【請求項１】
仮想的な光源である仮想光源を設定し、前記仮想光源を用いて画像中の被写体の明るさを補正する補正処理を行う処理手段と、
画像中の特定の被写体情報を取得する取得手段と、
画像における前記補正処理の対象となる被写体領域を決定する決定手段と、
前記取得手段により得られた特定の被写体情報と前記決定手段により決定された被写体領域との関係に基づく前記補正処理の信頼度に応じて前記処理手段による補正処理を制御する制御手段と、を有することを特徴とする画像処理装置。
【請求項２】
画像中の人物の顔領域を検出する顔検出手段と、被写体までの距離情報を検出する距離検出手段とをさらに有し、
前記決定手段は、前記顔検出手段および前記距離検出手段による検出結果に基づいて前記補正処理の対象となる被写体領域を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記顔検出手段により検出された顔領域および前記決定手段により決定された被写体領域に基づいて前記補正処理の信頼度を求める信頼度算出手段をさらに有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記信頼度算出手段は、前記顔検出手段により検出された顔領域の周辺領域を含めて、前記決定手段が被写体領域として決定した場合に、前記補正処理の信頼度を低くすることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記信頼度算出手段は、前記決定手段により決定された被写体領域の面積に対して、前記顔検出手段により検出された顔領域の面積が小さい場合に、前記補正処理の信頼度を低くすることを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記信頼度算出手段は、前記決定手段により決定された被写体領域の面積に対して、前記顔検出手段により検出された顔領域の面積が大きい場合に、前記補正処理の信頼度を低くすることを特徴とする請求項３に記載の画像処理装置。
【請求項７】
前記顔検出手段は、検出した顔領域の信頼度を算出し、
前記決定手段は、被写体領域の信頼度を算出し、
前記信頼度算出手段は、前記顔領域の信頼度と前記被写体領域の信頼度の少なくともいずれかから前記補正処理の信頼度を求めることを特徴とする請求項３から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記制御手段は、前記補正処理の信頼度が所定の閾値未満の場合には、前記処理手段による補正処理を変更して実行するように制御することを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記制御手段は、前記補正処理の信頼度が所定の閾値未満の場合には、前記処理手段による補正処理を実行しないように制御することを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項１０】
前記信頼度算出手段は、画像中に複数の被写体が存在する場合は、各被写体に対して前記補正処理の信頼度を求めることを特徴とする請求項３に記載の画像処理装置。
【請求項１１】
前記制御手段は、画像中の被写体のレベルを算出し、
前記被写体のレベルと前記補正処理の信頼度とに基づいて前記処理手段による補正処理を制御することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記制御手段は、全ての被写体の前記補正処理の信頼度が所定の閾値未満の場合には、前記被写体のレベルを判定し、
前記被写体のレベルが閾値より高い第１の被写体の前記補正処理の信頼度が前記所定の閾値以上の場合には、前記第１の被写体に前記処理手段による補正処理を実行し、前記第１の被写体ではない第２の被写体には前記処理手段による補正処理を変更して実行するように制御することを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記制御手段は、前記第１の被写体の前記補正処理の信頼度が前記所定の閾値未満の場合には、全ての被写体に対して前記処理手段による補正処理を変更して実行するように制御することを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
被写体を撮影し、撮影画像を生成する撮影手段をさらに有し、
前記処理手段は、前記撮影手段により生成された撮影画像を前記補正処理の対象とすることを特徴とする請求項１から１３のいずれか１項に記載の画像処理装置。
【請求項１５】
処理手段が、仮想的な光源である仮想光源を設定し、前記仮想光源を用いて画像中の被写体の明るさを補正する補正処理を行うステップと、
取得手段が、画像中の特定の被写体情報を取得するステップと、
決定手段が、画像における前記補正処理の対象となる被写体領域を決定するステップと、
制御手段が、前記特定の被写体情報と前記被写体領域との関係に基づく前記補正処理の信頼度に応じて前記処理手段による補正処理を制御するステップと、を有することを特徴とする画像処理方法。
【請求項１６】
コンピュータを、請求項１から１４のいずれか１項に記載された画像処理装置の各手段として機能させるためのプログラム。
【請求項１７】
コンピュータを、請求項１から１４のいずれか１項に記載された画像処理装置の各手段として機能させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の被写体の明るさを補正する画像処理技術に関する。
【背景技術】
【０００２】
従来、撮影画像中の被写体に対して、仮想的な光源からの光を照射して陰影を補正する、リライティング（Ｒｅｌｉｇｈｔｉｎｇ）を行う技術が知られている。リライティング処理により、環境光源によって生じた被写体の陰影などを明るくした画像を得ることが可能となる。特許文献１では、撮影画像に疑似的なリライティング処理を行うこと、具体的には、顔領域全体の平均輝度よりも低い輝度領域を陰影領域として抽出し、抽出した陰影領域の明度を高くすることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３５９９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記リライティング処理によって画像中の被写体の陰影を変更する場合には、リライティング処理対象の被写体領域を適切に決定する必要がある。被写体領域が適切でない場合、リライティング処理後の画像が不自然になってしまうことがある。
【０００５】
上記特許文献１では、リライティング処理領域を画像中の顔領域の位置および大きさに基づいて決定しているが、顔領域が誤検出された場合、適切ではない領域に対してリライティング処理を実行しまう可能性がある。例えば、顔検出処理において、顔領域の周辺の背景に含まれる顔に類似した領域を顔であると誤検出した場合、顔ではない背景の一部の領域に対してリライティング処理を実行してしまう可能性がある。
【０００６】
本発明は、上記課題に鑑みてなされ、その目的は、被写体の陰影などを補正する処理を行う領域の信頼度に基づき、適切に処理を行うことができる技術を実現することである。
【課題を解決するための手段】
【０００７】
上記課題を解決し、目的を達成するために、本発明の画像処理装置は、仮想的な光源である仮想光源を設定し、前記仮想光源を用いて画像中の被写体の明るさを補正する補正処理を行う処理手段と、画像中の特定の被写体情報を取得する取得手段と、画像における前記補正処理の対象となる被写体領域を決定する決定手段と、前記取得手段により得られた特定の被写体情報と前記決定手段により決定された被写体領域との関係に基づく前記補正処理の信頼度に応じて前記処理手段による補正処理を制御する制御手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、被写体の陰影などを補正する処理を行う領域の信頼度に基づき、適切に処理を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の撮像装置の構成を示すブロック図。
【図２】本実施形態の画像処理部の構成を示すブロック図。
【図３】本実施形態のリライティング処理部の構成を示すブロック図。
【図４】本実施形態の撮影座標と被写体と仮想光源の位置関係を説明する図。
【図５】本実施形態の顔領域情報および被写体領域情報を説明する図。
【図６】本実施形態のリライティング処理前後の画像を説明する図。
【図７】本実施形態のリライティング処理を示すフローチャート。
【図８】本実施形態のリライティング信頼度算出方法を説明する図。
【図９】実施形態２の複数人のリライティング処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成してもよい。
【００１１】
［実施形態１］以下、本実施形態の画像処理装置として、例えば、静止画や動画を撮影可能なデジタルカメラ等の撮像装置に適用した例について説明する。なお、本実施形態では、撮像装置１００としてデジタルカメラを例示しているが、カメラ付き携帯電話やその一種であるスマートフォン、タブレット端末、カメラ付きのパーソナルコンピュータ（ＰＣ）等の情報処理装置であってもよい。
【００１２】
＜装置構成＞まず、図１を参照して、本実施形態の撮像装置の構成および機能について説明する。
【００１３】
本実施形態の撮像装置１００は、ある光源環境で撮影された画像中の被写体に対して、仮想的な光源の光を照射することで陰影を補正（変更）するリライティング（Ｒｅｌｉｇｈｔｉｎｇ）処理を行う機能を有する。
【００１４】
図１において、撮影レンズ１０１はズームレンズ、フォーカスレンズを含むレンズ群である。シャッター１０２は絞り機能を備える。撮像部１０３は光学像を電気信号に変換するＣＣＤやＣＭＯＳ素子等で構成される撮像素子である。Ａ／Ｄ変換器１０４は、撮像部１０３から出力されるアナログ信号をデジタル信号に変換する。画像処理部１０５は、Ａ／Ｄ変換器１０４から出力される画像データに対し、ホワイトバランス（ＷＢ）処理や、ガンマ処理、輪郭強調、色補正処理等の各種画像処理を行う。メモリ制御部１０７は、画像メモリ１０６を制御する。画像メモリ１０６は、Ａ／Ｄ変換器１０４から出力される画像データや、表示部１０９に表示するための画像データを格納する。画像メモリ１０６は、所定枚数の静止画像や所定時間の動画および音声を格納するのに十分な記憶容量を備えている。また、画像メモリ１０６は画像表示用のメモリ（ビデオメモリ）を兼ねている。Ｄ／Ａ変換器１０８は、画像メモリ１０６に格納されている画像表示用のデータをアナログ信号に変換して表示部１０９に供給する。表示部１０９は、ＬＣＤや有機ＥＬ等の表示器である。
【００１５】
コーデック部１１０は、画像メモリ１０６に書き込まれた画像データをＭＰＥＧやＨ．２６４等の所定のビットレートおよびフォーマットで圧縮符号化して映像ファイルを生成し、記録媒体１１２に記録する。また、コーデック部１１０は、記録媒体１１２に記録されている映像ファイルを所定のビットレートおよびフォーマットで復号し、画像メモリ１０６に格納する。
【００１６】
記録媒体Ｉ／Ｆ１１１は、記録媒体１１２へのアクセスを制御するインターフェースである。記録媒体１１２は、撮影された画像データを記録するための内蔵および／または着脱可能なメモリカードやＨＤＤ（ハードディスクドライブ）等である。
【００１７】
顔検出部１１３は、撮影画像中の特定の被写体情報として人物の顔領域情報を検出する。リライティング処理部１１４は、撮影画像にリライティング処理を行う。
【００１８】
操作部１１５は、ユーザからの各種操作を受け付ける各種スイッチ、ボタン、タッチパネル等の操作部材であり、電源スイッチ、シャッターボタン、録画開始・終了ボタン等を含む。操作部１１５は、システム制御部１２０に各種の操作状態を通知する。
【００１９】
システム制御部１２０は、不揮発性メモリ１１６に格納されたプログラムを実行することで、後述するフローチャートの各処理を実現する。１１７はシステムメモリであり、ＲＡＭが用いられる。システムメモリ１１７には、システム制御部１２０の動作用の定数、変数、不揮発性メモリ１１６から読み出したプログラム等を展開する。また、システム制御部１２０は画像メモリ１０６、Ｄ／Ａ変換器１０８、表示部１０９等を制御することにより表示制御も行う。
【００２０】
距離検出部１１８は、被写体までの距離を計測し、後述する距離算出部３０３において撮影画素の画素単位に対応する距離情報を２次元の距離マップとして算出する。
【００２１】
＜撮影動作＞次に、本実施形態の撮像装置１００による撮影動作について説明する。
【００２２】
撮像部１０３は、撮影レンズ１０１およびシャッター１０２を介して入射した光を光電変換し、アナログ画像信号としてＡ／Ｄ変換器１０４へ出力する。Ａ／Ｄ変換器１０４は撮像部１０３から出力されるアナログ画像信号をデジタル信号に変換し画像処理部１０５に出力する。
【００２３】
画像処理部１０５は、Ａ／Ｄ変換器１０４からの画像データ、又は、メモリ制御部１０７からの画像データに対し、色変換処理、ガンマ処理、輪郭強調処理等を行う。また、画像処理部１０５では、顔検出部１１３により検出された顔領域情報や、撮像した画像データを用いて所定の評価値算出処理（不図示）を行い、得られた評価値に基づいてシステム制御部１２０が露光制御、測距制御を行う。これにより、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理等を行う。
【００２４】
画像処理部１０５から出力された画像データは、メモリ制御部１０７を介して画像メモリ１０６に書き込まれる。画像メモリ１０６は、撮像部１０３から出力された画像データや、表示部１０９に表示するための画像データを格納する。
【００２５】
また、Ｄ／Ａ変換器１０８は、画像メモリ１０６に格納されている表示用の画像データをアナログ信号に変換して表示部１０９に供給する。表示部１０９は、ＬＣＤ等の表示器上に、Ｄ／Ａ変換器１０８からのアナログ信号に応じた表示を行う。
【００２６】
コーデック部１１０は、画像メモリ１０６に格納された画像データをＭＰＥＧ等の規格に基づき圧縮符号化する。システム制御部１２０は符号化した画像データを関連付けて、記録媒体Ｉ／Ｆ１１１を介して記録媒体１１２に格納する。
【００２７】
＜画像処理部＞次に、図２を参照して、本実施形態の画像処理部１０５の構成および機能について説明する。
【００２８】
図２において、画像処理部１０５は、同時化処理部２００、ＷＢ増幅部２０１、輝度・色信号生成部２０２、輪郭強調処理部２０３、輝度ガンマ処理部２０４、色変換処理部２０５、色ガンマ処理部２０６、色差信号生成部２０７、陰影情報取得部２０８を含む。
【００２９】
次に、画像処理部１０５における処理を説明する。
【００３０】
図１のＡ／Ｄ変換器１０４から画像処理部１０５に入力された画像信号は同時化処理部２００に入力される。同時化処理部２００は入力されたベイヤーＲＧＢの画像データに対して、同時化処理を行い、色信号Ｒ，Ｇ，Ｂを生成する。ＷＢ増幅部２０１は、システム制御部１２０が算出するホワイトバランスゲイン値に基づき、ＲＧＢの色信号にゲインをかけ、ホワイトバランスを調整する。ＷＢ増幅部２０１から出力されるＲＧＢ信号は輝度・色信号生成部２０２に入力される。輝度・色信号生成部２０２はＲＧＢ信号から輝度信号Ｙを生成し、生成した輝度信号Ｙを輪郭強調処理部２０３、色信号ＲＧＢを色変換処理部２０５へ出力する。
【００３１】
輪郭強調処理部２０３は、輝度信号Ｙに対して輪郭強調処理を行い、輝度ガンマ処理部２０４へ出力する。輝度ガンマ処理部２０４は輝度信号Ｙに対してガンマ補正を行い、画像メモリ１０６に出力する。
【００３２】
色変換処理部２０５は、ＲＧＢ信号に対するマトリクス演算などにより、所望のカラーバランスへ変換する。色ガンマ処理部２０６は、ＲＧＢの色信号にガンマ補正を行う。色差信号生成部２０７では、ＲＧＢ信号から色差信号Ｒ−Ｙ、Ｂ−Ｙ信号を生成し、画像メモリ１０６に出力する。画像メモリ１０６に格納された輝度・色差信号（Ｙ，Ｒ−Ｙ，Ｂ−Ｙ）は、コーデック部１１０によって圧縮符号化され、記録媒体１１２に記録される。
【００３３】
また、色変換処理部２０５で処理されたＲＧＢ信号は陰影情報取得部２０８へ出力される。陰影情報取得部２０８は、撮影時の光源環境によって被写体に生じた陰影の状態を解析するための情報を取得する。例えば、被写体の平均輝度情報および顔領域の輝度ヒストグラム情報などを陰影情報として取得する。
【００３４】
＜リライティング処理部＞次に、図３を参照して、本実施形態のリライティング処理部１１４の構成および機能について説明する。
【００３５】
ユーザ操作によりリライティング処理が選択されている場合は、画像処理部１０５からリライティング処理部１１４に画像データを出力し、仮想光源によるリライティング処理を行う。
【００３６】
図３において、ＲＧＢ信号変換部３０１は入力された輝度・色差信号（Ｙ、Ｂ−Ｙ、Ｒ−Ｙ）をＲＧＢ信号に変換する。デガンマ処理部３０２は、ＲＧＢ信号変換部３０１から出力されるＲＧＢ信号にデガンマ処理を行う。距離算出部３０３は、距離検出部１１８から出力される撮像装置と被写体との距離情報を取得する。法線算出部３０４は、距離算出部３０３で算出された被写体の距離情報から法線情報を算出する。仮想光源反射成分算出部３０５は、仮想光源を設定し、設定された仮想光源から照射された光が被写体に反射した成分を算出する。仮想光源付加処理部３０６は、デガンマ処理部３０２から出力されるＲＧＢ信号に、仮想光源付加処理部３０６で算出された仮想光源の光が被写体に反射した成分をリライティング効果として付加する。ガンマ処理部３０７は、仮想光源付加処理部３０６から出力されるＲＧＢ信号にガンマ特性をかける。輝度・色差信号変換部３０８は、ガンマ処理部３０７から出力されるＲＧＢ信号を輝度・色差信号（Ｙ、Ｂ−Ｙ、Ｒ−Ｙ）に変換する。被写体領域決定部３０９は、距離算出部３０３から取得した距離マップと、顔検出部１１３から取得した顔領域情報とに基づいて撮影画像における被写体領域を決定する。リライティング信頼度算出部３１０は、顔検出部１１３により検出された顔領域情報と、被写体領域決定部３０９により得られた被写体領域情報との関係に基づいてリライティング処理の信頼度を算出する。
【００３７】
次に、リライティング処理部１１４の動作について説明する。
【００３８】
リライティング処理部１１４は、画像メモリ１０６に格納された輝度・色差信号（Ｙ、Ｂ−Ｙ、Ｒ−Ｙ）を読み出し、ＲＧＢ信号変換部３０１に入力する。ＲＧＢ信号変換部３０１は、入力された輝度・色差信号（Ｙ、Ｂ−Ｙ、Ｒ−Ｙ）をＲＧＢ信号に変換し、デガンマ処理部３０２へ出力する。
【００３９】
デガンマ処理部３０２は、画像処理部１０５のガンマ処理部２０４、２０６でかけられたガンマ特性と逆の特性の演算を行いリニアデータに変換する。デガンマ処理部３０２は、リニア変換後のＲＧＢ信号（Ｒｔ、Ｇｔ、Ｂｔ）を、仮想光源反射成分算出部３０５および仮想光源付加処理部３０６に出力する。
【００４０】
距離算出部３０３は、距離検出部１１８から取得した被写体距離情報から距離マップを算出する。被写体距離情報は、撮影画像の画素単位で得られる２次元の距離情報であり、距離マップは、撮影画像の各画素に対する距離情報をマップデータとしたものである。法線算出部３０４は、距離算出部３０３から距離マップを取得し、撮影画像の各画素に対応する法線情報をマップデータとした法線マップを算出する。距離マップから法線マップを生成する方法は、公知の技術を用いるものとするが、具体的な処理例について図４を用いて説明する。図４は撮影座標と被写体と仮想光源の位置関係を示している。例えば、図４に示すようにある被写体４０１に対して、撮影画像の水平方向の差分ΔＨに対する距離（奥行き）Ｄの差分ΔＤから勾配情報を算出し、勾配情報から法線Ｎを算出することが可能である。撮影画像の各画素に対して上記処理を行うことで、撮影画像の各画素に対応する法線情報Ｎを算出可能である。法線算出部３０４は、撮影画像の各画素に対応する法線情報を法線マップとして生成し、仮想光源反射成分算出部３０５に出力する。
【００４１】
被写体領域決定部３０９は、距離算出部３０３から取得した距離マップと顔検出部１１３から取得した顔領域情報とから撮影画像における被写体領域を決定する。具体的には、顔領域情報から顔領域内の距離値の平均値Ｄｅｆａｖｅを算出し、平均値Ｄｅｆａｖｅが含まれる任意の範囲、例えばＤｅｆａｖｅ±１０といった距離値を持つ領域を被写体領域として決定する。
【００４２】
リライティング信頼度算出部３１０は、被写体領域決定部３０９から取得した被写体領域情報と、顔検出部１１３から取得した顔領域情報との関係に基づいてリライティング処理の信頼度を算出する。リライティング信頼度とは、リライティング処理により意図通りに明るさが補正された画像が得られるか否かを数値化した指標である。リライティング処理により不自然な画像になる可能性がある場合や、絵柄が壊れてしまうといった可能性ある場合に、リライティング信頼度が低い値となる。
【００４３】
図５は顔検出部１１３により検出された顔領域情報と被写体領域決定部３０９により得られた被写体領域情報を例示している。図５において、（ａ）は撮影シーン、（ｂ）、（ｃ）、（ｄ）は顔検出部１１３により検出された顔領域情報、（ｅ）、（ｆ）、（ｇ）は被写体領域決定部３０９により得られた被写体領域情報をそれぞれ例示している。また、図５（ｂ）は、顔検出部１１３において適切に顔領域が検出された場合の顔検出結果を示している。図５（ｃ）と（ｄ）は顔検出部１１３において顔領域を誤検出した場合の顔検出結果を示している。特に、図５（ｃ）は顔領域外の背景の領域を顔であると誤検出した場合であり、図５（ｄ）は実際の顔の面積と比較して小さい領域を顔であると誤検出した場合である。図５（ｅ）は、被写体領域決定部３０９において適切に決定された被写体領域情報を示している。図５（ｆ）と（ｇ）は被写体領域決定部３０９において被写体領域を誤判定した場合の被写体領域情報を示している。特に、図５（ｆ）は被写体領域外の部分も被写体領域であると誤判定した場合であり、図５（ｇ）は被写体領域の一部を領域外であると誤判定した場合である。図５（ｃ）、（ｄ）、（ｆ）、（ｇ）のように誤判定した被写体領域情報を用いてリライティング処理を行うとリライティング処理後の画像が不自然になる可能性がある。このため、上記のように誤検出したケースでは、リライティング信頼度算出部３１０において算出されるリライティング信頼度が低い値となる。
【００４４】
仮想光源反射成分算出部３０５では、図４に示す仮想光源４０２と被写体４０１との距離Ｋ、法線情報Ｎ、仮想光源パラメータＬに基づき、仮想光源４０２が被写体４０１に反射する成分を算出する。具体的には、仮想光源４０２と被写体４０１との距離Ｋの二乗に反比例し、法線ベクトルＮと光源方向ベクトルＬの内積に比例するように、撮影画像の各画素に対応する座標位置の反射成分を算出する。これについて、図４を用いて説明する。図４において、４０１が被写体、４０２は設定した仮想光源の位置を示している。撮像装置１００で撮影された画像の水平画素位置Ｈ１（垂直画素位置は説明の簡略化のため省略）における反射成分は、撮影座標Ｈ１における法線Ｎ１と仮想光源の方向ベクトルＬ１の内積に比例し、仮想光源と被写体位置の距離Ｋ１に反比例する値となる。
【００４５】
上記の関係を数式で表現すると仮想光源による被写体反射成分（Ｒａ、Ｇａ、Ｂａ）は下記式１となる。
（式１）
Ｒａ＝α×（−Ｌ・Ｎ）／Ｋ2×Ｒｔ
Ｇａ＝α×（−Ｌ・Ｎ）／Ｋ2×Ｇｔ
Ｂａ＝α×（−Ｌ・Ｎ）／Ｋ2×Ｂｔ
ここで、αは仮想光源の強さであり、リライティング処理のゲイン値、Ｌは仮想光源の３次元方向ベクトル、Ｎは被写体の３次元法線ベクトル、Ｋは仮想光源と被写体の距離である。また、Ｒｔ、Ｇｔ、Ｂｔはデガンマ処理部３０２から出力されるＲＧＢ信号である。
【００４６】
仮想光源反射成分算出部３０５は、リライティング信頼度算出部３１０で算出したリライティング信頼度が所定の閾値よりも高い場合には、上記式１で仮想光源による反射成分（Ｒａ、Ｇａ、Ｂａ）を算出する。また、リライティング信頼度が所定の閾値よりも低い場合には、リライティング処理のゲイン値αや、仮想光源の３次元方向ベクトルＬ、３次元法線ベクトルＮを制御して反射成分（Ｒａ、Ｇａ、Ｂａ）を算出する。具体的な処理については図７のフローチャートを用いて後述する。
【００４７】
上記のように算出した仮想光源による反射成分（Ｒａ、Ｇａ、Ｂａ）は仮想光源付加処理部３０６へ出力される。仮想光源付加処理部３０６では、仮想光源による反射成分（Ｒａ、Ｇａ、Ｂａ）を付加する下記式２の処理を行う。
（式２）
Ｒｏｕｔ＝Ｒｔ＋Ｒａ
Ｇｏｕｔ＝Ｇｔ＋Ｇａ
Ｂｏｕｔ＝Ｂｔ＋Ｂａ
仮想光源付加処理部３０６から出力された画像信号（Ｒｏｕｔ、Ｇｏｕｔ、Ｂｏｕｔ）はガンマ処理部３０７に入力される。ガンマ処理部３０７では、入力されるＲＧＢ信号にガンマ補正を行う。輝度・色差信号変換部３０８では、ＲＧＢ信号から輝度Ｙ、色差信号Ｒ−Ｙ、Ｂ−Ｙ信号を生成する。
【００４８】
以上がリライティング処理部１１４の動作である。図６はリライティング処理部１１４でリライティング処理した画像の一例を示している。図６（ａ）はリライティング処理前の撮影画像、図６（ｂ）はリライティング処理後の撮影画像である。図６（ａ）で暗い被写体に対してリライティング処理を施すことで、図６（ｂ）のように陰影が明るくなるように補正される。
【００４９】
システム制御部１２０は、リライティング処理部１１４から出力される輝度・色差信号（Ｙ、Ｂ−Ｙ、Ｒ−Ｙ）を、メモリ制御部１０７によって画像メモリ１０６に書き込む。その後、コーデック部１１０で圧縮符号化を行い、記録媒体Ｉ／Ｆ１１１を介して記録媒体１１２に記録する。
【００５０】
＜リライティング処理＞次に、図７を参照して、本実施形態のリライティング処理の制御手順について説明する。
【００５１】
なお、図７の処理は、不揮発性メモリ１１６に記録されたプログラムを、システムメモリ１１７に読み出してシステム制御部１２０が実行することにより実現する。後述する図９でも同様である。
【００５２】
本実施形態では、システム制御部１２０がリライティング処理部１１４を制御して、リライティング処理の信頼度を算出し、算出されたリライティング信頼度に基づきリライティング処理を行う。
【００５３】
Ｓ７０１では、システム制御部１２０は、上述した撮影動作を行い被写体を撮影する。
【００５４】
Ｓ７０２では、システム制御部１２０は、ユーザ操作により操作部１１５を介してリライティング処理モードが選択されているか判定することで、リライティング処理部１１４による処理を行うか否かを判定する。リライティング処理を行うと判定した場合はＳ７０３に進み、そうでない場合は本処理を終了する。
【００５５】
Ｓ７０３では、システム制御部１２０は、顔検出部１１３から被写体の顔領域情報を取得する。顔検出部１１３は、撮影画像中の被写体の顔のパーツである目、鼻、口などの器官の座標位置の情報を取得し、それら座標位置から顔領域を検出する。なお、顔検出部１１３は、顔のパーツである器官の位置から顔領域を検出する方法に限定されず、過去の顔領域の検出結果を学習して顔領域を検出するような他の方法を用いてもよい。
【００５６】
Ｓ７０４では、システム制御部１２０は、被写体領域決定部３０９から被写体領域情報を取得する。被写体領域決定部３０９は、上述したように顔検出部１１３から顔領域情報、距離算出部３０３から距離マップ情報を取得し、顔の距離値と同等の距離値を持つ領域を被写体領域として決定する。
【００５７】
Ｓ７０５では、システム制御部１２０は、リライティング信頼度算出部３１０においてリライティング信頼度を算出する。リライティング信頼度算出部３１０は、図５で説明したように顔検出部１１３による検出結果や被写体領域決定部３０９による判定結果が適切でない場合には、リライティング信頼度として低い値を算出する。ここで、リライティング信頼度の算出方法について図８を用いて説明する。
【００５８】
図８（ａ）は、被写体領域と顔領域の位置の一致度レベルとリライティング信頼度との関係を例示している。被写体領域内に顔領域が含まれていればリライティング信頼度は高くなり、反対に図５（ｃ）に示したように被写体領域内に顔領域が含まれていなければリライティング信頼度は低くなる。被写体領域の位置と顔領域の位置が離れている程、一致度レベルは低くなりリライティング信頼度は低くなる。
【００５９】
図８（ｂ）は、被写体領域に対して、顔領域の面積レベルとリライティング信頼度との関係を例示している。図５（ｄ）に示したように被写体領域に対して、顔領域が小さすぎる（両者の差異が閾値未満の）場合または大きすぎる（両者の差異が閾値以上の）場合にリライティング信頼度を低くする。撮影シーンにより、顔をアップで撮影した場合と全身を撮影した場合で被写体領域の大きさは異なる。このため、被写体領域に対して顔領域がどの程度小さいと誤検出であるのかを判断するのは難しいが、被写体領域と比較してあまりに顔領域が小さい場合は誤検出である可能性が高いのでリライティング信頼度を低くするよう制御する。
【００６０】
図８（ｃ）は、顔周辺領域への被写体領域のはみ出しレベルとリライティング信頼度との関係を例示している。図５（ｆ）に示したように顔領域の周辺領域にまで被写体領域があった場合に、リライティングの信頼度を低くする。被写体領域は、顔も含まれているが首から下の胴体部分も含まれているので、被写体領域が顔領域をはみ出ていても問題はない。しかしながら、被写体領域が顔領域の上部、すなわち頭の上などにあった場合には、誤検出である可能性が高いとしてリライティング信頼度を低くする。
【００６１】
図８（ｄ）は、顔領域に対して、被写体領域の欠けているレベルとリライティング信頼度との関係を例示している。図５（ｇ）で示したように顔領域の一部が欠けている被写体領域であった場合に、リライティングの信頼度を低くする。欠けている領域が大きいほどリライティングの信頼度を低く算出するよう制御する。
【００６２】
そして、リライティング信頼度算出部３１０は、図８（ａ）〜（ｄ）に示した複数の要素から最終的なリライティング信頼度を算出する。例えば４つの要素に対しそれぞれリライティング信頼度を算出し、その平均値を最終的なリライティング信頼度を算出するか、もしくは個々の要素の重要度に応じて重みを持たせて、最終的なリライティング信頼度を算出する。
【００６３】
図７に戻り、Ｓ７０６では、システム制御部１２０は、Ｓ７０５で算出したリライティング信頼度が所定の閾値Ｔｈより高いか否かを判定し、閾値以上であると判定した場合はＳ７０７に進み、閾値未満であると判定した場合はＳ７０８に進む。
【００６４】
Ｓ７０７では、システム制御部１２０は、上述したリライティング処理を実行する。
【００６５】
Ｓ７０８では、システム制御部１２０は、リライティング処理のパラメータを通常の値から変更してリライティング処理を実行する。
【００６６】
具体的には、仮想光源による反射成分（Ｒａ、Ｇａ、Ｂａ）は、前述した式１を用いて算出されるが、式中で用いているリライティング処理のゲイン値αや、仮想光源の３次元方向ベクトルＬ、３次元法線ベクトルＮを制御する。例えば、リライティング信頼度が低い場合は、リライティング処理をすると不自然に処理結果となる可能性が高いため、リライティング処理のゲイン値αを小さく制御することが望ましい。よって、リライティング信頼度の低さに応じてリライティング処理のゲイン値αを通常よりも低く設定するよう制御する。例えばリライティング信頼度が最低値の０であれば、リライティング処理のゲイン値αをゼロとし、リライティング処理をしないよう制御する。
【００６７】
また、リライティング信頼度が低くなった要因により、仮想光源による反射成分を制御することも可能である。例えば、リライティング信頼度が低い要因が被写体領域決定部３０９による被写体領域情報の誤判定であった場合には、被写体領域決定部３０９に距離情報を出力している距離算出部３０３が適切に算出していないことになる。この場合、距離算出部３０３からの距離情報に基づいて算出している法線算出部３０４の出力である３次元法線ベクトルＮもまた正確でないと考えられるため、Ｎ＝１として仮想光源による反射成分（Ｒａ、Ｇａ、Ｂａ）を求める。
【００６８】
例えば、リライティング信頼度が低い要因が被写体領域決定部３０９の被写体領域情報の誤判定であって、その誤検出が図５（ｇ）のように顔領域に対して被写体領域が欠けている場合には、その欠けている領域にリライティング処理をしなければ目立たない。このため、欠けている領域に仮想光源の光が照射しないよう仮想光源の３次元方向ベクトルＬの照射範囲を制御して仮想光源による反射成分（Ｒａ、Ｇａ、Ｂａ）を求める。
【００６９】
以上、システム制御部１２０のリライティング処理部１１４の動作を説明した。
【００７０】
［実施形態２］次に、図９を参照して、実施形態２について説明する。
【００７１】
図９は、撮影画像中に複数の被写体が存在する場合のリライティング処理の制御手順を示している。
【００７２】
なお、図９のＳ７０１〜Ｓ７０５は、被写体が単体の場合の図７の処理と同一であるため、説明を省略する。
【００７３】
Ｓ９０１では、システム制御部１２０は、主要被写体レベルを算出する。主要被写体とは、例えば、撮影画像中に占める面積が大きい人物、予め登録された顔の人物、撮像装置からの距離が近い人物であり、撮影画像中において主要被写体であるほどレベルが高くなる。
【００７４】
Ｓ９０２では、システム制御部１２０は、被写体ごとのリライティング信頼度および主要被写体レベルの算出が完了したか否かを判定する。そして、リライティング信頼度および主要被写体レベルの算出が完了していると判定した場合にはＳ９０３に進み、完了していない場合にはＳ７０２に戻り、Ｓ７０２〜Ｓ９０２までの処理を繰り返す。
【００７５】
Ｓ９０３では、システム制御部１２０は、全ての被写体のリライティング信頼度が所定の閾値Ｔｈより高いか否かを判定し、閾値以上であると判定した場合はＳ９０４に進み、閾値未満であると判定した場合はＳ９０５に進む。
【００７６】
Ｓ９０４では、システム制御部１２０は、通常のリライティング処理を実行する。
【００７７】
Ｓ９０５では、システム制御部１２０は、Ｓ９０１で算出した主要被写体レベルが高い被写体のリライティング信頼度が所定の閾値Ｔｈより高いか否かを判定する。そして、閾値以上であると判定した場合はＳ９０６に進み、閾値未満であると判定した場合はＳ９０７に進む。
【００７８】
Ｓ９０６では、システム制御部１２０は、主要被写体には通常のリライティングを実行し、主要被写体ではない非主要被写体についてはリライティング処理のパラメータを変更してリライティング処理を実行する。例えば、非主要被写体はリライティング信頼度が低いので通常のリライティング処理のゲイン値よりも低いゲイン値を用いてリライティング処理を実行する。
【００７９】
Ｓ９０７では、システム制御部１２０は、全ての被写体に対して通常のリライティング処理で用いるパラメータを変更してリライティング処理を実行する。例えば、全ての被写体に対し、通常のリライティング処理のゲイン値よりも低いゲイン値を用いてリライティング処理を実行する。また、図７で説明したようにリライティング信頼度が低かった要因によって、リライティングパラメータの仮想光源の３次元方向ベクトルＬ、３次元法線ベクトルＮの値を制御してリライティング処理を実行する。
【００８０】
以上、撮影画像中に複数の被写体が存在する場合のリライティング処理の制御手順を説明した。
【００８１】
なお、上述した各実施形態では、リライティング信頼度算出部３１０においてリライティング信頼度を算出する際に、図８（ａ）〜（ｄ）を用いて誤検出の要因となる４要素から最終的なリライティング信頼度を算出する例を説明したが、これに限らず、誤検出のパターンは４要素以上あっても構わない。
【００８２】
また、上述した各実施形態では、リライティング信頼度算出部３１０において、図８で示したように、顔検出部１１３の顔領域情報と被写体領域決定部３０９の被写体領域情報との関係を分析してリライティング信頼度を算出する例を説明したが、これに限るものではない。例えば、顔検出部１１３において検出した顔領域情報の信頼度を算出し、被写体領域決定部３０９において被写体領域情報の信頼度を算出し、少なくとも一方の信頼度の情報を取得して、その情報を基にリライティング信頼度を算出する構成にしてもよい。
【００８３】
また、上述した各実施形態では、１画像に対し最終的なリライティング信頼度を１つ算出、もしくは１画像に含まれる複数の被写体に対して各々のリライティング信頼度を算出する場合について説明したが、これに限るものではない。例えば、画素単位でのリライティング信頼度を算出する構成にしてもよく、その場合は、例えば被写体領域と顔領域の位置がずれていた場合に被写体領域と顔領域の位置のずれ量が大きい画素ほど、リライティング信頼度を低くする。
【００８４】
また、本実施形態では、リライティング処理により被写体の陰影（暗部）が明るくなるように補正する場合について述べたが、逆に暗くするリライティングを行ってもよい。その場合、リライティング処理のゲイン値αをマイナスにする。
【００８５】
また、図４で説明した仮想光源の位置とリライティング処理の対象領域の画素の距離Ｄの算出方法は、上述した方法に限定するものではなく、どのような算出方法をとってもよい。例えば、撮像装置および被写体の位置を３次元位置として取得し、３次元での距離で計算してもよい。
【００８６】
また、各画素のＲＧＢ信号に対して仮想光源による反射成分を付加する場合に、仮想光源と被写体との距離の二乗に反比例する式を用いたが、これに限定するものではない。例えば、距離Ｄに反比例するものや、ガウス分布的に照射範囲が変化する式であってもよい。
【００８７】
［他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８８】
１００…撮像装置、１０３…撮像部、１０５…画像処理部、１１３…顔検出部、１１４…リライティング処理部、１１８…距離検出部、１２０…システム制御部、３０３…距離算出部、３０９…被写体領域決定部、３１０…リライティング信頼度算出部
【図１】
2018182699.tif 000003
【図２】
2018182699.tif 000004
【図３】
2018182699.tif 000005
【図４】
2018182699.tif 000006
【図５】
2018182699.tif 000007
【図６】
2018182699.tif 000008
【図７】
2018182699.tif 000009
【図８】
2018182699.tif 000010
【図９】
2018182699.tif 000011