(57)【特許請求の範囲】
【請求項１】
コントローラおよびエンジンを有するプリンタとサーバシステムとがネットワークに接続されているプリンタ較正システムにおいて、
前記サーバシステムは、
前記プリンタに指示してパッチデータを出力する出力手段と、
前記パッチデータ出力直後の前記エンジンの特性情報を、第１のエンジン特性情報として前記プリンタから取得する第１のエンジン情報取得手段と、
前記プリンタから出力した前記パッチデータをスキャナにより取り込み、該パッチデータに基づいて第１の較正データを作成する第１の較正データ作成手段と、
該第１の較正データ作成手段により作成された第１の較正データおよび前記第１のエンジン特性情報のダウンロードを、前記プリンタに対して行うダウンロード手段とを備え、
前記プリンタは、
前記コントローラが、前記エンジンの最新の特性情報を第２のエンジン特性情報として、前記エンジンから取得する第２のエンジン情報取得手段と、
前記コントローラが、前記ダウンロードが行われた場合、前記第１のエンジン特性情報に基づく特性カーブと前記第２のエンジン特性情報に基づく特性カーブとの差分からキャリブレーション補正データを生成し、該キャリブレーション補正データと前記第１の較正データをマージすることで、第２の較正データを作成し、前記ダウンロードが行なわれていない場合、前記第２のエンジン特性情報のみを用いて第２の較正データを作成する第２の較正データ作成手段とを備え、
前記コントローラが前記第２の較正データを用いて画像処理を行い、当該行った画像処理後のデータを前記エンジンへ送ることにより印刷を行うことを特徴とするプリンタ較正システム。
【請求項２】
サーバに接続されたコントローラおよびエンジンを有するプリンタ装置であって、
前記サーバは、
前記プリンタに指示してパッチデータを出力する出力手段と、
前記パッチデータ出力直後の前記エンジンの特性情報を、第１のエンジン特性情報として前記プリンタから取得する第１のエンジン情報取得手段と、
前記プリンタから出力した前記パッチデータをスキャナにより取り込んだ結果に基づいて第１の較正データを作成する第１の較正データ作成手段と、
該第１の較正データ作成手段により作成された第１の較正データおよび前記第１のエンジン特性情報を、前記プリンタに対して行うダウンロードするダウンロード手段とを備え、
前記プリンタ装置では、
前記コントローラが、前記エンジンの最新の特性情報を第２のエンジン特性情報として、前記エンジンから取得する第２のエンジン情報取得手段と、
前記コントローラが、前記ダウンロードが行われた場合、前記第１のエンジン特性情報に基づく特性カーブと前記第２のエンジン特性情報に基づく特性カーブとの差分からキャリブレーション補正データを生成し、該キャリブレーション補正データと前記第１の較正データをマージすることで、第２の較正データを作成し、前記ダウンロードが行なわれていない場合、前記第２のエンジン特性情報のみを用いて第２の較正データを作成する第２の較正データ作成手段とを備え、
前記コントローラが前記第２の較正データを用いて画像処理を行い、当該行った画像処理後のデータを前記エンジンへ送ることにより印刷を行うことを特徴とするプリンタ装置。
【請求項３】
コントローラおよびエンジンを有するプリンタとサーバシステムとがネットワークに接続されているプリンタ較正システムのプリンタ較正方法において、
前記サーバシステムは、
前記プリンタに指示してパッチデータを出力する出力ステップと、
前記パッチデータ出力直後の前記エンジンの特性情報を、第１のエンジン特性情報として前記プリンタから取得する第１のエンジン情報取得ステップと、
前記プリンタから出力した前記パッチデータをスキャナにより取り込み、該パッチデータに基づいて第１の較正データを作成する第１の較正データ作成ステップと、
該第１の較正データ作成ステップにより作成された第１の較正データおよび前記第１のエンジン特性情報のダウンロードを、前記プリンタに対して行うダウンロードステップとを備え、
前記プリンタは、
前記コントローラが、前記エンジンの最新の特性情報を第２のエンジン特性情報として、前記エンジンから取得する第２のエンジン情報取得ステップと、
前記コントローラが、前記ダウンロードが行われた場合、前記第１のエンジン特性情報に基づく特性カーブと前記第２のエンジン特性情報に基づく特性カーブとの差分からキャリブレーション補正データを生成し、該キャリブレーション補正データと前記第１の較正データをマージすることで、第２の較正データを作成し、前記ダウンロードが行なわれていない場合、前記第２のエンジン特性情報のみを用いて第２の較正データを作成する第２の較正データ作成ステップとを備え、
前記コントローラが前記第２の較正データを用いて画像処理を行い、当該行った画像処理後のデータを前記エンジンへ送ることにより印刷を行うことを特徴とするプリンタ較正システムのプリンタ較正方法。
【請求項４】
サーバに接続されたコントローラおよびエンジンを有するプリンタ装置の制御方法であって、
前記サーバは、
前記プリンタに指示してパッチデータを出力する出力ステップと、
前記パッチデータ出力直後の前記エンジンの特性情報を、第１のエンジン特性情報として前記プリンタから取得する第１のエンジン情報取得ステップと、
前記プリンタから出力した前記パッチデータをスキャナにより取り込んだ結果に基づいて第１の較正データを作成する第１の較正データ作成ステップと、
該第１の較正データ作成ステップにより作成された第１の較正データおよび前記第１のエンジン特性情報を、前記プリンタに対して行うダウンロードするダウンロードステップとを備え、
前記プリンタ装置では、
前記コントローラが、前記エンジンの最新の特性情報を第２のエンジン特性情報として、前記エンジンから取得する第２のエンジン情報取得ステップと、
前記コントローラが、前記ダウンロードが行われた場合、前記第１のエンジン特性情報に基づく特性カーブと前記第２のエンジン特性情報に基づく特性カーブとの差分からキャリブレーション補正データを生成し、該キャリブレーション補正データと前記第１の較正データをマージすることで、第２の較正データを作成し、前記ダウンロードが行なわれていない場合、前記第２のエンジン特性情報のみを用いて第２の較正データを作成する第２の較正データ作成ステップとを備え、
前記コントローラが前記第２の較正データを用いて画像処理を行い、当該行った画像処理後のデータを前記エンジンへ送ることにより印刷を行うことを特徴とするプリンタ装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ較正システムおよびその方法に関し、より詳しくは、システムを構成するプリンタ、特にカラープリンタの較正（キャリブレーション）を行うプリンタ較正システムおよびその方法並びに記録媒体に関する。
【０００２】
【従来の技術】
一般にパーソナルコンピュータ（PC）に接続したカラープリンタにおいてカラー印字を行う場合、カラープリンタの印字特性の変化により、時間の経過に伴って印字結果が変化する。その印字特性の変化は一般に経年変化と呼ばれる。経年変化は印字環境の温度、湿度やトナー残量、プリンタドラムの使用度等に起因する。
【０００３】
また別の観点からは、同一機種プリンタ間においても、上述の外的要因によりプリンタAとプリンタBの印字特性にばらつきが生じる。これにより、ある時点のプリンタ特性に基づいて作成した印字データを別の時点において印字する場合、ユーザは所望のカラー印字結果を得られない。
【０００４】
また、同一機種プリンタ間においても、印字特性にばらつきが生じるため、プリンタAとプリンタBの印字結果が異なり、所望のカラー印字結果が得られない。
【０００５】
このような問題を解決するために、特開２０００−３１８２６６号公報に示したようなキャリブレーション方法を既に開示している。すなわち上述の公報における構成では、システムを構成するコンピュータ装置およびカラープリンタ間で動作するキャリブレーションであり、ユーザオペレーションを介するものである。その処理を以降「ソフトキャリブレーション」と呼称する。これらは次の構成からなる。
【０００６】
すなわち、特に複数のコンピュータの内、サーバコンピュータからの指示によって、上述のカラープリンタからパッチデータを出力し、そのパッチデータを任意のスキャナから読み取り、上述のサーバコンピュータにおいてその読み取ったスキャンデータに基づいてキャリブレーションデータを作成し、上述のサーバコンピュータにおいてその作成したキャリブレーションデータを上述のカラープリンタへダウンロードし、そのダウンロードされたキャリブレーションデータを用いて印刷する。これにより特に複数のプリンタ間の印字特性のばらつきが大幅に軽減される（絶対的濃度の安定）。
【０００７】
また別の従来例としては、プリンタを構成するエンジンとコントローラ間におけるキャリブレーションとして上述の従来例とは別のタイプのものが存在する。
【０００８】
この従来例は、カラープリンタを構成するプリンタコントローラ、プリンタエンジン間で動作するキャリブレーションであり、カラープリンタ内で自動的に動作するものである。その処理を以降「デバイスキャリブレーション」と呼称する。これらは次の構成からなる。
【０００９】
すなわち、上述のプリンタエンジンにおいて任意のタイミングでCMYK各色の最大濃度を補正し、上述のプリンタエンジンにおいて、上述の最大濃度補正のタイミングで上述のプリンタコントローラからの問い合わせに対してエンジン特性情報を渡し、上述のプリンタコントローラにおいてその渡されたエンジン特性情報に基づいてキャリブレーション補正データを作成し、そのプリンタコントローラで保有している上述のキャリブレーションデータを補正し、その更新されたキャリブレーションデータを用いて印刷する。
【００１０】
これにより、特にあるプリンタ装置において発生しうる温度・湿度等の外的要因による特性の変化を抑えることが可能となる（相対的濃度の安定）。
【００１１】
従来においては、上述のキャリブレーションデータを用いた印刷は上述のプリンタコントローラ内で画像処理を行ういわゆる「ページ記述言語（PDL）モード」の場合に限られる。すなわち本プリントシステムに接続されたクライアントコンピュータ装置においてラスタライズおよび２値化までの全ての画像処理を行ういわゆる「イメージモード」においては、上述のキャリブレーションデータを用いた画像処理は実現できなかった。
【００１２】
【発明が解決しようとする課題】
しかし、上述した従来技術においては次のような課題がある。すなわち、上述した２種のキャリブレーションにおいては、それぞれ絶対的濃度、相対的濃度の安定を得ることが可能となるが、両キャリブレーションはそれぞれ独立して機能する構成であり互いに相関関係を持っていない。従って、例えばあるタイミングでソフトキャリブレーションによってキャリブレーションを行っても、デバイスキャリブレーションは任意のタイミングで発生するため、逆にそのデバイスキャリブレーションによってエンジン特性が変化してしまい、ソフトキャリブレーションの効果が持続しない結果となる。従って、この場合常に絶対的濃度の安定したカラー印字を得るためにはユーザは上述のソフトキャリブレーションを頻繁に行う必要が生じる。
【００１３】
また、PDLモードにおいてはキャリブレーションデータを用いた画像処理は可能であったが、イメージモードにおいてはそのキャリブレーションデータを用いた画像処理を実施できないため、PDL、イメージの各モードで出力した印刷物の色みが異なるといった問題があった。
【００１４】
本発明は、このような課題を解決するために鑑みてなされたもので、その目的とするところは、経年変化や同一機種間の特性のばらつきに対応し、またイメージモードにおいてもPDLモードと同様のキャリブレーションを行う構成を提供することにより、いずれのモードにおいても安定した印字特性が得られるプリンタ較正システム、方法および記録媒体を提供することにある。
【００１５】
さらに本発明の目的とするところは、イメージモードにおいて、必要とする情報を極力小さくすることによりネットワークへの負荷を軽減でき、また、キャリブレーションテーブルそのものを取得することにより、イメージモードにおけるキャリブレーションテーブル作成の処理負荷を軽減することが可能なプリンタ較正システムおよびその方法を提供することにある。
【００１６】
【課題を解決するための手段】
このような目的を達成するために、請求項１に記載の発明は、コントローラおよびエンジンを有するプリンタとサーバシステムとがネットワークに接続されているプリンタ較正システムにおいて、前記サーバシステムは、前記プリンタに指示してパッチデータを出力する出力手段と、前記パッチデータ出力直後の前記エンジンの特性情報を、第１のエンジン特性情報として前記プリンタから取得する第１のエンジン情報取得手段と、前記プリンタから出力した前記パッチデータをスキャナにより取り込み、該パッチデータに基づいて第１の較正データを作成する第１の較正データ作成手段と、該第１の較正データ作成手段により作成された第１の較正データおよび前記第１のエンジン特性情報のダウンロードを、前記プリンタに対して行うダウンロード手段とを備え、前記プリンタは、前記コントローラが、前記エンジンの最新の特性情報を第２のエンジン特性情報として、前記エンジンから取得する第２のエンジン情報取得手段と、前記コントローラが、前記ダウンロードが行われた場合、前記第１のエンジン特性情報に基づく特性カーブと前記第２のエンジン特性情報に基づく特性カーブとの差分からキャリブレーション補正データを生成し、該キャリブレーション補正データと前記第１の較正データをマージすることで、第２の較正データを作成し、前記ダウンロードが行なわれていない場合、前記第２のエンジン特性情報のみを用いて第２の較正データを作成する第２の較正データ作成手段とを備え、前記コントローラが前記第２の較正データを用いて画像処理を行い、当該行った画像処理後のデータを前記エンジンへ送ることにより印刷を行うことを特徴とする。
【００３６】
以上の構成において、ユーザはシステムを構成するコンピュータを介した指示によって、従来ほど高くない頻度でキャリブレーションデータを作成しカラープリンタへダウンロードすることにより、以降は基本的にプリンタ側でエンジンの特性変化を自動的に微調整する。
【００３７】
このため、ユーザの負荷も軽く、また従来のソフトキャリブレーション、デバイスキャリブレーションの両方の利点を相乗効果で生かすことができ、またプリンタで画像処理を行うPDLモードのみならずホストコンピュータ上でラスタライズ、２値化を含めた全画像処理を行うイメージモードにおいてもネットワークトラフィックを増大させることなく同様のキャリブレーションを行うことができるので、常に安定したカラー印字を得ることができる。
【００３８】
またイメージモードにおいて、キャリブレーションテーブルそのものを取得することにより、イメージモードにおけるキャリブレーションテーブル作成の処理負荷を軽減することができる。
【００３９】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付している。
【００４０】
なお、以下説明する実施形態では、システムを構成するプリンタ装置の例としてColor Laser Beam Printer(LBP)を例に用いているが、Color Ink Jet Printer等の他のプリンタ装置に関しても同様に実施可能である。
【００４１】
（実施形態１）
図１は、本実施形態１のプリンタ較正システムの構成を示すブロック図で、１はサーバPCであり、このサーバPC１には本システムを実現するソフトウェアがインストールされており、ネットワーク５に接続されている。
【００４２】
サーバPC１内部に構成されるキャリブレーションデータ格納部１１は、後述するキャリブレーションデータをサーバPC１内部に保持するために使用されるものである。
【００４３】
第１のエンジン特性および第１のキャリブレーションテーブル１１１,１１２は、各々キャリブレーションデータ格納部１１内に格納されている。
【００４４】
ネットワーク５に接続されたプリンタ２は、本システムにおける較正の対象となる装置である。そのプリンタ２はネットワーク上に接続された複数のPCからの指示により印字が行えるよう構成されている。
【００４５】
上述のプリンタ２内部に構成されるキャリブレーションデータ格納部２１は、後述するキャリブレーションデータをプリンタ２内部に保持するために使用される。
【００４６】
上述のサーバPC１からダウンロードされた第１のエンジン特性２１１および第１のキャリブレーションテーブル２１２およびそのキャリブレーションテーブルをダウンロードした時刻を示すタイムスタンプ情報２１３は、上述のキャリブレーションデータ格納部２１内に格納される。
【００４７】
後述するエンジンから取得した最新のエンジン特性である第２のエンジン特性２１４,および、後述する最新のキャリブレーションテーブルである第２のキャリブレーションテーブル２１５,および上述の最新のエンジン特性である第２のエンジン特性２１４を取得する度にカウントアップされる第２のエンジン特性更新カウン２１６タは、上述のキャリブレーションデータ格納部２１内に格納される。
【００４８】
上述のプリンタ２内部に構成されるプリンタコントローラ２２は、プリンタ２に関する様々な制御を司る。そのプリンタコントローラ２２は後述する第１のエンジン特性および第１のキャリブレーションテーブルおよびタイムスタンプ情報がPC１からダウンロードされた際に上述のキャリブレーションデータ格納部２１へ格納したり、後述するように上述のキャリブレーションデータ格納部２１内の第２のキャリブレーションテーブルを更新する役割やキャリブレーションデータ格納部２１内のデータを後述するクライアントPCへ送信する役割も担う。
【００４９】
上述のプリンタ２内部に構成されるプリンタエンジン２３は、基本的には上述のプリンタコントローラ２２からの印字データを出力する部分であるが、後述するエンジン特性情報を上述のプリンタコントローラ２２へ送信したり、後述するエンジン特性における最大濃度の調整を行う役割も担う。
【００５０】
上述のサーバPC１に接続されたスキャナ３は、本システムにおいては上述のプリンタ２において出力したパッチデータを測定するために使用するが、原稿を入力するといった本来の用途としても使用可能である。
【００５１】
ネットワーク上に接続されたクライアントPC４は、所望の印字データの作成、編集、印字の指示等を行う。そのクライアントPC４における処理には上述のプリンタ２のコントローラ２２においてラスタライズや２値化を行い、本クライアントPC４からはプリンタ２に対してRGB多値でデータ送付するPDLモードと、本クライアントPC４上でラスタライズや２値化を含めた画像処理を行いプリンタ２に対して上述のエンジン２３が出力しやすい形態の例えばCMYK２値データを送付するイメージモードが存在する。なおここでは２値を例に説明を行うが、これらはエンジン出力の形態に依存するものであり４値や１６値等でも同様である。
【００５２】
これらの２つのモードは図示しないプリンタドライバのユーザインタフェース等によってユーザが切り替えて用いる場合や、図示しないがクライアント上のユーティリティによって自動的に切り替えて用いる場合が考えられる。これらの２モードの詳細な処理に付いては後述する。
【００５３】
上述のクライアントPC４内部に構成されるキャリブレーションデータ格納部４１は、後述するキャリブレーションデータをクライアントPC４内部に保持するために使用する。４１１,４１２は上述のキャリブレーションデータ格納部４１内に格納される、上述のプリンタ２からアップロードされた第１のエンジン特性および第１のキャリブレーションテーブルである。４１３,４１４は上述のキャリブレーションデータ格納部４１内に格納される、上述のプリンタ２からアップロードされた最新のエンジン特性である第２のエンジン特性および、後述するクライアントPC４内のキャリブレーションテーブル作成部４３で作成される最新のキャリブレーションテーブルである第２のキャリブレーションテーブルである。
【００５４】
上述のクライアントPC４内部に構成される画像処理部４２は、後述する画像処理を行う。上述のクライアントPC４内部に構成されるキャリブレーションテーブル作成部４３は、上述のキャリブレーションデータ格納部４１内に格納された情報に基づいてキャリブレーションテーブルを作成する。情報取得部４３１はそのキャリブレーションテーブル作成部４３の中にあって、前述したようにプリンタ２から第１のエンジン特性および第１のキャリブレーションテーブルおよび第２のエンジン特性をアップロードし、上述のキャリブレーションデータ格納部４１内に格納する。
【００５５】
図２および図３は、較正（キャリブレーション）を行うためのフローチャートである。図２はシステムを構成するコンピュータ装置およびカラープリンタ間で動作するキャリブレーションのフローチャートである。ここではまずステップＳ２０においてPC１からプリンタ２へパッチデータを出力するよう指示し、プリンタ２においてパッチデータの出力を行う。
【００５６】
そのパッチデータの例を図６に示す。図６の例では、１ページ内に縦横それぞれ３２分割した総計１０２４のブロックを用意する。横方向には印刷トナーの基本色であるCyan,Magenta,Yellow,Black別にブロックを配置する。各ブロック内に記述された数値は配列の添字を示すが、内部的にはその添字に対してそれぞれ出力データが対応付けられており、その添字自体は実際には出力されない。
【００５７】
すなわち図６においては、配列０から３１のハイライト側は３２階調を４個所、配列３３から６３のシャドウ側は１６階調を８個所にブロックを配置している。ハイライト、シャドウの階調数の差異は、本システムにおいてはシャドウ側に比べてハイライト側は綿密な階調情報を必要とするためである。またハイライト、シャドウの配置数の差異は、スキャナにおける入力値のばらつきがハイライト側に比べてシャドウ側の方が多い傾向があるためである。
【００５８】
そのパッチデータは上述のごとくPC１からの指示によってプリンタ２から出力されるものであるが、プリンタ２内で上述のフォーマットのパッチデータを構成する情報を所有しておき、PC１からの指示でその情報を元にパッチデータを生成してもよいし、PC１側でそのパッチデータ構成情報をプリンタ２に送信することにより、パッチデータを生成してもよい。そのパッチデータ構成情報とはプリンタ２所有のコマンド系に依存するものであるが、ここでは言及しない。
【００５９】
図２のステップS２１において、そのパッチデータ出力直後にそのパッチ出力時のエンジン特性情報を取得する。そのエンジン特性取得は、サーバPC１から上述のプリンタ２内のキャリブレーションデータ格納部２１内に格納されている最新のエンジン特性である第２のエンジン特性を取得することにより行う。データ取得に関するコマンド系についてもここでは言及しない。
【００６０】
ステップS２１ではサーバPC１により、取得した第２のエンジン特性を第１のエンジン特性１１１としてキャリブレーションデータ格納部１１内に格納する。第１のエンジン特性１１１は、上述のパッチデータを出力した際のエンジン特性として、後述する第１のキャリブレーションテーブルに対応付けられる。そのエンジン特性の詳細については後述する。
【００６１】
図２のステップS２２において、スキャナ３によって上述の出力されたパッチデータの測定を行う。スキャナ３では、上述したパッチデータの各ブロックのRGB信号値を入力し、PC１に値を返す。PC１ではその入力値から、上述のパッチデータのブロックの配置に基づき、ハイライト側は４個所の平均、シャドウ側は８個所の平均を算出し、結果としてCMYK各色４８階調のRGB信号値を得る。ここであらかじめ用意された、スキャナ３のRGB輝度信号とプリンタ２のCMYK濃度信号の対応を示す輝度濃度変換テーブル（図示しない）を用いて、その４８階調の輝度信号から４８階調の濃度特性値を得ることができる。
【００６２】
ここでは詳細には触れないが、スキャンは通常PC１上に構成されるスキャナドライバを通して実行される。そのスキャナドライバによって、スキャン解像度の設定や入力領域の指定等が行われる。
【００６３】
次にステップS２３において、PC１によってキャリブレーションテーブルの作成が行われる。この様子を図４を用いて説明する。上述の各色４８階調の濃度特性値を図４(a)に示す。ここでは簡単のため一色しか図示しないが、実際はCMYK４色について同様の処理を行う。
【００６４】
図４において、入力、出力の関係カーブが示されるが、これは上述の４８階調から補間計算により求めるものである。これに対して、ここでは濃度特性の理想値は図４(c)に示すような線形カーブと規定する。従って、現状の濃度特性(a)を理想濃度(c)に近づけるために、逆関数によって図４(b)に示すキャリブレーションテーブルを求める。すなわち特性(a)に対して(b)を適用することにより、結果として(c)を得るものである。
【００６５】
ステップS２３においては、サーバPC１によって、作成された上述のキャリブレーションテーブルを第１のキャリブレーションテーブル１１２としてキャリブレーションデータ格納部１１内に格納する。
【００６６】
次にステップS２４において、PC１によりそのキャリブレーションデータ格納部１１内の第１のエンジン特性１１１および第１のキャリブレーションテーブル１１２のプリンタ２へのダウンロードを行う。またこの際ダウンロードの時刻を示すタイムスタンプ情報も合わせてダウンロードする。この際のダウンロードコマンド等はプリンタ２のコマンド系に依存するがここでは言及しない。
【００６７】
そのダウンロードされた第１のエンジン特性１１１および第１のキャリブレーションテーブル１１２およびタイムスタンプ情報は、プリンタコントローラ２２を介してキャリブレーションデータ格納部２１内に、第１のエンジン特性２１１および第１のキャリブレーションテーブル２１２およびタイムスタンプ２１３として格納される。
【００６８】
プリンタ２においてダウンロードデータを受信する際のプリンタコントローラ２２の処理の流れを図７を用いて説明する。図７のステップS７０においてデータ受信がされたか否かの判定を行う。受信されていない場合はステップ７０を繰り返す。受信された場合はステップS７１においてデータ解析を行う。
【００６９】
その解析結果の判定をステップS７２で行うが、キャリブレーションダウンロードコマンドである場合はステップS７３において、そのデータがエンジン特性であるか否かの判定を行い、エンジン特性である場合はステップS７４において上述のとおりキャリブレーションデータ格納部２１内に、第１のエンジン特性２１１としてエンジン特性１の登録を行う。
【００７０】
ステップS７３においてエンジン特性でない場合はステップS７５において、そのデータがキャリブレーションテーブルであるか否かの判定を行い、キャリブレーションテーブルである場合はステップS７６において上述のとおりキャリブレーションデータ格納部２１内に、第１のキャリブレーションテーブル２１２としてキャリブレーションテーブル１の登録を行う。
【００７１】
ステップS７５においてキャリブレーションテーブルでない場合はタイムスタンプであると判断し、ステップS７７において上述のとおりキャリブレーションデータ格納部２１内に、第１のキャリブレーションテーブルダウンロードのタイムスタンプ２１３としてタイムスタンプの登録を行う。
【００７２】
ステップS７２において、キャリブレーションダウンロードでないと判断された場合はステップS７８においてそれぞれの処理を行う。
【００７３】
通常印字データはクライアントPC４上のアプリケーションからクライアントPC４上のプリンタドライバを経由してプリンタ２へ流される。プリンタ２内のプリンタコントローラ２２では上述した図７のステップ７８等において印字データの解析、ページレイアウトの構成、画像処理、印字等を行う。
【００７４】
そのクライアントPC４におけるドライバの処理には前述の通り、プリンタ２のコントローラ２２においてラスタライズや２値化を行い、クライアントPC４からはプリンタ２に対してRGB多値でデータ送付するPDLモードと、クライアントPC４上でラスタライズや２値化を含めた画像処理を行いプリンタ２に対して上述のエンジン２３が出力しやすい形態の例えばCMYK２値データを送付するイメージモードが存在し、それぞれのドライバであるPDLドライバ、イメージドライバを用いて処理を行う。
【００７５】
ここで図１１(a)および図１２を用いて、PDLモードを例にとり、PDLドライバおよびプリンタコントローラ２２においてキャリブレーションデータを用いて画像処理を行う際の処理の流れを説明する。なおイメージモードの例は後述する。
【００７６】
図１１(a)はPDLドライバの処理のフローチャート１２はコントローラの処理の流れを示す。まず図１１(a)におけるステップS１１０においてクライアントPC４上のPDLドライバは入力信号RGBに対してカラー微調整を行う。そのカラー微調整とは輝度補正やコントラスト補正である。
【００７７】
次にステップS１１１においてカラーマッチング処理を行う。そのカラーマッチング処理とはモニタの色味とプリンタ印字の色味を合わせるための処理である。この時点でデータはRGB多値の信号であるが、PDLモードではこの形態で次のステップS１１２においてクライアントPC４からプリンタ２へデータ送信を行う。
【００７８】
次に図１２におけるステップS１２０において、プリンタ２内のコントローラ２２によってデータ解析を行う。ステップS１２０でクライアントPC４から送られてきたデータがPDLモードデータであると判断した場合は、ステップS１２１において輝度濃度変換処理を行う。これは入力信号である輝度RGBからプリンタの印字信号である濃度CMYKへ変換するための処理である。
【００７９】
次にステップS１２２においてキャリブレーション処理を行う。すなわちCMYK各８ビット多値信号を入出力信号とし、最新のキャリブレーションテーブルであるキャリブレーションテーブル２を用いて、出力特性を線形にするものである。
【００８０】
次にステップS１２３においてそのCMYK各８ビット信号を出力系に即した信号に変換する。一般的にはCMYK各１ビットの信号への２値化を行う。これによりプリンタシステムにおいてキャリブレーションが適用された適正な出力を得る。
【００８１】
以上、図２によってシステムを構成するコンピュータ装置およびカラープリンタ間で動作するキャリブレーションの流れを説明した。そのキャリブレーションによって、比較的カラー印字特性は安定させることが可能であるが、エンジン特性は例えば連続印字等によりドラム温度が上昇することにより比較的容易に変化する傾向が見られ、そのキャリブレーションのみで常に安定したカラー印字を得るためにはユーザはそのキャリブレーションを頻繁に行う必要が生じる。そこでユーザの負担を軽減し、かつキャリブレーションの精度を向上するために、本実施形態では次に示すようにデバイスキャリブレーションとの組み合わせを提案するものである。
【００８２】
図３は、本実施形態におけるカラープリンタ２を構成するプリンタコントローラ２２、プリンタエンジン２３間で動作するキャリブレーションの流れを説明するフローチャートである。
【００８３】
そのデバイスキャリブレーションは、例えばプリンタエンジン２３内部に設置された図示しない温度・湿度センサの変化や、印刷枚数、ドラムやトナーカートリッジの交換時等、エンジン特性が変化する可能性の高いイベントをトリガにしてプリンタエンジン２３、プリンタコントローラ２２間において実行される。そのイベントについては他にも考慮できるがここでは言及しない。
【００８４】
ここではまずステップＳ３１においてプリンタエンジン２３においてCMYK各色の最大濃度の調整を行う。通常プリンタエンジンでは設計時の目標最大濃度が決められているが、経年変化によってその濃度が上下に振れる。本ステップでは図示しない現像系例えばドラム上のセンサにより現状のCMYK各色における最大濃度値を得て、その値が振れている場合は現像バイアス値等を制御することにより、適正な最大濃度調整を行う。
【００８５】
この際の濃度特性カーブの動きを図１０を用いて説明する。図１０における特性カーブ２は、最大濃度調整前の濃度特性カーブを示した例であり、特性カーブ１は最大濃度調整後の濃度特性カーブを示した例である。まずここでは特性カーブ２の最大濃度はmax２を示している。上述のトリガによって最大濃度調整が開始されると、まずドラム上のセンサにより現状の最大濃度値がmax２であることを検知する。最大濃度値の目標値はmax１であるため、プリンタエンジン２３は現像バイアス値等を制御し、最大濃度がmax１となるよう調整を行う。
【００８６】
次にステップS３２において最新のエンジン特性であるエンジン特性２の取得を行う。その処理は、プリンタコントローラ２２からの要求に応えて、プリンタエンジン２３からプリンタコントローラ２２へ、数点の中間濃度センサ値を返すことにより行う。
【００８７】
この様子を図１０を用いて説明する。図１０においては説明のために４点の中間濃度センサ値を例に取るが、その点数についてはこの限りではない。横軸上のABCDは、予め決められた入力値であり、縦軸のabcdは各入力値に対応した図示しない現像系例えばドラム上のセンサが返した濃度値である。プリンタエンジン２３はプリンタコントローラ２２と通信を行い、そのabcdの４点をプリンタコントローラ２２へ渡す。その通信方法についてはここでは言及しないが、双方向の何らかのプロトコルで実現する。
【００８８】
ちなみに最大濃度調整前における中間濃度センサ値はa'b'c'd'であり、最大濃度調整によりabcdへ変動する。つまり中間濃度センサ値すなわちエンジン特性は、最大濃度調整に大きく影響を受けるため、常に一連の流れとして最大濃度調整、エンジン特性取得の順に処理を行う必要がある。
【００８９】
一般的に上述の現像系のセンサは、センサそのものの特性のばらつきがあるため、絶対的な濃度値を確実に得る精度はない。ただし同一のセンサにおいては現像系の特性が変化した場合、その変化に応じたセンサ値を返す。すなわち絶対的な精度は低いが、相対的な精度は期待できる。
【００９０】
次にステップS３３において、キャリブレーションデータ格納部２１内にキャリブレーションテーブル１がダウンロードされているか否かの判定を行う。キャリブレーションテーブル１がダウンロードされていない場合は、ステップS３４において従来のデバイスキャリブレーションと同様の手法でキャリブレーションテーブル２を作成する。
【００９１】
その処理は図１０の特性カーブ１を用いて説明する。従来のデバイスキャリブレーションでは、まずエンジン特性である中間濃度センサ値abcdから近似式によって特性カーブ１を得、図４を用いて前述したように目標とする特性を得るための逆関数を生成することによってキャリブレーションテーブル２を作成するものである。
【００９２】
ステップS３３においてキャリブレーションテーブル１がダウンロードされている場合は、ステップS３５においてプリンタコントローラ２２によるキャリブレーションテーブル補正データの作成を行う。その補正データは次のように行う。
【００９３】
まず最新のエンジン特性であるキャリブレーションデータ格納部２１内の第２のエンジン特性２１４から図１０の特性カーブ１に示すような特性カーブを近似式により得る。次にソフトキャリブレーション実施時のエンジン特性である第１のエンジン特性２１１から同様に特性カーブを近似式により得る。その後、それぞれに対して仮のキャリブレーションデータとして図４で前述したように結果的に図４Cの線形となるように逆関数カーブからテーブルを得て求める。キャリブレーション補正データはこれらの２つの仮のキャリブレーションテーブルの差分をとることにより作成する。すなわちその情報はエンジンセンサレベルの特性変化を表す情報である。
【００９４】
次にステップS３６においてプリンタコントローラ２２ではキャリブレーションデータ格納部２１に格納されたキャリブレーションテーブル２の更新を行う。その処理は上述のステップS３５において作成したキャリブレーションテーブル補正データと、キャリブレーションデータ格納部２１に格納されたキャリブレーションテーブル１のマージによって行う。
【００９５】
ステップS３７においては、作成されたキャリブレーションテーブル２をキャリブレーションデータ格納部２１に格納する。
【００９６】
次にステップS３８において、第２のエンジン特性が更新された回数を示す更新カウンタ２１６をカウントアップする。その情報は後述するイメージモードにおいて使用される。
【００９７】
これら一連の動作を図５を用いて説明する。図５aはソフトキャリブレーションによってPC１で生成、ダウンロードされプリンタ２のキャリブレーションデータ格納部２１に格納された第１のキャリブレーションテーブルである。
【００９８】
図５bにおいてプリンタエンジン２３でCMYK最大濃度調整が発生し、プリンタコントローラ２２、プリンタエンジン２３間でエンジン特性２のやり取りが行われる。
【００９９】
図５cではプリンタコントローラ２３においてそのエンジン特性２およびソフトキャリブレーション時のエンジン特性１に基づき、上述したキャリブレーション補正データが作成され、キャリブレーションテーブル１とのマージが行われる。
【０１００】
作成された最新のキャリブレーションテーブル２は、キャリブレーションデータ格納部２１に第２のキャリブレーションテーブル２１５として格納される。プリンタコントローラ２２は、常にキャリブレーションデータ格納部２１に格納されたその第２のキャリブレーションテーブルを使用して、図１２のステップS１２２に示したキャリブレーション処理を行う。
【０１０１】
次に図１１(b)および図１２を用いて、イメージモードを例にとり、イメージドライバおよびプリンタコントローラ２２においてキャリブレーションデータを用いて画像処理を行う際の処理の流れを説明する。
【０１０２】
図１１(b)はイメージドライバの処理のフローチャート１２はコントローラの処理の流れを示す。まず図１１(b)におけるステップS１１３においてクライアントPC４上のイメージドライバはキャリブレーションテーブルの作成を行う。
【０１０３】
この様子を図１３を用いて説明する。図１３においてまずステップS１３０によってキャリブレーションテーブル１のタイムスタンプの取得を行う。その処理はクライアントPC４内の情報取得部４３１によってプリンタ２のキャリブレーションデータ格納部２１内のキャリブレーションテーブル１タイムスタンプ２１３を取得することによって行う。取得する際のプロトコル等はここでは言及しない。
【０１０４】
次にステップS１３１においてそのタイムスタンプを評価し、以前から更新されているか否かを判断する。いうまでもないが一度もキャリブレーションテーブル１を取得していない状態では判断の結果は真となる。ステップS１３１において真の場合はステップS１３２において上述の同様、情報取得部４３１によってプリンタ２のキャリブレーションデータ格納部２１内の第１のエンジン特性２１１、第１のキャリブレーションテーブル２１２、第２のエンジン特性２１４を取得し、クライアントPC４内のキャリブレーションデータ格納部４１に第１のエンジン特性４１１、第１のキャリブレーションテーブル４１２、第２のエンジン特性４１３として格納する。
【０１０５】
次にステップS１３６において、これら第１のエンジン特性４１１、第１のキャリブレーションテーブル４１２、第２のエンジン特性４１３を用いて第２のキャリブレーションテーブルの作成を行う。その処理についてはPDLモードを例に前述したプリンタコントローラ２２における処理と同様である。
【０１０６】
すなわちまず最新のエンジン特性であるキャリブレーションデータ格納部４１内の第２のエンジン特性４１３から図１０の特性カーブ１に示すような特性カーブを近似式により得る。次にソフトキャリブレーション実施時のエンジン特性である第１のエンジン特性４１１から同様に特性カーブを近似式により得る。その後、それぞれに対して仮のキャリブレーションデータとして図４で前述したように結果的に図４Cの線形となるように逆関数カーブからテーブルを得て求める。
【０１０７】
キャリブレーション補正データはこれらの２つの仮のキャリブレーションテーブルの差分をとることにより作成する。次にそのキャリブレーションテーブル補正データと、キャリブレーションデータ格納部４１に格納された第１のキャリブレーションテーブル４１２のマージによって最新の第２のキャリブレーションテーブル４１４を作成し格納する。
【０１０８】
図１３のステップS１３１において偽の場合はステップS１３３において第２のエンジン特性更新カウンタの取得を行う。その処理は上述の情報取得部４３１によってプリンタ２のキャリブレーションデータ格納部２１内の第２のエンジン特性更新カウンタ２１６を取得する。
【０１０９】
次にステップS１３４においてそのエンジン特性更新カウンタの値を評価し、以前から更新されているか否かを判断する。いうまでもないが一度もエンジン特性２を取得していない状態では判断の結果は真となる。そのカウンタは前述の通り、プリンタ内のエンジン２３とコントローラ２２間で実行される最大濃度調整およびそれに伴うコントローラ２２による第２のキャリブレーションテーブル更新が発生する度にインクリメントされるカウンタである。
【０１１０】
すなわちクライアントPC４はそのカウンタがインクリメントされているか否かで、プリンタ２からキャリブレーション関連情報を取得するか否かを判断すればよい。これにより、更新されていない場合は情報取得を行う必要がないため、ネットワークトラフィックの負荷を軽減することが可能となる。
【０１１１】
ステップS１３４において真の場合はステップS１３５において情報取得部４３１によってプリンタ２の第２のエンジン特性２１４を取得し、クライアントPC４内のキャリブレーションデータ格納部４１に第２のエンジン特性４１３として格納する。
【０１１２】
ここで直接プリンタ２の第２のキャリブレーションテーブルを取得してクライアントPC４で使用することも可能であるが、エンジン特性情報（数十バイト）に比べてそのキャリブレーションテーブル（数十KByte)のサイズは大きく、頻繁な取得はネットワークトラフィックへの負荷増大に繋がるため、第２のエンジン特性情報を取得し、クライアントPC４側で第２のキャリブレーションテーブルを作成する方式を取るものである。
【０１１３】
次にステップS１３６において、予め取得してキャリブレーションデータ格納部４１に格納してある第１のエンジン特性４１１、第１のキャリブレーションテーブル４１２およびステップS１３５で取得した第２のエンジン特性４１３を用いて第２のキャリブレーションテーブルの作成を行う。その処理については前述と同様である。
【０１１４】
次に図１１(b)におけるステップS１１４においてクライアントPC４上のイメージドライバは前述のPDLドライバ同様入力信号RGBに対してカラー微調整を行う。次にステップS１１５においてカラーマッチング処理を行う。
【０１１５】
イメージドライバでは次にステップS１１６において輝度濃度変換処理を行う。これは入力信号である輝度RGBからプリンタの印字信号である濃度CMYKへ変換するための処理である。次にステップS１１７においてキャリブレーション処理を行う。すなわちCMYK各８ビット多値信号を入出力信号とし、最新のキャリブレーションテーブルである第２のキャリブレーションテーブル４１４を用いて、出力特性を線形にするものである。
【０１１６】
次にステップS１１８においてそのCMYK各８ビット信号を出力系に即した信号に変換する。一般的にはCMYK各１ビットの信号への２値化を行う。この時点でデータはCMYK２値の信号であり、イメージモードではこの形態で次のステップS１１９においてクライアントPC４からプリンタ２へデータ送信を行う。
【０１１７】
次に図１２におけるステップS１２０において、プリンタ２内のコントローラ２２によってデータ解析を行う。ステップS１２０でクライアントPC４から送られてきたデータがイメージモードデータであると判断した場合は、以降の処理をスキップし、クライアントPC４から送信されたデータをそのままエンジン２３へ送付することにより印刷を行う。
【０１１８】
これによりプリンタシステムにおけるイメージモードにおいてもキャリブレーションが適用された適正な出力を得る。
【０１１９】
以上、図２によってシステムを構成するコンピュータ装置およびカラープリンタ間で動作するキャリブレーションの流れを説明した。そのキャリブレーションによって、比較的カラー印字特性は安定させることが可能である。
【０１２０】
次に図８、図９を用いて、本発明におけるプリンタ較正システムのPC１におけるユーザインタフェース（UI）の流れを示す。本プリンタ較正システムは一種のアプリケーションとしてPC１上に構成される。
【０１２１】
ステップS８０において本アプリケーションが起動されると、まずステップS８１において必要なプリンタドライバ、スキャナドライバがPC１のシステムにインストールされているか否かの判断を行う。必要なドライバがインストールされていない場合はステップS８１４においてドライバチェックエラーの表示を行い、ステップS８１３において処理を終了する。
【０１２２】
ステップS８１において必要なドライバがインストールされている場合は、ステップS８２においてメイン画面の表示を行う。そのメイン画面の例を図９に示す。他の画面も基本的には図９のように、「次へ」「戻る」「キャンセル」「ヘルプ」のボタン押下により関連する他の画面へ移る。
【０１２３】
図９のメイン画面では、選択メニューとして「新規」「既存の測定データを開く」「ダウンロードデータの削除」の３種を用意している。ここで「新規」を選択して「次へ」を押下した場合は、ステップS８４へ移る。
【０１２４】
ステップS８４ではプリンタ２へのパッチデータの出力を行う。次にステップS８７において、前述したとおりスキャナ３においてそのパッチデータの測定を行う。次にステップS８８において、キャリブレーションの適用を行う。そのステップでは前述した図２におけるステップS２３、S２４、すなわちキャリブレーションデータの作成、そのデータのプリンタ２へのダウンロードを行う。
【０１２５】
ステップS８８においてはステップS８９、S８１０へ移行するためのボタンが用意されており、ユーザによるそのボタン押下で移行する。ステップS８９は測定データの保存を可能とする画面であり、ステップS８７で測定したスキャンデータを保存するものである。その保存ファイルは後述する既存の測定データを用いた処理の流れで使用することが可能となる。ステップS８１０は詳細情報を表示する画面であり、測定した濃度特性を表示する等の詳細情報を表示する。
【０１２６】
ステップS８９、S８１０を抜けると、ステップS８８へ戻る。次にステップS８１１において処理終了画面を表示する。その画面でアプリケーションの終了を指定するとステップS８１３で処理を終了し、メイン画面へ戻るを指定すると、ステップS８２へ戻る。
【０１２７】
ステップS８２のメイン画面で「測定データをひらく」を選択し「次へ」を押下すると、ステップS８５において測定データを指示する画面となる。ここでは「参照」ボタン押下により、ステップS８１２の測定データの読み込み画面へ移行する。ここでは詳細に測定データを捜索することを可能とする。また、その測定データは前述したステップS８９において保存したデータファイルである。
【０１２８】
次にステップS８８においてキャリブレーション適用を行う。以降は前述した流れと同様である。
【０１２９】
ステップS８２のメイン画面で「ダウンロードデータの削除」を選択し「次へ」を押下すると、ステップS８６においてプリンタ２のキャリブレーションデータ格納部２１内に格納されたキャリブレーションデータの削除を行う。これはPC１からプリンタ２へのコマンドによる指示により行うものであるが、コマンドについては言及しない。次に終了画面S８１１へ移行する。以降は前述と同様である。
【０１３０】
以上、図８、図９を用いて、PC１上でアプリケーションとして動作するプリンタ較正システムのユーザインタフェース（UI）の流れを示した。
【０１３１】
以上説明したように本実施形態によれば、サーバコンピュータからの指示によって、上述のカラープリンタからパッチデータを出力し、そのパッチデータを出力した際の、第１のエンジン特性情報を上述のカラープリンタから取得し保持し、上述のサーバコンピュータにおいてそのパッチデータを任意のスキャナから読み取る。
【０１３２】
そして、上述のサーバコンピュータにおいてその読み取ったスキャンデータに基づいて第１のキャリブレーションテーブルを作成し、上述のサーバコンピュータにおいてその作成した第１のキャリブレーションテーブルおよび上述の第１のエンジン特性情報およびダウンロード時間を示すタイムスタンプ情報を上述のカラープリンタへダウンロードする。
【０１３３】
そして、上述のカラープリンタを構成するプリンタコントローラにおいて、上述のサーバコンピュータからダウンロードされた第１のキャリブレーションテーブルおよび上述の第１のエンジン特性情報および第１のキャリブレーションテーブルダウンロードのタイムスタンプ情報を格納する。
【０１３４】
また、上述のカラープリンタを構成するプリンタエンジンにおいて任意のタイミングでCMYK各色の最大濃度を補正し、その最大濃度補正のタイミングで上述のプリンタコントローラからの問い合わせに対して、最新のエンジン特性情報である第２のエンジン特性情報を渡す。
【０１３５】
そして上述のプリンタコントローラにおいて、上述の第２のエンジン特性情報を格納し、上述の最大濃度補正発生の回数を示す第２のエンジン特性更新カウンタをカウントアップし、上述のプリンタコントローラにおいて、格納されている第２のエンジン特性情報および第１のエンジン特性情報に基づいてキャリブレーションテーブル補正データを作成する。
【０１３６】
上述のプリンタコントローラは、上述のキャリブレーションテーブル補正データと格納されている第１のキャリブレーションテーブルを用いて、第２のキャリブレーションテーブルを作成し、上述のプリンタコントローラにおいて、その第２のキャリブレーションテーブルを格納する。
【０１３７】
そして上述のプリンタコントローラにおいて、画像処理を行うPDLモードの際には、上述の第２のキャリブレーションテーブルを用いて画像処理を行い、画像処理後データを上述のプリンタエンジンへ送付することにより印刷を行う。
【０１３８】
このため、ユーザの負荷を軽減しかつ常に安定したカラー印字を行なうことができる。
【０１３９】
またネットワークを構成する複数のコンピュータ装置のうち、任意のクライアントコンピュータ上でラスタライズおよび２値化までを含めた画像処理を行うイメージモードの際、クライアントコンピュータにおいて、上述の第１のキャリブレーションテーブルのダウンロード時間を示すタイムスタンプ情報を取得する。
【０１４０】
そのタイムスタンプ情報によって上述の第１のキャリブレーションテーブルが更新されたか否かを判断する。更新されている場合、クライアントコンピュータにおいて、上述の第１のエンジン特性、第１のキャリブレーションテーブル、第２のエンジン特性をプリンタから取得し、これらから第２のキャリブレーションテーブルを作成する。
【０１４１】
上述の第１のキャリブレーションテーブルが更新されていない場合、クライアントコンピュータにおいて、上述の第２のエンジン特性の更新カウンタを取得し、その更新カウンタによって上述の第２のエンジン特性が更新されたか否かを判断する。更新されている場合第２のエンジン特性をプリンタから取得し、予め取得して格納してある上述の第１のエンジン特性、第１のキャリブレーションテーブルと、その取得した第２のエンジン特性から第２のキャリブレーションテーブルを作成する。
【０１４２】
イメージモードにおいては上述のクライアントコンピュータ上で上述の第２のキャリブレーションテーブルを用いて画像処理を行い、画像処理後データを上述のプリンタへ送付することにより印刷を行う。
【０１４３】
このため、プリンタシステムに用意されている各印刷モードに依らず、全てのモードでネットワークのトラフィックを極力抑えながら常に安定したカラー印字を行うことができる。
【０１４４】
なお、本実施形態は複数の機器から構成されるシステムに適用しても１つの機器からなる装置に適用してもよい。また、本実施形態はシステム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、本実施形態に係るプログラムを格納した記憶媒体が、本発明を構成する事になる。そして、その記憶媒体からそのプログラムをシステムあるいは装置に読み込ませることによって、そのシステムあるいは装置が予め定められた方法で動作する。
【０１４５】
（実施形態２）
実施形態１では、クライアントコンピュータにおいて第２のキャリブレーションテーブルを作成する場合について説明したが、実施形態２では、クライアントコンピュータにおいて第２のキャリブレーションテーブルを取得する場合について説明する。
【０１４６】
図１４は、本実施形態２のプリンタ較正システムの構成を示すブロック図で、１４１はサーバＰＣであり、本システムを実現するソフトウェアがインストールされている。またサーバＰＣ１４１はネットワーク１４５に接続されている。
【０１４７】
上述のサーバＰＣ１４１内部に構成されるキャリブレーションデータ格納１４１１は、後述するキャリブレーションデータをサーバＰC１４１内部に保持するために使用される。
【０１４８】
後述する第１のエンジン特性１４１１１および第１のキャリブレーションテーブル，１４１１２は、上述のキャリブレーションデータ格納部１４１１内に格納される。
【０１４９】
ネットワーク１４５に接続されたプリンタ１４２は、本システムにおける較正の対象となる装置である。そのプリンタ２はネットワーク上に接続された複数のＰＣからの指示により印字が行えるよう構成されている。
【０１５０】
上述のプリンタ１４２内部に構成されるキャリブレーションデータ格納部１４２１は、後述するキャリブレーションデータをプリンタ１４２内部に保持するために使用される。
【０１５１】
上述のサーバＰC１４１からダウンロードされた第１のエンジン特性１４２１１および第１のキャリブレーションテーブル１４２１２およびそのキャリブレーションテーブルをダウンロードした時刻を示すタイムスタンプ情報１４２１３は、上述のキャリブレーションデータ格納部１４２１内に格納される。
【０１５２】
後述するエンジンから取得した最新のエンジン特性である第２のエンジン特性１４２１４および、後述する最新のキャリブレーションテーブルである第２のキャリブレーションテーブル１４２１５および上述の最新のエンジン特性である第２のエンジン特性１４２１４を取得する度にカウントアップされる第２のエンジン特性更新カウンタ１４２１６は、上述のキャリブレーションデータ格納部１４２１内に格納される。
【０１５３】
上述のプリンタ２内部に構成されるプリンタコントローラ１４２２は、プリンタ２に関する様々な制御を司る。そのプリンタコントローラ１４２２は後述する第１のエンジン特性および第１のキャリブレーションテーブルおよびタイムスタンプ情報がＰC１４１からダウンロードされた際に上述のキャリブレーションデータ格納部１４２１へ格納したり、後述するように上述のキャリブレーションデータ格納部１４２１内の第２のキャリブレーションテーブルを更新する役割やキャリブレーションデータ格納部１４２１内のデータを後述するクライアントＰＣへ送信する役割も担う。
【０１５４】
上述のプリンタ１４２内部に構成されるプリンタエンジン１４２３は、基本的には上述のプリンタコントローラ１４２２からの印字データを出力する部分であるが、後述するエンジン特性情報を上述のプリンタコントローラ１４２２へ送信したり、後述するエンジン特性における最大濃度の調整を行う役割も担う。
【０１５５】
上述のサーバＰC１４１に接続されたスキャナ１４３は、本システムにおいては上述のプリンタ１４２において出力したパッチデータを測定するために使用するが、原稿を入力するといった本来の用途としても使用可能である。
【０１５６】
ネットワーク上に接続されたクライアントＰＣ１４４は、所望の印字データの作成、編集、印字の指示等を行う。そのクライアントＰＣ１４４における処理には上述のプリンタ１４２のコントローラ１４２２においてラスタライズや２値化を行い、本クライアントＰＣ１４４からはプリンタ１４２に対してＲＧＢ多値でデータ送付するＰＤＬモードと、本クライアントＰＣ１４４上でラスタライズや２値化を含めた画像処理を行いプリンタ１４２に対して上述のエンジン１４２３が出力しやすい形態の例えばＣＭＹＫ２値データを送付するイメージモードが存在する。なおここでは２値を例に説明を行うが、これらはエンジン出力の形態に依存するものであり４値や１６値等でも同様である。
【０１５７】
これらの２つのモードは図示しないプリンタドライバのユーザインタフェース等によってユーザが切り替えて用いる場合や、図示しないがクライアント上のユーティリティによって自動的に切り替えて用いる場合が考えられる。これらの２モードの詳細な処理に付いては後述する。
【０１５８】
上述のクライアントＰＣ１４４内部に構成されるキャリブレーションデータ格納部１４４１は、後述するキャリブレーションデータをクライアントＰＣ１４４内部に保持するために使用する。１４４１１は上述のキャリブレーションデータ格納部１４４１内に格納される、上述のプリンタ１４２からアップロードされた最新のキャリブレーションテーブルである第２のキャリブレーションテーブルである。
【０１５９】
上述のクライアントＰＣ１４４内部に構成される画像処理部１４４２は、後述する画像処理を行う。１４４３はプリンタ２から第２のキャリブレーションテーブルをアップロードし、上述のキャリブレーションデータ格納部１４４１内に格納するための情報取得部である。
【０１６０】
図２および図３は、較正（キャリブレーション）を行うためのフローチャートである。
【０１６１】
図２はシステムを構成するコンピュータ装置およびカラープリンタ装置間で動作するキャリブレーションのフローチャートである。ここではまずステップＳ２０においてＰＣ１４１からプリンタ１４２へパッチデータを出力するよう指示し、プリンタ１４２においてパッチデータの出力を行う。
【０１６２】
そのパッチデータの例を図６に示す。図６の例では、１ページ内に縦横それぞれ３２分割した総計１０２４のブロックを用意する。横方向には印刷トナーの基本色であるＣｙａｎ．Ｍａｇｅｎｔａ，Ｙｅｌｌｏｗ，Ｂｌａｃｋ別にブロックを配置する。各ブロック内に記述された数値は配列の添字を示すが、内部的にはその添字に対してそれぞれ出力データが対応付けられており、その添字自体は実際には出力されない。
【０１６３】
すなわち図６においては、配列０から３１のハイライト側は３２階調を４個所、配列３３から６３のシャドウ側は１６階調を８個所にブロックを配置している。ハイライト、シャドウの階調数の差異は、本システムにおいてはシャドウ側に比べてハイライト側は綿密な階調情報を必要とするためである。またハイライト、シャドウの配置数の差異は、スキャナにおける入力値のばらつきがハイライト側に比べてシャドウ側の方が多い傾向があるためである。
【０１６４】
そのパッチデータは上述のごとくＰＣ１４１からの指示によってプリンタ１４２から出力されるものであるが、プリンタ１４２内で上述のフォーマットのパッチデータを構成する情報を所有しておき、ＰＣ１４１からの指示でその情報を元にパッチデータを生成してもよいし、ＰＣ１４１側でそのパッチデータ構成情報をプリンタ１４２に送信することにより、パッチデータを生成してもよい。そのパッチデータ構成情報とはプリンタ１４２所有のコマンド系に依存するものであるが、ここでは言及しない。
【０１６５】
図２のステップＳ２１において、そのパッチデータ出力直後に当そのパッチ出力時のエンジン特性情報を取得する。そのエンジン特性取得は、サーバＰＣ１４１から上述のプリンタ１４２内のキャリブレーションデータ格納部１４２１内に格納されている最新のエンジン特性である第２のエンジン特性を取得することにより行う。データ取得に関するコマンド系についてもここでは言及しない。
【０１６６】
ステップＳ２１ではサーバＰＣ１４１により、取得した第２のエンジン特性を第１のエンジン特性１４１１１としてキャリブレーションデータ格納部１４１１内に格納する。第１のエンジン特性１４１１１は、上述のパッチデータを出力した際のエンジン特性として、後述する第１のキャリブレーションテーブルに対応付けられる。そのエンジン特性の詳細については後述する。
【０１６７】
図２のステップＳ２２において、スキャナ１４３によって上述の出力されたパッチデータの測定を行う。スキャナ１４３では、上述したパッチデータの各ブロックのＲＧＢ信号値を入力し、ＰＣ１４１に値を返す。ＰＣ１４１ではその入力値から、上述のパッチデータのブロックの配置に基づき、ハイライト側は４個所の平均、シャドウ側は８個所の平均を算出し、結果としてＣＭＹＫ各色４８階調のＲＧＢ信号値を得る。ここであらかじめ用意された、スキャナ１４３のＲＧＢ輝度信号とプリンタ１４２のＣＭＹＫ濃度信号の対応を示す輝度濃度変換テーブル（図示しない）を用いて、その４８階調の輝度信号から４８階調の濃度特性値を得ることができる。
【０１６８】
ここでは詳細には触れないが、スキャンは通常ＰＣ１４１上に構成されるスキャナドライバを通して実行される。そのスキャナドライバによって、スキャン解像度の設定や入力領域の指定等が行われる。
【０１６９】
次にステップＳ２３において、ＰＣ１４１によってキャリブレーションテーブルの作成が行われる。この様子を図４を用いて説明する。上述の各色４８階調の濃度特性値を図４（ａ）に示す。ここでは簡単のため一色しか図示しないが、実際はＣＭＹＫ４色について同様の処理を行う。
【０１７０】
図４において、入力、出力の関係カーブが示されるが、これは上述の４８階調から補間計算により求めるものである。これに対して、ここでは濃度特性の理想値は図４（ｃ）に示すような線形カーブと規定する。従って、現状の濃度特性（ａ）を理想濃度（ｃ）に近づけるために、逆関数によって図４（ｂ）に示すキャリブレーションテーブルを求める。すなわち特性（ａ）に対して（ｂ）を適用することにより、結果として（ｃ）を得るものである。
【０１７１】
ステップＳ２３においては、サーバＰＣ１４１によって、作成された上述のキャリブレーションテーブルを第１のキャリブレーションテーブル１４１１２としてキャリブレーションデータ格納部１４１１内に格納する。
【０１７２】
次にステップＳ２４において、ＰＣ１４１によりそのキャリブレーションデータ格納部１４１１内の第１のエンジン特性１４１１１および第１のキャリブレーションテーブル１４１１２のプリンタ２へのダウンロードを行う。またこの際ダウンロードの時刻を示すタイムスタンプ情報も合わせてダウンロードする。この際のダウンロードコマンド等はプリンタ１４２のコマンド系に依存するがここでは言及しない。
【０１７３】
そのダウンロードされた第１のエンジン特性１４１１１および第１のキャリブレーションテーブル１４１１２およびタイムスタンプ情報は、プリンタコントローラ１４２２を介してキャリブレーションデータ格納部１４２１内に、第１のエンジン特性１４２１１および第１のキャリブレーションテーブル１４２１２およびタイムスタンプ１４２１３として格納される。
【０１７４】
プリンタ１４２においてダウンロードデータを受信する際のプリンタコントローラ１４２２の処理の流れを図７を用いて説明する。図７のステップＳ７０においてデータ受信がされたか否かの判定を行う。受信されていない場合はステップＳ７０を繰り返す。受信された場合はステップＳ７１においてデータ解析を行う。
【０１７５】
その解析結果の判定をステップＳ７２で行うが、キャリブレーションダウンロードコマンドである場合はステップＳ７３において、そのデータがエンジン特性であるか否かの判定を行い、エンジン特性である場合はステップＳ７４において上述のとおりキャリブレーションデータ格納部１４２１内に、第１のエンジン特性ｆ１４２１１としてエンジン特性１の登録を行う。
【０１７６】
ステップＳ７３においてエンジン特性でない場合はステップＳ７５において、そのデータがキャリブレーションテーブルであるか否かの判定を行い、キャリブレーションテーブルである場合はステップＳ７６において上述のとおりキャリブレーションデータ格納部１４２１内に、第１のキャリブレーションテーブル１４２１２としてキャリブレーションテーブル１の登録を行う。
【０１７７】
ステップＳ７５においてキャリブレーションテーブルでない場合はタイムスタンプであると判断し、ステップＳ７７において上述のとおりキャリブレーションデータ格納部１４２１内に、第１のキャリブレーションテーブルダウンロードのタイムスタンプ１４２１３としてタイムスタンプの登録を行う。
【０１７８】
ステップＳ７２において、キャリブレーションダウンロードでないと判断された場合はステップＳ７８においてそれぞれの処理を行う。
【０１７９】
通常印字データはクライアントＰＣ１４４上のアプリケーションからクライアントＰＣ１４４上のプリンタドライバを経由してプリンタ１４２へ流される。プリンタ１４２内のプリンタコントローラ１４２２では上述した図７のステップＳ７８等において印字データの解析、ページレイアウトの構成、画像処理、印字等を行う。
【０１８０】
そのクライアントＰＣ１４４におけるドライバの処理には前述の通り、プリンタ１４２のコントローラ１４２２においてラスタライズや２値化を行い、クライアントＰＣ１４４からはプリンタ１４２に対してＲＧＢ多値でデータ送付するＰＤＬモードと、クライアントＰＣ１４４上でラスタライズや２値化を含めた画像処理を行いプリンタ１４２に対して上述のエンジン１４２３が出力しやすい形態の例えばＣＭＹＫ２値データを送付するイメージモードが存在し、それぞれのドライバであるＰＤＬドライバ、イメージドライバを用いて処理を行う。
【０１８１】
ここで図１５（ａ）および図１２を用いて、ＰＤＬモードを例にとり、ＰＤＬドライバおよびプリンタコントローラ１４２２においてキャリブレーションデータを用いて画像処理を行う際の処理の流れを説明する。なおイメージモードの例は後述する。
【０１８２】
図１５（ａ）はＰＤＬドライバの処理のフローチャート１２はコントローラの処理の流れを示す。まず図１５（ａ）におけるステップＳ１５０においてクライアントＰＣ１４４上のＰＤＬドライバは入力信号ＲＧＢに対してカラー微調整を行う。そのカラー微調整とは輝度補正やコントラスト補正である。
【０１８３】
次にステップＳ１５１においてカラーマッチング処理を行う。そのカラーマッチング処理とはモニタの色味とプリンタ印字の色味を合わせるための処理である。この時点でデータはＲＧＢ多値の信号であるが、ＰＤＬモードではこの形態で次のステップＳ１５２においてクライアントＰＣ１４４からプリンタ１４２へデータ送信を行う。
【０１８４】
次に図１２におけるステップＳ１２０において、プリンタ１４２内のコントローラ１４２２によってデータ解析を行う。ステップＳ１２０でクライアントＰＣ１４４から送られてきたデータがＰＤＬモードデータであると判断した場合は、ステップＳ１２１において輝度濃度変換処理を行う。これは入力信号である輝度ＲＧＢからプリンタの印字信号である濃度ＣＭＹＫへ変換するための処理である。
【０１８５】
次にステップＳ１２２においてキャリブレーション処理を行う。すなわちＣＭＹＫ各８ビット多値信号を入出力信号とし、最新のキャリブレーションテーブルであるキャリブレーションテーブル２を用いて、出力特性を線形にするものである。
【０１８６】
次にステップＳ１２３においてそのＣＭＹＫ各８ビット信号を出力系に即した信号に変換する。一般的にはＣＭＹＫ各１ビットの信号への２値化を行う。これによりプリンタシステムにおいてキャリブレーションが適用された適正な出力を得る。
【０１８７】
以上、図２によってシステムを構成するコンピュータ装置およびカラープリンタ間で動作するキャリブレーションの流れを説明した。そのキャリブレーションによって、比較的カラー印字特性は安定させることが可能であるが、エンジン特性は例えば連続印字等によりドラム温度が上昇することにより比較的容易に変化する傾向が見られ、そのキャリブレーションのみで常に安定したカラー印字を得るためにはユーザはそのキャリブレーションを頻繁に行う必要が生じる。そこでユーザの負担を軽減し、かつキャリブレーションの精度を向上するために、本発明では次に示すようにデバイスキャリブレーションとの組み合わせを提案するものである。
【０１８８】
図３は本発明におけるカラープリンタ１４２を構成するプリンタコントローラ１４２２、プリンタエンジン１４２３間で動作するキャリブレーションの流れを説明するフローチャートである。
【０１８９】
そのデバイスキャリブレーションは、例えばプリンタエンジン１４２３内部に設置された図示しない温度・湿度センサの変化や、印刷枚数、ドラムやトナーカートリッジの交換時等、エンジン特性が変化する可能性の高いイベントをトリガにしてプリンタエンジン１４２３、プリンタコントローラ１４２２間において実行される。そのイベントについては他にも考慮できるがここでは言及しない。
【０１９０】
ここではまずステップＳ３１においてプリンタエンジン１４２３においてＣＭＹＫ各色の最大濃度の調整を行う。通常プリンタエンジンでは設計時の目標最大濃度が決められているが、経年変化によってその濃度が上下に振れる。本ステップでは図示しない現像系例えばドラム上のセンサにより現状のＣＭＹＫ各色における最大濃度値を得て、その値が振れている場合は現像バイアス値等を制御することにより、適正な最大濃度調整を行う。
【０１９１】
この際の濃度特性カーブの動きを図１０を用いて説明する。図１０における特性カーブ２は、最大濃度調整前の濃度特性カーブを示した例であり、特性カーブ１は最大濃度調整後の濃度特性カーブを示した例である。まずここでは特性カーブ２の最大濃度はｍａｘ２を示している。上述のトリガによって最大濃度調整が開始されると、まずドラム上のセンサにより現状の最大濃度値がｍａｘ２であることを検知する。最大濃度値の目標値はｍａｘ１であるため、プリンタエンジン１４２３は現像バイアス値等を制御し、最大濃度がｍａｘ１となるよう調整を行う。
【０１９２】
次にステップＳ３２において最新のエンジン特性であるエンジン特性２の取得を行う。その処理は、プリンタコントローラ１４２２からの要求に応えて、プリンタエンジン１４２３からプリンタコントローラ１４２２へ、数点の中間濃度センサ値を返すことにより行う。
【０１９３】
この様子を図１０を用いて説明する。図１０においては説明のために４点の中心濃度センサ値を例に取るが、その点数についてはこの限りではない。横軸上のＡＢＣＤは、予め決められた入力値であり、縦軸のａｂｃｄは各入力値に対応した図示しない現像系例えばドラム上のセンサが返した濃度値である。プリンタエンジン１４２３はプリンタコントローラ１４２２と通信を行い、そのａｂｃｄの４点をプリンタコントローラ１４２２へ渡す。その通信方法についてはここでは言及しないが、双方向の何らかのプロトコルで実現する。
【０１９４】
ちなみに最大濃度調整前における中間濃度センサ値はａ’ｂ’ｃ’ｄ’であり、最大濃度調整によりａｂｃｄへ変動する。つまり中間濃度センサ値すなわちエンジン特性は、最大濃度調整に大きく影響を受けるため、常に一連の流れとして最大濃度調整、エンジン特性取得の順に処理を行う必要がある。
【０１９５】
一般的に上述の現像系のセンサは、センサそのものの特性のばらつきがあるため、絶対的な濃度値を確実に得る精度はない。ただし同一のセンサにおいては現像系の特性が変化した場合、その変化に応じたセンサ値を返す。すなわち絶対的な精度は低いが、相対的な精度は期待できる。
【０１９６】
次にステップＳ３３において、キャリブレーションデータ格納部１４２１内にキャリブレーションテーブル１がダウンロードされているか否かの判定を行う。キャリブレーションテーブル１がダウンロードされていない場合は、ステップＳ３４において従来のデバイスキャリブレーションと同様の手法でキャリブレーションテーブル２を作成する。
【０１９７】
その処理は図１０の特性カーブ１を用いて説明する。従来のデバイスキャリブレーションでは、まずエンジン特性である中間濃度センサ値ａｂｃｄから近似式によって特性カーブ１を得、図４を用いて前述したように目標とする特性を得るための逆関数を生成することによってキャリブレーションテーブル２を作成するものである。
【０１９８】
ステップＳ３３においてキャリブレーションテーブル１がダウンロードされている場合は、ステップＳ３５においてプリンタコントローラ１４２２によるキャリブレーションテーブル補正データの作成を行う。その補正データは次のように行う。
【０１９９】
まず最新のエンジン特性であるキャリブレーションデータ格納部１４２１内の第２のエンジン特性１４２１３から図１０の特性カーブ１に示すような特性カーブを近似式により得る。次にソフトキャリブレーション実施時のエンジン特性である第１のエンジン特性１４２１１から同様に特性カーブを近似式により得る。その後、それぞれに対して仮のキャリブレーションデータとして図４で前述したように結果的に図４Ｃの線形となるように逆関数カーブからテーブルを得て求める。キャリブレーション補正データはこれらの２つの仮のキャリブレーションテーブルの差分をとることにより作成する。すなわちその情報はエンジンセンサレベルの特性変化を表す情報である。
【０２００】
次にステップＳ３６においてプリンタコントローラ１４２２ではキャリブレーションデータ格納部１４２１に格納されたキャリブレーションテーブル２の更新を行う。その処理は上述のステップＳ３５において作成したキャリブレーションテーブル補正データと、キャリブレーションデータ格納部１４２１に格納されたキャリブレーションテーブル１のマージによって行う。
【０２０１】
ステップＳ３７においては、作成されたキャリブレーションテーブル２をキャリブレーションデータ格納部１４２１に格納する。
【０２０２】
次にステップＳ３８において、第２のエンジン特性が更新された回数を示す更新カウンタ１４２１６をカウントアップする。その情報は後述するイメージモードにおいて使用される。
【０２０３】
これら一連の動作を図５を用いて説明する。図５（ａ）はソフトキャリブレーションによってＰＣ１４１で生成、ダウンロードされプリンタ１４２のキャリブレーションデータ格納部１４２１に格納された第１のキャリブレーションテーブルである。
【０２０４】
図５（ｂ）においてプリンタエンジン１４２３でＣＭＹＫ最大濃度調整が発生し、プリンタコントローラ１４２２、プリンタエンジン１４２３間でエンジン特性２のやり取りが行われる。
【０２０５】
図５（ｃ）ではプリンタコントローラ１４２３においてそのエンジン特性２およびソフトキャリブレーション時のエンジン特性１に基づき、上述したキャリブレーション補正データが作成され、キャリブレーションテーブル１とのマージが行われる。
【０２０６】
作成された最新のキャリブレーションテーブル２は、キャリブレーションデータ格納部１４２１に第２のキャリブレーションテーブル１４２１４として格納される。プリンタコントローラ１４２２は、常にキャリブレーションデータ格納部１４２１に格納されたその第２のキャリブレーションテーブルを使用して図１２のステップＳ１２２に示したキャリブレーション処理を行う。
【０２０７】
次に図１５（ｂ）および図１２を用いて、イメージモードを例にとり、イメージドライバおよびプリンタコントローラ１４２２においてキャリブレーションデータを用いて画像処理を行う際の処理の流れを説明する。
【０２０８】
図１５（ｂ）はイメージドライバの処理のフローチャート１２はコントローラの処理の流れを示す。まず図１５（ｂ）におけるステップＳ１５３においてクライアントＰＣ１４４上のイメージドライバはキャリブレーションテーブルの取得を行う。
【０２０９】
この様子を図１６を用いて説明する。図１６においてまずステップＳ１６１によって第２のエンジン特性更新カウンタの取得を行う。その処理は上述の情報取得部１４４３によってプリンタ１４２のキャリブレーションデータ格納部１４２１内の第２のエンジン特性更新カウンタ１４２１６を取得する。
【０２１０】
次にステップＳ１６２においてそのエンジン特性更新カウンタの値を評価し、以前から更新されているか否かを判断する。いうまでもないが一度もキャリブレーションテーブル２を取得していない状態では判断の結果は真となる。そのカウンタは前述の通り、プリンタ内のエンジン１４２３とコントローラ２２間で実行される最大濃度調整およびそれに伴うコントローラ１４２２による第２のキャリブレーションテーブル更新が発生する度にインクリメントされるカウンタである。
【０２１１】
すなわちクライアントＰＣ１４４はそのカウンタがインクリメントされているか否かで、プリンタ１４２からキャリブレーションテーブル２を取得するか否かを判断すればよい。これにより、更新されていない場合は情報取得を行う必要がないため、ネットワークトラフィックの負荷を軽減することが可能となる。ステップＳ１６２において真の場合は、ステップＳ１６３において第２のキャリブレーションテーブルの取得を行う。その処理については前述と同様である。
【０２１２】
次に図１５（ｂ）におけるステップＳ１５４においてクライアントＰＣ１４４上のイメージドライバは前述のＰＤＬドライバ同様入力信号ＲＧＢに対してカラー微調整を行う。次にステップＳ１５５においてカラーマッチング処理を行う。
【０２１３】
イメージドライバでは次にステップＳ１５６において輝度濃度変換処理を行う。これは入力信号である輝度ＲＧＢからプリンタの印字信号である濃度ＣＭＹＫへ変換するための処理である。次にステップＳ１５７においてキャリブレーション処理を行う。すなわちＣＭＹＫ各８ビット多値信号を入出力信号とし、最新のキャリブレーションテーブルである第２のキャリブレーションテーブル１４４１１を用いて、出力特性を線形にするものである。
【０２１４】
次にステップＳ１１８においてそのＣＭＹＫ各８ビット信号を出力系に則した信号に変換する。一般的にはＣＭＹＫ各１ビットの信号への２値化を行う。この時点でデータはＣＭＹＫ２値の信号であり、イメージモードではこの形態で次のステップＳ１５９においてクライアントＰＣ４からプリンタ２へデータ送信を行う。
【０２１５】
次に図１２におけるステップＳ１２０において、プリンタ１４２内のコントローラ１４２２によってデータ解析を行う。ステップＳ１２０でクライアントＰＣ１４４から送られてきたデータがイメージモードデータであると判断した場合は、以降の処理をスキップし、クライアントＰＣ１４４から送信されたデータをそのままエンジン１４２３へ送付することにより印刷を行う。
【０２１６】
これによりプリンタシステムにおけるイメージモードにおいてもキャリブレーションが適用された適正な出力を得る。
【０２１７】
以上、図２によってシステムを構成するコンピュータ装置およびカラープリンタ間で動作するキャリブレーションの流れを説明した。そのキャリブレーションによって、比較的カラー印字特性は安定させることが可能である。
【０２１８】
次に図８、図９を用いて、本発明におけるプリンタ較正システムのＰＣ１４１におけるユーザインタフェース（ＵＩ）の流れを示す。本プリンタ較正システムは一種のアプリケーションとしてＰＣ１４１上に構成される。
【０２１９】
ステップＳ８０において本アプリケーションが起動されると、まずステップＳ８１において必要なプリンタドライバ、スキャナドライバがＰＣ１４１のシステムにインストールされているか否かの判断を行う。必要なドライバがインストールされていない場合はステップＳ８１４においてドライバチェックエラーの表示を行い、ステップＳ８１３において処理を終了する。
【０２２０】
ステップＳ８１において必要なドライバがインストールされている場合は、ステップＳ８２においてメイン画面の表示を行う。そのメイン画面の例を図９に示す。他の画面も基本的には図９のように、「次へ」「戻る」「キャンセル」「ヘルプ」のボタン押下により関連する他の画面へ移る。
【０２２１】
図９のメイン画面では、選択メニューとして「新規」「既存の測定データを開く」「ダウンロードデータの削除」の３種を用意している。ここで「新規」を選択して「次へ」を押下した場合は、ステップＳ８４へ移る。
【０２２２】
ステップＳ８４ではプリンタ１４２へのパッチデータの出力を行う。次にステップＳ８７において、前述したとおりスキャナ１４３においてそのパッチデータの測定を行う。次にステップＳ８８において、キャリブレーションの適用を行う。そのステップでは前述した図２におけるステップＳ２３，Ｓ２４、すなわちキャリブレーションデータの作成、そのデータのプリンタ１４２へのダウンロードを行う。
【０２２３】
ステップＳ８８においてはステップＳ８９，Ｓ８１０へ移行するためのボタンが用意されており、ユーザによるそのボタン押下で移行する。ステップＳ８９は測定データの保存を可能とする画面であり、ステップＳ８７で測定したスキャンデータを保存するものである。その保存ファイルは後述する既存の測定データを用いた処理の流れで使用することが可能となる。ステップＳ８１０は詳細情報を表示する画面であり、測定した濃度特性を表示する等の詳細情報を表示する。
【０２２４】
ステップＳ８９，Ｓ８１０を抜けると、ステップＳ８８へ戻る。次にステップＳ８１１において処理終了画面を表示する。その画面でアプリケーションの終了を指定するとステップＳ８１３で処理を終了し、メイン画面へ戻るを指定すると、ステップＳ８２へ戻る。
【０２２５】
ステップＳ８２のメイン画面で「測定データをひらく」を選択し「次へ」を押下すると、ステップＳ８５において測定データを指示する画面となる。ここでは「参照」ボタン押下により、ステップＳ８１２の測定データの読み込み画面へ移行する。ここでは詳細に測定データを捜索することを可能とする。また、その測定データは前述したステップＳ８９において保存したデータファイルである。
【０２２６】
次にステップＳ８８においてキャリブレーション適用を行う。以降は前述した流れと同様である。
【０２２７】
ステップＳ８２のメイン画面で「ダウンロードデータの削除」を選択し「次へ」を押下すると、ステップＳ８６においてプリンタ１４２のキャリブレーションデータ格納部１４２１内に格納されたキャリブレーションデータの削除を行う。これはＰＣ１４１からプリンタ１４２へのコマンドによる指示により行うものであるが、コマンドについては言及しない。次に終了画面Ｓ８１１へ移行する。以降は前述と同様である。
【０２２８】
以上、図８，図９を用いて、ＰＣ１４１上でアプリケーションとして動作するプリンタ較正システムのユーザインタフェース（ＵＩ）の流れを示した。
【０２２９】
以上説明したように本実施形態によれば、サーバコンピュータからの指示によって、上述のカラープリンタからパッチデータを出力し、そのパッチデータを出力した際の、第１のエンジン特性情報を上述のカラープリンタから取得し保持し、上述のサーバコンピュータにおいてそのパッチデータを任意のスキャナから読み取る。
【０２３０】
そして、上述のサーバコンピュータにおいてその読み取ったスキャンデータに基づいて第１のキャリブレーションテーブルを作成し、上述のサーバコンピュータにおいてその作成した第１のキャリブレーションテーブルおよび上述の第１のエンジン特性情報およびダウンロード時間を示すタイムスタンプ情報を上述のカラープリンタへダウンロードする。
【０２３１】
そして、上述のカラープリンタを構成するプリンタコントローラにおいて、上述のサーバコンピュータからダウンロードされた第１のキャリブレーションテーブルおよび上述の第１のエンジン特性情報および第１のキャリブレーションテーブルダウンロードのタイムスタンプ情報を格納する。
【０２３２】
また、上述のカラープリンタを構成するプリンタエンジンにおいて任意のタイミングでＣＭＹＫ各色の最大濃度を補正し、上述のプリンタエンジンにおいて、上述の最大濃度補正のタイミングで上述のプリンタコントローラからの問い合わせに対して最新のエンジン特性情報である第２のエンジン特性情報を渡す。
【０２３３】
そして、上述のプリンタコントローラにおいて、上述の第２のエンジン特性情報を格納し、上述のプリンタコントローラにおいて上述の最大濃度補正発生の回数を示す第２のエンジン特性更新カウンタをカウントアップし、上述のプリンタコントローラにおいて、格納されている第２のエンジン特性情報および第１のエンジン特性情報に基づいてキャリブレーションテーブル補正データを作成する。
【０２３４】
上述のプリンタコントローラは、上述のキャリブレーション補正データと格納されている第１のキャリブレーションテーブルを用いて、第２のキャリブレーションテーブルを作成し、上述のプリンタコントローラにおいて、その第２のキャリブレーションテーブルを格納する。
【０２３５】
そして、上述のプリンタコントローラにおいて、画像処理を行うＰＤＬモードの際には、上述の第２のキャリブレーションテーブルを用いて画像処理を行い、画像処理後データを上述のプリンタエンジンへ送付することにより印刷を行う。
【０２３６】
このため、ユーザの負荷を軽減しかつ常に安定したカラー印字を行うことができる。
【０２３７】
またネットワークを構成する複数のコンピュータ装置のうち、任意のクライアントコンピュータ上でラスタライズおよび２値化までを含めた画像処理を行うイメージモードの際、クライアントコンピュータにおいて、上述の第２のエンジン特性の更新カウンタを取得する。
【０２３８】
そして、その更新カウンタによって上述の第２のエンジン特性が更新されたか否かを判断し、更新されている場合、第２のキャリブレーションテーブルを取得し、イメージモードにおいては上述のクライアントコンピュータ上で上述の第２のキャリブレーションテーブルを用いて画像処理を行い、画像処理後データを上述のプリンタへ送付することにより印刷を行う。
【０２３９】
このため、プリンタシステムに用意されている各印刷モードに依らず、全てのモードでネットワークのトラフィックを極力抑えなら常に安定したカラー印字を行うことができる。
【０２４０】
なお、本実施形態は複数の機器から構成されるシステムに適用しても１つの機器からなる装置に適用してもよい。また、本実施形態はシステム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、本実施形態に係るプログラムを格納した記憶媒体が、本発明を構成する事になる。そして、その記憶媒体からそのプログラムをシステムあるいは装置に読み込ませることによって、そのシステムあるいは装置が予め定められた方法で動作する。
【０２４１】
【発明の効果】
以上説明したように本発明によれば、プリンタとサーバシステムとがネットワークに接続されているプリンタ較正システムにおいて、サーバシステムは、プリンタに指示しパッチデータを出力し、パッチデータ出力直後のプリンタのエンジンの特性情報を、第１のエンジン特性情報としてプリンタから取得し、出力したパッチデータをスキャナにより取り込み、パッチデータに基づいて第１の較正データを作成し、第１の較正データおよび第１のエンジン特性情報のダウンロードを、プリンタに対して行う。
【０２４２】
また、プリンタは、コントローラが、エンジンの最新の特性情報を第２のエンジン特性情報として、エンジンから取得し、コントローラが、少なくとも第２のエンジン特性情報を用いて、ダウンロードの状況に基づき第２の較正データを作成する。プリンタはページ記述言語に基づく印刷モードの場合に、コントローラが第２の較正データを用いて画像処理を行い、画像処理後のデータをエンジンへ送ることにより印刷を行う。
【０２４３】
このため、プリンタの安定的な印字結果が得られ、特に高価な濃度計等を購入することなく、既存の装置を用いて精度の高い較正環境を提供することができる。またユーザの負荷も軽減することが可能となる。またページ記述言語に基づく印刷モードにおいてネットワークへの負荷を抑えながら同様のキャリブレーションを行うことができる。
【０２４４】
また、本発明によれば、さらにクライアントシステムが上述のネットワークに接続されており、クライアントシステムは、プリンタから更新情報を取得し、更新情報に基づいてプリンタから情報を取得して、第２の較正データを作成する。クライアントシステムはイメージモードの場合に、作成した上述の第２の較正データを用いて画像処理を行い、画像処理後のデータをプリンタへ送ることにより印刷を行う。
【０２４５】
このため、またページ記述言語に基づく印刷モードのみならずイメージモードにおいてもネットワークへの負荷を抑えながら同様のキャリブレーションを行うことができるため、モードに依らず常に安定したカラー印字を得ることが可能となる。
【０２４６】
また、本発明によれば、さらにクライアントシステムがネットワークに接続されており、プリンタは、上述の第２のエンジン特性情報を取得する回数に応じて、コントローラがカウンタを更新し、クライアントシステムは、プリンタからカウンタの値を取得し、カウンタの値によりカウンタが更新されたと判断された場合に、プリンタから第２の較正データを取得する。クライアントシステムはイメージモードの場合に、取得した上述の第２の較正データを用いて画像処理を行い、画像処理後のデータをプリンタへ送ることにより印刷を行う。
【０２４７】
これにより、イメージモードにおいては、キャリブレーションテーブルそのものを取得することによりイメージモードにおけるキャリブレーションテーブル作成の処理負荷を軽減することが可能となる。
【０２４８】
また、本発明によれば、コントローラおよびエンジンを有し、コントローラがエンジンの最新の特性情報をエンジンから取得し、較正データを作成するプリンタを制御するプリンタ較正装置は、プリンタに指示してパッチデータを出力し、パッチデータ出力直後のエンジンの特性情報を、第１のエンジン特性情報としてプリンタから取得し、プリンタから出力したパッチデータをスキャナにより取り込み、それに基づいて第１の較正データを作成し、プリンタに第２の較正データを作成させるべく、作成された上記第１の較正データおよび上記第１のエンジン特性情報のダウンロードを、プリンタに対して行う。
【０２４９】
そしてプリンタ較正装置は、プリンタにページ記述言語に基づく印刷を行わせる場合に、コントローラに上記第２の較正データを用いて画像処理を行わせ、その画像処理後のデータをエンジンへ送らせることにより印刷を行わせる。
【０２５０】
このため、プリンタの安定的な印字結果が得られ、特に高価な濃度計等を購入することなく、既存の装置を用いて精度の高い較正環境を提供することができる。またユーザの負荷も軽減することが可能となる。
【図面の簡単な説明】
【図１】本発明実施形態のプリンタ較正システムの構成例を示すブロック図である。
【図２】本発明実施形態の第１のプリンタ較正の処理の流れを示すフローチャートである。
【図３】本発明実施形態の第２のプリンタ較正の処理の流れを示すフローチャートである。
【図４】本発明実施形態のキャリブレーションデータ作成の概念を示す概念図である。
【図５】本発明実施形態のキャリブレーションデータ作成の流れを示す概念図である。
【図６】本発明実施形態のプリンタ較正システムで用いるパッチデータの例を示す図である。
【図７】本発明実施形態のプリンタ装置において、キャリブレーションデータダウンロードコマンド受信時の処理の流れを示すフローチャートである。
【図８】本発明実施形態のアプリケーションにおけるUIの流れを示すフローチャートである。
【図９】本発明実施形態のアプリケーションにおけるUIの一例を示す図である。
【図１０】本発明実施形態の第２のキャリブレーションにおけるキャリブレーションデータ作成の概念を示す概念図である。
【図１１】本発明実施形態のドライバにおける画像処理の流れを示すフローチャートである。
【図１２】本発明実施形態のプリンタにおける画像処理の流れを示すフローチャートである。
【図１３】本発明実施形態のクライアントPCにおけるキャリブレーションデータ作成の流れを示すフローチャートである。
【図１４】本発明実施形態のプリンタ較正システムの構成例を示すブロック図である。
【図１５】本発明実施形態のドライバにおける画像処理の流れを示すフローチャートである。
【図１６】本発明実施形態のクライアントＰＣにおけるキャリブレーション作成の流れを示すフローチャートである。
【符号の説明】
１、１４１  サーバＰＣ
１１、１４１１  キャリブレーションデータ格納部
２、１４２  プリンタ
２１、１４２１  キャリブレーションデータ格納部
２２、１４２２  プリンタコントローラ
２３、１４２３  プリンタエンジン
４、１４４  クライアントＰＣ
４１、１４４１  キャリブレーションデータ格納部
４２、１４４２  画像処理部
４３、１４４３  情報取得部
【図１】
0004355442.tif 000002
【図２】
0004355442.tif 000003
【図３】
0004355442.tif 000004
【図４】
0004355442.tif 000005
【図５】
0004355442.tif 000006
【図６】
0004355442.tif 000007
【図７】
0004355442.tif 000008
【図８】
0004355442.tif 000009
【図９】
0004355442.tif 000010
【図１０】
0004355442.tif 000011
【図１１】
0004355442.tif 000012
【図１２】
0004355442.tif 000013
【図１３】
0004355442.tif 000014
【図１４】
0004355442.tif 000015
【図１５】
0004355442.tif 000016
【図１６】
0004355442.tif 000017