(57)【要約】【課題】  現状のバンディングシステムでは、バンドデータの送り順序は常に一定となっている。そのためデータによっては、中間データ作成またはビットマップ生成処理に長大な時間を要するため、他のバンドデータを平行して同時に処理することが出来ず、処理待ちが発生する場合が存在した。【解決手段】  スプーラ転送手段は送信順序決定手段によって決定された送信順に従って、記憶装置に記憶された印刷コマンドをバンド単位に順次プリントスプーラへ転送することにより、ホストコンピュータから印刷装置へ転送するバンドデータの送信順序を任意に変更することが可能となる。【選択図】  図２
2006024100.tif 000002
【特許請求の範囲】
【請求項１】
互いに接続されたパーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連の印刷ジョブを受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷装置とからなる印刷システムにおいて、
前記ホストコンピュータは、
アプリケーションから送られる描画オブジェクトを、必要に応じて物理用紙レイアウトへ変換するレイアウト変換手段と、
前記レイアウト変換手段によってレイアウト変換された描画オブジェクトをバンド状に分割された領域に対応して分割するバンド分割手段と、
前記バンド分割手段によって分割された描画オブジェクトから所定のルールに基づき前記印刷装置に対応した印刷コマンドを生成する印刷コマンド生成手段と、
前記印刷コマンド生成手段によって生成された印刷コマンドを前記バンド領域に対応させて記憶装置に記憶するバンドデータ記憶手段と、
前記記憶装置に記憶された前記印刷コマンドをバンド単位に前記印刷装置への送信する際の送信順序を決定する送信順序決定手段と、
前記記憶装置に記憶された前記印刷コマンドをバンド単位にプリントスプーラへ転送するスプーラ転送手段とを備え、
前記スプーラ転送手段は前記送信順序決定手段によって決定された送信順に従って、前記記憶装置に記憶された前記印刷コマンドをバンド単位に順次プリントスプーラへ転送する
ことを特徴とした印刷システム。
【請求項２】
前記スプーラ転送手段によってバンド単位に転送される印刷データの中に、そのバンド領域を示すバンド位置情報が含まれ、
前記印刷装置は前記バンド位置情報を参照し、前記印刷データを指定された位置に印刷することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記ホストコンピュータはさらに、前記バンド単位に前記印刷コマンド生成手段によって生成された印刷コマンドに対する描画情報を積算する描画情報積算手段を備え、
前記転送順序決定手段は前記描画情報積算手段によって積算された描画情報から印刷データの送信順序を決定することを特徴とする請求項２に記載の印刷システム。
【請求項４】
前記描画情報は印刷コマンドの種別、個数、データサイズのうち少なくともいずれか１つを含むことを特徴とする請求項３に記載の印刷システム。
【請求項５】
前記転送順序決定手段は各バンドの印刷データに対して、前記印刷装置における印刷処理を予測し、その予測結果にもとづいて印刷データ送信順序を決定することを特徴とする請求項３または４に記載の印刷システム。
【請求項６】
前記描画情報は各印刷コマンドに対する前記印刷装置における処理時間の積算値であることを特徴とする請求項３に記載の印刷システム。
【請求項７】
前記印刷装置は受信した印刷データを一旦中間データに変換する中間データ変換手段と、前記中間データをビットマップイメージに展開するイメージ展開手段とを備え、
前記転送順序決定手段は前記描画情報から前記中間データ変換手段の処理時間および前記イメージ展開手段の処理時間をそれぞれバンド単位に予測し、その予測結果にもとづいて印刷データ送信順序を決定することを特徴とする請求項５に記載の印刷システム。
【請求項８】
前記送信順序決定手段は前記中間データ変換手段と前記イメージ展開手段が処理待ち状態にならないように、印刷データ送信順序を決定することを特徴とする請求項７に記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ及びプリンタドライバ、及びそれらを含んだプリントシステムに関する。
【背景技術】
【０００２】
従来のページプリンタにおける印刷システムでは、ユーザがアプリケーションを用いて作成した印刷データは、描画オブジェクト単位にオペレーションシステムの描画関数を通じてホストコンピュータ上で動作するプリンタドライバへ渡され、プリンタドライバは渡された描画オブジェクトを接続された印刷装置に応じた印刷コマンドへ逐次変換し、印刷コマンドが出来上がるとすぐに印刷データがプリントスプーラへ転送される。その後所定の単位で印刷データがプリンタへ転送される。プリンタでは送られてきた印刷データから印刷コマンドを読み出し、その印刷コマンドを逐次中間データへ変換する。このとき、印刷データの論理用紙レイアウトとプリンタにセットされた物理用紙レイアウトが異なる場合には、必要に応じて回転・拡大縮小を施す。こうして１ページ分の中間データが出来上がると、それを専用のハードウェア装置などを用いてビットマップデータへ変換し、ビットマップデータをビデオデータとしてプリンタエンジンに転送することで最終的な印刷結果を得ていた。
【０００３】
このような印刷システムでは、プリンタ内部で１ページ分の中間データを記憶するメモリを必要とし、プリンタは大量のメモリを搭載していた。
【０００４】
しかし近年になってアプリケーションで生成される印刷データが煩雑化し、同時にプリンタへ転送されるデータ量も増大してきた。そのためプリンタ内部でのメモリ不足が頻発し、印刷速度および印刷品質が低下していた。
【０００５】
そこで、近年になってホストコンピュータの処理能力が向上すると、プリンタでの処理を低減し、ホストコンピュータ上へシフトすることにより、より効率的に処理を行うことができる印刷システムが開発されている。
【０００６】
より具体的な例を示すと、ホストコンピュータ上のプリンタドライバで、展開処理手段によりいずれかのデータメモリに記憶された中間データに基づくビットマップ処理開始後、データ処理手段が他のデータメモリに対して分割手段により分割された後続ページの中間データの書き込みを開始させるので、先行するページのビットマップ展開終了前に、次ページのビットマップ展開に対する準備を並行することにより処理が高速化され、また処理単位がバンド単位のため必要なメモリサイズが低減することが可能となる。
【特許文献１】特開平０８−１１３５７号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし現状のバンディングシステムでは、バンドデータの送り順序は常に一定となっている。そのためデータによっては、中間データ作成またはビットマップ生成処理に長大な時間を要するため、他のバンドデータを平行して同時に処理することが出来ず、処理待ちが発生する場合が存在した。特にイメージデータと文字データが混在するデータなど、処理負荷が大きく異なる描画オブジェクトの分布が偏ったデータにおいては、局所的にバンド処理時間が大きく増減し、効率よく中間データ作成およびビットマップ生成を並列処理することが困難であった。
【０００８】
本発明は、上記問題点を鑑みてなされたもので、第１の目的は、バンディングシステムを実現する印刷システムにおいて、印刷するデータに応じて印刷速度の高速化を図るとことである。
【課題を解決するための手段】
【０００９】
上記目的を達成するための請求項１記載の発明は、互いに接続されたパーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連の印刷ジョブを受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷装置とからなる印刷システムにおいて、前記ホストコンピュータは、アプリケーションから送られる描画オブジェクトを、必要に応じて物理用紙レイアウトへ変換するレイアウト変換手段と、前記レイアウト変換手段によってレイアウト変換された描画オブジェクトをバンド状に分割された領域に対応して分割するバンド分割手段と、前記バンド分割手段によって分割された描画オブジェクトから所定のルールに基づき前記印刷装置に対応した印刷コマンドを生成する印刷コマンド生成手段と、前記印刷コマンド生成手段によって生成された印刷コマンドを前記バンド領域に対応させて記憶装置に記憶するバンドデータ記憶手段と、前記記憶装置に記憶された前記印刷コマンドをバンド単位に前記印刷装置への送信する際の送信順序を決定する送信順序決定手段と、前記記憶装置に記憶された前記印刷コマンドをバンド単位にプリントスプーラへ転送するスプーラ転送手段とを備え、前記スプーラ転送手段は前記送信順序決定手段によって決定された送信順に従って、前記記憶装置に記憶された前記印刷コマンドをバンド単位に順次プリントスプーラへ転送することを特徴とした印刷システム。
【発明の効果】
【００１０】
スプーラ転送手段は送信順序決定手段によって決定された送信順に従って、記憶装置に記憶された印刷コマンドをバンド単位に順次プリントスプーラへ転送することより、ホストコンピュータから印刷装置へ転送するバンドデータの送信順序を任意に変更することが可能となる。
【発明を実施するための最良の形態】
【００１１】
実施例の構成を説明する前に、本実施例を適用するに好適なレーザビームプリンタおよびインクジェットプリンタの構成について図１を参照しながら説明する。なお、本実施例を適用する印刷装置は、レーザビームプリンタおよびインクジェットプリンタに限られるものではなく、他のプリント方式の印刷装置でも良いことは言うまでもない。
【００１２】
図１は本発明を適用可能な第１の印刷装置の構成を示す断面図であり、例えばレーザビームプリンタ（ＬＢＰ）の場合を示す。
【００１３】
図において１０１はプリンタ本体である。１２８は操作パネルで、操作のためのスイッチおよびＬＥＤ表示器、ＬＣＤ表示器が配されている。１０３は制御ボード収納部で、プリンタの印字プロセス制御を行うエンジンコントローラ、およびプリンタ全体の制御とホストコンピュータからのデータを解析しイメージデータに変換するビデオコントローラ、および各種オプションユニットを統括して制御するオプションコントローラが収納されている。
【００１４】
１３０は用紙カセットで、用紙を保持し不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。また用紙カセット１３０は収納されている用紙の残量を検知するセンサ１３２を備え、用紙の残量を検知する機能を有する。１３１はカセット給紙クラッチで、用紙カセット１３０上に収納された用紙の最上位の用紙一枚のみを分離し、不図示の駆動手段によって分離した用紙を給紙ローラ１０４まで搬送させるカムであり、給紙の度に間欠的に回転し、一回転に対応して一枚の用紙を給紙する。１２９はレジストシャッタで用紙を押圧して給紙を停止させる。給紙ローラ１０４はカセット給紙クラッチ１３１より給紙される用紙の先端部をレジストシャッタ１２９まで搬送する。１０２は手差し給紙トレイであり、１０５は手差し給紙ローラで、この手差し給紙ローラ１０５は用紙の先端をレジストシャッタ１２９まで搬送する。
【００１５】
以上のような構成によって用紙カセット１３０および手差し給紙用トレイ１０２から選択的に用紙を給紙する事が可能となる。また、手差し給紙ローラ１０５、カセット給紙クラッチ１３１の下流には、記録紙を同期搬送する給紙ローラ１０４、レジストローラ対１０６がそれぞれ設けられ、レジストローラ対１０６の下流には、レーザスキャナ部１０７から発したレーザ光によって、記録紙上にトナー像を形成する画像記録部１０８が設けられている。
【００１６】
さらに、画像記録部１０８の下流には、記録紙上に形成されたトナー像を熱定着する定着器１０９が設けられ、定着器１０９の下流には、排紙部の紙搬送状態を検知する排紙センサ１１０、記録紙を搬送する搬送ローラ１１１などが設けられている。排紙トレイ１１５は用紙残量検知センサ１１５ｓを備えており、一定時間毎に排紙トレイ１１５に積載された用紙残量を検知する。
【００１７】
次にレーザスキャナ部１０７は、プリンタコントローラから送出される画像信号（画像信号ＶＤＯ）に基づいて変調されたレーザ光を発光するレーザユニット１１６、このレーザユニット１１６からのレーザ光を感光ドラム１２２上に走査するポリゴンミラー１１７、走査方向のレーザ光位置を検出するビーム検出器１１８、結像レンズ群１１９、折返ミラー１２０およびレーザ光の光量を検知する光量検知センサ１２１等により構成されている。
【００１８】
前述の画像記録部１０８は公知の電子写真プロセスに必要な、レーザスキャナ部１０７の走査により形成された静電潜像を保持する感光ドラム１２２、感光ドラム１２２を光除電する前露光ランプ１２３、感光ドラムを一様帯電させる一時帯電器１２４、感光ドラム１２２に形成された静電潜像をトナー現像する現像器１２５、現像器１２５により現像されたトナー像を給送される記録紙に転写する転写帯電器１２６、感光ドラム１２２上の残存トナーを清掃するクリーナ１２７等から構成されている。
【００１９】
制御ボード収納部１０３内には図示しないビデオコントローラ、エンジンコントローラおよびオプションコントローラ部があり、エンジンコントローラはレーザスキャナ部１０７、画像記録部１０８，定着器１０９による電子写真プロセスの制御およびプリンタ本体１０１内の記録紙の搬送制御を行う。また、ビデオコントローラはパーソナルコンピュータ等の外部装置（不図示）と汎用インタフェース（セントロニクスインタフェースやＲＳ２３２Ｃ等）で接続され、汎用インタフェースを介して送られてくる画像情報をビットデータに展開し、そのビットデータを信号ＶＤＯとしてエンジンコントローラへ送る。
【００２０】
（第１実施例）
図２は、本発明の第１の実施の形態に係る印刷システムの概略構成を示すブロック図である。なお、ここではレーザビームプリンタ（図１）を例にして説明する。
【００２１】
同図に示すように、本実施例に係る印刷システムは、ホストコンピュータ２０１と、ＬＡＮなどの通信回線によってホストコンピュータ２０１に接続され、送られてきた印刷ジョブを印刷用紙に印刷するプリンタ２２０から構成される。
【００２２】
ホストコンピュータ２０１は、不図示の入力装置によるユーザからの入力情報を取得し、印刷する文書を生成するためのアプリケーション２０２と、アプリケーション２０２によって作成された文書から、プリンタ２２０に送信する印刷ジョブを生成するドライバ２１０とから構成される。
【００２３】
ドライバ２１０はアプリケーション２０２を用いて作成された文書に基づいて、オペレーションシステムのＡＰＩを通じて受け取った描画オブジェクトを物理用紙レイアウトに変換するレイアウト変換手段２１１と、レイアウト変換された描画オブジェクトをバンド状に分割された領域に対応して分割するバンド分割手段２１２と、バンド分割手段２１２によって分割された描画オブジェクトから所定のルールに基づきプリンタ２２０に対応した印刷コマンドを生成する印刷コマンド生成手段２１３と、印刷コマンド生成手段２１３によって生成された印刷コマンドを対応するバンドメモリ２１４へ転送するバンドメモリ転送手段２１５と、バンドメモリに蓄積されたバンドデータに対し、プリンタ２２０への送信順序を決定する送信スケジュール決定手段２１６と、バンドメモリ２１４に格納された印刷データを所定の順序で順次プリントスプーラ２０３へ転送するスプーラ転送手段２１７とから構成される。
【００２４】
プリンタ２２０は、プリンタ２２０に転送された印刷ジョブを受信する印刷ジョブ受信手段２２１と、受信した印刷ジョブから印刷コマンドを読み出し所定のルールに基づき印刷コマンドを解析し、中間データへ変換する中間データ変換手段２２２と、各種ワークメモリとして使用されるメモリ２２３と、メモリ２２３上に構成され中間データを蓄積する中間データバッファ２２４と、中間データバッファ２２４に蓄積された中間データをビットマップイメージへ展開するイメージ展開手段２２５と、メモリ２２３上に構成されイメージ展開手段２２５により展開されたビットマップイメージを蓄積するイメージデータバッファ２２６と、展開されたイメージデータを印刷用紙に物理的に印刷するプリンタエンジン２２７とから構成される。なお、２３０は印刷された印刷結果を表す。
【００２５】
以上のような構成の印刷システムにおける印刷処理の流れを説明する。
【００２６】
図３はプリンタドライバ２１０の処理動作を表すフローチャートである。ユーザが印刷指示を発行したならば、プリンタドライバ２１０はアプリケーション２０２より描画オブジェクト単位に印刷データを受け取る（Ｓ３０１）。このとき描画オブジェクトの論理用紙レイアウトとプリンタにセットされている物理用紙レイアウトが異なる場合はレイアウト変換が必要と判断し（Ｓ３０２）、レイアウト変換手段２１１により必要に応じてオブジェクトの回転・拡大縮小を行う（Ｓ３０３）。
【００２７】
次に描画オブジェクトが物理用紙レイアウト上で複数のバンドにまたがっている場合にはバンド分割が必要と判断され（Ｓ３０４）、バンド分割手段２１２により描画オブジェクトは各バンド単位のオブジェクトに分割される（Ｓ３０５）。次に分割された描画オブジェクトから印刷コマンド生成手段２１３により印刷コマンドを生成する（Ｓ３０６）。
【００２８】
Ｓ３０６で生成された印刷コマンドは、バンドメモリ転送手段２１５によってバンドメモリ２１４内の対応するバンドメモリへ格納される（Ｓ３０７）。
【００２９】
Ｓ３０５で分割されたすべての描画オブジェクトに対し以上の処理が終了していなければ（Ｓ３０８）、Ｓ３０６に立ち返り、分割されたすべての描画オブジェクトに対する処理が終了するまで繰り返す。ここで、印刷データ中のすべての描画オブジェクトを受け取り終了したならば（Ｓ３０９）、次に送信スケジュール決定手段２１６はバンドデータの送信順序を決定する（Ｓ３１０）。
【００３０】
その後、スプーラ転送手段２１７はＳ３１０で決定された順序に従って、バンドメモリ２１４に格納されているバンドデータを順次プリントスプーラ２０３へ転送し（Ｓ３１１）、処理を終了する。
【００３１】
一方未だ受け取っていない描画オブジェクトがある場合には（Ｓ３０９）、Ｓ３０１へ戻り、すべての描画オブジェクトを受け取り終了するまで上記処理を繰り返す。
【００３２】
またプリントスプーラ２０３に転送された印刷データは、ホストコンピュータ２０１のオペレーションシステムの処理により順次プリンタへデータ転送される。以上のようにしてプリンタドライバ２１０は印刷データを生成してプリンタへ送信する。
【００３３】
図４は本実施例において印刷される印刷データの構成の一例を示した図である。図４を用いてプリンタドライバ２１０の処理動作の例を説明する。
【００３４】
４０１はアプリケーション２０２で作成した論理用紙レイアウト上での印刷データを示す。４０１には描画オブジェクトとして４０２〜４０６のオブジェクトが存在する。まずプリンタドライバ２１０は、レイアウト変換手段２１１により各描画オブジェクトを物理用紙レイアウトへ変換する。４１０は、プリンタドライバ２１０がプリンタ２２０にセットされた物理用紙に応じてレイアウト変換した様子を示している。描画オブジェクト４０２〜４０６はそれぞれ回転されて４０２’〜４０６’へとレイアウト変換されている。
【００３５】
次にレイアウト変換処理を施した描画オブジェクトに対して、バンド分割手段２１２が各オブジェクトをバンド毎に分割し、分割された各描画オブジェクトに対し印刷コマンド生成手段２１３によって印刷コマンドを生成する。ここでバンド領域は物理用紙レイアウト上に４１１〜４１４の様に設定されたとすると、４０５’、４０６’のようなグラフィックオブジェクトはそれぞれバンド分割手段２１２によって、４０５ａ、４０５ｂおよび４０６ａ、４０６ｂ、４０６ｃに分割される。
【００３６】
図５はホストコンピュータからプリンタへ流れる印刷ジョブの模式図である。
【００３７】
５０１は印刷ジョブを表す。５０２は印刷ジョブ５０１がバンド数分のバンドデータから構成されることを表す。各バンドデータは該バンド自体の物理的な位置・領域などをあらわすバンド位置情報５０３と描画オブジェクトの集合体である描画データ５０４とから構成されることを表す。
【００３８】
図６はプリンタ２２０の処理動作を表すフローチャートである。
【００３９】
プリンタ２２０は印刷ジョブ受信手段２２１により印刷ジョブを受信すると（Ｓ６０１）、バンド単位に逐次印刷コマンドを読み出し、中間データ変換手段２２２により印刷コマンドを中間データへ変換していく（Ｓ６０２）。Ｓ６０２の変換によって生成される中間データは、逐次中間データバッファ２２４に蓄積される（Ｓ６０３）。以上の作業を該バンドデータのすべての印刷コマンドに対して変換終了するまで続け、該バンドデータのすべての印刷コマンドを変換終了したならば（Ｓ６０４）、蓄積された中間データをイメージ展開手段２２５によってビットマップイメージへ変換し、イメージデータバッファ２２６へ蓄積する（Ｓ６０５）。このとき該バンドデータに含まれるバンド位置情報５０３を参照しイメージデータバッファの適切な場所へイメージデータを蓄積する。こうしてすべてのバンドのイメージ展開処理が終了するまでＳ６０２〜Ｓ６０５の処理を繰り返し、すべてのバンドのイメージ展開処理が終了したならば（Ｓ６０６）、蓄積された１ページ分のイメージデータをプリンタエンジン２２７へ転送して（Ｓ６０７）、印刷結果２３０を得る。
【００４０】
またＳ６０２とＳ６０５の処理はバンド単位に平行して同時に行われることにより高速に処理することが可能となっている。
【００４１】
図７は中間データ変換手段２２２とイメージ展開手段２２５が平行して同時に処理する様子を表した模式図である。（７−ａ）において、７０１は中間データ変換手段２２２、７０２は中間データバッファ２２４を表す。中間データバッファ２２４は７０３と７０４の２つ領域に分割されて使用される。７０５はイメージ展開手段２２５を表す。
【００４２】
印刷ジョブの先頭ページの印刷時など、中間データバッファ７０２にデータが全く格納されてない場合、中間データ変換手段２２２は変換した中間データを中間データバッファ７０３、７０４のどちらかに蓄積する。（７−ｂ）は中間データ変換手段２２２が中間データバッファ７０３に最初のバンドの中間データを蓄積している様子を表す。図中の矢印はデータの流れを表す。１つ目のバンドの中間データ変換が終わると、中間データ変換手段２２２は次のバンドの中間データ変換を開始する。ここで（７−ｃ）に示すように、中間データ変換手段２２２は変換した中間データを中間データバッファ７０４に蓄積していく。またそれと同時にイメージ展開手段２２５は中間データバッファ７０３に蓄積されたデータのイメージ展開処理を開始する。（７−ｃ）で説明した処理が終了すると、次に（７−ｄ）に示すように、中間データ変換手段２２２は次のバンドデータ中間データを変換すると今度は中間データバッファ７０３に蓄積し、同時にイメージ展開手段２２５は中間データバッファ７０４に蓄積されたデータのイメージ展開処理を開始する。（７−ｄ）で説明した処理が終了すると、次に再び（７−ｃ）で説明した処理を開始する。このように全てのバンドに対する中間データ変換処理、イメージ展開処理が終了するまで（７−ｃ）と（７−ｄ）で説明した処理を繰り返す。
【００４３】
このような処理方式にすることで、２バンド分の中間バッファサイズでページ全体のイメージデータ生成処理を行うことが可能となっている。
【００４４】
図８はイメージ展開手段２２５がイメージデータバッファ２２６に展開したイメージデータを蓄積していく例をあらわした模式図である。（８−ａ）はホストコンピュータ２０１から送られる印刷ジョブのイメージを表す。この図から分るように本印刷ジョブはバンド１〜４の４つのバンドデータに分割されている。ここで説明のためバンド３、バンド１、バンド４、バンド２の順でプリンタ２２０へバンドデータが送られてきたと仮定して説明を進める。（８−ｂ）はイメージ展開手段２２５がバンド３に対するイメージデータをイメージデータバッファ２２６へ格納している様子を表す。このときイメージ展開手段はバンド３のバンドデータに含まれるバンド位置情報５０３を参照し、イメージデータの格納場所を決定する。ここではイメージデータバッファ８０１へイメージデータを格納している様子が伺える。同様に（８−ｃ）ではイメージ展開手段２２５がバンド１に対するイメージデータをイメージデータバッファ８０２へ格納している様子を表し、（８−ｄ）ではイメージ展開手段２２５がバンド４に対するイメージデータをイメージデータバッファ８０３へ格納している様子を表し、（８−ｅ）ではイメージ展開手段２２５がバンド２に対するイメージデータをイメージデータバッファ８０４へ格納している様子を表す。
【００４５】
以上のような処理により、任意の順番で送られるバンドデータからなる印刷ジョブにおいても正常な印刷結果を出力することが可能となる。
【００４６】
（第２実施例）
第２実施例では第１実施例と異なる部分のみ説明し、同じ構成のものについては同一の符号を用いて説明する。
【００４７】
図９は、本発明の第２の実施の形態に係る印刷システムの概略構成を示すブロック図である。
【００４８】
第１実施例の構成と異なる点は、印刷コマンド生成手段２１３が生成した印刷コマンドに対する描画情報を蓄積する描画情報蓄積手段９０１と、ホストコンピュータ上のメモリ領域などに確保され、描画情報蓄積手段９０１が描画情報を蓄積するためのメモリ領域である描画情報バッファ９０２が加わった点である。
【００４９】
以上のような構成の印刷システムにおける印刷処理の流れを説明する。
【００５０】
図１０はプリンタドライバ２１０の処理動作を表すフローチャートである。ユーザが印刷指示を発行したならば、プリンタドライバ２１０はアプリケーション２０２より描画オブジェクト単位に印刷データを受け取る（Ｓ１００１）。このとき描画オブジェクトの論理用紙レイアウトとプリンタにセットされている物理用紙レイアウトが異なる場合はレイアウト変換が必要と判断し（Ｓ１００２）、レイアウト変換手段２１１により必要に応じてオブジェクトの回転・拡大縮小を行う（Ｓ１００３）。
【００５１】
次に描画オブジェクトが物理用紙レイアウト上で複数のバンドにまたがっている場合にはバンド分割が必要と判断され（Ｓ１００４）、バンド分割手段２１２により描画オブジェクトは各バンド単位のオブジェクトに分割される（Ｓ１００５）。次に分割された描画オブジェクトから印刷コマンド生成手段２１３により印刷コマンドを生成する（Ｓ１００６）。
【００５２】
Ｓ１００６で生成された印刷コマンドに対応する描画情報は、描画情報蓄積手段９０１によってメモリ内に確保された描画情報バッファ９０２に、対応するバンド単位に積算される（Ｓ１００７）。また同時に生成された印刷コマンドは、バンドメモリ転送手段２１５によってバンドメモリ２１４内の対応するバンドメモリへ格納される（Ｓ１００８）。
【００５３】
Ｓ１００５で分割されたすべての描画オブジェクトに対し以上の処理が終了していなければ（Ｓ１００９）、Ｓ１００６に立ち返り、分割されたすべての描画オブジェクトに対する処理が終了するまで繰り返す。ここで、印刷データ中のすべての描画オブジェクトを受け取り終了したならば（Ｓ１０１０）、次に送信スケジュール決定手段２１６は描画情報バッファ９０２に記憶されたバンド描画情報からバンドデータの送信順序を決定する（Ｓ１０１１）。
【００５４】
その後、スプーラ転送手段２１７はＳ１０１１で決定された順序に従って、バンドメモリ２１４に格納されているバンドデータを順次プリントスプーラ２０３へ転送し（Ｓ１０１２）、処理を終了する。
【００５５】
一方未だ受け取っていない描画オブジェクトがある場合には（Ｓ１０１０）、Ｓ１００１へ戻り、すべての描画オブジェクトを受け取り終了するまで上記処理を繰り返す。
【００５６】
またプリントスプーラ２０３に転送された印刷データは、ホストコンピュータ２０１のオペレーションシステムの処理により順次プリンタへデータ転送される。以上のようにしてプリンタドライバ２１０は印刷データを生成してプリンタへ送信する。
【００５７】
本実施例における印刷ジョブの構成などは実施例１の場合と同様とし説明を省略する。
【００５８】
図１１は描画情報バッファ９０２に蓄積されたあるバンドに対するバンド描画情報の内容を表した模式図である。
【００５９】
なおここでは１バンド分の描画情報を示すが、描画情報バッファ９０２にはバンド数分の描画情報が格納される。図１１は描画情報が階層構造になっている例を表している。
【００６０】
１１０１はそのバンドに格納されたトータルの描画コマンドデータサイズを表す、１１０２はイメージオブジェクトに関係する描画情報、１１０３にはグラフィックオブジェクトに関係する描画情報、１１０４には文字描画に関係する描画情報が収められる。
【００６１】
１１１０〜１１１２はイメージ情報１１０２に蓄積される描画情報の例を表したものである。１１１０はイメージ描画コマンドの個数、１１１１はイメージ描画コマンドの圧縮タイプ別の統計を表す情報、１１１２はイメージ描画コマンドのトータルデータサイズを表す。
【００６２】
１１２０〜１１２２はグラフィック情報１１０３に蓄積される描画情報の例を表したものである。１１２０はスキャンライン描画コマンドの個数、１１２１はスキャンライン描画コマンドのトータルライン数、１１２２はグラフィック描画コマンドのトータルデータサイズを表す。
【００６３】
１１３０〜１１３２は文字情報１１０４に蓄積される描画情報の例を表したものである。１１３０は文字描画コマンドの個数、１１３１は登録文字コマンドの個数、１１３２は文字描画コマンドのトータルデータサイズを表す。
【００６４】
図１１はあくまでも描画情報の一例を示したものであるが、描画情報バッファ９０２には描画コマンドの個数や描画コマンドの属性、データサイズなどがコマンド別に累積されて記憶される。
【００６５】
なお、プリンタ２２０の処理動作（図６〜８において説明）は実施例１の場合と同様のため、その説明を省略する。
【００６６】
中間データ変換手段２２２とイメージ展開手段２２５が平行して同時に処理することは図７を用いて説明した通りであるが、中間データ変換処理に要する処理時間とイメージ展開処理に要する時間の関係から、中間データ変換手段２２２もしくはイメージ展開手段２２５が処理待ち状態になる場合が発生する。
【００６７】
図１２を用いて中間データ変換手段２２２もしくはイメージ展開手段２２５が処理待ち状態になる場合について説明する。
【００６８】
（１２−ａ）において、１２０１は中間データ変換手段２２２、１２０２は中間データバッファ２２４を表す。中間データバッファ２２４は１２０３と１２０４の２つ領域に分割されて使用される。１２０５はイメージ展開手段２２５を表す。図中の矢印はデータの流れを表し、（１２−ａ）では中間データ変換手段１２０１は中間データバッファ１２０３に中間データを蓄積し、イメージ展開手段１２０５は中間データバッファ７０４に蓄積されたデータのイメージ展開処理を行っている様子を表す。
【００６９】
ここで、イメージ展開処理よりも中間データ変換時間が長ければ、（１２−ｂ）に示す状態となり、イメージ展開手段１２０５は中間データバッファ１２０３のイメージ展開処理を開始できない。
【００７０】
（１２−ｃ）はその逆のパターンを表し、イメージ展開処理よりも中間データ変換時間が短い場合に、中間データ変換手段１２０１が次のバンドデータの展開処理を開始できない様子を表す。
【００７１】
本実施例における送信スケジュール決定手段２１６は、描画情報バッファ９０２に蓄積された描画情報から各バンドにおける中間データ変換処理時間、イメージ展開処理時間がどの程度かを予測し、前述したような待ち時間がなるべく発生しないようにバンドの送信順序を決定する。
【００７２】
図１３を用いて、送信スケジュール決定手段２１６がバンドデータ送信順序を変えることでプリンタ２２０での処理が高速化される例を表す。
【００７３】
図１３において、１３０１は中間データ変換処理に要する時間を、１３０２はイメージ展開処理に要する時間を表す。以下同様な色分けされたボックスはそれぞれ中間データ変換処理、イメージ展開処理に要する時間を表すものとする。
【００７４】
（１３−ａ）ではバンド１、バンド２、バンド３の順番にバンドのデータが送信され、バンド２の中間データ変換処理時間がバンド１のイメージ展開処理時間よりも長いため、イメージ展開手段２２５が処理待ちになっている様子を表す。１３０３は処理待ちになっている時間を表す。一方、（１３−ｂ）は本実施例において送信スケジュール決定手段２１６がバンドデータ送信順序をバンド１、バンド３、バンド２の順に決定した場合のプリンタ２２０で要する時間を表した模式図である。（１３−ａ）で発生していたイメージ展開手段２２５の処理待ちが解消されトータルの処理時間が高速化されている。１３０４は（１３−ａ）の場合と比較して高速化された時間を表す。
【００７５】
（１３−ｃ）ではバンド１、バンド２、バンド３の順番にバンドのデータが送信され、バンド１のイメージ展開処理時間がバンド２の中間データ変換処理時間がよりも長いため、中間データ変換手段２２２が処理待ちになっている様子を表す。１３０５は処理待ちになっている時間を表す。一方、（１３−ｄ）は本実施例において送信スケジュール決定手段２１６がバンドデータ送信順序をバンド１、バンド３、バンド２の順に決定した場合のプリンタ２２０で要する時間を表した模式図である。（１３−ｃ）で発生していた中間データ変換手段２２２の処理待ちが解消されトータルの処理時間が高速化されている。１３０６は（１３−ｃ）の場合と比較して高速化された時間を表す。
【００７６】
以上のような処理により、中間データ変換２２２手段及びイメージ展開手段２２５の処理待ち時間を軽減し高速に処理可能な印刷システムを構成することが可能となる。
【００７７】
（その他の実施例）
なお本実施例では、各バンドに対して描画情報を蓄積しておき、１ページ分の全ての描画コマンドが生成終了した段階で蓄積された描画情報から各バンドで要する中間データ変換処理時間およびイメージ展開処理時間を予測したが、ホストコンピュータにおいて印刷コマンドを生成する毎にプリンタで要する各処理時間を積算していく方法で各バンドにおいて必要な中間データ変換処理時間およびイメージ展開処理時間を予測しても構わない。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施例１、２に係る印刷システムの断面図である。
【図２】本発明の実施例１に係る印刷システムの構成を説明するブロック図である。
【図３】本発明の実施例１に係るプリンタドライバの処理動作を表すフローチャート。
【図４】本発明の実施例１、２に係るプリンタドライバの処理を表す模式図。
【図５】本発明の実施例１、２に係る印刷ジョブの構成を表す模式図。
【図６】本発明の実施例１，２に係る印刷装置の動作を表すフローチャート。
【図７】本発明の実施例１，２に係る印刷装置の動作を表すフローチャート。
【図８】本発明の実施例１，２に係る印刷装置の動作を表すフローチャート。
【図９】本発明の実施例２に係る印刷システムの構成を説明するブロック図である。
【図１０】本発明の実施例２に係るプリンタドライバの処理動作を表すフローチャート。
【図１１】本発明の実施例２に係る描画情報バッファの構成を表す模式図。
【図１２】本発明の実施例２に係る印刷装置の処理待ちを説明するブロック図である。
【図１３】本発明の実施例２に係る印刷装置の処理高速化を説明するブロック図である。
【符号の説明】
【００７９】
１０１  ＬＢＰ本体
１０３  制御ボード収納部
１１５  排紙トレイ
１２８  操作パネル
１３０  用紙カセット
２０１  ホストコンピュータ
２０２  アプリケーション
２１０  ドライバ
２０３  プリントスプーラ
２１１  レイアウト変換手段
２１２  バンド分割手段
２１３  印刷コマンド生成手段
２１４  バンドメモリ
２１５  バンドメモリ転送手段
２１６  送信スケジュール決定手段
２１７  スプーラ転送手段
２２０  プリンタ
２２１  印刷ジョブ受信手段
２２２  中間データ変換手段
２２３  メモリ
２２４  中間データバッファ
２２５  イメージ展開手段
２２６  イメージデータバッファ
２２７  プリンタエンジン
２３０  印刷結果
９０１  描画情報蓄積手段
９０２  描画情報バッファ
【図１】
2006024100.tif 000003
【図２】
2006024100.tif 000004
【図３】
2006024100.tif 000005
【図４】
2006024100.tif 000006
【図５】
2006024100.tif 000007
【図６】
2006024100.tif 000008
【図７】
2006024100.tif 000009
【図８】
2006024100.tif 000010
【図９】
2006024100.tif 000011
【図１０】
2006024100.tif 000012
【図１１】
2006024100.tif 000013
【図１２】
2006024100.tif 000014
【図１３】
2006024100.tif 000015