JP2004320625A - 対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム - Google Patents
対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム Download PDFInfo
- Publication number
- JP2004320625A JP2004320625A JP2003114420A JP2003114420A JP2004320625A JP 2004320625 A JP2004320625 A JP 2004320625A JP 2003114420 A JP2003114420 A JP 2003114420A JP 2003114420 A JP2003114420 A JP 2003114420A JP 2004320625 A JP2004320625 A JP 2004320625A
- Authority
- JP
- Japan
- Prior art keywords
- color
- grid point
- color space
- grid
- definition data
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6016—Conversion to subtractive colour signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/603—Colour correction or control controlled by characteristics of the picture signal generator or the picture reproducer
- H04N1/6033—Colour correction or control controlled by characteristics of the picture signal generator or the picture reproducer using test pattern analysis
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Color, Gradation (AREA)
- Image Processing (AREA)
Abstract
【課題】従来の格子点決定方法では、格子点を平滑化する際の移動の自由度が制限され、高い移動自由度を実現しながら一方では色空間内の局所的な格子点密度に差異を設ける等して格子点配置を意図通りに制御することが困難であった。
【解決手段】機器非依存色空間内の格子点の配置の平滑程度を評価するするとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって印刷装置で使用する各色のインク数より少ない色成分で規定される低次元色空間の格子点位置情報を変数とした平滑程度評価関数を規定し、上記格子点位置情報を変動させながら上記平滑程度評価関数の評価を向上させることによって上記機器非依存色空間内の格子点配置を最適化し、最適化された状態で対応関係定義データ作成用格子点を決定する。
【選択図】 図2
【解決手段】機器非依存色空間内の格子点の配置の平滑程度を評価するするとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって印刷装置で使用する各色のインク数より少ない色成分で規定される低次元色空間の格子点位置情報を変数とした平滑程度評価関数を規定し、上記格子点位置情報を変動させながら上記平滑程度評価関数の評価を向上させることによって上記機器非依存色空間内の格子点配置を最適化し、最適化された状態で対応関係定義データ作成用格子点を決定する。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラムに関する。
【0002】
【従来の技術】
ディスプレイやプリンタ等の画像機器は、通常各画素の色を特定の色成分で階調表現したカラー画像データを使用している。例えば、R(レッド),G(グリーン),B(ブルー)の3色を使用したRGB色空間やC(シアン),M(マゼンタ),Y(イエロー)系統の色を使用したCMY系色空間(lc:ライトシアン,lm:ライトマゼンタ,DY:ダークイエロー,K:ブラックを含む)等種々の色空間で色を規定して画像データとしている。これらの色は一般に画像機器固有の機器依存色であるので、種々の画像機器間で同じ画像を同じ色で出力可能にするために各機器での色の対応関係を規定した色補正LUT(ルックアップテーブル)が用いられている。
【0003】
当該色補正LUTにおいて各画像機器で出力可能な色の総てについて対応関係を規定することは、記憶容量抑制や色補正LUT作成時の作業性等の関係で非現実的であるため、通常、特定数の代表色について対応関係を規定しておき、他の任意の色については補間演算によって対応関係を算出している。すなわち、膨大な数の色について測色を行うことをせず、実際に測色可能な範囲で画像機器から色を出力して測色を行うことによって特定数の代表色についての色補正LUTを規定している。
【0004】
色補正LUTを作成する前には、測色対象となるこれら特定数の色、すなわち色空間内での複数の格子点を決定する必要がある。従来の格子点決定方法としては、分版処理が挙げられる。この分版処理においては、例えば、CMY空間に立方格子点を規定し、特定の変換規則に従って各格子点におけるCMYの3色をCMYKlclmの6色に変換するなどしてインク色を成分とする格子点を決定する等の処理を行っている。このようにして決定したCMYとインク色成分との対応関係では上記変換規則に従っているが、色空間中での格子点配置の平滑程度を考慮していないので、分版処理後の格子点を参照して色変換する際の補間演算時に局所的に精度の悪い部分が生じてしまう。そこで、分版処理後の格子点配置を平滑化するようにして格子点を決定し、平滑化した格子点を利用して色補正LUTを作成する(例えば、特許文献1)。
【0005】
【特許文献1】
特願2002−303137号公報
【0006】
【発明が解決しようとする課題】
上述した従来の格子点決定方法では、格子点を平滑化する際の移動の自由度が制限され、高い移動自由度を実現しながら一方では色空間内の局所的な格子点密度に差異を設ける等して格子点配置を意図通りに制御することが困難であった。すなわち、上記従来技術ではCMY格子点平滑程度評価関数とインク量格子点平滑程度評価関数とを規定し、分版時の規則を満たすようにしながら各関数を個別に平滑化することによって格子点配置を平滑化していたので、格子点を移動する際には分版の規則を満たすよう制限を設けたまま格子点を移動する必要があり、充分に平滑化できないことがあった。特にRインクやV(バイオレット)インクを使用したときに充分に平滑化できない場合があった。また、色空間内には他の部位と比較して格子点密度を高くして局所的に色変換精度を高くしたり、インク特性に応じて格子点密度が変化していた方が好ましい場合もあり、格子点を平滑化する際に移動の自由度を高くして色空間全体を均一に平滑化するとこれらの局所的な格子点配置を考慮できなかった。
本発明は、上記課題にかんがみてなされたもので、高い自由度で格子点配置を移動可能であるとともに局所的な格子点配置の変動をも制御しながら平滑化を行うことが可能な対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラムの提供を目的とする。
【0007】
【課題を解決するための手段および発明の効果】
上記目的を達成するため、本発明では、機器非依存色空間内の格子点の配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって上記低次元色空間の格子点位置情報を変数とした評価関数を規定し、当該評価関数での評価を向上させることで格子点の配置を最適化している。すなわち、格子点配置を平滑化する対象は機器非依存色空間であり、変数は低次元色空間の格子点位置情報であって、格子点配置を平滑化して最適化する際に第1対応関係定義データで定義されたインク量を直接的に変動させることはない。すなわち、格子点位置情報を更新した後に当該格子点位置情報で指定される格子点に対応したインク量を算出し、上記第1対応関係定義データに規定された低次元色空間内の格子点に対応づけるものの、このインク量の算出に際して上記第1対応関係定義データに規定されたインク量自体を直接的に変更するものではない。
【0008】
一方、評価関数には機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件が課せられているので、評価関数での評価を向上させる際に当該所定の位置では格子点の配置が均等にはならず不均等になる。従って、所定の位置では格子点の密度を高くしたり、色空間内で格子点密度を傾向的に変化させるなど、格子点配置を意図通りに制御することが可能になる。むろん、この束縛条件は色空間内の総ての位置で課せられることが必須ではなく、一部のみで適用することができる。束縛条件を課さない位置ではこの束縛条件を含まない評価関数によって格子点配置を最適化すれば、格子点配置を均等にして平滑化することができる。
【0009】
従って、低次元色空間の格子点位置情報を更新して機器非依存色空間内の格子点を移動させるに際して、分版の規則に大きく影響されることなく高い自由度で低次元色空間の格子点位置情報および機器非依存色空間内の格子点を変更し、格子点配置を平滑化することができるとともに、色空間全体として均等に平滑化したくない場合に色空間内の所定の位置で格子点配置を不均等にすることができる。尚、格子点配置を平滑化する際に上記第1対応関係定義データに規定されたインク量を直接的に変動させることがないが、格子点配置の平滑化に際して上記分版時の規則は実質的に考慮されている。すなわち、上述の分版によれば各色のインク数より少ない色成分で規定される低次元色空間内における低次元色格子点と上記各色のインク量を成分としたインク量空間内におけるインク量格子点とを対応づけることができ、この対応関係を第1対応関係定義データとしている。
【0010】
平滑程度評価関数を決定する際には、第1対応関係定義データを参照して上記低次元色格子点と機器非依存色空間内の格子点との対応関係を取得する。これにより、低次元色空間の格子点位置情報を変数として機器非依存色空間内の格子点の配置の平滑程度を評価する平滑程度評価関数を決定することができる。従って、平滑程度評価関数では、上述のインク量を変動させないが第1対応関係定義データに規定された対応関係は反映している。このため、平滑程度評価関数での評価向上により、機器非依存色空間内での格子点配置の平滑化および局所的な格子点配置の制御と分版時の規則の充足とを同時に満たすことができる。
【0011】
対応関係定義データは印刷装置と他の表色系における色成分値との対応関係を定義するデータであればよく、例えば、LUTであってもよいし、色の関係を規定したマトリックス等を含むいわゆるプロファイルであってもよい。上記他の表色系としてはLab色空間(通常はL*a*b*のように*を付して示すが本明細書では簡単のため*を省略して示す。以下同じ。)やXYZ色空間等の機器非依存色空間であっても良いし、ディスプレイ等で使用するRGB値やCMY値等によって形成される色空間であっても良い。また、本発明にかかる印刷装置では3色より多数色のインク、すなわち、CMYKの4色やCMYKlclmの6色インクあるいはそれ以上の色数のインクを使用可能である。むろん、インクとしてはこれらに限らずCMYKRVの6色インクを使用する構成も採用可能である。
【0012】
一方、第1対応関係定義データでは印刷装置で使用する各色インク数より少ない色成分で色を規定した低次元色空間の格子点と各色のインク量を成分としたインク量空間内におけるインク量格子点との対応関係を規定することができればよい。低次元色空間としては例えば、RGB色空間やCMY色空間を採用することができる。ここで、第1対応関係定義データにおいては各格子点で規定する色の対応関係を厳密に規定しておく必要がないので、この第1対応関係定義データを予め作成する際に自由に分版の規則を考慮することができる。
【0013】
また、RGBの各色はCMYの各色といわゆる補色関係にあり、各色について0〜255の256階調の表現をした場合、色の厳密な一致を考慮しなければ“C=255−R,M=255−G,Y=255−B”と考えることができる。従って、低次元色空間としてRGB色空間,CMY色空間のいずれを採用しても実質的には等価である。第1対応関係定義データを予め作成する際に考慮する規則としては種々の規則を採用可能であり、例えば、CMYの各色組み合わせを一定の比率でCMYKlclmインクのいずれかに振り分けるための規則や印刷用紙に打ち込み可能なインク量の制限や粒状感発生防止のためのKインク使用制限等を考慮することができる。
【0014】
平滑程度評価関数では、機器非依存色空間内の格子点配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を課することができればよい。ここで、配置の平滑程度とは、空間中に各格子点が並んでいるときの歪みの程度である。例えば、機器非依存色空間に格子点が立方格子状に並んでいる場合には歪みがないが、各格子点が立方格子点位置からずれると格子としては歪みが大きくなる。また、機器非依存色空間内に格子点が均等に並んでいるほど平滑程度が高いと言えるし、機器非依存色空間内で隣り合う格子点を結ぶ曲線であって当該機器非依存色空間に形成される色域の一方の境界から他方の境界に向けて引かれる曲線を考えたときに、この曲線が高次関数で記述されるほど平滑程度が低いと言える。
【0015】
一般に、各色空間で整然と並んでいる格子点の方がその間に位置する色を補間演算によって算出する際に空間の局所的位置によって補間精度を大きく変動させることなく補間を行うことができる。従って、本発明によって格子点位置を最適化することで、対応関係定義データ作成時に実施される補間の精度を高くすることができる。すなわち、本発明によれば、高精度に補間演算を実施可能な対応関係定義データ作成用格子点を容易に決定することができる。
【0016】
平滑程度評価関数においてはその値によって配置の平滑程度を示すことができれば良く、その値を理想値に近づけるようにすることによって評価を向上させる。例えば、格子点配置の平滑程度が高くなるほど値が小さくなる関数とすれば、当該関数の極小を与える低次元色空間の格子点位置情報を探索することによって格子点配置を最適化することができる。この探索に際しては、種々の手法を採用可能である。例えば、準ニュートン法や共益勾配法等種々のアルゴリズムを採用することができる。
【0017】
さらに、格子点の配置が不均等となる束縛条件においては、格子点配置を色域内で全く均等にすることが理想であるとするのではなく、特定の部位で格子点が密になっているような状態を許容したり格子点間隔が不均等となっている状態を許容することができれば良く、種々の条件で実現可能である。例えば、上述のように評価関数の極小化によって格子点配置を最適化する場合には、格子点の配置を不均等にする所定の位置で格子点が不均等な特定の配置に近づくほど値が小さくなるように評価関数を規定すればよい。
【0018】
上記第1対応関係定義データからは、上記低次元色格子点と機器非依存色空間内の格子点との対応関係が取得できればよく、当該第1対応関係定義データに規定された上記低次元色格子点とインク量格子点との対応関係から種々の手法によって取得することができる。例えば、低次元色格子点に対応するインク量格子点が示す各色インク量で印刷を実施し、印刷結果のそれぞれを測色することによって機器非依存色空間内の格子点に対応する色成分値を取得しても良い。
【0019】
また、第1対応関係定義データでは実際の色の対応関係を厳密に規定していないし、第1対応関係定義データに規定された低次元色格子点の総て(通常は1000個程度)について印刷を行って測色するのは煩雑であるところ、近似式を利用して簡易的に演算しても良い。但し、近似式を利用すると言っても本発明では機器非依存色空間内の格子点配置を平滑化するので、物理的根拠に基づいた近似式によって低次元色格子点と機器非依存色空間内の格子点との対応関係を規定する。すなわち、近似式によって得られた機器非依存色空間内の格子点を平滑化した状態で実際の格子点も充分に平滑化されるようにする。
【0020】
近似式を利用する例としては、少数(本発明では各色インク毎16個程度で充分)の測色と演算を組み合わせる構成を採用可能である。より具体的には、測色数を抑えるために各色のインクを単色で印刷した複数のパッチを測色し当該測色値を参照して近似計算により上記機器非依存色空間の色成分値を算出する。近似式としてはインクの濃度測色値をRGB輝度の成分値に変換する式等を利用することができる。この演算により各パッチを印刷する際に使用した各色毎のインク量とRGB輝度との対応関係を取得することができる。
【0021】
この状態では各色毎のインク量とRGB輝度とが対応づけられているので、この対応関係によれば各色インクの組み合わせに対応したRGB輝度を算出することができる。例えば、各色インクを組み合わせた場合のRGB輝度は各色インク毎のRGB輝度をRGB成分毎に乗じたものであると仮定すれば、上記対応関係によって任意のインク量の組み合わせについてRGB輝度を算出することができる。
【0022】
従って、この段階で補間演算によって上記第1対応関係定義データに規定されたインク量の組み合わせをRGB輝度の成分値に変換可能になる。RGB輝度の成分値はマトリクス演算等によって近似的に機器非依存色空間の格子点に変換することができる(例えば、sRGB値をLab値に変換する公知の式等)。このようにして上記第1対応関係定義データに規定されたインク量の組み合わせを機器非依存色空間内の格子点に対応づけることにより、結局、低次元色空間の格子点と機器非依存色空間の格子点とを対応づけたことになる。すなわち、評価関数を規定する際に、一旦上記第1対応関係定義データを参照することにより、当該第1対応関係定義データ作成時に考慮した分版の規則を加味しつつ低次元色空間の格子点位置情報を変数とした平滑程度評価関数を作成することができる。
【0023】
平滑程度評価関数は、機器非依存色空間内の格子点の配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって上記低次元色空間の格子点位置情報を変数とした関数であればよいが、最適化対象の格子点の総てについて共通の関数としなくても良い。例えば、最適化対象の格子点が属する色域の部位毎に異なる関数形としても良い。すなわち、最適化対象の格子点位置により、その移動の自由度を制限すべき位置と制限すべきでない位置とが存在しうるので、最適化対象の格子点位置によって異なった関数形の平滑程度評価関数とすることによって位置毎の自由度に的確に応じた状態で格子点を移動させる平滑程度評価関数にすることができる。ここで、格子点位置情報は低次元色空間内の格子点の位置を特定する情報であれば良く、種々の構成を採用可能である。例えば、低次元色空間の各格子点について色成分値が小さいものから順に番号を付し、この番号が小数点以下であるときに元の格子点の間の色成分値を指定することとする構成を採用可能であるし、むろん、RGBデータによって格子点の位置を特定する構成を採用しても良い。
【0024】
さらに、平滑程度を評価する手法としては種々の構成を採用しうるが、簡易な構成の一例として最適化対象の格子点に隣接する隣接格子点へ向けたベクトルであって互いに略逆向きのベクトルの和の絶対値を含む関数を採用可能である。すなわち、隣接格子点へ向けたベクトルであって互いに略逆向きのベクトルの和は、両ベクトルの大きさが等しく向きが正反対である時に“0”となるし、両ベクトルのそれぞれに対して異なる重み係数を乗じた項同士の和は、両ベクトルのいずれかが大きく向きが正反対であるときに“0”となる。
【0025】
従って、平滑程度評価関数が前者の和の絶対値を含む関数であれば、その値を極小化することによって最適化対象の格子点とその隣接格子点との距離を均等に近づけることができるし、最適化対象の格子点を隣接格子点同士を結ぶ直線上に近づけることができる。後者の和の絶対値を含む関数であれば、その値を極小化することによって最適化対象の格子点とその隣接格子点との距離を不均等にすることができるし、最適化対象の格子点を隣接格子点同士を結ぶ直線上に近づけることができる。この構成において、機器非依存色空間内の所定の位置でのみ上記重み係数を乗じた項同士の和の絶対値を含む評価関数とし、他の位置では重み係数を乗じない状態でのベクトルの和の絶対値を含む評価関数とすれば、複数の最適化対象の格子点について最適化処理を行うことによってこれら複数の格子点について原則的には配置の平滑程度を高くしつつ、局所的には格子点配置を不均等にすることができる。
【0026】
むろん、重み係数の値を最適化対象の格子点が属する色域の部位毎に異なる値にすることもできる。すなわち、色域の部位毎に必要とされる格子点配置の平滑程度や不均等の程度が異なるので、色域の部位毎に重み係数の値を変動させることでより詳細に格子点配置を制御することができる。また、重み係数の値を徐々に変化させ、色空間内で格子点密度が徐々に変化するように制御することもできる。インクの特性としては、一般的にインク量階調値が大きくなると階調値の変化度合に対する濃度の変化度合が小さくなるので、小さなインク量階調値に対応する格子点密度を高くすれば、インク量階調値の変化度合に対する濃度の変化度合が大きい部位でも高精度に色変換を実施可能になる。
【0027】
さらに、重み係数の値としては種々の値を採用可能であり、その構成例として一方のベクトルが他方のベクトルより大きい場合に、当該一方のベクトルに乗じられる重み係数を他方のベクトルに乗じられる重み係数より小さくする構成を採用可能である。すなわち、関数の極小化を実施する以前に最適化対象の格子点から隣接格子点に向けたベクトルの大きさに差がある場合、大きなベクトルが評価関数に与える寄与の方が大きいので、当該大きなベクトルを小さくするように最適化対象の格子点が移動しやすい。従って、評価関数の極小化を実施する際に特定の隣接格子点から大きな影響を受ける。そこで、大きなベクトルほど小さな値を持つ重み係数を乗じることにより、各隣接格子点からの影響度合を調整することができる。むろん、これにより結果として最適化対象の格子点配置を不均等にすることができる。
【0028】
さらに、重み係数の値の例として、上記逆向きのベクトルのそれぞれに乗じられる重み係数の比を各ベクトルの端点に対応する低次元色格子点間の距離の逆比にする構成を採用しても良い。すなわち、低次元色空間内で低次元色格子点間の距離を考えることにより、最適化対象および隣接格子点に対応する低次元色格子点が評価関数の極小化以前に不均等に配置されているときに、この不均等の程度を反映させつつ機器非依存色空間の格子点を不均等に配置することができる。低次元色空間は次元数が低く、格子点配置を予め決定することが容易であるため、色空間内で格子点密度に差を与えることも容易であり、当該低次元色空間内の格子点配置を予め決めておくことにより、容易に最適化後の格子点密度を制御することができる。
【0029】
また、最適化対象の格子点を最適化する際に色域境界上に存在する格子点を自由に移動させると、色域の外側あるいは内側に格子点が移動する。色域の外側に格子点が移動した場合、その色は出力不可能であるため意味がない(後述するガマットマッピング等によって再び色域内に戻される)。色域の内側に格子点が移動した場合、印刷装置で本来表現可能な色の範囲を狭めてしまい、印刷の階調表現能力を低下させてしまう。そこで、最適化対象の格子点が属する色域の部位毎に異なる関数形とする構成例として、最適化対象の格子点が色域境界上の稜線に属する場合に、当該稜線上に存在するとともに当該最適化対象の格子点を挟んで互いに逆側に存在する格子点を隣接格子点とする構成を採用可能である。
【0030】
かかる構成によれば、平滑程度の比較対象が稜線上の隣接格子点のみになるので、平滑程度評価関数の値を効果的に変動させるための最適化対象格子点の移動方向は当該稜線に沿った方向となり、最適化対象の格子点を稜線に沿って移動させやすくなる。従って、容易に色域の大きさを維持することができる。むろん、最適化対象の格子点が稜線上のみを移動するように構成することも可能である。すなわち、RGB表色系やCMY表色系のように色成分値によって各色の輝度や濃度を表現する表色系では、色域の境界において各色成分値のいずれか少なくとも一つが最小値あるいは最大値になっている。従って、色域境界の稜線上では色成分値の二つが最小値あるいは最大値であり、他の一つが可変である。そこで、平滑程度評価関数の変数としての格子点位置情報に所定の束縛条件を課し、色成分値のいずれか一つを可変とし、他の色成分値を固定すれば、格子点を稜線上で移動させることができる。
【0031】
さらに、最適化対象の格子点が属する色域の部位毎に異なる関数形とする構成例として、最適化対象の格子点が色域境界上の外面に属する場合に、当該外面上に存在するとともに当該最適化対象の格子点を挟んで互いに逆側に存在する格子点を隣接格子点とする構成を採用可能である。かかる構成によれば、平滑程度の比較対象が外面上の隣接格子点のみになるので、平滑程度評価関数の値を効果的に変動させるための最適化対象格子点の移動方向は当該外面に沿った方向となり、最適化対象の格子点を色域外面に沿って移動させやすくなる。従って、容易に色域の大きさを維持することができる。
【0032】
尚、隣接格子点としては、最適化対象の格子点を挟んで互いに逆側に存在する2つの格子点を組とし、2組計4個の隣接格子点を採用すれば最適化対象の格子点を色域の外面に沿って移動させることができるが、むろん、3組計6個以上の隣接格子点を採用しても良い。また、ここでも最適化対象の格子点が外面上のみを移動するように構成することも可能である。すなわち、RGB表色系やCMY表色系のように色成分値によって各色の輝度や濃度を表現する表色系では、色域の境界の外面上で各色成分値のいずれか一つが最小値あるいは最大値になっている。そこで、平滑程度評価関数の変数としての格子点位置情報に所定の束縛条件を課し、色成分値のいずれか二つを可変とし、他の色成分値を固定すれば、格子点を外面上で移動させることができる。
【0033】
さらに、最適化対象の格子点が属する色域の部位毎に異なる関数形とする構成例として、最適化対象の格子点が色域境界より内側に属する場合に、色域内に属するとともに当該最適化対象の格子点を挟んで互いに逆側に存在する格子点を隣接格子点とする構成を採用可能である。かかる構成によれば、平滑程度の比較対象が最適化対象の周囲で隣接する隣接格子点になる。ここで、隣接格子点としては、最適化対象の格子点を挟んで互いに逆側に存在する2つの格子点を組とし、3組計6個の隣接格子点を採用すれば最適化対象の格子点を色域の内側で3次元的に移動させることができるが、むろん、3組計6個以上の隣接格子点を採用しても良い。尚、ここで最適化対象の格子点としては色域の内側、すなわち、色域の境界を除いて色域の内側に存在する格子点であるが、隣接格子点としては色域内に属していればよく、色域の境界上の格子点を当該隣接格子点としても良い。
【0034】
ところで、上述した対応関係定義データ作成用格子点決定方法を利用すれば、コンピュータ等種々の装置によって対応関係定義データ作成用格子点を作成することができる。従って、請求項6にかかる発明のように装置としても機能するし、むろん請求項7にかかる発明のようにコンピュータにて実行されるプログラムとしても発明は機能する。さらに、本発明によって対応関係定義データ作成用格子点が決定されると、当該対応関係定義データ作成用格子点にて特定されるインク量でのプリンタによる出力色を測色し、当該測色値によって当該インク量と他の画像機器(例えばディスプレイ)での使用色とを対応づけることが可能になる。この結果、生成されるLUTやプロファイル等の対応関係定義データでは高精度に色変換を実施可能である。従って、これらのLUTやプロファイルを利用した処理装置等も本発明の技術思想を利用していると言える。
【0035】
すなわち、請求項8のように実体のある印刷制御装置としても有効であることに相違はないし、請求項9のように実体のある印刷制御方法としても有効であるし、請求項10のように印刷制御プログラムとしても有効である。また、このような本発明にかかる装置、方法は単独で実施される場合もあるし、ある機器に組み込まれた状態で他の装置、方法とともに実施されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものであり、適宜、変更可能である。むろん、ソフトウェアを記録した記録媒体上においても当然に存在し、利用される。記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。
【0036】
その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。また、必ずしも全部の機能を当該プログラム自身で実現するのではなく、外部のプログラムなどに実現させるようなものであっても良い。その場合であっても、各機能をコンピュータに実現させ得るものであればよいからである。
【0037】
【発明の実施の形態】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)色補正LUT作成およびスムージングの概要:
(2)印刷制御装置:
(3)スムージング処理:
(4)評価関数による最適化:
(4−1)評価関数E1:
(4−2)評価関数E2:
(4−3)評価関数E3:
(5)他の実施形態:
【0038】
(1)色補正LUT作成およびスムージングの概要:
図1は、プリンタで印刷を実行する際に参照される色補正LUTの作成工程を概略的に説明する説明図であり、図2はこの色補正LUTを作成する際に実施されるスムージングを概略的に説明する説明図である。これらの工程は多くの演算処理を必要とするのでコンピュータを利用するのが好ましい。また、実際に印刷を行うので、作成後の色補正LUTを利用するプリンタで印刷を行うのが好ましく、後述するハーフトーン処理(HT)としても当該プリンタで採用しているハーフトーン処理と同じアルゴリズムであることが必要とされる。
【0039】
本実施形態における色補正LUTは、sRGBデータとCMYKlclmデータとの対応関係を複数個の参照点について定義したテーブルであり、これらの参照点を参照して補間処理を実施することによって任意の色についてsRGBデータとCMYKlclmデータとを対応づけることができる。この色補正LUTを作成するために、本実施形態においては予め分版LUTを作成しておく。尚、この色補正LUTが上記請求項に言う対応関係定義データに相当し、分版LUTが上記請求項に言う第1対応関係定義データに相当する。本実施形態において分版LUTは、3次元のRGBデータを複数の規則に従って6次元のCMYKlclmデータに変換し、得られた結果を対応づけて作成されるLUTであり、RGBデータとCMYKlclmデータとの対応関係を複数個の参照点について定義している。
【0040】
すなわち、CMYKlclmの6色を組み合わせれば同じ色を異なるCMYKlclm値の組み合わせで表現可能であり、RGBデータが示す色に対応するCMYKlclmデータを一義的に決定するのは煩雑であるので、特定の規則に従うこととしてRGBデータとCMYKlclmデータとの対応関係を定義したものである。特定の規則によってRGBデータをCMYKlclmデータに対応づけているため、分版LUTでは上記色補正LUTと異なり参照点のRGBデータが画像機器で使用されるデータであるとしたときにその色とCMYKlclmデータが示す色とが必ずしも一致しない。
【0041】
尚、RGBデータおよびCMYKlclmデータの階調値域としては各画像機器で使用される階調値域(多くは0〜255)を採用する。また、RGBの各色はCMYの各色と補色関係にあることから、階調値によって色を厳密に規定しないのであればC=255−R,M=255−G,Y=255−Bとしてもよく、この意味で分版LUTにおけるRGBデータはCMYデータであっても良い。上述の特定の規則としては種々の規則を採用可能である。例えば、RGBデータをCMYデータとみたときにCMYの各階調値から等量の値aを減じるとともにC=M=Y=aをKの階調値bで代替させ、CおよびMの残りについて一定の比率でlcおよびlmで代替させることとする規則など、CMYの各階調値について等価と思われるCMYKlclm階調値で代替させる規則を採用可能である。
【0042】
さらに、CMYKlclmの各階調値は各色インクの使用量を特定するので、インクの使用制限、すなわち単位面積当たりに記録するインク重量を特定の重量以下に制限する条件およびインク発生制限、すなわち粒状感を与えにくくしたり光源による発色の差を低減したりするために特定のインクの使用量を制限する条件を加味してCMYKlclmの各階調値を決定する。また、CMYKlclmインクの組み合わせによって表現可能な色が多いほど画質向上の上で好ましいことから、色域をなるべく広くとるようにする。
【0043】
これらの規則は、最終的に作成される色補正LUTを参照して印刷を実行する際に非常に重要であり、これらの規則を加味していないと印刷に支障を来したり、高画質の印刷が実現できないなどの不都合が生じる。一方、これらの規則はCMYKlclmのインク量を調整する段階で考慮することができるが、分版LUTを一旦作成した後、色補正LUTを作成する際に再度CMYKlclmのインク量を調整するのは好ましくない。分版LUTに規定されたRGB値とCMYKlclm値との対応関係を調整するのであれば、調整時に上記規則に従うように調整する必要が生じてしまう。そこで、本発明においては、分版LUTにおいて考慮された上述のインク発生制限等を維持しながら後述するスムージング処理等を実施し、さらに処理後のRGBデータとCMYKlclmデータのそれぞれが示す色の厳密な対応関係を規定して色補正LUTを作成する。
【0044】
スムージングは、分版LUTに規定されたCMYKlclmデータの組み合わせによる色をLab色空間中の格子点としたときに、これらの格子点の配置を平滑化する処理である。すなわち、上述の分版LUTではCMYKlclmデータの組み合わせで定義された色をLab色空間中の格子点で表現したときの格子点配置の平滑程度が低い。格子点配置の平滑程度が低いという状態は、Lab色空間中で隣り合う格子点を結ぶ曲線であってLab色空間中に形成される色域の一方の境界から他方の境界に向けて引かれる曲線を考えたときに、この曲線が高次関数で記述される状態であるといえる。
【0045】
色補正LUTを作成する際には後述するように補間演算を利用する。また、色補正LUTを参照した色変換に際しても補間演算を利用する。補間演算には線形補間やスプライン補間等種々の手法があるが、いずれにしても補間対象の格子点の周囲に存在する格子点から当該補間対象の格子点の色を計算する。従って、格子点配置の平滑程度が低いと(あるいは上述の曲線が高次関数であるほど)、補間演算の精度が低くなる。
【0046】
このように、補間演算の精度が低いと最終的な作成対象である色補正LUTにて定義するsRGBデータとCMYKlclmデータとの対応を高精度に定義できず、印刷時の色変換精度が悪くなる。しかも、上記分版LUTに規定されたCMYKlclmデータが示す格子点配置の平滑程度は全体として均一ではなく、Lab色空間の位置によって差異があり、補間精度も色空間中で差異が生じ、局所的に色変換精度に差異が生じる。この状況において印刷を実行すると、特にグラデーションなど色が連続して変化するような画像を印刷した場合に色が滑らかに変化せず、高画質の印刷が実行できない。
【0047】
補間演算の精度を考えたときには上述のように格子点配置の平滑程度が全体として均一であることが好ましいが、その一方で、色空間の特定の部位においては他の部位より高精度の色変換が望まれたり、印刷装置で使用するインクの特性により格子点配置が空間の部位毎に不均等であることが好ましい場合もある。そこで、本発明においてはスムージング処理による格子点配置の平滑化と格子点配置を局所的に不均等にする処理とを同時に実行している。すなわち、基本的には色空間中で格子点配置が均等に平滑化されることが好ましいとしつつも、局所的にLUT作成者の意図に応じて格子点配置を不均等にする。
【0048】
上記分版LUTは上述のようにRGBデータとCMYKlclmデータとの対応関係を定義しており、RGBデータについては、RGB各色のピッチを一定にすることにより、その格子点が直交3次元空間のRGB色空間で図2の左上に示すような立方格子点を形成するようにしてある。これらの立方格子点はその配置に歪みが無く平滑程度が高いといえる。
【0049】
一方、CMYKlclmデータによる色域はLab色空間中で歪んでいる。すなわち、図2の右上にはLab色空間中の当該色域を示しており、同図に示すようにLab色空間中で色域はいびつな形をしている。また、上記分版LUTにおいては互いに隣り合う格子点の配置を考慮せず、また、上記各種規則に従ってCMYKlclmデータを決定している。従って、CMYKlclmデータが示す色をLab色空間中に配置すると、いびつな色域内に秩序無く格子点が存在するかのごとく格子点が配置される。すなわち、格子点配置の平滑程度が低い。
【0050】
そこで、本実施形態のスムージング処理においては、分版LUTに定義されたCMYKlclmデータが示す色の格子点配置を仮想的なLab色空間中で平滑化して格子点配置の平滑程度が高いLUT(本明細書ではこのLUTを色補正無しLUTと呼ぶ。この色補正無しLUTが上記請求項に言う対応関係定義データ作成用格子点に相当する。)を作成する。図2中央から下部では分版LUTから色補正LUTを作成する際の処理概要を示している。本実施形態では、分版LUTのRGB格子点位置を指定する位置情報(Pr,Pg,Pb)を変数として仮想的なLab色空間中の格子点をベクトルLp=f(Pr,Pg,Pb)で表現し、当該位置情報(Pr,Pg,Pb)を逐次更新する。
【0051】
すなわち、位置情報(Pr,Pg,Pb)を逐次更新する再帰演算により、調整対象の格子点位置が周りの格子点位置との関係で平滑になるまでベクトルLpが示す格子点位置を調整する。また、この平滑化を行う際に色補正無しLUT作成者の意図により、色空間の特定の部位においては格子点配置を完全に平滑化せずに、不均等な配置であるときに格子点配置が最適であるとしている。尚、本実施形態における位置情報は、0≦Pr≦R方向の格子点数−1,0≦Pg≦G方向の格子点数−1,0≦Pb≦B方向の格子点数−1であるが、この位置情報は格子点位置を指定することができれば良くRGBデータであっても良い。ただし、後述するように色補正LUTに規定されるRGBデータと分版LUTに規定されるRGBデータとは同値であるので、この場合であっても位置情報はCMYKlclmデータを更新するために使用され、分版LUTに規定されたRGBデータの値を更新するために使用される訳ではない。
【0052】
ここで、仮想的なLab色空間の格子点は、少数のカラーチャートの測色値から簡易的な演算によって取得した仮想RGB輝度をさらに所定の演算式によって変換して得られるLab値を成分としている。この演算は簡易的な演算であるが、演算式が物理的に無意味ということはなくこの格子点の配置を平滑化することで実際のLab色空間中でも充分に配置が平滑化した格子点が得られるようにしている。すなわち、上記簡易的な演算は後述するようにランベルト・ベールの法則(新編色彩科学ハンドブック第2版 東京大学出版会 222頁)をより簡略した演算であり、この演算によればCMYKlclmデータに対する実際のLab値を厳密ではないが近似した状態で算出することができる。そこで、本明細書ではこのLab値を仮想Lab値としている。
【0053】
この仮想的なLab色空間中で配置の平滑程度が高い格子点となるように位置情報(P’r,P’g,P’b)を決定することができれば、分版LUTを利用して位置情報(P’r,P’g,P’b)に対応するインク量を算出することで上述の色補正無しLUTを作成することができる。図2の拡大模式図ではスムージング前後のRGBデータと位置情報との関係を模式的に示している。この図において直線上の黒丸はRGB色空間中の格子点を示しており、各格子点におけるRGBデータはそれぞれR0,G0,B0およびR1,G1,B1である。
【0054】
RGBデータがR0,G0,B0となっている格子点がスムージング対象であるとき、その位置情報は(Pr,Pg,Pb)であり、スムージング後に白丸に相当する格子点位置を示す位置情報(P’r,P’g,P’b)が得られたとする。このとき、この位置情報で特定される白丸の格子点の周りにある格子点においては上述の分版規則を満たすCMYKlclmデータが対応づけられているので、これらのデータを利用して補間演算を実施すれば、白丸で示す格子点に対応するデータC1M1Y1K1lc1lm1を算出することができる。そこで、スムージング対象の格子点についてのRGBデータ(R0,G0,B0)に対して当該CMYKlclmデータ(C1M1Y1K1lc1lm1)を対応づけることによって色補正なしLUTとする。
【0055】
以上のスムージング処理により、分版LUTで定義されたCMYKlclmデータのみを参照しつつ最適化後の格子点位置に対応するCMYKlclmデータを算出し、Lab色空間内の格子点配置の平滑程度が高い色補正なしLUTを作成することができる。すなわち、スムージング処理は仮想Lab色空間で実施され、その変数は位置情報であり、この位置情報を更新する構成を採用することによって再帰演算実施時に上述の分版の規則を考慮することなく仮想Lab格子点を自由に変動することができる。しかし、格子点を最適化した後には、分版LUTに定義されたCMYKlclmデータを参照し、最適化後の位置情報に相当するCMYKlclmデータを算出する。
【0056】
従って、分版LUTで定義され、上述の分版の規則を満たしたCMYKlclmデータのみから最適化後のCMYKlclmデータを取得することができる。すなわち、ある色に相当するCMYKlclmの組み合わせが多数存在する中で、分版の規則を満たすCMYKlclmデータを参照して補間演算を行うことにより、補間後のCMYKlclmデータにおいても上述の分版の規則を満たすことを担保することができる。尚、この補間演算としていわゆる線形補間を行えば、分版の規則を満たすCMYKlclmデータから逸脱することがなく好ましいが、むろん、非線形の補間演算を行ったとしても、分版の規則をほぼ満たしていると言える。
【0057】
この結果、分版LUTの作成時に考慮した各種規則は維持したままスムージングを行うことができ、当該各種規則と平滑程度の高い格子点配置および局所的に不均等な格子点配置という3点を同時に満たす色補正無しLUTを作成することができる。この色補正無しLUTに規定された色に相当する格子点の配置はLab色空間中で平滑程度が高く、また、色補正無しLUT作成者の意図通りに配置されているので、この色補正無しLUTに規定された色を参照して高精度に補間演算を実行することができるとともに作成者の意図通りに色変換を実施可能な色補正無しLUTを作成することができる。
【0058】
以上のようにして作成した色補正無しLUTにおいては上記分版LUTを作成する際に考慮した各種の規則を満たし、かつ格子点配置が平滑になるような参照点を規定しているが、色補正無しLUTで規定するRGBデータを画像データの色成分値としたときの色(sRGBで規定される色)と対応するCMYKlclmデータで印刷を実行したときの色とでは色が一致するとは限らない。すなわち、この対応関係は上記分版LUTを作成する際に上述の規則に従ったのみであり、両者の色が一致するような担保はなされていない。
【0059】
そこで、これらの色を一致させた色補正LUTを作成するのであるが、表色系が異なると色の一致を判定することが困難であるため、本実施形態においてはLab色空間でsRGBデータが示す色とCMYKlclmデータが示す色とを対応づける。この表色系の変換時には補間演算を実施するが、上記色補正無しLUTは高精度に補間演算が実施できるようにスムージングしてあるので、当該高精度の補間演算により高精度に色変換可能な色補正LUTを作成することができる。
【0060】
色補正LUTの作成のためには、まず色補正無しLUTに規定された各RGBデータによって複数のパッチを印刷してカラーチャートを取得する。この色補正なしLUTではRGBデータとCMYKlclmデータとが対応づけられているので、このRGBデータによる印刷は色補正なしLUTに規定されたCMYKlclmデータによる印刷と等価である。カラーチャートが得られれば、測色機によってチャート上のパッチを逐次測色することによって色補正無しLUTに規定された各RGBデータで印刷されるパッチのLab値を取得することができる。一方、色補正LUTに登録する参照点としてのsRGBデータは予め決めておく(本実施形態ではこのsRGBデータをターゲットと呼ぶ)。sRGBデータは公知の式によって対応するLab値を取得することができるので、上記ターゲットに対応するLab値は容易に取得することができる。
【0061】
このsRGBデータが示す色が色補正無しLUTに規定されたRGB表色系でどのような値であるのか把握することができれば、色補正無しLUTを参照してそのRGBデータをCMYKlclmデータに変換することにより、sRGBデータとCMYKlclmデータとを対応づけて色補正LUTを作成することができる。そこで、上記色補正無しLUTに規定された各RGBデータで印刷されるパッチのLab値を参照して補間演算を実施し、上記sRGBデータが示す色のLab値に対応するRGBデータを取得する。
【0062】
そして、上記色補正無しLUTを参照してこのRGBデータに対応するCMYKlclmデータを取得する。このRGBデータは上記sRGBデータが示す色のLab値に対応しているので、このCMYKlclmデータが示す色はsRGBデータが示す色と一致する。従って、両者を対応づけたテーブルを作成することによって色補正LUTを作成することができる。尚、本実施形態においては、ターゲットのLab値と色補正無しLUTのRGBデータとを対応づける前にガマットマッピングを行っている。
【0063】
すなわち、sRGBデータによって表現可能な色の色域と色補正無しLUTに規定されたRGBデータによって表現可能な色の色域とではその大きさが異なるので、両者を一致するように色域圧縮を行っている。むろん、ここではガマットマッピング以外に種々の補正を行っても良い。例えば、人間は空や肌の色を実際の色より鮮やかに記憶している傾向にあるなど人間の記憶色と実際の色と異なるので、人間の記憶色に近くなるように色を補正しても良い。いずれにしても、測色およびsRGBの変換式によって色をLab値で考えることにより、色補正無しLUTに規定されたデータからsRGBデータとCMYKlclmデータとを対応づけた色補正LUTを作成することができる。
【0064】
尚、本発明におけるスムージングは機器非依存色空間内で格子点配置の平滑程度を向上することを目的としているが、配置の平滑程度を向上することのみに着目すれば、上記図1に示す色補正LUT作成の各段階でもスムージングを実施し得る。しかし、上述の色補正なしLUTを作成する際にスムージングを行い、その後にターゲットLab値と対応づけるための測色を行う構成にすることにより、ターゲットLab値と色補正なしLUTのRGBデータとを非常に高精度に一致させることができる。
【0065】
すなわち、分版LUTに規定されたRGBデータとCMYKlclmデータとに基づいてスムージング処理を行う前にカラーチャートを印刷して測色を行い、測色で得られるLab値等により機器非依存色空間内でスムージングをした場合であっても格子点配置の平滑程度は向上する。しかし、スムージング後のLab値と測色対象のCMYKlclmデータとでは色が異なっている。また、スムージング後のLab値に対応するCMYKlclmデータを補間によって算出しようとしても補間時に参照する周囲のLab値はスムージング前の格子点であるため、正確に補間演算をすることができない。
【0066】
従って、いずれにしてもスムージング後のLab値と分版LUTに規定されたCMYKlclmデータとで色がずれてしまう。この状況でスムージング後のLab値と上記ターゲットLab値とを対応づけて色補正LUTを作成したとしても、色補正LUTで定義するsRGBデータとCMYKlclmデータとの対応を高精度に定義できず、印刷時の色変換精度が悪くなる。一方、本発明においては、機器非依存色空間内でスムージングを行い、最適化された位置情報に対応するCMYKlclmデータを分版LUTに規定されたCMYKlclmデータに基づく補間演算で取得して色補正なしLUTを作成し、その後に色補正なしLUTのRGBデータ(あるいはCMYKlclmデータ)とターゲットLab値と対応づけるための測色を行う。
【0067】
従って、測色値に対応する色とCMYKlclmデータが示す色とがずれることはないし、測色値とターゲットLab値とを対応づけるために補間演算を行うとしても、補間時に参照する周囲のLab値はスムージング後の格子点であるため正確に補間演算をすることができる。この結果、機器非依存色空間内で格子点配置をスムージングして高精度に色変換可能な色補正LUTを作成することが可能になる。
【0068】
(2)印刷制御装置:
次に、本発明にかかるスムージング処理を利用して作成された色補正LUTを参照して印刷を行う印刷制御装置の構成を説明する。図3は当該印刷制御装置のハードウェア構成を示すブロック図であり、図4は印刷制御装置にて実行されるプログラムを示すブロック図である。本実施形態にかかる印刷制御装置は汎用的なPCによって形成され、図3に示す例のように各種周辺機器を接続し、印刷対象の画像を処理し、印刷を実行する。
【0069】
すなわち、PC12は、画像入力デバイスとして、スキャナ11aとデジタルスチルカメラ11bとビデオカメラ11cとを備えており、PC12に接続されている。それぞれの入力デバイスでの画像はドットマトリクス状の画素で構成され、RGBの三原色においてそれぞれ256階調表示することにより、約1670万色を表現可能となっている。また、本実施形態においてはこの画像データとしてsRGB表色系を採用し、上記色補正LUTにて色変換を実施できるようにしている。
【0070】
PC12には、外部補助記憶装置としてのフレキシブルディスクドライブ13aとハードディスク13bとCD−ROMドライブ13cとが接続されており、ハードディスク13bにはシステム関連の主要プログラムが記録されており、フレキシブルディスクやCD−ROMなどから適宜必要なプログラムなどを読み込み可能となっている。また、PC12を外部のネットワークなどに接続するための通信デバイスとしてモデム14aが接続されており、外部のネットワークに公衆通信回線を介して接続し、ソフトウェアやデータをダウンロードして導入可能となっている。この例ではモデム14aにて電話回線を介して外部にアクセスするようにしているが、LANアダプタを介してネットワークに対してアクセスする構成とすることも可能である。この他、PC12の操作用にキーボード15aやマウス15bも接続されている。
【0071】
さらに、画像出力デバイスとして、デイスフレイ17a、プリンタ17cおよびプロジェクタ17bを備えている。ディスプレイ17aについては水平方向に800画素と垂直方向に600画素の表示エリアを備えており、各画素毎に上述した1670万色の表示が可能となっている。この解像度は一例に過ぎず、640×480画素であったり、1024×768画素であるなど、適宜、変更可能である。また、プリンタ17cはインクジェットプリンタであり、CMYKlclmの六色の色インクを用いてメディアたる印刷用紙上にドットを付して画像を印刷可能となっている。
【0072】
一方、このような画像入力デバイスを使用して画像を入力しつつ、画像出力デバイスに表示あるいは出力するため、PC12内では所定のプログラムが実行されることになる。そのうち、基本プログラムとして稼働しているのはオペレーティングシステム(OS)12aであり、このオペレーティングシステム12aには、ディスプレイ17aでの表示を行わせるディスプレイドライバ12bと、プリンタ17cに印刷出力を行わせるプリンタドライバ12cと、プロジェクタ17bでの表示を行わせるプロジェクタドライバ12i(図示せず)が組み込まれている。
【0073】
これらのドライバ12b、12cおよび12iはディスプレイ17a、プリンタ17cおよびプロジェクタ17bの機種に依存しており、それぞれの機種に応じてオペレーティングシステム12aに対して追加変更可能である。また、機種に依存して標準処理以上の付加機能を実現することもできるようになっている。すなわち、オペレーティングシステム12aという標準システム上で共通化した処理体系を維持しつつ、許容される範囲内での各種の追加的処理を実現できる。
【0074】
このようなプログラムを実行する前提として、PC12は、CPU12e、RAM12f、ROM12gおよびI/O12hなどを備え、演算処理を実行するCPU12eがRAM12fを一時的なワークエリアや設定記憶領域として使用したりプログラム領域として使用しながら、RAM12fに書き込まれた基本プログラムを適宜実行し、I/O12hを介して接続されている外部機器及び内部機器などを制御している。
【0075】
ここで、基本プログラムとしてのオペレーティングシステム12a上でアプリケーション12dが実行される。アプリケーション12dの処理内容は様々であり、操作デバイスとしてのキーボード15aやマウス15bの操作を監視し、繰作された場合には各種の外部機器を適切に制御して対応する演算処理などを実行し、さらには、処理結果をディスプレイ17aに表示したり、プリンタ17cに出力したりすることになる。以上のコンピュータシステムでは、画像入カデバイスであるスキャナ11aなどで画像データを取得し、アプリケーション12dによる所定の画像処理を実行した後、画像出力デバイスとしてのディスプレイ17a、プリンタ17cやプロジェクタ17bに表示出力することが可能である。
【0076】
従って、本実施形態においては、印刷制御装置をコンピュータシステムとして実現しているが、必ずしもかかるコンピュータシステムを必要とするわけではなく、同様の画像データに対して本発明による画像処理が可能なシステムであればよい。例えば、デジタルスチルカメラ内に画像処理を行うモジュールを組み込み、画像処理された画像データを用いてプリンタに印字させるようなシステムであっても良い。
【0077】
また、コンピュータシステムを介することなく画像データを入力して印刷するプリンタにおいては、スキャナやデジタルスチルカメラまたはモデム等を介して入力される画像データに対して自動的に本発明による画像処理を行って印刷処理するように構成することも可能である。この他、カラーファクシミリ装置、カラーコピー装置、プロジェクタといった画像データを扱う各種の装置においても当然に適用可能である。むろん、複数のコンピュータによって分散処理を行って印刷を実行しても良い。
【0078】
次に、上記PC12を本発明にかかる印刷制御装置として機能させる場合の処理を説明する。PC12では、上記スキャナ11a、デジタルスチルカメラ11b、ビデオカメラ11cの入力画像やディスプレイ17a、プロジェクタ17bの出力画像を示す画像データを取得し、色補正LUTを参照した色変換を実行してプリンタ17cでの印刷を実行する。すなわち、画像入力デバイスと画像出力デバイスのように異なる画像機器にて同じ画像を扱う場合であって、各画像機器で使用する画像データにて各画素の色を異なった色空間で表現している場合には色補正LUTを参照して色変換を実施する。
【0079】
色補正LUTを利用した印刷を実行するため、本実施形態における上記PC12は、図4に示すように印刷時のデータ処理を行う上述のプリンタドライバ12cと色補正LUTを作成するLUT作成部20とを備えている。プリンタドライバ12cは画像データ取得モジュール31と色補正モジュール32とハーフトーン処理モジュール33と印刷処理モジュール34とを備えている。画像データ取得モジュール31は、印刷対象画像を示す画像データを取得するモジュールである。画像データ取得モジュール31は、当該取得した画像データの画素数と印刷に必要な画素数が整合しない場合に両者を整合させるための解像度変換を実行する。色補正モジュール32は、補間演算によって画像データの表色系を変換するモジュールであり、上記画像データ取得モジュール31から画像データを取得して表色系を変換する。
【0080】
すなわち、ハードディスク13bに保存されている色補正LUT41と色補正無しLUT42と分版LUT43とのいずれかを参照して任意のRGB色成分値の組み合わせに対応するCMYKlclm色成分値の組み合わせを算出する。アプリケーション12dが画像印刷指示を行ったときには色補正モジュール32が色補正LUT41を参照して色変換を行い、高精度に色変換を実行する。LUT作成部20において色補正無しLUT42や色補正LUT41を作成する段階においては、色補正モジュール32が分版LUT43や色補正無し42を参照して色変換を行う。従って、色補正モジュール32においては目的に応じて適宜LUTを選択して色変換を行い、色変換後のデータによって印刷を行うことができる。
【0081】
色補正モジュール32が色変換を行ってCMYKlclmデータを生成すると、当該CMYKlclmデータが上記ハーフトーン処理モジュール33に受け渡される。ハーフトーン処理モジュール33は、各ドットのCMYKlclm階調値を変換してインク滴の記録密度で表現するためのハーフトーン処理を行うモジュールであり、変換後の記録密度でインクを付着させるためのヘッド駆動データを生成する。印刷処理モジュール34はかかるヘッド駆動データを受け取って、プリンタ17cで使用される順番に並べ替える。
【0082】
すなわち、プリンタ17cにはインク吐出デバイスとして図示しない吐出ノズル列が搭載されており、当該ノズル列では副走査方向に複数の吐出ノズルが並設されるため、副走査方向に数ドット分離れたデータが同時に使用される。そこで、主走査方向に並ぶデータのうち同時に使用されるべきものがプリンタ17cにて同時にバッファリングされるように順番に並べ替えるラスタライズを行う。印刷処理モジュール34は、このラスタライズの後、画像の解像度などの所定の情報を付加して印刷データを生成し、プリンタ17cに出力する。プリンタ17cにおいては当該印刷データに基づいて上記画像データが示す画像を印刷する。
【0083】
本実施形態においては、印刷制御装置たるPC12内にLUT作成部20が備えられており、LUT作成部20は印刷前に色補正LUT41を作成する。LUT作成部20はターゲットLab値決定モジュール21と色補正LUT生成モジュール22とスムージング処理モジュール23とを備えている。また、PC12には図示しないインタフェースを介して測色機50が接続されており、当該測色機50においてプリンタ17cにて印刷したカラーチャート上の各パッチを測色し、そのLab値や濃度値等の測色値をPC12に対して供給することができる。
【0084】
LUT作成部20によって色補正LUT41を作成するために、分版LUT43は予め作成されてハードディスク13bに記録されており、色補正無しLUT42は色補正LUT41の作成時に作成されてハードディスク13bに記録される。すなわち、スムージング処理モジュール23は分版LUT43を参照し、また、測色機50から所定のカラーチャートの測色値を取得して以下で詳述する処理によって色補正無しLUT42を作成する。
【0085】
ターゲットLab値決定モジュール21は上記ターゲットのsRGBデータを決定するとともに予め決められた演算式によってその色彩値(Lab値)を算出するモジュールである。また、色補正LUT生成モジュール22は上記図1に示す処理によって色補正無しLUT42から色補正LUT41を作成するための処理を行うモジュールである。まず色補正LUT生成モジュール22は、上記色補正無しLUTに規定された各RGBデータにてパッチの画像データを作成して色補正モジュール32に出力する。
【0086】
このとき、色補正モジュール32は、色補正無しLUT42を参照して各RGBデータに対応したCMYKlclmデータを取得し、当該CMYKlclmデータをハーフトーン処理モジュール33に受け渡す。ハーフトーン処理モジュール33および印刷処理モジュール34はこのCMYKlclmデータに基づいてパッチを印刷する。この結果、色補正無しLUT42に規定された各RGBデータによって印刷したカラーチャートが印刷される。このカラーチャートは測色機50によって測色され、そのLab値は色補正LUT生成モジュール22に入力される。
【0087】
また、色補正LUT生成モジュール22は、上記ターゲットLab値決定モジュール21が決定したsRGBデータの色彩値を取得する。そして、ガマットマッピング等の処理を行うとともに補間処理を行ってターゲットのsRGB値に対応するRGBデータ(色補正無しLUT42で使用するRGB表色系でのRGBデータ)を算出する。さらに、得られたRGBデータを色補正無しLUT42で変換することによって対応するCMYKlclmデータを取得し、このCMYKlclmデータとsRGBデータとを対応づけることによって色補正LUT41を作成してハードディスク13bに記録する。
【0088】
(3)スムージング処理:
次に、上述のスムージング処理を詳細に説明する。図5は、スムージング処理モジュール23の構成を示すブロック図であり、図6はスムージング処理モジュール23にて実行する処理を示すフローチャートである。スムージング処理モジュール23は、中間RGB輝度変換処理部23aと最適化対象抽出部23bと仮想Lab値算出部23cと演算対象抽出部23dと評価関数算出部23eと位置情報更新部23fとインク量算出部23gと色補正無しLUT生成部23hとを備えている。
【0089】
中間RGB輝度変換処理部23aは、上記測色値を参照し、簡易的な演算によって中間RGB輝度に変換するモジュールである。当該中間RGB輝度変換処理部23aは、ステップS100にて測色値45を中間RGB輝度に変換し、変換結果を中間RGB輝度値25aとしてRAM12fに記録する。より具体的には、スムージング処理モジュール23がまずCMYKlclmの各インク色について色毎に256階調のうち16〜32個程度の階調値を抜き出すとともに当該抜き出した階調値について各色単色でパッチを印刷させる画像データを生成し、ハーフトーン処理モジュール33に出力する。
【0090】
この結果、各色単色で16〜32個のパッチが印刷される。測色機50ではこのパッチおよびインク無記録の紙白を測色し、各色についてCMYの濃度値を取得する。ここで、各インク色の階調変化に対してCMY濃度値が単調増加あるいは単調減少でない場合には後述する最適化処理において最適解に収束せず、極値解に落ち込むことがあるので、CMY濃度値が各色で単調増加あるいは単調減少になるようにスムージングしておく。
【0091】
中間RGB輝度変換処理部23aでは、このCMY濃度値を以下の式(1)に代入して各インク色の各パッチ毎に中間RGB輝度を算出する。
【数1】
尚、式(1)は濃度を輝度に変換する一般的な式であるが、本実施形態ではCMY濃度を色成分毎の独立変数とし、中間RGB輝度を求めるものとした。ここで、Tr,Tg,Tbを中間RGB輝度と呼んでおり、各インク単色の各パッチにおけるR輝度成分,G輝度成分,B輝度成分を示している。また、Dc,Dm,DyはC濃度成分,M濃度成分,Y濃度成分を示しており、iはインク色を区別するための符号である。
【0092】
以上の演算によれば、各インク単色のインク階調値で印刷を行った場合の中間RGB輝度が得られることになるので、この中間RGB輝度と各インク単色のインク階調値との対応関係を参照すれば、補間演算によってインク単色の任意の階調値に対応した中間RGB輝度を算出することができる。以上の処理によって、中間RGB輝度が取得され、この値が中間RGB輝度値23aとしてRAM12fに記録される。
【0093】
本実施形態においては、上述のように仮想Lab値を算出し、仮想的なLab色空間内で分版LUTの格子点位置情報を変数として仮想Lab値を変更する。そこで、仮想Lab値算出部23cは、中間RGB輝度から分版LUT43のCMYKlclmデータに対応したRGB輝度を算出し、このRGB輝度からLab値を算出し、仮想Lab値25cとしてRAM12fに記録する。尚、このRGB輝度は中間RGB輝度から簡易的な式によって算出されるので、本明細書ではこのRGB輝度を仮想RGB輝度と呼ぶ。
【0094】
具体的には、まず、ステップS105において最適化対象抽出部23bが分版LUT43に規定されたCMYKlclmデータをインク量データ25bとしてRAM12fに記録する。ステップS110において、仮想Lab値算出部23cは、当該インク量データ25bについて、以下の式(2)によって各インク色を組み合わせた状態での色、すなわちCMYKlclmデータが示す色に対応した仮想RGB輝度を算出する。
【数2】
以上のようにして、仮想RGB輝度が算出されると、算出された仮想RGB輝度を3×3のマトリクスによってXYZ表色系での値に変換し、このXYZ表色系の値をさらにLab表色系での値に変換する。変換された仮想Lab値が上記仮想Lab値25cであり、この段階では分版LUT43に規定されたCMYKlclmデータに対応する仮想Lab値がRAM12fに記録されていることになる。
【0095】
以上のように、本実施形態においては各インク毎16〜32個程度という少数の測色パッチから簡易的な演算によって仮想RGB輝度および対応する仮想Lab値を算出している。ここで、算出されるデータ数は分版LUT43に規定された総ての参照点と同数であるが、測色対象は16〜32個×インク数+紙白であって参照点数より非常に少ない数であり、総てを測色する場合と比較して非常に高速に処理を進めることができる。
【0096】
また、本実施形態におけるスムージング処理の後に上述の色補正LUT生成モジュール22が機器非依存色と色補正なしLUT42のRGB(ひいてはCMYKlclmデータ)との色を一致させる処理を行うので、ここでのスムージング処理では格子点が示す色が厳密に正しいことが重要ではない。すなわち、格子点配置の平滑程度が重要であり、格子点配置を平滑化するに当たり、仮想Lab値が実際のLab値と全く異なっていてはスムージングの意味がないが、本実施形態において上記式(1)(2)はランベルト・ベールの法則を簡略化したものであり、仮想Lab値が実際のLab値と全く異なることはない。本願出願人の実験によれば、本実施形態のような簡易的な演算で格子点配置を平滑化する効果は充分に発揮され、高精度に色変換可能な色補正LUTが作成できることが分かっている。
【0097】
尚、上述の演算は一例であり、実際のLab値に近く、スムージングの効果が充分に発揮される限りにおいて上記仮想Lab値は種々の演算によって算出することができるし、作業の手間を考えなければ実際に測色してもよい。また、16〜32個の階調を選び出すのも一例であり、それより少なくても多くても良いが、16〜32個であれば概ね良好な結果を得ることができる。さらに、測色パッチの階調の選び方も様々であり、均等に選んでも良いし、階調値が大きくなると濃度の変化度合が小さくなるインク特性を考慮して小さな階調値を多く選んでも良い。むろん、色毎に階調の選び方を変えても良い。測色で得られるCMY濃度階調を参照し、インク量に対応したCMY濃度を補間によって算出した後、中間RGB輝度を取得しても良い。
【0098】
本実施形態においては、以上の中間RGB輝度値25aとインク量データ25bと仮想Lab値25cとを利用して分版LUTのRGBデータにより再帰的に各格子点毎にスムージングを行う。最適化対象抽出部23bは、ステップS115においてインク量データ25bとして記録された複数のデータの中からスムージング処理が行われていないCMYKlclmデータを抽出して最適化対象として抽出する。仮想Lab値算出部23cは、ステップS120にてこのCMYKlclmデータに対応する仮想Lab値を算出する。すなわち、中間RGB輝度値25aとインク量データ25bから最適化対象のCMYKlclmデータに対応する仮想Lab値を算出する。
【0099】
スムージングは当該最適化対象のCMYKlclmデータに対応する仮想Lab値とその周辺の格子点に相当する仮想Lab値とを利用して行われる。そこで、演算対象抽出部23dは、ステップS125にて上記最適化対象のLab格子点の周囲に存在するとともに当該格子点に隣接する格子点に相当する仮想Lab値を抽出する。尚、ここで抽出される仮想Lab値は、最適化対象の仮想Lab格子点の空間的位置によって異なっており、詳細は後述する。
【0100】
評価関数算出部23eは、ステップS127,S130にて上記抽出した最適化対象の格子点およびその隣接格子点を利用して評価関数を算出する。評価関数は、最適化対象の仮想Lab格子点の配置が平滑化されるほど値が小さくなる関数であり、その変数は分版LUT43のRGB格子点位置を特定する上記位置情報である。すなわち、位置情報を調整すれば最適化対象の仮想Lab値が変動し、最適化した位置情報(評価関数を極小化した位置情報)が得られる。また、評価関数は最適化対象の仮想Lab格子点の配置が平滑化されるほど値が小さくなる性質を有する関数であるが、局所的に格子点配置が不均等になることを許容するべく、色空間の部位によっては最適化対象の格子点とその隣接格子点との距離が一定の比率に近づくほど値が小さくなるように評価関数算出部23eが評価関数に対して重み係数を付加する。
【0101】
このため、評価関数算出部23eは距離比算出部23e1を備えており、ステップS127にて上記最適化対象の格子点とその隣接格子点とに対応する分版LUTのRGB格子点の距離を算出するとともにその比を算出して上記重み係数とする。尚、格子点配置を不均等にする色空間の部位は色補正無しLUT42を作成する作成者が予め任意に決めることができる。評価関数算出部23eは、ステップS130にて上記色空間の部位毎に適宜重み係数を付加し、または付加せずに評価関数を算出する。また、評価関数も最適化対象の仮想Lab格子点の空間的位置によってその関数形が異なっており、当該仮想Lab格子点の空間的位置によって適宜関数形を選択して評価関数を作成する。この詳細も後述する。
【0102】
さらに、評価関数算出部23eは、上記ステップS130にて算出した評価関数の値を算出し、ステップS135で所定の閾値以下になっているか否かを判別する。すなわち、評価関数の値が所定の閾値以下になっているときに仮想Lab格子点の位置が最適化(充分に平滑化)されたと判別する。ステップS135で仮想Lab格子点の位置が最適化されていないと判別されたとき、位置情報更新部23fはステップS140にて位置情報を上記最適化された位置情報に更新し、位置情報25dとしてRAM12fに記録する。
【0103】
位置情報を更新したら、この位置情報で特定されるRGB格子点に対応したインク量によって最適化対象の仮想Lab値が最適化されているか否かを判断するため、再度評価関数の算出を行う。すなわち、インク量算出部23gは、ステップS145にて上記位置情報25dを参照し、上記更新された位置情報に相当するインク量(CMYKlclmデータ)を算出する。このとき、上記インク量データ25bを参照し、補間処理によって上記更新された位置情報に相当するインク量を算出する。
【0104】
このように、更新された位置情報に相当するインク量を算出することができれば、このインク量から更新後の仮想Lab値を算出することができるので、ステップS120以降の処理を繰り返すことによって評価関数の値を上記所定の閾値以下に収束させることができ、仮想Lab格子点の位置を最適化することができる。すなわち、評価関数によって位置情報を最適化(評価関数を極小化)し、これにより仮想Lab格子点が最適化(格子点配置の平滑化)されるまでステップS120以降の処理を繰り返すことによって格子点配置を最適な位置に収束させる。尚、最適化処理の具体的なアルゴリズムとしては準ニュートン法や共益勾配法等種々のアルゴリズムを採用することができる。
【0105】
一方、上記ステップS135にて仮想Lab格子点の位置が最適化されたと判別されたときには、ステップS150において当該最適化された時点での仮想Lab値に対応するインク量にて上記インク量データ25bを上書きし、ステップS155において上記インク量データ25bの総てについて最適化が終了したか否かを判別する。そして、ステップS155において上記インク量データ25bの総てについて最適化が終了したと判別されるまでステップS115以降の処理を繰り返す。
【0106】
さらに、ステップS160では予め決められた回数の補正が実行されたか否か判別し、所定回数の補正が実行されたと判別されるまでステップS115以降の処理を繰り返す。すなわち、所定回数の補正を実行することによって最適化処理の結果が真の解になることを担保している。むろん、ステップS160においては全体として充分に最適化されていることが担保されればよいので、総てのインク量について上記評価関数の値やその平均値が所定の閾値以下になっているか否かを判別しても良い。また、評価関数の値の平均値が(n−1)回目の補正とn回目の補正と略一定の場合に充分に最適化されたとしても良く種々の構成を採用可能である。
【0107】
以上のようにして充分に格子点配置が平滑化された後には、上記インク量データ25bを分版LUT43に規定されたRGBデータに対応づけることにより、当該RGBデータとLab色空間中で平滑化された色を示すインク量データとを対応づけることができる。そこで、色補正無しLUT生成部23hはステップS165で上記分版LUT43に規定されたCMYKlclmデータを上記インク量データ25bで上書きすることによって、格子点配置が平滑化された色補正無しLUT42を生成し、ハードディスク13bに記録する。
【0108】
このように、本実施形態においては、インク量すなわちCMYKlclmデータの各色成分を直接的に調整している訳ではない。CMYKlclmデータを調整するとすれば、上記分版LUT43を作成する際に考慮した規則を満たすように調整することが必要になるが、この規則を考慮するとCMYKlclmデータを調整する際の任意性が少なく、充分に格子点配置を平滑化されることが困難になることがある。しかし、本実施形態では、CMYKlclmデータを直接的に調整するのではなく、位置情報を変動させ、仮想Lab格子点を調整する。
【0109】
従って、この調整の際に上記分版LUT43作成時の規則を考慮する必要がなく、仮想Lab格子点を移動させる際の自由度が大きい。この結果、仮想Lab格子点の配置を容易に最適化することができる。一方、ステップS145において、上記更新された位置情報25dでの格子点に相当するインク量データは分版LUTに規定されたインク量あるいはスムージング後のインク量を参照することによって求めているので、分版LUTにおけるインク量の組み合わせを逸脱することなく、上記分版LUT43作成時の規則を反映している。従って、作成される色補正無しLUT42は分版LUT43作成時の規則を満たすとともに格子点配置も平滑化されている。この平滑化の際には、上述のように色空間の部位によっては格子点配置を不均等にすることができるので、均等な格子点配置が最も平滑化されていると画一的に判断することがない。
【0110】
(4)評価関数による最適化:
次に、ステップS120〜S140における評価関数による最適化処理について詳述する。図7は、Lab色空間中における上記プリンタ17cの色域を示す模式図である。プリンタ17cの色域は同図に示すようにLab色空間中でいびつな形をしている。また、上記仮想Lab値は上述のように実際のLab値に近いので、仮想Lab値が形成する色域も図7に示す立体と同様の形をしている。一方、画像の色を上記分版LUTのRGBデータの組み合わせで表現したとき、RGBの各色成分を直交3次元空間の軸として形成したRGB色空間内の色域は図2の左上に示すように立方体となる。
【0111】
上記Lab色空間中の色域はいびつな形であるが、その色域境界はRGB色空間中の色域境界と容易に対応づけることができる。すなわち、RGB色空間中の色域境界は立方体の外郭を形成する12本の稜線および6個の外面であるが、Lab色空間中の色域においても色域の境界は12本の稜線および6個の外面にて構成される。より具体的には、RGB色空間中の原点からB軸上の稜線に沿ってB成分のみを有限の値としてR,G成分を最小値に固定すると色がKからBに変化するが、これらの色に対応するLab色空間中の色は図7にてE1と示した稜線上にある。
【0112】
同様に、図2の左上の立方体で一番上の面においてその頂点の色はそれぞれBWCM(Wは白)であり、この面上の色はB成分のみを最大値に固定し、他の成分を任意に変化させることによって表現することができ、この面上の色は図7に示す色域ではE2と示した面上にある。従って、上記分版LUTのRGBデータのいずれか1つでも最大値あるいは最小値であればその色は色域境界上にあるといえる。この色域境界上の色について上記最適化の際に仮想Lab色空間内を自由に移動可能であるとすれば、充分に大きな色域の大きさを確保できなくなるおそれがある。そこで、本実施形態においては色域の大きさを維持するために、色域境界に形成される12本の稜線と6個の外面と色域内部とで関数形が異なる評価関数を取得する。
【0113】
さらに、色域内の総てにおいて均等に格子点配置を平滑化すると、色域の全体において補間精度を一定の高精度にすることができるが、分版LUT43に規定されたRGBデータによってRGB空間中に形成する格子点が元々不均等であったり、意図的に仮想Lab色空間中の格子点間隔を不均等にしたい場合に備えて色空間の部位毎に特定の重みを付加して評価関数を算出する。かかる構成により、インク特性に応じて格子点間隔を不均等にする場合、すなわち、インク記録率が大きくなると濃度の変化度合が小さくなるというインク特性を考慮して低インク記録率で格子点を多くする場合であっても、この特性を加味しながら格子点配置を平滑化することができる。さらに、重みを設けた評価関数を設計することで仮想Lab色空間中で局所的に格子点の密度を多くし、局所的に色変換精度を高くすると同時に格子点配置を平滑化することもできる。
【0114】
(4−1)評価関数E1:
図8は、Lab色空間中で色域境界に形成される稜線上の格子点を最適化するための評価関数を説明する説明図である。同図において破線で示す曲線は色域境界に形成される稜線を示している。また、最適化対象の格子点は黒丸で示し、その周囲の格子点は白丸で示している。色域の大きさを維持するためには黒丸で示す最適化対象の格子点が破線で示す稜線上に存在する必要がある。そこで、本実施形態では最適化対象抽出部23bが最適化対象として図8に示すように破線の稜線上に存在する格子点を抽出したときに、演算対象抽出部23dでは当該最適化対象の格子点に隣接し、かつ破線で示す稜線上に存在する格子点を演算対象の格子点として抽出する。
【0115】
同図においては、最適化対象の格子点をベクトルLpとして示しており、演算対象抽出部23dにて抽出される格子点をベクトルLa1,ベクトルLa2として示している。ここで、ベクトルLpは以下に示す式(3)によって算出され、上記位置情報(Pr,Pg,Pb)を変数として表現される。本実施形態において位置情報は、仮想Lab値を一義的に特定できる変数であって分版LUTのRGB格子点位置を特定可能な値であればよい。
【数3】
また、同式内のfは位置情報(Pr,Pg,Pb)から、仮想Labベクトルを求める関数であり、位置情報(Pr,Pg,Pb)に対応するインク量を算出する補間演算と当該算出後のインク量から上記式(2)および上記マトリクス等によってXYZ表色系を経由して仮想Lab値を演算する際の式を関数fとしている。
【0116】
評価関数はこのベクトルLpおよびベクトルLa1,ベクトルLa2を利用し、以下に示す式(4)によって算出する。
【数4】
ここで、W1,W2は重み係数である。
【0117】
すなわち、同式(4)においてW1>W2であるならば、ベクトルLa1−ベクトルLpの大きさがベクトルLa2−ベクトルLpの大きさより小さい状態で評価関数E1の値を小さくすることができ、最適化対象の格子点が一方の格子点に近い状態が最適状態であるとすることができる。また、格子点配置を不均等間隔にする場合に例えば式(5)によって重み係数を決定することができる。
【数5】
【0118】
ここで、D1とD2はRGB色空間中の距離であり、D1は仮想LabベクトルLa1を与える分版LUTのRGB格子点からベクトルLpを与える分版LUTのRGB格子点までの距離であり、D2は仮想LabベクトルLa2を与える分版LUTのRGB格子点からベクトルLpを与える分版LUTのRGB格子点までの距離である。むろん、この式(5)は一例であり、他にも重みを設けた評価関数を設計することで、分版LUTのRGBデータが形成する格子点の間隔によって、仮想Lab色空間中の格子点間隔を制御したり、特定の意図に従って、仮想Lab色空間中で局部的に格子点の密度を多くすることが可能となる。
【0119】
尚、重み係数としては種々の態様を採用可能であり、格子点配置を均等にしたい場合には、むろんW1=W2である。この場合、最適化対象の格子点とその両側で隣接する格子点との距離がそれぞれ等しく、向きが正反対であるときに値が最小になり、これらの距離で差異が大きく、向きが正反対からずれるほど関数の値が大きくなる。すなわち、格子点配置を均等にすべき部位に存在する最適化対象に対しての評価関数ではW1=W2として原則的には格子点配置を均等にすることによって平滑化しつつも、局所的に不均等にしたい部位ではW1とW2のいずれかを大きくする。
【0120】
式(4)に示すE1を極小化すると、格子点配置を最適化することができる。W1=W2の場合には、最適化対象の格子点から両隣の隣接格子点までの距離が等しくなるほどE1が小さくなるので、図8の右側に示すようにベクトルLpの格子点位置を最適化したベクトルL’pを取得することができる。W1とW2のいずれかが大きい場合には、最適化対象の格子点はいずれかの隣接格子点に近い状態で最適化される。
【0121】
また、ベクトルLp,ベクトルLa1,ベクトルLa2は位置情報(Pr,Pg,Pb)によって表現されるが、評価関数E1においてはベクトルLa1,ベクトルLa2を与える位置情報は固定であり、ベクトルLpを与える位置情報(Pr,Pg,Pb)であって、そのうちいずれか一つのみを可変にするとともに他の二つを最小値あるいは最大値に固定している。例えば、図8に示す破線の稜線上の色はBとKの間に存在し、この色に相当するRGB格子点を特定する位置情報Pr,Pgは最小値であるとともに位置情報Pbは任意の値である。そこで、Lab色空間内の格子点をこの稜線上で移動させるためには、位置情報Pr,Pgを最小値に固定し、Pbを可変にすればよい。
【0122】
色域境界の他の稜線についても同様であり、最適化対象の格子点が色域境界上でKからRの稜線上に存在するときには、位置情報Pg,Pbを最小値に固定し、Prを可変にする。最適化対象の格子点が色域境界上でKからGの稜線上に存在するときには、位置情報Pr,Pbを最小値に固定し、Pgを可変にする。さらに、最適化対象の格子点が色域境界上でWからCの稜線上に存在するときには位置情報Pg,Pbを最大値に固定してPrを可変とし、最適化対象の格子点が色域境界上でWからMの稜線上に存在するときには位置情報Pr,Pbを最大値に固定してPgを可変とし、最適化対象の格子点が色域境界上でWからYの稜線上に存在するときには位置情報Pr,Pgを最大値に固定してPbを可変にする。
【0123】
さらに、最適化対象の格子点が色域境界上でMからRの稜線上に存在するときには位置情報Prを最大値,Pgを最小値に固定してPbを可変とし、最適化対象の格子点が色域境界上でMからBの稜線上に存在するときには位置情報Pbを最大値,Pgを最小値に固定してPrを可変とし、最適化対象の格子点が色域境界上でCからGの稜線上に存在するときには位置情報Pgを最大値,Prを最小値に固定してPbを可変とし、最適化対象の格子点が色域境界上でCからBの稜線上に存在するときには位置情報Pbを最大値,Prを最小値に固定してPgを可変とする。
【0124】
最適化対象の格子点が色域境界上でYからRの稜線上に存在するときには位置情報Prを最大値,Pbを最小値に固定してPgを可変とし、最適化対象の格子点が色域境界上でYからGの稜線上に存在するときには位置情報Pgを最大値,Pbを最小値に固定してPrを可変とする。以上のように、最適化対象の格子点の位置によって変動させる位置情報を適宜変化させて評価関数を極小化すると、その時点での評価関数E1を極小化させる位置情報が算出され、この処理を繰り返すことによって格子点位置を最適化したベクトルL’pを取得することができる。
【0125】
(4−2)評価関数E2:
図9は、Lab色空間中で色域の境界に形成される外面上の格子点を最適化するための評価関数を説明する説明図である。同図において破線は格子点同士を結ぶ直線である。これらの格子点は色域境界の外面上に存在するので、紙面奥側あるいは手前側の一方のみに他の格子点が存在することになる。また、最適化対象の格子点は黒丸で示し、その周囲の格子点は白丸で示している。色域の大きさを維持するためには白丸および黒丸で示す格子点が存在する外面に対して最適化対象の格子点が垂直方向に大きく動くことは許されない。そこで、本実施形態では最適化対象抽出部23bが最適化対象として図9に黒丸で示す色域境界の外面上に存在する格子点を抽出したときに、演算対象抽出部23dでは当該最適化対象の格子点に対して4方で隣接し、かつ色域境界の外面上に存在する4個の格子点を演算対象の格子点として抽出する。
【0126】
同図においても最適化対象の格子点をベクトルLpとして示しており、演算対象抽出部23dにて抽出される格子点をベクトルLa1〜ベクトルLa4として示している。ここで、ベクトルLpは上記式(3)によって算出され、上記位置情報(Pr,Pg,Pb)を変数として表現される。色域境界の外面上に存在する格子点を最適化するための評価関数は、ベクトルLpおよびベクトルLa1〜ベクトルLa4を利用し、以下に示す式(6)で表現される。
【数6】
ここで、W1〜W4は重み係数である。
【0127】
すなわち、同式(6)においてW1とW2のいずれかが大きいならば、最適化対象の格子点がベクトルLa1とベクトルLa2のいずれか一方の先端の格子点に近い状態が最適状態であるとすることができる。また、W3とW4のいずれかが大きいならば、最適化対象の格子点がベクトルLa3とベクトルLa4のいずれか一方の先端の格子点に近い状態が最適状態であるとすることができる。尚、ここで、W1とW2は上記式(5)のようにして係数値を決定することができるし、W3とW4は上記(5)と同様に、ベクトルLa3を与える分版LUTのRGB格子点からベクトルLpを与える分版LUTのRGB格子点までの距離およびベクトルLa4を与える分版LUTのRGB格子点からベクトルLpを与える中間RGB輝度までの距離の比等によって算出することができる。
【0128】
隣接する格子点を結ぶ線(図9ではベクトルLa1〜ベクトルLp〜ベクトルLa2が示す格子点を通る線等)が直線に近く、また格子点が均等に配置されるほど格子点配置が平滑化される傾向にあるので、W1=W2=W3=W4とすれば、式(6)に示すE2を極小化することによって図9の右側に示すようにベクトルLpの格子点位置を均等に近づけて最適化したベクトルL’pを取得することができる。W1とW2のいずれかが大きい場合、あるいはW3とW4のいずれかが大きい場合には、最適化対象の格子点はいずれかの隣接格子点に近い状態で最適化される。
【0129】
また、ベクトルLp,ベクトルLa1〜ベクトルLa4は位置情報(Pr,Pg,Pb)によって表現されるが、評価関数E2においてはベクトルLpを与える位置情報(Pr,Pg,Pb)であって、そのうちいずれか二つのみを可変にするとともに他の一つを最小値あるいは最大値に固定している。例えば、図7に斜線で示す色域境界の外面WMBC上の色はB成分が最大でR成分とG成分を任意に変更した場合の色であり、この色に相当するRGB格子点の位置情報Pbは最大値であるとともに位置情報Pr,Pgは任意の値である。そこで、Lab色空間内の格子点を外面WMBC上で移動させるためには、位置情報Pbを最大値に固定し、Pr,Pgを可変にすればよい。
【0130】
色域境界の他の外面についても同様であり、色域境界の外面MRKB上の色はG成分が最小でR成分とB成分を任意に変更した場合の色であり、位置情報Pgを最小値に固定し、Pr,Pbを可変にすれば上記外面MRKB上で最適化対象の格子点を移動させることができる。色域境界の外面RYGK上の色はB成分が最小でR成分とG成分を任意に変更した場合の色であり、位置情報Pbを最小値に固定し、Pr,Pgを可変にすれば上記外面RYGK上で最適化対象の格子点を移動させることができる。
【0131】
さらに、色域境界の外面YWCG上の色はG成分が最大でR成分とB成分を任意に変更した場合の色であり、位置情報Pgを最大値に固定し、Pr,Pbを可変にすれば上記外面YWCG上で最適化対象の格子点を移動させることができる。色域境界の外面WYRM上の色はR成分が最大でG成分とB成分を任意に変更した場合の色であり、位置情報Prを最大値に固定し、Pg,Pbを可変にすれば上記外面WYRM上で最適化対象の格子点を移動させることができる。
【0132】
色域境界の外面CGKB上の色はR成分が最小でG成分とB成分を任意に変更した場合の色であり、位置情報Prを最小値に固定し、Pg,Pbを可変にすれば上記外面CGKB上で最適化対象の格子点を移動させることができる。以上のように、最適化対象の格子点の位置によって変動させる位置情報を選択して評価関数E2を極小化すると、その時点での評価関数を極小化させる位置情報が算出され、この処理を繰り返すことによって格子点位置を最適化したベクトルL’pを取得することができる。
【0133】
(4−3)評価関数E3:
図10は、Lab色空間中で色域境界以外の内部に存在する格子点を最適化するための評価関数を説明する説明図である。同図における破線は色域を2方向に切断した場合に形成される面上に存在する複数個の格子点同士を結ぶ直線である。また、最適化対象の格子点は黒丸で示し、その周囲の格子点は白丸で示している。本実施形態にて色域内部の格子点については色域の大きさを維持するための条件を課することなく移動させ、重み係数によって格子点の均等/不均等を制御する。そこで、本実施形態では最適化対象抽出部23bが最適化対象として図10に黒丸で示す色域の内部に存在する格子点を抽出したときに、演算対象抽出部23dでは当該最適化対象の格子点に対して6方で隣接する6個の格子点を演算対象の格子点として抽出する。
【0134】
同図においても最適化対象の格子点をベクトルLpとして示しており、演算対象抽出部23dにて抽出される格子点をベクトルLa1〜ベクトルLa6として示している。ここで、ベクトルLpは上記式(3)によって算出され、上記位置情報(Pr,Pg,Pb)を変数として表現される。色域の内部に存在する格子点を最適化するための評価関数は、ベクトルLpおよびベクトルLa1〜ベクトルLa6を利用し、以下に示す式(7)で表現される。
【数7】
ここで、W1〜W6は重み係数である。
【0135】
すなわち、同式(7)においてW1とW2のいずれかが大きいならば、最適化対象の格子点がベクトルLa1とベクトルLa2のいずれか一方の先端の格子点に近い状態が最適状態であるとすることができる。また、W3とW4のいずれかが大きいならば、最適化対象の格子点がベクトルLa3とベクトルLa4のいずれか一方の先端の格子点に近い状態が最適状態であるとすることができ、W5とW6のいずれかが大きいならば、最適化対象の格子点がベクトルLa5とベクトルLa6のいずれか一方の先端の格子点に近い状態が最適状態であるとすることができる。
【0136】
尚、ここで、W1〜W4は上記式(5)のようにして係数値を決定することができるし、W5とW6も同様に、ベクトルLa5を与える分版LUTのRGB格子点からベクトルLpを与える分版LUTのRGB格子点までの距離およびベクトルLa6を与える分版LUTのRGB格子点からベクトルLpを与える分版LUTのRGB格子点までの距離の比等によって算出することができる。
【0137】
隣接する格子点を結ぶ線(図10ではベクトルLa1〜ベクトルLp〜ベクトルLa2が示す格子点を通る線等)が直線に近く、また格子点が均等に配置されるほど格子点配置が平滑化される傾向にあるので、W1=W2=W3=W4=W5=W6とすれば、式(7)に示すE3を極小化することによって図10の右側に示すようにベクトルLpの格子点位置を最適化したベクトルL’pを取得することができる。W1とW2のいずれかが大きい場合、W3とW4のいずれかが大きい場合、あるいはW5とW6のいずれかが大きい場合には、最適化対象の格子点はいずれかの隣接格子点に近い状態で最適化される。
【0138】
また、ベクトルLp,ベクトルLa1〜ベクトルLa6は位置情報(Pr,Pg,Pb)によって表現され、評価関数E3においてはベクトルLpを与える位置情報(Pr,Pg,Pb)の総てを可変にしている。以上のように、位置情報を変動させて評価関数E3を極小化すると、その時点での評価関数を極小化させる位置情報が算出され、この処理を繰り返すことによって格子点位置を最適化したベクトルL’pを取得することができる。
【0139】
(5)他の実施形態:
上記実施形態は一例であり、スムージング処理を行うことによって高精度に色変換を実施可能である限りにおいて、他にも種々の構成を採用することができる。図11は、ICCプロファイルで規定されるプロファイルを利用して印刷を行う装置に対して本発明にかかるスムージング処理を適用した場合の構成を示すブロック図である。同図において、上記図4と同様の構成については図4のでの符号と同符号を付して示している。ICCプロファイルにおいては、ディスプレイ等の画像入力機器で使用する色成分値を機器非依存色空間内の座標値(Lab値等)に変換するソースプロファイルと機器非依存色空間内の座標値をプリンタ等の画像出力機器で使用する色成分値に変換するメディアプロファイルとを予め用意しておく。
【0140】
そして、ソースプロファイルを参照して入力画像データが示す色を一旦機器非依存色空間内の座標値に変換し、メディアプロファイルを参照して当該機器非依存色空間内の座標値をプリンタで使用する色成分値に変換する。この色成分値は、さらに色補正無しLUTを参照して上記入力画像データが示す色をプリンタで使用する色成分値に変換する。これにより、画像データの色を高精度に変換して印刷を実行することが可能になる。尚、本実施形態においてはメディアプロファイルを作成する際に入力画像データが示す色とプリンタで使用する色成分値が示す色とが一致するようにしてある。
【0141】
具体的には、ハードディスク13bに予めソースプロファイル411と分版LUT43とを記録しておく。色補正無しLUT42とメディアプロファイル410とは分版LUT43から作成される。すなわち、スムージング処理モジュール23は上記図4に示すモジュールと同様に分版LUT43を参照してスムージング処理を行い、色補正無しLUT42を作成する。メディアプロファイル生成モジュール220は、色補正無しLUT42,測色機50が出力する測色値,ターゲットLab値決定モジュール21が出力するLab値に基づいて上記図1に示す測色からLab→RGB変換までを実施してメディアプロファイル410を生成する。この結果、メディアプロファイル410の出力RGB値を色補正無しLUT42にて変換したときに、メディアプロファイル410への入力Lab値が示す色と同等のCMYKlclmデータを取得することが可能になる。
【0142】
図11に示す実施形態におけるプリンタドライバ12cは色結合処理部321と色補正モジュール322とを備えており、これら色結合処理部321と色補正モジュール322とによって入力画像データの色をプリンタで使用するインク色に対応したCMYKlclmデータに変換する。色結合処理部321はソースプロファイル411とメディアプロファイル410とを参照して入力画像データのRGB値を色補正無しLUT42に規定されたRGB表色系でのRGB値に変換するモジュールである。
【0143】
すなわち、ソースプロファイル411は入力画像データの表色系をLab表色系に変換するプロファイルであるので、色結合処理部321は当該ソースプロファイル411を参照して入力画像データの色をLab値で表現する。メディアプロファイル410はLab表色系を色補正無しLUT42に規定されたRGB表色系でのRGB値に変換するプロファイルであるので、色結合処理部321は当該メディアプロファイル410を参照してLab値をRGB値に変換する。このRGB値は色補正モジュール322に入力される。
【0144】
色補正モジュール322は、LUTを参照して色変換を実施するモジュールであり、色補正無しLUT42を参照して上記入力されたRGB値をCMYKlclmデータに変換する。この結果得られたCMYKlclmデータは上記ハーフトーン処理モジュール33および印刷処理モジュール34に入力され、プリンタ17cによって上記画像データが示す画像が印刷される。以上のようにスムージング処理を行った色補正無しLUT42からメディアプロファイル410を作成する場合であっても、当該メディアプロファイル410の作成時に上記第1実施形態と同様に補間演算処理を実行するので、分版LUT43をスムージングすることにより、補間演算の精度を向上することができるし、必要に応じて局所的に補間精度を特に高精度にしたり、インクの特性等によって局所的に低精度の演算がなされることを防止することができる。従って、本実施形態においても高精度に色変換を行って印刷を実行することが可能になる。
【0145】
尚、上述の2つの実施形態ではPCを印刷制御装置として機能させるプリンタドライバとLUT作成装置として機能させるLUT作成部との双方をPCにて実行可能にしていたが、むろん、両者は別体のPCにて実現しても良い。すなわち、LUT作成部を実行可能なPCによって予め色補正LUTやメディアプロファイル、色補正無しLUTを作成しておき、プリンタドライバによってプリンタを制御可能なPCに対して当該作成した色補正LUTやメディアプロファイル、色補正無しLUTを転送すれば、それぞれを別個のPCにて実現することができる。
【0146】
また、上記プリンタ17cにおいてはCMYKlclmの6色のインクを搭載可能であったが、むろん、DY(ダークイエロー)を追加して色数をより多くしても良いし、lclmを利用しないことにして色数をより少なくしても良い。さらに、他の色、例えばR(レッド),V(バイオレット)を利用してCMYKRVの6色のインクを搭載可能にしても良い。
【0147】
さらに、上記評価関数においては仮想Lab色空間での格子点配置の平滑程度が低下したときに値が大きくなるような関数を採用すれば良く、上述の関数の他、種々の関数を採用することができる。例えば、上記評価関数E2,E3においては、格子点が立方格子を形成するとしたときにベクトルが直交するような格子点のみを最適化対象の周囲の格子点として抽出していたが、このような選び方が必須という訳ではなく、例えば、図9のベクトルLa5,ベクトルLa6のように格子点が立方格子を形成するとしたときに対角位置にあるような格子点を含めて評価関数としても良い。このような対角位置にある格子点は、RGB色空間においても対角位置にあり、特にR=G=Bの対角軸はグレー軸に該当する。従って、対角位置にある格子点についても配置の平滑程度が向上すると、モノクロ出力時にトーンジャンプが発生することを防止することができる。
【0148】
さらに、上述の実施形態においては互いに逆向きのベクトルの和をとることによって平滑程度の高い格子点配置で評価関数の値が小さくなるようにしていたが、むろん、他の構成を採用しても良い。例えば、格子点間の相対位置関係が類似しているか否かを評価する関数であっても良い。具体的には、図9においてベクトルLa5−ベクトルLa4とベクトルLa1−ベクトルLpとの差をとると両ベクトルの差ベクトル、すなわち(ベクトルLa5−ベクトルLa4)−(ベクトルLa1−ベクトルLp)が得られるが、当該差ベクトルの値が小さいほど格子点間の相対位置関係が類似していると言える。従って、ベクトルLa1−ベクトルLpと隣接する格子間ベクトルとの差をとって足し合わせることによって配置の平滑程度を評価する評価関数を取得することができる。
【0149】
さらに、上記実施形態においては、仮想Lab色空間中の色域の部位毎に別個の隣接格子点を抽出して最適化対象の格子点配置をスムージングしているので、評価関数E1〜評価関数E3のそれぞれによって最適化される各格子点同士に関連がない。そこで、各部位毎に別個の評価関数で格子点を最適化しつつ各部位の境界においても配置の平滑程度が高くなるように重み付け演算をしてもよい。
【0150】
上述の評価関数E1,E2では位置情報(Pr,Pg,Pb)のいずれか一つまたは二つを固定していたが、評価関数E3では位置情報(Pr,Pg,Pb)の三つとも可変であるので、色域境界付近では束縛条件が急激に変化する。また、色域の境界同士でも色域境界を形成する稜線と外面とでは束縛条件が急激に変化する。束縛条件が急激に変動すると、格子点配置を平滑化するために格子点を移動させる際の自由度および移動方向の自由度が全く異なるので、この場合に格子点配置の平滑程度の不連続が生じるおそれがある。そこで、束縛条件が急激に変化することを防止するために色域境界に近づくほど、位置情報が変動しにくくなるような重みを持った項を評価関数に付加する。
【0151】
分版LUTのRGBデータの値域が0〜255であるとすると、RGBデータの各色成分がその値域の中点から遠いほど仮想Lab格子点が色域境界に近いと言える。従って、R成分に関しては絶対値|R−127.5|により、色域の境界に近いか否かを判断することができる。そこで他の色成分も同様に考え、下記式(8)式にて色域境界への近づき度合いに応じた重みを定義する。
【数8】
【0152】
尚、Wr,Wg,Wbは位置情報Pr,Pg,Pbのそれぞれを可変にする際の重みである。また、kwr,kwg,kwbは各重みの大きさを決定する係数であり、色域境界で各位置情報を変動させないようにするために充分な大きさの値にする。また、γwr,γwg,γwbは重みの大きさの変化度合を調整する係数である。これらの係数を調整すると、分版LUTのRGBデータに応じて重みを変化させることができ、色域の中心付近であまり重みをかけずに充分な最適化を行いたい場合に大きくするなどの調整が可能である。
【0153】
ここでは、位置情報としてPrのみを可変とした場合の色域境界の辺について考え、上記評価関数E1について具体例を示して説明する。下記式(9)は、上記重みWrを付加した評価関数E1である。
【数9】
同式の第2項が色域境界(この場合、色域境界上に形成される稜線の端部)に近づくほど位置情報Prが変化しづらくなるように付加した項であり、Pr0は現在のR方向位置情報である。
【0154】
すなわち、上記式の第2項は色域境界に近ければ近いほど、重み係数Wrの値が大きく、位置情報Prが現在位置Pr0から離れるほど当該第2項が大きくなる。従って、評価関数E1を極小化する最適化処理において位置情報Pr,Pr0は近い値になるとともに色域境界に近いほど両位置情報が近い値となる。尚、位置情報Pgのみを可変にしたり位置情報Pbのみを可変にした場合であっても同様の考え方で評価関数E1に第2項を付加することができる。むろん、評価関数E2,評価関数E3でも同様であり、評価関数E2では位置情報のうち2つの成分が可変であるので評価関数に対して2つの項が付加され、評価関数E3では位置情報の3つの成分が可変であるので評価関数に対して3つの項が付加される。
【図面の簡単な説明】
【図1】色補正LUTの作成工程を概略的に説明する説明図である。
【図2】スムージングを概略的に説明する説明図である。
【図3】印刷制御装置のハードウェア構成を示すブロック図である。
【図4】印刷制御装置にて実行されるプログラムを示すブロック図である。
【図5】スムージング処理モジュールの構成を示すブロック図である。
【図6】スムージング処理を示すフローチャートである。
【図7】プリンタの色域を示す模式図である。
【図8】稜線上の格子点を最適化する評価関数の説明図である。
【図9】外面上の格子点を最適化する評価関数の説明図である。
【図10】色域内部の格子点を最適化する評価関数の説明図である。
【図11】他の実施形態にて実行されるプログラムのブロック図である。
【符号の説明】
20…LUT作成部,21…ターゲットLab値決定モジュール,22…色補正LUT生成モジュール,23…スムージング処理モジュール,23a…中間RGB輝度変換処理部,23b…最適化対象抽出部,23c…仮想Lab値算出部,23d…演算対象抽出部,23e…評価関数算出部,23f…位置情報更新部,23g…インク量算出部,23h…色補正無しLUT生成部,25a…中間RGB輝度値,25b…インク量データ,25c…仮想Lab値,25d…位置情報,31…画像データ取得モジュール,32…色補正モジュール,33…ハーフトーン処理モジュール,34…印刷処理モジュール,41…色補正LUT,42…色補正無しLUT,43…分版LUT,50…測色機
【発明の属する技術分野】
本発明は、対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラムに関する。
【0002】
【従来の技術】
ディスプレイやプリンタ等の画像機器は、通常各画素の色を特定の色成分で階調表現したカラー画像データを使用している。例えば、R(レッド),G(グリーン),B(ブルー)の3色を使用したRGB色空間やC(シアン),M(マゼンタ),Y(イエロー)系統の色を使用したCMY系色空間(lc:ライトシアン,lm:ライトマゼンタ,DY:ダークイエロー,K:ブラックを含む)等種々の色空間で色を規定して画像データとしている。これらの色は一般に画像機器固有の機器依存色であるので、種々の画像機器間で同じ画像を同じ色で出力可能にするために各機器での色の対応関係を規定した色補正LUT(ルックアップテーブル)が用いられている。
【0003】
当該色補正LUTにおいて各画像機器で出力可能な色の総てについて対応関係を規定することは、記憶容量抑制や色補正LUT作成時の作業性等の関係で非現実的であるため、通常、特定数の代表色について対応関係を規定しておき、他の任意の色については補間演算によって対応関係を算出している。すなわち、膨大な数の色について測色を行うことをせず、実際に測色可能な範囲で画像機器から色を出力して測色を行うことによって特定数の代表色についての色補正LUTを規定している。
【0004】
色補正LUTを作成する前には、測色対象となるこれら特定数の色、すなわち色空間内での複数の格子点を決定する必要がある。従来の格子点決定方法としては、分版処理が挙げられる。この分版処理においては、例えば、CMY空間に立方格子点を規定し、特定の変換規則に従って各格子点におけるCMYの3色をCMYKlclmの6色に変換するなどしてインク色を成分とする格子点を決定する等の処理を行っている。このようにして決定したCMYとインク色成分との対応関係では上記変換規則に従っているが、色空間中での格子点配置の平滑程度を考慮していないので、分版処理後の格子点を参照して色変換する際の補間演算時に局所的に精度の悪い部分が生じてしまう。そこで、分版処理後の格子点配置を平滑化するようにして格子点を決定し、平滑化した格子点を利用して色補正LUTを作成する(例えば、特許文献1)。
【0005】
【特許文献1】
特願2002−303137号公報
【0006】
【発明が解決しようとする課題】
上述した従来の格子点決定方法では、格子点を平滑化する際の移動の自由度が制限され、高い移動自由度を実現しながら一方では色空間内の局所的な格子点密度に差異を設ける等して格子点配置を意図通りに制御することが困難であった。すなわち、上記従来技術ではCMY格子点平滑程度評価関数とインク量格子点平滑程度評価関数とを規定し、分版時の規則を満たすようにしながら各関数を個別に平滑化することによって格子点配置を平滑化していたので、格子点を移動する際には分版の規則を満たすよう制限を設けたまま格子点を移動する必要があり、充分に平滑化できないことがあった。特にRインクやV(バイオレット)インクを使用したときに充分に平滑化できない場合があった。また、色空間内には他の部位と比較して格子点密度を高くして局所的に色変換精度を高くしたり、インク特性に応じて格子点密度が変化していた方が好ましい場合もあり、格子点を平滑化する際に移動の自由度を高くして色空間全体を均一に平滑化するとこれらの局所的な格子点配置を考慮できなかった。
本発明は、上記課題にかんがみてなされたもので、高い自由度で格子点配置を移動可能であるとともに局所的な格子点配置の変動をも制御しながら平滑化を行うことが可能な対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラムの提供を目的とする。
【0007】
【課題を解決するための手段および発明の効果】
上記目的を達成するため、本発明では、機器非依存色空間内の格子点の配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって上記低次元色空間の格子点位置情報を変数とした評価関数を規定し、当該評価関数での評価を向上させることで格子点の配置を最適化している。すなわち、格子点配置を平滑化する対象は機器非依存色空間であり、変数は低次元色空間の格子点位置情報であって、格子点配置を平滑化して最適化する際に第1対応関係定義データで定義されたインク量を直接的に変動させることはない。すなわち、格子点位置情報を更新した後に当該格子点位置情報で指定される格子点に対応したインク量を算出し、上記第1対応関係定義データに規定された低次元色空間内の格子点に対応づけるものの、このインク量の算出に際して上記第1対応関係定義データに規定されたインク量自体を直接的に変更するものではない。
【0008】
一方、評価関数には機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件が課せられているので、評価関数での評価を向上させる際に当該所定の位置では格子点の配置が均等にはならず不均等になる。従って、所定の位置では格子点の密度を高くしたり、色空間内で格子点密度を傾向的に変化させるなど、格子点配置を意図通りに制御することが可能になる。むろん、この束縛条件は色空間内の総ての位置で課せられることが必須ではなく、一部のみで適用することができる。束縛条件を課さない位置ではこの束縛条件を含まない評価関数によって格子点配置を最適化すれば、格子点配置を均等にして平滑化することができる。
【0009】
従って、低次元色空間の格子点位置情報を更新して機器非依存色空間内の格子点を移動させるに際して、分版の規則に大きく影響されることなく高い自由度で低次元色空間の格子点位置情報および機器非依存色空間内の格子点を変更し、格子点配置を平滑化することができるとともに、色空間全体として均等に平滑化したくない場合に色空間内の所定の位置で格子点配置を不均等にすることができる。尚、格子点配置を平滑化する際に上記第1対応関係定義データに規定されたインク量を直接的に変動させることがないが、格子点配置の平滑化に際して上記分版時の規則は実質的に考慮されている。すなわち、上述の分版によれば各色のインク数より少ない色成分で規定される低次元色空間内における低次元色格子点と上記各色のインク量を成分としたインク量空間内におけるインク量格子点とを対応づけることができ、この対応関係を第1対応関係定義データとしている。
【0010】
平滑程度評価関数を決定する際には、第1対応関係定義データを参照して上記低次元色格子点と機器非依存色空間内の格子点との対応関係を取得する。これにより、低次元色空間の格子点位置情報を変数として機器非依存色空間内の格子点の配置の平滑程度を評価する平滑程度評価関数を決定することができる。従って、平滑程度評価関数では、上述のインク量を変動させないが第1対応関係定義データに規定された対応関係は反映している。このため、平滑程度評価関数での評価向上により、機器非依存色空間内での格子点配置の平滑化および局所的な格子点配置の制御と分版時の規則の充足とを同時に満たすことができる。
【0011】
対応関係定義データは印刷装置と他の表色系における色成分値との対応関係を定義するデータであればよく、例えば、LUTであってもよいし、色の関係を規定したマトリックス等を含むいわゆるプロファイルであってもよい。上記他の表色系としてはLab色空間(通常はL*a*b*のように*を付して示すが本明細書では簡単のため*を省略して示す。以下同じ。)やXYZ色空間等の機器非依存色空間であっても良いし、ディスプレイ等で使用するRGB値やCMY値等によって形成される色空間であっても良い。また、本発明にかかる印刷装置では3色より多数色のインク、すなわち、CMYKの4色やCMYKlclmの6色インクあるいはそれ以上の色数のインクを使用可能である。むろん、インクとしてはこれらに限らずCMYKRVの6色インクを使用する構成も採用可能である。
【0012】
一方、第1対応関係定義データでは印刷装置で使用する各色インク数より少ない色成分で色を規定した低次元色空間の格子点と各色のインク量を成分としたインク量空間内におけるインク量格子点との対応関係を規定することができればよい。低次元色空間としては例えば、RGB色空間やCMY色空間を採用することができる。ここで、第1対応関係定義データにおいては各格子点で規定する色の対応関係を厳密に規定しておく必要がないので、この第1対応関係定義データを予め作成する際に自由に分版の規則を考慮することができる。
【0013】
また、RGBの各色はCMYの各色といわゆる補色関係にあり、各色について0〜255の256階調の表現をした場合、色の厳密な一致を考慮しなければ“C=255−R,M=255−G,Y=255−B”と考えることができる。従って、低次元色空間としてRGB色空間,CMY色空間のいずれを採用しても実質的には等価である。第1対応関係定義データを予め作成する際に考慮する規則としては種々の規則を採用可能であり、例えば、CMYの各色組み合わせを一定の比率でCMYKlclmインクのいずれかに振り分けるための規則や印刷用紙に打ち込み可能なインク量の制限や粒状感発生防止のためのKインク使用制限等を考慮することができる。
【0014】
平滑程度評価関数では、機器非依存色空間内の格子点配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を課することができればよい。ここで、配置の平滑程度とは、空間中に各格子点が並んでいるときの歪みの程度である。例えば、機器非依存色空間に格子点が立方格子状に並んでいる場合には歪みがないが、各格子点が立方格子点位置からずれると格子としては歪みが大きくなる。また、機器非依存色空間内に格子点が均等に並んでいるほど平滑程度が高いと言えるし、機器非依存色空間内で隣り合う格子点を結ぶ曲線であって当該機器非依存色空間に形成される色域の一方の境界から他方の境界に向けて引かれる曲線を考えたときに、この曲線が高次関数で記述されるほど平滑程度が低いと言える。
【0015】
一般に、各色空間で整然と並んでいる格子点の方がその間に位置する色を補間演算によって算出する際に空間の局所的位置によって補間精度を大きく変動させることなく補間を行うことができる。従って、本発明によって格子点位置を最適化することで、対応関係定義データ作成時に実施される補間の精度を高くすることができる。すなわち、本発明によれば、高精度に補間演算を実施可能な対応関係定義データ作成用格子点を容易に決定することができる。
【0016】
平滑程度評価関数においてはその値によって配置の平滑程度を示すことができれば良く、その値を理想値に近づけるようにすることによって評価を向上させる。例えば、格子点配置の平滑程度が高くなるほど値が小さくなる関数とすれば、当該関数の極小を与える低次元色空間の格子点位置情報を探索することによって格子点配置を最適化することができる。この探索に際しては、種々の手法を採用可能である。例えば、準ニュートン法や共益勾配法等種々のアルゴリズムを採用することができる。
【0017】
さらに、格子点の配置が不均等となる束縛条件においては、格子点配置を色域内で全く均等にすることが理想であるとするのではなく、特定の部位で格子点が密になっているような状態を許容したり格子点間隔が不均等となっている状態を許容することができれば良く、種々の条件で実現可能である。例えば、上述のように評価関数の極小化によって格子点配置を最適化する場合には、格子点の配置を不均等にする所定の位置で格子点が不均等な特定の配置に近づくほど値が小さくなるように評価関数を規定すればよい。
【0018】
上記第1対応関係定義データからは、上記低次元色格子点と機器非依存色空間内の格子点との対応関係が取得できればよく、当該第1対応関係定義データに規定された上記低次元色格子点とインク量格子点との対応関係から種々の手法によって取得することができる。例えば、低次元色格子点に対応するインク量格子点が示す各色インク量で印刷を実施し、印刷結果のそれぞれを測色することによって機器非依存色空間内の格子点に対応する色成分値を取得しても良い。
【0019】
また、第1対応関係定義データでは実際の色の対応関係を厳密に規定していないし、第1対応関係定義データに規定された低次元色格子点の総て(通常は1000個程度)について印刷を行って測色するのは煩雑であるところ、近似式を利用して簡易的に演算しても良い。但し、近似式を利用すると言っても本発明では機器非依存色空間内の格子点配置を平滑化するので、物理的根拠に基づいた近似式によって低次元色格子点と機器非依存色空間内の格子点との対応関係を規定する。すなわち、近似式によって得られた機器非依存色空間内の格子点を平滑化した状態で実際の格子点も充分に平滑化されるようにする。
【0020】
近似式を利用する例としては、少数(本発明では各色インク毎16個程度で充分)の測色と演算を組み合わせる構成を採用可能である。より具体的には、測色数を抑えるために各色のインクを単色で印刷した複数のパッチを測色し当該測色値を参照して近似計算により上記機器非依存色空間の色成分値を算出する。近似式としてはインクの濃度測色値をRGB輝度の成分値に変換する式等を利用することができる。この演算により各パッチを印刷する際に使用した各色毎のインク量とRGB輝度との対応関係を取得することができる。
【0021】
この状態では各色毎のインク量とRGB輝度とが対応づけられているので、この対応関係によれば各色インクの組み合わせに対応したRGB輝度を算出することができる。例えば、各色インクを組み合わせた場合のRGB輝度は各色インク毎のRGB輝度をRGB成分毎に乗じたものであると仮定すれば、上記対応関係によって任意のインク量の組み合わせについてRGB輝度を算出することができる。
【0022】
従って、この段階で補間演算によって上記第1対応関係定義データに規定されたインク量の組み合わせをRGB輝度の成分値に変換可能になる。RGB輝度の成分値はマトリクス演算等によって近似的に機器非依存色空間の格子点に変換することができる(例えば、sRGB値をLab値に変換する公知の式等)。このようにして上記第1対応関係定義データに規定されたインク量の組み合わせを機器非依存色空間内の格子点に対応づけることにより、結局、低次元色空間の格子点と機器非依存色空間の格子点とを対応づけたことになる。すなわち、評価関数を規定する際に、一旦上記第1対応関係定義データを参照することにより、当該第1対応関係定義データ作成時に考慮した分版の規則を加味しつつ低次元色空間の格子点位置情報を変数とした平滑程度評価関数を作成することができる。
【0023】
平滑程度評価関数は、機器非依存色空間内の格子点の配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって上記低次元色空間の格子点位置情報を変数とした関数であればよいが、最適化対象の格子点の総てについて共通の関数としなくても良い。例えば、最適化対象の格子点が属する色域の部位毎に異なる関数形としても良い。すなわち、最適化対象の格子点位置により、その移動の自由度を制限すべき位置と制限すべきでない位置とが存在しうるので、最適化対象の格子点位置によって異なった関数形の平滑程度評価関数とすることによって位置毎の自由度に的確に応じた状態で格子点を移動させる平滑程度評価関数にすることができる。ここで、格子点位置情報は低次元色空間内の格子点の位置を特定する情報であれば良く、種々の構成を採用可能である。例えば、低次元色空間の各格子点について色成分値が小さいものから順に番号を付し、この番号が小数点以下であるときに元の格子点の間の色成分値を指定することとする構成を採用可能であるし、むろん、RGBデータによって格子点の位置を特定する構成を採用しても良い。
【0024】
さらに、平滑程度を評価する手法としては種々の構成を採用しうるが、簡易な構成の一例として最適化対象の格子点に隣接する隣接格子点へ向けたベクトルであって互いに略逆向きのベクトルの和の絶対値を含む関数を採用可能である。すなわち、隣接格子点へ向けたベクトルであって互いに略逆向きのベクトルの和は、両ベクトルの大きさが等しく向きが正反対である時に“0”となるし、両ベクトルのそれぞれに対して異なる重み係数を乗じた項同士の和は、両ベクトルのいずれかが大きく向きが正反対であるときに“0”となる。
【0025】
従って、平滑程度評価関数が前者の和の絶対値を含む関数であれば、その値を極小化することによって最適化対象の格子点とその隣接格子点との距離を均等に近づけることができるし、最適化対象の格子点を隣接格子点同士を結ぶ直線上に近づけることができる。後者の和の絶対値を含む関数であれば、その値を極小化することによって最適化対象の格子点とその隣接格子点との距離を不均等にすることができるし、最適化対象の格子点を隣接格子点同士を結ぶ直線上に近づけることができる。この構成において、機器非依存色空間内の所定の位置でのみ上記重み係数を乗じた項同士の和の絶対値を含む評価関数とし、他の位置では重み係数を乗じない状態でのベクトルの和の絶対値を含む評価関数とすれば、複数の最適化対象の格子点について最適化処理を行うことによってこれら複数の格子点について原則的には配置の平滑程度を高くしつつ、局所的には格子点配置を不均等にすることができる。
【0026】
むろん、重み係数の値を最適化対象の格子点が属する色域の部位毎に異なる値にすることもできる。すなわち、色域の部位毎に必要とされる格子点配置の平滑程度や不均等の程度が異なるので、色域の部位毎に重み係数の値を変動させることでより詳細に格子点配置を制御することができる。また、重み係数の値を徐々に変化させ、色空間内で格子点密度が徐々に変化するように制御することもできる。インクの特性としては、一般的にインク量階調値が大きくなると階調値の変化度合に対する濃度の変化度合が小さくなるので、小さなインク量階調値に対応する格子点密度を高くすれば、インク量階調値の変化度合に対する濃度の変化度合が大きい部位でも高精度に色変換を実施可能になる。
【0027】
さらに、重み係数の値としては種々の値を採用可能であり、その構成例として一方のベクトルが他方のベクトルより大きい場合に、当該一方のベクトルに乗じられる重み係数を他方のベクトルに乗じられる重み係数より小さくする構成を採用可能である。すなわち、関数の極小化を実施する以前に最適化対象の格子点から隣接格子点に向けたベクトルの大きさに差がある場合、大きなベクトルが評価関数に与える寄与の方が大きいので、当該大きなベクトルを小さくするように最適化対象の格子点が移動しやすい。従って、評価関数の極小化を実施する際に特定の隣接格子点から大きな影響を受ける。そこで、大きなベクトルほど小さな値を持つ重み係数を乗じることにより、各隣接格子点からの影響度合を調整することができる。むろん、これにより結果として最適化対象の格子点配置を不均等にすることができる。
【0028】
さらに、重み係数の値の例として、上記逆向きのベクトルのそれぞれに乗じられる重み係数の比を各ベクトルの端点に対応する低次元色格子点間の距離の逆比にする構成を採用しても良い。すなわち、低次元色空間内で低次元色格子点間の距離を考えることにより、最適化対象および隣接格子点に対応する低次元色格子点が評価関数の極小化以前に不均等に配置されているときに、この不均等の程度を反映させつつ機器非依存色空間の格子点を不均等に配置することができる。低次元色空間は次元数が低く、格子点配置を予め決定することが容易であるため、色空間内で格子点密度に差を与えることも容易であり、当該低次元色空間内の格子点配置を予め決めておくことにより、容易に最適化後の格子点密度を制御することができる。
【0029】
また、最適化対象の格子点を最適化する際に色域境界上に存在する格子点を自由に移動させると、色域の外側あるいは内側に格子点が移動する。色域の外側に格子点が移動した場合、その色は出力不可能であるため意味がない(後述するガマットマッピング等によって再び色域内に戻される)。色域の内側に格子点が移動した場合、印刷装置で本来表現可能な色の範囲を狭めてしまい、印刷の階調表現能力を低下させてしまう。そこで、最適化対象の格子点が属する色域の部位毎に異なる関数形とする構成例として、最適化対象の格子点が色域境界上の稜線に属する場合に、当該稜線上に存在するとともに当該最適化対象の格子点を挟んで互いに逆側に存在する格子点を隣接格子点とする構成を採用可能である。
【0030】
かかる構成によれば、平滑程度の比較対象が稜線上の隣接格子点のみになるので、平滑程度評価関数の値を効果的に変動させるための最適化対象格子点の移動方向は当該稜線に沿った方向となり、最適化対象の格子点を稜線に沿って移動させやすくなる。従って、容易に色域の大きさを維持することができる。むろん、最適化対象の格子点が稜線上のみを移動するように構成することも可能である。すなわち、RGB表色系やCMY表色系のように色成分値によって各色の輝度や濃度を表現する表色系では、色域の境界において各色成分値のいずれか少なくとも一つが最小値あるいは最大値になっている。従って、色域境界の稜線上では色成分値の二つが最小値あるいは最大値であり、他の一つが可変である。そこで、平滑程度評価関数の変数としての格子点位置情報に所定の束縛条件を課し、色成分値のいずれか一つを可変とし、他の色成分値を固定すれば、格子点を稜線上で移動させることができる。
【0031】
さらに、最適化対象の格子点が属する色域の部位毎に異なる関数形とする構成例として、最適化対象の格子点が色域境界上の外面に属する場合に、当該外面上に存在するとともに当該最適化対象の格子点を挟んで互いに逆側に存在する格子点を隣接格子点とする構成を採用可能である。かかる構成によれば、平滑程度の比較対象が外面上の隣接格子点のみになるので、平滑程度評価関数の値を効果的に変動させるための最適化対象格子点の移動方向は当該外面に沿った方向となり、最適化対象の格子点を色域外面に沿って移動させやすくなる。従って、容易に色域の大きさを維持することができる。
【0032】
尚、隣接格子点としては、最適化対象の格子点を挟んで互いに逆側に存在する2つの格子点を組とし、2組計4個の隣接格子点を採用すれば最適化対象の格子点を色域の外面に沿って移動させることができるが、むろん、3組計6個以上の隣接格子点を採用しても良い。また、ここでも最適化対象の格子点が外面上のみを移動するように構成することも可能である。すなわち、RGB表色系やCMY表色系のように色成分値によって各色の輝度や濃度を表現する表色系では、色域の境界の外面上で各色成分値のいずれか一つが最小値あるいは最大値になっている。そこで、平滑程度評価関数の変数としての格子点位置情報に所定の束縛条件を課し、色成分値のいずれか二つを可変とし、他の色成分値を固定すれば、格子点を外面上で移動させることができる。
【0033】
さらに、最適化対象の格子点が属する色域の部位毎に異なる関数形とする構成例として、最適化対象の格子点が色域境界より内側に属する場合に、色域内に属するとともに当該最適化対象の格子点を挟んで互いに逆側に存在する格子点を隣接格子点とする構成を採用可能である。かかる構成によれば、平滑程度の比較対象が最適化対象の周囲で隣接する隣接格子点になる。ここで、隣接格子点としては、最適化対象の格子点を挟んで互いに逆側に存在する2つの格子点を組とし、3組計6個の隣接格子点を採用すれば最適化対象の格子点を色域の内側で3次元的に移動させることができるが、むろん、3組計6個以上の隣接格子点を採用しても良い。尚、ここで最適化対象の格子点としては色域の内側、すなわち、色域の境界を除いて色域の内側に存在する格子点であるが、隣接格子点としては色域内に属していればよく、色域の境界上の格子点を当該隣接格子点としても良い。
【0034】
ところで、上述した対応関係定義データ作成用格子点決定方法を利用すれば、コンピュータ等種々の装置によって対応関係定義データ作成用格子点を作成することができる。従って、請求項6にかかる発明のように装置としても機能するし、むろん請求項7にかかる発明のようにコンピュータにて実行されるプログラムとしても発明は機能する。さらに、本発明によって対応関係定義データ作成用格子点が決定されると、当該対応関係定義データ作成用格子点にて特定されるインク量でのプリンタによる出力色を測色し、当該測色値によって当該インク量と他の画像機器(例えばディスプレイ)での使用色とを対応づけることが可能になる。この結果、生成されるLUTやプロファイル等の対応関係定義データでは高精度に色変換を実施可能である。従って、これらのLUTやプロファイルを利用した処理装置等も本発明の技術思想を利用していると言える。
【0035】
すなわち、請求項8のように実体のある印刷制御装置としても有効であることに相違はないし、請求項9のように実体のある印刷制御方法としても有効であるし、請求項10のように印刷制御プログラムとしても有効である。また、このような本発明にかかる装置、方法は単独で実施される場合もあるし、ある機器に組み込まれた状態で他の装置、方法とともに実施されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものであり、適宜、変更可能である。むろん、ソフトウェアを記録した記録媒体上においても当然に存在し、利用される。記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。
【0036】
その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。また、必ずしも全部の機能を当該プログラム自身で実現するのではなく、外部のプログラムなどに実現させるようなものであっても良い。その場合であっても、各機能をコンピュータに実現させ得るものであればよいからである。
【0037】
【発明の実施の形態】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)色補正LUT作成およびスムージングの概要:
(2)印刷制御装置:
(3)スムージング処理:
(4)評価関数による最適化:
(4−1)評価関数E1:
(4−2)評価関数E2:
(4−3)評価関数E3:
(5)他の実施形態:
【0038】
(1)色補正LUT作成およびスムージングの概要:
図1は、プリンタで印刷を実行する際に参照される色補正LUTの作成工程を概略的に説明する説明図であり、図2はこの色補正LUTを作成する際に実施されるスムージングを概略的に説明する説明図である。これらの工程は多くの演算処理を必要とするのでコンピュータを利用するのが好ましい。また、実際に印刷を行うので、作成後の色補正LUTを利用するプリンタで印刷を行うのが好ましく、後述するハーフトーン処理(HT)としても当該プリンタで採用しているハーフトーン処理と同じアルゴリズムであることが必要とされる。
【0039】
本実施形態における色補正LUTは、sRGBデータとCMYKlclmデータとの対応関係を複数個の参照点について定義したテーブルであり、これらの参照点を参照して補間処理を実施することによって任意の色についてsRGBデータとCMYKlclmデータとを対応づけることができる。この色補正LUTを作成するために、本実施形態においては予め分版LUTを作成しておく。尚、この色補正LUTが上記請求項に言う対応関係定義データに相当し、分版LUTが上記請求項に言う第1対応関係定義データに相当する。本実施形態において分版LUTは、3次元のRGBデータを複数の規則に従って6次元のCMYKlclmデータに変換し、得られた結果を対応づけて作成されるLUTであり、RGBデータとCMYKlclmデータとの対応関係を複数個の参照点について定義している。
【0040】
すなわち、CMYKlclmの6色を組み合わせれば同じ色を異なるCMYKlclm値の組み合わせで表現可能であり、RGBデータが示す色に対応するCMYKlclmデータを一義的に決定するのは煩雑であるので、特定の規則に従うこととしてRGBデータとCMYKlclmデータとの対応関係を定義したものである。特定の規則によってRGBデータをCMYKlclmデータに対応づけているため、分版LUTでは上記色補正LUTと異なり参照点のRGBデータが画像機器で使用されるデータであるとしたときにその色とCMYKlclmデータが示す色とが必ずしも一致しない。
【0041】
尚、RGBデータおよびCMYKlclmデータの階調値域としては各画像機器で使用される階調値域(多くは0〜255)を採用する。また、RGBの各色はCMYの各色と補色関係にあることから、階調値によって色を厳密に規定しないのであればC=255−R,M=255−G,Y=255−Bとしてもよく、この意味で分版LUTにおけるRGBデータはCMYデータであっても良い。上述の特定の規則としては種々の規則を採用可能である。例えば、RGBデータをCMYデータとみたときにCMYの各階調値から等量の値aを減じるとともにC=M=Y=aをKの階調値bで代替させ、CおよびMの残りについて一定の比率でlcおよびlmで代替させることとする規則など、CMYの各階調値について等価と思われるCMYKlclm階調値で代替させる規則を採用可能である。
【0042】
さらに、CMYKlclmの各階調値は各色インクの使用量を特定するので、インクの使用制限、すなわち単位面積当たりに記録するインク重量を特定の重量以下に制限する条件およびインク発生制限、すなわち粒状感を与えにくくしたり光源による発色の差を低減したりするために特定のインクの使用量を制限する条件を加味してCMYKlclmの各階調値を決定する。また、CMYKlclmインクの組み合わせによって表現可能な色が多いほど画質向上の上で好ましいことから、色域をなるべく広くとるようにする。
【0043】
これらの規則は、最終的に作成される色補正LUTを参照して印刷を実行する際に非常に重要であり、これらの規則を加味していないと印刷に支障を来したり、高画質の印刷が実現できないなどの不都合が生じる。一方、これらの規則はCMYKlclmのインク量を調整する段階で考慮することができるが、分版LUTを一旦作成した後、色補正LUTを作成する際に再度CMYKlclmのインク量を調整するのは好ましくない。分版LUTに規定されたRGB値とCMYKlclm値との対応関係を調整するのであれば、調整時に上記規則に従うように調整する必要が生じてしまう。そこで、本発明においては、分版LUTにおいて考慮された上述のインク発生制限等を維持しながら後述するスムージング処理等を実施し、さらに処理後のRGBデータとCMYKlclmデータのそれぞれが示す色の厳密な対応関係を規定して色補正LUTを作成する。
【0044】
スムージングは、分版LUTに規定されたCMYKlclmデータの組み合わせによる色をLab色空間中の格子点としたときに、これらの格子点の配置を平滑化する処理である。すなわち、上述の分版LUTではCMYKlclmデータの組み合わせで定義された色をLab色空間中の格子点で表現したときの格子点配置の平滑程度が低い。格子点配置の平滑程度が低いという状態は、Lab色空間中で隣り合う格子点を結ぶ曲線であってLab色空間中に形成される色域の一方の境界から他方の境界に向けて引かれる曲線を考えたときに、この曲線が高次関数で記述される状態であるといえる。
【0045】
色補正LUTを作成する際には後述するように補間演算を利用する。また、色補正LUTを参照した色変換に際しても補間演算を利用する。補間演算には線形補間やスプライン補間等種々の手法があるが、いずれにしても補間対象の格子点の周囲に存在する格子点から当該補間対象の格子点の色を計算する。従って、格子点配置の平滑程度が低いと(あるいは上述の曲線が高次関数であるほど)、補間演算の精度が低くなる。
【0046】
このように、補間演算の精度が低いと最終的な作成対象である色補正LUTにて定義するsRGBデータとCMYKlclmデータとの対応を高精度に定義できず、印刷時の色変換精度が悪くなる。しかも、上記分版LUTに規定されたCMYKlclmデータが示す格子点配置の平滑程度は全体として均一ではなく、Lab色空間の位置によって差異があり、補間精度も色空間中で差異が生じ、局所的に色変換精度に差異が生じる。この状況において印刷を実行すると、特にグラデーションなど色が連続して変化するような画像を印刷した場合に色が滑らかに変化せず、高画質の印刷が実行できない。
【0047】
補間演算の精度を考えたときには上述のように格子点配置の平滑程度が全体として均一であることが好ましいが、その一方で、色空間の特定の部位においては他の部位より高精度の色変換が望まれたり、印刷装置で使用するインクの特性により格子点配置が空間の部位毎に不均等であることが好ましい場合もある。そこで、本発明においてはスムージング処理による格子点配置の平滑化と格子点配置を局所的に不均等にする処理とを同時に実行している。すなわち、基本的には色空間中で格子点配置が均等に平滑化されることが好ましいとしつつも、局所的にLUT作成者の意図に応じて格子点配置を不均等にする。
【0048】
上記分版LUTは上述のようにRGBデータとCMYKlclmデータとの対応関係を定義しており、RGBデータについては、RGB各色のピッチを一定にすることにより、その格子点が直交3次元空間のRGB色空間で図2の左上に示すような立方格子点を形成するようにしてある。これらの立方格子点はその配置に歪みが無く平滑程度が高いといえる。
【0049】
一方、CMYKlclmデータによる色域はLab色空間中で歪んでいる。すなわち、図2の右上にはLab色空間中の当該色域を示しており、同図に示すようにLab色空間中で色域はいびつな形をしている。また、上記分版LUTにおいては互いに隣り合う格子点の配置を考慮せず、また、上記各種規則に従ってCMYKlclmデータを決定している。従って、CMYKlclmデータが示す色をLab色空間中に配置すると、いびつな色域内に秩序無く格子点が存在するかのごとく格子点が配置される。すなわち、格子点配置の平滑程度が低い。
【0050】
そこで、本実施形態のスムージング処理においては、分版LUTに定義されたCMYKlclmデータが示す色の格子点配置を仮想的なLab色空間中で平滑化して格子点配置の平滑程度が高いLUT(本明細書ではこのLUTを色補正無しLUTと呼ぶ。この色補正無しLUTが上記請求項に言う対応関係定義データ作成用格子点に相当する。)を作成する。図2中央から下部では分版LUTから色補正LUTを作成する際の処理概要を示している。本実施形態では、分版LUTのRGB格子点位置を指定する位置情報(Pr,Pg,Pb)を変数として仮想的なLab色空間中の格子点をベクトルLp=f(Pr,Pg,Pb)で表現し、当該位置情報(Pr,Pg,Pb)を逐次更新する。
【0051】
すなわち、位置情報(Pr,Pg,Pb)を逐次更新する再帰演算により、調整対象の格子点位置が周りの格子点位置との関係で平滑になるまでベクトルLpが示す格子点位置を調整する。また、この平滑化を行う際に色補正無しLUT作成者の意図により、色空間の特定の部位においては格子点配置を完全に平滑化せずに、不均等な配置であるときに格子点配置が最適であるとしている。尚、本実施形態における位置情報は、0≦Pr≦R方向の格子点数−1,0≦Pg≦G方向の格子点数−1,0≦Pb≦B方向の格子点数−1であるが、この位置情報は格子点位置を指定することができれば良くRGBデータであっても良い。ただし、後述するように色補正LUTに規定されるRGBデータと分版LUTに規定されるRGBデータとは同値であるので、この場合であっても位置情報はCMYKlclmデータを更新するために使用され、分版LUTに規定されたRGBデータの値を更新するために使用される訳ではない。
【0052】
ここで、仮想的なLab色空間の格子点は、少数のカラーチャートの測色値から簡易的な演算によって取得した仮想RGB輝度をさらに所定の演算式によって変換して得られるLab値を成分としている。この演算は簡易的な演算であるが、演算式が物理的に無意味ということはなくこの格子点の配置を平滑化することで実際のLab色空間中でも充分に配置が平滑化した格子点が得られるようにしている。すなわち、上記簡易的な演算は後述するようにランベルト・ベールの法則(新編色彩科学ハンドブック第2版 東京大学出版会 222頁)をより簡略した演算であり、この演算によればCMYKlclmデータに対する実際のLab値を厳密ではないが近似した状態で算出することができる。そこで、本明細書ではこのLab値を仮想Lab値としている。
【0053】
この仮想的なLab色空間中で配置の平滑程度が高い格子点となるように位置情報(P’r,P’g,P’b)を決定することができれば、分版LUTを利用して位置情報(P’r,P’g,P’b)に対応するインク量を算出することで上述の色補正無しLUTを作成することができる。図2の拡大模式図ではスムージング前後のRGBデータと位置情報との関係を模式的に示している。この図において直線上の黒丸はRGB色空間中の格子点を示しており、各格子点におけるRGBデータはそれぞれR0,G0,B0およびR1,G1,B1である。
【0054】
RGBデータがR0,G0,B0となっている格子点がスムージング対象であるとき、その位置情報は(Pr,Pg,Pb)であり、スムージング後に白丸に相当する格子点位置を示す位置情報(P’r,P’g,P’b)が得られたとする。このとき、この位置情報で特定される白丸の格子点の周りにある格子点においては上述の分版規則を満たすCMYKlclmデータが対応づけられているので、これらのデータを利用して補間演算を実施すれば、白丸で示す格子点に対応するデータC1M1Y1K1lc1lm1を算出することができる。そこで、スムージング対象の格子点についてのRGBデータ(R0,G0,B0)に対して当該CMYKlclmデータ(C1M1Y1K1lc1lm1)を対応づけることによって色補正なしLUTとする。
【0055】
以上のスムージング処理により、分版LUTで定義されたCMYKlclmデータのみを参照しつつ最適化後の格子点位置に対応するCMYKlclmデータを算出し、Lab色空間内の格子点配置の平滑程度が高い色補正なしLUTを作成することができる。すなわち、スムージング処理は仮想Lab色空間で実施され、その変数は位置情報であり、この位置情報を更新する構成を採用することによって再帰演算実施時に上述の分版の規則を考慮することなく仮想Lab格子点を自由に変動することができる。しかし、格子点を最適化した後には、分版LUTに定義されたCMYKlclmデータを参照し、最適化後の位置情報に相当するCMYKlclmデータを算出する。
【0056】
従って、分版LUTで定義され、上述の分版の規則を満たしたCMYKlclmデータのみから最適化後のCMYKlclmデータを取得することができる。すなわち、ある色に相当するCMYKlclmの組み合わせが多数存在する中で、分版の規則を満たすCMYKlclmデータを参照して補間演算を行うことにより、補間後のCMYKlclmデータにおいても上述の分版の規則を満たすことを担保することができる。尚、この補間演算としていわゆる線形補間を行えば、分版の規則を満たすCMYKlclmデータから逸脱することがなく好ましいが、むろん、非線形の補間演算を行ったとしても、分版の規則をほぼ満たしていると言える。
【0057】
この結果、分版LUTの作成時に考慮した各種規則は維持したままスムージングを行うことができ、当該各種規則と平滑程度の高い格子点配置および局所的に不均等な格子点配置という3点を同時に満たす色補正無しLUTを作成することができる。この色補正無しLUTに規定された色に相当する格子点の配置はLab色空間中で平滑程度が高く、また、色補正無しLUT作成者の意図通りに配置されているので、この色補正無しLUTに規定された色を参照して高精度に補間演算を実行することができるとともに作成者の意図通りに色変換を実施可能な色補正無しLUTを作成することができる。
【0058】
以上のようにして作成した色補正無しLUTにおいては上記分版LUTを作成する際に考慮した各種の規則を満たし、かつ格子点配置が平滑になるような参照点を規定しているが、色補正無しLUTで規定するRGBデータを画像データの色成分値としたときの色(sRGBで規定される色)と対応するCMYKlclmデータで印刷を実行したときの色とでは色が一致するとは限らない。すなわち、この対応関係は上記分版LUTを作成する際に上述の規則に従ったのみであり、両者の色が一致するような担保はなされていない。
【0059】
そこで、これらの色を一致させた色補正LUTを作成するのであるが、表色系が異なると色の一致を判定することが困難であるため、本実施形態においてはLab色空間でsRGBデータが示す色とCMYKlclmデータが示す色とを対応づける。この表色系の変換時には補間演算を実施するが、上記色補正無しLUTは高精度に補間演算が実施できるようにスムージングしてあるので、当該高精度の補間演算により高精度に色変換可能な色補正LUTを作成することができる。
【0060】
色補正LUTの作成のためには、まず色補正無しLUTに規定された各RGBデータによって複数のパッチを印刷してカラーチャートを取得する。この色補正なしLUTではRGBデータとCMYKlclmデータとが対応づけられているので、このRGBデータによる印刷は色補正なしLUTに規定されたCMYKlclmデータによる印刷と等価である。カラーチャートが得られれば、測色機によってチャート上のパッチを逐次測色することによって色補正無しLUTに規定された各RGBデータで印刷されるパッチのLab値を取得することができる。一方、色補正LUTに登録する参照点としてのsRGBデータは予め決めておく(本実施形態ではこのsRGBデータをターゲットと呼ぶ)。sRGBデータは公知の式によって対応するLab値を取得することができるので、上記ターゲットに対応するLab値は容易に取得することができる。
【0061】
このsRGBデータが示す色が色補正無しLUTに規定されたRGB表色系でどのような値であるのか把握することができれば、色補正無しLUTを参照してそのRGBデータをCMYKlclmデータに変換することにより、sRGBデータとCMYKlclmデータとを対応づけて色補正LUTを作成することができる。そこで、上記色補正無しLUTに規定された各RGBデータで印刷されるパッチのLab値を参照して補間演算を実施し、上記sRGBデータが示す色のLab値に対応するRGBデータを取得する。
【0062】
そして、上記色補正無しLUTを参照してこのRGBデータに対応するCMYKlclmデータを取得する。このRGBデータは上記sRGBデータが示す色のLab値に対応しているので、このCMYKlclmデータが示す色はsRGBデータが示す色と一致する。従って、両者を対応づけたテーブルを作成することによって色補正LUTを作成することができる。尚、本実施形態においては、ターゲットのLab値と色補正無しLUTのRGBデータとを対応づける前にガマットマッピングを行っている。
【0063】
すなわち、sRGBデータによって表現可能な色の色域と色補正無しLUTに規定されたRGBデータによって表現可能な色の色域とではその大きさが異なるので、両者を一致するように色域圧縮を行っている。むろん、ここではガマットマッピング以外に種々の補正を行っても良い。例えば、人間は空や肌の色を実際の色より鮮やかに記憶している傾向にあるなど人間の記憶色と実際の色と異なるので、人間の記憶色に近くなるように色を補正しても良い。いずれにしても、測色およびsRGBの変換式によって色をLab値で考えることにより、色補正無しLUTに規定されたデータからsRGBデータとCMYKlclmデータとを対応づけた色補正LUTを作成することができる。
【0064】
尚、本発明におけるスムージングは機器非依存色空間内で格子点配置の平滑程度を向上することを目的としているが、配置の平滑程度を向上することのみに着目すれば、上記図1に示す色補正LUT作成の各段階でもスムージングを実施し得る。しかし、上述の色補正なしLUTを作成する際にスムージングを行い、その後にターゲットLab値と対応づけるための測色を行う構成にすることにより、ターゲットLab値と色補正なしLUTのRGBデータとを非常に高精度に一致させることができる。
【0065】
すなわち、分版LUTに規定されたRGBデータとCMYKlclmデータとに基づいてスムージング処理を行う前にカラーチャートを印刷して測色を行い、測色で得られるLab値等により機器非依存色空間内でスムージングをした場合であっても格子点配置の平滑程度は向上する。しかし、スムージング後のLab値と測色対象のCMYKlclmデータとでは色が異なっている。また、スムージング後のLab値に対応するCMYKlclmデータを補間によって算出しようとしても補間時に参照する周囲のLab値はスムージング前の格子点であるため、正確に補間演算をすることができない。
【0066】
従って、いずれにしてもスムージング後のLab値と分版LUTに規定されたCMYKlclmデータとで色がずれてしまう。この状況でスムージング後のLab値と上記ターゲットLab値とを対応づけて色補正LUTを作成したとしても、色補正LUTで定義するsRGBデータとCMYKlclmデータとの対応を高精度に定義できず、印刷時の色変換精度が悪くなる。一方、本発明においては、機器非依存色空間内でスムージングを行い、最適化された位置情報に対応するCMYKlclmデータを分版LUTに規定されたCMYKlclmデータに基づく補間演算で取得して色補正なしLUTを作成し、その後に色補正なしLUTのRGBデータ(あるいはCMYKlclmデータ)とターゲットLab値と対応づけるための測色を行う。
【0067】
従って、測色値に対応する色とCMYKlclmデータが示す色とがずれることはないし、測色値とターゲットLab値とを対応づけるために補間演算を行うとしても、補間時に参照する周囲のLab値はスムージング後の格子点であるため正確に補間演算をすることができる。この結果、機器非依存色空間内で格子点配置をスムージングして高精度に色変換可能な色補正LUTを作成することが可能になる。
【0068】
(2)印刷制御装置:
次に、本発明にかかるスムージング処理を利用して作成された色補正LUTを参照して印刷を行う印刷制御装置の構成を説明する。図3は当該印刷制御装置のハードウェア構成を示すブロック図であり、図4は印刷制御装置にて実行されるプログラムを示すブロック図である。本実施形態にかかる印刷制御装置は汎用的なPCによって形成され、図3に示す例のように各種周辺機器を接続し、印刷対象の画像を処理し、印刷を実行する。
【0069】
すなわち、PC12は、画像入力デバイスとして、スキャナ11aとデジタルスチルカメラ11bとビデオカメラ11cとを備えており、PC12に接続されている。それぞれの入力デバイスでの画像はドットマトリクス状の画素で構成され、RGBの三原色においてそれぞれ256階調表示することにより、約1670万色を表現可能となっている。また、本実施形態においてはこの画像データとしてsRGB表色系を採用し、上記色補正LUTにて色変換を実施できるようにしている。
【0070】
PC12には、外部補助記憶装置としてのフレキシブルディスクドライブ13aとハードディスク13bとCD−ROMドライブ13cとが接続されており、ハードディスク13bにはシステム関連の主要プログラムが記録されており、フレキシブルディスクやCD−ROMなどから適宜必要なプログラムなどを読み込み可能となっている。また、PC12を外部のネットワークなどに接続するための通信デバイスとしてモデム14aが接続されており、外部のネットワークに公衆通信回線を介して接続し、ソフトウェアやデータをダウンロードして導入可能となっている。この例ではモデム14aにて電話回線を介して外部にアクセスするようにしているが、LANアダプタを介してネットワークに対してアクセスする構成とすることも可能である。この他、PC12の操作用にキーボード15aやマウス15bも接続されている。
【0071】
さらに、画像出力デバイスとして、デイスフレイ17a、プリンタ17cおよびプロジェクタ17bを備えている。ディスプレイ17aについては水平方向に800画素と垂直方向に600画素の表示エリアを備えており、各画素毎に上述した1670万色の表示が可能となっている。この解像度は一例に過ぎず、640×480画素であったり、1024×768画素であるなど、適宜、変更可能である。また、プリンタ17cはインクジェットプリンタであり、CMYKlclmの六色の色インクを用いてメディアたる印刷用紙上にドットを付して画像を印刷可能となっている。
【0072】
一方、このような画像入力デバイスを使用して画像を入力しつつ、画像出力デバイスに表示あるいは出力するため、PC12内では所定のプログラムが実行されることになる。そのうち、基本プログラムとして稼働しているのはオペレーティングシステム(OS)12aであり、このオペレーティングシステム12aには、ディスプレイ17aでの表示を行わせるディスプレイドライバ12bと、プリンタ17cに印刷出力を行わせるプリンタドライバ12cと、プロジェクタ17bでの表示を行わせるプロジェクタドライバ12i(図示せず)が組み込まれている。
【0073】
これらのドライバ12b、12cおよび12iはディスプレイ17a、プリンタ17cおよびプロジェクタ17bの機種に依存しており、それぞれの機種に応じてオペレーティングシステム12aに対して追加変更可能である。また、機種に依存して標準処理以上の付加機能を実現することもできるようになっている。すなわち、オペレーティングシステム12aという標準システム上で共通化した処理体系を維持しつつ、許容される範囲内での各種の追加的処理を実現できる。
【0074】
このようなプログラムを実行する前提として、PC12は、CPU12e、RAM12f、ROM12gおよびI/O12hなどを備え、演算処理を実行するCPU12eがRAM12fを一時的なワークエリアや設定記憶領域として使用したりプログラム領域として使用しながら、RAM12fに書き込まれた基本プログラムを適宜実行し、I/O12hを介して接続されている外部機器及び内部機器などを制御している。
【0075】
ここで、基本プログラムとしてのオペレーティングシステム12a上でアプリケーション12dが実行される。アプリケーション12dの処理内容は様々であり、操作デバイスとしてのキーボード15aやマウス15bの操作を監視し、繰作された場合には各種の外部機器を適切に制御して対応する演算処理などを実行し、さらには、処理結果をディスプレイ17aに表示したり、プリンタ17cに出力したりすることになる。以上のコンピュータシステムでは、画像入カデバイスであるスキャナ11aなどで画像データを取得し、アプリケーション12dによる所定の画像処理を実行した後、画像出力デバイスとしてのディスプレイ17a、プリンタ17cやプロジェクタ17bに表示出力することが可能である。
【0076】
従って、本実施形態においては、印刷制御装置をコンピュータシステムとして実現しているが、必ずしもかかるコンピュータシステムを必要とするわけではなく、同様の画像データに対して本発明による画像処理が可能なシステムであればよい。例えば、デジタルスチルカメラ内に画像処理を行うモジュールを組み込み、画像処理された画像データを用いてプリンタに印字させるようなシステムであっても良い。
【0077】
また、コンピュータシステムを介することなく画像データを入力して印刷するプリンタにおいては、スキャナやデジタルスチルカメラまたはモデム等を介して入力される画像データに対して自動的に本発明による画像処理を行って印刷処理するように構成することも可能である。この他、カラーファクシミリ装置、カラーコピー装置、プロジェクタといった画像データを扱う各種の装置においても当然に適用可能である。むろん、複数のコンピュータによって分散処理を行って印刷を実行しても良い。
【0078】
次に、上記PC12を本発明にかかる印刷制御装置として機能させる場合の処理を説明する。PC12では、上記スキャナ11a、デジタルスチルカメラ11b、ビデオカメラ11cの入力画像やディスプレイ17a、プロジェクタ17bの出力画像を示す画像データを取得し、色補正LUTを参照した色変換を実行してプリンタ17cでの印刷を実行する。すなわち、画像入力デバイスと画像出力デバイスのように異なる画像機器にて同じ画像を扱う場合であって、各画像機器で使用する画像データにて各画素の色を異なった色空間で表現している場合には色補正LUTを参照して色変換を実施する。
【0079】
色補正LUTを利用した印刷を実行するため、本実施形態における上記PC12は、図4に示すように印刷時のデータ処理を行う上述のプリンタドライバ12cと色補正LUTを作成するLUT作成部20とを備えている。プリンタドライバ12cは画像データ取得モジュール31と色補正モジュール32とハーフトーン処理モジュール33と印刷処理モジュール34とを備えている。画像データ取得モジュール31は、印刷対象画像を示す画像データを取得するモジュールである。画像データ取得モジュール31は、当該取得した画像データの画素数と印刷に必要な画素数が整合しない場合に両者を整合させるための解像度変換を実行する。色補正モジュール32は、補間演算によって画像データの表色系を変換するモジュールであり、上記画像データ取得モジュール31から画像データを取得して表色系を変換する。
【0080】
すなわち、ハードディスク13bに保存されている色補正LUT41と色補正無しLUT42と分版LUT43とのいずれかを参照して任意のRGB色成分値の組み合わせに対応するCMYKlclm色成分値の組み合わせを算出する。アプリケーション12dが画像印刷指示を行ったときには色補正モジュール32が色補正LUT41を参照して色変換を行い、高精度に色変換を実行する。LUT作成部20において色補正無しLUT42や色補正LUT41を作成する段階においては、色補正モジュール32が分版LUT43や色補正無し42を参照して色変換を行う。従って、色補正モジュール32においては目的に応じて適宜LUTを選択して色変換を行い、色変換後のデータによって印刷を行うことができる。
【0081】
色補正モジュール32が色変換を行ってCMYKlclmデータを生成すると、当該CMYKlclmデータが上記ハーフトーン処理モジュール33に受け渡される。ハーフトーン処理モジュール33は、各ドットのCMYKlclm階調値を変換してインク滴の記録密度で表現するためのハーフトーン処理を行うモジュールであり、変換後の記録密度でインクを付着させるためのヘッド駆動データを生成する。印刷処理モジュール34はかかるヘッド駆動データを受け取って、プリンタ17cで使用される順番に並べ替える。
【0082】
すなわち、プリンタ17cにはインク吐出デバイスとして図示しない吐出ノズル列が搭載されており、当該ノズル列では副走査方向に複数の吐出ノズルが並設されるため、副走査方向に数ドット分離れたデータが同時に使用される。そこで、主走査方向に並ぶデータのうち同時に使用されるべきものがプリンタ17cにて同時にバッファリングされるように順番に並べ替えるラスタライズを行う。印刷処理モジュール34は、このラスタライズの後、画像の解像度などの所定の情報を付加して印刷データを生成し、プリンタ17cに出力する。プリンタ17cにおいては当該印刷データに基づいて上記画像データが示す画像を印刷する。
【0083】
本実施形態においては、印刷制御装置たるPC12内にLUT作成部20が備えられており、LUT作成部20は印刷前に色補正LUT41を作成する。LUT作成部20はターゲットLab値決定モジュール21と色補正LUT生成モジュール22とスムージング処理モジュール23とを備えている。また、PC12には図示しないインタフェースを介して測色機50が接続されており、当該測色機50においてプリンタ17cにて印刷したカラーチャート上の各パッチを測色し、そのLab値や濃度値等の測色値をPC12に対して供給することができる。
【0084】
LUT作成部20によって色補正LUT41を作成するために、分版LUT43は予め作成されてハードディスク13bに記録されており、色補正無しLUT42は色補正LUT41の作成時に作成されてハードディスク13bに記録される。すなわち、スムージング処理モジュール23は分版LUT43を参照し、また、測色機50から所定のカラーチャートの測色値を取得して以下で詳述する処理によって色補正無しLUT42を作成する。
【0085】
ターゲットLab値決定モジュール21は上記ターゲットのsRGBデータを決定するとともに予め決められた演算式によってその色彩値(Lab値)を算出するモジュールである。また、色補正LUT生成モジュール22は上記図1に示す処理によって色補正無しLUT42から色補正LUT41を作成するための処理を行うモジュールである。まず色補正LUT生成モジュール22は、上記色補正無しLUTに規定された各RGBデータにてパッチの画像データを作成して色補正モジュール32に出力する。
【0086】
このとき、色補正モジュール32は、色補正無しLUT42を参照して各RGBデータに対応したCMYKlclmデータを取得し、当該CMYKlclmデータをハーフトーン処理モジュール33に受け渡す。ハーフトーン処理モジュール33および印刷処理モジュール34はこのCMYKlclmデータに基づいてパッチを印刷する。この結果、色補正無しLUT42に規定された各RGBデータによって印刷したカラーチャートが印刷される。このカラーチャートは測色機50によって測色され、そのLab値は色補正LUT生成モジュール22に入力される。
【0087】
また、色補正LUT生成モジュール22は、上記ターゲットLab値決定モジュール21が決定したsRGBデータの色彩値を取得する。そして、ガマットマッピング等の処理を行うとともに補間処理を行ってターゲットのsRGB値に対応するRGBデータ(色補正無しLUT42で使用するRGB表色系でのRGBデータ)を算出する。さらに、得られたRGBデータを色補正無しLUT42で変換することによって対応するCMYKlclmデータを取得し、このCMYKlclmデータとsRGBデータとを対応づけることによって色補正LUT41を作成してハードディスク13bに記録する。
【0088】
(3)スムージング処理:
次に、上述のスムージング処理を詳細に説明する。図5は、スムージング処理モジュール23の構成を示すブロック図であり、図6はスムージング処理モジュール23にて実行する処理を示すフローチャートである。スムージング処理モジュール23は、中間RGB輝度変換処理部23aと最適化対象抽出部23bと仮想Lab値算出部23cと演算対象抽出部23dと評価関数算出部23eと位置情報更新部23fとインク量算出部23gと色補正無しLUT生成部23hとを備えている。
【0089】
中間RGB輝度変換処理部23aは、上記測色値を参照し、簡易的な演算によって中間RGB輝度に変換するモジュールである。当該中間RGB輝度変換処理部23aは、ステップS100にて測色値45を中間RGB輝度に変換し、変換結果を中間RGB輝度値25aとしてRAM12fに記録する。より具体的には、スムージング処理モジュール23がまずCMYKlclmの各インク色について色毎に256階調のうち16〜32個程度の階調値を抜き出すとともに当該抜き出した階調値について各色単色でパッチを印刷させる画像データを生成し、ハーフトーン処理モジュール33に出力する。
【0090】
この結果、各色単色で16〜32個のパッチが印刷される。測色機50ではこのパッチおよびインク無記録の紙白を測色し、各色についてCMYの濃度値を取得する。ここで、各インク色の階調変化に対してCMY濃度値が単調増加あるいは単調減少でない場合には後述する最適化処理において最適解に収束せず、極値解に落ち込むことがあるので、CMY濃度値が各色で単調増加あるいは単調減少になるようにスムージングしておく。
【0091】
中間RGB輝度変換処理部23aでは、このCMY濃度値を以下の式(1)に代入して各インク色の各パッチ毎に中間RGB輝度を算出する。
【数1】
尚、式(1)は濃度を輝度に変換する一般的な式であるが、本実施形態ではCMY濃度を色成分毎の独立変数とし、中間RGB輝度を求めるものとした。ここで、Tr,Tg,Tbを中間RGB輝度と呼んでおり、各インク単色の各パッチにおけるR輝度成分,G輝度成分,B輝度成分を示している。また、Dc,Dm,DyはC濃度成分,M濃度成分,Y濃度成分を示しており、iはインク色を区別するための符号である。
【0092】
以上の演算によれば、各インク単色のインク階調値で印刷を行った場合の中間RGB輝度が得られることになるので、この中間RGB輝度と各インク単色のインク階調値との対応関係を参照すれば、補間演算によってインク単色の任意の階調値に対応した中間RGB輝度を算出することができる。以上の処理によって、中間RGB輝度が取得され、この値が中間RGB輝度値23aとしてRAM12fに記録される。
【0093】
本実施形態においては、上述のように仮想Lab値を算出し、仮想的なLab色空間内で分版LUTの格子点位置情報を変数として仮想Lab値を変更する。そこで、仮想Lab値算出部23cは、中間RGB輝度から分版LUT43のCMYKlclmデータに対応したRGB輝度を算出し、このRGB輝度からLab値を算出し、仮想Lab値25cとしてRAM12fに記録する。尚、このRGB輝度は中間RGB輝度から簡易的な式によって算出されるので、本明細書ではこのRGB輝度を仮想RGB輝度と呼ぶ。
【0094】
具体的には、まず、ステップS105において最適化対象抽出部23bが分版LUT43に規定されたCMYKlclmデータをインク量データ25bとしてRAM12fに記録する。ステップS110において、仮想Lab値算出部23cは、当該インク量データ25bについて、以下の式(2)によって各インク色を組み合わせた状態での色、すなわちCMYKlclmデータが示す色に対応した仮想RGB輝度を算出する。
【数2】
以上のようにして、仮想RGB輝度が算出されると、算出された仮想RGB輝度を3×3のマトリクスによってXYZ表色系での値に変換し、このXYZ表色系の値をさらにLab表色系での値に変換する。変換された仮想Lab値が上記仮想Lab値25cであり、この段階では分版LUT43に規定されたCMYKlclmデータに対応する仮想Lab値がRAM12fに記録されていることになる。
【0095】
以上のように、本実施形態においては各インク毎16〜32個程度という少数の測色パッチから簡易的な演算によって仮想RGB輝度および対応する仮想Lab値を算出している。ここで、算出されるデータ数は分版LUT43に規定された総ての参照点と同数であるが、測色対象は16〜32個×インク数+紙白であって参照点数より非常に少ない数であり、総てを測色する場合と比較して非常に高速に処理を進めることができる。
【0096】
また、本実施形態におけるスムージング処理の後に上述の色補正LUT生成モジュール22が機器非依存色と色補正なしLUT42のRGB(ひいてはCMYKlclmデータ)との色を一致させる処理を行うので、ここでのスムージング処理では格子点が示す色が厳密に正しいことが重要ではない。すなわち、格子点配置の平滑程度が重要であり、格子点配置を平滑化するに当たり、仮想Lab値が実際のLab値と全く異なっていてはスムージングの意味がないが、本実施形態において上記式(1)(2)はランベルト・ベールの法則を簡略化したものであり、仮想Lab値が実際のLab値と全く異なることはない。本願出願人の実験によれば、本実施形態のような簡易的な演算で格子点配置を平滑化する効果は充分に発揮され、高精度に色変換可能な色補正LUTが作成できることが分かっている。
【0097】
尚、上述の演算は一例であり、実際のLab値に近く、スムージングの効果が充分に発揮される限りにおいて上記仮想Lab値は種々の演算によって算出することができるし、作業の手間を考えなければ実際に測色してもよい。また、16〜32個の階調を選び出すのも一例であり、それより少なくても多くても良いが、16〜32個であれば概ね良好な結果を得ることができる。さらに、測色パッチの階調の選び方も様々であり、均等に選んでも良いし、階調値が大きくなると濃度の変化度合が小さくなるインク特性を考慮して小さな階調値を多く選んでも良い。むろん、色毎に階調の選び方を変えても良い。測色で得られるCMY濃度階調を参照し、インク量に対応したCMY濃度を補間によって算出した後、中間RGB輝度を取得しても良い。
【0098】
本実施形態においては、以上の中間RGB輝度値25aとインク量データ25bと仮想Lab値25cとを利用して分版LUTのRGBデータにより再帰的に各格子点毎にスムージングを行う。最適化対象抽出部23bは、ステップS115においてインク量データ25bとして記録された複数のデータの中からスムージング処理が行われていないCMYKlclmデータを抽出して最適化対象として抽出する。仮想Lab値算出部23cは、ステップS120にてこのCMYKlclmデータに対応する仮想Lab値を算出する。すなわち、中間RGB輝度値25aとインク量データ25bから最適化対象のCMYKlclmデータに対応する仮想Lab値を算出する。
【0099】
スムージングは当該最適化対象のCMYKlclmデータに対応する仮想Lab値とその周辺の格子点に相当する仮想Lab値とを利用して行われる。そこで、演算対象抽出部23dは、ステップS125にて上記最適化対象のLab格子点の周囲に存在するとともに当該格子点に隣接する格子点に相当する仮想Lab値を抽出する。尚、ここで抽出される仮想Lab値は、最適化対象の仮想Lab格子点の空間的位置によって異なっており、詳細は後述する。
【0100】
評価関数算出部23eは、ステップS127,S130にて上記抽出した最適化対象の格子点およびその隣接格子点を利用して評価関数を算出する。評価関数は、最適化対象の仮想Lab格子点の配置が平滑化されるほど値が小さくなる関数であり、その変数は分版LUT43のRGB格子点位置を特定する上記位置情報である。すなわち、位置情報を調整すれば最適化対象の仮想Lab値が変動し、最適化した位置情報(評価関数を極小化した位置情報)が得られる。また、評価関数は最適化対象の仮想Lab格子点の配置が平滑化されるほど値が小さくなる性質を有する関数であるが、局所的に格子点配置が不均等になることを許容するべく、色空間の部位によっては最適化対象の格子点とその隣接格子点との距離が一定の比率に近づくほど値が小さくなるように評価関数算出部23eが評価関数に対して重み係数を付加する。
【0101】
このため、評価関数算出部23eは距離比算出部23e1を備えており、ステップS127にて上記最適化対象の格子点とその隣接格子点とに対応する分版LUTのRGB格子点の距離を算出するとともにその比を算出して上記重み係数とする。尚、格子点配置を不均等にする色空間の部位は色補正無しLUT42を作成する作成者が予め任意に決めることができる。評価関数算出部23eは、ステップS130にて上記色空間の部位毎に適宜重み係数を付加し、または付加せずに評価関数を算出する。また、評価関数も最適化対象の仮想Lab格子点の空間的位置によってその関数形が異なっており、当該仮想Lab格子点の空間的位置によって適宜関数形を選択して評価関数を作成する。この詳細も後述する。
【0102】
さらに、評価関数算出部23eは、上記ステップS130にて算出した評価関数の値を算出し、ステップS135で所定の閾値以下になっているか否かを判別する。すなわち、評価関数の値が所定の閾値以下になっているときに仮想Lab格子点の位置が最適化(充分に平滑化)されたと判別する。ステップS135で仮想Lab格子点の位置が最適化されていないと判別されたとき、位置情報更新部23fはステップS140にて位置情報を上記最適化された位置情報に更新し、位置情報25dとしてRAM12fに記録する。
【0103】
位置情報を更新したら、この位置情報で特定されるRGB格子点に対応したインク量によって最適化対象の仮想Lab値が最適化されているか否かを判断するため、再度評価関数の算出を行う。すなわち、インク量算出部23gは、ステップS145にて上記位置情報25dを参照し、上記更新された位置情報に相当するインク量(CMYKlclmデータ)を算出する。このとき、上記インク量データ25bを参照し、補間処理によって上記更新された位置情報に相当するインク量を算出する。
【0104】
このように、更新された位置情報に相当するインク量を算出することができれば、このインク量から更新後の仮想Lab値を算出することができるので、ステップS120以降の処理を繰り返すことによって評価関数の値を上記所定の閾値以下に収束させることができ、仮想Lab格子点の位置を最適化することができる。すなわち、評価関数によって位置情報を最適化(評価関数を極小化)し、これにより仮想Lab格子点が最適化(格子点配置の平滑化)されるまでステップS120以降の処理を繰り返すことによって格子点配置を最適な位置に収束させる。尚、最適化処理の具体的なアルゴリズムとしては準ニュートン法や共益勾配法等種々のアルゴリズムを採用することができる。
【0105】
一方、上記ステップS135にて仮想Lab格子点の位置が最適化されたと判別されたときには、ステップS150において当該最適化された時点での仮想Lab値に対応するインク量にて上記インク量データ25bを上書きし、ステップS155において上記インク量データ25bの総てについて最適化が終了したか否かを判別する。そして、ステップS155において上記インク量データ25bの総てについて最適化が終了したと判別されるまでステップS115以降の処理を繰り返す。
【0106】
さらに、ステップS160では予め決められた回数の補正が実行されたか否か判別し、所定回数の補正が実行されたと判別されるまでステップS115以降の処理を繰り返す。すなわち、所定回数の補正を実行することによって最適化処理の結果が真の解になることを担保している。むろん、ステップS160においては全体として充分に最適化されていることが担保されればよいので、総てのインク量について上記評価関数の値やその平均値が所定の閾値以下になっているか否かを判別しても良い。また、評価関数の値の平均値が(n−1)回目の補正とn回目の補正と略一定の場合に充分に最適化されたとしても良く種々の構成を採用可能である。
【0107】
以上のようにして充分に格子点配置が平滑化された後には、上記インク量データ25bを分版LUT43に規定されたRGBデータに対応づけることにより、当該RGBデータとLab色空間中で平滑化された色を示すインク量データとを対応づけることができる。そこで、色補正無しLUT生成部23hはステップS165で上記分版LUT43に規定されたCMYKlclmデータを上記インク量データ25bで上書きすることによって、格子点配置が平滑化された色補正無しLUT42を生成し、ハードディスク13bに記録する。
【0108】
このように、本実施形態においては、インク量すなわちCMYKlclmデータの各色成分を直接的に調整している訳ではない。CMYKlclmデータを調整するとすれば、上記分版LUT43を作成する際に考慮した規則を満たすように調整することが必要になるが、この規則を考慮するとCMYKlclmデータを調整する際の任意性が少なく、充分に格子点配置を平滑化されることが困難になることがある。しかし、本実施形態では、CMYKlclmデータを直接的に調整するのではなく、位置情報を変動させ、仮想Lab格子点を調整する。
【0109】
従って、この調整の際に上記分版LUT43作成時の規則を考慮する必要がなく、仮想Lab格子点を移動させる際の自由度が大きい。この結果、仮想Lab格子点の配置を容易に最適化することができる。一方、ステップS145において、上記更新された位置情報25dでの格子点に相当するインク量データは分版LUTに規定されたインク量あるいはスムージング後のインク量を参照することによって求めているので、分版LUTにおけるインク量の組み合わせを逸脱することなく、上記分版LUT43作成時の規則を反映している。従って、作成される色補正無しLUT42は分版LUT43作成時の規則を満たすとともに格子点配置も平滑化されている。この平滑化の際には、上述のように色空間の部位によっては格子点配置を不均等にすることができるので、均等な格子点配置が最も平滑化されていると画一的に判断することがない。
【0110】
(4)評価関数による最適化:
次に、ステップS120〜S140における評価関数による最適化処理について詳述する。図7は、Lab色空間中における上記プリンタ17cの色域を示す模式図である。プリンタ17cの色域は同図に示すようにLab色空間中でいびつな形をしている。また、上記仮想Lab値は上述のように実際のLab値に近いので、仮想Lab値が形成する色域も図7に示す立体と同様の形をしている。一方、画像の色を上記分版LUTのRGBデータの組み合わせで表現したとき、RGBの各色成分を直交3次元空間の軸として形成したRGB色空間内の色域は図2の左上に示すように立方体となる。
【0111】
上記Lab色空間中の色域はいびつな形であるが、その色域境界はRGB色空間中の色域境界と容易に対応づけることができる。すなわち、RGB色空間中の色域境界は立方体の外郭を形成する12本の稜線および6個の外面であるが、Lab色空間中の色域においても色域の境界は12本の稜線および6個の外面にて構成される。より具体的には、RGB色空間中の原点からB軸上の稜線に沿ってB成分のみを有限の値としてR,G成分を最小値に固定すると色がKからBに変化するが、これらの色に対応するLab色空間中の色は図7にてE1と示した稜線上にある。
【0112】
同様に、図2の左上の立方体で一番上の面においてその頂点の色はそれぞれBWCM(Wは白)であり、この面上の色はB成分のみを最大値に固定し、他の成分を任意に変化させることによって表現することができ、この面上の色は図7に示す色域ではE2と示した面上にある。従って、上記分版LUTのRGBデータのいずれか1つでも最大値あるいは最小値であればその色は色域境界上にあるといえる。この色域境界上の色について上記最適化の際に仮想Lab色空間内を自由に移動可能であるとすれば、充分に大きな色域の大きさを確保できなくなるおそれがある。そこで、本実施形態においては色域の大きさを維持するために、色域境界に形成される12本の稜線と6個の外面と色域内部とで関数形が異なる評価関数を取得する。
【0113】
さらに、色域内の総てにおいて均等に格子点配置を平滑化すると、色域の全体において補間精度を一定の高精度にすることができるが、分版LUT43に規定されたRGBデータによってRGB空間中に形成する格子点が元々不均等であったり、意図的に仮想Lab色空間中の格子点間隔を不均等にしたい場合に備えて色空間の部位毎に特定の重みを付加して評価関数を算出する。かかる構成により、インク特性に応じて格子点間隔を不均等にする場合、すなわち、インク記録率が大きくなると濃度の変化度合が小さくなるというインク特性を考慮して低インク記録率で格子点を多くする場合であっても、この特性を加味しながら格子点配置を平滑化することができる。さらに、重みを設けた評価関数を設計することで仮想Lab色空間中で局所的に格子点の密度を多くし、局所的に色変換精度を高くすると同時に格子点配置を平滑化することもできる。
【0114】
(4−1)評価関数E1:
図8は、Lab色空間中で色域境界に形成される稜線上の格子点を最適化するための評価関数を説明する説明図である。同図において破線で示す曲線は色域境界に形成される稜線を示している。また、最適化対象の格子点は黒丸で示し、その周囲の格子点は白丸で示している。色域の大きさを維持するためには黒丸で示す最適化対象の格子点が破線で示す稜線上に存在する必要がある。そこで、本実施形態では最適化対象抽出部23bが最適化対象として図8に示すように破線の稜線上に存在する格子点を抽出したときに、演算対象抽出部23dでは当該最適化対象の格子点に隣接し、かつ破線で示す稜線上に存在する格子点を演算対象の格子点として抽出する。
【0115】
同図においては、最適化対象の格子点をベクトルLpとして示しており、演算対象抽出部23dにて抽出される格子点をベクトルLa1,ベクトルLa2として示している。ここで、ベクトルLpは以下に示す式(3)によって算出され、上記位置情報(Pr,Pg,Pb)を変数として表現される。本実施形態において位置情報は、仮想Lab値を一義的に特定できる変数であって分版LUTのRGB格子点位置を特定可能な値であればよい。
【数3】
また、同式内のfは位置情報(Pr,Pg,Pb)から、仮想Labベクトルを求める関数であり、位置情報(Pr,Pg,Pb)に対応するインク量を算出する補間演算と当該算出後のインク量から上記式(2)および上記マトリクス等によってXYZ表色系を経由して仮想Lab値を演算する際の式を関数fとしている。
【0116】
評価関数はこのベクトルLpおよびベクトルLa1,ベクトルLa2を利用し、以下に示す式(4)によって算出する。
【数4】
ここで、W1,W2は重み係数である。
【0117】
すなわち、同式(4)においてW1>W2であるならば、ベクトルLa1−ベクトルLpの大きさがベクトルLa2−ベクトルLpの大きさより小さい状態で評価関数E1の値を小さくすることができ、最適化対象の格子点が一方の格子点に近い状態が最適状態であるとすることができる。また、格子点配置を不均等間隔にする場合に例えば式(5)によって重み係数を決定することができる。
【数5】
【0118】
ここで、D1とD2はRGB色空間中の距離であり、D1は仮想LabベクトルLa1を与える分版LUTのRGB格子点からベクトルLpを与える分版LUTのRGB格子点までの距離であり、D2は仮想LabベクトルLa2を与える分版LUTのRGB格子点からベクトルLpを与える分版LUTのRGB格子点までの距離である。むろん、この式(5)は一例であり、他にも重みを設けた評価関数を設計することで、分版LUTのRGBデータが形成する格子点の間隔によって、仮想Lab色空間中の格子点間隔を制御したり、特定の意図に従って、仮想Lab色空間中で局部的に格子点の密度を多くすることが可能となる。
【0119】
尚、重み係数としては種々の態様を採用可能であり、格子点配置を均等にしたい場合には、むろんW1=W2である。この場合、最適化対象の格子点とその両側で隣接する格子点との距離がそれぞれ等しく、向きが正反対であるときに値が最小になり、これらの距離で差異が大きく、向きが正反対からずれるほど関数の値が大きくなる。すなわち、格子点配置を均等にすべき部位に存在する最適化対象に対しての評価関数ではW1=W2として原則的には格子点配置を均等にすることによって平滑化しつつも、局所的に不均等にしたい部位ではW1とW2のいずれかを大きくする。
【0120】
式(4)に示すE1を極小化すると、格子点配置を最適化することができる。W1=W2の場合には、最適化対象の格子点から両隣の隣接格子点までの距離が等しくなるほどE1が小さくなるので、図8の右側に示すようにベクトルLpの格子点位置を最適化したベクトルL’pを取得することができる。W1とW2のいずれかが大きい場合には、最適化対象の格子点はいずれかの隣接格子点に近い状態で最適化される。
【0121】
また、ベクトルLp,ベクトルLa1,ベクトルLa2は位置情報(Pr,Pg,Pb)によって表現されるが、評価関数E1においてはベクトルLa1,ベクトルLa2を与える位置情報は固定であり、ベクトルLpを与える位置情報(Pr,Pg,Pb)であって、そのうちいずれか一つのみを可変にするとともに他の二つを最小値あるいは最大値に固定している。例えば、図8に示す破線の稜線上の色はBとKの間に存在し、この色に相当するRGB格子点を特定する位置情報Pr,Pgは最小値であるとともに位置情報Pbは任意の値である。そこで、Lab色空間内の格子点をこの稜線上で移動させるためには、位置情報Pr,Pgを最小値に固定し、Pbを可変にすればよい。
【0122】
色域境界の他の稜線についても同様であり、最適化対象の格子点が色域境界上でKからRの稜線上に存在するときには、位置情報Pg,Pbを最小値に固定し、Prを可変にする。最適化対象の格子点が色域境界上でKからGの稜線上に存在するときには、位置情報Pr,Pbを最小値に固定し、Pgを可変にする。さらに、最適化対象の格子点が色域境界上でWからCの稜線上に存在するときには位置情報Pg,Pbを最大値に固定してPrを可変とし、最適化対象の格子点が色域境界上でWからMの稜線上に存在するときには位置情報Pr,Pbを最大値に固定してPgを可変とし、最適化対象の格子点が色域境界上でWからYの稜線上に存在するときには位置情報Pr,Pgを最大値に固定してPbを可変にする。
【0123】
さらに、最適化対象の格子点が色域境界上でMからRの稜線上に存在するときには位置情報Prを最大値,Pgを最小値に固定してPbを可変とし、最適化対象の格子点が色域境界上でMからBの稜線上に存在するときには位置情報Pbを最大値,Pgを最小値に固定してPrを可変とし、最適化対象の格子点が色域境界上でCからGの稜線上に存在するときには位置情報Pgを最大値,Prを最小値に固定してPbを可変とし、最適化対象の格子点が色域境界上でCからBの稜線上に存在するときには位置情報Pbを最大値,Prを最小値に固定してPgを可変とする。
【0124】
最適化対象の格子点が色域境界上でYからRの稜線上に存在するときには位置情報Prを最大値,Pbを最小値に固定してPgを可変とし、最適化対象の格子点が色域境界上でYからGの稜線上に存在するときには位置情報Pgを最大値,Pbを最小値に固定してPrを可変とする。以上のように、最適化対象の格子点の位置によって変動させる位置情報を適宜変化させて評価関数を極小化すると、その時点での評価関数E1を極小化させる位置情報が算出され、この処理を繰り返すことによって格子点位置を最適化したベクトルL’pを取得することができる。
【0125】
(4−2)評価関数E2:
図9は、Lab色空間中で色域の境界に形成される外面上の格子点を最適化するための評価関数を説明する説明図である。同図において破線は格子点同士を結ぶ直線である。これらの格子点は色域境界の外面上に存在するので、紙面奥側あるいは手前側の一方のみに他の格子点が存在することになる。また、最適化対象の格子点は黒丸で示し、その周囲の格子点は白丸で示している。色域の大きさを維持するためには白丸および黒丸で示す格子点が存在する外面に対して最適化対象の格子点が垂直方向に大きく動くことは許されない。そこで、本実施形態では最適化対象抽出部23bが最適化対象として図9に黒丸で示す色域境界の外面上に存在する格子点を抽出したときに、演算対象抽出部23dでは当該最適化対象の格子点に対して4方で隣接し、かつ色域境界の外面上に存在する4個の格子点を演算対象の格子点として抽出する。
【0126】
同図においても最適化対象の格子点をベクトルLpとして示しており、演算対象抽出部23dにて抽出される格子点をベクトルLa1〜ベクトルLa4として示している。ここで、ベクトルLpは上記式(3)によって算出され、上記位置情報(Pr,Pg,Pb)を変数として表現される。色域境界の外面上に存在する格子点を最適化するための評価関数は、ベクトルLpおよびベクトルLa1〜ベクトルLa4を利用し、以下に示す式(6)で表現される。
【数6】
ここで、W1〜W4は重み係数である。
【0127】
すなわち、同式(6)においてW1とW2のいずれかが大きいならば、最適化対象の格子点がベクトルLa1とベクトルLa2のいずれか一方の先端の格子点に近い状態が最適状態であるとすることができる。また、W3とW4のいずれかが大きいならば、最適化対象の格子点がベクトルLa3とベクトルLa4のいずれか一方の先端の格子点に近い状態が最適状態であるとすることができる。尚、ここで、W1とW2は上記式(5)のようにして係数値を決定することができるし、W3とW4は上記(5)と同様に、ベクトルLa3を与える分版LUTのRGB格子点からベクトルLpを与える分版LUTのRGB格子点までの距離およびベクトルLa4を与える分版LUTのRGB格子点からベクトルLpを与える中間RGB輝度までの距離の比等によって算出することができる。
【0128】
隣接する格子点を結ぶ線(図9ではベクトルLa1〜ベクトルLp〜ベクトルLa2が示す格子点を通る線等)が直線に近く、また格子点が均等に配置されるほど格子点配置が平滑化される傾向にあるので、W1=W2=W3=W4とすれば、式(6)に示すE2を極小化することによって図9の右側に示すようにベクトルLpの格子点位置を均等に近づけて最適化したベクトルL’pを取得することができる。W1とW2のいずれかが大きい場合、あるいはW3とW4のいずれかが大きい場合には、最適化対象の格子点はいずれかの隣接格子点に近い状態で最適化される。
【0129】
また、ベクトルLp,ベクトルLa1〜ベクトルLa4は位置情報(Pr,Pg,Pb)によって表現されるが、評価関数E2においてはベクトルLpを与える位置情報(Pr,Pg,Pb)であって、そのうちいずれか二つのみを可変にするとともに他の一つを最小値あるいは最大値に固定している。例えば、図7に斜線で示す色域境界の外面WMBC上の色はB成分が最大でR成分とG成分を任意に変更した場合の色であり、この色に相当するRGB格子点の位置情報Pbは最大値であるとともに位置情報Pr,Pgは任意の値である。そこで、Lab色空間内の格子点を外面WMBC上で移動させるためには、位置情報Pbを最大値に固定し、Pr,Pgを可変にすればよい。
【0130】
色域境界の他の外面についても同様であり、色域境界の外面MRKB上の色はG成分が最小でR成分とB成分を任意に変更した場合の色であり、位置情報Pgを最小値に固定し、Pr,Pbを可変にすれば上記外面MRKB上で最適化対象の格子点を移動させることができる。色域境界の外面RYGK上の色はB成分が最小でR成分とG成分を任意に変更した場合の色であり、位置情報Pbを最小値に固定し、Pr,Pgを可変にすれば上記外面RYGK上で最適化対象の格子点を移動させることができる。
【0131】
さらに、色域境界の外面YWCG上の色はG成分が最大でR成分とB成分を任意に変更した場合の色であり、位置情報Pgを最大値に固定し、Pr,Pbを可変にすれば上記外面YWCG上で最適化対象の格子点を移動させることができる。色域境界の外面WYRM上の色はR成分が最大でG成分とB成分を任意に変更した場合の色であり、位置情報Prを最大値に固定し、Pg,Pbを可変にすれば上記外面WYRM上で最適化対象の格子点を移動させることができる。
【0132】
色域境界の外面CGKB上の色はR成分が最小でG成分とB成分を任意に変更した場合の色であり、位置情報Prを最小値に固定し、Pg,Pbを可変にすれば上記外面CGKB上で最適化対象の格子点を移動させることができる。以上のように、最適化対象の格子点の位置によって変動させる位置情報を選択して評価関数E2を極小化すると、その時点での評価関数を極小化させる位置情報が算出され、この処理を繰り返すことによって格子点位置を最適化したベクトルL’pを取得することができる。
【0133】
(4−3)評価関数E3:
図10は、Lab色空間中で色域境界以外の内部に存在する格子点を最適化するための評価関数を説明する説明図である。同図における破線は色域を2方向に切断した場合に形成される面上に存在する複数個の格子点同士を結ぶ直線である。また、最適化対象の格子点は黒丸で示し、その周囲の格子点は白丸で示している。本実施形態にて色域内部の格子点については色域の大きさを維持するための条件を課することなく移動させ、重み係数によって格子点の均等/不均等を制御する。そこで、本実施形態では最適化対象抽出部23bが最適化対象として図10に黒丸で示す色域の内部に存在する格子点を抽出したときに、演算対象抽出部23dでは当該最適化対象の格子点に対して6方で隣接する6個の格子点を演算対象の格子点として抽出する。
【0134】
同図においても最適化対象の格子点をベクトルLpとして示しており、演算対象抽出部23dにて抽出される格子点をベクトルLa1〜ベクトルLa6として示している。ここで、ベクトルLpは上記式(3)によって算出され、上記位置情報(Pr,Pg,Pb)を変数として表現される。色域の内部に存在する格子点を最適化するための評価関数は、ベクトルLpおよびベクトルLa1〜ベクトルLa6を利用し、以下に示す式(7)で表現される。
【数7】
ここで、W1〜W6は重み係数である。
【0135】
すなわち、同式(7)においてW1とW2のいずれかが大きいならば、最適化対象の格子点がベクトルLa1とベクトルLa2のいずれか一方の先端の格子点に近い状態が最適状態であるとすることができる。また、W3とW4のいずれかが大きいならば、最適化対象の格子点がベクトルLa3とベクトルLa4のいずれか一方の先端の格子点に近い状態が最適状態であるとすることができ、W5とW6のいずれかが大きいならば、最適化対象の格子点がベクトルLa5とベクトルLa6のいずれか一方の先端の格子点に近い状態が最適状態であるとすることができる。
【0136】
尚、ここで、W1〜W4は上記式(5)のようにして係数値を決定することができるし、W5とW6も同様に、ベクトルLa5を与える分版LUTのRGB格子点からベクトルLpを与える分版LUTのRGB格子点までの距離およびベクトルLa6を与える分版LUTのRGB格子点からベクトルLpを与える分版LUTのRGB格子点までの距離の比等によって算出することができる。
【0137】
隣接する格子点を結ぶ線(図10ではベクトルLa1〜ベクトルLp〜ベクトルLa2が示す格子点を通る線等)が直線に近く、また格子点が均等に配置されるほど格子点配置が平滑化される傾向にあるので、W1=W2=W3=W4=W5=W6とすれば、式(7)に示すE3を極小化することによって図10の右側に示すようにベクトルLpの格子点位置を最適化したベクトルL’pを取得することができる。W1とW2のいずれかが大きい場合、W3とW4のいずれかが大きい場合、あるいはW5とW6のいずれかが大きい場合には、最適化対象の格子点はいずれかの隣接格子点に近い状態で最適化される。
【0138】
また、ベクトルLp,ベクトルLa1〜ベクトルLa6は位置情報(Pr,Pg,Pb)によって表現され、評価関数E3においてはベクトルLpを与える位置情報(Pr,Pg,Pb)の総てを可変にしている。以上のように、位置情報を変動させて評価関数E3を極小化すると、その時点での評価関数を極小化させる位置情報が算出され、この処理を繰り返すことによって格子点位置を最適化したベクトルL’pを取得することができる。
【0139】
(5)他の実施形態:
上記実施形態は一例であり、スムージング処理を行うことによって高精度に色変換を実施可能である限りにおいて、他にも種々の構成を採用することができる。図11は、ICCプロファイルで規定されるプロファイルを利用して印刷を行う装置に対して本発明にかかるスムージング処理を適用した場合の構成を示すブロック図である。同図において、上記図4と同様の構成については図4のでの符号と同符号を付して示している。ICCプロファイルにおいては、ディスプレイ等の画像入力機器で使用する色成分値を機器非依存色空間内の座標値(Lab値等)に変換するソースプロファイルと機器非依存色空間内の座標値をプリンタ等の画像出力機器で使用する色成分値に変換するメディアプロファイルとを予め用意しておく。
【0140】
そして、ソースプロファイルを参照して入力画像データが示す色を一旦機器非依存色空間内の座標値に変換し、メディアプロファイルを参照して当該機器非依存色空間内の座標値をプリンタで使用する色成分値に変換する。この色成分値は、さらに色補正無しLUTを参照して上記入力画像データが示す色をプリンタで使用する色成分値に変換する。これにより、画像データの色を高精度に変換して印刷を実行することが可能になる。尚、本実施形態においてはメディアプロファイルを作成する際に入力画像データが示す色とプリンタで使用する色成分値が示す色とが一致するようにしてある。
【0141】
具体的には、ハードディスク13bに予めソースプロファイル411と分版LUT43とを記録しておく。色補正無しLUT42とメディアプロファイル410とは分版LUT43から作成される。すなわち、スムージング処理モジュール23は上記図4に示すモジュールと同様に分版LUT43を参照してスムージング処理を行い、色補正無しLUT42を作成する。メディアプロファイル生成モジュール220は、色補正無しLUT42,測色機50が出力する測色値,ターゲットLab値決定モジュール21が出力するLab値に基づいて上記図1に示す測色からLab→RGB変換までを実施してメディアプロファイル410を生成する。この結果、メディアプロファイル410の出力RGB値を色補正無しLUT42にて変換したときに、メディアプロファイル410への入力Lab値が示す色と同等のCMYKlclmデータを取得することが可能になる。
【0142】
図11に示す実施形態におけるプリンタドライバ12cは色結合処理部321と色補正モジュール322とを備えており、これら色結合処理部321と色補正モジュール322とによって入力画像データの色をプリンタで使用するインク色に対応したCMYKlclmデータに変換する。色結合処理部321はソースプロファイル411とメディアプロファイル410とを参照して入力画像データのRGB値を色補正無しLUT42に規定されたRGB表色系でのRGB値に変換するモジュールである。
【0143】
すなわち、ソースプロファイル411は入力画像データの表色系をLab表色系に変換するプロファイルであるので、色結合処理部321は当該ソースプロファイル411を参照して入力画像データの色をLab値で表現する。メディアプロファイル410はLab表色系を色補正無しLUT42に規定されたRGB表色系でのRGB値に変換するプロファイルであるので、色結合処理部321は当該メディアプロファイル410を参照してLab値をRGB値に変換する。このRGB値は色補正モジュール322に入力される。
【0144】
色補正モジュール322は、LUTを参照して色変換を実施するモジュールであり、色補正無しLUT42を参照して上記入力されたRGB値をCMYKlclmデータに変換する。この結果得られたCMYKlclmデータは上記ハーフトーン処理モジュール33および印刷処理モジュール34に入力され、プリンタ17cによって上記画像データが示す画像が印刷される。以上のようにスムージング処理を行った色補正無しLUT42からメディアプロファイル410を作成する場合であっても、当該メディアプロファイル410の作成時に上記第1実施形態と同様に補間演算処理を実行するので、分版LUT43をスムージングすることにより、補間演算の精度を向上することができるし、必要に応じて局所的に補間精度を特に高精度にしたり、インクの特性等によって局所的に低精度の演算がなされることを防止することができる。従って、本実施形態においても高精度に色変換を行って印刷を実行することが可能になる。
【0145】
尚、上述の2つの実施形態ではPCを印刷制御装置として機能させるプリンタドライバとLUT作成装置として機能させるLUT作成部との双方をPCにて実行可能にしていたが、むろん、両者は別体のPCにて実現しても良い。すなわち、LUT作成部を実行可能なPCによって予め色補正LUTやメディアプロファイル、色補正無しLUTを作成しておき、プリンタドライバによってプリンタを制御可能なPCに対して当該作成した色補正LUTやメディアプロファイル、色補正無しLUTを転送すれば、それぞれを別個のPCにて実現することができる。
【0146】
また、上記プリンタ17cにおいてはCMYKlclmの6色のインクを搭載可能であったが、むろん、DY(ダークイエロー)を追加して色数をより多くしても良いし、lclmを利用しないことにして色数をより少なくしても良い。さらに、他の色、例えばR(レッド),V(バイオレット)を利用してCMYKRVの6色のインクを搭載可能にしても良い。
【0147】
さらに、上記評価関数においては仮想Lab色空間での格子点配置の平滑程度が低下したときに値が大きくなるような関数を採用すれば良く、上述の関数の他、種々の関数を採用することができる。例えば、上記評価関数E2,E3においては、格子点が立方格子を形成するとしたときにベクトルが直交するような格子点のみを最適化対象の周囲の格子点として抽出していたが、このような選び方が必須という訳ではなく、例えば、図9のベクトルLa5,ベクトルLa6のように格子点が立方格子を形成するとしたときに対角位置にあるような格子点を含めて評価関数としても良い。このような対角位置にある格子点は、RGB色空間においても対角位置にあり、特にR=G=Bの対角軸はグレー軸に該当する。従って、対角位置にある格子点についても配置の平滑程度が向上すると、モノクロ出力時にトーンジャンプが発生することを防止することができる。
【0148】
さらに、上述の実施形態においては互いに逆向きのベクトルの和をとることによって平滑程度の高い格子点配置で評価関数の値が小さくなるようにしていたが、むろん、他の構成を採用しても良い。例えば、格子点間の相対位置関係が類似しているか否かを評価する関数であっても良い。具体的には、図9においてベクトルLa5−ベクトルLa4とベクトルLa1−ベクトルLpとの差をとると両ベクトルの差ベクトル、すなわち(ベクトルLa5−ベクトルLa4)−(ベクトルLa1−ベクトルLp)が得られるが、当該差ベクトルの値が小さいほど格子点間の相対位置関係が類似していると言える。従って、ベクトルLa1−ベクトルLpと隣接する格子間ベクトルとの差をとって足し合わせることによって配置の平滑程度を評価する評価関数を取得することができる。
【0149】
さらに、上記実施形態においては、仮想Lab色空間中の色域の部位毎に別個の隣接格子点を抽出して最適化対象の格子点配置をスムージングしているので、評価関数E1〜評価関数E3のそれぞれによって最適化される各格子点同士に関連がない。そこで、各部位毎に別個の評価関数で格子点を最適化しつつ各部位の境界においても配置の平滑程度が高くなるように重み付け演算をしてもよい。
【0150】
上述の評価関数E1,E2では位置情報(Pr,Pg,Pb)のいずれか一つまたは二つを固定していたが、評価関数E3では位置情報(Pr,Pg,Pb)の三つとも可変であるので、色域境界付近では束縛条件が急激に変化する。また、色域の境界同士でも色域境界を形成する稜線と外面とでは束縛条件が急激に変化する。束縛条件が急激に変動すると、格子点配置を平滑化するために格子点を移動させる際の自由度および移動方向の自由度が全く異なるので、この場合に格子点配置の平滑程度の不連続が生じるおそれがある。そこで、束縛条件が急激に変化することを防止するために色域境界に近づくほど、位置情報が変動しにくくなるような重みを持った項を評価関数に付加する。
【0151】
分版LUTのRGBデータの値域が0〜255であるとすると、RGBデータの各色成分がその値域の中点から遠いほど仮想Lab格子点が色域境界に近いと言える。従って、R成分に関しては絶対値|R−127.5|により、色域の境界に近いか否かを判断することができる。そこで他の色成分も同様に考え、下記式(8)式にて色域境界への近づき度合いに応じた重みを定義する。
【数8】
【0152】
尚、Wr,Wg,Wbは位置情報Pr,Pg,Pbのそれぞれを可変にする際の重みである。また、kwr,kwg,kwbは各重みの大きさを決定する係数であり、色域境界で各位置情報を変動させないようにするために充分な大きさの値にする。また、γwr,γwg,γwbは重みの大きさの変化度合を調整する係数である。これらの係数を調整すると、分版LUTのRGBデータに応じて重みを変化させることができ、色域の中心付近であまり重みをかけずに充分な最適化を行いたい場合に大きくするなどの調整が可能である。
【0153】
ここでは、位置情報としてPrのみを可変とした場合の色域境界の辺について考え、上記評価関数E1について具体例を示して説明する。下記式(9)は、上記重みWrを付加した評価関数E1である。
【数9】
同式の第2項が色域境界(この場合、色域境界上に形成される稜線の端部)に近づくほど位置情報Prが変化しづらくなるように付加した項であり、Pr0は現在のR方向位置情報である。
【0154】
すなわち、上記式の第2項は色域境界に近ければ近いほど、重み係数Wrの値が大きく、位置情報Prが現在位置Pr0から離れるほど当該第2項が大きくなる。従って、評価関数E1を極小化する最適化処理において位置情報Pr,Pr0は近い値になるとともに色域境界に近いほど両位置情報が近い値となる。尚、位置情報Pgのみを可変にしたり位置情報Pbのみを可変にした場合であっても同様の考え方で評価関数E1に第2項を付加することができる。むろん、評価関数E2,評価関数E3でも同様であり、評価関数E2では位置情報のうち2つの成分が可変であるので評価関数に対して2つの項が付加され、評価関数E3では位置情報の3つの成分が可変であるので評価関数に対して3つの項が付加される。
【図面の簡単な説明】
【図1】色補正LUTの作成工程を概略的に説明する説明図である。
【図2】スムージングを概略的に説明する説明図である。
【図3】印刷制御装置のハードウェア構成を示すブロック図である。
【図4】印刷制御装置にて実行されるプログラムを示すブロック図である。
【図5】スムージング処理モジュールの構成を示すブロック図である。
【図6】スムージング処理を示すフローチャートである。
【図7】プリンタの色域を示す模式図である。
【図8】稜線上の格子点を最適化する評価関数の説明図である。
【図9】外面上の格子点を最適化する評価関数の説明図である。
【図10】色域内部の格子点を最適化する評価関数の説明図である。
【図11】他の実施形態にて実行されるプログラムのブロック図である。
【符号の説明】
20…LUT作成部,21…ターゲットLab値決定モジュール,22…色補正LUT生成モジュール,23…スムージング処理モジュール,23a…中間RGB輝度変換処理部,23b…最適化対象抽出部,23c…仮想Lab値算出部,23d…演算対象抽出部,23e…評価関数算出部,23f…位置情報更新部,23g…インク量算出部,23h…色補正無しLUT生成部,25a…中間RGB輝度値,25b…インク量データ,25c…仮想Lab値,25d…位置情報,31…画像データ取得モジュール,32…色補正モジュール,33…ハーフトーン処理モジュール,34…印刷処理モジュール,41…色補正LUT,42…色補正無しLUT,43…分版LUT,50…測色機
Claims (10)
- 印刷装置で使用する各色のインク量と他の表色系における色成分値との対応関係を規定した対応関係定義データを作成するにあたり参照される複数の格子点を決定する対応関係定義データ作成用格子点決定方法であって、上記各色のインク数より少ない色成分で規定される低次元色空間内における低次元色格子点と上記各色のインク量を成分としたインク量空間内におけるインク量格子点との対応関係を予め規定した第1対応関係定義データを参照して上記低次元色格子点と機器非依存色空間内の格子点との対応関係を取得し、当該機器非依存色空間内の格子点の配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって上記低次元色空間の格子点位置情報を変数とした平滑程度評価関数を規定し、当該低次元色空間の格子点位置情報を変動させながら上記平滑程度評価関数の評価を向上させることによって上記機器非依存色空間内の格子点配置を最適化し、上記第1対応関係定義データを参照して当該最適化された状態での上記低次元色空間内の格子点に対応した上記各色のインク量と上記第1対応関係定義データに規定された低次元色空間内の格子点とを対応づけることによって上記対応関係定義データ作成用格子点を決定することを特徴とする対応関係定義データ作成用格子点決定方法。
- 上記平滑程度評価関数は、最適化対象の格子点に隣接する隣接格子点へ向けたベクトルであって互いに略逆向きのベクトルのそれぞれに対して異なる重み係数を乗じた項同士の和の絶対値を含む関数であることを特徴とする上記請求項1に記載の対応関係定義データ作成用格子点決定方法。
- 上記重み係数は、最適化対象の格子点が属する色域の部位毎に異なる値であることを特徴とする上記請求項1または請求項2のいずれかに記載の対応関係定義データ作成用格子点決定方法。
- 上記ベクトルの一方が他方のベクトルより大きい場合、当該一方のベクトルに乗じられる重み係数は他方のベクトルに乗じられる重み係数より小さいことを特徴とする上記請求項2または請求項3のいずれかに記載の対応関係定義データ作成用格子点決定方法。
- 上記逆向きのベクトルのそれぞれに乗じられる重み係数の比は、各ベクトルの端点に対応する低次元色格子点間の距離の逆比であることを特徴とする上記請求項2〜請求項4のいずれかに記載の対応関係定義データ作成用格子点決定方法。
- 印刷装置で使用する各色のインク量と他の表色系における色成分値との対応関係を規定した対応関係定義データを作成するにあたり参照される複数の格子点を決定する対応関係定義データ作成用格子点決定装置であって、上記各色のインク数より少ない色成分で規定される低次元色空間内における低次元色格子点と上記各色のインク量を成分としたインク量空間内におけるインク量格子点との対応関係を予め規定した第1対応関係定義データを記録する第1対応関係定義データ記録手段と、
同第1対応関係定義データを参照して上記低次元色格子点と機器非依存色空間内の格子点との対応関係を取得する対応関係取得手段と、
当該機器非依存色空間内の格子点の配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって上記低次元色空間の格子点位置情報を変数とした平滑程度評価関数を規定する平滑程度評価関数算出手段と、
当該低次元色空間の格子点位置情報を変動させながら上記平滑程度評価関数の評価を向上させることによって上記機器非依存色空間内の格子点配置を最適化する最適化手段と、
上記第1対応関係定義データを参照して当該最適化された状態での上記低次元色空間内の格子点に対応した上記各色のインク量と上記第1対応関係定義データに規定された低次元色空間内の格子点とを対応づけることによって上記対応関係定義データ作成用格子点を決定する対応関係定義データ作成用格子点決定手段とを具備することを特徴とする対応関係定義データ作成用格子点決定装置。 - 印刷プログラムで使用する各色のインク量と他の表色系における色成分値との対応関係を規定した対応関係定義データを作成するにあたり参照される複数の格子点を決定する対応関係定義データ作成用格子点決定プログラムであって、
上記各色のインク数より少ない色成分で規定される低次元色空間内における低次元色格子点と上記各色のインク量を成分としたインク量空間内におけるインク量格子点との対応関係を予め規定した第1対応関係定義データを所定の記録媒体に記録しておき、同第1対応関係定義データを参照して上記低次元色格子点と機器非依存色空間内の格子点との対応関係を取得する対応関係取得機能と、
当該機器非依存色空間内の格子点の配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって上記低次元色空間の格子点位置情報を変数とした平滑程度評価関数を規定する平滑程度評価関数算出機能と、
当該低次元色空間の格子点位置情報を変動させながら上記平滑程度評価関数の評価を向上させることによって上記機器非依存色空間内の格子点配置を最適化する最適化機能と、
上記第1対応関係定義データを参照して当該最適化された状態での上記低次元色空間内の格子点に対応した上記各色のインク量と上記第1対応関係定義データに規定された低次元色空間内の格子点とを対応づけることによって上記対応関係定義データ作成用格子点を決定する対応関係定義データ作成用格子点決定機能とをコンピュータに実現させることを特徴とする対応関係定義データ作成用格子点決定プログラム。 - 印刷装置で使用する各色のインク量と他の表色系における色成分値との対応関係を規定した対応関係定義データを参照して、上記他の表色系における色成分値を上記インク量に変換して印刷を実行させるための印刷データを生成する印刷制御装置であって、
上記対応関係定義データは、上記各色のインク数より少ない色成分で規定される低次元色空間内における低次元色格子点と上記各色のインク量を成分としたインク量空間内におけるインク量格子点との対応関係を予め規定した第1対応関係定義データを参照して上記低次元色格子点と機器非依存色空間内の格子点との対応関係を取得し、当該機器非依存色空間内の格子点の配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって上記低次元色空間の格子点位置情報を変数とした平滑程度評価関数を規定し、当該低次元色空間の格子点位置情報を変動させながら上記平滑程度評価関数の評価を向上させることによって上記機器非依存色空間内の格子点配置を最適化し、上記第1対応関係定義データを参照して当該最適化された状態での上記低次元色空間内の格子点に対応した上記各色のインク量と上記第1対応関係定義データに規定された低次元色空間内の格子点とを対応づけることによって上記対応関係定義データ作成用格子点とし、当該対応関係定義データ作成用格子点にて規定されるインク量での印刷結果を所定の測色機によって測色した測色値によって上記インク量と上記他の表色系における色成分値とを対応づけることで作成されるデータであることを特徴とする印刷制御装置。 - 印刷装置で使用する各色のインク量と他の表色系における色成分値との対応関係を規定した対応関係定義データを参照して、上記他の表色系における色成分値を上記インク量に変換して印刷を実行させるための印刷データを生成する印刷制御方法であって、
上記対応関係定義データは、上記各色のインク数より少ない色成分で規定される低次元色空間内における低次元色格子点と上記各色のインク量を成分としたインク量空間内におけるインク量格子点との対応関係を予め規定した第1対応関係定義データを参照して上記低次元色格子点と機器非依存色空間内の格子点との対応関係を取得し、当該機器非依存色空間内の格子点の配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって上記低次元色空間の格子点位置情報を変数とした平滑程度評価関数を規定し、当該低次元色空間の格子点位置情報を変動させながら上記平滑程度評価関数の評価を向上させることによって上記機器非依存色空間内の格子点配置を最適化し、上記第1対応関係定義データを参照して当該最適化された状態での上記低次元色空間内の格子点に対応した上記各色のインク量と上記第1対応関係定義データに規定された低次元色空間内の格子点とを対応づけることによって上記対応関係定義データ作成用格子点とし、当該対応関係定義データ作成用格子点にて規定されるインク量での印刷結果を所定の測色機によって測色した測色値によって上記インク量と上記他の表色系における色成分値とを対応づけることで作成されるデータであることを特徴とする印刷制御方法。 - 印刷装置で使用する各色のインク量と他の表色系における色成分値との対応関係を規定した対応関係定義データを参照して、上記他の表色系における色成分値を上記インク量に変換して印刷を実行させるための印刷データを生成する機能をコンピュータに実現させる印刷制御プログラムであって、
上記対応関係定義データは、上記各色のインク数より少ない色成分で規定される低次元色空間内における低次元色格子点と上記各色のインク量を成分としたインク量空間内におけるインク量格子点との対応関係を予め規定した第1対応関係定義データを参照して上記低次元色格子点と機器非依存色空間内の格子点との対応関係を取得し、当該機器非依存色空間内の格子点の配置の平滑程度を評価するとともに機器非依存色空間内の所定の位置では格子点の配置が不均等となる束縛条件を含む関数であって上記低次元色空間の格子点位置情報を変数とした平滑程度評価関数を規定し、当該低次元色空間の格子点位置情報を変動させながら上記平滑程度評価関数の評価を向上させることによって上記機器非依存色空間内の格子点配置を最適化し、上記第1対応関係定義データを参照して当該最適化された状態での上記低次元色空間内の格子点に対応した上記各色のインク量と上記第1対応関係定義データに規定された低次元色空間内の格子点とを対応づけることによって上記対応関係定義データ作成用格子点とし、当該対応関係定義データ作成用格子点にて規定されるインク量での印刷結果を所定の測色機によって測色した測色値によって上記インク量と上記他の表色系における色成分値とを対応づけることで作成されるデータであることを特徴とする印刷制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003114420A JP2004320625A (ja) | 2003-04-18 | 2003-04-18 | 対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム |
US10/824,694 US7369272B2 (en) | 2003-04-18 | 2004-04-14 | Accuracy of color conversion profile |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003114420A JP2004320625A (ja) | 2003-04-18 | 2003-04-18 | 対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004320625A true JP2004320625A (ja) | 2004-11-11 |
Family
ID=33474018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003114420A Pending JP2004320625A (ja) | 2003-04-18 | 2003-04-18 | 対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7369272B2 (ja) |
JP (1) | JP2004320625A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006197080A (ja) * | 2005-01-12 | 2006-07-27 | Seiko Epson Corp | 格子点配置の平滑化 |
JP2006217150A (ja) * | 2005-02-02 | 2006-08-17 | Seiko Epson Corp | 格子点配置の平滑化 |
JP2011120025A (ja) * | 2009-12-03 | 2011-06-16 | Canon Inc | 色処理装置およびその方法 |
US8531729B2 (en) | 2009-12-03 | 2013-09-10 | Canon Kabushiki Kaisha | Color processing apparatus and method thereof |
US10375276B2 (en) | 2016-03-17 | 2019-08-06 | Seiko Epson Corporation | Color correction table creation method, color correction table creation apparatus, and non-transitory computer readable medium for storing program |
US10540582B2 (en) | 2015-12-18 | 2020-01-21 | Seiko Epson Corporation | Method for creating color conversion table |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005045404A (ja) * | 2003-07-24 | 2005-02-17 | Ricoh Co Ltd | 画像処理装置、画像処理方法およびプログラム |
JP4241643B2 (ja) * | 2005-02-28 | 2009-03-18 | 村田機械株式会社 | 色判定装置及び色判定方法 |
JP4595734B2 (ja) * | 2005-08-03 | 2010-12-08 | セイコーエプソン株式会社 | プロファイル作成方法、プロファイル作成装置、プロファイル作成プログラム、印刷制御方法、印刷制御装置、及び印刷制御プログラム |
JP2008005381A (ja) * | 2006-06-26 | 2008-01-10 | Fujifilm Corp | 色変換定義作成方法、プロファイル作成方法、色変換定義作成装置、プロファイル作成装置、色変換定義作成プログラム、および、プロファイル作成プログラム |
JP4396692B2 (ja) * | 2006-11-27 | 2010-01-13 | セイコーエプソン株式会社 | 色変換装置、色変換方法、色変換プログラム、色変換プログラムを記録した記録媒体、及び画像処理装置、並びに画像表示装置 |
US7990588B2 (en) * | 2006-12-12 | 2011-08-02 | Canon Kabushiki Kaisha | Method of finding look-up table structures in color device sampling data |
US8077352B2 (en) * | 2009-01-26 | 2011-12-13 | Xerox Corporation | GAMUT aim and GAMUT mapping method for spatially varying color lookup tables |
JP5482073B2 (ja) * | 2009-10-05 | 2014-04-23 | 富士ゼロックス株式会社 | 画像処理装置、画像形成システム、およびプログラム |
US8922580B2 (en) * | 2011-10-21 | 2014-12-30 | Hewlett-Packard Development Company, L.P. | Method and system to modify a color lookup table |
JP6123238B2 (ja) * | 2012-11-06 | 2017-05-10 | 株式会社リコー | 画像処理システム、情報処理装置、およびプログラム |
JP5861690B2 (ja) * | 2013-11-19 | 2016-02-16 | コニカミノルタ株式会社 | プロファイル作成方法、プロファイル作成プログラム、記録媒体、およびプロファイル作成装置 |
US10516809B2 (en) * | 2018-02-28 | 2019-12-24 | Ricoh Company, Ltd. | Optimizing number of grid points in multi-dimensional color lookup table |
JP2020102748A (ja) * | 2018-12-21 | 2020-07-02 | セイコーエプソン株式会社 | 色変換テーブル作成方法、色変換テーブル作成装置およびコンピュータープログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3325243B2 (ja) * | 1999-09-20 | 2002-09-17 | 京セラミタ株式会社 | 画像処理装置 |
US6546132B1 (en) * | 1999-09-21 | 2003-04-08 | Seiko Epson Corporation | Color table manipulations for smooth splicing |
US6952493B2 (en) * | 2001-01-31 | 2005-10-04 | Hewlett-Packard Development Company, L.P. | System and method for gamut mapping using a composite color space |
-
2003
- 2003-04-18 JP JP2003114420A patent/JP2004320625A/ja active Pending
-
2004
- 2004-04-14 US US10/824,694 patent/US7369272B2/en not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006197080A (ja) * | 2005-01-12 | 2006-07-27 | Seiko Epson Corp | 格子点配置の平滑化 |
US7515304B2 (en) | 2005-01-12 | 2009-04-07 | Seiko Epson Corporation | Smoothing of dispositions of lattice points for creation of profile |
JP4492358B2 (ja) * | 2005-01-12 | 2010-06-30 | セイコーエプソン株式会社 | 格子点配置の平滑化 |
JP2006217150A (ja) * | 2005-02-02 | 2006-08-17 | Seiko Epson Corp | 格子点配置の平滑化 |
US7542167B2 (en) | 2005-02-02 | 2009-06-02 | Seiko Epson Corporation | Smoothing lattice positions |
JP4582310B2 (ja) * | 2005-02-02 | 2010-11-17 | セイコーエプソン株式会社 | プロファイル作成方法、プロファイル作成装置、プロファイル作成プログラム、及び印刷制御装置 |
JP2011120025A (ja) * | 2009-12-03 | 2011-06-16 | Canon Inc | 色処理装置およびその方法 |
US8531729B2 (en) | 2009-12-03 | 2013-09-10 | Canon Kabushiki Kaisha | Color processing apparatus and method thereof |
US8630021B2 (en) | 2009-12-03 | 2014-01-14 | Canon Kabushiki Kaisha | Color processing for generation of a profile for color separation |
US10540582B2 (en) | 2015-12-18 | 2020-01-21 | Seiko Epson Corporation | Method for creating color conversion table |
US10375276B2 (en) | 2016-03-17 | 2019-08-06 | Seiko Epson Corporation | Color correction table creation method, color correction table creation apparatus, and non-transitory computer readable medium for storing program |
Also Published As
Publication number | Publication date |
---|---|
US20040263879A1 (en) | 2004-12-30 |
US7369272B2 (en) | 2008-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4200365B2 (ja) | 対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法、印刷制御プログラムおよび画像データ処理装置 | |
JP4595734B2 (ja) | プロファイル作成方法、プロファイル作成装置、プロファイル作成プログラム、印刷制御方法、印刷制御装置、及び印刷制御プログラム | |
JP2004320624A (ja) | 対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム | |
US7542167B2 (en) | Smoothing lattice positions | |
JP4645662B2 (ja) | 色変換テーブル作成プログラム、補間演算プログラム、色変換テーブル作成方法、補間演算方法、色変換装置および印刷装置 | |
JP4528782B2 (ja) | 印刷用色変換プロファイルの生成 | |
JP2004320625A (ja) | 対応関係定義データ作成用格子点決定方法、対応関係定義データ作成用格子点決定装置、対応関係定義データ作成用格子点決定プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム | |
JP6840604B2 (ja) | 色変換テーブルの作成装置、色変換テーブルの作成方法、色変換処理装置、色変換処理方法およびプログラム | |
US8204304B2 (en) | Color gamut mapping by forming curved cross-sectional surfaces | |
JPH11507794A (ja) | 色域マッピングされた色を有するプリンタドライバ | |
JP2004181965A (ja) | コスト関数を使用する色の全範囲マッピング | |
JP2004320627A (ja) | 対応関係定義データ作成用格子点決定システム、対応関係定義データ作成用格子点要求クライアント、対応関係定義データ作成用格子点決定サーバおよびその方法並びにプログラム | |
US7522309B2 (en) | Image processing method, image processing apparatus and storage medium storing a program | |
JP5777497B2 (ja) | 色処理装置およびその方法 | |
JP5324405B2 (ja) | 色処理装置およびその方法、並びに、画像形成装置 | |
EP1641244A2 (en) | Method and system using gamut mapping templates to derive actual colour gamut mapping | |
JP4380503B2 (ja) | ルックアップテーブル作成方法および分版方法 | |
JP3956125B2 (ja) | 対応関係定義データ作成用格子点決定方法、画像処理装置、画像処理方法および画像処理プログラム | |
JP2004221635A (ja) | 色変換装置、色変換方法、色変換プログラムおよび印刷制御装置 | |
JP2004128585A (ja) | 色補正テーブル作成方法及び制御プログラム及び記憶媒体及び装置 | |
JP4114376B2 (ja) | 測色用座標決定方法 | |
JP2003283856A5 (ja) | ||
JP2004140577A (ja) | 対応関係定義データ作成用格子点決定方法、画像処理装置、画像処理方法および画像処理プログラム | |
JP4227371B2 (ja) | 画像処理装置及びその方法 | |
JP2022098881A (ja) | 情報処理装置、情報処理方法およびプログラム |