以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図1には本実施形態に係るコンピュータ・システム10の概略構成が示されている。コンピュータ・システム10は、LAN等から成るネットワーク12に、PC(Personal Computer:パーソナル・コンピュータ)等から成る複数台のクライアント端末14と、コンピュータ・システム10に画像(データ)を入力する入力デバイス16と、コンピュータ・システム10から入力された画像データを画像として可視化する出力デバイス18が各々接続されて構成されている。なお、入力デバイス16としては、例えば原稿を読み取って画像データを出力するスキャナが、出力デバイス18としては、例えば入力された画像データが表す画像を用紙へ印刷する画像形成装置(プリンタ、或いはプリンタに複写機やファクシミリ装置としての機能も付加された複合機)が挙げられる。なお、ネットワーク12はインターネット等のコンピュータ・ネットワークにも接続されていてもよい。
ネットワーク12に接続された個々のクライアント端末14は、CPU14A、RAM等から成るメモリ14B、HDD(Hard Disk Drive:ハードディスクドライブ)14C、ネットワークインタフェース(I/F)部14Dを備えており、ネットワークI/F部14Dを介してネットワーク12に接続されている。また、クライアント端末14には、出力デバイスの1つである表示装置20、入力手段としてのキーボード22及びマウス24が各々接続されている。なお、スキャナ等の入力デバイス16や画像形成装置等の他の出力デバイス18についても、表示装置20と同様にクライアント端末14に直接接続されていてもよい。例えば入力デバイス16としてはスキャナ以外にデジタルスチルカメラ等が挙げられるが、デジタルスチルカメラ等はクライアント端末14に直接接続される。
また、クライアント端末14のHDD14Cには、OS(Operating System)のプログラム、OS上で動作し入力デバイス16や出力デバイス18を使用する各種のアプリケーション・プログラム、クライアント端末14で次に述べる色変換処理を行うための色変換プログラムが予め各々インストールされており、色変換処理で使用するプロファイル等の色変換条件を登録可能な色変換条件DB(データベース)、色予測モデル及びベースデータも各々記憶されている。
次に本実施形態の作用を説明する。本実施形態に係るクライアント端末14では、或る入力デバイス16から入力された画像データや、或る出力デバイス18における画像の出力に用いた画像データを、別のデバイス(出力デバイス18)における画像の出力に用いる場合に、異なるデバイスで再現、或いは取り込まれる画像の色の見えの差を補正する色変換処理を行う(図2参照)。なお図2では、画像データを入力した入力デバイス16や先に画像の出力を行った出力デバイス18を「第1デバイス」、後に画像の出力を行う出力デバイス18(画像データ出力対象の出力デバイス18)を「第2デバイス」と表記して示している。
図2に示すように、本実施形態に係る色変換処理は、第1色変換、第2色変換、色域変換、第3色変換及び第4色変換の各処理から構成されている。第1デバイスからクライアント端末14へ入力される、或いは第1デバイスにおける画像の出力に用いられた画像データは、当該画像データの個々の画素の色を第1デバイスに依存する色空間(第1デバイス依存色空間:例えば第1デバイスがスキャナやデジタルスチルカメラ、表示装置20等であればRGB色空間)上の色値で表す画像データであり、当該画像データに対し、本実施形態に係る色変換処理では、第1デバイス依存色空間上の色値を、特定のデバイス(装置)に依存しない色空間(第1のデバイス非依存色空間)上の色値上の色値へ変換する第1色変換を行う。なお、以下では第1のデバイス非依存色空間としてはL*a*b*色空間やXYZ色空間等が好適である。
次に、第1色変換を経た画像データに対し、第1のデバイス非依存色空間上の色値を、特定のデバイス(装置)に依存せず色域変換に適した色空間(第2のデバイス非依存色空間)上の色値へ変換する第2色変換を行う。なお、第2のデバイス非依存色空間としては、観察条件の影響を排除した色の見えを表す色空間が好適であり、例えば色の見えモデルであるCIECAM02によって規定される色空間JCh、或いは色空間JChから求まる色空間Jabがより好ましい。なお、色空間Jabの色属性値a,bは、色空間JChの色属性値C,hから生成したac,bcに相当し、色相及び彩度と相互に変換可能な特徴を有している。また、色の見えモデルCIECAM02に代えて色の見えモデルCIECAM97sや、CIECAM02を均等色空間に変更したCAM02−US(Uniform colour spaces based CIECAM02 colour appearance model(p.320-330),M.Ronnier Luo,Guihua Cui,Changiun Li,2006)等を用いてもよい。第2のデバイス非依存色空間は本発明に係る所定の色空間に対応している。
続いて、第2色変換を経た画像データに対し、第1デバイスにおける画像の見えと第2デバイスにおける画像の見えの差(この見えの差は、第1デバイスと第2デバイスの色域の相違に起因する)を補正する色域変換(ガマットマッピングともいう)を行う。なお、本実施形態に係る色域変換の詳細については後述する。
次に、色域変換を経た画像データに対し、第2のデバイス非依存色空間上の色値を、特定のデバイス(装置)に依存しない別の色空間(第3のデバイス非依存色空間:例えばL*a*b*色空間)上の色値へ変換する第3色変換を行う。そして第3色変換を経た画像データに対し、第3のデバイス非依存色空間上の色値を、第2デバイスに依存する色空間(第2デバイス依存色空間:例えば第2デバイスが表示装置20であればRGB色空間、第2デバイスが画像形成装置であればCMYK色空間)上の色値へ変換する第4色変換を行う。上述した各処理から成る色変換処理によって得られた画像データを第2デバイスへ出力し、第2デバイスにおける画像の出力に供することで、第2デバイスによって出力される画像の色の見えを第1デバイスと一致させることができる。
なお、クライアント端末14のHDD14Cにインストールされている色変換プログラムには、上述した色変換処理を構成する各処理を行うためのプログラム(第1色変換を行うための第1色変換プログラム、第2色変換を行うための第2色変換プログラム、色域変換を行うための色域変換プログラム、第3色変換を行うための第3色変換プログラム、及び、第4色変換を行うための第4色変換プログラム)が各々付加されており、上記の色変換処理は、色変換プログラムに付加されている第1色変換プログラム、第2色変換プログラム、色域変換プログラム、第3色変換プログラム及び第4色変換プログラムを順に呼び出し、各処理を順に行わせることによって成される。なお、図1では色変換プログラムをOSのプログラムと別に示しているが、色変換プログラムはOS標準のプログラムとしてOSのプログラムに含まれていてもよい。また、上記の各プログラムのうちの色域変換プログラムは本発明に係る色処理プログラムに対応している。
上述した色変換処理のうち、第2色変換及び第3色変換については色変換が定式化されており、単に入力色値を色変換式に代入して出力色値を演算することによって色変換が成されるが、第1色変換、第4色変換及び色域変換については、必要に応じて変換条件を生成して変換を行う必要がある。以下、まず第1色変換及び第4色変換の詳細について説明する。
第1色変換及び第4色変換は、入力色値を出力色値へ変換する変換データ(プロファイル)をCLUT(カラールックアップテーブル)にセットし、当該CLUTに変換対象の画像データ(各画素の色を入力色値で表す画像データ)を順次入力することによって成される。より高精度に色値を変換するに、階調テーブルやガンマ曲線を付加した、例えば1次元ルックアップテーブルをCLUTとは別の前処理や後処理に加えるとよい。更に、その情報を含めてCLUTを作成してもよい。ここで、プロファイルの生成方法としては、図3の(1)に示すような、入力色値及び出力色値の一方が既知の各色のパッチ(色票)を生成し(例えば第2デバイスとしての画像形成装置へ画像データを出力する際の第4色変換用のプロファイルを生成する場合、色票の生成は出力色値が既知の色票をプリンタによって印刷させることによって成され、第2デバイスとしてのディスプレイへ画像データを出力する際の第4色変換用のプロファイルを生成する場合には、色票の生成は出力色値が既知の色票をディスプレイに表示させることによって成される)、生成した各色票について、入力色値及び出力色値のうちの未知の色値を測色計等によって各々計測することで、各色票毎に入力色値と出力色値とを対応付けるデータを求め、このデータをプロファイルとして用いる方法が知られている。
しかし、上記の生成方法では膨大な数(CLUTの格子点数と同数)の色票を形成し、かつ膨大な数の色票について入力色値又は出力色値を計測する必要があるので、プロファイルの生成に多大な手間がかかるという問題がある。このため、プロファイルの別の生成方法として色予測モデルを用いる方法も利用されている。色予測モデルは、より少数の入力色値と出力色値の対応関係を表すベースデータに基づいて、対応する出力色値が未知の入力色値が入力されると、入力された入力色値に対応する出力色値を各種のアルゴリズムによって推定演算して出力するプログラムである。色予測モデルを用いたプロファイルの生成は、色票から直接プロファイルを生成する場合よりも少数の色票(入力色値又は出力色値が既知の色票)を生成し(図3の(1)も参照)、生成した各色票について入力色値及び出力色値のうちの未知の色値を計測することで、各色票の入力色値と出力色値を対応付けるベースデータを生成する(図3の(2)も参照)。次に、このベースデータを色予測モデルにセットし(図3の(4)も参照)、各入力色値を色予測モデルに順に入力し、色予測モデルから順に出力される出力色値を入力した入力色値と対応付けることで、プロファイルを生成する(図3の(5)参照)。そして、生成したプロファイルをCLUTに設定する(図3の(6)も参照)ことで、当該CLUTで色変換(第1色変換又は第4色変換)を行うことが可能となる。
色予測モデルを用いたプロファイルの生成では、色票から直接プロファイルを生成する場合と比較して、必要な色票の数を大幅に削減することができるので、プロファイル生成の手間を大幅に削減できる。なお、本実施形態において、第1色変換及び第4色変換の変換条件(プロファイル)の生成方法としては、上述した2種類の生成方法のうちの何れを用いてもよいが、ベースデータ及び色予測モデルを使用する生成方法を用いることが望ましい。
次に、本実施形態に係る色域変換処理について、図4を参照して説明する。なお、この色域変換処理は、クライアント端末14のCPU14Aによって色域変換プログラムが実行されることで実現される。
ステップ50では、第2デバイス依存色空間上での第2デバイスの色域外郭(色再現域の外郭)を構成する点(外郭面上の点)を外郭点群として抽出する。一例として、第2デバイスが画像形成装置である場合の、画像形成装置に依存する色空間(CMYK色空間)での画像形成装置の色域外郭の一例を図5に示す。なお、図5(A)はCMYK色空間での色域外郭の上側部分を、図5(B)は下側部分を各々示し、CMYK色空間での画像形成装置の色域外郭全体は、図5(A)及び(B)に示す立体を合わせた12面の多面体となる。また、ステップ50では、第2デバイスの色域外郭面上の任意の位置の点を外郭点群として抽出することができるが、少なくとも、色域外郭の各頂点に相当する点及び色域外郭の各頂点間を結ぶ辺の上に相当する点を外郭点群として抽出することが望ましい。また、辺の上、或いは頂点や辺以外の面の上から抽出する外郭点の間隔は一定であってもよいし、不均等であってもよい。
ステップ52では、ステップ50で抽出した外郭点群(第2デバイス依存色空間上での第2デバイスの色域外郭を表す外郭点群)の色値を、まず第3のデバイス非依存色空間上での色値へ変換し(第4色変換(図2)の逆変換を行い)、更に第2のデバイス非依存色空間上での色値へ変換する(第3色変換(図2)の逆変換を行う)ことで、第2のデバイス非依存色空間上での第2デバイスの色域(出力色域)の外郭を表す外郭点群を求める。ステップ52の変換を経た外郭点群によって構成される色域外郭(第2のデバイス非依存色空間上での第2デバイスの色域外郭)の一例を図6に示す。なお図6では、色域外郭の各頂点に、図5に示した色域外郭の各頂点のうちの対応する頂点と同一の符号を付して示している。上記処理により、第2のデバイス非依存色空間上での第2デバイスの色域外郭を構成する外郭点群を得ることができる。
次のステップ54では、ステップ52の変換によって得られた外郭点群を頂点として連結し、補間等によって外郭面を生成してポリゴン化(多面体化)することで、第2のデバイス非依存色空間上での第2デバイスの色域外郭を多面体として表す出力色域外郭情報を生成する。これにより、生成した出力色域外郭情報に基づき、例えば第2のデバイス非依存色空間上での第2デバイスの色域外郭の評価、定量化を行ったり、汎用の可視化ツールを利用して第2のデバイス非依存色空間上での第2デバイスの色域外郭を3次元的に可視化する等のように、第2のデバイス非依存色空間上での第2デバイスの色域外郭を種々の用途に利用することも容易となる。
なお、ステップ54における出力色域外郭情報の生成に際しては、例えばステップ52の変換によって得られた外郭点群のうち、目的とする利用に適した外郭点を選択的に抽出し、抽出した一部の外郭点群のみで連結し、補間等によって外郭面を生成することで、出力色域外郭情報を生成するようにしてもよい。また、出力色域外郭情報を事前に生成してHDD14Cに記憶しておき、これを単に読み出すことで出力色域外郭情報を取得するようにしてもよい。上記の出力色域外郭情報は本発明に係る出力色域情報に対応している。
次のステップ56では、第2のデバイス非依存色空間上での第1デバイス(図2参照)の色域外郭(入力色域外郭)を表す入力色域外郭情報を取得する。入力色域外郭情報は、例えば上述したステップ50〜ステップ54と同様に、第1デバイス依存色空間上での第1デバイスの色域外郭を構成する外郭点群を抽出し、抽出した外郭点群の色値を、第2のデバイス非依存色空間上の色値へ変換することで、第2のデバイス非依存色空間上での第1デバイスの色域外郭を表す外郭点群を求め、求めた外郭点群を頂点として連結し、補間等によって外郭面を生成してポリゴン化(多面体化)することで生成することができる。また、入力色域外郭情報を事前に生成してHDD14Cに記憶しておき、これを単に読み出すことで取得するようにしてもよい。
次のステップ58では、ステップ56で取得した入力色域外郭情報に基づき、第2のデバイス非依存色空間上で入力色域内の互いに異なる位置に位置している多数の点のデータを変換条件生成用の入力データ群として生成する。次のステップ60では、今回の色域変換に対する制約条件を取得する。この制約条件の取得は、例えば、制約条件の複数の選択肢が明示されると共に、何れかの選択肢の選択を要請するメッセージが明示された制約条件選択画面を表示装置20に表示させ、キーボード22又はマウス24を介して何れかの選択肢を選択する操作が利用者によって行われると、利用者によって選択された選択肢(制約条件)を判断する処理を行うことで実現できる。また、キーボード22又はマウス24を介して何れかの選択肢を選択する操作が利用者によって事前に行われ、事前に選択された選択肢(制約条件)を表す情報がHDD14Cに記憶されている場合には、当該情報をHDD14Cから読み出すことで制約条件を取得することができる。なお、上記態様におけるキーボード22及びマウス24は本発明に係る設定手段に対応している。
ステップ60で制約条件を取得すると、次のステップ62では取得した制約条件(今回の色域変換に対する制約条件)を判定し、判定結果に応じて分岐する。本実施形態では、色域変換に対する制約条件として「入力色再現重視」と「出力色再現重視」の2つが設けられており、今回の色域変換に対する制約条件が「入力色再現重視」であればステップ64へ移行して入力色再現重視の前処理を行い、今回の色域変換に対する制約条件が「出力色再現重視」であればステップ66へ移行して出力色再現重視の前処理を行う。以下、まず図7を参照して入力色再現重視の前処理について説明する。
入力色再現重視の前処理では、まずステップ80において、色域変換処理(図4)のステップ58で生成された変換条件生成用の入力色値群から、第2デバイス依存色空間を規定する基準色(プライマリ)及びその補色(セカンダリ)の何れかの飽和色の色値を、以下の処理で用いる基準入力色の色値として抽出する。例えば第2デバイスが画像形成装置であり、第2デバイス依存色空間はCMYK色空間である場合、基準色(プライマリ)はC,M,Y,K、その補色(セカンダリ)はR,G,Bとなり、ステップ80ではC,M,Y,K,R,G,Bの何れかの飽和色の色値が基準入力色の色値として抽出される。なお、第2デバイス依存色空間を規定する基準色及びその補色に代えて、第1デバイス依存色空間を規定する基準色及びその補色を用いてもよい。上記の基準入力色は本発明に係る所定の色に対応している。
ステップ82では、出力色域外郭情報に基づいて、ステップ80で抽出した基準入力色と同一色相の出力色域の等色相面(CUSP:例として図8(A)も参照)を抽出する。次のステップ84では、ステップ82で抽出した基準入力色と同一色相の出力色域の等色相面の外郭上の色値のうち、ステップ80で抽出した基準入力色との距離が最小の色値(請求項5に記載の第1の色値に相当する色値:図8(A)に示す「基準入力色との距離最小の色(minJC)」も参照)を、基準入力色の出力対応色の色値として設定する。
なお、出力対応色は上記に限られるものではなく、ステップ82で抽出した等色相面の外郭上で基準入力色と等明度の色値を求め、前記等色相面の外郭上でかつ等明度の色値からの距離が閾値以内の色値(請求項5に記載の第2の色値に相当する色値:図8(A)に示す「等明度の色からの距離が閾値以内の色」も参照)を、基準入力色の出力対応色の色値として設定するようにしてもよい。
また、基準入力色と同一色相の出力色域の等色相面の抽出(ステップ82)を行うことなく、第2のデバイス非依存色空間上で出力色域の外郭上に位置し、かつ第2のデバイス非依存色空間上での基準入力色とのベクトル距離(このベクトル距離としては、色差、或いは第2のデバイス非依存色空間上での距離を表す所定の評価関数の値等を適用することができる)が最小の色値(請求項5に記載の第3の色値に相当する色値)を求め当該色値を基準入力色の出力対応色の色値として設定するようにしてもよい。
また、基準入力色の出力対応色として、上記の第1〜第3の色値(「出力色域の外郭上でかつ基準入力色と等色相の色値のうち第2のデバイス非依存色空間上での距離が最小の第1の色値」又は「出力色域の外郭上でかつ基準入力色と等色相かつ等明度の色値からの第2のデバイス非依存色空間上での距離が閾値以内で、出力色域の外郭上でかつ基準入力色と等色相の第2の色値」又は「出力色域の外郭上でかつ基準入力色との第2のデバイス非依存色空間上でのベクトル距離が最小の第3の色値」)を各々頂点とする第2のデバイス非依存色空間上の三角形状の色範囲内の任意の色値(請求項5に記載の「三角形状の色範囲内の色値」に相当する色値)を適用してもよい。当該色値としては、例えば第1〜第3の色値のうち第2のデバイス非依存色空間上での任意の2つの色値(例えば第1、第2の色値)を結ぶ線上の値(例えば2つの色値の平均に相当する色値)や、第1〜第3の色値を用いて求めた前記三角形状の色範囲内の任意の位置に位置する色値(例えば第1〜第3の色値の平均に相当する色値)が挙げられる。
更に、基準入力色の出力対応色として、上記の第1〜第3の色値及び前記三角形状の色範囲内の色値の何れを用いるのかを、基準入力色の色値(例えば色相)に応じて切り替えるようにしてもよい。この態様は請求項7記載の発明に対応している。これにより、基準入力色の出力対応色の色値を、基準入力色の色値(の色相等)に応じて最適化することが可能となる。基準入力色の色値に応じて基準入力色の出力対応色をどのように切り替えるかについては、例えば実験等を行った結果に基づいて事前に決めておけばよいが、少なくとも基準入力色がCIEL*a*b*色空間においてb*<0となる範囲内の色相である場合は、基準入力色の出力対応色として第3の色値を用いることが望ましい。
また、基準入力色の出力対応色の設定にあたり、少なくとも、上記のように第3の色値を用いるか、又はその可能性がある場合(すなわち、入力色再現重視の前処理において、基準入力色の出力対応色として第3の色値を固定的に用いる場合、基準入力色の出力対応色の切り替えの選択肢の中に第3の色値が含まれている場合、及び、第3の色値を含む複数の色値に基づいて求めた前記三角形状の色範囲内の色値を基準入力色の出力対応色として用いる可能性がある場合)には、本実施形態に係る色域変換処理を行う前に、変換条件の生成に用いる画像データ(例えば変換条件生成用の入力色値群)に対し、当該画像データの色値(少なくとも明度)を出力色域又は画像出力条件に応じて調整するレンジ調整処理を行っておき、出力対象の画像データの変換に用いる色域変換条件(統合変換条件)にも同一のレンジ調整処理を組み込むことが望ましい。
上記のレンジ調整処理は、例えば変換条件の生成に用いる画像データの明度の最大値、最小値が第2のデバイス非依存色空間上の出力色域における明度の最大値、最小値と一致するように変換条件の生成に用いる画像データの色値を調整する処理であってもよいし、例えば本実施形態に係る出力デバイス18(第2デバイス)が画像形成装置であり、色変換処理(第1色変換、第2色変換、色域変換、第3色変換及び第4色変換)を経て得られた画像データが、所定の用紙への画像の記録に用いられる場合に、変換条件の生成に用いる画像データにおける白が所定の用紙の色(下地色)と一致するように、変換条件の生成に用いる画像データの色値を調整する処理(当該色値の調整はCIEXYZ色空間上で行うことが適当である)であってもよい。また、上記のレンジ調整処理は、第1色変換又は第2色変換と同時に行ってもよいし、本実施形態に係る色域変換処理(図4)の途中で行ってもよい。上記のレンジ調整処理は請求項9記載の発明に対応しており、変換条件の生成に用いる画像データに対して上記のレンジ調整処理を行っておくことで、より適正な色域変換を実現できる変換条件を得ることができる。
またステップ86では、ステップ84で求めた出力対応色に対し、後述する色域変換条件の設定(マッピング)時に適用する変換ルールと逆の変換ルールを適用して変換を行う(色域変換条件の設定時に適用する変換ルールを適用した変換(色域変換)の逆変換(請求項4に記載の逆変換に相当)を行う)ことで、基準入力色の入力対応色(図8(B)も参照)の色値を求める。そしてステップ88では、基準入力色とステップ86で求めた入力対応色のとベクトル距離(図8(B)も参照)を演算し、算出されたベクトル距離を基準入力色及び入力対応色の色値と対応付けてHDD14Cに記憶させる。次のステップ90では、全ての基準色及びその補色の飽和色について、上述したステップ80〜88の処理を各々行ったか否か判定する。判定が否定された場合はステップ80に戻り、ステップ90の判定が肯定される迄ステップ80〜ステップ90を繰り返す。これにより、全ての基準色及びその補色の飽和色を各々基準入力色として、出力対応色及び入力対応色が各々設定されると共に、入力対応色とのベクトル距離が各々演算・記憶される。
後述するように、色域変換に対する制約条件として「入力色再現重視」が選択された場合、基準入力色に対しては、色値をステップ86で求めた入力対応色の色値へ変更する前処理が行われるが、先に述べたように、入力対応色はステップ84で求めた出力対応色に対して色域変換の逆変換を行うことで求めているので、基準入力色は、前処理により、色域変換を経て出力対応色へ変換される色値(入力対応色)へ変更される。また、ステップ84で出力対応色として求めた色値(請求項5に記載の第1の色値に相当する色値又は第2の色値に相当する色値)は、何れも基準入力色と同一色相で、基準入力色との明度及び彩度の差も小さく、かつ出力色域の外郭上に位置している色値であるので、「入力色再現重視」の制約条件を満足する色値であり、基準入力色が前処理を経て入力対応色へ変更され、更に、色域変換を経て出力対応色へ変換されることで、基準入力色について、「入力色再現重視」の制約条件も満足する色域変換が行われることになる。
なお、変換条件生成用の入力色値群のうち、第2デバイス依存色空間を規定する基準色及びその補色の何れかの飽和色の色値(基準入力色の色値)は、多くの場合、第2のデバイス非依存色空間上で出力色域から逸脱しているものの、第2のデバイス非依存色空間上で当初より出力色域内に収まっている場合もある。そして、第2のデバイス非依存色空間上で当初より出力色域内に収まっている基準入力色について、上記のように出力対応色及び入力対応色を順に求め、前記基準入力色と入力対応色とのベクトル距離に応じて前記基準入力色及びその周辺の色領域内の色の色値を変更する前処理を行い、更に色域変換を行ったとすると、前記基準入力色が出力対応色へ変換され、基準入力色の周辺の色領域内の色がそれに準じた色へ変換されることで、前記基準入力色の周辺の色域が前処理によって不自然に拡大され、適正な色再現が得られないという問題がある。
これを考慮すると、上述したステップ80〜90の処理において、例えばステップ80で変換条件生成用の入力色値群から第2デバイス依存色空間を規定する基準色及びその補色の何れかの飽和色の色値を基準入力色の色値として抽出した後に、抽出した基準入力色の色値が第2のデバイス非依存色空間上で出力色域内に収まっているか否かを判定し、判定が否定された場合(基準入力色の色値が出力色域内に収まっていない場合)は次のステップ82以降の処理を行う一方、前記判定が肯定された場合には、基準入力色の入力対応色の色値として基準入力色の色値をそのまま設定すると共に、基準入力色と入力対応色とのベクトル距離を0に設定し、これらを対応付けてHDD14Cに記憶させた後に、ステップ82〜ステップ88をスキップしてステップ90の判定を行うように構成することが好ましい。これにより、第2のデバイス非依存色空間上での色値が出力色域内に収まっている基準入力色及びその周辺の色域に対しては実質的に前処理が行われないので、前処理によって前記色域が不自然に拡大されたりすることなく前記色域が保存され、前記基準入力色及びその周辺の色領域内の色を適正に再現することができる。
また、基準入力色の色値が第2のデバイス非依存色空間上で出力色域内に収まっている場合に、ステップ82、84の代りに、基準入力色の出力対応色の色値として基準入力色の色値をそのまま設定する処理を行った後にステップ86へ移行し、基準入力色の入力対応色の設定、ベクトル距離の演算等の処理を行うようにしてもよい。この場合、第2のデバイス非依存色空間上での色値が出力色域内に収まっている基準入力色及びその周辺の色域に対しては、前処理に加えて色域変換も実質的に行われないことになり、前記基準入力色及びその周辺の色領域内の色を適正に再現することができる。なお、上記事項は請求項12記載の発明に対応している。
ステップ90の判定が肯定されるとステップ92へ移行し、色域変換処理(図4)のステップ58で生成された変換条件生成用の入力色値群から、基準入力色として抽出していない入力色値(全ての基準色及びその補色の飽和色以外の色の色値)を1つ取り出す。次のステップ94では、ステップ92で取り出した入力色値が、先に基準入力色として抽出した複数の色値の何れかと等色相か否か判定する。
ステップ94の判定が肯定された場合はステップ96へ移行し、ステップ92で取り出した入力色値と等色相の色値(等色相の基準入力色)とその入力対応色とのベクトル距離D0をHDD14Cから読み出し、読み出したベクトル距離に、等色相の基準入力色の彩度C0に対する入力色値の彩度Cの比率を乗ずることで、入力色値とその入力対応色とのベクトル距離Dを演算し(次式参照)、演算したベクトル距離に基づいて入力色値の入力対応色の色値を演算し、ステップ104へ移行する。
D=D0×(C/C0)
これにより、変換条件生成用の入力色値群から取り出した入力色値のうち、基準入力色として抽出した複数の色値の何れかと等色相の入力色値については、当該入力色値に対し、基準入力色とその入力対応色とのベクトル距離を、基準入力色と前記入力色値との彩度の比率に応じて減じたベクトル距離(例として図8(B)に示す「入力色値と入力対応色のベクトル距離」も参照)を有する色値が入力対応色として演算・設定される。
一方、先に基準入力色として抽出した複数の色値の中にステップ92で取り出した入力色値と等色相の色値が存在していない場合は、ステップ94の判定が指定されてステップ98へ移行する。なお、以下では便宜上、基準入力色として抽出した複数の色値のうち、図8(C)に示すように、第2のデバイス非依存色空間の明度軸を中心とする時計回りで入力色値の色相と最も近い色相の色値(請求項10に記載の第1の所定の色に相当する色値)を第1の基準入力色と称し、前記明度軸を中心とする反時計回りで入力色値の色相と最も近い色相の色値(請求項10に記載の第2の所定の色に相当する色値)を第2の基準入力色と称する。
ステップ98では、基準入力色として抽出した複数の色値のうち、上記の第1の基準入力色に該当する色値を判断し、前述のステップ96と同様に、判断した第1の基準入力色とその入力対応色とのベクトル距離をHDD14Cから読み出し、読み出したベクトル距離に、第1の基準入力色の彩度に対する入力色値の彩度の比率を乗ずることで、入力色値と第1の入力対応色とのベクトル距離を演算し、演算したベクトル距離に基づいて入力色値の第1の入力対応色の色値を演算する。また次のステップ100では、ステップ98と同様に、基準入力色として抽出した複数の色値のうち第2の基準入力色に該当する色値を判断し、判断した第2の基準入力色とその入力対応色とのベクトル距離をHDD14Cから読み出し、読み出したベクトル距離に、第2の基準入力色の彩度に対する入力色値の彩度の比率を乗ずることで、入力色値と第2の入力対応色とのベクトル距離を演算し、演算したベクトル距離に基づいて入力色値の第2の入力対応色の色値を演算する。
そしてステップ102では、ステップ98で演算した第1の入力対応色の色値と、ステップ100で演算した第2の入力対応色の色値の加重平均に相当する色(図8(C)に示す平面Pとの交点に相当する色)を、入力色値の入力対応色の色値として演算し、ステップ104へ移行する。なお、加重平均における重みとしては、入力色値と第1の入力対応色の色相差と、入力色値と第2の入力対応色の色相差の比率を用いることができる。これにより、変換条件生成用の入力色値群から取り出した入力色値のうち、基準入力色として抽出した複数の色値の中に等色相の色値が存在していない入力色値については、第1の基準入力色とその入力対応色とのベクトル距離を第1の基準入力色と入力色値との彩度の比率に応じて減じたベクトル距離と、第2の基準入力色とその入力対応色とのベクトル距離を第2の基準入力色と入力色値との彩度の比率に応じて減じたベクトル距離の加重平均に相当するベクトル距離(例として図8(C)に示す「入力色値と入力対応色のベクトル距離」も参照)に基づいて、入力対応色の色値が演算・設定される。
ステップ104では、変換条件生成用の入力色値群のうち基準入力色以外の全ての入力色値に対してステップ92以降の処理を行ったか否か判定する。判定が否定された場合はステップ92に戻り、ステップ104の判定が肯定される迄ステップ92〜ステップ104を繰り返す。これにより、変換条件生成用の入力色値群のうち基準入力色以外の全ての入力色値に対し、ステップ96又はステップ98〜ステップ102で入力対応色の色値が各々演算される。
このように、基準入力色以外の入力色値については、出力対応色を演算することなく入力対応色の色値が演算されるが、基準入力色以外の入力色値のうち、等色相の基準入力色が存在する入力色値の入力対応色については、等色相の基準入力色とその入力対応色の関係(ベクトル距離)に基づいて色値が演算され、等色相の基準入力色が存在していない入力色値については、当該入力色値と色相が近似する第1の基準入力色とその入力対応色の関係(ベクトル距離)及び前記入力色値と色相が近似する第2の基準入力色とその入力対応色の関係(ベクトル距離)に基づいて入力対応色の色値が演算されるので、基準入力色以外の入力色値の入力対応色として、色域変換により、基準入力色の色域変換後の色値(出力対応色の色値)との間にギャップ等が生じることがなく、同時に「入力色再現重視」の制約条件も満足する適正な色値へ変換されると推定される色値を得ることができる。
変換条件生成用の入力色値群を構成する全ての入力色値について入力対応色の色値が演算・設定されることで、入力対応色の色値群が得られると、ステップ104の判定が肯定され、入力色再現重視の前処理を終了して色域変換処理(図4)のステップ68へ移行する。なお、上述した入力色再現重視の前処理(図7)によって個々の入力色値毎に得られる入力対応色の色値は、個々の入力色値に対して「入力色再現重視」の制約条件を満足するように前処理を行った場合の変更後の値に相当し、個々の入力色値と対応する入力対応色の色値を対応付ける条件は請求項2に記載の「前処理条件」に相当する。
次に図9を参照し、出力色再現重視の前処理について説明する。出力色再現重視の前処理では、まずステップ120において、変換条件生成用の入力色値群から、第2デバイス依存色空間を規定する基準色及びその補色の何れかの飽和色の色値を基準入力色の色値として抽出する。次のステップ122では、ステップ120で抽出した基準入力色に対応する出力側の飽和色の色値(例えば基準入力色がY、第2デバイスが画像形成装置であれば、基準入力色に対応する出力色域側の飽和色の色値は出力色域におけるYの飽和色の色値、すなわちYの色材(トナーやインク等)のみによって形成可能な最大濃度の色に対応する色値となる)を抽出する。またステップ124では、ステップ120で抽出した基準入力色の色値を、入力色の色値として設定する。
次のステップ126では、出力色域外郭情報に基づいて、先に色値を設定した入力色と同一色相の出力色域の等色相面(CUSP:図8(A)も参照)を抽出する。次のステップ128では、ステップ126で抽出した入力色と同一色相の出力色域の等色相面の外郭上の色値のうち、入力色との距離が最小の色値(請求項6に記載の第4の色値の候補となる色値:図8(A)に示す「基準入力色との距離最小の色(minJC)」も参照)を、基準入力色の仮の出力対応色の色値として設定する。なお、基準入力色の仮の出力対応色は上記に限られるものではなく、ステップ126で抽出した等色相面の外郭上で入力色と等明度の色値を求め、前記等色相面の外郭上でかつ等明度の色値からの距離が閾値以内の色値(請求項6に記載の第5の色値の候補となる色値:図8(A)に示す「等明度の色からの距離が閾値以内の色」も参照)を、基準入力色の仮の出力対応色の色値として設定するようにしてもよい。
ステップ130では、ステップ128で設定した基準入力色の仮の出力対応色の色値と、ステップ122で抽出した出力側の飽和色の色値との彩度差が閾値以下か否か判定する。なお、先のステップ128において、基準入力色の第1の仮の出力対応色として入力色との距離が最小の色値を演算すると共に、基準入力色の第2の仮の出力対応色として、等色相面の外郭上で入力色と等明度の色値からの距離が閾値以内で、かつ等色相面の外郭上の色値を演算し、第1の仮の出力対応色及び第2の仮の出力対応色のうち、出力側の飽和色との彩度差がより小さい仮の出力対応色を用いてステップ130の判定を行うようにしてもよい。
上記判定が否定された場合はステップ132へ移行し、入力色の色相が出力側の飽和色に近づく方向へ一定量変化する(但し、明度及び彩度は基準入力色と同一)ように、入力色の色値を変更した後にステップ126へ戻る。これにより、ステップ130の判定が肯定される迄ステップ126〜ステップ132が繰り返される。そして、ステップ130の判定が肯定されるとステップ134へ移行し、現在の仮の出力対応色の色値を、基準入力色の出力対応色の色値に設定する。
なお、基準入力色の出力対応色の設定にあたり、上記のステップ126〜ステップ132に代えて、先に説明した第3の色値と同様に、第2のデバイス非依存色空間上で出力色域の外郭上に位置し、かつ第2のデバイス非依存色空間上での基準入力色とのベクトル距離が最小の色値(請求項6に記載の第6の色値に相当する色値)を求め当該色値を基準入力色の出力対応色の色値として設定するようにしてもよい。
また、基準入力色の出力対応色として、上記の第4〜第6の色値(「出力色域の外郭上のうち、基準入力色に対応する出力色域側の色の色値との彩度差が閾値以内かつ基準入力色の色値の色相になるべく近い色相で、等色相面内に存在し基準入力色の色値と明度及び彩度が同一の色値との第2のデバイス非依存色空間上での距離が最小の第4の色値」又は「出力色域の外郭上のうち、基準入力色に対応する出力色域側の色の色値との彩度差が閾値以内かつ基準入力色の色値の色相になるべく近い色相で、等色相面内の出力色域の外郭上に存在し基準入力色の色値と等明度の基準色値からの第2のデバイス非依存色空間上での距離が閾値以内の第5の色値」又は「出力色域の外郭上でかつ基準入力色との第2のデバイス非依存色空間上でのベクトル距離が最小の第6の色値」)を各々頂点とする第2のデバイス非依存色空間上の三角形状の色範囲内の任意の色値(請求項6に記載の「三角形状の色範囲内の色値」に相当する色値)を適用してもよい。当該色値としては、例えば第4〜第6の色値のうち第2のデバイス非依存色空間上での任意の2つの色値(例えば第4、第5の色値)を結ぶ線上の値(例えば2つの色値の平均に相当する色値)や、第4〜第6の色値を用いて求めた前記三角形状の色範囲内の任意の位置に位置する色値(例えば第4〜第6の色値の平均に相当する色値)が挙げられる。
更に、基準入力色の出力対応色として、上記の第4〜第6の色値及び前記三角形状の色範囲内の色値の何れを用いるのかを、基準入力色の色値(例えば色相)に応じて切り替えるようにしてもよい。この態様も請求項7記載の発明に対応している。これにより、基準入力色の出力対応色の色値を、基準入力色の色値(の色相等)に応じて最適化することが可能となる。基準入力色の色値に応じて基準入力色の出力対応色をどのように切り替えるかについては、例えば実験等を行った結果に基づいて事前に決めておけばよいが、少なくとも基準入力色がCIEL*a*b*色空間においてb*<0となる範囲内の色相である場合は、基準入力色の出力対応色として第6の色値を用いることが望ましい。
また、基準入力色の出力対応色の設定にあたり、少なくとも、上記のように第6の色値を用いるか、又はその可能性がある場合(すなわち、出力色再現重視の前処理において、基準入力色の出力対応色として第6の色値を固定的に用いる場合、基準入力色の出力対応色の切り替えの選択肢の中に第6の色値が含まれている場合、及び、第6の色値を含む複数の色値に基づいて求めた前記三角形状の色範囲内の色値を基準入力色の出力対応色として用いる可能性がある場合)にも、本実施形態に係る色域変換処理を行う前に、変換条件の生成に用いる画像データ(例えば変換条件生成用の入力色値群)に対し、前述したレンジ調整処理を行っておき、出力対象の画像データの変換に用いる色域変換条件(統合変換条件)にも同一のレンジ調整処理を組み込むことが望ましい。このレンジ調整処理も請求項9記載の発明に対応しており、変換条件の生成に用いる画像データに対して上記のレンジ調整処理を行っておくことで、より適正な色域変換を実現できる変換条件を得ることができる。
またステップ136では、ステップ134で設定した出力対応色に対し、色域変換条件設定時に適用する変換ルールと逆の変換ルールを適用して変換を行うことで、基準入力色の入力対応色の色値を求める。そしてステップ138では、基準入力色とステップ136で設定した入力対応色とのベクトル距離を演算し、算出されたベクトル距離を基準入力色及び入力対応色の色値と対応付けてHDD14Cに記憶させる。次のステップ140では、全ての基準色及びその補色の飽和色について、上述したステップ120〜138の処理を各々行ったか否か判定する。判定が否定された場合はステップ120に戻り、ステップ140の判定が肯定される迄ステップ120〜ステップ140を繰り返す。これにより、全ての基準色及びその補色の飽和色を各々基準入力色として、出力対応色及び入力対応色が各々設定されると共に、入力対応色とのベクトル距離が各々演算・記憶される。
色域変換に対する制約条件として「出力色再現重視」が選択された場合、基準入力色に対しては、色値をステップ136で設定した入力対応色の色値へ変更する前処理が行われるが、入力対応色はステップ134で設定した出力対応色に対して色域変換の逆変換を行うことで求めているので、基準入力色は、前処理により、色域変換を経てステップ134で設定した出力対応色へ変換される色値(入力対応色)へ変更される。また、ステップ134で出力対応色として設定される色値(請求項6に記載の第1の色値に相当する色値又は第2の色値に相当する色値)は、基準入力色と明度及び彩度の差が小さく、また、基準入力色と等色相を入力色の初期色相とし、ステップ130の判定が肯定される迄入力色の色相を出力側の飽和色へ徐々に近づけている関係上、基準入力色の色相になるべく近い色相である一方で、出力側の飽和色との彩度差が閾値以内でかつ出力色域の外郭上に位置している色値であるので、入力色再現重視の前処理で設定される入力対応色と比較して、出力の色再現を重視した色値となっている。このため、基準入力色が前処理を経てステップ136で設定された入力対応色へ変更され、更に、色域変換を経てステップ136で設定された出力対応色へ変換されることで、基準入力色について、「出力色再現重視」の制約条件も満足する色域変換が行われることになる。
なお、この出力色再現重視の前処理のステップ120〜140の処理においても、例えばステップ126の処理を行う前に、ステップ124で入力色の色値として設定した基準入力色の色値が第2のデバイス非依存色空間上で出力色域内に収まっているか否かを判定し、判定が否定された場合(基準入力色の色値が出力色域内に収まっていない場合)は次のステップ126以降の処理を行う一方、前記判定が肯定された場合には、基準入力色の入力対応色の色値として基準入力色の色値をそのまま設定すると共に、基準入力色と入力対応色とのベクトル距離を0に設定し、これらを対応付けてHDD14Cに記憶させた後に、ステップ126〜ステップ138をスキップしてステップ140の判定を行うように構成することが好ましい。これにより、第2のデバイス非依存色空間上での色値が出力色域内に収まっている基準入力色及びその周辺の色域に対しては実質的に前処理が行われないので、前処理によって前記色域が不自然に拡大されたりすることなく前記色域が保存され、前記基準入力色及びその周辺の色領域内の色を適正に再現することができる。
また、基準入力色の色値が第2のデバイス非依存色空間上で出力色域内に収まっている場合に、ステップ126〜ステップ134の代りに、基準入力色の出力対応色の色値として基準入力色の色値をそのまま設定する処理を行った後にステップ136へ移行し、基準入力色の入力対応色の設定、ベクトル距離の演算等の処理を行うようにしてもよい。この場合、第2のデバイス非依存色空間上での色値が出力色域内に収まっている基準入力色及びその周辺の色域に対しては、前処理に加えて色域変換も実質的に行われないことになり、前記基準入力色及びその周辺の色領域内の色を適正に再現することができる。なお、上記事項も請求項12記載の発明に対応している。
また、ステップ140の判定が肯定されるとステップ142へ移行し、変換条件生成用の入力色値群から、基準入力色として未抽出の入力色値を1つ取り出す。次のステップ144では、ステップ142で取り出した入力色値が、第2のデバイス非依存色空間上で出力色域外に位置しているか否かを判定する。この判定は、例えば図10に示すように、出力色域外郭情報に基づいて、入力色値を含む出力色域の等色相面(CUSP)を抽出し、抽出した等色相面における彩度が最大の外郭点を判断し、当該外郭点と明度が等しくかつ明度軸上の色値を基準アンカーに設定し、入力色値と基準アンカーを結ぶ直線が出力色域の外郭と交差しているか否かを判断することで行うことができるが、上記以外の判定方法を用いてもよい。
ステップ142で取り出した入力色値が出力色域内に位置している場合は、ステップ144の判定が否定されてステップ146へ移行し、入力色値の入力対応色の色値として入力色値をそのまま設定し、ステップ158へ移行する。これにより、入力色値群中の基準入力色以外の入力色値のうち、第2のデバイス非依存色空間上で出力色域内に位置している色値に対しては、実質的に前処理(色値の変更)は行われず(図11に示す「入力色値の変更無し」も参照)、色域変換のみが行われるので、出力の色再現がより重視されるように色域変換が行われることになる。なお、上記のように出力色域内に位置している入力色値を前処理の対象から除外することは請求項11記載の発明に対応している。
一方、ステップ142で取り出した入力色値が出力色域外(図11にハッチングで示す「変更有り」の領域内)に位置している場合は、ステップ144の判定が肯定されてステップ148へ移行し、ステップ148〜ステップ156において、入力色再現重視の前処理(図7)のステップ94〜ステップ102と同様に、等色相の基準入力色が存在する入力色値の入力対応色については、等色相の基準入力色とその入力対応色の関係(ベクトル距離)に基づいて色値を演算・設定し、等色相の基準入力色が存在していない入力色値については、当該入力色値と色相が近似する第1の基準入力色とその入力対応色の関係(ベクトル距離)及び前記入力色値と色相が近似する第2の基準入力色とその入力対応色の関係(ベクトル距離)に基づいて入力対応色の色値を演算・設定した後に、ステップ158へ移行する。
ステップ158では、変換条件生成用の入力色値群のうち基準入力色以外の全ての入力色値に対してステップ142以降の処理を行ったか否か判定する。判定が否定された場合はステップ142に戻り、ステップ158の判定が肯定される迄ステップ142〜ステップ158を繰り返す。これにより、変換条件生成用の入力色値群のうち基準入力色以外の全ての入力色値に対して入力対応色の色値が各々設定される。
このように、出力色再現重視の前処理においても、基準入力色以外かつ出力色域外の入力色値については、入力色再現重視の前処理と同様に、出力対応色を演算することなく入力対応色の色値が演算・設定されるが、出力色再現重視の前処理では、入力色値の入力対応色を演算する際に参照される基準入力色の入力対応色として、「出力色再現重視」の制約条件を満足する色値が演算・設定されているので、上記処理により、基準入力色以外の入力色値の入力対応色として、色域変換により、基準入力色の色域変換後の色値(出力対応色の色値)との間にギャップ等が生じることがなく、同時に「出力色再現重視」の制約条件も満足する適正な色値へ変換されると推定される色値を得ることができる。
なお、本実施形態に係る出力色再現重視の前処理では、上記のように、変換条件生成用の入力色値群のうち、第2のデバイス非依存色空間上で出力色域内に位置している入力色値に対しては入力対応色として入力色値をそのまま設定し、第2のデバイス非依存色空間上で出力色域外に位置している入力色値に対しては、等色相の基準入力色とその入力対応色の関係(ベクトル距離)に基づいて入力対応色の色値を演算・設定するか、入力色値と色相が近似する第1の基準入力色とその入力対応色の関係(ベクトル距離)及び入力色値と色相が近似する第2の基準入力色とその入力対応色の関係(ベクトル距離)に基づいて入力対応色の色値を演算・設定しているので、第2のデバイス非依存色空間上での入力色域と出力色域の形状差によっては、本実施形態に係る前処理及び色域変換を経た画像データが表す画像において、第2のデバイス非依存色空間上で出力色域内に位置している入力色値に対応する色と、第2のデバイス非依存色空間上で出力色域外に位置している入力色値に対応する色の間に階調のギャップが生ずる可能性がある。
これを考慮すると、出力色再現重視の前処理において、第2のデバイス非依存色空間上で出力色域外に位置している入力色値の入力対応色の演算(ステップ150又はステップ152〜ステップ156)に際し、入力対応色の明度及び彩度が上記の階調のギャップを抑制できる適度な値となるように演算を制御する(例えば第2のデバイス非依存色空間上での入力色値と出力色域外郭との距離に応じて値が変化する(この変化は線形の変化でも非線形の変化でもよい)補正係数を用いて入力対応色の明度及び彩度を補正する等)か、上記の階調のギャップが抑制されるように入力対応色(の特に色相)を変更する(但し、この入力対応色の変更は出力対応色とのベクトル差が大きい基準入力色及びその周辺の色域内の色値に限ることが望ましい)ようにしてもよい。
変換条件生成用の入力色値群を構成する全ての入力色値について入力対応色の色値の(演算及び)設定が行われることで、入力対応色の色値群が得られると、ステップ158の判定が肯定され、出力色再現重視の前処理を終了して色域変換処理(図4)のステップ68へ移行する。なお、上述した出力色再現重視の前処理(図9)によって個々の入力色値毎に得られる入力対応色の色値は、個々の入力色値に対して「出力色再現重視」の制約条件を満足するように前処理を行った場合の変更後の値に相当し、個々の入力色値と対応する入力対応色の色値を対応付ける条件は請求項2に記載の「前処理条件」に相当する。
入力色再現重視の前処理(図7)又は出力色再現重視の前処理(図9)が終了すると、色域変換処理(図4)のステップ68では、出力色域外郭情報に基づき、入力色再現重視の前処理又は出力色再現重視の前処理によって得られた入力対応色の色値群から入力対応色の色値を1つずつ順に取り出し、取り出した入力対応色の色値に色域変換条件生成のための所定の変換ルールを適用し、第2のデバイス非依存色空間上での位置が出力色域外郭情報が表す出力色域外郭内となるように変換し、変換条件生成用の出力色値を求めることを、全ての入力対応色の色値に対して順に行うことで、変換条件生成用の出力データ群を生成する。これにより、入力対応色の色値を出力色値へ変換する色域変換条件が設定される。
なお、上記の変換ルールとしては、色域変換(ガマットマッピング)で公知の変換ルールを用いることができ、例えば出力色域内に位置している色値については、当該色値をそのまま出力色値として用い(入力対応色の色値と出力色値が測色的一致となり)、出力色域外に位置している色値に対しては、出力色域内に収まるように色変換を行って出力色値を求める貼り付け型の変換ルールや、入力色域内の各点の相対的な関係を保存するため全ての入力対応色の色値に対して色変換を行って出力色値を求める圧縮伸張型の変換ルールを用いることができる。また、貼り付け型の変換ルールの中にも、明度が保存されるように、出力色域外の色値を出力色域の外郭に色相と明度を変化させずに投影する手法や、彩度保存のために出力色域外の色値を出力色域の外郭に色相を変化させずに投影する手法があり、何れを用いてもよい。また、圧縮伸張型の変換ルールについても、階調が保存されるように色域変換を行う手法があり、これを適用してもよい。更に、領域毎に異なる変換手法を適用する適応型の変換ルールを用いてもよく、例えば貼り付け型と圧縮伸張型を組み合わせた変換ルールを用いてもよい。
上記のようにして、入力色再現重視の前処理又は出力色再現重視の前処理によって得られた入力対応色の色値群を構成する全ての色値について変換条件生成用の出力色値を各々決定すると、次のステップ70では、入力対応色の色値群の各色値を、先のステップ58で生成した変換条件生成用の元の入力色値群の対応する入力色値に各々置き換え、置き換えた後の入力色値群と、ステップ68で生成した変換条件生成用の出力データ群を対応付け、変換データとしてCLUTにセットする。これにより、変換条件生成用の入力色値から入力対応色の色値への変換(すなわち入力色再現重視又は出力色再現重視の前処理)と、入力対応色の色値から変換条件生成用の出力色値への変換(すなわちステップ68で設定した色域変換条件での色域変換)を同時に行う変換条件が得られ、入力色再現重視又は出力色再現重視の前処理条件とステップ68で設定した色域変換条件を統合した統合変換条件が生成(CLUTにセット)されることになる。
そしてステップ72では、第2デバイスで出力させるべき画像を表し第1色変換及び第2色変換(図2参照)を経た画像データ(入力データ)を、ステップ70で色域変換条件をセットしたCLUTによって変換することで、画像データに対して前処理及び色域変換を同時に行い、色域変換処理を終了する。なお、上述した色域変換処理のうちステップ68〜ステップ72は本発明に係る色域変換手段に対応しており、ステップ72は入力色再現重視の前処理(図7)及び出力色再現重視の前処理(図9)と共に本発明に係る前処理手段にも対応している。
上記のように前処理及び色域変換が行われた画像データは、第3色変換及び第4色変換(図2参照)が順に行われた後に第2デバイスへ出力され、第2デバイスにおける画像の出力に用いられる。これにより、第1デバイスと第2デバイスの色域の相違を主因として生ずる、第1デバイスにおける画像の見えと第2デバイスにおける画像の見えの差が補正される。また、色域変換に対する制約条件として「入力色再現重視」又は「出力色再現重視」が選択(設定)されるが、制約条件が「入力色再現重視」であれば入力色再現重視の前処理を行い、制約条件が「出力色再現重視」であれば出力色再現重視の前処理を行うので、色域変換後の画像データの色域を出力色域に収める、という色域変換本来の目的に加えて、設定された制約条件も満足する色域変換を実現することができる。
また本実施形態では、設定された制約条件に応じた前処理が行われることで、ステップ68における色域変換条件の設定に用いる色値は、選択された制約条件を満足するように変更されている。このため、ステップ68における色域変換条件の設定を実現するアルゴリズムとして、選択された制約条件を満足することを考慮しない(色域変換後の画像データの色域を出力色域に収める、という色域変換本来の目的のみを満足する)一般的なアルゴリズムを用いることができ、制約条件の内容に拘わらずアルゴリズムを変更する必要がなくなる。一方、個々の制約条件に応じた前処理を開発する必要は生ずるものの、制約条件に応じた前処理は、第2デバイス依存色空間を規定する基準色(プライマリ)及びその補色(セカンダリ)の何れかの飽和色の色値(基準入力色)から制約条件を満足する出力対応色を求め、基準入力色を、色域変換によって出力対応色へ変換される色値(入力対応色)へ変更すると共に、基準入力色と入力対応色の関係に応じて基準入力色以外の入力色値を変更する、という比較的簡易な処理で実現できる。従って、設定された制約条件も満足する色域変換を実現するための開発負荷を大幅に低減することができる。
なお、本発明に係る前処理の内容は、上記で説明した入力色再現重視の前処理や出力色再現重視の前処理の内容に限定されるものではない。例えば、上記では入力色再現重視の前処理において、基準入力色の出力対応色及び入力対応色を基準入力色と等色相とする態様を説明したが、これに限定されるものではなく、制約条件が「入力色再現重視」の場合にも、基準入力色に対する色相差が所定値以内という条件下で、基準入力色の出力対応色及び入力対応色の色相を基準入力色に対して変化させるようにしてもよい。
また、上記では入力色再現重視の前処理又は出力色再現重視の前処理により入力色再現重視又は出力色再現重視の前処理条件(を規定する入力対応色の色値群)を求め、入力対応色の色値群を用いて色域変換条件を設定した後に、前処理条件と色域変換条件を統合した統合変換条件を生成し、この統合変換条件に従って画像データを変換することで、前処理と色域変換を同時に行う態様を説明したが、本発明はこれに限定されるものでもなく、設定された制約条件を満足する前処理(入力色値の変更)を行った後に、前処理を経た色値に対して出力色域に収める色域変換を行うようにしてもよい。
また、上記では本発明に係る制約条件として「入力色再現重視」と「出力色再現重視」の2種類の制約条件を例に説明したが、本発明はこれに限定されるものではなく、例えば3種類以上の多数種の制約条件を設けてもよいし、測色的になるべく近い色再現を意図した「カラリメトリック」や、見た目がなるべく等しい色再現を意図した「パーセプチュアル」、鮮やか目(彩度を少し上げ目)の色再現を意図した「サチュレーション」等の制約条件を設けてもよい。
更に、上記では本発明に係る色処理プログラムに対応する色域変換プログラムがクライアント端末14のHDD14Cに予め記憶(インストール)されている態様を説明したが、本発明に係る色処理プログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されている形態で提供することも可能である。