(57)【要約】【課題】演算負荷を軽減させる。【解決手段】複数のドットラインを媒体に形成することによって、印刷画像を媒体に印刷する印刷方法である。各ドットラインは、複数の画素データから構成されるラスタデータに基づいて、複数回のドット形成動作によって形成される。各ドット形成動作では、ラスタデータから抽出された所定の画素データに基づいて、ドットラインを構成する一部のドットを形成する。ラスタデータは複数の単位データから構成されており、各単位データは所定数の画素データから構成されている。ラスタデータから画素データを抽出する際に、単位データから所定の画素データを抽出するための抽出用テーブルが用いられる。ドットラインの媒体上の位置をずらし量にてずらす際に、ずらし量と所定数の画素数に相当する量との関係に基づいて抽出用テーブルが変更される。【選択図】図１８
2007179462.tif 000002
【特許請求の範囲】
【請求項１】
複数のドットラインを媒体に形成することによって、印刷画像を媒体に印刷する印刷方法であって、
各前記ドットラインは、複数の画素データから構成されるラスタデータに基づいて、複数回のドット形成動作によって形成され、
各前記ドット形成動作では、前記ラスタデータから抽出された所定の前記画素データに基づいて、前記ドットラインを構成する一部のドットを形成する
印刷方法において、
前記ラスタデータは複数の単位データから構成されており、各前記単位データは所定数の前記画素データから構成されており、
前記ラスタデータから前記画素データを抽出する際に、前記単位データから所定の画素データを抽出するための抽出用テーブルが用いられ、
前記ドットラインの媒体上の位置をずらし量にてずらす際に、前記ずらし量と前記所定数の画素数に相当する量との関係に基づいて前記抽出用テーブルが変更される
ことを特徴とする印刷方法。
【請求項２】
請求項１に記載の印刷方法であって、
印刷可能領域の端部の位置と、前記印刷画像の端部の位置との距離を規定するオフセット量に基づいて、前記ずらし量が決定される
ことを特徴とする印刷方法。
【請求項３】
請求項２に記載の印刷方法であって、
前記ドット形成動作では、位置指定コマンドによって指定された位置から前記画素データに基づくドットの形成又は非形成が開始され、
前記位置指定コマンドは、所定間隔毎に位置を指定できるコマンドであり、
前記オフセット量と前記所定間隔との関係に基づいて、前記ずらし量が決定される
ことを特徴とする印刷方法。
【請求項４】
請求項３に記載の印刷方法であって、
オフセット量に相当する画素数を前記所定間隔に相当する画素数で割ったときの余りに基づいて、前記ずらし量が決定される
ことを特徴とする印刷方法。
【請求項５】
請求項４に記載の印刷方法であって、
空白画素を示す画素データから構成される単位データであって、前記余りを前記所定数の画素数で割ったときの商の数の前記単位データが、前記ラスタデータに追加される
ことを特徴とする印刷方法。
【請求項６】
請求項５に記載の印刷方法であって、
前記余りを前記所定数の画素数で割ったときの余りが前記ずらし量として決定される
ことを特徴とする印刷方法。
【請求項７】
請求項５又は６に記載の印刷方法であって、
前記空白画素を示す前記画素データから構成される前記単位データが追加された前記ラスタデータに、前記所定間隔に相当する数の空白画素を示す前記画素データが含まれる場合、
前記所定間隔に相当する数の空白画素を示す画素データをそのラスタデータから削除し、
前記位置指定コマンドの指定する位置を変更する
ことを特徴とする印刷方法。
【請求項８】
請求項７に記載の印刷方法であって、
前記ドット形成動作では、複数のノズルからそれぞれインク滴が吐出されることによって、複数の前記ドットラインを構成する一部のドットがそれぞれ形成され、
前記位置指定コマンドは、前記複数のノズルのおける前記ドットの形成又は非形成が開始される位置を共通に示すものであり、
前記複数のノズルにそれぞれ対応する複数の前記ラスタデータの中で最も前記空白画素を示す前記画素データが少ない前記ラスタデータに、前記所定間隔に相当する数の前記空白画素を示す前記画素データが含まれていないならば、他の前記ラスタデータに前記所定間隔に相当する数の前記空白画素を示す前記画素データが含まれる場合であっても、前記所定間隔に相当する数の前記空白画素を示す前記画素データをそのラスタデータから削除しない
ことを特徴とする印刷方法。
【請求項９】
請求項１〜８のいずれかに記載の印刷方法であって、
前記ドット形成動作では、複数のノズルからそれぞれインク滴が吐出されることによって、複数の前記ドットラインを構成する一部のドットがそれぞれ形成され、
前記ずらし量に応じた前記抽出用テーブルは、複数の前記ノズルにそれぞれ対応する複数の前記ラスタデータから前記画素データをそれぞれ抽出する際に、共通に用いられる
ことが望ましい。
【請求項１０】
（Ａ）複数のドットラインを媒体に形成することによって、印刷画像を媒体に印刷する印刷方法であって、
各前記ドットラインは、複数の画素データから構成されるラスタデータに基づいて、複数回のドット形成動作によって形成され、
各前記ドット形成動作では、前記ラスタデータから抽出された所定の前記画素データに基づいて、前記ドットラインを構成する一部のドットを形成する
印刷方法において、
前記ラスタデータは複数の単位データから構成されており、各前記単位データは所定数の前記画素データから構成されており、
前記ラスタデータから前記画素データを抽出する際に、前記単位データから所定の画素データを抽出するための抽出用テーブルが用いられ、
前記ドットラインの媒体上の位置をずらし量にてずらす際に、前記ずらし量と前記所定数の画素数に相当する量との関係に基づいて前記抽出用テーブルが変更され、
（Ｂ）印刷可能領域の端部の位置と、前記印刷画像の端部の位置との距離を規定するオフセット量に基づいて、前記ずらし量が決定され、
（Ｃ）前記ドット形成動作では、位置指定コマンドによって指定された位置から前記画素データに基づくドットの形成又は非形成が開始され、
前記位置指定コマンドは、所定間隔毎に位置を指定できるコマンドであり、
前記オフセット量と前記所定間隔との関係に基づいて、前記ずらし量が決定され、
（Ｄ）オフセット量に相当する画素数を前記所定間隔に相当する画素数で割ったときの余りに基づいて、前記ずらし量が決定され、
（Ｅ）空白画素を示す画素データから構成される単位データであって、前記余りを前記所定数の画素数で割ったときの商の数の前記単位データが、前記ラスタデータに追加され、
（Ｆ）前記余りを前記所定数の画素数で割ったときの余りが前記ずらし量として決定され、
（Ｇ）前記空白画素を示す前記画素データから構成される前記単位データが追加された前記ラスタデータに、前記所定間隔に相当する数の空白画素を示す前記画素データが含まれる場合、
前記所定間隔に相当する数の空白画素を示す画素データをそのラスタデータから削除し、
前記位置指定コマンドの指定する位置を変更し、
（Ｈ）前記ドット形成動作では、複数のノズルからそれぞれインク滴が吐出されることによって、複数の前記ドットラインを構成する一部のドットがそれぞれ形成され、
前記位置指定コマンドは、前記複数のノズルのおける前記ドットの形成又は非形成が開始された位置を共通に示すものであり、
前記複数のノズルにそれぞれ対応する複数の前記ラスタデータの中で最も前記空白画素を示す前記画素データが少ない前記ラスタデータに、前記所定間隔に相当する数の前記空白画素を示す前記画素データが含まれていないならば、他の前記ラスタデータに前記所定間隔に相当する数の前記空白画素を示す前記画素データが含まれる場合であっても、前記所定間隔に相当する数の前記空白画素を示す前記画素データをそのラスタデータから削除せず、
（Ｉ）前記ドット形成動作では、複数のノズルからそれぞれインク滴が吐出されることによって、複数の前記ドットラインを構成する一部のドットがそれぞれ形成され、
前記ずらし量に応じた前記抽出用テーブルは、複数の前記ノズルにそれぞれ対応する複数の前記ラスタデータから前記画素データをそれぞれ抽出する際に、共通に用いられる
ことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷方法に関する。
【背景技術】
【０００２】
いわゆるインクジェットプリンタでは、画素データに応じてノズルからインク滴を吐出してドットを形成するドット形成動作と、紙などの媒体を搬送方向に搬送する搬送動作とを交互に繰り返し、媒体に画像を印刷する。このように印刷された画像は、搬送方向に並ぶ無数のラスタライン（ドットラインとも呼ばれる）から構成されている。なお、各ラスタラインは、移動方向に並ぶ複数のドットから構成されている。つまり、各ラスタラインは、ライン上に並ぶ複数の画素の画素データ（ラスタデータ）に基づいて形成されている。画素データは、例えば１種類のドットを形成するならば１ビットデータ、３種類のドットを形成するならば２ビットデータになる。このため、例えば演算を１バイトデータ単位で行う場合、その１単位データの中には複数の画素データが含まれている。
【０００３】
従来、ラスタラインの媒体上の位置をずらす方法として、ラスタデータの左右の端部に調整画素と呼ばれるダミーの画素データを付加する方法が行われている（特許文献１参照）。
【特許文献１】特開２０００−３１８１４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この調整方法では、調整量に応じたダミーデータを付加・削除する演算処理が必要となる。特に、単位データよりも少ない画素数のダミーデータを付加・削除する場合、演算処理の負荷が大きくなる。
【０００５】
一方、ラスタラインを複数回のドット形成動作で形成することがある。この場合、各ドット形成動作では、ラスタラインを構成する一部のドットが形成される。例えば２回のドット形成動作でラスタラインを構成する場合、各ドット形成動作では、奇数画素又は偶数画素にドットが形成される。このような印刷を行う場合、ドット形成動作に必要な画素データをラスタデータから抽出する抽出処理が行われる。
【０００６】
本発明は、ラスタラインの媒体上の位置のずらし量に基づいて抽出処理を行うことによって、単位データよりも少ない画素数のダミーデータを付加・削除する演算を削減して、演算処理の負荷を軽減させることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するための主たる発明は、複数のドットラインを媒体に形成することによって、印刷画像を媒体に印刷する印刷方法であって、各前記ドットラインは、複数の画素データから構成されるラスタデータに基づいて、複数回のドット形成動作によって形成され、各前記ドット形成動作では、前記ラスタデータから抽出された所定の前記画素データに基づいて、前記ドットラインを構成する一部のドットを形成する印刷方法において、前記ラスタデータは複数の単位データから構成されており、各前記単位データは所定数の前記画素データから構成されており、前記ラスタデータから前記画素データを抽出する際に、前記単位データから所定の画素データを抽出するための抽出用テーブルが用いられ、前記ドットラインの媒体上の位置をずらし量にてずらす際に、前記ずらし量と前記所定数の画素数に相当する量との関係に基づいて前記抽出用テーブルが変更されることを特徴とする。
【０００８】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明を実施するための最良の形態】
【０００９】
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【００１０】
複数のドットラインを媒体に形成することによって、印刷画像を媒体に印刷する印刷方法であって、
各前記ドットラインは、複数の画素データから構成されるラスタデータに基づいて、複数回のドット形成動作によって形成され、
各前記ドット形成動作では、前記ラスタデータから抽出された所定の前記画素データに基づいて、前記ドットラインを構成する一部のドットを形成する
印刷方法において、
前記ラスタデータは複数の単位データから構成されており、各前記単位データは所定数の前記画素データから構成されており、
前記ラスタデータから前記画素データを抽出する際に、前記単位データから所定の画素データを抽出するための抽出用テーブルが用いられ、
前記ドットラインの媒体上の位置をずらし量にてずらす際に、前記ずらし量と前記所定数の画素数に相当する量との関係に基づいて前記抽出用テーブルが変更される
ことを特徴とする印刷方法。  
このような印刷方法によれば、演算処理の負荷を軽減させることができる。
【００１１】
かかる印刷方法において、印刷可能領域の端部の位置と、前記印刷画像の端部の位置との距離を規定するオフセット量に基づいて、前記ずらし量が決定されることが望ましい。また、前記ドット形成動作では、位置指定コマンドによって指定された位置から前記画素データに基づくドットの形成又は非形成が開始され、前記位置指定コマンドは、所定間隔毎に位置を指定できるコマンドであり、前記オフセット量と前記所定間隔との関係に基づいて、前記ずらし量が決定されることが望ましい。また、オフセット量に相当する画素数を前記所定間隔に相当する画素数で割ったときの余りに基づいて、前記ずらし量が決定されることが望ましい。また、空白画素を示す画素データから構成される単位データであって、前記余りを前記所定数の画素数で割ったときの商の数の前記単位データが、前記ラスタデータに追加されることが望ましい。この処理は単位データの追加なので、演算処理の負荷は軽い。
【００１２】
また、前記余りを前記所定数の画素数で割ったときの余りが前記ずらし量として決定されることが望ましい。また、前記空白画素を示す前記画素データから構成される前記単位データが追加された前記ラスタデータに、前記所定間隔に相当する数の空白画素を示す前記画素データが含まれる場合、前記所定間隔に相当する数の空白画素を示す画素データをそのラスタデータから削除し、前記位置指定コマンドの指定する位置を変更することが望ましい。これにより、データ抽出処理の処理対象となるラスタデータのデータ量を減らすことができる。
【００１３】
また、前記ドット形成動作では、複数のノズルからそれぞれインク滴が吐出されることによって、複数の前記ドットラインを構成する一部のドットがそれぞれ形成され、前記位置指定コマンドは、前記複数のノズルのおける前記ドットの形成又は非形成が開始される位置を共通に示すものであり、前記複数のノズルにそれぞれ対応する複数の前記ラスタデータの中で最も前記空白画素を示す前記画素データが少ない前記ラスタデータに、前記所定間隔に相当する数の前記空白画素を示す前記画素データが含まれていないならば、他の前記ラスタデータに前記所定間隔に相当する数の前記空白画素を示す前記画素データが含まれる場合であっても、前記所定間隔に相当する数の前記空白画素を示す前記画素データをそのラスタデータから削除しないことが望ましい。これにより、位置指定コマンドを共通化できる。
【００１４】
また、前記ドット形成動作では、複数のノズルからそれぞれインク滴が吐出されることによって、複数の前記ドットラインを構成する一部のドットがそれぞれ形成され、前記ずらし量に応じた前記抽出用テーブルは、複数の前記ノズルにそれぞれ対応する複数の前記ラスタデータから前記画素データをそれぞれ抽出する際に、共通に用いられることが望ましい。これにより、演算処理の負荷を軽減させることができる。
【００１５】
（１）印刷システム
まず、印刷装置を印刷システムとともに説明する。なお、印刷システムとは、印刷装置と、この印刷装置の動作を制御する印刷制御装置とを少なくとも含むシステムのことである。本実施形態の印刷システムは、プリンタ１と、プリンタドライバをインストールしたコンピュータとを備えている。
【００１６】
図１は、印刷システム１００の構成を説明する図である。例示した印刷システム１００は、印刷装置としてのプリンタ１と、印刷制御装置としてのコンピュータ１１０とを含んでいる。具体的には、この印刷システム１００は、プリンタ１と、コンピュータ１１０と、表示装置１２０と、入力装置１３０と、記録再生装置１４０とを有している。
【００１７】
プリンタ１は、紙、布、フィルム、ＯＨＰ用紙等の媒体に画像を印刷する。なお、この媒体に関し、以下の説明では、代表的な媒体である紙Ｓ（図５を参照。）を例に挙げて説明する。コンピュータ１１０は、プリンタ１と通信可能に接続されている。そして、プリンタ１に画像を印刷させるため、コンピュータ１１０は、その画像に応じた印刷データをプリンタ１に出力する。このコンピュータ１１０には、アプリケーションプログラムやプリンタドライバ等のコンピュータプログラムがインストールされている。
【００１８】
（１−１）プリンタドライバ
図２は、プリンタドライバが行う基本的な処理の概略的な説明図である。  
コンピュータ１１０では、コンピュータに搭載されたオペレーティングシステムの下、ビデオドライバ１１２やアプリケーションプログラム１１４やプリンタドライバ１１６などのコンピュータプログラムが動作している。ビデオドライバ１１２は、アプリケーションプログラム１１４やプリンタドライバ１１６からの表示命令に従って、例えばユーザインターフェース等を表示装置１２０に表示する機能を有する。アプリケーションプログラム１１４は、例えば、画像編集などを行う機能を有し、画像に関するデータ（画像データ）を作成する。ユーザは、アプリケーションプログラム１１４のユーザインターフェースを介して、アプリケーションプログラム１１４により編集した画像を印刷する指示を与えることができる。アプリケーションプログラム１１４は、印刷の指示を受けると、プリンタドライバ１１６に画像データを出力する。
【００１９】
プリンタドライバ１１６は、アプリケーションプログラム１１４から画像データを受け取り、この画像データを印刷データに変換し、印刷データをプリンタに出力する。ここで、印刷データとは、プリンタ１が解釈できる形式のデータであって、各種のコマンドデータと画素データとを有するデータである。ここで、コマンドデータとは、プリンタに特定の動作の実行を指示するためのデータである。また、画素データとは、印刷される画像（印刷画像）を構成する画素に関するデータであり、例えば、ある画素に対応する紙上の位置（紙上の画素）に形成されるドットに関するデータ（ドットの色や大きさ等のデータ）である。
【００２０】
プリンタドライバ１１６は、アプリケーションプログラム１１４から出力された画像データを印刷データに変換するため、解像度変換処理・色変換処理・ハーフトーン処理・ラスタライズ処理などを行う。以下に、プリンタドライバ１１６が行う各種の処理について説明する。
【００２１】
解像度変換処理は、アプリケーションプログラム１１４から出力された画像データ（テキストデータ、イメージデータなど）を、紙に印刷する際の解像度に変換する処理である。例えば、紙に画像を印刷する際の解像度が７２０×７２０ｄｐｉに指定されている場合、アプリケーションプログラム１１４から受け取った画像データを７２０×７２０ｄｐｉの解像度の画像データに変換する。なお、解像度変換処理後の画像データは、ＲＧＢ色空間により表される多階調（例えば２５６階調）のＲＧＢデータである。
【００２２】
色変換処理は、ＲＧＢデータをＣＭＹＫ色空間により表されるＣＭＹＫデータに変換する処理である。なお、ＣＭＹＫデータは、プリンタが有するインクの色に対応したデータである。この色変換処理は、ＲＧＢ画像データの階調値とＣＭＹＫ画像データの階調値とを対応づけたテーブル（色変換ルックアップテーブルＬＵＴ）をプリンタドライバ１１６が参照することによって行われる。この色変換処理により、各画素についてのＲＧＢデータが、インク色に対応するＣＭＹＫデータに変換される。なお、色変換処理後のデータは、ＣＭＹＫ色空間により表される２５６階調のＣＭＹＫデータである。
【００２３】
ハーフトーン処理は、高階調数のデータを、プリンタが形成可能な階調数のデータに変換する処理である。例えば、ハーフトーン処理により、２５６階調を示すデータが、２階調を示す１ビットデータや４階調を示す２ビットデータに変換される。ハーフトーン処理されたデータは、前述のＲＧＢデータと同等の解像度（例えば７２０×７２０ｄｐｉ）を有している。
【００２４】
本実施形態では、ハーフトーン処理された画像データは、各画素につき２ビットの画素データから構成される。なお、画素データが［００］の場合、対応する画素にドットを非形成であることを示す。画素データが［０１］の場合、対応する画素に小ドットを形成することを示す。画素データが［１０］の場合、対応する画素に中ドットを形成することを示す。画素データが［１１］の場合、対応する画素に大ドットを形成することを示す。
【００２５】
ラスタライズ処理は、マトリクス状に配置された画素データを、印刷順（ドット形成順）に並べ直す処理である。ラスタライズ処理されたデータは、印刷データに含まれる画素データとして、プリンタに出力される。
【００２６】
図３Ａ及び図３Ｂは、プリンタドライバの設定画面の説明図である。この設定画面は、プリンタドライバからの要求に応じて表示装置に表示される。ユーザは、入力装置１３０を用いて、この設定画面上でプリンタドライバの各種の設定を行うことができる。設定画面において「基本選択」が選択されると図３Ａの画面が表示され、「レイアウト」が選択されると図３Ｂの画面が表示される。
【００２７】
ユーザは、図３Ａの設定画面上で、用紙サイズや用紙種類などの基本設定を行うことができる。また、ユーザは、カラー印刷かモノクロ印刷かを選択でき、印刷を「きれい」に行うか印刷速度を速くするかを調整することができる。  
また、ユーザは、図３Ｂの設定画面上で、用紙の上のオフセット値、及び、用紙の左のオフセット値を設定することができる。用紙の上のオフセット値を大きくすると、用紙に印刷される印刷画像が用紙の下寄りに印刷されるようになる。つまり、用紙の上のオフセット値を大きくすると、用紙の上側に大きな余白が形成される。また、用紙の左のオフセット値を大きくすると、印刷画像が用紙に対して右寄りに印刷されるようになる。つまり、用紙の左のオフセット値を大きくすると、用紙の左側に大きな余白が形成される。
【００２８】
プリンタドライバは、これらの設定内容に応じた印刷データを生成する。
【００２９】
（１−２）プリンタ
（１−２−１）プリンタの各ユニット
図４は、プリンタ１の全体構成のブロック図である。また、図５は、プリンタ１の全体構成の概略図である。また、図６は、プリンタ１の全体構成の断面図である。以下、本実施形態のプリンタの基本的な構成について説明する。
【００３０】
本実施形態のプリンタ１は、搬送ユニット２０、キャリッジユニット３０、ヘッドユニット４０、検出器群５０、及びコントローラ６０を有する。外部装置であるコンピュータ１１０から印刷データを受信したプリンタ１は、コントローラ６０によって各ユニット（搬送ユニット２０、キャリッジユニット３０、ヘッドユニット４０）を制御する。コントローラ６０は、コンピュータ１１０から受信した印刷データに基づいて、各ユニットを制御し、紙に画像を印刷する。プリンタ１内の状況は検出器群５０によって監視されており、検出器群５０は、検出結果をコントローラ６０に出力する。コントローラ６０は、検出器群５０から出力された検出結果に基づいて、各ユニットを制御する。
【００３１】
搬送ユニット２０は、紙Ｓを印刷可能な位置に送り込み、印刷時に所定の方向（以下、搬送方向という）に所定の搬送量で紙を搬送させるためのものである。すなわち、搬送ユニット２０は、紙を搬送する搬送機構（搬送手段）として機能する。搬送ユニット２０は、給紙ローラ２１と、搬送モータ２２（ＰＦモータとも言う）と、搬送ローラ２３と、プラテン２４と、排紙ローラ２５とを有する。給紙ローラ２１は、紙挿入口に挿入された紙をプリンタ内に給紙するためのローラである。搬送モータ２２は、紙を搬送方向に搬送するためのモータである。搬送ローラ２３は、給紙ローラ２１によって給紙された紙Ｓを印刷可能な領域まで搬送するローラであり、搬送モータ２２によって駆動される。プラテン２４は、印刷中の紙Ｓを支持する。排紙ローラ２５は、紙Ｓをプリンタの外部に排出するローラであり、印刷可能な領域に対して搬送方向下流側に設けられている。この排紙ローラ２５は、搬送ローラ２３と同期して回転する。
【００３２】
キャリッジユニット３０は、ヘッドを所定の方向（以下、移動方向という）に移動（「走査」とも呼ばれる）させるためのものである。キャリッジユニット３０は、キャリッジ３１と、キャリッジモータ３２（ＣＲモータとも言う）とを有する。キャリッジ３１は、移動方向に往復移動可能である。また、キャリッジ３１は、インクを収容するインクカートリッジを着脱可能に保持している。キャリッジモータ３２は、キャリッジ３１を移動方向に移動させるためのモータである。
【００３３】
ヘッドユニット４０は、紙にインクを吐出するためのものである。ヘッドユニット４０は、ヘッド４１を有する。ヘッド４１は、複数のノズルを有し、各ノズルから断続的にインクを吐出する。このヘッド４１は、キャリッジ３１に設けられている。そのため、キャリッジ３１が移動方向に移動すると、ヘッド４１も移動方向に移動する。そして、ヘッド４１が移動方向に移動中にインクを断続的に吐出することによって、移動方向に沿ったドットライン（ラスタライン）が紙に形成される。
【００３４】
検出器群５０には、リニア式エンコーダ５１、ロータリー式エンコーダ５２、紙検出センサ５３、および光学センサ５４等が含まれる。リニア式エンコーダ５１は、キャリッジ３１の移動方向の位置を検出するためのものである。ロータリー式エンコーダ５２は、搬送ローラ２３の回転量を検出するためのものである。紙検出センサ５３は、印刷される紙の先端の位置を検出するためのものである。光学センサ５４は、キャリッジ３１に取付けられている。光学センサ５４は、発光部から紙に照射された光の反射光を受光部が検出することにより、紙の有無を検出する。
【００３５】
コントローラ６０は、プリンタの制御を行うための制御ユニット（制御手段）である。コントローラ６０は、インターフェース部６１と、ＣＰＵ６２と、メモリ６３と、ユニット制御回路６４とを有する。インターフェース部６１は、外部装置であるコンピュータ１１０とプリンタ１との間でデータの送受信を行うためのものである。ＣＰＵ６２は、プリンタ全体の制御を行うための演算処理装置である。メモリ６３は、ＣＰＵ６２のプログラムを格納する領域や作業領域等を確保するためのものであり、ＲＡＭ、ＥＥＰＲＯＭ等の記憶手段を有する。ＣＰＵ６２は、メモリ６３に格納されているプログラムに従って、ユニット制御回路６４を介して各ユニットを制御する。
【００３６】
（１−２−２）ヘッド
図７は、ヘッド４１の下面におけるノズルの配列を示す説明図である。ヘッド４１の下面には、ブラックインクノズル群Ｋと、シアンインクノズル群Ｃと、マゼンタインクノズル群Ｍと、イエローインクノズル群Ｙが形成されている。各ノズル群は、各色のインクを吐出するための吐出口であるノズルを複数個（本実施形態では１８０個）備えている。
【００３７】
各ノズル群の複数のノズルは、搬送方向に沿って、一定の間隔（ノズルピッチ：ｋ・Ｄ）でそれぞれ整列している。ここで、Ｄは、搬送方向における最小のドットピッチ（つまり、紙Ｓに形成されるドットの最高解像度での間隔）である。また、ｋは、１以上の整数である。例えば、ノズルピッチが１８０ｄｐｉ（１／１８０インチ）であって、搬送方向のドットピッチが７２０ｄｐｉ（１／７２０インチ）である場合、ｋ＝４である。
【００３８】
各ノズル群のノズルは、下流側のノズルほど小さい数の番号が付されている（♯１〜♯１８０）。つまり、ノズル♯１は、ノズル♯１８０よりも搬送方向の下流側に位置している。なお、前述の光学センサ５４は、紙搬送方向の位置に関して、一番上流側にあるノズル♯１８０とほぼ同じ位置にある。  
各ノズルには、それぞれインクチャンバー（不図示）と、ピエゾ素子が設けられている。ピエゾ素子の駆動によってインクチャンバーが伸縮・膨張し、ノズルからインク滴が吐出される。
【００３９】
（１−２−３）ヘッドの制御
図８は、ヘッドの制御の説明図である。ユニット制御回路６４は、タイミング生成部６４２と、ダブルバッファ６４４とを有する。タイミング生成部６４２は、リニア式エンコーダ５１からの信号に応じて、タイミング信号を生成し、ダブルバッファ６４４へ出力する。ダブルバッファ６４４には、画素データを記憶するためのバッファが２つ設けられている。各バッファは、ノズル毎に１バイト分のデータ（４画素分の画素データ）を格納できる。そして、ダブルバッファ６４４は、タイミング信号を受けるたびに、バッファに格納されている画素データのうち、全ノズルの１画素分の画素データをヘッド４１へシリアル転送する。
【００４０】
ヘッド４１がインクをノズルから吐出する際の動作について説明する。  
まず、プリンタドライバが、プリンタ１へ印刷データを送信する。この印刷データには、無数の画素データが含まれている。一つの画素データは、１つの画素のドット形成状況（大ドット・中ドット・小ドット・ドットなし）を示しており、２ビットのデータ量である。プリンタ１が受信した画素データは、プリンタドライバのラスタライズ処理によって、印刷に適した並び順になっており（後述）、プリンタ１は、この並び順に従って画素データをメモリ６３に格納する。メモリ６３の１アドレスには１バイトの情報を格納できるので、１アドレスにつき４画素分の画素データが収容される。
【００４１】
ユニット制御回路６４は、メモリ６３の連続するアドレスに格納されている画素データを、バースト転送によってダブルバッファ６４４の一方のバッファに格納する。なお、メモリ６３の隣接するアドレスには、プリンタドライバのラスタライズ処理によって、隣接するノズルに対応する画素データがそれぞれ格納されている。このため、メモリ６３の１８０バイトのデータをバースト転送すれば、全ノズルの４画素分の画素データをバースト転送することができる。
【００４２】
ダブルバッファ６４４の各バッファには、それぞれ４つの領域を備えている。メモリ６３に格納されている１バイトの画素データがダブルバッファ６４４のバッファに転送されると、アドレス内の最初の２ビットの画素データはバッファの最初の領域に格納され、同じアドレス内の次の２ビットの画素データはバッファの２番目の領域に格納され、同じアドレス内の更に次の２ビットの画素データはバッファの３番目の領域に格納され、同じアドレス内の最後の２ビットの画素データはバッファの４番目の領域に格納される。例えば、図中のメモリ６３の左上のアドレス内の１バイトのデータ「１１１００１００」のうち、最初の２ビットの画素データ［１１］はダブルバッファ６４４の上のバッファの第１領域に格納され、同じアドレス内の次の２ビットの画素データ［１０］はダブルバッファ６４４の上のバッファの第２領域に格納され、同じアドレス内の更に次の２ビットの画素データ［０１］はダブルバッファ６４４の上のバッファの第３領域に格納され、同じアドレス内の最後の２ビットの画素データ［００］はダブルバッファ６４４の上のバッファの第４領域に格納される。
【００４３】
次に、ユニット制御回路６４は、キャリッジモータ３２を駆動してキャリッジ３１を移動方向に移動する。キャリッジ３１が所定距離移動するたびに、リニア式エンコーダ５１は１周期のパルス信号を出力する。タイミング生成部６４２は、リニア式エンコーダ５１からの信号に応じて、タイミング信号を生成する。
【００４４】
ダブルバッファ６４４は、最初にタイミング信号を受けると、図中の太線で示す第１領域に格納されている画素データをヘッド４１へシリアル転送する。この領域には、全ノズルの１画素分の画素データが格納されている。ヘッド４１は、画素データに応じて、各ノズルからインクを吐出（又は不吐出）する。この結果、紙上の最初の画素に、ドットが形成される。図中の例では、ノズル♯１は画素データ［１１］に基づいて大ドットを形成し、ノズル♯２は画素データ［００］に基づいてドット非形成にし、ノズル♯３は画素データ［０１］に基づいて小ドットを形成し、・・・、ノズル♯１７８は画素データ［１０］に基づいて中ドットを形成し、ノズル♯１７９及びノズル♯１８０は画素データ［００］に基づいてそれぞれドット非形成にする。
【００４５】
ヘッド４１からインクが吐出される間もキャリッジ３１は移動方向に移動しているので、ダブルバッファ６４４は所定のタイミング信号を受け続けることになる。そして、次のタイミング信号を受けると、ダブルバッファ６４４は、第２領域に格納されている画素データをヘッド４１へシリアル転送し、ヘッド４１は、画素データに応じてインクを吐出する。このようにして、タイミング信号に応じて、ヘッド４１から間欠的にインクが吐出される。図中の例では、ノズル♯１は、画素データ［１１］に基づく大ドットの形成、画素データ［１０］に基づく中ドットの形成、画素データ［０１］に基づく小ドットの形成、画素データ［１１］に基づくドット非形成、を順に行う。
【００４６】
ユニット制御回路６４は、ダブルバッファ６４４の一方のバッファへ画素データを転送した後、メモリ６３から他方のバッファへ次の画素データを転送する。これにより、ダブルバッファ６４４は、上のバッファの第４領域の画素データをヘッド４１へ転送した後、下のバッファの第５領域の画素データをヘッド４１へ転送することが可能である。そして、第４領域の画素データをヘッド４１へ転送した後、ユニット制御回路６４は、メモリ６３からダブルバッファの第１領域〜第４領域へ次の画素データを転送する。このように、ユニット制御回路６４は、ダブルバッファ６４４の２つのバッファに対して、交互に画素データを転送する。
【００４７】
なお、ヘッド４１には色毎にノズル群が設けられており、ダブルバッファ６４４は、ノズル群ごと、すなわち色毎に設けられている。但し、タイミング生成部６４２は、色毎に設けられている複数のダブルバッファ６４４に対して、共通のタイミング生成部を生成する。この結果、各色のノズル群から、共通のタイミングでインク滴が吐出されることになる。
【００４８】
（２）印刷方法
本実施形態では、後述の「オーバーラップ印刷」と呼ばれる印刷方式で印刷が行われる。この「オーバーラップ印刷」の説明を容易にするため、まず「バンド印刷」及び「インターレース印刷」と呼ばれる印刷方式について説明する。
【００４９】
（２−１）バンド印刷（参考例）
図９Ａ及び図９Ｂは、バンド印刷の説明図である。図９Ａは、１回のパスにおけるヘッド（又はノズル）の位置とドットの形成の様子を示し、図９Ｂは、次のパスにおけるヘッドの位置とドットの形成の様子を示している。なお、「パス」とは、移動するノズルからインクを吐出してドットを形成する動作（ドット形成動作）をいう。各パスは、紙を搬送方向に搬送する動作（搬送動作）と交互に行われる。
【００５０】
説明の都合上、複数あるノズル群のうちの一つのノズル群のみを示し、ノズル群のノズル数も少なくしている（ここでは８個）。図中の黒丸で示されるノズルは、インクを吐出可能なノズルである。また、説明の便宜上、ヘッド（又はノズル群）が紙に対して移動しているように描かれているが、同図はヘッドと紙との相対的な位置を示すものであって、実際には紙が搬送方向に移動されている。また、説明の都合上、各ノズルは数ドット（図中の黒丸）しか形成していないように示されているが、実際には、移動方向に移動するノズルから間欠的にインク滴が吐出されるので、移動方向に多数のドットが並ぶことになる。このドットの列をラスタラインともいう。黒丸で示されるドットは、最後のパスで形成されるドットであり、白丸で示されるドットは、それ以前のパスで形成されたドットである。
【００５１】
「バンド印刷」とは、連続するラスタラインを１回のパスで形成する印刷方法を意味する。つまり、バンド印刷では、１回のパスでノズル長さ分のバンド状の画像片が形成される。そして、各パスの間に行われる搬送動作では、紙がノズル長さ分だけ搬送される。そして、各パスと搬送動作とが交互に繰り返されることにより、バンド状の画像片が搬送方向につなぎ合わされて、印刷画像が形成される。  
このバンド印刷では、搬送方向のドット間隔Ｄは、ノズルピッチと同じになり、本実施形態では１８０ｄｐｉである。
【００５２】
（２−２）インターレース印刷（参考例）
図１０Ａ及び図１０Ｂは、インターレース印刷の説明図である。図１０Ａは、パス１〜パス４におけるヘッド（又はノズル群）の位置とドットの形成の様子を示し、図１０Ｂは、パス５におけるヘッドの位置とドットの形成の様子を示している。  
説明の都合上、ここではノズル群のノズル数を１２個にしている。なお、図中の白丸で示されるノズルは、インクを吐出不可のノズルである。
【００５３】
「インターレース印刷」とは、ｋが２以上であって、１回のパスで記録されるラスタラインの間に記録されないラスタラインが挟まれるような印刷方法を意味する。例えば、図中のインターレース印刷では、１回のパスで形成されるラスタラインの間に、３本のラスタラインが挟まれている。
【００５４】
インターレース印刷では、紙が搬送方向に一定の搬送量Ｆで搬送される毎に、各ノズルが、その直前のパスで記録されたラスタラインのすぐ上のラスタラインを記録する。このように搬送量を一定にして記録を行うためには、（１）インクを吐出可能なノズル数Ｎ（整数）はｋと互いに素の関係にあること、（２）搬送量ＦはＮ・Ｄに設定されること、が条件となる。
【００５５】
図中のインターレース印刷では、ノズル群は搬送方向に沿って配列された１２個のノズルを有する。ノズル群のノズルピッチｋは４なので、インターレース印刷を行うための条件である「Ｎとｋが互いに素の関係」を満たすため、全てのノズルは用いずに、１１個のノズル（ノズル♯１〜ノズル♯１１）を用いる。また、１１個のノズルが用いられるため、紙は搬送量１１・Ｄにて搬送される。
【００５６】
このインターレース印刷では、搬送方向のドット間隔Ｄは、ノズルピッチよりも小さくすることができ、本実施形態では７２０ｄｐｉである。つまり、前述のバンド印刷よりも高い品質の印刷画像を形成することができる。
【００５７】
（２−３）オーバーラップ印刷（２パス）
図１１Ａ及び図１１Ｂは、オーバーラップ印刷の説明図である。図１１Ａは、パス１〜パス４におけるヘッドの位置とドットの形成の様子を示し、図１１Ｂは、パス１〜パス８におけるヘッドの位置とドットの形成の様子を示している。
【００５８】
「オーバーラップ印刷」とは、ラスタラインを複数のノズルで形成する印刷方法を意味する。例えば、図中におけるオーバーラップ印刷では、各ラスタラインは、２つのノズルで形成されている。
【００５９】
オーバーラップ印刷では、紙が搬送方向に一定の搬送量Ｆで搬送される毎に、各ノズルが、数ドットおきに間欠的にドットを形成する。そして、他のパスにおいて、他のノズルが既に形成されている間欠的なドットを補完するように（ドットの間を埋めるように）ドットを形成することにより、１つラスタラインが複数のノズルにより形成される。このようにＭ回のパスにて１つのラスタラインが形成される場合、「オーバーラップ数Ｍ」と定義する。図中のオーバーラップ印刷では、１つのラスタラインが２つのノズルにより形成されているので、オーバーラップ数Ｍ＝２になる。
【００６０】
このオーバーラップ印刷では、パス１で各ノズルが奇数画素にドットを形成し、パス２で各ノズルが偶数画素にドットを形成し、パス３で各ノズルが奇数画素にドットを形成し、パス４で各ノズルが偶数画素にドットを形成する。つまり、前半の４回のパスでは、奇数画素−偶数画素−奇数画素−偶数画素の順にドットが形成される。そして、後半の４回のパス（パス５〜パス８）では、前半の４回のパスと逆の順にドットが形成され、偶数画素−奇数画素−偶数画素−奇数画素の順にドットが形成される。なお、パス９以降のドットの形成順は、パス１からのドット形成順と同様である。
【００６１】
オーバーラップ印刷において、搬送量を一定にして記録を行うためには、（１）Ｎ／Ｍが整数であること、（２）Ｎ／Ｍはｋと互いに素の関係にあること、（３）搬送量Ｆが（Ｎ／Ｍ）・Ｄに設定されること、が条件となる。  
図中のオーバーラップ印刷では、ノズル群は搬送方向に沿って配列された１２個のノズルを有する。しかし、ノズル群のノズルピッチｋは４なので、オーバーラップ印刷を行うための条件である「Ｎ／Ｍとｋが互いに素の関係」を満たすために、全てのノズルを用いることはできない。そこで、１２個のノズルのうち、１０個のノズルを用いてオーバーラップ印刷が行われる。また、１０個のノズルが用いられるため、紙は搬送量５・Ｄにて搬送される。
【００６２】
このオーバーラップ印刷では、１つのラスタラインを複数のノズルで形成するので、ノズルによりドット形状にバラツキがあっても、印刷画像の劣化を目立たなくさせることができる（バンド印刷やインターレース印刷では、１つのラスタラインを同じノズルで形成するため、ノズルによりドット形状にバラツキがあると、印刷画像に縞（移動方向に沿う縞）が目立ってしまう）。また、このオーバーラップ印刷でも、搬送方向のドット間隔Ｄは、ノズルピッチよりも小さくすることができ、本実施形態では７２０ｄｐｉである。つまり、前述のインターレース印刷と同様に、前述のバンド印刷よりも高い品質の印刷画像を形成することができる。
【００６３】
図１２Ａ及び図１２Ｂは、図１１Ｂにおいて矢印で示されたラスタラインのドット形成の様子の説明図である。図１２Ａは、パス４のドット形成の様子を示し、図１２Ｂは、パス８のドット形成の様子を示す。  
このラスタラインでは、パス４でノズル♯６が１ドットおきに間欠的にドットを形成し、何回かの搬送動作とパスとを経た後、パス８でノズル♯１がドットを補完するようにドットを形成する。なお、別のラスタラインでは、別の組み合わせの２つのノズル（例えば、ノズル♯７とノズル♯２）により形成される。
【００６４】
（３）ラスタライズ処理について
図１３Ａは、ハーフトーン処理後の画像データの説明図である。ハーフトーン処理後の画像データは、各画素につき２ビットの画素データから構成されている。このため、１バイトにつき４画素分の画素データが収容される。
【００６５】
また、ハーフトーン処理後の画像データは、例えば第１ラスタデータ、第２ラスタデータ、第３ラスタデータ・・・の順に、ラスタデータの順に画素データが並んでいる。なお、「ラスタデータ」とは、ラスタラインに対応する画素データ、すなわち、移動方向に並ぶ複数の画素に対応する複数の画素データのことである。第１ラスタデータは、移動方向に並ぶ画素データの順に並んでいる。例えば、図中の画像データにおける第１ラスタデータは、図中の左から順に、「１１１００１００」、「０１１０１１１０」、「０１０００１１０」、・・・の順に１バイト単位で画素データが並んでいる。
【００６６】
図１３Ｂは、オーバーラップ印刷の場合において、あるパスでドットが形成／非形成される画素の説明図である。図中の星印は、そのパスでドットが形成／非形成される画素を示している。
【００６７】
画像データが７２０ｄｐｉ×７２０ｄｐｉの解像度の場合であって、ノズルピッチが１／１８０インチの場合（言い換えるとｋ＝４の場合）、あるパスの際に、４つのラスタラインにつき１つのラスタラインにドットが形成される。例えば、図中のパスでは、第１ラスタライン、第５ラスタライン、第９ラスタライン・・・にドットが形成される。また、オーバーラップ数Ｍが２の場合、各ノズルは奇数画素又は偶数画素にドットを形成する。図中のパスでは、奇数画素にドットが形成される。
【００６８】
言い換えると、図中のパスでは、星印の付された画素の画素データに基づいて、各ノズルからインク滴が吐出されることになる。但し、図１３Ａと図１３Ｂとを比較して理解できる通り、ハーフトーン処理後の画素データの並び方は、ドットが形成される画素データの並び方と異なっている。そこで、ラスタライズ処理では、ハーフトーン処理後の画素データを印刷順に並び替える処理が行われる。
【００６９】
このラスタライズ処理を更に細かく分けると、「ラスタデータ抽出処理」や「画素データ抽出処理」などがある。「ラスタデータ抽出処理」は、あるパスにおける各ノズルに対応するラスタデータを抽出する処理である。例えば図中のパスの場合、ノズル♯１に対応する第１ラスタデータ、ノズル♯２に対応する第５ラスタデータ、ノズル♯３に対応する第９ラスタデータ・・・が抽出される。「画素データ抽出処理」は、抽出されたラスタデータの中からドット形成処理に必要な画素データを抽出する処理である。例えば図中のパスの場合、抽出されたラスタデータから星印の画素データ（奇数画素の画素データ）が抽出される。
【００７０】
図１４は、画素データ抽出処理に用いられる各種パラメータの説明図である。図中のパスでは、ノズル♯１が第１ラスタラインを形成している（詳しくは、ノズル♯１が第１ラスタラインの奇数画素のドットを形成している）。図中の点線は、画像データの示す画像の領域（以下、「画像データ領域」という）を示している。画像データの示す画像には、平行四辺形、丸及び三角形の塗りつぶし画像が含まれている。
【００７１】
画像データ領域の用紙Ｓ上の位置は、「上オフセット量」及び「左オフセット量」によって定められる。  
「上オフセット量」は、プリンタドライバの設定画面（図３Ｂ参照）で設定される「上のオフセット値」に基づいて設定されるものであり、印刷可能領域の上端位置と画像データ領域の上端位置（第１ラスタラインの位置）との距離を示すものである。もし「上オフセット量」が多くなれば、用紙Ｓに対する画像データ領域が下端側に位置し、用紙Ｓの上端側の余白が多くなる。また、もし「上オフセット量」がゼロであれば、用紙Ｓの外側に画像データ領域が位置し、用紙の上端に余白を形成しないで画像を形成する「縁なし印刷」ができる。  
「左オフセット量」は、プリンタドライバの設定画面（図３Ｂ参照）で設定される「左のオフセット値」に基づいて設定されるものであり、印刷可能領域の左端位置と画像データ領域の左端位置（ラスタデータの左側の画素データの対応する画素の位置）との距離を示すものである。もし「左オフセット量」が多くなれば、用紙Ｓに対する画像データ領域が右側に位置し、用紙Ｓの左側の余白が多くなる。また、もし「左オフセット量」がゼロであれば、用紙Ｓの外側に画像データ領域が位置し、用紙の左端に余白を形成しないで画像を形成する「縁なし印刷」ができる。
【００７２】
ところで、「左オフセット量」で規定された画像データ領域の左端位置から、ドットが形成されるわけではない。例えば、画像データの示す画像の左側に空白を示す画素（空白画素）がある場合、実際にドットが形成される位置は、画像データ領域の左端よりも更に右側になる。例えば、第１ラスタラインを形成する際に、ノズル♯１は、画像データ領域の左端位置から空白画素分だけ右側の位置からドットを形成し始める。
【００７３】
「左オフセット量」は全ラスタデータで共通であるが、左側の空白画素の量はラスタデータ毎に異なる。例えば、ここでの左オフセット量は、１５０画素分（１５０／７２０インチ）であり、全ラスタデータに共通である。一方、左側の空白画素の量は、第１ラスタラインでは１３０画素分であるが、第２ラスタラインでは１３４画素分であり、第１ラスタラインよりも第２ラスタラインの方が多い。
【００７４】
画素データ抽出処理では、上記の左オフセット量やラスタラインの空白画素の量などをパラメータとして、処理が行われる。次に、参考例と本実施形態の「画素データ抽出処理」について、更に詳しく説明する。
【００７５】
（４）参考例の画素データ抽出処理について
（４−１）参考例の画素データ抽出処理の説明
図１５は、参考例の画素データ抽出処理の説明図である。ここでは、図１４に示すパスにおいてノズル♯１からインク滴を吐出するため、第１ラスタデータから画素データを抽出する処理について説明する。
【００７６】
プリンタドライバは、画素データ抽出処理を行う前のラスタデータ抽出処理により、ノズル♯１に対応する第１ラスタデータを取得している。この第１ラスタデータには、左端側に１３０画素分の空白画素の画素データ（２ビットデータが［００］の画素データ）が含まれている。また、プリンタドライバは、ラスタデータとは別に、プリンタドライバの設定画面で設定された左オフセット量の情報も取得している。ここでは、左オフセット量は１５０画素分である。
【００７７】
ところで、プリンタドライバは、左端位置指定コマンドと呼ばれるコマンドを印刷データに含ませることが可能である。この左端位置指定コマンドは、タイミング生成部６４２（図８参照）がダブルバッファ６４４に最初にタイミング信号を出力するタイミングを指示するコマンドである。プリンタドライバは、この左端位置指定コマンドを用いて、印刷可能領域の左端位置から１２８／７２０インチ単位で、すなわち１２８画素単位で、最初のタイミング信号の出力のタイミングを指示することができる。
【００７８】
そこで、プリンタドライバは、１５０画素分の左オフセット量のうちの１２８画素分を左端位置指定コマンドに置き換える。また、プリンタドライバは、残りの２２画素分を空白画素の画素データをラスタデータに組み込む。具体的には、プリンタドライバは、ハーフトーン処理後の第１ラスタデータの左端に、４４ビットの［０］のデータを追加する。これにより、第１ラスタデータには、左端側に１５２画素分の空白画素の画素データが含まれている。そして、このような第１ラスタデータが、コンピュータ１１０のメモリに一旦バッファされる。プリンタドライバは、他のラスタデータに対しても、２２画素分の空白画素の画素データを組み込み、コンピュータ１１０のメモリにバッファする。
【００７９】
プリンタドライバは、メモリにバッファされているラスタデータのうち、左端の空白画素の量が最も少ないラスタデータを選ぶ。ここでは、第１ラスタデータが選ばれるものとする。そして、プリンタドライバは、選ばれたラスタデータの左端の空白画素を、左端位置指定コマンドに置き換え可能か否かを判断する。ここでは、第１ラスタデータの左端に１５２画素分の空白画素があるので、プリンタドライバは、１２８画素が左端位置指定コマンドの１単位分に置き換え可能と判断する。そして、プリンタドライバは、左端位置指定コマンドの１単位分に相当する１２８画素分の空白画素の画素データを、第１ラスタデータから削除する（この結果、第１ラスタデータの左端には２４画素分の空白画素の画素データが残される）。なお、他のラスタデータにも少なくとも１５２画素以上の空白画素があるので、他のラスタデータでも１２８画素分の空白画素の画素データを削除する。
【００８０】
次に、プリンタドライバは、抽出用テーブルを用いて、ラスタデータから奇数画素の画素データを抽出する。
【００８１】
図１６Ａは、奇数画素の画素データを抽出するための抽出用テーブルの説明図である。図１６Ｂは、図１６Ａのデータ抽出用の機能の説明図である。  
図に示す通り、奇数画素の画素データを抽出する抽出用テーブルとして、第１テーブルと第２テーブルとが用意されている。第１テーブル及び第２テーブルとも、１バイトデータに対して１バイトデータが対応付けられており、１バイトデータをキーとして参照すると、１バイトデータが導き出せるように構成されている。また、第１テーブル及び第２テーブルとも、［００００００００］〜［１１１１１１１１］の２５６個のデータに対してそれぞれ１バイトデータが対応付けられている。
【００８２】
第１テーブルには、４画素分の画素データを含む１バイトデータに対して、奇数位置の２画素分の画素データが上位４ビットデータになり、下位４ビットは全てゼロのデータになるような１バイトデータが対応付けられている。例えば、第１テーブルでは、［１１１００１００］という１バイトデータに対して、［１１０１００００］というデータが対応付けられている。  
第２テーブルには、４画素分の画素データを含む１バイトデータに対して、上位４ビットデータは全てゼロになり、奇数位置の２画素分の画素データが下位４ビットデータになるような１バイトデータが対応付けられている。例えば、第２テーブルでは、［１１１００１００］という１バイトデータに対して、［００００１１０１］というデータが対応付けられている。
【００８３】
図１７は、奇数画素の画素データを抽出する様子の説明図である。ここでの第１ラスタデータは、左端に２４画素分の空白画素の画素データの後、「大ドット」→「中ドット」→「小ドット」→「ドットなし」→「小ドット」→「中ドット」→「大ドット」→・・・の順にドットが形成されるような画素データが続くものとする。すなわち、左端から３バイト目までの１バイトデータは［００００００００］であり、４バイト目以降から［１１１００１００］、［０１１０１１１０］、［０１０００１１０］、［１１１００１００］、…の順に１バイトデータが並んでいる。
【００８４】
プリンタドライバは、第１ラスタデータの１バイトデータキーとして、交互に第１テーブル又は第２テーブルを参照する。例えば、プリンタドライバは、図中の第１ラスタデータの５バイト目のデータ「０１１０１１１０」をキーとして第１テーブルを参照して「０１１１００００」を取得した後、次の１バイトデータ「０１０００１１０」をキーとして第２テーブルを参照して「０００００１０１」を取得する。
【００８５】
次に、プリンタドライバは、ある１バイトデータに対する第１テーブルの参照結果と、その１バイトデータと隣接する１バイトデータに対する第２テーブルの参照結果とを加算する。この加算結果の１バイトデータに含まれる４画素分の画素データは、テーブルを参照する前のラスタデータに含まれる奇数画素の４画素分の画素データに相当する。例えば、プリンタドライバは、第１テーブルの参照結果「０１１１００００」と、第２テーブルの参照結果「０００００１０１」とを加算して、「０１１１０１０１」という加算結果を取得する。この加算結果は、第１ラスタデータに含まれる８画素分の画素データ「０１１０１１１０」及び「０１０００１１０」のうちの、奇数画素の４画素分の画素データに相当する。  
プリンタドライバは、このような処理を行うことにより、第１ラスタデータから奇数画素の画素データを抽出する。
【００８６】
第１ラスタデータから抽出された画素データの左端側には、１２画素分の空白画素の画素データの後、「大ドット」→「小ドット」→「小ドット」→「大ドット」→・・・の順にドットが形成されるような画素データが続く。すなわち、左端から１バイト目のデータは［００００００００］であり、次の１バイトデータから［００００１１０１］、［０１１１０１０１］、…の順に１バイトデータが並んでいる。
【００８７】
なお、プリンタドライバは、ハーフトーン処理の後、図１４に示すパスのノズル♯１〜ノズル♯１８０にそれぞれ対応する１８０個のラスタデータを抽出し（ラスタデータ抽出処理）、抽出された各ラスタデータに対して図１５に示す画素データ抽出処理を行う。これにより、図１４に示すパスに必要な画素データが抽出される。そして、プリンタドライバは、抽出された画素データ（ノズル♯１〜ノズル♯１８０にそれぞれ対応する画素データ）に、２単位分の左端位置指定コマンドを付加して、そのパスを行うための印刷データを生成し、この印刷データをプリンタへ送信する。
【００８８】
プリンタ１のユニット制御回路６４は、印刷データに基づいて図１４に示すパスを行う際に、キャリッジ３１が印刷可能領域の左端位置に達したことをリニア式エンコーダ５１からの信号によって検出し、その信号を検出してから左端位置指定コマンドの２単位分に相当する２５６／７２０インチ（２５６画素分）だけキャリッジ３１が移動したタイミングにおいて、タイミング生成部６４２からタイミング信号の生成を開始する。つまり、このタイミングから、奇数画素の画素データに応じて各ノズルからインク滴が吐出・不吐出され始める。但し、最初の１２画素分の奇数画素の画素データが全て［００］なので、印刷可能領域の左端位置から３００／７２０インチ（２５６画素分＋１２画素分（奇数画素）＋１２画素分（偶数画素））までの間ではドットが形成されない。
【００８９】
（４−２）参考例の画素データ抽出処理の問題点
図１５のバッファリング時において、プリンタドライバは、ハーフトーン処理後の第１ラスタデータの左端に、４４ビットの［０］のデータを追加している。但し、画素データは４画素を１単位としているため（１バイトデータを１単位としているため）、４４ビットのデータをハーフトーン処理後の第１ラスタデータの左端に追加するためには、第１ラスタデータをビットシフトする必要が生じる。  
しかし、ラスタデータをビットシフトする演算には負荷がかかる。そこで、いかに説明する本実施形態では、ビットシフトを必要としないように画素データ抽出処理を行っている。
【００９０】
（５）本実施形態の画素データ抽出処理について
（５−１）画素データ抽出処理の説明
図１８は、本実施形態の画素データ抽出処理の説明図である。ここでも、図１４に示すパスにおいてノズル♯１からインク滴を吐出するため、第１ラスタデータから画素データを抽出する処理について説明する。
【００９１】
プリンタドライバは、画素データ抽出処理を行う前のラスタデータ抽出処理により、第１ラスタデータを取得している。この第１ラスタデータには、左端側に１３０画素分の空白画素の画素データ（２ビットデータが［００］の画素データ）が含まれている。また、プリンタドライバは、ラスタデータとは別に、プリンタドライバの設定画面で設定された左オフセット量の情報も取得している。ここでは、左オフセット量は１５０画素分である。これらの点は、前述の参考例と同様である。
【００９２】
次に、プリンタドライバは、１５０画素分の左オフセット量のうちの１２８画素分を左端位置指定コマンドに置き換える。この点も前述の参考例と同様である。但し、残りの２２画素分の空白画素の画素データの取り扱いが、前述の参考例とは異なる。
【００９３】
まず、プリンタドライバは、２２画素分の空白画素の画素データのうち、５バイト分に相当する２０画素分の空白画素の画素データをラスタデータの左端に追加する。空白画素が追加されたラスタデータは、コンピュータ１１０のメモリに一旦バッファされる。プリンタドライバは、他のラスタデータに対しても、５バイト分の空白画素の画素データを組み込み、コンピュータ１１０のメモリにバッファする。なお、５バイト分の空白画素の画素データの追加は、バイト単位のデータの追加なのでビットシフトする演算を必要とせず、演算処理の負荷は軽い。
【００９４】
また、プリンタドライバは、残りの２画素分（１５０画素から１２８画素と２０画素とを引いた残りの２画素分）をずらし量データとして記憶する。このずらし量データは、抽出用テーブルを利用する際に用いられる。この説明は後述する。
【００９５】
次に、プリンタドライバは、メモリにバッファされているラスタデータのうち、左端の空白画素の量が最も少ないラスタデータを選ぶ。ここでは、第１ラスタデータが選ばれるものとする。そして、プリンタドライバは、選ばれたラスタデータの左端の空白画素を、左位置指定コマンドに置き換え可能か否かを判断する。ここでは、第１ラスタデータの左端に１５０画素分の空白画素があるので、プリンタドライバは、１２８画素が左端位置指定コマンドの１単位分に置き換え可能と判断する。そして、プリンタドライバは、左端位置指定コマンドの１単位分に相当する１２８画素分の空白画素の画素データを、第１ラスタデータから削除する（この結果、第１ラスタデータの左端には２２画素分の空白画素の画素データが残される）。この１２８画素分の空白画素の画素データの削除は、バイト単位のデータの処理なので、演算処理の負荷は軽い。なお、他のラスタデータにも少なくとも１５０画素以上の空白画素があるので、プリンタドライバは、他のラスタデータでも１２８画素分の空白画素の画素データを削除する。これらの点は、前述の参考例とほぼ同様である。
【００９６】
次に、プリンタドライバは、前述のずらし量データに基づいて、抽出用テーブルを作成する。
【００９７】
図１９Ａ〜図１９Ｄは、奇数画素の画素データを抽出するための抽出用テーブルの説明図である。図１９Ａは、ずらし量データがゼロの場合の説明図である。図１９Ｂは、ずらし量データが１画素分の場合の説明図である。図１９Ｃは、ずらし量データが２画素分の場合の説明図である。図１９Ｄは、ずらし量データが３画素分の場合の説明図である。
【００９８】
仮に、ずらし量データがゼロであれば、プリンタドライバは、図１９Ａに示す第１テーブル及び第２テーブルを抽出用テーブルとして作成する。そして、前述の参考例と同様に、プリンタドライバは、図１９Ａに示す第１テーブルと第２テーブルとを図１７のように交互に参照し、参照結果に基づいて奇数画素の画素データを抽出する。
【００９９】
また、仮にずらし量データが１画素分であれば、プリンタドライバは、図１９Ｂに示す第１テーブル及び第２テーブルを抽出用テーブルとして作成する。そして、プリンタドライバは、図１９Ｂに示す第１テーブルと第２テーブルとを交互に参照し、参照結果に基づいて画素データを抽出する。但し、第１テーブルでは、４画素分の画素データを含む１バイトデータに対して、偶数位置（奇数位置ではない）の２画素分の画素データが上位４ビットデータになり、下位４ビットデータは全てゼロのデータになるような１バイトデータが対応付けられている。また、第２テーブルでは、４画素分の画素データを含む１バイトデータに対して、上位４ビットデータは全てゼロになり、偶数位置の２画素分の画素データが下位４ビットデータになるような１バイトデータが対応付けられている。この結果、ずらし量データが１画素分の場合、ずらし量データがゼロの場合に抽出される画素データと比較して、１画素分だけずれた位置の画素データが抽出される。
【０１００】
次に、本実施形態の説明では、ずらし量データが２画素分であるので、この場合について詳述する。この場合、プリンタドライバは、図１９Ｃに示す第１テーブル〜第３テーブルを抽出用テーブルとして作成する。
【０１０１】
第１テーブルには、４画素分の画素データを含む１バイトデータに対して、２番目の奇数位置の画素データ（１バイトデータの３桁目及び４桁目の２ビットデータ）が上位２ビットデータになり、下位６ビットデータは全てゼロのデータになるような１バイトデータが対応付けられている。例えば、第１テーブルでは、［１１１００１００］という１バイトデータに対して、［０１００００００］というデータが対応付けられている。
【０１０２】
第２テーブルには、４画素分の画素データを含む１バイトデータに対して、奇数位置の２画素分の画素データが中央のビットデータ（３桁目〜６桁目の４ビットデータ）になり、他のビットデータは全てゼロのデータになるような１バイトデータが対応付けられている。例えば、第２テーブルでは、［１１１００１００］という１バイトデータに対して、［００１１０１００］というデータが対応付けられている。
【０１０３】
第３テーブルには、４画素分の画素データを含む１バイトデータに対して、上位６ビットデータは全てゼロになり、最初の奇数位置の画素データ（１バイトデータの７桁目及び８桁目の２ビットデータ）が下位２ビットデータになるような１バイトデータが対応付けられている。例えば、第３テーブルでは、［１１１００１００］という１バイトデータに対して、［００００００１１］というデータが対応付けられている。
【０１０４】
図２０は、奇数画素の画素データを抽出する様子の説明図である。ここでの第１ラスタデータは、左端に２０画素分の空白画素の画素データの後、「大ドット」→「中ドット」→「小ドット」→「ドットなし」→「小ドット」→「中ドット」→「大ドット」→・・・の順にドットが形成されるような画素データが続くものとする。すなわち、左端から２バイト目のデータは［００００００００］であり、次の１バイトデータから［００００１１１０］、［０１０００１１０］、「１１１００１００」、…の順に１バイトデータが並んでいる。
【０１０５】
プリンタドライバは、第１ラスタデータの１バイトデータをキーとして、第１テーブル〜第３テーブルを繰り返し参照する。例えば、プリンタドライバは、図中の第１ラスタデータの４バイト目のデータ「０１０００１１０」をキーとして第１テーブルを参照して「０１００００００」を取得した後、次の１バイトデータ「１１１００１００」をキーとして第２テーブルを参照して「００１１０１００」を取得し、更に次の１バイトデータ「０１１０１１１０」をキーとして第３テーブルを参照して「０００００００１」を取得する。なお、第３テーブルにより参照された１バイトデータは、次に第１テーブルにより参照される。例えば、プリンタドライバは、上記で第３テーブルにより参照された１バイトデータ「０１１０１１１０」をキーとして、第１テーブルを参照する。このように、プリンタドライバは、第１テーブルと第３テーブルにより参照する１バイトデータを重複させながら、第１テーブル〜第３テーブルを繰り返し参照する。
【０１０６】
なお、第１ラスタデータの左端の最初の１バイト目のデータに対して抽出用テーブルを参照する際には、プリンタドライバは、まずダミーデータをキーとして第１テーブルを参照した後、１バイト目のデータをキーとして第２テーブルを参照し、３バイト目のデータをキーとして第３テーブルを参照する。
【０１０７】
次に、プリンタドライバは、ある１バイトデータに対する第１テーブルの参照結果と、第２テーブルの参照結果と、第３テーブルの参照結果とを加算する。この加算結果の１バイトデータに含まれる４画素分の画素データは、テーブルを参照する前のラスタデータに含まれる奇数画素の４画素分の画素データに相当する。例えば、プリンタドライバは、第１テーブルの参照結果「０１００００００」と、第２テーブルの参照結果「００１１０１００」と、第３テーブルの参照結果「０００００００１」とを加算して、「０１１１０１０１」という加算結果を取得する。この加算結果は、第１ラスタデータに含まれる奇数画素の４画素分の画素データに相当する。  
プリンタドライバは、このような処理を行うことにより、第１ラスタデータから奇数画素の画素データを抽出する。
【０１０８】
第１ラスタデータから抽出された画素データの左端側には、１２画素分の空白画素の画素データの後、「大ドット」→「小ドット」→「小ドット」→「大ドット」→・・・の順にドットが形成されるような画素データが続く。すなわち、左端から１バイト目のデータは［００００００００］であり、次の１バイトデータから［００００１１０１］、［０１１１０１０１］、…の順に１バイトデータが並んでいる。このデータは、図１７に示す抽出後のデータと同じものである。
【０１０９】
なお、説明を省略するが、ずらし量データが３画素分の場合にも、プリンタドライバは、ずらし量データに基づいて抽出用テーブルを作成する。また、偶数画素の画素データをラスタデータから抽出する際にも、プリンタドライバは、ずらし量データに基づいて、偶数画素の画素データを抽出するための抽出用テーブルを作成する。
【０１１０】
（５−２）参考例との比較
参考例も本実施形態でも、１５０画素分の左オフセット量のうちの１２８画素分を左端位置指定コマンドに置き換えている。このとき、２２画素分の余りが生じる。
【０１１１】
前述の参考例では、２２画素分の空白画素の画素データを、ハーフトーン処理後の第１ラスタデータの左端にそのまま追加している。２２画素分の画素データのうちの２０画素分の画素データ（４４ビットデータのうちの４０ビット分のデータ）は、バイト単位で第１ラスタデータの左端に追加することができるが、残りの２画素分の４ビットデータは、１バイトに満たないため、バイト単位で第１ラスタデータに追加することができない。この結果、参考例では４ビット分のビットシフトが必要になるが、ラスタデータをビットシフトする演算には負荷がかかる。
【０１１２】
一方、本実施形態では、２２画素分のうちの２０画素分の空白画素の画素データを追加するだけである。この処理はバイト単位のデータの追加なので、ラスタデータをビットシフトするほどの演算の負荷は生じない。
【０１１３】
但し、本実施形態のバッファリング時のラスタデータは、参考例のバッファリング時のラスタデータと比べて、２画素分だけ左にシフトした画像を示すデータになる。仮に、このまま参考例のような画素データ抽出処理が行われて印刷が行われると、本来ドットを形成すべき位置よりも２画素分だけ左側の位置にドットが形成されてしまう。このため、バッファリング時のラスタデータにより形成されるラスタラインを、２画素分だけ右側にずらす必要がある。
【０１１４】
そこで、本実施形態では、ラスタデータから奇数画素の画素データを抽出する際に、プリンタドライバは、２画素分のずらし量データに基づいて、図１９Ｃに示す抽出用テーブルを作成している。このようにずらし量データがゼロの場合の抽出用テーブルとは異なる抽出用テーブルを作成することによって、すなわち２画素分のずらし量データを反映した抽出用テーブルを作成することによって、最終結果である抽出後のデータが図１７に示すデータと同じものになる。  
つまり、参考例のプリンタドライバは、ビットシフト処理と、抽出用テーブルを用いた奇数画素の画素データの抽出処理とを別々に行っていたが、本実施形態のプリンタドライバは、抽出用テーブルを用いた奇数画素の画素データの抽出処理によって、同様の結果を得ることができる。
【０１１５】
なお、本実施形態のプリンタドライバは、参考例のプリンタドライバと比較すると、抽出用テーブルの作成処理を別途行う必要がある。但し、作成された抽出用テーブルは、ノズル♯１〜ノズル♯１８０に対応する１８０個のラスタデータに対して共通に用いることができる。一方、参考例のビットシフト処理は、１８０個のラスタデータに対してそれぞれ行う必要があり、本実施形態の抽出用テーブルの作成と比べて演算処理の負荷が格段に多い。
【０１１６】
（６）その他
上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更・改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。  
上記の実施形態等では、プリンタ１及びコンピュータ１１０からなる印刷システムを説明した。但し、これに限られるものではなく、プリンタドライバの機能をプリンタ１側に組み込み、プリンタ１側でラスタライズ処理等を行っても良い。この場合、プリンタ１が単体で印刷システムを構成する。  
上記の実施形態等では、１つのラスタラインを２個のノズルで形成するオーバーラップ印刷（Ｍ＝２のオーバーラップ印刷）について説明した。但し、これに限られるものではなく、Ｍ＝４やＭ＝６等のオーバーラップ印刷でもよい。  
上記の実施形態では、図中の左から右にヘッドが移動しながらドットを形成する場合について説明した。但し、これに限られるものではなく、右から左にヘッドが移動しながらドットを形成する場合にも、同種の印刷方法を行うことができる。
【０１１７】
（７）まとめ
（７−１）前述の印刷方法では、複数のラスタライン（ドットラインとも呼ばれる）が紙（媒体の一例）に形成されることによって、印刷画像が媒体に印刷される。各ラスタラインは、ラスタデータに基づいて例えば２回のドット形成動作によって形成されている。各ドット形成動作では、例えばＭ＝２のオーバーラップ印刷の場合、ラスタデータから抽出された奇数画素又は偶数画素の画素データに基づいて、１ドットおきにドットが形成される。  
プリンタドライバやプリンタは、１バイトデータ単位でデータの演算処理等を行っている。各ラスタデータは、複数の１バイトデータから構成されており、１バイトデータには４画素分の画素データが含まれている。そして、オーバーラップ印刷の場合に例えば奇数画素の画素データをラスタデータから抽出する際に、プリンタドライバは、奇数画素を抽出するための抽出用テーブルを用いる。  
ここで、前述の実施形態のバッファリング時のラスタデータは、２画素分だけ左側にシフトした画像を示すデータになっている（図１８参照）。このため、このラスタデータに基づいて形成されるラスタラインは、紙上の位置を右側に２画素分だけずらす必要がある。  
そこで、前述のプリンタドライバは、２画素分のずらし量に基づいて抽出用テーブルを作成する（図１９Ｃ参照）。そして、作成された抽出用テーブルを用いて画素データ抽出処理が行われることにより、ビットシフトの演算を行わなくても、奇数画素の画素データを抽出することができる。
【０１１８】
（７−２）
前述のずらし量は、左オフセット量に基づいて、決定されている。このため、例えば１５０画素分であった左オフセット量が１画素分増えると、２画素分だったずらし量は３画素分に増えることになる。
【０１１９】
（７−３）前述のドット形成動作では、左端位置指定コマンドによって指定された位置から画素データに基づくドットの形成又は非形成が開始される。この左端位置指定コマンドは、１２８／７２０インチ間隔（１２８画素分の間隔）で、最初のタイミング信号の出力タイミングを指定することができるものであり、言い換えると、ラスタラインの位置を指定することができるものである。  
そして、前述のずらし量は、左オフセット量と、左端位置指定コマンドの指定可能な間隔（１２８画素分の間隔）とに基づいて、決定されている。
【０１２０】
（７−４）具体的には、ずらし量は、左オフセット量に相当する１５０画素を、左端位置指定コマンドの指定可能な間隔である１２８画素で割ったときの余りである２２画素に基づいてずらし量が決定される。
【０１２１】
（７−５）余りの２２画素を４画素（１バイトに含まれる画素データの画素数）で割ったときの商は５になる。そこで、プリンタドライバは、空白画素の画素データからなる１バイトデータを５バイト分、ハーフトーン処理後のラスタデータの左端に追加する（図１８のバッファリング時を参照）。この処理は、バイト単位のデータの処理なので、演算処理の負荷は軽い。
【０１２２】
（７−６）また、余りの２２画素を４画素（１バイトに含まれる画素データの画素数）で割ったときの余り２画素分が、ずらし量として決定される。つまり、ずらし量は、１バイトに含まれる画素データの画素数よりも少ない数になる。このため、プリンタドライバが作成すべき抽出用テーブルの数も限られている。
【０１２３】
（７−７）前述のバッファリング時のラスタデータには、空白画素の画素データから構成される単位データが５バイト分（２０画素分）だけ追加されている。このラスタデータに１２８画素分の空白画素を示す画素データが含まれる場合、プリンタドライバは、ラスタデータから１２８画素分の空白画素の画素データを削除し、左端位置指定コマンドを１単位増やしている。このように１２８画素分の空白画素と左端位置指定コマンドの１単位分とを置き換えることによって、画素データ抽出処理の処理対象となるラスタデータのデータ量を減らすことができる。
【０１２４】
（７−８）なお、前述の画素データ抽出処理では、ノズル♯１〜ノズル♯１８０のそれぞれに対応する１８０個のラスタデータから、それぞれ必要な画素データが抽出される。そして、プリンタドライバは、抽出された画素データであって、ノズル♯１〜ノズル♯１８０のそれぞれに対応する画素データに、左端位置指定コマンドを付加して、そのパスを行うための印刷データを生成する。プリンタは、印刷データに含まれる左端位置指定コマンドに基づいて、そのパスが行われる際のタイミング信号の生成の開始を制御し、ノズル♯１〜ノズル♯１８０における画素データに基づくインクの吐出・非吐出を制御する。つまり、左端位置指定コマンドは、ノズル♯１〜ノズル♯１８０におけるドットの形成・非形成が開始される位置を共通に示すものである。
【０１２５】
ところで、画素データ抽出処理に各ノズルに対応するラスタデータがバッファリングされた後、あるラスタデータに１２８画素分の空白画素を示す画素データが含まれるからといって、別のラスタデータでも１２８画素分の空白画素を示す画素データが含まれるとは限られない。そして、あるラスタデータでは１２８画素分の空白画素を示す画素データを削除し、別のラスタデータでは１２８画素分の空白画素を示す画素データを削除しないことにすると、左端位置指定コマンドを各ノズルで共通化することができなくなる。
【０１２６】
そこで、前述の画素データ抽出処理では、空白画素の画素データが最も少ないラスタデータを選択し、そのラスタデータに１２８画素分の空白画素を示す画素データが含まれていないならば、他のラスタデータに１２８画素分の空白画素を示す画素データが含まれていても、プリンタドライバは、１２８画素分の画素データの削除を行わないこととしている。これにより、左端位置指定コマンドを各ノズルで共通化することができ、印刷データのデータ量を削減できる。
【０１２７】
（７−９）前述の本実施形態のプリンタドライバは、参考例のプリンタドライバと比較すると、抽出用テーブルの作成処理を別途行う必要がある。但し、一旦作成された抽出用テーブルは、ノズル♯１〜ノズル♯１８０に対応する１８０個のラスタデータに対して共通に用いることができる。このため、抽出用テーブルの作成のための演算処理の負荷は、全体的には軽減される。
【０１２８】
（７−１０）ビットシフト処理をなくして演算処理の負荷を軽減する方法は、前述の実施形態の全ての構成要素を含む方法に限られるものではない。但し、前述の実施形態の全ての構成要素を含めば、全ての効果を奏することができるので、望ましい。
【図面の簡単な説明】
【０１２９】
【図１】印刷システム１００の構成を説明する図である。
【図２】プリンタドライバが行う基本的な処理の概略的な説明図である。
【図３】図３Ａ及び図３Ｂは、プリンタドライバの設定画面の説明図である。
【図４】プリンタ１の全体構成のブロック図である。
【図５】プリンタ１の全体構成の概略図である。
【図６】プリンタ１の全体構成の断面図である。
【図７】ヘッド４１の下面におけるノズルの配列を示す説明図である。
【図８】ヘッドの制御の説明図である。
【図９】図９Ａ及び図９Ｂは、バンド印刷の説明図である。図９Ａは、１回のパスにおけるヘッド（又はノズル）の位置とドットの形成の様子を示し、図９Ｂは、次のパスにおけるヘッドの位置とドットの形成の様子を示している。
【図１０】図１０Ａ及び図１０Ｂは、インターレース印刷の説明図である。
【図１１】図１１Ａ及び図１１Ｂは、オーバーラップ印刷の説明図である。
【図１２】図１２Ａは、パス４のドット形成の様子を示し、図１２Ｂは、パス８のドット形成の様子を示す。
【図１３】図１３Ａは、ハーフトーン処理後の画像データの説明図である。図１３Ｂは、オーバーラップ印刷の場合において、あるパスでドットが形成／非形成される画素の説明図である。
【図１４】画素データ抽出処理に用いられる各種パラメータの説明図である。
【図１５】、参考例の画素データ抽出処理の説明図である。
【図１６】図１６Ａは、参考例において奇数画素の画素データを抽出するための抽出用テーブルの説明図である。図１６Ｂは、図１６Ａのデータ抽出用の機能の説明図である。
【図１７】参考例において奇数画素の画素データを抽出する様子の説明図である。
【図１８】本実施形態の画素データ抽出処理の説明図である。
【図１９】図１９Ａ〜図１９Ｄは、本実施形態の奇数画素の画素データを抽出するための抽出用テーブルの説明図である。図１９Ａは、ずらし量データがゼロの場合の説明図である。図１９Ｂは、ずらし量データが１画素分の場合の説明図である。図１９Ｃは、ずらし量データが２画素分の場合の説明図である。図１９Ｄは、ずらし量データが３画素分の場合の説明図である。
【図２０】本実施形態において奇数画素の画素データを抽出する様子の説明図である。
【符号の説明】
【０１３０】
１  プリンタ、Ｓ  紙、
２０  搬送ユニット、２１  給紙ローラ、２２  搬送モータ、２３  搬送ローラ、
２４  プラテン、２５  排紙ローラ、
３０  キャリッジユニット、３１  キャリッジ、３２  キャリッジモータ、
４０  ヘッドユニット、４１  ヘッド、
５０  検出器群、５１  リニア式エンコーダ、５２  ロータリー式エンコーダ、
５３  紙検出センサ、５４  光学センサ、
６０  コントローラ、６１  インターフェース部、６２  ＣＰＵ、６３  メモリ、
６４  ユニット制御回路、６４２  タイミング生成部、
６４４  ダブルバッファ、
１１０  コンピュータ、１１２  ビデオドライバ、
１１４  アプリケーションプログラム、１１６  プリンタドライバ、
１２０  表示装置、１３０  入力装置、１４０  記録再生装置
【図１】
2007179462.tif 000003
【図２】
2007179462.tif 000004
【図３】
2007179462.tif 000005
【図４】
2007179462.tif 000006
【図５】
2007179462.tif 000007
【図６】
2007179462.tif 000008
【図７】
2007179462.tif 000009
【図８】
2007179462.tif 000010
【図９】
2007179462.tif 000011
【図１０】
2007179462.tif 000012
【図１１】
2007179462.tif 000013
【図１２】
2007179462.tif 000014
【図１３】
2007179462.tif 000015
【図１４】
2007179462.tif 000016
【図１５】
2007179462.tif 000017
【図１６】
2007179462.tif 000018
【図１７】
2007179462.tif 000019
【図１８】
2007179462.tif 000020
【図１９】
2007179462.tif 000021
【図２０】
2007179462.tif 000022