(57)【特許請求の範囲】
【請求項１】
受信した印刷ジョブを解釈して印刷の指示を行うコントローラと、前記印刷の指示に従って印刷を実行するエンジンとを備えた、ｎページセット印刷可能なプリンタであって、
前記コントローラが、印刷予定のデータを印刷するために必要な印刷処理実行回数に基づいて、同時に印刷するページ数を制御することを特徴とするプリンタ。
【請求項２】
受信した印刷ジョブを解釈して印刷の指示を行うコントローラと、前記印刷の指示に従って印刷を実行するエンジンとを備えた、ｎページセット印刷可能なプリンタであって、
前記コントローラが、印刷指示を行う時点で、ｎページセット印刷におけるｍ（ｍ＜ｎ）ページ目の印刷準備が完了し、ｍ＋１ページ目の印刷準備が完了していない場合に、
前記時点における印刷未指示トータルページ数ＰＮに基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断することを特徴とするプリンタ。
【請求項３】
前記コントローラが、前記場合において、
（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎと、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎとの比較結果に基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断することを特徴とする請求項２記載のプリンタ。
【請求項４】
前記コントローラが、前記場合において、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎ＝（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎが成立する時は、ｍ＋１ページ目の印刷準備が完了するまで待たずにｍページ分について印刷指示を行うことを特徴とする請求項２又は３記載のプリンタ。
【請求項５】
前記コントローラが、前記場合において、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎ＞（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎが成立する時は、前記ｍ＋１ページ目の印刷準備完了予想時刻と、予め記憶する最大待ち時間Ｔとに基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断することを特徴とする請求項２乃至４のいずれか１項に記載のプリンタ。
【請求項６】
ｎ＝２、ｍ＝１であることを特徴とする請求項２乃至５のいずれか１項に記載のプリンタ。
【請求項７】
受信した印刷ジョブを解釈して印刷の指示を行うコントローラと、前記印刷の指示に従って印刷を実行するエンジンとを備えた、２ページセット印刷可能なプリンタであって、
前記コントローラが、印刷指示を行う時点で、２ページセット印刷における１ページ目の印刷準備が完了し、２ページ目の印刷準備が完了していない場合に、
印刷未指示トータルページ数ＰＮが偶数であるか奇数であるかに基づいて、２ページ目の印刷準備が完了するまで待つかどうかを判断することを特徴とするプリンタ。
【請求項８】
前記コントローラが、前記場合において、印刷未指示トータルページ数ＰＮが奇数の時は、２ページ目の印刷準備が完了するまで待たずに１ページ分について印刷指示を行うことを特徴とする請求項７記載のプリンタ。
【請求項９】
前記コントローラが、前記場合において、印刷準備未指示トータルページ数ＰＮが偶数の時は、２ページ目の印刷準備完了予想時刻と、予め記憶する最大待ち時間Ｔとに基づいて、２ページ目の印刷準備が完了するまで待つかどうかを判断することを特徴とする請求項７又は８記載のプリンタ。
【請求項１０】
前記印刷ジョブには、該印刷ジョブに基づき印刷されるページ数の情報が含まれており、
前記コントローラは、印刷ジョブを受信した場合に、ＰＮ＝ＰＮ＋前記受信した印刷ジョブに基づき印刷されるページ数、によりＰＮを更新し、
印刷指示を行った場合に、ＰＮ＝ＰＮ−印刷指示を行ったページ数、によりＰＮを更新することを特徴とする請求項１乃至９のいずれか１項に記載のプリンタ。
【請求項１１】
ｎページセット印刷可能なプリンタに対する制御方法であって、
印刷予定のデータを印刷するために必要な印刷処理実行回数に基づいて、同時に印刷するページ数を制御することを特徴とするプリンタ制御方法。
【請求項１２】
印刷指示を行う時点で、ｎページセット印刷におけるｍ（ｍ＜ｎ）ページ目の印刷準備が完了し、ｍ＋１ページ目の印刷準備が完了していない場合に、
前記時点における印刷未指示トータルページ数ＰＮに基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断する工程を備えることを特徴とする請求項１１記載のプリンタ制御方法。
【請求項１３】
前記工程は、
（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎと、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎとの比較結果に基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断することを特徴とする請求項１２記載のプリンタ制御方法。
【請求項１４】
前記工程は、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎ＝（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎが成立する時は、ｍ＋１ページ目の印刷準備が完了するまで待たずにｍページ分について印刷指示を行うこと工程を備えることを特徴とする請求項１２又は１３記載のプリンタ制御方法。
【請求項１５】
前記工程は、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎ＞（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎが成立する時は、前記ｍ＋１ページ目の印刷準備完了予想時刻と、予め記憶する最大待ち時間Ｔとに基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断する工程を備えることを特徴とする請求項１２乃至１４のいずれか１項に記載のプリンタ制御方法。
【請求項１６】
ｎ＝２、ｍ＝１であることを特徴とする請求項１２乃至１５のいずれか１項に記載のプリンタ制御方法。
【請求項１７】
２ページセット印刷可能なプリンタに対する制御方法であって、
印刷指示を行う時点で、２ページセット印刷における１ページ目の印刷準備が完了し、２ページ目の印刷準備が完了していない場合に、
印刷未指示トータルページ数ＰＮが偶数であるか奇数であるかに基づいて、２ページ目の印刷準備が完了するまで待つかどうかを判断する工程を備えることを特徴とするプリンタ制御方法。
【請求項１８】
前記工程は、印刷未指示トータルページ数ＰＮが奇数の時は、２ページ目の印刷準備が完了するまで待たずに１ページ分について印刷指示を行う工程を備えることを特徴とする請求項１７記載のプリンタ制御方法。
【請求項１９】
前記工程は、印刷準備未指示トータルページ数ＰＮが偶数の時は、２ページ目の印刷準備完了予想時刻と、予め記憶する最大待ち時間Ｔとに基づいて、２ページ目の印刷準備が完了するまで待つかどうかを判断する工程を備えることを特徴とする請求項１７又は１８記載のプリンタ制御方法。
【請求項２０】
請求項１０乃至１９のいずれか一項に記載のプリンタ制御方法をコンピュータで実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項２１】
請求項１０乃至１９のいずれか一項に記載のプリンタ制御方法をコンピュータで実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数ページセット印刷可能なプリンタに関し、特に、全体としての印刷時間を短縮することのできるプリンタ制御技術に関する。
【０００２】
【従来の技術】
近年、オフィスや一般家庭において、ページ単位で印刷が可能なページプリンタが急速に普及してきており、低価格化、印刷の高品質化と共に印刷速度の高速化が望まれている。そのうち印刷の高速化については、これまで様々な手法が開発されてきているが、その一つとして複数ページセット印刷という手法がある。
【０００３】
これは、１回の印刷処理で同時に複数ページの印刷を実行するものであり、１回に２ページの印刷を行う場合は２ページセット印刷あるいは２アップ印刷といい、同時にｎページを印刷する場合にはｎページセット印刷あるいはｎアップ印刷という。
【０００４】
かかる複数ページセット印刷行うことにより印刷時間を短縮できる理由について、２アップ印刷を例にして具体的に説明する。
【０００５】
例えばカラー印刷の場合、１回の印刷処理で、４色のトナーを１色につき１回転の転写体の動作で順番に転写体に付着させ、最後の色のトナーを付着させながら、付着した４色のトナー画像を転写体から紙に転写するという動作が行われる。従って、１回の印刷処理で４回余りの転写体の回転を要することになる。
【０００６】
ここで、Ａ３サイズ用のプリンタにおいて、Ａ４サイズ１枚のみを印刷する場合、トナーを付着させる転写体上の面積は半分となるが、印刷に必要な転写体の回転数はＡ３サイズ１枚を印刷する場合と変わらない。例えばカラー印刷の場合、Ａ４サイズ１枚のみを印刷する場合においても、４色のトナーを転写体へ付着させる必要があるため、Ａ３サイズ１枚を印刷する場合と同様に、４回転の転写体の動作を要することになる。
【０００７】
通常、転写体の回転は一定速度であるため、転写体の回転数が同じであれば、印刷に要する時間もほぼ同じとなる。すなわち、前記プリンタにおいて、Ａ４サイズ１枚の印刷にかかる時間とＡ３サイズ１枚にかかる時間は、ほぼ変わらないことになる。
【０００８】
従って、Ａ４サイズ２枚分の印刷を行いたい場合、これらをＡ３サイズ１枚の印刷イメージとして印刷する（２アップ印刷を行う）ことにより、これらをそれぞれＡ４サイズの印刷イメージとして２回印刷する（１アップ印刷を２回行う）場合と比較して、印刷時間を約１／２に短縮することが可能となる。
【０００９】
一方、２アップ印刷を行うためには、２ページ分のデータが、プリンタのコントローラ部から実際の印刷動作を行うエンジン部へ出力されていなければならない。即ち、コントローラ部が２ページ分のデータ処理を行ってエンジン部に供給し、エンジン部で２ページ分の印刷の準備が整っていなければ、２アップ印刷を行うことができない。
【００１０】
例えば、１ページ目のデータが届いた後、２ページ目のデータが届くのに時間がかかる場合には、そのデータを待って２アップ印刷を行うよりも、１ページずつ１アップ印刷を２回行った方が、印刷を早く終了させられる場合がある。
【００１１】
このことは、２ページ目のデータが届くのを待って２アップ印刷を１回行うのに要する時間と、１アップ印刷を２回行うのに要する時間とを比較した場合において、前者の方が短くなる限界の待ち時間が存在することを意味する。かかる限界の待ち時間を最大待ち時間Ｔと呼ぶことにする。最大待ち時間Ｔは、１アップ印刷を２回行って２ページを印刷するのに要する時間から、２アップ印刷を１回行って２ページを印刷するのに要する時間を差し引いた時間として与えられる。
【００１２】
【発明が解決しようとする課題】
１回の印刷処理にかかる時間Ｐ、印刷処理を実行する回数（総印刷回数）Ｑ、総印刷時間Ｓのあいだには、Ｓ≧Ｐ×Ｑという関係が成立する。ここで、上述したように、１回の印刷処理にかかる時間Ｐは、同時に印刷するページ数（以下、「アップ数」と呼ぶ。）には依存せずにほぼ一定であるため、総印刷時間Ｓは総印刷回数Ｑに大きく支配されることになる。
【００１３】
このことは、次のデータを待ってｎアップ印刷を実行することで総印刷回数Ｑを減らすことができるならば、総印刷時間Ｓも短縮され得るが、ｎアップ印刷を行っても総印刷回数Ｑが減らない場合は、実質的に総印刷時間Ｓは短縮されないことを意味する。
【００１４】
従来においては、予想される総印刷回数Ｑに関わらず、ある一定の時間内で次のデータを待ち、なるべくｎアップ印刷を行うように制御がなされていた。そのため、次のデータを待つことでｎアップ印刷を実行できたとしても、総印刷回数Ｑが減らない場合は、データを待った分だけかえって総印刷時間Ｓが増加してしまうという問題があった。
【００１５】
かかる問題を具体例に基づいて説明する。例えば、２アップ印刷可能なプリンタにおいて、８ページ分について印刷を予定しており、１ページ分について印刷準備が完了している場合を考える（図７参照）。図において、四角形は１回の印刷処理を表し、四角形の中の数字はアップ数を表す。なお、通常、１回の印刷処理に要する時間は、コントローラ部が２ページ分のデータを準備するのに要する時間より短いため、１回目の印刷を行っている間に、２回目以降の印刷処理において２アップ印刷のために必要なデータは準備できているものとする。
【００１６】
この場合、直ちに１ページ分について１アップ印刷を行う第１のケースでは総印刷回数Ｑは５となり（図７の（ａ））、次のページ分について印刷準備が完了するのを待って２アップ印刷を行う第２のケースでは総印刷回数Ｑは４となる（図７の（ｂ））。従って、次のページ分について印刷準備が完了するまでの待ち時間ｗが、１回の印刷処理にかかる時間Ｐよりも短い場合は、第２のケースの方が総印刷時間Ｓは短くなる。
【００１７】
これに対し、２アップ印刷可能なプリンタにおいて、７ページ分について印刷を予定しており、１ページ分について印刷準備が完了している場合を考える。この場合、第１のケース（図７の（ｃ））、第２のケース（図７の（ｄ））ともに総印刷回数Ｑは４となるため、待ち時間ｗの分だけ、第２のケースの方が総印刷時間Ｓは増加してしまうことになる。
【００１８】
そこで、本発明は、複数ページセット印刷において、印刷予定のデータに関する総印刷回数を考慮することで、全体として印刷に要する時間、すなわち総印刷時間を短縮することのできるプリンタ制御技術を提供することを目的とする。
【００１９】
【課題を解決するための手段】
本発明のプリンタ制御方法は、ｎページセット印刷可能なプリンタに対する制御方法であって、印刷予定のデータを印刷するために必要な印刷処理実行回数に基づいて、同時に印刷するページ数を制御することを特徴とする。
【００２０】
好適には、印刷指示を行う時点で、ｎページセット印刷におけるｍ（ｍ＜ｎ）ページ目の印刷準備が完了し、ｍ＋１ページ目の印刷準備が完了していない場合に、前記時点における印刷未指示トータルページ数ＰＮに基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断する工程を備える。好適には、ｎ＝２、ｍ＝１である。
【００２１】
前記工程は、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎと、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎとの比較結果に基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断することが望ましい。
【００２２】
また前記工程は、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎ＝（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎが成立する時は、ｍ＋１ページ目の印刷準備が完了するまで待たずにｍページ分について印刷指示を行うこと工程を備えることが望ましい。
【００２３】
また前記工程は、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎ＞（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎが成立する時は、前記ｍ＋１ページ目の印刷準備完了予想時刻と、予め記憶する最大待ち時間Ｔとに基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断する工程を備えることが望ましい。
【００２４】
本発明のプリンタ制御方法は、２ページセット印刷可能なプリンタに対する制御方法であって、印刷指示を行う時点で、２ページセット印刷における１ページ目の印刷準備が完了し、２ページ目の印刷準備が完了していない場合に、印刷未指示トータルページ数ＰＮが偶数であるか奇数であるかに基づいて、２ページ目の印刷準備が完了するまで待つかどうかを判断する工程を備えることを特徴とする。
【００２５】
前記工程は、印刷未指示トータルページ数ＰＮが奇数の時は、２ページ目の印刷準備が完了するまで待たずに１ページ分について印刷指示を行う工程を備えることが望ましい。
【００２６】
また前記工程は、印刷準備未指示トータルページ数ＰＮが偶数の時は、２ページ目の印刷準備完了予想時刻と、予め記憶する最大待ち時間Ｔとに基づいて、２ページ目の印刷準備が完了するまで待つかどうかを判断する工程を備えることが望ましい。
【００２７】
本発明のプログラムは、本発明のプリンタ制御方法の各工程をコンピュータ上で実行させることを特徴とする。本発明のプログラムは、ＣＤ−ＲＯＭ、磁気ディスク、半導体メモリなどの各種の記録媒体を通じてコンピュータにインストールまたはロードすることができる。
【００２８】
本発明のプリンタは、受信した印刷ジョブを解釈して印刷の指示を行うコントローラと、前記印刷の指示に従って印刷を実行するエンジンとを備えた、ｎページセット印刷可能なプリンタであって、前記コントローラが、印刷予定のデータを印刷するために必要な印刷処理実行回数に基づいて、同時に印刷するページ数を制御することを特徴とする。
【００２９】
本発明のプリンタは、受信した印刷ジョブを解釈して印刷の指示を行うコントローラと、前記印刷の指示に従って印刷を実行するエンジンとを備えた、ｎページセット印刷可能なプリンタであって、前記コントローラが、印刷指示を行う時点で、ｎページセット印刷におけるｍ（ｍ＜ｎ）ページ目の印刷準備が完了し、ｍ＋１ページ目の印刷準備が完了していない場合に、前記時点における印刷未指示トータルページ数ＰＮに基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断することを特徴とする。好適には、ｎ＝２、ｍ＝１である
前記コントローラが、前記場合において、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎと、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎとの比較結果に基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断することが望ましい。
【００３０】
また前記コントローラが、前記場合において、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎ＝（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎが成立する時は、ｍ＋１ページ目の印刷準備が完了するまで待たずにｍページ分について印刷指示を行うことが望ましい。
【００３１】
また前記コントローラが、前記場合において、（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−１）％ｎ＞（印刷未指示トータルページ数ＰＮ＋ｎ−ｍ−２）％ｎが成立する時は、前記ｍ＋１ページ目の印刷準備完了予想時刻と、予め記憶する最大待ち時間Ｔとに基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断することが望ましい。
【００３２】
本発明のプリンタは、受信した印刷ジョブを解釈して印刷の指示を行うコントローラと、前記印刷の指示に従って印刷を実行するエンジンとを備えた、２ページセット印刷可能なプリンタであって、前記コントローラが、印刷指示を行う時点で、２ページセット印刷における１ページ目の印刷準備が完了し、２ページ目の印刷準備が完了していない場合に、印刷未指示トータルページ数ＰＮが偶数であるか奇数であるかに基づいて、２ページ目の印刷準備が完了するまで待つかどうかを判断することを特徴とする。
【００３３】
前記コントローラが、前記場合において、印刷未指示トータルページ数ＰＮが奇数の時は、２ページ目の印刷準備が完了するまで待たずに１ページ分について印刷指示を行うことが望ましい。
【００３４】
また前記コントローラが、前記場合において、印刷準備未指示トータルページ数ＰＮが偶数の時は、２ページ目の印刷準備完了予想時刻と、予め記憶する最大待ち時間Ｔとに基づいて、２ページ目の印刷準備が完了するまで待つかどうかを判断することが望ましい。
【００３５】
前記印刷ジョブには、該印刷ジョブに基づき印刷されるページ数の情報が含まれており、前記コントローラは、印刷ジョブを受信した場合に、ＰＮ＝ＰＮ＋前記受信した印刷ジョブに基づき印刷されるページ数、によりＰＮを更新し、印刷指示を行った場合に、ＰＮ＝ＰＮ−印刷指示を行ったページ数、によりＰＮを更新することが望ましい。
【００３６】
なお、本明細書において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」が有する機能が２つ以上の物理的手段により実現されても、２つ以上の「部」の機能が１つの物理的手段により実現されても良い。
【００３７】
また、本明細書において、「％」により示される演算は、商を与える演算を意味する。例えば、Ｚ＝Ｘ％Ｙにおいて、ＺはＸをＹで除算した場合の商となる。
【００３８】
【発明の実施の形態】
（第１の実施形態）
以下、図面を参照して本発明の第１の実施の形態を説明する。図１は、本実施形態のプリンタの概略構成を示した図である。図において、プリンタ２が、パーソナルコンピュータなどのホストコンピュータ１に接続され、ホストコンピュータ１から送信される印刷ジョブに基づいて印刷を実行する、複数ページセット印刷可能なページプリンタである。
【００３９】
プリンタ２は、大きくコントローラ３とエンジン４に分かれており、コントローラ３は、ホストコンピュータ１から受け取った印刷ジョブを解釈し、印刷可能なデータとしてエンジン４へ出力する。エンジン４はその出力されたデータに従って実際の印刷動作を実行する。かかる印刷ジョブには、ホストコンピュータ１のプリンタドライバーによって、該印刷ジョブに基づき印刷されるページ数（以下、「ジョブページ数」と呼ぶ。）の情報が挿入されている。
【００４０】
図に示すとおり、プリンタ２のコントローラ３は、受信部５、解釈部６、時刻管理部７、印刷キュー８、及び印刷部９を備えている。受信部５は、ホストコンピュータ１から送信されてくる一塊の印刷ジョブを受け取り、それを順次解釈部６へ伝えていくバッファーとしての役割を担っている。解釈部６は、受信部５から送られてくる印刷ジョブを１ページ分毎に解釈し、１ページ分毎の印刷要求データを作成する。具体的には、PostScriptやESC/Pageなどのページ記述言語で記載された印刷ジョブを解釈して、１ページ分の印刷を行うために必要な全ての情報を含んだ印刷要求構造体（印刷要求データ）を作成して、順次印刷キュー８へ送信する。
【００４１】
また、時刻管理部７は、解釈部６などの他の部位からアクセスに応答して、その時点の時刻を返答する。印刷キュー８は、前記解釈部６から送られる印刷要求データを溜めるバッファーとしての役割を果たす。最後に、印刷部９は、前記印刷要求データに基づいてエンジン４に実際に印刷を行わせる機能を担い、エンジン４の状況に合わせて前記印刷キュー８から印刷要求データを取出し、それを順次バンドイメージに変換してエンジン４へ送信（印刷指示）する。
【００４２】
以上説明したような構成を備える本発明を適用したプリンタ２は、複数ページセット印刷を行う場合に、受信した印刷ジョブに基づいて、これから印刷する予定のトータルページ数（解釈部６において解釈が終了していない分を含む；印刷部９において印刷指示した分を含まない）を把握し、かかるトータルページ数（以下、「印刷未指示トータルページ数」と呼ぶ。）に基づいてこれらを印刷するために必要な総印刷回数を算出し、かかる総印刷回数に基づいて、次回印刷処理におけるアップ数を決定する、言い換えると、その時点で印刷準備が完了している印刷要求データについて印刷指示をだすか、それとも次のページについて印刷要求データが準備できるまで待つかを決定しようとするものである。
【００４３】
（第１実施例）
以下、プリンタ２が２ページセット印刷を実行可能な場合（第１実施例）について、制御内容を具体的に説明する。
【００４４】
図２は第１実施例におけるプリンタ２の解釈部６における処理フローを、図３及び図４は、それぞれ第１実施例におけるプリンタ２の印刷部９における処理フローを示した図である。以下、図２〜図４に基づいて、プリンタ２のコントローラ３で行われる総印刷回数を考慮した制御内容について詳述する。なお、以下の説明における１ページのサイズは、プリンタ２において２アップ印刷が可能なサイズであるものとする。また、印刷未指示トータルページ数ＰＮの初期値は０とする。
【００４５】
まず、解釈部６は、受信部５がホストコンピュータ１からの印刷ジョブを受信するのを待つ（図２のステップS1）。印刷ジョブを受信すると、該印刷ジョブよりジョブページ数ＪＰＮを抽出し（図２のステップS2）、印刷未指示トータルページ数ＰＮに加算する（図２のステップS3）。これにより、複数の印刷ジョブにまたがって、ジョブページ数ＪＰＮが印刷未指示トータルページ数ＰＮに蓄積されていくことになる。
【００４６】
次に、解釈部６は、該印刷ジョブ中の処理対象ページ番号を示すパラメータｉを初期化し（図２のステップS4）、該ｉの値を１インクリメントして、第ｉページ目の解釈を開始する（図２のステップS5）。
【００４７】
解釈が開始されると、解釈部６は、前記時刻管理部７から時刻を取得し、その時刻を第ｉページ解釈開始時刻▲１▼とする（図２のステップS6）。
【００４８】
次に、解釈部６は、該印刷ジョブ中の第ｉページ目のデータについて解釈を実行して、第ｉページ目の印刷要求構造体（印刷要求データ）を作成し（図２のステップS7）、それが完了した時点で、再度時刻管理部７から時刻を取得して、その時刻を第ｉページ解釈終了時刻▲２▼とする（図２のステップS8）。
【００４９】
そして、解釈部６は、前記取得した第ｉページ解釈終了時刻▲２▼から第ｉページ解釈開始時刻▲１▼を差し引いて解釈経過時間ｔを求め、その値を第ｉページ解釈終了時刻▲２▼に足して、次のページである第ｉ＋１ページの解釈終了予想時刻▲３▼を算出する（図２のステップS9）。
【００５０】
このステップで求められた解釈経過時間ｔには、解釈部６による解釈にかかった時間だけではなく、ホストコンピュータ１からの受信にかかった時間が含まれる場合もある。これは、ホストコンピュータ１とプリンタ２をつなぐネットワークが混雑していて通信に時間がかかる場合には、解釈部６における解釈処理が先行し、印刷ジョブ中の第ｉページ目のデータを受信するまでの過程が律速となることも有り得るからである。また、ここで第ｉ＋１ページの解釈終了予想時刻▲３▼を第ｉページ解釈終了時刻▲２▼＋ｔとしたのは、一つの印刷ジョブ内に存在する連続する２ページ間では、データ量などによる解釈処理に要する時間及びネットワークの混雑状況などによる通信時間に大きな差異は発生しないであろうと推定するからである。
【００５１】
次に、解釈部６は、この第ｉ＋１ページ解釈終了時刻▲３▼を前記作成した第ｉページの印刷要求データに添付して、印刷キュー８に送信する（図２のステップS10）。
【００５２】
以上の処理で解釈部６における１ページ分の解釈処理が終了する。その後、解釈部６は、該印刷ジョブ中の全ページについて解釈処理を行ったかどうかを判断し（図２のステップS11）、行っていない場合は図２のステップS5からステップS10までの処理を繰り返し実行する。全ページについて解釈処理を行っている場合（印刷ジョブ中に次のページの記述がなく印刷ジョブの終了を示す記述がある場合）は、該印刷ジョブについて解釈処理を終了し、図２のステップS1に戻る。
【００５３】
以上、図２に基づいて説明したように、ページ単位で作成された印刷要求データは、前述の通り、印刷キュー８に一旦格納され、印刷部９から取出されるのを待つ。
【００５４】
印刷部９は、図３に示すように、エンジン４の状況をみて、次の印刷要求データを取出してエンジン４へ次の印刷指示をしてもよいか否かを判断する（図３ステップS0）
印刷部９は、次の印刷要求データを取出してよいタイミングになっている場合、まず、印刷キュー８に印刷要求データが一つ以上届いているかを確認し（図３のステップS1）、届いていなければ届くのを待つ。
【００５５】
すでに印刷キュー８に２ページ分（第ｊページ分と第ｊ＋１ページ分）の印刷要求データが届いている場合（図３のステップS2のYes）には、直ちにその２ページ分について２アップ印刷の処理を開始する（図３のステップS3）。具体的には、２ページ分の印刷要求データを印刷キュー８から取出した後、前述したように、順次バンドイメージに変換してエンジン４へ送信し、１回の印刷処理で２ページ分の印刷を実行させる。そして、印刷未指示トータルページ数ＰＮより、印刷指示を行ったページ数に相当する２を減算し（図３のステップS4）、図３のステップS0に戻る。
【００５６】
一方、１ページ分（第ｊページ分）のみ届いている場合（図３のステップS2のNo）には、その時点で直ちに第ｊページ分について１アップ印刷を行う第１のケースにおいて予想される総印刷回数Ａと、第ｊ＋１ページ分の印刷要求データが届くまで待って第ｊページ分と合わせて２アップ印刷を行う第２のケースにおいて予想される総印刷回数Ｂを、以下の式に従って算出する（図３のステップS5）。なお、本実施例においてｎ＝２である。
Ａ＝（ＰＮ＋ｎ−１−既に届いているページ数）％ｎ＋１＝ＰＮ％２＋１
Ｂ＝（ＰＮ＋ｎ−１−既に届いているページ数−１）％ｎ＋１＝（ＰＮ−１）％２＋１
ここで、通常、１回の印刷処理に要する時間は、コントローラ３が２ページ分の印刷要求データを準備するのに要する時間より長いため、１回目の印刷を行っている間に、次の印刷のために必要な印刷要求データは準備できている場合が多い。そこで、上記式では、印刷処理が連続して行われると仮定し、２回目以降の印刷処理では、端数がでる可能性がある最終回を除き、２アップ印刷が実行されるものとして総印刷回数を求めている。
【００５７】
次に、ＡとＢとを比較し、Ａ＝Ｂ又はＡ＞Ｂが成立するかどうかを判断する（図３のステップS6）。ここで、ＰＮが奇数の場合は常にＡ＝Ｂが成立し、ＰＮが偶数の場合は常にＡ＞Ｂが成立するため、本実施例では、ＡとＢとを比較し、Ａ＝Ｂ又はＡ＞Ｂが成立するか否かを判断することは、ＰＮが奇数であるか偶数であるかを判断することと同値である。
【００５８】
Ａ＝Ｂの場合（ＰＮが奇数の場合）、すなわち、第１のケースと第２のケースとで総印刷回数が等しい場合（図３のステップS6のYes）、直ちに第ｊページ分について１アップ印刷の処理を開始する（図３のステップS7）。総印刷回数が変わらない場合、第ｊ＋１ページ分のデータが届くの待つ分だけ、第２のケースの方が、総印刷時間が増加してしまうからである。そして、印刷未指示トータルページ数ＰＮより、印刷指示を行ったページ数に相当する１を減算し（図３のステップS8）、図３のステップS0に戻る。
【００５９】
Ａ＞Ｂの場合（ＰＮが偶数の場合）、すなわち、第１のケースの方が第２のケースよりも総印刷回数が多い場合（図３のステップS6のNo）、印刷部９は、時刻管理部７から時刻を取得し、第ｊページ印刷着手時刻▲４▼とする（図４のステップS9）。この第ｊページ印刷着手時刻▲４▼が、第ｊページの印刷準備が完了した時刻と言える。次に、この第ｊページ印刷着手時刻▲４▼に前述した最大待ち時間Ｔを加えた最大待ち時刻▲５▼を求め（図４のステップS10）、第ｊページ分の印刷要求データに添付されている第ｊ＋１ページ解釈終了予想時刻▲３▼と比較する（図４のステップS11）。
【００６０】
上記比較の結果、第ｊ＋１ページ解釈終了予想時刻▲３▼が最大待ち時刻▲５▼よりも遅い場合（図４のステップS11のYes）には、印刷部９は、直ちに第ｊページ分について１アップ印刷の処理を開始する（図４のステップS12）。第ｊ＋１ページの印刷要求データが届くのを待って２アップ印刷を行うことによっては、時間の短縮が図られない可能性が高いからである。そして、印刷未指示トータルページ数ＰＮより、印刷指示を行ったページ数に相当する１を減算し（図４のステップS13）、図３のステップS0に戻る。
【００６１】
一方、比較の結果、第ｊ＋１ページ解釈終了予想時刻▲３▼が最大待ち時刻▲５▼よりも早い場合（図４のステップS11のNo）には、第ｊページ分について１アップ印刷処理を開始せずに、最大待ち時刻▲５▼まで、第ｊ＋１ページ分の印刷要求データが届くのを待つ（図４のステップS14、S15）。そして、届いた場合（図４のステップS14のYes）には、第ｊページ分と第ｊ＋１ページ分について２アップ印刷の処理を開始する（図４のステップS16）。この場合は、第ｊページと第ｊ＋１ページについてそれぞれ個別に１アップ印刷を行うよりも、時間の短縮が図れる可能性が高いからである。そして、印刷未指示トータルページ数ＰＮより、印刷指示を行ったページ数に相当する２を減算し（図４のステップS17）、図３のステップS0に戻る。
【００６２】
最大待ち時刻▲５▼まで待っても、第ｊ＋１ページ分の印刷要求データが届かない場合（図４のステップS15のYes）には、第ｊページ分について１アップ印刷の処理を開始する（図４のステップS18）。そして、印刷未指示トータルページ数ＰＮより、印刷指示を行ったページ数に相当する１を減算し（図４のステップS19）、図３のステップS0に戻る。
【００６３】
ここで、第ｊページ分について１アップ印刷の処理を開始せずに、図３のステップS2に戻るように構成してもよい。最大待ち時刻まで待ってもデータが届かない場合でも、直ちに１アップ印刷を行うより、ステップS2に戻って総印刷回数を予想してから、１アップ印刷を行うか更に待つかを決めた方が、総印刷時間を短縮できる場合があるからである。例えば、第ｊページについて１アップ印刷を行っている間に、第ｊ＋１ページのデータが届く可能性があり、ＰＮが偶数のままであれば、待った方が総印刷時間は短くなる可能性がある。
【００６４】
なお、以上の説明では、最大待ち時刻▲５▼まで第ｊ＋１ページの印刷要求データを待つ方法が取られているが、第ｊ＋１ページの印刷要求データを待つ限度の時刻を最大待ち時刻▲５▼とせずに第ｊ＋１ページ解釈終了予想時刻▲３▼とすることもできる。
【００６５】
以上説明したように、第１実施例に係るプリンタ２の制御方法では、直ちに１アップ印刷を行う第１のケースと、次の印刷要求データを待って２アップ印刷を行う第２のケースとにおいて、それぞれ予想される総印刷回数を算出して比較し、第２のケースの方が総印刷回数が少なくなる場合に次の印刷要求データを待つように制御している。すなわち、総印刷回数が少なくなる場合はアップ数を２とし、変わらない場合はアップ数を１とするように制御しており（言い換えると、２アップ印刷を行うかどうかを制御しており）、これにより、２アップ印刷のために次のデータを待つことによって逆に総印刷時間が増加してしまう可能性を低減させることができる。
【００６６】
（第２実施例）
以下、プリンタ２がｎページセット印刷を実行可能な場合（第２実施例）について、制御内容を具体的に説明する。
【００６７】
図５及び図６は、それぞれ第２実施例におけるプリンタ２の印刷部９における処理フローを示した図である。以下、図５及び図６に基づいて、プリンタ２のコントローラ３で行われる総印刷回数を考慮した制御内容について詳述する。ただし、解釈部６の動作内容については第1実施例と同内容であるため説明を省略する。また、印刷部９の動作内容において第１実施例と共通する部分については一部省略する。
【００６８】
以下の説明における１ページのサイズは、プリンタ２においてｎアップ印刷が可能なサイズであるものとする。また、印刷未指示トータルページ数ＰＮの初期値は０とする。
【００６９】
印刷部９は、図５に示すように、エンジン４の状況をみて、次の印刷要求データを取出してエンジン４へ次の印刷指示をしてもよいか否かを判断する（図５ステップS0）
印刷部９は、次の印刷要求データを取出してよいタイミングになっている場合、まず、印刷キュー８に届いている印刷要求データの数ｍを取得する（図５ステップS1）。かかるｍは印刷キュー８を参照して取得することができるが、例えば、解釈部６において１ページ分について解釈が終了するごとに１インクリメントし、印刷部９において印刷要求データを取出すごとに、取出した印刷要求データ数分デクリメントするパラメータを設けておき、かかるパラメータを参照して取得するようにしてもよい。
【００７０】
そして、印刷部９は、ｍに基づいて条件判断を行う（図５ステップS2）。ｍ＝０の場合、印刷要求データが届くのを待つべく、図５のステップS1に戻る。
【００７１】
また、ｍ＝ｎの場合、直ちにそのｍ（＝ｎ）ページ分についてｎアップ印刷の処理を開始する（図５のステップS3）。そして、印刷未指示トータルページ数ＰＮより、印刷指示を行ったページ数に相当するｎを減算し（図５のステップS4）、図４のステップS0に戻る。
【００７２】
一方、０＜ｍ＜ｎの場合、その時点で直ちにｍページ分についてｍアップ印刷を行う第１のケースにおいて予想される総印刷回数Ａと、次のページ分の印刷要求データが届くまで待って第ｍ＋１ページ分についてｍ＋１アップ印刷を行う第２のケースにおいて予想される総印刷回数Ｂを、以下の式に従って算出する（図５のステップS5）。
Ａ＝（ＰＮ＋ｎ−１−ｍ）％ｎ＋１
Ｂ＝（ＰＮ＋ｎ−１−ｍ−１）％ｎ＋１＝（ＰＮ＋ｎ−ｍ−２）％ｎ＋１
次に、ＡとＢとを比較する（図５のステップS6）。ただし、上式において、Ａ、Ｂともに１が加算されているため、両者の比較は、（ＰＮ＋ｎ−１−ｍ）％ｎと（ＰＮ＋ｎ−ｍ−２）％ｎを比較すれば十分である。
【００７３】
Ａ＝Ｂの場合、すなわち、第１のケースと第２のケースとで総印刷回数が等しい場合（図５のステップS6のYes）、直ちにｍページ分についてｍアップ印刷の処理を開始する（図５のステップS7）。総印刷回数が変わらない場合、次のページ分のデータが届くの待つ分だけ、第２のケースの方が、総印刷時間が増加してしまうからである。そして、印刷未指示トータルページ数ＰＮより、印刷指示を行ったページ数に相当するｍを減算し（図５のステップS8）、図５のステップS0に戻る。
【００７４】
Ａ＞Ｂの場合、すなわち、第１のケースの方が第２のケースよりも総印刷回数が多い場合（図５のステップS6のNo）、印刷部９は、時刻管理部７から時刻を取得し、準備完了ページ印刷着手時刻▲４▼とする（図６のステップS9）。次に、この準備完了印刷着手時刻▲４▼に、１回の印刷処理に要する平均時間（本実施例では、これを最大待ち時間Ｔとする）を加えた最大待ち時刻▲５▼を求め（図６のステップS10）、印刷キュー８に届いているｍページ分の印刷要求データのうち最後に届いた印刷要求データに添付されている解釈終了予想時刻▲３▼と比較する（図６のステップS11）。
【００７５】
上記比較の結果、解釈終了予想時刻▲３▼が最大待ち時刻▲５▼よりも遅い場合（図６のステップS11のYes）には、印刷部９は、直ちにｍページ分についてｍアップ印刷の処理を開始する（図６のステップS12）。次のページ分の印刷要求データが届く前にｍアップ印刷を終了できる可能性が高いからである。そして、印刷未指示トータルページ数ＰＮより、印刷指示を行ったページ数に相当するｍを減算し（図６のステップS13）、図５のステップS0に戻る。
【００７６】
一方、比較の結果、解釈終了予想時刻▲３▼が最大待ち時刻▲５▼よりも早い場合（図６のステップS11のNo）には、ｍページ分についてｍアップ印刷処理を開始せずに、図５のステップS1に戻る。なお、ステップS1に戻ったところで、次のページ分の印刷要求データがまだ届いていない（ｍが変わっていない）可能性があるが、その場合でも、新たに印刷ジョブを受信してＰＮが更新されている可能性があるため、ステップS6において前回と異なる分岐先に進む場合が起こり得る。
【００７７】
以上説明したように、第２実施例に係るプリンタ２の制御方法では、直ちに１アップ印刷を行う第１のケースと、次の印刷要求データを待って２アップ印刷を行う第２のケースとにおいて、それぞれ印刷予定のデータを印刷するために必要な総印刷回数を算出して比較し、第２のケースの方が総印刷回数が少なくなる場合に次の印刷要求データを待つように制御している。すなわち、同時に印刷するページ数を制御する（総印刷回数が少なくなる場合はアップ数を１増やし、変わらない場合はアップ数を増やさずに直ちに印刷する）ことで、全体として総印刷時間が短くなるような制御を実現している。
【００７８】
（第２の実施形態）
次に、本発明の第２の実施の形態について説明する。第２の実施形態は、プリンタ制御プログラムを記録した記録媒体を備える。この記録媒体はＣＤ−ＲＯＭ、磁気ディスク、半導体メモリその他の記録媒体であってよく、ネットワークを介して流通する場合も含む。また、プリンタ用カードやプリンタ用オプションボードとして流通する場合も含む。
【００７９】
プリンタ制御プログラムは記録媒体から情報処理装置に読み込まれ、情報処理装置の動作を制御する。情報処理装置は、プリンタ制御プログラムの制御により、ｎページセット印刷可能なプリンタに対し、印刷予定のデータを印刷するために必要な印刷処理実行回数に基づいて、同時に印刷するページ数を制御する。
【００８０】
より具体的には、情報処理装置は、印刷指示を行う時点で、ｎページセット印刷におけるｍ（ｍ＜ｎ）ページ目の印刷準備が完了し、ｍ＋１ページ目の印刷準備が完了していない場合に、前記時点における印刷未指示トータルページ数ＰＮに基づいて、ｍ＋１ページ目の印刷準備が完了するまで待つかどうかを判断する工程を実行する。
【００８１】
また、情報処理装置は、プリンタ制御プログラムの制御により、２ページセット印刷可能なプリンタに対し、印刷予定のデータを印刷するために必要な印刷処理実行回数に基づいて、同時に印刷するページ数を制御する。
【００８２】
より具体的には、情報処理装置は、印刷指示を行う時点で、２ページセット印刷における１ページ目の印刷準備が完了し、２ページ目の印刷準備が完了していない場合に、印刷未指示トータルページ数ＰＮが偶数であるか奇数であるかに基づいて、２ページ目の印刷準備が完了するまで待つかどうかを判断する工程を実行する。
【００８３】
すなわち、情報処理装置は、プリンタ制御プログラムの制御により、図１におけるコントローラ３（特に、解釈部６、印刷部９）による処理と同一の処理を実行する。
【００８４】
（その他）
なお、本発明は上記実施形態に限定されることなく、種々に変形して適用することが可能である。例えば、次のページが次の印刷ジョブに含まれる場合は、次のページの印刷要求データが届くのに時間がかかると予想される。そのため、上記実施形態に、印刷ジョブの区切りを考慮して次のデータを待つかどうかを判断する処理を加えることで、更に印刷時間の短縮を見込むことができる。具体的には、解釈部６において、印刷ジョブの区切り（ジョブの終了）を印刷キュー８に伝える（印刷要求データとして送る）ように構成し、印刷部９において、印刷ジョブの区切りを示す印刷要求データを取出した場合、印刷準備が完了している分の印刷要求データについて直ちに印刷を実行するように構成することが考えられる。
【００８５】
【発明の効果】
本発明によれば、複数ページセット印刷において、印刷未指示トータルページ数に基づき総印刷回数を算出し、かかる算出した総印刷回数が減るように、アップ数、待ち時間、ｎアップ印刷の実行可否を制御しているため、総印刷時間の短縮を図ることができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態に係るプリンタの概略の構成を示すブロック図である。
【図２】  第１の実施形態に係るプリンタの解釈部について、第１実施例における処理フローを示した図である。
【図３】  第１の実施形態に係るプリンタの印刷部について、第１実施例における処理フローを示した図である。
【図４】  第１の実施形態に係るプリンタの印刷部について、第１実施例における処理フローを示した図である。
【図５】  第１の実施形態に係るプリンタの印刷部について、第２実施例における処理フローを示した図である。
【図６】  第１の実施形態に係るプリンタの印刷部について、第２実施例における処理フローを示した図である。
【図７】  従来における問題点を説明するための図である。
【符号の説明】
１    ホストコンピュータ
２    プリンタ
３    コントローラ
４    エンジン
５    受信部
６    解釈部
７    時刻管理部
８    印刷キュー
９    印刷部
【図１】
0003744351.tif 000002
【図２】
0003744351.tif 000003
【図３】
0003744351.tif 000004
【図４】
0003744351.tif 000005
【図５】
0003744351.tif 000006
【図６】
0003744351.tif 000007
【図７】
0003744351.tif 000008