画像処理装置、制御方法、およびプログラム
【課題】画像のカラーバランスを補正する際に、撮影時の照明環境下における雰囲気を忠実に再現するためには、人間の視覚特性を考慮してその場での“見え”を再現する必要がある。
【解決手段】画像に含まれるオブジェクトを検出する検出手段と、前記検出手段により検出された前記オブジェクトの色値を解析する解析手段と、前記解析手段により解析された色値に基づき、前記画像の撮影時光源を推定する光源推定手段と、前記光源推定手段により推定された前記撮影時光源と前記解析手段により解析された色値とに基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する第1の色変換を施す第1の色変換手段と、前記第1の色変換手段により前記第1の色変換を施した画像に対して、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率を用いて第2の色変換を施す第2の色変換手段とを有する。
【解決手段】画像に含まれるオブジェクトを検出する検出手段と、前記検出手段により検出された前記オブジェクトの色値を解析する解析手段と、前記解析手段により解析された色値に基づき、前記画像の撮影時光源を推定する光源推定手段と、前記光源推定手段により推定された前記撮影時光源と前記解析手段により解析された色値とに基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する第1の色変換を施す第1の色変換手段と、前記第1の色変換手段により前記第1の色変換を施した画像に対して、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率を用いて第2の色変換を施す第2の色変換手段とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力されたデジタル画像データに対して、撮影時の光源の色温度を推定し、該色温度に従って画像のカラーバランスを補正する画像処理装置、制御方法、およびプログラムに関する。
【背景技術】
【0002】
従来、デジタルカメラで撮影された画像データ、あるいはアナログカメラで撮影されたフィルムを光学的にスキャンして得られた画像データに対して、撮影時光源を推定し、カラーバランス補正を行う方法が提案されている。
【0003】
また、特許文献1では、予めカメラの代表的な分光分布に基づくグレーと肌の色の黒体軌跡を保持しておく。カメラのカラーバランス補正の逆変換を行う意味で、各画素のRGB成分に対して様々な係数を乗じ、変換後の画素について前記黒体軌跡近傍に存在する画素数を評価することで撮影時光源の推定を行う。光源を推定した後は、変換後の画像を所定の光源下における色に変換することが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−152772号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
以上説明したようなカラーバランス補正方法には、以下のような課題が存在する。上記の特許文献は光源推定が行われた後に、予め定められた所定の光源下の色に変換しているのみである。これでは撮影時に撮影者がその場で見ていた“見え”を再現していることにならない。
【0006】
人間の目には、色順応という機能が備わっている。例えば、昼光下(色温度5500ケルビン付近)にしばらくいた後、白熱灯の部屋(色温度3000ケルビン付近)に入ると、入った瞬間は白い物体がオレンジがかって見える。しかし、しばらくするとその物体は無彩色に近い状態で見えてくる。これが色順応であり、照明光に色が付いていた場合に、人間の目における3種類の錐状体(L,M,S)が、異なった感度調整を行って、昼光下での見え方を維持しようと働くことから生じる機能である。
【0007】
一方で、色順応は、完全には動作しないことが良く知られている。すなわち、白熱灯の部屋に長時間いても、上述したような白い物体が、無彩色に近い状態には見えるが、完全に無彩色な状態になることはない。これを、不完全順応と呼ぶ。
【0008】
このように、人間の目はその照明光源下において、不完全順応した状態でモノを見ていることになる。そのため、その場での“見え”を再現しなければ、カラーバランス補正後の画像は、実際に人間の目が見えている映像とは差異が生じ、結果として違和感を生じさせる。上記問題を解決するには、撮影時光源の推定と、該光源下における人間の視覚特性を考慮したカラーバランス補正が望まれるが、これまではそのような提案がなされていなかった。
【課題を解決するための手段】
【0009】
本発明は、上記課題を解決するために、以下の手段を有する。カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置であって、前記画像に含まれるオブジェクトを検出する検出手段と、前記検出手段により検出された前記オブジェクトの色値を解析する解析手段と、前記解析手段により解析された色値に基づき、前記画像の撮影時光源を推定する光源推定手段と、前記光源推定手段により推定された前記撮影時光源と前記解析手段により解析された色値とに基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する第1の色変換を施す第1の色変換手段と、前記第1の色変換手段により前記第1の色変換を施した画像に対して、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率を用いて第2の色変換を施す第2の色変換手段とを有する。
【0010】
また、本発明は別の形態として、以下の手段を有する。カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置であって、前記画像に含まれるオブジェクトを検出する検出手段と、前記検出手段により検出された前記オブジェクトの色値を解析する解析手段と、前記解析手段により解析された色値に基づき、前記画像の撮影時光源を推定する光源推定手段と、前記光源推定手段により推定された前記撮影時光源と前記解析手段により解析された色値とに基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する際に用いる第1の色変換パラメータを算出する第1の算出手段と、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率により色変換を行う際に用いる第2の色変換パラメータを算出する第2の算出手段と、前記第1の色変換パラメータおよび前記第2の色変換パラメータを用いて、多次元LUTを生成する生成手段と、前記多次元LUTを用い、前記画像の色値の補間を行う補間手段とを有する。
【発明の効果】
【0011】
本発明により、入力画像の撮影時光源を推定し、該光源下における人間の視覚特性に基づいたカラーバランス補正を実現することができる。特に人間の視覚特性のうち、色順応の不完全性をも考慮した色変換を行うことが可能である。この結果、従来技術に比べ、撮影時の雰囲気をより忠実に再現した写真画像の表示、あるいは出力物を得ることが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明の画像処理方法を実行するためのハードウェア構成。
【図2】第1の実施形態に係る機能ブロック図。
【図3】第1の実施形態に係るヒストグラム算出部のフロー図。
【図4】ハイライト輝度値を決定する処理の説明図。
【図5】第1の実施形態に係る光源推定処理のフロー図。
【図6】本発明の光源推定部におけるグレー軸の設定例を示す図。
【図7】本発明の光源推定部におけるグレー・肌色マップ作成処理のフロー図。
【図8】本発明の肌色画素を特定する処理の説明図。
【図9】第1の実施形態に係る第2の色変換部のフロー図。
【図10】各種光源下における白点情報の保持例を示す図。
【図11】第2の色変換前後での変換量の説明図。
【図12】第3の実施形態に係る第1の色変換部のフロー図。
【図13】第3の実施形態に係る肌色の軌跡およびシフトベクトルの説明図。
【図14】第3の実施形態に係る色シフト処理を説明するための図。
【図15】第4の実施形態に係る順応率の設定例を示す図。
【図16】第5の実施形態に係る機能ブロック図。
【図17】第5の実施形態に係る3DLUT生成部のフロー図。
【発明を実施するための形態】
【0013】
<第1の実施形態>
以下、本発明における第1の実施形態について説明する。なお、以下の記載は画像処理装置の本体内部の画像処理を想定して説明を行うが、これはあくまで1つの実施形態を例として示したものであり、本発明は以下の実施に限定されるものではない。
【0014】
(ハードウェア構成の説明)
図1に本発明の画像処理方法を実施可能なハードウェア構成100を示す。なお、図1は本実施形態における例であり、本発明は図1の構成に限定されることはない。
【0015】
図1において、本実施形態を適用可能なプリンタはCPU101、RAM102、ROM103を有し、各機能ブロックがシステムバス112に接続されている。本実施形態の動作を実行するプログラムコードはROM103に格納され、動作時にRAM102に読み込まれ、CPU101によって実行される。
【0016】
また、HDDやフラッシュメモリ等の2次記憶装置104は、マウス108やキーボード109が、インタフェース105を介して接続されている。また、プリンタ110がインタフェース106を介して、また、補正前後の画像を評価するために表示するモニタ111が、ビデオカード107を介して接続されている。
【0017】
(全体処理フローの説明)
以下では、図2を用いて、本実施形態における画像処理の全体構成について説明する。入力画像200は、本実施形態において、例えばデジタルカメラで撮影されたデジタル画像、あるいはアナログカメラで撮影されたフィルムを光学的にスキャンして得られたデジタル画像などが想定される。入力画像200のデータフォーマットについて、本実施形態では特に限定しないが、本実施形態においては説明を簡単にするために、入力画像200の色空間はsRGB(standard RGB)で、各画素値が8bitのRGB成分値で構成されているものとする。
【0018】
入力画像200はオブジェクト検出部201に入力され、同部において、画像中から注目被写体(注目オブジェクト)を検出する。以降、本実施形態では注目するオブジェクトとして人物の顔を例に挙げて説明を行うが、本実施形態はこれに限定されるものではない。オブジェクトの検出が行われると、次にオブジェクト色算出部202において、検出されたオブジェクトの色を算出する。算出したオブジェクト色情報は光源推定部204に入力される。
【0019】
一方、入力画像200はHL色算出部203に入力され、同部において、画像のハイライト色(以降、HL色)を算出する。これによりハイライト色算出手段を実現する。HL色とは、画像の最も明るい領域(画素)の色である。該HL色も、オブジェクト色と同様に光源推定部204に入力される。
【0020】
次に、光源推定部204において、入力されたHL色とオブジェクト色とを用いて、撮影時光源の推定を行う。本実施形態においては、撮影時光源の推定方法について特に限定するものではなく、例えば、従来例で述べたような引用文献1に開示されているもの等の中からいずれを用いても構わない。
【0021】
光源推定部204にて撮影時の光源推定が行われると、その結果として、例えば撮影時光源の色温度値が決定され、決定された色温度値は第1の色変換部205に入力される。通常、デジタルカメラ(撮像装置)はカラーバランス補正機能を有し、そのようなデジタルカメラで撮影された画像は、カメラ内部で独自のカラーバランス補正が施されている。そのため、第1の色変換部205にて、画像に対するデジタルカメラによるカラーバランス補正をキャンセルし、カラーバランス補正前の状態に入力画像200を変換する。
【0022】
第1の色変換後の画像は第2の色変換部206に入力され、同部において、第2の色変換処理が施される。第2の色変換部206では、人間の視覚特性を考慮し、第1の色変換部205によりカメラ内部のカラーバランス補正をキャンセルした状態の画像に対して、撮影時光源下における“見え”に近づけるように画像の色変換を行う。第2の色変換部206による第2の色変換後の画像は出力画像として、2次記憶装置104に記憶されたり、モニタ111に表示されたり、プリンタ110で印字媒体上に印字される。以上が、本実施形態における処理のブロック図の説明である。以下、図2に示す各部の動作について、フローチャートを参照しながら処理の詳細を説明する。
【0023】
(各部の詳細:オブジェクト検出部、オブジェクト色算出部)
オブジェクト検出部201において、入力画像200中の主要被写体を検出する処理が行われる。オブジェクトである主要被写体の主なものとしては、人物の顔が挙げられる。人物の顔検出手法としては、すでに様々な手法が提案されている。
【0024】
例えば、特開2002−183731によれば、入力画像から目領域を検出し、目領域周辺を顔候補領域とする。検出された顔候補領域に対して、画素毎の輝度勾配、および輝度勾配の重みを算出し、これらの値を、あらかじめ設定されている理想的な顔基準画像の勾配、および勾配の重みと比較する。その際に、各勾配間の平均角度が所定の閾値以下であった場合、入力画像は顔領域を有すると判定する方法が記載されている。その他にも、特開2003−30667によれば、まず画像中から人物の皮膚の色である肌色領域を検出し、同領域内において、人間の虹彩色画素を検出することにより、目の位置を検出することが可能であるとしている。
【0025】
さらに、特開平8−63597によれば、複数の顔の形状をしたテンプレートと画像とのマッチング度を計算する。該マッチング度が最も高いテンプレートを選択し、最も高かったマッチング度が所定の閾値以上であれば、選択されたテンプレート内の領域を顔候補領域とする。同テンプレートを用いるこことで、目の位置を検出することが可能であるとしている。
【0026】
さらに、特開2000−105829によれば、まず、鼻画像パターンをテンプレートとし、画像全体、あるいは画像中の指定された領域を走査し最もマッチする位置を鼻の位置として出力する。次に、画像の鼻の位置よりも上の領域を目が存在する領域と考え、目画像パターンをテンプレートとして目存在領域を走査してマッチングをとり、ある閾値よりもマッチ度が大きい画素の集合である目存在候補位置集合を求める。さらに、目存在候補位置集合に含まれる連続した領域をクラスタとして分割し、各クラスタと鼻位置との距離を算出する。その距離が最も短くなるクラスタを目が存在するクラスタと決定することで、器官位置の検出が可能であるとしている。
【0027】
その他、顔および器官位置を検出する方法としては、特開平8−77334、特開2001−216515、特開平5−197793、特開平11−53525、特開2000−132688、特開2000−235648、特開平11−250267がある。さらには特登録2541688など、数多くの手法が提案されている。本実施形態では特に手法を限定はしないが、いずれの方法についても適用可能である。
【0028】
オブジェクト検出部201によるオブジェクト検出が成功すると、主要被写体の位置を示す座標を得ることができる。該座標は、顔領域を包含するような矩形座標であっても構わないし、中心と半径で表現されるような円形座標であっても構わない。得られた座標情報は、オブジェクト色算出部202に入力され、同部において、主要被写体領域の色の解析を行う。色の解析とは、一般的には、検出した主要被写体領域内の平均色を求めることを意味している。平均色は、例えば、画像を構成している各画素がRGB値で表現されている場合には、該主要被写体領域内に含まれる画素の各RGBの平均値を算出することで求めることができる。
【0029】
本実施形態においては便宜上、上記方法により求めたオブジェクト色を、(ObjR,ObjG,ObjB)として取り扱う。また、上記オブジェクト色をYCbCr色空間に変換した(ObjY,ObjCb,ObjCr)も同様にオブジェクト色として取り扱う。
【0030】
オブジェクト色を取得する別の方法としては、該主要被写体領域内に含まれる画素の各RGB値を輝度・色差成分に変換し、色差成分の平均値を求めてもよい。ここで輝度色差空間は、例えばYC1C2空間、あるいはCIE La*b*空間等のいずれであっても構わない。また、オブジェクト検出部201において、主要被写体が複数検出された場合には、被写体領域ごとに算出した平均色をさらに平均化してもよい。あるいは、補正効果を出すためには、予め設定する理想的なオブジェクト色から最も遠方に存在するオブジェクト色を基準とすることも考えられる。逆に、補正効果を弱めるためには、理想オブジェクト色に最も近い主要被写体を基準としてもよい。
【0031】
(各部の詳細:画像HL色の算出)
図2に示すHL色算出部203では、入力画像200のHL色を算出する。HL色の算出方法についても様々な方法が提案されており、本実施形態はいずれの方法を用いても構わない。本実施形態においては、図3に示すフローに基づいて、HL色を算出する方法について説明する。
【0032】
図3において、まずS301にて、入力画像200を縮小して画像解析用の縮小画像を生成する。縮小画像はVGAサイズ(640×480画素)相当が好ましい。近年の撮像装置は1000万画素超の解像度を持つことが多く、高解像度画像に対して解析処理を行うことは処理速度の低下を招く恐れがある。本実施形態では縮小画像に対して画像解析を行うことで、処理速度の低下を抑制する。
【0033】
次に、S302〜S305において、縮小画像のヒストグラムを算出する。ヒストグラムは、S302において縮小画像中の各画素のRGB値を、公知の公式によって輝度色差成分に変換する。ここでは変換例としてYCbCr値に変換する。次にS303において、輝度成分Yについて、度数ヒストグラムを算出する。ここでヒストグラムは、0に初期化されたHistY配列に対して、HistYのY番目の要素をインクリメントすることで算出する。
【0034】
次に、S304において、輝度毎に色差Cb,Cr値の平均値を算出するために、各値が0に初期化された配列MeanCb,MeanCrに対して、それぞれ以下の式による演算を行う。
【0035】
[式1]
MeanCb[Y]+=Cb
MeanCr[Y]+=Cr
縮小画像の全ての画素についてS302〜S305の処理が終了すると、輝度ヒストグラム配列HistYは、図4に示すような度数分布を格納している。そこで、S306では、HistYを用いてハイライト輝度値HLYを決定する。本実施形態におけるHLYは、HistY[Y]の値を輝度の小さい方から累積してゆき、累積度数が縮小画像全体の99%に到達した時点の輝度値Yを、ハイライト輝度値HLYとして決定する。なお、HLYを決定するための累積度数割合は、99%に限定されるものではなく、画像の特性などに応じて実験的に定義しても良い。
【0036】
次にS307において、決定されたHLYを用いて、HL領域の色HLCb,HLCr値を算出する。同値の算出は、以下の式を用いて行う。
【0037】
[式2]
HLCb=MeanCb[HLY]÷HistY[HLY]
HLCr=MeanCr[HLY]÷HistY[HLY]
ここで算出されたHLCb,HLCr値は、光源推定部204に入力される。
【0038】
(各部の詳細:光源推定)
ここでは、光源推定部204の詳細について、図5のフローチャートを用いて説明する。本実施形態では、入力画像から撮影時光源の種類、あるいは色温度を推定する方法を、特に限定するものではない。ここでは一例として、参考文献2に開示されている技術を応用して処理の説明を行う。
【0039】
図5において、まずS501で入力画像200におけるグレー軸を決定する。グレー軸の決定は、HL色算出部203にて得られたハイライト領域の色であるHLCb,HLCrを用いて、図6(a)(b)に示すように決定する。
【0040】
グレー軸は、図6(a)に示すようにYCbCr色空間において、色平面Cb−Crに対して垂直な直線601に設定する。あるいは、図6(b)に示すように、Y=255においては、(Cb=HLCb,Cr=HLCr)で、Y=0においては(Cb=0,Cr=0)となるような直線701をグレー軸としてもよい。通常、画像の暗部は、撮像装置の受光素子まで光が届いていないため暗くなるので、光源の影響を受けにくいと考えられる。このことから、撮像装置の特性によっては、図6(b)のようにグレー軸を設定した方が、光源推定精度が向上する場合がある。
【0041】
次に、S502において、入力画像200中のオブジェクト色画素とグレー画素を抽出し、マップを作成する。マップの作成は、図7のフローに従って行う。なお、光源推定を行う対象画像は、入力画像200でもよいが、上述したように入力画像200は高解像度であるため、ここでは、ヒストグラム算出のために生成した縮小画像を用いて光源推定を行う場合を想定する。これにより、光源推定の処理時間を短縮でき、さらに1度縮小した画像を異なる処理で再利用することで、再度縮小画像を生成する時間を省くことができる。
【0042】
まずS801において、グレー・肌色マップMAP[y][x]の各要素を0に初期化する。次にS802において、処理対象である縮小画像の注目画素について、RGB成分値をYCbCr値へ変換する。次にS803において、図6(a)(b)でYCbCr空間に設定したグレー軸を参照し、注目画素のYCbCr値とグレー軸との距離を、公知の点と直線の距離の求め方に従って算出する。算出した距離が予め定められた閾値と比較して小さければ、グレー軸近傍画素となり(S803にてYES)、S804において、縮小画像と同じ幅と高さで用意された2次元配列MAP[y][x]における注目画素位置と対応付けられたメンバを1に設定する。
【0043】
グレー軸近傍とは判定されなかった場合(S803にてNO)には、S805において、注目画素が肌色近傍であるか否かの判定を行う。本実施形態では、YCbCr空間内に、オブジェクト色算出部202で算出したオブジェクト色情報(ObjY,ObjCb,ObjCr)を基に、図8で示すような円柱状のオブジェクト色領域901を設定する。
【0044】
図8において、オブジェクト色領域901は、Cb−Cr色平面においてオブジェクト色(ObjCb,ObjCr)を中心とする半径ObjRの円柱となっている。ここで、ObjRは予め定められた値である。また、円柱の高さを示すObjYmax,ObjYminは、例えば、以下の式によって求めることができる。
【0045】
[式3]
ObjYmax=ObjY+Δh
ObjYmin=ObjY−Δh
ここで、Δhは、予め定められた定数であり、ObjYは、オブジェクト色算出部202で算出されたオブジェクト色の輝度成分である。
【0046】
S805では、注目画素がオブジェクト色領域901に含まれる場合に注目画素はオブジェクト色近傍に位置すると判定し(S805にてYES)、S806において、MAP[y][x]の注目画素位置と対応付けられたメンバを2に設定する。その後、S807にて全ての画素に対して処理が終了したか否かを判定し、終了するまでS802〜S807の処理を繰り返す。生成されたマップにおいて、“1”を有する画素はグレー画素として特定され、“2”を有する画素は肌色画素として特定される。
【0047】
なお、本実施形態においては、簡略化のため肌色領域は図8に示すような円柱形で説明したが、本実施形態はこれに限定されるものではない。例えば、算出したオブジェクト色を中心とする半径ObjRの球形やその他類似形状であったとしても、本実施形態の範疇に含まれることは言うまでもない。
【0048】
上述したグレー・肌色画素のマップが生成できた場合には、次に図5のS503〜S507において、撮影時光源の推定を行う。光源推定の方法については本実施形態では特に限定しないが、ここでは、特許文献1に記載された方法を用いて説明する。特許文献1によれば、通常カメラのカラーバランス補正はRGB各成分にそれぞれ調整用のゲインを乗じることにより行われる。このような調整によって得られた画像データは、カメラの分光分布特性から得られた画像データと異なる挙動を示す。
【0049】
具体的には、各種光源下において、カメラの分光特性から算出したグレーと肌色の軌跡を黒体軌跡とする。上記カメラ内部において、カラーバランス補正前のグレーと肌色の分布は、黒体軌跡上に分布している。しかし、カメラ内部でカラーバランス補正を行うためにRGB各成分に所定ゲインを乗じると、その結果得られた画像のグレーと肌色の分布は、黒体軌跡には適合しない分布となる。
【0050】
このような特性を利用し、上記カラーバランス補正が施された後の画像に対して、画素毎に上記カラーバランス補正の逆変換の意味で様々な係数を乗じる。逆変換後の画像の各画素を黒体軌跡平面にプロットし、グレーおよび肌色黒体軌跡近傍の画素数をカウントする。カウントされた画素数が最大となる場合が、カラーバランス補正前の撮影時の状態であり、グレーおよび肌色が最も多く分布する黒体軌跡の位置に基づいて、撮影時光源を決定する(より詳細には、特許文献1参照)。
【0051】
以下では、特許文献1を参照しながら、S503〜S507の処理の説明を行う。まずS503では、上述したように、カメラ内部のカラーバランス補正の逆変換を行う意味で、縮小画像の注目画素におけるRGB各成分に様々な逆変換係数r,g,bを乗じ、R’G’B’を得る。
【0052】
[式4]
R’=R×r
G’=G×g
B’=B×b
ただし、本実施形態において、特許文献1と異なり上述したグレー・肌色画素マップを参照し、S503において注目画素がグレーあるいは肌色画素であると判定された場合にのみ、上記逆変換を行う。これにより、本実施形態の方法ではグレー・肌色とは無関係の画素を排除して光源推定を行うことで、処理対象画像中の全画素を用いている特許文献1に比べ、光源推定精度の向上や光源推定に要する処理時間を短縮することが可能となる。
【0053】
その後、S504において、R’G’B’成分を所定色成分に変換し、所定色平面において予め定義してある黒体軌跡との距離を算出する。該距離が所定値以下である場合には、逆変換後のR’G’B’値が黒体軌跡近傍に位置すると判定し、画素数のカウントアップを行う。
【0054】
S503〜S504の処理を、縮小画像の全画素について行うことで、ある一つの逆変換係数セット(r,g,b)値において、黒体軌跡近傍の画素数を算出することができる(S505)。更にS503〜S505の処理を、予め用意してある様々な逆変換セットに対して、繰り返し行う(S506)。
【0055】
その結果、S507において黒体軌跡近傍の画素数が最大となる逆変換セット(r_max,g_max,b_max)を算出し記憶する。さらに、決定された逆変換セットにおける黒体軌跡上の肌色・グレー画素の分布に応じて、撮影光源の色温度Kを決定する(詳細は特許文献1参照)。ここでKの単位はケルビンであり、通常2500〜10000程度の値を保持することになる。撮影時光源が昼光下の場合、5500ケルビン前後、白熱灯などのオレンジ光源の場合には3000ケルビン前後、曇りの日や日陰においては8000ケルビン前後の値となることが多い。以上が、光源推定部204の説明である。
(各部の詳細:第1の色変換)
次に、図2における第1の色変換部205について説明する。第1の色変換部205では、入力画像200に対し、カメラ内部で施されたカラーバランスをキャンセルすることを目的とした色変換を行う。本実施形態では、記憶してある逆変換セット(r_max,g_max,b_max)を入力画像200中の各画素のRGB成分値にそれぞれ乗じることで、第1の色変換を実行することができる。なお、第1の色変換部205では、カメラ内部で施されたカラーバランスを弱める色変換を行ってもよい。
【0056】
(各部の詳細:第2の色変換)
次に図2の第2の色変換部206において、第2の色変換を行う。第2の色変換の目的は、第1の色変換部205により第1の色変換を行うことで、カメラ内部のカラーバランス補正をキャンセルまたは弱めた画像に対して、上述した推定した撮影光源の色温度に基づいて人間の視覚特性を考慮したカラーバランス補正を行うことにある。なお、ここでの“弱めた”とは、適用したカラーバランス補正の一部のみをキャンセルする場合であっても良いし、カラーバランス補正によって変換された値全体を元の値に近づけるようにする場合であっても良い。
【0057】
このようなカラーバランス補正の一例として、ここでは、CIECAM02を用いて説明を行う。CIECAM02とは、CIEが2002年に制定したColor Apperance Modelである。CIECAM02では、入力パラメータとして、観察条件に関するもの(c,Nc,Fや観察光源の白点XYZ値等)の他に、人間の視覚特性である色順応に対応した順応率Dを設定することができる。
【0058】
これらのパラメータを用いて、観察条件Aに相当するパラメータを設定して、入力画像200を、XYZ色空間から観察条件非依存な色空間JChに変換する。該JCh色空間から、さらに別の観察条件Bを指定し、XYZに変換することにより、双方の観察条件下で同じ“見え”の再現を行うことが可能となる。CIECAM02については様々な文献で開示されている。例えば、CIE Publication,TC8−01,A Color Appearance Model for Colour Management Systems等である。そのため、詳細については上記文献等を参照することとし、本実施形態においては概要説明に留める。
【0059】
本実施形態においては、CIECAM02を利用し、撮影時光源下での“見え”を、所定の観察条件下(例えば、モニタや印字物)で再現する方法について説明する。図9は、第2の色変換部206の処理フローを示している。以下では、フローに沿って説明を行う。
【0060】
図9において、まずS1001にて光源推定部204で推定した撮影時光源の色温度に従って、各種パラメータを算出する。主なパラメータとして、撮影光源下での白点XYZ値および、順応率Dinが存在する。まず白点XYZ値については、例えば予め図10に示すように、主要な色温度におけるYCbCr値を記憶しておき、推定した色温度に応じて補間演算によって求めることができる。例えば、推定色温度が3750ケルビンであった場合、2000ケルビンと5500ケルビンの中間であるため、白点YCbCr値は、(255,−15,15)となる。
【0061】
求められた白点YCbCr値は、公知の変換式によってsRGB色空間を経由してXYZ値に変換することができる。また、S1001では、撮影時光源における順応率Dinも決定する。順応率Dinは予め設定した固定値(例えば、Din=0.8など)により設定してもよい。
【0062】
S1001では推定した撮影時光源下におけるパラメータの算出し、次のS1002では、入力画像200を観察する観察環境におけるパラメータを決定する。観察環境とは、例えばモニタ111が挙げられる。よく知られているようにsRGBモニタは白点がD65に設定されている。すなわち、YCbCr空間であれば、(255,0,0)に相当する。この値を、同様にXYZ値に変換することで、観察環境におけるXYZを得ることができる。また、観察環境における順応率DoutもS1001と同様に、予め設定した固定値などで決定することができる。
【0063】
なお、本実施形態において説明を簡略化するため、YCbCr空間で各光源下における白点座標を保持したが、本実施形態はこれに限定されるものではない。例えば、XYZ空間やsRGB空間、あるいはCIE La*b*空間等で代表座標を保持してもよい。また、白点座標は、代表座標を保持するのではなく、所定色空間における数式によって表現することも可能である。本実施形態はそのいずれを用いても構わない。
【0064】
次に、図9のS1003において、入力画像の注目画素の各RGB値(本実施形態ではsRGB色空間)を公知の変換式により、XYZ色空間に変換する。次にS1004にて、S1001で算出した撮影時光源下でのパラメータ(白点XYZ,Din)を用い、XYZをCIECAM02の公知の文献に記載された変換式によりJCh色空間に変換する。
【0065】
次にS1005にて、S1002で算出した観察環境におけるパラメータ(白点XYZ,Dout)を用い、JChをCIECAM02の公知の文献に記載された変換式によりX’Y’Z’値に変換する。そして、S1006において、X’Y’Z’値を公知の変換式を用いて、sRGB色空間に変換し、補正後の画素値R’G’B’値を得る。S1003〜S1006の処理を、注目画素位置を移動させながら、入力画像全体に対して施す(S1007)。これにより、撮影時に見ていた“見え”に近い状態を、観察環境であるモニタ111上に再現することが可能となる。
【0066】
(処理結果)
上記のような処理を用いた結果得られた画像の特徴を、図11を用いて説明する。図11は、横軸が色差、縦軸が輝度を示しており、白丸は第2の色変換部206に入力された、色かぶりを起こしている画像のグレー軸を示し、黒丸は第2の色変換後の画素値を示している。白丸は色かぶりを生じているため、輝度軸からずれた位置に存在している。
【0067】
上記の白丸で示した画素に対して、第2の色変換を施すと、人間の順応機能により、白丸軸は輝度軸方向、つまり無彩色方向に補正されるが、その補正量(変化量1201)は明部領域(輝度が高い)ほど大きく、暗部領域(輝度が低い)になるに従って小さくなる。
【0068】
すなわち、入力画素値のうち、同一色相かつ同一彩度の複数画素に着目すると、明るい画素の方が暗い画素よりも、第2の色変換による変化量が大きくなる。これは、明部の方が暗部よりも順応率が高くなるという人間の視覚特性に基づくもので、このような処理を行うことで、従来よりも撮影時の“見え”に近い画像再現が可能となる。
【0069】
また、順応率Din,Doutを1.0未満に設定することで、人間の視覚特性の中でも重要な不完全順応状態を考慮することができ、従来よりも撮影時の“見え”に近い画像再現が可能となる。
【0070】
<第2の実施形態>
第1の実施形態では、光源推定部204における逆変換方法(S503)について、縮小画像中のグレーもしくは肌色と判定された画素のRGB成分値に逆変換係数を乗じる方法のみを説明した。しかし、この方法では、カメラのカラーバランス補正の逆変換は可能だが、その他の画像処理要素を逆変換することには限界がある。
【0071】
例えば、カメラ内部では、上述したようなカラーバランス補正のほかに、明るさの制御も含まれる。このような制御は、RGB成分に所定ゲインを加えることによって行われる場合がある。このような明るさ制御を含めたカメラ内部の画像処理を逆変換するためには、第1の実施形態にて示した式4に代わって、以下の式のように乗算の要素のほかに、加算要素を加えた逆変換式を定義することが考えられる。
【0072】
[式5]
R’=R×r+r1
G’=G×g+g1
B’=B×b+b1
上記において、逆変換係数は(r,g,b,r1,g1,b1)の6種類になる。これらの係数を所定間隔で変化させながら、S503の逆変換を行うことにより、第1の実施形態に比べて、光源推定精度を向上させることが可能となる。なお、ここでの所定間隔とは、r,g,bが0.5〜1.5を範囲として0.1間隔で指定され、r1,g1,b1が−10〜+10を範囲として1間隔で指定されることが例として挙げられる。しかし、本実施形態はこれに限定されるものではない。
【0073】
また、カメラ内部の画像処理においては、RGB成分に対して非線形要素を用いた画像処理が施される場合がある。このような場合には、式5に代わって以下の式を用いて逆変換を行う場合が考えられる。
【0074】
[式6]
R’=R×r^r2
G’=G×g^g2
B’=B×b^b2
上記においてr2,g2,b2は階乗の係数になる。式6において、逆変換係数は(r,g,b,r2,g2,b2)の6種類になる。これらの係数を所定間隔で変化させながら、S503の逆変換を行うことにより、第1の実施形態に比べて、光源推定精度を向上させることが可能となる。
【0075】
<第3の実施形態>
第1の実施形態では、第1の色変換部205による第1の色変換は、逆変換処理によって求めた係数(r_max,g_max,b_max)を用い、入力画像200に対して係数を乗じる方法について説明した。本実施形態では、第1の色変換を、オブジェクト色算出部202において検出したオブジェクト色を用いて行う方法について説明する。なお、本実施形態においても説明を簡略化するために、処理対象とするオブジェクトは人物の顔領域として、説明を行う。
【0076】
図12は本実施形態における第1の色変換のフローチャートを示している。図12では、まずS1301において、光源推定部204で推定した色温度を用いて、推定色温度におけるオブジェクト色(ここでは人物の肌色)を算出する。
【0077】
図13(a)の軌跡1401は、Cb−Cr色平面において、照明色温度を変化させた際の人物肌色の軌跡を示している。図13(a)中において各点における数値は色温度を示している。色温度が5500ケルビンの時は適正な肌色位置、色温度が低い場合にはオレンジ色が強くなり、色温度が高い場合には、青色が強くなるような軌跡となっている。S1301では同軌跡を参照し、推定色温度値に相当する肌色を算出する。
【0078】
推定色温度値の算出方法については、図13(a)のようなCb−Cr平面における肌色の軌跡を1次式の表現により保持しておき、推定色温度値と保持する1次式を用いて算出してもよい。あるいは、Cb−Cr平面におけるいくつかの代表的な色温度の肌色値を予め保持しておき、推定色温度値に応じて代表値を用いて補間演算により求めても構わない。
【0079】
次にS1302〜S1305により、入力画像の各画素に対して、本実施形態における第1の色変換処理を行う。本実施形態における第1の色変換処理では、S1302にて、注目画素のRGB値(PixR,PixG,PixB)をYCbCr値(PixY,PixCb,PixCr)に変換する。
【0080】
その後、S1303において、YCbCr色空間による色シフト処理を行う。色シフト処理は、図13(b)に記載するシフトベクトル1501に基づいて行う。図13(b)において、黒丸はS1301で算出した推定色温度におけるオブジェクト色を、白丸はオブジェクト色算出部202で算出した画像中のオブジェクト色である。カメラの内部で何らかのカラーバランス補正が施されたため、元々黒丸であったオブジェクト色が、入力画像200中においては白丸に移動している。この白丸を黒丸に戻すために、本実施形態では注目画素毎に、YCbCr色空間において、以下の式により色シフト処理を行う。
【0081】
[式7]
PixCb’=PixCb+(EstCb−ObjCb)
PixCr’=PixCr+(EstCr−ObjCr)
式7を用いることで、図14(a)に示すようにYCbCr空間において、注目画素(白丸)を全て同一方向にシフトすることができる。なお図14(a)において、縦軸は輝度、横軸は色差を示している。
【0082】
S1304にて、色シフト後の画素値(PixY,PixCb’,PixCr’)を再度RGB空間に変換し、変換後のRGB値(PixR’,PixG’,PixB’)を第1の色変換後の画素値として出力する。なお、色シフトは、他にも以下の式によって行うことも可能である。
【0083】
[式8]
PixCb’=PixCb+(EstCb−ObjCb)×W
PixCr’=PixCr+(EstCr−ObjCr)×W
ここでWは、
PixY<ObjYの場合 W=PixY/ObjY
それ以外の場合 W=(255−PixY)/(255−ObjY)
式8は、注目画素の輝度値PixYとオブジェクトの輝度値ObjYを比較し、輝度が0あるいは255に近づくに従って、シフト量を減衰してゆくことを意味している。この場合のシフトベクトルを図示すると、図14(b)のようになる。図14(b)において、シフトベクトル1701〜1703は、ObjYの位置を基準として輝度が低く、あるいは高くなるに従って、シフトベクトルの長さが短くなっている。このようなシフトベクトルを用いて第1の色変換処理を行ったとしても、本実施形態の範疇に含まれる。
【0084】
上記説明したように、本実施形態においては、第1の色変換処理を、所定の輝度色差空間における色シフト処理で実現することを説明した。第1の実施形態で説明した逆変換セット(r_max,g_max,b_max)を乗じる方法だと、注目画素のRGB値が0に近い場合と255に近い場合とで、変換前後の差分に差が生じ、その結果正確な色変換が行えない場合がある。本実施形態における色シフト方法であれば、色空間内での変動量が一定以下に保証できるため、上記問題を解決することができる。
【0085】
<第4の実施形態>
第1の実施形態では、第2の色変換部206における順応率Din,Doutは、所定の固定値を設定することとしていたが、本実施形態では、特に撮影時光源の順応率Dinを、推定した撮影時色温度を用いて変化させることについて説明する。
【0086】
図15(a)は、本実施形態における順応率Dinの設定方法を説明するための図である。本実施形態においては、光源推定部204で推定された撮影時色温度に応じて、推定色温度が2800ケルビンと低い場合には0.6、推定色温度が10000Kと高い場合には0.8と、推定色温度が低い方の順応率を若干低めに設定する。よく知られているように、色温度が低い光源の例としては室内の白熱灯や夕焼け・朝焼けが挙げられる。一方で色温度が高い光源の例としては、曇りの日や、晴天の日陰などが挙げられる。
【0087】
上記のような一般的な例においては、色温度が高いシーンにおいては、人物の肌色などが無彩色に近い状態となり好ましくないため、順応率を高く設定して、カラーバランス補正をより積極的に行うことが望ましい。その結果、無彩色に近い人物の肌も健康的で適正な肌色に補正されることになる。
【0088】
一方で、色温度が低いシーンにおいては、夕焼けシーンや室内でのパーティシーンである場合が多く、このようなシーンにおいては、必ずしも積極的なカラーバランス補正が好ましいとは言えない。例えば、夕焼けシーンにおいて、色温度が高い場合と同等の順応率を設定してカラーバランス補正を行うと、昼間のような画像となり、撮影時の雰囲気を大きく損ねる恐れがある。
【0089】
従って、図15(a)に示すように、肌色の色温度である5500ケルビンまでは色温度が高くなるに従って順応率を高くして補正効果を高め、色温度が低くなるに従って順応率を弱める。同様に、5500ケルビンを超えた場合には、より色温度が高くなるに従って順応率Dinを減少させる。この方法で撮影時の雰囲気を保つことにより、それぞれのシーンに適合したより好ましい画像再現を行うことが可能となる。
【0090】
ところで、Dinの設定方法については、図15(a)に示した変化率を示す1次式を保持しておき、推定色温度を用いて1次式を用いて算出してもよいし、主要な色温度のDin値のみを記憶しておき、推定色温度に応じて補間演算により求めてもよい。
【0091】
また、変化率を示す式は1次式に限らず、図15(b)に示すような2次曲線、3次曲線やその他の非線形カーブに基づいて算出したとしても、本実施形態の範疇に含まれることは言うまでもない。この場合においても色温度が5500ケルビンの場合をピークとした順応率Dinを求める。
【0092】
<第5の実施形態>
第1の実施形態においては、図2で示すように、入力画像200に対して、まず第1の色変換を施した後、第2の色変換を施す処理例について説明した。しかし、このように異なる処理を直列に接続し、それぞれの処理において各画素単位に複雑な演算処理を行うと、多くの処理時間を要してしまう。
【0093】
そこで本実施形態においては、図16に示すようなブロック図構成によって処理を行うことを提案する。すなわち、第1および第2の色変換に必要なパラメータを予め算出し、それらを反映させた3次元ルックアップテーブル(以降、3DLUT)を算出し、補間演算を用いて3DLUTを入力画像に適用する方法である。図16における各処理部2001〜2004の処理については、第1の実施形態と同様のため、ここでの説明は省略する。
【0094】
第1の色変換パラメータ算出部2005において、第1の実施形態で説明したものと同様に、カメラ内部のWB補正をキャンセルする意味の画像処理パラメータを決定する。これにより第1の算出手段を実現する。第1の実施形態によれば、光源推定部2004で算出した黒体軌跡近傍のグレー・肌色画素が最大となる逆変換セット(r_max,g_max,b_max)を、そのまま画像処理パラメータとして決定し、3DLUT生成部2007に入力される。
【0095】
次に、第2の色変換パラメータ算出部2006において、第1の実施形態で説明したものと同様に、第2の色変換に必要なパラメータを決定する。これにより第2の算出手段を実現する。第2の色変換に必要なパラメータとして、撮影時光源に関するパラメータ(推定色温度における白点XYZ値、および順応率Din)および観察環境に関するパラメータ(観察環境における白点XYZ値、および順応率Dout)が存在する。これらのパラメータは第1の実施形態で述べたものと同様の方法により算出し、3DLUT生成部2007に入力される。
【0096】
(3DLUT生成)
次に、3DLUT生成部2007の処理について、図17のフローチャートに従って説明を行う。なお、本実施形態では簡略化のために、sRGB空間におけるRGB各成分が17グリッド(総グリッド数は17^3=4913点)の3DLUTを生成するものとするが、本実施形態はこれに限定するものではない。
【0097】
図17において、まず始めに、S2101において各グリッドの初期化を行う。すなわち、RGB各値を0にセットする。次に、S2102において、第1の色変換パラメータ2110を用いて第1の色変換を行う。具体的には、以下の式により、第1の色変換後の値R’G’B’値を算出する。
【0098】
[式9]
R’=R×r_max
G’=G×g_max
B’=B×b_max
次に、S2103において、求めたR’G’B’値を公知の変換式を用いてXYZ値に変換し、さらにS2104において、第1の実施形態に説明したようにCIECAM02を用いてJCh空間に変換する。そして、さらにS2105でXYZ空間に逆変換する。この際に用いられるのが、第2の色変換パラメータ2111である。
【0099】
次にS2106において、第1の実施形態と同様に、第2の色変換後のXYZ値をsRGB色空間に変換し、現在注目しているグリッドの出力値として、3DLUTに格納する。
【0100】
上記処理を、RGB全てのグリッドについて行い、各グリッドの出力値を3DLUTに格納する。具体的には、S2102〜S2106の処理の後、未処理のグリッドがある場合(S2107にてNO)には、S2108において、B成分の値を16だけインクリメントする。B成分値が255を超えたら、G成分値を16だけインクリメントし、B成分値を0にリセットして処理を継続する。さらにG成分値が255を超えたら、R成分値を16だけインクリメントし、G,B成分値を0にリセットする。
【0101】
17グリッドで3DLUTの場合、上記処理を4913回(=17^3)繰り返し、RGB成分値が全て255を超えた時点で、全てのグリッドに対する出力値の算出が終了したとして(S2107にてYES)、処理を終了する。
【0102】
上記処理により生成された3DLUTは、補間部2008に入力され、補間部2008にて、同じく入力された入力画像200に対して公知の補間方法(詳細省略)を用いて、補正後の画像を得ることができる。補間方法については、四面体補間、立方体補間様々な方法が存在するが、本実施形態においては、それらのうちいずれを用いても構わない。
【0103】
上述したように、本実施形態では、sRGB色空間の限られたグリッド位置に対して、予め算出した第1および第2の色変換パラメータを用いて出力値を算出し、それを3DLUTとして保持しておく。3DLUTを用いて補間演算により入力画像200を変換することで、特に入力画像解像度が大きい場合に、画素ごとに複雑な色変換処理を行うよりも、遥かに短い処理時間で出力画像を得ることが可能となる。
【0104】
なお、本実施形態の第1の色変換パラメータ算出部2005は、第3の実施形態で説明したようなシフトベクトルを用いて行ってもよい。すなわち、シフトベクトル値を3DLUT生成部2007に入力し、3DLUT生成部2007のS2102において、第3の実施形態と同様の方法により色シフト処理を実現することも可能である。
【0105】
また、本実施形態においては簡略化のため、RGB3成分を前提とした3DLUTを生成する処理について説明したが、本実施形態はこれに限定されるものではない。例えば、入力画像フォーマットをCMYK4成分とすると、本実施形態を参照すれば、4次元LUTを用いて処理することも可能である。すなわち、多次元LUTを用いて処理を行った場合においても、本実施形態の範疇に含まれることは言うまでもない。
【0106】
(その他の応用例)
入力画像はデジタルカメラで撮影された画像でなくてもよい。デジタルカメラ等から入力されたデジタル画像を、表示用、あるいはプリント用の解像度に変換したものを入力画像として、上記処理を行ってもよい。
【0107】
また、入力画像や処理の作業色空間をsRGB色空間として説明を行ったが、本実施形態はこれに限定されるものではない。AdobeRGB(米Adobe社の商標)色空間を作業色空間としてもよいし、CIE La*b*等その他の色空間を用いても構わない。
【0108】
また、オブジェクト検出として、人物の顔領域を用いて説明を行ったが、本実施形態はこれに限定されるものではない。例えば、動物検出や、建物、その他のオブジェクトを用いたとしても本実施形態の範疇に含まれる。
【0109】
また、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、プリンタ、複写機、ファクシミリ装置等)に適用しても良い。
【0110】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、入力されたデジタル画像データに対して、撮影時の光源の色温度を推定し、該色温度に従って画像のカラーバランスを補正する画像処理装置、制御方法、およびプログラムに関する。
【背景技術】
【0002】
従来、デジタルカメラで撮影された画像データ、あるいはアナログカメラで撮影されたフィルムを光学的にスキャンして得られた画像データに対して、撮影時光源を推定し、カラーバランス補正を行う方法が提案されている。
【0003】
また、特許文献1では、予めカメラの代表的な分光分布に基づくグレーと肌の色の黒体軌跡を保持しておく。カメラのカラーバランス補正の逆変換を行う意味で、各画素のRGB成分に対して様々な係数を乗じ、変換後の画素について前記黒体軌跡近傍に存在する画素数を評価することで撮影時光源の推定を行う。光源を推定した後は、変換後の画像を所定の光源下における色に変換することが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−152772号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
以上説明したようなカラーバランス補正方法には、以下のような課題が存在する。上記の特許文献は光源推定が行われた後に、予め定められた所定の光源下の色に変換しているのみである。これでは撮影時に撮影者がその場で見ていた“見え”を再現していることにならない。
【0006】
人間の目には、色順応という機能が備わっている。例えば、昼光下(色温度5500ケルビン付近)にしばらくいた後、白熱灯の部屋(色温度3000ケルビン付近)に入ると、入った瞬間は白い物体がオレンジがかって見える。しかし、しばらくするとその物体は無彩色に近い状態で見えてくる。これが色順応であり、照明光に色が付いていた場合に、人間の目における3種類の錐状体(L,M,S)が、異なった感度調整を行って、昼光下での見え方を維持しようと働くことから生じる機能である。
【0007】
一方で、色順応は、完全には動作しないことが良く知られている。すなわち、白熱灯の部屋に長時間いても、上述したような白い物体が、無彩色に近い状態には見えるが、完全に無彩色な状態になることはない。これを、不完全順応と呼ぶ。
【0008】
このように、人間の目はその照明光源下において、不完全順応した状態でモノを見ていることになる。そのため、その場での“見え”を再現しなければ、カラーバランス補正後の画像は、実際に人間の目が見えている映像とは差異が生じ、結果として違和感を生じさせる。上記問題を解決するには、撮影時光源の推定と、該光源下における人間の視覚特性を考慮したカラーバランス補正が望まれるが、これまではそのような提案がなされていなかった。
【課題を解決するための手段】
【0009】
本発明は、上記課題を解決するために、以下の手段を有する。カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置であって、前記画像に含まれるオブジェクトを検出する検出手段と、前記検出手段により検出された前記オブジェクトの色値を解析する解析手段と、前記解析手段により解析された色値に基づき、前記画像の撮影時光源を推定する光源推定手段と、前記光源推定手段により推定された前記撮影時光源と前記解析手段により解析された色値とに基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する第1の色変換を施す第1の色変換手段と、前記第1の色変換手段により前記第1の色変換を施した画像に対して、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率を用いて第2の色変換を施す第2の色変換手段とを有する。
【0010】
また、本発明は別の形態として、以下の手段を有する。カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置であって、前記画像に含まれるオブジェクトを検出する検出手段と、前記検出手段により検出された前記オブジェクトの色値を解析する解析手段と、前記解析手段により解析された色値に基づき、前記画像の撮影時光源を推定する光源推定手段と、前記光源推定手段により推定された前記撮影時光源と前記解析手段により解析された色値とに基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する際に用いる第1の色変換パラメータを算出する第1の算出手段と、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率により色変換を行う際に用いる第2の色変換パラメータを算出する第2の算出手段と、前記第1の色変換パラメータおよび前記第2の色変換パラメータを用いて、多次元LUTを生成する生成手段と、前記多次元LUTを用い、前記画像の色値の補間を行う補間手段とを有する。
【発明の効果】
【0011】
本発明により、入力画像の撮影時光源を推定し、該光源下における人間の視覚特性に基づいたカラーバランス補正を実現することができる。特に人間の視覚特性のうち、色順応の不完全性をも考慮した色変換を行うことが可能である。この結果、従来技術に比べ、撮影時の雰囲気をより忠実に再現した写真画像の表示、あるいは出力物を得ることが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明の画像処理方法を実行するためのハードウェア構成。
【図2】第1の実施形態に係る機能ブロック図。
【図3】第1の実施形態に係るヒストグラム算出部のフロー図。
【図4】ハイライト輝度値を決定する処理の説明図。
【図5】第1の実施形態に係る光源推定処理のフロー図。
【図6】本発明の光源推定部におけるグレー軸の設定例を示す図。
【図7】本発明の光源推定部におけるグレー・肌色マップ作成処理のフロー図。
【図8】本発明の肌色画素を特定する処理の説明図。
【図9】第1の実施形態に係る第2の色変換部のフロー図。
【図10】各種光源下における白点情報の保持例を示す図。
【図11】第2の色変換前後での変換量の説明図。
【図12】第3の実施形態に係る第1の色変換部のフロー図。
【図13】第3の実施形態に係る肌色の軌跡およびシフトベクトルの説明図。
【図14】第3の実施形態に係る色シフト処理を説明するための図。
【図15】第4の実施形態に係る順応率の設定例を示す図。
【図16】第5の実施形態に係る機能ブロック図。
【図17】第5の実施形態に係る3DLUT生成部のフロー図。
【発明を実施するための形態】
【0013】
<第1の実施形態>
以下、本発明における第1の実施形態について説明する。なお、以下の記載は画像処理装置の本体内部の画像処理を想定して説明を行うが、これはあくまで1つの実施形態を例として示したものであり、本発明は以下の実施に限定されるものではない。
【0014】
(ハードウェア構成の説明)
図1に本発明の画像処理方法を実施可能なハードウェア構成100を示す。なお、図1は本実施形態における例であり、本発明は図1の構成に限定されることはない。
【0015】
図1において、本実施形態を適用可能なプリンタはCPU101、RAM102、ROM103を有し、各機能ブロックがシステムバス112に接続されている。本実施形態の動作を実行するプログラムコードはROM103に格納され、動作時にRAM102に読み込まれ、CPU101によって実行される。
【0016】
また、HDDやフラッシュメモリ等の2次記憶装置104は、マウス108やキーボード109が、インタフェース105を介して接続されている。また、プリンタ110がインタフェース106を介して、また、補正前後の画像を評価するために表示するモニタ111が、ビデオカード107を介して接続されている。
【0017】
(全体処理フローの説明)
以下では、図2を用いて、本実施形態における画像処理の全体構成について説明する。入力画像200は、本実施形態において、例えばデジタルカメラで撮影されたデジタル画像、あるいはアナログカメラで撮影されたフィルムを光学的にスキャンして得られたデジタル画像などが想定される。入力画像200のデータフォーマットについて、本実施形態では特に限定しないが、本実施形態においては説明を簡単にするために、入力画像200の色空間はsRGB(standard RGB)で、各画素値が8bitのRGB成分値で構成されているものとする。
【0018】
入力画像200はオブジェクト検出部201に入力され、同部において、画像中から注目被写体(注目オブジェクト)を検出する。以降、本実施形態では注目するオブジェクトとして人物の顔を例に挙げて説明を行うが、本実施形態はこれに限定されるものではない。オブジェクトの検出が行われると、次にオブジェクト色算出部202において、検出されたオブジェクトの色を算出する。算出したオブジェクト色情報は光源推定部204に入力される。
【0019】
一方、入力画像200はHL色算出部203に入力され、同部において、画像のハイライト色(以降、HL色)を算出する。これによりハイライト色算出手段を実現する。HL色とは、画像の最も明るい領域(画素)の色である。該HL色も、オブジェクト色と同様に光源推定部204に入力される。
【0020】
次に、光源推定部204において、入力されたHL色とオブジェクト色とを用いて、撮影時光源の推定を行う。本実施形態においては、撮影時光源の推定方法について特に限定するものではなく、例えば、従来例で述べたような引用文献1に開示されているもの等の中からいずれを用いても構わない。
【0021】
光源推定部204にて撮影時の光源推定が行われると、その結果として、例えば撮影時光源の色温度値が決定され、決定された色温度値は第1の色変換部205に入力される。通常、デジタルカメラ(撮像装置)はカラーバランス補正機能を有し、そのようなデジタルカメラで撮影された画像は、カメラ内部で独自のカラーバランス補正が施されている。そのため、第1の色変換部205にて、画像に対するデジタルカメラによるカラーバランス補正をキャンセルし、カラーバランス補正前の状態に入力画像200を変換する。
【0022】
第1の色変換後の画像は第2の色変換部206に入力され、同部において、第2の色変換処理が施される。第2の色変換部206では、人間の視覚特性を考慮し、第1の色変換部205によりカメラ内部のカラーバランス補正をキャンセルした状態の画像に対して、撮影時光源下における“見え”に近づけるように画像の色変換を行う。第2の色変換部206による第2の色変換後の画像は出力画像として、2次記憶装置104に記憶されたり、モニタ111に表示されたり、プリンタ110で印字媒体上に印字される。以上が、本実施形態における処理のブロック図の説明である。以下、図2に示す各部の動作について、フローチャートを参照しながら処理の詳細を説明する。
【0023】
(各部の詳細:オブジェクト検出部、オブジェクト色算出部)
オブジェクト検出部201において、入力画像200中の主要被写体を検出する処理が行われる。オブジェクトである主要被写体の主なものとしては、人物の顔が挙げられる。人物の顔検出手法としては、すでに様々な手法が提案されている。
【0024】
例えば、特開2002−183731によれば、入力画像から目領域を検出し、目領域周辺を顔候補領域とする。検出された顔候補領域に対して、画素毎の輝度勾配、および輝度勾配の重みを算出し、これらの値を、あらかじめ設定されている理想的な顔基準画像の勾配、および勾配の重みと比較する。その際に、各勾配間の平均角度が所定の閾値以下であった場合、入力画像は顔領域を有すると判定する方法が記載されている。その他にも、特開2003−30667によれば、まず画像中から人物の皮膚の色である肌色領域を検出し、同領域内において、人間の虹彩色画素を検出することにより、目の位置を検出することが可能であるとしている。
【0025】
さらに、特開平8−63597によれば、複数の顔の形状をしたテンプレートと画像とのマッチング度を計算する。該マッチング度が最も高いテンプレートを選択し、最も高かったマッチング度が所定の閾値以上であれば、選択されたテンプレート内の領域を顔候補領域とする。同テンプレートを用いるこことで、目の位置を検出することが可能であるとしている。
【0026】
さらに、特開2000−105829によれば、まず、鼻画像パターンをテンプレートとし、画像全体、あるいは画像中の指定された領域を走査し最もマッチする位置を鼻の位置として出力する。次に、画像の鼻の位置よりも上の領域を目が存在する領域と考え、目画像パターンをテンプレートとして目存在領域を走査してマッチングをとり、ある閾値よりもマッチ度が大きい画素の集合である目存在候補位置集合を求める。さらに、目存在候補位置集合に含まれる連続した領域をクラスタとして分割し、各クラスタと鼻位置との距離を算出する。その距離が最も短くなるクラスタを目が存在するクラスタと決定することで、器官位置の検出が可能であるとしている。
【0027】
その他、顔および器官位置を検出する方法としては、特開平8−77334、特開2001−216515、特開平5−197793、特開平11−53525、特開2000−132688、特開2000−235648、特開平11−250267がある。さらには特登録2541688など、数多くの手法が提案されている。本実施形態では特に手法を限定はしないが、いずれの方法についても適用可能である。
【0028】
オブジェクト検出部201によるオブジェクト検出が成功すると、主要被写体の位置を示す座標を得ることができる。該座標は、顔領域を包含するような矩形座標であっても構わないし、中心と半径で表現されるような円形座標であっても構わない。得られた座標情報は、オブジェクト色算出部202に入力され、同部において、主要被写体領域の色の解析を行う。色の解析とは、一般的には、検出した主要被写体領域内の平均色を求めることを意味している。平均色は、例えば、画像を構成している各画素がRGB値で表現されている場合には、該主要被写体領域内に含まれる画素の各RGBの平均値を算出することで求めることができる。
【0029】
本実施形態においては便宜上、上記方法により求めたオブジェクト色を、(ObjR,ObjG,ObjB)として取り扱う。また、上記オブジェクト色をYCbCr色空間に変換した(ObjY,ObjCb,ObjCr)も同様にオブジェクト色として取り扱う。
【0030】
オブジェクト色を取得する別の方法としては、該主要被写体領域内に含まれる画素の各RGB値を輝度・色差成分に変換し、色差成分の平均値を求めてもよい。ここで輝度色差空間は、例えばYC1C2空間、あるいはCIE La*b*空間等のいずれであっても構わない。また、オブジェクト検出部201において、主要被写体が複数検出された場合には、被写体領域ごとに算出した平均色をさらに平均化してもよい。あるいは、補正効果を出すためには、予め設定する理想的なオブジェクト色から最も遠方に存在するオブジェクト色を基準とすることも考えられる。逆に、補正効果を弱めるためには、理想オブジェクト色に最も近い主要被写体を基準としてもよい。
【0031】
(各部の詳細:画像HL色の算出)
図2に示すHL色算出部203では、入力画像200のHL色を算出する。HL色の算出方法についても様々な方法が提案されており、本実施形態はいずれの方法を用いても構わない。本実施形態においては、図3に示すフローに基づいて、HL色を算出する方法について説明する。
【0032】
図3において、まずS301にて、入力画像200を縮小して画像解析用の縮小画像を生成する。縮小画像はVGAサイズ(640×480画素)相当が好ましい。近年の撮像装置は1000万画素超の解像度を持つことが多く、高解像度画像に対して解析処理を行うことは処理速度の低下を招く恐れがある。本実施形態では縮小画像に対して画像解析を行うことで、処理速度の低下を抑制する。
【0033】
次に、S302〜S305において、縮小画像のヒストグラムを算出する。ヒストグラムは、S302において縮小画像中の各画素のRGB値を、公知の公式によって輝度色差成分に変換する。ここでは変換例としてYCbCr値に変換する。次にS303において、輝度成分Yについて、度数ヒストグラムを算出する。ここでヒストグラムは、0に初期化されたHistY配列に対して、HistYのY番目の要素をインクリメントすることで算出する。
【0034】
次に、S304において、輝度毎に色差Cb,Cr値の平均値を算出するために、各値が0に初期化された配列MeanCb,MeanCrに対して、それぞれ以下の式による演算を行う。
【0035】
[式1]
MeanCb[Y]+=Cb
MeanCr[Y]+=Cr
縮小画像の全ての画素についてS302〜S305の処理が終了すると、輝度ヒストグラム配列HistYは、図4に示すような度数分布を格納している。そこで、S306では、HistYを用いてハイライト輝度値HLYを決定する。本実施形態におけるHLYは、HistY[Y]の値を輝度の小さい方から累積してゆき、累積度数が縮小画像全体の99%に到達した時点の輝度値Yを、ハイライト輝度値HLYとして決定する。なお、HLYを決定するための累積度数割合は、99%に限定されるものではなく、画像の特性などに応じて実験的に定義しても良い。
【0036】
次にS307において、決定されたHLYを用いて、HL領域の色HLCb,HLCr値を算出する。同値の算出は、以下の式を用いて行う。
【0037】
[式2]
HLCb=MeanCb[HLY]÷HistY[HLY]
HLCr=MeanCr[HLY]÷HistY[HLY]
ここで算出されたHLCb,HLCr値は、光源推定部204に入力される。
【0038】
(各部の詳細:光源推定)
ここでは、光源推定部204の詳細について、図5のフローチャートを用いて説明する。本実施形態では、入力画像から撮影時光源の種類、あるいは色温度を推定する方法を、特に限定するものではない。ここでは一例として、参考文献2に開示されている技術を応用して処理の説明を行う。
【0039】
図5において、まずS501で入力画像200におけるグレー軸を決定する。グレー軸の決定は、HL色算出部203にて得られたハイライト領域の色であるHLCb,HLCrを用いて、図6(a)(b)に示すように決定する。
【0040】
グレー軸は、図6(a)に示すようにYCbCr色空間において、色平面Cb−Crに対して垂直な直線601に設定する。あるいは、図6(b)に示すように、Y=255においては、(Cb=HLCb,Cr=HLCr)で、Y=0においては(Cb=0,Cr=0)となるような直線701をグレー軸としてもよい。通常、画像の暗部は、撮像装置の受光素子まで光が届いていないため暗くなるので、光源の影響を受けにくいと考えられる。このことから、撮像装置の特性によっては、図6(b)のようにグレー軸を設定した方が、光源推定精度が向上する場合がある。
【0041】
次に、S502において、入力画像200中のオブジェクト色画素とグレー画素を抽出し、マップを作成する。マップの作成は、図7のフローに従って行う。なお、光源推定を行う対象画像は、入力画像200でもよいが、上述したように入力画像200は高解像度であるため、ここでは、ヒストグラム算出のために生成した縮小画像を用いて光源推定を行う場合を想定する。これにより、光源推定の処理時間を短縮でき、さらに1度縮小した画像を異なる処理で再利用することで、再度縮小画像を生成する時間を省くことができる。
【0042】
まずS801において、グレー・肌色マップMAP[y][x]の各要素を0に初期化する。次にS802において、処理対象である縮小画像の注目画素について、RGB成分値をYCbCr値へ変換する。次にS803において、図6(a)(b)でYCbCr空間に設定したグレー軸を参照し、注目画素のYCbCr値とグレー軸との距離を、公知の点と直線の距離の求め方に従って算出する。算出した距離が予め定められた閾値と比較して小さければ、グレー軸近傍画素となり(S803にてYES)、S804において、縮小画像と同じ幅と高さで用意された2次元配列MAP[y][x]における注目画素位置と対応付けられたメンバを1に設定する。
【0043】
グレー軸近傍とは判定されなかった場合(S803にてNO)には、S805において、注目画素が肌色近傍であるか否かの判定を行う。本実施形態では、YCbCr空間内に、オブジェクト色算出部202で算出したオブジェクト色情報(ObjY,ObjCb,ObjCr)を基に、図8で示すような円柱状のオブジェクト色領域901を設定する。
【0044】
図8において、オブジェクト色領域901は、Cb−Cr色平面においてオブジェクト色(ObjCb,ObjCr)を中心とする半径ObjRの円柱となっている。ここで、ObjRは予め定められた値である。また、円柱の高さを示すObjYmax,ObjYminは、例えば、以下の式によって求めることができる。
【0045】
[式3]
ObjYmax=ObjY+Δh
ObjYmin=ObjY−Δh
ここで、Δhは、予め定められた定数であり、ObjYは、オブジェクト色算出部202で算出されたオブジェクト色の輝度成分である。
【0046】
S805では、注目画素がオブジェクト色領域901に含まれる場合に注目画素はオブジェクト色近傍に位置すると判定し(S805にてYES)、S806において、MAP[y][x]の注目画素位置と対応付けられたメンバを2に設定する。その後、S807にて全ての画素に対して処理が終了したか否かを判定し、終了するまでS802〜S807の処理を繰り返す。生成されたマップにおいて、“1”を有する画素はグレー画素として特定され、“2”を有する画素は肌色画素として特定される。
【0047】
なお、本実施形態においては、簡略化のため肌色領域は図8に示すような円柱形で説明したが、本実施形態はこれに限定されるものではない。例えば、算出したオブジェクト色を中心とする半径ObjRの球形やその他類似形状であったとしても、本実施形態の範疇に含まれることは言うまでもない。
【0048】
上述したグレー・肌色画素のマップが生成できた場合には、次に図5のS503〜S507において、撮影時光源の推定を行う。光源推定の方法については本実施形態では特に限定しないが、ここでは、特許文献1に記載された方法を用いて説明する。特許文献1によれば、通常カメラのカラーバランス補正はRGB各成分にそれぞれ調整用のゲインを乗じることにより行われる。このような調整によって得られた画像データは、カメラの分光分布特性から得られた画像データと異なる挙動を示す。
【0049】
具体的には、各種光源下において、カメラの分光特性から算出したグレーと肌色の軌跡を黒体軌跡とする。上記カメラ内部において、カラーバランス補正前のグレーと肌色の分布は、黒体軌跡上に分布している。しかし、カメラ内部でカラーバランス補正を行うためにRGB各成分に所定ゲインを乗じると、その結果得られた画像のグレーと肌色の分布は、黒体軌跡には適合しない分布となる。
【0050】
このような特性を利用し、上記カラーバランス補正が施された後の画像に対して、画素毎に上記カラーバランス補正の逆変換の意味で様々な係数を乗じる。逆変換後の画像の各画素を黒体軌跡平面にプロットし、グレーおよび肌色黒体軌跡近傍の画素数をカウントする。カウントされた画素数が最大となる場合が、カラーバランス補正前の撮影時の状態であり、グレーおよび肌色が最も多く分布する黒体軌跡の位置に基づいて、撮影時光源を決定する(より詳細には、特許文献1参照)。
【0051】
以下では、特許文献1を参照しながら、S503〜S507の処理の説明を行う。まずS503では、上述したように、カメラ内部のカラーバランス補正の逆変換を行う意味で、縮小画像の注目画素におけるRGB各成分に様々な逆変換係数r,g,bを乗じ、R’G’B’を得る。
【0052】
[式4]
R’=R×r
G’=G×g
B’=B×b
ただし、本実施形態において、特許文献1と異なり上述したグレー・肌色画素マップを参照し、S503において注目画素がグレーあるいは肌色画素であると判定された場合にのみ、上記逆変換を行う。これにより、本実施形態の方法ではグレー・肌色とは無関係の画素を排除して光源推定を行うことで、処理対象画像中の全画素を用いている特許文献1に比べ、光源推定精度の向上や光源推定に要する処理時間を短縮することが可能となる。
【0053】
その後、S504において、R’G’B’成分を所定色成分に変換し、所定色平面において予め定義してある黒体軌跡との距離を算出する。該距離が所定値以下である場合には、逆変換後のR’G’B’値が黒体軌跡近傍に位置すると判定し、画素数のカウントアップを行う。
【0054】
S503〜S504の処理を、縮小画像の全画素について行うことで、ある一つの逆変換係数セット(r,g,b)値において、黒体軌跡近傍の画素数を算出することができる(S505)。更にS503〜S505の処理を、予め用意してある様々な逆変換セットに対して、繰り返し行う(S506)。
【0055】
その結果、S507において黒体軌跡近傍の画素数が最大となる逆変換セット(r_max,g_max,b_max)を算出し記憶する。さらに、決定された逆変換セットにおける黒体軌跡上の肌色・グレー画素の分布に応じて、撮影光源の色温度Kを決定する(詳細は特許文献1参照)。ここでKの単位はケルビンであり、通常2500〜10000程度の値を保持することになる。撮影時光源が昼光下の場合、5500ケルビン前後、白熱灯などのオレンジ光源の場合には3000ケルビン前後、曇りの日や日陰においては8000ケルビン前後の値となることが多い。以上が、光源推定部204の説明である。
(各部の詳細:第1の色変換)
次に、図2における第1の色変換部205について説明する。第1の色変換部205では、入力画像200に対し、カメラ内部で施されたカラーバランスをキャンセルすることを目的とした色変換を行う。本実施形態では、記憶してある逆変換セット(r_max,g_max,b_max)を入力画像200中の各画素のRGB成分値にそれぞれ乗じることで、第1の色変換を実行することができる。なお、第1の色変換部205では、カメラ内部で施されたカラーバランスを弱める色変換を行ってもよい。
【0056】
(各部の詳細:第2の色変換)
次に図2の第2の色変換部206において、第2の色変換を行う。第2の色変換の目的は、第1の色変換部205により第1の色変換を行うことで、カメラ内部のカラーバランス補正をキャンセルまたは弱めた画像に対して、上述した推定した撮影光源の色温度に基づいて人間の視覚特性を考慮したカラーバランス補正を行うことにある。なお、ここでの“弱めた”とは、適用したカラーバランス補正の一部のみをキャンセルする場合であっても良いし、カラーバランス補正によって変換された値全体を元の値に近づけるようにする場合であっても良い。
【0057】
このようなカラーバランス補正の一例として、ここでは、CIECAM02を用いて説明を行う。CIECAM02とは、CIEが2002年に制定したColor Apperance Modelである。CIECAM02では、入力パラメータとして、観察条件に関するもの(c,Nc,Fや観察光源の白点XYZ値等)の他に、人間の視覚特性である色順応に対応した順応率Dを設定することができる。
【0058】
これらのパラメータを用いて、観察条件Aに相当するパラメータを設定して、入力画像200を、XYZ色空間から観察条件非依存な色空間JChに変換する。該JCh色空間から、さらに別の観察条件Bを指定し、XYZに変換することにより、双方の観察条件下で同じ“見え”の再現を行うことが可能となる。CIECAM02については様々な文献で開示されている。例えば、CIE Publication,TC8−01,A Color Appearance Model for Colour Management Systems等である。そのため、詳細については上記文献等を参照することとし、本実施形態においては概要説明に留める。
【0059】
本実施形態においては、CIECAM02を利用し、撮影時光源下での“見え”を、所定の観察条件下(例えば、モニタや印字物)で再現する方法について説明する。図9は、第2の色変換部206の処理フローを示している。以下では、フローに沿って説明を行う。
【0060】
図9において、まずS1001にて光源推定部204で推定した撮影時光源の色温度に従って、各種パラメータを算出する。主なパラメータとして、撮影光源下での白点XYZ値および、順応率Dinが存在する。まず白点XYZ値については、例えば予め図10に示すように、主要な色温度におけるYCbCr値を記憶しておき、推定した色温度に応じて補間演算によって求めることができる。例えば、推定色温度が3750ケルビンであった場合、2000ケルビンと5500ケルビンの中間であるため、白点YCbCr値は、(255,−15,15)となる。
【0061】
求められた白点YCbCr値は、公知の変換式によってsRGB色空間を経由してXYZ値に変換することができる。また、S1001では、撮影時光源における順応率Dinも決定する。順応率Dinは予め設定した固定値(例えば、Din=0.8など)により設定してもよい。
【0062】
S1001では推定した撮影時光源下におけるパラメータの算出し、次のS1002では、入力画像200を観察する観察環境におけるパラメータを決定する。観察環境とは、例えばモニタ111が挙げられる。よく知られているようにsRGBモニタは白点がD65に設定されている。すなわち、YCbCr空間であれば、(255,0,0)に相当する。この値を、同様にXYZ値に変換することで、観察環境におけるXYZを得ることができる。また、観察環境における順応率DoutもS1001と同様に、予め設定した固定値などで決定することができる。
【0063】
なお、本実施形態において説明を簡略化するため、YCbCr空間で各光源下における白点座標を保持したが、本実施形態はこれに限定されるものではない。例えば、XYZ空間やsRGB空間、あるいはCIE La*b*空間等で代表座標を保持してもよい。また、白点座標は、代表座標を保持するのではなく、所定色空間における数式によって表現することも可能である。本実施形態はそのいずれを用いても構わない。
【0064】
次に、図9のS1003において、入力画像の注目画素の各RGB値(本実施形態ではsRGB色空間)を公知の変換式により、XYZ色空間に変換する。次にS1004にて、S1001で算出した撮影時光源下でのパラメータ(白点XYZ,Din)を用い、XYZをCIECAM02の公知の文献に記載された変換式によりJCh色空間に変換する。
【0065】
次にS1005にて、S1002で算出した観察環境におけるパラメータ(白点XYZ,Dout)を用い、JChをCIECAM02の公知の文献に記載された変換式によりX’Y’Z’値に変換する。そして、S1006において、X’Y’Z’値を公知の変換式を用いて、sRGB色空間に変換し、補正後の画素値R’G’B’値を得る。S1003〜S1006の処理を、注目画素位置を移動させながら、入力画像全体に対して施す(S1007)。これにより、撮影時に見ていた“見え”に近い状態を、観察環境であるモニタ111上に再現することが可能となる。
【0066】
(処理結果)
上記のような処理を用いた結果得られた画像の特徴を、図11を用いて説明する。図11は、横軸が色差、縦軸が輝度を示しており、白丸は第2の色変換部206に入力された、色かぶりを起こしている画像のグレー軸を示し、黒丸は第2の色変換後の画素値を示している。白丸は色かぶりを生じているため、輝度軸からずれた位置に存在している。
【0067】
上記の白丸で示した画素に対して、第2の色変換を施すと、人間の順応機能により、白丸軸は輝度軸方向、つまり無彩色方向に補正されるが、その補正量(変化量1201)は明部領域(輝度が高い)ほど大きく、暗部領域(輝度が低い)になるに従って小さくなる。
【0068】
すなわち、入力画素値のうち、同一色相かつ同一彩度の複数画素に着目すると、明るい画素の方が暗い画素よりも、第2の色変換による変化量が大きくなる。これは、明部の方が暗部よりも順応率が高くなるという人間の視覚特性に基づくもので、このような処理を行うことで、従来よりも撮影時の“見え”に近い画像再現が可能となる。
【0069】
また、順応率Din,Doutを1.0未満に設定することで、人間の視覚特性の中でも重要な不完全順応状態を考慮することができ、従来よりも撮影時の“見え”に近い画像再現が可能となる。
【0070】
<第2の実施形態>
第1の実施形態では、光源推定部204における逆変換方法(S503)について、縮小画像中のグレーもしくは肌色と判定された画素のRGB成分値に逆変換係数を乗じる方法のみを説明した。しかし、この方法では、カメラのカラーバランス補正の逆変換は可能だが、その他の画像処理要素を逆変換することには限界がある。
【0071】
例えば、カメラ内部では、上述したようなカラーバランス補正のほかに、明るさの制御も含まれる。このような制御は、RGB成分に所定ゲインを加えることによって行われる場合がある。このような明るさ制御を含めたカメラ内部の画像処理を逆変換するためには、第1の実施形態にて示した式4に代わって、以下の式のように乗算の要素のほかに、加算要素を加えた逆変換式を定義することが考えられる。
【0072】
[式5]
R’=R×r+r1
G’=G×g+g1
B’=B×b+b1
上記において、逆変換係数は(r,g,b,r1,g1,b1)の6種類になる。これらの係数を所定間隔で変化させながら、S503の逆変換を行うことにより、第1の実施形態に比べて、光源推定精度を向上させることが可能となる。なお、ここでの所定間隔とは、r,g,bが0.5〜1.5を範囲として0.1間隔で指定され、r1,g1,b1が−10〜+10を範囲として1間隔で指定されることが例として挙げられる。しかし、本実施形態はこれに限定されるものではない。
【0073】
また、カメラ内部の画像処理においては、RGB成分に対して非線形要素を用いた画像処理が施される場合がある。このような場合には、式5に代わって以下の式を用いて逆変換を行う場合が考えられる。
【0074】
[式6]
R’=R×r^r2
G’=G×g^g2
B’=B×b^b2
上記においてr2,g2,b2は階乗の係数になる。式6において、逆変換係数は(r,g,b,r2,g2,b2)の6種類になる。これらの係数を所定間隔で変化させながら、S503の逆変換を行うことにより、第1の実施形態に比べて、光源推定精度を向上させることが可能となる。
【0075】
<第3の実施形態>
第1の実施形態では、第1の色変換部205による第1の色変換は、逆変換処理によって求めた係数(r_max,g_max,b_max)を用い、入力画像200に対して係数を乗じる方法について説明した。本実施形態では、第1の色変換を、オブジェクト色算出部202において検出したオブジェクト色を用いて行う方法について説明する。なお、本実施形態においても説明を簡略化するために、処理対象とするオブジェクトは人物の顔領域として、説明を行う。
【0076】
図12は本実施形態における第1の色変換のフローチャートを示している。図12では、まずS1301において、光源推定部204で推定した色温度を用いて、推定色温度におけるオブジェクト色(ここでは人物の肌色)を算出する。
【0077】
図13(a)の軌跡1401は、Cb−Cr色平面において、照明色温度を変化させた際の人物肌色の軌跡を示している。図13(a)中において各点における数値は色温度を示している。色温度が5500ケルビンの時は適正な肌色位置、色温度が低い場合にはオレンジ色が強くなり、色温度が高い場合には、青色が強くなるような軌跡となっている。S1301では同軌跡を参照し、推定色温度値に相当する肌色を算出する。
【0078】
推定色温度値の算出方法については、図13(a)のようなCb−Cr平面における肌色の軌跡を1次式の表現により保持しておき、推定色温度値と保持する1次式を用いて算出してもよい。あるいは、Cb−Cr平面におけるいくつかの代表的な色温度の肌色値を予め保持しておき、推定色温度値に応じて代表値を用いて補間演算により求めても構わない。
【0079】
次にS1302〜S1305により、入力画像の各画素に対して、本実施形態における第1の色変換処理を行う。本実施形態における第1の色変換処理では、S1302にて、注目画素のRGB値(PixR,PixG,PixB)をYCbCr値(PixY,PixCb,PixCr)に変換する。
【0080】
その後、S1303において、YCbCr色空間による色シフト処理を行う。色シフト処理は、図13(b)に記載するシフトベクトル1501に基づいて行う。図13(b)において、黒丸はS1301で算出した推定色温度におけるオブジェクト色を、白丸はオブジェクト色算出部202で算出した画像中のオブジェクト色である。カメラの内部で何らかのカラーバランス補正が施されたため、元々黒丸であったオブジェクト色が、入力画像200中においては白丸に移動している。この白丸を黒丸に戻すために、本実施形態では注目画素毎に、YCbCr色空間において、以下の式により色シフト処理を行う。
【0081】
[式7]
PixCb’=PixCb+(EstCb−ObjCb)
PixCr’=PixCr+(EstCr−ObjCr)
式7を用いることで、図14(a)に示すようにYCbCr空間において、注目画素(白丸)を全て同一方向にシフトすることができる。なお図14(a)において、縦軸は輝度、横軸は色差を示している。
【0082】
S1304にて、色シフト後の画素値(PixY,PixCb’,PixCr’)を再度RGB空間に変換し、変換後のRGB値(PixR’,PixG’,PixB’)を第1の色変換後の画素値として出力する。なお、色シフトは、他にも以下の式によって行うことも可能である。
【0083】
[式8]
PixCb’=PixCb+(EstCb−ObjCb)×W
PixCr’=PixCr+(EstCr−ObjCr)×W
ここでWは、
PixY<ObjYの場合 W=PixY/ObjY
それ以外の場合 W=(255−PixY)/(255−ObjY)
式8は、注目画素の輝度値PixYとオブジェクトの輝度値ObjYを比較し、輝度が0あるいは255に近づくに従って、シフト量を減衰してゆくことを意味している。この場合のシフトベクトルを図示すると、図14(b)のようになる。図14(b)において、シフトベクトル1701〜1703は、ObjYの位置を基準として輝度が低く、あるいは高くなるに従って、シフトベクトルの長さが短くなっている。このようなシフトベクトルを用いて第1の色変換処理を行ったとしても、本実施形態の範疇に含まれる。
【0084】
上記説明したように、本実施形態においては、第1の色変換処理を、所定の輝度色差空間における色シフト処理で実現することを説明した。第1の実施形態で説明した逆変換セット(r_max,g_max,b_max)を乗じる方法だと、注目画素のRGB値が0に近い場合と255に近い場合とで、変換前後の差分に差が生じ、その結果正確な色変換が行えない場合がある。本実施形態における色シフト方法であれば、色空間内での変動量が一定以下に保証できるため、上記問題を解決することができる。
【0085】
<第4の実施形態>
第1の実施形態では、第2の色変換部206における順応率Din,Doutは、所定の固定値を設定することとしていたが、本実施形態では、特に撮影時光源の順応率Dinを、推定した撮影時色温度を用いて変化させることについて説明する。
【0086】
図15(a)は、本実施形態における順応率Dinの設定方法を説明するための図である。本実施形態においては、光源推定部204で推定された撮影時色温度に応じて、推定色温度が2800ケルビンと低い場合には0.6、推定色温度が10000Kと高い場合には0.8と、推定色温度が低い方の順応率を若干低めに設定する。よく知られているように、色温度が低い光源の例としては室内の白熱灯や夕焼け・朝焼けが挙げられる。一方で色温度が高い光源の例としては、曇りの日や、晴天の日陰などが挙げられる。
【0087】
上記のような一般的な例においては、色温度が高いシーンにおいては、人物の肌色などが無彩色に近い状態となり好ましくないため、順応率を高く設定して、カラーバランス補正をより積極的に行うことが望ましい。その結果、無彩色に近い人物の肌も健康的で適正な肌色に補正されることになる。
【0088】
一方で、色温度が低いシーンにおいては、夕焼けシーンや室内でのパーティシーンである場合が多く、このようなシーンにおいては、必ずしも積極的なカラーバランス補正が好ましいとは言えない。例えば、夕焼けシーンにおいて、色温度が高い場合と同等の順応率を設定してカラーバランス補正を行うと、昼間のような画像となり、撮影時の雰囲気を大きく損ねる恐れがある。
【0089】
従って、図15(a)に示すように、肌色の色温度である5500ケルビンまでは色温度が高くなるに従って順応率を高くして補正効果を高め、色温度が低くなるに従って順応率を弱める。同様に、5500ケルビンを超えた場合には、より色温度が高くなるに従って順応率Dinを減少させる。この方法で撮影時の雰囲気を保つことにより、それぞれのシーンに適合したより好ましい画像再現を行うことが可能となる。
【0090】
ところで、Dinの設定方法については、図15(a)に示した変化率を示す1次式を保持しておき、推定色温度を用いて1次式を用いて算出してもよいし、主要な色温度のDin値のみを記憶しておき、推定色温度に応じて補間演算により求めてもよい。
【0091】
また、変化率を示す式は1次式に限らず、図15(b)に示すような2次曲線、3次曲線やその他の非線形カーブに基づいて算出したとしても、本実施形態の範疇に含まれることは言うまでもない。この場合においても色温度が5500ケルビンの場合をピークとした順応率Dinを求める。
【0092】
<第5の実施形態>
第1の実施形態においては、図2で示すように、入力画像200に対して、まず第1の色変換を施した後、第2の色変換を施す処理例について説明した。しかし、このように異なる処理を直列に接続し、それぞれの処理において各画素単位に複雑な演算処理を行うと、多くの処理時間を要してしまう。
【0093】
そこで本実施形態においては、図16に示すようなブロック図構成によって処理を行うことを提案する。すなわち、第1および第2の色変換に必要なパラメータを予め算出し、それらを反映させた3次元ルックアップテーブル(以降、3DLUT)を算出し、補間演算を用いて3DLUTを入力画像に適用する方法である。図16における各処理部2001〜2004の処理については、第1の実施形態と同様のため、ここでの説明は省略する。
【0094】
第1の色変換パラメータ算出部2005において、第1の実施形態で説明したものと同様に、カメラ内部のWB補正をキャンセルする意味の画像処理パラメータを決定する。これにより第1の算出手段を実現する。第1の実施形態によれば、光源推定部2004で算出した黒体軌跡近傍のグレー・肌色画素が最大となる逆変換セット(r_max,g_max,b_max)を、そのまま画像処理パラメータとして決定し、3DLUT生成部2007に入力される。
【0095】
次に、第2の色変換パラメータ算出部2006において、第1の実施形態で説明したものと同様に、第2の色変換に必要なパラメータを決定する。これにより第2の算出手段を実現する。第2の色変換に必要なパラメータとして、撮影時光源に関するパラメータ(推定色温度における白点XYZ値、および順応率Din)および観察環境に関するパラメータ(観察環境における白点XYZ値、および順応率Dout)が存在する。これらのパラメータは第1の実施形態で述べたものと同様の方法により算出し、3DLUT生成部2007に入力される。
【0096】
(3DLUT生成)
次に、3DLUT生成部2007の処理について、図17のフローチャートに従って説明を行う。なお、本実施形態では簡略化のために、sRGB空間におけるRGB各成分が17グリッド(総グリッド数は17^3=4913点)の3DLUTを生成するものとするが、本実施形態はこれに限定するものではない。
【0097】
図17において、まず始めに、S2101において各グリッドの初期化を行う。すなわち、RGB各値を0にセットする。次に、S2102において、第1の色変換パラメータ2110を用いて第1の色変換を行う。具体的には、以下の式により、第1の色変換後の値R’G’B’値を算出する。
【0098】
[式9]
R’=R×r_max
G’=G×g_max
B’=B×b_max
次に、S2103において、求めたR’G’B’値を公知の変換式を用いてXYZ値に変換し、さらにS2104において、第1の実施形態に説明したようにCIECAM02を用いてJCh空間に変換する。そして、さらにS2105でXYZ空間に逆変換する。この際に用いられるのが、第2の色変換パラメータ2111である。
【0099】
次にS2106において、第1の実施形態と同様に、第2の色変換後のXYZ値をsRGB色空間に変換し、現在注目しているグリッドの出力値として、3DLUTに格納する。
【0100】
上記処理を、RGB全てのグリッドについて行い、各グリッドの出力値を3DLUTに格納する。具体的には、S2102〜S2106の処理の後、未処理のグリッドがある場合(S2107にてNO)には、S2108において、B成分の値を16だけインクリメントする。B成分値が255を超えたら、G成分値を16だけインクリメントし、B成分値を0にリセットして処理を継続する。さらにG成分値が255を超えたら、R成分値を16だけインクリメントし、G,B成分値を0にリセットする。
【0101】
17グリッドで3DLUTの場合、上記処理を4913回(=17^3)繰り返し、RGB成分値が全て255を超えた時点で、全てのグリッドに対する出力値の算出が終了したとして(S2107にてYES)、処理を終了する。
【0102】
上記処理により生成された3DLUTは、補間部2008に入力され、補間部2008にて、同じく入力された入力画像200に対して公知の補間方法(詳細省略)を用いて、補正後の画像を得ることができる。補間方法については、四面体補間、立方体補間様々な方法が存在するが、本実施形態においては、それらのうちいずれを用いても構わない。
【0103】
上述したように、本実施形態では、sRGB色空間の限られたグリッド位置に対して、予め算出した第1および第2の色変換パラメータを用いて出力値を算出し、それを3DLUTとして保持しておく。3DLUTを用いて補間演算により入力画像200を変換することで、特に入力画像解像度が大きい場合に、画素ごとに複雑な色変換処理を行うよりも、遥かに短い処理時間で出力画像を得ることが可能となる。
【0104】
なお、本実施形態の第1の色変換パラメータ算出部2005は、第3の実施形態で説明したようなシフトベクトルを用いて行ってもよい。すなわち、シフトベクトル値を3DLUT生成部2007に入力し、3DLUT生成部2007のS2102において、第3の実施形態と同様の方法により色シフト処理を実現することも可能である。
【0105】
また、本実施形態においては簡略化のため、RGB3成分を前提とした3DLUTを生成する処理について説明したが、本実施形態はこれに限定されるものではない。例えば、入力画像フォーマットをCMYK4成分とすると、本実施形態を参照すれば、4次元LUTを用いて処理することも可能である。すなわち、多次元LUTを用いて処理を行った場合においても、本実施形態の範疇に含まれることは言うまでもない。
【0106】
(その他の応用例)
入力画像はデジタルカメラで撮影された画像でなくてもよい。デジタルカメラ等から入力されたデジタル画像を、表示用、あるいはプリント用の解像度に変換したものを入力画像として、上記処理を行ってもよい。
【0107】
また、入力画像や処理の作業色空間をsRGB色空間として説明を行ったが、本実施形態はこれに限定されるものではない。AdobeRGB(米Adobe社の商標)色空間を作業色空間としてもよいし、CIE La*b*等その他の色空間を用いても構わない。
【0108】
また、オブジェクト検出として、人物の顔領域を用いて説明を行ったが、本実施形態はこれに限定されるものではない。例えば、動物検出や、建物、その他のオブジェクトを用いたとしても本実施形態の範疇に含まれる。
【0109】
また、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、プリンタ、複写機、ファクシミリ装置等)に適用しても良い。
【0110】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置であって、
前記画像に含まれるオブジェクトを検出する検出手段と、
前記検出手段により検出された前記オブジェクトの色値を解析する解析手段と、
前記解析手段により解析された色値に基づき、前記画像の撮影時光源を推定する光源推定手段と、
前記光源推定手段により推定された前記撮影時光源と前記解析手段により解析された色値に基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する第1の色変換を施す第1の色変換手段と、
前記第1の色変換手段により前記第1の色変換を施した画像に対して、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率を用いて第2の色変換を施す第2の色変換手段と
を有することを特徴とする画像処理装置。
【請求項2】
カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置であって、
前記画像に含まれるオブジェクトを検出する検出手段と、
前記検出手段により検出された前記オブジェクトの色値を解析する解析手段と、
前記解析手段により解析された色値とに基づき、前記画像の撮影時光源を推定する光源推定手段と、
前記光源推定手段により推定された前記撮影時光源と前記解析手段により解析された色値に基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する際に用いる第1の色変換パラメータを算出する第1の算出手段と、
前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率により色変換を行う際に用いる第2の色変換パラメータを算出する第2の算出手段と、
前記第1の色変換パラメータおよび前記第2の色変換パラメータを用いて、多次元LUTを生成する生成手段と、
前記多次元LUTを用い、前記画像の色値の補間を行う補間手段と
を有することを特徴とする画像処理装置。
【請求項3】
前記オブジェクトは、人物の顔であることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記光源推定手段は、
前記画像のハイライト色を算出するハイライト色算出手段と、
前記ハイライト色算出手段により算出された前記ハイライト色および前記解析手段により解析された前記オブジェクトの色値に基づいて、光源推定を行う対象画像中のグレー画素および、人物の皮膚の色に対応した肌色画素を特定する特定手段と
を有し、
少なくとも特定された前記グレー画素および前記肌色画素に基づいて前記画像の撮影時光源を推定することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記第1の色変換手段は、前記光源推定手段により推定された前記撮影時光源に基づき、当該撮影時光源における前記オブジェクトの色を算出するオブジェクト色算出手段を有し、
前記オブジェクト色算出手段により算出されたオブジェクトの色値と前記解析手段により解析されたオブジェクトの色値とに基づいて、前記第1の色変換を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記順応率は、前記画像に含まれる同一色相かつ同一彩度の複数画素において、前記第2の色変換を施す前後の変化量が、暗部領域に含まれる画素よりも明部領域に含まれる画素の方が大きくなるように、定義されることを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記順応率は、前記オブジェクトに含まれる画素において基準とする色温度に対し、前記撮影時光源における色温度の差が大きくなるに従って、低くなるように定義されることを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記第2の色変換手段は、CIECAM02を用いて前記第2の色変換を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項9】
カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置の制御方法であって、
前記画像処理装置の検出手段が、前記画像に含まれるオブジェクトを検出する検出工程と、
前記画像処理装置の解析手段が、前記検出工程において検出された前記オブジェクトの色値を解析する解析工程と、
前記画像処理装置の光源推定手段が、前記解析工程において解析された色値に基づき、前記画像の撮影時光源を推定する光源推定工程と、
前記画像処理装置の第1の色変換手段が、前記光源推定工程において推定された前記撮影時光源と前記解析工程において解析された色値とに基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する第1の色変換を施す第1の色変換工程と、
前記画像処理装置の第2の色変換手段が、前記第1の色変換工程において前記第1の色変換を施した画像に対して、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率を用いて第2の色変換を施す第2の色変換工程と
を有することを特徴とする制御方法。
【請求項10】
カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置の制御方法であって、
前記画像処理装置の検出手段が、前記画像に含まれるオブジェクトを検出する検出工程と、
前記画像処理装置の解析手段が、前記検出工程において検出された前記オブジェクトの色値を解析する解析工程と、
前記画像処理装置の光源推定手段が、前記解析工程において解析された色値に基づき、前記画像の撮影時光源を推定する光源推定工程と、
前記画像処理装置の第1の算出手段が、前記光源推定工程において推定された前記撮影時光源と前記解析工程において解析された色値とに基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する際に用いる第1の色変換パラメータを算出する第1の算出工程と、
前記画像処理装置の第2の算出手段が、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率により色変換を行う際に用いる第2の色変換パラメータを算出する第2の算出工程と、
前記画像処理装置の生成手段が、前記第1の色変換パラメータおよび前記第2の色変換パラメータを用いて、多次元LUTを生成する生成工程と、
前記画像処理装置の補間手段が、前記多次元LUTを用い、前記画像の色値の補間を行う補間工程と
を有することを特徴とする制御方法。
【請求項11】
コンピュータを請求項1乃至8のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項1】
カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置であって、
前記画像に含まれるオブジェクトを検出する検出手段と、
前記検出手段により検出された前記オブジェクトの色値を解析する解析手段と、
前記解析手段により解析された色値に基づき、前記画像の撮影時光源を推定する光源推定手段と、
前記光源推定手段により推定された前記撮影時光源と前記解析手段により解析された色値に基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する第1の色変換を施す第1の色変換手段と、
前記第1の色変換手段により前記第1の色変換を施した画像に対して、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率を用いて第2の色変換を施す第2の色変換手段と
を有することを特徴とする画像処理装置。
【請求項2】
カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置であって、
前記画像に含まれるオブジェクトを検出する検出手段と、
前記検出手段により検出された前記オブジェクトの色値を解析する解析手段と、
前記解析手段により解析された色値とに基づき、前記画像の撮影時光源を推定する光源推定手段と、
前記光源推定手段により推定された前記撮影時光源と前記解析手段により解析された色値に基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する際に用いる第1の色変換パラメータを算出する第1の算出手段と、
前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率により色変換を行う際に用いる第2の色変換パラメータを算出する第2の算出手段と、
前記第1の色変換パラメータおよび前記第2の色変換パラメータを用いて、多次元LUTを生成する生成手段と、
前記多次元LUTを用い、前記画像の色値の補間を行う補間手段と
を有することを特徴とする画像処理装置。
【請求項3】
前記オブジェクトは、人物の顔であることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記光源推定手段は、
前記画像のハイライト色を算出するハイライト色算出手段と、
前記ハイライト色算出手段により算出された前記ハイライト色および前記解析手段により解析された前記オブジェクトの色値に基づいて、光源推定を行う対象画像中のグレー画素および、人物の皮膚の色に対応した肌色画素を特定する特定手段と
を有し、
少なくとも特定された前記グレー画素および前記肌色画素に基づいて前記画像の撮影時光源を推定することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記第1の色変換手段は、前記光源推定手段により推定された前記撮影時光源に基づき、当該撮影時光源における前記オブジェクトの色を算出するオブジェクト色算出手段を有し、
前記オブジェクト色算出手段により算出されたオブジェクトの色値と前記解析手段により解析されたオブジェクトの色値とに基づいて、前記第1の色変換を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記順応率は、前記画像に含まれる同一色相かつ同一彩度の複数画素において、前記第2の色変換を施す前後の変化量が、暗部領域に含まれる画素よりも明部領域に含まれる画素の方が大きくなるように、定義されることを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記順応率は、前記オブジェクトに含まれる画素において基準とする色温度に対し、前記撮影時光源における色温度の差が大きくなるに従って、低くなるように定義されることを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記第2の色変換手段は、CIECAM02を用いて前記第2の色変換を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項9】
カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置の制御方法であって、
前記画像処理装置の検出手段が、前記画像に含まれるオブジェクトを検出する検出工程と、
前記画像処理装置の解析手段が、前記検出工程において検出された前記オブジェクトの色値を解析する解析工程と、
前記画像処理装置の光源推定手段が、前記解析工程において解析された色値に基づき、前記画像の撮影時光源を推定する光源推定工程と、
前記画像処理装置の第1の色変換手段が、前記光源推定工程において推定された前記撮影時光源と前記解析工程において解析された色値とに基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する第1の色変換を施す第1の色変換工程と、
前記画像処理装置の第2の色変換手段が、前記第1の色変換工程において前記第1の色変換を施した画像に対して、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率を用いて第2の色変換を施す第2の色変換工程と
を有することを特徴とする制御方法。
【請求項10】
カラーバランス補正機能を有する撮像装置により撮影された画像データに対し、当該画像データにおける画像のカラーバランスを補正する画像処理装置の制御方法であって、
前記画像処理装置の検出手段が、前記画像に含まれるオブジェクトを検出する検出工程と、
前記画像処理装置の解析手段が、前記検出工程において検出された前記オブジェクトの色値を解析する解析工程と、
前記画像処理装置の光源推定手段が、前記解析工程において解析された色値に基づき、前記画像の撮影時光源を推定する光源推定工程と、
前記画像処理装置の第1の算出手段が、前記光源推定工程において推定された前記撮影時光源と前記解析工程において解析された色値とに基づき、前記画像に対して、当該画像を含む前記画像データの撮影を行った前記撮像装置に依存して適用されたカラーバランス補正を弱めた画像に変換する際に用いる第1の色変換パラメータを算出する第1の算出工程と、
前記画像処理装置の第2の算出手段が、前記撮影時光源における人間の色順応に基づき定義された色値に対する順応率により色変換を行う際に用いる第2の色変換パラメータを算出する第2の算出工程と、
前記画像処理装置の生成手段が、前記第1の色変換パラメータおよび前記第2の色変換パラメータを用いて、多次元LUTを生成する生成工程と、
前記画像処理装置の補間手段が、前記多次元LUTを用い、前記画像の色値の補間を行う補間工程と
を有することを特徴とする制御方法。
【請求項11】
コンピュータを請求項1乃至8のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2011−249939(P2011−249939A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−118771(P2010−118771)
【出願日】平成22年5月24日(2010.5.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願日】平成22年5月24日(2010.5.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]