(57)【要約】【課題】  カラーマッチング対象のデバイスの組み合わせに応じた順応白色点を算出して色再現性を向上させる。【解決手段】  入力および出力デバイスそれぞれの白色点、色再現特性およびデバイスの種類、並びに、入力および出力デバイス側それぞれの観察条件を示すユーザ指示を入力する(S202〜S208)。そして、入力および出力デバイスの白色点および種類に基づく算出方法により、順応白色点を計算する(S209、S210)。そして、白色点、順応白色点および観察条件に基づき入力および出力デバイスの色再現特性を示す色値を均等色空間の色値に変換し(S211、S212)。そして、均等色空間の色値に基づき、入力デバイスの画像データを出力デバイスの画像データに色処理するプロファイルを作成する(S213)。【選択図】  図2
2008278214.tif 000002
【特許請求の範囲】
【請求項１】
入力および出力デバイスそれぞれの白色点、色再現特性およびデバイスの種類、並びに、入力および出力デバイス側それぞれの観察条件を入力する入力手段と、
前記入力および出力デバイスの白色点および種類に基づく算出方法により、順応白色点を計算する計算手段と、
前記白色点、前記順応白色点および前記観察条件に基づき前記入力および出力デバイスの色再現特性を示す色値を均等色空間の色値に変換する変換手段と、
前記均等色空間の色値に基づき、前記入力デバイスの画像データを前記出力デバイスの画像データに色処理するプロファイルを作成する作成手段とを有することを特徴とする色処理装置。
【請求項２】
前記計算手段は、前記入力および出力デバイスの発色方法が異なる場合、前記入力および出力デバイスの白色点の輝度情報に応じた前記順応白色点の算出方法を使用することを特徴とする請求項1に記載された色処理装置。
【請求項３】
前記計算手段は、前記入力デバイスの白色点の輝度情報が前記出力デバイスの白色点の輝度情報よりも大きい場合、前記出力デバイスの部分順応白色点を計算する算出方法を使用することを特徴とする請求項2に記載された色処理装置。
【請求項４】
前記計算手段は、前記入力デバイスの白色点の輝度情報が前記出力デバイスの白色点の輝度情報以下の場合、前記入力デバイスの部分順応白色点を計算する算出方法を使用することを特徴とする請求項2または請求項3に記載された色処理装置。
【請求項５】
前記計算手段は、前記入力および出力デバイスの発色方法が同じ場合、前記入力および出力デバイスの輝度レンジに応じた前記順応白色点の算出方法を使用することを特徴とする請求項1から請求項4の何れか一項に記載された色処理装置。
【請求項６】
前記計算手段は、前記入力デバイスの輝度レンジが前記出力デバイスの輝度レンジ以下の場合、前記入力デバイスの部分順応白色点を計算する算出方法を使用することを特徴とする請求項5に記載された色処理装置。
【請求項７】
前記計算手段は、前記入力デバイスの輝度レンジが前記出力デバイスの輝度レンジを超える場合、部分順応を考慮しない算出方法を使用することを特徴とする請求項5または請求項6に記載された色処理装置。
【請求項８】
入力および出力デバイスそれぞれの白色点、色再現特性およびデバイスの種類、並びに、入力および出力デバイス側それぞれの観察条件を入力し、
前記入力および出力デバイスの白色点および種類に基づく算出方法により、順応白色点を計算し、
前記白色点、前記順応白色点および前記観察条件に基づき前記入力および出力デバイスの色再現特性を示す色値を均等色空間の色値に変換することを特徴とする色処理方法。
【請求項９】
コンピュータ装置を制御して、請求項1から請求項7の何れか一項に記載された色処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項１０】
請求項9に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色再現性を向上させる色処理に関する。
【背景技術】
【０００２】
パーソナルコンピュータやワークステーションを用いたデスクトップパブリッシング(DTP)やコンピュータ支援設計(CAD)によって作成されたカラードキュメントが、オフィス業務や日常生活の中で印刷されたりプロジェクタで投影される機会が増えた。その際、ディスプレイとプリンタの色再現特性の違いに起因して、明るさ感や色の印象が異なる問題が発生することがある。
【０００３】
このような問題に対応するため、以前よりデバイスに寄らず同じ色再現を目指すdevice independent color reproduction（デバイス独立色再現）の研究が行われている。デバイス独立色再現における基本的な考え方は、デバイス間で同一の色度値をもつようにする色再現する、所謂、測色的な色再現が基礎になっている。あるデバイスの三刺激値をX1Y1Z1とし、別のデバイスの三刺激値をX2Y2Z2とするときの測色的色再現は式(1)で表される。
X1 = X2
Y1 = Y2      …(1)
Z1 = Z2
【０００４】
また、画像の観察環境の違いにより、色の見えが異なる問題がある。例えば、店頭でディスプレイやプロジェクタの画像を観察した場合と、同じ商品の画像を自宅で観察した場合、照明光を含む環境光の違い（色温度の違いや強度の違い）などによって、画像の色が異って見えることがある。
【０００５】
このような問題を解決するため、観察環境の情報（観察条件）を用いて、人間の視覚順応の考え方に基づく視覚空間における再現色を一致させるカラーマッチングが研究されている。
【０００６】
人間の視覚特性を反映した均等色空間上において、デバイス再現色を一致させることにより、カラーマッチングが得られる。各デバイスの色再現情報を均等色空間上の色値に変換するには、観察条件（照明光を含む環境光、デバイス白色）から算出した順応白色点を用いる。例えば、特許文献1は、環境光の変更に対応して、任意の観察条件から順応白色点を計算し、この順応白色点を用いて上記変換を行う。
【０００７】
しかし、カラーマッチングするデバイスの組み合わせが異なると、たとえ観察光とデバイス白色が同一であっても、最適な順応白色点は異なる。例えば、モニタ（光源色）とプリンタ（物体色）の観察条件（観察光、デバイス白色）に対応する順応白色点を、同一観察条件下のモニタ（光源色）とモニタ（光源色）のカラーマッチングに適用した場合、上記変換後の色は、見た目の印象が一致しない。言い換えれば、均等色空間上で色値を一致させたとしても、カラーマッチングを得ることはできない。
【０００８】
【特許文献１】特開平9-102882号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、カラーマッチング対象のデバイスの組み合わせに応じた順応白色点を算出することにより、色再現性を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１１】
本発明にかかる色処理装置は、入力および出力デバイスそれぞれの白色点、色再現特性およびデバイスの種類、並びに、入力および出力デバイス側それぞれの観察条件を入力する入力手段と、前記入力および出力デバイスの白色点および種類に基づく算出方法により、順応白色点を計算する計算手段と、前記白色点、前記順応白色点および前記観察条件に基づき前記入力および出力デバイスの色再現特性を示す色値を均等色空間の色値に変換する変換手段と、前記均等色空間の色値に基づき、前記入力デバイスの画像データを前記出力デバイスの画像データに色処理するプロファイルを作成する作成手段とを有することを特徴とする。
【００１２】
本発明にかかる色処理方法は、入力および出力デバイスそれぞれの白色点、色再現特性およびデバイスの種類、並びに、入力および出力デバイス側それぞれの観察条件を入力し、前記入力および出力デバイスの白色点および種類に基づく算出方法により、順応白色点を計算し、前記白色点、前記順応白色点および前記観察条件に基づき前記入力および出力デバイスの色再現特性を示す色値を均等色空間の色値に変換することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、カラーマッチング対象のデバイスの組み合わせに応じた順応白色点を算出することにより、色再現性を向上させることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明にかかる実施例の色処理を図面を参照して詳細に説明する。
【実施例１】
【００１５】
［装置の構成］
図1は実施例の色処理装置100の構成例を示すブロック図である。
【００１６】
CPU 101は、RAM 102をワークメモリとし、ROM 108やハードディスク(HDD) 105に格納されたオペレーティングシステム(OS)などのプログラムを実行する。そして、システムバス112を介して、後述する構成を制御するとともに、後述する色処理を実行する。
【００１７】
シリアルATA(SATA)インタフェイス(I/F) 103は、HDD 105とシステムバスを接続するインタフェイスである。ネットワークI/F 104は、ネットワーク113とシステムバス112を接続するインタフェイスである。グラフィックアクセラレータ106は、ディスプレイ107とシステムバス112を接続するインタフェイスである。USB (universal serial bus) I/F 109は、シリアルバスに接続されたキーボード110、マウス111、プリンタ114などのデバイスとシステムバス112を接続するインタフェイスである。
【００１８】
［色処理］
CPU 101によってOSが起動すると、ディスプレイ107にユーザインタフェイス(UI)が表示される。ユーザは、キーボード110やマウス111を操作し、UIを介して、HDD 105に格納された画像処理アプリケーションプログラム(AP)の実行を指示する。このユーザ指示を入力したOSは、ユーザが指示する画像処理APをCPU 101に起動させる。画像処理APを実行するCPU 101は、ユーザ指示に従い、後述する色処理用のプロファイル作成処理を行い、作成したプロファイルを用いて色処理を行う。
【００１９】
●プロファイルの作成
図2は色処理用のプロファイル作成処理を示すフローチャートである。
【００２０】
CPU 101は、RAM 102の所定領域を確保し、初期値をRAM 102に書き込み、UIを表示するなどの初期化を行う(S201)。図3はUIの一例を示す図である。
【００２１】
ユーザは、入力デバイスの白色点を示す情報の設定領域の「ファイル設定」ボタン404を押して、図示しないファイル選択ダイアログを操作して、入力デバイスの白色点情報が記述されたファイルを選択する。ファイルが選択されると、テキストボックス401〜403にはそれぞれCIEXYZ値のX値、Y値、Z値が表示される。なお、テキストボックス401〜403にXYZ値を直接入力してもよい。
【００２２】
ユーザは、入力デバイス情報の設定領域の「ファイル設定」ボタン405を押して、図示しないファイル選択ダイアログを操作して、入力デバイスの色再現特性が記述されたファイルを設定する。また、テキストボックス406と407に数値を入力するか、スピンボタンをクリックして入力デバイス側の環境（以下、入力環境）の環境光の色温度（照明色温度）および環境光の照度（照明照度）を設定する。
【００２３】
ユーザは、入力デバイスの種類を設定するリストボックス415を操作して、リストから該当するデバイスの種類を選択し設定する。
【００２４】
ユーザは、出力デバイスの白色点を示す情報の設定領域の「ファイル設定」ボタン411を押して、図示しないファイル選択ダイアログを操作して、出力デバイスの白色点情報が記述されたファイルを選択する。ファイルが選択されると、テキストボックス408〜410にはそれぞれCIEXYZ値のX値、Y値、Z値が表示される。なお、テキストボックス408〜410にXYZ値を直接入力してもよい。
【００２５】
ユーザは、出力デバイス情報の設定領域の「ファイル設定」ボタン412を押して、図示しないファイル選択ダイアログを操作して、出力デバイスの色再現特性が記述されたファイルを設定する。また、テキストボックス413と414に数値を入力するか、スピンボタンをクリックして出力デバイス側の環境（以下、出力環境）の環境光の色温度（照明色温度）および環境光の照度（照明照度）を設定する。
【００２６】
ユーザは、出力デバイスの種類を設定するリストボックス416を操作して、リストから該当するデバイスの種類を選択し設定する。
【００２７】
上記の設定が終了すると、ユーザは「処理実行」ボタン417を押す。CPU 101は、「処理実行」ボタン417が押されるとプロファイルの作成を開始する。また、「終了」ボタン418は、画像処理APの終了をCPU 101に指示するボタンである。
【００２８】
ユーザが図3に示すUIの「処理実行」ボタン417を押すと、CPU 101は、UIに設定された入力デバイスの白色点を示すXYZ値を取得し(S202)、UIに設定された出力デバイスの白色点を示すXYZ値を取得する(S203)。そして、UIに設定された入力環境の照明色温度と照明照度（以下、入力観察条件）を取得し(S204)、UIに設定された出力環境の照明色温度と照明照度（以下、出力観察条件）を取得する(S205)。これら情報はしてRAM 102の所定領域に格納される。
【００２９】
次に、CPU 101は、UIに設定された入力デバイスの色再現特性が記述されたファイルから色再現情報を取得し(S206)、UIに設定された出力デバイスの色再現特性が記述されたファイルから色再現情報を取得する(S207)。これら情報はRAM 102の所定領域に格納される。
【００３０】
図4Aは色再現情報を説明する図、図4Bは色再現情報のデータ構造例を説明する図である。色再現情報は、図4Aに示すように、デバイスのRGB色空間を格子に区切った各格子点の色座標値(R, G, B)と、対応するXYZ値の関係を記述する。図4Bに示すように、色再現情報の先頭にはR、G、B値のステップが記述され、その後に、各格子点のXYZ値が、R、G、Bの順にネストして記述されている。
【００３１】
次に、CPU 101は、UIに設定された入出力デバイスの種類を示す情報を取得し(S208)、入出力デバイスの組み合わせから順応白色点の算出方法を選択する(S209)。そして、選択した算出方法を使用して入出力デバイスそれぞれの順応白色点を計算する(S210)。
【００３２】
次に、CPU 101は、入力デバイスの白色点、入力観察条件、入力デバイスの順応白色点に基づき、入力デバイスの色再現情報（XYZ値）を均等色空間のJab値に変換する(S211)。同様に、出力デバイスの白色点、出力観察条件、出力デバイスの順応白色点に基づき、出力デバイスの色再現情報（XYZ値）を均等色空間のJab値に変換する(S212)。これらの変換には、カラーアピアランスモデル（例えばCIECAM02）の順変換を用いる。
【００３３】
次に、CPU 101は、詳細は後述するが、色処理用のプロファイルを作成し、HDD 105の所定領域に格納する(S213)。
【００３４】
図4Cはプロファイルのデータ構造例を説明する図である。つまり、プロファイルは、入力デバイスのRGB色空間の格子点の色座標(R, G, B)と、対応する出力デバイスのRGB値の関係を記述したものである。色処理装置100は、このようなプロファイルに基づき入力デバイスの画像データを色処理して出力デバイスに出力することで、入出力デバイス間の適切なカラーマッチングを行う。
【００３５】
●プロファイル作成時の状態遷移
図5はプロファイル作成時の画像処理APの動作を説明する状態遷移図である。
【００３６】
まず、RAM 102の所定領域を確保し、初期値をRAM 102に書き込み、UIを表示するなどの初期化を行い(S501)、ユーザ操作待ち(S502)状態になる。
【００３７】
テキストボックス401〜403が操作されるか「ファイル設定」ボタン404が押されると、入力白色情報設定(S503)へ移行する。「ファイル設定」ボタン405が押されると、入力色再現情報設定(S504)へ移行する。テキストボックス406、407（スピンボタンを含む）が操作されると、入力環境情報設定(S505)へ移行する。リストボックス415が操作されると、入力デバイス種類設定(S506)へ移行する。
【００３８】
また、テキストボックス408〜410が操作されるか「ファイル設定」ボタン411が押されると、出力白色情報設定(S507)へ移行する。「ファイル設定」ボタン412が押されると、出力色再現情報設定(S508)へ移行する。テキストボックス413、414（スピンボタンを含む）が操作されると、出力環境情報設定(S509)へ移行する。リストボックス416が操作されると、出力デバイス種類設定(S510)へ移行する。
【００３９】
また「処理実行」ボタン417が押されると、プロファイル作成(S511)へ移行し、「終了」ボタン418が押されると終了処理(S512)へ移行して処理を終了する。なお、ステートS503〜S511へ移行した場合は、ユーザの操作後、ユーザ操作待ち(S502)状態に復帰する。
【００４０】
●順応白色点の算出
図6は順応白色点の算出方法の選択(S209)を説明するフローチャートである。
【００４１】
CPU 101は、入出力デバイスの発色方式（RGB三原色の加法混色か、CMY三原色（さらにK版を加えた）の減法混色か）を判定し(S603)、発色方式が異なる場合は後述する第一の算出方法を選択する(S604)。
【００４２】
発色方式が同一の場合、CPU 101は、入力デバイスの輝度レンジRYsrcと出力デバイスの輝度レンジRYdstを比較する(S605)。そして、入力デバイスの輝度レンジが出力デバイスの輝度レンジ以下（RYsrc≦RYdst）ならば後述する第二の算出方法を選択する(S606)。また、RYsrc＞RYdstならば後述する第三の算出方法を選択する(S607)。
【００４３】
なお、デバイスの輝度レンジとは、デバイスが再現できる輝度の範囲を示す情報であり、デバイスの白色点の輝度値に相当する。
第一の算出方法
【００４４】
発色方式が異なる場合、入力デバイスの白色点の輝度情報Ysrcと出力デバイスの白色点の輝度情報Ydstを比較する。そして、入力デバイスの白色点の輝度情報が出力デバイスの白色点の輝度情報以下（Ysrc＞Ydst）の場合は式(2)(3)より、入力デバイスの白色点Xsrcw Ysrcw Zsrcw、物体色の白色点Xdstw Ydstw Zdstwを計算する。つまり、入力デバイスの白色点は入力デバイスの白色点そのままにし、出力デバイスの白色点として部分順応を考慮した白色点（部分順応白色点）を計算する。
┌     ┐ ┌    ┐
│Xsrcw│ │Xsrc│
│Ysrcw│=│Ysrc│                       …(2)
│Zsrcw│ │Zsrc│
└     ┘ └    ┘
┌     ┐   ┌    ┐       ┌    ┐
│Xdstw│   │Xdst│       │Xsrc│
│Ydstw│= k│Ydst│+ (1-k)│Ysrc│      …(3)
│Zdstw│   │Zdst│       │Zsrc│
└     ┘   └    ┘       └    ┘
ここで、k = (Ysrc/Ydst)1/3
ここで、XsrcYsrcZsrcは入力デバイスの白色点
XdstYdstZdstは出力デバイスの白色点
【００４５】
また、Ysrc≦Ydstの場合は式(4)(5)より、入力デバイスの白色点Xsrcw Ysrcw Zsrcw、物体色の順応白色点Xdstw Ydstw Zdstwを計算する。つまり、出力デバイスの白色点は出力デバイスの白色点そのままにし、入力デバイスの白色点として部分順応白色点を計算する。
┌     ┐       ┌    ┐   ┌    ┐
│Xsrcw│       │Xdst│   │Xsrc│
│Ysrcw│= (1-k)│Ydst│+ k│Ysrc│      …(4)
│Zsrcw│       │Zdst│   │Zsrc│
└     ┘       └    ┘   └    ┘
┌     ┐ ┌    ┐
│Xdstw│ │Xdst│
│Ydstw│=│Ydst│                       …(5)
│Zdstw│ │Zdst│
└     ┘ └    ┘
【００４６】
そして、式(6)(7)により、最終的な、入力デバイスの順応白色点Xsrcw Ysrcw Zsrcw、物体色の順応白色点Xdstw Ydstw Zdstwを計算する。
┌     ┐            ┌     ┐
│Xsrcw│            │Xsrcw│
│Ysrcw│= Ysrc/Ysrcw│Ysrcw│      …(6)
│Zsrcw│            │Zsrcw│
└     ┘            └     ┘
┌     ┐            ┌     ┐
│Xdstw│            │Xdstw│
│Ydstw│= Ydst/Ydstw│Ydstw│      …(7)
│Zdstw│            │Zdstw│
└     ┘            └     ┘
第二の算出方法
【００４７】
発色方式が同じ、RYsrc≦RYdstの場合は、式(4)(5)によって、最終的な、入力デバイスの順応白色点Xsrcw Ysrcw Zsrcw、物体色の順応白色点Xdstw Ydstw Zdstwを計算する。つまり、出力デバイスの白色点は出力デバイスの白色点そのままにし、入力デバイスの白色点として部分順応白色点を計算する。
第三の算出方法
【００４８】
発色方式が同じ、RYsrc＞RYdstの場合は、式(8)(9)によって、入力デバイスの順応白色点Xsrcw Ysrcw Zsrcw、物体色の順応白色点Xdstw Ydstw Zdstwを計算する。つまり、部分順応を考慮しない。
┌     ┐ ┌    ┐
│Xsrcw│ │Xsrc│
│Ysrcw│=│Ysrc│      …(8)
│Zsrcw│ │Zsrc│
└     ┘ └    ┘
┌     ┐ ┌    ┐
│Xdstw│ │Xdst│
│Ydstw│=│Ydst│      …(9)
│Zdstw│ │Zdst│
└     ┘ └    ┘
【００４９】
●プロファイルの作成
図7は色処理用のプロファイルの作成処理(S213)を示すフローチャートである。
【００５０】
まず、CPU 101は、カウンタi (0≦i≦M)、j (0≦j≦M)、k (0≦k≦M)を0に初期化し(S1003)、RGB格子点(i, j, k)に対応する入力デバイスの色再現情報をjabsrc値を取得する(S1004)。そして、出力デバイスの色再現情報（Jab値）を参照して、jabsrc値が出力デバイスの色域に含まれるか否かの内外判定を行う(S1005)。なお、定数Mは入力デバイスのRGB各格子点の数を表す。言い換えれば、入力デバイスのRGB格子はM×M×M格子である。
【００５１】
jabsrc値が出力デバイスの色域に含まれる場合、CPU 101は、四面体補間などの補間処理を用いて、出力デバイスの色再現情報（Jab値）からjabsrc値に対応する出力デバイスのRGB値を計算する(S1006)。なお、計算結果はRAM 102の所定領域に格納する。
【００５２】
また、jabsrc値が出力デバイスの色域に含まれない場合、CPU 101は、後述する方法により、jabsrc値を出力デバイスの色域の境界面にクリッピングしたjabdst値を計算する(S1007)。そして、四面体補間などの補間処理を用いて、出力デバイスの色再現情報（Jab値）からjabdst値に対応する出力デバイスのRGB値を計算し、RAM 102の所定領域に格納する(S1008)。
【００５３】
次に、CPU 101は、カウンタiをインクリメントし(S1009)、iとMを比較して(S1010)、i＜Mならば処理をステップS1004に戻す。また、i=Mならばカウンタiを0にリセットし、カウンタjをインクリメントする(S1011)。そして、jとMを比較して(S1012)、j＜Mならば処理をステップS1004に戻す。また、j=Mならばカウンタjを0にリセットし、カウンタkをインクリメントする(S1013)。そして、kとMを比較して(S1014)、k＜Mならば処理をステップS1004に戻し、k=Mならば処理を終了する。
【００５４】
●クリッピング
図8はクリッピング処理(S1007)を説明するフローチャートである。
【００５５】
CPU 101は、jabsrc値とグレイスケール軸上の収束点（焦点、例えばJab=(50, 0, 0)）を結ぶ直線Lnを計算する(S1101)。
【００５６】
次に、CPU 101は、カウンタColを1に初期化(S1102)、カウンタp (0≦p≦N)、q (0≦p≦N)を0に初期化する(S1103)。なお、定数Nは出力デバイスのRGB各格子点の数を表す。言い換えれば、出力デバイスのRGB格子はN×N×N格子である。
【００５７】
次に、CPU 101は、カウンタColに対応するRGB格子面（Col=1の場合はR=0面）において、RGB格子点(0, p, q)(0, p＋1, q)(0, p, q＋1)のJab値が載る平面Hnを計算する(S1104)。そして、平面Hnと直線Lnとの交点Pnを算出し(S1105)、交点Pnが、上記三点を頂点とする三角形内にあるか否かを判定する(S1106)。
【００５８】
交点Pnが当該三角形内に存在する場合、CPU 101は、交点PnのJab値（jabsrc値のクリッピング値）を計算し(S1107)、処理を終了する。
【００５９】
また、交点Pnが当該三角形内に存在しない場合、CPU 101は、カウンタColに対応するRGB格子面で、RGB格子点(0, p+1, q+1)(0, p＋1, q)(0, p, q＋1)のJab値が載る平面Hnを計算する(S1108)。そして、平面Hnと直線Lnとの交点Pnを算出し(S1109)、交点Pnが、上記三点を頂点とする三角形内にあるか否かを判定する(S1110)。
【００６０】
交点Pnが当該三角形内に存在する場合、CPU 101は、交点PnのJab値、つまりjabdst値を三頂点のJab値から補間演算し(S1107)、処理を終了する。
【００６１】
また、交点Pnが当該三角形内に存在しない場合、CPU 101は、カウンタqとNを比較して(S1111)、q＜Nならばカウンタqをインクリメントして(S1112)、処理をステップS1104に戻す。また、q=Nならば、カウンタpとNを比較して(S1113)、p＜Nならばカウンタqを0にリセットし、カウンタpをインクリメントし(S1114)、処理をステップS1104に戻す。また、p=NならばカウンタColと「6」を比較して(S1115)、Col＜5ならばカウンタColをインクリメントして(S1116)、処理をステップS1103に戻す。
【００６２】
カウンタCol=1の場合はRGB格子のR=0面において交点Pnを探索する処理を行うが、Col=2の場合はG=0面において交点Pnを探索する処理を行う。以下同様に、Col=3はB=0面、Col=4はR=255面、Col=5はG=255面、Col=6はB=255面である。なお、通常、Col=6までに交点Pnが探索されるが、もし、交点Pnが探索されずにCol=6になった場合は異常終了を示す警報を発して(S1117)、処理を終了する。
【００６３】
●内外判定
出力デバイスの色域は、N×N×NのRGB格子はN3点のデータ、すなわち(N-1)3個の六面体によって表される。従って、jabsrc値が(N-1)3個の六面体の何れかに含まれれば、その格子点データは出力デバイスの色域内にあると判定することができる。そこで、jabsrc値が六面体に含まれるか否かを判定することになるが、図9に示すように、六面体をさらに六つの四面体に分割し、それぞれの四面体について内外判定を行うことで、jabsrc値が六面体に含まれるか否かを判定する。
【００６４】
図10は四面体の内外判定を説明する図で、四面体の各頂点をA、B、C、Dとし、格子点データをPとし、例えばA点からB点へ向かうベクトルを↑ABで表すと、式(10)がなり立つ。
↑AP=s↑AB+ t↑AC+ u↑AD        …(10)
【００６５】
このとき、点Pが四面体ABCDに含まれれば式(11)および(12)がなり立つ。
s+ t+ u≦1                      …(11)
s≧0, t≧0, u≧0                  …(12)
【００６６】
点Pは、式(11)および(12)がなり立てば四面体の中、なり立たなければ四面体の外と判定することができる。
【００６７】
以上の四面体の内外判定を六個の四面体について行うことで、jabsrc値について六面体の内外判定を行うことができる。さらに、この六面体の内外判定を(N-1)3個の六面体について実行することで、jabsrc値についての色域の内外判定が完了する。
【００６８】
このように、カラーマッチング対象のデバイスの組み合わせに応じて均等色空間への色値の変換に用いるパラメータ（順応白色点）の算出方法を変更する。これにより、デバイスの組み合わせに応じて適切なパラメータを算出することができる。その結果、均等色空間に変換した色値と見た目の色を一致させて、高精度なカラーマッチングを行うことができる。
【００６９】
［変形例］
上記の実施例において、測色的色再現(colorimetric)を行う色処理のプロファイルの作成処理を説明した。しかし、測色的色再現に限らず、鮮やかさ優先(saturation)、知覚的(perceptual)など任意の色再現を行う色処理のプロファイルを作成することが可能である。
【００７０】
さらに、上記の実施例において、色域外のjabsrcを収束点に向かって色域境界にクリッピングする例を説明したが、色域境界面の色差最小点へマッピングしたり、色域内にマッピング（圧縮）してもよい。
【００７１】
上記の実施例において、均等色空間としてJab色空間を用いていたが、JCh、Lab、LCh、Luvなどの他の均等色空間を用いてもよい。
【００７２】
また、上記の実施例では、入力デバイスの色データを出力デバイスの色データに変換するプロファイルを作成する色処理装置について説明した。しかし、入力デバイスの色データを均等色空間値に変換する入力プロファイルと、均等色空間値を出力デバイスの色データに変換する出力プロファイルとを独立に作成する場合に、本発明を使用しても構わない。
【００７３】
上記の実施例では、プロファイル作成を行う色処理装置について説明した。しかし、入力デバイスに依存した入力色データを出力デバイスに依存した出力色データに変換するカラーマッチング処理にも本発明を適用することが可能である。この場合は、入力デバイスに依存した入力色データをXYZのようなデバイス非依存の色データに変換する。次に、ステップS211と同様に、入力デバイスの白色点、入力観察条件、入力デバイスの順応白色点を用いて、カラーアピアランスモデルの順変換に応じた変換を行う。そして、出力デバイスの白色点、出力観察条件、出力デバイスの順応白色点を用いて、カラーアピアランスモデルの逆変換に応じた変換を行う。最後に、変換された色データをデバイス依存の色データに変換する処理を行う。
【００７４】
なお、入力デバイスの順応白色点および出力デバイスの順応白色点については、図6に示した方法を用いて算出する。
【００７５】
［他の実施例］
なお、本発明は、複数の機器（例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置、制御装置など）に適用してもよい。
【００７６】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記憶媒体は本発明を構成する。
【００７７】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)および/または第一、第二、第三、…のプログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００７８】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一、第二、第三、…のデバイスのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００７９】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【００８０】
【図１】実施例の色処理装置の構成例を示すブロック図、
【図２】色処理用のプロファイル作成処理を示すフローチャート、
【図３】UIの一例を示す図、
【図４Ａ】色再現情報を説明する図、
【図４Ｂ】色再現情報のデータ構造例を説明する図、
【図４Ｃ】プロファイルのデータ構造例を説明する図、
【図５】プロファイル作成時の画像処理APの動作を説明する状態遷移図、
【図６】順応白色点の算出方法の選択を説明するフローチャート、
【図７】色処理用のプロファイルの作成処理を示すフローチャート、
【図８】クリッピング処理を説明するフローチャート、
【図９】内外判定における六面体の分割を説明する図、
【図１０】四面体の内外判定を説明する図である。
【図１】
2008278214.tif 000003
【図２】
2008278214.tif 000004
【図３】
2008278214.tif 000005
【図４Ａ】
2008278214.tif 000006
【図４Ｂ】
2008278214.tif 000007
【図４Ｃ】
2008278214.tif 000008
【図５】
2008278214.tif 000009
【図６】
2008278214.tif 000010
【図７】
2008278214.tif 000011
【図８】
2008278214.tif 000012
【図９】
2008278214.tif 000013
【図１０】
2008278214.tif 000014