(57)【要約】【課題】  メモリ資源の確保不能による不正印字発生を未然に防止できるとともに、印刷品位や印刷速度が要求される場合には、バンド単位による命令送出に適応して品位低下や速度低下を回避して、ユーザが要求する印刷データを高品位、かつ高速に処理することである。【解決手段】  搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域（例えば図２に示すバンドスプーラ３０２３）を確保して、印刷装置と通信可能なデータ処理装置において、プリンタドライバ３０２２がバンド領域単位で印刷命令の送出処理中に、生成される印刷命令のメモリ領域への格納状態を判別して、送出すべき印刷命令の単位をバンド単位からページ単位に切り替え制御する構成を特徴とする。【選択図】  図２
2005169671.tif 000002
【特許請求の範囲】
【請求項１】
搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域を確保して、印刷装置と通信可能なデータ処理装置であって、
描画情報から前記印刷装置が印刷可能な印刷命令を生成する生成手段と、
前記生成手段により生成される印刷命令をバンド単位あるいはページ単位で前記印刷装置に送出する送出手段と、
バンド単位で印刷命令の送出処理中に、前記生成手段により生成される印刷命令の前記メモリ領域への格納状態を判別して、前記送出手段による命令送出単位をバンド単位からページ単位に切り替える制御手段と、
を有することを特徴とするデータ処理装置。
【請求項２】
前記送出手段は、バンド単位で印刷命令を送出する場合、初期化時に分割するバンド数分のメモリ領域を前記メモリ資源上に確保する確保手段を備え、
前記確保手段により初期化時に確保したメモリ領域内で印刷命令を格納出来ない場合、さらにメモリ領域を前記メモリ資源上に確保して、バンド単位で生成される印刷命令を１ページ分保持した後、各バンド毎に順次印刷命令を印刷装置に送出することを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記制御手段は、前記メモリ領域への格納状態または、イメージ描画指示状態を判別して、前記送出手段による命令送出単位をバンド単位からページ単位に切り替え可能とすることを特徴とする請求項１記載のデータ処理装置。
【請求項４】
前記イメージ描画指示状態は、全面サイズの描画指示を含むことを特徴とする請求項３記載のデータ処理装置。
【請求項５】
前記制御手段は、各ページ毎に前記生成手段により生成される印刷命令の前記メモリ領域への格納状態を判別することを特徴とする請求項１記載のデータ処理装置。
【請求項６】
搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域を確保して、印刷装置と通信可能なデータ処理装置における印刷制御方法であって、
描画情報から前記印刷装置が印刷可能な印刷命令を生成する生成ステップと、
前記生成ステップにより生成される印刷命令をバンド単位あるいはページ単位で前記印刷装置に送出する送出ステップと、
バンド単位で印刷命令の送出処理中に、前記生成ステップにより生成される印刷命令の前記メモリ領域への格納状態を判別して、前記送出ステップによる命令送出単位をバンド単位からページ単位に切り替える制御ステップと、
を有することを特徴とする印刷制御方法。
【請求項７】
前記送出ステップは、バンド単位で印刷命令を送出する場合、初期化時に分割するバンド数分のメモリ領域を前記メモリ資源上に確保する確保ステップを含み、
前記確保ステップにより初期化時に確保したメモリ領域内で印刷命令を格納出来ない場合、さらにメモリ領域を前記メモリ資源上に確保して、バンド単位で生成される印刷命令を１ページ分保持した後、各バンド毎に順次印刷命令を印刷装置に送出することを特徴とする請求項１記載の印刷制御方法。
【請求項８】
前記制御ステップは、前記メモリ領域への格納状態または、イメージ描画指示状態を判別して、前記送出ステップによる命令送出単位をバンド単位からページ単位に切り替え可能とすることを特徴とする請求項６記載の印刷制御方法。
【請求項９】
前記イメージ描画指示状態は、全面サイズの描画指示を含むことを特徴とする請求項８記載の印刷制御方法。
【請求項１０】
前記制御ステップは、各ページ毎に前記生成ステップにより生成される印刷命令の前記メモリ領域への格納状態を判別することを特徴とする請求項６記載の印刷制御方法。
【請求項１１】
請求項６〜１０のいずれかに記載の印刷制御方法を実現するプログラムを記憶したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項１２】
請求項６〜１０のいずれかに記載の印刷制御方法を実現することを特徴とするプログラムを。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域を確保して、印刷装置と通信可能なデータ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【背景技術】
【０００２】
従来の印刷システムにおける印刷制御方法および処理の流れについて図２を用いて説明する。
【０００３】
図９は、従来の印刷装置とホストコンピュータとを含む印刷システムのデータ処理構成を説明するブロック図であり、一般的には、セントロニクスインターフェースといったパラレル通信手段やネットワーク通信手段を介してホストコンピュータと印刷装置とが接続された印刷システム例に対応する。
【０００４】
図９において、ホストコンピュータ２０００側では、ワードプロセッサや表計算のようなアプリケーションソフトウェア２００１（以下アプリと略称）がＷｉｎｄｏｗｓ（米国Ｍｉｃｒｏｓｏｆｔ社の登録商標）のような、いわゆる基本ソフトの上で動作している。
【０００５】
このアプリケーションソフトウェア２００１において印刷を行う場合は、そのプログラム内から、基本ソフトが提供するいくつかのサブシステムのうちグラフィックサブシステム２００２の機能を用いて行う。
【０００６】
このグラフィックサブシステムは、例えばＷｉｎｄｏｗｓ（登録商標）では、ＧＤＩ（Ｇｒａｐｈｉｃ Ｄｅｖｉｃｅ Ｉｎｔｅｒｆａｃｅ）２００４と呼ばれておりディスプレイやプリンタに対する画像情報の処理を司っている。
【０００７】
このＧＤＩ２００４は、ディスプレイやプリンタといった各デバイス毎の依存性を吸収するためにデバイスドライバと呼ばれるモジュールを動的にリンクし、それぞれのデバイスに対する出力処理を行う。プリンタに対するこのモジュールはプリンタドライバ２００５と呼ばれる。
【０００８】
このプリンタドライバ２００５では、その能力や機能などに応じてあらかじめデバイスドライバに実装することが決められているＤＤＩ（Ｄｅｖｉｃｅ Ｄｒｉｖｅｒ Ｉｎｔｅｒｆａｃｅ）と呼ばれる関数群を用意する必要がある。アプリのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ Ｐｒｏｇｒａｍｉｎｇ Ｉｎｔｅｒｆａｃｅ）コールをＧＤＩ２００４がデバイスドライバ用にデータ変換を行い、このＤＤＩ関数群が適宜ＧＤＩ２００４からコールされ所定の印刷処理が実行されるような仕組みになっている。
【０００９】
ＧＤＩ２００４では、このようにプリンタドライバ２００５を介してアプリ２００１からの印刷要求をシーケンシャルに処理している。プリンタドライバ２００５には、プリンタドライバ内で出力時のイメージデータ形式にまで描画してしまうイメージモードと、描画処理可能なプリンタ向けのコマンドであるＰＤＬ（Ｐｒｉｎｔｅｒ Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ）モードに大別される。
【００１０】
まず、ＰＤＬ（Ｐｒｉｎｔｅｒ Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ）モード系プリンタドライバについて説明を行う。プリンタドライバ２００５は、ＤＤＩ関数毎にＰＤＬコマンドを生成する構成となっており、生成した印刷命令は、順次再度ＧＤＩ２００４を介して１ページ分スプールファイル２００６として格納される。そして、１ページ分のデータが揃うと、Ｉ／Ｆ２００７を介して印刷装置２１００へ送出される。
【００１１】
印刷装置２１００では、印刷命令を受信バッファ２１０３に一時格納し、コマンド解析部２１０７で解析処理が行われる。そして、解析した結果プリンタで高速に処理可能な中間データが生成されページメモリ２１０６の中間言語格納領域に格納される。中間データはページメモリ２１０６に１ページ分蓄えられると、プリンタ内の処理単位であるバンド領域毎に登録順にリスト構造（以降バンドリスト）が作られる。なお、ディスプレイリストと呼ぶ場合もある。
【００１２】
バンドリストにつながっている中間言語は、ハードウエアまたはソフトウエアにより用意したページメモリ２１０６内のバンドメモリ領域に対して描画処理が行われる。
【００１３】
そして、生成されたバンドメモリ上のイメージデータは、エンジン回転に同期してビデオ信号に変換（シップ処理）される。こうしたバンドメモリを２つ用意し、交互に読み出し／書き込みを切り替えながら繰り返し用いることで、少ないメモリ空間で、描画処理と、シップ処理をエンジンに同期して行うことが可能である。
【００１４】
しかしながら、上記ＰＤＬモード系処理は、ＤＤＩ関数から受け取るデータはすべて描画コマンドとして生成されるため、アプリ２００１が多量の描画命令を発行してきた分だけＰＤＬコマンドが生成される（理論上無限大）。
【００１５】
一方、印刷装置２１００に搭載されるメモリのメモリ容量は有限なので、印刷装置２１００内では以下のような手段で正常印字を実現している。
【００１６】
例えば一部の個所に複雑な、または多量に描画命令が発行された場合、描画時間がシップ処理時間よりも大きくなった場合、ページプリンタは以下のような手段を組み合わせて解決してきた。
【００１７】
解決例１（サブクローズ方式）
まず、第１段階で、中間言語データがページメモリ２１０６内に入りきらなくなった時は、それまで格納した中間言語データをバンドメモリを使って描画と圧縮（ＰａｃｋＢｉｔｓ、Ｒｕｎｌｅｎｇｔｈ、ＪＢＩＧ 圧縮等）し、中間データとして保持する（描画オブジェクトが関係した全てのバンド）。
【００１８】
次に、第２段階で、描画が済んだ中間言語データは消去することでページメモリ２１０６の空き領域を増やす。
【００１９】
そして、第３段階で、空いた領域に入りきっていない中間言語データを格納する。全ページ入りきれば第１段階へ戻り、再登録した圧縮イメージデータを１つの中間言語データとして扱うことで、同期バンドレンダリング可能とする。
【００２０】
第４段階で、上記処理を行っても１ページ分入りきらないときは、再度第１段階の処理を実施する。この場合、既に登録されている圧縮イメージデータが最初に描画され、その上に新たな中間データが描画された後、再圧縮することになる。
【００２１】
解決例２（プレバンド方式）
中間言語データが１つのバンドに集中して存在すると、描画処理がエンジン速度に間に合わないことがある。プリンタ内部で中間言語登録時に、そう判断されたバンド領域は、エンジンを起動する前に用意したバンドメモリ上に描画処理を実施しておく。
【００２２】
以上の手段により、正常印字は保証されているが、高速な同期バンドレンダリング処理が不可能なため、パフォーマンス劣化が発生する。
【００２３】
上記のようにプリンタドライバ２００５でページ単位で描画命令を生成するＰＤＬプリンタでは、パフォーマンスに多くの問題が発生しやすいため、その対策として、近年のプリンティングシステムにはプリンタドライバ２００５でコントローラで処理しやすいバンド単位のデータにまで変換してから送出してくる方式が出てきている（以降、ＢＤＬプリンティングシステムと呼ぶ）。
【００２４】
上記手段をとることで、限られたメモリ空間しか持たないプリンタでもページ単位で送られてくる理論上無限大サイズのＰＤＬコマンドを正常出力することを可能としていた。
【００２５】
しかしながら、上記イレギュラー系処理に入ると、プリンタ内部ではサブクローズ、プレバンド共に、複数のバンドメモリに対して何度も描画処理を行わなくてはならない。
【００２６】
元々１ページ分のバンドメモリを確保できないシステムでは描画処理とバンドメモリの圧縮、伸張処理を繰り返すことになり、通常処理に対してパフォーマンス劣化が発生していた。このような技術を記載した文献として、特許文献１がある。
【００２７】
そこで、これらの問題解決のために、近年は以下の手法１）〜３）を実行するＢＤＬ（Ｂａｎｄｉｎｇ Ｄｉｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ）プリンティングシステムが採用されている。
【００２８】
手法１）で、プリンタドライバにより印刷命令をバンド単位で送れるように１ページ分保持する。
【００２９】
手法２）で、１ページ分の印刷命令生成後、バンドの初めと終わりがわかるようにした印刷命令をバンド毎にプリンタに送出する。
【００３０】
手法３）で、プリンタは、バンド毎に描画処理を行うため、バンドメモリ領域が最低限一つあればサブクローズ処理、プレレンダリング処理が圧縮、非圧縮を繰り返さずに実現可能とする。なお、この種の公知技術として、特許文献２が既に公開されている。
【特許文献１】特開平９−０７１０１３号公報
【特許文献２】特開２００３−２１６３６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００３１】
上記したように、従来のＢＤＬによるプリンティングシステムは、プリンタにとってはサブクローズ、プレバンド処理をバンド単位で行えるためプリンタの搭載メモリが少なくても、巨大データや複雑なデータでもプリンタは高速に処理可能である。
【００３２】
一方、プリンタドライバは、ＯＳからページ単位で渡される描画命令を高速にバンド単位に並べ替えるためには、１ページ分の描画命令を保持できるメモリ空間が必要である。
【００３３】
ところが１ページ当たりにＯＳから渡される描画命令は理論上は無限に渡される可能性があるため、ホストマシンに搭載されるメモリ容量が少なかったり、他に立ち上がっているアプリがメモリを確保しているときには、必要な物理メモリの確保ができず、仮想メモリ獲得によるパフォーマンス劣化、またはシステムのデッドロックが発生することもあり得るとの課題が指摘されていた。
【００３４】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域を確保して、印刷装置と通信可能なデータ処理装置において、バンド単位で印刷命令の送出処理中に、生成される印刷命令のメモリ領域への格納状態を判別して、送出すべき印刷命令の単位をバンド単位からページ単位に切り替えることにより、メモリ資源の確保不能による不正印字発生を未然に防止できるとともに、印刷品位や印刷速度が要求される場合には、バンド単位による命令送出に適応して品位低下や速度低下を回避して、ユーザが要求する印刷データを高品位、かつ高速に処理できる利便性に優れた印刷処理環境を自在に整備できるデータ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
【課題を解決するための手段】
【００３５】
本発明に係る第１の発明は、搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域（例えば図２に示すバンドスプーラ３０２３）を確保して、印刷装置と通信可能なデータ処理装置であって、描画情報から前記印刷装置が印刷可能な印刷命令を生成する生成手段（例えば図２に示すプリンタドライバ３０２２）と、前記生成手段により生成される印刷命令をバンド単位あるいはページ単位で前記印刷装置に送出する送出手段（例えば図２に示すプリンタドライバ３０２２）と、バンド単位で印刷命令の送出処理中に、前記生成手段により生成される印刷命令の前記メモリ領域への格納状態を判別して、前記送出手段による命令送出単位をバンド単位からページ単位に切り替える制御手段（例えば図２に示すプリンタドライバ３０２２）とを有する。
【００３６】
本発明に係る第２の発明は、前記送出手段は、バンド単位で印刷命令を送出する場合、初期化時に分割するバンド数分のメモリ領域を前記メモリ資源上に確保する確保手段（例えば図２に示すプリンタドライバ３０２２）を備え、前記確保手段により初期化時に確保したメモリ領域内で印刷命令を格納出来ない場合、さらにメモリ領域を前記メモリ資源上に確保して、バンド単位で生成される印刷命令を１ページ分保持した後、各バンド毎に順次印刷命令を印刷装置に送出することを特徴とする。
【００３７】
本発明に係る第３の発明は、前記制御手段は、前記メモリ領域への格納状態または、イメージ描画指示状態を判別して、前記送出手段による命令送出単位をバンド単位からページ単位に切り替え可能とすることを特徴とする。
【００３８】
本発明に係る第４の発明は、前記イメージ描画指示状態は、全面サイズの描画指示を含むことを特徴とする。
【００３９】
本発明に係る第５の発明は、前記制御手段は、各ページ毎に前記生成手段により生成される印刷命令の前記メモリ領域への格納状態を判別することを特徴とする。
【００４０】
本発明に係る第６の発明は、搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域を確保して、印刷装置と通信可能なデータ処理装置における印刷制御方法であって、描画情報から前記印刷装置が印刷可能な印刷命令を生成する生成ステップ（図４に示すステップ（７０２））と、前記生成ステップにより生成される印刷命令をバンド単位あるいはページ単位で前記印刷装置に送出する送出ステップ（図４に示すステップ（７１０），（７０７））と、バンド単位で印刷命令の送出処理中に、前記生成ステップにより生成される印刷命令の前記メモリ領域への格納状態を判別して（図４に示すステップ（７１４））、前記送出ステップによる命令送出単位をバンド単位からページ単位に切り替える制御ステップ（図４に示すステップ（７１１））とを有することを特徴とする。
【００４１】
本発明に係る第７の発明は、前記送出ステップは、バンド単位で印刷命令を送出する場合、初期化時に分割するバンド数分のメモリ領域を前記メモリ資源上に確保する確保ステップ（図４に示すステップ（７０１））を含み、前記確保ステップにより初期化時に確保したメモリ領域内で印刷命令を格納出来ない場合、さらにメモリ領域を前記メモリ資源上に確保して（図４に示すステップ（７０６））、バンド単位で生成される印刷命令を１ページ分保持した後（図４に示すステップ（７１０））、各バンド毎に順次印刷命令を印刷装置に送出することを特徴とする。
【００４２】
本発明に係る第８の発明は、前記制御ステップは、前記メモリ領域への格納状態または、イメージ描画指示状態を判別して、前記送出ステップによる命令送出単位をバンド単位からページ単位に切り替え可能とすることを特徴とする。
【００４３】
本発明に係る第９の発明は、前記イメージ描画指示状態は、全面サイズの描画指示を含むことを特徴とする。
【００４４】
本発明に係る第１０の発明は、前記制御ステップは、各ページ毎に前記生成ステップに生成される印刷命令の前記メモリ領域への格納状態を判別することを特徴とする。
【００４５】
本発明に係る第１１の発明は、第６〜第１０の発明の印刷制御方法を実現するプログラムをコンピュータが読み取り可能な記憶媒体に記憶したことを特徴とする。
【００４６】
本発明に係る第１２の発明は、第６〜第１０の発明の印刷制御方法を実現するプログラムであることを特徴とする。
【発明の効果】
【００４７】
本発明によれば、メモリ資源の確保不能による不正印字発生を未然に防止できるとともに、印刷品位や印刷速度が要求される場合には、バンド単位による命令送出に適応して品位低下や速度低下を回避して、ユーザが要求する印刷データを高品位、かつ高速に処理できる利便性に優れた印刷処理環境を自在に整備できる。
【００４８】
したがって、限られたメモリサイズのホストマシン、印刷装置の環境において、印刷命令サイズが大きくても、不正印字になることなく、高速な印刷を可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００４９】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００５０】
本実施形態の構成を説明する前に、本実施形態を適用する印刷システムの印刷を担うカラーレーザビームプリンタ（以下「カラーＬＢＰ」と記述）の構成について図１を参照しながら説明する。
【００５１】
図１は、本発明に係る印刷システムに適用可能な印刷装置の一例を示す概略断面図であり、例えば６００ドット／インチ（ｄｐｉ）の解像度を有し、各色成分各画素が８ビットで表現された多値データに基づいて画像記録を行うカラーＬＢＰ例に対応する。
【００５２】
図１において、１００はカラーＬＢＰ本体（印刷装置）であり、外部に接続されているホストコンピュータなどから供給されるプリントデータ（文字コードや画像データ等）及び制御コードから成る印刷情報を入力して記憶するとともに、それらの情報に従って対応する文字パターンやイメージ等を作成し記憶媒体である記録紙上に像を形成する装置である。
【００５３】
１１０はホストコンピュータから供給される印刷情報を解析し印刷イメージの生成処理を行うとともにカラーＬＢＰ本体１００の制御を行うフォーマッタ制御部である。
【００５４】
また、フォーマッタ制御部１１０は、ユーザによる操作およびユーザに対する状態通知のためのスイッチおよびＬＥＤ表示器等が配されているオペレーションパネル部（パネル部）１２０と接続されており、そのパネル部は印刷装置１００の外装の一部として配設されている。
【００５５】
さらに、フォーマッタ制御部１１０において、生成された最終的な印刷イメージはビデオ信号として出力制御部１３０に送出され、出力制御部１３０は印刷装置１００の不図示の各種センサからの状態入力とともに光学ユニット１４０および各種駆動系機構部に対し制御信号を出力し印刷装置１００としての印刷処理の制御を司るものである。
【００５６】
図１に示す印刷装置において、給紙カセット１６１から給紙された用紙Ｐはその先端をグリッパ１５４ｆにより狭持されて、転写ドラム１５４の外周に保持される。光学ユニット１４０により感光ドラム１５１上に形成された各色の潜像は、イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｂ）の各色現像器Ｄｙ、Ｄｃ、Ｄｍ、Ｄｂにより現像化されて、転写ドラム外周の用紙に複数回転写されて多色画像が形成される。
【００５７】
その後、用紙Ｐは転写ドラム１５４より分離されて、定着ユニット１５５で定着され、排紙部１５９より排紙トレイ部１６０に排出される。ここで各色の現像器Ｄｙ、Ｄｃ、Ｄｍ、Ｄｂは、その両端に回転支軸を有し、各々がその軸を中心に回転可能となるように現像器選択機構部１５２に保持される。これによって、各現像器Ｄｙ、Ｄｃ、Ｄｍ、Ｄｂは、図１に示すように現像器選択のために現像器選択機構部１５２が回転軸１５２ａを中心にして回転しても、その姿勢を一定に維持できる構成をとっている。
【００５８】
そして、選択されたいずれかの現像器が現像位置に移動後、現像器選択機構部１５２は現像器と一体で支点１５３ｂを中心にして、選択機構保持フレーム１５３がソレノイド１５３ａにより感光ドラム１５１方向へ引っ張られ、感光ドラム１５１方向へ移動し現像処理が行われるように構成されている。
【００５９】
次に、帯電器１５６によって感光ドラム１５１が所定の極性に均一に帯電される。フォーマッタ制御部１１０においてデバイス依存ビットマップとして展開された印刷情報は、対応するパターンのビデオ信号に変換されレーザドライバに出力され半導体レーザ１４１を駆動する。
【００６０】
入力されたビデオ信号に応じて半導体レーザ１４１から発射されるレーザ光Ｌはオンオフ制御され、さらにスキャナモータ１４３によって高速回転するポリゴンミラー１４２で左右方向に振らされ、ポリゴンレンズ１４４、反射鏡１４５を介して感光ドラム１５１上を走査露光する。これにより、感光ドラム１５１上には画像パターンの静電潜像が形成されることになる。
【００６１】
次に、例えば、Ｍ（マゼンタ）色の静電潜像がＭ（マゼンタ）色の現像器Ｄｍにより現像され、感光体ドラム１５１上にＭ（マゼンタ）色の第１のトナー像が形成される。
【００６２】
一方、所定のタイミングで転写紙Ｐが給紙され、トナーと反対極性（例えばプラス極性）の転写バイアス電圧が転写ドラム１５４に印加され、感光体ドラム１５１上の第１トナー像が転写紙Ｐに転写されると共に、転写紙Ｐが転写ドラム１５４の表面に静電吸着される。その後、感光ドラム１５１はクリーナー１５７によって残留するＭ（マゼンタ）色トナーが除去され、次の色の潜像形成及び現像行程に備える。
【００６３】
以下同様の手順によってＣ（シアン）、Ｙ（イエロー）、Ｂ（ブラック）の順で第２、３、４色目のトナー像の転写が行われる。但し、各色の転写時には、転写ドラム１５４には前回よりも高いバイアス電圧が印加される点は異なる。
【００６４】
４色のトナー像が重畳転写された転写紙Ｐの先端部が分離位置に近づくと、分離爪１５８が接近してその先端が転写ドラム１５４の表面に接触し、転写紙Ｐを転写ドラム１５４から分離させる。分離された転写紙Ｐは定着ユニット１５５に搬送され、ここで転写紙上のトナー像が定着されて排紙トレイ１６０上に排出される。本実施形態のカラーレーザビームプリンタは、以上のような画像形成過程を経て６００ドット／インチ（ｄｐｉ）の解像度で画像出力を行う。
【００６５】
なお、本発明を適用可能なプリンタは、カラーＬＢＰに限られるものではなく、インクジェットプリンタやサーマルプリンタ等、他のプリント方式のカラープリンタでもよい。
【００６６】
図２は、本発明の一実施形態を示すデータ処理装置および印刷装置を適用可能な印刷システムの構成を説明するブロック図であり、以下、図１に示した印刷装置１００におけるフォーマッタ制御部１１０について説明する。
【００６７】
図２において、フォーマット制御部３１０２は、通常はＰＤＬコントローラなどとも呼ばれている部分であり、ホストコンピュータ３０００との接続手段であるところのインタフェース（Ｉ／Ｆ）部３１０１と、受信データ等を一時的に保持管理するための受信バッファ３１０３、送信データ等を一時的に保持管理するための送信バッファ３１０４、印刷データの解析を司るコマンド解析部３１０７、印刷制御処理実行部３１０９、描画処理実行部３１０５、ページメモリ３１０６より構成されている。
【００６８】
インタフェース（Ｉ／Ｆ）３１０１は、ホストコンピュータ３０００との印刷データの送受信を行う通信手段あり、通信プロトコルとして、例えばＩＥＥＥ−１２８４に準拠した通信を可能とするものである。ただし、本実施形態では、この通信手段に限定するものでなく、ネットワークを介してさまざまなプロトコルによる接続であってもよいし、ＩＥＥＥ−１３９４に準じた通信手段であってもよい。
【００６９】
このインタフェース３１０１を通して受信した印刷データは、そのデータを一時的に保持する記憶手段である受信バッファ３１０３に逐次蓄積され、必要に応じてコマンド解析部３１０７または描画処理実行部３１０５によって読み出され処理される。
【００７０】
コマンド解析部３０１７は、印刷命令体系や印刷ジョブ制御言語に準じた制御プログラムにより構成されており、文字印字、図形、イメージなどの描画に関する印刷データの解析結果は、描画処理実行部３１０５に指示を与えて処理し、給紙選択やリセット命令などの描画以外のコマンドは、印刷制御処理実行部３１０９に指示を出し処理する。
【００７１】
描画処理実行部３１０５は、文字やイメージの各描画オブジェクトをページメモリ３１０６内のバンドメモリに逐次展開して行くレンダラである。図１で前述したカラーＬＢＰに対しては、ＭＣＹＫの面順次でデバイス依存ビットマップデータを送出する必要があるが、標準状態では、そのために必要なメモリをすべて確保するわけではなく、１プレーン（１、２ ｏｒ ４ｂｉｔ／ｐｉｘｅｌ）の数分の１のバンド領域としてバンドメモリがページメモリ３１０６内に確保され、そのバンド領域を使ってレンダリング処理を行う。
【００７２】
描画処理実行部３１０５により、１バンド分の描画処理が終了すると、レンダリングしたビットマップイメージを圧縮して違うメモリ領域に移動することでバンドメモリを開放することでプリンタが必要とするメモリサイズを抑えている。
【００７３】
１ページ分の圧縮バンドビットマップが生成されたら、エンジン速度に同期して伸張してビデオ信号を生成することで印刷処理を実現している。
【００７４】
なお、一般的に、フォーマッタ制御部３１０２は、中央演算処理装置（ＣＰＵ）、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）などを用いたコンピュータ・システムによって構成されている。また、各部の処理は、マルチタスクモニタ（リアルタイムＯＳ）のもとでタイムシェアリングに処理される構成であっても良いし、各機能ごとに専用のコントローラ・ハードウェアを用意して独立して処理される構成であっても構わない。
【００７５】
オペレーションパネル３１２０は、前述した通り印刷装置の各種状態を設定したり、表示したりするためのものである。出力制御部３１０８は、バンドメモリ（ページメモリ３１０６に確保される）の内容をビデオ信号に変換処理し、プリンタエンジン部３１１０へ画像転送を行う。プリンタエンジン部（プリンタエンジン）３１１０は、受け取ったビデオ信号を記録紙に永久可視画像形成するための印刷機構部であり、図１において前述したものである。
【００７６】
以上、印刷装置３１００について説明したが、次にホストコンピュータ３０００を含む本実施形態の印刷システムの全体構成について説明を加える。
【００７７】
図２において、３０００はホストコンピュータであり、プリントデータ及び制御コードから成る印刷情報を印刷装置３１００に出力するものである。ホストコンピュータ３０００は、入力デバイスであるキーボード３１０やポインティングデバイスであるマウス３１１と、表示デバイスであるディスプレイモニタ３２０を合わせた一つのコンピュータシステムとして構成されている。ホストコンピュータ３０００は、Ｗｉｎｄｏｗｓ（登録商標）ＸＰ、Ｗｉｎｄｏｗｓ（登録商標）Ｍｅなどの基本ＯＳによって動作しているものとする。
【００７８】
ホストコンピュータ３０００側について、本発明に関する機能的な部分にのみ注目し、基本ＯＳ上での機能を大きく分類すると、アプリケーションソフトウェア３０１、グラフィックサブシステム３０２、印刷情報格納手段および印刷装置との通信手段を含むスプーラ３０３に大別される。
【００７９】
アプリケーションソフトウェア（アプリケーション）３０１は、例えばワープロや表計算などの基本ソフトウエア上で動作する応用ソフトウエアを指すものである。グラフィックサブシステム３０２は、基本ＯＳの機能の一部であるＧｒａｐｈｉｃ Ｄｅｖｉｃｅ Ｉｎｔｅｒｆａｃｅ （以後、ＧＤＩと記す）３０２１とそのＧＤＩから動的にリンクされるデバイスドライバであるプリンタドライバ３０２２によって構成されている。
【００８０】
プリンタドライバ３０２２は、ドライバ初期化時にＵＩ等で指定された印刷設定（用紙サイズ、解像度、カラーモード）とプリンタの機種依存情報からプリンタ内部で描画処理に使うバンディングサイズ、バンド数を算出する。
【００８１】
プリンタドライバ３０２２は、初期バンドスプーラを確保し、上記算出したバンド用スプール領域として管理を行う。
【００８２】
また、プリンタドライバ３０２２はＧＤＩからＤＤＩ（Ｄｅｖｉｃｅ Ｄｒｉｖｅｒ Ｉｎｔｅｒｆａｃｅ）というインタフェースを介して初期化時に、プリンタドライバ３０２２の描画能力等のドライバ情報をＯＳ（ＧＤＩ）に伝える。その際、ドライバのグラフィックス描画能力は高く見せることで、本発明の目的であるレイアウト変換処理の高速化を実現する。
【００８３】
ここで、描画能力とは具体的には、パス形式の塗りつぶし処理や、クリップ処理が可能、またはイメージの拡縮処理が可能といったことを意味する。
【００８４】
初期化処理の後、ＧＤＩ３０２１からＤＤＩＩ／Ｆを介してプリンタドライバ３０２２に描画が指示されると、逐次ＰＤＬコマンドを生成し、スプールファイル３０３１に書き込む。
【００８５】
本システムでは、ＤＤＩ関数に渡された情報をプリンタ３１００で高速に処理可能な印刷命令データ形式に変換し、生成した印刷命令を前記算出して獲得したバンドスプーラ領域３０２３に分割して格納していく。
【００８６】
ここでは、図３を用いて、例えばＷｉｎｄｗｏｓ（登録商標）２０００／ＸＰのＤｒｖＦｉｌｌＰａｔｈ（）関数に渡された「ＰＡＴＨＯＢＪ」６０００（領域塗りつぶしを意味する）と「ＣＬＩＰＯＢＪ」６００１（クリップ領域を意味する）が、バンド毎に分割された描画命令に変換されるまでを説明する。
【００８７】
図３は、本発明に係るデータ処理装置におけるバンド描画処理の一例を説明する模式図であり、ＰＡＴＨＯＢＪ６０００、ＣＬＩＰＯＢＪ６００１をそれぞれ別々にレイアウト変換処理を行う例である。
【００８８】
なお、図３では、ＰＡＴＨＯＢＪ６０００を構成する６点のＰＡＴＨ点列と、ＣＬＩＰＯＢＪ６００１の輪郭点列に対して、指定された一次変換処理６００２を行うことで実現する。
【００８９】
また、本例では、右方向に９０度回転のみをかけた状態を示しているが、縮小や拡大処理も同様の手段で実現可能である。
【００９０】
次に、グラフィックス分解処理６００５で、座標変換後のＰＡＴＨ領域６００４、ＣＬＩＰ領域６００３をそれぞれスキャンラインに展開する。ここで、スキャンラインとは、描画オブジェクト高さのｙ軸テーブルを持ち、各ｙ値からリンクされたｘ値のペアで構成されるデータ形式を意味している。パス点列情報からスキャンラインデータに展開する手段としては、Ａｃｔｉｖｅ Ｅｄｇｅ Ｔａｂｌｅ方式等が知られている。
【００９１】
次に、インターセクト処理６００８で、ＰＡＴＨから生成したスキャンライン６００７と、ＣＬＩＰから生成したスキャンライン６００６のインターセクトを取ることでＰＡＴＨ領域にクリップのかかったスキャンラインデータ６００９が生成される
次に、バンディング処理６０１０で、スキャンラインデータ６００９を、バンド毎に分けて印刷命令６０１１を生成する。
【００９２】
１ページ分の印刷データがバンドスプーラ３０２３にバンド毎に分割して格納されると、１バンド目のバンドスプーラ３０２３に格納されている印刷命令をコントローラで処理を行うバンド順にスプーラ３０３に送出する。
【００９３】
なお、バンドスプーラ３０２３から送り出す印刷命令の先頭には、バンドの位置を判定できるコマンドを付けることで、プリンタ３１００で受信中の印刷データがどのバンドに属するのか判別することを可能とする。
【００９４】
しかしながら、プリンタドライバ３０２２が描画命令受信中に、高解像度、高階調カラーイメージが渡されると、初期化時に確保したバンドスプーラ３０２３に、１ページ分の印刷命令が格納できなくなる事がある。
【００９５】
その時は、さらにメモリを確保してバンドスプーラ３０２３を増やせれば正常出力可能だが、システム環境によっては仮想メモリへのアクセスが発生しパフォーマンス劣化につながりかねない。
【００９６】
そこで、本実施形態は、上記のような事態が発生した場合には、以下の手段をとる。
【００９７】
プリンタドライバ３０２２のＤＤＩ関数に渡ってきたデータのサイズが大きく、必要なバンドバッファ領域を物理メモリ空間で確保できないと判断した時（＝ドライバの処理速度劣化）時、またはイメージを受け渡すＤＤＩ関数（Ｗｉｎｄｏｗｓ（登録商標）ＸＰにおけるＤｒｖＣｏｐｙＢｉｔｓ等）にＡ４全面サイズの２４ＢＰＰイメージの描画指示がわたってくるようなケースでは、バンドバッファを使ってバンド分割するよりも、そのまま印刷命令を印刷装置３１００に送出したほうが高速な場合が多い。
【００９８】
そこで、バンドバッファが確保できても、あるサイズ以上のイメージデータが渡されてきた時も以下の処理１）〜３）を行う。
【００９９】
１）既にバンドスプーラ３０２３にスプールされている印刷命令をバンド１から順に、バンドナンバを付けて印刷装置３１００に送出する。
【０１００】
２）バンディングモードで動くのを停止し、プリンタ３１００にはページモードで動くことを宣言するコマンド送出する。
【０１０１】
３）その後の描画命令は、印刷命令を生成次第スプーラに書き込む。以上のように、バンドモードからページモードに移る。
【０１０２】
これにより、ホストコンピュータ３０００上で必要な分のバンドバッファが確保できない場合にも正常印字も可能となる。
【０１０３】
また、コントローラに十分なメモリがある時には、高解像度、高階調イメージなどはホストで一旦確保するよりも高速な処理が可能である。
【０１０４】
スプーラ３０３は、ＯＳが管理しているスプールファイルシステムであり、設定により１ページ単位、またはジョブ単位で印刷データをスプールし、Ｉ／Ｆ３０３２を介して印刷装置３１００に送出する。
【０１０５】
スプールファイル３０３１に格納された印刷命令は、Ｉ／Ｆ３０３２を介してプリンタに送出される。
【０１０６】
基本ＯＳによって、上述したこれらの名称や機能的な枠組みは若干異なる場合があるが、本発明で言う各技術的手段が実現できるモジュールであれば、それらの名称や枠組みは本発明にとってあまり大きな問題ではない。
【０１０７】
例えば、スプーラやスプールファイルと呼ばれるものは、別のＯＳにおいてプリント・キューと呼ばれるモジュールに処理を組み込むことによっても実現可能である。
【０１０８】
なお、一般的に、これらの各機能モジュールを含むホストコンピュータ３０００は、中央演算処理装置（ＣＰＵ）、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ハードディスクドライブ（ＨＤＤ）、各種入出力制御部（Ｉ／Ｏ）などのハードウエアのもとで、基本ソフトと呼ばれるソフトウエアがその制御を司り、その基本ソフトの元で、それぞれの応用ソフト、サブ・システム・プロセスが機能モジュールとして動作するようになっている。
【０１０９】
（プリンタドライバの処理）
図４は、本発明に係るデータ処理装置におけるデータ処理手順の一例を示すフローチャートであり、例えば図２に示したプリンタドライバ３０２２内の印刷命令生成処理手順に対応する。なお、（７０１）〜（７１４）は各ステップを示す。
【０１１０】
まず、ステップ（７０１）で、ドライバ初期化時に、バンドスプーラ用のメモリをメモリ資源内で獲得（ａｌｌｏｃ）し、初期状態では、ドライバ処理モードは「バンディングモード」にセットする。
【０１１１】
次に、ステップ（７０２）で、ＯＳから受け取った描画データから印刷コマンドを作成したら、ステップ（７１４）で、印刷コマンドがしきい値を超えたサイズのイメージデータを取得しているかどうかを判断して、印刷コマンドがしきい値を超えたサイズのイメージデータを取得していると判断した場合は、ステップ（７０７）へ進む。
【０１１２】
一方、ステップ（７１４）で、印刷コマンドがしきい値を超えたサイズのイメージデータを取得していないと判断した場合は、ステップ（７０３）で、作成した印刷コマンドが用意されているバンドスプールメモリ中に格納できるかチェックして、格納できないと判断した場合は、ステップ（７０４）へ進み、足りない分バンドスプールメモリの獲得を試み、ステップ（７０５）で、必要な分のバンドスプーラ用メモリを獲得できたかどうかを判断して、獲得に成功したと判断した場合は、ステップ（７０６）へ進む。
【０１１３】
そして、ステップ（７０６）で、現バンドスプーラに、獲得したメモリをリンクし、バンドスプーラ領域を拡大して、ステップ（７０８）へ進む。
【０１１４】
一方、ステップ（７０３）で、現バンドメモリに格納可能であると判断した場合は、ステップ（７０８）へ進み、印刷コマンドを対応するバンドスプールに格納する。
【０１１５】
そして、ステップ（７０９）で、現ページにデータがまだあるかどうかを判断して、まだデータがあると判断した場合には、ステップ（７０２）へ戻る。
【０１１６】
一方、ステップ（７０９）で、データがもうないと判断された場合には、ステップ（７１０）へ進み、バンドスプールメモリ内の印刷コマンドに、バンド位置と全バンドデータが終わったことを伝えるコマンドを付けて１バンド目からスプーラに書き込んで、処理を終了する。
【０１１７】
一方、ステップ（７０５）で、獲得に失敗したと判断した場合は、ステップ（７０７）で、現バンドスプール内に格納されている印刷コマンドに、バンド位置が解るようにして１バンド目から順にシステムスプーラに書き込み。そして、ステップ（７１１）で、ドライバ内部処理を「バンディングモード」から「ページモード」に切り替える。
【０１１８】
そして、ステップ（７１２）で、ＤＤＩから渡される描画命令から印刷コマンド生成して、システムスプーラに書き込む。次に、ステップ（７１３）で、１ページ分のデータが終わっているかどうかを判断して、終わっていないと判断した場合は、ステップ（７１２）へ戻り、終わっていると判断した場合は、処理を終了する。
【０１１９】
（バンドスプーラのデータ構造）
図５は、図２に示したバンドスプーラ領域３０２３のデータ構造とその管理処理動作を説明する模式図であり、以下、バンドスプーラ管理構造体，バンドスプーラ等について説明する。
【０１２０】
図５において、図４に示したステップ（７０１）におけるプリンタドライバ初期化時には、ＤＤＩからは、原稿用紙サイズ、ＵＩの設定から解像度、出力用紙サイズから、プリンタで処理する際のバンドサイズ、個数を算出する。その情報から、以下のメモリ領域を確保する。
【０１２１】
バンドスプーラ管理構造体をなすＢＤＬＢＵＦＩＮＦ９０１は、バンドの個数を示すＢａｎｄＣｎｔ、各バンドの情報を格納する構造体の配列ＢａｎｄＩｎｆｏ、バンドバッファ本体の先頭アドレスを示すｌｐＢａｎｄＢｕｆＴｏｐ、 バンドバッファ内の空き領域のアドレスを示すｌｐＢａｎｄＢｕｆＦｒｅｅで構成される。なお、上記ＢａｎｄＩｎｆｏは、ＢａｎｄＣｎｔ分だけ確保される。
【０１２２】
ＢＤＬＢＮＤＩＮＦＯ構造体９０２、９０３、９０４は、バンド領域を示すｂａｎｄｒｅｃｔ、構造体が管理するメモリ空間の先頭アドレスを示すｌｐＴｏｐ、現在書き込み可能なメモリ空間を示すｌｐＣｕｒＢｕｆで構成されている。
【０１２３】
図５に示すように、バンドスプーラは、ＢＤＬＢＮＤＩＮＦＯ構造体９０２、９０３、９０４とその領域から構成され、バンドスプーラ管理構造体によりスプール常置ステップが管理されている。
【０１２４】
実際にバンド分割した印刷命令を格納するメモリ空間は、初期化時には一般的な印刷データが格納可能なサイズ分だけ獲得し、バンドスプーラ領域（バンドスプーラ）９０５のように内部を分割して利用する。
【０１２５】
先頭には、別のバンドスプーラへのポインタ（ｎｅｘｔｐ）９０６をセットする。なお、初期化時はＮＵＬＬがセットされている。
【０１２６】
続けて、本バンドスプーラ９０５のサイズは、サイズ（ｓｉｚｅ）９０７に設定される。その先のメモリ空間９０８〜９１２は、ＢＡＮＤＢＵＦＤＡＴＡ構造体とコマンド格納領域を１セットとしたセルで区切られている。
【０１２７】
メモリ空間（領域）９０８〜９１２において、ＢＡＮＤＢＵＦＤＡＴＡ構造体は、現セルの格納領域が足りなくなったときにリンクするセルへのポインタｌｐＮｅｘｔＢｕｆ（初期値ＮＵＬＬ）、現在格納したデータオフセットｎｏｗｏｆｆｓｅｔ（初期値０）、格納領域サイズを示すｂｕｆｓｉｚｅで構成されている。
【０１２８】
初期状態では、各バンドにＢＡＮＤＢＵＦＤＡＴＡ領域を１つずつ割り当て、ＢＤＬＢＮＤＩＮＦＯ配列のそれぞれのｌｐＴｏｐ、ｌｐＣｕｒＢｕｆにアドレスをセットしておく。
【０１２９】
図５に示す例では、バンド１の管理構造体９０２は、メモリ空間９０８を、ＢＤＬＢＮＤＩＮＦＯ構造体９０３はメモリ空間９０９を、ＢＤＬＢＮＤＩＮＦＯ構造体９０４はメモリ空間９１０に割り当てられていたことを示している。
【０１３０】
図５では、その後データを格納していくうちに、２バンド目のバンドスプーラ領域９０９にデータが入りきらなくなり、領域９１１、９１２も２バンド目の領域として使用している状態を示している。
【０１３１】
１ページ分の印刷命令が、初期化時に獲得したバンドスプーラ内に収まらないときは、更にバンドスプーラを確保し、バンドスプーラのｎｅｘｔｐに先頭アドレスを繋ぎ、ＢＤＬＢＵＦＩＮＦのｌｐＢａｎｄＦｒｅｅも新たなバンドスプーラを示すように再設定する。
【０１３２】
こうして、格納した印刷命令は以下の手順で出力される。
【０１３３】
バンドスプーラ管理構造体９０１の、１バンド目のＢａｎｄＩｎｆｏ構造体９０２のｂａｎｄｒｅｃｔを参照し、バンド位置（（ｌｅｆｔＸ、ｔｏｐＹ）、（ｒｉｇｈｔＸ、ｂｏｔｔｏｍＹ）、そのバンドに含まれる印刷命令サイズを算出指定バンド情報命令としてシステムスプーラに送出する。
【０１３４】
続いて、ｌｐＴｏｐが示す領域９０８に格納されている印刷命令を、ＢＡＮＤＢＵＦＤＡＴＡのｎｏｗｏｆｆｓｅｔ分だけシステムスプーラに出力する。同ＢＡＮＤＢＵＦＤＡＴＡのｌｐＮｅｘｔＢｕｆがＮＵＬＬの時は次のＢａｎｄＩｎｆｏ構造体に処理を移す。
【０１３５】
２バンド目も同様にＢＤＬＢＮＤＩＮＦＯのｌｐＴｏｐが示す領域９０９内部の印刷命令からシステムスプーラに出力するが、領域９０９のｌｐＮｅｘｔＢｕｆは領域９１１を、領域９１１のｌｐＮｅｘｔＢｕｆは領域９１２を示しているので、この順にシステムスプーラに出力する。
【０１３６】
そして、出力し終わったバンドスプーラ領域は、ｌｐＮｅｘｔＢｕｆ、ｎｏｗｏｆｆｓｅｔを初期状態に戻す。
【０１３７】
以下、印刷データの形式について説明する。
【０１３８】
図６は、図５に示したバンドスプーラに格納される印刷命令データの構造を説明する図である。
【０１３９】
図６において、５００は１ジョブ分の印刷命令データを示している。通常のＰＤＬ言語と同様に、ジョブ開始命令５００１で始まり、ページの開始を宣言するページ開始命令５００２が続く。
【０１４０】
本例は、初期状態は「バンディングモード」でデータ生成を行い、ページ途中で「ページモード」に切替わったときのデータを示す。
【０１４１】
バンドモードで生成された印刷データは、バンド情報命令５００３にバンドの位置を示すＢａｎｄＲｅｃｔ５０１０、印刷コマンドサイズ（ＢａｎｄＤａｔａＳｉｚｅ）５０１１が含まれている。
【０１４２】
生成されたバンド分の印刷命令５００４，５００６に続き、ページモードに移行することを指示するページモード移行命令５００７が続く。
【０１４３】
その後は、ページ単位の描画命令５００８が続き、ページの最後はｐａｇｅＥｎｄ５００９でそのページのデータは終了する。
【０１４４】
図７は、本発明に係る印刷装置におけるデータ処理手順の一例を示すフローチャートであり、図２に示した印刷装置３１００のフォーマッタ制御部３１０２によるデータ処理に対応する。なお、（８００１）〜（８０１５）は各ステップを示す。
【０１４５】
まず、ステップ（８００１）で、受信した処理モード命令を読み込み、「バンディングモード（バンドモード）」かどうかを判断して、「バンディングモード」であると判断した場合は、ステップ（８００２）へ進み、ページモードであると判断した場合は、ステップ（８０１０）へ進む。
【０１４６】
そして、ステップ（８００２）で、バンドナンバを読み込み、ステップ（８００３）で、既にレンダリングしたバンドイメージがあるかどうかを判断して、あると判断した場合は、ステップ（８００４）で、処理済みバンドのイメージデータをレンダリング処理を行うワークバンドメモリ空間に再展開して、ステップ（８００５）へ進む。
【０１４７】
一方、ステップ（８００３）で、既にレンダリングしたバンドイメージがないと判断した場合、すなわち、初めて処理するバンドであると判断した場合は、ステップ（８００５）で、描画コマンドを解析し、ワークバンドメモリ上に描画処理を実行する。
【０１４８】
そして、ステップ（８００６）で、現バンドの描画データを終了しているかどうかを判断して、終了していないと判断した場合は、ステップ（８００２）へ戻る。
【０１４９】
一方、ステップ（８００６）で、終了していると判断した場合は、ステップ（８００７）で、ワークバンドメモリ上の描画処理済みビットマップデータは圧縮して保持する。
【０１５０】
そして、ステップ（８００８）で、現ページデータが終了しているかどうかを判断して、終了していないと判断した場合は、ステップ（８００２）へ戻り、終了していると判断した場合は、ステップ（８００９）で、上位バンドの圧縮イメージデータから順にビデオ信号に変換してエンジンに送信して、処理を終了する。
【０１５１】
一方、ステップ（８００１）で、「ページモード」であると判断した場合は、ステップ（８０１０）で、ページ全面を描画処理可能なサイズのワークページメモリを確保し、ステップ（８０１１）で、既にバンドモードで生成された圧縮バンドイメージデータがあるかどうかを判断して、圧縮バンドイメージデータがあると判断した場合は、ステップ（８０１２）へ進み、圧縮されたバンドイメージデータをステップ（８０１０）で確保したワークページメモリ上に伸張展開して、ステップ（８０１３）へ進む。
【０１５２】
一方、ステップ（８０１１）で、圧縮バンドイメージデータがないと判断した場合は、ステップ（８０１３）で、描画コマンドを解析し、ワークページメモリに描画する。
【０１５３】
そして、ステップ（８０１４）で、現ページのデータが終了しているかどうかを判断して、終了していないと判断した場合は、ステップ（８０１３）へ戻り、同様の処理を繰り返す。
【０１５４】
一方、ステップ（８０１４）で、終了していると判断した場合は、ステップ（８０１５）で、ワークページメモリ上のイメージデータをビデオ信号に変換してエンジンに送出して、処理を終了する。
【０１５５】
なお、本発明は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【０１５６】
以下、図８に示すメモリマップを参照して本発明に係るデータ処理装置，印刷装置を含む印刷システムで読み取り可能なデータ処理プログラムの構成について説明する。
【０１５７】
図８は、本発明に係るデータ処理装置，印刷装置を含む印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１５８】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１５９】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１６０】
本実施形態における図４，図７に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１６１】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１６２】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６３】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１６４】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１６５】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１６７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１６８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７０】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１７１】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【産業上の利用可能性】
【０１７２】
上記実施形態では、印刷システムとして、ホストコンピュータ３０００と面順次で色画像を重ねてカラー画像形成する印刷装置３１００とが通信して印刷処理を行う場合について説明したが、エンジンは、これに限定されることなく、インクジェットエンジンや、４連タンデム方式のプリンタ等でも本発明を適用可能である。
【図面の簡単な説明】
【０１７３】
【図１】本発明に係る印刷システムに適用可能な印刷装置の一例を示す概略断面図である。
【図２】本発明の一実施形態を示すデータ処理装置および印刷装置を適用可能な印刷システムの構成を説明するブロック図である。
【図３】本発明に係るデータ処理装置におけるバンド描画処理の一例を説明する模式図である。
【図４】本発明に係るデータ処理装置におけるデータ処理手順の一例を示すフローチャートである。
【図５】図２に示したバンドスプーラ領域のデータ構造とその管理処理動作を説明する模式図である。
【図６】図５に示したバンドスプーラに格納される印刷命令データの構造を説明する図である。
【図７】本発明に係る印刷装置におけるデータ処理手順の一例を示すフローチャートである。
【図８】本発明に係るデータ処理装置，印刷装置を含む印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【図９】従来の印刷装置とホストコンピュータとを含む印刷システムのデータ処理構成を説明するブロック図である。
【符号の説明】
【０１７４】
３０１  アプリケーション
３０２  グラフィックサブシステム
３０３  スプーラ
３１０  キーボード
３１１  マウス
３２０  ディスプレイモニタ
３０２１  ＧＤＩ
３０２２  プリンタドライバ
３０２３  バンドスプーラ
３０２４  積算データ
３０３１  スプールファイル
３１００  印刷装置
３１０３  受信バッファ
３１０４  送信バッファ
３１０５  描画処理実行部
３１０６  ページメモリ
３１０７  コマンド解析部
３１０８  出力制御部
３１０９  印刷制御処理実行部
３１１０  プリンタエンジン
３１２０  オペレーションパネル
【図１】
2005169671.tif 000003
【図２】
2005169671.tif 000004
【図３】
2005169671.tif 000005
【図４】
2005169671.tif 000006
【図５】
2005169671.tif 000007
【図６】
2005169671.tif 000008
【図７】
2005169671.tif 000009
【図８】
2005169671.tif 000010
【図９】
2005169671.tif 000011