(57)【要約】【課題】  被写体からの反射光のうちの鏡面反射光成分を正しく抽出し、精度良く光源色を推定する。【解決手段】  画像処理装置は、入力画像の注目画素とその近傍画素の画素値差分を算出し（Ｓ２０２）、各画素値差分の間の類似度を算出すること（Ｓ２０５）を、各画素に対して繰り返し行い（Ｓ２０８）、画素値差分の分布を算出する（Ｓ２０７）。光源推定部は、算出された分布に基づいて、入力画像における被写体を照らしている光源の色を推定する。ここで、上記算出された類似度が所定の閾値以下である画素は、前記画素値差分の分布の算出の対象から除外される。【選択図】  図２
2014006745.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の注目画素と複数の近傍画素との画素値差分をそれぞれ算出することを、前記入力画像の各画素に対して行う画素値差分算出手段と、
前記入力画像の注目画素に対して算出された各画素値差分の間の類似度を算出することを、前記入力画像の各画素に対して行う類似度算出手段と、
前記画素値差分の分布を算出する分布算出手段と、
前記算出された分布に基づいて前記入力画像における被写体を照らしている光源の色を推定する光源推定手段と、
を有し、
前記分布算出手段は、前記類似度算出手段により算出された類似度が所定の閾値以下である画素を前記画素値差分の分布の算出の対象から除外することを特徴とする画像処理装置。
【請求項２】
前記分布算出手段は、更に、前記画素値差分の大きさが所定の閾値範囲内にない画素を画素値差分の分布の算出の対象から除外することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画素値差分の大きさは、色成分ごとの画素値差分を成分とする画素値差分ベクトルの絶対値であることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記類似度は、前記画素値差分ベクトルの方向の類似の度合であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記画素値差分の分布は、前記画素値差分ベクトルの方向の分布であることを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記光源推定手段は、前記画素値差分ベクトルの方向の分布のピーク位置を判定し、該判定したピーク位置に対応する色成分の値を算出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記複数の近傍画素は、前記注目画素に対して相異なる所定の方向にそれぞれ所定の間隔に位置する複数の画素であることを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記所定の方向は、前記注目画素から前記入力画像面における上下左右の４方向であり、
前記類似度算出手段は、前記４方向のうちそれぞれ隣り合う方向における近傍画素間での画素値差分の類似度を算出する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記入力画像を縮小した縮小画像を生成する縮小画像生成手段を更に有し、
前記画素値差分算出手段、前記類似度算出手段、前記分布算出手段、前記光源推定手段は、前記縮小画像を前記入力画像としてそれぞれの処理を実行する
ことを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記入力画像を複数のブロックに分割する分割手段を更に有し、
前記画素値差分算出手段、前記類似度算出手段、前記分布算出手段は、ブロックごとにそれぞれの処理を実行し、
前記光源推定手段は、前記画素値差分の分布の算出の対象から除外された画素の割合が所定の閾値以上であるブロックを光源の色の推定に用いない
ことを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１１】
画像処理装置の制御方法であって、
画素値差分算出手段が、入力画像の注目画素と複数の近傍画素との画素値差分をそれぞれ算出することを、前記入力画像の各画素に対して行う画素値差分算出ステップと、
類似度算出手段が、前記入力画像の注目画素に対して算出された各画素値差分の間の類似度を算出することを、前記入力画像の各画素に対して行う類似度算出ステップと、
前記分布算出手段が、前記画素値差分の分布を算出する分布算出ステップと、
光源推定手段が、前記算出された分布に基づいて前記入力画像における被写体を照らしている光源の色を推定する光源推定ステップと、
を有し、
前記分布算出ステップは、前記類似度算出ステップで算出された類似度が所定の閾値以下である画素を前記画素値差分の分布の算出の対象から除外することを特徴とする画像処理装置の制御方法。
【請求項１２】
コンピュータを請求項１乃至１０のいずれか１項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された画像内の被写体を照らしている光源の色を推定する光源推定処理を行う画像処理技術に関する。
【背景技術】
【０００２】
従来、２色性反射モデルに基づいた光源推定処理を行う画像処理装置が知られている。ここで、２色性反射モデルとは、物体からの反射光が、物体色に依存する乱反射光成分と、光源色に依存する鏡面反射光成分とから成るとするモデルである。
【０００３】
例えば、特許文献１には、入力画像中の近接した位置にあり、かつ輝度差のある２点Ａ，Ｂの画素値の差分をとることによって、被写体物体からの反射光から鏡面反射成分のみを抽出して光源色を推定する画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−０１３４１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された光源推定方法では、近接した画素は同一物体に属すると仮定して画素値の差分を算出している。しかしながら、この方法では、入力画像中の被写体物体の境界領域において、異なる被写体物体に属する画素間で画素値の差分を算出してしまう場合がある。同一物体に属する画素間での画素値の差分が光源色に対応した鏡面反射成分であるのに対し、色の異なる被写体間で算出された差分値は被写体物体色の差に依存しており、光源色には対応していない。このような場合には、従来の方法では光源色を精度よく推定することができない。
【０００６】
そこで、本発明は、被写体からの反射光のうちの鏡面反射光成分を正しく抽出し、精度良く光源色を推定することが可能な画像処理装置を提供する。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、入力画像の注目画素と複数の近傍画素との画素値差分をそれぞれ算出することを、前記入力画像の各画素に対して行う画素値差分算出手段と、前記入力画像の注目画素に対して算出された各画素値差分の間の類似度を算出することを、前記入力画像の各画素に対して行う類似度算出手段と、前記画素値差分の分布を算出する分布算出手段と、前記算出された分布に基づいて前記入力画像における被写体を照らしている光源の色を推定する光源推定手段とを有し、前記分布算出手段は、前記類似度算出手段により算出された類似度が所定の閾値以下である画素を前記画素値差分の分布の算出の対象から除外することを特徴とする画像処理装置が提供される。
【発明の効果】
【０００８】
本発明によれば、被写体からの反射光のうちの鏡面反射光成分を正しく抽出し、精度良く光源色を推定することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る撮像装置の構成を示すブロック図。
【図２】第１の実施形態に係る画素値差分の算出処理を示すフローチャート。
【図３】画素値差分算出処理を説明する図。
【図４】画素値差分ベクトルの方向のヒストグラムを表す図である。
【図５】第１の実施形態に係る光源推定処理を示すフローチャート。
【図６】第２の実施形態に係る撮像装置の構成を示すブロック図。
【図７】第３の実施形態に係る撮像装置の構成を示すブロック図。
【図８】第３の実施形態に係る画素値差分算出処理を示すフローチャート。
【図９】第３の実施形態に係る光源推定処理を示すフローチャート。
【図１０】入力画像を分割したブロックの例を表す図。
【発明を実施するための形態】
【００１０】
＜実施形態１＞
以下、図１〜図５を参照して、第１の実施形態に係る画像処理装置について説明する。図１は、第１の実施形態に係る光源推定機能を備える画像処理装置の一例である撮像装置の構成を示すブロック図である。図１において、撮像装置１００は、レンズ１０１、シャッター１０２をはじめ、以下の構成を備える。撮像素子１０３は、入射した光を電気的信号に変換する。画像信号生成部１０４は、入力画像の画像信号（Ｒ，Ｇ，Ｂ）を生成する。画素値差分ベクトル算出部１０５は、画像信号の差分値を算出する。光源推定部１０６は、入力画像における被写体を照らしている光源の色を推定し、ホワイトバランスゲインを算出する。ＷＢ補正部１０７は、設定されたホワイトバランスゲインに基づいて、画像信号に対するホワイトバランス補正を行う。画像信号補正部１０８は、ガンマ補正やカラーバランス補正など、画像信号に対する各種の補正処理を行う。記録部１０９は、画像信号を不図示の記録媒体に保存する。以上が、撮像装置１００の構成の概要である。
【００１１】
次に、撮像装置１００の動作の概要を説明する。ユーザが不図示の操作部のシャッター釦を押下すると、シャッター１０２が所定の時間だけ開く。これにより、レンズ１０１を介して、撮像素子１０３へ光が入射する。撮像素子１０３は入射した光を電気信号に変換して画像信号生成部１０４へ出力する。画像信号生成部１０４は入力された電気信号に基づいて各画素に対する画素値（Ｒ，Ｇ、Ｂ）を生成し、画素値差分ベクトル算出部１０５とＷＢ補正部１０７へ出力する。画素値差分ベクトル算出部１０５は、入力された画素値間の差分を算出し、結果を光源推定部１０６へ出力する。光源推定部１０６は、画素値差分の算出結果に基づいて、光源の色を推定し、ホワイトバランスゲインを算出する。ここでの画素値差分の算出処理、及び光源推定処理の詳細は後述する。ＷＢ補正部１０７は算出されたホワイトバランスゲインに基づいて入力された画像信号に対するホワイトバランス補正を行い、補正後の画像信号を画像信号補正部１０８へ出力する。画像信号補正部１０８は、入力された画像信号に各種の補正処理を行い、記録部１０９へ出力する。記録部１０９は、入力画像信号を記録媒体へ記録する。以上が、撮像装置１００の処理動作の概要である。
【００１２】
次に、本実施形態における光源色推定の方法について詳しく説明する。
【００１３】
まず、図２、図３を用いて、画素値差分ベクトル算出部１０５が行う、画素値差分算出処理の詳細を説明する。図２は、画素値差分ベクトル算出部１０５が行う処理を示したフローチャートである。図３は、入力画像の画素を表した図である。図３のメッシュ枠は、入力画像の各画素を表す。
【００１４】
ここで、図３（ａ）に示すように、入力画像の座標（ｉ、ｊ）における画素値をＰ（ｉ、ｊ）と表す。画素値はＲ，Ｇ，Ｂの３成分から成るので、
Ｐ（ｉ、ｊ）＝（Ｒ（ｉ、ｊ）、Ｇ（ｉ、ｊ）、Ｂ（ｉ、ｊ））
である。
【００１５】
図２のフローチャートに戻って、Ｓ２０１では、画像信号生成部１０４が生成した画素値Ｐ（ｉ、ｊ）を読み出す。ここで、画素値Ｐ（ｉ、ｊ）を読み出す時には、注目画素の画素値と、そこから所定間隔ｄ（例えば、ｄ＝２画素）の位置にある近傍画素の画素値も併せて読み出す。具体的には、注目画素の位置（ｉ、ｊ）から上方向、下方向、左方向、右方向に所定間隔離れた画素の画素値Ｐ（ｉ、ｊ−ｄ）、Ｐ（ｉ、ｊ＋ｄ）、Ｐ（ｉ−ｄ、ｊ）、Ｐ（ｉ＋ｄ、ｊ）を併せて読み出す。画素値差分ベクトル算出部１０５は、入力画像中の各画素に対して、順次、上記のように読み出しを行う。
【００１６】
次に、Ｓ２０２では、読み出した注目画素と近接画素との間の画素値差分を算出する。ここで、図３（ｂ）に示すように、注目画素Ｐ（ｉ、ｊ）と、入力画像面における上下左右の４方向のうちそれぞれ隣り合う方向における近傍画素間での画素値差分を、それぞれ、ｄＵ（ｉ、ｊ）、ｄＤ（ｉ、ｊ）、ｄＬ（ｉ、ｊ）、ｄＲ（ｉ、ｊ）とおく。すなわち、
ｄＵ（ｉ、ｊ）＝Ｐ（ｉ、ｊ）−Ｐ（ｉ、ｊ−ｄ）
ｄＤ（ｉ、ｊ）＝Ｐ（ｉ、ｊ）−Ｐ（ｉ、ｊ＋ｄ）
ｄＬ（ｉ、ｊ）＝Ｐ（ｉ、ｊ）−Ｐ（ｉ−ｄ、ｊ）
ｄＲ（ｉ、ｊ）＝Ｐ（ｉ、ｊ）−Ｐ（ｉ＋ｄ、ｊ）
である。画素値Ｐは（Ｒ，Ｇ，Ｂ）の３つの色成分から成る。したがって、画素値差分は、
ｄＵ（ｉ、ｊ）
＝Ｐ（ｉ、ｊ）−Ｐ（ｉ、ｊ−ｄ）
＝（Ｒ（ｉ、ｊ）−Ｒ（ｉ、ｊ−ｄ）、Ｇ（ｉ、ｊ）−Ｇ（ｉ、ｊ−ｄ）、Ｂ（ｉ、ｊ）−Ｂ（ｉ、ｊ−ｄ））
のように、Ｒ差分値、Ｇ差分値、Ｂ差分値の３つの色成分の差分値からなるベクトルとみなすことができる。これを画素値差分ベクトルという。
【００１７】
Ｓ２０３では、画素値差分の大きさ、すなわち、算出した画素値差分ベクトルの絶対値を算出する。具体的には、｜ｄＵ（ｉ、ｊ）｜、｜ｄＤ（ｉ、ｊ）｜、｜ｄＬ（ｉ、ｊ）｜、｜ｄＲ（ｉ、ｊ）｜を算出する。
【００１８】
Ｓ２０４では、算出した画素値差分ベクトルの絶対値が、所定の閾値範囲内にあるか否かを判定する。ここで、画素値差分ベクトルの絶対値が所定の下限閾値を下回る場合は、被写体からの反射光がほぼ一様である場合に相当し、画素値の差分に基づいて鏡面反射成分を正確に推定することはできない。逆に、画素値差分ベクトルの絶対値が所定の上限閾値を上回る場合は、被写体間の境界や、光の当たり方が一様でない領域に相当する場合が多く、この場合も、算出した差分値を鏡面反射成分の推定に用いることはできない。したがって、算出した画素値差分ベクトルの絶対値のうち、いずれか１つでも閾値範囲外にある場合には、その画素は光源推定に用いないこととし、Ｓ２０８へ進む。換言すると、画素値差分の大きさが所定の閾値範囲内にない画素は、画素値差分の分布の算出の対象から除外される。算出した画素値差分ベクトルの絶対値が全て閾値範囲内にある場合には、Ｓ２０５へ進む。
【００１９】
Ｓ２０５では、算出した画素値差分ベクトル間の類似度算出を行う。ここでの類似度とは、画素値差分ベクトルの方向の類似の度合を表す指標である。ここでは、類似度として、画素値差分ベクトル間の成す角の方向余弦を算出し、その絶対値を用いるものとする。具体的には、ｄＵとｄＬ間の類似度をｓＵＬ、ｄＬとｄＤ間の類似度をｓＬＤ、ｄＤとｄＲ間の類似度をｓＤＲ、ｄＲとｄＵ間の類似度をｓＲＵとすると、
ｓＵＬ（ｉ、ｊ）＝｜ｄｏｔ（ｄＵ（ｉ、ｊ）、ｄＬ（ｉ、ｊ））／（｜ｄＵ（ｉ、ｊ）｜｜ｄＬ（ｉ、ｊ）｜）｜
である。ただし、ｄｏｔ（Ａ，Ｂ）はベクトルＡとベクトルＢの内積を表す。他の方向についても同様に表すことができる。
【００２０】
Ｓ２０６では、算出した４つの類似度を所定の類似度閾値（th_sim）と比較する。類似度閾値th_simは例えば0.9とする。算出した類似度（ｓＵＬ、ｓＬＤ、ｓＤＲ、ｓＲＵ）が全て類似度閾値（th_sim）を上回る場合、その注目画素を有効画素とみなし、Ｓ２０７へ進む。いずれか１つでも類似度閾値以下の場合は、その注目画素を無効画素とみなし、Ｓ２０８へ進む。すなわちこの場合は、当該注目画素を画素値差分のヒストグラムへの加算（Ｓ２０７）の対象から除外する。
【００２１】
このように、画素値差分ベクトルの類似度を用いて、被写体間の境界を含まない平坦な領域から算出した画素値差分ベクトルのみを抽出する。逆に、被写体間の境界や境界付近の領域で算出した画素値差分ベクトルは光源推定処理から除外される。
【００２２】
このような判別が可能である理由は以下のとおりである。比較する画素値差分ベクトルが全て同一被写体に属する画素間での差分である場合、その差分ベクトルの方向は光源色に対応した方向に揃う。一方、比較する画素値差分ベクトルが異なる被写体間の差分を含む場合、差分ベクトルの方向は、光源色に対応した方向と被写体物体色の差に対応した方向とにばらつくことになるからである。
【００２３】
Ｓ２０７では、画素値差分の分布算出を行う。具体的には、有効画素と判定された画素の画素値差分ベクトルを、画素値差分ベクトルのヒストグラムに加算する。ヒストグラムの例を図４に示す。図４（ａ）、（ｂ）はそれぞれ、画素値差分ベクトルのＲ成分、Ｂ成分についての分布を表すヒストグラムである。横軸Ｇ／Ｒ、Ｇ／Ｂは、それぞれ、画素値差分ベクトルのＧ成分とＲ成分の比、Ｇ成分とＢ成分の比をとったものである。具体的には、
Ｇ／Ｒ＝（Ｇ（ｉ、ｊ）−Ｇ（ｉ−ｄ、ｊ））／（Ｒ（ｉ、ｊ）−Ｒ（ｉ−ｄ、ｊ））
Ｇ／Ｂ＝（Ｇ（ｉ、ｊ）−Ｇ（ｉ−ｄ、ｊ））／（Ｂ（ｉ、ｊ）−Ｂ（ｉ−ｄ、ｊ））
である。ただし、上記では、画素値差分ベクトルとしてｄＬ（ｉ、ｊ）を用いる場合で記述したが、ｄＵ、ｄＤ、ｄＬ、ｄＲのいずれを用いてもよい。又は、ｄＬ（ｉ、ｊ）とdU（ｉ、ｊ）の平均値を用いるなど、複数の画素値差分ベクトルに基づいてヒストグラムを生成してもよい。このように、算出した画素値差分ベクトルに対して、Ｇ／Ｒ及びＧ／Ｂを計算し、その値に応じて対応するヒストグラムの区間の頻度を加算する。
【００２４】
Ｓ２０８では、入力画像の全ての画素に対して処理が完了したか否かを判定する。完了していればＳ２０９へ進み、完了していなければＳ２０１へ戻って一連の処理を繰り返し行う。
【００２５】
Ｓ２０９では、算出した画素値差分ベクトルのヒストグラムのデータを光源推定部１０６へ出力する。
【００２６】
以上が、画素値差分ベクトル算出部１０５が行う処理の流れである。
【００２７】
次に、光源推定部１０６が行う光源推定処理について、図５に示したフローチャートを用いて説明する。光源推定部１０６は、画素値差分ベクトル算出部１０５が算出したヒストグラムに基づいて光源の色を推定し、ホワイトバランスゲインを算出する。
【００２８】
まず、Ｓ５０１では、有効画素として判定された画素が入力画像中に占める割合を算出する。具体的には、ヒストグラムの全区間の頻度を合算し、その値を入力画像の画素数で割って、割合を算出する。
【００２９】
Ｓ５０２では、算出した有効画素の割合を所定の閾値と比較する。有効画素の割合が所定の閾値以上である場合はＳ５０３へ進み、閾値より低い場合はＳ５０５へ進む。
【００３０】
Ｓ５０３では、ヒストグラムの分布のピーク位置を判定する。そして、そのピーク位置に対応する色成分の値を算出する。具体的には、頻度が最も高い区間を検出し、その区間に対応するＧ／Ｒ、Ｇ／Ｂの値を算出する。または、頻度が最も高い区間を検出し、その前後の所定の範囲の区間を抽出して、各区間の頻度で重み付けしながら対応するＧ／Ｒ、Ｇ／Ｂの値の平均値を算出するようにしてもよい。
【００３１】
ここで算出したＧ／Ｒ、Ｇ／Ｂ値が、画素値差分に基づいて推定した光源色の推定結果を表す。このように、画素値差分ベクトルの方向に対するヒストグラムのピーク位置情報を用いることにより、鏡面反射成分を精度よく抽出することができる。何故ならば、入力画像中に鏡面反射する被写体物体が複数ある一般的な場合には、光源色に対応した画素値差分ベクトルが入力画像中の複数の箇所で算出されることになる。そのため、ヒストグラムの中で光源色に対応した方向に対する度数が高くなり、ピークを形成すると考えられるからである。
【００３２】
Ｓ５０４では、算出したＧ／Ｒ、Ｇ／Ｂの値を、ホワイトバランス補正時のＲゲイン、Ｂゲインとして、ＷＢ補正部１０７に出力する。Ｓ５０５では、画素値差分を用いて光源推定することができない場合であるため、ホワイトバランスゲインの値として、予め設定されたデフォルト値をＷＢ補正部１０７に出力する。
【００３３】
以上が、光源推定部１０６が行う処理の説明である。
【００３４】
以上説明したように、本実施形態では、画素値の差分に基づいて光源色を推定する画像処理装置において、画素値差分の類似度と分布に基づいて光源色を推定するようにした。具体的には、画素値差分ベクトルの方向の類似度、及び、画素値差分ベクトルの方向の分布のピークを算出して推定に用いた。これにより、異なる被写体間での画素差分値ベクトルなどを除外して、正確に光源色を推定することが可能となる。
【００３５】
なお、本実施形態では、注目画素から見て相異なる４つの方向に位置する画素について画素値差分ベクトルを算出したが、本発明は、画素値差分ベクトルの算出方法や類似度による判定方法をこれに限定するものではない。例えば、注目画素から見て上方向と左方向との２方向を用いるようにしてもよいし、右斜め上方向に位置する画素などを用いてもよい。
【００３６】
また、方向だけでなく、注目画素からの距離を複数の値に変えて画素値差分ベクトルを算出するようにしてもよい。例えば、注目画素と注目画素から右方向に４画素離れた画素との差分ベクトル、注目画素と注目画素から右方向に６画素離れた画素との差分ベクトルをそれぞれ算出し、類似度を算出して推定に用いるようにしてもよい。これにより、画素値の読み出しを水平１ライン毎に行えばよいことになり、処理を簡便にすることが可能となる。
【００３７】
また、本実施形態では、画素値差分ベクトルの間のなす角を用いて画素値差分ベクトルの類似度を判定したが、本発明は類似度の判定方法をこれに限定するものではない。画素値差分ベクトルの方向の類似度合いを求める方法であればどのような方法を用いてもよい。例えば、画素値差分ベクトルを３次元の極座標空間で表現し、その方向を表す座標値の類似度を用いるようにしてもよい。
【００３８】
また、本実施形態では、算出した類似度のうちいずれか１つでも低い値がある場合に、その画素を使わないよう処理する場合で説明したが、本発明は、類似度に対する判定方法をこれに限定するものではない。例えば、４方向に対して算出した画素値差分ベクトルのうち、３方向の画素値差分ベクトル間の類似度が高く、残りの１方向の画素値差分ベクトルのみ他との類似度が低い場合を考える。この場合、類似度が高かった３方向のいずれか１つを選択して、その方向に対応する画素値差分ベクトルをヒストグラムに加算するようにする。これにより、ノイズ等の影響があっても画素値差分ベクトルの方向の分布を求めることが可能となる。
【００３９】
また、本実施形態では、画素値差分ベクトルの方向の分布を、ヒストグラムを用いて判定する方法を説明したが、本発明は、画素値差分ベクトルの分布を算出する方法をこれに限定するものではない。例えば、画素値差分ベクトルをＲ−Ｇ平面、Ｂ−Ｇ平面に投影した平面上において、最小自乗法などを用いて画素値差分ベクトルの方向の分布を求めるようにしてもよい。
【００４０】
＜実施形態２＞
本発明の第２の実施形態として、画素値差分ベクトルを算出する際に、入力画像を縮小した縮小画像を用いる場合について説明する。
【００４１】
図６に第２の実施形態に係る構成を示す。図１に示した第１の実施形態に係る構成と同様の構成には同じ参照番号を付し、ここでは説明を省略する。図６では、縮小画像生成部６０１と縮小画像バッファ６０２が追加されている。
【００４２】
縮小画像生成部６０１は、画像信号生成部１０４が生成した入力画像を公知の方法を用いて縮小した縮小画像を生成する。縮小画像バッファ６０２は、縮小画像生成部６０１が生成した縮小画像データを記録する。
【００４３】
次に、第２の実施形態に係る撮像装置の動作の概要を説明する。実施形態１の場合と同様、ユーザによるシャッター釦の押下により、一連の撮影動作が開始される。画像信号生成部１０４は生成した画像信号を、縮小画像生成部６０１とＷＢ補正部１０７へ出力する。縮小画像生成部６０１は、予め定められた所定の縮小率で入力画像を縮小し、生成した縮小画像を縮小画像バッファ６０２へ出力し、記録する。画素値差分ベクトル算出部１０５は、縮小画像バッファ６０２から縮小画像の画素値を読み出して、画素値差分ベクトルを算出する。画素値差分ベクトル算出部１０５の処理動作は、図２に示した実施形態１の場合と同様である。ただし、差分をとる画素の間隔ｄはｄ＝１に設定し、縮小画像において隣接する画素間の差分を算出する。すなわち、実施形態１で差分をとる際に画素間の間隔を空けたことが、本実施形態では入力画像を縮小したことに対応している。
【００４４】
この後、光源推定部１０６が光源色を推定し、ＷＢ補正部１０７がホワイトバランス補正を行い、記録部１０９で記録するまでの一連の処理は実施形態１の場合と同様であるため、ここでは説明を省略する。
【００４５】
以上説明したように、上述の実施形態では、画素値の差分に基づいて光源色を推定する画像処理装置において、画素値差分の類似度と分布に基づいて光源色を推定するようにした。加えて、本実施形態では、入力画像を縮小した縮小画像を生成し、縮小画像の画素値間で差分をとる場合を説明した。これにより、入力画像に含まれるノイズの影響などを除外して、正確に光源色を推定することが可能となる。
【００４６】
なお、本実施形態では、縮小画像において隣接する（間隔ｄ＝１）画素間で画素値差分ベクトルを算出する場合で説明したが、本発明は、画素値差分の算出方法をこれに限定するものではなく、画素間隔ｄ＝２などの値を用いても構わない。
【００４７】
＜実施形態３＞
本発明の第３の実施形態として、有効画素の判定を、画素単位での類似度の判定に加えて、入力画像を分割した小ブロック毎での条件判定も用いて行う場合について説明する。
【００４８】
図７に第３の実施形態に係る撮像装置の構成を示す。図１に示した第１の実施形態と同様の構成には同じ参照番号を付し、その説明は省略する。図７では、ブロック分割部７０１が新たに追加されている。ブロック分割部７０１は、画像信号生成部１０４が生成した入力画像を複数のブロックに分割する。
【００４９】
図８、図９を用いて第３の実施形態における光源推定処理を説明する。図８、図９は、それぞれ、画素値差分ベクトル算出部１０５、光源推定部１０６が行う処理を表すフローチャートである。
【００５０】
画素値差分ベクトル算出部１０５は、実施形態１の場合と同様、画素値差分ベクトルを算出し、画素値差分ベクトルのヒストグラムを生成する。実施形態１と異なるのは、画素値の読み出しと画素値差分ベクトルのヒストグラムの生成を、ブロック毎に行う点である。図１０に、入力画像を分割したブロックを表す図を示す。図１０に示すように入力画像を４×４のブロックに分割して処理を行う。
【００５１】
まず、Ｓ８０１では、ブロック分割部７０１が分割したブロックごとに、画素値の読み出しを行う。画素値の読み出しは、実施形態１の場合と同様、注目画素とその上下左右の近接画素の画素値を読み出す。
【００５２】
Ｓ８０２〜Ｓ８０６では、実施形態１の場合と同様、画素値差分ベクトルとその類似度の算出を行い、類似度を用いた有効画素の判定を行う。Ｓ８０７では、実施形態１の場合と同様、有効画素に対するＧ／Ｒ、Ｇ／Ｂの値を画素値差分ベクトルのヒストグラムに加算する。ただし、実施形態１の場合とは異なり、画素値差分ベクトルのヒストグラムは画像ブロック毎に生成される。
【００５３】
Ｓ８０８では、画像ブロック内の全ての画素に対して処理が完了したかを判定する。完了していればＳ８０９へ進み、完了していなければＳ８０１へ戻り、次の画素に対して同様の処理を行う。Ｓ８０９では、入力画像に対する全てのブロックに対して処理が完了したか否かを判定する。完了していればＳ８１０へ進み、ブロック毎のヒストグラムのデータを光源推定部１０６へ出力して処理を終了し、完了していなければＳ８０１へ戻り、次のブロックに対して同様の処理を行う。
【００５４】
以上が、画素値差分ベクトル算出部１０５が行う処理である。
【００５５】
次に、光源推定部１０６が行う処理について説明する。光源推定部１０６は、ブロック毎の画素値差分ヒストグラムに基づいて、ブロック毎に有効画素として判定された割合を算出し、光源推定に用いる。
【００５６】
図９のフローチャートを用いて処理の流れを説明する。
Ｓ９０１では、画素値差分ベクトル算出部１０５がブロック毎に生成したヒストグラムの情報を読み出す。Ｓ９０２では、読み出したヒストグラムから、ブロック毎に有効画素割合を算出する。すなわち、各ヒストグラムの頻度の合計値を各ブロックに含まれる画素数で割って割合を算出する。Ｓ９０３では、算出した有効割合を所定の閾値と比較する。有効画素割合が閾値以上である場合はＳ９０４へ進む。そうでない場合はＳ９０５へ進み、そのブロックを光源の色の推定に用いないこととする。
【００５７】
Ｓ９０４では、ブロック毎のヒストグラムを加算することで、入力画像全体に対するヒストグラムを算出する。Ｓ９０５では、全てのブロックの処理が完了かを判定する。完了していればＳ９０６へ進み、ヒストグラムのピークを求めてホワイトバランスゲインを算出する。ここでの処理は実施形態１で説明した方法と同様であるため、説明は省略する。完了していなければ、Ｓ９０１へ戻り、次のブロックのヒストグラムの情報を読み出す。
【００５８】
以上が、本実施形態における光源推定部１０６が行う処理の内容である。
【００５９】
以上説明したように、上述の実施形態では、画素値の差分に基づいて光源色を推定する画像処理装置において、画素値差分の類似度と分布に基づいて光源色を推定するようにした。加えて、本実施形態では、入力画像を分割したブロック毎に画素値差分ベクトルの類似度の判定を行い、類似度の高い有効画素が所定の割合以上含まれているブロックのみを用いて光源推定を行うよう制御した。これにより、同一の被写体物体が占める面積が広く、鏡面反射が生じやすい領域のみを用いて光源推定を行うことができるため、光源推定の精度を向上させることが可能となる。
【００６０】
＜他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2014006745.tif 000003
【図２】
2014006745.tif 000004
【図３】
2014006745.tif 000005
【図４】
2014006745.tif 000006
【図５】
2014006745.tif 000007
【図６】
2014006745.tif 000008
【図７】
2014006745.tif 000009
【図８】
2014006745.tif 000010
【図９】
2014006745.tif 000011
【図１０】
2014006745.tif 000012