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