説明

画像形成装置及び印刷システム

【課題】 画像形成装置において部単位印刷を行う場合にメモリ不足が発生しても、印刷ジョブを全て送信要求する必要が無く印刷時間が短縮できる。
【解決手段】 部単位印刷を行う画像形成装置であって、上位装置から送信される印刷ジョブを受け取る受信部と、上記印刷ジョブを展開して中間データを生成する展開部と、上記中間データからイメージデータに変換し、印刷を行う印刷部と、上記印刷ジョブと上記中間データ及び上記イメージデータとを記憶する記憶部と、上記記憶部の空き容量を判断する容量判断部と、上記部単位印刷の1部目の印刷途中に上記容量判断部が上記記憶部の空き容量が不足していると判断すると、上記印刷ジョブの受信から印刷出力までの処理時間に基づいて、再送させる上記印刷ジョブを決定する制御部と、上記制御部により決定された上記印刷ジョブを上記上位装置に要求する送信部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、部単位印刷を行う画像形成装置及び印刷システムに関する。
【背景技術】
【0002】
従来、プリンタ側のメモリ容量が小さく、部単位印刷の要求に対して1部目の印刷途中にメモリが不足してしまうと、印刷ジョブ内の印刷済みの頁の中間データが消去されるために、2部目以降の部単位印刷を実行するには、オペレータがパーソナルコンピュータ(以下PC)により部数分、繰り返し印刷ジョブを送信することにより、部単位印刷を行ってきた。
また、上記のように、不足部数に応じてオペレータがPCからプリンタに印刷ジョブを送信するのは面倒な為、下記の特許文献1には、プリンタ側のメモリが不足して部単位印刷が実行できない場合に、印刷ジョブを送信したPCを待機させ、プリンタ側でメモリに格納可能な印刷ジョブの一部を受け取り、印刷処理後に格納されていた印刷ジョブを消去して、残りの印刷ジョブを待機していたPCから転送させ、このような転送動作を指定部数回繰り返す印刷制御方法が開示されている。
【特許文献1】特開2004−110092号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上述の印刷制御方法では、PCから部単位印刷毎に印刷ジョブを含み再送することになり印刷までに時間がかかる点が課題であった。
【課題を解決するための手段】
【0004】
本発明は、以上の問題を解決するために、次の構成を具備する。
【0005】
本発明は、部単位印刷を行う画像形成装置であって、上位装置から送信される印刷ジョブを受け取る受信部と、上記印刷ジョブを展開して中間データを生成する展開部と、上記中間データからイメージデータに変換し、印刷を行う印刷部と、上記印刷ジョブと上記中間データ及び上記イメージデータとを記憶する記憶部と、上記記憶部の空き容量を判断する容量判断部と、上記部単位印刷の1部目の印刷途中に上記容量判断部が上記記憶部の空き容量が不足していると判断すると、上記印刷ジョブの受信から印刷出力までの処理時間に基づいて、再送させる上記印刷ジョブを決定する制御部と、上記制御部により決定された上記印刷ジョブを上記上位装置に要求する送信部とを備えることを特徴とする。
【発明の効果】
【0006】
本発明によれば、画像形成装置において、部単位印刷を行う場合に1部目の印刷途中にメモリが不足した場合でも、印刷ジョブの一部をメモリに記憶させて2部目以降の部単位印刷に利用することにより、2部目以降に印刷ジョブを全て送信する必要がないので、全て送信する場合と比較して印刷完了までの時間がかからない。
【発明を実施するための最良の形態】
【0007】
以下、本発明の実施形態を説明する。ここでは、画像形成装置としてプリンタを適用して説明する。
【実施例1】
【0008】
図1は、実施例1の印刷システムのブロック図である。
図に示すように、印刷システム1は、PC10とプリンタ20とで構成される。
【0009】
PC10は、プリンタドライバ11、アプリケーション12及びPC通信部13とを有する。
【0010】
アプリケーション12は、図示しないOS(オペレーティングシステム)上で使用される汎用のアプリケーションであり、例えば、文書作成ソフトウエア、図形作成ソフトウエア、表計算ソフトウエア、データベースソフトウエア等からなる。
プリンタドライバ11は、アプリケーション12上で作成された図面、文書等を印刷するための印刷ジョブを作成する部分である。
【0011】
PC通信部13は、プリンタドライバ11にて生成された印刷ジョブをプリンタ20に送信する部分である。また、PC通信部13は、プリンタ20からの指示により、印刷ジョブの再送要求を受信すると再度、印刷ジョブを送信する。
【0012】
一方、プリンタ20は、制御部21、通信部22、展開部23、印刷部24、記憶部25、記憶量判断部26、印刷時間測定部27、展開時間測定部28及び受信時間測定部29とを有する。
【0013】
制御部21は、プリンタ20のシステム全体の制御を司る部分である。
通信部22は、PC10より送信されてくる印刷ジョブを受信する部分である。受信した印刷ジョブは、制御部21によって後述の受信データ記憶領域25aに格納される。また、通信部22は、部単位印刷を行う場合に1部目の印刷途中にメモリが不足した場合に、2部目以降の部単位印刷のために、PC10に対して、印刷ジョブの一部の再送要求を送信する。
【0014】
展開部23は、通信部22が受信した印刷ジョブが制御部21によって受信データ記憶領域25aに格納されると、初頁の印刷ジョブから展開していき、中間データを生成し、更に、生成された中間データを後述の中間データ記憶領域25bに格納していく部分である。
【0015】
印刷部24は、中間データ記憶領域25bに格納された中間データをイメージデータに変換し、イメージデータを後述の印刷イメージ記憶領域25cに格納させ、更に格納されたイメージデータから印刷を行う部分である。
【0016】
記憶部25(図2で詳細に説明)は、プリンタ20におけるRAM(RANDOM ACCESS MEMORY)等からなるメモリである。記憶部25は、通信部22が受信した印刷ジョブの一時データ、展開部23が印刷ジョブを展開して生成した中間データ、印刷部24が中間データから変換して生成したイメージデータ等の一時データ、後述する各処理時間の測定値及び演算領域等からなる記憶領域である。記憶部25は、揮発性メモリなので、プリンタ20の電源が遮断されると内部データは消去される。
【0017】
記憶量判断部26は、記憶部25のメモリ空き容量を判定する部分である。
印刷時間測定部27は、印刷部24において、中間データ記憶領域25bに格納されている頁単位での中間データをイメージデータに変換し、変換されたイメージデータを印刷イメージ記憶領域25cに格納し、格納されたイメージデータの印刷が完了するまでの時間を測定する部分である。
【0018】
展開時間測定部28は、展開部23において、受信データ記憶領域25aに格納された頁単位の印刷ジョブを展開して中間データを生成し、生成された中間データを中間データ記憶領域25bに格納するまでの時間を測定する部分である。
【0019】
受信時間測定部29は、制御部21が通信部22を介して、頁単位での印刷ジョブを受信し、受信した頁単位での印刷ジョブを受信データ記憶領域25aに格納させるまでの時間を測定する部分である。
【0020】
なお、上述の印刷ジョブの受信、中間データへの展開、イメージデータへの変換及び印刷処理は並列処理で実行される。
【0021】
次に、記憶部25のメモリ構成について説明する。
図2は、本発明のメモリ構成の説明図である。
図に示すように、記憶部25のメモリ構成は、受信データ記憶領域25a、中間データ記憶領域25b、印刷イメージ記憶領域25c及び測定値記憶領域25dとからなる。
【0022】
受信データ記憶領域25aは、制御部21がPC10から送信されてくる印刷ジョブを格納させる領域である。
受信データ記憶領域25aには、制御部21によって初頁から順に印刷ジョブが格納され、格納された印刷ジョブは、展開部23によって初頁から順に中間データに展開され、展開された中間データは、中間データ記憶領域25bに格納される。中間データに展開された頁の印刷ジョブは、制御部21によって受信データ記憶領域25aから消去される。
制御部21は、中間データに展開された頁の印刷ジョブについては受信データ記憶領域25aから消去していき、引き続き次頁以降の印刷ジョブを受信データ記憶領域25aに格納していく。
【0023】
中間データ記憶領域25bは、PC10から送信されてきた印刷ジョブに対して展開部23にて展開された頁の中間データを格納する部分である。また、中間データ記憶領域25bには、印刷ジョブを中間データに展開する為のワークエリアが確保されている。
【0024】
印刷イメージ記憶領域25cは、展開部23で生成され、中間データ記憶領域25bに格納された中間データから変換されたイメージデータを格納する領域である。
格納されたイメージデータは、印刷が完了すると、印刷部24において次頁以降のイメージデータの格納エリアを確保するために消去される。
【0025】
測定値記憶領域25dは、印刷時間測定部27、展開時間測定部28及び受信時間測定部29において測定された時間を格納する領域である。
【0026】
なお、これらの領域は、固定のアドレスに割り当てる必要はなく、適宜送信されてくる印刷ジョブに応じて必要な空間が確保できるようにアドレスが設定される。
【0027】
次に、実施例1のPC10がプリンタ20に部単位印刷を指示する動作について説明する。
図3は、実施例1におけるPCの印刷処理の流れを示すフローチャートである。
以下にステップS10からステップS14までをステップ順に実施例1のPC10の動作について図1を併用しながら説明する。
【0028】
(ステップS10)
オペレータは、PC10内にインストールされているアプリケーション12上で作成された図形、文書等の印刷要求と併せて部単位印刷の要求をプリンタドライバ11に指示する。
【0029】
(ステップS11)
指示を受けたプリンタドライバ11は、プリンタ20に送信する印刷データを作成する。
【0030】
(ステップS12)
更にプリンタドライバ11は、生成した印刷データに部単位印刷コマンドを付加し、印刷ジョブを生成する。
【0031】
(ステップS13)
生成された印刷ジョブは、PC通信部13に伝達され、プリンタ20の通信部22に送信される。
【0032】
(ステップS14)
PC通信部13は、印刷ジョブの送信が完了しても、部単位印刷が完了したことを示すプリンタ20からの印刷完了通知がくるまでプリンタ20との接続を継続し待機する。
【0033】
次に、実施例1のプリンタ20が部単位印刷の指示を受けた場合の動作について説明する。
図4、図5及び図6は、実施例1におけるプリンタの印刷処理の流れを示すフローチャート(その1からその3)である。
図4に示すステップS20からステップS32までをステップ順に図1を併用しながら説明し、引き続き、図5及び図6のステップS40からステップS65までをステップ順に説明する。
【0034】
(ステップS20)
プリンタ20の通信部22は、PC10から印刷ジョブを受信する。通信部22は、受信した印刷ジョブを制御部21に伝達する。
【0035】
(ステップS21)
制御部21は、受信した印刷ジョブに部単位印刷コマンドが付加されているかどうかを確認する。部単位印刷コマンドが付加されている場合はステップS23に進み、付加されていない場合はステップS22に進む。
【0036】
(ステップS22)
制御部21は、受信した印刷ジョブに部単位印刷コマンドが付加されていない場合には、通常の印刷処理を行い、処理を終了する。
【0037】
(ステップS23)
一方、制御部21は、受信した印刷ジョブに部単位印刷コマンドが付加されている場合には、通信部22から伝達される印刷ジョブの頁単位での受信時間を測定するように受信時間測定部29に指示する。指示を受けた受信時間測定部29は、制御部21が通信部22を介して受信した頁単位の印刷ジョブを受信データ記憶領域25aへ格納を開始させると、時間計測を開始し、制御部21が頁単位の印刷ジョブを受信データ記憶領域25aへ格納を完了させると、時間計測を終了する。
受信時間測定部29は、頁受信時間を制御部21に通知し、通知を受けた制御部21は、頁受信時間を記憶部25の測定値記憶領域25dに格納させる。
【0038】
(ステップS24)
制御部21は、受信データ記憶領域25aに格納された印刷ジョブを中間データに展開するよう展開部23に指示する。指示を受けた展開部23は、印刷ジョブの展開を行う前に頁単位で印刷ジョブから中間データへ展開する時間を測定するよう展開時間測定部28に指示する。
【0039】
(ステップS25)
展開部23は、頁単位の中間データへの展開を完了させると、中間データ記憶領域25bに中間データを格納する。展開部23は、中間データの格納が完了すると制御部21にその旨を通知する。一方、展開時間測定部28は、頁単位での展開時間を測定し、測定値を展開部23に通知する。通知を受けた展開部23は、各頁ごとの展開時間を、記憶部25の測定値記憶領域25dに格納させる。
【0040】
(ステップS26)
中間データの格納完了の通知を受けた制御部21は、記憶量判断部26に中間データ記憶領域25bのメモリ空き状況を確認するよう指示する。指示を受けた記憶量判断部26は、中間データ記憶領域25bを含めた記憶部25全体のメモリ空き状況を確認し、制御部21に伝える。メモリ不足と判断すると、ステップS31に進み、メモリに余裕があればステップS27に進む。
【0041】
(ステップS27)
メモリに余裕があるとの通知を受けた制御部21は、展開部23に中間データからイメージデータへの変換を指示する。指示を受けた展開部23は、印刷部24に指示して、展開された中間データをイメージデータに変換し、印刷イメージ記憶領域25cに格納させる。印刷部24は、印刷時間測定部27に指示して、頁単位でのイメージ変換時間を測定させ、測定値を入手すると、記憶部25の測定値記憶領域25dに格納する。
【0042】
(ステップS28)
印刷部24は、印刷を開始する前に印刷時間測定部27に各頁ごとの印刷時間を測定するよう指示し、イメージデータに変換された頁から印刷を開始させる。印刷時間測定部27は、印刷部24より印刷の開始及び完了の通知により頁ごとの印刷時間を測定する。頁単位の印刷時間の測定が完了すると印刷時間測定部27は、測定値を印刷部24に伝達する。そして印刷部24は、その測定値を記憶部25の測定値記憶領域25dに格納する。
【0043】
(ステップS29)
制御部21は、印刷ジョブに含まれる印刷頁数のデータに基づいて、印刷中の頁が最終頁かどうかを判断する。最終頁であれば、ステップS30に進み、最終頁でなければステップS21に戻る。
【0044】
(ステップS30)
制御部21が記憶量判断部26からメモリ不足の通知を受けずに、PC10より要求の合った部単位印刷の1部目が印刷完了できたことは、印刷ジョブ全ての中間データが中間データ記憶領域25bに格納されたことを示す。従って、制御部21は、2部目以降の印刷において改めてPC10に印刷ジョブを要求する必要が無いために、印刷完了通知を通信部22を介してPC10に送信し、PC10とプリンタ20の接続を終了させる。
【0045】
(ステップS31)
一方、制御部21は、部単位印刷の1部目の印刷途中に記憶量判断部26からメモリ不足との通知を受けると、印刷を継続するために、印刷が完了している頁の中間データを中間データ記憶領域25bから消去してメモリの空き領域を確保させる。
【0046】
(ステップS32)
制御部21は、メモリを確保しながら部単位印刷1部目の印刷を継続する。そして1部目の印刷が完了すると図5のフローチャートに示すS40に進む。
【0047】
以上の説明により、部単位印刷の1部目の印刷途中にメモリ不足が発生した場合には、印刷済みの中間データを消去してメモリ空間を確保させた上で印刷を継続する。
そこでステップS40からステップS65では、メモリ不足が発生した場合にメモリを
有効活用すべく、印刷ジョブをA、B、C3つのブロックに分けA及ぶCブロックの印刷ジョブの頁については、展開された中間データを記憶部25に格納させ、Bブロックの頁については、中間データを消去してメモリ空間を確保させるために、あらためてPC10から印刷ジョブを再送させる。
【0048】
そのとき、Aにおける印刷処理と、BにおけるPC10からの印刷ジョブの受信を並列処理し且つ、処理時間が同等になるように頁分けを決めることで、効果的な時間短縮が可能になる。PC10から部単位印刷に必要な頁のみ(Bブロック)の印刷ジョブを送信させるための頁数の設定について説明する。
【0049】
(ステップS40)
ステップS32においてメモリ不足が確認された状況で部単位印刷の1部目の印刷を完了させると、制御部21は、部単位印刷2部目の印刷に先がけて、部単位印刷1部目の印刷を行った際に測定した各時間に基づいて、Bブロックの頁数を抽出する。先ず1頁からN頁(Nは総頁の1/3もしくは1/2の頁)までをAブロックとし、中間データからイメージデータへの変換時間と印刷時間を記憶部25の測定値記憶領域25dから読み込み、総時間を計算する。この総時間をS1とする。
【0050】
(ステップS41)
次に、先に求めた総時間S1と同等な処理時間を要するBブロックを示す(N+1)頁からM頁を求める。M頁を算出するために、変数iを用いてS2を算出する。変数iの初期値は1とする。
【0051】
(ステップS42)
制御部21は、(N+1)頁目から(N+1+i)頁までの受信時間と、中間データに展開する時間と、中間データからイメージデータへ変換する時間及び印刷時間を測定値記憶領域25dから読み込み、総時間を計算する。この総時間をS2とする。
【0052】
(ステップS43)
制御部21は、S1とS2を比較する。S1が大きければステップS44に進み、S2が大きければステップS45に進む。
【0053】
(ステップS44)
制御部21は、変数iに1を加算して再度S2を抽出する。従ってステップS42に戻る。
【0054】
(ステップS45)
制御部21は、S2がS1より大きくなったとして1頁前までをM頁とする。ここではN+1+i−1=N+i=M(頁)とする。
【0055】
(ステップS46)
次に、Cブロックを示す(M+1)頁から最終頁であるL頁の処理時間を算出し、先に求めたBブロックの総時間S2以下の処理時間であるかを確認する。変数iを初期値1として、最終頁であるL頁までの総時間S3を求める。
【0056】
(ステップS47)
制御部21は、(M+1)頁目から(M+1+i)頁までの中間データからイメージデータへの変換時間と印刷時間を測定値記憶領域25dから読み込み、総時間(S3)を計算する。
【0057】
(ステップS48)
制御部21は、iを加算していく中で(M+1+i)が最終頁に達したかどうかを判定する。最終頁でなければステップS49に進み、最終頁であればステップS50に進む。
【0058】
(ステップS49)
制御部21は、変数iに1を加算する。そして再度S3を抽出するためにステップS47に戻る。
【0059】
(ステップS50)
制御部21は、最終頁に達し、しかもS2がS3よりも大きければ、3つのブロック分けが完了する。そして図6に示すフローチャートのS51に進み2部目の印刷を行う。
【0060】
(ステップS51)
制御部21は、部単位印刷の1部目の印刷途中のステップS31でメモリ不足が発生すると、印刷を継続できるように、中間データを中間データ記憶領域25bから消去し、メモリの空き領域を確保させる。そして、制御部21は、通信部22を介して2部目の印刷に先がけてPC10に印刷ジョブの再送要求を送信する。再送要求を受けたPC10は、待機状態から復帰し、プリンタ20に再送要求のあった印刷ジョブを送信する。
【0061】
(ステップS52)
通信部22は、印刷ジョブを受信すると初頁から順に印刷ジョブを制御部21に送る。通信部22から印刷ジョブを受け取った制御部21は、展開部23及び印刷部24に指示して2部目の印刷を開始させる。
【0062】
(ステップS53)
先ず制御部21は、展開部23及び印刷部24に指示して1頁から、ステップS40で決定したN頁までの印刷を開始させる。
【0063】
(ステップS54)
次に制御部21は、1頁からN頁までの印刷が完了すると、展開部23に指示し1頁からN頁までの中間データを記憶部25の中間データ記憶領域25bに格納させる。
【0064】
(ステップS55)
次に制御部21は、展開部23及び印刷部24に指示して(N+1)頁からM頁までの印刷を開始させる。
【0065】
(ステップS56)
次に制御部21は、展開部23及び印刷部24に指示して(M+1)頁から最終頁であるL頁までの印刷を開始させる。
【0066】
(ステップS57)
次に制御部21は、(M+1)頁からL頁までの印刷が完了すると、展開部23に指示し(M+1)頁からL頁までの中間データを記憶部25の中間データ記憶領域25bに格納させる。これにより、印刷ジョブの1からN頁までの中間データと、(M+1)頁からL頁までの中間データが中間データ記憶領域25bに格納される。
【0067】
(ステップS58)
制御部21は、2部目の印刷が完了し、記憶部25に所定の中間データが格納されたのを受けて、展開部23及び印刷部24に指示して3部目の印刷を開始させる。
【0068】
(ステップS59)
先ず、制御部21は、展開部23及び印刷部24に指示して、中間データ記憶領域25bに格納されている1頁からN頁までの中間データを用いた印刷を開始させる。
【0069】
(ステップS60)
また、制御部21は、展開部23及び印刷部24に指示して1頁からN頁までの印刷を指示すると同時に通信部22に指示してPC10に(N+1)頁からM頁までの印刷ジョブの再送要求を送信させる。
【0070】
(ステップS61)
制御部21は、通信部22を介してPC10から(N+1)頁からM頁までの印刷ジョブを受信すると展開部23に(N+1)頁からM頁までの印刷ジョブを中間データに展開するように指示する。
【0071】
(ステップS62)
制御部21は、1頁からN頁までの印刷が完了したかどうかを展開部23に確認する。
【0072】
(ステップS63)
1頁からN頁までの印刷が完了したとの通知を受けると制御部21は、展開部23を介して印刷部24に指示し、PC10から再度、受信した(N+1)頁からM頁までの印刷ジョブの印刷を開始させる。
【0073】
(ステップS64)
次に、制御部21は、展開部23及び印刷部24に指示して中間データ記憶領域25bに格納されている(M+1)頁から最終頁のL頁までの中間データを用いて印刷を開始させる。
【0074】
(ステップS65)
制御部21は、3部目の印刷が全て完了すると通信部22を介して、PC10に印刷完了通知を送信する。
【0075】
次に図4から図6のフローチャートで説明したPC10とプリンタ20との通信経緯を示したのが図7の状態遷移の説明図である。
【0076】
図に示すように、PC10から部単位印刷の要求をプリンタ20が受信し、メモリ不足が発生した場合に2部目の印刷の際に、格納すべき中間データを抽出する。3部目の印刷においては、格納された中間データを用いて印刷することにより、印刷ジョブの一部のみを再送要求すればよく、印刷時間の短縮化につながる。
【0077】
なお、実施例1では印刷ジョブの受信時間、中間データへの展開時間、中間データからイメージデータに変換して印刷を完了させるまでの印刷時間を使って算出したが、これらの何れかの要素、又は組み合わせにより同様の処理が可能である。
【0078】
以上のように、実施例1によれば、画像形成装置において、部単位印刷を行う場合にメモリが不足した場合でも、2部目の印刷の際に所望の中間データを格納することで、3部目の印刷においては印刷ジョブを全て送信する必要がないので、印刷完了までの時間が短くなる。
【実施例2】
【0079】
図8は、実施例2の印刷システムのブロック図である。
図に示すように、印刷システム100は、PC10とプリンタ200とで構成される。
実施例2の印刷システム100では、プリンタ200の構成に差異がある。よって以下に実施例1と異なる部分のみについて詳細に説明し、実施例1と同様な構成については実施例1と同一の符号を付して説明を省略する。
【0080】
プリンタ200は、制御部21、通信部22、展開部23、印刷部24、記憶部25、記憶量判断部26、印刷時間測定部27、展開時間測定部28、受信時間測定部29とを有し、実施例2では新たに分割量判断部201を備える。
【0081】
分割量判断部201は、部単位印刷の1部目の印刷において、メモリ不足発生時に記憶部25に格納できた中間データの頁数と印刷ジョブの総頁数の関係から2部目以降の印刷において記憶部25に中間データを格納して印刷することができるかどうかを判定する部分である。
【0082】
次に、実施例2のプリンタ200が部単位印刷の指示を受けた場合の動作について説明する。
図9、図10及び図11は、実施例2におけるプリンタの印刷処理の流れを示すフローチャート(その1からその3)である。なお、図9に示すフローチャートは、ステップS76の分岐先を除いて、実施例1の図4のフローチャートと同様である。よって、フローチャートの説明は、ステップS76の分岐先である図10のステップS90から説明する。
【0083】
(ステップS90)
制御部21は、部単位印刷の1部目の印刷途中にメモリ不足との通知を記憶量判断部26から受けると、分割量判断部201に、記憶部25に格納可能な中間データの頁数を抽出させる。その際、制御部21は、PC10から通知された印刷ジョブの総頁数を入手し、予め、分割量判断部201に伝達しておく。分割量判断部201は、部単位印刷の1部目の印刷において、メモリ不足発生時に記憶部25に格納できた中間データの頁数と印刷ジョブの総頁数の関係から2部目以降の印刷において記憶部25に中間データを格納して印刷することができるかを判定する。判定において分割量判断部201は、記憶部25に格納された中間データの頁数と印刷ジョブの総頁数からDを求める。Dの算出式はD=(格納された中間データ頁数)/(印刷ジョブの総頁数)である。
【0084】
(ステップS91)
Dが0.5を超えていなければ、中間データ記憶領域25bに中間データを格納することができないので分割量判断部201は、先に求めたDが0.5を超えているかどうかを判定し、制御部21に通知する。0.5を超えていればステップS96に進み、超えていなければステップS92に進む。
【0085】
(ステップS92)
Dが0.5を超えていないので制御部21は、残頁の印刷を継続できるようにメモリの空き領域を確保すべく、印刷が完了している頁の中間データを中間データ記憶領域25bから消去する。これにより制御部21は、部単位印刷の1部目の印刷を完了させる。
【0086】
(ステップS93)
制御部21は、1部目の印刷を完了させると、通信部22を介してPC10に全頁分の印刷ジョブの再送要求を送信する。
【0087】
(ステップS94)
制御部21は、PC10から印刷ジョブを受信すると引
き続き印刷を行う。印刷においては、ステップS92にように記憶部25の空き容量を確保させながら行う。
【0088】
(ステップS95)
制御部21は、部単位印刷が終了したかどうかを判定する。終了すれば処理終了とし、終了でなければステップS93に戻り、引き続き通常印刷を行う。
【0089】
(ステップS96)
Dが0.5を超えているので、制御部21は、印刷が完了している頁の中間データを格納させる頁数を確認する。分割量判断部201は、印刷ジョブの総頁数から最初の分割頁数Nを算出する。分割にあたっては、印刷ジョブを3ブロックに分ける構成にするために総頁数を3で除算する。これによりブロック毎の処理時間が均等になる。印刷ジョブの総頁数を3で除算しNを算出する。最初の分割頁数N≒(印刷ジョブの総頁数)/3で算出され、少数点は切り上げでも切り下げでも構わず、Nは整数とする。
【0090】
(ステップS97)
次に制御部21は、展開部23に指示して1頁からステップS96で求めたN頁までの中間データを中間データ記憶領域25bに格納させる。
【0091】
(ステップS98)
次に制御部21は、1頁からN頁までの中間データからイメージへの変換時間と印刷時間を記憶部25の測定値記憶領域25dから読み込み、総時間を計算する。この総時間をS1とする。
【0092】
(ステップS99)
次に、先に求めた総時間S1と同等な処理時間を要する(N+1)頁以降の頁数を算出する。ここでは算出する頁数をM頁とし、M頁を算出するために、変数iを用いて新たにS2を算出する。変数iの初期値は1とする。
【0093】
(ステップS100)
制御部21は、次に(N+1)頁目から(N+1+i)頁までの受信時間と中間データからイメージへの変換時間と印刷時間を測定値記憶領域25dから読み込み、総時間を計算する。この総時間をS2とする。
【0094】
(ステップS101)
制御部21は、S1とS2を比較する。S1が大きければステップS102に進み、S2が大きければステップS103に進む。
【0095】
(ステップS102)
制御部21は、変数iに1を加算する。そして、再度S2を抽出するためにステップS100に戻る。
【0096】
(ステップS103)
制御部21は、S2がS1より大きくなったとして1頁前までをM頁とする。ここではN+1+i−1=N+i=M(頁)とする。
【0097】
(ステップS104)
次に、(M+1)頁から最終頁であるL頁の処理時間を算出し、先に求めた総時間S2以下の処理時間であるかを確認する。変数iを初期値1として、最終頁であるL頁までの総時間S3を求める。
【0098】
(ステップS105)
制御部21は、(M+1)頁目から(M+1+i)頁までの中間データからイメージデータへの変換時間と印刷時間を測定値記憶領域25dから読み込み、総時間(S3)を計算する。
【0099】
(ステップS106)
制御部21は、iを加算していく中で(M+1+i)が最終頁に達したかどうかを判定する。最終頁でなければステップS107に進み、最終頁であればステップS108に進む。
【0100】
(ステップS107)
制御部21は、変数iに1を加算して再度S3を抽出する。従ってステップS105に戻る。
【0101】
(ステップS108)
制御部21は、最終頁に達し、しかもS2がS3よりも大きければ、3つのブロック分けが完了する。
【0102】
(ステップS109)
次に制御部21は、(M+1)頁から先に求めたL頁までの中間データを記憶部25の中間データ記憶領域25bに格納させる。そして、図11に示すフローチャートのステップS110に進む。
【0103】
これにより、実施例2においては、部単位印刷の1部目を印刷が完了した時点で、必要な中間データが格納されているので、2部目以降の印刷において、必要な頁の印刷ジョブのみをPC10に再送要求して入手し印刷するので、時間短縮が可能になる。
【0104】
引き続き実施例2の2部目の印刷動作に関する図11のフローチャートについて説明する。
【0105】
(ステップS110)
制御部21は、2部目の印刷にあたって、展開部23を介して印刷部24に指示し、記憶部25に記憶されている1頁からN頁までの中間データをイメージデータに変換させる。
【0106】
(ステップS111)
印刷部24は、1頁からN頁までをイメージデータに変換すると印刷を開始させる。
【0107】
(ステップS112)
制御部21は、展開部23を介して印刷部24に1頁からN頁までの印刷を指示すると同時に、通信部22を介して(N+1)頁からM頁の印刷ジョブの再送要求を送信する。
【0108】
(ステップS113)
制御部21は、通信部22を介して(N+1)頁からM頁の印刷ジョブを受信すると、展開部23に対して、受信した印刷ジョブを中間データに展開して中間データ記憶領域25bのワークエリアに格納するよう指示する。
【0109】
(ステップS114)
展開部23は、印刷部24において1頁からN頁までの印刷が完了したかどうかを監視する。1頁からN頁までの印刷が完了すればステップS115に進む。
【0110】
(ステップS115)
展開部23は、印刷部24において1頁からN頁までの印刷が完了したとの通知を受けると、制御部21に伝達する。伝達された制御部21は、続いて(N+1)頁からM頁の印刷を行うようにと展開部23及び印刷部24に指示する。
【0111】
(ステップS116)
次に印刷部24は、中間データ記憶領域25bに格納されている(N+1)頁からM頁の中間データをイメージデータに変換すると印刷を開始する。
【0112】
(ステップS117)
制御部21は、部単位印刷が全て完了したかどうかを監視する。完了すればステップS118に進み、そうでなければ、ステップS110に戻る。
【0113】
(ステップS118)
制御部21は、部単位印刷が全て完了したとの通知を受けると、通信部22を介してPC10に印刷完了通知を送信する。
【0114】
図9から図11までのフローチャートで説明したPC10とプリンタ200との通信の経緯を示したのが図12の状態遷移の説明図である。
【0115】
図に示すように、PC10から部単位印刷の要求をプリンタ200が授受し、部単位印刷の1部目の印刷途中にメモリ不足が発生した場合に、格納すべき中間データを抽出し、2部目の印刷においては、格納された中間データを用いて印刷することにより、印刷ジョブの一部のみを再送要求すればよく、印刷時間の短縮化につながる。
【0116】
なお、実施例2では印刷ジョブの受信時間、中間データへの展開時間、中間データからイメージデータに変換して印刷を完了させるまでの印刷時間を使って算出したが、これらの何れかの要素、又は組み合わせにより同様の処理が可能である。
【0117】
以上のように、実施例2によれば、画像形成装置において、部単位印刷を行う場合にメモリが不足した場合でも、1部目の印刷の際に所望の中間データを格納することで、2部目の印刷においては印刷ジョブを全て送信する必要がないので印刷完了までの時間が短くなる。
【産業上の利用可能性】
【0118】
なお、実施例1、2では画像形成装置としてプリンタに適用した場合について説明してきたが、本発明の趣旨からすれば、FAX装置、複合機及び複写装置にも適用できる。
【図面の簡単な説明】
【0119】
【図1】実施例1の印刷システムのブロック図である。
【図2】本発明のメモリ構成の説明図である。
【図3】実施例1におけるPCの印刷処理の流れを示すフローチャートである。
【図4】実施例1におけるプリンタの印刷処理の流れを示すフローチャート(その1である。
【図5】実施例1におけるプリンタの印刷処理の流れを示すフローチャート(その2である。
【図6】実施例1におけるプリンタの印刷処理の流れを示すフローチャート(その3である。
【図7】実施例1の状態遷移の説明図である。
【図8】実施例2の印刷システムのブロック図である。
【図9】実施例2におけるプリンタの印刷処理の流れを示すフローチャート(その1)である。
【図10】実施例2におけるプリンタの印刷処理の流れを示すフローチャート(その2)である。
【図11】実施例2におけるプリンタの印刷処理の流れを示すフローチャート(その3)である。
【図12】実施例2の状態遷移の説明図である。
【符号の説明】
【0120】
1、100 印刷システム
10 PC
20、200 プリンタ
21制御部
22 通信部
23 展開部
24 印刷部
25 記憶部
26 記憶量判断部
27 印刷時間測定部
28 展開時間測定部
29 受信時間測定部

【特許請求の範囲】
【請求項1】
部単位印刷を行う画像形成装置であって、
上位装置から送信される印刷ジョブを受け取る受信部と、
前記印刷ジョブを展開して中間データを生成する展開部と、
前記中間データからイメージデータに変換し、印刷を行う印刷部と、
前記印刷ジョブと前記中間データ及び前記イメージデータとを記憶する記憶部と、
前記記憶部の空き容量を判断する容量判断部と、
前記部単位印刷の1部目の印刷途中に前記容量判断部が前記記憶部の空き容量が不足していると判断すると、前記印刷ジョブの受信から印刷出力までの処理時間に基づいて、再送させる前記印刷ジョブを決定する制御部と、
前記制御部により決定された前記印刷ジョブを前記上位装置に要求する送信部と、
を備えることを特徴とする画像形成装置。
【請求項2】
前記制御部は、
前記受信部で前記印刷ジョブを受信するまでの時間を測定する受信時間測定部と、
前記展開部で前記中間データに展開するまでの時間を測定する展開時間測定部と、
前記印刷部で前記イメージデータを印刷するまでの時間を測定する印刷時間測定部と、
を有し、
前記受信時間測定部により測定された受信時間と、前記展開時間測定部により測定された展開時間及び前記印刷時間測定部により測定された印刷時間の何れかに基づいて、前記上位装置に再送要求する前記印刷ジョブを決定することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記制御部は、
前記再送要求する前記印刷ジョブを頁単位で要求することを特徴とする請求項1に記載の画像形成装置。
【請求項4】
前記制御部は、
部単位印刷の1部目の印刷の際に、所望の前記中間データを前記記憶部に格納しながら印刷を行い、2部目の印刷では、前記記憶部に格納された前記中間データを用いて印刷を行い、
前記受信部は、前記制御部が前記記憶部に格納された前記中間データを用いて印刷を行うのと並列して、前記再送要求した前記印刷ジョブを受信することを特徴とする請求項1に記載の画像形成装置。
【請求項5】
請求項1から請求項4に記載の何れかの画像形成装置と、該画像形成装置からの再送要求に基づいて前記印刷ジョブを再送する前記上位装置とからなる印刷システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−52386(P2010−52386A)
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願番号】特願2008−222182(P2008−222182)
【出願日】平成20年8月29日(2008.8.29)
【出願人】(591044164)株式会社沖データ (2,444)
【Fターム(参考)】