JP5956844B2 - 画像処理装置およびその制御方法 - Google Patents

画像処理装置およびその制御方法 Download PDF

Info

Publication number
JP5956844B2
JP5956844B2 JP2012141463A JP2012141463A JP5956844B2 JP 5956844 B2 JP5956844 B2 JP 5956844B2 JP 2012141463 A JP2012141463 A JP 2012141463A JP 2012141463 A JP2012141463 A JP 2012141463A JP 5956844 B2 JP5956844 B2 JP 5956844B2
Authority
JP
Japan
Prior art keywords
color
pixels
difference
value
difference value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012141463A
Other languages
English (en)
Other versions
JP2014007528A (ja
Inventor
光太郎 北島
光太郎 北島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012141463A priority Critical patent/JP5956844B2/ja
Priority to US13/922,552 priority patent/US9129188B2/en
Publication of JP2014007528A publication Critical patent/JP2014007528A/ja
Application granted granted Critical
Publication of JP5956844B2 publication Critical patent/JP5956844B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)
  • Color Television Image Signal Generators (AREA)
  • Processing Of Color Television Signals (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

本発明は、画像処理装置およびその制御方法に関し、特には画像から光源色を推定する技術に関する。
従来、デジタルカメラに用いられるオートホワイトバランス制御機能は、外部センサを使用せず、撮像素子の出力を用いてホワイトバランスを調整するものが主流となっている。撮像素子の出力を用いてホワイトバランスを調整する手法として、被写体物体光を鏡面反射成分と拡散反射成分に分離する二色性反射モデルを利用したものが提案されている。
例えば、特許文献1には、明るさの異なる近接画素間の差分を算出することで、被写体を照射する光源色を特定する方法が開示されている。この方法は、高輝度な第1の画素(物体色を反映する拡散反射成分と光源色を反映する鏡面反射成分の両方を含む)から第1の画素よりも低輝度な画素(物体色のみを含む拡散反射成分)の差分を算出することで、光源色の成分を抽出する原理に基づいている。
具体的には、高輝度の第1の画素のRGB値と、第1の画素よりも低輝度な第2の画素のRGB値の差分を算出する。この差分RGB値は光源色と同じベクトル成分を持つRGB値であるから、差分RGB値の成分比からホワイトバランスゲインを算出することができる。
特許第4447520号公報
鏡面反射成分の画素と拡散反射成分の画素の差分から光源色を算出するためには、同一物体中で、かつ物体色も同じ領域から、鏡面反射成分(および拡散反射成分)を含んだ画素と、拡散反射成分を含んだ画素を取得する必要がある。特許文献1では、近接画素である場合は、同一物体(かつ同一物体色)である可能性が高いという仮定に基づき、輝度の異なる近接画素の差分を用いて光源の推定を行っている。
しかしながら、異なる物体が近接している場合もあれば、同一物体でも領域によって色が異なる場合もあるため、近接する画素が必ずしも同一物体かつ同一物体色の画素とは限らない。特許文献1に開示された従来技術では、画素の近接性のみを考慮しているため、複数の検出結果を平均化する等の誤差抑制処理を行っても、光源の色温度の推定精度については改善の余地がある。
本発明はこのような従来技術の課題に鑑みなされたものであり、画素値に基づいて光源色を精度良く推定することが可能な画像処理装置およびその制御方法を提供することを目的とする。
上述の目的は、入力画像の画素を複数の色グループのいずれかに分類する分類手段と、色グループごとに、分類された画素のうちで予め定めた位置関係を満たす画素間の画素値の色成分ごとの差分から、色グループを代表する差分値としての色グループ差分値算出する算出手段と、複数の色グループについて算出された色グループ差分値のうち、算出に用いられた差分値の数が最も多い色グループ差分値、画素の平均輝度値が最も高い色グループの色グループ差分値、画素の色の分散値が最も小さい色グループの色グループ差分値の少なくとも1つを用いて、入力画像の被写体を照明する光源色を推定する推定手段と、を有することを特徴とする画像処理装置によって達成される。
本発明によれば、画素値に基づいて光源色を精度良く推定することが可能である。
本発明の実施形態に係る画像処理装置の一例としてのデジタルカメラの構成例を示すブロック図。 図1の画像処理部の構成例を示すブロック図。 本発明の第1の実施形態における光源色推定処理を説明するためのフローチャート。 本発明の第1の実施形態における入力画像の例を示す図。 本発明の実施形態における色グループの例を示す図。 本発明の第1の実施形態における差分およびカウント値の格納方法を模式的に示す図。 本発明における光源色の推定方法を説明するための図。 本発明の第2の実施形態における光源色推定処理を説明するためのフローチャート。 本発明の第2の実施形態における合計値およびカウント値の格納方法を模式的に示す図。 本発明の第2の実施形態における色グループごとの輝度分布の例を示す図。
本発明の例示的な実施形態を、添付図面に基づいて詳細に説明する。以下の実施形態では、本発明に係る画像処理装置の一例としてのデジタルカメラを説明するが、本発明において撮影に係る構成は必須ではなく、画像データを取得可能な任意の装置で本発明を実施可能である。
(第1の実施形態)
図1は、本発明の第1の実施形態に係るデジタルカメラ100の構成例を示すブロック図である。
図1において、レンズ群101は、フォーカスレンズを含むズームレンズである。絞り機能を備えるシャッタ102が、レンズ群101と撮像部103との間に設けられている。撮像部103は、レンズ群101によって撮像面に形成される光学像を画素単位の電気信号に変換するCCD/CMOSイメージセンサを代表とする撮像素子を有する。A/D変換器104は、撮像部103が出力するアナログ信号をデジタル信号(画像データ)に変換する。
画像処理部105は、A/D変換器104から出力される画像データに対し、色補間(デモザイク)、ホワイトバランス調整、γ補正、輪郭強調、ノイズリダクション、色補正などの各種画像処理を行う。画像メモリ106は画像データを一時的に記憶する。メモリ制御部107は、画像メモリ106の読み書きを制御する。D/A変換器108は、画像データをアナログ信号に変換する。表示部109はLCDや有機ELディスプレイ等の表示装置を有し、各種GUIやライブビュー画像、記録媒体112から読み出して再生した画像などを表示する。コーデック部110は、画像メモリ106に記憶されている画像データを記録媒体に記録するために予め定められた方法で符号化したり、画像ファイルに含まれる符号化画像データを例えば表示のために復号したりする。
インタフェース(I/F)111は、例えば半導体メモリカードやカード型ハードディスクなどの着脱可能な記録媒体112を、デジタルカメラ100と機械的および電気的に接続する。システム制御部50は例えばCPUやMPUなどのプログラマブルなプロセッサであってよい。システム制御部50は、例えば不揮発性メモリ124や内蔵する不揮発性メモリに記録されたプログラムを実行して必要なブロックや回路を制御することにより、後述する光源推定処理を始めとしたデジタルカメラ100の機能を実現する。
操作部120は、ユーザがデジタルカメラ100に各種の指示を入力するためのボタンやスイッチなどをまとめて記載したものである。電源スイッチ121は操作部120に含まれるスイッチ群の1つであるが、便宜上異なるブロックで記載している。電源制御部122は、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、例えば充電池である電源部123について、装着の有無、種類、電池残量等の情報を検出する。また、電源制御部122は、電源部123に関する検出結果及びシステム制御部50の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体112を含むデジタルカメラ100の各部へ供給する。
不揮発性メモリ124は電気的に消去・記録可能な、例えばEEPROM等であってよい。不揮発性メモリ124は、各種の設定値、GUIデータをはじめ、システム制御部50がMPUやCPUである場合にはプログラムが記録される。
システムタイマ125は各種制御に用いる時間や、内蔵時計の時刻を計測する。システムメモリ126は、システム制御部50の動作用の定数や変数を保存したり、不揮発性メモリ124から読みだしたプログラム等を展開するために用いられる、例えば揮発性メモリである。
次に、デジタルカメラ100における撮影時の動作について説明する。
例えば撮像部103は、シャッタ102が開いている際にレンズ群101が撮像面に形成する被写体像を撮像素子によって光電変換し、アナログ画像信号としてA/D変換器104へ出力する。A/D変換器104は撮像部103から出力されるアナログ画像信号をデジタル画像信号(画像データ)に変換し画像処理部105に出力する。
画像処理部105は、A/D変換器104からの画像データ、又は、メモリ制御部107からの画像データに対し、色補間(デモザイク)、γ補正、輪郭強調、ノイズリダクション、色補正などの各種画像処理を行う。
また、画像処理部105では、撮影で得られた画像データを用いて輝度やコントラストなどに関する所定の演算処理を行い、得られた演算結果に基づいてシステム制御部50が測距制御、露光制御を行う。このように、本実施形態のデジタルカメラ100では、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理を行う。画像処理部105ではさらに、撮影で得られた画像データを用いて、撮影時に被写体を照明した光源色を推定し、推定した光源色に基づくオートホワイトバランス(AWB)調整も行う。光源色の推定処理の詳細については後述する。
画像処理部105から出力された画像データは、メモリ制御部107を介して画像メモリ106に書き込まれる。画像メモリ106は、撮像部103から出力された画像データや、表示部109に表示するための画像データを格納する。
また、D/A変換器108は、画像メモリ106に格納されている画像表示用のデータをアナログ信号に変換して表示部109に供給する。表示部109は、LCD等の表示装置に、D/A変換器108からのアナログ信号に応じた表示を行う。
コーデック部110は、画像メモリ106に記録された画像データをJPEGやMPEGなどの規格に基づき符号化する。システム制御部50は符号化した画像データに対して予め定められたヘッダなどを付与して画像ファイルを形成し、インタフェース111を介して記録媒体112に記録する。
なお、現在のデジタルカメラでは、撮影スタンバイ状態においては動画撮影を行い、撮影された動画を表示部109に表示し続けることにより表示部109を電子ビューファインダ(EVF)として機能させるのが一般的である。この場合、シャッタ102は開いた状態とし、撮像部103のいわゆる電子シャッタを用いて例えば30フレーム/秒の撮影を行う。
そして、操作部120に含まれるシャッタボタンが半押しされると上述のAF,AE制御が行われ、全押しされると本撮影により記録用の静止画撮影が実行され、記録媒体112に記録される。また、動画撮影ボタンなどにより動画撮影が指示された場合は、記録媒体112への動画記録を開始する。
図2は、画像処理部105の機能構成例を示すブロック図である。
図1のA/D変換器104から出力された画像データは、輝度・色信号生成部200に入力される。画像データは、撮像素子に設けられたカラーフィルタを構成する色成分の1つに対応した値を有する。一般的に用いられるベイヤー配列の原色カラーフィルタが用いられる場合、画像データは、R画素,G画素,B画素のデータから構成される。
輝度・色信号生成部200はこのような画像データに対してデモザイク処理を行い、各画素について輝度信号Yおよび色信号R,G,Bを生成する。輝度・色信号生成部200は、生成した色信号R,G,Bをホワイトバランス(WB)増幅部201へ、輝度信号Yを輝度γ処理部205へ出力する。また、輝度・色信号生成部200は、色信号R,G,Bを、画像データ(RBG)として、メモリ制御部107を介して画像メモリ106に出力する。
また、輝度・色信号生成部200で生成した色信号R,G,Bは色空間変換処理部207にも入力される。色空間変換処理部207では、色信号R,G,Bを輝度Yおよび色差(R−Y)/Y、(B−Y)/Yに変換し、画像データ(YUV)としてメモリ制御部107を介して画像メモリ106に出力する。
WB増幅部201は、後述する処理によりシステム制御部50が算出するホワイトバランスゲイン値に基づき、色信号R,G,Bにゲインを適用し、ホワイトバランスを調整する。色γ処理部202では、色信号R,G,Bにガンマ補正を行う。色差信号生成部203では、色信号R,G,Bから色差信号R−Y、B−Y信号を生成し色補正部204に出力する。色補正部204では色差信号R−Y、B−Yにゲインを適用するなどにより、色相や彩度を調整する。色補正部204は、補正後の色差信号R−Y、B−Yをメモリ制御部107を介して画像メモリ106に出力する。
一方、輝度γ処理部205では輝度信号Yに対してガンマ補正を行い、輪郭強調処理部206へ出力する。輪郭強調処理部206は輝度信号Yに対して輪郭強調処理を行い、メモリ制御部107を介して画像メモリ106に出力する。輪郭強調処理部206の出力する輝度信号Yと、色補正部204が出力する色差信号R−Y,B−Yが、コーデック部110によって符号化され、最終的に記録媒体112に記録される。
次に、本実施形態における光源推定処理について、図3のフローチャートを用いて説明する。光源推定処理は、システム制御部50が画像処理部105の輝度・色信号生成部200が画像メモリ106に出力した信号から光源色の成分を推定する処理である。
図3において、S301およびS309は、S302〜S308の処理が、対象画素をラスタスキャンしながら全画素に対して実施されることを示している。
S302でシステム制御部50は、処理対象画素が飽和していないか確認する。具体的には、システム制御部50は、RGB成分のそれぞれを所定の閾値と比較し、閾値より大きい成分があれば画素が飽和していると判断し、処理対象画素を次の画素として飽和の確認を行う。一方、RGB成分がいずれも閾値以下であれば画素は飽和していないと判断してシステム制御部50は処理をS303に進める。
S303で、分類手段としてのシステム制御部50は、処理対象画素と比較画素を複数の色グループに分類する。処理対象画素および比較画素について、図4(a)を用いて説明する。図4(a)において400は入力画像を示しており、401は入力画像400の一部を拡大した状態を模式的に示している。401におけるメッシュは画素の境界を示している。402は現在の処理における処理対象画素を示し、図3の処理は、処理対象画素402の位置を順次ラスタスキャンしながら各画素について実施される。403、404、405は処理対象画素402に対する比較画像を示しており、本実施形態では処理対象画素402から所定の方向に所定の距離(画素数)離れた位置の複数の画素を比較画素とする。
処理対象画素と比較画素とが満たすべき位置関係は予め定めておくことができるが、基本的には処理対象画素に近接した複数の位置にある画素を比較画素とする。ここでは、一例として処理対象画素を左上角の画素として有する4×4画素のブロックにおける残り3つの角の画素を比較画素としている。処理対象画素と比較画素との距離が短すぎると画素間の差が少なくなる可能性が高くなり、また距離が長すぎると同一物体に対応しない可能性が高くなる。従って、例えば数〜10画素程度の範囲で実験的に距離を定める。なお、処理対象画素と比較画素との位置関係は、処理対象画素の位置が入力画像の端部となる場合などにおいて適宜変更されてよい。
S303でシステム制御部50は、処理対象画像402および比較画素403〜405を予め定めた色グループに分類する。ここで、色グループとは、色差平面上で近い領域の色をグループ化したものである。図5に色差平面に定義した色グループの例を示す。図5の例では、色差平面を6つの領域に分割し、それぞれ色グループ1〜色グループ6に分けている。S303でシステム制御部50は、処理対象画素402および比較画素403〜405の色差値((R−Y)/Y,(B−Y)/Y)を画像メモリ106から取得し、各画素がどの色グループに属するか判定することにより、画素を色グループに分類する。なお、分類および判定方法は一例であり、他の方法を用いてもよい。例えば色相や彩度を分割してグループを定めることもできる。彩度を用いる場合、無彩色は除く。
図3にもどり、全ての比較画素403〜405に対して繰り返し実行するS304からS307の処理を説明する。以下では、まず比較画像403を例に説明する。
S304でシステム制御部50は、処理対象画素402と比較画素403が同一の色グループに属するか判定し、同一の色グループに属する場合はS305に、同一の色グループに属さない場合はS308に、処理を進める。
S305でシステム制御部50は、処理対象画素402と比較画素403との差分を算出する。即ち、システム制御部50は、処理対象画素402のRGB値(R1, G1, B1)と比較画素403のRGB値(R2, G2, B2)との色成分ごとの差分(subR, subG, subB)を算出する。
S306でシステム制御部50は、S305で算出した差分(subR, subG, subB)の大きさSが所定の閾値Tよりも大きい(T<S)か否かを判定する。差分(subR, subG, subB)の大きさSは次の式から算出する。
S=√{(subR)2+(subG)2+(subB)2}
システム制御部50は、差分の大きさSが閾値Tよりも大きい場合にはS307に、閾値T以下の場合はS308に、それぞれ処理を進める。
S307で、算出手段としてのシステム制御部50は、処理対象画素と比較画素の差分(subR, subG, subB)を、システムメモリ126に保存(加算)する。差分(subR, subG, subB)の保存形式の例を図6に示す。本実施形態では、差分の大きさSが閾値Tより大きい場合に、図6に示すように、差分(subR, subG, subB)を色成分ごとに、かつ処理対象画素が属するブロック、色グループごとに合計する。
なお、ここでのブロックとは入力画像の分割領域を指し、図4(a)は、入力画像400を水平方向4×垂直方向4に16分割した例を示している。このように、入力画像の部分領域ごとに、その部分領域に含まれる画素に対して算出された差分(subR, subG, subB)を、色グループ1〜6のそれぞれで合計し、色グループを代表する差分値(色グループ差分値)とする。また、差分(subR, subG, subB)を加算するごとに、合計値に対応付けられたカウント値を1加算する。従って、カウント値は色グループ差分値の算出に用いられた差分値の数を示す。
なお、S306、S307において、差分の大きさSが閾値Tより大きい場合だけ、差分(subR, subG, subB)を合計する理由は、光源の色特徴を示す度合が大きいと思われる差分値だけを抽出するためである。これについて図4(b)、図7を用いてより具体的に説明する。
図4(b)は鏡面反射を含む被写体の画像と、処理対象画素406および比較画素407〜409とを示している。ここで、輝度の高い比較画素407、409は鏡面反射成分を比較的多く含み、処理対象画素406および比較画素408は、ほぼ拡散反射成分のみからなる画素であるとする。
図7(a)は、画素が含む鏡面反射成分と拡散反射成分との関係の例をRGB色空間で模式的に示している。RGB空間において、ある画素のRGB値は原点からRGB値に対応する座標へのベクトルで表すことができる。ベクトル701はRGB値が物体色(拡散反射成分)のみからなる場合を、ベクトル702は、RGB値が物体色(拡散反射成分)と光源色(鏡面反射成分)とからなる場合を示すものとする。この場合、得たい光源色(鏡面反射成分)のRGB値を示すベクトル703は、ベクトル702と701との差分ベクトルとして求めることができる。なお、ベクトルの始点はいずれも座標原点であるため、実際には座標間の差として求まるRGB値が光源のRGB値となる。従って、物体色のみからなる画素のRGB値と、物体色と光源色からなる画素のRGB値との差分を、光源色のRGB値として得ることができる。図4(b)の例では、処理対象画素406と、比較画素407または409とのRGB値の差分が、光源色のRGB値の推定値として求められる。
一方、図4(b)における処理対象画素406と比較画素408はどちらも拡散反射成分が支配的であるため、これら画素のRGB値は図7(a)の例ではベクトル701に近い。例えば、図7(b)において、処理対象画素406と比較画素408のRGB値がそれぞれベクトル711、712であるとすると、RGB値の差分は非常に小さい値となる。図示しないが、同様に比較画素407と409とはどちらも拡散反射成分と鏡面反射成分を持っており、RGB値はいずれもベクトル702と似たベクトルで表されるため、やはりRGB値の差分は非常に小さい値となる。
比較画素407のRGB値が図7(b)のベクトル713で表されるとすると、処理対象画素406のRGB値に対応するベクトル711と、比較画素407のRGB値に対応するベクトル713の差分は大きくなる。この差分は光源色のRGB値に近いベクトルであるため、抽出したい差分である。
このように、画素のRGB値の差分の大きさSが小さい場合は、両者が類似した反射成分を持つ場合が多いと考えられ、差分値における光源の特性の寄与は少ないと考えられるため、本実施形態では光源色の推定には使用しない。このため前述のように閾値Tを設け、差分の大きさSが閾値Tより大きい場合だけ、差分(subR, subG, subB)をシステムメモリ126で色成分ごとに合計している。
図3に戻り、S308でシステム制御部50は、全ての比較画素403〜405についてS304〜S307の処理を行ったか確認する。図4に示した通り、本実施形態では1つの処理対象画素402に対して比較画素は403、404、405の3つある。そのため全ての比較画素に対して、属する色グループの判定(S304)および差分算出(S305)を行い、差分の大きさSが閾値Tより大きい場合に、差分(subR, subG, subB)をシステムメモリ126で合計する。
以上説明したS302〜S308の処理を、処理対象画素をラスタスキャンしながら入力画像の全画素に対して行う。
S309までの処理により、入力画像の全画素について差分値の集計が完了すると、システム制御部50は、S310〜S312でブロックごとの総合差分値を算出する。
具体的にはS311でシステム制御部50は、差分を合計したブロックごとに、総合差分値を算出する。総合差分値の算出方法に関して図6を用いて説明する。図6は前述の通り、各ブロックについて色グループごとに処理対象画素と比較画素との差分(subR, subG, subB)が色成分ごとに合計された色グループ差分値の例を示している。
S311で、推定手段としてのシステム制御部50は、各ブロックを代表する1つの差分値を総合差分値として算出する。まず、システム制御部50は、色グループ1〜色グループ6のカウント値を参照し、カウント値が最大の色グループを選択する。従って、システム制御部50は、図6のブロック1の場合は色グループ1(色1)を、ブロック2では色グループ4(色4)を選択する。次にシステム制御部50は、選択した色グループに関して、色グループ差分値(R, G, B)の各色成分を、その色グループのカウント値で除算して平均差分値を求める。このようにして得られた平均差分値(BlockSub_R, BlockSub_G, BlockSub_B)を、ブロックの総合差分値とする。総合差分値は、各ブロックで得られた鏡面反射成分(光源成分)のベクトル(光源色のRGB値)を表している。
最もカウント値が多い色グループを選択する理由は、ノイズの影響を抑制するためである。カウント値が少ない色グループはノイズによる影響を受けやすいため、ブロック内でカウント値が多く、グループ内で支配的な特徴を持つ色グループを重視することで、ノイズの影響を抑制する。
S311における総合差分値(BlockSub_R, BlockSub_G, BlockSub_B)の算出を16個全てのブロックに対して実行すると、システム制御部50は処理をS313に進める。
S313でシステム制御部50は、16個のブロックで算出した総合差分値の平均値である平均化総合差分値(aveR, aveG, aveB)を算出する。
S314でシステム制御部50は、平均化した総合差分値(aveR, aveG, aveB)からホワイトバランスゲインを算出する。ここでは、GのホワイトバランスゲインG Gainを所定の固定値とすると、RとBのホワイトバランスゲインR Gain, B Gainを、以下の式によって算出する。
R Gain = (aveG / aveR) * G gain
B Gain = (aveG / aveB) * G gain
S315でシステム制御部50は、算出したホワイトバランスゲインを、WB増幅部201(図2)に設定する。WB増幅部201は設定されたホワイトバランスゲインに基づき入力RGB値の増幅処理を行う。
以上、説明したように、本実施形態では、入力画素を複数の色グループに分類し、同一色グループに属する(類似した色を有する)近接画素間で算出した差分値から光源色を推定する構成とした。同一色グループに属する近接画素間の差分値を用いることで、同一物体の同一色部分に対応した2画素間の差分が取得できる可能性が高くなるため、鏡面反射成分(=光源成分)の抽出精度、すなわち光源色の推定精度が高くなる。
なお、本実施形態では、ブロックの総合差分値(BlockSub_R, BlockSub_G, BlockSub_B)を算出する際に、カウント値が最大の色グループにおける平均差分値を総合差分値とする構成としたが、他の値を総合差分値としてもよい。例えば、カウント値が多いほど高い重み付けをして、複数の色グループにおける平均差分値の重み付け平均値を総合差分値としてもよい。また、カウント値が多いものから所定の複数の色グループの平均差分値の平均値をブロックの総合差分値とするなど、カウント値が多い色グループの差分値を用いる任意の方法で総合差分値を算出することができる。
また、カウント値以外の条件に基づいて選択した色グループの差分値から総合差分値を生成してもよい。例えば、色グループごとの輝度の平均値や色の分散値などを利用して総合差分値を生成してもよい。例えば、グループに属する画素の平均輝度値が最も高い色グループ、グループに属する画素の色の分散値が最も小さい色グループの平均差分値を総合差分値とすることができる。もしくはカウント値と同様に、平均輝度の高さや、色の分散の小ささに応じて複数の色グループの差分値の重み付け平均値を求め、総合差分値としてもよい。
平均輝度値が高い色グループは鏡面反射を反映しやすいため、平均輝度値の高い色グループの差分値を重視して総合差分値を算出することで、光源色の推定精度を高める事ができる。また、色の分散が少ないことは物体色のばらつきが少ないことを示し、光源色の推定結果のばらつきも小さくなるため、色の分散値が小さい色グループを重視して総合差分値を算出することで、光源色の推定精度を高めることができる。
また、本実施形態では、処理対象画素と比較画素とが鏡面反射成分の抽出に適した組み合わせかどうかを、差分値の大きさSが所定の閾値Tより大きいか否かで判断したが、他の方法で判断してもよい。
例えば、処理対象画素と比較画素のベクトルのなす角θを算出し、θが所定の閾値よりも小さい場合は、鏡面反射成分の抽出が十分に行えない組み合わせであるとして差分を合計しないようにしてもよい。これについて図7(b)を用いて具体的に説明する。前述の通り、図7(b)においてベクトル701は物体色(拡散反射成分)を、ベクトル702は物体色および光源色(拡散反射成分+鏡面反射成分)を、ベクトル703は光源色(鏡面反射成分)をそれぞれ示す。また、ベクトル711は図4の処理対象画素406の画素値、ベクトル712は比較画素408の画素値、ベクトル713は比較画素407の画素値、をそれぞれ示す。
この場合、光源色の推定のために算出したいのは、前述のとおり物体色+光源色を示すベクトル713と物体色を示すベクトル711、712との差分ベクトルである。
そこで、処理対象画素406のベクトル711と比較画素408,407のベクトル712、713のなす角θを算出する。ベクトル711と712のなす角θはθ1、ベクトル711と713のなす角θはθ2とする。求めたい光源色の成分は、異なる反射光成分を持つベクトル間の差分である。そこで、画素値のベクトルのなす角θが所定の閾値よりも小さい画素間の差分は、同一又は類似反射光成分を有する画素の差分と判断し、差分を合計しないようにする。この方法によっても、差分の大きさSと閾値Tとの比較と同様に、光源成分(鏡面反射成分)の抽出精度、すなわち光源色の推定精度を向上することができる。
また、本実施形態では、入力画像を水平,垂直の両方向に4分割して16個のブロックに分割する例について説明したが、ブロックの分割方法や分割数に制限はない。例えば16以上のブロックに分割しても、画像全体を1つのブロックとして扱ってもよい。また、ブロックの大きさも同一としなくてもよい。
また、本実施形態では、入力画像をラスタスキャンし、全画素に対して差分算出処理を行う場合を例に説明したが、必ずしも全画素から算出する必要はなく、例えば、間欠的に処理対象画素をスキャンしていく構成をとってもかまわない。
また、本実施形態では、WB増幅部201におけるホワイトバランスゲインの適用前の画像信号からホワイトバランスゲインを算出したが、他の画像信号からホワイトバランスゲインを算出してもよい。例えば、例えば画像処理部105から出力されるホワイトバランス調整後の画像信号(Y,R−Y,B−Y)をRGB値に変換した後、上述と同様に画素間の差分からホワイトバランスゲインを算出する構成としてもよい。この場合、ホワイトバランス調整後の画像の微小なホワイトバランスのずれを修正することができる。
また、画素を色グループに分類するのはホワイトバランス調整後の画像を利用し、画素間の差分を算出するのはホワイトバランス調整前の画像を利用してもよい。画素を色グループに分類するには、ホワイトバランス調整後の方が撮像素子の感度などによる色の偏りが少なく容易である。一方で、画素間の差分から光源色成分(鏡面反射成分)を抽出するには、ホワイトバランス調整前の画像の方が、差分が大きくなるため誤差を低減することが可能である。そこで、仮のホワイトバランスゲインを適用した画素値に基づき画素を色グループに分類し、ホワイトバランスゲインを適用していない画素値の差分から色グループごとに画素差分値を算出することで、光源色の推定精度をより高めることができる。
また、本実施形態では、ブロックごとに総合差分値を算出し、ブロックごとの総合差分値から画像全体に対する総合差分値を算出する例について説明した。しかし、ブロックごとの総合差分値からブロックごとに光源色を推定し、ブロックごとにホワイトバランスゲインを算出してもよい。これにより、画像の領域ごとにホワイトバランスを制御することが可能となり、例えば複数の光源が混在した環境で得られた被写体に対しても、精度よくホワイトバランス調整を行うことができる。
また、本実施形態は、色グループを規定する色差として(R−Y)/Y、(B−Y)/Yの色空間を利用したが、他の色空間で色グループ、例えばL*a*b*空間で色グループを規定してもよい。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第1の実施形態は、色が類似している画素間の差分のうち、光源色の推定に適すると判断される差分から光源色を推定する方法について説明した。これに対して第2の実施形態は、色が類似しており、光源色の推定に適すると判断される輝度差がある画素間の差分から光源色を推定するものである。
本実施形態においても第1の実施形態で説明したデジタルカメラ100において実施可能であるため、デジタルカメラ100の構成についての説明は省略し、本実施形態に特有な光源色の推定処理について、図8のフローチャートを用いて説明する。
第1の実施形態と同様に、画像処理部105の輝度・色信号生成部200から出力されたRGB信号および色空間変換処理部207から出力されたY,(R−Y)/Y,(B−Y)/Y信号が画像メモリ106に記録されているものとする。
システム制御部50はこの画像メモリ106から画像信号を読み込み、以下の処理を実行して光源色を推定し、ホワイトバランスゲインを算出する。
図8において、S801およびS805は、S802〜S804の処理が、対象画素をラスタスキャンしながら全画素に対して実施されることを示している。
S802でシステム制御部50は、第1の実施形態のS302と同様にして、処理対象画素が飽和していないか確認する。画素が飽和していると判断されればシステム制御部50は処理対象画素を次の画素として飽和の確認を行う。画素は飽和していないと判断されればシステム制御部50は処理をS803に進める。
S803でシステム制御部50は、処理対象画素を色グループに分類する。処理対象画像の色グループ判定処理は第1の実施形態と同様であり、図5に示した6つの色グループのどれに対応するかを判定する。
S804でシステム制御部50は、処理対象画素が属するブロック、色グループ、輝度グループ別に処理対象画素のRGB値を積分する。ここでのブロックとは、第1の実施形態と同様に図4の400で示したように、入力画像を4×4の領域に分割したものである。また、輝度グループとは、予め定めた輝度の範囲、ここではY>235, 235≧Y>200, 200≧Y>150, 150≧Y>100, 100≧Yの5つの範囲で規定されるものとする。なお、輝度グループの規定は一例であり、グループの数や各グループに対応する輝度の上限値、下限値はこの例に限定されない。
システム制御部50は、システムメモリ126上にブロック、色グループ、輝度グループごとに画素値(RGB)を積分する評価値メモリ領域を予め確保しておく。このメモリ構成を図示したものが図9である。合計値は、画素値をRGB成分ごとに加算した合計値であり、本実施形態では、カウント値はそのブロック、色グループ、輝度グループに属する画素数を示す。
S804でシステム制御部50は、処理対象画素ごとに、画素が属するブロック、色グループ、輝度グループを判定し、該当する分類の合計RGB値に、処理対象画素のRGB成分を加算する。また、加算時に該当する分類のカウント値に1加算する。
S805までの処理により、入力画像の全画素について画素値の集計が完了すると、システム制御部50は、S806〜S809で16ブロックそれぞれについて総合差分値を算出する。
S807でシステム制御部50は、色グループごとに2つの輝度グループ間の合計値の差分を算出する。例えばシステム制御部50は、色グループごとにカウント値が所定の値(本実施形態では200とする)以上である輝度グループの中から、輝度が最も高い輝度グループと、2番目に輝度が高い輝度グループを決定する。図9の例では、ブロック1の色グループ1で画素数(カウント値)が200以上の輝度グループは輝度グループ1と輝度グループ3である。そのため輝度が最も高い輝度グループは輝度グループ1、輝度が2番目に高い輝度グループは輝度グループ3となる。
次に、システム制御部50は、選択した2つの輝度グループに対して、合計値をカウント値で除算し、平均RGB値を算出する。図9のブロック1、色グループ1の例では、システム制御部50は、輝度グループ1の平均RGB値(y1_aveR, y1_aveG, y1_aveB)と、輝度グループ3の平均RGB値(y3_aveR, y3_aveG, y3_aveB)を算出する。さらにシステム制御部50は、輝度グループ1と3の平均RGB値の成分ごとの差分値である(色1:subR, subG, subB)を算出する。
同様に、ブロック1の色グループ2についてシステム制御部50は、輝度グループ1と輝度グループ2の平均RGBの差分値である(色2:subR, subG, subB)を算出する。
このように、S807でシステム制御部50は、各ブロックの各色グループについて、最も輝度の高い輝度グループと2番目に輝度の高い輝度グループにおける画素値の合計値の差分(色XX:subR, subG, subB)を算出する。XXは色グループの番号であり、本実施形態では1〜6である。
S808でシステム制御部50は、各ブロックについて、S807で算出した2つの輝度グループ間の差分値(色XX:subR, subG, subB)の平均値を算出する。このとき、システム制御部50は、6つの差分値を単純に平均するのではなく、差分値の算出に用いられた合計画素数(カウント値の合計)が多いほど大きな重み付けをした重み付け平均値を算出する。
すなわち、システム制御部50は、最も輝度が高い輝度グループと2番目に輝度が高い輝度グループに属する合計画素数(カウント値の合計)が大きい色グループの差分値ほど大きな重みを与えて重み付け平均値を求める。図9のブロック1の例では、色グループ1や色グループ2の重みが大きくなり、色グループ3や色グループ6の重みを小さくする。またシステム制御部50は、輝度グループ間の差分値の重み付け平均値をブロックの総合差分値(BlockSub_R, BlockSub_G, BlockSub_B)として記録する。
S807における総合差分値(BlockSub_R, BlockSub_G, BlockSub_B)の算出を16個全てのブロックに対して実行すると、システム制御部50は処理をS810に進める。
S810でシステム制御部50は、16個のブロックで算出した総合差分値の平均値である平均化総合差分値(aveR, aveG, aveB)を算出する。
S811でシステム制御部50は、平均化した総合差分値(aveR, aveG, aveB)からホワイトバランスゲインを算出する。ここでは、GのホワイトバランスゲインG Gainを所定の固定値とすると、RとBのホワイトバランスゲインR Gain, B Gainを、以下の式によって算出する。
R Gain = (aveG / aveR) * G gain
B Gain = (aveG / aveB) * G gain
S812でシステム制御部50は、算出したホワイトバランスゲインを、WB増幅部201(図2)に設定する。WB増幅部201は設定されたホワイトバランスゲインに基づき入力RGB値の増幅処理を行う。
以上、説明したように、本実施形態では、入力画素を複数の色グループに分類した上、色グループ内で複数の輝度グループに分類し、色グループごとに求めた、輝度差のある画素間の差分に基づいて光源色を推定する構成とした。
このような構成により、類似色(同一色グループに属する)画素であり、かつ輝度差のある(異なる輝度グループに属する)画素の差分から光源色を推定することができる。そのため、高確率で同一物体かつ同一色における鏡面反射成分と拡散反射成分の2画素間の差分が取得でき、その結果、鏡面反射成分(=光源成分)の抽出精度、すなわち光源色の推定精度を高めることができる。
なお、本実施形態では、色グループごとに算出した総合差分値をカウント値に応じた重み付けして求めた重み付け平均値をブロックの総合差分値としたが、他の方法でブロックの総合差分値を算出してもよい。例えば、第1の実施形態と同様に、最もカウント値が多い色グループの輝度差分値をブロックの総合差分値としてもよい。
また、色グループごとの輝度の分布に応じてブロックの総合差分値を決定してもよい。輝度の分布から総合差分値を算出する例について図10を参照して説明する。図10はあるブロックにおける、色グループごとの輝度分布の例を示している。ここでは、輝度グループごとのカウント値を示している。
例えば、鏡面反射が生じている画素は輝度が高くなる。そこで、総合差分値を出す際に、輝度が高い(例えば輝度が8ビットの場合、200以上の)画素の数が多いほど大きな重みで重み付け平均を行うことができる。もしくは、輝度が高い画素数が最も多い色グループの輝度差分値を総合差分値としてもよい。この場合、図10の例では、高輝度の画素数が最も多い色グループ2の輝度差分値そのもの、あるいは色グループ2の輝度差分値に大きな重みを与えた重み付け平均値をブロックの総合差分値とする。
また、輝度の広がり度合いによって総合差分値を求めてもよい。例えば閾値以上の画素数を持つ輝度グループの数が最も多い色グループの輝度差分値を総合差分値としてもよい。図10の例では、図の点線が画素数の閾値を示している。この閾値を超す輝度グループの数が最も多い色グループは色グループ1であり、色グループ1で算出した輝度差分値をブロックの総合差分値とする。なお、閾値を超す輝度グループの数が最も多い色グループが複数ある場合は、例えばそれらの色グループで算出した輝度差分値の平均値をブロックの総合差分値とすればよい。
このように、色グループごとの輝度差分値から総合差分値を算出する際に輝度の分布を考慮することで、鏡面反射成分をより反映した総合差分値を生成することが可能となる。
また、本実施形態では、輝度が最も高い輝度グループと2番目に高い輝度グループとの差を輝度差分値として算出する方法を説明したが、他の方法を用いてもよい。例えば、画素数が閾値を越えた輝度グループにおいて、最も輝度が高い輝度グループと最も輝度が低い輝度グループとから輝度差分値を算出してもよい。もしくは、最も輝度が高いグループと、最も画素数が多い輝度グループとから輝度差分値を算出してもよい。
これにより、被写体の物体色を反映した画素(画素数が多い傾向がある)と、物体色+光源色(輝度が高い傾向がある)を反映した画素間の差分値をより高精度に抽出することが可能となる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (9)

  1. 入力画像の画素を複数の色グループのいずれかに分類する分類手段と、
    前記色グループごとに、分類された画素のうちで予め定めた位置関係を満たす画素間の画素値の色成分ごとの差分から、前記色グループを代表する差分値としての色グループ差分値算出する算出手段と、
    前記複数の色グループについて算出された前記色グループ差分値のうち、算出に用いられた差分値の数が最も多い色グループ差分値、画素の平均輝度値が最も高い色グループの色グループ差分値、画素の色の分散値が最も小さい色グループの色グループ差分値の少なくとも1つを用いて、前記入力画像の被写体を照明する光源色を推定する推定手段と、
    を有することを特徴とする画像処理装置。
  2. 前記入力画像の画素が複数の色成分を有し、前記分類手段は、前記入力画像の画素のうち、色成分の値がいずれも予め定めた閾値以下の画素について前記分類を行うことを特徴とする請求項1に記載の画像処理装置。
  3. 前記算出手段は、前記画素値の差分のうち、予め定めた閾値より大きい差分値から、前記色グループ差分値を算出することを特徴とする請求項1または2に記載の画像処理装置。
  4. 入力画像の画素を複数の色グループのいずれかに分類する第1の分類手段と、
    同一の色グループに分類された画素を輝度に応じてさらに複数の輝度グループに分類する第2の分類手段
    記色グループごとに、異なる輝度グループに分類された画素間の画素値の色成分ごとの差分から、前記色グループを代表する差分値を色グループ差分値として算出する算出手段と、
    前記複数の色グループについて算出された前記色グループ差分値のうち、算出に用いられた差分値の数が最も多い色グループ差分値、画素の平均輝度値が最も高い色グループの色グループ差分値、画素の色の分散値が最も小さい色グループの色グループ差分値の少なくとも1つを用いて、前記入力画像の被写体を照明する光源色を推定する推定手段と、
    を有することを特徴とする画像処理装置。
  5. 前記推定手段は、前記算出に用いられた差分値の数が最も多い色グループ差分値、前記画素の平均輝度値が最も高い色グループの色グループ差分値、前記画素の色の分散値が最も小さい色グループの色グループ差分値のうち1つを、算出に用いられた差分値の数で除算して得られる平均差分値を、前記光源色の推定結果とすることを特徴とする請求項1から4のいずれか1項に記載の画像処理装置。
  6. 前記推定手段によって推定された光源色に基づいて、前記入力画像にホワイトバランス調整を行う手段をさらに有することを特徴とする請求項1から5の何れか1項に記載の画像処理装置。
  7. 画像処理装置の制御方法であって、
    前記画像処理装置の分類手段が、入力画像の画素を複数の色グループのいずれかに分類する分類ステップと、
    前記画像処理装置の算出手段が、前記色グループごとに、分類された画素のうちで予め定めた位置関係を満たす画素間の画素値の色成分ごとの差分から、前記色グループを代表する差分値としての色グループ差分値算出する算出ステップと、
    前記画像処理装置の推定手段が、前記複数の色グループについて算出された前記色グループ差分値のうち、算出に用いられた差分値の数が最も多い色グループ差分値、画素の平均輝度値が最も高い色グループの色グループ差分値、画素の色の分散値が最も小さい色グループの色グループ差分値の少なくとも1つを用いて、前記入力画像の被写体を照明する光源色を推定する推定ステップと、
    を有することを特徴とする画像処理装置の制御方法。
  8. 画像処理装置の制御方法であって、
    前記画像処理装置の第1の分類手段が、入力画像の画素を複数の色グループのいずれかに分類する第1の分類ステップと、
    前記画像処理装置の第2の分類手段が、同一の色グループに分類された画素を輝度に応じてさらに複数の輝度グループに分類する第2の分類ステップと、
    前記画像処理装置の算出手段が、前記色グループごとに、異なる輝度グループに分類された画素間の画素値の色成分ごとの差分から、前記色グループを代表する差分値を色グループ差分値として算出する算出ステップと、
    前記画像処理装置の推定手段が、前記複数の色グループについて算出された前記色グループ差分値のうち、算出に用いられた差分値の数が最も多い色グループ差分値、画素の平均輝度値が最も高い色グループの色グループ差分値、画素の色の分散値が最も小さい色グループの色グループ差分値の少なくとも1つを用いて、前記入力画像の被写体を照明する光源色を推定する推定ステップと、
    を有することを特徴とする画像処理装置の制御方法。
  9. コンピュータを、請求項1乃至請求項6のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
JP2012141463A 2012-06-22 2012-06-22 画像処理装置およびその制御方法 Expired - Fee Related JP5956844B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012141463A JP5956844B2 (ja) 2012-06-22 2012-06-22 画像処理装置およびその制御方法
US13/922,552 US9129188B2 (en) 2012-06-22 2013-06-20 Image processing apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012141463A JP5956844B2 (ja) 2012-06-22 2012-06-22 画像処理装置およびその制御方法

Publications (2)

Publication Number Publication Date
JP2014007528A JP2014007528A (ja) 2014-01-16
JP5956844B2 true JP5956844B2 (ja) 2016-07-27

Family

ID=50104908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012141463A Expired - Fee Related JP5956844B2 (ja) 2012-06-22 2012-06-22 画像処理装置およびその制御方法

Country Status (1)

Country Link
JP (1) JP5956844B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6410454B2 (ja) * 2014-04-03 2018-10-24 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP6525503B2 (ja) * 2014-04-14 2019-06-05 キヤノン株式会社 画像処理装置および撮像装置
CN107635123B (zh) * 2017-10-30 2019-07-19 Oppo广东移动通信有限公司 白平衡处理方法及装置、电子装置和计算机可读存储介质
CN112101272B (zh) * 2020-09-23 2024-05-14 阿波罗智联(北京)科技有限公司 交通灯检测的方法、装置、计算机存储介质和路侧设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3631022B2 (ja) * 1997-12-25 2005-03-23 キヤノン株式会社 撮像装置および信号処理装置
JP4029206B2 (ja) * 2001-01-15 2008-01-09 株式会社ニコン 撮像装置
JP4740602B2 (ja) * 2005-01-19 2011-08-03 イーストマン コダック カンパニー オートホワイトバランス装置及びホワイトバランス調整方法
JP4849818B2 (ja) * 2005-04-14 2012-01-11 イーストマン コダック カンパニー ホワイトバランス調整装置及び色識別装置
JP4447520B2 (ja) * 2005-06-29 2010-04-07 株式会社市川ソフトラボラトリー 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
JP2014007528A (ja) 2014-01-16

Similar Documents

Publication Publication Date Title
US10397486B2 (en) Image capture apparatus and method executed by image capture apparatus
US10574961B2 (en) Image processing apparatus and image processing method thereof
JP6006543B2 (ja) 画像処理装置および画像処理方法
US9129188B2 (en) Image processing apparatus and control method thereof
US20120133797A1 (en) Imaging apparatus, imaging method and computer program
JP6833415B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US11889202B2 (en) Image processing apparatus, image processing method, and storage medium
JP5956844B2 (ja) 画像処理装置およびその制御方法
JP6410454B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2015005927A (ja) 画像処理装置およびその制御方法
JP2015211233A (ja) 画像処理装置および画像処理装置の制御方法
JP6450107B2 (ja) 画像処理装置及び画像処理方法、プログラム、記憶媒体
JP5414216B2 (ja) 撮像装置、その制御方法及びプログラム
US10489895B2 (en) Image processing apparatus, image processing method, and storage medium
JP6089476B2 (ja) 画像処理装置、撮像装置、および画像処理プログラム
JP2016213717A (ja) 画像処理装置及び画像処理方法、プログラム、記憶媒体
JP5794413B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6701299B2 (ja) 画像処理装置および画像処理方法
JP2017182668A (ja) データ処理装置、撮像装置、及びデータ処理方法
JP6601062B2 (ja) 撮像制御装置、撮像制御方法及びプログラム
JP6616674B2 (ja) 画像処理装置および方法、および撮像装置
JP6011146B2 (ja) 画像処理装置、撮像装置、および画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160520

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160617

R151 Written notification of patent or utility model registration

Ref document number: 5956844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees