(57)【要約】【課題】  sRGB色空間をマッピング元とする後の色として目標色が与えられた場合、マッピング元が、sRGBとは異なる拡張色空間のガマットマッピングを制御する写像制御パラメータを生成することは不可能である。【解決手段】  マッピング元の色空間（例えばAdobeRGB）が指定され、sRGB色空間の標本点とマッピング後のL*a*b*値の対応を記した目標色データが入力されると(S401、S402)、マッピング元の色空間の格子点とガマットマッピング後のL*a*b*値の対応を表す目標色データを生成する(S403)。初期の写像制御パラメータを用いて色域写像処理を行い(S405)、写像結果に基づき写像制御パラメータの評価値を算出し(S406)、算出した評価値が予め定めた閾値以下であるか否かを判定する(S407)。評価値が閾値を超える場合は、より評価値が小さくなるように写像制御パラメータを更新する(S408)。【選択図】  図6
2005295153.tif 000002
【特許請求の範囲】
【請求項１】
制御パラメータに基づき、第一の色再現域内の色を、前記第一の色再現域とは異なる第二の色再現域内の色に写像する色変換方法であって、
前記第一および第二の色再現域とは異なる第三の色再現域内の複数の標本点、および、前記標本点に対応する写像後の色を示す情報を目標色データとして入力し、
写像された複数色と前記目標色データに基づき評価値を算出し、
前記目標色データおよび前記評価値に基づき前記制御パラメータを設定することを特徴とする色変換方法。
【請求項２】
前記第三の色再現域はsRGB規格により規定されることを特徴とする請求項1に記載された色変換方法。
【請求項３】
さらに、前記第一の色再現域をAdobeRGBまたはscRGBに指定することを特徴とする請求項1または請求項2に記載された色変換方法。
【請求項４】
前記評価は、前記目標色データを前記第一の色再現域に対する前記第二の色再現域の目標色データに変換した後、前記評価値の算出を行うことを特徴とする請求項1から請求項3の何れかに記載された色変換方法。
【請求項５】
前記目標色の変換は、前記第一の色再現域内の複数の標本点を生成し、生成した標本点が前記第三の色再現域内であれば、前記変換後の目標色データを補間して得られる色を前記生成した標本点に対応する色と定め、一方、前記生成した標本点が前記第三の色再現域外であれば、前記生成した標本点を前記第三の色再現域内に変換し、変換後の標本点に基づいて前記変換後の色データを補間して得られる色の彩度、色相、明度のうち少なくとも一つの要素を変更した色を前記生成した標本点に対応する色とすることを特徴とする請求項4に記載された色変換方法。
【請求項６】
前記評価は、前記写像後の複数色と、前記変換後の目標色データとの距離に基づいて前記評価値の算出を行うことを特徴とする請求項4に記載された色変換方法。
【請求項７】
前記制御パラメータは、明度、彩度、色相のうち少なくとも一つの要素の写像変換を制御する値であることを特徴とする請求項1から請求項6の何れかに記載された色変換方法。
【請求項８】
前記設定は、前記写像後の複数色と前記目標色データの距離の差を示す前記評価値が最小になるパラメータを選択することを特徴とする請求項1から請求項7の何れかに記載された色変換方法。
【請求項９】
情報処理装置を制御して、請求項1から請求項8の何れかに記載された色変換を実現することを特徴とするプログラム。
【請求項１０】
請求項9に記載されたプログラムが記録されたことを特徴とする記録媒体。
【請求項１１】
第一の色再現域内の色を、前記第一の色再現域とは異なる第二の色再現域内の色に写像する制御パラメータにより前記写像の制御が可能な写像手段と、
前記第一および第二の色再現域とは異なる第三の色再現域内の複数の標本点、および、前記標本点に対応する写像後の色を示す情報を目標色データとして入力する入力手段と、
前記写像手段により写像された複数色と前記目標色データに基づき、評価値を算出する評価手段と、
前記目標色データおよび前記評価値に基づき、前記制御パラメータを設定する設定手段とを有することを特徴とする色変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は色変換装置およびその方法に関し、例えば、画像の色再現を調整、制御するための色再現編集装置の色変換に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータやワークステーションの普及に伴い、デスクトップパブリッシング（DTP）やコンピュータ援用設計（CAD）が広く使用されるようになった。このような中、コンピュータによってモニタ上に表現される色を、色材を用いて再現する色再現技術が重要になった。例えばDTPにおいては、カラーモニタ上においてカラー画像の作成／編集／加工などを行い、カラープリンタで画像を出力する。この際、モニタ上のカラー画像とプリンタの出力画像が知覚的に一致することが非常に重要になる。しかし、カラー画像とプリンタの出力画像の間で、知覚上の一致を図ることには、以下の理由による困難が伴う。
【０００３】
カラーモニタは、蛍光体を用いて特定波長の光を発光することで、カラー画像を表現する。一方、カラープリンタはインクなどの色材を用いて特定波長の光を吸収し、残りの反射光によってカラー画像を表現する。このように画像表示形態が異なることに起因して、両者の色再現域は大きく異なる。そこで、これら色再現域の異なる表示媒体の間で、表示カラー画像の知覚的一致を図るため、均等表色系において、ある色再現域と別の色再現域を対応させる、様々なガマットマッピング技術が存在する。
【０００４】
例として、入力画像の階調性を損なうことなくプリンタによる出力画像の知覚的一致を図る特開2002-033931公報に記載されたような技術が存在する。さらに、出願人は、入力画像の階調性を保ちつつ、ユーザが均等表色系における色調整および評価・解析を行う技術を提案している。これらの技術を組み合わせて用いれば、ガマットマッピングを制御し、好ましい色再現を比較的容易に実現することができる。しかし、これらの技術によれば、モニタの色空間からプリンタの色空間へのガマットマッピングの際、ユーザは、制御が必要な多数の色変換パラメータをマニュアルで調整する必要がある。また、最適な色変換パラメータの組み合わせは、モニタやプリンタの機種などにも依存するため、ガマットマッピングを制御する最適な色変換パラメータの決定には多大な時間的コストを必要とする。さらに、最適な色変換パラメータがユーザの主観的判断に委ねられており、均質な画質を実現するのは困難である。
【０００５】
そこで、出願人は、ガマットマッピングによる色の変換に際し、出力されるべき目標色またはルックアップテーブル（以下「LUT」とする）を与えることによって、色変換パラメータを自動生成する装置を提案している。この技術により、様々な特性をもつ色変換を、例えば測色データを与えるだけで自動的に設定することが可能になり、色設計の効率化を図ることができる。
【０００６】
しかし、上記提案においても、例えばsRGB規格に基づくRGB色空間をマッピング元とするマッピング後の目標色が与えられた場合、マッピング元の色空間が例えばAdobeRGBなど、sRGBとは異なる規格に基づくRGB色空間とした色変換パラメータを生成することは不可能である。このため、多くの時間を費やしてsRGB色空間からのガマットマッピングを制御する色変換パラメータを決定しても、sRGBより広い色再現域をもったいわゆる拡張色空間と呼ばれるAdobeRGBやscRGBに、その色変換パラメータを適用することは困難である。
【０００７】
【特許文献１】特開2002-033931公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、上述の問題を個々にまたはまとめて解決するもので、写像元の色再現域より狭い色再現域の標本点および写像後の目標色が与えられた場合でも、写像制御パラメータを生成することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１０】
本発明は、制御パラメータに基づき、第一の色再現域内の色を、第一の色再現域とは異なる第二の色再現域内の色に写像する際に、第一および第二の色再現域とは異なる第三の色再現域内の複数の標本点、および、標本点に対応する写像後の色を示す情報を目標色データとして入力し、写像された複数色と目標色データに基づき評価値を算出し、目標色データおよび評価値に基づき制御パラメータを設定することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、写像元の色再現域より狭い色再現域の標本点および写像後の目標色が与えられた場合でも、写像制御パラメータを生成することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明にかかる実施例の画像処理装置を図面を参照して詳細に説明する。
【００１３】
［概要］
本実施例は、ガマットマッピングによる色変換において、sRGBなどの色空間を写像元として出力すべき目標色データを与えると、目標色データの色空間（例えばsRGB）と異なる色空間（例えばAdobeRGBやscRGBなどの拡張色空間）を写像元とするがマットマッピングを制御するパラメータを自動生成する。その際、sRGB色域内の色は目標色データを近似するようパラメータを自動算出する。これにより、例えば測色データを与えるだけで拡張色空間からのガマットマッピングとして再現することが可能になり、色設計の効率化を図ることができるとともに、ユーザの主観的評価に依らない均質な色再現を実現できる。また、一般にガマットマッピングは擬似輪郭などの発生をできるだけ抑えるよう工夫されているため、画像障害の発生を当然ながら抑えることができる。さらには、色変換LUTだけでなくガマットマッピングを制御する写像制御パラメータ（または色調整パラメータ、色変換パラメータ）を自動生成することで、例えば提案と併用して、生成された写像制御パラメータを基にさらに微細な調整を行うことが可能になる。
【００１４】
［構成］
図1は実施例の画像処理装置の構成例を示すブロック図で、画像処理装置21には、画像を表示するカラーモニタ10と画像を記録媒体に印刷するプリンタ20が接続されている。
【００１５】
画像処理装置21は、画像データをビデオ信号に変換するビデオ信号生成部11、画像データを格納するためのメモリ12、モニタ表示色と印刷色をマッチングするカラーマッチング処理部13、目標色データの入力部14、ガマットマッピングにおける写像元の色空間を指定する指定部15、入力および指定された目標色データおよび写像元色空間の情報に基づき後述する色域写像処理に用いる写像制御パラメータを生成するパラメータ生成部16、モニタ10の色再現域からプリンタ20の色再現域への写像を行う色域写像部17、モニタ表示色と印刷色の対応を記憶する色補正テーブル18、並びに、画像データをプリンタ駆動信号に変換する出力画像処理部19を備える。
【００１６】
実施例において、処理対象の画像データは、ディジタルカメラ、スキャナなどの画像入力装置によってディジタル化されたデータや、コンピュータグラフィクス（CG）として生成されたデータで、明るさに対応した画素値として画像メモリ12に予め格納されるものとする。具体的には、画像データの各画素はレッド(R)、グリーン(G)、ブルー(B)各8ビット値、合計24ビット値を有するものとする。
【００１７】
また色補正テーブル18は、プリンタ20の出力特性を考慮した色補正処理を入力RGB値に施すテーブルで、実施例においてはAdobeRGB色空間において規則的に配置された格子点の色座標データと、色補正処理後の色座標データとの対応が格納される。図2は、色補正テーブル18に格納されるデータの一例を示す図で、テーブル先頭には、R/G/B値のステップが示され、続いて色補正データが格納されている。
【００１８】
さらに、本実施例において目標色データ14は、sRGB色空間において規則的に配置された格子点のそれぞれが、ガマットマッピング後に取るべきL*a*b*値を表したデータとする。
【００１９】
本実施例において、カラーモニタ10は、AdobeRGBと同等の色再現域をもつCRTまたはLCDなどの表示装置である。また、プリンタ20は、インクジェット方式によるもので、出力記録紙上にシアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)のインク滴を吐出し定着して、その密度により色の濃淡を表現するものとする。なお、カラーモニタ10およびプリンタ20としてはこのような形態に限定されず、例えばプリンタ20は電子写真方式や熱転写方式など、他の方式によるものであってもよい。
【００２０】
［動作］
画像処理装置21の画像メモリ12に格納された画像データは、カラーマッチング処理部13に供給される。カラーマッチング処理部13は、ビデオ信号生成部11を経てカラーモニタ10に表示する画像と、出力画像処理部19を経てプリンタ20によって印刷される画像との色マッチングを行う。具体的には、画像データの各画素値に対応する出力値を、色補正テーブル18を参照して補間することで、出力画像処理部19へ供給する画像データを得る。色補正テーブル18のテーブルは、色域写像部17によって、パラメータ生成部16によって生成された写像制御パラメータを参照しながら、モニタ10の色再現域内の複数点をプリンタ20の色再現域へ写像した結果として生成される。
【００２１】
色補正された画像データを受け取った出力画像処理部19は、入力RGB画素値に対してCMYKの各インクの吐出を制御する信号をプリンタ20へ供給し、所望の色が記録媒体上に再現される。なお、電子写真方式のような色材としてトナーを用いるプリンタ20の場合、出力画像処理部19は、入力RGB画素値に対してCMYKの感光体ドラムの感光を制御する信号をプリンタ20へ供給する。
【００２２】
［写像制御パラメータの生成］
図3はパラメータ生成部16の構成例を示すブロック図である。
【００２３】
パラメータ生成部16は、色域写像部17におけるモニタ色再現域からプリンタ色再現域への写像結果に基づき、写像制御パラメータの値を最適化するパラメータ最適化部30、与えられた写像制御パラメータに対応する評価値を算出する評価部31、評価値に基づき決定される最適な写像制御パラメータを格納するパラメータ記憶部32、指定部15において指定された写像元色空間に基づき、入力部14から入力される目標色データを変換する目標色データ変換部33、並びに、変換後の目標色データを記憶する目標色データ記憶部34を備える。
【００２４】
図4は指定部15の写像元色空間を指定するユーザインタフェイス（UI）を示す図である。ユーザは、このUI上のラジオボタンによってRGB色空間の一つを選択する。なお、以後、図4に示すように、写像元色空間としてAdobeRGBが選択された場合の処理を説明するが、他のRGB色空間が選択された場合や、UIを使用してその他の色空間が指定された場合も同様である。
【００２５】
また、図5は目標色データのフォーマット例を示す図である。目標色データとして、R/G/B値のステップと、RGB値の組み合わせそれぞれに対応するL*a*b*値が記述されている。以下では、目標色データとしてsRGB色空間を示す目標データが入力される場合を説明する。
【００２６】
図6はパラメータ生成部16におけるパラメータ生成処理を示すフローチャートである。
【００２７】
指定部15においてガマットマッピング元になるRGB色空間（写像元色空間）が指定される(S401)。なお、前述したように、ここではAdobeRGBが指定されるとする。入力部14においてsRGB色空間の標本点と、その標本点にに対応するガマットマッピング後のL*a*b*値の対応を記した目標色データ（以下「sRGB目標色データ」と呼ぶ場合がある）の格納先を示すパスが入力されると(S402)、sRGB目標データを入力し、後述する方法によってAdobeRGB色空間における格子点とガマットマッピング後のL*a*b*値の対応を表すAdobeRGB目標色データを生成して、目標色データ記憶部34に格納する(S403)。
【００２８】
次に、後述する色域写像処理に使用する初期の写像制御パラメータを生成し(S404)、色域写像部17により、写像制御パラメータを用いてモニタ色再現域からプリンタ色再現域への色域写像処理を行う(S405)。この色域写像処理の詳細も後述する。
【００２９】
次に、評価部31により、写像結果に基づき写像制御パラメータの評価値を算出し(S406)、算出した評価値が予め定めた閾値以下であるか否かを判定する(S407)。評価値が閾値を超える場合は、例えば準ニュートン法など公知の最適化手法を用いて、より評価値が小さくなるように写像制御パラメータを更新して(S408)、ステップS405からS407の処理を繰り返す。
【００３０】
一方、評価値が閾値以下の場合は、写像制御パラメータをパラメータ記憶部32に格納し(S409)、色域写像処理に必要なすべての写像制御パラメータを生成したか否かを判定し(S410)、未生成の写像制御パラメータが存在する場合は、色域写像処理に必要なすべての写像制御パラメータを生成するまでステップS404からS409の処理を繰り返す。
【００３１】
● AdobeRGB目標色データの生成
図7は、目標色データ変換部33が行う、AdobeRGB目標色データの生成処理(S403)を示すフローチャートである。
【００３２】
まず、AdobeRGB色空間に均等に並んだ格子点の一つのRGB値を、計算によってL*a*b*値に変換し(S701)、変換後のL*a*b*値（L*a*b*値で表される格子点）がsRGB色空間の色域（以下「sRGB色域」と呼ぶ）内にあるか否かを判定し(S702)、sRGB色域外にあれば、sRGB色域外の色（L*a*b*値）がsRGB色域の境界上に位置するよう彩度を圧縮する(S703)。
【００３３】
図8は彩度圧縮を説明する模式図で、符号801はL*a*b*色空間におけるAdobeRGB色空間の等色相境界を、符号802はsRGB色空間の等色相境界を、符号803は彩度圧縮前の格子点を、符号804は彩度圧縮後の格子点を表す。図8に示すように、彩度圧縮(S703)は、sRGB色域外の色を等色相、等明度のsRGB色域の境界面に圧縮する。なお、彩度圧縮する前のL*a*b*値、および、AdobeRGB色空間の色域（以下「AdobeRGB色域」と呼ぶ）の境界面の符号805で示すL*a*b*値は、後の処理用に保存しておく。
【００３４】
続いて、計算によりL*a*b*値をsRGB値に変換し(S704)、変換後のsRGB値をsRGB目標色データを用いて目標L*a*b*値に変換し(S705)、彩度圧縮前の色と圧縮後の色の関係に基づき、目標L*a*b*値の彩度を伸長する(S706)。図9は彩度伸長を説明する模式図で、符号901はsRGB目標色データが示す色域境界を、符号902はプリンタ20の色再現域を、符号903は彩度伸長前の注目色を、符号904は彩度伸長後の注目色をそれぞれ二次元的に表している。ここで、彩度伸長量は、彩度圧縮量および彩度伸長前の色903とプリンタ20の色再現域902の境界の距離に応じて決定される。
【００３５】
また、変換後のL*a*b*値がsRGB色域内にあれば、ステップS704と同様に、計算によりL*a*b*値からsRGB値へ変換し(S707)、ステップS705と同様に、変換後のsRGB値をsRGB目標色データを用いて目標L*a*b*値に変換する(S708)。
【００３６】
そして、AdobeRGB色空間の格子点と、上記処理により得られた目標L*a*b*値との対応を目標色データ記憶部34に保存し(S709)、全格子点の変換処理が終了したか否かを判定し(S710)、未了であればステップS701からS710の処理を全格子点の処理が終了するまで、つまり、AdobeRGB目標色データの生成処理が終了するまで繰り返す。
【００３７】
● 色域写像
図10は、色域写像部17が行う、色域写像処理(S405)を示すフローチャートである。
【００３８】
まず、入力部14によってパスが指定されるなどにより、AdobeRGBの色再現域をもつカラーモニタ10の色再現域情報、および、プリンタ20の色再現域情報が設定され(S1001)、これら色再現域情報に基づきカラーモニタ10の色再現域の境界の最終的な写像結果になる写像色再現域の境界を生成する(S1002)。この写像色再現域の境界は、例えば図13に符号1302で示す境界線のようになる。
【００３９】
次に、均等表色系においてモニタ10の色再現域の明度および色相を写像する(S1003)。本実施例における明度/色相写像動作の詳細は後述するが、図11の明度/色相写像動作を説明する模式図を用いて簡単に説明する。
【００４０】
図11において、符号1101はグリーンの色相におけるモニタ色再現域を、符号1102は第一の中間写像色再現域を、符号1103は同色相におけるプリンタ色再現域をそれぞれ示している。色域写像部17は、モニタ色再現域1101内の色に対して明度成分と色度成分を分離し、明度成分を非線型に写像する。また、色度成分に対しては、適当になるように色相の調整を行う。これにより、モニタ色再現域1101は第一の中間写像色再現域1102へ写像される。この写像結果から第一の中間写像色再現領域の境界を生成する(S1004)。
【００４１】
続いて、第一の中間写像色再現域1102の境界に対して明度を調整し、第二の中間写像色再現域の境界を生成する(S1005)。図12の明度/色相写像動作を説明する模式図における符号1202は、この色再現域の境界を示している。
【００４２】
次に、第一の中間写像色再現域（図12に符号1201で示す）の情報を第二の中間写像色再現域（図12に符号1202で示す）へ写像する(S1006)。写像処理の詳細は後述するが、図12の模式図を用いて簡単に説明すると、色域写像部17は、第一の中間写像色再現域1201内の色に対して明度成分と色度成分を分離し、色度成分一定のまま、明度成分のみ非線型に写像する（以下「明度調整写像」と呼ぶ）。なお、写像を実現する明度入出力関数は色度により異なる。この明度調整写像により、第一の中間写像色再現域1201は第二の中間写像色再現域1202に写像される。なお、図12に符号1203で示すのはグリーンの色相におけるプリンタ20の色再現域である。
【００４３】
次に、中間写像色再現域の情報と写像色再現域の情報を参照して、第二の中間写像色再現域1202を写像色再現域（図13に符号1302で示す）へ彩度写像する(S1007)。写像処理の詳細は後述するが、図13の明度/色相写像動作を説明する模式図を用いて簡単に説明すると、色域写像部17は、第二の中間写像色再現域1301内の色に対して明度成分と色度成分を分離し、明度成分一定のまま、色度成分における彩度成分を非線型に写像する（以下「彩度調整写像」と呼ぶ）。この彩度調整写像により、第二の中間写像色再現域1301は写像色再現域1302に写像され、図6のステップS405に示す色域写像が終了する。なお、図13に符号1203で示すのはグリーンの色相におけるプリンタ20の色再現域である。
【００４４】
● 明度および色相の写像
次に、明度および色相の写像処理(S1003)について説明する。
【００４５】
本実施例では、明度成分の写像を、色度に依らない一つの入出力関数を用いて次式により算出する。
Lmapped = λ(Lin)      …(1)
【００４６】
式(1)の写像関数λ(・)は、パラメータ生成部16において生成される、全体の明度制御パラメータx（写像制御パラメータの一つ）に基づいて、次のように算出される。
x ≧ 50：λ(・) = {λ50(・)×(100 - x) + λ100(・)×(x - 50)}/50
x ＜ 50：λ(・) = {(λ0(・)×(50 - x) + λ50(・)×x}/50
ここで、λ0(・)、λ50(・)、λ100(・)は予め定められた関数で、
λ0(・) はx=0の時の写像関数、
λ50(・)はx=50の時の写像関数、
λ100(・)はx=100の時の写像関数
【００４７】
図14は色相成分の写像を示すフローチャートである。
【００４８】
まず、パラメータ生成部16において生成される色相制御パラメータ（写像制御パラメータの一つ）に基づき、明度0から100まで20刻みの六つの明度値に対し、色相入出力関数h0(・)、h20(・)、h40(・)、h60(・)、h80(・)およびh100(・)を生成する(S1401)。色相制御パラメータは、レッド(R)、グリーン(G)、ブルー(B)、シアン(C)、マゼンタ(M)およびイエロー(Y)の六色相において、六つの明度値それぞれに対応する色相調整量である。ここで、色相入出力関数は、明度ごとにR/G/B/C/M/Y色相での色相調整値を一次スプライン、すなわち直線で結んだ関数として算出される。一例を示すと、明度値80に対して、RとYの二つの色相において色相角を若干プラスへシフトし、Bの色相でマイナスへシフトした場合には図15に示す色相入出力関数h80(・)が得られる。なお、図15は、色相角を、a*b*色度座標系においてb*軸正方向を色相角0 radとし、反時計方向への回転を正としたラジアン表記により表す。
【００４９】
次に、写像変換の対象になる色Mを取得し(S1402)、色Mに対する色相入出力関数h(・)を、h0(・)、h20(・)、h40(・)、h60(・)、h80(・)およびh100(・)を用いて、次のように算出する(S1403)。
h(・) = {hLW(・)×(up - x) + hUP(・)×(x - lw)}/20    …(2)
ここで、x：色Mの明度、
hUP(・)：明度xの直上の明度UPの入出力関数、
hLW(・)：明度xの直下の明度LWの入出力関数
【００５０】
例えば、色Mの明度xが70の場合、直下の明度の入出力関数としてh60(・)を、直上の明度の入出力関数としてh80(・)を用いる。従って、明度x=70の色Mに対する色相入出力関数h(・)は次式のようになる。
h(・) = {h60(・) + h80(・)}/2      …(3)
【００５１】
次に、式(4)を用いて色相の写像を行う(S1404)。
HueMmapped = h(HueM)      …(4)
ここで、HueMは色Mの色相、
HueMmappedは写像後の色相
【００５２】
そして、先述した明度制御パラメータを用いて明度成分の写像を行い(S1405)、その後、以上のべた明度/色相写像処理がLUTの全格子点ついて行われたか否かを判定し(S1406)、すべての格子点について写像処理が終了するまでステップS1402からS1406を繰り返す。
【００５３】
以上の処理により、図11に示すモニタ色再現域1101は、同図に示す第一の中間写像色再現域1102へ写像される。
【００５４】
● 明度調整写像
図16は明度調整写像(S1006)を説明するフローチャートである。
【００５５】
まず、写像変換の対象の色Mを指定する(S1601)。なお、この色Mは、第一の中間写像色再現域1102（または1201）における色で、モニタ色再現域1101における色を表すものではない。
【００５６】
次に、色Mと同一の色相における第一の中間写像色再現域1201の上部境界BUおよび下部境界BLを計算し(S1602)、色Mと同一の色相における第二の中間写像色再現域1202の上部境界BUmappedと下部境界BLmappedを算出する(S1603)。
【００５７】
図17は色M、第一の中間写像色再現域の上部境界BUと下部境界BL、および、第二の中間写像色再現域の上部境界BUmappedと下部境界BLmappedの関係を示す図である。なお、図17において、実線により示される色再現域は第一の中間写像色再現域の境界、一点鎖線により示される色再現域は第二の中間写像色再現域の境界、点線により示される色再現域はプリンタ20の色再現域である。
【００５８】
続いて、以上で求めた値、および、パラメータ生成部16が生成する写像制御パラメータから明度調整写像を行う入出力関数p(・)を導出する(S1604)。本実施例では、入出力関数p(・)を下記の条件を満たすC2連続な三次スプライン関数として算出する。
・p(・)の台は[LBL, LBU]
・p(・)は台において単調増加
・p(LBL) = LBLm
・p(LBU) = LBUm
・p(・)は少なくともC1連続
・p'(LBL) = g0
・p'(LBU) = g1
ここで、LBLはBLの明度、
LBLmはBLmappedの明度、
LBUはBUの明度、
LBUmはBUmappedの明度、
g0＞0、g0は圧縮を制御する変数、
g1＞0、g1は圧縮を制御する変数
【００５９】
上記のg0およびg1の値は、パラメータ生成部16により、評価部31において算出される評価値が最小になるよう算出される。また、入出力関数p(・)は上記条件を満たすよう算出される。
【００６０】
図18Aおよび18Bは、本実施例における入出力関数p(・)の例を示す図である。図18Aにおいては、台の中間部において明度がほぼ保たれている一方、低明度付近ならびに高明度付近では大きく圧縮される。ちなみにLBL=40、LBLm=45、LBU=68、LBUm=64である。
【００６１】
また、図18Bにおいては明度の変化が大きいため、台の中間部において明度を保存する機能が働いているものの完全には保存していない。高明度付近では大きく伸長され、低明度付近では大きく圧縮される。ちなみにLBL=60、LBLm=46、LBU=84、LBUm=75である。
【００６２】
続いて、ステップS1604で求めた入出力関数p(・)を用いて、色Mの写像前の明度LMに対して写像後の明度LMmappedを、LMmapped=p(LM)と求めて明度調整写像を行う(S1605)。
【００６３】
そして、明度調整写像が色補正テーブル18の全格子点について行われたか否かを判定し(S1606)、すべての格子点について明度調整写像が終了するまでステップS1602からS1606を繰り返す。
【００６４】
以上の処理により、図12に示す第一の中間写像色再現域1201は、同図に示す第二の中間写像色再現域1202へ写像される。
【００６５】
● 彩度調整写像
図19は彩度調整写像(S1007)を説明するフローチャートである。
【００６６】
まず、写像計算対象になる色Mを定める(S1901)。この色Mは、第二の中間写像色再現域1202における色である。
【００６７】
次に、色Mと同一の明度、同一の色相における写像色再現域の境界Bpを計算し(S1902)、色Mと同一の明度、同一の色相における第二の中間写像色再現域の境界Biを計算する(S1903)。
【００６８】
図20は色M、色Bp、色Biの関係を模式的に示す図である。図20に実線で示す色再現域は第二の中間写像色再現域の境界、一点鎖線で示す色再現域は写像色再現域の境界、点線で示す色再現域はプリンタ色再現域である。
【００６９】
続いて、以上のステップで算出した色Bp、色Biおよびパラメータ生成部16において生成される写像制御パラメータから、彩度調整写像を行うC2連続な三次スプライン関数q(・)を算出する(S1904)。入出力関数q(・)は、本実施例では下記の条件を満たす。
・q(・)の台は[0, ci]
・q(0) = 0
・q(ci) = cp
・q'(0) = gLOW
・q'(ci) = gHIGH
・q'(x) ≠ 0（0 ≦ x ≦ ci）
ここで、cpは色Bpの彩度、
ciは色Biの彩度、
gLOWは低彩度から中彩度付近の彩度の拡大/圧縮率を制御する値、
gHIGHは最大彩度付近の彩度補正の拡大／圧縮率を制御する値
【００７０】
上記のgLOW、gHIGHの値は、パラメータ生成部16により、評価部31で算出される評価値が最小になるよう導出される。
【００７１】
図21Aおよび21Bは、本実施例における入出力関数q(・)の一例を示す図である。図21Aにおいては、高彩度部で伸長になる一方、gLOWの値が0.8であるために低彩度から中彩度部では彩度を抑えるように機能する。図21Bは、高彩度部で圧縮になり、gLOWの値が1.2であるために低彩度から中彩度部では彩度を強調するように機能する。
【００７２】
続いて、ステップS1904で求めた入出力関数q(・)を用いて、色Mの彩度を変換する(S1905)。ここで色Cの彩度をCorg、変換後の彩度をCmodと表記するとCmod=q(Corg)になる。
【００７３】
最後に、彩度調整写像が色補正テーブル18の全格子点について行われたか否かを判定し(S1906)、すべての格子点について彩度調整写像が終了するまでステップS1901からS1906を繰り返す。
【００７４】
以上の処理により、図13に示す第二の中間色再現域1301は、同図に示す写像色再現域1302へ写像される。
【００７５】
［評価値の算出］
図22は写像結果の評価値の算出(S406)を説明するフローチャートである。
【００７６】
まず、色補正テーブル18の格子点すべてに対して、色域写像部17で写像された結果と、目標データ記憶部34に記憶された変換後の目標色データとの明度差の絶対値|ΔL|を算出し、その平均値を求め(S2201)、RGBCMYのうちの一色相について、当該色相の面上に位置する複数格子点の写像結果と、対応する変換後の目標色データとの差の平均値ΔEを求める(S2202)。その後、RGBCMYの六色相について平均値ΔEの算出が完了したか否かを判定し(S2203)、六色相について平均値ΔEを算出するまでステップS2202を繰り返す。
【００７７】
六色相の平均値ΔEの算出が終了すると、算出した六色相分のΔEの平均値ΔEaveを算出し(S2204)、式(5)により最終的な評価値evalを算出する(S2205)。
eval = α×|ΔL| + β×ΔEave
ここで、α、βは重み付け係数、α≧0、β≦1
【００７８】
以上の処理により、一組の写像制御パラメータに対する評価値の算出処理を終了する。
【００７９】
このように、本実施例によれば、sRGBなどを写像元とするガマットマッピング後の目標色データを与えるだけで、AdobeRGBなどの拡張色空間を写像元とするガマットマッピングを制御する写像制御パラメータを自動生成することが可能になる。
【００８０】
［変形例］
上記においては、sRGB色域外の色について彩度圧縮を行い、sRGB目標データを用いてプリンタ色再現域内の色に写像した後、彩度伸長を行うことで、AdobeRGB目標データを生成したが、sRGB色域外の色については、これ以外の処理を行っても構わない。例えば、L*a*b*表色系においてsRGB色域表面の最も距離が近い点に圧縮してもよい。
【００８１】
上記においては、目標色データとのΔL、ΔEを用いて写像結果の評価値を算出したが、他の評価方法を用いても構わない。
【００８２】
上記においては、全色領域において目標色との明度差、主要な六色相において色差ΔEを算出したが、異なる色領域に対して評価を行ってもよい。例えば、肌色等の低彩度部を重視するため、低彩度から中彩度部について目標色との差を評価するなどの手法を用いても構わない。
【００８３】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００８４】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００８５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００８６】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００８７】
【図１】画像処理装置の構成例を示すブロック図、
【図２】色補正テーブルに格納されるデータの一例を示す図、
【図３】パラメータ生成部の構成例を示すブロック図、
【図４】指定部の写像元色空間を指定するユーザインタフェイス（UI）を示す図、
【図５】目標色データのフォーマット例を示す図、
【図６】パラメータ生成部におけるパラメータ生成処理を示すフローチャート、
【図７】目標色データ変換部が行う、AdobeRGB目標色データの生成処理を示すフローチャート、
【図８】彩度圧縮を説明する模式図、
【図９】彩度伸長を説明する模式図、
【図１０】色域写像部が行う、色域写像処理を示すフローチャート、
【図１１】明度/色相写像動作を説明する模式図、
【図１２】明度/色相写像動作を説明する模式図、
【図１３】明度/色相写像動作を説明する模式図、
【図１４】色相成分の写像を示すフローチャート、
【図１５】色相入出力関数の一例を示す図、
【図１６】明度調整写像を説明するフローチャート、
【図１７】色M、第一の中間写像色再現域の上部境界BUと下部境界BL、および、第二の中間写像色再現域の上部境界BUmappedと下部境界BLmappedの関係を示す図、
【図１８Ａ】入出力関数p(・)の例を示す図、
【図１８Ｂ】入出力関数p(・)の例を示す図、
【図１９】彩度調整写像を説明するフローチャート、
【図２０】色M、色Bp、色Biの関係を模式的に示す図、
【図２１Ａ】入出力関数q(・)の一例を示す図、
【図２１Ｂ】入出力関数q(・)の一例を示す図、
【図２２】写像結果の評価値の算出を説明するフローチャートである。
【図１】
2005295153.tif 000003
【図２】
2005295153.tif 000004
【図３】
2005295153.tif 000005
【図４】
2005295153.tif 000006
【図５】
2005295153.tif 000007
【図６】
2005295153.tif 000008
【図７】
2005295153.tif 000009
【図８】
2005295153.tif 000010
【図９】
2005295153.tif 000011
【図１０】
2005295153.tif 000012
【図１１】
2005295153.tif 000013
【図１２】
2005295153.tif 000014
【図１３】
2005295153.tif 000015
【図１４】
2005295153.tif 000016
【図１５】
2005295153.tif 000017
【図１６】
2005295153.tif 000018
【図１７】
2005295153.tif 000019
【図１８Ａ】
2005295153.tif 000020
【図１８Ｂ】
2005295153.tif 000021
【図１９】
2005295153.tif 000022
【図２０】
2005295153.tif 000023
【図２１Ａ】
2005295153.tif 000024
【図２１Ｂ】
2005295153.tif 000025
【図２２】
2005295153.tif 000026