JP2005339161A - ドライバプログラム及びデータ転送方法 - Google Patents

ドライバプログラム及びデータ転送方法 Download PDF

Info

Publication number
JP2005339161A
JP2005339161A JP2004156514A JP2004156514A JP2005339161A JP 2005339161 A JP2005339161 A JP 2005339161A JP 2004156514 A JP2004156514 A JP 2004156514A JP 2004156514 A JP2004156514 A JP 2004156514A JP 2005339161 A JP2005339161 A JP 2005339161A
Authority
JP
Japan
Prior art keywords
data
color
transferred
printing apparatus
transferring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004156514A
Other languages
English (en)
Inventor
Tetsuya Suzuki
哲也 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004156514A priority Critical patent/JP2005339161A/ja
Publication of JP2005339161A publication Critical patent/JP2005339161A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】ホスト装置におけるメモリ消費と印刷装置におけるスループットのバランスの取れた適正なデータ転送を行うことのできるドライバプログラム等を提供する。
【解決手段】1バンドデータについて、印刷装置で始めに処理される色のデータを転送すると共に当該色以外の色のデータを蓄積する処理を、バンド順に、蓄積したデータ量が予め定められた値よりも大きくなるか、あるいは、当該ページの始めに処理される色のデータを全て転送するまで実行する第一ステップと、第一ステップにおいて、蓄積したデータ量が予め定められた値よりも大きくなった場合に、蓄積したデータを全て転送し第一ステップに戻る第二ステップと、第一ステップにおいて、始めに処理される色のデータを全て転送した場合に、蓄積したデータを全て転送する第三ステップとをホスト装置に実行させる。
【選択図】 図2

Description

