(57)【要約】【課題】遠隔からでも画質判定のアルゴリズムを拡張可能にすること、さらに、このような遠隔画質メンテナンスシステムを容易に拡張すること。【解決手段】メンテナンスの際に画質判定動作を制御するための命令列をサーバより受信して格納する格納部４０８、画質を判定するため、サーバから受信し又は予め格納されているテストパターンの印字を行い、印字された画像を抽出する画像抽出部４０２及び抽出された画像を格納部４０８に格納された命令列を実行させ、サーバから受信し又は予め格納されている標準テスト画像と比較することにより画質を判定する画質判定部４３１を備える。以上により、遠隔地からでも画質判定アルゴリズムを拡張することが可能となり、また、モバイルエージェントを使用することにより、さらに、提供された遠隔画質メンテナンス方法及びシステムを容易に拡張することが可能となる。【選択図】        図４
2004151885.tif 000002
【特許請求の範囲】
【請求項１】
サーバと画像形成装置はネットワークを介して相互に通信を行い、前記画像形成装置は、前記サーバからの指示により、又は所定の条件が満たされたときに画質判定を行ってメンテナンスを実行する画質メンテナンス方法において、
前記サーバは、メンテナンスの際に画質判定動作を制御するための命令列を、前記ネットワークを介して前記画像形成装置に送信する送信ステップと、
該送信ステップにより送信された前記命令列を前記画像形成装置内の格納部に格納する格納ステップと、
該格納ステップにより格納された前記命令列を前記画像形成装置上で実行させて画質判定を行う画質判定ステップと
を備えたことを特徴とする画質メンテナンス方法。
【請求項２】
前記画像形成装置は、前記サーバから前記ネットワークを介して受信し又は予め格納されている印字パターンを用いてテスト印字を行い、該テスト印字により出力されたテスト印字用紙からテスト印字画像を抽出する画像抽出ステップを備え、前記画質判定ステップは、前記画像抽出ステップにより抽出された画像と前記サーバから前記ネットワークを介して受信し又は予め格納されている標準テスト画像を使用して、前記命令列を前記画像形成装置上で実行させ画質を判定することを特徴とする請求項１に記載の画質メンテナンス方法。
【請求項３】
前記送信ステップは、前記命令列であるモバイルエージェントを送信する際に該モバイルエージェントを符号化して送信し、前記画質判定ステップは、前記画像形成装置が受信した前記符号化されたモバイルエージェントを復号化して前記命令列の解釈及び実行を行うことを特徴とする請求項１又は２に記載の画質メンテナンス方法。
【請求項４】
サーバと画像形成装置はネットワークを介して相互に通信を行い、前記画像形成装置は、前記サーバからの指示により、又は所定の条件が満たされたときに画質判定を行ってメンテナンスを実行する画質メンテナンス方法において、
前記サーバから前記ネットワークを介して、メンテナンスの際に画質判定動作を制御するための命令列を前記画像形成装置が、受信する受信ステップと、
該受信ステップにより受信された前記命令列を前記画像形成装置内の格納部に格納する格納ステップと、
該格納ステップにより格納された前記命令列を前記画像形成装置上で実行させて画質判定を行う画質判定ステップと
を備えたことを特徴とする画質メンテナンス方法。
【請求項５】
サーバと画像形成装置がネットワークを介して相互に通信を行い、前記画像形成装置は、前記サーバからの指示により、又は所定の条件が満たされたときに画質判定を行ってメンテナンスを実行する画質メンテナンスシステムにおいて、
前記サーバは、メンテナンスの際に前記画像形成装置で画質判定動作を制御するための命令列を前記画像形成装置へ前記ネットワークを介して送信する送信手段を備え、
前記画像形成装置は、該送信手段により送信された前記命令列を受信して命令列格納部に格納する格納手段と、
画質を判定するため前記サーバから前記ネットワークを介して受信し又は前記画像形成装置に予め格納されているテストパターンの印字を行い、印字された画像を抽出する画像抽出手段と、
前記画像抽出手段により抽出された画像と前記サーバから前記ネットワークを介して受信し又は前記画像形成装置に予め格納されている標準テスト画像を使用して、前記格納手段により格納した前記命令列を実行させ、画質を判定する画質判定手段と
を備えたことを特徴とする画質メンテナンスシステム。
【請求項６】
前記送信手段は、前記命令列であるモバイルエージェントを送信する際に該モバイルエージェントを符号化して送信し、前記画質判定手段は、前記画像形成装置が受信した前記符号化されたモバイルエージェントを復号化して前記命令列の解釈及び実行を行うことを特徴とする請求項５に記載の画質メンテナンスシステム。
【請求項７】
ネットワークを介してサーバと通信するためのインタフェース手段を備え、前記サーバの指示により又は所定の条件が満たされたときにメンテナンスを行う画像形成装置において、
メンテナンスの際に画質判定動作を制御するための命令列を前記インタフェース手段により前記サーバより受信して、命令列格納部に格納する格納手段と、
画質を判定するため、前記サーバから前記インタフェース手段により受信し又は予め格納されているテストパターンの印字を行い、印字された画像を抽出する画像抽出手段と、
該画像抽出手段により抽出された画像と前記サーバから前記インタフェース手段により受信し又は予め格納されている標準テスト画像を使用して、前記格納手段により格納した前記命令列実行させ、画質を判定する画質判定手段と
を備えたことを特徴とする画像形成装置。
【請求項８】
前記格納手段により前記サーバから受信した前記命令列は予め符号化されたモバイルエージェントであり、前記画質判定手段は、前記画像形成装置が受信した前記符号化されたモバイルエージェントを復号化し、前記命令列の解釈及び実行を行うことを特徴とする請求項７記載の画像形成装置。
【請求項９】
コンピュータを用いて請求項４に記載の各ステップを実行させるためのプログラム。
【請求項１０】
請求項４に記載の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタや複写機等の画像形成装置のプリント画質をメンテナンスするメンテナンス方法及びそのシステム並びに画像形成装置に関し、より詳細には、遠隔地にあるメンテナンスセンタ等からの指示によりあるいは所定の条件が満たされたとき自動的に画像形成装置のプリント画質を判定し、その判定結果に基づいてメンテナンスセンタへの通知を行うメンテナンス方法及びそのシステム並びに画像形成装置に関する。
【０００２】
【従来の技術】
従来、センタサーバが複写機やプリンタ等の画像形成装置のステータスを遠隔から監視して、画像形成装置でエラーが発生した場合に、即座にサービスマンを派遣するシステムが存在した。このようなシステムでは、画像形成装置でジャムが発生し、画像形成装置の消耗品が無くなり、あるいは画像形成装置の印刷機構部が動かなくなる等の事態が発生すると、画像形成装置のコントローラがセンタサーバへエラー情報を送信していた。これにより、センタサーバは、そのエラー情報を解析して、画像形成装置のエラー状態を認識していた。
【０００３】
出願人は、既に遠隔からでも、画像形成装置のプリント画質を診断して、画像形成装置のメンテナンスを行う必要があるかどうかを監視することができるシステムを提案している。このシステムでは、プリンタがプリント画質を診断する場合、テストプリントに必要なテスト用データをサーバから受信し、プリンタがテスト用データをもとに出力したテストプリントの画像をスキャンして得た画像データを調べてプリント画質を判定する。最終的に、判定結果をサーバへ通知する。このシステムでは、プリント画質を判定する手段は複数の判定アルゴリズムを有してさまざまな画質を判定することができた。
【０００４】
また、画像処理装置、画像処理装置の制御方法、および記憶媒体において、モバイルエージェントによる制御が可能となっている（例えば、特許文献１参照。）。従来のファームウェアは本質的に拡張性に限界があり、柔軟な分散システムへの対応が困難であったが、出願人の以上の提案によりこのような限界及び困難が解消された。
【０００５】
【特許文献１】
特開平１１−２８２６８４号公報（第５−９頁、第４図）
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した従来技術では、複数の画質判定アルゴリズムが画質判定部（実施例では判定用スキャナ）に予め固定的に実装されているため、判定アルゴリズムを動的に置き換えることはできない。したがって、センター側で新たな画質診断方法が開発されても、これに対応することはできず、単に診断の対象である新たなテストチャートデータを転送し入れ替える程度の方法しか取り得ない。すなわち、テストプリントの結果を判定する判定アルゴリズムを拡張することは不可能であり、システムの画質診断方法の拡張性に限界がある。
【０００７】
さらに、このようなシステムにおいてはメンテナンスサーバとクライアント機器と判定用スキャナのそれぞれに担当すべき処理が分散しており、各装置がそれぞれ通信によってデータ授受と同期取りを行ないながら各々の処理を進めるように構成されている。したがって、新たな画質診断方法に対応するためには、通信によって連携しあいながら協調してひとつの診断を行う複数のプログラムを開発し、さらにそれぞれを各装置にインストールする必要がある。すなわち、このようなプログラム群の開発とインストールには設計上ならびに運用上の高度な技術と労力が要求されるため、システムを新たな画質診断方法に対応させるためには多大なコストがかかるという問題がある。
【０００８】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、遠隔からでも画質判定のアルゴリズムを拡張可能な、遠隔画質メンテナンス方法及びそのシステム並びに画像形成装置を提供することであり、またさらに、このような遠隔画質メンテナンスシステムを容易に拡張することが可能な方法及びそのシステム並びに画像形成装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明は、このような目的を達成するために、請求項１に記載の発明は、サーバと画像形成装置がネットワークを介して相互に通信を行い、画像形成装置は、サーバからの指示により、又は所定の条件が満たされたときに画質判定を行ってメンテナンスを実行する画質メンテナンス方法において、サーバは、メンテナンスの際に画質判定動作を制御するための命令列を、ネットワークを介して画像形成装置に送信する送信ステップと、送信ステップにより送信された命令列を画像形成装置内の格納部に格納する格納ステップと、格納ステップにより格納された命令列を画像形成装置上で実行させて画質判定を行う画質判定ステップとを備えたことを特徴とする。
【００１０】
また、請求項２に記載の発明は、請求項１に記載の画質メンテナンス方法において、画像形成装置は、サーバからネットワークを介して受信し又は予め格納されている印字パターンを用いてテスト印字を行い、テスト印字により出力されたテスト印字用紙からテスト印字画像を抽出する画像抽出ステップを備え、画質判定ステップは、画像抽出ステップにより抽出された画像とサーバからネットワークを介して受信し又は予め格納されている標準テスト画像を使用して、命令列を画像形成装置上で実行させ画質を判定することを特徴とする。
【００１１】
また、請求項３に記載の発明は、請求項１又は２に記載の画質メンテナンス方法において、送信ステップは、命令列であるモバイルエージェントを送信する際にモバイルエージェントを符号化して送信し、画質判定ステップは、画像形成装置が受信した符号化されたモバイルエージェントを復号化して命令列の解釈及び実行を行うことを特徴とする。
【００１２】
また、請求項４に記載の発明は、サーバと画像形成装置はネットワークを介して相互に通信を行い、画像形成装置は、サーバからの指示により、又は所定の条件が満たされたときに画質判定を行ってメンテナンスを実行する画質メンテナンス方法において、サーバからネットワークを介して、メンテナンスの際に画質判定動作を制御するための命令列を画像形成装置が、受信する受信ステップと、受信ステップにより受信された命令列を画像形成装置内の格納部に格納する格納ステップと、格納ステップにより格納された命令列を画像形成装置上で実行させて画質判定を行う画質判定ステップとを備えたことを特徴とする。
【００１３】
また、請求項５に記載の発明は、サーバと画像形成装置がネットワークを介して相互に通信を行い、画像形成装置は、サーバからの指示により、又は所定の条件が満たされたときに画質判定を行ってメンテナンスを実行する画質メンテナンスシステムにおいて、サーバは、メンテナンスの際に画像形成装置で画質判定動作を制御するための命令列を画像形成装置へネットワークを介して送信する送信手段を備え、画像形成装置は、送信手段により送信された命令列を受信して命令列格納部に格納する格納手段と、画質を判定するためサーバからネットワークを介して受信し又は画像形成装置に予め格納されているテストパターンの印字を行い、印字された画像を抽出する画像抽出手段と、画像抽出手段により抽出された画像とサーバからネットワークを介して受信し又は画像形成装置に予め格納されている標準テスト画像を使用して、格納手段により格納した命令列を実行させ、画質を判定する画質判定手段とを備えたことを特徴とする。
【００１４】
また、請求項６に記載の発明は、請求項５に記載の画質メンテナンスシステムにおいて、送信手段は、命令列であるモバイルエージェントを送信する際にモバイルエージェントを符号化して送信し、画質判定手段は、画像形成装置が受信した符号化されたモバイルエージェントを復号化して命令列の解釈及び実行を行うことを特徴とする。
【００１５】
また、請求項７に記載の発明は、ネットワークを介してサーバと通信するためのインタフェース手段を備え、サーバの指示により又は所定の条件が満たされたときにメンテナンスを行う画像形成装置において、メンテナンスの際に画質判定動作を制御するための命令列をインタフェース手段によりサーバより受信して、命令列格納部に格納する格納手段と、画質を判定するため、サーバからインタフェース手段により受信し又は予め格納されているテストパターンの印字を行い、印字された画像を抽出する画像抽出手段と、画像抽出手段により抽出された画像と前記サーバからインタフェース手段により受信し又は予め格納されている標準テスト画像を使用して、格納手段により格納した命令列実行させ、画質を判定する画質判定手段とを備えたことを特徴とする。
【００１６】
また、請求項８に記載の発明は、請求項７記載の画像形成装置において、格納手段によりサーバから受信した命令列は予め符号化されたモバイルエージェントであり、画質判定手段は、画像形成装置が受信した符号化されたモバイルエージェントを復号化し、命令列の解釈及び実行を行うことを特徴とする。
【００１７】
また、請求項９に記載の発明は、プログラムであって、コンピュータを用いて請求項４に記載の各ステップを実行させることを特徴とする。
【００１８】
また、請求項１０に記載の発明は、コンピュータ読み取り可能な記録媒体であって、請求項４に記載の各ステップを実行させるためのプログラムを記録したことを特徴とする。
【００１９】
【発明の実施の形態】
以下、図面を参照して本発明の実施例について説明する。
図１は、本発明に係る画質メンテナンスシステムの構成を示す図である。メンテナンスサーバ１０１は、画質をメンテナンスする際に必要なデータをクライアント機器１０２に転送する。また、クライアント機器１０２や判定用スキャナ１０４からのデータに基づいて、プリンタの印刷画質がどういう状態であるかを判断し管理する。
【００２０】
クライアント機器１０２は、プリンタ部１０３に接続されており、メンテナンスサーバ１０１から送られてきたテストチャートデータに基づいてプリンタ部１０３にテストプリントさせる。また、プリンタ部１０３で印刷された印刷枚数をカウンタで管理し、あるいはプリンタ部１０３のステータスをメンテナンスサーバ１０１に送信する等により、プリンタ部１０３を統括的に管理する。
【００２１】
なお、本実施例の画像形成装置では、クライアント機器１０２とプリンタ部１０３は別筐体として表現されているが、複写機（コピー機）、レーザビームプリンタ、インクジェットプリンタ、ＦＡＸ装置等のように同じ筐体にあってもよい。また、プリンタ部１０３を着脱可能なかたちで接続できるホストコンピュータやパーソナルコンピュータであってもよい。
【００２２】
プリンタ部１０３は、画像データに基づいて、記録用紙に印刷を行う。プリンタ部１０３は、自身を特定するための機材番号を有しており、外部からの要求に応じて、機材番号を示すデータを転送することができる。
【００２３】
判定用スキャナ１０４は、プリンタ部１０３が出力した印刷物をスキャンして、画像データを生成し、これに基づいてプリンタ部１０３のプリント画質をチェックする。また、必要に応じて、生成した画像データをメンテナンスサーバ１０１に転送する。
【００２４】
ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０６は、クライアント機器１０２や判定用スキャナ１０４とを接続するネットワークであり、通常は、オフィス内や所定の敷地内のネットワークに対応する。また、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０７は、複数のＬＡＮが接続された広域なネットワークであり、複数のネットワークをさらに公衆網や専用回線等で相互接続したものである。これによって、遠隔にあるコンピュータ同士が、データのやり取りを行うことができる。
【００２５】
なお、メンテナンスサーバ１０１は、ＬＡＮ１０６に接続されていてもよい。ただし、ＷＡＮ１０７を介して、複数のＬＡＮと接続することにより、例えば、複数のオフィスや会社にそれぞれ置かれている複数のプリンタに対して、画質メンテナンスサービスを提供することができる。
【００２６】
図２は、本発明に係る複写機の外観を示す図である。複写機では同一筐体内にクライアント機器１０２とプリンタ部１０３を有している。画像入力デバイスであるスキャナ２０１は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサ（図示せず）を走査することによって、ラスターイメージデータを生成する。
【００２７】
使用者が、原稿用紙を原稿フィーダ２０４のトレイ２０３にセットして、操作部２０２において読み取りの起動を指示すると、画像形成装置のコントローラＣＰＵ（図示せず）がスキャナ２０１に指示を与え、フィーダ２０３は原稿用紙を１枚ずつフィードし、スキャナ２０１は原稿画像の読み取り動作を行う。
【００２８】
画像出力デバイスであるプリンタ部１０３は、ラスターイメージデータを用紙上の印刷する部分である。その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも本発明を用いることができる。なお、プリント動作は、コントローラＣＰＵからの指示によって起動される。
【００２９】
プリンタ部１０３は、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット２０６、２０７、２０８を備えている。また、排紙トレイ２０５は、印字し終わった用紙を受けるものである。
【００３０】
図３は、画像形成装置の制御部の構成を示すブロック図である。クライアント機器１０２は、画像入力デバイスであるスキャナ２０１や画像出力デバイスであるプリンタ部１０３と接続し、一方ではＬＡＮや公衆回線（ＷＡＮ）と接続することで、画像情報やデバイス情報の入出力を行う。
【００３１】
ＣＰＵ３０１は、画像形成装置全体を制御する。ＲＡＭ３０２は、ＣＰＵ３０１が動作するために使用するシステムワークメモリである。また、ＲＡＭ３０２は、画像データを一時記憶するための画像メモリでもある。ＲＯＭ３０３は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ３０４は、ハードディスクドライブで、システムソフトウェア、画像データを格納する。
【００３２】
操作部Ｉ／Ｆ３０６は、操作部２０２とクライアント機器１０２の間のインタフェースをとり、操作部２０２に表示する画像データを操作部２０２に対して出力する。また、使用者が操作部２０２を介して入力した情報を、ＣＰＵ３０１に伝える役割を果たす。
【００３３】
ネットワークＩ／Ｆ３０８は、ＬＡＮ１０６との接続インタフェースをとり、ＬＡＮ１０６と情報の送受信を行う。モデム３０９は、公衆回線との接続インタフェースをとり、公衆回線に対して情報の入出力を行う。以上のデバイスがシステムバス３０７上に配置される。
【００３４】
イメージバスＩ／Ｆ３０５は、システムバス３０７と画像データを高速で転送する画像バス３１０とを接続し、データ構造を変換するバスブリッジである。画像バス３１０は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。
【００３５】
画像バス３１０には以下のデバイスが接続される。ラスターイメージプロセッサ３１１は、ネットワークから送信されて来たＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ部３１２は、画像入出力デバイスであるスキャナ２０１やプリンタ部１０３とクライアント機器１０２とを接続し、画像データの同期系／非同期系の変換を行う。
【００３６】
スキャナ画像処理部３１３は、入力画像データに対して補正や加工又は編集等を行う。プリンタ画像処理部３１４は、プリント出力画像データに対して、プリンタ部の補正や解像度変換等を行う。画像回転部３１５は画像データの回転を行う。画像圧縮部３１６は、多値画像データに対してはＪＰＥＧ圧縮伸張処理を行い、二値画像データに対してはＪＢＩＧ、ＭＭＲ、ＭＨの圧縮伸張処理を行う。
【００３７】
図４は、本発明の第１実施例の画質メンテナンスシステムの機能を示すブロック図である。メンテナンスサーバ１０１はメンテナンス履歴管理部４０１、ダウンロード用画像データ格納部４０２、ダウンロード用テストチャートデータ格納部４０３、機器構成管理部４０４、ダウンロード用テストチャートデータ格納部４０６、課金情報管理部４０７及び契約データ格納部４０８から構成されている。また、クライアント機器１０２は、ユーザＩＤ格納部４１１、公開鍵／秘密鍵格納部４１２、診断開始判定部４１３、機材特定情報格納部４１４、メンテナンス終了キー４１５、カウンタ４１６、画質基準格納部４１７、テスト用画像データ・テストチャートデータ格納部４１８、プリント条件格納部４１９、診断開始キー４２０から構成されている。さらに、判定用スキャナ１０４は、判定部４３１、画像入力部４３２、判定用プログラム格納部４３３、判定結果格納部４３４から構成されている。
【００３８】
メンテナンス履歴管理部４０１は、メンテナンスを実施した履歴を管理する。履歴には、プリンタ部の機材番号ごとにプリント画質の判定を行なった日時、プリント画質の判定結果、プリント画質判定の際判定用スキャナ１０４によって読み込まれた画像データ、判定結果に応じてメンテナンスを行なった日時及びどのようなメンテナンスを実施したかなどを記録する。
【００３９】
ダウンロード用画像データ格納部４０２は、テストプリントを行うときに使用されるテスト用画像データを格納する。テストプリントを行うときには、画像データがここからクライアント機器１０２に転送される。
【００４０】
ダウンロード用テストチャートデータ格納部４０３は、テストチャートを実行するために必要なデータが格納されている。テストチャートは、テストチャートデータによる指示に基づいて、テスト用画像データを印刷処理することにより実行される。
【００４１】
ダウンロード用判定プログラム格納部４０８は、プリント画質の判定の処理を行う判定プログラムを格納する。プリント画質の判定処理を行うときには、判定プログラムがここから判定用スキャナ１０４に転送される。
【００４２】
機器構成管理部４０４は、メンテナンス対象となる機器の構成を示す情報を管理する。例えば、データベースを用いて、それぞれの機器ごとに、機材番号、オプションの有無、ネットワークアドレス（ＩＰアドレス）、所有者および設置場所などを示す情報などを管理している。
【００４３】
サービススケジュール管理部４０５は、契約データ格納部４０７が格納している契約データが示す契約内容に従って、サービスマンを派遣するスケジュールを作成し、そのスケジュールに従って、サービスマンに対して指示を出す。例えば、高品質のメンテナンスを提供するという契約が結ばれている場合には、メンテナンスが必要になった際，即座にサービスマンを派遣できるようにサービスマンを手配する。
【００４４】
課金情報管理部４０６は、プリンタ部１０３のカウンタ値に基づいて、プリンタのメンテナンス料金を計算し記憶する。契約データ格納部４０７は、どのような画質メンテナンスを提供するかを示す契約内容のデータを格納する。契約内容には、プリント画質がどのくらいのときにサービスマンを派遣してメンテナンスを行うか、プリント画質の判定を行なってからサービスマンを派遣するまでの猶予期間（日数又は時間）などが示されている。
【００４５】
ユーザＩＤ格納部４１１は、プリンタ部１０３の所有者を識別するためのＩＤの値を格納している。このＩＤを用いて、画質メンテナンスのサービスを提供するユーザを特定する。公開鍵／秘密鍵格納部４１２は、サーバ１０１にデータを転送するときに、転送データを暗号化するのに必要な公開鍵や秘密鍵などを格納しておく。
【００４６】
診断開始キー４２０は、プリント画質の判定を行うようユーザが指示するためのボタンである。診断開始キー４２０が押下されたとき、あるいは定期的に、クライアント機器１０２は、テストチャートを実行する。診断開始判定部４１３は、プリント画質の診断を開始するかどうかを判定する。診断を定期的に行うと設定されていれば、設定された期間ごとに、診断を行う旨の判定をする。また、診断開始キー４２０が押下されたときに診断を行うと設定されていれば、診断開始キー４２０が押下されたこかどうかを監視し、押下された場合、診断を行う旨の判定をする。
【００４７】
機材特定情報格納部４１４は、プリンタ部１０３を識別するための情報、例えば、プリンタ部１０３の機材番号を格納する。
【００４８】
メンテナンス終了キー４１５は、サービスマンがメンテナンスを終了したときに押下する。メンテナンス終了キー４１５が押下されると、その旨がサーバ１０１に通知され、メンテナンス履歴管理部４０１はメンテナンスが終了したことを記憶する。
【００４９】
カウンタ４１６は、プリンタ部１０３で印刷された枚数を数える。枚数は、用紙ごと、コピーで印刷されたか、ホストコンピュータからのプリント要求で印刷されたかを分けて数えられる。
【００５０】
図５は、カウンタテーブルを示す図であり、このカウンタテーブルには縦方向に並べられている用紙の種類ごとに、トータルで何枚印刷されたか、コピーによって何枚印刷されたか、ホストコンピュータからのプリント要求で何枚印刷されたか等の情報が記憶されている。
【００５１】
また、プリント画質の判定によって、画質劣化が認められたときには、印刷枚数は別にカウントされる。つまり、画質劣化が認められてから、それに対応したメンテナンスが終了するまでは、トータルで印刷された枚数はトータル画質劣化時カウンタ５０１に、コピーによって印刷された枚数はコピー画質劣化時カウンタ５０２に、プリント要求によって印刷された枚数はプリント画質劣化時カウンタ５０３にそれぞれ格納される。
【００５２】
画質基準格納部４１７は、プリント画質の判定において、ＯＫ（問題なし）とするか、ＮＧ（問題あり）とするか、その尺度を示す情報が格納されている。例えば、ＯＫ（あるいはＮＧ）と判定するときの解像度や色ずれの許容範囲を示す情報が格納される。
【００５３】
テスト用画像データ・テストチャートデータ格納部４１８は、サーバ１０１から転送されてきたテスト用画像データやテストチャートデータを格納しておく。なお、これらのデータは、画質メンテナンスサービスを提供する際の重要なノウハウが詰め込まれているため、このようなノウハウが流出することは、サービス提供者にとって好ましくない。従って、格納部４１８に格納されたテスト用画像データやテストチャートデータは、プリント画質の診断が行なわれた後消去される。
【００５４】
プリント条件格納部４１９は、プリンタ部１０３の使用者（あるいは所有者）が要求するプリント条件を示す情報を格納する。例えば、使用者が高品質なプリントを要求する場合は、「高品質なプリント」というプリント条件を設定する。また、カラーのみ高品質なプリントを要求する場合は、「高品質なカラープリント、普通のモノクロプリント」というプリント条件を設定する。ユーザが要求するプリント条件は、クライアント機器１０２の操作部２０２から入力され、これを示す情報がプリント条件格納部４１９に記憶される。なお、画質基準格納部４１７に格納される尺度を示す情報は、プリント条件格納部４１９に格納されている情報に基づいて決定される。
【００５５】
画像入力部４３２は、テストプリントで出力された印刷物をスキャンして、画像データを入力する。また、判定部４３１は、入力された画像データの品質を、画質基準格納部４１７に格納されている情報が示す尺度に照らして判定する。判定結果は、必要に応じてサーバ１０１に通知される。判定用プログラム格納部４３３は、サーバ１０１から転送されてきた判定プログラムを格納しておく。判定プログラムは判定部４３１が行うプリント画質を判定する処理のアルゴリズムを記述した実行可能なソフトウェアモジュールである。なお、このプログラムは、画質メンテナンスサービスを提供する際の重要なノウハウが詰め込まれているため、このノウハウが流出することは、サービス提供者にとって好ましくない。したがって、判定用プログラム格納部４３３に格納された判定用プログラムは、プリント画質の診断が行なわれた後は消去される。
【００５６】
図６は、プリント画質判定の処理を説明するためのフローチャートを示す図である。ステップＳ６０３、Ｓ６０４，Ｓ６１４、Ｓ６１６は、メンテナンスサーバにより実行され、ステップＳ６０１、Ｓ６０２、Ｓ６０５、Ｓ６０６、Ｓ６１５は、クライアント機器により実行される。また、ステップＳ６０７〜Ｓ６１３、Ｓ６１７は、判定用スキャナにより実行される。処理は、各ステップに対応するプログラムコードが各装置上で実行されることにより行なわれる。
【００５７】
まず、ステップＳ６０１では、診断開始判定部４１３が、診断を開始するか否かを判定する。なお、診断開始判定部４１３は、診断開始キー４２０が使用者により押下された場合には、診断を開始すると判定する。また、定期的に診断を行うことが設定されている場合には、設定された時間あるいは期間が経過される毎に診断を開始すると判定する。診断を開始しないと判定した場合には、ステップＳ６０１に戻り、診断を開始すると判定した場合には、ステップＳ６０２に進む。
【００５８】
ステップＳ６０２では、診断を開始する旨をメンテナンスサーバ１０１に通知する。通知をするときには、ユーザＩＤ格納部４１１に格納されているＩＤ情報や、機材特定情報格納部４１４に格納されている機材番号を示す情報、プリント条件格納部４１９に格納されているプリント条件を示す情報などもメンテナンスサーバ１０１に通知する。
【００５９】
メンテナンスサーバ１０１が診断開始の通知を受信する（Ｓ６０３）と、ステップＳ６１６では、ダウンロード用判定プログラム格納部４０８に格納されている判定プログラムを判定用スキャナ１０４に送信する。このときステップＳ６１７では、判定スキャナ１０４がプリント画質の判定に必要なプログラムを受信する。なお、判定プログラムは、プリンタのプリント画質を保つための重要なノウハウが詰め込まれているため、判定プログラムが第三者に使用されることは、サービス提供者にとって好ましくない。そのため、判定用スキャナ１０４は、後述する一連のプリント画質判定処理が終了したことを検知して、判定プログラムを消去する。なお、毎回、判定プログラムをメンテナンスサーバ１０１から判定用スキャナ１０４に転送していたのでは、通信負荷が大きくなる場合は、これらのデータを判定用スキャナ１０４が保持できるようにすることもできる。この場合、スキャナ１０４は、判定プログラムが第三者に使用されないように、判定プログラムを暗号化して保持する。
【００６０】
さらに、ステップＳ６０４では、メンテナンスサーバ１０１がダウンロード用画像データ格納部４０２に格納されているテスト用画像データと、ダウンロード用テストチャートデータ格納部４０３に格納されているテストチャートデータをクライアント機器１０２に送信する。このとき、クライアント機器１０２から送信されたプリント条件を示す情報に基づいて、所望されているプリント条件を満たしているかどうかを判定するためのデータを送信するものとする。
【００６１】
つぎに、ステップＳ６０５では、クライアント機器１０２がテストプリントに必要なデータを受信する。そして、ステップＳ６０６では、テスト用画像データをプリンタ部１０３に転送して、テストプリントを実行させる。なお、テスト用画像データは、プリンタのプリント画質を保つためのノウハウに基づくものである。従って、テスト用画像データが第三者に勝手に使用されることは、メンテナンスサービスを提供するものにとって弊害である。そのため、クライアント機器１０２は、テストプリントが終了したことを検知して、テスト用画像データを消去する。
【００６２】
なお、毎回、テスト用画像データをメンテナンスサーバ１０１からクライアント機器１０２に転送していたのでは、通信負荷が大きくなる場合は、これらのデータをプリンタ部１０３が保持できるようにすることもできる。この場合、プリンタ部１０３が保持するデータを使用する旨の指示が、メンテナンスサーバ１０１からクライアント機器１０２に送信され、さらに、クライアント機器１０２からプリント１０３へ送信される。これにより、プリンタ部１０３は、保持してあるテスト用画像データを用いてテストプリントを行う。また、プリンタ部１０３は、テスト用画像データが第三者に使用されないように、テスト用画像データを暗号化して保持する。
【００６３】
この後、使用者は、出力された用紙を持って行き、判定用スキャナ１０４にその用紙をセットすると、ステップＳ６０７で、判定用スキャナ１０４は原稿（用紙）をスキャンして、画像データが入力される。
【００６４】
続いて判定用スキャナ１０４において実行される一連のプリント画質判定処理は、ステップＳ６１７で受信した判定プログラムを利用して行なわれる。ステップＳ６０８で、入力された画像データに基づいて，プリンタ部１０３のプリント画質を判定する。プリント画質の判定処理については後述する。判定の結果が問題なしの場合には、ステップＳ６１０で、判定結果を判定結果格納部４３４に保存する。判定結果格納部４３４はＨＤＤ（ハードディスクドライブ）などの不揮発性メモリによって構築されている。また、本実施例では判定結果格納部４３４は、判定用スキャナ１０４に含まれているが、他の実施例ではクライアント機器１０２に含めることもでき、この場合には、判定用スキャナ１０４は、判定結果とその格納要求をクライアント機器１０２に送信する。
【００６５】
なお、問題なしの場合には、判定結果を至急メンテナンスサーバ１０１に通知する必要はない。そのため、定期的に、例えば１日一回、あるいは数日に一回、複数の判定結果をまとめてメンテナンスサーバ１０１に転送する。こうすることにより、メンテナンスサーバ１０１との通信を極力少なくすることができる。
【００６６】
ステップＳ６１１では、判定結果を使用者に通知するため、判定結果を示す印刷データを生成して、プリンタ部１０３に転送し、判定結果を印刷する。こうすることにより、判定結果を使用者に知らせることができる。印刷される内容は、判定結果の他、テスト用画像データのデータ名、日時、プリンタ部１０３の機材番号、判定方法、動作モード、テストチャートのバージョン、そのときの温湿度などである。なお、判定結果を印刷する代わりに、表示部１０５に表示してもよい。
【００６７】
判定結果は、ここではＡ，Ｂ，Ｃの３段階とし、Ａは「問題なし」、Ｂは「問題あり（注意要）」、Ｃは「問題あり（メンテナンス要）」とする。
【００６８】
一方、判定結果に問題がある場合（ステップＳ６０９でＮＯ）には、ステップＳ６１２で、判定結果をメンテナンスサーバ１０１に送信する。この場合、判定用スキャナ１０４は、プリント原因、入力した画像データ、テスト用画像データのデータ名、日時、プリンタ部１０３の機材番号、判定方法などをメンテナンスサーバ１０１へ送信する。すると、メンテナンスサーバ１０１は、ステップＳ６１４で、判定結果を受信する。なお、本実施例では、判定結果がＢまたはＣである場合に、判定結果をメンテナンスサーバ１０１に送信するようにしたが、プリント条件あるいは契約内容に従って、例えば、判定結果がＣである場合にのみ判定結果を送信するようにしてもよい。この場合、契約内容を示す情報は、画質基準として画質基準格納部４１７に格納されているものとする。
【００６９】
また、判定用スキャナ１０４は、ステップＳ６１３で、カウンタを変更する旨をクライアント機器１０２に指示する。すると、クライアント機器１０２は、ステップＳ６１５で、カウンタの変更処理を行う。つまり、これ以後に、コピーやホストコンピュータからのプリント要求があった場合には、図５のトータル画質劣化時カウンタ５０１、コピー画質劣化時カウンタ５０２、プリンタ画質劣化時カウンタ５０３の値をカウントアップ（更新）する。
【００７０】
こうすることにより、プリント画質に問題があるからといって、コピーやプリント要求を全く行なえないようにするのではなく、プリント画質に問題がある間のコピーやプリント要求に対しては低価格で課金を行うようにすることができ、使用者の満足を得られる。
【００７１】
図７は、第１回の判定結果が問題ありの場合の処理を説明するためのフローチャートを示す図である。ここで、ステップＳ７０１〜Ｓ７０５、Ｓ７１２〜Ｓ７１５はメンテナンスサーバ１０１により実行され、ステップＳ７０６及びＳ７０７はクライアント機器１０２により実行され、ステップＳ７０８〜Ｓ７１１、Ｓ７１６は判定用スキャナ１０４により実行される。また、この処理は、各ステップに対応するプログラムコードが各装置上で実行されることにより行なわれる。
【００７２】
まず、ステップＳ７０１では、ステップＳ６１４で受信された判定結果がＢであるか、Ｃであるかを判定する。判定結果がＢである場合には、ステップＳ７０５に進み、判定結果がＣである場合には、ステップＳ７０２に進む。
【００７３】
判定結果がＣである場合には、即座にメンテナンスを行う必要があるため、以下のステップによってサービスマンの派遣を行う。まず、ステップＳ７０２では、メンテナンス履歴管理部４０１が、判定結果を格納する。つぎに、サービススケジュール管理部４０５が、各サービスマンのスケジュール表と、プリンタ部１０３の設置場所とに基づいて、派遣させるサービスマンとメンテナンス日を決定する。
【００７４】
そして、ステップＳ７０４では、決定されたサービスマンの携帯端末に、メンテナンスへ向うよう指示する電子メールを送信する。このとき、判定結果、判定用スキャナ１０４で入力された画像データ、ユーザＩＤ、プリンタ部１０３の機材番号、プリンタ部１０３の設置場所等を示す情報も、携帯端末に電子メールで送信する。
【００７５】
一方、判定結果がＢであった場合（ステップＳ７０１でＢと判定された場合）、メンテナンスの必要性の判断に漏れがないかを確認するために、２回目の診断を行う。従って、第２のプリント画質判定を行うために、ステップＳ７１５で第２の判定プログラムを判定用スキャナ１０４に送信し、判定用スキャナ１０４はステップＳ７１６でこれを受信する。さらに、第２のテストプリントを行うために、ステップＳ７０５で、第２のテスト用画像データと、第２のテストチャートデータをクライアント機器１０２に送信する。このとき、第１回目のテストプリントでは判定できなかった部分を詳細に調べるためのデータを特に送信することもできる。
【００７６】
つぎに、ステップＳ７０６では、クライアント機器１０２がテストプリントに必要なデータを受信する。そして、ステップＳ７０７で、テスト用画像データをプリンタ部１０３に転送してテストプリントを実行させる。
【００７７】
このあと、使用者は、出力された用紙を判定用スキャナ１０４にセットする。すると、ステップＳ７０８で、判定用スキャナ１０４は原稿（用紙）をスキャンして画像データが入力される。
【００７８】
続いて判定用スキャナ１０４において実行される一連のプリント画質判定処理は、ステップＳ７１６で受信した判定プログラムを利用して行なわれる。ステップＳ７０９で、入力した画像データに基づいて、プリンタ部１０３のプリント画質を判定する。そして、ステップＳ７１０で、判定結果と原因とをメンテナンスサーバ１０１に送信する。また、このとき、判定結果を判定結果格納部４３４に保存する。また、あの実施例では、判定結果格納部をクライアント機器１０２に含めた実施例を考慮することができ、この場合には、判定用スキャナ１０４は、判定結果とその格納要求をクライアント機器１０２に送信する。
【００７９】
メンテナンスサーバ１０１は、ステップＳ７１２で、判定結果を受信する。そして、ステップＳ７１３で、受信した判定結果がＢであるか、Ｃであるかを判定する。Ｃであった場合には、メンテナンスが必要であると判断して、ステップＳ７０２に進む。Ｂである場合には、詳細に調べた結果、今回はまだメンテナンスが必要でないと判断する。従って、ステップＳ７１４では、メンテナンス履歴管理部４０１は、判定結果を記憶するだけで処理を終了する。
【００８０】
図８は、プリント画質を判定する処理を説明するためのフローチャートを示す図である。図８に示される処理は、前述のステップＳ６０８やＳ７０９で実行されるものである。この処理は、判定用スキャナ１０４内にある判定部４３１上で実行される。まず、ステップＳ８０１では、読み込んだ画像データをページメモリ（図示せず）に格納する。ステップＳ８０２では、クライアント機器１０２に要求を出して、プリンタ部１０３の機材番号を示す情報や、画像基準を示す情報等をクライアント機器１０２から取得する。このとき、メンテナンスサーバ１０１から送信されたテストチャートデータも併せて取得する。ステップＳ８０３では、ページメモリ（図示せず）に格納された画像データを読み出し、各種の画像診断・判定を行う。このとき、テストチャートデータが示すテストチャートに従って画像データをテストし、設定された画質基準に照らし合わせて判定結果を算出する。ここでは、印字位置及び倍率のテスト、及び斜行のテストを行う。
【００８１】
なお、テストチャートデータは、プリンタのプリント画質を保つためのノウハウに基づくものである。従って、テストチャートデータが第３者に勝手に使用されることは、メンテナンスサービスを提供するものにとって弊害である。そのため、判定用スキャナ１０４は、判定処理が終了したことを検知して、テストチャートデータを消去する。
【００８２】
図９は、印字位置及び倍率のテストの処理を説明するためのフローチャートを示す図である。この処理のアルゴリズムはダウンロード用判定プログラム格納部４０８に格納され、判定用スキャナ１０４に転送された判定プログラム列の中に含まれる。このテストを行うために、格子パターンが所定の倍率でテストプリントされている。
【００８３】
図１０は、メモリ空間上に展開された画像データを示した概念図である。図１０には、メモリ空間上に、原稿用紙と格子パターンが表現されている。ここで、まず、ステップＳ９０１で、読み出した画像データから原稿の四隅の座標を求める。次に、ステップＳ９０２で、格子パターン外枠の四隅の座標を求める。そして、ステップＳ９０３で、原稿の四隅の座標と格子パターン外枠の四隅の座標とを比較して格子パターンの四隅の印字位置と倍率を算出し、さらに、その印字位置と倍率及び理想値を比較する。理想値は、通常テストチャートデータに記載されている。
【００８４】
ステップＳ９０４では、ステップＳ９０３の比較結果をもとに判定を行い、問題がある場合には、その原因を認定する。倍率と印字位置がともに所定の精度内の場合は、正常と判断する。倍率が精度内で、印字位置が不良である場合は、印字の書き込みタイミング不良と認定する。また、倍率が不良で、印字スタート位置が精度内の場合は、プリンタ部１０３の転写ドラムあるいは複写用紙のスピード不良と認定する。また、倍率と印字位置とも不良の場合、上記の２項目ともが不良と認定する。
【００８５】
図１１は、斜行が正しいかをテストする処理を説明するためのフローチャートを示す図である。この処理のアルゴリズムはダウンロード用判定プログラム格納部４０８に格納され、判定用スキャナ１０４に転送された判定プログラム列の中に含まれている。まず、ステップＳ１１０１では、読み出した画像データから原稿の傾きを算出する。次に、格子パターンの傾きを算出する。そして、原稿の傾きと格子パターンの傾きとを比較する。
【００８６】
図１２（ａ）〜（ｅ）は、原稿と格子パターンの傾き具合の分類例を示す図である。原稿と格子パターンの傾き具合を複数のパターンに分類した場合、例えば図１２に示すような分類例に分類することができる。ステップＳ１１０１で、原稿の傾きと格子パターンの傾きとを比較した結果、図１２（ａ）〜（ｅ）のいずれのパターンに該当するかを判別する。ステップＳ１１０４では、ステップＳ１１０３の比較結果をもとに判定を行い、問題がある場合にはその原因を認定する。
【００８７】
図１２（ａ）のパターンに該当する場合は、正常と判断する。図１２（ｂ）のパターンに該当する場合は、画像の用紙への転写中に手前に斜行したと判断する。図１２（ｃ）のパターンに該当する場合は、転写中に奥に斜行したと判断する。図１２（ｄ）のパターンに該当する場合は、転写前に奥が先行したと、図１２（ｅ）のパターンに該当する場合は、転写前に手前が先行したと判断する。
【００８８】
以上の実施の形態では、クライアント機器と判定用スキャナとを別々に設けたが、これらが一体になっていてもよい。
【００８９】
図１３は、クライアント機器と判定用スキャナが一体の場合のシステム構成を示す図である。このとき、スキャナ２０１が判定用スキャナ１０４となり、操作部２０２が表示部１０５となる。また、クライアント機器と、プリンタ部、スキャナがそれぞれ別々であっても良い。
【００９０】
図１４は、クライアント機器、プリンタ部及びスキャナがそれぞれ別々の場合のシステム構成を示す図である。また、判定用スキャナがメンテナンスサーバに接続されていてもよい。このときは、サービスマンが、診断開始キーを押下して、テストプリントで出力された印刷物を持って帰って、判定用スキャナにセットすることにより判定が行われる。
【００９１】
図１５は、判定用スキャナがメンテナンスサーバに接続されている場合のシステム構成を示す図である。
【００９２】
以上説明したように、本実施例によれば、テストプリントの結果を判定する判定アルゴリズムを拡張することは容易であり、システムの画質診断方法の拡張性を著しく向上することができる。
【００９３】
次に、他の実施例を説明する。
図１６は、本発明の第２実施例の画質メンテナンスシステムの機能を示す図である。第１実施例の図４と同様のブロックについては同一の符号をつけて説明を省略する。メンテナンスサーバ１０１中のインタプリタ部１６０９は、モバイルエージェントや他のオブジェクトのための実行環境を提供する。インタプリタ部１６０９上で動作するモバイルエージェントは、対応する制御オブジェクトを介してメンテナンスサーバ１０１の各部の機能を利用することができる。モバイルエージェントとその実行環境については後述する。
【００９４】
診断エージェントクラス格納部１６１０はプリント画質の診断処理を行うモバイルエージェントのクラスを格納する。診断エージェントは、その内部に少なくともプリント画質判定のアルゴリズムと判定に用いるテスト画像およびテストチャートのデータを保持している。クライアント機器１０２中のインタプリタ部１６２０は、モバイルエージェントや他のオブジェクトのための実行環境を提供する。クライアント機器１０２中のインタプリタ部１６２０上で動作するモバイルエージェントは対応する制御オブジェクトを介してクライアント機器１０２の各部の機能を利用することができる。判定用スキャナ４３１中のインタプリタ部１６３４は、モバイルエージェントや他のオブジェクトのための実行環境を提供する。判定用スキャナ４３１中のインタプリタ部１６３４上で動作するモバイルエージェントは対応する制御オブジェクトを介して判定用スキャナ４３１の各部の機能を利用することができる。
【００９５】
図１７は、各部においてメモリに記憶されたデータ構造とソフトウェアの構造を示す階層図である。図１７では、プリンタ部１０３と判定用スキャナ１０４を共に備える図１３のクライアント機器１０２に相当する装置におけるソフトウェア構造を例に説明している。図１７において、各階層のソフトウェアは下位の階層のソフトウェアが提供するサービスを上位の階層のソフトウェアが利用する関係になっている。最下層はオペレーティングシステムの機能を有する階層であり、プログラムの実行コンテクストの管理やメモリ管理等を行う。オペレーティングシステムの中には、たとえばネットワークインタフェースドライバ、プリンタ制御ドライバ、イメージスキャナ制御ドライバなどのデバイスドライバが組み込まれ、連携して機能している（プリンタやスキャナなどのデバイスは具体的には装置が備えるデバイスの構成によって異なる）。ネットワークインタフェースドライバはネットワークインタフェースを制御するソフトウェアである。プリンタ制御ドライバは、プリンタ部を制御するソフトウェアである。イメージスキャナ制御ドライバは、イメージスキャナを制御するソフトウェアである。
【００９６】
最下位から２番目の階層は各種のライブラリの機能を有する階層である。スレッドライブラリはそれを利用するプログラムにスレッド機能を提供するライブラリである。スレッドとは、ソフトウェアの並列実行の単位であり、単一プロセス内の複数のスレッドは異なる実行コンテクスト（プログラムカウンタ、スタック、レジスタ値等）を持つがメモリ空間等を共有する。スレッドのコンテクスト切り替えはプロセスのコンテクスト切り替えに比べ処理の量が少なくて済むため、ライトウェイトスレッドと呼ばれることもある。ネットワークインタフェースライブラリは、ネットワークインタフェースドライバを利用してネットワークを介したデータ送信とデータ受信を実現するライブラリである。プリンタ制御ライブラリは、プリンタ制御ドライバの機能を利用してプリンタ制御ＡＰＩ（アプリケーションプログラミングインタフェース）を提供するライブラリである。イメージスキャナ制御ライブラリは、イメージスキャナ制御ドライバの機能を利用してイメージスキャナ制御ＡＰＩを提供するライブラリである。
【００９７】
最下位から３段目の階層は、インタプリタの機能を有する階層である。インタプリタはモバイルエージェント等のオブジェクトが動作するためのオブジェクト実行環境を提供する。第２実施例に係るオブジェクトとは、広く知られたオブジェクト指向パラダイムにおけるオブジェクトのサブセットとなっている。すなわち、問題領域のある概念に係るデータと処理とをひとまとめにしたソフトウェア構造である。各オブジェクトは自律的に存在し、他のオブジェクトと通信（メッセージパッシング）し合いながら、オブジェクト群の全体として並列に一連の処理が達成される。
【００９８】
インタプリタ内部には、インタプリタ上で動作する各オブジェクトに断続的にプロセッサの処理時間を与えるオブジェクトスケジューラがある。オブジェクトスケジューラは、各オブジェクトの処理が仮想的に並列に進行するようにスレッドライブラリを利用する。インタプリタ内部にはまた、オブジェクトデコーダ／エンコーダがある。エンコーダは、メモリ上に実行可能な形態で展開されたオブジェクトの命令列（スクリプト）およびデータを、ネットワークを介して転送可能なビット列に、メモリ上にあった構造を実質的に復元可能な形で符号化する。デコーダはネットワークを介して転送されたビット列を、メモリ上に実行可能な形態に展開されたオブジェクトに復号化する。
【００９９】
図１８は、オブジェクトが符号化されたネットワークパケットの構造を示す図である。オブジェクトを符号化したネットワークパケットには、もとのオブジェクトの実行に係るすべてのデータを符号化した部分（１）と、もとのオブジェクトの命令列部分（２）とが含まれる。図１７において、最上位の層ではインタプリタ上でオブジェクトは管理され及び実行される。
【０１００】
プリンタ制御オブジェクトは、プリンタ制御ライブラリを介してプリンタの制御を行うための複数のオペレーションを提供しており、プリンタの代理オブジェクトとして機能する。すなわち、オブジェクトの命令列の中に、プリンタ制御オブジェクトのオペレーションを呼び出す（メッセージパッシング）命令があると、該オペレーションの実装の中でオペレーションに対応するプリンタ制御が実行される。同様にプリンタ制御オブジェクトから情報を引き出すオペレーションが実行されると、実際のプリンタのステータス情報等を得ることができる。
【０１０１】
イメージスキャナ制御オブジェクトはイメージスキャナ制御ライブラリを介してイメージスキャナの制御を行うための複数のオペレーションを提供しており、イメージスキャナの代理オブジェクトとして機能する。すなわち、オブジェクトの命令列の中で、イメージスキャナ制御オブジェクトのオペレーションを呼び出す（メッセージパッシング）命令があると、該オペレーションの実装の中でオペレーションに対応するイメージスキャナ制御が実行される。同様にイメージスキャナ制御オブジェクトから情報を引き出すオペレーションが実行されると、実際のイメージスキャナのステータス情報等を得ることができる。
【０１０２】
プリンタ制御オブジェクトとイメージスキャナオブジェクトは常駐エージェントである。すなわち、画像処理装置の立ち上げ後、インタプリタが処理を開始するとその最初の処理の一環として常駐エージェントを自動的に生成、初期化、起動する。そして常駐エージェントは装置の動作中を通じてこのノードに存続する（後述するｌｉｖｅオペレーションの実装内部で無限ループを構成している。）。
【０１０３】
図１７において２つ存在するモバイルエージェントは、ある仕事のエージェントとしての役割を担うオブジェクトのうち、あるネットワークノード上のインタプリタから別のネットワークノード上のインタプリタへ移動する性質を持つオブジェクトである。モバイルエージェントは、そのスクリプト中に「移動」を意味するオペレーション（以下、ｇｏオペレーションと呼ぶ。）を呼び出す命令を含む。インタプリタはモバイルエージェントオブジェクトの命令列の解釈実行中にｇｏオペレーションを発見すると、オブジェクトエンコーダによって、その時点のこのオブジェクトに含まれるすべての実行に係るデータと命令列とをそれらのデータ構造を復元可能な符号化方法によって符号化し、符号化したパッケージをネットワークパケットとしてｇｏオペレーションの引数に指定されたノードのインタプリタに宛てて転送する。転送されたパケットを受け取ったノードのインタプリタは、オブジェクトデコーダによって、そのパケットを実行可能な命令とデータとしてインタプリタが管理するメモリ空間に復号化し、さらにオブジェクトスケジューラのスケジュール対象に参加させる。転送され復号化されたオブジェクトの実行に係るデータ中には、このオブジェクトの次に実行すべき命令の位置を示すデータも含まれているため、オブジェクトが転送先のノードで最初に実行する命令は転送元ノードで最後に実行した命令の次の命令となる。かくして、モバイルエージェントは自身の実行環境（インタプリタ）を有するネットワークノード間を移動しながら、自らの命令列に記述された処理を実行する。
【０１０４】
インタプリタが扱うすべてのオブジェクトはその命令列によって自らを初期化するために必要な処理を定義したオペレーション（以下、ｉｎｉｔｉａｌｉｚｅオペレーションと呼ぶ。）を持っている。インタプリタは、オブジェクトを生成したとき最初に、このｉｎｉｔｉａｌｉｚｅオペレーションの実装として記述された命令列を実行する。また、モバイルエージェントと常駐エージェントは、存続時間内に行う一連の処理を定義したオペレーション（以下、ｌｉｖｅオペレーションと呼ぶ。）を持つ。インタプリタは、オブジェクトの初期化が済むとｌｉｖｅオペレーションの実装として記述された命令列を実行する。ｌｉｖｅオペレーションに記述された命令列の実行が終了すると、インタプリタはオブジェクトを削除し、該オブジェクトだけが使用していたメモリ領域をすべて解放する。
【０１０５】
オブジェクトは、他のオブジェクトとメッセージパッシングによって対話することができる。各ノードに存在するインタプリタのメモリ空間はそれぞれのノード毎にまったく異なるものであるため、特にあるノードにおいてモバイルエージェントが他のエージェントと対話を開始するためには、それに先立ってモバイルエージェントは相手エージェントのオブジェクトへの参照を獲得しなければならない。この操作は、モバイルエージェントの命令列中で、対話したい相手のオブジェクトを指定するための識別情報を引き数として、インタプリタが提供する組み込みオペレーションである対話要求オペレーション（以下、ｍｅｅｔオペレーションと呼ぶ。）を呼び出すことで実現できる。ここで、相手オブジェクトを指定するための識別情報は、ユニークなオブジェクト識別子、あるいはオブジェクトが属するクラスの識別子などの該当するオブジェクトの条件を示す情報である。ｍｅｅｔオペレーションに成功すると、モバイルエージェントは相手オブジェクトの参照が可能となり、これを用いて相手オブジェクトのオペレーションを実行できるようになる。
【０１０６】
すなわち、メッセージの交換が可能となる。図１７において、他のノードから移動してきたモバイルエージェント１やモバイルエージェント２は、常駐エージェントであるプリンタ制御オブジェクトやイメージスキャナオブジェクトとの間でｍｅｅｔオペレーションを実行することにより、相手の公開されたデータにアクセスして公開されたオペレーションを呼び出すことができるようになる。
【０１０７】
したがって、あるネットワークノードにおいて生成、起動されたモバイルエージェントは、他のネットワークノードのインタプリタに移動して、そこでネットワークを介さず直接にそのノードが備える各部の機能と対話できることとなる。
【０１０８】
図１９は、第２実施例におけるプリント画質の判定の起動処理を説明するためのフローチャートを示す図である。第１実施例の図６と同様の処理についてはその対応を示して説明を省略する。
【０１０９】
ステップＳ１９０１、Ｓ１９０２及びＳ１９０３は、それぞれ、ステップＳ６０１、Ｓ６０２及びＳ６０３に対応する。ステップＳ１９０４は、診断エージェントクラス格納部１６１０に格納された診断エージェントから、診断対象に最適な診断エージェントを選び出す。ステップＳ１９０５は、選択した診断エージェントクラスをインスタンス化する。インスタンス化されたオブジェクトは所定の診断を行うモバイルエージェントとなる。インスタンス化された際に、与えられる生成パラメータには、診断対象の装置に関する各種の情報（アドレスや機器構成など）が含まれる。ひとたび診断エージェントが生成されれば、後の診断処理はエージェントが自律的に行うため、メンテナンスサーバ上の処理はステップＳ１９０３に戻り一連のこの単純なループを繰り返せばよい。
【０１１０】
図２０は、モバイルエージェントとして実現されたプリント画質判定の処理を説明するためのフローチャートを示す図である。第１実施例の図６と同様の処理についてはその対応を示して説明を省略する。一連の処理は単一のプログラムであるが、メンテナンスサーバ１０１、クライアント機器１０２、判定用スキャナ１０４上のインタプリタの間を移動しながらそれぞれの実行環境上で実行される。第１実施例の図６と同様の処理についてはその対応を示して説明を省略する。
【０１１１】
ステップＳ２００１では、生成された診断エージェントはインスタンス化時に与えられた診断対象装置の情報にもとづいて移動先を決定し、クライアント機器に移動する。ステップＳ２００２では、ステップＳ６０６と同様であるが、診断エージェントの内部データに保持しているテストチャートやテスト画像によってテストプリントを行い、診断エージェントは判定用スキャナに移動する（Ｓ２００３）。ステップＳ２００４では、ステップＳ６０７と同様に、テストプリントの実行結果であるプリント生成物をスキャンして画像データを得る。ステップＳ２００５では、ステップＳ６０８と同様に、プリント画質を判定する。ステップＳ２００６では、ステップＳ６０９と同様に、画質の問題の有無を判定する。問題なしと判定した場合はステップＳ２００７に進む。問題ありと判定した場合は診断エージェントはクライアント機器に移動する（Ｓ２００９）。ステップＳ２００７では、ステップＳ６１０と同様に、判定結果を保存し、診断エージェントはクライアント機器に移動する（Ｓ２００８）。ステップＳ６１１と実質的に同様に、判定結果をプリントし、処理を完了する。ステップＳ２０１０では、ステップＳ２０１１では、ステップＳ６１５と同様に、カウンタを変更する。ステップＳ２０１２では、メンテナンスサーバに移動する。ついで図２１のステップＳ２１０１に進む。
【０１１２】
図２１は、モバイルエージェントとして実現されたプリント画質判定の処理を説明するためのフローチャートを示す図である。第１実施例の図７と同様の処理についてはその対応を示して説明を省略する。
【０１１３】
ステップＳ２１０１では、ステップＳ７０１と同様に、判定結果の分類判定を行う。判定結果がＢであればステップＳ２１０５に進み、Ｃであればステップ２６０２に進む。ステップＳ２１０２では、ステップＳ７０２と同様に、判定結果を記憶する。ステップＳ２１０３では、ステップＳ７０３と同様に、サービスマンを検索する。ステップＳ２１０４では、ステップＳ７０４と同様に、サービスマンに通知し、処理を完了する。ステップＳ２１０５では、さらに適切な診断処理を行うために、診断エージェントクラス格納部１６１０に格納された診断エージェントから第２の診断エージェントクラスを選択する。
【０１１４】
ステップＳ２１０６では、選択した診断エージェントクラスをインスタンス化する。インスタンス化されたオブジェクトは所定の診断を行うモバイルエージェントとなる。インスタンス化時に与える生成パラメータには、第１の診断エージェントが生成された際に与えられ、さらに診断過程で更新や追加した診断対象装置に関する各種の情報（アドレスや機器構成など）が含まれる。ひとたび第２の診断エージェントが生成されれば、後の診断処理はエージェントが自律的に行うため、第１の診断エージェントは単にその診断処理を完了すればよい。
【０１１５】
図２２は、モバイルエージェントとして実現されたプリント画質の第２の判定処理を説明するためのフローチャートを示す図である。第１実施例の図７と同様の処理についてはその対応を示して説明を省略する。
【０１１６】
ステップＳ２２０１では、生成された診断エージェントはインスタンス化された際に与えられた診断対象装置の情報にもとづいて移動先を決定し、クライアント機器に移動する。ステップＳ２２０２では、ステップＳ７０７と同様であるが、診断エージェントの内部データに保持しているテストチャート及びテスト画像によってテストプリントを行ない、診断エージェントは判定用スキャナに移動する（Ｓ２２０３）。ステップＳ２２０４では、ステップＳ７０８と同様に、テストプリントの実行結果であるプリント生成物をスキャンして画像データを得る。ステップＳ２２０５では、ステップＳ７０９と同様に、プリント画質を判定し、診断エージェントはクライアント機器に移動する（Ｓ２２０６）。ステップＳ２２０７では、ステップＳ７１１と実質的に同様に、判定結果をプリントする。ステップＳ２２０８では、メンテナンスサーバに移動する。ステップＳ２２０９では、ステップＳ７１４と同様に、判定結果を記憶する。ステップＳ２２１０では、ステップＳ７１３と同様に、判定結果の分類判定を行う。判定結果がＢであれば処理を完了し、Ｃであればステップ２７１１に進む。
【０１１７】
ステップＳ２２１１では、ステップＳ７０３と同様に、サービスマンを検索する。ステップＳ２２１２では、ステップＳ７０４と同様に、サービスマンに通知し、処理を完了する。
【０１１８】
以上説明したように、第２実施例によれば、メンテナンスサーバ１０１とクライアント機器１０２と判定用スキャナ１０４のそれぞれが担当すべき処理を単体のプログラムであるモバイルエージェントによってシンプルに記述できる。したがって、新たな画質診断方法に対応するためには、通信によって連携しあいながら協調してひとつの診断を行う複数のプログラムを開発する必要はない。さらにモバイルエージェントが自律的に移動するため、各装置にそれぞれのプログラムを予めインストールする必要もない。すなわち、このようなプログラム群の開発とインストールには設計上ならびに運用上の高度な技術と労力は必要なく、システムが新たな画質診断方法に対応するためのコストを低減することができる。
【０１１９】
さらに第２実施例の変形例について説明する。
本実施例では、前述の第２実施例の中でクライアント機器において実行される診断開始処理をモバイルエージェントによって実装する。すなわち、図１９のステップＳ１９０１ないしＳ１９０２のアルゴリズムを記述したモバイルエージェントが、あらかじめメンテナンスサーバからクライアント機器に転送される。診断開始処理を行う本モバイルエージェントはクライアント機器に常駐して図１９と同様に動作する。
【０１２０】
この際、当該モバイルエージェントのプログラミング次第で、ステップＳ１９０１に相当する診断開始判定を、任意の条件に基づいて判定させることができる。たとえば、診断開始キー４２０が使用者により押下された場合には、診断を開始すると判定するようにモバイルエージェントをプログラミングすることができる。また、定期的に診断を行うことが設定されている場合には、設定された時間あるいは期間が経過される毎に診断を開始すると判定するようにモバイルエージェントをプログラミングすることもできる。その他、図１７のプリンタ制御オブジェクトやイメージスキャナ制御オブジェクトを経由して装置の状態を監視することによって、装置の状態に基づく任意の条件に応じて、また任意のタイミングで、診断を開始するようにプログラミングすることもできる。たとえば、装置の用紙ジャムや動作エラーが所定の頻度で発生した場合に、診断を開始するようにプログラミングすることも容易である。このようにして、たとえば、画像品質メンテナンス業者と顧客の間で取り交わしたメンテナンス契約の内容に応じ、複雑な条件に基づいて画質診断を開始するように、モバイルエージェントをプログラミングすることができる。
【０１２１】
またこの際、当該モバイルエージェントのプログラミング次第で、ステップＳ１９０２に相当する診断開始通知送信を任意の送信処理としてプログラミングすることができる。たとえば、モバイルエージェントのプログラミング次第で、診断開始通知の送信を行うメンテナンスサーバを変更することができる。また、モバイルエージェントのプログラミング次第で、通知を送信するプロトコルを変更することもできる。当該モバイルエージェントそのものや、あるいは、当該モバイルエージェントが自分自身をコピー（クローン）したモバイルエージェントのインスタンスが、メンテナンスサーバに移動して診断エージェント生成処理を開始するようにプログラミングすることもできる。
【０１２２】
本実施例においてクライアント機器において常駐し診断開始処理を行うモバイルエージェントは、同じ処理を行う新たなモバイルエージェントがクライアント機器に移動してくると、新たなモバイルエージェントに置き換えられる。したがって、診断開始処理アルゴリズムの置き換えをモバイルエージェントの送信元が制御することができる。
【０１２３】
本実施例では、診断開始処理アルゴリズムを自律的に移動するモバイルエージェントによって実装したため、必要に応じていくらでも複雑な任意の条件に基づく診断開始処理を行うことができる。また、診断開始処理アルゴリズムを自律的に移動するモバイルエージェントによって実装したため、各装置に診断開始処理プログラムを予めインストールする必要がなく、置き換えも容易である。すなわち、このようなプログラムのインストールおよびバージョンアップには設計上ならびに運用上の高度な技術と労力は必要なく、システムが新たな画質診断開始方法に対応するためのコストを低減することができる。
【０１２４】
【発明の効果】
以上説明したように本発明によれば、画像形成装置は、メンテナンスの際に画質判定を行う画質判定アルゴリズムを実行するプログラムをネットワークを介して受信してプログラム格納部に格納する機能を有するため、遠隔地からでも画質判定アルゴリズムを拡張することが可能な、遠隔画質メンテナンス方法及びシステムを提供することができる。
【０１２５】
また、画質判定アルゴリズムを実行するプログラムとしてモバイルエージェントを使用する場合は、さらに画質アルゴリズムの開発とインストールのための高度な技術と労力が不要となり、提供された遠隔画質メンテナンス方法及びシステムを容易に拡張することが可能となる。
【図面の簡単な説明】
【図１】本発明に係る画質メンテナンスシステムの構成を示す図である。
【図２】本発明に係る複写機の外観を示す図である。
【図３】画像形成装置の制御部の構成を示すブロック図である。
【図４】本発明第１実施例の画質メンテナンスシステムの機能を示すブロック図である。
【図５】カウンタテーブルを示す図である。
【図６】プリント画質判定の処理を説明するためのフローチャートを示す図である。
【図７】第１回の判定結果が問題ありの場合の処理を説明するためのフローチャートを示す図である。
【図８】プリント画質を判定する処理を説明するためのフローチャートを示す図である。
【図９】印字位置及び倍率のテストの処理を説明するためのフローチャートを示す図である。
【図１０】メモリ空間上に展開されている画像データを示した概念図である。
【図１１】斜行が正しいかをテストする処理を説明するためのフローチャートを示す図である。
【図１２】原稿と格子パターンの傾き具合の分類例を示す図で、（ａ）は正常、（ｂ）は転写中に手前に斜行、（ｃ）は転写中に奥に斜行、（ｄ）は転写前に奥が先行、（ｅ）は転写前に手前が先行とそれぞれ判断される例を示す図である。
【図１３】クライアント機器と判定用スキャナが一体の場合のシステム構成を示す図である。
【図１４】クライアント機器、プリンタ部及びスキャナがそれぞれ別々の場合のシステム構成を示す図である。
【図１５】判定用スキャナがメンテナンスサーバに接続されている場合のシステム構成を示す図である。
【図１６】本発明の第２実施例の画質メンテナンスシステムの機能を示す図である。
【図１７】各部においてメモリに記憶されたデータ構造とソフトウェアの構造を示す階層図である。
【図１８】オブジェクトが符号化されたネットワークパケットの構造を示す図である。
【図１９】第２実施例におけるプリント画質の判定の起動処理を説明するためのフローチャートを示す図である。
【図２０】モバイルエージェントとして実現されたプリント画質判定の処理を説明するためのフローチャートを示す図である。
【図２１】モバイルエージェントとして実現されたプリント画質判定の処理を説明するためのフローチャートを示す図である。
【図２２】モバイルエージェントとして実現されたプリント画質の第２の判定処理を説明するためのフローチャートを示す図である。
【符号の説明】
１０１  メンテナンスサーバ
１０２  クライアント機器
１０３  プリンタ部
１０４  判定用スキャナ
１０５  表示部
１０６  ＬＡＮ
１０７  ＷＡＮ
２０１  スキャナ
２０２  操作部
２０３  トレイ
２０４  原稿フィーダ
２０５  排紙トレイ
２０６，２０７，２０８  用紙カセット
３０１  ＣＰＵ
３０２  ＲＡＭ
３０３  ＲＯＭ
３０４  ＨＤＤ
３０５  イメージバスＩ／Ｆ
３０６  操作部Ｉ／Ｆ
３０７  システムバス
３０８  ネットワークＩ／Ｆ
３０９  モデム
３１０  画像バス
３１１  ラスターイメージプロセッサ
３１２  デバイスＩ／Ｆ部
３１３  スキャナ画像処理部
３１４  プリンタ画像処理部
３１５  画像回転部
３１６  画像圧縮部
４０１  メンテナンス履歴管理部
４０２  ダウンロード用画像データ格納部
４０３  ダウンロード用テストチャートデータ格納部
４０４  機器構成管理部
４０５  ダウンロード用テストチャートデータ格納部
４０６  課金情報管理部
４０７  契約データ格納部
４０８  ダウンロード用判定プログラム格納部
４１１  ユーザＩＤ格納部
４１２  公開鍵／秘密鍵格納部
４１３  診断開始判定部
４１４  機材特定情報格納部
４１５  メンテナンス終了キー
４１６  カウンタ
４１７  画質基準格納部
４１８  テスト用画像データ・テストチャートデータ格納部
４１９  プリント条件格納部
４２０  診断開始キー
４３１  判定部
４３２  画像入力部
４３３  判定用プログラム格納部
４３４  判定結果格納部
５０１  トータル画質劣化時カウンタ
５０２  コピー画質劣化時カウンタ
５０３  プリント画質劣化時カウンタ
１６０９，１６２０，１６３４  インタプリタ部
１６１０  診断エージェントクラス格納部
【図１】
2004151885.tif 000003
【図２】
2004151885.tif 000004
【図３】
2004151885.tif 000005
【図４】
2004151885.tif 000006
【図５】
2004151885.tif 000007
【図６】
2004151885.tif 000008
【図７】
2004151885.tif 000009
【図８】
2004151885.tif 000010
【図９】
2004151885.tif 000011
【図１０】
2004151885.tif 000012
【図１１】
2004151885.tif 000013
【図１２】
2004151885.tif 000014
【図１３】
2004151885.tif 000015
【図１４】
2004151885.tif 000016
【図１５】
2004151885.tif 000017
【図１６】
2004151885.tif 000018
【図１７】
2004151885.tif 000019
【図１８】
2004151885.tif 000020
【図１９】
2004151885.tif 000021
【図２０】
2004151885.tif 000022
【図２１】
2004151885.tif 000023
【図２２】
2004151885.tif 000024