(57)【要約】【課題】プリンタに対する印刷要求の処理をホスト装置に実行させるプリンタ用プログラムであって、モノクロ印刷時に、効率的な事前展開処理を行なわせてスループットの向上を図ることのできるプリンタ用プログラムを提供する。【解決手段】モノクロ印刷時に中間コードを生成してプリンタに送信する処理をホスト装置に実行させるプリンタ用プログラムが、印刷の所定領域毎に事前展開処理をするか否かを判断するための展開閾値を決定するステップと、各所定領域の中間コードに基づいて求められる各所定領域の展開係数の値が展開閾値を超えた所定領域については事前展開処理を実行するステップと、事前展開処理を実行した所定領域についてはイメージデータをプリンタに送信するステップとをホスト装置に実行させ、前記展開閾値の決定が、ホスト装置が有するＣＰＵとプリンタが有するＣＰＵの能力の比較に基づいて行われる。【選択図】  図２
2007052499.tif 000002
【特許請求の範囲】
【請求項１】
モノクロ印刷時に、アプリケーションから受け取った印刷データに基づいて中間コードを生成して当該中間コードをプリンタに送信する処理をホスト装置に実行させるプリンタ用プログラムであって、
印刷範囲を分割した所定領域毎に、前記中間コードを、前記プリンタのエンジンの動作に同期した処理の前に、画素毎の濃度値で表現されたイメージデータに展開する事前展開処理、をするか否かを判断するための展開閾値を決定するステップと、
前記各所定領域の中間コードに基づいて求められる前記各所定領域の展開係数の値が、前記展開閾値を超えた前記所定領域については、前記事前展開処理を実行するステップと、
前記事前展開処理を実行した前記所定領域については、前記イメージデータを前記プリンタに送信するステップと、を前記ホスト装置に実行させ、
前記展開閾値の決定が、前記ホスト装置が有するＣＰＵの能力と前記プリンタが有するＣＰＵの能力との比較に基づいて行われる
ことを特徴とするプリンタ用プログラム。
【請求項２】
請求項１において、
前記展開閾値の決定において、前記展開閾値は、前記ホスト装置が有するＣＰＵの能力が前記プリンタが有するＣＰＵの能力よりも高い場合に、前記中間コードの生成及び前記事前展開処理を前記プリンタで実行する場合に定められる展開閾値よりも低い値に決定される
ことを特徴とするプリンタ用プログラム。
【請求項３】
モノクロ印刷時に、アプリケーションから受け取った印刷データに基づいて中間コードを生成して当該中間コードをプリンタに送信する処理をホスト装置に実行させるプリンタ用プログラムであって、
１ページの印刷範囲を分割した所定領域毎に、前記中間コードを、前記プリンタのエンジンの動作に同期した処理の前に、画素毎の濃度値で表現されたイメージデータに展開する事前展開処理、をするか否かを判断するための展開閾値を決定するステップと、
前記各所定領域の中間コードに基づいて求められる前記各所定領域の展開係数の値が、前記展開閾値を超えた前記所定領域については、前記事前展開処理を実行するステップと、
前記事前展開処理を実行した前記所定領域については、前記イメージデータを前記プリンタに送信するステップと、を前記ホスト装置に実行させ、
各ページの処理中に、当該ページに含まれる、圧縮処理された中間コードである圧縮コード、の数が所定値を超えた場合には、当該ページについて、前記事前展開処理を実行するステップが、前記決定した展開閾値よりも低い値の展開閾値に基づいてなされる
ことを特徴とするプリンタ用プログラム。
【請求項４】
モノクロ印刷の要求時に、アプリケーションから受け取った印刷データに基づいて中間コードを生成して当該中間コードをプリンタに送信する処理をホスト装置に実行させるプリンタ用プログラムであって、
印刷範囲を分割した所定領域毎に、前記中間コードを、前記プリンタのエンジンの動作に同期した処理の前に、画素毎の濃度値で表現されたイメージデータに展開する事前展開処理、をするか否かを判断するための展開閾値を決定するステップと、
前記各所定領域の中間コードに基づいて求められる前記各所定領域の展開係数の値が、前記展開閾値を超えた前記所定領域については、前記事前展開処理を実行するステップと、
前記事前展開処理を実行した前記所定領域については、前記イメージデータを前記プリンタに送信するステップと、を前記ホスト装置に実行させ、
前記決定される展開閾値の値が、前記要求による処理の進行に伴って、順次、下げられる
ことを特徴とするプリンタ用プログラム。
【請求項５】
請求項４において、
前記要求が複数ページの印刷である場合に、１ページ分の処理が終了する度に、前記決定される展開閾値の値が下げられる
ことを特徴とするプリンタ用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタに対する印刷要求の処理をホスト装置に実行させるプリンタ用プログラムに関し、特に、アプリケーションから受け取った印刷データがモノクロデータの場合に、効率的な事前展開処理を行なわせて、スループットの向上を図ることのできるプリンタ用プログラムに関する。
【背景技術】
【０００２】
プリンタにおいてモノクロデータの印刷を行なう場合には、一般に、パーソナルコンピュータなどのホスト装置におけるアプリケーションから発せられる所定形式の印刷データを、一旦、中間コードに変換してその中間コードをプリンタのメモリ等に格納する。その後、所定のタイミングで、当該中間コードが読み出され、画素毎の濃度値で表したイメージデータへ展開されて、当該イメージデータに基づいてプリンタのエンジンにおける印字処理が実行される。そして、この中間コードが読み出されてエンジンによる印字処理が完了するまでの処理は、エンジン動作に同期した所定のスケジュールに従って実行される。なお、前記中間コードは、１ページの範囲を高さ方向に所定の長さで区分したバンドという領域毎に生成される。
【０００３】
このようなモノクロ印刷の処理において、上記各バンドの中間コードのサイズが許容のサイズを超えてしまうようなバンドや、描画対象が複雑でありイメージデータへの展開処理等に時間がかかって、上述したエンジン動作に同期した処理において処理が間に合わなくなってしまう虞のあるバンドについては、従来より、事前展開という処理が行なわれていた。この事前展開は、上記エンジン動作に同期した処理の前に、予めそのバンドの中間コードをイメージデータに展開する処理を行なってしまうことであり、そのバンドについてはイメージデータの形でプリンタの所定箇所に格納される。そして、このバンドについては、上記エンジン動作に同期した処理において、このイメージデータが読み出されて用いられる。
【０００４】
また、この事前展開をするか否かの判断をするために、バンド毎の中間コードのサイズや処理の複雑さなどに基づく係数についての所定の閾値が設けられ、各バンドのサイズや前記係数の値がこの閾値を超えた場合に事前展開を行なうように制御されていた。
【０００５】
この事前展開処理を用いることにより、上記エンジン動作に同期した処理におけるエラーを回避できるなどのメリットが得られるが、その一方で、プリンタにおけるＣＰＵ負荷を上げてしまったり、プリンタ全体のスループットを下げてしまうというデメリットもある。
【０００６】
かかる事前展開処理については、下記特許文献１及び特許文献２において、その関連技術について記載されている。
【特許文献１】特開平９−２５８９３５号公報
【特許文献２】特開２００１−１５７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
近年、プリンタに印刷の要求を行なうパーソナルコンピュータなどのホスト装置におけるＣＰＵ能力が向上する傾向にあり、そのＣＰＵ能力を活かすために、前述したモノクロ印刷時にホスト装置側で中間コードまでを生成する方法をとる場合がある。この場合においても、中間コードのサイズが大きいバンドや処理に時間のかかるバンドについては、上述の事前展開が必要となり、必要なバンドについてはホスト装置側で事前展開を行い、そのバンドについてはイメージデータをプリンタへ送っている。
【０００８】
しかしながら、かかる場合に、事前展開を行うか否かの判断について、上述したプリンタで事前展開を行なう場合の閾値をそのまま用いるのでは、ホスト装置とプリンタにおける環境及びＣＰＵ能力の差異によって、最適な判断を行うことができるとはいえない。特に、最近では、ホスト装置のＣＰＵ能力がプリンタのＣＰＵ能力と比して格段に高くなる傾向にあり、この能力を活かした適切な事前展開の判断を行うことが望まれる。
【０００９】
そこで、本発明の目的は、プリンタに対する印刷要求の処理をホスト装置に実行させるプリンタ用プログラムであって、アプリケーションから受け取った印刷データがモノクロデータの場合に、効率的な事前展開処理を行なわせて、スループットの向上を図ることのできるプリンタ用プログラムを提供することである。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明の一つの側面は、モノクロ印刷時に、アプリケーションから受け取った印刷データに基づいて中間コードを生成して当該中間コードをプリンタに送信する処理をホスト装置に実行させるプリンタ用プログラムが、印刷範囲を分割した所定領域毎に、前記中間コードを、前記プリンタのエンジンの動作に同期した処理の前に、画素毎の濃度値で表現されたイメージデータに展開する事前展開処理、をするか否かを判断するための展開閾値を決定するステップと、前記各所定領域の中間コードに基づいて求められる前記各所定領域の展開係数の値が、前記展開閾値を超えた前記所定領域については、前記事前展開処理を実行するステップと、前記事前展開処理を実行した前記所定領域については、前記イメージデータを前記プリンタに送信するステップと、を前記ホスト装置に実行させ、前記展開閾値の決定が、前記ホスト装置が有するＣＰＵの能力と前記プリンタが有するＣＰＵの能力との比較に基づいて行われることである。
【００１１】
更に、上記の発明において、その好ましい態様は、前記展開閾値の決定において、前記展開閾値は、前記ホスト装置が有するＣＰＵの能力が前記プリンタが有するＣＰＵの能力よりも高い場合に、前記中間コードの生成及び前記事前展開処理を前記プリンタで実行する場合に定められる展開閾値よりも低い値に決定されることを特徴とする。
【００１２】
上記の目的を達成するために、本発明の別の側面は、モノクロ印刷時に、アプリケーションから受け取った印刷データに基づいて中間コードを生成して当該中間コードをプリンタに送信する処理をホスト装置に実行させるプリンタ用プログラムが、１ページの印刷範囲を分割した所定領域毎に、前記中間コードを、前記プリンタのエンジンの動作に同期した処理の前に、画素毎の濃度値で表現されたイメージデータに展開する事前展開処理、をするか否かを判断するための展開閾値を決定するステップと、前記各所定領域の中間コードに基づいて求められる前記各所定領域の展開係数の値が、前記展開閾値を超えた前記所定領域については、前記事前展開処理を実行するステップと、前記事前展開処理を実行した前記所定領域については、前記イメージデータを前記プリンタに送信するステップと、を前記ホスト装置に実行させ、各ページの処理中に、当該ページに含まれる、圧縮処理された中間コードである圧縮コード、の数が所定値を超えた場合には、当該ページについて、前記事前展開処理を実行するステップが、前記決定した展開閾値よりも低い値の展開閾値に基づいてなされることである。
【００１３】
上記の目的を達成するために、本発明の更に別の側面は、モノクロ印刷の要求時に、アプリケーションから受け取った印刷データに基づいて中間コードを生成して当該中間コードをプリンタに送信する処理をホスト装置に実行させるプリンタ用プログラムが、印刷範囲を分割した所定領域毎に、前記中間コードを、前記プリンタのエンジンの動作に同期した処理の前に、画素毎の濃度値で表現されたイメージデータに展開する事前展開処理、をするか否かを判断するための展開閾値を決定するステップと、前記各所定領域の中間コードに基づいて求められる前記各所定領域の展開係数の値が、前記展開閾値を超えた前記所定領域については、前記事前展開処理を実行するステップと、前記事前展開処理を実行した前記所定領域については、前記イメージデータを前記プリンタに送信するステップと、を前記ホスト装置に実行させ、前記決定される展開閾値の値が、前記要求による処理の進行に伴って、順次、下げられることである。
【００１４】
更に、上記の発明において、その好ましい態様は、前記要求が複数ページの印刷である場合に、１ページ分の処理が終了する度に、前記決定される展開閾値の値が下げられることを特徴とする。
【００１５】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００１７】
図１は、本発明のプリンタ用プログラムに基づいて処理を実行するホストコンピュータとプリンタの実施の形態例に係る構成図である。図１のドライバプログラム１５が、本発明を適用したプリンタ用プログラムであり、ホストコンピュータ１に、ホストコンピュータ１におけるＣＰＵ１２の能力とプリンタ２におけるＣＰＵ２２の能力の比較に基づいて、モノクロ印刷時の事前展開の判断を行わせ、ホストコンピュータ１のＣＰＵ能力を活かした効率のよい事前展開処理を実現しようとするものである。
【００１８】
図１に示すように、本実施の形態例では、ホスト装置であるホストコンピュータ１のインターフェース回路であるＩ／Ｆ部１３とプリンタ２のインターフェース回路であるＩ／Ｆ部２１とが接続され、ホストコンピュータ１からプリンタ２への印刷要求がなされる。Ｉ／Ｆ部１３及びＩ／Ｆ部２１は、例えば、ＵＳＢプロトコルに従う通信を行なうインターフェース回路、または、パラレル通信を行なうインターフェース回路である。
【００１９】
ホストコンピュータ１は、Ｉ／Ｆ部１３のほかに、ＣＰＵ１２及びメモリ１１を備える。メモリ１１は、ホストコンピュータ１におけるデータやプログラムの記憶領域であり、ＲＡＭ、ＲＯＭ、ハードディスク等で構成することができる。ここには、図１に示すように、印刷データを出力するアプリケーションプログラム１４と、ドライバプログラム１５が記憶される。
【００２０】
印刷要求元であるアプリケーションは、このアプリケーションプログラム１４と当該プログラムに従って処理を実行するＣＰＵ１２によって構成される。ドライバプログラム１５は、いわゆるプリンタドライバを構成するプログラムであり、ＣＰＵ１２に読み込まれることにより動作する。このドライバプログラム１５による処理により、モノクロ印刷時には、前記アプリケーションから出力される印刷データから中間コードが生成され、当該生成された中間コードがプリンタ２に送信される。事前展開処理を含んだこの中間コード生成時の処理に特徴があり、その具体的な内容については後述する。なお、ドライバプログラム１５は、ＣＤ（コンパクトディスク）等の記憶媒体に格納されていたものをホストコンピュータ１にインストールする、あるいは、インターネットなどを介して所定のサイトからダウンロードするという方法によって、当該ホストコンピュータ１に備えることができる。
【００２１】
また、メモリ１１には、前記ドライバプログラム１５により生成された中間コードや事前展開処理によって生じるイメージデータが格納（登録）される。
【００２２】
このような構成を有するホストコンピュータ１は、いわゆるパーソナルコンピュータで実現することができ、ここに備えられる前記ＣＰＵ１２の能力は、後述するプリンタ２のＣＰＵ２２の能力よりも高いことを想定している。
【００２３】
次に、プリンタ２は、I／Ｆ部２１のほかに、ＣＰＵ２２、ＲＯＭ２３、ＲＡＭ２４、エンジンＩ／Ｆ２５及びエンジン２６を備える。ＣＰＵ２２は、ＲＯＭ２３に格納されるプログラム等に従って、プリンタ２の各種動作を制御する部分である。ＲＡＭ２４には、モノクロ印刷時に前記ホストコンピュータ１から送信される中間コード及び事前展開がなされた場合のイメージデータが格納される。
【００２４】
エンジンＩ／Ｆ２５は、エンジン２６における印字動作を実行する際に、ＲＡＭ２４に格納されているデータを読み出して所定の処理を施した後にエンジン２６に引き渡す、エンジン２６とのインターフェースを司る部分である。エンジン２６は、エンジンＩ／Ｆ２５から出力されたデータに基づいて、紙などの印刷媒体に印字処理を実行する部分である。
【００２５】
このような構成を有する本実施の形態例におけるホストコンピュータ１とプリンタ２では、モノクロ印刷時の処理に特徴を有し、特に、ホストコンピュータ１のドライバプログラム１５による、事前展開処理を含んだ中間コードの生成及び登録までの処理に特徴があり、以下、この処理の内容について具体的に説明する。
【００２６】
図２は、モノクロ印刷時にドライバプログラム１５によって行なわれる中間コードの生成及び登録までの処理の手順を例示したフローチャートである。以下、図２に基づいて、１ジョブについての処理内容を説明する。
【００２７】
まず、前述したアプリケーションにおいて、モノクロ印刷の指示がなされると、当該アプリケーションから印刷対象について所定のフォーマットの印刷データが出力され、それをドライバプログラム１５によって構成されるプリンタドライバが受け取る（ステップＳ１）。ここで、当該ジョブのはじめにまず、事前展開をするか否かの判断のための展開閾値を決定する（ステップＳ２）。この展開閾値は、前述のように、印刷対象の種類や複雑さに基づく処理の重さを示す展開係数についての閾値であり、各バンド毎にこの展開係数の累計値が展開閾値を超えた時点で、当該バンドの中間コードについては事前展開処理がなされる。
【００２８】
この展開閾値の決定では、まず、プリンタ２において事前展開を含む中間コードの生成を行なう場合の展開閾値が取得され、ホストコンピュータ１におけるＣＰＵ１２の能力とプリンタ２におけるＣＰＵ２２の能力の比較から、この取得された展開閾値の値を変更して初期値として決定する。ここで、前述のとおり、ホストコンピュータ１におけるＣＰＵ１２の能力の方が高いので、具体的には、前記取得した展開閾値よりも下げた値が初期値として決定される。
【００２９】
これは、プリンタ２において事前展開を含む中間コードの生成を行なう場合よりも、事前展開率を上げることを意味する。これにより、ホストコンピュータ１での事前展開処理を増やすことになるが、ホストコンピュータ１の高いＣＰＵ能力により、その処理時間の増分は、プリンタ２における事前展開率が上がったことによる時間短縮よりも小さくて済み、全体としてのスループットの向上を図ることができる。このように、ホストコンピュータ１の高いＣＰＵ能力に基づいて展開閾値を下げることが本ドライバプログラム１５の一つの特徴である。なお、ジョブが複数ページの印刷を含む場合には、後述するように、ページ毎にこの展開閾値を変更するため、上記決定した初期値は、ここではページ初期値と呼ぶこととする。
【００３０】
次に、この決定されたページ初期値が、展開閾値の値として設定され（ステップＳ３）、その後、ジョブの各ページについて、前記受信した印刷データに含まれる各オブジェクトについての中間コードの生成及び登録の処理が順次行なわれる。具体的には、まず、未だ処理されていないオブジェクトが取り出され、当該オブジェクトについて、バンド毎に中間コードを生成する（ステップＳ４）。
【００３１】
図３は、中間コードの生成、登録処理を説明するための図である。図３の（Ａ）は、1ページ分の印刷対象のオブジェクトを例示しており、図のａ、ｂ、及びｃは、それぞれ、グラフィクス、テキスト、及び画像（イメージ）のオブジェクトを示している。図に示すように、１ページがｎバンドに区分されている場合に、例えば、ａのオブジェクトは、バンド１からバンド３の領域に位置し、上記中間コードの生成処理では、バンド１、２及び３についてそれぞれ中間コードが生成されることになる。
【００３２】
このように、上記ステップＳ４から後述するステップＳ１０までの処理については、バンド１〜バンドｎについて並行して処理が実行される。
【００３３】
次に、当該ページにおける圧縮コードの累計値が求められ、予め定められている所定値と比較される（ステップＳ５）。ここで、圧縮コードとは、中間コードにおいて圧縮されているコードであり、テキスト及び画像（イメージ）のオブジェクトについては、この圧縮コードで生成される。従って、中間コードから次の処理に移行する際に、この圧縮コードについては解凍する処理が必要となり、このコードが多いとプリンタ２における処理が増加し、ＣＰＵ２２の負荷を高めることになる。
【００３４】
そこで、上記比較において、圧縮コードの累計値が前記所定値よりも大きくなった場合には（ステップＳ５のＹｅｓ）、前記展開閾値の値を下げる（ステップＳ６）。これにより、ホストコンピュータ１における事前展開率が高くなり、ホストコンピュータ１側の負荷が増加するが、ホストコンピュータ１側のＣＰＵ能力がプリンタ２側よりも高いため、その負荷の増分は、プリンタ２側での前記解凍処理に対する負荷の軽減よりも小さく抑えられ、全体としてスループットの向上を図ることができる。このように、圧縮コードの累計値が大きくなった際に、展開閾値の値を下げることも本ドライバプログラム１５の一つの特徴である。
【００３５】
一方、圧縮コードの累計値が前記所定値よりも大きくなっていない場合には（ステップＳ５のＮｏ）、展開閾値を変えないで処理がステップＳ７に移行する。
【００３６】
その後、ステップＳ７において、バンド毎の中間コードの累計サイズが予め定められた所定値と比較される。ここで、予め定められた所定値は、プリンタ２で当該バンド毎の中間コードに用意されている（割り当てられている）メモリのサイズに基づくものであり、当該所定値を超えてしまうサイズの中間コードは（ステップＳ７のＹｅｓ）、プリンタ２に送っても格納しきれないため、当該バンドについては事前展開処理がなされる（ステップＳ８）。
【００３７】
一方、中間コードの累計サイズが前記所定値を超えていない場合には（ステップＳ７のＮｏ）、バンド毎の前記展開係数の累計値がその時点の展開閾値と比較される（ステップＳ９）。ここで、展開係数の累計値が展開閾値を超えている場合には（ステップＳ９のＹｅｓ）、そのバンドについては事前展開を行なう（ステップＳ８）。事前展開処理では、中間コードから前述したイメージデータが生成される。前述したステップＳ２及びＳ６において、展開閾値の値が下げられている場合には、このステップＳ８へ移行する場合が増え、すなわち、事前展開率が高くなる。
【００３８】
一方、展開係数の累計値が展開閾値を超えていない場合には（ステップＳ９のＮｏ）、事前展開を行なわずに前記生成した中間コードをメモリ１１に登録する（ステップＳ１０）。また、事前展開を行なった場合には、そのバンドについては、生成されたイメージデータをメモリ１１に登録する（ステップＳ１０）。
【００３９】
図３の例では、図３の（Ｂ）に示すように、バンド毎にメモリ１１の所定箇所に生成されたデータが格納される。例えば、バンド３については、事前展開処理（ステップＳ８）が施されており、イメージデータが格納されている。
【００４０】
このように、一つのオブジェクトについての処理が終了すると、当該ページについて全てのオブジェクトについて処理が完了したかがチェックされ（ステップＳ１１）、全オブジェクトについて処理が完了していない場合には（ステップＳ１１のＮｏ）、次のオブジェクトについて、ステップＳ４からの処理が繰り返し行なわれる。なお、すでに事前展開処理を行なったバンドについては、以降、全て事前展開処理がなされることになる。なお、前記ステップＳ５における当該ページの圧縮コードの累計値が所定の閾値を超えた場合には、当該ページの全バンドについて事前展開を行うようにしてもよい。
【００４１】
その後、当該ページについて全てのオブジェクトについて処理が完了した場合には（ステップＳ１１のＹｅｓ）、当該ジョブについて全てのページについての処理が完了したかチェックされる（ステップＳ１２）。そして、全てのページについての処理が完了していない場合には（ステップＳ１２のＮｏ）、次のページの中間コードの生成処理に入る前に、前記展開閾値のページ初期値を下げる処理を行なう（ステップＳ１３）。その後、前記ステップＳ３からの処理を実行する。すなわち、値を下げた新しい展開閾値が設定されて、前述した各オブジェクトの処理がなされる。
【００４２】
このように、本実施の形態例のドライバプログラム１５では、ジョブが複数ページである場合に、ページが進むにつれてそのページに適用する展開閾値を下げていくようにする。すなわち、２ページの閾値は１ページ目よりも小さく、３ページ目の閾値は２ページ目よりも小さく設定される。通常、複数ページのジョブの場合、プリンタ２側での処理では、ページが進行するにつれて処理負荷が蓄積されていくので、このように、ページの進行に伴って事前展開率を上げていくことにより、プリンタ２側での処理時間を短縮することができ、そのためのホストコンピュータ１側での処理時間の増加は、前述のとおりＣＰＵ能力が高いためそれほど大きくなく、全体として処理時間の短縮が可能となる。この点も、本ドライバプログラム１５の特徴の一つである。
【００４３】
その後、全てのページについての処理が完了すると（ステップＳ１２のＹｅｓ）、当該ジョブについての中間コードの生成、登録処理が終了する。その後、登録されたバンド毎の中間コード及び事前展開されたイメージデータは、プリンタ２に送信され、当該データに基づく印刷処理がプリンタ２によって実行されることになる。
【００４４】
なお、本ドライバプログラム１５による処理では、ステップＳ２における相対的なＣＰＵ能力に基づく展開閾値の変更、ステップＳ６における圧縮コードに基づく展開閾値の変更、及びステップ１３におけるページの進行に基づく展開閾値の変更、の全てを行なったが、これら３つの処理を全て行なわずに、いずれか１つ又はいずれか２つを行うようにしてもよい。また、これら３つの処理における展開閾値の下げ方については、ホストコンピュータ１及びプリンタ２の環境等により、適宜、決定される。
【００４５】
以上説明したように、本実施の形態例に係るドライバプログラム１５による処理では、モノクロ印刷時における事前展開処理を含む中間コードの生成処理をホストコンピュータ１側で行い、その際に、プリンタ側で当該処理を行なう場合に設定される展開閾値を相対的なＣＰＵ能力、圧縮コードの数、及びページに基づいて下げた値を用い、ホストコンピュータ１の高いＣＰＵ能力を活かすべく事前展開率がプリンタ側で処理を行なう場合よりも高められる。これにより、ホストコンピュータ１側での処理時間は増すが、その増分は、ホストコンピュータ１側のＣＰＵ能力がプリンタ２と比較して高いため、事前展開率が高くなったことによるプリンタ２側での時間短縮分よりも小さく、全体として、印刷にかかる時間を短縮することができる。すなわち、ドライバプログラム１５により、ホストコンピュータ１側の高いＣＰＵ能力を活かした効率的な事前展開処理が実行され、スループットを向上させることが可能となる。
【００４６】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【図面の簡単な説明】
【００４７】
【図１】本発明のプリンタ用プログラムを用いたホストコンピュータの構成図である。
【図２】ドライバプログラム１５による処理の手順を示したフローチャートである。
【図３】中間コードの生成、登録処理を説明するための図である。
【符号の説明】
【００４８】
１  ホストコンピュータ、２  プリンタ、１１  メモリ、１２  ＣＰＵ、１３  Ｉ／Ｆ
部、１４  アプリケーションプログラム、１５  ドライバプログラム、２１  Ｉ／Ｆ部、
２２  ＣＰＵ、２３  ＲＯＭ、２４  ＲＡＭ、２５  エンジンＩ／Ｆ、２６  エンジン
【図１】
2007052499.tif 000003
【図２】
2007052499.tif 000004
【図３】
2007052499.tif 000005