本発明は、ホスト装置側で画像データを生成し当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラム等に関し、特に、ホスト装置におけるメモリ消費と印刷装置におけるスループットのバランスの取れた適正なデータ転送を行うことのできるドライバプログラム等に関する。
通常、紙などの印刷媒体に印刷を実行する印刷システムにおいては、パーソナルコンピュータなどのホスト装置から印刷データを送信し、当該印刷データを受信した印刷装置が当該印刷データに基づいて上記印刷を実施する。そして、印刷が完了するまでの間に、前記印刷データについては、ホスト装置のアプリケーションから発せられる印刷要求のデータを画素毎の色の濃度値で表した画像データとする処理、当該画像データの色表現を印刷装置における色表現に変換する処理、当該色変換後のデータをドットのイメージとする処理等が行われる。
このような印刷システムにおいて、近年、上記色変換の処理までをホスト装置側で行わせる所謂ホストベースの処理が行われるようになっており、かかる場合には、色変換後の画像データがホスト装置側で圧縮された後に印刷装置側へ送信され、印刷装置側では、受信したデータを解凍した後に使用する。また、ホスト装置から送信する画像データの圧縮処理では、通常、印刷媒体1ページ分の範囲を高さ方向に所定長さで分割したバンドという領域ごとに処理が行われる。例えば、上記色変換後の画像データが、Y(イエロー)、M(マゼンダ)、C(シアン)、K(ブラック)で表現されている場合には、当該4色のデータを含む画像データがバンド単位で順次圧縮処理され、印刷装置への送信が可能な状態となる。
このように圧縮処理が行われた後の印刷装置へのデータ転送については、従来、幾つかの方法でなされていた。その一つの方法は、前述した圧縮処理の順番に従って、圧縮が終了したバンドの画像データから順次印刷装置へ送信するものである。このように、全色のデータを含む画像データをバンドの順番に従って送信することを、以降、バンド順次のデータ転送と呼ぶこととする。印刷装置が、例えば、4サイクルのレーザープリンタ等のように、印刷媒体の1ページについて1色毎に印刷処理を行う装置では、少なくとも1色目の当該印刷処理にその色の画像データが間に合うように画像データの受信をしなければならない。通常の場合、当該1色目の画像データを概ね全て受信してからでないと当該印刷処理、即ち、当該ページの印刷処理を開始できない。前記バンド順次により印刷装置へ送信する方法では、処理対象のページについて前記1色目の画像データが全て印刷装置に受信されるのは、当該ページの画像データが全て印刷装置に受信されるタイミングとほぼ同じとなる。従って、かかるデータ転送方法では、処理対象のページについて印刷処理を早い時期に開始することができない。
また、他のデータ転送方法として、バンド毎に圧縮処理される画像データをホスト装置側に蓄積しながら、1色ずつ順番に印刷装置へ送信していく方法がある。例えば、画像データがYMCK4色のデータから構成される場合には、1ページ分の画像データのうち、まず、Yのデータを全て転送し、その後、Mの全てのデータ、Cの全てのデータ、Kの全てのデータと順次転送していく。このように、1ページ分の画像データを1色ずつ順番に送信していくことを、以降、プレーン順次のデータ転送と呼ぶこととする。かかる方法は、例えば、下記特許文献1に記載の装置などで採用されている。印刷装置が、4サイクルのレーザープリンタ等であり、1ページ毎に1色ずつ印刷処理を遂行する装置の場合には、1ページ分の全色の画像データが揃わなくても印刷処理を開始することができるので、かかるプレーン順次のデータ転送を行なうことにより、1ページ分の全色分の画像データを受信するまで印刷処理の開始を待つ必要がない。所謂フライングスタートが可能となる。
特開2002−236563号公報
しかしながら、前述したバンド順次により、圧縮が終了したバンドの画像データ(全色分)から順次印刷装置へ送信するという方法を採用すると、前述したように、面順次で処理を行う印刷装置の場合には、早い時点でのフライングスタートができず、印刷装置におけるスループットを向上できないという課題がある。
また、前述したプレーン順次により、1ページ分の画像データについて印刷処理が行われる色の順番で印刷装置へのデータ転送を行っていく方法を採用すると、早い時点でのフライングスタートが可能となるが、1ページ分の画像データの大部分をホスト装置に一旦蓄積する必要があり、そのためにホスト装置のメモリ(RAM等)が使用されることとなって、ホスト装置の処理パフォーマンスを低下させてしまう可能性がある。
そこで、本発明の目的は、ホスト装置側で画像データを生成し当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラムであって、ホスト装置におけるメモリ消費と印刷装置におけるスループットのバランスの取れた適正なデータ転送を行うことのできるドライバプログラム等を提供することである。
上記の目的を達成するために、本発明の一つの側面は、複数色のデータから成る画像データを生成して当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラムが、1ページ分の前記画像データの前記印刷装置への転送を行う際に、前記1ページ分の画像データを所定の高さで区分した一つのバンドのデータについて、前記印刷装置において始めに処理される色のデータを前記印刷装置に転送すると共に前記始めに処理される色以外の色のデータを前記ホスト装置に蓄積する処理を、前記バンドの順番に従って、前記蓄積したデータ量が予め定められた値よりも大きくなるか、あるいは、当該ページの前記始めに処理される色のデータを全て前記印刷装置に転送するまで、繰り返し実行する第一のステップと、前記第一のステップにおいて、前記蓄積したデータ量が予め定められた値よりも大きくなった場合に、前記蓄積したデータを全て前記印刷装置に転送し、当該転送の後、前記第一のステップに戻る第二のステップと、前記第一のステップにおいて、前記始めに処理される色のデータを全て前記印刷装置に転送した場合に、前記蓄積したデータを全て前記印刷装置に転送する第三のステップとを前記ホスト装置に実行させることである。従って、本発明によれば、ホスト装置から印刷装置へデータ転送を行う際に、ホスト装置側に蓄積するデータ量をホスト装置における処理パフォーマンスに支障をきたさないように制限することができ、また、所謂バンド順次でデータ転送を行う場合よりも早くフライングスタートをすることができる。
更に、上記の発明において、その好ましい態様は、前記第三のステップにおける、前記蓄積したデータを全て転送する処理が、前記印刷装置で先に処理される色から順番に行われることを特徴とする。これにより、更にフライングスタートのタイミングを早くすることができる。
上記の目的を達成するために、本発明の別の側面は、ホスト装置において生成された複数色のデータから成る画像データを印刷装置に転送するデータ転送方法が、1ページ分の前記画像データの前記印刷装置への転送を行う際に、前記1ページ分の画像データを所定の高さで区分した一つのバンドのデータについて、前記印刷装置において始めに処理される色のデータを前記印刷装置に転送すると共に前記始めに処理される色以外の色のデータを前記ホスト装置に蓄積する処理を、前記バンドの順番に従って、前記蓄積したデータ量が予め定められた値よりも大きくなるか、あるいは、当該ページの前記始めに処理される色のデータを全て前記印刷装置に転送するまで、繰り返し実行する第一のステップと、前記第一のステップにおいて、前記蓄積したデータ量が予め定められた値よりも大きくなった場合に、前記蓄積したデータを全て前記印刷装置に転送し、当該転送の後、前記第一のステップに戻る第二のステップと、前記第一のステップにおいて、前記始めに処理される色のデータを全て前記印刷装置に転送した場合に、前記蓄積したデータを全て前記印刷装置に転送する第三のステップとを有することである。
更に、上記の発明において、その好ましい態様は、前記第三のステップにおける、前記蓄積したデータを全て転送する処理が、前記印刷装置で先に処理される色から順番に行われることを特徴とする。
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
図1は、本発明によるドライバプログラムを用いた印刷システムの実施の形態例に係る構成図である。図1に示すプリンタドライバ12が、ホストコンピュータ1とプリンタ2から成る印刷システムにおける本発明を用いたドライバプログラムであり、色変換処理後の画像データをプリンタ2へ転送する際に、ホスト装置側に蓄積するデータ量をホスト装置の処理パフォーマンスに支障をきたさない程度に制限し、ホスト装置におけるメモリ消費と印刷装置におけるスループットのバランスの取れた適正なデータ転送を行うとするものである。
ホストコンピュータ1は、本実施の形態例におけるホスト装置であり、プリンタ2に対して色変換処理後の画像データを送信し印刷要求を行う。図1に示すように、ホストコンピュータ1には、アプリケーション11、プリンタドライバ12、及びメモリ13が備えられる。なお、ホストコンピュータ1は、所謂パーソナルコンピュータなどで構成することができる。アプリケーション11は、例えば、文書作成ソフトウェア等の印刷要求元であり、印刷対象のデータを所定のフォーマットでプリンタドライバ12に渡す。
プリンタドライバ12は、前記アプリケーション11からの印刷要求を受けて、画像データを生成し、当該画像データをプリンタ2に送信する部分である。プリンタドライバ12は、まず、前記アプリケーション11からのデータを解釈し、印刷対象を画素毎のデータである画像データに展開する。ここで生成される画像データは、例えば、R(レッド)、G(グリーン)、B(ブルー)の各色の濃度値から構成されるデータである。その後、プリンタドライバ12は、上記RGBの画像データに対し前述したバンド単位で色変換処理を施し、プリンタ2で用いられるYMCKの画像データに変換する。画素毎にYMCK各色のデータを有する当該生成された画像データに対して、プリンタドライバ12は、バンド単位で圧縮処理を施す。これは、プリンタ2へのデータ転送時間を短縮するためである。
圧縮処理された画像データは、プリンタ2へ転送可能な状態であり、プリンタドライバ12は、圧縮処理が済んだ画像データについてデータ転送処理を行うが、このデータ転送方法に本プリンタドライバ12の特徴がある。具体的には後述するが、予め定めた許容量のデータがメモリ13に蓄積されるまではプリンタ2で最初に印刷処理が行われるYのデータを優先してプリンタ2へ転送し、許容量のデータがメモリ13に蓄積されると蓄積された残りの色であるMCKのデータをプリンタ2へ転送する、という処理を繰り返し行う。なお、プリンタドライバ12は、前述した処理の手順を指示するプログラムと、当該プログラムに従って処理を実行する制御装置等によって構成することができる。
次に、メモリ13は、ホストコンピュータ1に備えられるRAMであり、様々な用途で使用されるが、印刷実行時には、前記プリンタドライバ12で圧縮処理された画像データの一部を一時的に格納する。前述の通り、この格納(蓄積)する画像データの量に制限を設けていることが本実施の形態例における大きな特徴であり、この量は予め定められる。なお、圧縮処理後の1ページ分の画像データは、複数のバンドのデータから構成され、また、前述の通り、色変換後のYMCKのデータで構成される。
プリンタ2は、ホストコンピュータ1からの画像データを受信し、当該画像データに基づいて印刷を実行する、4サイクルのレーザプリンタである。図1に示すように、プリンタ2には、データバッファ21、解凍部22、スクリーン処理部23、及びエンジン24が備えられている。データバッファ21は、前記プリンタドライバ12から順次転送される画像データを格納する部分である。データバッファ21では、1ページ分の画像データがYMCKの色毎に格納され、それらはプレーンデータと呼ばれる。
後述する解凍部22での処理からエンジン24で印刷が実施されるまでの印刷処理は、ページ単位で、1色ずつ連続して実行されるので、各色のプレーンデータは、その色のデータバッファ21からエンジン24側へのデータ転送処理が終了するまでに全て受信されデータバッファ21に格納される必要がある。言い換えれば、印刷処理を行うページについて、全色のプレーンデータがホストコンピュータ1から受信されていない状態でも印刷処理を開始することが可能である。即ち、フライングスタートが可能である。なお、本実施の形態例では、YMCKの順番で上記印刷処理が実施されるものとする。
解凍部22は、前記印刷処理が開始されるとデータバッファ21から圧縮されているデータを取り出し、そのデータを元の状態に復元する処理を行う部分である。また、スクリーン処理部23は、解凍部22で解凍されたデータにスクリーン処理を施し、画素毎のデータをドットイメージのデータに変換する部分である。エンジン24は、スクリーン処理されたデータに基づいて印刷媒体に印刷を実行する部分である。これら解凍部22、スクリーン処理部23、及び、エンジン24で行なわれる印刷処理は、各処理が同期して行われ、前述のように、ページ単位で1色ずつ連続して実行される。
図2は、プリンタドライバ12が行なうデータ転送処理の手順を例示したフローチャートである。以下、図2に基づいて、本プリンタドライバ12の特徴であるデータ転送処理の内容について説明する。なお、図2に示す処理は、1ページ分のデータ転送に関するものであり、また、そのページについての前述した圧縮処理が開始される時点から始まるものであるとする。
まず、プリンタドライバ12は、メモリ13に蓄積されている処理対象のページのデータ量が予め定められた許容量を超えているか否かをチェックする(ステップS10)。なお、この許容量は、当該ホストコンピュータ1における処理パフォーマンスに支障をきたさない程度に定められている。処理対象のページについて最初の段階では、未だ当該ページのデータがメモリ13に蓄積されていないので、当該チェックにおいて、許容量を超えていないと判断され(ステップS10のNo)、処理がステップS20に移行する。そして、圧縮処理が行われた1バンドのデータについて、プリンタ2で最初にエンジン24側に転送されるYのデータをプリンタ2へ転送し、その他の色であるMCKのデータについては、この時点ではプリンタ2へ転送せずにメモリ13に蓄積する。
図3は、データ転送の手順を説明するための図である。図3の(a)において左側に示されている図は、転送処理される1ページ分の画像データを模式的に示しており、この例では、1ページがnバンドに分割されている(B1〜Bn)。また、1バンドのデータには、それぞれ、YMCKのデータが含まれている。前記ステップS20の処理において、この例では、まず、Y1のデータがプリンタ2へ転送され、M1、C1、K1についてはメモリ13に蓄積されることになる。
その後、プリンタドライバ12は、処理対象のページについてYのデータを全てプリンタ2へ転送したか否かをチェックする(ステップS30)。図3の例では、Ynまで転送が終了したかがチェックされる。ここで、全てのYデータが転送済みであれば(ステップS30のYes)、処理がステップS50に移行するが、当該ページについて前述したステップS20の処理が1回行われた段階では、通常の場合、全てのYデータが転送済みにはなっていないので(ステップS30のNo)、処理が再びステップS10に戻る。即ち、処理対象のページが2バンド以上に分割されている場合には(nが2以上の場合には)、この段階では、処理がステップS10に戻ることになる。
その後、メモリ13のデータ蓄積量が許容量を超える(ステップS10のYes)か、あるいは、Yのデータを全てプリンタ2へ転送する(ステップS30のYes)まで、前述したステップS20が繰り返される。図3の(a)に示した例では、前述したバンドB1についての転送と蓄積の処理の後、バンドB2、B3、…と、順次同様の処理が繰り返される。即ち、B2についての圧縮処理が終了すると、そのY2のデータをプリンタ2へ転送し、M2、C2、及びK2のデータをメモリ13に蓄積する。B3以降のバンドについても同様の処理が行われる。
そして、メモリ13のデータ蓄積量が許容量を超えた場合には(ステップS10のYes)、その時点でメモリ13に蓄積されているM、C、及びKのデータを全てプリンタ2に転送する処理を行う(ステップS40)。図3の(a)に示す例では、バンドBlまでステップS20の処理を行った時点でデータ蓄積量が許容量を超えるものと想定している。従って、図の太線内に示すM1〜Ml、C1〜Cl、及びK1〜Klのデータ(図のA1で示す部分)がメモリ13に蓄積された段階で上記ステップS40の処理が行われる。なお、このA1の部分のデータ量が、この例における前記許容量(S)に相当する。より正確には、許容量(S)を少し超える量に相当する。かかるステップS40の処理により、M1〜Ml、C1〜Cl、及びK1〜Klのデータが順次プリンタ2へ転送される。図3の(a)の左側に示した図において、点線で示した矢印は、プリンタ2へ転送される順番を表しており、Y1から順番にYのデータがYlまで転送された後に、A1で示す部分のデータが転送されることになる。なお、このステップS40におけるMCKデータの転送において、その転送順序はどのような順番であってもよい。例えば、色毎に、M1〜Ml、C1〜Cl、K1〜Klの順番に従って転送してもよいし、バンド毎に、M1〜K1、M2〜K2、…Ml〜Klの順番に従って転送してもよい。
図3の(a)において右側に示す図は、転送された画像データを格納するプリンタ2側のデータバッファ21を模式的に表している。図は、YMCK各色の1ページ分のデータがホストコンピュータ1から転送されて格納される順番を示している。前述の通り、図3の(a)における例では、ここまでの時点において、Y1〜Ylが最初に転送されてデータバッファ21に格納され(図の(1))、その後、M1〜Ml、C1〜Cl、及びK1〜Klのデータが格納される(図の(2))。
以上説明したように、ステップS40の処理が終了すると、メモリ13に蓄積していたMCKのデータは消去され、あるいは、上書きがされてもよい状態となり、メモリ13におけるその時点での前記蓄積量は0となる。その後、再び、処理はステップS20へ移り、圧縮処理が済んだバンドについてYデータのプリンタ2への転送とMCKデータのメモリ13への蓄積を、メモリ13のデータ蓄積量が許容量を超える(ステップS10のYes)か、あるいは、Yのデータを全てプリンタ2へ転送する(ステップS30のYes)まで、繰り返す。
図3の(a)に示す例では、バンドBmまで前記ステップS20の処理を行った段階で再び、メモリ13の蓄積量(図のA2で示す部分)が前記許容量Sを超え、前述したステップS40の処理が行われる。従って、この例では、Yl+1〜Ymのデータが転送させた後に、Ml+1〜Mm、Cl+1〜Cm、及びKl+1〜Kmのデータが順次転送される。そして、データバッファ21に図の(3)及び(4)で示す順番でデータが格納される。
図2に戻って、ステップS20を繰り返し実行した後、Yのデータを全てプリンタ2へ転送した場合には(ステップS30のYes)、その時点でメモリ13に蓄積されているMのデータを全てプリンタ2へ転送する(ステップS50)。その後、引き続き、メモリ13に蓄積されているCのデータを全てプリンタ2へ転送し(ステップS60)、更に、メモリ13に蓄積されているKのデータを全てプリンタ2へ転送する(ステップS70)。
図3の(a)に示す例では、ステップS20の処理でYnのデータまで転送された時点で、Yのデータを全てプリンタ2へ転送したことになるので、処理がステップS50、S60、及びS70に順次移行し、図のA3に示す部分のデータが図の矢印の順番に従って、順次プリンタ2へ転送される。具体的には、Mm+1〜Mn、Cm+1〜Cn、Km+1〜Knの順番でデータ転送される。なお、A3に示す部分のメモリ13に蓄積されたデータ量は、前記許容量Sを超えていない。そして、図に示す(5)、(6)、(7)、(8)の順番でデータバッファ21にデータが格納されていくことになる。
なお、このステップS50、S60、及びS70の処理、即ち、メモリ13に蓄積されたMCKのデータの転送処理、において、色に関係なくバンドの順番にデータ転送を行うなど異なる順番で転送を行ってもよいが、ステップS50、S60、及びS70に示すとおり、プリンタ2で印刷処理が行われる色の順番に従って色毎に転送を行った方が、プリンタ2におけるフライングスタートの時期を早める上で有利であると考えられる。
図3の(b)に示す図は、処理対象のページのデータ量が小さく、メモリ13へのデータ蓄積量が一度も前記許容量を超えることなく当該ページの転送処理を終了する場合を表している。この場合、前述したステップS20の処理が繰り返されて順次MCKのデータがメモリ13に蓄積されていくが、Yのデータを全て転送した時点で、即ち、Ynのデータを転送した時点で、メモリ13に蓄積される図のA4で示す部分のデータ量が前記許容量Sを超えないので、処理がステップS40に移行しないでステップS50に移行し、図の矢印で示す順番で順次MCKのデータが転送される。そして、図3の(b)の右側に示す図の通り、(1)、(2)、(3)、(4)の順番でデータバッファ21にデータが格納されていく。このように、1ページのデータ量が小さく、メモリ13へのデータ蓄積量が一度も前記許容量を超えない場合には、結果として、1ページ分の画像データを1色ずつ順番に転送することになり、前述した所謂プレーン順次による転送が行われることになる。
以上、図2及び図3に基づいて説明した処理内容により、本実施の形態例に係るプリンタドライバ12によるデータ転送処理が実行される。
図4は、かかるデータ転送処理が行われた場合のプリンタ2におけるデータ受信完了タイミングを説明するための図である。まず、図4の(a)は、1ページ分のデータについて各色のデータ受信が早期に完了する、最もフライングスタートが早くできる場合を示している。図4において、図の左側には、プリンタ2において最も先に印刷処理が行われるYのデータが全て受信された時点で、データバッファ21に格納されている各色のデータの状態を例示している。また、図の右側には、転送されたデータが受信されてデータバッファ21に格納されるタイミングを示したタイムチャートが示されている。前記図4の(a)に示す場合は、図3の(b)に基づいて説明した所謂プレーン順次によってデータ転送が行われる場合であり、各色のデータが1色ずつ印刷処理の順番に送られて来るので、Yのデータが全て受信されてデータバッファ21に格納された時点で他の色についてはデータは未だ受信されていない。なお、図において、塗りつぶされている部分がデータが格納されている部分を示している。この場合には、Yのデータを格納した後、順次図の矢印で示す順番にデータが格納され、右側のタイムチャートに示す、ya、ma、ca、及びkaの各時点で、それぞれ、YMCKの各データのデータ受信(格納)が完了する。かかる場合は、プリンタ2における印刷処理、より具体的には、データバッファ21からエンジン24側へのデータ転送処理と、同じ順番でデータ受信が行われ、最も早くフライングスタートをすることができる。
次に、図4の(b)は、全バンドのうち約半分のバンドまで前述したステップS20の処理が行われた時点で、初めてメモリ13の蓄積量が前記許容量を超えステップS40の処理が行われ、その後、再度蓄積量が許容量を超えることなく転送処理を終了する場合を示している。左側の図は、前述の通り、Yのデータが全て受信、格納された状態を表しており、右図のybの時点での状態に相当する。その後、図の矢印で示す順番にデータが受信、格納され、右図に示すmb、cb、kbのタイミングで、それぞれ、各色のデータ受信、格納が完了する。かかる場合は、各色の全てのデータがデータバッファ21に格納されるタイミングが前記図4の(a)の場合よりも遅くなり(正確には、Kについてはほぼ同じ)、図4の(a)の場合よりも早くフライングスタートをすることはできないが、本実施の形態例においては、2番目に早くフライングスタートを行えるケースであると考えられる。
また、図4の(c)は、前記図4の(a)及び(b)に示したケース以外の一般的な場合を例示している。かかる場合には、前述したステップS40の処理が少なくとも1回は行われ、左図に示すように、Yのデータが全て受信、格納されたと時点で、図4の(a)及び(b)に示す場合よりも、既に多くのデータがデータバッファ21に格納されることになる。従って、Yのデータが全て格納されるタイミングycは、図4の(a)及び(b)に示す場合よりも遅くなり、また、図の矢印で示される順番にデータの受信、格納が継続して、mc、cc、kcで示す、図4の(a)及び(b)の場合よりも遅いタイミングで、それぞれの色のデータ受信、格納が完了する(正確には、Kについてはほぼ同じ)。よって、かかる場合には、図4の(a)及び(b)の場合よりも早くフライングスタートを行うことはできない。
このように、本実施の形態例に係る転送方法でホストコンピュータ1からプリンタ2へデータを転送することにより、最も早いケースではプレーン順次と同じタイミングでフライングスタートを行うことが可能であり、最も遅いケースでもバンド順次よりも遅くならないタイミングでフライングスタートを行うことができる。従って、バンド順次の場合よりはプリンタ2におけるスループットの向上を図ることができる。
また、本実施の形態例によれば、前述のように、ホストコンピュータ1側のメモリ13に蓄積されるデータ量が、ホストコンピュータ1における処理パフォーマンスに支障をきたさない程度に制限され、プレーン順次の場合のように、転送するデータのサイズによってはホストコンピュータでのメモリ消費が多くなり処理パフォーマンスに支障をきたしてしまう、という危険性がない。
以上のように、本実施の形態例に係るプリンタドライバ12によるデータ転送が行われることより、ホスト装置におけるメモリ消費と印刷装置におけるスループットのバランスの取れた効率のよいデータ転送を行うことができる。
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
本発明によるドライバプログラムを用いた実施の形態例に係る構成図である。 データ転送処理の手順を例示したフローチャートである。 データ転送の手順を説明するための図である。 プリンタ2におけるデータ受信完了タイミングを説明するための図である。
符号の説明
1 ホストコンピュータ、 2 プリンタ、 11 アプリケーション、 12 プリンタドライバ、 13 メモリ、 21 データバッファ、 22 解凍部、 23 スクリーン処理部、 24 エンジン


