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

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

Info

Publication number
JP4363256B2
JP4363256B2 JP2004156513A JP2004156513A JP4363256B2 JP 4363256 B2 JP4363256 B2 JP 4363256B2 JP 2004156513 A JP2004156513 A JP 2004156513A JP 2004156513 A JP2004156513 A JP 2004156513A JP 4363256 B2 JP4363256 B2 JP 4363256B2
Authority
JP
Japan
Prior art keywords
data
transfer
image data
page
band
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.)
Expired - Fee Related
Application number
JP2004156513A
Other languages
English (en)
Other versions
JP2005339160A (ja
Inventor
哲也 鈴木
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 JP2004156513A priority Critical patent/JP4363256B2/ja
Priority to US11/136,706 priority patent/US20050264842A1/en
Publication of JP2005339160A publication Critical patent/JP2005339160A/ja
Application granted granted Critical
Publication of JP4363256B2 publication Critical patent/JP4363256B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/333Mode signalling or mode changing; Handshaking therefor
    • H04N1/33307Mode signalling or mode changing; Handshaking therefor prior to start of transmission, input or output of the picture signal only
    • H04N1/33323Mode signalling or mode changing; Handshaking therefor prior to start of transmission, input or output of the picture signal only transmission mode only, e.g. speed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/333Mode signalling or mode changing; Handshaking therefor
    • H04N2201/33307Mode signalling or mode changing; Handshaking therefor of a particular mode
    • H04N2201/33378Type or format of data, e.g. colour or B/W, halftone or binary, computer image file or facsimile data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、ホスト装置側で画像データを生成し当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラム等に関し、特に、ホスト装置側に蓄積すべきデータ量と印刷装置側での印刷開始タイミングの両面を考慮して、効率の良い前記画像データの転送を行うことのできるドライバプログラム等に関する。
通常、紙などの印刷媒体に印刷を実行する印刷システムにおいては、パーソナルコンピュータなどのホスト装置から印刷データを送信し、当該印刷データを受信した印刷装置が当該印刷データに基づいて上記印刷を実施する。そして、印刷が完了するまでの間に、前記印刷データについては、ホスト装置のアプリケーションから発せられる印刷要求のデータを画素毎の色の濃度値で表した画像データとする処理、当該画像データの色表現を印刷装置における色表現に変換する処理、当該色変換後のデータをドットのイメージとする処理等が行われる。
このような印刷システムにおいて、近年、上記色変換の処理までをホスト装置側で行わせる所謂ホストベースの処理が行われるようになっており、かかる場合には、色変換後の画像データがホスト装置側で圧縮された後に印刷装置側へ送信され、印刷装置側では、受信したデータを解凍した後に使用する。また、ホスト装置から送信する画像データの圧縮処理では、通常、印刷媒体1面分の範囲を高さ方向に所定長さで分割したバンドという領域ごとに処理が行われる。例えば、上記色変換後の画像データが、Y(イエロー)、M(マゼンダ)、C(シアン)、K(ブラック)で表現されている場合には、当該4色のデータを含む画像データがバンド単位で順次圧縮処理され、印刷装置への送信が可能な状態となる。
このように圧縮処理が行われた後の印刷装置へのデータ転送については、従来、幾つかの方法でなされていた。その一つの方法は、前述した圧縮処理の順番に従って、圧縮が終了したバンドの画像データから順次印刷装置へ送信するものである。このように、画像データの色に関わらずバンドの順番に従ってデータを送信することを、以降、バンド順次のデータ転送と呼ぶこととする。印刷装置が、例えば、4サイクルのレーザープリンタ等のように、印刷媒体の1ページについて1色毎に印刷処理を行う装置では、少なくとも1色目の当該印刷処理にその色の画像データが間に合うように画像データの受信をしなければならない。通常の場合、当該1色目の画像データを概ね全て受信してからでないと当該印刷処理、即ち、当該ページの印刷処理を開始できない。前記バンド順次により、圧縮が終了したバンドの画像データ(全色分)から順次印刷装置へ送信する方法では、処理対象のページについて前記1色目の画像データが全て印刷装置に受信されるのは、当該ページの画像データが全て印刷装置に受信されるタイミングとほぼ同じとなる。従って、かかるデータ転送方法では、処理対象のページについて印刷処理を早い時期に開始することができない。
また、他のデータ転送方法として、バンド毎に圧縮処理される画像データをホスト装置側に蓄積しながら、1ページ分の画像データについて、印刷装置で前記印刷処理が行われる色の順番で印刷装置へのデータ転送を行っていく方法がある。例えば、画像データがYMCK4色のデータから構成される場合には、1ページ分の画像データのうち、まず、Yのデータを全て転送し、その後、Mの全てのデータ、Cの全てのデータ、Kの全てのデータと順次転送していく。このように、1ページ分の画像データをバンドの順番に関わらず色の順番で送信していくことを、以降、プレーン順次のデータ転送と呼ぶこととする。かかる方法は、例えば、下記特許文献1に記載の装置などで採用されている。印刷装置が、4サイクルのレーザープリンタ等であり、1ページ毎に1色ずつ印刷処理を遂行する装置の場合には、前述した、1ページ分の画像データについて印刷処理が行われる色の順番で印刷装置へのデータ転送を行っていく方法を採用すると、当該データ転送中の早い段階で当該ページについての印刷処理を開始することが可能となる。なお、このように、1ページ分の画像データを全て受信する前に当該ページについての印刷処理を開始することをフライングスタートと呼ぶこととする。
特開2002−236563号公報
しかしながら、前述したバンド順次により、常に圧縮が終了したバンドの画像データ(全色分)から順次印刷装置へ送信するという方法を採用すると、前述したように、面順次で処理を行う印刷装置の場合には、早い時点でのフライングスタートができず、印刷装置におけるスループットを向上できないという課題がある。
また、前述したプレーン順次により、常に1ページ分の画像データについて印刷処理が行われる色の順番で印刷装置へのデータ転送を行っていく方法を採用すると、早い時点でのフライングスタートが可能となるが、1ページ分の画像データの大部分をホスト装置に一旦蓄積する必要があり、そのためにホスト装置のメモリ(RAM等)が使用されることとなって、ホスト装置の処理パフォーマンスを低下させてしまう可能性がある。
そこで、本発明の目的は、ホスト装置側で画像データを生成し当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラムであって、ホスト装置の処理パフォーマンスと印刷装置のスループットとのバランスを考慮して効率の良いデータ転送を行うことのできるドライバプログラム等を提供することである。
上記の目的を達成するために、本発明の一つの側面は、複数色のデータから成る画像データを生成して当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラムが、1ページ分の前記画像データの前記印刷装置への転送を行う際に、当該1ページ分の画像データ量が予め定められた第一の量よりも小さい場合には、色に関わらず前記1ページ分の画像データを所定の高さで区分したバンドの順番に従ってデータの転送を行うバンド順次の転送により、前記1ページ分の画像データを前記印刷装置へ転送し、前記1ページ分の画像データ量が前記第一の量以上であり、前記第一の量よりも大きい予め定められた第二の量よりも小さい場合には、前記バンドに関わらず色の順番に従ってデータの転送を行うプレーン順次の転送により、前記1ページ分の画像データを前記印刷装置へ転送し、前記1ページ分の画像データ量が前記第二の量以上である場合には、前記バンド順次の転送と前記プレーン順次の転送を混在させて、前記1ページ分の画像データを前記印刷装置へ転送する、処理を前記ホスト装置に実行させることである。従って、本発明によれば、印刷装置に送信するデータのサイズによって適切なデータ転送方法が選択され、ホスト装置の処理パフォーマンスと印刷装置のスループットとを考慮した効率の良いデータ転送を行うことができる。
更に、上記の発明において、その好ましい態様は、前記バンド順次の転送とプレーン順次の転送を混在させて転送する処理が、前記バンド順次の転送により、前記複数色の全色あるいは一部の色のデータを前記印刷装置に転送すると共に、当該転送が前記一部の色のデータについてなされた場合には、転送されなかった色のデータを前記ホスト装置に蓄積する第一の工程と、前記第一の工程で蓄積されたデータを、前記プレーン順次の転送により前記印刷装置に転送する第二の工程とを有し、前記第一の工程でデータが転送される色の数が、所定のタイミングで、前記ホスト装置に蓄積される各色のデータの容量が前記印刷装置において先に用いられる色の方が小さくなるように、変化することを特徴とする。これにより、バンド順次とプレーン順次を混在させて印刷装置へのデータ転送を行う際に、フライングスタートのタイミングを早めるために有利なデータ転送を行うことができる。
上記の目的を達成するために、本発明の別の側面は、ホスト装置において生成された複数色のデータから成る画像データを印刷装置に転送するデータ転送方法において、1ページ分の前記画像データの前記印刷装置への転送を行う際に、当該1ページ分の画像データ量が予め定められた第一の量よりも小さい場合には、色に関わらず前記1ページ分の画像データを所定の高さで区分したバンドの順番に従ってデータの転送を行うバンド順次の転送により、前記1ページ分の画像データを前記印刷装置へ転送し、前記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の特徴がある。具体的には後述するが、転送処理を行うページのデータサイズに基づいて、前述したバンド順次による方法、プレーン順次による方法、あるいはその両方を用いる方法を使い分ける。なお、プリンタドライバ12は、前述した処理の手順を指示するプログラムと、当該プログラムに従って処理を実行する制御装置等によって構成することができる。
次に、メモリ13は、ホストコンピュータ1に備えられるRAMであり、様々な用途で使用されるが、印刷実行時には、前記プリンタドライバ12で圧縮処理された画像データの一部を一時的に格納する。図1においてメモリ13の下方に示される図は、圧縮処理後の1ページ分の画像データを模式的に示したものである。1ページ分の画像データは、複数のバンドのデータから構成され、また、前述の通り、色変換後のYMCKのデータで構成される。詳細については後述するが、プリンタドライバ12が1ページ分のデータを転送する間に、例えば、図の斜線で示した部分の画像データが当該メモリ13に一時的に蓄積されることになる。
プリンタ2は、ホストコンピュータ1からの画像データを受信し、当該画像データに基づいて印刷を実行する、4サイクルのレーザプリンタである。図1に示すように、プリンタ2には、データバッファ21、解凍部22、スクリーン処理部23、及びエンジン24が備えられている。データバッファ21は、前記プリンタドライバ12から順次転送される画像データを格納する部分である。図1においてデータバッファ21の下方に示される図は、データバッファ21に格納される画像データを模式的に示したものである。図に示すように、データバッファ21では、1ページ分の画像データがYMCKの色毎に格納され、それらはプレーンデータと呼ばれる。1ページ分のデータを受信する間に、例えば、図の斜線で示した部分の画像データが当該データバッファ21に格納されているというような状態となる。
後述する解凍部22での処理からエンジン24で印刷が実施されるまでの印刷処理は、ページ単位で、1色ずつ連続して実行されるので、各色のプレーンデータは、その色のデータバッファ21からエンジン24側へのデータ転送処理が終了するまでに全て受信されデータバッファ21に格納される必要がある。言い換えれば、印刷処理を行うページについて、全色のプレーンデータがホストコンピュータ1から受信されていない状態でも印刷処理を開始することが可能である。即ち、フライングスタートが可能である。なお、本実施の形態例では、YMCKの順番で上記印刷処理が実施されるものとする。例えば、図1に示すデータバッファ21下方の図において、斜線部分がデータバッファ21に既に格納されているデータであるとすると、図に示す状態で、他の条件が揃えば、1色目のYについては上記印刷処理が開始可能であると言える。従って、このデータバッファ21は、必ずしも4色分のプレーンデータ全てを一度に格納できる容量を有している必要はない。
解凍部22は、前記印刷処理が開始されるとデータバッファ21から圧縮されているデータを取り出し、そのデータを元の状態に復元する処理を行う部分である。また、スクリーン処理部23は、解凍部22で解凍されたデータにスクリーン処理を施し、画素毎のデータをドットイメージのデータに変換する部分である。エンジン24は、スクリーン処理されたデータに基づいて印刷媒体に印刷を実行する部分である。これら解凍部22、スクリーン処理部23、及び、エンジン24で行なわれる印刷処理は、各処理が同期して行われ、前述のように、ページ単位で1色ずつ連続して実行される。
図2は、プリンタドライバ12が行なうデータ転送処理の手順を例示したフローチャートである。以下、図2に基づいて、本プリンタドライバ12の特徴であるデータ転送処理の内容について説明する。なお、図2に示す処理は、1ページ分のデータ転送に関するものであり、また、そのページについての前述した圧縮処理が開始される時点以前から始まるものであるとする。
まず、プリンタドライバ12は、処理対象のページについてデータサイズ(S)(画像データ量)を求める(ステップS10)。ここで求めるデータサイズSは、当該ページの前記圧縮処理後のサイズであることが望ましいが、この時点で当該ページについての圧縮処理が終了していないので、正確な圧縮後のサイズを求めることができない。そこで、圧縮処理前のデータサイズ等から推定してデータサイズSを求める。また、圧縮処理前のデータサイズを当該データサイズSとしてもよい。
次に、当該求めたデータサイズSを予め定めた第一のサイズS1(第一の量)と比較し(ステップS20)、Sの方が小さい場合には(ステップS20のYes)、プリンタドライバ12は、前述したバンド順次により当該ページの全ての画像データを転送する。(ステップS30)。図3は、転送対象である1ページ分の画像データを模式的に示した図である。図に示す例では、1ページがnバンドに分割されており、バンドは上から順番にB1、B2、…、Bnと呼び、それら各バンドに含まれるYMCKの各データをY1〜Yn、M1〜Mn、C1〜Cn、K1〜Knと表記する。前記1ページ分のデータサイズSとは、例えば、図3の(a)あるいは(b)に示すデータ全体のサイズのことを意味する。
図3の(a)は、上記バンド順次でデータ転送を行う場合(ステップS30)での転送順序を示している。前述のように、プリンタドライバ12による圧縮処理はバンド順にバンド単位で実行されるが、かかる転送方法においては、圧縮処理が終了したバンドのデータをそのままプリンタドライバ2へ転送する。即ち、まず、バンドB1の圧縮処理が終了すると処理後のY1、M1、C1、及びK1のデータをプリンタ2に送信し、その後、バンドB2の圧縮処理が終了するとY2、M2、C2、及びK2のデータをプリンタ2に送信する。以降も同様に、バンドBnまで圧縮処理と転送処理が繰り返される。このように、上記バンド順次でデータ転送を行う場合には、図3の(a)に示す矢印の方向に上から下へと順次データが転送されるが、圧縮された画像データをそのままプリンタ2に転送してしまうためホストコンピュータ1側に圧縮後のデータを蓄積することがなく、メモリ13に当該データの格納スペースを確保する必要がない。
図2に戻って、前記ステップS20において、データサイズSの方が第一のサイズS1よりも大きい場合は(ステップS20のNo)、データサイズSを第一のサイズS1よりも大きい予め定められた第二のサイズS2(第二の量)と比較する(ステップS40)。そして、データサイズSの方が小さい場合には(ステップS40のYes)、プリンタドライバ12は、前述したプレーン順次により当該ページの全ての画像データを転送する(ステップS50)。
図3の(b)は、このプレーン順次でデータ転送を行う場合(ステップS50)での転送順序を示している。プリンタドライバ12による圧縮処理は、前述の場合と同様に、バンド順にバンド単位で実行されるが、かかる転送方法においては、圧縮処理が終了したバンドのデータのうちYのデータをプリンタ2に送信し、残りのM、C、Yのデータについてはこの時点ではプリンタ2に送信せずにメモリ13内に蓄積する。即ち、バンドB1の圧縮処理が終了後、Y1をプリンタ2に転送し、M1、C1、Y1はメモリ13に格納する。その後、バンドB2の圧縮処理が終了するとY2をプリンタ2に転送して、M2、C2、K2を蓄積する。以降も同様に、バンドBnまで圧縮処理と転送及び蓄積処理が繰り返される。そして、当該ページについて圧縮処理が終了すると、メモリ13に蓄積されたデータをMから順番に色毎にプリンタ2へ転送する。即ち、まず、M1〜Mnを転送し、その後、C1〜Cn、K1〜Knとデータ転送を行う。
このように、前記プレーン順次でデータ転送を行う場合(ステップS50)には、図3の(b)に示す矢印の方向に左から右へと順次データが転送され、図の太線で囲われた部分(M1〜Mn、C1〜Cn、及びK1〜Kn)がメモリ13に蓄積されることになる。
図2に戻って、前記ステップS40において、データサイズSの方が第二のサイズS2よりも大きい場合は(ステップS40のNo)、プリンタドライバ12は、前述したバンド順次とプレーン順次を混在させた方法で当該ページの画像データを転送する(ステップS60)。かかる場合の具体的な転送方法については後述する。
以上説明したように、データサイズSに基づいていずれかの方法でデータ転送がなされ、対象ページについてのプリンタ2への転送処理を終了する。このように、本実施の形態例におけるプリンタドライバ12では、処理対象のページのデータサイズが小さい場合には、バンド順次で転送処理を行い、データサイズが中程度である場合には、プレーン順次で転送処理を行い、また、データサイズが大きい場合には、バンド順次とプレーン順次を混在させて転送処理を行う。以下、このバンド順次とプレーン順次を混在させる場合について具体的な方法を説明する。
図4は、バンド順次とプレーン順次を混在させる場合(ステップS60)の手順を例示したフローチャートである。プリンタドライバ12は、まず、予め定めたバンド(k番目のバンド)までバンド順次のデータ転送を行なう(ステップS61)。具体的には、前記ステップS30の場合と同様に、バンドBkまでは、圧縮処理後のバンドのデータをメモリ13に蓄積せず、そのままプリンタ2に転送する。
図5は、バンド順次とプレーン順次を混在させる場合の例を説明するための図である。図5の(a)は、図3と同様に転送対象である1ページ分の画像データを模式的に示しており、この場合も1ページはnバンドから構成されている。前記バンド順次でのデータ転送工程(ステップS61)では、図5の(a)に示す例においては、バンドB1、B2、…、Bkの順番で順次データが転送される。更に詳しくは、図のバンドB1に示される矢印の方向に従って、Y1→M1→C1→K1→Y2→M2→C2→K2という順番でデータ転送が行なわれる。
次に、バンドBkの転送が終了すると、プリンタドライバ12は、バンド順次の転送を継続するが、予め定めたバンド(l番目のバンド)まで、圧縮処理されたバンドのデータについて、YMCのデータをバンド順次で転送し、残りのKのデータをメモリ13に蓄積するという処理を行なう(ステップS62)。図5の(a)に示す例では、バンドBlに示される矢印の方向に従って、Yk+1→Mk+1→Ck+1→Yk+2→…Yl→Ml→Clという順番でデータ転送が行なわれ、Kk+1〜Klのデータについてはメモリ13に蓄積される。
次に、バンドBlの転送が終了すると、プリンタドライバ12は、予め定めたバンド(m番目のバンド)まで、圧縮処理されたバンドのデータについて、YMのデータをバンド順次で転送し、残りのCKのデータをメモリ13に蓄積するという処理を行なう(ステップS63)。図5の(a)に示す例では、バンドBmに示される矢印の方向に従って、Yl+1→Ml+1→Yl+2→…Ym→Mmという順番でデータ転送が行なわれ、Cl+1〜CmとKl+1〜Kmのデータについてはメモリ13に蓄積される。
次に、バンドBmの転送が終了すると、プリンタドライバ12は、予め定めたバンド(n番目のバンド)まで、言い換えれば、当該1ページ分のデータについて圧縮処理が終了するまで、圧縮処理されたバンドのデータについて、Yのみのデータをバンド順次で転送し、残りのMCKのデータをメモリ13に蓄積するという処理を行なう(ステップS64)。図5の(a)に示す例では、Ym+1→Ym+2→…Ynという順番でデータ転送が行なわれ、Mm+1〜MnとCm+1〜CnとKm+1〜Knのデータについてはメモリ13に蓄積される。
かかるステップS64の処理が終了した時点、即ち、当該1ページ分のデータについて圧縮処理が終了した時点で、Yについては全てのデータが転送され、MについてはバンドBmまでのデータが転送され、CについてはバンドBlまでのデータが転送され、KについてはバンドBkまでのデータが転送されることになる。図5の(b)は、この時点でプリンタ2側のデータバッファ21に格納される各色のプレーンデータを模式的に示している。図の色の付いた部分が格納されているデータを示しており、各色上記転送が行なわれたバンドまでのデータがデータバッファ21内に格納されている。また、この時点で、Mm+1〜MnとCl+1〜CnとKk+1〜Knのデータについてはメモリ13に蓄積されることになる。図5の(a)において、太線で囲われた部分のデータがメモリ13に格納されることになる。
このようにステップS61からステップS64までのバンド順次のデータ転送が終了すると、プリンタドライバ12は、メモリ13に蓄積されたデータをプレーン順次でプリンタ2へ送信する。まず、メモリ13に蓄積されたMのデータを全て転送する(ステップS65)。図5の(a)に示す例では、Mのデータ上に示される下向きの矢印の方向に従って、Mm+1→Mm+2→…→Mnという順番でデータ転送がなされる。
次に、同様に、メモリ13に蓄積されたCのデータを全て転送する(ステップS66)。図5の(a)に示す例では、Cのデータ上に示される下向きの矢印の方向に従って、Cl+1→Cl+2→…→Cnという順番でデータ転送がなされる。引き続き、メモリ13に蓄積されたKのデータを全て転送する(ステップS67)。図5の(a)に示す例では、Kのデータ上に示される下向きの矢印の方向に従って、Kk+1→Kk+2→…→Knという順番でデータ転送がなされる。
このようにして、メモリ13に蓄積されたデータの転送が終わると、バンド順次とプレーン順次を混在する場合の当該1ページ分の画像データについてのデータ転送処理が終了する。
以上説明したように、本実施の形態例に係るプリンタドライバ12は、1ページ分の画像データを送信する際に、データサイズSに基づいてそのサイズに適した転送順序(方法)でプリンタ2へのデータ転送を行う。図6は、プリンタ2におけるデータ受信と受信したデータのエンジン24側への転送処理について例示したタイムチャートである。図6の(a)及び(b)は、それぞれ、ホストコンピュータ1側からプリンタ2側へ画像データを転送する際に、1ページ分を全てバンド順次で転送する場合と1ページ分を全てプレーン順次で転送する場合の、一般的なタイミングを示している。
図6の(a)において、「データ受信」として示される線の左端からtbで表される時点までが、1ページ分の画像データを受信する時間を表している。また、「転送処理」として示される線は、データバッファ21に格納された受信後の画像データをエンジン24側へ転送する処理の時間を表している。前述のように、この転送処理が開始されるとエンジン24における印刷媒体への印刷までの処理が同期したタイミングで連続して行われ、途中で中断することはない。また、かかる転送処理は1色毎に順番に行われ、各色に要する時間(Tt)は同じである。
図6の(a)に示すバンド順次の場合、1ページ分について、各色のデータ受信はほぼ同時にtbの時点で終了する。従って、tbから1色分の転送処理時間Ttだけ早い時点(図中の黒色の三角形で示す時点)よりも早く当該ページについて転送処理(印刷処理)を開始してしまうと、1色目であるYの転送処理にデータ受信が間に合わない事態となり連続して行われる前記処理を中断させてしまうことになる。よって、かかるバンド順次の場合には、最も早いフライングスタートのタイミングは上記tbよりもTtだけ早い時点となる。フライングする時間、即ち、フライングスタートしてから全データを受信するまでの時間(図中のTb)は、Ttよりも小さくなければならない。逆に言えば、データ受信中に、残りのデータを受信する時間がTtよりも短くなった時点でフライングスタートをすることができる。
図6の(b)においても、図6の(a)と同様の表現がなされているが、プレーン順次でデータ転送がなされる場合であるので、図に示すように、Y、M、C、Kの順番で順次データ受信が完了する。図中のtpy、tpm、tpc、及びtpkは、それぞれ、各色のデータ受信完了タイミングを表している。また、受信する1ページ分のデータ量、受信速度、及びエンジン24側への各色の転送時間(Tt)は、前述した図6の(a)の場合と同じであるとする。従って、Kのデータ受信完了タイミングであるtpk、即ち、1ページ分のデータ受信完了タイミングは、図6の(a)のtbと同じとなる。
この図6の(b)に示すプレーン順次の場合、受信するデータの順番とエンジン24側へ転送するデータの順番が同じであるので、通常、データ受信中に残りのデータ受信時間が当該ページの転送処理にかかる時間(Tt×4)よりも短くなった時点でフライングスタートを行うことができる。図6の(b)に示す例では、フライングスタートの最も早いタイミングは、黒色の三角形で示す時点となる。この場合、各色とも、その色の転送処理が終了するまでにその色の受信が完了しており、転送処理に支障をきたすことはない。このように、かかるプレーン順次では、フライングする時間(図中のTp)は、4×Ttよりも小さくなければならない。
以上説明したように、全てバンド順次を行う場合と全てプレーン順次を行う場合を比較すると、Tp>Tbとなり、プレーン順次の方が早く転送処理(印刷処理)を開始することができる。
本実施の形態例に係る印刷システムでは、前述の通り、第一のサイズS1よりも1ページ分のデータサイズSが小さい場合に、全てバンド順次によるデータ転送が行われ、プリンタ2においては、図6の(a)に示したようなタイミングの処理が行われることになる。ただし、本実施の形態例では、第一のサイズS1が、プリンタ2での受信時間(図6の(a)では左端からtbまでの時間)がエンジン24側への転送処理時間(図6の(a)ではTt)と比較して相対的にかなり短い時間となるような小さい値として設定される。従って、前述した全てプレーン順次で転送した場合とのフライングスタートを行えるタイミングの差、図6の例では、Tp−Tbは、Ttと比較してかなり小さいものとなる。よって、かかる場合には、プレーン順次の場合と比較してフライングスタートのタイミングを大きく遅らせてしまうこともなく、ホストコンピュータ1側に転送するデータを蓄積する必要もない。
また、本実施の形態例では、前述の通り、1ページ分のデータサイズSが第一のサイズS1よりも大きく第二のサイズS2よりも小さい場合に、全てプレーン順次によるデータ転送が行われる。そして、この第二のサイズS2が、そのサイズに相当する1ページ分の画像データを全てプレーン順次で転送する場合にホストコンピュータ1のメモリ13に蓄積しなくてはならないデータ(例えば、図3の(b)の太線内)のサイズが、ホストコンピュータ1の処理パフォーマンスに支障をきたさない大きさとなるように設定される。また、この場合、プリンタ2においては、図6の(b)に示したようなタイミングで処理が行われる。従って、かかる場合には、ホストコンピュータ1の処理パフォーマンスに支障をきたすような容量のデータをメモリ13に蓄積させることなく、全てプレーン順次で転送を行った場合の早いタイミングでのフライングスタートを行うことができる。
更に、本実施の形態例では、前述の通り、1ページ分のデータサイズSが第二のサイズS2よりも大きい場合に、図4及び図5に基づいて説明したようなバンド順次とプレーン順次を混在したデータ転送が行われる。図6の(c)は、かかるデータ転送が行われた場合のプリンタ2における処理タイミングを例示している。ここに示す例も、受信する1ページ分のデータ量、受信速度、及びエンジン24側への各色の転送時間(Tt)は、前述した図6の(a)及び(b)の場合と同じであるとする。
前述したように、Yのデータが全てプリンタ2側へ送信された時点で、他の色についても一部のデータが送信されているので、プリンタ2においてYのデータを全て受信するタイミング(図のtbpy)は、全てプレーン順次の場合(図のtpy)と比べて遅くなる。また、通常の場合、M及びCについてもそれらの受信完了時間(図のtbpm、tbpc)は、全てプレーン順次の場合(図のtpm、tpc)と比べて遅くなる。従って、通常、かかる混在の転送方法では、全てプレーン順次の場合よりも早くフライングスタートを行うことはできない。一方、全てバンド順次の場合(例えば、図6の(a)の場合)と比較すると、各色の受信完了時間は、全てバンド順次の場合よりも遅くなることはない。従って、この混在の転送方法では、全てバンド順次の場合よりもフライングスタートのタイミングを早くすることができる。
以上のことから、かかる混在の転送方法を行った場合の可能なフライングタイミングは、全てプレーン順次の場合と全てバンド順次の場合の間のタイミングを取ることができる。図6に示した例では、混在の場合にフライングすることのできる時間Tbpは、TbとTpの間の値を取ることができる。図6の(c)の例では、Yの受信が完了する前にYの転送処理を終了することはできないので、図の黒色の三角形で示すタイミングが最も早いフライングスタートのタイミングとなる。
また、かかる混在の転送方法の場合には、ホストコンピュータ1のメモリ13に蓄積しなくてはならないデータ量が、全てプレーン順次の場合と比較して相対的に小さくて済む(図3の(b)と図5の(a)を参照)。従って、1ページ全体のデータサイズが前記S2よりも大きくてもメモリ13に蓄積しなくてはならないデータ量を、ホストコンピュータ1の処理パフォーマンスに支障をきたさない程度に抑えることが可能である。
従って、かかるバンド順次とプレーン順次を混在させた場合には、ホストコンピュータ1の処理パフォーマンスに支障をきたさずに、フライングスタートを行うことによるある程度の効果を得ることができる。なお、通常の場合、メモリ13に蓄積するデータ量を小さくすることによりフライングできるタイミングは遅くなり、逆に、メモリ13に蓄積するデータ量を大きくすることによりフライングできるタイミングは早くなる。かかる調整は、図4及び図5に基づいて説明した、プリンタ2へ転送するデータの色を切り換えるタイミング、Bk、Bl、Bmを変更することなどにより行うことができる。
以上説明したように、本実施の形態例に係るプリンタドライバ12では、1ページ分の画像データを送信する際に、データサイズが小さい場合には全てバンド順次でデータ送信され、データサイズが中程度の場合には全てプレーン順次でデータ送信され、また、データサイズが大きい場合にはバンド順次とプレーン順次を混在させたデータ送信が行われて、各データサイズに適した方法によってプリンタ2へのデータ転送が実行される。従って、常に、ホストコンピュータ1側の処理パフォーマンスとプリンタ2側のスループットが考慮された効率の良いデータ転送が実現される。
なお、バンド順次とプレーン順次を混在させる場合において、本実施の形態例では、図5の(a)に例示したように、メモリ13に蓄積されるデータが、階段状に、即ち、プリンタ2で処理される順番が早い色のデータが少なくなるように、なっていたが、必ずしもこのようにすることはない。また、前述したプリンタ2へ転送するデータの色を切り換えるタイミング、Bk、Bl、Bmをバンドに基づいて決めたが、データサイズや処理時間に基づいて決めるようにしてもよい。
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
本発明の実施の形態例に係る構成図である。 データ転送処理の手順を例示したフローチャートである。 転送対象である1ページ分の画像データを模式的に示した図である。 バンド順次とプレーン順次を混在させる場合の手順を例示する図である。 バンド順次とプレーン順次を混在させる場合の例を説明するための図である。 データ受信とエンジン側への転送処理について例示したタイムチャートである。
符号の説明
1 ホストコンピュータ、 2 プリンタ、 11 アプリケーション、 12 プリンタドライバ、 13 メモリ、 21 データバッファ、 22 解凍部、 23 スクリーン処理部、 24 エンジン

Claims (4)

  1. 複数色のデータから成る画像データを生成して当該画像データを印刷装置に転送する処理を、ホスト装置に実行させるドライバプログラムであって、
    1ページ分の前記画像データの前記印刷装置への転送を行う際に、
    当該1ページ分の画像データ量が予め定められた第一の量よりも小さい場合には、色に関わらず前記1ページ分の画像データを所定の高さで区分したバンドの順番に従ってデータの転送を行うバンド順次の転送により、前記1ページ分の画像データを前記印刷装置へ転送し、
    前記1ページ分の画像データ量が前記第一の量以上であり、前記第一の量よりも大きい予め定められた第二の量よりも小さい場合には、前記バンドに関わらず色の順番に従ってデータの転送を行うプレーン順次の転送により、前記1ページ分の画像データを前記印刷装置へ転送し、
    前記1ページ分の画像データ量が前記第二の量以上である場合には、前記バンド順次の転送と前記プレーン順次の転送を混在させて、前記1ページ分の画像データを前記印刷装置へ転送する、処理を前記ホスト装置に実行させる
    ことを特徴とするドライバプログラム。
  2. 請求項1において、
    前記バンド順次の転送とプレーン順次の転送を混在させて転送する処理が、
    前記バンド順次の転送により、前記複数色の全色あるいは一部の色のデータを前記印刷装置に転送すると共に、当該転送が前記一部の色のデータについてなされた場合には、転送されなかった色のデータを前記ホスト装置に蓄積する第一の工程と、
    前記第一の工程で蓄積されたデータを、前記プレーン順次の転送により前記印刷装置に転送する第二の工程とを有し、
    前記第一の工程でデータが転送される色の数が、所定のタイミングで、前記ホスト装置に蓄積される各色のデータの容量が前記印刷装置において先に用いられる色の方が小さくなるように、変化する
    ことを特徴とするドライバプログラム。
  3. ホスト装置において生成された複数色のデータから成る画像データを印刷装置に転送するデータ転送方法であって、
    1ページ分の前記画像データの前記印刷装置への転送を行う際に、
    当該1ページ分の画像データ量が予め定められた第一の量よりも小さい場合には、色に関わらず前記1ページ分の画像データを所定の高さで区分したバンドの順番に従ってデータの転送を行うバンド順次の転送により、前記1ページ分の画像データを前記印刷装置へ転送し、
    前記1ページ分の画像データ量が前記第一の量以上であり、前記第一の量よりも大きい予め定められた第二の量よりも小さい場合には、前記バンドに関わらず色の順番に従ってデータの転送を行うプレーン順次の転送により、前記1ページ分の画像データを前記印刷装置へ転送し、
    前記1ページ分の画像データ量が前記第二の量以上である場合には、前記バンド順次の転送と前記プレーン順次の転送を混在させて、前記1ページ分の画像データを前記印刷装置へ転送する
    ことを特徴とするデータ転送方法。
  4. 請求項3において、
    前記バンド順次の転送とプレーン順次の転送を混在させて転送する処理が、
    前記バンド順次の転送により、前記複数色の全色あるいは一部の色のデータを前記印刷装置に転送すると共に、当該転送が前記一部の色のデータについてなされた場合には、転送されなかった色のデータを前記ホスト装置に蓄積する第一の工程と、
    前記第一の工程で蓄積されたデータを、前記プレーン順次の転送により前記印刷装置に転送する第二の工程とを有し、
    前記第一の工程でデータが転送される色の数が、所定のタイミングで、前記ホスト装置に蓄積される各色のデータの容量が前記印刷装置において先に用いられる色の方が小さくなるように、変化する
    ことを特徴とするデータ転送方法。
JP2004156513A 2004-05-26 2004-05-26 ドライバプログラム及びデータ転送方法 Expired - Fee Related JP4363256B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004156513A JP4363256B2 (ja) 2004-05-26 2004-05-26 ドライバプログラム及びデータ転送方法
US11/136,706 US20050264842A1 (en) 2004-05-26 2005-05-25 Computer-readable record medium recording a driver program and data transfer method

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2005339160A JP2005339160A (ja) 2005-12-08
JP4363256B2 true JP4363256B2 (ja) 2009-11-11

Family

ID=35424841

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US20050264842A1 (ja)
JP (1) JP4363256B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013077294A (ja) * 2011-09-16 2013-04-25 Ricoh Co Ltd 印刷装置および印刷装置の制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3478670B2 (ja) * 1996-06-18 2003-12-15 キヤノン株式会社 印刷制御装置と印刷装置及びそれらの方法と印刷システム
JPH111029A (ja) * 1997-04-18 1999-01-06 Ricoh Co Ltd カラープリントシステム,カラープリンタ,及びコンピュータが実行可能なプログラムを格納したコンピュータが読取可能な記録媒体
JP3546935B2 (ja) * 1998-12-10 2004-07-28 セイコーエプソン株式会社 印刷システム及び同システムのホスト装置

Also Published As

Publication number Publication date
JP2005339160A (ja) 2005-12-08
US20050264842A1 (en) 2005-12-01

Similar Documents

Publication Publication Date Title
US6914697B2 (en) Printing method and apparatus for separately processing a plurality of print data
US8355172B2 (en) Color printer system and printing method including plural data transmitting units connected to plural transmission paths
US7734103B2 (en) Image processing apparatus and image processing method
JPH111029A (ja) カラープリントシステム,カラープリンタ,及びコンピュータが実行可能なプログラムを格納したコンピュータが読取可能な記録媒体
JP2000263856A (ja) 画像形成装置
JP3660154B2 (ja) 印刷用画像処理装置
JP4363256B2 (ja) ドライバプログラム及びデータ転送方法
US7646502B2 (en) Driver program and transfer method for data
JP4037417B2 (ja) 印刷装置
JP4506535B2 (ja) 画像処理装置及び画像伝送方法
US8279478B2 (en) Printing system, printing apparatus and image-printing method for suppressing image quality degradation
JP4404016B2 (ja) ドライバプログラム
US20050140992A1 (en) Image output apparatus and image output method therefor, and program for implementing the method
JP2005339161A (ja) ドライバプログラム及びデータ転送方法
JPH11177831A (ja) 画像処理装置および画像出力システム
US7218408B2 (en) Image printing system
JP2006245920A (ja) 画像形成装置および画像処理方法
JP4369137B2 (ja) 印刷用画像処理装置
JP2008262471A (ja) 画像出力装置
JP4442305B2 (ja) 印刷装置及びデータ転送方法
JP4433873B2 (ja) 印刷装置及びデータ転送方法
JP2013009268A (ja) データ転送プログラムおよび画像形成装置
JP2006044058A (ja) プリンタ制御装置及びプリンタ制御方法
JP2000270130A (ja) 画像形成システム、画像形成方法、及び記憶媒体
JP2008193559A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090724

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090728

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090810

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees