(57)【要約】【課題】  画像形成装置において部単位印刷を行う場合にメモリ不足が発生しても、印刷ジョブを全て送信要求する必要が無く印刷時間が短縮できる。【解決手段】  部単位印刷を行う画像形成装置であって、上位装置から送信される印刷ジョブを受け取る受信部と、上記印刷ジョブを展開して中間データを生成する展開部と、上記中間データからイメージデータに変換し、印刷を行う印刷部と、上記印刷ジョブと上記中間データ及び上記イメージデータとを記憶する記憶部と、上記記憶部の空き容量を判断する容量判断部と、上記部単位印刷の１部目の印刷途中に上記容量判断部が上記記憶部の空き容量が不足していると判断すると、上記印刷ジョブの受信から印刷出力までの処理時間に基づいて、再送させる上記印刷ジョブを決定する制御部と、上記制御部により決定された上記印刷ジョブを上記上位装置に要求する送信部とを備える。【選択図】        図１
2010052386.tif 000002
【特許請求の範囲】
【請求項１】
部単位印刷を行う画像形成装置であって、
上位装置から送信される印刷ジョブを受け取る受信部と、
前記印刷ジョブを展開して中間データを生成する展開部と、
前記中間データからイメージデータに変換し、印刷を行う印刷部と、
前記印刷ジョブと前記中間データ及び前記イメージデータとを記憶する記憶部と、
前記記憶部の空き容量を判断する容量判断部と、
前記部単位印刷の１部目の印刷途中に前記容量判断部が前記記憶部の空き容量が不足していると判断すると、前記印刷ジョブの受信から印刷出力までの処理時間に基づいて、再送させる前記印刷ジョブを決定する制御部と、
前記制御部により決定された前記印刷ジョブを前記上位装置に要求する送信部と、
を備えることを特徴とする画像形成装置。
【請求項２】
前記制御部は、
前記受信部で前記印刷ジョブを受信するまでの時間を測定する受信時間測定部と、
前記展開部で前記中間データに展開するまでの時間を測定する展開時間測定部と、
前記印刷部で前記イメージデータを印刷するまでの時間を測定する印刷時間測定部と、
を有し、
前記受信時間測定部により測定された受信時間と、前記展開時間測定部により測定された展開時間及び前記印刷時間測定部により測定された印刷時間の何れかに基づいて、前記上位装置に再送要求する前記印刷ジョブを決定することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記制御部は、
前記再送要求する前記印刷ジョブを頁単位で要求することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記制御部は、
部単位印刷の１部目の印刷の際に、所望の前記中間データを前記記憶部に格納しながら印刷を行い、２部目の印刷では、前記記憶部に格納された前記中間データを用いて印刷を行い、
前記受信部は、前記制御部が前記記憶部に格納された前記中間データを用いて印刷を行うのと並列して、前記再送要求した前記印刷ジョブを受信することを特徴とする請求項１に記載の画像形成装置。
【請求項５】
請求項１から請求項４に記載の何れかの画像形成装置と、該画像形成装置からの再送要求に基づいて前記印刷ジョブを再送する前記上位装置とからなる印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部単位印刷を行う画像形成装置及び印刷システムに関する。
【背景技術】
【０００２】
従来、プリンタ側のメモリ容量が小さく、部単位印刷の要求に対して１部目の印刷途中にメモリが不足してしまうと、印刷ジョブ内の印刷済みの頁の中間データが消去されるために、２部目以降の部単位印刷を実行するには、オペレータがパーソナルコンピュータ（以下ＰＣ）により部数分、繰り返し印刷ジョブを送信することにより、部単位印刷を行ってきた。
また、上記のように、不足部数に応じてオペレータがＰＣからプリンタに印刷ジョブを送信するのは面倒な為、下記の特許文献１には、プリンタ側のメモリが不足して部単位印刷が実行できない場合に、印刷ジョブを送信したＰＣを待機させ、プリンタ側でメモリに格納可能な印刷ジョブの一部を受け取り、印刷処理後に格納されていた印刷ジョブを消去して、残りの印刷ジョブを待機していたＰＣから転送させ、このような転送動作を指定部数回繰り返す印刷制御方法が開示されている。
【特許文献１】特開２００４−１１００９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述の印刷制御方法では、ＰＣから部単位印刷毎に印刷ジョブを含み再送することになり印刷までに時間がかかる点が課題であった。
【課題を解決するための手段】
【０００４】
本発明は、以上の問題を解決するために、次の構成を具備する。
【０００５】
本発明は、部単位印刷を行う画像形成装置であって、上位装置から送信される印刷ジョブを受け取る受信部と、上記印刷ジョブを展開して中間データを生成する展開部と、上記中間データからイメージデータに変換し、印刷を行う印刷部と、上記印刷ジョブと上記中間データ及び上記イメージデータとを記憶する記憶部と、上記記憶部の空き容量を判断する容量判断部と、上記部単位印刷の１部目の印刷途中に上記容量判断部が上記記憶部の空き容量が不足していると判断すると、上記印刷ジョブの受信から印刷出力までの処理時間に基づいて、再送させる上記印刷ジョブを決定する制御部と、上記制御部により決定された上記印刷ジョブを上記上位装置に要求する送信部とを備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、画像形成装置において、部単位印刷を行う場合に１部目の印刷途中にメモリが不足した場合でも、印刷ジョブの一部をメモリに記憶させて２部目以降の部単位印刷に利用することにより、２部目以降に印刷ジョブを全て送信する必要がないので、全て送信する場合と比較して印刷完了までの時間がかからない。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施形態を説明する。ここでは、画像形成装置としてプリンタを適用して説明する。
【実施例１】
【０００８】
図１は、実施例１の印刷システムのブロック図である。
図に示すように、印刷システム１は、ＰＣ１０とプリンタ２０とで構成される。
【０００９】
ＰＣ１０は、プリンタドライバ１１、アプリケーション１２及びＰＣ通信部１３とを有する。
【００１０】
アプリケーション１２は、図示しないＯＳ（オペレーティングシステム）上で使用される汎用のアプリケーションであり、例えば、文書作成ソフトウエア、図形作成ソフトウエア、表計算ソフトウエア、データベースソフトウエア等からなる。
プリンタドライバ１１は、アプリケーション１２上で作成された図面、文書等を印刷するための印刷ジョブを作成する部分である。
【００１１】
ＰＣ通信部１３は、プリンタドライバ１１にて生成された印刷ジョブをプリンタ２０に送信する部分である。また、ＰＣ通信部１３は、プリンタ２０からの指示により、印刷ジョブの再送要求を受信すると再度、印刷ジョブを送信する。
【００１２】
一方、プリンタ２０は、制御部２１、通信部２２、展開部２３、印刷部２４、記憶部２５、記憶量判断部２６、印刷時間測定部２７、展開時間測定部２８及び受信時間測定部２９とを有する。
【００１３】
制御部２１は、プリンタ２０のシステム全体の制御を司る部分である。
通信部２２は、ＰＣ１０より送信されてくる印刷ジョブを受信する部分である。受信した印刷ジョブは、制御部２１によって後述の受信データ記憶領域２５ａに格納される。また、通信部２２は、部単位印刷を行う場合に１部目の印刷途中にメモリが不足した場合に、２部目以降の部単位印刷のために、ＰＣ１０に対して、印刷ジョブの一部の再送要求を送信する。
【００１４】
展開部２３は、通信部２２が受信した印刷ジョブが制御部２１によって受信データ記憶領域２５ａに格納されると、初頁の印刷ジョブから展開していき、中間データを生成し、更に、生成された中間データを後述の中間データ記憶領域２５ｂに格納していく部分である。
【００１５】
印刷部２４は、中間データ記憶領域２５ｂに格納された中間データをイメージデータに変換し、イメージデータを後述の印刷イメージ記憶領域２５ｃに格納させ、更に格納されたイメージデータから印刷を行う部分である。
【００１６】
記憶部２５（図２で詳細に説明）は、プリンタ２０におけるＲＡＭ（ＲＡＮＤＯＭ  ＡＣＣＥＳＳ  ＭＥＭＯＲＹ）等からなるメモリである。記憶部２５は、通信部２２が受信した印刷ジョブの一時データ、展開部２３が印刷ジョブを展開して生成した中間データ、印刷部２４が中間データから変換して生成したイメージデータ等の一時データ、後述する各処理時間の測定値及び演算領域等からなる記憶領域である。記憶部２５は、揮発性メモリなので、プリンタ２０の電源が遮断されると内部データは消去される。
【００１７】
記憶量判断部２６は、記憶部２５のメモリ空き容量を判定する部分である。
印刷時間測定部２７は、印刷部２４において、中間データ記憶領域２５ｂに格納されている頁単位での中間データをイメージデータに変換し、変換されたイメージデータを印刷イメージ記憶領域２５ｃに格納し、格納されたイメージデータの印刷が完了するまでの時間を測定する部分である。
【００１８】
展開時間測定部２８は、展開部２３において、受信データ記憶領域２５ａに格納された頁単位の印刷ジョブを展開して中間データを生成し、生成された中間データを中間データ記憶領域２５ｂに格納するまでの時間を測定する部分である。
【００１９】
受信時間測定部２９は、制御部２１が通信部２２を介して、頁単位での印刷ジョブを受信し、受信した頁単位での印刷ジョブを受信データ記憶領域２５ａに格納させるまでの時間を測定する部分である。
【００２０】
なお、上述の印刷ジョブの受信、中間データへの展開、イメージデータへの変換及び印刷処理は並列処理で実行される。
【００２１】
次に、記憶部２５のメモリ構成について説明する。
図２は、本発明のメモリ構成の説明図である。
図に示すように、記憶部２５のメモリ構成は、受信データ記憶領域２５ａ、中間データ記憶領域２５ｂ、印刷イメージ記憶領域２５ｃ及び測定値記憶領域２５ｄとからなる。
【００２２】
受信データ記憶領域２５ａは、制御部２１がＰＣ１０から送信されてくる印刷ジョブを格納させる領域である。
受信データ記憶領域２５ａには、制御部２１によって初頁から順に印刷ジョブが格納され、格納された印刷ジョブは、展開部２３によって初頁から順に中間データに展開され、展開された中間データは、中間データ記憶領域２５ｂに格納される。中間データに展開された頁の印刷ジョブは、制御部２１によって受信データ記憶領域２５ａから消去される。
制御部２１は、中間データに展開された頁の印刷ジョブについては受信データ記憶領域２５ａから消去していき、引き続き次頁以降の印刷ジョブを受信データ記憶領域２５ａに格納していく。
【００２３】
中間データ記憶領域２５ｂは、ＰＣ１０から送信されてきた印刷ジョブに対して展開部２３にて展開された頁の中間データを格納する部分である。また、中間データ記憶領域２５ｂには、印刷ジョブを中間データに展開する為のワークエリアが確保されている。
【００２４】
印刷イメージ記憶領域２５ｃは、展開部２３で生成され、中間データ記憶領域２５ｂに格納された中間データから変換されたイメージデータを格納する領域である。
格納されたイメージデータは、印刷が完了すると、印刷部２４において次頁以降のイメージデータの格納エリアを確保するために消去される。
【００２５】
測定値記憶領域２５ｄは、印刷時間測定部２７、展開時間測定部２８及び受信時間測定部２９において測定された時間を格納する領域である。
【００２６】
なお、これらの領域は、固定のアドレスに割り当てる必要はなく、適宜送信されてくる印刷ジョブに応じて必要な空間が確保できるようにアドレスが設定される。
【００２７】
次に、実施例１のＰＣ１０がプリンタ２０に部単位印刷を指示する動作について説明する。
図３は、実施例１におけるＰＣの印刷処理の流れを示すフローチャートである。
以下にステップＳ１０からステップＳ１４までをステップ順に実施例１のＰＣ１０の動作について図１を併用しながら説明する。
【００２８】
（ステップＳ１０）
オペレータは、ＰＣ１０内にインストールされているアプリケーション１２上で作成された図形、文書等の印刷要求と併せて部単位印刷の要求をプリンタドライバ１１に指示する。
【００２９】
（ステップＳ１１）
指示を受けたプリンタドライバ１１は、プリンタ２０に送信する印刷データを作成する。
【００３０】
（ステップＳ１２）
更にプリンタドライバ１１は、生成した印刷データに部単位印刷コマンドを付加し、印刷ジョブを生成する。
【００３１】
（ステップＳ１３）
生成された印刷ジョブは、ＰＣ通信部１３に伝達され、プリンタ２０の通信部２２に送信される。
【００３２】
（ステップＳ１４）
ＰＣ通信部１３は、印刷ジョブの送信が完了しても、部単位印刷が完了したことを示すプリンタ２０からの印刷完了通知がくるまでプリンタ２０との接続を継続し待機する。
【００３３】
次に、実施例１のプリンタ２０が部単位印刷の指示を受けた場合の動作について説明する。
図４、図５及び図６は、実施例１におけるプリンタの印刷処理の流れを示すフローチャート（その１からその３）である。
図４に示すステップＳ２０からステップＳ３２までをステップ順に図１を併用しながら説明し、引き続き、図５及び図６のステップＳ４０からステップＳ６５までをステップ順に説明する。
【００３４】
（ステップＳ２０）
プリンタ２０の通信部２２は、ＰＣ１０から印刷ジョブを受信する。通信部２２は、受信した印刷ジョブを制御部２１に伝達する。
【００３５】
（ステップＳ２１）
制御部２１は、受信した印刷ジョブに部単位印刷コマンドが付加されているかどうかを確認する。部単位印刷コマンドが付加されている場合はステップＳ２３に進み、付加されていない場合はステップＳ２２に進む。
【００３６】
（ステップＳ２２）
制御部２１は、受信した印刷ジョブに部単位印刷コマンドが付加されていない場合には、通常の印刷処理を行い、処理を終了する。
【００３７】
（ステップＳ２３）
一方、制御部２１は、受信した印刷ジョブに部単位印刷コマンドが付加されている場合には、通信部２２から伝達される印刷ジョブの頁単位での受信時間を測定するように受信時間測定部２９に指示する。指示を受けた受信時間測定部２９は、制御部２１が通信部２２を介して受信した頁単位の印刷ジョブを受信データ記憶領域２５ａへ格納を開始させると、時間計測を開始し、制御部２１が頁単位の印刷ジョブを受信データ記憶領域２５ａへ格納を完了させると、時間計測を終了する。
受信時間測定部２９は、頁受信時間を制御部２１に通知し、通知を受けた制御部２１は、頁受信時間を記憶部２５の測定値記憶領域２５ｄに格納させる。
【００３８】
（ステップＳ２４）
制御部２１は、受信データ記憶領域２５ａに格納された印刷ジョブを中間データに展開するよう展開部２３に指示する。指示を受けた展開部２３は、印刷ジョブの展開を行う前に頁単位で印刷ジョブから中間データへ展開する時間を測定するよう展開時間測定部２８に指示する。
【００３９】
（ステップＳ２５）
展開部２３は、頁単位の中間データへの展開を完了させると、中間データ記憶領域２５ｂに中間データを格納する。展開部２３は、中間データの格納が完了すると制御部２１にその旨を通知する。一方、展開時間測定部２８は、頁単位での展開時間を測定し、測定値を展開部２３に通知する。通知を受けた展開部２３は、各頁ごとの展開時間を、記憶部２５の測定値記憶領域２５ｄに格納させる。
【００４０】
（ステップＳ２６）
中間データの格納完了の通知を受けた制御部２１は、記憶量判断部２６に中間データ記憶領域２５ｂのメモリ空き状況を確認するよう指示する。指示を受けた記憶量判断部２６は、中間データ記憶領域２５ｂを含めた記憶部２５全体のメモリ空き状況を確認し、制御部２１に伝える。メモリ不足と判断すると、ステップＳ３１に進み、メモリに余裕があればステップＳ２７に進む。
【００４１】
（ステップＳ２７）
メモリに余裕があるとの通知を受けた制御部２１は、展開部２３に中間データからイメージデータへの変換を指示する。指示を受けた展開部２３は、印刷部２４に指示して、展開された中間データをイメージデータに変換し、印刷イメージ記憶領域２５ｃに格納させる。印刷部２４は、印刷時間測定部２７に指示して、頁単位でのイメージ変換時間を測定させ、測定値を入手すると、記憶部２５の測定値記憶領域２５ｄに格納する。
【００４２】
（ステップＳ２８）
印刷部２４は、印刷を開始する前に印刷時間測定部２７に各頁ごとの印刷時間を測定するよう指示し、イメージデータに変換された頁から印刷を開始させる。印刷時間測定部２７は、印刷部２４より印刷の開始及び完了の通知により頁ごとの印刷時間を測定する。頁単位の印刷時間の測定が完了すると印刷時間測定部２７は、測定値を印刷部２４に伝達する。そして印刷部２４は、その測定値を記憶部２５の測定値記憶領域２５ｄに格納する。
【００４３】
（ステップＳ２９）
制御部２１は、印刷ジョブに含まれる印刷頁数のデータに基づいて、印刷中の頁が最終頁かどうかを判断する。最終頁であれば、ステップＳ３０に進み、最終頁でなければステップＳ２１に戻る。
【００４４】
（ステップＳ３０）
制御部２１が記憶量判断部２６からメモリ不足の通知を受けずに、ＰＣ１０より要求の合った部単位印刷の１部目が印刷完了できたことは、印刷ジョブ全ての中間データが中間データ記憶領域２５ｂに格納されたことを示す。従って、制御部２１は、２部目以降の印刷において改めてＰＣ１０に印刷ジョブを要求する必要が無いために、印刷完了通知を通信部２２を介してＰＣ１０に送信し、ＰＣ１０とプリンタ２０の接続を終了させる。
【００４５】
（ステップＳ３１）
一方、制御部２１は、部単位印刷の１部目の印刷途中に記憶量判断部２６からメモリ不足との通知を受けると、印刷を継続するために、印刷が完了している頁の中間データを中間データ記憶領域２５ｂから消去してメモリの空き領域を確保させる。
【００４６】
（ステップＳ３２）
制御部２１は、メモリを確保しながら部単位印刷１部目の印刷を継続する。そして１部目の印刷が完了すると図５のフローチャートに示すＳ４０に進む。
【００４７】
以上の説明により、部単位印刷の１部目の印刷途中にメモリ不足が発生した場合には、印刷済みの中間データを消去してメモリ空間を確保させた上で印刷を継続する。
そこでステップＳ４０からステップＳ６５では、メモリ不足が発生した場合にメモリを
有効活用すべく、印刷ジョブをＡ、Ｂ、Ｃ３つのブロックに分けＡ及ぶＣブロックの印刷ジョブの頁については、展開された中間データを記憶部２５に格納させ、Ｂブロックの頁については、中間データを消去してメモリ空間を確保させるために、あらためてＰＣ１０から印刷ジョブを再送させる。
【００４８】
そのとき、Ａにおける印刷処理と、ＢにおけるＰＣ１０からの印刷ジョブの受信を並列処理し且つ、処理時間が同等になるように頁分けを決めることで、効果的な時間短縮が可能になる。ＰＣ１０から部単位印刷に必要な頁のみ（Ｂブロック）の印刷ジョブを送信させるための頁数の設定について説明する。
【００４９】
（ステップＳ４０）
ステップＳ３２においてメモリ不足が確認された状況で部単位印刷の１部目の印刷を完了させると、制御部２１は、部単位印刷２部目の印刷に先がけて、部単位印刷１部目の印刷を行った際に測定した各時間に基づいて、Ｂブロックの頁数を抽出する。先ず１頁からＮ頁（Ｎは総頁の１／３もしくは１／２の頁）までをＡブロックとし、中間データからイメージデータへの変換時間と印刷時間を記憶部２５の測定値記憶領域２５ｄから読み込み、総時間を計算する。この総時間をＳ１とする。
【００５０】
（ステップＳ４１）
次に、先に求めた総時間Ｓ１と同等な処理時間を要するＢブロックを示す（Ｎ＋１）頁からＭ頁を求める。Ｍ頁を算出するために、変数ｉを用いてＳ２を算出する。変数ｉの初期値は１とする。
【００５１】
（ステップＳ４２）
制御部２１は、（Ｎ＋１）頁目から（Ｎ＋１＋ｉ）頁までの受信時間と、中間データに展開する時間と、中間データからイメージデータへ変換する時間及び印刷時間を測定値記憶領域２５ｄから読み込み、総時間を計算する。この総時間をＳ２とする。
【００５２】
（ステップＳ４３）
制御部２１は、Ｓ１とＳ２を比較する。Ｓ１が大きければステップＳ４４に進み、Ｓ２が大きければステップＳ４５に進む。
【００５３】
（ステップＳ４４）
制御部２１は、変数ｉに１を加算して再度Ｓ２を抽出する。従ってステップＳ４２に戻る。
【００５４】
（ステップＳ４５）
制御部２１は、Ｓ２がＳ１より大きくなったとして１頁前までをＭ頁とする。ここではＮ＋１＋ｉ−１＝Ｎ＋ｉ＝Ｍ（頁）とする。
【００５５】
（ステップＳ４６）
次に、Ｃブロックを示す（Ｍ＋１）頁から最終頁であるＬ頁の処理時間を算出し、先に求めたＢブロックの総時間Ｓ２以下の処理時間であるかを確認する。変数ｉを初期値１として、最終頁であるＬ頁までの総時間Ｓ３を求める。
【００５６】
（ステップＳ４７）
制御部２１は、（Ｍ＋１）頁目から（Ｍ＋１＋ｉ）頁までの中間データからイメージデータへの変換時間と印刷時間を測定値記憶領域２５ｄから読み込み、総時間（Ｓ３）を計算する。
【００５７】
（ステップＳ４８）
制御部２１は、ｉを加算していく中で（Ｍ＋１＋ｉ）が最終頁に達したかどうかを判定する。最終頁でなければステップＳ４９に進み、最終頁であればステップＳ５０に進む。
【００５８】
（ステップＳ４９）
制御部２１は、変数ｉに１を加算する。そして再度Ｓ３を抽出するためにステップＳ４７に戻る。
【００５９】
（ステップＳ５０）
制御部２１は、最終頁に達し、しかもＳ２がＳ３よりも大きければ、３つのブロック分けが完了する。そして図６に示すフローチャートのＳ５１に進み２部目の印刷を行う。
【００６０】
（ステップＳ５１）
制御部２１は、部単位印刷の１部目の印刷途中のステップＳ３１でメモリ不足が発生すると、印刷を継続できるように、中間データを中間データ記憶領域２５ｂから消去し、メモリの空き領域を確保させる。そして、制御部２１は、通信部２２を介して２部目の印刷に先がけてＰＣ１０に印刷ジョブの再送要求を送信する。再送要求を受けたＰＣ１０は、待機状態から復帰し、プリンタ２０に再送要求のあった印刷ジョブを送信する。
【００６１】
（ステップＳ５２）
通信部２２は、印刷ジョブを受信すると初頁から順に印刷ジョブを制御部２１に送る。通信部２２から印刷ジョブを受け取った制御部２１は、展開部２３及び印刷部２４に指示して２部目の印刷を開始させる。
【００６２】
（ステップＳ５３）
先ず制御部２１は、展開部２３及び印刷部２４に指示して１頁から、ステップＳ４０で決定したＮ頁までの印刷を開始させる。
【００６３】
（ステップＳ５４）
次に制御部２１は、１頁からＮ頁までの印刷が完了すると、展開部２３に指示し１頁からＮ頁までの中間データを記憶部２５の中間データ記憶領域２５ｂに格納させる。
【００６４】
（ステップＳ５５）
次に制御部２１は、展開部２３及び印刷部２４に指示して（Ｎ＋１）頁からＭ頁までの印刷を開始させる。
【００６５】
（ステップＳ５６）
次に制御部２１は、展開部２３及び印刷部２４に指示して（Ｍ＋１）頁から最終頁であるＬ頁までの印刷を開始させる。
【００６６】
（ステップＳ５７）
次に制御部２１は、（Ｍ＋１）頁からＬ頁までの印刷が完了すると、展開部２３に指示し（Ｍ＋１）頁からＬ頁までの中間データを記憶部２５の中間データ記憶領域２５ｂに格納させる。これにより、印刷ジョブの１からＮ頁までの中間データと、（Ｍ＋１）頁からＬ頁までの中間データが中間データ記憶領域２５ｂに格納される。
【００６７】
（ステップＳ５８）
制御部２１は、２部目の印刷が完了し、記憶部２５に所定の中間データが格納されたのを受けて、展開部２３及び印刷部２４に指示して３部目の印刷を開始させる。
【００６８】
（ステップＳ５９）
先ず、制御部２１は、展開部２３及び印刷部２４に指示して、中間データ記憶領域２５ｂに格納されている１頁からＮ頁までの中間データを用いた印刷を開始させる。
【００６９】
（ステップＳ６０）
また、制御部２１は、展開部２３及び印刷部２４に指示して１頁からＮ頁までの印刷を指示すると同時に通信部２２に指示してＰＣ１０に（Ｎ＋１）頁からＭ頁までの印刷ジョブの再送要求を送信させる。
【００７０】
（ステップＳ６１）
制御部２１は、通信部２２を介してＰＣ１０から（Ｎ＋１）頁からＭ頁までの印刷ジョブを受信すると展開部２３に（Ｎ＋１）頁からＭ頁までの印刷ジョブを中間データに展開するように指示する。
【００７１】
（ステップＳ６２）
制御部２１は、１頁からＮ頁までの印刷が完了したかどうかを展開部２３に確認する。
【００７２】
（ステップＳ６３）
１頁からＮ頁までの印刷が完了したとの通知を受けると制御部２１は、展開部２３を介して印刷部２４に指示し、ＰＣ１０から再度、受信した（Ｎ＋１）頁からＭ頁までの印刷ジョブの印刷を開始させる。
【００７３】
（ステップＳ６４）
次に、制御部２１は、展開部２３及び印刷部２４に指示して中間データ記憶領域２５ｂに格納されている（Ｍ＋１）頁から最終頁のＬ頁までの中間データを用いて印刷を開始させる。
【００７４】
（ステップＳ６５）
制御部２１は、３部目の印刷が全て完了すると通信部２２を介して、ＰＣ１０に印刷完了通知を送信する。
【００７５】
次に図４から図６のフローチャートで説明したＰＣ１０とプリンタ２０との通信経緯を示したのが図７の状態遷移の説明図である。
【００７６】
図に示すように、ＰＣ１０から部単位印刷の要求をプリンタ２０が受信し、メモリ不足が発生した場合に２部目の印刷の際に、格納すべき中間データを抽出する。３部目の印刷においては、格納された中間データを用いて印刷することにより、印刷ジョブの一部のみを再送要求すればよく、印刷時間の短縮化につながる。
【００７７】
なお、実施例１では印刷ジョブの受信時間、中間データへの展開時間、中間データからイメージデータに変換して印刷を完了させるまでの印刷時間を使って算出したが、これらの何れかの要素、又は組み合わせにより同様の処理が可能である。
【００７８】
以上のように、実施例１によれば、画像形成装置において、部単位印刷を行う場合にメモリが不足した場合でも、２部目の印刷の際に所望の中間データを格納することで、３部目の印刷においては印刷ジョブを全て送信する必要がないので、印刷完了までの時間が短くなる。
【実施例２】
【００７９】
図８は、実施例２の印刷システムのブロック図である。
図に示すように、印刷システム１００は、ＰＣ１０とプリンタ２００とで構成される。
実施例２の印刷システム１００では、プリンタ２００の構成に差異がある。よって以下に実施例１と異なる部分のみについて詳細に説明し、実施例１と同様な構成については実施例１と同一の符号を付して説明を省略する。
【００８０】
プリンタ２００は、制御部２１、通信部２２、展開部２３、印刷部２４、記憶部２５、記憶量判断部２６、印刷時間測定部２７、展開時間測定部２８、受信時間測定部２９とを有し、実施例２では新たに分割量判断部２０１を備える。
【００８１】
分割量判断部２０１は、部単位印刷の１部目の印刷において、メモリ不足発生時に記憶部２５に格納できた中間データの頁数と印刷ジョブの総頁数の関係から２部目以降の印刷において記憶部２５に中間データを格納して印刷することができるかどうかを判定する部分である。
【００８２】
次に、実施例２のプリンタ２００が部単位印刷の指示を受けた場合の動作について説明する。
図９、図１０及び図１１は、実施例２におけるプリンタの印刷処理の流れを示すフローチャート（その１からその３）である。なお、図９に示すフローチャートは、ステップＳ７６の分岐先を除いて、実施例１の図４のフローチャートと同様である。よって、フローチャートの説明は、ステップＳ７６の分岐先である図１０のステップＳ９０から説明する。
【００８３】
（ステップＳ９０）
制御部２１は、部単位印刷の１部目の印刷途中にメモリ不足との通知を記憶量判断部２６から受けると、分割量判断部２０１に、記憶部２５に格納可能な中間データの頁数を抽出させる。その際、制御部２１は、ＰＣ１０から通知された印刷ジョブの総頁数を入手し、予め、分割量判断部２０１に伝達しておく。分割量判断部２０１は、部単位印刷の１部目の印刷において、メモリ不足発生時に記憶部２５に格納できた中間データの頁数と印刷ジョブの総頁数の関係から２部目以降の印刷において記憶部２５に中間データを格納して印刷することができるかを判定する。判定において分割量判断部２０１は、記憶部２５に格納された中間データの頁数と印刷ジョブの総頁数からＤを求める。Ｄの算出式はＤ＝（格納された中間データ頁数）／（印刷ジョブの総頁数）である。
【００８４】
（ステップＳ９１）
Ｄが０．５を超えていなければ、中間データ記憶領域２５ｂに中間データを格納することができないので分割量判断部２０１は、先に求めたＤが０．５を超えているかどうかを判定し、制御部２１に通知する。０．５を超えていればステップＳ９６に進み、超えていなければステップＳ９２に進む。
【００８５】
（ステップＳ９２）
Ｄが０．５を超えていないので制御部２１は、残頁の印刷を継続できるようにメモリの空き領域を確保すべく、印刷が完了している頁の中間データを中間データ記憶領域２５ｂから消去する。これにより制御部２１は、部単位印刷の１部目の印刷を完了させる。
【００８６】
（ステップＳ９３）
制御部２１は、１部目の印刷を完了させると、通信部２２を介してＰＣ１０に全頁分の印刷ジョブの再送要求を送信する。
【００８７】
（ステップＳ９４）
制御部２１は、ＰＣ１０から印刷ジョブを受信すると引
き続き印刷を行う。印刷においては、ステップＳ９２にように記憶部２５の空き容量を確保させながら行う。
【００８８】
（ステップＳ９５）
制御部２１は、部単位印刷が終了したかどうかを判定する。終了すれば処理終了とし、終了でなければステップＳ９３に戻り、引き続き通常印刷を行う。
【００８９】
（ステップＳ９６）
Ｄが０．５を超えているので、制御部２１は、印刷が完了している頁の中間データを格納させる頁数を確認する。分割量判断部２０１は、印刷ジョブの総頁数から最初の分割頁数Ｎを算出する。分割にあたっては、印刷ジョブを３ブロックに分ける構成にするために総頁数を３で除算する。これによりブロック毎の処理時間が均等になる。印刷ジョブの総頁数を３で除算しＮを算出する。最初の分割頁数Ｎ≒（印刷ジョブの総頁数）／３で算出され、少数点は切り上げでも切り下げでも構わず、Ｎは整数とする。
【００９０】
（ステップＳ９７）
次に制御部２１は、展開部２３に指示して１頁からステップＳ９６で求めたＮ頁までの中間データを中間データ記憶領域２５ｂに格納させる。
【００９１】
（ステップＳ９８）
次に制御部２１は、１頁からＮ頁までの中間データからイメージへの変換時間と印刷時間を記憶部２５の測定値記憶領域２５ｄから読み込み、総時間を計算する。この総時間をＳ１とする。
【００９２】
（ステップＳ９９）
次に、先に求めた総時間Ｓ１と同等な処理時間を要する（Ｎ＋１）頁以降の頁数を算出する。ここでは算出する頁数をＭ頁とし、Ｍ頁を算出するために、変数ｉを用いて新たにＳ２を算出する。変数ｉの初期値は１とする。
【００９３】
（ステップＳ１００）
制御部２１は、次に（Ｎ＋１）頁目から（Ｎ＋１＋ｉ）頁までの受信時間と中間データからイメージへの変換時間と印刷時間を測定値記憶領域２５ｄから読み込み、総時間を計算する。この総時間をＳ２とする。
【００９４】
（ステップＳ１０１）
制御部２１は、Ｓ１とＳ２を比較する。Ｓ１が大きければステップＳ１０２に進み、Ｓ２が大きければステップＳ１０３に進む。
【００９５】
（ステップＳ１０２）
制御部２１は、変数ｉに１を加算する。そして、再度Ｓ２を抽出するためにステップＳ１００に戻る。
【００９６】
（ステップＳ１０３）
制御部２１は、Ｓ２がＳ１より大きくなったとして１頁前までをＭ頁とする。ここではＮ＋１＋ｉ−１＝Ｎ＋ｉ＝Ｍ（頁）とする。
【００９７】
（ステップＳ１０４）
次に、（Ｍ＋１）頁から最終頁であるＬ頁の処理時間を算出し、先に求めた総時間Ｓ２以下の処理時間であるかを確認する。変数ｉを初期値１として、最終頁であるＬ頁までの総時間Ｓ３を求める。
【００９８】
（ステップＳ１０５）
制御部２１は、（Ｍ＋１）頁目から（Ｍ＋１＋ｉ）頁までの中間データからイメージデータへの変換時間と印刷時間を測定値記憶領域２５ｄから読み込み、総時間（Ｓ３）を計算する。
【００９９】
（ステップＳ１０６）
制御部２１は、ｉを加算していく中で（Ｍ＋１＋ｉ）が最終頁に達したかどうかを判定する。最終頁でなければステップＳ１０７に進み、最終頁であればステップＳ１０８に進む。
【０１００】
（ステップＳ１０７）
制御部２１は、変数ｉに１を加算して再度Ｓ３を抽出する。従ってステップＳ１０５に戻る。
【０１０１】
（ステップＳ１０８）
制御部２１は、最終頁に達し、しかもＳ２がＳ３よりも大きければ、３つのブロック分けが完了する。
【０１０２】
（ステップＳ１０９）
次に制御部２１は、（Ｍ＋１）頁から先に求めたＬ頁までの中間データを記憶部２５の中間データ記憶領域２５ｂに格納させる。そして、図１１に示すフローチャートのステップＳ１１０に進む。
【０１０３】
これにより、実施例２においては、部単位印刷の１部目を印刷が完了した時点で、必要な中間データが格納されているので、２部目以降の印刷において、必要な頁の印刷ジョブのみをＰＣ１０に再送要求して入手し印刷するので、時間短縮が可能になる。
【０１０４】
引き続き実施例２の２部目の印刷動作に関する図１１のフローチャートについて説明する。
【０１０５】
（ステップＳ１１０）
制御部２１は、２部目の印刷にあたって、展開部２３を介して印刷部２４に指示し、記憶部２５に記憶されている１頁からＮ頁までの中間データをイメージデータに変換させる。
【０１０６】
（ステップＳ１１１）
印刷部２４は、１頁からＮ頁までをイメージデータに変換すると印刷を開始させる。
【０１０７】
（ステップＳ１１２）
制御部２１は、展開部２３を介して印刷部２４に１頁からＮ頁までの印刷を指示すると同時に、通信部２２を介して（Ｎ＋１）頁からＭ頁の印刷ジョブの再送要求を送信する。
【０１０８】
（ステップＳ１１３）
制御部２１は、通信部２２を介して（Ｎ＋１）頁からＭ頁の印刷ジョブを受信すると、展開部２３に対して、受信した印刷ジョブを中間データに展開して中間データ記憶領域２５ｂのワークエリアに格納するよう指示する。
【０１０９】
（ステップＳ１１４）
展開部２３は、印刷部２４において１頁からＮ頁までの印刷が完了したかどうかを監視する。１頁からＮ頁までの印刷が完了すればステップＳ１１５に進む。
【０１１０】
（ステップＳ１１５）
展開部２３は、印刷部２４において１頁からＮ頁までの印刷が完了したとの通知を受けると、制御部２１に伝達する。伝達された制御部２１は、続いて（Ｎ＋１）頁からＭ頁の印刷を行うようにと展開部２３及び印刷部２４に指示する。
【０１１１】
（ステップＳ１１６）
次に印刷部２４は、中間データ記憶領域２５ｂに格納されている（Ｎ＋１）頁からＭ頁の中間データをイメージデータに変換すると印刷を開始する。
【０１１２】
（ステップＳ１１７）
制御部２１は、部単位印刷が全て完了したかどうかを監視する。完了すればステップＳ１１８に進み、そうでなければ、ステップＳ１１０に戻る。
【０１１３】
（ステップＳ１１８）
制御部２１は、部単位印刷が全て完了したとの通知を受けると、通信部２２を介してＰＣ１０に印刷完了通知を送信する。
【０１１４】
図９から図１１までのフローチャートで説明したＰＣ１０とプリンタ２００との通信の経緯を示したのが図１２の状態遷移の説明図である。
【０１１５】
図に示すように、ＰＣ１０から部単位印刷の要求をプリンタ２００が授受し、部単位印刷の１部目の印刷途中にメモリ不足が発生した場合に、格納すべき中間データを抽出し、２部目の印刷においては、格納された中間データを用いて印刷することにより、印刷ジョブの一部のみを再送要求すればよく、印刷時間の短縮化につながる。
【０１１６】
なお、実施例２では印刷ジョブの受信時間、中間データへの展開時間、中間データからイメージデータに変換して印刷を完了させるまでの印刷時間を使って算出したが、これらの何れかの要素、又は組み合わせにより同様の処理が可能である。
【０１１７】
以上のように、実施例２によれば、画像形成装置において、部単位印刷を行う場合にメモリが不足した場合でも、１部目の印刷の際に所望の中間データを格納することで、２部目の印刷においては印刷ジョブを全て送信する必要がないので印刷完了までの時間が短くなる。
【産業上の利用可能性】
【０１１８】
なお、実施例１、２では画像形成装置としてプリンタに適用した場合について説明してきたが、本発明の趣旨からすれば、ＦＡＸ装置、複合機及び複写装置にも適用できる。
【図面の簡単な説明】
【０１１９】
【図１】実施例１の印刷システムのブロック図である。
【図２】本発明のメモリ構成の説明図である。
【図３】実施例１におけるＰＣの印刷処理の流れを示すフローチャートである。
【図４】実施例１におけるプリンタの印刷処理の流れを示すフローチャート（その１である。
【図５】実施例１におけるプリンタの印刷処理の流れを示すフローチャート（その２である。
【図６】実施例１におけるプリンタの印刷処理の流れを示すフローチャート（その３である。
【図７】実施例１の状態遷移の説明図である。
【図８】実施例２の印刷システムのブロック図である。
【図９】実施例２におけるプリンタの印刷処理の流れを示すフローチャート（その１）である。
【図１０】実施例２におけるプリンタの印刷処理の流れを示すフローチャート（その２）である。
【図１１】実施例２におけるプリンタの印刷処理の流れを示すフローチャート（その３）である。
【図１２】実施例２の状態遷移の説明図である。
【符号の説明】
【０１２０】
１、１００  印刷システム
１０  ＰＣ
２０、２００  プリンタ
２１制御部
２２  通信部
２３  展開部
２４  印刷部
２５  記憶部
２６  記憶量判断部
２７  印刷時間測定部
２８  展開時間測定部
２９  受信時間測定部
【図１】
2010052386.tif 000003
【図２】
2010052386.tif 000004
【図３】
2010052386.tif 000005
【図４】
2010052386.tif 000006
【図５】
2010052386.tif 000007
【図６】
2010052386.tif 000008
【図７】
2010052386.tif 000009
【図８】
2010052386.tif 000010
【図９】
2010052386.tif 000011
【図１０】
2010052386.tif 000012
【図１１】
2010052386.tif 000013
【図１２】
2010052386.tif 000014