Claims (4)

  1. 複数色のデータから成る画像データを生成して当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラムであって、
    1ページ分の前記画像データの前記印刷装置への転送を行う際に、
    前記1ページ分の画像データを所定の高さで区分した一つのバンドのデータについて、前記印刷装置において始めに処理される色のデータを前記印刷装置に転送すると共に前記始めに処理される色以外の色のデータを前記ホスト装置に蓄積する処理を、前記バンドの順番に従って、前記蓄積したデータ量が予め定められた値よりも大きくなるか、あるいは、当該ページの前記始めに処理される色のデータを全て前記印刷装置に転送するまで、繰り返し実行する第一のステップと、
    前記第一のステップにおいて、前記蓄積したデータ量が予め定められた値よりも大きくなった場合に、前記蓄積したデータを全て前記印刷装置に転送し、当該転送の後、前記第一のステップに戻る第二のステップと、
    前記第一のステップにおいて、前記始めに処理される色のデータを全て前記印刷装置に転送した場合に、前記蓄積したデータを全て前記印刷装置に転送する第三のステップとを前記ホスト装置に実行させる
    ことを特徴とするドライバプログラム。
  2. 請求項1において、
    前記第三のステップにおける、前記蓄積したデータを全て転送する処理が、
    前記印刷装置で先に処理される色から順番に行われる
    ことを特徴とするドライバプログラム。
  3. ホスト装置において生成された複数色のデータから成る画像データを印刷装置に転送するデータ転送方法であって、
    1ページ分の前記画像データの前記印刷装置への転送を行う際に、
    前記1ページ分の画像データを所定の高さで区分した一つのバンドのデータについて、前記印刷装置において始めに処理される色のデータを前記印刷装置に転送すると共に前記始めに処理される色以外の色のデータを前記ホスト装置に蓄積する処理を、前記バンドの順番に従って、前記蓄積したデータ量が予め定められた値よりも大きくなるか、あるいは、当該ページの前記始めに処理される色のデータを全て前記印刷装置に転送するまで、繰り返し実行する第一のステップと、
    前記第一のステップにおいて、前記蓄積したデータ量が予め定められた値よりも大きくなった場合に、前記蓄積したデータを全て前記印刷装置に転送し、当該転送の後、前記第一のステップに戻る第二のステップと、
    前記第一のステップにおいて、前記始めに処理される色のデータを全て前記印刷装置に転送した場合に、前記蓄積したデータを全て前記印刷装置に転送する第三のステップとを有する
    ことを特徴とするデータ転送方法。
  4. 請求項3において、
    前記第三のステップにおける、前記蓄積したデータを全て転送する処理が、
    前記印刷装置で先に処理される色から順番に行われる
    ことを特徴とするデータ転送方法。
