[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2009278663A - 印刷装置、印刷方法および印刷プログラム - Google Patents

印刷装置、印刷方法および印刷プログラム Download PDF

Info

Publication number
JP2009278663A
JP2009278663A JP2009193321A JP2009193321A JP2009278663A JP 2009278663 A JP2009278663 A JP 2009278663A JP 2009193321 A JP2009193321 A JP 2009193321A JP 2009193321 A JP2009193321 A JP 2009193321A JP 2009278663 A JP2009278663 A JP 2009278663A
Authority
JP
Japan
Prior art keywords
color
data
interpolation
value
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009193321A
Other languages
English (en)
Other versions
JP4683145B2 (ja
Inventor
Takashi Ito
隆志 伊藤
Makoto Fujino
真 藤野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2009193321A priority Critical patent/JP4683145B2/ja
Publication of JP2009278663A publication Critical patent/JP2009278663A/ja
Application granted granted Critical
Publication of JP4683145B2 publication Critical patent/JP4683145B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Color, Gradation (AREA)
  • Image Processing (AREA)

Abstract

【課題】 高精度の色変換が可能な色変換テーブルを作成できなかった。
【解決手段】 異なる表色系についての変換にて参照されるプロファイルを作成するにあたり、予め決められた第1および第2の色成分データとその出力色とを対応づけた出力色データを取得し、第1の色成分データについての出力色データに基づいて補間関数を生成し、上記第2の色成分データについての補間結果が当該第2の色成分データに対する出力色データに略一致するように上記補間関数を修正し、同修正された補間関数に基づいてプロファイルを生成する。
【選択図】 図1

Description

本発明は、プロファイルの高精度化およびプロファイル作成の高速化に関する。
ディスプレイやプリンタ等の画像機器では、それぞれの画像機器で使用される表色系における複数の色成分毎の階調値を指定することによって色を特定しているが、この色は一般に機器依存色である。従って、各画像機器間で同じ画像を同じ色で出力可能にするためには、カラーマッチングが必要であり、各表色系における階調値の対応関係を規定したプロファイルを利用するのが一般的である。このプロファイルにおいては、リソースを節約するため、考え得る総ての階調値の組合せについて対応関係を規定しているのではなく、予め決められたリソースで対応関係を規定する。
例えば、予め決められた数の参照点について階調値の対応関係を規定し、任意の階調値については補間演算によって対応関係を取得したり、予め決められた関数に従って対応関係を算出するなどの構成を採用している。いずれにしても、限られた数のデータから補間関数(例えば、非特許文献1参照)によってその間のデータを予測し、任意の階調値における対応関係を取得する。この構成により、一方の画像機器において指定された色を他方の画像機器によって再現する。
William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery,「NUMERICAL RECIPES in C(日本語版)」,技術評論社,平成15年2月6日(第11刷),p.104〜107,113,114
上述した従来の色変換プログラムでは、以下のような課題があった。
すなわち、色変換の精度は、プロファイルに規定する階調値自体と関数による補間演算の精度との双方に依存するが、上述の非特許文献1に記述されたスプライン補間は高精度に補間演算を実施可能な手法であるとされ、プロファイルを作成する際にはもっぱら上記階調値の選び方が工夫されていた。また、画像機器にて使用される表色系は一般に多次元であるが、多次元空間におけるスプライン補間演算は非常に煩雑であり、特に多数の参照点を利用する際には演算に非常に時間がかかってしまう。
本発明は、上記課題にかんがみてなされたもので、通常のスプライン補間演算より高精度の補間演算を提供することおよび高速に演算可能な手法を提供することを目的とする。
上記目的を達成するため、本発明は、予め2種類のデータが得られている状態において、第1のデータに基づいて補間関数を生成し、第2のデータに基づいて補間関数を修正する。従って、第1のデータに基づいて単に補間演算を実施する場合と比較して、より高精度に補間演算を実施することが可能になる。すなわち、第1の色成分データについての出力色データは補間関数を生成する際に利用されるが、第2の色成分データについての出力色データはこの補間関数を生成する際には利用されず、修正に利用される。
従って、この第2の色成分データについての出力色データが、補間関数を正確に算出するに際して利用できないかあるいは利用困難な状態にあっても、補間関数の修正に利用することができれば第2の色成分データについての出力色データを補間関数の高精度化に実質的に寄与させることができる。この結果、より正確に補間を実施可能な補間関数を取得することができる。より具体的には、スプライン補間演算等の補間演算には、その関数を決定する上で参照すべき色成分値と出力値とに制限が生じ得る。
例えば、多次元空間内の格子点位置が独立変数に相当し、当該格子点に従属変数値が対応づけられている場合、1次元の補間演算を繰り返すことで多次元の補間を行うことがある。この場合、共通の直線上に存在する格子点は補間関数の決定に寄与するがこの直線上にない格子点は補間関数の決定に寄与しない。しかし、本発明では、第2の色成分データについての出力色データを修正に利用するので、第1の色成分データと第2の色成分データとがどのような関係であったとしても、第2の色成分データを補間演算の高精度化に利用することができる。
ここで、色成分データは、複数の色成分値を組み合わせたデータによって特定の画像機器で出力される出力色を一義的に特定するデータである。すなわち、色成分値はその色成分の濃度や明度、記録材の量など、特定の要素を指定する値であり、この色成分における表現範囲を所定の階調値域で定義した場合の階調値である。従って、色成分毎に色成分値を特定して組み合わせた値によって上記画像機器での出力色を特定することができる。具体的には、印刷装置における記録材(インク,トナー等)を特定するためのCMY表色系やRGB表色系等が該当する。むろん、CMY表色系の色成分はCMY(シアン、マゼンタ、イエロー)に限定されず、ブラック(K)やライトシアン(lc)、ライトマゼンタ(lm)等、他の色を含んでもよい。また、印刷装置にて使用する色空間以外にも各種の画像機器、例えば、スキャナやディスプレイ等に本発明を適用することも可能である。
但し、色成分値に対する出力色は一般に機器依存色であり、色成分値が特定されたからといって総ての機種の画像機器について共通の色が客観的に特定されるわけではない。そこで、各色成分データにおける出力色を測色等によって客観的に特定する必要があり、上記出力色データにおいては、各色成分データに対して出力色を客観的に示す値を対応づける。ここで、色を客観的に示す値としては、機器非依存色空間中の値を指定すれば良く、L***系,L***系,XYZ系等の色空間を採用可能である。
尚、色成分データと出力色とを正確に対応づけるためには、その色成分データで実際に画像機器にて色を出力し、測色を行い、出力色を示すデータを取得する構成が好ましい。このように測色を行う場合であっても、本発明による修正によれば、非常に高精度で補間演算を実施可能である。従って、測色数を実際に測色作業を実施可能な数に抑えながら、非常に高精度のプロファイルを作成可能である。例えば、印刷装置等の画像機器にて使用するプロファイルデータで173個や323個程度の格子点を規定する場合であっても、測色によって出力色データとすべき格子点数は103個〜123個程度で充分である。
補間関数修正手段においては、まず補間関数を算出する。この補間関数は、出力データに基づいて任意の色成分データに対応する出力色を補間する関数である。すなわち、出力色データにおいては、複数の色について色成分データと出力色とを対応づけているので、色成分値が隣接する色の間について色成分値とその出力色とを対応づけることができればよい。関数形としては、第2の色成分データに基づいて修正を実施できる限りにおいて各種の関数形を採用可能である。
補間関数修正手段における修正は、第2の色成分データに基づいて実施することができれば良い。すなわち、第1の色成分データに基づいて生成した補間関数では、第1の色成分データとその出力色データとの対応関係が正確になるように関数を設定することができるが、一般に、この関数によって第1の色成分データの間に相当するデータ、例えば、第2の色成分データとその出力色データとの対応関係が厳密に正確であることを保証することはできない。そこで、補間結果が当該第2の色成分データに対する出力色データに略一致するように関数を修正すれば、より正確に補間関数を規定することができる。
プロファイル生成手段においては、修正後の補間関数に基づいてプロファイルを示すプロファイルデータを生成することができればよい。すなわち、修正後の補間関数によれば、任意の色成分データとその出力色とを高精度に対応づけることができる。従って、両者を正確に対応づけるプロファイルデータを作成することができる。このプロファイルデータとしては、複数の色について色成分データと出力色とを対応づけるテーブルデータを採用しても良いし、補間関数を示すデータをもって両者を対応づけるデータとしても良い。
プロファイルを生成することができれば、このプロファイルを参照することで両色空間における階調値の変換、すなわち色変換を実施することができる。尚、出力色データにて使用する表色系と異なる表色系(sRGB空間等)における色成分値と上記出力色との対応関係が予め判明しているのであれば、この対応関係によって当該他の表色系のデータと上記色成分データ(CMY空間等)とで色変換を行うプロファイルを作成することも容易である。
本発明において予め用意される出力色データには、第1および第2の色成分データ、すなわち、2種類のデータがある。これら2種類のデータのそれぞれには複数の色についてのデータが含まれるが、少なくとも2種類のデータそれぞれが異なる規則で選択されたデータである。より具体的には、第1色空間の格子点と第2色空間の格子点とを対応づけたデータにて出力色データを構成可能である。ここで、第1および第2の色成分データをそれぞれ第1格子点、第2格子点として区別することができる。これらは異なる規則にて選択された格子点であるので、第1色空間内で異なる規則にて配列する。
この構成は、従来のプロファイルデータの作成作業と比較したときに大きな利点となる。すなわち、プロファイルデータを作成する際に、従来は、異なる2つの規則に従って配列された格子点を利用しており、上記構成であればこれを流用可能である。具体的には、従来、第1色空間において異なる2つの規則によって選ばれた格子点のそれぞれについて出力色を測色して第2色空間内の格子点に対応付け、第1の規則に従って配列された格子点に基づいてスプライン補間等によって格子点を増加させてプロファイルデータを作成する。このとき、第2の規則に従って配列された格子点は、作成済みのプロファイルデータによる変換精度の検証に利用される。
すなわち、従来はスプライン補間が充分に高精度であるという前提に基づき、プロファイルデータを参照し、スプライン補間演算を行う。このとき、このスプライン補間において補間対象を第2格子点とすれば、補間で得られた値と真の値(第2格子点についての測色値)とを比較することができる。この結果、プロファイルデータによる変換精度が使用に耐えうるか否かを検証することができる。変換精度が充分に高精度でない場合には、格子点の配列や後述する分版処理の手法を変更し、プロファイルデータを再作成するなどしていた。このように、第2格子点およびその測色値は、それ自体で従来のプロファイルデータを作成する際の精度向上に寄与するわけではないが、従来のプロファイルデータの検証に必須であった。そこで、本発明においては、第2格子点に基づいて補間関数を修正することで、両者ともにプロファイルデータを作成する際の高精度化に寄与させる。
尚、上記色空間は色成分数と同じ次元数の空間として定義され、色空間の各次元に一つの色成分を対応させて各色成分の色成分値を特定することで色空間内に特定される点が色空間における格子点である。また、上記第1色空間と第2色空間は異なる色空間であり、第1色空間は画像機器によって色を特定する際に使用される色空間である。第2色空間は当該画像機器によって実際に出力される色を客観的に特定できる機器非依存色空間であることが好ましい。このような色空間において、各色空間の格子点を対応づけると機器依存色空間における格子点(色成分値)によって出力される色を客観的に特定することができ、プロファイルの生成が可能になる。
第1格子点としては、上記第1色空間に形成される複数の平行な直線上に配列する格子点を採用可能である。すなわち、直線上に配列する複数の格子点を利用すれば、スプライン補間によって当該直線上の任意位置に存在する格子点に対応する第2色空間内の格子点を算出することができる。さらに、異なる直線上に存在する格子点を結ぶ直線を考えればこの直線上の格子点でスプライン補間を実施することによって多次元のスプライン補間を実施可能である。
以上のような配列は、従来のプロファイル作成作業でも採用されることが多く、第1格子点が上述のような配列であれば、従来のプロファイルデータの作成作業でスプライン補間を行う際に参照される測色データを本発明の第1格子点として利用可能である。尚、複数の平行な直線は一組に限られない。例えば、複数の平行な直線を一組で考え、異なる組に属する直線同士が平行でないことは許容する。すなわち、2次元以上のスプライン補間を実施できるように配列された格子点であってもよい。
第2格子点の具体例としては、隣接する複数の第1格子点からの距離が略等距離になるように配列した格子点を採用可能である。すなわち、第1格子点に基づいてスプライン補間を実施する従来のプロファイルデータ作成作業では、その補間精度を効果的に検証するために、隣接する第1格子点から、平均的にできるだけ距離の遠い位置の格子点を検証用の格子点とすることが多い。隣接する複数の第1格子点からの距離が略等距離となる第2格子点は、隣接する複数の第1格子点から平均的にできるだけ遠い格子点であるといえる。従って、第2格子点がこのような格子であれば、従来のプロファイルデータの作成作業でスプライン補間の検証用に参照される測色データを本発明の出力色データとして利用可能である。
さらに、第1格子点と第2格子点とのいずれかまたは双方が第1色空間で直交格子を形成するように格子点を配列すると好ましい。すなわち、直交軸によって形成される色空間内で各軸に相当する色成分値の値域を等分して複数の値を取得し、得られた値を色成分毎に一つずつ組み合わせると、直交格子が形成される。このように、直交格子を形成する格子点は非常に容易に設定することができるし、これらの格子を利用してスプライン補間演算を実施することは容易である。
また、直交格子であれば、階調値域の全体(色域の全体)を網羅し、色域の全体をほぼ均等に網羅する格子点を容易に形成することができる。このような格子点を選択すれば、プロファイルデータによって得られる色変換精度が色域内で大きく変動しないようにすることができる。むろん、均等の直交格子としない構成も採用可能である。例えば、色域内で局所的に色変換精度を向上させたい場合にその領域に多くの格子点を配置して出力色データとする構成を可能である。
さらに、第1格子点と第2格子点とがともに直交格子を形成する場合に、第1格子点を結ぶ直線と第2格子点を結ぶ直線とが互いに交わらないように構成することが可能である。かかる構成においては、複数の直線上に位置する第1格子点によってスプライン補間を実施可能である。また、第2格子点は第1格子点同士を結ぶ直線上に存在しないので、このスプライン補間を実施する際に第1格子点と第2格子点とをともに利用して通常のスプライン補間に基づいて高精度の演算を行うことはできない。
しかし、第1格子点が形成する直交格子の内側に規則正しく第2格子点を配置することが可能である。例えば、第1格子点が形成する正方形や立方体の中央に第2格子点を配置することができる。このような第1格子点および第2格子点は、上記従来のプロファイルデータを作成する際に参照する測色データと検証のために参照する測色データとの典型例である。従って、従来のプロファイルデータを作成する際に用意された格子点を本発明に容易に適用することが可能である。
補間関数修正手段が生成する補間関数としては、第2の色成分データについての出力色データによって修正を実施できる限りにおいて種々の関数形を採用可能である。その一例として、第1色空間の色成分値を独立変数、第2色空間の色成分値を従属変数とした補間関数を採用可能である。上述の非特許文献1に記載してあるように、典型的なスプライン補間関数を採用すると、この関数は補間対象の周囲の第1格子点における独立変数値と従属変数値と当該従属変数の2次微分値と補間対象の格子点における独立変数値とを含む関数形となる。
ここで、むろん補間対象の格子点における従属変数値以外の値は補間関数生成時に既知の値である。このように典型的なスプライン補間関数を採用して派生格子点データを取得する構成は、以下の利点がある。すなわち、スプライン補間関数には、独立変数を含む項と従属変数値(あるいはその2次微分値)との積が含まれるが、独立変数を含む項を修正すれば、既定の独立変数値に挟まれる区間における補間結果の挙動を容易に調整することができ、補間関数を修正することができる。また、後述する実施形態における高速化スプライン補間は典型的なスプライン補間関数から算出可能であり、当該高速化スプライン補間の関数においても同様に修正することが可能である。
補間関数修正手段においては、補間結果が当該第2の色成分データに対する出力色データに略一致するように補間関数を修正することができれば良く、種々の構成を採用可能である。例えば、ある理想的な状態を仮定し、当該理想的な状態にできるだけ近づけることによって最適な修正を行う構成を採用可能である。理想的な状態を仮定し、理想的な状態に近づいているか否かを判断するためには、補間関数の修正度合いを評価する評価関数を定義するのが好ましい。
すなわち、修正前の補間関数によれば、少なくとも格子点で色成分データと出力色との対応関係を規定しており、格子点間においても過度にその補間精度がずれていないことが期待される。そこで、補間関数の修正度合いが大きいほど低評価になるように評価関数を定義すれば、元の補間関数に対する修正を過大にすることなく修正を行うことができる。但し、本発明においては、補間結果が当該第2の色成分データに対する出力色データに略一致するように関数形を変動させて修正を行っているので、元の関数と完全に一致することは防ぐことができる。このような評価手法としては、準ニュートン法や共益勾配法等種々の手法を採用可能である。
すなわち、本発明においては、一旦生成した補間関数と異なる関数形となるように修正を行うが、修正後の関数による補間結果が第2の色成分データに対する出力色データに略一致するので、第2格子点近辺での補間精度が非常に高くなる。また、補間関数は隣接する第1の色成分データ(第1格子点)の間の区間について定義するのが一般的であるので、当該第1格子点については上記出力色データが示す対応関係に一致させることができる。従って、第1格子点についても上記出力色データが示す対応関係に一致させれば、第1格子点と第2格子点とについて出力色データが示す対応関係を満たすことになり、修正後の補間関数による補間精度が確実に向上する。
尚、上記修正度合いは、補間関数に対する修正によって変化する量を示すことができれば良く、例えば、補間関数において修正対象となっている項が修正前後にどれほど変化したかを評価する値等を採用可能である。また、上記理想的な状態は仮定であって、真に理想的な状態を定義できれば好ましいが、厳密に理想的な状態を定義できることが必須というわけではない。すなわち、修正を行った結果、補間関数による補間結果が向上する限りにおいて各種の評価関数を採用可能である。
また、修正に際しては、補間結果が第2の色成分データに対する出力色データに略一致し得るような修正を導入することができればよい。このための具体例としては、補間関数における独立変数に関する項を修正前より大きな次数の多項式に変更する構成を採用可能である。すなわち、補間関数において、独立変数の次数が大きくなれば、補間結果の挙動をより詳細に記述することができ、容易に補間結果を第2の色成分データに対する出力色データに略一致させることができる。尚、独立変数に関する項としては、独立変数自体であっても良いし、独立変数と他の値(例えば格子点における独立変数値)とを含む項であっても良い。いずれにしても独立変数が寄与する項の次数を大きくすることができれば、補間結果(従属変数)をより柔軟に制御することが可能である。
この多項式においては、柔軟に補間結果を制御できる反面、自由度が大きすぎることに起因して、補間結果が振動したり、補間結果が複数の解となるなど、修正後の補間関数に破綻を生じる場合がある。そこで、破綻を防止するための制約条件を導入するのが好ましい。その具体例としては、上記独立変数に関する項が1次の独立変数を含むときに、上記多項式が単調変化するように制約条件を課す構成を採用可能である。
すなわち、独立変数に関する項が1次の独立変数を含む場合には、この項は独立変数に対して単調に(直線的に)変化する。しかし、この項が単調に変化せず、独立変数に対して振動すれば、補間結果が振動したり、補間結果が複数の解になるなど破綻の原因になる。そこで、この項を多項式で記述する修正を導入した後にも単調変化となるように制約条件を課せば、補間結果の破綻を防止することができる。尚、ここで上記多項式が単調変化する状況は、多項式が独立変数に対して単調変化である場合のみならず、独立変数に関する項を所定の変数とし、この変数に対して多項式が単調変化である場合を含む。すなわち、独立変数に関する項は1次の独立変数を含むので、独立変数に対する多項式の挙動と独立変数に関する項に対する多項式の挙動とは類似しており、いずれを制約条件としても良い。
さらに、修正に際して、上記多項式を独立変数に関する項の累乗に所定の係数を乗じた項の和で表現することが可能である。この場合、当該係数を決定することによって多項式を特定することができる。1次元の補間を繰り返して多次元の補間を実現する場合、処理の容易のため、当該多項式も1次元毎に定義するのが好ましい。但し、1次元毎に多項式を定義した場合、定義された方向で補間結果の連続性を保証することは可能であるが、他の方向については補間結果の連続性を保証できない。
そこで、係数を独立変数に関する項に依存させれば、補間結果の連続性を保証することが可能になる。すなわち、係数が独立変数や独立変数を含む項に依存していれば、上記他の方向については独立変数や独立変数を含む項に従って変化するように係数を記述することができる。係数が上記他の方向について変化すれば、補間結果も変化させられるので、補間結果の連続性を保証するように係数を決定することが可能である。
尚、補間関数修正手段による修正に際しては、補間関数を適用した補間結果が第2の色成分データに対する出力色データに対して常に厳密に一致することを要求するとは限らない。すなわち、一致する方が好ましいが、一致させることを優先させると上述の制約条件を満たさないことがあり得る。このような場合に、補間結果が第2の色成分データに対する出力色データに対して一致することを優先するのではなく、制約条件を満たすことを優先してもよい。この意味で、修正に際しては補間関数を適用した補間結果が第2の色成分データに対する出力色データに対して略一致させられればよい。
尚、上記補間関数修正手段において修正前の補間関数を取得するための構成は種々の構成を採用可能であり、例えば、1次元の補間関数による補間演算を上記第1色空間の次元数と同じ回数繰り返した結果に相当する補間演算式を利用可能である。すなわち、この補間演算式を予め算出しておき、その式を示すデータを所定の記録媒体に記録しておけば、当該データを参照するのみで簡単に補間関数を取得することができる。ここでの補間演算式を得るための1次元補間演算式は、直線上に並ぶ格子点における独立変数値と従属変数値と高次微分値および補間対象の格子点における独立変数値に基づいて補間対象の格子点における従属変数値を算出する式が好ましい。このような補間演算の具体例としては、スプライン補間が該当する。また、上記高次微分値には、異なる次元のそれぞれについて2次微分を行って得られる微分値も含む。
ところで、上述したプロファイル作成装置は、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。また、上述したように、予め得られた検証用のデータに基づいて補間関数を修正する手法は、所定の手順に従って処理を進めていくうえで、その根底にはその手順に発明が存在するということは当然である。したがって、本発明は方法としても適用可能であり、本発明においても、基本的には同様の作用となる。本発明を実施しようとする際に、プロファイル作成装置にて所定のプログラムを実行させる場合もある。本発明は、そのプログラムとしても適用可能であり、当該発明においても、基本的には同様の作用となる。
また、以上のようにして作成されたプロファイルデータに基づいて印刷時の色変換を行えば、高精度に色変換を行うことができるので、高精度のカラーマッチングを行いながら印刷を実行することができる。尚、印刷制御を実施する際には、入力画像データで使用される表色系と印刷装置で使用される表色系との変換が必要になるので、印刷制御に際して色変換を実施するためには、本発明によるプロファイルデータに基づいて両表色系の色変換を実施するプロファイルを予め作成しておけばよい。
むろん、他のプロファイルと本発明にかかるプロファイルとを利用して色変換を行っても良い。例えば、本発明にかかるプロファイルにて第2色空間が機器非依存色空間である場合、画像データで使用する表色系と機器非依存色空間との対応関係を規定するプロファイルを上記他のプロファイルとして用意しておけば、当該他のプロファイルと本発明にかかるプロファイルとを利用して容易に色変換を実施することができる。むろん、本発明にかかるプロファイルにおける第1色空間が印刷装置にて使用する表色系と異なる場合に、両者を対応づけるプロファイルを予め作成しておいても良い。
尚、本発明の構成を上記プロファイル作成方法やプログラムあるいは印刷制御装置,方法,プログラムに対応させることも可能である。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階については全く問う余地なく同等である。
LUTの作成を概略的に示す図である。 多次元空間のスプライン補間演算を説明するための図である。 色変換テーブル作成装置の構成例を示すブロック図である。 色変換テーブル作成装置の処理フローチャートである。 色変換テーブル作成装置の処理フローチャートである。 格子点の位置関係を説明するための図である。 高精度の補間演算を説明するための説明図である。 格子点の位置関係を説明するための図である。 LUTを使用するコンピュータ構成例を示すブロック図である。
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)本発明の概略:
(2)色変換テーブル作成装置の構成:
(2−1)スプライン補間演算式の修正および最適化:
(2−2)2次元空間への拡張:
(2−3)3次元空間への拡張:
(2−4)作成された色変換テーブルデータに基づく色変換処理:
(3)他の実施形態:
(1)本発明の概略:
図1は、本発明にかかる色変換テーブル(LUT)の作成を概略的に示す図である。本発明は、当該LUTの作成に際して従来実施されていたスプライン補間では得られない顕著な効果、すなわち、高精度化および高速化を実現している。LUTを作成するためには種々の手法を採用可能であるが、ここでは、プリンタで使用する記録材(インクやトナー)の量を直接的に指定するデータと機器非依存色空間中のデータとの対応関係を規定するLUTについて説明する。
さらに、同図においてはプリンタにCMYKlclm(シアン,マゼンタ,イエロー,ブラック,ライトシアン,ライトマゼンタ)の各インクを搭載し、機器非依存色空間としてL***色空間を利用する態様について説明する。CMYKlclmの各インク量は、通常、階調値(例えば、256階調の階調値)にて指定され、CMYKlclmのそれぞれについて階調値を0〜255まで独立に変化させることによって多数の色を表現する。
これらの階調値を指定するCMYKlclmデータにおいては、インク量を指定することによって特定の色を示すことができるが、各階調値によって出力されるインクの量等はプリンタの機種や印刷モード等によって異なるので、このCMYKlclmデータにて指定される色はいわゆる機器依存色である。従って、単にCMYKlclmデータを決めただけでは、出力色がどのような色であるかを客観的に特定することができない。そこで、コンピュータから印刷指示がなされた画像の色を忠実に再現して印刷を行うために、LUTを参照して指定通りの色を印刷させるためのCMYKlclmデータを算出する。
このために、LUTでは客観的に色を特定可能なL***データとCMYKlclmデータとの対応関係を規定する。但し、任意のCMYKlclmデータの組合せに対してL***データを対応づけると膨大な数となり、コンピュータにて扱う際のリソースが無駄になる。そこで、一定数(例えば、173個や323個)のCMYKlclmデータとL***データとについて対応関係を規定したLUTを作成し、任意のCMYKlclmデータに対応するL***データは、演算によって求める。
上述のようにCMYKlclmデータにて指定される色は機器依存色であるため、一般的には、CMYKlclmデータにて色を特定した複数のパッチを実際に印刷し、印刷結果を測色することによって正確なL***値を取得してLUTを作成する。このとき、上述のような173個程度のパッチを印刷し、誤りなく測色を行うのは大変な労力であるため、通常、印刷/測色作業を行える現実的な数、例えば103個程度のパッチ数を測色対象数としている。
測色数が最終的なLUTにおけるCMYKlclmデータの数より少なくても、測色したデータに基づいて補間演算を行えば、それより多数の点についてCMYKlclmデータとL***データとの対応関係を規定することができる。ここで、LUTに規定する各CMYKlclmデータは、プリンタの色域を網羅したり、印刷媒体上に記録できるインク量の上限を超えないようにしたり、インク滴によって生じる粒状感を抑えるようにするなど、種々の制約に基づいて決められる必要がある。
CMYKlclmの6次元データにおいて、各色成分毎の階調値を自由に組み合わせてこれらの制約を満たすようにすることは困難である。また、6次元のCMYKlclmデータから補間演算によってL***値を算出するのは煩雑である。そこで、より低次元の色空間であるとともに色域を単純な形状で表現可能な色空間で階調値を決定したあと、分版処理と呼ばれる手法によって6次元のCMYKlclmデータを生成する。
すなわち、まず、図1の左上に示すように、仮想的に形成するCMY空間(仮想CMY)で、各色成分毎の階調値を決定する。ここで、仮想CMYはCMYの各色についてその濃さに相当する階調値を仮想的に考えたものである。尚、このCMYの階調値はプリンタに搭載されたCMYKlclmの各色インクのうち、CMYインクの量に対応すると考えることもできるが、各階調値の組合せによってどのような出力色になるのか定義する必要はなく、実際の出力色を示す必要のない色空間という意味で仮想CMY空間と呼んでいる。
仮想CMYのように、3次元であれば、各色の階調値域を網羅するように色を選択することによって仮想CMYにおける色域の全域を網羅することは容易であり、例えば、各色の階調値域を均等に9等分し、値を組み合わせれば容易に103個のCMYデータを生成することができる。分版処理は、特定の規則によって3次元で表現された色を6次元に変換する処理である。例えば、CMYの各色のインクを印刷媒体に記録することを想定すると、CMY各色インクを略等量記録することによってほぼ無彩色、すなわちブラックを表現することができる。そこで、仮想CMY階調値の一部を特定の規則でKに置き換えると考えれば、CMY階調値からほぼ同じ色に相当するCMYK階調値を生成したと考えることができる。
さらに、lcは淡いシアン、lmは淡いマゼンタであるため、濃いシアンであるC階調値の一部を特定の規則でlcに置き換え、濃いマゼンタであるM階調値の一部を特定の規則でlmに置き換えることにより、CMYK階調値からほぼ同じ色に相当するCMYKlclm階調値を生成したと考えることができる。尚、このような置き換えの際に上述のように印刷媒体上に記録できるインク量の上限を超えないようにしたり、インク滴によって生じる粒状感を抑えるようにすることが可能である。このような分版処理によれば、仮想CMYとCMYKlclmデータとを一対一に対応づけることができる。
従って、上述のように階調値域を等分して仮想CMY階調値を特定し、当該仮想CMY階調値を分版処理した後のCMYKlclmデータに基づいて印刷し、測色を行うことによって、仮想CMY階調値とL***値とを対応づけることができる。以上のような分版処理の規則を適切に設定しておけば、上述の例のように仮想CMY空間内で階調値域を均等に分割して得られる値の組合せを測色対象とすることができる。従って、仮想CMY空間の色域に均等に配置された格子点から、図1のLUT1に示すように103個の仮想CMY階調値と測色値(L***)とを対応づけたテーブル1を作成することができる。ここで、仮想CMY空間を3次元直交空間と考えると、この値の組合せは、空間に均等に配列した直交格子点となる。
従来は、このテーブル1からスプライン補間演算によって所望の数(例えば、173個や323個)の仮想CMY階調値についてL***値との対応関係を取得し、当該仮想CMY階調値を分版規則によってCMYKlclmデータに変換することで、LUTを作成していた。すなわち、CMYKlclmデータとL***データとを対応づけて従来のLUT2を作成していた。むろん、分版規則が確定している限り、仮想CMY値とL***値との対応関係を規定したLUTであっても従来のLUT2と同等である。
ここで、LUT2の実用性はスプライン補間の精度に依存しており、精度良くCMYKlclmデータに対応するL***値を算出できるか否かによって判断することができる。このため、一般的には、最も精度が低下すると考えられる点で、スプライン補間によって得られたL***値とその実測値とを比較し、実用に耐える精度であるか否かを判断している。例えば、上記103個の仮想CMY階調値から各色成分毎に隣接する2つの値を抽出し、その中間に相当する値をCMY各色で組み合わせることによって検証用の仮想CMY階調値を生成する。すなわち、上記直交格子点の中央に相当する仮想CMY階調値を取得する。
この仮想CMY階調値に対して上記分版処理を実施し、得られたCMYKlclmデータで印刷を行い、得られた印刷物を測色すれば、この仮想CMY階調値に対応したL***値が得られる。すなわち、図1に示すテーブル3を作成したことになる。尚、この例においては、テーブル3にて登録される測色値の数は93個である。
このテーブル3を取得したら、当該テーブル3に規定される仮想CMY階調値と同じ値の仮想CMY階調値に対応するL***値をテーブル1に基づいてスプライン補間演算で算出する。この結果、テーブル3に規定された実測値とテーブル1に基づく補間演算値とを比較することができ、当該比較によって従来のLUT2が実用に耐える精度であるか否かを判断することができる。
このような従来のLUT2においては、実用に耐える精度でなかった場合に分版処理の規則を変更するなどの対応が考えられるが、この対応では、補間精度を直接的に制御するのではないため、実際に補間精度を向上することが非常に困難である。また、実際には(103+93)個の測色値を取得しているが、スプライン補間演算に使用可能な測色値は103個であり、93個の測色値は、補間精度の向上に直接寄与していない。さらに、精度向上のために93個の測色値を利用するとしても、通常のスプライン補間演算では、1次元毎に補間演算を実施して多次元の補間値を取得するため、103個の直交格子点同士を結ぶ線上に存在しない93個の測色値を利用するのは困難であった。
図2は、多次元空間におけるスプライン補間演算を説明するための図である。同図においては、簡単のために2次元空間における補間値をスプライン補間によって算出する様子を示しており、xが独立変数であるとともに2次元空間の位置に相当し、yが各位置に対応づけられた従属変数である。この例では独立変数の各値が直交格子を形成しており、上記テーブル1の仮想CMYが当該独立変数、L***値が当該従属変数に相当すると考えることができる。尚、多次元の従属変数値(例えばL***値)を算出する際には、各次元毎に従属変数値を与える補間関数(L*,a*,b*を与える別個の補間関数)を想定すればよい(以下同じ)。
図2において、x1は紙面横軸(X1方向)に沿って値が変化する変数を示し、x2は紙面縦軸(X2方向)に沿って値が変化する変数を示している。また、添字iによってX1方向の格子点位置、添字jによってX2方向の格子点位置を区別している。各格子点上の従属変数値は添字ijによって区別している。2次元空間上の任意位置(x1,x2)について、その従属変数yをスプライン補間演算で算出するためには、まず、X1方向でスプライン補間を行い、続いてX2方向でスプライン補間を行う。
尚、1次元のスプライン補間演算は下記式(1)によって定義される。
Figure 2009278663

ここで、従属変数値yj,yj+1は、それぞれ独立変数値xj,xj+1に対応づけられた値であり、y''j,y''j+1は、それぞれ独立変数値xj,xj+1におけるx方向の2次微分値である。
また、上記式(1)内のAおよびBは下記式(2)のように定義され、
Figure 2009278663

上記式(1)内のCおよびDは下記式(3)のように定義される。
Figure 2009278663
また、上記式(1)における2次微分値y''jは、式(1)のxによる1次微分値が区間の境界で連続であるという条件を課すことにより求めることができる。式(1)をxにより1次微分すると、以下の式(4)のように表すことができる。
Figure 2009278663
ここで、区間xj-1〜xjで式(4)を評価した値と、区間xj〜xj+1で式(4)を評価した値が、x=xjで等しいとするなら、以下の式(5)に示す方程式を得ることができる。
Figure 2009278663

式(5)で表す境界条件は、x=x1〜xN-2における、(N−2)連立方程式を表しており、当該連立方程式を解くことにより、y''jを求めることができる。ここで、Nはx方向の格子点数を示している。尚、本明細書において、通常x1はX1方向の任意位置を示すが、前述のx1〜xN-2ではX1方向の格子点に対して端から順に0〜N−1と番号を付け、その両端を除いた格子点の位置をx1〜xN-2としている。
以上の式(5)において、未知の2次微分値y''jはN個存在するが、上記連立方程式は(N−2)連立方程式であるので、さらに2個の条件を必要とする。典型的にはy''0およびy''N-1の値を指定すればよい。(例えば、一般に自然スプラインと呼ばれるy''0=0、y''N-1=0という条件を採用すればよい)詳細は、例えば、「NUMERICAL RECIPES in C(日本語版)」,技術評論社,p.105等に記述されている。
以上のようにして、2次微分値を算出することができれば、上記式(1)に示すスプライン関数を定義することができ、定義された区間における任意の独立変数値に対応する従属変数値を算出することが可能になる。従って、同式(1)のスプライン補間演算式を算出するためには、N個の独立変数x0〜xN-1および対応する従属変数y0〜yN-1が必要である。
すなわち、上記図2における位置(x1,x2)に相当する従属変数値yをX2方向のスプライン補間演算式から算出するには同図に白丸で示す位置を含めた(x1,x20),・・・,(x1,x2j),・・・,(x1,x2N2-1)における従属変数値y10,・・・,y1j,・・・,y1N2-1が必要である。(ただし、N2はX2方向の格子点数を表す。また、図2の説明において、x1は端の格子点位置ではなく同図に示すようなX1方向の任意位置を示す。)
さらに、それぞれの白丸で示す位置の従属変数値を取得するには、X1方向のスプライン補間演算が必要である。例えば、従属変数値y1j-1を算出するには、位置(x10,x2j-1),・・・,(x1i,x2j-1),・・・,(x1N1-1,x2j-1)における従属変数値y0j-1,・・・,yij-1,・・・,yN1-1j-1が必要である。(ただし、N1はX1方向のグリッド数を示す。)
結局、任意位置(x1,x2)について、その従属変数yをスプライン補間演算で算出するためには、まず、図2に示す実線の交点に相当するN1×N2個の格子点の独立変数および従属変数を利用してX1方向でスプライン補間演算を実施し、位置x1における従属変数値を算出することになる。そして、得られたN2個の従属変数値に基づき、X2方向でスプライン補間演算を実施し、位置x2における従属変数値yを取得することになる。むろん、スプライン補間演算を適用する方向はX2方向,X1方向の順でも良い。
以上のように、スプライン補間においては、1次元のスプライン補間演算を繰り返して多次元空間における任意の位置の従属変数値を取得可能であるが、この補間演算の精度は、一般に実際の測色値(図2の格子点)から離れるほど低下する。そこで、上述のように、テーブル1に規定された仮想CMY階調値から各色成分毎に隣接する2つの値を抽出し、その中間に相当する値をCMY各色で組み合わせることにより、テーブル1に規定された仮想CMY階調値からの距離が一定になる位置を検証用測色値としている。
従来は、この検証用測色値と上記多次元空間におけるスプライン補間演算結果とを比較することで上述の検証を行い、実用に耐えなければ分版規則を修正するなどしていた。しかし、スプライン補間演算を行う際に利用した元の測色値(図1の例では103個の測色値)と検証用測色値は正確な値であるため、前者を利用して後者を算出できなければ、補間精度が非常に高精度であるとは言えない。補間である以上、誤差は発生し得るし、スプライン補間演算の精度を超えるのは困難であると考えられていたが、本願出願人は、最適化によってこの困難な課題を克服し、より高精度の補間を実現した。
すなわち、図1の右側中央に示すように、スプライン補間演算の関数形による補間演算を想定するが、この補間式にて独立変数に依存する項を一般的なスプライン補間演算式における項より高次の関数で表現する。そして、当該高次の関数の関数形を最適化することによって、上記元の測色値から検証用測色値もできるだけ正確に補間できるような補間演算式を導出する。
このような補間演算式によれば、従来のスプライン補間演算式よりも高い精度で補間を行うことができ、上記元の測色値に基づいて、所望の数(例えば、173個や323個)の仮想CMY階調値に対応するL***値を取得し、当該仮想CMY階調値を分版規則によってCMYKlclmデータに変換することで、LUT4を作成する。尚、本発明においては、LUT4を作成するにあたり高速に補間演算を実施できるよう構成してあるが、詳細は後述する。
また、図1に示すLUTの構成は一例であり、むろん、コンピュータで使用する表色系(例えばsRGB表色系)とプリンタで使用する表色系との対応関係を規定するLUTであっても良い。sRGB表色系における座標値は演算によってL***値と対応づけることができるので、この対応関係と図1に示すLUT4における対応関係とを参照すれば、sRGB表色系とCMYKlclm表色系とを対応づけたLUTを容易に作成することが可能である。
(2)色変換テーブル作成装置の構成:
次に、本発明におけるLUTを作成する装置およびその処理について具体的に説明する。図3は本発明にかかる色変換テーブル作成装置を示すブロック図であり、図4,図5は当該色変換テーブル作成装置にて実施する処理のフローチャートである。本実施形態は、LUTを作成するためのLUT作成プログラムを実行させることができるコンピュータ10によって実現される。
図3では、当該コンピュータ10の概略構成を示している。同図においてコンピュータ10は汎用的なパーソナルコンピュータ等にて構成することができ、当該コンピュータ10はディスプレイ11やキーボード12,マウス13等のユーザインタフェースを備えるとともに、所定のプログラム実行系を備えている。すなわち、CPU14,RAM15,ROM16およびHDD17等を備えており、図示しないオペレーティングシステムの制御下においてLUT作成プログラム20を実行可能である。
当該LUT作成プログラム20は、2次微分値算出部20aとブロック設定部20bと目的関数算出部20cと最適化処理部20dと高速化スプライン補間部20eとLUT作成部20fとを備えている。このLUT作成プログラム20は、HDD17に予め記録されたデータあるいは適宜生成したデータを用いてLUTを作成する。尚、図3のHDD17においては、予めHDD17に記録されるデータを実線の矩形で示し、処理の過程で生成されるデータを破線の矩形で示している。
LUTの作成においては、予め測色データを用意しておく。すなわち、作成後のLUTを参照して印刷を実施すべきプリンタにおいて予め上述の仮想CMY階調値に基づいてパッチを印刷し、印刷されたパッチを測色しておく。この結果は、仮想CMY階調値および仮想CMY階調値に対応づけられた測色値を示すデータとしてHDD17に記録される。図3に示す例では、測色データ17aが上記図1に示す103個の測色値に相当し、CMYの各色毎に階調値域を均等に分割し、得られた値を組み合わせてCMY階調値を生成するとともに、その階調値における印刷結果を測色し対応づけたデータである。当該測色データ17aにおける階調値は仮想CMY空間で直交格子を形成する。
検証用測色データ17bは、当該測色データ17aにて形成される仮想CMY空間中の直交格子の中央に相当する仮想CMY階調値とその測色値とを対応づけたデータである。尚、測色データ17aにおける格子点位置と、検証用測色データ17bにおける格子点位置との関係は、図8の様な関係である。すなわち、測色データ17aに規定された仮想CMY階調値によって白丸のような格子点が形成されるとき、検証用測色データ17bに規定された仮想CMY階調値は当該立方体の中央に位置する黒丸に相当する。この実施形態においては、測色データ17aによって仮想CMY空間に形成される格子点が上記第1格子点に相当し、検証用測色データ17bによって仮想CMY空間に形成される格子点が上記第2格子点に相当する。但し、本明細書では、簡単のため、1次元で本発明の基本的考え方を説明し、この1次元における考え方を容易に2次元空間へ適用可能であることを示し、最後に3次元空間に対する適用を説明する。
図6は、測色データ17aの格子点と検証用測色データ17bの格子点の位置関係を示す図であり、図3に示す実施形態では仮想CMY空間が3次元空間であるところ、図6では簡単のために2次元空間で示している。図6においては、測色データ17aに記述された仮想CMY階調値による格子点の位置を白丸で示しており、検証用測色データ17bに記述された仮想CMY階調値による格子点の位置を黒丸で示している。検証用測色データ17bにおける仮想CMY階調値の格子点位置は、測色データ17aの格子点位置の中間であるため、2次元においては図6に黒丸で示すように白丸で形成される正方形の中央に相当する。
本実施形態においては、後の補間演算にて使用する微分値を予め算出するようにしており、LUT作成プログラム20の2次微分値算出部20aは、当該微分値を算出するモジュールであり、上記測色データ17aと検証用測色データ17bとを取得し(ステップS100)、これらの値から2次微分値を算出してHDD17に記録する(ステップS105)。より具体的には、微分値の算出対象は図6に白丸で示す各格子点であり、各白丸の測色値についてスプライン補間演算を実施する場合と同様にして算出することができる。
すなわち、2次微分値算出部20aが、各格子点における境界条件から得られる上記式(5)につき、上述のような連立方程式を解くことにより、スプライン補間式に含まれる2次微分値を算出する。尚、このステップS105における処理は、上記図6に白丸で示すような測色データ17aの全格子点について各方向に対して実施され、HDD17に記録される(2次微分値データ17c)。さらに、2次微分値算出部20aは、ある方向について2次微分した値に対して他の方向について2次微分した値、例えば、従属変数値yijをX1方向に2次微分し、さらにX2方向にも2次微分した値を算出する。
尚、本明細書においては、この微分値をクロス2次微分値と呼ぶ。当該クロス2次微分値は、式(5)における従属変数値および2次微分値をそれぞれ2次微分値およびクロス2次微分値で読み替えることによって算出することができる。すなわち、X1方向の2次微分値を従属変数値と考え、この従属変数値を算出するためのX2方向での1次元スプライン関数を考えると、当該1次元スプライン関数における2次微分値がクロス2次微分値になっている。例えば、式(1)の第3項に相当する2次微分値の実体が従属変数をX1方向とX2方向とで2階微分した値になっている。このクロス2次微分値も上記2次微分値算出部20aによって算出され、算出結果を示すデータはクロス2次微分値データ17dとしてHDD17に記録される。
上記2次微分値データ17cとクロス2次微分値データ17dと測色データ17aとを利用すれば、図6に示すように白丸を頂点とする正方形内の格子点について、スプライン補間によって対応するL***値を算出することができる。しかし、本発明は当該スプライン補間による補間精度を超えたより高精度の補間演算を実施する発明であり、当該スプライン補間関数における独立変数をより多次の関数で表現し、最適化を行う。
(2−1)スプライン補間演算式の修正および最適化:
ここで、当該最適化における基本的な考え方を説明する。尚、ここではまず1次元のスプライン補間に対する修正および最適化を説明する。1次元のスプライン補間式は、上述のように式(1)〜式(3)にて表現される。また、このスプライン補間式においては、式(1)を2階微分することによって下記式(6)が得られる。詳細は、例えば、ニューメリカルレシピ・イン・シー(日本語版),技術評論社,p.105等に記述されている。
Figure 2009278663
本願出願人は、このスプライン補間演算式において、上記A〜Dを修正することによって当該スプライン補間演算より高精度の補間を実施する手法を具現化した。すなわち、式(1)においては、区間の境界で1次微分値と2次微分値が連続であるという非常に理にかなった関数形で各区間における独立変数と従属変数との対応関係を定義できる。しかし、各区間において、格子点の間における従属変数の挙動は境界条件から決定してしまい、積極的に制御することはできない。そこで、本願出願人は上記A〜Dの修正を行うことで、スプライン補間演算と同様の境界条件を満たしながらも独立変数と従属変数との対応関係をより柔軟に定義する手法を提供した。
図7は、この考え方を説明するための説明図であり、同図における横軸は独立変数x,縦軸は従属変数yである。このとき、区間xj〜xj+1のスプライン関数は上記式(1)によって定義される。例えば、区間xj〜xj+1でスプライン補間によって得られる従属変数値が図7に示す実線のように変動するとき、この挙動はスプライン関数の境界条件等によって規定される。このとき、特に区間xj〜xj+1の中点である位置xaでの従属変数の真値が図7の黒矩形であり、スプライン関数での補間結果が白矩形であるとすれば、同位置xaでの補間精度は低下し得る。
そこで、本願出願人は、補間演算結果が上記黒矩形で示す真値を通る(あるいはできるだけ近くを通る)ようにして上記A〜Dの修正を行った。すなわち、図7に実線で示すスプライン補間よりも正確に、破線に示す従属変数の真値に近づけられるようにした。本実施形態においては、後述するように上記A〜Dに含まれる独立変数の次数を増加させている。
まず、上記A〜Dを修正しながらも上記スプライン補間演算式と同様の境界条件を充足させられることを示す。上記A〜Dの修正は以下の式(7)によって行う。
Figure 2009278663

すなわち、上記式(2)におけるAが未知の関数A'(=f(A))であるとし、さらに、この関数f(A)を各種の条件下で最適化を行う。
この修正においても上記スプライン補間演算式と同様であるようにするため、修正後の補間式が下記式(8)のように表現され、その2階微分が下記式(9)を満たすと考える。
Figure 2009278663

Figure 2009278663
ここで、各区間の境界は空間内の格子点に相当し、対応する従属変数値は上述の測色値(測色データ17a)に相当するので、正確な値である。従って、格子点に対応する従属変数値および従属変数値から算出される2次微分値には修正の影響がないように以下の条件1,2を充足させる。
条件1:格子点Lj,Lj+1の従属変数値は測色値yj,yj+1である。
条件2:格子点Lj,Lj+1の2次微分値は測色値から上記式(5)に基づいて算出されるy''j,y''j+1である。
さらに、上記関数f(A)を導入することによって、より高精度の補間を実施できるようにするため、下記条件3を充足させる。
条件3:補間結果が検証用測色データ17bと一致する。
尚、この条件3を常に厳格に適用すると、得られる補間関数に振動が生じ、補間結果が非現実的なものとなる場合がある。このような場合に条件3を適用するのは好ましくないため、後述する制約条件を課すことによって非現実的な補間を防止する。
条件1を充足させるための条件式を導出するため、式(8)にて独立変数xがxjである場合を想定すると、A'=1であれば、独立変数xがxjであるときに従属変数yがyjであるという関係が任意の格子に対して満たされる。式(2)により、独立変数xがxjである場合にはA=1であると言えるので、結局A’の条件式としては、下記式(10)の第1式が得られる。同様に独立変数xがxj+1である場合を想定すると、A’=0,A=0であり、A’の条件式としては式(10)の第2式が得られる。
Figure 2009278663
次に、上記条件2を充足させるための条件式を導出するため、式(8)を2階微分すると、下記式(11)が得られる。
Figure 2009278663
このとき、f(A)をAで1階微分した値が1,2階微分した値が0であれば、任意の従属変数値およびその2次微分値に対して式(9)と式(11)とが一致する。従って、独立変数xがxj,xj+1である時にf(A)をAで1階微分した値が1,2階微分した値が0になるようにすれば、上記条件2を満たす。すなわち、条件2を充足させるための条件式は以下の式(12)になる。
Figure 2009278663
さらに、条件3を充足するためには、独立変数xにxp(xpは検証用測色データ17bにおける格子点位置を指定する値)を代入したときに下記式(13)を満たす必要がある。ここで、ypは上記検証用測色データ17bに相当する従属変数である。
Figure 2009278663
以上のように、式(10),式(12),式(13)の条件を満たす関数f(A)が定義できれば、スプライン補間演算より高精度の補間を実施可能であることが期待できる。本件出願人はこの関数f(A)が多項式であると想定してスプライン補間を修正しており、当該多項式による修正を行えば実際に補間精度が向上したことが確認されている。関数f(A)が多項式であると想定し、その関数形を決定するにあたり、条件式から算出可能な次数に設定する。すなわち、上記式(10),式(12),式(13)が7個の条件式であることから7個の係数k0〜k6を含む6次式(14)を想定する。
Figure 2009278663
条件式(10),式(12)によって係数k0〜k5を解けば、k0=0,k1=1,k2=0,k3=−k6,k4=3k6,k5=−3k6となる。得られた結果を式(14)に代入し、その結果を式(7)に代入し、さらに式(13)に代入すれば、係数k6を算出するための式を取得することができる。但し、本発明の適用対象は1次元に限られず、本実施形態のように多次元であることも想定し、ここでは最適化によって係数k6を算出する。
最適化の手法は各種の手法を採用可能であるが、ここでは、関数f(A)の導入に伴って過度に非線形になることを防ぐために目的関数Eを導入し、制約条件を課しながら当該目的関数Eを最小化する。すなわち、上記式(13)を満たすような係数k6の値は多数存在することが予想されるため、目的関数Eを最小化する係数k6が理想的な解であるとする。尚、上記制約条件には上記式(13)を充足させるための条件(制約条件1)が含まれるが、むろん、他の制約条件を含めることも可能である。本実施形態においては、当該式(13)を充足させるための条件に加え、関数f(A)が単調に増加するように条件(制約条件2)を課して最適化を行う。また、この最小化においては準ニュートン法など種々の手法を採用可能であり、後述する2次元以上での最適解の導出に特に有用である。
より具体的には、まず、式(13)を満たすようなA'を算出するにあたり、通常のスプライン補間演算式(1)に含まれる上記Aの値と修正後(式(13))のA'の値とができるだけ近い値になるように目的関数Eを設定する。この目的関数としては、例えば以下の式(15)を採用可能である。
Figure 2009278663

ここで、Apは上記式(2)の第1式において独立変数xにxpを代入して得られる値である。式(15)におけるA'pは、最適解を探索している過程でA'の候補として得られる値である。すなわち、この目的関数Eをできるだけ小さくするようにA'の3次式である式(13)の解を求めることによって、A'pを修正後のA'として最適な値に収束させる。
最適解A'pが得られたら、上記式(14)に対して当該最適解A'pと上記係数k0〜k5の値とを代入し、変形すると、下記式(16)の様にして独立変数xpにおける係数k6を算出することができる。
Figure 2009278663
尚、本実施形態においては、当該係数k6が算出されてから上記制約条件2を充足するか否かを検証することができる。上記制約条件2は、関数f(A)が単調に増加するように決められた条件であり、この条件を課すことによって補間結果の破綻を防止している。すなわち、スプライン補間演算式(1)において第1項と第2項は線形補間分の寄与を示し、Aは式(2)の第1式から明らかなように任意の独立変数xと既知の独立変数値xj,xj+1との相対関係を示している。
従って、スプライン補間演算式における第1項で、Aの値は独立変数xの変化に対して線形的に変化する。ここで、上記関数f(A)の導入した後に、A'(=f(A))がAに対して単調増加でなければ、修正後の関数式(13)の性質は、大きくスプライン補間演算式の性質と異なってしまう。すなわち、A'(=f(A))がAに対して単調増加でなければ、同じA'に対して複数のAが存在することになり、格子点から遠ざかるほどその格子点からの寄与が小さくなるという補間の物理的意味から大きく外れることになる。この場合、関数f(A)を求めたとしても補間演算式としては不適当な式となり、理にかなった補間結果が得られにくい。
いずれにしても、以上のように制約条件1および制約条件2を課しながらA'の最適解A'pを算出すると、関数f(A)の非線形性をできるだけ抑えた状態(Aに対するf(A)の複雑な依存性をできるだけ抑えた状態)で係数k6を算出することができる。より具体的には、関数f(A)が単調増加であるための条件は当該関数f(A)のAに関する1次微分値が常に正の値であることであり、以下の式(17)で表現される。
Figure 2009278663

ここで、同式において係数k6に乗ぜられている式をg(A)とおく。
当該g(A)は、A=0,0.5,1においてg(A)=0であり、0<A<0.5において負の値、0.5<A<1において正の値を取る。従って、g(A)は、0<A<0.5におけるあるAで負の最小値を取り、0.5<A<1におけるあるAで正の最大値を取ることになる。従って、上記式(17)は式(18)の様に書き換えられる。
Figure 2009278663
ここで、0<A<0.5においてg(A)の最小値を与えるAをAq1,0.5<A<1においてg(A)の最大値を与えるAをAq2とすれば、式(18)をさらに式(19)に変形することができる。
Figure 2009278663
尚、0<A<0.5におけるg(A)の最小値および0.5<A<1におけるg(A)の最大値は極値であるので、当該g(A)の1階微分値を0とおくことによってAq1およびAq2を算出することができる。具体的には、Aq1=(5−5-1/2)/10およびAq2=(5+5-1/2)/10である。
上記式(16)によって算出した係数k6がこの制約条件2を満たす限り、関数f(A)が単調増加であることを保証することができる。そこで、上記最適解A'pを算出した後に係数k6を算出し、式(16)を満たすか否かをチェックすればよい。尚、制約条件1と制約条件2との双方が常に満たされるとは限らないが、本実施形態では制約条件2を優先している。すなわち、補間結果が厳密に検証用測色データ17bと一致しなくても、関数f(A)が単調増加であることを優先している。
この結果、補間演算結果に破綻が生じることを防止している。尚、低明度域の色においては、仮想CMY階調値の増加に対してL***値の変化量が小さくなり、補間関数の振動や急激な変化が生じると、理にかなわない補間結果が得られやすい。すなわち、低明度域においては、特に独立変数の変化に対して変化し得る従属変数の値域が狭いので、関数f(A)の導入によって破綻が生じやすい。しかし、制約条件2を課することにより、確実に当該破綻を防止することができる。
(2−2)2次元空間への拡張:
以上の説明は、1次元スプライン補間についての修正であったが、2次元あるいはそれ以上のスプライン補間についても同様の考え方を容易に適用することができる。そこで、次に2次元空間におけるスプライン補間の修正を説明する。このために、まず2次元空間におけるスプライン補間式を説明する。上述のように、1次元スプライン補間を繰り返すことによって2次元のスプライン補間を実施することができるが、本発明においては、予め1次元の補間演算を繰り返すことなく多次元空間での補間値を取得するための処理を行っており、この処理を高速化スプライン補間演算と呼ぶ。
当該高速化スプライン補間は、多次元空間での補間を行う場合に計算すべき補間式を予め求めておき、上記2次微分値等を適用することによって実現される。2次元空間における当該高速化スプライン補間演算は、測色データ17aとこのデータによる格子点での2次微分値とクロス2次微分値とを利用して実施され、ここでは、図2に示す2次元空間を例に説明する。この例に則して表現すると、格子点位置(x1i,x2j),(x1i+1,x2j),(x1i,x2j+1),(x1i+1,x2j+1)に囲まれた任意の位置(x1,x2)における従属変数値yを各格子点位置およびその従属変数値と2次微分値とから算出できるような式を予め算出することになる。
ここで、位置(x1,x2j)と位置(x1,x2j+1)の従属変数値はX1方向のスプライン補間を考えると、式(20),式(21)によって与えられる。
Figure 2009278663

Figure 2009278663
一方、位置(x1,x2)は、位置(x1,x2j)と位置(x1,x2j+1)とにおける従属変数および2次微分値を利用してX2方向のスプライン補間を考えると、式(22),式(23)のように表現される。
Figure 2009278663

Figure 2009278663
ここで、式(22)の右辺第3項、第4項における2次微分値は、式(20)をx2で2階微分したものであり、実際に2階微分を行うことにより、式(24)のように定義することができる。
Figure 2009278663
そこで、式(20),式(24)を式(22)に代入し、変形すると、下記式(25)が得られる。
Figure 2009278663
この式(25)には、格子点位置(x1i,x2j),(x1i+1,x2j),(x1i,x2j+1),(x1i+1,x2j+1)および当該格子点に囲まれた矩形内で任意の位置(x1,x2)とそれぞれの従属変数値,2次微分値,クロス2次微分値のみが含まれる。従って、予めこれらの値を算出しておけば、単なる代数演算によって任意の位置(x1,x2)の従属変数値を算出することができる。
すなわち、図6に示すような2次元空間において、白丸を頂点とする最小の正方格子(測色データ17aが形成する格子)の位置を上記図2に示す格子点位置と同様に定義すると、式(25)によって当該正方格子内の任意位置の従属変数値を算出することができる。そこで、本発明においては、この高速化スプライン補間演算式についてさらなる修正を施すことによって、より高精度に高速化スプライン補間を行う。修正は下記式(26)にて与えられる。
Figure 2009278663
ここで、添字1,2は式(21),式(23)と同様にそれぞれX1方向に関する式、X2方向に関する式に対応させてある。すなわち、式(26)の第1式は、式(21)の第1式に対する修正であり、式(26)の第2式は、式(23)の第1式に対する修正である。このため、各式におけるB〜Dも修正され、上記式(25)内のA1〜D1およびA2〜D2がA'1〜D'1およびA'2〜D'2に修正されることになり、修正後の補間演算式は下記式(27)で表現される。
Figure 2009278663
ここにおいても6次の多項式を想定し、X1方向に関する係数k11〜k16,X2方向に関する係数k21〜k26によって下記式(28)を導入する。
Figure 2009278663

そして、上述の1次元における条件1〜条件3と同様の条件を充足するように目的関数Eを最小化する。ここで、2次元空間における目的関数Eは、例えば、下記式(29)のように表現できる。
Figure 2009278663
ここで、検証用測色データ17bにおける格子点位置を指定する値を(x1p,x2p)とし、A1pは、式(21)の第1式の独立変数x1に当該x1pを代入して得られる値であり、A2pは、式(23)の第1式の独立変数x2に上記x2pを代入して得られる値である。また、A'1p,A'2pは、A'1,A'2を上記条件3、すなわち、式(27)の独立変数に(x1p,x2p)を代入した結果得られる補間結果が検証用測色データ17bの測色値ypであるという条件で最適化する際に適宜変更される値である。
以上の目的関数Eによって最適化後のA'1p,A'2pが算出されると、残りの係数が下記式(30)の様にして算出可能になる。
Figure 2009278663

ここで、A'1p,A'2pは、上記条件3を制約条件として最適化を行った後の値である。
このように、係数k16,k26を算出したら、上述の場合と同様に下記式(31)によって制約条件2を充足するか否か検証する。
Figure 2009278663

尚、Aq1およびAq2は上記式(19)における値と同値である。
以上のようにすれば、上記図6に示すような2次元空間において、白丸を頂点とする最小の正方格子(ブロックと呼ぶ)を利用して各正方格子内の任意位置の従属変数値を高精度に算出することが可能になる。但し、以上の修正において、境界条件(上記条件1,条件2)は、各方向毎に定義されているので、これらの条件のみで2方向について補間結果の連続性を保証することはできない。そこで、2次元以上の空間では、係数k16,k26に位置依存性を持たせ、ブロックの境界でこれらの係数を連続にすることで、式(27)による補間演算結果の連続性を保証している。
図6を参照し、係数k26を例にして考えると、当該係数k26を算出するにあたり適用される条件1は、X2方向に垂直な境界B2(図6に示す太線)上で修正後のA'2が修正前のA2に一致するという条件によって充足する。微分値についての条件2も同様であり、境界B2で修正後のA'2の1次微分値および2次微分値が修正前のスプライン補間演算式と同様の境界条件を満たすことになる。
以上の条件によって上記式(28)の第2式が導出されるのであるが、当該第2式にはX1方向の変数を含まないので、境界B1上で関数が連続するとは限らない。例えば、境界B1上の独立変数x1iから上記A1を算出するとその値は1になり、A'1も1になる。この結果、B'1=0,C'1=0,D'1=0となり、これらを式(27)に代入すると下記式(32)が得られる。
Figure 2009278663
この式は、X2方向における1次元スプライン補間に修正A'2を導入した状態である。従って、ブロックBL1において算出した係数k26とブロックBL2において算出した係数k26とが一致していれば、上記式(32)によって算出される値はブロックBL1,ブロックBL2の境界で連続である。しかし、上記式(30)による係数の算出はブロック毎に独立して行われるため、一般的に、ブロック間で係数k26が一致するとは言えない。この状況は、係数k16についても同様であり、条件1,条件2に基づいて式(30)の第1式にて当該係数k16が決定されたとき、境界B1における補間結果の連続性は保証できるが、境界B2における補間結果の連続性は保証できない。
そこで、本実施形態においては、一旦式(30)に基づいて係数k16,係数k26を決定した後、必要に応じて境界上で係数を連続にすることによって式(27)による補間結果の連続性を保証する。ここでは、係数k16がX2方向に連続であり、係数k26がX1方向に連続であればよく、係数k16が独立変数x2に従って連続的に変化し、係数k26が独立変数x1に従って連続的に変化すればよい。尚、これは、係数k16がA2に従って連続的に変化し、係数k26がA1に従って連続的に変化することと同様である。
以上の連続性を充足させるため、本実施形態では、上記式(30)によって算出される係数k16,係数k26の値は検証用測色データ17bにおける格子点における値であるとし、この値から境界上の係数値を算出するとともに境界に向かって連続的に変化するように定義する。例えば、係数k26がA1に従って連続的に変化するようにするため、境界上の係数値は隣接するブロックにおいて算出済みの係数値から補間演算によって算出する。
図6に示す例でブロックBL1,BL2,BL3における検証用測色データ17bの位置(x1p,x2p1,(x1p,x2p2,(x1p,x2p3について係数k26が算出済みである場合、中間の境界上の係数値を補間演算によって算出する。すなわち、独立変数値がx1iである境界B1における係数k26を位置(x1p,x2p1,(x1p,x2p2について算出された係数値から補間する。独立変数値がx1i+1である境界B1における係数k26を位置(x1p,x2p2,(x1p,x2p3について算出された係数値から補間する。
この結果、ブロックBL2においては、中央の位置(x1p,x2p)における係数k26の値とX2方向の両端を構成する2つの境界B1上の係数値が算出される。そこで、係数k26を式(33)によって表現し、この式(33)における関数hの値が上記各位置における係数値と一致すると考える。
Figure 2009278663
すなわち、X1方向の位置x1i,x1p,x1i+1における係数値をk26i,k26p,k26i+1とし、上記式(33)のA1に各位置x1i,x1p,x1i+1をそれぞれ代入する。そして、それぞれの左辺が係数値k26i,k26p,k26i+1に等しいとすれば、3個の連立方程式を取得することができ、これらに基づいて係数m0〜m2を算出することができる。
以上のように、境界上で係数k26が連続になるように定義すると、上記式(32)において定義される境界上の従属変数値は、その境界が含まれる2つのブロックのいずれを使用しても同じ値となり、連続性が保証される。尚、2次元の場合、変数A2に依存する関数h(A2)を上記式(33)と同様に定義して同様の処理を係数k16に対しても実施する。これにより、修正後の式(27)による補間結果がブロックの境界で連続になるようにして補間演算式が定義されたことになる。
本発明の基本的な考え方は、以上で示したように測色データ17aを利用して算出されるスプライン補間演算式を検証用測色データ17bに基づいて修正するところにある。この修正を行うためには、上記式(16)や式(30)あるいは3次元にてこれらの式に相当する式を取得することができればよい。そこで、図3に示す本実施形態においては、以上のような処理を行うために予めスプライン補間演算式データ17eと目的関数データ17fとを用意しておく。
ここで、スプライン補間演算式データ17eは、修正後の補間演算式であり、1次元であれば式(13)、2次元であれば式(27)に相当する式を示すデータであり、各格子点における独立変数値と従属変数値と2次微分値(クロス2次微分値を含む)および任意の独立変数の代数演算によって補間結果(従属変数値)が得られるような式を示すデータである。但し、このデータにおいては、多項式による修正における最高次の係数(1次元であれば係数k6,2次元であれば係数k16および係数k26)が未定である。
目的関数データ17fは、当該係数を決定するために必要な式を示すデータであり、本実施形態においては、目的関数Eを示す式と係数を算出する式と制約条件を示す式とを含む。例えば、1次元であれば式(15),式(16),式(19)に相当する式を示すデータであり、2次元であれば式(29),式(30),式(31)に相当する式を示すデータである。また、2次元以上の場合に補間演算結果の連続性を保証するための式(33)に相当する式を示すデータを含む。尚、上述の制約条件1は、スプライン補間演算式データ17eの独立変数に対して検証用測色データ17bの格子点位置を代入することによって表現可能である。従って、以上のスプライン補間演算式データ17eと目的関数データ17fとによって上述の最適化を実施可能である。
目的関数算出部20cは、これらのデータを参照して各ブロック毎にスプライン補間演算式における上記A〜Dを最適化する。すなわち、各ブロック毎の係数値を算出する。このために、ブロック設定部20bは、まず測色データ17aに基づいて処理対象となる着目ブロックを設定する。図6に示すように2次元で考えると、このブロックは、上記測色データ17aの仮想CMY階調値による格子点が形成する最小の正方形であり、白丸によって形成される最小の正方形である。すなわち、ブロック設定部20bは、上記測色データ17aを取得し、仮想CMY階調値の各格子点からブロックを形成し、所定の順序における最初のブロックを処理対象の着目ブロックとして設定する(ステップS115)。
目的関数算出部20cは、着目ブロック毎に目的関数Eを最小化して測色データにおける色空間の次元数と同数個の係数kを算出する(ステップS120〜ステップS135)。ステップS120においては、目的関数データ17fを参照して式(15)や式(29)に相当する式にその時点での変数値A’を代入して目的関数Eの値を算出する。この繰り返し処理では変数値A’を更新していくため、ステップS120では繰り返し処理の初期では所定の初期値を変数値A’とするし、2回目以降では所定の最適化アルゴリズムによって得られる値を変数値A’とする。
ステップS120にて目的関数Eの値を算出したら、ステップS122において上記目的関数データ17fを参照して式(16)や式(30)に相当する係数の算出式を取得し、その時点での変数値A’を代入して上記係数kを算出する。続いてステップS125では、目的関数データ17fを参照して式(19)や式(31)に相当する制約条件(制約条件2)を取得し、ステップS122で得られた係数kがこの制約条件を充足するか否か判別する。
同ステップS125にて係数kがこの制約条件を充足すると判別されないときには、ステップS130をスキップしてステップS135の処理を行う。ステップS125にて係数kが上記制約条件を充足すると判別されたときには、ステップS130にて目的関数Eが最適化されたか否か判別する。尚、最適化されたか否か、すなわち、目的関数Eが最小化されたか否かを判別するためには種々の判別が可能である(例えば、ニューメリカルレシピ・イン・シー(日本語版),技術評論社参照,p.282〜p.338))。
ステップS130にて目的関数Eが最適化されたと判別されないときには、ステップS135にて最適化処理部20dが変数値A’を更新する。すなわち、最適化処理部20dは変数値A’を更新して最適化処理を行うモジュールであり、スプライン補間演算式データ17eを参照して上記式(13)や式(27)に相当する式を取得し、検証用測色データ17bを参照して着目ブロック内の検証用測色データの格子点位置を代入して制約条件1を取得し、この制約条件1を満たす範囲内で変数値A’を変更する。尚、本実施形態においては、制約条件1,制約条件2を同時に満たす変数値A’を算出できない場合の措置として上述のように制約条件2を優先することとしている。例えば、所定回数の繰り返し処理によって制約条件1,制約条件2を同時に満たす係数が発見されないときには、制約条件2を満たす係数であってそれまでに得られた最小の目的関数Eとなるように係数kを決定する。
このようにして係数kを決定した場合およびステップS130にて目的関数Eが最適化されたと判別された場合には、その時点における係数kをRAM15に一時記録する(ステップS140)。係数kを記録したら、以上の処理を全ブロックについて実施したか否かを判別し(ステップS145)、総てのブロックについて処理を行ったと判別されるまで処理を繰り返す。すなわち、ステップS145で総てのブロックについて処理を行ったと判別されなければ着目ブロックを未処理のブロックに変更し(ステップS150)、ステップS120以降の処理を繰り返す。尚、以上の処理手順は一例であり、目的関数Eを最小化する修正を実施可能である限りにおいて種々の手順を採用可能である。
さらに、最適化処理部20dは、補間演算結果の連続性を保証するため、上記目的関数データ17fを参照し、係数が満たすべき式(33)に相当する式であって次元数と同数個の式を取得する。そして、線形補間等の補間演算式によって係数が算出済みのブロックの境界に相当する係数を算出し、得られた境界上の係数値と検証用測色データ17bの格子点位置について算出された係数値とを利用し、連立方程式によって上記式(33)に相当する式の係数m0〜m2を算出する(ステップS155)。むろん、ここでは、次元数と同数の関数hについて係数を算出する。以上の処理により、スプライン補間演算式における修正を示す多項式(1次元における式(14)、2次元における式(28))に相当する式の係数が総て算出されたことになり、高精度の補間演算を実施することが可能になる。この多項式を示すデータは最適化多項式データ17gとしてHDD17に記録される(ステップS160)。
高速化スプライン補間部20eとLUT作成部20fとは、ステップS170以降でLUTを作成する。このためにまず、LUT作成部20fがLUTとして登録すべき格子点を仮想CMY空間内で抽出する(ステップS170)。ここでは、予め決められた格子点を抽出することができれば良く、上記図1に示す例のように173個のデータを登録するのであれば、例えば、仮想CMY階調値の値域を16等分し、得られた17個の階調値を任意に組み合わせればよい。尚、本明細書ではこの格子点をLUT格子点と呼ぶ。
当該LUT格子点を仮想CMY空間内で抽出したらその中の一つを選択し(ステップS175)、ステップS180〜S188にて多項式による修正を加味した高速化スプライン補間を実施する。まず、高速化スプライン補間部20eは、高速化スプライン補間演算を実施するために、HDD17を参照して測色データ17aと検証用測色データ17bと2次微分値データ17cとクロス2次微分値データ17dとスプライン補間演算式データ17eと最適化多項式データ17gとを取得する(ステップS180)。これにより、スプライン補間演算式データ17eが示す式に最適化多項式データ17gによる修正を加えた状態で、任意の位置について高速化スプライン補間を実施可能になる。
ステップS180にて各データを取得したら、修正を反映した高速化スプライン補間演算により、処理対象として選択されているLUT格子点に対応する従属変数値(L***値)を算出する(ステップS182)。この補間演算によれば、LUT格子点の仮想CMY階調値に対応する従属変数(L***値)を取得することができる。そこで、LUT作成部20fはこれらの対応関係をRAM15に一時記録する(ステップS184)。この対応関係の算出は、上記LUT格子点の総てについて実施される。すなわち、LUT作成部20fは、総てのLUT格子点について処理が終了したか否かを判別し(ステップS186)、総てのLUT格子点について処理が終了したと判別されなければ処理対象を未処理のLUT格子点に変更し(ステップS188)、ステップS180以降の処理を繰り返す。
ステップS186で、総てのLUT格子点について処理が終了したと判別されると、総てのLUT格子点について仮想CMY階調値とL***値との対応関係が定義されていることになるので、LUT作成部20fは、予め決められた上記分版規則に従って仮想CMY階調値をCMYKlclmデータに変換する。そして、変換後のCMYKlclmデータとL***値とを対応づけたLUTを作成し、LUT17hとしてHDD17に記録する(ステップS190)。
(2−3)3次元空間への拡張:
上述の例においては、主に2次元空間について説明したが、次元を3次元以上の多次元に拡張することは容易である。従って、上述の例で説明した技術事項を多次元に適用し高精度かつ高速の補間演算を実施することが可能であり、高精度に色変換可能なLUTを作成することができる。ここでは、上記図3に示す測色データ17aの実例である3次元への拡張を説明する。
図8は、3次元空間におけるブロックおよび測色データ17a,検証用測色データ17bを説明する説明図である。すなわち、測色データ17aは、実際には仮想CMY空間の階調値を備えており、当該仮想CMY空間は3次元空間である。同図においても、測色データ17aによる格子点を白丸、検証用測色データ17bによる格子点を黒丸で示している。同図に示すように、仮想CMY空間において、測色データ17aによる格子点は立方体(立方格子)を形成し、検証用測色データ17bによる格子点は当該立方体の中央に位置する。尚、測色データ17aによる格子点のみで形成される最小の立方体(図8にて実線で示す立方体)が3次元におけるブロックに相当する。
この状況において以下の式(34)に示すように3次元の高速化スプライン補間演算式を考え、その式を修正する。
Figure 2009278663
尚、ここでは上記白丸の位置を(i,j,k),(i+1,j,k),(i,j+1,k),(i+1,j+1,k),(i,j,k+1),(i+1,j,k+1),(i,j+1,k+1),(i+1,j+1,k+1)としてある。また、独立変数(x1,x2,x3)における各方向の係数をA1〜D1、A2〜D2、A3〜D3としてある。従って、本発明による修正後は、式(34)内のA1〜D1,A2〜D2,A3〜D3がA'1〜D'1,A'2〜D'2,A'3〜D'3と表現される。
修正は、上記式(14)と同様のものが各独立変数(x1,x2,x3)に対して実施されることになる。目的関数Eは、式(15)と同様の式を独立変数の次元数分加え合わせるなどして形成可能である。係数の算出も式(16)と同様の演算を独立変数の次元数分実施すればよいし、制約条件2に相当する条件も(19)と同様である。むろん、制約条件1に相当する条件は式(34)と検証用測色データ17bとから算出可能である。
最適化を行って係数を算出したら、係数に位置依存性を持たせ、ブロックの境界でこれらの係数を連続にすることで、式(34)による補間演算結果の連続性を保証する。ある独立変数xbに対して算出された係数kb6に対しては、この独立変数以外の2つの独立変数に依存するように係数を定義する関数hを定義することができる。例えば、独立変数x3について算出した係数k36は、下記式(35)のように関数hを定義する。
Figure 2009278663
尚、ここでは、(A1 2+A1+1)×(A2 2+A2+1)で算出される関数の各項に係数mij(i,jは0〜2の自然数)を乗じて関数hとしている。従って、N次元の場合(A1 2+A1+1)N-1の多項式に係数mを乗じた関数を想定すればよい。式(35)に示す関数の場合、未定の係数mijは9個であり、図8に示すように検証用測色データ17bの格子点位置における係数k36は算出済みであることから、x3軸(X3方向の軸)に垂直な面とブロックの境界との交点上の位置(例えば、図8にて黒矩形で示す位置)での係数値を補間演算で算出すれば、これら9個の係数値から式(35)における係数mijを決定することができる。
むろん、独立変数x1,x2についての係数も同様に算出することができる。以上のように、係数値を算出することができれば、高速化スプライン補間に対して導入した修正の内容が確定するので、任意の位置について高速かつ高精度に補間演算を行うことができる。従って、高精度に色変換可能なLUT17hを作成することができる。
(2−4)作成された色変換テーブルデータに基づく色変換処理:
以上のようにして作成されたLUTは、汎用的なコンピュータにて汎用的に行われている印刷処理にて使用される。図9は、印刷時に当該LUTを使用するコンピュータ構成例を示すブロック図である。コンピュータ110は汎用的なパーソナルコンピュータであり、プリンタドライバ(PRTDRV)210と入力機器ドライバ(DRV)220とディスプレイドライバ(DRV)230とがOS200に組み込まれている。ディスプレイDRV230はディスプレイ180における画像データ等の表示を制御するドライバであり、入力機器DRV220はシリアル通信用I/F190aを介して入力される上記キーボード310やマウス320からのコード信号を受信して所定の入力操作を受け付けるドライバである。
APL250は、カラー画像のレタッチ等を実行可能なアプリケーションプログラムであり、利用者は当該APL250の実行下において上記操作用入力機器を操作して当該カラー画像を印刷装置400にて印刷させることができる。このようなカラー画像の印刷時に本発明によって作成されたLUTが参照される。APL250にて作成される画像を示す画像データ150aはRGBの各色成分を階調表現したドットマトリクス状のデータであり、sRGB規格に準拠したデータであるとともに、HDD150に保存される。
上記PRTDRV210は印刷を実行するために、画像データ取得モジュール210aと色変換モジュール210bとハーフトーン処理モジュール210cと印刷データ生成モジュール210dとを備えている。また、本発明によって作成されたLUT17hとsRGBデータをL***データに変換するためのLUT150bとはHDD150に保存されている。APL250実行時に利用者が印刷実行指示を行うと、印刷にかかる画像データ150aが画像データ取得モジュール210aに取得され、画像データ取得モジュール210aは上記色変換モジュール210bを起動する。
色変換モジュール210bは、sRGBデータをCMYKlclmデータに変換するモジュールであり、LUT150bを参照し、補間演算によって任意のsRGBデータをL***データに変換する。さらに、LUT17hを参照し、補間演算によって当該L***データをCMYKlclmデータに変換する。すなわち、当該色変換モジュール210bは、sRGB表色系における任意の格子点(色成分値)を印刷装置にて使用するCMYKlclm表色系における格子点(色成分値)に変換する。
色変換モジュール210bが色変換を行ってCMYKlclmデータを生成すると、当該CMYKlclmデータは上記ハーフトーン処理モジュール210cに受け渡される。ハーフトーン処理モジュール210cは、各ドット毎のCMYKlclmデータをより低階調のハーフトーンデータに変換する。印刷データ生成モジュール210dはかかるハーフトーンデータを受け取って、印刷装置400で使用される順番に並べ替える並べ替え処理を行う。この並べ替え処理の後、画像の解像度などの所定の情報を付加して印刷データを生成し、USB用I/F190bを介して印刷装置400に出力する。印刷装置400においては当該印刷データに基づいて上記ディスプレイ180に表示された画像を印刷する。
この印刷処理において、色変換は本発明によって作成されたLUTを参照して行われる。このLUTは、上述のようにスプライン補間演算式に修正を加えて最適化を行った補間演算式に基づいて作成されているので、色変換モジュール210bでは非常に高精度に色変換を行うことができる。尚、以上のPRTDRV210の構成はPRTDRV210による非常に汎用的な印刷処理である。従って、本発明にかかる色変換テーブル作成方法にてLUTを作成すれば、従来の印刷処理にて使用されていたLUTを本発明によるLUTに置き換えるだけで多くの印刷装置にてハードウェア構成を全く変えることなく、非常に高画質の印刷を実行可能にすることができる。
尚、上述の構成においてはコンピュータ110によって印刷制御装置を構成しているが、印刷装置に搭載するプログラム実行環境によって本発明にかかる印刷制御処理を実施可能に構成し、印刷装置400に対して直接的に接続されるデジタルカメラ等の画像機器から画像データを取得して印刷制御処理を行ってもよい。むろん、同様の構成においてデジタルカメラにて印刷制御処理を実施してもよいし、他にも分散処理によって本発明にかかる印刷制御処理を実施するなど種々の構成を採用可能である。画像を取り込むスキャナと画像を印刷するプリンタとが一体となったいわゆる複合機において本発明にかかる印刷制御処理を行ってもよい。
(3)他の実施形態:
以上説明したように、本発明においては、スプライン補間演算式に修正を加えて最適化を行った補間演算式によって従来のスプライン補間より高精度に補間演算を実施できるようにしており、このような最適化を実施可能である限り、他にも種々の構成を採用可能である。例えば、処理対象となる着目ブロックの設定順序は特に限定されない。
さらに、本発明においては、測色データ17aや検証用測色データ17bに基づいて所定の制約条件を課しながら最適化を実施することができれば良い。従って、上述の関数Eの関数形は他の関数形を採用し得る。さらに、上記実施形態においては、仮想CMY空間とL***空間との対応関係を規定したLUTを作成する構成を説明したが、本発明の適用対象は仮想CMY空間や3次元空間に限られない。
すなわち、上述の測色データ17aと検証用測色データ17bとの関係をより多次元に適用することも可能である。例えば、測色データ17aと検証用測色データ17bとにおいてCMYKlclmデータとL***データとの対応を規定しておき、CMYKlclm空間を直交6次元空間と考えれば、上述の図6や図8に規定した格子点と同様の位置関係を定義することができ、この位置関係に対して適用するスプライン補間に本発明の修正を適用することも可能である。
10…コンピュータ、11…ディスプレイ、12…キーボード、17…HDD、17a…測色データ、17b…検証用測色データ、17c…2次微分値データ、17e…スプライン補間演算式データ、17f…目的関数データ、17g…最適化多項式データ、17h…LUT、20…LUT作成プログラム、20a…2次微分値算出部、20b…ブロック設定部、20c…目的関数算出部、20d…最適化処理部、20e…高速化スプライン補間部、20f…作成部

Claims (3)

  1. 所定の第1色空間における第1格子点と所定の第2色空間の格子点とを対応づけた出力色データと、上記第1色空間において上記第1格子点と異なる第2格子点について上記第2色空間の格子点を対応づけた出力色データを取得する出力色データ取得手段と、
    上記第1格子点についての出力色データに基づいて上記第1色空間の色成分値を独立変数、上記第2色空間の色成分値を従属変数とした補間関数であって、補間対象の周囲の第1格子点における独立変数値と従属変数値と当該従属変数の2次微分値と補間対象の格子点における独立変数値とを含む関数である補間関数を生成し、上記補間関数を用いて上記第2格子点上の値を補間した補間結果が当該第2の色成分データに対する出力色データに近づくよう上記補間関数における独立変数に関する項を修正前より大きな次数の多項式に変更して上記補間関数を修正する補間関数修正手段と、
    同修正された補間関数に基づいてプロファイルを生成するプロファイル生成手段と、
    印刷対象の画像における画素毎の色を所定の表色系で表現した画像データを取得する画像データ取得手段と、
    上記プロファイルに規定された対応関係に基づいて上記画像データが示す色を印刷処理にて使用する表色系における色成分値に変換する色変換手段と、
    色変換後の色成分値によって記録材の使用量を特定して画像を形成する印刷手段とを具備することを特徴とする印刷装置。
  2. 所定の第1色空間における第1格子点と所定の第2色空間の格子点とを対応づけた出力色データと、上記第1色空間において上記第1格子点と異なる第2格子点について上記第2色空間の格子点を対応づけた出力色データを取得する出力色データ取得工程と、
    上記第1格子点についての出力色データに基づいて上記第1色空間の色成分値を独立変数、上記第2色空間の色成分値を従属変数とした補間関数であって、補間対象の周囲の第1格子点における独立変数値と従属変数値と当該従属変数の2次微分値と補間対象の格子点における独立変数値とを含む関数である補間関数を生成し、上記補間関数を用いて上記第2格子点上の値を補間した補間結果が当該第2の色成分データに対する出力色データに近づくよう上記補間関数における独立変数に関する項を修正前より大きな次数の多項式に変更して上記補間関数を修正する補間関数修正工程と、
    同修正された補間関数に基づいてプロファイルを生成するプロファイル生成工程と、
    印刷対象の画像における画素毎の色を所定の表色系で表現した画像データを取得する画像データ取得工程と、
    上記プロファイルに規定された対応関係に基づいて上記画像データが示す色を印刷装置にて使用する表色系における色成分値に変換する色変換工程と、
    色変換後の色成分値によって記録材の使用量を特定して上記印刷装置に画像を形成させる印刷工程とを具備することを特徴とする印刷方法。
  3. 所定の第1色空間における第1格子点と所定の第2色空間の格子点とを対応づけた出力色データと、上記第1色空間において上記第1格子点と異なる第2格子点について上記第2色空間の格子点を対応づけた出力色データを取得する出力色データ取得機能と、
    上記第1格子点についての出力色データに基づいて上記第1色空間の色成分値を独立変数、上記第2色空間の色成分値を従属変数とした補間関数であって、補間対象の周囲の第1格子点における独立変数値と従属変数値と当該従属変数の2次微分値と補間対象の格子点における独立変数値とを含む関数である補間関数を生成し、上記補間関数を用いて上記第2格子点上の値を補間した補間結果が当該第2の色成分データに対する出力色データに近づくよう上記補間関数における独立変数に関する項を修正前より大きな次数の多項式に変更して上記補間関数を修正する補間関数修正機能と、
    同修正された補間関数に基づいてプロファイルを生成するプロファイル生成機能と、
    印刷対象の画像における画素毎の色を所定の表色系で表現した画像データを取得する画像データ取得機能と、
    上記プロファイルデータに規定された対応関係に基づいて上記画像データが示す色を印刷装置にて使用する表色系における色成分値に変換する色変換機能と、
    色変換後の色成分値によって記録材の使用量を特定して上記印刷装置に画像を形成させる印刷機能と、をコンピュータに実現させることを特徴とする印刷プログラム。
JP2009193321A 2009-08-24 2009-08-24 印刷装置、印刷方法および印刷プログラム Expired - Fee Related JP4683145B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009193321A JP4683145B2 (ja) 2009-08-24 2009-08-24 印刷装置、印刷方法および印刷プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009193321A JP4683145B2 (ja) 2009-08-24 2009-08-24 印刷装置、印刷方法および印刷プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004164781A Division JP4434842B2 (ja) 2004-06-02 2004-06-02 プロファイル作成装置

Publications (2)

Publication Number Publication Date
JP2009278663A true JP2009278663A (ja) 2009-11-26
JP4683145B2 JP4683145B2 (ja) 2011-05-11

Family

ID=41443583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009193321A Expired - Fee Related JP4683145B2 (ja) 2009-08-24 2009-08-24 印刷装置、印刷方法および印刷プログラム

Country Status (1)

Country Link
JP (1) JP4683145B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017104449A1 (ja) * 2015-12-18 2017-06-22 セイコーエプソン株式会社 色変換テーブルの作成方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1028231A (ja) * 1996-02-23 1998-01-27 Seiko Epson Corp 自動カラー修正方法および装置
JPH10145590A (ja) * 1996-11-12 1998-05-29 Tsukuba Soft Kenkyusho:Kk カラー/濃淡画像入力出力装置と入力出力方法
JP2003281514A (ja) * 2002-03-22 2003-10-03 Seiko Epson Corp 測色用座標決定方法、色変換方法、測色用座標決定装置、色変換装置、測色用座標決定プログラムを記録した媒体、色変換プログラムを記録した媒体、測色用座標決定プログラム、色変換プログラムおよび色変換テーブル
JP2004140578A (ja) * 2002-10-17 2004-05-13 Seiko Epson Corp 対応関係定義データ作成用格子点決定方法、画像処理装置、画像処理方法および画像処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1028231A (ja) * 1996-02-23 1998-01-27 Seiko Epson Corp 自動カラー修正方法および装置
JPH10145590A (ja) * 1996-11-12 1998-05-29 Tsukuba Soft Kenkyusho:Kk カラー/濃淡画像入力出力装置と入力出力方法
JP2003281514A (ja) * 2002-03-22 2003-10-03 Seiko Epson Corp 測色用座標決定方法、色変換方法、測色用座標決定装置、色変換装置、測色用座標決定プログラムを記録した媒体、色変換プログラムを記録した媒体、測色用座標決定プログラム、色変換プログラムおよび色変換テーブル
JP2004140578A (ja) * 2002-10-17 2004-05-13 Seiko Epson Corp 対応関係定義データ作成用格子点決定方法、画像処理装置、画像処理方法および画像処理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017104449A1 (ja) * 2015-12-18 2017-06-22 セイコーエプソン株式会社 色変換テーブルの作成方法
JPWO2017104449A1 (ja) * 2015-12-18 2018-10-04 セイコーエプソン株式会社 色変換テーブルの作成方法

Also Published As

Publication number Publication date
JP4683145B2 (ja) 2011-05-11

Similar Documents

Publication Publication Date Title
JP6768343B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP4492358B2 (ja) 格子点配置の平滑化
KR101148381B1 (ko) 컬러 차트 생성 방법
JP4595734B2 (ja) プロファイル作成方法、プロファイル作成装置、プロファイル作成プログラム、印刷制御方法、印刷制御装置、及び印刷制御プログラム
JP4434842B2 (ja) プロファイル作成装置
JP4582310B2 (ja) プロファイル作成方法、プロファイル作成装置、プロファイル作成プログラム、及び印刷制御装置
US20090161183A1 (en) Optimal node placement for multi-dimensional profile luts for arbitrary media and halftones using parameterized minimization
JP4259245B2 (ja) 測色データ補正方法、変換テーブル作成方法及びプログラム
US10313562B2 (en) Generating correction table for printing includes generating multi-dimensional conversion table determining correspondance between different apparatus dependent color values
JP6733526B2 (ja) 表色系変換テーブル生成方法、および表色系変換テーブル生成プログラム
JP2006295709A (ja) 色再現方法及びその装置
JP4683145B2 (ja) 印刷装置、印刷方法および印刷プログラム
US8358453B2 (en) Control based iterative profiling methods
JP4189188B2 (ja) 色変換定義補正方法、色変換定義補正装置、および色変換定義補正プログラム
JP2000253270A (ja) 色変換テーブル作成装置、作成方法、色変換テーブル作成プログラムを記録した記録媒体、および、色変換装置
JP2005333575A (ja) プロファイル作成装置、プロファイル作成方法、プロファイル作成プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
JP6648819B2 (ja) 色補正テーブル作成方法、色補正テーブル作成装置、プログラム
JP4849275B2 (ja) 色変換装置、色変換表生成装置、画像処理装置、プロファイル生成装置、色変換プログラム、色変換表生成プログラム、画像処理プログラム、プロファイル生成プログラム
JP2008312119A (ja) カラーパッチに関する測色値の推定方法、該方法を利用したデバイス・プロファイルの作成方法および画像処理装置
CN111800557A (zh) 颜色转换信息生成方法、以及颜色转换信息生成装置
JP4973896B2 (ja) 色域外郭算出装置、色域外郭算出プログラム
JP6427999B2 (ja) 色補正装置、画像形成装置、及び色補正プログラム
JP5966661B2 (ja) 墨定義ファイル生成装置、デバイスリンクプロファイル作成装置、墨定義ファイル生成方法、墨定義ファイル生成プログラム
JP5630231B2 (ja) 色調整方法、色調整装置、色調整プログラム及び色調整プログラムを格納した媒体
JP4629463B2 (ja) 色変換定義表示装置、色変換定義表示プログラム、および色変換定義表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100924

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110111

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees