(57)【要約】【課題】ホスト装置側で色変換後の画像データを生成して印刷装置へ転送する処理をホスト装置に実行させるドライバプログラムであって、ホスト装置側に蓄積すべき画像データの容量を小さくでき、かつ、印刷完了時間を遅くすることのないデータ転送を行なうことのできるドライバプログラム等を提供する。【解決手段】複数色のデータから成る画像データを生成して当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラムが、１面分の前記画像データの転送を行う際に、前記１面分の画像データを所定の高さで区分したバンドのデータ毎に前記印刷装置に転送する工程と、前記複数色の各色毎に前記印刷装置に転送する工程と、を混在させて行う前記画像データの転送処理を前記ホスト装置に実行させる。【選択図】  図２
2005284518.tif 000002
【特許請求の範囲】
【請求項１】
複数色のデータから成る画像データを生成して当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラムであって、
１面分の前記画像データの転送を行う際に、
前記１面分の画像データを所定の高さで区分したバンドのデータ毎に前記印刷装置に転送する工程と、
前記複数色の各色毎に前記印刷装置に転送する工程と、を混在させて行う前記画像データの転送処理を前記ホスト装置に実行させる
ことを特徴とするドライバプログラム。
【請求項２】
複数色のデータから成る画像データを生成して当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラムであって、
１面分の前記画像データの転送を行う際に、
前記１面分の画像データを所定の高さで区分したバンドのデータ毎に、前記複数色の全色あるいは一部の色のデータを前記印刷装置に転送し、当該転送が前記一部の色のデータについてなされた場合には、転送されなかった色のデータを前記ホスト装置に蓄積する第一のステップと、
前記第一のステップで蓄積されたデータを、前記複数色の各色毎に前記印刷装置に転送する第二のステップと、を前記ホスト装置に実行させる
ことを特徴とするドライバプログラム。
【請求項３】
請求項２において、
前記第一のステップでデータが転送される色の数が、所定のタイミングで、前記ホスト装置に蓄積される各色のデータの容量が前記印刷装置において先に用いられる色の方が小さくなるように、変化する
ことを特徴とするドライバプログラム。
【請求項４】
請求項３において、
前記所定のタイミングが、前記転送及び蓄積の処理を行う前記バンドの位置、あるいは、前記転送及び蓄積の処理が済んだデータの容量に基づいて、決定される
ことを特徴とするドライバプログラム。
【請求項５】
ホスト装置において生成された複数色のデータから成る画像データを印刷装置に転送するデータ転送方法であって、
１面分の前記画像データの転送を行う際に、
前記１面分の画像データを所定の高さで区分したバンドのデータ毎に前記印刷装置に転送する工程と、
前記複数色の各色毎に前記印刷装置に転送する工程と、を混在させて前記画像データの転送を行う
ことを特徴とするデータ転送方法。
【請求項６】
ホスト装置において生成された複数色のデータから成る画像データを印刷装置に転送するデータ転送方法であって、
１面分の前記画像データの転送を行う際に、
前記１面分の画像データを所定の高さで区分したバンドのデータ毎に、前記複数色の全色あるいは一部の色のデータを前記印刷装置に転送し、当該転送が前記一部の色のデータについてなされた場合には、転送されなかった色のデータを前記ホスト装置に蓄積する第一のステップと、
前記第一のステップで蓄積されたデータを、前記複数色の各色毎に前記印刷装置に転送する第二のステップと、を有する
ことを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置側で画像データを生成し当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラム等に関し、特に、ホスト装置側に蓄積すべき前記画像データの容量を小さくでき、かつ、印刷完了時間を遅くすることのないデータ転送を行なうことのできるドライバプログラム等に関する。
【背景技術】
【０００２】
通常、紙などの印刷媒体に印刷を実行する印刷システムにおいては、パーソナルコンピュータなどのホスト装置から印刷データを送信し、当該印刷データを受信した印刷装置が当該印刷データに基づいて上記印刷を実施する。そして、印刷が完了するまでの間に、前記印刷データについては、ホスト装置のアプリケーションから発せられる印刷要求のデータを画素毎の色の濃度値で表した画像データとする処理、当該画像データの色表現を印刷装置における色表現に変換する処理、当該色変換後のデータをドットのイメージとする処理等が行われる。
【０００３】
このような印刷システムにおいて、近年、上記色変換の処理までをホスト装置側で行わせる所謂ホストベースの処理が行われるようになっており、かかる場合には、色変換後の画像データがホスト装置側で圧縮された後に印刷装置側へ送信され、印刷装置側では、受信したデータを解凍した後に使用する。また、ホスト装置から送信する画像データの圧縮処理では、通常、印刷媒体１面分の範囲を高さ方向に所定長さで分割したバンドという領域ごとに処理が行われる。例えば、上記色変換後の画像データが、Ｙ（イエロー）、Ｍ（マゼンダ）、Ｃ（シアン）、Ｋ（ブラック）で表現されている場合には、当該４色のデータを含む画像データがバンド単位で順次圧縮処理され、印刷装置への送信が可能な状態となる。
【０００４】
このように圧縮処理が行われた後の印刷装置へのデータ転送については、従来、幾つかの方法でなされていた。その一つの方法は、前述した圧縮処理の順番に従って、圧縮が終了したバンドの画像データから順次印刷装置へ送信するものである。このように、全色のデータを含む画像データをバンド毎に送信することを、以降、バンド順次のデータ転送と呼ぶこととする。印刷装置が、例えば、４サイクルのレーザープリンタ等のように、印刷媒体の１面単位で印刷処理を行う装置の場合、印刷装置は、少なくとも１面分の1色の画像データを受信してからでないと印刷処理を開始することができないので、前記バンド順次でデータ転送を行う場合には、印刷装置は１面分の全色分の画像データを受信するまで印刷処理を待つことになる。
【０００５】
また、他のデータ転送方法として、バンド毎に圧縮処理される画像データを１面分、ホスト装置側に蓄積し、その後、蓄積した1面分の画像データを１色ずつ順番に送信していく方法がある。例えば、画像データがＹＭＣＫ４色のデータから構成される場合には、蓄積された１面分の画像データのうち、まず、Ｙのデータを全て転送し、その後、Ｍの全てのデータ、Ｃの全てのデータ、Ｋの全てのデータと順次転送していく。このように、1面分の画像データを１色ずつ順番に送信していくことを、以降、プレーン順次のデータ転送と呼ぶこととする。かかる方法は、例えば、下記特許文献１に記載の装置などで採用されている。印刷装置が、４サイクルのレーザープリンタ等であり、１面毎に１色ずつ印刷処理を遂行する装置の場合には、１面分の全色の画像データが揃わなくても印刷処理を開始することができるので、かかるプレーン順次のデータ転送を行なうことにより、１面分の全色分の画像データを受信するまで印刷処理の開始を待つ必要がない。所謂フライングスタートが可能となる。
【特許文献１】特開２００２−２３６５６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述のプレーン順次によるデータ転送方法では、１面分（１プレーン分）の画像データをホスト装置に一旦蓄積する必要があり、そのためにホスト装置のメモリ（ＲＡＭ等）が使用されることとなって、ホスト装置の処理パフォーマンスを低下させてしまう可能性がある。
【０００７】
また、前記バンド順次によるデータ転送方法では、前述したように、面順次で処理を行う印刷装置の場合には、１面分のデータが全て揃うまで処理を開始できず、早く印刷処理を完了できないという課題がある。
【０００８】
そこで、本発明の目的は、ホスト装置側で色変換後の画像データを生成して印刷装置へ転送する処理をホスト装置に実行させるドライバプログラムであって、ホスト装置側に蓄積すべき画像データの容量を小さくでき、かつ、印刷完了時間を遅くすることのないデータ転送を行なうことのできるドライバプログラム等を提供することである。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の一つの側面は、複数色のデータから成る画像データを生成して当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラムが、１面分の前記画像データの転送を行う際に、前記１面分の画像データを所定の高さで区分したバンドのデータ毎に前記印刷装置に転送する工程と、前記複数色の各色毎に前記印刷装置に転送する工程と、を混在させて行う前記画像データの転送処理を前記ホスト装置に実行させることである。従って、本発明によれば、ホスト装置側に蓄積すべきデータの容量を小さくすることが可能となる。
【００１０】
上記の目的を達成するために、本発明の別の側面は、複数色のデータから成る画像データを生成して当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラムが、１面分の前記画像データの転送を行う際に、前記１面分の画像データを所定の高さで区分したバンドのデータ毎に、前記複数色の全色あるいは一部の色のデータを前記印刷装置に転送し、当該転送が前記一部の色のデータについてなされた場合には、転送されなかった色のデータを前記ホスト装置に蓄積する第一のステップと、前記第一のステップで蓄積されたデータを、前記複数色の各色毎に前記印刷装置に転送する第二のステップと、を前記ホスト装置に実行させることである。従って、本発明によれば、ホスト装置側に蓄積すべきデータの容量を小さくすることが可能となる。
【００１１】
更に、上記の発明において、その好ましい態様は、前記第一のステップでデータが転送される色の数が、所定のタイミングで、前記ホスト装置に蓄積される各色のデータの容量が前記印刷装置において先に用いられる色の方が小さくなるように、変化することを特徴とする。これにより、印刷装置における印刷完了時間を遅らせてしまうことを防ぐことが可能となる。
【００１２】
更に、上記の発明において、好ましい態様は、前記所定のタイミングが、前記転送及び蓄積の処理を行う前記バンドの位置、あるいは、前記転送及び蓄積の処理が済んだデータの容量に基づいて、決定されることを特徴とする。
上記の目的を達成するために、本発明の別の側面は、ホスト装置において生成された複
数色のデータから成る画像データを印刷装置に転送するデータ転送方法が、１面分の前記画像データの転送を行う際に、前記１面分の画像データを所定の高さで区分したバンドのデータ毎に前記印刷装置に転送する工程と、前記複数色の各色毎に前記印刷装置に転送する工程と、を混在させて前記画像データの転送を行うことである。
【００１３】
上記の目的を達成するために、本発明の別の側面は、ホスト装置において生成された複数色のデータから成る画像データを印刷装置に転送するデータ転送方法が、１面分の前記画像データの転送を行う際に、前記１面分の画像データを所定の高さで区分したバンドのデータ毎に、前記複数色の全色あるいは一部の色のデータを前記印刷装置に転送し、当該転送が前記一部の色のデータについてなされた場合には、転送されなかった色のデータを前記ホスト装置に蓄積する第一のステップと、前記第一のステップで蓄積されたデータを、前記複数色の各色毎に前記印刷装置に転送する第二のステップと、を有することである。
【００１４】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
図１は、本発明によるドライバプログラムを用いた印刷システムの実施の形態例に係る構成図である。図１に示すプリンタドライバ１２が、ホストコンピュータ１とプリンタ２から成る印刷システムにおける本発明を用いたドライバプログラムであり、プリンタ２へ送信する色変換処理後の画像データを、前述したバンド順次とプレーン順次を混在させた方法で転送し、ホストコンピュータ１に蓄積すべき画像データの容量を小さくしようとするものである。
【００１６】
ホストコンピュータ１は、本実施の形態例におけるホスト装置であり、プリンタ２に対して色変換処理後の画像データを送信し印刷要求を行う。図１に示すように、ホストコンピュータ１には、アプリケーション１１、プリンタドライバ１２、及びメモリ１３が備えられる。なお、ホストコンピュータ１は、所謂パーソナルコンピュータなどで構成することができる。アプリケーション１１は、例えば、文書作成ソフトウェア等の印刷要求元であり、印刷対象のデータを所定のフォーマットでプリンタドライバ１２に渡す。
【００１７】
プリンタドライバ１２は、前記アプリケーション１１からの印刷要求を受けて、画像データを生成し、当該画像データをプリンタ２に送信する部分である。プリンタドライバ１２は、まず、前記アプリケーション１１からのデータを解釈し、印刷対象を画素毎のデータである画像データに展開する。ここで生成される画像データは、例えば、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）の各色の濃度値から構成されるデータである。その後、プリンタドライバ１２は、上記ＲＧＢの画像データに対し前述したバンド単位で色変換処理を施し、プリンタ２で用いられるＹＭＣＫの画像データに変換する。画素毎にＹＭＣＫ各色のデータを有する当該生成された画像データに対して、プリンタドライバ１２は、バンド単位で圧縮処理を施す。これは、プリンタ２へのデータ転送時間を短縮するためである。
【００１８】
圧縮処理された画像データは、プリンタ２へ転送可能な状態であり、プリンタドライバ１２は、圧縮処理が済んだ画像データについてデータ転送処理を行うが、このデータ転送方法に本プリンタドライバ１２の特徴がある。具体的には後述するが、１面分のデータについて、まずバンド順次の転送を行い、その後プレーン順次の転送に切り換えてプリンタ２への送信を行なう。また、バンド順次で転送中に、所定のタイミングで、プリンタ２へ転送する画像データの色の数を順次減少させていく。そして、その減少によりプリンタ２へ転送しなかった色のデータをメモリ１３へ格納していく。なお、プリンタドライバ１２は、前述した処理の手順を指示するプログラムと、当該プログラムに従って処理を実行する制御装置等によって構成することができる。
【００１９】
次に、メモリ１３は、ホストコンピュータ１に備えられるＲＡＭであり、様々な用途で使用されるが、印刷実行時には、前記プリンタドライバ１２で圧縮処理された画像データの一部を一時的に格納する。図１においてメモリ１３の下方に示される図は、圧縮処理後の１面分の画像データを模式的に示したものである。１面分の画像データは、複数のバンドのデータから構成され、また、前述の通り、色変換後のＹＭＣＫのデータで構成される。詳細については後述するが、プリンタドライバ１２が１面分のデータを転送する間に、例えば、図の斜線で示した部分の画像データが当該メモリ１３に一時的に蓄積されることになる。
【００２０】
プリンタ２は、ホストコンピュータ１からの画像データを受信し、当該画像データに基づいて印刷を実行する、４サイクルのレーザプリンタである。図１に示すように、プリンタ２には、データバッファ２１、解凍部２２、スクリーン処理部２３、及びエンジン２４が備えられている。データバッファ２１は、前記プリンタドライバ１２から順次転送される画像データを格納する部分である。図１においてデータバッファ２１の下方に示される図は、データバッファ２１に格納される画像データを模式的に示したものである。図に示すように、データバッファ２１では、１面分の画像データがＹＭＣＫの色毎に格納され、それらはプレーンデータと呼ばれる。
【００２１】
後述する解凍部２２での処理からエンジン２４で印刷が実施されるまでの印刷処理は、面単位で、１色ずつ連続して実行されるので、各色のプレーンデータは、その色の上記印刷処理が開始されるまでにデータバッファ２１に揃っている必要がある。言い換えれば、印刷処理を行う面について、全色のプレーンデータがホストコンピュータ１から受信されていない状態でも印刷処理を開始することが可能である。即ち、所謂フライングスタートが可能である。なお、本実施の形態例では、ＹＭＣＫの順番で上記印刷処理が実施されるものとする。例えば、図１に示すデータバッファ２１下方の図において、斜線部分がデータバッファ２１に既に格納されているデータであるとすると、図に示す状態で、他の条件が揃えば、１色目のＹについては上記印刷処理が開始可能であると言える。従って、このデータバッファ２１は、必ずしも４色分のプレーンデータ全てを一度に格納できる容量を有している必要はない。
【００２２】
解凍部２２は、前記印刷処理が開始されるとデータバッファ２１から圧縮されているデータを取り出し、そのデータを元の状態に復元する処理を行う部分である。また、スクリーン処理部２３は、解凍部２２で解凍されたデータにスクリーン処理を施し、画素毎のデータをドットイメージのデータに変換する部分である。エンジン２４は、スクリーン処理されたデータに基づいて印刷媒体に印刷を実行する部分である。これら解凍部２２、スクリーン処理部２３、及び、エンジン２４で行なわれる印刷処理は、各処理が同期して行われ、前述のように、面単位で１色ずつ連続して実行される。
【００２３】
図２は、プリンタドライバ１２が行なうデータ転送処理の手順を例示したフローチャートである。以下、図２に基づいて、本プリンタドライバ１２の特徴であるデータ転送処理の内容について説明する。まず、プリンタドライバ１２は、これからプリンタ２へ転送する１面分の画像データのサイズが、予め定めた値よりも小さいか否かをチェックする（ステップＳ１）。図３は、転送対象である画像データを模式的に示した図である。図３の（ａ）は、プリンタドライバ１２が転送する１面分の画像データを示しており、図に示す例では、１面がｎバンドに分割されている。そして、バンドは上から順番にＢ１、Ｂ２、…、Ｂｎと呼び、それら各バンドに含まれるＹＭＣＫの各データをＹ１〜Ｙｎ、Ｍ１〜Ｍｎ、Ｃ１〜Ｃｎ、Ｋ１〜Ｋｎと表記する。上記１面分の画像データのサイズとは、図３の（ａ）に示すデータ全体のサイズのことを意味する。
【００２４】
前記チェックの結果、データサイズが予め定めた値よりも小さいと判断された場合には（ステップＳ１のＹｅｓ）、プリンタドライバ１２は、バンド順次によりデータ転送を行なう（ステップＳ２）。具体的には、前述の通り、データ転送前の圧縮処理がバンド単位で行われるので、圧縮処理が終了したバンドのデータを、メモリ１３に蓄積せずに、そのままプリンタ２へ順次送信していく。図３の（ａ）に示す例では、バンドＢ１のデータが圧縮処理されるとそのデータ、即ち、Ｙ１、Ｍ１、Ｃ１、Ｋ１をプリンタ２に転送し、その後、バンドＢ２のデータが圧縮処理されるとＹ２、Ｍ２、Ｃ２、Ｋ２をプリンタ２に転送し、その後も同様に、圧縮処理が行われる度にそのバンドのデータを転送する。そして、対象としている１面分の画像データについて圧縮処理が終了するまで（バンドＢｎまで）バンド毎の転送を行ない、１面分のデータ転送処理を終了する。
【００２５】
一方、前記ステップＳ１で、データサイズが予め定めた値よりも小さくないと判断された場合には（ステップＳ１のＮｏ）、プリンタドライバ１２は、まず、予め定めたバンド（ｋ番目のバンド）までバンド順次のデータ転送を行なう（ステップＳ３）。具体的には、前記ステップＳ２の場合と同様に、バンドＢｋまでは、圧縮処理後のバンドのデータをメモリ１３に蓄積せず、そのままプリンタ２に転送する。図３の（ａ）に示す例では、バンドＢ１、Ｂ２、…、Ｂｋの順番で順次データが転送される。更に詳しくは、図のバンドＢ１に示される矢印の方向に従って、Ｙ１→Ｍ１→Ｃ１→Ｋ１→Ｙ２→Ｍ２→Ｃ２→Ｋ２という順番でデータ転送が行なわれる。
【００２６】
次に、バンドＢｋの転送が終了すると、プリンタドライバ１２は、予め定めたバンド（ｌ番目のバンド）まで、圧縮処理されたバンドのデータについて、ＹＭＣのデータをバンド順次で転送し、残りのＫのデータをメモリ１３に蓄積するという処理を行なう（ステップＳ４）。図３の（ａ）に示す例では、バンドＢｌに示される矢印の方向に従って、Ｙｋ＋１→Ｍｋ＋１→Ｃｋ＋１→Ｙｋ＋２→…Ｙｌ→Ｍｌ→Ｃｌという順番でデータ転送が行なわれ、Ｋｋ＋１〜Ｋｌのデータについてはメモリ１３に蓄積される。
【００２７】
次に、バンドＢｌの転送が終了すると、プリンタドライバ１２は、予め定めたバンド（ｍ番目のバンド）まで、圧縮処理されたバンドのデータについて、ＹＭのデータをバンド順次で転送し、残りのＣＫのデータをメモリ１３に蓄積するという処理を行なう（ステップＳ５）。図３の（ａ）に示す例では、バンドＢｍに示される矢印の方向に従って、Ｙｌ＋１→Ｍｌ＋１→Ｙｌ＋２→…Ｙｍ→Ｍｍという順番でデータ転送が行なわれ、Ｃｌ＋１〜ＣｍとＫｌ＋１〜Ｋｍのデータについてはメモリ１３に蓄積される。
【００２８】
次に、バンドＢｍの転送が終了すると、プリンタドライバ１２は、予め定めたバンド（ｎ番目のバンド）まで、言い換えれば、当該１面分のデータについて圧縮処理が終了するまで、圧縮処理されたバンドのデータについて、Ｙのみのデータを転送し、残りのＭＣＫのデータをメモリ１３に蓄積するという処理を行なう（ステップＳ６）。図３の（ａ）に示す例では、Ｙｍ＋１→Ｙｍ＋２→…Ｙｎという順番でデータ転送が行なわれ、Ｍｍ＋１〜ＭｎとＣｍ＋１〜ＣｎとＫｍ＋１〜Ｋｎのデータについてはメモリ１３に蓄積される。
【００２９】
かかるステップＳ６の処理が終了した時点、即ち、当該１面分のデータについて圧縮処理が終了した時点で、Ｙについては全てのデータが転送され、ＭについてはバンドＢｍまでのデータが転送され、ＣについてはバンドＢｌまでのデータが転送され、ＫについてはバンドＢｋまでのデータが転送されることになる。図３の（ｂ）は、この時点でプリンタ２側のデータバッファ２１に格納される各色のプレーンデータを模式的に示している。図の色の付いた部分が格納されているデータを示しており、各色上記転送が行なわれたバンドまでのデータがデータバッファ２１内に格納されている。また、この時点で、Ｍｍ＋１〜ＭｎとＣｌ＋１〜ＣｎとＫｋ＋１〜Ｋｎのデータについてはメモリ１３に蓄積されることになる。図３の（ａ）において、太線で囲われた部分のデータがメモリ１３に格納されることになる。
【００３０】
このようにステップＳ３からステップＳ６までのバンド順次のデータ転送が終了すると、プリンタドライバ１２は、メモリ１３に蓄積されたデータをプレーン順次でプリンタ２へ送信する。まず、メモリ１３に蓄積されたＭのデータを全て転送する（ステップＳ７）。図３の（ａ）に示す例では、Ｍのデータ上に示される下向きの矢印の方向に従って、Ｍｍ＋１→Ｍｍ＋２→…→Ｍｎという順番でデータ転送がなされる。
【００３１】
次に、同様に、メモリ１３に蓄積されたＣのデータを全て転送する（ステップＳ８）。図３の（ａ）に示す例では、Ｃのデータ上に示される下向きの矢印の方向に従って、Ｃｌ＋１→Ｃｌ＋２→…→Ｃｎという順番でデータ転送がなされる。引き続き、メモリ１３に蓄積されたＫのデータを全て転送する（ステップＳ９）。図３の（ａ）に示す例では、Ｋのデータ上に示される下向きの矢印の方向に従って、Ｋｋ＋１→Ｋｋ＋２→…→Ｋｎという順番でデータ転送がなされる。
【００３２】
このようにして、メモリ１３に蓄積されたデータの転送が終わると、当該１面分の画像データについてのデータ転送処理が終了する。
【００３３】
以上説明したように、本プリンタドライバ１２は、１面分の画像データを送信する際に、バンド順次とプレーン順次を混在して使用し、全てのデータをプレーン順次では送信しないが、全てのデータをプレーン順次で送信する場合と比べて、プリンタ２における印刷完了時間が遅くなってしまうということを実質的に避けることができる。図４は、プリンタ２におけるデータ受信と印刷処理のタイミングを例示したタイムチャートである。図４の（ａ）は、前述したプレーン順次でホストコンピュータ１からプリンタ２へデータ転送が行われた場合のデータ受信タイミングを例示しており、図のＹ、Ｍ、Ｃ、Ｋで示される各期間は、各色のプレーンデータが受信されている期間を表している。そして、それらの期間の終了時点であるＴａｙ、Ｔａｍ、Ｔａｃ、Ｔａｋは、各色のデータ受信が完了するタイミングを表している。
【００３４】
同様に、図４の（ｃ）は、本プリンタドライバ１２によってデータ転送が行われた場合のデータ受信タイミングを例示しており、Ｔｃｙ、Ｔｃｍ、Ｔｃｃ、Ｔｃｋは、各色のデータ受信が完了するタイミングを表している。
【００３５】
また、図４の（ｂ）は、前記図４の（ａ）に示したタイミングでデータ受信が完了する場合の印刷処理タイミングを例示している。ここで、印刷処理とは、前述したとおり、データバッファ２１に格納されたプレーンデータが読み出されてエンジン２４において印刷が実行されるまでの連続処理を意味している。また、図４の（ａ）に示す場合には、前述したフライングスタートが可能であるため、図４の（ｂ）に示す例では、１面分の全色のデータが受信される前に１色目の印刷処理を開始している。更に、図４の（ｂ）に示す例は、現実的に最も印刷完了が早くなるケースを想定したものである。
【００３６】
印刷処理を始めに行うＹについては、Ｙについての処理のみを考えれば、Ｙのデータを全て受信した直後に印刷処理を開始してもよいが、前述のように、４色の印刷処理は連続して行われ、途中で止めることをしたくないので、Ｙ以降のデータ転送時間の遅れ等も考慮して、１色目の印刷開始は、現実的には最も早い場合でも２色目であるＭのデータが受信された以降に決定されると考えられる。即ち、Ｙの印刷処理の開始時点であるＴｂｙは、最も早い場合で、Ｔａｍの直後ということになる。
【００３７】
また、最後の色であるＫの印刷処理についても、処理を開始するまでにデータ受信が終了している必要があるので、Ｋの印刷処理の開始時点であるＴｂｋは、最も早い場合で、Ｔａｋの直後ということになる。また、プリンタ２における各色の印刷時間は同じであることから、図４の（ａ）に示すようなデータ受信の場合には、図４の（ｂ）に示す例が、現実的に最も印刷完了を早くする場合となる。
【００３８】
かかる印刷処理のタイミングに対して、本プリンタドライバ１２によるデータ転送が間に合うか否かを見ると、図４の（ｃ）に示す例では、各色のデータ受信完了時点であるＴｃｙ、Ｔｃｍ、Ｔｃｃ、Ｔｃｋが、それぞれ、各色の印刷処理開始時点であるＴｂｙ、Ｔｂｍ、Ｔｂｃ、Ｔｂｋよりも早くなっており、図４の（ｂ）に示す印刷処理が可能であるといえる。ここで、Ｋのデータ受信の完了時点Ｔｃｋ、即ち、１面分のデータ受信が完了する時点は、図４の（ａ）の場合と比較して、１面分のデータ容量が同じであり送信速度についても差はないので、同じタイミングとなる。また、Ｙのデータ受信が完了するＴｃｙは、前述した図２のステップＳ６が完了した時点であり、この時点では、データバッファ２１は、図３の（ｂ）に示すような状態となっている。かかるＴｃｙとＴｃｍ、Ｔｃｃは、前述したバンドＢｋ、Ｂｌ、Ｂｍのｋ、ｌ、ｍの値により変化するが、図４の（ｃ）に示すようなＴｃｙ、Ｔｃｍ、Ｔｃｃのタイミングとなるようにｋ、ｌ、ｍの値を決定することは可能である。
【００３９】
従って、本実施の形態例に係るデータ転送方法を用いることにより、プレーン順次でデータ転送した場合の現実的に最も早い印刷完了時間を維持することができ、印刷完了時間を遅くしてしまうことは現実的にはない。
【００４０】
以上説明したように、本実施の形態例に係るプリンタドライバ１２は、色変換がされた画像データについて、まず、バンド毎の圧縮処理が完了する度に、順次転送する色を減らしながら、バンド順次でデータ転送を行うと共に転送していないデータを蓄積し、１面分のデータについて圧縮処理が完了した後は、蓄積したデータをプレーン順次でデータ転送する。従って、ホストコンピュータ１内に１面分のデータを蓄積する必要がなく、前述したプレーン順次のみのデータ転送よりもホストコンピュータ１内に蓄積すべきデータの容量を小さくできる。また、前述のように、本プリンタドライバ１２によるデータ転送方法でも、プレーン順次の場合と比較して現実的に印刷完了時間を遅くしてしまうことはない。なお、本プリンタドライバ１２では、転送するデータ量が少ない場合、バンド順次でデータ転送を行なうが、かかる場合には、通常、データ転送に時間がかからないので、プリンタ２においてフライングスタートを行う必要もなく、印刷完了時間に関して悪影響を与えることはない。
【００４１】
なお、前述に実施の形態例においては、バンドＢｋ、Ｂｌ、Ｂｍにより、即ち、何番目のバンドであるかということにより、転送するデータの色数を変えたが、データサイズによりかかる色数を変えてもよい。例えば、１面のデータについて、始めからＸ１ｋｂ（キロバイト）までは４色全色を転送し、その後、Ｘ２ｋｂまでは３色を転送し１色を蓄積する、というように転送と蓄積を行なうようにしてもよい。
【００４２】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の形態例に係る構成図である。
【図２】データ転送処理の手順を例示したフローチャートである。
【図３】転送対象である画像データを模式的に示した図である。
【図４】データ受信と印刷処理のタイミングを例示したタイムチャートである。
【符号の説明】
【００４４】
１  ホストコンピュータ、  ２  プリンタ、  １１  アプリケーション、  １２  プリンタドライバ、  １３  メモリ、  ２１  データバッファ、  ２２  解凍部、  ２３  スクリーン処理部、  ２４  エンジン
【図１】
2005284518.tif 000003
【図２】
2005284518.tif 000004
【図３】
2005284518.tif 000005
【図４】
2005284518.tif 000006