(57)【特許請求の範囲】
【請求項１】
画像からハイライト色を取得する取得手段と、
色平面において、色温度の変化に対応するハイライト色の軌跡上の複数の色のうち、前記取得手段によって取得されたハイライト色に最も近い色と、前記取得手段によって取得されたハイライト色との距離を算出する算出手段と、
前記算出手段によって算出された距離に応じて、前記取得手段によって取得されたハイライト色を、前記色平面における原点に近づくように補正するハイライト色補正手段と、
前記ハイライト色補正手段によって補正されたハイライト色に基づき、前記画像のカラーバランス補正を行うカラーバランス補正手段と
を有し、
前記ハイライト色補正手段は、前記算出手段によって算出された距離が長いほど、前記取得手段によって取得されたハイライト色を前記色平面における原点に近づくように補正する量を大きくすることを特徴とする画像処理装置。
【請求項２】
前記色平面は、色差成分の平面であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記取得手段で取得されるハイライト色は、前記画像の輝度成分のヒストグラムを用いて取得されることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
画像からハイライト色を取得する取得工程と、
色平面において、色温度の変化に対応するハイライト色の軌跡上の複数の色のうち、前記取得工程によって取得されたハイライト色に最も近い色と、前記取得工程によって取得されたハイライト色との距離を算出する算出工程と、
前記算出工程によって算出された距離に応じて、前記取得工程によって取得されたハイライト色を、前記色平面における原点に近づくように補正するハイライト色補正工程と
を有し、
前記ハイライト色補正工程において、前記算出工程によって算出された距離が長いほど、前記取得工程によって取得されたハイライト色を前記色平面における原点に近づくように補正する量を大きくすることを特徴とする画像処理方法。
【請求項５】
コンピュータを請求項１乃至３のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたデジタル画像データのカラーバランスを補正する画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、デジタルカメラで撮影された画像データ、あるいは、アナログカメラで撮影されたフィルムを光学的にスキャンして得られた画像データに対して、撮影時光源を推定し、カラーバランス補正を行う方法が提案されている。
【０００３】
特許文献１では、予めカメラの代表的な分光分布に基づくグレーと人の肌の色の黒体軌跡を保持しておく。カメラのカラーバランス補正の逆変換を行う意味で、各画素のＲＧＢ成分に対して様々な係数を乗じ、変換後の画素について前記黒体軌跡近傍に存在する画素数を評価することで撮影時光源の推定を行う。光源を推定した後は、変換後の画像を、所定の光源下における色に変換することが、記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１５２７７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以上説明したようなカラーバランス補正方法には、以下のような課題が存在する。例えば、デジタルカメラ等の撮像装置は、白熱灯の下、晴天時の日陰で撮影すると、赤かぶりや青かぶりといった不適正なカラーバランスのまま画像が保存されてしまう場合がよくある。従来技術は、撮影された画像の光源を推定し、推定した光源に基づきカラーバランス補正を行う。この場合、不適正なカラーバランス補正後に保存された画像を良好な画像に補正することが可能である。
【０００６】
一方、例えば、黄色い花のマクロ撮影を想定した場合、撮像された画像は、大部分が黄色い領域で占めている画像となる。上記の従来技術では、このような画像に対しても同様に、撮影された画像の光源を推定し、推定した光源に基づきカラーバランス補正を行う。この場合、画像の大部分が黄色い領域で占めているため、白熱灯などの色温度の低い光源下で撮影されて色かぶりしている画像と誤って推定してしまう可能性が高い。
【０００７】
また、他の例として、青空のみの撮影を想定した場合、撮像された画像は、大部分が青い領域で占めている画像となる。上記の従来技術では、このような画像に対しても同様に、撮影された画像の光源を推定し、推定した光源に基づきカラーバランス補正を行う。この場合、画像の大部分が青い領域で占めているため、青白く照らされる蛍光灯などの色温度の高い光源下で撮影されて色かぶりしている画像と誤って推定してしまう可能性が高い。
【０００８】
従って、従来技術は、上記のように元々適正なカラーバランスの画像に対しても、光源を誤推定したままカラーバランス補正を行ってしまう場合がある。この場合、色かぶりしている画像であると判定されてしまうため、黄色い花や青い空が白っぽく補正されてしまうという著しい画像弊害を引き起こすことになる。
【０００９】
すなわち、白熱灯の下や、晴天時の日陰で撮影された画像であれば、色かぶりしている不適正なカラーバランス状態になっていると判定してカラーバランス補正を行う必要がある。一方で、上述した黄色い花のマクロ撮影や青空のみを撮影した画像であれば、適正画像であるためカラーバランス補正を抑制したいという相反する課題がある。これらの課題に対しては、有効な解決手段が、これまでには提案されていなかった。
【課題を解決するための手段】
【００１０】
本発明の画像処理装置は、上記課題を解決するために、以下の構成を有する。すなわち、画像処理装置であって、画像からハイライト色を取得する取得手段と、色平面において、色温度の変化に対応するハイライト色の軌跡上の複数の色のうち、前記取得手段によって取得されたハイライト色に最も近い色と、前記取得手段によって取得されたハイライト色との距離を算出する算出手段と、前記算出手段によって算出された距離に応じて、前記取得手段によって取得されたハイライト色を、前記色平面における原点に近づくように補正するハイライト色補正手段と、前記ハイライト色補正手段によって補正されたハイライト色に基づき、前記画像のカラーバランス補正を行うカラーバランス補正手段とを有し、前記ハイライト色補正手段は、前記算出手段によって算出された距離が長いほど、前記取得手段によって取得されたハイライト色を前記色平面における原点に近づくように補正する量を大きくする。
【発明の効果】
【００１１】
本発明により、色かぶりした画像のカラーバランスを適正に補正することが可能となる。また、色かぶりをおこしていない、例えば、黄色い花のマクロ撮影や青空のみの撮影したような画像に対しては、カラーバランス補正の補正量に抑制がかかり、カラーバランス補正により白っぽく補正されてしまう画像弊害を軽減させることが可能である。
【図面の簡単な説明】
【００１２】
【図１】本発明に係る画像処理方法を実行するためのハードウェア構成図。
【図２】第一実施形態に係る機能ブロック図。
【図３】本発明の画像解析部におけるＨＬ色算出のフロー図。
【図４】ハイライト輝度値を決定する処理の説明図。
【図５】ＨＬ色の黒体軌跡を用いて入力画像のＨＬ色を修正する処理の説明図。
【図６】ＨＬ色の黒体軌跡を用いて信頼度を算出する処理の説明図。
【図７】肌の色とＨＬ色を用いて入力画像のＨＬ色を修正する処理の説明図。
【図８】本発明に係る光源推定処理のフロー図。
【図９】本発明に係る光源推定部におけるグレー軸の設定例を示す図。
【図１０】本発明に係る光源推定部におけるグレー・肌色マップ作成処理のフロー図。
【図１１】本発明に係る肌色画素を特定する処理の説明図。
【図１２】第一実施形態に係る第２の色変換部のフロー図。
【図１３】本発明に係る各種光源下における白点情報の保持例を示す図。
【図１４】本発明に係る最終白点を決定する処理の説明図。
【図１５】本発明に係る第２の色変換前後での変換量の説明図。
【図１６】第二、第三実施形態に係る画像解析結果修正部の説明図。
【図１７】第五実施形態に係る最終白点を決定する処理のフロー図。
【図１８】第五実施形態に係る最終白点を決定する処理の説明図。
【図１９】第六実施形態に係る機能ブロック図。
【図２０】第六実施形態に係る信頼度を算出する処理のフロー図。
【図２１】第七実施形態に係る機能ブロック図。
【図２２】第七実施形態に係る３ＤＬＵＴ生成部のフロー図。
【図２３】第七実施形態に係る機能ブロック図。
【発明を実施するための形態】
【００１３】
＜第一実施形態＞
以下より、本発明における好適な第一実施形態について説明する。なお、以下の記載はプリンタ本体内部の画像処理を想定して説明を行うが、これはあくまで実施の１つの形態を例として示したものであり、本発明は以下の実施に限定されるものではない。
【００１４】
（ハードウェア構成の説明）
図１に本発明の画像処理方法を実施可能なハードウェアの構成を示す。なお、図１は本実施形態における例であり、本発明は図１の構成に限定されることはない。図１において、画像処理装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３を有し、各機能ブロックがシステムバス１１２に接続されている。本発明の動作を実行するプログラムコードはＲＯＭ１０３に格納され、動作時にＲＡＭ１０２に読み込まれ、ＣＰＵ１０１によって実行される。
【００１５】
また、画像処理装置１００は、ＨＤＤやフラッシュメモリ等の２次記憶装置１０４を有し、マウス１０８やキーボード１０９が、インタフェース１０５を介して接続されている。また、プリンタ１１０がインタフェース１０６を介して、また、補正前後の画像を評価するためのモニタが、ビデオカード１０７を介して接続されている。
【００１６】
ここで示した画像処理装置の構成は、例えば一般的な情報処理装置であるＰＣ（パーソナルコンピュータ）が有する構成となっている。
【００１７】
［全体フロー概要説明］
以下では、図２（Ａ）を用いて、本実施形態における画像処理の全体構成について説明する。本実施形態において、入力画像２００は、デジタルカメラで撮影されたデジタル画像か、あるはアナログカメラで撮影されたフィルムを光学的にスキャンして得られたデジタル画像であっても構わない。入力画像データのフォーマットについては、本発明を適用可能であれば特に限定しない。なお、本実施形態においては説明を簡単にするために、入力画像の色空間はｓＲＧＢ（ｓｔａｎｄａｒｄ  ＲＧＢ）であり、各画素値が８ｂｉｔのＲＧＢ成分値で構成されているものとする。
【００１８】
入力画像２００は画像縮小部２０１に入力され、同部において、後述する画像解析部２０２にて処理を行うための縮小画像を生成する。該縮小画像を用いることにより、入力画像２００をそのまま画像解析部２０２に入力するよりも、画像解析部２０２における処理を低減することが可能となる。ここでの縮小処理の方法については、特に限定しない。
【００１９】
縮小画像は画像解析部２０２に入力され、同部において、画像の解析処理が行われる。画像の解析処理としては、画像中のオブジェクト（例えば人物の顔）を抽出してオブジェクト色（オブジェクトが人物の顔であれば、人の肌の色）を算出したり、画像全体のヒストグラムを計測してハイライト色（以降、ＨＬ色）を算出することが含まれる。ここで、ＨＬ色とは、画像の最も明るい領域の色である。さらに画像の特徴量として、画像全体の明度、彩度について、それぞれ平均値、最大値、最小値を算出することも含まれる。
【００２０】
画像解析部２０２に解析された結果として得られた複数種類の画像特徴量は、画像解析結果修正部２０３に入力され、同部において、画像解析結果の修正を行う。画像解析部２０２で解析した結果として得られた解析値は、常に正しいとは限らない。例えば、人物の顔検出については、ある一定の確率で、人物の顔ではない領域を顔と誤検出する場合がある。また、算出した画像のＨＬ色を基に、後述するカラーバランス補正を行うことになるが、該ＨＬ色を撮影時の光源色とは異なった色を誤って算出すると、カラーバランス補正が正しく動作しない場合がある。上記問題を鑑み、本実施形態においては、画像解析結果修正部２０３において、様々な判定処理によって各特徴量を修正し、該修正値を用いて後段に続く画像処理を実行することで、画像弊害の少ない、安定した画像を出力することが可能となる。
【００２１】
次に光源推定部２０４において、画像解析結果修正部２０３による修正後のＨＬ色とオブジェクト色を用いて、撮影時光源の推定を行う。本発明においては、撮影時光源の推定方法について特に限定するものではなく、従来例で述べたような特許文献１に開示されているもの等の中から、いずれを用いても構わない。光源推定部２０４により推定された撮影時光源下における色温度を算出し、その条件下におけるハイライト色を取得することにより、第１のハイライト色算出を行う。
【００２２】
光源推定部２０４において撮影時の光源推定が行われると、その結果として、例えば撮影時光源の色温度値が決定され、該色温度値は第１の色変換部２０５に入力される。通常、デジタルカメラで撮影された画像は、カメラ内部で独自のカラーバランス補正が施されているため、第１の色変換部２０５において、カメラ内部において適用されたカラーバランス補正をキャンセルし、カラーバランス補正前の状態に入力画像２００を変換する。ここで、入力画像に対して適用されている撮像装置（カメラ等）独自のカラーバランス補正をキャンセルすることにより、カラーバランス補正前の画像が取得できる。
【００２３】
第１の色変換部２０５における第１の色変換後の画像は、第２の色変換部２０６に入力され、同部において、第２の色変換処理が施される。第２の色変換部２０６では、カメラ内部によるカラーバランス補正をキャンセルした状態の画像に対して、人間の視覚特性を考慮し、撮影時光源下における“見え”に近づけるよう、画像の色変換を行う。第２の色変換後の画像は出力画像２０７として、２次記憶装置１０４に記憶されたり、モニタ１１１に表示されたり、プリンタ１１０で印字媒体上に印字されることになる。以上が、本実施形態における処理のブロック図の説明である。
【００２４】
［各処理部における動作］
以下では、図２（Ａ）に示した各部の動作について、フローチャート等を参照しながら処理の詳細を説明する。
【００２５】
（画像縮小部２０１）
画像縮小部２０１では、後段の画像解析部２０２の処理を効率化するために、入力画像２００を所定解像度の画像に縮小する。例えば、入力画像が４０００×３０００画素の比較的高解像度画像であった場合、該解像度の全ての画素について、例えば明度や彩度値を算出すると、画像解析部２０２の処理時間が膨大になってしまう問題がある。そこで、本実施形態では、画像解析部２０２で必要とされる最低限の解像度、例えば６４０×４８０画素程度に縮小し、該縮小画像を画像解析部２０２に入力する。
【００２６】
なお、本実施形態においては縮小方法を特に限定するものではなく、最近隣縮小や線形補間縮小などのいずれの方法を用いてもよい。また、画像縮小部２０１で生成する縮小画像は１種類に限られない。例えば、画像解析部２０２において、平均明度や平均彩度を算出するために必要な画像解像度は６４０×４８０画素程度で十分であるが、顔検出等のオブジェクト検出を行う場合には１０２４×７６８画素程度の解像度が必要という場合がある。この場合には、画像縮小部２０１で２種類の縮小画像を生成し、画像解析部２０２に入力してもよい。
【００２７】
（画像解析部２０２）
図２（Ｂ）は、図２（Ａ）に示す画像解析部２０２の詳細な処理のブロック図を示している。本実施形態では簡単のため、３つのブロックのみで構成されているが、本発明はこれに限定されるものではない。図２（Ｂ）に示すように、画像縮小部２０１で得られた縮小画像３００を基に、ＨＬ色決定部３０１において、画像のＨＬ色を算出する。また、縮小画像３００はオブジェクト検出部３０２にも入力され、同部において、画像中の主要オブジェクトである人物の顔領域の検出を行う。ここでの主要オブジェクトとは、撮像された画像中において、主な撮像の目的とするものを指す。本実施形態では、人物を主なオブジェクトとしている画像であるため、主要オブジェクトは人の顔としている。さらに顔領域の位置情報に基づいて、オブジェクト色算出部３０３において、オブジェクトの色、すなわち肌の色を算出する。
【００２８】
（オブジェクト検出部３０２、オブジェクト色算出部３０３）
オブジェクト検出部３０２においては、入力画像（ここでは縮小画像３００）中の主要被写体を検出する処理が行われる。主要被写体の主なものとしては、人物の顔が挙げられる。このときに使用する人物の顔検出手法としては、すでに様々な手法が提案されている。特開２００２−１８３７３１号公報によれば、入力画像から目領域を検出し、目領域周辺を顔候補領域とする。該顔候補領域に対して、画素毎の輝度勾配、および輝度勾配の重みを算出し、これらの値を、あらかじめ設定されている理想的な顔基準画像の勾配、および勾配の重みと比較する。その時に、各勾配間の平均角度が所定の閾値以下であった場合、入力画像は顔領域を有すると判定する方法が記載されている。
【００２９】
また、特開２００３−３０６６７号公報によれば、まず画像中から肌色領域を検出し、同領域内において、人間の虹彩色画素を検出することにより、目の位置を検出することが可能であるとしている。
【００３０】
さらに、特開平８−６３５９７号公報によれば、複数の顔の形状をしたテンプレートと画像とのマッチング度を計算する。該マッチング度が最も高いテンプレートを選択し、最も高かったマッチング度があらかじめ定められた閾値以上であれば、選択されたテンプレート内の領域を顔候補領域とする。同テンプレートを用いることで、目の位置を検出することが可能であるとしている。
【００３１】
さらに、特開２０００−１０５８２９号公報によれば、まず、鼻画像パターンをテンプレートとし、画像全体、あるいは画像中の指定された領域を走査し最もマッチする位置を鼻の位置として出力する。次に、画像の鼻の位置よりも上の領域を目が存在する領域と考え、目画像パターンをテンプレートとして目存在領域を走査してマッチングをとり、ある閾値よりもマッチ度が大きい画素の集合である目存在候補位置集合を求める。さらに、目存在候補位置集合に含まれる連続した領域をクラスタとして分割し、各クラスタと鼻位置との距離を算出する。その距離が最も短くなるクラスタを目が存在するクラスタと決定することで、器官位置の検出が可能であるとしている。
【００３２】
その他、顔および器官位置を検出する方法としては、特開平８−７７３３４号公報、特開２００１−２１６５１５号公報、特開平５−１９７７９３号公報、特開平１１−５３５２５号公報、特開２０００−１３２６８８号公報、特開２０００−２３５６４８号公報、特開平１１−２５０２６７号公報がある。さらには特登録２５４１６８８号など、数多くの手法が提案されている。本実施形態では特に手法を限定はしない。
【００３３】
さらに、上記様々な顔検出方法では、一般的に顔検出の信頼度Ｒ＿ｆａｃｅを算出することが可能である。この信頼度Ｒ＿ｆａｃｅは０〜１．０の値を持ち、１．０に近づくほど、検出結果の信頼性が高いものと判断する。つまり、基準値となる値との差分により、信頼度を決定することができる。この顔検出の信頼度は、例えば、テンプレートマッチング手法による顔検出の場合には、テンプレートとの適合度合いを顔検出の信頼度とすることが考えられる。また、目の位置や肌の色など顔の特徴量を、予め保持されている特徴量と比較を行って顔検出を行う手法の場合には、特徴量の適合度合いを顔検出の信頼度とすることも考えられるが、本実施形態ではいずれの方法を用いても構わない。
【００３４】
上記オブジェクト検出が成功すると、主要被写体の位置示す座標を得ることができる。該座標は、顔領域を包含するような矩形座標であっても構わないし、中心と半径で表現されるような円形座標であっても構わない。該座標情報は、オブジェクト色算出部３０３に入力され、同部において、主要被写体領域の色の解析を行う。色の解析とは、一般的には、検出した主要被写体領域内の平均色を求めることを意味している。平均色は、例えば、画像を構成している各画素がＲＧＢ値で表現されている場合には、該主要被写体領域内に含まれる画素の各ＲＧＢの平均値を算出することで求めることができる。
【００３５】
本実施形態においては、上記方法により求めたオブジェクト色を、（ＯｂｊＲ，ＯｂｊＧ，ＯｂｊＢ）として取り扱う。また、上記オブジェクト色をＹＣｂＣｒ色空間に変換した（ＯｂｊＹ，ＯｂｊＣｂ，ＯｂｊＣｒ）も同様にオブジェクト色として取り扱う。別の方法としては、該主要被写体領域内に含まれる画素の各ＲＧＢ値を輝度・色差成分に変換し、色差成分の平均値を求めてもよい。ここで輝度色差空間は、例えばＹＣ１Ｃ２空間、あるいはＣＩＥ  Ｌ＊ａ＊ｂ＊空間等のいずれであっても構わない。
【００３６】
また、オブジェクト検出部３０２において、主要被写体が複数検出された場合には、被写体領域毎に算出した平均色をさらに平均化してもよい。あるいは、補正効果を出すためには、予め設定する理想的なオブジェクト色から最も遠方に存在するオブジェクト色を基準とすることも考えられる。逆に、補正効果を弱めるためには、理想オブジェクト色に最も近い主要被写体を基準としてもよい。
【００３７】
（ＨＬ色決定部３０１）
図２（Ｂ）に示すＨＬ色決定部３０１では、入力画像のＨＬ色を算出する。ＨＬ色決定部３０１により第２のハイライト色算出を行う。ＨＬ色の算出方法についても様々な方法が提案されており、本発明が適用可能であればいずれの方法を用いても構わない。本実施形態においては、図３に示すフローに基づいて、ＨＬ色を算出する方法について説明する。なお、図３に示すフローは、例えば、記憶部であるＲＡＭ１０２等に格納されたプログラムをＣＰＵ１０１が読み出して実行するものとする。
【００３８】
図３において、まず、Ｓ４０１〜Ｓ４０４にて、縮小画像３００のヒストグラムを算出する。Ｓ４０１において、ＨＬ色決定部３０１は、縮小画像３００中の各画素のＲＧＢ値を、公知の公式によって輝度色差成分に変換する。ここでは例としてＹＣｂＣｒ値に変換する。次にＳ４０２において、ＨＬ色決定部３０１は、輝度成分Ｙについて、度数ヒストグラムを算出する。ここで、ヒストグラムは、０に初期化されたＨｉｓｔＹ配列に対して、ＨｉｓｔＹのＹ番目の要素をインクリメントすることで算出することができる。
【００３９】
次に、Ｓ４０３において、ＨＬ色決定部３０１は、輝度毎に色差Ｃｂ，Ｃｒ値の平均値を算出するために、０に初期化された配列ＭｅａｎＣｂ，ＭｅａｎＣｒに対して、それぞれ以下の式１による演算を行う。
【００４０】
［式１］
ＭｅａｎＣｂ［Ｙ］＋＝Ｃｂ
ＭｅａｎＣｒ［Ｙ］＋＝Ｃｒ
縮小画像３００の全ての画素についてＳ４０１〜Ｓ４０４の処理が終了すると、輝度ヒストグラム配列ＨｉｓｔＹは、図４に示すような度数分布を格納している。そこで、Ｓ４０５において、ＨＬ色決定部３０１は、ＨｉｓｔＹを用いてハイライト輝度値ＨＬＹを決定する。本実施形態におけるＨＬＹは、ＨｉｓｔＹ［Ｙ］の値を輝度の小さい方から累積していき、累積度数が縮小画像３００全体の９９％に到達した時点の輝度値Ｙを、ハイライト輝度値ＨＬＹとして決定する。なお、ＨＬＹを決定するための累積度数割合は、９９％に限定されるものではない。また、累積を行う処理中において、輝度値が特定できるようであれば、その時点で輝度値を決定し、処理を終了してもよい。
【００４１】
次に、Ｓ４０６において、ＨＬ色決定部３０１は、決定されたＨＬＹを用いて、ＨＬ領域の色ＨＬＣｂ，ＨＬＣｒ値を算出する。同値の算出は、以下の式２を用いて行う。
【００４２】
［式２］
ＨＬＣｂ＝ＭｅａｎＣｂ［ＨＬＹ］÷ＨｉｓｔＹ［ＨＬＹ］
ＨＬＣｒ＝ＭｅａｎＣｒ［ＨＬＹ］÷ＨｉｓｔＹ［ＨＬＹ］
以上説明した処理によって、第２のハイライト色決定を行う。算出したオブジェクト色、およびＨＬ色（ＨＬＣｂ，ＨＬＣｒ値）は、画像解析結果修正部２０３に入力される。
【００４３】
（画像解析結果修正部２０３）
画像解析結果修正部２０３は、画像解析部２０２で算出した解析結果の修正を行う処理部である。同部では、予め保持している分光分布に基づくＨＬ色の黒体軌跡を用いて、画像解析部２０２で算出した入力画像のＨＬ色を修正する。まず、ＨＬ色の黒体軌跡について以下で説明する。
【００４４】
理想的な黒体を想定すると、ある温度において黒体が放射する光の波長の分布を導き出すことができる。例えば、白という色を黒体の温度で表現すると、温度が低い時は暗いオレンジ色に近くなり、温度が高い時は青みがかった白に近くなる。ここで表現している黒体の温度を色温度（Ｋ：ケルビン）という。本実施形態で用いるＨＬ色の黒体軌跡とは、観察環境下で、照明の色温度を変更したときの明るい領域の色すなわちＨＬ色の軌跡を表したものである。例えば図５（Ａ）を用いて説明する。
【００４５】
図５（Ａ）は、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値と予め保持している分光分布に基づくＨＬ色の黒体軌跡をＣｂＣｒ平面上に示した図である。図５（Ａ）において、例えば、色温度を３０００Ｋ（●）から７０００Ｋ（●）まで変化させたときのＨＬ色を示している。この色温度を変化させた場合のＨＬ色同士を結ぶ軌跡がＨＬ色の黒体軌跡６０１である。
【００４６】
図５（Ａ）において、座標６０２（△）は、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標を示す。また、両矢印６０３は、座標６０２がＨＬ色の黒体軌跡６０１と最も近い位置までの距離を示す。また、破線矢印６０４は、座標６０２と（Ｃｂ，Ｃｒ）＝（０，０）までの距離を示す。図５（Ａ）のように、一般的に、デジタルカメラ内部でカラーバランス補正が行われた画像は、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値が、ＨＬ色の黒体軌跡６０１に近い位置になる。この場合、検出したＨＬ色は正しく検出されている可能性が高いので、カラーバランス補正を積極的に行う方が好ましい。逆に、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値が、ＨＬ色の黒体軌跡６０１と遠く離れている場合には、ＨＬ色を誤って検出されている可能性が高いので、カラーバランス補正の補正量を抑制させる方が好ましい。つまり、基準となる値と解析された値との差分に応じて補正量を制御する。
【００４７】
例えば、黄色い花にカメラを近づけて画面全体に黄色い花をマクロ撮影する場合、黄色い花の部分をＨＬ色として検出されてしまう。この場合、ＨＬ色をそのまま利用し、ＨＬ色を白色にするようなカラーバランス補正を行うと、黄色い花まで白く補正されてしまい、著しい弊害を発生させてしまう。入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値が、ＨＬ色の黒体軌跡６０１と遠く離れている例として、図５（Ｂ）を用いて説明する。
【００４８】
図５（Ｂ）は、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値と予め保持している分光分布に基づくＨＬ色の黒体軌跡を色差Ｃｂ−Ｃｒ平面上に示した図である。図５（Ａ）と同様に、色温度を３０００Ｋ（●）から７０００Ｋ（●）まで変化させたときのＨＬ色どうしを結ぶ軌跡をＨＬ色の黒体軌跡６０１としている。
【００４９】
また、ＨＬ色の黒体軌跡６０１と遠く離れている例として、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値は、座標７０２（△）を示す。両矢印７０３は、座標７０２がＨＬ色の黒体軌跡６０１と最も近い位置までの距離を示す。また、破線矢印７０４は、座標７０２と（Ｃｂ，Ｃｒ）＝（０，０）までの距離を示す。本実施形態では、カラーバランス補正の補正量を抑制する手段として、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値を修正することで実現する。
【００５０】
入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の修正方法は、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値とＨＬ色の黒体軌跡との距離によって修正を行う。入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値を修正する例を、図５（Ａ）（Ｂ）及び図６（Ａ）を用いて説明する。図６（Ａ）は、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値とＨＬ色の黒体軌跡６０１との距離に対する、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の信頼度Ｒ＿ｄｉｓを定義する関数を示した図である。
【００５１】
図６（Ａ）において、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値とＨＬ色の黒体軌跡６０１との距離を距離Ｌとする。また、距離Ｌから算出する入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の信頼度を信頼度Ｒ＿ｄｉｓとする。また、信頼度Ｒ＿ｄｉｓを算出する際に使用するＬＭａｘを予め設定しておく。ＬＭａｘは、対象とする画像の特性（オブジェクトの種類や画像に含まれる色など）に合せて定義されるものとする。本実施形態において、信頼度Ｒ＿ｄｉｓは最小０から最大１．０の範囲の値とする。図６（Ａ）において、信頼度Ｒ＿ｄｉｓを算出する式３を以下に示す。
【００５２】
［式３］
ＬＭａｘ＞Ｌの場合  Ｒ＿ｄｉｓ＝（ＬＭａｘ−Ｌ）／ＬＭａｘ
ＬＭａｘ≦Ｌの場合  Ｒ＿ｄｉｓ＝０．０
例えば、図５（Ａ）に示す入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標６０２を（ＨＬＣｂ，ＨＬＣｒ）＝（−２０，２０）とする。また、図５（Ｂ）に示す入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標７０２を（ＨＬＣｂ，ＨＬＣｒ）＝（−２０，４）とする。
【００５３】
まず、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値とＨＬ色の黒体軌跡６０１との距離Ｌを算出する。距離Ｌの算出方法としては、例えば、入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値と予め設定されているＨＬ色の黒体軌跡６０１と垂直になるＨＬ色の黒体軌跡６０１との距離を距離Ｌとして算出する。
【００５４】
例えば、図５（Ａ）において、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標６０２とＨＬ色の黒体軌跡６０１との距離Ｌを１０とする。また、図５（Ｂ）において、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標７０２とＨＬ色の黒体軌跡６０１との距離Ｌを５０とする。
【００５５】
次に、式３を用いて予め設定したＬＭａｘと算出した距離Ｌによって信頼度Ｒ＿ｄｉｓを算出する。例えば、予め設定したＬＭａｘを１００として信頼度Ｒ＿ｄｉｓを算出する。予め設定したＬＭａｘを１００として説明するが、任意に設定する値であり特に限定はしない。図５（Ａ）の座標６０２と図５（Ｂ）の座標７０２の各信頼度Ｒ＿ｄｉｓを算出した例を以下に示す。
【００５６】
ＨＬ色の座標６０２の信頼度：Ｒ＿ｄｉｓ＝（１００−１０）／１００＝０．９
ＨＬ色の座標７０２の信頼度：Ｒ＿ｄｉｓ＝（１００−５０）／１００＝０．５
次に、算出した信頼度Ｒ＿ｄｉｓを用いて、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標の座標変換を行う。座標変換方法は、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標を、基準位置である原点（Ｃｂ，Ｃｒ）＝（０，０）に近づける処理を行う。この座標変換式を以下に示す。ここで、変換後の座標を（Ｃｂ’，Ｃｒ’）として示す。
【００５７】
［式４］
（Ｃｂ’，Ｃｒ’）＝（ＨＬＣｂ×Ｒ＿ｄｉｓ，ＨＬＣｒ×Ｒ＿ｄｉｓ）
図５（Ａ）、（Ｂ）に示した座標に対する各信頼度Ｒ＿ｄｉｓを用いて、ＨＬ色の座標６０２とＨＬ色の座標７０２を（Ｃｂ，Ｃｒ）＝（０，０）に近づける座標変換した例を以下に示す。
【００５８】
座標６０２：（Ｃｂ’，Ｃｒ’）＝（−２０×０．９，２０×０．９）＝（−１８，１８）
座標７０２：（Ｃｂ’，Ｃｒ’）＝（−２０×０．５，４×０．５）＝（−１０，２）
次に、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値を変換後の座標の値に置き換える。
【００５９】
［式５］
ＨＬＣｂ＝Ｃｂ’
ＨＬＣｒ＝Ｃｒ’
図５（Ａ）において、入力画像のＨＬ色の色差成分の座標６０２（ＨＬＣｂ，ＨＬＣｒ）は、（−２０，２０）から（−１８，１８）に修正される。また、図５（Ｂ）において、入力画像のＨＬ色の色差成分の座標７０２（ＨＬＣｂ，ＨＬＣｒ）は、（−２０，４）から（−１０，２）に修正される。
【００６０】
以上、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値は、図６（Ａ）に定義した信頼度Ｒ＿ｄｉｓと距離Ｌとの関係に従う。つまり、図５（Ａ）のようにＨＬ色の黒体軌跡６０１と距離が近くなるに従って、修正の程度を減少させ、図５（Ｂ）のようにＨＬ色の黒体軌跡６０１と距離が遠くなるに従って、修正の程度を増加させる。
【００６１】
図５（Ｂ）に示した座標７０２のように距離Ｌが小さい座標と比較して、より大きな修正を加えた場合、画像のＨＬ色が原点に近づくことになる。このような原点近辺のＨＬ色を用いて、後述する光源推定を行うと、光源推定の対象となるグレー画素群が無彩色となる確率が高くなる。該無彩色のグレー画素群と肌色画素群を用いて光源推定を行っても、その結果得られる光源推定値は、標準色である昼光下の色温度（５０００〜５５００Ｋ）付近を出力する確率が高くなる。上記色温度付近と判定された画像に対しては、カラーバランス補正の補正量は弱くなるため、結果として、ＨＬ色を原点に近づけることで、後述するカラーバランス補正量を抑制することが可能となる。
【００６２】
よって、例えば入力画像が黄色い花のマクロ撮影だった場合を想定すると、画像のＨＬ色は彩度の高い黄色となり、ＨＬ色の黒体軌跡と遠く離れてしまう。この場合に、ＨＬ色を原点付近に修正してカラーバランス補正を抑制するので、黄色い花が白くなるといった誤補正を抑制することが可能となる。
【００６３】
本実施形態において入力される画像は、撮像装置において撮影時にカラーバランス補正が行われることを想定している。撮像装置におけるカラーバランス補正も、基本的には、画像のＨＬ色が図５（Ａ）に示す黒体軌跡近傍に位置するように、カラーバランス制御を行っている。このため、通常操作において撮像装置で撮影された画像に対しては、本発明を適用してもカラーバランス補正が良好に動作し、過度の抑制が働いてカラーバランス補正の効果が小さくなることはない。
【００６４】
ただし、撮像装置内のカラーバランス補正がなんらかの原因で正しく動作せず、そのため画像のＨＬ色が黒体軌跡から大きく逸脱する可能性はゼロではない。例えば、近年の撮像装置においては、撮影画角の中から人物の顔領域を検出し、該顔色を用いてカラーバランス制御を行う。この時、例えば風景の中の山肌を誤って人物の顔と認識した際には、肌の色の値を誤検知してしまうため、カラーバランスが大きく崩れ、画像のＨＬ色が黒体軌跡から大きく逸脱する場合がある。このような画像に対しては本発明を適用すると、カラーバランス補正が抑制され、不適正なままの画像を出力することも考えられる。しかし、上記のような誤検出は、確率的には非常に低いものである。よって、上述するような不適正な画像が補正できないデメリットよりも、黄色い花の画像のカラーバランスを誤補正しないメリットの方が格段に大きいことに重点をおいている点が、本発明の特徴となっている。
【００６５】
また、本実施形態では、図６（Ａ）のように、信頼度Ｒ＿ｄｉｓを求める場合、距離Ｌ＝０からＬＭａｘまでを直線で結び、距離Ｌが大きくなるに従い、信頼度Ｒ＿ｄｉｓは小さくなる。図６（Ａ）を用いることにより、入力画像のＨＬ色が少しだけ異なる画像の間においては、信頼度Ｒ＿ｄｉｓに大きな差が生じないため、同じように大きな差を生じさせないでカラーバランス補正処理を行うことが可能である。例えば、連射で撮影した画像のように、同じエリアを短い時間で撮影された画像は、入力画像のＨＬ色が少しだけ異なる画像が生成される。図６（Ａ）のように距離Ｌに応じて信頼度Ｒ＿ｄｉｓが変更されるため、カラーバランス補正後の結果も補正された画像を生成させることができる効果がある。
【００６６】
また、本実施形態においては、図６（Ａ）を用いて信頼度Ｒ＿ｄｉｓ算出しているが、これに限らない。例えば、信頼度の算出について、図６（Ｂ）を用いて説明する。図６（Ｂ）において、図６（Ａ）と同様に、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標とＨＬ色の黒体軌跡との距離を距離Ｌとする。また、距離Ｌによって算出する入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の信頼度を信頼度Ｒ＿ｄｉｓとする。また、信頼度Ｒ＿ｄｉｓを算出する際に使用するＬＭａｘを予め設定しておく。本実施形態において、信頼度Ｒ＿ｄｉｓは最小０から最大１．０の範囲とする。
【００６７】
図６（Ｂ）は、図６（Ａ）と異なる部分として、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標とＨＬ色の黒体軌跡との距離Ｌがいずれであったとしても、信頼度Ｒ＿ｄｉｓを１．０の一定とする。つまり、以下のように定義される。
【００６８】
［式３’］
ＬＭａｘ＞Ｌの場合  Ｒ＿ｄｉｓ＝１．０
ＬＭａｘ≦Ｌの場合  Ｒ＿ｄｉｓ＝０．０
例えば、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標とＨＬ色の黒体軌跡との距離によって誤検出したＨＬ色であるかを経験的に判断できる場合、図６（Ｂ）に示した一定の信頼度は、図６（Ａ）に示した信頼度に比べ効果が出せる。例えば、距離Ｌの値が小さい場合は、積極的にカラーバランス補正を実行させることができ、また、距離Ｌの値が大きい場合は、カラーバランス補正をかなり強く抑制できる効果がある。
【００６９】
また、更に信頼度Ｒ＿ｄｉｓを算出する別の方法として、例えば、図６（Ｃ）、（Ｄ）に示すような非線形の関数を用いても構わない。図６（Ｃ）、（Ｄ）において、図６（Ａ）と同様に、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標とＨＬ色の黒体軌跡との距離を距離Ｌとする。また、距離Ｌによって算出する入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の信頼度を信頼度Ｒ＿ｄｉｓとする。また、信頼度Ｒ＿ｄｉｓを算出する際に使用するＬＭａｘを予め設定しておく。本実施形態において、信頼度Ｒ＿ｄｉｓは最小０から最大１．０の範囲とする。
【００７０】
図６（Ｃ）において、図６（Ａ）と異なる部分として、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標とＨＬ色の黒体軌跡との距離Ｌが小さい範囲（０≦Ｌ＜Ｌ’）では信頼度Ｒ＿ｄｉｓを１．０の一定とする。更に、ＨＬ色の黒体軌跡との距離Ｌが大きい範囲（Ｌ’≦Ｌ＜ＬＭａｘ）では、信頼度Ｒ＿ｄｉｓを距離に比例して減少させるように設定する。また、ＬがＬｍａｘより大きい場合は、信頼度Ｒ＿ｄｉｓは０とする。ここで、Ｌ’の値は経験的に定義しても良いし、画像の特性に合せて変動させても構わない。従って、図６（Ｃ）は以下のように定義される。
【００７１】
［式３”］
０≦Ｌ＜Ｌ’の場合        Ｒ＿ｄｉｓ＝１．０
Ｌ’≦Ｌ＜ＬＭａｘの場合  Ｒ＿ｄｉｓ＝（ＬＭａｘ−Ｌ）／ＬＭａｘ
ＬＭａｘ≦Ｌの場合        Ｒ＿ｄｉｓ＝０．０
図６（Ｄ）において、図６（Ａ）と異なる部分として、Ｌ＝０からＬＭａｘまでをＳ字カーブの曲線で結び、信頼度Ｒ＿ｄｉｓを滑らか変化させる。Ｓ字カーブの曲線は、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標とＨＬ色の黒体軌跡との距離Ｌの値が小さい場合には、信頼度Ｒ＿ｄｉｓを０に近づけ、遠い場合には、信頼度Ｒ＿ｄｉｓを１．０に近づける設定にする。
【００７２】
図６（Ｃ）、（Ｄ）のいずれにおいても、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標とＨＬ色の黒体軌跡との距離Ｌの値が小さい場合は、信頼度Ｒ＿ｄｉｓを高く、距離Ｌの値が大きい場合は、信頼度Ｒ＿ｄｉｓを低くする。また、信頼度Ｒ＿ｄｉｓを距離Ｌに応じて変化させる。従って、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標とＨＬ色の黒体軌跡との距離Ｌの値が大きい場合には、積極的に補正処理が行える。更に、ＨＬ色が少しだけ異なる画像間では、信頼度Ｒ＿ｄｉｓに大きな差を生じさせないため、補正処理も同じような効果で処理できる効果がある。
【００７３】
図６（Ａ）〜（Ｄ）のように、入力画像から解析したＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の座標とＨＬ色の黒体軌跡との距離からＨＬ色を変更する方法であれば、何れの変換方法を用いても構わない。以上が予め保持している分光分布に基づくＨＬ色の黒体軌跡を用いて、画像解析部２０２で算出した入力画像のＨＬ色を修正する方法である。
【００７４】
更に追加として、画像解析結果修正方法として、上記の他に、入力画像から解析した人の肌の色とＨＬ色との関係を用いて画像解析部２０２で算出した入力画像のＨＬ色を修正する方法がある。以下では、入力画像から解析した人の肌の色とＨＬ色との相対関係を用いた入力画像のＨＬ色を修正する方法について説明する。
【００７５】
オブジェクト色を人の肌の色として、オブジェクト色とＨＬ色は、ＹＣｂＣｒ空間におけるＣｂＣｒ平面上において、３０００Ｋ光源下では図７（Ａ）のオブジェクト色１２０１、ＨＬ色１２０２のようにプロットすることができる。また、昼光色の光源下ではオブジェクト色１２０３，ＨＬ色１２０４，８０００Ｋ光源下では肌の色１２０５，ＨＬ色１２０６のようにプロットされる。
【００７６】
このことからオブジェクト色とＨＬ色との関係は光源が変化してもほぼ一定に保たれるという特徴がある。ここでの関係とは、ＨＬ色とオブジェクト色との関係式が一定である。また別の特徴として、ここでのオブジェクト色が人物の肌の色とすると、該肌の色は人種によって明度に大きな差があるものの、色成分に関しては、大きな差がないことが、様々な文献によって開示されている。従って、図７（Ａ）に示すＨＬ色と肌の色の関係は、人種によってもほぼ一定になるという特徴がある。従って、図７（Ａ）に示したような両者の関係が崩れれば崩れるほど、オブジェクト色かつ／またはＨＬ色は誤検出している可能性が高いと考えられる。
【００７７】
この特徴を使って、オブジェクト色とＨＬ色はベクトルの関係で表すことができる。つまり、ＣｒＣｂ平面上におけるＨＬ色の座標から対応するオブジェクト色の座標までのベクトルの向き、長さが同一であるとも表現できる。そこで、本実施形態では基準オブジェクト色と基準ＨＬ色とのベクトルを基準ベクトルとして形成すると、オブジェクト色とＨＬ色との検出ベクトルを前記基準ベクトルに近づくようにＨＬ色を修正して検出ベクトルを適正化する。また、本明細書においては、便宜上、上記理由に基づいて、人の肌の色に対応する色成分を“肌色”とも記述する。
【００７８】
検出ベクトルを適正化する際には、信頼度を算出し修正量を決定する。信頼度はオブジェクト色とＨＬ色との間の関係が基準オブジェクト色と基準ＨＬ色との間の関係に対して、崩れれば崩れるほど低くなるものとする。よって、信頼度に従ってオブジェクト色とＨＬ色の位置関係を修正することで検出ベクトルを適正方向に近づけることができる。
【００７９】
以下では、検出ベクトルが適正だった場合と適正でない場合とについて説明する。ここでは、基準ＨＬ色は昼光色の光源下での白点であり、基準オブジェクト色は昼光色の光源下での人の肌の色が設定される。
【００８０】
図７（Ｂ）のように設定された基準オブジェクト色１３０１と基準ＨＬ色１３０２から決まる基準ベクトル１３０３を、本画像処理装置は予め保持しておく。一方、オブジェクト色算出部３０３で算出されたオブジェクト色（ＯｂｊＣｂ，ＯｂｊＣｒ）１３０４とＨＬ色（ＨＬＣｂ，ＨＬＣｒ）１３０５から検出ベクトル１３０６が算出される。
【００８１】
次に、基準ベクトル１３０３と検出ベクトル１３０６の大きさが同じ時、両者の方向に基づいて内積を求め、信頼度Ｒ＿Ｖｅｃを以下の式５で算出する。ここで、“Ｘ＾Ｙ”は“ＸのＹ乗”を示している。
【００８２】
［式５］
Ｒ＿Ｖｅｃ＝（１＋（（基準ベクトル・検出ベクトルの内積）／（（基準ベクトルの大きさ）＾２）））／２
図７（Ｂ）のような位置にオブジェクト色１３０４とＨＬ色１３０５がある場合、基準ベクトル１３０３と検出ベクトル１３０６の向き、大きさがいずれも同じなので、内積は１となる。この時の信頼度は１となる。
【００８３】
次に、検出ベクトルが適正でない場合について図７（Ｃ）を用いて説明する。ＨＬ色（ＨＬＣｂ，ＨＬＣｒ）、もしくはオブジェクト色（ＯｂｊＣｂ，ＯｂｊＣｒ）が誤検出した場合について以下に示す。図７（Ｃ）のオブジェクト色１４０１とＨＬ色１４０２とから定まる検出ベクトル１４０３のように、検出ベクトルの向きが基準オブジェクト色１４０４と基準ＨＬ色１４０５とから定まる基準ベクトル１４０６に対して角度差があったり、大きさが異なることがある。
【００８４】
図７（Ｃ）のような位置にオブジェクト色１４０１とＨＬ色１４０２がある場合、検出ベクトル１４０３と基準ベクトル１４０６の向きは６０°違うので、上述した信頼度算出の式５によれば、このときの信頼度Ｒ＿Ｖｅｃは０．７５となる。
【００８５】
次に、前述のように検出ベクトル１４０３を適正化するために得られた信頼度Ｒ＿Ｖｅｃ（＝０．７５）に基づいて、まずＨＬ色１４０２を修正する例について述べる。また、信頼度は、重み係数と同等のものであってもいいことは言うまでもない。
【００８６】
ここで、検出されたＨＬ色（ＨＬＣｂ，ＨＬＣｒ）１４０２を第１ＨＬ色（ｆ＿ＨＬＣｂ，ｆ＿ＨＬＣｒ）とし、修正後のＨＬ色を第２ＨＬ色（ｓ＿ＨＬＣｂ，ｓ＿ＨＬＣｒ）と呼ぶことにする。第２ＨＬ色は以下の式６で求めることができる。また、ここでは基準ＨＬ色（ｂ＿ＨＬ）は、オブジェクト色１４０１から基準ベクトル１４０６分移動した点を基準ＨＬ色とする。基準ＨＬ（ｂ＿ＨＬ）は図７（Ｃ）におけるＨＬ色１４０７である。
【００８７】
［式６］
ｓ＿ＨＬＣｂ＝ｂ＿ＨＬＣｂ＋（ｆ＿ＨＬＣｂ−ｂ＿ＨＬＣｂ）×Ｒ＿Ｖｅｃ
ｓ＿ＨＬＣｒ＝ｂ＿ＨＬＣｒ＋（ｆ＿ＨＬＣｒ−ｂ＿ＨＬＣｒ）×Ｒ＿Ｖｅｃ
ここで、信頼度が１の時には、ＨＬ色が信頼できるとして、第１ＨＬ色が第２ＨＬ色となる。次に、信頼度が０の時には、ＨＬ色が信頼できないとして、基準ＨＬ色が第２ＨＬ色となる。信頼度が０より大きく、１より小さい時には、重み係数に従って、基準ＨＬ色と第１ＨＬ色の間で第２ＨＬ色が決定される。
【００８８】
信頼度の範囲、値、基準ＨＬ色、基準オブジェクト色は任意で決めることができることは言うまでもない。また、所定色平面、または空間は、例えばＹＣｂＣｒ空間やＹＣ１Ｃ２空間、あるいはＣＩＥ  Ｌ＊ａ＊ｂ＊空間等のいずれであっても構わない。また、本発明における信頼度算出方法、第２ＨＬ色の算出方法は上記に示した式６に限定されるものではない。上記説明した処理によって修正された画像のＨＬ色およびオブジェクト色情報は、後段である光源推定部２０４に入力される。
【００８９】
（光源推定部２０４）
ここでは、光源推定部２０４の詳細について、図８のフローチャートを用いて説明する。本発明では、入力画像から撮影時光源の種類、あるいは色温度を推定する方法を、特に限定するものではない。ここでは一例として、特許文献１に開示されている技術を応用して処理の説明を行う。本処理は、例えば、本発明を実現可能な画像処理装置１００が有する記憶部であるＲＯＭ１０３等に格納されたプログラムをＣＰＵ１０１が読み出し、実行する。
【００９０】
図８において、まずＳ１５０１で、光源推定部２０４は、入力画像におけるグレー軸を決定する。グレー軸の決定は、上述したハイライト領域の色であるＨＬＣｂ，ＨＬＣｒを用いて、図９（Ａ）、（Ｂ）のように決定する。
【００９１】
グレー軸は、図９（Ａ）に示すようにＹＣｂＣｒ色空間において、色平面Ｃｂ−Ｃｒに対して垂直な直線１６０１に設定する。あるいは、図９（Ｂ）に示すように、Ｙ＝２５５においては、（Ｃｂ＝ＨＬＣｂ，Ｃｒ＝ＨＬＣｒ）で、Ｙ＝０においては（Ｃｂ＝０，Ｃｒ＝０）となるような直線１７０１をグレー軸としてもよい。
【００９２】
通常、撮像装置により生成された画像の暗部は、撮像装置の受光素子まで光が届いていないため暗くなるので、光源の影響を受けにくいと考えられる。このことから、撮像装置の特性によっては、後者の図９（Ｂ）に示したようにグレー軸を設定した方が、光源推定精度が向上する場合がある。
【００９３】
次に、Ｓ１５０２において、光源推定部２０４は、入力画像中のオブジェクト色画素とグレー画素を抽出し、マップを作成する。マップの作成は、図１０のフローに従って行う。なお、光源推定を行う対象画像は、入力画像でもよいが、上述したように入力画像は高解像度であるため、本実施形態では、ヒストグラム算出のために生成した縮小画像を用いて光源推定を行う場合を想定する。これにより、光源推定の処理時間を短縮でき、さらに１度縮小した画像を異なる処理で使いまわすこともできるため、再度縮小画像を生成する時間を省くことができる。
【００９４】
ここで、図１０に示すマップ作成の処理について述べる。ここでのグレー・肌色マップは、配列データとしてＭＡＰ［ｙ］［ｘ］が定義され、ＲＡＭ１０２等に保持されているものとする。まずＳ１８０１において、光源推定部２０４は、グレー・肌色マップＭＡＰ［ｙ］［ｘ］の各要素を０に初期化する。次にＳ１８０２において、光源推定部２０４は、処理対象である縮小画像の注目画素について、ＲＧＢ成分値をＹＣｂＣｒ値へ変換する。次にＳ１８０３において、光源推定部２０４は、図９（Ａ）、（Ｂ）でＹＣｂＣｒ空間に設定したグレー軸を参照し、注目画素のＹＣｂＣｒ値とグレー軸との距離を、公知の点と直線の距離の求め方に従って算出する。算出した距離が所定の閾値と比較して小さければ、グレー軸近傍画素とし（Ｓ１８０３にてＹＥＳ）、Ｓ１８０４において、前記縮小画像と同じ幅と高さで用意された２次元配列ＭＡＰ［ｙ］［ｘ］の、注目画素位置と対応付けられたメンバを１に設定する。
【００９５】
グレー軸近傍と判定されなかった場合には（Ｓ１８０３にてＮＯ）、Ｓ１８０４において、注目画素が肌色近傍であるか否かの判定を行う。本実施形態においては、ＹＣｂＣｒ空間内に、オブジェクト色算出部３０３で算出したオブジェクト色情報（ＯｂｊＹ，ＯｂｊＣｂ，ＯｂｊＣｒ）を基に、図１１で示すような円柱状のオブジェクト色領域１９０１を設定する。以下、この領域を肌色領域と記載する。図１１において、オブジェクト色領域１９０１は、Ｃｂ−Ｃｒ色平面においてオブジェクト色（ＯｂｊＣｂ，ＯｂｊＣｒ）を中心とする半径ＯｂｊＲの円柱となっている。ここで、ＯｂｊＲは予め定められた値である。また、円柱の高さＯｂｊＹｍａｘ，ＯｂｊＹｍｉｎは、例えば、以下の式７によって求めることができる。
【００９６】
［式７］
ＯｂｊＹｍａｘ＝ＯｂｊＹ＋Δｈ
ＯｂｊＹｍｉｎ＝ＯｂｊＹ−Δｈ
ここで、Δｈは、予め定められた定数であり、ＯｂｊＹは、オブジェクト色算出部３０３で算出されたオブジェクト色の輝度成分である。
【００９７】
Ｓ１８０５では、光源推定部２０４は、注目画素がオブジェクト色領域１９０１に含まれる場合に、注目画素はオブジェクト色近傍に位置すると判断し（Ｓ１８０５にてＹＥＳ）、Ｓ１８０６において、ＭＡＰ［ｙ］［ｘ］の注目画素位置と対応付けられたメンバを２に設定する。そして、入力画像中における全ての画素に対して処理が終了すると（Ｓ１８０７にてＹＥＳ）、本処理フローを完了する。なお、本実施形態においては、簡単のため、肌色領域は図１１に示すような円柱形で説明したが、本発明はこれに限定されるものではない。例えば、算出したオブジェクト色を中心とする半径ＯｂｊＲの球形でも良いし、その他類似形状でも良く、この場合においても本発明の範疇に含まれることは言うまでもない。
【００９８】
図１０を用いて上述したグレー・肌色画素のマップが生成できた場合には、次に図８のＳ１５０３〜Ｓ１５０７において、撮影時光源の推定を行う。光源推定の方法については本発明では特に限定しないが、ここでは、特許文献１に記載された方法を用いて説明する。特許文献１によれば、通常カメラのカラーバランス補正はＲＧＢ各成分にそれぞれ調整用のゲインを乗じることにより行われる。このような調整によって得られた画像データは、カメラの分光分布特性から得られた画像データと異なる挙動を示す。
【００９９】
具体的には、各種光源下において、カメラの分光特性から算出したグレーと肌色の軌跡を黒体軌跡とする。カメラ内部において、カラーバランス補正前のグレーと肌色の分布は、黒体軌跡上に分布している。しかし、カメラ内部でカラーバランス補正を行うためにＲＧＢ各成分に所定ゲインを乗じると、その結果得られた画像のグレーと肌色の分布は、上記黒体軌跡には適合しない分布となる。
【０１００】
このような特性を利用し、上記カラーバランス補正が施された後の画像に対して、画素毎にカラーバランス補正の逆変換の意味で様々な係数を乗じる。逆変換後の画像の各画素を黒体軌跡平面にプロットし、グレーおよび肌色の黒体軌跡近傍の画素数をカウントする。カウントした画素数が最大となる場合が、カラーバランス補正前の撮影時の状態であり、グレーおよび肌色が最も多く分布する黒体軌跡の位置に基づいて、撮影時光源を決定する。なお、光源推定方法について、更なる詳細については特許文献１を参照すること。
【０１０１】
以下では、特許文献１を参照しながら、Ｓ１５０３〜Ｓ１５０７の処理の説明を行う。まずＳ１５０３では、光源推定部２０４は、上述したようにカメラ内部のカラーバランスの逆変換を行う意味で、縮小画像の注目画素におけるＲＧＢ各色成分に様々な逆変換係数を乗じる。
【０１０２】
Ｓ１５０３では、光源推定部２０４は、最初に逆変換を行うための係数ｒ，ｇ，ｂを決定する。係数ｒ，ｇ，ｂは例えば、０．５〜１．５の範囲で変動する係数で、０．１ずつ増加するものと仮定する。特許文献１に示された方法をそのまま用いると、係数ｒ，ｇ，ｂは１０の３乗回、すなわち１０００回の逆変換を行う必要がある。この１０００回の逆変換を、対象となるグレー・肌色領域に含まれるすべての画素に対して行うと、処理量が膨大になるという問題がある。
【０１０３】
そこで本実施形態では上記問題を鑑み、画像のＨＬ色と相反する方向への逆変換処理を行わない。具体的には、画像解析部２０２で解析した画像のＨＬ色（ＨＬＹ，ＨＬＣｂ，ＨＬＣｒ）をＲＧＢ色空間に変換して（ＨＬＲ，ＨＬＧ，ＨＬＢ）値を得る。ＨＬＲとＨＬＢを比較し、ＨＬＲ＞ＨＬＢであった場合には、逆変換係数ｒ，ｇ，ｂの組み合わせのうち、ｒ＞ｂとなる場合にのみ、以降の逆変換処理を実施する。逆にＨＬＲ＜ＨＬＢであった場合には、逆変換係数ｒ，ｇ，ｂの組み合わせのうち、ｒ＜ｂとなる場合にのみ、以降の逆変換処理を実施する。
【０１０４】
上述したように、入力画像のＨＬ色は、撮像装置内部でカラーバランス補正が施されたとしても、撮影環境における光源の種類がある程度反映されている確率が非常に高い。例えば、３０００Ｋ付近の白熱光源のもとで撮影された画像は、撮像装置内部でカラーバランス補正が適用されたとしても、画像のＨＬ色は青方向ではなく、オレンジ方向の色成分となる場合がほとんどである。逆に、晴天下の野外の日陰など、色温度が高い状況下で撮影された画像は、撮像装置内部でカラーバランス補正が適用されたとしても、画像のＨＬ色は青方向の色成分となる場合がほとんどである。
【０１０５】
従って、上述したような画像ＨＬの色成分のバランスに応じて逆変換を行う係数を限定することにより、画像とは無関係な演算を除去することが可能となる。また、その結果得られる光源推定色温度も、画像のＨＬ色と相反する値を算出することにならないため、安定したカラーバランス補正を行うことが可能となる。
【０１０６】
Ｓ１５０３では、光源推定部２０４は、縮小画像の注目画素におけるＲＧＢ各成分に、上述した処理によって決定した逆変換係数ｒ，ｇ，ｂを乗じ、Ｒ’Ｇ’Ｂ’を得る。以下に算出式を示す。
【０１０７】
［式８］
Ｒ’＝Ｒ×ｒ
Ｇ’＝Ｇ×ｇ
Ｂ’＝Ｂ×ｂ
ただし、本実施形態においては、特許文献１とは異なり、上述したグレー・肌色画素マップを参照し、Ｓ１５０３において注目画素がグレーあるいは肌色画素であると判断された場合にのみ、上記逆変換を行うものとする。ここで、グレー画素と判断された画素数をｃｏｕｎｔ＿ｇ、肌色画素と判断された画素数をｃｏｕｎｔ＿ｈとする。
【０１０８】
このようにすることで、画像中の全画素を用いている特許文献１に比べ、本実施形態の方法では、グレー・肌色とは無関係の画素を排除して光源推定を行うことで、光源推定精度の向上や、光源推定に要する処理時間を短縮することが可能となる。
【０１０９】
その後、Ｓ１５０４において、Ｒ’Ｇ’Ｂ’成分を所定色成分に変換し、所定色平面において予め定義してある黒体軌跡との距離を算出する。該距離が所定値以下である場合には、逆変換後のＲ’Ｇ’Ｂ’値が黒体軌跡近傍に位置すると判断し、画素数のカウントアップを行う。
【０１１０】
Ｓ１５０３〜Ｓ１５０４の処理を、入力された縮小画像の全画素について行うことで、ある一つの逆変換係数セット（ｒ，ｇ，ｂ）値において、黒体軌跡近傍の画素数を算出することができる。そして、Ｓ１５０３〜Ｓ１５０５の処理を、予め用意してある様々な逆変換セットに対して、繰り返し行う（Ｓ１５０６）。
【０１１１】
その結果、Ｓ１５０７において黒体軌跡近傍の画素数が最大となる逆変換セット（ｒ＿ｍａｘ，ｇ＿ｍａｘ，ｂ＿ｍａｘ）を算出し記憶する。さらに、該セットにおける黒体軌跡上の肌色・グレー画素の分布に応じて、撮影時光源の色温度Ｋを決定する（詳細は特許文献１を参照）。ここで、黒体軌跡近傍の画素数の最大値を、ｃｏｕｎｔ＿ｍａｘとする。
【０１１２】
ここでＫの単位はケルビンであり、通常２５００〜１００００程度の値を保持することになる。撮影時光源が昼光下の場合、５５００ケルビン前後、白熱灯などのオレンジ光源の場合には３０００ケルビン前後、曇りの日や日陰においては８０００ケルビン前後の値となることが多い。
【０１１３】
また、ここで光源推定の信頼度Ｒ＿ｌｓｅを、以下のように定義することができる。
【０１１４】
［式９］
Ｒ＿ｌｓｅ＝（ｃｏｕｎｔ＿ｍａｘ）／（ｃｏｕｎｔ＿ｇ＋ｃｏｕｎｔ＿ｈ）
式９は、ｃｏｕｎｔ＿ｍａｘ＝（ｃｏｕｎｔ＿ｇ＋ｃｏｕｎｔ＿ｈ）となった場合、Ｒ＿ｌｓｅ＝１．０となる。これはすなわち、Ｓ１５０３において、注目画素が肌色あるいはグレー画素と判断された全ての画素が、黒体軌跡近傍に含まれているということになり、その結果得られた光源推定値は信頼度が非常に高いと判断できる。以上が、光源推定部２０４の説明である。
【０１１５】
（第１の色変換部２０５）
次に、図２に示した第１の色変換部２０５について説明する。第１の色変換部２０５では、入力画像に対し、カメラ内部で施されたカラーバランス補正をキャンセルすることを目的とした第１の色変換処理を行う。本実施形態においては、上記記憶してある逆変換セット（ｒ＿ｍａｘ，ｇ＿ｍａｘ，ｂ＿ｍａｘ）を入力画像中の各画素のＲＧＢ成分値にそれぞれ乗じることで、実行することができる。
【０１１６】
（第２の色変換部２０６）
次に図２に示した第２の色変換部２０６において、第２の色変換処理を行う。第２の色変換処理の目的は、第１の色変換処理を行い、カメラ内部のカラーバランス補正をキャンセルした画像に対し、推定した撮影時光源の色温度に基づいて、人間の視覚特性を考慮したカラーバランス補正を行うことである。
【０１１７】
このようなカラーバランス補正の１例として、ここでは、ＣＩＥＣＡＭ０２を用いて説明を行う。ＣＩＥＣＡＭ０２とは、ＣＩＥが２００２年に制定したＣｏｌｏｒ  Ａｐｐｅｒａｎｃｅ  Ｍｏｄｅｌのことである。ＣＩＥＣＡＭ０２では、入力パラメータとして、観察条件に関するもの（ｃ，Ｎｃ，Ｆや観察光源の白点ＸＹＺ値等）の他に、人間の視覚特性の順応率Ｄを設定することができる。
【０１１８】
これらのパラメータを用いて、観察条件Ａに相当するパラメータを設定して、入力画像を、ＸＹＺ色空間から観察条件非依存な色空間ＪＣｈに変換する。変換されたＪＣｈ色空間から、さらに別の観察条件Ｂを指定し、ＸＹＺに変換することにより、双方の観察条件下で同じ“見え”の再現を行うことが可能となる。
【０１１９】
ＣＩＥＣＡＭ０２については様々な文献で開示されている。例えば、ＣＩＥ  Ｐｕｂｌｉｃａｔｉｏｎ，  ＴＣ８−０１，  Ａ  Ｃｏｌｏｒ  Ａｐｐｅａｒａｎｃｅ  Ｍｏｄｅｌ  ｆｏｒ  Ｃｏｌｏｕｒ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍｓ等が挙げられる。そのため、詳細については上記文献等を参照することとし、本実施形態においては概要説明に留める。本実施形態においては、ＣＩＥＣＡＭ０２を利用し、撮影時光源下での“見え”を、所定の観察条件下（例えば、モニタや印字物）で再現する方法について説明する。
【０１２０】
図１２は、第２の色変換部２０６による処理の流れを示している。以下では、該フローに沿って説明を行う。なお、本処理は本発明が実現可能な画像処理装置１００が有する記憶部であるＲＡＭ１０２等に格納されたプログラムをＣＰＵ１０１が読み出し、実行するものとする。
【０１２１】
図１２において、まずＳ２００１にて、第２の色変換部２０６は、光源推定部２０４で推定した撮影時光源の色温度に従って、各種パラメータを算出する。主なパラメータとして、撮影時光源下での白点ＸＹＺ値および、順応率Ｄｉｎが存在する。
【０１２２】
まず白点ＸＹＺ値については、以下の方法で算出する。すなわち、予め図１３に示すように、主要な色温度におけるＹＣｂＣｒ値をＲＯＭ１０３等の記憶部に記憶しておく。さらに、推定した色温度に応じて補間演算を行うことにより、光源推定の結果得られた色温度に相応する白点（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）を求めることができる。例えば、推定色温度が３７５０ケルビンであった場合、２０００ケルビンと５５００ケルビンの中間であるため、白点（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）値は、（２５５，−１５，１５）となる。
【０１２３】
求められた白点（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）値は、公知の変換式によってｓＲＧＢ色空間を経由してＸＹＺ値に変換することができる。また、Ｓ２００１では、第２の色変換部２０６が撮影時光源における順応率Ｄｉｎも決定する。順応率Ｄｉｎは予め設定した固定値（例えば、Ｄｉｎ＝０．８など）により設定してもよい。ここまでの処理により、撮影時の光源推定に基づくハイライト色が算出される。この算出結果に基づいて、第１のハイライト色が決定し、第１のハイライト色決定が行われることとなる。
【０１２４】
以上述べたのは、推定した撮影時光源下におけるパラメータの算出方法であるが、ここで考慮しなければならない点として、上記光源推定結果は、常に正しいとは限らない点である。例えば、光源推定の結果から算出した白点（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）の値と、画像解析部２０２で算出したＨＬ色（ＨＬＹ，ＨＬＣｂ，ＨＬＣｒ）がほとんど同値である。この場合は、基準白点は正しいものとしてカラーバランス補正を実行することができる。しかし、両者が大きくかけ離れた場合には、最終的にどちらの白点を用いて補正処理を行うか、判断する必要がある。
【０１２５】
上記問題を鑑み、本実施形態では、図１２のＳ２００２において、画像解析部２０２で得られたＨＬ色と、光源推定の結果得られた白点との両者を用いて、最終的な基準白点を算出する方法について説明する。
【０１２６】
図１４（Ａ）は、本実施形態における最終白点の決定方法を記載している。図１４（Ａ）はＣｂＣｒ色平面を示しており、光源推定の結果から算出した白点２２０１、画像解析部２０２で算出したＨＬ色２２０２、白点２２０１とＨＬ色２２０２との両者から算出した最終白点２２０３を示している。本実施形態では最も簡単な例として、最終白点（ＦｉｎＹ，ＦｉｎＣｂ，ＦｉｎＣｒ）を以下の式１０により算出する。なお、光源推定から求められた白点２２０１を第１ＨＬ色、画像解析により求められたＨＬ色２２０２を第２ＨＬ色、最終的に求められる最終白点２２０３を第３ＨＬ色に相当する。ここで白点２２０１の座標を（ＥｓＣｂ，ＥｓＣｒ）にて示し、ＨＬ色２２０２の座標を（ＨＬＣｂ，ＨＬＣｒ）にて示している。
【０１２７】
［式１０］
ＦｉｎＹ＝（ＥｓＹ＋ＨＬＹ）／２
ＦｉｎＣｂ＝（ＥｓＣｂ＋ＨＬＣｂ）／２
ＦｉｎＣｒ＝（ＥｓＣｒ＋ＨＬＣｒ）／２
式１０は、最終白点を白点とＨＬ色との両者の中点とすることを意味している。該最終白点を、公知の公式によってＸＹＺ値に変換し、該ＸＹＺ値を用いて後述するカラーバランス補正を実行する。これの手法により、第３のハイライト色算出を行う。
【０１２８】
上記方法により求めた最終白点を用いてカラーバランス補正を行うことにより、どちらか一方のみを用いてカラーバランス補正を行う場合に比べて、大きな弊害を抑制でき、安定したカラーバランス補正を行うことが可能となる。
【０１２９】
なお、式１０においては簡単のため、白点２２０１とＨＬ色２２０２との両者の中点に設定したが、本発明はこれに限定されるものではない。例えば以下の式１１のように、予め定められた固定の内分率Ｗ＿ａおよびＷ＿ｂを用いて、最終白点の座標を決定することもできる。
【０１３０】
［式１１］
ＦｉｎＹ＝ＥｓＹ×Ｗ＿ａ＋ＨＬＹ×Ｗ＿ｂ
ＦｉｎＣｂ＝ＥｓＣｂ×Ｗ＿ａ＋ＨＬＣｂ×Ｗ＿ｂ
ＦｉｎＣｒ＝ＥｓＣｒ×Ｗ＿ａ＋ＨＬＣｒ×Ｗ＿ｂ
式１１において、以下の拘束条件を用いれば、最終白点は、両者の線分上に存在することになる。
【０１３１】
拘束条件：Ｗ＿ａ≧０、Ｗ＿ｂ≧０、かつＷ＿ａ＋Ｗ＿ｂ＝１．０
例えば、光源推定部２０４の光源推定における処理精度が比較的信頼できる場合には、値をそれぞれ、Ｗ＿ａ＝０．６、Ｗ＿ｂ＝０．４として、（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）値の重み係数を大きくして、最終白点を決定することも可能である。または、その逆として、性能が低い場合には、重み係数を減らしてもよい。つまり、光源推定部２０４の光源推定における処理に応じて重み係数の割合を変更することが可能である。
【０１３２】
また、式１１において、（Ｗ＿ａ＋Ｗ＿ｂ）の値は、本発明の効果を満たす範疇であれば、必ずしも１．０に設定する必要はない。例えば、（Ｗ＿ａ＋Ｗ＿ｂ）は０．９〜１．１という拘束条件を設定することも可能である。この場合、図１４（Ｂ）に示す、実線で囲まれた台形範囲２３０１が最終白点の存在範囲となる。
【０１３３】
このように最終白点を決定する場合においても、（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）と（ＨＬＹ，ＨＬＣｂ，ＨＬＣｒ）のどちらか一方を使う場合に比べて、大きな弊害を抑制し、安定したカラーバランス補正を行うことが可能となる。以上が、本実施形態における最終白点算出方法の説明である。
【０１３４】
続いて、図１２に示すＳ２００３では、第２の色変換部２０６は、入力画像を観察する観察環境におけるパラメータを決定する。ここでの観察環境とは、例えばモニタ１１１が挙げられる。よく知られているようにｓＲＧＢモニタは白点がＤ６５に設定されている。すなわち、ＹＣｂＣｒ空間であれば、（２５５，０，０）に相当する。この値を、同様にＸＹＺ値に変換することで、観察環境におけるＸＹＺを得ることができる。また、観察環境における順応率Ｄｏｕｔも上記と同様に、予め設定した固定値などで決定することができる。
【０１３５】
なお、上記においては、説明を簡単にするため、ＹＣｂＣｒ空間で各光源下における白点座標を保持したが、本発明はこれに限定されるものではない。たとえば、ＸＹＺ空間やｓＲＧＢ空間、あるいはＣＩＥ  Ｌ＊ａ＊ｂ＊空間等で代表座標を保持してもよい。また、白点座標は、代表座標を保持するのではなく、所定色空間における数式によって表現することも可能である。本発明はそのいずれを用いても構わない。
【０１３６】
次に、図１２のＳ２００４において、第２の色変換部２０６は、入力画像の注目画素の各ＲＧＢ値（本実施形態ではｓＲＧＢ色空間）を公知の変換式により、ＸＹＺ色空間に変換する。次にＳ２００５において、第２の色変換部２０６は、Ｓ２００１で算出した撮影時光源下でのパラメータ（白点ＸＹＺ，Ｄｉｎ）に対し、該ＸＹＺをＣＩＥＣＡＭ０２の公知の文献に記載された変換式を用いて、ＪＣｈ色空間に変換する。
【０１３７】
次にＳ２００６において、第２の色変換部２０６は、Ｓ２００３で算出した観察環境におけるパラメータ（最終白点のＸＹＺ値，Ｄｏｕｔ）に対し、該ＪＣｈをＣＩＥＣＡＭ０２の公知の文献に記載された変換式を用いて、Ｘ’Ｙ’Ｚ’値に変換する。最後にＳ２００７において、第２の色変換部２０６は、Ｘ’Ｙ’Ｚ’値に対し、公知の変換式を用いてｓＲＧＢ色空間に変換し、補正後の画素値Ｒ’Ｇ’Ｂ’値を得る。
【０１３８】
Ｓ２００４〜Ｓ２００７の処理を、注目画素位置を移動させながら、入力画像全体に対して施す（Ｓ２００８）。以上の処理により、撮影時に見ていた“見え”に近い状態を、観察環境であるモニタ上に再現することが可能となる。
【０１３９】
上記のような処理を用いた結果得られた画像の特徴を、図１５を用いて説明する。図１５は、横軸が色差、縦軸が輝度を示しており、白丸は第２の色変換部２０６に入力された、色かぶりを起こしている画像のグレー軸を示し、黒丸は該画素値の第２の色変換処理後の画素値を示している。白丸は色かぶりを生じているため、輝度軸からずれた位置に存在している。また、図１５に示すように明部領域側の画素における変化量２４０１に対し、暗部領域側の画素における変化量２４０２の方が小さくなっている。
【０１４０】
白丸画素に対して、上述したような第２の色変換処理を施すと、人間の順応機能により、白丸軸は輝度軸、つまり無彩色方向に補正されるが、その補正量は明部領域（輝度が高い画素）ほど大きく、暗部領域（輝度が低い画素）になるに従って小さくなる。
【０１４１】
すなわち、入力画素値のうち、同一色相・同一彩度の複数画素に着目すると、明るい画素の方が暗い画素よりも、第２の色変換による変化量が大きくなる。これは、明部のほうが暗部よりも順応率が高くなるという人間の視覚特性に基づくもので、このような処理を行うことで、従来よりも撮影時の“見え”に近い画像再現が可能となる。
【０１４２】
また、順応率Ｄｉｎ，Ｄｏｕｔを１．０未満に設定することで、人間の視覚特性の中でも重要な不完全順応状態を考慮することができ、従来よりも撮影時の“見え”に近い画像再現が可能となる。
【０１４３】
以上により、本実施形態により、赤かぶりや青かぶりした画像のカラーバランスを適正に補正することが可能となる。また、黄色い花のマクロ撮影や青空のみの撮影したような画像に対しては、カラーバランス補正の補正量に抑制がかかり、白っぽく補正されてしまう著しい画像弊害を軽減させることが可能である。また、入力画像から算出したＨＬ色と予め保持しているＨＬ色の黒体軌跡との距離によってカラーバランス補正を制御することで、弊害が少なく安定したカラーバランス制御を行うことができる。
【０１４４】
＜第二実施形態＞
本実施形態では、画像解析結果修正部２０３で算出した信頼度Ｒ＿Ｖｅｃの設定方法として、更に例を挙げて説明する。第一実施形態で説明したように、ＨＬ色とオブジェクト色は光源が変わっても関係をほぼ一定に保っているという特徴がある。その特徴から信頼度Ｒ＿Ｖｅｃを設定する方法を図１６（Ａ）を用いて、以下で説明する。
【０１４５】
図１６（Ａ）はＹＣｂＣｒ空間のＣｂＣｒ平面である。信頼度は０〜１．０で定められている。この場合、肌色であるオブジェクト色の座標（ＯｂｊＣｂ，ＯｂｊＣｒ）を原点として、ＨＬ色（ＨＬＣｂ，ＨＬＣｒ）が第４象限に位置する座標２５０２にある場合にはオブジェクト色とＨＬ色の位置関係が信頼できるので、信頼度を１とする。また、ＨＬ色が第２象限に位置する座標２５０３にある場合には、オブジェクト色とＨＬ色の位置関係が信頼しにくいとし、信頼度を０とする。
【０１４６】
図１６（Ａ）の座標２５０２に位置するＨＬ色がオブジェクト色の座標２５０１である肌色を円の中心として、円２５０４を描くように動いた場合、第１象限、更には第２象限に移動するに従って、予め決められた割合によって信頼度は低くなっていく。また、第３象限、更には第４象限に動いた場合も同じように、予め決められた割合によって信頼度は高くなる。
【０１４７】
第４象限において、図１６（Ａ）の座標２５０２に示すＨＬ色がオブジェクト色の座標２５０１とＨＬ色の座標２５０２を通る直線２５０５上を動いた場合、オブジェクト色の座標２５０１に近づくほど、予め決められた割合によって信頼度は高くなる。また、遠ざかるほど、予め決められた割合によって信頼度は低くなる。
【０１４８】
信頼度の範囲、値は任意で決めることができることは言うまでもない。また、所定色平面、または空間は、例えばＹＣｂＣｒ空間やＹＣ１Ｃ２空間、あるいはＣＩＥ  Ｌ＊ａ＊ｂ＊空間等のいずれであっても構わない。
【０１４９】
以上により、更なる信頼度の定義を行うことができ、第一実施形態と同様の効果を得ることが可能である。
【０１５０】
＜第三実施形態＞
第一実施形態では、画像解析結果修正部２０３において、第１のＨＬ色を誤検出している場合の処理について説明した。本実施形態では、画像解析結果修正部２０３において、第１オブジェクト色を誤検出している場合の処理について図１６（Ｂ）を用いて説明する。
【０１５１】
第一実施形態において算出した信頼度Ｒ＿Ｖｅｃが高く、顔検出の信頼度Ｒ＿ｆａｃｅが低い場合、オブジェクト色を誤検出している、またはＨＬ色、オブジェクト色を誤検出している可能性が高いことを意味する。
【０１５２】
誤検出をしている可能性が高い場合、適切な撮影時光源を推定することができず、画像データのカラーバランスが大きく崩れる可能性がある。そこで、得られた信頼度に基づいた重み付けを行い、修正をする必要がある。信頼度は重み係数と同等のものであってもいいことは言うまでもない。また、この時の修正はオブジェクト色、ＨＬ色の両方を修正しても構わないし、オブジェクト色のみを修正しても構わない。
【０１５３】
信頼度Ｒ＿Ｖｅｃ、もしくは顔検出の信頼度Ｒ＿ｆａｃｅが低くなるほど、誤検出の可能性が高いため、補正の効果を弱める必要がある。補正の効果を弱めるためには、基準ＨＬ色（ｂ＿ＨＬＣｂ，ｂ＿ＨＬＣｒ）、基準オブジェクト色（ｂ＿ＯｂｊＣｂ，ｂ＿ＯｂｊＣｒ）を設定する際に、白の基準である昼光色の光源下でのＨＬ色、オブジェクト色を用いるのが好ましい。本実施形態では、基準ＨＬ色は昼光色の光源下での白点であり、基準オブジェクト色は昼光色の光源下での人の肌色が設定されるが、この基準ＨＬ色、基準オブジェクト色は自由に設定して構わない。
【０１５４】
以下に、信頼度Ｒ＿Ｖｅｃ、顔検出の信頼度Ｒ＿ｆａｃｅに基づいて、オブジェクト色もしくはＨＬ色の少なくとも一方を修正する例について述べる。第一実施形態でも述べたように、検出ＨＬ色（ＨＬＣｂ，ＨＬＣｒ）を第１ＨＬ色（ｆ＿ＨＬＣｂ，ｆ＿ＨＬＣｒ）とし、修正後のＨＬ色を第２ＨＬ色（ｓ＿ＨＬＣｂ，ｓ＿ＨＬＣｒ）と呼ぶことにする。同様にして、検出オブジェクト色（ＯｂｊＣｂ，ＯｂｊＣｒ）を第１オブジェクト色（ｆ＿ＯｂｊＣｂ，ｆ＿ＯｂｊＣｒ）とし、修正後のオブジェクト色を第２オブジェクト色（ｓ＿ＯｂｊＣｂ，ｓ＿ＯｂｊＣｒ）と呼ぶことにする。第２オブジェクト色は式１２にて表すことができ、第２ＨＬ色は式１３にて表すことができる。式１２、１３には、信頼度Ｒ＿ｖｅｃ、顔検出の信頼度Ｒ＿ｆａｃｅを含む。
【０１５５】
［式１２］
ｓ＿ＯｂｊＣｂ＝ｂ＿ＯｂｊＣｂ＋（ｆ＿ＯｂｊＣｂ−ｂ＿ＯｂｊＣｂ）×Ｒ＿ｖｅｃ×Ｒ＿ｆａｃｅ
ｓ＿ＯｂｊＣｒ＝ｂ＿ＯｂｊＣｒ＋（ｆ＿ＯｂｊＣｒ−ｂ＿ＯｂｊＣｒ）×Ｒ＿ｖｅｃ×Ｒ＿ｆａｃｅ
［式１３］
ｓ＿ＨＬＣｂ＝ｂ＿ＨＬＣｂ＋（ｆ＿ＨＬＣｂ−ｂ＿ＨＬＣｂ）×Ｒ＿ｖｅｃ×Ｒ＿ｆａｃｅ
ｓ＿ＨＬＣｒ＝ｂ＿ＨＬＣｒ＋（ｆ＿ＨＬＣｒ−ｂ＿ＨＬＣｒ）×Ｒ＿ｖｅｃ×Ｒ＿ｆａｃｅ
図１６（Ｂ）に示すＹＣｂＣｒ空間のＣｂＣｒ平面において、第１オブジェクト色２６０１、第１ＨＬ色２６０２、基準オブジェクト色２６０３、基準ＨＬ色２６０４を示す。この場合に、式１２および式１３の結果によって第２オブジェクト色は基準オブジェクト色と第１オブジェクトを結ぶ直線２６０５上に位置し、第２ＨＬ色は基準ＨＬ色と第１ＨＬを結ぶ直線２６０６上に位置する。
【０１５６】
ここでの、所定色平面、または空間は、例えばＹＣｂＣｒ空間やＹＣ１Ｃ２空間、あるいはＣＩＥ  Ｌ＊ａ＊ｂ＊空間等のいずれであっても構わない。本発明における第２ＨＬ色および第２オブジェクト色の算出方法は上記式に限定されるものではない。
【０１５７】
＜第四実施形態＞
第一実施形態では、図１２のＳ２００２における最終白点決定処理において、画像解析部２０２でＨＬ色（ＨＬＹ，ＨＬＣｂ，ＨＬＣｒ）を算出する。そして、算出したＨＬ色と光源推定結果から得られた白点（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）の中点を、最終白点とする場合について説明している。しかし、本発明はこれに限定されるものではない。
【０１５８】
例えば、最終白点は、第一実施形態で説明した光源推定信頼度Ｒ＿ｌｓｅ（＝０〜１．０）を用いて、次式により決定することができる。
【０１５９】
［式１４］
ＦｉｎＹ＝ＥｓＹ×Ｒ＿ｌｓｅ＋ＨＬＹ×（１．０−Ｒ＿ｌｓｅ）
ＦｉｎＣｂ＝ＥｓＣｂ×Ｒ＿ｌｓｅ＋ＨＬＣｂ×（１．０−Ｒ＿ｌｓｅ）
ＦｉｎＣｒ＝ＥｓＣｒ×Ｒ＿ｌｓｅ＋ＨＬＣｒ×（１．０−Ｒ＿ｌｓｅ）
また、顔が検出できた場合には、肌色の推定が正確に行われているので、その場合には、顔検出の信頼度Ｒ＿ｆａｃｅを加味した重み係数Ｗ＿ｍｉｘを用いて、最終白点を決定することもできる。
【０１６０】
［式１５］
ＦｉｎＹ＝ＥｓＹ×Ｗ＿ｍｉｘ＋ＨＬＹ×（１．０−Ｗ＿ｍｉｘ）
ＦｉｎＣｂ＝ＥｓＣｂ×Ｗ＿ｍｉｘ＋ＨＬＣｂ×（１．０−Ｗ＿ｍｉｘ）
ＦｉｎＣｒ＝ＥｓＣｒ×Ｗ＿ｍｉｘ＋ＨＬＣｒ×（１．０−Ｗ＿ｍｉｘ）
式１５において、重み係数Ｗ＿ｍｉｘは以下の式１６で表される。
【０１６１】
［式１６］
Ｗ＿ｍｉｘ＝（Ｒ＿ｆａｃｅ＋Ｒ＿ｌｓｅ）／２．０
式１６は、光源推定信頼度と顔検出信頼度が双方高い場合には（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）が重視され、どちらか一方が低い場合には、（ＨＬＹ，ＨＬＣｂ，ＨＬＣｒ）が重視されることを表している。
【０１６２】
以上説明したように、本実施形態では最終白点を、光源推定信頼度や顔検出信頼度を用いた重み付けにより画像毎に適応的に算出する。これにより、光源推定信頼度や顔検出信頼度が高い場合には、結果的に（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）を重視することになる。その結果、従来手法に比べ、致命的な誤補正を抑制した、安定度の高いカラーバランス補正を行うことが可能となる。
【０１６３】
＜第五実施形態＞
第四実施形態では、最終白点は、（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）と（ＨＬＹ，ＨＬＣｂ，ＨＬＣｒ）の所定の重み付けをした内分点として決定していた。本実施形態では別の方法として、オブジェクト検出部３０２で検出した肌の色が最も良化されるような白点を、最終白点として決定する方法について説明する。
【０１６４】
図１７は、図１２のＳ２００２における最終白点決定処理の詳細を示したものである。以下では、図１７に沿って、フローの説明を行う。本処理フローは、本実施形態を適用可能な画像処理装置１００が有する記憶部であるＲＯＭ１０３等に格納されたプログラムをＣＰＵ１０１が読み出して実行する。図１７では、まずＳ２７０１において、第２の色変換部２０６は、Ｎ番目の最終白点候補（ＣａｎＹ（Ｎ），ＣａｎＣｂ（Ｎ），ＣａｎＣｒ（Ｎ））を算出する。ハイライト色候補となる候補点の算出は、以下の式１７によって行う。
【０１６５】
［式１７］
ＣａｎＹ（Ｎ）＝ＥｓＹ×Ｗ＿ｃａｎ（Ｎ）＋ＨＬＹ×（１．０−Ｗ＿ｃａｎ（Ｎ））
ＣａｎＣｂ（Ｎ）＝ＥｓＣｂ×Ｗ＿ｃａｎ（Ｎ）＋ＨＬＣｂ×（１．０−Ｗ＿ｃａｎ（Ｎ））
ＣａｎＣｒ（Ｎ）＝ＥｓＣｒ×Ｗ＿ｃａｎ（Ｎ）＋ＨＬＣｒ×（１．０−Ｗ＿ｃａｎ（Ｎ））
式１７において、Ｗ＿ｃａｎ（Ｎ）は０．０から１．０まで１／Ｎずつ増加する重み係数となっており、Ｎ番目の候補点は、Ｗ＿ｃａｎ（Ｎ）を重み係数として（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）と（ＨＬＹ，ＨＬＣｂ，ＨＬＣｒ）を内分することを意味している。例えば、Ｎ＝４の場合、Ｗ＿ｃａｎは０．２５ずつ増加することにより、その際の候補点は、図１８（Ａ）の候補点２８０１として示される５つの候補点となる。これによりハイライト色候補算出を行う。
【０１６６】
次に、Ｓ２７０２およびＳ２７０３において、第１の色変換部２０５および第２の色変換部２０６は、算出したＮ番目の白点候補点を用いて、オブジェクト色（ＯｂｊＹ，ＯｂｊＣｂ，ＯｂｊＣｒ）に対して、第１および第２の色変換を行う。これにより、ハイライト色候補それぞれを用いたオブジェクト色に対する補正として、候補補正手段を実現する。なお、第１および第２の色変換については、第一実施形態で説明したものと同様のため、ここでは詳細な説明は割愛する。
【０１６７】
まずＳ２７０２において、第１の色変換部２０５は、（ＯｂｊＹ，ＯｂｊＣｂ，ＯｂｊＣｒ）に対してオブジェクト色値２７１０である白点（ＣａｎＹ（Ｎ），ＣａｎＣｂ（Ｎ），ＣａｎＣｒ（Ｎ））を用いて第１の色変換を実施し、（ＯｂｊＹ’，ＯｂｊＣｂ’，ＯｂｊＣｒ’）を得る。次に、Ｓ２７０３において、第２の色変換部２０６は、同様にＮ番目の白点候補を用いて（ＯｂｊＹ’，ＯｂｊＣｂ’，ＯｂｊＣｒ’）に対して第２の色変換を実施し、（ＯｂｊＹ’’，ＯｂｊＣｂ’’，ＯｂｊＣｒ’’）を得る。なお、第２の色変換を実施する際には、輝度色差信号（ＹＣｂＣｒ）をＸＹＺ値に変換する必要があるが、これは公知の公式により実現可能であるため、ここでの詳細説明は割愛する。
【０１６８】
次にＳ２７０４において、第２の色変換処理後のオブジェクト色（ＯｂｊＹ’’，ＯｂｊＣｂ’’，ＯｂｊＣｒ’’）が、色変換前のオブジェクト色（ＯｂｊＹ，ＯｂｊＣｂ，ＯｂｊＣｒ）に対して、良化するか否かの判定を行う。本実施形態においては、前記判定に用いる際の理想的なオブジェクト色情報である理想オブジェクト色値２７１１を、予め画像処理装置が保持していることを想定している。図１８（Ｂ）は、理想オブジェクト色値２７１１を示している。図１８（Ｂ）はＣｂ−Ｃｒ色平面を示し、オブジェクト色２９０１が理想的な値である（ＩｄｅＣｂ，ＩｄｅＣｒ）を示している。上述したように、オブジェクトが人物の顔色の場合、人の肌の明度は人種によって異なるが、肌の色は人種によって差異が少ないという特徴があるため、このように理想色を予め定めることが可能である。
【０１６９】
Ｓ２７０５では、色変換前後のオブジェクト色それぞれについて、該理想オブジェクト色との距離を算出する。距離算出の際に用いられる計算式は例えば以下の式を用いることができる。
【０１７０】
［式１８］
Ｄ＿ｏｒｇ＝ｓｑｒｔ（ＳＱ（ＯｂｊＣｂ−ＩｄｅＣｂ）＋ＳＱ（ＯｂｊＣｒ−ＩｄｅＣｒ））
Ｄ＿ｎ＝ｓｑｒｔ（ＳＱ（ＯｂｊＣｂ’’−ＩｄｅＣｂ）＋ＳＱ（ＯｂｊＣｒ’’−ＩｄｅＣｒ））
式１８において、色変換前のオブジェクト色と理想オブジェクト色との距離Ｄ＿ｏｒｇ、Ｎ番目の白点候補を用いて算出した色変換後のオブジェクト色と理想オブジェクト色との距離Ｄ＿ｎをそれぞれ表している。なお、式１８では、ＳＱ（ｘ）はｘの２乗を示し、ｓｑｒｔ（ｘ）はｘの平方根を示している。
【０１７１】
Ｓ２７０６では、Ｄ＿ｏｒｇ、Ｄ＿ｎを用いて、２つの判定処理を行う。条件として以下の２つの条件を定義する。ここでＤ＿ｍｉｎは、Ｄ＿ｎの最小値を示す。
【０１７２】
条件１：Ｄ＿ｎ＜Ｄ＿ｏｒｇ
条件２：Ｄ＿ｍｉｎ＞Ｄ＿ｎ
条件１を満たさない場合は、色変換によって理想オブジェクト色との距離が遠くなることを意味しており、Ｎ番目の白点候補は候補から除外する。条件１を満たす場合、次に、条件２に基づいて判定を行う。もし条件２を満たしている場合、Ｓ２７０５において、現在の白点候補が最もオブジェクト色を良化することになり、Ｄ＿ｍｉｎにＤ＿ｎをセットして、最終白点（ＦｉｎＹ，ＦｉｎＣｂ，ＦｉｎＣｒ）に現在の白点候補をセットする。つまり、以下の式のように定義される。
【０１７３】
［式１９］
ＦｉｎＹ＝ＣａｎＹ（Ｎ）
ＦｉｎＣｂ＝ＣａｎＣｂ（Ｎ）
ＦｉｎＣｒ＝ＣａｎＣｒ（Ｎ）
Ｓ２７０１〜Ｓ２７０６までの処理を、全ての白点候補点について行うと、結果として、オブジェクト色を最も良化する白点候補が、最終白点として（ＦｉｎＹ，ＦｉｎＣｂ，ＦｉｎＣｒ）に格納される。これにより第３のハイライト色決定を実現する。以上が、図１７の処理フローの説明である。
【０１７４】
以上説明したように、本実施形態では、最終白点を決定する際に、（ＥｓＹ，ＥｓＣｂ，ＥｓＣｒ）と（ＨＬＹ，ＨＬＣｂ，ＨＬＣｒ）の両者から得られる複数の候補点のうち、人物の顔色が最も良化する候補点を最終白点とする。このことにより、従来手法に比べ、致命的な誤補正を抑制した、安定度の高いカラーバランス補正を行うことが可能となる。
【０１７５】
なお、本実施形態では簡単のため、理想オブジェクト色として、Ｃｂ−Ｃｒ色平面の１点のみを設定したが、本発明はこれに限定されるものではない。例えば、理想オブジェクト色を点ではなく領域でＣｂＣｒ色平面に設定し、Ｓ２７０４では、第１および第２の色変換後のオブジェクト色が、該領域に近づくか否かで判定することも可能である。この場合においても、本発明の範疇に含まれることは言うまでもない。
【０１７６】
＜第六実施形態＞
これまでに述べた実施形態では、画像解析結果修正部２０３において、解析結果を修正することで、カラーバランス補正の強度を抑制する例を示したが、本発明はこれに限定されるものではない。本実施形態においては、図１９のブロック図で示すように、解析信頼度算出部３００１を新たに設ける。解析信頼度算出部３００１において解析結果の信頼度を算出し、この信頼度をカラーバランス補正における補正値として用い、第２の色変換部２０６においてカラーバランス補正の強度（色の変換率）を変更する場合について説明する。なお、図１９において、解析信頼度算出部３００１および第２の色変換部３００２以外については第一実施形態と同様の動作となるため、ここでの詳細な説明は割愛する。
【０１７７】
（解析信頼度算出部３００１）
図２０は、解析信頼度算出部３００１の処理のフローを示している。本処理フローは、本実施形態が実現可能な画像処理装置１００が有する記憶部であるＲＯＭ１０３等に記憶されたプログラムをＣＰＵ１０１が読み出して実行することにより、実現される。図２０では、まずＳ３１０１において、解析信頼度算出部３００１は、画像解析部２０２で解析したＨＬ色の信頼度を算出する。また、Ｓ３１０２において、解析信頼度算出部３００１は、同じく画像解析部２０２で解析したＨＬ色とオブジェクト色（人物の肌の色）との相対位置に対する信頼度を算出する。図２０において、Ｓ３１０１とＳ３１０２の処理は平行に処理するように示されているが、いずれかの処理を先に行い、その後、他方の処理を行うように順序だてて実施しても構わない。そして、最後にＳ３１０３において、Ｓ３０１０１とＳ３１０２との処理の両者から得られた信頼度を用いて、最終的な信頼度を算出する。
【０１７８】
本実施形態では、Ｓ３１０１において、まず、解析信頼度算出部３００１は、予め保持している分光分布に基づくＨＬ色の黒体軌跡を用いて、画像解析部２０２で算出した入力画像のＨＬの色ＨＬＣｂ，ＨＬＣｒ値の信頼度を算出する。本実施形態のＨＬ色の黒体軌跡を用いた入力画像のＨＬ色の色差成分ＨＬＣｂ，ＨＬＣｒ値の信頼度算出方法は、画像解析結果修正部２０３の図５および６を用いて説明した信頼度Ｒ＿ｄｉｓとする。信頼度算出方法は、第一実施形態と同様の動作となるため、ここでの詳細な説明は割愛する。
【０１７９】
次に、Ｓ３１０２において、オブジェクト色とＨＬ色の相対位置関係から信頼度Ｒ＿Ｖｅｃを算出する。算出方法としては、第一実施形態で示したようにオブジェクト色とＨＬ色との関係をベクトルで表し、ベクトルを用いて計算する方法や、オブジェクト色とＨＬ色との距離と角度の比率から信頼度Ｒ＿Ｖｅｃを決定する方法がある。また、顔検出を用いてオブジェクト色を算出する場合は、第三実施形態で示したように顔検出の信頼度Ｒ＿ｆａｃｅと信頼度Ｒ＿Ｖｅｃの比率を考慮して信頼度Ｒ＿Ｖｅｃを決定する方法もある。
【０１８０】
次に、Ｓ３１０３において、Ｓ３１０１にて信頼度Ｒ＿ｄｉｓとＳ３１０２にて信頼度Ｒ＿Ｖｅｃから、最終的な信頼度である最終信頼度Ｒ＿ｆｉｎを算出する。最終信頼度Ｒ＿ｆｉｎの算出方法について、以下で説明する。本実施形態において、最終信頼度Ｒ＿ｆｉｎの算出方法は、信頼度Ｒ＿ｄｉｓと信頼度Ｒ＿ｖｅｃとを掛け合わせて算出する。
【０１８１】
［式２０］
Ｒ＿ｆｉｎ＝Ｒ＿ｄｉｓ×Ｒ＿ｖｅｃ
例えば、信頼度Ｒ＿ｄｉｓが０．２で、信頼度Ｒ＿ｖｅｃが０．５の場合、最終信頼度Ｒ＿ｆｉｎは、次のようになる。
【０１８２】
Ｒ＿ｆｉｎ＝０．２×０．５＝０．１
本実施形態では、信頼度Ｒ＿ｄｉｓと信頼度Ｒ＿ｖｅｃを掛け合わせることで、最終信頼度Ｒ＿ｆｉｎを算出しているが、これに限らない。別の方法として、例えば、信頼度Ｒ＿ｄｉｓと信頼度Ｒ＿ｖｅｃを足して２で割った値を最終信頼度として算出する。
【０１８３】
［式２１］
Ｒ＿ｆｉｎ＝（Ｒ＿ｄｉｓ＋Ｒ＿ｖｅｃ）／２
上記例の信頼度Ｒ＿ｄｉｓと信頼度Ｒ＿ｖｅｃと条件が同じ場合、最終信頼度Ｒ＿ｆｉｎは、次のようになる。
【０１８４】
Ｒ＿ｆｉｎ＝（０．２＋０．５）／２＝０．３５
別の方法として、例えば、最終信頼度Ｒ＿ｆｉｎの算出方法は、各信頼度に重みをつけて信頼度を掛け合わした値を最終信頼度とする。
【０１８５】
［式２２］
Ｒ＿ｆｉｎ＝（Ｒ＿ｄｉｓ×Ｗ＿ｄｉｓ＋Ｒ＿ｖｅｃ×Ｗ＿ｖｅｃ）／２
上記例の信頼度Ｒ＿ｄｉｓと信頼度Ｒ＿ｖｅｃと条件が同じ場合で、信頼度Ｒ＿ｄｉｓの重み係数Ｗ＿ｄｉｓを１．０で、信頼度Ｒ＿ｖｅｃの重み係数Ｗ＿ｖｅｃを０．２とした場合、最終信頼度Ｒ＿ｆｉｎは、次のようになる。
【０１８６】
Ｒ＿ｆｉｎ＝（０．２×１．０＋０．５×０．２）／２＝０．１５
また、別の方法として、例えば、信頼度Ｒ＿ｄｉｓと信頼度Ｒ＿ｖｅｃの内、信頼度の低い方を最終信頼度として算出する。
【０１８７】
［式２３］
Ｒ＿ｆｉｎ＝（Ｒ＿ｄｉｓもしくはＲ＿ｖｅｃのうち低い方）
上記例の信頼度Ｒ＿ｄｉｓと信頼度Ｒ＿ｖｅｃと条件が同じ場合、最終信頼度Ｒ＿ｆｉｎは、次のようになる。
【０１８８】
最終信頼度Ｒ＿ｆｉｎ＝０．２
以上のように、解析信頼度算出部３００１では、ＨＬ色の信頼度Ｒ＿ｄｉｓと肌の色とＨＬの相対位置信頼度Ｒ＿ｖｅｃを用いて、最終信頼度Ｒ＿ｆｉｎを算出する。
【０１８９】
（第２の色変換部３００２）
上述した処理によって算出された最終的な信頼度Ｒ＿ｆｉｎは、第２の色変換部３００２に入力され、同部において、該信頼度に応じてカラーバランス補正の強度を抑制する。カラーバランス補正は、第一実施形態で説明したように、入力画像の各画素値（Ｒ，Ｇ，Ｂ）に対して、光源推定の結果得られた色温度値より基準白点の（Ｙ，Ｃｂ，Ｃｒ）値を算出する。そして、該白点情報に基づいて、ＣＩＥＣＡＭ０２を適用することにより、カラーバランス補正後の（Ｒ’，Ｇ’，Ｂ’）値を得ることができる。
【０１９０】
本実施形態では、このカラーバランス補正時に、白点情報に対して最終信頼度Ｒ＿ｆｉｎを重み係数として最終白点（Ｙ＿ｆｉｎ，Ｃｂ＿ｆｉｎ，Ｃｒ＿ｆｉｎ）を算出する。そして、該最終白点を用いてカラーバランス補正を行う。この補正量を制御する方法について以下に述べる。本実施形態においては、最終白点は以下の式２４で算出する。
【０１９１】
［式２４］
Ｙ＿ｆｉｎ＝２５５−（２５５−Ｙ）×Ｒ＿ｆｉｎ
Ｃｂ＿ｆｉｎ＝Ｃｂ×Ｒ＿ｆｉｎ
Ｃｒ＿ｆｉｎ＝Ｃｒ×Ｒ＿ｆｉｎ
式２４おいて、Ｒ＿ｆｉｎ＝１．０であれば最終白点は、光源推定の結果得られた白点そのものとなる。一方、Ｒ＿ｆｉｎ＝０．０であれば、最終白点は（Ｙ，Ｃｂ，Ｃｒ）＝（２５５，０，０）となる。後者の場合、カラーバランス補正は事実上動作しないことになり、補正量は実質０となる。
【０１９２】
このように、解析信頼度算出部３００１で求めた最終信頼度Ｒ＿ｆｉｎを用いて、カラーバランス補正の基準白点を制御することにより、最終信頼度Ｒ＿ｆｉｎが低い場合に補正量を抑制することが可能となる。
【０１９３】
また、本発明においては、前記白点ではなく、カラーバランス補正前後の値に対してＲ＿ｆｉｎを重み係数として適用することにより、補正量を抑制してもよい。その場合、抑制後の出力値（Ｒ’’，Ｇ’’，Ｂ’’）は以下の式によって得られる。
【０１９４】
［式２５］
Ｒ’’＝Ｒ’−（Ｒ’−Ｒ）×Ｒ＿ｆｉｎ
Ｇ’’＝Ｇ’−（Ｇ’−Ｇ）×Ｒ＿ｆｉｎ
Ｂ’’＝Ｂ’−（Ｂ’−Ｂ）×Ｒ＿ｆｉｎ
＜第七実施形態＞
これまでの実施形態においては、図２（Ａ）で示すように、入力画像に対して、まず第１の色変換を施した後、第２の色変換を施す処理例について説明した。しかし、このように異なる処理を直列に接続し、それぞれの処理において各画素単位に複雑な演算処理をしていたのでは、多くの処理時間を要してしまう。
【０１９５】
そこで本実施形態においては、図２１に示すようなブロック図構成によって処理を行うことを提案する。すなわち、第１および第２の色変換に必要なパラメータを予め算出し、それらを反映させた３次元ルックアップテーブル（以降、３ＤＬＵＴ）を算出し、補間演算を用いて３ＤＬＵＴを入力画像に適用する方法である。なお、図２１の機能ブロックは、構成要素３２０１〜３２０４以外は、第一〜第六実施形態で説明した内容と同様のため、ここでの説明は省略する。
【０１９６】
第１の色変換パラメータ算出部３２０１において、第一実施形態で説明したものと同様に、カメラ内部のＷＢ補正をキャンセルする意味の画像処理パラメータを決定する。第一実施形態によれば、光源推定部２０４で算出した黒体軌跡近傍のグレー・肌色画素が最大となる逆変換セット（ｒ＿ｍａｘ，ｇ＿ｍａｘ，ｂ＿ｍａｘ）を、そのまま該画像処理パラメータとして決定し、それらは３ＤＬＵＴ生成部３２０３に入力される。
【０１９７】
次に、第２の色変換パラメータ算出部３２０２において、第一実施形態で説明したものと同様に、第２の色変換に必要なパラメータを決定する。第２の色変換に必要なパラメータとして、撮影時光源に関するパラメータ（推定色温度における白点ＸＹＺ値、および順応率Ｄｉｎ）および観察環境に関するパラメータ（観察環境における白点ＸＹＺ値、および順応率Ｄｏｕｔ）が存在する。これらのパラメータは第六実施形態で述べたものと同様に、解析信頼度算出部３００１で算出した最終信頼度Ｒ＿ｆｉｎを用いて基準白点を制御する方法により算出し、３ＤＬＵＴ生成部３２０３に入力される。
【０１９８】
次に、３ＤＬＵＴ生成部３２０３の処理について、図２２のフローチャートに従って説明を行う。なお、本実施形態では簡単のために、ｓＲＧＢ空間におけるＲＧＢ各成分が１７グリッド（総グリッド数は１７＾３＝４９１３点）の３ＤＬＵＴを生成するものとするが、本発明はこれに限定するものではない。また、本処理フローは本実施形態が実現可能な画像処理装置１００が有する記憶部であるＲＯＭ１０３等に記憶されたプログラムをＣＰＵ１０１が読み出して実行することで実現する。
【０１９９】
図２２において、まず始めに、Ｓ３３０１において、３ＤＬＵＴ生成部３２０３は各グリッドの初期化を行う。すなわち、Ｒ，Ｇ，Ｂ各値を０にセットする。次に、Ｓ３３０２において、３ＤＬＵＴ生成部３２０３は、第１の色変換パラメータ３３１０を用いて第１の色変換を行う。具体的には、以下の式２６により、第１の色変換後の値Ｒ’Ｇ’Ｂ’値を算出する。
【０２００】
［式２６］
Ｒ’＝Ｒ×ｒ＿ｍａｘ
Ｇ’＝Ｇ×ｇ＿ｍａｘ
Ｂ’＝Ｂ×ｂ＿ｍａｘ
次に、Ｓ３３０３において、算出されたＲ’Ｇ’Ｂ’値を公知の変換式を用いてＸＹＺ値に変換し、さらにＳ３３０４において、第一実施形態に説明したようにＣＩＥＣＡＭ０２を用いてＪＣｈ空間に変換し、さらにＳ３３０５でＸＹＺ空間に逆変換する。この際に用いられるのが、第２の色変換パラメータ３３１１である。
【０２０１】
次にＳ３３０５において、第一実施形態と同様に、第２の色変換後のＸＹＺ値をｓＲＧＢ色空間に変換し、現在注目しているグリッドの出力値として、３ＤＬＵＴに格納する。上記処理を、ＲＧＢ全てのグリッドについて行い、各グリッドの出力値を３ＤＬＵＴに格納してゆく。
【０２０２】
Ｓ３３０２〜Ｓ３３０６の処理が終了したら（Ｓ３３０７にてＮＯ）、Ｓ３３０８において、３ＤＬＵＴ生成部３２０３はＢ成分の値を１６だけインクリメントする。Ｂ成分値が２５５を超えたら、Ｇ成分値を１６だけインクリメントし、Ｂ成分値を０にリセットして処理を継続する。さらにＧ成分値が２５５を超えたら、Ｒ成分値を１６だけインクリメントし、Ｇ，Ｂ成分値を０にリセットする。１７グリッド３ＤＬＵＴの場合、上記処理を４９１３回繰り返し、ＲＧＢ成分値が全て２５５を超えた時点で、全てのグリッドに対する出力値の算出が終了したとして（Ｓ３３０７にてＹＥＳ）、処理を終了する。
【０２０３】
上記処理により生成された３ＤＬＵＴは、補間部３２０４に入力され、同じく入力された入力画像に対して公知の補間方法（詳細省略）を用いて、補正後の画像を得ることができる。また、３ＤＬＵＴは、ＲＡＭ１０２等の記憶部に保持され、必要に応じて読み出された後、利用される。上記補間方法については、四面体補間、立方体補間様々な方法が存在するが、本発明においては、それらのうちいずれを用いても構わない。
【０２０４】
上述したように、本実施形態では、ｓＲＧＢ色空間の限られたグリッド位置に対して、予め算出した第１および第２の色変換パラメータを用いて出力値を算出し、それを３ＤＬＵＴとして保持しておく。該３ＤＬＵＴを用いて補間演算により入力画像を変換することで、特に入力画像解像度が大きい場合に、画素毎に複雑な色変換処理を行うよりも、遥かに短い処理時間で出力画像を得ることが可能となる。
【０２０５】
なお、本実施形態の第１の色変換パラメータ算出部３２０１は、第三実施形態で説明したようなシフトベクトルを用いて行ってもよい。すなわち、該シフトベクトル値を３ＤＬＵＴ生成部３２０３に入力し、３ＤＬＵＴ生成部のＳ３３０２において、第三実施形態と同様の方法により色シフト処理を実現することも可能である。
【０２０６】
また、本実施形態においては簡単のため、ＲＧＢ３成分を前提とした３ＤＬＵＴを生成する処理について説明したが、本発明はこれに限定されるものではない。例えば、入力画像フォーマットをＣＭＹＫ４成分とすると、上記実施形態を参照すれば、４次元ＬＵＴを用いて処理することも可能である。すなわち、上記多次元ＬＵＴを用いて処理を行った場合においても、本発明の範疇に含まれることは言うまでもない。
【０２０７】
また、さらに異なる実施形態として、図２３に示すように、解析信頼度算出部３００１で算出した信頼度を３ＤＬＵＴ生成部３２０３に入力する。３ＤＬＵＴ生成部３２０３において、第六実施形態で説明したものと同様に、３ＤＬＵＴの各グリッドの、カラーバランス補正による補正量を制御することによっても、本発明が実施できることは言うまでもない。
【０２０８】
＜その他の実施形態＞
第一実施形態において、画像解析部２０２で算出した画像特徴量の修正は、黒体軌跡とＨＬ色の距離からＨＬ色を修正する方法と、オブジェクト色とＨＬ色との相対関係からＨＬ色、あるいは両者を修正する方法の２つを説明した。しかし、本発明は必ずしも両者を利用する必要はなく、どちらか一方のみを用いたとしても、本発明の範疇に含まれる。
【０２０９】
また、第六実施形態において、解析信頼度算出部３００１は、Ｒ＿ｖｅｃおよびＲ＿ｄｉｓｔという２つの信頼度を算出し、両者を用いて最終的な信頼度Ｒ＿ｆｉｎを算出する方法について説明したが、本発明はこれに限定されるものではない。最終信頼度Ｒ＿ｆｉｎはどちらか一方の値としたとしても、本発明の範疇に含まれる。
【０２１０】
また、上述した実施形態で説明した第２の色変換部２０６におけるカラーバランス補正は、ＣＩＥＣＡＭ０２を用いて説明をしたが、本発明はこれに限定されるものではない。例えば、画像のＨＬ色あるいは基準白点を用いて行うカラーバランス補正であれば、その他の方法であっても構わない。
【０２１１】
また、入力画像はデジタルカメラで撮影された画像でなくてもよい。デジタルカメラ等から入力されたデジタル画像を、表示用、あるいはプリント用の解像度に変換したものを入力画像として、上記処理を行ってもよい。
【０２１２】
また、入力画像や処理の作業色空間をｓＲＧＢ色空間として説明を行ったが、本発明はこれに限定されるものではない。ＡｄｏｂｅＲＧＢ（米Ａｄｏｂｅ社の商標）色空間を作業色空間としてもよいし、ＣＩＥ  Ｌ＊ａ＊ｂ＊等その他の色空間を用いても構わない。
【０２１３】
また、オブジェクト検出として、人物の顔領域を用いて説明を行ったが、本発明はこれに限定されるものではない。例えば、動物検出や、建物、その他のオブジェクトを用いたとしても本発明の範疇に含まれる。
【０２１４】
また、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、プリンタ、複写機、ファクシミリ装置等）に適用しても良い。
【０２１５】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005744431.tif 000002
【図２】
0005744431.tif 000003
【図３】
0005744431.tif 000004
【図４】
0005744431.tif 000005
【図５】
0005744431.tif 000006
【図６】
0005744431.tif 000007
【図７】
0005744431.tif 000008
【図８】
0005744431.tif 000009
【図９】
0005744431.tif 000010
【図１０】
0005744431.tif 000011
【図１１】
0005744431.tif 000012
【図１２】
0005744431.tif 000013
【図１３】
0005744431.tif 000014
【図１４】
0005744431.tif 000015
【図１５】
0005744431.tif 000016
【図１６】
0005744431.tif 000017
【図１７】
0005744431.tif 000018
【図１８】
0005744431.tif 000019
【図１９】
0005744431.tif 000020
【図２０】
0005744431.tif 000021
【図２１】
0005744431.tif 000022
【図２２】
0005744431.tif 000023
【図２３】
0005744431.tif 000024