以下、本発明を実施するための形態について図面を用いて説明する。
<実施形態1>
本実施形態の概要について説明する。
本実施形態では、まず、定着器後センサを搭載していないカラープリンタ(第2の画像形成装置)のプリンタドライバが、定着器後センサを搭載しているカラープリンタ(第1の画像形成装置)の測定器情報を取得する。以降では、特に明示しない限り、定着器後センサを搭載していないカラープリンタのことを、単にカラープリンタと称し、定着器後センサを搭載しているカラープリンタのことを、測定プリンタと称する。また、定着器後センサとは、画像形成装置内の紙搬送部における定着プロセス(定着器)と排紙部の間に設置される。そして、この定着器後センサは、搬送された用紙に印刷されたパッチの濃度、輝度、L*a*b*やXYZ等のデバイスに依存しない色空間の値、反射率等を検知する。
次に、プリンタドライバは、測定プリンタで測定をするのに最適なパッチ配置のチャートをカラープリンタから印刷し、その際に用いた測定チャート情報を測定プリンタに送信する。そして測定プリンタは、カラープリンタが出力したチャートを定着器後センサで測色し、プリンタドライバに測定値を送信する。
プリンタドライバはカラープリンタから受信した測定値を基に色再現特性を補正した補正テーブルである4D−LUTを生成する。これと同時に、プリンタドライバは、カラープリンタに受信した測定値を送付する。そしてプリンタドライバはカラープリンタで印刷する印刷データに対して画像処理を施す際に、生成した4D−LUTを用いて出力色の補正を行う。一方、カラープリンタは受信した前記測定値または生成された4D−LUTを記憶する。
また、前記キャリブレーションの指示を実行したプリンタドライバとは別のプリンタドライバで生成した印刷データをカラープリンタへ送信する際は、別のプリンタドライバはカラープリンタに記憶された測定値をカラープリンタから取得する。そしてこの測定値を用いて4D−LUTを生成し、生成した4D−LUTを用いて印刷データの色を補正する。
これにより、キャリブレーションの指示をしなかった別のプリンタドライバで生成したデータをカラープリンタへ送信する際にも、他のプリンタドライバの指示により実行されたキャリブレーションの効果を得ることが可能になる。また、カラープリンタに4D−LUTが記憶されていた場合は、別のプリンタドライバはこの4D−LUTを取得し、これを用いて印刷データの色を補正する。
[システム構成]
このカラープリンタと測定プリンタとPCにより構成されるプリントシステムを図18に示す。
ネットワーク104を介してカラープリンタ101と第1の情報処理装置2901と測定プリンタ201が接続される。
第1の情報処理装置である2901において、各プリンタに送信する印刷データを作成する第1のプリンタドライバ3002がインストールされており、第1の情報処理装置のリソースを用いて処理が実行されている。各装置はネットワーク104を介して通信可能な状態となっている。また、ネットワーク104には図示する以外の多種のカラープリンタや測定プリンタ、情報処理装置が接続されている。例えば、第2のプリンタドライバ2202を実行する第2の情報処理装置が接続されている。
[カラープリンタ構成]
図1は本実施形態におけるカラープリンタ101を示す図である。すなわち、定着器後センサを搭載していない画像形成装置の例を示す図である。カラープリンタ101はコントローラ部102とプリンタ部103から構成されている。
コントローラ部102は図1に示すとおりCPU105などの各種モジュールがデータバス119を介して接続されて構成されている。RAM107はROM106に格納されているプログラムデータをロードし、一時記憶する。CPU105はRAM107にロードされたプログラムにしたがって各種モジュールに命令を出し、カラープリンタ101を動作させる。また、各モジュールが命令実行する際に生成されるデータなどもRAM107に一時記憶される。
ネットワークI/F108は外部ネットワーク104とのインターフェイスモジュールである。例えばカラープリンタ101は、イーサネット(登録商標)などの通信プロトコルに基づきネットワーク104を介して他の機器から印刷データや後述する測定値の受信及び他の機器への測定値の送信といった双方向データ通信を行う。
表示部110はユーザーへの指示やカラープリンタ101の状態を表すUI(User Interface)画面を表示するものである。入力部109はユーザーからの入力を受け付けるためのインターフェイスである。
コントローラ部102と接続されたプリンタ部103はC、M、Y、Kなどの有色トナーを用いて用紙上に画像データを形成するプリンタである。プリンタ部103は紙の給紙を行う給紙部111と印刷した用紙を排紙する排紙部112を持つ。
[情報処理装置構成]
図29は本実施形態における第1の情報処理装置2901を示す図である。
第1の情報処理装置2901はROM2904あるいは外部メモリ2911に記憶されたプログラムを実行するCPU2902を備え、システムバス2908に接続される各デバイスをCPU2902が総括的に制御する。
また、外部メモリ2911には、CPU2902の制御プログラムであるオペレーティングシステムプログラム(以下OS)や、そのOS上で動作するソフトウェア等のプログラムを記憶する。
RAM2903は、CPU2902の主メモリ、ワークエリア等として機能する。
USB I/F2905はUSB(Universal Serial Bus)機器との通信を制御する。例えばキーボードやポインティングデバイスといった入力部2909や外部メモリ2911などがUSB I/F2905を介して情報処理装置2901と接続される。
ビデオカード(VC)2906はディスプレイ2910の表示を制御する。
ネットワークI/F2907は外部ネットワーク104とのインターフェイスモジュールである。
[プリンタドライバ構成]
図30は図29に示される第1の情報処理装置で動作し、カラープリンタ101のプリンタドライバである第1のプリンタドライバを説明するブロック図である。
第1の情報処理装置2901では印刷データを作成、編集するアプリケーション3001とカラープリンタ101のプリンタドライバである第1のプリンタドライバ3002が動作している。
通常の印刷時にはアプリケーション3001からの印刷データを第1のプリンタドライバ3002が受信して各種処理をした後、ネットワークI/F2907を介してネットワーク104を用いてカラープリンタ101にデータを送信する。
インタプリタ3003は受信した印刷データのPDL(Page Description Language:ページ記述言語)部分を解釈して中間言語データを生成する。そしてCMS(Color Management System)3004はプロファイル3005を用いて中間言語データの色変換を行い、CMS後中間言語データを生成する。CMS3004では以下の様に色変換を行っている。
プロファイル3005は図示しないソースプロファイルとデスティネーションプロファイルから構成されている。ソースプロファイルとはRGBやCMYK等のPDLデータ入力機器デバイスに依存する色空間を、L*a*b*やXYZ等のデバイス非依存の色空間に変換するためのプロファイルである。XYZとはL*a*b*と同様にCIE(国際照明委員会)が制定したデバイス非依存の均等色空間の一つであり、3種類の刺激値で色を表現する。デスティネーションプロファイルとは、デバイス非依存の色空間を出力機器デバイス(本例の場合はカラープリンタ101)に依存したRGBもしくはCMYK色空間に変換するためのプロファイルである。ソースプロファイルとデスティネーションプロファイルでの色変換を実施することによって入力機器デバイスの色空間から出力機器デバイスの色空間へと変換するのである。
レンダラ3006はCMS後中間言語データを用いてラスター画像を生成する。そして、このラスター画像に対して、画像処理部3007が画像処理を行う。
チャート生成部3008は後述する測定器情報を基に混色キャリブレーションに使用する用紙サイズを決定し、チャート画像データを生成する機能を有している。チャート画像データが印刷出力されると、用紙にパッチが印刷されたチャートが出力される。チャート生成部3008の詳細な動作については後述する。
4D−LUT生成部3009は後述する測定プリンタ201のセンサ220で読み取られた測定値を、ネットワーク104を介して受信する。そして、受信した測定値を用いて演算を行い、4D−LUT生成部3009は、単色や混色の補正テーブルを生成する。なお、本実施形態では4D−LUTを生成する場合を説明するが、3D−LUTや1D−LUTを生成してもよい。
[測定プリンタ構成]
図2は本実施形態における測定プリンタ201を示す図である。すなわち、定着器後センサを搭載している画像形成装置の例を示す図である。測定プリンタ201はコントローラ部202とプリンタ部203から構成されている。
コントローラ部202は図2に示す様に、CPU205などの各種モジュールがデータバス219を介して接続されることで構成されている。RAM207はROM206に格納されているプログラムデータをロードし、一時記憶する。CPU205はRAM207にロードされたプログラムに従い各種モジュールに命令を出し、測定プリンタ201を動作させる。また、各モジュールが命令実行する際に生成されるデータなどもRAM207に一時記憶される。
ネットワークI/F208は外部ネットワーク104とのインターフェイスモジュールである。このネットワークI/F208は、イーサネット(登録商標)などの通信プロトコルに基づき、ネットワーク104を介して他の機器と双方向データ通信を行う。本実施例では、例えば、印刷データや後述する測定チャート情報の受信及び測定器情報の送信を行うために用いられる。
インタプリタ212は受信した印刷データのPDL部分を解釈して中間言語データを生成する。そしてCMS213はROM206に格納されているプロファイル214を用いて色変換を行い、CMS後中間言語データを生成する。CMS213では以下の様に色変換を行っている。
プロファイル214は図示しないソースプロファイルとデスティネーションプロファイルから構成されている。ソースプロファイルとデスティネーションプロファイルでの色変換を実施することによって入力機器デバイスの色空間から出力機器デバイス(測定プリンタ201)の色空間へと変換するのである。
レンダラ211はCMS後中間言語データを用いてラスター画像を生成する。そして、このラスター画像に対して、画像処理部215が画像処理を行う。
表示部210はユーザーへの指示や測定プリンタ201の状態を示すUI画面を表示する。入力部209はユーザーからの指示を受け付けるためのインターフェイスである。
スキャナ204はオートドキュメントフィーダーを含むスキャナである。スキャナ204は束状あるいは一枚の原稿画像を図示しない光源で照射する。そしてこの照射により取得した原稿反射像をレンズでCCD(Charge Coupled Device)センサ等の固体撮像素子上に結像する。そして、固体撮像素子からラスター状の画像読み取り信号を画像データとして得る。
プリンタ部203は、センサ220と給紙部216と排紙部217を有する。プリンタ部203の図示しない紙搬送路上の定着器と排紙口の間にはL*a*b*やXYZ等のデバイスに依存しない色空間の値を取得できるセンサ220を持つ。プリンタ部203で紙上に出力されたパッチをセンサ220で読み取り、読み取った数値情報をコントローラ部202へ送信する。その後、コントローラ部のネットワークI/F208を介して図30に示された第1のプリンタドライバ3002の4D−LUT生成部3009に送信する。
[センサの説明]
図3はセンサ301〜303を含むセンサ220の配置について測定プリンタ201の紙搬送路との関係も含めて説明する図である。センサは、装置内に搬送される紙を読み取るため、装置内に固定して設定される必要がある。よって、用紙上のチャートの読み取りパッチ数を増やす場合は紙の搬送方向306に向かってセンサを増やす必要がある。ただし、それだけでは1枚の紙で読み取れるデータ数が限られる。よって、例えば紙の搬送方向306と垂直方向にセンサを複数設置する。そして、このセンサが検知できる位置に、パッチを並べる。図3では3つのセンサを設置した例を示している。チャート304上には、センサ301、センサ302、センサ303が固定されている位置に合わせてパッチ305を配置している。紙が搬送されてチャート304上の異なる色のパッチ305が各センサを通過する際に測定値を取得してプリンタ部203からコントローラ部202に送信する。
[測定チャートの説明]
図4はセンサ220が測定できるチャート304の各情報について説明する図である。本実施形態における単位は例えばミリメートル、インチなどの長さを示すものでも良いし、デジタル画像データの解像度における画素座標などでも良い。ただし、この場合は1画素あたりの大きさがわかる様に物理解像度情報を付け加えておく必要がある。本実施形態では600dpi(dot per inch)の物理解像度における画素座標を基に説明する。
紙の搬送方向306と垂直な方向を主走査方向、水平な方向を副走査方向とし、原点404を座標系の0pixとする。例えば、測定プリンタ201がプリント動作時に紙搬送路に通紙できるサイズがA3サイズである場合、その主走査方向のサイズは約297mmなので約7015pixとなり、副走査方向のサイズは約420mmなので約9921pixとなる。よって、パッチをチャートに配置する場合、主走査方向の配置可能範囲の開始座標と終端座標はそれぞれXstart=0pix、Xend=7015pixとすることができる。
そしてセンサ301、302、303が配置されている座標(すなわち、主走査方向の座標)をX1、X2、X3で表すことができる。本実施形態ではX1=700pix、X2=3500pix、X3=6300pixとする。このセンサの配置されている座標により、主走査方向のパッチの配置が決まる。
各センサはパッチが配置されたチャートが通過する際に所定のサンプリング時間で測定を行う。これにより、センサの性能や測定プリンタの紙搬送速度に依存して、測定できるパッチ長さ403が決まる。また、パッチ幅402はセンサの主走査方向の開口サイズ、すなわちアパーチャーサイズよりも大きい必要がある。よって測定に十分なパッチ幅も、搭載しているセンサの性能により決定される。
これらセンサが測定可能な範囲については、副走査方向の測定可能範囲座標をYstartと、Yendと、Yendからの余白量を示すY1とで表すことができる。(Y1の座標は、Yendからの距離を示す)センサ301〜303の測定位置にチャート304端部が搬送されてきてから実際に測定サンプリングするまでに搬送方向先端に余白を設ける場合がある。また、終端部も同様である。本実施形態ではYstart=100pix、Y1=100pix、Yend=9921pixとして説明する。以下、測定可能パッチサイズ、すなわち、パッチ幅402は200pix、パッチ長403は600pixとして説明する。
これらXstart、Xend、Ystart、Yendで囲まれた部分が測定プリンタ201の測定可能範囲401を示している。
[画像処理部の説明]
図5は第1のプリンタドライバ3002の画像処理部3007を説明する図である。前述した通り印刷データが入力されると、インタプリタ3003、CMS3004、レンダラ3006での各処理後にラスター画像が画像処理部3007に入力される。
画像処理部3007は少なくとも色変換部501、4D−LUT補正部502、1D−LUT補正部503、ハーフトーニング部504から構成される。色変換部501はCMS3004がデバイス依存のRGB色空間のデータを出力した際にRGB→CMYKに色空間変換する。CMS3004がデバイス依存のCMYK色空間のデータを出力した際は色変換部501がスキップされる。4D−LUT補正部502はCMYKの4次元の入力信号に対してC2、M2、Y2、K2の組み合わせの出力信号に変換する4D−LUTを用いて混色キャリブレーションを実施する。例えば4D−LUTが8×8×8×8の離散的な格子点で構成されている場合、その格子点数は4096個になる。データのbit深度が8bit(0〜255)で表現される場合は、格子点の間隔は約36となる。
この4D−LUTの入出力関係の例を示したのが図6である。図6は、各格子点の入力CMYK値に対して、それぞれ出力C2、M2、Y2、K2値が対応付けられているLUTである。実際に画像データのCMYK値が入力された場合は、入力値の周辺の4D−LUT格子点を複数選択し、選択された複数の出力信号から線形補間演算により、出力C2、M2、Y2、K2値が決定されるものである。
4D−LUT補正部502で混色の色を補正した後、1D−LUT補正部503にてC2、M2、Y2、K2の各単色の階調補正を行い、それぞれC3、M3、Y3、K3に変換する。例えば1D−LUTの入力信号が8bitデータである場合はLUTのエントリー数は0〜255の256個であることが好ましい。すなわち、全ての入力値に対してそれぞれ1個の出力値が格納されていることが好ましい。
図7(a)は4D−LUTの入出力関係の模式図を、図7(b)は1D−LUTの入出力関係の模式図を、それぞれ示す。4D−LUTの模式図 701によるとCMYKの組み合わせである混色の入力に対して、1種類の4D−LUTで、C2、M2、Y2、K2の混色された色の組み合わせが出力される。
1D−LUTの模式図 702によると1つの入力に対して1つの出力がされる。すなわち、C2入力C3出力用の1D−LUT、M2入力M3出力用の1D−LUT、Y2入力Y3出力用の1D−LUT、K2入力K3出力用の1D−LUTと、4つの1D−LUTが独立している。
最後にハーフトーニング部504でC3、M3、Y3、K3のデータが、ディザスクリーンなどの画像形成処理を施され、プリンタ101で用紙上に印刷される。
測定プリンタ201の画像処理部215、レンダラ211、インタプリタ212、CMS213も上記カラープリンタ101と同様の動作をするので説明を省略する。
[プリンタドライバ動作の説明]
第1の情報処理装置2901上で実行されている第1のプリンタドライバ3002の動作について図8のフローチャートを用いて説明する。
なお、図8で示すフローチャートは、第1の情報処理装置2901のRAM2903にロードされたプログラムをCPU2902が実行することによって実行される。このプログラムとはアプリケーション3001や第1のプリンタドライバ3002を指す。
第1のプリンタドライバ3002とカラープリンタ101と測定プリンタ201がネットワーク104を介して混色キャリブレーション実行のための通信ネゴシエーションを行った後に第1のプリンタドライバ3002の動作が始まる。
まず、第1のプリンタドライバ3002の動作について説明する。第1の情報処理装置2901に接続されているディスプレイ2910の画面上に図24(a)のようなプリンタドライバ画面2401が表示されている。この画面中の混色キャリブレーション動作2402がユーザーにより選択されると、図24(b)のような測定プリンタ201を選択する画面に遷移する。
図24(b)では予め登録されている、もしくは過去に第1のプリンタドライバ3002が制御するカラープリンタ101の混色キャリブレーションの指示を実行したことがある、ネットワーク104を介して接続可能な測定プリンタの一覧が表示されている。この画面では各測定プリンタにつけられている固有な名称、例えばIPアドレスなどの測定プリンタを特定できるアドレス情報、その他測定プリンタの設置場所情報などが含まれている。
図24(b)の画面上で本実施例の測定プリンタ201に相当する機種が選択され、ユーザーにより決定ボタン2403を押下されると、カラープリンタ101の混色キャリブレーションの実行が確定される(ステップS801)。
次に第1のプリンタドライバ3002は図24(c)に示す様に、チャートの印刷開始をユーザーが指示するための印刷開始キー2404を表示してユーザーからの指示を待つ(ステップS802)。
ステップS802でユーザーから印刷開始の指示を受けると、第1のプリンタドライバ3002は測定プリンタ201からネットワーク104を介して図9に示す測定器情報を取得してRAM2903に格納する(ステップS803)。この測定器情報には、例えばセンサ数、センサ位置座標、測定可能範囲、パッチ長さ、パッチ幅の情報が含まれている。また、前記センサ位置や測定可能範囲のそれぞれの単位、機体固有の番号についてなどの付帯情報が含まれてもよい。
次に第1のプリンタドライバ3002はカラープリンタ101に対して単色キャリブレーションの実行指示を送信する(ステップS804)そして、カラープリンタ101から単色キャリブレーション値を受信するまで待機する(ステップS805)。
ステップS805で単色キャリブレーション値を受信すると、これを基に1D−LUTを作成して1D−LUT補正部503に設定する(ステップS806)。なお1D−LUTの作成方法は公知の技術であるので詳細な説明を省略する。
チャート生成部3008はステップS803で取得した測定器情報をRAM2903からロードして、該測定器情報を基に混色キャリブレーションに使用するチャートの用紙サイズ、パッチデータの配置を算出して決定する。そしてRAM2903に格納する(ステップS807)。
図4のチャート304と図9の測定器情報を例に挙げてステップS807の動作を説明する。なお、図9に示す測定器情報は、図4のチャート304を説明した箇所にて例示した数値が含まれている。
チャート生成部3008は、測定可能範囲を示す情報に基づいて印刷用紙サイズを算出する。そして、この結果を基に、チャートを印刷する用紙のサイズを決定する。例えば、チャート生成部3008は、XstartとXendの情報及び単位を示す情報から、測定プリンタの主走査方向の用紙最大幅が約297mmと算出することができる。また、YstartとYendの情報より測定プリンタの搬送方向に9921pixの用紙に9821pixの位置までパッチデータを印刷できると算出することができる。
まず主走査方向について説明する。図4よりセンサ301と303が測定できるパッチデータの端部距離は5800pixであることが算出できる。具体的には、まず、センサ位置X1=700pixとX3=6300との間隔を求める。これは、5600pixとなる。そして、さらにパッチ幅が200pixであり、それぞれセンサのアパーチャー中心から100pixずつ必要であるので、5600pixの間隔に、上下100PIXの幅を追加し、総計5800pix=約245mmと算出できる。よって、これ以上の主走査方向長さかつ用紙最大幅約297mm以内の辺を持つ用紙が必要となる。例えばA系、B系の定型用紙であるとA3の短辺(約297mm)、A4の長辺(約297mm)、B4の短辺(約257mm)、B5の長辺(約257mm)がこの用紙に該当する。
次に、副走査方向についてはYstartとYendより算出される長さは、上記のA3、A4、B4、B5のどれもがその長さを有する。よって、最終的にA3、A4、B4、B5がチャートに用いる用紙サイズの候補として決定される。カラープリンタ101に積載されている用紙のうち、これら候補の中から一番副走査方向に長い用紙を選択することが好ましい。これは図4に示す1枚のチャート304に対して、副走査方向になるべく多くのパッチデータを印刷した方が混色キャリブレーションに使用する用紙の枚数を減らすことができるためである。
本実施形態ではカラープリンタ101にはチャートに用いる用紙の候補のうちA4を用いる場合について説明を続ける。
A4用紙の長辺を図4のチャート304の主走査方向にすると副走査方向には約210mm=約4960pixの用紙領域がある。後端部にY1=100pixの余白が必要なので、すなわち用紙先端のYstartと後端のY1の余白を除くと4760pixのパッチデータ領域があることが算出される。
図9の測定器情報よりパッチ長=600pixなので副走査方向には7パッチ配置することが可能であることが算出される。
以上より、A4用紙1枚には7パッチ×3センサ=21パッチ配置できることがわかる。例えば混色キャリブレーションに必要なパッチデータが100個だとするとA4用紙が5枚必要であることが導き出せる。
なお、混色キャリブレーションに必要なパッチデータ数はカラープリンタの機種によって異なってもよい。
また、上記の例では、測定範囲可能サイズを包含する用紙サイズを用いる例を説明したが、測定範囲可能サイズよりも小さい用紙を用いても良い。チャート生成部3008はステップS807で導き出した印字用紙サイズとステップS803で取得したパッチサイズとROM2904または外部メモリ2911に格納されているパッチデータ値とを読みだす。そしてこれらを基に混色キャリブレーション用のチャート画像データを生成し、ページ毎にRAM2903に格納する(ステップS808)。
CPU2902はRAM2903に格納されたキャリブレーション用のチャート画像データを呼び出し、画像処理部3007に入力する。そして画像処理部3007は図5の色変換部501と4D−LUT補正部502をスキップし、1D−LUT補正部503とハーフトーニング部504の処理を実行する。次に画像処理後のチャート画像データをカラープリンタ101に送信する(ステップS809)。この際1D−LUT補正部ではステップS806で生成したLUTを用いる。
ステップS809でチャート画像データの送信が終了したら、CPU2902はステップS807で決定し、RAM2903に格納されているチャートの用紙サイズを読み出す。またRAM2903に展開されているもしくは外部メモリ2911に格納されている4D−LUT情報、補正ターゲット情報、CMY→L*a*b*の3D−LUT、L*a*b*→CMYの3D−LUTを読み出す。CPU2902は、これら読み出したデータなどを測定チャート情報としてネットワークI/F2907、ネットワーク104を介して測定プリンタ201に送信する(ステップS810)。
図10は測定チャート情報の一例を示している。この測定チャート情報には少なくともチャートの用紙サイズ、チャート枚数、1枚あたりのパッチデータ数が含まれている。
なお、パッチデータの数によっては端数が出てしまい、測定チャート情報に記載されている、1枚あたりのパッチデータ数分だけ印刷しないページがある場合がある。この場合は該当するパッチデータに対して、例えば補正ターゲット色値をブランクにしておくか、ブランクであることを特定できる文字もしくは文字列を記載しておけばよい。なお、複数の4D−LUTを1回の混色キャリブレーションで作成してもよい。
この後、CPU2902は測定プリンタ201から測定値を受信するまで待つ(ステップS811)。この時、ステップS809で送信されたチャート画像データは後述する様にカラープリンタ101にてチャートとして用紙に印刷される。そして、ユーザーによって測定プリンタ201まで搬送され、測定プリンタ201によって測定される。
ステップS811にて、測定プリンタ201から測定値を受信するとCPU2902はRAM2903に測定値を格納する。そして、4D−LUT生成部3009は受信した測定値を基に補正テーブルである4D−LUTを生成する(ステップS812)。
この生成した4D−LUTをRAM2903もしくは外部メモリ2911に格納される(ステップS813)。すなわち、カラープリンタ101の色再現特性を補正するためのデータを生成するデータ生成処理を行う。なお4D−LUTの生成方法については後述する。この4D−LUTは印刷が行われる度に生成されるため、一時的に記憶されていればよい。
以降、画像処理部3007はRAM2903もしくは外部メモリ2911に格納された4D−LUTを用いて、印刷時の画像処理を実施する。
そして、ステップS814にて、CPU2902はステップS811で受信した測定値を、ネットワーク104を介してカラープリンタ101に送信する。
これらの動作の後にカラープリンタ101、測定プリンタ201との通信を終了し(ステップS815)、第1のプリンタドライバ3002の動作を終了する。
[カラープリンタ動作の説明]
カラープリンタ101の動作について図19のフローチャートを用いて説明する。
なお、図19で示すフローチャートは、カラープリンタ101のRAM107にロードされたプログラムをCPU105が実行することによって実行される。
カラープリンタ101と第1のプリンタドライバ3002がネットワーク104を介して混色キャリブレーション実行のための通信ネゴシエーションを行った後にカラープリンタ101の動作が始まる。
まず、第1のプリンタドライバ3002から単色キャリブレーション実行指示を受信するまで待機する(ステップS1901)。
ステップS1901で単色キャリブレーション実行の指示を受信すると感光ドラム上もしくは1次転写ベルト上の、濃度を検出する図示しないセンサにて、C、M、Y、K各色の階調特性を測定する(ステップS1902)。
CPU105はステップS1902で測定した階調特性を単色キャリブレーション値としてRAM107に格納する(ステップS1903)。
次にCPU105はRAM107に格納された単色キャリブレーション値を読み出し、この値を、ネットワーク104を介して第1のプリンタドライバ3002に送信する(ステップS1904)。
次に、第1のプリンタドライバ3002からチャート画像データを受信するまで待機する(ステップS1905)。
ステップS1905にて、チャート画像データを受信するとプリンタ部103にて画像データを印刷する(ステップS1906)。
次に、第1のプリンタドライバ3002から混色キャリブレーション用の測定値の受信するまで待機する(ステップS1907)。
ステップS1907で混色キャリブレーション用の測定値を受信すると、CPU105は受信した混色キャリブレーション用の測定値をRAM107に格納する(ステップS1908)。
これらの動作の後に第1のプリンタドライバ3002との通信を終了し(ステップS1909)、カラープリンタの動作を終了する。
以上の説明では、第1のプリンタドライバ3002は、S814にてカラープリンタへ測定値を送信したが、4D−LUTを送信してもよい。
この場合、印刷の度に4D−LUTを生成する必要がなくなるが、4D−LUTは測定値と比較してデータ量が大きく通信に負荷がかかる。また、カラープリンタ101内のメモリを圧迫する可能性がある。
よって、以下の説明では、カラープリンタ101には測定値を記憶させた場合について説明する。
[測定プリンタ動作の説明]
測定プリンタ201の動作について図12のフローチャートを用いて説明する。なお、本実施形態では表示部210はタッチパネル方式のLCDとし、入力部209の一部も担っているとする。入力部209は他にハードキーを有していてもよい。
測定プリンタのCPU205は第1のプリンタドライバ3002と通信を開始した後、第1のプリンタドライバ3002から測定器情報が要求されるのを待つ(ステップS1201)。
ステップS1201で測定器情報の要求を第1のプリンタドライバ3002から受信すると、CPU205はROM206から図9に示す測定器情報を読み出し、第1のプリンタドライバ3002に送信する(ステップS1202)。
CPU205は第1のプリンタドライバ3002から測定チャート情報を受信するまで待機する。測定チャート情報を受信すると、CPU205はこの測定チャート情報をRAM207に格納する(ステップS1203)。
そして表示部210は図13(a)に示す様に、給紙部216からチャートを読み込むようユーザーから指示を受けるための画面を表示する。また、CPU205はチャートが読み込まれるまで待機する(ステップS1204)。
カラープリンタ101で印刷されたチャートがユーザーによって給紙部216に積載される。そしてステップS1204にて読み込み開始キー1310が押下されると、CPU205はプリンタ部203の給紙部216から積載されたチャートを1枚ずつ給紙する様にプリンタ部203を制御する。
そしてプリンタ部203はチャートを給紙し、印刷時に通紙する紙搬送路にこのチャートを搬送する。この時、電子写真プロセスは全て無効になるよう設定しておく。搬送されたチャートがセンサ220に到達するとチャートに印刷されたパッチをセンサ220が測定して色値を取得する。ここでいう色値とはL*a*b*やXYZなどの色を表す値を指す。この時、センサ220はRAM207に格納されている測定チャート情報中の用紙サイズ情報、1枚あたりのパッチ数を基にパッチの測定を行う。この様にして測定された色値はRAM207に格納される。この動作はRAM207に格納されている測定チャート情報のチャート枚数情報の分だけ繰り返される。そして表示部210には図13(b)に示す様にパッチ測定中の画面を表示する。ここで、複数枚のチャートを読み込む際に、プリンタ部203は電子写真プロセスの印刷枚数と同じ速度でチャートを給紙しても良いし、1枚のチャートの測定が完了してから次のチャートを給紙しても良い(ステップS1205)。
ステップS1205で全てのチャートを読み込み、測定が終了したら、CPU205はネットワーク104を介して、RAM207からパッチの測定値を第1のプリンタドライバ3002に送信する(ステップS1206)。
ステップS1206で送信動作が完了した後、表示部210は図13(c)に示すチャート読取動作終了の画面を表示する。そして、測定プリンタ201は第1のプリンタドライバ3002との通信を終了し(ステップS1207)、測定プリンタ201の動作を終了する。
[4D−LUTの作成方法]
次に図8のステップS812での4D−LUTの作成方法について図14〜図16を用いて説明する。以下の処理は第1の情報処理装置2901のCPU2902の指示により第1のプリンタドライバ3002の4D−LUT生成部3009が行う。
図14は4D−LUTを作成する処理の流れを示したものである。ステップS1401にてCPU2902はRAM2903から測定値を読み出し、4D−LUT作成に必要なL*a*b*値のパッチを測定した際に取得された測定値であるデータを得る。次にステップS1402にて4D−LUT生成部3009は前記読み出したデータを受け取り、有彩色と無彩色に分類して測色値1403を得てRAM2903に格納する。ここでの分類方法はチャート304に予め有彩色か無彩色かの情報を付加してもよいし、データの数値あるいは測定したデータを分析することによって判断してもよい。
次に4D−LUT生成部3009はRAM2903から測色値1403、補正ターゲット1405及びL*a*b*→CMYの3D−LUT1406を読み出す。補正ターゲット1405及びL*a*b*→CMYの3D−LUT1406は、カラープリンタ101に特有なものであり、第1のプリンタドライバ3002のインストール時にRAM2903もしくは外部メモリ2911に格納されているものである。なお、本実施形態ではRAM2903に格納されている場合について記載する。そして、ステップS1404にて3D−LUT補正処理を行い、L*a*b*→CMYの3D−LUT1407(補正後)を出力する。ステップS1404の3D−LUTの補正処理については後述する。補正ターゲット1405とは目標値となるL*a*b*値のことであり、有彩色と無彩色のそれぞれで定められている。L*a*b*→CMYの3D−LUT1406は既知の手法を用いて作成した色変換用のLUTであり、格子状に一定の間隔で定めたL*a*b*値に対応したデバイス固有のCMY値を記述したデータである。任意のL*a*b*値に対して補間演算を行い、CMY値を出力する。4D−LUT生成部3009はステップS1408にてCMY→L*a*b*の3D−LUT1409と、L*a*b*→CMYの3D−LUT(補正後)1407と、デバイス情報1410とを用いてCMYK→CMYKの4D−LUT1411を作成する。CMY→L*a*b*の3D−LUT1409及びデバイス情報1410は、測定チャート情報に含まれてカラープリンタ101から送られてきたものである。ステップS1408の4D−LUTの作成処理についても後述する。CMY→L*a*b*の3D−LUT1409は既知の手法を用いて作成した色変換用のLUTであり、格子状に一定の間隔で定めたCMY値に対応したL*a*b*値を記述したデータである。任意のCMY値に対して補間演算を行い、L*a*b*値を出力する。
次にステップS1404で示す3D−LUT補正処理の詳細について、図15を用いて説明する。まず、ステップS1501にて4D−LUT生成部3009はRAM2903から読み出した測色値1403と補正ターゲット1405を用いて有彩色のデータと無彩色のデータのそれぞれに対して差分データ1510を算出する。差分データ1510はパッチデータのデータの個数分算出され、有彩色と無彩色で分類されている。次にステップS1502にて4D−LUT生成部3009はRAM2903からL*a*b*→CMYの3D−LUT1406を読み出し、格子点データ(L*a*b*)の1つを抽出し、有彩色か無彩色かを判定する。判定方法の例を説明する。a*及びb*の値は色相/彩度を示すデータであるため、両方のデータが0に近いものを無彩色として判定する。例えば閾値を定めるなど、ここでの判定方法はどのようなものでもよい。この判定したデータが格子点データ(L*a*b*及び有彩無彩情報)1503となる。ここで、L*a*b*のデータはL*が0〜100、a*とb*がそれぞれ−128〜128の範囲で、格子点の数が33×33×33の場合、L*が約3ずつ、a*とb*が8ずつ均等に増加したデータとなる。つまり、ここで抽出した格子点データは(L*a*b*)=(0、−128、−128)から、(L*a*b*)=(100、128、128)の範囲で構成された33×33×33=35937個のデータの1つとなる。さらに、有彩色であるか無彩色であるかの情報が付加されている。
次に、ステップS1504にて4D−LUT生成部3009は格子点データ(L*a*b*及び有彩無彩情報)1503と補正ターゲット1405との距離を算出する。そしてステップS1505にて4D−LUT生成部3009は距離が一定の閾値以内の差分データを抽出し、その差分データから格子点データ(L*a*b*及び有彩無彩情報)1503の補正量を決定する。その際に格子点データの有彩無彩情報を参照して、有彩色の時は有彩色の差分データを、無彩色の時は無彩色の差分データを用いて抽出処理を行う。ここで、抽出された差分データは複数個ある可能性があり、その中でも格子点データ(L*a*b*及び有彩無彩情報)1503に対して距離が近いデータ、遠いデータが存在する。距離が近い差分データの影響を強く、距離が遠い差分データの影響を弱くするため、差分データに対して計算した距離を使って重みつき加算を行い、格子点補正量を決定することができる。ここで、一定の閾値以内に差分データが存在しない場合の補正量は0とすることができる。
次にステップS1506にて4D−LUT生成部3009は格子点補正量を格子点データ(L*a*b*及び有彩無彩情報)1503に反映し、補正後格子点データ(L*a*b*)1507として格納する。そして、ステップ1508にて4D−LUT生成部3009は全ての格子点データに対して処理を行ったか判定を行い、処理を行っていない場合は新しい格子点データをステップS1502にて抽出して処理を繰り返す。全ての格子点を処理した場合はステップS1509にてコントローラ部102は補間演算処理を行う。全ての格子点データを処理している場合、格子点の数の分だけ補正後格子点データ(L*a*b*)1507が作成されている。このデータに対してL*a*b*→CMYの3D−LUT1406を使って補間演算を行って新しいCMY値を算出する。このCMY値を元々の格子点データに対する出力値として格納し、L*a*b*→CMYの3D−LUT(補正後)1407を作成する。以上の様に格子点から一定の距離内にある差分データを参照して格子点の補正量を決定することで、少ないデータ数で多くの格子点データの補正量を決定することが可能となる。本実施形態の例に限らず、L*a*b*→CMYの3D−LUT1406を補正する手法であればどのようなものであってもよい。
図14に戻り、次にステップS1408の4D−LUTを作成する処理について、図16を用いて説明する。まず、ステップS1601にて4D−LUT生成部3009はCMYK均等データ1602からCMY値を抽出する。ここでCMYK均等データの数は、CMYK→CMYKの4D−LUT1411の格子点と同じ数であり、データの間隔も同じである。例えばCMYK→CMYKの4D−LUT1411の格子点数が8×8×8×8=4096個の場合は、CMYK均等データ1602の数は4096個となる。データが8ビット(0〜255)で表現される場合は、データの間隔は約36となる。次にステップS1603にて4D−LUT生成部3009はCMY→L*a*b*の3D−LUT1409とL*a*b*→CMYの3D−LUT(補正後)1407とを用いて補間演算を行い、CMY値を決定する。まず、S1601で抽出されたCMY値からCMY→L*a*b*の3D−LUT1409を用いて補間演算を実行してL*a*b*値を求める。次に先ほど算出したL*a*b*値からL*a*b*→CMYの3D−LUT(補正後)1407を用いて補間演算を実行してCMY値を算出する。次に、ステップS1604にて4D−LUT生成部3009はCMYK均等データ1602のKの値を抽出し、先ほど決定されたCMY値を組み合わせてCMYK値1605を作成する。ここで抽出したK値はステップS1601にて抽出されたCMY値に対応するものである。そしてステップS1606にて4D−LUT生成部3009はデバイス情報1410を用いて載り量制限処理を行う。ここでデバイス情報1410とはカラープリンタ101が適用可能なトナー量を数値で表現したものであり、本実施形態では「載り量」と定義する。例えばCMYKの場合、単色の最大値を100%とすると最大で400%の信号値が設定できる。しかし、適用可能なトナーの総数が300%の場合の載り量は300%となる。
CMYK値1605はその組み合わせによっては規定の載り量を超える可能性があるため、既知のUCR処理等を行って載り量制限処理を行う。ここで、UCR(Under Color Removable)処理とはCMYのトナーをKのトナーに置き換える処理のことである。一般に黒を表現する場合、CMYを等量用いて表現する手法とK単独で表現する手法が存在する。K単独で表現した場合、CMYで表現する場合に比べて濃度が低くなってしまうが載り量を少なくできるというメリットがある。そしてステップS1607にて4D−LUT生成部3009は純色化処理を行ってCMYK値(補正後)1608を作成する。CMYK→CMYKの4D−LUT1411で補正する際に、例えばC単色のデータはC単色で出力されることが理想である。それを実現するため、元となったCMYK均等データ1602を参照して、純色データであった場合CMYK値を純色データに修正する。例えばCMYK均等データ1602がC単色であるのにCMYK値(補正後)1608にMの値が入っている場合はMの値を0にする。そしてステップS1609にて4D−LUT生成部3009はCMYK値(補正後)1608をCMYK→CMYKの4D−LUT1411に格納する。最後にステップS1610にて4D−LUT生成部3009はCMYK均等データ1602を全て処理したかの判定を行い、全てのデータを処理していない場合は残りのCMYK均等データ1602からCMY値を抽出して処理を繰り返す。全てのデータをした場合は処理を終了し、CMYK→CMYKの4D−LUT1411が完成する。
ここで、LUTの格子点の数については、本実施形態の例に限らずどのようなものであってもよい。さらに、格子点数は例えばCMYK→CMYKの4D−LUT1411でCとMの格子点数が異なるなど、特殊な構成のLUTでもよい。
[カラープリンタと測定プリンタの通信]
図17はこれまで説明してきた第1のプリンタドライバ3002とカラープリンタ101と測定プリンタ201との相互の通信ならびに動作を示した図である。第1のプリンタドライバ3002とカラープリンタ101と測定プリンタ201の各種動作は図8と図12と図19の各ステップと対応付けて表記する。
重要な点は次の処理である。測定プリンタで測定した結果を第1のプリンタドライバ3002が受信し(S811)し、第1のプリンタドライバ3002は、受信した測定値をカラープリンタ101へ測定値を送信(S814)する。そして、測定値を受信したカラープリンタ101はこの測定値を記憶する(S1908)。
[第2のプリンタドライバ動作の説明]
ここまで説明した方法によりカラープリンタ101の色再現特性を補正するための4D−LUTを生成するための測定値の準備ができた。
この状態で情報処理装置2901とは異なる第2の情報処理装置2001を図20に示すに示す。また、この第2の情報処理装置2001で動作する第2のプリンタドライバ2202を図22に示す。
この第2の情報処理装置2001から受信したデータをカラープリンタ101が印刷する際、第2の情報処理装置2001の第2のプリンタドライバ2202の動作を、図21を用いて説明する。
また、本実施形態において、第2の情報処理装置2001の構成は第1の情報処理装置2901と同等でればよいので、構成そのものについては説明を省略する。図20と図29、図22と図30、図25と図5は符号が異なるが各構成要素は同等の動作をするものである。
なお、図21で示すフローチャートは、第2の情報処理装置2001のRAM2003にロードされたプログラムをCPU2002が実行することによって実行される。この時のプログラムはアプリケーション2201や第2のプリンタドライバ2202を指す。
第2のプリンタドライバ2202とカラープリンタ101がネットワーク104を介して、アプリケーション2201で作成されたデータを印刷するための通信ネゴシエーションを行った後、第2のプリンタドライバ2202の動作が始まる(ステップS2101)。
まず、CPU2002はネットワーク104を介してカラープリンタ101に対して、単色キャリブレーション値を送信するよう要求する。(ステップS2102)そして、カラープリンタ101から単色キャリブレーション値を受信するまで待機する(ステップS2103)。
次に、ステップS2103で単色キャリブレーション値を取得すると、これを基に1D−LUTを作成して1D−LUT補正部2503に設定する(ステップS2104)。
CPU2002はネットワーク104を介してカラープリンタ101に、4D−LUT生成に用いる測定値を送信するよう要求する。(ステップS2105)そして、カラープリンタ101から測定値を受信するまで待機する(ステップS2106)。
ステップS2106で測定値を取得すると、これを基に前述した方法で4D−LUTを生成して4D−LUT補正部2502に設定する(ステップS2107)。
そして、アプリケーション2201からの印刷データを第2のプリンタドライバ2202のインタプリタ2203、CMS2204、レンダラ2206、画像処理部2207で処理し印刷データを生成する(ステップS2108)。
なお、この時、画像処理部2207の4D−LUT補正部2502ならびに1D−LUT補正部2503では、それぞれステップS2107とステップS2104で生成した補正テーブルを使用している。
CPU2002はネットワーク104を介してステップS2108で生成した印刷データをカラープリンタ101に順次送信する(ステップS2109)。
そして印刷データを全て送信し終わるとCPU2002はカラープリンタ101との通信を終了し(ステップS2110)、第2のプリンタドライバ2202の動作が終了する。また、どのプリンタドライバからもキャリブレーションの指示されていないために、S2106で測定値が取得されなかった場合は、画像処理部2207における4D−LUT補正部2502を通さずに処理をする。またはこの補正部にスルーさせるパラメータを設定する。
[カラープリンタの印刷動作の説明]
第2のプリンタドライバ2202から印刷データを印刷する際のカラープリンタの動作を図23のフローチャートを用いて説明する。
なお、図23で示すフローチャートは、カラープリンタ101のRAM107にロードされたプログラムをCPU105が実行することによって実行される。
カラープリンタ101と第2のプリンタドライバ2202がネットワーク104を介して印刷をするために通信ネゴシエーションを行った後、カラープリンタ101の動作が始まる(ステップS2301)。
CPU105は第2のプリンタドライバ2202から単色キャリブレーション値の要求を受信するまで待機する(ステップS2302)。
ステップS2302で第2のプリンタドライバ2202から単色キャリブレーション値の要求を受信すると、CPU105はRAM107から単色キャリブレーション値を読み出す。そして、ネットワーク104を介してCPU105が、第2のプリンタドライバ2202に単色キャリブレーション値を送信する(ステップS2303)。
次に、CPU105は第2のプリンタドライバ2202から4D−LUT作成に用いる測定値の要求を受信するまで待機する(ステップS2304)。
ステップS2304で第2のプリンタドライバから測定値の要求を受信すると、CPU105はRAM107から測定値を読み出す。そして、ネットワーク104を介してCPU105が、第2のプリンタドライバ2202に測定値を送信する(ステップS2305)。
そして、CPU105は第2のプリンタドライバ2202からの印刷データを受信するまで待機する(ステップS2306)。
ステップS2306にて印刷データを受信すると、プリンタ部103が印刷データを印刷する(ステップS2307)。
全ての印刷データを受信し終わると、CPU105は第2のプリンタドライバ2202との通信を終了し(ステップS2308)、全ての印刷データを印刷し終えた後にカラープリンタ101の動作を終了する。
[カラープリンタと第二のプリンタドライバの通信]
図11はこれまで説明してきたプリンタドライバ2202とカラープリンタ101との相互の通信ならびに動作を示した図である。プリンタドライバ2202とカラープリンタ101の各種動作は図22と図23の各ステップと対応付けて表記してある。
S2305にて、カラープリンタ101から第2のプリンタドライバ2202に測定値を送信することにより、S2107にて第2のプリンタドライバは自身でキャリブレーションの指示を実行していなくても、4D−LUTを生成することができる。
以上説明した本実施形態により、定着器後センサを有する測定プリンタのセンサの数や測定できるパッチデータ条件、用紙条件に対し、定着器後センサを有さないカラープリンタが柔軟に対応して測定チャートを印刷することが可能になる。
よって、本実施形態で示した構成を搭載したカラープリンタや測定プリンタはお互いの機種を選ばずに混色キャリブレーションの効果を提供することが可能となる。
さらに本実施形態で示したような、カラープリンタが電子写真プロセス制御のみを行い、画像処理や補正テーブルの適用はプリンタドライバがインストールされた情報処理装置が行う形態のシステムにおいて、以下の効果がある。
すなわち、カラープリンタに4D−LUTを生成するための測定値が格納させるので、ネットワークに接続されたキャリブレーションの指示を実行していない情報処理装置からの印刷に対して混色キャリブレーションの効果を提供することが可能となる
なお、本実施形態ではカラープリンタの補正に関して述べたが単色キャリブレーション機能を有していないモノクロプリンタの1D−LUTを作成するために測定プリンタを利用してもよい。この場合、補正ターゲット1405を濃度値にすればよい。また4D−LUT生成部3009や2209は単色キャリブレーションと同様の手法で1D−LUTを作成すればよい。
<実施形態2>
本実施形態では第2のプリンタドライバ2202がステップS2107での4D−LUTを生成する際、実施形態1にて説明した方法とは異なる方法を用いる。
なお、混色キャリブレーションを実施するプリンタドライバを第1のプリンタドライバ3002、印刷データを生成するプリンタドライバを第2のプリンタドライバ2202とする。そして、前述のフローチャート図8、図12、図19、図21、図23を用いて説明する。
[混色キャリブレーション実施時の測定器情報の説明]
図28は図9に追加される測定プリンタ201の測定器情報であり、測定プリンタ201に搭載されているセンサ220のセンサランクに関する情報である。図8のステップS803ならびに図12のステップS1202にて、この追加された測定器情報が、第2のプリンタドライバ2202に取得される。
センサランクとはセンサ220がL*a*b**やXYZ等のデバイスに依存しない色空間の値を読取る際の精度を示すランクである。センサ220はそれを構成する各種光学部品や電気回路、A/D変換器などから成っている。一般的にはこれらの部品の精度に依存して、センサ220の出力値のばらつきや絶対値の精度が決定される。これらに基づいて測定プリンタ201のROM206にはセンサ220のセンサランク情報が格納されており、測定器情報として第1のプリンタドライバ3002に送信される。
なお、図28では例えばセンサランクをBと表現しているがこれに限る必要はない。ある色の絶対値に対してセンサが出力する色値の色差をΔEとする。ΔEとはL*a*b*空間における2つの色値の距離を表している。第一の色のL*a*b*値が(L*1、a*1、b*1)、第二の色のL*a*b*値が(L*2、a*2、b*2)で表されているとする。この場合、第一と第二の色の色差は
ΔE=SQRT((L*1−L*2)^2+(a*1−a*2)^2+(b*1−b*2)^2))
で表現される。
なお、SQRTとは平方根を示しており、^2は2乗を示している。
この色差が小さい程、センサの精度が良い。よって、例えば0≦ΔE<1の時ランクA、0≦ΔE<2の時ランクB、0≦ΔE<3の時ランクCなどとランク分けしても良い。またはΔEの最大値そのものをセンサランク情報としてもよい。
また、同一の色を繰り返して読取った際のばらつきも前述のようなΔEで算出してもよい。そして、読み取りのばらつきと、部品の精度を合わせてセンサランク情報としてもよい。つまり、色を検知するセンサの精度がわかる様にセンサランク情報が構成されていれば、前述した方法に限る必要はない。
第2のプリンタドライバ3002はステップS813で4D−LUTを格納する際に、4D−LUTを生成した日時情報とS803で測定器情報から取得したセンサランク情報を4D−LUTと合わせて格納する。本実施形態では、ドライバに測定情報記憶部を設け、生成された4D−LUTおよび取得した情報を保持する。また、日時情報とセンサランク情報は、例えば図31(a)に示すようなデータフォーマットで表現されていれば良い。なお、ここではYYYYは西暦を4桁で示し、MMは月を2桁で示し、DDは日を2桁で示しTTTTは時と分をそれぞれ2桁で示した例を示している。
また、第2のプリンタドライバ3002はステップS814でカラープリンタ101に測定値を送信する際、図31(a)に示す様な日時情報とセンサランク情報を併せて送信する。これを測定値情報と呼ぶ。そして、カラープリンタ101はステップS1908にて測定値とともに日時情報とセンサランク情報で構成される測定値情報をRAM107に格納する。また、測定値情報にはセンサランク情報と日時情報の両者が揃っていなくてもよい。
[印刷時のプリンタドライバ動作説明]
第2のプリンタドライバ2202が、第1のプリンタドライバ3002とは異なるタイミングにて、測定プリンタ201とは異なる測定プリンタを用いて4D−LUTを生成した経緯をもっている場合について説明する。
まず、印刷データを生成する第2のプリンタドライバ2202は、カラープリンタ101に関連する情報として、以前の印刷時に取得した測定値情報を保持している。具体的には、図31(b)に示す内容の日時情報とセンサランク情報とともに、取得した測定値を基に作成した4D−LUTを保持している。なお、ここではyyyyは西暦を4桁で示し、mmは月を2桁で示し、ddは日を2桁で示しttttは時と分をそれぞれ2桁で示した例を示している。
図32は本実施形態の動作を説明するフローチャートである。
図21のステップS2106にて実行される測定値受信処理後の動作からステップS2108の印刷データ生成までの動作を示す。
CPU2002はRAM2003もしくは外部メモリ2011に格納されている、カラープリンタ101に対する4D−LUTとその図31(b)を例にした第1の日時情報と第1のセンサランク情報で構成される第1の測定値情報を読み出す。そして、ステップS2106で受信した測定値に図31(a)を例にした第2の日時情報ならびに第2のセンサランク情報が付加された第2の測定値情報を受信する。
第2のプリンタドライバは受信したこの第1の測定値情報と保存していた第2の測定値情報とを比較する(ステップS3201)。この比較は第1の日時情報と第2の日時情報はどちらが最新であり、どれだけの時間的乖離があるかを判定するために行う。または、第1のセンサランク情報と第2のセンサランク情報のどちらの精度が高く、どれだけのランクの乖離があるかを判定するために行う。
そしてステップS3201での比較結果を基に、どちらの測定値情報を基に4D−LUTを生成するか判断をする(ステップS3202)。
ステップS3202での判断基準の例としては例えば、第1の測定値情報と第2の測定値情報のうち、日時が新しいと判定された情報を採用すればよい。または第1の測定値情報と第2の測定値情報のうち、センサランクが上位、すなわち精度が良いと判定された情報を採用すればよい。または、時間的乖離に対する閾値を予め設定しておき、時間的乖離が閾値よりも短い場合は、第1の測定値情報と第2の測定値情報のうちセンサランクが上位な方を選択する。時間的乖離が閾値よりも長い場合は、第1の測定値情報と第2の測定値情報のうち日時が新しい方を採用すればよい。これらの判断は一例であり、4D−LUTの補正精度がより高くなる情報を選択する方法であれば、他の判断基準で第1の測定値情報と第2の測定値情報のうちどちらを選択するのかを判断しても良い。
ステップS3202で第1の測定値情報を基に4D−LUTを生成すると判断した場合、4D−LUTはすでに生成済みであるのでステップS3203に進む。ステップS3202で第2の測定値情報を基に4D−LUTを生成すると判断した場合はステップS2107に進み、第2の測定値情報を基に4D−LUTを生成して、格納する。
次にステップS3202で第2の測定値情報を基に4D−LUTを作成した場合は、ステップS2108に進む。ステップS3202で第1の測定値情報が採用された場合は、CPU2002はRAM2003もしくは外部メモリ2011に格納されていた第1の測定値情報と測定値をカラープリンタ101に送信する(ステップS3204)。
[印刷時のカラープリンタ動作の説明]
図33は本実施形態におけるカラープリンタ101の動作を示すフローチャートである。これは図23のフローチャートのステップS2306に代わって挿入されるものである。
ステップS2305で測定値と第2の測定値情報をプリンタドライバ2202に送信した後、プリンタドライバ2202からのデータを受信するまで待機する(ステップS3301)。
ステップS3301でプリンタドライバ2202からデータを受信すると、その内容が測定値と日時情報、センサランク情報であるか、すなわち第1の測定値情報であるかを判断する(ステップS3302)。第1の測定値情報でない場合は印刷データであるのでステップS2307に進み印刷動作を実行する。
ステップS3302にて第1の測定値情報を受信した場合CPU105は、受信した日時情報とセンサランク情報と測定値をRAM107に格納する(ステップS3303)。そしてステップS3301に戻り、印刷データを受信するまで待機する。
本実施形態により、実施形態1の効果とともにネットワーク上のカラープリンタと複数のプリンタドライバがそれぞれ異なる測定値を有していた場合に、最も混色キャリブレーションの効果を得られる測定値を選択することができる。そして、その測定値を用いた4D−LUTを印刷データに適用することで、最も色再現性の高い印刷物を提供することが可能となる。
<実施形態3>
これまで説明した実施形態において、図12のステップS1204では測定に用いるチャートが給紙部に積載され、このチャートが読み込まれるのを待機する状態が続く。この際、測定プリンタ201を他のユーザーが操作できない状態になってしまう。すなわちカラープリンタ101の混色キャリブレーション動作が測定プリンタ201を占有してしまう。このような場合でも、他のユーザーが測定プリンタ201を使用できる様にするとともに、他のユーザーの使用後、混色キャリブレーション処理に即座に復帰できる実施形態を説明する。
測定プリンタ201は図12のフローチャートに従って動作している。図26は図12のステップS1203とステップS1205の間のステップについて示す。すなわちステップS1204を図26のフローチャートで置き換える。
表示部210は図27(a)に示す様に給紙部216からチャートを読み込むようユーザーから指示を受けるための画面を表示する。CPU205はチャートが読み込まれるまで待機する(ステップS2601)。
CPU205はチャートが読み込まれるのを待機しつつ図27(a)の一時中止キー2701が押下されるか否かも監視する(S2602)。すなわち、ユーザーから、センサを用いた測定の中断指示を受け付けたか否かを監視する。ステップS2601及びステップS2602で入力がない限り、CPU205は両ステップを繰り返す。
ステップS2602で図27(a)の一時中止キー2701が押下された場合、表示部210は図27(b)に示す様に混色キャリブレーション再開キー2702を伴う通常画面を表示する。ここで通常画面とは測定プリンタ201のトップ画面を含む、混色キャリブレーション以外の動作時に表示する画面を指す(ステップS2603)。
CPU205は通常の動作を制御しながら、混色キャリブレーション再開キー2702がユーザーにより押下されるまで待機し、押下された場合はステップS2601に戻る(ステップS2604)。ユーザーから、中断した処理を再開するように指示を受け付けた場合には、ステップS2601に戻る処理が行われる。
以上により測定プリンタ201を混色キャリブレーションだけに占有することなく、実施形態1〜2で説明した各動作を提供することが可能になる。
以上説明した各実施形態においては、測定を行うプリンタ(画像形成装置)が定着器後センサを有する画像形成装置である例を用いて説明した。定着器後センサを使用することで、定着までに生じ得る環境変動の影響を少なくすることができる。しかしながら、感光ドラム上もしくは1次転写ベルト上に濃度を検出するセンサを有する画像形成装置が測定を行っても良い。すなわち、任意の種類のセンサを有する画像形成装置においても上記の各実施形態の処理を適用することが可能である。この場合、例えば測定プリンタ201からの測定器情報として、センサの種類を識別する情報を含めることによって、どの種類のセンサを利用できるかをカラープリンタ101にて把握することができる。また、例えば測定プリンタ201に複数の利用可能な種類のセンサが搭載されている場合には、どの種類のセンサでの測定を要求するかを示す情報がカラープリンタ101からの測定チャート情報に含めることも可能である。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置の情報処理装置(またはCPUやMPU等)がプログラムを読み出して実行する処理である。