説明

バンド単位に処理を行う印刷システム

【課題】 あらかじめ指定された時刻において特定のユーザに対して印刷装置を優先的に(もしくは独占して)使用することが可能な印刷システムを提供する
【解決手段】 印刷システムにおいて、アプリケーションから送られる描画オブジェクトを、物理用紙レイアウトへ変換するレイアウト変換手段と、レイアウト変換された描画オブジェクトをバンド状に分割された領域に対応して分割するバンド分割手段と、バンド状に分割された描画オブジェクトから所定のルールに基づき印刷コマンドを生成する手段と、生成された印刷コマンドをバンド領域に対応させて記憶するバンドデータ記憶手段と、記憶された印刷コマンドをバンド単位に送信順序を決定する手段と、記憶された印刷コマンドをバンド単位にプリントスプーラへ転送する手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタ及びプリンタドライバ、及びそれらを含んだプリントシステムに関する。
【背景技術】
【0002】
従来のページプリンタにおける印刷システムでは、ユーザがアプリケーションを用いて作成した印刷データは、描画オブジェクト単位にオペレーションシステムの描画関数を通じてホストコンピュータ上で動作するプリンタドライバへ渡され、プリンタドライバは渡された描画オブジェクトを接続された印刷装置に応じた印刷コマンドへ逐次変換し、印刷コマンドが出来上がるとすぐに印刷データがプリントスプーラへ転送される。その後所定の単位で印刷データがプリンタへ転送される。プリンタでは送られてきた印刷データから印刷コマンドを読み出し、その印刷コマンドを逐次中間データへ変換する。このとき、印刷データの論理用紙レイアウトとプリンタにセットされた物理用紙レイアウトが異なる場合には、必要に応じて回転・拡大縮小を施す。こうして1ページ分の中間データが出来上がると、それを専用のハードウェア装置などを用いてビットマップデータへ変換し、ビットマップデータをビデオデータとしてプリンタエンジンに転送することで最終的な印刷結果を得ていた。
【0003】
このような印刷システムでは、プリンタ内部で1ページ分の中間データを記憶するメモリを必要とし、プリンタは大量のメモリを搭載していた。
【0004】
しかし近年になってアプリケーションで生成される印刷データが煩雑化し、同時にプリンタへ転送されるデータ量も増大してきた。そのためプリンタ内部でのメモリ不足が頻発し、印刷速度および印刷品質が低下していた。
【0005】
そこで、近年になってホストコンピュータの処理能力が向上すると、プリンタでの処理を低減し、ホストコンピュータ上へシフトすることにより、より効率的に処理を行うことができる印刷システムが開発されている。
【0006】
より具体的な例を示すと、ホストコンピュータ上のプリンタドライバで、最終的に印刷される物理用紙レイアウトを意識してデータの回転・拡大縮小を行い、さらにプリンタでの処理データ単位を小さくするため描画オブジェクトをバンド状の領域単位に分割し、印刷される順番にバンド単位にデータを転送する。プリンタではバンド単位に中間データを生成し、バンド単位の中間データが出来上がるとすぐにビットマップデータを生成する。さらにこの間に次のバンドの中間データ作成処理をおこなう。このように中間データ生成処理とビットマップ生成処理を平行して同時に行うことにより処理が高速化され、また処理単位がバンド単位のため必要なメモリサイズが低減する。こうすることでメモリサイズを削減することが可能となり、印刷時間を高速化することができる。
【0007】
従来例としては、例えばネットワーク上のさまざまな場所にあるアプリケーションに依存したドキュメントデータを、クライアントコンピュータの汎用WEBブラウザからの指定の印刷タイミングでネットワーク共有プリンタに印刷させるものがある(特許文献1参照)。
【特許文献1】特開平06-195182号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし現状のバンディングシステムでは、バンドデータの送り順序は常に一定となっている。そのためデータによっては、中間データ作成またはビットマップ生成処理に長大な時間を要するため、他のバンドデータを平行して同時に処理することが出来ず、処理待ちが発生する場合が存在した。特にイメージデータと文字データが混在するデータなど、処理負荷が大きく異なる描画オブジェクトの分布が偏ったデータにおいては、局所的にバンド処理時間が大きく増減し、効率よく中間データ作成およびビットマップ生成を並列処理することが困難であった。
【0009】
本発明は、上記問題点を鑑みてなされたもので、第1の目的は、バンディングシステムを実現する印刷システムにおいて、印刷するデータに応じて印刷速度の高速化を図るとことである。
【課題を解決するための手段】
【0010】
上記目的を達成するための請求項1記載の発明は、互いに接続されたパーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連の印刷ジョブを受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷装置とからなる印刷システムにおいて、前記ホストコンピュータは、アプリケーションから送られる描画オブジェクトを、必要に応じて物理用紙レイアウトへ変換するレイアウト変換手段と、前記レイアウト変換手段によってレイアウト変換された描画オブジェクトをバンド状に分割された領域に対応して分割するバンド分割手段と、前記バンド分割手段によって分割された描画オブジェクトから所定のルールに基づき前記印刷装置に対応した印刷コマンドを生成する印刷コマンド生成手段と、前記印刷コマンド生成手段によって生成された印刷コマンドを前記バンド領域に対応させて記憶装置に記憶するバンドデータ記憶手段と、前記記憶装置に記憶された前記印刷コマンド(以下、印刷データ)をバンド単位に前記印刷装置への送信する際の送信順序を決定する送信順序決定手段と、前記記憶装置に記憶された前記印刷コマンドをバンド単位にプリントスプーラへ転送するスプーラ転送手段とを備える。
【0011】
かかる構成において、前記スプーラ転送手段は前記送信順序決定手段によって決定された送信順に従って、前記記憶装置に記憶された前記印刷コマンドをバンド単位に順次プリントスプーラへ転送することより、ホストコンピュータから印刷装置へ転送するバンドデータの送信順序を任意に変更することが可能となる。
【0012】
上記目的を達成するための請求項2記載の発明は、請求項1に記載の印刷システムであって、前記スプーラ転送手段によってバンド単位に転送される印刷データの中に、そのバンド領域を示すバンド位置情報が含まれ、前記印刷装置は前記バンド位置情報を参照し、前記印刷データを指定された位置に印刷することにより、ホストコンピュータより任意の送信順序でバンドデータが転送された場合にも所望の印刷結果を得ることができる印刷システムを提供することが可能となる。
【0013】
上記目的を達成するための請求項3記載の発明は、請求項2に記載の印刷システムであって、前記ホストコンピュータはさらに、前記バンド単位に前記印刷コマンド生成手段によって生成された印刷コマンドに対する描画情報を積算する描画情報積算手段を備える。
【0014】
かかる構成において、前記転送順序決定手段は前記描画情報積算手段によって積算された描画情報から印刷データの送信順序を決定することにより、印刷するデータに応じて、ホストコンピュータから印刷装置へ転送するバンドデータの送信順序を任意に変更することが可能となる。
【0015】
上記目的を達成するための請求項4記載の発明は、請求項3に記載の印刷システムであって、前記描画情報は印刷コマンドの種別、個数、データサイズのうち少なくともいずれか1つを含むことにより、印刷するデータに応じて、ホストコンピュータから印刷装置へ転送するバンドデータの送信順序を任意に変更することが可能となる。
【0016】
上記目的を達成するための請求項5記載の発明は、請求項3および4記載の印刷システムであって、前記転送順序決定手段は各バンドの印刷データに対して、前記印刷装置における印刷処理を予測し、その予測結果にもとづいて印刷データ送信順序を決定することにより、印刷するデータに応じて、印刷装置において最適な送信順序となるようホストコンピュータから印刷装置へ転送するバンドデータの送信順序を変更することが可能となる。
【0017】
上記目的を達成するための請求項6記載の発明は、請求項3に記載の印刷システムであって、前記描画情報は各印刷コマンドに対する前記印刷装置における処理時間の積算値であることにより、印刷するデータに応じて、印刷装置において最適な送信順序となるようホストコンピュータから印刷装置へ転送するバンドデータの送信順序を変更することが可能となる。
【0018】
上記目的を達成するための請求項7記載の発明は、請求項5記載の印刷システムであって、前記印刷装置は受信した印刷データを一旦中間データに変換する中間データ変換手段と、前記中間データをビットマップイメージに展開するイメージ展開手段とを備える。
【0019】
かかる構成において、前記転送順序決定手段は前記描画情報から前記中間データ変換手段の処理時間および前記イメージ展開手段の処理時間をそれぞれバンド単位に予測し、その予測結果にもとづいて印刷データ送信順序を決定することにより、印刷するデータに応じて、印刷装置において最適な送信順序となるようホストコンピュータから印刷装置へ転送するバンドデータの送信順序を変更することが可能となる。
【0020】
上記目的を達成するための請求項8記載の発明は、請求項7記載の印刷システムであって、前記送信順序決定手段は前記中間データ変換手段と前記イメージ展開手段が処理待ち状態にならないように、印刷データ送信順序を決定することにより、印刷するデータに応じて、印刷装置において処理待ち時間がないようにホストコンピュータから印刷装置へ転送するバンドデータの送信順序を変更することが可能となる。
【発明の効果】
【0021】
上記目的を達成するための請求項1記載の発明によれば、互いに接続されたパーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連の印刷ジョブを受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷装置とからなる印刷システムにおいて、前記ホストコンピュータは、アプリケーションから送られる描画オブジェクトを、必要に応じて物理用紙レイアウトへ変換するレイアウト変換手段と、前記レイアウト変換手段によってレイアウト変換された描画オブジェクトをバンド状に分割された領域に対応して分割するバンド分割手段と、前記バンド分割手段によって分割された描画オブジェクトから所定のルールに基づき前記印刷装置に対応した印刷コマンドを生成する印刷コマンド生成手段と、前記印刷コマンド生成手段によって生成された印刷コマンドを前記バンド領域に対応させて記憶装置に記憶するバンドデータ記憶手段と、前記記憶装置に記憶された前記印刷コマンド(以下、印刷データ)をバンド単位に前記印刷装置への送信する際の送信順序を決定する送信順序決定手段と、前記記憶装置に記憶された前記印刷コマンドをバンド単位にプリントスプーラへ転送するスプーラ転送手段とを備える。
【0022】
かかる構成において、前記スプーラ転送手段は前記送信順序決定手段によって決定された送信順に従って、前記記憶装置に記憶された前記印刷コマンドをバンド単位に順次プリントスプーラへ転送することより、ホストコンピュータから印刷装置へ転送するバンドデータの送信順序を任意に変更することが可能となる。
【0023】
上記目的を達成するための請求項2記載の発明によれば、請求項1に記載の印刷システムであって、前記スプーラ転送手段によってバンド単位に転送される印刷データの中に、そのバンド領域を示すバンド位置情報が含まれ、前記印刷装置は前記バンド位置情報を参照し、前記印刷データを指定された位置に印刷することにより、ホストコンピュータより任意の送信順序でバンドデータが転送された場合にも所望の印刷結果を得ることができる印刷システムを提供することが可能となる。
【0024】
上記目的を達成するための請求項3記載の発明は、請求項2に記載の印刷システムであって、前記ホストコンピュータはさらに、前記バンド単位に前記印刷コマンド生成手段によって生成された印刷コマンドに対する描画情報を積算する描画情報積算手段を備える。
【0025】
かかる構成において、前記転送順序決定手段は前記描画情報積算手段によって積算された描画情報から印刷データの送信順序を決定することにより、印刷するデータに応じて、ホストコンピュータから印刷装置へ転送するバンドデータの送信順序を任意に変更することが可能となる。
【0026】
上記目的を達成するための請求項4記載の発明によれば、請求項3に記載の印刷システムであって、前記描画情報は印刷コマンドの種別、個数、データサイズのうち少なくともいずれか1つを含むことにより、印刷するデータに応じて、ホストコンピュータから印刷装置へ転送するバンドデータの送信順序を任意に変更することが可能となる。
【0027】
上記目的を達成するための請求項5記載の発明によれば、請求項3および4記載の印刷システムであって、前記転送順序決定手段は各バンドの印刷データに対して、前記印刷装置における印刷処理を予測し、その予測結果にもとづいて印刷データ送信順序を決定することにより、印刷するデータに応じて、印刷装置において最適な送信順序となるようホストコンピュータから印刷装置へ転送するバンドデータの送信順序を変更することが可能となる。
【0028】
上記目的を達成するための請求項6記載の発明によれば、請求項3に記載の印刷システムであって、前記描画情報は各印刷コマンドに対する前記印刷装置における処理時間の積算値であることにより、印刷するデータに応じて、印刷装置において最適な送信順序となるようホストコンピュータから印刷装置へ転送するバンドデータの送信順序を変更することが可能となる。
【0029】
上記目的を達成するための請求項7記載の発明によれば、請求項5記載の印刷システムであって、前記印刷装置は受信した印刷データを一旦中間データに変換する中間データ変換手段と、前記中間データをビットマップイメージに展開するイメージ展開手段とを備える。
【0030】
かかる構成において、前記転送順序決定手段は前記描画情報から前記中間データ変換手段の処理時間および前記イメージ展開手段の処理時間をそれぞれバンド単位に予測し、その予測結果にもとづいて印刷データ送信順序を決定することにより、印刷するデータに応じて、印刷装置において最適な送信順序となるようホストコンピュータから印刷装置へ転送するバンドデータの送信順序を変更することが可能となる。
【0031】
上記目的を達成するための請求項8記載の発明によれば、請求項7記載の印刷システムであって、前記送信順序決定手段は前記中間データ変換手段と前記イメージ展開手段が処理待ち状態にならないように、印刷データ送信順序を決定することにより、印刷するデータに応じて、印刷装置において処理待ち時間がないようにホストコンピュータから印刷装置へ転送するバンドデータの送信順序を変更することが可能となる。
【発明を実施するための最良の形態】
【0032】
実施例の構成を説明する前に、本実施例を適用するに好適なレーザビームプリンタおよびインクジェットプリンタの構成について図1を参照しながら説明する。なお、本実施例を適用する印刷装置は、レーザビームプリンタおよびインクジェットプリンタに限られるものではなく、他のプリント方式の印刷装置でも良いことは言うまでもない。
【0033】
図1は本発明を適用可能な第1の印刷装置の構成を示す断面図であり、例えばレーザビームプリンタ(LBP)の場合を示す。
【0034】
図において101はプリンタ本体である。128は操作パネルで、操作のためのスイッチおよびLED表示器、LCD表示器が配されている。103は制御ボード収納部で、プリンタの印字プロセス制御を行うエンジンコントローラ、およびプリンタ全体の制御とホストコンピュータからのデータを解析しイメージデータに変換するビデオコントローラ、および各種オプションユニットを統括して制御するオプションコントローラが収納されている。
【0035】
130は用紙カセットで、用紙を保持し不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。また用紙カセット130は収納されている用紙の残量を検知するセンサ132を備え、用紙の残量を検知する機能を有する。131はカセット給紙クラッチで、用紙カセット130上に収納された用紙の最上位の用紙一枚のみを分離し、不図示の駆動手段によって分離した用紙を給紙ローラ104まで搬送させるカムであり、給紙の度に間欠的に回転し、一回転に対応して一枚の用紙を給紙する。129はレジストシャッタで用紙を押圧して給紙を停止させる。給紙ローラ104はカセット給紙クラッチ131より給紙される用紙の先端部をレジストシャッタ129まで搬送する。102は手差し給紙トレイであり、105は手差し給紙ローラで、この手差し給紙ローラ105は用紙の先端をレジストシャッタ129まで搬送する。
【0036】
以上のような構成によって用紙カセット130および手差し給紙用トレイ102から選択的に用紙を給紙する事が可能となる。また、手差し給紙ローラ105、カセット給紙クラッチ131の下流には、記録紙を同期搬送する給紙ローラ104、レジストローラ対106がそれぞれ設けられ、レジストローラ対106の下流には、レーザスキャナ部107から発したレーザ光によって、記録紙上にトナー像を形成する画像記録部108が設けられている。
【0037】
さらに、画像記録部108の下流には、記録紙上に形成されたトナー像を熱定着する定着器109が設けられ、定着器109の下流には、排紙部の紙搬送状態を検知する排紙センサ110、記録紙を搬送する搬送ローラ111などが設けられている。排紙トレイ115は用紙残量検知センサ115sを備えており、一定時間毎に排紙トレイ115に積載された用紙残量を検知する。
【0038】
次にレーザスキャナ部107は、プリンタコントローラから送出される画像信号(画像信号VDO)に基づいて変調されたレーザ光を発光するレーザユニット116、このレーザユニット116からのレーザ光を感光ドラム122上に走査するポリゴンミラー117、走査方向のレーザ光位置を検出するビーム検出器118、結像レンズ群119、折返ミラー120およびレーザ光の光量を検知する光量検知センサ121等により構成されている。
【0039】
前述の画像記録部108は公知の電子写真プロセスに必要な、レーザスキャナ部107の走査により形成された静電潜像を保持する感光ドラム122、感光ドラム122を光除電する前露光ランプ123、感光ドラムを一様帯電させる一時帯電器124、感光ドラム122に形成された静電潜像をトナー現像する現像器125、現像器125により現像されたトナー像を給送される記録紙に転写する転写帯電器126、感光ドラム122上の残存トナーを清掃するクリーナ127等から構成されている。
【0040】
制御ボード収納部103内には図示しないビデオコントローラ、エンジンコントローラおよびオプションコントローラ部があり、エンジンコントローラはレーザスキャナ部107、画像記録部108,定着器109による電子写真プロセスの制御およびプリンタ本体101内の記録紙の搬送制御を行う。また、ビデオコントローラは、パーソナルコンピュータ等の外部装置(不図示)と汎用インタフェース(セントロニクスインタフェースやRS232C等)で接続され、汎用インタフェースを介して送られてくる画像情報をビットデータに展開し、そのビットデータを信号VDOとしてエンジンコントローラへ送る。
【0041】
〔第1実施例〕
<図2の説明>
図2は、本発明の第1の実施の形態に係る印刷システムの概略構成を示すブロック図である。なお、ここではレーザビームプリンタ(図1)を例にして説明する。
【0042】
同図に示すように、本実施例に係る印刷システムは、ホストコンピュータ201と、LANなどの通信回線によってホストコンピュータ201に接続され、送られてきた印刷ジョブを印刷用紙に印刷するプリンタ220から構成される。
【0043】
ホストコンピュータ201は、不図示の入力装置によるユーザからの入力情報を取得し、印刷する文書を生成するためのアプリケーション202と、アプリケーション202によって作成された文書から、プリンタ220に送信する印刷ジョブを生成するドライバ210とから構成される。
【0044】
ドライバ210はアプリケーション202を用いて作成された文書に基づいて、オペレーションシステムのAPIを通じて受け取った描画オブジェクトを物理用紙レイアウトに変換するレイアウト変換手段211と、レイアウト変換された描画オブジェクトをバンド状に分割された領域に対応して分割するバンド分割手段212と、バンド分割手段212によって分割された描画オブジェクトから所定のルールに基づきプリンタ220に対応した印刷コマンドを生成する印刷コマンド生成手段213と、印刷コマンド生成手段213によって生成された印刷コマンドを対応するバンドメモリ214へ転送するバンドメモリ転送手段215と、バンドメモリに蓄積されたバンドデータに対し、プリンタ220への送信順序を決定する送信スケジュール決定手段216と、バンドメモリ214に格納された印刷データを所定の順序で順次プリントスプーラ203へ転送するスプーラ転送手段217とから構成される。
【0045】
プリンタ220は、プリンタ220に転送された印刷ジョブを受信する印刷ジョブ受信手段221と、受信した印刷ジョブから印刷コマンドを読み出し所定のルールに基づき印刷コマンドを解析し、中間データへ変換する中間データ変換手段222と、各種ワークメモリとして使用されるメモリ223と、メモリ223上に構成され中間データを蓄積する中間データバッファ224と、中間データバッファ224に蓄積された中間データをビットマップイメージへ展開するイメージ展開手段225と、メモリ223上に構成されイメージ展開手段225により展開されたビットマップイメージを蓄積するイメージデータバッファ226と、展開されたイメージデータを印刷用紙に物理的に印刷するプリンタエンジン227とから構成される。なお、230は印刷された印刷結果を表す。
【0046】
以上のような構成の印刷システムにおける印刷処理の流れを説明する。
【0047】
<図3の説明>
図3はプリンタドライバ210の処理動作を表すフローチャートである。ユーザが印刷指示を発行したならば、プリンタドライバ210はアプリケーション202より描画オブジェクト単位に印刷データを受け取る(S301)。このとき描画オブジェクトの論理用紙レイアウトとプリンタにセットされている物理用紙レイアウトが異なる場合はレイアウト変換が必要と判断し(S302−YES)、レイアウト変換手段211により必要に応じてオブジェクトの回転・拡大縮小を行う(S303)。
【0048】
次に描画オブジェクトが物理用紙レイアウト上で複数のバンドにまたがっている場合にはバンド分割が必要と判断され(S304ーYES)、バンド分割手段212により描画オブジェクトは各バンド単位のオブジェクトに分割される(S305)。次に分割された描画オブジェクトから印刷コマンド生成手段213により印刷コマンドを生成する(S306)。
【0049】
S306で生成された印刷コマンドは、バンドメモリ転送手段215によってバンドメモリ214内の対応するバンドメモリへ格納される(S307)。
【0050】
S305で分割されたすべての描画オブジェクトに対し以上の処理が終了していなければ(S308−NO)、S306に立ち返り、分割されたすべての描画オブジェクトに対する処理が終了するまで繰り返す。ここで、印刷データ中のすべての描画オブジェクトを受け取り終了したならば(S309−YES)、次に送信スケジュール決定手段216はバンドデータの送信順序を決定する(S310)。
【0051】
その後、スプーラ転送手段217はS310で決定された順序に従って、バンドメモリ214に格納されているバンドデータを順次プリントスプーラ203へ転送し(S311)、処理を終了する。
【0052】
一方未だ受け取っていない描画オブジェクトがある場合には(S309−NO)、S301へ戻り、すべての描画オブジェクトを受け取り終了するまで上記処理を繰り返す。
【0053】
またプリントスプーラ203に転送された印刷データは、ホストコンピュータ201のオペレーションシステムの処理により順次プリンタへデータ転送される。以上のようにしてプリンタドライバ210は印刷データを生成してプリンタへ送信する。
【0054】
<図4の説明>
図4は本実施例において印刷される印刷データの構成の一例を示した図である。図4を用いてプリンタドライバ210の処理動作の例を説明する。
【0055】
401はアプリケーション202で作成した論理用紙レイアウト上での印刷データを示す。401には描画オブジェクトとして402〜406のオブジェクトが存在する。まずプリンタドライバ210は、レイアウト変換手段211により各描画オブジェクトを物理用紙レイアウトへ変換する。410は、プリンタドライバ210がプリンタ220にセットされた物理用紙に応じてレイアウト変換した様子を示している。描画オブジェクト402〜406はそれぞれ回転されて402’〜406’へとレイアウト変換されている。
【0056】
次にレイアウト変換処理を施した描画オブジェクトに対して、バンド分割手段212が各オブジェクトをバンド毎に分割し、分割された各描画オブジェクトに対し印刷コマンド生成手段213によって印刷コマンドを生成する。ここでバンド領域は物理用紙レイアウト上に411〜414の様に設定されたとすると、405’、406’のようなグラフィックオブジェクトはそれぞれバンド分割手段212によって、405a、405bおよび406a、406b、406cに分割される。
【0057】
<図5>
図5はホストコンピュータからプリンタへ流れる印刷ジョブの模式図である。
【0058】
501は印刷ジョブを表す。502は印刷ジョブ501がバンド数分のバンドデータから構成されることを表す。各バンドデータは該バンド自体の物理的な位置・領域などをあらわすバンド位置情報503と描画オブジェクトの集合体である描画データ504とから構成されることを表す。
【0059】
<図6の説明>
図6はプリンタ220の処理動作を表すフローチャートである。
【0060】
プリンタ220は印刷ジョブ受信手段221により印刷ジョブを受信すると(S601)、バンド単位に逐次印刷コマンドを読み出し、中間データ変換手段222により印刷コマンドを中間データへ変換していく(S602)。S602の変換によって生成される中間データは、逐次中間データバッファ224に蓄積される(S603)。以上の作業を該バンドデータのすべての印刷コマンドに対して変換終了するまで続け、該バンドデータのすべての印刷コマンドを変換終了したならば(S604−YES)、蓄積された中間データをイメージ展開手段225によってビットマップイメージへ変換し、イメージデータバッファ226へ蓄積する(S605)。このとき該バンドデータに含まれるバンド位置情報503を参照しイメージデータバッファの適切な場所へイメージデータを蓄積する。こうしてすべてのバンドのイメージ展開処理が終了するまでS602〜S605の処理を繰り返し、すべてのバンドのイメージ展開処理が終了したならば(S606−YES)、蓄積された1ページ分のイメージデータをプリンタエンジン227へ転送して(S607)、印刷結果230を得る。
【0061】
またS602とS605の処理はバンド単位に平行して同時に行われることにより高速に処理することが可能となっている。
【0062】
<図7の説明>
図7は中間データ変換手段222とイメージ展開手段225が平行して同時に処理する様子を表した模式図である。(7−a)において、701は中間データ変換手段222、702は中間データバッファ224を表す。中間データバッファ224は703と704の2つ領域に分割されて使用される。705はイメージ展開手段225を表す。
【0063】
印刷ジョブの先頭ページの印刷時など、中間データバッファ702にデータが全く格納されてない場合、中間データ変換手段222は変換した中間データを中間データバッファ703、704のどちらかに蓄積する。(7−b)は中間データ変換手段222が中間データバッファ703に最初のバンドの中間データを蓄積している様子を表す。図中の矢印はデータの流れを表す。1つ目のバンドの中間データ変換が終わると、中間データ変換手段222は次のバンドの中間データ変換を開始する。ここで(7−c)に示すように、中間データ変換手段222は変換した中間データを中間データバッファ704に蓄積していく。またそれと同時にイメージ展開手段225は中間データバッファ703に蓄積されたデータのイメージ展開処理を開始する。(7−c)で説明した処理が終了すると、次に(7−d)に示すように、中間データ変換手段222は次のバンドデータ中間データを変換すると今度は中間データバッファ703に蓄積し、同時にイメージ展開手段225は中間データバッファ704に蓄積されたデータのイメージ展開処理を開始する。(7−d)で説明した処理が終了すると、次に再び(7−c)で説明した処理を開始する。このように全てのバンドに対する中間データ変換処理、イメージ展開処理が終了するまで(7−c)と(7−d)で説明した処理を繰り返す。
【0064】
このような処理方式にすることで、2バンド分の中間バッファサイズでページ全体のイメージデータ生成処理を行うことが可能となっている。
【0065】
<図8の説明>
図8はイメージ展開手段225がイメージデータバッファ226に展開したイメージデータを蓄積していく例をあらわした模式図である。(8−a)はホストコンピュータ201から送られる印刷ジョブのイメージを表す。この図から分るように本印刷ジョブはバンド1〜4の4つのバンドデータに分割されている。ここで説明のためバンド3、バンド1、バンド4、バンド2の順でプリンタ220へバンドデータが送られてきたと仮定して説明を進める。(8−b)はイメージ展開手段225がバンド3に対するイメージデータをイメージデータバッファ226へ格納している様子を表す。このときイメージ展開手段はバンド3のバンドデータに含まれるバンド位置情報503を参照し、イメージデータの格納場所を決定する。ここではイメージデータバッファ801へイメージデータを格納している様子が伺える。同様に(8−c)ではイメージ展開手段225がバンド1に対するイメージデータをイメージデータバッファ802へ格納している様子を表し、(8−d)ではイメージ展開手段225がバンド4に対するイメージデータをイメージデータバッファ803へ格納している様子を表し、(8−e)ではイメージ展開手段225がバンド2に対するイメージデータをイメージデータバッファ804へ格納している様子を表す。
【0066】
以上のような処理により、任意の順番で送られるバンドデータからなる印刷ジョブにおいても正常な印刷結果を出力することが可能となる。
【0067】
〔第2実施例〕
第1実施例では、任意の順番で送られるバンドデータからなる印刷ジョブ第2実施例ではなお本実施例では、第1実施例と異なる部分のみ説明し、同じ構成のものについては同一の符号を用いて説明する。
【0068】
<図9の説明>
図9は、本発明の第2の実施の形態に係る印刷システムの概略構成を示すブロック図である。
【0069】
第1実施例の構成と異なる点は、印刷コマンド生成手段213が生成した印刷コマンドに対する描画情報を蓄積する描画情報蓄積手段901と、ホストコンピュータ上のメモリ領域などに確保され、描画情報蓄積手段901が描画情報を蓄積するためのメモリ領域である描画情報バッファ902が加わった点である。
【0070】
以上のような構成の印刷システムにおける印刷処理の流れを説明する。
【0071】
<図10の説明>
図10はプリンタドライバ210の処理動作を表すフローチャートである。ユーザが印刷指示を発行したならば、プリンタドライバ210はアプリケーション202より描画オブジェクト単位に印刷データを受け取る(S1001)。このとき描画オブジェクトの論理用紙レイアウトとプリンタにセットされている物理用紙レイアウトが異なる場合はレイアウト変換が必要と判断し(S1002−YES)、レイアウト変換手段211により必要に応じてオブジェクトの回転・拡大縮小を行う(S1003)。
【0072】
次に描画オブジェクトが物理用紙レイアウト上で複数のバンドにまたがっている場合にはバンド分割が必要と判断され(S1004ーYES)、バンド分割手段212により描画オブジェクトは各バンド単位のオブジェクトに分割される(S1005)。次に分割された描画オブジェクトから印刷コマンド生成手段213により印刷コマンドを生成する(S1006)。
【0073】
S1006で生成された印刷コマンドに対応する描画情報は、描画情報蓄積手段901によってメモリ内に確保された描画情報バッファ902に、対応するバンド単位に積算される(S1007)。また同時に生成された印刷コマンドは、バンドメモリ転送手段215によってバンドメモリ214内の対応するバンドメモリへ格納される(S1008)。
【0074】
S1005で分割されたすべての描画オブジェクトに対し以上の処理が終了していなければ(S1009−NO)、S1006に立ち返り、分割されたすべての描画オブジェクトに対する処理が終了するまで繰り返す。ここで、印刷データ中のすべての描画オブジェクトを受け取り終了したならば(S1010−YES)、次に送信スケジュール決定手段216は描画情報バッファ902に記憶されたバンド描画情報からバンドデータの送信順序を決定する(S1011)。
【0075】
その後、スプーラ転送手段217はS1011で決定された順序に従って、バンドメモリ214に格納されているバンドデータを順次プリントスプーラ203へ転送し(S1012)、処理を終了する。
【0076】
一方未だ受け取っていない描画オブジェクトがある場合には(S1010−NO)、S1001へ戻り、すべての描画オブジェクトを受け取り終了するまで上記処理を繰り返す。またプリントスプーラ203に転送された印刷データは、ホストコンピュータ201のオペレーションシステムの処理により順次プリンタへデータ転送される。以上のようにしてプリンタドライバ210は印刷データを生成してプリンタへ送信する。
【0077】
本実施例における印刷ジョブの構成などは実施例1の場合と同様とし説明を省略する。
【0078】
<図11の説明>
図11は描画情報バッファ902に蓄積されたあるバンドに対するバンド描画情報の内容を表した模式図である。
【0079】
なおここでは1バンド分の描画情報を示すが、描画情報バッファ902にはバンド数分の描画情報が格納される。図11は描画情報が階層構造になっている例を表している。
【0080】
1101はそのバンドに格納されたトータルの描画コマンドデータサイズを表す、1102はイメージオブジェクトに関係する描画情報、1103にはグラフィックオブジェクトに関係する描画情報、1104には文字描画に関係する描画情報が収められる。
【0081】
1110〜1112はイメージ情報1102に蓄積される描画情報の例を表したものである。1110はイメージ描画コマンドの個数、1111はイメージ描画コマンドの圧縮タイプ別の統計を表す情報、1112はイメージ描画コマンドのトータルデータサイズを表す。
【0082】
1120〜1122はグラフィック情報1103に蓄積される描画情報の例を表したものである。1120はスキャンライン描画コマンドの個数、1121はスキャンライン描画コマンドのトータルライン数、1122はグラフィック描画コマンドのトータルデータサイズを表す。
【0083】
1130〜1132は文字情報1104に蓄積される描画情報の例を表したものである。1130は文字描画コマンドの個数、1131は登録文字コマンドの個数、1132は文字描画コマンドのトータルデータサイズを表す。
【0084】
図11はあくまでも描画情報の一例を示したものであるが、描画情報バッファ902には描画コマンドの個数や描画コマンドの属性、データサイズなどがコマンド別に累積されて記憶される。
【0085】
なお、プリンタ220の処理動作(図6〜8において説明)は実施例1の場合と同様のため、その説明を省略する。
【0086】
中間データ変換手段222とイメージ展開手段225が平行して同時に処理することは図7を用いて説明した通りであるが、中間データ変換処理に要する処理時間とイメージ展開処理に要する時間の関係から、中間データ変換手段222もしくはイメージ展開手段225が処理待ち状態になる場合が発生する。
【0087】
<図12の説明>
図12を用いて中間データ変換手段222もしくはイメージ展開手段225が処理待ち状態になる場合について説明する。
【0088】
(12−a)において、1201は中間データ変換手段222、1202は中間データバッファ224を表す。中間データバッファ224は1203と1204の2つ領域に分割されて使用される。1205はイメージ展開手段225を表す。図中の矢印はデータの流れを表し、(12−a)では中間データ変換手段1201は中間データバッファ1203に中間データを蓄積し、イメージ展開手段1205は中間データバッファ704に蓄積されたデータのイメージ展開処理を行っている様子を表す。
【0089】
ここで、イメージ展開処理よりも中間データ変換時間が長ければ、(12−b)に示す状態となり、イメージ展開手段1205は中間データバッファ1203のイメージ展開処理を開始できない。
【0090】
(12−c)はその逆のパターンを表し、イメージ展開処理よりも中間データ変換時間が短い場合に、中間データ変換手段1201が次のバンドデータの展開処理を開始できない様子を表す。
【0091】
本実施例における送信スケジュール決定手段216は、描画情報バッファ902に蓄積された描画情報から各バンドにおける中間データ変換処理時間、イメージ展開処理時間がどの程度かを予測し、前述したような待ち時間がなるべく発生しないようにバンドの送信順序を決定する。
【0092】
<図13の説明>
図13を用いて、送信スケジュール決定手段216がバンドデータ送信順序を変えることでプリンタ220での処理が高速化される例を表す。
【0093】
図13において、1301は中間データ変換処理に要する時間を、1302はイメージ展開処理に要する時間を表す。以下同様な色分けされたボックスはそれぞれ中間データ変換処理、イメージ展開処理に要する時間を表すものとする。
【0094】
(13−a)ではバンド1、バンド2、バンド3の順番にバンドのデータが送信され、バンド2の中間データ変換処理時間がバンド1のイメージ展開処理時間よりも長いため、イメージ展開手段225が処理待ちになっている様子を表す。1303は処理待ちになっている時間を表す。一方、(13−b)は本実施例において送信スケジュール決定手段216がバンドデータ送信順序をバンド1、バンド3、バンド2の順に決定した場合のプリンタ220で要する時間を表した模式図である。(13−a)で発生していたイメージ展開手段225の処理待ちが解消されトータルの処理時間が高速化されている。1304は(13−a)の場合と比較して高速化された時間を表す。
【0095】
(13−c)ではバンド1、バンド2、バンド3の順番にバンドのデータが送信され、バンド1のイメージ展開処理時間がバンド2の中間データ変換処理時間がよりも長いため、中間データ変換手段222が処理待ちになっている様子を表す。1305は処理待ちになっている時間を表す。一方、(13−d)は本実施例において送信スケジュール決定手段216がバンドデータ送信順序をバンド1、バンド3、バンド2の順に決定した場合のプリンタ220で要する時間を表した模式図である。(13−c)で発生していた中間データ変換手段222の処理待ちが解消されトータルの処理時間が高速化されている。1306は(13−c)の場合と比較して高速化された時間を表す。
【0096】
以上のような処理により、中間データ変換222手段及びイメージ展開手段225の処理待ち時間を軽減し高速に処理可能な印刷システムを構成することが可能となる。
【0097】
[その他の実施例]
なお本実施例では、各バンドに対して描画情報を蓄積しておき、1ページ分の全ての描画コマンドが生成終了した段階で蓄積された描画情報から各バンドで要する中間データ変換処理時間およびイメージ展開処理時間を予測したが、ホストコンピュータにおいて印刷コマンドを生成する毎にプリンタで要する各処理時間を積算していく方法で各バンドにおいて必要な中間データ変換処理時間およびイメージ展開処理時間を予測しても構わない。
【図面の簡単な説明】
【0098】
【図1】本発明の実施例1、2に係る印刷システムの断面図である。
【図2】本発明の実施例1に係る印刷システムの構成を説明するブロック図である。
【図3】本発明の実施例1に係るプリンタドライバの処理動作を表すフローチャート。
【図4】本発明の実施例1、2に係るプリンタドライバの処理を表す模式図。
【図5】本発明の実施例1、2に係る印刷ジョブの構成を表す模式図。
【図6】本発明の実施例1,2に係る印刷装置の動作を表すフローチャート。
【図7】本発明の実施例1,2に係る印刷装置の動作を表すフローチャート。
【図8】本発明の実施例1,2に係る印刷装置の動作を表すフローチャート。
【図9】本発明の実施例2に係る印刷システムの構成を説明するブロック図である。
【図10】本発明の実施例2に係るプリンタドライバの処理動作を表すフローチャート。
【図11】本発明の実施例2に係る描画情報バッファの構成を表す模式図。
【図12】本発明の実施例2に係る印刷装置の処理待ちを説明するブロック図である。
【図13】本発明の実施例2に係る印刷装置の処理高速化を説明するブロック図である。
【符号の説明】
【0099】
101 LBP本体
103 制御ボード収納部
115 排紙トレイ
128 操作パネル
130 用紙カセット
201 ホストコンピュータ
202 アプリケーション
210 ドライバ
203 プリントスプーラ
211 レイアウト変換手段
212 バンド分割手段
213 印刷コマンド生成手段
214 バンドメモリ
215 バンドメモリ転送手段
216 送信スケジュール決定手段
217 スプーラ転送手段
220 プリンタ
221 印刷ジョブ受信手段
222 中間データ変換手段
223 メモリ
224 中間データバッファ
225 イメージ展開手段
226 イメージデータバッファ
227 プリンタエンジン
230 印刷結果
901 描画情報蓄積手段
902 描画情報バッファ

