印刷データ生成装置およびプログラム並びに印刷装置
【課題】高速な印刷出力を可能にするとともに、ユーザーが印刷物をページ順の並べなおす手間を省く。
【解決手段】印刷ジョブデータの複数ページを所定の複数ページ毎に分割し、その分割した複数ページを印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成し、その分割印刷ジョブデータをページ順の遅い順に並べるとともに、その各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、その展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にページデータを印刷部に出力する。
【解決手段】印刷ジョブデータの複数ページを所定の複数ページ毎に分割し、その分割した複数ページを印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成し、その分割印刷ジョブデータをページ順の遅い順に並べるとともに、その各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、その展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にページデータを印刷部に出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷データ生成装置およびプログラム並びに印刷装置に関するものであり、特に、いわゆるフェイスアップ排紙時に用いられる印刷ジョブデータを生成する装置およびプログラム並びに印刷装置に関するものである。
【背景技術】
【0002】
従来、メモ帳やWord(登録商標)などの編集用アプリケーションによって作成された画像データに基づいて印刷を行う際には、その画像データがコンピュータにおけるプリンタドライバによりPDL(Page Description Language)データに変換されて印刷装置に出力される。
【0003】
PDLとは、コンピュータ上で作成された文書や画像などを印刷する際に、印刷装置への出力イメージを記述して印刷装置に対して指示する言語のことである。
【0004】
印刷装置において文書を印刷する際には、文字や図形の位置情報、書式情報などのデータはビットマップデータに変換される必要がある。このビットマップイメージを作成するための言語がPDLであり、印刷装置の種類や解像度に依存することなく記述することができる。
【0005】
一方、たとえば、インクジェットプリンタにおいては、印刷直後のインクが装置の一部に転写して汚れが発生することを避けるため、インクジェットヘッドを印刷用紙の上方に配置し、インクを下方に噴射して印刷する方式が一般的に用いられている。
【0006】
このようなインクジェットプリンタによって印刷された印刷用紙は、印刷面が上向きの状態で排紙トレイに排出される、いわゆるフェイスアップ排紙によって排紙される。
【0007】
そして、このようなフェイスアップ排紙を行う際には、印刷面が上向きのため、プリンタドライバで生成される印刷ジョブデータが複数ページからなるものである場合には、印刷完了状態の印刷物のページ順を正しく並べるためには、印刷ジョブデータの最終ページから印字する必要がある。
【0008】
しかしながら、上述したPDLで記述された印刷ジョブデータによって印刷する場合、ページヘッダー等を利用して印刷ジョブデータの途中から展開すると印刷用の正しいビットマップデータを得られない場合が発生する。
【0009】
したがって、印刷用の正しいビットマップデータを確実に生成するためには、印刷ジョブデータの先頭から順次展開していく必要がある。
【0010】
しかしながら、フェイスアップ排紙時には、上述したように印刷ジョブデータの最終ページから出力する必要があるため、従来は、印刷ジョブデータを先頭から順次展開し、展開済みのビットマップデータを装置内に順次格納し、最終ページの展開処理が終了するまで出力を待ち続け、最終ページの展開処理が完了した時点で印刷装置に展開済みのビットマップデータを最終ページから先頭ページの順番で印刷をしていた。
【0011】
しかしながら、このような方法では、最終ページの展開処理まで待って初めて最初のページの印刷が可能になるため、最初のページの印刷を開始するまでに非常に長い時間がかかり、処理時間が長くなってしまうという欠点がある。
【0012】
また、印刷装置の物理的印刷スピードに対し、展開処理を行う処理装置が十分に上回る処理能力を有していたとしても、展開処理の待機時間は、処理する印刷ジョブデータのページ数が増大するにつれて長時間となる。たとえば、処理装置の処理能力が1,000ppm、印刷装置の印刷スピードが50ppmとした場合には、20ページ以上の印刷ジョブデータの場合には余分な展開処理の待機時間が発生することになる。
【0013】
そこで、たとえば、特許文献1においては、印刷ジョブデータを複数のブロックに区分し、そのブロック毎についてページ順とは逆順に処理していく方法が提案されている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開平11−110171号公報
【非特許文献】
【0015】
【非特許文献1】「http//www.sophia-it.com/「BINARY IT 用語辞典」
【発明の概要】
【発明が解決しようとする課題】
【0016】
しかしながら、特許文献1に記載の方法では、確かに印刷ジョブデータをブロックに分割しているため最初のページの印刷までの待機時間は短くなるが、ページ順の早いブロックから順次印刷を行っているため、たとえば、印刷装置が1つの排紙トレイしか備えていないような場合には、ページ順の早いブロックから順に排紙され、その上にページ順の遅いブロックが排紙されるため、ブロック単位でみるとページ順は合っているが、印刷物全体としてはページ順があっていないことになる。
【0017】
また、印刷装置が複数の排紙トレイを備え、各トレイに各ブロックのページを排紙したとしても、全ての排紙が完了した後に、印刷物全体として正しいページ順となるように、ユーザーが排紙トレイ毎の印刷物を並べなおす手間がかかることになる。
【0018】
本発明は、上記事情に鑑み、高速な印刷出力を可能にするとともに、ユーザーが印刷物を並べなおす手間を省くことができる印刷データ生成装置およびプログラム並びに印刷装置を提供することを目的とするものである。
【課題を解決するための手段】
【0019】
本発明の印刷データ生成装置は、複数ページの印刷データを有し、印刷部において認識可能な印刷ジョブデータを受け付ける印刷ジョブデータ受付部と、複数ページを所定の複数ページ毎に分割してその分割した複数ページを印刷ジョブデータ受付部によって受け付けられた印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成する分割印刷ジョブデータ生成部と、分割印刷ジョブデータ生成部によって生成された分割印刷ジョブデータをページ順の遅い順に並べるとともに、その各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、その展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にページデータを印刷部に出力する展開処理部とを備えたことを特徴とする。
【0020】
また、上記本発明の印刷データ生成装置においては、展開処理部を、分割印刷ジョブデータに割り当てられたページ以外のページのページデータを記憶することなく破棄するものとできる。
【0021】
また、展開処理部を、分割印刷ジョブデータに割り当てられたページの第1の展開処理とそのページ以外のページの第2の展開処理とを異なる展開処理とするものとし、第2の展開処理を、第1の展開処理よりも処理の負荷が軽いものとできる。
【0022】
また、第2の展開処理を、第1の展開処理よりも解像度が低い展開処理とできる。
【0023】
また、第1の展開処理を面付け処理を行うものとし、第2の展開処理を面付け処理を行わないものとできる。
【0024】
また、分割印刷ジョブデータ生成部を、n+1(nは1以上の整数)番目の分割印刷ジョブデータの展開処理が、n番目の分割印刷ジョブデータのページデータの印刷部における印刷処理の間に完了するように分割印刷ジョブデータの分割数を決定するものとできる。
【0025】
また、分割印刷ジョブデータ生成部を、n番目の分割印刷ジョブデータのページデータの出力処理の時間とn+1番目の分割印刷ジョブデータの展開処理の時間との加算値が、n番目の分割印刷ジョブデータの印刷処理時間以下となるように分割印刷ジョブデータの分割数を決定するものとできる。
【0026】
また、展開処理部を、n(nは1以上の整数)番目の分割印刷ジョブデータの展開処理とページデータの出力が終了した時点からn+1番目の分割印刷ジョブデータの展開処理を開始するものとできる。
【0027】
また、分割印刷ジョブデータ生成部を、下式(1)を満たす最大のmの値を分割数として決定するものとできる。
【0028】
Na/mX−(Na/mt + {Na(m−2)}/mr + Na/mR) > 0・・・(1)
ただし、Naは印刷ジョブデータの全ページ数、rは分割印刷ジョブデータに割り当てられたページ以外のページの展開処理の速度、Rは分割印刷ジョブデータに割り当てられたページの展開処理の速度、tは分割印刷ジョブデータのページデータの出力処理速度、Xは印刷部の印刷処理速度
また、印刷ジョブデータの全ページ数Na、分割印刷ジョブデータに割り当てられたページ以外のページの展開処理の速度r、分割印刷ジョブデータに割り当てられたページの展開処理の速度R、および分割印刷ジョブデータのページデータの出力処理速度tのうちの少なくとも1つを印刷ジョブデータの内容を解析することによって取得するプリフライト処理部を設けることができる。
【0029】
また、印刷ジョブデータの全ページ数Na、分割印刷ジョブデータに割り当てられたページ以外のページの展開処理の速度r、分割印刷ジョブデータに割り当てられたページの展開処理の速度R、および分割印刷ジョブデータのページデータの出力処理速度tのうちの少なくとも1つを設定入力可能な入力部を設けることができる。
【0030】
また、分割印刷ジョブデータ生成部を、複数の印刷部の種類とその印刷部に対応する印刷処理速度の情報とを対応づけたテーブルを有するものとし、印刷部の種類を取得してテーブルを参照することによって印刷処理速度の情報を取得するものとできる。
【0031】
また、分割印刷ジョブデータ生成部を、印刷部から出力された印刷処理速度の情報を取得するものとできる。
【0032】
また、ページデータに基づいて面付け処理を行う面付処理部を設け、分割印刷ジョブデータ生成部を、面付け処理を行う際の面付け数を取得するものとするとともに、さらに、上記決定した分割印刷ジョブデータの分割数によって印刷ジョブデータの全ページ数を除算して取得された分割ページ数候補が面付け数で割り切れるか否かを判定し、分割ページ数候補が面付け数で割り切れる場合には、分割ページ数候補を分割ページ数とするとともに、上記決定した分割印刷ジョブデータの分割数を用いて分割を行い、分割ページ数候補が面付け数で割り切れない場合には、分割ページ数候補を超える面付け数の倍数のうちの最小値を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて分割を行うものとできる。
【0033】
また、ページデータに基づいて面付処理を行う面付処理部を設け、分割印刷ジョブデータ生成部を、面付け処理を行う際の面付け数を取得するとともに、その面付け数よりも大きい予め設定された分割基準ページ数を取得するものとし、さらに、上記決定した分割印刷ジョブデータの分割数によって印刷ジョブデータの全ページ数を除算して取得された第1の分割ページ数候補が、面付け数で割り切れるか否かを判定し、第1の分割ページ数候補が面付け数で割り切れる場合には、その第1の分割ページ数候補を第2の分割ページ数候補として決定し、第1の分割ページ数候補が面付け数で割り切れない場合には、第1の分割ページ数候補を超える面付け数の倍数のうちの最小値を第2の分割ページ数候補として決定し、次いで、第2の分割ページ数候補が、分割基準ページ数で割り切れるか否かを判定し、第2の分割ページ数候補が分割基準ページ数で割り切れる場合には、その第2の分割ページ数候補を第3の分割ページ数候補として決定し、第2の分割ページ数候補が前記分割基準ページ数で割り切れない場合には、第2の分割ページ数候補を超える面付け数と分割基準ページ数との公倍数であって最小の値を第3の分割ページ数候補として決定し、その後、第2の分割ページ数候補を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて分割を行った場合の印刷ジョブデータの処理時間と、第3の分割ページ数候補を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて分割を行った場合の印刷ジョブデータの処理時間との差が、予め設定された処理時間許容増加量以下である場合には、第3の分割ページ数候補に基づく分割ページ数および分割数を用いて分割を行い、上記差が、処理時間許容増加量を超える場合には、第2の分割ページ数候補に基づく分割ページ数および分割数を用いて分割を行うものとできる。
【0034】
また、ページデータに基づいて面付処理を行う面付処理部を設け、分割印刷ジョブデータ生成部を、面付け処理を行う際の面付け数を第1の分割基準ページ数として取得するとともに、その第1の分割基準ページ数よりも大きい予め設定された1または複数の第k(kは2〜n)の分割基準ページ数を取得するものとし、さらに、上記決定した分割印刷ジョブデータの分割数によって印刷ジョブデータの全ページ数を除算して取得された第1の分割ページ数候補が、第1の分割基準ページ数で割り切れるか否かを判定し、第1の分割ページ数候補が第1の分割基準ページ数で割り切れる場合には、その第1の分割ページ数候補を第2の分割ページ数候補として決定し、第1の分割ページ数候補が第1の分割基準ページ数で割り切れない場合には、第1の分割ページ数候補を超える第1の分割基準ページ数の倍数のうちの最小値を第2の分割ページ数候補として決定し、その第2の分割ページ数候補を決定した後、第kの分割ページ数候補が、第kの分割基準ページ数で割り切れるか否かを判定し、第kの分割ページ数候補が第kの分割基準ページ数で割り切れる場合には、その第kの分割ページ数候補を第k+1の分割ページ数候補として決定し、第kの分割ページ数候補が第kの分割基準ページ数で割り切れない場合には、第kの分割ページ数候補を超える第1〜第kの分割基準ページ数の公倍数であって最小の値を第k+1の分割ページ数候補として決定し、その後、第2の分割ページ数候補を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて分割を行った場合の印刷ジョブデータの処理時間と、第k+1の分割ページ数候補を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて分割を行った場合の印刷ジョブデータの処理時間との差が、予め設定された処理時間許容増加量以下である場合には、第k+1の分割ページ数候補に基づく分割ページ数および分割数を用いて分割を行い、上記差が、処理時間許容増加量を超える場合には、第kの分割ページ数候補に基づく分割ページ数および分割数を用いて分割を行うものとできる。
【0035】
本発明の印刷データ生成プログラムは、コンピュータを、複数ページの印刷データを有し、印刷部において認識可能な印刷ジョブデータを受け付ける印刷ジョブデータ受付部と、複数ページを所定の複数ページ毎に分割してその分割した複数ページを印刷ジョブデータ受付部によって受け付けられた印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成する分割印刷ジョブデータ生成部と、その分割印刷ジョブデータ生成部によって生成された分割印刷ジョブデータをページ順の遅い順に並べるとともに、その各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、その展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にページデータを印刷部に出力する展開処理部として機能させるものであることを特徴とする。
【0036】
本発明の印刷装置は、上記印刷データ生成装置と、印刷データ生成装置から出力されたページデータに基づいて印刷処理を行う印刷部とを備えたことを特徴とする。
【発明の効果】
【0037】
本発明の印刷データ生成装置およびプログラム並びに印刷装置によれば、印刷ジョブデータの複数ページを所定の複数ページ毎に分割し、その分割した複数ページを印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成し、その分割印刷ジョブデータをページ順の遅い順に並べるとともに、その各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、その展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にページデータを印刷部に出力するようにしたので、展開処理による待ち時間を短縮することができ高速な印刷出力が可能になるとともに、ユーザーが印刷物を並べなおすことなくページ順に並んだ印刷物を取得することができる。
【図面の簡単な説明】
【0038】
【図1】本発明の印刷データ生成装置の第1の実施形態を用いたプリンタシステムの概略構成を示すブロック図
【図2】本発明の印刷データ生成装置の第1の実施形態を用いたプリンタシステムの作用を説明するためのフローチャート
【図3】分割印刷ジョブデータのイメージ図
【図4】各分割印刷ジョブデータの各処理のタイミングチャート
【図5】各分割印刷ジョブデータの各処理のその他のタイミングチャート
【図6】本発明の印刷データ生成装置の第2の実施形態を用いたプリンタシステムの概略構成を示すブロック図
【図7】本発明の印刷データ生成装置の第2の実施形態を用いたプリンタシステムの作用を説明するためのフローチャート
【図8】印刷エンジンの機種とその印刷処理速度の情報とを対応付けたテーブルの一例を示す図
【図9】本発明の印刷データ生成装置の第3の実施形態を用いたプリンタシステムの作用を説明するためのフローチャート
【図10】本発明の印刷データ生成装置の第3の実施形態を用いたプリンタシステムの作用を説明するためのフローチャート
【図11】本発明の印刷データ生成装置の第3の実施形態を用いたプリンタシステムの作用を説明するためのフローチャート
【図12】各分割印刷ジョブデータの各処理のその他のタイミングチャート
【発明を実施するための形態】
【0039】
以下、図面を参照して本発明の印刷データ生成装置およびプログラムの第1の実施形態を用いたプリンタシステムについて詳細に説明する。図1は、本実施形態のプリンタシステムの全体概略構成図である。
【0040】
本実施形態のプリンタシステムは、図1に示すように、コンピュータ10と、コンピュータ10に有線または無線LANなどのネットワークを介して接続された印刷装置20とを備えている。
【0041】
コンピュータ10は、図1に示すように、アプリケーション11とプリンタドライバ12とを備えている。なお、アプリケーション11およびプリンタドライバ12は、コンピュータ10にインストールされたプログラムによって構成されるものである。
【0042】
アプリケーション11は、メモ帳やWord(登録商標)などのような原稿画像を表す画像データを編集することができるプログラムであり、アプリケーション11において編集された画像データはプリンタドライバ12に出力される。
【0043】
プリンタドライバ12は、印刷枚数や印刷部数、両面印刷やNアップ印刷などの種々の印刷条件および出力方法などの操作者による入力を受け付けるユーザーインターフェースを有し、その印刷条件や出力方法などに応じて、印刷装置20において認識可能な印刷ジョブデータを生成して出力するものである。本実施形態におけるプリンタドライバ12は、印刷ジョブデータとして、PDL(Page Description Language)データを生成するものである。なお、印刷条件や出力方法などはコンピュータ10に設けられたキーボードやマウスなどの所定の入力手段によって入力される。
【0044】
印刷装置20は、図1に示すように、印刷ジョブデータ受付部21と、分割印刷ジョブデータ生成部22と、展開処理部23と、印刷エンジン24とを備えている。
【0045】
印刷ジョブデータ受付部21は、コンピュータ10のプリンタドライバ12から出力された複数ページの印刷データを有する印刷ジョブデータを受け付けるものである。
【0046】
分割印刷ジョブデータ生成部22は、印刷ジョブデータの全ページを所定の複数ページ毎に分割し、その分割した複数ページを印刷ジョブデータにそれぞれ割り当てることによって複数の分割印刷ジョブデータを生成するものである。なお、分割印刷ジョブデータ生成部22は、入力された印刷ジョブデータを一旦記憶するとともに、その印刷ジョブデータに基づいて生成した分割印刷ジョブデータを記憶するメモリなどの記憶部を備えているものとする。また、具体的な分割印刷ジョブデータの生成方法については、後で詳述する。
【0047】
展開処理部23は、分割印刷ジョブデータ生成部22によって生成された分割印刷ジョブデータをページ順の遅い順に並べるとともに、その各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、その展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にページデータを印刷エンジン24に出力するものである。なお、展開処理部23は、生成したページデータを一旦記憶するメモリなどの記憶部を備えているものとする。また、具体的な展開処理の方法については、後で詳述する。
【0048】
印刷エンジン24は、展開処理部23から出力されたページデータに基づいて印刷用紙に印刷処理を施すものであり、たとえば、孔版印刷プリンタやインクジェットプリンタやレーザープリンタなどを用いることができる。
【0049】
次に、本実施形態のプリンタシステムの作用について、図2に示すフローチャートを参照しながら説明する。
【0050】
まず、アプリケーション11が起動され、このアプリケーション11を用いて文書、イラスト、写真画像などが編集されて画像データが生成される(S10)。
【0051】
そして、アプリケーション11において印刷指示が選択されると、プリンタドライバ12のユーザーインターフェースが起動されて種々の印刷条件および出力方法などの入力を受け付ける印刷条件受付画面が表示され、その印刷条件受付画面において種々の印刷条件および出力方法などが操作者によって所定の入力手段を用いて設定された後、印刷指示が選択されると、プリンタドライバ12はその印刷条件や出力方法と画像データとに基づいて、印刷ジョブデータを生成する(S12)。
【0052】
そして、プリンタドライバ12において生成された印刷ジョブデータは印刷装置20に出力され、印刷ジョブデータ受付部21によって受け付けられる。そして、印刷ジョブデータ受付部21によって受け付けられた印刷ジョブデータは分割印刷ジョブデータ生成部22に出力され、分割印刷ジョブデータ生成部22において、入力された印刷ジョブデータに基づいて、分割印刷ジョブデータが生成される(S14)。
【0053】
ここで、本実施形態においては、印刷ジョブデータとして50ページの印刷データを有する印刷ジョブデータが印刷ジョブデータ受付部21によって受け付けられ、その50ページの印刷ジョブデータに基づいて、複数の分割印刷ジョブデータが生成される場合について説明する。
【0054】
具体的には、分割印刷ジョブデータ生成部22は、50ページを10ページ毎に5つのページ群に分け、その5つのページ群をそれぞれ印刷ジョブデータに割り当てることによって5つの分割印刷ジョブデータを生成する。なお、本実施形態においては、全ページを5つのページ群に分割するようにしたが、分割数についてはこれに限らず、その他の分割数を採用してもよい。ただし、印刷処理時間の短縮の効果を得るためには、所定の条件を満たす分割数に設定することが望ましいが、その分割数の設定方法については、後述する本発明の第2の実施形態において説明する。本実施形態については、所定の条件を満たすような分割数が予め取得されて設定されているものとする。
【0055】
図3に、上述したようにして生成された5つの分割印刷ジョブデータのイメージ図を示す。図3に示すように、印刷ジョブデータに50ページのうちの1ページ目から10ページ目までを割り当てて第1の分割印刷ジョブデータを生成し、11ページ目から20ページ目までを割り当てて第2の分割印刷ジョブデータを生成し、21ページ目から30ページ目までを割り当てて第3の分割印刷ジョブデータを生成し、31ページ目から40ページ目までを割り当てて第4の分割印刷ジョブデータを生成し、41ページ目から50ページ目までを割り当てて第5の分割印刷ジョブデータを生成する。
【0056】
そして、分割印刷ジョブデータ生成部22は、第1〜第5の分割印刷ジョブデータを展開処理部23に出力し、展開処理部23において、入力された分割印刷ジョブデータに対して展開処理が施される(S16)。図4(A)に、第1〜第5の分割印刷ジョブデータの各処理のタイミングチャートを示す。
【0057】
具体的には、展開処理部23は、まず、入力された第1〜第5の分割印刷ジョブデータをページ順の遅い順に並べる。すなわち、第5の分割印刷ジョブデータを先頭にして第4の分割印刷ジョブデータ、第3の分割印刷ジョブデータ、第2の分割印刷ジョブデータ、第1の分割印刷ジョブデータの順に並べる。
【0058】
次に、図4(A)に示すように、上述したように並べられた順で分割印刷ジョブデータに対して展開処理を施してページ毎のビットマップデータをページデータとして生成し、展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にビットマップデータを印刷エンジン24に出力する。
【0059】
すなわち、まず、41ページ目から50ページ目が割り当てられた第5の分割印刷ジョブデータの展開処理が行われる。具体的には、図3に示すように、最初に1ページ目から40ページ目までの展開処理が行われ、これらのページのビットマップデータについては記憶されることなく破棄される。そして、41ページ目から50ページ目までの展開処理がページ順に施されてビットマップデータが生成され、メモリなどの記憶部に格納される(S18,S20)。なお、以下の説明では、上述したように展開処理後にビットマップデータを破棄する処理を展開破棄処理といい、展開処理後にビットマップデータを記憶部に格納する処理を展開格納処理という。
【0060】
ここで、展開処理部23は、1ページ目から40ページ目にまでに施される展開破棄処理の解像度の方が、41ページ目から50ページ目までに施される展開格納処理の解像度よりも低くなるように展開処理を行う。すなわち、展開処理部23は、分割印刷ジョブデータに割り当てられたページ以外のページの展開破棄処理の方が、分割印刷ジョブデータに割り当てられたページの展開格納処理よりも解像度が低くなるように展開処理を行う。
【0061】
また、たとえば、印刷ジョブデータの印刷条件として両面印刷やNアップ印刷など面付け処理が必要な印刷条件が設定されている場合には、展開処理部23は、分割印刷ジョブデータに割り当てられたページ以外のページの展開破棄処理を行う際には面付け処理を行わず、分割印刷ジョブデータに割り当てられたページの展開格納処理を行う際には面付け処理を行うようにする。なお、本実施形態における面付け処理とは、両面印刷の場合に2ページ毎のデータを1枚の印刷用紙の表面と裏面とに割り付ける処理や、Nアップ印刷の場合に複数ページのデータを印刷用紙の1面に割り付ける処理のことである。この処理を行うためには、まず、面付け後の各ページの割付サイズを計算し、面付け後の各ページの割付方向と位置とを計算し、面付け後の割付サイズ並びに割付方向となるように各ページの展開処理を行った後、面付け後のページ(メモリ上のイメージフレーム)上に、展開処理したページデータを割付位置に合わせて配置する必要があり、大変複雑な処理である。
【0062】
また、印刷ジョブデータの印刷条件として文字スムージング処理が設定されている場合には、展開処理部23は、分割印刷ジョブデータに割り当てられたページ以外のページの展開破棄処理を行う際には文字スムージング処理を行わず、分割印刷ジョブデータに割り当てられたページの展開格納処理を行う際には文字スムージング処理を行うようにする。なお、文字スムージング処理とは、多値データに展開する場合に、文字などの輪郭をスムスに見せるための処理であり、この処理は、一旦解像度の高いデータを生成し、そのデータから隣接しあった複数のピクセルの濃度を平均化して解像度を下げていくことで最終的に生成する解像度のデータにおいて、隣接するピクセルの濃度差が小さくなるような処理である。したがって、この処理も、一旦高い解像度のデータを生成する処理と、その後の解像度を下げていく処理とが必要であり、大変複雑な処理である。
【0063】
要するに、展開処理部23は、展開破棄処理の方が展開格納処理よりも処理の負荷が軽くなるような処理を行う。以下で説明する第4〜第1の分割印刷ジョブデータの展開処理についても同様である。
【0064】
そして、展開処理部23は、50ページ目までの展開処理が終わると最後の50ページ目から順に41ページ目までのビットマップデータを印刷エンジン24に出力する(S22)。
【0065】
そして、印刷エンジン24は、展開処理部23から出力された50ページ目のビットマップを受け付けるとそのビットマップデータに基づいて50ページ目の印刷処理を開始し、その後、受け付けたページの印刷処理を順次行っていくが、図4(A)に示すように、展開処理部23からのビットマップデータの出力処理(図4(A)の矢印)と印刷エンジンにおける印刷処理(図4(A)の縦線部)とは並行して行われる。そして、印刷エンジン24において印刷処理の施された印刷用紙が50ページ目から順に印刷エンジン24から排紙されるが、このとき印刷面が上向きの状態で排紙される。
【0066】
そして、図4(A)に示すように、第5の分割印刷ジョブデータのビットマップデータの出力処理が終了した時点から次の第4の分割印刷ジョブデータの展開処理が開始される(S24,S16)。なお、本実施形態のプリンタシステムにおいては、ハードウェアの都合上、ビットマップデータの出力処理と展開処理とが並行して行えないように構成されているが、特にこれに限定されることなくこれらの処理を並行して行うようにしてもよい。その場合には、第5の分割印刷ジョブデータの展開格納処理が終了した時点からその展開処理後のビットマップデータの出力処理と第4の分割印刷ジョブデータの展開破棄処理とを並行して行うようにしてもよい。
【0067】
そして、第5の分割印刷ジョブデータの印刷処理と並行して第4の分割印刷ジョブデータの展開処理が行われる。具体的には、図3に示すように、まず、1ページ目から30ページ目までの展開破棄処理が行われ、これらのページのビットマップデータについては記憶されることなく破棄される。そして、31ページ目から40ページ目までの展開格納処理がページ順に施されてビットマップデータが生成され、メモリなどの記憶部に格納される(S18,S20)。そして、展開処理部23は、40ページ目までの展開処理が終わると40ページ目から順に31ページ目までのビットマップデータを印刷エンジン24に出力する(S22)。
【0068】
そして、印刷エンジン24は、展開処理部23から出力された40ページ目のビットマップを受け付けるとそのビットマップデータに基づいて40ページ目の印刷処理を開始し、その後、受け付けたページの印刷処理を順次行っていくが、展開処理部23からのビットマップデータの出力処理と印刷エンジンにおける印刷処理とは並行して行われる。
【0069】
そして、印刷エンジン24において印刷処理の施された印刷用紙が40ページ目から順に印刷エンジン24から排紙されるが、このとき印刷面が上向きの状態で排紙される。
【0070】
そして、図4(A)に示すように、第4の分割印刷ジョブデータの印刷処理と並行して第3の分割印刷ジョブデータの展開処理が行われる。具体的には、図3に示すように、まず、1ページ目から20ページ目までの展開破棄処理が行われ、これらのページのビットマップデータについては記憶されることなく破棄される。そして、21ページ目から30ページ目までの展開格納処理がページ順に施されてビットマップデータが生成され、メモリなどの記憶部に格納される(S18,S20)。そして、展開処理部23は、30ページ目までの展開処理が終わると30ページ目から順に21ページ目までのビットマップデータを印刷エンジン24に出力する(S22)。
【0071】
そして、印刷エンジン24は、展開処理部23から出力された30ページ目のビットマップを受け付けるとそのビットマップデータに基づいて30ページ目の印刷処理を開始し、その後、受け付けたページの印刷処理を順次行っていくが、第3の分割印刷ジョブデータについては、図4(A)に示すように、印刷エンジン24が30ページ目のビットマップデータを受け付けた時点において第4の分割印刷ジョブデータの印刷処理が終了していないので、印刷エンジン24は、第4の分割印刷ジョブデータの印刷処理が終了した時点から30ページ目のビットマップデータの印刷処理を開始することになる。
【0072】
そして、印刷エンジン24において印刷処理の施された印刷用紙が30ページ目から順に印刷エンジン24から排紙されるが、このとき印刷面が上向きの状態で排紙される。
【0073】
そして、図4(A)に示すように、第3の分割印刷ジョブデータの印刷処理と並行して第2の分割印刷ジョブデータの展開処理が行われる。具体的には、図3に示すように、まず、1ページ目から10ページ目までの展開破棄処理が行われ、これらのページのビットマップデータについては記憶されることなく破棄される。そして、11ページ目から20ページ目までの展開格納処理がページ順に施されてビットマップデータが生成され、メモリなどの記憶部に格納される(S18,S20)。そして、展開処理部23は、20ページ目までの展開処理が終わると20ページ目から順に11ページ目までのビットマップデータを印刷エンジン24に出力する(S22)。
【0074】
そして、印刷エンジン24は、展開処理部23から出力された20ページ目のビットマップを受け付けるとそのビットマップデータに基づいて20ページ目の印刷処理を開始し、その後、受け付けたページの印刷処理を順次行っていくが、第2の分割印刷ジョブデータについても、図4(A)に示すように、印刷エンジン24が20ページ目のビットマップデータを受け付けた時点において第3の分割印刷ジョブデータの印刷処理が終了していないので、印刷エンジン24は、第3の分割印刷ジョブデータの印刷処理が終了した時点から20ページ目のビットマップデータの印刷処理を開始することになる。
【0075】
そして、印刷エンジン24において印刷処理の施された印刷用紙が20ページ目から順に印刷エンジン24から排紙されるが、このとき印刷面が上向きの状態で排紙される。
【0076】
そして、図4(A)に示すように、第2の分割印刷ジョブデータの印刷処理と並行して第1の分割印刷ジョブデータの展開処理が行われる。具体的には、図3に示すように、1ページ目から10ページ目までの展開格納処理がページ順に施されてビットマップデータが生成され、メモリなどの記憶部に格納される(S18,S20)。そして、展開処理部23は、10ページ目までの展開格納処理が終わると10ページ目から順に1ページ目までのビットマップデータを印刷エンジン24に出力する(S22)。
【0077】
そして、印刷エンジン24は、展開処理部23から出力された10ページ目のビットマップを受け付けるとそのビットマップデータに基づいて10ページ目の印刷処理を開始し、その後、受け付けたページの印刷処理を順次行っていくが、第1の分割印刷ジョブデータについても、図4(A)に示すように、印刷エンジン24が10ページ目のビットマップデータを受け付けた時点において第2の分割印刷ジョブデータの印刷処理が終了していないので、印刷エンジン24は、第2の分割印刷ジョブデータの印刷処理が終了した時点から10ページ目のビットマップデータの印刷処理を開始することになる。
【0078】
そして、印刷エンジン24において印刷処理の施された印刷用紙が10ページ目から順に印刷エンジン24から排紙されるが、このとき印刷面が上向きの状態で排紙される。
【0079】
ここで、図4(B)に、本実施形態のプリンタシステムの処理時間と従来のプリンタシステムの処理時間とを比較するために従来のプリンタシステムの各処理のタイミングチャートも示している。従来のプリンタシステムにおいては、印刷ジョブデータ全体の展開処理が終了した後、データ出力処理および印刷処理が行われる。
【0080】
図4(A),(B)に示すように、本実施形態のプリンタシステムは、前の分割印刷ジョブデータの印刷処理と並行して次の分割印刷ジョブデータの展開処理を行うようにしたので、従来のプリンタシステムと比較すると処理時間が短縮することがわかる。
【0081】
ここで、上述したとおり、上記実施形態のプリンタシステムにおいては、分割印刷ジョブデータ毎に所定の複数ページが割り当てられているが、展開処理を行う際には、1ページ目からその割り当てられたページに到達するまでのページについても展開破棄処理を行う必要がある。
【0082】
したがって、場合によっては、1ページ目から割り当てられたページまで到達するまでのページの展開処理に要するオーバーヘッド時間と分割印刷ジョブデータのデータ出力処理の時間との合計が、図4(A)に示す短縮時間を上回り、図5(A)に示すように印刷ジョブデータを第1〜第5の印刷分割ジョブデータに分割して処理を行った方が、図5(B)に示す従来のプリントシステムの処理の時間よりも長い時間がかかってしまうことがある。
【0083】
そこで、このような問題を生じないように構成された本発明の印刷データ生成装置の第2の実施形態を用いたプリンタシステムについて説明する。図6は、本発明の印刷データ生成装置の第2の実施形態を用いたプリンタシステムの概略構成を示すブロック図である。
【0084】
第2の実施形態のプリンタシステムは、図6に示すように、第1の実施形態のプリンタシステムに対してさらにプリフライト処理部25を設けたものである。
【0085】
プリフライト処理部25は、印刷ジョブデータ受付部21によって受け付けられた印刷ジョブデータの内容を解析し、その解析結果に基づいて分割印刷ジョブデータ生成部22において生成される分割印刷ジョブデータの分割数を算出するものである。
【0086】
第2の実施形態のプリンタシステムの作用を図7に示すフローチャートを参照しながら説明する。
【0087】
まず、コンピュータ10において画像データを生成し、その画像データに基づいて印刷ジョブデータを生成するステップ30〜S32までについては、上述した第1の実施形態の説明と同様である。
【0088】
そして、コンピュータ10から出力された印刷ジョブデータは、印刷装置30の印刷ジョブデータ受付部21によって受け付けられた後、プリフライト処理部25に出力される。
【0089】
プリフライト処理部25は、入力された印刷ジョブデータの内容を解析し、分割印刷ジョブデータの分割数を決定するためのパラメータを取得する(S34,S36)。
【0090】
具体的には、プリフライト処理部25は、上記パラメータとして、印刷ジョブデータの全ページ数Na、ジョブ分割処理速度s、展開破棄処理速度r、展開処理速度R、およびデータ出力処理速度tを取得する。
【0091】
プリフライト処理部25は、印刷ジョブデータの全ページ数Naについては、印刷ジョブデータに含まれる全ページ数の情報を読み出すことによって取得する。
【0092】
ジョブ分割処理速度s(ページ/秒)とは、たとえば、印刷ジョブデータを一旦記憶部に記憶し、その記憶した印刷ジョブデータを読出し、その印刷ジョブデータに基づいて分割印刷ジョブデータを生成し、その分割印刷ジョブデータを記憶部に記憶するまでの間の処理速度のことをいい、プリフライト処理部25は、印刷ジョブデータのサイズと記憶部の入出力速度に基づいてジョブ分割処理速度sを算出する。なお、印刷ジョブデータのサイズについては印刷ジョブデータを解析することによって取得され、記憶部の入出力速度については予め設定されているものとする。
【0093】
展開破棄処理速度r(ページ/秒)とは、展開破棄処理を行う際の1秒あたりの処理ページの数のことをいい、展開処理速度R(ページ/秒)とは、展開格納処理を行う際の1秒あたりの処理ページの数のことをいう。
【0094】
プリフライト処理部25は、展開破棄処理速度rおよび展開処理速度Rについては、印刷ジョブデータの一部のページまたは全ページについて低解像度で展開破棄処理を行うとともに、印刷ジョブデータの一部のページまたは全ページについて通常の解像度で展開格納処理を行い、その展開破棄処理と展開格納処理とを行うのに要した時間をそれぞれ計測する。具体的には、展開破棄処理の際には、印刷ジョブデータの一部または全部をメモリ上に読み込み、その印刷ジョブデータを最初から解析して、「改ページコマンド」が記録されている部分のデータまで到達するまで、低解像処理など、通常の展開処理よりも負荷の軽い状態で展開処理を行い、1ページ分のイメージデータをメモリ上に生成し、ハードディスクなどへの格納は行わない。上記処理を指定されているページまで繰り返す。また、展開格納処理の際には、印刷ジョブデータの一部または全部をメモリ上に読み込み、印刷ジョブデータを指定ページから解析して、「改ページコマンド」が記録されている部分のデータまで到達するまで、通常の展開処理を行い1ページ分のイメージデータをメモリ上に生成し、その生成したイメージデータをハードディスクに保存する。上記処理を最終ページまで繰り返す。
【0095】
そして、処理対象のページ数を計測した時間(秒)で除算することによって展開破棄処理速度rと展開処理速度Rとを算出する。なお、計測時間と展開破棄処理速度rとの対応関係を示すテーブルと計測時間と展開処理速度Rとの対応関係を示すテーブルをそれぞれ予め設定しておき、このテーブルを参照することによって展開破棄処理速度rと展開処理速度Rとを取得するようにしてもよい。
【0096】
データ出力処理速度t(ページ/秒)は、展開格納処理の施されたビットマップデータを記憶部から読み出して印刷エンジン24に出力する際の処理速度である。プリフライト処理部25は、印刷ジョブデータのサイズと記憶部のデータ転送速度とに基づいてデータ出力処理速度tを算出する。印刷ジョブデータのサイズについては、印刷ジョブデータを解析することによって取得し、その印刷ジョブデータに対応するビットマップデータのサイズを取得し、ビットマップデータのサイズとデータ転送速度とに基づいてデータ出力処理速度tを算出する。印刷ジョブデータのサイズとビットマップデータのサイズとの関係は予め設定されているものとし、記憶部のデータ転送速度についても予め設定されているものとする。
【0097】
そして、プリフライト処理部25において取得された上記パラメータは、分割印刷ジョブデータ生成部22に出力され、分割印刷ジョブデータ生成部22は、入力されたパラメータに基づいて分割印刷ジョブデータの分割数を算出する(S38)。
【0098】
具体的には、分割印刷ジョブデータ生成部22は、n+1(nは1以上の整数)番目の分割印刷ジョブデータの展開処理が、n番目の分割印刷ジョブデータのビットマップデータの印刷処理の間に完了するように分割印刷ジョブデータの分割数を決定する。以下、その具体的な算出方法について検討する。
【0099】
まず、本実施形態においては、データ出力処理と展開処理とを並列に行うことができないので、n+1(nは1以上の整数)番目の分割印刷ジョブデータの展開処理が、n番目の分割印刷ジョブデータのビットマップデータの印刷処理の間に完了するようにするには、n番目の分割印刷ジョブデータのビットマップデータの出力処理とn+1番目の分割印刷ジョブデータの展開破棄処理時間および展開格納処理時間との加算値を、n番目の分割印刷ジョブデータの印刷処理時間以下とする必要がある。
【0100】
ここで、各分割印刷ジョブデータの展開破棄処理時間については、先に展開処理が施される分割印刷ジョブデータほど展開破棄処理を行う対象のページ数が多いことになるので、先に展開処理が施される分割印刷ジョブデータほど長い時間になる。また、展開格納処理時間については、各分割印刷ジョブデータのページ数が同じであるとすると全ての分割印刷ジョブデータの展開格納処理時間が同じになる。また、ビットマップデータの出力処理時間と印刷エンジン24における印刷処理時間については、各分割印刷ジョブデータのページ数が同じであるとするとこれも全て同じ時間となる。
【0101】
すなわち、各分割印刷ジョブデータ間で変動する時間は展開破棄処理時間だけであるので、この展開破棄処理時間は先に展開処理の施される分割印刷ジョブデータほど長いので、上述したようにn番目の分割印刷ジョブデータのビットマップデータの出力処理とn+1番目の分割印刷ジョブデータの展開破棄処理時間および展開格納処理時間との加算値を、n番目の分割印刷ジョブデータの印刷処理時間以下とするためには、1番目の分割印刷ジョブデータのビットマップデータの出力処理時間と2番目に展開処理の施される分割印刷ジョブデータの展開破棄処理時間および展開格納処理時間との加算値が、1番目の分割印刷ジョブデータのビットマップデータの印刷エンジン24における印刷処理時間以下となるようにすればよく、この条件を満たせばその他の分割印刷ジョブデータ間もこの条件を満たすことになる。なお、ここでいう1番目、2番目の数値は、図3に示す第1、第2、・・・の数値とは異なるものであり、ここでいう1番目の印刷ジョブデータは、図3では第5の印刷ジョブデータに相当し、2番目の印刷ジョブデータは、図3では第4の印刷ジョブデータに相当する。
【0102】
そして、分割印刷ジョブデータの分割数をmとすると、1番目の分割印刷ジョブデータのビットマップデータの出力処理時間はNa/mtで表され、2番目に展開処理の施される分割印刷ジョブデータの展開破棄処理時間は{Na(m−2)}/mrで表され、展開格納処理時間はNa/mRで表される。また、1番目の分割印刷ジョブデータのビットマップデータの印刷処理時間は、印刷エンジン24における印刷処理速度をX(ページ/秒)とするとNa/mXで表される。なお、印刷処理速度Xについては、本実施形態においては予め設定されているものとする。
【0103】
したがって、上記条件を満たすには下式(1)を満たせば良いことになる。
【0104】
Na/mX−(Na/mt + {Na(m−2)}/mr + Na/mR) > 0・・・(1)
一方、全体処理時間を短くするためには、図4(A)からもわかるように、ジョブ分割処理時間と最初の分割印刷ジョブデータの展開破棄処理時間および展開格納処理時間との加算値がより小さいことが望ましい。そして、ジョブ分割処理時間はNam/sで表され、最初の分割印刷ジョブデータの展開破棄処理時間は{Na(m−1)}/mrで表され、展開格納処理時間はNa/mRで表されることから、これらの加算値は下式(2)で表すことができる。
【0105】
Nam/s+{Na(m−1)}/mr+Na/mR ・・・(2)
そして、この上式(2)を小さくするためには、下式(3)を満たすものとすると、分割数mがより大きい方が良いことになる。
【0106】
Na/s<<Na/r<<Na/R ・・・(3)
したがって、上記のような検討結果から、本実施形態においては、上式(1)を満たす分割数mのうちの最大値を実際の分割数として取得する。
【0107】
なお、上式(1)に関してシミュレーションを実施した結果、印刷ジョブデータの全ページ数Naの大きさに関わらず、最適な分割数mは一定であることがわかっている。
【0108】
また、上式(3)のNa/s<<Na/rが成り立つのは、ジョブ分割処理速度s(ページ/秒)は、ジョブ全体に対してデータ解析する部分がごく一部であるのに対し、展開破棄処理速度r(ページ/秒)は、先頭ページから指定ページまでデータを全て解析する必要があり時間がかかるため、多ページという前提においてはs>>rとなるからである。また、上式(3)のNa/r<<Na/Rが成り立つのは、展開破棄処理速度r(ページ/秒)は、負荷の軽い展開処理を行うとともに、データをハードディスクに格納しないのに対し、展開格納処理速度R(ページ/秒)は、通常の展開処理を行うとともに、データをハードディスクに格納するので時間がかかるため、r>>Rとなるからである。
【0109】
そして、分割印刷ジョブデータ生成部22は、上式(1)に基づいて分割数を算出するが、上式(1)を満たす値が存在しない場合には(S40,NO)、分割印刷ジョブデータを生成することなく印刷ジョブデータに基づいて従来と同様の処理を行う(S42)。すなわち、印刷ジョブデータの1ページ目から最後のページに対し展開格納処理を施した後に、ビットマップデータの出力処理と印刷処理とを並行して行う。
【0110】
一方、上式(1)を満たす分割数が存在する場合には(S40,YES)、その分割数の分割印刷ジョブデータを生成する(S44)。すなわち、印刷ジョブデータにNa/mページをそれぞれ割り当てた分割印刷ジョブデータをm個生成する。
【0111】
そして、その後のS46〜S54までの処理については、上記第1の実施形態のS16〜S24までの処理と同様である。
【0112】
また、上記第2の実施形態の説明においては、印刷処理速度Xの情報を予め設定するようにしたが、これに限らず、たとえば、分割印刷ジョブデータ生成部22において、図8に示すような印刷エンジン24の機種情報と印刷処理速度Xとを対応付けたテーブルを予め記憶しておき、印刷エンジン24からその機種情報を取得して上記テーブルを参照することによってその機種に応じた印刷処理速度Xを取得するようにしてもよい。このような構成にすれば、印刷エンジン24のみが別個に構成され、種々の印刷エンジン24が使用されるような場合でもその印刷エンジン24に応じた印刷処理速度Xを設定することができる。
【0113】
また、上述したようなテーブルを設定するのではなく、印刷エンジン24から印刷処理速度Xの情報自体を直接出力させ、これを分割印刷ジョブデータ生成部22が取得するようにしてもよい。このように構成すれば、機種が予めわかっていない印刷エンジン24が用いられた場合でも適切な印刷処理速度Xを取得することができ、適切な分割数を設定することができる。
【0114】
また、上記第2の実施形態においては、分割数を決定するためのパラメータをプリフライト処理によって取得するようにしたが、これに限らず、たとえば、操作者が所定の入力手段から任意に設定入力可能なように構成してもよい。
【0115】
次に、本発明の印刷データ生成装置の第3の実施形態を用いたプリンタシステムについて説明する。
【0116】
上記第2の実施形態を用いたプリンタシステムにおいては、n番目の分割印刷ジョブデータの印刷処理時間内において、n番目の分割印刷ジョブデータのビットマップデータの出力処理とn+1番目の分割印刷ジョブデータの展開破棄処理および展開格納処理とが終了するように、分割印刷ジョブデータの分割数を決定するようにしたが、このようにして分割数を決定し、この分割数で印刷ジョブデータの全ページ数を除算して各分割印刷ジョブデータに割り当てられるページ数を決定した場合、印刷結果が好ましくない結果となる場合がある。
【0117】
具体的には、たとえば両面印刷を行う場合、各分割印刷ジョブデータに割り当てられたページ数が奇数である場合には、両面印刷の表面のページデータと裏面のページデータとが異なる分割印刷ジョブデータに属することになり、各分割印刷ジョブデータの最後に印刷されるページが片面印刷される問題が生じる。また、同様に、Nアップ印刷を行う場合、各分割印刷ジョブデータに割り当てられたページ数がNの倍数でない場合には、1枚の印刷用紙に印刷されるべきN枚のページデータのうちの一部のページデータとそれ以外のページデータとが、異なる分割印刷ジョブデータに属することになり、各分割印刷ジョブデータの最後に印刷されるページにN枚のページデータのうちの一部のページデータのみが印刷される問題が生じる。すなわち、両面印刷やNアップ印刷などといった面付け処理を行って印刷を行う場合に問題が生じることになる。
【0118】
また、上述したような面付け処理の制約だけでなく、たとえば、各分割印刷ジョブデータの印刷を、印刷装置における給紙部(図示省略)の給紙許容量や排紙部(図示省略)の排紙許容量などで終了させたり、もしくは印刷用紙の梱包枚数で終了させたりした方が、ワークフロー面や物理面から便利な場合がある。
【0119】
そこで、本発明の第3の実施形態を用いたプリンタシステムは、上述したような面付け処理の制約を考慮するとともに、給排紙許容量や梱包枚数などといった使用者の要望に応じた制約を考慮した分割数で印刷ジョブデータを分割するものである。
【0120】
第3の実施形態のプリンタシステムの構成については、図6に示す第2の実施形態のプリンタシステムと同様である。なお、上述した面付け処理は展開処理部23において行われるものである。
【0121】
また、第3の実施形態のプリンタシステムの作用については、印刷ジョブデータの分割数を決定する方法以外は第2の実施形態のプリンタシステムと同様である。そして、第3の実施形態のプリンタシステムは、図7に示すフローチャートのS40において上式(1)を満たす分割数が存在すると判断された後、その分割数をさらに最適化する処理を行うものである。
【0122】
以下、その印刷ジョブデータの分割数の最適化の作用について、図9〜図11に示すフローチャートを参照しながら説明する。
【0123】
まず、分割印刷ジョブデータ生成部22によって、第1〜第nの分割基準ページ数C1〜Cnと処理時間許容増加量Dmaxとが取得される(S60)。具体的には、本実施形態においては、第1の分割基準ページ基準数C1として上述した面付け処理の際の面付け数が取得される。すなわち、両面印刷の面付け処理を行う際には、第1の分割基準ページ数としてC1=2が取得され、N(たとえば4)アップ印刷の面付け処理を行う際には、第1の分割基準ページ数としてC1=N(たとえば4)が取得される。
【0124】
また、本実施形態においては、第2〜第nの分割基準ページ数C2〜Cnとして上述した梱包枚数や給紙許容枚数や排紙許容枚数が取得される。この第2〜第nの分割基準ページ数C2〜Cnは使用者によって任意に設定されるものであり、コンピュータ10や印刷装置30における所定の入力部によって設定入力されるものである。ただし、第2〜第nの分割基準ページ数C2〜Cnは、C1<C2<C3<C4・・・<Cn−1<Cnを満たすように設定されるものとする。
【0125】
また、処理時間許容増加量Dmaxとは、第2の実施形態において算出した上式(1)を満たす分割数を最適化して新たな分割数を設定した場合における印刷ジョブデータの処理時間の増加量の許容量を示すものであり、使用者によって任意に設定されるものである。すなわち、面付け処理を行うことを条件として分割数および分割ページ数を決めた場合に、印刷ジョブデータ全体の処理時間に対して増加分として許される時間のことである。
【0126】
そして、上述したような第1〜第nの分割基準ページ数C1〜Cnと処理時間許容増加量Dmaxとが取得された後、上式(1)を満たす分割数m1によって印刷ジョブデータの全ページ数Naを除算した値を第1の分割ページ数候補M1として算出し、この第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れるか否かを判定する(S62)。なお、Na/m1が割り切れずに余りが出た場合には、その余りは無視して除算値をM1とする。
【0127】
そして、第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れる場合には、その第1の分割ページ数候補M1を第2の分割ページ数候補M2とする(S64)。一方、第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れない場合には、第1の分割ページ数候補M1を超える第1の分割基準ページ数C1の倍数であってかつ最小の値を算出し、その最小値を第2の分割ページ数候補M2とする(S66)。
【0128】
次に、上述したようにして取得された第2の分割ページ数候補M2が第2の分割基準ページ数C2によって割り切れるか否かを判定する(S68)。
【0129】
そして、第2の分割ページ数候補M2が第2の分割基準ページ数C2によって割り切れる場合には、その第2の分割ページ数候補M2を第3の分割ページ数候補M3とする(S70)。一方、第2の分割ページ数候補M2が第2の分割基準ページ数C2によって割り切れない場合には、第2の分割ページ数候補M2を超える第1の分割基準ページ数C1と第2の分割基準ページ数C2の公倍数を算出し、その公倍数のうちの最小の値(以下、最小の公倍数という)を第3の分割ページ数候補M3とする(S72)。
【0130】
次いで、上述した第2の分割ページ数候補M2を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間と、上述した第3の分割ページ数候補M3を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間とを算出する(S74)。
【0131】
ここで、印刷ジョブデータの全体処理時間は、たとえば、図4に示すようなジョブ分割処理時間と、各分割印刷ジョブデータの展開破棄処理時間、展開格納処理時間、データ出力処理時間および印刷時間から計算されるが、これらの時間の中でデータ出力処理時間と印刷時間とについては、印刷ジョブデータの全ページ数もしくは面付け後のページ数は分割ページ数に関わらず一定であるので、データ出力処理時間と印刷時間との合計値も分割ページ数に関わらす一定であり、最適化された分割ページ数および分割数を決定するプロセスにおいては考慮する必要がないパラメータである。
【0132】
一方、上述した面付け処理も考慮して分割ページ数および分割数を決定した場合、上記第2の実施形態のように、前の分割印刷ジョブデータの印刷処理時間内に現在の分割印刷ジョブデータの展開破棄処理および展開格納処理を終了させることができない場合が発生するため、この場合、図12(A)に示すような待機時間も考慮する必要がある。なお、図12(B)は従来のプリントシステムの処理の時間を示す図である。
【0133】
上記待機時間は、下式から算出することができる。
【0134】
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブデータの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
なお、この待機時間は、上述した処理時間許容増加量Dmaxを大きな値に設定した場合に発生しやすい時間である。なぜならば、分割基準ページ数が多く適用され、それに伴い、分割ページ数が多くなり、結果として最初に処理を行う分割印刷ジョブデータのページ数が端数となって他の分割印刷ジョブデータとの格差が大きくなり、その分割印刷ジョブデータの印刷処理時間中に次の分割印刷ジョブデータの印刷前の処理が完了しないからである。
【0135】
したがって、上述したような検討結果に基づいて、本実施形態においては、印刷ジョブデータ全体に関わる「分割処理時間」と、最初に処理を行う分割印刷ジョブデータに関わる「展開破棄処理時間」と「展開格納処理時間」と、その後に処理を行う分割印刷ジョブデータに関わる「待機時間」との合計値を上述した実効処理時間とし、各分割ページ数に対する実効処理時間から第1の分割基準ページ数C1を適用したとき(面付けしたとき)の分割ページ数に対応する実効処理時間を差し引いた差分を処理時間許容増加量Dmaxと比較する。
【0136】
すなわち、次に、第3の分割ページ数候補M3に基づく分割ページ数および分割数で印刷ジョブデータを処理した場合の実効処理時間から第2の分割ページ数候補M2に基づく分割ページ数および分割数で印刷ジョブデータを処理した場合の実効処理時間が減算されて実効処理時間の増加量が算出される(S76)。
【0137】
そして、この増加量と予め設定された処理時間許容増加量Dmaxとが比較され、この増加量が処理時間許容増加量Dmaxよりも大きい値である場合には(S78,YES)、第2の分割ページ数候補M2に基づく分割ページ数および分割数を最終的な分割数として決定する(S80)。
【0138】
一方、S76において算出された増加量が処理時間許容増加量Dmax以下である場合には(S78,NO)、次に、第3の分割ページ数候補M3が第3の分割基準ページ数C3によって割り切れるか否かを判定する(S82)。
【0139】
そして、第3の分割ページ数候補M3が第3の分割基準ページ数C3によって割り切れる場合には、その第3の分割ページ数候補M3を第4の分割ページ数候補M4とする(S84)。一方、第3の分割ページ数候補M3が第3の分割基準ページ数C3によって割り切れない場合には、第3の分割ページ数候補M3を超える第1の分割基準ページ数C1と第2の分割基準ページ数C2と第3の分割基準ページ数C3との最小の公倍数を算出し、その最小の公倍数を第4の分割ページ数候補M4とする(S86)。
【0140】
次いで、上述した第2の分割ページ数候補M2を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間と、上述した第4の分割ページ数候補M4を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間とを算出する(S88)。
【0141】
そして、第4の分割ページ数候補M4に基づく分割ページおよび分割数で印刷ジョブデータを処理した場合の実効処理時間から第2の分割ページ数候補M2に基づく分割ページ数および分割数で印刷ジョブデータを処理した場合の実効処理時間が減算されて実効処理時間の増加量が算出される(S90)。
【0142】
そして、この増加量と予め設定された処理時間許容増加量Dmaxとが比較され、この増加量が処理時間許容増加量Dmaxよりも大きい値である場合には(S92,YES)、第3の分割ページ数候補M3に基づく分割ページ数および分割数を最終的な分割数として決定する(S94)。
【0143】
一方、S90において算出された増加量が処理時間許容増加量Dmax以下であり(S92,NO)、第4の分割基準ページ数C4が設定されている場合には、引き続き、第4の分割ページ数候補M4が第4の分割基準ページ数C4によって割り切れるか否かを判定する。
【0144】
そして、以下は、再び、上述したS68〜S80までの処理やS82〜S94までの処理が、第nの分割基準ページ数Cnに基づく分割ページ数および分割数の判定まで繰り返して行われる。
【0145】
すなわち、最終的には、第nの分割ページ数候補Mnが第nの分割基準ページ数Cnによって割り切れるか否かを判定する(S96)。
【0146】
そして、第nの分割ページ数候補Mnが第nの分割基準ページ数Cnによって割り切れる場合には、その第nの分割ページ数候補Mnを第n+1の分割ページ数候補Mn+1とする(S98)。一方、第nの分割ページ数候補Mnが第nの分割基準ページ数Cnによって割り切れない場合には、第nの分割ページ数候補Mnを超える第1〜第nの分割基準ページ数C1〜Cnの最小の公倍数を算出し、その最小の公倍数の値を第n+1の分割ページ数候補Mn+1とする(S100)。
【0147】
次いで、上述した第2の分割ページ数候補M2を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間と、上述した第Mn+1の分割ページ数候補Mn+1を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間とを算出する(S102)。
【0148】
そして、第Mn+1の分割ページ数候補Mn+1に基づく分割ページ数および分割数で印刷ジョブデータを処理した場合の実効処理時間から第2の分割ページ数候補M2に基づく分割ページ数および分割数で印刷ジョブデータを処理した場合の実効処理時間が減算されて実効処理時間の増加量が算出される(S104)。
【0149】
そして、この増加量と予め設定された処理時間許容増加量Dmaxとが比較され、この増加量が処理時間許容増加量Dmaxよりも大きい値である場合には(S106,YES)、第nの分割ページ数候補Mnに基づく分割ページ数および分割数を最終的な分割数として決定する(S108)。
【0150】
一方、S104において算出された増加量が処理時間許容増加量Dmax以下である場合には(S106,NO)、第n+1の分割ページ数候補Mn+1に基づく分割ページ数および分割数を最終的な分割数として決定する(S110)。
【0151】
そして、上述したようにして最適化された分割数を決定した後、その分割数に基づいて分割印刷ジョブデータを生成する。分割印刷ジョブデータを生成する処理以降の処理については、上記第1および第2の実施形態のプリンタシステムと同様である。
【0152】
ここで、上述した第3の実施形態のプリンタシステムの作用について、具体的な数値例を挙げて以下に説明する。ここでは、印刷ジョブデータの全ページ数をNa=32758、第2の実施形態のプリンタシステムにおいて算出された上式(1)を満たす分割数をm1=5、第1の分割基準ページ数(面付け数N)をC1=2、第2の分割基準ページ数をC2=100、第3の分割基準ページ数をC3=500、処理時間許容増加量Dmax=180(秒)とした場合について説明する。
【0153】
まず、分割印刷ジョブデータ生成部22によって、第1〜第3の分割基準ページ数C1〜C3と処理時間許容増加量Dmaxとが取得される(S60)。具体的には、上述した第1の分割基準ページ基準数C1=2、第2の分割基準ページ数C2=100、第3の分割基準ページ数C3=500、処理時間許容増加量Dmax=180(秒)が取得される。
【0154】
そして、上述したような第1〜第3の分割基準ページ数C1〜C3と処理時間許容増加量Dmaxとが取得された後、上式(1)を満たす分割数m1=5によって印刷ジョブデータの全ページ数Na=32758を除算した値を第1の分割ページ数候補M1として算出し、この第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れるか否かを判定する(S62)。具体的には、Na/m1=32758/5を算出し、第1の分割ページ数候補としてM1=6552を取得する。そして、この第1の分割ページ数候補M1=6552が、第1の分割基準ページ数C1=2によって割り切れるか否かを判定する。
【0155】
そして、この場合、M1/C1=6552/2=3276となって割り切れるので、第1の分割ページ数候補M1=6552をそのまま第2の分割ページ数候補M2として取得する(S64)。
【0156】
次に、上述したようにして取得された第2の分割ページ数候補M2=6552が第2の分割基準ページ数C2=100によって割り切れるか否かを判定する(S68)。
【0157】
この場合、第2の分割ページ数候補M2=6552は第2の分割基準ページ数C2=100によって割り切れないので、第2の分割ページ数候補M2=6552を超える第1の分割基準ページ数C1=2と第2の分割基準ページ数C2=100の最小の公倍数を算出し、その最小の公倍数の値を第3の分割ページ数候補M3とする(S72)。具体的には、第2の分割ページ数候補M2=6552を超える第1の分割基準ページ数C1=2と第2の分割基準ページ数C2=100の最小の公倍数の最小値は6600であるので、第3の分割ページ数候補M3=6600を取得する。
【0158】
次いで、上述した第2の分割ページ数候補M2=6552を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間と、上述した第3の分割ページ数候補M3=6600を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間とを算出する(S74)。なお、このとき第2の分割ページ数候補M2=6552に基づく分割数と第3の分割ページ数候補M3=6600に基づく分割数とはともに5となる。
【0159】
具体的には、第2の分割ページ数候補M2=6552を分割ページ数とし、分割数を5とした場合の印刷ジョブデータの実効処理時間は、以下のようにして計算される。なお、第2の実施形態において説明したとおり、Naは印刷ジョブデータの全ページ数、mは分割数、sはジョブ分割処理速度、rは展開破棄速度、Rは展開処理速度、tはデータ出力処理速度、Xは印刷処理速度のことであり、ここでは、Na=32758(ページ)、s=42000(ページ/秒)、r=50(ページ/秒)、R=7.5(ページ/秒)、t=5(ページ/秒)、X=2.5(ページ/秒)として計算を行うものとする。
【0160】
印刷ジョブデータ全体に関わる処理時間+第5の分割印刷ジョブデータの処理時間:
分割処理時間+展開破棄処理時間+展開格納処理時間
=Nam/s+{分割ページ数(m−1)}/r+{Na−分割ページ数(m−1)}/R
=32758×5/42000+{6552(5−1)}/50+{32758−6552(5−1)}/7.5≒1401
第4から第1の分割印刷ジョブデータの処理時間:
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブデータの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
第4から第1の分割印刷ジョブデータの待機時間は、それぞれマイナスの値となるため、ここでは0としてカウントする。
【0161】
したがって、第2の分割ページ数候補M2=6552を分割ページ数とし、分割数を5とした場合の印刷ジョブデータの実効処理時間は1401(秒)≒23.4(分)
一方、第3の分割ページ数候補M2=6600を分割ページ数とし、分割数を5とした場合の印刷ジョブデータの実効処理時間は、以下のようにして計算される。
【0162】
印刷ジョブデータ全体に関わる処理時間+第5の分割印刷ジョブデータの処理時間:
分割処理時間+展開破棄処理時間+展開格納処理時間
=Nam/s+{分割ページ数(m−1)}/r+{Na−分割ページ数(m−1)}/R
=32758×5/42000+{6600(5−1)}/50+{32758−6600(5−1)}/7.5≒1380
第4の分割印刷ジョブデータの処理時間:
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブデータの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
=[{分割ページ数(m−2)}/r+分割ページ数/R]−[{Na−分割ページ数(m−1)}/X−{Na−分割ページ数(m−1)}/t]
=[{6600(5−2)}/50+6600/7.5]−[{32758−6600(5−1)}/2.5−{32758−6600(5−1)}/5]≒4
第3から第1の分割印刷ジョブデータの処理時間:
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブ
データの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
第3から第1の分割印刷ジョブデータの待機時間は、それぞれマイナスの値となるため、ここでは0としてカウントする。
【0163】
したがって、第3の分割ページ数候補M2=6600を分割ページ数とし、分割数を5とした場合の印刷ジョブデータの実効処理時間は、1380(秒)+4(秒)≒23.1(分)
次に、第3の分割ページ数候補M3に基づく分割ページ数(6600)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間から第2の分割ページ数候補M2に基づく分割ページ数(6552)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間が減算されて実効処理時間の増加量が算出される(S76)。具体的には、上記の計算結果より、実効処理時間の増加量は以下のような大きさとなる。
【0164】
23.1(分)−23.4(分)=−0.3(分)=−18(秒)
そして、この増加量と予め設定された処理時間許容増加量Dmaxとが比較され、この増加量が処理時間許容増加量Dmaxよりも大きい値である場合には(S78,YES)、第2の分割ページ数候補M2に基づく分割ページ数(6552)および分割数(5)を最終的な分割数として決定し(S80)、一方、増加量が処理時間許容増加量Dmax以下である場合には(S78,NO)、第3の分割ページ数候補M3=6600が第3の分割基準ページ数C3=500によって割り切れるか否かを判定する(S82)。
【0165】
ここでは、上述したとおり実効処理時間が減少しているため、処理時間許容増加量Dmax以下であるとして説明を進める。
【0166】
この場合、第3の分割ページ数候補M3=6600は第3の分割基準ページ数C3=500によって割り切れないので、第3の分割ページ数候補M3=6600を超える第1〜第3の分割基準ページ数C1〜C3の最小の公倍数を算出し、その最小の公倍数の値を第4の分割ページ数候補M4とする(S86)。具体的には、第3の分割ページ数候補M3=6600を超える第1〜第3の分割基準ページ数C1〜C3の最小の公倍数は7000であるので、第4の分割ページ数候補M4=7000を取得する。
【0167】
次いで、上述した第2の分割ページ数候補M2に基づく分割ページ数(6552)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間と、上述した第4の分割ページ数候補M4に基づく分割ページ数(7000)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間とを算出する(S88)。
【0168】
具体的には、第2の分割ページ数候補M2に基づく分割ページ数(6552)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間は、上記と同様であり、第4の分割ページ数候補M4に基づく分割ページ数(7000)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間は、以下のようにして計算される。
【0169】
印刷ジョブデータ全体に関わる処理時間+第5の分割印刷ジョブデータの処理時間:
分割処理時間+展開破棄処理時間+展開格納処理時間
=Nam/s+{分割ページ数(m−1)}/r+{Na−分割ページ数(m−1)}/R
=32758×5/42000+{7000(5−1)}/50+{32758−7000(5−1)}/7.5≒1198
第4の分割印刷ジョブデータの処理時間:
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブデータの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
=[{分割ページ数(m−2)}/r+分割ページ数/R]−[{Na−分割ページ数(m−1)}/X−{Na−分割ページ数(m−1)}/t]
=[{7000(5−2)}/50+7000/7.5]−[{32758−7000(5−1)}/2.5−{32758−7000(5−1)}/5]≒402
第3から第1の分割印刷ジョブデータの処理時間:
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブデータの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
第3から第1の分割印刷ジョブデータの待機時間は、それぞれマイナスの値となるため、ここでは0としてカウントする。
【0170】
したがって、第4の分割ページ数候補M4=7000を分割ページ数とし、分割数を5とした場合の印刷ジョブデータの実効処理時間は、1198(秒)+402(秒)≒26.7(分)
そして、第4の分割ページ数候補M4に基づく分割ページ数(7000)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間から第2の分割ページ数候補M2に基づく分割ページ数(6552)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間が減算されて実効処理時間の増加量が算出される(S90)。具体的には、上記の計算結果より、実効処理時間の増加量は以下のような大きさとなる。
【0171】
26.7(分)−23.4(分)=3.3(分)=198秒
そして、この増加量と予め設定された処理時間許容増加量Dmaxとが比較され、この増加量が処理時間許容増加量Dmaxよりも大きい値である場合には(S92,YES)、第3の分割ページ数候補M3に基づく分割ページ数(6600)および分割数(5)を最終的な分割ページ数および分割数として決定する(S94)。一方、S90において算出された増加量が処理時間許容増加量Dmax以下である場合には(S92,NO)、第4の分割ページ数候補M4に基づく分割ページ数(7000)および分割数(5)を最終的な分割ページ数および分割数として決定する。ここでは、上述したとおり実効処理時間の増加量は198(秒)であり、処理時間許容増加量Dmaxよりも大きい値であるので、第3の分割ページ数候補M3に基づく分割ページ数(6600)および分割数(5)が最終的な分割ページ数および分割数として決定される。
【0172】
第3の実施形態のプリンタシステムによれば、面付け処理の制約を考慮した分割数で印刷ジョブデータを分割するとともに、給排紙許容量や梱包枚数などといった使用者の要望に応じた制約を考慮した分割数で印刷ジョブデータを分割するようにしたので、適切な印刷結果を得ることができるとともに、ワークフロー面や物理面において利便性を向上させることができる。
【0173】
なお、上記第3の実施形態のプリンタシステムにおいては、面付け処理の際の面付け数に基づく第1の分割基準ページ数の他に第2〜第nの分割基準ページ数を設定するようにしたが、第2〜第nの分割基準ページ数を設定することなく、面付け数に基づく第1の分割基準ページだけを設定するようにしてもよい。
【0174】
その場合、図9に示すS62において、第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れるか否かを判定した後、第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れる場合には、その第1の分割ページ数候補M1を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて印刷ジョブデータを分割する。一方、第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れない場合には、第1の分割ページ数候補M1を超える第1の分割基準ページ数C1の倍数のうちの最小値を算出し、その最小値を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて印刷ジョブデータを分割する。
【0175】
また、上記第3の実施形態のプリンタシステムにおいては、第1〜第nの分割基準ページ数C1〜CnとしてC1<C2<C3<C4・・・<Cn−1<Cnを満たすような値を設定するようにしたが、たとえば、第2〜第nの分割基準ページ数C2〜Cnとして、上式の大小関係を満たさないような値が使用者によって設定された場合には、その値を受け付けることなく、警告メッセージを表示するなどすることによって、設定された値が適切でない旨を使用者に報知するようにしてもよい。
【符号の説明】
【0176】
10 コンピュータ
11 アプリケーション
12 プリンタドライバ
20,30 印刷装置
21 印刷ジョブデータ受付部
22 分割印刷ジョブデータ生成部
23 展開処理部
24 印刷エンジン
25 プリフライト処理部
【技術分野】
【0001】
本発明は、印刷データ生成装置およびプログラム並びに印刷装置に関するものであり、特に、いわゆるフェイスアップ排紙時に用いられる印刷ジョブデータを生成する装置およびプログラム並びに印刷装置に関するものである。
【背景技術】
【0002】
従来、メモ帳やWord(登録商標)などの編集用アプリケーションによって作成された画像データに基づいて印刷を行う際には、その画像データがコンピュータにおけるプリンタドライバによりPDL(Page Description Language)データに変換されて印刷装置に出力される。
【0003】
PDLとは、コンピュータ上で作成された文書や画像などを印刷する際に、印刷装置への出力イメージを記述して印刷装置に対して指示する言語のことである。
【0004】
印刷装置において文書を印刷する際には、文字や図形の位置情報、書式情報などのデータはビットマップデータに変換される必要がある。このビットマップイメージを作成するための言語がPDLであり、印刷装置の種類や解像度に依存することなく記述することができる。
【0005】
一方、たとえば、インクジェットプリンタにおいては、印刷直後のインクが装置の一部に転写して汚れが発生することを避けるため、インクジェットヘッドを印刷用紙の上方に配置し、インクを下方に噴射して印刷する方式が一般的に用いられている。
【0006】
このようなインクジェットプリンタによって印刷された印刷用紙は、印刷面が上向きの状態で排紙トレイに排出される、いわゆるフェイスアップ排紙によって排紙される。
【0007】
そして、このようなフェイスアップ排紙を行う際には、印刷面が上向きのため、プリンタドライバで生成される印刷ジョブデータが複数ページからなるものである場合には、印刷完了状態の印刷物のページ順を正しく並べるためには、印刷ジョブデータの最終ページから印字する必要がある。
【0008】
しかしながら、上述したPDLで記述された印刷ジョブデータによって印刷する場合、ページヘッダー等を利用して印刷ジョブデータの途中から展開すると印刷用の正しいビットマップデータを得られない場合が発生する。
【0009】
したがって、印刷用の正しいビットマップデータを確実に生成するためには、印刷ジョブデータの先頭から順次展開していく必要がある。
【0010】
しかしながら、フェイスアップ排紙時には、上述したように印刷ジョブデータの最終ページから出力する必要があるため、従来は、印刷ジョブデータを先頭から順次展開し、展開済みのビットマップデータを装置内に順次格納し、最終ページの展開処理が終了するまで出力を待ち続け、最終ページの展開処理が完了した時点で印刷装置に展開済みのビットマップデータを最終ページから先頭ページの順番で印刷をしていた。
【0011】
しかしながら、このような方法では、最終ページの展開処理まで待って初めて最初のページの印刷が可能になるため、最初のページの印刷を開始するまでに非常に長い時間がかかり、処理時間が長くなってしまうという欠点がある。
【0012】
また、印刷装置の物理的印刷スピードに対し、展開処理を行う処理装置が十分に上回る処理能力を有していたとしても、展開処理の待機時間は、処理する印刷ジョブデータのページ数が増大するにつれて長時間となる。たとえば、処理装置の処理能力が1,000ppm、印刷装置の印刷スピードが50ppmとした場合には、20ページ以上の印刷ジョブデータの場合には余分な展開処理の待機時間が発生することになる。
【0013】
そこで、たとえば、特許文献1においては、印刷ジョブデータを複数のブロックに区分し、そのブロック毎についてページ順とは逆順に処理していく方法が提案されている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開平11−110171号公報
【非特許文献】
【0015】
【非特許文献1】「http//www.sophia-it.com/「BINARY IT 用語辞典」
【発明の概要】
【発明が解決しようとする課題】
【0016】
しかしながら、特許文献1に記載の方法では、確かに印刷ジョブデータをブロックに分割しているため最初のページの印刷までの待機時間は短くなるが、ページ順の早いブロックから順次印刷を行っているため、たとえば、印刷装置が1つの排紙トレイしか備えていないような場合には、ページ順の早いブロックから順に排紙され、その上にページ順の遅いブロックが排紙されるため、ブロック単位でみるとページ順は合っているが、印刷物全体としてはページ順があっていないことになる。
【0017】
また、印刷装置が複数の排紙トレイを備え、各トレイに各ブロックのページを排紙したとしても、全ての排紙が完了した後に、印刷物全体として正しいページ順となるように、ユーザーが排紙トレイ毎の印刷物を並べなおす手間がかかることになる。
【0018】
本発明は、上記事情に鑑み、高速な印刷出力を可能にするとともに、ユーザーが印刷物を並べなおす手間を省くことができる印刷データ生成装置およびプログラム並びに印刷装置を提供することを目的とするものである。
【課題を解決するための手段】
【0019】
本発明の印刷データ生成装置は、複数ページの印刷データを有し、印刷部において認識可能な印刷ジョブデータを受け付ける印刷ジョブデータ受付部と、複数ページを所定の複数ページ毎に分割してその分割した複数ページを印刷ジョブデータ受付部によって受け付けられた印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成する分割印刷ジョブデータ生成部と、分割印刷ジョブデータ生成部によって生成された分割印刷ジョブデータをページ順の遅い順に並べるとともに、その各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、その展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にページデータを印刷部に出力する展開処理部とを備えたことを特徴とする。
【0020】
また、上記本発明の印刷データ生成装置においては、展開処理部を、分割印刷ジョブデータに割り当てられたページ以外のページのページデータを記憶することなく破棄するものとできる。
【0021】
また、展開処理部を、分割印刷ジョブデータに割り当てられたページの第1の展開処理とそのページ以外のページの第2の展開処理とを異なる展開処理とするものとし、第2の展開処理を、第1の展開処理よりも処理の負荷が軽いものとできる。
【0022】
また、第2の展開処理を、第1の展開処理よりも解像度が低い展開処理とできる。
【0023】
また、第1の展開処理を面付け処理を行うものとし、第2の展開処理を面付け処理を行わないものとできる。
【0024】
また、分割印刷ジョブデータ生成部を、n+1(nは1以上の整数)番目の分割印刷ジョブデータの展開処理が、n番目の分割印刷ジョブデータのページデータの印刷部における印刷処理の間に完了するように分割印刷ジョブデータの分割数を決定するものとできる。
【0025】
また、分割印刷ジョブデータ生成部を、n番目の分割印刷ジョブデータのページデータの出力処理の時間とn+1番目の分割印刷ジョブデータの展開処理の時間との加算値が、n番目の分割印刷ジョブデータの印刷処理時間以下となるように分割印刷ジョブデータの分割数を決定するものとできる。
【0026】
また、展開処理部を、n(nは1以上の整数)番目の分割印刷ジョブデータの展開処理とページデータの出力が終了した時点からn+1番目の分割印刷ジョブデータの展開処理を開始するものとできる。
【0027】
また、分割印刷ジョブデータ生成部を、下式(1)を満たす最大のmの値を分割数として決定するものとできる。
【0028】
Na/mX−(Na/mt + {Na(m−2)}/mr + Na/mR) > 0・・・(1)
ただし、Naは印刷ジョブデータの全ページ数、rは分割印刷ジョブデータに割り当てられたページ以外のページの展開処理の速度、Rは分割印刷ジョブデータに割り当てられたページの展開処理の速度、tは分割印刷ジョブデータのページデータの出力処理速度、Xは印刷部の印刷処理速度
また、印刷ジョブデータの全ページ数Na、分割印刷ジョブデータに割り当てられたページ以外のページの展開処理の速度r、分割印刷ジョブデータに割り当てられたページの展開処理の速度R、および分割印刷ジョブデータのページデータの出力処理速度tのうちの少なくとも1つを印刷ジョブデータの内容を解析することによって取得するプリフライト処理部を設けることができる。
【0029】
また、印刷ジョブデータの全ページ数Na、分割印刷ジョブデータに割り当てられたページ以外のページの展開処理の速度r、分割印刷ジョブデータに割り当てられたページの展開処理の速度R、および分割印刷ジョブデータのページデータの出力処理速度tのうちの少なくとも1つを設定入力可能な入力部を設けることができる。
【0030】
また、分割印刷ジョブデータ生成部を、複数の印刷部の種類とその印刷部に対応する印刷処理速度の情報とを対応づけたテーブルを有するものとし、印刷部の種類を取得してテーブルを参照することによって印刷処理速度の情報を取得するものとできる。
【0031】
また、分割印刷ジョブデータ生成部を、印刷部から出力された印刷処理速度の情報を取得するものとできる。
【0032】
また、ページデータに基づいて面付け処理を行う面付処理部を設け、分割印刷ジョブデータ生成部を、面付け処理を行う際の面付け数を取得するものとするとともに、さらに、上記決定した分割印刷ジョブデータの分割数によって印刷ジョブデータの全ページ数を除算して取得された分割ページ数候補が面付け数で割り切れるか否かを判定し、分割ページ数候補が面付け数で割り切れる場合には、分割ページ数候補を分割ページ数とするとともに、上記決定した分割印刷ジョブデータの分割数を用いて分割を行い、分割ページ数候補が面付け数で割り切れない場合には、分割ページ数候補を超える面付け数の倍数のうちの最小値を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて分割を行うものとできる。
【0033】
また、ページデータに基づいて面付処理を行う面付処理部を設け、分割印刷ジョブデータ生成部を、面付け処理を行う際の面付け数を取得するとともに、その面付け数よりも大きい予め設定された分割基準ページ数を取得するものとし、さらに、上記決定した分割印刷ジョブデータの分割数によって印刷ジョブデータの全ページ数を除算して取得された第1の分割ページ数候補が、面付け数で割り切れるか否かを判定し、第1の分割ページ数候補が面付け数で割り切れる場合には、その第1の分割ページ数候補を第2の分割ページ数候補として決定し、第1の分割ページ数候補が面付け数で割り切れない場合には、第1の分割ページ数候補を超える面付け数の倍数のうちの最小値を第2の分割ページ数候補として決定し、次いで、第2の分割ページ数候補が、分割基準ページ数で割り切れるか否かを判定し、第2の分割ページ数候補が分割基準ページ数で割り切れる場合には、その第2の分割ページ数候補を第3の分割ページ数候補として決定し、第2の分割ページ数候補が前記分割基準ページ数で割り切れない場合には、第2の分割ページ数候補を超える面付け数と分割基準ページ数との公倍数であって最小の値を第3の分割ページ数候補として決定し、その後、第2の分割ページ数候補を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて分割を行った場合の印刷ジョブデータの処理時間と、第3の分割ページ数候補を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて分割を行った場合の印刷ジョブデータの処理時間との差が、予め設定された処理時間許容増加量以下である場合には、第3の分割ページ数候補に基づく分割ページ数および分割数を用いて分割を行い、上記差が、処理時間許容増加量を超える場合には、第2の分割ページ数候補に基づく分割ページ数および分割数を用いて分割を行うものとできる。
【0034】
また、ページデータに基づいて面付処理を行う面付処理部を設け、分割印刷ジョブデータ生成部を、面付け処理を行う際の面付け数を第1の分割基準ページ数として取得するとともに、その第1の分割基準ページ数よりも大きい予め設定された1または複数の第k(kは2〜n)の分割基準ページ数を取得するものとし、さらに、上記決定した分割印刷ジョブデータの分割数によって印刷ジョブデータの全ページ数を除算して取得された第1の分割ページ数候補が、第1の分割基準ページ数で割り切れるか否かを判定し、第1の分割ページ数候補が第1の分割基準ページ数で割り切れる場合には、その第1の分割ページ数候補を第2の分割ページ数候補として決定し、第1の分割ページ数候補が第1の分割基準ページ数で割り切れない場合には、第1の分割ページ数候補を超える第1の分割基準ページ数の倍数のうちの最小値を第2の分割ページ数候補として決定し、その第2の分割ページ数候補を決定した後、第kの分割ページ数候補が、第kの分割基準ページ数で割り切れるか否かを判定し、第kの分割ページ数候補が第kの分割基準ページ数で割り切れる場合には、その第kの分割ページ数候補を第k+1の分割ページ数候補として決定し、第kの分割ページ数候補が第kの分割基準ページ数で割り切れない場合には、第kの分割ページ数候補を超える第1〜第kの分割基準ページ数の公倍数であって最小の値を第k+1の分割ページ数候補として決定し、その後、第2の分割ページ数候補を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて分割を行った場合の印刷ジョブデータの処理時間と、第k+1の分割ページ数候補を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて分割を行った場合の印刷ジョブデータの処理時間との差が、予め設定された処理時間許容増加量以下である場合には、第k+1の分割ページ数候補に基づく分割ページ数および分割数を用いて分割を行い、上記差が、処理時間許容増加量を超える場合には、第kの分割ページ数候補に基づく分割ページ数および分割数を用いて分割を行うものとできる。
【0035】
本発明の印刷データ生成プログラムは、コンピュータを、複数ページの印刷データを有し、印刷部において認識可能な印刷ジョブデータを受け付ける印刷ジョブデータ受付部と、複数ページを所定の複数ページ毎に分割してその分割した複数ページを印刷ジョブデータ受付部によって受け付けられた印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成する分割印刷ジョブデータ生成部と、その分割印刷ジョブデータ生成部によって生成された分割印刷ジョブデータをページ順の遅い順に並べるとともに、その各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、その展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にページデータを印刷部に出力する展開処理部として機能させるものであることを特徴とする。
【0036】
本発明の印刷装置は、上記印刷データ生成装置と、印刷データ生成装置から出力されたページデータに基づいて印刷処理を行う印刷部とを備えたことを特徴とする。
【発明の効果】
【0037】
本発明の印刷データ生成装置およびプログラム並びに印刷装置によれば、印刷ジョブデータの複数ページを所定の複数ページ毎に分割し、その分割した複数ページを印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成し、その分割印刷ジョブデータをページ順の遅い順に並べるとともに、その各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、その展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にページデータを印刷部に出力するようにしたので、展開処理による待ち時間を短縮することができ高速な印刷出力が可能になるとともに、ユーザーが印刷物を並べなおすことなくページ順に並んだ印刷物を取得することができる。
【図面の簡単な説明】
【0038】
【図1】本発明の印刷データ生成装置の第1の実施形態を用いたプリンタシステムの概略構成を示すブロック図
【図2】本発明の印刷データ生成装置の第1の実施形態を用いたプリンタシステムの作用を説明するためのフローチャート
【図3】分割印刷ジョブデータのイメージ図
【図4】各分割印刷ジョブデータの各処理のタイミングチャート
【図5】各分割印刷ジョブデータの各処理のその他のタイミングチャート
【図6】本発明の印刷データ生成装置の第2の実施形態を用いたプリンタシステムの概略構成を示すブロック図
【図7】本発明の印刷データ生成装置の第2の実施形態を用いたプリンタシステムの作用を説明するためのフローチャート
【図8】印刷エンジンの機種とその印刷処理速度の情報とを対応付けたテーブルの一例を示す図
【図9】本発明の印刷データ生成装置の第3の実施形態を用いたプリンタシステムの作用を説明するためのフローチャート
【図10】本発明の印刷データ生成装置の第3の実施形態を用いたプリンタシステムの作用を説明するためのフローチャート
【図11】本発明の印刷データ生成装置の第3の実施形態を用いたプリンタシステムの作用を説明するためのフローチャート
【図12】各分割印刷ジョブデータの各処理のその他のタイミングチャート
【発明を実施するための形態】
【0039】
以下、図面を参照して本発明の印刷データ生成装置およびプログラムの第1の実施形態を用いたプリンタシステムについて詳細に説明する。図1は、本実施形態のプリンタシステムの全体概略構成図である。
【0040】
本実施形態のプリンタシステムは、図1に示すように、コンピュータ10と、コンピュータ10に有線または無線LANなどのネットワークを介して接続された印刷装置20とを備えている。
【0041】
コンピュータ10は、図1に示すように、アプリケーション11とプリンタドライバ12とを備えている。なお、アプリケーション11およびプリンタドライバ12は、コンピュータ10にインストールされたプログラムによって構成されるものである。
【0042】
アプリケーション11は、メモ帳やWord(登録商標)などのような原稿画像を表す画像データを編集することができるプログラムであり、アプリケーション11において編集された画像データはプリンタドライバ12に出力される。
【0043】
プリンタドライバ12は、印刷枚数や印刷部数、両面印刷やNアップ印刷などの種々の印刷条件および出力方法などの操作者による入力を受け付けるユーザーインターフェースを有し、その印刷条件や出力方法などに応じて、印刷装置20において認識可能な印刷ジョブデータを生成して出力するものである。本実施形態におけるプリンタドライバ12は、印刷ジョブデータとして、PDL(Page Description Language)データを生成するものである。なお、印刷条件や出力方法などはコンピュータ10に設けられたキーボードやマウスなどの所定の入力手段によって入力される。
【0044】
印刷装置20は、図1に示すように、印刷ジョブデータ受付部21と、分割印刷ジョブデータ生成部22と、展開処理部23と、印刷エンジン24とを備えている。
【0045】
印刷ジョブデータ受付部21は、コンピュータ10のプリンタドライバ12から出力された複数ページの印刷データを有する印刷ジョブデータを受け付けるものである。
【0046】
分割印刷ジョブデータ生成部22は、印刷ジョブデータの全ページを所定の複数ページ毎に分割し、その分割した複数ページを印刷ジョブデータにそれぞれ割り当てることによって複数の分割印刷ジョブデータを生成するものである。なお、分割印刷ジョブデータ生成部22は、入力された印刷ジョブデータを一旦記憶するとともに、その印刷ジョブデータに基づいて生成した分割印刷ジョブデータを記憶するメモリなどの記憶部を備えているものとする。また、具体的な分割印刷ジョブデータの生成方法については、後で詳述する。
【0047】
展開処理部23は、分割印刷ジョブデータ生成部22によって生成された分割印刷ジョブデータをページ順の遅い順に並べるとともに、その各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、その展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にページデータを印刷エンジン24に出力するものである。なお、展開処理部23は、生成したページデータを一旦記憶するメモリなどの記憶部を備えているものとする。また、具体的な展開処理の方法については、後で詳述する。
【0048】
印刷エンジン24は、展開処理部23から出力されたページデータに基づいて印刷用紙に印刷処理を施すものであり、たとえば、孔版印刷プリンタやインクジェットプリンタやレーザープリンタなどを用いることができる。
【0049】
次に、本実施形態のプリンタシステムの作用について、図2に示すフローチャートを参照しながら説明する。
【0050】
まず、アプリケーション11が起動され、このアプリケーション11を用いて文書、イラスト、写真画像などが編集されて画像データが生成される(S10)。
【0051】
そして、アプリケーション11において印刷指示が選択されると、プリンタドライバ12のユーザーインターフェースが起動されて種々の印刷条件および出力方法などの入力を受け付ける印刷条件受付画面が表示され、その印刷条件受付画面において種々の印刷条件および出力方法などが操作者によって所定の入力手段を用いて設定された後、印刷指示が選択されると、プリンタドライバ12はその印刷条件や出力方法と画像データとに基づいて、印刷ジョブデータを生成する(S12)。
【0052】
そして、プリンタドライバ12において生成された印刷ジョブデータは印刷装置20に出力され、印刷ジョブデータ受付部21によって受け付けられる。そして、印刷ジョブデータ受付部21によって受け付けられた印刷ジョブデータは分割印刷ジョブデータ生成部22に出力され、分割印刷ジョブデータ生成部22において、入力された印刷ジョブデータに基づいて、分割印刷ジョブデータが生成される(S14)。
【0053】
ここで、本実施形態においては、印刷ジョブデータとして50ページの印刷データを有する印刷ジョブデータが印刷ジョブデータ受付部21によって受け付けられ、その50ページの印刷ジョブデータに基づいて、複数の分割印刷ジョブデータが生成される場合について説明する。
【0054】
具体的には、分割印刷ジョブデータ生成部22は、50ページを10ページ毎に5つのページ群に分け、その5つのページ群をそれぞれ印刷ジョブデータに割り当てることによって5つの分割印刷ジョブデータを生成する。なお、本実施形態においては、全ページを5つのページ群に分割するようにしたが、分割数についてはこれに限らず、その他の分割数を採用してもよい。ただし、印刷処理時間の短縮の効果を得るためには、所定の条件を満たす分割数に設定することが望ましいが、その分割数の設定方法については、後述する本発明の第2の実施形態において説明する。本実施形態については、所定の条件を満たすような分割数が予め取得されて設定されているものとする。
【0055】
図3に、上述したようにして生成された5つの分割印刷ジョブデータのイメージ図を示す。図3に示すように、印刷ジョブデータに50ページのうちの1ページ目から10ページ目までを割り当てて第1の分割印刷ジョブデータを生成し、11ページ目から20ページ目までを割り当てて第2の分割印刷ジョブデータを生成し、21ページ目から30ページ目までを割り当てて第3の分割印刷ジョブデータを生成し、31ページ目から40ページ目までを割り当てて第4の分割印刷ジョブデータを生成し、41ページ目から50ページ目までを割り当てて第5の分割印刷ジョブデータを生成する。
【0056】
そして、分割印刷ジョブデータ生成部22は、第1〜第5の分割印刷ジョブデータを展開処理部23に出力し、展開処理部23において、入力された分割印刷ジョブデータに対して展開処理が施される(S16)。図4(A)に、第1〜第5の分割印刷ジョブデータの各処理のタイミングチャートを示す。
【0057】
具体的には、展開処理部23は、まず、入力された第1〜第5の分割印刷ジョブデータをページ順の遅い順に並べる。すなわち、第5の分割印刷ジョブデータを先頭にして第4の分割印刷ジョブデータ、第3の分割印刷ジョブデータ、第2の分割印刷ジョブデータ、第1の分割印刷ジョブデータの順に並べる。
【0058】
次に、図4(A)に示すように、上述したように並べられた順で分割印刷ジョブデータに対して展開処理を施してページ毎のビットマップデータをページデータとして生成し、展開処理が施された順に、分割印刷ジョブデータ毎についてページ順の遅い順にビットマップデータを印刷エンジン24に出力する。
【0059】
すなわち、まず、41ページ目から50ページ目が割り当てられた第5の分割印刷ジョブデータの展開処理が行われる。具体的には、図3に示すように、最初に1ページ目から40ページ目までの展開処理が行われ、これらのページのビットマップデータについては記憶されることなく破棄される。そして、41ページ目から50ページ目までの展開処理がページ順に施されてビットマップデータが生成され、メモリなどの記憶部に格納される(S18,S20)。なお、以下の説明では、上述したように展開処理後にビットマップデータを破棄する処理を展開破棄処理といい、展開処理後にビットマップデータを記憶部に格納する処理を展開格納処理という。
【0060】
ここで、展開処理部23は、1ページ目から40ページ目にまでに施される展開破棄処理の解像度の方が、41ページ目から50ページ目までに施される展開格納処理の解像度よりも低くなるように展開処理を行う。すなわち、展開処理部23は、分割印刷ジョブデータに割り当てられたページ以外のページの展開破棄処理の方が、分割印刷ジョブデータに割り当てられたページの展開格納処理よりも解像度が低くなるように展開処理を行う。
【0061】
また、たとえば、印刷ジョブデータの印刷条件として両面印刷やNアップ印刷など面付け処理が必要な印刷条件が設定されている場合には、展開処理部23は、分割印刷ジョブデータに割り当てられたページ以外のページの展開破棄処理を行う際には面付け処理を行わず、分割印刷ジョブデータに割り当てられたページの展開格納処理を行う際には面付け処理を行うようにする。なお、本実施形態における面付け処理とは、両面印刷の場合に2ページ毎のデータを1枚の印刷用紙の表面と裏面とに割り付ける処理や、Nアップ印刷の場合に複数ページのデータを印刷用紙の1面に割り付ける処理のことである。この処理を行うためには、まず、面付け後の各ページの割付サイズを計算し、面付け後の各ページの割付方向と位置とを計算し、面付け後の割付サイズ並びに割付方向となるように各ページの展開処理を行った後、面付け後のページ(メモリ上のイメージフレーム)上に、展開処理したページデータを割付位置に合わせて配置する必要があり、大変複雑な処理である。
【0062】
また、印刷ジョブデータの印刷条件として文字スムージング処理が設定されている場合には、展開処理部23は、分割印刷ジョブデータに割り当てられたページ以外のページの展開破棄処理を行う際には文字スムージング処理を行わず、分割印刷ジョブデータに割り当てられたページの展開格納処理を行う際には文字スムージング処理を行うようにする。なお、文字スムージング処理とは、多値データに展開する場合に、文字などの輪郭をスムスに見せるための処理であり、この処理は、一旦解像度の高いデータを生成し、そのデータから隣接しあった複数のピクセルの濃度を平均化して解像度を下げていくことで最終的に生成する解像度のデータにおいて、隣接するピクセルの濃度差が小さくなるような処理である。したがって、この処理も、一旦高い解像度のデータを生成する処理と、その後の解像度を下げていく処理とが必要であり、大変複雑な処理である。
【0063】
要するに、展開処理部23は、展開破棄処理の方が展開格納処理よりも処理の負荷が軽くなるような処理を行う。以下で説明する第4〜第1の分割印刷ジョブデータの展開処理についても同様である。
【0064】
そして、展開処理部23は、50ページ目までの展開処理が終わると最後の50ページ目から順に41ページ目までのビットマップデータを印刷エンジン24に出力する(S22)。
【0065】
そして、印刷エンジン24は、展開処理部23から出力された50ページ目のビットマップを受け付けるとそのビットマップデータに基づいて50ページ目の印刷処理を開始し、その後、受け付けたページの印刷処理を順次行っていくが、図4(A)に示すように、展開処理部23からのビットマップデータの出力処理(図4(A)の矢印)と印刷エンジンにおける印刷処理(図4(A)の縦線部)とは並行して行われる。そして、印刷エンジン24において印刷処理の施された印刷用紙が50ページ目から順に印刷エンジン24から排紙されるが、このとき印刷面が上向きの状態で排紙される。
【0066】
そして、図4(A)に示すように、第5の分割印刷ジョブデータのビットマップデータの出力処理が終了した時点から次の第4の分割印刷ジョブデータの展開処理が開始される(S24,S16)。なお、本実施形態のプリンタシステムにおいては、ハードウェアの都合上、ビットマップデータの出力処理と展開処理とが並行して行えないように構成されているが、特にこれに限定されることなくこれらの処理を並行して行うようにしてもよい。その場合には、第5の分割印刷ジョブデータの展開格納処理が終了した時点からその展開処理後のビットマップデータの出力処理と第4の分割印刷ジョブデータの展開破棄処理とを並行して行うようにしてもよい。
【0067】
そして、第5の分割印刷ジョブデータの印刷処理と並行して第4の分割印刷ジョブデータの展開処理が行われる。具体的には、図3に示すように、まず、1ページ目から30ページ目までの展開破棄処理が行われ、これらのページのビットマップデータについては記憶されることなく破棄される。そして、31ページ目から40ページ目までの展開格納処理がページ順に施されてビットマップデータが生成され、メモリなどの記憶部に格納される(S18,S20)。そして、展開処理部23は、40ページ目までの展開処理が終わると40ページ目から順に31ページ目までのビットマップデータを印刷エンジン24に出力する(S22)。
【0068】
そして、印刷エンジン24は、展開処理部23から出力された40ページ目のビットマップを受け付けるとそのビットマップデータに基づいて40ページ目の印刷処理を開始し、その後、受け付けたページの印刷処理を順次行っていくが、展開処理部23からのビットマップデータの出力処理と印刷エンジンにおける印刷処理とは並行して行われる。
【0069】
そして、印刷エンジン24において印刷処理の施された印刷用紙が40ページ目から順に印刷エンジン24から排紙されるが、このとき印刷面が上向きの状態で排紙される。
【0070】
そして、図4(A)に示すように、第4の分割印刷ジョブデータの印刷処理と並行して第3の分割印刷ジョブデータの展開処理が行われる。具体的には、図3に示すように、まず、1ページ目から20ページ目までの展開破棄処理が行われ、これらのページのビットマップデータについては記憶されることなく破棄される。そして、21ページ目から30ページ目までの展開格納処理がページ順に施されてビットマップデータが生成され、メモリなどの記憶部に格納される(S18,S20)。そして、展開処理部23は、30ページ目までの展開処理が終わると30ページ目から順に21ページ目までのビットマップデータを印刷エンジン24に出力する(S22)。
【0071】
そして、印刷エンジン24は、展開処理部23から出力された30ページ目のビットマップを受け付けるとそのビットマップデータに基づいて30ページ目の印刷処理を開始し、その後、受け付けたページの印刷処理を順次行っていくが、第3の分割印刷ジョブデータについては、図4(A)に示すように、印刷エンジン24が30ページ目のビットマップデータを受け付けた時点において第4の分割印刷ジョブデータの印刷処理が終了していないので、印刷エンジン24は、第4の分割印刷ジョブデータの印刷処理が終了した時点から30ページ目のビットマップデータの印刷処理を開始することになる。
【0072】
そして、印刷エンジン24において印刷処理の施された印刷用紙が30ページ目から順に印刷エンジン24から排紙されるが、このとき印刷面が上向きの状態で排紙される。
【0073】
そして、図4(A)に示すように、第3の分割印刷ジョブデータの印刷処理と並行して第2の分割印刷ジョブデータの展開処理が行われる。具体的には、図3に示すように、まず、1ページ目から10ページ目までの展開破棄処理が行われ、これらのページのビットマップデータについては記憶されることなく破棄される。そして、11ページ目から20ページ目までの展開格納処理がページ順に施されてビットマップデータが生成され、メモリなどの記憶部に格納される(S18,S20)。そして、展開処理部23は、20ページ目までの展開処理が終わると20ページ目から順に11ページ目までのビットマップデータを印刷エンジン24に出力する(S22)。
【0074】
そして、印刷エンジン24は、展開処理部23から出力された20ページ目のビットマップを受け付けるとそのビットマップデータに基づいて20ページ目の印刷処理を開始し、その後、受け付けたページの印刷処理を順次行っていくが、第2の分割印刷ジョブデータについても、図4(A)に示すように、印刷エンジン24が20ページ目のビットマップデータを受け付けた時点において第3の分割印刷ジョブデータの印刷処理が終了していないので、印刷エンジン24は、第3の分割印刷ジョブデータの印刷処理が終了した時点から20ページ目のビットマップデータの印刷処理を開始することになる。
【0075】
そして、印刷エンジン24において印刷処理の施された印刷用紙が20ページ目から順に印刷エンジン24から排紙されるが、このとき印刷面が上向きの状態で排紙される。
【0076】
そして、図4(A)に示すように、第2の分割印刷ジョブデータの印刷処理と並行して第1の分割印刷ジョブデータの展開処理が行われる。具体的には、図3に示すように、1ページ目から10ページ目までの展開格納処理がページ順に施されてビットマップデータが生成され、メモリなどの記憶部に格納される(S18,S20)。そして、展開処理部23は、10ページ目までの展開格納処理が終わると10ページ目から順に1ページ目までのビットマップデータを印刷エンジン24に出力する(S22)。
【0077】
そして、印刷エンジン24は、展開処理部23から出力された10ページ目のビットマップを受け付けるとそのビットマップデータに基づいて10ページ目の印刷処理を開始し、その後、受け付けたページの印刷処理を順次行っていくが、第1の分割印刷ジョブデータについても、図4(A)に示すように、印刷エンジン24が10ページ目のビットマップデータを受け付けた時点において第2の分割印刷ジョブデータの印刷処理が終了していないので、印刷エンジン24は、第2の分割印刷ジョブデータの印刷処理が終了した時点から10ページ目のビットマップデータの印刷処理を開始することになる。
【0078】
そして、印刷エンジン24において印刷処理の施された印刷用紙が10ページ目から順に印刷エンジン24から排紙されるが、このとき印刷面が上向きの状態で排紙される。
【0079】
ここで、図4(B)に、本実施形態のプリンタシステムの処理時間と従来のプリンタシステムの処理時間とを比較するために従来のプリンタシステムの各処理のタイミングチャートも示している。従来のプリンタシステムにおいては、印刷ジョブデータ全体の展開処理が終了した後、データ出力処理および印刷処理が行われる。
【0080】
図4(A),(B)に示すように、本実施形態のプリンタシステムは、前の分割印刷ジョブデータの印刷処理と並行して次の分割印刷ジョブデータの展開処理を行うようにしたので、従来のプリンタシステムと比較すると処理時間が短縮することがわかる。
【0081】
ここで、上述したとおり、上記実施形態のプリンタシステムにおいては、分割印刷ジョブデータ毎に所定の複数ページが割り当てられているが、展開処理を行う際には、1ページ目からその割り当てられたページに到達するまでのページについても展開破棄処理を行う必要がある。
【0082】
したがって、場合によっては、1ページ目から割り当てられたページまで到達するまでのページの展開処理に要するオーバーヘッド時間と分割印刷ジョブデータのデータ出力処理の時間との合計が、図4(A)に示す短縮時間を上回り、図5(A)に示すように印刷ジョブデータを第1〜第5の印刷分割ジョブデータに分割して処理を行った方が、図5(B)に示す従来のプリントシステムの処理の時間よりも長い時間がかかってしまうことがある。
【0083】
そこで、このような問題を生じないように構成された本発明の印刷データ生成装置の第2の実施形態を用いたプリンタシステムについて説明する。図6は、本発明の印刷データ生成装置の第2の実施形態を用いたプリンタシステムの概略構成を示すブロック図である。
【0084】
第2の実施形態のプリンタシステムは、図6に示すように、第1の実施形態のプリンタシステムに対してさらにプリフライト処理部25を設けたものである。
【0085】
プリフライト処理部25は、印刷ジョブデータ受付部21によって受け付けられた印刷ジョブデータの内容を解析し、その解析結果に基づいて分割印刷ジョブデータ生成部22において生成される分割印刷ジョブデータの分割数を算出するものである。
【0086】
第2の実施形態のプリンタシステムの作用を図7に示すフローチャートを参照しながら説明する。
【0087】
まず、コンピュータ10において画像データを生成し、その画像データに基づいて印刷ジョブデータを生成するステップ30〜S32までについては、上述した第1の実施形態の説明と同様である。
【0088】
そして、コンピュータ10から出力された印刷ジョブデータは、印刷装置30の印刷ジョブデータ受付部21によって受け付けられた後、プリフライト処理部25に出力される。
【0089】
プリフライト処理部25は、入力された印刷ジョブデータの内容を解析し、分割印刷ジョブデータの分割数を決定するためのパラメータを取得する(S34,S36)。
【0090】
具体的には、プリフライト処理部25は、上記パラメータとして、印刷ジョブデータの全ページ数Na、ジョブ分割処理速度s、展開破棄処理速度r、展開処理速度R、およびデータ出力処理速度tを取得する。
【0091】
プリフライト処理部25は、印刷ジョブデータの全ページ数Naについては、印刷ジョブデータに含まれる全ページ数の情報を読み出すことによって取得する。
【0092】
ジョブ分割処理速度s(ページ/秒)とは、たとえば、印刷ジョブデータを一旦記憶部に記憶し、その記憶した印刷ジョブデータを読出し、その印刷ジョブデータに基づいて分割印刷ジョブデータを生成し、その分割印刷ジョブデータを記憶部に記憶するまでの間の処理速度のことをいい、プリフライト処理部25は、印刷ジョブデータのサイズと記憶部の入出力速度に基づいてジョブ分割処理速度sを算出する。なお、印刷ジョブデータのサイズについては印刷ジョブデータを解析することによって取得され、記憶部の入出力速度については予め設定されているものとする。
【0093】
展開破棄処理速度r(ページ/秒)とは、展開破棄処理を行う際の1秒あたりの処理ページの数のことをいい、展開処理速度R(ページ/秒)とは、展開格納処理を行う際の1秒あたりの処理ページの数のことをいう。
【0094】
プリフライト処理部25は、展開破棄処理速度rおよび展開処理速度Rについては、印刷ジョブデータの一部のページまたは全ページについて低解像度で展開破棄処理を行うとともに、印刷ジョブデータの一部のページまたは全ページについて通常の解像度で展開格納処理を行い、その展開破棄処理と展開格納処理とを行うのに要した時間をそれぞれ計測する。具体的には、展開破棄処理の際には、印刷ジョブデータの一部または全部をメモリ上に読み込み、その印刷ジョブデータを最初から解析して、「改ページコマンド」が記録されている部分のデータまで到達するまで、低解像処理など、通常の展開処理よりも負荷の軽い状態で展開処理を行い、1ページ分のイメージデータをメモリ上に生成し、ハードディスクなどへの格納は行わない。上記処理を指定されているページまで繰り返す。また、展開格納処理の際には、印刷ジョブデータの一部または全部をメモリ上に読み込み、印刷ジョブデータを指定ページから解析して、「改ページコマンド」が記録されている部分のデータまで到達するまで、通常の展開処理を行い1ページ分のイメージデータをメモリ上に生成し、その生成したイメージデータをハードディスクに保存する。上記処理を最終ページまで繰り返す。
【0095】
そして、処理対象のページ数を計測した時間(秒)で除算することによって展開破棄処理速度rと展開処理速度Rとを算出する。なお、計測時間と展開破棄処理速度rとの対応関係を示すテーブルと計測時間と展開処理速度Rとの対応関係を示すテーブルをそれぞれ予め設定しておき、このテーブルを参照することによって展開破棄処理速度rと展開処理速度Rとを取得するようにしてもよい。
【0096】
データ出力処理速度t(ページ/秒)は、展開格納処理の施されたビットマップデータを記憶部から読み出して印刷エンジン24に出力する際の処理速度である。プリフライト処理部25は、印刷ジョブデータのサイズと記憶部のデータ転送速度とに基づいてデータ出力処理速度tを算出する。印刷ジョブデータのサイズについては、印刷ジョブデータを解析することによって取得し、その印刷ジョブデータに対応するビットマップデータのサイズを取得し、ビットマップデータのサイズとデータ転送速度とに基づいてデータ出力処理速度tを算出する。印刷ジョブデータのサイズとビットマップデータのサイズとの関係は予め設定されているものとし、記憶部のデータ転送速度についても予め設定されているものとする。
【0097】
そして、プリフライト処理部25において取得された上記パラメータは、分割印刷ジョブデータ生成部22に出力され、分割印刷ジョブデータ生成部22は、入力されたパラメータに基づいて分割印刷ジョブデータの分割数を算出する(S38)。
【0098】
具体的には、分割印刷ジョブデータ生成部22は、n+1(nは1以上の整数)番目の分割印刷ジョブデータの展開処理が、n番目の分割印刷ジョブデータのビットマップデータの印刷処理の間に完了するように分割印刷ジョブデータの分割数を決定する。以下、その具体的な算出方法について検討する。
【0099】
まず、本実施形態においては、データ出力処理と展開処理とを並列に行うことができないので、n+1(nは1以上の整数)番目の分割印刷ジョブデータの展開処理が、n番目の分割印刷ジョブデータのビットマップデータの印刷処理の間に完了するようにするには、n番目の分割印刷ジョブデータのビットマップデータの出力処理とn+1番目の分割印刷ジョブデータの展開破棄処理時間および展開格納処理時間との加算値を、n番目の分割印刷ジョブデータの印刷処理時間以下とする必要がある。
【0100】
ここで、各分割印刷ジョブデータの展開破棄処理時間については、先に展開処理が施される分割印刷ジョブデータほど展開破棄処理を行う対象のページ数が多いことになるので、先に展開処理が施される分割印刷ジョブデータほど長い時間になる。また、展開格納処理時間については、各分割印刷ジョブデータのページ数が同じであるとすると全ての分割印刷ジョブデータの展開格納処理時間が同じになる。また、ビットマップデータの出力処理時間と印刷エンジン24における印刷処理時間については、各分割印刷ジョブデータのページ数が同じであるとするとこれも全て同じ時間となる。
【0101】
すなわち、各分割印刷ジョブデータ間で変動する時間は展開破棄処理時間だけであるので、この展開破棄処理時間は先に展開処理の施される分割印刷ジョブデータほど長いので、上述したようにn番目の分割印刷ジョブデータのビットマップデータの出力処理とn+1番目の分割印刷ジョブデータの展開破棄処理時間および展開格納処理時間との加算値を、n番目の分割印刷ジョブデータの印刷処理時間以下とするためには、1番目の分割印刷ジョブデータのビットマップデータの出力処理時間と2番目に展開処理の施される分割印刷ジョブデータの展開破棄処理時間および展開格納処理時間との加算値が、1番目の分割印刷ジョブデータのビットマップデータの印刷エンジン24における印刷処理時間以下となるようにすればよく、この条件を満たせばその他の分割印刷ジョブデータ間もこの条件を満たすことになる。なお、ここでいう1番目、2番目の数値は、図3に示す第1、第2、・・・の数値とは異なるものであり、ここでいう1番目の印刷ジョブデータは、図3では第5の印刷ジョブデータに相当し、2番目の印刷ジョブデータは、図3では第4の印刷ジョブデータに相当する。
【0102】
そして、分割印刷ジョブデータの分割数をmとすると、1番目の分割印刷ジョブデータのビットマップデータの出力処理時間はNa/mtで表され、2番目に展開処理の施される分割印刷ジョブデータの展開破棄処理時間は{Na(m−2)}/mrで表され、展開格納処理時間はNa/mRで表される。また、1番目の分割印刷ジョブデータのビットマップデータの印刷処理時間は、印刷エンジン24における印刷処理速度をX(ページ/秒)とするとNa/mXで表される。なお、印刷処理速度Xについては、本実施形態においては予め設定されているものとする。
【0103】
したがって、上記条件を満たすには下式(1)を満たせば良いことになる。
【0104】
Na/mX−(Na/mt + {Na(m−2)}/mr + Na/mR) > 0・・・(1)
一方、全体処理時間を短くするためには、図4(A)からもわかるように、ジョブ分割処理時間と最初の分割印刷ジョブデータの展開破棄処理時間および展開格納処理時間との加算値がより小さいことが望ましい。そして、ジョブ分割処理時間はNam/sで表され、最初の分割印刷ジョブデータの展開破棄処理時間は{Na(m−1)}/mrで表され、展開格納処理時間はNa/mRで表されることから、これらの加算値は下式(2)で表すことができる。
【0105】
Nam/s+{Na(m−1)}/mr+Na/mR ・・・(2)
そして、この上式(2)を小さくするためには、下式(3)を満たすものとすると、分割数mがより大きい方が良いことになる。
【0106】
Na/s<<Na/r<<Na/R ・・・(3)
したがって、上記のような検討結果から、本実施形態においては、上式(1)を満たす分割数mのうちの最大値を実際の分割数として取得する。
【0107】
なお、上式(1)に関してシミュレーションを実施した結果、印刷ジョブデータの全ページ数Naの大きさに関わらず、最適な分割数mは一定であることがわかっている。
【0108】
また、上式(3)のNa/s<<Na/rが成り立つのは、ジョブ分割処理速度s(ページ/秒)は、ジョブ全体に対してデータ解析する部分がごく一部であるのに対し、展開破棄処理速度r(ページ/秒)は、先頭ページから指定ページまでデータを全て解析する必要があり時間がかかるため、多ページという前提においてはs>>rとなるからである。また、上式(3)のNa/r<<Na/Rが成り立つのは、展開破棄処理速度r(ページ/秒)は、負荷の軽い展開処理を行うとともに、データをハードディスクに格納しないのに対し、展開格納処理速度R(ページ/秒)は、通常の展開処理を行うとともに、データをハードディスクに格納するので時間がかかるため、r>>Rとなるからである。
【0109】
そして、分割印刷ジョブデータ生成部22は、上式(1)に基づいて分割数を算出するが、上式(1)を満たす値が存在しない場合には(S40,NO)、分割印刷ジョブデータを生成することなく印刷ジョブデータに基づいて従来と同様の処理を行う(S42)。すなわち、印刷ジョブデータの1ページ目から最後のページに対し展開格納処理を施した後に、ビットマップデータの出力処理と印刷処理とを並行して行う。
【0110】
一方、上式(1)を満たす分割数が存在する場合には(S40,YES)、その分割数の分割印刷ジョブデータを生成する(S44)。すなわち、印刷ジョブデータにNa/mページをそれぞれ割り当てた分割印刷ジョブデータをm個生成する。
【0111】
そして、その後のS46〜S54までの処理については、上記第1の実施形態のS16〜S24までの処理と同様である。
【0112】
また、上記第2の実施形態の説明においては、印刷処理速度Xの情報を予め設定するようにしたが、これに限らず、たとえば、分割印刷ジョブデータ生成部22において、図8に示すような印刷エンジン24の機種情報と印刷処理速度Xとを対応付けたテーブルを予め記憶しておき、印刷エンジン24からその機種情報を取得して上記テーブルを参照することによってその機種に応じた印刷処理速度Xを取得するようにしてもよい。このような構成にすれば、印刷エンジン24のみが別個に構成され、種々の印刷エンジン24が使用されるような場合でもその印刷エンジン24に応じた印刷処理速度Xを設定することができる。
【0113】
また、上述したようなテーブルを設定するのではなく、印刷エンジン24から印刷処理速度Xの情報自体を直接出力させ、これを分割印刷ジョブデータ生成部22が取得するようにしてもよい。このように構成すれば、機種が予めわかっていない印刷エンジン24が用いられた場合でも適切な印刷処理速度Xを取得することができ、適切な分割数を設定することができる。
【0114】
また、上記第2の実施形態においては、分割数を決定するためのパラメータをプリフライト処理によって取得するようにしたが、これに限らず、たとえば、操作者が所定の入力手段から任意に設定入力可能なように構成してもよい。
【0115】
次に、本発明の印刷データ生成装置の第3の実施形態を用いたプリンタシステムについて説明する。
【0116】
上記第2の実施形態を用いたプリンタシステムにおいては、n番目の分割印刷ジョブデータの印刷処理時間内において、n番目の分割印刷ジョブデータのビットマップデータの出力処理とn+1番目の分割印刷ジョブデータの展開破棄処理および展開格納処理とが終了するように、分割印刷ジョブデータの分割数を決定するようにしたが、このようにして分割数を決定し、この分割数で印刷ジョブデータの全ページ数を除算して各分割印刷ジョブデータに割り当てられるページ数を決定した場合、印刷結果が好ましくない結果となる場合がある。
【0117】
具体的には、たとえば両面印刷を行う場合、各分割印刷ジョブデータに割り当てられたページ数が奇数である場合には、両面印刷の表面のページデータと裏面のページデータとが異なる分割印刷ジョブデータに属することになり、各分割印刷ジョブデータの最後に印刷されるページが片面印刷される問題が生じる。また、同様に、Nアップ印刷を行う場合、各分割印刷ジョブデータに割り当てられたページ数がNの倍数でない場合には、1枚の印刷用紙に印刷されるべきN枚のページデータのうちの一部のページデータとそれ以外のページデータとが、異なる分割印刷ジョブデータに属することになり、各分割印刷ジョブデータの最後に印刷されるページにN枚のページデータのうちの一部のページデータのみが印刷される問題が生じる。すなわち、両面印刷やNアップ印刷などといった面付け処理を行って印刷を行う場合に問題が生じることになる。
【0118】
また、上述したような面付け処理の制約だけでなく、たとえば、各分割印刷ジョブデータの印刷を、印刷装置における給紙部(図示省略)の給紙許容量や排紙部(図示省略)の排紙許容量などで終了させたり、もしくは印刷用紙の梱包枚数で終了させたりした方が、ワークフロー面や物理面から便利な場合がある。
【0119】
そこで、本発明の第3の実施形態を用いたプリンタシステムは、上述したような面付け処理の制約を考慮するとともに、給排紙許容量や梱包枚数などといった使用者の要望に応じた制約を考慮した分割数で印刷ジョブデータを分割するものである。
【0120】
第3の実施形態のプリンタシステムの構成については、図6に示す第2の実施形態のプリンタシステムと同様である。なお、上述した面付け処理は展開処理部23において行われるものである。
【0121】
また、第3の実施形態のプリンタシステムの作用については、印刷ジョブデータの分割数を決定する方法以外は第2の実施形態のプリンタシステムと同様である。そして、第3の実施形態のプリンタシステムは、図7に示すフローチャートのS40において上式(1)を満たす分割数が存在すると判断された後、その分割数をさらに最適化する処理を行うものである。
【0122】
以下、その印刷ジョブデータの分割数の最適化の作用について、図9〜図11に示すフローチャートを参照しながら説明する。
【0123】
まず、分割印刷ジョブデータ生成部22によって、第1〜第nの分割基準ページ数C1〜Cnと処理時間許容増加量Dmaxとが取得される(S60)。具体的には、本実施形態においては、第1の分割基準ページ基準数C1として上述した面付け処理の際の面付け数が取得される。すなわち、両面印刷の面付け処理を行う際には、第1の分割基準ページ数としてC1=2が取得され、N(たとえば4)アップ印刷の面付け処理を行う際には、第1の分割基準ページ数としてC1=N(たとえば4)が取得される。
【0124】
また、本実施形態においては、第2〜第nの分割基準ページ数C2〜Cnとして上述した梱包枚数や給紙許容枚数や排紙許容枚数が取得される。この第2〜第nの分割基準ページ数C2〜Cnは使用者によって任意に設定されるものであり、コンピュータ10や印刷装置30における所定の入力部によって設定入力されるものである。ただし、第2〜第nの分割基準ページ数C2〜Cnは、C1<C2<C3<C4・・・<Cn−1<Cnを満たすように設定されるものとする。
【0125】
また、処理時間許容増加量Dmaxとは、第2の実施形態において算出した上式(1)を満たす分割数を最適化して新たな分割数を設定した場合における印刷ジョブデータの処理時間の増加量の許容量を示すものであり、使用者によって任意に設定されるものである。すなわち、面付け処理を行うことを条件として分割数および分割ページ数を決めた場合に、印刷ジョブデータ全体の処理時間に対して増加分として許される時間のことである。
【0126】
そして、上述したような第1〜第nの分割基準ページ数C1〜Cnと処理時間許容増加量Dmaxとが取得された後、上式(1)を満たす分割数m1によって印刷ジョブデータの全ページ数Naを除算した値を第1の分割ページ数候補M1として算出し、この第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れるか否かを判定する(S62)。なお、Na/m1が割り切れずに余りが出た場合には、その余りは無視して除算値をM1とする。
【0127】
そして、第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れる場合には、その第1の分割ページ数候補M1を第2の分割ページ数候補M2とする(S64)。一方、第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れない場合には、第1の分割ページ数候補M1を超える第1の分割基準ページ数C1の倍数であってかつ最小の値を算出し、その最小値を第2の分割ページ数候補M2とする(S66)。
【0128】
次に、上述したようにして取得された第2の分割ページ数候補M2が第2の分割基準ページ数C2によって割り切れるか否かを判定する(S68)。
【0129】
そして、第2の分割ページ数候補M2が第2の分割基準ページ数C2によって割り切れる場合には、その第2の分割ページ数候補M2を第3の分割ページ数候補M3とする(S70)。一方、第2の分割ページ数候補M2が第2の分割基準ページ数C2によって割り切れない場合には、第2の分割ページ数候補M2を超える第1の分割基準ページ数C1と第2の分割基準ページ数C2の公倍数を算出し、その公倍数のうちの最小の値(以下、最小の公倍数という)を第3の分割ページ数候補M3とする(S72)。
【0130】
次いで、上述した第2の分割ページ数候補M2を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間と、上述した第3の分割ページ数候補M3を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間とを算出する(S74)。
【0131】
ここで、印刷ジョブデータの全体処理時間は、たとえば、図4に示すようなジョブ分割処理時間と、各分割印刷ジョブデータの展開破棄処理時間、展開格納処理時間、データ出力処理時間および印刷時間から計算されるが、これらの時間の中でデータ出力処理時間と印刷時間とについては、印刷ジョブデータの全ページ数もしくは面付け後のページ数は分割ページ数に関わらず一定であるので、データ出力処理時間と印刷時間との合計値も分割ページ数に関わらす一定であり、最適化された分割ページ数および分割数を決定するプロセスにおいては考慮する必要がないパラメータである。
【0132】
一方、上述した面付け処理も考慮して分割ページ数および分割数を決定した場合、上記第2の実施形態のように、前の分割印刷ジョブデータの印刷処理時間内に現在の分割印刷ジョブデータの展開破棄処理および展開格納処理を終了させることができない場合が発生するため、この場合、図12(A)に示すような待機時間も考慮する必要がある。なお、図12(B)は従来のプリントシステムの処理の時間を示す図である。
【0133】
上記待機時間は、下式から算出することができる。
【0134】
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブデータの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
なお、この待機時間は、上述した処理時間許容増加量Dmaxを大きな値に設定した場合に発生しやすい時間である。なぜならば、分割基準ページ数が多く適用され、それに伴い、分割ページ数が多くなり、結果として最初に処理を行う分割印刷ジョブデータのページ数が端数となって他の分割印刷ジョブデータとの格差が大きくなり、その分割印刷ジョブデータの印刷処理時間中に次の分割印刷ジョブデータの印刷前の処理が完了しないからである。
【0135】
したがって、上述したような検討結果に基づいて、本実施形態においては、印刷ジョブデータ全体に関わる「分割処理時間」と、最初に処理を行う分割印刷ジョブデータに関わる「展開破棄処理時間」と「展開格納処理時間」と、その後に処理を行う分割印刷ジョブデータに関わる「待機時間」との合計値を上述した実効処理時間とし、各分割ページ数に対する実効処理時間から第1の分割基準ページ数C1を適用したとき(面付けしたとき)の分割ページ数に対応する実効処理時間を差し引いた差分を処理時間許容増加量Dmaxと比較する。
【0136】
すなわち、次に、第3の分割ページ数候補M3に基づく分割ページ数および分割数で印刷ジョブデータを処理した場合の実効処理時間から第2の分割ページ数候補M2に基づく分割ページ数および分割数で印刷ジョブデータを処理した場合の実効処理時間が減算されて実効処理時間の増加量が算出される(S76)。
【0137】
そして、この増加量と予め設定された処理時間許容増加量Dmaxとが比較され、この増加量が処理時間許容増加量Dmaxよりも大きい値である場合には(S78,YES)、第2の分割ページ数候補M2に基づく分割ページ数および分割数を最終的な分割数として決定する(S80)。
【0138】
一方、S76において算出された増加量が処理時間許容増加量Dmax以下である場合には(S78,NO)、次に、第3の分割ページ数候補M3が第3の分割基準ページ数C3によって割り切れるか否かを判定する(S82)。
【0139】
そして、第3の分割ページ数候補M3が第3の分割基準ページ数C3によって割り切れる場合には、その第3の分割ページ数候補M3を第4の分割ページ数候補M4とする(S84)。一方、第3の分割ページ数候補M3が第3の分割基準ページ数C3によって割り切れない場合には、第3の分割ページ数候補M3を超える第1の分割基準ページ数C1と第2の分割基準ページ数C2と第3の分割基準ページ数C3との最小の公倍数を算出し、その最小の公倍数を第4の分割ページ数候補M4とする(S86)。
【0140】
次いで、上述した第2の分割ページ数候補M2を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間と、上述した第4の分割ページ数候補M4を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間とを算出する(S88)。
【0141】
そして、第4の分割ページ数候補M4に基づく分割ページおよび分割数で印刷ジョブデータを処理した場合の実効処理時間から第2の分割ページ数候補M2に基づく分割ページ数および分割数で印刷ジョブデータを処理した場合の実効処理時間が減算されて実効処理時間の増加量が算出される(S90)。
【0142】
そして、この増加量と予め設定された処理時間許容増加量Dmaxとが比較され、この増加量が処理時間許容増加量Dmaxよりも大きい値である場合には(S92,YES)、第3の分割ページ数候補M3に基づく分割ページ数および分割数を最終的な分割数として決定する(S94)。
【0143】
一方、S90において算出された増加量が処理時間許容増加量Dmax以下であり(S92,NO)、第4の分割基準ページ数C4が設定されている場合には、引き続き、第4の分割ページ数候補M4が第4の分割基準ページ数C4によって割り切れるか否かを判定する。
【0144】
そして、以下は、再び、上述したS68〜S80までの処理やS82〜S94までの処理が、第nの分割基準ページ数Cnに基づく分割ページ数および分割数の判定まで繰り返して行われる。
【0145】
すなわち、最終的には、第nの分割ページ数候補Mnが第nの分割基準ページ数Cnによって割り切れるか否かを判定する(S96)。
【0146】
そして、第nの分割ページ数候補Mnが第nの分割基準ページ数Cnによって割り切れる場合には、その第nの分割ページ数候補Mnを第n+1の分割ページ数候補Mn+1とする(S98)。一方、第nの分割ページ数候補Mnが第nの分割基準ページ数Cnによって割り切れない場合には、第nの分割ページ数候補Mnを超える第1〜第nの分割基準ページ数C1〜Cnの最小の公倍数を算出し、その最小の公倍数の値を第n+1の分割ページ数候補Mn+1とする(S100)。
【0147】
次いで、上述した第2の分割ページ数候補M2を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間と、上述した第Mn+1の分割ページ数候補Mn+1を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間とを算出する(S102)。
【0148】
そして、第Mn+1の分割ページ数候補Mn+1に基づく分割ページ数および分割数で印刷ジョブデータを処理した場合の実効処理時間から第2の分割ページ数候補M2に基づく分割ページ数および分割数で印刷ジョブデータを処理した場合の実効処理時間が減算されて実効処理時間の増加量が算出される(S104)。
【0149】
そして、この増加量と予め設定された処理時間許容増加量Dmaxとが比較され、この増加量が処理時間許容増加量Dmaxよりも大きい値である場合には(S106,YES)、第nの分割ページ数候補Mnに基づく分割ページ数および分割数を最終的な分割数として決定する(S108)。
【0150】
一方、S104において算出された増加量が処理時間許容増加量Dmax以下である場合には(S106,NO)、第n+1の分割ページ数候補Mn+1に基づく分割ページ数および分割数を最終的な分割数として決定する(S110)。
【0151】
そして、上述したようにして最適化された分割数を決定した後、その分割数に基づいて分割印刷ジョブデータを生成する。分割印刷ジョブデータを生成する処理以降の処理については、上記第1および第2の実施形態のプリンタシステムと同様である。
【0152】
ここで、上述した第3の実施形態のプリンタシステムの作用について、具体的な数値例を挙げて以下に説明する。ここでは、印刷ジョブデータの全ページ数をNa=32758、第2の実施形態のプリンタシステムにおいて算出された上式(1)を満たす分割数をm1=5、第1の分割基準ページ数(面付け数N)をC1=2、第2の分割基準ページ数をC2=100、第3の分割基準ページ数をC3=500、処理時間許容増加量Dmax=180(秒)とした場合について説明する。
【0153】
まず、分割印刷ジョブデータ生成部22によって、第1〜第3の分割基準ページ数C1〜C3と処理時間許容増加量Dmaxとが取得される(S60)。具体的には、上述した第1の分割基準ページ基準数C1=2、第2の分割基準ページ数C2=100、第3の分割基準ページ数C3=500、処理時間許容増加量Dmax=180(秒)が取得される。
【0154】
そして、上述したような第1〜第3の分割基準ページ数C1〜C3と処理時間許容増加量Dmaxとが取得された後、上式(1)を満たす分割数m1=5によって印刷ジョブデータの全ページ数Na=32758を除算した値を第1の分割ページ数候補M1として算出し、この第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れるか否かを判定する(S62)。具体的には、Na/m1=32758/5を算出し、第1の分割ページ数候補としてM1=6552を取得する。そして、この第1の分割ページ数候補M1=6552が、第1の分割基準ページ数C1=2によって割り切れるか否かを判定する。
【0155】
そして、この場合、M1/C1=6552/2=3276となって割り切れるので、第1の分割ページ数候補M1=6552をそのまま第2の分割ページ数候補M2として取得する(S64)。
【0156】
次に、上述したようにして取得された第2の分割ページ数候補M2=6552が第2の分割基準ページ数C2=100によって割り切れるか否かを判定する(S68)。
【0157】
この場合、第2の分割ページ数候補M2=6552は第2の分割基準ページ数C2=100によって割り切れないので、第2の分割ページ数候補M2=6552を超える第1の分割基準ページ数C1=2と第2の分割基準ページ数C2=100の最小の公倍数を算出し、その最小の公倍数の値を第3の分割ページ数候補M3とする(S72)。具体的には、第2の分割ページ数候補M2=6552を超える第1の分割基準ページ数C1=2と第2の分割基準ページ数C2=100の最小の公倍数の最小値は6600であるので、第3の分割ページ数候補M3=6600を取得する。
【0158】
次いで、上述した第2の分割ページ数候補M2=6552を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間と、上述した第3の分割ページ数候補M3=6600を分割ページ数とし、その分割ページ数に基づく分割数で印刷ジョブデータを処理した場合の実効処理時間とを算出する(S74)。なお、このとき第2の分割ページ数候補M2=6552に基づく分割数と第3の分割ページ数候補M3=6600に基づく分割数とはともに5となる。
【0159】
具体的には、第2の分割ページ数候補M2=6552を分割ページ数とし、分割数を5とした場合の印刷ジョブデータの実効処理時間は、以下のようにして計算される。なお、第2の実施形態において説明したとおり、Naは印刷ジョブデータの全ページ数、mは分割数、sはジョブ分割処理速度、rは展開破棄速度、Rは展開処理速度、tはデータ出力処理速度、Xは印刷処理速度のことであり、ここでは、Na=32758(ページ)、s=42000(ページ/秒)、r=50(ページ/秒)、R=7.5(ページ/秒)、t=5(ページ/秒)、X=2.5(ページ/秒)として計算を行うものとする。
【0160】
印刷ジョブデータ全体に関わる処理時間+第5の分割印刷ジョブデータの処理時間:
分割処理時間+展開破棄処理時間+展開格納処理時間
=Nam/s+{分割ページ数(m−1)}/r+{Na−分割ページ数(m−1)}/R
=32758×5/42000+{6552(5−1)}/50+{32758−6552(5−1)}/7.5≒1401
第4から第1の分割印刷ジョブデータの処理時間:
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブデータの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
第4から第1の分割印刷ジョブデータの待機時間は、それぞれマイナスの値となるため、ここでは0としてカウントする。
【0161】
したがって、第2の分割ページ数候補M2=6552を分割ページ数とし、分割数を5とした場合の印刷ジョブデータの実効処理時間は1401(秒)≒23.4(分)
一方、第3の分割ページ数候補M2=6600を分割ページ数とし、分割数を5とした場合の印刷ジョブデータの実効処理時間は、以下のようにして計算される。
【0162】
印刷ジョブデータ全体に関わる処理時間+第5の分割印刷ジョブデータの処理時間:
分割処理時間+展開破棄処理時間+展開格納処理時間
=Nam/s+{分割ページ数(m−1)}/r+{Na−分割ページ数(m−1)}/R
=32758×5/42000+{6600(5−1)}/50+{32758−6600(5−1)}/7.5≒1380
第4の分割印刷ジョブデータの処理時間:
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブデータの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
=[{分割ページ数(m−2)}/r+分割ページ数/R]−[{Na−分割ページ数(m−1)}/X−{Na−分割ページ数(m−1)}/t]
=[{6600(5−2)}/50+6600/7.5]−[{32758−6600(5−1)}/2.5−{32758−6600(5−1)}/5]≒4
第3から第1の分割印刷ジョブデータの処理時間:
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブ
データの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
第3から第1の分割印刷ジョブデータの待機時間は、それぞれマイナスの値となるため、ここでは0としてカウントする。
【0163】
したがって、第3の分割ページ数候補M2=6600を分割ページ数とし、分割数を5とした場合の印刷ジョブデータの実効処理時間は、1380(秒)+4(秒)≒23.1(分)
次に、第3の分割ページ数候補M3に基づく分割ページ数(6600)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間から第2の分割ページ数候補M2に基づく分割ページ数(6552)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間が減算されて実効処理時間の増加量が算出される(S76)。具体的には、上記の計算結果より、実効処理時間の増加量は以下のような大きさとなる。
【0164】
23.1(分)−23.4(分)=−0.3(分)=−18(秒)
そして、この増加量と予め設定された処理時間許容増加量Dmaxとが比較され、この増加量が処理時間許容増加量Dmaxよりも大きい値である場合には(S78,YES)、第2の分割ページ数候補M2に基づく分割ページ数(6552)および分割数(5)を最終的な分割数として決定し(S80)、一方、増加量が処理時間許容増加量Dmax以下である場合には(S78,NO)、第3の分割ページ数候補M3=6600が第3の分割基準ページ数C3=500によって割り切れるか否かを判定する(S82)。
【0165】
ここでは、上述したとおり実効処理時間が減少しているため、処理時間許容増加量Dmax以下であるとして説明を進める。
【0166】
この場合、第3の分割ページ数候補M3=6600は第3の分割基準ページ数C3=500によって割り切れないので、第3の分割ページ数候補M3=6600を超える第1〜第3の分割基準ページ数C1〜C3の最小の公倍数を算出し、その最小の公倍数の値を第4の分割ページ数候補M4とする(S86)。具体的には、第3の分割ページ数候補M3=6600を超える第1〜第3の分割基準ページ数C1〜C3の最小の公倍数は7000であるので、第4の分割ページ数候補M4=7000を取得する。
【0167】
次いで、上述した第2の分割ページ数候補M2に基づく分割ページ数(6552)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間と、上述した第4の分割ページ数候補M4に基づく分割ページ数(7000)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間とを算出する(S88)。
【0168】
具体的には、第2の分割ページ数候補M2に基づく分割ページ数(6552)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間は、上記と同様であり、第4の分割ページ数候補M4に基づく分割ページ数(7000)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間は、以下のようにして計算される。
【0169】
印刷ジョブデータ全体に関わる処理時間+第5の分割印刷ジョブデータの処理時間:
分割処理時間+展開破棄処理時間+展開格納処理時間
=Nam/s+{分割ページ数(m−1)}/r+{Na−分割ページ数(m−1)}/R
=32758×5/42000+{7000(5−1)}/50+{32758−7000(5−1)}/7.5≒1198
第4の分割印刷ジョブデータの処理時間:
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブデータの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
=[{分割ページ数(m−2)}/r+分割ページ数/R]−[{Na−分割ページ数(m−1)}/X−{Na−分割ページ数(m−1)}/t]
=[{7000(5−2)}/50+7000/7.5]−[{32758−7000(5−1)}/2.5−{32758−7000(5−1)}/5]≒402
第3から第1の分割印刷ジョブデータの処理時間:
待機時間=(現在の分割印刷ジョブデータの展開破棄処理時間+現在の分割印刷ジョブデータの展開格納処理時間)−(前の分割印刷ジョブデータの印刷時間−前の分割印刷ジョブデータのデータ出力処理時間)
第3から第1の分割印刷ジョブデータの待機時間は、それぞれマイナスの値となるため、ここでは0としてカウントする。
【0170】
したがって、第4の分割ページ数候補M4=7000を分割ページ数とし、分割数を5とした場合の印刷ジョブデータの実効処理時間は、1198(秒)+402(秒)≒26.7(分)
そして、第4の分割ページ数候補M4に基づく分割ページ数(7000)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間から第2の分割ページ数候補M2に基づく分割ページ数(6552)および分割数(5)で印刷ジョブデータを処理した場合の実効処理時間が減算されて実効処理時間の増加量が算出される(S90)。具体的には、上記の計算結果より、実効処理時間の増加量は以下のような大きさとなる。
【0171】
26.7(分)−23.4(分)=3.3(分)=198秒
そして、この増加量と予め設定された処理時間許容増加量Dmaxとが比較され、この増加量が処理時間許容増加量Dmaxよりも大きい値である場合には(S92,YES)、第3の分割ページ数候補M3に基づく分割ページ数(6600)および分割数(5)を最終的な分割ページ数および分割数として決定する(S94)。一方、S90において算出された増加量が処理時間許容増加量Dmax以下である場合には(S92,NO)、第4の分割ページ数候補M4に基づく分割ページ数(7000)および分割数(5)を最終的な分割ページ数および分割数として決定する。ここでは、上述したとおり実効処理時間の増加量は198(秒)であり、処理時間許容増加量Dmaxよりも大きい値であるので、第3の分割ページ数候補M3に基づく分割ページ数(6600)および分割数(5)が最終的な分割ページ数および分割数として決定される。
【0172】
第3の実施形態のプリンタシステムによれば、面付け処理の制約を考慮した分割数で印刷ジョブデータを分割するとともに、給排紙許容量や梱包枚数などといった使用者の要望に応じた制約を考慮した分割数で印刷ジョブデータを分割するようにしたので、適切な印刷結果を得ることができるとともに、ワークフロー面や物理面において利便性を向上させることができる。
【0173】
なお、上記第3の実施形態のプリンタシステムにおいては、面付け処理の際の面付け数に基づく第1の分割基準ページ数の他に第2〜第nの分割基準ページ数を設定するようにしたが、第2〜第nの分割基準ページ数を設定することなく、面付け数に基づく第1の分割基準ページだけを設定するようにしてもよい。
【0174】
その場合、図9に示すS62において、第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れるか否かを判定した後、第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れる場合には、その第1の分割ページ数候補M1を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて印刷ジョブデータを分割する。一方、第1の分割ページ数候補M1が第1の分割基準ページ数C1によって割り切れない場合には、第1の分割ページ数候補M1を超える第1の分割基準ページ数C1の倍数のうちの最小値を算出し、その最小値を分割ページ数とするとともに、その分割ページ数に基づく分割数を用いて印刷ジョブデータを分割する。
【0175】
また、上記第3の実施形態のプリンタシステムにおいては、第1〜第nの分割基準ページ数C1〜CnとしてC1<C2<C3<C4・・・<Cn−1<Cnを満たすような値を設定するようにしたが、たとえば、第2〜第nの分割基準ページ数C2〜Cnとして、上式の大小関係を満たさないような値が使用者によって設定された場合には、その値を受け付けることなく、警告メッセージを表示するなどすることによって、設定された値が適切でない旨を使用者に報知するようにしてもよい。
【符号の説明】
【0176】
10 コンピュータ
11 アプリケーション
12 プリンタドライバ
20,30 印刷装置
21 印刷ジョブデータ受付部
22 分割印刷ジョブデータ生成部
23 展開処理部
24 印刷エンジン
25 プリフライト処理部
【特許請求の範囲】
【請求項1】
複数ページの印刷データを有し、印刷部において認識可能な印刷ジョブデータを受け付ける印刷ジョブデータ受付部と、
前記複数ページを所定の複数ページ毎に分割して該分割した複数ページを前記印刷ジョブデータ受付部によって受け付けられた印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成する分割印刷ジョブデータ生成部と、
該分割印刷ジョブデータ生成部によって生成された分割印刷ジョブデータをページ順の遅い順に並べるとともに、該各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、該展開処理が施された順に、前記分割印刷ジョブデータ毎についてページ順の遅い順に前記ページデータを印刷部に出力する展開処理部とを備えたことを特徴とする印刷データ生成装置。
【請求項2】
前記展開処理部が、前記分割印刷ジョブデータに割り当てられたページ以外のページの前記ページデータを記憶することなく破棄するものであることを特徴とする請求項1記載の印刷データ生成装置。
【請求項3】
前記展開処理部が、前記分割印刷ジョブデータに割り当てられたページの第1の展開処理と該ページ以外のページの第2の展開処理とを異なる展開処理とするものであり、
前記第2の展開処理が、前記第1の展開処理よりも処理の負荷が軽いものであることを特徴とする請求項2記載の印刷データ生成装置。
【請求項4】
前記分割印刷ジョブデータ生成部が、n+1(nは1以上の整数)番目の前記分割印刷ジョブデータの前記展開処理が、n番目の前記分割印刷ジョブデータの前記ページデータの前記印刷部における印刷処理の間に完了するように前記分割印刷ジョブデータの分割数を決定するものであることを特徴とする請求項1から3いずれか1項記載の印刷データ生成装置。
【請求項5】
前記分割印刷ジョブデータ生成部が、n番目の前記分割印刷ジョブデータの前記ページデータの出力処理の時間とn+1番目の前記分割印刷ジョブデータの前記展開処理の時間との加算値が、n番目の前記分割印刷ジョブデータの印刷処理時間以下となるように前記分割印刷ジョブデータの分割数を決定するものであることを特徴とする請求項4記載の印刷データ生成装置。
【請求項6】
前記展開処理部が、n(nは1以上の整数)番目の前記分割印刷ジョブデータの前記展開処理と前記ページデータの出力が終了した時点からn+1番目の前記分割印刷ジョブデータの前記展開処理を開始するものであることを特徴とする請求項1から5いずれか1項記載の印刷データ生成装置。
【請求項7】
前記分割印刷ジョブデータ生成部が、下式(1)を満たす最大のmの値を分割数として決定するものであることを特徴とする請求項5記載の印刷データ生成装置。
Na/mX−(Na/mt + {Na(m−2)}/mr + Na/mR) > 0・・・(1)
ただし、Naは前記印刷ジョブデータの全ページ数、rは前記分割印刷ジョブデータに割り当てられたページ以外のページの前記展開処理の速度、Rは前記分割印刷ジョブデータに割り当てられたページの前記展開処理の速度、tは前記分割印刷ジョブデータの前記ページデータの出力処理速度、Xは前記印刷部の印刷処理速度
【請求項8】
前記印刷ジョブデータの全ページ数Na、前記分割印刷ジョブデータに割り当てられたページ以外のページの前記展開処理の速度r、前記分割印刷ジョブデータに割り当てられたページの前記展開処理の速度R、および前記分割印刷ジョブデータの前記ページデータの出力処理速度tのうちの少なくとも1つを前記印刷ジョブデータの内容を解析することによって取得するプリフライト処理部を備えたことを特徴とする請求項7記載の印刷データ生成装置。
【請求項9】
前記印刷ジョブデータの全ページ数Na、前記分割印刷ジョブデータに割り当てられたページ以外のページの前記展開処理の速度r、前記分割印刷ジョブデータに割り当てられたページの前記展開処理の速度R、および前記分割印刷ジョブデータの前記ページデータの出力処理速度tのうちの少なくとも1つを設定入力可能な入力部を備えたことを特徴とする請求項7記載の印刷データ生成装置。
【請求項10】
前記分割印刷ジョブデータ生成部が、複数の前記印刷部の種類と該印刷部に対応する印刷処理速度の情報とを対応づけたテーブルを有し、
前記印刷部の種類を取得して前記テーブルを参照することによって前記印刷処理速度の情報を取得するものであることを特徴とする請求項7から9いずれか1項記載の印刷データ生成装置。
【請求項11】
前記分割印刷ジョブデータ生成部が、前記印刷部から出力された前記印刷処理速度の情報を取得するものであることを特徴とする請求項7から9いずれか1項記載の印刷データ生成装置。
【請求項12】
前記ページデータに基づいて面付け処理を行う面付処理部を備え、
前記分割印刷ジョブデータ生成部が、前記面付け処理を行う際の面付け数を取得し、前記決定した分割印刷ジョブデータの分割数によって前記印刷ジョブデータの全ページ数を除算して取得された分割ページ数候補が前記面付け数で割り切れるか否かを判定し、前記分割ページ数候補が前記面付け数で割り切れる場合には、前記分割ページ数候補を分割ページ数とするとともに、前記決定した分割印刷ジョブデータの分割数を用いて前記分割を行い、
前記分割ページ数候補が前記面付け数で割り切れない場合には、前記分割ページ数候補を超える前記面付け数の倍数のうちの最小値を分割ページ数とするとともに、該分割ページ数に基づく分割数を用いて前記分割を行うものであることを特徴とする請求項4、5、7から11いずれか1項記載の印刷データ生成装置。
【請求項13】
前記ページデータに基づいて面付処理を行う面付処理部を備え、
前記分割印刷ジョブデータ生成部が、前記面付け処理を行う際の面付け数を取得するとともに、前記面付け数よりも大きい予め設定された分割基準ページ数を取得し、
前記決定した分割印刷ジョブデータの分割数によって前記印刷ジョブデータの全ページ数を除算して取得された第1の分割ページ数候補が、前記面付け数で割り切れるか否かを判定し、前記第1の分割ページ数候補が前記面付け数で割り切れる場合には、該第1の分割ページ数候補を第2の分割ページ数候補として決定し、前記第1の分割ページ数候補が前記面付け数で割り切れない場合には、前記第1の分割ページ数候補を超える前記面付け数の倍数のうちの最小値を第2の分割ページ数候補として決定し、
次いで、前記第2の分割ページ数候補が、前記分割基準ページ数で割り切れるか否かを判定し、前記第2の分割ページ数候補が前記分割基準ページ数で割り切れる場合には、該第2の分割ページ数候補を第3の分割ページ数候補として決定し、前記第2の分割ページ数候補が前記分割基準ページ数で割り切れない場合には、前記第2の分割ページ数候補を超える前記面付け数と前記分割基準ページ数との公倍数であって最小の値を前記第3の分割ページ数候補として決定し、
その後、前記第2の分割ページ数候補を分割ページ数とするとともに、該分割ページ数に基づく分割数を用いて前記分割を行った場合の前記印刷ジョブデータの処理時間と、前記第3の分割ページ数候補を分割ページ数とするとともに、該分割ページ数に基づく分割数を用いて前記分割を行った場合の前記印刷ジョブデータの処理時間との差が、予め設定された処理時間許容増加量以下である場合には、前記第3の分割ページ数候補に基づく分割ページ数および分割数を用いて前記分割を行い、前記差が、前記処理時間許容増加量を超える場合には、前記第2の分割ページ数候補に基づく分割ページ数および分割数を用いて前記分割を行うものであることを特徴とする請求項4、5、7から11いずれか1項記載の印刷データ生成装置。
【請求項14】
前記ページデータに基づいて面付処理を行う面付処理部を備え、
前記分割印刷ジョブデータ生成部が、前記面付け処理を行う際の面付け数を第1の分割基準ページ数として取得するとともに、該第1の分割基準ページ数よりも大きい予め設定された1または複数の第k(kは2〜n)の分割基準ページ数を取得し、
前記決定した分割印刷ジョブデータの分割数によって前記印刷ジョブデータの全ページ数を除算して取得された第1の分割ページ数候補が、前記第1の分割基準ページ数で割り切れるか否かを判定し、前記第1の分割ページ数候補が前記第1の分割基準ページ数で割り切れる場合には、該第1の分割ページ数候補を第2の分割ページ数候補として決定し、前記第1の分割ページ数候補が前記第1の分割基準ページ数で割り切れない場合には、前記第1の分割ページ数候補を超える前記第1の分割基準ページ数の倍数のうちの最小値を第2の分割ページ数候補として決定し、
該第2の分割ページ数候補を決定した後、第kの分割ページ数候補が、第kの分割基準ページ数で割り切れるか否かを判定し、前記第kの分割ページ数候補が前記第kの分割基準ページ数で割り切れる場合には、該第kの分割ページ数候補を第k+1の分割ページ数候補として決定し、前記第kの分割ページ数候補が前記第kの分割基準ページ数で割り切れない場合には、前記第kの分割ページ数候補を超える前記第1〜第kの分割基準ページ数の公倍数であって最小の値を前記第k+1の分割ページ数候補として決定し、
その後、前記第2の分割ページ数候補を分割ページ数とするとともに、該分割ページ数に基づく分割数を用いて前記分割を行った場合の前記印刷ジョブデータの処理時間と、前記第k+1の分割ページ数候補を分割ページ数とするとともに、該分割ページ数に基づく分割数を用いて前記分割を行った場合の前記印刷ジョブデータの処理時間との差が、予め設定された処理時間許容増加量以下である場合には、前記第k+1の分割ページ数候補に基づく分割ページ数および分割数を用いて前記分割を行い、前記差が、前記処理時間許容増加量を超える場合には、前記第kの分割ページ数候補に基づく分割ページ数および分割数を用いて前記分割を行うものであることを特徴とする請求項4、5、7から11いずれか1項記載の印刷データ生成装置。
【請求項15】
コンピュータを、複数ページの印刷データを有し、印刷部において認識可能な印刷ジョブデータを受け付ける印刷ジョブデータ受付部と、
前記複数ページを所定の複数ページ毎に分割して該分割した複数ページを前記印刷ジョブデータ受付部によって受け付けられた印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成する分割印刷ジョブデータ生成部と、
該分割印刷ジョブデータ生成部によって生成された分割印刷ジョブデータをページ順の遅い順に並べるとともに、該各分割印刷ジョブデータに対して並べられた順で前記展開処理を施してページ毎のページデータを生成し、該展開処理が施された順に、前記分割印刷ジョブデータ毎についてページ順の遅い順に前記ページデータを印刷部に出力する展開処理部として機能させるものであることを特徴とする印刷データ生成プログラム。
【請求項16】
請求項1から14いずれか1項記載の印刷データ生成装置と、該印刷データ生成装置から出力されたページデータに基づいて印刷処理を行う印刷部とを備えたことを特徴とする印刷装置。
【請求項1】
複数ページの印刷データを有し、印刷部において認識可能な印刷ジョブデータを受け付ける印刷ジョブデータ受付部と、
前記複数ページを所定の複数ページ毎に分割して該分割した複数ページを前記印刷ジョブデータ受付部によって受け付けられた印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成する分割印刷ジョブデータ生成部と、
該分割印刷ジョブデータ生成部によって生成された分割印刷ジョブデータをページ順の遅い順に並べるとともに、該各分割印刷ジョブデータに対して並べられた順で展開処理を施してページ毎のページデータを生成し、該展開処理が施された順に、前記分割印刷ジョブデータ毎についてページ順の遅い順に前記ページデータを印刷部に出力する展開処理部とを備えたことを特徴とする印刷データ生成装置。
【請求項2】
前記展開処理部が、前記分割印刷ジョブデータに割り当てられたページ以外のページの前記ページデータを記憶することなく破棄するものであることを特徴とする請求項1記載の印刷データ生成装置。
【請求項3】
前記展開処理部が、前記分割印刷ジョブデータに割り当てられたページの第1の展開処理と該ページ以外のページの第2の展開処理とを異なる展開処理とするものであり、
前記第2の展開処理が、前記第1の展開処理よりも処理の負荷が軽いものであることを特徴とする請求項2記載の印刷データ生成装置。
【請求項4】
前記分割印刷ジョブデータ生成部が、n+1(nは1以上の整数)番目の前記分割印刷ジョブデータの前記展開処理が、n番目の前記分割印刷ジョブデータの前記ページデータの前記印刷部における印刷処理の間に完了するように前記分割印刷ジョブデータの分割数を決定するものであることを特徴とする請求項1から3いずれか1項記載の印刷データ生成装置。
【請求項5】
前記分割印刷ジョブデータ生成部が、n番目の前記分割印刷ジョブデータの前記ページデータの出力処理の時間とn+1番目の前記分割印刷ジョブデータの前記展開処理の時間との加算値が、n番目の前記分割印刷ジョブデータの印刷処理時間以下となるように前記分割印刷ジョブデータの分割数を決定するものであることを特徴とする請求項4記載の印刷データ生成装置。
【請求項6】
前記展開処理部が、n(nは1以上の整数)番目の前記分割印刷ジョブデータの前記展開処理と前記ページデータの出力が終了した時点からn+1番目の前記分割印刷ジョブデータの前記展開処理を開始するものであることを特徴とする請求項1から5いずれか1項記載の印刷データ生成装置。
【請求項7】
前記分割印刷ジョブデータ生成部が、下式(1)を満たす最大のmの値を分割数として決定するものであることを特徴とする請求項5記載の印刷データ生成装置。
Na/mX−(Na/mt + {Na(m−2)}/mr + Na/mR) > 0・・・(1)
ただし、Naは前記印刷ジョブデータの全ページ数、rは前記分割印刷ジョブデータに割り当てられたページ以外のページの前記展開処理の速度、Rは前記分割印刷ジョブデータに割り当てられたページの前記展開処理の速度、tは前記分割印刷ジョブデータの前記ページデータの出力処理速度、Xは前記印刷部の印刷処理速度
【請求項8】
前記印刷ジョブデータの全ページ数Na、前記分割印刷ジョブデータに割り当てられたページ以外のページの前記展開処理の速度r、前記分割印刷ジョブデータに割り当てられたページの前記展開処理の速度R、および前記分割印刷ジョブデータの前記ページデータの出力処理速度tのうちの少なくとも1つを前記印刷ジョブデータの内容を解析することによって取得するプリフライト処理部を備えたことを特徴とする請求項7記載の印刷データ生成装置。
【請求項9】
前記印刷ジョブデータの全ページ数Na、前記分割印刷ジョブデータに割り当てられたページ以外のページの前記展開処理の速度r、前記分割印刷ジョブデータに割り当てられたページの前記展開処理の速度R、および前記分割印刷ジョブデータの前記ページデータの出力処理速度tのうちの少なくとも1つを設定入力可能な入力部を備えたことを特徴とする請求項7記載の印刷データ生成装置。
【請求項10】
前記分割印刷ジョブデータ生成部が、複数の前記印刷部の種類と該印刷部に対応する印刷処理速度の情報とを対応づけたテーブルを有し、
前記印刷部の種類を取得して前記テーブルを参照することによって前記印刷処理速度の情報を取得するものであることを特徴とする請求項7から9いずれか1項記載の印刷データ生成装置。
【請求項11】
前記分割印刷ジョブデータ生成部が、前記印刷部から出力された前記印刷処理速度の情報を取得するものであることを特徴とする請求項7から9いずれか1項記載の印刷データ生成装置。
【請求項12】
前記ページデータに基づいて面付け処理を行う面付処理部を備え、
前記分割印刷ジョブデータ生成部が、前記面付け処理を行う際の面付け数を取得し、前記決定した分割印刷ジョブデータの分割数によって前記印刷ジョブデータの全ページ数を除算して取得された分割ページ数候補が前記面付け数で割り切れるか否かを判定し、前記分割ページ数候補が前記面付け数で割り切れる場合には、前記分割ページ数候補を分割ページ数とするとともに、前記決定した分割印刷ジョブデータの分割数を用いて前記分割を行い、
前記分割ページ数候補が前記面付け数で割り切れない場合には、前記分割ページ数候補を超える前記面付け数の倍数のうちの最小値を分割ページ数とするとともに、該分割ページ数に基づく分割数を用いて前記分割を行うものであることを特徴とする請求項4、5、7から11いずれか1項記載の印刷データ生成装置。
【請求項13】
前記ページデータに基づいて面付処理を行う面付処理部を備え、
前記分割印刷ジョブデータ生成部が、前記面付け処理を行う際の面付け数を取得するとともに、前記面付け数よりも大きい予め設定された分割基準ページ数を取得し、
前記決定した分割印刷ジョブデータの分割数によって前記印刷ジョブデータの全ページ数を除算して取得された第1の分割ページ数候補が、前記面付け数で割り切れるか否かを判定し、前記第1の分割ページ数候補が前記面付け数で割り切れる場合には、該第1の分割ページ数候補を第2の分割ページ数候補として決定し、前記第1の分割ページ数候補が前記面付け数で割り切れない場合には、前記第1の分割ページ数候補を超える前記面付け数の倍数のうちの最小値を第2の分割ページ数候補として決定し、
次いで、前記第2の分割ページ数候補が、前記分割基準ページ数で割り切れるか否かを判定し、前記第2の分割ページ数候補が前記分割基準ページ数で割り切れる場合には、該第2の分割ページ数候補を第3の分割ページ数候補として決定し、前記第2の分割ページ数候補が前記分割基準ページ数で割り切れない場合には、前記第2の分割ページ数候補を超える前記面付け数と前記分割基準ページ数との公倍数であって最小の値を前記第3の分割ページ数候補として決定し、
その後、前記第2の分割ページ数候補を分割ページ数とするとともに、該分割ページ数に基づく分割数を用いて前記分割を行った場合の前記印刷ジョブデータの処理時間と、前記第3の分割ページ数候補を分割ページ数とするとともに、該分割ページ数に基づく分割数を用いて前記分割を行った場合の前記印刷ジョブデータの処理時間との差が、予め設定された処理時間許容増加量以下である場合には、前記第3の分割ページ数候補に基づく分割ページ数および分割数を用いて前記分割を行い、前記差が、前記処理時間許容増加量を超える場合には、前記第2の分割ページ数候補に基づく分割ページ数および分割数を用いて前記分割を行うものであることを特徴とする請求項4、5、7から11いずれか1項記載の印刷データ生成装置。
【請求項14】
前記ページデータに基づいて面付処理を行う面付処理部を備え、
前記分割印刷ジョブデータ生成部が、前記面付け処理を行う際の面付け数を第1の分割基準ページ数として取得するとともに、該第1の分割基準ページ数よりも大きい予め設定された1または複数の第k(kは2〜n)の分割基準ページ数を取得し、
前記決定した分割印刷ジョブデータの分割数によって前記印刷ジョブデータの全ページ数を除算して取得された第1の分割ページ数候補が、前記第1の分割基準ページ数で割り切れるか否かを判定し、前記第1の分割ページ数候補が前記第1の分割基準ページ数で割り切れる場合には、該第1の分割ページ数候補を第2の分割ページ数候補として決定し、前記第1の分割ページ数候補が前記第1の分割基準ページ数で割り切れない場合には、前記第1の分割ページ数候補を超える前記第1の分割基準ページ数の倍数のうちの最小値を第2の分割ページ数候補として決定し、
該第2の分割ページ数候補を決定した後、第kの分割ページ数候補が、第kの分割基準ページ数で割り切れるか否かを判定し、前記第kの分割ページ数候補が前記第kの分割基準ページ数で割り切れる場合には、該第kの分割ページ数候補を第k+1の分割ページ数候補として決定し、前記第kの分割ページ数候補が前記第kの分割基準ページ数で割り切れない場合には、前記第kの分割ページ数候補を超える前記第1〜第kの分割基準ページ数の公倍数であって最小の値を前記第k+1の分割ページ数候補として決定し、
その後、前記第2の分割ページ数候補を分割ページ数とするとともに、該分割ページ数に基づく分割数を用いて前記分割を行った場合の前記印刷ジョブデータの処理時間と、前記第k+1の分割ページ数候補を分割ページ数とするとともに、該分割ページ数に基づく分割数を用いて前記分割を行った場合の前記印刷ジョブデータの処理時間との差が、予め設定された処理時間許容増加量以下である場合には、前記第k+1の分割ページ数候補に基づく分割ページ数および分割数を用いて前記分割を行い、前記差が、前記処理時間許容増加量を超える場合には、前記第kの分割ページ数候補に基づく分割ページ数および分割数を用いて前記分割を行うものであることを特徴とする請求項4、5、7から11いずれか1項記載の印刷データ生成装置。
【請求項15】
コンピュータを、複数ページの印刷データを有し、印刷部において認識可能な印刷ジョブデータを受け付ける印刷ジョブデータ受付部と、
前記複数ページを所定の複数ページ毎に分割して該分割した複数ページを前記印刷ジョブデータ受付部によって受け付けられた印刷ジョブデータに割り当てることによって複数の分割印刷ジョブデータを生成する分割印刷ジョブデータ生成部と、
該分割印刷ジョブデータ生成部によって生成された分割印刷ジョブデータをページ順の遅い順に並べるとともに、該各分割印刷ジョブデータに対して並べられた順で前記展開処理を施してページ毎のページデータを生成し、該展開処理が施された順に、前記分割印刷ジョブデータ毎についてページ順の遅い順に前記ページデータを印刷部に出力する展開処理部として機能させるものであることを特徴とする印刷データ生成プログラム。
【請求項16】
請求項1から14いずれか1項記載の印刷データ生成装置と、該印刷データ生成装置から出力されたページデータに基づいて印刷処理を行う印刷部とを備えたことを特徴とする印刷装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−81749(P2012−81749A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2011−202517(P2011−202517)
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000250502)理想科学工業株式会社 (1,191)
【Fターム(参考)】
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000250502)理想科学工業株式会社 (1,191)
【Fターム(参考)】
[ Back to top ]