(57)【要約】【課題】複数の被写体が写るシーンにリライティング処理を施す場合に、不自然なリライティング処理結果になることを抑制する。【解決手段】撮影画像を取得する取得部と、撮影画像に含まれる被写体を検出する複数の検出部と、被写体を照明する仮想的な光源である仮想光源を設定する設定部と、設定部が設定した仮想光源を用いて撮影画像の明るさを補正する補正部と、を備え、設定部は、複数の検出部の検出結果に基づいて、明るさを補正すべき被写体である信頼度を示すリライティング信頼度を算出し、算出されたリライティング信頼度に基づいて、仮想光源のパラメータを設定する。【選択図】 図８
2020181330.tif 000002
【特許請求の範囲】
【請求項１】
撮影画像を取得する取得手段と、
前記撮影画像に含まれる被写体を検出する複数の検出手段と、
前記被写体を照明する仮想的な光源である仮想光源を設定する設定手段と、
前記設定手段が設定した仮想光源を用いて前記撮影画像の明るさを補正する補正手段と、を備え、
前記設定手段は、前記複数の検出手段の検出結果に基づいて、明るさを補正すべき被写体である信頼度を示すリライティング信頼度を算出し、算出されたリライティング信頼度に基づいて、前記仮想光源のパラメータを設定することを特徴とする画像処理装置。
【請求項２】
前記撮影画像に含まれる複数の被写体の前記リライティング信頼度が全て所定の閾値以上である場合に、前記設定手段は、前記複数の被写体の全てを前記仮想光源で照明するように、前記仮想光源のパラメータを設定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記撮影画像に含まれる複数の被写体の前記リライティング信頼度のうち所定の閾値より小さいものがある場合、前記設定手段は、前記複数の被写体から１つまたは複数の主要被写体を選択し、該１つまたは複数の主要被写体の前記リライティング信頼度が全て前記所定の閾値以上である場合に、前記設定手段は、前記１つまたは複数の主要被写体の全てを前記仮想光源で照明するように、前記仮想光源のパラメータを設定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記撮影画像に含まれる複数の被写体の前記リライティング信頼度のうち所定の閾値より小さいものがある場合、前記設定手段は、前記複数の被写体から１つまたは複数の主要被写体を選択し、該１つまたは複数の主要被写体の前記リライティング信頼度のうち前記所定の閾値より小さいものがある場合、前記補正手段は、前記仮想光源を用いた補正を行わないことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記補正手段は、前記仮想光源を用いた補正を行わない場合に、画面全体について明るさを補正することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記設定手段は、前記複数の検出手段による被写体の検出数が一致する場合に、前記リライティング信頼度を高く算出し、被写体の検出数が異なる場合に、前記リライティング信頼度を低く算出することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記設定手段は、前記複数の検出手段のそれぞれによる１つの被写体についての検出信頼度を平均することにより、前記１つの被写体に対する前記リライティング信頼度を算出することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記設定手段が設定する前記仮想光源のパラメータは、前記仮想光源の位置、仮想光の照射範囲、仮想光の強度を含むことを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記設定手段が設定する前記仮想光源のパラメータは、被写体を明るくする加算光、被写体を暗くする減算光、被写体に鏡面反射を付加する鏡面反射光を含む複数の種類の仮想光のいずれかを示すパラメータを含むことを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記設定手段が設定する仮想光源のパラメータは、被写体を明るくする加算光の数、被写体を暗くする減算光の数、被写体に鏡面反射を付加する鏡面反射光の数を含む複数の種類の仮想光の数を示すパラメータを含むことを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
被写体を撮影して、前記撮影画像を出力する撮像手段と、
請求項１乃至１０のいずれか１項に記載の画像処理装置と、
を備えることを特徴とする撮像装置。
【請求項１２】
撮影画像を取得する取得手段と、前記撮影画像に含まれる被写体を検出する複数の検出手段と、を備える画像処理装置を制御する方法であって、
前記被写体を照明する仮想的な光源である仮想光源を設定する設定工程と、
前記設定工程において設定された仮想光源を用いて前記撮影画像の明るさを補正する補正工程と、を備え、
前記設定工程では、前記複数の検出手段の検出結果に基づいて、明るさを補正すべき被写体である信頼度を示すリライティング信頼度を算出し、算出されたリライティング信頼度に基づいて、前記仮想光源のパラメータを設定することを特徴とする画像処理装置の制御方法。
【請求項１３】
コンピュータを、請求項１乃至１０のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１４】
コンピュータを、請求項１乃至１０のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された画像に、仮想的な光源の影響を反映させる画像処理装置に関するものである。
【背景技術】
【０００２】
従来より、撮影後の画像中の被写体に対して、仮想的な光源からの光を照射し、リライティング処理する技術が知られている。リライティング処理により、環境光によって生じた影などの暗部領域を明るくし、好ましい画像を得ることが可能となる。
【０００３】
例えば、特許文献１では、被写体の陰影の状態を適切に補正することができるリライティング処理について開示されている。具体的には、撮影画像の所定領域の陰影の状態を検出し、検出された陰影の状態に基づいて、仮想光源の特性を決定する。そして決定された特性を有する仮想光源で光を照射した場合の陰影の状態になるように、撮影画像を補正する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−７２６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の特許文献１に記載された方法では、複数人の人物が写るシーンにおいては、被写体として検出された被写体毎の陰影の状態を検出し、各々の被写体に適した仮想光源の特性を決定することになる。
【０００６】
しかしながら複数人の人物が写るシーンにおいて、顔の傾き角度が大きい、顔が暗すぎるなどといった理由で一部の人物が被写体として検出されない場合がある。そういった場合においては、検出された被写体に対してはリライティング処理が行われるが、検出されなかった被写体に対しては何も処理がなされないこととなる。その結果、逆光で顔が暗いシーンにおいて、ある人物はリライティング処理により顔が明るくなるが、ある人物は顔が暗いままの不自然な画像になってしまう。
【０００７】
本発明は上述した課題に鑑みてなされたものであり、その目的は、複数の被写体が写るシーンにリライティング処理を施す場合に、不自然なリライティング処理結果になることを抑制することである。
【課題を解決するための手段】
【０００８】
本発明に係わる画像処理装置は、撮影画像を取得する取得手段と、前記撮影画像に含まれる被写体を検出する複数の検出手段と、前記被写体を照明する仮想的な光源である仮想光源を設定する設定手段と、前記設定手段が設定した仮想光源を用いて前記撮影画像の明るさを補正する補正手段と、を備え、前記設定手段は、前記複数の検出手段の検出結果に基づいて、明るさを補正すべき被写体である信頼度を示すリライティング信頼度を算出し、算出されたリライティング信頼度に基づいて、前記仮想光源のパラメータを設定することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数の被写体が写るシーンにリライティング処理を施す場合に、不自然なリライティング処理結果になることを抑制することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の画像処理装置の一実施形態であるデジタルカメラの構成を示すブロック図。
【図２】一実施形態における画像処理部の構成を示すブロック図。
【図３】一実施形態おける画像処理部の処理を示すフローチャート。
【図４】一実施形態おけるリライティング処理部の構成を示すブロック図。
【図５】一実施形態おける仮想光源からの仮想的な光の反射を説明する模式図。
【図６】一実施形態における仮想光源のパラメータ設定の説明図。
【図７】一実施形態におけるリライティング処理前後の画像の一例を示す図。
【図８】一実施形態におけるリライティング処理を示すフローチャート。
【図９】一実施形態におけるリライティング処理を示すフローチャート。
【図１０】一実施形態における複数人のリライティング処理を説明する図。
【図１１】一実施形態におけるリライティング信頼度算出の説明図。
【図１２】一実施形態におけるリライティング信頼度算出の説明図。
【図１３】一実施形態におけるリライティング信頼度算出の説明図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【００１２】
図１は、本発明の画像処理装置の一実施形態であるデジタルカメラ１００の構成を示すブロック図である。
【００１３】
図１に示すデジタルカメラ１００において、ズームレンズ、フォーカスレンズを含むレンズ群１０１（撮像光学系）、及び、絞り機能を備えるシャッター１０２を介して入射した光は、撮像部１０３において光電変換される。撮像部１０３は、ＣＣＤやＣＭＯＳ素子などで構成され、光電変換により得られた電気信号は、画像信号としてＡ／Ｄ変換器１０４へ出力される。Ａ／Ｄ変換器１０４は、撮像部１０３から出力されるアナログ画像信号をデジタル画像信号（画像データ）に変換し、画像処理部１０５に出力する。
【００１４】
画像処理部１０５は、Ａ／Ｄ変換器１０４からの画像データ、または、メモリ制御部１０７を介して画像メモリ１０６から読み出された画像データに対し、ホワイトバランス処理などの色変換処理、γ処理、輪郭強調処理、色補正処理などの各種画像処理を行う。画像処理部１０５から出力された画像データは、メモリ制御部１０７を介して画像メモリ１０６に書き込まれる。画像メモリ１０６は、画像処理部１０５から出力された画像データや、表示部１０９に表示するための画像データを格納する。
【００１５】
顔・顔器官検出部１１３は、撮影された画像から、人物の顔及び器官が存在する顔領域及び顔器官領域を検出する。頭部検出部１１５は、パターン認識や機械学習に基づく手法により、撮影された画像から、人物の頭部が存在する頭部領域を検出する。
【００１６】
画像処理部１０５では、顔・顔器官検出部１１３の顔検出結果や顔器官検出結果、頭部検出部１１５の頭部検出結果、及び撮像した画像データを用いて所定の評価値算出処理を行う。そして、得られた評価値に基づいてシステム制御部５０が露光制御、焦点検出制御を行う。これにより、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理などを行う。
【００１７】
また、Ｄ／Ａ変換器１０８は、画像メモリ１０６に格納されている表示用のデジタル画像データをアナログ信号に変換して表示部１０９に供給する。表示部１０９は、ＬＣＤ等の表示器上に、Ｄ／Ａ変換器１０８からのアナログ信号に応じた表示を行う。
【００１８】
コーデック部１１０は、画像メモリ１０６に格納された画像データをＪＰＥＧやＭＰＥＧなどの規格に基づいてそれぞれ圧縮符号化する。システム制御部５０は符号化した画像データを、インタフェース（Ｉ／Ｆ）１１１を介して、メモリカードやハードディスク等の記録媒体１１２に格納する。また、Ｉ／Ｆ１１１を介して記録媒体１１２から読み出された画像データをコーデック部１１０により復号して伸長し、画像メモリ１０６に格納する。そして、画像メモリ１０６に格納された画像データを、メモリ制御部１０７、Ｄ／Ａ変換器１０８を介して表示部１０９に表示することで、画像を再生表示することができる。
【００１９】
リライティング処理部１１４は、撮影された画像に仮想光源を当てて明るさを補正するリライティング処理（再照明処理）を行う。なお、リライティング処理部１１４により行われるリライティング処理の詳細については後述する。
【００２０】
システム制御部５０は、デジタルカメラ１００のシステム全体を制御する。不揮発性メモリ１２１は、ＥＥＰＲＯＭなどのメモリにより構成され、システム制御部５０の処理に必要なプログラムやパラメータなどを格納する。システム制御部５０は、不揮発性メモリ１２１に記録されたプログラム、及び、システム制御部５０の動作用の定数、変数をシステムメモリ１２２に展開して実行することにより、後述する本実施形態の各処理を実現する。
【００２１】
操作部１２０は、ユーザによるメニューの設定や画像選択などの操作を受け付ける。測距センサ１２３は被写体までの距離を測定し、撮影画素の各画素に対応する距離情報を出力する（距離情報検出）。
【００２２】
次に、画像処理部１０５の詳細について、図２及び図３を用いて説明する。図２は画像処理部１０５の構成を示すブロック図、図３は、画像処理部１０５における処理を示すフローチャートである。なお、本実施形態では、撮像部１０３はベイヤー配列のカラーフィルタにより覆われているものとする。従って、撮像部１０３の各画素からはＲ、Ｇ、Ｂいずれかの画素信号が出力される。
【００２３】
まず、Ｓ３０１において、図１のＡ／Ｄ変換器１０４から入力されたベイヤーＲＧＢの画像データは同時化処理部２００に入力される。同時化処理部２００は、入力されたＲ、Ｇ、Ｂの画像信号に対して同時化処理を行い、各画素について色信号ＲＧＢを生成する。
【００２４】
次に、Ｓ３０２において、ＷＢ増幅部２０１は、公知の処理によりシステム制御部５０が算出するホワイトバランスゲイン値に基づき、生成された各画素の色信号ＲＧＢにゲインをかけ、ホワイトバランスを調整する。ＷＢ増幅部２０１によりホワイトバランスが調整された色信号ＲＧＢは、Ｓ３０３において、輝度・色信号生成部２０２に入力される。輝度・色信号生成部２０２は色信号ＲＧＢから輝度信号Ｙを生成し、生成した輝度信号Ｙを輪郭強調処理部２０３へ、また、色信号ＲＧＢを色変換処理部２０５へ出力する。
【００２５】
Ｓ３０４では、輪郭強調処理部２０３において、輝度信号Ｙに対して輪郭強調処理を行い、輝度ガンマ処理部２０４へ出力する。一方、色変換処理部２０５では、色信号ＲＧＢに、例えばマトリクス演算を行って、所望のカラーバランスへ変換し、色ガンマ処理部２０６と被写体情報検出部２０８へ出力する。
【００２６】
Ｓ３０５では、被写体情報検出部２０８において、顔・顔器官検出部１１３から出力される顔・顔器官検出情報と、頭部検出部１１５から出力される頭部検出情報、及び色変換処理部２０５から出力される色信号ＲＧＢとから、撮影画像における被写体に関する情報を検出する（被写体情報検出）。ここで、被写体に関する情報とは、撮影画像内の被写体の人数、被写体の大きさ、被写体同士の位置関係、被写体への光のあたり方、被写体の陰影情報などである。例えば、被写体の人数、大きさ、位置関係に関しては、顔・顔器官検出部１１３が出力する各顔・顔器官の座標位置情報や頭部検出部１１５が出力する頭部の座標位置情報から検出する。また、光の当たり方や陰影情報は、撮影画像全体及び各被写体の平均輝度情報や輝度ヒストグラム情報から検出する。
【００２７】
Ｓ３０６では、輝度ガンマ処理部２０４において、輝度信号Ｙに対してガンマ補正を行い、メモリ制御部１０７を介してガンマ補正した輝度信号Ｙを画像メモリ１０６に出力する。一方、色ガンマ処理部２０６においては、色信号ＲＧＢにガンマ補正を行い、色差信号生成部２０７に出力する。
【００２８】
Ｓ３０７では、色差信号生成部２０７においてＲＧＢ信号から色差信号Ｒ−Ｙ、Ｂ−Ｙ信号を生成し、メモリ制御部１０７を介して画像メモリ１０６に出力する。
【００２９】
次に、本実施形態におけるリライティング処理について説明する。
【００３０】
図４はリライティング処理部１１４の構成を示すブロック図である。リライティング処理部１１４は、画像処理部１０５により処理されて画像メモリ１０６に記録された輝度信号Ｙ及び色差信号Ｂ−Ｙ、Ｒ−Ｙを読み出して入力とし、仮想光源によるリライティング処理を行う。
【００３１】
まず、ＲＧＢ信号変換部４０１は、入力された輝度信号Ｙ及び色差信号Ｂ−Ｙ、Ｒ−ＹをＲＧＢ信号に変換し、デガンマ処理部４０２へ出力する。デガンマ処理部４０２は、画像処理部１０５の輝度ガンマ処理部２０４及び色ガンマ処理部２０６におけるガンマ補正のガンマ特性と逆の特性の演算（デガンマ処理）を行い、リニアデータに変換する。そしてデガンマ処理部４０２は、リニアデータに変換後のＲＧＢ信号（Ｒｔ，Ｇｔ，Ｂｔ）を、仮想光源反射成分算出部４０６及び仮想光源付加処理部４０７に出力する。
【００３２】
一方、距離算出部４０３は測距センサ１２３から取得した被写体の距離情報から、距離マップを作成する。被写体の距離情報とは、撮影画像の画素単位で得られる２次元の距離情報のことである。法線算出部４０４は距離算出部４０３で作成した距離マップから、被写体の形状を表す形状情報として法線マップを作成する。距離マップから法線マップを生成する方法に関しては、公知の技術を用いるものとするが、具体的な処理例について図５を用いて説明する。
【００３３】
図５は、カメラ撮影座標と被写体の関係を示す図である。例えば、図５に示すようにある被写体５０１に対して、撮影画像の水平方向の差分ΔＨに対する、距離Ｄの差分ΔＤＨと、不図示ではあるが、垂直方向（図５の紙面に対して垂直な方向）の差分ΔＶに対する距離Ｄの差分ΔＤＶとから、被写体の一部分における勾配情報を算出する。そして、求めた被写体の一部分における勾配情報から法線Ｎを算出することが可能である。撮影した各画素に対して上記の処理を行うことにより、撮影画像の各画素に対応する法線Ｎを算出することが可能である。法線算出部４０４は、撮影画像の各画素に対応する法線Ｎの情報を法線マップとして仮想光源反射成分算出部４０６に出力する。
【００３４】
なお、距離算出部４０３及び法線算出部４０４は、リライティング処理部１１４内に構成されるものとして説明したが、本発明はこれに限られるものでは無く、例えば、測距センサ１２３または画像処理部１０５内に構成してもよいし、独立した構成としてもよい。
【００３５】
仮想光源設定部４０５は、画像処理部１０５の被写体情報検出部２０８から入力される被写体情報に基づいて、仮想光源のパラメータを設定する。例えば、顔全体が暗い被写体に対して顔の明るさを全体的に明るくしたい場合においては、顔全体が仮想光源の照射範囲に含まれるように、仮想光源の位置、照射範囲、強度などのパラメータを制御する。
【００３６】
ここで、被写体が１人である場合を例に挙げて、仮想光源に設定するパラメータについて、図６を用いて説明する。図６（ａ）は、被写体と仮想光源の位置関係を表した斜視図、図６（ｂ）は、被写体と仮想光源の位置関係を表した平面図である。
【００３７】
仮想光源の位置に関しては、仮想光源から被写体までの距離を短く設定すれば仮想光源の光は被写体に強く当たるようになり、逆に被写体までの距離を長く設定すれば仮想光源の光は被写体に弱く当たるようになる。仮想光源の照射範囲に関しては、仮想光源の照射範囲を広く設定すれば被写体全体に光を当てることができ、逆に照射範囲を狭く設定すれば被写体の一部にだけ光を当てることができる。また、仮想光源の強度に関しては、仮想光源の強度を強く設定すれば、被写体に強く光を当てることになり、逆に強度を弱く設定すれば、被写体に弱く光を当てることになる。
【００３８】
仮想光源反射成分算出部４０６では、光源と被写体の距離Ｋ、法線情報Ｎ及び仮想光源設定部４０５が設定した仮想光源のパラメータに基づき、設定した仮想光源から仮想的に照射された光のうち、被写体により反射される成分を算出する。以下、仮想光源から仮想的に照射された光を「仮想光」と呼ぶ。具体的には、仮想光源と各画素に対応する被写体の部分との距離Ｋの二乗に反比例し、法線Ｎのベクトルと光源方向Ｌのベクトルの内積に比例するように、撮影画像の座標位置に対応する被写体の部分における仮想光の反射成分を算出する。
【００３９】
ここで、仮想光の反射成分の一般的な算出方法について、図５を用いて説明する。なお、図５では説明を分かりやすくするために撮影画像の水平方向についてのみ示しているが、上述したように、紙面に対して垂直な方向が撮影画像の垂直方向となる。以下の説明では、撮影画像における水平画素位置Ｈ１と不図示の垂直画素位置Ｖ１に対応する、被写体５０１上の点Ｐ１における仮想光の反射成分の算出方法について説明する。
【００４０】
図５において、仮想光源５０２は被写体５０１に対して設定した仮想光源である。カメラ１００で撮影された撮影画像の位置（Ｈ１，Ｖ１）における仮想光の反射成分は、被写体５０１上の点Ｐ１における法線ベクトルＮ１と仮想光源５０２の光源方向ベクトルＬ１との内積に比例し、仮想光源５０２と点Ｐ１との距離Ｋ１の二乗に反比例する値となる。なお、法線ベクトルＮ１と光源方向ベクトルＬ１は、水平方向、垂直方向、及び奥行き方向（図５の距離Ｄで示す方向）からなる３次元のベクトルである。この関係を数式で表現すると、仮想光の被写体５０１上の点Ｐ１における反射成分（Ｒａ，Ｇａ，Ｂａ）は下記の式（１）に示す通りとなる。
【００４１】
Ｒａ＝α×（−Ｌ１・Ｎ１）／Ｋ１2×Ｒｔ
Ｇａ＝α×（−Ｌ１・Ｎ１）／Ｋ１2×Ｇｔ      …（１）
Ｂａ＝α×（−Ｌ１・Ｎ１）／Ｋ１2×Ｂｔ
ここで、αは仮想光源の光の強度であり、リライティング補正量のゲイン値、Ｒｔ、Ｇｔ、Ｂｔはデガンマ処理部４０２から出力されたＲＧＢ信号である。
【００４２】
上記のようにして算出された仮想光の反射成分（Ｒａ，Ｇａ，Ｂａ）は、仮想光源付加処理部４０７へ出力される。仮想光源付加処理部４０７では、仮想光の反射成分（Ｒａ，Ｇａ，Ｂａ）をデガンマ処理部４０２から出力されたＲＧＢ信号に付加する、下記の式（２）に示す処理を行う。
【００４３】
Ｒｏｕｔ＝Ｒｔ＋Ｒａ
Ｇｏｕｔ＝Ｇｔ＋Ｇａ      …（２）
Ｂｏｕｔ＝Ｂｔ＋Ｂａ
仮想光源付加処理部４０７によりリライティング処理されたＲＢＧ信号（Ｒｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔ）は、ガンマ処理部４０８に入力され、ガンマ補正が行われる。そして、輝度・色差信号生成部４０９では、ガンマ処理されたＲＧＢ信号（Ｒ’ｏｕｔ，Ｇ’ｏｕｔ，Ｂ’ｏｕｔ）から輝度信号Ｙ及び色差信号Ｒ−Ｙ、Ｂ−Ｙ信号を生成して出力する。
【００４４】
リライティング処理部１１４で上述したリライティング処理を行った例を図７に示す。図７（ａ）は、リライティング処理前の撮影画像、図７（ｂ）は、リライティング処理後の撮影画像の例である。図７（ａ）に示すように暗かった被写体が、仮想光を当ててリライティング処理をすることにより、図７（ｂ）に示すように明るく補正されている。
【００４５】
システム制御部５０は、リライティング処理部１１４が出力した輝度信号Ｙ及び色差信号Ｒ−Ｙ、Ｂ−Ｙを、メモリ制御部１０７の制御によって、画像メモリ１０６に蓄積した後、コーデック部１１０で圧縮符号化を行う。また、Ｉ／Ｆ１１１を介して記録媒体１１２に記録する。
【００４６】
次に、本実施形態におけるリライティング処理部１１４によるリライティング処理について、図８及び図９のフローチャートに沿って説明する。この処理は、操作部１２０を介したユーザからの操作によってリライティング処理が選択されている場合に、画像処理部１０５によって処理されて、画像メモリ１０６に記憶された画像（輝度信号Ｙ及び色差信号Ｒ−Ｙ、Ｂ−Ｙ）に対して実施される。
【００４７】
Ｓ８０１では、仮想光源設定部４０５は、第１の被写体情報として、図３のＳ３０５において被写体情報検出部２０８が顔・顔器官検出部１１３から取得したリライティング処理を行う対象の画像に含まれる被写体の人数、大きさ、位置関係などの被写体情報を取得する。
【００４８】
Ｓ８０２では、仮想光源設定部４０５は、第２の被写体情報として、Ｓ３０５において被写体情報検出部２０８が頭部検出部１１５から取得したリライティング処理を行う対象の画像に含まれる被写体の人数、大きさ、位置関係などの被写体情報を取得する。
【００４９】
Ｓ８０３では、距離算出部４０３が、更に、デジタルカメラ１００と被写体との距離による重み付けマップ（mapＫ）を生成する。具体的には、まず、距離算出部４０３が測距センサ１２３から取得した撮影画像の画素単位で得られる２次元の被写体距離情報に基づいて距離Ｋを画素単位で算出する（距離マップ）。そして、画素単位で１／（Ｋ2）を任意のビット幅で正規化した値を、距離による重み付けマップ（mapＫ）とする。
【００５０】
Ｓ８０４では、法線算出部４０４において距離算出部４０３から取得した距離マップに基づいて、法線マップ（mapＮ）を生成する。具体的には、図５で説明したように被写体法線ベクトルＮを画素単位で算出し、その各座標軸方向に対する方向余弦を求める。そして、画素単位で、求めた方向余弦を任意のビット幅で表現して法線による重み付けマップ（mapＮ）とする。
【００５１】
Ｓ８０５では、仮想光源設定部４０５において、各被写体のリライティング信頼度を算出する。図１０と図１１を用いて、リライティング信頼度の算出方法について説明する。
【００５２】
図１０は、被写体が２人の場合の撮影画像の例を示す。図１０（ａ）は、リライティング処理前の撮影画像、図１０（ｂ）は、撮影画像に対し、仮想光源の位置と照射範囲を示したイメージ図である。さらに、図１０（ｃ）は、仮想光源反射成分算出部４０６により算出された仮想光の反射成分算出結果のイメージ図、図１０（ｄ）は、リライティング処理後の画像の例である。図１０（ａ）に示すように暗かった２人の被写体が、仮想光を当ててリライティング処理をすることにより、図１０（ｄ）に示すように明るく補正されている。図１０（ｅ）は、例えば向かって右側の被写体が被写体検出されて、向かって左側の被写体が被写体検出されなかった場合に、その情報のみを使用してリライティング処理を行った場合の例を示している。図１０（ｅ）では、検出した右側の被写体に対してのみリライティング処理がなされるため、不自然な画像となっている。
【００５３】
図１１は、Ｓ８０１で取得した第１の被写体情報、Ｓ８０２で取得した第２の被写体情報から、リライティング信頼度を算出する方法について説明する図である。ここでは、図１０（ａ）に示したような２人の撮影画像に対して、被写体検出を行った例について説明する。なお、ここで挙げる例は、第１の被写体情報としての顔・顔器官検出部１１３による被写体の検出数と、第２の被写体情報としての頭部検出部１１５による被写体の検出数が一致している場合の例である。
【００５４】
図１１（ａ）は、被写体情報検出部２０８が第１の被写体情報として検出した検出画像を示している。図１１（ｂ）は、被写体情報検出部２０８が、第１の被写体情報として取得した情報を示している。１１０１は、画像Ｎｏ．、１１０２は被写体検出の種類、１１０３は被写体Ｎｏ．、１１０４は検出された顔の顔中心座標、１１０５は検出された顔の顔サイズ、１１０６は被写体検出の信頼度を示す。
【００５５】
図１１（ｃ）は、被写体情報検出部２０８が第２の被写体情報として検出した検出画像を示している。図１１（ｄ）は、被写体情報検出部２０８が、第２の被写体情報として取得した情報を示している。１１０７は、画像Ｎｏ．、１１０８は被写体検出の種類、１１０９は被写体Ｎｏ．、１１１０は検出された顔の顔中心座標、１１１１は検出された顔の顔サイズ、１１１２は被写体検出の信頼度を示す。
【００５６】
図１１（ｅ）は、図１１（ａ）〜（ｄ）の第１及び第２の被写体検出情報からリライティング信頼度を算出した結果を示している。１１１３は画像Ｎｏ．、１１１４は被写体Ｎｏ．、１１１５は被写体検出種類、１１１６は検出された顔の顔中心座標、１１１７は検出された顔の顔サイズを示す。さらに、１１１８は検出された被写体が主要被写体群であるか否かのフラグ、１１１９は被写体検出の信頼度、１１２０はリライティング信頼度を示す。
【００５７】
ここで、１１１８に示した被写体が主要被写体群であるか否かのフラグについては、公知の主被写体検出技術を用いて判定する。例えば被写体の位置座標が撮影画像の中心に近く、撮影画像における被写体の顔面積が大きい場合などは主要被写体群と判定し、フラグは１となる。１１２０に示したリライティング信頼度の算出方法としては、例えば、１１１９に示した各被写体検出の信頼度の平均値をリライティング信頼度とする。
【００５８】
図８の説明に戻って、Ｓ８０６では、仮想光源設定部４０５において、撮影画像に含まれる全員のリライティング信頼度が所定の閾値Ｔｈ以上か否かを判定する。全員のリライティング信頼度が閾値以上の場合はＳ８０７に進み、閾値未満の場合は図９のＳ９０７に進む。
【００５９】
Ｓ８０７では、仮想光源設定部４０５において、仮想光の重み付けマップを生成する。具体的には、仮想光源の光源方向ベクトル−Ｌを画素単位で算出し、その各座標軸方向に対する方向余弦を求める。そして、画素単位で、求めた方向余弦を任意のビット幅で表現して仮想光源による重み付けマップ（mapＬ）とする。なお、仮想光源の光源ベクトル−Ｌを算出するための仮想光源のパラメータ設定に関しては、被写体情報検出部２０８から入力される被写体情報に基づいて決定する。例えば、取得した顔領域内の輝度分布が偏っていた場合、輝度値が低い領域に仮想光が当たるように仮想光源の位置、照射範囲、強度を決定する。
【００６０】
例えば、輝度値が低い領域の撮影画像における座標が（ｘ１，ｙ１）であるとすると、仮想光の被写体による反射成分（Ｒａ(x1, y1)，Ｇａ(x1, y1)，Ｂａ(x1, y1)）は、次式（３）で表される。
【００６１】
Ｒａ(x1, y1)＝α×（−Ｌ(x1, y1)・Ｎ(x1, y1)）／Ｋ(x1, y1)2×Ｒｔ
Ｇａ(x1, y1)＝α×（−Ｌ(x1, y1)・Ｎ(x1, y1)）／Ｋ(x1, y1)2×Ｇｔ    …（３）
Ｂａ(x1, y1)＝α×（−Ｌ(x1, y1)・Ｎ(x1, y1)）／Ｋ(x1, y1)2×Ｂｔ
なお、式（３）において、αは仮想光源の光の強度である。また、Ｌ(x1, y1)は、座標（ｘ１，ｙ１）に対応する被写体上の位置における仮想光源の光源方向ベクトル、Ｎ(x1, y1)は、座標（ｘ１，ｙ１）に対応する被写体上の位置における法線ベクトルである。更に、Ｋ(x1, y1)は、仮想光源と座標（ｘ１，ｙ１）に対応する被写体上の位置との距離を示す。仮想光が輝度値の低い領域である座標（ｘ１，ｙ１）にある被写体に当たるようにするには、（Ｒａ(x1, y1)，Ｇａ(x1, y1)，Ｂａ(x1, y1)）が正の値となるように、仮想光源の強さαと、被写体との距離Ｋ(x1, y1)を制御する。また、仮想光源の照射範囲は、取得した顔領域内の輝度分布情報に基づいて、所定の閾値よりも低い輝度値となる座標情報を取得し、その座標が含まれる照射範囲になるよう制御する。また、仮想光源の強さαを大きくし過ぎて白飛びや階調反転などの弊害が生じる可能性もあるので、仮想光源の強さαの範囲としては、照射範囲外となる輝度値が高い領域の平均輝度値±βの範囲内の輝度値とし、ある閾値βの範囲内で制御する。上述した処理により、仮想光源設定部４０５は仮想光源の位置の範囲、照射する範囲、強度の範囲を算出し、その範囲内の平均値を仮想光源の位置、照射範囲、強度として設定値を決定する。
【００６２】
Ｓ８０８では、仮想光源反射成分算出部４０６において、検出された被写体の領域について、仮想光の反射成分（Ｒａ，Ｇａ，Ｂａ）を算出する。なお、反射成分（Ｒａ，Ｇａ，Ｂａ）は前述した通り、式（１）を用いて算出することができる。この式（１）を、Ｓ８０３の距離による重み付けマップ（mapＫ）、Ｓ８０４の被写体の法線による重み付けマップ（mapＮ）、Ｓ８０７の仮想光源による重み付けマップ（mapＬ）で置き換える。すなわち、下記の式（４）を用いて仮想光の反射成分を算出することができる。
【００６３】
Ｒａ＝α×mapＬ・mapＮ・mapＫ×Ｒｔ
Ｇａ＝α×mapＬ・mapＮ・mapＫ×Ｇｔ      …（４）
Ｂａ＝α×mapＬ・mapＮ・mapＫ×Ｂｔ
仮想光反射成分の算出結果とは、ゲインα（強度）と仮想光源による重みづけマップ（mapL）と法線による重み付けマップ（mapN）と、距離による重み付けマップ（mapK）とを乗算した結果を示している。仮想光源反射成分算出部４０６において、Ｓ８０８で算出した各被写体グループの仮想光反射成分を合成し、画像全体の仮想光源からの仮想的な光の反射成分（Ｒａ，Ｇａ，Ｂａ）を算出する。例えば、図１０に示した撮影画像のように複数人の例では、各被写体の仮想光反射成分を合成する。合成方法は既存の方法でよいが、例えば、比較明合成処理などで合成する。合成した例を図１０（ｃ）に示す。
【００６４】
Ｓ８０９では、リライティング処理を行う。具体的には、上述した式（２）に示すように、Ｓ８０８で算出した仮想光の反射成分（Ｒａ，Ｇａ，Ｂａ）を、仮想光源付加処理部４０７において、デガンマ処理部４０２の出力（Ｒｔ，Ｇｔ，Ｂｔ）と加算する。リライィング処理を終えると、リライティング処理部１１４による処理を終了する。
【００６５】
以上の処理により、リライティング処理部１１４において、撮影画像中の被写体のリライティング処理を行う。
【００６６】
一方、Ｓ８０６において、撮影画像に含まれる全員のリライティング信頼度が所定の閾値以上ではないと判断された場合、図９のＳ９０７に進む。
【００６７】
Ｓ９０７では、主要被写体群の各被写体のリライティング信頼度が、所定の閾値以上か否かを判別する。所定の閾値より小さい場合は、Ｓ９１１へ進み、所定の閾値以上の場合は、Ｓ９０８に進む。この判定方法について図１２を用いて説明する。
【００６８】
図１２は、Ｓ８０１で取得した第１の被写体情報、Ｓ８０２で取得した第２の被写体情報から、リライティング信頼度を算出する方法について説明する図である。ここでは、図１０（ａ）に示したような２人の被写体の遠くに別の被写体が小さく写っている撮影画像に対して、被写体検出した例について説明する。
【００６９】
図１２（ａ）は、被写体情報検出部２０８が第１の被写体情報として検出した検出画像を示している。図１２（ｂ）は、被写体情報検出部２０８が、第１の被写体情報として取得した情報を示している。１２０１は、画像Ｎｏ．、１２０２は被写体検出の種類、１２０３は被写体Ｎｏ．、１２０４は検出された顔の顔中心座標、１２０５は検出された顔の顔サイズ、１２０６は被写体検出の信頼度を示す。
【００７０】
図１２（ｃ）は、被写体情報検出部２０８が第２の被写体情報として検出した検出画像を示している。図１２（ｄ）は、被写体情報検出部２０８が、第２の被写体情報として取得した情報を示している。１２０７は、画像Ｎｏ．、１２０８は被写体検出の種類、１２０９は被写体Ｎｏ．、１２１０は検出された顔の顔中心座標、１２１１は検出された顔の顔サイズ、１２１２は被写体検出の信頼度を示す。
【００７１】
図１２（ｅ）は、図１２（ａ）〜（ｄ）の第１及び第２の被写体検出情報からリライティング信頼度を算出した結果を示している。１２１３は画像Ｎｏ．、１２１４は被写体Ｎｏ．、１２１５は被写体検出種類、１２１６は検出された顔の顔中心座標、１２１７は検出された顔の顔サイズを示す。さらに、１２１８は検出された被写体が主要被写体群であるか否かのフラグ、１２１９は被写体検出の信頼度、１２２０はリライティング信頼度を示す。
【００７２】
ここで、１２１８に示した被写体が主要被写体群であるか否かのフラグについては、公知の主被写体検出技術により判定する。例えば被写体の位置座標が撮影画像の中心に近く、撮影画像における被写体の顔面積が大きい場合などは主要被写体群と判定し、フラグは１となる。１２２０に示したリライティング信頼度の算出方法としては、１２１９に示した各被写体検出の信頼度の平均値をリライティング信頼度とする。前述のステップＳ９０７では、主要被写体群だと判定された被写体において、リライティング信頼度が所定の閾値以上か否かを判定する。例えば、信頼度の閾値が８０であった場合に、図１２では、撮影画像の主要被写体群と判定された被写体はＮｏ．１とＮｏ．２である。そして、Ｎｏ．１とＮｏ．２の被写体のリライティング信頼度は１００と９０で閾値８０を超えている。そのため、Ｓ９０７では信頼度が高いと判定されてＳ９０８に進む。
【００７３】
Ｓ９０８では、仮想光源設定部４０５において、それぞれ仮想光源の位置、照射範囲、強度などのパラメータを設定する。この仮想光源の位置、照射範囲、強度などのパラメータの設定は、上述したＳ８０７と同様にして行うが、Ｓ８０７では通常の仮想光源パラメータで照射しているのに対し、Ｓ９０８ではリライティング信頼度に応じて仮想光源パラメータを制御する。制御方法としては、主要被写体群の各被写体のリライティング信頼度が高ければ高いほど、非主要被写体群の主要被写体の程度が小さければ小さいほど（すなわち主要被写体ではない可能性が高ければ高いほど）、通常の仮想光源パラメータと同等の設定値となるよう制御する。逆の場合は、通常の仮想光源パラメータよりも効果が弱くなるように制御する。このように設定された仮想光源のパラメータに基づいて、仮想光源による重み付けマップを生成する。具体的には、仮想光源の光源方向ベクトル−Ｌを画素単位で算出し、その各座標軸方向に対する方向余弦を求める。求めた方向余弦を任意のビット幅で表現して仮想光源による重み付けマップ（mapＬ）とする。
【００７４】
Ｓ９０９では、仮想光源反射成分算出部４０６において、検出された被写体の領域について、仮想光の反射成分（Ｒａ，Ｇａ，Ｂａ）を算出する。算出方法は、Ｓ８０８で前述した方法と同じである。
【００７５】
Ｓ９１０では、リライティング処理を行う。具体的には、Ｓ９０８で算出した仮想光の反射成分（Ｒａ，Ｇａ，Ｂａ）を、仮想光源付加処理部４０７において、デガンマ処理部４０２の出力（Ｒｔ，Ｇｔ，Ｂｔ）と加算する。リライティング処理を終えると、リライティング処理部１１４による処理を終了する。
【００７６】
一方、Ｓ９０７において主要被写体群の各被写体のリライティング信頼度が、所定の閾値未満であった場合は、Ｓ９１１に進む。この判定方法について図１３を用いて説明する。
【００７７】
図１３は、Ｓ８０１で取得した第１の被写体情報、Ｓ８０２で取得した第２の被写体情報から、リライティング信頼度を算出する方法について説明する図である。ここでは、図１０（ａ）に示したような２人の撮影画像に対して、第１の被写体検出では２人が検出され、第２の被写体検出では片方のみが検出された例について説明する。
【００７８】
図１３（ａ）は、被写体情報検出部２０８が第１の被写体情報として検出した検出画像を示している。図１３（ｂ）は、被写体情報検出部２０８が、第１の被写体情報として取得した情報を示している。１３０１は、画像Ｎｏ．、１３０２は被写体検出の種類、１３０３は被写体Ｎｏ．、１３０４は検出された顔の顔中心座標、１３０５は検出された顔の顔サイズ、１３０６は被写体検出の信頼度を示す。
【００７９】
図１３（ｃ）は、被写体情報検出部２０８が第２の被写体情報として検出した検出画像を示している。図１３（ｄ）は、被写体情報検出部２０８が、第２の被写体情報として取得した情報を示している。１３０７は、画像Ｎｏ．、１３０８は被写体検出の種類、１３０９は被写体Ｎｏ．、１３１０は検出された顔の顔中心座標、１３１１は検出された顔の顔サイズ、１３１２は被写体検出の信頼度を示す。
【００８０】
図１３（ｅ）は、図１３（ａ）〜（ｄ）の第１及び第２の被写体検出情報からリライティング信頼度を算出した結果を示している。１３１３は画像Ｎｏ．、１３１４は被写体Ｎｏ．、１３１５は被写体検出種類、１３１６は検出された顔の顔中心座標、１３１７は検出された顔の顔サイズを示す。さらに、１３１８は検出された被写体が主要被写体群であるか否かのフラグ、１３１９は被写体検出の信頼度、１３２０はリライティング信頼度を示す。なお、図１３（ｃ）では、第２の被写体検出情報において、２人の被写体のうちＮｏ．２の被写体が検出されていない。そのため、この検出されないＮｏ．２の被写体の被写体信頼度は０と考える。そのため、図１３（ｅ）のリライティング信頼度の計算では、Ｎｏ．２の被写体に対して、第１の被写体検出情報での被写体検出信頼度１００と第２の被写体検出情報での被写体信頼度０との平均をとって、リライティング信頼度が５０となる。
【００８１】
ここで、１３１８に示した被写体が主要被写体群であるか否かのフラグについては、公知の主被写体検出技術により判定する。例えば被写体の位置座標が撮影画像の中心に近く、撮影画像における被写体の顔面積が大きい場合などは主要被写体群と判定し、フラグは１となる。１３２０に示したリライティング信頼度の算出方法としては、１３１９に示した各被写体検出の信頼度の平均値をリライティング信頼度とする。前述のステップＳ９０７では、主要被写体群だと判定された被写体において、リライティング信頼度が任意の閾値以上か否かを判定する。例えば、信頼度の閾値が８０であった場合に、図１３では、撮影画像の主要被写体群と判定された被写体はＮｏ．１とＮｏ．２である。そして、Ｎｏ．１とＮｏ．２の被写体のリライティング信頼度は１００と５０であり、一方が閾値８０を下回っている。そのため、Ｓ９０７では信頼度が低いと判定されてＳ９１１へと進む。
【００８２】
Ｓ９１１では、リライティング処理をせずに、画面全体で明るさ補正処理を行う。例えば、個々の被写体に対し仮想光源を設定して明るさ補正をするのではなく、輝度値が低いほど明るくなるようなゲイン処理により、明るさ補正を行う。
【００８３】
以上の処理により、リライティング処理部１１４において、撮影画像中の被写体のリライティング処理を行う。これにより、主要被写体群の被写体にも関わらず、一部の被写体は明るくなり、一部の被写体が暗くなるといった不自然なリライティング処理画像を生成することを回避することが可能となる。
【００８４】
なお、本実施形態では、画像処理装置としてデジタルカメラ１００を例に挙げて説明したが、パーソナルコンピューター等の画像処理装置に本発明を適用することも可能である。その場合、カメラ等の撮像手段で撮影した画像を取得し、取得した画像に対してユーザが任意に仮想光源パラメータを設定してリライティング処理する画像処理装置であってもよい。画像と共に、顔検出結果、頭部検出結果、距離情報、法線情報などの付加情報があれば、それらの情報を用いてリライティング処理を行ってもよい。その場合においても、被写体をグループ分けすることで、ユーザが被写体１人ずつに対して仮想光源のパラメータを設定する必要がなくなるため、仮想光源のパラメータ設定方法を煩雑にせずにリライティング処理することが可能となる。
【００８５】
また、本実施形態では、仮想光源が１つの場合について説明したが、これに限るものではない。例えば、１つの仮想光源は被写体に対し右斜め上から、もう１つの仮想光源は被写体に対し真横からといったように、複数の仮想光源でリライティング処理する構成にしてもよい。
【００８６】
また、本実施形態では、加算光により明るく補正する場合について説明したが、暗くするリライティングを行ってもよい。その場合、仮想光源のゲイン値αをマイナス（減算光）にする。また被写体に鏡面反射光を付加する構成にしてもよい。このように、複数の種類のいずれかを選択して仮想光とすることができる。
【００８７】
また、設定される仮想光源のパラメータは、被写体を明るくする加算光の数、被写体を暗くする減算光の数、被写体に鏡面反射を付加する鏡面反射光の数などの仮想光源の数に関する値を含むようにしてもよい。
【００８８】
また、仮想光源の位置と処理対象画素の距離Ｄの算出方法は、本実施形態の方向に限定されるものではなく、どのような算出方法をとってもよい。例えば、カメラの位置および被写体位置を３次元位置として取得し、３次元での距離で計算してもよい。
【００８９】
また、仮想光源を付加する場合に、距離の二乗に反比例する式で計算したが、仮想光源の付加量をこの方式で算出するものに限定されるものではない。例えば、距離Ｄに反比例するものや、ガウス分布的に照射範囲が変化する式であってもよい。
【００９０】
また、本実施形態では、複数の被写体検出手段として顔・顔器官検出手段と頭部検出手段の例を用いて説明したが、これに限るものではなく、他の被写体領域検出手段を用いても構わない。
【００９１】
また、上述した例では、人を被写体として検出する場合について説明したが、被写体は人に限られるものでは無く、予め決められた被写体（例えば、車、動物、植物など）を検出してもよい。
【００９２】
（他の実施形態）
また本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現できる。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現できる。
【００９３】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【００９４】
５０：システム制御部、１０１：光学系、１０２：シャッター、１０３：撮像部、１０４：Ａ／Ｄ変換器、１０５：画像処理部、１０６：画像メモリ、１０７：メモリ制御部、１０９：表示部、１１３：顔・顔器官検出部、１１４：リライティング処理部、１１５：頭部検出部
【図１】
2020181330.tif 000003
【図２】
2020181330.tif 000004
【図３】
2020181330.tif 000005
【図４】
2020181330.tif 000006
【図５】
2020181330.tif 000007
【図６】
2020181330.tif 000008
【図７】
2020181330.tif 000009
【図８】
2020181330.tif 000010
【図９】
2020181330.tif 000011
【図１０】
2020181330.tif 000012
【図１１】
2020181330.tif 000013
【図１２】
2020181330.tif 000014
【図１３】
2020181330.tif 000015