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