(57)【要約】【課題】印刷装置の印刷リソースを最大限に活用して印刷ジョブに対する処理効率を向上させ、１の印刷ジョブによる印刷装置の占有時間を短くするように制御できる方法を提供する。【解決手段】印刷手段を制御する印刷制御装置であって、前記複数のページに対し、第１の設定を用いた前記印刷手段による印刷処理に要する処理時間をページごとに予測する予測手段と、前記予測手段にて予測された処理予測時間をページ順に積算し、前記複数のページのうち各ページまでの処理予測時間の積算値が各ページに対して設定された積算値の閾値を超えるページを特定する特定手段と、前記特定手段にて特定されたページまでのページのうち少なくとも１つのページに対して、前記第１の設定とは異なる第２の設定を用いて前記印刷手段に印刷処理を行わせることにより、前記特定されたページまでの処理時間を短縮するように制御する制御手段とを有する。【選択図】  図８
2014215836.tif 000002
【特許請求の範囲】
【請求項１】
複数のページを含むデータに対して印刷処理を行う印刷手段を制御する印刷制御装置であって、
前記複数のページに対し、第１の設定を用いた前記印刷手段による印刷処理に要する処理時間をページごとに予測する予測手段と、
前記予測手段にて予測された処理予測時間をページ順に積算し、前記複数のページのうち各ページまでの処理予測時間の積算値が各ページに対して設定された積算値の閾値を超えるページを特定する特定手段と、
前記特定手段にて特定されたページまでのページのうち少なくとも１つのページに対して、前記第１の設定とは異なる第２の設定を用いて前記印刷手段に印刷処理を行わせることにより、前記特定されたページまでの処理時間を短縮するように制御する制御手段と
を有することを特徴とする印刷制御装置。
【請求項２】
前記第１の設定に含まれる１または複数の設定項目の値を変更して前記第２の設定を決定する決定手段を更に有することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記１または複数の設定項目のそれぞれに対して、値を変更した際の画質への影響が小さくかつ短縮される処理時間が大きいほど優先順位が高く設定され、
前記決定手段は、前記優先順位が高い設定項目から段階的に変更して値を決定することを特徴とする請求項２に記載の印刷制御装置。
【請求項４】
前記予測手段は、前記決定手段が段階的に設定項目の値を変更するごとに処理時間の予測を繰り返し、
前記決定手段は、前記特定手段にて特定されたページまでの処理予測時間の積算値が当該特定されたページに対して設定された積算値の閾値を下回った際の値を、前記第２の設定の値として確定することを特徴とする請求項３に記載の印刷制御装置。
【請求項５】
前記第１の設定における変更可能な設定項目の値を全て変更した結果、前記特定手段にて特定されたページまでの処理予測時間の積算値が当該特定されたページに対して設定された積算値の閾値を下回らない場合、前記特定されたページの後続のページに対して設定された積算値に対する閾値を変更する変更手段を更に有することを特徴とする請求項３または４に記載の印刷制御装置。
【請求項６】
前記変更手段は、前記第１の設定における変更可能な設定項目の値を全て変更した結果により予測される処理予測時間を基準として、前記積算値に対する閾値を変更することを特徴とする請求項５に記載の印刷制御装置。
【請求項７】
前記複数のページの各ページまでの処理予測時間の積算値に対する閾値をページごとに設定する設定手段を更に有することを特徴とする請求項１乃至６のいずれか一項に記載の印刷制御装置。
【請求項８】
前記設定手段は、１ページ目の印刷処理に要する処理予測時間を基準として、各ページまでの処理予測時間の積算値に対する閾値を設定することを特徴とする請求項７に記載の印刷制御装置。
【請求項９】
前記設定手段は、前記第１の設定を用いた１ページ目の処理予測時間が所定の基準値を超える場合、前記１ページ目に対して前記第２の設定を用いた場合の処理予測時間を基準として、各ページまでの処理予測時間の積算値に対する閾値を設定することを特徴とする請求項７または８に記載の印刷制御装置。
【請求項１０】
前記印刷手段のステータスの情報を取得する取得手段を更に有し、
前記制御手段は、前記取得手段にて取得したステータスの情報に応じて、前記第１の設定もしくは前記第２の設定のいずれかを用いて前記複数のページに対して印刷処理を行うように前記印刷手段を制御することを特徴とする請求項１乃至９のいずれか一項に記載の印刷制御装置。
【請求項１１】
複数のページを含むデータに対して印刷処理を行う印刷手段を制御する印刷制御装置における印刷制御方法であって、
前記複数のページに対し、第１の設定を用いた前記印刷手段による印刷処理に要する処理時間をページごとに予測する予測工程と、
前記予測工程にて予測された処理予測時間をページ順に積算し、前記複数のページのうち各ページまでの処理予測時間の積算値が各ページに対して設定された積算値の閾値を超えるページを特定する特定工程と、
前記特定工程にて特定されたページまでのページのうち少なくとも１つのページに対して、前記第１の設定とは異なる第２の設定を用いて前記印刷手段に印刷処理を行わせることにより、前記特定されたページまでの処理時間を短縮するように制御する制御工程と
を有することを特徴とする印刷制御方法。
【請求項１２】
コンピュータを、
複数のページに対し、第１の設定を用いた印刷手段による印刷処理に要する処理時間をページごとに予測する予測手段、
前記予測手段にて予測された処理予測時間をページ順に積算し、前記複数のページのうち各ページまでの処理予測時間の積算値が各ページに対して設定された積算値の閾値を超えるページを特定する特定手段、
前記特定手段にて特定されたページまでのページのうち少なくとも１つのページに対して、前記第１の設定とは異なる第２の設定を用いて前記印刷手段に印刷処理を行わせることにより、前記特定されたページまでの処理時間を短縮するように制御する制御手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置、印刷制御方法、およびプログラムに関する。
【背景技術】
【０００２】
ＰＯＤ（Ｐｒｉｎｔ  Ｏｎ  Ｄｅｍａｎｄ）印刷の普及に伴い、印刷装置を効率よく稼動させ印刷物を生成することがより重要になってきている。特に少数部数の印刷では、一つの印刷ジョブによる印刷装置の占有時間を少なくすることで、限られた時間内で効率的に印刷を行う必要がある。従って、印刷装置が備える印刷リソース（描画処理能力など）を最大限有効活用することによる時間的に効率の良い印刷がますます重要になってきている。
【０００３】
従来、印刷リソースを最大限に活用し短時間で印刷を行うために様々な手法が用いられてきた。例えば、特許文献１は、印刷ジョブの各ページの描画処理に要する処理時間を指定可能な印刷モード毎に演算し、より描画処理時間が短くなる印刷モードを指定する技術を開示している。この技術により、印刷装置での描画処理に費やす時間を最少化する印刷モードを、各ページに対して設定することができる。その結果、印刷スループットを向上させ、該当印刷ジョブに対する印刷装置の占有時間を短くすることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１２９５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１は、印刷装置での描画処理時間を最少化することで、印刷スループットを向上させ、印刷ジョブに対するプリンターの占有時間を短くする効果を発揮する。しかし、処理能力が高い高速プリンターでは、どの印刷モードでページの印刷を行っても待ち時間などが生じずに対応できる場合もある。このような印刷装置の場合、従来技術では最も処理時間が短い印刷モードしか選択されないため、印刷装置が本来備えている処理能力を十分に発揮しないまま処理時間を削減して印刷速度を維持し印刷が行われることになる。これと同じことが、描画処理時間が極めて短い文書を印刷する場合等にも当てはまる。
【０００６】
また、直前のページが単純なページであるため描画処理時間が短く、これに続くページが比較的描画処理時間を要するページである場合を考える。この場合、前ページでの描画処理時間に余裕があるため、後続するページの印刷モードを変更しなくても、印刷装置の能力を十分に発揮したエンジンのスループットを維持した印刷を行える可能性もある。しかし、従来技術ではページ単位でしか描画処理時間を評価しないため、他のページの描画処理時間に対する負荷の影響は考慮されず、該当ページの印刷モードが決定されることになる。この場合も印刷装置が備える処理能力を十分に発揮しないまま印刷が行われることになる。
【０００７】
また、従来技術では、スループットの維持とは関係なく印刷モードが変更される。そのため、スループットの維持との影響のないページであっても印刷モードが一定せず、ユーザーの意図が反映されない、様々な印刷品位のページが出力されてしまう問題も生じる。
【課題を解決するための手段】
【０００８】
上記課題の少なくとも一つを解決するため、本願発明は以下の構成を有する。すなわち、複数のページを含むデータに対して印刷処理を行う印刷手段を制御する印刷制御装置であって、前記複数のページに対し、第１の設定を用いた前記印刷手段による印刷処理に要する処理時間をページごとに予測する予測手段と、前記予測手段にて予測された処理予測時間をページ順に積算し、前記複数のページのうち各ページまでの処理予測時間の積算値が各ページに対して設定された積算値の閾値を超えるページを特定する特定手段と、前記特定手段にて特定されたページまでのページのうち少なくとも１つのページに対して、前記第１の設定とは異なる第２の設定を用いて前記印刷手段に印刷処理を行わせることにより、前記特定されたページまでの処理時間を短縮するように制御する制御手段とを有する。
【発明の効果】
【０００９】
本発明により、印刷装置のリソースを最大限に活用して印刷ジョブに対する処理効率を向上させ、１の印刷ジョブによる印刷装置の占有時間を短くするように制御できる。
【図面の簡単な説明】
【００１０】
【図１】本実施例に係るシステム構成例を示すブロック図。
【図２】コンピュータのハードウェア構成例を示すブロック図。
【図３】プリンターのハードウェア構成例を示すブロック図。
【図４】コンピュータおよびプリンターのソフトウェア構成例を示すブロック図。
【図５】本実施例に係るプリンタードライバーの構成例を示すブロック図。
【図６】連続印刷の可否の判定を説明するための図。
【図７】印刷設定の変更、判定基準の補正、１ページ目の高速化を説明するための図。
【図８】プリンタードライバーの処理を示すフローチャート。
【図９】図８のＳ１０３０の処理を詳しく説明するためのフローチャート。
【図１０】図８のＳ１０３０の処理のスキップを説明するためのフローチャート。
【発明を実施するための形態】
【００１１】
以下本発明を実施するための形態について図面を用いて説明する。
【００１２】
＜実施例１＞
［システム構成図］
図１は本実施例に係るシステム構成の一例を示すブロック図である。印刷制御装置は、情報処理装置であるコンピュータ１００、および印刷装置であるプリンター１０１で構成される。また、コンピュータ１００とプリンター１０１は通信可能な接続媒体１０２を介して接続される。なお、本実施例ではプリンターを１台のみ示しているがこれに限定するものではなく、複数台のプリンターとコンピュータが接続されてもよい。また、プリンター１０１は、複合機などであってもよい。
【００１３】
［ハードウェア構成］
図２は、代表的なコンピュータ１００のハードウェア構成の例を示すブロック図である。コンピュータ１００は、ＣＰＵ１により制御される。ＣＰＵ１は、ＲＯＭ３に記憶された基本入出力システム（ＢＩＯＳ）や外部メモリ１１に記憶されたオペレーティングシステム（ＯＳ）や各種アプリケーションプログラムなどをＲＡＭ２にロードし、実行することが可能である。コンピュータ１００は、ユーザーからの入力を受けるキーボード９や処理の結果を画像としてユーザーに表示するためのディスプレイ１０などに接続するための各種インタフェース（キーボードＩ／Ｆ５、ディスプレイＩ／Ｆ６、外部メモリＩ／Ｆ７）を備える。更に、コンピュータ１００は、他のコンピュータやプリンター１０１などの機器と通信を行うためのネットワーク・プリンターＩ／Ｆ８を備える。
【００１４】
図３は、プリンター１０１のハードウェア構成の例を示すブロック図である。プリンター１０１は、ＣＰＵ１２により制御される。ＣＰＵ１２は、ＲＯＭ１４に記憶された制御プログラムや外部メモリ２２に格納された各種プログラムをＲＡＭ１３にロードし、実行することが可能である。ＣＰＵ１２は、入出力部１６を介して入力された印刷データ等を制御プログラムの動作に基づいて画像信号に変換し、印刷部２０に出力することで印刷を行う。プリンター１０１は、印刷部２０や外部メモリ２２に接続するための各種インタフェース（印刷部Ｉ／Ｆ１７、外部メモリＩ／Ｆ１８）を備える。
【００１５】
また、ＣＰＵ１２は、入出力部１６を介して入力された各種要求に対し、制御プログラムの動作に基づいて処理した結果を入出力部１６から出力する。尚、プリンター１０１には操作部２１が接続され、ユーザーから各種処理に対する直接の入力を受け付けることも可能である。
【００１６】
［ソフトウェア構成］
図４は、本実施例に係るコンピュータ１００及びプリンター１０１のソフトウェア構成の例を示すブロック図である。図４を用いてコンピュータ１００及びプリンター１０１のソフトウェア構成について説明を行う。
【００１７】
コンピュータ１００は、印刷アプリケーション２０１、ＯＳ（グラフィックシステム）２０２、プリンタードライバー２０３、およびＯＳ（スプーラ）２０４の各ソフトウェアを備える。印刷アプリケーション２０１は、ユーザーからの指示を受けて、プリンター１０１に描画データ及び印刷設定を含んだ文書の印刷指示を発行する。ＯＳ（グラフィックシステム）２０２は、印刷アプリケーション２０１が発行する印刷指示を受信し、発行された印刷指示の出力先となるプリンター１０１に対応するプリンタードライバー２０３に渡す。
【００１８】
プリンタードライバー２０３は、ＯＳ（グラフィックシステム）２０２を介して印刷アプリケーション２０１が発行した印刷指示を受信し、出力先となるプリンター１０１にて処理可能な印刷データに変換する。その後、プリンタードライバー２０３は、ＯＳ（スプーラ）２０４に変換した印刷データを渡す。ＯＳ（スプーラ）２０４は、接続媒体１０２を介して、プリンタードライバー２０３が生成した印刷データをプリンター１０１に送信する。
【００１９】
プリンター１０１は、印刷ジョブ受信部２１１、印刷ジョブ制御部２１２、および描画処理部２１３を備える。印刷ジョブ受信部２１１は、コンピュータ１００から印刷データを受信する。印刷ジョブ制御部２１２は、受信した印刷データに対する印刷制御を行い、印刷データをビットマップイメージに変換する処理を行う。描画処理部２１３は、印刷プロセスを用いて用紙などの記録媒体上にビットマップイメージを印刷するための処理を行う。
【００２０】
［プリンタードライバーの構成］
図５は、本実施例のプリンタードライバー２０３の構成の例を示すブロック図である。本実施例のプリンタードライバー２０３は、印刷指示受信部３０１、印刷データ生成部３０２、印刷データ出力部３０３に加え、処理時間予測部３０４、印刷設定変更部３０５、およびプリンタステータス取得部３０６を備える。
【００２１】
印刷指示受信部３０１は、印刷アプリケーション２０１が発行した印刷指示をＯＳ（グラフィックシステム）２０２を介して受信する。印刷アプリケーション２０１が発行する印刷指示には、描画を行うための描画データと印刷を実行する際に用いられる印刷設定とが含まれる。本実施例においては、印刷指示に含まれる印刷設定は、後述する処理時間予測部３０４の判定に従って変更されることができる。
【００２２】
印刷データ生成部３０２は、印刷指示受信部３０１が受け取った描画データを、印刷設定に従いプリンター１０１で扱うことができる印刷データ（例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）コマンド）に変換する。印刷設定には、一般的な用紙のサイズや向き、部数、印刷解像度、カラーモード、片面・両面などの設定に加え、グラフィックスモード、ビットマップイメージの圧縮方式、ビットマップイメージの解像度に係る各種設定、印刷階調に関する設定が含まれる。また、印刷設定は、印刷ページ単位に指定可能である。
【００２３】
印刷データ出力部３０３は、印刷データ生成部３０２が生成した印刷データをプリンター１０１に送信するために、ＯＳ（スプーラ）２０４に送信する。
【００２４】
処理時間予測部３０４は、印刷指示受信部３０１が受信した１ページ分の描画データを印刷設定に基づいて印刷データを生成した場合のプリンター１０１内における処理時間を予測する。ここでの、プリンター１０１内における処理時間とは、プリンター１０１内でビットマップイメージを生成するために必要な時間を指す。以下、処理時間予測部３０４にて予測される１ページ当たりの処理時間を「処理予測時間」と称す。
【００２５】
例えば、処理時間予測部３０４は、次のような方法で各ページの処理時間の予測を行う。印刷指示受信部３０１で受信した描画データに含まれる個々のコマンドに従って生成する１ページ分の印刷データについて、処理予測時間を算出する。具体的には、印刷設定で指定されたパラメータ（グラフィックスモード、圧縮方式、解像度など）やイメージの数、データのサイズ、プリンター１０１の処理能力などに基づき、１ページ分の印刷データに関する処理予測時間（Ｘ）が算出される。
【００２６】
処理時間予測部３０４は、処理予測時間を、各印刷データによって決まる規定の値に対し、重み値を掛け合わせることで求める。ここでの重み値は、上記のパラメータやデータサイズ、プリンター１０１の描画処理の能力などに応じて定められる。例えば、ある印刷データ（ＰＤＬコマンド）の規定値がａであり、グラフィックスモード、圧縮方式、解像度、データサイズ、プリンター１０１の描画処理の能力のそれぞれに対応する重み値をｂ、ｃ、ｄ、ｅ、ｆとする。この場合、処理予測時間（Ｘ）はａ×ｂ×ｃ×ｄ×ｅ×ｆとなる。
【００２７】
処理時間予測部３０４は、１ページ分の全ての印刷データ（コマンド）について処理予測時間（Ｘ）を合算し、１ページ分の印刷データの処理予測時間の総和として描画処理予測時間（ΣＸ）を算出する。更に、処理時間予測部３０４は、描画の内容とは無関係にプリンター１０１にて１ページのデータを生成するために必要なページ生成予測時間（Ｙ）を描画処理予測時間（ΣＸ）に加え、着目ページの処理予測時間（ΣＸ＋Ｙ）として算出する。ページ生成予測時間（Ｙ）は、予め定義されているものとする。尚、プリンター１０１での処理時間は、先に説明した印刷設定の様々なパラメータ依存しており、印刷設定を変更すると処理予測時間も変わる。
【００２８】
印刷設定変更部３０５は、印刷指示受信部３０１が受信した印刷設定を変更し、印刷処理に係る処理時間を制御する。この設定変更に伴い、処理時間予測部３０４が予測する処理予測時間も変更されることとなる。詳細は後述するが、印刷設定変更部３０５は、印刷設定に含まれるグラフィックスモードやデータ圧縮に係る各種設定、印刷階調に関する設定などを変更し、各設定項目に対する適切な設定値を決定する。
【００２９】
プリンタステータス取得部３０６は、印刷対象のプリンター１０１の状態の情報を取得する。ここで取得される状態の情報については、図１０を用いて後述する。
【００３０】
［連続印刷可否判定について］
図６は、プリンター１０１での連続印刷が可か不可かを判定を説明するための図である。ここでの連続印刷とは、プリンター１０１による印刷出力を中断することなく、連続して各ページの印刷処理を行うことを指す。連続印刷により、各ページに対する印刷処理の間において無駄な間隔を生じさせることなく、プリンター１０１のスループットを向上させ、リソースを有効に活用できるものとする。
【００３１】
図６（ａ）は、ある文書データをプリンター１０１で印刷を行う場合において、処理時間予測部３０４による文書データの処理の予測結果をページ毎に並べたものである。縦軸を処理予測時間とし、横軸をページとして示す。図６（ａ）中のＡは、連続印刷を維持するために１ページに対して許容できるプリンター１０１側の最大の処理時間（閾値）である。例えば、毎分３０枚の印刷速度を持つプリンター１０１であれば、Ａ値は２秒（＝６０秒÷３０枚）として設定することができる。同様に、毎分６０枚のプリンター１０１であれば、Ａ値は１秒（＝６０秒÷６０枚）として設定することができる。Ａの初期値は予め定義されているものとする。図６（ａ）の例では４ページ目と８ページ目の処理予測時間がＡ値を超える結果になっており、一方、他のページの処理予測時間はＡ値より少ないことを示している。
【００３２】
図６（ｂ）は、図６（ａ）の処理予測時間をページ順に積算した積算処理予測時間と、連続印刷が可能かどうかを各ページにおいて判定するための連続印刷維持ライン（破線）とを示している。縦軸を積算処理予測時間とし、横軸をページとして示す。１ページ目には１ページ目の処理予測時間を、２ページ目には１ページ目と２ページ目の処理予測時間を合わせた値（積算値）を、３ページ目には１ページ目から３ページ目までの処理予測時間の積算値を示している。
【００３３】
例えば、１ページ目の処理予測時間をＢとすると、ｎページ目においても連続印刷が継続されるためには、ｎページ目までの処理予測時間の積算値がＡ×（ｎ−１）＋Ｂ以下である必要がある。このようにして求めた、着目ページは連続印刷が可能か否かを判定する基準を、図６（ｂ）では“連続印刷維持ライン”として示す。この例において、図６（ａ）の説明でＡ値を超えた４ページ目について参照すると、図６（ｂ）では積算処理予測時間が、連続印刷維持ラインよりも下回っている。したがって、４ページ目では連続印刷可能であると判定される。一方、Ａ値を超えた８ページ目について参照すると、積算処理予測時間が連続印刷維持ラインを超えるため、８ページ目については連続印刷が不可であると判定され、特定される。なお、連続印刷維持ラインの初期値は、上記算出式に限定するものではなく、例えば、ページごとに異なる重み付けを行うなど、他の式にて表現したものを用いても構わない。
【００３４】
この様にして、本実施例では、連続印刷を継続するための１ページ当たりに許容できる最大のプリンター１０１側の処理時間（Ａ値）と着目ページまでの積算処理予測時間の結果を求めることで、着目ページは連続印刷が可能か否かを判定する。
【００３５】
［印刷設定の変更処理］
図７は、印刷設定の変更処理の適用条件、連続印刷の可否の判定基準の補正、および１ページ目に対する高速化処理について説明するための図である。図７において、縦軸を積算処理予測時間とし、横軸をページとする。
【００３６】
図７（ａ）は、積算処理予測時間の値が連続印刷維持ラインを超えた場合に、適用する印刷設定の変更処理について説明する図である。着目ページにおける積算処理予測時間が連続印刷維持ラインを超える場合、印刷設定変更部３０５により印刷設定の変更を行う。適用する印刷設定の変更の内容の例を以下に示す。なお、本明細書において、設定変更前の印刷設定を「第１の設定」と記載し、設定変更後の確定した印刷設定を「第２の設定」とも記載する。
【００３７】
（設定変更１）
設定変更１として、グラフィックスモードの設定項目に対する変更が挙げられる。グラフィックスモードは、ユーザーあるいは初期設定により、ＰＤＬモードもしくはイメージモードに予め設定されている。設定変更１では、予め設定されているモードがＰＤＬモードであればイメージモードに変更し、イメージモードであればＰＤＬモードに変更する。印刷設定のグラフィックスモードを、以下で説明するように描画処理の処理予測時間に応じて適切に選択することで連続印刷が可能となるように制御する。
【００３８】
ＰＤＬモードとは、プリンタードライバー２０３が、印刷アプリケーション２０１からの印刷指示に含まれる描画データを、プリンター１０１において解釈可能なＰＤＬコマンド（例えばベクターコマンド）に変換してプリンター１０１に送信するモードである。一般に、ＰＤＬモードは、描画データをビットマップイメージに変換せずにＰＤＬコマンドに直接変換してプリンター１０１へ送信するため、プリンター１０１における描画処理の開始を早めることができる。しかしＰＤＬモードの特徴として、印刷対象の描画データの複雑度が増すとこれに応じてＰＤＬコマンドの量が増加して描画処理に時間がかかるため、印刷速度を維持したままの印刷が行えなくことがある。
【００３９】
一方、イメージモードとは、印刷対象の描画データをビットマップイメージに変換し、ビットマップイメージとともに該ビットマップイメージを印刷するＰＤＬコマンドをプリンター１０１へ送信するモードである。一般に、イメージモードは、描画データをプリンタードライバー２０３によってビットマップイメージに予め展開するため、プリンタードライバー２０３での描画処理時間は必要になる。この反面、イメージモードでは、プリンター１０１で処理を行うＰＤＬコマンドの量を少なくすることができる。このため、イメージモードは、処理時間に大きな遅延を発生させることなくプリンター１０１において描画処理を行えるモードである。
【００４０】
（設定変更２）
設定変更２として、イメージの圧縮方式の設定項目に対する変更が挙げられる。例えば圧縮方式が、プリンタードライバー２０３がビットマップイメージを可逆圧縮してからプリンター１０１へ送信する設定であれば、ビットマップイメージを非可逆圧縮してからプリンター１０１へ送信する設定に変更にする。これにより、プリンター１０１においてデコード処理されるビットマップイメージのデータ量が少なくなるため、デコード処理を含んだ描画処理に必要な時間が、圧縮方式が可逆圧縮である設定よりも非可逆圧縮である設定の方が短くなる。
【００４１】
（設定変更３）
設定変更３として、解像度の設定項目に対する変更が挙げられる。例えばプリンタードライバー２０３が、高解像度（例えば１２００ｄｐｉ）のビットマップイメージをプリンター１０１へ送信する設定であれば、画像の解像度をより低くして、低解像度（例えば６００ｄｐｉ）のイメージを送信する設定に変更する。
【００４２】
以上、変更可能な設定項目の候補として３つの設定変更の例を挙げたが、これらに限定されるものではない。例えば、上記の設定変更では、予め設定に含まれる設定項目の値を変更するものであったが、設定項目自体を増減して処理時間を制御するようにしても構わない。また、複数の設定項目を組み合わせて一の印刷設定とし、それを変更するようにしても構わない。
【００４３】
印刷設定変更部３０５は、着目ページにおいて積算処理予測時間が連続印刷維持ラインを上回った場合、着目ページに対する印刷設定を変更する。その後、処理時間予測部３０４は、変更された印刷設定を用いた着目ページの処理時間の予測を再度行う。印刷設定の変更は予めいくつかの候補を用意しておき、着目ページまでの積算処理予測時間が連続印刷維持ラインを下回るまで、様々な印刷設定変更を適用し、着目ページの処理時間の予測を行う。上記の設定変更１〜３の例の場合は、３段階で段階的に設定変更を行い、着目ページに対する処理予測時間の削減を行う。なお、連続印刷維持ラインの値は、コンピュータ１００が備える外部メモリ１１等に保持されているものとする。
【００４４】
図７（ａ）の例では、４ページ目の積算処理予測時間が連続印刷維持ラインを上回っているため、印刷設定変更部３０５は、４ページ目に対する印刷設定の変更（設定変更１）を行う。そして、処理時間予測部３０４は、変更された印刷設定を用いて、４ページ目の処理時間の予測を行う。新たに得られた４ページ目の処理予測時間を用いて新たな積算処理予測時間を算出し、連続印刷維持ラインを下回っているか否かの判定を再度行う。新たな積算処理予測時間が連続印刷維持ラインを下回れば、４ページ目に対する印刷設定及び処理予測時間が確定される。図７（ａ）の８ページ目の場合、設定変更１および設定変更２による２段階の印刷設定の変更では連続印刷維持ラインを下回ることができない。更に設定変更３を行うことにより処理予測時間を短縮させることで、積算処理予測時間が連続印刷維持ラインを下回り、連続印刷を行う事が可能になったことを示す。
【００４５】
印刷設定の変更を実施する優先順位は、画質への影響を考慮して定義されるものとする。最初に実施する印刷設定の変更は、画質への影響がより小さくかつ処理予測時間に対する削減効果が大きいものを優先する。そして、徐々に画質に影響を及ぼす印刷設定の変更を行うようにする。これにより、画質とパフォーマンスのバランスの取れた印刷を実現することが可能になる。なお、優先順位の決定方法は、この基準に限定するものではなく、他の点を基準にしても構わない。また、複数の優先順位および印刷設定の変更の組み合わせを定義しておき、例えばモードやユーザーの指定などに応じてそれらの中から選択するようにしても構わない。
【００４６】
［連続印刷の可否判定基準の補正］
図７（ｂ）は、連続印刷の可否判定基準の補正について説明するための図である。着目ページにおいて、予め用意した印刷設定の設定変更の全てを適用しても連続印刷が維持できるレベルまで積算処理予測時間が下がらない場合がある。そのような場合において、最少の遅延時間で再び連続印刷が行えるように制御を行う。つまり、着目ページついては、設定変更後の最少の処理予測時間を算出した印刷設定で印刷を行う。そして、着目ページ以降のページについては、連続印刷の可否判定の基準（連続印刷維持ライン）を見直して補正を行う。
【００４７】
図７（ｂ）の例で説明する。積算処理予測時間が連続印刷維持ライン１を超える４ページ目については、処理時間予測部３０４により算出された最少の処理予測時間の印刷設定を採用した状態で、４ページ目までの積算処理予測時間を算出する。本実施例における最小の処理予測時間を算出した印刷設定を採用した状態とは、設定変更１〜３を適用した状態を意味する。４ページ目において、積算処理予測時間が連続印刷維持ライン１を上回っている際の時間をＢ’とすると、５ページ目以降の新たな連続印刷維持ライン２は、連続印刷維持ライン１をＢ’との差分だけ上方にスライドさせたラインとなる。
【００４８】
連続印刷の維持のために１ページ当たりの許容できる最大のプリンターの処理時間をＡ、１ページ目の処理予測時間をＢ、連続印刷が不可となる着目ページにおいて積算処理予測時間が変更前の連続印刷維持ラインを上回っていた時間をＢ’とする。この場合、新たな連続印刷維持ライン（連続印刷維持ライン２）は、Ａ×（ｎ−１）＋Ｂ＋Ｂ’（但しｎは連続印刷が不可のページの番号以上の値）で表される。連続印刷が不可と判定されたページ以降のページでは新たな連続印刷維持ラインを基準として連続印刷が行えるか否かの判定を行う。
【００４９】
以上のように、連続印刷の判定の基準を補正することで、ジョブの印刷に時間がかかるページが含まれる場合であっても、そのページを適切な処理時間と画質により処理でき、かつそれ以降のページについても連続印刷を維持することができる。
【００５０】
［１ページ目に対する高速化処理］
図７（ｃ）は、１ページ目に対する高速化処理を説明するための図である。これまで説明してきた例では、１ページ目についてはそれより前のページが存在しないため、連続印刷を行うための高速化処理について対象としていない。しかし、１ページだけの印刷ジョブもしくは複数ページであっても、１ページ目の描画処理に時間がかかる場合も想定される。これらのケースを考慮し、１ページ目の処理として許容できる基準時間（Ｂ−ｍａｘ）を基準値として別途設ける。処理時間予測部３０４にて予測した１ページ目に対する処理予測時間が基準時間（Ｂ−ｍａｘ）を超える場合、印刷設定変更部３０５は、１ページ目に対する処理時間が基準時間（Ｂ−ｍａｘ）以内になるように先に述べた印刷設定の変更処理を行う。この基準時間（Ｂ−ｍａｘ）の値は予め定義され、例えば、記憶部である外部メモリ１１等に保持されているものとする。
【００５１】
図７（ｃ）に示す例の場合、１ページ目の処理予測時間が基準時間（Ｂ−ｍａｘ）を超えているため、１ページ目に対して印刷設定の変更を行い、処理予測時間が基準時間（Ｂ−ｍａｘ）以内に収まるように制御している。この様に１ページ目についても、基準時間内に描画処理を終えられるように印刷データに対する設定変更を行う。これにより、１ページ目の処理に対しても高速化が適用可能となる。
【００５２】
尚、プリンター１０１の状況によっては印刷ジョブの受信直後に印刷動作を行えないことも想定される。例えば、印刷中のジョブや印刷待ちのジョブが無い状態で「用紙切れ」のステータスになっている状況などがある。この場合、プリンター１０１は印刷ジョブを受信し、印刷ジョブ制御部２１２にて印刷データを解釈してビットマップイメージの生成処理（変換処理）までは行える。しかし、プリンター１０１は、その後、ビットマップイメージを記録媒体上に印刷する描画処理部２１３による印刷動作は行う事が出来ない。しかしながら、この状況で印刷ジョブをプリンター１０１に送信することにより、「用紙切れ」が復旧されるまでの時間を有効に使って、印刷ジョブ制御部２１２にて少なくとも１ページ分のビットマップイメージの生成処理を行うことは可能である。
【００５３】
そこで本実施例では、プリンタステータス取得部３０６は、１ページ目の処理時にプリンタステータスの情報を取得する。取得したプリンタステータスが、印刷媒体（紙など）への印刷動作自体は不可ではあるがその前段階の処理であるビットマップイメージの生成までは行えるステータスである場合、１ページ目の処理時間の予測結果に関わらず印刷設定の変更の処理を行わない。そして、変更前の印刷設定にて印刷データの生成を行うようにする。上記に示したようなステータスを、ここでは便宜上、「印刷不可ステータス」と称す。
【００５４】
この結果、１ページ目の処理予測時間が基準時間（Ｂ−ｍａｘ）を超えていたとしても、印刷設定の変更は実施せずにそのまま印刷データ送ることで、必要以上の処理時間の削減を行わず、かつユーザーの希望する品位で印刷を行うことが出来る。本処理の詳細については図１０を用いて説明する。
【００５５】
［処理フロー］
図８（ａ）は、本実施例のプリンタードライバー２０３の処理を示す処理フローである。本処理フローは、コンピュータ１００のＣＰＵ１が本願発明に係るプリンタードライバー２０３のプログラムをＲＡＭ２に読み出して実行することにより実現される。
【００５６】
Ｓ１０１０においてプリンタードライバー２０３は、印刷指示受信部３０１にて印刷アプリケーション２０１から印刷ジョブに対する印刷指示を受信すると、初期化処理を実行する（Ｓ１０１０）。Ｓ１０２０においてプリンタードライバー２０３は、印刷指示受信部３０１にて印刷アプリケーション２０１から描画データや印刷設定を含む印刷指示の受信を行う。更にプリンタードライバー２０３は、受信した印刷設定に基づき、処理時間予測部３０４にて各ページの処理時間の予測を上述した方法にて行う。以下のフローは、印刷ジョブを構成する複数のページそれぞれを順に着目ページとして処理を行う。
【００５７】
次に、Ｓ１０３０にてプリンタードライバー２０３は、処理時間予測部３０４にて求めた処理予測時間に基づき基準時間以内か否かの判定を行う。図９はＳ１０３０の処理を詳しく説明するためのフローである。まず、１ページ目と他のページでは判定基準が異なるため、Ｓ１２１０にて、プリンタードライバー２０３は、着目ページが１ページ目か否かの判定を行う。着目ページが１ページ目であれば（Ｓ１２１０にてＹＥＳ）、Ｓ１２１０にて、プリンタードライバー２０３は、処理時間予測部３０４にて予測した処理予測時間が１ページ目の処理として許容できる基準時間（Ｂ−ｍａｘ）以内か否かを判定する。基準時間以内であれば（Ｓ１２２０にてＹＥＳ）、図８（ａ）のＳ１０６０へ進み、基準時間を超えているのであれば（Ｓ１２２０にてＮＯ）、図８（ａ）のＳ１０４０へ進む。
【００５８】
着目ページが１ページ目以外である場合（Ｓ１２１０にてＮＯ）、プリンタードライバー２０３は、処理時間予測部３０４にて予測した着目ページまでの積算処理予測時間の値に基づき、連続印刷か可能か否かを判定する。算出した着目ページまでの積算処理予測時間が図６や図７で説明した連続印刷維持ラインの示す値以下であれば（Ｓ１２３０にてＹＥＳ）、連続印刷は可能と判定し、図８（ａ）のＳ１０６０へ進む。一方、連続印刷維持ラインよりも大きければ（Ｓ１２３０にてＮＯ）、連続印刷は不可と判定し、図８（ａ）のＳ１０４０へ進む。
【００５９】
ここで、プリンターのステータスに応じて、Ｓ１０３０の判定処理をスキップさせるための処理フローを、図１０を用いて説明する。プリンターのステータスに応じてＳ１０３０での判定処理をスキップさせる実装を行う場合、図１０に示すフローチャートは、図８（ａ）のＳ１０２０とＳ１０３０の間にて実行される。Ｓ１３１０において、プリンタードライバー２０３は、着目ページが１ページ目か否かの判定を行う。着目ページが１ページ目以外であれば（Ｓ１３１０にてＮＯ）、図８（ａ）のＳ１０３０へと進む。
【００６０】
一方、着目ページが１ページ目である場合（Ｓ１３１０にてＹＥＳ）、Ｓ１３２０にて、プリンタードライバー２０３は、プリンタステータス取得部３０６にて印刷処理を行うプリンターのステータスの取得を行う。次に、Ｓ１３３０にて、プリンタードライバー２０３は、取得したプリンターのステータスが、上述したような印刷不可ステータスか否かの判定を行う。印刷不可ステータスである場合（Ｓ１３３０にてＹＥＳ）、図８（ａ）のＳ１０６０へ進み、Ｓ１０３０での判定処理をスキップする。印刷不可ステータスでない場合（Ｓ１３３０にてＮＯ）、図８（ａ）のＳ１０３０に進む。
【００６１】
図８（ａ）に戻り、Ｓ１０３０以降の処理について説明を進める。着目ページまでの積算処理予測時間が基準時間以内でない場合（Ｓ１０３０にてＮＯ）、Ｓ１０４０へ進み、プリンタードライバー２０３は、着目ページに対する設定変更が可能か否かの判定を行う。設定変更が可能であると判定した場合（Ｓ１０４０にてＹＥＳ）、Ｓ１０５０へ進み、設定変更が不可であると判定した場合（Ｓ１０４０にてＮＯ）、Ｓ１０６０へ進む。
【００６２】
例えば、上記の設定変更１〜３を用いる場合、予め設定されている印刷設定の設定変更が可能な回数は３となる。この場合、プリンタードライバー２０３がこの３つ設定変更を全て実行し終えている場合は、Ｓ１０４０での判定はＮｏとなりＳ１０６０へ進む。この場合、プリンタードライバー２０３は、処理時間予測部３０４にて着目ページに対して予測した最少の処理予測時間とこれに対応する印刷設定とを、着目ページの印刷設定及び処理予測時間として確定する。
【００６３】
Ｓ１０５０において、プリンタードライバー２０３は、印刷設定変更部３０５にて着目ページに対する印刷設定の変更を行う。そして、プリンタードライバー２０３は、処理時間予測部３０４にて、印刷設定変更部３０５により変更された印刷設定に基づき新たな処理予測時間を求める。その後、Ｓ１０３０に進み、プリンタードライバー２０３は、基準時間以内で着目ページまでの印刷が行えるか否かの判定を再度行う。
【００６４】
Ｓ１０３０にて基準時間以内での印刷が行えると判定した場合、或いはＳ１０４０にて設定変更が不要と判定した場合、Ｓ１０６０にて、プリンタードライバー２０３は、着目ページの処理予測時間を確定し、前のページまでの積算処理予測時間に加算する。Ｓ１０７０にて、プリンタードライバー２０３は、連続印刷に対する判定基準（連続印刷維持ライン）の設定および更新が必要か否かの判定を行う。着目ページが１ページ目であれば、プリンタードライバー２０３は、判定基準を設定するために連続印刷に対する判定基準の設定および更新が必要と判定し（Ｓ１０７０にてＹＥＳ）、Ｓ１０８０へ進む。また、全ての設定変更を行ったとしても基準時間以内に着目ページまでの印刷が行えない場合（Ｓ１０４０にてＮｏの場合）、プリンタードライバー２０３は、判定基準を更新する必要があると判定し、Ｓ１０８０へ進む。上記以外の場合（Ｓ１０７０にてＮＯ）、Ｓ１０９０へ進む。
【００６５】
Ｓ１０８０において、プリンタードライバー２０３は、連続印刷が可能か否かを判定するための連続印刷維持ラインの設定および更新を行う。着目ページが１ページ目である場合には、プリンタードライバー２０３は、１ページ目の処理予測時間（図６（ｂ）に示すＢ）を反映した判定基準を設定する。また、着目ページが１ページ目以外である際に、予め定義した印刷設定の設定変更を全て適用しても着目ページの連続印刷が維持できるレベルまで積算処理予測時間が下がらない場合、図７（ｂ）のように、プリンタードライバー２０３は、判定基準の更新を行う。
【００６６】
Ｓ１０９０にて、プリンタードライバー２０３は、印刷データ生成部３０２により着目ページの印刷データの生成を行う。印刷データ生成部３０２は、印刷アプリケーション２０１が発行する描画データを、着目ページに適用される印刷設定に応じてプリンター１０１が印刷可能な印刷データに変換する。その後、プリンタードライバー２０３は、印刷データ出力部３０３にて、生成された印刷データをＯＳ（スプーラ）２０４を介してプリンター１０１へ送信する。以上により、プリンタードライバー２０３は、１ページ分の処理を終え、Ｓ１１００に進む。
【００６７】
Ｓ１１００において、プリンタードライバー２０３は、印刷指示受信部３０１にて印刷アプリケーション２０１が発行する描画命令の判定を行う。印刷アプリケーション２０１が発行する描画命令が後続のページの描画を指示する命令の場合（Ｓ１１００にてＮｏ）、Ｓ１０２０へ戻り、プリンタードライバー２０３は、次のページに対する処理を開始する。印刷アプリケーション２０１が発行する描画命令が印刷ジョブの終了を指示する場合（Ｓ１１００にてＹｅｓ）、Ｓ１１１０へ進み、プリンタードライバー２０３は、終了処理を行う。その後、本処理フローを終了する。
【００６８】
本実施例では、連続印刷が行えなくなるページに限りユーザーの指定した印刷設定を変更することで、連続印刷を継続できるようにした。その結果、印刷する文書の内容に応じてプリンターの能力を十分に発揮して印刷ジョブを生成でき、１の印刷ジョブによるプリンターの占有時間を削減した印刷が行える。１の印刷ジョブによるプリンターの占有時間が短くなることで、プリンターを共有する環境では単位時間当たりに処理できる印刷ジョブ数を増加でき、プリンターをより有効に活用できる。
【００６９】
本実施例では、連続印刷が可能なページ（すなわち、連続印刷維持ラインにて示された時間内に処理できるページ）に対しては印刷設定の変更を行わない。そのため、ユーザーが印刷を指示した文書及び印刷設定が処理対象のプリンターにとって連続印刷が可能な印刷ジョブであれば、ユーザーが設定した印刷設定で印刷することが出来る。したがって、プリンターの能力を有効に活用すると同時に、ユーザーの印刷設定の意図をそのまま印刷に反映することも可能となる。
【００７０】
本実施例では、１回の印刷設定の変更では連続印刷を維持できないと判定される場合、予め用意されている複数の印刷設定の中からプリンターでの連続印刷が可能になる他の設定変更を更に適用する。このため、複雑な描画を含むページの印刷であっても連続印刷を継続できるように制御することができる。この場合、印刷設定の変更は画質への影響が少ない印刷設定から順に適用することで、印刷設定の変更に伴う画質への影響を最小限に抑えることができる。
【００７１】
更に、複雑な描画を含むため処理時間が所定の時間よりも長いと予測されるページである場合でも、そのページの印刷を最短の時間で処理できる印刷設定を用いることで、当該ページを含むジョブによるプリンターの占有時間を極力短くすることができる。
【００７２】
更に、１ページ目のページに対しても、印刷設定の変更の対象とすることで、１ページ目の処理からより高速に印刷できるようにする。その結果、印刷ジョブによるプリンターの占有時間をより短くすることができる。
【００７３】
＜実施例２＞
実施例１では、図７に示すように連続印刷維持ラインを超えるページに対して印刷設定を施す例について説明した。本実施例では、積算処理予測時間が連続印刷維持ラインを超えると予測されるページよりも前に存在するページに対して印刷設定を施すことで処理時間の短縮を行う例を示す。なお、システム構成等は実施例１と同様であるため、説明は省略する。
【００７４】
［処理フロー］
図８（ｂ）を用いて本実施例に係る処理について説明する。図８（ｂ）は、本実施例のプリンタードライバー２０３の処理を示す処理フローである。本処理フローは、コンピュータ１００のＣＰＵ１が本願発明に係るプリンタードライバー２０３のプログラムをＲＡＭ２に読み出して実行することにより実現される。なお、実施例１にて説明した図８（ａ）の処理フローと重複する箇所については、同じ参照番号を付し、説明を省略する。
【００７５】
Ｓ１０３０にてプリンタードライバー２０３は、処理時間予測部３０４にて求めた着目ページまでの積算処理予測時間が基準時間（連続印刷維持ラインにて示される値）以内か否かの判定を行う。着目ページまでの積算処理予測時間が基準時間以内でない場合（Ｓ１０３０にてＮＯ）、Ｓ１０４０へ進み、プリンタードライバー２０３は、着目ページに対する設定変更が可能か否かの判定を行う。Ｓ１０４０以降の処理は実施例１と同様である。
【００７６】
Ｓ１０３０にて基準時間以内で着目ページまでの印刷が行えると判定した場合（Ｓ１０３０にてＹＥＳ）、Ｓ１４１０にて、プリンタードライバー２０３は、着目ページの次のページまでの積算処理予測時間を取得する。Ｓ１４２０にて、プリンタードライバー２０３は、Ｓ１４２０にて取得した情報に基づいて、次のページまでの積算処理予測時間が基準時間以内か否かの判定を行う。ここでの処理はＳ１０３０の処理と同様である。次ページまでの積算処理予測時間が基準時間以内である場合（Ｓ１４２０にてＹＥＳ）、Ｓ１０６０へ進む。以降の処理は、実施例１と同様である。なお、Ｓ１０３０にて用いられる着目ページに対する基準時間と、Ｓ１４２０にて用いられる着目ページの次のページに対する基準時間とは、図６（ｂ）に示すように異なる。
【００７７】
基準時間以内でない場合（Ｓ１４２０にてＮＯ）、Ｓ１４３０にてプリンタードライバー２０３は着目ページに対して設定変更が可能か否かを判定する。設定変更が不可である場合（Ｓ１４３０にてＮＯ）、Ｓ１０６０へ進む。着目ページに対して設定変更が可能である場合（Ｓ１４３０にてＹＥＳ）、Ｓ１４４０にてプリンタードライバー２０３は、着目ページに対して設定変更を行い、処理時間予測部３０４にて変更後の印刷設定に基づいて着目ページの処理予測時間を算出する。そして、Ｓ１４２０に戻り、プリンタードライバー２０３は、再度着目ページの次のページまでの積算処理予測時間が基準時間以内であるか否かを判定する。Ｓ１０６０以降の処理は実施例１と同様である。
【００７８】
以上、本実施例では、積算処理予測時間が基準時間（連続印刷維持ライン）を超えるページがある場合に、そのページよりも前のページに対して設定変更を行うことで極力基準時間以内に処理が収まるように制御する。さらに、前のページに対する設定変更のみでは基準時間内に収まらない場合に、基準時間を超えるページの設定変更を行っている。しかし、本実施例では基準を超えるページの１つ前のページを設定変更の対象としているがこれに限定するものではなく、更に前のページもしくは複数のページを設定変更の対象としても構わない。
【００７９】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014215836.tif 000003
【図２】
2014215836.tif 000004
【図３】
2014215836.tif 000005
【図４】
2014215836.tif 000006
【図５】
2014215836.tif 000007
【図６】
2014215836.tif 000008
【図７】
2014215836.tif 000009
【図８】
2014215836.tif 000010
【図９】
2014215836.tif 000011
【図１０】
2014215836.tif 000012