(57)【特許請求の範囲】
【請求項１】
入力色データは可視範囲内および可視範囲外を含む色空間で示され、前記可視範囲内および前記可視範囲外の入力色データに対応する複数の格子点の出力色データを格納するルックアップテーブルを作成する色処理方法であって、
大略可視範囲に対応する色域情報および出力デバイスの色域情報を保持し、
前記可視範囲外の入力色データを前記大略可視範囲に対応する色域情報が示す可視色域内にマッピングし、
指数が分数であり、前記可視範囲内の色データに対する底が正の値であり、前記可視範囲外の色データに対する底が負の値になり得る、指数演算を含む錐体応答変換を有するカラーアピアランスモデルを用いて、前記マッピングした色データおよび前記可視範囲内の入力色データをカラーアピアランスデータに変換し、
前記カラーアピアランスデータを前記出力デバイスの色域情報が示す出力色域内にマッピングし、
前記出力色域内にマッピングした色データに対応する前記出力デバイスの色値を前記出力色データとして前記ルックアップテーブルに格納することを特徴とする色処理方法。
【請求項２】
前記カラーアピアランスモデルは、CIEで規定されたカラーアピアランスモデルであることを特徴とする請求項1に記載された色処理方法。
【請求項３】
前記ルックアップテーブルはLab色空間の入力色データを前記出力デバイスの色値に変換するテーブルであり、
前記格子点に対応する入力色データはLab色空間において示され、
前記可視範囲外の入力色データを前記可視色域内にマッピングする処理はLab色空間上で行われることを特徴とする請求項1に記載された色処理方法。
【請求項４】
コンピュータ装置を制御して、請求項1から請求項3の何れか一項に記載された色処理を実行することを特徴とするプログラム。
【請求項５】
入力色データは可視範囲内および可視範囲外を含む色空間で示され、前記可視範囲内および前記可視範囲外の入力色データに対応する複数の格子点の出力色データを格納するルックアップテーブルを作成する色処理装置であって、
大略可視範囲に対応する色域情報および出力デバイスの色域情報を保持する保持手段と、
前記可視範囲外の入力色データを前記大略可視範囲に対応する色域情報が示す可視色域内にマッピングする手段と、
指数が分数であり、前記可視範囲内の色データに対する底が正の値であり、前記可視範囲外の色データに対する底が負の値になり得る、指数演算を含む錐体応答変換を有するカラーアピアランスモデルを用いて、前記マッピングした色データおよび前記可視範囲内の入力色データをカラーアピアランスデータに変換する変換手段と、
前記カラーアピアランスデータを前記出力デバイスの色域情報が示す出力色域内にマッピングする手段と、
前記出力色域内にマッピングした色データに対応する前記出力デバイスの色値を前記出力色データとして前記ルックアップテーブルに格納する手段とを有することを特徴とする色処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可視範囲内および可視範囲外の入力色データに対応する複数の格子点によって示される色空間の各格子点の出力色データを示すルックアップテーブルを作成する色処理に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータの普及に伴い、ディジタルカメラ、カラースキャナなどの画像入力デバイスによって画像を入力し、その画像をCRT、LCDなどの画像表示デバイスを用いて表示、確認し、さらに、その画像をカラープリンタなどの画像出力デバイスによって出力することが容易に行えるようになった。その際、入力デバイスと、表示および出力デバイスの色再現域の差による色の見えの違いを補正するために、通例、カラーマッチング処理（色域マッピング）を行う。つまり、カラーマッチング処理により、デバイス間の色の見えの差を吸収する。
【０００３】
カラーマッチング処理の一つにICCプロファイルを用いる手法がある。図1に示すように、ICCプロファイルの処理は、ソースプロファイル（以下「Srcプロファイル」と呼ぶ）を用いて、入力デバイスによって得られた画像のRGB値をデバイスに依存しない色空間であるCIE三刺激値XYZやCIE LABに変換し、ディスティネイションプロファイル（以下「Dstプロファイル」と呼ぶ）によって、CIE LABから出力（表示）デバイスのデバイスRGB（以下「DevRGB」と呼ぶ）に変換する。Srcプロファイルには、入力デバイスの色再現特性を示すRGB→XYZ変換マトリクスや、RGB→Lab変換ルックアップテーブル(LUT)が記述されている。一方、Dstプロファイルには、ある特定の形式に沿ったLab→DevRGBのLUTが記述されている。このDstプロファイルのLUTは、L*値が0≦L*≦100、a*値が-128≦a*≦127、b*値が-128≦b*≦127の範囲をそれぞれ均等にnスライス（n(整数)個の断片に分割すること）した格子点データを定義し、そのL*a*b*値を出力デバイスの色域にマッピングすることで得たDevRGB値を記述した形式である。
【０００４】
このように、ICCプロファイルの処理系においては、カラーマッチング情報、すなわち色域マッピングの情報は、Dstプロファイル内のLUTに出力デバイスの色域情報と同時に記述されている。
【０００５】
一方、近年、色の見えモデルとして、従来のCIE LABよりも人間の視覚特性を高精度にモデル化したカラーアピアランスモデルが発表されている。このカラーアピアランス空間の色値（例えばJ*a*b*値とする）は、概ねCIE三刺激値XYZから計算することができるようになっている。このJ*a*b*を利用してカラーマッチング（色域マッピング）を行うことで、より人間の視覚特性に適合した色合わせを行うことができる。
【０００６】
さて、カラーアピアランス空間を用いたカラーマッチングをICCプロファイルの処理系で実現する場合、上述したようにカラーマッチング情報はDstプロファイルに記述するため、新たなDstプロファイルを作成しなければならない。しかし、Dstプロファイルには、L*a*b*値とDevRGB値の関係を前述した所定の形式でLUT化したものを埋め込むようになっている。つまり、カラーアピアランス空間を用いたカラーマッチング情報をDstプロファイル化するためには、ICCプロファイル形式に従い、所定形式のL*a*b*の格子点列を一旦カラーアピアランス変換式でJ*a*b*値に変換し、その後、出力デバイスの色域にマッピングして対応するDevRGB値を得てLUT化する、という作業が必要になる。計算の流れとしては、図2に示すように、L*a*b* → J*a*b* → J*'a*'b*' → DevRGBという具合である。
【０００７】
しかし、カラーアピアランス空間の色値J*a*b*を得るための変換式は、可視範囲外の色には対応していないという問題がある。カラーアピアランス変換は、例えば、色順応変換や錐体応答変換、反対色応答変換を行って、色値が人間の視覚特性に近付くように変換する。色順応変換の変換方法は、例えば、式(1)に示すようなマトリクス変換を代表とする線形変換であり、錐体応答変換は、マトリクス変換に加え、式(2)に示すような指数演算も行う。また、反対色応答変換は、錐体応答変換後の値を人間の視覚特性に適合した座標J*a*b*の値とするための変換であり、線形変換および三角関数変換が代表的な変換式になる。
┌           ┐
│a00 a01 a02│
A' =│a10 a11 a12│ A              …(1)
│a20 a21 a22│
└           ┘
A' = b(cA/d)e/{f + (cA/d)e} + g    …(2)
ここで、a00からa22およびbからgは定数、ただし0≦e≦1
Aは変換前の値
A'は変換後の値
【０００８】
この変換式によれば、可視範囲外の色を表すXYZ値が入力された場合、線形演算である色順応変換は計算できるものの、錐体応答変換における式(2)のような指数演算を行う場合は計算エラーが起きる場合がある。これは、式(2)における(cA/d)は、本来可視範囲の色であれば必ず正の数になるように式(1)および(2)の定数が設計されているが、可視範囲外の色が入力されると負の数になることがあり、負の数の分数乗は定義されていないため計算が出来ない。
【０００９】
つまり、図3に示すように、CIE LAB空間上で定義されたL*a*b*格子点列のうち、可視範囲外の色（例えばL*=0、a*=-128、b*=-128）をJ*a*b*値に変換することができず、その格子点に対応するDevRGB値を算出することができない問題がある。実際に、ICCプロファイルの処理系でカラーマッチングを行う際、入力された画像に可視範囲外の色が存在することは有り得ないが、可視範囲ぎりぎりの色が存在する場合がある。そのような色をLUTを用いて補間する際は、可視範囲内の格子点だけではなく可視範囲外の格子点も用いるため、可視範囲外の格子点に対しても適切なDevRGB値を入力しておく必要がある。
【００１０】
ICCプロファイルおよびカラーアピアランス空間を利用したカラーマッチング方法としては特開2000-40140公報に開示された技術がある。同公報に開示された技術は、ICCプロファイル形式で記述されているSrcプロファイルおよびDstプロファイルから各デバイスの色域を専用の装置に読み込み、各色域をカラーアピアランス変換式の一つであるCIEで規定されたCIE CAM97変換式でJ*a*b*値に変換して色域マッピングを行うものである。この技術を用いる場合、J*a*b*空間での色域マッピング情報を記録したDstプロファイルを新たに作成する必要はなく、従来と同様のプロファイルを用いればよいため、前述したようなカラーアピアランス変換不能に起因する問題は発生しない。ところが、この技術は、カラーマッチングする際に特別な装置を必要とするため、例えばPhotoShop(R)のような一般的な画像操作アプリケーションを利用する場合は用いることはできない。また、専用の装置でカラーマッチングを行うため、ICCプロファイルに記述された色域マッピング情報を完全に無視するという問題もある。
【００１１】
【特許文献１】特開2000-40140公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ICCプロファイルの処理系において、カラーアピアランス空間を用いた色域マッピングを取り入れることが望まれる。また、ICCプロファイルを作成する場合だけに限らず、カラーアピアランス空間上で処理を行う際に、可視範囲外の色に対応できないことは不都合である。
【００１３】
本発明は、カラーアピアランスモデルが可視範囲外の色データに対応できない問題を解決して、入力色データを出力デバイスの色値に変換するルックアップテーブルを作成することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１５】
本発明は、入力色データは可視範囲内および可視範囲外を含む色空間で示され、前記可視範囲内および前記可視範囲外の入力色データに対応する複数の格子点の出力色データを格納するルックアップテーブルを作成する際に、大略可視範囲に対応する色域情報および出力デバイスの色域情報を保持し、前記可視範囲外の入力色データを前記大略可視範囲に対応する色域情報が示す可視色域内にマッピングし、指数が分数であり、前記可視範囲内の色データに対する底が正の値であり、前記可視範囲外の色データに対する底が負の値になり得る、指数演算を含む錐体応答変換を有するカラーアピアランスモデルを用いて、前記マッピングした色データおよび前記可視範囲内の入力色データをカラーアピアランスデータに変換し、前記カラーアピアランスデータを前記出力デバイスの色域情報が示す出力色域内にマッピングし、前記出力色域内にマッピングした色データに対応する前記出力デバイスの色値を前記出力色データとして前記ルックアップテーブルに格納することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、入力色データを出力デバイスの色値に変換するルックアップテーブルを作成することができる。とくに、本発明によれば、出力デバイスの色域内にマッピングする処理をカラーアピアランス空間において行うので、高精度な変換を行うルックアップテーブルを作成することができる。さらに、カラーアピアランス空間を使用する際に問題となるカラーアピアランスモデルが可視範囲外の色データに対応できない点を、カラーアピアランスモデルを用いて色データをカラーアピアランスデータに変換する前に入力色データを可視範囲内にマッピングすることにより解消する。これにより、可視範囲ぎりぎりの色が入力され、可視範囲外の格子点を使用して補間する場合も良好な変換結果を得ることができるルックアップテーブルを作成することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明にかかる実施例として、ICCプロファイル（または、ICC準拠のプロファイル形式に準拠したルックアップテーブル）を作成する処理に本発明を適用した実施例を図面を参照して詳細に説明する。
【００１９】
［概要］
本発明のICCプロファイル形式に準拠したLUTを作成する画像処理は、所定の条件を満たすCIE LAB空間上の格子点を所定の範囲内に移動し、CIE LAB値をCIE三刺激値XYZ値に変換し、そのXYZ値をカラーアピアランス変換式を用いてアピアランス空間値に変換する。そして、得られたアピアランス空間値を所定のデバイス色域にマッピングする。
【００２０】
［構成］
図4は実施例1の画像処理装置1の構成例を示すブロック図である。
【００２１】
画像処理装置1は、出力デバイスの色域データを入力する入力部101、LUT保持部108に保持されているCIE LABの格子点情報(L*a*b*)からCIE三刺激値XYZを算出するXYZ算出部102、XYZ算出部102において算出されたXYZ値からカラーアピアランス変換式を用いてJ*a*b*値を算出するカラーアピアランス変換部103、LUTを出力する出力部104、LUT保持部108に保持されているCIE LABの格子点のうち可視範囲外の格子点を可視範囲内に移動する格子点移動部105、カラーアピアランス変換部103および最近傍点算出部105において算出されたJ*a*b*を色域保持部107に保持されている出力デバイスの色域へ色域マッピングする色域マッピング部106、入力部101によって入力された出力デバイスの色域データを保持する色域保持部107、CIE LAB空間上の格子点列および各値に対応するJ*a*b*値、出力デバイス色域にマッピングされた後のJ*'a*'b*'値、並びに、J*'a*'b*'値に対応する出力デバイスのDevRGB値を保持するLUT保持部108、処理途中の演算結果を一時保存するバッファメモリ109を有する。
【００２２】
［画像処理装置の動作］
図5は画像処理装置1が実行する処理例を示すフローチャートである。
【００２３】
入力部101において出力デバイスの色域データおよび可視範囲色域データを入力し、色域保持部107に格納する(S1)。
【００２４】
図6は出力デバイスの色域データの一例を示す図で、例えば、0≦R, G, B≦255の範囲を9スライスしたRGBデータ(729色)と、それに対応する出力デバイスの出力XYZ値を記述したデータを用いる。このXYZ値には、前記729色のRGBデータを対象の出力デバイスで出力したパッチを測色したデータを用いる。また、図7は可視範囲色域データの一例を示す図で、出力デバイス色域データと同様に可視範囲色域を9スライスしたデータを用いるが、こちらはCIE LABで表現されたデータを用いる。
【００２５】
次に、格子点移動部105により、予めLUT保持部108に格納されているCIE LABで表現された所定の格子点データL*a*b*を、色域保持部107に保持されている可視範囲色域データが示す色域（以下「可視範囲色域」と呼ぶ）にマッピングし、可視範囲色域にマッピングした格子点データをLUT保持部108に保存する(S2)。図8はLUT保持部108に保持されているL*a*b*の格子点データを示す図で、格子点データはICCプロファイルにおけるDstプロファイルに用いられる形式であり、0≦L*≦100、-128≦a*≦127、-128≦b*≦127の範囲をそれぞれ33段階に均等にスライスした計35937色の格子点データである。なお、以下の説明では、33段階にスライスした格子点データを用いるが、格子点データは33スライスに限定されるものではなく、例えば9スライス、17スライス、65スライスでもよい。なお、色域保持部107が保持する可視範囲色域データの色域は大略の可視範囲であればよい。
【００２６】
次に、XYZ算出部102により、LUT保持部108に格納されている可視範囲色域にマッピングされた格子点データL*a*b*を式(3)を用いてXYZ値（XYZ格子点データ）に変換し、バッファメモリ109に保存する(S3)。
f(Y) = (L* + 16)/116
f(X) = a*/500 + f(Y)
f(Z) = -b*/200 + f(Y)
f(X)3＞0.008856 のとき X = Xn・f(X)3
f(X)3≦0.008856 のとき X = {f(X) - 16/116}・Xn/7.787
f(Y)3＞0.008856 のとき Y = Yn・f(Y)3
f(Y)3≦0.008856 のとき Y = {f(Y) - 16/116}・Yn/7.787
f(Z)3＞0.008856 のとき Z = Zn・f(Z)3
f(Z)3≦0.008856 のとき Z = {f(Z) - 16/116}・Zn/7.787    …(3)
ここで、Xn、Yn、Znは白色点のXYZ値
D50の場合は(Xn, Yn, Zn)=(96.43, 100.0, 82.51)
【００２７】
式(3)には、白色点、すなわち、出力デバイスで出力した画像を観察する際の光源がD50であると仮定して計算式を示したが、観察する環境が別の環境（例えばD65）である場合はその白色点に対応したXn、Yn、Znを用いる。式(3)に示すような計算をL*a*b*格子点データすべてに適用して得られるXYZ格子点データはバッファメモリ109に保存される。
【００２８】
次に、カラーアピアランス変換部103により、XYZ算出部102によって算出されたXYZ値をカラーアピアランス変換式を用いてJ*a*b*値に変換し(S4)、カラーアピアランス変換部103により、色域保持部107に保持されている出力デバイスの色域データ（XYZ値）をカラーアピアランス値J*a*b*に変換し、色域保持部107に保存し(S5)、色域マッピング部106により、J*a*b*値を出力デバイスの色域にマッピングして得られる出力デバイスのDevRGB値をLUT保持部108に保存し(S6)、出力部104により、LUT保持部108に保持されたLUTを出力する(S7)。この一連の処理における、カラーアピアランス変換部103、最近傍点算出部105および色域マッピング部106の具体的な処理は後述する。
【００２９】
［格子点移動部］
図9は格子点移動部105の処理(S2)を説明するフローチャートである。
【００３０】
まず、色域保持部107から可視範囲色域データを取得し(S21)、LUT保持部108から格子点データ(Lt, at, bt)を取得し、その格子点が可視範囲色域内に存在するか否かを判定する(S23)。
【００３１】
● 色域内外の判定法
本実施例において可視範囲色域は、RGBを各9スライスした729点のデータ、すなわち512個の六面体によって表される。従って、格子点データ(Jt, at, bt)が512個の六面体の何れかに含まれれば、その格子点データは可視範囲色域内にあると判定できる。そこで、格子点データを一つずつ、六面体に含まれるか否かを判定することになるが、本実施例では、図10に示すように、六面体をさらに六つの四面体に分割し、それぞれの四面体について内外判定処理を行うことで、格子点データが六面体に含まれるか否かを判定する。
【００３２】
図11は四面体の内外判定を説明する図で、四面体の各頂点をA、B、C、Dとし、格子点データをPとし、例えばA点からB点へ向かうベクトルを↑ABで表すと、式(4)が成り立つ。
↑AP = s↑AB + t↑AC + u↑AD        …(4)
【００３３】
このとき、点Pが四面体ABCDに含まれれば式(5)および(6)が成り立つ。
s + t + u≦1                      …(5)
s≧0, t≧0, u≧0                  …(6)
【００３４】
点Pは、式(5)および(6)が成り立てば四面体の中、成り立たなければ四面体の外と判定することができる。
【００３５】
以上の四面体の内外判定を六個の四面体について行うことで、格子点データの六面体の内外判定を行うことができ、さらに、この六面体内の外判定を512個の六面体について実行することで、格子点データの可視範囲色域の内外判定が完了する。
【００３６】
次に、格子点(Lt, at, bt)が可視範囲色域内にあると判定した場合は、その格子点データ(Lt, at, bt)をマッピング後のデータ(Lk, ak, bk)に代入し(S24)、可視範囲色域外と判定した場合は、その格子点データ(Lt, at, bt)を可視範囲色域にマッピングする(S25)。マッピング後のデータはLUT保持部108に保存する。
【００３７】
図12は可視範囲色域外の格子点データのマッピング例を示す図で、例えば、格子点データ(Lt, at, bt)とCIE LAB空間の中間グレイ値(L*, a*, b*)=(50, 0, 0)を結ぶ直線を定義し、その直線と出力デバイスの可視範囲色域の交点に格子点データ(Lt, at, bt)をマッピングする。すなわち、マッピング後のデータ(Lk, ak, bk)に、その交点の座標値を代入する。なお、交点の算出は、出力デバイスの可視範囲色域の表面に位置する隣り合う三点で構成される平面の方程式と、直線の方程式を解くことによって容易に求まるから、ここでは、その説明を省略する。
【００３８】
図13はLUT保持部108の内部構造（メモリ割り当て）を示す図で、予め保持されているL*a*b*格子点データが記述されたCIE LAB値保持部1001に加え、そのL*a*b*格子点データを可視範囲色域に移動したL*a*b*データ（つまりマッピング後の格子点データ）を格納するマッピング後格子点保持部1002、マッピング格子点データに対応するカラーアピアランス値J*a*b*値を格納するカラーアピアランス値保持部1003、さらに、出力デバイスのDevRGB値を保持するDevRGB値保持部1004を有する。
【００３９】
次に、全格子点の処理が終了したか否かを判定し(S27)、すべての格子点を処理した場合は処理を終了し、未了であればステップS22に戻り、すべての格子点の処理が終わるまで上記を繰り返す。
【００４０】
［カラーアピアランス変換部］
図14はカラーアピアランス変換部103の処理(S4)を説明するフローチャートである。
【００４１】
まず、バッファメモリ109からXYZ格子点データを取得し(S31)、取得したXYZ値をカラーアピアランス空間の色値であるJ*a*b*値に変換し(S32)、J*a*b*値をLUT保持部108のカラーアピアランス値保持部1003に保存する(S33)。
【００４２】
次に、バッファメモリ109に保存されているXYZ格子点データのすべてをカラーアピアランス変換したか否かを判定し(S34)、すべてのデータを変換した場合は処理を終了し、未了であればステップS31に戻り、すべてのXYZ格子点データの変換が終わるまで上記を繰り返す。
【００４３】
［色域（ガマット）マッピング部］
図15は色域マッピング部106の処理(S6)を説明するフローチャートである。
【００４４】
まず、LUT保持部108のカラーアピアランス値保持部1003からJ*a*b*値の格子点データ(Jt, at, bt)を取得し(S61)、色域保持部107から出力デバイスの色域を示す（ステップS5で計算された）J*a*b*値を取得し(S62)、格子点データ(Jt, at, bt)が出力デバイスの色域内にあるか否かを判定する(S63)。なお、色域内外の判定法は、格子点移動部105の動作説明の際に説明したので、その説明を省略する。
【００４５】
次に、色域内にあると判定した場合は、その格子点のマッピング後のデータ(Jk, ak, bk)に格子点データ(Jt, at, bt)を代入し(S64)、色域外にあると判定した場合は、その格子点データ(Jt, at, bt)を出力デバイスの色域の表面にマッピングする(S65)。なお、マッピングは、例えば、格子点移動部105の動作説明の際に説明したのと同様の方法を用いればよい。
【００４６】
次に、マッピング後のデータ(Jk, ak, bk)に対応する出力デバイスのDevRGB値を算出し、LUT保持部108のDevRGB値保持部1004に保存する(S66)。DevRGB算出法の一例を図10を用いて説明する。前述したように、デバイス色域内の点は、式(4)のように表すことができ、かつ、式(5)および(6)を満たす。そこで、この条件を満たす四面体ABCDを探索し、式(4)におけるs、t、uを算出する。そして、式(7)を用いることでDevRGB値を得ることができる。
R = RA + s(RB - RA) + t(RC - RA) + u(RD - RA)
G = GA + s(GB - GA) + t(GC - GA) + u(GD - GA)      …(7)
B = BA + s(BB - BA) + t(BC - BA) + u(BD - BA)
ここで、RA, GA, BAは点Aに対応するDevRGB値
RB, GB, BBは点Bに対応するDevRGB値
RC, GC, BCは点Cに対応するDevRGB値
RD, GD, BDは点Dに対応するDevRGB値
各頂点のDevRGB値は色域保持部107に保持されている
【００４７】
次に、全格子点データの処理が終了したか否かを判定し(S67)、終了した場合は処理を終了し、未了の場合はステップS61に戻り、全格子点データの処理が終了するまで上記を繰り返す。
【００４８】
このように、カラーアピアランス空間を用いたマッピング処理を記述したICCプロファイル形式のLUTを作成する際に、カラーアピアランス変換式では変換できない可視範囲外の格子点を予め可視範囲にマッピングした後にカラーアピアランス変換することで、可視範囲外の格子点についての情報の欠如がないLUTを作成することができる。従って、このLUTを用いたICCプロファイルで画像を変換する際に、可視範囲ぎりぎりの色が入力され、可視範囲外の格子点を使用して補間する場合に良好な変換結果を得ることができる。
【００４９】
［変形例］
上記実施例においては、入力部101で読み込む出力デバイス色域データをCIE三刺激値XYZ値として説明したが、予めカラーアピアランス変換したカラーアピアランス値J*a*b*を入力してもよい。
【００５０】
また、上記実施例においては、入力される出力デバイス色域をRGB各9スライスしたデータのCIE三刺激値XYZ値としたが、9スライスに限定されるわけではなく、出力デバイスの色域がわかる程度のスライス数であれば何でもよい。例えば計算量を減らすためにスライス数を5や7に減らしてもよいし、精度を上げるために12や17に増やしてもよく、用途によって使い分けることができる。
【００５１】
また、上記実施例における色域マッピング部106の処理は、出力デバイス色域内の色はそのまま表現し、色域外の色は色域の表面に貼り付ける方法を採用したが、これに限定されず、例えば、色域内の色を特定の色に変換したり、色域外の色も階調を保つようにマッピングしたりするような方法をとってもよい。
【００５２】
また、上記実施例においては、人間の視覚特性を高精度にモデル化したカラーアピアランス空間を用いる例を説明したが、カラーアピアランス空間の例としては例えばCIEで規定（推奨）されているCIE CAM97s、CIE CAM02などがある。
【００５３】
また、上記実施例においては、CIE Labに対応したICCプロファイルを用いて説明したが、CIE XYZなどの他の色空間に対応したICCプロファイルにも同様に適用可能である。CIE XYZも可視範囲外の色を表現することが可能であり、カラーアピアランスモデルを用いた場合にCIE Labと同様な問題が生じる。
【００５４】
また、上記実施例では、ICCプロファイルを作成する際に本発明を適用した実施例を説明したが、カラーアピアランス空間上で色処理、例えば色調整を行う他の実施例についても適用可能である。
【００５５】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００５６】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００５７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００５８】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００５９】
【図１】ICCプロファイルを用いるカラーマッチング処理を示す図、
【図２】カラーアピアランス空間を用いるカラーマッチング処理を、ICCプロファイルを用いて実現する際の処理の流れを示す図、
【図３】ICCプロファイル形式のLUTにおけるCIE Lab格子点と、カラーアピアランス空間の関係例を示す図、
【図４】実施例1の画像処理装置の構成例を示すブロック図、
【図５】画像処理装置が実行する処理例を示すフローチャート、
【図６】出力デバイスの色域データの一例を示す図、
【図７】可視範囲色域データの一例を示す図、
【図８】LUT保持部に保持されているL*a*b*の格子点データを示す図、
【図９】格子点移動部の処理を説明するフローチャート、
【図１０】内外判定処理のための六面体の分割例を説明する図、
【図１１】四面体の内外判定を説明する図、
【図１２】可視範囲色域外の格子点データのマッピング例を示す図、
【図１３】LUT保持部の内部構造を示す図、
【図１４】カラーアピアランス変換部の処理を説明するフローチャート、
【図１５】色域マッピング部の処理を説明するフローチャートである。
【図１】
0004721398.tif 000002
【図２】
0004721398.tif 000003
【図３】
0004721398.tif 000004
【図４】
0004721398.tif 000005
【図５】
0004721398.tif 000006
【図６】
0004721398.tif 000007
【図７】
0004721398.tif 000008
【図８】
0004721398.tif 000009
【図９】
0004721398.tif 000010
【図１０】
0004721398.tif 000011
【図１１】
0004721398.tif 000012
【図１２】
0004721398.tif 000013
【図１３】
0004721398.tif 000014
【図１４】
0004721398.tif 000015
【図１５】
0004721398.tif 000016