(57)【特許請求の範囲】
【請求項１】
特定の画像について、特異点のない表色系における所定の色区画毎に画素数を計数し、ヒストグラムを生成するステップと、
生成された前記ヒストグラムにおいて、計数された前記画素数が極大となる部分である局所ピークを検出し、当該局所ピークに対応する色値である局所ピーク色値を決定するピーク色値決定ステップと、
決定された前記局所ピーク色値に基づき、前記特定の画像における画素を特定する画素特定ステップと、
を含む画像処理方法。
【請求項２】
前記所定の色区画は、前記特異点のない表色系を構成する色成分のうち、明度以外の色成分により規定されることを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記ピーク色値決定ステップにおいて、前記局所ピークとなる色区画における画素数と、当該局所ピークとなる色区画の近傍の色区画の画素数とを用いて、当該局所ピークに対応する色値を算出することを特徴とする請求項１記載の画像処理方法。
【請求項４】
前記画素特定ステップにおいて、前記局所ピーク色値の近傍色値を有する画素を特定することを特徴とする請求項１記載の画像処理方法。
【請求項５】
前記画素特定ステップにおいて特定された画素が存在する領域を抽出する領域抽出ステップと、
抽出された前記領域毎に、当該領域に含まれる画素の特徴量を算出するステップと、
前記領域毎に、算出された前記特徴量から、特定の被写体である確度としての評価値を算出するステップと、
をさらに含む請求項１記載の画像処理方法。
【請求項６】
特定の画像について、特異点のない表色系における所定の色区画毎に画素数を計数し、ヒストグラムを生成するステップと、
生成された前記ヒストグラムにおいて、計数された前記画素数が極大となる部分である局所ピークを検出し、当該局所ピークに対応する色値である局所ピーク色値を決定するピーク色値決定ステップと、
決定された前記局所ピーク色値に基づき、前記特定の画像における画素を特定する画素特定ステップと、
をプロセッサに実行させるための画像処理プログラム。
【請求項７】
特定の画像について、特異点のない表色系における所定の色区画毎に画素数を計数し、ヒストグラムを生成する手段と、
生成された前記ヒストグラムにおいて、計数された前記画素数が極大となる部分である局所ピークを検出し、当該局所ピークに対応する色値である局所ピーク色値を決定するピーク色値決定手段と、
決定された前記局所ピーク色値に基づき、前記特定の画像における画素を特定する画素特定手段と、
を有する画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラやカラープリンタなどの画像関連機器の普及、計算機の性能の向上により、カラー画像をデジタルデータとして扱う機会が増えてきた。ところが、デジタルカメラなどで撮影されたカラー画像の画質は、必ずしもユーザにとって満足のいくものとは限らない。例えば、肌色が赤すぎたり、青空の色がくすんでいたりすることがある。そのため、ユーザが満足できるような画像に画質を向上させる技術が望まれている。
【０００３】
例えば特開２００１−９２９５６号公報（特許文献１）には、様々な照明環境下で撮影された自然画像における重要被写体の色（人の肌色、空の青色、草木の緑色等）に対し、自動的に良好な色補正を施すための技術が開示されている。すなわち、対象物選択手段において選択された対象物の色相の分布可能領域と分割色相領域における分布頻度とを対象物色情報メモリから読み出し、代表色を抽出する代表色抽出手段と、代表色抽出手段で抽出された代表色に最適な色補正パラメータを色補正パラメータ記憶メモリの記憶内容から決定する色補正パラメータ決定手段と、入力画像に対し、対象物の代表色とその近傍の色のみに対して色補正を施す処理を行う色補正処理手段とを有する。
【０００４】
また、例えば特開平１１−８７７３号公報（特許文献２）には、人の記憶色（人の肌色、空の青色、草木の緑色等）を考慮しながら自動的に適切な色修正を行うための技術が開示されている。すなわち、画像データの各画素の色度を求める色度判断手段と、色度判断手段によって求められた色度が所定範囲内である画素について集計を行う対象色度画素集計手段と、所定範囲の色度の画素についての予め定められた最適値と集計結果との差を解消するような色修正量を求め、且つ集計した画素が全画素に占める割合に応じて色修正量を補正する色修正量判定手段と、上記色修正量に基づいて画像データを色修正する色修正手段とを有する。
【特許文献１】特開２００１−９２９５６号公報
【特許文献２】特開平１１−８７７３号公報
【０００５】
しかしながら、上記のような技術によると、未だ問題が残ってしまう。例えば特許文献１に記載されている技術では、色相を基準にヒストグラムを生成する方法を採用している。この方法では、ある程度彩度が高い対象物を検出する場合においては安定した処理を期待できるが、対象物の彩度が低い場合には、適切な処理がなされない可能性がある。例えば人物写真において、やや青白く写ってしまった顔は、彩度が低い色になる。このような彩度が低い色は、ノイズの影響や照明光色の影響など、わずかな色の変化により色相が大きく変わる。すなわち、対象物の彩度が低い場合には、ヒストグラムに明確なピークが現れにくくなるという問題があった。
【０００６】
第２２Ａ図及び第２２Ｂ図に、色相を基準にヒストグラムを生成する場合におけるピーク検出の概念図を示す。第２２Ａ図には、色空間図１０００とヒストグラム１１００とが示されている。色空間図１０００には、例えばCIELAB表色系の色成分であるａ*及びｂ*に対応するａ*軸１００１とｂ*軸１００２と、例えばピーク（すなわち画素数が多い）色の分布範囲である分布範囲１０１０とが示されている。また、ヒストグラム１１００には、色相の軸１１０１と度数の軸１１０２と度数曲線１１１０とが示されている。
【０００７】
ここで、ａ*軸１００１とｂ*軸１００２との交点に対応する色は無彩色である。そして、分布範囲１０１０は、ａ*軸１００１とｂ*軸１００２との交点から離れた場所に位置しており、彩度が比較的高い色であることが示されている。このような場合、色相に基づくヒストグラム１１００の度数曲線１１１０は、ピークが明らかな曲線となっている。
【０００８】
また、第２２Ｂ図には、色空間図２０００とヒストグラム２１００とが示されている。色空間図２０００には、色空間図１０００と同様に、例えばCIELAB表色系の色成分であるａ*及びｂ*に対応するａ*軸２００１とｂ*軸２００２と、例えばピーク色の分布範囲である分布範囲２０１０とが示されている。また、ヒストグラム２１００には、ヒストグラム１１００と同様に、色相の軸２１０１と度数の軸２１０２と度数曲線２１１０とが示されている。
【０００９】
ここで、分布範囲２０１０は、ａ*軸２００１とｂ*軸２００２との交点に近い場所に位置しており、彩度が比較的低い色であることが示されている。このような場合、色相に基づくヒストグラム２１００の度数曲線２１１０には、明らかなピークが存在せず、ピークが検出しにくい。
【００１０】
このように、色相に基づくヒストグラムを用いると、画像の彩度によってピーク形状が変化してしまうため、適切な対象物検出処理がなされない可能性がある。
【００１１】
また、例えば特許文献２に記載された技術では、集計された画素の比率に応じて補正の強さをコントロールするが、画像によっては、補正の強さをうまくコントロールできない場合がある。 例えば、肌色とみなされた画素が、画像内に散在していても、一箇所に集中していても、補正の強さには影響しないようになっている。現実には、ある程度大きな肌色の領域（例えば顔）が画像内に存在する場合、画像の要部として、この肌色に対して強い補正を行うべきである。しかし、特許文献２に記載された技術では、そのようなことはなされない。また、色が同じであれば、領域の形状や色の変化度合いによらず補正の強さを一様にコントロールする。しかし、例えば肌色の領域であっても、顔か顔でないかによってユーザからの着目度は大きく異なるため、特許文献２に記載された技術では、適切な補正処理がなされない場合がある。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従って、本発明の目的は、特定の画像の特徴的な画素を適切に特定するための新規な技術を提供することである。
【００１３】
また、本発明の他の目的は、画像を適切に補正するための新規な技術を提供することである。
【課題を解決するための手段】
【００１４】
本発明に係る画像処理方法は、特定の画像について、特異点のない表色系における所定の色区画毎に画素数を計数し、ヒストグラムを生成するステップと、生成されたヒストグラムにおいて、計数された画素数が極大となる部分である局所ピークを検出し、局所ピークに対応する色値（色成分の少なくともいずれかの値）である局所ピーク色値を決定するピーク色値決定ステップと、決定された局所ピーク色値に基づき、特定の画像における画素を特定する画素特定ステップとを含む。
【００１５】
上記のように特異点のない表色系を採用することにより、無彩色や有彩色などの区別無く、安定して局所ピークを検出することが可能となる。例えば特許文献１に記載されている技術では、特異点のある表色系に従ってヒストグラムを生成するので、特異点の近傍においてピークが不明瞭となってしまうが、本発明においては特別な工夫を行わずともピークを簡単に検出することができる。なお、特異点とは、極座標の原点のような不連続点を意味し、例えば、色相及び彩度で色を表した場合の無彩色である。
【００１６】
なお、局所ピーク色値には、局所ピークに含まれる色値（例えば局所ピークに該当する色区画に含まれる色値などであり、１つの色値に限らない。）を用いるようにしても良いし、所定の方法により算出した色値を用いるようにしても良い。また、画素特定ステップは、例えば、局所ピーク色値を有する画素を特定するためのステップ、局所ピーク色値から所定範囲の色値を有する画素を特定するためのステップとして実行される。特定された画素は、補正対象画素として使用される場合もあれば、所定の処理（例えば顔である確度を判定するための処理）の材料として使用される場合もある。
【００１７】
また、上記特異点のない表色系は、均等表色系であっても良い。これにより、カバーする色の幅が均等になるように色区画を規定する場合には、色区画に均等な大きさを持たせればよいことになるため、ヒストグラム生成処理が簡単になる。
【００１８】
さらに、上記所定の色区画は、特異点のない表色系を構成する色成分のうち、明度以外の色成分により規定されるようにしても良い。明度成分は、例えば影などの、被写体以外のものの影響を受けやすいため、例えば被写体の画素特定に用いるのは好ましくないためである。
【００１９】
また、上記ピーク色値決定ステップにおいて、局所ピークとなる色区画における画素数と、局所ピークとなる色区画の近傍の色区画の画素数とを用いて、局所ピークに対応する色値を算出するようにしてもよい。上でも述べたが、局所ピーク色値には、局所ピークに含まれる色値をそのまま用いるようにしても良いが、局所ピークに含まれる画素の度数と、局所ピークの近傍の画素の度数とを用いて、重み付け平均などの方法で求めるようにしても良い。このようにすることによって、色区画の幅よりも高い分解能で、局所ピーク色値を算出することができるようになる。
【００２０】
また、上記画素特定ステップにおいて、局所ピーク色値の近傍色値を有する画素を特定するようにしても良い。これにより、上で述べたように、局所ピーク色値の近傍色値を有する画素を、例えば補正対象画素として抽出することができる。また、このような近傍色値を有する画素に基づき所定の処理を実施して、例えば補正対象画素を特定するようにしても良い。
【００２１】
また、上記画素特定ステップにおいて、近傍色判定用の所定の色成分毎に異なる閾値を基準として用い、特定の画像における画素が局所ピーク色値の近傍色値を有しているか判断するようにしても良い。二成分以上の色成分についてヒストグラムを生成した場合においては、近傍色値を有する画素の選定に、色成分毎に異なる閾値を使用することも効果的である。例えば、被写体以外のものの影響を受けやすい色成分については、近傍とみなす範囲を広くするといった設定が可能となる。
【００２２】
また、上記画素特定ステップにおいて、所定の色区画を規定する表色系とは異なる表色系における色成分について局所ピーク色値との間で所定の条件を満たす色値である近傍色値を有する画素を特定するようにしても良い。例えば均等表色系を用いてヒストグラムを生成した場合においても、影などの影響を受けにくい他の表色系の色成分を用いて近傍色値を有する画素を特定することにより、適切な画素特定処理が可能となる。
【００２３】
また、上記所定の色区画を規定する表色系とは異なる表色系における色成分が、彩度成分及び色相成分のうち少なくともいずれかであっても良い。
【００２４】
また、上記画素特定ステップにおいて特定された画素の特徴量を局所ピーク毎に算出するステップと、局所ピーク毎に、算出された特徴量から局所ピークに対応する評価値を算出するステップとをさらに含むようにしても良い。これにより、例えば局所ピークに対応する色を有する画素群が所定の被写体である確度としての評価値を算出することができる。例えば局所ピークに対応する色を有する画素群が人物の顔であるという確度が、評価値として算出される。
【００２５】
また、上記特徴量が、画素特定ステップにおいて特定された画素の色値に関する値と特定された画素の色値の変動度合いに関する値とのうち少なくともいずれかであっても良い。例えば、画像における人物の顔部分に相当する領域を処理対象とする場合、顔であるかどうかは、色値や色値の変動度合いからある程度判断することができる。そのため、色値や色値の変動度合いに関する値を特徴量として用いるものである。
【００２６】
また、上記画素特定ステップにおいて特定された画素が存在する領域を抽出する領域抽出ステップと、抽出された領域毎に、領域に含まれる画素の特徴量を算出するステップと、領域毎に、算出された特徴量から領域に対応する評価値を算出するステップとをさらに含むようにしても良い。これにより、例えば局所ピーク色値を有する画素が存在する領域について、特定の被写体である確度としての評価値を算出することができる。なお、局所ピーク色値の近傍の色値を有する画素が存在する領域について評価値を算出するような場合もある。
【００２７】
また、上記特徴量が、領域に含まれる画素の色値に関する値と領域に含まれる画素の色値の変動度合いに関する値と特定の画像における領域の位置と領域の大きさとのうち少なくともいずれかであっても良い。例えば、画像において人物の顔部分に相当する領域を処理対象とする場合、顔であるかどうかは、領域に含まれる画素の色値や色値の変動度合い、さらには画像における領域の位置や領域の大きさから判断することが可能である。そのため、色値や色値の変動度合い、画像における領域の位置や領域の大きさに関する値を、特徴量として用いるものである。
【００２８】
また、上記領域抽出ステップにおいて、画素の位置的な連続性に基づき領域を抽出するようにしても良い。所定の色値を有する画素は画像中に分散している場合もあるが、例えば人物の顔などの画素群は比較的画像中に大きな連続領域を構成している可能性が高い。従って、位置的な連続性を有する領域毎に評価値などを算出すれば、より顔の確度が高い領域を抽出できるようになる。
【００２９】
また、上記画素特定ステップにおいて特定された画素から補正基準色値を算出するステップをさらに含むようにしても良い。局所ピーク色値をそのまま補正基準色値とすることも可能であるが、再度上記画素特定ステップにおいて特定された画素から補正基準色値を算出するものである。例えば、画素特定ステップにおいて特定された画素の色値の平均を補正基準色値とすることも可能である。また、上記画素特定ステップにおいて特定された画素が、局所ピーク色値の近傍色値を有する画素である場合には、当該画素から例えば平均処理にて補正基準色値を算出するようにしても良い。
【００３０】
また、算出された評価値に基づき、基準となる局所ピークに対応する画素を特定する特定ステップと、特定された画素から補正基準色値を算出するステップとをさらに含むようにしても良い。例えば、局所ピークが複数検出された場合、評価値が最大である局所ピークなど所定の条件を満たした局所ピークに対応する画素に基づき補正の基準となる色値を算出する。これにより、例えば同一の色を有する他の被写体をベースとして補正基準色値が算出されなくなるので、適切な補正基準色値が算出される可能性が高くなる。
【００３１】
また、算出された補正基準色値と予め設定された色値とを基に、基準色補正量（例えば色成分毎の量）を算出するステップをさらに含むようにしても良い。例えば、予め設定された色値は理想的な色値であり、補正基準色値が理想的な色値になるような補正量を、基準色補正量として算出する。そして、基準色補正量に基づき補正対象の画素を補正することにより、適切な補正が可能となる。但し、基準色補正量は他の要因により調整される場合もある。
【００３２】
また、基準色補正量の最大値が、上で述べた評価値に基づき調整されるようにしても良い。これにより、例えば補正対象である確度の低い画素については補正量を低減するような設定が可能となる。
【００３３】
また、上記特定ステップにおいて特定された画素の色値の分布に基づき設定される色範囲に含まれる色値を有する画素について、基準色補正量だけ補正を実施するステップをさらに含むようにしても良い。例えば、上記特定ステップにおいて特定された画素の色値の標準偏差に基づき色範囲が設定されるようにしてもよい。なお、上記特定ステップにおいて特定された画素についてのみ補正するようにしても良いし、それ以外の画素について基準色補正量又は基準色補正量から変更された補正量だけ補正を行うようにしても良い。
【００３４】
また、特定の画像に含まれる特定の画素の色値と補正基準色値との差に応じて基準色補正量を変更する補正量変更ステップをさらに含むようにしても良い。これにより、例えば、補正基準色値との差が大きい色値を有する画素については、補正量を減らすというような設定が可能となる。
【００３５】
また、上記補正量変更ステップが、特異点のない表色系とは異なる表色系の各色成分につき実行されるようにしても良い。例えば、彩度成分及び色相成分に基づき特定の画素の色値と補正基準色値との差を求めるようにしても良い。
【００３６】
また、特異点のない表色系とは異なる表色系の各色成分につき異なる基準色補正量の変更パターンが設定されていても良い。例えば、同じ色値の画素についても色成分毎に補正量を異なるようにしたり、補正の適用範囲を色成分毎に異なるようにするものである。
【００３７】
また、上記特異点のない表色系とは異なる表色系の色成分が、彩度成分と色相成分であっても良い。これにより、色相に比べて変化することが嫌われる彩度については、なるべく変化しないように設定することも可能となる。
【００３８】
さらに、上記補正量変更ステップにおける基準色補正量の変更パターンを、予め定められている色値に基づき設定するステップをさらに含むようにしても良い。これにより、例えば色の変化が嫌われる色については、なるべく色が変化しないように設定することができる。
【００３９】
また、予め定められた色値が無彩色の色値であり、基準色補正量の変更パターンが無彩色の色値の補正量を低減するように設定されるようにしても良い。無彩色が有彩色に変化するような補正はユーザに嫌われる可能性が高いため、無彩色の色値の補正量を低減することにより、適切な補正が可能となる。
【００４０】
なお、本発明に係る方法をコンピュータに実行させるためのプログラムを作成することも可能であって、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してデジタル信号として配信される場合もある。なお、処理途中のデータについては、コンピュータのメモリに一時保管される。
【発明を実施するための最良の形態】
【００４１】
第１図に、本発明における一実施例に係る画像補正装置の機能ブロック図を示す。画像補正装置５０００には、画像データ入力部５００２と画像データ格納部５００４と表色系変換部５００６と変換画像データ格納部５００８とヒストグラム生成部５０１０とヒストグラム・データ格納部５０１２とピーク・セル検出部５０１４とピークセル・データ格納部５０１６とピーク値算出部５０１８とピーク値格納部５０２０とピーク所属画素検出部５０２２とピーク所属画素データ格納部５０２４と特徴量算出部５０３０と特徴量格納部５０４０と評価値算出部５０４２と評価値格納部５０４４と確度算出部５０４６と確度格納部５０４８と標準偏差算出部５０５０と標準偏差格納部５０５２と補正量算出部５０５４と補正量格納部５０５６と補正画像データ生成・出力部５０５８とが含まれている。また、特徴量算出部５０３０には、基本特徴量算出部５０３２と追加特徴量算出部５０３４とが含まれている。
【００４２】
これらの処理内容の詳細については後の処理フローの説明において述べる。ここでは、各機能ブロックの連携関係を中心に簡単に説明しておく。
【００４３】
画像データ入力部５００２は、例えばスキャナ・デジタルカメラ等の外部装置とのインタフェイス等であって、画像データを読み込んだり受信した場合、画像データ格納部５００４に格納する。表色系変換部５００６は、画像データ格納部５００４から画像データを読み込み、所定の表色系に変換して変換画像データ格納部５００８に格納する。ヒストグラム生成部５０１０は、変換画像データ格納部５００８から画像データを読み込み、所定の表色系におけるヒストグラム・データを生成し、ヒストグラム・データ格納部５０１２に格納する。
【００４４】
ピーク・セル検出部５０１４は、ヒストグラム・データ格納部５０１２を参照してヒストグラムのピーク（すなわち画素数が多い）セルを検出し、検出したピーク・セルに関するデータをピークセル・データ格納部５０１６に格納する。格納するデータには、ピーク・セルの近傍のセルに関するデータも含まれる場合もある。ピーク値算出部５０１８は、ピークセル・データ格納部５０１６を参照し、所定の方法でピーク値を決定してピーク値格納部５０２０に格納する。
【００４５】
ピーク所属画素検出部５０２２は、変換画像データ格納部５００８とピーク値格納部５０２０とを参照して、画像を構成する画素のうち、ピークに属するとみなされる画素を特定し、当該画素のデータをピーク所属画素データ格納部５０２４に格納する。特徴量算出部５０３０の基本特徴量算出部５０３２と追加特徴量算出部５０３４とは、ピーク所属画素データ格納部５０２４を参照し、ピーク毎にピーク所属画素の特徴量を算出して、特徴量格納部５０４０に格納する。
【００４６】
評価値算出部５０４２は、特徴量格納部５０４０を参照し、ピーク所属画素の特徴量からピーク毎の評価値を算出して評価値格納部５０４４に格納する。確度算出部５０４６は、評価値格納部５０４４を参照し、所定の被写体である確度をピーク毎に算出して確度格納部５０４８に格納する。標準偏差算出部５０５０は、
ピーク所属画素データ格納部５０２４を参照し、所定の色成分についての標準偏差を算出し、標準偏差格納部５０５２に格納する。
【００４７】
補正量算出部５０５４は、変換画像データ格納部５００８とピーク所属画素データ格納部５０２４と特徴量格納部５０４０と確度格納部５０４８と標準偏差格納部５０５２とを参照し、所定の方法に基づき画素毎の補正量を算出して補正量格納部５０５６に格納する。補正画像データ生成・出力部５０５８は、補正量格納部５０５６を参照し、変換画像データ格納部５００８から読み込んだ画像データに補正処理を行い、補正した画像データを図示しないプリンタや表示装置等に出力する。所定の記憶装置に格納する場合もある。
【００４８】
以下、第２図乃至第２１Ｃ図を用いて、第１図に示した画像補正装置５０００の処理内容について説明する。本実施例においては、例えば人の顔の肌色を補正する処理について示す。補正対象は、例えば空の青色や植物の緑色等であっても良い。
【００４９】
まず、例えばスキャナ・デジタルカメラ等の外部装置に対するインタフェイス等である画像データ入力部５００２は、被写体として人の顔が含まれる画像データを読み込み又は受信し、画像データ格納部５００４に格納する（第２図：ステップＳ１）。なお、この画像データは、例えばｓＲＧＢ表色系で表されているものとする。
【００５０】
そして、表色系変換部５００６は、画像データ格納部５００４から画像データを読み込み、ｓＲＧＢ表色系をCIELAB表色系（Ｌ*：明度，ａ*：赤−緑，ｂ*：黄−青）に変換して、変換後の画像データを変換画像データ格納部５００８に格納する（ステップＳ３）。なお、CIELAB表色系は、画像処理や色彩処理の分野において広く用いられ且つ特異点のない表色系である。例えばｓＲＧＢ表色系をそのまま用いるようにしても良いが、本実施の形態においては、ｓＲＧＢ表色系よりも均等な表色系であるCIELAB表色系を用いるものとする。
【００５１】
なお、表色系の変換処理については、一般的な画像処理プログラムにより実施可能であるため、詳細な説明を省略する。また、変換前の表色系は、上で示したｓＲＧＢ表色系に限定されない。
【００５２】
ヒストグラム生成部５０１０は、変換画像データ格納部５００８から画像データを読み込み、CIELAB表色系におけるａ*成分及びｂ*成分についてのヒストグラム・データを生成し、ヒストグラム・データ格納部５０１２に格納する（ステップＳ５）。Ｌ*成分については、処理対象の画素を選別する条件として用いる。例えば、極端に明度が低い（すなわち、暗い）画素は肌である可能性が低いため処理対象から除外する。例えばＬ*＜３０の画素を対象外とする。
【００５３】
なお、1画素ずつ表色系をCIELAB値に変換しながらヒストグラム・データを生成するようにしても良い。
【００５４】
第３図に、ヒストグラム生成に用いる色空間の一例を示す。第３図の例では、CIELAB表色系の色成分であるａ*に対応するａ*軸３０１とｂ*に対応するｂ*軸３０２とにより張られる色空間が示されている。そして、ａ*成分及びｂ*成分について各々長さ４の正方形のセルで色空間は分割されている。各セルにはその中心座標値が、そのセルの値として対応付けられている。なお、第３図では、ａ*成分及びｂ*成分の範囲が±４０の範囲で示されているが、紙面の都合で図示する範囲を限定しただけであり、実際には、例えば±１２８の範囲で生成するものとする。また、セルの一辺の長さは４に限らない。
【００５５】
ヒストグラム・データを生成する際には、セル毎に、ａ*成分及びｂ*成分の値が当該セルにおける範囲内である画素の数を計数する。なお、境界値については、例えば両脇のセルのうちカバーする色値の小さいセルに属するといったルールを予め定めておく。
【００５６】
第２図の説明に戻り、ピーク・セル検出部５０１４は、ヒストグラム・データに基づきピーク（すなわち、画素数が多い）セルを検出し、ピーク・セルの色範囲及び画素数等、ピーク・セルに関するデータをピークセル・データ格納部５０１６に格納する（第２図：ステップＳ７）。本実施値においてピークとは、あるセルの度数が、４近傍（第３図における上下左右）のいずれのセルの度数よりも大きいか又は等しいセルと定義する。なお、ピークが複数存在する場合もあるし、１つのピークに対応するセル（ピーク・セル）が複数存在する場合もある。また、本実施の形態においては、ピーク・セルに隣接するセルに関するデータについてもあわせて格納しておく。
【００５７】
ここで、概ね、このピークに対応する色の被写体が、画像の中に存在すると判断できる。すなわち、ピーク・セルに対応する色値を有する画素を、例えば人物の顔を構成する画素とみなすこともできる。例えばピークを構成する画素の平均色が予め定められた肌色範囲に入っている場合、その色を画像中の肌色とみなし、より好ましい色へと補正することで、画像中の肌色を補正するようにしても良い。
【００５８】
なお、ヒストグラム・データ生成の際、色空間に有効領域を設定し、その範囲のみについてヒストグラム・データを生成するようにしてもよい。第４図に、色空間における有効領域の一例を示す。第４図では、第３図に示した色空間と同様の色空間において、一部のセルにハッチングが付されている。例えばハッチングが付されたセルについてのみ、度数をカウントするようにしても良い。また、このハッチングが付されたセルは、肌色の一般的な範囲を示しており、この範囲でピークが検出された場合には、そのピークを構成する画素の平均色を画像中の肌色とみなして、より好ましい色へと補正するようにしても良い。
【００５９】
第２図の説明に戻り、ピーク値算出部５０１８は、ピークセル・データ格納部５０１６に格納されたデータに基づき、ピーク値を算出してピーク値格納部５０２０に格納する（第２図：ステップＳ９）。ピーク値の算出には、以下の（１）式に示す二次関数を用いる。ここで、anmはピーク・セルに隣接するセルのうちカバーする範囲の色値が小さい方のａ*成分の値（以下、ａ*値と略す。）（例えばセルの中心値）を示し、acはピーク・セルのａ*値（例えばセルの中心値）を示し、anpはピーク・セルに隣接するセルのうちカバーする範囲の色値が大きい方のａ*値（例えばセルの中心値）を示す。ｆnmはピーク・セルに隣接するセルのうちカバーする範囲の色値が小さい方のセルの度数を示し、ｆcはピーク・セルの度数を示し、ｆnpはピーク・セルに隣接するセルのうちカバーする範囲の色値が大きい方のセルの度数を示す。そして、（ａnm，ｆnm）、（apeak，ｆpeak）及び（anp，ｆnp）の三点を通る二次関数（すなわち、放物線）の極大値をピーク値として定める。ａpeakはａ*成分についてのピーク値である。
ａpeak＝ａc＋４（（ｆnm−ｆnp）/（２（ｆnm＋ｆnp−２ｆc）））          （１）
【００６０】
例えば、（ａnm，ｆnm）、（ac，ｆc）及び（anp，ｆnp）が、それぞれ（２０，７８３）、（２４，１３１７）及び（２８，１４４）であった場合、apeakは２３．２５となる。なお、処理速度を重視する場合等、ａcをピーク値としてそのまま使用することも可能である。また、ピーク・セルを構成する画素の色値の平均等であっても良い。なお、上の（１）式はａ*成分に関する計算式であり、同様の数式を用いてｂ*成分についてもピーク値を計算する。
【００６１】
ピーク値が算出されると、ピーク所属画素検出部５０２２及び特徴量算出部５０３０は、特徴量算出処理を実施する（ステップＳ１１）。この処理については後に詳述するが、ピーク毎に特徴量が算出され、特徴量格納部５０４０に格納される。本実施の形態においては、基本特徴量として、Count（ピークに対応する画素の総数）、CountLoc（明度が極大となる画素の数）、Lmax（最大明度）、Lmin（最小明度）、Lavr（Ｌ*値の平均値）、aavr（ａ*値の平均値）及びbavr（ｂ*値の平均値）が算出される。また、追加特徴量として、XYRatio（ピークに対応する画素により構成される領域の縦横比）及びSQRatio（ピークに対応する画素により構成される領域の画素密度）が算出される場合もある。なお、追加特徴量は、基本特徴量とは属性が異なっている。基本特徴量は以下に述べる評価値を算出するための元となるデータであり、追加特徴量はそのまま評価値データの一部として取り扱われる。
【００６２】
そして、評価値算出部５０４２は、上に示した基本特徴量に基づきピーク毎の評価値を算出して評価値格納部５０４４に格納する（ステップＳ１３）。この評価値算出処理についても後に詳述するが、（１）明度（Lavr）の上限、（２）明度の下限、（３）彩度（（aavr2＋bavr2）1/2）の上限、（４）彩度の下限、（５）色相（atan2（bavr，aavr），０から３６０度）の上限、（６）色相の下限、（７）明度幅（Lmax−Lmin）の上限、（８）明度幅の下限、（９）明度極大出現率（CountLoc/Count）の上限及び（１０）明度極大出現率の下限の例えば１０項目についての評価値（０から１までの値）が算出される。
【００６３】
そして、確度算出部５０４６は、上で算出された評価値に基づき、ピークに対応する画素が人物の顔を構成している確度（顔らしさ）を算出し、確度格納部５０４８に格納する（ステップＳ１５）。本実施例においては、上で述べた例えば１０項目の評価値の相乗平均を確度として算出する。なお、本実施例では、ピークが複数存在する場合、確度が最大のピークに基づき補正量算出処理が行われる。また、確度が最大のピークに対応する画素のみ補正の対象としても良い。さらに、追加特徴量が算出される場合には、１つのピークに対して複数の領域が特定される場合もある。その場合には領域毎に確度が算出される。従って、確度が最大の領域に対してのみ補正を実施するようにしても良い。さらに、確度が０以外の全てのピークについて補正量算出処理又は補正処理を実施するようにしても良い。同様に、確度が０以外の全ての領域について補正量算出処理又は補正処理を実施するようにしても良い。さらに、特定の閾値以上の確度を有するピーク又は領域について補正量算出処理又は補正処理を実施するようにしても良い。
【００６４】
そして、標準偏差算出部５０５０は、例えば所定の色成分につき、ピークに対応する標準偏差を算出し、標準偏差格納部５０５２に格納する（ステップＳ１７）。本実施例においては、色相成分、彩度成分及び明度成分について標準偏差を算出する。具体的には、ピークに対応する画素の色値と平均値(aavr，bavr)との、ａ*成分及びｂ*成分における差分を、彩度成分Ｄc及び色相成分Ｄhにおける差分（ベクトル）に分解し、これらの二乗和をもとに標準偏差を算出する。なお、各画素について、ａ*成分及びｂ*成分における差分を、彩度成分Ｄｃ及び色相成分Ｄｈにおける差分に分解するのには、以下の（２）式を用いる。なお、ａ及びｂはそれぞれ処理対象の画素のａ*値及びｂ*値である。
Da＝a−aavr，Db＝b−bavr
AbsAvr＝(aavr2＋bavr2)1/2
Ua＝aavr/AbsAvr，Ub＝bavr/AbsAvr
Ｄc＝Da・Ua＋Db・Ub，Ｄh＝Da・Ub−Db・Ua          （２）
【００６５】
以上の（２）式により算出されたＤc及びＤh、並びにＬ*成分の平均との差に基づき、標準偏差（ＳＴＤc，ＳＴＤh，ＳＴＤl）を算出する。
【００６６】
そして、補正量算出部５０５４は、変換画像データ格納部５００８から画像データを読み込み、これまでに算出した特徴量、確度及び標準偏差を用いて、各画素につき補正量算出処理を行う（ステップＳ１９）。この補正量算出処理については後に詳述するが、画素によっては、補正しない（いずれの色成分についても補正量が０）と設定される場合もある。補正画像データ生成・出力部５０５８は、上で算出された補正量に基づき補正処理を実施することにより補正画像データを生成し、図示しないプリンタや表示装置等に出力する（ステップＳ２１）。補正画像データは記憶装置に格納されることもある。以上で画像補正処理が終了する。
【００６７】
このようにして、特異点の無い表色系におけるヒストグラム・データに基づき、彩度に関わらずピーク、そして被写体が抽出される。また、適切に抽出されたピークに基づき画像補正処理が実施される。
【００６８】
次に、第５図乃至第７図を用いて、特徴量算出処理（第２図：ステップＳ１１）の詳細について説明する。この特徴量算出処理はピーク毎に実施する。まず、ピーク所属画素検出部５０２２は、ピーク値格納部５０２０からピーク値を読み込み、ワーク・メモリ領域等の記憶装置に一旦格納する（第５図：ステップＳ３１）。なお、ピーク値には、apeak（ａ*成分のピーク値）とbpeak（ｂ*成分のピーク値）とが含まれている。
【００６９】
そして、特徴量算出部５０３０の基本特徴量算出部５０３２は、基本特徴量の初期値を設定する（ステップＳ３３）。例えば、Lmin＝１００、Lmax＝０、Count＝０、CountLoc=０、asum（ａ*値の合計）＝０、bsum（ｂ*値の合計）＝０、Lsum（Ｌ*値の合計）＝０と設定し、ワーク・メモリ領域等の記憶装置に一旦格納しておく。
【００７０】
そして、ピーク所属画素検出部５０２２は、変換画像データ格納部５００８から画像データを読み込み、画像の例えば左上の画素の色値（Ｌ，ａ，ｂ）を特定する（ステップＳ３５）。ＬはＬ*成分、ａはａ*成分、ｂはｂ*成分の値を指す。そして、ピーク所属画素検出部５０２２は、当該画素の色値（ａ，ｂ）とピーク値（apeak，bpeak）との差であるＤを以下の（３）式を用いて算出し、ワーク・メモリ領域等の記憶装置に格納する（ステップＳ３７）。
Da＝a−apeak，Db＝b−bpeak
Ｄ＝((Da)2＋(Db)2)1/2                                    （３）
【００７１】
さらに、ピーク所属画素検出部５０２２は、以下の（４）式を用いて、画素の色値とピーク値との差であるＤを、彩度成分Ｄcと色相成分Ｄhとに分解し、Ｄc及びＤhの値をワーク・メモリ領域等の記憶装置に格納する（ステップＳ３９）。
Ua＝Da/D，Ub＝Db/D
Ｄc＝｜Da・Ua＋Db・Ub｜，Ｄh＝｜Da・Ub−Db・Ua｜          （４）
【００７２】
第６図に、成分分解の概念図を示す。第６図の例では、CIELAB表色系の色成分であるａ*に対応するａ*軸６０１とｂ*に対応するｂ*軸６０２とにより張られる色空間が示されている。そして、この色空間上に、ピーク値（apeak，bpeak）を示す点６０３と特定の画素の色値（ａ，ｂ）を示す点６０４とＤベクトル６０５とＤcベクトル６０６とＤhベクトル６０７とが示されている。Ｄベクトル６０５は、ピーク値を示す点６０３からと特定の画素の色値を示す点６０４へのベクトルであり、その長さは上の（３）式に基づき求められる。そして、このＤベクトル６０５を彩度成分及び色相成分に分解したものが、Ｄcベクトル６０６（彩度成分）及びＤhベクトル６０７（色相成分）であり、その長さは上の（４）式に基づき求められる。なお、Ｄcベクトル６０６は、原点（ａ*軸６０１とｂ*軸６０２との交点）とピーク値を示す点６０３との２点を通る直線上に存在し、Ｄhベクトル６０７は、Ｄcベクトル６０６と直交している。
【００７３】
第５図の説明に戻り、ピーク所属画素検出部５０２２は、上の（４）式で算出されたＤc及びＤhの値が所定の条件を満たすか判定する（ステップＳ４１）。例えば成分毎に異なる閾値（例えばＴＨc＞ＴＨhを満たすＴＨc（彩度成分の閾値）及びＴＨh（色相成分の閾値））を予め定めておき、Ｄc＜ＴＨc且つＤh＜ＴＨhを満たすかどうか判定する。例えばある被写体の中心的な色値である基準色値があった場合、基準色値と所定の量だけ色相が異なる色値を有する画素よりも、当該所定の量と同じ量だけ彩度が異なる色値を有する画素の方が、基準色値を有する被写体に属する画素である可能性が高いため、このような処理を行う。
【００７４】
また、例えばＤＩＶc＞ＤＩＶhを満たすＤＩＶc（すなわち、彩度成分の閾値）及びＤＩＶh（すなわち、色相成分の閾値）、並びにＴＨch（すなわち、全体的な閾値）を予め定めておき、ＴＨch＜((Ｄc/ＤＩＶc)2＋(Ｄh/ＤＩＶh)2）を満たすかどうか判定するようにしても良い。
【００７５】
条件を満たすと判定されなかった場合（ステップＳ４１：Ｎｏルート）、処理は端子Ｂを介して第７図の処理に移行する。一方、条件を満たすと判定された場合（ステップＳ４１：Ｙｅｓルート）、ピーク所属画素検出部５０２２は、現在特定されている（すなわち、ステップＳ３７乃至ステップＳ４１の処理が行われた）画素のデータを、ピーク所属画素のデータとして、ピーク所属画素データ格納部５０２４に格納する（ステップＳ４３）。
【００７６】
そして、特徴量算出部５０３０の基本特徴量算出部５０３２は、Ｌ（特定されている画素のＬ*値）がLminよりも小さいか、すなわちＬ＜Lminであるか判定する（ステップＳ４５）。Ｌ＜Lminであると判定されなかった場合（ステップＳ４５：Ｎｏルート）、後に述べるステップＳ４９の処理に移行する。一方、Ｌ＜Lminであると判定された場合（ステップＳ４５：Ｙｅｓルート）、基本特徴量算出部５０３２は、Ｌの値をLminに設定する（ステップＳ４７）。
【００７７】
さらに、基本特徴量算出部５０３２は、ＬがLmaxよりも大きいか、すなわちＬ＞Lmaxであるか判定する（ステップＳ４９）。Ｌ＞Lmaxであると判定されなかった場合（ステップＳ４９：Ｎｏルート）、処理は端子Ａを介して第７図の処理に移行する。一方、Ｌ＞Lmaxであると判定された場合（ステップＳ４９：Ｙｅｓルート）、基本特徴量算出部５０３２は、Ｌの値をLmaxに設定する（ステップＳ５１）。処理は端子Ａを介して第７図の処理に移行する。
【００７８】
そして、基本特徴量算出部５０３２は、画素数及び色値の累積加算処理を行う（第７図：ステップＳ６１）。すなわち、Countの値を１増やし、asumにasum＋ａ（特定されている画素のａ*値）を、bsumにbsum＋ｂ（特定されている画素のｂ*値）を、LsumにLsum＋Ｌ（特定されている画素のＬ*値）をそれぞれ設定する。
【００７９】
そして、基本特徴量算出部５０３２は、特定されている画素の四近傍（画像における上下左右隣）の画素が全てピーク所属画素であるか判定する（ステップＳ６３）。なお、確認する画素は四近傍に限られず、例えば八近傍（画像における上下左右及び斜め隣）であっても良い。四近傍の画素が全てピーク所属画素であると判定されなかった場合（ステップＳ６３：Ｎｏルート）、後に述べるステップＳ６９の処理に移行する。一方、四近傍の画素が全てピーク所属画素であると判定された場合（ステップＳ６３：Ｙｅｓルート）、基本特徴量算出部５０３２は、特定されている画素のＬ*値が四近傍の画素のいずれのＬ*値よりも大きい又は等しいか判定する（ステップＳ６５）。なお、確認する画素は四近傍に限られず、例えば八近傍であっても良い。
【００８０】
特定されている画素のＬ*値が四近傍の画素のいずれのＬ*値よりも大きい又は等しいと判定されなかった場合（ステップＳ６５：Ｎｏルート）、後に述べるステップＳ６９の処理に移行する。一方、特定されている画素のＬ*値が四近傍の画素のいずれのＬ*値よりも大きい又は等しいと判定された場合（ステップＳ６５：Ｙｅｓルート）、基本特徴量算出部５０３２は、CountLocの値を１増やす（ステップＳ６７）。
【００８１】
そして、基本特徴量算出部５０３２は、全画素についての処理が終了したか判定する（ステップＳ６９）。全画素についての処理が終了していないと判定された場合（ステップＳ６９：Ｎｏルート）、ピーク所属画素検出部５０２２は、次の画素の色値（Ｌ，ａ，ｂ）を特定する（ステップＳ７１）。例えば画像の左上から順番に右隣の画素を特定していく。右端までいったら１つ下の行の左端の画素を特定するといった方法で画素を特定していく。そして、処理は端子Ｃを介してステップＳ３７（第５図）の処理に戻る。
【００８２】
一方、全画素についての処理が終了したと判定された場合（ステップＳ６９：Ｙｅｓルート）、基本特徴量算出部５０３２は、aavr（ａ*値の平均値）、bavr（ｂ*値の平均値）及びLavr（Ｌ*値の平均値）を算出する（ステップＳ７３）。これらの算出には、以下の（５）式を用いる。
aavr＝asum/Count，bavr＝bsum/Count，Lavr＝Lsum/Count          （５）
【００８３】
そして、基本特徴量算出部５０３２は、Count（ピークに対応（所属）する画素の総数）、CountLoc（明度が極大となる画素の数）、Lmax（最大明度）、Lmin（最小明度）、Lavr（Ｌ*値の平均値）、aavr（ａ*値の平均値）及びbavr（ｂ*値の平均値）を特徴量として特徴量格納部５０４０に格納する（ステップＳ７５）。
【００８４】
そして、追加特徴量算出部５０３４は、追加特徴量を算出するという設定が予めなされているか判定する（ステップＳ７７）。追加特徴量を算出するという設定がなされていないと判定された場合（ステップＳ７７：Ｎｏルート）、特徴量算出処理を終了し、元の処理に戻る。一方、追加特徴量を算出するという設定がなされていると判定された場合（ステップＳ７７：Ｙｅｓルート）、追加特徴量算出部５０３４は、追加特徴量算出処理を行う（ステップＳ７９）。追加特徴量算出処理の詳細については後に述べるが、追加特徴量算出処理が終了すると、特徴量算出処理も終了し、元の処理に戻る。
【００８５】
以上のようにして、ピーク所属画素の検出及び特徴量の算出が行われる。なお、ピーク所属画素として特定された画素の色値の平均値（Lavr，aavr，bavr）が、例えば肌色である所定の色値の範囲内である場合には、これらのピーク所属画素をより好ましい肌色にするような補正を特定の画像について行うようにしても良い。この場合、平均値以外の特徴量は特に算出しなくても良い。
【００８６】
次に、第８図を用いて、追加特徴量算出処理（第７図：ステップＳ７９）の詳細について説明する。まず、追加特徴量算出部５０３４は、ピーク所属画素データ格納部５０２４を参照し、特定の画像におけるピーク所属画素の座標データ及び画素数（Count）を読み込み、ワーク・メモリ領域等の記憶装置に格納する（第８図：ステップＳ９１）。そして、ピーク所属画素が連続して存在する領域を特定する（ステップＳ９３）。例えばｘ軸及びｙ軸によって規定される２次元平面上の領域ＸＹとして特定する。なお、画素の連続性を判断する際には、特定の画素を中心に例えば八近傍の画素の色値についてチェックする。
【００８７】
そして、追加特徴量算出部５０３４は、以下の（６）式を用いてXYRatio（領域の縦横比）を算出する（ステップＳ９５）。ここで、xmax及びxminはそれぞれ領域ＸＹにおけるｘ軸方向の座標値の最大値及び最小値を、ymax及びyminはそれぞれ領域ＸＹにおけるｙ軸方向の座標値の最大値及び最小値を示している。
XYRatio＝（xmax−xmin）/（ymax−ymin）                （６）
【００８８】
さらに、追加特徴量算出部５０３４は、上の（６）式により算出されたXYRatioが１よりも大きいか判定する（ステップＳ９７）。XYRatioが１よりも大きくない（すなわち、１を超えない）と判定された場合（ステップＳ９７：Ｎｏルート）、後に述べるステップＳ１０１の処理に移行する。一方、XYRatioが１よりも大きいと判定された場合（ステップＳ９７：Ｙｅｓルート）、追加特徴量算出部５０３４は、XYRatioに逆数（1/XYRatio）を設定する（ステップＳ９９）。すなわち、XYRatioを０以上１以下の値にする。
【００８９】
そして、追加特徴量算出部５０３４は、以下の（７）式を用いてSQRatio（領域の画素密度）を算出する（ステップＳ１０１）。
SQRatio＝（xmax−xmin）・（ymax−ymin）/Count            （７）
【００９０】
SQRatioが算出されると、追加特徴量算出部５０３４は、XYRatio及びSQRatioを追加特徴量として、特徴量格納部５０４０に格納する（ステップＳ１０３）。そして、元の処理に戻る。
【００９１】
このようにして、追加特徴量算出処理が行われる。これにより、ある程度画素のまとまりのある領域で且つ形状の縦横比が１に近い場合（例えば人物の顔部分を構成する画素群である可能性が高い場合）、特徴量が比較的大きな値で設定される。また、ここで算出された追加特徴量については、これらの値に基づく評価値算出処理を実施せずにそのまま評価値として使用する。そして、この追加特徴量（すなわち、評価値）を用いて補正を行うことにより、特許文献２に記載された技術における問題点（すなわち、肌色とみなされた画素が、画像内に散在していても、一箇所に集中していても、補正の強さには影響しないようになっているという問題点）の解消を図ることができる。
【００９２】
次に、第９図、第１０Ａ図及び第１０Ｂ図を用いて、評価値算出処理（第２図：ステップＳ１３）の詳細について説明する。まず、評価値算出部５０４２は、特徴量格納部５０４０から特徴量データを読み込み、ワーク・メモリ領域等の記憶装置に一旦格納する（第９図：ステップＳ１１１）。特徴量データには、Count、CountLoc、Lmin、Lmax、Lavr、aavr及びbavrが含まれている。
【００９３】
さらに評価値算出部５０４２は、予め設定されている閾値データを読み込み、ワーク・メモリ領域等の記憶装置に一旦格納する（ステップＳ１１３）。閾値データは、明度（Lavr）の上限、明度の下限、彩度（（aavr2＋bavr2）1/2）の上限、彩度の下限、色相（atan2（bavr，aavr），０から３６０度）の上限、色相の下限、明度幅（Lmax−Lmin）の上限、明度幅の下限、明度極大出現率（CountLoc/Count）の上限及び明度極大出現率の下限の例えば１０個の評価項目について、それぞれの非現実的な値ＴＨ１と一般的な値ＴＨ２とが対応付けられたものである。すなわち、ここでは２０の閾値が存在する。
【００９４】
そして、評価値算出部５０４２は、特徴量に基づく評価用実測値ｘを１件特定する（ステップＳ１１５）。例えば明度（Lavr）の上限や下限についての評価値を算出する場合には、特徴量の１つであるLavrをそのまま用いれば良く、Lavrをｘとして特定する。また、例えば明度幅（Lmax−Lmin）の上限や下限についての評価値を算出する場合には、特徴量であるLmin及びLmaxから明度幅（Lmax−Lmin）を求め、ｘとして特定する。
【００９５】
そして、評価値算出部５０４２は、評価値を算出する評価項目についての閾値であるＴＨ１とＴＨ２を比較し、ＴＨ１がＴＨ２よりも小さいか判定する（ステップＳ１１７）。ここで、ＴＨ１がＴＨ２よりも小さいということは、ＴＨ１に近づく、すなわち値が小さくなるにつれ、非現実的な値になっていくということであり、ＴＨ１及びＴＨ２は下限を評価するための閾値である。
【００９６】
ＴＨ１がＴＨ２よりも小さいと判定された場合（ステップＳ１１７：Ｙｅｓルート）、評価値算出部５０４２は、ｘがＴＨ１よりも小さいか判定する（ステップＳ１１９）。ｘがＴＨ１よりも小さいと判定された場合（ステップＳ１１９：Ｙｅｓルート）、評価値算出部５０４２は、出力値ｙに０を設定する（ステップＳ１２１）。そして後に述べるステップＳ１３７の処理に移行する。一方、ｘがＴＨ１よりも小さいと判定されなかった場合（ステップＳ１１９：Ｎｏルート）、評価値算出部５０４２は、ｘがＴＨ２よりも小さいか判定する（ステップＳ１２３）。ｘがＴＨ２よりも小さいと判定された場合（ステップＳ１２３：Ｙｅｓルート）、評価値算出部５０４２は、以下の（８）式を用いて出力値ｙを算出する（ステップＳ１２５）。そして後に述べるステップＳ１３７の処理に移行する。
ｙ＝（ｘ−ＴＨ１）−（ＴＨ２−ＴＨ１）            （８）
【００９７】
一方、ｘがＴＨ２よりも小さくないと判定された場合（ステップＳ１２３：Ｎｏルート）、評価値算出部５０４２は、出力値ｙに１を設定する（ステップＳ１２７）。そして後に述べるステップＳ１３７の処理に移行する。
【００９８】
また一方、ＴＨ１がＴＨ２よりも小さくないと判定された場合（ステップＳ１１７：Ｎｏルート）、評価値算出部５０４２は、ｘがＴＨ１よりも大きいか判定する（ステップＳ１２９）。ｘがＴＨ１よりも大きいと判定された場合（ステップＳ１２９：Ｙｅｓルート）、評価値算出部５０４２は、出力値ｙに０を設定する（ステップＳ１３１）。そして後に述べるステップＳ１３７の処理に移行する。一方、ｘがＴＨ１よりも大きいと判定されなかった場合（ステップＳ１２９：Ｎｏルート）、評価値算出部５０４２は、ｘがＴＨ２よりも大きいか判定する（ステップＳ１３３）。ｘがＴＨ２よりも大きいと判定された場合（ステップＳ１３３：Ｙｅｓルート）、評価値算出部５０４２は、上の（８）式を用いて出力値ｙを算出する（ステップＳ１３５）。そして後に述べるステップＳ１３７の処理に移行する。
【００９９】
一方、ｘがＴＨ２よりも大きくないと判定された場合（ステップＳ１３３：Ｎｏルート）、ステップＳ１２７の処理に移行する。すなわち、評価値算出部５０４２は、出力値ｙに１を設定する。
【０１００】
そして評価値算出部５０４２は、ｙを当該評価項目の評価値として評価値格納部５０４４に格納する（ステップＳ１３７）。さらに、評価値算出部５０４２は、全ての評価項目について評価値を算出したか判定する（ステップＳ１３９）。全ての評価項目について評価値を算出したと判定されなかった場合（ステップＳ１３９：Ｎｏルート）、ステップＳ１１５の処理に戻り、次の評価項目についての処理を開始する。一方、全ての評価項目について評価値を算出したと判定された場合（ステップＳ１３９：Ｙｅｓルート）、評価値算出処理を終了して元の処理に戻る。
【０１０１】
第１０Ａ図及び第１０Ｂ図に、評価値設定の概念図を示す。第１０Ａ図には、ｘ軸１００とｙ軸１１０とＴＨ１値１０１とＴＨ２値１０２と出力値曲線１２０とが示されている。この第１０Ａ図では、ＴＨ１値１０１（非現実的な値）がＴＨ２値１０２（一般的な値）よりも小さく、下限の評価項目に対する評価値の設定について示されている。出力値曲線１２０は、まず、ｘの値が０からＴＨ１までの場合はｙの値が０であることを示している。すなわち、ある値が下限として非現実的な値よりも小さいということは、適切な値とは言えないため、出力値ｙ（評価値）には０が設定される。また、出力値曲線１２０は、ｘの値がＴＨ１からＴＨ２までの場合は、ｘの値がＴＨ１からＴＨ２に近づくにつれ、ｙの値が０から１まで大きくなっていくことを示している。すなわち、ある値が標準的な値に近いほど、出力値ｙ（評価値）には１に近い値が設定される。また、ある値が標準的な値であるＴＨ２より大きい場合には、適切な値であるため、出力値ｙ（評価値）には１が設定される。
【０１０２】
第１０Ｂ図には、ｘ軸１３０とｙ軸１４０とＴＨ１値１３１とＴＨ２値１３２と出力値曲線１５０とが示されている。この第１０Ｂ図では、ＴＨ１値１３１（非現実的な値）がＴＨ２値１３２（一般的な値）よりも大きく、上限の評価項目に対する評価値の設定について示されている。出力値曲線１５０は、まず、ｘの値が０からＴＨ２までの場合はｙの値が１であることを示している。すなわち、ある値が上限として一般的な値よりも小さいということは、適切な値と言えるため、出力値ｙ（評価値）には１が設定される。また、出力値曲線１５０は、ｘの値がＴＨ２からＴＨ１までの場合は、ｘの値がＴＨ２からＴＨ１に近づくにつれ、ｙの値が１から０まで小さくなっていくことを示している。すなわち、ある値が標準的な値から離れるほど、出力値ｙ（評価値）には０に近い値が設定される。また、ある値が非現実的な値であるＴＨ１より大きい場合には、不適切な値と言えるため、出力値ｙ（評価値）には０が設定される。
【０１０３】
このようにして、評価値算出処理が行われる。これにより、例えば１０種類の評価項目について各々の評価値が算出される。なお、評価項目は１０種類に限定されず、他の評価項目が設けられる場合もある。
【０１０４】
次に、第１１図乃至第２１Ｃ図を用いて、補正量算出処理（第２図：ステップＳ１９）の詳細について説明する。まず、補正量算出部５０５４は、特徴量格納部５０４０から平均値Ａ（aavr，bavr）、標準偏差格納部５０５２から標準偏差Ｓ（ＳＴＤc，ＳＴＤh）、図示しない設定値格納部等から所定の好ましい色値Ｋ（ak，bk）を読み込み、ワーク・メモリ領域等の記憶装置に格納する（第１１図：ステップＳ１５１）。なお、平均値Ａ（aavr，bavr）及び標準偏差Ｓ（ＳＴＤc，ＳＴＤh）については、確度格納部５０４８に格納されているデータを参照して、確度が最大のピークに対応する値を読み込む。また、所定の好ましい色値Ｋ（ak，bk）とは、例えば理想的な肌色に対応する色値（すなわち、肌色目標値）である。本実施例においては、説明を簡潔にするために、平均値Ａ（aavr，bavr）及び好ましい色値Ｋ（ak，bk）にはCIELAB表色系におけるａ*値及びｂ*値を含むようにしているが、さらにＬ*値を含む場合もある。
【０１０５】
そして、補正量算出部５０５４は、基本補正量Ｃ（Ｃc，Ｃh）を算出し、ワーク・メモリ領域等の記憶装置に格納する（ステップＳ１５３）。基本補正量Ｃ（Ｃc，Ｃh）は、好ましい色値Ｋ（ak，bk）と平均値Ａ（aavr，bavr）との差に基づき算出する。算出方法は、上で示した（３）式及び（４）式と同様の式を用いる。
【０１０６】
第１２図に、基本補正量の概念図を示す。第１２図の例では、CIELAB表色系の色成分であるａ*に対応するａ*軸１２０１とｂ*に対応するｂ*軸１２０２とにより張られる色空間が示されている。そして、この色空間上に、平均値Ａ（aavr，bavr）を示す点１２０３と肌色目標値Ｋ（ka，kb）を示す点１２０４と基本補正量Ｃに対応するベクトル１２０５と顔の色の色値範囲を示す長方形１２０６とが示されている。基本補正量Ｃに対応するベクトル１２０５は、平均値Ａ（aavr，bavr）から肌色目標値Ｋ（ka，kb）へのベクトルとなる。なお、基本補正量Ｃに対応するベクトル１２０５は、彩度成分における基本補正量Ｃc及び色相成分における基本補正量Ｃhとに成分分解することができる。顔の色の色値範囲を示す長方形１２０６は、中心点（対角線の交点）が平均値Ａ（aavr，bavr）であり、長い方の辺が彩度成分の標準偏差ＳＴＤcの２倍に等しく、短い方の辺が色相成分の標準偏差ＳＴＤhの２倍に等しい。例えば、この顔の色の色値範囲を示す長方形１２０６で示される範囲に含まれる色値を有する、画像データ中の画素について、基本補正量Ｃに対応するベクトル１２０５に応じて補正するようにしてもよい。なお、本実施例では、顔の色の色値範囲とみなす基準として標準偏差の２倍を用いているが、他の基準を用いてもかまわない。
【０１０７】
第１１図の説明に戻り、補正量算出部５０５４は、最大補正量Ｃｍ（Ｃｍc，Ｃｍh）を算出し、ワーク・メモリ領域等の記憶装置に格納する（第１１図：ステップＳ１５５）。最大補正量Ｃｍの算出には、所定の最大補正量基準値と、上で算出した確度とを用いる。例えば最大補正量基準値を１０（絶対値）と設定しておき、確度が０．５であれば、５（１０×０．５）とする。最大補正量Ｃｍには、彩度成分における最大補正量Ｃｍcと色相成分における最大補正量Ｃｍhとが含まれており、彩度成分及び色相成分のそれぞれについて上の計算を行う。
【０１０８】
そして、補正量算出部５０５４は、彩度成分についての基本補正量Ｃcと最大補正量Ｃｍcとを比較し、Ｃc＞Ｃｍcが満たされるか判定する（ステップＳ１５７）。Ｃc＞Ｃｍcが満たされないと判定された場合（ステップＳ１５７：Ｎｏルート）、後に述べるステップＳ１６１の処理に移行する。一方、Ｃc＞Ｃｍcが満たされると判定された場合（ステップＳ１５７：Ｙｅｓルート）、補正量算出部５０５４は、ＣcにＣｍcの値を設定する（ステップＳ１５９）。
【０１０９】
さらに、補正量算出部５０５４は、色相成分についての基本補正量Ｃhと最大補正量Ｃｍhとを比較し、Ｃh＞Ｃｍhが満たされるか判定する（ステップＳ１６１）。Ｃh＞Ｃｍhが満たされないと判定された場合（ステップＳ１６１：Ｎｏルート）、後に述べるステップＳ１６５の処理に移行する。一方、Ｃh＞Ｃｍhが満たされると判定された場合（ステップＳ１６１：Ｙｅｓルート）、補正量算出部５０５４は、ＣhにＣｍhの値を設定する（ステップＳ１６３）。そして、補正量算出部５０５４は、低減補正量Ｃ（Ｃc，Ｃh）をワーク・メモリ領域等の記憶装置に格納する（ステップＳ１６５）。なお、以降の説明において、最大補正量Ｃｍの値が設定された基本補正量Ｃについては、低減補正量Ｃと称する。
【０１１０】
第１３図に、低減補正量の概念図を示す。第１３図には、基本補正量に対応する横軸１３０１と低減補正量に対応する縦軸１３０２と最大補正量Ｃｍを示す線１３０３と低減補正量Ｃを示す曲線１３０４とが示されている。低減補正量Ｃを示す曲線１３０４は、基本補正量が最大補正量Ｃｍ以下の間は、基本補正量をそのまま低減補正量Ｃとして用いることを示している。さらに、低減補正量Ｃを示す曲線１３０４は、基本補正量が最大補正量Ｃｍを超えると、最大補正量Ｃｍを低減補正量Ｃとして用いることを示している。すなわち、このようにして設定される低減補正量Ｃには、最大補正量Ｃｍを超える値が設定されることはない。
【０１１１】
第１４図に、低減補正量を用いた補正の概念図を示す。第１４図の例では、第１２図と同様に、CIELAB表色系の色成分であるａ*に対応するａ*軸１４０１とｂ*に対応するｂ*軸１４０２とにより張られる色空間が示されている。そして、この色空間上に、平均値Ａ（aavr，bavr）を示す点１４０３と肌色目標値Ｋ（ka，kb）を示す点１４０４と基本補正量に対応するベクトル１４０５と補正前の顔の色の色値範囲を示す長方形１４０６と補正後の顔の色の色値範囲を示す長方形１４０７と低減補正量Ｃに対応するベクトル１４０８とが示されている。基本補正量に対応するベクトル１４０５の長さに比べ、低減補正量Ｃに対応するベクトル１４０８の長さが短くなっており、補正量が低減されたことが示されている。例えばＣc＞Ｃｍc及びＣh＞Ｃｍhが満たされ、基本補正量にＣｍの値が設定された場合、このように補正量が低減される。例えば、顔の色の色値範囲を示す長方形１４０６に含まれる色値を有する、画像データ中の画素について、低減補正量Ｃに対応するベクトル１４０８に応じて補正した結果が、補正後の顔の色の色値範囲を示す長方形１４０７に示されている。なお、補正量を低減するのは、極端に大きな補正がなされることにより、補正後の画像を見たユーザが違和感を覚えるのを防止するためである。
【０１１２】
第１１図の説明に戻り、補正量算出部５０５４は、以下の（９）式に従って補正範囲設定変数Ｗ1c、Ｗ2c、Ｗ1h及びＷ2hに値を設定する（第１１図：ステップＳ１６７）。
Ｗ1c＝２ＳＴＤc，Ｗ2c＝２|Ｃc｜，
Ｗ1h＝２ＳＴＤh，Ｗ2h＝２|Ｃh｜                          （９）
【０１１３】
そして、補正量算出部５０５４は、無彩色対応設定を行うという設定が予めなされているか判定する（ステップＳ１６９）。無彩色対応設定を行うという設定がなされていないと判定された場合（ステップＳ１６９：Ｎｏルート）、処理は端子Ｄを介して第１５図の処理に移行する。一方、無彩色対応設定を行うという設定がなされていると判定された場合（ステップＳ１６９：Ｙｅｓルート）、補正量算出部５０５４は、無彩色対応処理を行う（ステップＳ１７１）。無彩色対応処理の詳細については後に述べるが、補正対象とする色値の範囲や補正量を低減するための処理であり、例えば彩度成分（ｃ）及び色相成分（ｈ）の少なくともいずれかについて実施する。無彩色対応処理が終了すると、処理は端子Ｄを介して第１５図の処理に移行する。
【０１１４】
第１５図及び第１６図に、端子Ｄを介して移行した後の処理を示す。補正量算出部５０５４は、変換画像データ格納部５００８から特定の画像データを読み込み、画像左上の画素Ｉを特定する（第１５図：ステップＳ１８１）。そして、補正量算出部５０５４は、当該画素Ｉと平均値Ａとの座標値に基づき画素Ｉの彩度成分値ＩＡc及び色相成分値ＩＡhを算出し、ワーク・メモリ領域等の記憶装置に格納する（ステップＳ１８３）。彩度成分値ＩＡc及び色相成分値ＩＡhの算出方法は、上に示した（３）式及び（４）式と同様の式を用いる。
【０１１５】
そして、補正量算出部５０５４は、後に説明する補正値決定処理の引数ＩＡ、Ｗ1、Ｗ2及びＣに、それぞれＩＡc、Ｗ1c、Ｗ2c及びＣcを設定する（ステップＳ１８５）。そして、補正量算出部５０５４は、上で設定された引数に基づき補正値決定処理を実行する（ステップＳ１８７）。補正値決定処理の詳細については後に述べるが、補正値決定処理を実行すると、戻り値Ｃｐが返される。補正量算出部５０５４は、ステップＳ１８７における戻り値ＣｐをＣｐc1としてワーク・メモリ領域等の記憶装置に格納する（ステップＳ１８９）。
【０１１６】
さらに、補正量算出部５０５４は、補正値決定処理の引数ＩＡ、Ｗ1、Ｗ2及びＣに、それぞれＩＡh、Ｗ1h、Ｗ2c及びＣcを設定する（ステップＳ１９１）。そして、補正量算出部５０５４は、上で設定された引数に基づき補正値決定処理を実行する（ステップＳ１９３）。補正量算出部５０５４は、ステップＳ１９３における戻り値ＣｐをＣｐc2としてワーク・メモリ領域等の記憶装置に格納する（ステップＳ１９５）。
【０１１７】
そして、補正量算出部５０５４は、Ｃｐc1とＣｐc2とを比較し、Ｃｐc1＜Ｃｐc2が満たされるか判定する（ステップＳ１９７）。Ｃｐc1＜Ｃｐc2が満たされると判定された場合（ステップＳ１９７：Ｙｅｓルート）、補正量算出部５０５４は、所定の変数ＣｐcにＣｐc1の値を設定する（ステップＳ１９９）。そして、処理は端子Ｅを介して第１６図の処理に移行する。一方、Ｃｐc1＜Ｃｐc2が満たされないと判定された場合（ステップＳ１９７：Ｎｏルート）、補正量算出部５０５４は、所定の変数ＣｐcにＣｐc2の値を設定する（ステップＳ２０１）。そして、処理は端子Ｅを介して第１６図の処理に移行する。
【０１１８】
さらに、補正量算出部５０５４は、補正値決定処理の引数ＩＡ、Ｗ1、Ｗ2及びＣに、それぞれＩＡh、Ｗ1h、Ｗ2h及びＣhを設定する（第１６図：ステップＳ２１１）。そして、補正量算出部５０５４は、上で設定された引数に基づき補正値決定処理を実行する（ステップＳ２１３）。補正量算出部５０５４は、ステップＳ２１３における戻り値ＣｐをＣｐh1としてワーク・メモリ領域等の記憶装置に格納する（ステップＳ２１５）。
【０１１９】
そして、補正量算出部５０５４は、補正値決定処理の引数ＩＡ、Ｗ1、Ｗ2及びＣに、それぞれＩＡc、Ｗ1c、Ｗ2h及びＣhを設定する（ステップＳ２１７）。そして、補正量算出部５０５４は、上で設定された引数に基づき補正値決定処理を実行する（ステップＳ２１９）。補正量算出部５０５４は、ステップＳ２１９における戻り値ＣｐをＣｐh2としてワーク・メモリ領域等の記憶装置に格納する（ステップＳ２２１）。
【０１２０】
そして、補正量算出部５０５４は、Ｃｐh1とＣｐh2とを比較し、Ｃｐh1＜Ｃｐh2が満たされるか判定する（ステップＳ２２３）。Ｃｐh1＜Ｃｐh2が満たされると判定された場合（ステップＳ２２３：Ｙｅｓルート）、補正量算出部５０５４は、所定の変数ＣｐhにＣｐh1の値を設定する（ステップＳ２２５）。そして、後に述べるステップＳ２２９に移行する。一方、Ｃｐh1＜Ｃｐh2が満たされないと判定された場合（ステップＳ２２３：Ｎｏルート）、補正量算出部５０５４は、所定の変数ＣｐhにＣｐh2の値を設定する（ステップＳ２２７）。
【０１２１】
そして、補正量算出部５０５４は、Ｃｐc及びＣｐhを当該画素の補正量として画素データに対応付けて補正量格納部５０５６に格納する（ステップＳ２２９）。以上により、１つの画素についての処理が終了したので、補正量算出部５０５４は、全ての画素についての処理が終了したか判定する（ステップＳ２３１）。全ての画素についての処理が終了したと判定されなかった場合（ステップＳ２３１：Ｎｏルート）、補正量算出部５０５４は、次の未処理画素Ｉを特定する（ステップＳ２３３）。そして、ステップＳ１８３（第１５図）の処理に戻る。
【０１２２】
一方、全ての画素についての処理が終了したと判定された場合（ステップＳ２３１：Ｙｅｓルート）、補正量算出処理を終了し、元の処理に戻る。
【０１２３】
このようにして、画像における各画素の補正量が算出される。なお、ステップＳ２２９では、１件ずつ補正量データを格納するような場合を示したが、全ての画素についての処理が終了してからまとめて補正量データを格納するようにしても良い。
【０１２４】
第１７図を用いて、補正値決定処理の詳細について説明する。上で述べたように、補正値決定処理においては、引数としてＩＡ、Ｗ1、Ｗ2及びＣの値が与えられているものとする。まず、補正量算出部５０５４は、|ＩＡ｜＜Ｗ1が満たされるか判定する（第１７図：ステップＳ２４１）。|ＩＡ｜＜Ｗ1が満たされると判定された場合（ステップＳ２４１：Ｙｅｓルート）、補正量算出部５０５４は、戻り値ＣｐにＣの値を設定する（ステップＳ２４３）。そして元の処理に戻る。すなわち、現在処理対象としてチェックしている成分値において、画素Ｉが平均値Ａに十分に近いとみなされた場合には、補正量を低減しない（平均値Ａを有する画素の補正量と同じとする）。
【０１２５】
一方、|ＩＡ｜＜Ｗ1が満たされないと判定された場合（ステップＳ２４１：Ｎｏルート）、補正量算出部５０５４は、|ＩＡ｜＜Ｗ1＋Ｗ2が満たされるか判定する（ステップＳ２４５）。|ＩＡ｜＜Ｗ1＋Ｗ2が満たされると判定された場合（ステップＳ２４５：Ｙｅｓルート）、補正量算出部５０５４は、戻り値ＣｐにＣ−(Ｗ1＋Ｗ2−|ＩＡ｜)／２の値を設定する（ステップＳ２４９）。そして元の処理に戻る。すなわち、現在処理対象としてチェックしている成分値において、画素Ｉが平均値Ａからある程度離れているとみなされた場合には、離れ度合いに応じて補正量を低減する。
【０１２６】
一方、|ＩＡ｜＜Ｗ1＋Ｗ2が満たされないと判定された場合（ステップＳ２４５：Ｎｏルート）、補正量算出部５０５４は、戻り値Ｃｐに０を設定する（ステップＳ２４７）。そして元の処理に戻る。すなわち、現在処理対象としてチェックしている成分値において、画素Ｉが平均値Ａからある程度を超えて離れているとみなされた場合には、補正を行わないようにする。以上のようにして、補正値決定処理が行われ、戻り値Ｃｐが決定される。
【０１２７】
次に、第１８図を用いて、無彩色対応処理（第１１図：ステップＳ１７１）の詳細について説明する。まず、補正量算出部５０５４は、所定の変数Ｃavrに、（aavr2＋bavr2）1/2の値を設定する（ステップＳ２６１）。そして、Ｃavr＞２Ｓ＋２|Ｃ｜が満たされるか判定する（ステップＳ２６３）。Ｃavr＞２Ｓ＋２|Ｃ｜が満たされると判定された場合（ステップＳ２６３：Ｙｅｓルート）、無彩色対応処理を終了し、元の処理に戻る。
【０１２８】
一方、Ｃavr＞２Ｓ＋２|Ｃ｜が満たされないと判定された場合（ステップＳ２６３：Ｎｏルート）、補正量算出部５０５４は、Ｃavr＞２|Ｃ｜が満たされるか判定する（ステップＳ２６５）。Ｃavr＞２|Ｃ｜が満たされると判定された場合（ステップＳ２６５：Ｙｅｓルート）、補正量算出部５０５４は、Ｗ1にＣavr−２|Ｃ｜の値を設定し、Ｗ2に２|Ｃ｜の値を設定する（ステップＳ２６７）。そして後に述べるステップＳ２７１の処理に移行する。一方、Ｃavr＞２|Ｃ｜が満たされないと判定された場合（ステップＳ２６５：Ｎｏルート）、補正量算出部５０５４は、Ｗ1に０を設定し、Ｗ2にＣavrの値を設定し、ＣにＣavr／２の値を設定する（ステップＳ２６９）。そして、補正量算出部５０５４は、Ｗ1、Ｗ2及びＣの値をワーク・メモリ領域等の記憶装置に格納する（ステップＳ２７１）。そして、無彩色対応処理を終了し、元の処理に戻る。
【０１２９】
このようにして、無彩色対応処理が行われ、補正の対象とする画素を特定する際に用いる基準値が変更される。これにより、例えば無彩色の色値を有する画素をなるべく補正しないようにすることができる。
【０１３０】
第１９図に、補正量決定方法の概念図を示す。第１９図には、彩度成分又は色相成分について、ある画素Ｉの補正量がどのように決定されるか示されている。第１９図には、ＩＡ値に対応する軸１９０１と補正量に対応する軸１９０２と補正量曲線１９０３と平均値Ａに対応する点１９０４とが示されている。ここで、ＩＡ値とは、ある画素Ｉと平均値Ａとの色値の差を成分分解したものであり、例えば彩度成分（ｃ）についての差であるＩＡcの値である。このＩＡ値に応じて補正量が決定される。ここでは、平均値Ａに対応する点１９０４におけるＩＡ値を例えば０とする。すなわち、平均値Ａに対応する点１９０４より左側のＩＡ値はマイナスの値となり、右側のＩＡ値はプラスの値となる。
【０１３１】
補正量曲線１９０３を左端から見ていくと、まず、左端からある程度までは、補正量が０である（補正しない）ことが示されている。そして、ＩＡ値が段々大きくなって（絶対値が小さくなって）、ＩＡ値の絶対値がＷ2＋Ｗ1よりも小さくなると、有効な補正量が設定され、ＩＡ値の絶対値が小さくなるのに伴い、補正量が大きくなっていくことが示されている。また、さらにＩＡ値の絶対値が小さくなってＷ1よりも小さくなると、補正量にはＣ（平均値Ａを有する画素の補正量）が設定されることが示されている。ここで、さらにＩＡ値が大きくなっても補正量がＣを超えることはなく、ＩＡ値がＷ1よりも大きくなるまでは、補正量にはＣが設定されることが示されている。
【０１３２】
また、ＩＡ値がＷ1よりも大きくなると、ＩＡ値が大きくなるのに伴い、補正量が小さくなっていき、ＩＡ値がＷ1＋Ｗ2よりも大きくなると、補正量には０が設定される（補正しない）ことが示されている。
【０１３３】
このようにして、平均値Ａと画素Ｉの色値との差に応じて、画素Ｉに対する補正量が決定される。すなわち、平均値Ａに十分近いとみなされる色値を有する画素には平均値Ａを有する画素と同量の補正を行い、ある程度近いとみなされる色値を有する画素には平均値Ａからの遠さに応じて低減した量の補正を行い、ある程度以上遠いとみなされる色値を有する画素には補正を行わないようにしている。
【０１３４】
第２０図に、補正対象範囲の概念図を示す。第２０図の例では、CIELAB表色系の色成分であるａ*に対応するａ*軸２０１とｂ*に対応するｂ*軸２０２とにより張られる色空間が示されている。そして、この色空間上に、平均値Ａ（aavr，bavr）を示す点２１０と低減補正量Ｃcに対応するベクトル２１１と低減補正量Ｃhに対応するベクトル２１２と第１の長方形２０５と第２の長方形２０３と第３の長方形２０４と彩度成分の補正量を示す曲線２０６及び２０８と色相成分の補正量を示す曲線２０７及び２０９とが示されている。
【０１３５】
第１の長方形２０５は、顔の色の色値範囲を示す長方形である。第１の長方形２０５は、中心点（対角線の交点）が平均値Ａ（aavr，bavr）であり、長い方の辺は、彩度成分の標準偏差ＳＴＤcの２倍に等しく、さらに、彩度成分の補正量を示す曲線２０８によって示されている台形の上底（短い方）及び色相成分の補正量を示す曲線２０９によって示されている台形の上底（短い方）の長さに等しい。また、第１の長方形２０５の短い方の辺は、色相成分の標準偏差ＳＴＤhの２倍に等しく、さらに、彩度成分の補正量を示す曲線２０６によって示されている台形の上底（短い方）及び色相成分の補正量を示す曲線２０７によって示されている台形の上底（短い方）の長さに等しい。成分毎の補正量を示す曲線によって示されている各台形の上底は、補正量が最大（平均値Ａを有する画素と同量の補正量）になっており、この第１の長方形２０５に含まれる色値を有する画素には、平均値Ａを有する画素と同量の補正を実施するということが示されている。
【０１３６】
第２の長方形２０３は、彩度成分及び色相成分を補正する色の色値範囲を示す長方形である。第２の長方形２０３は、長い方の辺が、彩度成分の標準偏差ＳＴＤcの２倍＋彩度成分の低減補正量|Ｃc｜の２倍に等しく、彩度成分の補正量を示す曲線２０８によって示されている台形の下底（長い方）の長さに等しい。また、第２の長方形２０３の短い方の辺は、色相成分の標準偏差ＳＴＤhの２倍＋彩度成分の低減補正量|Ｃc｜の２倍に等しく、彩度成分の補正量を示す曲線２０６によって示されている台形の下底（長い方）の長さに等しい。この第２の長方形２０３に含まれない色値を有する画素には、彩度成分についての補正は行われないということが示されている。
【０１３７】
第３の長方形２０４は、色相成分を補正する色の色値範囲を示す長方形である。第３の長方形２０４は、長い方の辺が、彩度成分の標準偏差ＳＴＤcの２倍＋色相成分の低減補正量|Ｃh｜の２倍に等しく、色相成分の補正量を示す曲線２０９によって示されている台形の下底（長い方）の長さに等しい。また、第３の長方形２０４の短い方の辺は、色相成分の標準偏差ＳＴＤhの２倍＋色相成分の低減補正量|Ｃh｜の２倍に等しく、色相成分の補正量を示す曲線２０７によって示されている台形の下底（長い方）の長さに等しい。この第３の長方形２０４に含まれない色値を有する画素には、補正は行われないということが示されている。以上説明したような補正対象範囲の設定は、第１１図乃至第１７図に示した補正量算出処理によって実現される。
【０１３８】
次に、第２１Ａ図、第２１Ｂ図及び第２１Ｃ図に、補正範囲及び補正量低減の概念図を示す。補正範囲の低減は、補正範囲設定変数であるＷ1c、Ｗ2c、Ｗ1h及びＷ2hの少なくともいずれかに低減した値を設定することにより行う。補正量低減は、低減補正量Ｃc及びＣhの少なくともいずれかにさらに低減した値を設定することにより行う。本実施例では、第１８図に示した無彩色対応処理によってこれらの設定処理がなされる。
【０１３９】
第２１Ａ図には、補正量曲線２１０１が示されている。補正量曲線２１０１は、無彩色対応処理を実施しない場合の補正範囲及び補正量を表している。なお、第２１Ａ図の構成要素及び変数の値は第１９図と同様であり、詳細な説明を省略するが、彩度成分及び色相成分のいずれかの成分についての例を示したものであり、以下、成分の明示を省略する。第２１Ｂ図には、補正量曲線２１０２が示されている。補正量曲線２１０２は、補正量曲線２１０１（第２１Ａ図）に比べて、補正量がＣとなるＩＡの範囲が狭くなっている。これは、無彩色対応処理により、Ｗ1に標準偏差Ｓの２倍より小さい値が設定された場合を表している。
【０１４０】
第２１Ｃ図には、補正量曲線２１０３が示されている。補正量曲線２１０３は、補正量曲線２１０１（第２１Ａ図）に比べて、補正量が０となるＩＡの範囲が広くなり、補正量の最大値も小さくなっている。さらには、補正量が最大となるＩＡの範囲が、平均値Ａのみとなっている。これは、無彩色対応処理により、Ｗ1に標準偏差Ｓ（例えばＳc）の２倍より小さい値が設定され且つ低減補正量Ｃにさらに小さい値が設定された場合を表している。なお、本実施例では、台形の斜辺は傾きが１／２及び−１／２となっており、台形の上底がなくなり三角形となると、この斜辺の傾きが優先されて、低減補正量Ｃも小さくなる。このようにして、補正の対象とする画素を絞り込むことによって、ユーザが違和感を覚えるような不要な補正を行わないようにできる。
【０１４１】
以上、本発明の実施例について説明したが、本発明はこれに限定されるものではない。例えば、第１図に示した機能ブロックの構成は一例であって、実際のプログラム・モジュール構成とは異なる場合がある。また、第３図、第４図、第６図、第１０Ａ図、第１０Ｂ図、第１２図乃至第１４図、第１９図乃至第２２Ｂ図に示した概念図は一例であって、同様のデータを別の態様で表現する場合もある。さらに、第２図、第５図、第７図乃至第９図、第１１図、及び第１５図乃至第１８図に示した処理フローも一例であって、同様の処理結果が得られる範囲において処理の順序を入れ替えてもよいし、同時に実行したり、必要に応じてステップを追加又は削除してもよい。
【０１４２】
また、上で述べたような処理を実行する装置は、メモリ及びプロセッサを有する一般的なコンピュータであっても良いし、プロセッサを有するデジタルカメラやその他の画像処理装置であっても良い。
【図面の簡単な説明】
【０１４３】
【図１】本発明の一実施例に係る画像補正装置の機能ブロック図である。
【図２】本発明の一実施例に係るメイン処理フローを示す図である。
【図３】ヒストグラム生成に用いる色空間図の一例である。
【図４】色空間における有効領域の一例を示す図である。
【図５】特徴量算出処理の処理フロー（その１）を示す図である。
【図６】成分分解の概念図である。
【図７】特徴量算出処理の処理フロー（その２）を示す図である。
【図８】追加特徴量算出処理の処理フローを示す図である。
【図９】評価値算出処理の処理フローを示す図である。
【図１０Ａ】評価値算出処理の概念図（その１）である。
【図１０Ｂ】評価値算出処理の概念図（その２）である。
【図１１】補正量算出処理の処理フロー（その１）を示す図である。
【図１２】基本補正量の概念図である。
【図１３】低減補正量の概念図である。
【図１４】低減補正量を用いた補正の概念図である。
【図１５】補正量算出処理の処理フロー（その２）を示す図である。
【図１６】補正量算出処理の処理フロー（その３）を示す図である。
【図１７】補正値決定処理の処理フローを示す図である。
【図１８】無彩色対応処理の処理フローを示す図である。
【図１９】補正量決定方法の概念図である。
【図２０】補正対象範囲の概念図である。
【図２１Ａ】補正範囲及び補正量低減の概念図（その１）である。
【図２１Ｂ】補正範囲及び補正量低減の概念図（その２）である。
【図２１Ｃ】補正範囲及び補正量低減の概念図（その３）である。
【図２２Ａ】ピーク検出の概念図（その１）である。
【図２２Ｂ】ピーク検出の概念図（その２）である。
【図１】
0004480676.tif 000002
【図２】
0004480676.tif 000003
【図３】
0004480676.tif 000004
【図４】
0004480676.tif 000005
【図５】
0004480676.tif 000006
【図６】
0004480676.tif 000007
【図７】
0004480676.tif 000008
【図８】
0004480676.tif 000009
【図９】
0004480676.tif 000010
【図１１】
0004480676.tif 000011
【図１２】
0004480676.tif 000012
【図１３】
0004480676.tif 000013
【図１４】
0004480676.tif 000014
【図１５】
0004480676.tif 000015
【図１６】
0004480676.tif 000016
【図１７】
0004480676.tif 000017
【図１８】
0004480676.tif 000018
【図１９】
0004480676.tif 000019
【図２０】
0004480676.tif 000020
0004480676.tif 000021
0004480676.tif 000022