(57)【特許請求の範囲】
【請求項１】
画像に応じて設定された階調変換条件および彩度変換条件を用いて、当該画像を変換する画像処理装置であって、
前記画像の輝度ヒストグラムに基づき、前記画像のハイライトポイントおよびシャドーポイントを算出するハイライト・シャドー算出手段と、
前記ハイライトポイントおよび前記シャドーポイントに基づき、前記画像の輝度成分を変換するための階調変換条件を設定する第１設定手段と、
複数の属性に対する目標彩度値を保持する保持手段と、
前記画像の属性を判別する判別手段と、
前記判別手段により判別された前記画像の属性に応じた画像領域の彩度値を算出する彩度値算出手段と、
前記保持手段に保持された目標彩度値のうち前記判別手段により判別された画像の属性に応じた目標彩度値と、前記彩度値算出手段により算出された彩度値と、に基づき、前記画像全体の彩度成分を変換するための彩度変換条件を設定する第２設定手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記判別手段は、前記画像を複数のブロックに分割し、分割したブロック毎に属性を判別し、ブロック毎に判別された属性に基づき前記画像の属性を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数の属性に対して優先順位が設定されていることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第２設定手段は、低彩度側と高彩度側のそれぞれに対して前記彩度変換条件を設定することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
複数の属性に対する目標彩度値を保持する保持手段を有し、画像に応じて設定された階調変換条件および彩度変換条件を用いて、当該画像を変換する画像処理装置が行う画像処理方法であって、
前記画像の輝度ヒストグラムに基づき、前記画像のハイライトポイントおよびシャドーポイントを算出するハイライト・シャドー算出工程と、
前記ハイライトポイントおよび前記シャドーポイントに基づき、前記画像の輝度成分を変換するための階調変換条件を設定する第１設定工程と、
前記画像の属性を判別する判別工程と、
前記判別工程で判別された前記画像の属性に応じた画像領域の彩度値を算出する彩度値算出工程と、
前記保持手段に保持された目標彩度値のうち前記判別工程で判別された画像の属性に応じた目標彩度値と、前記彩度値算出工程で算出された彩度値と、に基づき、前記画像全体の彩度成分を変換するための彩度変換条件を設定する第２設定工程と
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置及びその方法に関し、特に、彩度変換を行なう画像処理装置及びその方法に関する。
【０００２】
【従来の技術】
多値画像を形成する画像処理装置においては、画像中で彩度の足りない領域については彩度を補い、また、彩度の出すぎている領域については彩度を抑制することにより、適切な彩度を有する画像を得る、所謂彩度変換が行われている。
【０００３】
従来の画像処理装置において彩度変換を行なう際には、画像内の各画素毎に彩度（通常、彩度を０．０〜１．０で表わす）を算出し、該彩度に対して所定の彩度変換パラメータを乗じることにより、各画素について彩度を補正していた。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来の画像処理装置においては、対象画像の画像特徴を考慮することなく、常に一定値の彩度変換パラメータに基づいて彩度変換を行っていた。
【０００５】
一般に、画像処理装置において再現可能な色のうち、特に人間の肌色や草木の緑色、また、空の青色等は、人間が特に注視し、その微妙な変換に対して敏感に反応する色（以下、記憶色）である。また、これら記憶色に対する最適な彩度は、その色種別に応じて異なる。従って、これら記憶色がどのように再現されているかによって、画像の印象は異なってしまう。
【０００６】
従って、従来のように画像内における記憶色の存在を考慮せず、全体に対して一定の割合で単純に彩度を高めたり、又は抑制したりする処理を行った場合、必ずしもユーザに対して好印象を与える画像が得られるとは限らなかった。即ち、画像内に上記記憶色が存在するか否かに応じて、または、存在すればその色種別に応じて、彩度変換の度合を変更するのが望ましい。
【０００７】
本発明は上述した問題を解決するためになされたものであり、画像特性に応じた適切な彩度変換と輝度変換を可能とする技術を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【０００９】
即ち、画像に応じて設定された階調変換条件および彩度変換条件を用いて、当該画像を変換する画像処理装置であって、
前記画像の輝度ヒストグラムに基づき、前記画像のハイライトポイントおよびシャドーポイントを算出するハイライト・シャドー算出手段と、
前記ハイライトポイントおよび前記シャドーポイントに基づき、前記画像の輝度成分を変換するための階調変換条件を設定する第１設定手段と、
複数の属性に対する目標彩度値を保持する保持手段と、
前記画像の属性を判別する判別手段と、
前記判別手段により判別された前記画像の属性に応じた画像領域の彩度値を算出する彩度値算出手段と、
前記保持手段に保持された目標彩度値のうち前記判別手段により判別された画像の属性に応じた目標彩度値と、前記彩度値算出手段により算出された彩度値と、に基づき、前記画像全体の彩度成分を変換するための彩度変換条件を設定する第２設定手段と
を有することを特徴とする。
【００１１】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
即ち、複数の属性に対する目標彩度値を保持する保持手段を有し、画像に応じて設定された階調変換条件および彩度変換条件を用いて、当該画像を変換する画像処理装置が行う画像処理方法であって、
前記画像の輝度ヒストグラムに基づき、前記画像のハイライトポイントおよびシャドーポイントを算出するハイライト・シャドー算出工程と、
前記ハイライトポイントおよび前記シャドーポイントに基づき、前記画像の輝度成分を変換するための階調変換条件を設定する第１設定工程と、
前記画像の属性を判別する判別工程と、
前記判別工程で判別された前記画像の属性に応じた画像領域の彩度値を算出する彩度値算出工程と、
前記保持手段に保持された目標彩度値のうち前記判別工程で判別された画像の属性に応じた目標彩度値と、前記彩度値算出工程で算出された彩度値と、に基づき、前記画像全体の彩度成分を変換するための彩度変換条件を設定する第２設定工程と
を有することを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【００１４】
[装置構成]
以下、本発明に係る一実施形態の画像処理装置の構成例を図面を参照して詳細に説明する。尚、本発明の画像処理装置は、図１に一例を示すようなハードウェア構成を備える装置、例えばパーソナルコンピュータのようなコンピュータ装置、あるいは、専用のコンピュータ装置に後述するソフトウェアを供給することにより実現されるものである。
【００１５】
図１において、コンピュータ装置１００のＣＰＵ１０２は、ＲＡＭ１０３及びハードディスクなどの記録部１０８をワークメモリとして、ＲＯＭ１０１及び記憶部１０８に格納されたプログラムを実行する。このプログラムは少なくとも、オペレーティングシステム（ＯＳ）及び後述する本実施形態に係る処理を実行するソフトウェアが含まれる。
【００１６】
コンピュータ装置１００が処理する画像データは、例えばディジタルスチルカメラ１０７などの入力デバイスから入力インタフェイス（Ｉ／Ｆ）１０６を介して入力され、ＣＰＵ１０２によって処理される。処理された画像データは、ＣＰＵ１０２により出力デバイスに応じた形態及びフォーマットに変換された後、出力Ｉ／Ｆ１１０を介してプリンタ１１１等の出力デバイスへ送られる。入力された画像データ、出力される画像データ、及び処理途中の画像データなどは、必要に応じて、記憶部１０８に格納したり、ビデオＩ／Ｆ１０４を介してＣＲＴやＬＣＤ等のモニタ１０５に表示することもできる。これらの処理及び動作は、キーボードＩ／Ｆ１０９に接続された入力デバイスであるキーボードやポインティングデバイスであるマウス等により、ユーザから指示される。
【００１７】
尚、入出力Ｉ／Ｆ１０６及び１１０としては、汎用インタフェイスであるＳＣＳＩ、ＧＰＩＢ及びセントロニクスなどのパラレルインタフェイス、並びに、ＲＳ２３２、ＲＳ４２２、ＩＥＥＥ１３９４及びＵＳＢ(Universal Serial Bus)などのシリアルインタフェイスが利用される。
【００１８】
記憶部１０８にはハードディスクの他にＭＯやＤＶＤ−ＲＡＭなどの光ディスクなどのストレージメディアを利用することもできる。画像データを入力するデバイスとしては、ディジタルスチルカメラの他にディジタルビデオカメラ、イメージスキャナ及びフィルムスキャナ等が利用できるし、上記のストレージメディアから、あるいは、通信媒体を介して画像データを入力することもできる。画像データが出力されるデバイスとしては、レーザビームプリンタ、インクジェットプリンタ及びサーマルプリンタなどのプリンタや、フィルムレコーダなどが利用できる。更に、上記のストレージメディアに処理後の画像データを格納しても良いし、通信媒体へ画像データを送出することもできる。
【００１９】
[機能構成]
図２は、本実施形態のソフトウェアの機能ブロック（モジュール）の構成例を示す図である。本実施形態において彩度変換を行うための機能構成としては、画像入力部２、画像出力部３、画像バッファ４、パラメータ保持部５、ヒストグラム保持部６、ヒストグラム作成部７、ハイライト・シャドウ算出部８、ホワイト・ブラックバランス算出部９、画像補正部１０、彩度算出部１１、彩度変換パラメータ設定部１２、彩度変換部１３、及び画像属性判別部１５を有する。
【００２０】
画像入力部２は、入力画像１を読み込んで画像バッファ４に書き込む。パラメータ保持部５は、後述する補正に必要なパラメータ（彩度変換パラメータを含む）を保持している。ヒストグラム保持部６は、画像データのヒストグラムを保持している。ヒストグラム作成部７は、画像バッファ４に格納されている画像データに基づいてヒストグラムを作成し、結果をヒストグラム保持部６に格納する。ハイライト・シャドウ算出部８は、ヒストグラム保持部６に格納されているヒストグラムに基づいてハイライト及びシャドウポイントを算出し、パラメータ保持部５に結果を格納する。ホワイト・ブラックバランス算出部９は、ホワイト及びブラックバランスを算出し、パラメータ保持部５に結果を格納する。画像補正部１０は、パラメータ保持部５に格納されているデータに基づいて、画像バッファ４に格納されている画像データを補正する。
【００２１】
画像属性判別部１５は、画像バッファ４ に格納されている画像データの画像属性を判別する。
【００２２】
彩度算出部１１は、画像バッファ４に格納されている画像データの彩度を算出する。彩度変換パラメータ設定部１２は、画像の彩度情報やユーザ指示、又は画像属性に基づいて彩度変換パラメータを決定し、パラメータ保持部５に格納する。彩度変換部１３は、パラメータ保持部５に格納されている彩度変換パラメータを用いて、画像バッファ４に格納されている画像データの彩度を変換する。
【００２３】
画像出力部３は、画像バッファ４に格納されている画像データを読み出して、出力画像１４として出力する。
【００２４】
[画像処理概要]
図３に、本実施形態における画像処理の概要フローチャートを示す。まずステップＳ１において、画像入力部２は入力画像１を読み込み、画像バッファ４に格納する。そしてステップＳ２において、画像属性判別部１５で、画像バッファ４に格納された画像データに基づいて、該画像の属性を判別する。尚、画像属性判別部７の動作の詳細は図５を用いて後述する。
【００２５】
そしてステップＳ３において、ヒストグラム作成部７で、画像バッファ４に格納された画像データに基づいてその輝度ヒストグラムを作成し、結果をヒストグラム保持部６に格納する。
【００２６】
次にステップＳ４において、ハイライト・シャドウ算出部８で、ヒストグラム保持部６に格納された輝度ヒストグラムに基づいて、画像のハイライトポイント及びシャドウポイントを算出する。尚、ハイライト・シャドウ算出部８における動作の詳細は図７を用いて後述する。
次にステップＳ５において、ホワイト・ブラックバランス算出部９で、画像バッファ４に格納された画像データのホワイトバランス及びブラックバランスを算出する。尚、ホワイト・ブラックバランス算出部９における動作の詳細は図９を用いて後述する。
【００２７】
次にステップＳ６において、画像補正部１０で画像バッファ４から画像を読み込んで、画素毎に補正を施して画像バッファ４に再度書き込む。尚、画像補正部１０における動作の詳細は図１０を用いて後述する。
【００２８】
次にステップＳ７において、彩度算出部１１で画像バッファ４から画像を読み込んで画素毎に彩度を算出し、彩度変換パラメータ設定部１２において該彩度等に基づいて彩度変換パラメータを決定し、パラメータ保持部５に設定する。さらに彩度変換部１３で、パラメータ保持部５に格納された彩度変換パラメータに基づいて画素毎に彩度の補正を行い、画像バッファ４に再度書き込む。尚、これら彩度補正処理の詳細は図１２を用いて後述する。
【００２９】
そしてステップＳ８において、画像出力部３が画像バッファ４に保持された画像データを読み出し、出力画像１４として出力する。
【００３０】
[パラメータ]
ここで、パラメータ保持部５に保持されているパラメータについて説明する。図４は、パラメータ保持部におけるレジスタ項目を示す図である。同図によれば、まずホワイトバランス調整のためのパラメータとして、画像データのハイライトポイント（ＬＨ）、赤，緑，青の各色毎のホワイトバランス（ＲＨ，ＧＨ，ＢＨ)、補正後のハイライトポイント（ＨＰ）、及びハイライト領域の値がそれぞれ保持されている。また同様に、ブラックバランス調整のためのパラメータとして、画像データのシャドウポイント（ＬＳ）、赤，緑，青の各色毎のブラックバランス（ＲＳ，ＧＳ，ＢＳ)、補正後のシャドウポイント（ＳＰ）、及びシャドウ領域の値がそれぞれ保持されている。
【００３１】
また、彩度変換を行うために、低彩度側に対する彩度変換パラメータと、高彩度側に対する彩度変換パラメータをそれぞれ保持している。そして更に、画像属性に応じた適切な彩度を示す属性別彩度Ａ，Ｂ，Ｃが保持されている。本実施形態においては、属性別彩度Ａ，Ｂ，Ｃはそれぞれ、肌色，草木の緑色，空の青色の各属性に対応した彩度を保持しているとする。
【００３２】
本実施形態の初期状態においては、これら各パラメータを適当な値で初期化しておく。例えば、補正後のハイライトポイント（ＨＰ）として「２４５」を、補正後のシャドウポイント（ＳＰ）として「１０」を設定しておく。尚、本実施形態におけるハイライト領域は９９〜１００％、シャドウ領域は０〜1％であるとする。また例えば、低彩度側の彩度変換パラメータは「４０」、高彩度側の彩度変換パラメータは「２０」に初期化しておく。
【００３３】
また例えば、肌色に対応する属性別彩度Ａは「０.４」、草木の緑色に対応する属性別彩度Ｂは「０.３」、空の青色に対応する属性別彩度Ｃは「０.４」に初期化しておく。尚、属性別彩度Ａ，Ｂ，Ｃは、画像特性又はユーザ要求等に応じて適宜変更可能である。
【００３４】
[画像属性判別処理]
図５に、画像属性判別部１５における画像属性判別処理のフローチャートを示す。これは即ち、図３のステップＳ２を詳細に示すものである。
【００３５】
まずステップＳ４１において、画像全体を複数のブロックに分割する。例えば画像全体の縦を３分割、横を５分割することで、全１５ブロックに分割する。そしてステップＳ４２において、分割されたブロックの１つについて、画像データを解析して該ブロックの属性を設定する。
【００３６】
ここで属性としては、「人」や「花」等の特定のオブジェクトや、「空」，「草」，「地面」，「一般背景」等の非オブジェクト、また、ブロック内がほとんど白く飛んでしまっているもの(以下、「白ブロック」と称する)や、識別不能なブロック(以下、「その他」と称する)などが考えられる。尚、これら属性の情報は、例えばＲＯＭ１０１に予め格納していても良いし、又はＲＡＭ１０３や記憶部８等に格納して更新可能としても良い。また、画像がこれら各属性に該当するか否かの判別方法については種々の方法が提案されており、ここでは詳細な説明を省略する。
【００３７】
ここで図６に、画像を分割して、ブロック毎に属性を付与した例を示す。図６の（ａ）は、画像中央のブロックに「人」、その下のブロックに「その他」の属性が付与されている例を示す。そして、それ以外のブロックは「一般背景」の属性が付与されている。この画像の場合、「人」の属性が付与されているブロックについては、その彩度がパラメータ保持部５に保持された属性別彩度Ａに対応した「０.４」となるように、彩度変換が行われる。
【００３８】
また図６の（ｂ）は、上部の２行のブロックに「空」、その下行のブロックにおいて、左の２ブロックは「その他」、右の３ブロックには「地面」の属性が付与されている。この画像の場合、「空」の属性が付与されているブロックについては、その彩度がパラメータ保持部５に保持された属性別彩度Ｃに対応した「０.４」となるように、彩度変換が行われる。尚、本実施形態における彩度変換の詳細については後述する。
【００３９】
そして図５のステップＳ４３において、全ブロックに対する属性付与が終了したか否かを判断し、終了していなければステップＳ４２に戻る。
【００４０】
［ハイライト・シャドウ算出処理］
図７に、ハイライト・シャドウ算出部８におけるハイライト・シャドウ算出処理のフローチャートを示す。これは即ち、図３のステップＳ４を詳細に示すものである。ここで、図３のステップＳ３において作成された輝度ヒストグラムの例を図８に示す。
【００４１】
まずステップＳ１２において、図８に示す輝度ヒストグラムに基づいて、画像のハイライトポイントＬＨを算出する。ここでハイライトポイントＬＨは、画像のハイライト領域における最低輝度値である。したがって図８に示す輝度ヒストグラム例においては、ハイライト領域（９９〜１００％）に相当する輝度範囲は２３０〜２５５であるから、ハイライトポイントＬＨは「２３０」である。この結果をパラメータ保持部５の対応するレジスタに格納する。
【００４２】
次にステップＳ１３において、図８に示す輝度ヒストグラムに基づいて画像のシャドウポイントＬＳを算出する。ここでシャドウポイントＬＳは、画像のシャドウ領域における最高輝度値である。したがって図８に示す輝度ヒストグラム例においては、シャドウ領域（０〜１％）に相当する輝度範囲は０〜１４であるから、シャドウポイントＬＳは「１４」である。この結果をパラメータ保持部５の対応するレジスタに格納する。
【００４３】
［ホワイト・ブラックバランス算出処理］
図９に、ホワイト・ブラックバランス算出部９におけるホワイト・ブラックバランス算出処理のフローチャートを示す。これは即ち、図３のステップＳ５を詳細に示すものである。
まずステップＳ２１において、ホワイトバランスを算出する。具体的には、画像バッファ４から画像データを１画素ずつ読み込み、輝度がハイライトポイントＬＨ以上、かつ補正後のハイライトポイントＨＰ以下である画素のＲ，Ｇ，Ｂ毎の平均輝度値（ホワイトバランス）を算出する。図８に示す輝度ヒストグラム例においては、輝度がＬＨ＝２３０以上、ＨＰ＝２４５以下の領域にある画素が対象となる。そして、得られた平均値のそれぞれは、パラメータ保持部５の対応するレジスタＲＨ，ＧＨ，ＢＨに格納される。
【００４４】
次にステップＳ２２において、ブラックバランスを算出する。具体的には、画像バッファ４から画像データを１画素ずつ読み込み、輝度が補正後のシャドウポイントＳＰ以上、かつシャドウポイントＬＳ以下の画素のＲ，Ｇ，Ｂ毎の平均輝度値（ブラックバランス）を算出する。図８に示す輝度ヒストグラム例においては、輝度がＳＰ＝１０以上、ＬＳ＝１４以下の領域にある画素が対象となる。そして、得られた平均値のそれぞれは、パラメータ保持部５の対応するレジスタＲＳ，ＧＳ，ＢＳに格納される。
【００４５】
［画像補正処理］
図１０に、画像補正部１０における画像補正処理のフローチャートを示す。これは即ち、図３のステップＳ６を詳細に示すものである。
【００４６】
まずステップＳ３１において、パラメータ保持部５に保持されている各色のホワイトバランス（ＲＨ，ＧＨ，ＢＨ）及びハイライトポイントＨＰ、並びにブラックバランス（ＲＳ，ＧＳ，ＢＳ）及びシャドウポイントＬＳに基づいて、ルックアップテーブル（ＬＵＴ）を作成する。ここで、作成されたＬＵＴの例を図１１に示す。図１１に示すＬＵＴにおいては、Ｇ，Ｂ，Ｒの順にハイライト部のガンマ補正特性を立たせている。このように、Ｒに対してＧ及びＢを強調することで、青みがかった（青色がかぶっている）画像の所謂色かぶりを補正することができる。
【００４７】
そしてステップＳ３２において、画像バッファ４に格納されている画像データを、作成したＬＵＴに基づいて１画素ずつ補正する。
【００４８】
［彩度変換処理］
図１２は、本実施形態の特徴である、彩度変換処理のフローチャートである。この処理は図３のステップＳ７を詳細に示すものであり、彩度算出部１１、彩度変換パラメータ設定部１２、彩度変換部１３において実行される。
【００４９】
●色空間変換処理
まずステップＳ１０１においては、彩度算出部１１で、ＲＧＢの色空間上で表される画像データを、色相・明度・彩度を示すＨＬＳ色空間におけるＨＬＳデータへ変換する。ここで、ＲＧＢデータをＨＬＳデータへ変換する１画素毎の処理フローチャートを図１３に示し、説明する。なお、彩度算出方法はこの方法に限らず、他の方法を用いても構わない。
【００５０】
図１３において、まずＲＧＢデータの各色成分の最大値Ｍ及び最小値ｍを求める（Ｓ２０１）。そして、得られた最大値Ｍと最小値ｍを比較し（Ｓ２０２）、等しければ、即ちＲ＝Ｇ＝Ｂであり該画素は無彩色を示すため、処理はステップＳ２０４へ進む。等しくなければステップＳ２０３において、以下の値をそれぞれ算出する。
【００５１】
ｒ＝(Ｍ-Ｒ)／(Ｍ-ｍ)
ｇ＝(Ｍ-Ｇ)／(Ｍ-ｍ)
ｂ＝(Ｍ-Ｂ)／(Ｍ-ｍ)
ステップＳ２０４においては、明度Ｌを下式により求める。
【００５２】
Ｌ＝(Ｍ+ｍ)／２.０
そして、該画素は無彩色であるか、また、無彩色でなければ明度Ｌが所定値（０.５）以下であるか否かを判定し（Ｓ２０５，Ｓ２０６）、該判定結果に応じて以下の様に彩度Ｓを算出する（Ｓ２０７〜Ｓ２０９）。
【００５３】
無彩色           ：Ｓ＝０
有彩色，Ｌ≦０.５：Ｓ＝(Ｍ-ｍ)／(Ｍ+ｍ)
有彩色，Ｌ＞０.５：Ｓ＝(Ｍ-ｍ)／(２.０-Ｍ-ｍ)
次に、該画素は無彩色であるか、また、無彩色でなければ最大値Ｍはどの色成分であるかを判定し（Ｓ２１０，Ｓ２１１）、該判定結果に応じて以下の様に色相Ｈを算出する（Ｓ２１２〜Ｓ２１６）。尚、本実施形態では無彩色の色相を０と定義する。
【００５４】
無彩色           ：Ｈ'＝０
有彩色，Ｒ＝Ｍ   ：Ｈ'＝２+ｂ-ｇ
有彩色，Ｇ＝Ｍ   ：Ｈ'＝４+ｒ-ｂ
有彩色，Ｂ＝Ｍ   ：Ｈ'＝６+ｇ-ｒ
Ｈ＝６０Ｈ'(mod３６０)
以上のように、図１３に示す変換処理によってＲＧＢデータは、色相Ｈが０°〜３６０°（青：０°，赤：１２０°，緑：２４０°）、明度Ｌが０.０〜１.０（黒〜白）、彩度Ｓが０.０〜１.０（無彩色〜ある明度について最も鮮やかな色）の範囲からなるＨＬＳデータに変換される。
【００５５】
●画像属性読み込み
次に、図１２のステップＳ１０２では、画像属性判別部７によって判別されたブロック毎の画像属性情報を、パラメータ保持部５から読み込む。
【００５６】
●彩度変換パラメータ設定及び彩度変換処理
次にステップＳ１０３及びＳ１０４において、彩度変換パラメータ設定部１２で、上記ＨＬＳデータによる彩度情報の平均値または中間値、または分散値等に応じて、低彩度側及び高彩度側の変換パラメータをそれぞれ決定し、パラメータ保持部５に格納する。
【００５７】
そしてステップＳ１０５では、彩度変換部１３において、ステップＳ１０３及びＳ１０４で設定した彩度変換パラメータに基づいて、原画像のＨＬＳデータに対して彩度変換を施す。
【００５８】
ここで、図１４を参照して、これら２つの彩度変換パラメータの設定、及び該パラメータを用いた彩度変換処理の詳細について説明する。
【００５９】
図１４は、本実施形態における彩度変換特性を示す図であり、横軸は原画像の彩度（０.０〜１.０）を表わし、縦軸は変換後の彩度（０.０〜１.０）を表わしている。低彩度側及び高彩度側の２つの彩度変換パラメータは、それぞれ０〜１００の値を持ち、それぞれに変換直線が対応している。
【００６０】
同図において、例えば、低彩度側パラメータが「０」とは即ち、原点（０.０，０.０）とグラフ右上の点（１.０，１.０）とを結ぶ直線を意味し、低彩度側パラメータが「１００」とは即ち、原点（０.０，０.０）とグラフ左上の点（０.０，１.０）とを結ぶ直線を意味する。そして、各直線間を均等に１００分する。  従って、例えば低彩度側の彩度変換パラメータが「４０」であれば、原点（０.０，０.０）と点（０.６，１.０）とを結ぶ直線を示す。
【００６１】
一方、高彩度側パラメータが「０」とは即ち、グラフ右上の点（１.０，１.０）と原点（０.０，０.０）とを結ぶ直線を意味し、高彩度側パラメータが「１００」とは即ち、グラフ右上の点（１.０，１.０）とグラフ左上の点（０.０，１.０）とを結ぶ直線を意味する。そして各直線間を均等に１００分する。従って、例えば高彩度側の彩度変換パラメータが例えば「２０」であれば、グラフ右上の点（１.０，１.０）と点（０.０，０.２）とを結ぶ直線を示す。
【００６２】
尚、図１４では彩度を高める変換特性の例を示したが、同様に、彩度を低下させる変換特性も考えられる。彩度を低下させる変換特性の例を図１５に示す。
【００６３】
図１５において、横軸は原画像の彩度（０.０〜１.０）を表わし、縦軸は変換後の彩度（０.０〜１.０）を表わしている。低彩度側及び高彩度側の２つの彩度変換パラメータは、それぞれ０〜-１００の値を持ち、それぞれに変換直線が対応している。
【００６４】
同図において、例えば、低彩度側パラメータが「０」とは即ち、原点（０.０，０.０）とグラフ右上の点（１.０，１.０）とを結ぶ直線を意味し、低彩度側パラメータが「-１００」とは即ち、原点（０.０，０.０）とグラフ右下の点（１.０，０.０）とを結ぶ直線を意味する。そして、各直線間を均等に１００分する。従って、例えば低彩度側の彩度変換パラメータが「-４０」であれば、原点（０.０，０.０）と点（１.０，０.６）とを結ぶ直線を示す。
【００６５】
一方、高彩度側パラメータが「０」とは即ち、グラフ右上の点（１.０，１.０）と原点（０.０，０.０）とを結ぶ直線を意味し、高彩度側パラメータが「-１００」とは即ち、グラフ右上の点（１.０，１.０）とグラフ右下の点（１.０，０.０）とを結ぶ直線を意味する。そして各直線間を均等に１００分する。従って、例えば高彩度側の彩度変換パラメータが「-２０」であれば、グラフ右上の点（１.０，１.０）と点（０.２，０.０）とを結ぶ直線を示す。
【００６６】
このように、低彩度側と高彩度側とでそれぞれ異なる彩度パラメータを設定可能とすることにより、必要以上の高彩度化又は低彩度化を回避することができる。尚、図１４及び図１５に示す彩度変換特性は、例えばＲＯＭ１０１に予め格納していても良いし、又はＲＡＭ１０３や記憶部８等に格納して更新可能としても良い。
【００６７】
本実施形態においては、画像内に「人」の画像属性を有するブロックが存在すれば、当該ブロックの彩度がパラメータ保持部５に保持された属性別彩度Ａに対応した「０.４」となるように、彩度変換パラメータを設定する。同様に、画像内に「草木」又は「空」の画像属性を有するブロックが存在すれば、当該ブロックの彩度がパラメータ保持部５に保持された属性別彩度Ｂ又はＣに対応した「０.３」又は「０.４」となるように、彩度変換パラメータを設定する。
【００６８】
例えば、図６の（ａ）において、「人」の画像属性が付与されたブロックの彩度（例えばブロック内の画素の平均彩度）が「０.２」であった場合、該彩度を「０.４」に変換する必要がある。この場合、彩度を高める変換であるから、図１４の直線群を参照すると、彩度「０.２」を「０.４」に変換する点はグラフ上の点（０.２，０.４）に相当することが分かる。従って、該点を通る、もしくは最も近傍の直線を彩度変換パラメータとして設定する。従ってこの場合は、低彩度側及び高彩度側の彩度変換パラメータとして、「５０」及び「３０」がそれぞれ設定される。
【００６９】
また、図６の（ｂ）において、「空」の画像属性が付与されたブロックの彩度が「０.５」であった場合、その彩度を「０.４」に変換する必要がある。この場合、彩度を低める変換であるから、図１５の直線群を参照すると、彩度「０.５」を「０.４」に変換する点はグラフ上の点（０.５，０.４）に相当することが分かる。従って、該点を通る、もしくは最も近傍の直線を彩度変換パラメータとして設定することにより、低彩度側及び高彩度側の彩度変換パラメータとして、それぞれ「-２０」が設定される。
【００７０】
一方、画像内に「人」，「草木」，「空」等の画像属性を有するブロックがいずれも存在しない、即ち、該画像内にパラメータ保持部５に保持された属性別彩度に対応するブロックが存在しない場合には、ステップＳ１０３及びＳ１０４において、低彩度側及び高彩度側の彩度変換パラメータとして、初期値である「４０」及び「２０」がそれぞれ設定される。
【００７１】
次に、以上の様にして設定された低彩度側及び高彩度側の２つの変換直線に基づいて、実際に彩度変換処理に用いる彩度変換特性を算出する。例えば、図１４において、低彩度側及び高彩度側の彩度変換パラメータとして、それぞれ「４０」及び「２０」が設定された場合には、対応する２つの直線はＡ点で交わる。従って、ステップＳ１０５では、原点（０.０，０.０）とＡ点、及びグラフ右上の点（１.０，１.０）とを結ぶ直線を彩度変換特性として算出し、ステップＳ１０１で変換されたＨＬＳデータの彩度（Ｓ）成分に対して、該特性に基づいた彩度変換を施す。この彩度変換特性によれば、原画像の有彩色領域において、変換後の彩度が０.０（無彩色）となることもなければ、１.０で飽和することもないことが分かる。
【００７２】
このように、低彩度側と高彩度側とでそれぞれ異なる彩度パラメータを設定可能とすることにより、必要以上の高彩度化又は低彩度化を回避することができ、いずれの側においても適切な彩度補正が可能となる。
【００７３】
●色空間逆変換処理
以上のようにしてＨＬＳデータに対して彩度変換が施されると、次に図１２のステップＳ１０６では、彩度算出部１１において、彩度変換後のＨＬＳデータをＲＧＢデータへ逆変換する。ここで、ＨＬＳデータからＲＧＢデータへの逆変換処理のフローチャートを図１６に示し、説明する。
【００７４】
図１６において、まず明度Ｌの値が所定値（０.５）以上であるか否かを判定し（Ｓ３０１）、所定値以上であればパラメータＭ＝Ｌ(１.０+Ｓ)とし（Ｓ３０２）、所定値未満であればＭ＝Ｌ+Ｓ-ＬＳとする（Ｓ３０３）。そして、パラメータｍ＝２.０Ｌ-Ｍを設定した後（Ｓ３０４）、関数ｆ(ｍ，Ｍ，ｈ)によりＲ，Ｇ，Ｂの各色成分値が以下の様に得られる（Ｓ３０５）。
【００７５】
Ｒ＝ｆ(ｍ，Ｍ，Ｈ)
Ｇ＝ｆ(ｍ，Ｍ，Ｈ-１２０)
Ｂ＝ｆ(ｍ，Ｍ，Ｈ-２４０)
ここで、関数ｆ(ｍ，Ｍ，ｈ)は、ｈの値に応じて以下の様に決定される。尚、ｈが負であればｈに３６０を加算した値を参照する。
【００７６】
０≦ｈ＜  ６０：ｆ（ｍ、Ｍ、ｈ）＝ｍ＋（Ｍ−ｍ）ｈ／６０
６０≦ｈ＜１８０：ｆ（ｍ、Ｍ、ｈ）＝Ｍ
１８０≦ｈ＜２４０：ｆ（ｍ、Ｍ、ｈ）＝ｍ＋（Ｍ−ｍ）（２４０−ｈ）／６０
２４０≦ｈ＜３６０：ｆ（ｍ、Ｍ、ｈ）＝ｍ
このようにして、彩度変換後のＨＬＳデータがＲＧＢデータに逆変換され、バッファ４に保持される。そして、該ＲＧＢデータが出力画像１４として出力される（Ｓ８）。
【００７７】
尚、本実施形態においては、低彩度側の彩度変換パラメータを「４０」、高彩度側の彩度変換パラメータを「２０」として設定する例について説明したが、各パラメータはこの例に限定されるものではなく、設定可能範囲内（上記実施例の場合、０〜１００）であれば、どのような値を設定しても良い。さらには、彩度変換パラメータをユーザ指示によって直接設定可能としても良い。即ち、彩度変換パラメータ設定部１２において設定されたパラメータを、ユーザがキーボードＩ／Ｆ１０９を介して変更することも可能である。例えば、ユーザが画像属性を直接指示し、該指示された画像属性に応じて彩度変換パラメータを設定することも可能である。
【００７８】
また、図１４及び図１５に示したように、本実施形態では彩度変換パラメータを彩度変換直線に対応づける例について説明したが、本発明の彩度変換特性は直線に限るものではなく、曲線であってもよい。即ち、適切な彩度変換が可能となるように、彩度変換特性として適当な直線または曲線を設定すればよい。
【００７９】
以上説明したように本実施形態によれば、画像の属性を判別し、該判別結果に応じて彩度変換特性を設定することができるため、画像属性に応じた最適な彩度変換が可能となる。特に、人間の肌色等、人間が注視し、その微妙な変換に対して敏感に反応する記憶色に応じた良好な彩度変換を行なうことができる。
【００８０】
また、低彩度側と高彩度側とで彩度変換特性を可変とすることができるため、きめ細かい彩度変換を行うことができ、有彩色の彩度変換に伴う低彩度側での無彩色化や、高彩度側での彩度の飽和等の発生を防ぐことができる。
【００８１】
＜変形例＞
上述した本実施形態においては、図６に示すように、対象画像中に「人」，「草木」，「空」の各属性のうちの１種類のみが出現する例を示した。しかしながら、１つの画像内に「人」と「空」等、２種類以上の画像属性が付与される場合が当然考えられる。その場合、該複数の属性に共通な彩度変換パラメータを設定して、いずれの属性に対しても満足できる彩度変換が可能であれば問題がない。しかし、共通な彩度変換パラメータが設定できない場合には、各属性間において優先順位を設定する必要がある。一例として、「人」＞「空」＞「草木」の順に優先順位を設定すれば良い。もちろん、優先順はこの例に限定されるものではなく、画像のシーン種別や画像処理装置における画像形成状況、またはユーザの要求によって、任意に設定可能であることは言うまでもない。
【００８２】
また、本実施形態においては、彩度変換の際に重要視する属性を、「人」，「草木」，「空」の３種類とし、これらに対応する属性別彩度をパラメータ保持部５に保持する例について説明した。しかしながら、例えば「海」などの他の属性に対応する属性別彩度をパラメータ保持部５に追加しても良いことはもちろんである。さらには、本実施形態において肌色に対応させた「人」の属性を、「白色人種」や「黒色人種」、及び「黄色人種」等に細分化したり、また、「空」の属性を、「曇り」や「晴れ」や「夕焼け」、及び「夜空」等に細分化して、それぞれに対応する属性別彩度を追加してもよい。即ち、それぞれの属性に対する最適な彩度を、パラメータ保持部５に設定しておけば良い。
【００８３】
また、画像属性判別の際の分割ブロック数も、本実施形態で示した３×５ブロックに限らず、例えば５×７等にさらに細かく分割したり、画像の縦横比を考慮して適応的に分割数を決定してもよい。さらには、１ブロックの形状も方形に限らず、三角形や六角形、台形等の種々の形状が考えられる。
【００８４】
また、本実施形態においては、所定の属性が付与されたブロックについて、該ブロック内の画素の平均彩度が所定値となるように、彩度変換パラメータを設定する例について説明したが、該ブロック内において主オブジェクトを周知の認識技術によって抽出し、該オブジェクトを構成する画素についてのみの平均彩度に基づいて彩度変換パラメータを設定することも可能である。こうすることにより、背景の影響を受けない、主オブジェクトに最適な補正が可能となる。
【００８５】
【他の実施の形態】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００８６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００８７】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００８９】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９０】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。尚、本発明を上記記憶媒体に適用する場合、該記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになる。
【００９１】
【発明の効果】
以上説明したように本発明によれば、画像特性に応じた適切な彩度変換と輝度変換が可能となる。
【００９２】
【図面の簡単な説明】
【図１】  本発明に係る画像処理装置のハードウェア構成を示すブロック図、
【図２】  本発明に係る一実施形態のソフトウェアの機能ブロック（モジュール）構成例を示す図、
【図３】  本実施形態における画像処理の概要を示すフローチャート、
【図４】  パラメータ保持部で保持されるデータ項目例を示す図、
【図５】  画像属性判別処理を示すフローチャート、
【図６】  画像属性判別結果の一例を示す図、
【図７】  ハイライト・シャドウ算出処理を示すフローチャート、
【図８】  輝度ヒストグラムの一例を示す図、
【図９】  ホワイト・ブラックバランス算出処理を示すフローチャート
【図１０】  画像補正処理を示すフローチャート、
【図１１】  ルックアップテーブルの特性例を示す図、
【図１２】  彩度変換処理を示すフローチャート、
【図１３】  色空間変換処理を示すフローチャート、
【図１４】  彩度変換特性例を示す図、
【図１５】  彩度変換特性例を示す図、
【図１６】  色空間逆変換処理を示すフローチャート、である。
【符号の説明】
１  入力画像
２  画像入力部
３  画像出力部
４  画像バッファ
５  パラメータ保持部
６  ヒストグラム保持部
７  ヒストグラム作成部
８  ハイライト・シャドウ算出部
９  ホワイト・ブラックバランス算出部
１０  画像補正部
１１  彩度算出部
１２  彩度変換パラメータ設定部
１３  彩度変換部
１４  出力画像
１５  画像属性判別部
【図１】
0004428742.tif 000002
【図２】
0004428742.tif 000003
【図３】
0004428742.tif 000004
【図４】
0004428742.tif 000005
【図５】
0004428742.tif 000006
【図６】
0004428742.tif 000007
【図７】
0004428742.tif 000008
【図８】
0004428742.tif 000009
【図９】
0004428742.tif 000010
【図１０】
0004428742.tif 000011
【図１１】
0004428742.tif 000012
【図１２】
0004428742.tif 000013
【図１３】
0004428742.tif 000014
【図１４】
0004428742.tif 000015
【図１５】
0004428742.tif 000016
【図１６】
0004428742.tif 000017