(57)【要約】【課題】濃度ムラを補正するのに適切な補正値を算出する。【解決手段】複数のドット列から構成される補正用パターンを媒体に形成するパターン形成ステップと、読取画像データを取得する画像読取ステップと、読取画像データの各画素列のデータに基づいて、印刷画像データの各画素列のデータを補正するときに用いる補正値を、印刷画像データの画素列ごとに算出する補正値算出ステップとを含む補正値算出方法である。補正用パターンは、基準パターンと比較パターンとを有し、基準パターンは、基準となる基準階調値の画素列のデータに応じて形成された所定数の基準ドット列から構成されており、比較パターンは、基準階調値とは異なる比較階調値の画素列のデータに応じて形成され、基準ドット列に対してドットの形成を変化させた比較ドット列と、比較ドット列に隣接して形成され、基準階調値の画素列のデータに応じて形成された基準ドット列と、を含む所定数のドット列から構成されている。【選択図】図９
2009302608.tif 000002
【特許請求の範囲】
【請求項１】
印刷解像度に合わせた解像度の印刷画像データの画素列のデータに応じてドット列を媒体に形成することによって、複数のドット列から構成される補正用パターンを前記媒体に形成するパターン形成ステップと、
スキャナによって前記補正用パターンの画像を読み取り、読取画像データを取得する画像読取ステップと、
前記読取画像データの各画素列のデータに基づいて、前記印刷画像データの各画素列のデータを補正するときに用いる補正値を、前記印刷画像データの画素列ごとに算出する補正値算出ステップと
を含み、
前記補正用パターンは、基準パターンと比較パターンとを有し、
前記基準パターンは、基準となる基準階調値の前記画素列のデータに応じて形成された所定数の基準ドット列から構成されており、
前記比較パターンは、
前記基準階調値とは異なる比較階調値の前記画素列のデータに応じて形成され、前記基準ドット列に対してドットの形成を変化させた比較ドット列と、
前記比較ドット列に隣接して形成され、前記基準階調値の前記画素列のデータに応じて形成された基準ドット列と、
を含む前記所定数のドット列から構成されている
ことを特徴とする補正値算出方法。
【請求項２】
請求項１に記載の補正値算出方法であって、
前記補正用パターンは、前記比較パターンを複数有しており、
各比較パターンは、前記比較ドット列を複数有しており、
各比較パターンにおいて、複数の前記比較ドット列は、所定の間隔で並んでおり、
各比較パターンにおける前記比較ドット列の位置が、前記比較パターンごとに異なる
ことを特徴とする補正値算出方法。
【請求項３】
請求項１又は２に記載の補正値算出方法であって、
前記補正値算出ステップは、
前記読取画像データ上の前記基準パターンの画素列のデータと、前記読取画像データ上の前記比較パターンの画素列のデータとに基づいて、或るドット列のドットの形成を変化させたときの前記読取画像データ上の或る画素列のデータの変化量である第１変化量と、前記或るドット列とは別のドット列のドットの形成を変化させたときの前記或る画素列のデータの変化量である第２変化量とを求めるステップと、
少なくとも前記第１変化量と前記第２変化量とに基づいて、前記或る画素列のデータを所定値にすべく、前記或るドット列に対応する画素列の補正値と、前記別のドット列に対応する画素列の補正値とを算出するステップと
を有することを特徴とする補正値算出方法。
【請求項４】
請求項３に記載の補正値算出方法であって、
前記補正値算出ステップにおいて、
各ドット列のドットの形成をそれぞれ変化させたときの前記読取画像データの画素列のデータの変化量を、画素列ごとにそれぞれ求め、
各ドット列のドットの形成をそれぞれ変化させたときの前記読取画像データの各画素列のデータの変化量に基づいて、各画素列のデータを所定値にすべく、前記印刷画像データの前記画素列ごとの前記補正値をそれぞれ算出する
ことを特徴とする補正値算出方法。
【請求項５】
請求項４に記載の補正値算出方法であって、
各ドット列のドットの形成をそれぞれ変化させたときの前記読取画像データの画素列のデータの変化量を、画素列ごとにそれぞれ求めた後、
各画素列のデータの変化量に対してフィルタを適用し、
フィルタを適用した後の前記変化量に基づいて、各画素列のデータが所定値になるように、前記印刷画像データの前記画素列ごとの前記補正値を算出する
ことを特徴とする補正値算出方法。
【請求項６】
請求項１〜５のいずれかに記載の補正値算出方法であって、
前記スキャナは、第１の方向に沿ったラインセンサを前記第１の方向と直交する第２の方向に移動させて前記画像を読み取るものであり、
画像読取ステップの際に、前記ドット列の方向と前記第１の方向とを合わせるようにして、前記媒体を前記スキャナにセットする
ことを特徴とする補正値算出方法。
【請求項７】
請求項１〜６のいずれかに記載の補正値算出方法であって、
前記ドット列を構成するドットの大きさが、前記印刷解像度よりも大きいことを特徴とする補正値算出方法。
【請求項８】
印刷解像度に合わせた解像度の第１の印刷画像データの画素列のデータに応じてドット列を媒体に形成することによって、複数のドット列から構成される補正用パターンを前記媒体に形成するパターン形成ステップと、
スキャナによって前記補正用パターンの画像を読み取り、読取画像データを取得する画像読取ステップと、
前記読取画像データの各画素列のデータに基づいて、前記第１の印刷画像データの各画素列のデータを補正するときに用いる補正値を、前記第１の印刷画像データの画素列ごとに算出する補正値算出ステップと、
前記補正用パターンとは別の印刷対象の第２の印刷画像データの各画素列のデータを、各画素列に対応する前記補正値に基づいてそれぞれ補正する補正ステップと、
各画素列の補正後のデータに応じたドット列をそれぞれ媒体に形成することによって、前記印刷対象の画像を前記媒体に印刷する印刷ステップと
を含み、
前記補正用パターンは、基準パターンと比較パターンとを有し、
前記基準パターンは、基準となる基準階調値の前記画素列のデータに応じて形成された所定数の基準ドット列から構成されており、
前記比較パターンは、
前記基準階調値とは異なる比較階調値の前記画素列のデータに応じて形成され、前記基準ドット列に対してドットの形成を変化させた比較ドット列と、
前記比較ドット列に隣接して形成され、前記基準階調値の前記画素列のデータに応じて形成された基準ドット列と、
を含む前記所定数のドット列から構成されている
ことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、補正値算出方法及び印刷方法に関する。
【背景技術】
【０００２】
インクジェットプリンタによって紙に印刷された画像（印刷画像）にスジ状の濃度ムラが生じることがある。この濃度ムラの原因は、印刷画像を構成する多数のドット列がヘッドの製造誤差の影響で理想通りに形成されず、ドットの大小によってドット列ごとに濃淡ができたり、ドット列がズレて形成されたりするためと考えられている。
【０００３】
そこで、濃く印刷される部分の画素を淡く補正し、淡く印刷される部分の画素を濃く補正するように、印刷前に画像データ（印刷画像データ）を予め補正することによって、印刷画像の濃度ムラを軽減することが行われている（特許文献１参照）。  
具体的には、まず、一定階調値の印刷画像データに基づいて、所定の印刷解像度（例えば３６０×３６０ｄｐｉ）のテストパターンをプリンタが印刷する。このテストパターンをスキャナが読み取り、テストパターンを構成するドット列に合わせるようにして、印刷解像度に相当する幅（例えば１／３６０インチの幅）の列状の領域の濃度をそれぞれ検出する。そして、検出された濃度と目標濃度との差に従って、ドット列ごとに補正値をそれぞれ算出する。算出された補正値は、プリンタのメモリに記憶される。
【０００４】
その後、ユーザ下でプリンタが画像を印刷するときに、印刷画像データの解像度が印刷解像度に合わせて変換され、この結果、印刷画像データ上の画素列が、印刷画像上のドット列と１対１の関係になる。このとき、印刷画像データ上の各画素列の階調値を、対応するドット列の補正値に基づいてそれぞれ補正する。これにより、濃く印刷される画素列は淡く補正され、淡く印刷される画素列は濃く補正される。そして、補正後の印刷画像データに基づいて印刷が行われると、各画素列の階調値の補正結果に応じて各ドット列のドット発生率が補正されているので、各ドット列の濃淡が補正されて印刷画像の濃度ムラが軽減する。
【特許文献１】特開２００５−２０５６９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の濃度ムラ補正方法では、印刷解像度と同じ解像度に変換された印刷画像データ上の画素列の階調値を補正すれば、印刷画像上において、印刷解像度に相当する幅（例えば１／３６０インチの幅）の濃度が補正されると考えている。つまり、上記の濃度ムラ補正方法では、印刷画像データ上の画素列の位置（階調値を制御する位置）と、印刷画像上のドット列の位置（濃度の変化する位置）とが一致していると考えている。
【０００６】
しかし、印刷画像データ上の或る画素列の階調値を補正したとき、印刷画像上では、印刷解像度に相当する幅（例えば１／３６０インチの幅）とは異なる範囲で濃度が変化し、また、理論位置とは異なる位置で濃度が変化する。
【０００７】
このような状況下では、印刷解像度に相当する幅（例えば１／３６０インチの幅）の列状の領域の濃度を検出し、この領域の濃度に応じた補正値をその領域に対して決定しただけでは、正確に濃度ムラを補正できない。  
本発明は、正確な補正値を取得できるテストパターンを印刷することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するための主たる発明は、印刷解像度に合わせた解像度の印刷画像データの画素列のデータに応じてドット列を媒体に形成することによって、複数のドット列から構成される補正用パターンを前記媒体に形成するパターン形成ステップと、スキャナによって前記補正用パターンの画像を読み取り、読取画像データを取得する画像読取ステップと、前記読取画像データの各画素列のデータに基づいて、前記印刷画像データの各画素列のデータを補正するときに用いる補正値を、前記印刷画像データの画素列ごとに算出する補正値算出ステップとを含み、前記補正用パターンは、基準パターンと比較パターンとを有し、前記基準パターンは、基準となる基準階調値の前記画素列のデータに応じて形成された所定数の基準ドット列から構成されており、前記比較パターンは、前記基準階調値とは異なる比較階調値の前記画素列のデータに応じて形成され、前記基準ドット列に対してドットの形成を変化させた比較ドット列と、前記比較ドット列に隣接して形成され、前記基準階調値の前記画素列のデータに応じて形成された基準ドット列と、を含む前記所定数のドット列から構成されていることを特徴とする。  
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明を実施するための最良の形態】
【０００９】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【００１０】
印刷解像度に合わせた解像度の印刷画像データの画素列のデータに応じてドット列を媒体に形成することによって、複数のドット列から構成される補正用パターンを前記媒体に形成するパターン形成ステップと、スキャナによって前記補正用パターンの画像を読み取り、読取画像データを取得する画像読取ステップと、前記読取画像データの各画素列のデータに基づいて、前記印刷画像データの各画素列のデータを補正するときに用いる補正値を、前記印刷画像データの画素列ごとに算出する補正値算出ステップとを含み、前記補正用パターンは、基準パターンと比較パターンとを有し、前記基準パターンは、基準となる基準階調値の前記画素列のデータに応じて形成された所定数の基準ドット列から構成されており、前記比較パターンは、前記基準階調値とは異なる比較階調値の前記画素列のデータに応じて形成され、前記基準ドット列に対してドットの形成を変化させた比較ドット列と、前記比較ドット列に隣接して形成され、前記基準階調値の前記画素列のデータに応じて形成された基準ドット列と、を含む前記所定数のドット列から構成されていることを特徴とする補正値算出方法が明らかになる。  
このような補正値算出方法によれば、ドット列のドット発生を変化させたときの読取画像データ上の画素列の変化量を算出することができるので、正確な補正値を算出することが可能になる。
【００１１】
前記補正用パターンは、前記比較パターンを複数有しており、各比較パターンは、前記比較ドット列を複数有しており、各比較パターンにおいて、複数の前記比較ドット列は、所定の間隔で並んでおり、各比較パターンにおける前記比較ドット列の位置が、前記比較パターンごとに異なることが望ましい。これにより、補正用パターンを小さく構成できる。
【００１２】
前記補正値算出ステップは、前記読取画像データ上の前記基準パターンの画素列のデータと、前記読取画像データ上の前記比較パターンの画素列のデータとに基づいて、或るドット列のドットの形成を変化させたときの前記読取画像データ上の或る画素列のデータの変化量である第１変化量と、前記或るドット列とは別のドット列のドットの形成を変化させたときの前記或る画素列のデータの変化量である第２変化量とを求めるステップと、少なくとも前記第１変化量と前記第２変化量とに基づいて、前記或る画素列のデータを所定値にすべく、前記或るドット列に対応する画素列の補正値と、前記別のドット列に対応する画素列の補正値とを算出するステップとを有することが望ましい。これにより、適切な補正値を算出できる。
【００１３】
前記補正値算出ステップにおいて、各ドット列のドットの形成をそれぞれ変化させたときの前記読取画像データの画素列のデータの変化量を、画素列ごとにそれぞれ求め、各ドット列のドットの形成をそれぞれ変化させたときの前記読取画像データの各画素列のデータの変化量に基づいて、各画素列のデータを所定値にすべく、前記印刷画像データの前記画素列ごとの前記補正値をそれぞれ算出することが望ましい。これにより、より広い範囲の濃度ムラを抑制するための補正値を算出できる。
【００１４】
各ドット列のドットの形成をそれぞれ変化させたときの前記読取画像データの画素列のデータの変化量を、画素列ごとにそれぞれ求めた後、各画素列のデータの変化量に対してフィルタを適用し、フィルタを適用した後の前記変化量に基づいて、各画素列のデータが所定値になるように、前記印刷画像データの前記画素列ごとの前記補正値を算出することが望ましい。これにより、特定の成分の濃度ムラを抑制するための補正値を算出できる。
【００１５】
前記スキャナは、第１の方向に沿ったラインセンサを前記第１の方向と直交する第２の方向に移動させて前記画像を読み取るものであり、画像読取ステップの際に、前記ドット列の方向と前記第１の方向とを合わせるようにして、前記媒体を前記スキャナにセットすることが望ましい。これにより、スキャナの読取誤差の影響を受けずに済む。
【００１６】
前記ドット列を構成するドットの大きさが、前記印刷解像度よりも大きい場合に、本実施形態は特に有利である。
【００１７】
印刷解像度に合わせた解像度の第１の印刷画像データの画素列のデータに応じてドット列を媒体に形成することによって、複数のドット列から構成される補正用パターンを前記媒体に形成するパターン形成ステップと、スキャナによって前記補正用パターンの画像を読み取り、読取画像データを取得する画像読取ステップと、前記読取画像データの各画素列のデータに基づいて、前記第１の印刷画像データの各画素列のデータを補正するときに用いる補正値を、前記第１の印刷画像データの画素列ごとに算出する補正値算出ステップと、前記補正用パターンとは別の印刷対象の第２の印刷画像データの各画素列のデータを、各画素列に対応する前記補正値に基づいてそれぞれ補正する補正ステップと、各画素列の補正後のデータに応じたドット列をそれぞれ媒体に形成することによって、前記印刷対象の画像を前記媒体に印刷する印刷ステップとを含み、前記補正用パターンは、基準パターンと比較パターンとを有し、前記基準パターンは、基準となる基準階調値の前記画素列のデータに応じて形成された所定数の基準ドット列から構成されており、前記比較パターンは、前記基準階調値とは異なる比較階調値の前記画素列のデータに応じて形成され、前記基準ドット列に対してドットの形成を変化させた比較ドット列と、前記比較ドット列に隣接して形成され、前記基準階調値の前記画素列のデータに応じて形成された基準ドット列と、を含む前記所定数のドット列から構成されていることを特徴とする印刷方法が明らかになる。  
このような印刷方法によれば、濃度ムラが軽減された印刷画像が得られる。
【００１８】
＝＝＝用語の説明＝＝＝
まず、本実施形態を説明する際に用いられる用語の意味を説明する。  
図１は、用語の説明図である。
【００１９】
「印刷画像」とは、紙上に印刷された画像である。インクジェットプリンタの印刷画像は、紙上に形成された無数のドットから構成されている。  
「ラスタライン」とは、ヘッドと紙とが相対移動する方向（移動方向）に並ぶドットの列である。後述の実施形態のようなラインプリンタの場合、「ラスタライン」は、紙の搬送方向に並ぶドットの列を意味する。一方、キャリッジに搭載されたヘッドによって印刷するシリアルプリンタの場合、「ラスタライン」は、キャリッジの移動方向に並ぶドットの列を意味する。移動方向と垂直な方向に多数のラスタラインが並ぶことによって、印刷画像が構成されることになる。図に示すように、ｎ番目の位置にあるラスタラインのことを「第ｎラスタライン」と呼ぶ。
【００２０】
「画像データ」とは、２次元画像を示すデータである。後述する実施形態では、２５６階調の画像データや、４階調の画像データなどがある。  
「印刷画像データ」とは、画像を紙に印刷するときに用いられる画像データである。プリンタが４階調でドットの形成（大ドット・中ドット・小ドット・ドット無し）を制御する場合、４階調の印刷画像データは、印刷画像を構成するドットの形成状態を示すことになる。  
「読取画像データ」とは、スキャナによって読み取られた画像データである。
【００２１】
「画素」とは、画像を構成する最小単位である。この画素が２次元的に配置されることによって画像が構成される。主に、画像データ上の画素を意味する。  
「画素列」とは、画像データ上において所定方向に並ぶ画素の列である。図に示すように、ｎ番目の画素列のことを「第ｎ画素列」と呼ぶ。
【００２２】
「画素データ」とは、画素の階調値を示すデータである。画像データは多数の画素データから構成されていることになる。「画素データ」のことを「画素の階調値」と言うこともある。４階調の印刷画像データの場合、各画素データは、２ビットデータになり、ある画素のドット形成状態（大ドット・中ドット・小ドット・ドット無し）を示すことになる。  
「画素列データ」とは、画素列に含まれる複数の画素の画素データである。画素列データ中の画素データに従ってドットが形成されることによって、ラスタラインが形成されることになる。「画素列データ」のことを、「画素列の階調値」と言うこともある。
【００２３】
「画素領域」とは、画像データ上の画素に対応した紙上の領域である。例えば、印刷画像データの解像度が３６０×３６０ｄｐｉの場合、「画素領域」は、１辺が１／３６０インチの正方形状の領域になる。
【００２４】
「列領域」とは、画素列に対応した紙上の領域である。例えば、印刷画像データの解像度が３６０×３６０ｄｐｉの場合、列領域は、１／３６０インチ幅の細長い領域になる。「列領域」は、印刷画像データ上の画素列に対応した紙上の領域を意味する場合もあるし、読取画像データ上の画素列に対応した紙上の領域を意味する場合もある。図中の右下には、前者の場合の列領域が示されている。前者の場合の「列領域」は、ラスタラインの形成目標位置でもある。後者の場合の「列領域」は、読取画像データ上の画素列が読み取られた紙上の測定位置（測定範囲）でもあり、言い換えると、画素列の示す画像（画像片）が存在する紙上の位置でもある。図に示すように、ｎ番目の位置にある列領域のことを「第ｎ列領域」と呼ぶ。第ｎ列領域は第ｎラスタラインの形成目標位置になる。
【００２５】
「画像片」とは、画像の一部分を意味する。画像データ上において、ある画素列の示す画像は、画像データの示す画像の「画像片」になる。また、印刷画像において、あるラスタラインによって表される画像は、印刷画像の「画像片」になる。また、印刷画像において、ある列領域での発色によって表される画像も、印刷画像の「画像片」に該当する。
【００２６】
ところで、図１の右下には、画素領域とドットとの位置関係が示されている。ヘッドの製造誤差の影響によって第２ラスタラインが第２列領域からズレた結果、第２列領域の濃度が淡くなる。また、第４列領域では、ヘッドの製造誤差の影響によってドットが小さくなった結果、第４列領域の濃度が淡くなる。このような濃度ムラや濃度ムラ補正方法を説明する必要があるため、本実施形態では、「ラスタライン」、「画素列」、「列領域」等の意味や関係を上記の内容に沿って説明している。
【００２７】
但し、「画像データ」や「画素」等の一般的な用語の意味は、上記の説明だけでなく、通常の技術常識に沿って適宜解釈して良い。
【００２８】
＝＝＝プリンタの構成＝＝＝
図２は、プリンタ１の全体構成のブロック図である。図３は、プリンタ１の搬送処理とドット形成処理を説明するための斜視図である。
【００２９】
プリンタ１は、搬送ユニット２０、ヘッドユニット４０、検出器群５０、及びコントローラ６０を有する。外部装置であるコンピュータ１１０から印刷データを受信したプリンタ１は、コントローラ６０によって各ユニット（搬送ユニット２０、ヘッドユニット４０）を制御する。コントローラ６０は、コンピュータ１１０から受信した印刷データに基づいて、各ユニットを制御し、紙に画像を印刷する。プリンタ１内の状況は検出器群５０によって監視されており、検出器群５０は、検出結果をコントローラ６０に出力する。コントローラ６０は、検出器群５０から出力された検出結果に基づいて、各ユニットを制御する。
【００３０】
搬送ユニット２０は、媒体（例えば、紙Ｓなど）を所定の方向（以下、搬送方向という）に搬送させるためのものである。この搬送ユニット２０は、上流側ローラ２２Ａ及び下流側ローラ２２Ｂと、ベルト２４とを有する。不図示の搬送モータが回転すると、上流側ローラ２２Ａ及び下流側ローラ２２Ｂが回転し、ベルト２４が回転する。給紙された紙Ｓは、ベルト２４によって、印刷可能な領域（ヘッドと対向する領域）まで搬送される。ベルト２４が紙Ｓを搬送することによって、紙Ｓがヘッドユニット４０に対して搬送方向に移動する。印刷可能な領域を通過した紙Ｓは、ベルト２４によって外部へ排紙される。なお、搬送中の紙Ｓは、ベルト２４に静電吸着又はバキューム吸着されている。
【００３１】
ヘッドユニット４０は、紙Ｓにインクを吐出するためのものである。ヘッドユニット４０は、搬送中の紙Ｓに対してインクを吐出することによって、紙Ｓにドットを形成し、画像を紙Ｓに印刷する。本実施形態のプリンタ１はラインプリンタであり、ヘッドユニット４０は紙幅分のドットを一度に形成することができる。
【００３２】
図４は、ヘッドユニット４０の下面における複数のヘッドの配列の説明図である。図に示すように、紙幅方向に沿って、複数のヘッド４１が千鳥列状に並んでいる。各ヘッドには、不図示であるが、ブラックインクノズル列、シアンインクノズル列、マゼンタインクノズル列及びイエローインクノズル列が形成されている。各ノズル列は、インクを吐出するノズルを複数個備えている。各ノズル列の複数のノズルは、紙幅方向に沿って、一定のノズルピッチで並んでいる。
【００３３】
図５は、簡略説明用のヘッド配置とドット形成の様子の説明図である。後述するヘッドユニット４０は、説明の簡略化のため、２個のヘッド（第１ヘッド４１Ａ、第２ヘッド４１Ｂ）から構成されているものとする。また、説明の簡略化のため、各ヘッドにはブラックインクノズル列だけが設けられているものとする。更に説明を簡略化するため、各ヘッドのブラックインクノズル列は、ノズルを１２個ずつ備えているものとする。以下の説明において、搬送方向のことを「ｘ方向」と呼び、紙幅方向のことを「ｙ方向」と呼ぶことがある。  
各ヘッドのブラックインクノズル列は、第１ノズル群４１１と第２ノズル群４１２とを備えている。各ノズル群は、１／１８０インチ間隔で紙幅方向（ｙ方向）に並ぶ６個のノズルから構成されている。第１ノズル群４１１と第２ノズル群４１２は、紙幅方向に１／３６０インチだけずれて構成されている。これにより、各ヘッドのブラックインクノズル列は、紙幅方向に関して１／３６０インチの間隔で並ぶ１２個のノズルから構成されたノズル列となっている。各ヘッドのノズル列に対して、図中の上から順に、番号を付している。  
なお、搬送中の紙Ｓに対して各ノズルから断続的にインク滴が吐出されることによって、各ノズルは、紙に２４個のラスタラインを形成する。例えば、第１ヘッド４１Ａのノズル♯１Ａは第１ラスタラインを紙上に形成し、第２ヘッド４１Ｂのノズル♯１Ｂは第１３ラスタラインを紙上に形成する。各ラスタラインは、搬送方向（ｘ方向）に沿って形成される。
【００３４】
検出器群５０には、上流側ローラ２２Ａの回転量を検出するロータリー式エンコーダ（不図示）などが含まれる。このロータリー式エンコーダの検出結果に基づいて、紙Ｓの搬送量を検出することができる。
【００３５】
コントローラ６０は、プリンタ１の制御を行うための制御ユニット（制御部）である。コントローラ６０は、インターフェース部６１と、ＣＰＵ６２と、メモリ６３と、ユニット制御回路６４とを有する。ＣＰＵ６２は、プリンタ全体の制御を行うための演算処理装置である。メモリ６３は、ＣＰＵ６２のプログラムを格納する領域や作業領域等を確保するためのものであり、ＲＡＭ、ＥＥＰＲＯＭ等の記憶素子を有する。ＣＰＵ６２は、メモリ６３に格納されているプログラムに従って、ユニット制御回路６４を介して各ユニットを制御する。濃度ムラを補正するための補正値（後述）は、メモリ６３に記憶されている。
【００３６】
＝＝＝本実施形態の補正値取得処理＝＝＝
プリンタ製造工場の検査工程において、製造されたプリンタごとに、各プリンタの濃度ムラ特性を反映した補正値をそれぞれ算出し、その補正値を各プリンタのメモリに記憶させる。  
図６Ａ〜図６Ｃは、テストパターンを印刷してからプリンタ１に補正値を記憶させるまでの間の様子の説明図である。
【００３７】
＜補正値取得処理の前段階＞
最初に、検査者は、検査対象となるプリンタ１を工場内のコンピュータ１１０に接続する（図６Ａ参照）。このコンピュータ１１０には、スキャナ１５０も接続されている。コンピュータ１１０には、テストパターンをプリンタ１に印刷させるためのプリンタドライバと、スキャナ１５０を制御するためのスキャナドライバと、スキャナ１５０から取得した画像データ（読取画像データ）に画像処理を施して補正値を算出するための補正値取得プログラムが予めインストールされている。
【００３８】
プリンタドライバには、予めテストパターンの画像データ（印刷画像データ）が用意されている。このテストパターンの印刷画像データは、印刷解像度に合わせた解像度（３６０×３６０ｄｐｉ）の画像データになっている。  
図７Ａは、テストパターンの印刷画像データの説明図である。テストパターンは、５個の補正用パターンから構成されている。５個の補正用パターンは、ｘ１方向に沿って並んでいる。なお、テストパターンが印刷されたとき、５個の補正用パターンがｘ方向（搬送方向）に沿って並ぶように、印刷画像データ上のｘ１方向が定められている。
【００３９】
各補正用パターンは、基準となる階調値（基準階調値）が異なっている。各補正用パターンの基準階調値は、右にある第１補正用パターンから順に７６、１０２、１２８、１５３、１７９であり、左にある補正用パターンほど濃度が濃い。なお、これらの５種類の基準階調値は、記号でＳａ（＝７６）、Ｓｂ（＝１０２）、Ｓｃ（＝１２８）、Ｓｄ（＝１５３）、Ｓｅ（＝１７９）と表すことにする。
【００４０】
図７Ｂは、第３補正用パターンの印刷画像データの説明図である。ここでは第３補正用パターンについて説明するが、他の補正用パターンもほぼ同様の構成である。
【００４１】
第３補正用パターンは、５個のブロックから構成されている。５個のブロックは、ｘ１方向に沿って並んでいる。各ブロックは、２４個の画素列から構成されている。各ブロックの２４個の画素列は、ｙ１方向に並んでいる。各ブロックの各画素列は、それぞれ数１０画素から構成されている。
【００４２】
５個のブロックの中央に位置する基準ブロックでは、全ての画素データは、基準階調値Ｓｃ（＝１２８）になっている。
【００４３】
一方、第１ブロック〜第４ブロックでは、画素データは、特定の画素列に属する画素データを除き、基準階調値になっている。但し、各ブロックの特定の画素列に属する画素データは、基準階調値よりもαだけ濃い階調値になっている。このように基準階調値よりもαだけ濃い階調値になっている画素列のことを、「濃画素列」と呼ぶことにする。ここでは、α＝５とする。
【００４４】
第１ブロック〜第４ブロックでは、濃画素列は４個の画素列おきに現れるようになっている。例えば、第１ブロックでは、第１、第５、第９、第１３、第１７及び第２１画素列が濃画素列になっている。濃画素列は数個の画素列おきに現れるため、濃画素列がｙ１方向に隣接することは無い。なお、ある２個の濃画素列の間にある３個の画素列に属する画素データは、全て基準階調値Ｓｃ（＝１２８）になっている。
【００４５】
また、各ブロックの濃画素列は、ｙ１方向の位置が全て異なっている。言い換えると、２４個の画素列のうち、いずれかのブロックに濃画素列がある。例えば、第１画素列では第１ブロックに濃画素列があり、第２画素列では第２ブロックに濃画素列があり、第３画素列では第３ブロックに濃画素列があり、第４画素列では第４ブロックに濃画素列がある。
【００４６】
＜ハーフトーン処理（Ｓ１０１）＞
図８は、プリンタ製造後の検査工程で行われる補正値取得処理のフロー図である。  
まず、コンピュータ１１０のプリンタドライバは、テストパターンの印刷画像データをハーフトーン処理することにより、前述の２５６階調のテストパターンの印刷画像データ（図７Ａ）を４階調の印刷画像データに変換する（Ｓ１０１）。４階調の印刷画像データ上では、各画素列データは、各ラスタラインのドットの形成状態を示すことになる。ハーフトーン処理後、濃画素列の画素列データは、基準階調値の画素列データよりも、ドット形成を示す画素データの数が多い状態になっている。
【００４７】
図９は、ハーフトーン処理後の印刷画像データの概念図である。ハーフトーン処理後の画素データは４階調であるが、説明を簡略化するため、ドット形成を示す画素データの画素を丸印で表現し、ドット非形成を示す画素データの画素を無印で表現することによって、２階調で画素データを示している。図中の白丸は、ハーフトーン処理前の画素データが基準階調値であった画素である。一方、図中の黒丸は、ハーフトーン処理前の画素データが基準階調値よりも濃い画素である（濃画素列に属する画素である）。また、説明を簡略化するため、各ブロックの画素列は８画素から構成されている。図に示されるように、ハーフトーン処理後の印刷画像データでは、濃画素列の画素列データは、基準階調値の画素列データよりも、ドット形成を示す画素データの数が多い状態になっている。
【００４８】
＜テストパターンの印刷（Ｓ１０２）＞
ハーフトーン処理後、プリンタドライバは、４階調の印刷画像データを含む印刷データをプリンタ１に送信し、プリンタ１は、印刷データ中の４階調の画素データに従って各ノズルからインク滴を吐出し、テストパターンを印刷する（Ｓ１０２、図６Ａ参照）。本実施形態では、プリンタ１は、３６０×３６０ｄｐｉの印刷解像度でテストパターンを印刷する。
【００４９】
図９のような印刷画像データに従って各ノズルからインク滴が吐出されると、図９のようにドットが形成された印刷画像が紙に印刷される。例えば、図９の第１画素列データに従ってノズル♯１Ａがインクを吐出することによって、テストパターンを構成する第１ラスタラインが紙上に形成されることになる。但し、ヘッドの製造誤差のため、印刷画像では、図９のように全ドットが同じ大きさにはならず、また、ラスタラインが所定の列領域からズレて形成されることもある。テストパターンを巨視的に見れば、このテストパターンは、濃度ムラを含んでいるものの、およそ印刷画像データ（図７Ａや図７Ｂ）の通りの印刷画像になる。
【００５０】
第３補正用パターンを微視的に見た時の状態について説明する。第３補正用パターンは、２４個のラスタラインから構成されている。基準ブロックでは、所定の密度でドットが生成されている。また、第１ブロック〜第４ブロックでは、特定のラスタラインを除き、所定の密度でドットが生成されている。但し、第１ブロック〜第４ブロックの所定のラスタラインでは、基準ブロックにおけるドット密度よりも高い密度で、ドットが生成されている。つまり、本実施形態では、濃画素列の画素データ（２５６階調）が基準階調値よりも濃くなっている結果、濃画素列に対応する列領域付近に濃い画像片が形成されるようにドットの発生が変化する。ここでは、濃画素列に対応するラスタラインのことを「濃ラスタライン」と呼ぶことにする。
【００５１】
＜テストパターンの読み取り（Ｓ１０３）＞
次に、プリンタ１によって印刷されたテストパターンが検査者によってスキャナ１５０にセットされ、コンピュータ１１０のスキャナドライバがスキャナ１５０にテストパターンを読み取らせる（Ｓ１０３、図６Ｂ参照）。本実施形態では、スキャナ１５０は、主走査方向に沿ったラインセンサ（例えばＣＣＤセンサ）を副走査方向に移動させて画像を読み取るものであり、検査者は、テストパターンのラスタラインの方向（ｘ方向）と、スキャナ１５０の主走査方向（ラインセンサのライン方向）とを合わせるようにして、テストパターンをスキャナ１５０にセットする。また、本実施形態では、１４４０×１４４０ｄｐｉでスキャナ１５０がテストパターンを読み取る。つまり、テストパターンの印刷解像度である３６０×３６０ｄｐｉよりも高い読取解像度で、スキャナ１５０がテストパターンを読み取る。  
なお、コンピュータ１１０の補正値取得プログラムは、スキャナ１５０から取得した画像データ（読取画像データ）の中からテストパターンの部分を抽出するため、必要に応じて、読取画像データに対して回転処理やトリミングなどを施しても良い。
【００５２】
図１０は、読取画像データ上の第３補正用パターンの説明図である。読取画像データ上では、各ブロックの並ぶ方向を「ｘ２方向」と呼び、ｘ２方向と直交する方向を「ｙ２方向」と呼ぶ。ｘ２方向に並ぶ画素列は、ラスタラインの画像と平行になっている。
【００５３】
本実施形態では、３６０ｄｐｉの２４個のラスタラインから構成されたテストパターンを１４４０×１４４０ｄｐｉで読み取っているので、読取画像データは、約９６個の画素列から構成されている。ヘッドの製造誤差のためラスタラインの間隔は正確ではなく、また、スキャナ１５０のラインセンサの副走査方向の移動も必ずしも正確ではないため、ｙ２方向に並ぶ画素列の数が正確に９６個になるとは限らない。
【００５４】
読取画像データ上の各画素列データ（ｘ２方向に並ぶ画素の列）は、テストパターンが印刷された紙上の約１／１４４０インチ幅の列領域の画像片を示していることになる。言い換えると、読取画像データの各画素列データは、約１／１４４０インチ間隔の測定位置での画像片を示していることになる。但し、ラインセンサの副走査方向の移動が正確ではないため、測定位置の間隔は、正確に１／１４４０インチになっているとは限らない。
【００５５】
次に、コンピュータ１１０の補正値取得プログラムは、各ブロックごとに、図中の点線の領域の読取画像データを抽出し、各画素列の輝度を算出する。各画素列の輝度は、印刷されたテストパターン上の各列領域の濃度を示していると考えられる。
【００５６】
図１１は、各画素列の輝度の算出の様子の説明図である。図中の左側には、図１０の点線の領域の読取画像データが示されている。点線の領域には、所定数の画素からなる画素列が、ｙ２方向に並んでいる。補正値取得プログラムは、各画素列ごとに、ｘ２方向に並ぶ複数の画素の画素データに基づいて平均輝度を算出し、この平均輝度をその画素列の輝度とする。例えば、第１画素列の輝度は、図中の左側の太線内の画素データに基づいて算出される。図１１の右側には、各画素列の輝度のグラフが示されている。本実施形態では、ブロックごとに、図１１の右側のグラフのようなデータが得られることになる。
【００５７】
以下の説明では、読取画像データの第ｉ画素列の輝度を「Ｙｉ」と表す。なお、ｉ＝1, 2, …m であり、ｍは読取画像データの画素列の数（ここでは約９６）である。
【００５８】
＜ドット発生変化に対する輝度変化量の検出（Ｓ１０４〜Ｓ１０７）＞
次に、コンピュータ１１０の補正値取得プログラムは、各ラスタラインのドット発生変化に対する読取画像データ上の各画素列の輝度変化量を検出する。
【００５９】
図１２Ａは、読取画像データ上の基準ブロックの輝度のグラフである。グラフの横軸はｙ２方向の位置であり、グラフの縦軸は輝度である。印刷画像データ上の基準ブロックは一定階調値（基準階調値）の画素から構成されているので、基準ブロックには濃ラスタラインは無いが、印刷画像に濃度ムラがあるため、読取画像データ上の各画素列の輝度にばらつきが生じている。  
図１２Ｂは、読取画像データ上の第４ブロックの輝度のグラフである。第４ブロックでは、第ｊラスタライン（例えば、第４ラスタラインや第８ラスタラインなど）が濃ラスタラインになっている。つまり、第ｊラスタラインは、基準ブロックのラスタラインと比べて、濃くなるようにドットの発生が変化している。  
この結果、第ｊラスタラインの画像片があると想定される位置付近の画素列の輝度は、基準ブロックにおける同じ画素列の輝度よりも濃い値（暗い値）を示している。また、１個の画素列の輝度だけでなく、所定の範囲（例えば、紙上の１／１８０インチ幅相当の範囲）の画素列の輝度が、基準ブロックにおける同じ画素列の輝度よりも濃い値を示す。
【００６０】
なお、濃ラスタラインにより輝度が変化する画素列の範囲は、同じブロック内の濃画素列の間隔の半分以下であるものとする。言い換えると、各ブロック内の濃画素列の間隔は、あるラスタラインのドットの発生が変化したときに輝度が変化する画素列の範囲の２倍よりも広くなるように、予め設定されている。これにより、ある特定のラスタライン（濃ラスタライン）のドット発生変化による輝度の変化量を検出することが可能になる。仮に濃画素列の間隔が短すぎると、輝度の変化量を検出できても、どのラスタラインのドット発生変化による影響なのかを特定することができなくなる。
【００６１】
以下の説明では、第ｊラスタラインのドット発生変化による第ｉ画素列の輝度の変化量を「ΔＹｉｊ」と表す。コンピュータ１１０の補正値取得プログラムは、基準ブロックにおける第ｉ画素列の輝度と、第ｊラスタラインのドット発生が変化するブロック（この場合、第４ブロック）における第ｉ画素列の輝度との差をΔＹｉｊとして算出する。また、輝度変化量ΔＹｉｊをα（αは、濃画素列の階調値と基準階調値との差であり、既知である）で割った値である単位変化量を「ａｉｊ」と表す。なお、ｊ＝1, 2, …n であり、ここではｎ＝２４である。
【００６２】
ところで、あるラスタラインのドット発生が変化したときに輝度が変化する画素列の範囲は所定の範囲内なので、ΔＹｉｊ及びａｉｊは、その所定範囲外ではゼロに設定する。例えば、図１２Ｂのような場合には、ΔＹ１ｊ〜ΔＹ８ｊや、ａ１ｊ〜ａ８ｊは、ゼロになる。
【００６３】
このようにして、コンピュータ１１０の補正値取得プログラムは、まず、第１ラスタラインのドット発生変化による各画素列の単位変化量ａｉ１を、基準ブロック及び第１ブロックの各画素列の輝度Ｙｉに基づいて算出する。次に、補正値取得プログラムは、第２ラスタラインのドット発生変化による各画素列の単位変化量ａｉ２を、基準ブロック及び第２ブロックの各画素列の輝度Ｙｉに基づいて算出する。これにより、全てのラスタラインのそれぞれのドット変化による各画素列の単位変化量ａｉｊが全て算出される（Ｓ１０４〜Ｓ１０７）。
【００６４】
＜補正値の算出（Ｓ１０８）＞
次に、コンピュータ１１０の補正値取得プログラムは、ラスタラインごとに対応した２４個の補正値を算出する（Ｓ１０８）。ここでは、第ｊラスタラインに対応する補正値を「ΔＣｊ」とする。
【００６５】
図１３は、基準ブロックの輝度のグラフと目標輝度Ｙｔとの関係の説明図である。目標輝度Ｙｔは、基準階調値で印刷された印刷画像が本来あるべき輝度である。ここでは、目標輝度Ｙｔに対する第ｉ画素列の輝度Ｙｉの誤差を「ΔＹｉ」と表す。  
誤差ΔＹｉを補正するためには、第ｉ画素列の輝度に影響を与えるラスタラインのドット発生を変更（補正）する必要がある。ここでは、３個のラスタライン（第ｊ−１ラスタライン、第ｊラスタライン及び第ｊ＋１ラスタライン）のドット発生が変化すると、第ｉ画素列の輝度が変化するものとする。この場合、第ｉ画素列の輝度を目標輝度Ｙｔに補正するためには、３個のラスタラインの補正値が、以下の条件を満たす必要がある。  
ΔＹｉ−（ａij-1×ΔＣj-1＋ａij×ΔＣj＋ａij+1×ΔＣj+1）＝０
【００６６】
ところで、各ラスタラインの補正値は、第ｉ画素列の輝度を目標輝度に補正するだけでなく、全ての画素列の輝度（Ｙ１〜Ｙｍ）が目標輝度になるように設定する必要がある。このため、全ての画素列の輝度を目標輝度Ｙｔに補正するためには、各補正値が、以下の条件を満たす必要がある。
【数１】
2009302608.tif 000003
【００６７】
従って、この式をできるだけ満たすように、各ラスタラインに対応する補正値ΔＣｊを最適化することによって、最適な補正値を算出することができる。  
本実施形態では、二乗誤差が最小になるように補正値ΔＣｊを最適化することにする。まず、上記の数１の各項を次式で置き換える。  
【数２】
2009302608.tif 000004
【００６８】
この場合、補正値ΔＣは、擬似逆行列を用いて次式で算出できる。  
ΔＣ＝（（ＡＴＡ）−１ＡＴ）ΔＹ
なお、本実施形態では、二乗誤差が最小になるように補正値ΔＣを最適化したが、別の評価値（例えば誤差の絶対値の和など）を最小とするような最適化であっても良い。
【００６９】
このようにして、コンピュータ１１０の補正値取得プログラムは、ラスタラインごとに補正値を算出することによって、２４個の補正値を算出する。２４個のラスタラインと印刷画像データ上の２４個の画素列はそれぞれ対応しているので、算出された２４個の補正値は、印刷画像データ上の２４個の画素列にそれぞれ対応していると考えることもできる。また、２４個のラスタラインと紙上の２４個の列領域はそれぞれ対応しているので、算出された２４個の補正値は、紙上の２４個の列領域にそれぞれ対応していると考えることもできる。
【００７０】
本実施形態では、１個の補正用パターンにつき、それぞれラスタラインごとの補正値が算出される。このため、５個の補正用パターンからなるテストパターンから、５種類の基準階調値（Ｓａ（＝７６）、Ｓｂ（＝１０２）、Ｓｃ（＝１２８）、Ｓｄ（＝１５３）、Ｓｅ（＝１７９））ごとに、それぞれラスタラインごとの補正値が算出される。
【００７１】
＜補正値の記憶＞
図１４は、補正値テーブルの説明図である。算出された各補正値は、基準階調値及びラスタラインに対応付けられて、補正値テーブルに格納される。図中では、第ｊ画素列に対応する補正値ΔＣｊに対して、基準階調値ごとにａ〜ｅの添字を付している。コンピュータ１１０の補正値取得プログラムは、プリンタ１のメモリ６３に補正値テーブルを記憶する（Ｓ１０９）。  
なお、上記の説明では、ブラック（ブラックインクノズル列）についてのみ説明をしているが、他の色（シアン、マゼンタ、イエロー）に対しても同様に補正値が算出され、プリンタ１のメモリに補正値テーブルが記憶される。  
このようにメモリに補正値テーブルが記憶された後、プリンタ１が梱包されて、工場から出荷されることになる。
【００７２】
＝＝＝印刷処理＝＝＝
＜濃度ムラ補正前の処理（Ｓ２０１〜Ｓ２０３）＞
図１５は、ユーザ下でプリンタドライバが行う印刷処理のフロー図である。プリンタ１を購入したユーザは、プリンタ１に同梱されているＣＤ−ＲＯＭに記憶されたプリンタドライバ（若しくは、プリンタ製造会社のホームページからダウンロードしたプリンタドライバ）を、コンピュータにインストールする。このプリンタドライバには、図中の各処理をコンピュータに実行させるためのコードを備えている。また、ユーザは、コンピュータにプリンタ１を接続する。
【００７３】
まず、プリンタドライバは、プリンタ１のメモリに記憶されている補正値テーブル（図１４参照）を、プリンタ１から取得する（Ｓ２０１）。
【００７４】
ユーザがアプリケーションプログラム上から印刷を指示したとき、プリンタドライバが呼び出され、印刷対象となる画像データ（印刷画像データ）をアプリケーションプログラムから受け取り、その印刷画像データに対して解像度変換処理を行う（Ｓ２０２）。解像度変換処理とは、画像データ（テキストデータ、イメージデータなど）を、紙に印刷する際の解像度（印刷解像度）に変換する処理である。ここでは、印刷解像度は３６０×３６０ｄｐｉであり、解像度変換処理後の各画素データは、ＲＧＢ色空間により表される２５６階調のデータである。
【００７５】
次に、プリンタドライバは、色変換処理を行う（Ｓ２０３）。色変換処理とは、プリンタ１のインク色の色空間に合わせて画像データを変換する処理である。ここでは、ＲＧＢ色空間の画像データ（２５６階調）が、ＣＭＹＫ色空間の画像データ（２５６階調）に変換される。
【００７６】
これにより、２５６階調のＣＭＹＫ色空間の画像データが得られる。なお、以下の説明では、説明の簡略化のため、ＣＭＹＫ色空間の画像データのうちの、ブラック平面の画像データについて説明する。
【００７７】
＜濃度ムラ補正処理（Ｓ２０４））＞
次に、プリンタドライバは、濃度ムラ補正処理を行う（Ｓ２０４）。濃度ムラ補正処理は、画素列ごとの補正値に基づいて、各画素列に属する画素データの階調値をそれぞれ補正する処理である。ここでは、第ｊ画素列に属する画素データの階調値の補正について説明する。
【００７８】
図１６は、画素データの階調値の補正の説明図である。図中の横軸は補正前の階調値を示し、図中の縦軸は補正後の階調値を示している。  
仮に補正前の印刷画像データの画素データが全て基準階調値Ｓｂであれば、プリンタドライバは、基準階調値Ｓｂに対応する補正値ΔＣｊ_ｂを用いて、画素データの階調値ＳｂをＳｂ＋ΔＣｊ_ｂに補正するのが良いと考えられる（これにより、補正後の階調値Ｓｂ＋ΔＣｊ_ｂに従って印刷画像を形成すれば、元の印刷画像データ通りの濃度ムラのない印刷画像が得られると考えられる）。同様に、補正前の印刷画像データの画素データが全て基準階調値Ｓｃであれば、プリンタドライバは、基準階調値Ｓｃに対応する補正値ΔＣｊ_ｃを用いて、画素データの階調値ＳｃをＳｃ＋ΔＣｊ_ｃに補正するのが良いと考えられる。
【００７９】
一方、補正前の階調値Ｓ_ｉｎが基準階調値と異なる場合、例えば図に示すように補正前の階調値Ｓ_ｉｎがＳｂとＳｃの間である場合、プリンタドライバは、補正値ΔＣｊ_ｂ及び補正値ΔＣｊ_ｃを用いて直線補完を行い、階調値Ｓ_ｏｕｔを算出する。
【００８０】
図中のグラフによれば、補正値ΔＣｊ_ａは、マイナスの値になっている。このため、補正前の階調値Ｓ_ｉｎが基準階調値Ｓａに近い値であれば、プリンタドライバは、階調値を低くするように画素データの階調値を補正する。また、図中のグラフによれば、補正値ΔＣｊ_ｂ、補正値ΔＣｊ_ｃ、補正値ΔＣｊ_ｄ及び補正値ΔＣｊ_ｂ、は、プラスの値になっている。このため、補正前の階調値Ｓ_ｉｎが基準階調値Ｓｂ〜Ｓｅに近い値であれば、プリンタドライバは、階調値を高くするように画素データの階調値を補正する。
【００８１】
ここでは、第ｊ画素列に属する画素データの階調値の補正について説明したが、他の画素列に属する画素データに対しても、同様に階調値を補正する。これにより、プリンタドライバは、濃く印刷される部分の画素を淡く補正し、淡く印刷される部分の画素を濃く補正するように、印刷前に印刷画像データを予め補正することができる。
【００８２】
なお、濃度ムラ補正後の印刷画像データは、２５６階調のＣＭＹＫ色空間の画像データである。
【００８３】
＜濃度ムラ補正後の処理（Ｓ２０５〜Ｓ２０８）＞
濃度ムラ補正処理の後、プリンタドライバは、ハーフトーン処理を行う。ハーフトーン処理とは、高階調数のデータを、低階調数のデータに変換する処理である。ここでは、２５６階調の印刷画像データが、プリンタ１の表現可能な４階調の印刷画像データに変換される。ハーフトーン処理方法としてディザ法・誤差拡散法などが知られており、本実施形態もこのようなハーフトーン処理を行う。なお、前述のＳ１０１（図８）で行われるハーフトーン処理と、ここでのハーフトーン処理は、同種のものである。
【００８４】
本実施形態では、プリンタドライバは、濃度ムラ補正処理された画素データに対して、ハーフトーン処理が行われることになる。この結果、濃く視認されやすい部分の画素データの階調値は低くなるように補正されているので、その部分のドット生成率は低くなる。逆に、淡く視認されやすい部分ではドット生成率が高くなる。
【００８５】
次に、プリンタドライバは、ラスタライズ処理を行う（Ｓ２０６）。ラスタライズ処理は、印刷画像データ上の画素データの並び順を、プリンタ１に転送すべきデータ順に変更する処理である。その後、プリンタドライバは、プリンタ１を制御するための制御データを画素データに付加することによって印刷データを生成し（Ｓ２０７）、その印刷データをプリンタ１に送信する。
【００８６】
プリンタ１は、受信した印刷データに従って、印刷動作を行う。具体的には、プリンタ１のコントローラ６０は、受信した印刷データの制御データに従って搬送ユニット２０などを制御し、印刷データの画素データに従ってヘッドユニット４０を制御して各ノズルからインクを吐出する。このようにして生成された印刷データに基づいてプリンタ１が印刷処理を行えば、各ラスタラインのドット生成率が変更され、紙上の列領域の画像片の濃度が補正されて、印刷画像の濃度ムラが抑制される。
【００８７】
＝＝＝比較例＝＝＝
＜比較例＞
次に、比較例について説明する。以下に説明する比較例では、テストパターンの構成と、補正値の算出方法が異なっている。
【００８８】
図１７Ａは、比較例のテストパターンの印刷画像データの説明図である。比較例のテストパターンも、５個の補正用パターンから構成されている。但し、各補正用パターンの構成が、本実施形態とは異なっている。  
図１７Ｂは、比較例の補正用パターンの印刷画像データの説明図である。比較例の補正用パターンは、前述の基準ブロックのみから構成されている。このため、基準階調値の画素列しかなく、濃画素列は存在しない。
【００８９】
図１８は、比較例の補正値取得処理のフロー図である。  
まず、コンピュータ１１０のプリンタドライバは、テストパターンの印刷画像データ（図１７Ａ）をハーフトーン処理する（Ｓ１０１’）。ハーフトーン処理後、プリンタドライバは印刷データをプリンタ１に送信し、プリンタ１は、印刷データ中の４階調の画素データに従って３６０×３６０ｄｐｉの解像度でテストパターンを印刷する（Ｓ１０２’、図６Ａ参照）。次に、テストパターンがスキャナ１５０にセットされ、１４４０×１４４０ｄｐｉの解像度でスキャナ１５０に読み取られる（Ｓ１０３’、図６Ｂ参照）。ここまでの処理は、テストパターンの構成は異なるものの、本実施形態とほぼ同じである。
【００９０】
次に、比較例の補正値取得プログラムは、１４４０×１４４０ｄｐｉの画像データ（読取画像データ）の解像度を変換し、ｙ２方向の画素列の数をｎ個（ここでは、ｎ＝２４）にする（Ｓ１０４’）。この結果、解像度変換後の読取画像データ上の各画素列は、印刷解像度に相当する幅（１／３６０インチの幅）の列領域の画像片を示すことになる。補正値取得プログラムは、解像度変換後の読取画像データから、前述の実施形態とほぼ同様に、各画素列の輝度（平均輝度）を算出することが可能である。以下の説明では、基準階調値Ｓａの補正用パターンの読取画像データの第ｊ画素列の輝度を「Ｙｊ_a」と表し、基準階調値Ｓｂの補正用パターンの読取画像データの第ｊ画素列の輝度を「Ｙｊ_b」と表し、基準階調値Ｓｃの補正用パターンの読取画像データの第ｊ画素列の輝度を「Ｙｊ_c」と表す。
【００９１】
次に、比較例の補正値取得プログラムは、各画素列の輝度と目標輝度との差に基づいて、各画素列の補正値ΔＣを算出する（Ｓ１０５’）。つまり、比較例では、読取画像データの特定の画素列の輝度（特定の列領域の輝度）に基づいて、印刷画像データの特定の画素列の補正値が算出されることになる。
【００９２】
ここでは、第ｊ画素列の補正値の算出方法について説明する。  
図１９Ａ及び図１９Ｂは、第ｊ画素列の基準階調値Ｓｂの補正値ΔＣｊ_bの説明図である。図中の横軸は画素データの階調値を示し、縦軸は輝度Ｙを示している。図中には基準階調値Ｓｂでの目標輝度Ｙｔ_bが示されている。
【００９３】
図１９Ａのように、基準階調値Ｓｂの第ｊ画素列の輝度Ｙｊ_bが目標輝度Ｙｔ_bよりも小さい場合、補正値取得プログラムは、直線ＢＣに基づく直線補間を利用して、目標輝度Ｙｔ_bに対応する階調値Ｓｂｔを算出する。そして、階調値Ｓｂｔと基準階調値Ｓｂとの差を補正値ΔＣｊ_bとして算出する。この場合の補正値は、プラスの値である。
【００９４】
図１９Ｂのように、基準階調値Ｓｂの第ｊ画素列の輝度Ｙｊ_bが目標輝度Ｙｔ_bよりも大きい場合、補正値取得プログラムは、直線ＡＢに基づく直線補間を利用して、目標輝度Ｙｔ_bに対応する階調値Ｓｂｔを算出する。そして、階調値Ｓｂｔと基準階調値Ｓｂとの差を補正値ΔＣｊ_bとして算出する。この場合の補正値は、マイナスの値である。
【００９５】
このようにして、補正値取得プログラムは、５種類の基準階調値ごとに、それぞれの画素列ごとの補正値を算出する。なお、基準階調値Ｓａの補正値を算出する場合、２点（０，０）、（Ｓａ，Ｙｊ_a）の直線に基づいて直線補間を行うと良い。また、基準階調値Ｓｅの補正値を算出する場合、２点（Ｓｅ，Ｙｊ_e）、（２５５，２５５）の直線に基づいて直線補間を行うと良い。
【００９６】
上記の比較例においても、図１４のような補正値テーブルを作成することができる。補正値取得プログラムは、プリンタ１のメモリ６３に補正値テーブルを記憶する（Ｓ１０９’）。
【００９７】
なお、比較例の場合の印刷処理は、上記の本実施形態と同じなので、説明を省略する。このように、本実施形態と比較例とでは、テストパターンの構成と、補正値の算出方法が異なっている。特に、比較例では、読取画像データの特定の画素列の輝度（特定の列領域の輝度）に基づいて、印刷画像データの特定の画素列の補正値が算出されることになる点が本実施形態とは大きく異なる。
【００９８】
＜比較例に対する本実施形態の利点１＞
上記の比較例では、印刷解像度と同じ解像度に変換された印刷画像データ上の画素列の階調値を補正すれば、印刷画像上において、印刷解像度に相当する幅（例えば１／３６０インチの幅）の濃度が補正されると考えている。つまり、上記の比較例では、印刷画像データ上の画素列の位置（階調値を制御する位置）と、印刷画像上のドット列の位置（濃度の変化する位置）とが一致していると考えている。  
しかし、ドットの大きさが列領域の幅よりも大きい場合、印刷画像データ上の或る画素列の階調値を補正したときに、印刷画像上では、印刷解像度に相当する幅（例えば１／３６０インチの幅）とは異なる範囲で濃度が変化し、また、理論位置とは異なる位置で濃度が変化する。以下、この点について説明する。
【００９９】
図２０Ａは、印刷されたテストパターンの基準ブロックのラスタラインと、列領域との位置関係の説明図である。ここでは説明の簡略化のため、印刷前のテストパターンの画像データ（印刷画像データ）上の画素列に対応する列領域と、Ｓ１０４’の解像度変換後の画像データ（読取画像データ）の画素列に対応する列領域とが一致しているものとする。
【０１００】
ドットの大きさが列領域の幅よりも大きい場合、印刷画像データ上の或る画素列の階調値を補正したとき、その影響が、その画素列に対応する列領域を超えた範囲に及んでしまう。例えば、図２０Ａにおいて、仮に印刷画像データ上の第ｊ−１画素列の階調値を補正すると、第ｊ−１ラスタラインのドット発生が変化することになるが、その影響は、第ｊ−１列領域だけでなく、第ｊ−２列領域や第ｊ列領域にも及んでしまう。  
しかし、比較例では、第ｊ−１ラスタラインが補正されたときの第ｊ−２列領域や第ｊ列領域の影響を考慮せずに、第ｊ−２画素列や第ｊ画素列に対する補正値を決定している。このため、比較例では、各列領域の濃度を正確に補正することができず、濃度ムラを正確に補正することができない。
【０１０１】
また、ドットの大きさが列領域の幅よりも大きい場合、紙上の或る列領域は、複数のラスタラインのドット発生の変化の影響を受けてしまう。例えば、図２０Ａにおいて、第ｊ列領域は、第ｊラスタラインのドット発生の影響だけでなく、第ｊ−１ラスタラインや第ｊ＋１ラスタラインのドット発生の変化の影響を受けてしまう。  
しかし、比較例では、第ｊ列領域の輝度は、第ｊラスタラインのドット発生を補正するための補正値（第ｊ画素列の補正値）の算出に用いられるだけであり、第ｊ−１ラスタラインや第ｊ＋１ラスタラインのドット発生を補正するための補正値の算出には用いられない。このため、比較例では、各列領域の濃度を正確に補正することができず、濃度ムラを正確に補正することができない。
【０１０２】
これに対し、本実施形態では、印刷画像データ上の各画素列の階調値を補正して各ラスタラインのドット発生をそれぞれ変化させたときの読取画像データ上の画素列の単位変化量ａｉｊを読取画像データ上の画素列ごとに求めている。そして、この単位変化量ａｉｊに基づいて、読取画像データ上の各画素列の輝度が目標輝度になるように、補正値ΔＣを最適化して算出している。このため、本実施形態では、ドットの大きさが列領域の幅よりも大きい場合であっても、適切な補正値を算出することができる。
【０１０３】
＜比較例に対する本実施形態の利点２＞
ラスタラインがずれて形成される場合においても、印刷画像データ上の或る画素列の階調値を補正したときに、印刷画像上では、印刷解像度に相当する幅（例えば１／３６０インチの幅）とは異なる範囲で濃度が変化し、また、理論位置とは異なる位置で濃度が変化する。ここでは、図２０Ａに示すように、第ｊラスタラインが、第ｊ＋１ラスタラインに寄って形成されている場合について検討する。  
この場合、仮に印刷画像データ上の第ｊ画素列の階調値を補正すると、第ｊラスタラインのドット発生が変化することになるが、その影響は、第ｊ列領域だけでなく、第ｊ＋１列領域にも及んでしまう。
【０１０４】
しかし、比較例では、第ｊラスタラインが補正されたときの第ｊ＋１列領域の影響を考慮せずに、第ｊ画素列に対する補正値を決定している。このため、比較例では、各列領域の濃度を正確に補正することができず、濃度ムラを正確に補正することができない。
【０１０５】
また、この場合、紙上の第ｊ＋１列領域は、第ｊ＋１ラスタラインのドット発生の影響だけでなく、第ｊラスタラインのドット発生の影響も受けてしまう。  
しかし、比較例では、第ｊ＋１列領域の輝度は、第ｊ＋１ラスタラインのドット発生を補正するための補正値（第ｊ＋１画素列の補正値）の算出に用いられるだけであり、第ｊラスタラインのドット発生を補正するための補正値（第ｊ画素列の補正値）の算出には用いられない。このため、比較例では、各列領域の濃度を正確に補正することができず、濃度ムラを正確に補正することができない。
【０１０６】
具体的に、比較例での補正後の第ｊ＋１列領域の濃度について検討する。もし補正値ΔＣｊによる第ｊ画素列の階調値が補正されなければ、補正値ΔＣj+1による第ｊ＋１画素列の階調値の補正によって、第ｊ＋１ラスタラインのドット生成率が減り、第ｊ＋１列領域の画像片が濃くなる状態は補正できるかもしれない。しかし、補正値ΔＣｊによる第ｊ画素列の階調値が補正されると、第ｊラスタラインのドット生成率が増え、この第ｊラスタラインは第ｊ＋１ラスタラインに寄っているので、第ｊ列領域だけでなく、第ｊ＋１列領域までをも濃くしてしまう。つまり、比較例では、第ｊ＋１列領域の輝度に応じて第ｊ＋１画素列の階調値が補正されたとしても、第ｊ＋１列領域は第ｊ画素列の階調値の補正の影響も受けるため、第ｊ＋１列領域の濃度を正確に補正することができないのである。
【０１０７】
これに対し、本実施形態では、スキャナ１５０で読み取った読取画像データ上の全ての画素列の輝度が目標輝度になるように（実際には、誤差が最小になるように）、各画素列の補正値ΔＣを最適化して求めている。このため、印刷画像データ上の或る画素列を補正したときに、その補正が別の画素列に対応する列領域に悪影響を与えないようにすることができる。
【０１０８】
＜比較例に対する本実施形態の利点３＞
ところで、上記の説明では、簡略化のため、印刷画像データ上の画素列に対応する列領域と、Ｓ１０４’の解像度変換後の読取画像データの画素列に対応する列領域とが一致しているものとしている。しかし、スキャナ１５０のラインセンサの副走査方向の移動は必ずしも正確ではない。この結果、比較例において、印刷画像データ上の画素列に対応する列領域と、Ｓ１０４’の解像度変換後の読取画像データの画素列に対応する列領域とは、正確に一致しない。
【０１０９】
図２０Ｂは、比較例において、ラインセンサの副走査方向の移動が不正確な場合の影響の説明図である。ここでは説明の簡略化のため、ラスタラインは所定の列領域からズレないで形成されているものとする。  
図に示すように、印刷画像データ上の第ｊ画素列に対応する列領域（図中の実線）と、Ｓ１０４’の解像度変換後の読取画像データの第ｊ画素列に対応する列領域（図中の点線）とが一致していない。  
比較例によれば、第ｊ画素列に対する補正値ΔＣｊは、点線で示す列領域の輝度に応じて決定される。一方、この補正値ΔＣｊにより補正される画素列に対応する列領域は、図中の実線の位置に相当する。つまり、スキャナ１５０のラインセンサの副走査方向の移動が不正確な場合、比較例では、補正値を算出する際に用いられる輝度の測定位置（図中の点線）と、その補正値が適用される位置（図中の実線）とが一致しないため、正確な補正値を求めることができないおそれがある。
【０１１０】
図２０Ｃは、本実施形態の列領域の説明図である。図中の列領域は、Ｓ１０３で取得した読取画像データ上の画素列に対応する列領域を示している。  
本実施形態では、読取画像データ上の全ての画素列の輝度が目標輝度になるように（実際には、誤差が最小になるように）、各画素列の補正値ΔＣを最適化して求めている。つまり、本実施形態では、図中の全ての列領域の画像片が目標輝度になるような補正値を求めていることになる。仮にスキャナ１５０のラインセンサの副走査方向の移動が不正確な場合、図中の点線で示す列領域の位置や幅が変わるだけである。仮に列領域の位置や幅が変わったとしても、本実施形態では全ての列領域の画像片が目標輝度になるような補正値ΔＣを求めているので、濃度ムラを正確に補正できる補正値ΔＣを取得できる。
【０１１１】
加えて、本実施形態では、テストパターンをスキャナ１５０にセットするときに、テストパターンのラスタラインの方向（ｘ方向）と、スキャナ１５０の主走査方向（ラインセンサのライン方向）とを合わせている。これにより、たとえスキャナ１５０のラインセンサの副走査方向の移動が不正確であっても、輝度変化量ΔＹｉｊの算出に用いられる２個の画素列（基準ブロックの第ｉ画素列と、第ｊラスタラインが濃ラスタラインとなるブロックの第ｉ画素列）をほぼ同時に、ラインセンサが読み取ることができる。このため、スキャナ１５０のラインセンサの副走査方向の移動が不正確であっても、輝度変化量ΔＹｉｊの算出には影響が無いので、濃度ムラを正確に補正できる補正値ΔＣを取得できる。
【０１１２】
＝＝＝補正値算出の変形例＝＝＝
上記の補正値算出方法では、読取画像データ上の全ての画素列の輝度が目標輝度になるように補正値ΔＣを算出しているため、人間の目では認識できないような周波数帯域の濃度ムラまでも補正している。但し、視認できる範囲の濃度ムラを補正できれば十分である。ここでは、補正値ΔＣの算出の際に、視覚フィルタを適用した変形例について説明する。
【０１１３】
視覚フィルタとして、DooleyのＶＴＦフィルタを採用する。ｘ方向の空間周波数をｆｘ（cycle/degree）とし、ｙ方向の空間周波数をｆｙとすると、ＶＴＦフィルタは次式で表される。
【数３】
2009302608.tif 000005
【０１１４】
図２１は、DooleyのＶＴＦフィルタのグラフである。図２２は、図２１の周波数特性を持つフィルタのインパルス応答ｈ（ｔ）のグラフである。インパルス応答ｈ（ｔ）は、上式の逆フーリエ変換で求めることができる。
【０１１５】
ここでは、ｈ（ｔ）が正となる範囲（位置０からｈ（ｔ）＝０までの範囲）についてフィルタ処理を行うことにする。ｈ（ｔ）＝０となる位置は約±３７．５μｍであり、ｈ（ｔ）が正となる範囲は約７５μｍの幅である。前述の読取画像データ上の画素列の間隔は１／１４４０インチ（１７．６４μｍ）であるため、読取画像データ上の例えば第ｉ画素列を中心とした場合、図２２に示すように、第ｉ−２画素列〜第ｉ＋２画素列の範囲が、ｈ（ｔ）が正の成分を持つ範囲内になる。つまり、フィルタ処理を行うと、両側に隣接する２個ずつの画素列の影響を受けることになる。
【０１１６】
ここで、第ｉ画素列の位置でのｈ（ｔ）の値をｈ０（＝ｈ（０））とし、第ｉ−１画素列及び第ｉ＋１画素列の位置でのｈ（ｔ）の値をｈ１とし、第ｉ−２画素列及び第ｉ＋２画素列の位置でのｈ（ｔ）の値をｈ２とする。
【０１１７】
まず、補正値取得プログラムは、読取画像データ上の各画素列の輝度誤差ΔＹ（＝（ΔＹ１，ΔＹ２，…，ΔＹｍ）T、数２参照）に対してｈ（ｔ）を畳み込むことによってフィルタ処理を行い、ΔＹ’（＝（ΔＹ１’，ΔＹ２’，…，ΔＹｍ’）T）を算出する。例えば第ｉ画素列のフィルタ処理後の輝度誤差ΔＹｉ’は、以下のように算出される。
【０１１８】
ΔＹｉ’＝ΔＹi-2×ｈ２  ＋  ΔＹi-1×ｈ１  ＋  ΔＹｉ×ｈ０
＋  ΔＹi+1×ｈ１  ＋  ΔＹi+2×ｈ２
【０１１９】
次に、補正値取得プログラムは、前述の数２の行列Ａのｎ個の列（縦ベクトル、（a1j, a2j, …, amj）T）をそれぞれ抽出し、前述のΔＹに対するフィルタ処理と同様に、各列に対してそれぞれｈ（ｔ）を畳み込むことによってフィルタ処理を行う。そして、フィルタ処理後のｎ個の列によって行列Ａ’を算出する。例えば、フィルタ処理後のａｉｊは、以下のように算出される。  
ａij＝ａi-2j×ｈ２  ＋  ａi-1j×ｈ１  ＋  ａij×ｈ０
＋ａi+1j×ｈ１  ＋  ａi+2j×ｈ２
この場合、補正値ΔＣは、擬似逆行列を用いて次式で算出できる。  
ΔＣ＝（（Ａ’ＴＡ’）−１Ａ’Ｔ）ΔＹ’
このように視覚フィルタを適用して補正値を算出することにより、視認できる範囲の濃度ムラを補正できる補正値ΔＣが算出される。
【０１２０】
＝＝＝その他の実施の形態＝＝＝
上記の実施形態は、主としてプリンタについて記載されているが、その中には、印刷装置、記録装置、液体の吐出装置、印刷方法、記録方法、液体の吐出方法、印刷システム、記録システム、コンピュータシステム、プログラム、プログラムを記憶した記憶媒体、表示画面、画面表示方法、印刷物の製造方法、等の開示が含まれていることは言うまでもない。
【０１２１】
また、一実施形態としてのプリンタ等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０１２２】
＜プリンタについて１＞
前述の実施形態では、プリンタが説明されていたが、これに限られるものではない。例えば、カラーフィルタ製造装置、染色装置、微細加工装置、半導体製造装置、表面加工装置、三次元造形機、液体気化装置、有機ＥＬ製造装置（特に高分子ＥＬ製造装置）、ディスプレイ製造装置、成膜装置、ＤＮＡチップ製造装置などのインクジェット技術を応用した各種の記録装置に、本実施形態と同様の技術を適用しても良い。また、これらの方法や製造方法も応用範囲の範疇である。
【０１２３】
＜プリンタについて２＞
前述のプリンタ１は、ヘッドに対して紙が移動するプリンタである。但し、他の種類のプリンタであっても良い。例えば、移動方向に移動するキャリッジにヘッドが搭載されており、移動方向に移動するヘッドからインクを吐出する吐出動作と、搬送方向に紙を搬送する搬送動作とを交互に繰り返すシリアルプリンタであっても良い。また、ヘッドを紙面と平行な平面上で２方向に移動させて、紙に画像を印刷するようなプリンタであっても良い。
【０１２４】
＜ラスタラインについて＞
前述の各ラスタラインは、それぞれ１個のノズルから形成されている。但し、ラスタラインの形成方法は、これに限られるものではない。ラスタラインを複数個のノズルで形成しても良い。
【０１２５】
＜輝度について＞
前述の実施形態では、読取画像データ上の各画素列の輝度Ｙｉを求めている。但し、輝度ではなく、他のデータとして例えばＲＧＢ色空間の階調値やＬａｂ色空間の階調値などを求めても良い。要するに、あるドットのドット生成を変化させたときの読取画像データ上の各画素列の変化量の指標となるデータであれば、輝度に限られなくても良い。
【０１２６】
＜インクについて＞
前述の実施形態は、プリンタの実施形態だったので、染料インク又は顔料インクをノズルから吐出していた。しかし、ノズルから吐出する液体は、このようなインクに限られるものではない。例えば、金属材料、有機材料（特に高分子材料）、磁性材料、導電性材料、配線材料、成膜材料、電子インク、加工液、遺伝子溶液などを含む液体（水も含む）をノズルから吐出しても良い。
【０１２７】
＜ノズルについて＞
前述の実施形態では、圧電素子を用いてインクを吐出していた。しかし、液体を吐出する方式は、これに限られるものではない。例えば、熱によりノズル内に泡を発生させる方式など、他の方式を用いてもよい。
【０１２８】
＝＝＝まとめ＝＝＝
（１）前述の実施形態では、３６０×３６０ｄｐｉの解像度のテストパターンの印刷画像データ（印刷解像度に合わせた解像度の印刷画像データ）の各画素列の階調値（データの一例）に応じて、各ラスタライン（ドット列）が紙（媒体の一例）に形成される。例えば、印刷画像データの第１画素列データに応じて第１ラスタラインが形成され、第２画素列データに応じて第２ラスタラインが形成される。この結果、ほぼ１／３６０インチの間隔で並ぶ複数のラスタラインから構成される補正用パターンが紙に印刷される（図８のＳ１０２、図６Ａ参照）。印刷された補正用パターンの画像をスキャナ１５０に読み取らせることによって、補正値算出プログラムは、読取画像データを取得する（Ｓ１０３、図６Ｂ参照）。そして、読取画像データの各画素列の階調値に基づいて、印刷画像データの画素列ごとに補正値をそれぞれ算出している。  
ところで、印刷画像データ上の画素列の位置（階調値を制御する位置）と、印刷画像上のドット列の位置（濃度の変化する位置）とは、厳密には一致していない。このため、印刷画像データ上の或る画素列の階調値を補正したとき、印刷画像上では、印刷解像度に相当する幅（例えば１／３６０インチの幅）とは異なる範囲で濃度が変化し、また、理論位置とは異なる位置で濃度が変化する。このような状況下では、比較例のように基準階調値だけでテストパターンを印刷したのでは、各列領域の濃度を正確に補正することができず、濃度ムラを正確に補正することができない。  
そこで、前述の実施形態では、印刷画像データ上の画素列の階調値を補正してラスタラインのドット発生を変化させたときの読取画像データ上の画素列の単位変化量ａｉｊを算出することができるテストパターンを印刷することにしている。具体的には、前述のテストパターンの補正用パターンは、基準階調値に応じて形成された２４個のラスタラインから構成される基準ブロック（基準パターン）だけでなく、濃ラスタライン（比較ドット列の一例）を含む第１ブロック（比較パターンの一例）を有している（図７Ａ、図７Ｂ、図９参照）。  
また、前述の実施形態では、濃ラスタラインに隣接させて、基準階調値に応じて形成されたラスタライン（基準ドット列）が形成されている。もし仮に濃ラスタライン同士が隣接して形成されてしまうと、輝度の変化量を検出できたとしても、どのラスタラインのドット発生変化による影響なのかを特定することができなくなるため、その結果、単位変化量ａｉｊを算出することができなくなるからである。  
このようなテストパターンを形成する前述の実施形態では、単位変化量ａｉｊを算出することができるので、正確な補正値を算出することが可能になる。  
なお、前述の実施形態では、第１ブロック〜第４ブロックに濃ラスタラインを形成しているが、淡ラスタライン（比較ドット列の他の例）を形成しても良い。
【０１２９】
（２）前述の実施形態では、印刷画像上の補正用パターンは、第１ブロック〜第４ブロックを有している。各ブロックは、４個のラスタラインおきに形成された計６個の濃ラスタラインを有している。そして、各ブロックの濃ラスタラインは、ｙ方向の位置が全て異なっている。  
補正用パターンの構成をこのようにすることで、小さな補正用パターンによって、全てのラスタラインのドット形成をそれぞれ変化させたときの読取画像データの画素列の輝度の単位変化量ａｉｊを算出することができる。  
なお、前述の実施形態では４個であった比較パターンを２４個にし、各比較パターンにそれぞれ１個の濃ラスタラインを形成するようにしても、単位変化量ａｉｊを求めることができる。但し、この場合、多くの比較パターンを必要とするため、テストパターンが大きくなってしまう。
【０１３０】
（３）ところで、読取画像データ上の列領域の濃度（輝度）が、１個のラスタラインだけでなく、複数のラスタラインの影響を受けることがある。このような場合に、比較例のような補正値算出方法では、各列領域の濃度を正確に補正することができない。  
そこで、前述の実施形態では、特定の画素列（或る画素列）の輝度を目標輝度にするための条件に着目し、この条件を満たすように補正値ΔＣを算出する。例えば、第ｉ画素列の輝度が３個のラスタライン（第ｊ−１ラスタライン、第ｊラスタライン及び第ｊ＋１ラスタライン）のドット発生の変化の影響を受ける場合、以下の条件を満たすように、補正値ΔＣj-1、ΔＣｊ、ΔＣj+1を算出する。（次式中の単位変化量ａij-1、ａij及びａij+1のうちのいずれかの単位変化量が「第１変化量」に相当し、他の単位変化量が「第２変化量」に相当する。）  
ΔＹｉ−（ａij-1×ΔＣj-1＋ａij×ΔＣj＋ａij+1×ΔＣj+1）＝０  
これにより、比較例と比べて、適切な補正値を算出できる。
【０１３１】
（４）前述の実施形態では、補正値を算出する際に、第ｊラスタラインのドット発生変化に対する読取画像データ上の第ｉ画素列の単位変化量ａｉｊを求めている（ｉ＝1, 2, …m であり、ｍは読取画像データの画素列の数である。ｊ＝1, 2, …n であり、ｎは印刷画像のラスタラインの数である。）。そして、単位変化量をａｉｊに基づいて、読取画像データの各画素列の輝度が目標輝度になるように、誤差が最小となる補正値ΔＣを最適化して求めている。これにより、印刷画像全体において濃度ムラを抑制できる。
【０１３２】
（５）前述の変形例では、読取画像データ上の各画素列の輝度誤差ΔＹ（＝（ΔＹ１，ΔＹ２，…，ΔＹｍ）T、数２参照）、及び、前述の数２の行列Ａのｎ個の各列（縦ベクトル、（a1j, a2j, …, amj）T）に対して視覚フィルタを適用し、視覚フィルタ処理後のΔＹ’及びＡ’に基づいて補正値ΔＣを算出している。これにより、視認できる範囲の濃度ムラを補正できる補正値ΔＣが算出される。  
前述の変形例では、特定の成分の濃度ムラを抽出するフィルタとして視覚フィルタを用いたが、他のフィルタであっても良い。例えば、ある画素列と、その画素列の両側に隣接する画素列との計３個の画素列との間で平均化を行う平均化フィルタであっても良い。また、ローパスフィルタであっても良い。
【０１３３】
（６）前述の実施形態では、テストパターンをスキャナ１５０にセットするときに、テストパターンのラスタラインの方向（ｘ方向）と、スキャナ１５０の主走査方向（ラインセンサのライン方向）とを合わせている。これにより、たとえスキャナ１５０のラインセンサの副走査方向の移動が不正確であっても、輝度変化量ΔＹｉｊの算出に用いられる２個の画素列（基準ブロックの第ｉ画素列と、第ｊラスタラインが濃ラスタラインとなるブロックの第ｉ画素列）をほぼ同時に、ラインセンサが読み取ることができる。  
これにより、スキャナ１５０のラインセンサの副走査方向の移動が不正確であっても、単位変化量ａｉｊの算出には影響が無いので、濃度ムラを正確に補正できる補正値ΔＣを取得できる。
【０１３４】
（７）前述の実施形態では、ラスタラインを構成するドットの大きさが、印刷解像度である１／３６０インチよりも大きい。このような場合、ドットの大きさが列領域の幅よりも大きくなり、比較例では補正値を正確に算出できない。一方、前述の実施形態によれば、適切な補正値を算出することが可能である。  
なお、前述の実施形態では、ドットの大きさが列領域の幅よりも大きかったが、これに限られるものではない。ドットの大きさが列領域の幅より小さい場合であっても、ラスタラインがずれて形成されるような場合には、比較例では補正値を正確に算出できないが、前述の実施形態の補正値算出方法によれば、適切な補正値を算出することが可能である。  
なお、前述の実施形態では、読取画像データの読取解像度が１４４０×１４４０ｄｐｉであり、印刷解像度の３６０×３６０ｄｐｉよりも高解像度である。前述の実施形態によれば、高解像度で読み取られた読取画像データの各画素列の輝度が目標輝度になるように補正値ΔＣを算出しているため、濃度ムラを高精度に抑制することができる。  
但し、読取解像度は、印刷解像度より高解像度でなくても良い。例えば、読取解像度が印刷解像度と同じ解像度であっても良い。
【０１３５】
（８）前述の補正値算出方法によって得られた補正値を用いてプリンタが画像（印刷対象の画像）を印刷すれば、濃度ムラが軽減された印刷画像が得られる。
【図面の簡単な説明】
【０１３６】
【図１】用語の説明図である。
【図２】プリンタ１の全体構成のブロック図である。
【図３】プリンタ１の搬送処理とドット形成処理を説明するための斜視図である。
【図４】ヘッドユニット４０の下面における複数のヘッドの配列の説明図である。
【図５】簡略説明用のヘッド配置とドット形成の様子の説明図である。
【図６】図６Ａ〜図６Ｃは、テストパターンを印刷してからプリンタ１に補正値を記憶させるまでの間の様子の説明図である。
【図７】図７Ａは、テストパターンの印刷画像データの説明図である。図７Ｂは、第３補正用パターンの印刷画像データの説明図である。
【図８】補正値取得処理のフロー図である。
【図９】ハーフトーン処理後の印刷画像データの概念図である。
【図１０】読取画像データ上の第３補正用パターンの説明図である。
【図１１】各画素列の輝度の算出の様子の説明図である。
【図１２】図１２Ａは、読取画像データ上の基準ブロックの輝度のグラフである。図１２Ｂは、読取画像データ上の第４ブロックの輝度のグラフである。
【図１３】基準ブロックの輝度のグラフと目標輝度Ｙｔとの関係の説明図である。
【図１４】補正値テーブルの説明図である。
【図１５】プリンタドライバが行う印刷処理のフロー図である。
【図１６】画素データの階調値の補正の説明図である。
【図１７】図１７Ａは、比較例のテストパターンの印刷画像データの説明図である。図１７Ｂは、比較例の補正用パターンの印刷画像データの説明図である。
【図１８】比較例の補正値取得処理のフロー図である。
【図１９】図１９Ａ及び図１９Ｂは、第ｊ画素列の基準階調値Ｓｂの補正値ΔＣｊ_bの説明図である。
【図２０】図２０Ａは、印刷されたテストパターンの基準ブロックのラスタラインと、列領域との位置関係の説明図である。図２０Ｂは、比較例において、ラインセンサの副走査方向の移動が不正確な場合の影響の説明図である。図２０Ｃは、本実施形態の列領域の説明図である。
【図２１】DooleyのＶＴＦフィルタのグラフである。
【図２２】図２１の周波数特性を持つフィルタのインパルス応答ｈ（ｔ）のグラフである。
【符号の説明】
【０１３７】
１  プリンタ、
２０  搬送ユニット、２２Ａ  上流側ローラ、２２Ｂ  下流側ローラ、２４  ベルト、
４０  ヘッドユニット、４１  ヘッド、４１Ａ  第１ヘッド、４１Ｂ  第２ヘッド、
４１１  第１ノズル群、４１２  第２ノズル群、５０  検出器群、
６０  コントローラ、６１  インターフェース部、６２  ＣＰＵ、６３  メモリ、
６４  ユニット制御回路、
１１０  コンピュータ、１５０  スキャナ
【図１】
2009302608.tif 000006
【図２】
2009302608.tif 000007
【図３】
2009302608.tif 000008
【図４】
2009302608.tif 000009
【図５】
2009302608.tif 000010
【図６】
2009302608.tif 000011
【図８】
2009302608.tif 000012
【図９】
2009302608.tif 000013
【図１１】
2009302608.tif 000014
【図１２】
2009302608.tif 000015
【図１３】
2009302608.tif 000016
【図１４】
2009302608.tif 000017
【図１５】
2009302608.tif 000018
【図１６】
2009302608.tif 000019
【図１８】
2009302608.tif 000020
【図１９】
2009302608.tif 000021
【図２０】
2009302608.tif 000022
【図２１】
2009302608.tif 000023
【図２２】
2009302608.tif 000024
【図７】
2009302608.tif 000025
【図１０】
2009302608.tif 000026
【図１７】
2009302608.tif 000027