(57)【要約】【課題】記憶すべきデータ量を軽減する。【解決手段】画像データを構成する複数の画素データの並び順を換えて、印刷データを作成し、前記印刷データに基づいてドット形成処理と搬送処理とを交互に繰り返し、搬送方向に並ぶ複数のドット列を媒体に形成する。ここで、通常印刷の後に下端印刷が行われる際に、前記下端印刷を行わずに前記通常印刷を継続した場合の各ドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置を第１テーブルに記憶し、前記下端印刷を行うあるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、そのドット形成処理を行うための印刷データを作成する【選択図】  図１４
2006264056.tif 000002
【特許請求の範囲】
【請求項１】
印刷制御装置と、印刷装置とを備える印刷システムであって、
印刷制御装置は、画像データを構成する複数の画素データの並び順を換えて、印刷データを作成し、
前記印刷装置は、前記印刷データに基づいて、移動方向に移動する複数のノズルからインクを吐出して媒体に前記移動方向に沿ったドット列を形成するドット形成処理と、前記媒体を前記ノズルに対して搬送方向に搬送する搬送処理と、を交互に繰り返し、前記搬送方向に並ぶ複数の前記ドット列を前記媒体に形成する
印刷システムであって、
前記印刷装置が、媒体の中央部に前記ドット列を形成する通常印刷の後、媒体の下端部に前記ドット列を形成する下端印刷を行う際に、
前記印刷制御装置は、
前記下端印刷を行わずに前記通常印刷を継続した場合の各ドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置を第１テーブルに記憶し、
前記下端印刷を行うあるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、
前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、そのドット形成処理を行うための印刷データを作成する
ことを特徴とする印刷システム。
【請求項２】
請求項１に記載の印刷システムであって、
前記印刷制御装置は、
前記あるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を前記第１テーブルから削除する削除処理を行い、
前記あるドット形成処理の後の他のドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記削除処理の後の前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、
前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、前記他のドット形成処理を行うための印刷データを作成する
ことを特徴とする印刷システム。
【請求項３】
請求項１又は２に記載の印刷システムであって、
前記印刷装置が前記印刷データに基づいて前記あるドット形成処理を行う間、前記印刷装置が、前記あるドット形成処理の後に行われるドット形成処理を行うための印刷データを作成することを特徴とする印刷システム。
【請求項４】
請求項１〜３のいずれかに記載の印刷システムであって、
前記通常印刷を行うドット形成処理の際に、あるノズルが前記移動方向の特定の位置にドットを形成し、前記下端印刷の際に、前記特定の位置に形成されたドットの間を埋めるように他のノズルがドットを形成する場合、
前記印刷制御装置は、前記通常印刷を行うドット形成処理の際の前記あるノズルにより形成される前記ドット列の前記媒体における位置と、前記第２テーブルに記憶された前記位置とを比較して、一致するものがあれば、その位置に、前記移動方向に関する情報を対応付けて、前記第２テーブルに記憶する
ことを特徴とする印刷システム。
【請求項５】
請求項４に記載の印刷システムであって、
前記あるノズルは、前記複数のノズルのうちの前記搬送方向の端部に位置することを特徴とする印刷システム。
【請求項６】
請求項１〜５のいずれかに記載の印刷システムであって、
前記印刷制御装置は、プリンタドライバをインストールしたコンピュータであることを特徴とする印刷システム。
【請求項７】
請求項１〜５のいずれかに記載の印刷システムであって、
前記印刷制御装置及び前記印刷装置は、一体的に設けられていることを特徴とする印刷システム。
【請求項８】
印刷制御装置と、印刷装置とを備える印刷システムであって、
印刷制御装置は、画像データを構成する複数の画素データの並び順を換えて、印刷データを作成し、
前記印刷装置は、前記印刷データに基づいて、移動方向に移動する複数のノズルからインクを吐出して媒体に前記移動方向に沿ったドット列を形成するドット形成処理と、前記媒体を前記ノズルに対して搬送方向に搬送する搬送処理と、を交互に繰り返し、前記搬送方向に並ぶ複数の前記ドット列を前記媒体に形成する
印刷システムであって、
前記印刷装置が、媒体の中央部に前記ドット列を形成する通常印刷の後、媒体の下端部に前記ドット列を形成する下端印刷を行う際に、
前記印刷制御装置は、
前記下端印刷を行わずに前記通常印刷を継続した場合の各ドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置を第１テーブルに記憶し、
前記下端印刷を行うあるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、
前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、そのドット形成処理を行うための印刷データを作成し、
前記印刷制御装置は、
前記あるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を前記第１テーブルから削除する削除処理を行い、
前記あるドット形成処理の後の他のドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記削除処理の後の前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、
前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、前記他のドット形成処理を行うための印刷データを作成し、
前記印刷装置が前記印刷データに基づいて前記あるドット形成処理を行う間、前記印刷装置が、前記あるドット形成処理の後に行われるドット形成処理を行うための印刷データを作成し、
前記通常印刷を行うドット形成処理の際に、あるノズルが前記移動方向の特定の位置にドットを形成し、前記下端印刷の際に、前記特定の位置に形成されたドットの間を埋めるように他のノズルがドットを形成する場合、前記印刷制御装置は、前記通常印刷を行うドット形成処理の際の前記あるノズルにより形成される前記ドット列の前記媒体における位置と、前記第２テーブルに記憶された前記位置とを比較して、一致するものがあれば、その位置に、前記移動方向に関する情報を対応付けて、前記第2テーブルに記憶し、
前記あるノズルは、前記複数のノズルのうちの前記搬送方向の端部に位置し、
前記印刷制御装置は、プリンタドライバをインストールしたコンピュータである
ことを特徴とする印刷システム。
【請求項９】
画像データを構成する複数の画素データの並び順を換えて、印刷データを作成し、
前記印刷データに基づいて、移動方向に移動する複数のノズルからインクを吐出して媒体に前記移動方向に沿ったドット列を形成するドット形成処理と、前記媒体を前記ノズルに対して搬送方向に搬送する搬送処理と、を交互に繰り返し、前記搬送方向に並ぶ複数の前記ドット列を前記媒体に形成する
印刷方法であって、
媒体の中央部に前記ドット列を形成する通常印刷の後、媒体の下端部に前記ドット列を形成する下端印刷が行われる際に、
前記下端印刷を行わずに前記通常印刷を継続した場合の各ドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置を第１テーブルに記憶し、
前記下端印刷を行うあるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、
前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、そのドット形成処理を行うための印刷データを作成する
ことを特徴とする印刷方法。
【請求項１０】
画像データを構成する複数の画素データの並び順を換えて、印刷データを作成し、
前記印刷装置に、前記印刷データに基づいて、移動方向に移動する複数のノズルからインクを吐出して媒体に前記移動方向に沿ったドット列を形成するドット形成処理と、前記媒体を前記ノズルに対して搬送方向に搬送する搬送処理と、を交互に繰り返させて、前記搬送方向に並ぶ複数の前記ドット列を前記媒体に形成させる
印刷制御装置であって、
前記印刷装置に、媒体の中央部に前記ドット列を形成する通常印刷の後、媒体の下端部に前記ドット列を形成する下端印刷を行わせる際に、
前記下端印刷を行わずに前記通常印刷を継続した場合の各ドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置を第１テーブルに記憶し、
前記下端印刷を行うあるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、
前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、そのドット形成処理を行うための印刷データを作成する
ことを特徴とする印刷制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、印刷方法及び印刷制御装置に関する。
【背景技術】
【０００２】
紙などの媒体（布、ＯＨＰシートを含む）に、インクを吐出して印刷を行うインクジェットプリンタが知られている。このようなインクジェットプリンタでは、移動方向に移動する複数のノズルからインクを吐出してドット列を形成するドット形成処理と、紙を搬送方向に搬送する搬送処理とを繰り返し、複数のドット列から構成される画像を紙に印刷している。
【特許文献１】特開平１１−２６８３４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ノズルからインクを吐出するとき、既にドット列が形成されている位置に、重ねてドット列を形成すると、そのドット列が他のドット列と比較して濃く形成されてしまう。そのため、あるドット形成処理において形成可能なドット列の位置と、他のドット形成処理において形成可能なドット列の位置とが同じ場合、一方のドット形成処理において、そのドット列を形成しないようにする必要がある。  
しかし、全てのドット列に対してこのような比較処理をした後に印刷データを作成したのでは、記憶すべきデータ量が多くなってしまう。
【課題を解決するための手段】
【０００４】
上記課題を解決するための主たる発明は、印刷制御装置と、印刷装置とを備える印刷システムであって、印刷制御装置は、画像データを構成する複数の画素データの並び順を換えて、印刷データを作成し、前記印刷装置は、前記印刷データに基づいて、移動方向に移動する複数のノズルからインクを吐出して媒体に前記移動方向に沿ったドット列を形成するドット形成処理と、前記媒体を前記ノズルに対して搬送方向に搬送する搬送処理と、を交互に繰り返し、前記搬送方向に並ぶ複数の前記ドット列を前記媒体に形成する印刷システムであって、前記印刷装置が、媒体の中央部に前記ドット列を形成する通常印刷の後、媒体の下端部に前記ドット列を形成する下端印刷を行う際に、前記印刷制御装置は、前記下端印刷を行わずに前記通常印刷を継続した場合の各ドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置を第１テーブルに記憶し、前記下端印刷を行うあるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、そのドット形成処理を行うための印刷データを作成することを特徴とする。
【０００５】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明を実施するための最良の形態】
【０００６】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【０００７】
印刷制御装置と、印刷装置とを備える印刷システムであって、
印刷制御装置は、画像データを構成する複数の画素データの並び順を換えて、印刷データを作成し、
前記印刷装置は、前記印刷データに基づいて、移動方向に移動する複数のノズルからインクを吐出して媒体に前記移動方向に沿ったドット列を形成するドット形成処理と、前記媒体を前記ノズルに対して搬送方向に搬送する搬送処理と、を交互に繰り返し、前記搬送方向に並ぶ複数の前記ドット列を前記媒体に形成する
印刷システムであって、
前記印刷装置が、媒体の中央部に前記ドット列を形成する通常印刷の後、媒体の下端部に前記ドット列を形成する下端印刷を行う際に、
前記印刷制御装置は、
前記下端印刷を行わずに前記通常印刷を継続した場合の各ドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置を第１テーブルに記憶し、
前記下端印刷を行うあるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、
前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、そのドット形成処理を行うための印刷データを作成する
ことを特徴とする印刷システム。  
このような印刷システムによれば、ドット形成処理毎にテーブルを作成することができるので、記憶すべきデータ量を軽減できる。
【０００８】
かかる印刷システムであって、前記印刷制御装置は、前記あるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を前記第１テーブルから削除する削除処理を行い、前記あるドット形成処理の後の他のドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記削除処理の後の前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、前記他のドット形成処理を行うための印刷データを作成することが望ましい。これにより、印刷制御装置にかかる負荷を軽減できる。
【０００９】
かかる印刷システムであって、前記印刷装置が前記印刷データに基づいて前記あるドット形成処理を行う間、前記印刷装置が、前記あるドット形成処理の後に行われるドット形成処理を行うための印刷データを作成することが望ましい。これにより、印刷終了までの時間が遅くならずに済む。
【００１０】
かかる印刷システムであって、前記通常印刷を行うドット形成処理の際に、あるノズルが前記移動方向の特定の位置にドットを形成し、前記下端印刷の際に、前記特定の位置に形成されたドットの間を埋めるように他のノズルがドットを形成する場合、前記印刷制御装置は、前記通常印刷を行うドット形成処理の際の前記あるノズルにより形成される前記ドット列の前記媒体における位置と、前記第２テーブルに記憶された前記位置とを比較して、一致するものがあれば、その位置に、前記移動方向に関する情報を対応付けて、前記第２テーブルに記憶することが望ましい。これにより、ドット列が２重に形成されることを防ぐことができる。また、前記あるノズルは、前記複数のノズルのうちの前記搬送方向の端部に位置することが好ましい。端部に位置するノズルは、インクの吐出不良になり易いからである。
【００１１】
かかる印刷システムであって、前記印刷制御装置は、プリンタドライバをインストールしたコンピュータであることが望ましい。但し、前記印刷制御装置及び前記印刷装置は、一体的に設けられていても良い。
【００１２】
画像データを構成する複数の画素データの並び順を換えて、印刷データを作成し、
前記印刷データに基づいて、移動方向に移動する複数のノズルからインクを吐出して媒体に前記移動方向に沿ったドット列を形成するドット形成処理と、前記媒体を前記ノズルに対して搬送方向に搬送する搬送処理と、を交互に繰り返し、前記搬送方向に並ぶ複数の前記ドット列を前記媒体に形成する
印刷方法であって、
媒体の中央部に前記ドット列を形成する通常印刷の後、媒体の下端部に前記ドット列を形成する下端印刷が行われる際に、
前記下端印刷を行わずに前記通常印刷を継続した場合の各ドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置を第１テーブルに記憶し、
前記下端印刷を行うあるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、
前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、そのドット形成処理を行うための印刷データを作成する
ことを特徴とする印刷方法。  
このような印刷方法によれば、ドット形成処理毎にテーブルを作成することができるので、記憶すべきデータ量を軽減できる。
【００１３】
画像データを構成する複数の画素データの並び順を換えて、印刷データを作成し、
前記印刷装置に、前記印刷データに基づいて、移動方向に移動する複数のノズルからインクを吐出して媒体に前記移動方向に沿ったドット列を形成するドット形成処理と、前記媒体を前記ノズルに対して搬送方向に搬送する搬送処理と、を交互に繰り返させて、前記搬送方向に並ぶ複数の前記ドット列を前記媒体に形成させる
印刷制御装置であって、
前記印刷装置に、媒体の中央部に前記ドット列を形成する通常印刷の後、媒体の下端部に前記ドット列を形成する下端印刷を行わせる際に、
前記下端印刷を行わずに前記通常印刷を継続した場合の各ドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置を第１テーブルに記憶し、
前記下端印刷を行うあるドット形成処理の際の各ノズルにより形成される前記ドット列の前記媒体における位置と、前記第１テーブルに記憶された前記位置とを比較して、一致するものがあればその位置を第２テーブルに記憶し、
前記第２テーブルに記憶された位置に対応する前記画素データを前記画像データから抽出して、そのドット形成処理を行うための印刷データを作成する
ことを特徴とする印刷制御装置。  
このような印刷制御装置によれば、ドット形成処理毎にテーブルを作成することができるので、記憶すべきデータ量を軽減できる。
【００１４】
＝＝＝印刷システムの構成＝＝＝
次に、印刷システム（コンピュータシステム）の実施形態について、図面を参照しながら説明する。ただし、以下の実施形態の記載には、コンピュータプログラム、及び、コンピュータプログラムを記録した記録媒体等に関する実施形態も含まれている。
【００１５】
図１は、印刷システムの外観構成を示した説明図である。この印刷システム１００は、プリンタ１と、コンピュータ１１０と、表示装置１２０と、入力装置１３０と、記録再生装置１４０とを備えている。プリンタ１は、紙、布、フィルム等の媒体に画像を印刷する印刷装置である。コンピュータ１１０は、プリンタ１と通信可能に接続されており、プリンタ１に画像を印刷させるため、印刷させる画像に応じた印刷データをプリンタ１に出力する。表示装置１２０は、ディスプレイを有し、アプリケーションプログラムやプリンタドライバ等のユーザインタフェースを表示する。入力装置１３０は、例えばキーボード１３０Ａやマウス１３０Ｂであり、アプリケーションプログラムの操作やプリンタドライバの設定等に用いられる。記録再生装置１４０は、例えばフレキシブルディスクドライブ装置１４０ＡやＣＤ−ＲＯＭドライブ装置１４０Ｂが用いられる。
【００１６】
コンピュータ１１０にはプリンタドライバがインストールされている。プリンタドライバは、表示装置１２０にユーザインタフェースを表示させる機能を実現させるほか、アプリケーションプログラムから出力された画像データを印刷データに変換する機能をコンピュータ１１０に実現させるためのプログラムである。このプリンタドライバは、フレキシブルディスクＦＤやＣＤ−ＲＯＭなどの記録媒体（コンピュータ読み取り可能な記録媒体）に記録されている。または、このプリンタドライバは、インターネットを介してコンピュータ１１０にダウンロードすることも可能である。なお、このプログラムは、各種の機能を実現するためのコードから構成されている。
【００１７】
なお、「印刷装置」とは、媒体に画像を印刷する装置を意味し、例えばプリンタ１が該当する。また、「印刷制御装置」とは、印刷装置を制御する装置を意味し、例えば、プリンタドライバをインストールしたコンピュータが該当する。また、「印刷システム」とは、少なくとも印刷装置及び印刷制御装置を含むシステムを意味する。
【００１８】
＝＝＝プリンタドライバ＝＝＝
＜プリンタドライバについて＞
図２は、プリンタドライバが行う基本的な処理の概略的な説明図である。既に説明された構成要素については、同じ符号を付しているので、説明を省略する。
【００１９】
コンピュータ１１０では、コンピュータに搭載されたオペレーティングシステムの下、ビデオドライバ１１２やアプリケーションプログラム１１４やプリンタドライバ１１６などのコンピュータプログラムが動作している。ビデオドライバ１１２は、アプリケーションプログラム１１４やプリンタドライバ１１６からの表示命令に従って、例えばユーザインタフェース等を表示装置１２０に表示する機能を有する。アプリケーションプログラム１１４は、例えば、画像編集などを行う機能を有し、画像に関するデータ（画像データ）を作成する。ユーザは、アプリケーションプログラム１１４のユーザインタフェースを介して、アプリケーションプログラム１１４により編集した画像を印刷する指示を与えることができる。アプリケーションプログラム１１４は、印刷の指示を受けると、プリンタドライバ１１６に画像データを出力する。
【００２０】
プリンタドライバ１１６は、アプリケーションプログラム１１４から画像データを受け取り、この画像データを印刷データに変換し、印刷データをプリンタに出力する。ここで、印刷データとは、プリンタ１が解釈できる形式のデータであって、各種のコマンドデータと画素データとを有するデータである。ここで、コマンドデータとは、プリンタに特定の動作の実行を指示するためのデータである。また、画素データとは、印刷される画像（印刷画像）を構成する画素に関するデータであり、例えば、ある画素に対応する紙上の位置に形成されるドットに関するデータ（ドットの色や大きさ等のデータ）である。
【００２１】
プリンタドライバ１１６は、アプリケーションプログラム１１４から出力された画像データを印刷データに変換するため、解像度変換処理・色変換処理・ハーフトーン処理・ラスタライズ処理などを行う。以下に、プリンタドライバ１１６が行う各種の処理について説明する。
【００２２】
解像度変換処理は、アプリケーションプログラム１１４から出力された画像データ（テキストデータ、イメージデータなど）を、紙に印刷する際の解像度に変換する処理である。例えば、紙に画像を印刷する際の解像度が７２０×７２０ｄｐｉに指定されている場合、アプリケーションプログラム１１４から受け取った画像データを７２０×７２０ｄｐｉの解像度の画像データに変換する。なお、解像度変換処理後の画像データは、ＲＧＢ色空間により表される多階調（例えば２５６階調）のＲＧＢデータである。以下、画像データを解像度変換処理したＲＧＢデータをＲＧＢ画像データと呼ぶ。
【００２３】
色変換処理は、ＲＧＢデータをＣＭＹＫ色空間により表されるＣＭＹＫデータに変換する処理である。なお、ＣＭＹＫデータは、プリンタが有するインクの色に対応したデータである。この色変換処理は、ＲＧＢ画像データの階調値とＣＭＹＫ画像データの階調値とを対応づけたテーブル（色変換ルックアップテーブルＬＵＴ）をプリンタドライバ１１６が参照することによって行われる。この色変換処理により、各画素についてのＲＧＢデータが、インク色に対応するＣＭＹＫデータに変換される。なお、色変換処理後のデータは、ＣＭＹＫ色空間により表される２５６階調のＣＭＹＫデータである。以下、ＲＧＢ画像データを色変換処理したＣＭＹＫデータをＣＭＹＫ画像データと呼ぶ。
【００２４】
ハーフトーン処理は、高階調数のデータを、プリンタが形成可能な階調数のデータに変換する処理である。例えば、ハーフトーン処理により、２５６階調を示すデータが、２階調を示す１ビットデータや４階調を示す２ビットデータに変換される。ハーフトーン処理では、ディザ法・γ補正・誤差拡散法などを利用して、プリンタがドットを分散して形成できるように画素データを作成する。プリンタドライバ１１６は、ハーフトーン処理を行うとき、ディザ法を行う場合にはディザテーブルを参照し、γ補正を行う場合にはガンマテーブルを参照し、誤差拡散法を行う場合は拡散された誤差を記憶するための誤差メモリを参照する。ハーフトーン処理されたデータは、前述のＲＧＢデータと同等の解像度（例えば７２０×７２０ｄｐｉ）を有している。ここでは、ハーフトーン処理されたデータは、各画素につき２ビットのデータから構成される。
【００２５】
ラスタライズ処理は、マトリクス状に配置された画素データから構成される画像データを、プリンタに転送すべきデータ順に並び替える処理である。ラスタライズ処理されたデータは、印刷データに含まれる画素データとして、プリンタに出力される。このラスタライズ処理は、スケジューリングテーブルをプリンタドライバ１１６が参照することによって行なわれる。なお、スケジューリングテーブルについては、後述する。
【００２６】
＝＝＝プリンタの構成＝＝＝
＜インクジェットプリンタの構成について＞
図３は、本実施形態のプリンタ１の全体構成のブロック図である。また、図４Ａは、本実施形態のプリンタ１の全体構成の概略図である。また、図４Ｂは、本実施形態のプリンタ１の全体構成の横断面図である。以下、本実施形態のプリンタの基本的な構成について説明する。
【００２７】
本実施形態のプリンタ１は、搬送ユニット２０、キャリッジユニット３０、ヘッドユニット４０、検出器群５０、及びコントローラ６０を有する。外部装置であるコンピュータ１１０から印刷データを受信したプリンタ１は、コントローラ６０によって各ユニット（搬送ユニット２０、キャリッジユニット３０、ヘッドユニット４０）を制御する。コントローラ６０は、コンピュータ１１０から受信した印刷データに基づいて、各ユニットを制御し、紙に画像を印刷する。プリンタ１内の状況は検出器群５０によって監視されており、検出器群５０は、検出結果をコントローラ６０に出力する。コントローラ６０は、検出器群５０から出力された検出結果に基づいて、各ユニットを制御する。
【００２８】
搬送ユニット２０は、媒体（例えば、紙Ｓなど）を印刷可能な位置に送り込み、印刷時に所定の方向（以下、搬送方向という）に所定の搬送量で紙を搬送させるためのものである。すなわち、搬送ユニット２０は、紙を搬送する搬送機構（搬送手段）として機能する。搬送ユニット２０は、給紙ローラ２１と、搬送モータ２２（ＰＦモータとも言う）と、搬送ローラ２３と、プラテン２４と、排紙ローラ２５とを有する。ただし、搬送ユニット２０が搬送機構として機能するためには、必ずしもこれらの構成要素を全て必要とするわけではない。給紙ローラ２１は、紙挿入口に挿入された紙をプリンタ内に給紙するためのローラである。給紙ローラ２１は、Ｄ形の断面形状をしており、円周部分の長さは搬送ローラ２３までの搬送距離よりも長く設定されているので、この円周部分を用いて紙を搬送ローラ２３まで搬送できる。搬送モータ２２は、紙を搬送方向に搬送するためのモータであり、例えばＤＣモータにより構成される。搬送ローラ２３は、給紙ローラ２１によって給紙された紙Ｓを印刷可能な領域まで搬送するローラであり、搬送モータ２２によって駆動される。プラテン２４は、印刷中の紙Ｓを支持する。排紙ローラ２５は、紙Ｓをプリンタの外部に排出するローラであり、印刷可能な領域に対して搬送方向下流側に設けられている。この排紙ローラ２５は、搬送ローラ２３と同期して回転する。
【００２９】
キャリッジユニット３０は、ヘッドを所定の方向（以下、移動方向という）に移動（「走査」とも呼ばれる）させるためのものである。キャリッジユニット３０は、キャリッジ３１と、キャリッジモータ３２（ＣＲモータとも言う）とを有する。キャリッジ３１は、移動方向に往復移動可能である。（これにより、ヘッドが移動方向に沿って移動する。）また、キャリッジ３１は、インクを収容するインクカートリッジを着脱可能に保持している。キャリッジモータ３２は、キャリッジ３１を移動方向に移動させるためのモータであり、例えばＤＣモータにより構成される。
【００３０】
ヘッドユニット４０は、紙にインクを吐出するためのものである。ヘッドユニット４０は、ヘッド４１を有する。ヘッド４１は、複数のノズルを有し、各ノズルから断続的にインクを吐出する。このヘッド４１は、キャリッジ３１に設けられている。そのため、キャリッジ３１が移動方向に移動すると、ヘッド４１も移動方向に移動する。そして、ヘッド４１が移動方向に移動中にインクを断続的に吐出することによって、移動方向に沿ったドットライン（ラスタライン）が紙に形成される。
【００３１】
検出器群５０には、リニア式エンコーダ５１、ロータリー式エンコーダ５２、紙検出センサ５３、および光学センサ５４等が含まれる。リニア式エンコーダ５１は、キャリッジ３１の移動方向の位置を検出するためのものである。ロータリー式エンコーダ５２は、搬送ローラ２３の回転量を検出するためのものである。紙検出センサ５３は、印刷される紙の先端の位置を検出するためのものである。この紙検出センサ５３は、給紙ローラ２１が搬送ローラ２３に向かって紙を給紙する途中で、紙の先端の位置を検出できる位置に設けられている。なお、紙検出センサ５３は、機械的な機構によって紙の先端を検出するメカニカルセンサである。詳しく言うと、紙検出センサ５３は搬送方向に回転可能なレバーを有し、このレバーは紙の搬送経路内に突出するように配置されている。そのため、紙の先端がレバーに接触し、レバーが回転させられるので、紙検出センサ５３は、このレバーの動きを検出することによって、紙の先端の位置を検出する。光学センサ５４は、キャリッジ３１に取付けられている。光学センサ５４は、発光部から紙に照射された光の反射光を受光部が検出することにより、紙の有無を検出する。そして、光学センサ５４は、キャリッジ３１によって移動しながら紙の端部の位置を検出し、紙の幅を検出することができる。また、光学センサ５４は、状況に応じて、紙の先端（搬送方向下流側の端部であり、上端ともいう）・後端（搬送方向上流側の端部であり、下端ともいう）も検出できる。光学センサ５４は、光学的に紙の端部を検出するため、機械的な紙検出センサ５３よりも、検出精度が高い。
【００３２】
コントローラ６０は、プリンタの制御を行うための制御ユニット（制御手段）である。コントローラ６０は、インターフェース部６１と、ＣＰＵ６２と、メモリ６３と、ユニット制御回路６４とを有する。インターフェース部６１は、外部装置であるコンピュータ１１０とプリンタ１との間でデータの送受信を行うためのものである。ＣＰＵ６２は、プリンタ全体の制御を行うための演算処理装置である。メモリ６３は、ＣＰＵ６２のプログラムを格納する領域や作業領域等を確保するためのものであり、ＲＡＭ、ＥＥＰＲＯＭ等の記憶手段を有する。ＣＰＵ６２は、メモリ６３に格納されているプログラムに従って、ユニット制御回路６４を介して各ユニットを制御する。
【００３３】
＜印刷動作について＞
図５は、印刷時の処理のフロー図である。以下に説明される各処理は、コントローラ６０が、メモリ６３内に格納されたプログラムに従って、各ユニットを制御することにより実行される。このプログラムは、各処理を実行するためのコードを有する。
【００３４】
印刷命令受信（Ｓ００１）：まず、コントローラ６０は、コンピュータ１１０からインターフェース部６１を介して、印刷命令を受信する。この印刷命令は、コンピュータ１１０から送信される印刷データのヘッダに含まれている。そして、コントローラ６０は、受信した印刷データに含まれる各種コマンドの内容を解析し、各ユニットを用いて、以下の給紙処理・搬送処理・ドット形成処理等を行う。
【００３５】
給紙処理（Ｓ００２）：給紙処理とは、印刷すべき紙をプリンタ内に供給し、印刷開始位置（頭出し位置とも言う）に紙を位置決めする処理である。コントローラ６０は、給紙ローラ２１を回転させ、印刷すべき紙を搬送ローラ２３まで送る。続いて、コントローラ６０は、搬送ローラ２３を回転させ、給紙ローラ２１から送られてきた紙を印刷開始位置に位置決めする。紙が印刷開始位置に位置決めされたとき、ヘッド４１の少なくとも一部のノズルは、紙と対向している。
【００３６】
ドット形成処理（Ｓ００３）：ドット形成処理とは、移動方向に沿って移動するヘッドからインクを断続的に吐出させ、紙上にドットを形成する処理である。コントローラ６０は、キャリッジモータ３２を駆動し、キャリッジ３１を移動方向に移動させる。そして、コントローラ６０は、キャリッジ３１が移動している間に、印刷データに基づいてヘッドからインクを吐出させる。ヘッド４１から吐出されたインク滴が紙上に着弾すれば、紙上にドットが形成される。移動するヘッド４１からインクが断続的に吐出されるので、紙上には移動方向に沿った複数のドットからなるドット列（ラスタライン）が形成される。
【００３７】
搬送処理（Ｓ００４）：搬送処理とは、紙をヘッドに対して搬送方向に沿って相対的に移動させる処理である。コントローラ６０は、搬送モータを駆動し、搬送ローラを回転させて紙を搬送方向に搬送する。この搬送処理により、ヘッド４１は、先ほどのドット形成処理によって形成されたドットの位置とは異なる位置に、ドットを形成することが可能になる。
【００３８】
排紙判断（Ｓ００５）：コントローラ６０は、印刷中の紙の排紙の判断を行う。印刷中の紙に印刷すべきデータが残っていれば、排紙は行われない。そして、コントローラ６０は、印刷すべきデータがなくなるまで、ドット形成処理と搬送処理とを交互に繰り返し、ドットから構成される画像を徐々に紙に印刷する。
【００３９】
排紙処理（Ｓ００６）：印刷中の紙に印刷すべきデータがなくなれば、コントローラ６０は、排紙ローラを回転させることにより、その紙を排紙する。なお、排紙を行うか否かの判断は、印刷データに含まれる排紙コマンドに基づいても良い。
【００４０】
印刷終了判断（Ｓ００７）：次に、コントローラ６０は、印刷を続行するか否かの判断を行う。次の紙に印刷を行うのであれば、印刷を続行し、次の紙の給紙処理を開始する。次の紙に印刷を行わないのであれば、印刷動作を終了する。
【００４１】
＜ノズルについて＞
図６は、ヘッド４１の下面におけるノズルの配列を示す説明図である。ヘッド４１の下面には、ブラックインクノズル群Ｋと、シアンインクノズル群Ｃと、マゼンタインクノズル群Ｍと、イエローインクノズル群Ｙが形成されている。各ノズル群は、各色のインクを吐出するための吐出口であるノズルを複数個（本実施形態では１８０個）備えている。
【００４２】
各ノズル群の複数のノズルは、搬送方向に沿って、一定の間隔（ノズルピッチ：ｋ・Ｄ）でそれぞれ整列している。ここで、Ｄは、搬送方向における最小のドットピッチ（つまり、紙Ｓに形成されるドットの最高解像度での間隔）である。また、ｋは、１以上の整数である。例えば、ノズルピッチが１８０ｄｐｉ（１／１８０インチ）であって、搬送方向のドットピッチが５４０ｄｐｉ（１／５４０インチ）である場合、ｋ＝３である。
【００４３】
各ノズル群のノズルは、下流側のノズルほど小さい数の番号が付されている（♯１〜♯１８０）。つまり、ノズル♯１は、ノズル♯１８０よりも搬送方向の下流側に位置している。なお、前述の光学センサ５４は、紙搬送方向の位置に関して、一番上流側にあるノズル♯１８０とほぼ同じ位置にある。  
各ノズルには、それぞれインクチャンバー（不図示）と、ピエゾ素子が設けられている。ピエゾ素子の駆動によってインクチャンバーが伸縮・膨張し、ノズルからインク滴が吐出される。
【００４４】
＝＝＝第１実施形態の印刷方式＝＝＝
＜インターレース印刷（通常印刷）＞
図７Ａ及び図７Ｂは、インターレース印刷の説明図である。図７Ａは、パス１〜パス５におけるヘッド（又はノズル群）の位置とドットの形成の様子を示し、図７Ｂは、パス１〜パス６におけるヘッドの位置とドットの形成の様子を示している。
【００４５】
説明の都合上、複数あるノズル群のうちの一つのノズル群のみを示し、ノズル群のノズル数も少なくしている（ここでは６個）。図中の黒丸で示されるノズルは、インクを吐出可能なノズルである。一方、白丸で示されるノズルは、インクを吐出不可のノズルである。また、説明の便宜上、ヘッド（又はノズル群）が紙に対して移動しているように描かれているが、同図はヘッドと紙との相対的な位置を示すものであって、実際には紙が搬送方向に移動されている。また、説明の都合上、各ノズルは数ドット（図中の丸印）しか形成していないように示されているが、実際には、移動方向に移動するノズルから断続的にインク滴が吐出されるので、移動方向に多数のドットが並ぶことになる。このドット列を「ラスタライン」ともいう。黒丸で示されるドットは、最後のパスで形成されるドットであり、白丸で示されるドットは、それ以前のパスで形成されたドットである。なお、「パス」とは、移動するノズルからインクを吐出して、ドットを形成する処理（ドット形成処理）をいう。各パスは、紙を搬送方向に搬送する処理（搬送処理）と交互に行われる。
【００４６】
「インターレース印刷」とは、ｋが２以上であって、１回のパスで記録されるラスタラインの間に記録されないラスタラインが挟まれるような印刷方法を意味する。例えば、図７Ａ及び図７Ｂにおける印刷方法では、１回のパスで形成されるラスタラインの間に、２本のラスタラインが挟まれている。
【００４７】
インターレース印刷では、紙が搬送方向に一定の搬送量Ｆで搬送される毎に、各ノズルが、その直前のパスで記録されたラスタラインのすぐ上のラスタラインを記録する。このように搬送量を一定にして記録を行うためには、（１）インクを吐出可能なノズル数Ｎ（整数）はｋと互いに素の関係にあること、（２）搬送量ＦはＮ・Ｄに設定されること、が条件となる。
【００４８】
同図では、ノズル群は搬送方向に沿って配列された６個のノズルを有する。ノズル群のノズルピッチｋは３なので、インターレース印刷を行うための条件である「Ｎとｋが互いに素の関係」を満たすため、全てのノズルは用いずに、５個のノズル（ノズル♯１〜ノズル♯５）を用いる。また、５個のノズルが用いられるため、紙は搬送量５・Ｄにて搬送される。その結果、１８０ｄｐｉ（３・Ｄ）のノズルピッチのノズル群を用いて、５４０ｄｐｉ（＝Ｄ）のドット間隔にて紙にドットが形成される。（なお、実際のノズル数は６個よりも多いので、インクを吐出可能なノズル数Ｎも、搬送量Ｆも、これより多くなる。）
同図は、最初のラスタラインをパス１のノズル♯１が形成し、２番目のラスタラインをパス１のノズル♯２が形成し、３番目のラスタラインをパス２のノズル♯１が形成し、４番目のラスタラインをパス１のノズル♯３が形成する様子を示している。そして、５番目以降のラスタラインから、搬送方向に連続するラスタラインが形成される。
【００４９】
＜上端印刷及び下端印刷について＞
上記のようなインターレース印刷が最初から行われると、一部のラスタラインが連続して形成されないことがある。例えば、図７Ａや図７Ｂにおいて、１番目、２番目、３番目及び４番目の搬送方向下流側のラスタラインは、搬送方向に連続するラスタラインとして形成されていない。そこで、プリンタは、以下に説明するような「上端印刷」を行うことにより、搬送方向に連続するラスタラインを形成する。
【００５０】
また、インターレース印刷を最後に終えると、一部のラスタラインが連続して形成されないことがある。例えば、図７Ａや図７Ｂにおいて、搬送方向上流側のラスタラインは、搬送方向に連続するラスタラインとして形成されていない。そこで、プリンタは、インターレース印刷を行った後、以下に説明するような「下端印刷」を行うことにより、搬送方向に連続するラスタラインを形成する。
【００５１】
図８は、上端印刷及び下端印刷の説明図である。  
同図において、パス１〜パス３までが上端印刷であり、パス４〜パス９までが通常印刷（インターレース印刷）であり、パス１０〜パス１２までが下端印刷である。上端印刷では、パス１とパス２との間の搬送処理における搬送量、及び、パス２とパス３との間の搬送処理における搬送量を、Ｄとする。また、下端印刷では、パス１０とパス１１との間の搬送処理における搬送量、及び、パス１１とパス１２との間の搬送処理における搬送量を、Ｄとする。
【００５２】
上端印刷を行うことにより、１番目のラスタラインから搬送方向に連続するラスタラインを形成することができる。また、下端印刷を行うことにより、最後のラスタラインまで搬送方向に連続するラスタラインを形成することができる。
【００５３】
なお、図中の「上端印刷領域」とは、搬送方向最下流のラスタラインから、上端印刷により形成されるラスタラインのうちの搬送方向最上流のラスタラインまでの領域を指す。ここでの上端印刷領域は、１番目のラスタラインから１５番目のラスタラインまでの領域である。また、図中の「下端印刷領域」とは、下端印刷により形成されるラスタラインのうちの搬送方向最下流のラスタラインから、搬送方向最上流のラスタラインまでの領域を指す。ここでの下端印刷領域は、３８番目のラスタラインから５２番目のラスタラインまでの領域である。また、図中の「通常印刷領域」とは、上端印刷領域と下端印刷領域との間の領域を指す。ここでの通常印刷は、１６番目のラスタラインから３７番目のラスタラインまでの領域である。この通常印刷領域の全てのラスタラインは、通常印刷（通常のインターレース印刷）により形成される。一方、上端印刷領域には、上端印刷で形成されたラスタラインだけではなく、通常印刷で形成されたラスタラインも混在している。下端印刷領域にも、下端印刷で形成されたラスタラインだけではなく、通常印刷で形成されたラスタラインが混在している。
【００５４】
＜不吐出ノズルについて＞
ところで、通常印刷ではノズル♯１〜ノズル♯５がインク吐出可能にもかかわらず、上端印刷のパス１のノズル♯５は、インク吐出不可である。仮にパス１のノズル♯５からインクを吐出して１３番目のラスタラインを形成すると、パス５のノズル♯１が同じラスタラインを形成するので、１３番目のラスタラインが２重に形成されてしまい、他のラスタラインと比べて濃く形成されてしまうからである。ここで、パス５のノズル♯１の方を不吐出ノズルにする方法もあるが、本実施形態では、通常のインターレース印刷を行うパス５のノズル♯１を優先し、パス１のノズル♯５の方を不吐出ノズルとしている。このように、上端印刷を行うパスのノズルよりも、通常のインターレース印刷を行うパスのノズルを優先することにより、通常のインターレース印刷により形成されるラスタラインが多くなり、印刷画像の画質が向上する。
【００５５】
同様に、パス２のノズル♯３〜ノズル♯５は、それぞれ８番目、１１番目及び１４番目のラスタラインを形成可能な位置にあるが、パス４のノズル♯１〜ノズル♯３と同じラスタラインを形成することになるので、インクを吐出しない。また、下端印刷でも同様に、パス１１のノズル♯１〜ノズル♯３、及び、パス１２のノズル♯１もインクを吐出しない。
【００５６】
上記の通り、上端印刷や下端印刷を行うと、インクを吐出すべきでないノズルが出現する。このため、プリンタドライバは、不吐出ノズルを決定する必要がある。
【００５７】
＝＝＝第１参考例＝＝＝
第１参考例の印刷方法では、まず、プリンタドライバは、スケジューリングテーブルを作成する。このスケジューリングテーブルは、ラスタラインの位置と、そのラスタラインを形成するノズルとを対応づけたテーブルである。そして、プリンタドライバは、このスケジューリングテーブルに基づいて、ラスタライズ処理を行い、どのノズルからインクを吐出するか（どのノズルを不吐出ノズルにするか）を決定する。  
以下に、第１参考例の印刷方法を順に説明する。但し、ここでは説明の簡略化のため、下端印刷の説明を省略し、上端印刷について説明する。
【００５８】
＜スケジューリングテーブルの作成について＞
第１参考例では、プリンタドライバは、スケジューリングテーブルを作成する際に、実際の印刷時と同じように、ヘッド（仮想ヘッド）を紙に対して仮想的に移動させる。そして、プリンタドライバは、ヘッドの各ノズルの位置とラスタラインの位置とを対応づけることによって、スケジューリングテーブルを作成する。
【００５９】
図９Ａは、仮想印刷の説明図である。図９Ｂは、仮想印刷の条件を設定するためのパラメータの説明図である。これら仮想印刷のパラメータは、印刷モードと紙サイズとに基づいて、決定される。
【００６０】
仮想印刷１では、実際の上端印刷と同じように、ヘッドを紙に対して仮想的に移動させる。すなわち、上端印刷を行うヘッドのノズル間ピッチｋは３になる。また、仮想印刷１におけるパス１とパス２との間の搬送処理の搬送量Ｆは、１・Ｄである。また、仮想ヘッドの先頭ノズルは♯１とし、最終ノズルを♯５とする。なお、ここでは、プリンタドライバは、不吐出ノズルの存在を考慮しない。また、仮想印刷１の最初のパス（パス１）の先頭ノズル（ノズル♯１）の位置Ｌｓは、１番目のラスタラインの搬送方向の位置と同じである。また、仮想印刷１の最後のパス（パス２）の先頭ノズル（ノズル♯１）の位置Ｌｆは、２番目のラスタラインの搬送方向の位置と同じである。
【００６１】
仮想印刷２では、実際のインターレース印刷と同じように、ヘッドを紙に対して仮想的に移動させる。前述の仮想印刷１とは異なり、搬送量Ｆは、５・Ｄである。また、仮想印刷２の最初のパス（パス３）の先頭ノズル（ノズル♯１）の位置Ｌｓは、３番目のラスタラインの搬送方向の位置と同じである。また、仮想印刷２の最後のパス（パス６）の先頭ノズル（ノズル♯１）の位置Ｌｆは、１８番目のラスタラインの搬送方向の位置と同じである。
【００６２】
図１０は、第１参考例のスケジューリングテーブルの作成のフロー図である。図１１Ａ〜図１１Ｅは、第１参考例のスケジューリングテーブルの説明図である。このスケジューリングテーブルは、コンピュータ側のメモリに記憶される。なお、プリンタドライバは、前述の仮想印刷のパラメータを用いて、スケジューリングテーブル作成処理を実行する。
【００６３】
まず、プリンタドライバは、仮想印刷番号Ｐを初期化する（Ｓ１０１）。これにより、プリンタドライバは、仮想印刷１の条件として設定されているパラメータをメモリから読み出す。
【００６４】
次に、プリンタドライバは、読み出されたパラメータに基づいて、開始ノズルの位置を設定する（Ｓ１０２）。第１参考例では、まず、ノズル♯１の位置が「１」（詳しくは、１番目のラスタラインの搬送方向の位置）に設定される。
【００６５】
次に、プリンタドライバは、ノズル番号ｉを初期化し、ｉ＝１に設定する（Ｓ１０３）。
【００６６】
次に、プリンタドライバは、ノズル♯ｉの位置Ｌを算出する（Ｓ１０４）。ノズル♯ｉの位置は、ノズルピッチｋ、搬送量Ｆ、ノズル番号ｉ、開始位置Ｌｓ等から算出される。最初、ノズル♯１の位置は、開始位置Ｌｓと同じく「１」に設定される。
【００６７】
次に、プリンタドライバは、位置「１」が既にスケジューリングテーブルに登録されているか否かを判断する（Ｓ１０５）。最初、スケジューリングテーブルには未だ何も登録されていないので、この判断は、「ＮＯ」になる。
【００６８】
次に、プリンタドライバは、位置「１」とノズル♯１とを対応づけて、スケジューリングテーブルに登録する（Ｓ１０６）。
【００６９】
プリンタドライバは、ノズル♯ｉが最終ノズルか否かを判断する（Ｓ１０７）。最終ノズルの情報は、前述の仮想印刷のパラメータに設定されている。最初、ノズル♯１は最終ノズルではないので、この判断は、「ＮＯ」になる。
【００７０】
プリンタドライバは、次のノズルに関する処理を行うため、ノズル番号ｉをインクリメントする（Ｓ１０８）。ここでは、ノズル番号が「１」から「２」にインクリメントされる。
【００７１】
そして、プリンタドライバは、上記のＳ１０４〜Ｓ１０７の処理を繰り返し、ノズル♯２〜ノズル♯５について、位置Ｌとノズル番号とを対応づけたスケジューリングテーブルを作成する。
【００７２】
図１１Ａは、このときまでにプリンタドライバが作成したスケジューリングテーブルの説明図である。このときのスケジューリングテーブルには、仮想的なパス１における各ノズルと各ノズルの位置とが対応づけられている。
【００７３】
最終ノズル（ノズル♯５）になるまでＳ１０４〜Ｓ１０７の処理を繰り返し、Ｓ１０７で「ＹＥＳ」になったとき、プリンタドライバは、先頭ノズル（♯１）が終了位置Ｌｆに達したか否かを判断する。最初、ノズル♯１の位置は開始位置Ｌｓと同じく「１」なので、この判断は、「ＮＯ」になる。
【００７４】
次に、プリンタドライバは、先頭ノズルの位置を、現在の位置から搬送量Ｆを加算した位置にする。これにより、ヘッドの位置が、仮想的に紙に対して搬送量Ｆだけ移動する。最初、この処理によって、先頭ノズルの位置が、位置「１」から位置「２」に移動する。これにより、仮想的なパス１に関するスケジューリングテーブルの作成が終了し、仮想的なパス２に関するスケジューリングテーブルの作成がスタートする。
【００７５】
そして、プリンタドライバは、ノズル番号ｉを初期化し（Ｓ１０３）、上記のＳ１０４〜Ｓ１０７の処理を繰り返し、ノズル♯１〜ノズル♯５について、位置Ｌとノズル番号とを対応づけたスケジューリングテーブルを作成する。
【００７６】
図１１Ｂは、このときまでにプリンタドライバが作成したスケジューリングテーブルの説明図である。このときのスケジューリングテーブルには、仮想的なパス１及びパス２における各ノズルと各ノズルの位置とが対応づけられている。
【００７７】
仮想的なパス２に関するスケジューリングテーブルの作成が終了した後、プリンタドライバは、先頭ノズル（♯１）が終了位置Ｌｆに達したか否かを判断する。ここでは、先頭ノズルであるノズル♯１は終了位置「２」に達しているので、この判断は、「ＹＥＳ」になる。
【００７８】
プリンタドライバは、次の仮想印刷に関する処理を行うため、仮想印刷番号Ｐをインクリメントする（Ｓ１１２）。ここでは、仮想印刷番号が「１」から「２」にインクリメントされる。そして、プリンタドライバは、仮想印刷２の条件として設定されているパラメータをメモリから読み出し、前述の仮想印刷１と同様に、ノズルの位置とそのノズルの番号との関係をスケジューリングテーブルに登録する。なお、図１１Ｃは、仮想印刷２の最初のパスのノズル♯１〜♯５について、位置Ｌとノズル番号とを対応づけて登録したときのスケジューリングテーブルの説明図である（言い換えると、同図は、Ｐ＝２において最初にＳ１０９の処理を行う際のスケジューリングテーブルの説明図である）。
【００７９】
仮想印刷２において搬送量Ｆにて仮想的にヘッド位置を１回移動すると、ノズル♯１の位置は「８」になる（Ｓ１０４）。
【００８０】
但し、スケジューリングテーブルには、既に、位置「８」とノズル番号「３」とを対応づけた情報が記憶されている。そのため、Ｓ１０５において、プリンタドライバは、「ＹＥＳ」と判断する。そして、プリンタドライバは、スケジューリングテーブルの位置「８」に対応するノズル番号「３」を、ノズル番号「１」に上書き登録する。つまり、この上書き登録によって、仮想印刷１に関する処理の際に登録された位置「８」とノズル番号「３」とを対応づけた情報（図１１Ｂ参照）が、スケジューリングテーブルから消去される。代わりに、位置「８」とノズル番号「１」とを対応づけた情報がスケジューリングテーブルに登録される。
【００８１】
同様に、スケジューリングテーブルには、既に、仮想印刷１に関する処理の際に、位置「１１」とノズル番号「４」とを対応づけた情報が記憶されている。この情報は、仮想印刷２に関する処理において、位置「１１」とノズル番号「２」とを対応づけた情報に上書きされる。また、スケジューリングテーブルには、既に、仮想印刷１に関する処理の際に、位置「１４」とノズル番号「５」とを対応づけた情報が記憶されている。この情報は、仮想印刷２に関する処理において、位置「１４」とノズル番号「３」とを対応づけた情報に上書きされる。
【００８２】
なお、このときのノズル♯４の位置「１７」は、未だスケジューリングテーブルには登録されていない。同様に、ノズル♯５の位置「２０」も、未だスケジューリングテーブルには登録されていない。このため、Ｓ１０５において「ＮＯ」と判断され、これらの位置とノズルとを対応づけた情報は、スケジューリングテーブルに追加登録される。
【００８３】
図１１Ｄは、仮想印刷２の２度目のパスのノズル♯１〜ノズル♯５について、位置Ｌとノズル番号とを対応づけて登録したときのスケジューリングテーブルの説明図である。同図において、太線で示された枠内の情報は、上書きにより登録された情報である。
【００８４】
次に、プリンタドライバは、先頭ノズルの位置を現在の位置から搬送量Ｆを加算した位置にし、仮想印刷２の３度目のパスに関する処理を行う。このとき、ノズル♯１の位置は、「１３」になる。スケジューリングテーブルには、既に、位置「１３」とノズル番号「５」とを対応づけた情報が記録されている。そのため、プリンタドライバは、スケジューリングテーブルの位置「１３」に対応するノズル番号「５」を、ノズル番号「１」に上書き登録する。
【００８５】
図１１Ｅは、仮想印刷２の３度目のパスのノズル♯１〜５について、位置Ｌとノズル番号とを対応づけて登録したときのスケジューリングテーブルの説明図である。同図において、太線で示された枠内の情報は、上書きにより登録された情報である。
【００８６】
プリンタドライバは、全ての仮想ヘッドについて処理が終了するまで、上記の処理を繰り返し行う。第１参考例では、仮想印刷２の４度目のパスに関する処理（Ｓ１０４〜Ｓ１０７）を終えた後、ノズル♯１の位置が終了位置「１８（＝Ｌｆ）」に達しているので、Ｓ１０９の判断が「ＹＥＳ」となる。また、第１参考例では、仮想印刷２の４度目のパスに関する処理を終えた後、全ての仮想印刷についての処理が終了しているので、Ｓ１１１の判断が「ＹＥＳ」となり、プリンタドライバは、スケジューリングテーブルの作成処理を終了する。
【００８７】
＜スケジューリングテーブルの用い方について＞
図１２は、第１参考例のスケジューリングテーブルの用い方の説明図である。なお、スケジューリングテーブルには、ラスタラインの位置とそのラスタラインを形成するノズル番号とを対応づけた情報が、記憶されている。
【００８８】
まず、プリンタドライバは、スケジューリングテーブル内の各情報について、ラスタラインの位置とノズル番号とに基づいて、先頭ノズルの位置を算出する。なお、ラスタラインの位置がＸであり、ノズル番号がＹであるとき、先頭ノズルの位置は、Ｘ−（Ｙ−１）×ｋとなる。例えば、ラスタラインの位置が「７」でありノズル番号が「３」の場合、先頭ノズルは、「１（＝７−（３−１）×３）」となる。
【００８９】
次に、プリンタドライバは、スケジューリングテーブル内の情報から、先頭ノズルの位置が同じ情報を抽出する。例えば、先頭ノズルの位置が「１」である情報として、スケジューリングテーブル内の４個の情報が抽出される。
【００９０】
なお、先頭ノズルの位置が「１」である情報が、スケジューリングテーブル内に、５個ではなく、４個しかない理由は、図１１Ｅに示すように、スケジューリングテーブルの位置「１３」に対応するノズル番号「５」がノズル番号「１」に上書きされたためである。同様に、先頭ノズルの位置が「２」である情報が、スケジューリングテーブル内に２個しかない理由は、図１１Ｄに示すように、３個の情報が上書きされたためである。
【００９１】
そして、プリンタドライバは、抽出された情報に基づいて、各ノズルに対応するラスタラインの画像データを割り当てるように、ラスタライズ処理を行う。例えば、パス１において、ノズル♯１には１番目のラスタラインに相当する画像データが割り当てられ、ノズル♯２には４番目のラスタラインに相当する画像データが割り当てられ、ノズル♯３には７番目のラスタラインに相当する画像データが割り当てられ、ノズル♯４には１０番目のラスタラインに相当する画像データが割り当てられる。
【００９２】
但し、先頭ノズルの位置が「１」である情報がスケジューリングテーブル内に４個しかなく、パス１において、ノズル♯５及びノズル♯６に対応するラスタラインの位置に関する情報が、スケジューリングテーブル内に存在しない。このような場合、プリンタドライバは、ノズル♯５及びノズル♯６に対して、ＮＵＬＬデータを画像データとして割り当てる。
【００９３】
このようにして生成されたパス１分の印刷データをプリンタドライバがプリンタに送信すると、プリンタは、パス１において、ノズル♯１〜ノズル♯４からインクを吐出し、ノズル♯５及びノズル♯６からインクを吐出せず、４本のラスタラインを紙面に形成する。すなわち、第１参考例では、パス１において、プリンタドライバがノズル♯５及びノズル♯６にＮＵＬＬデータを割り当てることにより、ノズル♯５及びノズル♯６が不吐出ノズルとなる。
【００９４】
同様に、プリンタドライバが、先頭ノズルの位置が「２」である情報を抽出し、抽出された情報に基づいてラスタライズ処理を行えば、プリンタは、パス２において、ノズル♯１及びノズル♯２からはインクを吐出し、ノズル♯３〜ノズル♯６からインクを吐出せず、２本のラインを紙面に形成する。すなわち、第１参考例では、パス２において、プリンタドライバがノズル♯３〜ノズル♯６にＮＵＬＬデータを割り当てることにより、ノズル♯３〜ノズル♯６が不吐出ノズルとなる。
【００９５】
＜第１参考例の問題点＞
この第１参考例によれば、印刷を行う前に、全てのラスタラインに対応するスケジューリングテーブルを作成する必要がある。このため、スケジューリングテーブルを記憶するための記憶領域を確保する必要がある。図８では、全ラスタライン数は５２個に過ぎないが、実際のノズル数は１８０個であり、通常印刷領域に数千個のラスタラインがあるような場合、全てのラスタラインに対応するスケジューリングテーブルは、データ量が膨大になる。  
また、このように膨大なデータ量の中から、図１２に示すように必要なデータだけを抽出する処理は、時間がかかる。また、スケジューリングテーブルが完成するまでは印刷データを作成できず、印刷開始が遅れてしまう。
【００９６】
そこで、本実施形態では、以下のように、パス毎にスケジューリングテーブルを作成し、不吐出ノズルを決定する。
【００９７】
＝＝＝第１実施形態＝＝＝
図１３は、第１実施形態の仮想印刷の条件を設定するためのパラメータの説明図である。これら仮想印刷のパラメータは、印刷モードと紙サイズとに基づいて決定される。
【００９８】
本実施形態では、プリンタドライバは、あるパスにおける各ノズルと各ノズルの形成するラスタラインの位置とを対応付ける際に、そのパスにおける各ノズルの位置と、他のパスにおけるノズルの位置とを比較する。そして、この比較結果に基づいて、プリンタドライバは、そのパスのスケジューリングテーブルを作成する。
【００９９】
なお、パス毎にスケジューリングテーブルを順次作成しているので、上端印刷のパスのスケジューリングテーブルが、通常印刷のパスのスケジューリングテーブルよりも先に作成される。以下、スケジューリングテーブルの作成について順に説明する。
【０１００】
＜上端印刷のスケジューリングテーブルの作成について＞
図１４は、第１実施形態の上端印刷におけるパスｍのスケジューリングテーブルの作成処理のフロー図である。プリンタドライバは、メモリに記憶されたプログラムに従って、コンピュータのハードウェア資源を利用して、各処理を実行する。図１５Ａ〜図１５Ｅは、パス１に対するスケジューリングテーブルの作成処理の各段階の説明図である。各図の下には、作成中のスケジューリングテーブルの様子が示されており、各図の上には、スケジューリングテーブルの作成時の処理内容の概念図が示されている。このスケジューリングテーブルは、コンピュータ側のメモリに記憶される。なお、プリンタドライバは、上端印刷用の仮想印刷のパラメータと、通常印刷用の仮想印刷のパラメータとを用いて、スケジューリングテーブルを作成する。
【０１０１】
まず、プリンタドライバは、ノズル番号ｉを初期化し、ｉ＝１（上端印刷用仮想印刷パラメータの先頭ノズルの番号）に設定する（Ｓ２０１）。そして、プリンタドライバは、パスｍ（最初はパス１）のノズル♯１の位置Ｌを算出する（Ｓ２０２）。ノズル♯ｉの位置Ｌは、上端印刷用の仮想印刷のパラメータ（ノズルピッチｋ、搬送量Ｆ、開始位置Ｌｓ）、ノズル番号ｉ及びパス数ｍ等から算出される。なお、パス１のノズル♯１の位置は、開始位置Ｌｓになる。そして、プリンタドライバは、位置Ｌとノズル♯ｉとを対応付けて、スケジューリングテーブルに登録する（Ｓ２０３）。最終ノズルが♯５なので、ｉ＝５になるまでプリンタドライバはこのような処理を繰り返す（Ｓ２０１〜Ｓ２０５）。
【０１０２】
つまり、ステップＳ２０１〜ステップＳ２０５の処理により、パスｍのノズルの位置と、ノズル番号とが対応付けられたスケジューリングテーブルが作成される。パス１のスケジューリングテーブルの作成において、ステップＳ２０４でＹＥＳになった時のスケジューリングテーブルは、図１５Ａの状態である。
【０１０３】
次に、プリンタドライバは、次のパスのノズル♯１の位置を算出する（Ｓ２０６）。次のパスのノズル♯１の位置が通常印刷領域であれば（Ｓ２０７でＮＯ）、パス１のスケジューリングテーブルを終了する。但し、パス２のノズル♯１は、２番目のラスタラインの位置であり、上端印刷領域なので、プリンタドライバの処理はステップＳ２０８へ進む。
【０１０４】
次に、プリンタドライバは、ノズル番号ｉを初期化した後（Ｓ２０８）、ノズル♯ｉの位置Ｌを算出する（Ｓ２０９）。そして、その位置が上端印刷領域であり（Ｓ２１０でＹＥＳ）、かつ、位置Ｌがスケジューリングテーブルに登録されている場合（Ｓ２１１でＹＥＳ）、位置Ｌのスケジューリングデータを消去する。最終ノズルが♯５なので、ｉ＝５になるまでプリンタドライバはこのような処理を繰り返す（Ｓ２０９〜Ｓ２１４）。そして、この途中で、ノズル♯ｉの位置Ｌが通常印刷領域であれば（Ｓ２１０でＮＯ）、仮想ヘッドの位置を搬送量Ｆだけ移動し（Ｓ２１５）、プリンタドライバの処理はステップＳ２０６に戻る。  
つまり、ステップＳ２０９〜ステップＳ２１４の処理により、パスｍのノズルの位置と、パスｍ以降のノズルの位置とが比較される。比較の結果、位置が一致するものがあれば、その位置のスケジューリングデータが消去される。
【０１０５】
図１５Ｂは、最初にステップＳ２１０でＮＯになった時のスケジューリングテーブルの状態を示している。このときまでの間、図１５Ａのように作成されたスケジューリングテーブルに対して、パス２の各ノズルの位置が比較されることになる。比較の結果、位置が一致するものがないので、スケジューリングテーブルは図１５Ａのものと変化はない。
【０１０６】
図１５Ｃは、２回目にステップＳ２１０でＮＯになった時のスケジューリングテーブルの状態を示している。このときまでの間、図１５Ｂのスケジューリングテーブルに対して、パス３の各ノズルの位置が比較されることになる。比較の結果、位置が一致するものがないので、スケジューリングテーブルは図１５Ａのものと変化はない。
【０１０７】
図１５Ｄは、３回目にステップＳ２１０でＮＯになった時のスケジューリングテーブルの状態を示している。このときまでの間、図１５Ｃのスケジューリングテーブルに対して、パス４の各ノズルの位置が比較されることになる。但し、パス４のノズル♯４は上端印刷領域にはないので、ｉ＝４のときにＳ２１０でＮＯになる。なお、パス４は通常印刷でのドット形成処理なので、パス４の各ノズルの位置は、通常印刷の仮想印刷のパラメータ（ノズルピッチｋ、搬送量Ｆ、開始位置Ｌｓ）、ノズル番号ｉ及びパス数等から算出される。
【０１０８】
図１５Ｅは、４回目にステップＳ２１０でＮＯになった時のスケジューリングテーブルの状態を示している。このときまでの間、図１５Ｄのスケジューリングテーブルに対して、パス５のノズル♯１の位置が比較されることになる（パス５のノズル♯２は上端印刷領域にはないので、ｉ＝２のときにＳ２１０でＮＯになる。）。パス５のノズル♯１は１３番目のラスタラインの位置にあり、スケジューリングテーブルには「位置：１３」のスケジューリングデータが既に登録されているので、プリンタドライバは、このスケジューリングデータを消去する（Ｓ２１２）。  
なお、パス６のノズル♯１は通常印刷領域にあるので、パス６においてステップＳ２０７でＮＯになり、パス１のスケジューリングテーブルの作成処理が終了する。これにより、このときのスケジューリングテーブル（図１５Ｅ）が、パス１用のスケジューリングテーブルになる。
【０１０９】
＜通常印刷のスケジューリングテーブルの作成について＞
図１６は、第１実施形態の通常印刷におけるパスｍのスケジューリングテーブルの作成処理のフロー図である。上端印刷を行うパス数は決まっており、本実施形態ではパス３までである。このため、パス４以降から、プリンタドライバは以下の処理を実行する。図１７Ａ〜図１７Ｃの下には、パス４〜パス６の各パスに対するスケジューリングテーブルが示されている。各図の上には、スケジューリングテーブルの作成時の処理内容の概念図が示されている。
【０１１０】
まず、プリンタドライバは、パスｍ（最初はパス４）のノズル♯１の位置Ｌを算出し（Ｓ３０１）、その位置が下端印刷領域か否かを判断する（Ｓ３０２）。もし、ノズル♯１の位置が下端印刷領域であれば、プリンタドライバの処理は、後述する下端印刷のスケジューリングテーブルの作成処理に進む。但し、パス４のノズル♯１は８番目のラスタラインの位置にあるので、プリンタドライバの処理はステップＳ３０３へ進む。
【０１１１】
次に、プリンタドライバは、ノズル番号ｉを初期化し、ｉ＝１（通常印刷用仮想印刷パラメータの先頭ノズルの番号）に設定する（Ｓ３０３）。そして、プリンタドライバは、パスｍ（最初はパス４）のノズル♯１の位置Ｌを算出する（Ｓ３０４）。但し、最初のステップＳ３０４の処理はステップＳ３０１の処理と同じになるので、最初のステップＳ３０４の処理は省略しても良い。ノズル♯ｉの位置Ｌは、通常印刷用の仮想印刷のパラメータ（ノズルピッチｋ、搬送量Ｆ、開始位置Ｌｓ）、ノズル番号ｉ及びパス数ｍ等から算出される。そして、プリンタドライバは、位置Ｌとノズル♯ｉとを対応付けて、スケジューリングテーブルに登録する（Ｓ３０５）。最終ノズルが♯５なので、ｉ＝５になるまでプリンタドライバはこのような処理を繰り返す（Ｓ３０４〜Ｓ３０７）。  
つまり、ステップＳ３０３〜ステップＳ３０７の処理により、パスｍのノズルの位置と、ノズル番号とが対応付けられたスケジューリングテーブルが作成される。例えば、パス４のスケジューリングテーブルは、図１７Ａの下図のように作成される。
【０１１２】
なお、パス９のスケジューリングテーブルを作成した後、パス１０のスケジューリングテーブルを作成しようとするときに、ステップＳ３０２においてＹＥＳと判断される。この場合、プリンタドライバの処理は、下端印刷のスケジューリングテーブル作成処理へ進む。これにより、パス１０以降のスケジューリングテーブルは、下端印刷のスケジューリングテーブル作成処理により、作成される。
【０１１３】
＜下端印刷のスケジューリングテーブルの作成について＞
図１８は、第１実施形態の下端印刷のスケジューリングテーブルの作成処理のフロー図である。下端印刷の場合、上記の上端印刷や通常印刷の場合とは異なり、各パスのスケジューリングテーブルを作成する前に、ダミースケジューリングテーブルを作成し（Ｓ４００）、このダミースケジューリングテーブルに基づいて各パスのスケジューリングテーブルを作成する（Ｓ５００）。
【０１１４】
図１９は、ダミースケジューリングテーブルの作成処理のフロー図である。図２０Ａ〜図２０Ｃは、ダミースケジューリングテーブルを説明するための概念図である。
【０１１５】
ダミースケジューリングテーブルは、パス９の後も通常印刷が行われたと仮定した場合、その後のパスによって下端印刷領域に形成されるラスタラインの位置を示すものである。このため、ダミースケジューリングテーブルの作成処理の際には、通常印刷用の仮想印刷のパラメータが用いられる。
【０１１６】
まず、プリンタドライバは、通常印刷の最後のパス（パス９）から更に通常印刷の搬送処理を行ったと仮定して、パス１０’のノズル♯１の位置Ｌを算出し（Ｓ４０１）、その位置が下端印刷領域か否かを判断する（Ｓ４０２）。パス１０’のノズル♯１の位置は、３８番目のラスタラインの位置になるので、ステップＳ４０２の判断はＮＯになる。
【０１１７】
次に、プリンタドライバは、ノズル番号ｉを初期化し、ｉ＝１に設定する（Ｓ４０３）。そして、プリンタドライバは、パスｍ（最初はパス１０’）のノズル♯１の位置Ｌを算出する（Ｓ４０４）。但し、ｉ＝１の場合、ステップＳ４０４の処理はステップＳ４０１の処理と同じになるので、ステップＳ４０４の処理は省略しても良い。ノズル♯ｉの位置Ｌは、通常印刷用の仮想印刷のパラメータ（ノズルピッチｋ、搬送量Ｆ、開始位置Ｌｓ）、ノズル番号ｉ及びパス数ｍ等から算出される。ノズル♯ｉの位置が下端印刷領域内であれば（Ｓ４０５でＹＥＳ）、プリンタドライバは、位置Ｌをダミースケジューリングテーブルに登録する（Ｓ４０６）。なお、ダミースケジューリングテーブルでは、これまでのスケジューリングテーブルとは異なり、ノズル番号と対応付ける必要はない。このため、ダミースケジューリングテーブルのデータ量は、スケジューリングテーブルと比べて小さい。プリンタドライバは、最終ノズルが♯５なので、ｉ＝５になるまでこのような処理を繰り返し（Ｓ４０４〜Ｓ４０８）、そのパスの各ノズルの位置をダミースケジューリングテーブルに登録する。
【０１１８】
ステップＳ４０４〜ステップＳ４０８の処理を繰り返す際に、あるノズルの位置Ｌが下端印刷領域外になれば（Ｓ４０５でＮＯ）、プリンタドライバは、そのパスにおけるノズルの位置Ｌの登録を中断し、ステップＳ４０９へ処理を進める。ステップＳ４０９により、次のパスを行なう前に通常印刷の搬送処理が行われたものと仮定して、次にパスのノズル♯１の位置Ｌを算出する（Ｓ４０１）。このようにして、次のパスについても同様に、各ノズルの位置をダミースケジューリングテーブルに登録する（Ｓ４０１〜Ｓ４０９）。このように作成されたダミースケジューリングテーブルは、下端印刷で形成すべきラスタラインの位置を示している。
【０１１９】
通常印刷によりパス１２が行われ、更に通常印刷の搬送処理が行われた場合、ノズル♯１の位置は５３番目のラスタラインに位置することになる。このため、ステップＳ４０２においてＹＥＳと判断され、ダミースケジューリングテーブルの作成を終了する。そして、プリンタドライバは、このときのダミースケジューリングテーブル（図２０Ｃ）を用いて、次に各パスのスケジューリングテーブルの作成処理を行う。
【０１２０】
図２１は、ダミースケジューリングテーブルに基づく各パスのスケジューリングテーブルの作成処理のフロー図である。図２２Ａ〜図２２Ｃは、各パスのスケジューリングテーブルを説明するための概念図である。プリンタドライバは、以下に説明するように、下端印刷の各パスのノズルの位置とダミースケジューリングテーブルとを比較し、その比較結果に基づいて、各パスのスケジューリングテーブルを作成している。
【０１２１】
まず、プリンタドライバは、ノズル番号ｉを初期化し、ｉ＝１（下端印刷用仮想印刷パラメータの先頭ノズルの番号）に設定する（Ｓ５０１）。そして、プリンタドライバは、パスｍ（最初はパス１０）のノズル♯１の位置Ｌを算出する（Ｓ５０２）。ノズル♯ｉの位置Ｌは、下端印刷用の仮想印刷のパラメータ（ノズルピッチｋ、搬送量Ｆ、開始位置Ｌｓ）、ノズル番号ｉ及びパス数ｍ等から算出される。なお、パス１０のノズル♯１の位置は、開始位置Ｌｓになる。
【０１２２】
次に、プリンタドライバは、算出された位置Ｌと、ダミースケジューリングテーブルとを比較する（Ｓ５０３）。詳しくは、算出された位置Ｌが、ダミースケジューリングテーブルに登録されている位置と一致するか否かを、プリンタドライバが比較する。
【０１２３】
ダミースケジューリングテーブルに位置Ｌが存在する場合（Ｓ５０４でＹＥＳ）、下端印刷において位置Ｌのラスタラインを形成するために、プリンタドライバは、パスｍのスケジューリングテーブルに、位置Ｌとノズル♯１とを対応付けて登録する（Ｓ５０５）。そして、プリンタドライバは、ダミースケジューリングテーブルから位置Ｌの登録を削除する。後で再びステップＳ５０３を行なう際に、処理を早くするためである。
【０１２４】
一方、ダミースケジューリングテーブルに位置Ｌが存在しない場合（Ｓ５０４でＮＯ）、下端印刷において位置Ｌのラスタラインを形成する必要がないので、プリンタドライバは、スケジューリングテーブルの登録処理を行わずに、ステップＳ５０７へ処理を進める。そして、最終ノズルが♯５なので、ｉ＝５になるまでプリンタドライバはこのような処理を繰り返す（Ｓ５０２〜Ｓ５０８）。つまり、ステップＳ５０１〜ステップＳ５０８の処理により、パスｍのノズルの位置とノズル番号とが対応付けられたスケジューリングテーブルが作成される。
【０１２５】
図２２Ａ〜図２２Ｃの上図には、各パスのノズルの位置と、ダミースケジューリングデータに登録されている位置とが概念的に示されている。ダミースケジューリングテーブルの登録内容を示す丸印において、黒丸は登録されている位置を示しており、白丸はステップＳ５０６により削除された位置を示している。図２２Ａに示されるように、パス１０のノズル♯１〜ノズル♯５の位置は、それぞれダミースケジューリングテーブルに登録されている。このため、パス１０のスケジューリングテーブルは、図２２Ａの下図に示される通りの５個の情報から構成される。一方、パス１０のスケジューリングテーブルの作成時に、ステップＳ５０６によりダミースケジューリングテーブルの５個の位置が削除される。この結果、パス１１のスケジューリングテーブルを作成する際に用いられるダミースケジューリングテーブルは、図２２Ｂの上図に示す通りになる。そして、パス１１の各ノズルの位置とダミースケジューリングテーブルとを比較する結果、パス１１のスケジューリングテーブルは、図２２Ｂの下図に示される通りの２個の情報から構成される。同様に、パス１２のスケジューリングテーブルは、図２２Ｃの下図に示される通りの４個の情報から構成される。  
なお、パス１２のスケジューリングテーブルを終えれば、ノズル♯１の位置が終了位置Ｌｆ（＝４０、図１３参照）に達するので、スケジューリングテーブルの作成を終了する。
【０１２６】
＜ラスタライズ処理について＞
作成されたスケジューリングテーブルは、ラスタライズ処理に用いられる。本実施形態のスケジューリングテーブルは、各パス毎に印刷順に作成されている。このため、本実施形態のプリンタドライバは、前述の参考例の場合とは異なり、全パスのスケジューリングテーブルの作成を終える前に、ラスタライズ処理を開始することができ、ラスタライズ処理を終えた各パスの印刷データを送信開始できる。以下、この点を説明する。
【０１２７】
図２３Ａは、ラスタライズ処理前の画像データ（ハーフトーン処理後の画像データ）の説明図である。図中の正方形は、画像を構成する画素を示している。正方形の中の数字は、画素の番号を示している。説明の簡略化のため、移動方向に並ぶ画素数は１６画素とする。  
ハーフトーン処理後の画像データは、各画素につき２ビットの画素データから構成されている。このため、１アドレスにつき１バイトの情報を格納するメモリに画像データを格納すると、１アドレスにつき４画素分の画素データが収容される。図中の太線の長方形は、メモリの１アドレスに格納される画素データに対応する画素を示している。  
なお、図中の「ラスタデータ」とは、ラスタラインに対応する画素データ、すなわち、移動方向に並ぶ複数の画素に対応する複数の画素データのことである。ここでは、１個の「ラスタデータ」は、１６個の画素データを含み、４バイトのデータになる。
【０１２８】
図２３Ｂは、ラスタライズ処理前の画素データの並び順の説明図である。図中の長方形は、１バイトのデータ（４画素分の画素データ）を示している。長方形内の丸印は、１バイトのデータの中に格納されている画素データを示しており、この丸印の中の数字は、画素データの対応する画素の番号を示している。例えば、最初の１バイトのデータの中には、１〜４番目の画素に対応する画素データが格納されている。  
ラスタライズ処理前の画素データは、ラスタラインの順にメモリに格納されている。言い換えると、メモリの連続するアドレスには、ラスタラインの順に画素データが格納されている。但し、プリンタでは、このような順で印刷が行われない。例えば、パス１では１番目、４番目、７番目、１０番目及び１３番目のラスタラインが形成されるので、ラスタラインの順に印刷が行われていない。そこで、プリンタドライバは、ラスタライズ処理により、印刷に適した順に画素データを並び替える必要がある。
【０１２９】
図２４Ａは、パス１の印刷データ作成のためのラスタライズ処理の説明図である。左から右へヘッドが移動してインターレース印刷が行われる場合、最初の画素にドットを形成するためには、図中の太線丸印で示される１番目の画素データが最初に必要になる。しかし、ラスタライズ処理前、太線丸印で示される１番目の画素データは、メモリの連続するアドレスに格納されていない。  
そこで、プリンタドライバは、図中の矢印で示す順に、画素データを並び替える。これにより、太線丸印で示される画素データは、メモリの連続するアドレスに格納される。なお、このときプリンタドライバは、スケジューリングテーブルを参照し、どのラスタデータから画素データを抽出すべきかを決定する。パス１の印刷データ作成の際には、パス１用のスケジューリングテーブル（図１５Ｅ）が参照され、１番目、４番目、７番目及び１０番目のラスタデータから画素データが、左から抽出される。
【０１３０】
図２４Ｂは、ラスタライズ処理後の画素データの並び順であって、パス１の印刷データに含まれる画素データの並び順の説明図である。最初の１バイト分の画素データは、１番目のラスタデータから抽出され、ノズル♯１に対応付けられる。次の１バイト分の画素データは、２番目のラスタデータから抽出され、ノズル♯２に対応付けられる。このように、最初のノズル（ノズル♯１）から最後のノズル（ノズル♯６）まで１バイトずつ順に画素データが対応付けられる。そして、最後のノズルに対応付けられた画素データの後、最初のノズルに対応付けられた画素データが並ぶ。この繰り返しにより、パス１の印刷データに含まれる画素データが構成される。
【０１３１】
なお、図中の「ＮＵＬＬデータ」は、画像データから抽出された画素データではなく、プリンタドライバが作成したデータであり、インク不吐出（ドット非形成）を示す画素データから構成される。スケジューリングテーブルにおいて、位置の対応付けのないノズルに対して、ＮＵＬＬデータが割り当てられる。ここでは、ノズル♯５及びノズル♯６にＮＵＬＬデータが対応付けられている。
【０１３２】
そして、プリンタドライバは、ラスタライズ処理を終えたパスの印刷データを順にプリンタへ送信する。
【０１３３】
図２５は、印刷データに基づくドット形成処理の説明図である。ヘッド４１は、ユニット制御回路６４から転送されるデータに基づいてインクを吐出し、紙にドットを形成する。図中には、１〜３番目の画素データに基づいて吐出されたインク滴により、３個のドットが形成されている。  
ユニット制御回路６４は、タイミング生成部６４２と、ダブルバッファ６４４とを有する。タイミング生成部６４２は、リニア式エンコーダ５１からの信号に応じて、タイミング信号を生成し、ダブルバッファ６４４へ出力する。ダブルバッファ６４４には、画素データを記憶するためのバッファが２つ設けられている。各バッファは、ノズル毎に１バイト分のデータ（４画素分の画素データ）を格納できる。そして、ダブルバッファ６４４は、タイミング信号を受けるたびに、バッファに格納されている画素データのうち、全ノズルの１画素分の画素データをヘッド４１へシリアル転送する。
【０１３４】
次に、印刷データに基づいてインク滴が吐出される際の動作について説明する。  
まず、プリンタドライバが、プリンタ１へ印刷データを送信する。この印刷データには、少なくとも１回のパスに必要な画素データが含まれている。一つの画素データは、１つの画素のドット形成状況（大ドット・中ドット・小ドット・ドットなし）を示しており、２ビットのデータ量である。プリンタ１が受信した画素データは、プリンタドライバのラスタライズ処理によって、印刷に適した並び順になっており（前述）、プリンタ１は、この並び順に従って画素データをメモリ６３に格納する。メモリ６３の１つのアドレスには１バイトの情報を格納できるので、１つのアドレスにつき４画素分の画素データが収容される。
【０１３５】
ユニット制御回路６４は、メモリ６３の連続するアドレスに格納されている画素データを、バースト転送によってダブルバッファ６４４の一方のバッファに格納する。ここでは、６バイト分の画素データが、メモリ６３からダブルバッファ６４４へバースト転送される。なお、メモリ６３の隣接するアドレスには、プリンタドライバのラスタライズ処理によって、隣接するノズルに対応する画素データがそれぞれ格納されている。このため、全ノズルの４画素分の画素データをバースト転送することが可能である。
【０１３６】
次に、ユニット制御回路６４は、キャリッジモータ３２を駆動してキャリッジ３１を移動方向に移動する。キャリッジ３１が１／１８０インチ移動するたびに、リニア式エンコーダ５１は１周期のパルス信号を出力する。タイミング生成部６４２は、リニア式エンコーダ５１からの信号に応じて、タイミング信号を生成する。
【０１３７】
ダブルバッファ６４４は、最初にタイミング信号を受けると、図中の太線で示す第１領域に格納されている画素データをヘッド４１へシリアル転送する。この領域には、１番目の画素に対応する画素データが全ノズル分の格納されている。ヘッド４１は、１番目の画素データに応じて、各ノズルからインクを吐出（又は不吐出）する。この結果、紙上の最初の画素（１番目の画素）に、１番目の画素データに対応するドットが形成される。
【０１３８】
ヘッド４１からインクが吐出される間もキャリッジ３１は移動方向に移動しているので、ダブルバッファ６４４は所定のタイミング信号を受け続けることになる。そして、次のタイミング信号を受けると、ダブルバッファ６４４は、第２領域に格納されている画素データをヘッド４１へシリアル転送し、ヘッド４１は、画素データに応じてインクを吐出する。このようにして、タイミング信号に応じて、ヘッド４１から断続的にインクが吐出される。
【０１３９】
ユニット制御回路６４は、ダブルバッファ６４４の一方のバッファへ画素データを転送した後、メモリ６３から他方のバッファへ次の画素データを転送する。これにより、ダブルバッファ６４４は、第４領域の画素データをヘッド４１へ転送した後、他方のバッファの第５領域の画素データをヘッド４１へ転送することが可能である。そして、第４領域の画素データをヘッド４１へ転送した後、ユニット制御回路６４は、メモリ６３からダブルバッファの第１領域〜第４領域へ、次の画素データ（９〜１２番目の画素データ）を転送する。このように、ユニット制御回路６４は、ダブルバッファ６４４の２つのバッファに対して、交互に画素データを転送する。
【０１４０】
なお、ヘッド４１には色毎にノズル群が設けられており、ダブルバッファ６４４は、ノズル群ごと、すなわち色毎に設けられている。但し、タイミング生成部６４２は、色毎に設けられている複数のダブルバッファ６４４に対して、共通のタイミング生成部を生成する。この結果、各色のノズル群から、共通のタイミングでインク滴が吐出されることになる。
【０１４１】
パス１の印刷データでは、ノズル♯５及びノズル♯６にＮＵＬＬデータが対応している。このため、ノズル♯５及びノズル♯６に対応するダブルバッファの領域には、ＮＵＬＬデータが格納される。この結果、このデータがヘッドに転送されても、ノズル♯５及びノズル♯６はインクを吐出しない。つまり、パス１において、ノズル♯５及びノズル♯６は、インク不吐出ノズルになる。
【０１４２】
以上説明した第１実施形態では、全てのスケジューリングテーブルの作成を終えた後に印刷データを作成・送信するのではなく、各パスのスケジューリングテーブルを作成して各パスのラスタライズ処理を行い、各パスの印刷データを順次プリンタに送信している。このため、プリンタの印刷開始を早めることができる。
【０１４３】
＝＝＝第２実施形態＝＝＝
＜部分オーバーラップ印刷について＞
前述の第１実施形態では、１つのラスタラインを１つのノズルだけで形成していた。しかし、あるノズルが吐出不良になった場合、そのノズルが形成するラスタラインが異常なものになり、縞の入った印刷画像ができてしまう。特に、ノズル群の端部に位置するノズル（ノズルが６個のモデル例の場合はノズル♯１やノズル♯６）は吐出不良になり易いので、このノズルにより形成されるラスタラインが異常になるおそれがある。そこで、以下に説明する「部分オーバーラップ印刷」では、特定のラスタラインを２以上のノズルで形成し、たとえ吐出不良のノズルがあっても、ラスタラインの異常を軽減している。
【０１４４】
図２６Ａ及び図２６Ｂは、部分オーバーラップ印刷の説明図である。図２６Ａは、パス１〜パス５におけるヘッド（又はノズル群）の位置とドットの形成の様子を示し、図２６Ｂは、パス１〜パス６におけるヘッドの位置とドットの形成の様子を示している。説明の都合上、三角形や四角形のノズルやドットがあるが、実際にはどのノズルやドットも同じ円形状である。
【０１４５】
部分オーバーラップ印刷では、ノズル群の搬送方向上流側の端部に位置するノズル（ＰＯＬ下ノズルともいう）及びノズル群の搬送方向下流側の端部に位置するノズル（ＰＯＬ上ノズルともいう）の２つのノズルが、ノズル群の中央部に位置する１つのノズルと同じ機能を果たす。例えば、図２６Ａ及び図２６Ｂでは、ノズル♯１やノズル♯６は、ノズル♯２〜ノズル♯５と比較して、半分のドットしか形成しない。但し、図２６Ａ及び図２６Ｂにおいてインクを吐出可能なノズルの数（６個）は、図７Ａ及び図７Ｂにおいてインクを吐出可能なノズルの数（５個）と比較して、多くなる。
【０１４６】
部分オーバーラップ印刷では、搬送方向上流側の端部に位置するノズルが、１ドットおきに間欠的にドットを形成する。そして、他のパスにおいて、搬送方向下流側の端部に位置するノズルが、既に形成されている間欠的なドットを補完するように（ドットの間を埋めるように）、ドットを形成する。これにより、端部に位置する２つのノズルが、中央部に位置する１つのノズルと同じ機能を果たす。例えば、図２６Ａ及び図２６Ｂでは、あるパスでノズル♯６が１ドットおきにドット（四角形で示されるドット）を形成した後、他のパスでノズル♯１がドットの間を埋めるようにドット（三角形で示されるドット）を形成して、１つのラスタラインを完成させている。ここでは、四角形で示されるドットは、紙上の奇数画素に形成されており、三角形で示されるドットは、紙上の偶数画素に形成されているものとする。
【０１４７】
部分オーバーラップ印刷によれば、複数のノズルにより形成されるラスタラインについては、インクの吐出のバラツキによる画質の低下を抑制することができる。特に、端部のノズルは中央部のノズルと比較してインクの吐出のバラツキが大きいので、端部のノズルにより形成されるラスタラインを複数のノズルにより形成すれば、画質の低減を抑制する効果が得られる。
【０１４８】
図２７は、部分オーバーラップ印刷における上端印刷と下端印刷の説明図である。
【０１４９】
第１実施形態の上端印刷（図８参照）では、パス１のノズル♯５、パス２のノズル♯３及びパス３のノズル♯６は、インク不吐出ノズルであった。一方、第２実施形態の部分オーバーラップ印刷における上端印刷では、通常印刷のノズル♯１による間欠的なドットを補完するため、これらのノズルからもインクが吐出される。  
また、第１実施形態の下端印刷（図８参照）では、パス１０のノズル♯１、パス１１のノズル♯４及びパス１２のノズル♯２は、１つのノズルでラスタラインをそれぞれ形成していた。一方、第２実施形態の部分オーバーラップ印刷における下端印刷では、通常印刷のノズル♯１による間欠的なドットを補完するため、これらのノズルは偶数画素にだけド
＜パラメータについて＞
図２８は、第２実施形態の仮想印刷の条件を設定するためのパラメータの説明図である。図中の太線で囲まれたパラメータは、第１実施形態のパラメータ（図１３参照）と異なる部分である。本実施形態では、搬送方向下流側の端部のノズルによる部分オーバーラップ印刷の仮想印刷のためのパラメータとして、「ＰＯＬ上ノズル用」のパラメータが用意されている。また、搬送方向上流側の端部のノズルによる部分オーバーラップ印刷の仮想印刷のためのパラメータとして、「ＰＯＬ下ノズル用」のパラメータが用意されている。加えて、ノズル♯１は部分オーバーラップ印刷のため間欠的にドットを形成するので、通常印刷用のパラメータの先頭ノズルは、ノズル♯１ではなく、ノズル♯２になっている。また、通常印刷においてインク吐出可能なノズル数が６個になったのに伴い、上端印刷及び下端印刷の最終ノズルはノズル♯６になっている。
【０１５０】
＜上端印刷のスケジューリングテーブルの作成について＞
図２９は、第２実施形態の上端印刷におけるパスｍのスケジューリングテーブルの作成処理のフロー図である。図３０Ａ〜図３０Ｃは、パス１に対するスケジューリングテーブルの作成処理の各段階の説明図である。
【０１５１】
第２実施形態において、ステップＳ２０１からステップＳ２１５までの処理（図１４参照）は前述の第１実施形態と同じであるので、説明を省略する。第２実施形態では、前述のステップＳ２０７でＮＯと判断された後、プリンタドライバの処理は、以下のステップＳ２１６へ進むことになる。
【０１５２】
なお、第２実施形態では通常印刷の先頭ノズルがノズル♯２になっているので、ステップＳ２０８において、ノズル番号はｉ＝２に初期化される。この結果、図１５Ｅのように「位置：１３」のスケジューリングデータは消去されない。一方、上端印刷の最終ノズルがノズル♯６になっているので、パス１のノズル♯６の位置と、パス５のノズル♯２の位置とが一致するので、「位置：１６」のスケジューリングデータが消去されている。このため、第２実施形態においてステップＳ２１７でＮＯになったときのスケジューリングテーブルは、図３０Ａに示す状態である。
【０１５３】
ステップＳ２０１〜ステップＳ２１５の処理後、プリンタドライバは、「ＰＯＬ上ノズル用」のパラメータに基づいて、ＰＯＬ上ノズル（ノズル♯１）の位置Ｌを算出する（Ｓ２１６）。最初に算出される位置Ｌ（＝８）は、パス４のときのノズル♯１の位置に相当する。そして、プリンタドライバは、この位置Ｌが上端印刷領域か否かを判断する（Ｓ２１７）。最初に算出される位置Ｌ（＝８）は上端印刷領域なので、プリンタドライバの処理はステップＳ２１８へ進む。
【０１５４】
次に、プリンタドライバは、位置Ｌがスケジューリングテーブルに登録されているか否かを判断する（Ｓ２１８）。最初に算出される位置Ｌ（＝８）はスケジューリングテーブルに登録されていないので、仮想ヘッドの位置を搬送量Ｆだけ移動し（Ｓ２２０）、プリンタドライバの処理はステップＳ２１６へ戻る。このときのスケジューリングテーブルは、図３０Ｂに示す状態である。
【０１５５】
次に算出される位置Ｌ（＝１３）は、パス５のときのノズル♯１の位置に相当する。この位置Ｌはスケジューリングテーブルに登録されているので、ステップＳ２１８の判断はＹＥＳになる。この場合、プリンタドライバは、スケジューリングテーブルの位置Ｌの情報を書き換え、記録位置が奇数画素である旨の情報を加える（Ｓ２１９）。なお、部分オーバーラップ印刷において、ＰＯＬ下ノズルは、紙上の奇数画素にドットを形成する。このときのスケジューリングテーブルは、図３０Ｃに示す状態である。
【０１５６】
同様に、プリンタドライバは、仮想ヘッドの位置を搬送量Ｆだけ移動し（Ｓ２２０）、パス６のときのノズル♯１の位置に相当する位置Ｌがスケジューリングテーブルに登録されているかを判断する（Ｓ２１８）。その後、パス７のときのノズル♯１の位置に相当する位置Ｌを算出した後（Ｓ２１６）、その位置Ｌは上端印刷領域ではないので（Ｓ２１７でＮＯ）、プリンタドライバはパス１のスケジューリングテーブルの作成処理を終了する。
【０１５７】
＜通常印刷のスケジューリングテーブルの作成について＞
図３１は、第２実施形態の通常印刷におけるパスｍのスケジューリングテーブルの作成処理のフロー図である。図３２Ａ〜図３２Ｃは、パス４対するスケジューリングテーブルの作成処理の各段階の説明図である。
【０１５８】
第２実施形態において、ステップＳ３０１からステップＳ３０７までの処理は前述の第１実施形態（図１６参照）と同じであるので、説明を省略する。第２実施形態では、前述のステップＳ２０６でＹＥＳと判断された後、プリンタドライバの処理は、以下のステップＳ３０８へ進むことになる。
【０１５９】
まず、プリンタドライバは、「ＰＯＬ上ノズル用」のパラメータに基づいて、パスｍのときのノズル群の搬送方向下流側の端部に位置するノズル（ＰＯＬ上ノズル）の位置Ｌを算出する（Ｓ３０８）。そして、プリンタドライバは、位置ＬとＰＯＬ上ノズル（ここではノズル♯１）とを対応付けて、スケジューリングテーブルに登録する（Ｓ３０９）。この際に、プリンタドライバは、記録位置が偶数画素である旨の情報を加える。なお、部分オーバーラップ印刷において、ＰＯＬ上ノズルは、紙上の偶数画素にドットを形成する。このときのスケジューリングテーブルは、図３２Ｂに示す状態である。
【０１６０】
次に、プリンタドライバは、「ＰＯＬ下ノズル用」のパラメータに基づいて、パスｍのときのノズル群の搬送方向上流側の端部に位置するノズル（ＰＯＬ下ノズル）の位置Ｌを算出する（Ｓ３１０）。そして、プリンタドライバは、位置ＬとＰＯＬ下ノズル（ここではノズル♯６）とを対応付けて、スケジューリングテーブルに登録する（Ｓ３１０）。この際に、プリンタドライバは、記録位置が奇数である旨の情報を加える。なお、部分オーバーラップ印刷において、ＰＯＬ下ノズルは、紙上の奇数画素にドットを形成する。このときのスケジューリングテーブルは、図３２Ｃに示す状態である。
【０１６１】
＜下端印刷のスケジューリングテーブルの作成について＞
前述の第１実施形態の下端印刷の場合と同様に、第２実施形態の下端印刷の各パスのスケジューリングテーブルを作成する前に、ダミースケジューリングテーブルを作成する（Ｓ４００）。第２実施形態のダミースケジューリングテーブルの作成処理は、前述の第１実施形態と同様なので、説明を省略する。但し、通常印刷においてインク吐出可能なノズル数が６個になったのに伴い、ダミースケジューリングテーブルの作成時の先頭ノズルはノズル♯２ではなくノズル♯１であり、最終ノズルはノズル♯５ではなくノズル♯６にする。また、位置：５３〜５５も下端印刷領域に含むものとする。この結果、第２実施形態のダミースケジューリングテーブルは、図２０Ｃのダミースケジューリングテーブルに、位置：５３〜５５のダミースケジューリングデータが追加された状態になる。
【０１６２】
図３３は、第２実施形態の下端印刷の各パスのスケジューリングテーブルの作成処理のフロー図である。図３４Ａ〜図３４Ｄは、パス１０に対するスケジューリングテーブルの作成処理の各段階の説明図である。
【０１６３】
第２実施形態において、ステップＳ５０１からステップＳ５０８までの処理は前述の第1実施形態（図２１参照）と同じであるので、説明を省略する。第２実施形態では、前述のステップＳ５０７でＹＥＳと判断された後、プリンタドライバの処理は、以下のステップＳ５０９へ進むことになる。なお、このときのスケジューリングテーブルは、図３４Ａに示す状態である。
【０１６４】
まず、プリンタドライバは、「ＰＯＬ下ノズル用」のパラメータに基づいて、ＰＯＬ下ノズル（ノズル♯６）の位置Ｌを算出する（Ｓ５０９）。最初に算出される位置Ｌ（＝２３）は通常印刷領域なので（Ｓ５１０でＮＯ）、プリンタドライバは、仮想ヘッドの位置を搬送量Ｆだけ移動し（Ｓ５１１）、プリンタドライバの処理はステップＳ５０９に戻る。そして、ＰＯＬ下ノズルが下端印刷領域に位置するまで、仮想ヘッドの位置を搬送量Ｆずつ移動する。
【０１６５】
仮想ヘッドがパス７に相当する位置になったとき、ＰＯＬ下ノズルの位置Ｌ（＝３８）は下端印刷領域なので（Ｓ５１０でＹＥＳ）、プリンタドライバは、スケジューリングテーブルに位置Ｌが登録されているか否かを判断する（Ｓ５１２）。ここで、位置Ｌ（＝３８）はスケジューリングテーブルに登録されているので（Ｓ５１２でＹＥＳ）、スケジューリングテーブルの位置Ｌの情報を書き換え、記録位置が偶数画素である旨の情報を加える（Ｓ５１３）。なお、部分オーバーラップ印刷において、ＰＯＬ上ノズルは、紙上の偶数画素にドットを形成する。このときのスケジューリングテーブルは、図３４Ｂに示す状態である。
【０１６６】
そして、プリンタドライバは、仮想ヘッドの位置を搬送量Ｆだけ移動し（Ｓ５１１）、パス８に相当するＰＯＬ下ノズルの位置Ｌを算出する（Ｓ５０９）。但し、この位置Ｌ（＝４３）はスケジューリングテーブルに登録されていないので、ステップＳ５１２での判断はＮＯになる。このときのスケジューリングテーブルは、図３４Ｃに示す状態である。また、同様に、プリンタドライバは、仮想ヘッドの位置を搬送量Ｆだけ移動し（Ｓ５１１）、パス９に相当するＰＯＬ下ノズルの位置Ｌを算出する（Ｓ５０９）。但し、この位置Ｌ（＝４８）はスケジューリングテーブルに登録されていないので、ステップＳ５１２での判断はＮＯになる。このときのスケジューリングテーブルは、図３４Ｄに示す状態である。パス９のノズル♯１の位置は、「ＰＯＬ下ノズル用」のパラメータの終了位置に達しているので、ステップＳ５１４の判断はＹＥＳになり、プリンタドライバはパス１０のスケジューリングテーブルの作成処理を終了する。
【０１６７】
＜ラスタライズ処理について＞
第２実施形態で作成されたスケジューリングテーブルも、ラスタライズ処理に用いられる。但し、第２実施形態では、スケジューリングテーブルの「走査方向位置」の情報を考慮して、ラスタライズ処理が行われる。
【０１６８】
図３５Ａは、パス４の印刷データ作成のためのラスタライズ処理の説明図である。図３５Ｂは、ラスタライズ処理後の画素データの並び順であって、パス４の印刷データに含まれる画素データの並び順の説明図である。図３６は、パス４が行なわれるまでの処理の概念図である。
【０１６９】
第１実施形態の場合とほぼ同様に、プリンタドライバは、第２実施形態のパス４のスケジューリングテーブル（図３２Ｃ）に基づいて、図３５Ａの矢印で示す順に、画素データを並び替える。これにより、８番目、１１番目、１４番目、１７番目、２０番目及び２３番目のラスタデータから、それぞれノズル♯１〜ノズル♯６に対応する画素データが抽出され、印刷データが作成される。これらのラスタデータからの画素データの抽出は、第１実施形態の場合とほぼ同様なので、説明を省略する。
【０１７０】
第２実施形態では、パス４のスケジューリングテーブルの「位置：８」のスケジューリングデータには、「走査方向位置：偶数」との情報が登録されている。このような場合、プリンタドライバは、８番目のラスタデータから画素データを抽出する際に、奇数番目の画素データにマスクをかけて、偶数番目の画素データのみを抽出する。そして、印刷データを作成する際に、プリンタドライバは、マスクをかけられた画素データをＮＵＬＬデータに置き換える。これにより、８番目のラスタデータから最初に画素データを抽出する際に、１番目と３番目の画素データにマスクがかけられて、その結果、印刷データの最初の１バイトの画素データは、２ビットのＮＵＬＬデータ、２番目の画素データ（２ビット）、２ビットのＮＵＬＬデータ、４番目の画素データ（２ビット）の順に並んでいる（図３５Ｂ参照）。
【０１７１】
また、第２実施形態では、パス４のスケジューリングテーブルの「位置：２３」のスケジューリングデータには、「走査方向位置：奇数」との情報が登録されている。このような場合、プリンタドライバは、２３番目のラスタデータから画素データを抽出する際に、偶数番目の画素データにマスクをかけて、奇数番目の画素データのみを抽出する。そして、印刷データを作成する際に、プリンタドライバは、マスクをかけられた画素データをＮＵＬＬデータに置き換える。
【０１７２】
このようにして作成された印刷データをプリンタに送信すると、ＮＵＬＬデータに対応する画素にはドットが形成されないので、パス４のときに、ノズル♯１は間欠的に偶数画素にドットを形成し、ノズル♯６は間欠的に奇数画素にドットを形成する。
【０１７３】
なお、ここではパス４について説明をしたが、他のパスの場合でも、スケジューリングテーブルに「操作方向位置」の情報が登録されていれば、同様のラスタライズ処理を行う。このようにして各パスを実行すると、図２７の部分オーバーラップ印刷が実現できる。
【０１７４】
＝＝＝その他の実施の形態＝＝＝
上記の実施形態は、主としてプリンタについて記載されているが、その中には、印刷装置、記録装置、液体の吐出装置、印刷方法、記録方法、液体の吐出方法、印刷システム、記録システム、コンピュータシステム、プログラム、プログラムを記憶した記憶媒体、表示画面、画面表示方法、印刷物の製造方法、等の開示が含まれていることは言うまでもない。
【０１７５】
また、一実施形態としてのプリンタ等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０１７６】
＜ノズルについて＞
前述の実施形態では、圧電素子を用いてインクを吐出していた。しかし、液体を吐出する方式は、これに限られるものではない。例えば、熱によりノズル内に泡を発生させる方式など、他の方式を用いてもよい。
【０１７７】
＝＝＝まとめ＝＝＝
（１）前述の印刷システムによれば、プリンタドライバをインストールしたコンピュータ１１０（印刷制御装置の一例）と、プリンタ１（印刷装置の一例）とを備えている。そして、プリンタドライバ（正確には、プリンタドライバをインストールしたコンピュータ１１０）は、ラスタライズ処理（画像データを構成する複数の画素データ（図２３Ａ及び図２３Ｂ参照）の並び順を換える処理）により、印刷データを作成する（図２、図２４Ａ及び図２４Ｂ）。また、プリンタ１は、印刷データに基づいて、ドット形成処理（Ｓ００３(図５参照)）と、搬送処理（Ｓ００４）とを交互に繰り返し、搬送方向に並ぶ複数のラスタライン（ドット列の一例）を紙Ｓ（媒体の一例）に形成する。ここで、ドット形成処理とは、移動方向に移動する複数のノズルからインクを吐出してラスタラインを形成する処理であり、「パス」とも呼ばれる。また、搬送処理とは、紙Ｓをノズルに対して搬送方向に搬送する処理である。
【０１７８】
ところで、ラスタライズ処理を行う場合、各ノズルにより形成されるラスタラインの紙Ｓにおける搬送方向の位置に基づいて、画素データを並び替える必要がある。そこで、第１参考例の場合も、本実施形態（第１・第２実施形態）の場合も、プリンタドライバは、スケジューリングテーブルを参照して、ラスタライズ処理を行っている。
【０１７９】
しかし、第１参考例の場合、繰り返し行なわれる全てのパスにおけるノズルの位置をスケジューリングデータとして記憶しているので、スケジューリングテーブルのデータ量が膨大になってしまう。また、このようなスケジューリングテーブルから特定のデータを抽出する処理は時間がかかる。また、スケジューリングテーブルが完成する前には印刷データの作成ができず、印刷開始が遅れてしまう。
【０１８０】
そこで、前述の実施形態では、まず、プリンタドライバは、所定の通常印刷を終えた後も、仮想的に通常印刷を継続した場合の各パスの際の各ノズルにより形成されるラスタラインの紙Ｓにおける搬送方向の位置をダミースケジューリングテーブル（第１テーブルの一例）に記録する。例えば、パス９の後、仮想的なパス１０’〜パス１２’の各ノズルにより形成されるラスタラインの紙Ｓにおける搬送方向の位置をダミースケジューリングテーブルに記録する（Ｓ４００、Ｓ４０１〜Ｓ４０９（図１９参照）、図２０Ｃ参照）。次に、プリンタドライバは、下端印刷を行うパスの際の各ノズルにより形成されるラスタラインの紙Ｓにおける搬送方向の位置と、ダミースケジューリングテーブルに記憶された位置とを比較して（Ｓ５０３（図２１参照））、一致するものがあれば（Ｓ５０４でＹＥＳ）、その位置をスケジューリングテーブル（第２テーブルの一例）に記憶する（Ｓ５０５、図２２Ａ〜図２２Ｃ参照）。
【０１８１】
本実施形態によれば、このようにして、ドット形成処理毎（パス毎）にスケジューリングテーブルを作成することができる。  
この結果、本実施形態のスケジューリングテーブルのデータ量（例えば図２２Ａ参照）は、第１参考例のスケジューリングテーブルのデータ量（例えば図１２参照）と比較して、少なくて済む。また、本実施形態では、例えばパス１０用のスケジューリングテーブルが直接的に作成されるので、第１参考例のように多数のスケジューリングデータの中から必要なデータを抽出する処理（図１２参照）が不要なので、個々のパスのスケジューリングテーブルの作成時間を削減できる。また、例えばパス１０のスケジューリングテーブルを作成した後、他のパスのスケジューリングテーブルの作成を待たずに、パス１０の印刷データを作成することができるので、印刷開始を早くすることができる。
【０１８２】
（２）前述の実施形態によれば、プリンタドライバは、下端印刷を行うパスの際の各ノズルにより形成されるラスタラインの紙Ｓにおける搬送方向の位置と、ダミースケジューリングテーブルに記憶された位置とを比較して（Ｓ５０４（図２１参照））、一致するものがあれば（Ｓ５０４でＹＥＳ）、その位置をダミースケジューリングテーブルから削除する処理を行う（Ｓ５０６）。例えば、パス１０のスケジューリングテーブルを作成した直後の時点では、ダミースケジューリングテーブルから位置３８、位置４１、位置４４、位置４７及び位置５０の５個の情報が削除されている（図２２Ｂの上図の白丸参照）。スケジューリングテーブルは、最初の時点で１１個の位置が記憶されているので（図２０Ｃ参照、図２２Ａの上図の黒丸参照）、パス１０のスケジューリングテーブルを作成した直後の時点では６個の位置が記憶されている（図２２Ｂの上図の黒丸参照）。
【０１８３】
そして、その後のパスのスケジューリングテーブルを作成する際には、プリンタドライバは、一部の位置情報を削除したダミースケジューリングテーブルを用いて、ステップＳ５０３やステップＳ５０４の処理を行う。例えば、パス１１のスケジューリングテーブルを作成する際には、残り６個の位置を記憶しているダミースケジューリングテーブルと、パス１１の各ノズルの位置（詳しくは、各ノズルにより形成されるラスタラインの紙Ｓにおける搬送方向の位置）とを比較して（Ｓ５０３）、一致するものがあれば（Ｓ５０４でＹＥＳ）、その位置をスケジューリングテーブルに記憶する（Ｓ５０５）。
【０１８４】
ダミースケジューリングテーブルの位置を削除することにより、後に再度ステップＳ５０３を行なう際に比較対象が減っているので、コンピュータ１１０にかかる負荷を軽減することができる。特に、実際のノズル数は１８０個であり、下端印刷領域のラスタラインの数も数百個もあるような場合、前述のモデル例と比べて大きな効果を得ることができる。
【０１８５】
（３）なお、本実施形態では、全てのパスのスケジューリングテーブルを作成するまでの間に行なわれる比較処理（Ｓ１０５等、Ｓ２１１等）の回数が、第１参考例よりも多くなる。このため、本実施形態では、全てのパスのスケジューリングテーブルを作成するまでにかかる時間が、第１参考例よりも長くなる。但し、後の方のパス（例えばパス１０等）のスケジューリングテーブルの作成が第１参考例よりも本実施形態の方が遅いとしても、そのパスが行なわれるまでに、そのパスのスケジューリングテーブルが作成され、そのパスの印刷データが作成されていれば良いので、印刷終了が遅くなる等の影響はない。
【０１８６】
このため、本実施形態では、プリンタ１が印刷データに基づいてあるパス（例えばパス１）を行なう間に、プリンタドライバは、その後に行なわれるパス（例えば次のパス）のの印刷データを作成する。
【０１８７】
（４）前述の第２実施形態では、部分オーバーラップ印刷が行われる結果、例えば、通常印刷を行うパス７のノズル♯６が奇数画素（移動方向の特定の位置の一例）にドットを形成し、下端印刷を行うパス１０の際に、奇数画素に形成されたドットの間を埋めるように、ノズル♯１（他のノズルの一例）が偶数画素にドットを形成する。
【０１８８】
このように部分オーバーラップ印刷が行われる場合、プリンタドライバは、通常印刷のＰＯＬ下ノズルの位置と、スケジューリングテーブルに記憶された位置とを比較して（Ｓ５１２（図３３参照））、一致するものがあれば（Ｓ５１２でＹＥＳ）、その位置のスケジューリングデータをＰＯＬ上ノズル用に書き換える（Ｓ５１３（図３３参照）、図３４Ｂ参照）。これにより、例えば図２７の３８番目のラスタラインが２重に形成されることを防ぐことができる。
【０１８９】
（５）前述の第２実施形態では、通常印刷において間欠的にインクを吐出するノズル（例えばノズル♯６）は、インクを吐出するノズルのうちの搬送方向端部に位置する。これは、端に位置するノズルが吐出不良になり易いためである。但し、これに限られるものではない。例えば、ノズル群の中央部に位置するノズルが間欠的にドットを形成して部分オーバーラップ印刷を行っても良い。
【０１９０】
（６）前述の実施形態では、印刷装置を制御する印刷制御装置は、プリンタドライバをインストールしたコンピュータであった。つまり、印刷制御装置は、印刷装置と別体に設けられていた。
【０１９１】
（７）しかし、これに限られるものではない。例えば、プリンタドライバの機能をプリンタ１が備えていても良い。そして、ＣＰＵ６２が、印刷制御装置として機能し、搬送ユニット２０、キャリッジユニット３０及びヘッドユニット４０から構成される印刷装置を制御しても良い。この場合、印刷制御装置と印刷装置は、プリンタ１に一体的に設けられており、プリンタ１が単体で印刷システムとなる。
【図面の簡単な説明】
【０１９２】
【図１】印刷システムの全体構成の説明図である。
【図２】プリンタドライバが行う処理の説明図である。
【図３】プリンタの全体構成のブロック図である。
【図４】図４Ａは、プリンタの全体構成の概略図である。図４Ｂは、プリンタの全体構成の横断面図である。
【図５】印刷時の処理のフロー図である。
【図６】ノズルの配列を示す説明図である。
【図７】図７Ａ及び図７Ｂは、インターレース印刷の説明図である。図７Ａは、パス１〜パス５におけるヘッドの位置とドットの形成の様子を示し、図７Ｂは、パス１〜パス６におけるヘッドの位置とドットの形成の様子を示している。
【図８】上端印刷及び下端印刷の説明図である。
【図９】図９Ａは、仮想印刷の説明図である。図９Ｂは、仮想印刷の条件を設定するためのパラメータの説明図である。
【図１０】第１参考例のスケジューリングテーブルの作成のフロー図である。
【図１１】図１１Ａは、仮想印刷１の最初のパスまでのスケジューリングテーブルの説明図である。図１１Ｂは、仮想印刷１の２番目のパスまでのスケジューリングテーブルの説明図である。図１１Ｃは、Ｐ＝２において最初にＳ１０９の処理を行う際のスケジューリングテーブルの説明図である。図１１Ｄは、仮想印刷２の２度目のパスまでのスケジューリングテーブルの説明図である。図１１Ｅは、仮想印刷２の３度目のパスまでのスケジューリングテーブルの説明図である。
【図１２】第１参考例のスケジューリングテーブルの用い方の説明図である。
【図１３】第１実施形態の仮想印刷の条件を設定するためのパラメータの説明図である。
【図１４】図１４は、第１実施形態の上端印刷におけるパスｍのスケジューリングテーブルの作成処理のフロー図である。
【図１５】図１５Ａ〜図１５Ｅは、パス１に対するスケジューリングテーブルの作成処理の各段階の説明図である。
【図１６】第１実施形態の通常印刷におけるパスｍのスケジューリングテーブルの作成処理のフロー図である。
【図１７】図１７Ａ〜図１７Ｃの下には、パス４〜パス６の各パスに対するスケジューリングテーブルが示されている。各図の上には、スケジューリングテーブルの作成時の処理内容の概念図が示されている。
【図１８】第１実施形態の下端印刷のスケジューリングテーブルの作成処理のフロー図である。
【図１９】ダミースケジューリングテーブルの作成処理のフロー図である。
【図２０】図２０Ａ〜図２０Ｃは、ダミースケジューリングテーブルを説明するための概念図である。
【図２１】ダミースケジューリングテーブルに基づく各パスのスケジューリングテーブルの作成処理のフロー図である。
【図２２】図２２Ａ〜図２２Ｃは、各パスのスケジューリングテーブルを説明するための概念図である。
【図２３】図２３Ａは、ラスタライズ処理前の画像データ（ハーフトーン処理後の画像データ）の説明図である。図２３Ｂは、ラスタライズ処理前の画素データの並び順の説明図である。
【図２４】図２４Ａは、パス１の印刷データ作成のためのラスタライズ処理の説明図である。図２４Ｂは、ラスタライズ処理後の画素データの並び順であって、パス１の印刷データに含まれる画素データの並び順の説明図である。
【図２５】印刷データに基づくドット形成処理の説明図である。
【図２６】図２６Ａ及び図２６Ｂは、部分オーバーラップ印刷の説明図である。
【図２７】部分オーバーラップ印刷における上端印刷と下端印刷の説明図である。
【図２８】第２実施形態の仮想印刷の条件を設定するためのパラメータの説明図である。
【図２９】第２実施形態の上端印刷におけるパスｍのスケジューリングテーブルの作成処理のフロー図である。
【図３０】図３０Ａ〜図３０Ｃは、パス１に対するスケジューリングテーブルの作成処理の各段階の説明図である。
【図３１】第２実施形態の通常印刷におけるパスｍのスケジューリングテーブルの作成処理のフロー図である。
【図３２】図３２Ａ〜図３２Ｃは、パス４対するスケジューリングテーブルの作成処理の各段階の説明図である。
【図３３】第２実施形態の下端印刷の各パスのスケジューリングテーブルの作成処理のフロー図である。
【図３４】図３４Ａ〜図３４Ｄは、パス１０に対するスケジューリングテーブルの作成処理の各段階の説明図である。
【図３５】図３５Ａは、パス４の印刷データ作成のためのラスタライズ処理の説明図である。図３５Ｂは、ラスタライズ処理後の画素データの並び順であって、パス４の印刷データに含まれる画素データの並び順の説明図である。
【図３６】パス４が行なわれるまでの処理の概念図である。
【符号の説明】
【０１９３】
１  プリンタ、
２０  搬送ユニット、２１  給紙ローラ、２２  搬送モータ（ＰＦモータ）、
２３  搬送ローラ、２４  プラテン、２５  排紙ローラ、
３０  キャリッジユニット、３１  キャリッジ、
３２  キャリッジモータ（ＣＲモータ）、
４０  ヘッドユニット、４１  ヘッド、
５０  検出器群、５１  リニア式エンコーダ、５２  ロータリー式エンコーダ、
５３  紙検出センサ、５４  光学センサ、
６０  コントローラ、６１  インターフェース部、６２  ＣＰＵ、
６３  メモリ、６４  ユニット制御回路
１００  印刷システム
１１０  コンピュータ、
１１２  ビデオドライバ、  １１４  アプリケーションプログラム、
１１６  プリンタドライバ
１２０  表示装置、
１３０  入力装置、１３０Ａ  キーボード、１３０Ｂ  マウス、
１４０  記録再生装置、
１４０Ａ  フレキシブルディスクドライブ装置
１４０Ｂ  ＣＤ−ＲＯＭドライブ装置
【図１】
2006264056.tif 000003
【図２】
2006264056.tif 000004
【図３】
2006264056.tif 000005
【図４】
2006264056.tif 000006
【図５】
2006264056.tif 000007
【図６】
2006264056.tif 000008
【図７】
2006264056.tif 000009
【図８】
2006264056.tif 000010
【図９】
2006264056.tif 000011
【図１０】
2006264056.tif 000012
【図１１】
2006264056.tif 000013
【図１２】
2006264056.tif 000014
【図１３】
2006264056.tif 000015
【図１４】
2006264056.tif 000016
【図１５】
2006264056.tif 000017
【図１６】
2006264056.tif 000018
【図１７】
2006264056.tif 000019
【図１８】
2006264056.tif 000020
【図１９】
2006264056.tif 000021
【図２０】
2006264056.tif 000022
【図２１】
2006264056.tif 000023
【図２２】
2006264056.tif 000024
【図２３】
2006264056.tif 000025
【図２４】
2006264056.tif 000026
【図２５】
2006264056.tif 000027
【図２６】
2006264056.tif 000028
【図２７】
2006264056.tif 000029
【図２８】
2006264056.tif 000030
【図２９】
2006264056.tif 000031
【図３０】
2006264056.tif 000032
【図３１】
2006264056.tif 000033
【図３２】
2006264056.tif 000034
【図３３】
2006264056.tif 000035
【図３４】
2006264056.tif 000036
【図３５】
2006264056.tif 000037
【図３６】
2006264056.tif 000038