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