(57)【要約】【課題】  補正対象となる画素以外の画素の影響を考慮した補正を行う画像処理装置を提供すること。【解決手段】  本発明は、画素毎の入力画素値を含む画像データを記憶する画像記憶手段と、処理対象となる画素列を特定する画素列特定手段と、補正対象となる自画素を特定する自画素特定手段であって、前記画素列の一端から他端まで所定の回数往復するよう自画素を特定する自画素特定手段と、前記自画素以外の画素である参照画素を、前記自画素と前記参照画素との位置関係に基づいて特定する参照画素特定手段と、前記自画素および前記参照画素の入力画素値から前記自画素の出力画素値を決定する濃度補正テーブルを記憶したテーブル記憶手段と、前記自画素に対し、前記濃度補正テーブルを用いて仮補正値を算出する仮補正値算出手段と、前記画素列に属する画素の各々に対し、所定の回数算出された仮補正値を平均する平均値算出手段とを有する画像処理装置を提供する。【選択図】  図１
2007015336.tif 000002
【特許請求の範囲】
【請求項１】
マトリクス状に配置された複数の画素の画素毎の入力画素値を含む画像データのうち、処理対象となる画素列を特定する画素列特定手段と、
前記画素列特定手段により特定された画素列に属する画素のうち、補正対象となる自画素を特定する自画素特定手段であって、前記画素列の一端から他端まで所定の回数往復するよう自画素を特定する自画素特定手段と、
前記画素列に属する画素のうち、前記自画素特定手段により特定された自画素以外の画素である参照画素を、前記自画素と前記参照画素との位置関係に基づいて特定する参照画素特定手段と、
前記自画素の入力画素値と、前記参照画素の入力画素値とから、前記自画素の出力画素値を決定する濃度補正テーブルを記憶したテーブル記憶手段と、
前記自画素に対し、前記テーブル記憶手段に記憶された濃度補正テーブルを用いて仮補正値を算出する仮補正値算出手段と、
前記画素列に属する画素の各々に対し、所定の回数算出された仮補正値を平均する平均値算出手段と、
前記平均値算出手段により算出された平均値を各画素の補正値として出力する出力手段と
を有する画像処理装置。
【請求項２】
前記自画素特定手段により特定された自画素が処理の起点となった画素であり、当該自画素に対する仮補正値の算出回数が１回目である場合、前記仮補正値算出手段は、参照画素の入力画素値としてあらかじめ決められた値を用いることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記自画素特定手段により特定された自画素が前記画素列の端部に位置する画素であり、当該自画素に対する仮補正値の算出回数が２回目以降である場合、前記仮補正値算出手段は、参照画素の入力画素値として当該自画素において前回算出された仮補正値の値を用いることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
マトリクス状に配置された複数の画素の画素毎の入力画素値を含む画像データのうち、処理対象となる画素列を特定する画素列特定ステップと、
前記画素列に属する画素のうち、補正対象となる自画素を特定する自画素特定ステップであって、前記画素列の一端から他端まで所定の回数往復するよう自画素を特定する自画素特定ステップと、
前記画素列に属する画素のうち、前記自画素以外の画素である参照画素を、前記自画素と前記参照画素との位置関係に基づいて特定する参照画素特定ステップと、
前記自画素の入力画素値と、前記参照画素の入力画素値とから、前記自画素の出力画素値を決定する濃度補正テーブルを用いて仮補正値を算出する仮補正値算出ステップと、
前記画素列に属する画素の各々に対し、所定の回数算出された仮補正値を平均する平均値算出ステップと、
前記平均値を各画素の補正値として出力する出力ステップと
を有する画像処理方法。
【請求項５】
コンピュータ装置に、
マトリクス状に配置された複数の画素の画素毎の入力画素値を含む画像データのうち、処理対象となる画素列を特定する画素列特定ステップと、
前記画素列に属する画素のうち、補正対象となる自画素を特定する自画素特定ステップであって、前記画素列の一端から他端まで所定の回数往復するよう自画素を特定する自画素特定ステップと、
前記画素列に属する画素のうち、前記自画素以外の画素である参照画素を、前記自画素と前記参照画素との位置関係に基づいて特定する参照画素特定ステップと、
前記自画素の入力画素値と、前記参照画素の入力画素値とから、前記自画素の出力画素値を決定する濃度補正テーブルを用いて仮補正値を算出する仮補正値算出ステップと、
前記画素列に属する画素の各々に対し、所定の回数算出された仮補正値を平均する平均値算出ステップと、
前記平均値を各画素の補正値として出力する出力ステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ドットマトリクスを出力する装置において濃度むらを補正する技術に関する。
【背景技術】
【０００２】
インクジェットプリンタ等、液滴吐出機構を有する画像形成装置は、印刷の高速化のためにインクを吐出するノズルを複数有している。ここで、理想的にはすべてのノズルが均一な間隔で一列に配列されていることが望ましい。しかし、現実には製造技術上の問題からノズルの間隔には一定のばらつきが存在する。また、ノズルから吐出されるインクの量にばらつきが生じる場合もある。このような印刷ヘッドを用いて印刷を行うと、ヘッドから吐出されたインクは、ノズル間隔のばらつきに起因して着弾位置や大きさにばらつきが発生する。すなわち、用紙上に形成される画像（ドット）は、ノズルのばらつきを反映したものとなってしまう。特にラインヘッド型インクジェットプリンタのような用紙送り方向のみの１パス型の画像形成装置においては、このようなノズルのばらつきはいわゆるバンディング現象を引き起こす原因となる。
【０００３】
ノズルのばらつきに起因するバンディング現象を抑制する技術として、画像処理によりノズルのばらつきを補償する技術がある（例えば特許文献１〜３参照）。特許文献１には、ノズルのばらつきに起因する印刷濃度のむらを、補正テーブルにより補償する技術が開示されている。すなわち、いわゆるベタパターンを印刷したときの印刷濃度に基づいて得られた補正係数をあらかじめ画像形成装置に記憶しておき、印刷時には画素の階調値に補正係数を乗じることにより濃度むらを補正するものである。特許文献２には、特許文献１に記載の技術に加え、階調特性を直線状に補正する技術が開示されている。特許文献３には、複数の補正テーブルを用いて濃度むらを補正する技術が開示されている。
【特許文献１】特開平１−１２９６６７号公報
【特許文献２】特開平３−１６２９７７号公報
【特許文献３】特開平５−５７９６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１〜３に記載された補正テーブルはいずれも、補正対象となるノズルの特性のみに着目したものであって、隣接するノズルの影響を考慮したものではなかった。そのため、隣接ノズルの影響により正確な濃度補正を行うことができず、印刷画像の画質が悪化してしまうという問題があった。ここで、隣接するノズルの影響とは、以下で説明するような問題をいう。
【０００５】
図２０は、補正テーブル作成の際の隣接ノズルの影響を説明する図である。図２０は、隣接する２つのノズル（ノズル２４０３および２４０４）により用紙（記録材）上に形成される２つのドット（ドット２４０１および２４０２）を示している。例えば、ドット２４０１および２４０２が階調値１２０の出力データにより形成されたドットであり、補正前には、ドット２４０１の濃度が１１０、ドット２４０２の濃度が１３０と測定されたとする。この場合、ドット２４０１は濃度が１２０になるように（濃くなるように）、ドット２４０２は濃度が１２０になるように（薄くなるように）補正される。ところが、ドット２４０１の濃度が１１０と測定されるのは、「ドット２４０２の濃度が１３０である」という事実に影響されている。図２０では、ドット２４０２が一部ドット２４０１と重なりを生じており、この重なりによりドット２４０１の濃度が１１０と測定される。しかし、実際にノズル２４０３から吐出されるインクの量は、濃度１１０に相当する量よりは少ない。そのため、濃度１１０を１２０にする補正を行っても、ドット２４０１の濃度は意図したものにはならない。これは、隣接ノズルの影響を考慮せず、補正対象のノズル単体の特性にしか着目していないことが原因である。さらに、これ以外にもノズルの取り付け位置の誤差なども隣接ノズルに影響を与える原因となる。
【０００６】
本発明は上述の事情に鑑みてなされたものであり、隣接ノズルにより形成された画素等、補正対象となる画素以外の画素の影響を考慮した補正を行うことができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明は、マトリクス状に配置された複数の画素の画素毎の入力画素値を含む画像データのうち、処理対象となる画素列を特定する画素列特定手段と、前記画素列特定手段により特定された画素列に属する画素のうち、補正対象となる自画素を特定する自画素特定手段であって、前記画素列の一端から他端まで所定の回数往復するよう自画素を特定する自画素特定手段と、前記画素列に属する画素のうち、前記自画素特定手段により特定された自画素以外の画素である参照画素を、前記自画素と前記参照画素との位置関係に基づいて特定する参照画素特定手段と、前記自画素の入力画素値と、前記参照画素の入力画素値とから、前記自画素の出力画素値を決定する濃度補正テーブルを記憶したテーブル記憶手段と、前記自画素に対し、前記テーブル記憶手段に記憶された濃度補正テーブルを用いて仮補正値を算出する仮補正値算出手段と、前記画素列に属する画素の各々に対し、所定の回数算出された仮補正値を平均する平均値算出手段と、前記平均値算出手段により算出された平均値を各画素の補正値として出力する出力手段とを有する画像処理装置を提供する。この画像処理装置によれば、自画素以外の画素の影響を考慮した補正処理を行うことができる。
【０００８】
好ましい態様において、この画像処理装置は、前記自画素特定手段により特定された自画素が処理の起点となった画素であり、当該自画素に対する仮補正値の算出回数が１回目である場合、前記仮補正値算出手段は、参照画素の入力画素値としてあらかじめ決められた値を用いてもよい。
【０００９】
別の好ましい態様において、この画像処理装置は、前記自画素特定手段により特定された自画素が前記画素列の端部に位置する画素であり、当該自画素に対する仮補正値の算出回数が２回目以降である場合、前記仮補正値算出手段は、参照画素の入力画素値として当該自画素において前回算出された仮補正値の値を用いてもよい。
【００１０】
また、本発明は、マトリクス状に配置された複数の画素の画素毎の入力画素値を含む画像データのうち、処理対象となる画素列を特定する画素列特定ステップと、前記画素列に属する画素のうち、補正対象となる自画素を特定する自画素特定ステップであって、前記画素列の一端から他端まで所定の回数往復するよう自画素を特定する自画素特定ステップと、前記画素列に属する画素のうち、前記自画素以外の画素である参照画素を、前記自画素と前記参照画素との位置関係に基づいて特定する参照画素特定ステップと、前記自画素の入力画素値と、前記参照画素の入力画素値とから、前記自画素の出力画素値を決定する濃度補正テーブルを用いて仮補正値を算出する仮補正値算出ステップと、前記画素列に属する画素の各々に対し、所定の回数算出された仮補正値を平均する平均値算出ステップと、前記平均値を各画素の補正値として出力する出力ステップとを有する画像処理方法を提供する。この画像処理方法によれば、自画素以外の画素の影響を考慮した補正処理を行うことができる。
さらに、本発明は、コンピュータ装置に上記の画像処理方法を実行させるプログラムを提供する。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施形態について説明する。
＜１．画像形成システム＞
図１は、本発明の一実施形態に係る画像形成システム１の機能構成を示すブロック図である。画像形成システム１は、画像形成装置２００およびＰＣ（Personal Computer）１００から構成される。画像形成装置２００は、制御データに従ってインクの吐出を行い用紙（記録材）上に画像を形成する装置である。ＰＣ１００は、画像形成装置２００を制御するコンピュータ装置である。ＰＣ１００は、ワードプロセッサ、画像加工ソフト等のアプリケーション１０８と、画像形成装置２００を制御するためのデバイスドライバ１０９とを有する。アプリケーション１０８は、ユーザの指示入力などに応じて画像データをデバイスドライバ１０９に引き渡す。デバイスドライバ１０９は、処理対象の画像データ（ＲＧＢ（赤、緑、青）カラー多値）を、ＣＭＹＫ（シアン、マゼンタ、イエロー、黒）の色毎にノズルからのインクの吐出を指示する制御データに変換し、制御データを画像形成装置２００に出力する機能を有する。
【００１２】
デバイスドライバ１０９は、詳細には以下の機能を有する。解像度変換部１０１は、入力されたカラー多値の画像データを、画像形成装置２００で処理可能な解像度に解像度変換する。色空間変換部１０２は、ＲＧＢ形式の画像データをＣＭＹＫ形式の画像データに変換する。濃度補正部１０３は、濃度補正テーブルＴＢ１を用いて画像データに濃度補正処理を行う。ここで、濃度補正テーブルＴＢ１は画像形成装置２００に記憶されている濃度補正テーブルＴＢ１を読み出してＰＣ１００に記憶したものである。濃度補正テーブルＴＢ１の詳細は後述する。量子化部１０４は、多値ＣＭＹＫデータを２値ＣＭＹＫデータに変換する２値化処理を行う。ラスタライズ部１０５は、２値ＣＭＹＫデータから制御データを生成する。画像形成装置２００の画像形成部２５０は、制御データに従ってＣＭＹＫ各色のインクを吐出する。こうして、画像形成システム１は用紙（記録材）上に画像を形成する。
【００１３】
図２は、画像形成装置２００のハードウェア構成を示すブロック図である。本実施形態において、画像形成装置２００はラインヘッド型インクジェットプリンタである。ＣＰＵ（Central Processing Unit）２１０は、ＲＯＭ（Read Only Memory）２２０に記憶されている印刷処理プログラムを読み出して実行する。ＲＯＭ２２０は、画像形成装置２００に固有の濃度補正テーブルＴＢ１を記憶している（濃度補正テーブルＴＢ１の詳細は後述する）。また、ＲＯＭ２２０は、書き換え可能なＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）であることが望ましい。ＲＡＭ（Random Access Memory）２３０は、ＣＰＵ２１０がプログラムを実行する際の作業エリアとして機能する。Ｉ／Ｆ２４０は、ＰＣ１００等の他の機器との間でデータや制御信号の送受信を行うためのインターフェースである。ＲＡＭ２３０はまた、Ｉ／Ｆ２４０を介して受信したデータを記憶する。画像形成部２５０は、ＣＰＵ２１０の制御下で、ノズル制御データに従って用紙上に画像形成を行う。以上の各構成要素は、バス２６０で相互に接続されている。ＣＰＵ２１０がアプリケーション１０８およびデバイスドライバ１０９を実行することにより、画像形成装置２００は、図１に示される各機能構成要素に相当する機能を具備する。
【００１４】
画像形成部２５０は、図２に示されるように、さらに以下で説明する構成を有している。ラインヘッド２５１は、インクを吐出するノズル（図示略）を複数（ｚ個）有する印刷ヘッドである。ノズルは、圧電体により液滴を吐出するピエゾ式のもの、加熱により吐出する加熱式のもの等、いかなる構造のノズルでもよい。ラインヘッド２５１は、画像形成装置２００が印刷可能な用紙の最大幅以上の大きさを有している。インクタンク２５２はノズルにインクを供給するものであって、ＣＭＹＫの色毎に設けられている。本実施形態において、画像形成装置２００は４色のインクを用いて画像形成を行うが、６色、７色、あるいはそれ以上の色数のインクを用いる構成としてもよい。ページバッファ２５７は、画像１ページ分のノズル制御データを記憶するメモリである。ヘッド駆動回路２５３は、制御部２５４の制御下で、ラインヘッド２５１に搭載された複数のノズルのうち、指定されたノズルからインクの液滴を吐出させるための制御信号をラインヘッド２５１に出力する。このように、指定されたノズルから、用紙に対しインクの液滴が吐出される。ノズルから吐出されたインクの液滴は、用紙上にドットを形成する。以下、説明の便宜上、ノズルからインクの液滴を吐出することを「ドットのオン」、ノズルからインクの液滴を吐出しないことを「ドットのオフ」と表現する。例えば「ドットのオン／オフを指定するデータ」とは、指定されたノズルについてインクの液滴を吐出するか吐出しないかを指定するデータを意味する。また、「ドット」とはノズルから吐出されるインク滴により用紙上に形成される画像を意味する。
【００１５】
ラインヘッド２５１は用紙幅以上のサイズを有しているので、１ライン分のドットを形成することができる。モータ２５５は用紙を所定方向に移動（紙送り）させるモータである。モータ駆動回路２５６は、制御部２５４の制御下でモータ２５５に駆動信号を出力する。モータ２５５が用紙を１ライン分移動させると、次のラインの描画が行われる。画像形成装置２００は、このようにして１方向の走査（用紙の紙送り）のみで１枚の用紙に画像形成を行うことができる。
【００１６】
図３は、ＰＣ１００のハードウェア構成を示すブロック図である。ＣＰＵ１１０は、ＰＣ１００の各構成要素を制御する制御部である。ＣＰＵ１１０は、ＨＤＤ（Hard Disk Drive）１５０に記憶されている制御データ生成プログラム（デバイスドライバ）を読み出して実行する。ＲＡＭ１３０は、ＣＰＵ１１０がプログラムを実行する際の作業エリアとして機能する。ＲＯＭ１２０は、ＰＣ１００の起動に必要なプログラム等を記憶している。Ｉ／Ｆ１４０は、画像形成装置２００等の他の機器との間でデータや制御信号の送受信を行うためのインターフェースである。ＨＤＤ１５０は、各種データやプログラムを記憶する記憶装置である。また、ＨＤＤ１５０は、画像形成装置２００から読み出した濃度補正テーブルＴＢ１を記憶する。キーボード１６０およびディスプレイ１７０は、ユーザがＰＣ１００に対し操作入力を行うためのユーザインターフェースである。以上の各構成要素は、バス１９０で相互に接続されている。ＣＰＵ２１０が印刷処理プログラムを実行することにより、ＰＣ１００は、図１に示される各機能構成要素に相当する機能を具備する。なお、図示は省略したが、ＰＣ１００と画像形成装置２００とは、Ｉ／Ｆ１４０およびＩ／Ｆ２４０を介して、有線あるいは無線で接続されている。
【００１７】
図４は、画像形成システム１の動作を示すフローチャートである。画像形成装置２００の図示せぬ電源が投入されると、ＣＰＵ２１０は、ＲＯＭ２２０から印刷処理プログラムを読み出して実行する。印刷処理プログラムを実行すると、ＣＰＵ２１０は、制御データの入力待ち状態となる。ＰＣ１００において、アプリケーション１０８から印刷指示が入力されると、ＣＰＵ１１０は、ＨＤＤ１５０から画像形成装置２００のデバイスドライバ１０９を読み出して実行する。まず、ＣＰＵ１１０は処理対象の画像データをＨＤＤ１５０から読み出し、ＲＡＭ１３０に記憶する（ステップＳ１００）。本実施形態において、入力画像データはＲＧＢカラー多値の画像データである。また、画像形成装置２００はＣＭＹＫ４色のインクにより画像形成を行うインクジェットプリンタである。したがって、画像形成装置２００は、ＲＧＢからＣＭＹＫへと画像データの色空間を変換する必要がある。また、入力される画像データは画素ごとに階調値を有しているが、画像形成装置２００のノズルから吐出されるインクは、あるサイズのドットについてドットのオン／オフ（ドットを打つ／打たない）の２階調のみで中間階調を表現することができない。また、画像形成装置２００が形成することのできるドットのサイズはＳ、Ｍ、Ｌの３種類である。このため画像形成装置２００においては、画像データの１画素に、ａドット×ａドットのドットマトリクスを対応させ、ドットマトリクスに描画されるドットの数で階調表現を行っている。したがって、入力画像データをドットのオン／オフを指定するデータに変換する必要がある。このために、以下で説明するように、画像データの解像度を、ノズルの数に相当する解像度に変換する処理、および、多階調の画像データをドットのオン／オフを指定する２階調のデータに変換する処理を行う必要がある。
【００１８】
続いてＣＰＵ１１０は、入力画像データの解像度を判断する。ＣＰＵ１１０は入力画像データの解像度が画像形成装置２００で処理可能な解像度と異なる場合には、入力画像データを、画像形成装置２００が処理可能な解像度とする解像度変換処理を行う（ステップＳ１１０）。ＣＰＵ１１０は、解像度変換後の画像データをＲＡＭ１３０に記憶する。続いてＣＰＵ１１０は、解像度変換後の画像データを画像形成装置２００の色空間に適合させるため、ＲＧＢ形式の画像データをＣＭＹＫ形式の画像データに変換する（ステップＳ１２０）。ＣＰＵ１１０は色変換後の画像データをＲＡＭ１３０に記憶する。続いてＣＰＵ１１０は、色変換後の画像データに対して濃度補正処理を行う（ステップＳ１３０）。濃度補正処理の詳細については後述する。
【００１９】
続いてＣＰＵ１１０は、濃度補正後の画像データに対してディザマトリクス法、誤差拡散法等による２値化（量子化）処理を行う（ステップＳ１４０）。ＣＰＵ１１０は、濃度補正後の画像データをＲＡＭ１３０に記憶する。ＣＰＵ２１は、濃度補正後の画像データから、制御データを生成するラスタライズ処理を行う（ステップＳ１５０）。ＣＰＵ１１０は、生成された制御データを画像形成装置２００に出力する。画像形成装置２００の画像形成部２５０は、制御データに従って用紙上に画像形成を行う。画像形成装置２００は、このようにして濃度が補正された画像を用紙に形成する。
【００２０】
＜２．濃度補正テーブルの生成＞
続いて、濃度補正テーブルＴＢ１の生成方法について説明する。ここでは、黒（Ｋ）インクを例に取り説明するが、濃度補正テーブルは各色について作成される。
図５は、本実施形態に係る濃度補正テーブル生成システム２の機能構成を示すブロック図である。濃度補正テーブル生成システム２は、画像形成装置２００、ＰＣ３００、およびスキャナ４００から構成される。図示は省略したが、ＰＣ３００と画像形成装置２００、ＰＣ３００とスキャナ４００はそれぞれ、有線あるいは無線で接続されている。ＰＣ３００は、濃度補正テーブル生成のためのテストパターン３０１を記憶している。画像形成装置２００の画像形成部２５０は、テストパターン３０１に従って画像Ｄを出力する。スキャナ４００は画像Ｄを読み取り、スキャン画像を生成する。スキャナ４００は、生成したスキャン画像をＰＣ３００に出力する。ＰＣ３００は、受信したスキャン画像をスキャン画像３０４として記憶する。ＰＣ３００の濃度測定部３０３は、スキャナ４００から出力されたスキャン画像３０４の濃度を計算する。濃度補正テーブル生成部３０２は、濃度測定部３０３による濃度測定結果に基づいて濃度補正テーブルを生成する。画像形成装置２００は、ＰＣ３００が生成した濃度補正テーブルを濃度補正テーブルＴＢ１として記憶する。
【００２１】
図６は、ＰＣ３００のハードウェア構成を示す図である。ＰＣ３００のハードウェア構成は基本的にＰＣ１００と同一であるので詳細な説明を省略し、ＰＣ１００との相違点のみ説明する。ＨＤＤ３５０は、濃度補正テーブル生成のためのテストパターン３０１を記憶している。また、ＨＤＤ３５０は、濃度補正テーブル生成のための濃度補正テーブル生成プログラムを記憶している。
【００２２】
図７は、濃度補正テーブル生成処理の概要を示すフローチャートである。ユーザがキーボード３６０を操作する等の方法によりテストパターンの生成を指示すると、ＰＣ３００のＣＰＵ３１０は、ＨＤＤ３５０から濃度補正テーブル生成プログラムを読み出して実行する。ＣＰＵ３１０はまず、テストパターンを生成する（ステップＳ２００）。すなわち、ＣＰＵ３１０は、ＨＤＤ３５０からテストパターン３０１を読み出す。ＣＰＵ３１０は、読み出したテストパターン３０１のデータをＩ／Ｆ３４０を介して画像形成装置２００に出力する。
【００２３】
図８および図９は、テストパターン３０１（の一部）を例示する図である。図８は、８つのノズル（順番にノズル＃００〜＃０７と記す）から出力するテストパターンの基本パターンを示す。図中の上下方向にノズルが並んでおり、図中の左右方向が紙送り方向である。本発明は、補正対象となる自画素の画素値（輝度）と、自画素以外の画素である参照画素の画素値とから自画素の出力画素値（補正値）を決定する方法に関するものである。ここで、本実施形態においては、参照画素が、自画素を形成するノズルに隣接するノズルにより形成される画素である態様について説明する。テストパターン３０１は、このような補正処理を行うための濃度補正テーブルを生成するためのテストパターンである。
【００２４】
図８に示される基本パターンにおいて、ノズル＃００、＃０２、＃０４、＃０６の４つのノズルについては、単一の輝度（図８の例では、輝度０）のパターンとなっている。なお、輝度とは、画素の明るさを意味する。画素の出力値を示す点では階調と同義であるが、輝度が最大値であるときは階調は最小値となり、輝度が最小値であるときは階調は最大値となる関係にある。ノズル＃０１、＃０３、＃０５、＃０７の４つのノズルについては、図中左から順に輝度０、５１、１０２、１５３、２０４、２５５というように複数の異なる輝度のパターンを組み合わせたものになっている。図８において、ノズル＃０１を補正対象のノズル（以下、「自ノズル」という）とすると、自ノズルに隣接するノズル（以下、「隣接ノズル」という）は、ノズル＃００である。すなわち、図８に示されるように、基本パターンは、ある輝度に固定された隣接ノズルにより形成されたパターンと、複数の輝度に変化させた自ノズルにより形成されたパターンから構成される。
【００２５】
図９（ａ）〜（ｆ）は、本実施形態において使用される６つの基本パターンを示す図である。図９（ａ）の基本パターンは、図８に示される基本パターンと同一のものである。図９（ａ）〜（ｆ）はそれぞれ、隣接ノズルの輝度が異なっている。すなわち、図９（ａ）〜（ｆ）の基本パターンにおいて、隣接ノズルの輝度はそれぞれ、０、５１、１０２、１５３、２０４、２５５となっている。すなわち、図９（ａ）〜（ｆ）の６つの基本パターンを使用することにより、自ノズル６階調×隣接ノズル６階調の３６通りの組み合わせについて補正データを作成することができる。すなわち、自ノズルｃ階調×隣接ノズルｃ階調のｃ2通りの組み合わせについて補正データを作成するには、ｃ個の基本パターンが必要である。
【００２６】
図８および図９において、ある輝度で出力される領域の最小単位を「単位パターン」という。例えば、図８の基本パターンにおいて、ノズル＃０１のパターンは、６つの単位パターンから構成される。
【００２７】
図１０は、単位パターンにおける階調表現を説明する図である。図１０（ａ）は、画像形成装置２００の１つのノズルが形成可能なドットのサイズを示している。画像形成装置２００は、Ｓサイズ（濃度４０％）、Ｍサイズ（濃度７０％）、Ｌサイズ（濃度１００％）の３種類のサイズのドットを打ち分けることができる。図１０（ｂ）は、単位パターンにおいて、濃度０％、２０％、４０％、６０％、８０％、１００％（２５６階調の場合、輝度２５５、２０４、１５３、１０２、５１、０に相当する）の階調表現を行う方法を示している。図１０（ｂ）に示されるように、単位パターンは６つのドットから構成される。濃度０％の階調表現をする場合、いずれのドットにもドット形成は行われない。濃度２０％の階調表現をする場合、１ドットおきにＳサイズ（濃度４０％）のドットが形成される。６ドット分平均すると濃度は２０％となる。濃度４０％の階調表現をする場合、すべてのドットにＭサイズのドットが形成される。以下同様に、各階調について、単位パターンについて平均すると所望の濃度となるようにドットが配置される。
【００２８】
なお、以上の説明では単位パターンの大きさを６ドット分として説明したが、単位パターンのサイズはこれに限定されるものではない。例えば、単位パターンの大きさを５０ドットとして測定精度の向上を図ってもよい。また、単位パターン内のどの位置にドットを打つかは、２値化処理により決定してもよい。
【００２９】
再び図５および図７を参照して説明する。テストパターン３０１のデータを受信すると、画像形成装置２００は、受信したデータに従って用紙上にテストパターンを印刷する（ステップＳ２１０）。このテストパターンは濃度補正テーブルを生成するためのものであるので、テストパターンの印刷の際には濃度補正処理は行われない。したがって、テストパターンは、ノズルの物理的特性に起因する印刷むらを含んだ状態で印刷される。
【００３０】
続いてスキャナ４００は、印刷されたテストパターンの画像Ｄを読み取る（ステップＳ２２０）。以降の処理でノズル毎の輝度値を測定するため、画像読み取りの際には印刷解像度より高い解像度で読み取りを行う。例えば、７２０ｄｐｉ（dot per inch）の解像度で印刷した場合、２８８０ｄｐｉの解像度で読み取りを行う。この場合、印刷ドット１つに対し４点の濃度データを取得することができる。スキャナ４００は、読み取った画像ＤのデータをＰＣ３００に出力する。ＰＣ３００のＣＰＵ３１０は、入力された画像データをスキャン画像３０４としてＨＤＤ３５０に記憶する。
【００３１】
続いてＣＰＵ３１０は、スキャン画像３０４における濃度データと、各ノズルとの対応付けを行う。対応付けは例えば、濃度があらかじめ決められたしきい値を下回ったデータに相当する位置をテストパターンの端部と特定することにより行われる。ＣＰＵ３１０は、このようにしてテストパターンの例えば左隅に相当するデータを特定する。ＣＰＵ３１０は、特定した左隅から縦４点×横４点＝１６点分の濃度データを、テストパターンの左隅の画素（ノズル）に対応する濃度データとして特定する。
【００３２】
続いてＣＰＵ３１０は、スキャン画像３０４に基づいて濃度補正テーブルの生成を行う（ステップＳ２３０）。ここではまず、図８のノズル＃０１およびノズル＃０２を例にとって濃度補正テーブル生成処理の詳細を説明する。図８において、点線で示した領域はノズル＃０１の印刷範囲である。ＣＰＵ３１０は、スキャン画像３０４から、単位パターンの平均輝度を算出する。以下の説明においてスキャン画像３０４における座標（ｘ，ｙ）の輝度をＣ（ｘ，ｙ）と表記する。ｘの正方向は図８において右方向であり、ｙの正方向は図８において下方向である。
【００３３】
ここで、単位パターンの左上隅の座標を（ｘ1，ｙ1）とする。上述のとおり単位パターンは縦１ドット×横６ドットのドットから構成される。また、本実施形態では印刷解像度の４倍（１ドットにつき縦４点×横４点）の解像度で読み取りを行っている。したがって、単位パターンは縦４点×横２４点のピッチで読み取られている。すなわち、単位パターン左下隅の座標は（ｘ1，ｙ1＋３）、右上隅の座標は（ｘ1＋２３，ｙ1）、右下隅の座標は（ｘ1＋２３，ｙ1＋３）となる。平均濃度Ｐは、次式（１）で算出される。
Ｐ＝ΣＣ（ｘ，ｙ）／ｍD  …（１）
ここで、ｍDは単位パターンに含まれる濃度データの数（本実施形態においては４×２４＝９６）を示す。また、本実施形態ではｘ＝ｘ1〜ｘ1＋２３、ｙ＝ｙ1〜ｙ1＋３であるので、この範囲でＣ（ｘ，ｙ）が足し合わされる。
【００３４】
図１１は、ノズル＃０１の濃度補正テーブルの生成方法を説明する図である。図１１（ａ）および（ｂ）に示される基本パターンは、図９（ａ）および（ｂ）に示される基本パターンと同一のものである。すなわち、図１１（ａ）は隣接ノズル輝度が０の基本パターンを示し、図１１（ｂ）は隣接ノズル輝度が５１の基本パターンを示している。ＣＰＵ３１０はまず、隣接ノズル輝度が０の場合（図１１（ａ））について、各単位パターンの平均輝度Ｐを算出する。本実施形態においては、入力輝度０、５１、１０２、１５３、２０４、２５５の単位パターンに対して、平均輝度が２０、２８、３７、５２、８０、８９であると算出される。次にＣＰＵ３１０は、隣接ノズル輝度が５１の場合（図１１（ｂ））について、各単位パターンの平均輝度Ｐを算出する。本実施形態においては、各単位パターンに対して、平均輝度が２７、３４、５４、７４、８３、１１６であると算出される。以下同様にして、隣接ノズル輝度が１０２、１５３、２０４、２５５の基本パターンについて各単位パターンの平均輝度を算出する。ＣＰＵ３１０は、算出した平均輝度をＲＡＭ３３０に記憶する。
【００３５】
図１２は、ノズル＃０２の濃度補正テーブルの生成方法を説明する図である。図１２（ａ）および（ｂ）に示される基本パターンも、図９（ａ）および（ｂ）に示される基本パターンと同一のものである。ＣＰＵ３１０はまず、隣接ノズル輝度が０の場合（図１２（ａ））について、各単位パターンの平均輝度Ｐを算出する。なお、ノズル＃００、＃０２、＃０４、＃０６においては、自ノズルの輝度が固定され隣接ノズルの輝度が変化する関係になっている点に注意が必要である。すなわち、図９の例では奇数番目のノズルは隣接ノズルの輝度が固定で自ノズルの輝度が変化しているが、偶数番目のノズルは自ノズルの輝度が固定で隣接ノズルの輝度が変化する関係になっている。ＣＰＵ３１０はまず、自ノズル輝度が０の場合（図１２（ａ））について、各単位パターンの平均輝度Ｐを算出する。本実施形態においては、隣接ノズルの入力輝度が０、５１、１０２、１５３、２０４、２５５である単位パターンに対して、平均輝度が１９、２６、２９、４１、５５、７７であると算出される。次にＣＰＵ３１０は、自ノズル輝度が５１の場合（図１２（ｂ））について、各単位パターンの平均輝度Ｐを算出する。本実施形態においては、各単位パターンに対して、平均輝度が２５、３１、４０、５６、７４、９７であると算出される。以下同様にして、自ノズル輝度が１０２、１５３、２０４、２５５の基本パターンについて各単位パターンの平均輝度を算出する。ＣＰＵ３１０は、算出した平均輝度をＲＡＭ３３０に記憶する。
【００３６】
ＣＰＵ３１０は、以上で説明したのと同様にしてノズル＃００〜＃０７のすべてのノズルについて各単位パターンの平均輝度Ｐを算出し、ＲＡＭ３３０に記憶する。ＣＰＵ３１０は、ＲＡＭ３３０に記憶された平均輝度を組み合わせ、濃度補正テーブルを生成する。ＣＰＵ３１０は、生成した濃度補正テーブルを濃度補正テーブルＴＢ１としてをＲＡＭ３３０に記憶する。ＣＰＵ３１０は、濃度補正テーブルの更新を要求するテーブル更新要求および濃度補正テーブルＴＢ１を画像形成装置２００に送信する。画像形成装置２００のＣＰＵ２１０は、テーブル更新要求を受信すると、受信した濃度補正テーブルＴＢ１をＲＯＭ２２０に記憶する。こうして、画像形成装置２００は、自身のノズルに特有の濃度むらを補正するための濃度補正テーブルＴＢ１を記憶する。
【００３７】
図１３は、ノズル＃００〜＃０２の３つのノズルについて、上述の方法により作成した濃度補正テーブルＴＢ１を例示する図である。濃度補正テーブルＴＢ１は、ノズル毎の濃度補正テーブルを含む。すなわち、ノズル＃００〜＃０７の８つのノズルが存在する場合、濃度補正テーブルＴＢ１は８つの濃度補正テーブルから構成される。ここで、テーブルの横方向は自ノズルの入力輝度を、縦方向は隣接ノズルの入力輝度を示す。自ノズルと隣接ノズルの交点の値が出力輝度（平均輝度）を示している。例えば、ノズル＃００に対して、自ノズルの入力輝度が５１で、隣接ノズルの入力輝度が１０２の場合、出力輝度は４５となる。
【００３８】
ここで、各ノズルにおける最高輝度（図１３の例では自ノズル輝度２５５かつ隣接ノズル輝度２５５）のうち、輝度が最も低いものをＭａｘＭｉｎと表す。図１３の例では、ノズル＃０１の輝度２４１が最も低いのでＭａｘＭｉｎ＝２４１である。同様に、各ノズルにおける最低輝度（図１３の例では自ノズル輝度０かつ隣接ノズル輝度０）のうち、輝度が最も高いものをＭｉｎＭａｘと表す。図１３の例では、ノズル＃０１の輝度２３が最も高いのでＭｉｎＭａｘ＝２３である。全てのノズルが出力できる輝度はこの範囲に制限されることになる。すなわち、この場合、全てのノズルが出力できる出力輝度範囲は２３〜２４１である。
同様にして、シアン、イエロー、マゼンタ各色について濃度補正テーブルが作成される。
【００３９】
＜３．濃度補正処理＞
次に、上述のようにして生成された濃度補正テーブルＴＢ１を用いた濃度補正処理について説明する。ここで説明する濃度補正処理は、図４のステップＳ１３０における濃度補正処理の詳細である。また、以下では黒インクに関する処理についてのみ説明するが、シアン・イエロー・マゼンタ各色についても同様に濃度補正処理が行われる。
本実施形態における濃度補正処理の概要は次のとおりである。まず、マトリクス状に配置された複数の画素を有する画像データに対し、処理対象となる画素列が特定される。続いて、特定された画素列の一端から他端まで１画素ずつ順に補正処理を行い仮補正値を算出する。画素列に対する仮補正値の算出は、所定回数の往復で行われる。最後に、画素毎に所定の回数算出された仮補正値の平均が算出され、真の補正値とされる。
【００４０】
図１４は、本実施形態に係る濃度補正処理の詳細を示すフローチャートである。本実施形態においては、画像形成装置２００がノズル＃００〜＃１７９の１８０個のノズルを有する場合について説明する。処理はノズル＃００により形成された画素から開始され、ノズル＃１７９により形成された画素まで順番に行われる。ＰＣ１００のＣＰＵ１１０はまず、全てのノズルが出力できる出力輝度範囲を算出する（ステップＳ３０１）。すなわち、濃度補正テーブルＴＢ１から、ＭａｘＭｉｎおよびＭｉｎＭａｘを算出する。なお、以下では図面が煩雑になるのを避けるため、ノズル＃００〜＃０２の３つのノズルについて例として説明を行う。ノズル＃００〜＃０２の濃度補正テーブルは、図１３に示されるものである。したがって、ＭａｘＭｉｎ＝２４１、ＭｉｎＭａｘ＝２３である。
【００４１】
次に、ＣＰＵ１１０は、処理対象となる画素である自画素を特定する位置パラメータｘおよびｙを初期化する（ステップＳ３０２）。ｘは画像幅方向の位置（すなわちライン番号）を、ｙは画像高さ方向の位置（すなわちノズル番号）を示すパラメータである。また、ＣＰＵ１１０は、ｙの増分を指定するパラメータΔｙも初期化する。さらに、ＣＰＵ１１０は、一連の処理の回数（往復の回数）を示すループカウンタの値を０に初期化する。本実施形態において、ＣＰＵ１１０は、ｘ＝０、ｙ＝０、Δｙ＝１にそれぞれ初期化する。加えて、ＣＰＵ１１０は、画素列の端点において参照画素（隣接ノズル）の輝度の初期値を示すパラメータＣEの値を初期化する（本実施形態においては、ＣE＝１２８）。
【００４２】
続いてＣＰＵ１１０は、要求出力輝度を算出する（ステップＳ３０３）。要求出力輝度とは、出力輝度の目標値のようなものである。本実施形態において、入力画像は２５６階調（０〜２５５）の輝度で表現されている。しかし、前述のように画像形成装置２００が出力可能な輝度はＭｉｎＭａｘ〜ＭａｘＭｉｎの範囲に制限される（本実施形態では、２３〜２４１）。そこで、入力画像の輝度が出力輝度範囲に収まるように、入力画像の輝度を要求出力輝度に変換する必要がある。ＣＰＵ１１０は、次式（２）に従って入力画像の輝度Ｉを要求出力輝度Ｃreqに変換する。
Ｃreq＝（ＭａｘＭｉｎ−ＭｉｎＭａｘ）／Ｃmax×Ｉ＋ＭｉｎＭａｘ  …（２）
ここで、Ｃmaxは最大輝度（本実施形態ではＣmax＝２５５）を示す。
【００４３】
いま、入力画像として輝度１２８のベタ画像を入力したとすると、（２）式にＭａｘＭｉｎ＝２４１、ＭｉｎＭａｘ＝２３、Ｃmax＝２５５、Ｉ＝１２８を代入してＣreq＝１３２が得られる（小数点以下四捨五入）。本実施形態において、入力画像はベタ画像なので、すべての画素で要求出力輝度は１３２となる。
【００４４】
図１５は、出力輝度範囲および要求出力輝度を視覚的に説明する図である。図１５中の破線は、（２）式を示す直線である。
【００４５】
再び図１４を参照して説明する。続いてＣＰＵ１１０は、ｙ番目のノズルの濃度補正テーブルを取得する（ステップＳ３０４）。この処理は例えば、以下のように行われる。ＣＰＵ１１０は、濃度補正テーブルの送信を要求するテーブル送信要求を画像形成装置２００に送信する。テーブル送信要求を受信すると、画像形成装置２００のＣＰＵ２１０は、ＲＡＭ２３０から濃度補正テーブルＴＢ１を読み出す。ＣＰＵ２１０は、読み出した濃度補正テーブルＴＢ１を含むテーブル送信応答を、テーブル送信要求の送信元であるＰＣ１００に送信する。ＰＣ１００のＣＰＵ１１０は、テーブル送信応答を受信すると、受信したテーブル送信応答から濃度補正テーブルＴＢ１を抽出する。ＣＰＵ１１０は、抽出した濃度補正テーブルＴＢ１をＨＤＤ１５０に記憶する。ＣＰＵ１１０は、ＨＤＤ１５０に記憶された濃度補正テーブルＴＢ１の中からｙ番目のノズルの濃度補正テーブルを抽出する。ＣＰＵ１１０は、抽出した濃度補正テーブルをＲＡＭ１３０に記憶する。
【００４６】
なお、画像形成装置２００からＰＣ１００への濃度補正テーブルＴＢ１の読出しは、例えば、ＰＣ１００にプリンタドライバをインストールしたときなど、図１４に示されるフローに先立って行われてもよい。なお、ＰＣ１００は、一度濃度補正テーブルＴＢ１を記憶しておけば、そこからｙ番目のノズルに対する濃度補正テーブルを読み出せばよい。
【００４７】
続いて、ＣＰＵ１１０は、自ノズルが、一連の処理の起点となったノズルであるか、すなわち、ｙ＝０かつループカウンタが０であるか判断する（ステップＳ３０５）。自ノズルが起点となったノズルである場合（ステップＳ３０５：ＹＥＳ）、ＣＰＵ１１０は、ＲＡＭ１３０に記憶されたパラメータＣEの値を隣接ノズルの輝度とする（ステップＳ３０７）。これは、自ノズルが端部に位置する場合は隣接ノズルが存在しないため、隣接ノズルの輝度の初期値を仮想的に与えるものである。ＣＰＵ１１０は、隣接ノズルの輝度と要求出力輝度を用いて濃度補正テーブルから仮補正値を算出する（ステップＳ３０８）。仮補正値の算出方法は後述する。ＣＰＵ１１０は、算出した仮補正値をＲＡＭ１３０に記憶する。
【００４８】
一方、自ノズルが一連の処理の起点となったノズルでない場合（ステップＳ３０５：ＮＯ）、ＣＰＵ１１０は、ＲＡＭ１３０からｙ−１番目のノズルの仮補正値を隣接ノズルの輝度として読み出す（ステップＳ３０６）。ＣＰＵ１１０は、隣接ノズルの輝度と要求出力輝度を用いて濃度補正テーブルから仮補正値を算出する（ステップＳ３０８）。仮補正値の算出方法は後述する。ＣＰＵ１１０は、算出した仮補正値をＲＡＭ１３０に記憶する。
【００４９】
ステップＳ３０８における仮補正値の算出は、以下のように行われる。
図１６は、図１３に示されるノズル＃００の濃度補正テーブルをグラフ化した図である。図１６に示されるように、濃度補正テーブルは、隣接ノズルの輝度ごとの「自ノズル入出力特性」を示すものと考えられる。前述のように、自ノズルが処理の起点となったノズルであるノズル＃００である場合、隣接ノズルの入力輝度はあらかじめ決められた値（本実施形態では１２８）が用いられる。
【００５０】
本実施形態において、濃度補正テーブルは、隣接ノズルが０、５１、１０２、１５３、２０４、２５５の６つの値についてのデータを記録したものである。したがって、隣接ノズルの入力輝度がこれらの値以外の値である場合は、補間により値を算出する必要がある。いま、隣接ノズルの入力輝度が１２８であるので、入力輝度が１０２と１５３のときのデータを用いて線形補間を行う。具体的には次のとおりである。
【００５１】
図１７は、近似直線を用いた補間方法を示す図である。ＣＰＵ１１０はまず、濃度補正テーブルから補間に用いる４点のデータを特定する。隣接ノズルの輝度が１２８であるので、隣接ノズルの輝度がその前後の１０２と１５３であるデータが用いられる。ＣＰＵ１１０は、隣接ノズルの輝度が１０２の直線と１５３の直線のうち、輝度が１２８である点を囲む４点を特定する。本実施形態においては、図１３に示されるノズル＃００の濃度補正テーブルのうち太線で囲まれた４点のデータが用いられる。これらの４つのデータが、図１７（ａ）におけるＤ（ｍ，ｎ）、Ｄ（ｍ＋１，ｎ）、Ｄ（ｍ，ｎ＋１）、Ｄ（ｍ＋１，ｎ＋１）に相当する。この場合、Ｄ（ｍ，ｎ）＝９８、Ｄ（ｍ＋１，ｎ）＝１３３、Ｄ（ｍ，ｎ＋１）＝１２４、Ｄ（ｍ＋１，ｎ＋１）＝１６１である。ここで、記号Ｄ（ｍ，ｎ）は、自ノズルの階調番号がｍ、参照ノズルの階調番号がｎであるときの濃度データを意味する。階調番号とは、例えば図１３のような濃度補正テーブルを用いる場合、０、５１、１０２、１５３、２０４、２５５の輝度に対して順番にｍ＝１、２、…、６というように付す番号を意味する。
【００５２】
続いて、ＣＰＵ１１０は、隣接ノズルの輝度ＦNから、線形補間により補間値Ｄ1およびＤ2の値を算出する（図１７（ｂ））。この場合、ＦN＝１２８、Ｄ1＝１１１、Ｄ2＝１４７である。続いて、ＣＰＵ１１０は、補間値Ｄ1およびＤ2を結ぶ直線の式を求める。ＣＰＵ１１０は、この直線の式に要求輝度ＤOを代入し、仮補正値ＦOを算出する（図１７（ｃ））。この場合、ＤO＝１３２であるので、ＦO＝２３３と算出される。図１６において点線は、補間により求めた隣接ノズル輝度が１２８の近似入出力特性を示している。
【００５３】
なお、近似直線を用いた補間方法に代えて、近似平面を用いた補間を採用してもよい。
図１８は、近似平面を用いた補間方法を説明する図である。ＣＰＵ１１０は、Ｄ（ｍ，ｎ）、Ｄ（ｍ＋１，ｎ）、Ｄ（ｍ，ｎ＋１）の３点を含む平面の式と、Ｄ（ｍ＋１，ｎ）、Ｄ（ｍ，ｎ＋１）、Ｄ（ｍ＋１，ｎ＋１）の３点を含む平面の式を求める。次に、ＣＰＵ１１０は、この２平面の交線の式を求める。ＣＰＵ１１０は、この直線の式に要求輝度ＤOを代入し、仮補正値ＦOを算出する。
【００５４】
以上で説明したように、ノズル＃００に対して隣接ノズル輝度としてあらかじめ決められた値（１２８）と、補間により求めた隣接ノズル輝度が１２８の近似入出力特性を用いることにより、要求出力輝度１３２に対して必要な入力輝度、すなわち仮補正値を求めることができる。
【００５５】
再び図１４を参照して説明する。自ノズルの仮補正値を算出すると、ＣＰＵ１１０は、ノズル番号を更新する（ステップＳ３０９）。具体的には、ｙ＝ｙ＋Δｙとしてノズル番号ｙを更新する。次に、ＣＰＵ１１０は、先ほど処理したノズルが端部に位置するノズルであったか判断する（ステップＳ３１０）。先ほど処理したノズルが端部に位置するノズルで無かった場合（ステップＳ３１０：ＮＯ）、ＣＰＵ１１０は、上述のステップＳ３０４〜Ｓ３０９の処理を繰り返し実行する。本実施形態において、ノズル＃００についてステップＳ３０４〜Ｓ３０９の処理が完了すると、続いてノズル＃０１についてステップＳ３０４〜Ｓ３０９の処理が行われる。
【００５６】
ノズル＃０１に対するステップＳ３０４〜Ｓ３０９の処理も、基本的にはノズル＃００に対するステップＳ３０４〜Ｓ３０９の処理と同様に行われる。ノズル＃００に対する処理と異なる点は次のとおりである。いま、自ノズルはノズル＃０１なので、ステップＳ３０５における判断結果はＮＯとなる。この場合処理はステップＳ３０６に進む。ステップＳ３０６において、ＣＰＵ１１０は、ＲＡＭ１３０からｙ−１番目のノズル、すなわちノズル＃００の仮補正値を隣接ノズルの輝度として読み出す。以下ステップＳ３０８〜Ｓ３１２の処理はノズル＃００の場合と同様である。ノズル＃０２以降のノズルについても、同様の処理が行われる。
【００５７】
一方、先ほど処理したノズルが端部に位置するノズルであった場合（ステップＳ３１０：ＹＥＳ）、ＣＰＵ１１０は、同一画素に対する処理が所定回数行われたか判断する（ステップＳ３１１）。具体的には、ＣＰＵ１１０は、ループカウンタの値が所定のしきい値を超えたか判断する。
【００５８】
同一画素に対する処理が所定回数行われていない場合（ステップＳ３１１：ＮＯ）、ＣＰＵ１１０は処理方向を反転する（ステップＳ３１２）。すなわち、ＣＰＵ１１０はΔｙの符号を反転させる。Δｙ＝１だった場合はΔｙ＝−１とされ、Δｙ＝−１だった場合はΔｙ＝１とされる。また、ＣＰＵ１１０は、先ほど算出した端部の仮補正値を、パラメータＣEとしてＲＡＭ１３０に記憶する。さらに、ＣＰＵ１１０は、ループカウンタの値を１増加させる。以上の処理が行われた後、処理はステップＳ３０４に戻る。ここで、ノズル列（画素列）の左から右に処理が進行する場合、自ノズルの左に位置するノズルが隣接ノズルとされる。また、ノズル列の右から左に処理が進行する場合、自ノズルの右に位置するノズルが隣接ノズルとされる。
【００５９】
同一画素に対する処理が所定回数行われた場合（ステップＳ３１１：ＹＥＳ）、ＣＰＵ１１０は、各ノズルについて、ステップＳ３０８において算出した仮補正値の平均値を算出する（ステップＳ３１３）。ＣＰＵ１１０は、算出した平均値を真の補正値としてＲＡＭ１３０に記憶する。
【００６０】
続いてＣＰＵ１１０は、ｘの値を更新し、ノズル番号を０に戻す。ＣＰＵ１１０は、すべての画素について処理が完了したか判断する。すべての画素について処理が完了していない場合、ＣＰＵ１１０は、ステップＳ３０４〜Ｓ３１３の処理を繰り返し実行する。すべての画素について処理が完了した場合、ＣＰＵ１１０は、濃度補正処理を完了する。
【００６１】
図１９は、以上で説明した濃度補正処理の概念を示す図である。ノズル＃００〜＃１７９の１８０個のノズルに対し、ノズル＃００を起点としてノズル＃１７９まで順番に仮補正値の算出が行われる。仮補正値の算出には隣接ノズルの輝度が必要であるが、端部のノズルには隣接ノズルが存在しない。そこで、ノズル＃００に対しては、隣接ノズルの輝度として、あらかじめ決められた初期値が与えられる。終点であるノズル＃１７９まで処理が完了すると、今度は逆にノズル＃１７９からノズル＃００まで順番に仮補正値の算出が行われる。今度は、ノズル＃１７９の隣接ノズルの輝度として、先ほど算出したノズル＃１７９の仮補正値が用いられる。ノズル＃００まで仮補正値の算出が完了すると１往復分の処理が完了する。２往復目の処理を行う際は、ノズル＃００における隣接ノズル輝度として、先ほど算出したノズル＃００の仮補正値が用いられる。以下、所定の回数往復するように仮補正値の算出が行われる。例えば、ａ往復するように仮補正値の算出を行うと、１つのノズル（画素）につき２ａ個の仮補正値が算出される。最後に、２ａ個の仮補正値の平均値が算出され、真の補正値とされる。処理の起点のノズル（画素）に対しては、隣接ノズルの輝度としてあらかじめ決められた値が用いられるため、１方向のみの処理では処理方向によって補正結果が異なってしまうおそれがあるが、本実施形態のようにノズル列に対して所定の回数往復するように処理を行えば、このような問題を解決することができる。
【００６２】
以上で説明したように、本実施形態によれば、隣接ノズルの影響を考慮した補正テーブルを生成することができる。また、本実施形態に係る画像形成システムによれば、隣接ノズルの影響を考慮した補正テーブルを用いることにより、ノズルの物理的特性のばらつきを補償することができる。これにより、より高画質な画像を得ることができる。
【００６３】
なお、本実施形態の説明に用いた補正テーブル（図１３）は、あくまで例示であり、補正テーブルの内容はこれに限定されるものではない。図１３に示される例では、濃度補正テーブルＴＢ１は、自ノズルおよび隣接ノズルについて、６つの輝度（階調値）のデータを含んでいるが、輝度の数は６つに限定されるものではない。補間の精度を向上させるためには多くの階調値のデータを用いることが望ましく、メモリ容量を節約するためには少ない階調値のデータを用いることが望ましい。
【００６４】
また、本実施形態においては、画像形成装置２００がラインヘッド型のプリンタである態様について説明したが、いわゆる２パス型のプリンタ等、ラインヘッド型以外のプリンタであってもよい。また、本実施形態においては、画像形成装置２００が４色のインクを用いて画像形成を行うプリンタである態様について説明したが、画像形成装置２００が用いるインクの数は４色に限定されない。画像形成装置２００は、６色、７色、あるいはそれ以上のインクを用いて画像形成を行ってもよい。
【００６５】
また、本実施形態においては、図４に示される画像処理をＰＣ１００が行う態様について説明したが、図４のステップＳ１００〜Ｓ１５０の処理の一部または全部を画像形成装置２００が行う構成としてもよい。図４のステップＳ１００〜Ｓ１５０の処理の全部を画像形成装置２００が行う場合、画像形成装置２００は、メモリカードからデータを読み取るためのメモリカードインターフェースを有することが望ましい。この場合、ユーザは、デジタルカメラ等の撮像装置により画像が記録されたメモリカードを、画像形成装置２００のメモリカードインターフェースに挿入する。画像形成装置２００は、挿入されたメモリカードから画像を読み取って図４の処理を行う。
【図面の簡単な説明】
【００６６】
【図１】一実施形態に係る画像形成システム１の機能構成を示す図である。
【図２】画像形成装置２００のハードウェア構成を示すブロック図である。
【図３】ＰＣ１００のハードウェア構成を示すブロック図である。
【図４】画像形成システム１の動作を示すフローチャートである。
【図５】濃度補正テーブル生成システム２の機能構成を示すブロック図である。
【図６】ＰＣ３００のハードウェア構成を示す図である。
【図７】濃度補正テーブル生成処理の概要を示すフローチャートである。
【図８】テストパターン３０１（の一部）を例示する図である。
【図９】テストパターン３０１（の一部）を例示する図である。
【図１０】単位パターンにおける階調表現を説明する図である。
【図１１】ノズル＃０１の濃度補正テーブルの生成方法を説明する図である。
【図１２】ノズル＃０２の濃度補正テーブルの生成方法を説明する図である。
【図１３】濃度補正テーブルＴＢ１を例示する図である。
【図１４】濃度補正処理の詳細を示すフローチャートである。
【図１５】出力輝度範囲および要求出力輝度を視覚的に説明する図である。
【図１６】ノズル＃００の濃度補正テーブルをグラフ化した図である。
【図１７】近似直線を用いた補間方法を示す図である。
【図１８】近似平面を用いた補間方法を説明する図である。
【図１９】濃度補正処理の概念を示す図である。
【図２０】補正テーブル作成の際の隣接ノズルの影響を説明する図である。
【符号の説明】
【００６７】
ＴＢ１…濃度補正テーブル、１…画像形成システム、２…濃度補正テーブル生成システム、１００…ＰＣ、１０１…解像度変換部、１０２…色空間変換部、１０３…濃度補正部、１０４…量子化部、１０５…ラスタライズ部、１０８…アプリケーション、１０９…デバイスドライバ、１１０…ＣＰＵ、１２０…ＲＯＭ、１３０…ＲＡＭ、１４０…Ｉ／Ｆ、１５０…ＨＤＤ、１６０…キーボード、１７０…ディスプレイ、１９０…バス、２００…画像形成装置、２１０…ＣＰＵ、２２０…ＲＯＭ、２３０…ＲＡＭ、２４０…Ｉ／Ｆ、２５０…画像形成部、２５１…ラインヘッド、２５３…ヘッド駆動回路、２５４…制御部、２５５…モータ、２５６…モータ駆動回路、２５７…ページバッファ、２９０…バス、３００…ＰＣ、３０１…テストパターン、３０２…濃度補正テーブル生成部、３０３…濃度測定部、３０４…スキャン画像、３１０…ＣＰＵ、３３０…ＲＡＭ、３４０…Ｉ／Ｆ、３５０…ＨＤＤ、３６０…キーボード、４００…スキャナ、２４０１…ドット、２４０３…ノズル
【図１】
2007015336.tif 000003
【図２】
2007015336.tif 000004
【図３】
2007015336.tif 000005
【図４】
2007015336.tif 000006
【図５】
2007015336.tif 000007
【図６】
2007015336.tif 000008
【図７】
2007015336.tif 000009
【図８】
2007015336.tif 000010
【図９】
2007015336.tif 000011
【図１０】
2007015336.tif 000012
【図１１】
2007015336.tif 000013
【図１２】
2007015336.tif 000014
【図１３】
2007015336.tif 000015
【図１４】
2007015336.tif 000016
【図１５】
2007015336.tif 000017
【図１６】
2007015336.tif 000018
【図１７】
2007015336.tif 000019
【図１８】
2007015336.tif 000020
【図１９】
2007015336.tif 000021
【図２０】
2007015336.tif 000022