(57)【特許請求の範囲】
【請求項１】
出力装置の入出力特性関数の感度行列の逆行列を用いて逐次解を繰り返して算出することにより与えられた第１の色信号から第２の色信号を逐次近似により算出する第１の算出手段と、前記感度行列の行列式、または、算出された逐次解と前記出力装置により再現される色域の外郭を表す色信号との差によって、前記第１の算出手段で算出された逐次解が発散しているか否かを判定する判定手段と、前記判定手段で発散すると判定された場合に、前記感度行列の逆行列を用いない方法、あるいは逆行列を用いても発散しないように変更した方法により逐次解を算出する第２の算出手段を有することを特徴とする色処理装置。
【請求項２】
前記第２の算出手段は、前記感度行列を用いた線形方程式の未知数のうち少なくとも１つを固定値に設定した線形方程式を、固定する未知数を変更して複数生成する線形方程式生成手段と、それぞれの線形方程式を最小化する解を求める最小化演算手段と、最小化した解をもとに前記入出力特性関数を用いてそれぞれの解に対応する色信号を予測する予測手段と、予測された色信号が前記第１の色信号との差が最小となる線形方程式を選択して該線形方程式により得られた解を逐次解とする選択手段を有することを特徴とする請求項１に記載の色処理装置。
【請求項３】
前記線形方程式生成手段は、前記出力装置により再現される色域の外郭の色信号となるように未知数を固定することを特徴とする請求項２に記載の色処理装置。
【請求項４】
前記第２の算出手段は、前記感度行列を用いた線形方程式を最小化する逐次解を算出することを特徴とする請求項１に記載の色処理装置。
【請求項５】
前記第２の算出手段は、前記感度行列と正則化係数を用いた行列の逆行列を用いて逐次解を算出することを特徴とする請求項１に記載の色処理装置。
【請求項６】
コンピュータに、請求項１から請求項５のいずれか１項に記載の色処理装置の機能を実行させるものであることを特徴とする色処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色処理装置および色処理プログラムに関するものである。
【背景技術】
【０００２】
出力装置の入出力特性は、出力装置に与えた色信号と、その色信号に対応して出力装置から出力された色を測色した色信号との対から得られる。例えばＣ（シアン｝、Ｍ（マゼンタ｝、Ｙ（イエロー）あるいはさらにＫ（ブラック）の色材を用いて画像を形成する画像形成装置であれば、ＣＭＹ色信号やＣＭＹＫ色信号を画像形成装置に与え、形成された画像の色を測色することによりＬ* ａ* ｂ* 色信号が得られる。このＣＭＹ色信号またはＣＭＹＫ色信号とＬ* ａ* ｂ* 色信号の対から、ＣＭＹ色信号またはＣＭＹＫ色信号からＬ* ａ* ｂ* 色信号への入出力特性が得られる。また、表示装置であればＲＧＢ色信号を与え、表示された色を測色することによりＬ* ａ* ｂ* 色信号が得られるので、ＲＧＢ色信号とＬ* ａ* ｂ* 色信号の対からＲＧＢ色信号からＬ* ａ* ｂ* 色信号への入出力特性が得られる。
【０００３】
このような入出力特性を示す関数の逆関数を用いることによって、例えば与えられたＬ* ａ* ｂ* 色信号からＣＭＹ色信号またはＣＭＹＫ色信号、あるいはＲＧＢ色信号などが得られることになる。色彩工学の分野で知られているＣＣＭ（Ｃｏｍｐｕｔｅｒ  Ｃｏｌｏｒ  Ｍａｔｃｈｉｎｇ）では、逆関数を解くのにニュートン法を使用している。
【０００４】
ニュートン法では、出力装置に対して与える色信号を入力色信号、出力装置から出力された色の信号（例えば測色した色信号）を出力色信号とした場合、与えられた出力色信号に対して、入力色信号に適当な初期値を与え、出力装置の入出力特性を示す関数の感度を基に、入力色信号を修正していくことで収束させていく。この原理により、出力色信号から入力色信号を算出するという、入出力特性を示す関数の逆関数を解くことになる。
【０００５】
ここで、入力色信号を修正するために入力色信号の更新量を算出するが、更新量の算出には感度行列（ヤコビ行列）の逆行列を使用する。感度行列の逆行列を用いることから、感度行列が非正則であれば解が発散することになる。解が発散してしまうと収束せず、入力色信号は算出されないため、発散を防ぐ必要がある。
【０００６】
例えば、特許文献１では、入力色信号に対して単調となる仮想的な出力色信号を用意し、逆関数の単調性を逐次確保しながら演算を行うことにより解の発散を防いでいる。この場合、実際に得られた入出力特性だけでなく、強制的に単調となるように仮想的な出力色信号を用いることから、精度が犠牲となる。
【０００７】
また、特許文献２ではノイゲバウア方程式を出力装置の入出力特性を示す関数として用い、ヤコビ行列の最大特異値に基づいて、出力色信号に対応する複数の入力色信号から選択することにより解を求めている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平９−９０８６号公報
【特許文献２】特許第３４７０９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、出力装置の入出力特性を示す関数の逆関数の解を、演算の過程で発散が生じても得ることができる色処理装置および色処理プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１０】
本願請求項１に記載の発明は、出力装置の入出力特性関数の感度行列の逆行列を用いて逐次解を繰り返して算出することにより与えられた第１の色信号から第２の色信号を逐次近似により算出する第１の算出手段と、前記感度行列の行列式、または、算出された逐次解と前記出力装置により再現される色域の外郭を表す色信号との差によって、前記第１の算出手段で算出された逐次解が発散しているか否かを判定する判定手段と、前記判定手段で発散すると判定された場合に、前記感度行列の逆行列を用いない方法、あるいは逆行列を用いても発散しないように変更した方法により逐次解を算出する第２の算出手段を有することを特徴とする色処理装置である。
【００１１】
本願請求項２に記載の発明は、本願請求項１に記載の発明における第２の算出手段が、前記感度行列を用いた線形方程式の未知数のうち少なくとも１つを固定値に設定した線形方程式を、固定する未知数を変更して複数生成する線形方程式生成手段と、それぞれの線形方程式を最小化する解を求める最小化演算手段と、最小化した解をもとに前記入出力特性関数を用いてそれぞれの解に対応する色信号を予測する予測手段と、予測された色信号が前記第１の色信号との差が最小となる線形方程式を選択して該線形方程式により得られた解を逐次解とする選択手段を有することを特徴とする色処理装置である。
【００１２】
本願請求項３に記載の発明は、本願請求項２に記載の発明における線形方程式生成手段が、前記出力装置により再現される色域の外郭の色信号となるように未知数を固定することを特徴とする色処理装置である。
【００１３】
本願請求項４に記載の発明は、本願請求項１に記載の発明における第２の算出手段が、前記感度行列を用いた線形方程式を最小化する逐次解を算出することを特徴とする色処理装置である。
【００１４】
本願請求項５に記載の発明は、本願請求項１に記載の発明における第２の算出手段が、前記感度行列と正則化係数を用いた行列の逆行列を用いて逐次解を算出することを特徴とする色処理装置である。
【００１５】
本願請求項６に記載の発明は、コンピュータに、請求項１から請求項５のいずれか１項に記載の色処理装置の機能を実行させるものであることを特徴とする色処理プログラムである。
【発明の効果】
【００１７】
本願請求項１に記載の発明によれば、感度行列の逆行列を用いて逐次解を繰り返して算出する算出方法を用いながら、逆行列が実質的に発散するのか否かを把握し、演算の過程で発散が生じる場合であっても、出力装置の入出力特性を示す関数の逆関数の解を得ることができる。
【００１８】
本願請求項２に記載の発明によれば、逆行列では発散する場合に、固定値を用いたいくつかの線形方程式から得た解の中から与えられた第１の色信号に最も近い解を逐次解として再近似させてゆくことができる。
【００１９】
本願請求項３に記載の発明によれば、逆行列では発散する場合に、色域外郭となる解の中から与えられた第１の色信号に最も近い解を逐次解として再近似させてゆくことができる。
【００２０】
本願請求項４に記載の発明によれば、逆行列では発散する場合に、発散しない逐次解を得ることができる。
【００２１】
本願請求項５に記載の発明によれば、感度行列の逆行列では発散する場合でも発散することなく逐次解を算出することができる。
【００２２】
本願請求項６に記載の発明によれば、請求項１から請求項５のいずれか１項に記載の発明の効果を得ることができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の一形態を示す構成図である。
【図２】本発明の実施の一形態における動作の一例を示す流れ図である。
【図３】ニュートン法による逐次解の更新の一例の説明図である。
【図４】第２算出部３の一例を示す構成図である。
【図５】本発明の実施の一形態で説明した機能をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体とコンピュータの一例の説明図である。
【発明を実施するための形態】
【００２５】
図１は、本発明の実施の一形態を示す構成図である。図中、１は第１算出部、２は判定部、３は第２算出部である。ここでは、対象の出力装置に与える色信号を第２の色信号とし、その第２の色信号を対象の出力装置に与えて出力された色を測色した色信号を第１の色信号としている。そして、複数の第２の色信号と第１の色信号の対から、出力装置の入出力特性を示す関数である入出力特性関数が得られているものとする。
【００２６】
第１算出部１は、出力装置の入出力特性関数の感度行列の逆行列を用いて逐次解を繰り返して算出することにより、与えられた第１の色信号から第２の色信号を逐次近似して算出する。算出方法としては、ニュートン法など、入出力特性関数の感度行列の逆行列を用いて逐次演算を行う方法であればどのような方法であってもよい。
【００２７】
判定部２は、第１算出部１で算出された逐次解が発散しているか否かを判定する。判定は、感度行列の行列式の値が予め設定されている範囲内であるか否かにより行うほか、第１算出部１で算出された逐次解と出力装置により再現される色域の外郭を表す色信号との差が予め設定されている範囲内であるか否かにより行ってもよく、このほかの周知の方法で判定してもよい。
【００２８】
第２算出部３は、判定部２で逐次解が発散すると判定された場合に、第１算出部１とは異なる方法により逐次解を算出する。算出方法としては、感度行列の逆行列を用いない方法、あるいは逆行列を用いる場合でも発散しないように変更した方法などを使用する。具体的な算出方法の一例については、いくつかを後述する。この第２算出部３で逐次解を算出した場合には、その逐次解を第１算出部１の当該繰り返しにおける逐次解に置き換え、第１算出部１の処理を続行する。
【００２９】
図２は、本発明の実施の一形態における動作の一例を示す流れ図である。第１算出部１は、Ｓ１１において、与えられた色信号、あるいは繰り返しの演算の場合には逐次解における入出力特性関数の感度行列を算出し、さらにＳ１２において、その感度行列の逆行列から逐次解を算出する。
【００３０】
判定部２は、Ｓ１３において、Ｓ１２で算出された逐次解が発散しているか否かを判定する。発散していないと判定した場合には、第１算出部１に対して処理の続行を指示する。第１算出部１は、Ｓ１４において、繰り返し演算が収束したか否かを判定し、収束していなければＳ１１に戻って処理を続ける。収束した場合には、その時点での逐次解を演算結果として出力する。
【００３１】
Ｓ１３で発散していると判定された場合には、第２算出部３は、Ｓ１５において、第１算出部１とは異なる方法により逐次解を算出する。算出した逐次解を第１演算部１の当該繰り返しにおける逐次解とし、Ｓ１４における収束判定を行い、収束していなければＳ１１へ戻り、収束していれば演算結果とする。
【００３２】
上述の構成について、さらに詳細に説明する。一例として、第１算出部１でニュートン法を用いる場合について説明する。図３は、ニュートン法による逐次解の更新の一例の説明図である。一般にニュートン法においてＦ（ｘ）＝０の解を求める場合には、初期値ｘ＝ｘ0 を与え、反復演算によりｘを更新してゆき、収束条件を満たしたｘを演算結果とする。ｘ＝ｘ0 でテーラー展開を行い、
Ｆ（ｘ0 ＋Δｘ）＝Ｆ（ｘ0 ）＋∂Ｆ（ｘ0 ）Δｘ
として、Ｆ（ｘ0 ＋Δｘ）＝０の計算を行う。すると、
Δｘ＝−∂Ｆ（ｘ0 ）-1Ｆ（ｘ0 ）
となるので、初期値より新しい解ｘ1 は
ｘ1 ＝ｘ0 ＋Δｘ＝ｘ0 −∂Ｆ（ｘ0 ）-1Ｆ（ｘ0 ）
となる。ｋ回目に更新された逐次解をｘk として一般化すると、
ｘk+1 ＝ｘk ＋Δｘ＝ｘk −∂Ｆ（ｘk ）-1Ｆ（ｘk ）
により逐次解が更新されてゆくことになる。この式を変形し
Ｆ（ｘk ）＝−∂Ｆ（ｘk ）（ｘk+1 −ｘk ）
とし、Ｆ（ｘ）＝Ｙ−ｆ（ｘ）とおくと、∂Ｆ（ｘk ）＝−∂ｆ（ｘk ）より
Ｙ−ｆ（ｘk ）＝∂ｆ（ｘk ）（ｘk+1 −ｘk ）
となる。この式は関数ｆのｘk における接線を示しており、∂ｆ（ｘk ）は傾きを表すことになる。図３においてはｙ＝ｆ（ｘ）の関数においてＹが与えられた場合のＸを求めるものとしており、Δｘk はｘk+1 −ｘk 、Δｙk はｆ（ｘk+1 ）−ｆ（ｘk ）である。
【００３３】
接線の傾きを示す∂ｆ（ｘk ）はｎ×ｎの行列であり、これを感度行列と呼ぶ。∂ｆ（ｘk ）は、ｘk ＝（ｘk1，ｘk2，…，ｘkn）、ｙk ＝（ｙk1，ｙk2，…，ｙkn）とすると
【数１】
0005700206.tif 000002
である。この感度行列∂ｆ（ｘk ）を図２のＳ１１で算出することになる。
【００３４】
そして、逐次解であるｘk+1 を算出する際に使用した∂Ｆ（ｘk ）-1が感度行列の逆行列である。この感度行列の逆行列を用い、
Δｘk ＝∂ｆ（ｘk ）-1Δｙk 
を算出してｘk+1 ＝ｘk ＋Δｘk により逐次解ｘk+1 を求めればよい。この処理を図２のＳ１２で行う。
【００３５】
判定部２では、得られた逐次解が発散しているか否かを判定する。感度行列は接線の傾きを示していることから、傾きが小さくなるとΔｘが大きくなる関係にある。そのため、感度行列によってはΔｘが発散することになる。判定部２では、Δｘが発散しているか否かを、例えば感度行列の行列式の値が予め設定されている範囲内であるか否かを判定する。例えば行列式の値の下限値を設定しておき、行列式の値が下限値を下回ったら発散したと判定すればよい。あるいは、逐次解が予め設定されている範囲内であるか否かを判定してもよい。設定する範囲は、逐次解の上限値および下限値を設定して、その上限値を超えた場合や下限値を下回った場合に発散したと判定すればよい。このような判定を図２のＳ１３において判定部２で行う。
【００３６】
逐次解ｘk が発散していないと判定された場合には、図２のＳ１４において第１算出部１は収束判定を行う。収束判定は、Ｙ−ｆ（ｘk ）が予め設定されている値以下となったか否かを判定すればよい。収束していると判定された場合には、逐次解ｘk を得られた解とすればよい。また、収束していないと判定された場合には、ｘk から次のｘk+1 を求めるべく、演算を繰り返すことになる。
【００３７】
判定部２で発散したと判定された場合には、第２算出部３で逐次解を算出する。第２算出部３における算出方法の第１の例としては、感度行列を用いた線形方程式を最小化する逐次解を算出する。上述の第１算出部１における算出方法では、Δｘk ＝∂ｆ（ｘk ）-1Δｙk としてΔｘk を求めたが、この例では
Δｙk ＝∂ｆ（ｘk ）Δｘk 
とし、これを以下のように展開する。
【数２】
0005700206.tif 000003
この線形方程式を最小化するコスト関数Ｅは
【数３】
0005700206.tif 000004
であり、このコスト関数に対して∂Ｅ／∂Δｘkjのｊの数（ｎ個）だけの最小化方程式を解くことで、数値解析的にΔｘkjを算出すればよい。この方法では感度行列の逆行列を用いないため逐次解が発散することはない。しかし、この第２算出部３の処理は、第１算出部１の処理に比べて演算に時間を要する。
【００３８】
第２算出部３における算出方法の第２の例は、Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法を用いた例である。例えば上述のΔｙk ＝∂ｆ（ｘk ）Δｘk を解析的に解くために
∂ｆ（ｘk ）T Δｙk ＝∂ｆ（ｘk ）T ∂ｆ（ｘk ）Δｘk 
とする（ガウスニュートン法）と、Δｘk を算出するためには、∂ｆ（ｘk ）T ∂ｆ（ｘk ）の逆行列が必要になる。ここではさらに、∂ｆ（ｘk ）T ∂ｆ（ｘk ）の安定性を確保するために、単位行列Ｉ、正則化パラメータμ（μ＞０）を用い、
∂ｆ（ｘk ）T Δｙk ＝（∂ｆ（ｘk ）T ∂ｆ（ｘk ）＋μＩ）Δｘk 
とする。∂ｆ（ｘk ）T ∂ｆ（ｘk ）＋μＩは正定値行列になるので、安全な逆行列を持ち、かつ、収束方向へ向かう解が算出される。
【００３９】
この第２算出部３における算出方法の第２の例については、具体例を用いながらさらに後述することとする。
【００４０】
第２算出部３で求めた逐次解は第１算出部１に渡され、第１算出部１で求めた逐次解と置き換えて上述の収束判定を行う。収束していると判定された場合には、逐次解を得られた解とすればよい。また、収束していないと判定された場合には、その逐次解から第１算出部１の繰り返し処理を行う。もちろん、繰り返しの処理で発散解と判定されれば、第２算出部３で逐次解を求めることになる。
【００４１】
ここで、上述の処理について、具体例を用いて説明する。例えば出力装置がＣＭＹＫからなる第２の色信号を受け取り、出力装置から出力された色を測色して得た第１の色信号がＬ* ａ* ｂ* であるものとする。ここでは、第２の色信号ｘ＝（Ｃ，Ｍ，Ｙ，Ｋ）T 、第１の色信号ｙ＝（Ｌ* ，ａ* ，ｂ* ）T とすると、出力装置の入出力特性関数ｆは、ｙ＝ｆ（ｘ）である。実際に複数のＣＭＹＫの第２の色信号を出力装置に与えて測色した対応するＬ* ａ* ｂ* の第１の色信号との対から、ノイゲバウア法や回帰モデルを用いた統計的な手法、ニューラルネットワークを用いた学習などにより、出力装置の入出力特性関数ｆが得られる。そして、第１の色信号を与えて第２の色信号を算出する。
【００４２】
この例では未知数となる第２の色信号ｘの次元が４、既知数となる第１の色信号ｙの次元が３であることから、未知数の次元と既知数の次元がともに４となるように、未知数に既知数を与える。例えば未知数ｘ＝（ｘ1 ，ｘ2 ，…，ｘm ）T であり、既知数ｙ＝（ｙ1 ，ｙ2 ，…，ｙn ）T であって、ｍ＞ｎである場合には、未知数の成分のうちｍ−ｎ個の成分については別に既知数を与える。既知数をＸn+1 ，…，Ｘm-1 ，Ｘm としてｘ＝（ｘ1 ，ｘ2 ，…，ｘn ，Ｘn+1 ，…，Ｘm-1 ，Ｘm ）T とすればよい。この具体例では、例えばｘ＝（Ｃ，Ｍ，Ｙ，Ｋ）T の成分のうち、一例としてＫを固定すれば、ＣＭＹの３次元について求めればよい。これにより、Ｌ* ａ* ｂ* とＫからＣＭＹを求めることになる。実質的に、Ｋ固定のもとでＬ* ａ* ｂ* からＣＭＹを求める３次元の演算を行えばよい。
【００４３】
第１算出部１では、感度行列∂ｆ（ｘk ）を算出し、この感度行列の逆行列を用い、Δｘk ＝∂ｆ（ｘk ）-1Δｙk を算出してｘk+1 ＝ｘk ＋Δｘk により逐次解ｘk+1 を求める。感度行列∂ｆ（ｘk ）は、既知数として与えた成分を微分すると０になることからｎ×ｎ次元の正方行列となり、この具体例では３×３行列となる。従って、
Δ（Ｃk ，Ｍk ，Ｙk ）T ＝∂ｆ（Ｃk ，Ｍk ，Ｙk ）-1Δ（Ｌ* ，ａ* ，ｂ* ）T 
を算出し、
（Ｃk+1 ，Ｍk+1 ，Ｙk+1 ）T ＝（Ｃk ，Ｍk ，Ｙk ）T ＋Δ（Ｃk ，Ｍk ，Ｙk ）T 
により逐次解を求めればよい。この場合のＫは予め求めて固定しておく。
【００４４】
判定部２では、得られた逐次解が発散しているか否かを判定する。例えば感度行列∂ｆ（ｘk ）の行列式の値から判定する場合には、予め設定されている範囲内であるか否かを判定する。あるいは、逐次解により判定するのであれば、ＣＭＹＫを網点面積率で示す場合にはそれぞれの成分の値の範囲が０以上１００以下であるので、この範囲を設定したり、この範囲の上限＋α、下限−αを設定してもよい。αは精度に応じて設定すればよい。
【００４５】
判定部２で逐次解が発散していないと判定された場合には、第１算出部１は収束判定を行う。例えば今回算出したΔ（Ｃk ，Ｍk ，Ｙk ）と前回算出したΔ（Ｃk-1 ，Ｍk-1 ，Ｙk-1 ）との差分が予め設定されている範囲に収まったか否かにより判定すればよい。あるいは、逐次解のＣk+1 ，Ｍk+1 ，Ｙk+1 と固定しているＫから入出力特性関数を用いてＬ*k+1，ａ*k+1，ｂ*k+1を算出し、与えられた（Ｌ* ，ａ* ，ｂ* ）との差分（例えば色差）が予め設定されている範囲に収まったか否かにより判定してもよい。収束していれば、（Ｃk+1 ，Ｍk+1 ，Ｙk+1 ，Ｋ）を解とすればよい。収束していなければ、逐次解（Ｃk+1 ，Ｍk+1 ，Ｙk+1 ）をもとに感度行列∂ｆ（ｘk+1 ）の算出から繰り返せばよい。
【００４６】
判定部２で逐次解が発散していると判定された場合には、第２算出部３で逐次解を算出する。算出方法としては、第１の例として上述した感度行列を用いた線形方程式を最小化する逐次解を算出する方法、あるいは、第２の例として上述した単位行列Ｉおよび正則化パラメータを導入したＬｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法を用いた方法などを使用すればよい。
【００４７】
ここではさらに、第２算出部３における算出方法の第３の例について説明する。例えば第１算出部１でｋ回目の演算では発散と判定されなかったが、ｋ＋１回目の演算の際に解が発散したと判定された場合、従来技術として各成分のうち予め設定されている範囲を超えている成分について強制的に最大値または最小値に設定して繰り返す方法がある。この方法によって繰り返しの演算を行っても、振動が収まらずに解が求まらない場合がある。これは、感度行列が非正則な場合は、発散の方向にはもはや意味がないことを示している。すなわち、上述の方法では、予め設定されている範囲を超えている成分について、その成分の方向に発散しているものと見なして、その成分を最大値または最小値に設定し、発散を抑えようとすることに相当する。しかし、そのような操作では発散は収まらないことから、予め設定されている範囲を超えている成分の方向に発散していると考えるのは妥当性を欠くと考えられる。
【００４８】
この第３の例では、解が発散した場合は、いずれの方向の色域外郭を超えた可能性があると考える。この具体例ではＣＭＹＫのうちＫを固定していることから、Ｋを固定した場合のＣＭＹの色域外郭を考えればよい。ＣＭＹの色域外郭は、例えばそれぞれの成分の値を網点面積率で示す場合にはそれぞれの成分の値の範囲は０以上１００以下であるとする。この場合の色域外郭はＣ＝０または１００、Ｍ＝０または１００、Ｙ＝０または１００である。この場合も予め設定されているβを用い、Ｃ＝−βまたは１００＋β、Ｍ＝−βまたは１００＋β、Ｙ＝−βまたは１００＋βとしてもよい。これらの場合について、最小化問題を解く。以下の説明では、理解のために具体的な数値を用いることとし、β＝５としてＣ＝−５または１０５、Ｍ＝−５または１０５、Ｙ＝−５または１０５として説明する。
【００４９】
数２で示した感度行列を用いた線形方程式を、ここで扱っている具体例（ＣＭＹＫおよびＬ* ａ* ｂ* ）の場合に当てはめると、
【数４】
0005700206.tif 000005
となる。例えば、ある逐次解がＣＭＹ＝（９０，８０，２０）であったとすると、それぞれの色域外郭（ここではＣ＝−５または１０５、Ｍ＝−５または１０５、Ｙ＝−５または１０５）までの更新量（色域外郭までの差分）は、ΔＣ＝１５または−９５、ΔＭ＝２５または−８５、ΔＹ＝８５または−２５である。これらを限界更新量とし、これらの限界更新量を基に、未知数よりも数が多い複数の線形方程式を構成する。
【００５０】
ΔＣ＝１５または−９５、ΔＭ＝２５または−８５、ΔＹ＝８５または−２５を１つずつ固定値にした線形方程式は以下のようになる。
【数５】
0005700206.tif 000006
【００５１】
上記の線形方程式では、未知数がΔＣ、ΔＭ、ΔＹのうち２つであり、方程式の数が未知数より多く、安定した解が算出される。また、発散は、実データの存在境界である色域外郭付近で起こるので、最適解は上記線形方程式のいずれかで算出された解に近い。色域外郭で閉じていることから、いずれの方向に発散しているかに関係なく、いずれかの線形方程式で算出された解により発散は抑えられる。
【００５２】
なお、上述の線形方程式を解く際には、数３で示したコスト関数を用いてΔＣ、ΔＭ、ΔＹを数値解析に最小化する解を求めればよい。それぞれの線形方程式の組の数だけΔＣ、ΔＭ、ΔＹの解が算出され、それぞれ、ｋ回目の逐次解（Ｃk ，Ｍk ，Ｙk ）からｋ＋１回目の逐次解（Ｃk+1 ，Ｍk+1 ，Ｙk+1 ）が得られる。これらの逐次解と固定しているＫとから、出力装置の入出力特性関数を用いてＬ* ａ* ｂ* を算出する。そのうち、与えられたＬ* ａ* ｂ* に最も近かった線形方程式の組を決定し、決定した線形方程式によって得られた解により逐次解を求めて第１算出部１の逐次解を更新する。
【００５３】
図４は、第２算出部３の一例を示す構成図である。図中、２１は線形方程式生成部、２２は最小化演算部、２３は予測部、２４は選択部である。上述の第２算出部３の第３の例の構成例を図４に示している。
【００５４】
線形方程式生成部２１は、感度行列を用いた線形方程式の未知数のうち少なくとも１つを固定値に設定した線形方程式を、固定する未知数を変更して複数生成する。未知数を固定する際の値は、出力装置により再現される色域の外郭の色信号となるようにするとよい。上述の具体例例では、数４に示して線形方程式について、Ｃ，Ｍ，Ｙの値をそれぞれ上限値または下限値に固定した６つの線形方程式を生成した。なお、上述の例では固定値として色域外郭から±αの値となるように設定した。もちろん、それぞれの成分について固定する値は上述の具体例に限られるものではない。
【００５５】
最小化演算部２２は、それぞれの線形方程式を最小化する解を求める。それぞれの線形方程式について解を求めるので、上述の具体例では数５に示す６つの線形方程式からそれぞれ解を求めることになる。
【００５６】
予測部２３は、最小化演算部２２で求めた解をもとに、入出力特性関数を用いてそれぞれの解に対応する色信号を予測する。上述の具体例では、それぞれのＣＭＹの解と固定値として与えたＫとから入出力特性関数によりＬ* ａ* ｂ* を予測することになる。
【００５７】
選択部２４は、予測部２３で予測された色信号が、与えられている第１の色信号（Ｌ* ａ* ｂ* ）との差が最小となる線形方程式を選択して、その線形方程式により得られた解から逐次解を求める。
【００５８】
このような構成によって、感度行列の逆行列を用いて得た逐次解が発散する場合でも、この方法により発散することなく逐次解が得られる。得られた逐次解を第１算出部１の逐次解と置換し、収束判定および収束していない場合には繰り返しの処理を行うことになる。
【００５９】
上述の具体例では出力装置に対してＣＭＹＫの色信号を与え、出力装置から出力された色を測色してＬ* ａ* ｂ* の色信号を得る場合について説明した。もちろん、このような各色信号に限らず、例えば出力装置に与える色信号がＣＭＹ、あるいはＣＭＹＫにＯ（オレンジ）、Ｖ（バイオレット）を加えたＣＭＹＫＯＶ、あるいはＣＭＹＫにＲ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）を加えたＣＭＹＫＲＧＢなどや、ＲＧＢなど、種々の色信号であってよい。また、出力装置が出力した色から得る色信号もＬ* ａ* ｂ* に限られるものではなく、ＬＵＶ、ＬＣＨ、ＹＣｒＣｂ、ＸＹＺなど、種々の色信号であってよい。
【００６０】
以上説明した一例では、第１算出部１で用いる算出方法としてニュートン法を用いる場合を例に取り上げた。この第１算出部１で用いる算出方法についても、ニュートン法に限られるものではなく、感度行列の逆行列を用いる種々の方法に対して適用してよい。例えば特開平１０−２６２１５７号公報や特開２００２−８４４３４号公報に記載されている回帰モデルを用いた方法では、実データに対して与えられたＬ* ａ* ｂ* とＫからの距離に応じた重み付けを行って加重回帰分析を行い、感度行列（回帰係数）を算出する。そして、加重を更新することで解を更新してゆく反復演算を行う。
【００６１】
この場合の出力装置の入出力特性関数は、上述の具体例で用いたＣＭＹＫを出力装置に与え、出力された色を測色してＬ* ａ* ｂ* を得る場合、
【数６】
0005700206.tif 000007
で表される。Ｋを固定してＬ* ａ* ｂ* とＫからＣＭＹを求めるには、
【数７】
0005700206.tif 000008
となる。ここで、
【数８】
0005700206.tif 000009
が非正則であれば解が発散する場合が生じる。従って、解が発散するか否かを判定部２で判定し、発散すると判定されれば第２算出部３で発散しない方法により逐次解を求めればよい。
【００６２】
第２算出部３で用いる算出方法は、上述の第１，第２，第３の例、あるいはそのほかの方法を使用すればよい。例えば第３の例を用いる場合には、それぞれの成分の予め設定された上限値および下限値をそのまま使用して未知数の１つを固定した複数組の線形方程式を生成し、最小化問題を解けばよい。具体例としてそれぞれの成分の上限値を１０５、下限値を−５とした場合の線形方程式群は以下の通りである。
【数９】
0005700206.tif 000010
【００６３】
これらの各線形方程式に対してＣ、Ｍ、Ｙの正規方程式を数値解析により解く。線形方程式は数２のΔｙをｙ（ｙはＬ* ａ* ｂ* になる）、Δｘをｘ（ｘはＣＭＹＫとなる）と考え、数３の最小化問題に当てはめて解けばよい。こうすることで、線形方程式の数だけ、ＣＭＹの解が算出される。算出されたそれぞれのＣＭＹ（と既知のＫ）から、出力装置の入出力特性関数を用いてＬ* ａ* ｂ* を算出する。算出されたＬ* ａ* ｂ* のうち、与えられたＬ* ａ* ｂ* に最も近いものを算出した線形方程式の解を選択し、近似解を求める。そして、発散すると判定された近似解と置換し、収束判定と収束していなければ、近似解から実データへの加重を行い、さらなる繰り返しの処理を行えばよい。
【００６４】
図５は、本発明の実施の一形態で説明した機能をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体とコンピュータの一例の説明図である。図中、３１はプログラム、３２はコンピュータ、４１は光磁気ディスク、４２は光ディスク、４３は磁気ディスク、４４はメモリ、５１はＣＰＵ、５２は内部メモリ、５３は読取部、５４はハードディスク、５５はインタフェース、５６は通信部である。
【００６５】
上述の本発明の実施の一形態で説明した各部の機能を全部あるいは部分的に、コンピュータに実行させるプログラム３１によって実現してもよい。その場合、そのプログラム３１およびそのプログラムが用いるデータなどは、コンピュータが読み取る記憶媒体に記憶させておけばよい。記憶媒体とは、コンピュータのハードウェア資源に備えられている読取部５３に対して、プログラムの記述内容に応じて、磁気、光、電気等のエネルギーの変化状態を引き起こして、それに対応する信号の形式で、読取部５３にプログラムの記述内容を伝達するものである。例えば、光磁気ディスク４１，光ディスク４２（ＣＤ、ＤＶＤなどを含む）、磁気ディスク４３，メモリ４４（ＩＣカード、メモリカード、フラッシュメモリなどを含む）等である。もちろんこれらの記憶媒体は、可搬型に限られるものではない。
【００６６】
これらの記憶媒体にプログラム３１を格納しておき、例えばコンピュータ３２の読取部５３あるいはインタフェース５５にこれらの記憶媒体を装着することによって、コンピュータからプログラム３１を読み出し、内部メモリ５２またはハードディスク５４（磁気ディスクやシリコンディスクなどを含む）に記憶し、ＣＰＵ５１によってプログラム３１を実行することによって、上述の本発明の実施の一形態で説明した機能が全部あるいは部分的に実現される。あるいは、通信路を介してプログラム３１をコンピュータ３２に転送し、コンピュータ３２では通信部５６でプログラム３１を受信して内部メモリ５２またはハードディスク５４に記憶し、ＣＰＵ５１によってプログラム３１を実行することによって実現してもよい。
【００６７】
コンピュータ３２には、このほかインタフェース５５を介して様々な装置と接続してもよい。もちろん、部分的にハードウェアによって構成することもできるし、全部をハードウェアで構成してもよい。あるいは、他の構成とともに本発明の実施の一形態で説明した機能の全部あるいは部分的に含めたプログラムとして構成してもよい。他の用途に適用する場合には、その用途におけるプログラムと一体化してもよい。
【符号の説明】
【００６８】
１…第１算出部、２…判定部、３…第２算出部、２１…線形方程式生成部、２２…最小化演算部、２３…予測部、２４…選択部、３１…プログラム、３２…コンピュータ、４１…光磁気ディスク、４２…光ディスク、４３…磁気ディスク、４４…メモリ、５１…ＣＰＵ、５２…内部メモリ、５３…読取部、５４…ハードディスク、５５…インタフェース、５６…通信部。
【図１】
0005700206.tif 000011
【図２】
0005700206.tif 000012
【図３】
0005700206.tif 000013
【図４】
0005700206.tif 000014
【図５】
0005700206.tif 000015