(57)【要約】【課題】ホストベース印刷システムを構成するホストコンピュータと印刷装置との間で適切かつスムーズな印刷処理を実現する。【解決手段】描画処理を行って生成した印刷データを印刷装置に転送する際に、印刷装置における印刷データのスプール量と通信媒体の通信使用量をそれぞれ印刷処理状況として検出し（Ｓ４１）、この検出した印刷処理状況に応じて、印刷データのスプール量が予め設定された基準スプール量を超えているか、通信媒体の通信使用量が予め設定された基準使用量を超えていれば印刷データの転送を一時停止させ（Ｓ４４）、超えていなければ印刷データを転送する（Ｓ４５）。【選択図】　　　　図３
2004030223.tif 000002
【特許請求の範囲】
【請求項１】
描画処理を行って印刷データを生成する描画手段と、
前記描画手段で生成した前記印刷データを印刷装置に転送する転送手段と、
前記印刷装置における印刷データのスプール量を含む印刷処理状況を検出する検出手段と、
前記検出手段で検出した前記印刷処理状況に応じて前記転送手段による印刷データの転送処理を制御する制御手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記制御手段は、前記検出手段で検出した前記印刷処理状況が予め設定された条件状況に該当する場合に、前記転送手段による印刷データの転送を一時停止させる
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記検出手段は、前記印刷処理状況の一つとして、前記印刷装置に前記印刷データを転送する際に使用する通信媒体の通信使用量を検出することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記制御手段は、前記印刷データの転送を一時停止させる時間を、前記検出手段で検出した前記印刷処理状況に応じて設定する
ことを特徴とする請求項２記載の画像処理装置。
【請求項５】
描画処理を行って生成した印刷データを印刷装置に転送する際に、
前記印刷装置における印刷データのスプール量を含む印刷処理状況を検出し、この検出した印刷処理状況に応じて前記印刷データの転送処理を制御する
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストベース印刷システムに適用して好適な画像処理装置及び画像処理方法に関する。
【０００２】
【従来の技術】
現在のネットワーク環境では、もともと印刷装置のコントローラで行っていた印刷処理の一部をホストコンピュータで行う、ホストベース印刷システムが多く採用されている。ホストベース印刷システムでは、ホストコンピュータにプリンタドライバを組み込み（インストールし）、プリンタドライバの描画処理によって生成した印刷データ（ラスタデータ）をホストコンピュータから印刷装置に出力することにより、印刷装置のコントローラの負担を軽減して安価な印刷装置を実現している。
【０００３】
ホストベース印刷システムは、これを採用した場合の処理速度がホストコンピュータの処理性能に大きく依存することになるが、近年ではコンピュータの性能が急速に向上しているため、印刷処理全体の高速化を実現可能な技術として有望視されている。
【０００４】
一方、印刷装置においては、ホストコンピュータから出力された印刷データを印刷媒体（用紙、シート等）に印刷出力する際の処理として、コントローラによる電気的な処理のほか、印刷媒体を搬送したり印刷材料（インク、トナー等）を用いて画像を記録したりするなどの機械的（物理的）な処理を含む。そのため、印刷装置の処理速度を上げるにも限界がある。
【０００５】
【発明が解決しようとする課題】
このような状況から、ホストベース印刷システムで印刷処理を行う場合に、ホストコンピュータの処理速度が印刷装置の処理速度よりも格段に速くなることが考えられる。そうした場合、ホストコンピュータ側での処理に対して印刷装置側での処理に大幅な遅れが生じるため、印刷装置にスプールされる印刷データの量が増加して飽和する恐れがある。また、特定の印刷ジョブが一時的にネットワーク帯域や印刷装置のスプール領域を占有し、その間、他の印刷ジョブを処理できないという状況が発生してしまう。
【０００６】
本発明は、上記課題を解決するためになされたもので、その目的とするところは、ホストベース印刷システムを構成するホストコンピュータと印刷装置との間で適切かつスムーズな印刷処理を実現することができる画像処理装置及び画像処理方法を提供することにある。
【０００７】
【課題を解決するための手段】
本発明に係る画像処理装置は、描画処理を行って印刷データを生成する描画手段と、この描画手段で生成した印刷データを印刷装置に転送する転送手段と、印刷装置における印刷データのスプール量を含む印刷処理状況を検出する検出手段と、この検出手段で検出した印刷処理状況に応じて転送手段による印刷データの転送処理を制御する制御手段とを備えた構成となっている。
【０００８】
上記構成の画像処理装置においては、印刷装置における印刷データのスプール量を含む印刷処理状況が検出手段によって検出されるとともに、この検出された印刷処理状況に応じて印刷データの転送処理が制御手段によって制御される。この画像処理装置を用いたホストベース印刷システムでは、画像処理装置と印刷装置に処理速度の差があっても、印刷処理状況に応じて印刷データの転送処理が制御されるため、印刷装置側での印刷データのスプール量を飽和させることなく、一連の印刷処理を適切かつスムーズに行うことが可能となる。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。
【００１０】
図１は本発明が適用されるホストベースの印刷システムの構成と当該システムに用いられるホストコンピュータの構成を示すブロック図である。図示した印刷システムは、ホストコンピュータ１と印刷装置２とを用いて構成されている。ホストコンピュータ１と印刷装置２は、例えば通信ケーブルやＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）等の通信媒体８を介して接続されている。
【００１１】
ホストコンピュータ１は、本発明における画像処理装置を構成するものである。ホストコンピュータ１には、ＣＰＵ３、オペレーティングシステム４、プリンタドライバ５、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）６及び通信インタフェース７が組み込まれている。
【００１２】
ＣＰＵ３は、各種の制御処理やデータ処理を行うための演算機能をもち、ホストコンピュータ１の処理全体を司る。オペレーティングシステム４は、ホストコンピュータ１が備える各種のハードウェアやソフトウェアの動作、さらにはホストコンピュータ１に接続された各種の装置（入力装置、表示装置、外部記憶装置など）の動作を統括的に管理する機能を備える。その機能の一つとして、オペレーティングシステム４は、例えばホストコンピュータ１上でユーザがアプリケーションソフトウェア（不図示）を使って作成した画像の印刷を指示した場合に、この印刷指示に基づいてアプリケーションソフトウェアが生成した画像の描画命令をプリンタドライバ５に入力する機能を備える。また、オペレーティングシステム４は、プリンタドライバ５で生成した印刷データを、通信インタフェース７から通信媒体８を通して印刷装置８に転送する機能を備える。
【００１３】
プリンタドライバ５は、オペレーティングシステム４から受け取った画像の描画命令を、印刷装置２で処理（解釈）可能な印刷データ（ラスタデータ）に変換すべく描画処理を行うとともに、この描画処理によって生成した印刷データをオペレーティングシステム４に送る。プリンタドライバ５は、描画処理部５１と制御部５２とを備える。描画処理部５１は、オペレーティングシステム４から受け取った画像の描画命令を、当該描画命令にしたがってラスタライズすることにより、印刷装置２が扱える形式の印刷データ（ラスタデータ）に変換するものである。制御部５２は、ホストコンピュータ１及び周辺装置（印刷装置２を含む）の資源の使用状況を把握して、描画処理部５２の処理動作を制御するものである。
【００１４】
ＲＡＭ６は、ホストコンピュータ１上で動作するソフトウェア（プログラム）を格納したり、プリンタドライバ５で生成した印刷データを一時的に保持したりするために使用される記憶装置である。通信インタフェース７は、ホストコンピュータ１と印刷装置２との間でデータ通信を行うためのインターフェースである。
【００１５】
続いて、上記構成のホストコンピュータ１によって行われる画像処理方法について、図２及び図３のフローチャートを用いて説明する。
【００１６】
先ず、オペレーティングシステム４からプリンタドライバ５に画像の描画命令が送られると、この描画命令を描画処理部５１で受け取る（ステップＳ１）。次いで、先に受け取った描画命令にしたがって描画処理部５１がラスタライズ処理を行うことにより、印刷データを生成する（ステップＳ２）。描画処理部５１によって生成された印刷データはＲＡＭ６に順に保持される。
【００１７】
その後、印刷データの保持に使用されたＲＡＭ６のメモリ使用量が、予め設定された閾値を超えているかどうかをプリンタドライバ５が確認する（ステップＳ３）。このとき、ＲＡＭ６のメモリ使用量が閾値を超えていない場合はステップＳ１に戻り、超えている場合は印刷データの転送処理（ステップＳ４）に移行する。転送処理の詳細については後段で詳しく述べる。転送処理が終了すると、印刷の対象となる全ての描画命令の処理を終了したかどうかを判断する（ステップＳ５）。そして、全ての描画命令の処理を終了していないと判断した場合はステップＳ１に戻り、終了したと判断した場合は、その時点で一連の画像処理を終了する。
【００１８】
一方、ステップＳ４における印刷データの転送処理は、図３のフローチャートにしたがってプリンタドライバ５の制御部５２により実行される。先ず、ステップＳ４１においては、印刷装置２における印刷データのスプール量を含む印刷処理状況を検出する。印刷データのスプール量とは、印刷装置２に未処理の状態でスプール（蓄積）されている印刷データの量をいう。印刷データのスプール量の検出は、プリンタドライバ５が通信インタフェース７から通信媒体８を介して印刷装置２にスプール量の問い合わせを行い、この問い合わせに対して印刷装置２から返答（返信）された通信内容を受信することにより行う。
【００１９】
また、上記ステップＳ４１においては、印刷処理状況の一つとして、通信媒体８の通信使用量も検出する。通信媒体８の通信使用量とは、通信媒体８でデータ通信に使用されているデータ量をいう。通信媒体８がＬＡＮ等のネットワークで構成され、このネットワーク上に他の通信機器が接続されている環境では、通信媒体８の通信使用量が、ホストコンピュータ１と印刷装置２間のデータ通信だけでなく、ネットワーク上での装置間のデータ通信によって動的に変化する。そこで、通信媒体８を流れているデータ量を通信インタフェース７でモニタリングし、このモニタ情報をプリンタドライバ５で取り込むことにより、通信媒体８の通信使用量を検出する。
【００２０】
続いて、ステップＳ４２においては、先に検出した印刷データのスプール量と予め条件状況の一つとして設定された基準スプール量とを比較し、印刷データのスプール量が基準スプール量を超えていないかどうかを確認する（ステップＳ４２）。基準スプール量は、印刷装置２に印刷データを転送したときに、このデータ転送によって印刷装置２のスプール量が飽和しないよう、例えば印刷装置２にスプール可能な印刷データの最大スプール量の８０％相当量に設定される。基準スプール量の適正値は、印刷データのスプール用として印刷装置２に確保されたメモリ容量によって変わる。印刷データのスプール量と基準スプール量とを比較した結果、印刷データのスプール量が基準スプール量を超えていた場合（条件状況に該当する場合）はＮＧと判断してステップＳ４４に移行し、超えていない場合（印刷データのスプール量が基準スプール量以下の場合）はＯＫと判断してステップＳ４３に進む。
【００２１】
ステップＳ４３においては、先に検出した通信媒体８の通信使用量と予め条件状況の一つとして設定された基準使用量とを比較し、通信媒体８の通信使用量が基準使用量を超えていないかどうかを確認する。基準使用量は、印刷装置２に印刷データを転送したときに、このデータ転送によって通信媒体８の通信路が飽和しないよう、例えば通信媒体８の通信路容量（データ容量）の８０％相当量に設定される。基準使用量の適正値は、通信媒体８の通信路容量の大きさによって変わる。通信媒体８の通信使用量と基準使用量とを比較した結果、通信使用量が基準使用量を超えていた場合（条件状況に該当する場合）はＮＧと判断してステップＳ４４に移行し、超えていない場合（通信使用量が基準使用量以下の場合）はＯＫと判断してステップＳ４５に進む。
【００２２】
ステップＳ４４においては、印刷装置２に対する印刷データの転送を一時停止の状態にする。このとき、印刷データの転送と合わせて、描画処理部５１による描画処理（ラスタライズ処理）を一時停止することにより、ホストコンピュータ１のハードウェア資源であるＣＰＵ３をプリンタドライバ５の描画処理から解放し、ユーザによる他の処理（例えば、アプリケーションソフトウェアの実行）にＣＰＵ３を割り当てることができる。そのため、ホストコンピュータ１側での印刷処理にＣＰＵ３が占有される時間を極力短縮することが可能となる。
【００２３】
印刷データの転送を一時停止する時間に関しては、予め一定の時間に設定しておいてもよいが、先のステップＳ４１で検出した印刷処理状況に応じて設定する方がより好ましい。例えば、一時停止する時間の設定値を５秒〜３０秒の範囲内で５秒刻みに６段階（５秒、１０秒、１５秒、２０秒、２５秒、３０秒）で区分するとともに、この時間区分に対応させて印刷処理状況を６つの条件に区分する。すなわち、印刷装置２における印刷データのスプール量を上記最大スプール量と基準スプール量との間で均等に６段階で区分するとともに、通信媒体８の通信使用量を上記通信路容量と基準使用量との間で均等に６段階で区分する。そして、実際に検出されたスプール量や通信使用量に対応する時間を、上述の対応関係から求めて一時停止の時間に設定する。
【００２４】
上記一時停止の時間は、数式による演算処理によって求めてもよく、さらに演算処理に際してスプール量と通信使用量に重み付けを行って求めてもよい。また、ホストコンピュータ１を操作するユーザが任意に設定できるよう、プリンタドライバ８の設定項目の一つとして、印刷データの転送を一時停止する時間を設定する項目を加えてもよい。
【００２５】
一方、ステップＳ４５においては、ＲＡＭ６に保持されている印刷データを印刷装置２に転送する。印刷データの転送は、プリンタドライバ５からの指示にしたがってオペレーティングシステム４により行われる。すなわち、プリンタドライバ５からデータ転送の指示を受けると、オペレーティングシステム４は、ＲＡＭ６に保持されている印刷データを読み出して、通信インタフェース７から通信媒体８を通して印刷装置２に転送する。
【００２６】
その後、ステップＳ４６においては、全ての印刷データの転送を終了したかどうかを確認する。そして、全ての印刷データの転送を終了していない場合はステップＳ４１に戻り、全ての印刷データの転送を終了した場合はその時点で一連の転送処理を終える。
【００２７】
このように印刷データの転送処理において、印刷装置２における印刷データのスプール量を含む印刷処理状況を検出し、この検出した印刷処理状況に応じて、印刷データの転送を行ったり、当該データ転送を一時停止したりすることにより、印刷装置２における印刷データのスプール量を適切な量に維持しながら印刷処理を行うことができる。また、印刷処理状況の一つとして、通信媒体８の通信使用量を検出し、この通信使用量に応じて、印刷データの転送を行ったり、当該データ転送を一時停止したりすることにより、通信媒体８の通信使用量を適切な量に維持しながら印刷処理を行うことができる。
【００２８】
なお、印刷データの転送を一時停止する時間を設定するにあたっては、印刷装置２の処理速度（単位時間当たりの印刷処理枚数）及び通信媒体８の通信路容量のうちの少なくとも一方を設定パラメータに加えてもよい。
【００２９】
また、上記実施形態においては、ＲＡＭ６の使用量が閾値を超えた段階で印刷データの転送処理（ステップＳ４）に移行するとしたが、これ以外にも、描画処理部５１による印刷データの生成が全て終わった段階（ステップＳ５の後）で印刷データの転送処理に移行してもよい。
【００３０】
【発明の効果】
以上説明したように本発明によれば、印刷装置における印刷データのスプール量を含む印刷処理状況を検出し、この検出した印刷処理状況に応じて印刷データの転送処理を制御することにより、印刷装置における印刷データのスプール量を適切な量に維持しながら、印刷装置との間で適切かつスムーズに印刷処理を行うことができる。これにより、特定の印刷ジョブが一定時間にわたって印刷装置を占有することがなく、スムーズな印刷処理を実現することが可能となる。
【図面の簡単な説明】
【図１】本発明が適用されるホストベースの印刷システムの構成と当該システムに用いられるホストコンピュータの構成を示すブロック図である。
【図２】ホストコンピュータによる画像処理を示すフローチャートである。
【図３】ホストコンピュータによる印刷データの転送処理を示すフローチャートである。
【符号の説明】
１…ホストコンピュータ、２…印刷装置、３…ＣＰＵ、４…オペレーティングシステム、５…プリンタドライバ、６…ＲＡＭ、７…通信インタフェース、８…通信媒体
【図１】
2004030223.tif 000003
【図２】
2004030223.tif 000004
【図３】
2004030223.tif 000005