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