(57)【特許請求の範囲】
【請求項１】
Ｎ個（前記Ｎは２以上の整数）のノズルが形成された印刷ヘッドが着脱可能に搭載されるプリンタであって、
画像処理部が特定の画像データに対して画像処理を実行することによって生成される処理済み画像データを用いて、搭載された前記印刷ヘッドに印刷を実行させる印刷制御部と、
ユーザから与えられるＭ個（前記Ｍは前記Ｎより小さい整数）の第１のデータを取得する第１のデータ取得部と、
前記Ｍ個の第１のデータを用いて、前記印刷ヘッドに形成された前記Ｎ個のノズルに対応するＮ個の第１種の特性データであって、前記画像処理部によって用いられる前記Ｎ個の第１種の特性データを生成する生成部と、を備え、
前記Ｍ個の第１のデータは、前記Ｎ個のノズルと、前記Ｎ個の第１種の特性データと、の関係を近似的に表す特定の関数を表現するための特徴点の座標値を含むデータであり、
前記第１種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するデータであり、
前記処理済み画像データは、前記画像処理部が、前記Ｎ個のノズルから吐出される液滴の吐出量のバラツキを補償するために、対象の画像データ内の注目画素に対して、前記注目画素に対応する印刷媒体上の位置にドットを形成する注目ノズルのための補正用データを用いて、特定の処理を実行することによって生成されるデータであり、
前記Ｎ個の第１種の特性データが生成される第１の場合に、前記補正用データは、前記Ｎ個の第１種の特性データのうちの前記注目ノズルに対応する特定の第１種の特性データを用いて得られるデータである、プリンタ。
【請求項２】
一次元コードと二次元コードとの少なくとも一方のコードを読み取ることによって得られる第２のデータを取得する第２のデータ取得部をさらに備え、
前記第２のデータは、前記印刷ヘッドに形成された前記Ｎ個のノズルに対応するＮ個の第２種の特性データであって、前記画像処理部によって用いられる前記Ｎ個の第２種の特性データを含み、
前記第２種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するデータであり、
前記Ｎ個の第２種の特性データを含む前記第２のデータが取得される第２の場合に、前記補正用データは、前記Ｎ個の第２種の特性データのうちの前記注目ノズルに対応する特定の第２種の特性データを用いて得られるデータである、請求項１に記載のプリンタ。
【請求項３】
第３のデータの所在を示す所在情報に基づいて得られる前記第３のデータを取得する第３のデータ取得部をさらに備え、
前記第３のデータは、前記印刷ヘッドに形成された前記Ｎ個のノズルに対応するＮ個の第３種の特性データであって、前記画像処理部によって用いられる前記Ｎ個の第３種の特性データを含み、
前記第３種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するデータであり、
前記Ｎ個の第３種の特性データを含む前記第３のデータが取得される第３の場合に、前記補正用データは、前記Ｎ個の第３種の特性データのうちの前記注目ノズルに対応する特定の第３種の特性データを用いて得られるデータである、請求項１又は２に記載のプリンタ。
【請求項４】
印刷ヘッドセットであって、
プリンタに着脱可能に搭載され、Ｎ個（前記Ｎは２以上の整数）のノズルが形成された印刷ヘッドと、
Ｍ個（前記Ｍは前記Ｎより小さい整数）の第１のデータを含む情報が記述された記録媒体と、を備え、
前記Ｍ個の第１のデータは、前記印刷ヘッドに形成された前記Ｎ個のノズルと、前記Ｎ個のノズルに対応するＮ個の第１種の特性データと、の関係を近似的に表す特定の関数を表現するための特徴点の座標値を含むデータであり、
前記第１種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するデータである、印刷ヘッドセット。
【請求項５】
前記Ｍ個の第１のデータは、前記印刷ヘッドに形成された前記Ｎ個のノズルに含まれる２個のノズルであって、前記プリンタの副走査方向の両端に位置する前記２個のノズルに対応する２個の前記第１種の特性データを含む、請求項４に記載の印刷ヘッドセット。
【請求項６】
前記記録媒体には、さらに、一次元コードと二次元コードとの少なくとも一方のコードが記述されており、
前記少なくとも一方のコードが読み取られることによって得られる第２のデータは、前記印刷ヘッドに形成された前記Ｎ個のノズルに対応するＮ個の第２種の特性データを含み、
前記第２種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するデータである、請求項４又は５に記載の印刷ヘッドセット。
【請求項７】
前記記録媒体には、さらに、第３のデータの所在を示す所在情報が記述されており、
前記所在情報に基づいて得られる前記第３のデータは、前記印刷ヘッドに形成された前記Ｎ個のノズルに対応するＮ個の第３種の特性データを含み、
前記第３種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するデータである、請求項４から６のいずれか１項に記載の印刷ヘッドセット。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、液滴を吐出するための複数個のノズルが形成された印刷ヘッドが着脱可能に搭載されるプリンタに関する技術を開示する。
【背景技術】
【０００２】
ＣＭＹＫ形式で記述された複数個の画素を含むＣＭＹＫ画像データに対して画像処理（例えばハーフトーン処理）を実行することによって、二値（ドット無、ドット有）又は三値以上（ドット無、小ドット、中ドット、大ドット等）で記述された複数個の画素を含む処理済み画像データを生成する技術が広く知られている。インクジェットプリンタは、例えば、外部装置で生成された処理済み画像データを取得する。また、インクジェットプリンタは、例えば、自身で処理済み画像データを生成することによって、処理済み画像データを取得する。インクジェットプリンタは、処理済み画像データ内の複数個の画素のそれぞれについて、当該画素に対応する印刷媒体上の位置に、当該画素の値に従ってドットを形成する。これにより、処理済み画像データによって表わされる画像が、印刷媒体に形成される。
【０００３】
特許文献１のインクジェットプリンタは、印刷ヘッドに形成された複数個のノズルのそれぞれについて、当該ノズルから吐出されるインク滴の吐出量に関係する特性データを記憶している。具体的には、特性データは、予め決められている目標の吐出量に対して何パーセントの増減があるのかを示すデータである。このインクジェットプリンタは、各ノズルの特性データを用いて、ＣＭＹＫ画像データを補正する。例えば、ＣＭＹＫ画像データ内の特定の画素のＫ値がＫであり、上記の特定の画素に対応する印刷媒体上の位置にドットを形成するノズルの特性データがＸ％である場合には、Ｋ×（１００％−Ｘ％）という計算式によって、上記の特定の画素のＫ値が補正される。ＣＭＹＫ画像データ内の各画素について、上記の補正が実行される。インクジェットプリンタは、補正後のＣＭＹＫ画像データに対してハーフトーン処理を実行する。この結果、複数個のノズルから吐出されるインク滴の吐出量のバラツキ（以下では単に「吐出量のバラツキ」と呼ぶことがある）が補償された処理済み画像データが生成される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２５２１２号公報
【特許文献２】特開平１１−５８７０４号公報
【特許文献３】特開２００１−３８８９２号公報
【特許文献４】特開２００５−２２５１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
プリンタに新たな印刷ヘッドが搭載される場合（例えば、印刷ヘッドが交換される場合、新品のプリンタに最初に印刷ヘッドが搭載される場合等）には、画像処理を実行する画像処理実行デバイス（例えば、プリンタ、外部装置等）は、新たな印刷ヘッドに形成された複数個のノズルに対応する複数個の特性データを取得する必要がある。従って、ユーザは、新たな印刷ヘッドに形成された複数個の特性データを、直接的に、又は、他のデバイスを介して間接的に、画像処理実行デバイスに与える作業を実行する必要がある。例えば、複数個の特性データをユーザに提供すれば、ユーザは、複数個の特性データのそれぞれを、画像処理実行デバイス又は他のデバイスに入力することによって、複数個の特性データを画像処理実行デバイスに与えることができる。しかしながら、複数個の特性データのそれぞれをユーザに入力させる手法（以下では「特定の手法」と呼ぶ）を採用すると、印刷ヘッドのノズル数が多い場合には、ユーザの作業負荷が高い。本明細書では、上記の特定の手法と比べると、ユーザの作業負荷を低減することができる技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される技術は、Ｎ個（Ｎは２以上の整数）のノズルが形成された印刷ヘッドが着脱可能に搭載されるプリンタとして具現化される。プリンタは、印刷制御部と、第１のデータ取得部と、生成部と、を備える。印刷制御部は、画像処理部が特定の画像データに対して画像処理を実行することによって生成される処理済み画像データを用いて、搭載された印刷ヘッドに印刷を実行させる。第１のデータ取得部は、ユーザから与えられるＭ個（ＭはＮより小さい整数）の第１のデータを取得する。生成部は、Ｍ個の第１のデータを用いて、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第１種の特性データであって、画像処理部によって用いられるＮ個の第１種の特性データを生成する。第１種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するデータである。処理済み画像データは、画像処理部が、Ｎ個のノズルから吐出される液滴の吐出量のバラツキを補償するために、対象の画像データ内の注目画素に対して、注目画素に対応する印刷媒体上の位置にドットを形成する注目ノズルのための補正用データを用いて、特定の処理を実行することによって生成されるデータである。Ｎ個の第１種の特性データが生成される第１の場合に、補正用データは、Ｎ個の第１種の特性データのうちの注目ノズルに対応する特定の第１種の特性データを用いて得られるデータである。
【０００７】
この構成によると、生成部は、ユーザから与えられるＭ個の第１のデータを用いて、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第１種の特性データを生成する。従って、Ｎ個の特性データのそれぞれを入力する作業をユーザが実行せずに済み、Ｎ個よりも少ないＭ個の第１のデータをプリンタに与える作業をユーザが実行すれば足りる。このために、上記の特定の手法と比べると、ユーザの作業負担が低減する。
【０００８】
上記のプリンタは、一次元コードと二次元コードとの少なくとも一方のコードを読み取ることによって得られる第２のデータを取得する第２のデータ取得部をさらに備えてもよい。第２のデータは、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第２種の特性データであって、画像処理部によって用いられるＮ個の第２種の特性データを含んでいてもよい。第２種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するデータであってもよい。Ｎ個の第２種の特性データを含む第２のデータが取得される第２の場合に、補正用データは、Ｎ個の第２種の特性データのうちの注目ノズルに対応する特定の第２種の特性データを用いて得られるデータであってもよい。
【０００９】
この構成によると、ユーザは、上記の少なくとも一方のコードを読み取るための作業を実行すれば、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第２種の特性データを、プリンタに与え得る。上記の特定の手法と比べると、ユーザの作業負担が低減し得る。
【００１０】
上記のプリンタは、第３のデータの所在を示す所在情報に基づいて得られる第３のデータを取得する第３のデータ取得部をさらに備えてもよい。第３のデータは、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第３種の特性データであって、画像処理部によって用いられるＮ個の第３種の特性データを含んでいてもよい。第３種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するデータであってもよい。Ｎ個の第３種の特性データを含む第３のデータが取得される第３の場合に、補正用データは、Ｎ個の第３種の特性データのうちの注目ノズルに対応する特定の第３種の特性データを用いて得られるデータであってもよい。
【００１１】
この構成によると、ユーザは、上記の所在情報に基づいて第３のデータを取得するための作業を実行すれば、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第３種の特性データを、プリンタに与え得る。上記の特定の手法と比べると、ユーザの作業負担が低減し得る。
【００１２】
本明細書によって開示される技術は、印刷ヘッドセットとして具現化することもできる。印刷ヘッドセットは、印刷ヘッドと、記録媒体と、を備える。印刷ヘッドは、プリンタに着脱可能に搭載され、Ｎ個（Ｎは２以上の整数）のノズルが形成されている。記録媒体は、Ｍ個（ＭはＮより小さい整数）の第１のデータを含む情報が記述されている。Ｍ個の第１のデータは、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第１種の特性データを生成するためのデータである。第１種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するデータである。
【００１３】
この構成によると、ユーザは、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第１種の特性データを生成するためのＭ個の第１のデータを含む情報を記録媒体から得ることができる。ユーザは、Ｍ個の第１のデータからＮ個の第１種の特性データを生成する特定のデバイス（例えばプリンタ、外部装置等）に、Ｍ個の第１のデータを与えることができる。これにより、上記の特定のデバイスは、Ｎ個の第１種の特性データを生成することができる。Ｎ個よりも少ないＭ個の第１のデータを与える作業をユーザが実行すれば足りるために、上記の特定の手法と比べると、ユーザの作業負担が低減する。
【００１４】
Ｍ個の第１のデータは、印刷ヘッドに形成されたＮ個のノズルに含まれる２個のノズルであって、プリンタの副走査方向の両端に位置する２個のノズルに対応する２個の第１種の特性データを含んでいてもよい。この構成によると、上記の特定のデバイスは、プリンタの副走査方向の両端に位置する２個のノズルに対応する２個の第１種の特性データを用いて、Ｎ個の第１種の特性データを生成することができる。
【００１５】
Ｍ個の第１のデータは、印刷ヘッドに形成されたＮ個のノズルと、Ｎ個の第１種の特性データと、の関係を表す特定の関数を再現するための特徴点の座標値を含んでいてもよい。この構成によると、上記の特定のデバイスは、特徴点の座標値を用いて上記の特定の関数を再現することによって、Ｎ個のノズルに対応するＮ個の第１種の特性データを生成することができる。
【００１６】
記録媒体には、さらに、一次元コードと二次元コードとの少なくとも一方のコードが記述されていてもよい。上記の少なくとも一方のコードが読み取られることによって得られる第２のデータは、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第２種の特性データを含んでいてもよい。第２種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するデータであってもよい。この構成によると、ユーザは、上記の少なくとも一方のコードを読み取るための作業を実行すれば、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第２種の特性データを、画像処理実行デバイス（例えば、プリンタ、外部装置等）に与え得る。上記の特定の手法と比べると、ユーザの作業負担が低減し得る。
【００１７】
記録媒体には、さらに、第３のデータの所在を示す所在情報が記述されていてもよい。上記の所在情報に基づいて得られる第３のデータは、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第３種の特性データを含んでいてもよい。第３種の特性データは、対応するノズルから吐出される液滴の吐出量に関係するものであってもよい。この構成によると、ユーザは、上記の所在情報に基づいて第３のデータを取得するための作業を実行すれば、印刷ヘッドに形成されたＮ個のノズルに対応するＮ個の第３種の特性データを、画像処理実行デバイス（例えば、プリンタ、外部装置等）に与え得る。上記の特定の手法と比べると、ユーザの作業負担が低減し得る。
【００１８】
なお、上記のプリンタを実現するための制御方法、及び、コンピュータプログラムも、新規で有用である。
【図面の簡単な説明】
【００１９】
【図１】ネットワークシステムの構成を示す。
【図２】印刷ヘッドのノズル面の平面図を示す。
【図３】第１の印刷ヘッド用の特性データテーブルを示す。
【図４】第１実施例の印刷モードで形成されるラスタ群を示す。
【図５】ＰＣが実行する二値データ生成処理のフローチャートを示す。
【図６】変換済みＲＧＢ画像データ内の各画素を示す。
【図７】ＣＭＹＫ画像データ内の各画素を示す。
【図８】ＣＭＹＫ画像データ内の各画素の誤差値を示す。
【図９】ＣＭＹＫ画像データ内の各画素の誤差値を算出するための式を示す。
【図１０】Ｋ用ノズル群の各ノズルの特性データを示す。
【図１１】４個の座標値から再現される関数を示す。
【図１２】プリンタが実行する特性データテーブル更新処理のフローチャートを示す。
【図１３】第２実施例で生成される補正済み画像データ内の各画素を示す。
【発明を実施するための形態】
【００２０】
（第１実施例）
（システムの構成）
図面を参照して第１実施例を説明する。図１は、本実施例のネットワークシステム２の概略図を示す。ネットワークシステム２は、ＬＡＮ４と、ルータ６と、インターネット８と、ＰＣ１０と、プリンタ５０と、サーバ１００と、を備える。ルータ６、ＰＣ１０、及び、プリンタ５０は、ＬＡＮ４に接続されている。ルータ６は、インターネット８に接続されている。サーバ１００は、インターネット８に接続されている。ＰＣ１０、プリンタ５０、及び、サーバ１００は、相互に通信可能である。
【００２１】
（ＰＣ１０の構成）
ＰＣ１０は、操作部１２と、表示部１４と、ネットワークインターフェイス１６と、メモリ２０と、制御部３０と、を備える。操作部１２は、マウスとキーボードとによって構成される。ユーザは、操作部１２を操作することによって、様々な指示をＰＣ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。ネットワークインターフェイス１６は、ＬＡＮ４に接続されている。
【００２２】
メモリ２０は、ワーク領域２２を備える。ワーク領域２２は、例えば、印刷対象のデータを記憶する。印刷対象のデータは、例えば、ＰＣ１０内のアプリケーションによって生成されるデータであってもよいし、外部装置から取得されるデータであってもよい。ＰＣ１０内のアプリケーションの例として、ワープロソフト、表計算ソフト等を挙げることができる。外部装置の例として、インターネット８上のサーバ、ＬＡＮ４に接続されているデバイス、持ち運び可能な記憶媒体等を挙げることができる。メモリ２０は、さらに、プリンタ５０のためのプリンタドライバ２４を記憶する。プリンタドライバ２４は、プリンタ５０に様々な指示（例えば印刷指示）を送信するためのソフトウェアである。プリンタドライバ２４は、例えば、プリンタドライバ２４を格納しているコンピュータ読取可能媒体からＰＣ１０にインストールされてもよいし、インターネット８上のサーバからＰＣ１０にインストールされてもよい。
【００２３】
制御部３０は、メモリ２０に格納されているプログラム（例えばプリンタドライバ２４）に従って、様々な処理を実行する。制御部３０がプリンタドライバ２４に従って処理を実行することによって、画像処理部３２の機能が実現される。
【００２４】
（プリンタ５０の構成）
プリンタ５０は、ネットワークインターフェイス５２と、操作部５３と、表示部５４と、制御部５５と、メモリ５６と、を備える。さらに、プリンタ５０には、第１の印刷ヘッド８０が着脱可能に搭載されている。ネットワークインターフェイス５２は、ＬＡＮ４に接続されている。操作部５３は、複数個のキーによって構成される。表示部５４は、様々な情報を表示するためのディスプレイである。制御部５５は、メモリ５６に記憶されているプログラム６４に従って、様々な処理を実行する。制御部５５がプログラム６４に従って処理を実行することによって、第１のデータ取得部７０、生成部７２、印刷制御部７４、第２のデータ取得部７６、及び、第３のデータ取得部７８、の各機能が実現される。メモリ５６は、プログラム６４の他に、第１の印刷ヘッド用の特性データテーブル６０（図３参照）を記憶する。特性データテーブル６０には、第１の印刷ヘッド８０に形成された複数個のノズルのそれぞれについて、当該ノズルから吐出されるインク滴の吐出量に関係する特性データが登録されている。第１の印刷ヘッド８０は、プリンタ５０の出荷段階において、プリンタ５０に搭載されている印刷ヘッドである。第１の印刷ヘッド８０には、３種類の有彩色（シアン、マゼンタ、イエロー）のインク滴を吐出するための３組のノズル群（Ｃ用ノズル群８４ｃ，Ｍ用ノズル群８４ｍ，Ｙ用ノズル群８４ｙ）と、ブラックのインク滴を吐出するための１組のノズル群（Ｋ用ノズル群８４ｋ）と、が形成されている。また、プリンタ５０は、自身に搭載されている印刷ヘッド（例えば、第１の印刷ヘッド８０、後述の第２の印刷ヘッド１２２等）の駆動機構、印刷媒体の搬送機構等（これらは図示省略）を備える。
【００２５】
印刷ヘッドの駆動機構は、キャリッジと、キャリッジを移動させるモータと、を備える。印刷ヘッドは、キャリッジに着脱可能に搭載される。キャリッジは、プリンタ５０の筐体内を所定方向に往復移動する。キャリッジが移動すると、印刷ヘッドも移動する。キャリッジの往復移動方向、即ち、印刷ヘッドの往復移動方向のことを「主走査方向」と呼ぶ（図２参照）。また、印刷ヘッドが１回の往復移動を行うことを「１回の主走査」と呼ぶ。印刷ヘッドの駆動機構は、さらに、印刷ヘッドに駆動信号を供給する回路を備える。印刷ヘッドに駆動信号が供給されると、印刷ヘッドに形成されたノズル群からインク滴が吐出される。１回の主走査の往路の間に、ノズル群からインク滴が吐出されるように、駆動信号が印刷ヘッドに供給される。なお、１回の主走査の復路の間には、ノズル群からインク滴が吐出されない。印刷媒体の搬送機構は、主走査方向に垂直の方向に印刷媒体を搬送する。印刷媒体の搬送方向のことを「副走査方向」と呼ぶ。なお、別の実施例では、印刷ヘッドの１回の往復移動の往路と復路の両方の間に、ノズル群からインク滴が吐出されるように、駆動信号が印刷ヘッドに供給されてもよい。この場合、印刷ヘッドの１回の往復移動のうち、往路と復路のそれぞれを「１回の主走査」ということができる。
【００２６】
図２に示されるように、第１の印刷ヘッド８０は、４組のノズル群８４ｋ，８４ｃ，８４ｍ，８４ｙが形成されたノズル面８２を備える。Ｋ用ノズル群８４ｋは、ｎ個（ｎは２以上の整数）のＫ用ノズルによって構成される。Ｋ用ノズル群８４ｋは、副走査方向に伸びる６本のノズル列Ｌｋ１〜Ｌｋ６を形成する。Ｋ用ノズル群８４ｋのｎ個のＫ用ノズルは、６本のノズル列Ｌｋ１等のいずれかに属する。例えば、Ｋ用ノズルＮｋ１，Ｎｋ７等はノズル列Ｌｋ１に属し、Ｋ用ノズルＮｋ４等はノズル列Ｌｋ２に属し、Ｋ用ノズルＮｋ２等はノズル列Ｌｋ３に属する。１本のノズル列に属する隣接する２個のＫ用ノズル（例えばノズル列Ｌｋ１に属するＫ用ノズルＮｋ１とＫ用ノズルＮｋ７）の間には、副走査方向において、他の５本のノズル列に属する５個のＫ用ノズル（例えばＮｋ２〜Ｎｋ６）が位置する。なお、本明細書では、Ｋ用ノズル群８４ｋのうち、副走査方向の最も下流側（図２の上側）に存在するＫ用ノズルの参照番号として「Ｎｋ１」を採用しており、副走査方向の上流側（図２の下側）に向かうにつれて、Ｋ用ノズルの参照番号が大きくなる（例えばＮｋ２、Ｎｋ３・・・）。
【００２７】
他の色に対応するノズル群８４ｃ等は、Ｋ用ノズル群８４ｋと同様の構成を備える。従って、ノズル面８２には、合計で４ｎ個のノズルが形成されている。なお、以下では、ＣＭＹＫの４色のインク滴を吐出する全てのノズルのことを「４ｎ個のノズル」と呼ぶ。他の色のノズル群８４ｃ等についても、Ｋ用ノズル群８４ｋの場合と同様に参考番号が設定されている。なお、４個のノズル群８４ｋ等が同様の構成を備えるために、ＣＭＹＫの４色に対応する４個のノズルは、副走査方向において同じ位置に配置されている。例えば、副走査方向において、４個のノズルＮｋ１，Ｎｃ１，Ｎｍ１，Ｎｙ１が同じ位置に配置されていると共に、４個のノズルＮｋ２，Ｎｃ２，Ｎｍ２，Ｎｙ２が同じ位置に配置されている。
【００２８】
第１の印刷ヘッド用の特性データテーブル６０について説明する。図３に示されるように、特性データテーブル６０には、第１の印刷ヘッド８０に形成された４ｎ個のノズルのそれぞれについて、当該ノズルのノズル番号と、当該ノズルから吐出されるインク滴の吐出量に関係する特性データと、が対応づけて登録されている。図３の特性データテーブル６０では、ノズルのノズル番号として、当該ノズルの参照番号（図２のＮｋ１等）を採用している。例えば、ノズル番号Ｎｋ１に対応する特性データ「６」は、ブラックのインク滴を吐出するためのＫ用ノズルＮｋ１（図２参照）の特性データを示す。特性データテーブル６０に登録されている各特性データは、プリンタ５０のベンダによって予め調査されている。具体的には、次の手法によって調査される。
【００２９】
図示省略しているが、第１の印刷ヘッド８０は、４ｎ個のノズルからインク滴を吐出させるためのアクチュエータユニットを備える。アクチュエータユニットは、４ｎ個のノズルに対応する４ｎ個の個別電極を備える。個別電極に上記の駆動信号が供給されると、当該個別電極に対応するノズルから１個のインク滴が吐出される。プリンタ５０のベンダは、Ｋ用ノズル群８４ｋに属するｎ個のＫ用ノズルに対応するｎ個の個別電極のそれぞれに１個の駆動信号を供給する。なお、ここで供給されるｎ個の駆動信号は、同じ信号である。上記のｎ個の駆動信号が供給されると、ｎ個のＫ用ノズルから所定の媒体に向けてｎ個のブラックのインク滴が吐出される。この結果、ｎ個のＫ用ノズルに対応するｎ個のブラックのドットが上記の所定の媒体上に形成される。
【００３０】
ベンダは、ｎ個のブラックのドットのそれぞれについて、当該ドットの濃度（例えば単位面積当りのブラックの濃さ）を測定する。ベンダは、Ｋ用ノズル群８４ｋのうち、最も濃度が低い特定のドットの濃度を２５６階調の最大値である「２５５」に決定する。次いで、ベンダは、他のＫ用ノズルが形成するドットの濃度を、最も濃度が低い特定のドットの濃度を基準にして特定する。このため、他のＫ用ノズルが形成するドットの濃度は、２５５以上の値で特定される。続いて、ベンダは、各Ｋ用ノズルが形成したドットの濃度と、もっとも濃度が低い特定のドットの濃度（即ち２５５）と、の差分に基づいて、当該Ｋ用ノズルの特性データを決定する。このため、本実施例では、最も濃度が低い特定のドットを形成するＫ用ノズルの特性データは、ゼロに決定される。そして、他のＫ用ノズルが形成するドットの濃度は、ゼロ以上の値に決定される。例えば、図３に示されるノズル番号Ｎｋ１に対応する特性データは「６」である。これは、Ｋ用ノズルＮｋ１が形成したドットの濃度（２６１）と、最も濃度が低い特定のドットの濃度（２５５）と、の差分が、「６」であることを意味する。ベンダは、ブラックの場合と同様に、シアン、マゼンタ、イエロのそれぞれについても、各ノズルの特性データを決定する。例えば、ベンダは、Ｃ用ノズル群８４ｃのうち、最も濃度が低い特定のドットを形成する特定のＣ用ノズルの特性データをゼロに決定する。さらに、ベンダは、他のＣ用ノズルが形成するドットの濃度と、上記の特定のドットの濃度と、の差分に基づいて、当該他のＣ用ノズルの特性データを決定する。ベンダは、調査結果に基づいて特性データテーブル６０を生成し、特性データテーブル６０を記憶部５６に格納させる。プリンタ５０は、出荷段階において、特性データテーブル６０を既に記憶している。
【００３１】
（サーバ１００の構成）
続いて、サーバ１００の構成について説明する。サーバ１００は、第３種の特性データテーブル１０２を格納する。第３種の特性データテーブル１０２には、後述する印刷ヘッドセット１２０を構成する印刷ヘッド１２２に形成された４ｎ個のノズルに対応する４ｎ個の特性データが登録されている。
【００３２】
（プリンタ５０が実行する印刷手法）
続いて、プリンタ５０が実行する印刷手法について説明する。ＰＣ１０の画像処理部３２（図１参照）は、後述する二値データ生成処理（図５参照）を実行することによって、二値データを生成する。ＰＣ１０の制御部３０（図１参照）は、画像処理部３２によって生成された二値データをプリンタ５０に送信する。プリンタ５０の印刷制御部７４は、ＰＣ１０から二値データが供給される場合に、プリンタ５０に搭載されている印刷ヘッドに印刷を実行させる。なお、プリンタ５０に第１の印刷ヘッド８０が搭載されている場合を例として、説明を続ける。
【００３３】
図４に示されるＰｋ１，Ｐｋ２等は、副走査方向に沿って伸びる投影線ＰＬが設定された場合に、Ｋ用ノズル群８４ｋを構成するＫ用ノズルＮｋ１，Ｎｋ２等を主走査方向に投影することによって得られる投影点を示す。印刷ヘッドの駆動機構は、第１の印刷ヘッド８０の１回の主走査の間に、二値データに基づいて、各Ｋ用ノズルＮｋ１等からインク滴を吐出させる。この結果、例えば、Ｋ用ノズルＮｋ１から吐出される複数個のブラックのインク滴によって、主走査方向に沿って並ぶ複数個のブラックのドットが印刷媒体上に形成される。同様に、Ｋ用ノズルＮｋ２から吐出される複数個のブラックのインク滴によって、主走査方向に沿って並ぶ複数個のブラックのドットが印刷媒体上に形成される。白黒印刷の場合には、第１の印刷ヘッド８０の１回の主走査において、１個のＫ用ノズルによって形成される複数個のブラックのドットの並びのことを「１本のラスタ（raster）」と呼ぶ。従って、各ラスタは、主走査方向に沿って伸びる。白黒印刷の場合には、第１の印刷ヘッド８０の１回の主走査において、例えば、７個のＫ用ノズルＮｋ１〜Ｎｋ７は、７本のラスタＲ１〜Ｒ７を形成する。
【００３４】
上述したように、例えば、ノズルＮｋ１とノズルＮｃ１とノズルＮｍ１とノズルＮｙ１とは、副走査方向において同じ位置に配置されている（図２参照）。従って、カラー印刷の場合には、第１の印刷ヘッド８０の１回の主走査において、４個のノズルＮｋ１，Ｎｃ１，Ｎｍ１，Ｎｙ１は、副走査方向において同じ位置にドットを形成する。従って、カラー印刷の場合には、第１の印刷ヘッド８０の１回の主走査において、４個のノズルＮｋ１，Ｎｃ１，Ｎｍ１，Ｎｙ１によって形成される複数個のＣＭＹＫのドットの並びのことを「１本のラスタ」と呼ぶ。
【００３５】
本実施例では、第１の印刷ヘッド８０の１回目の主走査において、副走査方向に沿って並ぶｎ本のラスタが形成される。印刷制御部７４は、第１の印刷ヘッド８０の１回目の主走査が終了すると、印刷媒体の搬送を実行する。本実施例では、ここでの搬送距離として、特定の距離を採用している。上記の特定の距離は、ｎノズルピッチ分の距離である。１ノズルピッチは、副走査方向において隣接する２個のノズル（例えばＮｋ１とＮｋ２）の間の距離である。即ち、１ノズルピッチは、隣接する２個の投影点（例えばＰｋ１とＰｋ２）の間の距離である。次いで、印刷制御部７４は、第１の印刷ヘッド８０の２回目の主走査を実行する。これにより、ｎ本のラスタが新たに形成される。印刷制御部７４は、印刷媒体の上記の特定の距離の搬送と、第１の印刷ヘッド８０の主走査と、の組合せを繰り返し実行する。これにより、二値データによって表わされる画像が、印刷媒体に印刷される。上述した説明から明らかなように、本実施例では、隣接する２本のラスタの間の距離が、ほぼ１ノズルピッチである。
【００３６】
（ＰＣ１０の二値データ生成処理）
次いで、ＰＣ１０の制御部３０が実行する処理について説明する。ユーザは、所望のデータを選択し、当該データによって表わされる画像を印刷するための操作を操作部１２に加えることができる。なお、本実施例では、ＲＧＢのビットマップ形式の画像データ（以下では「ＲＧＢ画像データ」と呼ぶ）がユーザによって選択されたものとして、処理の内容を説明する。他の形式のデータ（例えば、テキストデータ、ＲＧＢ以外のビットマップ形式の画像データ、テキストとビットマップとの複合データ等）が選択された場合には、制御部３０は、ユーザによって選択されたデータを、公知の手法を用いて、ＲＧＢ画像データに変換する。制御部３０は、上記の操作が実行されると、プリンタドライバ２４に従って、図５の二値データ生成処理を実行する。
【００３７】
画像処理部３２（図１参照）は、ＲＧＢ画像データを取得し、当該ＲＧＢ画像データをワーク領域２２に格納する（Ｓ１０）。次いで、制御部３０は、プリンタ５０に現在格納されている特性データテーブルを取得するための所定のコマンドをプリンタ５０に送信する。なお、プリンタ５０に第１の印刷ヘッド用の特性データテーブル６０が格納されている場合を例として、説明を続ける。プリンタ５０は、上記の所定のコマンドに応じて、メモリ５６に格納されている特性データテーブル６０をＰＣ１０に送信する。この結果、制御部３０は、特性データテーブル６０を取得する（Ｓ１２）。制御部３０は、特性データテーブル６０を、ワーク領域２２に格納する。
【００３８】
次いで、画像処理部３２は、公知の手法を用いて、ＲＧＢ画像データに対して解像度変換処理を実行することによって、変換済みＲＧＢ画像データを生成する（Ｓ１４）。Ｓ１４では、画像処理部３２は、ＲＧＢ画像データを、プリンタ５０が採用している印刷解像度に応じた解像度に変換する。解像度変換処理によって、図６に示される変換済みＲＧＢ画像データ２００が得られる。変換済みＲＧＢ画像データ２００内の各画素２０１，２０２，２０６，２０７等は、Ｒ値（例えばＲ（ｉ，ｊ））と、Ｇ値（例えばＧ（ｉ，ｊ））と、Ｂ値（例えばＢ（ｉ，ｊ））と、によって構成される。Ｒ値、Ｇ値、Ｂ値は、それぞれ、２５６階調（０〜２５５）の多値データである。なお、図６に示される各画素内のｘ座標は、各画素の列番号を示し、ｙ座標は、各画素の行番号を示す。
【００３９】
次いで、画像処理部３２は、公知の手法を用いて、色変換処理を実行する（Ｓ１６）。Ｓ１６では、画像処理部３２は、変換済みＲＧＢ画像データ２００を、ＣＭＹＫのビットマップ形式の画像データ（以下では「ＣＭＹＫ画像データ」と呼ぶ）に変換する。色変換処理によって、図７に示されるＣＭＹＫ画像データ２１０が得られる。変換済みＲＧＢ画像データ２００内の１個の画素（例えば画素２０１）から、ＣＭＹＫ形式で記述された１個の画素（例えば画素２１１）が得られる。従って、ＣＭＹＫ画像データ２１０の画素数は、変換済みＲＧＢ画像データ２００の画素数に等しい。ＣＭＹＫ画像データ２１０内の各画素２１１，２１２，２１６，２１７等は、Ｃ値（例えばＣ（ｉ，ｊ））と、Ｍ値（例えばＭ（ｉ，ｊ））と、Ｙ値（例えばＹ（ｉ，ｊ））と、Ｋ値（例えばＫ（ｉ，ｊ））と、によって構成される。Ｃ値、Ｍ値、Ｙ値、Ｋ値は、それぞれ、２５６階調（０〜２５５）の多値データである。なお、図７に示される各画素内のｘ座標は、各画素の列番号を示し、ｙ座標は、各画素の行番号を示す。
【００４０】
続いて、画像処理部３２は、ＣＭＹＫ画像データ２１０を用いて、ハーフトーン処理を実行する。ハーフトーン処理は、Ｓ１８〜Ｓ３６の処理を含む。画像処理部３２は、まず、ＣＭＹＫ画像データ２１０内の１個の画素を特定する（Ｓ１８）。Ｓ１８における画素の特定順序は、予め決められている。具体的に言うと、１回目のＳ１８の処理では、画像処理部３２は、ＣＭＹＫ画像データ２１０のうち、図７の最も上の行に属する複数個の画素のうち、最も左の列に属する１個の画素を特定する。２回目以降のＳ１８の処理では、画像処理部３２は、前回に特定された画素（以下では「前回特定画素」と呼ぶ）と同じ行に属する１個の画素であって、前回特定画素の右隣の列に属する１個の画素を特定する。なお、前回特定画素が最も右の列に属する場合には、画像処理部３２は、前回特定画素が属する行の１つ下の行に属する複数個の画素のうち、最も左の列に属する１個の画素を特定する。
【００４１】
以下では、Ｓ１８で特定される１個の画素のことを「注目画素」と呼ぶ。画像処理部３２は、注目画素を構成するＣＭＹＫの４個の値の中から、１個の値（例えばＫ値）を特定する（Ｓ２０）。以下では、Ｓ２０で特定される１個の値のことを「ＰＶ（Pixel Value）」と呼ぶ。続いて、画像処理部３２は、Ｓ２０で特定されたＰＶを補正する（Ｓ２２）。具体的に言うと、画像処理部３２は、注目画素より前にＳ１８〜Ｓ３２の処理が終了している処理済み画素群のうち、注目画素の近傍に位置する複数個の近傍画素について算出された複数個の誤差値を用いて、注目画素のＰＶを補正する。例えば、注目画素が図８の画素２１６である場合には、画素２１１〜２１５についてのＳ１８〜Ｓ３２の処理が終了している。従って、画素２１１〜２１５のそれぞれについては、後述のＳ３０で、ＣＭＹＫに対応する４個の誤差値が算出済みである。例えば、画素２１１については、Ｃに対応する誤差値と、Ｍに対応する誤差値と、Ｙに対応する誤差値と、Ｋに対応する誤差値と、が算出済みである。なお、図８では、図示の便宜上、ＣＭＹＫの４色に対応する４個の誤差値を区別することなく「ΔＥ」で表現している。なお、以下では、例えば、Ｋに対応する誤差値を「ΔＥｋ」と表現することがある。本実施例では、注目画素２１６の左上、上、右上、及び、左に位置する４個の画素２１１，２１２，２１３，２１５を、注目画素２１６の近傍画素として採用する。なお、別の実施例では、注目画素２１６の近傍画素として、さらに、注目画素２１１の左の画素、画素２１２の上の画素、画素２１４、画素２１５の左の画素等を採用してもよい。
【００４２】
画像処理部３２は、注目画素２１６の４個の近傍画素２１１，２１２，２１３，２１５のうちの１個の近傍画素２１１について算出済みの４個の誤差値ΔＥ（ｉ−１，ｊ−１）の中から、現在の補正対象のＰＶの色（例えばＫ）に対応する１個の誤差値（例えばＫに対応する誤差値ΔＥｋ（ｉ−１，ｊ−１）を特定する。同様に、画像処理部３２は、他の３個の近傍画素２１２，２１３，２１５のそれぞれについて、当該近傍画素について算出済みの４個の誤差値の中から、現在の補正対象のＰＶの色に対応する１個の誤差値を特定する。この結果、現在の補正対象のＰＶの色に対応する４個の誤差値が特定される。次いで、画像処理部３２は、特定された４個の誤差値を用いて、図８の画素２１６内に示される数式に従って、注目画素２１６のＰＶを補正することによって、補正済みの値ＰＶ’を算出する。なお、数式内のｓ１，ｓ２，ｓ３，ｓ４は、注目画素２１６と各近傍画素との間の位置関係に応じて、予め決められている係数である。例えば、注目画素２１６のＰＶ（ｉ，ｊ）がＫ値（Ｋ（ｉ，ｊ））である場合には、画像処理部３２は、４個の近傍画素２１１，２１２，２１３，２１５のそれぞれについて、当該近傍画素の誤差値ΔＥｋ（例えば近傍画素２１１のΔＥｋ（ｉ−１，ｊ−１））と、当該近傍画素に対応する係数（例えば近傍画素２１１に対応するｓ１）と、を乗算することによって、乗算値を算出する。次いで、画像処理部３２は、注目画素２１６のＫ値（ｉ，ｊ）（即ちＰＶ（ｉ，ｊ））と、４個の近傍画素２１１，２１２，２１３，２１５ｂについて算出された４個の乗算値と、の和を算出することによって、補正済みの値Ｋ’（ｉ，ｊ）（即ちＰＶ’（ｉ，ｊ））を算出する。
【００４３】
続いて、画像処理部３２は、Ｓ２２で得られた補正済みの値ＰＶ’（例えばＫ’（ｉ，ｊ））が、予め決められている閾値Ｔｈ（例えば１２８）よりも大きいのか否かを判断する（Ｓ２４）。ここでＹＥＳの場合、画像処理部３２は、判断対象の補正済みの値ＰＶ’に対応する色のドットを印刷媒体に形成することを決定する。次いで、画像処理部３２は、補正済みの値ＰＶ’に対応する色のドット出力値「１」を記憶する（Ｓ２６）。例えば、注目画素２１６の補正済みの値ＰＶ’がＫ’（ｉ，ｊ）である場合には、Ｓ２６では、注目画素２１６と同じ位置の新たな画素の値として「Ｋ＝１」を記憶する。画像処理部３２は、注目画素２１６の座標（ｉ，ｊ）と、Ｋ＝１と、を対応づけて記憶する。このような情報を含む二値データがプリンタ５０に供給されると、注目画素２１６に対応する印刷媒体上の位置に向けて、ブラックのインク滴が吐出される。即ち、注目画素２１６に対応する印刷媒体上の位置にブラックのドットが形成される。Ｓ２６を終えると、Ｓ３０に進む。
【００４４】
一方において、Ｓ２４でＮＯの場合、画像処理部３２は、判断対象の補正済みの値ＰＶ’に対応する色のドットを印刷媒体に形成しないことを決定する。次いで、画像処理部３２は、補正済みの値ＰＶ’に対応する色のドット出力値「０」を記憶する（Ｓ２８）。例えば、注目画素２１６の補正済みの値ＰＶ’がＫ’（ｉ，ｊ）である場合には、Ｓ２８では、画像処理部３２は、注目画素２１６と同じ位置の新たな画素の値として「Ｋ＝０」を記憶する。このような情報を含む二値データがプリンタ５０に供給されると、注目画素２１６に対応する印刷媒体上の位置に向けて、ブラックのインク滴が吐出されない。即ち、注目画素２１６に対応する印刷媒体上の位置にブラックのドットが形成されない。
【００４５】
なお、例えば、Ｓ２０においてＰＶとしてＣ値が特定された場合には、Ｓ２６では、注目画素と同じ位置の新たな画素の値として「Ｃ＝１」が記憶され、Ｓ２８では、注目画素と同じ位置の新たな画素の値として「Ｃ＝０」が記憶される。前者の場合には、注目画素に対応する印刷媒体上の位置にシアンのドットが形成され、後者の場合には、注目画素に対応する印刷媒体上の位置にシアンのドットが形成されない。Ｓ２０においてＭ値又はＹ値が特定された場合も、Ｓ２０でＫ値又はＣ値が特定された場合と同様に処理が実行される。
【００４６】
次いで、制御部３０は、誤差値を算出する（Ｓ３０）。Ｓ３０の処理は、Ｓ２４の判断結果に応じて変わる。まず、Ｓ２４でＹＥＳと判断された場合（Ｓ２６が実行された場合）のＳ３０の処理について説明する。制御部３０は、注目画素（例えば画素２１６）に対応する印刷媒体上の位置にドットを形成するノズルのノズル番号（以下では「注目ノズル番号」と呼ぶ）を特定する。なお、例えば、ＰＶ’に対応する色がＫである場合には、注目ノズルとしてＫ用ノズルが特定される。以下では、注目ノズルとしてＫ用ノズルが特定されるべき場合には、「注目Ｋ用ノズル」と呼ぶ。注目Ｋ用ノズル番号を特定するための手法について、次に詳しく説明する。
【００４７】
上述したように、本実施例では、プリンタ５０は、図４に示されるように印刷を実行する。即ち、１回目の主走査では、Ｋ用ノズルＮｋ１〜Ｎｋｎが、第１の印刷解像度のＣＭＹＫ画像データ２１０の１〜ｎ行目に対応するラスタを形成する。さらに、第１の印刷モードの搬送距離（上記の第１の距離）は、ｎノズルピッチ分の距離である。これらの内容に基づけば、第１の印刷解像度のＣＭＹＫ画像データ２１０のＬ行目に対応するラスタを形成する注目Ｋ用ノズルを特定することができる。プリンタドライバ２４（図１参照）には、ＣＭＹＫ画像データ２１０の各画素の行番号（ｙ座標）から注目Ｋ用ノズル番号を特定するためのＫ用ノズル番号テーブルが、予め登録されている。画像処理部３２は、ＣＭＹＫ画像データ２１０内での注目画素の行番号（注目画素のｙ座標）と、上記のＫ用ノズル番号テーブルと、に基づいて、注目Ｋ用ノズル番号を特定する。
【００４８】
プリンタドライバ２４には、３種類の有彩色ＣＭＹのそれぞれについて、上記のＫ用ノズル番号テーブルと同様のノズル番号テーブルが予め登録されている。Ｓ２０で特定されるＰＶに対応する色が３種類の有彩色ＣＭＹのいずれかである場合には、画像処理部３２は、上記のＫの場合と同様に、注目ノズル番号を特定する。例えば、Ｓ２０で特定されるＰＶに対応する色がＣである場合には、画像処理部３２は、Ｃ用ノズル番号テーブルを用いて、１個の注目Ｃ用ノズル番号を特定する。
【００４９】
上述したように、制御部３０は、Ｓ１２において、特性データテーブル６０を取得済みである。画像処理部３２は、特性データテーブル６０から、注目ノズル番号に対応づけられている特性データ（以下では「注目特性データ」と呼ぶ）を特定する。次いで、制御部３０は、注目特性データに「２５５」を加算することによって補正用データ（以下では「注目補正用データ」と呼ぶ）を算出する。制御部３０は、Ｓ２２で得られた補正済みの値ＰＶ’から注目補正用データを減算することによって、誤差値を算出する。このようにして誤差値を算出するための式が、図９の画素２１６内に示されている。即ち、注目画素が図９の画素２１６であり、Ｓ２２で得られるＰＶ’（ｉ，ｊ）が閾値Ｔｈより大きい場合（Ｓ２４でＹＥＳの場合）には、制御部３０は、ＰＶ’（ｉ，ｊ）から注目補正用データを減算することによって、画素２１６に対応する誤差値ΔＥ（ｉ，ｊ）を算出する。例えば、Ｓ２０で特定されるＰＶに対応する色がＫである場合には、画素２１６のＫに対応する誤差値が算出される。同様に、Ｓ２０で特定されるＰＶに対応する色が他の色である場合には、画素２１６のうちの上記の他の色に対応する誤差値が算出される。
【００５０】
続いて、Ｓ２４でＮＯと判断された場合（Ｓ２８が実行された場合）のＳ３０の処理について説明する。Ｓ２４でＮＯの場合、制御部３０は、Ｓ２２で得られた補正済みの値ＰＶ’を誤差値として特定する。このようにして誤差値を算出するための式が、図９の画素２１７内に示されている。即ち、注目画素が図９の画素２１７であり、Ｓ２２において得られるＰＶ’（ｉ＋１，ｊ）が閾値Ｔｈより小さい場合（Ｓ２４でＮＯの場合）には、制御部３０は、図９の画素２１７内の式を用いて、画素２１７に対応する誤差値ΔＥ（ｉ＋１，ｊ）を特定する。即ち、制御部３０は、注目補正用データを用いずに、補正済みの画素値ＰＶ’を用いて、誤差値を算出する。
【００５１】
Ｓ３０を終えると、制御部３０は、注目画素に対応する誤差値として、Ｓ３０で特定された誤差値（例えばΔＥ（ｉ，ｊ））と、を記憶する（Ｓ３２）。ここで記憶された誤差値は、後に実行されるＳ２２の処理で利用される。例えば、Ｓ３２で画素２１６のＫに対応する誤差値ΔＥ（ｉ，ｊ）が記憶された場合には、当該誤差値ΔＥ（ｉ，ｊ）は、Ｓ２２で画素２１７のＫ値に対応するＫ’（ｉ，ｊ）を算出する際に利用される。
【００５２】
上述したように、ドット出力値＝１の場合に実行されるＳ３０では、ΔＥ＝ＰＶ’−注目補正用データ（２５５＋注目特性データ）という数式によって、誤差値ΔＥを算出する。注目補正用データとして「２５５＋注目特性データ」を利用するということは、注目ノズルが形成するドットの濃度を「２５５＋注目特性データ」と仮定していることを意味する。例えば、最小の吐出量のノズルに対応する特性データ（以下では「最小特性データ」と呼ぶ）は「０」であるために、最小の吐出量のノズルが形成するドットの濃度が「２５５」と仮定されている。このような手法で誤差値を算出することにより、各ノズルの吐出量のバラツキを補償することができる。Ｓ３０では、実際に表現されるべき注目画素の値ＰＶ’と、仮定されたドットの濃度「２５５＋注目特性データ」と、の差分が、誤差値ΔＥとして算出される。この差分が、上記のＳ２２の処理で近傍画素に拡散される。一方において、ドット出力値＝０の場合に実行されるＳ３０では、ΔＥ＝ＰＶ’という数式によって、誤差値ΔＥを算出する。即ち、実際に表現されるべき注目画素の値ＰＶ’と、ドットが形成されない場合の濃度「０」と、の差分が、誤差値ΔＥとして算出される。この差分が、上記のＳ２２の処理で近傍画素に拡散される。
【００５３】
続いて、制御部３０は、注目画素を構成するＣＭＹＫの４個の画素値（Ｃ値、Ｍ値、Ｙ値、Ｋ値）の全てについて、Ｓ２０〜Ｓ３２の処理を実行したのか否かを判断する（Ｓ３４）。ここでＮＯの場合、制御部３０は、Ｓ２０に戻って、注目画素を構成するＣＭＹＫの４個の値の中から、Ｓ２０〜Ｓ３２の処理が実行されていない値を特定する。Ｓ３４でＹＥＳの場合には、制御部３０は、ＣＭＹＫ画像データ２１０を構成する全ての画素について、Ｓ１８〜Ｓ３４の処理が終了したのか否かを判断する（Ｓ３６）。ここでＮＯの場合、制御部３０は、Ｓ１８に戻って、現在の注目画素の次の画素（基本的には右隣りの画素）を、新たな注目画素として特定する。Ｓ３６でＹＥＳの場合には、二値データ生成処理が終了する。
【００５４】
上記の説明から明らかなように、二値データ生成処理では、ＣＭＹＫ画像データ２１０を構成する１個の画素から、Ｃ＝０又は１と、Ｍ＝０又は１と、Ｙ＝０又は１と、Ｋ＝０又は１と、によって構成される新たな１個の画素が生成される。従って、二値データの画素数は、ＣＭＹＫ画像データ２１０の画素数に等しい。制御部３０（図１参照）は、二値データをプリンタ５０に送信する。この結果、プリンタ５０の印刷制御部７４は、二値データに応じて、印刷処理を実行する。具体的には、印刷制御部７４は、プリンタ５０に現在搭載されている印刷ヘッド（例えば第１の印刷ヘッド８０）に印刷を実行させる。即ち、印刷制御部７４は、二値データに含まれるＫ＝１を示す画素に対応する印刷媒体上の位置にブラックのドットが形成されるように、当該ドットを形成するＫ用ノズルに対応する個別電極に、駆動信号を供給する。同様に、印刷制御部７４は、二値データに従って、他の色のドットが形成されるように、駆動信号を供給する。この結果、図５のＳ１０で取得されるＲＧＢ画像データによって表わされる画像（即ち、Ｓ１４で得られる変換済みＲＧＢ画像データ２００によって表わされる画像、Ｓ１６で得られるＣＭＹＫ画像データ２１０によって表わされる画像、二値データによって表わされる画像）が、印刷媒体に形成される。
【００５５】
（印刷ヘッドセット１２０の構成）
プリンタ５０の出荷段階で装着済みの第１の印刷ヘッド８０は、例えばノズルの吐出不良が発生する場合などに、交換されることが好ましい。ユーザは、プリンタ５０に装着される第１の印刷ヘッド８０を新たな印刷ヘッドに交換すべき場合に、印刷ヘッドセット１２０（図１参照）を用意する。印刷ヘッドセット１２０は、第２の印刷ヘッド１２２と、記録媒体１２５と、を備える。第２の印刷ヘッド１２２は、第１の印刷ヘッド８０と同じ構成を備える。即ち、第２の印刷ヘッド１２２には、ＣＭＹＫの４色に対応する４組のノズル群１２４ｋ、１２４ｃ、１２４ｍ、１２４ｙが形成されている。各ノズル群１２４ｋ等は、ｎ個のノズルによって構成される。記録媒体１２５は、文字コード１２６と、二次元コード１２８と、ＵＲＬ（Uniform Resource Locator）１３０と、が記述されている。記録媒体１２５は、上記の各情報１２６〜１３０が記述された面がおもて面になるように、第２の印刷ヘッド１２２に貼り付けられている。
【００５６】
文字コード１２６は、４組のノズル群１２４ｋ等のそれぞれについて、当該ノズル群に対応する４個の座標値（合計１６個の座標値）を示す。これらの座標値は、プリンタ５０のベンダによって予め抽出されている。具体的には、ベンダは、前述した特性データテーブル６０の各特性データの調査手法と同様の手法を用いて、第２の印刷ヘッド１２２のＫ用ノズル群１２４ｋに属するｎ個のＫ用ノズルに対応するｎ個の特性データを調査する。ベンダは、ｎ個の特性データがプロットされたグラフを生成する。図１０は、ここで生成されるグラフを示す。図１０では、左から右に向かうにつれて、ノズル番号が大きくなる。なお、第２の印刷ヘッド１２２では、第１の印刷ヘッド８０と同様に、ノズル番号が設定されている。即ち、第２の印刷ヘッド１２２がプリンタ５０に装着された場合には、副走査方向の最も下流側に位置するＫ用ノズルのノズル番号が「Ｎｋ１」であり、副走査方向の最も上流側に位置するＫ用ノズルのノズル番号が「Ｎｋｎ」である（図２参照）。ベンダは、図１０のグラフから、両端の２個の座標値Ｄ１（ａ１，ｂ１），Ｄ４（ａ４，ｂ４）を抽出する。座標値Ｄ１のｘ座標「ａ１」は、ノズル番号Ｎｋ１に対応し、座標値Ｄ１のｙ座標「ｂ１」は、ノズル番号Ｎｋ１に対応するノズルの特性データを示す。座標値Ｄ４のｘ座標「ａ４」は、ノズル番号Ｎｋｎに対応し、座標値Ｄ１のｙ座標「ｂ４」は、ノズル番号Ｎｋｎに対応するノズルの特性データを示す。
【００５７】
次いで、ベンダは、図１０のグラフから、２個の特徴点の座標値Ｄ２（ａ２，ｂ２），Ｄ３（ａ３，ｂ３）を抽出する。ここに言う特徴点とは、図１０のグラフに近似するグラフ（関数）を生成可能な２個の点を意味する。なお、特徴点の数は、２個に限られず、１個であってもよいし、３個以上であってもよい。本実施例では、ベンダは、図１０のグラフから目視によって特徴点を抽出する。ただし、ベンダは、ソフトウェアを用いた解析によって特徴点を抽出してもよい。例えば、図１０に示されるｎ個の点から所定の近似曲線を得る手法を採用する場合には、その近似曲線の変曲点、極値等を、特徴点として採用してもよい。以上の方法によって、Ｋ用ノズル群１２４ｋに対応する４個の座標値が抽出される。他の色のノズル群１２４ｃ等についても同様の方法で座標値が抽出される。文字コード１２６では、ＣＭＹＫの４色のそれぞれについて、当該色を示すアルファベット（例えば「Ｋ」）と、当該色に対応する４個の座標値Ｄ１〜Ｄ４と、が対応づけて記述されている。なお、詳しくは後述するが、プリンタ５０は、文字コード１２６として記述された１６個の座標値に基づいて、第２の印刷ヘッド１２２に形成された４ｎ個のノズルに対応する４ｎ個の特性データを生成する。以下では、このようにして生成される特性データのことを「第１種の特性データ」と呼ぶ。
【００５８】
二次元コード１２８は、印刷ヘッド１２２に形成された４ｎ個のノズルに対応する４ｎ個の特性データに変換可能なデータがコード化されたものである。二次元コード１２８は、例えば、マトリックスコード（例えば、ＱＲコード（登録商標））、スタックコード等である。ベンダは、上記と同様の手法を用いて、印刷ヘッド１２２に形成された４ｎ個のノズルに対応する４ｎ個の特性データを調査し、４ｎ個の特性データをコード化することによって二次元コード１２８を生成する。ベンダは、二次元コード１２８を記録媒体１２５に記述する。なお、以下では、二次元コード１２８から得られる特性データ（即ちベンダによって調査された特性データ）のことを「第２種の特性データ」と呼ぶ。
【００５９】
ＵＲＬ１３０は、上記のサーバ１００内の第３種の特性データテーブル１０２の所在を示すＵＲＬである。ベンダは、上記と同様の手法を用いて、印刷ヘッド１２２に形成された４ｎ個のノズルに対応する４ｎ個の特性データを調査し、４ｎ個の特性データを含む第３種の特性データテーブル１０２をサーバ１００内に格納する。ベンダは、第３種の特性データテーブル１０２の格納場所を示すＵＲＬ１３０を記録媒体１２５に記述する。なお、以下では、サーバ１００内に格納されている特性データ（即ちベンダによって調査された特性データ）のことを「第３種の特性データ」と呼ぶ。上述した説明から明らかなように、４ｎ個の第３種の特性データは、４ｎ個の第２種の特性データと同じものである。ただし、４ｎ個の第１種の特性データは、文字コード１２６として記述された座標値からプリンタ５０によって生成されるものであり、４ｎ個の第２種及び第３種の特性データと異なる。
【００６０】
（特性データテーブル更新処理）
続いて、図１２を参照して、プリンタ５０の制御部５５が実行する特性データテーブル更新処理の内容を説明する。ユーザは、第１の印刷ヘッド８０をプリンタ５０から取り外し、印刷ヘッドセット１２０（即ち第２の印刷ヘッド１２２）をプリンタ５０に装着する。次いで、ユーザは、プリンタ５０の操作部５３を操作する。これにより、特性データテーブル更新処理が開始される。
【００６１】
制御部３０は、第１〜第３のモードを示す情報を表示部１４に表示させる。第１のモードは、文字コード１２６として記述されている座標値に基づいて４ｎ個の第１種の特性データを生成するためのモードである。第２のモードは、ＰＣ１０を介して、４ｎ個の第２種の特性データを取得するためのモードである。第３のモードは、ＰＣ１０を介して、４ｎ個の第３種の特性データを取得するためのモードである。制御部３０は、第１〜第３のモードの中から１つのモードをユーザが選択することを監視する（Ｓ５０，Ｓ５６，Ｓ６２）。
【００６２】
第１のモードが選択された場合に、制御部３０は、Ｓ５０でＹＥＳと判断する。ユーザは、操作部５３を操作することによって、文字コード１２６として記述されている合計１６個の座標値をプリンタ５０に順次入力する。これにより、第１のデータ取得部７０（図１参照）は、ユーザによって入力された合計１６個の座標値のデータを取得する（Ｓ５２）。次いで、生成部７２（図１参照）は、１６個の座標値のデータを利用して、ＣＭＹＫの４色のそれぞれについて、当該色に対応するｎ個の第１種の特性データを生成する（Ｓ５４）。
【００６３】
図１１に示されるように、生成部７２は、第２の印刷ヘッド１２２のＫ用ノズル群に対応する４個の座標値を直線で結ぶことによって得られるＫ用関数（ｙ＝ｆｋ（ｘ））を生成する。生成部７２は、上記のＫ用関数に基づいて、ｎ個のＫ用ノズルに対応するｎ個の第１種の特性データを抽出する。即ち、生成部７２は、「ｘ＝ｍ（ｍは１〜ｎの各整数）」の場合にＫ用関数から得られるｙ座標を、Ｋ用ノズル番号Ｎｋｍに対応する第１種の特性データとして抽出する。例えば、生成部７２は、「ｘ＝５」の場合にＫ用関数から得られるｙ座標を、Ｋ用ノズル番号Ｎｋ５に対応する第１種の特性データとして抽出する。Ｋの場合と同様に、生成部７２は、他の色に対応する４個の座標値に基づいて、当該色に対応する関数（例えばｙ＝ｆｃ（ｘ））を生成し、当該色に対応するｎ個の第１種の特性データを抽出する。これにより、生成部７２は、４ｎ個のノズル番号と、４ｎ個の第１種の特性データと、が対応づけられたテーブル（以下では「第１種の特性データテーブル」と呼ぶ）を生成することができる。Ｓ５４を終えると、Ｓ６８に進む。
【００６４】
第２のモードが選択された場合に、制御部３０は、Ｓ５６でＹＥＳと判断する。ユーザは、第２のモードを選択する前に、以下の作業を予め実行しておく。即ち、ユーザは、所定のバーコードリーダを用意し、記録媒体１２５に記述された二次元コード１２８をバーコードリーダに読取らせる。次いで、ユーザは、バーコードリーダをＰＣ１０に接続し、バーコードリーダによって読取られたデータをＰＣ１０に入力する。ＰＣ１０に格納されているプリンタドライバ２４は、バーコードリーダによって読取られたデータを、４ｎ個のノズルに対応する４ｎ個の第２種の特性データに変換するためのプログラムを含む。ＰＣ１０の制御部３０は、プリンタドライバ２４に従って、４ｎ個の第２種の特性データを生成する。制御部３０は、４ｎ個のノズルのノズル番号と、４ｎ個の第２種の特性データと、が対応づけられたテーブル（以下では「第２種の特性データテーブル」と呼ぶ）をメモリ２０に格納する。プリンタ５０の第２のデータ取得部７６（図１参照）は、ユーザによって第２のモードが選択された場合に、ＰＣ１０にアクセスする（Ｓ５８）。具体的には、第２のデータ取得部７６は、第２種の特性データテーブルを取得するためのコマンドをＰＣ１０に送信する。上述したように、ＰＣ１０のメモリ２０には、第２種の特性データテーブルが格納されている。ＰＣ１０の制御部３０は、プリンタ５０から上記のコマンドが受信される場合に、第２種の特性データテーブルをプリンタ５０に送信する。これにより、第２のデータ取得部７６は、第２種の特性データテーブルを取得する（Ｓ６０）。Ｓ６０を終えると、Ｓ６８に進む。
【００６５】
第３のモードが選択された場合に、制御部３０は、Ｓ６２でＹＥＳと判断する。ユーザは、第３のモードを選択する前に、以下の作業を予め実行しておく。即ち、ユーザは、ＰＣ１０の操作部１２を用いて、記録媒体１２５に記述されたＵＲＬ１３０をＰＣ１０に入力する。これにより、ＰＣ１０の制御部３０は、サーバ１００にアクセスし、サーバ１００から第３種の特性データテーブル１０２をダウンロード（取得）する。制御部３０は、第３種の特性データテーブル１０２をメモリ２０に格納する。プリンタ５０の第３のデータ取得部７８（図１参照）は、ユーザによって第３のモードが選択された場合に、ＰＣ１０にアクセスする（Ｓ６４）。具体的には、第３のデータ取得部７８は、第３種の特性データテーブル１０２を取得するためのコマンドをＰＣ１０に送信する。上述したように、ＰＣ１０のメモリ２０には、第３種の特性データテーブル１０２が格納されている。ＰＣ１０の制御部３０は、プリンタ５０から上記のコマンドが受信される場合に、第３種の特性データテーブル１０２をプリンタ５０に送信する。これにより、第３のデータ取得部７８は、第３種の特性データテーブル１０２を取得する（Ｓ６６）。Ｓ６６を終えると、Ｓ６８に進む。
【００６６】
Ｓ６８では、制御部５５は、メモリ５６内の特性データテーブル６０を新たな特性データテーブルに更新する。例えば、Ｓ５４を経て実行されるＳ６８では、制御部５５は、特性データテーブル６０を、Ｓ５４で生成された第１種の特性データテーブルに更新する。また、例えば、Ｓ６０又はＳ６６を経て実行されるＳ６８では、制御部５５は、特性データテーブル６０を、Ｓ６０又はＳ６６で取得された第２種又は第３種の特性データテーブルに更新する。Ｓ６８を終えると、特性データテーブル更新処理が終了する。
【００６７】
上記の特性データテーブル更新処理が終了した後に、上述した二値データ生成処理（図５）が実行される場合には、ＰＣ１０の制御部３０が図５のＳ１２で取得する特性データテーブルは、図１２のＳ６８で得られる更新後の特性データテーブルである。例えば、図１２のＳ６８で第１種の特性データテーブルに更新された場合には、制御部３０は、図５のＳ１２で第１種の特性データテーブルを取得する。この場合、画像処理部３２は、図５のＳ３０において、注目ノズル番号に対応する第１種の注目特性データを用いて、注目補正用データ（２５５＋第１種の注目特性データ）を算出する。同様に、例えば、図１２のＳ６８で第２種又は第３種の特性データテーブルに更新された場合には、制御部３０は、図５のＳ１２で第２種又は第３種の特性データテーブルを取得する。この場合、画像処理部３２は、図５のＳ３０において、注目ノズル番号に対応する第２種又は第３種の注目特性データを用いて、注目補正用データ（２５５＋第２種又は第３種の注目特性データ）を算出する。従って、画像処理部３２は、プリンタ５０に新たに搭載された第２の印刷ヘッド１２２に形成された各ノズルに対応する特性データを用いて、各ノズルのインク滴の吐出量のバラツキを補償する処理（図５のＳ３０参照）を実行することができる。
【００６８】
本実施例について詳しく説明した。本実施例によると、プリンタ５０は、図１２のＳ５０でＹＥＳの場合（第１のモードが選択された場合）に、ユーザから与えられる１６個の座標値のデータを用いて、第２の印刷ヘッド１２２に形成された４ｎ個のノズルに対応する４ｎ個の第１種の特性データを生成する（図１２のＳ５４）。従って、４ｎ個の特性データのそれぞれを入力する作業をユーザが実行せずに済み、４ｎ個よりも少ない１６個の座標値のデータをプリンタ５０に入力する作業をユーザが実行すれば足りる。ユーザの作業負担が低減する。なお、第２又は第３のモードではＰＣ１０が利用されるが、第１のモードではＰＣ１０を利用せずに済む。従って、例えば、ＰＣ１０が存在しない環境であっても、プリンタ５０は、４ｎ個の第１種の特性データを生成することできる。上記の第１のモードは、特に、途上国のようにネットワーク環境が整っていない状況下でプリンタ５０が使用される場合に有用である。入力すべきデータが少ないので、ユーザが手入力する場合に、負荷を低減できる。
【００６９】
また、プリンタ５０は、図１２のＳ５６でＹＥＳの場合（第２のモードが選択された場合）に、二次元コード１２８を読み取ることによって得られる４ｎ個の第２種の特性データを取得する。ユーザは、バーコードリーダを用いて二次元コード１２８を読み取るための作業を実行し、さらに、バーコードリーダが読み取ったデータをＰＣ１０に入力するための作業を実行すれば、４ｎ個の第２種の特性データを、プリンタ５０に与えることができる。４ｎ個の特性データのそれぞれを入力する作業をユーザが実行する手法と比べると、ユーザの作業負担が低減する。上記の第２のモードは、ネットワーク環境が整っていない状況下でプリンタ５０が使用される場合であって、例えば作業員がヘッドを交換する際等に、特に有用である。また、補正の精度も上記の第１のモードと比較して高い。
【００７０】
プリンタ５０は、図１２のＳ６２でＹＥＳの場合（第３のモードが選択された場合）に、ＵＲＬ１３０に基づいて得られる４ｎ個の第３種の特性データを取得する。ユーザは、ＰＣ１０からサーバ１００にアクセスする作業を実行すれば、４ｎ個の第３種の特性データを、プリンタ５０に与えることができる。４ｎ個の特性データのそれぞれを入力する作業をユーザが実行する手法と比べると、ユーザの作業負担が低減する。上記の第３のモードは、ネットワーク環境が整っている状況下でプリンタ５０が使用される場合に特に有用である。また、補正の精度も上記の第１のモードと比較して高い。
【００７１】
なお、本実施例の図５の二値データ生成処理は、以下のように表現することができる。即ち、ＰＣ１０の画像処理部３２は、第１種の色空間（例えばＲＧＢ）で表現される特定の画像データ（例えば変換済みＲＧＢ画像データ２００）内の各画素に対して、色変換処理を実行することによって、第２種の色空間（例えばＣＭＹＫ）で表現される対象の画像データ（例えばＣＭＹＫ画像データ２１０）を生成する。画像処理部３２は、対象の画像データに対して、ハーフトーン処理を実行することによって、処理済み画像データ（例えば二値データ）を生成する。画像処理部３２は、ハーフトーン処理において、以下の処理を実行する。即ち、画像処理部３２は、対象の画像データ内の注目画素の値（例えばＰＶ）を、注目画素の近傍の複数個の近傍画素に対応する複数個の誤差値を用いて補正することによって、補正済みの値（例えばＰＶ’）を生成する。画像処理部３２は、補正済みの値（例えばＰＶ’）と、注目画素に対応する閾値（例えばＴｈ）と、に基づいて、注目画素に対応する印刷媒体上の位置にドットを形成するのか否かを決定する。画像処理部３２は、注目画素についてドットを形成するのか否かに関する決定に応じて、注目画素に対応する誤差値を算出する。画像処理部３２は、注目画素についてドットを形成することが決定される場合に、補正済みの値（例えばＰＶ’）と、注目補正用データ（例えば２５５＋注目特性データ）と、を用いて、注目画素に対応する誤差値を算出する特定の処理を実行する。
【００７２】
本実施例の各要素と本発明の各要素との対応関係を記載しておく。変換済みＲＧＢ画像データ２００、ＣＭＹＫ画像データ２１０、図５で生成される二値データが、それぞれ、「特定の画像データ」、「対象の画像データ」、「処理済み画像データ」の一例である。また、色変換処理とハーフトーン処理とが「画像処理」の一例である。また、図５のＳ３０において、ドット出力＝１の場合に実行される誤差値算出処理が「特定の処理」の一例である。さらに、図５のＳ３０で算出される（２５５＋注目特性データ）が「補正用データ」の一例である。
【００７３】
また、図１２のＳ５２で取得される４個の座標値、Ｓ６０で取得されるｎ個の第２種の特性データ、Ｓ６６で取得されるｎ個の第３種の特性データが、それぞれ、「Ｍ個の第１のデータ（Ｍ個の第１のデータを含む情報）」、「第２のデータ」、「第３のデータ」の一例である。なお、Ｍは２以上かつＮより小さい整数であってもよい。また、図１２のＳ５４を経てＳ６８が実行された後に、図５のＳ３０で利用される注目特性データが、「特定の第１種の特性データ」の一例である。同様に、図１２のＳ６０又はＳ６６を経てＳ６８が実行された後に、図５のＳ３０で利用される注目特性データが、「特定の第２種又は第３種の特性データ」の一例である。図１０の座標値Ｄ１，Ｄ４が「プリンタの副走査方向の両端に位置する２個のノズルに対応する２個の第１種の特性データ」の一例であり、図１０の座標値Ｄ２，Ｄ３が「特徴点の座標値」の一例である。図１１の関数が「特定の関数」の一例である。
【００７４】
（第２実施例）
本実施例では、ＰＣ１０の制御部３０が実行する二値データ生成処理の内容が第１実施例と異なる。図５を参照しながら、本実施例の二値データ生成処理の内容について説明する。Ｓ１０〜Ｓ１６は、第１実施例と同様である。Ｓ１６を終えると、画像処理部３２は、ＣＭＹＫ画像データ２１０（図７参照）から補正済み画像データ２５０（図１３参照）を生成する補正処理を実行する。
【００７５】
図１３を参照しながら、補正処理の内容を説明する。補正処理では、画像処理部３２は、ＣＭＹＫ画像データ２１０の中から１個の画素（以下では「注目画素」と呼ぶ）を特定する。以下では、画素２１６が注目画素である場合を例として、説明を続ける。次いで、画像処理部３２は、注目画素２１６を構成する４個の値の中から、１個の値ＰＶ（ｉ，ｊ）を特定する。画像処理部３２は、ＰＶ（ｉ，ｊ）を補正することによって、補正済みの値ＰＶ’’（ｉ，ｊ）を算出する。具体的に言うと、画像処理部３２は、第１実施例の図５のＳ３０の場合と同様の手法を用いて、ＰＶ（ｉ，ｊ）に対応する注目ノズル番号を特定する。次いで、画像処理部３２は、特性データテーブル６０から、注目ノズル番号に対応する注目特性データを特定する。続いて、画像処理部３２は、（２５５＋最小の特性データ）／（２５５＋注目特性データ）を計算することによって、注目補正用データＣＤ（ｉ，ｊ）を算出する。なお、上記の「最小の特性データ」は、ＰＶ（ｉ，ｊ）に対応する色のインク滴を吐出するｎ個のノズルに対応するｎ個の特性データのうち、最小の吐出量を示す特性データ（即ち「０」）である。画像処理部３２は、ＰＶ（ｉ，ｊ）に注目補正用データＣＤ（ｉ，ｊ）を乗算することによって、補正済みの値ＰＶ’’（ｉ，ｊ）を算出する。画像処理部３２は、注目画素２１６を構成する他の３個の値のそれぞれについて、補正済みの値ＰＶ’’（ｉ，ｊ）を算出する。これにより、注目画素２１６に対応する４個の補正済みの値ＰＶ’’（ｉ，ｊ）が生成される。さらに、画像処理部３２は、画素２１６以外の各画素についても、同様の手法を用いて、４個の補正済みの値ＰＶ’’（ｉ，ｊ）を算出する。これにより、補正済み画像データ２５０が生成される。
【００７６】
補正済み画像データ２５０を生成すると、画像処理部３２は、ハーフトーン処理（図５のＳ１８〜Ｓ３６参照）を実行する。本実施例のハーフトーン処理では、Ｓ１８において、画像処理部３２は、補正済み画像データ２５０内の１個の画素を注目画素として特定する。次いで、Ｓ２０において、画像処理部３２は、注目画素の４個の補正済みの値ＰＶ’’（ｉ，ｊ）の中から、１個の補正済みの値ＰＶ’’（ｉ，ｊ）を特定する。さらに、Ｓ２２において、画像処理部３２は、Ｓ２０で特定されたＰＶ’’（ｉ，ｊ）に誤差値を加算することによって、ＰＶ’を算出する。さらに、Ｓ３０において、画像処理部３２は、ドット出力＝１の場合に、ＰＶ’から固定値２５５を減算することによって、誤差値を算出する。その他の処理は、第１実施例の場合と同様である。
【００７７】
本実施例の二値データ生成処理は、以下のように表現することができる。即ち、ＰＣ１０の画像処理部３２は、第１種の色空間（例えばＲＧＢ）で表現される対象の画像データ（例えば変換済みＲＧＢ画像データ２００）内の各画素に対して、色変換処理と補正処理とを含む特定の処理を実行することによって、第２種の色空間（例えばＣＭＹＫ）で表現される色変換済み画像データ（例えば処理済み画像データ２５０）を生成する。画像処理部３２は、色変換済み画像データに対してハーフトーン処理を実行することによって、処理済み画像データ（例えば二値データ）を生成する。画像処理部３２は、対象の画像データ（例えば変換済みＲＧＢ画像データ２００）内の注目画素に対して、色変換処理を実行することによって、第２種の色空間で表現される色変換済みの画素（例えばＰＶ）を生成する。画像処理部３２は、第２種の色空間内で、色変換済みの画素に対して、第１種の補正用データ（例えばＣＤ）を用いて、補正処理を実行することによって、補正済みの画素（例えばＰＶ’’）を生成する。
【００７８】
本実施例では、色変換処理と補正処理とハーフトーン処理とが「画像処理」の一例である。変換済みＲＧＢ画像データ２００が、「特定の画像データ」及び「対象の画像データ」の一例である。また、変換済みＲＧＢ画像データ２００内の各画素に対して実行される色変換処理及び補正処理が「特定の処理」の一例である。
【００７９】
上記の各実施例の変形例を以下に列挙する。
（１）上記の実施例では、ＰＣ１０の制御部３０が画像処理部３２を備えているが、プリンタ５０の制御部５５が画像処理部３２を備えていてもよい。この構成の場合、ネットワークシステム２内にＰＣ１０が存在しなくても、プリンタ５０は、印刷対象のＲＧＢ画像データから二値データを生成することができる。ＰＣ１０が存在しない場合でも、図１２のＳ５０でＹＥＳの場合の技術、即ち、プリンタ５０が第１種の特性データを生成する技術は、有用である。なお、ＰＣ１０の制御部３０が画像処理部３２の一部分を備えており、プリンタ５０の制御部５５が画像処理部３２の他の部分を備えていてもよい。例えば、プリンタ５０に設けられた画像処理部３２は、４ｎ個の第１種の特性データから４ｎ個の補正用データを生成する処理を実行し、４ｎ個の補正用データ（２５５＋第１種の特性データ）をＰＣ１０に供給してもよい。ＰＣ１０に設けられた画像処理部３２は、図５の二値データ生成処理を実行する際に、Ｓ１２においてプリンタ５０から４ｎ個の補正用データを取得してもよい。この場合、ＰＣ１０に設けられた画像処理部３２は、図５のＳ３０において、Ｓ１２で取得された４ｎ個の補正用データのうち、注目ノズルに対応する注目補正用データを用いて、誤差値を算出してもよい。
【００８０】
（２）プリンタ５０は、上記の実施例の印刷解像度と異なる印刷解像度で印刷可能であってもよい。例えば、副走査方向において、上記の実施例の印刷解像度の二倍以上の印刷解像度を採用してもよい。即ち、プリンタ５０は、インタレース印刷を実行可能であってもよい。また、プリンタ５０は、同じ色に対応する複数個のノズル（例えば複数個のＫ用ノズル）が、印刷ヘッドの複数回の主走査によって、１本のラスタを形成する印刷（シングリング、オーバーラップ方式）を実行可能であってもよい。
【００８１】
（３）上記の実施例では、文字コード１２６は、１６個の第１種の特性データの値（１６個の座標値）そのものである。しかしながら、文字コード１２６は、１６個の第１種の特性データに変換可能な複数個の記号（アルファベット、数字、それらの組合せ等）であってもよい。この場合、文字コード１２６は、ユーザが認識可能な記号であれば、どのような種類の記号であってもよい。本変形例の場合、図１２のＳ５２では、ユーザは、操作部５３を操作することによって、文字コード１２６として記述された複数個の記号をプリンタ５０に入力してもよい。プリンタ５０の生成部７２は、ユーザによって入力された複数個の記号を、１６個の第１種の特性データの値（１６個の座標値）に変換してもよい。この例の場合、上記の複数個の記号が「Ｍ個の第１のデータを含む情報」の一例であり、変換後の１６個の座標値が「Ｍ個の第１のデータ」の一例である。
【００８２】
（４）上記の実施例では、図１１に示されるように、４個の座標値を直線で結ぶことによって、関数が生成される。しかしながら、４個の座標値から、曲線（例えば、ベジエ曲線、スプライン曲線等）で表現される関数が生成されてもよい。
【００８３】
（５）上記の実施例では、記録媒体１２５には二次元コード１２８が記述されているが、二次元コード１２８に代えて、一次元コードを用いることもできる。一次元コードは、例えば、バーコード等である。この場合、一次元コードは、印刷ヘッド１２２に形成された４ｎ個のノズルに対応する４ｎ個の特性データに変換可能なデータがコード化されたものとなる。
【００８４】
（６）記録媒体１２５は、第２の印刷ヘッド１２２に貼り付けられてなくてもよい。例えば、記録媒体１２５は、第２の印刷ヘッド１２２と共に梱包される紙媒体であってもよいし、第２の印刷ヘッド１２２の説明書に貼り付けられていてもよい。
【００８５】
（７）上記の実施例では、画像処理部３２は、ドット出力＝１と、ドット出力＝０と、を示す二値データを生成する。しかしながら、画像処理部３２は、三値以上のデータを生成してもよい。例えば、画像処理部３２は、大ドットに対応する値「３」と、中ドットに対応する値「２」と、小ドットに対応する値「１」と、ドット無に対応する「０」と、を示す四値データを生成してもよい。この場合、画像処理部３２は、図５のＳ２４で利用する閾値として、大ドットと中ドットとを区分するための閾値Ｔｈ１（例えば１９１）と、中ドットと大ドットとを区分するための閾値Ｔｈ２（例えば１２７）と、小ドットとドット無とを区分するための閾値Ｔｈ３（例えば６３）と、を利用してもよい。この例の場合、ハーフトーン処理部４０は、形成されるべきドットサイズに応じて、図５のＳ３０で算出される注目補正用データを変えてもよい。例えば、画像処理部３２は、中ドットが形成される場合には、（２５５＋注目特性データ）×（中ドットで表現されるべき濃度）／（大ドットで表現されるべき濃度（例えば２５５））を注目補正用データとして特定し、小ドットが形成される場合には、（２５５＋注目特性データ）×（小ドットで表現されるべき濃度）／（大ドットで表現されるべき濃度（例えば２５５））を注目補正用データとして特定してもよい。
【００８６】
（８）上記した実施例では、図５のＳ３２において、Ｓ３０で算出された誤差値が記憶される。図５のＳ２２では、画像処理部３２は、Ｓ３２で記憶された誤差値（注目画素の近傍の画素に対応する誤差値）を収集することによってＰＶ’を算出する。この構成に代えて、画像処理部３２は、Ｓ３２において、注目画素の近傍の未処理の各画素に、Ｓ３４で算出された誤差値を割り当ててもよい。例えば、図８の画素２１６のＫに対応する誤差値ΔＥｋ（ｉ，ｊ）が算出された場合に、画像処理部３２は、Ｓ３２において、未処理の画素２１７のＫ値であるＫ（ｉ＋１，ｊ）と、誤差値ΔＥｋと係数ｓとを乗算した値と、の和を算出することによって、画素２１７の新たなＫ値を算出してもよい。この構成を採用する場合、図５のＳ２０で特定されるＰＶがＰＶ’に等しく、図５のＳ２２の処理が実行されない。
【００８７】
（９）上記の第２実施例では、画像処理部３２は、誤差拡散法を用いて、ハーフトーン処理を実行しているが、これに代えて、ディザ法を用いて、ハーフトーン処理を実行してもよい。
【００８８】
（１０）図３の特性データテーブル６０において、吐出量が最小であるノズルに対応する特性データを２５５に設定してもよい。即ち、特性データは、図３に示される値に２５５を加算することによって得られる値でもよい。この場合、図５のＳ３０で注目特性データ（例えば２５５）を取得することは、注目補正用データを取得することに等しい。即ち、本変形例では、「特性データ」と「補正用データ」とが等しい。本変形例も、「補正用データは、注目ノズルに対応する特定の第１種（又は、第２種、第３種）の特性データを用いて得られるデータである」という構成に含まれる。
【００８９】
（１１）上記の各実施例では、１つの印刷ヘッド（例えば８０）に複数色分のノズル群（例えば８４ｋ等）が形成されている。しかしながら、１つの印刷ヘッドには、１色分のノズル群のみが形成されていてもよい。
【００９０】
（１２）本明細書で開示される技術は、インク滴を用いた印刷以外に、基板のパターンを形成するためのパターニング装置等にも利用することができる。
【００９１】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００９２】
２：ネットワークシステム、４：ＬＡＮ、６：ルータ、８：インターネット、１０：ＰＣ，１２：操作部、１４：表示部、１６：ネットワークインターフェイス、２０：メモリ、２２：ワーク領域、２４：プリンタドライバ、３０：制御部、３２：画像処理部、５０：プリンタ、５２：ネットワークインターフェイス、５３：操作部、５４：表示部、５５：制御部、５６：メモリ、６０：第１の印刷ヘッド用の特性データテーブル、６４：プログラム、７０：第１のデータ取得部、７２：生成部、７４：印刷制御部、７６：第２のデータ取得部、７８：第３のデータ取得部、８０：第１の印刷ヘッド、８４ｋ：Ｋ用ノズル群、８４ｃ：Ｃ用ノズル群、８４ｍ：Ｍ用ノズル群、８４ｙ：Ｙ用ノズル群、１００：サーバ、１０２：第３種の特性データテーブル、１２０：印刷ヘッドセット、１２２：第２の印刷ヘッド、１２４ｋ：Ｋ用ノズル群、１２４ｃ：Ｃ用ノズル群、１２４ｍ：Ｍ用ノズル群、１２４ｙ：Ｙ用ノズル群、１２５：記録媒体、１２６：文字コード、１２８：二次元コード、１３０：ＵＲＬ
【図１】
0005609104.tif 000002
【図２】
0005609104.tif 000003
【図３】
0005609104.tif 000004
【図４】
0005609104.tif 000005
【図５】
0005609104.tif 000006
【図６】
0005609104.tif 000007
【図７】
0005609104.tif 000008
【図８】
0005609104.tif 000009
【図９】
0005609104.tif 000010
【図１０】
0005609104.tif 000011
【図１１】
0005609104.tif 000012
【図１２】
0005609104.tif 000013
【図１３】
0005609104.tif 000014