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