(57)【要約】【課題】使用者が印刷指示してからの実際の印刷所要時間を算出することができ、印刷中の文書が既にある場合でも、該先行の印刷処理が終わるまでの時間も考慮した印刷時間を予測すること。【解決手段】アプリケーション１０６から印刷処理を実行した際に、該印刷処理される文書の各印刷情報と該文書の印刷処理を前記アプリケーション１０６又はプリンタドライバ１０７が開始してからプリンタ２０００が印刷終了するまでの所要時間を示す第１の印刷時間とを含む印刷記録データを印刷記録データベース１０４に印刷監視プログラム１０２が登録し、該登録された各印刷記録データに基づいて学習データ作成プログラムが学習データを作成しておき、印刷処理する文書の各印刷情報と前記作成された学習データとに基づいて、予測印刷時間表示プログラムが前記文書に対する印刷処理の第１の印刷時間を予測する構成を特徴とする。【選択図】      図２
2004185048.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムから印刷処理を実行した際に、該印刷処理される文書の各印刷情報と該文書の印刷処理を前記アプリケーションプログラム又はプリンタドライバが開始してからプリンタが印刷終了するまでの所要時間を示す第１の印刷時間とを含む印刷記録データを複数記憶管理する記憶手段と、
前記記憶手段に格納される各印刷記録データに基づいて学習データを作成する学習手段と、
印刷処理する文書の各印刷情報と前記学習手段により作成された学習データとに基づいて、前記文書に対する印刷処理の第１の印刷時間を予測する予測手段と、
を有することを特徴とする印刷時間予測装置。
【請求項２】
前記予測手段は、印刷処理の進行状態が変化した時点で、該時点で取得可能な各印刷情報に基づいて、前記第１の印刷時間を再予測するものであり、
前記予測手段により予測された第１の印刷時間を予測毎に報知する報知手段を設けたことを特徴とする請求項１記載の印刷時間予測装置。
【請求項３】
記憶手段に記憶される印刷記録データは、前記文書の印刷処理をプリンタが開始してから印刷終了するまでの所要時間を示す第２の印刷時間をも含むものであり、
前記予測手段は、プリンタが印刷処理を開始した時点で、該時点で取得可能な各印刷情報に基づいて、前記第２の印刷時間を予測するものであり、
前記報知手段は、前記予測手段により予測された第２の印刷時間をも報知することを特徴とする請求項２記載の印刷時間予測装置。
【請求項４】
前記学習手段は、前記記憶手段に格納される各印刷記録データ内の各印刷情報に基づく前記予測手段の予測結果と、前記記憶手段に格納される各印刷記録データ内の第１の印刷時間，第２の印刷時間とに基づいて、前記学習データを作成することを特徴とする請求項１〜３のいずれかに記載の印刷時間予測装置。
【請求項５】
アプリケーションプログラムから印刷処理を実行した際に、該印刷処理される文書の各印刷情報と該文書の印刷処理を前記アプリケーションプログラム又はプリンタドライバが開始してからプリンタが印刷終了するまでの所要時間を示す第１の印刷時間とを含む印刷記録データを登録する登録工程と、
該登録された各印刷記録データに基づいて学習データを作成する学習工程と、
印刷処理する文書の各印刷情報と前記作成された学習データとに基づいて、前記文書に対する印刷処理の第１の印刷時間を予測する予測工程と、
を有することを特徴とする印刷時間予測方法。
【請求項６】
請求項５に記載された印刷時間予測方法を実行することを特徴とするプログラム。
【請求項７】
請求項５に記載された印刷時間予測方法を実行することを特徴とするプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションプログラムから印刷処理される文書の印刷所要時間を予測する印刷時間予測装置および印刷時間予測方法およびプログラムおよび記録媒体に関するものである。
【０００２】
【従来の技術】
従来の印刷時間の予測方法は、印刷データの量のみで完了時間を予測するものや、印刷データを解析しコマンド毎の所要時間を積算して予測するものや、実際の１ページ分の印刷時間を計測し、該計測結果にページ数を掛けて全体の印刷所要時間を算出するものであった。
【０００３】
【発明が解決しようとする課題】
図１６は、従来の印刷時間予測の範囲を示す図である。
【０００４】
図に示すように、上記従来の印刷時間の予測方法は、全て「プリンタの印刷（動作）時間」１６０４に相当するものであり、「アプリケーションでの印刷時間」１６０１，「先行印刷文書があった場合の待ち時間」１６０２，「プリンタ転送時間」１６０３等は、無視されていた。
【０００５】
しかしながら、通常、ユーザが感じる印刷時間とは、図中１６００に示すように、アプリケーションで印刷開始されてからプリンタでの印刷が終了するまでの時間に相当し、従来の印刷予測結果とユーザが体感する印刷時間とにずれがあり、実用的でないという問題点があった。
【０００６】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、アプリケーションプログラムから印刷処理を実行した際に、該印刷処理される文書の各印刷情報と該文書の印刷処理を前記アプリケーションプログラム又はプリンタドライバが開始してからプリンタが印刷終了するまでの所要時間を示す第１の印刷時間とを含む印刷記録データを登録し、該登録された各印刷記録データに基づいて学習データを作成しておき、印刷処理する文書の各印刷情報と前記作成された学習データとに基づいて、前記文書に対する印刷処理の第１の印刷時間を予測することにより、使用者が印刷指示してからの実際の印刷所要時間を算出することができ、印刷中の文書が既にある場合でも、該先行の印刷処理が終わるまでの時間やプリンタの経年変化をも考慮した印刷時間を予測することができる印刷時間予測装置および印刷時間予測方法およびプログラムおよび記録媒体を提供することである。
【０００７】
【課題を解決するための手段】
本発明に係る第１の発明は、アプリケーションプログラム（図２に示すアプリケーション１０６）から印刷処理を実行した際に、該印刷処理される文書の各印刷情報（図３に示す印刷情報２０１〜２１２）と該文書の印刷処理を前記アプリケーションプログラム又はプリンタドライバ（図２に示すプリンタドライバ１０７）が開始してからプリンタが印刷終了するまでの所要時間を示す第１の印刷時間（図３に示す印刷時間３０１）とを含む印刷記録データを複数記憶管理する記憶手段（図２に示す印刷記録データベース１０４）と、前記記憶手段に格納される各印刷記録データに基づいて学習データを作成する学習手段（図２に示す学習データ作成プログラム１０３）と、印刷処理する文書の各印刷情報と前記学習手段により作成された学習データとに基づいて、前記文書に対する印刷処理の第１の印刷時間を予測する予測手段（図２に示す予測印刷時間表示プログラム１０１）とを有することを特徴とする。
【０００８】
本発明に係る第２の発明は、前記予測手段は、印刷処理の進行状態が変化した時点（アプリケーション印刷開始時点，プリンタドライバ印刷終了時点）で、該時点で取得可能な各印刷情報に基づいて、前記第１の印刷時間を再予測するものであり、前記予測手段により予測された第１の印刷時間を予測毎に報知する報知手段（図１に示す予測印刷時間表示プログラム１０１）を設けたことを特徴とする。
【０００９】
本発明に係る第３の発明は、記憶手段に記憶される印刷記録データは、前記文書の印刷処理をプリンタが開始してから印刷終了するまでの所要時間を示す第２の印刷時間（図３に示す印刷時間３０２）をも含むものであり、前記予測手段は、プリンタが印刷処理を開始した時点で、該時点で取得可能な各印刷情報に基づいて、前記第２の印刷時間を予測するものであり、前記報知手段は、前記予測手段により予測された第２の印刷時間をも報知することを特徴とする。
【００１０】
本発明に係る第４の発明は、前記学習手段は、前記記憶手段に格納される各印刷記録データ内の各印刷情報に基づく前記予測手段の予測結果と、前記記憶手段に格納される各印刷記録データ内の第１の印刷時間，第２の印刷時間とに基づいて、前記学習データを作成することを特徴とする。
【００１１】
本発明に係る第５の発明は、アプリケーションプログラムから印刷処理を実行した際に、該印刷処理される文書の各印刷情報と該文書の印刷処理を前記アプリケーションプログラム又はプリンタドライバが開始してからプリンタが印刷終了するまでの所要時間を示す第１の印刷時間とを含む印刷記録データを登録する登録工程（図７のステップＳ２０１〜Ｓ２０５）と、該登録された各印刷記録データに基づいて学習データを作成する学習工程（図９のステップＳ３０１〜Ｓ３０３）と、印刷処理する文書の各印刷情報と前記作成された学習データとに基づいて、前記文書に対する印刷処理の第１の印刷時間を予測する予測工程（図５のステップＳ１０１〜１０３）とを有することを特徴とする。
【００１２】
本発明に係る第６の発明は、請求項５に記載された印刷時間予測方法を実行するプログラムであることを特徴とする。
【００１３】
本発明に係る第７の発明は、請求項５に記載された印刷時間予測方法を実行するためのプログラムを記録媒体にコンピュータが読み取り可能に記憶させたことを特徴とする。
【００１４】
【発明の実施の形態】
まず、本発明の印刷時間予測装置を適用可能な情報処理装置の構成について説明する。
【００１５】
図１は、本発明の一実施形態を示す印刷時間予測装置を適用可能な情報処理装置の構成を示すブロック図である。
【００１６】
図において、１０００は本発明の印刷時間予測装置を適用可能な情報処理装置である。情報処理装置１０００において、１はＣＰＵで、ＲＯＭ３のプログラム用ＲＯＭに記憶されたプログラムに基づいてシステムバス４に接続された各デバイスを制御し、情報処理装置１０００全体を統括制御する。
【００１７】
また、このＲＯＭ３のフォント用ＲＯＭにはフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭには各種データを記憶する。２はＲＡＭで、ＣＰＵ１の主メモリ，ワークエリア等として機能する。
【００１８】
５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）９や図示しないポインティングデバイス、例えばマウスからの入力を制御する。６はディスプレイコントローラ（ＤＣ）で、ディスプレイ１０の表示を制御する。なお、ディスプレイはＣＲＴであってもＬＣＤ等のその他の形式の表示装置であってもよい。
【００１９】
７はメモリコントローラ（ＭＣ）で、ハードディスク（ＨＤ）１１，図示しないフレキシブルディスク（ＦＤ），ＣＤ−ＲＯＭ等とのアクセスを制御する。８はネットワークインタフェース（ＮＷＩ／Ｆ）で、ネットワーク３０００を介してプリンタ２０００との通信を制御する。
【００２０】
図２は、本発明の一実施形態を示す印刷時間予測装置の構成を示すブロック図である。
【００２１】
図において、１００は印刷時間予測装置で、予測印刷時間表示プログラム１０１，印刷監視プログラム１０２，学習データ作成プログラム１０３，印刷記憶データベース１０４，学習データ１０５（１０５ａ，１０５ｂ）を記憶するメモリ等から構成される。
【００２２】
また、プリンタドライバ１０７は、印刷監視プログラム１０２に印刷開始，印刷終了を通知する機能と、プリンタ２０００に対して印刷開始、終了通知の発行依頼をする機能を有する。
【００２３】
なお、印刷データは通常、アプリケーション１０６からプリンタドライバ１０７，スプーラ１０８を通りプリンタ２０００へと流れていく。
【００２４】
また、予測印刷時間表示プログラム１０１，印刷監視プログラム１０２，学習データ作成プログラム１０３，アプリケーション１０６，プリンタドライバ１０７，スプーラ１０８は、図１に示した情報処理装置１０１内のＨＤ１１に格納されたプログラムに基づいてＣＰＵ１により実行されるものとする。
【００２５】
なお、予測印刷時間表示プログラム１０１は後述する予測エンジンを含み、学習データ作成プログラム１０３は後述する学習エンジンを含むものである。
【００２６】
また、印刷記録データベース１０４は、図１に示した情報処理装置１０００内のＨＤ１１に実現される。
【００２７】
さらに、１０５ａは、後述する「全印刷所要時間学習データ」であり、１０５ｂは、後述する「プリンタの印刷時間学習データ」であり、図１に示した情報処理装置１０００内のＨＤ１１又はＲＡＭ２内に記憶されるものとする。
【００２８】
図３は、図２に示した印刷記録データベース１０４の一例を示す図である。
【００２９】
図に示すように、印刷記録データベース１０４は、印刷情報群２００と印刷時間情報群３００から構成される。
【００３０】
印刷情報群２００において、２０１は印刷処理を行う印刷アプリケーション名を示す印刷情報であり、２０２は印刷処理を行うプリンタドライバ名を示す印刷情報であり、２０３はは印刷処理を行う印刷ポートを示す印刷情報である。
【００３１】
２０４は印刷処理を行う際のＣＰＵ使用率を示す印刷情報であり、２０５は印刷処理を行う際の印刷待ちジョブの数を示す印刷情報であり、２０６は印刷処理が片面印刷か両面印刷かを示す印刷情報である。
【００３２】
２０７は印刷処理を行う印刷データのサイズを示す印刷情報であり、２０８は印刷処理を行うプリンタ名を示す印刷情報であり、２０９は印刷処理を行う文書のページ数を示す印刷情報である。
【００３３】
また、２１０はアプリケーション又はプリンタドライバにおける印刷開始時刻を示す印刷情報であり、２１１はプリンタドライバにおける印刷処理の終了時刻を示す印刷情報であり、２１２はプリンタにおける印刷処理の開始時刻を示す印刷情報である。
【００３４】
なお、印刷情報２００は、上記印刷情報２０１〜２１２の他にページレイアウトの情報，カラー印刷か白黒印刷かを示す情報，プリンタのウォームアップ時間を示す情報等のその他の情報を含むように構成してもよい。
【００３５】
さらに、印刷時間群３００において、３０１は、スプール印刷待ちを含めた「全印刷所要時間」を示す情報でありアプリケーションで印刷開始した時点からプリンタで終了ページが印刷されるまでの時間を示す印刷時間である。
【００３６】
さらに、３０２は、「プリンタの印刷時間」を示す情報でありプリンタが印刷データを受信開始した時点からプリンタで最終ページの印刷が終了するまでの時間を示す印刷時間である。
【００３７】
図４は、図２に示した印刷時間予測装置１００，アプリケーション１０６，プリンタドライバ１０７，プリンタ２０００におけるシーケンスを示す図である。なお、（１）〜（１２）は各シーケンスを示す。
【００３８】
まず、図中、（１）に示すように、アプリケーション１０６は使用者より印刷の指示がされたら、印刷アプリケーション名，プリンタドライバ名，印刷ポート，ＣＰＵ使用率，印刷待ちジョブ個数，片面／両面，プリンタ名，ページ数等の取得できる印刷情報２０１〜２０６，２０８，２０９を予測印刷時間表示プログラム１０１と、印刷監視プログラム１０２に通知する。
【００３９】
なお、上記のように印刷情報を通知する機能に対応していないアプリケーションからの印刷の場合は、プリンタドライバ１０７が、上記印刷情報２０１〜２０６，２０８，２０９を予測印刷時間表示プログラム１０１と、印刷監視プログラム１０２に通知する。
【００４０】
そして、（２）に示すように、予測印刷時間表示プログラム１０１は、（１）で受け取った印刷情報２０１〜２０６，２０８，２０９と全印刷所要時間学習データ１０５ａに基づいて、後述する予測エンジンを使って、全印刷所要時間を算出（予想）し、画面（ディスプレイ１０）に表示する。
【００４１】
また、（３）に示すように、印刷監視プログラム１０２は、アプリケーション１０６又はプリンタドライバ１０７から受け取った印刷情報２０１〜２０６，２０８，２０９と現在の時刻を印刷開始時刻（印刷情報２１０）として印刷記録データベース１０４に保存する。
【００４２】
次に、（４）に示すように、プリンタドライバ１０７は、印刷が終了したら、予測印刷時間表示プログラム１０１と、印刷監視プログラム１０２に印刷データのサイズ２０７等のアプリケーション１０６で取得できなかった印刷データのサイズ（印刷情報２０７）を通知する。
【００４３】
そして、（５）に示すように、予測印刷時間表示プログラム１０１は、（４）で受け取った印刷情報２０１〜２０９と全印刷所要時間学習データ１０５ａを元に、後述する予測エンジンを使い全印刷所要時間を再度算出（予想）し、画面（ディスプレイ１０）に表示する。
【００４４】
次に、（６）に示すように、印刷監視プログラム１０２は、（４）で受け取った印刷情報２０７と現在の時刻をドライバ終了時刻（印刷情報２１１）として印刷記録データベース１０４に保存する。
【００４５】
次に、プリンタ２０００は印刷データを受信したら、（７）に示すように、予測印刷時間表示プログラム１０１と、印刷監視プログラム１０２に通知する。
【００４６】
そして、（８）に示すように、予測印刷時間表示プログラム１０１は、印刷情報２０１〜２０４，２０６〜２０９（アプリケーション１０６とプリンタドライバ１０７から通知された情報）とプリンタの印刷時間学習データ１０５ｂに基づいて、後述する予測エンジンを使いプリンタの印刷時間を算出（予想）し、画面（ディスプレイ１０）に表示する。
【００４７】
また、（９）に示すように、印刷監視プログラム１０２は、現在の時刻をプリンタ開始時刻（印刷情報２１２）として印刷記録データベース１０４に保存する。
【００４８】
そして、（１０）に示すように、プリンタ２０００は、印刷を終了したら印刷監視プログラム１０２に通知する。
【００４９】
この通知を受けて、（１１）に示すように、印刷監視プログラム１０２は、印刷情報２１０，２１１と現在の時刻に基づいて、実際の「全印刷所要時間」，「プリンタの印刷時間」を算出し、印刷時間３０１，３０２として印刷記録データベース１０４に保存する。
【００５０】
また、学習データ作成プログラム１０３は、（１２）に示すように、印刷記録データベース１０４を定期的に参照して、後述する学習処理を行い、全印刷所要時間学習データ１０５ａ，プリンタの印刷時間学習データ１０５ｂの作成，保存を行う。なお、この学習処理は、印刷情報２００を入力信号とし、実際にかかった印刷時間３００を教師信号として学習処理するものとする。
【００５１】
以下、図５，図６を参照して、図２に示した予測印刷時間表示プログラム１０１の動作について説明する。
【００５２】
図５は、本発明の印刷時間予測装置における第１の制御処理手順の一例を示すフローチャートであり、図２に示した予測印刷時間表示プログラム１０１の動作に対応する。なお、このフローチャートの処理は、図１に示したＨＤ１１又はその他の記録媒体に格納されるプログラムに基づいてＣＰＵ１により実行されるものとする。また、このフローチャートの処理は、アプリケーション印刷開始時，プリンタドライバ印刷終了時，プリンタ印刷開始時等にそれぞれ実行されるものとする（なお、処理が進むほど情報が揃うため予測の精度があがる）。さらに、Ｓ１０１〜Ｓ１０５は各ステップを示す。
【００５３】
また、図６は、図５に示す予測印刷時間表示プログラム１０１の入力信号と出力信号を示す図である。
【００５４】
なお、図６（ａ）は種類がアプリケーション印刷開始の通知時における予測エンジンの入力信号と出力信号に対応し、図６（ｂ）はプリンタドライバ印刷終了の通知時における予測エンジンの入力信号と出力信号に対応し、図６（ｃ）はプリンタ印刷開始の通知時における予測エンジンの入力信号と出力信号に対応する。
【００５５】
以下、図５を用いて予測印刷時間表示プログラム１０１の動作について説明する。
【００５６】
まず、予測印刷時間表示プログラム１０１に対して何らかの通知があると、ステップＳ１０１において、通知の種類を判定し、通知の種類がアプリケーション印刷開始の通知であると判断した場合には、ステップＳ１０２において、アプリケーション１０６から通知された印刷アプリケーション名，プリンタドライバ名，印刷ポート，ＣＰＵ使用率，印刷待ちジョブ個数，片面／両面，プリンタ名，ページ数（図６（ａ）に示す印刷情報２０１〜２０６，２０８，２０９等）を受け取り、該受け取った印刷情報を後述する予測エンジンの入力信号として、全印刷所要時間（図６（ａ）に示す印刷時間３０１）を予測し（予測エンジンの出力信号）、ステップＳ１０５に進む。
【００５７】
また、ステップＳ１０１において、通知の種類がプリンタドライバ印刷終了の通知であると判断した場合には、ステップＳ１０３において、プリンタドライバ１０７から通知された印刷データのサイズを受け取り、該受け取った印刷データのサイズとアプリケーション印刷開始時に受け取った印刷情報（図６（ｂ）に示す印刷情報２０１〜２０９）を後述する予測エンジンの入力信号として、全印刷所要時間（図６（ｂ）に示す印刷時間３０１）を予測し（予測エンジンの出力信号）、ステップＳ１０５に進む。
【００５８】
また、ステップＳ１０１において、通知の種類がプリンタ印刷開始の通知であると判断した場合には、ステップＳ１０４において、アプリケーション印刷開始時とプリンタドライバ終了時に受け取った印刷情報（図６（ｃ）に示す印刷情報２０１〜２０４，２０６〜２０９）を後述する予測エンジンの入力信号として、プリンタの印刷時間（図６（ｃ）に示す印刷時間３０２）を予測し（予測エンジンの出力信号）、ステップＳ１０５に進む。
【００５９】
ステップＳ１０５では、予測した印刷時間（又は予測時間から算出した残りの印刷時間等でもよい）を図１に示したディスプレイ１０に表示し、処理を終了する。
【００６０】
以下、図７，図８を参照して、図２に示した印刷監視プログラム１０２の動作について説明する。
【００６１】
図７は、本発明の印刷時間予測装置における第２の制御処理手順の一例を示すフローチャートであり、図２に示した印刷監視プログラム１０２の動作に対応する。なお、このフローチャートの処理は、図１に示したＨＤ１１又はその他の記録媒体に格納されるプログラムに基づいてＣＰＵ１により実行されるものとする。また、このフローチャートの処理は、アプリケーション印刷開始時，プリンタドライバ印刷終了時，プリンタ印刷開始時，プリンタ印刷終了時等にそれぞれ実行されるものとする。さらに、Ｓ２０１〜Ｓ２０５は各ステップを示す。
【００６２】
また、図８は、図７に示す印刷監視プログラム１０２が印刷記憶データベース１０４に設定（登録）するデータを示す図である。
【００６３】
なお、図８（ａ）は種類がアプリケーション印刷開始の通知時に設定するデータに対応し、図８（ｂ）はプリンタドライバ印刷終了の通知時に設定するデータに対応し、図８（ｃ）はプリンタ印刷開始の通知時に設定データに対応し、図８（ｄ）はプリンタ印刷終了時に設定するデータに対応する。
【００６４】
以下、図７を用いて印刷監視プログラム１０２の動作について説明する。
【００６５】
まず、印刷監視プログラム１０２に対して何らかの通知があると、ステップＳ２０１において、通知の種類を判定し、通知の種類がアプリケーション印刷開始の通知であると判断した場合には、ステップＳ２０２において、アプリケーション１０６から通知された印刷アプリケーション名，プリンタドライバ名，印刷ポート，ＣＰＵ使用率，印刷待ちジョブ個数，片面／両面，プリンタ名，ページ数，印刷開始時刻等（図８（ａ）に示す印刷情報２０１〜２０６，２０８〜２１０）を受け取り、該受け取った印刷情報（図８（ａ）に示す印刷情報２０１〜２０６，２０８〜２１０）と現在の時刻を印刷開始時刻（印刷情報２１０）として印刷記録データベース１０４に設定し、処理を終了する。
【００６６】
また、ステップＳ２０１において、通知の種類がプリンタドライバ印刷終了の通知であると判断した場合には、ステップＳ２０３において、プリンタドライバ１０７から通知された印刷データのサイズ（図８（ｂ）に示す印刷情報２０７）を受け取り、該受け取った印刷データのサイズ（図８（ｂ）に示す印刷情報２０７）と現在の時刻をドライバ終了時刻（図８（ｂ）に示す印刷情報２１１）として印刷記録データベース１０４に設定し、処理を終了する。
【００６７】
また、ステップＳ２０１において、通知の種類がプリンタ印刷開始の通知であると判断した場合には、ステップＳ２０４において、現在の時刻をプリンタ開始時刻（印刷情報２１２）として印刷記録データベース１０４に設定し、処理を終了する。
【００６８】
また、ステップＳ２０１において、通知の種類がプリンタ印刷終了の通知であると判断した場合には、ステップＳ２０５において、印刷記録データベース１０４内の印刷情報２１０，２１１と現在の時刻に基づいて、実際の「全印刷所要時間」，「プリンタの印刷時間」を算出し、印刷時間３０１，３０２として印刷記録データベース１０４に設定し、処理を終了する。
【００６９】
以下、図９，図１０を参照して、図２に示した学習データ作成プログラム１０３の動作について説明する。
【００７０】
図９は、本発明の印刷時間予測装置における第３の制御処理手順の一例を示すフローチャートであり、図２に示した学習データ作成プログラム１０３の動作に対応する。なお、このフローチャートの処理は、図１に示したＨＤ１１又はその他の記録媒体に格納されるプログラムに基づいてＣＰＵ１により実行されるものとする。また、このフローチャートの処理は、所定の間隔で定期的に実行されるものとする。さらに、Ｓ３０１〜Ｓ３０３はステップを示す。
【００７１】
また、図１０は、図９に示す学習データ作成プログラム１０３の入力信号と教師信号を示す図である。
【００７２】
なお、図１０（ａ）は全印刷所要時間（印刷時間３０１）を学習する際の入力信号と教師信号に対応し、図１０（ｂ）はプリンタの印刷時間（印刷時間３０２）を学習する際の入力信号と教師信号に対応する。
【００７３】
以下、図９を用いて学習データ作成プログラム１０３の動作について説明する。
【００７４】
学習データ作成プログラム１０３が起動されると、ステップＳ３０１において、印刷記録データベース１０４から印刷アプリケーション名，プリンタドライバ名，印刷ポート，ＣＰＵ使用率，印刷待ちジョブ個数，片面／両面，印刷データのサイズ，プリンタ名，ページ数等（図１０に示す印刷情報２０１〜２０９）と全印刷所要時間，プリンタの印刷時間（図１０に示す印刷時間３０１，印刷時間３０２）を読み出す。
【００７５】
次に、ステップＳ３０２において、図１０（ａ）に示すように、印刷アプリケーション名，プリンタドライバ名，印刷ポート，ＣＰＵ使用率，印刷待ちジョブ，片面／両面，印刷データのサイズ，プリンタ名，ページ数等（印刷情報２０１〜２０９）を後述する予測エンジンの入力信号とし、全印刷所要時間（印刷時間３０１）を教師信号として、全印刷所要時間の予測を後述する学習エンジンに学習させ、全印刷所要時間学習データ１０５ａを作成する。
【００７６】
また、図１０（ｂ）に示すように、印刷アプリケーション名，プリンタドライバ名，印刷ポート，ＣＰＵ使用率，片面／両面，印刷データのサイズ，プリンタ名，ページ数等（印刷情報２０１〜２０４，２０６〜２０９）を後述する予測エンジンの入力信号とし、プリンタの印刷時間（印刷時間３０２）を教師信号として、プリンタの印刷時間の予測を後述する学習エンジンに学習させ、プリンタの印刷時間学習データ１０５ｂを作成する。
【００７７】
次に、ステップＳ３０３において、作成された学習データ１０５（全印刷所要時間学習データ１０５ａ，プリンタの印刷時間学習データ１０５ｂ）をＨＤ１１又はＲＡＭ２内の学習データ格納エリアに格納（保存）し、処理を終了する。
【００７８】
以下、上述した予測エンジンについて説明する。
【００７９】
なお、本実施形態では、予測エンジンの一例としてニューラルネットを用いた予測エンジンについて説明するが、上述した入力信号と学習データから印刷時間を予測可能な予測エンジンであれば、ニューラルネットを用いたものでなくとも他の予測エンジンであっても本発明は適用可能である。
【００８０】
例えば、遺伝アルゴリズムを用いた予測エンジン、データマイニングの技法を用いた予測エンジン、回帰分析を用いた予測エンジンを用いる構成であってもよい。
【００８１】
また、本実施形態では、ニューラルネットの一例として、階層型ニューラルネットと該階層型ニューラルネットに対する学習法の一例として誤差逆伝播法（バックプロパゲーション）を用いる場合について説明するが、本発明に適用可能なニューラルネットのネットワーク形態と学習法はこれらに限られるものではない。
【００８２】
まず、本実施形態におけるニューラルネットの説明に先立ち、階層型ニューラルネットの概要を説明する。ニューラルネットは神経回路網と訳されるように、人間の神経ネットワークを模倣した情報処理システムであり、神経細胞に相当する工学的なニューロンのモデルをユニットと呼ぶ。
【００８３】
図１１は、ニューラルネットのニューロンモデル（ユニット）の構成を示す図である。
【００８４】
図に示すように、ユニットには通常、多入力、１出力の素子が用いられている。信号は一方向にだけ伝わり、ある重み（結合荷重：ｗ１，…，ｗｊ，…，ｗＮ）をつけられて、ユニットに入力される。この重みによって、ユニット間の結合の強さが表される。ユニット間の結合の強さは学習によって変化させることができる。重みをつけられたそれぞれの入力値（ｗ１×ｘ１＋…＋ｗｊ×ｘｊ＋…＋ｗＮ×ｘＮ）の総和から閾値θを引いた値Ｘが、応答関数ｆ（Ｘ）による変形を受けた後、出力される。ユニットの出力値ｙは、以下の（数１）に示すようになる。
【００８５】
【数１】
2004185048.tif 000003
ユニットへ入力されたＸは、ユニットの応答特性ｆ（Ｘ）に従って変形されるが、応答関数としてよく用いられるものが、図１２に示すシグモイド関数である。
【００８６】
図１２は、シグモイド関数を示す図である。
【００８７】
図１３は、階層型ニューラルネットの一例を示す図である。
【００８８】
図１３に示すように、階層型ニューラルネットでは、各ユニットＵ（図中の「○」印）を入力層Ｌａ、１層または複数層により構成される中間層Ｌｂ及び出力層Ｌｃに階層化している。
【００８９】
ユニットＵ間の接続は、各層Ｌａ，Ｌｂ，Ｌｃ間での接続であって、同一層内での接続はなく、また、信号は入力から出力へ一方向にしか伝わらない。
【００９０】
通常、入力層ＬａのユニットＵはシグモイド特性や閾値をもたず、入力値がそのまま出力に表れる。ニューラルネットの出力値は次に示す（数２）のように非常に簡単な形で表される。
【００９１】
【数２】
2004185048.tif 000004
前記階層型ニューラルネットワークの学習アルゴリズム（学習エンジン）としては、教師信号と出力信号の２乗誤差が最小となるように、最急降下法を用いて中間層Ｌｂと出力層Ｌｃとの間の結合荷重及び閾値、入力層Ｌａと中間層Ｌｂとの間の結合荷重及び閾値を順次変化させていく誤差逆伝播学習則（バックプロパゲーション）がよく用いられており、本実施形態でもこれを用いることができる。
【００９２】
図１４は、本発明の印刷時間予測装置の予測エンジンに使用可能なニューラルネットの一例を示す図である。
【００９３】
以下、図１４を用いて、図５に示した予測印刷時間表示プログラムを説明する。
【００９４】
図５のステップＳ１０２，Ｓ１０３に示した全印刷所要時間の予測工程では、それぞれ図６（ａ），（ｂ）に示した印刷情報を入力層Ｌａの入力信号とし、全印刷所要時間学習データ１０５ａをニューラルネットの結合荷重Ｗｉｊ，Ｖｊとして、全印刷所要時間を予測する。
【００９５】
また、図５のステップＳ１０４に示したプリンタの印刷時間の予測工程では、図６（ｃ）に示した印刷情報を入力層Ｌａの入力信号とし、プリンタの印刷時間学習データをニューラルネットの結合荷重Ｗｉｊ，Ｖｊとして、プリンタの印刷時間を予測する。
【００９６】
次に、図１４を用いて、図９に示した学習データ作成プログラムを説明する。
【００９７】
図９のステップＳ３０２に示した学習工程では、まず、印刷記録データベース１０４から読み出した印刷情報（図１０（ａ））を入力層Ｌａの入力信号として全印刷所要時間を予測（出力層Ｌｃの出力信号）し、印刷記録データベース１０４から読み出した印刷時間（図１０（ａ））を教師信号とし、この教師信号と前記ニューラルネットの出力信号との２乗誤差が最小となるように、最急降下法を用いて中間層Ｌｂと出力層Ｌｃとの間の結合荷重Ｖｊ及び閾値、入力層Ｌａと中間層Ｌｂとの間の結合荷重Ｗｉｊ及び閾値を順次変化させ、結合荷重Ｗｉｊ，Ｖｊ（全印刷所要時間学習データ１０５ａ）を作成する（誤差逆伝播学習アルゴリズム）。
【００９８】
また、印刷記録データベースから読み出した印刷情報（図１０（ｂ））を入力層Ｌａの入力信号としてプリンタの印刷時間を予測（出力層Ｌｃの出力信号）し、印刷記録データベース１０４から読み出した印刷時間（図１０（ｂ））を教師信号とし、この教師信号と前記ニューラルネットの出力信号との２乗誤差が最小となるように、最急降下法を用いて中間層Ｌｂと出力層Ｌｃとの間の結合荷重Ｖｊ及び閾値、入力層Ｌａと中間層Ｌｂとの間の結合荷重Ｗｉｊ及び閾値を順次変化させ、結合荷重Ｗｉｊ，Ｖｊ（プリンタの印刷時間学習データ１０５ｂ）を作成する（誤差逆伝播学習アルゴリズム）。
【００９９】
最後に、図９のステップＳ３０３で、全印刷所要時間学習データ１０５ａ，プリンタの印刷時間学習データ１０５ｂをそれぞれ保存し、学習データ作成プログラムを終了する。
【０１００】
以上示したように、ユーザがアプリケーションから印刷を指示してから（使用者が印刷ボタンを押してから）プリンタが印刷終了するまでの実際の印刷所要時間（プリンタの動作時間だけではない）を算出し、ユーザに通知することができる。
【０１０１】
また、印刷中の文書が先に（既に）ある場合でも、その印刷が終わるまでの時間も考慮した印刷所要時間を算出することができる。
【０１０２】
さらに、印刷時には、印刷監視プログラムが常に、印刷情報や印刷所要時間の収集を行い、そのデータを使って学習し、予測するので、精度の高い予測を行うことができる。
【０１０３】
また、印刷開始時でも、予測した印刷終了予測時間を画面に表示することができ、さらに、印刷途中、印刷の進行状態が変わった時点で再予測して、より精度の高い印刷時間を表示することができる。
【０１０４】
また、印刷情報を予測印刷時間表示プログラムに通知する機能に対応していない一般のアプリケーションからの印刷でも、印刷データがプリンタドライバに来た時点で、プリンタドライバが印刷情報を予測印刷時間表示プログラムに通知することで、プリンタドライバが印刷データを受信した時点を入力印刷開始と判断し、印刷所要時間を予測することができる。なお、この場合、ユーザが印刷指示した時間ではなく、プリンタドライバが印刷データを受信した時点をからプリンタでの印刷が終了するまでを印刷所要時間とする。
【０１０５】
さらに、予測エンジンにニューラルネットワークを使用する場合、印刷所要時間は上記（数２）に示したように非常に簡単な数式で表せるため、印刷所要時間の推測に、複雑な計算や検索等を行う必要がない。よって、装置に負荷をかけないため、予測処理によりプリント処理に影響を与えてしまうこともなく、学習処理によりプリンタの経年変化をも考慮しながら印刷時間を最適に予測することができる。
【０１０６】
また、予測するためのデータが少ない場合でも、ある程度近い値を求めることもできる。
【０１０７】
従って、ユーザは、印刷の終了時間がわかるため、印刷が終了しているかプリンタを確認する必要がなくなる。
【０１０８】
また、複数のプリンタがある場合、どのプリンタが一番早く印刷終了するかがわかる。
【０１０９】
さらに、印刷時間が少ないプリンタを選択することが多くなるため、プリンタを効率よく使用することができる。
【０１１０】
また、本発明の印刷時間予測装置は、プリントサーバ上等で動作させることも可能であり、全てのユーザで使用することができる。
【０１１１】
さらに、アプリケーションやプリンタドライバから、印刷予測／表示のみを行う（実際に印刷は行わない）ことも可能に構成してもよく、印刷していない時でも、印刷時間の予測が可能であるので、ユーザからの一つの指示により、その時点で、使用可能な全てのプリンタに対する印刷時間の予測，表示を実行するように構成し、印刷前に最適なプリンタを選択して印刷可能に構成してもよい。
【０１１２】
また、本発明の印刷時間予測装置を総合印刷システム（印刷管理ソフト全体）へ組み込むようにしてもよい。
【０１１３】
さらに、本発明の印刷時間予測装置は、出力センタ（プリンタなど出力に関係する企業内の部門や会社に対応し、高速プリンタを何台も使用して大量印刷を業務としている部門や会社等）等の大量データの印刷での終了時間予測が可能であり、効率のよいプリンタで印刷させることができる。
【０１１４】
また、上記各実施形態（応用例）とを組み合わせた構成も本発明に含まれるものである。
【０１１５】
以下、図１５に示すメモリマップを参照して本発明に係る情報処理装置（印刷時間予測装置）で読み出し可能なデータ処理プログラムの構成について説明する。
【０１１６】
図１５は、本発明に係る情報処理装置（印刷時間予測装置）で読み出し可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【０１１７】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１１８】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１１９】
本実施形態における図５，図７，図９に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１２０】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１２１】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１２２】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１２３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２４】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２５】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１２６】
さらに、本発明を達成するためのソフトウエアによって表されるプログラムをネットワーク上のデータベースから通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１２７】
【発明の効果】
以上説明したように、本発明によれば、アプリケーションプログラムから印刷処理を実行した際に、該印刷処理される文書の各印刷情報と該文書の印刷処理を前記アプリケーションプログラム又はプリンタドライバが開始してからプリンタが印刷終了するまでの所要時間を示す第１の印刷時間とを含む印刷記録データを登録し、該登録された各印刷記録データに基づいて学習データを作成しておき、印刷処理する文書の各印刷情報と前記作成された学習データとに基づいて、前記文書に対する印刷処理の第１の印刷時間を予測することにより、使用者が印刷指示してからの実際の印刷所要時間を算出することができ、印刷中の文書が既にある場合でも、該先行の印刷処理が終わるまでの時間やプリンタの経年変化をも考慮した印刷時間を予測することができる等の効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施形態を示す印刷時間予測装置を適用可能な情報処理装置の構成を示すブロック図である。
【図２】本発明の一実施形態を示す印刷時間予測装置の構成を示すブロック図である。
【図３】図２に示した印刷記録データベースの一例を示す図である。
【図４】図２に示した印刷時間予測装置，アプリケーション，プリンタドライバ，プリンタにおけるシーケンスを示す図である。
【図５】本発明の印刷時間予測装置における第１の制御処理手順の一例を示すフローチャートである。
【図６】図５に示す予測印刷時間表示プログラムの入力信号と出力信号を示す図である。
【図７】本発明の印刷時間予測装置における第２の制御処理手順の一例を示すフローチャートである。
【図８】図７に示す印刷監視プログラムが印刷記憶データベースに設定（登録）するデータを示す図である。
【図９】本発明の印刷時間予測装置における第３の制御処理手順の一例を示すフローチャートである。
【図１０】図９に示す学習データ作成プログラムの入力信号と教師信号を示す図である。
【図１１】ニューラルネットのニューロンモデル（ユニット）の構成を示す図である。
【図１２】シグモイド関数を示す図である。
【図１３】階層型ニューラルネットの一例を示す図である。
【図１４】本発明の印刷時間予測装置の予測エンジンに使用可能なニューラルネットの一例を示す図である。
【図１５】本発明に係る情報処理装置（印刷時間予測装置）で読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【図１６】従来の印刷時間予測の範囲を示す図である。
【符号の説明】
１００  印刷時間予測装置
１０１  予測印刷時間表示プログラム
１０２  印刷監視プログラム
１０３  学習プログラム
１０４  印刷記録データベース
１０５ａ，１０５ｂ  学習データ
１０６  アプリケーション
１０７  プリンタドライバ
１０８  スプーラ
２０００  プリンタ
【図１】
2004185048.tif 000005
【図２】
2004185048.tif 000006
【図３】
2004185048.tif 000007
【図４】
2004185048.tif 000008
【図５】
2004185048.tif 000009
【図６】
2004185048.tif 000010
【図７】
2004185048.tif 000011
【図８】
2004185048.tif 000012
【図９】
2004185048.tif 000013
【図１０】
2004185048.tif 000014
【図１１】
2004185048.tif 000015
【図１２】
2004185048.tif 000016
【図１３】
2004185048.tif 000017
【図１４】
2004185048.tif 000018
【図１５】
2004185048.tif 000019
【図１６】
2004185048.tif 000020