(57)【要約】【課題】濃度むらを改善するための正確な補正値を算出すること。【解決手段】画素データが示す階調値であるデータ階調値を、データ階調値に対するドット生成率を示すテーブルに基づいて、印刷装置が形成する複数種類のドットに対応する階調値である印刷階調値に変換し、第１指令階調値の第１テストパターンと、第２指令階調値の第２テストパターンを印刷し、第１テストパターンをスキャナに読み取らせ第１読取階調値を取得し、第１読取階調値と第１指令階調値に基づいて、第１指令階調値に対する第１補正値を算出し、同様に第２補正値も算出し、あるデータ階調値が第１指令階調値と第２指令階調値の間である場合に、第１補正値と第２補正値とに基づき、あるデータ階調値を補正し、補正されたデータ階調値に基づいて印刷する印刷方法であって、第１指令階調値と第２指令階調値の少なくとも一方は、テーブルにおいて、複数種類のドットのうちのあるドットが生成し始めるデータ階調値とする。【選択図】図１６
2008055726.tif 000002
【特許請求の範囲】
【請求項１】
画素データが示す階調値であるデータ階調値を、前記データ階調値に対するドット生成率を示すテーブルに基づいて、印刷装置が形成する複数種類のドットに対応する階調値である印刷階調値に変換するステップと、
前記データ階調値が第１指令階調値の画素から構成される第１テストパターンと、前記データ階調値が第２指令階調値の画素から構成される第２テストパターンを印刷するステップと、
前記第１テストパターンをスキャナに読み取らせ第１読取階調値を取得し、前記第２テストパターンを前記スキャナに読み取らせ第２読取階調値を取得するステップと、
前記第１読取階調値と前記第１指令階調値に基づいて、前記第１指令階調値に対する第１補正値を算出し、前記第２読取階調値と前記第２指令階調値に基づいて、前記第２指令階調値に対する第２補正値を算出するステップと、
あるデータ階調値が前記第１指令階調値と前記第２指令階調値の間の階調値である場合に、前記第１補正値と前記第２補正値とに基づいて前記あるデータ階調値に対する補正値を補間し、前記補正値により前記あるデータ階調値を補正し、補正されたデータ階調値を前記テーブルに基づいて印刷階調値に変換し、変換された印刷階調値に基づいて印刷するステップと、
を有する印刷方法であって、
前記第１指令階調値と前記第２指令階調値の少なくとも一方は、前記テーブルにおいて、前記複数種類のドットのうちのあるドットが生成し始めるデータ階調値であること、
を特徴とする印刷方法。
【請求項２】
請求項１に記載の印刷方法であって、
前記印刷装置は、媒体とノズルを所定方向に相対的に動かしながら、前記ノズルからインクを吐出させることで、前記媒体に画像を形成する印刷装置であり、
前記所定方向に対応する方向に並ぶ複数の画素の前記印刷階調値に基づいてラスタラインが形成され、
前記第１テストパターンと前記第２テストパターンは、前記所定方向と交差する方向に複数の前記ラスタラインが並ぶことにより構成され、
前記第１テストパターンの読取結果のうちの前記複数の画素に対応する部分の読取階調値を前記第１読取階調値として取得し、前記第２テストパターンの読取結果のうちの前記複数の画素に対応する部分の読取階調値を前記第２読取階調値として取得し、
前記第１補正値と前記第２補正値とに基づいて前記複数の画素のデータ階調値が補正される、
印刷方法。
【請求項３】
請求項１または請求項２に記載の印刷方法であって、
前記第１指令階調値と前記第２指令階調値の少なくとも一方は、前記テーブルにおいて、前記データ階調値の変化量に対する前記ドット生成率の変化量の割合が変化する階調値である、
印刷方法。
【請求項４】
請求項３に記載の印刷方法であって、
前記変化する階調値とは、前記複数種類のドットのうちのあるドットの前記ドット生成率が最大となるデータ階調値である、
印刷方法。
【請求項５】
請求項３または請求項４に記載の印刷方法であって、
前記変化する階調値とは、前記複数種類のドットのうちのあるドットの前記ドット生成率が減少し始めるデータ階調値である、
印刷方法。
【請求項６】
請求項１から請求項５のいずれかに記載の印刷方法であって、
前記第２指令階調値よりも前記第１指令階調値の方が小さいデータ階調値であり、前記第１指令階調値よりも前記あるデータ階調値の方が小さいデータ階調値である場合には、前記第１指令階調値と最低階調値とに基づいて、前記あるデータ階調値に対する補正値を補間する、
印刷方法。
【請求項７】
請求項１から請求項６のいずれかに記載の印刷方法であって、
前記補間とは、線形補間のことである、
印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷方法に関する。
【背景技術】
【０００２】
ヘッドが移動方向に移動し、その移動中にノズルからインクを吐出させることで印刷画像を完成させるインクジェットプリンタが知られている。  
このようなプリンタでは、ノズルの加工精度等の問題により、媒体上の正しい位置にインク滴が着弾しないことがある。そうすると、インク滴が着弾するはずであった領域付近に濃淡が生じ、印刷した画像に縞状の濃度むらが発生する。  
そこで、ＣＣＤセンサにより画像をサンプリングし、インクジェットプリンタで出力するデータをＣＣＤセンサの利得むらの特性をもとに補正し、濃度むらを改善する方法が提案されている（特許文献１参照）。  
他に、濃度むらテストパターンを印刷し、濃度むらテストパターンの濃度データに基づいて、濃度むらの補正を行う方法も提案されている（特許文献２参照）。
【０００３】
【特許文献１】特開平２−５４６７６号公報
【特許文献２】特開平６−１６６２４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
濃度むらテストパターンにおいて、指令階調値よりも濃く印刷された場合には、淡く印刷されるように階調値（データ階調値）を補正する。逆に、淡く印刷された場合には、濃く印刷されるように階調値を補正する。  
しかし、１つの画素が２５６階調で表現される場合において、全ての階調値に対するテストパターンを印刷することは出来ないので、テストパターンからの補正値は離散的に求められる。そして、その離散的な補正値の線形補間により、指令階調値以外の階調値に対する補正値を算出する。そのため、指令階調値の取り方によっては、正確な補正値を算出できないことがある。
【０００５】
そこで、本発明では、濃度むらを改善するための正確な補正値を算出することを目的とする。
【課題を解決するための手段】
【０００６】
課題を解決するための主たる発明は、画素データが示す階調値であるデータ階調値を、前記データ階調値に対するドット生成率を示すテーブルに基づいて、印刷装置が形成する複数種類のドットに対応する階調値である印刷階調値に変換するステップと、前記データ階調値が第１指令階調値の画素から構成される第１テストパターンと、前記データ階調値が第２指令階調値の画素から構成される第２テストパターンを印刷するステップと、前記第１テストパターンをスキャナに読み取らせ第１読取階調値を取得し、前記第２テストパターンを前記スキャナに読み取らせ第２読取階調値を取得するステップと、前記第１読取階調値と前記第１指令階調値に基づいて、前記第１指令階調値に対する第１補正値を算出し、前記第２読取階調値と前記第２指令階調値に基づいて、前記第２指令階調値に対する第２補正値を算出するステップと、あるデータ階調値が前記第１指令階調値と前記第２指令階調値の間の階調値である場合に、前記第１補正値と前記第２補正値とに基づいて前記あるデータ階調値に対する補正値を補間し、前記補正値により前記あるデータ階調値を補正し、補正されたデータ階調値を前記テーブルに基づいて印刷階調値に変換し、変換された印刷階調値に基づいて印刷するステップと、を有する印刷方法であって、前記第１指令階調値と前記第２指令階調値の少なくとも一方は、前記テーブルにおいて、前記複数種類のドットのうちのあるドットが生成し始めるデータ階調値であること、を特徴とする印刷方法である。
【０００７】
本発明の他の特徴は、本明細書、及び添付図面の記載により、明らかにする。
【発明を実施するための最良の形態】
【０００８】
＝＝＝開示の概要＝＝＝
本明細書の記載、及び添付図面の記載により、少なくとも次のことが明らかとなる。
【０００９】
すなわち、画素データが示す階調値であるデータ階調値を、前記データ階調値に対するドット生成率を示すテーブルに基づいて、印刷装置が形成する複数種類のドットに対応する階調値である印刷階調値に変換するステップと、前記データ階調値が第１指令階調値の画素から構成される第１テストパターンと、前記データ階調値が第２指令階調値の画素から構成される第２テストパターンを印刷するステップと、前記第１テストパターンをスキャナに読み取らせ第１読取階調値を取得し、前記第２テストパターンを前記スキャナに読み取らせ第２読取階調値を取得するステップと、前記第１読取階調値と前記第１指令階調値に基づいて、前記第１指令階調値に対する第１補正値を算出し、前記第２読取階調値と前記第２指令階調値に基づいて、前記第２指令階調値に対する第２補正値を算出するステップと、あるデータ階調値が前記第１指令階調値と前記第２指令階調値の間の階調値である場合に、前記第１補正値と前記第２補正値とに基づいて前記あるデータ階調値に対する補正値を補間し、前記補正値により前記あるデータ階調値を補正し、補正されたデータ階調値を前記テーブルに基づいて印刷階調値に変換し、変換された印刷階調値に基づいて印刷するステップと、を有する印刷方法であって、前記第１指令階調値と前記第２指令階調値の少なくとも一方は、前記テーブルにおいて、前記複数種類のドットのうちのあるドットが生成し始めるデータ階調値であること、を特徴とする印刷方法が実現できること。  
このような印刷方法によれば、濃度むらを改善するための正確な補正値を算出することができる。
【００１０】
かかる印刷方法であって、前記印刷装置は、媒体とノズルを所定方向に相対的に動かしながら、前記ノズルからインクを吐出させることで、前記媒体に画像を形成する印刷装置であり、前記所定方向に対応する方向に並ぶ複数の画素の前記印刷階調値に基づいてラスタラインが形成され、前記第１テストパターンと前記第２テストパターンは、前記所定方向と交差する方向に複数の前記ラスタラインが並ぶことにより構成され、前記第１テストパターンの読取結果のうちの前記複数の画素に対応する部分の読取階調値を前記第１読取階調値として取得し、前記第２テストパターンの読取結果のうちの前記複数の画素に対応する部分の読取階調値を前記第２読取階調値として取得し、前記第１補正値と前記第２補正値とに基づいて前記複数の画素のデータ階調値が補正されること。  
このような印刷方法によれば、隣接する画像片を形成するノズルの影響も考慮されるので、濃度むらがより改善される。
【００１１】
かかる印刷方法であって、前記第１指令階調値と前記第２指令階調値の少なくとも一方は、前記テーブルにおいて、前記データ階調値の変化量に対する前記ドット生成率の変化量の割合が変化する階調値であること。  
このような印刷方法によれば、濃度むらを改善するための正確な補正値を算出することができる。
【００１２】
かかる印刷方法であって、前記変化する階調値とは、前記複数種類のドットのうちのあるドットの前記ドット生成率が最大となるデータ階調値であること。  
このような印刷方法によれば、濃度むらを改善するための正確な補正値を算出することができる。
【００１３】
かかる印刷方法であって、前記変化する階調値とは、前記複数種類のドットのうちのあるドットの前記ドット生成率が減少し始めるデータ階調値であること。  
このような印刷方法によれば、濃度むらを改善するための正確な補正値を算出することができる。
【００１４】
かかる印刷方法であって、前記第２指令階調値よりも前記第１指令階調値の方が小さいデータ階調値であり、前記第１指令階調値よりも前記あるデータ階調値の方が小さいデータ階調値である場合には、前記第１指令階調値と最低階調値とに基づいて、前記あるデータ階調値に対する補正値を補間すること。  
このような印刷方法によれば、指令階調値の数を減らすことができ、テストパターンの印刷時間が短縮される。
【００１５】
かかる印刷方法であって、前記補間とは、線形補間のことであること。  
このような印刷方法によれば、濃度むらを改善するための正確な補正値を算出することができる。
【００１６】
＝＝＝本実施形態のシステム構成＝＝＝
図１は、本実施形態のシステム構成図である。プリンタ１とスキャナ７０がコンピュータ６０に接続されている。本実施形態では、プリンタ１の濃度むらの改善を行うために、製造工場等において完成したプリンタ１に、テストパターンを印刷させる。そして、そのテストパターンをスキャナ７０で読み取る。読み取った画像データはコンピュータ６０に送信され、コンピュータ６０は画像データを基に濃度むらの補正値Ｈを算出する。補正値Ｈはプリンタ１のメモリ５３に記憶される。なお、本実施形態では、プリンタ１をインクジェットプリンタとして説明する。
【００１７】
〈インクジェットプリンタの構成〉
図２は本実施形態のプリンタ１の全体構成ブロック図である。図３Ａは、プリンタ１の全体構成の概略図である。図３Ｂは、プリンタ１の全体構成の断面図である。外部装置であるコンピュータ６０から印刷データを受信したプリンタ１は、コントローラ５０により、各ユニット（搬送ユニット１０、キャリッジユニット２０、ヘッドユニット３０）を制御し、媒体Ｓ（以下、紙Ｓとする）に画像を形成する。また、プリンタ１内の状況を検出器群４０が監視し、その検出結果に基づいて、コントローラ５０は各ユニットを制御する。
【００１８】
コントローラ５０は、プリンタ１の制御を行うための制御ユニットであり、インターフェース部５１と、ＣＰＵ５２と、メモリ５３と、ユニット制御回路５４とを有する。インターフェース部５１は、外部装置であるコンピュータ６０とプリンタ１との間でデータの送受信を行うためのものである。ＣＰＵ５２は、プリンタ１全体の制御を行うための演算処理装置である。メモリ５３は、ＣＰＵ５２のプログラムを格納する領域や作業領域等を確保するためのものであり、ＲＡＭ、ＥＥＰＲＯＭ等の記憶手段を有する。ＣＰＵ５２は、メモリ５３に格納されているプログラムに従って、ユニット制御回路を有して各ユニットを制御する。
【００１９】
搬送ユニット１０は、紙Ｓを印刷可能な位置に送り込み、印刷時、搬送方向に所定の搬送量で紙Ｓを搬送させるためのものであり、給紙ローラ１１と、搬送モータ１２と、搬送ローラ１３と、プラテン１４と、排紙ローラ１５とを有する。
【００２０】
ヘッドユニット３０は、紙Ｓにインクを吐出するためのものであり、ヘッド３１とヘッド駆動回路３２を有する。ヘッド３１は、インク吐出部であるノズルを複数有する。そして、各ノズルには、各ノズルを駆動してインクを吐出させるための駆動素子であるピエゾ素子とインクが入った圧力室（不図示）が設けられている。
【００２１】
キャリッジユニット２０は、ヘッド３１を移動方向に移動させるためのものであり、キャリッジ２１と、キャリッジモータ２２とを有する。
【００２２】
検出器群４０には、リニア式エンコーダ４１、ロータリー式エンコーダ４２、紙検出センサ４３、および光学センサ４４等が含まれる。
【００２３】
図４は、ヘッド３１の下面（ノズル面）におけるノズルの配列を示す説明図である。ヘッド３１の下面には、イエローインクノズル列Ｙと、ブラックインクノズル列Ｋと、シアンインクノズル列ＤＣと、ライトシアンインクノズル列ＬＣと、マゼンタインクノズル列ＤＭと、ライトマゼンタインクノズル列ＬＭが形成されている。各ノズル列は、各色のインクを吐出するための吐出口であるノズルを１８０個備えている。１８０個のノズルのうち、下流側のノズルほど若い番号が付されている（＃ｉ＝＃１〜＃１８０）。また、各ノズル列のノズルは、搬送方向に沿って、一定の間隔ｋ・Ｄでそれぞれ整列している。
【００２４】
通常、カラー印刷ではシアン、マゼンタ、イエロー、ブラックの４色のインクが用いられる。しかし、本実施形態では、粒状性を改善し、よりなめらかな階調表現を実現するためにライトシアンとライトマゼンタが使用される。以下、ライトインクと区別するために、シアンインクをダークシアンインク、マゼンタインクをダークマゼンタインクとする。そして、紙Ｓ上では、シアンはライトシアンインクとダークシアンインクによって表現され、マゼンタはライトマゼンタインクとダークマゼンタインクによって表現される。
【００２５】
〈印刷手順〉
まず、コントローラ５０は、コンピュータ６０から印刷命令及び印刷データを受信する（印刷命令受信）。コントローラ５０は、印刷データに含まれる各種コマンドの内容を解析し、各ユニットを用いて、以下の処理を行う。
【００２６】
次に、コントローラ５０は、給紙ローラ１１を回転させ、印刷すべき紙Ｓを搬送ローラ１３まで送る（給紙処理）。紙検出センサ４３が、給紙ローラ１１から送られてきた紙Ｓの先端の位置を検出すると、コントローラ５０は搬送ローラ１３を回転させ紙Ｓを印刷開始位置（頭出し位置）に位置決めする。紙Ｓが印刷開始位置に位置決めされたとき、ヘッド３１の少なくとも一部のノズルは、紙Ｓと対向している。
【００２７】
そして、コントローラ５０は、キャリッジモータ２２を駆動し、キャリッジ２１を移動方向に移動させる。ヘッド３１は、キャリッジ２１に設けられているため、ヘッド３１もキャリッジ２１と共に移動方向に移動する。キャリッジ２１の移動方向への１回の移動をパスという。そして、コントローラ５０は、キャリッジ２１の移動中に、印刷データに基づいてノズルからインクを吐出させる。ノズルから吐出されたインク滴が紙Ｓ上に着弾すれば、紙Ｓ上にドットが形成される（ドット形成処理）。移動するヘッド３１からインクが断続的に吐出されるので、紙Ｓ上には移動方向に沿ったドット列（ラスタライン）が形成される。なお、キャリッジ２１の移動方向の位置をリニア式エンコーダ４１が検出し、キャリッジ２１に取り付けられている光学センサ４４が紙Ｓの端部の位置を検出する。
【００２８】
その後、コントローラ５０は、搬送モータ１２を駆動し、搬送ローラ１３を回転させて、紙Ｓを搬送方向に所定の搬送量分だけ搬送する（搬送処理）。これにより、ヘッド３１は、先ほどのドット形成処理によって形成されたドットの位置とは異なる位置に、ドットを形成することが可能になる。紙Ｓの搬送量は、搬送ローラ１３の回転量に応じて定まり、搬送ローラ１３の回転量はロータリー式エンコーダ４２によって検出される。なお、印刷中の紙Ｓはプラテン１４によって支持される。
【００２９】
最後に、コントローラ５０は、印刷中の紙Ｓの排紙の判断を行う（排紙処理）。印刷中の紙Ｓに印刷すべきデータが残っていれば、排紙は行われず、印刷すべきデータがなくなるまで、ドット形成処理と搬送処理とを交互に繰り返し、画像を完成させる。印刷中の紙Ｓに印刷すべきデータがなくなったところで、排紙ローラ１５の回転により紙Ｓは排紙される。
【００３０】
〈印刷データについて〉
図５は、印刷データ作成処理のフロー図である。コンピュータ６０からプリンタ１に送信される印刷データは、コンピュータ６０のメモリに記憶されているプリンタドライバに従って作成される。つまり、プリンタドライバは、コンピュータ６０に印刷データを作成させて、印刷データをプリンタ１へ送信させるためのプログラムである。
【００３１】
解像度変換処理（Ｓ００１）は、アプリケーションプログラムから出力された画像データを、紙Ｓに印刷する際の解像度に変換する処理である。紙Ｓに印刷する際の解像度が７２０×７２０ｄｐｉに指定されている場合、アプリケーションプログラムから受け取った画像データを７２０×７２０ｄｐｉの解像度の画像データに変換する。なお、解像度変換処理後の画像データは、ＲＧＢ色空間により表される２５６階調のデータ（ＲＧＢデータ）である。
【００３２】
ここで、画像データとは、画素データの集まりである。そして、画素とは画像を構成する単位要素であり、この画素が２次元的に並ぶことにより画像が構成される。画像データが２５６階調のデータということは、１つの画素が２５６階調で表現されることであり、１つの画素データは８ビットのデータとなる（２の８乗＝２５６）。
【００３３】
色変換処理（Ｓ００２）は、ＲＧＢデータを、プリンタ１のインクに対応したＣＭＹＫ色空間により表されるＣＭＹＫデータに変換する処理である。この色変換処理は、ＲＧＢデータの階調値とＣＭＹＫデータの階調値とを対応づけたテーブル（不図示）をプリンタドライバが参照することによって行われる。
【００３４】
濃度補正処理（Ｓ００３）は、各画素データの階調値を、その画素データが属する列領域に対応する補正値に基づいて、階調値を補正する処理である。詳細は後述する。
【００３５】
ハーフトーン処理（Ｓ００４）は、高階調数のデータ（２５６階調）を、プリンタ１が形成可能な階調数（４階調）のデータに変換する処理である。つまり、２５６階調で表現される画素データの階調値（データ階調値）を４階調で表現される画素データの階調値（印刷階調値）に変換する。詳細は後述する。
【００３６】
ラスタライズ処理（Ｓ００５）は、マトリクス状の画像データを、プリンタ１に転送すべきデータ順に、画素データごとに並べ替えられる処理である。これらの処理を経て生成された印刷データは、印刷方式に応じたコマンドデータ（搬送量など）と共に、プリンタドライバによりプリンタ１に送信される。
【００３７】
〈スキャナの構成〉
図６Ａは、スキャナ７０の縦断面図である。図６Ｂは、上蓋７１を外した状態のスキャナ７０の上面図である。スキャナ７０は、上蓋７１と、原稿７２が置かれる原稿台ガラス７３と、この原稿台ガラス７３を介して原稿７２と対面しつつ副走査方向に移動する読取キャリッジ７４と、読取キャリッジ７４を副走査方向に案内する案内部７５と、読取キャリッジ７４を移動させるための移動機構７６と、スキャナ７０内の各部を制御するスキャナコントローラ（不図示）とを備えている。読取キャリッジ７４には、原稿７２に光を照射する露光ランプ７７と、副走査方向と垂直な方向である主走査方向のラインの像を検出するラインセンサ７８と、原稿７２からの反射光をラインセンサ７８へ導くための光学系７９とが設けられている。図中の読取キャリッジ７４の内部の破線は、光の軌跡を示している。
【００３８】
原稿７２の画像を読み取るとき、操作者は、上蓋７１を開いて原稿７２を原稿台ガラス７３に置き、上蓋７１を閉じる。そして、スキャナコントローラが、露光ランプ７７を発光させた状態で読取キャリッジ７４を副走査方向に沿って移動させ、ラインセンサ７８により原稿７２の表面の画像を読み取る。スキャナコントローラは、読み取った画像データをコンピュータ６０のスキャナドライバへ送信し、これにより、コンピュータ６０は、原稿７２の画像データを取得する。
【００３９】
＝＝＝ドットの大きさについて＝＝＝
印刷データを作成する際のハーフトーン処理において、高階調数のデータが、低階調数のデータに変換される。１つの画素データが示す階調数を低くすることで、プリンタ１が各画素を表現することが可能となる。例えば、１つの画素が２階調を示すということは、プリンタ１が画素に「ドットを形成しない」、もしくは「ドットを形成する」ことにより表現される。そして、１つの画素が４階調を示すということは、プリンタ１が画素に「ドットを形成しない」、もしくは「小ドット」、「中ドット」、「大ドット」を形成することにより表現される。本実施形態のプリンタ１は、１つの画素に対して４階調表現を可能とする。即ち、プリンタ１は、ノズルから吐出されるインク量を変化させることにより、３種類のドット（小ドット、中ドット、大ドット）を打ち分ける。まず、ノズルからインクが吐出される仕組みについて説明する。
【００４０】
図７は、駆動信号生成回路５５とヘッド駆動回路３２の説明図である。図中のかっこ内の数字は、部材又は信号が対応するノズルの番号を示している。図８は、駆動信号ＤＲＶの説明図である。プリンタ１のコントローラ５０内の駆動信号生成回路５５により駆動信号ＤＲＶが生成され、ヘッドユニット３０内のヘッド駆動回路３２によりインク吐出のオン・オフを制御している。
【００４１】
ヘッド駆動回路３２は、第１シフトレジスタ５５１と第２シフトレジスタ５５２とスイッチ５６が１８０個ずつ（ノズル数分）と、ラッチ回路５５３と、データセレクタ５５４を有する。なお、ヘッド駆動回路３２は、各ノズル列ごとに設けられている。
【００４２】
駆動信号ＤＲＶは、ラッチ信号ＬＡＴの立ち上がりパルスから次の立ち上がりパルスまでを繰り返し周期Ｔとする。この繰り返し周期Ｔ内に、駆動信号ＤＲＶは、第１駆動パルスＷ１と第２駆動パルスＷ２を有する。
【００４３】
まず、ヘッド駆動回路３２に印刷信号ＰＲＴがシリアル伝送される。印刷信号ＰＲＴは、各ノズルが担当する１画素の画素データに対応した信号である。画素データは４階調を示す２ビットのデータであるので、印刷信号ＰＲＴとして１８０個の２ビットデータが１度に伝送される。
【００４４】
シリアル伝送された印刷信号ＰＲＴは、まず、１８０個の第１シフトレジスタ５５１に１ビットずつ入力される。その後、１８０個の第２シフトレジスタ５５２に１ビットずつ入力される。次に、ラッチ信号ＬＡＴの立ち上がりパルスがラッチ回路５５３に入力されたとき、各シフトレジスタの３６０個のデータがラッチ回路５５３にラッチされる（ラッチ回路がデータを保持する）。
【００４５】
そして、ラッチ信号ＬＡＴの立ち上がりパルスがラッチ回路５５３に入力されるとき、データセレクタ５５４にもラッチ信号ＬＡＴの立ち上がりパルスが入力される。データセレクタ５５４は、立ち上がりパルスが入力されると、初期状態になる。初期状態となったデータセレクタ５５４は、次の立ち上がりパルスが入力される前に、１８０個の２ビットデータである印刷信号ＰＲＴをラッチ回路５５３から選択する。そして、各ノズル＃ｉの印刷信号ＰＲＴ（ｉ）の内容に合ったスイッチ制御信号ＳＷ（ｉ）を各スイッチ５６（ｉ）に出力する。
【００４６】
スイッチ制御信号ＳＷは、スイッチ５６がオン又はオフするタイミングを示す。このスイッチ５６のオン・オフ動作が駆動信号ＤＲＶをピエゾ素子ＰＺＴに入力もしくは遮断している。例えば、スイッチ制御信号ＳＷ（ｉ）のレベルが「１」のとき、スイッチ５６（ｉ）はオンとなり、駆動信号ＤＲＶが有する駆動パルスをそのまま通過させ、駆動パルスがピエゾ素子に入力される。一方、スイッチ制御信号ＳＷ（ｉ）のレベルが「０」のとき、スイッチ５６（ｉ）はオフとなり、駆動信号ＤＲＶが有する駆動パルスを遮断する。なお、駆動信号ＤＲＶは、あるノズル列に属する１８０個のピエゾ素子ＰＺＴに対して共通に供給される。
【００４７】
そして、スイッチ５６（ｉ）を通過した駆動信号ＤＲＶ（ｉ）の駆動パルスに応じて、ピエゾ素子ＰＺＴ（ｉ）が変形する。ピエゾ素子ＰＺＴ（ｉ）が変形すると、圧力室の一部を区画する弾性膜（側壁）が変形し、圧力室内のインクがノズル＃ｉから吐出される。
【００４８】
最後に、３種類のドット（小ドット、中ドット、大ドット）の打ち分け方について説明する。駆動パルスの形状は、吐出されるインク量に応じて、あらかじめ定められている。つまり、駆動パルスの違いにより、大きさの異なるドットを形成することが出来る。図８に示すように、スイッチ制御信号ＳＷ（ｉ）が「１１」の場合、ピエゾ素子ＰＺＴ（ｉ）に第１駆動パルスＷ１及び第２駆動パルスＷ２が入力され、大ドットが形成される。スイッチ制御信号ＳＷ（ｉ）が「１０」の場合、ピエゾ素子ＰＺＴ（ｉ）に第１駆動パルスＷ１が入力され、中ドットが形成される。スイッチ制御信号ＳＷ（ｉ）が「０１」の場合、ピエゾ素子ＰＺＴ（ｉ）に第２駆動パルスＷ２が入力され、小ドットが形成される。ＳＷ（ｉ）が「００」の場合、ピエゾ素子ＰＺＴ（ｉ）に駆動パルスが何も入力されないので、ドットは形成されない。つまり、第１駆動パルスＷ１と第２駆動パルスＷ２により、１つの画素に対して、大ドット、中ドット、小ドット、ドットなしの４階調を表現することが出来る。
【００４９】
＝＝＝ハーフトーン処理について＝＝＝
図９Ａは、ドット生成率テーブルの説明図である。グラフの横軸は階調値（データ階調値、０〜２５５）であり、縦軸の左側がドット生成率（０〜１００％）、右側がレベルデータである。図中の太い点線が小ドットの生成率ＳＤを示し、細い実線が中ドットの生成率ＭＤを示し、太い実線が大ドットの生成率ＬＤを示している。ここで、ドットの生成率とは、ある単位領域の階調値が一定である場合、その単位領域内の画素にドットが形成される割合のことである。例えば、単位領域が１６×１６画素から構成され、単位領域内の全ての画素データの階調値が一定値であり、単位領域内にｎ個のドットが形成される場合、その階調値におけるドット生成率は、｛ｎ／（１６×１６）｝×１００（％）となる。また、レベルデータとは、ドットの生成率を値０〜２５５の２５６階調で表したデータをいう。
【００５０】
図９Ｂは、ディザ法によるドットのオン・オフ判定の様子を示す図である。プリンタドライバは、まず、大ドットレベルデータＬＶＬが閾値より大きいか否かを判定する。閾値は、ディザマトリクスの各画素に対して異なる値が設定されている。説明の簡略のため、図中では４×４画素のディザマトリクスを用いているが、実際には１６×１６画素など広い範囲に対応するディザマトリクスを使用している。
【００５１】
ハーフトーン処理前の画像データは、ＣＭＹＫ色空間により表される２５６階調のＣＭＹＫの画素データの集合である。以下、ブラックの画素データ（以下、Ｋ画素データとする）を例に説明する。まず、プリンタドライバは、ＣＭＹＫの画像データの中からのＫ画素データを順に取り出す。プリンタドライバは、取り出したＫ画素データの階調値（データ階調値）に応じて、大ドットレベルデータＬＶＬを設定する。例えば、あるＫ画素データの階調値がｇｒであれば、Ｋ画素データの大ドットレベルデータＬＶＬは３ｄに設定される。
【００５２】
そして、Ｋ画素データが図９Ｂに示す一番左上の画素であり、大ドットレベルデータＬＶＬが「３ｄ＝１８０」であったとする。この場合、この画素に対応するディザマトリクス上の閾値は「１」であり、プリンタドライバは大ドットレベルデータの方が閾値よりも大きいと判定する。そうすると、その画素の画素データを「１１」に変換し、その画素データに対する処理を終了する。そして、一番左上の画素には大ドットが形成されることになる。
【００５３】
もし、一番左上の画素の大ドットレベルデータＬＶＬが閾値以下であると判定された場合、次に、プリンタドライバは、中ドットレベルデータＬＶＭを設定する。あるＫ画素データの階調値がｇｒであれば、中ドットレベルデータＬＶＭは２ｄに設定される。そして、プリンタドライバは中ドットレベルデータＬＶＭの方が閾値よりも大きいと判定した場合、その画素の画素データを「１０」に変換し、その画素データに対する処理を終了する。その画素には中ドットが形成される。
【００５４】
また、中ドットレベルデータＬＶＭが閾値以下であると判定された場合、小ドットレベルデータＬＶＳを設定する。あるＫ画素データの階調値がｇｒであれば、小ドットレベルデータＬＶＳは１ｄに設定される。そして、プリンタドライバは、小ドットレベルデータＬＶＳの方が閾値よりも大きいと判定した場合、その画素の画素データを「０１」に変換し、その画素データに対する処理を終了する。その画素には小ドットが形成される。小ドットレベルデータＬＶＳが閾値以下の場合は、その画素の画素データを「００」に変換し、その画素データに対する処理を終了する。その画素にドットは形成されない。
【００５５】
このようにして、ＣＭＹＫの画像データの中から２５６階調を示すＫ画素データが取り出され、４階調を示す２ビットデータに変換される。同様に、２５６階調のイエローの画素データも４階調のデータに変換される。但し、ライトインクを使用するシアンとマゼンタの画素データのハーフトーン処理方法は、ブラックの画素データのハーフトーン処理方法と異なる。
【００５６】
図１０は、シアンの階調値変換テーブルの説明図である。横軸は入力階調値であり、縦軸は出力階調値である。図中の点線がライトシアンの階調値を示し、実線がダークシアンの階調値を示す。色変換処理の際に、２５６階調のシアンの各画素データは、階調値変換テーブルをもとに、ライトシアンの２５６階調の画素データと、ダークシアンの２５６階調の画素データに変換される。例えば、シアンのある画素データの階調値がｇｒである場合、ライトシアンの階調値が５ｄ、ダークシアンの階調値が４ｄと設定される。同様に、２５６階調のマゼンタの各画素データも、階調値変換テーブルをもとに、ライトマゼンタの２５６階調の画素データと、ダークマゼンタの２５６階調の画素データに変換される。
【００５７】
そして、ハーフトーン処理において、前述のイエローのハーフトーン処理と同様に、それぞれ設定された２５６階調のライトシアンの階調値（５ｄ）と、２５６階調のダークシアンの階調値（４ｄ）は、それぞれ４階調の画素データに変換される。このようにして、２５６階調のＣＭＹＫ画像データが、プリンタ１の６色のインクに対応した４階調のＣ（ＤＣ・ＬＣ）Ｍ（ＤＭ・ＣＭ）ＹＫの画像データに変換される。
【００５８】
＝＝＝インターレース印刷について＝＝＝
本実施形態のプリンタ１は、通常、インターレース印刷を行う。インターレース印刷とは、１回のパスで記録されるラスタライン間に、記録されないラスタラインが挟まれるような印刷方法である。インターレース印刷では、印刷の始めと終わりの印刷方法が通常と異なるため、通常印刷と、先端印刷及び後端印刷に分けて説明する。
【００５９】
図１１Ａ及び図１１Ｂは、通常印刷の説明図である。図１１Ａは、パスｎ〜パスｎ＋３におけるヘッド３１の位置とドットの形成の様子を示し、図１１Ｂは、パスｎ〜パスｎ＋４におけるヘッド３１の位置とドットの形成の様子を示している。説明の便宜上、一つのノズル列のみを示し、ノズル列のノズル数も少なくしている。また、ヘッド３１（ノズル列）が紙Ｓに対して移動しているように描かれているが、同図はヘッド３１と紙Ｓとの相対的な位置を示すものであって、実際には紙Ｓが搬送方向に移動される。同図において、黒丸で示されたノズルはインクを吐出可能なノズルであり、白丸で示されたノズルはインクを吐出不可なノズルである。また、同図において、黒丸で示されたドットは、最後のパスで形成されたドットであり、白丸で示されたドットは、それ以前のパスで形成されたドットである。
【００６０】
インターレースの印刷の通常印刷では、紙Ｓが搬送方向に一定の搬送量Ｆで搬送されるごとに、各ノズルが、その直前のパスで記録されたラスタラインのすぐ上のラスタラインを記録する。このように搬送量を一定にして記録を行うためには、（１）インクを吐出可能なノズル数Ｎ（整数）はｋ（ノズル間隔ｋ・Ｄ）と互いに素の関係にあること、（２）搬送量ＦはＮ・Ｄに設定されること、が条件となる。ここでは、Ｎ＝７、ｋ＝４、Ｆ＝７・Ｄである（Ｄ＝１／７２０インチ）。しかし、これでは、印刷の始めと終わりに、ラスタラインを形成されない箇所がある。その為、先端印刷及び後端印刷では、通常印刷とは異なる印刷方法を行う。
【００６１】
図１２は、先端印刷及び後端印刷の説明図である。最初の５回のパスが先端印刷であり、最後の５回のパスが後端印刷である。先端印刷では、通常印刷時の搬送量（７・Ｄ）よりも少ない搬送量（１・Ｄ又は２・Ｄ）にて、紙Ｓが搬送される。そして、先端印刷では、インクを吐出するノズルが一定していない。後端印刷も同様に印刷される。これにより、印刷の初めと終わりにも、搬送方向に連続して並ぶ複数のラスタラインを形成することができる。また、先端印刷では３０本のラスタラインが形成され、後端印刷でも３０本のラスタラインが形成される。これに対し、通常印刷では、紙Ｓの大きさにもよるが、およそ数千本のラスタラインが形成される。
【００６２】
なお、通常印刷により印刷される領域（以下、通常印刷領域とする）のラスタラインの並び方には、インク吐出可能なノズル数（ここではＮ＝７個）と同じ数のラスタラインごとに、規則性がある。通常印刷で最初に形成されたラスタラインから７番目までのラスタラインは、それぞれ、ノズル♯３、♯５、♯７、♯２、♯４、♯６、♯８、により形成され、次の８番目以降の７本のラスタラインも、これと同じ順序の各ノズルで形成されている。一方、先端印刷により印刷される領域（以下、先端印刷領域とする）及び後端印刷により印刷される領域（以下、後端印刷領域とする）のラスタラインの並びには、通常印刷領域のラスタラインと比べると、規則性を見出し難い。
【００６３】
＝＝＝濃度むらについて＝＝＝
〈濃度むら〉
以下の説明のため、「画素領域」と「列領域」を設定する。画素領域とは、紙Ｓ上に仮想的に定められた矩形状の領域を指し、印刷解像度に応じて大きさや形が定められる。そして、１つの画素領域には、画像データを構成する１つの画素が対応している。例えば、印刷解像度が７２０ｄｐｉ（移動方向）×７２０ｄｐｉ（搬送方向）の場合、画素領域は、約３５．２８μｍ×３５．２８μｍ（≒１／７２０インチ×１／７２０インチ）の大きさの正方形状の領域になる。また、「列領域」とは、移動方向に並ぶ複数の画素領域によって構成される領域をさす。
【００６４】
図１３Ａは、理想的にドットが形成されたときの様子の説明図である。理想的にドットが形成されるとは、画素領域の中心位置にインク滴が着弾し、そのインク滴が紙Ｓ上に広がって、画素領域にドットが形成されることである。各ドットが各画素領域に正確に形成されるということは、ラスタラインが列領域に正確に形成されることである。
【００６５】
図１３Ｂは、濃度むらが発生したときの説明図である。２番目の列領域に形成されたラスタラインは、ノズルから吐出されたインク滴の飛行方向のばらつきにより、３番目の列領域側（搬送方向上流側）に寄って形成されている。その結果、２番目の列領域は淡くなり、３列目の列領域は濃くなる。また、５番目の列領域に吐出されたインク滴のインク量は規定のインク量よりも少なく、５番目の列領域に形成されるドットが小さくなっている。その結果、５列目の列領域は淡くなる。
【００６６】
このように濃淡の違うラスタラインからなる印刷画像を巨視的に見ると、キャリッジの移動方向に沿う縞状の濃度むらが視認される。この濃度むらは、印刷画像の画質を低下させる原因となる。
【００６７】
〈濃度むらの補正〉
図１３Ｃは、本実施形態の印刷方法によりドットが形成されたときの様子の説明図である。本実施形態では、濃く視認されやすい列領域に対しては、淡く画像片が形成されるように、その列領域に対応する画素の画素データの階調値（データ階調値）を補正する。また、淡く視認されやすい列領域に対しては、濃く画像片が形成されるように、その列領域に対応する画素の画素データの階調値（データ階調値）を補正する。
【００６８】
例えば、図中では、淡く視認される２番目と５番目の列領域のドットの生成率が高くなり、濃く視認される３番目の列領域のドットの生成率が低くなり、各列領域に対応する画素の画素データの階調値が補正される。これにより、各列領域のラスタラインのドット生成率が変更され、列領域の画像片の濃度が補正されて、印刷画像全体の濃度むらが抑制される。
【００６９】
ところで、図１３Ｂにおいて、３番目の列領域に形成される画像片の濃度が濃くなる理由は、３番目の列領域にラスタラインを形成するノズルの影響によるものではなく、隣接する２番目の列領域にラスタラインを形成するノズルの影響によるものである。このため、３番目の列領域にラスタラインを形成するノズルが別の列領域にラスタラインを形成する場合、その列領域に形成される画像片が濃くなるとは限らない。つまり、同じノズルにより形成された画像片であっても、隣接する画像片を形成するノズルが異なれば、濃度が異なる場合がある。このような場合、単にノズルに対応付けた補正値では、濃度むらを抑制することができない。そこで、本実施形態では、列領域ごとに設定される補正値に基づいて、画素データの階調値（データ階調値）を補正している。
【００７０】
＜プリンタ製造工場での濃度むら補正処理について＞
図１４は、プリンタ製造後の検査工程で行われる補正値取得処理のフロー図である。検査のため、図１に示したように、濃度むらの検査対象となるプリンタ１と、スキャナ７０はコンピュータ６０に接続される。コンピュータ６０には、予め、テストパターンをプリンタ１に印刷させるためのプリンタドライバと、スキャナ７０を制御するためのスキャナドライバと、スキャナ７０から読み取ったテストパターンの画像データに対して画像処理や解析等を行うための補正値取得プログラムがインストールされている。
【００７１】
＝＝＝Ｓ１０１：テストパターンの印刷＝＝＝
まず、コンピュータ６０のプリンタドライバは、プリンタ１にテストパターンを印刷させる。なお、本実施形態では、７２０ｄｐｉ（移動方向）×７２０ｄｐｉ（搬送方向）の解像度でテストパターンが印刷される。
【００７２】
図１５Ａは、テストパターンの説明図である。図１５Ｂは、補正用パターンの説明図である。テストパターンとして、色別（ノズル別）に６つの補正用パターンが形成される。各補正用パターンは、３種類の濃度の帯状パターンと、上罫線と、下罫線と、左罫線と、右罫線とにより構成されている。帯状パターンは、それぞれ一定の階調値の画像データから生成されたものであり、左の帯状パターンから順に階調値７６（濃度３０％）、１１６（濃度４５％）、１６６（濃度６５％）となり、順に濃い濃度の帯状パターンとなっている。例えば、濃度３０％の帯状パターンは、階調値７６の画素から構成されている。なお、これらの３種類の階調値を「指令階調値」とし、記号でＳａ（＝７６）、Ｓｂ（＝１１６）、Ｓｃ（＝１６６）と表す。
【００７３】
そして、各帯状パターンは、先端印刷、通常印刷及び後端印刷により形成される。そのため、先端印刷領域の３０個のラスタラインと、通常印刷領域の５６個のラスタラインと、後端印刷領域の３０個のラスタラインとから構成されている。通常の印刷では、通常印刷領域に数千個のラスタラインが形成されるが、補正用パターンの印刷では、通常印刷領域には８周期分（７個×８周期）のラスタラインが形成される。上罫線は、帯状パターンを構成する先端側から１番目のラスタラインにより形成され、下罫線は、先端側から１１６番目のラスタラインにより形成される。
【００７４】
図１６Ａは、ドット生成率テーブルと指令階調値の関係を示す図である。階調値３８（濃度１５％）を境に中ドットが生成し始め、階調値７６（濃度３０％）を境に大ドットが生成し始める。即ち、階調値０から階調値３８の区間では、単位領域内に小ドットのみが生成される。そして、階調値３８から階調値７６の区間では、単位領域内に小ドットと中ドットが生成され、階調値７６を境に３種類のドット（小ドット、中ドット、大ドット）が形成される（厳密にいえば、階調値２５５では大ドットのみが生成される）。そして、本実施形態では、３種類のドットのうちの大ドットが生成し始める階調値（＝７６）を指令階調値Ｓａとする。
【００７５】
なお、中ドットが発生し始める階調値（＝３８）も、３種類のドットのうちのあるドットが生成し始める階調値である。しかし、本実施形態では、階調値３８を指令階調値に設定していない。なぜなら、印刷された帯状パターンの濃度が淡すぎると、スキャナ７０で読み取る際に、その帯状パターンの濃度の測定値が不安定になる可能性があるからである。
【００７６】
また、図１６Ａの階調値３８から７６の区間では、階調値が増加しても小ドットの生成率は増加しない。これに対して、階調値が一定の割合Ａで増加すると、中ドットの生成率（単位領域内に生成される中ドットの割合）は一定の割合Ｂで増加する。つまり、階調値が３８から７６の区間では、階調値の変化量Ａに対する中ドットの生成率の変化量Ｂの割合（変化の割合＝Ｂ／Ａ）が一定である。そのため、図１６Ａのようにグラフ上で示すと、中ドットの生成率は、傾き（Ｂ／Ａ）が一定の右上がりの直線となる。なお、小ドットの生成率は、傾きがゼロで、ドットの生成率を示す軸に対して垂直な直線となる。
【００７７】
しかし、階調値７６から１１６の区間では、階調値が増加しても、中ドットの生成率は増加しなくなる。その代わりに、階調値７６を境に大ドットが生成し始める。また、階調値７６の中ドットの生成率３０％よりも、中ドットの生成率が増えることはない。言い換えると、大ドットが発生し始める階調値と、中ドットの生成率が最大となる階調値が等しい。そして、階調値が７６から１１６の区間では、階調値が一定の割合Ａで増加すると、大ドットの生成率は一定の割合Ｃで増加する。そのため、グラフ上で示すと、階調値７６から１１６の区間では、大ドットの生成率は、傾き（Ｃ／Ａ）が一定の右上がりの直線となる。それに対して、中ドットと小ドットの生成率は、傾きゼロの直線である。
【００７８】
このように、大ドットが生成し始める階調値７６は、階調値の変化量Ａに対する中ドットの生成率の変化量の割合がＢ／Ａからゼロに変化する階調値でもある。そして、本実施形態では、階調値の変化量に対するドット生成率の変化量の割合が変化する階調値も指令階調値とする。グラフ上でみると、各ドットの生成率を示す直線の傾きが変わる地点の階調値が、指令階調値となる。
【００７９】
更に、階調値７６から１１６の区間では小ドットと中ドットのドット生成率が一定であるのに対して、階調値１１６を境に小ドットと中ドットのドット生成率が減少する。つまり、単位領域内に生成される小ドットと中ドットの生成率が減少する。そして、階調値の変化量Ａに対する小ドットと中ドットの生成率の変化量の割合は、ゼロからマイナスの値に変化する。このように、階調値の変化量に対する各ドットの生成率の変化量の割合が、ゼロからマイナスの値もしくはプラスの値からマイナスの値に変化する階調値も指令階調値とする。
【００８０】
以上を踏まえて、本実施形態では、大ドットが生成し始める階調値７６を指令階調値Ｓａとする。また、指令階調値Ｓａは、中ドットのドット生成率が最大となる階調値でもある。そして、中ドットと小ドットの生成率が減少し始める階調値１１６を指令階調値Ｓｂとする。
【００８１】
図１６Ｂは、３種類のドットの生成率を積算したグラフである。グラフの白い領域は小ドットが生成される割合を示し、灰色の領域は中ドットが生成される割合を示し、斜線の領域は大ドットが生成される割合を示す。そして、指令階調値Ｓａ及びＳｂは、ドット生成率を積算したグラフの傾きが変化する階調値でもある。また、３種類のドットの生成率の割合は、３つの指令階調値（Ｓａ、Ｓｂ，Ｓｃ）によりそれぞれ異なる。
【００８２】
指令階調値Ｓａ（＝７６）では、単位領域内に小ドットが生成される割合が１６％、中ドットが生成される割合が３０％である。そして、大ドットは生成されない。例えば、単位領域を１６×１６画素（２５６画素）とし、全ての画素の階調値が指令階調値Ｓａの場合、２５６画素のうち４１画素（２５６×１６％）に小ドットが生成され、２５６画素のうち７７画素（２５６×１６％）に中ドットが生成される。これに対して、指令階調値Ｓｂ（＝１１６）では、単位領域内に小ドットが生成される割合が１６％、中ドットが生成される割合が３０％、大ドットが生成される割合が１６％である。指令階調値Ｓａである単位領域には小ドットと中ドットの２種類のドットしか生成されないが、指令階調値Ｓｂである単位領域には３種類のドットが生成される。つまり、指令階調値によって、単位領域内に生成されるドットの種類が異なる。そして、単位領域内に生成されるドットの種類が変わる境目の階調値を指令階調値としている。
【００８３】
ところで、指令階調値Ｓｃは、ドット生成率テーブルを示すグラフの傾きが変化しない階調値であるが、指令階調値Ｓａ及びＳｂの間隔と指令階調値Ｓｂ及びＳｃの間隔が同程度となるように設定されている。そして、指令階調値Ｓｃ（＝１６６）では、単位領域内に小ドットが生成する割合が１１％、中ドットが生成する割合が２０％、大ドットが生成される割合が５８％である。即ち、指令階調値Ｓｃでは、中ドットが生成される割合（２０%）が、大ドットが生成される割合（５８％）よりも小さい。これに対して、指令階調値Ｓｂでは、中ドットが生成される割合（３０%）が、大ドットが生成される割合（１６％）よりも大きい。つまり、指令階調値Ｓｂである単位領域と、指令階調値Ｓｃである単位領域では、生成されるドットの種類は同じであるが、各ドットの生成率の特性が異なる。
【００８４】
このように、３種類のドットが形成される本実施形態では、ドット生成率テーブルを示すグラフの傾きが変化する階調値を指令階調値に設定している。そして、単位領域内に生成される各ドットの生成率の特性が異なる階調値を、指令階調値に設定する。この結果、図１５Ｂに示す濃度３０％の帯状パターンを構成する画素のうち、１６％の画素に小ドットが生成され、３０％の画素に中ドットが生成される。そして、濃度４５％の帯状パターンを構成する画素のうち、１６％の画素に小ドットが生成され、３０％の画素に中ドットが生成され、１６％の画素に大ドットが生成される。濃度６５％の帯状パターンを構成するがそのうち、１１％の画素に小ドットが生成され、２０％の画素に中ドットが生成され、５８％の画素に大ドットが生成される。
【００８５】
＝＝＝Ｓ１０２：補正用パターンの読み取り＝＝＝
次に、印刷されたテストパターンをスキャナ７０で読み取る。テストパターンが印刷された原稿をスキャナ７０にセットする際に、ラスタラインの方向がスキャナ７０の主走査方向になり、複数のラスタラインの並ぶ方向がスキャナ７０の副走査方向になるようにセットする。図１５Ａの矢印のかっこ内にスキャナ７０のセット方向を示す。
【００８６】
そして、本実施形態では、テストパターンを主走査方向について７２０ｄｐｉの解像度で読み取らせ、副走査方向について２８８０ｄｐｉの解像度で読み取らせる。複数のラスタラインの並ぶ方向（副走査方向）に印刷解像度（７２０ｄｐｉ）の４倍の解像度で読み取るのは、列領域の範囲の特定を容易にするためである。逆に、主走査方向は副走査方向に対して読み取り解像度を下げているのは、読み取るデータ量を削減し、読み取り速度を上げるためである。
【００８７】
また、読み取ったテストパターンの画像の左上のスキャン原点を基準とし、読み取り範囲を特定する。図１５Ａに示すように、イエローの補正用パターンを囲む一点鎖線の範囲を、イエローの補正用パターンの読み取り範囲とする。なお、読み取り範囲を特定するためのパラメータＳＸ１、ＳＹ１、ＳＷ１及びＳＨ１は、補正値取得プログラムによって予めスキャナドライバに設定されている。また、補正用パターンよりも大きい範囲を読み取り範囲としているので、原稿が多少ずれてスキャナ７０にセットされても、イエローの補正用パターンの全体を読み取ることができる。
【００８８】
＝＝＝補正用パターンの傾き検出（Ｓ１０３）及び回転処理（Ｓ１０４）＝＝＝
次に、補正値取得プログラムは、各色の読み取った画像データ（一点鎖線の読み取り範囲：ＳＷ１×ＳＨ１の長方形の画像）に含まれる補正用パターンの画像の傾きθを検出し、画像データに対して傾きθに応じた回転処理を行う。
【００８９】
図１７Ａは、傾き検出の際の画像データの説明図である。以下、コンピュータ６０内の座標系（ｘ方向、ｙ方向）を用いて説明する。そして、画像データの左上を原点とする。なお、実際には６つの補正用パターンがｘ方向に並んでいるので、読み取り範囲内には、他の補正用パターンの上罫線や下罫線などが含まれるが、図１７Ａでは省略する。図１７Ｂは、上罫線の位置の検出の説明図である。図１７Ｃは、回転処理後の画像データの説明図である。また、実際には、ｙ方向（ラスタラインの並ぶ方向）のデータ量はｘ方向のデータ量の４倍であるため、ｙ方向に４倍引き伸ばされた画像となっている。しかし、ここでは、説明の容易のため、見た目が印刷時の補正用パターンと同じに見えるように補正用パターンのｙ方向を１／４に圧縮して図示してある。
【００９０】
傾きθを算出するため、補正値取得プログラムは、読み取られた画像データの中から、左からＫＸ１の画素であって上からＫＨ個の画素の画素データと、左からＫＸ２の画素であって上からＫＨ個の画素の画素データと、を取り出す。このとき取り出される画素の中に上罫線が含まれ、右罫線及び左罫線が含まれないように、パラメータＫＸ１、ＫＸ２、ＫＨが定められている。そして、補正値取得プログラムは、上罫線の位置を検出するため、取り出されたＫＨ個の画素データの階調値の重心位置ＫＹ１、ＫＹ２をそれぞれ求める。そして、補正値取得プログラムは、パラメータＫＸ１、ＫＸ２と、重心位置ＫＹ１、ＫＹ２に基づいて、次式より補正用パターンの画像の傾きθを算出する。  
θ＝ｔａｎ−１｛（ＫＹ２−ＫＹ１）／（ＫＸ２−ＫＸ１）｝
その後、算出された傾きθに基づいて、補正用パターンの画像の回転処理を行う。
【００９１】
＝＝＝Ｓ１０５：トリミング＝＝＝
次に、コンピュータ６０の補正値取得プログラムは、画像データの中から不要な画素をトリミングする。図１８Ａは、トリミングの際の画像データの説明図である。図１８Ｂは、上罫線でのトリミング位置の説明図である。ここでも、図１７Ａと同様にｙ方向の補正用パターンを１／４に圧縮するように図示してある。
【００９２】
補正値取得プログラムは、画像データの中から、左からＫＸ１の画素であって上からＫＨ個の画素の画素データと、左からＫＸ２の画素であって上からＫＨ個の画素の画素データと、を取り出す。そして、補正値取得プログラムは、上罫線の位置を検出するため、取り出されたＫＨ個の画素データの階調値の重心位置をそれぞれ求め、２つの重心位置の平均値を算出する。そして、平均した重心位置から列領域の幅（４画素分）の１／２だけ上側の位置において最も近い画素の境界をトリミング位置に決定する。そして、補正値取得プログラムは、決定されたトリミング位置よりも上側の画素を切り取り、トリミングを行う。
【００９３】
図１８Ｃは、下罫線でのトリミング位置の説明図である。上罫線側と同様に、下罫線の重心位置を算出する。そして、重心位置から列領域の幅の１／２だけ下側の位置において最も近い画素の境界よりも下側の画素を切り取り、トリミングを行う。
【００９４】
＝＝＝Ｓ１０６：解像度変換＝＝＝
次に、補正値取得プログラムは、ｙ方向の画素数を、補正用パターンのラスタラインの数（列領域の数）と同数になるように、トリミングされた画像データを解像度変換する。つまり、ｘ方向に並ぶ画素データ（以下、画素列とする）と列領域が一対一で対応することになる。例えば、一番上に位置する画素列は１番目の列領域に対応し、その下に位置する画素列は２番目の列領域に対応する。
【００９５】
７２０ｄｐｉで印刷されたラスタライン１１６個が、２８８０ｄｐｉの解像度で読み取られたので、トリミング後の画像データのｙ方向の画素数は４６４個（＝１１６×４）になる。つまり、ラスタラインの数と画素列の数を同数にするために、１／４の倍率で解像度変換（縮小処理）を行う。ここでは解像度変換にバイキュービック法が用いられる。なお、ｘ方向のデータは７２０ｄｐｉで読み取られたので、解像度変換を行う必要がない。
【００９６】
しかし、実際には補正用パターンの印刷時の誤差や、スキャナ７０による読み取り誤差の影響により、画像データのｙ方向の画素数が４６４個にならないこともある。この場合、例えば、ｙ方向の画素数は４７０個であったら、１１６／４７０（＝［ラスタラインの数］／［ｙ方向の画素数］）の倍率で解像度変換（縮小処理）を行う。
【００９７】
＝＝＝Ｓ１０７：列領域の濃度を測定＝＝＝
次に、補正値取得プログラムは、各列領域における３種類の帯状パターンのそれぞれの濃度を測定する。以下、階調値７６（濃度３０％）で形成された左側の帯状パターンのうち１番目の列領域の濃度測定について説明する。なお、他の列領域、他の帯状パターンの濃度の測定も同様に行なわれる。
【００９８】
図１９Ａは、左罫線の検出の際の画像データの説明図である。補正値取得プログラムは、解像度変換された画像データの中から、上からＨ２の画素であって、左からＫＸ個の画素の画素データを取り出す。このとき取り出される画素の中に左罫線が含まれるように、パラメータＫＸが予め定められている。そして、補正値取得プログラムは、取り出されたＫＸ個の画素の画素データから左罫線の重心位置を求める。
【００９９】
図１９Ｂは、１番目の列領域の濃度３０％の帯状パターンの濃度の測定範囲の説明図である。左罫線の重心位置からＸ２だけ右側に、幅Ｗ３の濃度３０％の帯状パターンが存在していることは、補正用パターンの形状から既知である。そこで、補正値取得プログラムは濃度３０％の帯状パターンのうち左右Ｗ４の範囲を除いた点線の範囲の画素データを列領域ごとに抽出する。抽出した画素データの階調値の平均値が各列領域の濃度３０％の測定値（読取階調値）となる。このようにして、補正値取得プログラムは、３種類の帯状パターンの濃度を列領域ごとにそれぞれ測定する。
【０１００】
図２０は、イエローの３種類の帯状パターンの濃度の測定結果をまとめた測定値テーブルである。このように、補正値取得プログラムは、列領域ごとに、３種類の帯状パターンの濃度の測定値を対応付けて、測定値テーブルを作成する。他の色（５色）についても、測定値テーブルが作成される。なお、イエローの指令階調値Ｓａ（＝７６）に対するｎ番目の測定値を測定値Ｙａ_ｎとし、指令階調値Ｓｂ（＝１１６）に対するｎ番目の測定値を測定値Ｙｂ_ｎとし、指令階調値Ｓｃ（＝１６６）に対するｎ番目の測定値を測定値Ｙｃ_ｎとする。
【０１０１】
図２１は、イエローの指令階調値Ｓａ=７６、Ｓｂ＝１１６、Ｓｃ＝１６６の帯状パターンの測定値のグラフである。横軸が列領域番号であり、縦軸が測定値である。各帯状パターンは、それぞれの指令階調値で一様に形成されたにもかかわらず、測定値に、ばらつきが生じている。このばらつきが列領域ごとの濃淡差であり、印刷画像の濃度むらの原因である。
【０１０２】
さて、濃度むらをなくすためには、同一の階調値における列領域ごとの測定値のばらつきをなくせばよい。即ち、各列領域の測定値を一定の値に近づけることで、濃度むらが改善される。そこで、本実施形態では、同一の階調値において、全ての列領域の測定値の平均値を目標値とし、各列領域の測定値を目標値に近づけるように階調値（データ階調値）を補正する。例えば、指令階調値Ｓｂ（濃度４５％）の目標値をＹｂｔとし、目標値Ｙｂｔよりも測定値が淡い列領域ｉでは、指令階調値Ｓｂの設定よりも濃く印刷されるように階調値１１６を補正する。一方、目標値Ｙｂｔよりも測定値が濃い列領域ｊでは、指令階調値Ｓｂの設定よりも淡く印刷されるように階調値１１６を補正する。
【０１０３】
＝＝＝Ｓ１０８：補正値の算出＝＝＝
補正値の算出方法を説明するために、ここでは、指令階調値Ｓｂにおける目標値Ｙｂｔよりも測定値が低い列領域ｉと、目標値よりも測定値が高い列領域ｊ（図２１）を用いて説明する。
【０１０４】
図２２Ａは、列領域ｉにおける指令階調値Ｓｂに対する目標指令階調値Ｓｂｔの説明図である。この列領域では、目標値Ｙｂｔの濃度のパターンを印刷させるために、プリンタドライバは、次式（直線ＢＣに基づく線形補間）により算出される目標指令階調値Ｓｂｔに基づいて指令すればよい。  
Ｓｂｔ＝Ｓｂ＋（Ｓｃ−Ｓｂ）×｛（Ｙｂｔ−Ｙｂ）／（Ｙｃ−Ｙｂ）｝
【０１０５】
図２２Ｂは、列領域ｊにおける指令階調値Ｓｂに対する目標指令階調値Ｓｂｔの説明図である。この列領域では、目標値Ｙｂｔの濃度のパターンを印刷させるために、プリンタドライバは、次式（直線ＡＢに基づく線形補間）により算出される目標指令階調値Ｓｂｔに基づいて指令すればよい。  
Ｓｂｔ＝Ｓｂ−（Ｓｂ−Ｓａ）×｛（Ｙｂｔ−Ｙｂ）／（Ｙａ−Ｙｂ）｝
【０１０６】
このようにして目標指令階調値Ｓｂｔを算出した後、補正値取得プログラムは、次式により、その列領域における指令階調値Ｓｂに対する補正値Ｈｂを算出する。  
Ｈｂ＝（Ｓｂｔ−Ｓｂ）／Ｓｂ
そして、補正値取得プログラムは、列領域ごとに、指令階調値Ｓｂに対する補正値Ｈｂを算出する。
【０１０７】
また、補正値取得プログラムは、指令階調値０に対する測定値を０（点Ｄ）、指令階調値２５５に対する測定値を２５５（点Ｅ）として、他の指令階調値（Ｓａ及びＳｃ）に対する補正値（Ｈａ及びＨｃ）を算出する。点Ｄ（０，０）と点Ａと点Ｂに基づいて（直線ＤＡまたは直線ＡＢに基づく線形補間）、指令階調値Ｓａに対する補正値Ｈａを列領域ごとに算出する。そして、点Ｂと点Ｃと点Ｅ（２５５，２５５）に基づいて（直線ＢＣまたは直線ＣＥに基づく線形補間）、指令階調値Ｓｃに対する補正値Ｈｃを算出する。そして、全ての色（ノズル列）について、列領域ごとに、３つの補正値（Ｈａ、Ｈｂ、Ｈｃ）を算出する。
【０１０８】
ところで、補正用パターンの通常領域には５６個のラスタラインが印刷された。しかし、５６個の列領域ごとの補正値は算出せず、７個おきの８個の列領域の各濃度の測定値の平均に基づいて、７個の補正値を算出する。通常領域では７個のラスタラインごとに規則性があるため、７個の補正値を規則性に基づいて使用する。例えば、イエローの濃度４５％の帯状パターンにおける、通常印刷領域の１番目の列領域の測定値Ｙｂは、通常印刷領域の１、８、１５、２２、２９、３６、４３、５０番目の８個の列領域の測定値の平均値が用いられる。同様に、その他の濃度の測定値（Ｙａ、Ｙｃ）も８個の列領域の平均値が用いられる。そして、平均値化された測定値に基づいて、通常領域の１番目の列領域の補正値（Ｈａ、Ｈｂ、Ｈｃ）が算出される。
【０１０９】
＝＝＝Ｓ１０９：補正値の記憶＝＝＝
図２３は、イエローの補正値テーブルの説明図である。次に、補正値取得プログラムは、補正値をプリンタ１のメモリ５３に記憶する。補正値テーブルには、先端印刷用、通常印刷用、後端印刷用の３種類ある。各補正値テーブルには、３つの補正値（Ｈａ、Ｈｂ、Ｈｃ）が、列領域ごとに対応付けられている。例えば、各列領域のｎ番目のラスタラインには、３つの補正値（Ｈａ_ｎ、Ｈｂ_ｎ、Ｈｃ_ｎ）が対応付けられている。
【０１１０】
プリンタ１のメモリ５３に補正値を記憶させた後、補正値取得処理は終了する。そして、プリンタドライバを記憶したＣＤ−ＲＯＭがプリンタ１に同梱され、プリンタ１が工場から出荷される。
【０１１１】
＝＝＝ユーザー下での処理について＝＝＝
プリンタ１を購入したユーザーは、所有するコンピュータ６０（プリンタ製造工場のコンピュータとは別のコンピュータ）に、プリンタ１を接続する。
【０１１２】
次に、ユーザーは、同梱されているＣＤ−ＲＯＭを記録再生装置８０にセットし、プリンタドライバをインストールする。コンピュータ６０にインストールされたプリンタドライバは、プリンタ１に対して、メモリ５３に記憶されている補正値をコンピュータ６０に送信するように要求する。プリンタ１は、要求に応じて、補正値テーブルをコンピュータ６０へ送信する。プリンタドライバは、プリンタ１から送られてくる補正値をコンピュータ６０内のメモリに記憶する。これにより、このコンピュータ６０で作成された画像データをプリンタ１で印刷することが可能となる。
【０１１３】
そして、プリンタドライバは、ユーザーからの印刷命令を受けると、印刷データを生成し、印刷データをプリンタ１に送信する。プリンタ１は、印刷データに従って、印刷処理を行う。なお、印刷データの作成方法は前述の通りである（図５）。
【０１１４】
＝＝＝濃度補正処理について＝＝＝
以下、濃度補正処理について詳しく説明する。濃度補正処理とは、各画素データに対する階調値（補正前の階調値Ｓ_ｉｎ）を、その画素データが属する列領域に対応する補正値Ｈに基づいて階調値を補正する（補正後の階調値Ｓ_ｏｕｔ）処理である。
【０１１５】
補正前の階調値Ｓ_ｉｎが指令階調値のいずれかＳａ、Ｓｂ、Ｓｃと同じであれば、階調値Ｓ_ｉｎに対してコンピュータ６０のメモリに記憶されている補正値Ｈａ、Ｈｂ、Ｈｃをそのまま用いることができる。例えば、補正前の階調値Ｓ_ｉｎ＝Ｓｃであれば、補正後の階調値Ｓ_ｏｕｔは次式により求められる。  
Ｓ_ｏｕｔ＝Ｓｃ×（１＋Ｈｃ）
【０１１６】
図２４は、イエローのｎ番目の列領域の濃度補正処理の説明図である。横軸を補正前の階調値Ｓ_ｉｎとし、縦軸を補正後の階調値Ｓ_ｏｕｔとする。同図は、補正前の階調値Ｓ_ｉｎが指令階調値（Ｓａ、Ｓｂ、Ｓｃ）とは異なる場合の補正方法を示す図である。なお、図中の点線は、階調値を補正する必要がない場合であり、補正値Ｈが０のときのグラフである。階調値Ｓ_ｉｎに対する補正後の階調値Ｓ_ｏｕｔを、指令階調値Ｓａの補正値Ｈａと指令階調値Ｓｂの補正値Ｈｂを基に線形補間によって次式により算出する。  
Ｓ_ｏｕｔ＝Ｓａｔ+（Ｓｂｔ−Ｓａｔ）×｛（Ｓ_ｉｎ−Ｓａ）／（Ｓｂ−Ｓａ）｝
【０１１７】
他に、各指令階調値に対応する各補正値（Ｈａ、Ｈｂ、Ｈｃ）の間を線形補間して階調値Ｓ_ｉｎに対応する補正値Ｈ_ｏｕｔを算出し、算出された補正値Ｈ_ｏｕｔに基づいて補正後の階調値Ｓ_ｏｕｔを次式により算出してもよい。  
Ｓ_ｏｕｔ＝Ｓ_ｉｎ×（１＋Ｈ_ｏｕｔ）
【０１１８】
また、補正前の階調値Ｓ_ｉｎが指令階調値Ｓａ（＝７６）よりも小さい場合には、階調値０（最低階調値）と指令階調値Ｓａを基に線形補間によって、補正値Ｈを算出する。即ち、階調値０の補正値Ｈは０であるので、階調値０の補正値０と指令階調値Ｓａの補正値Ｈａを基に線形補間により補正値Ｈを算出する。このように、階調値０や階調値２５５に対する補正値Ｈに基づいて補正前の階調値Ｓ_ｉｎに対する補正値Ｈを算出することで、指令階調値の数を減らすことができる。即ち、帯状パターンの数を減らすことができ、テストパターンの印刷時間が短縮され、検査時間も短縮される。
【０１１９】
先端印刷の１番目〜３０番目の各列領域の画素データに対しては、プリンタドライバは、先端印刷用の補正値テーブルに記憶されている１番目〜３０番目の各列領域に対応する補正値Ｈに基づいて、濃度補正処理を行う。同様に、後端印刷では、後端印刷の１番目〜３０番目の各列領域の画素データに対して、プリンタドライバは、後端印刷用の補正値テーブルに記憶されている１番目〜３０番目の各列領域に対応する補正値Ｈに基づいて、濃度補正処理を行う。通常印刷では７個の列領域ごとに規則性があるため、プリンタドライバは、およそ数千ある列領域を７個の列領域ごとに、７個の補正値Ｈを順に繰り返し用いて濃度補正処理を行う。これにより、記憶すべき補正値Ｈのデータ量を削減することができる。
【０１２０】
そして、プリンタドライバは、イエローだけでなく他の色の画素データの階調値に対しても、同様に濃度補正処理を行う。
【０１２１】
以上の濃度補正処理により、濃く視認されやすい列領域に対しては、その列領域に対応する画素の画素データの階調値（データ階調値）が低くなるように補正される。逆に、淡く視認されやすい列領域に対しては、その列領域に対応する画素の画素データの階調値（データ階調値）が高くなるように補正される。言い換えると、図１３Ｃに示したように、濃く視認されやすい列領域では、その列領域の画素データの階調値が低くなるように補正されているので、その列領域のラスタラインを構成するドットのドット生成率が低くなる。逆に、淡く視認されやすい列領域では、ドット生成率が高くなる。そして、印刷画像全体の濃度むらが改善される。
【０１２２】
＝＝＝比較例の濃度補正処理＝＝＝
図２５Ａは、第１比較例として、本実施形態とは異なる指令階調値で補正用パターンを印刷した際の、濃度補正処理（イエローのｎ番目の列領域）の説明図である。図２５Ａには、太線の点線により、本実施形態の補正前の階調値Ｓ_ｉｎと補正後の階調値Ｓ_ｏｕｔの関係も示している。そして、図中の細線の点線（以下、理想線とする）は補正値Ｈが０であり、階調値Ｓ_ｉｎを補正する必要がない場合のグラフである。図２５Ｂは、本実施形態の補正値（Ｈａ、Ｈｂ、Ｈｃ）と第１比較例の補正値（Ｈａ、Ｈｄ、Ｈｅ、Ｈｃ）を示す図である。
【０１２３】
この第１比較例では、図１５Ｂの補正用パターンの真ん中の帯状パターンの濃度を３８％とする。即ち、この第１比較例では、指令階調値をＳａ＝７６（濃度３０％）、Ｓｄ＝９７（濃度３８％）、Ｓｃ=１６６（濃度６５％）とする。そして、指令階調値（Ｓａ、Ｓｄ、Ｓｃ）に基づいて各補正値（Ｈａ、Ｈｄ、Ｈｃ）を算出する。本実施形態の指令階調値Ｓｂ＝１１６（濃度４５％）はドット生成率テーブルを示すグラフの傾きが変化する階調値であるのに対して、比較例の指令階調値Ｓｄは傾きが変化しない階調値である（図１６Ａ）。
【０１２４】
図２５Ｂに示すように、本実施形態の階調値Ｓ_ｉｎが７６から１１６の区間（区間ａｂ）では、階調値７６（=Ｓａ）を境に、階調値が大きくなるにつれて、その階調値に対応する補正値Ｈ（直線ａｂ）は、補正値Ｈａよりも徐々に大きくなる。その結果、図２５Ａに示すように直線ＡＢの傾きは理想線の傾きに対して急となる。つまり、本実施形態では、階調値１１６において、補正値Ｈが最大となり、補正後の階調値Ｓ_ｏｕｔ（Ｓｂt）が理想線から最も離れる。
【０１２５】
また、本実施形態の階調値Ｓ_ｉｎが１１６から１６６の区間（区間ｂｃ）では、階調値１１６（＝Ｓｂ）を境に、階調値が大きくなるにつれて、その階調値に対応する補正値Ｈは、補正値Ｈｂよりも徐々に小さくなる。その結果、図２５Ａの直線ＢＣの傾きは理想線の傾きに対して緩やかとなる。
【０１２６】
このように、階調値が大きくなるにつれて、補正値Ｈが徐々に大きくなっていても、ある階調値を境に、補正値Ｈが徐々に小さくなったりする。即ち、階調値Ｓ_ｉｎの値によって補正値Ｈの特性が変わるということである。
【０１２７】
図２５Ｂはイエローのｎ番目の列領域に関するグラフであり、同じ列領域であっても、階調値Ｓ_ｉｎの値によって補正値Ｈの特性が異なることを示している。なぜなら、濃度むらは、ノズルの加工精度等により発生するが、濃度むらの度合いは、そのノズルから吐出されるドットの大きさによっても変わるからである。
【０１２８】
例えば、あるノズルが紙Ｓに対してインクを垂直に吐出できない場合、インク滴は適正な位置からずれた位置に着弾し、濃度むらの原因となる。この濃度むらを発生させるノズルから吐出されるインク滴であっても、インク滴のインク量が異なると、着弾までの時間等が異なり、適正な位置からずれる距離が違ってくる。即ち、大ドットと小ドットでは適正な位置からずれる距離が違うので、ドットの大きさによって、濃度むらの度合いが異なることになる。また、適正な位置からずれる距離が一緒であったとしても、大ドットと小ドットでは、隣の列領域に発生する濃度むらに影響する度合いや、適正な位置にドットが形成されないことにより発生する濃度むらに影響する度合いが異なる。また、あるノズルが適正なインク量よりも１割多く吐出してしまう場合、大ドットのインク量が１割多く吐出されるのと、小ドットのインク量が１割多く吐出されるのでは、濃度むらに影響する度合いが異なる。
【０１２９】
つまり、同じ列領域から構成される単位領域であっても、単位領域の階調値が異なると、単位領域を構成するドットの種類や、３種類のドット（大ドット、中ドット、小ドット）の生成率が異なり、濃度むらに影響する度合い（補正値Ｈの特性）が異なる。そのため、あるドットが発生し始める階調値や、ドット生成率テーブルを示すグラフの傾きが変化する階調値（ドットの生成率が最大となる階調値や、ドットの生成率が減少し始める階調値）を境に、補正値Ｈの特性が変わり、補正前の階調値Ｓ_ｉｎと補正後の階調値Ｓ_ｏｕｔの関係を示すグラフの傾き（図２５Ａ）や補正値の変化を示すグラフの傾き（図２５Ｂ）が変化する。
【０１３０】
本実施形態では、区間ａｂの補正値Ｈは、階調値が増加するにつれて、指令階調値Ｓａ（＝７６）における補正値Ｈａよりも徐々に大きくなる。そして、指令階調値Ｓａを境に大ドットが生成し始める。即ち、大ドットが生成し始めたことで、濃度むらが大きくなることが分かる。逆に、区間ｂｃの補正値Ｈは、階調値が増加するにつれて、階調値１１６（＝Ｓｂ）における補正値Ｈｂよりも徐々に小さくなる。そして、階調値１１６を境に中ドットと小ドットの生成率が減り始める。即ち、中ドットと小ドットの生成率が減り始めることで、濃度むらが小さくなることが分かる。（但し、これは具体例であり、単位領域におけるドットの生成率の違いが濃度むらにどの様に影響するかについては、一概には述べられない）。
【０１３１】
ところで、第１比較例では、ドット生成率テーブルを示すグラフの傾きが変化していない階調値（＝９７）を指令階調値Ｓｄとしている。即ち、補正値Ｈの特性が変わる階調値を指令階調値としていない。指令階調値以外の階調値（データ階調値）に対する補正値Ｈは、補正値Ｈａと補正値Ｈｄと補正値Ｈｃを基に、線形補間によって算出される。その補正値Ｈの算出結果が、図２５Ｂの太線の実線（直線ａｄと直線ｄｃ）である。
【０１３２】
第１比較例では、階調値Ｓ_ｉｎが７６から９７の区間（区間ａｄ）では、単位領域内の大ドットの割合が増加し、濃度むらが大きくなる。即ち、指令階調値Ｓａを境に、階調値が大きくなるにつれて、その階調値に対応する補正値Ｈが補正値Ｈａよりも徐々に大きくなる。そして、階調値Ｓ_ｉｎが９７から１６６の区間（区間ｄｃ）では、階調値Ｓｄを境に、階調値が大きくなるにつれて、その階調値に対応する補正値Ｈが補正値Ｈａよりも徐々に小さくなる。
【０１３３】
しかし、実際には、傾きが変化する階調値１１６（＝Ｓｂ）を境に、単位領域内の中ドットと小ドットの割合が減少し始め、濃度むらが小さくなる。そして、階調値１１６を境に、補正値Ｈが徐々に大きくなっていたのが、補正値Ｈが徐々に小さくなる。即ち、階調値１１６を境に、補正値Ｈの特性が変わるのであって、階調値Ｓｄ（＝９７）を境にして補正値Ｈの特性は変わらない。つまり、実際には、階調値７６（＝Ｓａ）から階調値１１６（＝Ｓｂ）の区間の補正値Ｈは、階調値が大きくなるにつれて、補正値Ｈａよりも徐々に大きくなる。それに対して、第１比較例では、補正前の階調値Ｓ_ｉｎが９７から１１６の区間（区間ｄｅ）の補正値Ｈは、補正値Ｈｄよりも小さくなってしまっている。その結果、図２５Ａに示すように、階調値９７から１１６の区間での補正後の階調値Ｓ_ｏｕｔ（直線ＤＥ）は、目標の階調値（直線ＤＢ）よりも小さくなり、濃度むらが改善されない。
【０１３４】
また、実際には、階調値１１６（＝Ｓｂ）を境に、階調値Ｓ_ｉｎが１１６から１６６の区間（区間ｂｃ）の補正値Ｈは、階調値１１６の補正値Ｈｂよりも徐々に小さくなる。第１比較例においても、階調値Ｓ_ｉｎが１１６から１６６の区間（区間ｅｃ）の補正値Ｈは、階調値１１６の補正値Ｈｅよりも徐々に小さくなっている。しかし、第１比較例の補正値Ｈｅは、本実施形態の補正値Ｈｂに比べて小さい。そのため、図２５Ａに示すように、階調値１１６から１６６の区間での補正後の階調値Ｓ_ｏｕｔ（直線ＥＣ）も、目標の階調値（直線ＢＣ）よりも小さく、濃度むらが改善されない。そして、区間ｅｃの補正値Ｈ（直線ｅｃ）は、階調値が大きくなるにつれて、実際の補正値Ｈ（直線ｂｃ）に近付く。
【０１３５】
次に、第２比較例の濃度補正処理について説明する。本実施形態では大ドットが生成し始める階調値７６を指令階調値Ｓａに設定しているのに対して、第２比較例では、大ドットが生成し始める階調値７６を指令階調値と設定していない。図２６は、本実施形態の補正値（Ｈａ、Ｈｂ、Ｈｃ）と第２比較例の補正値（Ｈｆ、Ｈｇ、Ｈｂ、Ｈｃ）を示す図である。図２６中の太線の点線が本実施形態の補正値Ｈの変化の様子を示し、太線の実線が第２比較例の補正値Ｈの変化の様子を示している。
【０１３６】
この第２比較例では、指令階調値をＳｆ＝５０（濃度２０％）、Ｓｂ＝１１６（濃度４５％）、Ｓｃ=１６６（濃度６５％）とする。そして、指令階調値（Ｓｆ、Ｓｂ、Ｓｃ）に基づいて各補正値（Ｈｆ、Ｈｂ、Ｈｃ）を算出する。なお、階調値７６に対する補正値Ｈ（補正値Ｈｆと補正値Ｈｂとの補間により算出される補正値）を補正値Ｈｇとする。
【０１３７】
図２６の太線の点線が示すように、実際には、区間ｆａの補正値Ｈと区間ａｂの補正値Ｈは、共に、階調値が増加するにつれて、補正値Ｈも徐々に大きくなる。但し、区間ｆａでの階調値の変化量に対する補正値Ｈの変化量の割合は、区間ａｂでの階調値の変化量に対する補正値の変化量の割合よりも小さい。言い換えると、補正値Ｈの変化を示すグラフの傾きが区間ｆａ（直線ｆａ）と区間ａｂ（直線ａｂ）とで異なり、直線ｆａの傾きが直線ａｂの傾きに比べて緩やかである。これは、大ドットが生成し始める階調値７６を境に、補正値Ｈの特性が変わるからである。即ち、階調値７６を境に、淡く印刷される度合いが増し、補正値Ｈが大きくなる。
【０１３８】
第２比較例でも本実施形態と同様に、区間ｆｇの補正値Ｈ（直線ｆｇ）と区間ｇｂの補正値Ｈ（直線ｇｂ）は、共に、階調値が増加するにつれて、補正値Ｈも徐々に大きくなる。しかし、第２比較例では階調値７６を指令階調値としていないため、直線ｆｇと直線ｇｂの傾きが等しくなる。そして、第２比較例の補正値Ｈの変化を示す直線ｆｇは、実際の補正値Ｈの変化を示す直線ｆａよりも傾きが急となる。その結果、第２比較例の階調値５０から７６の区間の補正値Ｈは、実際の階調値５０から７６の区間の補正値Ｈよりも大きくなってしまい、濃度むらが改善されない。つまり、第２比較例では、大ドットを形成しない階調値に対する補正値Ｈと、大ドットを形成する階調値に対する補正値Ｈの違いが考慮されず、補正値Ｈが正確に補間されない。
【０１３９】
ところで、本実施形態でも、第１比較例、第２比較例でも、指令階調値以外の階調値（データ階調値）に対する補正値Ｈ（または補正後の階調値Ｓ_ｏｕｔ）は、離散的な指令階調値の補正値Ｈの線形補間により算出される。なぜなら、全ての階調値（２５６階調）を指令階調値として、テストパターンを印刷することはできない。また、全ての階調値に対する補正値をプリンタ１のメモリ５３に記憶すると、メモリ５３の容量を大きくする必要があるからである。但し、第１・第２比較例のように、補正値Ｈの特性が変わる階調値とは関係ない階調値（Ｓｄ、Ｓｆ）の補正値Ｈを基に、線形補間により補正後の階調値Ｓ_ｏｕｔを算出しても、濃度むらが改善されない。
【０１４０】
そこで、本実施形態では、補正値Ｈの特性が変わる階調値であり、３種類のうちのあるドットが生成し始める階調値やドット生成率テーブルの傾きが変化する階調値を指令階調値とする。その結果、指令階調値以外の階調値の補正値Ｈが正確に算出される。なお、試作機において、実際に、３種類のうちのあるドットが生成し始める階調値とドット生成率テーブルの傾きが変化する階調値を指令階調値として、濃度むらの補正を行ったところ、濃度むらが改善された。
【０１４１】
即ち、本実施形態では、ハーフトーン処理において、２５６階調の画素データの階調値（データ階調値）が、ドット生成率テーブルに基づいて、プリンタ１が形成可能な４階調の画素データの階調値（印刷階調値）に変換される。そして、指令階調値Ｓａ＝７６（第１指令階調値）である画素から構成される濃度３０％の帯状パターン（第１テストパターン）と、指令階調値Ｓｂ＝１１６（第２指令階調値）である画素から構成される濃度４５％の帯状パターン（第２テストパターン）と、指令階調値Ｓｃ＝１６６である画素から構成される濃度６５％の帯状パターンとが印刷され、スキャナ７０に読み取られる。スキャナ７０に読み取られる際に、濃度３０％の帯状パターンの測定値（第１読取階調値）を取得し、濃度４５％の帯状パターンの測定値（第２読取階調値）を取得し、濃度６５％の帯状パターンの測定値を取得する。指令階調値Ｓａ（第１指令階調値）と濃度３０％の帯状パターンの測定値（第１読取階調値）に基づいて補正値Ｈａ（第１補正値）を算出する。同様に、指令階調値Ｓｂ（第２指令階調値）に対する補正値Ｈｂ（第２補正値）、指令階調値Ｓｃに対する補正値Ｈｃも算出する。そして、ユーザーの下で実際に印刷するときに、ある画素データの階調値Ｓ_ｉｎが指令階調値ＳａとＳｂの間の階調値である場合に、補正値ＨａとＨｂに基づいて、ある画素データの階調値に対する補正値Ｈを補間し、補正値Ｈで画素データの階調値Ｓ_ｉｎを補正し、補正後のデータ階調値Ｓ_ｏｕｔを、ドット生成率テーブルに基づいて、４階調の階調値に変換し、その階調値に基づいて印刷する。
【０１４２】
そして、本実施形態では、指令階調値ＳａとＳｂとＳｃの少なくとも１つは、ドット生成率テーブルにおいて、３種類のドット（大ドット、中ドット、小ドット）のうちのあるドットが生成し始める階調値としている。これにより、ある画素のデータ階調値に対する補正値が正確に補間され、濃度むらが改善される。
【０１４３】
＝＝＝その他の実施形態＝＝＝
上記の各実施形態は、主としてインクジェット方式のプリンタを有する印刷システムについて記載されているが、濃度パターンを印刷する指令階調値の決定方法等の開示が含まれている。また、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはいうまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０１４４】
〈指令階調値について〉
前述の実施形態では、中ドットが発生し始める階調値であり、小ドットの生成率が最大となる階調値３８（濃度１５％）を指令階調値に設定していないが、階調値３８を指令階調値に設定しても構わない（図１６Ａ）。
【０１４５】
但し、濃度１５％の帯状パターンは淡い画像であるため、スキャナによっては、スキャナの読み取りが不安定になるおそれがある。そうすると、濃度むらに対する正確な補正値を算出することができない。
【０１４６】
そこで、ブラックインクのような濃いインクを検査インクとして、各ノズル列の補正用パターンを印刷する。その際には、イエローやダークシアン等のノズル列からもブラックインクが吐出される。その結果、濃度１５％の帯状パターンもスキャナの読み取りが不安定になるような淡い画像ではなくなるので、スキャナに正確に読み取られる。
【０１４７】
前述の実施形態では、サイズの異なる各ドット（大ドット、中ドット、小ドット）のドット生成率テーブルを示すグラフ（図９Ａ）の傾きが変化する階調値を指令階調値としているが、これに限らない。例えば、ライトシアンとダークシアンを用いてシアンを印刷するが、シアンのテストパターンしか印刷しない場合、シアンの階調値変換テーブルを示すグラフ（図１０）の傾きが変化する階調値をシアンの指令階調値としてもよい。
【０１４８】
また、前述の実施形態では、３つの指令階調値を設定し、３つの帯状パターンから構成される補正用パターンを形成したが、これに限らない。例えば、指令階調値の数を増やしてもよい。その結果、離散的な指令階調値に対する補正値の間隔が狭まるので、各データ階調値に対する補正値をより正確に算出することができる。その際に設定する指令階調値は、ドット生成率を示すグラフの傾きが変化する指令階調値でなくとも構わない。但し、印刷する帯状パターンの数が増えると、印刷時間が増加し、プリンタ１のメモリ容量も増加させる必要がある。
【０１４９】
〈列領域ごとの補正値について〉
前述の実施形態では、補正用パターンの帯状パターンを構成する列領域ごとに補正値を算出しているが、これに限らない。例えば、帯状パターン全体に対する補正値を１つのみ算出しても良い。しかし、前述の実施形態の方が、隣接する画像片を形成するノズルの影響も考慮されるので、より濃度むらが改善される。
【０１５０】
〈補間について〉
前述の実施形態では、２つの目標指令階調値（補正された指令階調値）に基づいて、線形補間により、指令階調値以外の階調値の補正後の階調値Ｓ_ｏｕｔを算出しているが、これに限らない。例えば、３つの目標指令階調値に基づいて、２次元の曲線により補間してもよい。
【０１５１】
〈プリンタ１について〉
前述の実施形態では、ヘッド３１が移動方向に移動しながらラスタラインを形成するプリンタを例に挙げて説明したが、これに限らない。例えば、搬送方向に停まることなく搬送される紙に、搬送方向と交差する方向（紙幅方向）に並んだノズルからインクが吐出されることによって画像を完成させるラインヘッドプリンタにおいても本件発明が適用される。この場合、ラスタラインは搬送方向に沿って形成され、補正用パターンは紙幅方向に並んだ複数のラスタラインから構成される。そして、列領域とは、搬送方向に並ぶ複数の画素領域によって構成される領域をさす。
【図面の簡単な説明】
【０１５２】
【図１】本実施形態のシステム構成図である。
【図２】本実施形態のプリンタの全体構成ブロック図である。
【図３】図３Ａはプリンタの全体構成の概略図であり、図３Ｂはプリンタの全体構成の断面図である。
【図４】ヘッドの下面（ノズル面）におけるノズルの配列を示す説明図である。
【図５】印刷データ作成処理のフロー図である。
【図６】図６Ａはスキャナの縦断面図であり、図６Ｂは上蓋を外した状態のスキャナの上面図である。
【図７】駆動信号生成回路とヘッド駆動回路の説明図である。
【図８】駆動信号ＤＲＶの説明図である。
【図９】図９Ａはドット生成率テーブルの説明図であり、図９Ｂは、ディザ法によるドットのオン・オフ判定の様子を示す図である。
【図１０】シアンの階調値変換テーブルの説明図である。
【図１１】図１１Ａ及び図１１Ｂは、通常印刷の説明図である。
【図１２】先端印刷及び後端印刷の説明図である。
【図１３】図１３Ａは理想的にドットが形成されたときの様子の説明図であり、図１３Ｂは濃度むらが発生したときの説明図であり、図１３Ｃは本実施形態の印刷方法によりドットが形成されたときの様子の説明図である。
【図１４】プリンタの製造後の検査工程で行われる補正値取得処理のフロー図である。
【図１５Ａ】テストパターンの説明図である。
【図１５Ｂ】補正用パターンの説明図である。
【図１６】図１６Ａはドット生成率テーブルと指令階調値の関係を示す図であり、図１６Ｂは３種類のドットの生成率を積算したグラフである。
【図１７】図１７Ａは傾き検出の際の画像データの説明図であり、図１７Ｂは上罫線の位置の検出の説明図であり、図１７Ｃは回転処理後の画像データの説明図である。
【図１８】図１８Ａはトリミングの際の画像データの説明図であり、図１８Ｂは上罫線でのトリミング位置の説明図であり、図１８Ｃは下罫線でのトリミング位置の説明図である。
【図１９】図１９Ａは左罫線の検出の際の画像データの説明図であり、図１９Ｂは１番目の列領域の濃度３０％の帯状パターンの濃度の測定範囲の説明図である。
【図２０】イエローの３種類の帯状パターンの濃度の測定結果をまとめた測定値テーブルである。
【図２１】イエローの各指令階調値の帯状パターンの測定値のグラフである。
【図２２】図２２Ａは列領域ｉにおける指令階調値Ｓｂに対する目標指令階調値Ｓｂｔの説明図であり、図２２Ｂは列領域ｊにおける指令階調値Ｓｂに対する目標指令階調値Ｓｂｔの説明図である。
【図２３】イエローの補正値テーブルの説明図である。
【図２４】イエローのｎ番目の列領域の濃度補正処理の説明図である。
【図２５】図２５Ａは比較例として、本実施形態とは異なる指令階調値で補正用パターンを印刷した際の濃度補正処理の説明図であり、図２５Ｂは本実施形態の補正値と比較例の補正値を示す図である。
【図２６】本実施形態の補正値と第２比較例の補正値を示す図である。
【符号の説明】
【０１５３】
１  プリンタ、
１０  搬送ユニット、１１  給紙ローラ、１２  搬送モータ、１３  搬送ローラ、
１４  プラテン、１５  排紙ローラ、
２０  キャリッジユニット、２１  キャリッジ、２２  キャリッジモータ、
３０  ヘッドユニット、３１  ヘッド、３２  ヘッド駆動回路、
ＰＺＴ  ピエゾ素子、
４０  検出器群、４１  リニア式エンコーダ、４２  ロータリー式エンコーダ、
４３  紙検出センサ、４４  光学センサ、
５０  コントローラ、５１インターフェース部、５２  ＣＰＵ、５３  メモリ、
５４  ユニット制御回路、５５  駆動信号生成回路、５５１  第１シフトレジスタ、
５５２  第２シフトレジスタ、５５３  ラッチ回路、５５４  データセレクタ、
５６  スイッチ、
ＤＲＶ  駆動信号、ＬＡＴ  ラッチ信号、ＰＲＴ  印刷信号、
ＳＷ  スイッチ制御信号、
６０  コンピュータ、
７０  スキャナ、７１  上蓋、７２  原稿、７３  原稿台ガラス、
７４  読取キャリッジ、７５  案内部、７６  移動機構、
７７  露光ランプ、７８  ラインセンサ、７９  光学系、
８０  記録再生装置
【図１】
2008055726.tif 000003
【図２】
2008055726.tif 000004
【図３】
2008055726.tif 000005
【図４】
2008055726.tif 000006
【図５】
2008055726.tif 000007
【図６】
2008055726.tif 000008
【図７】
2008055726.tif 000009
【図８】
2008055726.tif 000010
【図１０】
2008055726.tif 000011
【図１１】
2008055726.tif 000012
【図１２】
2008055726.tif 000013
【図１３】
2008055726.tif 000014
【図１４】
2008055726.tif 000015
【図２０】
2008055726.tif 000016
【図２１】
2008055726.tif 000017
【図２２】
2008055726.tif 000018
【図２３】
2008055726.tif 000019
【図２４】
2008055726.tif 000020
【図２５】
2008055726.tif 000021
【図２６】
2008055726.tif 000022
【図９】
2008055726.tif 000023
【図１５Ａ】
2008055726.tif 000024
【図１５Ｂ】
2008055726.tif 000025
【図１６】
2008055726.tif 000026
【図１７】
2008055726.tif 000027
【図１８】
2008055726.tif 000028
【図１９】
2008055726.tif 000029