(57)【要約】【課題】  画像内から鏡面反射が有る領域を抽出し、精度良く光源色を推定する。【解決手段】  画像処理装置は、入力画像を複数のブロックに分割し（Ｓ２０１）、各ブロックの画素値分布特徴量を算出し（Ｓ２０２）、画素値分布特徴量に基づき、被写体からの反射光に鏡面反射成分を多く含むブロックである有効ブロックを選択する（Ｓ２０３）。次に、選択された各有効ブロックにおいて、注目画素と所定の近傍画素との画素値差分をそれぞれ算出することを当該ブロックの各画素に対して行い（Ｓ２０４）、画素値差分の分布を算出し（Ｓ２０５）、算出された分布に基づき被写体を照らしている光源の色を推定する（Ｓ２０７）。【選択図】  図２
2014007611.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を複数のブロックに分割する分割手段と、
前記複数のブロックの各々における画素値分布特徴量を算出する特徴量算出手段と、
前記算出された画素値分布特徴量に基づいて、被写体からの反射光に鏡面反射成分を多く含むブロックである有効ブロックを前記複数のブロックから選択する選択手段と、
前記選択された有効ブロックの各々において、注目画素と所定の近傍画素との画素値差分をそれぞれ算出することを当該ブロックの各画素に対して行う差分算出手段と、
前記画素値差分の分布を算出する分布算出手段と、
前記算出された分布に基づいて前記入力画像における被写体を照らしている光源の色を推定する光源推定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記特徴量算出手段は、前記複数のブロックの各々における画素値分布特徴量として、各ブロックの輝度信号又は色信号のヒストグラムを算出し、
前記選択手段は、各ブロックの前記ヒストグラムについて、頻度が所定の閾値以上である一連の信号値の区間の幅を算出し、前記有効ブロックとして、前記幅が大きい順に所定数のブロックを選択する、又は、前記幅が所定値以上であるブロックを選択する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記特徴量算出手段は、前記複数のブロックの各々における画素値分布特徴量として、前記複数のブロックの各々ごとに、所定数以上の画素数を有する輝度値の最大値と最小値との差分を算出し、
前記選択手段は、前記有効ブロックとして、前記差分が大きい順に所定数のブロックを選択する、又は、前記差分が所定値以上であるブロックを選択する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記特徴量算出手段は、前記複数のブロックの各々における画素値分布特徴量として、各ブロックの輝度信号又は色信号のヒストグラムを算出し、
前記選択手段は、前記有効ブロックとして、前記ヒストグラムの山形状が１個だけ存在するブロックを選択する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記特徴量算出手段は、前記複数のブロックの各々における画素値分布特徴量として、各ブロックの輝度信号又は色信号のヒストグラムを算出し、
前記選択手段は、前記有効ブロックとして、前記ヒストグラムのピークが高い順に所定数のブロックを選択する、又は、前記ピークが所定値以上であるブロックを選択する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記入力画像に含まれる１又は２以上の被写体を検出し、前記複数のブロックのうち、前記検出された被写体ごとに、当該被写体の画像を含むブロックのグループを生成する生成手段を更に有し、
前記特徴量算出手段、前記選択手段、前記差分算出手段、前記分布算出手段、前記光源推定手段による各処理が、前記生成されたグループごとに実行される
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記光源推定手段は、前記選択手段により選択された有効ブロックごとに、前記光源の色の推定の結果に基づいてホワイトバランスゲインを算出するとともに、各有効ブロックのホワイトバランスゲインの平均値である総合ホワイトバランスゲインを算出し、
前記画像処理装置は、前記有効ブロックごとに算出されたホワイトバランスゲインのばらつきの度合いに応じて設定されるリミット範囲内に前記総合ホワイトバランスゲインがない場合に、該総合ホワイトバランスゲインが前記リミット範囲内に収まるように各ホワイトバランスゲインを補正する補正手段を更に有する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項８】
入力画像を複数のブロックに分割する分割手段と、
前記複数のブロックの各々における画素値分布特徴量を算出する特徴量算出手段と、
前記複数のブロックの各々において、注目画素と所定の近傍画素との画素値差分をそれぞれ算出することを当該ブロックの各画素に対して行う差分算出手段と、
各ブロックの前記画素値差分に対して、当該ブロックの前記画素値分布特徴量に応じた重み付けを行い、前記重み付けされた画素値差分の分布を算出する分布算出手段と、
前記算出された分布に基づいて前記入力画像における被写体を照らしている光源の色を推定する光源推定手段と、
を有することを特徴とする画像処理装置。
【請求項９】
画像処理装置の制御方法であって、
分割手段が、入力画像を複数のブロックに分割するステップと、
特徴量算出手段が、前記複数のブロックの各々における画素値分布特徴量を算出するステップと、
選択手段が、前記算出された画素値分布特徴量に基づいて、被写体からの反射光に鏡面反射成分を多く含むブロックである有効ブロックを前記複数のブロックから選択するステップと、
差分算出手段が、前記選択された有効ブロックの各々において、注目画素と所定の近傍画素との画素値差分をそれぞれ算出することを当該ブロックの各画素に対して行うステップと、
分布算出手段が、前記画素値差分の分布を算出するステップと、
光源推定手段が、前記算出された分布に基づいて前記入力画像における被写体を照らしている光源の色を推定するステップと、
を有することを特徴とする画像処理装置の制御方法。
【請求項１０】
画像処理装置の制御方法であって、
分割手段が、入力画像を複数のブロックに分割するステップと、
特徴量算出手段が、前記複数のブロックの各々における画素値分布特徴量を算出するステップと、
差分算出手段が、前記複数のブロックの各々において、注目画素と所定の近傍画素との画素値差分をそれぞれ算出することを当該ブロックの各画素に対して行うステップと、
分布算出手段が、各ブロックの前記画素値差分に対して、当該ブロックの前記画素値分布特徴量に応じた重み付けを行い、該重み付けされた画素値差分の分布を算出するステップと、
光源推定手段が、前記算出された分布に基づいて前記入力画像における被写体を照らしている光源の色を推定するステップと、
を有することを特徴とする画像処理装置の制御方法。
【請求項１１】
コンピュータを請求項１乃至８のいずれか１項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された画像内の被写体を照らしている光源の色を推定する光源推定処理を行う画像処理技術に関する。
【背景技術】
【０００２】
従来、２色性反射モデルに基づいた光源推定処理を行う画像処理装置が知られている。ここで、２色性反射モデルとは、物体からの反射光が、物体色に依存する乱反射光成分と、光源色に依存する鏡面反射成分とから成るとするモデルである。
【０００３】
例えば、特許文献１には、入力画像中の近接した位置にあり、かつ輝度差のある２点間で画素値の差分をとることによって、被写体物体からの反射光から鏡面反射成分のみを抽出して光源色を推定する画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−０１３４１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された光源推定方法では、画素間で輝度差がある場合に、高輝度画素からの反射光は鏡面反射成分を多く含むと仮定し、鏡面反射成分を抽出している。しかしながら、画素間の輝度差が鏡面反射成分に依らない場合も存在し、その場合には鏡面反射成分の抽出を正しく行うことができない場合があった。例えば、被写体物体に色ムラや模様がある場合である。この場合、色ムラや模様がある領域と、その周囲とで算出した画素値の差分は、物体色の差に対応しており、鏡面反射成分には対応していない。また、被写体に対して当たる光源の光の強度が一様でない場合もある。この場合に算出される画素値の差分は、光の強度の差（拡散反射光成分の大小）に対応しており、鏡面反射成分には対応していない。このように、画素間で輝度差があっても、その差分が鏡面反射成分に由来していない場合には、従来の方法では光源色を精度良く推定することができなかった。
【０００６】
そこで、本発明は、画像内から鏡面反射が有る領域を抽出し、精度良く光源色を推定することが可能な画像処理装置を提供する。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、入力画像を複数のブロックに分割する分割手段と、前記複数のブロックの各々における画素値分布特徴量を算出する特徴量算出手段と、前記算出された画素値分布特徴量に基づいて、被写体からの反射光に鏡面反射成分を多く含むブロックである有効ブロックを前記複数のブロックから選択する選択手段と、前記選択された有効ブロックの各々において、注目画素と所定の近傍画素との画素値差分をそれぞれ算出することを当該ブロックの各画素に対して行う差分算出手段と、前記画素値差分の分布を算出する分布算出手段と、前記算出された分布に基づいて前記入力画像における被写体を照らしている光源の色を推定する光源推定手段とを有することを特徴とする画像処理装置が提供される。
【発明の効果】
【０００８】
本発明によれば、入力された画像内の被写体を照らす光源の色を正確に推定することが可能な画像処理装置が提供される。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る撮像装置の構成を示すブロック図。
【図２】第１の実施形態に係る光源推定処理の流れを示すフローチャート。
【図３】入力画像をブロックに分割した状態を表す図。
【図４】輝度ヒストグラムの例を表す図。
【図５】画素値差分算出処理を説明する図。
【図６】画素値差分ベクトルのヒストグラムの例を表す図。
【図７】第２の実施形態に係る撮像装置の構成を示すブロック図。
【図８】第２の実施形態に係る輪郭抽出用のフィルタの例を示す図。
【図９】第２の実施形態に係る光源推定処理を示すフローチャート。
【図１０】第２の実施形態に係る被写体のグループ分けの例を示す図。
【図１１】第３の実施形態に係る光源推定処理を示すフローチャート。
【図１２】第３の実施形態に係る光源推定の信頼度の算出方法を説明する図。
【図１３】第３の実施形態に係るＷＢゲインの制限を示す図。
【発明を実施するための形態】
【００１０】
＜実施形態１＞
以下、図１〜図６を参照して、第１の実施形態に係る画像処理装置について説明する。図１は、第１の実施形態に係る光源推定機能を備える画像処理装置の一例である撮像装置の構成を示すブロック図である。
【００１１】
図１において、撮像装置１００は、レンズ１０１、シャッター１０２をはじめ、以下の構成を備える。撮像素子１０３は、入射した光を電気的信号に変換する。画像信号生成部１０４は、入力画像の画像信号（Ｒ，Ｇ，Ｂ）を生成する。光源推定部１０５は、光源色を推定し、ホワイトバランスゲインを算出する。ＷＢ補正部１０６は、設定されたホワイトバランスゲインに基づいて、画像信号に対するホワイトバランス補正を行う。画像信号補正部１０７は、ガンマ補正やカラーバランス補正など、画像信号に対する各種の補正処理を行う。記録部１０８は、画像信号を不図示の記録媒体に保存する。以上が、撮像装置１００の構成の概要である。
【００１２】
次に、撮像装置１００の動作の概要を説明する。ユーザが不図示の操作部のシャッター釦を押下すると、シャッター１０２が所定の時間だけ開く。これにより、レンズ１０１を介して、撮像素子１０３へ光が入射する。撮像素子１０３は入射した光を電気信号に変換して画像信号生成部１０４へ出力する。画像信号生成部１０４は入力された電気信号に基づいて各画素に対する画素値（Ｒ，Ｇ、Ｂ）を生成し、光源推定部１０５とＷＢ補正部１０６へ出力する。光源推定部１０５は、入力画像の中から鏡面反射の生じている領域を推定し、その領域において画素値の差分を算出することにより、光源色を推定する。また、光源推定部１０５は、光源色の推定結果に基づいて、ホワイトバランスゲインを算出する。ここでの光源推定処理の詳細は後述する。光源推定部１０５は、算出したホワイトバランスゲインを、ＷＢ補正部１０６へ出力する。ＷＢ補正部１０６は算出されたホワイトバランスゲインに基づいて、入力された画像信号に対するホワイトバランス補正を行い、補正後の画像信号を画像信号補正部１０７へ出力する。画像信号補正部１０７は、入力された画像信号に各種の補正処理を行い、記録部１０８へ出力する。記録部１０８は、入力画像信号を不図示の記録媒体へ記録する。以上が、撮像装置１００の処理動作の概要である。
【００１３】
次に、本実施形態における光源色推定の方法について詳しく説明する。図２は、光源推定部１０５が行う処理を表すフローチャートである。
【００１４】
Ｓ２０１では、画像信号生成部１０４が生成した入力画像信号を、複数のブロック（例えば、８×８＝６４個）に分割する。図３に、入力画像をブロックに分割した例を示す。図３に示されるように、左上から順にブロック１、ブロック２・・・ブロック６４と呼ぶ。
【００１５】
Ｓ２０２では、分割したブロック毎に画素値分布特徴量を算出する（特徴量算出処理）。ここで、画素値分布特徴量とは、各ブロックに含まれる画素の画素値の分布の特徴を表す評価値をいう。ここでは、画素値分布特徴量として、輝度ヒストグラムの幅を用いる場合で説明する。
【００１６】
光源推定部１０５は、分割したブロックのそれぞれに対し、ブロック内の画素の輝度を算出し、輝度ヒストグラムを生成する。図４に、輝度ヒストグラムの例を示す。ヒストグラムの横軸の区間は各画素の輝度値であり、縦軸は各輝度値に対応する画素数（頻度）を表す。次に、光源推定部１０５は、輝度ヒストグラムの分布の幅を算出する。ここで、輝度ヒストグラムの幅とは、対応する画素数が所定の閾値（Ｔｈ＿ｎ）以上である一連の信号値の区間の個数を指す。図４の輝度ヒストグラムの場合は幅Ｗ＝６となる。ただし、頻度が閾値以上であっても、ヒストグラムのピークの区間から見て、頻度が閾値(Ｔｈ＿ｎ)以上の区間が途切れている個所が途中であれば、その区間は幅の算出には含めない。
【００１７】
光源推定部１０５は、ブロック１〜６４までの各ブロックに対して、ブロック毎に輝度ヒストグラムを生成し、輝度ヒストグラムの幅Ｗを算出する。
【００１８】
Ｓ２０３では、算出した各ブロックの画素値分布特徴量を比較することにより、鏡面反射が生じている領域を抽出する。具体的には、各ブロックの輝度ヒストグラムの幅Ｗを比較し、幅Ｗが広い順に所定数のブロックを選択する。例えば、各ブロックの輝度ヒストグラムの幅が上位１０％に含まれているブロックを選択する。ここでは、これらの選択されたブロックを、有効ブロックと呼ぶ。鏡面反射が生じる領域では、輝度が急激に大きくなるため、輝度分布範囲が広範囲に広がり、このように輝度ヒストグラムの幅が広いブロックを選択することで、鏡面反射が生じている領域を推定し、抽出することが可能となる。
【００１９】
Ｓ２０４では、有効ブロック内の各画素に対して、画素値差分ベクトルを算出する（差分算出処理）。図５を用いて、画素値差分ベクトルの算出方法を説明する。図５のメッシュ枠は、入力画像の各画素を表す。ここで、図５（ａ）に示すように入力画像の座標（ｉ、ｊ）における画素値をＰ（ｉ、ｊ）と表す。画素値はＲ，Ｇ，Ｂの３成分から成るので、
Ｐ（ｉ、ｊ）＝（Ｒ（ｉ、ｊ）、Ｇ（ｉ、ｊ）、Ｂ（ｉ、ｊ））
である。ここでは、画素値差分として、注目画素の画素値Ｐ（ｉ、ｊ）と、その位置から上方向、左方向に間隔ｄだけ離れた位置における近傍画素の画素値であるＰ（ｉ、ｊ−ｄ）、Ｐ（ｉ−ｄ、ｊ）との差分を算出する。ここで、図５（ｂ）に示すように、注目画素Ｐ（ｉ、ｊ）と、Ｐ（ｉ、ｊ−ｄ）、Ｐ（ｉ−ｄ、ｊ）との差分を、それぞれ、ｄＵ（ｉ、ｊ）、ｄＬ（ｉ、ｊ）とおく。すなわち、
ｄＵ（ｉ、ｊ）＝Ｐ（ｉ、ｊ）−Ｐ（ｉ、ｊ−ｄ）
ｄＬ（ｉ、ｊ）＝Ｐ（ｉ、ｊ）−Ｐ（ｉ−ｄ、ｊ）
である。画素値Ｐは（Ｒ，Ｇ，Ｂ）の３つの成分から成るので、画素値差分は、
ｄＵ（ｉ、ｊ）
＝Ｐ（ｉ、ｊ）−Ｐ（ｉ、ｊ−ｄ）
＝（Ｒ（ｉ、ｊ）−Ｒ（ｉ、ｊ−ｄ）、Ｇ（ｉ、ｊ）−Ｇ（ｉ、ｊ−ｄ）、Ｂ（ｉ、ｊ）−Ｂ（ｉ、ｊ−ｄ））
のように、Ｒ差分値、Ｇ差分値、Ｂ差分値の３つの成分からなるベクトルとみなすことができる。
【００２０】
以上が、Ｓ２０４での、画素値差分ベクトルを算出方法である。
【００２１】
Ｓ２０５では、算出した画素値差分ベクトルを、画素値差分ベクトルのヒストグラムに加算する（分布算出処理）。画素値差分ベクトルのヒストグラムの例を図６に示す。図６（ａ）、（ｂ）はそれぞれ、画素値差分ベクトルのＲ成分、Ｂ成分についての分布を表すヒストグラムである。横軸Ｇ／Ｒ、Ｇ／Ｂは、それぞれ、画素値差分ベクトルのＧ成分とＲ成分の比、Ｇ成分とＢ成分の比をとったものである。具体的には、
Ｇ／Ｒ＝（Ｇ（ｉ、ｊ）−Ｇ（ｉ−ｄ、ｊ））／（Ｒ（ｉ、ｊ）−Ｒ（ｉ−ｄ、ｊ））
Ｇ／Ｂ＝（Ｇ（ｉ、ｊ）−Ｇ（ｉ−ｄ、ｊ））／（Ｂ（ｉ、ｊ）−Ｂ（ｉ−ｄ、ｊ））
である。ただし、上記では、画素値差分ベクトルとしてｄＬ（ｉ、ｊ）を用いる場合で記述したが、ｄＬ（ｉ、ｊ）とdU（ｉ、ｊ）の平均値を用いるなど、複数の画素値差分ベクトルに基づいてヒストグラムを生成してもよい。このように、算出した画素値差分ベクトルに対して、Ｇ／Ｒ、及び、Ｇ／Ｂを計算し、その値に応じて対応するヒストグラムの区間の頻度を加算する。
【００２２】
Ｓ２０６では、Ｓ２０３で選択された有効ブロックに含まれる全ての画素に対して処理が完了したか否かを判定する。完了していればＳ２０７へ進み、完了していなければＳ２０４へ戻って一連の処理を繰り返し行う。
【００２３】
Ｓ２０７では、画素値差分ベクトルのヒストグラムに基づいて光源の色を推定し、ホワイトバランスゲインを算出する。具体的には、ヒストグラムの頻度が最も高い区間を検出し、その区間に対応するＧ／Ｒ、Ｇ／Ｂの値を算出する。または、頻度が最も高い区間を検出し、その前後の所定の範囲の区間を抽出して、各区間の頻度で重みづけしながら対応するＧ／Ｒ、Ｇ／Ｂの値の平均値を算出するようにしてもよい。
【００２４】
ここで算出したＧ／Ｒ、Ｇ／Ｂ値が、画素値差分に基づいて推定した光源色の推定結果を表す。光源推定部１０５は、算出したＧ／Ｒ、Ｇ／Ｂの値を、ホワイトバランス補正時のＲゲイン、Ｂゲインとして、ＷＢ補正部１０６に出力し、処理を終了する。
【００２５】
以上が、光源推定部１０５が行う処理の説明である。
【００２６】
以上説明したように、本実施形態では、画素値の差分に基づいて光源色を推定する画像処理装置において、画像を分割した各ブロックに対する画素値分布の特徴量を算出し、鏡面反射が生じている領域を抽出するようにした。具体的には、各ブロックの輝度ヒストグラムの幅を算出し、その幅が所定値より広いブロックを選択して、画素値差分の算出に用いるようにした。これにより、鏡面反射成分の抽出の際に、物体の色むらや拡散反射成分の強度分布による影響を除外することができ、正確に光源色を推定することが可能となる。物体の色むらや拡散反射成分の強度分布による輝度差よりも鏡面反射成分が強くなることにより生じる輝度差の方が大きいと考えられるからである。
【００２７】
なお、本実施形態では、各ブロックの画素値分布の特徴量として、輝度ヒストグラムを用いる場合で説明したが、本発明は、画素値分布の特徴量の算出方法をこれに限定するものではない。例えば、各ブロックに含まれる画素の輝度値に関して、所定数以上の画素数を有する輝度値の最大値と最小値をそれぞれ算出し、その差分が大きい順に所定数のブロックを選択するようにしてもよい。あるいは、その差分が所定値以上であるブロックを選択するようにしてもよい。これにより、より簡便な処理で画素値分布の特徴量を算出することが可能となる。
【００２８】
また、画素値分布の特徴量として、輝度値だけでなく、色信号の分布の特徴量を算出してもよい。例えば、各画素の画素値から色相、彩度を算出し、色相のヒストグラムを生成するようにしてもよい。この場合は、色相のヒストグラムの幅が広いブロックを選択して用いるようにする。物体色に依存する乱反射光成分と光源色に依存する鏡面反射成分とでは、一般的に色相が異なるので、色相の分布が広がっている領域を選択することで、鏡面反射成分が分布している領域を選択することが可能となるからである。
【００２９】
また、輝度信号の分布と色信号の分布との両方を用いるようにしてもよい。具体的には、色相に対するヒストグラムの幅が広くても、輝度信号に対するヒストグラムの幅が広がっていないブロックは、有効ブロックと判定しないようにする。これにより、鏡面反射光が生じている領域の抽出精度を高めることができる。
【００３０】
また、画素値のヒストグラムの幅だけでなく、形状の特徴を用いて分布特徴量を算出するようにしてもよい。例えば、輝度値のヒストグラムの山形状が１個だけ存在するブロックを有効ブロックとして選択するようにしてもよい。また、輝度値のヒストグラムのピークが高い順に所定数のブロックを有効ブロックとして選択する、あるいは、ヒストグラムのピークが所定値以上であるブロックを有効ブロックとして選択するようにしてもよい。すなわち、ブロック内の画素値の分布の特徴を表す指標であれば、どのようなものを用いても構わない。
【００３１】
また、本実施形態では、ヒストグラムの幅が画像中の上位１０％に含まれるブロックを抽出する方法で説明したが、本発明は、光源推定に用いる領域の選択方法をこれに限定するものではない。例えば、ヒスグラムの幅が予め設定された所定値以上であるブロックを選択するようにしてもよい。
【００３２】
また、本実施形態では、画素値分布特徴量が所定の条件を満たすブロックのみを用いて光源推定処理を行う場合で説明したが、本発明は、光源推定処理の制御方法をこれに限定するものではない。例えば、輝度ヒストグラムの幅に応じた重み付けの処理を行うようにしてもよい。具体的には、各ブロックの輝度ヒストグラムの幅が大きいほど高い値を持つような重みを算出し、算出した重みを各ブロックから算出した画素値差分ベクトルにかけるよう制御する。これにより、鏡面反射が生じていると推定されたブロックからの結果に重みが付くことになるため、光源推定結果の精度を高めることが可能となる。
【００３３】
また、各ブロックの入力画像中の位置関係の情報も用いるようにしてもよい。具体的には、輝度の分布が極大になる点を含むブロックを基準として、そのブロックの周囲に近接するブロックを優先して用いるようにする。鏡面反射によって輝点が生じることが多いため、輝度分布の極大の周囲では鏡面反射が生じている可能性が高いためである。
【００３４】
＜実施形態２＞
本発明の第２の実施形態として、ブロック毎の分布特徴量に基づいて、有効ブロックを判定する際に、被写体毎にグループ分けして判定する場合について説明する。ここでは、入力画像に含まれる１又は２以上の被写体を検出し、検出された被写体ごとに、当該被写体の画像を含むブロックのグループを生成する。そして、上述した画素値分布特徴量の算出、有効ブロックの選択、画素値差分の算出、ヒストグラムの算出、光源推定の各処理が、上記生成されたグループごとに実行される。
【００３５】
図7に第２の実施形態に係る撮像装置の構成を示す。図１に示した第１の実施形態に係る構成と同様の構成要素には、同じ参照番号を付して説明を省略する。図7では、被写体の輪郭を切り出す輪郭検出部７０１が追加されている。輪郭検出部７０１は、入力画像の中からエッジ信号を検出するなどの公知の方法を用いて、被写体の輪郭を検出する。
【００３６】
次に、第２の実施形態に係る撮像装置の動作の概要を説明する。実施形態１の場合と同様、ユーザによるシャッター釦の押下により、一連の撮影動作が開始される。画像信号生成部１０４は生成した画像信号を、輪郭検出部７０１、光源推定部１０５、及び、ＷＢ補正部１０６へ出力する。輪郭検出部７０１は、入力画像を複数のブロックに分割し、分割した各ブロックに対して輪郭信号を生成し、各ブロックを被写体の輪郭を含むブロックと含まないブロックとに分別する。輪郭検出部７０１での輪郭検出方法は後述する。輪郭検出部７０１は、輪郭を含まないと判定されたブロックの位置の情報を、光源推定部１０５へ出力する。
【００３７】
光源推定部１０５は、入力された画像信号と輪郭検出部７０１での検出結果に基づいて、鏡面反射成分の抽出を行い、光源色を推定する。また、光源推定部１０５は、光源色の推定結果に基づいて、ホワイトバランスゲインを算出する。ここでの光源推定処理の詳細は後述する。光源推定部１０５は、算出したホワイトバランスゲインを、ＷＢ補正部１０６へ出力する。
【００３８】
ＷＢ補正部１０６は算出されたホワイトバランスゲインに基づいて、入力された画像信号に対するホワイトバランス補正を行い、補正後の画像信号を画像信号補正部１０７へ出力する。画像信号補正部１０７は、入力された画像信号に各種の補正処理を行い、記録部１０８へ出力する。記録部１０８は、入力画像信号を不図示の記録媒体へ記録する。以上が、本実施形態における撮像装置１００の処理動作の概要である。
【００３９】
次に、輪郭検出部７０１での輪郭検出の方法について説明する。輪郭検出部７０１は、画像信号（Ｒ，Ｇ，Ｂ）を入力すると、輝度信号Ｙを生成し、輝度信号Ｙに対して、バンドパスフィルタと輪郭検出フィルタ（３×３画素）を通すことで、画像中の輪郭成分を抽出する。
【００４０】
輪郭検出フィルタについて図８を用いて説明する。図８において、（a）は入力画像の画素値f(i, j)を示している。また、(b)は入力画像f(i, j)に対してかけるフィルタを示している。フィルタ処理によって生成される新しい画素f’(i, j)は次式によって算出される。
【００４１】
【数１】
2014007611.tif 000003
【００４２】
上述のようにして、輪郭検出部７０１は画像中に含まれる輪郭（エッジ）を抽出した画像信号を生成する。なお、上記においてフィルタの係数を変更することで、縦横斜め方向の輪郭成分を抽出することが可能である。図８(c)〜(f)は各方向の輪郭検出のためのフィルタ係数例を示している。図８において(ｃ)は垂直輪郭（横線）検出フィルタ、(ｄ)は水平輪郭（縦線）検出フィルタの例である。また、（ｅ）は斜め（右上線）検出フィルタ、（ｆ）は斜め（右下線）検出フィルタの例である。ここでは、図８（ｃ）の検出フィルタを用いて、輪郭抽出をする場合で説明する。
【００４３】
輪郭検出部７０１は、上述の方法で輪郭信号を生成し、ブロック内の輪郭信号の合計値を算出する。そして、輪郭検出部７０１は、算出した輪郭信号を所定の閾値と比較し、合計値が閾値より高いブロックを、輪郭を含むブロック、閾値より低いブロックを、輪郭を含まないブロックと判定する。輪郭検出部７０１は、輪郭を含まないブロックの位置情報を光源推定部１０５に出力して処理を終了する。
【００４４】
次に、光源推定部１０５の処理について、図９に示したフローチャートを用いて説明する。
【００４５】
Ｓ９０１では、図２のＳ２０１と同様、光源推定部１０５が入力画像を複数のブロックに分割する。ブロックの大きさや位置は輪郭検出部７０１での分割と同様に設定する。Ｓ９０２では、輪郭を含まないブロックの位置情報を輪郭検出部７０１から取得する。
【００４６】
Ｓ９０３では、Ｓ９０２で取得した位置情報に基づいて、各ブロックを被写体毎にグループ分けする。図１０に、グループ分けした状態の例を示す。図１０に示されるように、輪郭を含まないブロックで、かつ、互いに近接するブロックは同一の被写体に対応するとみなすことで、被写体毎にグループ分けを行う。図１０の場合、「Ａ」と書かれたブロックは被写体グループＡ、「Ｂ」と書かれたブロックは被写体グループＢ、何も書かれていないブロックは何れの被写体にも属さないブロックとして分類されている。
【００４７】
Ｓ９０４では、各ブロックに対して画素値分布特徴量を算出する。画素値分布特徴量の算出方法は、Ｓ２０２で説明した実施形態１の場合と同様であるため、詳細な説明は省略する。
【００４８】
Ｓ９０５では、Ｓ２０３と同様に、各ブロックの画素値分布特徴量を比較して、光源推定に用いるブロックを抽出する。ただし、本実施形態では、同一の被写体グループに属するブロック間で比較を行う点が、実施形態１の場合と異なる。具体的には、図１０の場合、被写体グループＡに属するブロックを比較して、輝度ヒストグラムの幅がグループＡの上位１０％に含まれるブロックを有効ブロックとして抽出する。そして、被写体グループＢに属するブロック同士を比較して、輝度ヒストグラムの幅がグループＢの上位１０％に含まれるブロックを抽出する。同様の処理を被写体グループ毎に順次行う。
【００４９】
Ｓ９０６〜Ｓ９０９では、選択された有効ブロックに含まれる画素の画素値差分を算出し、その結果に基づいて光源色を推定してＷＢゲインを算出する。ここでの処理内容は、Ｓ２０４〜Ｓ２０７に示した実施形態１の場合と同様であるため、詳細な説明は省略する。
【００５０】
以上説明したように、本実施形態では、画素値の差分に基づいて光源色を推定する画像処理装置において、画像を分割した各ブロックに対する画素値分布の特徴量を算出し、鏡面反射が生じている領域を推定するようにした。加えて、本実施形態では、被写体の輪郭を検出し、同一被写体に属すると推定されたブロック同士を比較して、鏡面反射が生じている領域の推定を行った。これにより、より正確に鏡面反射が生じている領域を推定することが可能となる。鏡面反射が生じている領域の広がり方は、照明光の当たり方や被写体の表面特性に依存するため、被写体毎に異なるからである。例えば、表面が滑らかな被写体では鏡面反射が生じている領域の境界における輝度の上昇は急激であり、表面が粗い被写体では鏡面反射が生じている領域の境界における輝度の上昇は緩やかである。したがって、本実施形態のように、それぞれの被写体グループの中から、輝度ヒストグラムの幅が広いブロックを選ぶことにより、表面が滑らかな被写体であっても、粗い被写体であっても鏡面反射が生じている可能性が高い領域を抽出することが可能になる。
【００５１】
なお、本実施形態では、輪郭信号を用いて被写体毎にグループ分けを行う場合で説明したが、本発明は、被写体毎のグループ分けをこれに限定するものではない。例えば、輪郭信号に加えて色信号による分類も用いてグループ分けを行ってもよい。
【００５２】
＜実施形態３＞
本発明の第３の実施形態として、領域毎に光源色を推定し、推定した結果同士を比較することにより、光源推定の信頼度を算出する場合について説明する。
【００５３】
本実施形態に関わる撮像装置の構成については、図１に示した実施形態１の場合と同様であるため、説明は省略する。
【００５４】
本実施形態での光源推定部１０５が行う光源推定の処理の流れについて、図１１に示したフローチャートを用いて説明する。
【００５５】
Ｓ１１０１〜Ｓ１１０３での一連の処理内容は、Ｓ２０１〜Ｓ２０３に示した実施形態１の場合と同様であるため、説明は省略する。Ｓ１１０４〜Ｓ１１０８では、実施形態１の場合と同様の方法を用いて、画素値差分を算出し、ホワイトバランスゲインを算出する。ただし、本実施形態では、入力画像を分割したブロック毎にホワイトバランスゲインを算出する点が実施形態１の場合と異なる。具体的には、以下のように行う。
【００５６】
Ｓ１１０４では、有効ブロックのうちの一つを選択し、ブロック内の画素に対して画素値差分ベクトルを算出する。Ｓ１１０５では、算出した画素値差分ベクトルを画素値差分ベクトルのヒストグラムに加算する。Ｓ１１０６では、選択している有効ブロック内の全ての画素に対して処理が終了したかを判定する。終了していれば、Ｓ１１０７へ進み、終了していなければ、Ｓ１１０４へ戻る。
【００５７】
Ｓ１１０７では、画素値差分ベクトルからＷＢゲインを算出する。算出方法は、実施形態１の場合と同様であるが、ここで算出するのが、ブロック毎のＷＢゲインである点が実施形態１の場合と異なる。Ｓ１１０８では、Ｓ１１０３で有効ブロックと判定されたブロック全てに対して、処理が完了した否かを判定する。処理が完了していればＳ１１０９へ進み、完了していなければＳ１１０４へ戻り、次のブロックに対して処理を行う。Ｓ１１０９では、各ブロックに関して算出されたＷＢゲインを比較することで、信頼度の算出を行う。図１２を参照しながら、信頼度の算出方法を説明する。
【００５８】
図１２では、４個の有効ブロックが抽出された場合で、それぞれの有効ブロックから算出されたＷＢゲインが示されている。図１２（ａ）は有効ブロック毎に算出したＷＢゲインのばらつきが小さい場合、図１２（ｂ）はばらつきが大きい場合を表す。ここで、ＷＢゲインのばらつきが小さいほど、光源推定の信頼度が高いと判定するようにする。具体的には、以下のように行う。各有効ブロックのＷＢゲインの中で、Ｒゲインの最大値、最小値をそれぞれ、Ｒ＿Ｍａｘ、Ｒ＿Ｍｉｎとする。同様に、Ｂゲインの最大値、最小値をそれぞれ、Ｂ＿Ｍａｘ、Ｂ＿Ｍｉｎとする。このとき、Ｒゲイン、Ｂゲインの信頼度をそれぞれＰ（Ｒ）、Ｐ（Ｂ）とすると、
Ｐ（Ｒ）＝Ａ−（Ｒ＿Ｍａｘ−Ｒ＿Ｍｉｎ）、
Ｐ（Ｂ）＝Ａ−（Ｂ＿Ｍａｘ−Ｂ＿Ｍｉｎ）
のようにして算出する。ただし、Ａは適当な正の定数である。光源推定部１０５は、算出したＷＢゲインの信頼度をＷＢ補正部１０６へ出力する。
【００５９】
Ｓ１１１０では、各有効ブロックから算出したＷＢゲインの平均値を算出し、この算出結果を総合ホワイトバランスゲインとして、ＷＢ補正部１０６へ出力する。
【００６０】
以上が、光源推定部１０５が行う処理の内容である。
【００６１】
次に、ＷＢ補正部１０６が行う処理について説明する。ＷＢ補正部１０６は、光源推定部１０５が算出したＷＢゲインに基づいてホワイトバランス補正を行う。ただし、光源推定の信頼度に基づいてＷＢゲインの値に制限をかける。図１３を用いて、ＷＢゲインの制限について説明する。
【００６２】
図１３において、図の縦軸はＢゲイン、横軸はＲゲインである。１３０１は黒体放射軸であり、ＷＢゲインはこの軸上の値をとるよう制御する。１３０２はＷＢゲインの低色温度側リミット、１３０３はＷＢゲイン、１３０４はＷＢゲインの高色温度側リミットである。ここで、光源推定部１０５により算出された総合ＷＢゲインがリミット範囲内になければ、総合ＷＢゲインがリミット範囲内に収まるように各ＷＢゲインが制御される。
【００６３】
また、信頼度に応じて、ＷＢゲインの低（高）色温度側リミットの値を制御する。具体的には、信頼度が低い場合には低（高）色温度側リミットの値を基準値（例えば、日中の太陽光下でのＷＢゲインの値）に近づけ、ＷＢゲインが基準値から大きく変化しないように設定する。逆に、信頼度が高い場合には低（高）色温度側リミットの値を低（高）色温度側に動かし、光源推定によって算出したＷＢゲインにリミットによる制限をかけずに用いるようにする。
【００６４】
以上説明したように、本実施形態では、画素値の差分に基づいて光源色を推定する画像処理装置において、鏡面反射が生じていると判定された領域毎にＷＢゲインを算出し、その値を比較することによって、光源推定の信頼度を算出するようにした。これにより、仮に鏡面反射領域の抽出に誤りがある場合でも、ホワイトバランスが大きくずれることを防ぐことが可能となる。
【００６５】
なお、本実施形態では、入力画像を分割したブロック毎にＷＢゲインを算出し、比較することで信頼度を算出する場合で説明したが、本発明は、信頼度の算出方法をこれに限定するものではない。例えば、実施形態２で説明したように、入力画像を被写体グループに分割し、被写体グループ毎にＷＢゲインを算出し、互いに比較することで信頼度を算出するようにしてもよい。
【００６６】
また、色の異なる被写体から推定された光源推定の結果が互いに近い値をとるときに、信頼度が高くなるように算出してもよい。具体的には、各有効ブロック内の画素の画素値を平均して平均色相を算出し、その平均色相が異なるブロックからの結果を比較して、ばらつき度合いが小さいときに信頼度を高く算出するようにする。
【００６７】
また、本実施形態では、算出したＷＢゲインを比較することで信頼度を算出したが、画素値差分の算出結果に基づいて信頼度を算出する方法であれば、どのような方法を用いても構わない。例えば、ブロック毎に生成した画素値差分ベクトルのピークの位置を比較することで信頼度を算出してもよい。
【００６８】
また、本実施形態では、ばらつきの度合いの判定方法として、ＷＢゲインの最大値と最小値の差分を用いる方法で説明したが、本発明はばらつきの度合いの判定方法をこれに限定するものではない。例えば、ＷＢゲインの分散値を算出して判定に用いてもよい。
【００６９】
また、各ブロックの画素値分布特徴量に応じて、信頼度を算出する方法を用いても構わない。例えば、各ブロックの輝度ヒストグラムの幅を算出し、算出した幅が所定の閾値より広いブロックが多いほど信頼度が高くなるよう算出してもよい。
【００７０】
＜他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2014007611.tif 000004
【図２】
2014007611.tif 000005
【図３】
2014007611.tif 000006
【図４】
2014007611.tif 000007
【図５】
2014007611.tif 000008
【図６】
2014007611.tif 000009
【図７】
2014007611.tif 000010
【図８】
2014007611.tif 000011
【図９】
2014007611.tif 000012
【図１０】
2014007611.tif 000013
【図１１】
2014007611.tif 000014
【図１２】
2014007611.tif 000015
【図１３】
2014007611.tif 000016