(57)【要約】【課題】限られたスプール領域を用いて、スループットのより高い印刷を行うことを目的とする。【解決手段】ジョブデータを印刷するプリント装置であって、ジョブデータをビットマップデータに展開するレンダリング手段と、レンダリング手段でビットマップデータに展開されたジョブデータを印刷するためのプリントエンジン手段と、ジョブデータをレンダリング手段に送信し、レンダリング手段からビットマップデータに展開されたジョブデータを受信し、ビットマップデータに展開されたジョブデータをプリントエンジン手段へ送信するコントロール手段と、を有し、コントロール手段は、スプール領域の空き状況に応じて、ビットマップデータに展開されたジョブデータをスプール領域に保存するか、スプール領域への保存を行わずに、ジョブデータの検査を行うか、を切り替えることによって課題を解決する。【選択図】図２
2011224830.tif 000002
【特許請求の範囲】
【請求項１】
ジョブデータを印刷するプリント装置であって、
前記ジョブデータをビットマップデータに展開するレンダリング手段と、
前記レンダリング手段でビットマップデータに展開されたジョブデータを印刷するためのプリントエンジン手段と、
ジョブデータを前記レンダリング手段に送信し、前記レンダリング手段から前記ビットマップデータに展開されたジョブデータを受信し、前記ビットマップデータに展開されたジョブデータを前記プリントエンジン手段へ送信するコントロール手段と、
を有し、
前記コントロール手段は、スプール領域の空き状況に応じて、前記ビットマップデータに展開されたジョブデータをスプール領域に保存するか、前記スプール領域への保存を行わずに、前記ジョブデータの検査を行うか、を切り替えるプリント装置。
【請求項２】
前記コントロール手段は、前記ジョブデータの中からエラーページを検出した場合、前記ジョブデータの種別に応じて、印刷をキャンセルするか、エラーページのみ処理をスキップし印刷を継続するかを切り替える請求項１記載のプリント装置。
【請求項３】
画面を介したユーザ操作に基づいて、前記ジョブデータの種別に応じて、前記ジョブデータの中からエラーページが検出された場合の動作を設定する設定手段を更に有し、
前記コントロール手段は、前記ジョブデータの中からエラーページを検出した場合、前記ジョブデータの種別に応じて、前記設定手段で設定された動作を実行する請求項１記載のプリント装置。
【請求項４】
前記コントロール手段は、前記ジョブデータの中からエラーページを検出した場合、エラー情報を保存する請求項１乃至３何れか１項記載のプリント装置。
【請求項５】
前記コントロール手段は、前記ジョブデータの中からエラーページを検出した場合、エラー情報を画面に表示する請求項１乃至４何れか１項記載のプリント装置。
【請求項６】
レンダリング手段が、ジョブデータをビットマップデータに展開するステップと、
プリントエンジン手段が、ビットマップデータに展開されたジョブデータを印刷するステップと、
コントロール手段が、ジョブデータを前記レンダリング手段に送信し、前記レンダリング手段から前記ビットマップデータに展開されたジョブデータを受信し、前記ビットマップデータに展開されたジョブデータを前記プリントエンジン手段へ送信するステップと、
を含み、
前記ステップでは、前記コントロール手段が、スプール領域の空き状況に応じて、前記ビットマップデータに展開されたジョブデータをスプール領域に保存するか、前記スプール領域への保存を行わずに、前記ジョブデータの検査を行うか、を切り替える印刷方法。
【請求項７】
ジョブデータをビットマップデータに展開するレンダリング手段と、
前記レンダリング手段でビットマップデータに展開されたジョブデータを印刷するためのプリントエンジン手段と、
を有するコンピュータを、
ジョブデータを前記レンダリング手段に送信し、前記レンダリング手段から前記ビットマップデータに展開されたジョブデータを受信し、前記ビットマップデータに展開されたジョブデータを前記プリントエンジン手段へ送信するコントロール手段として機能させるプログラムであって、
前記コントロール手段は、スプール領域の空き状況に応じて、前記ビットマップデータに展開されたジョブデータをスプール領域に保存するか、前記スプール領域への保存を行わずに、前記ジョブデータの検査を行うか、を切り替えるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリント装置、印刷方法及びプログラムに関する。
【背景技術】
【０００２】
図１２を用いて背景技術の説明を行う。図１２は、従来例を説明するためのブロック図である。プリント装置７２は、コントロール部７３と、レンダリング部７４と、プリントエンジン部７５と、から構成される。コントロール部７３は、送受信部７６と、入力バッファ７７と、アウトプットスプール７８と、から構成される。送受信部７６は、コントロール部７３と、レンダリング部７４との間のデータの送受信を制御する。入力バッファ７７は、ホストコンピュータ（Ｈｏｓｔ  ＰＣ）７１からの、用紙に画像や文書を含むＰＤＬ等のジョブデータを、一時的に格納する。アウトプットスプール７８は、レンダリング部７４で変換されたビットマップデータを格納し、プリントエンジン部７５に送信する。プリントエンジン部７５は、ビットマップデータを印刷する。レンダリング部７４は、送受信部７９と、処理部７１０と、から構成される。送受信部７９は、コントロール部７３と、レンダリング部７４との間のデータの送受信を制御する。処理部７１０は、送受信部７９を介して、入力バッファ７７に格納されていたジョブデータを受信し、ビットマップデータに変換する。
従来、上記構成においてはジョブデータをビットマップデータに変換する処理時間はジョブデータの内容に依存していた。そのため、確実に一定の間隔でプリントエンジン部７５へビットマップデータを送信するためには、レンダリング処理後のビットマップデータを一旦、コントロール部７３内のアウトプットスプール７８にスプールしておく。そして、ある一定のジョブの単位でビットマップデータが揃った段階でプリントエンジン部７５へこれらのビットマップデータを送信するという動作を行っていた。
このような構成のプリント装置において、外部装置から送られてきたジョブデータのフォーマットエラーやジョブデータに内包される画像データにエラーの原因となるような部分がありレンダリング処理に失敗することがある。この場合、当然ながらエラーが発生したページは印刷されない。このような状態に対処するため、プリンタ装置にデータを送る前に、ホストコンピュータ上で動作する上流ソフトウェアで整合性のチェック（フォントやレイアウトの確認）を行う工程（プリフライト）を設けることもある。
特許文献１では、プリンタ装置にデータを送る前に、ホストコンピュータでエラーチェックを行い、結果をホストコンピュータ上に表示するように構成されている。これにより前記プリフライトと同等なエラーチェックが可能となっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２８２４９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところがこれらの構成においては、コントロール部７３内のアウトプットスプール７８にレンダリング部７４からのある一定のジョブ単位分の印刷用ビットマップデータをスプールする必要があるため、膨大なメモリ量を要する。また全ビットマップデータが揃うまでの間、プリントエンジン部７５へのデータ送信ができないため、プリントエンジン部７５が停止している無駄な時間が長くなり生産性が上がらないという課題があった。つまり従来の技術には、レンダリング処理とエンジン動作とを効率よくハンドリングし、プリンタの生産性を向上させるという課題があった。
また、フォトブック等のように、全てのページが正しくに印刷されないと価値がないものは、エラーページが１ページでもあると正常に印刷された他のページを全て破棄することになり、紙やインク等の商材の無駄となっていた。ここで、上述したようにホストコンピュータで予め事前検査を行うプリフライト等の手段がある。しかし、ワークフローソフト等の上流アプリケーションの機能に依存したり、ユーザによっては未検査のデータをプリンタに投入したり、必ずしも投入前にジョブデータのエラー検査が行われるとは限らない問題があった。また上流工程（ワークフローソフト）とプリンタ内のレンダリング処理モジュールとが一致していないと、正確なチェックは行えない。上記課題を解決するために、フォトブック等の印刷を行う時は全てのページのレンダリングが完了してからエンジンにデータを送信する方法がある。しかしながら膨大なスプール領域が必要となり、また限られたスプール領域を超えるページ数のジョブは印刷できない等の課題があった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、限られたスプール領域を用いて、スループットのより高い印刷を行うことを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、ジョブデータを印刷するプリント装置であって、前記ジョブデータをビットマップデータに展開するレンダリング手段と、前記レンダリング手段でビットマップデータに展開されたジョブデータを印刷するためのプリントエンジン手段と、ジョブデータを前記レンダリング手段に送信し、前記レンダリング手段から前記ビットマップデータに展開されたジョブデータを受信し、前記ビットマップデータに展開されたジョブデータを前記プリントエンジン手段へ送信するコントロール手段と、を有し、前記コントロール手段は、スプール領域の空き状況に応じて、前記ビットマップデータに展開されたジョブデータをスプール領域に保存するか、前記スプール領域への保存を行わずに、前記ジョブデータの検査を行うか、を切り替える。
【発明の効果】
【０００７】
本発明によれば、限られたスプール領域を用いて、スループットのより高い印刷を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】ロールシートを用いたプリント装置の全体構成断面図である。
【図２】プリント装置における制御の構成等を説明するためのブロック図である。
【図３】印刷処理の一例を示すフローチャートである。
【図４】ジョブの状態の一例を示す状態図である。
【図５】ジョブに含まれるページの状態の一例を示す状態図である。
【図６】コントロール部等における印刷準備処理の一例を示すフローチャートである。
【図７】コントロール部等におけるプリント処理の一例を示すフローチャートである。
【図８】印刷準備動作におけるジョブとページ処理との一例を説明するための図である。
【図９】エラーページを検出した時の印刷準備動作におけるジョブとページ処理との一例を説明するための図である。
【図１０】ジョブの実行状態及び実行結果を提示するユーザインターフェースの一例を示した図である。
【図１１】ジョブタイプ別にエラーページ検出時のモードを設定するＵＩの一例を示す図である。
【図１２】従来例を説明するためのブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、ロールシート（搬送方向において印刷単位の長さよりも長い連続した連続シート）を用いたプリント装置の全体構成断面図である。プリント装置は、ロールシートユニット１０１、搬送ユニット１０２、搬送用エンコーダ１０３、回転ローラ１０４、ヘッドユニット１０５、印刷ヘッド１０６、スキャナユニット１０７、制御ユニット１０８、インクタンク１０９、カッタユニット１１０を備える。また、プリント装置は、裏面印字ユニット１１１、乾燥ユニット１１２、シート巻取りユニット１１３、仕分けユニット１１４、操作部ユニット１１５を備える。これらが装置筐体内に配置されている。制御ユニット１０８は、コントローラやユーザインターフェース、各種Ｉ／Ｏインターフェースを備えた制御部を内蔵し、装置全体の各種制御を司る。
ロールシートユニット１０１は、上段シートカセット１０１ａと下段シートカセット１０１ｂとの２基を備える。使用者はロールシート（以下、シート）をマガジンに装着して、プリント装置本体に正面から挿入して装着する。上段シートカセット１０１ａから引き出されたシートは図ａ方向に、下段シートカセット１０１ｂから引き出されたシートは図中ｂ方向に搬送される。何れのカセットユニットからのシートも図中ｃ方向に進行して搬送ユニット１０２に到達する。搬送ユニット１０２は、複数の回転ローラ１０４を通して印刷中にシートを図中ｄ方向（水平方向）に搬送する。
【００１１】
搬送ユニット１０２の上方にはヘッドユニット１０５が対向して配置されている。ヘッドユニット１０５では複数色（実施形態では７色）分の独立した印刷ヘッド１０６がシートの搬送方向に沿って保持されている。搬送ユニット１０２によるシートの搬送に同期して、印刷ヘッド１０６からインクを吐出してシート上に画像を形成する。これら搬送ユニット１０２、ヘッドユニット１０５、印刷ヘッド１０６で印刷ユニットが構成されている。インクタンク１０９は、各色のインクを独立して貯蔵する。インクタンク１０９からはチューブによって各色に対応して設けられたサブタンクまでインクが供給され、サブタンクから各印刷ヘッド１０６までチューブでインクが供給される。印刷ヘッド１０６は、印刷時の搬送方向ｄ方向に沿って各色（実施形態では７色）のラインヘッドが並んでいる。各色のラインヘッドは、継ぎ目無く単一のノズルチップで形成されたものであってもよいし、分割されたノズルチップが一列又は千鳥配列のように規則的に並べられたものであってもよい。本実施形態では、印刷ヘッド１０６は、使用する最大シートの印刷幅をカバーする範囲にノズルが並んでいる所謂フルマルチヘッドである。ノズルからインクを吐出するインクジェット方式としては、発熱素子を用いた方式、ピエゾ素子を用いた方式、静電素子を用いた方式、ＭＥＭＳ素子を用いた方式等を採用することができる。印刷データに基づいて各ヘッドのノズルからインクが吐出され、吐出のタイミングは搬送用エンコーダ１０３の出力信号によって決定される。なお、本実施形態の処理は、インクジェット方式のプリンタに限定されず、サーマルプリンタ（昇華型、熱転写型等）、ドットインパクトプリンタ、ＬＥＤプリンタ、レーザープリンタ等、様々な印刷方式に適用可能である。
シートに画像形成後、搬送ユニット１０２から、スキャナユニット１０７まで搬送される。スキャナユニット１０７では、印刷画像や特殊パターンを読取って印刷画像に問題ないかの確認や、装置の状態確認を行う。本実施形態では、画像の確認方法において、ヘッドの状態の確認するパターンを読み込む方法でもよいし、元画像との比較を行う方法等であってもよい。
【００１２】
スキャナユニット１０７から搬送されたシートはｅ方向に搬送され、カッタユニット１１０に導入される。カッタユニット１１０では、シートを所定の印刷単位の長さ毎に切断する。印刷する画像サイズに応じて所定の印刷単位の長さは異なる。例えばＬ版写真では搬送方向の長さは１３５ｍｍ、Ａ４サイズでは搬送方向の長さは２９７ｍｍとなる。
カッタユニット１１０から搬送されたシートは、ユニット内を図中ｆ方向に搬送され、裏面印字ユニット１１１に搬送される。裏面印字ユニット１１１は、印刷画像毎の情報（例えば、オーダー管理用番号等）を印刷させるためのユニットである。
裏面印字ユニットから搬送される乾燥ユニット１１２は、インクが付与されたシートを短時間で乾燥させるために、ユニット内を図中ｇ方向に通過するシートを温風で加熱するユニットである。印刷単位長さに切断されたシートは１枚ずつ乾燥ユニット１１２内を通過して、図中ｈ方向に搬送されて仕分けユニット１１４に搬送される。仕分けユニット１１４では、ユニット内を図中ｉ方向に通過するシートを、センサで確認しながら印刷画像毎に設定されたトレー番号に積載していく。仕分けユニット１１４では、複数のトレーを保持（実施形態では２２段）しており、印刷単位の長さに応じで積載するトレーを分別する。また、仕分けユニット１１４は、積載中や積載完了等の状態表示を用いて行う（例えば、ＬＥＤで表示）。
シート巻取りユニット１１３は、両面印刷の際にまず表面画像形成から行い、カッタユニット１１０で切断せず、ユニット内を図中ｊ方向に通過シートを、巻取る。シート巻取りユニット１１３は、全ての表面画像形成終了後、再度、巻き取ったシートを、ユニット図中ｋ方向に搬送して裏面画像の印刷を行わせる。
操作部ユニット１１５は、指定のオーダー画像はどこのトレーに積載されているか、或いは印刷中か印刷終了か等オーダー毎の印刷状況の確認や、インク残量や、紙の残量等装置状態の確認、ヘッドクリーニング等の装置メンテナンスの実施を行うために操作者が操作／確認するためのユニットである。
【００１３】
図２は、プリント装置における制御の構成等を説明するためのブロック図である。ここで、Ｈｏｓｔ  ＰＣ（ホストコンピュータ）２０１は、プリント装置２０２にジョブデータを送信する外部のコンピュータである。
レンダリング部２０４は、ジョブデータをビットマップデータに展開する。プリントエンジン部２０５は、レンダリング部２０４でビットマップデータに展開されたジョブデータを印刷する。コントロール部２０３は、ジョブデータをレンダリング部２０４に送信し、レンダリング部２０４からビットマップデータに展開されたジョブデータを受信し、前記ビットマップデータに展開されたジョブデータをプリントエンジン部２０５へ送信する。
送受信部２０６は、コントロール部２０３とレンダリング部２０４とのデータの送受信を制御する。入力バッファ２０７は、外部のホストコンピュータ２０１から送信されたジョブデータを一時的に格納する。アウトプットスプール２０８は、プリントエンジン部２０５へ送信するための印刷用ビットマップデータを格納する。送受信部２０９は、レンダリング部２０４とコントロール部２０３とのデータの送受信を制御する。レンダリング処理部２１０は、ジョブデータをビットマップデータに展開する処理を行う。なお、本実施形態では、コントロール部２０３とレンダリング処理部２１０とが物理的に異なるハードウェアで構成される例を示すため、送受信部２０６、２０９を明示したが、他の構成では同一のハードウェア上に配置される場合も考えられる。この場合、図示の送受信部２０６、２０９は省略可能である。のデータ種別判断部２１１は、入力バッファ２０７から順次取り出されたジョブデータを解析してデータ種を判断する。スプール領域監視部２１２は、アウトプットスプール２０８の空き容量を監視する。スケジュール部２１３は、受信したジョブデータの印刷順序をスケジューリングする。ジョブキュー２１４は、スケジュール部２１３に内包されるジョブの印刷順序を記憶する。ジョブ印刷方法決定部２１５は、データ種別、ジョブキュー２１４の状態、スプール空き領域を加味して印刷方法を選択する。エラー履歴保存部２１６は、何らかのエラーが発生した場合にその履歴（エラー情報の履歴）を保存する。モード選択部２１７は、スケジュール部２１３におけるスケジュールアルゴリズムを選択する。ジョブ状態表示部２１８は、ジョブの印刷結果やエラー状態等を操作部ユニット１１５等に表示する。
【００１４】
なお、コントロール部２０３を構成する２０６、２１１、２１２、２１３、２１５、２１７、２１８等は、専用の集積回路等のハードウェアとして実装されてもよい。また、２０６、２１１、２１２、２１３、２１５、２１７、２１８等は、コントロール部２０３内のＣＰＵがコントロール部２０３内のメモリ等に記憶されているプログラムを実行することによって実現されるソフトウェアとして実装されてもよい。同様に、レンダリング部２０４を構成する送受信部２０９は、専用の集積回路等のハードウェアとして実装されてもよい。また、送受信部２０９は、レンダリング部２０４内のＣＰＵがレンダリング部２０４内のメモリ等に記憶されているプログラムを実行することによって実現されるソフトウェアとして実装されてもよい。
【００１５】
図２の構成のプリント装置２０２における印刷処理の流れを図３に示すフローチャートを用いて説明する。図３は、印刷処理の一例を示すフローチャートである。
ステップＳ３０１において、コントロール部２０３は、ジョブデータの入力処理を行う。この処理は、図２における外部のホストコンピュータ２０１から送信されたジョブデータを入力バッファ２０７へ格納する処理である。次にステップＳ３０２において、コントロール部２０３のデータ種別判断部２１１は、入力されたジョブデータの種別を読み取り、ジョブの属性として保持する。次に、ステップＳ３０３において、コントロール部２０３は、ジョブデータに付随する印刷属性や印刷データ格納領域の情報等を保持するジョブのインスタンスをジョブキューに追加する。ステップＳ３０４において、コントロール部２０３は、ジョブキューに格納された順番に従って、ジョブデータをレンダリング処理部２１０に送信し、プリント用のビットマップに展開処理する印刷準備処理を行わせる。ステップＳ３０５において、コントロール部２０３は、ステップＳ３０４でビットマップに展開されたデータをプリントエンジン部２０５へ送信し、プリント処理を行わせる。
【００１６】
次に図４に示す状態図を用いて、前記ジョブの状態の一例を示す。図４は、ジョブの状態の一例を示す状態図である。状態６０１は、未処理ジョブデータの受信完了直後の状態で、如何なる処理も施されていない状態である。状態６０２は、前述のレンダリング処理部２１０によって処理が行われている状態で、印刷の準備中を表している状態である。状態６０３は、ジョブの全てのページに対して印刷準備が完了した状態で、プリントエンジン部２０５にビットマップデータが送信され、印刷を開始できる状態である。状態６０４は、プリントエンジン部２０５へのデータの送信が開始され、印刷が行われている状態である。印刷が完了すると終了状態になる。状態６０５は、準備中、印刷中の何れかの状態にあるときに、印刷処理の継続が不可能となるエラーが発生した場合に遷移する状態である。ジョブの削除や中断処理が行われると終了状態になる。ここでエラーとは、例えばレンダリング処理部２１０にて印刷データの解析に失敗した場合や、プリントエンジン部２０５のハードウェア故障等がある。
【００１７】
次にジョブに含まれるページの状態の一例を図５に示す。図５は、ジョブに含まれるページの状態の一例を示す状態図である。なお、ジョブには１つ以上のページが含まれており、それぞれのページが独立した状態を持つものとする。状態８０１は、ページに対する処理が何もなされていない状態である。状態８０２は、レンダリング処理部２１０にてビットマップ展開処理（以降ＲＩＰ、又はＲＩＰ処理と呼ぶ）が行われ、エラーが起こらないことを確認され、かつ、アウトプットスプール２０８にはビットマップデータが保されていない状態である。状態８０３は、レンダリング処理部２１０にてＲＩＰ処理が完了し、かつ、アウトプットスプール２０８にビットマップデータが保存された状態である。状態８０３は、状態８０２を経由して遷移する場合と、状態８０１から直接、遷移する場合とがある。状態８０４は、ＲＩＰ済みデータがプリントエンジン部２０５に送信された状態である。状態８０５は、エラー状態である。状態８０５へは、状態８０２、状態８０３、状態８０４から何らかのエラーが発生した場合に遷移する。ここでエラーとは、例えばレンダリング処理部２１０にて印刷データの解析に失敗した場合や、プリントエンジン部２０５のハードウェア故障等である。
【００１８】
次に図６に示す処理フローを用いてコントロール部２０３等における印刷準備処理の流れを説明する。図６は、コントロール部２０３等における印刷準備処理の一例を示すフローチャートである。
ステップＳ４０１において、スケジュール部２１３は、ジョブキュー２１４に格納されているジョブのインスタンスから、印刷準備処理が未だ施されていない未処理の状態６０１のジョブを検索し、その中のもっとも古いジョブを選択する。
ステップＳ４０２において、スプール領域監視部２１２は、アウトプットスプール２０８に空き領域があるかの確認を行い、空きが無い場合、処理をステップＳ４０７へと進める。スプール領域監視部２１２は、空き領域がある場合、処理をステップＳ４０３へと進める。
ステップＳ４０３において、スケジュール部２１３は、ジョブキュー２１４に格納されている印刷可能状態ジョブの中で、検査済みページ、即ちＲＩＰ可能であることは確認されたが、アウトプットスプール２０８にビットマップが格納されていないページを検索する。なお、ページの検索は印刷順に行われ、印刷可能状態のジョブが複数ある場合、先に印刷されるジョブから検索対象となる。
ステップＳ４０４において、スケジュール部２１３は、検査済みページを発見したかどうかを確認し、発見した場合、ステップＳ４０５へと処理を進め、発見されなかった場合、ステップＳ４０７へと処理を進める。
【００１９】
ステップＳ４０５において、レンダリング処理部２１０は、発見された検査済みページのＲＩＰ処理を行う。送受信部２０６は、ＲＩＰ処理後のビットマップデータを、ステップＳ４０２で発見されたアウトプットスプール２０８に格納する。
ステップＳ４０６において、レンダリング処理部２１０は、ページの状態をＲＩＰ済みにする。次に、コントロール部２０３等は、ステップＳ４０２に戻り、アウトプットスプールに空きが無い状態か検査済みページがなくなるまで同様の処理を繰り返す。
ステップＳ４０７において、レンダリング処理部２１０は、ステップＳ４０１で選択されたジョブＸが保有するページの中で、ＲＩＰ処理されていないページのＲＩＰ処理を行う。
ステップＳ４０８において、スケジュール部２１３は、ステップＳ４０７の過程で、データの解析エラー等が発生したかを確認し、エラーが発生していなければステップＳ４０９に処理を進める。
ステップＳ４０９において、スプール領域監視部２１２は、アウトプットスプールに空きがあるかどうかを確認し、空きがある場合はステップＳ４１０に処理を進める。スプール領域監視部２１２は、空きが無い場合はステップＳ４１９に処理を進める。
ステップＳ４１０において、送受信部２０６は、ステップＳ４０７で行ったＲＩＰ処理後のビットマップデータをアウトプットスプール２０８に保存する。
ステップＳ４１１において、スケジュール部２１３は、該当するページをＲＩＰ済み状態にする。
【００２０】
ステップＳ４１２において、スケジュール部２１３は、前記選択したジョブＸの全てのページがＲＩＰ処理済みか否かを確認し、全てのページがＲＩＰ済みであれば、ステップＳ４１３に処理を進める。スケジュール部２１３は、未ＲＩＰ処理のページが１ページ以上ある場合、ステップＳ４０２に処理を戻す。コントロール部２０３等は、以下、同様の処理を繰り返す。
ステップＳ４１３において、スケジュール部２１３は、前記選択したジョブの状態が印刷中か否かを確認し、印刷中でなければステップＳ４１４に処理を進める。
ステップＳ４１４において、スケジュール部２１３は、前記選択したジョブの状態を印刷開始可能状態に変更し、印刷準備処理を終了する。ステップＳ４０８にてページのエラーを検出した場合、スケジュール部２１３は、ステップＳ４１５へ処理を進める。
ステップＳ４１５において、スケジュール部２１３は、エラー履歴保存部２１６に発生したエラー、発生したＪｏｂ  ＩＤ等を記録する。
また、ステップＳ４１６において、ジョブ状態表示部２１８は、エラー履歴保存部２１６に保存された値をＵＩ（画面）に表示する。
ステップＳ４１７において、スケジュール部２１３は、後述するジョブ種毎の印刷モードがエラー発生時にキャンセルするモードか否かをチェックし、キャンセルするモードであればステップＳ４１８に処理を進める。
ステップＳ４１８において、スケジュール部２１３等は、エラーが発生したジョブの削除に関する処理を行う。より具体的に説明すると、スケジュール部２１３等は、アウトプットスプール２０８の前記ジョブのスプール領域の削除やジョブキュー２１４からのジョブインスタンスの削除等、前記ジョブに関するリソースを開放する。ステップＳ４１７でエラー発生じにキャンセルするモードではない判断した場合、スケジュール部２１３は、ステップＳ４０２の処理に戻す。コントロール部２０３等は、以下、同様の処理を繰り返す。この場合、エラーが発生したページのみ削除される。一方、ステップＳ４０９にて、アウトプットスプールに空きが無いと判断した場合、スプール領域監視部２１２は、ステップＳ４１９に処理を進める。
【００２１】
ステップＳ４１９において、スケジュール部２１３は、該当ページを検査済みにする。このステップの処理ではビットマップデータの保存は行われない。
続いてステップＳ４２０において、スケジュール部２１３は、前記選択したジョブＸの全てのページがＲＩＰ済み若しくは検査済みになったかを確認する。なお、ジョブＸの中にＲＩＰ済みのページと検査済みのページとが混在していてもよい。未処理（ＲＩＰ済みでも検査済みでもない）ページがある場合、スケジュール部２１３は、ステップＳ４０２に処理を戻す。コントロール部２０３等は、以下、同様の処理を繰り返す。全てのページがＲＩＰ済み若しくは検査済みの場合、スケジュール部２１３は、ステップＳ４２１へ処理を進める。
ステップＳ４２１において、スケジュール部２１３は、前記選択中のジョブの状態が印刷中か否かを確認し、印刷中でなければステップＳ４２２に処理を進め、印刷中であれば前述のステップＳ４１２へと処理を戻す。
ステップＳ４２２において、スケジュール部２１３は、前記選択したジョブの状態を印刷可能状態に変更する。次にステップＳ４１２に戻り、スケジュール部２１３は、以降、同様の処理を繰り返す。但し、この場合は既にジョブの状態が印刷可能状態となっているため、並行して動作する、後述の印刷処理フローによって逐次、プリントエンジン部２０５にデータが送信される。プリントエンジン部２０５に送信されたデータ、はアウトプットスプール２０８から削除される。したがって、アウトプットスプール２０８に空き領域ができるため、ステップＳ４０２以降の処理でＲＩＰ処理が可能となり、検査済み、かつ、未ＲＩＰ処理のページが順次、ＲＩＰ処理されて行く。全てのページがＲＩＰ済みになると前述のステップＳ４１２、ステップＳ４１３、ステップＳ４１４へと処理が進み、印刷準備シーケンスが終了する。
【００２２】
次に図７に示す処理フローを用いてコントロール部２０３等におけるプリント処理の流れを説明する。図７は、コントロール部２０３等におけるプリント処理の一例を示すフローチャートである。
ステップＳ５０１において、スケジュール部２１３は、プリントエンジン部２０５の立上げ処理が完了し印刷可能状態になっているかの確認を行う。印刷可能状態になるとスケジュール部２１３は、次のステップＳ５０２へと処理を進める。
ステップＳ５０２において、スケジュール部２１３は、ジョブキュー２１４にキューイングされているジョブの中で先頭のものを選択する。
次にステップＳ５０３において、スケジュール部２１３は、選択したジョブの状態が印刷開始可能状態か否かを確認する。印刷開始可能になった場合、スケジュール部２１３は、次のステップＳ５０４へと処理を進める。
ステップＳ５０４において、スプール領域監視部２１２は、アウトプットスプール２０８に予め設定された規定値以上のＲＩＰ済みデータが蓄積されているか否かを調べる。規定値に満たない数のデータしかない場合、スプール領域監視部２１２は、ＲＩＰ済みデータが規定値以上蓄積されるまで処理を待つ。規定値を超える数のＲＩＰ済みデータが蓄積された場合、スプール領域監視部２１２は、ステップＳ５０５に処理を進める。
【００２３】
ステップＳ５０５において、スケジュール部２１３は、ジョブの状態を印刷中に変更する。
そして、ステップＳ５０６において、コントロール部２０３は、プリントエンジン部２０５にＲＩＰ済みデータの送信を開始する。
ステップＳ５０７において、スケジュール部２１３は、前記選択したジョブの全てのページがプリントエンジン部２０５に送信されたか否かを確認し、まだ未送信データがある場合はステップＳ５０９に進み、エラーが発生したか否かの確認を行う。エラーが発生していない場合は、スケジュール部２１３は、ステップＳ５０６に処理を戻し、処理を継続させる。エラーが発生した場合は、スケジュール部２１３は、ステップＳ５１０に処理を進める。そして、スケジュール部２１３は、前記選択したジョブをジョブキュー２１４から削除し、該当するジョブが使用していたアウトプットスプール２０８のスプール領域等の全てのリソースを開放してエラー終了する。ステップＳ５０７において全てのデータの送信が完了した場合、スケジュール部２１３は、処理をステップＳ５０８へ進める。
ステップＳ５０８において、スケジュール部２１３は、前記選択したジョブをジョブキュー２１４から削除して、該当するジョブが使用していたアウトプットスプール２０８のスプール領域等の全てのリソースを開放して、一連のプリント処理を終了する。
【００２４】
次に図８を用いて、印刷準備動作におけるジョブとページ処理との一例を説明する。図８は、印刷準備動作におけるジョブとページ処理との一例を説明するための図である。図中の「Ｊｏｂ  ２−４」等と記載された矩形は、ジョブ番号２のジョブに含まれる４ページ目の状態を表しており、図中の例９０３で示す通り、「ＲＩＰ済みページ」、「検査済みページ」「未処理ページ」を表している。９０１は、複数のジョブが投入されたジョブキュー２１４及びそれぞれのジョブの中に含まれるページの状態を模式的に表したものであり、９０１の右側のページから先にプリントエンジン部２０５に送信、印刷されていく。９０２は、アウトプットスプーラ（アウトプットスプール２０８）で、ページとそのＲＩＰ済みビットマップデータの格納領域との関係を破線矢印で示している。この例ではＪｏｂ１の全てのページ（１〜５）はＲＩＰ済みとなっており、図６で示した処理によって、ジョブの状態が「印刷開始可能状態」となっている。また、Ｊｏｂ２はページ１〜４までがＲＩＰ済みとなっている。しかしながら、アウトプットスプーラ９０２に空き領域が無いため、５ページ目と６ページ目とはＲＩＰ済みとはならず、検査済み状態になっている。この例のＪｏｂ２は「印刷開始可能状態」となる。Ｊｏｂ３の全てのページは検査済みになっているため、同様に「印刷開始可能状態」となる。一方、Ｊｏｂ４は１ページ目、２ページ目のみ検査済みとなっており、残りのページ（３〜６）は未処理ページとなっている。このような場合、Ｊｏｂ４の状態は「準備中状態」となる。図８の例では、ページのエラーは検出されておらず、プリントエンジン部２０５が印刷可能状態になれば、即座にＲＩＰ済みデータの送信が開始される。また、Ｊｏｂ１は全てのページのＲＩＰ処理が完了してから印刷開始可能となるため、この様なジョブの印刷方式をバッチ処理印刷と呼ぶ。一方、Ｊｏｂ２及びＪｏｂ３は全てのページのＲＩＰ処理が完了している状態ではないが、少なくとも全てのページで検査が完了している状態であり、ＲＩＰ済みのデータから逐次印刷を行う事が可能な状態である。この様なジョブの印刷方式をオンザフライ印刷と呼ぶ。本実施形態の処理によらなければ、Ｊｏｂ２及びＪｏｂ３は印刷開始可能とはならず、スループットの面で課題となる。
【００２５】
更に図９を用いて、エラーページを検出した時の印刷準備動作におけるジョブとページ処理との一例を説明する。図９は、エラーページを検出した時の印刷準備動作におけるジョブとページ処理との一例を説明するための図である。この例では、Ｊｏｂ２の５ページ目の解析に失敗（ＲＩＰエラー発生）した状態を示しており、Ｊｏｂ２がキャンセルされてジョブキュー２１４から削除され、それ以前にＲＩＰ済みになっていたページデータ（１〜４）もアウトプットスプーラから削除されている。この例では６ページ目以降の検査を行っていないが、Ｊｏｂ２の６ページ目以降も検査を継続し、残りのページにもエラーが含まれるかを調査して履歴に残してからジョブをキャンセルする方式としてもよい。Ｊｏｂ２の削除後に後続するＪｏｂ３以降のジョブのＲＩＰ処理は継続される。
【００２６】
図１０は、ジョブの実行状態及び実行結果を提示するユーザインターフェースの一例を示した図である。図１０のユーザインタフェース（画面）は、ジョブ状態表示部２１８が表示する。この例ではジョブＩＤ、ジョブタイプ、印刷結果、詳細情報等の項目がある。なお、ここに例示されている項目は一例に過ぎず、ジョブの情報として保持されているその他の情報（ジョブ受信時刻や用紙の情報）を表示してもよいが、本実施形態の本質ではないのでここでは省略する。ジョブ状態表示部２１８は、スケジュール部２１３で管理されているジョブキュー２１４の状態及び、エラー履歴保存部２１６に保存されているエラー履歴よりジョブの情報を表示している。ジョブタイプはデータ種別判断部２１１によって判定された情報で、フォトブックを示す「ブック」やデジタルカメラの写真のプリントの様なジョブを示す「単葉」等、投入されたジョブの種類を示している。印刷結果の欄は、現在のジョブの状態若しくは印刷結果を示すもので、印刷が正常に完了した場合、キャンセルされた場合、印刷中等を表示している。詳細の欄には、エラーが発生したページの番号が列挙されている。この例では、ジョブＩＤ＝００００２でジョブタイプが「単葉」のジョブの３ページ、８ページでエラーが発生したことを示している。また、ジョブＩＤ＝００００７でジョブタイプが「ブック」のジョブの１２ページ、１８ページ、１３５ページでエラーが発生したことを示している。ジョブ状態表示部２１８は、このようなエラーページの情報を主にエラー履歴保存部２１６より収集する。
【００２７】
なお、ジョブＩＤ＝００００７のジョブはエラーページを検出してジョブがキャンセルされているが、ジョブＩＤ＝００００２のジョブはエラーページを検出しているものの、印刷完了となっている。これはエラーページを検出した場合、ジョブタイプ毎に異なる振る舞いが設定されているためである。例えば、デジカメ写真の単葉印刷の場合は、ジョブの中に印刷できないページがあっても、写真のプリントとしては意味があるが、フォトブックのような印刷物の場合、途中のページがエラーで印刷できないと、全体として価値がなくなってしまう。そのため、ジョブタイプによってエラー検出時の振る舞いを変更できた方が便利である。図１１は、ジョブタイプ別にエラーページ検出時のモード（振る舞い）を設定するＵＩの一例を示す図である。図１１の画面を介して、ユーザは、エラーページのみスキップして印刷を継続するモードか、全てのページを印刷せずにジョブをキャンセルするモードかをジョブタイプ毎に選択できるようになっている。つまり、モード選択部２１７は、図１１に示される画面を介したユーザ操作に基づいて、エラーページのみスキップして印刷を継続するモードか、全てのページを印刷せずにジョブをキャンセルするモードかをジョブタイプ毎に選択する。この例では単葉印刷とブック印刷という２種類のタイプを例示しているが、この限りではない。
【００２８】
本実施形態によれば、コントロール部２０３内でエラーの原因となるデータが含まれる印刷ジョブを、印刷開始前に検査することにより、無駄な印刷を行わずに時間と、商材の無駄とを省くことができる。また、本実施形態によれば、先行してジョブの検査を行う事により、よりスループットの高い逐次印刷を行うことができる。また、本実施形態によれば、多くのジョブが投入されている場合でも、印刷順番が回ってくる前にジョブのエラーを検出し、ユーザに通知することができる。
なお、本実施形態において「プリント装置」とは、印刷機能に特化した専用機に限らず、印刷機能とその他の機能とを複合した複合機や、記録紙等の上に画像やパターンを形成する製造装置等も含むものとする。
【００２９】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００３０】
以上、上述した各実施形態によれば、限られたスプール領域を用いて、スループットのより高い印刷を行うことができる。
【００３１】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３２】
２０３  コントロール部、２０４  レンダリング部、２０５  プリントエンジン部
【図１】
2011224830.tif 000003
【図２】
2011224830.tif 000004
【図３】
2011224830.tif 000005
【図４】
2011224830.tif 000006
【図５】
2011224830.tif 000007
【図６】
2011224830.tif 000008
【図７】
2011224830.tif 000009
【図８】
2011224830.tif 000010
【図９】
2011224830.tif 000011
【図１０】
2011224830.tif 000012
【図１１】
2011224830.tif 000013
【図１２】
2011224830.tif 000014