(57)【要約】【課題】  補正対象画像において補正対象となる領域とそれ以外の領域の彩度バランスの崩れにより、補正画像が不自然なものになることを防ぐ。【解決手段】  前記画像の補正対象とする色を代表色として抽出する代表色抽出手段と、前記画像の補正対象とする色の補正目標色を記憶する目標色記憶手段と、前記画像の補正対象とする代表色を含む色領域を設定する色領域設定手段と、前記画像の補正対象とする位置領域を設定する位置領域設定手段と、前記代表色抽出手段で抽出された代表色と前記目標色記憶手段に記憶された目標色との差に基づき、前記位置領域設定手段で設定された色領域内であり、かつ前記画像の前記色領域設定手段で設定された色領域内である色を補正すると共に、前記色領域内の色の彩度変換量に応じて、前記位置設定手段で設定された位置領域外近傍の彩度を変換する色補正手段を有することを特徴とする。【選択図】  図３
2006203431.tif 000002
【特許請求の範囲】
【請求項１】
画像中の所定色領域の色補正を行う画像処理装置であって、
前記画像の補正対象とする色を代表色として抽出する代表色抽出手段と、
前記画像の補正対象とする色の補正目標色を記憶する目標色記憶手段と、
前記画像の補正対象とする代表色を含む色領域を設定する色領域設定手段と、
前記画像の補正対象とする位置領域を設定する位置領域設定手段と、
前記代表色抽出手段で抽出された代表色と前記目標色記憶手段に記憶された目標色との差に基づき、前記位置領域設定手段で設定された色領域内であり、かつ前記画像の前記色領域設定手段で設定された色領域内である色を補正すると共に、前記色領域内の色の彩度変換量に応じて、前記位置設定手段で設定された位置領域外近傍の彩度を変換する色補正手段を有することを特徴とする画像処理装置。
【請求項２】
前記色補正手段において、前記色領域によって決まる彩度補正量と、前記位置領域によって決まる彩度補正量のうち大きい補正量に基づいて、彩度を補正することを特徴とする請求項１の画像処理装置。
【請求項３】
前記色補正手段において、補正処理前後で補正対象領域とそれ以外の領域の彩度が逆転しないようにすることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
画像中の所定色領域の色補正を行う画像処理方法であって、
前記画像の補正対象とする色を代表色として抽出する代表色抽出ステップと、
前記画像の補正対象とする色の補正目標色を記憶する目標色記憶ステップと、
前記画像の補正対象とする代表色を含む色領域を設定する色領域設定ステップと、
前記画像の補正対象とする位置領域を設定する位置領域設定ステップと、
前記代表色抽出手段で抽出された代表色と前記目標色記憶手段に記憶された目標色との差に基づき、前記位置領域設定ステップで設定された色領域内であり、かつ前記画像の前記色領域設定ステップで設定された色領域内である色を補正すると共に、前記色領域内の色の彩度変換量に応じて、前記位置設定ステップで設定された位置領域外近傍の彩度を変換する色補正ステップを有することを特徴とする画像処理方法。
【請求項５】
前記色補正ステップにおいて、前記色領域によって決まる彩度補正量と、前記位置領域によって決まる彩度補正量のうち大きい補正量に基づいて、彩度を補正することを特徴とする請求項４の画像処理方法。
【請求項６】
前記色補正ステップにおいて、補正処理前後で補正対象領域とそれ以外の領域の彩度が逆転しないようにすることを特徴とする請求項４に記載の画像処理方法。
【請求項７】
請求項４から請求項６のいずれかに記載の画像処理方法を実行するプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラー画像の色補正処理に関する。
【背景技術】
【０００２】
カラー画像機器の色再現においては元の色を忠実に再現することが要求される。一方、人間が好ましいと感じる色再現も重要で、特に、肌色、空の青、草木の緑などにおいては好ましい色再現が要求される。そのため、例えばデジタルカメラで被写体を撮影、デジタル画像データとして記録する場合には、撮影時に画像が適正な明るさになるよう露出を制御するとともにイメージセンサーから出力されるカラー画像データに対してカラーバランス、色相、彩度、階調の補正を行っている。
【０００３】
しかしながら、これらの色変換に関する処理は画像全体に対して明るさや色を補正するものであるため補正したい色を個別に補正することができず、補正したい色を目標とする色に補正を行った場合には別の色に影響が及び画像全体としては好ましい色に補正を行うことはできなかった。例えば、人物を撮影する場合に人物の肌が陰になってしまった場合には肌を目標とする明るさまで明るくすると元々好ましい明るさであった画像中の他の領域が過剰に明るくなってしまうといった問題があった。また、部分的な照明の影響で人物の肌の色が青味を帯びたり、逆に黄色すぎたりした場合には、肌の色を好ましい肌色に補正しようとすると元々好ましい色であった画像中の他の領域の色が不自然になってしまうことがあった。
【０００４】
このような問題を解決するため、例えば、非特許文献１においては、選択的色調整のモデルが紹介されている。これは、色補正を行う色領域を指定し、指定した色領域内の色相および彩度を好ましい方向へと補正するものである。文献においては、補正を行う色領域の指定にメンバシップ関数を用いて、あいまいさ導入し色空間の連続性の崩れに対応している。
【０００５】
しかしながら、上記従来例では、色領域重みに対応するメンバシップ関数についてどのように定めるかは具体的に示されていなかった。仮に色領域重みを適当な値に設定して色の調整を行うと、補正量が強すぎて画像が不自然になったり、補正量が弱すぎて期待した効果が得られない。また、補正結果の画像をディスプレイに表示したり、プリンタで印刷して確認し、知覚的に調整しながら最適な重みを探索するという方法では調整に専門的な経験が必要であったり、膨大な回数の試行を必要とする。
【非特許文献１】”ハードコピーのための画像信号処理”、小寺、テレビジョン学会誌Vol.43,No.11（1989）,pp.1205-1212
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は以上の問題に鑑みて成されたものであり、画像全体の明るさや色の変換では補正しきれない画像に対して、所望の色領域内での色相および彩度の補正を簡単かつ効果的に行い、さらに補正対象画像において補正対象となる領域とそれ以外の領域の彩度バランスの崩れにより、補正画像が不自然なものになることを防ぐことができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、以下の構成を備える。即ち、
画像中の所定色領域の色補正を行う画像処理装置であって、前記画像の補正対象とする色を代表色として抽出する代表色抽出手段と、前記画像の補正対象とする色の補正目標色を記憶する目標色記憶手段と、前記画像の補正対象とする代表色を含む色領域を設定する色領域設定手段と、前記画像の補正対象とする位置領域を設定する位置領域設定手段と、前記代表色抽出手段で抽出された代表色と前記目標色記憶手段に記憶された目標色との差に基づき、前記位置領域設定手段で設定された色領域内であり、かつ前記画像の前記色領域設定手段で設定された色領域内である色を補正すると共に、前記色領域内の色の彩度変換量に応じて、前記位置設定手段で設定された位置領域外近傍の彩度を変換する色補正手段を有することを特徴とする。
【発明の効果】
【０００８】
本発明の構成により、画像全体の明るさや色の変換では補正しきれない画像に対して、所望の色領域内での色相および彩度の補正を簡単かつ効果的に行うことができる。さらに、補正対象画像において補正対象となる領域とそれ以外の領域の彩度バランスの崩れにより、補正画像が不自然なものになることを防ぐことができる。
【発明を実施するための最良の形態】
【０００９】
以下添付図面を参照して、好適な実施例を詳細に説明する。
【００１０】
本実施形態に係る画像処理装置は、ＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等のコンピュータにより構成されており、デジタルカメラからの入力、インターネットからのダウンロード、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体からの読み出し等により入力された画像において、所定の被写体を判別し、その領域を検出することを目的とするものである。
【００１１】
以下、このような処理を行う本実施形態に係る画像処理装置についてより詳細に説明する。特に、本実施例ではカメラで撮影した画像中から人物の顔領域を検出する例について適用し、その内容を説明する。
【００１２】
図２は、本実施形態に係る画像処理装置の基本構成を示す図である。
【００１３】
２０１はＣＰＵで、ＲＡＭ２０２やＲＯＭ２０３に格納されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する各処理を行う。
【００１４】
２０２はＲＡＭで、外部記憶装置２０７や記憶媒体ドライブ装置２０８から読み出したプログラムやデータを一時的に記憶するためのエリアを備えると共に、ＣＰＵ２０１が各種の処理を実行する為に用いるワークエリアも備える。
【００１５】
２０３はＲＯＭで、ここにブートプログラムや本装置の設定データなどを格納する。
【００１６】
２０４、２０５は夫々キーボード、マウスで、夫々ＣＰＵ２０１に各種の指示を入力するためのものである。
【００１７】
２０６は表示部で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２０１による処理結果を文字や画像などにより表示する。
【００１８】
２０７は外部記憶装置で、例えばハードディスクドライブ装置等の大容量情報記憶装置であって、ここにＯＳ（オペレーティングシステム）や、後述する各処理をＣＰＵ２０１に実行させるためのプログラムやデータが格納されており、これらは必要に応じて、ＣＰＵ２０１の制御によりＲＡＭ２０２に読み出される。
【００１９】
２０８は記憶媒体ドライブ装置で、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されているプログラムやデータを読み出して、ＲＡＭ２０２や外部記憶装置２０７に出力する。なお、上記外部記憶装置２０７に記憶されているプログラムやデータの一部を上記記憶媒体に記録しておいても良く、その場合には、これら記憶されているプログラムやデータを使用する際に、記憶媒体ドライブ装置２０８がこの記憶媒体に記録されているプログラムやデータを読み出して、ＲＡＭ２０２に出力する。
【００２０】
２０９はＩ／Ｆ（インターフェース）で、ここにデジタルカメラやインターネットやＬＡＮのネットワーク回線等を接続することができる。
【００２１】
２１０は上述の各部を繋ぐバスである。
【００２２】
図１は、本実施形態に係る画像処理装置として機能するコンピュータの機能構成を示すブロック図である。
【００２３】
同図において１０は画像入力手段で、この画像入力手段１０を介して本装置に以下の処理対象の画像データが入力される。尚、この画像（入力画像）には、被写体として人の顔が写っている。２０は画像補正手段で、入力画像のコントラストやカラーバランス等を調整する。調整の方法は特に限定されるものではなく、例えば、ヒストグラムやトーンカーブを利用した調整方法などが好適に例示される。２０の画像補正手段により、入力画像を調整したにも関わらず、肌色などの所定色が好ましい色に再現されていない画像に対して、本実施例では後述する色補正手段により肌色などの所定色領域の色補正を行う。３０は人肌領域抽出手段で、補正を行う人肌領域を画像から抽出する。抽出の方法は特に限定されるものではなく、例えば、顔検出手段により検出された顔の情報を利用する方法や、任意の色相や彩度を指定する方法などが例示される。４０は代表色抽出手段で、３０の人肌領域抽出手段で抽出した入力画像中の人肌領域の色情報から、補正対象とする色を代表色として抽出する。補正対象とする代表色として、例えば人肌領域内の画素の色相および彩度の平均値や中央値、あるいは最頻値などを抽出し設定する。また本実施例では、色補正を行う肌色などの所定色の補正目標色を補正対象の色毎に目標色記憶手段５０により記憶しておく。目標色記憶手段５０により記憶した補正目標色と前記代表色を用いて６０の補正係数設定手段により、色補正手段９０で用いる補正係数を設定する。さらに、人肌領域抽出手段３０において抽出した人肌領域の色情報から、前記代表色を含む、補正処理の対象とする色領域を色領域設定手段７０により設定する。また、前記人肌領域の入力画像における位置の情報を用いて、補正対象とする人肌領域の補正処理における位置による画像領域重みを８０の画像領域設定手段により設定する。最後に色補正手段９０では前記補正係数を用い、色領域設定手段７０により設定された補正対象となる色領域および画像領域設定手段８０により設定された画像領域について色補正を行い、画像出力手段１００により補正画像を出力する。
【００２４】
図３は、図１に示した各部により行われる処理のフローチャートである。なお、同図のフローチャートに従ったプログラムを外部記憶装置２０７や記憶媒体ドライブ装置２０８によってＲＡＭ２０２にロードし、これをＣＰＵ２０１が実行することにより、本実施形態に係る画像処理装置は、後述する各処理を行うことになる。
【００２５】
先ず、ＲＡＭ２０２に処理対象の画像（処理対象画像）のデータをロードする（Ｓ１）。このロードの形態は特に限定するものではないが、例えばこの処理対象画像のデータを外部記憶装置２０７に保存させておき、キーボード２０４やマウス２０５を用いてこの処理対象画像のデータのファイル名を入力して、ＣＰＵ２０１にＲＡＭ２０２へのロードを指示しても良いし、Ｉ／Ｆ２０９に不図示のデジタルカメラを接続し、このデジタルカメラに対して（実際にはＲＡＭ２０２にロードされているこのデジタルカメラのドライバソフトに対して）、デジタルカメラで撮像し、自身の内部メモリに保存している画像のデータを画像処理装置のＲＡＭ２０２に転送する指示を送信することにより、ＲＡＭ２０２にこの処理対象画像のデータを転送するようにしても良い。
【００２６】
本実施形態では、この処理対象画像は１画素が８ビットで表現されるＲＧＢ画像であって、且つ処理対象画像のサイズはＭ画素×Ｎ画素（但し、Ｍは水平画素数、Ｎは垂直画素数）であるとする。また、この処理対象画像は、Ｒ（赤）の画素値のみで構成されるプレーンと、Ｇ（緑）の画素値のみで構成されるプレーンと、Ｂ（青）の画素値のみで構成されるプレーンの計３つのプレーンで構成されるものであるとするが、これに限定されるものではなく、１枚の画像であっても良い。
【００２７】
また、この処理対象画像データがＪＰＥＧなどで圧縮されている場合には、ＣＰＵ２０１はこれを伸張し、各画素がＲ、Ｇ、Ｂの各成分で表現される画像を生成する。
【００２８】
次に、ステップＳ１でＲＡＭ２０２にロードされた処理対象画像のコントラストを補正する（Ｓ２）。ステップＳ２のコントラスト補正処理では、補正方法は特に限定されるものではないが、輝度ヒストグラムや入出力関係を表すトーンカーブを用いて前記処理対象画像のコントラストを適切に補正する方法などが例示される。
【００２９】
さらに、ステップＳ３では画像のカラーバランスを適切に補正する。ステップＳ３でのカラーバランス補正処理方法は特に限定されるものではないが、例えばヒストグラムや入出力関係を表すトーンカーブを用いたカラーバランス方法などが挙げられる。
【００３０】
ステップＳ２及びＳ３において、コントラストやカラーバランスが適切に補正されたにも関わらず、肌色などの所定色が好ましい色に再現されていない画像に対して、本実施例では、前記色補正手段により肌色などの所定色領域の色補正を行う。
【００３１】
まず、ステップＳ４において肌色などの所定の色をもつ画素からなる人肌領域を抽出する。ステップＳ４の人肌領域抽出方法は特に限定されるものではないが、顔検出処理により検出された顔の情報を利用する方法や、任意の色相や彩度を指定する方法などが例示される。
【００３２】
前記人肌領域抽出処理において、顔検出処理により検出された顔の情報を利用する方法を一例として説明する。なお、画像中の顔領域を検出する処理としては、IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLINGENCE, VOL.24, No.1, January 2002に" Detecting Faces in Images: A Survey "と題するYangらの報告に挙げられているような方式を用いて顔矩形領域が検出される。
【００３３】
そして、顔検出処理により検出された両目の位置情報を取得し、両目を結ぶ線分とその線分に垂直な線分を辺とする所定の矩形領域を定める。前記矩形領域内画素のＲＧＢ値の平均値及び共分散行列を求める。このＲＧＢ平均値及び共分散行列と検出された顔矩形領域内の各画素のＲＧＢ値とのマハラノビス距離を計算し、閾値以下の画素を肌色画素とし、その集合を人肌領域とする。
【００３４】
この後、前述の方法などを利用し取得した、入力画像中の人肌領域の色情報及び位置情報を利用し、肌色などの所望の色領域内での色相および彩度の補正を行う。本実施例では、肌色など所定色に対して色補正を行うために、肌色などの所定色領域の代表色、代表色を含む補正処理の対象とする色領域、前記人肌領域の入力画像における位置の情報を、後述する色補正処理において利用する。
【００３５】
そのために、まず肌色などの所定色領域の代表色を求める。前記代表色は領域を代表する画素の色相および彩度で表される。よって、ステップＳ５ではＲＧＢ色空間の各値で表現されている前記入力画像を明度L彩度C色相Ｈの値に変換する。
【００３６】
このように彩度C、色相Ｈで表された人肌領域内の画素について、領域内の代表色をステップＳ６の代表色抽出処理によって求める。
【００３７】
ステップＳ６の代表色抽出処理について詳しく説明する（図４のフローチャート参照）。まず、ステップＳ２１においてステップＳ４で抽出された人肌領域のデータを取得する。次に、ステップＳ２２で画素の明度Lがある一定の値LTH以上であるかを判断する。もしステップＳ４で抽出された人肌領域内に目、眉、髭、あるいは陰影が含まれていると、人肌領域から抽出した補正対象とする色の代表色が適切に得られない場合がある。前記人肌領域内の陰影、あるいは目、眉、髭といった領域は補正対象とする肌色などの所定色よりも明度が低いと考えられるので、前記条件を用いることにより、前記人肌領域内の陰影、あるいは目、眉、髭といった領域の画素を除外することできる。
【００３８】
ステップＳ２２の条件を満たした画素について、ステップＳ２３にて同画素の彩度Ｃ及び色相Ｈの色データを集計する。この集計方法は補正対象の代表色として何を用いるかによって変わってくるが、例えば、補正対象の代表色を人肌領域内の画素の平均値とする場合には、ステップＳ２３の集計は、彩度Ｃ及び色相Ｈの単純な加算を意味する。また、同時に画素数もカウントする。この後、ステップＳ２４で対象画素を移動させ、ステップＳ２５で全画素について走査を終了したと判断されるまで前記集計処理を繰り返す。
【００３９】
入力画像の全画素について走査が終了したと判断された場合、ステップＳ２６で補正対象とする色の代表色を算出する。補正対象の代表色を人肌領域内画素の彩度及び色相の平均値で表す場合、ステップＳ２６では前記集計処理での集計結果を集計画素数で除算した値（ＣR，ＨR）を代表色として設定する。このようにして求められた補正対象の色の代表色を利用して、ステップＳ８で色補正のための補正係数を設定する。
【００４０】
次に、ステップＳ７において、補正対象の色毎に予め設定した補正目標色を取得する。ステップＳ６において抽出した補正対象とする代表色とステップＳ７において取得した補正目標色を用いて、ステップＳ８で色補正に使用する、色相と彩度の変換モデルを選択する。における補正量を制御する補正係数を求める。
【００４１】
ステップＳ８の補正係数設定処理では、前記代表色と目標色の差に応じて補正係数を設定する。前記補正係数は後述する色補正処理において使用される、色補正量を制御する所定係数である。後述の色補正における補正量は色相と彩度毎に定めるため、補正係数も色相と彩度毎に設定する。本実施例では、色相補性係数及び彩度補正係数は前記目標色を代表色の差が大きくなるとともに減少するように設定する。さらに、彩度補正係数は、彩度を下げるように補正する場合は、彩度を上げるように補正する場合に比べ、補正量が小さくなるように設定する。
【００４２】
ステップＳ８における補正係数設定処理について以下より詳しく説明する。
【００４３】
色相補正係数ＰHは前記補正目標色の色相ＨTと前記代表色の色相ＨRの差Ｈdistが大きくなるとともに減少するように設定する。色相補正係数の設定方法の例として、式（１）ような式を用いる方法が示される。式（１）でＫ1およびｔ1は補正の強さを制御する係数とする。また、図６に式（１）を表したグラフを示す。図６において、横軸は前記補正目標色の色相ＨTと前記代表色の色相ＨRの差Ｈdist、縦軸は色相補正係数ＰHを示す。
【００４４】
ＰH（Ｈdist）＝Ｋ1exp（−Ｈdist2／ｔ1）                （１）
ただし、Ｈdist＝ＨT−ＨR
つまり、補正対象とする色の代表色相が補正目標色相に色空間での距離が近いほど代表色の色相を補正目標色の色相により近づけるような補正を行い、補正対象とする色の代表色相が補正目標色相から大きく離れている場合には、あまり補正を行わないように補正係数を設定する。このように補正係数の設定を行う理由として、補正対象とする色の代表色相が補正目標色相から大きく離れている場合に、代表色を補正目標色により近づけるような補正を行うと、入力画像全体のバランスが崩れてしまうということが挙げられる。
【００４５】
同様に彩度補正係数ＰCは前記補正目標色の彩度値ＣTと前記代表色の彩度値ＣRの差Ｃdistが大きくなるとともに減少するように設定する。つまり、補正対象とする色の代表彩度が補正目標彩度に近いほど代表色の彩度を補正目標色の彩度により近づけるような補正を行い、補正対象とする色の代表彩度が補正目標彩度から大きく離れている場合には、あまり補正を行わないように補正係数を設定する。ただし、彩度補正係数は彩度を下げるように補正する場合と彩度を上げるように補正をする場合で設定方法を異なるものとする。
【００４６】
彩度を下げる補正をする場合は、補正をすることで画像の印象が地味になってしまうという現象を防ぐように補正係数を設定する方が望ましく、逆に彩度を上げる補正をする場合は、補正対象とする色の代表彩度が補正目標彩度から離れていても、目標彩度に近づけるような補正を行う方が、画像の印象が良くなるという効果が期待できるからである。このような彩度補正係数の設定方法の例として、彩度を下げる補正の場合は、式（２）ような設定式を、彩度を上げる補正の場合は式（３）を用いる方法が示される。式（２）のａ1，ｂ1および式（３）のＫ2，ｔ2は補正の強さを制御する係数とする。
【００４７】
【数１】
2006203431.tif 000003
また、図７に、式（２）、（３）を表したグラフを示す。図７において、横軸は前記補正目標色の彩度値ＣTと前記代表色の彩度値ＣRの差Ｃdist、縦軸は彩度補正係数Ｐcを示す。
【００４８】
前記補正目標彩度と前記代表色の彩度の差が等しい場合でも、彩度を下げる補正における彩度補正係数と彩度を上げる補正における彩度補正係数の値は異なり、彩度を下げる補正における補正係数がより小さくなっていることが図７よりわかる。これは、彩度を下げるように補正する場合は彩度を上げるように補正をする場合に比べ、補正量が小さくなるようにすることを示している。
【００４９】
以上のように、ステップＳ８において算出した色相と彩度の補正係数を、後述する色補正処理（ステップＳ１２）において使用される色補正量を制御する係数として利用する。
【００５０】
一方、ステップＳ１０では代表色を含む補正処理の対象とする色領域を求めるために、色領域設定処理をおこなう。ここでは前記人肌領域内の画素の色相に注目する。本実施例では、補正対象とする代表色を含む色領域を設定し、その領域について色補正を行う。なぜなら、例えば入力画像の全領域に対して、肌の色を好ましい肌色にする補正を行うと、元々好ましい色であった画像中の他領域の色が不自然になってしまうといった問題があるからである。ステップＳ８の補正係数処理において設定される補正対象とする色領域は特定色相で示され、前記特定色相で示される補正範囲と補正対象とする色の代表色によって、色領域重みを設定し、後述する色補正処理に用いる。
【００５１】
以下より、色領域設定処理(ステップＳ１０)について、図５のフローチャートを参照し、詳しく説明する。
【００５２】
まず、ステップＳ３１においてステップＳ４で抽出された人肌領域のデータを取得する。次に、ステップＳ３２で画素の明度Ｌが任意の明度を示すＬTH以上であるかを判断する。もしステップＳ４で抽出された人肌領域内に目、眉、髭、あるいは陰影が含まれていると、人肌領域から抽出した補正対象とする色の代表色が適切に得られない場合がある。前記人肌領域内の陰影、あるいは目、眉、髭といった領域は補正対象とする肌色などの所定色よりも明度が低いと考えられるので、前記条件を用いることにより、前記人肌領域内の陰影、あるいは目、眉、髭といった領域の画素を除外することできる。
【００５３】
ステップＳ３２の条件を満たした画素について、さらにステップＳ３３において、同画素の彩度Ｃが無彩色の彩度を示す所定の値ＣTH以上であるかを判断する。このとき同画素の彩度が前述の値ＣTH以下であるということは、同画素は無彩色に限りなく近いことを意味する。ここで無彩色領域の画素を除く理由は、無彩色領域においてはＲＧＢ値のわずかの差で色相が大きく変わり、人肌領域に対応する色相領域を高精度で求めることができなくなるためである。
【００５４】
ステップＳ１０における色領域設定処理では、色領域を特定色の色相と彩度によって設定する。
【００５５】
ステップＳ３３の条件を満たした画素について、ステップＳ３４にて同画素の色相Ｈおよび彩度Ｃの値を集計する。この集計方法は色領域を示す特定色相および特定彩度として何を用いるかによって変わってくるが、例えば、特定色相については前記人肌領域内に存在し、ステップＳ３２及びＳ３３の条件を満たした画素の色相分布を解析し、最大色相Ｈmaxおよび最小色相Ｈminによって補正対象とする色領域を示す方法が例示される。この後、ステップＳ３５で対象画素を移動させ、ステップＳ３６で全画素について走査を終了したと判断されるまで前記集計処理を繰り返す。
【００５６】
入力画像の全画素について走査が終了したと判断された場合、ステップＳ３７で補正対象とする色領域を設定する。前記最大色相Ｈmaxおよび前記最小色相Ｈminによって補正対象とする色領域を示す場合、ステップＳ３７では前記集計処理での集計結果である最大色相Ｈmaxおよび最小色相Ｈminを用い、式（４）に示すように色領域を設定する。ここで、式（４）のΔＨは補正対象とする色領域の色相範囲を示したものである。
【００５７】
ΔＨ＝｜Ｈmax−Ｈmin｜                    （４）
同様に、彩度においてはステップS３７で入力画像の全画素について走査が終了したと判断されたとき、補正対象とする色領域を最大彩度Ｃmaxおよび最小彩度Ｃminによって補正対象とする色領域を示す場合には、ステップＳ３７で前記集計処理での集計結果である最大彩度Ｃmaxおよび最小彩度Ｃminを用いて式（５）に示すように色領域を設定する。ここで、式（５）ΔＣは補正対象とする色領域の彩度範囲を示したものである。
【００５８】
ΔＣ＝｜Ｃmax−Ｃmin｜                    （５）
つまり、補正対象とする色領域はステップＳ４において抽出された人肌領域を包含するような、色相および彩度範囲として設定される。
【００５９】
また、図５に示す前記色領域設定処理では、補正対象とする色領域を示す特定色の色相と彩度として前記人肌領域内に存在し、ステップＳ３２及びＳ３３の条件を満たした画素群の色相および彩度から自動的に最大色相Ｈmax、最小色相Ｈminおよび最大彩度Ｃmax、最小彩度Ｃminを導出したが、補正対象とする色領域を示す特定色相と特定彩度の設定方法はこれに限定されるものではなく、例えば任意の特定色相および彩度を手動で設定する方法なども挙げられる。この場合には、補正対象とする色領域はステップＳ４において抽出された人肌領域を包含するような、色相範囲および彩度範囲として設定することが望ましい。
【００６０】
さらに、ステップＳ１１の画像領域設定処理では、前記入力画像における前記人肌領域の位置情報から、後述の色補正処理に用いる画像領域重みを設定する。
【００６１】
本実施例では、後述する色補正処理において、ステップＳ１０により設定した特定色領域に対しての重みを利用して肌色などの所定の色に対してのみ色補正を行うことで、元々好ましい色であった画像中の他領域の色が不自然になる現象を回避している。しかしながら、補正対象として色領域のみを設定した場合、例えば補正入力画像において、前記人肌領域外にステップＳ１０において設定される色領域に含まれる人肌以外の画素が存在すると、同画素は色補間の対象となってしまう。このような問題を解決する方法として、ステップＳ１１で設定する画像領域重みを利用する。
【００６２】
前記画像領域重みは、前記人肌領域内の画素を色補正対象とし、前記人肌領域に含まれない画素は色補正対象外となるように０以上１以下の値をＷP（ｘ，ｙ）として設定する（ただし、
【００６３】
【数２】
2006203431.tif 000004
）。このとき後述の色補正処理により前記人肌領域の境界付近で色の連続性が破綻するのを防ぐように、前記画像領域重みを設定することが望ましい。
【００６４】
前記画像領域重み設定方法は限定されるものではないが、前記人肌領域における重心を求め、重心からの各画素の距離に応じて重みをつける方法などが例示される。この設定方法を用いると、後述の色補正処理において、前記人肌領域の境界付近の画素は前記人肌領域の中心付近の画素に比べ補正量が小さくなり、前記人肌領域の境界付近で色の連続性が破綻するのを防ぐことができる。また、前記人肌領域にガウシアンフィルタなどによりローパス処理を行い、前記人肌領域の境界付近をぼかすことで、前記人肌領域内外での色の連続性の破綻を和らげる方法なども挙げられる。
【００６５】
図８に前記画像領域重みの一例を示す。図９のように補正対象画像３０１内に肌色などの所定色からなる前記人肌領域３０２が存在したとき、人肌領域３０２に対してガウシアンフィルタ等によりローパス処理を行い、境界付近をぼかすと、人肌領域とそれ以外の領域の境界は点線３０３となり、補正対象となる前記画像領域は点線３０３で囲まれる領域となる。このとき、前記人肌領域内の画素を色補正対象とし、前記人肌領域に含まれない画素は色補正対象外となるように前記画像領域重みを０から１の値で設定する。図９のように画像上にｘ軸をとった場合、ｘ軸での前記画像領域重みＷP（ｘ，ｙ1）は図８のように示される。
【００６６】
上述したステップＳ５からＳ１１の処理で取得した、肌色などの所定色領域の代表色、代表色を含む補正処理の対象とする色領域および前記人肌領域の入力画像における位置の情報を利用し、補正対象とする画像中の各画素の色相および彩度に対して、ステップＳ１２の色補正処理を実行し、肌色などの所定色を好ましい色に補正する。
【００６７】
このとき、本実施例では補正処理後に補正画像において、補正対象となる肌色などの所定色領域とそれ以外の領域において彩度のバランスの崩れが発生し、補正画像が不自然になるのを防ぐために、前記補正範囲の彩度の変換量に準じて、前記補正対象とする領域以外の領域の彩度を変換するような彩度重みを設定する。ここで、彩度バランスの崩れにより生成される不自然な画像とは例えば、補正対象画像中の人物の肌色を補正対象領域とした場合、人肌領域内の画素の色相と彩度のみを変換すると、人物の顔領域内に含まれる唇領域などの色が褪せたように（あるいは鮮やかになったように）見える画像のことである。このように、補正処理後に補正対象画像において肌色などの所定色の領域とそれ以外の領域での色のバランスが崩れ不自然になってしまう理由の一つとして、補正処理を行う人肌領域と補正処理を行わない領域での彩度が逆転してしまうことが上げられる。そこで、本実施例では前記補正範囲の彩度の変換量に準じて、前記補正対象とする領域以外の領域の彩度を変換するような彩度重みを導入する。
【００６８】
以下、本実施例として補正処理後の彩度バランスの崩れを防ぐために設定する彩度重みを利用した色補正処理について説明する。なお、本実施例ではステップＳ１２の色補正処理において、前記補正対象の代表色の彩度が前記補正目標色の彩度より高いとき、つまり彩度を下げる補正処理を行う場合と、前記補正対象の代表色の彩度が前記補正目標色の彩度より低いとき、つまり彩度を上げる補正処理を行う場合とで、２種類の変換処理を使い分ける。
【００６９】
ステップＳ１１において、前記補正対象の代表色の彩度ＣRが前記補正目標色の彩度ＣTより高いと判定した場合には、ステップＳ１２において行う彩度を下げる補正を行う。なお、後述では、この彩度を下げる場合に利用する処理を補正処理（１）とよぶこととする。
【００７０】
まず、前記補正範囲内の画素の彩度を下げる場合に利用する処理である補正処理（１）とその場合の前記彩度重みの設定手段について説明する。
【００７１】
補正処理（１）では、式（６）を使用して前記補正対象領域の画素の色相を補正する。まず、補正対象の代表色における色相補正量ＤHを算出する。補正対象とする色の代表色における色相補正量は補正対象目標色相ＨTと補正対象とする色の代表色相ＨRの差およびステップＳ８の補正係数設定処理において設定された前記色相補正係数ＰHの積で表される（式（７））。次に、前記色相補正量ＤHに色相領域の重みＷH（色相重み）とステップＳ１１の画像領域設定処理において設定した画像領域重みＷPをかけた分だけ、入力画像内の画素の色相を補正する。ただし、式（６）においてＨは前記色補正処理前の補正対象画素の色相、Ｈ′は前記色補正処理後の補正対象画素の色相を示す。
【００７２】
Ｈ′＝Ｈ＋ＷP・ＷH・ＤH                  （６）
ＤH＝ＰH（ＨT−ＨR）                    （７）
ここで、式（６）における色相重みＷHは、図１０のように、ステップＳ１０で求めた前記補正色相範囲ΔＨおよび前記補正彩度範囲ΔＣで指定される部分色領域４０１内の画素の色相のみを変換するために、図１１のように設定する。つまり、補正対象とする画素の色相重みＷHは、補正対象とする代表色および、前記補正範囲内では１、補正範囲外では０となる。
【００７３】
また、前記補正処理（１）では、式（８）を使用して前記補正範囲内の画素の彩度を補正する。前記彩度補正処理ではステップＳ８の補正係数設定処理で得られた彩度補正係数ＰCから代表色における彩度補正率ＫCを算出し、前記彩度補正率ＫCにステップＳ１０の色領域設定処理において設定した彩度領域の重みＷCとステップＳ１１の画像領域設定処理において設定した画像領域重みＷPから式（１０）により決定する重みＷおよび前記色補正処理前の補正対象画素の彩度Ｃをかけた分だけ、入力画像内の画素の彩度を補正する。前記彩度補正率ＫCは式（９）のように、前記補正目標彩度ＣTおよび補正対象の代表彩度ＣRの差と前記補正代表彩度ＣRの比と前記補正彩度係数ＰCの積で表される。
【００７４】
ただし、式（８）でＣ′は前記色補正処理後の補正対象画素の彩度を示す。
【００７５】
【数３】
2006203431.tif 000005
ここで、式（１０）における彩度重みＷCは、図１２のように、ステップＳ１０で求めた前記補正色相範囲ΔＨおよび前記補正彩度範囲ΔＣで指定される部分色領域５０１内の画素の彩度の変化量に準じて、部分色領域以外の領域５０２の画素の彩度をあげるために使用する。彩度重みＷCは図１３のように補正対象とする代表色および、前記補正範囲内では１、補正範囲外では
【００７６】
【数４】
2006203431.tif 000006
の値をとる。この彩度重みを利用することで、肌色などの所定色領域とそれ以外の領域の補正処理後の彩度バランスの崩れによる、補正画像の不自然さを軽減することが出来る。
【００７７】
また、式（８）の彩度補正処理において使用する重みＷは、上述の方法により指定した彩度重みＷCおよびステップＳ１１において設定した画像領域重みＷPの大小関係により式（１０）のように設定する。設定例を図１４に示す。なお、図１４で画像領域重みＷPは図８で設定したものを使用している。図１４のように重みＷを設定するのは、前記画像領域の境界での彩度の逆転が生じることを防ぐためである。
【００７８】
次に、前記補正範囲内の画素の彩度を上げる補正において利用する処理である補正処理（２）について説明する。
【００７９】
前記補正処理（２）では、色相を補正するために、まず色相を回転するモデル使用する。さらに、補正範囲内の画素の色相を回転した後、ＣＩＥＬＡＢ表現のa*b*色度値をa*b*平面において平行移動することで彩度補正を行う。
【００８０】
まず、ステップS８の補正係数設定処理により得られた、前記色相補正係数ＰHおよび前記彩度補正係数ＰCから、前記補正対象の代表色における色相補正量ＤHおよび彩度補正率ＫCを式(１１)、(１２)より求める。前記色相補正量ＤHは補正対象目標色相ＨTと補正対象とする色の代表色相ＨRの差およびステップＳ８の補正係数設定処理において設定された前記色相補正係数ＰHの積で表される。また、補正対象とする色の代表色における彩度補正率ＫCは補正対象目標彩度ＣTと補正対象とする色の代表彩度ＣRの差およびステップＳ８の補正係数設定処理において設定された前記彩度補正係数ＰCの積に補正対象とする色の代表彩度ＣRを足し合わせたものとする。
【００８１】
【数５】
2006203431.tif 000007
式（１１）より算出した前記色相補正量ＤHを使用して前記補正範囲の画素の色相を式(１３)を用いて補正する。なお、式(1３)において、Ｈは変換前の画素の色相、Ｈ′は変換後の色相を表す。この時、前記補正範囲の画素の彩度は変換せず、以後の平行移動によって変換する。
【００８２】
Ｈ′＝Ｈ＋ＷP・ＷH・ＤH                              (１３)
ここで、式（１３）における色相重みＷHは、図１０のように、ステップＳ１０で求めた前記補正色相範囲ΔＨおよび前記補正彩度範囲ΔＣで指定される部分色領域４０１内の画素の色相のみを変換するために、図１１のように設定する。つまり、補正対象とする画素の色相重みＷHは、補正対象とする代表色および、前記補正範囲内では１、補正範囲外では０となる。
【００８３】
一方、前記補正対象領域以外の領域の画素の彩度は式(1４)によって変換する。このため式（１４）における重みＷ′を式（１５）のように設定する。ここで、式（１５）における彩度重みＷ′Cは、図１５のように、ステップＳ１０で求めた前記補正色相範囲ΔＨおよび前記補正彩度範囲ΔＣで指定される部分色領域６０１内の画素の彩度の変化量に準じて、部分色領域以外の領域６０２の画素の彩度をあげるために使用する。この補正処理（２）では前記補正対象とする所定の色領域において、まず色相のみを補正することが前提であるため、彩度重みＷ′Cは図１６のように補正対象とする代表色および、前記補正範囲内では０、補正範囲外では
【００８４】
【数６】
2006203431.tif 000008
の値をとる。よって、前記補正対象領域以外の領域の画素の彩度を変換する式(１４)におけ重みＷ′は、上述の方法により指定した彩度重みＷ′CおよびステップＳ１１において設定した画像領域重みＷPの大小関係により式（１５）のように設定される。設定例を図１７に示す。なお、図１７で画像領域重みＷPは図８で設定したものを使用している。図１７のように重みＷ′を設定するのは、前記画像領域の境界での彩度の逆転が生じることを防ぎ、前記補正対象領域以外の領域の画素の彩度のみを変換することが出来る。
【００８５】
【数７】
2006203431.tif 000009
次に、色素回転後の補正対象の代表色の色相Ｈ′R、色度値（ａ′R*，ｂ′R*）を式（１６）（１７）（１８）により算出する。
【００８６】
Ｈ′R＝ＨR＋ＤH                            (１６)
ａ′R*＝ＣR・cos（Ｈ′R）                  (１７)
ｂ′R*＝ＣR・cos（Ｈ′R）                  (１８)
さらに、ａ*−ｂ*平面での平行移動における画素の移動量（Δａ*，Δｂ*）を式（１９）および式（２０）より求める。
【００８７】
【数８】
2006203431.tif 000010
ここで、式（２１）における重みＷ″は、上述の方法により指定した彩度重みＷ′CおよびステップＳ１１において設定した画像領域重みＷPの大小関係により設定する。設定例を図１８に示す。なお、図１８で画像領域重みＷPは図８で設定したものを使用している。図１８のように重みＷ″を設定することで、前記画像領域の境界での彩度の逆転が生じることを防ぎ、さらに、前記補正範囲とそれ以外の領域の彩度の逆転によって生じる画像の不自然さを軽減することが可能となる。
【００８８】
最後に、式（２２）（２３）を前記補正範囲内の画素について適用し、移動量分だけ平行移動を行い補正を行い、式（２４）および式（２５）から補正処理後の前記補正範囲内の画素の色相と彩度を算出する。なお、式(２２)(２３)で（ａ1*，ｂ1*）は変換前の画素の色度値、（ａ2*，ｂ2*）は変換後の画素の色度値を、式(２４)(２５)においてＨ″，Ｃ″は補正処理後の画素の色相、彩度を表す。
【００８９】
【数９】
2006203431.tif 000011
なお、ステップS１２において使用する色補正処理は前述した２つの処理に限らない。しかしながら、色補正処理後に肌色などの所定色領域とそれ以外の領域の彩度バランスの崩れによる、補正画像の不自然さが発生しないような彩度重みを設定する補正処理を行うことが望ましい。
【００９０】
最後に、ステップＳ１３、Ｓ１４の処理が実行され、彩度および色相が補正された画像がＲＧＢ色空間のものに変換され出力される。
【００９１】
（他の実施例）
本実施例では人物の肌色を好ましく補正する場合について説明したが、他の記憶色である空の青、草木の緑などを好ましく補正する場合についても適用できることは言うまでもない。
【００９２】
また、本実施例ではデジタルカメラで撮影した画像をコンピュータで処理する場合について説明したが、写真などをスキャナで入力した画像について本実施例を適用してもよい。また、本実施例をデジタルカメラ、スキャナ、ディスプレイ、プリンタなどのカラー画像機器本体に適用してもよい。
【００９３】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行してもよい。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになる。
【００９４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９５】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９６】
本実施例を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００９７】
【図１】本実施例に係る画像処理装置として機能するコンピュータの機能構成を示すブロック図である。
【図２】本実施例に係る画像処理装置の基本構成を示す図である。
【図３】図１に示した画像処理装置により行われる処理のフローチャートである。
【図４】図３に示した代表色抽出処理のフローチャートである。
【図５】図３に示した色領域設定処理のフローチャートである。
【図６】本実施例に係る色相補正係数を説明する図である。
【図７】本実施例に係る彩度補正係数を説明する図である。
【図８】本実施例に係る画像領域重みの設定例である。
【図９】本実施例に係る補正対象画像における、人肌領域を説明する図である
【図１０】本実施例に係る色相および彩度の補正範囲と、補正処理（１）における色相領域重みを説明する図である。
【図１１】本実施例に係る補正処理（１）における色相領域重みの設定例である。
【図１２】本実施例に係る色相および彩度の補正範囲と、補正処理（１）における彩度領域重みを説明する図である。
【図１３】本実施例に係る補正処理（１）における彩度領域重みの設定例である。
【図１４】本実施例に係る補正処理（１）において使用する補正重みＷの設定例である。
【図１５】本実施例に係る色相および彩度の補正範囲と、補正処理（２）における彩度領域重みを説明する図である。
【図１６】本実施例に係る補正処理（２）における彩度領域重みの設定例である。
【図１７】本実施例に係る補正処理（２）において使用する補正重みＷ′の設定例である。
【図１８】本実施例に係る補正処理（２）において使用する補正重みＷ″の設定例である。
【図１】
2006203431.tif 000012
【図２】
2006203431.tif 000013
【図３】
2006203431.tif 000014
【図４】
2006203431.tif 000015
【図５】
2006203431.tif 000016
【図６】
2006203431.tif 000017
【図７】
2006203431.tif 000018
【図８】
2006203431.tif 000019
【図９】
2006203431.tif 000020
【図１０】
2006203431.tif 000021
【図１１】
2006203431.tif 000022
【図１２】
2006203431.tif 000023
【図１３】
2006203431.tif 000024
【図１４】
2006203431.tif 000025
【図１５】
2006203431.tif 000026
【図１６】
2006203431.tif 000027
【図１７】
2006203431.tif 000028
【図１８】
2006203431.tif 000029