(57)【特許請求の範囲】
【請求項１】
１画素区間に発生するＮ個（Ｎは２以上の整数）の駆動信号パルスに応じて複数の異なるサイズのドットを１画素領域に形成可能なプリンタに、コンピュータから印刷データを供給する方法であって、
前記Ｎ個の駆動信号パルスのうちの少なくとも１つは他の駆動信号パルスと波形が異なり、
前記印刷データは、前記Ｎ個の駆動信号パルスの発生の有無を示すための１画素当たりＮビットのラスタデータを含んでおり、
各画素のＮビットのラスタデータは、前記Ｎ個の駆動信号パルスの発生順序と同じ順序で配列されている、印刷データの供給方法。
【請求項２】
請求項１記載の方法であって、
前記プリンタは双方向印刷が可能であり、
双方向印刷の往路と復路とで前記Ｎ個の駆動信号パルスの発生順序が逆転しており、
各画素のＮビットのラスタデータは、双方向印刷の往路と復路のそれぞれにおいて、前記Ｎ個の駆動信号パルスの発生順序と同じ順序で配列されている、方法。
【請求項３】
１画素区間に発生するＮ個（Ｎは２以上の整数）の駆動信号パルスに応じて複数の異なるサイズのドットを１画素領域に形成可能な双方向印刷デバイスに、印刷データを供給する方法であって、
前記Ｎ個の駆動信号パルスのうちの少なくとも１つは他の駆動信号パルスと波形が異なり、かつ、双方向印刷の往路と復路とで前記Ｎ個の駆動信号パルスの発生順序が逆転しており、
前記印刷データは、前記Ｎ個の駆動信号パルスの発生の有無を示すための１画素当たりＮビットのラスタデータを含んでおり、
各画素のＮビットのラスタデータは、双方向印刷の往路と復路のそれぞれにおいて、前記Ｎ個の駆動信号パルスの発生順序と同じ順序で配列されている、印刷データの供給方法。
【請求項４】
１画素区間に発生するＮ個（Ｎは２以上の整数）の駆動信号パルスに応じて複数の異なるサイズのドットを１画素領域に形成可能なプリンタに、印刷データを供給するコンピュータであって、
前記Ｎ個の駆動信号パルスのうちの少なくとも１つは他の駆動信号パルスと波形が異なり、
前記コンピュータは、
前記印刷デバイスで印刷される画像を表す画像データを記憶するメモリと、
前記画像データから、前記Ｎ個の駆動信号パルスの発生の有無を示すための１画素当たりＮビットのラスタデータを含む印刷データを生成する印刷ラスタデータ作成部と、を備え、
各画素のＮビットのラスタデータは、前記Ｎ個の駆動信号パルスの発生順序と同じ順序で配列されている、コンピュータ。
【請求項５】
１画素区間に発生するＮ個（Ｎは２以上の整数）の駆動信号パルスに応じて複数の異なるサイズのドットを１画素領域に形成可能な印刷デバイスに、印刷データを供給する装置であって、
前記Ｎ個の駆動信号パルスのうちの少なくとも１つは他の駆動信号パルスと波形が異なり、かつ、双方向印刷の往路と復路とで前記Ｎ個の駆動信号パルスの発生順序が逆転しており、
前記装置は、
前記印刷デバイスで印刷される画像を表す画像データを記憶するメモリと、
前記画像データから、前記Ｎ個の駆動信号パルスの発生の有無を示すための１画素当たりＮビットのラスタデータを含む印刷データを生成する印刷ラスタデータ作成部と、を備え、
各画素のＮビットのラスタデータは、双方向印刷の往路と復路のそれぞれにおいて、前記Ｎ個の駆動信号パルスの発生順序と同じ順序で配列されている、印刷データの供給装置。
【請求項６】
プリンタに供給される印刷データをコンピュータに作成させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プリンタは、１画素区間に発生するＮ個（Ｎは２以上の整数）の駆動信号パルスに応じて複数の異なるサイズのドットを１画素領域に形成可能であって、前記Ｎ個の駆動信号パルスのうちの少なくとも１つは他の駆動信号パルスと波形が異なり、
前記コンピュータプログラムは、
前記Ｎ個の駆動信号パルスの発生の有無を示すための１画素当たりＮビットのラスタデータを含む印刷データを生成する印刷ラスタデータ作成部の機能を、前記コンピュータに実現させるためのコンピュータプログラムを記録しており、
各画素のＮビットのラスタデータは、前記Ｎ個の駆動信号パルスの発生順序と同じ順序で配列されている、
コンピュータ読取り可能な記録媒体。
【請求項７】
印刷デバイスに供給される印刷データをコンピュータに作成させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記印刷デバイスは、１画素区間に発生するＮ個（Ｎは２以上の整数）の駆動信号パルスに応じて複数の異なるサイズのドットを１画素領域に形成可能であって、前記Ｎ個の駆動信号パルスのうちの少なくとも１つは他の駆動信号パルスと波形が異なり、かつ、双方向印刷の往路と復路とで前記Ｎ個の駆動信号パルスの発生順序が逆転しており、
前記コンピュータプログラムは、
前記Ｎ個の駆動信号パルスの発生の有無を示すための１画素当たりＮビットのラスタデータを含む印刷データを生成する印刷ラスタデータ作成部の機能を、前記コンピュータに実現させるためのコンピュータプログラムを記録しており、
各画素のＮビットのラスタデータは、双方向印刷の往路と復路のそれぞれにおいて、前記Ｎ個の駆動信号パルスの発生順序と同じ順序で配列されている、
コンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、印刷データを生成する技術に関し、特に、１画素当たり複数ビットの印刷データを用いて印刷が可能な印刷デバイスを使用する場合に、印刷デバイスに適した印刷データを生成する技術に関する。
【０００２】
【従来の技術】
近年、コンピュータの出力装置として、数色のインクをヘッドから吐出するタイプのカラープリンタが広く普及している。このようなカラープリンタとしては、１画素の１色当たりの印刷データの深さが１ビットである２値プリンタが広く使用されているが、複数のインク滴で１画素を記録可能な多値プリンタも提案されている。多値プリンタでは、比較的少量のインク滴によって比較的小さなドットが１画素の領域内に形成され、比較的多量のインク滴によって比較的大きなドットが１画素の領域内に形成される。このため、多値プリンタにおいて使用される印刷データは、１画素当たり複数ビットの深さを有している。
【０００３】
【発明が解決しようとする課題】
２値プリンタと多値プリンタとでは、１画素当たりの印刷データのビット数が異なるので、同じデータ形式の印刷データを使用することができない。このため、従来は、プリンタの機種にそれぞれ応じた異なるデータ処理部（例えばプリンタドライバ）を用いて、各プリンタ（すなわち印刷デバイス）に適した印刷データを作成しなければならなかった。
【０００４】
また、多値プリンタには１画素の区間に複数ビットの印刷データが供給されるが、１画素区間における複数ビットの配列の仕方は印刷モードによって異なる可能性がある。従来は、プリンタ内部でビットの配列を入れ替える処理が行われていたので、この入れ替え処理のために余分な時間を要していた。
【０００５】
この発明は、従来技術における上述の課題を解決するためになされたものであり、印刷デバイスで使用される印刷データの使用可能なビット数に応じて、適切な印刷データを生成することのできる技術を提供することを目的とする。
【０００６】
【課題を解決するための手段およびその作用・効果】
上述の課題の少なくとも一部を解決するため、本発明の第１の方法は、１画素区間に発生するＮ個（Ｎは２以上の整数）の駆動信号パルスに応じて複数の異なるサイズのドットを１画素領域に形成可能な印刷デバイスに、印刷データを供給する方法であって、
前記Ｎ個の駆動信号パルスのうちの少なくとも１つは他の駆動信号パルスと波形が異なり、
前記印刷データは、前記Ｎ個の駆動信号パルスの発生の有無を示すための１画素当たりＮビットのラスタデータを含んでおり、
各画素のＮビットのラスタデータは、前記Ｎ個の駆動信号パルスの発生順序と同じ順序で配列されている。
【０００７】
こうすれば、印刷デバイスにおける駆動信号パルスの発生順序と、印刷ラスタデータの各ビットの配列順序とが同じなので、印刷デバイスに供給されたＮビットのラスタデータをその順序のまま使用して印刷を行うことができる。従って、印刷デバイス内で、印刷データの１画素区間内の複数ビットの配列を入れ替えることなく印刷を実行することができる。
【０００８】
本発明の第２の方法は、印刷デバイスに供給される印刷データを生成する方法であって、
（ａ）印刷される画像を表す画像データを準備する工程と、
（ｂ）前記印刷デバイスに供給すべき印刷データの１画素当たりの使用可能なビット数Ｎｍａｘ  （Ｎｍａｘ  は１以上の整数）を少なくとも識別可能な機種情報を、前記印刷デバイスから受け取る工程と、
（ｃ）前記画像データから、前記機種情報に従って、前記印刷デバイスの機種に適したデータ形式のＮビット印刷データ（Ｎは１〜Ｎｍａｘ  の整数）を作成する工程と、
を備える。
【０００９】
この方法では、機種情報を印刷デバイスから受け取り、この機種情報に従って印刷デバイスの機種に適したデータ形式のＮビット印刷データを作成するので、印刷デバイスで使用される印刷データの使用可能なビット数Ｎｍａｘ  に応じて、適切な印刷データを生成することができる。
【００１０】
上記方法において、前記工程（ｃ）は、
前記印刷デバイスに印刷を指令するための印刷指令情報の形式を、前記機種情報に応じて所定の複数種類の形式の中から選択する工程と、
前記使用可能なビット数Ｎｍａｘ  が２以上の場合には、前記印刷データの実際のビット数Ｎの情報を含む印刷指令情報を前記選択された形式で作成して、前記印刷データに付加する工程と、
を含むようにしてもよい。
【００１１】
こうすれば、実際に使用されるビット数の情報を含む印刷印刷指令情報を印刷デバイスに供給することができるので、使用可能なビット数Ｎｍａｘ  よりも少ないビット数の印刷データを印刷デバイスに供給して印刷を行わせることが可能である。
【００１２】
本発明による第１の装置は、１画素区間に発生するＮ個（Ｎは２以上の整数）の駆動信号パルスに応じて複数の異なるサイズのドットを１画素領域に形成可能な印刷デバイスに、印刷データを供給する装置であって、
前記Ｎ個の駆動信号パルスのうちの少なくとも１つは他の駆動信号パルスと波形が異なり、
前記装置は、
前記印刷デバイスで印刷される画像を表す画像データを記憶するメモリと、
前記画像データから、前記Ｎ個の駆動信号パルスの発生の有無を示すための１画素当たりＮビットのラスタデータを含む印刷データを生成する印刷ラスタデータ作成部と、を備え、
各画素のＮビットのラスタデータは、前記Ｎ個の駆動信号パルスの発生順序と同じ順序で配列されている。
【００１３】
本発明による第１の記録媒体は、印刷デバイスに供給される印刷データをコンピュータに作成させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記印刷デバイスは、１画素区間に発生するＮ個（Ｎは２以上の整数）の駆動信号パルスに応じて複数の異なるサイズのドットを１画素領域に形成可能であって、前記Ｎ個の駆動信号パルスのうちの少なくとも１つは他の駆動信号パルスと波形が異なり、
前記コンピュータプログラムは、
前記Ｎ個の駆動信号パルスの発生の有無を示すための１画素当たりＮビットのラスタデータを含む印刷データを生成する印刷ラスタデータ作成部の機能を、前記コンピュータに実現させるためのコンピュータプログラムを記録しており、
各画素のＮビットのラスタデータは、前記Ｎ個の駆動信号パルスの発生順序と同じ順序で配列されている。
【００１４】
このような第１の装置や第１の記録媒体によっても、上記第１の方法とほぼ同様な効果が得られる。
【００１５】
本発明による第２の装置は、印刷デバイスに供給される印刷データを生成する装置であって、
前記印刷デバイスで印刷される画像を表す画像データを記憶するメモリと、
前記印刷デバイスに供給すべき印刷データの１画素当たりの使用可能なビット数Ｎｍａｘ  （Ｎｍａｘ  は１以上の整数）を少なくとも識別可能な機種情報を、前記印刷デバイスから受け取る機種情報取得部と、
前記画像データから、前記機種情報に従って、前記印刷デバイスの機種に適したデータ形式のＮビット印刷データ（Ｎは１〜Ｎｍａｘ  の整数）を作成する印刷データ作成部と、
を備える印刷データ生成装置。
【００１６】
本発明による第２の記録媒体は、印刷デバイスに供給される印刷データをコンピュータに作成させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記印刷デバイスに供給すべき印刷データの１画素当たりの使用可能なビット数Ｎｍａｘ  （Ｎｍａｘ  は１以上の整数）を少なくとも識別可能な機種情報を、前記印刷デバイスから受け取る機種情報取得部と、
印刷される画像を表す画像データから、前記機種情報に従って、前記印刷デバイスの機種に適したデータ形式のＮビット印刷データ（Ｎは１〜Ｎｍａｘ  の整数）を作成する印刷データ作成部と、
の機能を前記コンピュータに実現させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１７】
このような第２の装置や第２の記録媒体によっても、上記第１の方法とほぼ同様な効果が得られる。
【００１８】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。第１の態様は、コンピュータに上記の発明の各工程または各部の機能を実現させるコンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。こうした態様では、プログラムをネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の方法や装置を実現することができる。
【００１９】
【発明の実施の形態】
Ａ．装置の構成
以下、本発明の実施の形態を実施例に基づいて説明する。図１は、本発明の一実施例としての印刷装置の構成を示すブロック図である。図示するように、コンピュータ９０にスキャナ１２とカラープリンタ２２とが接続されており、このコンピュータ９０に所定のプログラムがロードされ実行されることにより、全体として印刷装置として機能する。このコンピュータ９０は、プログラムに従って画像処理に関わる動作を制御するための各種演算処理を実行するＣＰＵ８１を中心に、バス８０により相互に接続された次の各部を備える。ＲＯＭ８２は、ＣＰＵ８１で各種演算処理を実行するのに必要なプログラムやデータを予め格納しており、ＲＡＭ８３は、同じくＣＰＵ８１で各種演算処理を実行するのに必要な各種プログラムやデータが一時的に読み書きされるメモリである。入力インターフェイス８４は、スキャナ１２やキーボード１４からの信号の入力を司り、出力インタフェース８５は、プリンタ２２へのデータの出力を司る。ＣＲＴＣ８６は、カラー表示可能なＣＲＴ２１への信号出力を制御し、ディスクコントローラ（ＤＤＣ）８７は、ハードディスク１６やフレキシブルドライブ１５あるいは図示しないＣＤ−ＲＯＭドライブとの間のデータの授受を制御する。ハードディスク１６には、ＲＡＭ８３にロードされて実行される各種プログラムやデバイスドライバの形式で提供される各種プログラムなどが記憶されている。
【００２０】
このほか、バス８０には、シリアル入出力インタフェース（ＳＩＯ）８８が接続されている。このＳＩＯ８８は、モデム１８に接続されており、モデム１８を介して、公衆電話回線ＰＮＴに接続されている。コンピュータ９０は、このＳＩＯ８８およびモデム１８を介して、外部のネットワークに接続されており、特定のサーバーＳＶに接続することにより、画像処理に必要なプログラムをハードディスク１６にダウンロードすることも可能である。また、必要なプログラムをフレキシブルディスクＦＤやＣＤ−ＲＯＭによりロードし、コンピュータ９０に実行させることも可能である。
【００２１】
図２は、この印刷装置のソフトウェアの構成を示すブロック図である。コンピュータ９０では、所定のオペレーティングシステムの下で、アプリケーションプログラム９５が動作している。オペレーティングシステムには、ビデオドライバ９１やプリンタドライバ９６が組み込まれている。画像のレタッチなどを行うアプリケーションプログラム９５は、スキャナ１２から画像を読み込み、これに対して所定の処理を行いつつビデオドライバ９１を介してＣＲＴディスプレイ２１に画像を表示している。スキャナ１２から供給されるデータＯＲＧは、カラー原稿から読みとられ、レッド（Ｒ），グリーン（Ｇ），ブルー（Ｂ）の３色の色成分からなる原カラー画像データＯＲＧである。
【００２２】
このアプリケーションプログラム９５が印刷命令を発すると、コンピュータ９０のプリンタドライバ９６が画像情報をアプリケーションプログラム９５から受け取り、これをプリンタ２２が処理可能な信号（「印刷データ」と呼ぶ）に変換している。
【００２３】
次に、図３によりプリンタ２２の概略構成を説明する。図示するように、このプリンタ２２は、紙送りモータ２３によって用紙Ｐを搬送する機構と、キャリッジモータ２４によってキャリッジ３１をプラテン２６の軸方向に往復動させる機構と、キャリッジ３１に搭載された印刷ヘッド２８を駆動してインクの吐出およびドット形成を行う機構と、これらの紙送りモータ２３，キャリッジモータ２４，印刷ヘッド２８および操作パネル３２との信号のやり取りを司る制御回路４０とから構成されている。
【００２４】
なお、キャリッジモータ２４は主走査駆動部として機能し、紙送りモータ２３は副走査駆動部として機能する。また、制御回路４０は、印刷ヘッド２８を駆動するヘッド駆動部として機能するとともに、主走査駆動部と副走査駆動部とヘッド駆動部とを制御する制御部としても機能する。
【００２５】
キャリッジ３１をプラテン２６の軸方向に往復動させる機構は、プラテン２６の軸と並行に架設されキャリッジ３１を摺動可能に保持する摺動軸３４と、キャリッジモータ２４との間に無端の駆動ベルト３６を張設するプーリ３８と、キャリッジ３１の原点位置を検出する位置検出センサ３９等から構成されている。
【００２６】
なお、このキャリッジ３１には、黒インク（Ｂｋ）用のカートリッジ７１と、シアン（Ｃ１），ライトシアン（Ｃ２）、マゼンタ（Ｍ１），ライトマゼンダ（Ｍ２）、イエロ（Ｙ）の５色のインクを収納したカラーインク用カートリッジ７２とが搭載可能である。シアンおよびマゼンダの２色については、濃淡２種類のインクを備えていることになる。キャリッジ３１の下部の印刷ヘッド２８には計６個のインク吐出用ヘッド６１ないし６６が形成されており、キャリッジ３１の底部には、この各色用ヘッドにインクタンクからのインクを導く導入管６７（図４参照）が立設されている。キャリッジ３１に黒（Ｂｋ）インク用のカートリッジ７１およびカラーインク用カートリッジ７２を上方から装着すると、各カートリッジに設けられた接続孔に導入管６７が挿入され、各インクカートリッジから吐出用ヘッド６１ないし６６へのインクの供給が可能となる。
【００２７】
制御回路４０は、ＰＲＯＭ（プログラマブルＲＯＭ）４２を備えている。ＰＲＯＭ４２には、プリンタ２２の機種を判別するための機種情報（機種データ）が格納されている。
【００２８】
図４は印刷ヘッド２８の内部の概略構成を示す説明図である。インク用カートリッジ７１，７２がキャリッジ３１に装着されると、図４に示すように毛細管現象を利用してインク用カートリッジ内のインクが導入管６７を介して吸い出され、キャリッジ３１下部に設けられた印刷ヘッド２８の各色ヘッド６１ないし６６に導かれる。なお、初めてインクカートリッジが装着されたときには、専用のポンプによりインクを各色のヘッド６１ないし６６に吸引する動作が行われるが、本実施例では吸引のためのポンプ、吸引時に印刷ヘッド２８を覆うキャップ等の構成については図示および説明を省略する。
【００２９】
各色のヘッド６１ないし６６には、後で説明する通り、各色毎に４８個のノズルＮｚが設けられており（図６参照）、各ノズル毎に、電歪素子の一つであって応答性に優れたピエゾ素子ＰＥが配置されている。ピエゾ素子ＰＥとノズルＮｚとの構造を詳細に示したのが、図５である。図５上段に図示するように、ピエゾ素子ＰＥは、ノズルＮｚまでインクを導くインク通路６８に接する位置に設置されている。ピエゾ素子ＰＥは、周知のように、電圧の印加により結晶構造が歪み、極めて高速に電気−機械エネルギの変換を行う素子である。本実施例では、ピエゾ素子ＰＥの両端に設けられた電極間に所定時間幅の電圧を印加することにより、図５下段に示すように、ピエゾ素子ＰＥが電圧の印加時間だけ伸張し、インク通路６８の一側壁を変形させる。この結果、インク通路６８の体積はピエゾ素子ＰＥの伸張に応じて収縮し、この収縮分に相当するインクが、粒子Ｉｐとなって、ノズルＮｚの先端から高速に吐出される。このインク粒子Ｉｐがプラテン２６に装着された用紙Ｐに染み込むことにより、印刷が行われる。
【００３０】
図６は、インク吐出用ヘッド６１〜６６におけるインクジェットノズルＮｚの配列を示す説明図である。これらのノズルの配置は、各色ごとにインクを吐出する６組のノズルアレイから成っており、４８個のノズルＮｚが一定のノズルピッチｋで千鳥状に配列されている。各ノズルアレイの副走査方向の位置は互いに一致している。なお、各ノズルアレイに含まれる４８個のノズルＮｚは、千鳥状に配列されている必要はなく、一直線上に配置されていてもよい。但し、図６に示すように千鳥状に配列すれば、製造上、ノズルピッチｋを小さく設定し易いという利点がある。
【００３１】
プリンタ２２は、図６に示した通り一定の径からなるノズルＮｚを備えているが、かかるノズルＮｚを用いて径の異なる３種類のドットを形成することができる。この原理について説明する。図７は、インクが吐出される際のノズルＮｚの駆動波形と吐出されるインクＩｐとの関係を示した説明図である。図７において破線で示した駆動波形が通常のドットを吐出する際の波形である。区間ｄ２において一旦、マイナスの電圧をピエゾ素子ＰＥに印加すると、先に図５を用いて説明したのとは逆にインク通路６８の断面積を増大する方向にピエゾ素子ＰＥが変形するため、図７の状態Ａに示した通り、メニスカスと呼ばれるインク界面Ｍｅは、ノズルＮｚの内側にへこんだ状態となる。一方、図７の実線で示す駆動波形を用い、区間ｄ１に示すようにマイナス電圧を急激に印加すると、状態ａで示す通りメニスカスは状態Ａに比べて大きく内側にへこんだ状態となる。次に、ピエゾ素子ＰＥへの印加電圧を正にすると（区間ｄ３）、先に図５を用いて説明した原理に基づいてインクが吐出される。このとき、メニスカスがあまり内側にへこんでいない状態（状態Ａ）からは状態Ｂおよび状態Ｃに示すごとく大きなインク滴が吐出され、メニスカスが大きく内側にへこんだ状態（状態ａ）からは状態ｂおよび状態ｃに示すごとく小さなインク滴が吐出される。
【００３２】
以上に示した通り、駆動電圧を負にする際（区間ｄ１，ｄ２）の変化率に応じて、ドット径を変化させることができる。また、駆動波形のピーク電圧の大小によってもドット径を変化させることができることは容易に想像できるところである。本実施例では、駆動波形とドット径との間のこのような関係に基づいて、小ドットを形成するための駆動波形と、中ドットを形成するための駆動波形の２種類を用意している。図８に本実施例において用いている駆動波形を示す。駆動波形Ｗ１が小ドットを形成するための波形（小ドットパルス）であり、駆動波形Ｗ２が中ドットを形成するための波形（中ドットパルス）である。なお、１画素分の主走査期間内において小ドットパルスＷ１と中ドットパルスＷ２とを図８のように連続して発生させると、小ドットのインク滴と中ドットのインク滴とが同じ１画素の領域内に着弾するので、大ドットを形成することができる。
【００３３】
図９は、双方向印刷の往路と復路において３種類のドットを形成するための駆動信号を示すタイミングチャートである。図９（ａ−１）〜（ａ−３）は往路の信号波形を示し、図９（ｂ−１）〜（ｂ−３）は復路の信号波形を示す。
【００３４】
往路の印刷の際には、図９（ａ−１）に示すように、原駆動信号ＯＤＲＶｆは、各画素区間Ｔ１，Ｔ２，Ｔ３において、小ドットパルスＷ１と中ドットパルスＷ２がこの順に発生する信号となる。なお、「画素区間」は、１画素分の主走査期間と同じ意味である。図９（ａ−２）に示す２ビット印刷データＰＲＤは、１画素当たり２ビットのシリアル信号であり、その各ビットは、小ドットパルスＷ１と中ドットパルスＷ２とにそれぞれ対応している。図９（ａ−３）は、原駆動信号ＯＤＲＶを印刷データＰＲＤでマスクすることによって得られる駆動信号ＤＲＶである。すなわち、印刷データＰＲＤのビット値が１レベルのときには原駆動信号ＯＤＲＶのパルスがそのまま駆動信号ＤＲＶのパルスとして利用される。一方、印刷データＰＲＤのビット値が０レベルのときには原駆動信号ＯＤＲＶのパルスがマスク（遮断）されて、駆動信号ＤＲＶにはパルスが発生しない。従って、図９（ｃ）に示すように、各画素区間における印刷データＰＲＤの２ビットのビット値が”１，０”のときには小ドットパルスＷ１のみが駆動信号ＤＲＶとして出力される。また、ビット値が”０，１”のときには中ドットパルスＷ２のみが出力され、”１，１”のときには小ドットパルスＷ１と中ドットパルスＷ２の双方が出力される。
【００３５】
一方、復路における原駆動信号ＯＤＲＶでは、図９（ｂ−１）に示すように、往路とは逆に、各画素区間において中ドットパルスＷ２と小ドットパルスＷ１がこの順に発生する。これに応じて、図９（ｂ−２）に示すように、印刷データＰＲＤの各ビットも、中ドットパルスＷ２と小ドットパルスＷ１とにそれぞれ対応するように、ビット位置が逆転した状態でコンピュータ９０からプリンタ２２に供給される。この結果、図９（ｂ−３）に示すように、各画素区間における駆動信号ＤＲＶのパルスは、往路とは逆のタイミングで発生する。
【００３６】
図１０は、図９（ａ−３），（ｂ−３）の駆動信号ＤＲＶに従って記録されるドットを示す説明図である。往路では、図９（ａ−３）に示したように小ドットパルスＷ１が１画素区間の前半に発生するので、小ドットは１画素領域内の左側に形成される。また、中ドットパルスＷ２は１画素区間の後半に発生するので、中ドットは１画素領域内の右側に形成される。大ドットは小ドットと中ドットのインク滴が部分的に重なって形成される。一方、復路では、往路とは逆に、小ドットパルスＷ１が１画素区間の後半に発生するが、印刷ヘッドの進行方向も往路とは逆なので、小ドットは往路と同様に１画素領域内の左側に形成される。また、中ドットパルスＷ２は１画素区間の前半に発生するので、中ドットも往路と同様に１画素領域内の右側に形成される。なお、図１０の例では、図示の便宜上、小ドットの画素と中ドットの画素との間、および、中ドットの画素と大ドットの画素との間に「ドット無し」の画素がそれぞれ介挿されている。
【００３７】
このように、本実施例では、駆動信号ＯＤＲの２つのパルスＷ１，Ｗ２の発生順序が往路と復路とで逆転しているので、小ドット、中ドット、大ドットの３種類のどのドットに関しても、１画素領域内におけるインク滴の主走査方向における着弾位置が往路と復路とでほぼ整合する（すなわち、ほぼ一致する）。この結果、双方向印刷を行っても、副走査方向に伸びる直線がジグザクになることを防止できるという利点がある。また、特に本実施例では、往路と復路とでビットの発生順序を入れ替えた印刷データＰＲＤをプリンタ２２に供給しているので、プリンタ２２内でビットの配列を入れ替える必要がなく、高速に印刷を行うことが可能である。
【００３８】
２ビット印刷データＰＲＤを用いた場合には、小ドットと中ドットと大ドットの３種類のドットを１画素の領域に形成することが可能であるが、一般に、各インクの１画素当たりの深さがＮビットである印刷データを用いた場合には、１画素を２Ｎ  種類の階調で再現可能である。通常は、２Ｎ  個の階調の中の１つは「ドット無し」として使用されるので、Ｎビットの印刷データでは（２Ｎ  −１）種類以下の互いに異なる階調を有するドットを１画素の領域に形成可能である。
【００３９】
以上説明したハードウェア構成を有するプリンタ２２は、紙送りモータ２３により用紙Ｐを搬送しつつ（以下、副走査という）、キャリッジ３１をキャリッジモータ２４により往復動させ（以下、主走査という）、同時に印刷ヘッド２８の各色ヘッド６１ないし６６のピエゾ素子ＰＥを駆動して、各色インクの吐出を行い、ドットを形成して用紙Ｐ上に多色の画像を形成する。
【００４０】
なお、本実施例では、既に述べた通りピエゾ素子ＰＥを用いてインクを吐出するヘッドを備えたプリンタ２２を用いているが、吐出駆動素子としては、ピエゾ素子以外の種々のものを利用することが可能である。例えば、インク通路に配置したヒータに通電し、インク通路内に発生する泡（バブル）によりインクを吐出するタイプの吐出駆動素子を備えたプリンタに適用することも可能である。
【００４１】
Ｂ．プリンタドライバ９６の構成と処理手順：
図１１は、プリンタドライバ９６の機能を示すブロック図である。プリンタドライバ９６は、ユーザインタフェイス処理部（ＵＩ処理部）１０２と、機種情報格納部１０４と、初期化処理部１０６と、フロー制御部１０８と、メモリ部１１０と、コマンド格納部１１２とを備えている。フロー制御部１０８は、ラスタライズ処理部１２０と、色変換・Ｎビット化処理部１２２と、データ転送部１２４とを含んでいる。また、メモリ部１１０は、バンドメモリ１３０と印刷ラスタデータメモリ１３２とを含んでいる。
【００４２】
ＵＩ処理部１０２は、コンピュータの画面上においてユーザによって指定された情報（用紙サイズ、解像度（ｄｐｉ）等）を受け取り、初期化処理部１０６に供給する。機種情報格納部１０４は、プリンタ２２内のＰＲＯＭ４２（図３）から機種データＴＩＤを取得し、その機種データＴＩＤを基にプリンタ２２固有の機種情報を取得する機種情報取得部としての機能を有している。
【００４３】
図１２は、プリンタドライバ９６の処理手順を示すフローチャートである。ステップＳ１では、初期化処理部１０６がフロー制御部１０８とプリンタ２２の初期化処理を行う。この初期化処理に先立って、ＵＩ処理部１０２は、ユーザによって指定された印刷設定情報（用紙サイズ、解像度（ｄｐｉ）等）をコンピュータ９０から受け取っており、また、機種情報格納部１０４は、プリンタドライバ９６が選択され、このドライバ９６がプリンタの機種を確定する時点でプリンタ２２内のＰＲＯＭ４２（図３）から機種データＴＩＤを読取っている。ＵＩ処理部１０２と機種情報格納部１０４は、これらの各種の情報を、必要に応じて初期化処理部１０６に供給する。
【００４４】
図１３は、ステップＳ１における初期化処理の詳細手順を示すフローチャートである。ステップＳ１１では、印刷される画像の１バンド領域分の画像データを格納するためのバンドメモリ１３０（図１１）をメインメモリ内に確保する。図１４は、印刷用紙Ｐと印刷対象領域ＰＰとバンド領域Ｂとの関係を示す説明図である。印刷用紙Ｐのサイズと、印刷対象領域ＰＰの範囲とは、ユーザによって指定された印刷設定情報において設定されている。バンド領域Ｂとは、この印刷対象領域ＰＰを垂直方向に分割した（すなわち、複数の水平分割線で分割した）複数の領域である。バンド領域Ｂの幅Ｈ（水平画素数）は、印刷対象領域ＰＰの水平方向の幅と同じである。また、バンド領域の高さＶ（ライン数）は、印刷対象領域ＰＰ全体の高さの１／Ｍ（Ｍは分割数）にほぼ等しい値である。このように、印刷対象領域ＰＰをバンド領域Ｂに区分するのは、印刷データＰＲＤの作成を高速化し、また、必要なメモリ量を低減するためである。
【００４５】
図１４に示すバンド領域Ｂに対応するバンドメモリ１３０（図１１）の容量は、Ｈ×Ｖ×３×８［ビット］となる。ここで、３番目の数字「３」は、画像データがＲＧＢの３色の成分を含むこと意味しており、ここではアプリケーションプログラム９５から供給される画像データがＲＧＢの３色の成分を含む場合を想定している。また、４番目の数字「８」は、１色分のデータの１画素の深さ（ビット数）を意味している。
【００４６】
図１３のステップＳ１２では、まず、初期化処理部１０６が、プリンタ２２で使用可能なインク色の数ＣＮｍａｘ  と、印刷データの１画素当たりの使用可能なビット数Ｎｍａｘ  とを、機種情報格納部１０４から取得する。これらの値ＣＮｍａｘ  ，Ｎｍａｘ  は、機種データＴＩＤを基に機種情報格納部１０４によって決定されて、機種情報格納部１０４内に格納されている。そして、実際に使用されるインク色の数ＣＮ（１〜ＣＮｍａｘ  の整数）と、実際に使用されるビット数Ｎ（１〜Ｎｍａｘ  の整数）とが、ＵＩ処理部１０２から初期化処理部１０６に供給される印刷設定情報によって決定される。例えば、プリンタ２２で受け入れ可能なビット数Ｎｍａｘ  の印刷データを用いて印刷を行うときには、この値Ｎｍａｘ  を、実際に使用されるビット数Ｎとしてそのまま採用する。一方、プリンタ２２で受け入れ可能なビット数Ｎｍａｘ  よりも少ないビット数Ｎ（例えばＮｍａｘ  ＝２，Ｎ＝１）の印刷データを用いて印刷を行う場合がある。この場合には、初期化処理部１０６は、実際に使用されるビット数Ｎの値を印刷設定情報に従って設定する。なお、機種データＴＩＤによって、プリンタ２２が２値プリンタであることが判明した場合には、使用されるビット数Ｎの値は１に設定される。
【００４７】
ステップＳ１３では、１バンド領域分に相当する印刷ラスタデータメモリ１３２（図１１）をメインメモリ内に確保する。印刷ラスタデータメモリ１３２の容量は、Ｈ×Ｖ×ＣＮ×Ｎ［ビット］である。ここで、Ｈはバンド領域の水平画素数、Ｖはバンド領域のライン数、ＣＮはインクの数、Ｎは１画素当たりの印刷データのビット数である。
【００４８】
ステップＳ１４では、プリンタ２２の初期化処理が行われる。プリンタ２２の初期化処理では、プリンタ２２内の図示しない印刷データ格納部（プリントバッファ）のクリアや、プリンタ２２内で使用される各種の設定値（マージン位置や副走査送り量など）を初期設定値に設定する処理などが行われる。
【００４９】
こうしてステップＳ１の初期化処理が終了すると、図１２のステップＳ２において、ラスタライズ処理部１２０が１バンド領域分の多階調画像データのラスタライズ処理を実行する。ここで、「ラスタライズ処理」とは、アプリケーションプログラム９５から供給される画像データを、１バンド領域分のラスタライン毎のＲＧＢデータに展開する処理である。ラスタライズされたＲＧＢデータ（「ＲＧＢラスタデータ」と呼ぶ）は、バンドメモリ１３０に格納される。
【００５０】
ステップＳ３では、色変換・Ｎビット化処理部が、バンドメモリ１３０からＲＧＢラスタデータを読出して、色変換処理とＮビット化処理とを行う。ここで、「色変換処理」とは、ＲＧＢラスタデータを、印刷に使用される各色のインク用のデータに変換する処理である。例えば、プリンタ２２で利用可能な６色のインクをすべて使用して印刷を行う場合には、色変換処理は、ＲＧＢの各８ビットのＲＧＢラスタデータを、６つのインク色の各８ビットのラスタデータに変換する。Ｎビット化処理は、実際の印刷に使用される印刷データのビット数Ｎに応じて、８ビットのラスタデータをＮビットの印刷データに変換する処理である。このＮビット化処理は、例えば（２Ｎ  −１）個の閾値を用いた２Ｎ  値化処理に誤差拡散を適用することによって実現できる。この色変換・Ｎビット化処理の結果、１画素当たりＮビットの印刷ラスタデータが生成される。この印刷ラスタデータには、後述するヘッダや印刷コマンドが付加されておらず、各画素の階調を示す階調データのみで構成されている。
【００５１】
なお、双方向印刷を行う場合には、図９（ａ−２），（ｂ−２）で説明したように、１画素当たりの２ビットの配列順序が往路と復路とで逆転するように、印刷ラスタデータのビット配列が調整される。双方向印刷を行わない場合には、１画素当たりの複数のビットの配列順序を往路と復路とで変える必要はない。換言すれば、印刷ラスタデータにおける１画素当たりの２ビットのデータは、プリンタ２２における駆動信号パルスの発生順序に対応した順序で配列される。
【００５２】
ステップＳ４では、作成されたＮビット印刷ラスタデータが印刷ラスタデータメモリ１３２に格納される。ステップＳ５では、データ転送部１２４が、機種データＴＩＤに応じてコマンド格納部１１２から印刷コマンド（後述する）を取得し、その印刷コマンドにＮビット印刷ラスタデータを付加してプリンタに転送する。
【００５３】
図１５は、２値プリンタ用の１ビット印刷データと、多値プリンタ用のＮビット印刷データのデータ形式の例を比較して示す説明図である。以下では、「２値プリンタ用の１ビット印刷データ」を単に「２値プリンタ用印刷データ」と呼び、また、「多値プリンタ用のＮビット印刷データ」を単に「多値プリンタ用印刷データ」と呼ぶ。また、「Ｎビット印刷データ」（Ｎは１以上）という用語は、２値プリンタ用の１ビット印刷データと、多値プリンタ用のＮビット印刷データとを含む広い意味で用いられる。
【００５４】
図１５（Ａ）に示すように、２値プリンタ用印刷データは、ヘッダと、印刷コマンドと、１ビット印刷ラスタデータとを含んでいる。ヘッダには、印刷解像度（ｄｐｉ）などの情報が格納される。印刷コマンドは、プリンタ２２に印刷を指令するための印刷指令情報であり、使用するインク色の種類と、印刷ラスタデータのデータ数等の情報が格納される。一方、図１５（Ｂ）に示すように、多値プリンタ用印刷データは、ヘッダと、印刷コマンドと、Ｎビット印刷ラスタデータとを含んでいる。多値プリンタ用印刷データの印刷コマンドは、１画素当たりのビット数Ｎの情報を含んでいる。
【００５５】
このように、２値プリンタ用印刷データと多値プリンタ用印刷データは、データ形式が異なる。そこで、データ転送部１２４は、機種情報格納部１０４を介してプリンタ２２から取得された機種データＴＩＤに従って、プリンタ２２の機種に応じた適切な形式で印刷データを作成し、これをプリンタ２２に供給している。具体的には、データ転送部１２４は、プリンタ２２の機種データＴＩＤに応じて、印刷コマンド（印刷指令情報）の形式を図１５（Ａ），（Ｂ）に示す２つの形式の中から選択し、選択された形式の印刷コマンドを印刷ラスタデータに付加している。こうすれば、同じプリンタドライバ９６を用いても、プリンタ２２の機種に応じて適切なデータ形式の印刷データを作成することが可能である。
【００５６】
なお、プリンタドライバ９６のプログラムをプリンタの機種毎に作成する場合にも、図１１に示す同一のフロー制御部１０８を、２値プリンタと多値プリンタとで共通に利用することができる。従って、本実施例のように、フロー制御部１０８が、プリンタ２２の機種データＴＩＤに応じた適切なデータ形式で印刷データを作成可能なように構成されていれば、プリンタ２２の機種に応じたプリンタドライバプログラムを、それぞれ容易に作成できる。なお、プリンタの機種毎にプリンタドライバプログラムを作成する場合には、機種データＴＩＤは一義的に決定されるので、プリンタ２２とコンピュータ９０との双方向通信を行う必要はない。
【００５７】
図１６は、プリンタドライバ９６の変形例を示すブロック図である。このプリンタドライバ９６ａは、図１１に示すプリンタドライバ９６の構成に、並べ替え処理部１２３と並べ替え用メモリ１３４とを追加したものであり、他の構成は同じである。並べ替え処理部１２３は、１つのバンド領域Ｂ（図１４）内のラスタデータの中から、１回の主走査時に印刷ヘッド２８（図６）の各ノズルＮｚに供給されるラスタデータのみを選択して並べ替える処理を実行する。図６に示す印刷ヘッド２８では、ノズルＮｚの副走査方向のピッチは複数画素分の距離に設定されているので、１回の主走査時には間欠的なラスタラインのみが記録される。そこで、並べ替え処理部１２３は、１回の主走査時において各ノズルに供給すべきラスタデータを選択して並べ替え、その結果を並べ替え用メモリ１３４に格納する。
【００５８】
なお、記録モード（ドットの記録方式）として、各ラスタライン上の画素が間欠的に記録されるいわゆる「オーバーラップ記録モード」が使用される場合もある。「オーバーラップ記録モード」で印刷を行う場合には、並べ替え処理部１２３は、上述したようなラスタラインに関する並べ替え処理の他に、記録される画素に関する並べ替え処理も実行する。並べ替え処理部１２３と並べ替え用メモリ１３４は、プリンタ２２内に設けるようにしてもよい。
【００５９】
上記実施例では、プリンタ２２から取得した機種データＴＩＤに応じて、２値プリンタ用印刷データ形式と、多値プリンタ用印刷データ形式とのうちの一方を選択し、選択した形式を用いて印刷データを作成するようにしたので、プリンタ２２の機種に応じた適切な印刷データを作成してプリンタ２２に供給することができる。従って、プリンタ２２を交換しても、同じプリンタドライバ９６を用いて、そのプリンタ２２に応じた適切な印刷データを作成することができる。また、ネットワークを介して接続されている異なる機種のプリンタを利用する場合にも、同じプリンタドライバ９６を用いて適切な印刷データを作成し、供給することが可能である。
【００６０】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００６１】
（１）上記実施例では、１画素区間に２つの異なる波形の駆動信号パルスＷ１，Ｗ２が発生する場合について説明したが、本発明は、一般に、１画素区間内に２つ以上の複数の駆動信号パルスが発生する場合に適用可能である。印刷ラスタデータのビットの配列順序を駆動信号パルスの発生順序に合わせる技術は、１画素区間の複数の駆動信号パルスのうちの少なくとも１つの波形が他の駆動信号パルスの波形と異なる時に特に効果が大きい。
【００６２】
（２）上記実施例では、主に双方向印刷を行う場合を説明したが、本発明は双方向印刷を行わない場合にも同様に適用可能である。
【００６３】
（３）上記実施例では、プリンタの機種に応じて２値プリンタ用印刷データ形式と多値プリンタ用印刷データ形式とのうちの一方を選択するようにしていたが、３種類以上の印刷データ形式を予め準備し、その中から選択するようにしてもよい。
【００６４】
（４）プリンタ（印刷デバイス）から取得できる機種情報は、印刷デバイスに供給すべき印刷データの１画素当たりの使用可能なビット数を少なくとも識別可能であればよい。例えば、このビット数そのものを機種情報としてプリンタから取得するようにしてもよい。
【００６５】
（５）本発明は、インク吐出型プリンタを使用する場合に限らず、レーザプリンタなどの種々の印刷デバイスを使用する場合に適用可能である。なお、本明細書において、「印刷デバイス」という用語は、プリンタ全体という意味と、そのプリンタの制御を行うための装置（印刷エンジン）という意味と、を包含する広い用語として使用されている。
【００６６】
（６）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、図１１に示したプリンタドライバ９６の一部の機能をハードウェアによって実現することも可能である。
【図面の簡単な説明】
【図１】実施例の印刷装置の概略構成図。
【図２】ソフトウェアの構成を示す説明図。
【図３】実施例のプリンタの概略構成図。
【図４】実施例のプリンタのドット記録ヘッドの概略構成を示す説明図。
【図５】実施例のプリンタにおけるドット形成原理を示す説明図。
【図６】実施例のプリンタにおけるノズル配置例を示す説明図。
【図７】実施例のプリンタにおけるノズル配置の拡大図および形成されるドットとの関係を示す説明図。
【図８】径の異なるドットを形成する原理を説明する説明図。
【図９】３種類のドットを形成するための駆動信号を示すタイミングチャート。
【図１０】図９（ｃ）に示す駆動信号ＤＲＶに従って記録されるドットを示す説明図。
【図１１】プリンタドライバ９６の機能を示すブロック図。
【図１２】プリンタドライバ９６の処理手順を示すフローチャート。
【図１３】初期化処理の詳細手順を示すフローチャート。
【図１４】印刷用紙Ｐと印刷対象領域ＰＰとバンド領域Ｂとの関係を示す説明図。
【図１５】２値プリンタ用１ビット印刷データと多値プリンタ用Ｎビット印刷データのデータフォーマットを比較して示す説明図。
【図１６】プリンタドライバ９６の変形例を示すブロック図。
【符号の説明】
１２…スキャナ
１４…キーボード
１５…フレキシブルドライブ
１６…ハードディスク
１８…モデム
２１…ＣＲＴディスプレイ
２２…カラープリンタ
２３…紙送りモータ
２４…キャリッジモータ
２６…プラテン
２８…印刷ヘッド
３１…キャリッジ
３２…操作パネル
３４…摺動軸
３６…駆動ベルト
３８…プーリ
３９…位置検出センサ
４０…制御回路
４２…ＰＲＯＭ
６１〜６６…インク吐出用ヘッド
６７…導入管
６８…インク通路
７１，７２…インク用カートリッジ
８０…バス
８１…ＣＰＵ
８２…ＲＯＭ
８３…ＲＡＭ
８４…入力インターフェイス
８５…出力インタフェース
８６…ＣＲＴＣ
８８…ＳＩＯ
９０…コンピュータ
９１…ビデオドライバ
９５…アプリケーションプログラム
９６…プリンタドライバ
１０２…ＵＩ処理部
１０４…機種情報格納部
１０６…初期化処理部
１０８…フロー制御部
１１０…メモリ部
１１２…コマンド格納部
１２０…ラスタライズ処理部
１２２…色変換・Ｎビット化処理部
１２３…並べ替え処理部
１２４…データ転送部
１３０…バンドメモリ
１３２…印刷ラスタデータメモリ
１３４…並べ替え用メモリ
【図１】
0003562339.tif 000002
【図２】
0003562339.tif 000003
【図３】
0003562339.tif 000004
【図４】
0003562339.tif 000005
【図５】
0003562339.tif 000006
【図６】
0003562339.tif 000007
【図７】
0003562339.tif 000008
【図８】
0003562339.tif 000009
【図９】
0003562339.tif 000010
【図１０】
0003562339.tif 000011
【図１１】
0003562339.tif 000012
【図１２】
0003562339.tif 000013
【図１３】
0003562339.tif 000014
【図１４】
0003562339.tif 000015
【図１５】
0003562339.tif 000016
【図１６】
0003562339.tif 000017