(57)【特許請求の範囲】
【請求項１】
入力画像に対して複数の補正処理を行う画像処理装置であって、
前記入力画像に基づき多次元グリッドヒストグラムを算出し、該算出された多次元グリッドヒストグラムの各グリッドの値に対して特定の補正処理が行われた後の多次元グリッドヒストグラムの各グリッドの値と前記各グリッドの度数とに基づき、前記特定の補正処理が行われた後の多次元グリッドヒストグラムの特徴量を解析する手段と、
前記解析した結果に基づき、前記特定の補正処理の後に行われる補正処理で用いる補正パラメータを算出する手段とを有することを特徴とする画像処理装置。
【請求項２】
前記算出された多次元グリッドヒストグラムの各グリッドの値に対して前記特定の補正処理を行い、前記各グリッドの値を更新する更新手段を更に有し、
前記解析する手段は、前記更新手段によって更新された多次元グリッドヒストグラムの各グリッドの値と前記各グリッドの度数とに基づき、前記特定の補正処理が行われた後の多次元グリッドヒストグラムの特徴量を解析することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記特定の補正処理に用いる補正パラメータと前記特定の補正処理の後に行われる補正処理で用いる補正パラメータとに基づき、多次元のルックアップテーブルを生成する手段と、
前記多次元のルックアップテーブルを用いて前記画像に補正を行い出力画像を生成する手段とを更に有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記多次元グリッドヒストグラムの算出は、前記多次元グリッドヒストグラムをＲＧＢの３次元空間で算出することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記特定の補正処理は、画像のホワイトバランスを補正する補正処理であることを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記入力画像から生成された縮小画像の各画素に対して、多次元グリッドヒストグラムのグリッド位置を求め、前記求めたグリッド位置に対応する画素の度数を積算することにより、前記多次元グリッドヒストグラムを算出することを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記特定の補正処理に用いる補正パラメータと前記特定の補正処理の後に行われる補正処理で用いる補正パラメータとに基づき、多次元のルックアップテーブルを生成する手段と、
前記多次元のルックアップテーブルを用いて、前記算出された多次元グリッドヒストグラムのグリッド値を補正し、前記補正されたグリッド値に基づいて特定色の分布を解析する解析手段と、
を更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記解析手段によって解析された特定色の分布に基づき、前記入力画像における特定色領域の輝度を補正するための補正パラメータを算出する手段を更に有することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記特定色は、肌色であることを特徴とする請求項７又は８に記載の画像処理装置。
【請求項１０】
入力画像に対して複数の補正処理を行う画像処理装置によって実行される画像処理方法であって、
解析する手段が、前記入力画像に基づき多次元グリッドヒストグラムを算出し、該算出された多次元グリッドヒストグラムの各グリッドの値に対して特定の補正処理が行われた後の多次元グリッドヒストグラムの各グリッドの値と前記各グリッドの度数とに基づき、前記特定の補正処理が行われた後の多次元グリッドヒストグラムの特徴量を解析する工程と、
前記解析した結果に基づき、前記特定の補正処理の後に行われる補正処理で用いる補正パラメータを算出する工程とを有することを特徴とする画像処理方法。
【請求項１１】
請求項１乃至９の何れか１項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像に対して補正処理を行う画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来、デジタルカメラやデジタルビデオカメラ、プリンタなどのデバイス内部、或いはパーソナルコンピュータ（ＰＣ）上で動作するソフトウェアにおいて、取得した画像データに対して様々な画像補正および加工処理を行うことが提案されている。
【０００３】
例えば、特許文献１には、画像データに階調補正を施し、その後、色補正を行う場合に、正確に色補正を行うために、階調補正後の画像データから色補正量を算出し、所望のデータを得ることが記載されている。
【０００４】
また、特許文献２には、カラーネガをスキャンして得られた画像データに対して、硬調化処理を施し、硬調化処理後の画像データに対して、特定の色相を所望の色相に変換することが記載されている。
【特許文献１】特開2001-313839号公報
【特許文献２】特許3584389号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えば、入力画像が極度の青かぶりを生じている場合、入力画像にどの程度肌色が含まれているかを検出することは困難である。このような画像に対して、何らかの肌色補正を行う場合、まず入力画像に対して色かぶり補正を行って画像全体を適切なカラーバランスに修正する。そして、その結果から得られた中間画像をメモリに格納し、該中間画像から肌色領域を検出し、適切な補正を行うことが考えられる。
【０００６】
上述の状況では、色かぶり補正と肌色補正という目的が異なる２つの補正機能を直列に処理することで、所望の画像データを生成することが可能となる。
【０００７】
しかし、このような方法には二つの問題点がある。まず一つ目は、２つの補正を直列に処理する場合には、前段の処理を施した結果の中間画像を格納するためのメモリが必要であることである。二つ目は、例えば上述した例では、色かぶり補正を入力画像の各画素に対して行うが、例えば入力画像が比較的小さいＶＧＡサイズであったとしても、色かぶり補正のためには３０万回以上の演算処理が必要になることである。
【０００８】
従って、入力画像に対して複数の画像補正処理を直列に施す場合には、できるだけ入力画像サイズを小さくし、中間画像のサイズや中間画像を生成するための演算量を削減することが考えられる。
【０００９】
しかし、入力画像や中間画像のサイズを小さくしてしまうと、それだけ画像の解像度が低下するため、補正量を算出するための画像特徴量を正確に算出することが困難となり、その結果、所望の画像が得られにくくなる状況が考えられる。
【００１０】
また、一般的な画像解析においては、輝度やＲＧＢ成分毎の１次元ヒストグラムを算出し、同ヒストグラムを用いて画像補正パラメータを算出する方法が提案されている。
【００１１】
しかし、このような１次元ヒストグラムでは、輝度の分布の変化や、ＲＧＢ毎の成分の分布は把握することができない。例えば、肌色やピンク色やエメラルドグリーンの分布がどうなっているかは、これらの情報では把握することができず、入力画像を再度参照して画像解析するしか方法がなかった。
【００１２】
本発明は、中間画像を生成しない状態で、低演算量で正確な画像補正量を算出することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、入力画像に対して複数の補正処理を行う画像処理装置であって、前記入力画像に基づき多次元グリッドヒストグラムを算出し、該算出された多次元グリッドヒストグラムの各グリッドの値に対して特定の補正処理が行われた後の多次元グリッドヒストグラムの各グリッドの値と前記各グリッドの度数とに基づき、前記特定の補正処理が行われた後の多次元グリッドヒストグラムの特徴量を解析する手段と、前記解析した結果に基づき、前記特定の補正処理の後に行われる補正処理で用いる補正パラメータを算出する手段とを有することを特徴とする。
【００１４】
また、本発明は、入力画像に対して複数の補正処理を行う画像処理装置によって実行される画像処理方法であって、解析する手段が、前記入力画像に基づき多次元グリッドヒストグラムを算出し、該算出された多次元グリッドヒストグラムの各グリッドの値に対して特定の補正処理が行われた後の多次元グリッドヒストグラムの各グリッドの値と前記各グリッドの度数とに基づき、前記特定の補正処理が行われた後の多次元グリッドヒストグラムの特徴量を解析する工程と、前記解析した結果に基づき、前記特定の補正処理の後に行われる補正処理で用いる補正パラメータを算出する工程とを有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、中間画像を生成しない状態で、低演算量で正確な画像補正量を算出することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１７】
［第１の実施形態］
図１は、第１の実施形態における画像処理装置のハードウェア構成の一例を示す図である。図１において、１０１はＣＰＵ、１０２はＲＯＭ、１０３はＲＡＭである。１０４はプリンタエンジン、１０５はキーボード、ボタン、タッチパネルなどで構成されたユーザインターフェースである。
【００１８】
１０６は液晶ディスプレイなどの表示装置、１０７はメモリカードリーダー、１０８はＵＳＢなどのインターフェースである。これらの各部がシステムバス１０９に接続されている。また、インターフェース１０８はＵＳＢケーブルを介してパーソナルコンピュータ（ＰＣ）１１０に接続される場合もある。
【００１９】
ＣＰＵ１０１は、ＲＯＭ１０２に格納されたプログラム（以下で説明する画像処理のプログラムを含む）をワークメモリであるＲＡＭ１０３にロードして当該プログラムを実行する。そして、当該プログラムに従いシステムバス１０９を介して上記の各構成を制御することで、当該プログラムの機能を実現する。
【００２０】
尚、第１の実施形態では、プリンタを例に挙げて説明するが、本発明はこれだけに限定されるものではなく、例えばデジタルカメラや複写機、ファクシミリやテレビなど、他のデバイスに適用できることは言うまでもない。
【００２１】
図２は、第１の実施形態における処理ブロックを示す図で、ＣＰＵ１０１によって実行される処理である。まず、画像データは、一般的には、Exif-JPEGデータであり、メモリカードリーダー１０７やインターフェース１０８を介して入力される。次に、ＪＰＥＧデコーダにより復号化（ＪＰＥＧデコード）２００が行われ、ＹＣbＣrデータとしてメモリに展開される。このＹＣbＣrデータは縮小画像生成処理２０１に入力され、公知の技術により縮小画像が生成される。
【００２２】
尚、縮小画像を生成する理由は、後述するグリッドヒストグラム（ＧＨ）算出処理での演算量やＷＢパラメータ算出処理で各種画像特性を抽出するが、この時の演算量を削減するためである。そのため、この縮小画像は、画像のディテールをある程度残しておくことが前提となり、サイズは最小でＶＧＡ（６４０×４８０画素）程度が望ましい。
【００２３】
次に、この縮小画像は、ＹＣＣ−ＲＧＢ変換処理２０２を介してグリッドヒストグラム（ＧＨ）算出処理２０３に入力され、入力画像のグリッドヒストグラムを算出する。尚、ＹＣＣ−ＲＧＢ変換処理２０２は公知の輝度色差変換であり、詳細な説明は省略する。
【００２４】
ここで、多次元ヒストグラムであるグリッドヒストグラムについて説明する。グリッドヒストグラムとは、図３に示すような多次元空間におけるＲＧＢヒストグラムである。図３に示す例は、２４ビット（ＲＧＢ各８ビット）のＲＧＢ３次元空間において、１６間隔でグリッドを生成した場合である。
【００２５】
また、図４は、ＧＨ算出処理２０３の処理手順を示すフローチャートである。Ｓ４０１において、入力されたＲＧＢ縮小画像の各画素に対してＧＨのグリッド位置を算出する。この算出処理は、各画素の（Ｒ，Ｇ，Ｂ）値を用いて、以下のように行う。
【００２６】
【数１】
0005032911.tif 000002
【００２７】
上記算出式において、ＧR、ＧG、ＧBは、グリッドヒストグラムの各グリッドを示し、例えば（Ｒ，Ｇ，Ｂ）＝（１６，１６，１６）であれば、グリッド位置は（１，１，１）と計算される。
【００２８】
次に、Ｓ４０２において、以下の３次元配列ＧＨを用いて算出したグリッド位置の度数をカウントアップする。
【００２９】
【数２】
0005032911.tif 000003
【００３０】
そして、上記処理を縮小画像の全ての画素に対して行うことで（Ｓ４０３でＹｅｓ）、ＧＨを算出することができる。
【００３１】
尚、第１の実施形態では、縮小画像をＹＣbＣrデータからＲＧＢデータに変換し、ＲＧＢ３次元空間においてＧＨを算出したが、本発明はこれに限定されるものではない。例えば、ＹＣbＣr空間で３次元グリッドを構成し、同様にＧＨを算出しても良く、更に３次元以上の空間、例えばＣＭＹＫの４次元空間において、同様にＧＨを算出しても良い。
【００３２】
但し、上述したＲＧＢ空間におけるＧＨの算出はＹＣbＣr空間において同数のグリッドで構成されたＧＨよりも優位である。つまり、一般的な画像データでは、輝度が高く彩度も高い画素、例えば（Ｙ，Ｃb，Ｃr）＝（２５５，１２８，１２８）となるような画素が存在しない。そのため、ＹＣbＣr空間では、度数が０となるグリッド位置が多数存在し、空間を有効利用できないからである。
【００３３】
一方、ＲＧＢ空間であれば、画像データは（Ｒ，Ｇ，Ｂ）＝（２５５，２５５，２５５）から（Ｒ，Ｇ，Ｂ）＝（０，０，０）の全域に渡って存在する。このため、全てのグリッド位置を有効利用でき、その結果、ＹＣbＣr空間に比べ、詳細な画像情報の解析を行うことができる。従って、第１の実施形態においては、ＲＧＢ３次元のＧＨを用いることを前提に説明する。
【００３４】
ここで図２に戻り、ホワイトバランス（ＷＢ）パラメータ算出処理２０４に進み、入力画像全体のＷＢの状態を推定し、適切なＷＢに補正するための補正パラメータを求める。このＷＢ補正方法については、本発明の限定するところではなく、公知の技術を用いても構わないが、ここでは画像の明るい領域（ハイライト領域）と暗い領域（シャドー領域）の２領域を使用したＷＢ補正方法を例に挙げて説明する。
【００３５】
入力画像が適正なホワイトバランスとなっている場合、輝度色差空間（例えばＹＣbＣr空間）における入力画像の分布は、図５に示すように、ハイライト（ＨＬ）・シャドー（ＳＤ）領域５００がグレー軸（Ｙ軸）の近辺に分布することが知られている。
【００３６】
これに対して、撮影時の光源の影響などで入力画像が色かぶりを起こすなど、ホワイトバランスが崩れている場合、輝度色差空間における画像の分布は、図６に示す６００のようになる。このような分布となっている画像に対してＷＢ補正を行うには、輝度色差空間において、ハイライトとシャドー領域をグレー軸に載せるような回転行列を生成し、以下のような変換式によって補正することが知られている。この変換式における３×３の回転行列がＷＢ補正パラメータとなる。
【００３７】
【数３】
0005032911.tif 000004
【００３８】
ここで、３次元の回転行列を生成することによりＷＢ補正パラメータを算出する方法を、図７を用いて説明する。
【００３９】
図７は、第１の実施形態におけるＷＢ補正パラメータ算出処理を示すフローチャートである。まず、Ｓ７００において、縮小画像のヒストグラムを算出する。ヒストグラムは、累積輝度ヒストグラムと、各輝度における平均Ｃb，Ｃr値を算出する。そして、Ｓ７０１において、ハイライトとシャドーのポイントを算出する。両ポイントは、例えば上述の累積輝度ヒストグラムを参照し、累積度数が縮小画像全体の９９％と１％の位置をそれぞれハイライトポイントとシャドーポイントとする。
【００４０】
次に、Ｓ７０２において、ハイライトポイントとシャドーポイントの２点をグレー軸に乗せるような３×３の回転行列を生成する。尚、３×３回転行列の生成方法については、各種文献で公知であるため、詳細な説明は省略する。
【００４１】
ここで図２に戻り、特徴量解析処理２０５に進み、入力画像にＷＢ補正を適用した後の各種画像の特徴量を解析する解析パラメータを算出する。
【００４２】
図８は、各種画像解析パラメータを算出する処理を示すフローチャートである。まず、Ｓ８００において、ＧＨの各グリッド値（Ｒ，Ｇ，Ｂ）と各グリッドの度数を取得する。そして、Ｓ８０１において、各（Ｒ，Ｇ，Ｂ）値を（Ｙ，Ｃb，Ｃr）値に変換する。変換した（Ｙ，Ｃb，Ｃr）値に対して、ＷＢパラメータ算出処理２０４で算出した回転行列を用いて、ＷＢ補正後の（Ｙ’，Ｃb’，Ｃr’）値を求める。
【００４３】
次に、Ｓ８０２において、Ｓ８０１で求めたＷＢ補正後の値と、そのグリッドの度数を用いて、輝度の平均値、輝度のヒストグラム、色相のヒストグラム、平均彩度などを算出する。色相や彩度の算出については、ＨＩＳ系の算出でも良いし、Ｃb−Ｃr平面における色相角と原点までの距離で算出しても良い。そして、上述の処理をＧＨの全てのグリッドに対して行う（Ｓ８０３でＹｅｓ）。
【００４４】
上述のように、ＷＢ補正後の画像状態から様々な解析パラメータを算出する際に、縮小画像の各画素に対してヒストグラムを算出することを考えた場合、ＶＧＡサイズの画像であれば、約３０万回の演算処理が必要となる。
【００４５】
しかし、第１の実施形態で説明したようなグリッドヒストグラムを用いた方法であれば、例えばＧＨの格子間隔が１６であれば、全格子点数は１７3＝４９１３となるため、約５千回の演算でおよその画像の特徴を掴むことが可能である。このことは、図１に示すＣＰＵの処理能力が貧弱な環境では、極めて重要な利点となる。
【００４６】
これらの解析情報を元に、階調補正カーブ算出処理や彩度補正係数算出処理において、階調補正のための１次元トーンカーブの選択や彩度補正のための係数値を算出する。
【００４７】
これらの値は、図９に示すシーン分類表に従って決定される。図９は、第１の実施形態におけるシーン分類を説明するための図である。図９では、非常に簡略化したシーン分類（判定）を示している。具体的には、ＧＨとＷＢ補正パラメータから解析した画像解析値（平均輝度、平均彩度）の関係によって４つのシーンに分類している。
【００４８】
平均輝度と平均彩度が閾値（Th_Y, Th_S）以上の場合は風景シーンと分類し、閾値未満の場合は露出不足シーンと分類する。また、平均彩度が閾値以上で、平均輝度が閾値未満の場合は夜景シーンと分類し、何れのシーンにも属さない場合は標準シーンと分類する。このようなシーン分類を図２に示すシーン分類処理２０６で行う。
【００４９】
このように、第１の実施形態では入力画像に対してＷＢ補正を適用した後の画像状態をＧＨを用いて解析することにより、カラーバランスを整えた後の状態で正しいシーン分類処理を行うことが可能となる。
【００５０】
階調補正カーブ算出処理２０７では、上述のシーン分類結果に応じて、階調補正カーブを決定する。図１０は、第１の実施形態で用いる階調補正カーブの一例を示す図である。ここでは簡単のため４つのトーンカーブのみを示しているが、本発明はこれに限定されるものではない。
【００５１】
具体的には、露出不足シーンに対しては、全体の明るさを上げるための直線（図１０に示す露出不足）が設定されている。また、風景シーンに対しては、全体のコントラストを上げるためのカーブ（図１０に示す風景）が設定されている。また、夜景シーンに関しては、暗部が浮くことのないようにし、明るい領域を強調させるような直線（図１０に示す夜景）が設定されている。そして、標準シーンの場合は、何もしない直線（図１０に示す標準）が設定されている。シーン分類結果に応じて、それぞれのカーブを選択し、１次元ルックアップテーブル（１ＤＬＵＴ）としてメモリに格納する。
【００５２】
また、図１１は、シーン毎に彩度強調係数を算出するための重み直線を示す図である。図１１において、縦軸は彩度強調ゲイン（ＳＧ）であり、横軸はＷＢ補正後の特徴量解析処理２０５で求めた平均彩度である。彩度補正係数算出処理２０８は、シーン分類が風景シーンと夜景シーンの場合は上段のカーブに基づき、標準シーンの場合は下段のカーブに基づき、ＳＧを算出する。
【００５３】
尚、何れのカーブも、平均彩度が低い場合は彩度強調を積極的に行い、平均彩度がある一定値以上の場合はＳＧ＝１．０とすることで、行き過ぎた彩度強調を行わないようにしている。
【００５４】
上述した処理により、確定したＷＢ補正パラメータ、階調補正用の１次元ルックアップテーブル、彩度強調ゲインを用いて、３ＤＬＵＴ生成処理２０９で補正用のＲＧＢ３次元ルックアップテーブルを生成する。
【００５５】
図１２は、３次元ルックアップテーブルを生成する処理を示すフローチャートである。まず、Ｓ１２００において、ＬＵＴの各グリッド値（Ｒ，Ｇ，Ｂ）を（Ｙ，Ｃb，Ｃr）に変換する。次に、Ｓ１２０１において、変換した（Ｙ，Ｃb，Ｃr）にＷＢ補正を行うための回転行列を適用し、（Ｙ’，Ｃb’，Ｃr’）を算出する。そして、Ｓ１２０２において、Ｙ’値に対して階調補正用の１ＤＬＵＴを適用し、輝度補正後の値Ｙ''を算出する。
【００５６】
次に、Ｓ１２０３において、（Ｃb’，Ｃr’）に対してＳＧを乗じ、彩度補正後の値（Ｃb''，Ｃr''）を算出する。そして、Ｓ１２０４において、補正後の値（Ｙ''，Ｃb''，Ｃr''）をＲＧＢ値に変換し、グリッド値として３ＤＬＵＴに格納する。上述した処理を３ＤＬＵＴの全グリッドに対して行い（Ｓ１２０５でＹｅｓ）、補正用のテーブル作成を完了する。
【００５７】
その後、補正処理２１０において、元の解像度、プリント解像度、或いは表示解像度になるように、縮小・拡大した入力画像に対して、生成した補正用の３ＤＬＵＴを用いて、公知の補間方法（四面体補間など）により出力画像を生成する。
【００５８】
生成した出力画像は、記憶装置に保存したり、表示装置に表示したり、或いはプリンタエンジンに送られて印刷されても良い。
【００５９】
第１の実施形態によれば、入力画像を縮小した縮小画像に対してＲＧＢグリッドヒストグラムを生成し、縮小画像からＷＢ補正パラメータを算出する。そして、ＷＢ補正パラメータを縮小画像ではなくグリッドヒストグラムに適用することで、低メモリかつ低演算量であるにも関わらず、正確にＷＢ補正後の画像状態を推定することができる。
【００６０】
第１の実施形態では、この推定により、その後のシーン分類や階調補正カーブ、或いは彩度強調係数を求めるため、従来に比べて、より正確なシーン分類と補正量の算出が可能となる。
【００６１】
［第２の実施形態］
次に、図面を参照しながら本発明に係る第２の実施形態を詳細に説明する。第２の実施形態では、色かぶりが生じている入力画像から肌色領域を検出し、その状態に応じて適切な肌色補正を行う場合を説明する。
【００６２】
尚、第２の実施形態における画像処理装置の構成は、図１を用いて説明した第１の実施形態の画像処理装置の構成と同様であり、その説明は省略する。
【００６３】
図１３は、第２の実施形態における処理ブロックを示す図である。尚、入力画像に対してＧＨ、ＷＢ補正パラメータを算出し、シーン分類を行い、最初の３ＤＬＵＴを生成する処理（１３００〜１３０８）は、第１の実施形態と同様であるため、ここでの説明は省略する。
【００６４】
第２の実施形態では、この３ＤＬＵＴとＧＨを利用して第２の特徴量解析処理１３０９で肌色領域の分布を解析する。図１４は、第２の特徴量解析処理を示すフローチャートである。
【００６５】
まず、Ｓ１４００において、ＧＨの各グリッド値（Ｒ，Ｇ，Ｂ）を３ＤＬＵＴ生成処理１３０８で生成した３ＤＬＵＴを用いて、公知の補間方法（四面体補間など）により補正後の値（Ｒ’，Ｇ’，Ｂ’）を算出する。そして、Ｓ１４０１において、算出した（Ｒ’，Ｇ’，Ｂ’）を（Ｙ’，Ｃb’，Ｃr’）に変換する。
【００６６】
次に、Ｓ１４０１で変換した（Ｃb’，Ｃr’）が、定義した肌色領域に含まれているか否かを判定する。図１５は、肌色領域の定義の一例を示す図である。図１５では、簡単化のため、Ｃb−Ｃr平面において、中心位置が（ＳＴｒ，ＳＴｙ）で、半径がＳＴｒとなる円の領域１５００を肌色領域と定義している。しかし、本発明はこれに限定するものではなく、その他、どのような形状の定義や面積の定義を用いても良い。
【００６７】
判定した結果、（Ｃb’，Ｃr’）が定義した肌色領域に含まれている場合、Ｓ１４０２で肌色領域の平均輝度を算出するために、グリッドの度数と輝度Ｙ’を乗じて積算する。そして、上述した処理をＧＨの全グリッドに対して行い（Ｓ１４０３でＹｅｓ）、Ｓ１４０４で、その積算値をＧＨの度数の総和で除算することで、ＷＢ補正後の肌色領域の平均輝度を算出する。
【００６８】
ここで図１３に戻り、算出した肌色領域の平均輝度に応じて、輝度補正カーブ生成処理１３１０により肌色の明るさ補正用のカーブを算出する。図１６は、肌色領域の輝度補正カーブの一例を示す図である。
【００６９】
図１６に示すように、算出した肌色領域の平均輝度をInSkinToneとすると、その値が目標明るさであるOutSkinToneになり、かつ（InY、OutY）が（0,0）、（255,255）となるような輝度補正カーブを生成する。この輝度補正カーブは、単純なガンマ曲線でも良いし、上述の条件を満たすような直線で構成されたカーブでも良い。そして、生成したカーブは１ＤＬＵＴとして、メモリに格納される。
【００７０】
次に、輝度補正カーブの生成が完了すると、３ＤＬＵＴ修正処理１３１１で３ＤＬＵＴの修正を行う。図１７は、３ＤＬＵＴ修正処理を示すフローチャートである。
【００７１】
まず、Ｓ１７００において、補正用３ＤＬＵＴのグリッド値（Ｒ，Ｇ，Ｂ）を取得し、Ｓ１７０１において、同値をＹＣbＣrに変換する。次に、Ｓ１７０２において、Ｙに対して上述した輝度補正カーブを適用し、Ｙ’を得る。そして、Ｓ１７０３において、（Ｙ’、Ｃb，Ｃr）を（Ｒ’，Ｇ’，Ｂ’）に変換し、グリッド値に格納する。上述した処理を補正用３ＤＬＵＴの全グリッドに対して行い（Ｓ１７０４でＹｅｓ）、このＬＵＴの修正処理を完了する。
【００７２】
その後、補正処理１３１２において、元の解像度の入力画像に対して補正用３ＤＬＵＴを用いて、公知の補間方法（四面体補間など）により出力画像を生成する。
【００７３】
生成した出力画像は、記憶装置に保存したり、表示装置に表示したり、或いはプリンタエンジンに送られて印刷されても良い。
【００７４】
第２の実施形態によれば、ＧＨを用いて、ＷＢ補正や階調補正、彩度補正など基本画像補正処理を行った後の画像状態をシミュレートし、そこから基本補正後の肌色領域の分布を正確に推定することが可能となる。推定にはＧＨのみを持てば良いため、ＶＧＡサイズの中間画像を持つ場合に比べ、極めて省メモリ、かつ低演算量で、正確な補正パラメータの算出を行うことが可能となる。
【００７５】
また、入力画像に対して一般的に求められる１次元のヒストグラム（輝度やＲＧＢ成分毎のヒストグラム）ではなく、ＲＧＢ空間における３次元のヒストグラムを用いる。この３次元ヒストグラムを用いて画像解析を行うことで、一般的な１次元のヒストグラムでは算出できなかったような色の分布を解析することが可能となる。従って、１次元のヒストグラムでは求められなかったような補正パラメータを算出することが可能となる。
【００７６】
第２の実施形態では、まず、基本画像補正用の３ＤＬＵＴを生成し、ＧＨを用いて肌色領域を推定して補正量を算出し、生成した３ＤＬＵＴを修正している。この処理により、最後に一度だけ元解像度の画像に対して補正処理を実行すれば良く、効率的な処理で最終出力画像を生成することができるという利点もある。
【００７７】
また、第２の実施形態では、基本的な画像補正処理の後に、肌色領域の輝度を補正する処理について説明したが、本発明はこれに限定されるものではない。例えば、ＧＨを用いて、基本的な画像補正処理後の空や山の緑などの特定色の分布を解析し、その結果に適した処理（例えば彩度補正や色相補正など）を行うことも可能である。
【００７８】
また、第１の実施形態と第２の実施形態では、縮小画像に対してホワイトバランス補正を行い画像の特徴量を解析したが、縮小画像に行う補正はホワイトバランス補正以外のあらゆる画像補正処理でも良い。その場合、該画像補正処理された画像に対して特徴量の解析が行われる。
【００７９】
また、ＲＧＢとＹＣbＣrデータによる画像処理を説明したが、本発明はこれに限定するものではない。例えば、ＹＣbＣrは、輝度と色差に分解して取り扱うことを意味しているため、それと同等の色空間、例えばＹＣ1Ｃ2やＬ*ａ*ｂ*などの均等色空間で処理を行うことなども、当然本発明の範疇に含まれる。
【００８０】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００８１】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【００８２】
この場合、コンピュータ読み取り可能な記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００８３】
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００８４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
【００８５】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００８６】
【図１】第１の実施形態における画像処理装置のハードウェア構成の一例を示す図である。
【図２】第１の実施形態における処理ブロックを示す図である。
【図３】１６間隔でグリッドを生成した場合のＲＧＢ３次元空間を示す図である。
【図４】ＧＨ算出処理２０３の処理手順を示すフローチャートである。
【図５】輝度色差空間（例えばＹＣbＣr空間）における入力画像の分布を示す図である。
【図６】ホワイトバランスが崩れている場合の輝度色差空間における入力画像の分布を示す図である。
【図７】第１の実施形態におけるＷＢ補正パラメータ算出処理を示すフローチャートである。
【図８】各種画像解析パラメータを算出する処理を示すフローチャートである。
【図９】第１の実施形態におけるシーン分類を説明するための図である。
【図１０】第１の実施形態で用いる階調補正カーブの一例を示す図である。
【図１１】シーン毎に彩度強調係数を算出するための重み直線を示す図である。
【図１２】３次元ルックアップテーブルを生成する処理を示すフローチャートである。
【図１３】第２の実施形態における処理ブロックを示す図である。
【図１４】第２の特徴量解析処理を示すフローチャートである。
【図１５】肌色領域の定義の一例を示す図である。
【図１６】肌色領域の輝度補正カーブの一例を示す図である。
【図１７】３ＤＬＵＴ修正処理を示すフローチャートである。
【符号の説明】
【００８７】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  プリンタエンジン
１０５  ユーザインターフェース（ＵＩ）
１０６  表示装置
１０７  メモリカードリーダー
１０８  インターフェース（ＩＦ）
１０９  システムバス
１１０  パーソナルコンピュータ（ＰＣ）
【図１】
0005032911.tif 000005
【図２】
0005032911.tif 000006
【図３】
0005032911.tif 000007
【図４】
0005032911.tif 000008
【図５】
0005032911.tif 000009
【図６】
0005032911.tif 000010
【図７】
0005032911.tif 000011
【図８】
0005032911.tif 000012
【図９】
0005032911.tif 000013
【図１０】
0005032911.tif 000014
【図１１】
0005032911.tif 000015
【図１２】
0005032911.tif 000016
【図１３】
0005032911.tif 000017
【図１４】
0005032911.tif 000018
【図１５】
0005032911.tif 000019
【図１６】
0005032911.tif 000020
【図１７】
0005032911.tif 000021