(57)【要約】      （修正有）【課題】撮影時に被写体上で生じた鏡面反射が補正すべきものか否かを被写体表面の形状に基づき判定し、補正すべきと判定された鏡面反射を補正する技術を提供する。【解決手段】画像処理部画像に含まれる被写体像における鏡面反射領域を検出する検出手段２０２と、前記被写体像に対応する被写体表面の領域のうち、前記鏡面反射領域とその周辺領域との形状を表す情報を形状情報として取得する取得手段２０３と、検出された前記鏡面反射領域のうち、前記形状情報に基づき補正対象となる鏡面反射領域を決定する決定手段２０４と、前記補正対象に決定された鏡面反射領域の画素値を補正する補正手段２０５とを備える。前記決定手段は、前記鏡面反射領域の形状と前記周辺領域の形状とを比較し、前記比較の結果に基づいて前記被写体表面の平坦領域に発生している鏡面反射領域を前記補正対象に決定する。【選択図】図２
2017157043.tif 000002
【特許請求の範囲】
【請求項１】
画像に含まれる被写体像における鏡面反射領域を検出する検出手段と、
前記被写体像に対応する被写体表面の領域のうち、前記鏡面反射領域とその周辺領域との形状を表す情報を形状情報として取得する取得手段と、
検出された前記鏡面反射領域のうち、前記形状情報に基づき補正対象となる鏡面反射領域を決定する決定手段と、
前記補正対象に決定された鏡面反射領域の画素値を補正する補正手段と
を備え、
前記決定手段は、前記鏡面反射領域の形状と前記周辺領域の形状とを比較し、前記比較の結果に基づいて前記被写体表面の平坦領域に発生している鏡面反射領域を前記補正対象に決定することを特徴とする画像処理装置。
【請求項２】
前記決定手段は、前記比較により前記鏡面反射領域と前記周辺領域とを含む前記被写体表面の領域の平坦度を判定し、判定された平坦度に基づき前記補正対象となる鏡面反射領域を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記形状情報は、前記被写体表面における法線方向を表す法線ベクトルを含み、
前記決定手段は、前記被写体表面のうち前記鏡面反射領域の法線ベクトルと前記周辺領域の法線ベクトルとの内積値に基づき前記平坦度を判定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記決定手段は、前記内積値が閾値以上の値を有する場合に、対応する鏡面反射領域を前記補正対象に決定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記所定の閾値は、前記鏡面反射領域における鏡面反射強度の変化に応じて決定され、前記鏡面反射強度の変化が緩やかなほど値が大きく、前記鏡面反射強度の変化が急峻なほど値が小さいことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記周辺領域が複数の部分領域から構成される場合、
前記決定手段は、前記被写体表面のうち前記複数の部分領域のそれぞれの法線ベクトルと、前記鏡面反射領域の法線ベクトルとの前記内積値を算出し、算出した内積値のうちの最大値に基づき、前記平坦度を判定することを特徴とする請求項３から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記補正手段は、前記平坦度が高いと判定された鏡面反射領域ほど、前記補正の強度を強めることを特徴とする請求項２から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記画像に含まれる前記被写体像から、所定の部位を検出する部位検出手段を更に備え、
前記決定手段は、
前記部位検出手段により前記所定の部位として検出された領域における鏡面反射領域を前記補正対象に決定し、
前記部位検出手段により前記所定の部位として検出されなかった領域における鏡面反射領域につき、該鏡面反射領域の形状情報に基づいて前記補正対象とすべきかを決定することを特徴とする、請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記画像から画像的特徴を表す特徴量を算出する算出手段を更に備え、
前記決定手段は、前記比較に基づき前記補正対象とすべき第１の鏡面反射領域について、前記算出手段が算出した前記第１の鏡面反射領域の第１の特徴量と前記第１の鏡面反射領域の周辺領域の第２の特徴量との比較に基づき、前記第１の鏡面反射領域を前記補正対象から除外するか否かを更に決定することを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１０】
前記画像的特徴は、前記画像の輝度信号の変動の大きさ、及び、前記画像の色信号の変動の大きさのうちの少なくともいずれかを含み、
前記決定手段は、前記第１の特徴量と前記第２の特徴量との差分が差分閾値よりも大きい場合に、前記第１の鏡面反射領域を前記補正対象から除外すると決定することを特徴とする、請求項９に記載の画像処理装置。
【請求項１１】
撮像手段と、
前記撮像手段が撮像した被写体像を含む画像を処理する請求項１から１０のいずれか１項に記載の画像処理装置と
を備えることを特徴とする撮像装置。
【請求項１２】
画像処理装置の検出手段が、画像に含まれる被写体像における鏡面反射領域を検出する検出工程と、
前記画像処理装置の取得手段が、前記被写体像に対応する被写体表面の領域のうち、前記鏡面反射領域とその周辺領域との形状を表す情報を形状情報として取得する取得工程と、
前記画像処理装置の決定手段が、検出された前記鏡面反射領域のうち、前記形状情報に基づき補正対象となる鏡面反射領域を決定する決定工程と、
前記画像処理装置の補正手段が、前記補正対象に決定された鏡面反射領域の画素値を補正する補正工程と
を有し、
前記決定工程では、前記鏡面反射領域の形状と前記周辺領域の形状とを比較し、前記比較の結果に基づいて前記被写体表面の平坦領域に発生している鏡面反射領域を前記補正対象に決定することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、及び、画像処理方法に関する。
【背景技術】
【０００２】
カメラで撮影した画像から被写体表面の鏡面反射が生じている領域を検出し、その領域の画像信号を補正することにより、鏡面反射を除去、又は、強度を低減させる補正技術が知られている。この補正技術により、例えば人物の顔を撮影した場合に、肌の一部において鏡面反射による「てかり」が生じている場合に、その領域を補正して好ましい印象を与える画像に補正することができる。
【０００３】
また、画像中に含まれる鏡面反射には、好ましく無い印象を与えるものと、好ましい印象を与えるものとが存在する。特許文献１には、顔の「てかり」のような好ましく無い印象を与えるため補正すべき鏡面反射と、髪のつや、唇のつや、瞳の輝きなど、好ましい印象を与えるため補正すべきでない鏡面反射とを判別し、鏡面反射を補正する領域を制御する技術が開示されている。具体的には、被写体の所定の部位を検出し、部位に応じて鏡面反射を補正するか否かを制御している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３２７００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、被写体の所定の部位を検出した結果に基づいて、画像中に含まれる鏡面反射を補正対象とすべきか否かを判定しているため、補正対象の部位が検出できない場合には補正を行えない。また、画像中に含まれる鏡面反射に対する印象は、その鏡面反射が生じている被写体の部位によってのみ決まるわけではない。例えば、被写体表面の形状的特徴に基づいて生じる鏡面反射は、その被写体の質感を表現するものであり、好ましい印象を与えるものであるから補正すべきでない。一方、同じ被写体であっても、形状的特徴とは無関係に撮影時の照明（例えば蛍光灯）が映り込むことによって生じる鏡面反射は、一般に好ましく無い印象を与えるのでから補正すべきである。
【０００６】
そこで本発明は、撮影時に被写体上で生じた鏡面反射が補正すべきものか否かを被写体表面の形状に基づき判定し、補正すべきと判定された鏡面反射を補正する技術を提供する。
【課題を解決するための手段】
【０００７】
上記課題を解決する発明は、画像処理装置であって画像に含まれる被写体像における鏡面反射領域を検出する検出手段と、前記被写体像に対応する被写体表面の領域のうち、前記鏡面反射領域とその周辺領域との形状を表す情報を形状情報として取得する取得手段と、検出された前記鏡面反射領域のうち、前記形状情報に基づき補正対象となる鏡面反射領域を決定する決定手段と、前記補正対象に決定された鏡面反射領域の画素値を補正する補正手段とを備え、前記決定手段は前記鏡面反射領域の形状と前記周辺領域の形状とを比較し、前記比較の結果に基づいて前記被写体表面の平坦領域に発生している鏡面反射領域を前記補正対象に決定する。
【発明の効果】
【０００８】
本発明によれば、撮影時に被写体上で生じた鏡面反射が補正すべきものか否かを被写体表面の形状に基づき判定し、補正すべきと判定された鏡面反射を補正することができる。
【図面の簡単な説明】
【０００９】
【図１】発明の実施形態に係る画像処理装置の構成の一例を示すブロック図。
【図２】発明の実施形態１に係る画像処理部の機能構成の一例を示すブロック図。
【図３】発明の実施形態に係る被写体表面の形状を判定する方法を説明するための図、及び、鏡面反射強度の変化に応じて設定される内積閾値を説明するための図。
【図４】発明の実施形態１に係る処理の一例を示すフローチャート。
【図５】発明の実施形態２に係る画像処理部の機能構成の一例を示すブロック図、及び、フィルタ係数の一例を示す図。
【図６】発明の実施形態２に係る処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、発明の実施形態について詳細に説明する。
【００１１】
［実施形態１]
図１は、発明の第１の実施形態に係る画像処理装置の一例としてのデジタルカメラ１００の構成例を示すブロック図である。本実施形態では、画像処理装置としてデジタルカメラを例に説明するが、画像処理装置の実施形態はこれに限られない。デジタルカメラ以外に、例えばパーソナルコンピュータ、携帯電話、スマートフォン、ＰＤＡ、タブレット端末、デジタルビデオカメラなどの任意の情報処理端末或いは撮像装置が含まれる。
【００１２】
図１において、レンズ群１０１は、フォーカスレンズを含むズームレンズである。絞り機能を備えるシャッター１０２が、レンズ群１０１と撮像部１０３との間に設けられている。撮像部１０３は、レンズ群１０１によって撮像面に形成される光学像を画素単位の電気信号に変換するＣＣＤ／ＣＭＯＳイメージセンサを代表とする撮像素子を有する。Ａ／Ｄ変換器１０４は、撮像部１０３が出力するアナログ信号をデジタル信号（画像データ）に変換する。
【００１３】
画像処理部１０５は、Ａ／Ｄ変換器１０４から出力される画像データに対し、色補間（デモザイク）、ホワイトバランス調整、γ補正などの各種画像処理を行う。画像処理部１０５はまた、撮影された画像信号に含まれる鏡面反射（ハイライト）を低減するための本実施形態に対応する補正処理を行う。
【００１４】
画像メモリ１０６は画像データを一時的に記憶する。メモリ制御部１０７は、画像メモリ１０６の読み書きを制御する。Ｄ／Ａ変換器１０８は、画像データをアナログ信号に変換する。表示部１０９はＬＣＤや有機ＥＬディスプレイ等の表示装置を有し、各種ＧＵＩやライブビュー画像、記憶媒体１１２から読み出して再生した画像などを表示する。コーデック部１１０は、画像メモリ１０６に記憶されている画像データを記憶媒体１１２に記録するために予め定められた方法で符号化したり、画像ファイルに含まれる符号化画像データを例えば表示のために復号したりする。インタフェース（Ｉ／Ｆ）１１１は、例えば半導体メモリカードやカード型ハードディスクなどの着脱可能な記憶媒体１１２を、デジタルカメラ１００と機械的および電気的に接続する。
【００１５】
システム制御部５０は例えばＣＰＵやＭＰＵなどのプログラマブルなプロセッサであってよい。システム制御部５０は、例えば不揮発性メモリ１２１や内蔵する不揮発性メモリに記録されたプログラムを実行して必要なブロックや回路を制御することにより、デジタルカメラ１００の機能を実現する。
【００１６】
被写体検出部１１３は、撮影された画像に含まれる被写体領域を検出し、検出された被写体領域のそれぞれについて、位置、大きさ、信頼度などの顔情報を求める。被写体としては、例えば画像に含まれる人物を検出することができる。また、被写体検出部１１３は被写体の所定の部位を検出する部位検出部として機能する。例えば、人物であれば、顔、目、口、鼻、備考、顔の輪郭、額、耳、頬などを検出することができる。この場合、被写体検出部１１３はニューラルネットワークに代表される学習を用いた手法、目、鼻、口などの各特徴部位を、画像領域からテンプレートマッチングを用い探し出し類似度が高ければ顔とみなす手法など、任意の方法を用いて顔領域を検出することができる。被写体検出部１１３は、画像処理部１０５に包含されても良い。また、被写体検出部１１３は、人物以外の任意の被写体像やその部位を検出するように構成されても良い。
【００１７】
測距センサ１２３は、複数のサンプリング点において、カメラと被写体との間の距離を測定し、撮影画像に対応する距離情報を２次元の距離マップ画像として出力する。操作部１２０は、ユーザがデジタルカメラ１００に各種の指示を入力するためのボタンやスイッチなどの入力デバイスをまとめて記載したものである。表示部１０９がタッチパネルを有するタッチ感知型のディスプレイである場合、タッチパネルは操作部１２０に含まれる。また、音声入力や視線入力など、非接触で指示を入力するタイプの入力デバイスが操作部１２０に含まれてもよい。
【００１８】
不揮発性メモリ１２１は電気的に消去・記録可能な、例えばＥＥＰＲＯＭ等であってよい。不揮発性メモリ１２１は、各種の設定値、ＧＵＩデータをはじめ、システム制御部５０がＭＰＵやＣＰＵである場合には、システム制御部５０が実行するためのプログラムが記録される。システムメモリ１２２は、システム制御部５０の動作用の定数、変数、不揮発性メモリ１２１から読みだしたプログラム等を展開するために用いる。
【００１９】
上述の図１のデジタルカメラ１００において、撮像素子、表示素子、操作ボタンのような物理的デバイスを除き、各ブロックは専用ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理プログラムをＣＰＵ等のコンピュータが実行することにより、ソフトウェア的に構成されてもよい。また、上記ではデジタルカメラ１００をレンズ群１０１、シャッター１０２、撮像部１０３を含む構成として説明した。しかし、発明の実施形態は、撮影された画像に適用する画像処理、より具体的には鏡面反射の補正方法に関連する。よって、撮影や記録に関する構成は必須では無く、鏡面反射を処理するための画像編集装置、画像処理装置或いは情報処理装置として、撮像や記録の機能を有しない構成で実現してもよい。
【００２０】
次に、デジタルカメラ１００における撮影時の動作について説明する。例えば撮像部１０３は、シャッター１０２が開いている際にレンズ群１０１が撮像面に形成する被写体像を撮像素子によって光電変換し、アナログ画像信号としてＡ／Ｄ変換器１０４へ出力する。Ａ／Ｄ変換器１０４は撮像部１０３から出力されるアナログ画像信号をデジタル画像信号（画像データ）に変換し画像処理部１０５に出力する。
【００２１】
画像処理部１０５は、Ａ／Ｄ変換器１０４からの画像データ、又は、メモリ制御部１０７からの画像データに対し、同時化処理（デモザイク処理）、γ補正などの各種画像処理を行う。また、画像処理部１０５では、撮影で得られた画像データを用いて輝度やコントラストなどに関する所定の演算処理を行い、得られた演算結果に基づいてシステム制御部５０が焦点調節や露光制御を行う。焦点検出や露出制御に被写体検出部１１３の検出結果を考慮してもよい。このように、本実施形態のデジタルカメラ１００では、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理を行う。画像処理部１０５ではさらに、撮影で得られた画像データを用いたオートホワイトバランス（ＡＷＢ）調整も行う。画像処理部１０５から出力された画像データは、メモリ制御部１０７を介して画像メモリ１０６に書き込まれる。画像メモリ１０６は、撮像部１０３から出力された画像データや、表示部１０９に表示するための画像データを格納する。
【００２２】
また、Ｄ／Ａ変換器１０８は、画像メモリ１０６に格納されている画像表示用のデータをアナログ信号に変換して表示部１０９に供給する。表示部１０９は、ＬＣＤ等の表示装置に、Ｄ／Ａ変換器１０８からのアナログ信号に応じた表示を行う。コーデック部１１０は、画像メモリ１０６に記録された画像データをＪＰＥＧやＭＰＥＧなどの規格に基づき符号化する。システム制御部５０は符号化した画像データに対して予め定められたヘッダなどを付与して画像ファイルを形成し、インタフェース１１１を介して記憶媒体１１２に記録する。
【００２３】
デジタルカメラ１００は、撮影スタンバイ状態においては動画撮影を行い、撮影された動画を表示部１０９に表示し続けることにより表示部１０９を電子ビューファインダ（ＥＶＦ）として機能させることができる。この場合、シャッター１０２は開いた状態とし、撮像部１０３のいわゆる電子シャッターを用いて例えば３０フレーム／秒の撮影を行う。操作部１２０に含まれるシャッターボタンが半押しされると上述のＡＦ，ＡＥ制御が行われ、全押しされると本撮影により記録用の静止画撮影が実行され、記憶媒体１１２に記録される。また、動画撮影ボタンなどにより動画撮影が指示された場合は、記憶媒体１１２への動画記録を開始する。
【００２４】
図２は、画像処理部１０５の、リライティング処理に関係する機能構成例を示すブロック図である。なお、図２に示す機能ブロックの１つ以上は、マイクロプロセッサとソフトウェアの組み合わせよって実現されてもよいし、ＡＳＩＣ(Application Specific Integrated Circuit)やＰＬＤ(Programmable Logic Device)のようなハードウェアによって実現されてもよい。ＰＬＤにはＦＰＧＡ(Field-Programmable Gate Array）、ＰＬＡ(Programmable Logic Array)などが含まれる。本実施形態における鏡面反射を補正する処理において、撮影時の情報が必要な場合は不揮発性メモリ１２１またはシステムメモリ１２２から読み出したり、画像ファイルのヘッダなどから取得したりするものとする。
【００２５】
鏡面反射を補正する処理部としての画像処理部１０５は、信号生成部２０１、検出部２０２、形状算出部２０３、領域制御部２０４、補正部２０５を有する。画像処理部１０５が有する機能ブロックはこれらに限定されるものではなく、例えば被写体検出部１１３やその他の追加的な機能を更に有することができる。
【００２６】
以下、図２の各機能ブロックの動作を説明する。まず、図１のＡ／Ｄ変換器１０４から画像処理部１０５に入力された画像信号は、信号生成部２０１に入力される。信号生成部２０１は、画素あたり１色（Ｒ，Ｇ，Ｂのいずれか１つ）の情報を有する画像信号に同時化処理（デモザイク処理）を行い、各画素が３色（ＲＧＢ）の情報を有する画像信号を生成する。信号生成部２０１は、生成した画像信号を検出部２０２、及び、補正部２０５へ出力する。
【００２７】
検出部２０２は、入力された画像信号Ｒ，Ｇ，Ｂに基づき、被写体表面で鏡面反射が生じている領域を検出する。ここで、鏡面反射とは、光源（例えば、太陽や室内の照明）から対象物の表面に入射したときの入射角θｉと、表面から反射したときの反射角θｒとが等しくなるような反射をいう。鏡面反射の検出方法には、例えば、二色性反射モデルに基づいて、画像信号の分布を主成分分析によって分析し、拡散反射成分のみを含む領域と、拡散反射成分と鏡面反射成分との両方を含む領域とに分離し、鏡面反射を検出する手法がある。また、検出部２０２は、これ以外の任意の方法を用いて鏡面反射が生じている領域を検出することができる。検出部２０２は、画像中で鏡面反射を検出した領域の位置を表す情報を位置情報として、形状算出部２０３へ出力する。また、抽出した鏡面反射成分の強度を算出し、撮影画像に対応する二次元の鏡面反射強度マップを生成して、領域制御部２０４へ出力する。
【００２８】
形状算出部２０３は、鏡面反射領域、及び、その周辺の領域における被写体表面の形状的特徴を表す形状情報を算出する。例えば、まず、測距センサ１２３が生成した距離マップ情報に対して、着目点と着目点に隣接する複数のサンプリング点での距離情報を用いて着目点における平面を定義する。次に、定義した平面の法線方向を表すベクトル（法線ベクトル）を算出して、着目点における法線ベクトルを算出する。形状算出部２０３は法線ベクトルの算出を入力される距離マップの各サンプリング点に対して順次実行し、その結果である法線マップを形状情報として、領域制御部２０４へ出力する。本実施形態では、法線ベクトルの方向のみに着目して制御するため、法線ベクトルの大きさは全て１に正規化する。形状算出部２０３は、上記の法線ベクトルの算出処理を、鏡面反射領域、及び、周辺領域のそれぞれに対して実行し、その結果を形状情報として、領域制御部２０４へ出力する。
【００２９】
領域制御部２０４は、検出部２０２が生成した鏡面反射強度マップの情報と、形状算出部２０３が生成した形状情報とに基づいて、鏡面反射補正の対象領域を決定する処理を行う。以下、図３及び図４を参照して、鏡面反射補正の対象領域を決定する方法について説明する。
【００３０】
図３（ａ）、（ｂ）は、被写体表面の断面を模式的に表した図である。参照番号３０１及び３０２は、それぞれ異なる被写体の被写体表面を表す。被写体３０１は表面の曲率が大きく表面が球形状に近い。一方の被写体３０２の表面はほぼ平坦である。被写体３０１及び３０２の表面に示す矢印３０５から３０８はそれぞれ当該表面における法線ベクトルを示している。このうち、矢印３０５及び３０６を含む領域３０３及び３０４において鏡面反射が生じているものとする。
【００３１】
次に、図３（ｃ）は検出部２０２が検出した鏡面反射の強度マップの一例を示す図である。本実施形態では、説明の簡単のために被写体３０１及び３０２について同一の強度マップが検出されたものとする。図３（ｃ）では、鏡面反射が最も強い領域での値によって正規化した例を示している。本実施形態では、この強度マップにおいて予め定められた所定の閾値（ｔｈ＿ｓ）より、鏡面反射強度が強い領域を鏡面反射領域と定義する。また、鏡面反射領域に隣接し、かつ、鏡面反射強度が所定の閾値（ｔｈ＿ｓ）より低い領域を周辺領域と定義する。図３（ｃ）の例では、領域３０３及び３０４が鏡面反射領域に該当し、領域３０９及び３１０が周辺領域に該当する。また、周辺領域の選択に際しては、画像中に含まれる被写体毎に領域を分割し、鏡面反射領域と周辺領域とが、同一の被写体に属する領域から選ばれるよう制御しても良い。
【００３２】
図３（ａ）は、鏡面反射領域３０３での法線ベクトル３０５の向きと、周辺領域３０９での法線ベクトル３０７の向きとが大きく異なる例を示している。この場合、鏡面反射領域３０３と周辺領域３０９とを含む領域３１１は平坦度が低いと判定される。これは例えば金属などの滑らかな表面を持つ円柱形状の被写体で生じる光沢に対応する。このような平坦度の低い領域（平坦領域）に発生した光沢は、被写体の質感や形状を反映した内的要因に基づく鏡面反射であり、見る者に好ましい印象を与えるので保持しておく。
【００３３】
一方、図３（ｂ）は、鏡面反射領域３０４での法線ベクトルの向きと、周辺領域３１０での法線ベクトルの向きとがほぼ同じで大きく異なっていない。この場合、鏡面反射領域３０４と周辺領域３１０とを含む領域３１２は平坦度が高いと判定される。このような滑らかで平坦な面において発生した鏡面反射は、例えば蛍光灯などの照明が映り込んだか、ストロボ等の光が人物の顔の一部の領域で反射して「てかり」が生じたものと考えられる。かかる鏡面反射は、被写体の質感や形状とは無関係な光源環境のような外的要因を反映したものであり、一般的に見る者に好ましく無い印象を与えるので除去あるいは低減する。
【００３４】
このように同じ鏡面反射であっても、その成因に応じて見る者に与える印象が異なる。そこで、本実施形態では鏡面反射の成因が、被写体表面の形状等の被写体が有する特徴といった内的な要因に基づくものであるのか、または照明等のような外的な要因に基づくものであるのかを判定することにより補正対象とすべき鏡面反射を決定する。上記の検討に基づき発明の実施形態においては、被写体表面の特徴を分析し、鏡面反射が生じている領域とその周辺領域からなる判定対象領域の平坦度に基づき鏡面反射を補正すべきか否かを決定する。特には、鏡面反射が平坦度の高い領域に発生している場合に、当該鏡面反射を補正対象に決定する。
【００３５】
次に、図４に示したフローチャートを参照して、領域制御部２０４の処理の流れを詳しく説明する。まずＳ４０１では、鏡面反射領域と、その周辺領域との法線ベクトルの情報を取得する。具体的に、形状算出部２０３から取得した法線マップのサンプリング点の中で、鏡面反射が最も強い領域に位置するサンプリング点での法線ベクトルを抽出する。領域内に含まれる法線ベクトルが複数存在する場合は、その平均値をとっても良い。また、周辺領域内に位置する法線マップのサンプリング点の中で、鏡面反射領域に最も近い位置のサンプリング点における法線ベクトルの情報を抽出する。
【００３６】
続くＳ４０２では、抽出した法線ベクトルの方向を比較する。具体的には、鏡面反射領域での法線ベクトルと周辺領域での法線ベクトルとの内積値を算出する。周辺領域での法線ベクトルが複数抽出されている場合は、そのそれぞれに対して、鏡面反射領域での法線ベクトルとの内積値を算出し、その最大値を用いるようにする。例えば、周辺領域が鏡面反射領域を取り囲んでいるような場合、周辺領域は複数の部分領域に分割され、それぞれ法線ベクトルが与えられることになる。また、本実施形態では正規化により全ての法線ベクトルの大きさは等しく１であるため、内積値は対象の法線ベクトルの角度（ｃｏｓθ）を示す。よって、内積が小さいほど法線ベクトルのなす角度は大きくなり、法線ベクトルが互いに向く方向が違う、或いは、法線ベクトルの交差角度が大きいことを示す。
【００３７】
続くＳ４０３では、算出した内積値を、予め定められた所定の閾値（ｔｈ＿ｐ）と比較する。内積値が所定の閾値（ｔｈ＿ｐ）より小さければ（Ｓ４０３で「ＹＥＳ」）Ｓ４０４へ進み、内積値が所定の閾値（ｔｈ＿ｐ）以上であれば（Ｓ４０３で「ＮＯ」）Ｓ４０５へ進む。Ｓ４０４では、判定対象の鏡面反射領域は図３（ａ）に示した平坦領域おける鏡面反射の例に該当するため、当該鏡面反射領域を鏡面反射補正の対象領域から除外する。一方、Ｓ４０５では、判定対象の鏡面反射領域は図３（ｂ）に示した平坦度の高い領域における鏡面反射の例に該当するため、当該鏡面反射領域を鏡面反射補正の対象領域として選択する。
【００３８】
続くＳ４０６では、対象領域として選択された領域の位置を表す情報を、補正部２０５へ出力する。上述のＳ４０１から４０５までの処理は、画像中に複数の鏡面反射領域が検出された場合、各領域に対して実行され、その結果が補正部２０５へ出力される。
【００３９】
補正部２０５では、領域制御部２０４が対象領域として選択した領域に対し、鏡面反射を除去、または、低減させる補正処理を行う。具体的には、鏡面反射の補正対象となる領域における鏡面反射強度の情報を検出部２０２から取得し、信号生成部２０１より入力された画像信号（画素値）から、鏡面反射に対応した成分を減算することにより、鏡面反射を除去、又は、低減させる。または、対象領域の色信号や輝度信号（以下、色・輝度信号という）が、その周辺領域の色・輝度信号に近づくよう対象領域の色・輝度信号を補正するようにしても良い。その他、鏡面反射領域を除去又は低減させるための公知の補正処理を実施することができる。
【００４０】
以上、説明したように、本実施形態では、鏡面反射を除去、又は、低減させる補正を行う際に、被写体の形状を表す情報に基づいて、鏡面反射補正の対象領域を選択する。具体的には、鏡面反射領域と、その周辺領域における法線ベクトルの方向が同一または類似した方向である場合、鏡面反射が発生している被写体表面は平坦度が高いとして、鏡面反射補正の対象領域とする。一方、法線ベクトルの方向が互いに異なる方向である場合、或いは、互いに類似していない場合に、鏡面反射が発生している被写体表面は平坦度が低いとして鏡面反射補正の対象領域とせずに、鏡面反射を残すよう制御する。これにより、被写体表面の形状といった内的要因に基づき生じたと見なされる鏡面反射を補正対象から除外することができる。また、照明の映り込みのような外的要因に基づき生じたと見なされる鏡面反射を積極的に除去、又は、低減することが可能となる。
【００４１】
また、上述の実施形態の説明では、入力された画像信号の分布に基づいて鏡面反射が生じている領域を検出する例を説明したが、発明の実施形態は、鏡面反射の検出方法をこれに限定するものではない。例えば、レンズ群１０１の前段に偏光フィルタを備える構成を用い、撮影時に偏光フィルタの向きを変えて複数枚の画像信号を取得し、その差分に基づいて、鏡面反射の生じている領域を検出する方法を用いても構わない。
【００４２】
また、上述の実施形態の説明では、被写体の形状を表す情報として、法線ベクトルの方向を用いる場合で説明したが、発明の実施形態は、被写体の形状を表す情報をこれに限定するものではない。例えば、測距センサ１２３の測定結果から生成した距離マップに基づいてカメラと被写体の間の距離を算出し、その距離の微分に基づき被写体の形状情報として用いても良い。例えば、距離マップにおいて隣り合うサンプル点の距離Ｄ１、Ｄ２につきΔｄ＝Ｄ１−Ｄ２を算出する。このΔｄを鏡面反射領域及びその周辺領域に含まれるサンプル点につき算出し、隣接するΔｄの差分から変化率Ｖｄを算出し閾値（ｔｈ＿d）と比較する。このとき変化率Ｖｄが閾値以上の場合は被写体表面は平坦度が低いとして、鏡面反射補正の対象から除外してもよい。一方、変化率Ｖｄが閾値よりも小さい値の場合、被写体表面は平坦度が高いとして、鏡面反射補正の対象とすることができる。
【００４３】
また、上述の実施形態の説明では、距離マップから法線ベクトルを算出する方法を用いる場合で説明したが、発明の実施形態は、法線ベクトルの算出方法をこれに限定するものではない。例えば、人物の顔や体、その他の任意の被写体など、特定の被写体の３次元モデル（３次元形状と法線ベクトル情報を含む）情報を予め取得しておき、画像中の被写体に対して、３次元モデルを当てはめることにより、法線ベクトルの方向を推定するようにしてもよい。
【００４４】
また、上述の実施形態で説明した被写体の形状情報に基づく鏡面反射補正の制御と併せて、被写体検出部１１３により人物の顔や髪の毛など所定の部位を検出した結果に基づいて鏡面反射補正の制御を行うようにしても良い。例えば、被写体像の所定の部位（例えば、人物の鼻、額）において鏡面反射が検出された場合、原則として当該鏡面反射を除去または低減する補正をすることとしておく。その場合、被写体像において所定の部位が検出され、検出された部位に鏡面反射が生じている場合は、当該部位が補正対象に決定される。一方、被写体像において所定の部位が検出されない場合、或いは、被写体像の所定の部位以外の領域で鏡面反射が生じている場合には、上述の発明の実施形態を適用して、当該鏡面反射が生じている領域を補正対象とするか否かを判定することができる。
【００４５】
また、上述の実施形態の説明では、法線ベクトルの方向の類似度を判定する際の内積値に対する閾値として、予め定められた値を用いる場合を説明したが、上記の方法以外の制御を行っても良い。例えば、内積値に対する閾値を、鏡面反射強度の変化の度合いに応じて定めるようにしても良い。具体的には、図３（ｄ）に示すように、鏡面反射が生じている領域の境界における鏡面反射強度の変化が緩やかである場合には閾値を上げ（ｔｈ＿ｐ（１））、変化が急峻である場合には閾値を下げる（ｔｈ＿ｐ（２））ことができる。鏡面反射強度の変化が緩やかである場合、外部環境の影響よりも被写体表面の形状に基づく鏡面反射の可能性が高いと考えられる。そこで、この場合に閾値を上げることで、補正対象から除外される範囲を広げることができる。これにより、被写体表面の形状の変化がより小さく（内積値が１により近い）平坦に近い（平坦度が比較的高い）ものについても補正対象から除外することで、本来実施しなくても良い補正が行われることを防止できる。一方、鏡面反射強度の変化が急峻である場合、外部の環境による鏡面反射の可能性が高いと考えられる。よって、この場合には、閾値を下げることで、補正対象から除外される範囲を狭めることができる。これにより、被写体表面の形状の変化がより大きく（内積値が０により近い）、平坦度の低いものについても補正対象に含めることで、実施すべき補正処理を確実に行うことができる。これによれば、鏡面反射強度の変化と被写体の形状との関係において補正処理を制御することができる。
【００４６】
また、上述の実施形態の説明では、法線ベクトルの内積値に基づいて、鏡面反射補正の対象領域とするか否かを選択する方法で説明したが、発明の実施形態は、鏡面反射補正の制御の方法をこれに限定するものではない。例えば、法線ベクトルの内積値に応じて、鏡面反射補正の補正強度を制御するようにしてもよい。具体的には、内積値が大きな値を持つほど鏡面反射補正の補正強度を強めて、鏡面反射を完全に除去した状態に近づけるようにし、内積値が小さい値を持つほど鏡面反射補正の補正強度を弱めて、鏡面反射を低減させるように制御することができる。これは、内積値が大きい値になるほど被写体表面の平坦度が上がり、鏡面反射が外部環境の影響によるものと判断できるので、補正強度を強めて鏡面反射を完全に除去することが望ましいためである。その一方、内積値が小さい値になるほど被写体表面の変化が大きくなるため、鏡面反射は外部環境の影響よりも被写体表面の形状に基づくものと判断できる。よって、このような場合は補正強度を弱めて鏡面反射を低減させることが望ましい。
【００４７】
［実施形態２］
次に、図５及び図６を参照して、発明の第２の実施形態について説明する。上述の実施形態１では、被写体の形状情報に基づいて鏡面反射補正の対象とするか否かを制御した。本実施形態では、被写体の形状的特徴に加えて、画像の鏡面反射領域における画像的特徴にも基づいて、鏡面反射補正の対象とするか否かを判定する場合を説明する。
【００４８】
本実施形態におけるデジタルカメラ１００の構成は、図１と同様である。図５（ａ）は、本実施形態における画像処理部１０５の構成例を示すブロック図である。実施形態１で図２に示した構成と同一の構成要素については同一の符号を付して重複する説明は省略し、相違点について重点的に説明する。実施形態２では、特徴算出部５０１が追加されている点で実施形態１とは異なる。後述するように特徴算出部５０１は、鏡面反射領域が有する画像的特徴を、鏡面反射領域における色信号及び輝度信号の変動の度合いに基づき判定する。
【００４９】
以下、本実施形態における鏡面反射補正の対象領域の決定方法を説明する。画像処理部１０５へ画像信号が入力され、検出部２０２において鏡面反射が検出されるまでの一連の処理の流れは実施形態１の場合と同様である。検出部２０２は、検出した鏡面反射を検出した領域の位置を表す一情報を形状算出部２０３及び特徴算出部５０１へ出力する。また、抽出した鏡面反射成分の強度を算出し、撮影画像に対応する二次元の鏡面反射強度マップを生成して、領域制御部２０４へ出力する。
【００５０】
本実施形態では、鏡面反射領域における色・輝度の変動の度合いに基づく画像的特徴を表す情報として、輝度エッジの特徴量を用いることとする。具体的には、信号生成部２０１が生成した画像信号Ｒ，Ｇ，Ｂから輝度信号Ｙを算出し、算出した輝度信号Ｙに図５（ｂ）に示す係数を有するラプラシアンフィルタを適用し、出力値の絶対値を取る。その後に、輝度信号Ｙに対して正規化し、その値を判定の対象とする領域内で平均し、エッジの特徴を表すエッジ特徴量として用いる。輝度信号Ｙに対して正規化しているのは、鏡面反射領域と周辺領域とで輝度が異なっており、このような輝度の違いをエッジ特徴量の違いとして検出しないようにするためである。この正規化処理により、鏡面反射領域と周辺領域とに共通の模様が施されていた場合であっても、鏡面反射の影響を除外しつつ当該模様に基づくエッジ情報を検出することができる。エッジ特徴量は、領域内に含まれるエッジ成分が多いほど値が大きくなる。
【００５１】
特徴算出部５０１は、検出部２０２が検出した鏡面反射領域、及び、周辺領域のそれぞれに対して、エッジ特徴量を算出する。鏡面反射領域、及び、周辺領域の定義は、図３を参照して説明した実施形態１の場合と同様とする。特徴算出部５０１は、算出したエッジ特徴量を領域制御部２０４へ出力する。なお、鏡面反射の生じている領域の境界を、エッジとして検出しないようにするため、周辺領域を鏡面反射領域に隣接した領域でなく、所定の距離だけ離れた位置に設定するようにしても良い。
【００５２】
次に、図６に示すフローチャートを用いて、本実施形態における鏡面反射補正の対象領域の決定方法を説明する。図４で示した実施形態１と同様の処理は同一の符号を付し、詳細な説明は省略する。
【００５３】
まず、Ｓ４０１からＳ４０３までの一連の処理の内容は、実施形態１の場合と同様である。Ｓ４０３で、法線ベクトルの内積値が所定の閾値より大きい場合には、Ｓ６０１へ進む。このとき、被写体の表面の平坦度が高く、照明等の外的要因により鏡面反射が発生していると推測できる。実施形態１では、このような鏡面反射が発生している領域をＳ４０５において補正対象の領域に決定していた。しかし、鏡面反射の状況によってはこれを除去、低減するよりも維持した方がよい場合がある。これ以降の処理では、そのような状況に対応すべく鏡面反射領域における色・輝度信号の情報も用いて、鏡面反射補正の対象とするか否かを判定している。
【００５４】
Ｓ６０１では、鏡面反射領域でのエッジ特徴量から、周辺領域でのエッジ特徴量を減算した差分値を算出する。続くＳ６０２では、算出したエッジ特徴量の差分値を所定の差分閾値（ｔｈ＿ｅ）と比較する。差分値が所定の差分閾値（ｔｈ＿ｅ）より大きければＳ４０４へ進み、差分閾値以下の場合Ｓ４０５へ進む。
【００５５】
ここで、周辺領域よりも鏡面反射領域でのエッジ特徴量が大きい場合は、鏡面反射領域で生じている鏡面反射が、単純な照明（蛍光灯など）の反射でなく、滑らかで平坦な被写体表面に周囲の景色が映り込んでいる場合であると推定できる。この場合の映り込みはその場の情景を表現するものとなるため、好ましい印象を与える鏡面反射として判定して良い。したがって、Ｓ６０２でエッジ特徴量の差分値が所定の差分閾値を超えている場合はＳ４０４へ進み、その領域を鏡面反射補正の対象から除外する。一方、当該差分値が閾値以下の場合、鏡面反射領域で生じている鏡面反射は、単なる照明（蛍光灯など）の反射と推定できる。よって、Ｓ４０５へ進み、その領域を鏡面反射補正の対象から決定する。これ以降のＳ４０４からＳ４０６までの一連の処理の内容は、実施形態１の場合と同様であるため、詳細な説明は省略する。
【００５６】
以上、説明した通り、本実施形態では、被写体形状の情報に加えて、輝度エッジの特徴量も用いて対象領域の決定を行うようにした。特に、被写体表面の平坦度が高く外部要因による鏡面反射の発生が予想される場合であっても、鏡面反射領域と周辺領域とのエッジ特徴量の比較により被写体が本来有しているエッジ成分の影響を除外しつつ、鏡面反射を補正すべきか否かを判定することができる。例えば、周辺領域と鏡面反射領域とに同じような模様が元々付加されている場合、輝度成分を無視すればエッジ特徴量に閾値以上の差は出ないため、発生している鏡面反射は単なる照明の映り込みとして補正対象とすることができる。その一方、エッジ特徴量に閾値以上の差が出る場合、発生している鏡面反射自体にエッジ情報が含まれていることを意味する。これは景色の映り込みのような、見る者には好ましい印象を与える鏡面反射に該当する。そこで、このような鏡面反射は補正対象とせずに保持することができる。
【００５７】
なお、本実施形態では、色・輝度信号の変動を判定する際に、輝度エッジの特徴量を用いる場合で説明したが、発明の実施形態としては、色・輝度信号から鏡面反射領域の特徴を表す特徴量を用いる方法であれば、どのような方法を用いても構わない。例えば、輝度エッジの代わりに、色相の変動に着目して判定するようにしても良い。具体的には、鏡面反射領域、及び、周辺領域のそれぞれに対して、色相ヒストグラムを算出し、その頻度が所定の閾値を超える色相数を特徴量として用いるようにしても良い。鏡面反射領域での色相数が周辺領域での色相数を上回る場合は、単純な照明の反射でなく、周囲の景色の映り込みであると推定できるため、鏡面反射補正の対象領域から除外するよう制御する。この場合においても、鏡面反射領域と周辺領域とで被写体表面における色相数が同一または類似している場合に、係る被写体表面における色相数の連続性から逸脱するような変化が外的要因によりもたらされた場合に、これを検出し鏡面反射補正の対象から除外することができる。
【００５８】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５９】
５０  システム制御部、１０１  レンズ群、１０３  撮像部、１０５  画像処理部、１０６  画像メモリ、１０７  メモリ制御部、１０９  表示部、１１３  被写体検出部、１２０  操作部、１２１  不揮発性メモリ、１２２  システムメモリ、１２３  測距センサ
【図１】
2017157043.tif 000003
【図２】
2017157043.tif 000004
【図３】
2017157043.tif 000005
【図４】
2017157043.tif 000006
【図５】
2017157043.tif 000007
【図６】
2017157043.tif 000008