(57)【要約】【課題】ハーフトーン処理後のデータの補正を目的とする。【解決手段】媒体に流体を噴射するノズルが所定方向に並ぶノズル列と媒体とを前記所定方向と交差する方向に相対移動させながら、第１階調数の画素データに基づいて前記ノズル列から流体を噴射する流体噴射装置において、前記画素データを補正する方法であって、前記第１階調数の元画素データを、前記第１階調数よりも高い第２階調数の画素データに変換することと、前記画素データ上において前記交差する方向と対応する方向に並ぶ複数の前記画素データである画素列データごとに設定された補正値によって、階調数が変換された前記第２階調数の画素データを補正することと、前記補正値によって補正された前記第２階調数の画素データを前記第１階調数の画素データに変換することと、を有することを特徴とする画素データの補正方法である。【選択図】図１２
2010228227.tif 000002
【特許請求の範囲】
【請求項１】
媒体に流体を噴射するノズルが所定方向に並ぶノズル列と媒体とを前記所定方向と交差する方向に相対移動させながら、第１階調数の画素データに基づいて前記ノズル列から流体を噴射する流体噴射装置において、前記画素データを補正する方法であって、
前記第１階調数の元画素データを、前記第１階調数よりも高い第２階調数の画素データに変換することと、
前記画素データ上において前記交差する方向と対応する方向に並ぶ複数の前記画素データである画素列データごとに設定された補正値によって、階調数が変換された前記第２階調数の画素データを補正することと、
前記補正値によって補正された前記第２階調数の画素データを前記第１階調数の画素データに変換することと、
を有することを特徴とする画素データの補正方法。
【請求項２】
請求項１に記載の画素データの補正方法であって、
前記第１階調数の前記元画素データから階調数が変換された前記第２階調数の元画素データにおいて、
前記第２階調数の前記元画素データの中で着目する前記元画素データの示す階調値を、着目する前記元画素データ及び着目する前記元画素データの周辺の前記元画素データに分配することによって、前記第２階調数の平均値化画素データを算出し、
前記第２階調数の前記平均値化画素データに対応する補正値を決定し、
決定した前記補正値によって、前記第２階調数の前記元画素データを補正する、
画素データの補正方法。
【請求項３】
請求項１に記載の画素データの補正方法であって、
前記第１階調数の前記元画素データから階調数が変換された前記第２階調数の元画素データにおいて、
前記第２階調数の前記元画素データの中で着目する前記元画素データの示す階調値を、着目する前記元画素データ及び着目する前記元画素データの周辺の前記元画素データに分配することによって、前記第２階調数の平均値化画素データを算出し、
前記第２階調数の前記平均値化画素データに対応する補正値を決定し、
決定した前記補正値によって、前記第２階調数の前記平均値化画素データを補正する、
画素データの補正方法。
【請求項４】
請求項２または請求項３に記載の画素データの補正方法であって、
前記補正値は、前記第２階調数における複数の階調値に対して設定されている、
画素データの補正方法。
【請求項５】
請求項２から請求項４のいずれか一項に記載の画素データの補正方法であって、
着目する前記第２階調数の前記元画素データの示す階調値を、着目する前記元画素データ及び着目する前記元画素データの周辺の前記元画素データに分配する際に、
着目する前記元画素データから第１の距離を離れた前記元画素データに分配する前記階調値の方が、着目する前記元画素データから前記第１の距離よりも長い第２の距離を離れた前記元画素データに分配する階調値よりも多い、
画素データの補正方法。
【請求項６】
請求項１に記載の画素データの補正方法であって、
前記第１階調数の前記元画素データから階調数が変換された前記第２階調数の元画素データに対応する前記補正値を決定し、
決定した前記補正値によって、前記第２階調数の前記元画素データを補正する、
画素データの補正方法。
【請求項７】
請求項１から請求項６のいずれか一項に記載の画素データの補正方法であって、
前記補正値によって補正された前記第２階調数の画素データを前記第１階調数の画素データに変換する際に、
補正された前記第２階調数の画素データの中で着目する前記画素データの示す階調値に対応するドット生成率に関する値と閾値とを比較して、着目する前記画素データにおけるドット生成の有無を決定し、
前記ドット生成率に関する値と前記閾値の差を、着目する前記画素データの周辺の前記画素データに分配する、
画素データの補正方法。
【請求項８】
（１）媒体に流体を噴射するノズルが所定方向に並ぶノズル列と、
（２）前記ノズル列と媒体とを前記所定方向と交差する方向に相対移動させる移動機構と、
（３）前記移動機構によって前記ノズル列と前記媒体とを前記交差する方向に相対移動させながら、第１階調数の画素データに基づいて前記ノズル列から流体を噴射させる制御部であって、
前記第１階調数の元画素データを、前記第１階調数よりも高い第２階調数の画素データに変換し、
前記画素データ上において前記交差する方向と対応する方向に並ぶ複数の前記画素データである画素列データごとに設定された補正値によって、階調数が変換された前記第２階調数の画素データを補正し、
前記補正値によって補正された前記第２階調数の画素データを前記第１階調数の画素データに変換する制御部と、
（４）を有することを特徴とする流体噴射装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画素データの補正方法、及び、流体噴射装置に関する。
【背景技術】
【０００２】
流体噴射装置の１つとして、紙や布、フィルムなどの各種媒体にノズルからインクを噴射して印刷を行うインクジェットプリンター（以下、プリンター）がある。ユーザーが形成した画像データは高い階調数で表現される。そのため、プリンタードライバーによって、高い階調数のデータをプリンターが形成可能な低い階調数のデータにハーフトーン処理する。そして、ハーフトーン処理されたデータに基づいてプリンターが印刷を行う。
【０００３】
また、このようなプリンターでは、ノズルの加工精度等の問題により、媒体上の正しい位置にインク滴が着弾しなかったり、インク噴射量にばらつきが生じたりしてしまい、濃度むらが発生する場合がある。例えば、あるノズルからのインク滴が飛行曲がりする場合に、そのノズルによって形成される画像片だけでなく、その画像片と隣接する画像片の濃度にも影響を及ぼす。また、印刷方法によっては、あるノズルに形成される画像片と隣接する画像片を形成するノズルが毎回同じノズルとは限らない。そのため、単にノズルに対応付けた補正値では濃度むらを抑制することができない。
【０００４】
そこで、画像片が形成される媒体上の領域（以下、列領域）ごとに補正値を算出する方法が提案されている（例えば、特許文献１を参照）。この補正値は、ハーフトーン処理前の高い階調数のデータに対して濃度補正処理を行うための補正値である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
プリンタードライバーによって濃度補正処理とハーフトーン処理がなされたデータがプリンターに送信されるに限らず、他のアプリケーションプログラムによって、濃度補正処理はなされていないが、ハーフトーン処理はなされたデータが、プリンターに送信される場合がある。濃度補正処理を行うための補正値は、ハーフトーン処理前の高い階調数のデータに対して使用するため、ハーフトーン処理後の低い階調数のデータに適用できないという課題が発生した。  
そこで、本発明はハーフトーン処理後のデータの補正を目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決する為の主たる発明は、媒体に流体を噴射するノズルが所定方向に並ぶノズル列と媒体とを前記所定方向と交差する方向に相対移動させながら、第１階調数の画素データに基づいて前記ノズル列から流体を噴射する流体噴射装置において、前記画素データを補正する方法であって、前記第１階調数の元画素データを、前記第１階調数よりも高い第２階調数の画素データに変換することと、前記画素データ上において前記交差する方向と対応する方向に並ぶ複数の前記画素データである画素列データごとに設定された補正値によって、階調数が変換された前記第２階調数の画素データを補正することと、前記補正値によって補正された前記第２階調数の画素データを前記第１階調数の画素データに変換することと、を有することを特徴とする画素データの補正方法である。  
本発明の他の特徴は、本明細書、及び添付図面の記載により、明らかにする。
【図面の簡単な説明】
【０００８】
【図１】図１Ａはプリンターの全体構成ブロック図であり、図１Ｂはプリンターの一部の斜視図である。
【図２】ヘッドの下面におけるノズル配列を示す図である。
【図３】図３Ａ及び図３Ｂは、通常印刷の説明図である。
【図４】先端印刷及び後端印刷の説明図である。
【図５】図５Ａは理想的にドットが形成されたときの説明図であり、図５Ｂは濃度むらが発生したときの説明図であり、図５Ｃは補正値によってドットが形成されたときの様子の説明図である。
【図６】図６Ａはテストパターンを示す図であり、図６Ｂは補正用パターンを示す図である。
【図７】シアンの補正用パターンをスキャナーで読み取った結果である。
【図８】図８Ａ及び図８Ｂは濃度むら補正値の算出方法を示す図である。
【図９】補正値テーブルを示す図である。
【図１０】各階調値に対応した補正値を算出する様子を示す図である。
【図１１】図１１Ａは比較例の濃度補正処理（印刷処理）のフローであり、図１１Ｂは本実施形態の濃度補正処理（印刷処理）のフローである。
【図１２】図１２Ａはドット生成率テーブルの説明図であり、図１２Ｂはディザ法によるドットのオン・オフ判定の様子を示す図であり、図１２Ｃは誤差拡散法の様子を示す図である。
【図１３】実施例１における画素データの変化を示す図である。
【図１４】４階調の元データを高階調値化する様子を示す図である。
【図１５】２５６階調の元データを平均値化する様子を示す図である。
【図１６】補正値が決定される様子を示す図である。
【図１７】図１７Ａはハーフトーン処理される前の画素データを示す図であり、図１７Ｂは濃度むら補正値Ｈの違いを示す図である。
【図１８】図１８Ａは平均値化する際に重み付けを行わない様子を示す図であり、図１８Ｂは列領域ごとに平均値化する様子を示す図である。こ
【図１９】補正値により２５６階調の元データを補正する図である。
【図２０】実施例２における画素データの変化を示す図である。
【図２１】実施例３における画素データの変化を示す図である。
【発明を実施するための形態】
【０００９】
＝＝＝開示の概要＝＝＝
本明細書の記載、及び添付図面の記載により、少なくとも次のことが明らかとなる。
【００１０】
即ち、媒体に流体を噴射するノズルが所定方向に並ぶノズル列と媒体とを前記所定方向と交差する方向に相対移動させながら、第１階調数の画素データに基づいて前記ノズル列から流体を噴射する流体噴射装置において、前記画素データを補正する方法であって、前記第１階調数の元画素データを、前記第１階調数よりも高い第２階調数の画素データに変換することと、前記画素データ上において前記交差する方向と対応する方向に並ぶ複数の前記画素データである画素列データごとに設定された補正値によって、階調数が変換された前記第２階調数の画素データを補正することと、前記補正値によって補正された前記第２階調数の画素データを前記第１階調数の画素データに変換することと、を有することを特徴とする画素データの補正方法である。  
このような画素データの補正方法によれば、ハーフトーン処理後のデータに対して、例えば濃度むら補正を行うことができる。
【００１１】
かかる画素データの補正方法であって、前記第１階調数の前記元画素データから階調数が変換された前記第２階調数の元画素データにおいて、前記第２階調数の前記元画素データの中で着目する前記元画素データの示す階調値を、着目する前記元画素データ及び着目する前記元画素データの周辺の前記元画素データに分配することによって、前記第２階調数の平均値化画素データを算出し、前記第２階調数の前記平均値化画素データに対応する補正値を決定し、決定した前記補正値によって、前記第２階調数の前記元画素データを補正すること。  
このような補正方法によれば、ユーザーからの画像データの示す第２階調数の画素データに対応する補正値に近い補正値によって、第２階調数の元画素データを補正でき、また、再び第１階調数に変換した画素データにおいて、第１階調数の元画素データと出来る限り同じ画素データが流体を噴射する画素データに変換されるようにすることができる。
【００１２】
かかる画素データの補正方法であって、前記第１階調数の前記元画素データから階調数が変換された前記第２階調数の元画素データにおいて、前記第２階調数の前記元画素データの中で着目する前記元画素データの示す階調値を、着目する前記元画素データ及び着目する前記元画素データの周辺の前記元画素データに分配することによって、前記第２階調数の平均値化画素データを算出し、前記第２階調数の前記平均値化画素データに対応する補正値を決定し、決定した前記補正値によって、前記第２階調数の前記平均値化画素データを補正すること。  
このような画素データの補正方法によれば、ユーザーからの画像データの示す第２階調数の画素データに対応する補正値に近い補正値によって、第２階調数の平均値化画素データを補正できる。
【００１３】
かかる画素データの補正方法であって、前記補正値は、前記第２階調数における複数の階調値に対して設定されていること。  
このような画素データの補正方法によれば、階調値に応じた補正値によって画素データを補正できる。
【００１４】
かかる画素データの補正方法であって、着目する前記第２階調数の前記元画素データの示す階調値を、着目する前記元画素データ及び着目する前記元画素データの周辺の前記元画素データに分配する際に、着目する前記元画素データから第１の距離を離れた前記元画素データに分配する前記階調値の方が、着目する前記元画素データから前記第１の距離よりも長い第２の距離を離れた前記元画素データに分配する階調値よりも多いこと。  
このような画素データの補正方法によれば、着目する画素データに近い画素データほど、着目する画素データの影響を大きくして、平均値化することができる。
【００１５】
かかる画素データの補正方法であって、前記第１階調数の前記元画素データから階調数が変換された前記第２階調数の元画素データに対応する前記補正値を決定し、決定した前記補正値によって、前記第２階調数の前記元画素データを補正すること。  
このような画素データの補正方法によれば、補正時間を短縮できる。
【００１６】
かかる画素データの補正方法であって、前記補正値によって補正された前記第２階調数の画素データを前記第１階調数の画素データに変換する際に、補正された前記第２階調数の画素データの中で着目する前記画素データの示す階調値に対応するドット生成率に関する値と閾値とを比較して、着目する前記画素データにおけるドット生成の有無を決定し、前記ドット生成率に関する値と前記閾値の差を、着目する前記画素データの周辺の前記画素データに分配すること。  
このような画素データの補正方法によれば、補正値による画素データの補正を画像に反映させることができる。
【００１７】
また、（１）媒体に流体を噴射するノズルが所定方向に並ぶノズル列と、（２）前記ノズル列と媒体とを前記所定方向と交差する方向に相対移動させる移動機構と、（３）前記移動機構によって前記ノズル列と前記媒体とを前記交差する方向に相対移動させながら、第１階調数の画素データに基づいて前記ノズル列から流体を噴射させる制御部であって、前記第１階調数の元画素データを、前記第１階調数よりも高い第２階調数の画素データに変換し、前記画素データ上において前記交差する方向と対応する方向に並ぶ複数の前記画素データである画素列データごとに設定された補正値によって、階調数が変換された前記第２階調数の画素データを補正し、前記補正値によって補正された前記第２階調数の画素データを前記第１階調数の画素データに変換する制御部と、（４）を有することを特徴とする流体噴射装置である。  
このような流体噴射装置によれば、ハーフトーン処理後のデータに対して、例えば濃度むら補正を行うことができる。
【００１８】
＝＝＝印刷システムについて＝＝＝
以下、流体噴射装置としてインクジェットプリンター（以下、プリンター１）を例に挙げ、プリンター１とコンピューター６０が接続された印刷システムについて説明する。
【００１９】
図１Ａは、本実施形態のプリンター１の全体構成ブロック図であり、図１Ｂは、プリンター１の一部の斜視図である。外部装置であるコンピューター６０から印刷データを受信したプリンター１は、コントローラー１０により、各ユニット（搬送ユニット２０、キャリッジユニット３０、ヘッドユニット４０）を制御し、用紙Ｓ（媒体）に画像を形成する。また、プリンター１内の状況を検出器群５０が監視し、その検出結果に基づいて、コントローラー１０は各ユニットを制御する。
【００２０】
コントローラー１０は、プリンター１の制御を行うための制御ユニットである。インターフェース部１１は、外部装置であるコンピューター６０とプリンター１との間でデータの送受信を行うためのものである。ＣＰＵ１２は、プリンター１全体の制御を行うための演算処理装置である。メモリー１３は、ＣＰＵ１２のプログラムを格納する領域や作業領域等を確保するためのものである。ＣＰＵ１２は、ユニット制御回路１４により各ユニットを制御する。
【００２１】
搬送ユニット２０は、用紙Ｓを印刷可能な位置に送り込み、印刷時に搬送方向（所定方向に相当）に所定の搬送量で用紙Ｓを搬送させるためのものである。  
キャリッジユニット３０（移動機構）は、ヘッド４１を搬送方向と交差する方向（以下、移動方向という、所定方向と交差する方向に相当）に移動させるためのものである。  
ヘッドユニット４０は、用紙Ｓにインクを噴射するためのものであり、ヘッド４１有する。ヘッド４１の下面にはインク噴射部であるノズルが複数設けられている。また、各ノズルに対応付けられたピエゾ素子を駆動することによって、ノズルからインクが噴射される。
【００２２】
図２は、ヘッド４１の下面におけるノズル配列を示す図である。１８０個のノズル（＃１〜＃１８０）が所定のノズルピッチｋ・Ｄにて搬送方向に並んだノズル列が形成されている。ヘッド４１には４つのノズル列が形成され、それぞれ異なる色のインクを噴射する。本実施形態のヘッド４１では、イエローインクを噴射するイエローノズル列Ｙと、マゼンタインクを噴射するマゼンタノズル列Ｍと、シアンインクを噴射するシアンノズル列Ｃと、ブラックインクを噴射するブラックノズル列Ｋと、を有する。
【００２３】
このような構成のシリアル式のプリンター１では、印刷データに基づいて、キャリッジユニット３０によって移動方向に移動するヘッド４１からインクを断続的に噴射させて用紙Ｓ上に移動方向に沿うドット列（ラスタライン）を形成するドット形成動作と、搬送ユニット２０によって用紙Ｓを搬送方向に搬送する搬送動作と、を交互に繰り返す。その結果、先のドット形成動作により形成されたドットの位置とは異なる位置にドットを形成することができ、用紙上に２次元の画像を形成することが出来る。
【００２４】
＜印刷データについて＞
コンピューター６０からプリンター１に送信される印刷データは、コンピューター６０のメモリーに記憶されているプリンタードライバーに従って作成される。以下、印刷データの作成処理の概要について説明する。
【００２５】
まず、解像度変換処理にて、各種アプリケーションプログラムから出力された画像データを用紙Ｓに印刷する際の解像度に変換する。解像度変換処理後の画像データはＲＧＢ色空間により表される２５６階調のＲＧＢデータである。なお、複数の画素データが集まって画像データを構成している。  
次に色変換処理にて、ＲＧＢデータをプリンター１のインクに対応したＣＭＹＫデータに変換する。  
その後、ハーフトーン処理にて、高い階調数の２５６階調のデータをプリンター１が形成可能な低い階調数のデータに変換する。本実施形態のプリンター１は３種類のドットを形成可能とするため４階調のデータに変換する。  
最後に、ラスタライズ処理にて、マトリクス状の画像データをプリンター１に転送すべき順にデータごとに並べ替える。  
これらの処理を経たデータは、印刷方式に応じたコマンドデータ（搬送量など）と共に、印刷データとしてプリンタードライバーによりプリンター１に送信される。
【００２６】
＝＝＝インターレース印刷について＝＝＝
本実施形態のプリンター１は、通常、インターレース印刷を行うとする。インターレース印刷では、１回のパスで記録されるラスタライン間に、他のパスのラスタラインが形成される。インターレース印刷では、印刷の始めと終わりの印刷方法が通常と異なるため、通常印刷と先端印刷及び後端印刷とに分けて説明する。
【００２７】
図３Ａ及び図３Ｂは、通常印刷の説明図である。図３Ａはパスｎ〜パスｎ＋３の様子を示し、図３Ｂはパスｎ〜パスｎ＋４の様子を示す。説明の便宜上、ノズル列のノズル数を少なくし、また、ノズル列と用紙Ｓとの相対位置を示すためにヘッド４１（ノズル列）が用紙Ｓに対して移動しているように描く。同図において、黒丸で示されたノズルはインク噴射ノズルであり、白丸で示されたノズルはインク非噴射ノズルである。また、同図において、黒丸で示されたドットは、最後のパスで形成されたドットであり、白丸で示されたドットは、それ以前のパスで形成されたドットである。
【００２８】
インターレース印刷の通常印刷では、用紙Ｓが搬送方向に一定の搬送量Ｆで搬送されるごとに、各ノズルが、その直前のパスで記録されたラスタラインの直ぐ上（先端側）のラスタラインを記録する。このように搬送量を一定にして記録を行うためには、（１）インクを吐出可能なノズル数Ｎ（整数）はｋ（ノズルピッチｋ・Ｄ）と互いに素の関係にあること、（２）搬送量ＦはＮ・Ｄに設定されること、が条件となる。ここでは、Ｎ＝７、ｋ＝４で、Ｆ＝７・Ｄである。しかし、これでは、印刷の始めと終わりに、ラスタラインを形成されない箇所がある。その為、先端印刷及び後端印刷では、通常印刷とは異なる印刷方法を行う。
【００２９】
図４は、先端印刷及び後端印刷の説明図である。最初の５回のパスが先端印刷であり、最後の５回のパスが後端印刷である。先端印刷では、通常印刷時の搬送量（７・Ｄ）よりも少ない搬送量（１・Ｄ又は２・Ｄ）にて、用紙Ｓが搬送される。そして、先端印刷と後端印刷では、インクを噴射するノズルが一定していない。これにより、印刷の初めと終わりにも、搬送方向に連続して並ぶ複数のラスタラインを形成することができる。また、先端印刷では３０本のラスタラインが形成され、後端印刷でも３０本のラスタラインが形成される。これに対し、通常印刷では、用紙Ｓの大きさにもよるが、およそ数千本のラスタラインが形成される。
【００３０】
通常印刷により印刷される領域（以下、通常印刷領域）のラスタラインの並び方には、インク噴射可能なノズル数（ここではＮ＝７個）と同じ数のラスタラインごとに規則性がある。通常印刷で最初に形成されたラスタラインから７番目までのラスタラインは、それぞれ、ノズル♯３、♯５、♯７、♯２、♯４、♯６、♯８、により形成され、次の８番目以降の７本のラスタラインも、これと同じ順序の各ノズルで形成されている。一方、先端印刷により印刷される領域（以下、先端印刷領域）及び後端印刷により印刷される領域（以下、後端印刷領域）のラスタラインの並びには、通常印刷領域のラスタラインと比べると、規則性を見出し難い。
【００３１】
＝＝＝濃度むらについて＝＝＝
以下の説明のため、「画素領域」と「列領域」を設定する。「画素領域」とは用紙Ｓ上に仮想的に定められた矩形状の領域を指し、印刷解像度に応じて大きさが決定する。用紙Ｓ上の１つの「画素領域」と画像データ上の１つの「画素データ」が対応する。また、「列領域」とは移動方向に並ぶ複数の画素領域によって構成される領域である。「列領域」は、画像データ上の複数の画素データが移動方向に対応する方向に沿って並ぶ「画素列データ」と対応する。
【００３２】
図５Ａは、理想的にドットが形成されたときの説明図である。理想的にドットが形成されるとは、画素領域の中心に規定量のインク滴が着弾し、ドットが形成されることである。
【００３３】
図５Ｂは、濃度むらが発生したときの説明図である。２番目の列領域に形成されたラスタラインは、ノズルから吐出されたインク滴の飛行曲がりにより、３番目の列領域側に寄って形成される。その結果、２番目の列領域は淡くなり、３番目の列領域は濃くなる。一方、５番目の列領域に吐出されたインク滴のインク量は規定量よりも少なく、５番目の列領域に形成されるドットが小さくなっている。その結果、５番目の列領域は淡くなる。このように濃淡の違う列領域からなる画像を巨視的に見ると、キャリッジの移動方向に沿う縞状の濃度むらが視認される。
【００３４】
図５Ｃは、本実施形態で使用する補正値（後述）によってドットが形成されたときの様子の説明図である。濃く視認されやすい列領域に対しては、淡く画像片が形成されるように、その列領域に対応する画素データの示す階調値を補正する。また、淡く視認されやすい列領域に対しては、濃く画像片が形成されるように、その列領域に対応する画素データの示す階調値を補正する。例えば、淡く視認される２番目と５番目の列領域のドット発生率を高くし、濃く視認される３番目の列領域のドット発生率が低くする。そうすることで、画像の濃度むらを抑制できる。
【００３５】
ここで、図５Ｂにおいて、３番目の列領域に形成される画像片の濃度が濃くなる理由は、３番目の列領域にラスタラインを形成するノズルの影響によるものではなく、隣接する２番目の列領域にラスタラインを形成するノズルの影響によるものである。このため、３番目の列領域にラスタラインを形成するノズルが別の列領域にラスタラインを形成する場合、その列領域に形成される画像片が濃くなるとは限らない。図３及び図４に示すインターレース印刷においても、あるノズルに割り当てられる列領域に隣接する列領域が毎回同じノズルとは限らない。
【００３６】
つまり、同じノズルにより形成された画像片であっても、隣接する画像片を形成するノズルが異なれば、濃度が異なる場合がある。このような場合、単にノズルに対応付けた補正値では、濃度むらを抑制することができない。そこで、本実施形態では、列領域ごと（画素列データごと）に濃度むら補正値Ｈを設定する。
【００３７】
＝＝＝濃度むら補正値Ｈについて＝＝＝
濃度むらはノズルの加工精度等の問題により発生するため、列領域ごと（画素列データごと）の補正値Ｈは、プリンター１の製造工程などにおいて、プリンター１ごとに算出する。補正値Ｈを算出するプリンター１には、スキャナーとコンピューターが接続される。そして、コンピューターには、テストパターン（後述）をプリンター１に印刷させるためのプリンタードライバーと、スキャナーが読み取った読取データに基づいて補正値Ｈを算出するための補正値取得プログラムがインストールされている。以下、補正値Ｈの取得方法について説明する。
【００３８】
＜テストパターンの印刷＞
図６Ａは、テストパターンを示す図であり、図６Ｂは、補正用パターンを示す図である。テストパターンは、異なる色のノズル列ごと（シアン・マゼンタ・イエロー・ブラック）に形成された４つの補正用パターンによって構成される。各補正用パターンは３種類の濃度の帯状パターンから構成される。帯状パターンはそれぞれ一定の階調値の画像データから生成されたものである。帯状パターンを形成するための階調値を指令階調値と呼び、濃度３０％の帯状パターンの指令階調値をＳａ（７６）、濃度５０％の帯状パターンの指令階調値をＳｂ（１２８）、濃度７０％の帯状パターンの指令階調値をＳｃ（１７９）と表す。なお、高い階調値が濃い濃度を示し、低い階調値が淡い濃度を示すとする。
【００３９】
また、各帯状パターンは、前述のインターレース印刷において、先端印刷による３０個のラスタラインと、通常印刷による５６個のラスタラインと、後端印刷による３０個のラスタラインから構成される。即ち、合計１１６個の列領域から帯状パターンは構成される。
【００４０】
＜読取階調値の取得＞
次に、テストパターンをスキャナーで読み取らせ、色ごと、濃度ごとの読取階調値を取得する。また、スキャナーの読取データにおいて、１つの画素列データ（移動方向に対応する方向に並ぶ複数の画素データ）と、補正用パターンにおける１つの列領域（１つのラスタライン）とを対応付ける。
【００４１】
図７は、シアンの補正用パターンをスキャナーで読み取った結果である。以下、シアンの読取データを例に説明する。画素列データと列領域（ラスタライン）を一対一で対応させた後、帯状パターンごとに、各列領域の濃度を算出する。ある列領域に対応する画素列データに属する各画素データの読取階調値の平均値を、その列領域の読取階調値とする。図７のグラフでは、横軸を列領域番号とし、縦軸を各列領域の読取階調値とする。
【００４２】
各帯状パターンは、それぞれの指令階調値で一様に形成されたにも関わらず、図７に示すように列領域ごとに読取階調値にばらつきが生じる。例えば、図７のグラフにおいて、ｉ列領域の読取階調値Ｃｂｉは他の列領域の読取階調値よりも低く、ｊ列領域の読取階調値Ｃｂｊは他の列領域の読取階調値よりも高い。即ち、ｉ列領域は淡く視認され、ｊ列領域は濃く視認される。このような各列領域の読取階調値のばらつきが、印刷画像の濃度むらである。
【００４３】
＜濃度むら補正値Ｈの算出＞
濃度むらを改善するために、列領域ごとの読取階調値のばらつきを低減したい。即ち、各列領域の読取階調値を一定の値に近づけたい。そこで、同一の指令階調値（例えばＳｂ・濃度５０％）において、全列領域の読取階調値（Ｃｂ１〜Ｃｂ１１６）の平均値Ｃｂｔを、「目標値Ｃｂｔ」として設定する。そして、指令階調値Ｓｂにおける各列領域の読取階調値を目標値Ｃｂｔに近づけるように、各列領域に対応する画素列データの示す階調値を補正する。
【００４４】
具体的には、図７において目標値Ｃｂｔよりも読取階調値の低い列領域ｉに対応する画素列データの示す階調値を、指令階調値Ｓｂよりも濃い階調値を補正する。一方、目標値Ｃｂｔよりも読取階調値の高い列領域ｊに対応する画素列データの示す階調値を、指令階調値Ｓｂよりも淡い階調値に補正する。このように、同一の階調値に対して、全列領域の濃度を一定の値に近づけるために、各列領域に対応する画素列データの階調値を補正する補正値Ｈを算出する。
【００４５】
図８Ａ及び図８Ｂは、濃度むら補正値Ｈの具体的な算出方法を示す図である。まず、図８Ａは目標値Ｃｂｔよりも読取階調値の低いｉ列領域において、指令階調値（例Ｓｂ）における目標指令階調値（例Ｓｂｔ）を算出する様子を示す。横軸が階調値を示し、縦軸がテストパターン結果における読取階調値を示す。グラフ上には、指令階調値（Ｓａ，Ｓｂ，Ｓｃ）に対する読取階調値（Ｃａｉ，Ｃｂｉ，Ｃｃｉ）がプロットされている。例えば指令階調値Ｓｂに対してｉ列領域が目標値Ｃｂｔにて表されるための目標指令階調値Ｓｂｔは次式（直線ＢＣに基づく線形補間）により算出される。  
Ｓｂｔ＝Ｓｂ＋｛（Ｓｃ−Ｓｂ）×（Ｃｂｔ−Ｃｂｉ）／（Ｃｃｉ−Ｃｂｉ）｝
【００４６】
同様に、図８Ｂに示すように、目標値Ｃｂｔよりも読取階調値の高いｊ列領域において、指令階調値Ｓｂに対してｊ列領域が目標値Ｃｂｔにて表されるための目標指令階調値Ｓｂｔは次式（直線ＡＢに基づく線形補間）により算出される。  
Ｓｂｔ＝Ｓａ＋｛（Ｓｂ−Ｓａ）×（Ｃｂｔ−Ｃａｊ）／（Ｃｂｊ−Ｃａｊ）｝
【００４７】
こうして、指令階調値Ｓｂに対する各列領域の目標指令階調値Ｓｂｔが算出される。そうして、次式により、各列領域の指令階調値Ｓｂに対するシアンの補正値Ｈｂを算出する。同様にして、他の指令階調値（Ｓａ，Ｓｃ）に対する補正値、及び、他の色（イエロー，マゼンタ，ブラック）に対する補正値も算出する。  
Ｈｂ＝（Ｓｂｔ−Ｓｂ）／Ｓｂ
【００４８】
図９は、インターレース印刷の通常印刷領域のシアンに関する補正値テーブルを示す図である。前述のように、通常印刷領域では７個のラスタラインごとに規則性があるため、通常印刷領域に関しては指令階調値（Ｓａ，Ｓｂ，Ｓｃ）ごとに７個の補正値を算出する。例えば規則性のある１番目の列領域の指令階調値Ｓａに対する補正値を「Ｈａ_１」と示す。なお、補正用パターン（図６Ｂ）では通常印刷領域の５６個のラスタラインを印刷しているので、７個おきの合計８個の列領域の読取階調値の平均値に基づいて補正値Ｈを算出すればよい。
【００４９】
このような補正値テーブルを、先端印刷領域および後端印刷領域に関しても作成する（不図示）。また、他の色（イエロー・マゼンタ・ブラック）に関しても、先端印刷領域、通常印刷領域、後端印刷領域の各補正値テーブルを作成する。そうして、補正値Ｈを算出するためにテストパターンを印刷したプリンター１のメモリー１３に記憶させる。その後、プリンター１はユーザーのもとへ出荷される。
【００５０】
＝＝＝比較例の濃度補正処理について＝＝＝
ユーザーは、プリンター１の使用開始時に、プリンター１に接続するコンピューター６０にプリンタードライバーをインストールする。そうすると、プリンタードライバーはプリンター１に対してメモリー１３に記憶されている補正値Ｈをコンピューター６０に送信するように要求する。プリンタードライバーは、プリンター１から送信される補正値Ｈをコンピューター６０内のメモリーに記憶する。
【００５１】
図１０は、シアンのｎ番目の列領域に関して各階調値に対応した補正値Ｈを算出する様子を示す図である。横軸を補正前の階調値Ｓ_ｉｎとし、縦軸を補正前の階調値Ｓ_ｉｎに対応した補正値Ｈ_ｏｕｔとする。図１１Ａは、比較例の濃度補正処理（印刷処理）のフローを示す図である。前述のように、プリンタードライバーは、ユーザーからの印刷命令を受けると、図１１Ａのフローに従って印刷データを生成し、印刷データをプリンター１に送信する。
【００５２】
まず、プリンタードライバーは、ユーザーの印刷命令と共に各種アプリケーションソフトから画像データを受信する（Ｓ００１）。その画像データは、印刷解像度に応じた解像度に変換され（Ｓ００２）、プリンター１が有するインクの色ＹＭＣＫに応じて色変換される（Ｓ００３）。
【００５３】
そして、プリンタードライバーは、ＹＭＣＫの２５６階調のデータに対して補正値Ｈを用いて濃度補正処理を行う（Ｓ００４）。即ち、画像データを構成する各画素データの２５６階調の階調値（補正前の階調値Ｓ_ｉｎ）を、色ごと、及び、その画素データが対応する列領域ごとに設定された補正値Ｈによって、補正する。
【００５４】
補正前の階調値Ｓ_ｉｎが指令階調値のいずれかＳａ,Ｓｂ,Ｓｃと同じであれば、各指令階調値に対応した補正値Ｈであってコンピューター６０のメモリーに記憶されている補正値Ｈａ,Ｈｂ,Ｈｃをそのまま用いることができる。例えば、補正前の階調値Ｓ_ｉｎ＝Ｓｃであれば、補正後の階調値Ｓ_ｏｕｔは次式により求められる。  
Ｓ_ｏｕｔ＝Ｓｃ×（１＋Ｈｃ）
【００５５】
補正前の階調値Ｓ_ｉｎが指令階調値と異なる場合、補正前の階調値Ｓ_ｉｎに応じた補正値Ｈ_ｏｕｔを算出する。例えば、図１０に示すように補正前の階調値Ｓ_ｉｎが指令階調値ＳａとＳｂの間であるとき、指令階調値Ｓａの補正値Ｈａと指令階調値Ｓｂの補正値Ｈｂの線形補間によって次式により補正値Ｈ_ｏｕｔを算出し、補正後の階調値Ｓ_ｏｕｔを算出する。  
Ｈ_ｏｕｔ＝Ｈａ＋｛（Ｈｂ−Ｈａ）×（Ｓ_ｉｎ−Ｓａ）／（Ｓｂ−Ｓａ）｝
Ｓ_ｏｕｔ＝Ｓ_ｉｎ×（１＋Ｈ_ｏｕｔ）
【００５６】
なお、補正前の階調値Ｓ_ｉｎが指令階調値Ｓａよりも小さい場合には、最低階調値０と指令階調値Ｓａの線形補間により補正値Ｈ_ｏｕｔを算出し、補正前の階調値Ｓ_ｉｎが指令階調値Ｓｃよりも大きい場合には、最高階調値２５５と指令階調値Ｓｃの線形補間によって補正値Ｈ_ｏｕｔを算出する。
【００５７】
こうして、色ごと、画素データが属する列領域ごと、階調値ごとに設定された補正値Ｈによって、２５６階調の画素データの示す階調値Ｓ_ｉｎが補正される。そうすることで、濃度が淡く視認される列領域に対応する画素データの階調値Ｓ_ｉｎは濃い階調値Ｓ_ｏｕｔに補正され、濃度が濃く視認される列領域に対応する画素データの示す階調値Ｓ_ｉｎは淡い階調値Ｓ_ｏｕｔに補正される。その結果、印刷画像に発生する濃度むらを低減することができる。
【００５８】
そして、プリンタードライバーは、補正後の２５６階調の画素データ（Ｓ_ｏｕｔ）をハーフトーン処理によって、プリンター１が形成可能なドットの種類に応じた４階調の画素データに変換する（図１１ＡのＳ００５）。本実施形態のプリンター１は３種類のドット（大ドット・中ドット・小ドット）を形成可能とし、２５６階調の８ビットのデータがハーフトーン処理によって２ビットの４階調のデータに変換される。例えば、「大ドット形成」を示す画素データは「１１」に変換され、「中ドット形成」を示す画素データは「１０」に変換され、「小ドット形成」を示す画素データは「０１」に変換され、「ドット無し」を示す画素データは「００」に変換される。以下、ハーフトーン処理の具体的な方法について説明する。
【００５９】
図１２Ａは、ドット生成率テーブルの説明図である。グラフの横軸は階調値（０〜２５５）であり、縦軸は左側がドットの生成率（０〜１００％）であり、右側がレベルデータである。図１２Ｂは、ディザ法によるドットのオン・オフ判定の様子を示す図である。図１２Ｃは、誤差拡散法の様子を示す図である。
【００６０】
「ドットの生成率」とは、一定の階調値に応じて一様な領域が再現されるときに、その領域内の画素のうちのドットが形成される画素の割合を意味する。例えば１６×１６画素の全ての画素データの階調値が一定値である場合において、その１６×１６画素にｎ個のドットが形成されるとき、その階調値におけるドット生成率は、｛ｎ／（１６×１６）｝×１００（％）として表される。図中の点線で示されるプロファイルＳＤが小ドットの生成率を示しており、また、細い実線で示されるプロファイルＭＤが中ドットの生成率を示しており、太い実線で示されるプロファイルＬＤが大ドットの生成率を示している。また、「レベルデータ」とは、ドットの生成率を値０〜２５５の２５６段階で表したデータをいう。
【００６１】
プリンタードライバーは、ある画素データの階調値に応じて、大ドットレベルデータを設定する。例えば、ある画素データの階調値が図中に示すｇｒであれば、大ドットレベルデータは、プロファイルＬＤに基づいて、１ｄに設定される。その大ドットレベルデータが、図１２Ｂに示すディザマトリクスの各画素に対して設定された閾値より大きいか否かを判定する。閾値は、ディザマトリクスの各画素に対して異なる値が設定されている。本実施形態では、１６×１６の画素ブロックに、０〜２５５までの値が示されるマトリックスを用いる。
【００６２】
例えば、図１２Ｂの左上の画素に関して、大ドットレベルデータが「１８０」に設定されたとする。この画素に対応するディザマトリクス上の閾値は「１」である。プリンタードライバーは大ドットレベルデータ「１８０」と閾値「１」とを比較する。この場合、大ドットレベルデータが閾値よりも大きいと判定され、左上の画素の画素データを「１１（大ドット形成）」に変換し、その画素データの処理を終了する。図１２Ｂではドットが形成される画素を斜線で示す。
【００６３】
一方、大ドットレベルデータが閾値以下である場合、プリンタードライバーは中ドットレベルデータを設定する。階調値がｇｒの画素データでは、中ドットレベルデータはプロファイルＭＤに基づいて２ｄに設定される。そして、その中ドットレベルデータの方が閾値よりも大きい場合、その画素の画素データは「１０（中ドット形成）」に変換され、その画素データの処理を終了する。なお、ディザマトリクスの閾値はドットの種類ごとに設定されている。
【００６４】
そして、中ドットレベルデータが閾値以下である場合、小ドットレベルデータが閾値よりも大きいか否かが判定される。小ドットレベルデータが閾値よりも大きい場合、その画素の画素データが「０１（小ドット形成）」に変換され、小ドットレベルデータが閾値以下である場合、その画素の画素データが「００（ドット無し）」に変換され、その画素データに対する処理を終了する。こうして、２５６階調の画素データが４階調の画素データに変換される。
【００６５】
また、本実施形態では、ハーフトーン処理の際に、図１２Ｃに示すように、誤差拡散法を適用する。誤差拡散法では、ドット形成の有無を判定している画素のレベルデータと、その画素に対応する閾値と、の差（誤差）を未処理の画素に分配する（拡散する）。そして、誤差が分配された未処理の画素では、自身の画素のレベルデータとその誤差の合計値と、ディザマトリクスの対応する閾値とを比較し、ドット形成の有無が判定される。
【００６６】
例えば、図１２Ｃでは、プリンタードライバーは、左上の画素のレベルデータとディザマトリクスの閾値とを比較し、左上の画素にドットを形成すると判定した後に、レベルデータ（ドット生成率に関する値に相当）と閾値との誤差「１７９（＝１８０−１）」を算出する。その誤差を、左上の画素とＸ方向に並ぶ画素やＹ方向に並ぶ画素に分配する。なお、レベルデータよりも閾値の方が大きい場合にはマイナスの誤差を周辺の画素に分配する。そうすることで、局所的な濃度誤差を低減することができ、画像全体の濃度を滑らかにすることが出来る。
【００６７】
特に、補正値Ｈによって階調値を補正した場合には、誤差拡散法を行うことが好ましい。補正値Ｈによって各画素データの階調値が増加したり減少したりする補正量は微小である。例えば、列領域を濃くするために、その列領域に属する画素データの階調値を補正値Ｈによって高くし、レベルデータの値を高くしても、ディザマトリクスの閾値によってはドットの数を増やしたりドットのサイズを大きくしたりすることが出来ない虞がある。そのため、ある画素の階調値を高く補正し、レベルデータの値を高く補正したが、閾値との関係によりその画素にドットが形成されなくとも、レベルデータと閾値との誤差が周辺の画素に分配されることで、誤差が積算されていく過程で未処理の画素の何れかの画素に新たなドットが発生する。そのため、その列領域を濃く印刷することが出来る。逆に、ある画素の階調値を低く補正した場合には、その分だけマイナスの誤差が分配され、何れかの画素のドットを発生しなくすることができる。
【００６８】
そのため、補正値Ｈによって増減させた階調値による誤差（レベルデータと閾値の誤差）が同じ列領域に属する画素に反映されるように、ある画素データの誤差を、その画素データとＹ方向（搬送方向に対応）に並ぶ画素データよりも、その画素データとＸ方向（移動方向に対応）に並ぶ画素データ、即ち、同じ列領域に属する画素データに多く分配してもよい。例えば、図１２Ｃでは、左上の画素の誤差「１７９」を、同じ列領域に属する３つの画素データと、Ｙ方向に並ぶ１つの画素データと、に分配している。また、未処理の画素に誤差を分配する際に、均等に分配してもよいし、重み付けを変えて、誤差が発生した画素に近い画素ほど多く分配してもよい。このように、誤差拡散法によるハーフトーン処理によって、補正値Ｈに応じて確実にドット発生率を変動させることができ、濃度むらを解消することができる。
【００６９】
こうしてハーフトーン処理された低階調数の画素データは、図１１Ａに示すように、ラスタライズ処理され（Ｓ００６）、コマンドデータなどと共に印刷データとしてプリンター１に送信される。プリンター１は印刷データを受信すると（Ｓ００７）、その印刷データに基づいて印刷を行う（Ｓ００８）。
【００７０】
以上をまとめると、比較例の濃度補正処理では、プリンタードライバーがインストールされたコンピューター６０とプリンター１が接続された印刷システムにおいて、プリンタードライバーが、ハーフトーン処理前の高階調数（２５６階調）の画素データ（階調値）を補正値Ｈによって補正し、その後、ハーフトーン処理が行われ、補正された高階調数の画素データが低階調数（４階調）の画素データに変換される。
【００７１】
＝＝＝本実施形態の濃度補正処理について＝＝＝
図１１Ｂは、本実施形態の濃度補正処理（印刷処理）のフローを示す図である。比較例の濃度補正処理では、プリンタードライバーが、ハーフトーン処理前の画素データを補正値Ｈによって補正する。しかし、プリンター１に対応したプリンタードライバーによって印刷データがプリンター１に送信されるに限らず、プリンタードライバーとは異なるアプリケーションプログラム（例えば他社製品のプログラム、以下、他のプログラムと呼ぶ）によってハーフトーン処理された印刷データがプリンター１に送信される場合がある。
【００７２】
プリンタードライバーと同様に、他のプログラムにおいても、図１１ＢのＳ１０１（斜線のブロック部）において、ユーザーが形成した画像データは、印刷解像度に合わせて解像度変換され、色変換され、ハーフトーン処理される。ただし、プリンタードライバーは、プリンター１のメモリー１３から補正値Ｈを取得し、その補正値Ｈによって２５６階調の画素データを補正した後にハーフトーン処理を行うのに対して、他のプログラムでは２５６階調の画素データが補正されずにハーフトーン処理が行われてしまう。即ち、プリンタードライバーとは異なる他のプログラムからプリンター１に送信される印刷データは、濃度補正処理が行われていない４階調の画素データである。
【００７３】
仮に、他のプログラムから送信された印刷データをそのまま用いてプリンター１が印刷を行うと、印刷画像に濃度むらが発生してしまう。一方、濃度むらを改善するために他のプログラムから送信された印刷データに対して濃度補正処理を行おうとしても、プリンター１のメモリー１３に記憶されている補正値Ｈは２５６階調の画素データに対応した補正値Ｈであり、ハーフトーン処理済みの４階調の画素データにそのまま適用することができない。
【００７４】
そのため、本実施形態では、低階調数（４階調・第１階調数に相当）の画素データ（元画素データ）に対して、高階調数（２５６階調・第２階調数に相当）の画素データに対応した濃度むら補正値Ｈを用いて、濃度補正処理を行うことを目的とする。以下、ハーフトーン処理済みの４階調の画素データに対する濃度補正処理（図１１ＢのＳ１０３）について説明する。
【００７５】
なお、プリンター１は、印刷データを受信した際に、その印刷データがプリンタードライバーから送信されたのか、それとも、他のプログラムから送信されたのかを識別する。そして、プリンター１は、送信された印刷データが、プリンタードライバーから送信された印刷データ（補正値Ｈによって濃度補正処理がなされた印刷データ）であると識別した場合には、その印刷データに基づいて印刷を行う（図１１ＡのＳ００８）。一方、プリンター１は、送信された印刷データが他のプログラムから送信された印刷データ（補正値Ｈによって濃度補正処理がなされていない印刷データ）であると識別した場合には、その印刷データを補正値Ｈによって濃度補正処理した後に（図１１ＢのＳ１０３）、印刷を行う（Ｓ１０４）。
【００７６】
＜濃度補正処理：実施例１＞
図１３は、実施例１の濃度補正処理における画素データの変化を示す図である。他のプログラムから送信された印刷データはプリンター１のコントローラー１０内の濃度補正処理部１５（図１）によって濃度補正処理がなされる。濃度補正処理部１５は、他のプログラムからの印刷データを受信すると（図１３のＳ２０１）、まず、ハーフトーン処理済みの４階調のデータ（以下、４階調の元データ）を、補正値Ｈの階調数に対応するように２５６階調のデータ（以下、２５６階調の元データ・第２階調数の元画素データに相当）に変換する（Ｓ２０２）。
【００７７】
図１４は、４階調の元データを高階調値化して２５６階調の元データに変換する様子を示す図である。図中の１つのマス目を画素データとする。そして、４階調の元データにおける画素データでは、大ドットを形成する画素には「大」と示し、中ドットを形成する画素には「中」を示し、小ドットを形成する画素には「小」と示し、ドットを形成しない画素には「×」を示す。４階調の画素データを高階調化するために、４階調の各データに対して擬似的に２５６階調のデータを割り当てる。
【００７８】
ここでは、大ドットを形成する画素データを「階調値２５０」に変換し、中ドットを形成する画素データを「階調値１９２」に変換し、小ドットを形成する画素データを「階調値６４」に変換し、ドットを形成しない画素データを「階調値０」に変換する。そうすることで、図１４に示すように、４階調の元データを２５６階調の元データに変換することができる。
【００７９】
図１５は、２５６階調の元データを単位領域ごとに平均値化する様子を示す図である。実施例１では、濃度補正処理部１５は、高階調値化した２５６階調の元データに対して平均値化を行う（図１３のＳ２０３）。ここでは平均値化する範囲となる単位領域を３×３画素とする。ただし、単位領域の大きさはこれに限らない。図１５の２５６階調の元データにおいて、左から２番目であり上から２番目の画素（階調値が１９２の画素）に着目し、平均値化について説明する。その着目画素と着目画素の周囲（周辺）の８画素とが単位領域に相当し、着目画素の示す階調値（１９２）を着目画素と周囲の８画素とで平均値化する。即ち、着目画素の示す階調値（１９２）を、着目画素と周囲の８画素とに分配する。
【００８０】
このとき、着目画素に近い画素ほど、着目画素の階調値が多く分配されるように、平均値化の際の重み付け値を決定する。例えば、着目画素自身に一番多くの階調値が分配されるように重み付け値を「３」に決定する。８つの周辺画素のうち、着目画素とＸ方向（データ上で移動方向に対応する方向）に並ぶ２画素と、Ｙ方向（データ上で搬送方向に対応する方向）に並ぶ２画素の重み付け値を「２」に決定する。そして、着目画素の斜め方向に位置する周辺画素（第２の距離を離れた画素）は、着目画素とＸＹ方向に並ぶ周辺画素（第１の距離を離れた画素）よりも着目画素からの距離が遠くなるため、重み付け値を「１」に決定する。
【００８１】
そうして、着目画素の階調値１９２を、重み付け値に応じて、着目画素および周辺画素に分配する。具体的には、着目画素の階調値には、「階調値３８．４（＝１９２×３／１５）」が分配され、着目画素とＸＹ方向に並ぶ周辺画素には、「階調値２５．６（＝１９２×２／１５）」が分配され、着目画素と斜め方向に並ぶ周辺画素には、「階調値１２．８（＝１９２／１５）」が分配される。このように、高階調値化した２５６階調の元データにおいて、ＸＹ方向の左上の画素から順に全ての画素を着目画素として、単位領域（３×３画素）ごとに、着目画素の階調値を平均値化する。以下、２５６階調の元データを平均値化したデータを、２５６階調の平均値データ（第２階調数の平均値化画素データに相当）と呼ぶ。２５６階調の平均値データにおいて、各画素データの示す階調値は、その画素データの階調値を周辺画素に分配した残りの階調値と、周辺画素から分配された階調値の合計値となる。
【００８２】
図１６は、補正値Ｈテーブルと２５６階調の平均値データから補正値Ｈが決定される様子を示す図である。濃度補正処理部１５は、２５６階調の平均値データを算出した後、メモリー１３に記憶されている補正値テーブル（図９）を参照し、２５６階調の平均値データの各画素データが示す階調値に応じた補正値Ｈを決定する（図１３のＳ２０４）。例えば、２５６階調の平均値データにおいて、左上の画素の示す階調値は「Ａ１」であるため、濃度補正処理部１５は、補正値Ｈテーブルに基づいて、階調値Ａ１に対応する補正値Ｈ_Ａ１を取得する。
【００８３】
なお、濃度補正処理部１５は、階調値Ａ１だけでなく、その階調値Ａ１がＹＭＣＫデータのうちの何色のデータであるのか、左上画素に対応する列領域が何処に位置するのかも考慮して補正値Ｈを決定する。また、左上画素の階調値Ａ１が補正値Ｈを算出する際に用いた指令階調値（Ｓａ，Ｓｂ，Ｓｃ）と同じであれば補正値Ｈテーブルに記憶されている補正値Ｈをそのまま利用する。一方、左上画素の階調値Ａ１が指令階調値と異なれば、プリンタードライバーと同様に、濃度補正処理部１５は、図１０に示すように線形補間によって、階調値Ａ１に対応する補正値Ｈ_Ａ１を算出する。
【００８４】
図１７Ａは、他のプログラムによりハーフトーン処理される前の画素データを示す図であり、図１７Ｂは、高階調化した画素データを平均値化したか否かによる濃度むら補正値Ｈの違いを示す図である。ここで、ハーフトーン処理済みの４階調の元画素データを擬似的に高階調化した２５６階調の元画素データ（図１４）に基づいて濃度むら補正値Ｈを決定せずに、２５６階調の元画素データを平均値化した２５６階調の平均値データ（図１６）に基づいて濃度むら補正値Ｈを決定する理由について説明する。
【００８５】
例えば、図１７Ａに示すように、ハーフトーン処理前の高階調（２５６階調）の画素データにおいて、単位領域（図中では３×３画素）に属する画素の示す階調値が全て２０であったとする。そして、ハーフトーン処理された結果、単位領域に属する９画素のうちの１画素に中ドットが形成されたとする。このように単位領域に属する全ての画素が同じ階調値２０であったとしても、全ての画素に同じようにドットが発生する訳でなく、その単位領域を巨視的に見た際に、単位領域全体で階調値２０の濃度に視認されるように、ハーフトーン処理にてドットを発生させる。
【００８６】
ところで、プリンター１のメモリー１３に記憶されている濃度むら補正値Ｈ（図９）は３つの階調値Ｓａ，Ｓｂ，Ｓｃに対応して設定されており、線形補間によって２５６階調の各階調値（０〜２５５）に対応した補正値Ｈが算出される。図１７Ｂに示すように、本実施形態のプリンター１では、階調値が高くなるにつれて補正値Ｈの値が大きくなっている。即ち、濃い画像を印刷する場合には、大きい補正値Ｈによって補正前の階調値Ｓ_ｉｎが補正されるため、補正度合いが大きく、逆に、淡い画像を印刷する場合には、小さい補正値Ｈによって補正前の階調値Ｓ_ｉｎが補正されるため、補正度合いが小さい。そうすることで、画像の濃度に合わせて濃度むらをより抑制することが出来る。
【００８７】
そして、図１７Ａに示すハーフトーン処理前の画素データの階調値は全て２０である。そのため、比較例の濃度補正処理のように（図１１Ａ）、プリンタードライバーによって、ハーフトーン処理前に画素データに対して濃度補正を行う場合には、階調値２０に対応した比較的に小さい補正値Ｈ_２０が使用される。しかし、本実施形態の濃度補正処理では、他のプログラムによって１度ハーフトーン処理された画素データに対して濃度補正を行わなければならない。そこで、濃度補正処理部１５は、４階調の元データを擬似的に２５６階調の元データに変換し、更に２５６階調の平均値データを算出し、その２５６階調の平均値データに基づいて補正値Ｈを決定している。
【００８８】
ここで仮に、２５６階調の元データを平均値化せずに、２５６階調の元データに基づいて補正値Ｈを決定したとする。例えば、図１７Ａのハーフトーン処理後の画素データにおいて中ドットが形成される画素は、高階調化の際に「階調値１９２」に置き換えられるため、その画素に対応する補正値は「Ｈ_１９２」と比較的に大きい補正値に決定される。しかし、実際には、その画素の示す階調値は「２０」であり、その画素の階調値を補正するために使用すべき補正値Ｈ_２０は比較的に小さい補正値である。また、逆に、ハーフトーン処理後の画素データにおいてドットが形成されない画素は、高階調化の際に「階調値０」に置き換えられるため、実際にはその画素に対応させるべき補正値は補正値Ｈ_２０であるにも関わらず、その画素に対応する補正値ＨがＨ_０（＝０）になってしまう。この場合、補正後の階調値Ｓ_ｏｕｔは「Ｓ_ｏｕｔ＝Ｓ_ｉｎ×（１＋Ｈ_ｏｕｔ）」により算出されるため、補整後の階調値Ｓ_ｏｕｔは補正前の階調値Ｓ_ｉｎと同一になる。
【００８９】
つまり、単位領域の画素データにはハーフトーン処理によって濃度に応じた所定の確率でドットが発生するので、ハーフトーン処理済みの画素データを擬似的に高階調化した２５６階調の元データによって補正値Ｈを決定してしまうと、ドットが形成される画素データではハーフトーン処理前に示す階調値よりも高い階調値に対応する補正値Ｈが決定され、逆に、ドットが形成されない画素データではハーフトーン処理前の階調値よりも低い階調値に対応する補正値Ｈが決定されてしまう虞がある。その結果、プリンター１では、階調値（濃度）に応じた補正値Ｈが設定されているにも関わらず、適正な補正値Ｈを使用することが出来なくなってしまう。
【００９０】
そこで、本実施形態では、ハーフトーン処理後の４階調の元画素データを２５６階調の元画素データに置き換えた後、その２５６階調の元画素データを単位領域ごとに平均値化する。そうすることで、ハーフトーン処理後の４階調の元画素データを、ハーフトーン処理前の２５６階調の画素データ（階調値）に出来る限り近付けて復元することが出来る。そして、２５６階調の平均値データに基づいて補正値Ｈを決定することで、ハーフトーン処理前の２５６階調の画素データに対応する補正値Ｈに出来る限り近い補正値Ｈを決定することが出来る。
【００９１】
また、２５６階調の元画素データを平均値化する際の単位領域（図１５では３×３画素）を適当な大きさに決定することが好ましい。例えば、図１７Ａの２５６階調の元画素データを平均値化する際に、単位領域を３×３画素よりも小さい２×２画素の大きさに設定したとする。そうすると、左上の４つの画素データ（太線で囲まれた範囲）を平均値化する際に、中ドットが形成される画素が含まれるため、平均値化した画素の階調値が比較的に高くなる。逆に、右下の４つの画素データを平均値化する際には、ドットが形成される画素が含まれないため、平均値化した画素の階調値がゼロになってしまう。
【００９２】
即ち、平均値化する際に単位領域を小さく設定し過ぎると、特に階調値の低い画素データでは離散的にドットが形成されるため、ドットを形成する画素を含む単位領域では、平均値化後の画素データの示す階調値がハーフトーン処理前の階調値よりも大きくなり過ぎてしまったり、ドットを形成する画素を含まない単位領域では、平均値化後の画素データの示す階調値がハーフトーン処理前の階調値よりも小さくなり過ぎてしまったりして、適正な補正値Ｈを決定できない虞がある。
【００９３】
その一方で、単位領域を大きくし過ぎてしまうと、画像のフチ部分（輪郭部分）にドットが集中して形成されているにも関わらず、その周辺の多くの画素も含んで、階調値が平均値化されてしまう。そうすると、画像のフチ部分に対応する補正値Ｈは低い階調値の補正値Ｈに決定され、濃度むらの効果が低減してしまう虞がある。つまり、適正な大きさの単位領域に設定することで、ハーフトーン処理済みの画素データを高階調の画素データに復元する際に、ハーフトーン処理前の高階調の画素データ（階調値）に近づけることができ、適正な濃度に対応した補正値Ｈを決定できる。
【００９４】
図１８Ａは、２５６階調の元画素データを平均値化する際に重み付けを行わない様子を示す図である。前述の図１５では、着目画素自身および着目画素に近い画素ほど、着目画素の階調値を多く分配するとしているがこれに限らない。着目画素の階調値を、着目画素とその周辺の画素に等しく分配してもよい。例えば、図１８Ａでは、着目画素（斜線の画素）の示す階調値が１９２であり、単位領域に属する画素が９個であるため、各画素に階調値２１．３（＝１９２／９）が分配される。
【００９５】
図１８Ｂは、列領域に対応する画素列データごとに２５６階調の元画素データを平均値化する様子を示す図である。ここまでマトリクス上の画像データを例に挙げて説明しているがこれに限らない。プリンター１には、マトリクス状のデータが送信される場合もあれば、各ノズルに対応付けられた列領域ごとの画素列データが順に送信される場合もある。そのため、プリンター１に送信される印刷データが画素列データごとであれば、着目画素とＸ方向（データ上で移動方向に対応する方向）に並ぶ画素で平均値化するとよい。例えば、図１８Ｂでは、着目画素とＸ方向の左右に並ぶ２画素ずつに、着目画素の階調値２５０を分配している。その際に、図示するように着目画素に近い周辺画素ほど重み付け値を大きくしてもよいし、一律に階調値を分配してもよい。
【００９６】
図１９は、決定した補正値Ｈによって２５６階調の元データを補正する様子を示す図である。次に濃度補正処理部１５は、２５６階調の平均値データに基づいて決定した補正値Ｈによって、２５６階調の平均値データではなく、２５６階調の元データを補正する（図１３のＳ２０５）。例えば、図１９の２５６階調の元データにおける左上画素の示す階調値は「２５０」である。そして、その左上画素に対応する補正値は「Ｈ−Ａ１」である。そのため、左上画素の階調値２５０は次式によって濃度補正後の階調値Ｓ_ｏｕｔとして補正される。  
Ｓ_ｏｕｔ＝２５０×（１＋Ｈ_Ａ１）
【００９７】
このように、他の２５６階調の元データに属する画素データについても、対応する補正値Ｈによって階調値を補正する（図１３のＳ２０５）。そうして、濃度むら補正値Ｈによって補正された高階調の（２５６階調の）補正データＳ_ｏｕｔに対して再びハーフトーン処理を行う（図１３のＳ２０６）。
【００９８】
なお、本実施形態では、図１４に示すように、４階調の元データを高階調化する際に、ドットが形成されない画素データの階調値を「０」に置き換えている。そのため、階調値０に対して補正値Ｈを乗算したとしても、補正後の階調値Ｓ_ｏｕｔは０のままである。ゆえに、ドットが形成されない画素データに対して補正値Ｈを決定しなくてもよい。ただし、４階調の元データを高階調化する際に、ドットが形成されない画素データの階調値を１以上の値に置き換える場合には、ドットが形成されない画素データの補正値Ｈも決定する必要がある。
【００９９】
このように実施例１では、濃度補正処理部１５は、２５６階調の平均値データに基づいた決定した補正値Ｈで、２５６階調の元データを構成する画素データの階調値を補正する。これは、他のプログラムによってハーフトーン処理された４階調の元データと出来る限り同じ位置（又は近い位置）にドットを形成するためである。他のプログラムによるハーフトーン処理方法とプリンター１の濃度補正処理部１５が行うハーフトーン処理は異なる場合が多い。そのため、２５６階調の平均値データはハーフトーン処理前の画素データの階調値に近いとしても完全に復元された訳ではないため、２５６階調の平均値データに基づいてハーフトーン処理を行うと、他のプログラムによりハーフトーン処理された４階調の元データによるドット位置と離れた位置にドットが形成され、ユーザーが印刷したい画像から微妙にずれてしまう虞がある。特に、画像のフチ部分（輪郭）に相当するドットがずれて形成されると、画像がぼやけてしまう虞がある。
【０１００】
そのため、実施例１では、濃度補正処理部１５は、２５６階調の元データを補正値Ｈによって補正し、その補正した画素データをハーフトーン処理する。そうすることで、他のプログラムによって形成された印刷データにおいてドットが形成される画素データの階調値が高くなるため、図１２に示すようにハーフトーン処理する際にも、ドットが形成される画素データのレベルデータが高くる。そして、画素データのレベルデータが高くなると、ディザマトリクスの閾値よりも大きくなり、ドットが形成され易くなる。そうすることで、他のプログラムの印刷データによる画像と同じように、フチ部分などもぼやけずに印刷することができ、更に、他のプログラムの印刷データによる画像に比べて濃度むらが低減された画像を印刷することができる。なお、前述のプリンタードライバーによるハーフトーン処理と同様に、濃度補正処理部１５がハーフトーン処理する際にも誤差拡散（図１２Ｃ）を行うとよい。そうすることで、補正値Ｈに応じてドット発生率を変動させることができ、濃度むらをより解消することができる。
【０１０１】
こうして、プリンタードライバーとは異なる他のプログラムによってハーフトーン処理された画素データを高階調化し、２５６階調に対応した補正値Ｈを用いて濃度補正処理を行い、再度ハーフトーン処理した印刷データによって、プリンター１は印刷を行う（図１１ＢのＳ１０４）。
【０１０２】
以上をまとめると、実施例１では、濃度補正処理部１５が、他のプログラムからのハーフトーン処理済みの画素データを高階調化して２５６階調の元データを算出し、２５６階調の元データを平均値化した２５６階調の平均値データに対応する補正値Ｈを決定する。そうすることで、他のプログラムによるハーフトーン処理前の画素データの示す階調値に対応する補正値Ｈに近い補正値Ｈによって濃度補正を行うことができる。そうして決定した補正値Ｈによって、２５６階調の元データを補正し、ハーフトーン処理することで、他のプログラムによるハーフトーン処理済みの画像データにて形成されるドットの位置にできる限り同じ位置（近い位置）にドットを形成することができ、画像のずれ（フチ部分などのぼやけ）を防止できる。
【０１０３】
なお、これらの処理（図１３）を、プリンター１のコントローラー１０内部の濃度補正処理部１５が行う場合には、コントローラー１０が制御部に相当し、プリンター１が流体噴射装置に相当する。ただしこれに限らず、これらの処理を、プリンタードライバーに行わせてもよい。即ち、プリンター１が他のプログラムから印刷データを受信した場合には、プリンター１は印刷データをプリンタードライバーに送信して、プリンタードライバーが図１３の処理を行って、印刷データをプリンター１に戻してもよい。この場合、プリンタードライバーがインストールされたコンピューター６０とプリンター１のコントローラー１０が制御部に相当し、プリンター１とコンピューター６０の接続された印刷システムが流体噴射装置に相当する。
【０１０４】
＜濃度補正処理：実施例２＞
図２０は、実施例２の濃度補正処理における画素データの変化を示す図である。前述の実施例１では、２５６階調の平均値データに基づいて補正値Ｈを決定した後に、その補正値Ｈによって２５６階調の元データを補正している。しかし、これに限らず、この実施例２のように、２５６階調の平均値データに基づいて補正値Ｈを決定した後に、その補正値Ｈによって２５６階調の平均値データを補正し、その後、ハーフトーン処理を行ってもよい。
【０１０５】
そうすることで、他のプログラムによるハーフトーン処理前の２５６階調の画素データに近いデータに対応する補正値Ｈによって、濃度補正を行うことができる。ただし、前述の実施例１のように、補正値Ｈによって２５６階調の元データを補正しハーフトーン処理する方が、他のプログラムによってハーフトーン処理されたデータと出来る限り同位置にドットを形成することができ、画像のずれ（フチ部分のぼやけ）を防止できる。
【０１０６】
＜濃度補正処理：実施例３＞
図２１は、実施例３の濃度補正処理における画素データの変化を示す図である。実施例１および実施例２では、２５６階調の平均値データに基づいて補正値Ｈを決定している。しかし、これに限らず、この実施例３のように、２５６階調の元データに基づいて補正値Ｈを決定し、その補正値Ｈによって２５６階調の元データで補正し、その後、ハーフトーン処理を行ってもよい。そうすることで、前述の実施例１や実施例２に比べて、２５６階調の平均値データを算出しない分だけ、濃度補正処理の時間を短縮することができる。ただし、実施例１や実施例２のように、２５６階調の平均値データに基づいて補正値Ｈを決定する方が、他のプログラムによるハーフトーン処理前の画素データの示す階調値に対応する補正値Ｈに近い補正値Ｈに決定することができる。
【０１０７】
逆に、本実施形態のプリンター１のように階調値ごとに細かく補正値Ｈが設定されていないプリンターであれば、この実施例３を適用することで、濃度補正処理の時間を短縮できる。
【０１０８】
＝＝＝その他の実施の形態＝＝＝
上記の各実施形態は、主としてインクジェットプリンターを有する印刷システムについて記載されているが、濃度むら補正方法の開示が含まれている。また、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはいうまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０１０９】
＜その他のプリンターについて＞
前述の実施形態では、ヘッド４１がノズル列と交差する移動方向に移動しながら画像を形成する動作と媒体をノズル列方向に搬送する動作とを交互に繰り返しシリアル式のプリンターを例に挙げているが、これに限らない。例えば、紙幅長さに亘ってノズルが並び、その長いノズル列の下を媒体が停まることなく搬送されるライン式のプリンターでもよい。また、印刷領域に搬送された連続紙に対して、連続紙の搬送方向に沿ってヘッドが移動しながら画像を形成する動作と、搬送方向と交差する紙幅方向に複数のヘッドを移動する動作を繰り返し、画像を形成した後に、連続紙を搬送方向に搬送するプリンターでもよい。
【０１１０】
＜流体噴射装置について＞
前述の実施形態では、流体噴射装置としてインクジェットプリンターを例示していたが、これに限らない。流体噴射装置であれば、プリンター（印刷装置）ではなく、様々な工業用装置に適用可能である。例えば、布地に模様をつけるための捺染装置、カラーフィルター製造装置や有機ＥＬディスプレイ等のディスプレイ製造装置、チップへＤＮＡを溶かした溶液を塗布してＤＮＡチップを製造するＤＮＡチップ製造装置等であっても、本件発明を適用することができる。また、液体を噴射するに限らず、例えば粉体などの流体を噴射する装置であってもよい。  
また、流体の噴射方式は、駆動素子（ピエゾ素子）に電圧をかけて、インク室を膨張・収縮させることにより流体を噴射するピエゾ方式でもよいし、発熱素子を用いてノズル内に気泡を発生させ、その気泡によって液体を噴射させるサーマル方式でもよい。
【符号の説明】
【０１１１】
１  プリンター、１０  コントローラー、
１１  インターフェース部、１２  ＣＰＵ、
１３  メモリー、１４  ユニット制御回路、
１５  濃度補正処理部、２０  搬送ユニット、
３０  キャリッジユニット、３１  キャリッジ、
４０  ヘッドユニット、４１  ヘッド、
５０  検出器群、６０  コンピューター
【図１】
2010228227.tif 000003
【図２】
2010228227.tif 000004
【図３】
2010228227.tif 000005
【図４】
2010228227.tif 000006
【図５】
2010228227.tif 000007
【図７】
2010228227.tif 000008
【図８】
2010228227.tif 000009
【図９】
2010228227.tif 000010
【図１０】
2010228227.tif 000011
【図１１】
2010228227.tif 000012
【図１２】
2010228227.tif 000013
【図１３】
2010228227.tif 000014
【図１４】
2010228227.tif 000015
【図１５】
2010228227.tif 000016
【図１６】
2010228227.tif 000017
【図１７】
2010228227.tif 000018
【図１８】
2010228227.tif 000019
【図１９】
2010228227.tif 000020
【図２０】
2010228227.tif 000021
【図２１】
2010228227.tif 000022
【図６】
2010228227.tif 000023