(57)【要約】  【課題】ノズルの数に拘わらずプリンタ自体の構成が大型化しないようにするための技術を提供する。  【解決手段】ホストコンピュータ２側で印刷データとして生成される複数の画素群データは、画像形成範囲のうち用紙搬送方向に沿って配列されることとなる画素群それぞれを時系列で処理することにより生成されるデータであって、それぞれ記録ヘッド１０における特定のノズル１２を駆動するための情報を示すデータになっている。また、これら画素群データは、画素群における非吐出回数を特定可能なデータである。そのため、プリンタ１側では、画素群データで特定される非吐出回数を「ノズルを駆動するための情報」として注目することにより、プリンタ１自身で非吐出回数をカウントして特定すること無く、この非吐出回数に応じた駆動波形で各ノズル１２を駆動することができる。【選択図】図２
2005305718.tif 000002
【特許請求の範囲】
【請求項１】
プリンタおよび該プリンタとデータ通信可能なホストコンピュータから構成され、
前記プリンタは、
第１の方向へ相対的に移動する記録媒体に対し、前記第１の方向と交差する第２の方向に配置された複数のノズルからインク滴を吐出する記録ヘッドと、
前記ホストコンピュータ側から送信される印刷データに基づいて、前記記録ヘッドを駆動するための駆動信号を生成する駆動信号生成手段と、
を備えたプリントシステムにおいて、
前記ホストコンピュータは、
前記記録媒体に画像が形成される画像形成範囲において、前記第１の方向に沿って配列される１または複数の画素から構成され、前記インク滴が連続して吐出されない非吐出回数を特定可能な画素群データを、順次前記第１の方向に生成する画素群データ生成手段と、
該画素群データ生成手段により生成された画素群データを印刷データとして前記プリンタ側へ送信する印刷データ送信手段とを備え、
前記駆動信号生成手段は、前記印刷データで特定される前記非吐出回数に応じた駆動信号を生成する
ことを特徴とするプリントシステム。
【請求項２】
前記画素群データは、前記画素の濃度および該濃度の前記インク滴が連続して吐出される吐出回数、または、前記画素の濃度および前記非吐出回数の組み合わせである
ことを特徴とする請求項１に記載のプリントシステム。
【請求項３】
コンピュータを、
前記記録媒体に画像が形成される画像形成範囲において、第１の方向に沿って配列される１または複数の画素から構成され、インク滴が連続して吐出されない非吐出回数を特定可能な画素群データを、順次前記第１の方向に生成する画素群データ生成手段、
前記画素群データで特定される前記非吐出回数に応じた駆動信号を、前記第１の方向と交差する第２の方向に配置された複数のノズルからインク滴を吐出して記録する記録ヘッドを駆動するために生成する駆動信号生成手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタとホストコンピュータとからなるプリントシステム，および，このプリントシステムにおいて利用可能なプログラムに関する。
【背景技術】
【０００２】
従来から、インクジェットプリンタのように、記録ヘッドのノズルからインク滴を吐出して画像を形成するプリンタにおいては、特定のノズルからインク滴の吐出が行われない期間が続くと、ノズルが乾燥してノズル内に存在するインク滴の粘度が増加することにより、ノズルに目詰まりを発生させたり、目詰まりが発生しない場合でも次に吐出されるインク滴が本来吐出すべき液適量とならなかったりする恐れがある。
【０００３】
このような不具合を改善するための技術としては、例えば、インク滴の吐出が休止された回数（非吐出回数）をノズル毎に設けたカウンタでカウントし、この非吐出回数が所定の回数に達したノズルに対応するアクチュエータへ微小信号を印加することで、ノズル近傍のインクをインク滴が吐出しない程度振動させるといった技術（特許文献１参照）や、同様の方法によって非吐出回数が所定の回数に達したノズルを検出し、このノズルが次にインク滴を吐出する際に通常とは異なる駆動波形を印加することで、ノズルが乾燥したりインク粘度が増加したりした場合であっても、所望の印字濃度が得られるようにする技術（特許文献２参照）などが提案されている。
【特許文献１】特開平１１−３１４３６０号公報
【特許文献２】特開平１０−３１５４５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述の技術では、インク滴の吐出が休止された回数をノズル毎に設けられたカウンタによりカウントする構成であるため、ノズルの数に応じたカウンタが必要になる。これは、ノズルの数を多く備えた高解像度のプリンタであるほど、カウンタの数が多くなり、カウンタの数に応じてプリンタ自体の構成が大型化してしまうことを示している。
【０００５】
本発明は、この課題を解決するためになされたものであり、その目的は、ノズルの数に拘わらずプリンタ自体の構成が大型化しないようにするための技術を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するため請求項１に記載のプリントシステムは、プリンタおよび該プリンタとデータ通信可能なホストコンピュータから構成され、前記プリンタは、第１の方向へ相対的に移動する記録媒体に対し、前記第１の方向と交差する第２の方向に配置された複数のノズルからインク滴を吐出する記録ヘッドと、前記ホストコンピュータ側から送信される印刷データに基づいて、前記記録ヘッドを駆動するための駆動信号を生成する駆動信号生成手段と、を備えている。また、前記ホストコンピュータは、前記記録媒体に画像が形成される画像形成範囲において、前記第１の方向に沿って配列される１または複数の画素から構成され、前記インク滴が連続して吐出されない非吐出回数を特定可能な画素群データを、順次前記第１の方向に生成する画素群データ生成手段と、該画素群データ生成手段により生成された画素群データを印刷データとして前記プリンタ側へ送信する印刷データ送信手段とを備えている。また、プリンタにおける前記駆動信号生成手段は、前記印刷データで特定される前記非吐出回数に応じた駆動信号を生成する、ことを特徴とする。
【０００７】
このように構成されたプリントシステムにおいて、ホストコンピュータ側で印刷データとして生成される複数の画素群データは、画像形成範囲のうち第１の方向に沿って配列されることとなる画素群それぞれを時系列で処理することにより生成されるデータであって、第１の方向が記録ヘッドに対する記録媒体の移動方向（相対移動する方向）であることから、記録ヘッドにおける特定のノズルを駆動するための情報を示すデータになっている。また、これら画素群データは、画素群においてインク滴がノズルから連続して吐出されないこととなる回数としてカウントされた非吐出回数を特定可能なデータである。そのため、プリンタ側では、この画素群データで特定される非吐出回数を「ノズルを駆動するための情報」として注目することにより、プリンタ自身で非吐出回数をカウントして特定すること無く、この非吐出回数に応じた駆動波形で記録ヘッドの各ノズルを駆動することができる。具体的な例として、例えば、非吐出回数が所定回数以上連続する場合には、ノズルの乾燥やインク粘度の変化を補完して正常なインク滴の吐出が行えるような駆動波形を生成するようにすればよい。
【０００８】
このように、本プリントシステムにおいて、ホストコンピュータ側では、各画素群の非吐出回数それぞれを１つのカウンタにより時系列で処理（カウント）することで生成した画素群データそれぞれを順次プリンタへ送信し、プリンタ側では、ホストコンピュータから順次送信されてくる各画素群データについて、画素群データで特定される情報（非吐出回数）そのものに応じた駆動波形で記録ヘッドの各ノズルを駆動する。そのため、このプリントシステムでは、記録ヘッドにおけるノズル毎にカウンタを設ける必要がなく、ノズルが多くなったとしても、カウンタによりシステムが大型化してしまうことはない。
【０００９】
なお、この構成における「第１の方向」とは、記録ヘッドに対して記録媒体が相対的に移動する方向であって、例えば、記録媒体が記録ヘッドのヘッド面に沿って搬送される搬送方向（副走査方向）である。また、「第２の方向」とは、第１の方向と交差する方向であって、例えば、記録媒体の搬送方向と交差する方向（主走査方向）である。
【００１０】
また、ホストコンピュータにより生成される印刷データを構成する画素群データについては、請求項２に記載のように、前記画素の濃度および該濃度の前記インク滴が連続して吐出される吐出回数、または、前記画素の濃度および前記非吐出回数の組み合わせを示すものとすればよい。
【００１１】
このように構成すれば、プリンタ側では、画素群データで示される画素の濃度成分，および，吐出回数または非吐出回数に基づいて、画素群データで示される画素群を形成するのに、どのような濃度のインク滴を何回連続すべきか、または、インク滴を何回連続して吐出しないようにすべきか、といったことを容易に特定することができる。
【００１２】
また、ホストコンピュータ側で生成される印刷データを構成する各画素群データは、画素の濃度成分，および，吐出回数または非吐出回数の組み合わせで各画素群を示したデータとなる。そのため、この画素群データは、画素群における全ての画素それぞれの濃度成分を特定可能なデータとする場合よりもそのデータ量を少なくすることができ、これにより、ホストコンピュータからプリンタへ送信するデータを減らし、データの送信に必要な時間を短縮することができる。
【００１３】
また、請求項３に記載のプログラムは、コンピュータを、前記記録媒体に画像が形成される画像形成範囲において、第１の方向に沿って配列される１または複数の画素から構成され、インク滴が連続して吐出されない非吐出回数を特定可能な画素群データを、順次前記第１の方向に生成する画素群データ生成手段、および、前記画素群データで特定される前記非吐出回数に応じた駆動信号を、前記第１の方向と交差する第２の方向に配置された複数のノズルからインク滴を吐出して記録する記録ヘッドを駆動するために生成する駆動信号生成手段、として機能させるためのプログラムである。
【００１４】
このようなプログラムにより制御されるコンピュータは、請求項１または請求項２に記載のホストコンピュータの一部を構成することができる。
なお、このプログラムは、コンピュータによる処理に適した命令の順番付けられた列からなるものであって、請求項１または請求項２に記載された画素群データ生成手段および駆動信号生成手段としての機能をコンピュータに実行させるためのプログラムである。このプログラムは、例えば、ＦＤ、ＣＤ−ＲＯＭ、メモリーカードなどの記録媒体、インターネットなどの通信回線網を介して、コンピュータ，または，コンピュータを利用するユーザに提供されるものである。なお、このプログラムをユーザに提供する場合には、コンピュータのハードディスクやメモリにプレインストールされた状態で提供する形態であってもよい。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明のプリントシステムを、プリンタ１，および，このプリンタ１とデータ通信可能に接続されたホストコンピュータ２により実現した実施形態を図面と共に説明する。
【００１６】
プリンタ１は、図１に示すように、それぞれ異なる色のインク滴を吐出可能な４つの記録ヘッド１０，記録ヘッド１０のヘッド面に沿って記録ヘッド１０の下方を通過するように記録用紙を搬送する搬送ユニット２０，筐体３２の下部に設けられた用紙トレイ３４，筐体３２の上部に設けられた排紙トレイ３６などを備えたラインヘッド型のカラーインクジェットプリンタである。
【００１７】
これらのうち、複数の記録ヘッド１０は、インクの色（本実施形態においては、ＣＭＹＫカラーモデルで規定される「Ｃ（Cyan）」，「Ｍ（Magenta ）」，「Ｙ（Yellow）」，「Ｋ（black）」の４色）毎のものが、記録用紙の搬送される方向（図１における矢印の方向；以降、「用紙搬送方向」という）に沿って並べられている。各記録ヘッド１０は、図２に示すように、搬送ユニット２０と対向するヘッド面に、複数のノズル１２からなるノズル列が用紙搬送方向と直交する方向（図２における左右方向）に沿って複数列配列された構成となっている。また、記録ヘッド１０には、ノズル１２それぞれに対してインク流路を介してつながる圧力室（図示しない）が設けられており、この圧力室内のインクにアクチュエータにより圧力が与えられ、圧力室内のインクがインク流路を介してノズル１２側へ押し出されることにより、ノズル１２からインク滴が吐出される。
【００１８】
このような構成のプリンタ１では、用紙トレイ３４から供給され、搬送ユニット２０により用紙搬送方向へ向けて搬送される記録用紙が、記録ヘッド１０のヘッド面と搬送ユニット２０の上面との間に形成された隙間を通過していくことになる。その際、この隙間を通過する記録用紙に対し、各記録ヘッド１０のノズル１２それぞれから適宜インク滴を吐出することによって、記録用紙の表面のうち、各記録ヘッド１０に対向する位置を通過する範囲Ａ内に画像Ｂが形成される。そして、こうして画像形成範囲Ａに画像Ｂが形成された記録用紙は排紙トレイ３６に排出される。
【００１９】
また、このプリンタ１には、図３に示すように、プリンタ１全体の動作を制御するＣＰＵ１０２、ＣＰＵ１０２による処理手順などを記憶するＲＯＭ１０４、ＣＰＵ１０２による処理結果などを記憶するＲＡＭ１０６、ホストコンピュータ２とケーブルを介して接続するための外部インタフェース部（以降、「外部Ｉ／Ｆ」とする）１０８、操作パネルおよび表示パネルからなるユーザインタフェース部（以降、「ＵＩ／Ｆ」とする）１１０、記録ヘッド１０のアクチュエータに駆動信号を印加するためのヘッドドライバ１３０、搬送ユニット２０による記録用紙の搬送を制御する搬送制御部１４０などにより制御系統を構成している。
【００２０】
なお、ホストコンピュータ２は、ＣＰＵ，ＲＯＭ，ＲＡＭ，外部Ｉ／Ｆ，ハードディスク，キーボード，ディスプレイなどを備えた周知のコンピュータシステムであって、各種アプリケーションソフトの他、画像データに基づく印刷データの生成および印刷データのプリンタ１への送信を行うデバイスドライバが組み込まれている。
【００２１】
［印刷データ送信処理］
以下に、ホストコンピュータ２がデバイスドライバの機能により実行する処理であって、プリンタ１に対して印刷データを送信する印刷データ送信処理の処理手順を、図４に基づいて説明する。この処理は、デバイスドライバがアプリケーションソフトから所定の画像を示す画像データを受け取った際に開始される。
【００２２】
本実施形態において、アプリケーションソフトから画像データを受け取ったデバイスドライバは、この画像データに対して、色空間を変換する処理，および，画像データで示される画像の階調をプリンタ１側で記録するのに適した階調に調整する処理を行うことにより、画像データをＣ，Ｍ，Ｙ，Ｋの各色成分それぞれが４階調（２ビット）で表現された画像を示すデータに変換してから以降の処理を行うように構成されている。なお、ここでいう「色空間を変換する処理」とは、例えば、アプリケーションソフトからの画像データがＲＧＢカラーモデルによるものである場合に、この画像データにおけるＲ（赤），Ｇ（緑），Ｂ（青）の各色成分をＣＭＹＫカラーモデルによるＣ，Ｍ，Ｙ，Ｋの各色成分からなる画像データに変換する処理である。また、「階調を調整する処理」とは、例えば、アプリケーションソフトからの画像データが各色成分を多階調で表現したものである場合に、誤差拡散などの手法を用いてプリンタ１側で記録するのに適した階調となるように調整（例えば、減色処理など）する処理である。これらの処理については、周知の処理であるため、詳細な処理手順については省略する。
【００２３】
この印刷データ送信処理を開始する際には、まず、プリンタ１に対して印刷データを送信する旨を通知するための制御データを送信する（ｓ１０）。ここでは、制御データとして、アプリケーションソフトにより生成された画像データで示される画像に関する情報（例えば、画像のサイズ，画像を構成する色成分および色成分の数など）を特定可能なデータが送信される。
【００２４】
次に、アプリケーションソフトにより生成された画像データに基づき、この画像データで示される画像における用紙搬送方向の画素列（第１〜第ｉ画素列）それぞれに対応するデータを、この画像を構成する色成分（第１〜第ｊの色成分）毎に生成し、これらデータを印刷データとしてプリンタ１へ送信する（ｓ２０）。ここでは、画像データで示される画像を構成する色成分毎に、各色成分の画像を記録用紙に形成した場合の画像形成範囲において、用紙搬送方向に沿って配置される画素群それぞれを示す画素群データを、後述する処理に従って生成し、これら画素群データを印刷データとして順次プリンタ１へ送信する。なお、ここでいう「各色成分の画像」とは、画像データで示される画像を構成する第１〜第ｊの色成分それぞれのデータである（本実施形態においては、Ｃ，Ｍ，Ｙ，Ｋを第１〜第４の色として適用されている）。また、「画像形成範囲において、用紙搬送方向に沿って配置される画素群」とは、プリンタ１側における記録ヘッド１０の有するノズル１２のうち、特定のノズル１２のみから吐出されるインク滴により記録用紙に形成されることとなる画素の列を示している（図２参照）。
【００２５】
このｓ２０の処理は、特定の色成分の画像における画素列全てに対する処理が終了するまで（ｓ３０：ＮＯ）、第１画素列から第ｉ画素列まで順番に行う（ｓ３０：ＹＥＳ）。
そして、ここまでの処理を、第１の色成分の画像から第ｊの色成分の画像まで順番に行い（ｓ４０：ＮＯ）、全ての色成分の画像に対する処理が終了したら（ｓ４０：ＹＥＳ）、本印刷データ送信処理を終了する。
【００２６】
このように、ｓ１０〜ｓ４０の処理を行うことにより、第１〜第ｊの色成分の画像それぞれについての画素群データが、第１画素列に対応するデータから第ｉ画素列に対応するデータの順番でプリンタ１へ送信される。
【００２７】
ここで、上述したｓ２０の処理について詳細な処理内容を図５に基づいて説明する。
まず、カウンタのカウント値ｃｈおよび変数ｐをリセット（０→ｃｈ，１→ｐ）する（ｓ１１０）。このカウンタは、以降の処理で、同一濃度成分の画素が連続する回数をカウントするためのものである。なお、本印刷データ送信処理の説明において、以降に記載の「ｃｈ」は、カウンタによるカウント値を示すものとし、「ｐ」は、変数ｐにセットされた値を示すものとする。
【００２８】
次に、処理すべき画素列を示すデータのうち、画素列の先頭から第ｐ番目の画素についてのデータを読み込み、このデータで示される濃度成分の値を変数Ｅｐにセットする（ｓ１２０）。ここでいう「画素についてのデータ」とは、画素における濃度成分（階調）を示すものであって、本発明においては、この濃度成分を２ビットで表現したデータで表す。また、変数Ｅｐは、第ｐ番目の画素についてのデータを一時保管するための変数である。
【００２９】
次に、ｓ１２０の処理で読み込んだ第ｐ番目の画素が画素列を構成する最後の画素（第ｋ番目の画素）であるか否かをチェックする（ｓ１３０）。
このｓ１３０の処理で第ｐ番目の画素が画素列を構成する最後の画素でなければ（ｓ１３０：ＮＯ）、第ｐ＋１番目の画素についてのデータが存在することになるため、この第ｐ＋１番目の画素についてのデータを読み込み、このデータで示される濃度成分の値を変数Ｅｑにセットする（ｓ１４０）。この変数Ｅｑは、第ｐ＋１番目の画素についてのデータを一時保管するための変数である。
【００３０】
次に、ｓ１２０，ｓ１４０の処理で読み込んだデータ、つまり変数Ｅｐおよび変数Ｅｑにセットされている濃度成分それぞれが同一（Ｅｐ＝Ｅｑ）であるか否かをチェックする（ｓ１５０）。
【００３１】
このｓ１５０の処理で、変数Ｅｐおよび変数Ｅｑにセットされている濃度成分それぞれが同一である場合（ｓ１５０：ＹＥＳ）、カウンタによるカウント値ｃｈが所定のしきい値Ｒ（本実施形態においては、６ビットの上限「６３」）に到達しているか否かをチェックする（ｓ１７０）。
【００３２】
このｓ１７０の処理で、カウント値ｃｈがしきい値Ｒに到達していれば（ｓ１７０：ＹＥＳ）、ここまでの処理でカウンタによりカウントされたカウント値ｃｈ（６ビット）と、ｓ１２０の処理で変数Ｅｐにセットされたデータ（２ビット）とからなるデータ（８ビット）を、１以上の画素を示す画素群データとしてプリンタ１側へ送信する（ｓ１８０）。ここでは、しきい値Ｒに到達したカウント値ｃｈ（６３）と、変数Ｅｐにセットされている先頭から第ｐ番目の画素についての濃度成分と、からなるデータ（８ビット）を画素群データとして送信する。
【００３３】
次に、カウンタのリセット，および，変数Ｅｑの値についての変数Ｅｐへのセット（０→ｃｈ，Ｅｑ→Ｅｐ）を行った後（ｓ１９０）、変数ｐをインクリメント（ｐ＋１→ｐ）して（ｓ２００）、ｓ１３０の処理へ戻る。
【００３４】
また、上述したｓ１５０の処理で、変数Ｅｐおよび変数Ｅｑにセットされている濃度成分それぞれが同一でない場合（ｓ１５０：ＮＯ）、ｓ１８０の処理へ移行し、画素群データの送信（ｓ１８０），カウンタのリセットおよび変数Ｅｐへの変数Ｅｑのセット（ｓ１９０），変数ｐのインクリメント（ｓ２００）を経て、ｓ１３０の処理へ戻る。この場合ｓ１８０の処理では、カウント値ｃｈがしきい値Ｒに到達した場合（ｓ１７０で「ＹＥＳ」とされた場合）と同様、ここまでの処理でカウントされたカウント値ｃｈと、変数Ｅｐにセットされている先頭から第ｐ番目の画素についての濃度成分と、からなるデータを、画素群データとして送信する。
【００３５】
また、上述したｓ１７０の処理で、カウント値ｃｈが所定値に到達していなければ（ｓ１７０：ＮＯ）、カウンタをインクリメント（ｃｈ＋１→ｃｈ）した後（ｓ１７５）、変数ｐのインクリメント（ｓ２００）を経て、ｓ１３０の処理へ戻る。
【００３６】
そして、ｓ１３０からｓ２００の処理を繰り返すことで、１画素列を構成する全ての画素に対して処理を行い、ｓ１３０の処理で、全ての画素に対する処理が終了した場合（ｓ１３０：ＹＥＳ）には、ここまでの処理でカウントしたカウント値ｃｈと、変数Ｅｐにセットされている先頭から第ｐ番目の画素についての濃度成分と、からなるデータを、画素群データとしてプリンタ１側へ送信した後（ｓ２１０）、上述したｓ３０の処理へ移行する。
【００３７】
このように、ｓ１１０〜ｓ２１０の処理では、処理すべき画素列についての画素群データを順次プリンタ１へ送信しており、このように連続して送信される画素群データが処理すべき画素列についての印刷データとして送信されることとなる。また、こうして送信される画素群データは、画素についての濃度成分，および，この濃度成分がカウント値ｃｈで示される画素数だけ連続している旨を示すデータであり、いわゆるランレングス方式によりそのデータ量が圧縮されたデータとなっている。
【００３８】
また、上述したｓ１１０〜ｓ２１０の処理は、処理すべき画素列毎に行われる処理であって、画素列それぞれについての処理を行うにあたり、始めに、同一濃度成分の画素が連続する連続回数をカウントするカウンタのカウント値ｃｈがリセットされる（ｓ１１０の処理）。そのため、たとえ、処理すべき画素列を構成する先頭の画素と、この画素列の前に処理された画素列を構成する最後尾の画素と、が同一濃度成分であったとしても、両画素列が連続する画素群であるかのように扱われてしまうことはない。
【００３９】
［イメージ生成処理］
以下に、プリンタ１がホストコンピュータ２により送信された制御データを受信した際に実行するイメージ生成処理の処理手順を図６に基づいて説明する。この制御データを受信した以降、ホストコンピュータ２からは、印刷すべき画像を構成する色成分毎に、複数の画素群データが印刷データとして順次送信されてくる。
【００４０】
まず、変数ｘ，ｃを初期化（１→ｘ，１→ｃ）する（ｓ３０３）。なお、本イメージ生成処理の説明において、以降に記載の「ｘ」は、変数ｘにセットされた値を示すものとし、「ｃ」は、変数ｃにセットされた値を示すものとする。
【００４１】
次に、印刷すべき画像を構成する色成分（第１〜第ｊの色成分）毎に、この第ｃの色成分の画像における第ｘ番目の画素列についての１列分の処理を行う（ｓ３０５）。ここでは、ホストコンピュータ２側から送信された１の画素列を構成する画素群データに基づき、記録ヘッド１０のアクチュエータを駆動するのに必要な駆動信号の波形に対応づけられた液滴データを生成してイメージバッファに記憶する。ホストコンピュータ２側から送信される画素群データは、上述したように、画素群を構成する画素の濃度成分、および、この濃度成分が続く画素数を示すカウント値ｃｈ（正確には「ｃｈ―１」が画素数を示す；以降、「ランレングスＬ」という）を特定可能なデータであるため、このｓ３０５の処理では、この画素群データに基づいて濃度成分から１画素分の情報を示す液滴データを生成することとなるが、詳細な処理手順については後述する。
【００４２】
次に、変数ｘをインクリメント（ｘ＋１→ｘ）した後（ｓ４８５）、第ｃの色成分の画像における全ての画素列に対する処理が終了したか否かをチェックする（ｓ４９０）。ここでは、本イメージデータ生成処理に先立って受信した制御データに基づいて、印刷すべき画像における用紙搬送方向に沿った方向に配列される画素数ｋを特定し、変数ｘの値が、この画素数ｋに到達（ｘ＝ｋ）していれば、全ての画素列に対する処理が終了したと判定する。
【００４３】
このｓ４９０の処理で、全ての画素列に対する処理が終了していなければ（ｓ４９０：ＮＯ）、ｓ３０５の処理へ戻る一方、全ての画素列に対する処理が終了していれば（ｓ４９０：ＹＥＳ）、変数ｃをインクリメント（ｃ＋１→ｃ）した後（ｓ４９５）、印刷すべき画像における全ての色成分の画像に対する処理が終了したか否かをチェックする（ｓ５００）。ここでは、本イメージ生成処理に先立って受信した制御データに基づいて、印刷すべき画像を構成する色成分の数ｊを特定し、変数ｃの値が、この色成分の数ｊに到達（ｃ＝ｊ）していれば、全ての色成分の画像に対する処理が終了したと判定する。
【００４４】
このｓ５００の処理で、全ての色成分の画像に対する処理が終了していなければ（ｓ５００：ＮＯ）、ｓ３０５の処理へ戻る一方、全ての色成分の画像に対する処理が終了していれば（ｓ５００：ＹＥＳ）、本イメージ生成処理を終了する。
【００４５】
こうして、全ての色成分の画像に対する処理が終了すると、プリンタ１のＣＰＵ１０２は、搬送ユニット２０（搬送制御部１４０）やヘッドドライバ１３０に指令を出して画像の記録を開始する。このとき、ＣＰＵ１０２からの指令を受けたヘッドドライバ１３０は、上述したイメージバッファに記憶されたデータに対応づけられている駆動波形により記録ヘッド１０のアクチュエータを駆動することとなる。
【００４６】
ここで、上述したｓ３０５の処理について詳細な処理内容を図７に基づいて説明する。
まず、変数ｆ，ｙおよびカウンタのカウント値ｃｐを初期化（０→ｆ，０→ｙ，０→ｃｐ）する（ｓ３１０）。なお、以降に記載の「ｆ」，「ｙ」は、変数ｆ，ｙにセットされた値を示すものとし、「ｃｐ」は、カウンタのカウント値を示すものとする。
【００４７】
次に、ホストコンピュータ２側から送信された１の画素群データを読み込む（ｓ３２０）。ここでは、画素群データに基づいて、画素の濃度成分Ｅを特定すると共に、濃度成分Ｅが連続する画素数を示すカウント値ｃｈ（以降、「ランレングスＬ」という）を特定する。
【００４８】
次に、ｓ３２０の処理で読み込んだ画素群データで特定される濃度成分Ｅを、記録ヘッド１０のアクチュエータを駆動するのに必要な駆動信号の波形に対応づけられた液滴データに変換する（ｓ３４０）。ここでは、ｓ３２０の処理で読み込んだ画素群データの濃度成分Ｅの値（０〜３）と、フラグｆの状態（値：０，１）と、に対応するデータ（０〜６）を、図８で示されるデータテーブルから抽出し、このデータを１画素分の液滴データとする。
【００４９】
なお、このデータテーブルに登録されている「０〜６」の値で示される液滴データは、それぞれ記録ヘッド１０のアクチュエータを駆動するのに必要な駆動信号の波形を示すものである。これらのうち、「０」は、フラグｆの値がいずれのときにでも抽出されうるデータであって、ノズル１２からのインク滴の吐出を行わない状況、つまり駆動信号を印加しない時に抽出される。また、「１〜３」は、フラグｆの値が「０」のときに抽出されうるデータであって、その値に応じてノズル１２から吐出させるインク滴が大きく（色が濃く）なるように定められた波形を示すものである。フラグｆは、後述のように、濃度成分「０」の画素が所定数以上連続する、つまりノズル１２からのインク滴の吐出が所定画素分以上休止されると判定された場合にのみ「１」がセットされるものであるため、この「１〜３」は、ノズル１２からのインク滴の吐出が一定期間以上休止されることなく、定期的に行われている通常の状況で使用すべき波形を示している（図９におけるＷ１〜Ｗ３参照）。そして、「４〜６」は、フラグｆの値が「１」のときに抽出されるデータであって、「１〜３」の波形と同様、その値に応じてインク滴が大きく（色が濃く）なるように定められた波形を示すものである。フラグｆには、ノズル１２からのインク滴の吐出が所定画素分以上休止されると判定された場合に「１」がセットされるため、この「４〜６」は、ノズル１２からのインク滴の吐出が一定期間以上行われなかった直後（休止後）に使用すべき波形を示している（図９におけるＷ４〜Ｗ６参照）。具体的には、「４〜６」の波形は、ノズル１２からのインク滴の吐出が一定期間以上行われない場合であっても、ノズル１２の乾燥によるインク粘度の増加といった現象の影響を受けることなく、所望の大きさ（「１〜３」と同様の大きさ）が得られるような波形として定められたものである。
【００５０】
次に、ｓ３４０の処理においてデータ変換した１画素分の液滴データを、ＲＡＭ１０６に確保されているイメージバッファに記憶させる（ｓ３５０）。ここでは、まず、本イメージ生成処理に先立って受信した制御データと、ｓ３２０の処理で受信した画素群データとに基づいて、この画素群データで示される画素の色成分，および，この画素群データで示される画素それぞれの画像全体における位置を特定する。そして、こうして特定された色成分に対応するイメージバッファの記憶領域であって、この色成分と共に特定された位置に対応する記憶領域に、ｓ３４０の処理で変換した液滴データを書き込む。
【００５１】
次に、変数ｆを初期化（０→ｆ）する（ｓ３５２）。
次に、上述したｓ３２０の処理で特定したランレングスＬが「０」以外の値である（Ｌ≠０）か否かをチェックする（ｓ３５５）。ここで、ランレングスＬが「０」以外の値である場合は、ｓ３２０の処理で読み込んだ画素群データで示される画素群が、同一濃度成分の連続する複数の画素からなることを示している。
【００５２】
このｓ３５５の処理で、ランレングスＬが「０」以外の値であれば（ｓ３５５：ＹＥＳ）、ｓ３２０の処理で読み込まれた画素群データは、同一濃度成分の画素が連続している画素群を示すデータであるため、このランレングスＬの数と同じ数の液滴データを生成する（ｓ３５７）。ここでは、ｓ３４０の処理と同様、データテーブルからの液滴データの抽出が行われるが、ｓ３５２の処理においてフラグｆが初期化されているため、ノズル１２からのインク滴の吐出が定期的に行われている状況で使用すべき波形が抽出され、液滴データとされる。
【００５３】
次に、ｓ３５７の処理で生成した液滴データを、ｓ３５０の処理と同様に、イメージバッファに記憶させた後（３５８）、次の処理（ｓ３６０）へ移行する。
一方、上述したｓ３５５の処理で、ランレングスＬが「０」以外の値でなければ（ｓ３５５：ＮＯ）、ｓ３２０の処理で読み込まれた画素群データは、同一濃度成分の画素が連続している画素群ではないため、この画素群データに基づく液滴データの生成および書き込みは、ｓ３４０，ｓ３５０の処理による１画素分のみを行った状態で、次の処理（ｓ３６０）へ移行する。
【００５４】
次に、ｓ３２０の処理で読み込まれた画素群データが記録ヘッド１０によるインク滴の吐出を行わせない（非吐出の）データであるか否かをチェックする（ｓ３６０）。ここでは、ｓ３２０の処理で特定された濃度成分Ｅが「０」である（Ｅ＝０）場合に、インク滴の吐出を行わせないデータであると判定する。
【００５５】
このｓ３６０の処理で、インク滴の吐出を行わせないデータである場合（ｓ３６０：ＹＥＳ）、カウンタにランレングスＬの値および「１」を加算（ｃｐ＋Ｌ＋１→ｃｐ）した後（ｓ３７０）、このカウント値ｃｐが所定のしきい値Ｓ（本実施形態においては、１２ビットの上限「４０９５」から６ビットの上限「６３」を減算した値「４０３２」）より大きな値となっている（Ｓ＜ｃｐ）か否かをチェックする（ｓ３８０）。
【００５６】
このｓ３８０の処理で、カウント値ｃｐがしきい値Ｓより大きな値となっていれば（ｓ３８０：ＹＥＳ）、フラグｆに「１」をセット（１→ｆ）した後（ｓ３９０）、次の処理（ｓ４０５）へ移行する一方、カウント値ｃｐがしきい値Ｓより大きな値となっていなければ（ｓ３８０：ＮＯ）、フラグｆへの「１」のセットを行うことなく、次の処理（ｓ４０５）へ移行する。
【００５７】
また、上述したｓ３６０の処理で、インク滴の吐出を行わせないデータでない場合には（ｓ３６０：ＮＯ）、カウンタのカウント値ｃｐを初期化（０→ｃｐ）した後（ｓ４２０）、次の処理（ｓ４０５）へ移行する。
【００５８】
次に、変数ｙにランレングスＬおよび「１」を加算（ｙ＋Ｌ＋１→ｙ）した後（ｓ４０５）、画素列の１列を構成する全ての画素群に対する処理が終了したか否かをチェックする（ｓ４１０）。ここでは、本イメージデータ生成処理に先立って受信した制御データに基づいて、印刷すべき画像における用紙搬送方向に沿った画素数ｋを特定し、変数ｙの値が、この画素数ｋに到達（ｙ＝ｋ）していれば、画素列を構成する全ての画素群に対する処理が終了したと判定する。
【００５９】
このｓ４１０の処理で、画素列を構成する全ての画素群に対する処理が終了していなければ（ｓ４１０：ＮＯ）、ｓ３２０の処理へ戻って、画素列を構成する全ての画素群に対する処理を終えるまで、ｓ３２０〜ｓ４１０の処理を繰り返す。
【００６０】
そして、ｓ４１０の処理で、画素列を構成する全ての画素群に対する処理が終了していれば（ｓ４１０：ＹＥＳ）、このサブルーチンを抜けて上述したｓ４８５の処理へ移行する。
［ホストコンピュータ２側でのデータ処理の様子］
以下に、ホストコンピュータ２がプリンタ１へ印刷データを送信する際の具体的な処理の様子を説明する。ここでは、簡単のため１０列１２行（Ｉ＝１０，ｋ＝１２）の画素からなる画像を示す画像データを記録する場合を例示する。
【００６１】
図１０（ａ）は、ホストコンピュータ２側で色空間を変換する処理および階調を調整する処理が行われた後のデータのうち、いずれかの色成分の画像データで示される画像について、この画像を構成する各画素の濃度成分を数値にて対応させたものである。ここでは、区切られた四角のそれぞれが１つの画素を示し、この四角内に示された数値（０〜３）が画素の濃度成分（階調）を示すものである。なお、図中の矢印Ｆは、用紙搬送方向である。
【００６２】
また、図１０（ｂ）は、ホストコンピュータ２側において、図１０（ａ）に示される画像データを、上述した印刷データ送信処理（図５）のフローチャートに従ってデータ変換した後のデータであり、画像データで示される画像の用紙搬送方向に沿った画素列それぞれに、各画素列を構成する画素それぞれの情報を数値にて対応させたものである。ここでは、区切られた四角のそれぞれが画素を示し、この四角内に示された数値が画素を構成する画素毎の情報を上から順に示すものである。具体的な例として、１列目の最初に示された数値「５０」は、印刷データ送信処理において使用されるカウント値ｃｐおよび変数Ｅｐの値を示しており、最初の数値「５」がカウント値ｃｐを示し、次の数値「０」が変数Ｅｐの値を示している。
【００６３】
次に、ホストコンピュータ２側において、図１０（ａ）に示す画像に対して印刷データ送信処理を行う様子を示す。なお、以下の説明にて使用されるしきい値Ｒについては、簡単のため「５」とする。この印刷データ送信処理が開始されると、はじめに、第１列目のデータに注目して以降の処理が行われる。
【００６４】
まず、ｓ１１０の処理においてカウンタのカウント値ｃｈおよび変数ｐを初期化（０→ｃｈ，１→ｐ）した後、ｓ１２０の処理にて、第ｐ行目，つまりこの時点では第１行目の画素についてのデータを変数Ｅｐにセットする。このとき、第１行目の画素は、図１０（ａ）に示すように、濃度成分「０」であるため、変数Ｅｐには「０」がセットされる。
【００６５】
この時点において、第ｐ行目は最後尾の画素ではないため、ｓ１３０の処理で「ＮＯ」と判定された後、ｓ１４０の処理で、第ｐ＋１行目，つまりこの時点で第２行目の画素についてのデータを変数Ｅｑにセットする。このとき、第２行目の画素は、図１０（ａ）に示すように、濃度成分「０」であるため、変数Ｅｑには「０」がセットされる。
【００６６】
次に、ｓ１５０の処理において、変数Ｅｐ，Ｅｑにセットされた値が同一か否かをチェックすると、両者は同一の値「０」となっているため、このｓ１５０の処理では「ＹＥＳ」と判定され、この後、ｓ１７０の処理で、カウンタのカウント値ｃｈがしきい値Ｒに到達しているか否かがチェックされる。
【００６７】
この時点において、カウンタのカウント値ｃｈはしきい値Ｒ（＝５）には到達していないため、ｓ１７０の処理では「ＮＯ」と判定され、ｓ１７５の処理へ移行してカウンタのカウント値ｃｈをインクリメントする（ｃｈ＝１となる）。
【００６８】
ここまでの処理が終了したら、ｓ２００の処理で変数ｐの値をインクリメントして（ｐ＝２となる）、ｓ１３０の処理へ戻る。
こうして、ｓ１３０の処理へ戻ったときには、第ｐ行目，つまりこの時点で２行目は未だ最後尾の画素ではないため、ｓ１３０の処理で「ＮＯ」と判定され、ｓ１４０の処理へ移行することにより、第ｐ＋１行目，つまりこの時点で３行目の画素についてのデータを変数Ｅｑにセットする。このとき、第３行目の画素は、図１０（ａ）に示すように、濃度成分Ｅが「０」であるため、変数Ｅｑには「０」がセットされる。
【００６９】
このように、変数Ｅｐにセットされた値は、変数Ｅｑにセットされた３行目に関する値「０」と同一であり、また、この時点でもカウント値ｃｈはしきい値Ｒに到達していないため、ｓ１５０，ｓ１７０の処理を経てｓ１７５の処理へと移行し、カウンタをインクリメントする（ｃｈ＝２となる）。
【００７０】
このように、同一濃度成分の画素が３回連続すると、カウンタのカウント値ｃｈは、その値が「２」となるが、このことは、ここまでの処理で同一濃度成分の画素がｃｈ＋１回連続したことを示している。
【００７１】
１列目のデータは、図１０（ａ）に示すように、１行目から濃度成分「０」が６回連続しているので、この後、ここまでの処理を更に３回繰り返すことになり、その結果、変数Ｅｐの値は「０」のままでカウント値ｃｈは「５」となり、変数ｐは「６」となる。
【００７２】
こうして、第６行目の画素についての処理を行う際、ｓ１４０の処理で、第ｐ＋１行目，つまりこの時点で第７行目の画素についてのデータを変数Ｅｑにセットすると、この画素は濃度成分Ｅが「１」であるため、変数Ｅｑには「１」がセットされる。
【００７３】
そうすると、変数Ｅｑには「１」がセットされた状態となるが、このとき、変数Ｅｐには１行目（から６行目）に対応する値「０」がセットされているため、ｓ１５０の処理で「ＮＯ」と判定され、ｓ１８０の処理へ移行することとなる。これにより、ｓ１８０の処理によって、カウント値ｃｈおよび変数Ｅｐの値を示す画素群データがプリンタ１へ送信される。このとき、カウント値ｃｈは「５」であり、変数Ｅｐの値は「０」であるため、これら値の組み合わせが、図１０（ｂ）において１列目の最初に示された数値「５０」となる。
【００７４】
この後は、ｓ１９０の処理で、カウンタの初期化（０→ｃｈ）および変数Ｅｐへの変数Ｅｑの値のセット（Ｅｑ→Ｅｐ）を行い、ｓ２００の処理で、変数ｐをインクリメントした（ｐ＝７となる）後、ｓ１３０の処理へ戻る。このとき、変数Ｅｐには、第７行目の画素についてのデータ「０」がセットされることとなる。
【００７５】
続いて、ｓ１４０の処理で、第ｐ＋１行目，つまりこの時点で第８行目の画素についてのデータを変数Ｅｑにセットする。このとき、第８行目の画素は、図１０（ａ）に示すように、濃度成分Ｅが「２」であるため、変数Ｅｑには「２」がセットされる。
【００７６】
ここで、変数Ｅｐには「０」がセットされているのに対し、変数Ｅｑには「２」がセットされた状態となるため、ｓ１５０の処理で「ＮＯ」と判定され、ｓ１８０の処理へ移行することとなる。これにより、ｓ１８０の処理によって、カウント値ｃｈおよび変数Ｅｐの値を示す画素群データがプリンタ１へ送信される。このとき、カウント値ｃｐは「０」であり、変数Ｅｐの値は「１」であるため、これら値の組み合わせが、図１０（ｂ）において１列目の２番目に示された数値「０１」となる。
【００７７】
ここまでの処理が第１１行目まで終了したときを考えると、このとき変数ｐには「１２」がセットされ、変数Ｅｐには第１０〜１２行目に対応する値「０」がセットされ、変数Ｅｑには第ｐ＋１，つまりこの時点においては第１２行目に対応する値「０」がセットされ、そして、カウンタのカウント値ｃｈは「２」となる。
【００７８】
この状態においては、第ｐ行目，つまり第１２行目の画素は最後尾の画素となるため、ｓ１３０の処理で「ＹＥＳ」と判定された後、ｓ２１０の処理で、この時点でのカウント値ｃｐおよび変数Ｅｐの値を示す画素群データがプリンタ１へ送信される。このとき、カウント値ｃｈは「２」であり、変数Ｅｐの値は「０」であるため、これら値の組み合わせが、図１０（ｂ）において第１列目の最後尾に示された数値「２０」となる。
【００７９】
こうして、ｓ２１０の処理で画素群データがプリンタ１送信された後、１列分のデータ処理を終了する。
このように、第１列目のデータに注目しての処理が終了すると、続いて、第２列目のデータに注目して以降の処理が行われる。
【００８０】
この２列目は、第１〜第６行目の画素まで濃度成分「０」であるため、１列目と同様、変数ｐ＝６となるまでｓ１３０〜ｓ２００の処理を繰り返した後、ｓ１４０の処理で第ｐ＋１行目，つまりこの時点で第７行目のデータ「０」を変数Ｅｑにセットすると、この時点では、変数ｐに１行目（から６行目）のデータ「０」がセットされており、変数Ｅｐ，Ｅｑは等しくなる。
【００８１】
これにより、ｓ１５０の処理で「ＹＥＳ」と判定されて、ｓ１７０の処理へ移行すると、このときのカウント値ｃｈは、「５」であり、しきい値Ｒ（＝５）に到達しているため、ｓ１７０の処理で「ＹＥＳ」と判定されて、ｓ１８０の処理へ移行することとなる。これにより、ｓ１８０の処理によって、カウント値ｃｈ「５」および変数Ｅｐの値「１」を示す画素群データ「５１」がプリンタ１へ送信される。
【００８２】
この後は、ｓ１９０の処理で、カウンタの初期化および変数Ｅｐへの変数Ｅｑの値のセットを行い、ｓ２００の処理で、変数ｐをインクリメントした（ｐ＝７となる）後、ｓ１３０の処理へ戻る。このとき、変数Ｅｐには、第７行目の画素についてのデータ「０」がセットされることとなる。
【００８３】
続いて、ｓ１４０の処理で、第ｐ＋１行目，つまりこの時点で第８行目の画素についてのデータを変数Ｅｑにセットする。このとき、第８行目の画素は、図１０（ａ）に示すように、濃度成分「２」であるため、変数Ｅｑには「２」がセットされる。
【００８４】
ここで、変数Ｅｐには「０」がセットされているのに対し、変数Ｅｑには「２」がセットされた状態となるため、ｓ１５０の処理で「ＮＯ」と判定され、ｓ１８０の処理で画素群データがプリンタ１へ送信される。
【００８５】
以下、同様にして画素群データの生成および送信が行われ、図１０（ｂ）のような情報を持った画素群データからなる印刷データが生成される。
［プリンタ１側でのデータ処理の様子］
次に、ホストコンピュータ２から図１０に基づいて説明した処理を経て送信されてきた印刷データを、プリンタ１がイメージ生成処理（図７）によって処理する様子を示す。なお、以下の説明にて使用されるしきい値Ｓについては、簡単のため「３」とする。
【００８６】
ここでは、ホストコンピュータ２から印刷データとして順次送信されてくる画素群データのうち、各画素列に相当するデータを処理する場合を説明する。
はじめに、第１列目の画素列に相当するデータを処理する場合を説明する。
【００８７】
まず、ｓ３１０の処理でフラグｆ，変数ｙ，カウンタのカウント値ｃｐを初期化（０→ｆ，ｙ，ｃｐ）した後、ｓ３２０の処理で最初の画素群データを読み込む。ここで読み込まれるデータは、図１０（ｂ）の第１列目における最初のデータであって、ランレングスＬが「５」，濃度成分Ｅが「０」を示すものである。
【００８８】
続いて、この読み込んだ画素群データの濃度成分Ｅを、ｓ３４０の処理にてデータテーブル（図８）に基づいて液滴データに変換する。ここではフラグｆは初期化（「０」がセット）されたままであるため、フラグｆ「０」と濃度成分「０」とに対応する「０」が抽出され、これが液滴データとされる。
【００８９】
こうして変換された液滴データは、図１０（ｃ）に示すように、ｓ３５０の処理にて１個分（１画素分）のデータとして、イメージバッファにおける１列目の１行目に対応する領域に書き込まれる。
【００９０】
続いて、ｓ３５２の処理にてフラグｆを初期化する（ここでは、「０」のままである）。
このとき、ランレングスＬの値は「５」であり、「０」ではないため、ｓ３５５の処理で「ＹＥＳ」と判定され、ｓ３５７の処理へ移行する。こうして、ｓ３５７の処理では、データテーブルに基づき、ランレングスＬの値「５」と同じ数の液滴データ（同様に「０」となる）が生成されて、これらが５個（５画素分）のデータとしてイメージバッファ（図１０（ｃ）における１列目の２〜６行目に対応する領域）に書き込まれる。
【００９１】
続いて、このときの濃度成分Ｅは「０」であるため、ｓ３６０の処理で「ＹＥＳ」と判定された後、ｓ３７０の処理にて、カウンタｃｐに「Ｌ＋１」，つまりｓ３５０，ｓ３５８の処理でイメージバッファに書き込まれたデータの数「６」が加算される。
【００９２】
また、このときのカウント値ｃｐである「６」は、しきい値Ｓである「３」を越えているため、ｓ３８０の処理で「ＹＥＳ」と判定され、ｓ３９０，ｓ４０５の処理を経た後、ｓ４１０の処理へと移行する。この時点では、まだ画素列の１列を構成する全ての画素群に対する処理は終了していない（変数ｙの値が画素数ｋに到達していない）ため、ｓ４１０の処理で「ＮＯ」と判定されてｓ３２０の処理へ戻る。
【００９３】
次に、ｓ３２０の処理では、第１列目における２番目のデータ（ランレングスＬが「０」，濃度成分Ｅが「１」）が読み込まれる。そして、上述したのと同様に、ｓ３４０の処理で濃度成分Ｅを液滴データに変換した後、ｓ３５０の処理でイメージバッファ（図１０（ｃ）における１列目の７行目に対応する領域）に書き込む。なお、この場合の液滴データは、ｓ３９０の処理でフラグｆに「１」がセットされていること、濃度成分Ｅが「１」であること、から「４」となる。
【００９４】
続いて、ｓ３５２の処理にてフラグｆをリセットする（０→ｆ）。
このとき、ランレングスＬの値は「０」であるため、ｓ３５５の処理で「ＮＯ」と判定され、それ以上のイメージバッファへの書き込みは行われない。
【００９５】
また、濃度成分Ｅは「１」であり、「０」ではないため、ｓ３６０の処理で「ＮＯ」と判定されてｓ４２０の処理へ移行し、カウンタを初期化（０→ｃｐ）した後、まだ画素列の１列を構成する全ての画素群に対する処理は終了していない（変数ｙの値が画素数ｋに到達していない）ため、ｓ４１０の処理で「ＮＯ」と判定されてｓ３２０の処理へ戻る。
【００９６】
次に、ｓ３２０の処理では、第１列目における３番目のデータ（ランレングスＬが「１」，濃度成分Ｅが「２」）が読み込まれる。そして、上述したのと同様に、ｓ３４０の処理で濃度成分Ｅを液滴データ「２」に変換した後、このデータがｓ３５０の処理でイメージバッファに１個書き込まれる。このときのランレングスＬは、「１」であり、「０」でないため、ｓ３５７の処理を経てｓ３５８の処理で更に液滴データの書き込みが行われることとなるが、この液滴データは、直前に行われたｓ３５２の処理でフラグｆに「０」がセットされていること、濃度成分Ｅが「２」であること、から「２」となる。これにより、ｓ３５０，ｓ３５８の処理で１個ずつ、合わせて２個（２画素分）のデータ「２」がイメージバッファ（図１０（ｃ）における１列目の８，９行目に対応する領域）に書き込まれた後、同様にしてｓ３２０の処理へ戻る。なお、このとき、濃度成分Ｅは「０」ではないため、フラグｆには「０」がセットされたままとなる。
【００９７】
そして、ｓ３２０の処理では、第１列目における４番目のデータ（ランレングスＬが「２」，濃度成分が「０」）が読み込まれ、これに基づいて、３個のデータ「０」がイメージバッファ（図１０（ｃ）における１列目の１０〜１２行目に対応する領域）に書き込まれた後、画素列の１列を構成する全ての画素群に対する処理が終了する（変数ｙの値が画素数ｋに到達する）ため、ｓ４１０の処理で「ＹＥＳ」と判定され、１列分のデータ処理が終了することとなる。
【００９８】
次に、第２列目の画素列に相当するデータを処理する場合を説明する。
まず、第１番目の画素群データは、ランレングスＬが「５」，濃度成分Ｅが「０」であるため、上述したのと同様に、イメージバッファに１個＋５個（計６画素分）の液滴データ「０」を書き込む（図１０（ｃ）における２列目の１〜６行目に対応する領域）。このとき、カウント値ｃｐは「６」となり、フラグｆには「１」がセットされた状態となる。
【００９９】
続いて、第２番目の画素群データは、ランレングスＬが「０」，濃度成分Ｅが「０」であるため、同様に、イメージバッファに１個（１画素分）の液滴データ「０」が書き込まれる（図１０（ｃ）における２列目の７行目に対応する領域）。このとき、フラグｆはｓ３５２の処理で一旦初期化されているが、カウンタ値ｃｐが「７」となっているため、ｓ３９０の処理にて再度「１」がセットされることになる。
【０１００】
続いて、第３番目のデータは、ランレングスＬが「１」，濃度成分Ｅが「２」である。このとき、フラグｆには「１」がセットされているため、イメージバッファには、ｓ３５０の処理にて、液滴データとして変換された１個（１画素分）のデータ「５」が書き込まれる（図１０（ｃ）における２列目の８行目に対応する領域）。
【０１０１】
このとき、ランレングスＬは「１」であり、「０」ではないため、ｓ３５５の処理で「ＹＥＳ」と判定されることにより、さらに液滴データがイメージバッファに書き込まれることとなるが、直前に行われたｓ３５２の処理でフラグｆに「０」がセットされているため、データテーブルからは液滴データとして「２」が抽出され、このデータが１個（１画素分）イメージバッファに書き込まれる。
【０１０２】
また、このとき、濃度成分Ｅは「２」であり、「０」ではないため、ｓ３６０の処理で「ＮＯ」と判定された後、ｓ４２０，ｓ４０５，ｓ４１０の処理を経てｓ３２０の処理へ戻り、次のデータを読み込む。
【０１０３】
以下、同様にして全ての画素列に対してイメージバッファへの書き込みを行うことによって、最終的には、図１０（ｃ）に示すように印刷データが展開される。
［効果］
このように構成されたプリントシステムにおいて、ホストコンピュータ２側で印刷データとして生成される複数の画素群データは、画像形成範囲Ａのうち用紙搬送方向に沿って配列されることとなる画素群それぞれを時系列で処理することにより生成されるデータであって、記録ヘッド１０における特定のノズル１２を駆動するための情報を示すデータになっている。また、これら画素群データは、画素群においてインク滴がノズル１２から連続して吐出されないこととなる回数としてカウントされた非吐出回数を特定可能なデータである。そのため、プリンタ１側では、この画素群データで特定される非吐出回数を「ノズルを駆動するための情報」として注目することにより、プリンタ１自身で非吐出回数をカウントして特定すること無く、この非吐出回数に応じた駆動波形で記録ヘッド１０の各ノズル１２を駆動することができる。
【０１０４】
このように、本プリントシステムにおいて、ホストコンピュータ２側では、各画素群の非吐出回数それぞれを１つのカウンタにより時系列で処理することで生成した画素群データそれぞれを順次プリンタ１へ送信し、プリンタ１側では、ホストコンピュータ２から順次送信されてくる各画素群データについて、画素群データで特定される情報（非吐出回数）そのものに応じた駆動波形で記録ヘッド１０の各ノズル１２を駆動するためのイメージデータを生成することができる（図７におけるｓ３５８の処理）。そのため、このプリントシステムでは、記録ヘッド１０におけるノズル１２毎にカウンタを設ける必要がなく、ノズル１２が多くなったとしても、カウンタによりシステムが大型化してしまうことはない。
【０１０５】
また、図３におけるｓ１８０の処理でホストコンピュータ２からプリンタ１へ送信される画素群データは、画素群における画素の濃度成分，および，この濃度成分が連続する連続回数（ランレングスＬ）を特定可能なデータとなっている。そのため、プリンタ１側では、この画素群データで特定される濃度成分および連続回数に基づいて、画素群データで示される画素群を形成するのに、どのような濃度のインク滴を何回連続すべきか、または、インク滴を何回連続して吐出しないようにすべきか、といったことを容易に特定することができる。
【０１０６】
また、この画素群データは、画素群における画素の濃度成分，および，この濃度成分が連続する連続回数（ランレングスＬ）を特定可能なものであって、ランレングス方式によりデータ量が圧縮されている。そのため、この画素群データは、画素群における全ての画素それぞれの濃度成分を特定可能なデータとする場合よりもそのデータ量を少なくすることができ、これにより、ホストコンピュータ２からプリンタ１へ送信するデータを減らし、データの送信に必要な時間を短縮することができる。
【０１０７】
［変形例］
以上、本発明の実施の形態について説明したが、本発明は、上記実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
【０１０８】
例えば、上記実施形態においては、プリンタ１側において、図７におけるｓ３７０の処理でカウンタにより非吐出回数をカウントした後、同図ｓ３８０の処理でこのカウント値ｃｐがしきい値Ｓに到達したか否かを判定するように構成されたものを例示した。しかし、ホストコンピュータ２側が、しきい値Ｓ以上の値をランレングスＬとする画素群データを送信可能であれば、プリンタ２側において、画素群データから特定されるランレングスＬとしきい値Ｓとを同図ｓ３８０の処理で比較することによって、非吐出回数がしきい値Ｓ以上となっているか否かを判定するように構成してもよい。この場合、図７におけるカウンタに関する処理を行わないように構成すればよい。
【０１０９】
また、上記実施形態において、ホストコンピュータ２側で画素群データを圧縮するにあたり、ランレングス方式を元に改良された別の圧縮方式を採用してもよい。
また、上記実施形態において、図２におけるｓ２０の処理では、色成分毎に画像の第１〜第ｉ画素列それぞれに対応する画素群データが順番にプリンタ１へ送信されるように構成されたものを例示した。しかし、各色成分の画素群データを以下に示すような順番で送信するように構成してもよい。
１．Ｙの記録ヘッド１０における第１ノズル（図２の左から１番目）に対応する画素群データ，
２．Ｍの記録ヘッド１０における第１ノズルに対応する画素群データ，
３．Ｃの記録ヘッド１０における第１ノズルに対応する画素群データ，
４．Ｋの記録ヘッド１０における第１ノズルに対応する画素群データ，
５．Ｙの記録ヘッド１０における第２ノズル（図２の左から２番目）に対応する画素群データ，
６．Ｍの記録ヘッド１０における第２ノズルに対応する画素群データ，
７．Ｃの記録ヘッド１０における第２ノズルに対応する画素群データ，
８．Ｋの記録ヘッド１０における第２ノズルに対応する画素群データ，…，
ｍ．Ｋの記録ヘッド１０における第ｍノズル（図２の右端）に対応する画素群データ
［本発明との対応関係］
以上説明した実施形態において、ヘッドドライバ１３０は本発明における駆動信号生成手段である。また、図２におけるｓ２０〜ｓ４０の処理は本発明における画素群データ生成手段および印刷データ送信手段である。
【０１１０】
また、用紙搬送方向が本発明における第１の方向であり、用紙搬送方向と直交する方向が本発明における第２の方向である。
【図面の簡単な説明】
【０１１１】
【図１】プリンタの内部構造を示す図
【図２】プリンタの記録ヘッドを示す図
【図３】プリントシステムの全体構成を示すブロック図
【図４】印刷データ送信処理における全体の処理手順を示すフローチャート
【図５】印刷データ送信処理における一部の詳細な処理手順を示すフローチャート
【図６】イメージ生成処理の処理手順を示すフローチャート
【図７】イメージ生成処理における一部の詳細な処理手順を示すフローチャート
【図８】液滴データの登録されたデータテーブルを示す図
【図９】記録ヘッドのアクチュエータを駆動するための駆動信号の波形を示す図
【図１０】ホストコンピュータで生成された印刷データがプリンタにおいてイメージバッファに展開されるまでの様子を示す図
【符号の説明】
【０１１２】
１…プリンタ、１０…記録ヘッド、１２…ノズル、２０…搬送ユニット、３２…筐体、３４…用紙トレイ、３６…排紙トレイ、１３０…ヘッドドライバ、１４０…搬送制御部、２…ホストコンピュータ。
【図１】
2005305718.tif 000003
【図２】
2005305718.tif 000004
【図３】
2005305718.tif 000005
【図４】
2005305718.tif 000006
【図５】
2005305718.tif 000007
【図６】
2005305718.tif 000008
【図７】
2005305718.tif 000009
【図８】
2005305718.tif 000010
【図９】
2005305718.tif 000011
【図１０】
2005305718.tif 000012