【特許請求の範囲】
【請求項1】
互いに接続されたホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連の印刷ジョブを受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷装置とからなる印刷システムにおいて、
前記ホストコンピュータは、
アプリケーションから送られる描画オブジェクトを、必要に応じて物理用紙レイアウトへ変換するレイアウト変換手段と、
前記レイアウト変換手段によってレイアウト変換された描画オブジェクトをバンド状に分割された領域に対応して分割するバンド分割手段と、
前記バンド分割手段によって分割された描画オブジェクトから所定のルールに基づき前記印刷装置に対応した印刷コマンドを生成する印刷コマンド生成手段と、
前記印刷コマンド生成手段によって生成された印刷コマンドを前記バンド領域に対応させて記憶装置に記憶するバンドデータ記憶手段と、
前記記憶装置に記憶された前記印刷コマンド(以下、印刷データ)をバンド単位に前記印刷装置への送信する際の送信順序を決定する送信順序決定手段と、
前記記憶装置に記憶された前記印刷コマンドをバンド単位にプリントスプーラへ転送するスプーラ転送手段とを備え、
前記スプーラ転送手段は前記送信順序決定手段によって決定された送信順に従って、前記記憶装置に記憶された前記印刷コマンドをバンド単位に順次プリントスプーラへ転送することを特徴とした印刷システム。
【請求項2】
請求項1に記載の印刷システムであって、
前記スプーラ転送手段によってバンド単位に転送される印刷データの中に、そのバンド領域を示すバンド位置情報が含まれ、
前記印刷装置は前記バンド位置情報を参照し、前記印刷データを指定された位置に印刷することを特徴とした印刷システム。
【請求項3】
請求項2に記載の印刷システムであって、
前記ホストコンピュータはさらに、前記バンド単位に前記印刷コマンド生成手段によって生成された印刷コマンドに対する描画情報を積算する描画情報積算手段を備え、
前記転送順序決定手段は前記描画情報積算手段によって積算された描画情報から印刷データの送信順序を決定することを特徴とした印刷システム。
【請求項4】
請求項3に記載の印刷システムであって、
前記描画情報は印刷コマンドの種別、個数、データサイズのうち少なくともいずれか1つを含むことを特徴とした印刷システム。
【請求項5】
請求項3および4記載の印刷システムであって、
前記転送順序決定手段は各バンドの印刷データに対して、前記印刷装置における印刷処理を予測し、その予測結果にもとづいて印刷データ送信順序を決定することを特徴とした印刷システム。
【請求項6】
請求項3に記載の印刷システムであって、
前記描画情報は各印刷コマンドに対する前記印刷装置における処理時間の積算値であることを特徴とした印刷システム。
【請求項7】
請求項5記載の印刷システムであって、
前記印刷装置は受信した印刷データを一旦中間データに変換する中間データ変換手段と、前記中間データをビットマップイメージに展開するイメージ展開手段とを備え、
前記転送順序決定手段は前記描画情報から前記中間データ変換手段の処理時間および前記イメージ展開手段の処理時間をそれぞれバンド単位に予測し、その予測結果にもとづいて印刷データ送信順序を決定することを特徴とした印刷システム。
【請求項8】
請求項7記載の印刷システムであって、
前記送信順序決定手段は前記中間データ変換手段と前記イメージ展開手段が処理待ち状態にならないように、印刷データ送信順序を決定することを特徴とした印刷システム。

【図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

【図13】
image rotate


【公開番号】特開2008−186258(P2008−186258A)
【公開日】平成20年8月14日(2008.8.14)
【国際特許分類】
【出願番号】特願2007−19549(P2007−19549)
【出願日】平成19年1月30日(2007.1.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】