(57)【特許請求の範囲】
【請求項１】
所定の印刷装置が解釈、印刷可能な印刷命令を生成する印刷命令生成装置であって、
ページ単位で印刷命令を生成するページ生成モードと、バンド単位に印刷命令を並び替えることによりバンド単位の印刷命令を生成するバンド生成モードのいずれかで動作する命令生成手段と、
前記命令生成手段が生成した前記ページ単位の印刷命令に対して、その印刷命令の種類に応じた所定の計算式で計算したデータサイズを積算データとして積算し、記憶手段に当該積算データを記憶するデータサイズ積算手段と、
前記データサイズ積算手段により積算された積算データが、規定値を超えているか判断する判断手段と、
印刷すべき各ページの先頭から前記ページ生成モードで印刷命令を生成させるとともに、前記判断手段により、前記積算された積算データが前記規定値を超えると判断される場合に、当該ページの残りの印刷命令を前記バンド生成モードで生成するように、前記命令生成手段を制御する制御手段とを有することを特徴とする印刷命令生成装置。
【請求項２】
さらに、前記ページ単位での印刷命令と前記バンド単位での印刷命令の間に、印刷命令の切替を表す切替データを挿入する切替データ挿入手段を有することを特徴とする請求項１記載の印刷命令生成装置。
【請求項３】
前記印刷命令が前記所定の印刷装置に対応したページ記述言語によって記載されることを特徴とする請求項１又は請求項２記載の印刷命令生成装置。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載の印刷命令生成装置を有し、前記所定の印刷装置と通信可能に接続可能な情報処置装置。
【請求項５】
受信した印刷命令に基づいて印刷処理を行う印刷装置であって、
前記印刷命令を解析する解析手段と、
前記解析手段の解析結果に基づいて、前記印刷命令から中間データを生成する中間データ生成手段と、
バンドメモリに対してイメージデータの描画処理を行う描画手段と、
同一ページ内に、ページ単位での印刷命令からバンド単位での印刷命令への切替を示す切替データがあるかを判定する判定手段と、
前記判定手段により同一ページに含まれる前記印刷命令中に前記切替データがあると判定される場合、すでに前記中間データ生成手段により生成されている中間データを前記バンドメモリに描画処理し、当該切替データに後続するバンド単位の印刷命令を前記バンドメモリに描画処理すべく前記描画手段を制御し、一方、前記判定手段により同一ページ内に、前記切替データがないと判定される場合に、前記中間データ生成手段により１ページ分の中間データが生成された後で、前記中間データを前記バンドメモリに描画処理すべく前記描画手段を制御する印刷制御手段を有することを特徴とする印刷装置。
【請求項６】
前記制御手段は、第１バンドから順に描画処理したバンドのイメージデータを圧縮して記憶手段に格納させることを特徴とする請求項５記載の印刷装置。
【請求項７】
請求項４記載の情報処理装置と請求項５又は請求項６記載の印刷装置とが通信可能に接続されてなることを特徴とする印刷システム。
【請求項８】
所定の印刷装置が解釈、印刷可能な印刷命令を生成する印刷命令生成方法であって、
ページ単位で印刷命令を生成するページ生成モードと、バンド単位に印刷命令を並び替えることによりバンド単位の印刷命令を生成するバンド生成モードのいずれかで印刷命令を生成する命令生成ステップと、
前記命令生成ステップが生成した前記ページ単位の印刷命令に対して、その印刷命令の種類に応じた所定の計算式で計算したデータサイズを積算データとして積算し、記憶手段に当該積算データを記憶するデータサイズ積算ステップと、
前記データサイズ積算ステップにより積算された積算データが、規定値を超えているか判断する判断ステップと、
印刷すべき各ページの先頭から前記ページ生成モードでページ単位で印刷命令を生成させるとともに、前記判断ステップにより、前記積算された積算データが前記規定値を超えると判断される場合に、当該ページの残りの印刷命令を前記バンド生成モードで生成するように、前記命令生成ステップを制御する制御ステップとを有することを特徴とする印刷命令生成方法。
【請求項９】
さらに、前記ページ単位での印刷命令と前記バンド単位での印刷命令の間に、印刷命令の切替を表す切替データを挿入する切替データ挿入ステップを有することを特徴とする請求項８記載の印刷命令生成方法。
【請求項１０】
前記印刷命令が前記所定の印刷装置に対応したページ記述言語によって記載されることを特徴とする請求項８又は請求項９記載の印刷命令生成方法。
【請求項１１】
受信した印刷命令に基づいて印刷処理を行う印刷装置の制御方法であって、
前記印刷命令を解析する解析ステップと、
前記解析ステップの解析結果に基づいて、前記印刷命令から中間データを生成する中間データ生成ステップと、
バンドメモリに対してイメージデータの描画処理を行う描画ステップと、
同一ページ内に、ページ単位での印刷命令からバンド単位での印刷命令への切替を示す切替データがあるかを判定する判定ステップと、
前記判定手段により同一ページに含まれる前記印刷命令中に前記切替データがあると判定される場合、すでに前記中間データ生成ステップにより生成されている中間データを前記バンドメモリに描画処理し、当該切替データに後続するバンド単位の印刷命令を前記バンドメモリに描画処理すべく前記描画ステップを制御し、一方、前記判定ステップにより同一ページ内に、前記切替データがないと判定される場合に、前記中間データ生成ステップにより１ページ分の中間データが生成された後で、前記中間データを前記バンドメモリに描画処理すべく前記描画ステップを制御する印刷制御ステップを有することを特徴とする印刷装置の制御方法。
【請求項１２】
前記制御ステップは、第１バンドから順に描画処理したバンドのイメージデータを圧縮して記憶させることを特徴とする請求項１１記載の印刷装置の制御方法。
【請求項１３】
コンピュータ装置が実行可能なプログラムを格納した、前記コンピュータ装置が読み取り可能な記憶媒体であって、前記プログラムが、当該プログラムを実行したコンピュータ装置を、
所定の印刷装置が解釈、印刷可能な印刷命令を生成する印刷命令生成装置であって、
ページ単位で印刷命令を生成するページ生成モードと、バンド単位に印刷命令を並び替えることによりバンド単位の印刷命令を生成するバンド生成モードで動作し、かつ切替可能な命令生成手段と、
前記命令生成手段が生成した前記ページ単位の印刷命令に対して、その印刷命令の種類に応じた所定の計算式で計算したデータサイズを積算データとして積算し、記憶手段に当該積算データを記憶するデータサイズ積算手段と、
前記データサイズ積算手段により積算された積算データが、規定値を超えているか判断する判断手段と、
印刷すべき各ページの先頭から前記ページ生成モードで印刷命令を生成させるとともに、前記判断手段により、前記積算された積算データが前記規定値を超えると判断される場合に、当該ページの残りの印刷命令を前記バンド生成モードで生成するように、前記命令生成手段を制御する制御手段とを有することを特徴とする印刷命令生成装置として機能させることを特徴とする記憶媒体。
【請求項１４】
コンピュータ装置が実行可能なコンピュータプログラムであって、前記コンピュータプログラムが、当該コンピュータプログラムを実行したコンピュータ装置を、
所定の印刷装置が解釈、印刷可能な印刷命令を生成する印刷命令生成装置であって、
ページ単位で印刷命令を生成するページ生成モードと、バンド単位に印刷命令を並び替えることによりバンド単位の印刷命令を生成するバンド生成モードで動作し、かつ切替可能な命令生成手段と、
前記命令生成手段が生成した前記ページ単位の印刷命令に対して、その印刷命令の種類に応じた所定の計算式で計算したデータサイズを積算データとして積算し、記憶手段に当該積算データを記憶するデータサイズ積算手段と、
前記データサイズ積算手段により積算された積算データが、規定値を超えているか判断する判断手段と、
印刷すべき各ページの先頭から前記ページ生成モードで印刷命令を生成させるとともに、前記判断手段により、前記積算された積算データが前記規定値を超えると判断される場合に、当該ページの残りの印刷命令を前記バンド生成モードで生成するように、前記命令生成手段を制御する制御手段とを有することを特徴とする印刷命令生成装置として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばホストコンピュータにおいて所定の印刷装置に適した印刷命令を生成する印刷命令生成装置及び印刷命令生成方法に関し、特に安定したスループットを得られる印刷命令を生成可能な印刷命令生成装置及び印刷命令生成方法に関する。
【０００２】
本発明は又、受信した印刷命令に従って印刷処理を行う印刷装置及びその制御方法に関し、特に本発明による印刷命令生成装置及び印刷命令生成方法によって生成された印刷命令の実行に適した印刷装置及びその制御方法に関する。
【０００３】
【従来の技術】
図８は、ホストコンピュータと印刷装置とが通信可能に接続された一般的な印刷システムの構成例を示す図である。
【０００４】
通常、ホストコンピュータ２０００と印刷装置２１００は、セントロニクスインターフェース（ＩＥＥＥ１２８４）といったパラレルインタフェースやＵＳＢ、ＩＥＥＥ１３９４等のシリアルインタフェース、もしくは１０ＢＡＳＥ−Ｔ等のネットワークインタフェースを介して接続される。
【０００５】
ホストコンピュータ２０００側では、ワードプロセッサや表計算のようなアプリケーションソフトウェア２００１（以下アプリと略称）がＷｉｎｄｏｗｓ（米国Ｍｉｃｒｏｓｏｆｔ社の登録商標）のような、いわゆる基本ソフト（ＯＳ）の上で動作している。
【０００６】
これらのアプリにおいて印刷を行う場合は、そのプログラム内から、基本ソフトが提供するいくつかのサブシステムのうちグラフィック・サブ・システム２００２の機能を用いて行う。このグラフィック・サブ・システム２００２は、例えばＷｉｎｄｏｗｓでは、ＧＤＩ(Graphics Device Interface)２００４と呼ばれ、表示装置や印刷装置に対する画像情報の処理を司っている。
【０００７】
ＧＤＩ２００４は、表示装置や印刷装置の機種毎の依存性を吸収するため、デバイスドライバと呼ばれるモジュールを動的にリンクし、各装置に対する出力処理を行う。印刷装置に対するこのデバイスドライバはプリンタドライバ２００５と呼ばれる。このプリンタドライバ２００５では、対応する装置の能力や機能などに応じ、予めデバイスドライバに実装することが決められているＤＤＩ(Device Driver Interface)と呼ばれる関数群を用意する必要がある。
【０００８】
アプリのＡＰＩ(Application Programing Interface)コールをＧＤＩ（２００４）がデバイスドライバ用にデータ変換し、それによってＧＤＩ（２００４）からＤＤＩ関数群が適宜コールされて、所定の印刷処理が実行されるような仕組みになっている。ＧＤＩ（２００４）では、このようにプリンタドライバ２００５を用いてアプリ２００１からの印刷要求をシーケンシャルに処理している。大別して、プリンタドライバ２００５には、出力時のイメージデータ形式（ビットマップ形式）にまで描画してしまうイメージモード系のプリンタドライバと、印刷装置が解釈して描画処理を行うコマンドであるＰＤＬ(Printer Description Language)を生成するＰＤＬモード系のプリンタドライバとがある。
【０００９】
プリンタドライバ２００５がＰＤＬ(Printer Description Language)モード系プリンタドライバであるとする。ＰＤＬモード系のプリンタドライバは、ＤＤＩ関数のコール毎にＰＤＬコマンドを生成する構成となっており、この場合生成した印刷命令は、順次再度ＧＤＩ（２００４）を介して１ページ分スプールファイル２００６として格納される。１ページ分のデータが揃うとインタフェース（Ｉ／Ｆ）２００７を介してＰＤＬを解釈、描画可能な印刷装置２１００へ送出される。
【００１０】
印刷装置２１００は、ＰＤＬコマンド（印刷命令）を受信バッファ２１０３に一時格納し、コマンド解析部２１０７で解析処理する。解析結果に基づいて印刷装置で高速に処理可能な中間データを生成し、ページメモリ２１０６の中間言語格納領域に格納する。中間データはページメモリ２１０６に１ページ分蓄えられると、印刷装置内の処理単位であるバンド領域毎にリスト構造（バンドリストまたはディスプレイリストと呼ばれる）が作られる。
【００１１】
中間言語はバンドリスト単位で、ページメモリ２１０６内のバンドメモリ領域（以下単にバンドメモリとも言う）に対しハードウエアまたはソフトウエアにより描画処理される。
【００１２】
バンドメモリに生成されたイメージデータは、プリンタエンジンの動作（例えば感光ドラムの回転）に同期してビデオ信号に変換（シップ処理）される。バンドメモリを２つ用意し、交互に、かつくり返し用いることで、少ないメモリ空間で、描画処理とシップ処理とをプリンタエンジンの動作に同期して行うことが可能である。
【００１３】
しかし、ＰＤＬモード系プリンタドライバでは、ＤＤＩ関数から受け取るデータをすべて描画コマンドとして生成されるため、アプリケーションが多量の描画命令を発行してきた場合、多量の描画コマンドが生成される（理論上無限大）。しかし、印刷装置の搭載メモリは有限なので、コマンドに基づいて生成される中間言語がメモリに入りきらなくなったり（メモリオーバーフロー）、一部の個所に複雑な、または多量に描画命令が発行された場合、描画時間がシップ処理時間よりも大きくなる（プリントオーバーラン）ことがあり得る。従って、従来印刷装置内では以下のような手段で正常印字を実現している。
【００１４】
１．サブクローズ処理
（１）中間言語がページメモリ内に入りきらなくなった時は、それまで格納した中間言語データをバンドメモリを使って描画＆圧縮（PackBits，Runlength，JBIG圧縮等）し、中間データとして保持する（描画オブジェクトが関係した全てのバンド）。
（２）描画が済んだ中間言語データは消去することでページメモリの空き領域を増やす。
（３）空いた領域に、入りきっていない中間言語を格納。全ページ入りきれば（１）で再登録した圧縮イメージデータ（中間データ）を１中間言語として扱うことで、プリントエンジンと同期したバンド描画処理（同期バンドレンダリング）が可能となる。
（４）上記処理を行っても１ページ分の中間言語がメモリに入りきらないときは、再度（１）の処理を実施する。（既に登録されている圧縮イメージデータが最初に描画され、その上に新たな中間言語データを描画し、再圧縮する。）
【００１５】
２．プレバンド処理（プレレンダリング処理）
中間言語データがひとつのバンドに集中して存在すると、描画処理がプリンタエンジンの処理に間に合わないことがある。中間言語登録時に、このような状態になると判断されたバンドは、プリンタエンジンを起動する前に用意したバンドメモリ上に予め描画処理を実施しておく。
【００１６】
このような方法により、正常印字は保証されるが、高速な同期バンドレンダリング処理が不可能なため、印字速度が低下する。
【００１７】
一方、プリンタドライバ２００５がイメージモード系のプリンタドライバの場合、プリンタドライバ２００５内部で、１ページ、またはバンド単位のビットマップメモリ空間を確保し、ＤＤＩ関数がコールされる度にビットマップメモリ上に直接描画処理を実施する。
【００１８】
生成する印刷命令はビットマップデータで、ＰＤＬモード同様スプールファイル２００６として１ページ分格納されたあと、Ｉ／Ｆ２００７を介して印刷装置２１００へ送出される。このように、イメージモード系のプリンタドライバでは最終的な描画処理結果を出力するため、データサイズは最大でも１ページ全面分を超えることはない。
【００１９】
印刷装置２１００では、ＰＤＬを受信した場合と同様の処理が行われるが、送られてくるデータがイメージデータだけなので、１ページ全面分のイメージデータを受け付けられる構成になっていれば、どのような内容のデータであってもＰＤＬモードのように極端に遅い処理になることはない。（安定したスループットが出しやすい）。
【００２０】
【発明が解決しようとする課題】
以上をまとめると、
「ＰＤＬモード系プリンタドライバ」
メリット：印刷装置内部メモリに入りきるようなデータであれば、ドライバの処理も簡単（＝高速）で、印刷装置に送信すべきデータサイズも少なく、印刷装置側も高速に印字処理が可能である。
デメリット：多量なデータ、または複雑なデータがＰＤＬコマンドとして送られてきた場合、メモリ資源に限りのある印刷装置では印字速度が極端に落ちる可能性が高い。
【００２１】
「イメージモード系プリンタドライバ」
メリット：印刷装置に送られる印刷命令のサイズには上限があるため、印刷装置が安定した速度で動作することが可能。
デメリット：描画処理が簡単なページでもページ単位のイメージデータが印刷命令となるため、プリンタドライバが動作するホストコンピュータを占有する時間、印刷データの転送時間、印刷装置での処理時間が、一般的な内容のページを処理する場合ではＰＤＬモード系プリンタドライバを用いた場合よりも長くなる。
【００２２】
以上の両者の問題点を解決する手段として、図９のように、プリンタドライバ２００５’にスプール機能を持たせるとともに、生成した中間データを格納する記憶装置８０３１とデスプーラ８０３２からなるスプールサブシステムを設ける構成が提案されている。このようなシステムにおいて、プリンタドライバ２００５’で生成した中間データ１ページ分を記憶装置８０３１に保持し、保持した中間データをデスプーラ８０３２で解析する。そして、処理が複雑なページは描画処理を行ってイメージデータに変換し、その結果を印刷コマンドで括ることにより印刷データを生成する（イメージモード系プリンタドライバと同一の処理）。このように処理を行うことで、印刷装置側の負荷を軽減することが可能になるが、中間データ解析の為に一旦データをスプールする必要があるため、スプールを行わない場合と比較して、特に１ページ目の印刷が行われるまでの時間が長くなるという問題がある。
【００２３】
本発明はこのような従来技術の問題点に鑑みなされたものであり、その目的は、所定の印刷装置に適した印刷命令を生成する印刷命令生成装置及び印刷命令生成方法において、処理の軽いページの１ページ目の高速印刷と、処理の重いページの連続スループットの向上の両立可能な印刷命令を生成可能な印刷命令生成装置及び印刷命令生成方法を提供することにある。
【００２４】
本発明の別の目的は、本発明による印刷命令生成装置及び印刷命令生成方法が生成した印刷命令の処理に適した印刷装置及びその制御方法を提供することにある。
【００２５】
【課題を解決するための手段】
すなわち、本発明の要旨は、所定の印刷装置が解釈、印刷可能な印刷命令を生成する印刷命令生成装置であって、ページ単位で印刷命令を生成するページ生成モードと、バンド単位に印刷命令を並び替えることによりバンド単位の印刷命令を生成するバンド生成モードのいずれかで動作する命令生成手段と、命令生成手段が生成したページ単位の印刷命令に対して、その印刷命令の種類に応じた所定の計算式で計算したデータサイズを積算データとして積算し、記憶手段に当積算データを記憶するデータサイズ積算手段と、データサイズ積算手段により積算された積算データが、規定値を超えているか判断する判断手段と、印刷すべき各ページの先頭からページ生成モードで印刷命令を生成させるとともに、判断手段により、積算された積算データが規定値を超えると判断される場合に、当ページの残りの印刷命令をバンド生成モードで生成するように、命令生成手段を制御する制御手段とを有することを特徴とする印刷命令生成装置に存する。
【００２６】
また、本発明の別の要旨は、本発明の印刷命令生成装置を有し、所定の印刷装置と通信可能に接続可能な情報処置装置に存する。
【００２７】
また、本発明の別の要旨は、受信した印刷命令に基づいて印刷処理を行う印刷装置であって、印刷命令を解析する解析手段と、解析手段の解析結果に基づいて、印刷命令から中間データを生成する中間データ生成手段と、バンドメモリに対してイメージデータの描画処理を行う描画手段と、同一ページ内に、ページ単位での印刷命令からバンド単位での印刷命令への切替を示す切替データがあるかを判定する判定手段と、判定手段により同一ページに含まれる印刷命令中に切替データがあると判定される場合、すでに中間データ生成手段により生成されている中間データをバンドメモリに描画処理し、当切替データに後続するバンド単位の印刷命令をバンドメモリに描画処理すべく描画手段を制御し、一方、判定手段により同一ページ内に、切替データがないと判定される場合に、中間データ生成手段により１ページ分の中間データが生成された後で、中間データをバンドメモリに描画処理すべく描画手段を制御する印刷制御手段を有することを特徴とする印刷装置に存する。
【００２８】
また、本発明の別の要旨は、本発明の情報処理装置と本発明の印刷装置とが通信可能に接続されてなることを特徴とする印刷システムに存する。
【００２９】
また、本発明の別の要旨は、所定の印刷装置が解釈、印刷可能な印刷命令を生成する印刷命令生成方法であって、ページ単位で印刷命令を生成するページ生成モードと、バンド単位に印刷命令を並び替えることによりバンド単位の印刷命令を生成するバンド生成モードのいずれかで印刷命令を生成する命令生成ステップと、命令生成ステップが生成したページ単位の印刷命令に対して、その印刷命令の種類に応じた所定の計算式で計算したデータサイズを積算データとして積算し、記憶手段に当積算データを記憶するデータサイズ積算ステップと、データサイズ積算ステップにより積算された積算データが、規定値を超えているか判断する判断ステップと、印刷すべき各ページの先頭からページ生成モードでページ単位で印刷命令を生成させるとともに、判断ステップにより、積算された積算データが規定値を超えると判断される場合に、当ページの残りの印刷命令をバンド生成モードで生成するように、命令生成ステップを制御する制御ステップとを有することを特徴とする印刷命令生成方法に存する。
【００３０】
また、本発明の別の要旨は、受信した印刷命令に基づいて印刷処理を行う印刷装置の制御方法であって、印刷命令を解析する解析ステップと、解析ステップの解析結果に基づいて、印刷命令から中間データを生成する中間データ生成ステップと、バンドメモリに対してイメージデータの描画処理を行う描画ステップと、同一ページ内に、ページ単位での印刷命令からバンド単位での印刷命令への切替を示す切替データがあるかを判定する判定ステップと、判定手段により同一ページに含まれる印刷命令中に切替データがあると判定される場合、すでに中間データ生成ステップにより生成されている中間データをバンドメモリに描画処理し、当切替データに後続するバンド単位の印刷命令をバンドメモリに描画処理すべく描画ステップを制御し、一方、判定ステップにより同一ページ内に、切替データがないと判定される場合に、中間データ生成ステップにより１ページ分の中間データが生成された後で、中間データをバンドメモリに描画処理すべく描画ステップを制御する印刷制御ステップを有することを特徴とする印刷装置の制御方法に存する。
【００３１】
また、本発明の別の要旨は、コンピュータ装置が実行可能なプログラムを格納した、コンピュータ装置が読み取り可能な記憶媒体であって、プログラムが、当プログラムを実行したコンピュータ装置を、所定の印刷装置が解釈、印刷可能な印刷命令を生成する印刷命令生成装置であって、ページ単位で印刷命令を生成するページ生成モードと、バンド単位に印刷命令を並び替えることによりバンド単位の印刷命令を生成するバンド生成モードで動作し、かつ切替可能な命令生成手段と、命令生成手段が生成したページ単位の印刷命令に対して、その印刷命令の種類に応じた所定の計算式で計算したデータサイズを積算データとして積算し、記憶手段に当積算データを記憶するデータサイズ積算手段と、データサイズ積算手段により積算された積算データが、規定値を超えているか判断する判断手段と、印刷すべき各ページの先頭からページ生成モードで印刷命令を生成させるとともに、判断手段により、積算された積算データが規定値を超えると判断される場合に、当ページの残りの印刷命令をバンド生成モードで生成するように、命令生成手段を制御する制御手段とを有することを特徴とする印刷命令生成装置として機能させることを特徴とする記憶媒体に存する。
【００３２】
また、本発明の別の要旨は、コンピュータ装置が実行可能なコンピュータプログラムであって、コンピュータプログラムが、当コンピュータプログラムを実行したコンピュータ装置を、所定の印刷装置が解釈、印刷可能な印刷命令を生成する印刷命令生成装置であって、ページ単位で印刷命令を生成するページ生成モードと、バンド単位に印刷命令を並び替えることによりバンド単位の印刷命令を生成するバンド生成モードで動作し、かつ切替可能な命令生成手段と、命令生成手段が生成したページ単位の印刷命令に対して、その印刷命令の種類に応じた所定の計算式で計算したデータサイズを積算データとして積算し、記憶手段に当積算データを記憶するデータサイズ積算手段と、データサイズ積算手段により積算された積算データが、規定値を超えているか判断する判断手段と、印刷すべき各ページの先頭からページ生成モードで印刷命令を生成させるとともに、判断手段により、積算された積算データが規定値を超えると判断される場合に、当ページの残りの印刷命令をバンド生成モードで生成するように、命令生成手段を制御する制御手段とを有することを特徴とする印刷命令生成装置として機能させることを特徴とするコンピュータプログラムに存する。
【００３３】
【発明の実施の形態】
以下、図面を参照して、本発明をその好適な実施形態に基づき詳細に説明する。
（印刷装置の構成）
図１は、本発明の実施形態に係る印刷装置の一例としてのカラーレーザービームプリンタ（以下「カラーＬＢＰ」と記述）の構成例を示す断面図である。ここで、図１のカラーＬＢＰは、６００ドット／インチ（ｄｐｉ）の解像度を有し、各色成分各画素が８ビットで表現された多値データに基づいて画像記録を行うものとする。
【００３４】
図１において、１００はカラーＬＢＰ本体であり、外部に接続されているホストコンピュータから供給されるプリントデータ（文字コードや画像データ等）及び制御コードから成る印刷命令を受信して記憶するとともに、印刷命令に従って、対応する文字パターンやイメージ等を作成し記憶媒体の一例としての記録紙上に可視像を形成する装置である。
【００３５】
１１０はホストコンピュータから供給される印刷命令を解析し、印刷イメージの生成処理を行うとともにカラーＬＢＰ本体１００の制御を行うフォーマッタ制御部である。また、フォーマッタ制御部１１０は、ユーザによる操作およびユーザに対する状態通知のための、スイッチおよびＬＥＤ表示器等が配されているオペレーション・パネル部１２０と接続されている。オペレーション・パネル部１２０は例えば印刷装置１００の筐体の一部として実装されている。
【００３６】
フォーマッタ制御部１１０において生成された最終的な印刷イメージはビデオ信号として出力制御部１３０に送出される。出力制御部１３０は印刷装置１００の不図示の各種センサからの状態入力とともに光学ユニット１４０および各種駆動系機構部に対し制御信号を出力し、印刷装置１００の印刷処理制御を司る。
【００３７】
図１に示す印刷装置において、給紙カセット１６１から給紙された記録紙Ｐはその先端をグリッパ１５４ｆにより狭持されて、転写ドラム１５４の外周に保持される。光学ユニット１４０により感光ドラム１５１上に形成された、４色に色分解された原稿画像の静電潜像は、順次、イエロー（Ｙ），マゼンタ（Ｍ），シアン（Ｃ），ブラック（Ｂ）の各色現像器Ｄｙ，Ｄｍ，Ｄｃ，Ｄｂにより現像される。現像結果である各色トナー像を転写ドラム上の記録紙Ｐに重ねて転写することにより、記録紙Ｐ上に多色画像が形成される。
【００３８】
その後、記録紙Ｐは転写ドラム１５４より分離されて、定着ユニット１５５へ搬送される。定着ユニット１５５では熱と圧力によりトナー像を記録紙Ｐに定着し、記録紙Ｐを排紙部１５９より排紙トレイ部１６０に排出する。
【００３９】
ここで、各色の現像器Ｄｙ，Ｄｍ，Ｄｃ，Ｄｂは、その両端に回転支軸を有し、各々がその軸を中心に回転可能となるように現像器選択機構部１５２に保持される。これによって、各現像器Ｄｙ，Ｄｃ，Ｄｂ，Ｄｎは、図１に示すように現像器選択のために現像器選択機構部１５２が回転軸１５２ａを中心にして回転しても、その姿勢を一定に維持できる構成をとっている。
【００４０】
選択された現像器が現像位置に移動後、現像器選択機構部１５２は現像器と一体で支点１５３ｂを中心にして、選択機構保持フレーム１５３がソレノイド１５３ａにより感光ドラム１５１方向へ引っ張られ、感光ドラム１５１方向へ移動し現像処理が行われるように構成されている。
【００４１】
次に、帯電器１５６によって感光ドラム１５１が所定の極性に均一に帯電される。フォーマッタ制御部１１０においてデバイス依存ビットマップとして展開された印刷命令は、対応するパターンのビデオ信号に変換されレーザドライバに出力され半導体レーザ１４１を駆動する。入力されたビデオ信号に応じて半導体レーザ１４１から発射されるレーザ光はオンオフ制御され、さらにスキャナモータ１４３によって高速回転するポリゴンミラー１４２で反射され、ポリゴンレンズ１３４、反射鏡１４４を介して感光ドラム１５１上を走査露光する。これにより、感光ドラム１５１上にはビデオ信号に対応した静電潜像が形成される。
【００４２】
次に、例えば、Ｍ（マゼンタ）色の静電潜像がＭ（マゼンタ）色の現像器Ｄｍにより現像され、感光体ドラム１５１上にＭ（マゼンタ）色の第１のトナー像が形成される。一方、所定のタイミングで記録紙Ｐが給紙され、トナーと反対極性（例えばプラス極性）の転写バイアス電圧が転写ドラム１５４に印加され、感光体ドラム１５１上の第１トナー像が記録紙Ｐに転写されると共に、記録紙Ｐが転写ドラム１５４の表面に静電吸着される。
【００４３】
その後、感光ドラム１５１はクリーナー１５７によって残留するＭ（マゼンタ）色トナーを除去され、次の色の潜像形成及び現像行程に備える。以下同様の手順によってＣ（シアン）、Ｙ（イエロー）、Ｂｋ（ブラック）の順で第２，３，４色目のトナー像の転写が行われる。但し、各色の転写時には、転写ドラム１５４には前回よりも高いバイアス電圧が印加される点は異なる。
【００４４】
４色のトナー像が重畳転写された記録紙Ｐの先端部が分離位置に近づくと、分離爪１５８が接近してその先端が転写ドラム１５４の表面に接触し、記録紙Ｐを転写ドラム１５４から分離させる。分離された記録紙Ｐは定着ユニット１５５に搬送され、ここで記録紙上のトナー像が定着されて排紙トレイ１６０上に排出される。カラーレーザービームプリンタは、以上のような画像形成過程を経て６００ドット／インチ（ｄｐｉ）の解像度で画像出力を行う。なお、本発明において印刷装置として使用可能なプリンタは、カラーＬＢＰに限られるものではなく、インクジェットプリンタやサーマルプリンタ等、他の方式のカラープリンタでもよいし、モノクロプリンタであってもよい。
【００４５】
（印刷システムの構成）
図２に、本発明の実施形態に係る印刷システムの構成例を示す。本発明においても図８及び図９に示した従来の印刷システムと同様、ホストコンピュータ３０００と印刷装置１００とが通信可能に接続された構成を有する。
【００４６】
まず、印刷装置１００におけるフォーマッタ制御部１１０について図２を用いて説明する。このフォーマッタ制御部１１０は、ＰＤＬコントローラなどとも呼ばれており、ホストコンピュータ３０００との接続手段であるインタフェース（Ｉ／Ｆ）部３１０１と、受信データ等を一時的に保持管理するための受信バッファ３１０３、送信データ等を一時的に保持管理するための送信バッファ３１０４、印刷データの解析を司るコマンド解析部３１０７、印刷制御処理実行部３１０９、描画処理実行部３１０５、ページメモリ３１０６より構成されている。
【００４７】
インタフェース（Ｉ／Ｆ）部３１０１は、ホストコンピュータ３０００との印刷データの送受信を行う通信手段であり、通信プロトコルとして例えばＩＥＥＥ−１２８４に準拠した通信を可能とするものである。ただし、ホストコンピュータ３０００と印刷装置１００との接続方法は任意であり、ＬＡＮ等のコンピュータネットワークを介した接続であっても、ＵＳＢ(Universal Serial Bus)、ＩＥＥＥ−１３９４等のシリアルインタフェースを介した接続であってもよい。
【００４８】
インタフェース部３１０１を通して受信した印刷データは、そのデータを一時的に保持する記憶手段である受信バッファ３１０３に逐次蓄積され、必要に応じてコマンド解析部３１０７または描画処理実行部３１０５によって読み出され処理される。コマンド解析部３１０７は、印刷命令体系や印刷ジョブ制御言語に準じた制御プログラムにより構成されており、文字印字、図形、イメージなどの描画に関する印刷データの解析結果は、描画処理実行部３１０５に指示を与えて処理し、給紙選択やリセット命令などの描画以外のコマンドは、印刷制御処理実行部３１０９に指示を出し処理する。
【００４９】
描画処理実行部３１０５は、文字やイメージの各描画オブジェクトをページメモリ３１０６内のバンドメモリに逐次展開して行くＹＭＣＫレンダラである。図１を参照して前述したカラーＬＢＰに対しては、ＭＣＹＫの順番でデバイス依存ビットマップデータを送出する必要があるが、標準状態では、そのために必要なメモリをすべて確保するわけではなく、１プレーン（１，２又は４ｂｉｔ／ｐｉｘｅｌ）の数分の１のメモリ領域がバンドメモリ領域としてページメモリ３１０６内に確保される。そして、バンドメモリ領域を繰り返し用い、プリンタエンジン３１１０の処理に同期して描画処理するように構成されている。
【００５０】
通常はこのように、描画処理実行部３１０５による展開処理をプリンタエンジン３１１０へのビデオ信号のシッピング処理が追いかけるバンディング制御によってページメモリ３１０６は管理されているが、十分なメモリがある場合は１ページ分が展開可能なメモリ領域を確保しても良い。
【００５１】
なお、一般的にフォーマッタ制御部１１０は、中央演算処理装置（ＣＰＵ）、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）などを用いたコンピュータ・システムによって構成されている。また、フォーマッタ制御部１１０内の各部の処理は、マルチタスクモニタ（リアルタイムＯＳ）のもとでタイムシェアリングに処理される構成であっても良いし、各機能ごとに専用のコントローラ・ハードウェアを用意して独立して処理される構成であってもかまわない。
【００５２】
オペレーション・パネル１２０は、前述した通り、印刷装置１００の各種状態を設定・表示するためのものである。出力制御部３１０８は、バンドメモリ（ページメモリ）３１０６の内容をビデオ信号に変換処理し、プリンタエンジン３１１０へ転送する。プリンタエンジン３１１０は受け取ったビデオ信号に基づいて記録紙上に永久可視画像を形成するための印刷機構であり、図１を用いて前述し各種機構を含む。
【００５３】
（ホストコンピュータの構成）
図２において３０００は、本発明の印刷命令生成装置に好適な実施形態に係るホストコンピュータであり、プリントデータ及び制御コードから成る印刷データを印刷装置１００に出力する。ホストコンピュータ３０００は、入力装置としてのキーボード３１０やマウス３１１と、表示装置であるディスプレイ・モニタ３２０とが接続された一つのコンピュータ・システムとして構成されている。ホストコンピュータ３０００は、Ｗｉｎｄｏｗｓ（登録商標）などの基本ソフト（ＯＳ）によって動作しているものとする。
【００５４】
ホストコンピュータ側について、本発明に関する部分にのみ注目して機能的に大きく分類すると、アプリケーションソフトウェア３０１、グラフィック・サブ・システム３０２、スプールファイル３０３１および印刷装置との通信インタフェースを含むスプーラ３０３に大別される。
【００５５】
アプリケーションソフトウェア３０１は、例えば、ワープロや表計算などのＯＳ上で動作する応用ソフトウェアである。グラフィック・サブ・システム３０２は、ＯＳの機能の一部であるGraphics Device Interface（以後、ＧＤＩと記す）３０２１とＧＤＩ３０２１から動的にリンクされるデバイスドライバであるプリンタドライバ３０２２、バンドスプーラ３０２３及び積算データ３０２４によって構成されている。
【００５６】
プリンタドライバ３０２２は、ＧＤＩ３０２１からＤＤＩ(Device Driver Interface)というインターフェースを介してコールされ、印刷装置に応じた処理を描画オブジェクト毎に行う。本実施形態に係るホストコンピュータ３０００では、ＤＤＩ関数に渡された情報をプリンタで高速に処理可能な印刷命令データ（ＰＤＬ）形式に変換し、直接スプーラ３０３に送出する場合と、生成した印刷命令データをバンド単位に分割してバンドスプーラ３０２３に第１バンドから順に１ページ分保持し、ページの最後にまとめてスプーラ３０３に送出する場合の二通りの処理が存在する。
【００５７】
スプーラ３０３は、ＯＳが管理しているスプールファイルシステムであり、設定により１ページ単位、またはジョブ単位で印刷データをスプールファイル３０３１として格納し、Ｉ／Ｆ３０３２を介して印刷装置１００に送出する。
【００５８】
ＯＳによって、上述した各部の名称や機能的な枠組みが若干異なる場合もあるが、これら名称や枠組みの相違は本発明の本質には影響しない。例えば、本発明でスプーラやスプールファイルと呼ぶモジュールは、別のＯＳにおいてプリント・キューと呼ばれるモジュールを用いて実現可能である。
【００５９】
なお一般的に、これらの各機能モジュールを含むホストコンピュータ３００は、中央演算処理装置（ＣＰＵ）、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ハードディスクドライブ（ＨＤＤ）、各種入出力制御部（Ｉ／Ｏ）などのハードウェアのもとで、基本ソフト（ＯＳ）と呼ばれるソフトウェアがその制御を司り、その基本ソフトの元で、それぞれの応用ソフト、サブ・システム・プロセスが機能モジュールとして動作する。
【００６０】
（プリンタドライバの処理）
図３は、本発明の印刷命令生成装置としての、ホストコンピュータ３０００におけるプリンタドライバ３０２２の処理概要を模式的に説明した図である。
４００１は一般的なドキュメント作成アプリケーションを使って作成したドキュメントとして、グラフィックス、文字、イメージが含まれているものとする。
【００６１】
このようなドキュメントを印刷する際、まずＯＳにインストールされているプリンタドライバ３０２２に対して、ＯＳを介して描画命令（４００２、４００３）が渡される。プリンタドライバ３０２２は、初期状態は通常のＰＤＬモード系ドライバと同様に、描画命令毎に印刷命令（ＰＤＬ）を生成し、システムスプーラ３０３に書き込みを実施する。この際に、プリンタドライバ３０２２は、コマンド数やコマンドの種類に応じた所定の計算式で計算したデータサイズを積算データ３０２４として積算していく。積算データ３０２４は例えばホストコンピュータの有するＲＡＭの所定領域に格納される。なお、ＯＳを介してプリンタドライバ３０２２が受け取る描画命令（ＤＤＩ関数）は、描画オブジェクトの重なりの下のレイヤーから順に出力される仕様になっている。
【００６２】
１ページ分のデータ全てをシステムスプーラ３０３に書き込めたときは、スプーラ３０３にスプールファイル３０３１として蓄えられた印刷命令（ＰＤＬ）を、印刷装置１００に送出し、積算データ３０２４をクリアする。
一方、積算データ３０２４の値が、予め定めたデータサイズ、コマンド数等を超えた時は、以下のように処理を切り替える。
【００６３】
図３の４０１０は、４００２で示される「矩形描画（イメージの背景）４０２１、イメージ描画命令４０２２及びイメージの実体４０２３」までがシステムスプーラ３０３に格納された様子を示している。
本実施形態ではイメージデータ４０２３をスプーラ３０３に出力した時点で、積算データ３０２４が予め定めたデータサイズの閾値を超えたことを契機に処理が切り替えられたものとする。
【００６４】
プリンタドライバ３０２２は、イメージデータ４０２３以降の描画命令４００３に対する印刷命令を生成し、初期化処理時に例えばＲＡＭの所定領域として確保しておいたバンドスプーラ３０２３に印刷装置１００で処理を行うバンド領域毎に分けて描画順に格納し、管理する（４００６）。ＯＳから渡される描画命令４０３（ＤＤＩ関数）は、印刷装置の印字方向とは無関係に出力されてくるため、本実施形態のようにページの途中からバンド処理に切り替わった場合にも、第１バンドから第Ｎバンドまでページ内のすべてのバンドに対する格納処理が行われる。
【００６５】
格納処理は、プリンタドライバ内のＤＤＩ関数がコールされる度に行う。バンド領域内に格納領域に格納できなくなった時は、新たにＲＡＭの領域を確保することで対処する。
第１バンドから第Ｎバンドまでの１ページ分の残りの描画データ格納が終了したら、印刷装置で処理するバンド順にデータをシステムスプーラ３０３に書き出す（４００９）。
【００６６】
各バンドデータの先頭には、以降に送出するバンド情報４０１１をつけることで、印刷装置１００側で印刷データがページ単位からバンド単位に移行したことを認識可能とする。
１ページ分の印刷データをシステムスプーラ３０３にスプールしたら、印刷装置１００に送出する（４０１２）。
【００６７】
次に、プリンタドライバ内のＤＤＩ関数がコールされた時の処理の流れを図６のフローチャートを用いて説明する。
ステップＳ７０１：ＯＳから渡された描画命令から印刷装置１００で処理可能な印刷命令データを生成し、ステップＳ７０２へ
ステップＳ７０２：生成した印刷命令の種類、サイズ等の情報を積算データ３０２４に積算。ステップＳ７０３へ、
【００６８】
ステップＳ７０３：ステップＳ７０２で積算した結果が、規定値を超えていないかチェックし、超えている場合はステップＳ７０５へ、超えていないときはステップＳ７０４へ
ステップＳ７０４：システムスプーラ３０３に印刷命令データを書き込み、ステップＳ７０６へ
ステップＳ７０５：バンドスプーラ３０２３に、関係するバンドに分けて印刷命令データを格納し、ステップＳ７０６へ
【００６９】
ステップＳ７０６：１ページ分の描画命令（ページデータ）全てについて処理終了ならステップＳ７０７へ、まだ未処理の命令があればステップＳ７０１へ
ステップＳ７０７：バンドスプーラ３０２３内に印刷命令データが格納されているならステップＳ７０８へ、バンドスプーラ３０２３が空であれば処理終了。
【００７０】
（印刷命令データの構成）
次に、図４の模式図を使って、ページ途中でページ単位からバンド単位に処理が切り替わった時の印刷命令データの構成例について説明を行う。
５００は、１ジョブ（１ページの印刷ジョブとする）分の印刷命令データを示している。
従来のＰＤＬモード系プリンタドライバが生成する印刷命令データと同様、ジョブ開始命令(jobStart)５００１で始まり、ページの開始を宣言するページ開始命令(pageStart)５００２が続く。
【００７１】
図４に示す印刷命令データにおいて、５０１０で示す部分の印刷命令データはページ単位データであり、それに続くバンド情報コマンド(BandInfo)５００３以降の印刷命令データ５００４〜５００６は、バンド単位データである。バンド情報コマンド５００３には、バンドの領域を示す値(BandRect)５００８、本バンドに含まれる印刷命令データ５００４のサイズを示す値(BandDataSize)５００９等の情報が含まれている。
また、次のバンド単位データの開始位置には再度バンド情報コマンド５００５が挿入され、次いでそのバンド内の印刷命令データ５００６が格納される。
【００７２】
１ページ分の印刷命令データの最後には、従来のＰＤＬモード系プリンタドライバが生成する印刷命令データと同様、ページ終了命令(pageEnd)５００７が、またジョブの終了にはジョブ終了命令(jobEnd)５０１１が含まれる。
【００７３】
（積算データの構成）
図５は、プリンタドライバ３０２２内で、データの種類、印刷命令のサイズ等の印刷命令情報を積算していくために、例えばＲＡＭ上に保持する積算データ３０２４のデータ形式例を示す図である。
nowStatus６０１は、現在、ページ単位で処理を行っているか、バンド単位で処理を行っているかを示す。なお、本実施形態においてはページ単位での処理が初期状態であるとする。
【００７４】
DataSize６０２は、処理中のページ全体のデータサイズを示す。ImageDataInf、GraphicDataInf及びCharDataInf（６０３，６０４，６０５）はそれぞれ、処理中のページにおけるイメージ、グラフィックス、文字それぞれの個数、サイズ等の情報を示す。
そして、描画命令を一つ処理する度に、各描画要素毎のデータサイズ、個数を計算し、ImageDataInf、GraphicDataInf及びCharDataInf（６０３，６０４，６０５）及びDataSize６０２に更新した値を格納する。
【００７５】
DataSize６０２の値が、当該プリンタドライバが対象とする印刷装置に対応して予め規定された最大データサイズmaxSizeを超えた場合、または、各描画命令が生成する描画コマンドの個数の合計値が、やはり対象とする印刷装置に対応して予め規定された最大個数を超えた場合に、プリンタドライバはnowStatus６０１の値をバンド単位処理に対応する値に変更し、処理をバンド単位処理に切り替える。
【００７６】
（印刷装置の処理）
一方、印刷装置１００は、ホストコンピュータ３０００から受信した印刷命令データがページの途中でバンド単位に変更されたことを認識することにより、バンド単位でのサブクローズ処理が可能となる。
【００７７】
すなわち、ページ単位データに対しては、従来技術で説明したサブクローズ処理もページ単位で行う必要があるため、二回目以降のサブクローズ処理時は、最悪の場合中間言語が関係する全バンドのイメージデータ伸張処理が発生する。さらに、一度サブクローズ処理が発生した後は、中間データとして、圧縮保持しているバンドビットマップデータがプリンタ内部のメモリ領域に存在するため、利用可能なメモリ領域が圧迫され、サブクローズ処理が発生しやすくなる。
【００７８】
これに対し、本発明によれば、図３において説明したように、プリンタドライバが積算データに基づいてサブクローズ処理が発生する虞があることを判別し、その後の印刷命令をバンド単位で生成するため、少なくともサブクローズ処理が発生した場合、その後送られてくるデータはバンド単位であることが解る。従って、２回目以降のサブクローズ処理が発生しても、そのサブクローズ処理は１バンド単位で実行可能である。そのため、以下の利点がある。
【００７９】
・サブクローズが複数回発生しても、同一バンドをバンドメモリ上に保持しておけるので、圧縮、伸張処理がくり返し発生しない。
・１バンド分の中間言語がバンドメモリに入りきればよいので、２回目以降のサブクローズがページ単位データに比べて発生しにくい。
【００８０】
図７に示すフローチャートを用いて、本実施形態に係る印刷装置１００内の処理の流れを説明する。
ステップＳ９０１：印刷装置内部のステータスを「ページ単位処理」に初期化し、ステップＳ９０２へ。
ステップＳ９０２：ホストコンピュータから受信した印刷命令データから、１つコマンドを取得、解析し、ステップＳ９０３へ。
【００８１】
ステップＳ９０３：ステップＳ９０２で解析した結果、取得したコマンドがバンド情報コマンド(BandInfo)であるか判断し、バンド情報コマンドであるならステップＳ９０４へ、それ以外ならステップＳ９０５へ。
ステップＳ９０４：印刷装置内部のステータスをバンド単位処理に変更し、以降の処理をサブクローズ処理すべくステップＳ９０５へ。
ステップＳ９０５：コマンドに従った処理を実行し、ステップＳ９０６へ。ここでは、Ｓ９０３から処理される場合は、印刷命令から中間データを生成し、ディスプレイリスト（バンドリスト）を生成する処理になる。また、Ｓ９０４から処理される場合は、以降受信する印刷命令は、バンド単位の印刷命令であり、かつホストコンピュータ側でサブクローズが予測されているものであるため、メモリオーバーフローを起こさないように、サブクローズ処理を行う。
【００８２】
ステップＳ９０６：全コマンド解析終了ならステップＳ９０７へ、まだデータがあればステップＳ９０２へ。
ステップＳ９０７：全ページの処理終了なら処理終了、未処理ページがあればステップＳ９０１へ。
【００８３】
ここで、ステップＳ９０５の処理について具体的に説明する。Ｓ９０５では、すでに生成されているディスプレイリストの第１バンドから順に、中間データを読み出して、バンドメモリに展開処理して第１バンドのイメージデータを生成する。そして、コマンド解析結果から得られた第１バンドの印刷命令から直接バンドメモリに展開処理する。前述したように、ＯＳからプリンタドライバ３０２２に渡される描画関数（ＤＤＩ）は、下層レイヤーから順に生成されるため、印刷装置においても、先にディスプレイリストとして生成されている中間データは下層レイヤーになり、後続して渡されるバンドの印刷命令は上層レイヤーに相当している。
【００８４】
そのため、バンドメモリに対する描画処理は上書き処理でよい。そして、第１バンドのバンドメモリに対する描画処理が終了したら、第１バンドの圧縮処理を行いメモリに格納する。そして、次の第２バンドに対するディスプレイリストからの描画と、コマンド解析結果から得られるバンド切り替え後の第２バンドの印刷命令の描画処理を行い、圧縮処理してメモリに格納する。このように、第１バンドから第Ｎバンドまでのサブクローズ処理を行って１ページ分の描画処理を終了する。１ページ分の描画処理が終了すると、プリンタエンジンに対して印刷要求を行い、第１バンドから順にメモリから伸張して読み出してエンジンにビデオ信号として出力することで、印字を行う。
【００８５】
なお、図７においては、バンド情報コマンドを受信するたびにステップＳ９０４で印刷装置のステータスをバンド単位処理に初期化しているが、上述のように本実施形態においては一旦ページ中でバンド単位に移行した後はバンド単位でのみデータが送信されるため、同一ページ中で最初にバンド情報コマンドを受信した時のみステップＳ９０４を実施するようにしても良い。
【００８６】
このように、ページの途中からバンド単位に処理が切り替わった場合に、１回のサブクローズ処理を行うことにより、従来ならメモリオーバーフローが発生してしまう印刷命令であってもエラーが起こらず、さらに従来のサブクローズ処理よりも高速に印刷処理を行うことが可能になる。
【００８７】
【他の実施の形態】
上述の実施形態においては、１つの機器から構成されるホストコンピュータ及び印刷装置についてのみ説明したが、同等の機能を複数の機器から構成されるシステムによって実現しても良い。
【００８８】
尚、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図６及び図７のいずれか１つ以上に示すフローチャートに対応したプログラム）を、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【００８９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００９０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００９１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００９２】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【００９３】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【００９４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００９５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００９６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００９７】
【発明の効果】
以上説明したように、本発明によれば、処理の軽いページの１ページ目の高速印刷と、処理の重いページの連続スループットの向上の両立が可能となる。
【図面の簡単な説明】
【図１】本発明を適用可能な印刷装置の一例としてのレーザビームカラープリンタの構造を示す側断面図である。
【図２】本発明の実施形態である印刷システム全体の基本構成を示すブロック図。
【図３】本発明の実施形態に係るプリンタドライバの処理の概要を模式的に説明する図ある。
【図４】本発明の実施形態に係る印刷システムで用いられる印刷コマンドの構造例を示す模式図である。
【図５】本発明の実施形態に係るホストコンピュータで用いられる積算データのデータ構造例を示す模式図である。
【図６】本発明の実施形態に係るプリンタドライバの処理を説明するフローチャートである。
【図７】本発明の実施形態に係る印刷装置の処理を説明するフローチャートである。
【図８】従来の印刷システムの基本構成例を示すブロック図である。
【図９】図８に示す構成を改良した従来の印刷システム全体の基本構成例を示すブロック図である。
【図１】
0003962606.tif 000002
【図２】
0003962606.tif 000003
【図３】
0003962606.tif 000004
【図４】
0003962606.tif 000005
【図５】
0003962606.tif 000006
【図６】
0003962606.tif 000007
【図７】
0003962606.tif 000008
【図８】
0003962606.tif 000009
【図９】
0003962606.tif 000010