以下、添付図面を参照しながら、本発明に係る画像処理装置、画像処理方法およびプログラムの実施形態を詳細に説明する。
図1は、本実施形態の画像形成装置100の機構部の概要を示す図である。画像形成装置100の中央には中間転写ユニットがあり、該中間転写ユニットには、無端ベルトである中間転写ベルト10がある。中間転写ベルト10は、例えば伸びの少ないフッ素樹脂や伸びの大きなゴム材料に帆布など伸びにくい材料で構成された基層に、弾性層を設けた複層ベルトである。弾性層は、例えばフッ素系ゴムやアクリロニトリル−ブタジエン共重合ゴムの表面に、例えばフッ素系樹脂をコーティングして平滑性のよいコート層を形成したものである。
中間転写ベルト10は、3つの支持ローラ14〜16に掛け廻されており、時計廻りに回動駆動される。第2の支持ローラ15の右には、画像転写後に中間転写ベルト10上に残留する残留トナーを除去する中間転写体クリーニングユニット17がある。第1の支持ローラ14と第2の支持ローラ15との間の中間転写ベルト10の移動方向に沿って、ブラック(K)、イエロー(Y)、マゼンタ(M)およびシアン(C)の4色ごとに、各色の感光体ユニット40が設けられ、各色の感光体ユニット40は、帯電ユニット18、現像ユニット20およびクリーニングユニット19などを含んで構成されている。また、各色の感光体ユニット40の各感光体ドラムに対して画像形成のためのLED光を照射するプリントヘッド21が設けられている。
中間転写ベルト10の下方には、2次転写ユニット22が設けられている。2次転写ユニット22は、2つのローラ23間に、無端ベルトである2次転写ベルト24を掛け渡して、中間転写ベルト10を押し上げて第3の支持ローラ16に押当てるように配置したものである。この2次転写ベルト24は、中間転写ベルト10上の画像を用紙(画像が形成される記録媒体の一例)上に転写する。2次転写ユニット22の横(図1の左側)には、用紙上の転写画像を定着する定着ユニット25が設けられており、トナー像が転写された用紙がそこに送り込まれる。定着ユニット25は、無端ベルトである定着ベルト26を加熱し、加圧ローラ27を押し当てて加圧するための装置である。2次転写ユニット22および定着ユニット25の下方には、表面に画像を形成した直後の用紙を、裏面にも画像を記録するために表裏を反転して送り出すシート反転ユニット28が設けられている。
操作部ユニットのスタートスイッチが押されると、原稿自動搬送装置(ADF)400の原稿給紙台30上に原稿があるときは、それをコンタクトガラス32上に搬送する。ADF400に原稿が無いときにはコンタクトガラス32上の手置きの原稿を読むために、画像読み取りユニット300のスキャナーを駆動し、第1キャリッジ33および第2キャリッジ34を、読み取り走査駆動する。そして、第1キャリッジ33上の光源からコンタクトガラス32に光を発射するとともに原稿面からの反射光を第1キャリッジ33上の第1ミラーで反射して第2キャリッジ34に向け、第2キャリッジ34上のミラーで反射して結像レンズ35を通して読取りセンサであるCCD36に結像する。CCD36で得た画像信号に基づいて、K,Y,M,Cの各色の記録データが生成される。
また、スタートスイッチが押されたときに、中間転写ベルト10の回動駆動が開始されるとともに、現像ユニット20の各ユニットの作像準備が開始され、そして各色作像の作像シーケンスが開始されて、各色用の感光体ドラムに各色記録データに基づいて変調された露光レーザが投射され、各色作像プロセスにより、各色トナー像が中間転写ベルト10上に一枚の画像として、重ね転写される。このトナー画像の先端が2次転写ユニット22に進入するときに同時に先端が2次転写ユニット22に進入するようにタイミングをはかって用紙が2次転写ユニット22に送り込まれ、これにより中間転写ベルト10上のトナー像が用紙に転写する。トナー像が移った用紙は定着ユニット25に送り込まれ、そこでトナー像が用紙に定着される。
なお、上述の用紙は、給紙テーブル200の給紙ローラ42の1つを選択回転駆動し、給紙ユニット43に多段に備える給紙トレイ44の1つからシートを繰り出し、分離ローラ45で1枚だけ分離して、搬送コロユニット46に入れ、搬送ローラ47で搬送してプリンタ100内の搬送コロユニット48に導き、搬送コロユニット48のレジストローラ49に突き当てて止めてから、前述のタイミングで2次転写ユニット22に送り出されるものである。手差しトレイ51上に用紙を差し込んで給紙することもできる。ユーザが手差しトレイ51上に用紙を差し込んでいるときには、画像形成装置100が給紙ローラ50を回転駆動して手差しトレイ51上のシートの一枚を分離して手差し給紙路53に引き込み、同じくレジストローラ49に突き当てて止める。
定着ユニット25で定着処理を受けて排出される用紙は、切換爪55で排出ローラ56に案内して排紙トレイ57上にスタックする。または、切換爪55でシート反転ユニット28に案内して、そこで反転して再び転写位置へと導き、裏面にも画像を記録した後、排出ローラ56で排紙トレイ57上に排出する。
一方、画像転写後の中間転写ベルト10上に残留する残留トナーは、中間転写体クリーニングユニット17で除去し、再度の画像形成に備える。
レジストローラ49は一般的には接地されて使用されることが多いが、用紙の紙粉除去のためにバイアス電圧を印加することも可能である。例えば、導電性ゴムローラを用いバイアスを印加する。直径18mmで、表面を1mmの厚みの導電性NBRゴムとする。電気抵抗はゴム材の体積抵抗で、109Ωcm程度である。このようにバイアスを印加したレジストローラ49を通過した後の紙表面は、若干マイナス側に帯電している。よって、中間転写ベルト10からシートへの転写では、レジストローラ49に電圧を印加しなかった場合に比べて転写条件が変わり転写条件を変更する場合がある。中間転写ベルト10には、トナーを転写する側(表側)には−800V程度の電圧を印加し、紙裏面側には転写ローラ62によって+200V程度の電圧を印加する。
プリントヘッド21は、図2及び図3に示されるように、一例として、LED装置1000、ロッドレンズアレイ12、ハウジング1014などを有している。ハウジング1014は、図3に示されるように、一例として、上壁を有し、−Z側(図3の下側)に開口する略直方体形状の箱形部材から成る。
LED装置1000は、ハウジング1014内に収容されている。そこで、ハウジング1014として、外部からの電気的な外乱ノイズ(例えば、対応する帯電装置からの高電圧ノイズ)に対して、該外乱ノイズを遮蔽するような導電性を有するもの(例えば導電性を有する材質からなるもの、導電性を有する表面処理加工が施されたものなど)を採用することにより、耐ノイズ性を向上させることができる。
LED装置1000は、図4に示されるように、一例として、複数のLEDアレイチップ1016、複数の駆動IC1018、ケーブル接続用コネクタ1020、これらが実装されている第1基板1022などを有している。第1基板1022としては、一例として、ガラスエポキシを主成分とする細長いプリント基板が用いられている。複数のLEDアレイチップ1016は、第1基板1022上にY軸方向に配列されている。各LEDアレイチップ1016は、第2基板16aと、該第2基板16a上にY軸方向に配列された複数のLED素子16b(発光ダイオード素子)とを有している。 すなわち、複数のLED素子16bは、Y軸方向に配列されている。各LED素子16bは、1画素に対応している。
具体的には、第1基板1022上には、Y軸方向の画像書込幅W(有効書込領域の幅)に対応して、すなわち有効書込領域全域をカバーするように、複数(例えば数十〜数百個程度)の第2基板16aがY軸方向に配列されている。各第2基板16a上には、複数(例えば数十〜数百個程度)のLED素子16bがY軸方向に所定間隔Pi(以下では、隣接素子間隔Piとも称する)で配列されている(図4の部分拡大図参照)。詳述すると、複数の第2基板16aは、隣り合う2つの第2基板16aの隣接する2つの端部にそれぞれ位置する2つのLED素子16bの間隔、すなわち隣り合う2つの第2基板16aのうち、一方の第2基板16a上の複数のLED素子16bのうち、最も他方の第2基板16a側に位置するLED素子16bと、他方の第2基板16a上の複数のLED素子16bのうち、最も一方の第2基板16a側に位置するLED素子16bとの間隔(以下では、隣接チップ素子間隔Ptと称する)が隣接素子間隔Piに等しくなるように第1基板1022上に実装されている。すなわち、全LED素子16bは、等間隔(Pi)でY軸方向に配列されている。なお、各LEDアレイチップ1016の第2基板16aのY軸方向の幅は、ウェハからの採り個数が最大となるように生産上設定される定型幅となる。
すなわち、複数のLED素子16bは、所望の画素密度(解像度)で画像が形成される間隔で第2基板16aを介して第1基板1022上に実装されている。具体的には、例えば解像度を600dpiとする場合、隣接素子間隔Pi及び隣接チップ素子間隔Ptを共に42.3μmに設定する必要がある。同様に、例えば解像度を1200dpiとする場合、間隔Pi、Ptを共に21.2μmに設定する必要がある。
より具体的には、解像度600dpiでA4幅(210mm)に書き込むためには、LED素子16bをY軸方向に42.3μm(=Pi=Pt)間隔で4960個配列する必要があり、この場合、例えば100個のLED素子16bを有するLEDアレイチップ1016を、50個実装する必要がある。同様に、解像度1200dpiでA3幅(297mm)に書き込むためには、LED素子16bをY軸方向に14000個程度配列する必要があり、例えば100個のLED素子16bを有するLEDアレイチップ1016を、140個実装する必要がある。
ここで、図4におけるDは、プリントヘッド21の全露光幅である。全露光幅Dは、画像書込幅WにY軸方向のマージン分(レジスト調整幅、取付誤差)を加えた値に設定されている。具体的には、A3サイズの画像を形成する場合には、画像書込幅W=297mm、全露光幅D=302mm以上(画像書込幅W+5mm以上)とすることが好ましい。ここで、「以上」としたのは、LEDアレイチップ1016の第2基板16aのY軸方向の幅が前述したように定型幅となることから、定型幅の整数倍の幅という意味である。
以上のように複数のLEDアレイチップ1016が実装された第1基板1022は、各LED素子16bの射出方向が概ね+Z方向になり、かつ長手方向がY軸方向となるようにハウジング1014に対して位置決めされている。
複数の駆動IC1018は、一例として、第1基板1022の+Z側の面上における複数のLEDアレイチップ1016の−X側にY軸方向に並べて実装されている。各駆動IC1018は、複数のLED素子16bを個別に駆動する複数の駆動トランジスタを有している。
ケーブル接続用コネクタ1020は、制御装置とLED装置1000とを接続するための伝送ケーブル1024が接続されるコネクタであり、第1基板1022における複数のLEDアレイチップ1016が実装されている面(+Z側の面)の反対側の面(−Z側の面)に実装されている。
ロッドレンズアレイ12は、図3に示されるように、ハウジング1014の上壁に形成された貫通孔に嵌め込まれている。図5は、LED装置1000の電気的な内部ブロックを示す図である。図6は、LEDアレイチップ1016が画像データを露光する動作を行うタイミングチャートである。その動作は、前段の制御回路で画像データ(図中のDATA)を所望の配列方向の位置まで転送する為に、シフトレジスターを動作させるための信号(SCLK)が該シフトレジスターに与えられる。シフトレジスターで所望の位置まで転送された画像データは、次段のF/F(フリップフロップ)のLAT信号で保持され、DRIVER(ドライバー)に供給されるSTB信号が「H(ハイレベル)」に維持される期間にわたって、LEDアレイチップ1016が点灯して露光が行われる。このSTB信号が「H」の期間を可変することで、感光体2030への露光量の強さを調整することができる。
又、通常LEDアレイチップ1016は複数個のLEDが集積されており、各LEDが発光する光量はLED毎に大きくばらつく。これはLEDが化合物半導体(GaAs等)の複数の元素の混合体からLEDが形成され、その密度等がばらつくことに起因しており、LEDアレイチップの製造過程(エピ工程)で光量を均一化させることは非常に困難となる。この光量バラツキを補正する為に駆動IC1018のドライバー内に各LEDの発光光量に基づき、LEDを発光するための駆動電流を補正する。図7は、この注入電流補正回路のブロックを示す図である。図7の例では、予めLED装置1000の製造時に内蔵されているLEDアレイチップ1016の全てのLEDの光量を測定し、その光量バラツキを補正するための光量補正データをROM50に記憶している。図5に示すROMデータ出力制御回路51により、画像形成装置1の電源が投入された時に、ROM50に記憶された光量補正データが駆動IC1018に転送され、セットされる。この光量補正データは、図7に示すDAC(D/Aコンバータ)52によりD/A変換された補正電圧(光量補正された後の電圧)に基づき、LEDを駆動するためのLED注入電流を可変制御し、各LEDの光量バラツキを補正している。
図8は、画像形成装置100の動作を制御するプリンタコントローラボード330の構成の一例を示す図である。ここでは、プリンタコントローラボード300が「画像処理装置」として機能すると考えてもよいし、画像形成装置100全体が「画像処理装置」として機能すると考えてもよい。
CPU101は、プリンタコントローラボード330全体の制御や、ホストPC320から送られてきたPDL(Page Description Language)を解析し、PDLの解析結果に基づく描画コマンドを生成し、描画コマンドの生成結果に基づく、C、M、Y、Kの色ごとの多値プレーン画像、および、各画素の属性を多値で表現する属性画像(以下では、A版のプレーン画像と表記する場合がある)の生成などを実行する。つまり、描画コマンドの生成結果に基づくCMYKAごとの多値プレーン画像(各画素の画素値を2ビット以上の多値で表現する画像)を生成する。
また、印刷されたテストチャートをスキャナー310で読み込み、その読み込んだ画像を示すテスト画像はスキャナー画像処理装置115で画像処理され、画像処理されたテスト画像(CMYKAごとの多値プレーン画像)はバス119を介してメインメモリ116に転送されて格納される。CPU101は、メインメモリ116に格納されたCMYKごとの多値プレーン画像を解析して、後述のエンジン特性画像処理部900による補正に用いられる第1の補正データ(後述)を生成し、エンジン特性画像処理部900へ転送する。
CPU I/F102は、CPU101のインタフェースであり、メモリアービター(メモリARB)103を介して、メモリや各種コントローラと接続されている。
メモリアービター103は、メインメモリ116と各種のコントローラとの間の調停を行う。メモリコントローラ104はメインメモリ116をコントロールし、メモリアービター103を介して、各種コントローラやCPU101と接続されている。
DMA105は、メモリコントローラ104と、バス119に接続されたASIC201との間のダイレクトメモリアクセスを行う。バスコントローラ106は、バス119と接続される各周辺コントローラとの間の調停を行う。
通信コントローラ107は、例えばインターネットなどのネットワークに接続されており、ネットワークから各種データやコマンドなどを受け取り、メモリアービター103を介して各種のコントローラに接続されている。
ROM170は、各種のプログラムや文字などのフォント情報を格納している。メインメモリ116は、PDL、CMYKAごとの多値プレーン画像、エンジン特性画像処理部900の画像処理パラメータ、CPU101が実行するプログラムなどを格納している。
図8の118は、メモリコントローラ内蔵CPUであり、上述したように、CPU101とメモリコントローラ104を内蔵している。バス119は、メモリコントローラ内蔵CPU118とASIC201とを接続する。
ASIC201は、バス119を介して、CMYKAごとの多値プレーン画像をメインメモリ116から読み込み、エンジン特性画像処理部900により画像処理を行い、CMYKごとの少値画像(各画素の画素値を多値よりも少ない少値で表現する画像)を生成して画像メモリ210へ書き込む。また、CMYKの色ごとのLED制御部(220〜250)を制御し、生成した少値画像に基づく印刷を実行する。
バスI/F108は、バス119のインタフェースであり、バス119を介してメモリコントローラ内蔵CPU118と接続される。
エンジン特性画像処理部900は、バス119を介して、メインメモリ116に格納されたCMYKAごとの多値プレーン画像を読み込み、色版ごとに、画像位置補正処理、光量補正、階調処理などを行い、階調処理後の少値画像を画像メモリ210内の少値CMYK画像記憶部へ転送する。
少値K版画像転送部111は、画像メモリ210の少値CMYK画像記憶部からK版の少値画像を読み込み、K版プリンタエンジン270に同期して、K版LED制御部220に転送する。K版LED制御部220は、K版プリンタエンジン270を制御する。K版プリンタエンジン270は、K版のプリンタエンジンである。
少値Y版画像転送部112は、画像メモリ210の少値CMYK画像記憶部からY版の少値画像を読み込み、Y版プリンタエンジン280に同期して、Y版LED制御部230に転送する。Y版LED制御部230は、Y版プリンタエンジン280を制御する。Y版プリンタエンジン280は、Y版のプリンタエンジンである。
少値M版画像転送部113は、画像メモリ210の少値CMYK画像記憶部からM版の少値画像を読み込み、M版プリンタエンジン290に同期して、M版LED制御部240に転送する。M版LED制御部240は、M版プリンタエンジン290を制御する。M版プリンタエンジン290は、M版のプリンタエンジンである。
少値C版画像転送部114は、画像メモリ210の少値CMYK画像記憶部からC版の少値画像を読み込み、C版プリンタエンジン300に同期して、C版LED制御部250に転送する。C版LED制御部250は、C版プリンタエンジン300を制御する。C版プリンタエンジン300は、C版のプリンタエンジンである。
画像メモリ210は、CMYKごとの少値プレーン画像を格納している。メモリ制御部110は、画像メモリ210を制御して、エンジン特性画像処理部900、少値K版画像転送部111、少値Y版画像転送部112、少値M版画像転送部113、少値C版画像転送部114からのメモリアクセスの要求に応える。
ホストPC320は、ユーザの印字操作に応じてPDFを生成する。スキャナー310は、印刷されたテストチャートを読み込み、スキャナー制御部260へ転送する。スキャナー制御部260は、スキャナー310を制御し、スキャナー310で読み込まれた画像をスキャナー画像処理部115へ転送する。スキャナー画像処理部115は、スキャナー310で読み込まれた画像を、スキャナー310の特性に基づいて、シェーデイング補正、スキャナーガンマ補正、フィルター処理、色変換処理などを行う。そして、画像処理後の画像を、バス119を介して、メインメモリ116内の、CMYKAごとの多値プレーン画像を記憶する多値CMYKAプレーン画像記憶部へ転送する。
図9は、画像形成装置100による印刷時の動作フローを示す図である。ステップS1では、ホストPC320は、PDLを生成してプリンタコントローラボード330へ送る。ステップS2では、通信コントローラ107はホストPC320からのPDLを受け取り、その受け取ったPDLをメインメモリ116のPDL記憶部に記憶する。
ステップS3では、CPU101は、ステップS2でメインメモリ116に記憶されたPDLを解析し、CMYKAごとの多値プレーン画像をメインメモリ116に描画し、後述のステップS4を経由して、メインメモリ116の多値CMYKAプレーン画像記憶部へ転送する。ステップS5では、ステップS4を介して転送された画像(これが「入力画像データ」に相当すると考えてもよいし、PDLが「入力画像データ」に相当すると考えてもよい)が多値CMYKAプレーン画像記憶部に記憶される。ここでの入力画像データは、各画素の画素値が多値で表現される多値画像である。図9に示すステップS4およびステップS6の処理内容については後述する。
ステップS7では、エンジン特性画像処理部900は、CMYKの各色版の画像の位置を補正する処理を行う。詳しくは後述するが、エンジン特性画像処理部900は、メインメモリ116の多値CMYKAプレーン画像記憶部から、CMYKの各色版の画像のうちの1つと属性画像(A版の画像)を受け取り、指定された角度の回転処理を行う。
ステップS8では、エンジン特性画像処理部900(第1の補正部)は、ステップS7で位置補正された、CMYKの各色版の画像のうちの1つと属性画像を受け取り、第1の補正データ記憶部901に記憶された第1の補正データを用いて、第1の補正処理を実行する。より具体的な内容については後述する。
ステップS9では、エンジン特性画像処理部900(階調処理部)は、CMYKしきい値記憶部902に記憶されたしきい値を用いて、ステップS8で第1の補正処理が行われた画像の階調処理を行い、少値画像に変換する。ステップS10では、階調処理部は、ステップS9で得た少値画像を画像メモリ210の少値CMYK画像記憶部に記憶する。そして、ステップS11では、図8の111〜114の少値画像転送部は、プリンタエンジンに同期して、少値CMYK画像記憶部に格納された少値CMYK画像を読み込み、図8の220〜250のLED制御部へ転送する。
ステップS12では、LED制御部は、第2の補正データ記憶部903に記憶された第2の補正データを用いて、ステップS11で転送された少値CMYK画像を補正する第2の補正処理を実行する。第2の補正データは、各LED(発光素子の一例)の光量の測定結果に応じて各LEDの光量のばらつきを補正するためのデータであり、工場出荷時等に予め求められたデータである。第2の補正データは、画像データの主走査方向の複数の画素ごとに、該画素に対応するLEDの光量を補正するための第2の補正値を示すデータである。この例では、第2の補正データ記憶部903は「第2の記憶部」として機能する。また、ここでは、LED制御部は、第2の補正データを用いて、エンジン特性画像処理部900(第1の補正部)により補正された後の入力画像データを補正する「第2の補正部」として機能すると考えることもできる。より具体的には、LED制御部は、第2の補正データを用いて少値画像(第1の補正部により補正された後の入力画像データの一態様であると考えることができる)を補正する機能を有している。第2の補正処理の具体的な内容については後述する。そして、LED制御部は、第2の補正処理が行われた画像をプリンタエンジンへ転送する。
次に、図9に示すステップ13以降の処理を説明する。ステップS13では、スキャナー310はテストチャートを読み込み、読み込んだ画像を示すテスト画像(CMYKAごとの多値画像)をスキャナー制御部260へ転送する。ステップS14では、スキャナー制御部260は、テスト画像をスキャナー画像処理部115へ転送する。ステップ15では、スキャナー画像処理部115は、スキャナー310の特性に基づき、シェーデイング補正、スキャナーガンマ補正、フィルター処理、色変換処理などをテスト画像に行う。
ステップS4では、MUX(マルチプレクサ)は、ステップS15で得られた画像、および、上述のステップS3で得られた画像のうちの少なくとも1つを、メインメモリ116の多値CMYKAプレーン画像記憶部へ供給する。
ステップS6では、CPU101は、多値CMYKAプレーン画像記憶部に記憶されたテスト画像(読み取り画像)と、その元となる画像データ(元画像)とを比較して、各LEDの光量を補正するための第1の補正データを生成し、第1の補正データ記憶部901に記憶する。つまり、CPU101は、スキャナー310で読み取られたテスト画像に基づいて、それぞれが画像データ(入力される画像データ)に応じた光を照射する複数のLED(発光素子の一例)の各々の光量を補正するための第1の補正データを生成する機能(以下の説明では「光量補正値生成部」と称する場合がある)を有している。
次に、上述の第1の補正データの生成方法について説明する。図10は、第1の補正データを生成する場合の画像形成装置100の動作例を示すフローチャートである。まず、ステップS100では、プリントヘッド21のみを用いて、図11(A)に示すように、基準パターン1100、及び明度情報を取得するためのベタパターン1250(明度情報取得用パターン)を含む画像Pを記録紙Wに形成する。ここでは、画像Pが印刷された状態の記録紙Wがテストチャートに相当する。画像Pは、プリントヘッド21のみを用いることを除いて、前述した画像形成装置100による一連の画像形成プロセスと同様のプロセスで形成される。すなわちプリントヘッド21からの画像Pの画像情報に基づいて変調された光が、対応する感光体ドラム表面に照射され、該感光体ドラム表面に静電潜像が形成される。そして、この静電潜像が、対応する現像ローラによって現像され、現像された画像が転写ベルトを介して記録紙Wに転写された後、定着ユニット25によって定着される。これによりテストチャートが生成される。そして、スキャナー310によりテストチャートが読み取られ、その読み取りにより得られた画像(テスト画像)の画像情報はメインメモリ116に格納される。
ここでは、一例として、プリントヘッド21の解像度は1200dpi(dots per inch)に設定されており、基準パターン1100及びベタパターン1250を含む画像Pは、1200dpiの解像度で記録紙Wに形成される。以下では、定着ユニット25を介した記録紙Wの移動方向を、排紙方向と称する。排紙方向は、各感光体ドラムの回転方向に対応する方向でもある。
基準パターン1100は、一例として、排紙方向に平行な細長いライン状のパターンであり、記録紙Wの排紙方向下流側の端部のY軸方向(排紙方向に直交する方向)の中央に形成される。すなわち、基準パターン1100は、画像PのY軸方向中央に位置する。ここでは、基準パターン1100は、例えば、それぞれが解像度1200dpiで排紙方向に1列に並ぶ複数の画素から成る、Y軸方向に隣接する2つの画素列で構成されている。この場合、基準パターン1100の幅は、1200dpiの2ドット幅である。基準パターン1100は、図51のLEDアレイ16bの複数のLEDのうち、Y軸方向のほぼ中央に位置する2つのLEDのみを用いて(点灯させることで)形成される。
ベタパターン1250は、一例として、記録紙Wにおける基準パターン1100の排紙方向上流側にある仮想矩形枠内に排紙方向及びY軸方向に2次元配列された複数の画素で構成されている。すなわち、ベタパターン1250は、それぞれが排紙方向に1列に並ぶ複数の画素から成る、Y軸方向に隣接して並ぶ複数の画素列で構成されている。
ここでは、ベタパターン1250は、一例として、プリントヘッド21の全LEDを用いて(点灯させて)記録紙WのY軸方向の幅のほぼ全域に亘って形成されたハーフトーン(例えば明度が10〜90)のパターンとされている。ベタパターン1250の複数の画素は、一例として、対応する複数のLEDに同じ大きさの電流が供給されることで形成される。また、ベタパターン1250のY軸方向の中央位置は、基準パターン1100のY位置とほぼ一致している。すなわち、ベタパターン1250のY軸方向の中央の2つの画素列は、基準パターン1100の形成に用いられる2つのLEDを用いて(点灯させることで)形成される。
記録紙Wは、定着装置によって基準パターン1100及びベタパターン1250が定着された後、スキャナー310に対向しつつ排紙方向に搬送される。このとき、基準パターン1100を含む領域、すなわち基準パターン1100及びその隣接領域がスキャナー310によりスキャン(走査)され、これらの画像情報(テスト画像であると考えてもよい)が図8に示すスキャナー画像処理部115を経由してエンジン特性画像処理部900へ送られる。そして、エンジン特性画像処理部900は、この画像情報から基準パターン1100及びその隣接領域の明度情報を画素単位で取得する。すなわち、上記基準パターン1100を含む領域の各画素の明度情報を取得することができる。
また、ベタパターン1250がスキャナー310によりスキャン(走査)され、ベタパターン1250の画像情報(テスト画像であると考えてもよい)が図8に示すスキャナー画像処理部115を経由してエンジン特性画像処理部900に送られる。そして、エンジン特性画像処理部900は、この画像情報からベタパターン1250の明度情報を画素単位で取得する。すなわち、ベタパターン1250の各画素の明度情報を取得することができる。
図10のステップS100の後のステップS101では、エンジン特性画像処理部900は、テスト画像の各画素列の複数の明度情報を排紙方向に平均化する。すなわち、上記基準パターン1100を含む領域の各画素列の複数の明度情報の平均値を求めて、該平均値を該画素列の明度情報として取得するとともに、ベタパターン1250の各画素列の複数の明度情報の平均値を求めて、該平均値を該画素列の明度情報として取得する。
図11(B)には、上記基準パターン1100を含む領域の各画素列の明度情報がグラフにて示されている。図11(C)には、ベタパターン1250の各画素列の明度情報がグラフにて示されている。ここで、スキャナー310で読み取られたときの、上記基準パターン1100を含む領域の各画素列の明度情報をSa(y)、ベタパターン1250の各画素列の明度情報をSb(y)とする。yは、Y軸方向に関する位置(Y位置)情報(Y位置情報)である。またプリントヘッド21の解像度をdph[dpi]、スキャナー310による読み取りの解像度をdpm[dpi]とする。
図10のステップS101の後のステップS102では、エンジン特性画像処理部900は、基準パターン1100を含む領域の明度情報に基づいて、基準パターン1100の画像PにおけるY位置情報を取得する。より具体的には、図11(B)から分かるように、Sa(y)が他の画素列に比べて著しく小さい画素列がある。この画素列が基準パターン1100であり、その画素列番号(Y軸方向に関する画素列の配列番号)をyaとし、これを基準パターン1100のY位置情報として取得する。なお、画素列番号は、テスト画像において、例えば最も−Y側の画素列から最も+Y側の画素列にかけて、徐々に増加又は減少するように付される。
ここで、基準パターン1100の画素列番号yaに対応するLED番号(Y軸方向に関するLEDの配列番号)、すなわち基準パターン1100の形成に用いられるLEDのLED番号をmaとする。基準パターン1100の形成に用いられるLEDは、LEDアレイチップ1016の複数のLEDのうちの中央のLEDであるから、そのLED番号は既知である。なお、LED番号は、例えば最も−Y側のLEDから最も+Y側のLEDにかけて、徐々に増加又は減少するように付される。すなわち、各LEDのLED番号は、該LEDのY位置情報ともいえる。
図10のステップS102の後のステップS103では、エンジン特性画像処理部900は、基準パターン1100のY位置情報(画素列番号ya)と、基準パターン1100の形成に用いられるLEDのY位置情報(LED番号ma)とを対応付ける。この結果、ベタパターン1250のY軸方向の中央の画素列のY位置情報と、該画素列の形成に用いられるLEDのY位置情報(LED番号)とが対応付けられることになる。
次のステップS104では、エンジン特性画像処理部900は、ベタパターン1250の各画素列の明度情報と、該画素列の形成に用いられるLEDとを対応付ける。より具体的には、基準パターン1100のY位置情報に対するベタパターン1250の各画素列のY位置情報と、基準パターン1100の形成に用いられるLEDのY位置情報に対するベタパターン1250の各画素列の形成に用いられるLEDのY位置情報とに基づいて、ベタパターン1250の各画素列の明度情報と、該画素列の形成に用いられるLEDとを対応付ける。より詳細には、ベタパターン1250の任意の一の画素列の画素列番号をy、該画素列の形成に用いられるLEDのLED番号をpとすると、p=ma+(y−ya)×dph/dpmが成立する。この場合、pに対応するベタパターン1250の明度情報は、Sb(p)となる。
次のステップS105では、ベタパターン1250の各画素列の明度情報に基づいて、プリントヘッド21の複数のLEDの発光光量を補正するための光量補正データ(第1の補正データ)を作成し、メインメモリ116の第1のCMYK光量補正記憶部に格納する。ここでは、第1の補正データは、画像データの主走査方向の複数の画素ごとに、該画素に対応するLEDの光量を補正するための光量補正値(第1の補正値)を示すデータである。より具体的には、例えば予め明度変化と光量変化との関係を求めておき、この関係に基づいて、例えば、ベタパターン1250の全画素列の明度情報が均一になるような光量補正データを作成する。すなわち、全てのpについてSb(p)が一定となるように、プリントヘッド21の各LEDの発光光量の調整を行い、その調整データを光量補正データ(第1の補正データ)として取得(保存)する。すなわち、第1の補正データは、各LEDの発光光量の調整データを含んでいる。なお、ここでは、各LEDの発光光量の調整は、一例として各LEDに供給する電流の大きさを変えることにより行われる。また、条件によっては、pが小数となる場合があるが、その際は、pの代わりにpに最も近い整数値を採用しても良いし、関数近似を用いて補間して計算しても良い。そして、例えばパソコン等の上位装置から画像形成装置100に対する印刷要求があると、図9で説明したように、画像形成装置100はPDLを受け取り、メインメモリ116の多値CMYKAプレーン画像記憶部に描画して、その画像を読み込む。そして、その読み込んだ画像(入力画像データであると考えることができる)を、エンジン特性画像処理部900で第1の補正データを用いた光量補正処理(第1の補正処理)を行い、第1の補正後の画像の階調処理を行い、その階調処理後の画像を、LED制御部で第2の補正データを用いた光量補正処理(第2の補正)を行う。そして、第2の補正後の画像に基づく印字処理を行う。
上述の第2の補正データは、各LEDの工場出荷時の単体の光量補正値が書き込まれており、基本的には画像処理のプロセスを含まないLED単体のバラツキを補正するものである(もちろん、こちらの光量補正も画像処理により補正しても良い)。以上のように、プリンタ画像処理と印字プロセスの変動を補正するための第1の補正と、工場出荷時の光量のばらつきを補正するための第2の補正とを実行することにより、記録紙に高品質なカラー画像を形成することができる。
図12は、属性ごとのベタパターンの例を示す図である。この属性とは、図9のステップS7のCMYK画像位置補正処理、ステップS8の第1の補正処理、ステップS9の階調処理で使用するプリンタ画像処理の文字描画領域の文字属性、写真画像領域の写真属性、グラフィックス画像領域のグラフィックス属性のことである。図12に示すように、文字属性は0または255値の小さい固まりが交互に配列される画像であり、グラフィックス属性は0または255値の中程度の固まりが交互に配列される画像であり、写真属性は0または中間調値の中程度の固まりが交互に配列される画像である。異なる属性ごとに、前記のようにスキャナー310で読み込み、第1の補正データ(光量補正値)を作成し、図9に示す第1の補正データ記憶部901に格納し、印刷時の画像処理時に、メインメモリ116の多値CMYKAプレーン画像記憶部から読み出した多値プレーン画像(入力画像データ)に含まれる各画素の属性値に応じて、第1の補正データを切り替えて第1の補正処理を行うことが可能である。
図13は、モード毎の画像処理のフローを示す図である。図13に示すように、プリンタ処理のフローでは、ホストPC320から受け取ったPDLを解析して、多値プレーン画像を生成して、エンジン特性画像処理部900による画像処理を行った後に印字する。また、コピー処理のフローでは、スキャナー310で読み取られた画像を画像処理して、CMYKAごとの多値プレーン画像を生成して、エンジン特性画像処理部900による画像処理を行った後に印字する。さらに、第1の補正データ設定のフローでは、スキャナー310で読み取られたテスト画像を画像処理して、CMYKAごとの多値プレーン画像を生成し、その生成した画像と元画像とを比較して、第1の補正データを生成し、第1の補正データ記憶部901に書き込む。
図14は、メインメモリ116の多値CMYKAプレーン画像記憶部の画像メモリフォーマットと、画像メモリ210の少値CMYK画像記憶部の画像メモリフォーマットと、を示す図である。図14に示すように、多値CMYKAプレーン画像記憶部の画像メモリフォーマットは、C,M,Y,K,Aの版ごとの、色情報または属性のプレーン(面順次)の画像フォーマットである。また、図14に示すように、少値CMYK画像記憶部の画像メモリフォーマットは、C,M,Y,Kの版ごとの色情報のプレーン(面順次)の画像フォーマットである。
図15は、エンジン特性画像処理装置900の構成の一例を示す図である。図15に示すように、エンジン特性画像処理装置900は、レジスタ/メモリアクセス制御装置911と、画像位置補正処理装置912と、C版光量補正値記憶装置913と、M版光量補正値記憶装置914と、Y版光量補正値記憶装置915と、K版光量補正値記憶装置916と、第1の補正処理装置917と、階調処理装置918と、CMYKしきい値記憶装置919と、少値CMYKプレーン画像書き込み装置920と、を備える。
レジスタ/メモリアクセス制御装置911は、CPU101が各装置の有するメモリやレジスタにアクセスするための制御装置であり、図8に示すバスI/F108に接続されている。
C版光量補正値記憶装置913は、属性ごとに、C版の第1の補正データを記憶する装置である。M版光量補正値記憶装置914は、属性ごとに、M版の第1の補正データを記憶する装置である。Y版光量補正値記憶装置915は、属性ごとに、Y版の第1の補正データを記憶する装置である。K版光量補正値記憶装置916は、属性ごとに、K版の第1の補正データを記憶する装置である。C版光量補正値記憶装置913、M版光量補正値記憶装置914、Y版光量補正値記憶装置915、および、K版光量補正値記憶装置916は、図9に示す第1の補正データ記憶部901に相当する。この例では、スキャナー310で読み込まれたテスト画像のうち、LEDアレイチップ1016bに相当する画素ごとに、該画素と、元画像(テスト画像の元画像)の画素との差に基づく属性ごとの光量補正値を格納する。第1の補正データ記憶部901は、「第1の記憶部」として機能し、属性ごとに第1の補正データを記憶する。要するに、第1の補正データ記憶部901は、それぞれが画像データに応じた光を照射する複数のLED(発光素子)の各々の光量を補正するための補正データであって、画像処理(この例ではプリンタ画像処理と印字プロセスを含む)に基づいて求められた第1の補正データを記憶する第1の記憶部として機能する。
画像位置補正処理装置912は、メインメモリ116の多値CMYKAプレーン画像記憶部からC,M,Y,K版のうちの何れかの値(画素値)と、属性値を受け取り、微少回転処理と、x方向およびy方向の各々のオフセットの位置移動処理を行い、第1の補正処理装置917へ転送する。より具体的な内容は後述する。
第1の補正処理装置917は、「第1の補正部」として機能し、第1の補正データを用いて入力画像データを補正する。より具体的には、第1の補正処理装置917は、画像位置補正処理装置912からCMYK値を受け取り、光量補正処理を行い、補正された多値画像(CMYKごとの多値画像、以下の説明では「多値CMYK画像」と称する場合がある)を階調処理装置918へ転送する。より具体的な内容は後述する。
階調処理装置918は、「階調処理部」として機能し、第1の補正処理装置917により補正された後の入力画像データに対して階調処理を行い、各画素の画素値が多値よりも少ない少値で表現される少値画像に変換する。この例では、階調処理装置918は、第1の補正処理装置917から多値CMYK画像を受け取り、CMYKしきい値記憶装置919から、各版のしきい値を読み込んで階調処理を実行し、 少値CMYKプレーン画像書き込み装置920へ転送する。
少値プレーン画像書き込み装置920は、階調処理装置918から受け取った各版の階調処理後のCMYKごとの少値画像(以下の説明では「少値CMYK画像」と称する場合がある)を、メモリ制御部110を介して、画像メモリ210の少値CMYK画像記憶部へ転送する。
図16は、画像位置補正処理装置912の構成の一例を示す図である。図16に示すように、画像位置補正処理装置912は、主走査カウンタ931と、副走査カウンタ932と、座標回転装置933と、座標移動装置934と、色アドレス生成装置935と、属性アドレス生成装置936とを備える。
主走査カウンタ931は、メインメモリ116の多値CMYKAプレーン画像記憶部に格納されたCMYKAごとの多値画像の主走査方向の画素数を生成する。副走査カウンタ932は、メインメモリ116の多値CMYKAプレーン画像記憶部に格納されたCMYKAごとの多値画像の副走査方向のライン数を生成する。
座標回転装置933には、主走査カウンタ931からの主走査カウンタ値、副走査カウンタ932からの副走査カウンタ値、および、CMYKの色版ごとに異なる回転角度が入力され、主走査カウンタ値をX値、副走査カウンタ値をY値として以下の式1のように回転したX値およびY値(回転後X値、回転後Y値)を求め、座標移動装置934へ転送する。
座標移動装置934は、以下の式2のように、座標回転装置933から受け取った回転後X値、回転後Y値に、移動分のオフセットX値、Y値を加算して補正する。そして、補正後のX値および補正後のY値を、色アドレス生成装置935および属性アドレス生成装置936の各々へ転送する。
色アドレス生成装置935は、座標移動装置934から補正後X値と補正後Y値を受け取り、メインメモリ116の多値CMYKAプレーン画像記憶部に格納されたC,M,Y,K画像(多値プレーン画像)のメモリ上のアドレスを生成し、多値CMYKAプレーン画像記憶部へ転送する。
属性アドレス生成装置936は、座標移動装置934から補正後X値と補正後Y値を受け取り、メインメモリ116の多値CMYKAプレーン画像記憶部に格納された属性画像(A版の画像)のメモリ上のアドレスを生成し、多値CMYKAプレーン画像記憶部へ転送する。
色レジスタ937は、メインメモリ116の多値CMYKAプレーン画像記憶部のうち、色アドレス生成装置935により生成されたアドレスが示す位置から読み込まれたC,M,Y,K画像の画素データを格納し、第1の補正処理装置917へ転送する。
属性レジスタ938は、メインメモリ116の多値CMYKAプレーン画像記憶部のうち、属性アドレス生成装置936により生成されたアドレスが示す位置から読み込まれた属性画像の画素データを格納し、第1の補正処理装置917へ転送する。
この例では、画像位置補正処理装置912は、LEDの傾斜に応じて、入力画像データを補正する「第3の補正部」として機能すると考えることができる。そして、第1の補正処理装置917は、第1の補正データを用いて、画像位置補正処理装置912(第3の補正部)により補正された後の入力画像データを補正する。第1の補正処理装置917の具体的な内容については後述する。
図17は、回転前のC版の画像と、回転後のC版の画像を示す図である。図17(A)は回転前の画像であり、図17(C)は回転後の画像である。図17(B)は回転する座標変換のイメージで、図17(C)の傾斜したLEDと反対の方向に回転する回転演算を行い、リードするX,Y座標を演算して、図17(A)の回転前の画像を読み込み、図17(C)のように回転後の傾斜した画像を生成する。例えば、回転後の位置(X=5、Y=0)については、回転演算してX,Y座標を求め、回転前の位置(X=5、Y=1)から読み込む。この画像位置補正処理装置912は、主走査カウンタ値=5、副走査カウンタ値=0のときに図17の回転角度を指定されると、回転後X値=5と回転後Y値=1を生成して、対応する画素を読み込む。このような処理をライン方向に主走査方向に0〜主走査幅まで、副走査方向に0〜副走査幅まで行い、図17(C)の回転後の画像のように画像を読み込んでいく。
図18は、第1の補正データ記憶部901のフォーマットを示す図である。言い換えれば、C版光量補正値記憶装置913、M版光量補正値記憶装置914、Y版光量補正値記憶装置915、および、K版光量補正値記憶装置916の各々のフォーマットである。
図19は、主走査方向の画素ごとの第1の補正値(光量補正値)を説明するための図である。LED1〜LEDnの中で最も光量が小さいものがLEDnである場合、その光量をMin光量として、各画素の光量がMin光量になる縮小率が各画素の光量補正値(第1の補正値)になる。この場合、LED1は0.8倍でMin光量になるために光量補正値は0.8になり、LED2は0.9倍でMin光量になるために光量補正値は0.9になり、LED3は0.87倍でMin光量になるために光量補正値は0.87になる。つまり、第1の補正データは、画像データの主走査方向の複数の画素の各々について、複数のLEDのうち最も光量が小さいLEDの光量に合わせるように、該画素に対応するLEDの光量を補正するための光量補正値(第1の補正値)を示すデータである。
図20は、第1の補正処理装置917の構成を説明するためのブロック図である。図20に示すMUX940は、各版の光量補正値記憶装置(C版光量補正値記憶装置913、M版光量補正値記憶装置914、Y版光量補正値記憶装置915、K版光量補正値記憶装置916)へのデータ(第1の補正データ)書き込み時に、光量補正値生成部が指定するアドレスへ切り替える。
図20に示すように、第1の補正処理装置917は、主走査カウンタ941と、MUX942と、乗算器943とを備える。主走査カウンタ917は、画像処理を行っている主走査方向のX座標を作成して各版の光量補正値記憶装置に転送し、各版の光量補正値を出力させている。MUX942は、各版の光量補正値記憶装置からの光量補正値を選択し、乗算器943へ転送する。乗算器943は、画像位置補正処理装置912から入力されるCMYKの画素データに対して、MUX942から転送された光量補正値を用いて、光量補正を行う。
図21は、各版の光量補正値記憶装置の構成を示す図である。図21に示すように、光量補正値記憶装置は、写真属性光量補正値記憶装置951と、文字属性光量補正値記憶装置952と、グラフィックス属性光量補正値記憶装置953と、MUX954と、を備える。なお、MUX954は、第1の補正処理装置917側の要素であってもよい。写真属性光量補正値記憶装置951は写真属性の光量補正値(写真属性に対応する第1の補正データ)を記憶し、文字属性光量補正値記憶装置952は文字属性の光量補正値(文字属性に対応する第1の補正データ)を記憶し、グラフィックス属性光量補正値記憶装置953はグラフィックス属性の光量補正値(グラフィックス属性に対応する第1の補正データ)を記憶する。MUX954は、属性値に応じて、光量補正値を読み出すべき記憶装置(写真属性光量補正値記憶装置951、文字属性光量補正値記憶装置952、グラフィックス属性光量補正値記憶装置953)を切り替えている。この例では、第1の補正処理装置917は、入力画像データに含まれる画素ごとに、該画素の属性に対応する第1の補正値(光量補正値)を選択し、その選択した第1の補正値を用いて該画素の画素値を補正すると考えることができる。
図22は、以上に説明したエンジン特性画像処理装置900の動作例を示すフローチャートである。まず、エンジン特性画像処理装置900は、画像処理を行う版の版番号を初期化する(ステップS111)。例えばC版の版番号は「0」、M版の版番号は「1」、Y版の版番号は「2」、K版の版番号は「3」のように設定される。
次に、エンジン特性画像処理装置900は、メインメモリ116の多値CMYKプレーン画像記憶部に格納されたCMYKAごとの多値プレーン画像の副走査方向のライン数のカウンタを初期化(例えばカウント値をゼロに設定)する(ステップS112)。
次に、エンジン特性画像処理装置900は、メインメモリ116の多値CMYKプレーン画像記憶部に格納されたCMYKAごとの多値プレーン画像の主走査方向の画素数のカウンタを初期化(例えばカウント値をゼロに設定)する(ステップS113)。
次に、エンジン特性画像処理装置900(画像位置補正処理装置912)は、画像位置補正処理を行う(ステップS114)。上述したように、画像位置補正処理装置912は、版番号と、副走査カウンタ値と、主走査カウンタ値と、版番号が示す版の回転角度と、版番号が示す版の位置のオフセット値と、などから、回転後のメモリのアドレスを生成し、回転後の色画像データと属性画像データとから、対応する画素(アドレスが示す位置に対応する画素)を読み込み、第1の補正処理装置917へ転送する。
次に、エンジン特性画像処理装置900(第1の補正処理装置917)は、第1の補正処理を行う(ステップS115)。上述したように、第1の補正処理装置917は、画像位置補正処理装置912から色版の画素値と、属性画像の画素値(以下では「属性値」と称する場合がある)とを受け取り、該属性値に応じて光量補正値記憶装置を切り替えて読み込み、読み込んだ第1の補正データを用いて、該色版の画素値を補正し、補正後の色版の画素値と、該属性値とを階調処理装置918へ転送する。
次に、エンジン特性画像処理装置900(階調処理装置918)は、階調処理(ハーフトーン処理)を行う(ステップS116)。より具体的には、階調処理装置918は、第1の補正処理装置917から色版の画素値(補正後の画素値)と、属性値とを受け取り、該属性値に応じて、後述のしきい値記憶装置を切り替えて読み込み、読み込んだしきい値を用いて、該色版の画素値の階調処理(ハーフトーン処理)を行う(多値から少値へ変換する)。そして、変換後の画素値を、少値CMYKプレーン画像書き込み装置920へ転送する。
次に、エンジン特性画像処理装置900は、1ライン分の画像データを処理したか否かを確認する(ステップS117)。ステップS117の結果が否定の場合(ステップS117:No)、エンジン特性画像処理装置900は、主走査カウンタのカウント値を「1」だけカウントアップする(ステップS118)。ステップS117の結果が肯定の場合(ステップS117:Yes)、エンジン特性画像処理装置900は、バンドラインカウンタのカウント値がバンド高さに相当する値を下回るか否かを確認する(ステップS119)。ステップS119の結果が肯定の場合(ステップS119:Yes)、エンジン特性画像処理装置900は、副走査カウンタのカウント値を「1」だけカウントアップする(ステップS120)。ステップS119の結果が否定の場合(ステップS119:No)、エンジン特性画像処理装置900は、全ての版を処理したか否かを確認する(ステップS121)。ステップS121の結果が肯定の場合(ステップS121:Yes)、処理は終了する。ステップS121の結果が否定の場合(ステップS121:No)、エンジン特性画像処理装置900は、版番号の値を「1」だけカウントアップする(ステップS122)。
図23は、CMYKしきい値記憶装置919と、階調処理装置918の構成を示す図である。CMYKしきい値記憶装置919は、C版しきい値記憶装置961と、M版しきい値記憶装置962と、Y版しきい値記憶装置963と、K版しきい値記憶装置964とを備える。C版しきい値記憶装置961はC版のディザしきい値を格納し、M版しきい値記憶装置962はM版のディザしきい値を格納し、Y版しきい値記憶装置963はY版のディザしきい値を格納し、K版しきい値記憶装置964はK版のディザしきい値を格納している。各版のしきい値記憶装置の具体的な構成については後述する。
図23に示すように、階調処理装置918は、C版しきい値アドレス生成装置971と、M版しきい値アドレス生成装置972と、Y版しきい値アドレス生成装置973と、K版しきい値アドレス生成装置974と、MUX975と、比較装置976と、を備える。
各版のしきい値アドレス生成装置(C版しきい値アドレス生成装置971、M版しきい値アドレス生成装置972、Y版しきい値アドレス生成装置973、および、K版しきい値アドレス生成装置974)は、各版のしきい値マトリックス(ディザしきい値)の幅と高さと、処理対象の多値画像の位置を示す副走査カウンタ値と主走査カウンタ値とから、各版のしきい値マトリックスの座標を求め、その座標位置を示すアドレスを生成し、各版のしきい値記憶装置(C版しきい値記憶装置961、M版しきい値記憶装置962、Y版しきい値記憶装置963、K版しきい値記憶装置964)からしきい値を読み込む。
MUX975は、各版のしきい値記憶装置から読み込まれたしきい値のうち、処理対象のしきい値を選択して比較装置976へ出力する。比較装置976は、MUX975から出力されたしきい値と、第1の補正処理装置917から入力されたCMYKの何れかの画素値(多値で表現される画素値)とを比較し、画素値がしきい値を上回っている場合は、少値画素値を「1」に設定して出力し、画素値がしきい値以下の場合は、少値画素値を「0」に設定して出力することで階調処理(ハーフトーン処理)を行い、少値画素を生成する。
図24は、CMYKしきい値記憶装置919の構成を示す図である。図24に示すように、各版のしきい値記憶装置(CMYKの4色と1対1に対応する4つのしきい値記憶装置の各々)は、写真属性しきい値記憶装置981と、文字属性しきい値記憶装置982と、グラフィックス属性しきい値記憶装置983と、MUX984と、を備える。写真属性しきい値記憶装置981は写真属性に対応するしきい値を記憶し、文字属性しきい値記憶装置982は文字属性に対応するしきい値を記憶し、グラフィックス属性しきい値記憶装置983はグラフィックス属性に対応するしきい値を記憶する。MUX984は、属性値に応じて、しきい値を読み出すべき記憶装置(写真属性しきい値記憶装置981、文字属性しきい値記憶装置982、グラフィックス属性しきい値記憶装置983)を切り替えている。
図25は、図9に示す第2の補正データ記憶部903のメモリフォーマットを示す図である。製造時に内蔵されているLEDアレイチップ1016の全てのLEDの光量を測定し、その光量バラツキを補正するために、図25に示すように、主走査方向の画素ごとに、該画素に対応するLED素子の光量補正値が入っている。光量補正値としては、図19に示すような値が入っている。
また、以上の例では、「第1の補正部」に対応する第1の補正処理装置917や「第2の補正部」に対応するLED制御部は、専用のハードウェア回路として設けられているが、これに限らず、例えばCPU101がプログラムを実行することにより、これらの機能が実現される形態であってもよい。要するに、本実施形態の構成が適用される画像処理装置は、それぞれが画像データに応じた光を照射する複数の発光素子の各々の光量を補正するための補正データであって、画像処理に基づいて求められた第1の補正データを記憶する第1の記憶部と、第1の補正データを用いて、入力画像データを補正する第1の補正部と、各発光素子の光量の測定結果に応じて各発光素子の光量のばらつきを補正するための第2の補正データを用いて、第1の補正部により補正された後の入力画像データを補正する第2の補正部と、を少なくとも備える形態であればよく、これらの機能は、ソフトウェアで実現されてもよいしハードウェアで実現されてもよいし、ハードウェアとソフトウェアとの任意の組み合わせにより実現されてもよい。
以上に説明したように、本実施形態では、プリンタ画像処理と印字プロセスの変動を補正するための第1の補正と、工場出荷時の光量のばらつきを補正するための第2の補正とを実行することにより、より正確な光量補正を行うことができる。これにより、記録紙に高品質なカラー画像を形成することができる。
また、従来のように、工場出荷時等の測定結果に基づく第2の補正データを用いた補正を行う構成においては、階調処理後の画像(少値画像)に対して、第2の補正データを用いた補正を行うので、補正対象の画像に含まれる各画素がどのような属性であるかを示す情報を有していなかった。また、有していても、それを踏まえた補正処理には限界があった。これに対して、本実施形態では、以上に説明したように、入力画像データに含まれる画素ごとに、属性ごとの第1の補正データの中から、該画素の属性に対応する第1の補正値(光量補正値)を選択し、その選択した第1の補正値を用いて該画素の画素値を補正する第1の補正処理を階調処理の前に行う。これにより、各画素の属性を考慮した補正処理を行うことができる。
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
また、上述した実施形態の画像形成装置100で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ROM等に予め組み込んで提供するように構成してもよい。