次に、本発明の実施の形態を以下の順序で説明する。
A.印刷制御:
A−1.ハードウェアおよびソフトウェア構成:
A−2.ステータスモニタ:
A−3.色変換プロファイル作成指針(インクバランス)の設定:
A−4.色変換プロファイルの作成:
A−5.色変換および印刷:
B.各種コンバータ:
B−1.分光プリンティングモデルコンバータ:
B−2.色コンバータ:
B−3.粒状性コンバータ:
B−4.平滑性コンバータ:
C.まとめおよび変形例:
A.印刷制御
A−1.ハードウェアおよびソフトウェア構成
図1は、本発明の印刷制御装置が実行する印刷制御処理の概略的な流れを示している。同図において、ステップS100の監視処理(A−2節にて説明)においては印刷制御装置が印刷装置の現在の状況を、および、ユーザーからの指示を取得し、必要に応じてステップS200またはステップS400の処理を印刷制御装置に実行させる。ステップS200(A−3節にて説明)においては、色変換プロファイルCPを作成する際の作成指針を設定する。ステップS300(A−4節にて説明)においては、ステップS200にて設定された作成指針に基づいて色変換プロファイルCPを作成する処理を行う。ステップS300における色変換プロファイルCPの作成においては、インク量セットを各指標に変換する各種コンバータ(B−1〜B4節にて説明)を使用する。さらに、ステップS400(A−5節にて説明)においては作成された色変換プロファイルCPを使用して色変換を行い、その変換結果に基づいて印刷装置を制御することにより印刷を実行させる。
図2は、印刷制御装置のハードウェア構成およびソフトウェア構成を示している。なお、本発明の印刷制御装置の主要部は実体的にはコンピュータ10にて実行されている。具体的には、コンピュータ10が備えるCPU12が、ハードディスクトライブ(HDD)11等に記憶されたプログラムデータ11aを読み込み、当該プログラムデータ11aをRAM13上に展開しながらプログラムデータ11aにしたがった演算を実行させる。そして、当該演算によって本発明の印刷装置としてのプリンタ20をUSBインターフェース(I/F)14等を介して制御することにより、本発明の印刷制御装置を構成する各種手段を実現する。むろん、コンピュータ10とプリンタ20が赤外線や無線LAN等の他のインターフェースに接続されていてもよい。コンピュータ10は、ビデオインターフェース(I/F)15を介してディスプレイ30と接続されており、また入力インターフェース(I/F)16を介してキーボード40aとマウス40bが接続されている。
プリンタドライバPDは、プリンタ20の状態およびユーザーからの指示を常時監視し、それに応じて各モジュールPD3〜PD8に処理を実行させるステータスモニタ部PD1と、ディスプレイ30にUI画面を表示させキーボード40aとマウス40bを介してユーザーからの指示を受け付けるUI部PD2と、印刷対象の画像データを取得する画像データ取得部PD3を備えている。また、プリンタドライバPDは、インクカートリッジの搭載状況をはじめとするプリンタ情報をプリンタ20から取得するプリンタ情報取得部PD4と、プリンタ情報やユーザーからの指示に基づいて色変換プロファイルCPの作成指針を設定するプロファイル作成指針設定部PD5を備えている。なお、本実施形態において色変換プロファイルCPはルックアップテーブルである。
プリンタドライバPDは、色変換プロファイルCPの作成指針にしたがって色変換プロファイルCPを作成するプロファイル作成部PD6を備えている。プロファイル作成部PD6が色変換プロファイルCPを作成する際に、分光プリンティングモデルコンバータRCと色コンバータCCと粒状性コンバータGCと平滑性コンバータSCを利用する。さらに、プリンタドライバPDは、作成された色変換プロファイルCPを使用して色変換を行う色変換部PD7と、色変換を行った画像データにハーフトーン処理やマイクロウィーブ処理を行って印刷データを生成する印刷データ生成部PD8を備えている。プリンタドライバPDを構成する各モジュールPD2〜PD8,RC,CC,GC,SCの詳細は、後に処理の流れとともに説明する。
図3は、本発明の印刷制御装置によって制御されるプリンタ20の構成を示している。同図において、プリンタ20はCPU23とRAM24とROM25を備えている。ROM25に記憶されたプログラムデータ25aをRAM24に展開しつつCPU23がプログラムデータ25aにしたがった演算を行うことによりプリンタ20を制御するためのファームウェアFWが実行される。ファームウェアFWは、コンピュータ10からUSBI/F26を介して入力された印刷データに基づいて紙送り機構27やキャリッジモータ28や印刷ヘッド29への駆動信号を生成する。プリンタ20はキャリッジ21を備えており、キャリッジ21が複数の種類のインクのインクカートリッジ22a,22a・・・を搭載する。キャリッジ21は、インクカートリッジ22a,22a・・・から供給されるインクを多数のインクノズルから吐出する印刷ヘッド29を備えている。
印刷ヘッド29は、キャリッジモータ28の駆動によってキャリッジ21とともに往復動させられ、当該往復動によるインクノズルと印刷用紙との相対移動によって主走査方向のラスターを形成することができる。一方、紙送り機構27が印刷用紙を上記主走査方向と直交する副走査に移動させることにおり、印刷用紙上に平面画像を印刷することが可能となっている。本実施形態におけるプリンタはインクジェット方式のプリンタであるが、インクジェット方式の他にも種々のプリンタに対して本発明を適用可能である。例えば、色材としてトナーを使用するレーザプリンタにおいても本発明を適用することができる。
キャリッジ21はインクカートリッジ22a,22a・・・が取り付け可能なカートリッジホルダ21a,21a・・・を備えており、各インクカートリッジ22a,22a・・・をカートリッジホルダ21a,21a・・・に挿入して固定することができる。本実施形態においてカートリッジホルダ21a,21a・・・は8個備えられているものとし、最大限、8個のインクカートリッジ22a,22a・・・を搭載することが可能となっている。各インクカートリッジ22a,22a・・・においては顔料または染料の色材を液体に混合することにより形成したインクを収容しており、インクカートリッジ22a,22a・・・は本発明の色材容器に相当する。
各インクカートリッジ22a,22a・・・においてはそれぞれ異なる種類のインクが収容されており、各インクによる減方混色によってカラー画像を再現する。インクカートリッジ22a,22a・・・には各インクの種類を識別するための識別データと、各インクの残量を特定する残量データを記憶する不揮発性のROM22a1,22a1・・・が備えられている。インクカートリッジ22a,22a・・・をカートリッジホルダ21a,21a・・・に搭載することにより、カートリッジホルダ21a,21a・・・に備えられた図示しない端子がROM22a1,22a1・・・と電気的に接続し、CPU23とRAM24にて実行されるファームウェアFWのステータス調査部FW1が各インクカートリッジ22a,22a・・・に収容されたインクの種類および残量を取得することが可能となっている。ステータス調査部FW1は、USBI/F26を介してコンピュータ10にインクの搭載状況を伝達する。
また、インクカートリッジ22a,22a・・・をカートリッジホルダ21a,21a・・・に搭載することにより、インクカートリッジ22a,22a・・・内のインク供給経路とカートリッジホルダ21a,21a・・・から印刷ヘッド29のインクノズルまでのインク供給経路とが接続する。本実施形態において、カートリッジホルダ21a,21a・・・はすべて同じ形状となっており、インクカートリッジ22a,22a・・・もすべて同じ形状となっている。従って、ユーザーの好みに応じて、どのインクカートリッジ22a,22a・・・も、どのカートリッジホルダ21a,21a・・・に搭載することができる。ただし、少なくとも一部のインクのインクカートリッジ22a,22a・・・をユーザーが任意に搭載することができればよく、一部のカートリッジホルダ21a,21a・・・には特定のインクのインクカートリッジ22a,22a・・・しか搭載できないようにしてもよい。例えば、再現できる色再現ガマットが最低限確保できるインクの組み合わせについては、特定のカートリッジホルダ21a,21a・・・に必ず搭載されるように制限してもよい。
A−2.ステータスモニタ
図4は、ステータスモニタ部PD1が実行する監視処理の流れを示している。監視処理は、常駐型のステータスモニタ部PD1によって時間周期的に繰り返して実行されるループ処理となっている。基本的には印刷指示が受け付けられるまでループを繰り返すとともに、印刷指示が受け付けられたときにはステップS400へ移行させ、一定の条件のときにはステップS200〜S300へ移行させる常駐処理を行っている。ステップS120においては、プリンタ20のカートリッジホルダ21a,21a・・・におけるインクカートリッジ22a,22a・・・の搭載状況を監視し、インクカートリッジ22a,22a・・・が換装されたか否かを判定する。すなわち、プリンタ情報取得部PD4がUSBI/F14を介して、プリンタ20で実行中のステータス調査部FW1と通信を行うことにより、インクカートリッジ22a,22a・・・の搭載状況を取得する。
図5は、カートリッジホルダ21a,21a・・・におけるインクカートリッジ22a,22a・・・の搭載状況の一例を模式的に説明している。同図において、当該プリンタ20の機種に搭載可能なインクカートリッジ22a,22a・・・は、M(マゼンタ)インクとlm(ライトマゼンタ)インクとC(シアン)インクとlc(ライトシアン)インクとY(イエロー)インクとK(ブラック)インクとlk(グレー)インクとllk(ライトグレー)インクとR(レッド)インクとO(オレンジ)インクとG(グリーン)インクとB(ブルー)インクとdy(ダークイエロー)インクをそれぞれ収容したものとなっている。各インクカートリッジ22a,22a・・・には、上述したROM22a1,22a1・・・が備えられている、それぞれ収容するインクの種類が識別可能なデータが書き込まれている。
従って、ステップS110では、ステータス調査部FW1が搭載されたインクカートリッジ22a,22a・・・のROM22a1,22a1・・・にアクセスすることにより、搭載されたインクカートリッジ22a,22a・・・に収容されたインクの情報を取得することができる。なお、非搭載のカートリッジホルダ21a,21a・・・においてはROM22a1,22a1・・・に対してアクセスすることができないため、アクセスできないことをもって非搭載であることを認識することができる。上記の13種類のインクを収容した各インクカートリッジ22a,22a・・・は独立しており、それぞれ個別に購入することが可能となっている。従って、ユーザーは、好みのインクカートリッジ22a,22a・・・を購入し、カートリッジホルダ21a,21a・・・に自由な組み合わせで搭載することができる。
ステータスモニタ部PD1は、ステップS120においてインクカートリッジ22a,22a・・・の換装の有無を判定する。監視処理は時間周期的に実行されているため、前回搭載されていたインクセットと、現在搭載されているインクセットとを比較することによって換装の有無を判定することができる。例えば、CMYKインク(4種類)で構成されるインクセットがカートリッジホルダ21a,21a・・・に搭載されていたものが、lmlcインクを追加搭載することによってCMYKlclmインク(6種類)で構成されるインクセットに換装された場合には、換装されたものとして扱われる。なお、例えば古いCインクのインクカートリッジ22aを新しいCインクのインクカートリッジ22aに換装する場合等、インクの種類が変動しない場合は、換装されたものとしては扱わないこととする。ステップS120において、インクセットの換装があった場合には、ステータスモニタ部PD1は、ステップS150においてUI部PD2に対して通知画面をディスプレイ30にて表示するよう指令する。そして、インクセット情報およびその残量情報をプロファイル作成指針設定部PD5に受け渡しつつ、プロファイル作成指針の設定処理(ステップS200)およびプロファイル作成処理(ステップS300)をプロファイル作成指針設定部PD5およびプロファイル作成部PD6に開始させる。
図6は、ステップS150にて表示される通知画面の一例を示している。同図において、変換プロファイルの作成中である旨と、その進捗状況を示すステータスバーが表示されている。これにより、ユーザーに対して変換プロファイルが作成中であることを通知することができる。プロファイル作成指針設定部PD5とプロファイル作成部PD6は、後述するプロファイル作成指針設定処理とプロファイル作成処理において適宜その進捗状況をステータスモニタ部PD1に出力し、ステータスモニタ部PD1はステータスバーが示す進捗状況をUI部PD2に更新させる。その後、ステータスモニタ部PD1は、プロファイル作成部PD6が変換プロファイルの作成を完了させた否かを判定し、完了していない場合には、通知画面の表示を継続した状態で待機する
ステップS120において、インクセットの換装がなかったと認識された場合には、ステップS130にて、ステータスモニタ部PD1がカートリッジホルダ21a,21a・・・に搭載されたインクカートリッジ22a,22a・・・におけるインク残量を取得する。そして、いずれかのインク残量が基準値を下回っている場合には、ステップS140にて上述した通知画面をUI部PD2に表示させる。例えば、いずれかのインク残量が購入時の量の30%を下回ったときには、基準値を下回ったと判定する。ここでも、通知画面を表示させながらステップS150にてプロファイル作成指針の設定処理(ステップS200)およびプロファイル作成処理(ステップS300)を開始させる。
ステップS130においていずれのインク残量も基準値を下回っていないと認識された場合は、ステータスモニタ部PD1はステップS160においてユーザーからの印刷指示がUI部PD2にて受け付けられたか否かを確認する。ここで、ユーザーからの印刷指示が受け付けられた場合には、ステータスモニタ部PD1が色変換部PD7と印刷データ生成部PD8に対してステップS400の色変換処理および印刷データ生成処理を実行するよう指示を行う。一方、印刷指示が受け付けられない場合には、ステップS120に戻り監視処理を繰り返して実行することとなる。以上のように、ステータスモニタ部PD1は、カートリッジホルダ21a,21a・・・におけるインクカートリッジ22a,22a・・・の搭載状況を常時監視するとともに、搭載状況が一定の条件を満足する場合においては後述するプロファイル作成指針の設定処理(ステップS200)およびプロファイル作成処理(ステップS300)を開始させることができる。
A−3.色変換プロファイル作成指針の設定
図7は、ステップS150の後に開始させられる色変換プロファイル作成指針の設定処理の流れを示している。ステップS210においては、色変換プロファイルCPを作成するインクセットを決定する。プロファイル作成指針設定部PD5は、ステータスモニタ部PD1からインクセット情報およびその残量情報を受け取っており、これらの情報に基づいて色変換プロファイルCPを作成するインクセットを決定する。
図8は、インクセット情報およびその残量情報の例をグラフによって示している。図8(A)においては、CMYKlclmインクのインクカートリッジ22a,22a・・・が搭載されており、すべて30%以上の残量を有している。この場合は、CMYKlclmを、色変換プロファイルCPを作成するインクセットとして決定する。なお、各インクのインク残量をtc,tm,ty,tk,tlc,tlm[%]と表記するものとする。図8(B)においては、同様にCMYKlclmインクが搭載されており、もっとも少ないlmインクの残量が15%程度となっている。この場合も、CMYKlclmを、色変換プロファイルCPを作成するインクセットとして決定する。図8(C)においては、同様にCMYKlclmインクが搭載されているものの、lmインクの残量が5%よりも少なくなっている。この場合、CMYKlclmを色変換プロファイルCPを作成するインクセットとして決定するとともに、lmを除いたCMYKlcを色変換プロファイルCPを作成するインクセットとして決定する。すなわち、残量の少ないlmインクの使用量を抑えた色変換プロファイルCPとともに、残量の少ないlmインクを印刷に使用させないような色変換プロファイルCPも作成するように決定する。ステップS220においてはプロファイル作成指針設定部PD5がHDD11にすでに記憶されている既存の色変換プロファイルを取得する。
ステップS230においては、プロファイル作成指針設定部PD5が色変換プロファイル作成の必要性を判定する。ここでは、ステップS210にて決定されたインクセットが、ステップS220にて取得したいずれかの色変換プロファイルのインクセットに一致するか否かを判定する。すでに同一のインクセットの色変換プロファイルがHDD11に存在する場合には、新たに色変換プロファイルCPを作成する必要がないとして、そのまま図1の監視処理(ステップS100)戻る。すなわち、新たに色変換プロファイルCPを作成する必要がないため、インクの搭載状態の変動や印刷指示を監視する通常の処理に戻る。なお、ステップS100の監視処理に戻る際には、現在表示中の通知画面(図6)の表示を終了させる。一方、既存のいずれの色変換プロファイルにもインクセットと印刷用紙と観察光源が一致しない場合には、色変換プロファイルを作成する必要があると判定する。
次のステップS240では、プロファイル作成指針設定部PD5が下記の式(1)における重み係数w
1〜w
4およびバランス係数w
bc,w
bm,w
by,w
bk,w
blc,w
blmを設定する。なお、以下、インクセットとしてCMYKlclmが決定されたものとして説明する。
上記の(1)式においては、Epは評価関数を示し、評価関数Epが小さければ小さいほど総合的な印刷パフォーマンスが高くなるという性質を有している。ψは、ステップS210にて決定されたCMYKlclmインクセットの各インクのインク量の組み合わせを意味するインク量セット(dc,dm,dy,dk,dlc,dlm)を表している。上記の(1)式の第1項は印刷物の粒状性の性能を要求する項であり、第2項は印刷色の光源変動に対する色恒常性の性能を要求する項であり、第3項は印刷物の階調性の性能を要求する項であり、第4項は色再現ガマットの性能を要求する項であり、第5項は各インク量dc,dm,dy,dk,dlc,dlmを各バランス係数wbc,wbm,wby,wbk,wblc,wblmによって線形結合したものであり印刷時に消費するインクのランニングコストの性能を要求する項である。iはインクの種の識別番号で、Nはインクセットを構成するインク数を示している。
第5項も、インク量セット(dc,dm,dy,dk,dlc,dlm)に依存するため、ψの関数であるということができる。なお、TDutyは記録媒体に付着可能なインク量の制限に対応した値である。インク量は少ないほどランニングコストが良好となるため、(1)式の第5項が小さくなるほど最適であるといえる。いずれの項も同一の大きさで正規化されたスカラーであり、値が小さいほどパフォーマンスが高い。また、各パフォーマンス要素に対応する第1項〜第5項を個別の重み係数w1〜w4とバランス係数wbc,wbm,wby,wbk,wblc,wblmによって重みを調整しつつ線形結合することにより、総合的な印刷パフォーマンスが評価可能な評価関数Epを定義している。すなわち、重み係数w1〜w4とバランス係数wbc,wbm,wby,wbk,wblc,wblmは、どのパフォーマンス要素を重視するかを調整する値を意味している。
ここでは、種々の設定手法に基づいて最適な重み係数w1〜w4とバランス係数wbc,wbm,wby,wbk,wblc,wblmを設定することができる。例えば、ステップS210にて決定された(プリンタ20に搭載された)インクセットを構成するインク数が多いほど、ユーザーの画質への要求が高いと考えることができる。このような場合は、重み係数w1〜w4をデフォルト値から全体的に大きく設定し、バランス係数wbc,wbm,wby,wbk,wblc,wblmを全体的にデフォルト値から小さくする。反対に、ステップS210にて決定された(プリンタ20に搭載された)インクセットを構成するインク数が少ないほど、ユーザーの画質への要求が低いと考えることができる。この場合は、重み係数w1〜w4をデフォルト値から全体的に小さく設定し、バランス係数wbc,wbm,wby,wbk,wblc,wblmを全体的にデフォルト値から大きくする。
また、プリンタ20の製造元が特定のインクセットを推奨する場合も考えられる。例えば、鮮やかな色が再現できるインクセットとして、CMYKRGBlkからなるインクセットが推奨することができる。推奨通りのCMYKRGBlkがプリンタ20に搭載されている場合、高彩度の色再現ガマットを重視する必要があるため、重み係数w4を大きく設定すべきである。また、モノトーン印刷に適したインクセットとして、YKlklclmからなるインクセットが推奨することができる。推奨通りのYKlklclmがプリンタ20に搭載されている場合、階調性を重視する必要があるため、重み係数w3を大きく設定すべきである。このように、特定のインクセットと重み係数w1〜w4とバランス係数wbc,wbm,wby,wbk,wblc,wblmとの対応関係をプリセットしておいてもよい。なお、デフォルト値とは、各パフォーマンス要素の重視度のバランスが取れた値とされる。
さらに、ステップS240においては、必要に応じてバランス係数wbc,wbm,wby,wbk,wblc,wblmが以下の手順で詳細に設定される。CMYklclmのインクセットのうち最も少ないインク残量が30%を下回っているか否かを判定する。図8(A)のようにいずれのインクの残量も30%を下回っていない場合には、均等なバランス係数wbc,wbm,wby,wbk,wblc,wblm(wbc=wbm=wby=wbk=wblc=wblm)を設定して、ステップS300の色変換プロファイル作成処理を実行する。すなわち、最小のインク残量が一定の基準値(30%)以上ある場合には、特にインクバランスを調整する必要性はないとして、インク量全体について均等な重みを設定する。一方、図8(B)のようにいずれかのインクの残量が30%を下回っている場合には、プロファイル作成指針設定部PD5がインクバランスの調整を行う重み係数を設定する。
例えば、図8(B)に示すようにlmインクの残量のみが30%よりも少ない15%となっている場合には、下記の(2)式のようにバランス係数w
bc,w
bm,w
by,w
bk,w
blc,w
blmを設定する。
ここでは、基準値30%よりも少ないlmインクについてのバランス係数w
blmが他のバランス係数w
bc,w
bm,w
by,w
bk,w
blcの2倍の大きさと設定されている。ここでは、lmインクについてのバランス係数w
blmを他のバランス係数w
bc,w
bm,w
by,w
bk,w
blcよりも大きく設定することができればよく、他の倍率を設定することも可能である。例えば、lmインクの残量に応じた倍率を設定することもできる。なお、基準値30%よりも少ないインクが複数ある場合は、各インクに対して通常の2倍のバランス係数w
iを与えればよい。
上記の(2)式によれば、インク残量が基準値(30%)よりも少ないlmインクのインク量dlmの評価関数Epへの寄与を他のCMYklcインクよりも大きくすることができる。すなわち、他のインクのインク量diを大きくするよりもlmインクのインク量dlmを同量大きした方が、評価関数Epの値が大きくなる。また、本実施形態ではステップS210にて残量が5%に満たないインクを使用しないようにしているが、当該インクのバランス係数wbiを大きい値とすることによって、当該インクを印刷に使用させないようにしてもよい。一方、図8(C)のようにいずれかのインクの残量が5%を下回っている場合にも、残量の少ないlmインクの使用量を抑えた色変換プロファイルCPを作成するようにプロファイル作成指針設定部PD5が上記の(2)式と同様にバランス係数wbc,wbm,wby,wbk,wblc,wblmを設定する。ここでは、図8(B)の場合よりもlmインクの使用量を抑える必要性が大きいため、よりバランス係数wblmを大きい値(2倍より大きい値)に設定するようにしてもよい。以上のように各重み係数w1〜w4とバランス係数wbc,wbm,wby,wbk,wblc,wblmを設定すると、以下に説明する色変換プロファイルCPの作成処理(ステップS300)における作成指針が設定されたこととなる。
A−4.色変換プロファイルCPの作成
図9はプロファイル作成部PD6が実行する色変換プロファイルCPの作成処理の流れを示し、図10は色変換プロファイルCPの作成手順を模式的に示している。図9に示すステップS310においては、色変換プロファイルCPの作成条件を取得し、分光プリンティングモデルコンバータRCと色コンバータCCに設定する。分光プリンティングモデルコンバータRCと色コンバータCCは、インク量セットから絶対色空間であるCIELAB色空間での色(L*a*b*)を予測するものであるが、再現される色は印刷用紙と観察光源に依存することとなる。本実施形態では標準的な条件として、印刷用紙(光沢紙)と観察光源(D65)を分光プリンティングモデルコンバータRCと色コンバータCCに設定する。印刷用紙と観察光源は、ユーザーが指定するようにしてもよいし、プリンタドライバPDが適切な条件を判断するようにしてもよい。
ステップS320においては、初期のインクプロファイルIPを作成する。なお、インクプロファイルIPは、CIELAB色空間(L*a*b*)と、本実施形態で印刷に使用するインク量空間であるCMYKlclm空間(dc,dm,dy,dk,dlc,dlm)との対応関係を複数の代表的な格子点について規定したプロファイルである。初期のインクプロファイルIPの作成においては、例えば印刷に使用するインク量空間から173組のランダムなインク量セット(dc,dm,dy,dk,dlc,dlm)を生成する。また、初期の格子点に対応するインク量セット(dc,dm,dy,dk,dlc,dlm)が得られれば、これらのインク量セット(dc,dm,dy,dk,dlc,dlm)で所定の印刷用紙(光沢紙)に印刷を行い、さらに所定の光源(D65光)のもとで観察したときの色(L*a*b*)を分光プリンティングモデルコンバータRCと色コンバータCCの予測によって得ることができる。従って、得られた色(L*a*b*)とインク量セット(dc,dm,dy,dk,dlc,dlm)の対応関係を各格子点について記述することにより初期のインクプロファイルIPを作成することができる。なお、初期の173組のインク量セットは、後述する処理によって最適化されていくため、初期の段階においてどのように生成してもよい。
次に、ステップS330においては、ステップS200にて設定した式(1)または式(3)の評価関数Epおよび重み係数w1〜w4とバランス係数wbc,wbm,wby,wbk,wblc,wblmをプロファイル作成部PD6が取得する。次のステップS340においては、初期のインク量セット(dc,dm,dy,dk,dlc,dlm)を順次最適化していく。具体的には、各格子点について総合的な印刷パフォーマンスを示す評価関数Epを極小化させるインク量セット(dc,dm,dy,dk,dlc,dlm)を順次算出していく。例えば、インク量空間における初期のインク量セットの位置から局所的にインク量セットを移動させ、その際に評価関数Epを極小化させるインク量セットを各格子点について算出していく。
これにより、インク量空間における格子点の位置が評価関数Epを極小化させる方向に修正されたこととなる。さらに、修正後の位置から同様に局所的にインク量セットを移動させ、その際に評価関数Epを極小化させるインク量セットを各格子点について算出していく。以上のような処理を繰り返し(例えば200回)実行することにより、最終的には各格子点についての評価関数Epが極めて小さくなる(総合的な印刷パフォーマンスが高い)格子点に最適化することができる。なお、以上の処理を規定回数行うことをもって格子点の最適化を完了させてもよいし、評価関数Epの値が所定の閾値を下回ることをもって格子点の最適化を完了させてもよい。この間に、プロファイル作成部PD6は、最適化の進捗状況をステータスモニタ部PD1に出力する。ステータスモニタ部PD1はこの進捗状況をステータスバーに反映させるよう、UI部PD2に指示をする。
この最適化処理においては順次更新されるインク量セット(dc,dm,dy,dk,dlc,dlm)について評価関数Epを算出することが必要となるが、その際に、後述する各コンバータRC,CC,GC,SCを利用することによって、逐次、各インク量セット(dc,dm,dy,dk,dlc,dlm)に対応する分光反射率R(λ)や粒状性指数GIや色恒常性指数CIIや平滑程度評価指数SIが算出され、評価関数Epが求められることとなる。最適化を行う際にもステップS310にて設定された印刷用紙と観察光源のもとで分光プリンティングモデルコンバータRCと色コンバータCCが色(L*a*b*)の予測を行う。なお、本実施形態において、特開2006−197080号公報に開示された格子点の最適化の手法を適用することもできる。この場合、インク量空間にて評価関数Epを0とする方向の仮想的な力を各格子点に作用させ、当該力によってインク量空間における格子点の位置を定常状態に収束させればよい。
以上のようにして各格子点が最適化されると、ステップS350おいて、最適化された格子点のインク量セット(dc,dm,dy,dk,dlc,dlm)に対応した色(L*a*b*)を分光プリンティングモデルコンバータRCおよび色コンバータCCによって算出する。ここでも、ステップS310にて設定された印刷用紙(光沢紙)と観察光源(D65光)のもとで分光プリンティングモデルコンバータRCと色コンバータCCが色(L*a*b*)の予測を行う。そして、互いに対応するL*a*b*値とインク量セット(dc,dm,dy,dk,dlc,dlm)との対応関係を記述したインクプロファイルIPをプロファイル作成部PD6が作成する。
ステップS360においては、プロファイル作成部PD6がインクプロファイルIPに基づいて色変換プロファイルCPを作成する。図10に示すように色変換プロファイルCPは、例えばsRGB色空間で各画素の色が表された画像データをプリンタ20におけるインク量空間の画像データに変換するプロファイルである。sRGB色空間はCIE標準に基づいてCIELAB色空間との対応関係(sRGBプロファイルSP)が定められているため、インクプロファイルIPに規定された各格子点のL*a*b*値によってsRGB色空間のRGB値とインク量セット(dc,dm,dy,dk,dlc,dlm)との対応関係を特定し、プロファイル化することができる。また、sRGB色空間のRGB値とインク量セット(dc,dm,dy,dk,dlc,dlm)との対応関係を特定する際に、意図的に補正量を与えて、色補正を行う色変換プロファイルCPを作成するようにしてもよい。sRGBプロファイルSPについても平滑程度評価指数SIによる最適化を行っておくことが望ましい(特開2006−197080号公報、参照。)。なお、CIELAB色空間におけるsRGB色空間のガマットとプリンタ20の色再現ガマットが異なるため、適宜ガマットマッピングが行われる。プロファイル作成部PD6は、作成した色変換プロファイルCPに、印刷用紙(光沢紙)と観察光源(D65光)を特定したヘッダを添付してHDD11に記憶する。
以上のようにして作成された色変換プロファイルCPにおいては、sRGB色空間におけるRGB値とインク量空間におけるインク量セット(dc,dm,dy,dk,dlc,dlm)との対応関係を複数(例えば173個)の格子点について規定することができる。さらに、色変換プロファイルCPにおいては、粒状性と色恒常性と階調性と色再現ガマットとランニングコストが各重み係数w1〜w4とバランス係数wbc,wbm,wby,wbk,wblc,wblmに応じた良好度合いとなるインク量セット(dc,dm,dy,dk,dlc,dlm)を持つ格子点が規定されることとなる。上述した最適化を行うことにより、インク量空間における格子点の座標(dc,dm,dy,dk,dlc,dlm)は粒状性と色恒常性と階調性と色再現ガマットとランニングコストが良好となる領域に徐々に移動していき、最終的に最適な位置に移動させることができるからである。印刷画像にて再現すべき色の色域が大きく変動することはないが、当該色域に対応するインク量空間の領域の自由度ははるかに大きいと言える。すなわち、CIELAB色空間にて一のL*a*b*値を定めたとしても、ある光源下で当該L*a*b*値が再現可能な印刷結果を実現するインク量セット(dc,dm,dy,dk,dlc,dlm)を一意に定めることはできない。
例えば、KインクとCMYインクは分版可能な関係にあるため、ある光源において分版比率を変更しても同一のL*a*b*を再現することができる。CインクとlcインクやMインクとlmインクの関係についても同様である。例えば、KインクとCMYインクとの分版比率はCIELAB色空間におけるL*a*b*値を定めても一意に定めることができないが、ハイライト領域において濃いKインクを発生させると粒状性が目立つこととなる。従って、粒状性の面では、ハイライト領域のL*a*b*値に対してはdkを抑えることにより、インク量セット(dc,dm,dy,dk,dlc,dlm)を最適化することができると言える。その一方で、Kインクのインク量dkを抑え、分光反射率がフラットでないCMYインクによるコンポジットグレーを多用すれば、色恒常性が損なわれることとなる。このように、複数のパフォーマンス要素を同時に満足させることは困難であり、そのような妥協点を解とする分版規則を多次元のインク量空間において規定するのは実質的に不可能である。さらに、どのパフォーマンス要素をどれだけ重視するかということを設定可能とした場合、より分版規則を規定するのは困難となる。
これに対して、各パフォーマンス要素の重視度合いを重み係数w1〜w4とバランス係数wbc,wbm,wby,wbk,wblc,wblmによって設定された総合的な印刷パフォーマンスの指標となる評価関数Epを使用して各格子点を最適化することにより、上述した複雑な分版規則を規定することなく好適なインク量セット(dc,dm,dy,dk,dlc,dlm)を探し出すことができる。ステップS240にてインク別にバランス係数wbc,wbm,wby,wbk,wblc,wblmを与え、残量の少ないlmインクについては重みを2倍に大きくしている。従って、評価関数Epに対する残量の少ないインクのインク量の寄与を大きくすることができ、残量の少ないインクのインク量を抑制することができる。色変換プロファイルCPが作成できると、図1(図4)の監視処理(ステップS100)戻る。すなわち、色変換プロファイルCPが作成され、印刷可能な状態となったため、印刷指示を監視する通常の処理に戻る。なお、ステップS100の監視処理に戻る際には、現在表示中の通知画面(図6)の表示を終了させる。
A−5.色変換および印刷
図11は、色変換処理および印刷処理の流れを示している。プロファイル作成部PD6が変換プロファイルCPの作成している間は、ユーザーは印刷指示ができない待ち状態となるが、図6に示した通知画面にて変換プロファイルCPが作成中である旨およびその進捗状況を確認することができる。変換プロファイルCPの作成中以外は、図4の監視処理が実行されており、ステップ160にて印刷指示が常時監視される。図4の監視処理では、カートリッジホルダ21a,21a・・・におけるインクカートリッジ22a,22a・・・の換装や残量状況の監視を常時行い、いち早く変換プロファイルCPの作成を開始するようにしているため、ユーザーの待ち時間を短縮することができる。例えば、ユーザーがインクカートリッジ22a,22a・・・を換装した直後から変換プロファイルCPの作成を開始することができるため、換装後にユーザーが印刷を指示しようとした時点で、ある程度、変換プロファイルCPの作成を完了させておくことができる。また、ある印刷ジョブを完了させた(インク残量に変動が生じた)時点でインクの残量の低下したことを監視し、変換プロファイルCPの作成を開始させておくことができるため、次の印刷指示が受け付けられるまでに変換プロファイルCPの作成を完了させておくことができる。
ステップS410においては、色変換部PD7がUI部PD2にてユーザーから受け付けた印刷対象の画像データや印刷用紙サイズや印刷枚数などを取得する。本実施形態では、sRGBの画像データを印刷するように指定されているものとする。ステップS420では、色変換プロファイルCPをHDD11から取得する。本実施形態では、ステップS360にて該当する色変換プロファイルCPが作成されているため、当該色変換プロファイルCPが取得される。なお、ステップS230においてプロファイル作成指針設定部PD5が色変換プロファイル作成の必要性がないと判断した場合には、ステップS420で該当する既存の色変換プロファイルCPがHDD11に存在していることとなるため、既存の色変換プロファイルCPがHDD11から取得されることとなる。
ステップS430においては、ステップS410にて取得した印刷対象の画像データを、ステップS420にて取得した色変換プロファイルCPによって色変換する。具体的には、画像データの各画素のRGB値を取得し、当該RGB値に対応付けられたインク量セット(dc,dm,dy,dk,dlc,dlm)を色変換プロファイルCPによって順次取得していく。色変換プロファイルCPは、代表的な格子点についてのみ対応関係を規定するが、格子点間のRGB値に対応するインク量セット(dc,dm,dy,dk,dlc,dlm)は補間演算によって求めることができる。すべての画素についてインク量セット(dc,dm,dy,dk,dlc,dlm)は補間演算によって求められると、各画素がインク量セット(dc,dm,dy,dk,dlc,dlm)で表された色変換データに変換できたこととなる。
本発明においては、プリンタ20に搭載されたインクセットに変動があったり、いずれかのインクの残量が少なくなったりしたことを検知し、それに応じてプロファイル作成部PD6が設定されたインクセットに対応した色変換プロファイルCPの作成を開始するようにしている。従って、実際に印刷が指示されるよりも前に色変換プロファイルCPの作成を開始することができ、ユーザーの待ち時間を短縮することができる。
次のステップS440においては、印刷データ生成部PD8がインク量セット(dc,dm,dy,dk,dlc,dlm)の画素情報を有する色変換データを取得し、当該色変換データにハーフトーン処理を実行する。ここでは、ディザ法や誤差拡散法等を適用することができ、各画素がインク吐出をする/しないか、あるいは、大ドットを吐出する/中ドットを吐出する/小ドットを吐出する/いずれも吐出しないか等を特定する情報を有するハーフトーンデータに変換する。ステップS450においては、印刷データ生成部PD8がハーフトーンデータを取得し、当該ハーフトーンデータに基づいてマイクロウィーブ処理を実行する。
具体的には、ハーフトーンデータの各画素を、どの主走査/副走査タイミングにおけるどのインクノズルに担当させるかを特定した印刷データを生成する。ステップS450においては、印刷データ生成部PD8が印刷条件等のプリンタ20の制御情報を添付した印刷データをUSBI/F14を介して、プリンタ20に出力する。すると、プリンタ20のファームウェアFWが印刷データを取得するとともに、当該印刷データに基づいて紙送り機構27やキャリッジモータ28や印刷ヘッド29への駆動信号を生成する。これにより、印刷用紙上の各位置に色変換データの各画素が有するインク量セット(dc,dm,dy,dk,dlc,dlm)に応じた量のインクを吐出することができ、印刷画像を形成することができる。
この印刷画像における各インクの割合(被覆率)、および、印刷中のインク吐出量の割合は、色変換プロファイルCPに規定された格子点のインク量セット(dc,dm,dy,dk,dlc,dlm)が反映されたものとなる。従って、色変換プロファイルCPに規定された格子点のインク量セット(dc,dm,dy,dk,dlc,dlm)と同様に、インクの残量が少ないlmインクについては消費量を抑制した印刷を行うことができる。ステップS450にて印刷データの出力が完了すると、プリンタドライバPDは図4の監視処理におけるステップS120に戻って再度インクの状態を監視するため、印刷中または印刷後のインクの残量状態に応じて色変換プロファイルCPを作成することができる。印刷中にインクカートリッジ22a,22a・・・が換装されることは考えにくいが、印刷中にインク残量が上述した基準値を下回ることは考えられる。従って、印刷中においてもプリンタドライバPDが色変換プロファイルCPの作成を開始することができる。
B.各種コンバータ
B−1.分光プリンティングモデルコンバータ
分光プリンティングモデルコンバータCCは、本実施形態のプリンタ20で使用され得る任意のインク量セット(dc,dm,dy,dk,dlc,dlm,dlk,dllk,ddy,dr,do,dg,db)で印刷を行った場合の分光反射率R(λ)を予測するコンバータである。分光プリンティングモデルコンバータCCは、インク量空間における複数の代表点について実際にカラーパッチを印刷し、分光反射率R(λ)を測定することにより得られた分光反射率データDをHDD11から読み出して使用する。そして、この分光反射率データDを使用したセル分割ユール・ニールセン分光ノイゲバウアモデル(Cellular Yule-Nielsen Spectral Neugebauer Model)による予測を行うことにより、正確に任意のインク量セット(dc,dm,dy,dk,dlc,dlm,dlk,dllk,ddy,dr,do,dg,db)で印刷を行った場合の分光反射率R(λ)を予測する。
図12は、分光反射率データDを示している。同図に示すように分光反射率データDはインク量空間(本実施形態では13次元であるが、図の簡略化のためCM面のみ図示。)における複数の格子点のインク量セット(dc,dm,dy,dk,dlc,dlm,dlk,dllk,ddy,dr,do,dg,db)について実際に印刷/測定をして得られた分光反射率R(λ)が記述されたルックアップテーブルとなっている。例えば、各インク量軸を均等に分割する5グリッドの格子点を発生させる。ここでは513個もの格子点が発生し、膨大な量のカラーパッチの印刷/測定をすることが必要となるが、実際にはプリンタ20にて同時に搭載可能なインク数や同時に吐出可能なインクデューティの制限があるため、印刷/測定をする格子点の数は絞られることとなる。
さらに、一部の格子点のみ実際に印刷/測定をし、他の格子点については実際に印刷/測定を行った格子点の分光反射率R(λ)に基づいて分光反射率R(λ)を予測することにより、実際に印刷/測定を行うカラーパッチの個数を低減させてもよい。分光反射率データDは、プリンタ20が印刷可能な印刷用紙ごとに用意されている必要がある。厳密には、分光反射率R(λ)は印刷用紙上に形成されたインク膜による分光透過率と印刷用紙の反射率によって決まるものであり、印刷用紙の表面物性(インク膜形状が依存)や反射率の影響を大きく受けるからである。分光反射率データDの作成には、分光反射率計が必要となるため、一般のユーザーが分光反射率データDを用意することができないため、予めプリンタ20の製造元が分光反射率データDを用意し、プリンタドライバPDのインストール等によりHDD11に記憶される。次に、分光反射率データDを使用したセル分割ユール・ニールセン分光ノイゲバウアモデルによる予測を説明する。
分光プリンティングモデルコンバータCCは、プロファイル作成部PD6の要請に応じて分光反射率データDを使用したセル分割ユール・ニールセン分光ノイゲバウアモデルによる予測を実行する。この予測にあたっては、まずプロファイル作成部PD6から予測条件を取得し、この予測条件を設定する。具体的には、印刷用紙やインクセットを設定する。本実施形態では、光沢紙に対して印刷することとしているため、光沢紙にカラーパッチを印刷することにより作成した分光反射率データDが設定される。インクセットとしてはCMYKlclmが設定されているため、CMYKlclm以外のインク量dlk,dllk,ddy,dr,do,dg,dbを使用しないように(dlk=dllk=ddy=dr=do=dg=db=0)とする制限を加える。これにより、分光プリンティングモデルコンバータCCの予測の作業空間が実質的に6次元に抑えられたこととなる。
以上のようにして分光反射率データDの設定ができると、任意のインク量セット(dc,dm,dy,dk,dlc,dlm)で印刷したときの分光反射率R(λ)の予測を行う。予測すべきインク量セット(dc,dm,dy,dk,dlc,dlm)は、プロファイル作成部PD6から順次入力される。例えば、ステップS340における最適化では、各格子点のインク量セット(dc,dm,dy,dk,dlc,dlm)が順次入力され、最終的には最適化された各格子点のインク量セット(dc,dm,dy,dk,dlc,dlm)が入力されることとなる。分光プリンティングモデルコンバータCCは、プロファイル作成部PD6からのインク量セット(dc,dm,dy,dk,dlc,dlm)の入力に応じて、予測した分光反射率R(λ)を色コンバータCCに渡す。
セル分割ユール・ニールセン分光ノイゲバウアモデルは、よく知られた分光ノイゲバウアモデルとユール・ニールセンモデルとに基づいている。なお、以下の説明では、説明の簡略化のためCMYの3種類のインクを用いた場合のモデルについて説明するが、同様のモデルを本実施形態のCMYKlclmやORGBdylkllkを含む任意のインクセットを用いたモデルに拡張することは容易である。また、セル分割ユール・ニールセン分光ノイゲバウアモデルについては、Color Res Appl 25, 4-19, 2000およびR Balasubramanian, Optimization of the spectral Neugebauer model for printer characterization, J. Electronic Imaging 8(2), 156-166 (1999)を参照。
図13は、分光ノイゲバウアモデルを示す図である。分光ノイゲバウアモデルでは、任意のインク量セット(d
c,d
m,d
y)で印刷したときの印刷物の分光反射率R(λ)は、以下の(3)式で与えられる。
ここで、a
iはi番目の領域の面積率であり、R
i(λ)はi番目の領域の分光反射率である。添え字iは、インクの無い領域(w)と、シアンインクのみの領域(c)と、マゼンタインクのみの領域(m)と、イエローインクのみの領域(y)と、マゼンタインクとイエローインクが吐出される領域(r)と、イエローインクとシアンインクが吐出される領域(g)と、シアンインクとマゼンタインクが吐出される領域(b)と、CMYの3つのインクが吐出される領域(k)をそれぞれ意味している。また、f
c,f
m,f
yは、CMY各インクを1種類のみ吐出したときにそのインクで覆われる面積の割合(「インク被覆率(Ink area coverage)」と呼ぶ)である。
インク被覆率fc,fm,fyは、図13(B)に示すマーレイ・デービスモデルで与えられる。マーレイ・デービスモデルでは、例えばシアンインクのインク被覆率fcは、シアンのインク量dcの非線形関数であり、例えば1次元ルックアップテーブルによってインク量dcをインク被覆率fcに換算することができる。インク被覆率fc,fm,fyがインク量dc,dm,dyの非線形関数となる理由は、単位面積に少量のインクが吐出された場合にはインクが十分に広がるが、多量のインクが吐出された場合にはインクが重なり合うためにインクで覆われる面積があまり増加しないためである。他の種類のMYインクについても同様である。
分光反射率に関するユール・ニールセンモデルを適用すると、上記(3)式は以下の(4a)式または(4b)式に書き換えられる。
ここで、nは1以上の所定の係数であり、例えばn=10に設定することができる。(4a)式および(4b)式は、ユール・ニールセン分光ノイゲバウアモデル(Yule-Nielsen Spectral Neugebauer Model)を表す式である。
本実施形態で採用するセル分割ユール・ニールセン分光ノイゲバウアモデル(Cellular Yule-Nielsen Spectral Neugebauer Model)は、上述したユール・ニールセン分光ノイゲバウアモデルのインク量空間を複数のセルに分割したものである。
図14(A)は、セル分割ユール・ニールセン分光ノイゲバウアモデルにおけるセル分割の例を示している。ここでは、説明の簡略化のために、CMインクのインク量dc,dmの2つの軸を含む2次元インク量空間でのセル分割を描いている。なお、インク被覆率fc,fmは上述したマーレイ・デービスモデルにてインク量dc,dmと一意の関係にあるため、インク被覆率fc,fmを示す軸と考えることもできる。白丸は、セル分割のグリッド点(「ノード」と呼ぶ)であり、2次元のインク量(被覆率)空間が9つのセルC1〜C9に分割されている。各ノードに対応するインク量セット(dc,dm)は、分光反射率データDに規定された格子点に対応するインク量セットとされている。すなわち、上述した分光反射率データDを参照することにより、各ノードの分光反射率R(λ)を得ることができる。従って、各ノードの分光反射率R(λ)00,R(λ)10,R(λ)20・・・R(λ)33は、分光反射率データDから取得することができる。
実際には、本実施形態ではセル分割もCMYKlclmの6次元インク量空間で行うとともに、各ノードの座標も6次元のインク量セット(dc,dm,dy,dk,dlc,dlm)によって表される。そして、各ノードのインク量セット(dc,dm,dy,dk,dlc,dlm)に対応する格子点の分光反射率R(λ)が分光反射率データD(光沢紙のもの)から取得されることとなる。
図14(B)は、セル分割モデルにて使用するインク被覆率fcとインク量dcとの関係を示している。ここでは、1種類のインクのインク量の範囲0〜dcmaxも3つの区間に分割されており、各区間毎に0から1まで単調に増加する非線形の曲線によってセル分割モデルにて使用する仮想的なインク被覆率fcが求められる。他のインクについても同様にインク被覆率fm,fyが求められる。
図14(C)は、図14(A)の中央のセルC5内にある任意のインク量セット(d
c,d
m)にて印刷を行った場合の分光反射率R(λ)の算出方法を示している。インク量セット(d
c,d
m)にて印刷を行った場合の分光反射率R(λ)は、以下の(5)式で与えられる。
ここで、(5)式におけるインク被覆率f
c,f
mは図14(B)のグラフで与えられる値である。また、セルC5を囲む4つのノードに対応する分光反射率R(λ)
11,(λ)
12,(λ)
21,(λ)
22は分光反射率データDを参照することにより取得することができる。これにより、(5)式の右辺を構成するすべての値を確定することができ、その計算結果として任意のインク量セット(d
c,d
m)にて印刷を行った場合の分光反射率R(λ)を算出することができる。波長λを可視光域にて順次シフトさせていくことにより、可視光領域における分光反射率R(λ)を得ることができる。インク量空間を複数のセルに分割すれば、分割しない場合に比べてサンプルの分光反射率R(λ)をより精度良く算出することができる。予測した分光反射率R(λ)は、色コンバータCCに出力される。次に、色コンバータCCについて説明する。
B−2.色コンバータ
図15は、色コンバータCCが分光反射率R(λ)に基づいて色を特定する処理を模式的に示している。同図において、分光プリンティングコンバータRCが予測した分光反射率R(λ)の各波長λにおいて所望の光源のスペクトルを乗算することにより、印刷物からの反射光のスペクトルを予測する。本実施形態ではD65光が設定されているため、D65光のスペクトルが使用される。次に、反射光のスペクトルに対して所望の観察条件での感度関数x(λ),y(λ),z(λ)を畳み込み、正規化をすることにより、三刺激値XYZを算出する。本実施形態においては、特に示さない限りCIE1931 2°観測者の観察条件で三刺激値XYZを算出するものとする。さらに、色コンバータCCは、三刺激値XYZにCIE標準の変換式を適用することにより、CIELAB表色系のL*a*b*値を算出する。このように、分光プリンティングコンバータRCと色コンバータCCを順次使用することによりプロファイル作成部PD6が予測を要請するインク量セット(dc,dm,dy,dk,dlc,dlm)にて印刷を行った場合のL*a*b*値を得ることができ、予測したL*a*b*値を平滑性コンバータSCに受け渡すことができる。
さらに、色コンバータCCは、三刺激値XYZに対して色順応変換を行うことが可能となっている。例えば、D50光にて算出した三刺激値XYZにCIECAT02に基づく色順応変換式を適用することにより、例えばD50光の下での色の見えを、D65光の対応色で表現したL*a*b*値に変換することができる。なお、CIECAT02については、例えば"The CIECAM02 Color Appearance Model", Nathan Moroney et al., IS&T/SID Tenth Color Imaging Conference, pp.23-27, および、"The performance of CIECAM02", Changjun Li et al., IS&T/SID Tenth Color Imaging Conference, pp.28-31に記載されている。ただし、色順応変換としては、フォン・クリースの色順応予測式などの他の任意の色順応変換を用いることも可能である。
この色順応変換によって得られたL
*a
*b
*値をCV
L1→Lsと表記するものとする。この下付き文字「L1→Ls」は、光源L1の下での色の見えを、標準光源Lsの対応色で表現したL
*a
*b
*値であることを意味している。色コンバータCCは、少なくとも2以上の比較用光源L1,L2の下での見えを、標準光源Lsの対応色で表現した色彩値CV
L1→Ls,CV
L2→Lsを求めるとともに、これらに基づいて色恒常性指数CIIを算出する。本実施形態では、ステップS310にて観察光源がD65光と設定されているため、標準光源LsがD65光とされる。比較用光源L1,L2は、例えばD50光やF11光とされる。色恒常性指数CIIは、例えば下記の(6)式によって算出することができる。
色恒常性指数CIIについては、Billmeyer and Saltzman's Principles of Color Technology, 3rd edition, John Wiley & Sons, Inc, 2000, p.129,p. 213-215を参照。なお、(3)式の右辺は、CIE1994年色差式において、明度と彩度の係数kL,kCの値を2に設定し、色相の係数kHの値を1に設定した色差ΔE
*94(2:2)に相当する。CIE1994年色差式では、(6)式の右辺の分母の係数SL,Sc,SHは以下の(7)式で与えられる。
なお、色恒常性指数CIIの算出に使用する色差式としては、他の式を用いることも可能である。色恒常性指数CIIは、あるカラーパッチを異なる観察条件下で観察したときの色の見えの差として定義されている。従って、印刷したときに色恒常性指数CIIが小さくなるインク量セットは、異なる観察条件での色の見えの差が小さいという点で好ましい。また、色彩値CVL1→Ls,CVL2→Lsは、同一の標準観察条件におけるそれぞれの対応色の測色値なので、それらの色差である色恒常性指数CIIは色の見えの違いをかなり正確に表現する値となる。色コンバータCCは、プロファイル作成部PD6が予測を要請するインク量セット(dc,dm,dy,dk,dlc,dlm)にて印刷を行った場合のL*a*b*値とともに、色恒常性指数CIIもプロファイル作成部PD6に返す。次に、粒状性コンバータGCおよびその準備について説明する。
B−3.粒状性コンバータ
粒状性コンバータGCはプロファイル作成部PD6が予測を要請するインク量セット(dc,dm,dy,dk,dlc,dlm,dlk,dllk,ddy,dr,do,dg,db)にて印刷を行った場合の粒状性指数GIを予測し、当該粒状性指数GIをプロファイル作成部PD6に返す処理を行う。なお、本実施形態では、CMYKlclmのみ印刷に使用するため、他のインク量は常にdlk=dllk=ddy=dr=do=dg=db=0が入力される。ニューラルネットワークNNGを印刷に使用され得るすべてのインクのインク量dc,dm,dy,dk,dlc,dlm,dlk,dllk,ddy,dr,do,dg,dbが入力可能な構造としておくことにより、印刷に使用しないインクのインク量を0として入力することにより印刷に使用する任意のインクセットにおける粒状性指数GIを得ることができる。
図16は、ニューラルネットワークNNGを示している。同図において、各インクのインク量dc,dm,dy,dk,dlc,dlm,dlk,dllk,ddy,dr,do,dg,dbがニューラルネットワークNNGの入力層に入力可能となっており、出力層では粒状生成数GIを出力することが可能となっている。このような、ニューラルネットワークNNGをHDD11に予め用意しておけば、プロファイル作成部PD6に要請されたインク量セット(dc,dm,dy,dk,dlc,dlm)を粒状生成数GIにコンバートし、当該粒状生成数GIをプロファイル作成部PD6に返すことができる。
なお、粒状性指数GIが以下の(8)式で定義されるものとする。
粒状性指数GIについては、例えば、Makoto Fujino,Image Quality Evaluation of Inkjet Prints, Japan Hardcopy '99, p.291-294を参照。なお、(8)式のa
Lは明度補正項、WS(u)は画像のウイナースペクトラム、VTFは視覚の空間周波数特性、uは空間周波数である。
上記の(8)式において、粒状性指数GIはカラーパッチをスキャナ等で撮像した画像データを画像平面に関してフーリエ変換することにより、画像に存在する空間波のパワースペクトルを得るとともに、当該パワースペクトルに対して視覚の空間周波数特性VTFを畳み込むことにより算出される。なお、画像データは明度の画像データを使用するのが一般的である。このように粒状性指数GIは、カラーパッチ内に存在する明度の空間波の大きさを空間周波数特性VTFによる重み付けを考慮して全空間周波数に関して累積した値であるといえる。したがって、目立ちやすい粒状性を定量化することができる。なお、明度補正項aLによって全体の明度の粒状性指数GIへの寄与を減殺している。
印刷に使用され得るCMYKlclmlkllkORGBdyインクのインク量空間における代表的なインク量セット(dc,dm,dy,dk,dlc,dlm,dlk,dllk,ddy,dr,do,dg,db)について実際にカラーパッチを印刷し、粒状性指数GIを上記の(8)式によって算出することにより、ニューラルネットワークNNGの学習データを用意する。そして、当該学習データによって学習を行うことによって、図16に示すニューラルネットワークNNGの構造を決定する層数や中間ユニットの数や各重み係数やバイアスを順次最適化していく。ニューラルネットワークNNGの学習においてはバックプロバケーション法を使用するのが一般的である。本実施形態においては、ニューラルネットワークNNGがHDD11に予め用意されており、粒状性コンバータGCが使用することが可能となっている。粒状性コンバータGCは、得られた粒状性指数GIをプロファイル作成部PD6に返す。
B−4.平滑性コンバータ
図17は、平滑性コンバータSCが算出する平滑程度評価指数SIを模式的に説明している。平滑性コンバータSCは、プロファイル作成部PD6が予測を要請する格子点のインク量セットで印刷したときの色のCIELAB色空間における平滑程度を評価する処理を行う。平滑性コンバータSCは、本実施形態ではプロファイル作成部PD6が予測を要請する格子点のインク量セットで印刷したときの色をD65光にて観察したときのL*a*b*値が色コンバータCCから入力されており、このL*a*b*値のCIELAB色空間における平滑程度が定量化される。
同図において、○はCIELAB空間における複数の格子点の位置を示し、●は当該格子点のうち注目する格子点(評価関数E
pの算出対象の格子点)を示している。注目する格子点の位置ベクトルをLpとし、当該格子点に隣接する6個の格子点の位置ベクトルをL
a1〜L
a6とすると、平滑程度評価指数SIは下記の(9)式によって表される。
平滑程度評価指数SIは、注目する格子点から互いに逆向きのベクトルの距離が等しく、方向が正反対に近いほど値が小さくなるようにしてある。
図17(B)に示すように、隣接する格子点を結ぶ線(ベクトルLa1〜ベクトルLp〜ベクトルLa2が示す格子点を通る線等)が直線に近く、また格子点が均等に配置されるほどCIELAB色空間における格子点の配置が平滑化される傾向にあるので、式(10)に示す平滑程度評価指数SIが小さくなればなるほど、平滑程度が高くなるということができる。CIELAB色空間におけるL*a*b*値は、本実施形態のインク量セット(dc,dm,dy,dk,dlc,dlm)を分光プリンティングモデルコンバータRCと色コンバータCCによって順次変換することにより得ることができるため、平滑程度評価指数SIはインク量セットの関数であるということができる。平滑程度評価指数SIは小さい方が良好な階調性が期待できる。平滑性コンバータSCは、平滑程度評価指数SIを算出すると、平滑程度評価指数SIをプロファイル作成部PD6に返す。
図18は、本実施形態のインクセットCMYKlclmでプリンタ20が印刷を行う場合の色再現ガマットをCIELAB色空間において示している。同図に示すように、プリンタ20の色再現ガマットは予めプリンタ20のハードウェア仕様やインクセットによって定められており、この範囲において色を再現することができる。平滑性コンバータSCは、この色再現ガマットの情報を有しており、当該色再現ガマットの外面上や稜線上や頂点上のL*a*b*値と、色コンバータCCが算出した一部の格子点のL*a*b*値との色差ΔEを算出する。色差ΔEの算出の対象は、格子点のうちインク量空間の外縁に存在するものとされ、内側の格子点については色差ΔE=0とする。インク量空間の外縁に存在する格子点を分光プリンティングモデルコンバータRCによって変換したL*a*b*値も同様にCIELAB空間において外縁に存在すると考えられるからである。これにより、格子点のうちインク量空間の外縁に存在するものを分光プリンティングモデルコンバータRCと色コンバータCCによって順次変換したL*a*b*値の、プリンタ20が再現可能な色再現ガマットの外面上や稜線上や頂点上までの色ずれを定量化することができる。平滑性コンバータSCは、色差ΔEをプロファイル作成部PD6に返し、当該色差ΔEが最適化に使用される。
この色差ΔEは式(1)または式(3)の評価関数Epに加算されており、評価関数Epを極小化するように最適化(ステップS340)することにより、CIELAB色空間における外縁の格子点は色再現ガマットの外面上や稜線上や頂点上に近づくように移動することとなる。これにより、色再現ガマットを最大限に利用するインクプロファイルIPおよび色変換プロファイルCPを作成することができる。一方、色再現ガマットの内側の格子点については色差ΔE=0とされるため、CIELAB色空間における特定の色に拘束されることはない。しかし、平滑程度評価指数SIを加算した評価関数Epが極小化するように最適化を行うことによって、上述した色再現ガマットの内側にて平滑的に分布するように各格子点を移動させることができる。このようにして、ステップS340における最適化では、CIELAB色空間における格子点の最適化されることとなる。なお、図18のCIELAB色空間では可視化することができないが、CIELAB色空間における格子点の最適化されると同時に、ステップS340では他の粒状性指数GIや色恒常性指数CIIやインクのランニングコストも良好となるようインク量セット(dc,dm,dy,dk,dlc,dlm)が最適化されることとなる。
C.まとめと変形例
A節において説明したように、本発明においては、プリンタ20に搭載されたインクセットに変動があったり、いずれかのインクの残量が少なくなったりしたことを検知し、それに応じてプロファイル作成部PD6が設定されたインクセットに対応した色変換プロファイルCPの作成を開始するようにしている。従って、実際に印刷が指示されるよりも前に色変換プロファイルCPの作成を開始することができ、ユーザーの待ち時間を短縮することができる。また、プロファイル作成部PD6が色変換プロファイルCPを作成するにあたり、ステップS240にてインク別にバランス係数wbc,wbm,wby,wbk,wblc,wblmを与え、残量の少ないインクについては重みを大きくする。従って、評価関数Epに対する残量の少ないインクのインク量の寄与を大きくすることができ、残量の少ないインクのインク量を抑制することができる。
なお、色変換プロファイルCPを作成頻度が高くなりすぎると、ユーザーの待ち時間が多く発生することとなる。そのため、ユーザーの待ちをする機会を減らすために、色変換プロファイルCPの作成に制限を加えてもよい。例えば、一定期間内における色変換プロファイルCPの作成回数を制限したり、残量の変化量が大きい場合のみ新たな色変換プロファイルCPを作成したり、ユーザーに許可された場合のみ作成してもよい。むろん、異なる種類のインクのインクカートリッジ22a,22a・・・に換装された場合には、このような制限を受けることなく色変換プロファイルCPを作成すべきである。
また、上述した実施形態において、いずれかのインクのインク残量が15%より少ないことをもって当該インクの使用量を抑えた変換プロファイルCPを作成している場合であって、かつ、当該インクを除外したインクセットについての変換プロファイルCPがHDD11に記憶されている場合には、図6に示した通知画面にてHDD11に記憶されている変換プロファイルCPの使用可否を問い合わせるようにしてもよい。また、上述した実施形態において、図8(C)のようにいずれかのインクのインク残量が5%より少ないことをもって当該インクを使用させない変換プロファイルCPを作成するとともに、当該インクの使用量を抑えた変換プロファイルCPも作成することとしている。
この場合、まずは、できるだけ当該インクを使い尽くすように、当該インクの使用量を抑えた変換プロファイルCPを先に作成すべきである。当該インクの使用量を抑えた変換プロファイルCPが先に作成された時点で、当該変換プロファイルCPを使用した印刷を開始させるとともに、引き続きバックグラウンドで当該インクを使用させない変換プロファイルCPの作成を行うようにしてもよい。当該インクを使用させない変換プロファイルCPの作成中に当該インクの残量が尽きた場合、当該変換プロファイルCPの作成完了を待って印刷を再開させればよい。逆に、当該インクを使用させない変換プロファイルCPの作成完了後に、当該インクの残量が尽きた場合には当該変換プロファイルCPに切り替えて印刷を行えばよい。
各インクのバランス係数wbiを設定する手法は、上述した実施形態の他にも種々考えられる。上述した実施形態では、インク残量に基づいて各インクのバランス係数wbiを設定するようにしたが、他の観点に基づいてバランス係数wbiを設定するようにしてもよい。ROM22a1,22a1・・・からインクカートリッジ22a,22a・・・の製造日の情報が得られる場合、各インクの新しさを判断することができる。インクカートリッジ22a,22a・・・の新しさに応じてバランス係数wbiを設定してもよい。例えば、lmインクのみが古く、品質保証期限が迫っている場合、lmインクのバランス係数wblmを他のCMYKlcインクのバランス係数wbiの半分等にすることにより、lmインクを積極的に使用させ、早期に使い切るようにすることができる。逆に、品質保証期限が過ぎてしまっている場合には、lmインクのバランス係数wblmを無限大にすることにより、lmインクを使用させないようにしてもよい。
さらに、バランス係数wbiの設定にインクカートリッジ22a,22a・・・のインク収容容量を反映させるようにしてもよい。プリンタ20の仕様によっては、インクに応じてインクカートリッジ22a,22a・・・の収容容量が異なることもある。この場合、収容容量の大きいインクのバランス係数wbiの他のインクのバランス係数wbiよりも小さくすることにより、当該収容容量の大きいインクを多く印刷に使用させることができる。収容容量の小さい他のインクの使用量は相対的に抑えられるため、インクカートリッジ22a,22a・・・の交換頻度を抑えることができる。また、高価なインクは極力使用しないようにバランス係数wbiの他のインクのバランス係数wbiよりも大きくしてもよい。このようにすることにより、費用的にもインクのランニングコストをコントロールすることができる。むろん、上述した粒状性等の画質とトレードオフの関係にある可能性もあるため、ランニングコストを重視すべきか否かをユーザーが指定できるようにしてもよい。
図19は、インクカートリッジの搭載状況の一例を示している。同図に示すように、インクカートリッジ22a1は単一の容器に3種類のCMYKインクを収容する集合型色材容器として提供されている。このような場合、CMYKインクのうちいずれか一つのインクがなくなった場合でも、インクカートリッジ22a1全体を交換しなければならないため、他のインクは無駄に廃棄されることとなる。このようなことをできるだけ防止するために、下記の(10)式のようにバランス係数w
biを設定するようにしてもよい。
上記の(10)式ではバランス係数wbc,wbm,wby,wbkが、各インクのインク残量tc,tm,ty,tkの逆数に応じた比で設定されている。上記の(10)式によれば、インク残量tiが少ないインクほど、上記の(1)式の第5項への寄与を大きくすることができる。逆に、インク残量tiが多いインクほど、インク量diの第5項への寄与が小さくすることができる。従って、インク残量tiが少ないインクほどインク量diの増大したときに、評価関数Epが増大しやすくなる。このような、バランス係数wbiを設定すれば、印刷を行うことによって各インクのインク残量を均等化させていくことができる。厳密には、印刷する画像データによってインク消費量に偏りが生じるため完全には同時に使い切ることができない場合も生じるが、少なくともバランス係数wbc,wbm,wby,wbkを一様な値に設定するよりも廃棄時のインク残量を低減させることができる。
上記の(10)式では各インクのインク残量tiの逆数に応じた比でバランス係数wiを設定することとしているが、インク残量tiが小さいほどバランス係数wiが大きくなる関係にあればよく、例えば負の傾きを有するインク残量tiの線形関数によってバランス係数wiが設定されてもよい。以上は分光反射率R(λ)の形成に寄与する色材を含んだインクのみを使用して印刷を行うプリンタを例示したが、例えば印刷物に光沢を付与するためのグロスオプティマイザを併用することもできる。グロスオプティマイザのインク量は分光反射率R(λ)の形成に寄与しないため、ステップS340の最適化の対象とはせず、最適化された他のインクのインク量に基づいて、最後にグロスオプティマイザのインク量が求められるようにすればよい。
ところで、印刷実行中にも監視処理が実行され、その間にインクの残量が減っていくため、印刷実行中において色変換プロファイルCPの作成が開始される場合もある。上述した実施形態(ステップS210)では、インク残量が5%を下回ったときに、そのインクを印刷に使用させないような色変換プロファイルCPを作成開始することとしている。このような処理をある印刷ジョブの実行中に行っておくことにより、当該印刷ジョブの実行中に残りの5%を消費しきる以前に、当該インクを使用しない色変換プロファイルCPを完成させておくことができる。従って、ステップS210にて使用させないように判定する基準値は、色変換プロファイルCPの作成時間と、現在の印刷ジョブにおけるインクの消費速度とを勘案して設定されるのが望ましい。さらに、実行中の印刷ジョブに応じて色変換プロファイルCPの作成可否を決定してもよい。
図20は、変形例にかかる監視処理の流れを示している。上述した実施形態にて示した図4の監視処理とほぼ同様であるが、ステップS170にて実行中の印刷ジョブの状態に応じた判定が行われる。ここでは、現在実行中の印刷ジョブにおける残りの印刷枚数が1〜30枚である場合には、色変換プロファイルCPを作成しないようにしている。この場合、現在の残量が30%よりも少ないインクがあっても印刷終了時までに残量を使い切る可能性が低いため、残りの印刷枚数が0となる、すなわち印刷ジョブが完了するまで色変換プロファイルCPの作成開始が禁止される。これにより、印刷ジョブ完了後の確定的なインク残量に基づいてステップS200〜S300にて色変換プロファイルCPを作成させることができる。そのため、ステップS170では、現在実行中の印刷ジョブにおける残りの印刷枚数が0となったとき、すなわち印刷ジョブがなくなったときに、色変換プロファイルCPを作成することとしている。
一方、現在実行中の印刷ジョブにおける残りの印刷枚数が30枚よりも多いとき、印刷終了時までに残量を使い切る可能性が高いため、早期に色変換プロファイルCPの作成を完了させるべく、色変換プロファイルCPの作成を開始させることとしている。このように、印刷ジョブにおける印刷量に応じて色変換プロファイルCPの作成可否を判定すれば、緊急性に応じた判断をすることができる。以上は、判定の対象を現在実行中の印刷ジョブに限ったが、例えばスプーラにスプールされている各印刷ジョブに基づいて色変換プロファイルCPの作成可否を判定するようにしてもよい。
また、ステップS130にてインク残量が具体的に得られているため、印刷枚数とインク残量とを比較することにより、色変換プロファイルCPの作成可否を判定するようにしてもよい。また、現在の印刷ジョブの完了時にあるインクのインク残量が所定の基準値を下回ることが予測される場合に、当該印刷ジョブの実行中に予め当該インクの使用量を抑制する変換プロファイルの作成を開始するようにしてもよい。さらに、印刷枚数のみならず、印刷(用紙)サイズや画像データに基づいてインク残量を使い切るか否かの判定を行うようにしてもよい。例えば、現在印刷実行中の印刷ジョブの色変換後の画像データの各画素のインク量をインクごとに合計することにより、インク消費量を予測し、さらに印刷枚数を積算することにより、正確にインク残量とインク消費量とを比較することもできる。このようにして、正確にインク消費量を予測した場合、当該インク消費量をバランス係数wbiに反映させることができる。すなわち、現在の印刷ジョブにてどのインクの消費を抑えるべきかを正確に把握することができるため、上記の(10)式に、各インクの予測消費量を積算/加算した比でバランス係数wbiを設定することにより、予測したインク消費量を色変換プロファイルCPに反映させることができる。
また、上述した実施形態において、図8(C)のようにいずれかのインクのインク残量が5%より少ないことをもって当該インクを使用させない変換プロファイルCPを作成するとともに、当該インクの使用量を抑えた変換プロファイルCPも作成することとしている。この場合、当該インクの使用量を抑えた変換プロファイルCPを使用して印刷をしたときに、印刷ジョブの完了まで当該インクの残量が足りるかどうかを判断してもよい。足りる場合には当該インクの使用量を抑えた変換プロファイルCPを使用して印刷すればよいし、足りない場合には当該インクを使用させない変換プロファイルCPの作成完了を待って印刷を実行させればよい。
以上においては、現在印刷中の印刷ジョブを継続的に印刷可能な変換プロファイルCPを作成することとしたが、別の印刷ジョブのための変換プロファイルCPを作成するようにしてもよい。すなわち、次の印刷ジョブや他の印刷ジョブに適した変換プロファイルCPを予め現在の印刷ジョブの実行中に作成開始するようにしてもよい。さらに、変換プロファイルCPの作成開始をインク残量に関連づけるものに限られず、例えばインク交換を促すUI画面の表示とともに変換プロファイルCPの作成を開始してもよい。すなわち、ユーザーが指定した各種印刷条件(印刷用紙や印刷モード)等に応じて好適なインクセットへの換装をユーザーに促す場合に、予め換装が予測されるインクセットについて変換プロファイルCPの作成を開始させてもよい。
また、作成した色変換プロファイルCPをユーザーの指示で削除できるようにしても良い。また、上述した実施形態において、インクプロファイルIPに基づいて作成した色変換プロファイルCPを使用して色変換を行うようにしたが、入力された画像データの色空間に関するソースプロファイルとインクプロファイルIPとを使用して当該画像データをインク量の画像データに換算するようにしてもよい。また、本発明において作成される色変換プロファイルCPは、インク量とsRGB色空間との関係を記載したものに限られず、インク量とLab色空間と(上記実施形態のインクプロファイルIP)との関係を記述したものや、インク量とXYZ色空間との関係を記述したものなど、インク量と他の色空間との関係を記載したものでもよい。
図21は、変形例にかかる印刷装置の構成を示している。同図に示すように、前実施形態のコンピュータ10のソフトウェア構成を包含したプリンタ120が備えられている。このように、プリンタ120がプリンタドライバPDを備え、自らが印刷制御処理を実行して印刷データを生成する場合にも、本発明を同様に適用することができる。一般に、プリンタ120が備えるCPUやRAMは処理速度や記憶容量が大きくないため、色変換プロファイルCPの作成に多くの時間が必要となる。従って、監視処理によって早期に色変換プロファイルCPの作成を開始すること必要性がコンピュータ10にて印刷制御を行う場合よりも大きいといえる。
10…コンピュータ、11…HDD、12…CPU、13…RAM、20…プリンタ、PD…プリンタドライバ、PD1…ステータスモニタ部、PD2…UI部、PD3…画像データ取得部、PD4…プリンタ情報取得部、PD5…プロファイル作成指針設定部、PD6…プロファイル作成部、PD7…色変換部、PD8…印刷データ生成部、RC…分光プリンティングコンバータ、CC…色コンバータ、GC…粒状性コンバータ、SC…平滑性コンバータ、IP…インクプロファイル、CP…色変換プロファイル、SP…sRGBプロファイル、D…分光反射率データ。