図1は、本発明の第1の実施の形態を示す構成図である。図中、1は補正値取得部、2は重み係数設定部、3は色補正係数生成部、4は収束条件判定部、5は評価値取得部、6は色補正係数記憶部、11は第1色予測部、12は第2色予測部、21はバランスパラメータ設定部、22は重み係数算出部である。なお、以下の説明では色成分としてC(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)を有する色値を対象とするが、これに限らないことは言うまでもない。
補正値取得部1は、補正対象となる対象色値に対応する補正用色値を取得する。対象色値としては、補正で重要となる色の情報が含まれているとよく、例えば、C、M、Y、K各単色や3色のグレイ等のC、M、Y、Kの値を対象色値とすることが考えられる。また、色域全体について補正が必要であれば、2次色、3次色、4次色など、色域内部の色値についても対象色値とする。例えば各色成分について予め設定した刻みの単色の組み合わせを対象色値とすればよい。補正用色値は、対象色値を出力した場合に本来得たい色を、補正対象となっている出力装置で得るために、当該出力装置に入力すべき色値である。すなわち、対象色値を補正用色値に変換して出力装置に入力すれば、その出力は本来得たい色が得られることになる。
図1に示した例では、補正値取得部1は第1色予測部11と第2色予測部12を含んで構成されている。第1色予測部11は、対象色値から本来得ようとする色値を予測する。例えば補正を必要としない状態の出力装置に対して与えたCMYK値と、そのCMYK値により出力装置が出力した画像の測色値を対にした素データをもとに色変換モデルを作成し、その色変換モデルを用いて対象色値から予測値に変換すればよい。ここでは、予測値は装置に依存しない色空間であるLAB色空間の値Labとしている。
第2色予測部12は、第1色予測部11で予測された色を、補正が必要となっている出力装置により出力するために、その出力装置に入力すべき色値を予測する。例えば補正が必要となっている出力装置に対して与えたCMYK値と、そのCMYK値により出力装置が出力した画像の測色値を対にした素データをもとに、測色値(ここではLab値)からCMYK値への色変換モデルを作成し、その色変換モデルを用いて、第1色予測部11で予測した色値から補正用色値へ変換すればよい。
なお、補正値取得部1は対象色値に対応する補正用色値が取得されれば上述の構成に限られるものではなく、他の方法により補正用色値を取得してもよい。また、対象色値と補正用色値の組が与えられれば、あえて補正値取得部1を設けずに構成してもよい。
重み係数設定部2は、各対象色値に対して、それぞれの対象色値の重要度を示す重み係数を設定する。この重み係数は、色補正係数生成部3で生成した色補正係数が収束条件を満たさないと収束条件判定部4で判定された場合に、評価値取得部5で取得した評価値をもとにして変更し、変更した重み係数を用いた色補正係数の生成を色補正係数生成部3に行わせる。
この重み係数設定部2は、この例ではバランスパラメータ設定部21及び重み係数算出部22を含んで構成されている。バランスパラメータ設定部21は、複数の重視する色領域(重要色領域)に対して、それぞれどの程度重視するかを設定するものである。重要色領域としては、特定の色を指定するほか、単色軸やグレイ軸、高濃度域あるいは低濃度域、高彩度域や低彩度域など、種々の色領域が設定の候補となる。これらの重要色領域から離れるほど重みが小さくなる重み関数を設定し、さらに、各重み関数を重視する程度を表す係数(バランスパラメータ)を設定する。
重み係数算出部22は、対象色値と、補正値取得部1で取得した対象色値に対応する補正用色値を受け取り、バランスパラメータ設定部21が設定した各重み関数とバランスパラメータに応じて、各対象色値に対する重み係数を生成する。より具体的に上述のように単色及びグレイ軸を重要色領域としてそれぞれ重み関数を設定し、バランスパラメータを単色:グレイ軸=3:7とした場合、ある対象色値について、単色からの距離に応じた重みと、グレイ軸からの距離に応じた重みとを、3:7の割合で合成した重みを当該対象色値に対する重み係数とすればよい。
もちろん、重み係数の設定方法はこの例に限られるものではなく、種々の設定方法を用いて重み係数を設定してもよい。上述のように、評価値取得部5で取得した評価値をもとにした重み係数の変更を行うので、変更に対応した重み係数の設定方法であればよい。なお、図示している構成では、収束条件判定部4で収束条件を満たしていないと判定された場合に、バランスパラメータ設定部21において設定するバランスパラメータを変更して重み係数の変更を行う。もちろん、各重み関数を変更するなど、他の構成で重み係数を変更してももよい。
色補正係数生成部3は、対象色値及び補正値取得部1で取得した補正用色値と、重み係数設定部2で設定した重み係数に従って、対象色値を色成分毎に補正するための色補正係数を生成する。色補正係数は、例えばCMYKであれば、C、M、Y、Kの各色成分について、補正前の値と補正後の値とを対応付けた1次元の表形式で生成すればよい。もちろん、色補正係数として色補正を行うための関数を生成したり、あるいは予め設定されている色補正のための関数のパラメータを生成する構成であってもよい。
収束条件判定部4は、色補正係数生成部3で生成した色補正係数が、予め設定されている収束条件を満たすか否かを判定する。収束条件としては、前回生成された、あるいは初回であれば予め設定された、色補正係数との差の範囲を設定するなどが考えられる。収束条件を満たす場合には、生成された色補正係数を色補正係数記憶部6へ記憶させて色補正係数の生成処理を終了する。収束条件を満たさない場合は、評価値取得部5へ色補正係数を転送して当該色補正係数の評価値を取得し、重み係数の再設計が行われるようにする。この場合も、色補正係数を色補正係数記憶部6に記憶させておき、次回以降の収束条件の判定の際に使用する。
評価値取得部5は、色補正係数生成部3で生成した色補正係数が収束条件判定部4で収束条件を満たさないと判定された場合に、色補正係数生成部3で生成した色補正係数を用いた補正結果の評価値を取得する。補正結果は、例えば評価用の色票の色値について、色補正係数を使用した色補正処理のシミュレーションにより得るほか、色補正係数を使用して出力装置に実際に画像を出力させ、得られた色値をもとに補正結果を得てもよい。得られた各色票の色値に対する補正結果をもとに、補正前後の色値の差(色差)に基づいて評価値を取得する。例えば、平均色差、中央値、最大色差、RMS、または補正結果を得た色について色差を降順に並べた場合の予め設定された位置(例えば95%の位置など)にあたる色差などを評価値とすればよい。もちろん、他の値を評価値としてもよい。なお、補正結果を得る際に用いる評価用の色票や、評価値としてどのような値を用いるかについては、利用者が選択して予め設定するように構成してもよい。また、補正結果の取得には補正値取得部1を利用する構成でもよい。
色補正係数記憶部6は、色補正係数生成部3で生成した色補正係数を色成分毎に記憶する。収束条件判定部4で収束条件を満たした場合には、その際に記憶した色補正係数が最終的な生成結果となる。
図2は、本発明の第1の実施の形態における動作の一例を示す流れ図である。動作が開始すると、まずS41において、色域全体にまんべんなく対象色値を設定し、対象色値に対応する補正用色値を補正値取得部1が取得し、対象色値と補正用色値との対を得る。S42において、得られた対象色値と補正用色値との対のひとつひとつについて、重み係数設定部2が重み係数を設定する。この重み係数は、単色、グレイ、2次色、特定色などといった重視する色域の再現性をよくするように設定するとよい。また、低濃度や高濃度といった特定の色領域ごとにも重み係数を設定することによって、濃度域毎に重視する色領域の設定も可能となり、例えば組み合わせて、低濃度領域では単色重視、高濃度領域ではグレイ重視などの再現を行うように重み係数を設定してもよい。
S43において、S42で重みが設定された対象色値と補正用色値の対をもとに、色補正係数生成部3は色成分毎に色補正係数を生成する。S44において、S43で生成した色補正係数が予め設定した収束条件を満たすか否かを判定する。収束条件を満たしていれば処理を終える。
S44で収束条件を満たしていないと判定された場合には、S45において、評価値取得部5はS43で生成した色補正係数を用いて補正結果を得て、補正前後の色差から評価値を取得する。そしてS42へ戻って、重み係数設定部2は評価値をもとに重み係数を算出し直す。S43で色補正係数を改めて生成し、S44で収束条件を満たすか否かを判定することになる。このような評価値に基づく重み係数の再計算、色補正係数の生成、収束条件の判定の一連の工程を繰り返すことによって、特定の色領域における補正と色域全体の補正とをバランスよく行う色補正係数が得られる。
上述の動作の一例について、具体例を用いながらさらに説明して行く。図3は、対象色値と補正用色値との対の一例の説明図、図4は、第1色予測部11が使用する色変換モデルの素データの一例の説明図、図5は、第2色予測部12が使用する色変換モデルの素データの一例の説明図である。まず対象色値を用意する。対象色値は、上述のように色域全体にまんべんなく設定するとよい。例えば図3の「対象色値」の欄に示した例では、C、M、Yについては0から100までの範囲を25刻みとし、Kについては0から100までを10刻みとして、各色成分の値の組み合わせを対象色値としている。
補正値取得部1は、対象色値に対応する補正用色値を取得する。図1に示した構成では、第1色予測部11によって対象色値であるCMYK値を装置に依存しない色空間であるLAB色空間の値に変換し、その値から補正対象の出力装置に応じたCMYK値を第2色予測部12によって予測することにより補正用色値を得ている。
第1色予測部11は対象色値を出力装置に入力した場合に得たい色(Lab値)を予測するものであり、ここではCMYKからLabへの変換を行う。変換には、例えば色変換モデルを作成して使用するとよい。例えば、補正を要しない状態での出力装置、あるいは、別の目標とする出力装置にCMYKを与えて出力される色を測色し、CMYKとLabとの対を求める。例えば図4においては、各色成分について25刻みとして組み合わせたCMYK値と、それぞれのCMYK値に対応するLab値を示している。このCMYK値とLab値との対を素データとし、色変換モデルを作成すればよい。もちろん、例えば多項式近似や、物理モデル式としてノイゲバウアー、クベルカムンク、ランバートベール等で表現されるデータでも、更には、ICCプロファイル等によって変換されるデータであってもよく、対象色値のCMYK値からLab値が求まる方法であればよい。
また、第2色予測部12は第1色予測部11で予測された色から補正用色値を予測する。上述のように補正用色値は、第1色予測部11で予測された、得たい色であるLab値を出力装置の出力結果として得るために、出力装置に入力しなければならない色値である。この場合も、補正を必要とする出力装置あるいは実際に出力させようとする出力装置にCMYKを与えて出力される色を測色し、CMYKとLabとの対を求める。例えば図5においては、各色成分について25刻みとして組み合わせたCMYK値と、それぞれのCMYK値に対応するLab値を示している。このCMYK値とLab値との対を素データとし、Lab値からCMYK値へ変換する色変換モデルを作成すればよい。数学的には3要素から4要素は一意に決まらないが、公知の色予測方法を用いて予測すればよい。例えば特開平10−262157号公報に記載の方法を用いて予測するとよいが、この予測方法に限定されるものではない。
ここでは第1色予測部11と第2色予測部12との間の色値をLab値としたが、これに限られるものではない。例えば、三刺激値XYZや均等色空間Luv等の表色系を用いてもよい。
例えば図3において対象色値の欄に示した色値を第1色予測部11に入力して得られたLab値を第2色予測部12に入力し、第2色予測部12で得られたLab値に対応するCMYK値を、図3における補正用色値の欄に示している。例えば、対象色値がC=25、M=50、Y=75、K=0の場合には、出力装置に得ようとする色を出力させるためには、C’=24、M’=49、Y’=70、K’=0という補正用色値に補正して出力装置に入力しなければならないことを示している。基本的には対象色値を補正用色値に補正すればよいのであるが、この実施の形態で前提としている色成分毎に補正する場合には、ある対象色値と補正用色値で各色成分における色補正係数を決定しても、他の色値において対象色値が補正用色値に補正されるとは限らない。そのため、この実施の形態では重み係数設定部2、色補正係数生成部3、収束条件判定部4、評価値取得部5等を設けている。
対象色値と補正用色値との対が得られたら、その対に対して重み係数設定部2で重み係数を設定する。重み係数設定部2では、予め重要色についての重み関数が設定されるとともに、複数の重み関数が設定されている場合にはそれらの間のバランスパラメータの初期値を設定しておく。
図6は、重み関数の一例の説明図である。重み関数としては、重要色領域において重みの値が大きく、重要色領域から離れるほど重みが小さくなる関数を設定しておくとよい。例えば図6(A)には、C、M、Yのいずれかの単色を重視する場合の重み関数の一例を示している。単色軸からの距離が大きくなるほど重み係数wの値は小さくなる。図6(B)にはグレイを重視する場合の重み関数の一例を示している。グレイ軸からの距離が大きくなるほど、重み係数wの値は小さくなる。図6(C)に示した例では、ある特定色を重視する場合の重み関数の一例を示している。特定色からの距離が大きくなるほど、重み係数wの値は小さくなる。特定色は、例えば空色、肌色、緑色等、どのような色でもよい。
図6(D)と(E)に示した重み関数の例は、濃度に応じた重み関数の一例であり、図6(D)は高濃度領域を重視する重み関数の一例を、図6(E)は低濃度領域を重視する重み関数の一例を、それぞれ示している。ここでは画像の形成に用いる色材の総量を濃度としており、図6(D)に示す高濃度領域を重視する重み関数の一例では色材の総量の値が大きいほど重み係数wの値は小さくなり、図6(E)に示す低濃度領域を重視する重み関数の一例では色材の総量の値が小さいほど重み係数wの値は小さくなるように設定している。なお、図6(D)に示した高濃度領域を重視する重み関数の一例では、見かけ上、他の重み関数の例とは傾向が逆のように見えるが、これは重要色領域が色材の総量の値が大きい側であることによる。
図7は、重み関数の組み合わせの一例の説明図である。上述の重み関数は組み合わせて用いることにより、さらに細かに重み係数が設定される。図7(A)に示した例では、図6(E)に示した低濃度領域を重視する重み関数と、図6(A)に示した単色を重視する重み関数とを組み合わせて使用する場合を示している。この場合、単色でかつ低濃度の領域については大きな重み係数が設定される。逆に単色であっても高濃度の領域については重み係数は小さくなる。
図7(B)に示した例では、図6(D)に示した高濃度領域を重視する重み関数と、図6(B)に示したグレイを重視する重み関数とを組み合わせて使用する場合を示している。この場合、グレイでかつ高濃度の領域については大きな重み係数が設定される。逆にグレイであっても低濃度の領域については重み係数は小さくなる。
もちろん、3以上の重み関数を組み合わせてもよい。例えば図7(A)及び図7(B)に示した4つの重み関数を組み合わせて用いる場合には、低濃度であって単色の領域において大きな重み係数が設定される一方、高濃度であってグレイの領域において大きな重み係数が設定されることになる。すなわち、対象濃度に従って重視する色領域が変化するように重み係数が設定されることになる。
いくつかの重み関数を組み合わせる際に、各重み関数をどの程度重視するかをバランスパラメータにより決定する。重み関数が1つの場合でも、その重み関数をどの程度関与させるかをバランスパラメータにより決定してもよい。より具体的には、ある単色とグレイ軸を重要色領域とする2つの重み関数を使用する場合に、バランスパラメータとして単色:グレイ軸を3:7とする、などといった設定を行えばよい。
重み係数算出部22では、バランスパラメータ設定部21による重要色領域に対応する重み関数とバランスパラメータの設定に従い、対象色値と補正用色値との対に対して重み係数を決定してゆく。例えば対象色値をD、重み関数をf1、f2、バランスパラメータをa:bとすると、重み係数Wは、
W=(a/(a+b))・f1(D)×(b/(a+b))・f2(D)
などとして決定すればよい。もちろん、この重み係数の算出方法は一例であって、他の算出方法を用いて重み係数を算出してもよいことは言うまでもない。
図8は、対象色値と補正用色値との対に付加した重み係数の一例の説明図である。図8に示す例では、単色を重視するものとしてバランスパラメータが設定され、単色重視の重み関数を用いて重み係数を算出した例を示している。なお、重み係数Wは0≦W≦1としている。一例として、対象色値が(C,M,Y,K)=(0,0,10,0),(0,0,20,0)等のY単色や、(C,M,Y,K)=(0,0,0,10),(0,0,0,20)等のK単色については重み係数「1.00」が設定されている。また、(C,M,Y,K)=(50,50,10,0)等の対象色値は単色から離れているため、重み関数により「1.00」よりも小さな重み係数が設定されており、さらに単色からの距離が離れる(C,M,Y,K)=(100,100,80,0)等には更に小さな重み係数が設定されている。
このようにして対象色値と補正用色値との対に重み係数が設定されると、この重み係数に従って、色補正係数生成部3がそれぞれの色成分について補正を行うための色補正係数を1次元の表形式で生成する。
色補正係数生成部3は、重み係数算出部22から、例えば図8に示した対象色値と補正用色値との対と重み係数とを受け取り、各色成分について対象色値と補正用色値と重み係数を抜き出す。図9は、抜き出された単色成分の対象色値と補正用色値と重み係数の一例の説明図である。図9においては、Y成分について、対象色値(Y)と補正用色値(Y’)と重み係数(W)を抜き出した例を示している。図9を参照すると、対象色値のY成分の値が10であっても、補正用色値は12であったり15であったりしており、対象色値のY成分の値10に対する補正後の値を一意に決定できない。そこで、単純な方法としては対象色値の各Y成分の値ごとに、重み係数を用いて例えば加重平均を算出することにより、それぞれのY成分についての補正後の値を求めればよい。
しかしながら、この方法では、あるY成分の値について複数の補正用色値が存在する必要があり、Y成分の値がばらけている場合には補正用色値のばらつきがそのまま反映されてしまう。この場合、階調段差の発生など、別の問題が生じる要因となる。
そこで、重み付けした回帰演算により対象色値に対応する補正値を算出するとよい。すなわち、図9に示したデータに基づいて、重み付け局所回帰により補正値を算出する。なお、この補正値の算出には前述の特開平10−262157号公報に記載の方法を用いるとよいが、具体的な算出方法について簡単に言及しておく。この方法では、着目する対象色値に対する1つの補正値を決定するに当たって、その対象色値に対する補正値及び重み係数だけでなく、他の対象色値に対する補正値及び重み係数も利用する。そして、この場合、着目する対象色値に対する補正値及び重み係数に最大の重み付けを行い、他の対象色値に対する補正値及び重み係数には、着目する対象色値との差が大きくなればなるほど小さくなる重み付けを行って、局所回帰法を適用する。このように回帰演算により補正値を算出することで、ある色成分についての対象色値と補正値とを対応付けた色補正係数を得るとよい。上述の例ではY成分について説明しているが、C、M、K成分についても色補正係数を求める。
このようにしてそれぞれの色成分について色補正係数を生成したら、その色補正係数が収束条件を満たしているか否かを収束条件判定部4により判定する。例えば、色補正係数記憶部6に記憶されている前回生成した色補正係数と、色補正係数生成部3で今回生成した色補正係数との差が、予め決められた範囲内であるか否かを判定すればよい。より具体的には、前回と今回の補正値の差を調べて行き、予め決められた範囲を逸脱する差が生じている補正値が存在する場合には収束していないと判断すればよい。もちろん、他の収束条件により収束の判定を行ってもよい。収束条件を満たす場合には、今回生成した色補正係数が最終的に得るべきものとして、色補正係数記憶部6に記憶させて色補正係数生成処理を終了する。
収束条件判定部4が収束条件を満たしていないと判定した場合には、色補正係数を評価値取得部5に送って、生成された色成分毎の色補正係数を用いて補正結果を得る。補正結果の取得方法は、実際に色補正係数による補正処理を行った画像を生成し、出力、測色して、取得する方法、もしくは、色予測モデルを使用してシミュレーションによって取得する方法などが考えられる。もちろん、補正結果が取得できれば、他の方法でもよい。補正結果を得る際に用いる色票は、予め決められたものを用いるほか、利用者が選択してもよい。
さらに評価値取得部5では、補正前後の色値から色差を求め、評価値を取得する。例えば平均色差、中央値、最大色差、RMS、または補正結果を得た色について色差を降順に並べた場合の予め設定された位置(例えば95%の位置など)にあたる色差などを評価値とすればよい。もちろん評価値はこの例に限られるものではない。また、いくつかの評価値のいずれを用いるかを利用者が選択してもよい。
重み係数設定部2のバランスパラメータ設定部21は、評価値取得部5で取得した評価値に従ってバランスパラメータの設定を修正する。例えば上述のように評価値が平均色差などであれば、評価値が減少するようにバランスパラメータを修正すればよい。例えば二分探索やニュートン法などの手法を用いることにより、評価値が減少する方向にバランスパラメータを修正して行けばよい。
その後、修正されたバランスパラメータに従って重み係数算出部22が各対象色値と補正用色値の対に対応する重み係数を再算出し、色補正係数生成部3で色補正係数を再生成することになる。このような処理を、収束条件が満たされるまで繰り返し、収束条件が満たされた際に生成された色補正係数を処理結果とすればよい。
上述の繰り返し処理を、二分探索を用いた場合を例にして説明する。図10は、バランスパラメータと収束状態の一例の説明図、図11は、二分探索の際の探索方向の一例の説明図である。ここでは、単色重視とグレイバランス重視の重み関数を、バランスパラメータに従って合成して重み係数を算出し、色補正係数を生成するものとしている。図10に示した例では、横軸がバランスパラメータで、0.0が単色重視の場合を、1.0がグレイ重視の場合をそれぞれ示し、その間ではバランスパラメータに応じた割合で単色重視とグレイバランス重視の重み関数を合成する。また縦軸は、バランスパラメータ設定部21で用いる評価値であり、ここでは色差の平均値を評価値としている。
二分探索を行うに際し、収束点がどこに存在するのかを判断するため、3点が必要となる。図10においては、まず(1)として示した、バランスパラメータが0.0、1.0とその間の点、例えば0.5における評価値(ここでは平均色差)を求める。そのため、予めバランスパラメータが0.0と1.0の場合の評価値及び色補正係数を求めておいたり、あるいはバランスパラメータが0.0と1.0の2回の処理については収束条件判定部4の判定を行わずに繰り返すようにしておくとよい。
バランスパラメータが0.0と1.0の場合の評価値及び色補正係数が得られている状態で、初期バランスパラメータとして0.0と1.0の中間の値である0.5を設定し、重み係数算出部22による重み係数の算出、色補正係数生成部3による色補正係数の生成を行い、収束条件判定部4による収束条件の判定が行われる。この場合は、バランスパラメータが0.0か1.0の場合に生成した色補正係数が色補正係数記憶部6に記憶されているので、これと新たに生成した色補正係数とを比較すればよい。ここで収束条件を満たしていれば、新たに生成した色補正係数を処理結果とすればよい。
収束条件を満たしていない場合には、色補正係数生成部3で生成した色補正係数を用いた場合の補正結果から評価値(ここでは平均色差)を評価値取得部5で取得し、バランスパラメータ設定部21に渡す。バランスパラメータ設定部21では、評価値取得部5から渡された評価値と、バランスパラメータが0.0と1.0の場合の評価値とから、バランスパラメータを修正する。
3点の評価値が得られた場合、評価値の変化は図11に示した3つの場合のいずれかとなる。図11においては、バランスパラメータの小さい方から評価値をa,b,cとしている。図11(A)はa≧b≧cの場合である。この場合には、bとcの間に収束点が存在するか、あるいはa,b,cの間には収束点が存在しないか、である。前者の場合にはbとcの間をさらに探索すればよい。また後者の場合にはcを収束点とすればよい。
図11(B)はa≦b≦cの場合であり、図11(A)の逆の場合である。この場合には、aとbの間に収束点が存在するか、あるいはa,b,cの間には収束点が存在しないか、である。前者の場合にはaとbの間をさらに探索すればよい。後者の場合にはaを収束点とすればよい。
図11(C)はa≧b≦cの場合である。この場合には、aとbの間に収束点が存在するか、あるいはbとcの間に収束点が存在する。この場合、aとbの間と、bとcの間のいずれに収束点が存在するかはわからないが、各区間を分割して調べることにより、範囲を狭めて行けばよい。すなわち、ab間の分割点をd、bc間の分割点をeとし、adb、becにより図11のいずれに該当するかを判断する。いずれかが図11(C)の関係であれば、その関係を有する区間についてさらに探索を続ければよい。また、図11(A)と(B)の関係であれば、その場合はdbeが図11(C)の関係を有していることになり、その範囲を探索すればよい。
図10に示した例では、(1)として示したバランスパラメータが0.0,0.5,1.0の場合の平均色差の関係は、図11(A)に示した関係となっている。従って、バランスパラメータが0.5と1.0の間をさらに探索する。0.5と1.0の間を二分し、バランスパラメータが0.75の場合(図中の(2))について重み係数を設定し、色補正係数を生成して、収束条件を満たしているか否かを判断する。例えば収束条件を満たしていないとすると、バランスパラメータが0.75の場合の色補正係数を用いて補正結果を得て、例えば平均色差などを算出して評価値とする。図10に示す例では、バランスパラメータが0.5と0.75と1.0の3点では、図11(C)に示す関係となっているので、バランスパラメータが0.5と0.75の間を二分する0.625と、バランスパラメータが0.75と1.0の間を二分する0.875について、重み係数を設定し、色補正係数を生成して、収束条件を満たしているか否かを判断する。例えば収束条件を満たしていないとして、それぞれの色補正係数を用いて補正結果を得て、例えば平均色差を算出して評価値とする。この場合には、バランスパラメータが0.5と0.625と0.75の3点では図11(A)の関係となり、バランスパラメータが0.75と0.875と1.0の3点では、図11(B)の関係となっている。従って、バランスパラメータが0.625と0.75と0.875の3点(この場合には図11(C)の関係にある)の間でさらに探索を続ける。
このような繰り返し処理を続けて行くうちに、バランスパラメータの探索範囲は狭まって行き、色差が小さい収束点に近づいて行く。それとともに、生成される色補正係数もそれほど変化しなくなり、生成した色補正係数と前回の色補正係数との差が予め定めておいた範囲内となって、収束条件を満たすようになる。収束条件を満たした色補正係数を処理結果とすればよい。
得られた色補正係数は、この例では単色を重視した、単色の再現性を維持した補正と、グレイバランスを重視したグレイの再現性を維持した補正とを両立させるとともに、全体としても色差が小さくバランスよく補正が行われる係数となっている。単に単色重視の補正を行ったり、グレイバランス重視の補正を行うのみでは単色やグレイバランスでは良好な補正がなされるが、他の色領域において良好な補正がなされるとは限らず、この実施の形態で得られた色補正係数を用いることにより上述のように単色及びグレイバランスとともに全体としても補正精度が向上することになる。
ここでは重要色領域を単色及びグレイとして単色重視及びグレイバランス重視の重み関数を用いるものとして説明したが、この例に限られないことは言うまでもない。また、二分探索のほか、例えばニュートン法など、他の探索方法を用いてもよい。
このようにして得られる色補正係数は、色補正係数生成部3がそれぞれの色成分について生成するものであることから、例えばC、M、Y、Kのそれぞれの色成分に分版した後に、色補正係数を使用して色補正を行えばよく、色成分毎の補正でも、上述のように重要色領域での補正と全体の補正とがバランスよく行われることになる。
図12は、本発明の第2の実施の形態を示す構成図である。上述の第1の実施の形態では、収束条件判定部4は色補正係数生成部3が生成した色補正係数をもとに収束条件の判定を行っているが、この第2の実施の形態では、評価値取得部5で取得した評価値をもとに収束条件の判定を行う例を示している。
この第2の実施の形態における収束条件判定部4は、評価値取得部5から評価値を受け取り、収束条件を満たすか否かを判定する。例えば評価値が平均色差などの色差に基づくものであれば、評価値が予め設定された範囲内か否かを判定すればよい。この場合、補正による色差が予め設定された範囲内となる色補正係数が得られる。もちろん、評価値を用いる他の方法により収束を判定してもよいことは言うまでもない。
図13は、本発明の第3の実施の形態を示す構成図である。この第3の実施の形態では、バランスパラメータをもとに収束条件の判定を行う例を示している。この第3の実施の形態における収束条件判定部4は、重み係数設定部2のバランスパラメータ設定部21から、評価値取得部5で取得した評価値に従って変更するバランスパラメータを受け取り、収束条件を満たすか否かを判定する。例えば前回の判定の際のバランスパラメータと、バランスパラメータ設定部21から受け取ったバランスパラメータとの差が予め定められた範囲内か否かを判定すればよい。例えば上述の二分探索であれば、探索を行う際のバランスパラメータの分割幅をもとに収束の判定を行えばよい。もちろん、バランスパラメータを用いる他の方法により収束を判定してもよいことは言うまでもない。
図14は、本発明の各実施の形態で説明した機能をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体とコンピュータの一例の説明図である。図中、71はプログラム、72はコンピュータ、81は光磁気ディスク、82は光ディスク、83は磁気ディスク、84はメモリ、91はCPU、92は内部メモリ、93は読取部、94はハードディスク、95はインタフェース、96は通信部である。
上述の本発明の各実施の形態で説明した各部の機能の全部あるいは部分的に、コンピュータにより実行可能なプログラム71によって実現してもよい。その場合、そのプログラム71およびそのプログラムが用いるデータなどは、コンピュータが読み取り可能な記憶媒体に記憶させておけばよい。記憶媒体とは、コンピュータのハードウェア資源に備えられている読取部93に対して、プログラムの記述内容に応じて、磁気、光、電気等のエネルギーの変化状態を引き起こして、それに対応する信号の形式で、読取部93にプログラムの記述内容を伝達するものである。例えば、光磁気ディスク81,光ディスク82(CDやDVDなどを含む)、磁気ディスク83,メモリ84(ICカード、メモリカードなどを含む)等である。もちろんこれらの記憶媒体は、可搬型に限られるものではない。
これらの記憶媒体にプログラム71を格納しておき、例えばコンピュータ72の読取部93あるいはインタフェース95にこれらの記憶媒体を装着することによって、コンピュータからプログラム71を読み出し、内部メモリ92またはハードディスク94に記憶し、CPU91によってプログラム71を実行することによって、上述の本発明の各実施の形態で説明した機能が全部又は部分的に実現される。あるいは、通信路を介してプログラム71をコンピュータ72に転送し、コンピュータ72では通信部96でプログラム71を受信して内部メモリ92またはハードディスク94に記憶し、CPU91によってプログラム71を実行することによって実現してもよい。
コンピュータ72には、このほかインタフェース95を介して様々な装置と接続してもよい。例えば情報を表示する表示手段や利用者からの情報を受け付ける受付手段等も接続されていてもよい。また、例えば画像形成装置がインタフェース95を介して接続され、得られた色補正係数を用いて補正した色信号を画像形成装置へ送って画像を形成するように構成してもよい。
1…補正値取得部、2…重み係数設定部、3…色補正係数生成部、4…収束条件判定部、5…評価値取得部、6…色補正係数記憶部、11…第1色予測部、12…第2色予測部、21…バランスパラメータ設定部、22…重み係数算出部、71…プログラム、72…コンピュータ、81…光磁気ディスク、82…光ディスク、83…磁気ディスク、84…メモリ、91…CPU、92…内部メモリ、93…読取部、94…ハードディスク、95…インタフェース、96…通信部。