(57)【特許請求の範囲】
【請求項１】
所定の格子間隔をもつ多次元の変換座標空間の各格子点に、第１色空間の入力色に対応する第２色空間の出力色を格納した多次元変換テーブルを生成する変換テーブル生成過程と、
前記変換座標空間の格子点以外の入力色に対応する出力色の補間計算で使用する線形変換パラメータを算出する線形変換パラメータ算出過程と、
前記変換座標空間の格子点以外の入力色に対応する出力色の補間計算に使用する非線形変換パラメータを算出する非線形変換パラメータ算出過程と、
第１色空間の入力色を取り込む毎に、前記線形変換パラメータを使用するか非線形変換パラメータを使用するかを判定する判定過程と、
前記判定過程で判定した前記線形変換パラメータを用いて補間点の出力色を補間計算する線形補間計算過程と、
前記判定過程で判定した前記非線形変換パラメータを用いて補間点の出力色を補間計算する非線形補間計算過程と、
を備え、
前記非線形変換パラメータ算出過程は、前記変換座標空間を構成する単位格子空間（データセット）について、２つの格子点を結ぶグラデーションの保証線上で各補間点の出力色が線形に変化し、それ以外の部分で各補間点の出力色が非線形に変化すると見做し、
前記保証線に補間点が近づく程、前記保証線の両端の格子点を参照する割合を多くすると共に前記保証線以外の格子点を参照する割合を少くするように、前記保証点を囲む８つの格子点に対応した非線形変換パラメータＶＶ１〜ＶＶ８を算出し、
前記判定過程は、前記第１色空間の入力色が属する格子空間が無彩色グラデーションの保証線を含むか否か判定し、前記保証線を含むことを判定した場合は前記非線形変換パラメータを用いた補間計算を選択し、前記保証線を含むことを判定しなかった場合は前記線形変換パラメータを用いた補間計算を選択することを特徴とする色変換方法。
【請求項２】
請求項１記載の色変換方法に於いて、前記線形変換パラメータ算出過程は、前記変換座標空間を構成する単位格子空間（データセット）について、単位格子空間内の補間点の出力色が最小値から最大値まで線形に変化すると見做し、補間点を囲む前記単位格子空間の８つの格子点の相対出力色に対応した線形変換パラメータＶ１〜Ｖ８を各補間点毎に算出して保持することを特徴とする色変換方法。
【請求項３】
請求項２記載の色変換方法に於いて、前記線形変換パラメータ算出過程は、前記単位格子空間の内部を、補間点の位置に対し周りの８つの格子点の各々を含むように８つに分割し、各分割空間の体積を線形変換パラメータＶ１乃至Ｖ８として算出することを特徴とする色変換方法。
【請求項４】
請求項１記載の色変換方法に於いて、前記判定過程は、前記第１色空間がＲＧＢ空間の場合、入力色（Ｒ，Ｇ，Ｂ）の属する格子空間の位置（ｒ，ｇ，ｂ）を格子空間の格子幅ｗを用いて
ｒ＝（ｉｎｔ）Ｒ÷ｗ
ｇ＝（ｉｎｔ）Ｇ÷ｗ
ｂ＝（ｉｎｔ）Ｂ÷ｗ
但し、（ｉｎｔ）は切り捨てによる整数化
として算出し、
ｒ＝ｇ＝ｂ
が成立した場合に、前記保証線を含むことを判定して前記非線形変換パラメータを用いた補間計算を選択し、
ｒ＝ｇ＝ｂ
が成立しない場合に、前記保証線を含まないことを判定して前記線形変換パラメータを用いた補間計算を選択することを特徴とする色変換方法。
【請求項５】
請求項１記載の色変換方法に於いて、前記判定過程は、予め指定された結果を判定して前記線形変換パラメータを用いた補間計算又は前記非線形変換パラメータを用いた補間計算を選択することを特徴とする色変換方法。
【請求項６】
請求項２記載の色変換方法に於いて、前記線形補間計算過程は、補間点の出力色として、前記補間点の属する格子空間の８つの格子点の出力色に、単位格子空間内の補間点の位置に対応した前記線形変換パラメータで重み付けした平均を算出することを特徴とする色変換方法。
【請求項７】
請求項１記載の色変換方法に於いて、前記線形補間計算過程は、入力色と出力色を線形関係で設定した前記多次元変換テーブルを用いて出力色に所定の非線形特性を設定する場合、前記補間点の入力色を前記非線形特性に基づく位置に変換する再計算を行った後に、再計算した補間点の出力色を算出することを特徴とする色変換方法。
【請求項８】
請求項７記載の色変換方法に於いて、前記線形補間計算過程は、補間点の入力色（Ｒｃ，Ｇｃ，Ｂｃ）を最大色値で割って正規化した格子空間の位置（Ｒｎ，Ｇｎ，Ｂｎ）に変換した後に前記非線形特性へ変換し、次に変換計算値に前記最大色値を乗算して前記非線形特性に従った補間点の入力色を再計算し、再計算した補間点の入力色に対応する出力色を算出することを特徴とする色変換方法。
【請求項９】
請求項１記載の色変換方法に於いて、前記非線形補間計算過程は、補間点の出力色として、前記補間点の属する格子空間の８つの格子点の出力色に各格子点の非線形変換パラメータで重み付けした平均を算出することを特徴とする色変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、異なる色空間の色信号を多次元色変換テーブルを用いて変換する色変換方法に関し、特に、変換テーブルに登録されていない色信号を補間計算によって変換する色変換方法に関する。
【０００２】
【従来の技術】
現在、パーソナルコンピュータ、カラープリンタ、ディジタルカメラ等のカラー画像機器が、高性能化と低価格化によって普及しはじめている。一般的には、プリンタやディスプレイなどの機器は、原色系のＲＧＢ空間やＣＭＹ空間などの色を表している。この場合、ＲＧＢ空間やＣＭＹ空間により出力される色は、ディスプレイやプリンタ等の機器によって異なるため、機器に依存した色信号といえる。
【０００３】
異なる機器間で色を一致させるために、機器に依存しない絶対的な色を表す色信号として輝度色差分離系のＬ* ａ* ｂ* 空間やＸＹＺ空間などを基準として、色信号を処理する方法がある。例えば、Ｌ* ａ* ｂ* 空間の色をプリンタに出力する場合、Ｌ* ａ* ｂ* 空間の色をプリンタ固有のＣＭＹ空間の色に変換して印刷すれば、基本的には、どのプリンタでも同じ色を出力することができる。
【０００４】
このように異なる色空間の間で色信号を変換する技術を、色変換技術と呼ぶ。この色変換技術としては、多次元変換テーブル（多次元ルックアップテーブル）を用いた色変換が知られている。
【０００５】
図１６は、多次元変換テーブルを実現する多次元変換空間の説明図である。図１６（Ａ）は、ＲＧＢ空間からＬ* ａ* ｂ* 空間に色変換するＲＧＢ／Ｌａｂ変換座標空間１００、図１６（Ｂ）はＬ* ａ* ｂ* 空間からＲＧＢ空間に色変換するＬａｂ／ＣＭＹ変換座標空間１０２、更に図１６（Ｃ）はＲＧＢ空間からＣＭＹ空間に色変換するＲＧＢ／ＣＭＹ変換座標空間１０４である。
【０００６】
例えばディスプレイのＲＧＢ空間の色をプリンタのＣＭＹ空間の色に変換する場合、図１６（Ａ）のＲＧＢ／Ｌａｂ変換座標空間１００にＲＧＢ色値を入力してＬ* ａ* ｂ* 色値に変換し、次に図１６（Ｂ）のＬａｂ／ＣＭＹ変換座標空間１０２にＬ* ａ* ｂ* 色値を入力してＣＭＹ色値に変換する。
【０００７】
実用的には、図１６（Ｂ）のような中間的なＬ* ａ* ｂ* 空間への変換を省略したＲＧＢ／ＣＭＹ変換座標空間１０４を使用し、このＲＧＢ／ＣＭＹ変換座標空間１０４にＲＧＢ色値を入力して直接ＣＭＹ色値に変換する。
【０００８】
このような多次元変換テーブルは、変換元となる色空間の入力代表色で決まる格子点に変換先の色空間の出力代表色をセットしており、補間計算機構と組み合わせて使用され、少ないテーブルのメモリ容量で高速且つ正確な色変換が実現できる。
【０００９】
多次元変換テーブルと補間計算機構を組み合せた従来の色変換法における補間方法として、立方体補間法（Cubeアルゴリズム）が知られている。立方体補間法は、多次元変換テーブルを構築する所定の幅の格子点の集合で構成される多次元変換空間につき、立方体を構成する格子空間の８頂点にセットした出力色から格子空間の中に存在する任意の位置の入力色に対応した出力色を補間計算で求めるものである。
【００１０】
この立方体補間法をディスプレイのＲＧＢ空間からプリンタのＣＭＹ空間に色換する場合を例として説明する。図１７は、図１６（Ｃ）のＲＧＢ／ＣＭＹ変換座標空間１０４の詳細であり、入力色となるＲＧＢ空間及び出力色となるＣＭＹ空間の各色値は０〜２５５をとる。
【００１１】
ＲＧＢ／ＣＭＹ変換座標空間１０４は例えば格子間隔ｗをｗ＝３２に設定しており、変換元となる入力色（Ｒ，Ｇ，Ｂ）は、代表入力色０，３２，６４，９６，１２８，１６０，１９２，２２４，２５５をそれぞれ持ち、この代表入力色で決まる格子点の位置に、変換後の代表出力色（Ｃ，Ｍ，Ｙ）が格納されている。
【００１２】
具体的には、ＲＧＢ空間の格子点に
Ｃ［ｒ，ｇ，ｂ］
Ｍ［ｒ，ｇ，ｂ］
Ｙ［ｒ，ｇ，ｂ］
という配列でＣＭＹ代表出力色が格納されている。ここで、ｒ，ｇ，ｂは、８つの格子点で囲まれた立方体となる格子空間の座標位置を示す格子番号である。この格子空間はデータセットと呼ばれ、このため格子番号はデータセット番号ともいわれる。以下の説明では格子空間をデータセットとして説明する。
【００１３】
任意の入力色（Ｒ，Ｇ，Ｂ）が含まれる格子点の三次元位置を示すデータセット番号は、次式で与えられる。
【００１４】
ｒ＝（ｉｎｔ）（Ｒ÷ｗ）
ｇ＝（ｉｎｔ）（Ｇ÷ｗ）                        （１）
ｂ＝（ｉｎｔ）（Ｂ÷ｗ）
ここで、ｗは格子間隔で例えばｗ＝３２としている。また（ｉｎｔ）は切り捨てによる整数化を意味する。例えば、入力色（Ｒ，Ｇ，Ｂ）の最小値（０，０，０）に対応するデータセット番号はｒ＝０，ｇ＝０、ｂ＝０であり、入力色（３２，０，０）に対応するデータセット番号ｒ＝１，ｇ＝０，ｂ＝０であり、更に入力色（３２，１２８，１２８）に対応するデータセット番号Ｆｒ＝１，ｇ＝４，ｂ＝４となる。
【００１５】
立体補間法は、図１８のように、入力色（Ｒｃ，Ｇｃ，Ｂｃ）の補間点１１０を囲む立方体の頂点となる８つの格子点Ａ１〜Ａ８を用いて補間演算を行う。まず補間点１１０を囲む８つの格子点Ａ１〜Ａ８のデータセット番号による座標位置を、格子点Ａ１を基準位置とし他の位置を基準位置に対する相対位置で表わすと、次の座標値のようになる。
【００１６】
Ａ１（ｒ，ｇ，ｂ）
Ａ２（ｒ＋１，ｇ，ｂ）
Ａ３（ｒ，ｇ＋１，ｂ）
Ａ４（ｒ＋１，ｇ＋１，ｂ）
Ａ５（ｒ，ｇ，ｂ＋１）
Ａ６（ｒ＋１，ｇ，ｂ＋１）
Ａ７（ｒ，ｇ＋１，ｂ＋１）
Ａ８（ｒ＋１，ｇ＋１，ｂ＋１）
また格子点Ａ１〜Ａ８にセットしている出力色（Ｃ，Ｍ，Ｙ）を格子点座標の配列で表現すると次のようになる。
【００１７】
Ｃ１＝Ｃ［ｒ，ｇ，ｂ］
Ｃ２＝Ｃ［ｒ＋１，ｇ，ｂ］
Ｃ３＝Ｃ［ｒ，ｇ＋１，ｂ］
Ｃ４＝Ｃ［ｒ＋１，ｇ＋１，ｂ］
Ｃ５＝Ｃ［ｒ，ｇ，ｂ＋１］
Ｃ６＝Ｃ［ｒ＋１，ｇ，ｂ＋１］
Ｃ７＝Ｃ［ｒ，ｇ＋１，ｂ＋１］
Ｃ８＝Ｃ［ｒ＋１，ｇ＋１，ｂ＋１］
Ｍ１＝Ｍ［ｒ，ｇ，ｂ］
Ｍ２＝Ｍ［ｒ＋１，ｇ，ｂ］
Ｍ３＝Ｍ［ｒ，ｇ＋１，ｂ］
Ｍ４＝Ｍ［ｒ＋１，ｇ＋１，ｂ］
Ｍ５＝Ｍ［ｒ，ｇ，ｂ＋１］
Ｍ６＝Ｍ［ｒ＋１，ｇ，ｂ＋１］
Ｍ７＝Ｍ［ｒ，ｇ＋１，ｂ＋１］
Ｍ８＝Ｍ［ｒ＋１，ｇ＋１，ｂ＋１］
Ｙ１＝Ｙ［ｒ，ｇ，ｂ］
Ｙ２＝Ｙ［ｒ＋１，ｇ，ｂ］
Ｙ３＝Ｙ［ｒ，ｇ＋１，ｂ］
Ｙ４＝Ｙ［ｒ＋１，ｇ＋１，ｂ］
Ｙ５＝Ｙ［ｒ，ｇ，ｂ＋１］
Ｙ６＝Ｙ［ｒ＋１，ｇ，ｂ＋１］
Ｙ７＝Ｙ［ｒ，ｇ＋１，ｂ＋１］
Ｙ８＝Ｙ［ｒ＋１，ｇ＋１，ｂ＋１］
ここで格子点Ａ１〜Ａ８にセットしている出力色（Ｃ，Ｍ，Ｙ）は、説明を簡単にするため次のように表わす。
【００１８】
Ａ１（Ｃ１，Ｍ１，Ｙ１）
Ａ２（Ｃ２，Ｍ２，Ｙ２）
Ａ３（Ｃ３，Ｍ３，Ｙ３）
Ａ４（Ｃ４，Ｍ４，Ｙ４）
Ａ５（Ｃ５，Ｍ５，Ｙ５）
Ａ６（Ｃ６，Ｍ６，Ｙ６）
Ａ７（Ｃ７，Ｍ７，Ｙ７）
Ａ８（Ｃ８，Ｍ８，Ｙ８）
次に入力色（Ｒｃ，Ｇｃ，Ｂｃ）をもつ補間点１１０のデータセット内の位置（Ｒs ，Ｇs ，Ｂs ）を次式で算出する。
Ｒs ＝（Ｒｃ）％ｗ
Ｇs ＝（Ｇｃ）％ｗ                      （２）
Ｂs ＝（Ｂｃ）％ｗ
但し，％は除算の余りを意味する。
続いて図１９のように、補間点１１０に対し格子点Ａ１〜Ａ８を含むように格子点空間の立方体を分割した８つの直方体の体積Ｖ１〜Ｖ８を、補間計算に使用する線形変換パラメータとして算出する。
【００１９】
Ｖ８＝（ｗ−Ｒs ）×（ｗ−Ｇs ）×（ｗ−Ｂs ）
Ｖ７＝Ｒs ×（ｗ−Ｇs ）×（ｗ−Ｂs ）
Ｖ６＝（ｗ−Ｒs ）×Ｇs ×（ｗ−Ｂs ）
Ｖ５＝Ｒs ×Ｇs ×（ｗ−Ｂs ）                      （３）
Ｖ４＝（ｗ−Ｒs ）×（ｗ−Ｇs ）×Ｂs
Ｖ３＝Ｒs ×（ｗ−Ｇs ）×Ｂs
Ｖ２＝（ｗ−Ｒs ）×Ｇs ×Ｂs
Ｖ１＝Ｒs ×Ｇs ×Ｂs
最後に、補間点１１０の出力色（Ｃｘ，Ｍｘ，Ｙｘ）を補間計算で算出する。この補間計算は、８つの格子点Ａ１〜Ａ８の出力色（Ｃ１，Ｍ１，Ｙ１）〜（Ｃ８，Ｍ８，Ｙ８）に、（３）式で算出した線形変換パラメータＶ１〜Ｖ８による重み付け平均を行ったものであり、次式で算出する。
0003664364.tif 000002
【００２０】
【発明が解決しようとする課題】
このような従来の立方体補間法にあっては、線形変換パラメータの算出に使用する格子点空間の８つの格子点にセットした出力色は、その最大値から最小値の間で線形に変化することを前提としている。このため補間計算の際には、補間点を囲む立方体を形成する８つの格子点の出力色は全て参照される。
【００２１】
しかしながら、入力色が単一方向にのみ増加または減少していくデータの場合、例えばグレー軸として知られた無彩色のグラデーションをもつ場合、補間点を囲む格子点の出力色の値によっては補間計算で求めた出力色に単一方向性が見られず、補間点の出力色に方向性に対する逆転が生じる問題がある。
【００２２】
図２０は、黒から明るさのみ変化して白へ至る無彩色のグラデーションの軸に対し補間計算した補間点の出力色が逆転する場合の説明図である。まずデータセットの格子点Ａ１とＡ８を結ぶ軸が無彩色グラデーション軸１２０である。ここで無彩色グラデーション軸１２０上に位置する補間点１１０の入力色（Ｒｉ，Ｇｉ，Ｂｉ）が（１６，１６，１６）であった場合、データセット内の相対位置（Ｒs ，Ｇs ，Ｂs ）は前記（２）式より（１６，１６，１６）となる。そこで（３）式から体積比となる変換パラメータＶ１〜Ｖ８を算出すると、
0003664364.tif 000003
となる。この線形変換パラメータＶ１〜Ｖ８の値を（４）式に代入すると補間点の出力色（Ｃｘ，Ｍｘ，Ｙｘ）は、
Ｃｘ＝（２３＋２７＋３０＋３９＋４＋２４＋５０＋０）×４０９６÷３２７６８＝２５
Ｍｘ＝（５＋８１＋１３＋９＋５９＋５９＋２＋０）×４０９６÷３２７６８＝２９
Ｙｘ＝（２４＋２９＋１１５＋３０＋１１１＋２７＋０）×４０９６÷３２７６８＝４８
となる。本来ならば、格子点Ａ１、補間点Ｘ及び格子点Ａ８の出力色の間には
（Ｃ１，Ｍ１，Ｙ１）＜（Ｃｘ，Ｍｘ，Ｙｘ）＜（Ｃ８＜Ｍ８＜Ｙ８）
の関係がなければならない。
【００２３】
しかし、従来の立方体補間法では、全ての格子点Ａ１〜Ａ８の出力色を参照して変換パラメータＶ１〜Ｖ８を作成しているため、無彩色グラデーション軸１２０に対し同じ方向性がない格子点Ａ２〜点Ａ７の出力色に引っ張られ、補間点１１０の出力色が格子点Ａ８の出力色を上回り、格子点Ａ１から格子点Ａ８の間の出力色に逆転現象を起こしている。
【００２４】
このような無彩色グラデーション軸上での補間計算による出力色の逆転現象の問題に対し、例えば特開平７−９９５８７号では、図２１のように、単位立方体１３０に隣接する補間立方体１４０を定義し、その間に斜三角柱立体１５０を設定し、無彩色グラデーション軸１２０を斜三角柱立体１５０の格子点ａ，ｅ間の稜線上に当てはめ、無彩色の補間は稜線１５０の２端点となる格子点ａ，ｅのみを参照して行うことで、稜線１５０上に位置する補間点の出力色に逆転を発生しないようにしている。しかし、この方法では、無彩色以外のグラデーションについては保証されず、問題が残る。
【００２５】
従来の立方体補間法における２つ目の問題は、例えばγ曲線のような非線形性の高い領域における色変換に線形補間を使用した場合、希望の出力値が曲線であるのに対し、実際の出力値は角度を少しずつ変化させた直線を繋げたものになり、大きな変換誤差が発生してしまうというものである。
【００２６】
図２２は、ＲＧＢ入力色をＣＭＹ出力色に変換する多次元の変換座標空間１０４をＧ−Ｒ面で示しており、破線の境界をもつデータセット１０４−１と隣接するデータセット１０４−２，１０４−３，１０４−４の一部を示している。
【００２７】
いま入力色がデータセット１０４−１の境界でＡ１，Ａ２６と変化しており、データセット１０４−１の内部では、格子点Ａ１，Ａ２６を結ぶ直線１７０−１で出力色が補間される。尚、データセット境界上の格子点Ａ２６の出力色は、格子点Ａ２とＡ６の出力色の直線補間で求められている。
【００２８】
この直線１７０−１で補間した出力色の変化に対し、実際の出力色は例えばγ曲線として曲線１８０のように変化しており、直線１７０−１により補間した出力色との間に大きな変換誤差を生じている。
【００２９】
同様に次のデータセット１０４−２においても、直線１７０−２で補間した出力色に対し、本来の出力色の変化である曲線１８０との間に大きな変換誤差を生じている。
【００３０】
本発明は、グラデーションの方向性を保証しなければならない位置での周囲の参照による出力色の逆転を防止するようにした色変換方法を提供することを目的とする。
【００３１】
また本発明は、線形性の入力色に対し非線形性が強い出力色の補間で生ずる変換誤差を低減して変換精度を向上するようにした色変換方法を提供することを目的とする。
【００３２】
【課題を解決するための手段】
図１は本発明の原理説明図である。本発明は、立方体補間法に基づく色変換方法であり、図１（Ａ）のように、変換テーブル生成過程、線形変換パラメータ算出過程、非線形変換パラメータ生成過程、判定過程、線形補間過程及び非線形変換過程を備える。
【００３３】
この内、変換テーブル生成過程、線形変換パラメータ算出過程及び線形補間過程は、既存の立方体補間法と同じ手順であり、これに本発明に固有な非線形変換パラメータ生成過程、判定過程及び非線形変換過程が加えられている。
【００３４】
変換テーブル生成過程は所定の格子間隔ｗをもつ多次元の変換座標空間の各格子点に、第１色空間の入力色に対応する第２色空間の出力色を格納した多次元変換テーブルを生成する。
【００３５】
線形変換パラメータ算出過程は、変換座標空間の格子点以外の入力色に対応する出力色の補間計算で使用する線形変換パラメータＶ１〜Ｖ８を算出する。非線形変換パラメータ算出過程は、変換座標空間の格子点以外の入力色に対応する出力色の補間計算に使用する非線形変換パラメータＶＶ１〜ＶＶ８を算出する。
【００３６】
判定過程は、第１色空間の入力色を取り込む毎に、線形変換パラメータを使用するか非線形変換パラメータを使用するかを判定する。線形補間過程は、判定過程で判定した線形変換パラメータを用いて補間点の出力色を補間計算する。非線形補間過程は、判定過程で判定した前記非線形変換パラメータを用いて補間点の出力色を補間計算する。
【００３７】
このように本発明の色変換方法は、第１色空間の入力色を第２色空間の出力色に変換する補間処理として、グラデーションを保証する精度の高い非線形変換パラメータを用いた補間計算と、高速処理できる線形変換パラメータを用いた補間計算とを設け、必要な領域についてのみ精度の高い非線形変換パラメータを使用した補間計算を行い、残りは高速処理が可能な線形変換パラメータを計算することにより、無彩色グラデーション軸を含む領域での出力色の反転を確実に防止し、全体として高精度で且つ性能的にも影響の少ない色変換を行う。
【００３８】
ここで線形変換パラメータ算出過程は、変換座標空間を構成するデータセット（単位格子空間）について、内部の各補間点の出力色が格子点の出力色で与えられる最小値から最大値まで線形に変化すると見做し、補間点を囲むデータセットの８つの格子点のデータセット位置に対応した線形変換パラメータＶ１〜Ｖ８を各補間点毎に算出して保持する。
【００３９】
即ち線形変換パラメータ算出過程は、データセットの内部を、補間点に対し周囲８つの格子点の各々を含むように８つの直方体に分割し、各分割空間の体積を線形変換パラメータＶ１乃至Ｖ８として算出する。
【００４０】
線形変換パラメータ生成過程は、データセットを格子幅ｗの立方体、第１色空間をＲＧＢ空間、３つの入力色成分（Ｒｃ，Ｇｃ，Ｂｃ）に対応したデータセットの内部の補間点の位置（Ｒｓ，Ｇｓ，Ｂｓ）を
Ｒｓ＝（Ｒｃ）％ｗ
Ｇｓ＝（Ｇｃ）％ｗ
Ｂｓ＝（Ｂｃ）％ｗ
但し、％は余り
として算出た場合、線形変換パラメータＶ１乃至Ｖ８を、
Ｖ１＝Ｒｓ×Ｇｓ×Ｂｓ
Ｖ２＝（ｗ−Ｒｓ）×Ｇｓ×Ｂｓ
Ｖ３＝Ｒｓ×（ｗ−Ｇｓ）×Ｂｓ
Ｖ４＝（ｗ−Ｒｓ）×（ｗ−Ｇｓ）×Ｂｓ
Ｖ５＝Ｒｓ×Ｇｓ×（ｗ−Ｂｓ）
Ｖ６＝（ｗ−Ｒｓ）×Ｇｓ×（ｗ−Ｂｓ）
Ｖ７＝Ｒｓ×（ｗ−Ｇｓ）×（ｗ−Ｂｓ）
Ｖ８＝（ｗ−Ｒｓ）×（ｗ−Ｇｓ）×（ｗ−Ｂｓ）
として算出する。
【００４１】
また線形変換パラメータ算出過程は、第１色空間をＬ* ａ* ｂ* 空間とし、３つの入力色成分（Ｌ* ｃ，ａ* ｃ，ｂ* ｃ）に対応したデータセットの内部の補間点の相対位置（Ｌｓ，ａｓ，ｂｓ）を
Ｌｓ＝（Ｌ* ｃ）％ｗ
ａｓ＝（ａ* ｃ）％ｗ
ｂｓ＝（ｂ* ｃ）％ｗ
但し、％は余り
として算出した場合、線形変換パラメータを、
Ｖ１＝Ｌｓ×ａｓ×ｂｓ
Ｖ２＝（ｗ−Ｌｓ）×ａｓ×ｂｓ
Ｖ３＝Ｌｓ×（ｗ−ａｓ）×ｂｓ
Ｖ４＝（ｗ−Ｌｓ）×（ｗ−ａｓ）×ｂｓ
Ｖ５＝Ｌｓ×ａｓ×（ｗ−ｂｓ）
Ｖ６＝（ｗ−Ｌｓ）×ａｓ×（ｗ−ｂｓ）
Ｖ７＝Ｌｓ×（ｗ−ａｓ）×（ｗ−ｂｓ）
Ｖ８＝（ｗ−Ｌｓ）×（ｗ−ａｓ）×（ｗ−ｂｓ）
として算出する。この線形変換パラメータＶ１〜Ｖ８は、既存の立体補間法に従ったものである。
【００４２】
本発明に固有な非線形変換パラメータ生成過程は、変換座標空間を構成する単位格子空間（データセット）について、２つの格子点を結ぶグラデーションの保証線上で各補間点の出力色が線形に変化し、それ以外の部分で各補間点の出力色が非線形に変化すると見做し、保証線に補間点が近づく程、保証線の両端の格子点を参照する割合を多くすると共に、保証線以外の格子点を参照する割合を少なくするように、保証点を囲む８つの格子点に対応した非線形変換パラメータＶＶ１〜ＶＶ８を算出する。
【００４３】
このようにデータセット境界に位置する任意の色を結んだグラデーションを保証する保証線からの距離に応じて非線形に変化する非線形変換パラメータを使用することにより、保証点から近ければ近いほど保証したい点を参照する割合が大きくなると共に、保証しない点の影響を抑制する色変換を実行でき、保証線上にある補間点の出力色が逆転する問題を解消する。
【００４４】
即ち、第２パラメータ生成過程は、図１（Ｂ）のように、単位更新空間となるデータセットの２つの格子点Ａ１，Ａ８を結ぶ保証線４３に対する補間点４４から垂線４６の交点４５と補間点４４との距離をＬ１、垂線４６を延長したデータセット外部境界を通過する境界点４８と補間点４４との距離をＬ２、保証線４２の垂線交点４５と両端の格子点Ａ１，Ａ８と距離を各々Ｂ２，Ｂ１、両者の和をＢ１＋Ｂ２＝Ｂ０、８つの格子点に対応した線形変換パラメータをＶ１〜８とした場合、８つの格子点Ａ１〜Ａ８に対応した非線形変換パラメータＶＶ１〜ＶＶ８を
【００４５】
【数１】
0003664364.tif 000004
として算出する。
【００４６】
また第２パラメータ生成過程は、図１（Ｃ）のように、データセットの２つの格子点Ａ１，Ａ８を結ぶ保証線４２上に補間点４４がある場合、非線形変換パラメータＶＶ１〜ＶＶ８の算出式の右辺の補間点４４と保証線の垂線交点４５との距離Ｌ１をＬ１＝０とすることにより、８つの格子点Ａ１〜Ａ８に対応した非線形変換パラメータＶＶ１〜ＶＶ８を
ＶＶ１＝（ｗ×ｗ×ｗ）×（Ｂ１／Ｂ０）
ＶＶ２＝０
ＶＶ３＝０
ＶＶ４＝０
ＶＶ５＝０
ＶＶ６＝０
ＶＶ７＝０
ＶＶ８＝（ｗ×ｗ×ｗ）×（Ｂ２／Ｂ０）
として算出する。
【００４７】
判定過程は、第１色空間の入力色が属するデータセットが無彩色グラデーションの保証線を含むか否か判定し、保証線を含むことを判定した場合は、非線形変換パラメータＶＶ１〜ＶＶ８を用いた補間計算を選択し、保証線を含むことを判定なかった場合は線形変換パラメータＶＶ１〜ＶＶ８を用いた補間計算を選択する。
【００４８】
判定過程は第１色空間がＲＧＢ空間の場合、入力色（Ｒ，Ｇ，Ｂ）の属するデータセットの位置（ｒ，ｇ，ｂ）を格子幅ｗを用いて
ｒ＝（ｉｎｔ）Ｒ÷ｗ
ｇ＝（ｉｎｔ）Ｇ÷ｗ
ｂ＝（ｉｎｔ）Ｂ÷ｗ
但し、（ｉｎｔ）は切り捨てによる整数化
として算出し、
ｒ＝ｇ＝ｂ
が成立した場合に、データセットが保証線４２を含むことを判定して非線形変換パラメータＶＶ１〜ＶＶ８を用いた補間計算を選択し、
ｒ＝ｇ＝ｂ
が成立しない場合に、データセットが保証線４２を含まないことを判定して線形変換パラメータＶ１〜Ｖ８を用いた補間計算を選択する。
【００４９】
また判定過程は、予め指定された結果を判定して線形変換パラメータＶ１〜Ｖ８を用いた補間計算又は非線形変換パラメータＶＶ１〜ＶＶ８を用いた補間計算を選択する。例えば、ユーザインターフェースにより使用者が色変換する画像の種類に応じて指定する。この場合、グラデーションを保証する必要のない写真等の自然画であれば線形変換パラメータＶ１〜Ｖ８の使用を指定し、グラデーションを保証する必要のあるグラフ、ビジネス文書、ＣＧ画像などであれば、非線形変換パラメータＶＶ１〜ＶＶ８の使用を指定する。
【００５０】
このようにグラデーションを保証する必要のある領域についてのみ精度の高い非線形補間計算とし、残りは高速処理が可能な線形補間計算とすることにより、全体として高精度でかつ性能的にも影響の少ない色変換を行うことができる。
【００５１】
線形補間計算過程は、補間点の出力色として、補間点の属する格子空間の８つの格子点の出力色に、単位格子空間内の補間点の位置に対応した線形変換パラメータで重み付けした平均を算出する。
【００５２】
この線形補間計算過程において、本発明は、入力色と出力色を線形関係で設定した多次元変換テーブルを用いて出力色に所定の非線形特性、例えばγ特性を設定する場合、補間点の入力色を非線形特性に基づく位置に変換する再計算を行った後に、再計算した補間点の出力色を線形補間計算で算出することを特徴とする。
【００５３】
この線形補間計算過程における補間点の再計算は、補間点の入力色（Ｒｃ，Ｇｃ，Ｂｃ）を最大色値２５５で割って例えば０〜１に正規化したデータセットの位置（Ｒｎ，Ｇｎ，Ｂｎ）に変換した後に非線形特性の変換計算を行う。次に変換した計算値に最大色値２５５を乗算して非線形特性に従った補間点の入力色を再計算し、再計算した補間点の入力色に対応する出力色を線形補間により算出する。
【００５４】
この出力色の非線形特性に従った補間点の入力色の再計算により、補間点の位置は補間直線上から出力色の非線形特性を与える曲線上の位置に修正され、出力色の強い非線形特性があっても、変換誤差の少ない補間結果が得られる。
【００５５】
線形補間計算過程は、例えば第２空間がＣＭＹ空間の場合、補間点の属する格子空間の８つの格子点Ａ１〜Ａ８の出力色を（Ｃ１，Ｍ１，Ｙ１）〜（Ｃ８，Ｍ８，Ｙ８）、補間点の位置に対応した線形変換パラメータをＶ１〜Ｖ８とした場合、補間点の出力色（Ｃｘ，Ｍｘ，Ｙｘ）を
Ｃｘ＝｛Ｃ１×Ｖ８＋Ｃ２×Ｖ７＋Ｃ３×Ｖ６＋Ｃ４×Ｖ５＋Ｃ５×Ｖ４＋Ｃ６×Ｖ３＋Ｃ７×Ｖ２＋Ｃ８×Ｖ１｝÷（ｗ×ｗ×ｗ）
Ｍｘ＝｛Ｍ１×Ｖ８＋Ｍ２×Ｖ７＋Ｍ３×Ｖ６＋Ｍ４×Ｖ５＋Ｍ５×Ｖ４＋Ｍ６×Ｖ３＋Ｍ７×Ｖ２＋Ｍ（×Ｖ１｝÷（ｗ×ｗ×ｗ）
Ｙｘ＝｛Ｙ１×Ｖ８＋Ｙ２×Ｖ７＋Ｙ３×Ｖ６＋Ｙ４×Ｖ５＋Ｙ５×Ｖ４＋Ｙ６×Ｖ３＋Ｙ７×Ｖ２＋Ｙ８×Ｖ１｝÷（ｗ×ｗ×ｗ）
として算出する。これは既存の立方体補間法に従ったものである。
【００５６】
また線形補間計算過程は、第２空間がＬ* ａ* ｂ* 空間の場合、補間点の属する格子空間の８つの格子点Ａ１〜Ａ８の出力色を（Ｌ* １，ａ* １，ｂ* １）〜（Ｌ* ８，ａ* ８，ｂ* ８）、線形変換パラメータをＶ１〜Ｖ８とした場合、補間点の出力色（Ｌ* ｘ，ａ* ｘ，ｂ* ｘ）を
Ｌ* ｘ＝｛Ｌ* １×Ｖ８＋Ｌ* ２×Ｖ７＋Ｌ* ３×Ｖ６＋Ｌ* ４×Ｖ５＋Ｌ* ５×Ｖ４＋Ｌ* ６×Ｖ３＋Ｌ* ７×Ｖ２＋Ｌ* ８×Ｖ１｝÷（ｗ×ｗ×ｗ）
ａ* ｘ＝｛ａ* １×Ｖ８＋ａ* ２×Ｖ７＋ａ* ３×Ｖ６＋ａ* ４×Ｖ５＋ａ* ５×Ｖ４＋ａ* ６×Ｖ３＋ａ* ７×Ｖ２＋ｂ* ８×Ｖ１｝÷（ｗ×ｗ×ｗ）
ｂ* ｘ＝｛ｂ* １×Ｖ８＋ｂ* ２×Ｖ７＋ｂ* ３×Ｖ６＋ｂ* ４×Ｖ５＋ｂ* ５×Ｖ４＋ｂ* ６×Ｖ３＋ｂ* ７×Ｖ２＋ｂ* ８×Ｖ１｝÷（ｗ×ｗ×ｗ）
として算出する。
【００５７】
本発明に固有な非線形補間計算過程は、補間点の出力色として、補間点の属する格子空間の８つの格子点の出力色に各格子点の非線形変換パラメータで重み付けした平均を算出する。
【００５８】
非線形補間計算過程は、第２空間がＣＭＹ空間の場合、補間点の属する格子空間の８つの格子点Ａ１〜Ａ８の出力色を（Ｃ１，Ｍ１，Ｙ１）〜（Ｃ８，Ｍ８，Ｙ８）、非線形変換パラメータをＶＶ１〜ＶＶ８とした場合、補間点の出力色
（Ｃｘ，Ｍｘ，Ｙｘ）を
Ｃｘ＝｛Ｃ１×ＶＶ８＋Ｃ２×ＶＶ７＋Ｃ３×ＶＶ６＋Ｃ４×ＶＶ５＋Ｃ５×ＶＶ４＋Ｃ６×ＶＶ３＋Ｃ７×ＶＶ２＋Ｃ８×ＶＶ１｝÷（ｗ×ｗ×ｗ）
Ｍｘ＝｛Ｍ１×ＶＶ８＋Ｍ２×ＶＶ７＋Ｍ３×ＶＶ６＋Ｍ４×ＶＶ５＋Ｍ５×ＶＶ４＋Ｍ６×ＶＶ３＋Ｍ７×ＶＶ２＋Ｍ８（×ＶＶ１｝÷（ｗ×ｗ×ｗ）
Ｙｘ＝｛Ｙ１×ＶＶ８＋Ｙ２×ＶＶ７＋Ｙ３×ＶＶ６＋Ｙ４×ＶＶ５＋Ｙ５×ＶＶ４＋Ｙ６×ＶＶ３＋Ｙ７×ＶＶ２＋Ｙ８×ＶＶ１｝÷（ｗ×ｗ×ｗ）
として算出する。
【００５９】
また非線形補間計算過程は、第２空間がＬ* ａ* ｂ* 空間の場合、補間点の属する格子空間の８つの格子点Ａ１〜Ａ８の出力色を（Ｌ* １，ａ* １，ｂ* １）〜（Ｌ* ８，ａ* ８，ｂ* ８）、線形変換パラメータをＶＶ１〜ＶＶ８とした場合、補間点の出力色（Ｌ* ｘ，ａ* ｘ，ｂ* ｘ）を
Ｌ* ｘ＝｛Ｌ* １×ＶＶ８＋Ｌ* ２×ＶＶ７＋Ｌ* ３×ＶＶ６＋Ｌ* ４×ＶＶ５＋Ｌ* ５×ＶＶ４＋Ｌ* ６×ＶＶ３＋Ｌ* ７×ＶＶ２＋Ｌ* ８×ＶＶ１｝÷（ｗ×ｗ×ｗ）
ａ* ｘ＝｛ａ* １×ＶＶ８＋ａ* ２×ＶＶ７＋ａ* ３×ＶＶ６＋ａ* ４×ＶＶ５＋ａ* ５×ＶＶ４＋ａ* ６×ＶＶ３＋ａ* ７×ＶＶ２＋ａ* ８×ＶＶ１｝÷（ｗ×ｗ×ｗ）
ｂ* ｘ＝｛ｂ* １×ＶＶ８＋ｂ* ２×ＶＶ７＋ｂ* ３×ＶＶ６＋ｂ* ４×ＶＶ５＋ｂ* ５×ＶＶ４＋ｂ* ６×ＶＶ３＋ｂ* ７×ＶＶ２＋ｂ* ８×ＶＶ１｝÷（ｗ×ｗ×ｗ）
として算出する。
【００６０】
このような線形補間計算過程及び非線形補間計算過程によれば、線形変換パラメータを使用して補間点の出力色を決定したデータセットに隣接するデータセットで非線形変換パラメータを使用して補間点の出力色を決定していても、データセットの内部は出力色が非線形に変化しているが、境界領域に近づくに従い出力色が線形に変化するようになる。
【００６１】
この結果、線形変換パラメータと非線形変換パラメータを用いたデータセットが混在していても、各データセットの境界領域においては、ほぼ同一の出力色を補間計算で決定することができ、格子空間の境界領域での出力色の連続性は保証される。
【００６２】
また非線形変換パラメータを用いた補間計算において、格子空間の２つの格子点を結ぶグラデーション保証線上にある補間点の出力色の決定には、隣接する格子空間との境界領域の出力色を参照する非線形変換パラメータをゼロとすることで、参照しない格子点を生じさせ、周囲点参照による出力色の逆転や出力色のずれを確実に防止し、グラデーションの方向性を保証する。
【００６３】
【発明の実施の形態】
図２は、本発明の色変換方法が適用される一般的なパーソナルコンピュータとその周辺機器である。
【００６４】
図２において、パーソナルコンピュータ１０には画像表示装置としてカラーディスプレイ１２が接続され、また画像印刷装置としてカラープリンタ１４が接続されている。パーソナルコンピュータ１０は、ＲＧＢやＣＭＹの表色系の値で構成されたカラー画像データを、内部のハードディスクドライブ等の記憶装置に保存している。
【００６５】
パーソナルコンピュータ１０は、ＲＧＢ表色系の値で構成されたカラー画像の各画素のＲＧＢ値を表示駆動信号としてカラーディスプレイ１２に送り、カラー画像を表示させる。またＣＭＹ表色系の値で構成されたカラー画像の各画素のＣＭＹ値からプリンタ制御信号を生成し、カラープリンタ１４に送ってカラー画像を印刷させる。
【００６６】
このようなパーソナルコンピュータ１０におけるＲＧＢカラー画像データをＣＭＹカラー画像データに変換してカラープリンタで印刷するため、本発明の色変換方法が使用される。
【００６７】
図３は、本発明の色変換方法が実現される装置構成の機能ブロック図である。本発明の色変換方法は、色変換装置１６と支援準備装置１８で実現される。色変換装置１６は、図２のパーソナルコンピュータ１０の色変換プログラムの機能として実現される。支援準備装置１８は色変換装置１６に必要なテーブル変換パラメータを準備工程として作成する装置であり、色変換装置の提供元の製造段階で使用される。
【００６８】
色変換装置１６は、コントローラ２０、画像メモリ２２、ＲＧＢ／ＣＭＹ変換テーブル２４、補間計算ユニット２６を備える。画像メモリ２２には、変換元となるＲＧＢ空間（第１色空間）の色値を用いたＲＧＢ画像データ２８が格納されている。また補間計算ユニット２６には、入力ＲＧＢ値を出力ＣＭＹ値に変換する際の補間計算に使用する変換パラメータを格納する線形変換パラメータ格納部３０と非線形変換パラメータ格納部３２が設けられる。
【００６９】
支援準備装置１８は、変換テーブル作成ユニット３４、線形変換パラメータ形成ユニット３６及び非線形変換パラメータ形成ユニット３８を備える。色変換装置１６の補間計算ユニット２６で使用する補間アルゴリズムは、入力ＲＧＢ値による補間点が含まれるＲＧＢ／ＣＭＹ変換座標空間の格子空間であるデータセットを構成する立方体の８つの頂点の格子点を用いて線形変換パラメータを求めて補間計算を行う立方体補間法を採用している。
【００７０】
図４は、図３の支援準備装置１８及び色変換装置１６で実現される本発明の色変換方法の基本的な処理手順のフローチャートである。本発明の色変換方法は、ステップＳ１の変換テーブル作成過程、ステップＳ２の線形変換パラメータ算出過程、ステップＳ３の非線形変換パラメータ算出過程、ステップＳ４の判定過程、ステップＳ５の非線形補間過程、及びステップＳ６の線形補間過程で構成される。
【００７１】
ステップＳ１の変換テーブル作成過程は、図１７に示したように、所定の格子間隔ｗをもつ多次元のＲＧＢ／ＣＭＹ変換座標空間１０４の各格子点に、第１色空間であるＲＧＢ空間の入力ＲＧＢ値に対応する第２色空間であるＣＭＹ空間の出力ＣＭＹ値を格納したＲＧＢ／ＣＭＹ変換テーブル２４を作成する。
【００７２】
このＲＧＢ／ＣＭＹ変換テーブル２４は、ＲＧＢ画像データ２８の各画素ごとにもつＲ値、Ｇ値及びＢ値の３つの入力値で空間の格子点を指定し、指定された格子点に予め格納されているＣＭＹ値を読み出すことで、入力ＲＧＢ値を出力ＣＭＹ値に変換する。このとき入力ＲＧＢ値が格子間隔ｗで決まる格子点の座標値に該当しない場合には、補間計算ユニット２６による補間計算で入力ＲＧＢ値に対応する出力ＣＭＹ値を算出するようになる。
【００７３】
図４のステップＳ２の線形変換パラメータ算出過程は、ＲＧＢ／ＣＭＹ変換座標空間の格子点以外の入力ＲＧＢ値に対応する出力ＣＭＹ値の補間計算で使用する線形変換パラメータＶ１〜Ｖ８を算出する。この線形変換パラメータＶ１〜Ｖ８は、既存の立方体補間法と同じパラメータの算出を行う。
【００７４】
次のステップＳ３の非線形変換パラメータ算出過程にあっては、ＲＧＢ／ＣＭＹ変換座標空間の格子点以外の入力ＲＧＢ値に対応する出力ＣＭＹ値の補間計算に使用する非線形変換パラメータＶＶ１〜ＶＶ８を算出する。この非線形変換パラメータＶＶ１〜ＶＶ８を算出する格子空間としてのデータセットは、例えば図１７のＲＧＢ／ＣＭＹ変換座標空間１０４において、黒から明るさのみが変化して白に至る無彩色グラデーションを保証するための軸線が通るデータセットについて、無彩色グラデーション保証線上の補間点について計算した出力ＣＭＹ値がグラデーションの方向性に対し逆転した値や、ずれた値をもたないように補間計算するためのパラメータを算出する。
【００７５】
このように適宜のグラデーション保証線が通るデータセットについて使用される非線形変換パラメータＶＶ１〜ＶＶ８は、保証線に補間点が近付くほど保証線の両端の格子点を参照する割合を多くすると共に、保証線以外の格子点を参照する割合を少なくするように、保証点を囲む８つの格子点に対応したパラメータとして非線形変換パラメータＶＶ１〜ＶＶ８を算出する。
【００７６】
ステップＳ４の判定過程は、ＲＧＢ画像データから画素単位の入力ＲＧＢ値を取り込むごとに、入力ＲＧＢ値が属するデータセットにおける補間計算にステップＳ２で求めている線形変換パラメータを使用するか、ステップＳ３で求めている非線形変換パラメータを使用するかを判定する。
【００７７】
判定過程ステップＳ４で非線形変換パラメータの使用を判定した場合には、ステップＳ５でデータセット内の入力ＲＧＢ値で決まる位置に対応した非線形変換パラメータＶＶ１〜ＶＶ８を用いて、立方体補間法における補間演算である補間点の属するデータセットの周囲の８つの格子点の出力ＣＭＹ値にデータセット内の補間点の位置に対応した非線形変換パラメータＶＶ１〜ＶＶ８で重み付けした平均を算出する。
【００７８】
またステップＳ４で線形変換パラメータの使用を判定した場合には、ステップＳ６で同じく立方体補間法における補間計算に従って、補間点の属するデータセットの８つの格子点の出力ＣＭＹ値にデータセット内の補間点の位置に対応して読み出した線形変換パラメータＶ１〜Ｖ８で重み付けした平均を算出する。
【００７９】
ここで、判定過程Ｓ４における非線形変換パラメータの使用か線形変換パラメータの使用かの判定は、例えば補間対象となっているＲＧＢ値の属するデータセットに無彩色グラデーション保証線が通過しているか否か、即ちグラデーション保証の必要性があるか否かで判定する。
【００８０】
即ち、グラデーション保証の必要性があればステップＳ５で非線形変換パラメータを用いた補間計算を行い、グラデーションを保証する必要がなければステップＳ６で線形変換パラメータを用いた補間計算を行う。
【００８１】
またステップＳ４の判定過程としては、グラデーションを保証する必要性の有無以外に、ユーザインタフェースによってユーザが指定した内容に基づいて非線形変換パラメータの使用か非線形変換パラメータの使用かを判定してもよい。
【００８２】
ユーザによる判定としては、例えばグラデーションを保証する必要性の少ない写真等のイメージ画像データについては、線形変換パラメータを使用した補間計算を指定する。これに対しグラフ、ビジネス文章、ＣＧ画像等のように人為的に作成されたグラデーションを保証する必要のある画像データの色変換にあっては、非線形変換パラメータによる補間計算を指定する。
【００８３】
図５は、図４の基本的な処理手順を更に具体的に示した本発明による色変換処理のフローチャートである。まずステップＳ１で色空間変換テーブル、即ち図３のＲＧＢ／ＣＭＹ変換テーブル２４を作成する。
【００８４】
この色空間変換テーブルの作成は、
▲１▼ＲＧＢ／Ｌａｂ変換テーブルの作成、
▲２▼Ｌａｂ／ＣＭＹ変換テーブルの作成、
▲３▼ＲＧＢ／Ｌａｂ変換テーブルとＬａｂ／ＣＭＹ変換テーブルの結合によるＲＧＢ／ＣＭＹ変換テーブルの作成、
の各過程を経た準備処理として行われる。
【００８５】
まずＲＧＢ／Ｌａｂ変換テーブルの作成は、パーソナルコンピュータ１０に格納しているＲＧＢ画像データを使用してカラーディスプレイ１２にＲＧＢ値に対応する駆動信号を送り、表示された色を測定器で測定して、Ｌ* ，ａ* ，ｂ* 値を取得する。
【００８６】
次にカラープリンタ１４に対し、パーソナルコンピュータ１０に格納しているＣＭＹ画像データのＣＭＹ値に対応するプリンタ制御信号を送り、カラープリンタ１４で印刷された色を測定器で測定してＬ* ，ａ* ，ｂ* 値を取得し、これに基づきＬａｂ／ＣＭＹ変換テーブルを作成する。
【００８７】
最終的に、ＲＧＢ／Ｌａｂ変換テーブルとＬａｂ／ＣＭＹ変換テーブルを中間値としてのＬａｂ値で結合し、結合後にＬａｂ値を省略することでＲＧＢ／ＣＭＹ変換テーブル２４を作成し、図３のように色変換装置１６に格納する。
【００８８】
次に図５のステップＳ２で線形変換パラメータＶｉを算出する。図６は図５のステップＳ２の線形変換パラメータ算出処理のフローチャートである。まずステップＳ１で単位データセットの一辺の長さとなる格子間隔ｗをセットする。例えば格子間隔ｗをｗ＝３２にセットすると、図１７に示したようにＲＧＢ／ＣＭＹ変換座標空間の格子点間隔を与えるデータセット番号はＲ，Ｇ，Ｂ値のそれぞれの０〜２５５に対し、０，１，２，３，４，５，６，７の値をとることになる。
【００８９】
次にステップＳ２で、一辺の長さｗをもつ立方体を構成する単位データセットを対象に、線形変換パラメータを算出するデータセット内の補間点位置（Ｒｓ，Ｇｓ，Ｂｓ）を読み込む。この補間点位置の初期値は（０，０，０）であり、最大値は格子幅ｗに対応した（３２，３２，３２）となる。
【００９０】
次にステップＳ３でデータセット内の補間点位置に対応して８つの頂点となる格子点Ａ１〜Ａ８ごとに直方体に分割し、各直方体の体積として線形変換パラメータＶｉ（但し，ｉ＝１〜８）を算出して格納する。具体的には次式により線形変換パラメータＶ１〜Ｖ８が算出される。
Ｖ８＝（ｗ−Ｒｓ）×（ｗ−Ｇｓ）×（ｗ−Ｂｓ）
Ｖ７＝Ｒｓ×（ｗ−Ｇｓ）×（ｗ−Ｂｓ）
Ｖ６＝（ｗ−Ｒｓ）×Ｇｓ×（ｗ−Ｂｓ）
Ｖ５＝Ｒｓ×Ｇｓ×（ｗ−Ｂｓ）                    （５）
Ｖ４＝（ｗ−Ｒｓ）×（ｗ−Ｇｓ）×Ｂｓ
Ｖ３＝Ｒｓ×（ｗ−Ｇｓ）×Ｂｓ
Ｖ２＝（ｗ−Ｒｓ）×Ｇｓ×Ｂｓ
Ｖ１＝Ｒｓ×Ｇｓ×Ｂｓ
続いてステップＳ４でデータセット内のＢｓ値を１つ加算し、ステップＳ５で最大値ｗに達したか否かチェックし、最大値ｗに達するまで、ステップＳ１〜Ｓ４の処理を繰り返す。
【００９１】
ステップＳ１〜Ｓ５の処理によりＢｓ値の０〜３２について線形変換パラメータＶ１〜Ｖ８の計算が済むと、ステップＳ６でＢｓ＝０とした後にＧｓを１つ加算し、ステップＳ７でＧｓ値が最大値ｗ＝３２に達するまで、ステップＳ１〜Ｓ６の処理を繰り返す。
【００９２】
このようにしてＧｓ＝０〜３２の処理が済んだならば、ステップＳ８でＧｓ値を０とした後、Ｒｓ値を１つずつアップしながら、ステップＳ９で最大ｗ＝３２に達するまで、ステップＳ１〜Ｓ８の処理を繰り返す。
【００９３】
このステップＳ１〜Ｓ９の処理により、単位データセット内に位置する全ての補間点位置に対応した線形変換パラメータＶ１〜Ｖ８が算出されて格納される。この場合の単位データセットについて算出された線形変換パラメータＶ１〜Ｖ８の組数は、格子幅ｗ＝３２であることから、３２3 ＝３２，７６８組となる。
【００９４】
再び図５を参照するに、ステップＳ２で線形変換パラメータＶｉの算出が済んだならば、ステップＳ３に進み、非線形変換パラメータＶＶｉの算出を行う。
【００９５】
図７は、図５のステップＳ３の非線形変換パラメータ算出処理のフローチャートである。この非線形変換パラメータの算出処理も図６の線形変換パラメータの算出処理の算出と同様、格子幅ｗを一辺とする立方体となる単位データセットの内部に位置する全ての補間点位置について、非線形変換パラメータを算出して格納する。
【００９６】
図７において、ステップＳ１で非線形変換パラメータの算出対象とする１データセットの一辺の長さとなる格子間隔ｗを例えばｗ＝３２にセットし、ステップＳ２でパラメータを算出するデータセット内の補間点位置（Ｒｓ，Ｇｓ，Ｂｓ）を読み込む。補間点位置の初期値は、補間点位置は（０，０，０）となる。
【００９７】
続いてステップＳ３で、既に算出したその時の補間点位置（Ｒｓ，Ｇｓ，Ｂｓ）に対応した線形変換パラメータＶ１〜Ｖ８を読み込む。次にステップＳ４で、現在非線形変換パラメータを算出している補間点位置がデータセット内を通るグラデーションを保証したい直線上か否かチェックする。
【００９８】
グラデーションを保証したい直線上に補間点がある場合には、ステップＳ５，Ｓ６の処理を行う。一方、補間点がグラデーションを保証したい直線上になかった場合には、ステップＳ７，Ｓ８，Ｓ９の処理を行う。
【００９９】
図８は、図７のステップＳ５，Ｓ６で行う補間点がグラデーションを保証したい直線上にあるときの非線形変換パラメータの算出処理の原理説明である。非線形変換パラメータの算出対象とする単位データセット４０は、格子点間隔ｗ＝３２を一辺とした立方体で構成され、立方体の頂点となる８つの格子点Ａ１〜Ａ８につき、例えば格子点Ａ１と格子点Ａ８を結ぶ直線を無彩色グラデーション保証線４２としている。
【０１００】
また実際のＲＧＢ／ＣＭＹ座標変換空間の任意の格子点の入力ＲＧＢ値を（Ｒ，Ｇ，Ｂ）とすると、これらの入力Ｒ，Ｇ，Ｂ値のそれぞれを格子点間隔ｗで割って整数化することで単位データセット４０の格子点Ａ１〜Ａ８に置き換えることができる。この入力Ｒ，Ｇ，Ｂ値のデータセットによる座標値への変換は、次式によって行う。
ｒ＝（ｉｎｔ）（Ｒ÷ｗ）
ｇ＝（ｉｎｔ）（Ｇ÷ｗ）            （６）
ｂ＝（ｉｎｔ）（Ｂ÷ｗ）
この結果、図８の単位データセット４０における格子点Ａ１〜Ａ８のデータセット番号による位置は次のようになる。
Ａ１(r,g,b)
Ａ２(r+1,g,b)
Ａ３(r,g+1,b)
Ａ４(r+1,g+1,b)
Ａ５(r,g,b+1)
Ａ６(r+1,g,b+1)
Ａ７(r,g+1,b+1)
Ａ８(r+1,g+1,b+1)
このように、データセット４０内の位置が定義される格子点Ａ１〜Ａ８において、無彩色グラデーション保証線４２の一端の格子点Ａ１はｒ＝ｇ＝ｂで無彩色を表し、また他端の格子点Ａ８はｒ＋１＝ｇ＋１＝ｂ＋１として無彩色を表している。
【０１０１】
また格子点Ａ１にセットされた出力値（Ｃ１，Ｍ１，Ｙ１）と、格子点Ａ８にセットされた出力値（Ｃ８，Ｍ８，Ｙ８）との間には
Ａ１（Ｃ１，Ｍ１，Ｙ１）＜Ａ８（Ｃ８，Ｍ８，Ｙ８）
となる関係がある。即ち、格子点Ａ１の出力ＣＭＹ値が最小で格子点Ａ８の出力ＣＭＹ値が最大となり、その間の補間点で出力ＣＭＹ値が線形に変化している。
【０１０２】
図８の無彩色グラデーション保証線４２上にある補間点４４の非線形変換パラメータＶＶ１〜ＶＶ８は、無彩色グラデーション保証線４２の両端の格子点Ａ１，Ａ８のみを参照し、保証線以外の格子点Ａ２〜Ａ７は参照しないように、次式で非線形変換パラメータＶＶ１〜ＶＶ８を算出する。
ＶＶ１＝（ｗ×ｗ×ｗ）×（Ｂ１／Ｂ０）
ＶＶ２＝０
ＶＶ３＝０
ＶＶ４＝０                                      （７）
ＶＶ５＝０
ＶＶ６＝０
ＶＶ７＝０
ＶＶ８＝（ｗ×ｗ×ｗ）×（Ｂ２／Ｂ０）
即ち、無彩色グラデーション保証線４２上の補間点４４に対し、格子点Ａ８からの距離Ｂ１と格子点Ａ１からの距離Ｂ２を求め、単位データセット４０の体積（ｗ×ｗ×ｗ）を保証線４２の全長Ｂ０＝Ｂ１＋Ｂ２に対する格子点Ａ１，Ａ８から補間点４４に対する長さＢ１，Ｂ２の割合でデータセットの体積を２分割した非線形変換パラメータＶＶ１，ＶＶ８を算出している。
【０１０３】
また無彩色グラデーション保証線４２上にない他の格子点Ａ２〜Ａ７に対応した非線形変換パラメータＶＶ２〜ＶＶ７については、全てゼロとすることで補間計算に参照しないようにしている。
【０１０４】
この図８の無彩色グラデーション保証線４２上の補間点４４についての非線形変換パラメータの算出処理は、図７のステップＳ５のようにまず保証線の２端点となる格子点と補間点との距離Ｂ１，Ｂ２を算出し、続いてステップＳ６で（７）式に従って非線形変換パラメータＶＶ１〜ＶＶ８を算出して格納する。
【０１０５】
図９は、図７のステップＳ７〜Ｓ９のグラデーションを保証したい直線上に補間点がない場合の非線形変換パラメータ算出処理の原理を示している。単位データセット４０において、格子点Ａ１とＡ８を結ぶ無彩色グラデーション保証線４２に対し、補間点４４がデータセット内の外れた位置に存在したとする。
【０１０６】
この場合には補間点４４を通って無彩色グラデーション保証線４２に下ろす垂線４６を設定する。この垂線４６の交点４５について、図８の場合と同様、両端の格子点Ａ１，Ａ８からの距離Ｂ２，Ｂ１を求める。また補間点４４を通る垂線４６をデータセット境界まで延長して境界点４８を求め、補間点４４に対する保証線交点４５からの距離Ｌ１と境界点４８からの距離Ｌ２を求める。
【０１０７】
このようにして単位データセット４０内の無彩色グラデーション保証線４２を外れた位置の保証点４４に対する距離Ｂ１，Ｂ２，Ｌ１，Ｌ２が算出できたならば、次式により８つの格子点Ａ１〜Ａ８を参照する非線形変換パラメータＶＶ１〜ＶＶ８を算出する。
【０１０８】
【数２】
0003664364.tif 000005
この（８）式による非線形変換パラメータＶＶ１〜ＶＶ８の算出は、全ての格子点Ａ１〜Ａ８を線形的に参照して求めた（５）式の線形変換パラメータＶ１〜Ｖ８に対し、無彩色グラデーション保証線４２に補間点が近付くほど、保証線両端の格子点Ａ１，Ａ８を参照する割合を多くすると共に、保証線以外の格子点Ａ２〜Ａ７を参照する割合を少なくするように非線形変換している。
【０１０９】
この（８）式は非線形変換パラメータＶＶ１〜ＶＶ８を求めるための一般式であり、図９において補間点４４の垂線交点４５からの距離Ｌ１をＬ１＝０とすると、図８のように補間点４４は無彩色グラデーション保証線４２上に位置する。
【０１１０】
したがって（８）式について、Ｌ１＝０を代入すると（７）式が導出される。即ち（７）式で与えられる無彩色グラデーション保証線４２上に補間点４４が存在する場合は、（８）式の一般形の特異解ということができる。
【０１１１】
また図９において、補間点４４がデータセット境界上にある場合には、Ｌ２＝０であるから前記（８）式は、
ＶＶ１＝Ｖ１
ＶＶ２＝Ｖ２
ＶＶ３＝Ｖ３
ＶＶ４＝Ｖ４
ＶＶ５＝Ｖ５
ＶＶ６＝Ｖ６
ＶＶ７＝Ｖ７
ＶＶ８＝Ｖ８
となる。このため図９の非線形変換パラメータＶＶ１〜ＶＶ８を用いて補間計算するデータセットに隣接するデータセットでは、線形変換パラメータＶ１〜Ｖ８を用いて補間計算を行うが、データセット境界では、共に線形変換パラメータＶ１〜Ｖ８による補間計算となる。
【０１１２】
このため非線形変換パラメータと線形変換パラメータのデータセットが混在しても、データセット境界の補間点の出力値をほぼ同一の値とし、データセット境界での補間した出力値の連続性を保証する。
【０１１３】
図９に対応した図７のステップＳ７〜Ｓ９の処理にあっては、まずステップＳ７で無彩色グラデーション保証線４２の２端点となる格子点Ａ１，Ａ８と補間点４４から保証線に下ろした垂線４６の交点４５との距離Ｂ１，Ｂ２を算出する。次にステップＳ８で、保証線に下ろした垂線４６について、保証線の垂線交点４５及びデータセット境界点４８の補間点４４に対する距離Ｌ１，Ｌ２を算出する。そしてステップＳ９で、保証線から外れた補間点の非線形変換パラメータＶＶ１〜ＶＶ８を（８）式に従って算出する。
【０１１４】
ステップＳ１０〜Ｓ１５の処理は、図６のステップＳ４〜Ｓ９と同じであり、一辺が格子間隔ｗ＝３２の立方体である単位データセット４０の内部の全ての補間点の位置について非線形変換パラメータＶＶ１〜ＶＶ８を求めて格納する処理を行う。
【０１１５】
再び図５を参照するに、ステップＳ１〜Ｓ３の準備処理を通じて作成されたＲＧＢ／ＣＭＹ変換テーブル、線形変換パラメータ及び非線形変換パラメータのそれぞれは、図３のように色変換装置１６側に格納され、色変換のための準備が完了する。もちろん準備完了で支援準備装置１８は切り離され、それ以降は色変換装置１６が単独で機能する。
【０１１６】
図５のステップＳ４以降は、図３の色変換装置１６における色変換処理である。まずステップＳ４で、変換元となるＲＧＢ画像データ２８を図３のように画像メモリ２２に入力する。続いてステップＳ５で、コントローラ２０により色変換処理を起動すると、コントローラ２０は画像メモリ２２のＲＧＢ画像データ２８から画素配列に従って変換画像データの色信号値即ちＲＧＢ値を取り出し、ＲＧＢ／ＣＭＹ変換テーブル２４に入力する。
【０１１７】
次にステップＳ６で、入力したＲＧＢ値がＲＧＢ／ＣＭＹ変換テーブル２４における変換色空間の格子点を与える入力値であるか否かチェックし、格子点を与える入力値であればステップＳ７に進み、その格子点にセットしているＣＭＹ値を読み出し、ステップＳ９で変換後の色信号値として出力し、ステップＳ１０で全色信号の終了をチェックした後、再びステップＳ５に戻り、次のＲＧＢ色信号値を入力する。
【０１１８】
一方、ステップＳ６で入力ＲＧＢ値が変換座標空間の格子点に対応しない場合には、ステップＳ８の補間変換処理を行う。補間変換処理が済むと、ステップＳ９で補間後の色信号値を出力した後、ステップＳ１０で全色信号値の終了まで、ステップＳ５からの処理を繰り返す。全ての色信号の処理が終了するとステップＳ１１で、色変換した画像データをカラープリンタ１４に出力して印刷する。
【０１１９】
図１０は図５のステップＳ８における補間変換処理のフローチャートである。図１０の補間変換処理において、まずステップＳ１で入力ＲＧＢ値として与えられる補間点についてデータセット番号を算出する。ここで補間点の位置をＸ（Ｒｃ，Ｇｃ，Ｂｃ）とすると、前記（６）式により単位データセット内の位置を示すデータセット番号（ｒ，ｇ，ｂ）が算出される。
【０１２０】
次にステップＳ２で、図８，図９のデータセット４０に示したように無彩色グラデーション保証軸を含むデータセットか否かチェックする。この無彩色軸を含むデータセットか否かの判定は、ステップＳ１で算出したデータセット番号（ｒ，ｇ，ｂ）が全て等しいか否かでチェックする。
【０１２１】
データセット番号（ｒ，ｇ，ｂ）が全て等しければ、無彩色軸を含むデータセットであることから、ステップＳ３〜Ｓ５に進んで非線形変換パラメータＶＶ１〜ＶＶ８を用いた補間計算を行う。一方、データセット番号（ｒ，ｇ，ｂ）の間に等しい関係がなければ、無彩色軸を含まないデータセットであることから、ステップＳ６〜Ｓ１０の処理により線形変換パラメータＶ１〜Ｖ８を用いた補間計算を行う。
【０１２２】
ステップＳ３〜Ｓ５の非線形変換パラメータＶＶ１〜ＶＶ８を用いた補間計算にあっては、まずステップＳ３でデータセット内の補間点の位置（Ｒｓ，Ｇｓ，Ｂｓ）を次式に基づいて算出する。
【０１２３】
Ｒｓ＝（Ｒｃ）％ｗ
Ｇｓ＝（Ｇｃ）％ｗ                  （９）
Ｂｓ＝（Ｂｃ）％ｗ
但し、％は余り
続いてステップＳ４で、データセット内の補間点の位置（Ｒｓ，Ｇｓ，Ｂｓ）によって図３の非線形変換パラメータ格納部３２を参照して、対応する非線形変換パラメータＶＶ１〜ＶＶ８を読み出す。そしてステップＳ５で、非線形変換パラメータＶＶ１〜ＶＶ８を用いた非線形補間計算を次式により行う。
0003664364.tif 000006
ここで（１０）式の補間計算で使用する格子点Ａ１〜Ａ８にセットしているＣＭＹ出力値は
Ａ１：（Ｃ１，Ｍ１，Ｙ１）
Ａ２：（Ｃ２，Ｍ２，Ｙ２）
Ａ３：（Ｃ３，Ｍ３，Ｙ３）
Ａ４：（Ｃ４，Ｍ４，Ｙ４）
Ａ５：（Ｃ５，Ｍ５，Ｙ５）
Ａ６：（Ｃ６，Ｍ６，Ｙ６）
Ａ７：（Ｃ７，Ｍ７，Ｙ７）
Ａ８：（Ｃ８，Ｍ８，Ｙ８）
を表わしている。この格子点Ａ１〜Ａ８のＣＭＹ出力値をデータセット番号を用いた格子点座標で表現すると、次の配列のようになる。
Ｃ１＝Ｃ［ｒ，ｇ，ｂ］
Ｃ２＝Ｃ［ｒ＋１，ｇ，ｂ］
Ｃ３＝Ｃ［ｒ，ｇ＋１，ｂ］
Ｃ４＝Ｃ［ｒ＋１，ｇ＋１，ｂ］
Ｃ５＝Ｃ［ｒ，ｇ，ｂ＋１］
Ｃ６＝Ｃ［ｒ＋１，ｇ，ｂ＋１］
Ｃ７＝Ｃ［ｒ，ｇ＋１，ｂ＋１］
Ｃ８＝Ｃ［ｒ＋１，ｇ＋１，ｂ＋１］
Ｍ１＝Ｍ［ｒ，ｇ，ｂ］
Ｍ２＝Ｍ［ｒ＋１，ｇ，ｂ］
Ｍ３＝Ｍ［ｒ，ｇ＋１，ｂ］
Ｍ４＝Ｍ［ｒ＋１，ｇ＋１，ｂ］
Ｍ５＝Ｍ［ｒ，ｇ，ｂ＋１］
Ｍ６＝Ｍ［ｒ＋１，ｇ，ｂ＋１］
Ｍ７＝Ｍ［ｒ，ｇ＋１，ｂ＋１］
Ｍ８＝Ｍ［ｒ＋１，ｇ＋１，ｂ＋１］
Ｙ１＝Ｙ［ｒ，ｇ，ｂ］
Ｙ２＝Ｙ［ｒ＋１，ｇ，ｂ］
Ｙ３＝Ｙ［ｒ，ｇ＋１，ｂ］
Ｙ４＝Ｙ［ｒ＋１，ｇ＋１，ｂ］
Ｙ５＝Ｙ［ｒ，ｇ，ｂ＋１］
Ｙ６＝Ｙ［ｒ＋１，ｇ，ｂ＋１］
Ｙ７＝Ｙ［ｒ，ｇ＋１，ｂ＋１］
Ｙ８＝Ｙ［ｒ＋１，ｇ＋１，ｂ＋１］
したがって実際には補間計算の（１０）式は、このデータセット番号を用いた配列として定義される。
【０１２４】
図１０のステップＳ６〜Ｓ１０のデータセットに無彩色軸を含まない場合の線形変換パラメータＶ１〜Ｖ６を用いた補間計算は次のようになる。まずステップＳ６で、ステップＳ３の場合と同様、前記（９）式に従ってデータセット内の補間点の位置（Ｒｓ，Ｇｓ，Ｂｓ）を算出する。
【０１２５】
続いてステップＳ７で、現在処理対象としている補間点を含むデータセットに格納しているＣＭＹ出力値が非線形特性をもった範囲であるか否か判定する。現在のデータセットが線形特性の範囲であればステップＳ９に進み、ステップＳ６で求めたデータセット内の補間点の位置（Ｒｓ，Ｇｓ，Ｂｓ）による図３の線形変換パラメータ格納部３２の参照で、対応する線形変換パラメータＶ１〜Ｖ８を読み出し、ステップＳ１０で次式に従って補間点の出力値（Ｃｘ，Ｍｘ，Ｙｘ）を算出する。
0003664364.tif 000007
一方、ステップＳ７で補間点を含むデータセットの出力ＣＭＹ値が非線形性の強い範囲にある場合には、ステップＳ８に進み、出力ＣＭＹ値の非線形カーブの変換式により、ステップＳ１で入力した補間点Ｘ（Ｒｃ，Ｇｃ，Ｂｃ）について、出力ＣＭＹ値の非線形カーブの変換式を適用して補間点の位置Ｘ（Ｒｃ１，Ｇｃ１，Ｂｃ１）を再計算した後、再計算した補間点位置について、ステップＳ６と同様、（９）式を適用してデータセット内の補間点の位置（Ｒｃ，Ｇｃ，Ｂｃ）を求め、ステップＳ９による線形変換パラメータＶ１〜Ｖ８の読出しを行って、ステップＳ１０で（１１）式で再計算した補間点の出力値（Ｃｘ，Ｍｘ，Ｙｘ）を算出する。
【０１２６】
図１１は図１０のステップＳ８におけるＣＭＹ出力値の非線形特性による補間点位置の再計算の説明図である。図１１は図２２と同様、図１７のＲＧＢ／ＣＭＹ変換座標空間１０４をＧ−Ｒ面から見ており、データセット５０−１の格子点Ａ１，Ａ２６にセットしたＣＭＹ出力値は、線形のＧＲ入力値に対しγ曲線を与える指数（１／γ）の非線形カーブ５２で変化している。
【０１２７】
このため格子点Ａ１とＡ２６の間の補間点について、線形補間を行った場合には直線５４に従うことになり、非線形カーブ５２との間に差をもつことから変換誤差が大きくなる。
【０１２８】
そこで図１０のステップＳ８にあっては、直線５４上の補間点５６の入力ＲＧＢ値に対し、例えばγ曲線による指数関数（１／γ）による位置の再計算を次式により行う。
【数３】
0003664364.tif 000008
但し、Ｒ1,Ｇ1,Ｂ1 は入力値（Ｒ，Ｇ，Ｂ）を０〜１の範囲に正規化した値
この非線形カーブに合わせるための再計算は、補間点を与える入力値（Ｒ，Ｇ，Ｂ）をそれぞれの最大値２５５で割ってデータセットを０〜１の範囲に正規化し、この正規化した入力値（Ｒ１，Ｇ１，Ｂ１）について、（１２）式に代入して（１／γ）乗し、続いて最大値２５５を掛けて正規化値を元の絶対値に戻すことで再計算している。
【０１２９】
これを図１１のデータセット５０−１について見ると、直線５４の補間点５６は、そのＧ値及びＲ値が（１／γ）乗されることで非線形カーブ５２上の再計算点６０に補正される。
【０１３０】
このような再計算により線形のＲＧＢ入力値に対応して線形の出力ＣＭＹ値を格納した変換座標空間であっても、線形ＲＧＢ入力値の位置の再計算により非線形カーブの特性に従った出力ＣＭＹ値を補間値として出力することができる。もちろん、非線形カーブはγ曲線以外に適宜の非線形曲線に適用できることはもちろんである。
【０１３１】
図１２は、図１７のＲＧＢ／ＣＭＹ座標変換空間１０４の無彩色軸上の入力ＲＧＢ値について、線形変換パラメータＶ１〜Ｖ８を用いて行った出力ＣＭＹ値の算出結果の特性図である。この無彩色軸上の線形変換パラメータを用いた補間計算にあっては、入力ＲＧＢ値が６４を下回る低い値の領域でリップル状に変化することで補間値の逆転現象を起こしている。
【０１３２】
図１３は本発明で新たに算出された非線形変換パラメータＶＶ１〜ＶＶ８、即ち前記（８）式の非線形変換パラメータＶＶ１〜ＶＶ８を用いた無彩色軸上の入力ＲＧＢ値に対する出力ＣＭＹ値の補間計算の結果の特性図である。
【０１３３】
この非線形変換パラメータＶＶ１〜ＶＶ８を用いた補間計算にあっては、入力ＲＧＢ値の全域において補間値の逆転を起こすリップルは発生せず、黒から白に変化する方向性をもつ無彩色グラデーションを忠実に再現した高精度の補間が行われている。
【０１３４】
以上の実施形態はＲＧＢ／ＣＭＹ変換テーブルを用いて入力ＲＧＢ値を出力ＣＭＹ値に変換する色変換方法を例にとるものであったが、これ以外の色変換として図１４のＲＧＢ／Ｌａｂ座標変換空間の変換テーブル１０６、あるいは図１５のＬａｂ／ＣＭＹ座標変換空間の変換テーブル１０８を用いた色変換の補間処理についても、全く同様にして本発明を適用することができる。
【０１３５】
図１４のＲＧＢ／Ｌａｂ座標変換空間１０６を用いた場合の線形変換パラメータＶ１〜Ｖ８、非線形変換パラメータＶＶ１〜ＶＶ８それぞれの補間計算は次のようになる。
【０１３６】
まず単位データセットの内部の補間点位置を（Ｒｓ，Ｇｓ，Ｂｓ）とすると、線形変換パラメータＶ１〜Ｖ８は次式で定められる。
Ｖ８＝（ｗ−Ｒｓ）×（ｗ−Ｇｓ）×（ｗ−Ｂｓ）
Ｖ７＝Ｒｓ×（ｗ−Ｇｓ）×（ｗ−Ｂｓ）
Ｖ６＝（ｗ−Ｒｓ）×Ｇｓ×（ｗ−Ｂｓ）
Ｖ５＝Ｒｓ×Ｇｓ×（ｗ−Ｂｓ）                      （１３）
Ｖ４＝（ｗ−Ｒｓ）×（ｗ−Ｇｓ）×Ｂｓ
Ｖ３＝Ｒｓ×（ｗ−Ｇｓ）×Ｂｓ
Ｖ２＝（ｗ−Ｒｓ）×Ｇｓ×Ｂｓ
Ｖ１＝Ｒｓ×Ｇｓ×Ｂs
この線形変換パラメータＶ１〜Ｖ８を用いた補間点の出力値（Ｌ* ｘ，ａ* ｘ，ｂ* ｘ）の算出は次式で行う。
0003664364.tif 000009
また非線形変換パラメータＶＶ１〜ＶＶ８の算出は、ＲＧＢ／ＣＭＹ変換座標空間の場合と同様、グラデーション保証線上では前記（７）式で算出され、グラデーションを外れた補間点では前記（８）式で算出される。この場合の（８）式で使用される線形変換パラメータＶ１〜Ｖ８は（１３）式により算出した値であり、また非線形変換パラメータＶＶ１〜ＶＶ８を用いた出力値（Ｌ* ｘ，ａ* ｘ，ｂ* ｘ）の補間計算は次式で行う。
0003664364.tif 000010
同様に図１５のＬａ／ＣＭＹ座標変換空間１０８について、線形変換パラメータＶ１〜Ｖ８、非線形変換パラメータＶＶ１〜ＶＶ８、及びそれぞれのパラメータに基づく補間計算を説明すると次のようになる。
【０１３７】
まず単位データセット内の補間点の位置を（Ｌｓ，ａｓ，ｂｓ）とすると、線形変換パラメータＶ１〜Ｖ８は次式で算出される。
Ｖ８＝（ｗ−Ｌｓ）×（ｗ−ａｓ）×（ｗ−ｂｓ）
Ｖ７＝Ｌｓ×（ｗ−ａｓ）×（ｗ−ｂｓ）
Ｖ６＝（ｗ−Ｌｓ）×ａｓ×（ｗ−ｂｓ）
Ｖ５＝Ｌｓ×ａｓ×（ｗ−ｂｓ）                      （１６）
Ｖ４＝（ｗ−Ｌｓ）×（ｗ−ａｓ）×ｂｓ
Ｖ３＝Ｌｓ×（ｗ−ａｓ）×ｂｓ
Ｖ２＝（ｗ−Ｌｓ）×ａｓ×ｂｓ
Ｖ１＝Ｌｓ×ａｓ×ｂｓ
また非線形変換パラメータＶＶ１〜ＶＶ８は前記のＲＧＢ／ＣＭＹ座標変換空間の場合と同様、グラデーション保証線上では前記（７）式で算出され、またグラデーション保証線を外れた位置では前記（８）式で算出される。この場合の（８）式で使用する線形変換パラメータＶ１〜Ｖ８は（１６）式で算出した値を使用する。
【０１３８】
更に線形変換パラメータＶ１〜Ｖ８を用いた補間点の出力値（Ｃｘ，Ｍｘ，Ｙｘ）の算出は次式で行う。
0003664364.tif 000011
更に非線形変換パラメータＶＶ１〜ＶＶ６に基づく出力値（Ｃｘ，Ｍｘ，Ｙｘ）の算出は次式で行う。
0003664364.tif 000012
尚、上記の実施形態はデータセットのサイズを決める格子間隔ｗをｗ＝３２とした場合を例にとるが、この格子間隔ｗは必要に応じて適宜に定めることができる。また上記の実施形態は、表色系のＲＧＢ，ＣＭＹ及び輝度色差分離系のＬ* ，ａ* ，ｂ* の色空間での変換を例にとるものであったが、これ以外にＣＩＥＸＹＺやＹＣｂＣｒ等の色空間を含む２つの異なった色空間での変換について同様に適用することができる。
【０１３９】
また本発明は上記の実施形態に限定されず、その目的と利点を損なわない範囲の適宜の変形を含む。更に本発明は上記の実施形態の数値による限定は受けない。
【０１４０】
【発明の効果】
以上説明してきたように本発明によれば、グラデーションの方向性を保証する精度の高い非線形変換パラメータを用いた補間計算と、高速処理できる線形変換パラメータを用いた補間計算とを設け、グラデーションを保証する必要のある領域についてのみ精度の高い非線形変換パラメータを使用した補間計算を行い、残りは高速処理の可能な線形変換パラメータを用いた補間計算を行うことにより、無彩色等のグラデーション軸を含む領域での補間による出力色の反転を確実に防止し、全体として高精度で且つ性能的にも影響の少ない色変換を行うことができる。
【０１４１】
また本発明は、入力色と出力色の選定関係で設定した多次元変換テーブルを用いて出力色に特定の非線形変換パラメータ特性例えばγ特性をもたせたい場合、補間点の入力色を非線形特性に基づく位置に変換する再計算を行った後に、再計算した補間点の出力値を線形補間計算で算出することで、線形変換特性をもつ多次元変換テーブルであっても出力色の非線形特性に対応した出力値が補間により得られ、線形補間を行った場合の非線形出力特性に対する変換誤差を大幅に低減することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明が適用されるコンピュータ装置の説明図
【図３】本発明の色変換を実現する機能ブロック図
【図４】本発明の色変換方法の基本手順のフローチャート
【図５】本発明の色変換処理のフローチャート
【図６】図５の線形変換パラメータ算出処理のフローチャート
【図７】図５の非線形変換パラメータ算出処理のフローチャート
【図８】データセットのグラデーション保証線上に補間点がある場合の非線形変換パラメータの算出原理の説明図
【図９】データセットのグラデーション保証線を外れる位置に補間点がある場合の非線形変換パラメータの算出原理の説明図
【図１０】図５の補間変換処理のフローチャート
【図１１】図１０の線形補間計算で行われる出力色の非線形特性に適合した入力色の再計算の説明図
【図１２】無彩色グラデーション保証線上で線形変換パラメータを使用して補間計算を行った時の入力ＲＧＢ値に対する出力ＣＭＹ値の特性図
【図１３】無彩色グラデーション保証線上で非線形変換パラメータを使用して補間計算を行った時の入力ＲＧＢ値に対する出力ＣＭＹ値の特性図
【図１４】ＲＧＢ入力色をＬ* ａ* ｂ* 出力色に変換する変換座標空間の説明図
【図１５】Ｌ* ａ* ｂ* 入力色をＣＭＹ出力色に変換する変換座標空間の説明図
【図１６】色変換の多次元の座標変換空間の概略説明図
【図１７】ＲＧＢ入力色をＣＭＹ出力色に変換する変換座標空間の説明図
【図１８】立方体補間法による線形補間時のデータセットの格子点と補間点の説明図
【図１９】線形補間パラメータの体積計算のために直方体に分割したデータセットの説明図
【図２０】無彩色グラデーション保証線上での出力値の逆転を示したデータセットの説明図
【図２１】出力色の逆転を防止する従来の補間法の説明図
【図２２】出力色について非線形特性の強い部分で生ずる変換誤差の説明図
【符号の説明】
１０：コンピュータ装置
１２：カラーディスプレイ
１４：カラープリンタ
１６：色変換装置
１８：支援準備装置
２０：コントローラ
２２：画像メモリ
２４：ＲＧＢ／ＣＭＹ変換テーブル
２６：補間計算ユニット
２８：画像データ
３０：線形変換パラメータ格納部
３２：非線形変換パラメータ格納部
３４：変換テーブル作成ユニット
３６：線形変換パラメータ計算ユニット
３８：非線形変換パラメータ計算ユニット
４０：単位データセット（単位格子空間）
４２：グラデーション保証線
４４：補間点
４６：垂線
４８：境界点
５０−１，５０−２：データセット（格子空間）
５２：非線形特性曲線（γ曲線）
５４：直線
５６：入力点
５８：再計算入力点
６０：ＲＧＢ／Ｌａｂ変換座標空間
６２：ＲＧＢ／ＣＭＹ変換座標空間
６４：ＲＧＢ／ＣＭＹ変換座標空間
【図１】
0003664364.tif 000013
【図２】
0003664364.tif 000014
【図３】
0003664364.tif 000015
【図４】
0003664364.tif 000016
【図５】
0003664364.tif 000017
【図６】
0003664364.tif 000018
【図７】
0003664364.tif 000019
【図８】
0003664364.tif 000020
【図９】
0003664364.tif 000021
【図１０】
0003664364.tif 000022
【図１１】
0003664364.tif 000023
【図１２】
0003664364.tif 000024
【図１３】
0003664364.tif 000025
【図１４】
0003664364.tif 000026
【図１５】
0003664364.tif 000027
【図１６】
0003664364.tif 000028
【図１７】
0003664364.tif 000029
【図１８】
0003664364.tif 000030
【図１９】
0003664364.tif 000031
【図２０】
0003664364.tif 000032
【図２１】
0003664364.tif 000033
【図２２】
0003664364.tif 000034