JP2004156514A 2004-05-26 2004-05-26 ドライバプログラム及びデータ転送方法 Pending JP2005339161A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004156514A JP2005339161A (ja) 2004-05-26 2004-05-26 ドライバプログラム及びデータ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004156514A JP2005339161A (ja) 2004-05-26 2004-05-26 ドライバプログラム及びデータ転送方法

Publications (1)

Publication Number Publication Date
JP2005339161A true JP2005339161A (ja) 2005-12-08

Family

ID=35492669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004156514A Pending JP2005339161A (ja) 2004-05-26 2004-05-26 ドライバプログラム及びデータ転送方法

Country Status (1)

Country Link
JP (1) JP2005339161A (ja)

Similar Documents

Publication Publication Date Title
JP4681975B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び該プログラムが記録された記録媒体
JPH111029A (ja) カラープリントシステム,カラープリンタ,及びコンピュータが実行可能なプログラムを格納したコンピュータが読取可能な記録媒体
US20040001207A1 (en) Image forming apparatus and method, and image forming system
US8599423B2 (en) Method and apparatus for image processing, and computer program product
US7646502B2 (en) Driver program and transfer method for data
US7652807B2 (en) Image generating apparatus, image generating method and computer readable medium
JP4404016B2 (ja) ドライバプログラム
JP2005339161A (ja) ドライバプログラム及びデータ転送方法
JP4363256B2 (ja) ドライバプログラム及びデータ転送方法
US20100027037A1 (en) Image Processing Controller and Image Processing Apparatus
JP2002067399A (ja) 印刷制御装置
JP3254672B2 (ja) 画像形成装置
JP5388477B2 (ja) 画像形成装置、及び、画像データ転送方法
JP5093576B2 (ja) 印刷制御装置と画像形成システム
JP2006103045A (ja) 画像形成装置
JP3147264B2 (ja) 画像処理装置及びその変換方法
JP2008193559A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP4433873B2 (ja) 印刷装置及びデータ転送方法
JP2008262471A (ja) 画像出力装置
JP2001306275A (ja) 画像処理システム
JP2004254187A (ja) 情報処理装置
JP2013009268A (ja) データ転送プログラムおよび画像形成装置
JP2007052499A (ja) プリンタ用プログラム
JP2009220444A (ja) 画像形成装置、画像処理プログラム、及び印刷システム
JP2001273104A (ja) 画像処理装置