"画像情報に応じた画像を形成する画像形成装置であって、感光体ドラムと、光源を含み、該光源からの光によって前記感光体ドラム表面を主走査方向に走査し、前記感光体ドラム表面に潜像を形成する光走査装置と、前記潜像を現像する現像装置と、前記主走査方向及び該主走査方向に直交する副走査方向に関して、前記現像装置で現像された画像の濃度変動を検出するための複数の濃度センサと、前記複数の濃度センサの検出結果に基づいて、前記濃度変動が抑制されるように前記光源の出力を補正する補正データを作成し、前記主走査方向に関する前記感光体ドラム表面での位置と前記光源の補正後の出力との関係において、補正後の出力が該光源の最小定格出力よりも小さくなる位置では、補正後の出力が前記最小定格出力以上となるように前記補正データを修正し、補正後の出力が該光源の最大定格出力よりも大きくなる位置では、補正後の出力が前記最大定格出力以下となるように前記補正データを修正する処理装置と、を備える画像形成装置。前記処理装置は、更に、前記主走査方向に関する前記感光体ドラム表面での位置と前記光源の補正後の出力との関係において、極値があるとき、該極値を含む近傍での前記光源の出力の変化が小さくなるように前記補正データを修正することを特徴とする請求項1に記載の画像形成装置。前記処理装置は、更に、前記主走査方向に関する前記感光体ドラム表面での位置と前記光源の補正後の出力との関係において、前記主走査方向の両端を含む近傍での前記光源の出力の変化が小さくなるように前記補正データを修正することを特徴とする請求項1又は2に記載の画像形成装置。前記感光体ドラムの回転周期を検出するドラム周期検出センサを更に備え、前記処理装置は、前記複数の濃度センサの出力信号と前記ドラム周期検出センサの出力信号とから、前記感光体ドラムに起因する濃度変動を求めることを特徴とする請求項1~3のいずれか一項に記載の画像形成装置。前記光源は、垂直共振器型の面発光レーザであることを特徴とする請求項1~4のいずれか一項に記載の画像形成装置。ところで、感光体ドラムが偏心していたり、断面が真円でないと、感光体ドラムが回転したときに、感光体ドラムと現像ローラとの間の間隙が変動する。この間隙の変動は現像プロセスの変動となり、出力画像において、不要な濃度変動を招く。近年、画像品質に対する要求が高くなり、従来の方法では、感光体ドラムの偏心や形状誤差に起因する出力画像の濃度変動を要求レベルまで抑制するのは困難であった。本発明は、かかる事情の下になされたもので、その目的は、高品質の画像を安定して形成することができる画像形成装置を提供することにある。本発明は、画像情報に応じた画像を形成する画像形成装置であって、感光体ドラムと、光源を含み、該光源からの光によって前記感光体ドラム表面を主走査方向に走査し、前記感光体ドラム表面に潜像を形成する光走査装置と、前記潜像を現像する現像装置と、前記主走査方向及び該主走査方向に直交する副走査方向に関して、前記現像装置で現像された画像の濃度変動を検出するための複数の濃度センサと、前記複数の濃度センサの検出結果に基づいて、前記濃度変動が抑制されるように前記光源の出力を補正する補正データを作成し、前記主走査方向に関する前記感光体ドラム表面での位置と前記光源の補正後の出力との関係において、補正後の出力が該光源の最小定格出力よりも小さくなる位置では、補正後の出力が前記最小定格出力以上となるように前記補正データを修正し、補正後の出力が該光源の最大定格出力よりも大きくなる位置では、補正後の出力が前記最大定格出力以下となるように前記補正データを修正する処理装置と、を備える画像形成装置である。これによれば、従来よりも高品質の画像を安定して形成することができる。以下、本発明の一実施形態を図1~図40に基づいて説明する。図1には、一実施形態に係る画像形成装置としてのカラープリンタ2000の概略構成が示されている。このカラープリンタ2000は、4色ブラック、シアン、マゼンタ、イエローを重ね合わせてフルカラーの画像を形成するタンデム方式の多色カラープリンタであり、光走査装置2010、4つの感光体ドラム2030a、2030b、2030c、2030d、4つのクリーニングユニット2031a、2031b、2031c、2031d、4つの帯電装置2032a、2032b、2032c、2032d、4つの現像ローラ2033a、2033b、2033c、2033d、4つのトナーカートリッジ2034a、2034b、2034c、2034d、転写ベルト2040、転写ローラ2042、定着装置2050、給紙コロ2054、レジストローラ対2056、排紙ローラ2058、給紙トレイ2060、排紙トレイ2070、通信制御装置2080、濃度検出器2245、4つのホームポジションセンサ2246a、2246b、2246c、2246d、温湿度センサ図示省略、及び上記各部を統括的に制御するプリンタ制御装置2090などを備えている。通信制御装置2080は、ネットワークなどを介した上位装置例えばパソコンとの双方向の通信を制御する。プリンタ制御装置2090は、CPU、該CPUにて解読可能なコードで記述されたプログラム及び該プログラムを実行する際に用いられる各種データが格納されているROM、作業用のメモリであるRAM、アナログデータをデジタルデータに変換するAD変換回路などを有している。そして、プリンタ制御装置2090は、上位装置からの要求に応じて各部を制御するとともに、上位装置からの画像情報を光走査装置2010に送る。温湿度センサは、カラープリンタ2000内の温度と湿度を検出し、プリンタ制御装置2090に通知する。感光体ドラム2030a、帯電装置2032a、現像ローラ2033a、トナーカートリッジ2034a、及びクリーニングユニット2031aは、組として使用され、ブラックの画像を形成する画像形成ステーション以下では、便宜上Kステーションともいうを構成する。感光体ドラム2030b、帯電装置2032b、現像ローラ2033b、トナーカートリッジ2034b、及びクリーニングユニット2031bは、組として使用され、シアンの画像を形成する画像形成ステーション以下では、便宜上Cステーションともいうを構成する。感光体ドラム2030c、帯電装置2032c、現像ローラ2033c、トナーカートリッジ2034c、及びクリーニングユニット2031cは、組として使用され、マゼンタの画像を形成する画像形成ステーション以下では、便宜上Mステーションともいうを構成する。感光体ドラム2030d、帯電装置2032d、現像ローラ2033d、トナーカートリッジ2034d、及びクリーニングユニット2031dは、組として使用され、イエローの画像を形成する画像形成ステーション以下では、便宜上Yステーションともいうを構成する。各感光体ドラムはいずれも、その表面に感光層が形成されている。すなわち、各感光体ドラムの表面がそれぞれ被走査面である。なお、各感光体ドラムは、不図示の回転機構により、図1における面内で矢印方向に回転するものとする。なお、ここでは、XYZ3次元直交座標系において、各感光体ドラムの長手方向に沿った方向をY軸方向、4つの感光体ドラムの配列方向に沿った方向をX軸方向として説明する。各帯電装置は、対応する感光体ドラムの表面をそれぞれ均一に帯電させる。光走査装置2010は、上位装置からの多色の画像情報ブラック画像情報、シアン画像情報、マゼンタ画像情報、イエロー画像情報に基づいて、各色毎に変調された光束を、対応する帯電された感光体ドラムの表面にそれぞれ照射する。これにより、各感光体ドラムの表面では、光が照射された部分だけ電荷が消失し、画像情報に対応した潜像が各感光体ドラムの表面にそれぞれ形成される。ここで形成された潜像は、感光体ドラムの回転に伴って対応する現像ローラの方向に移動する。なお、この光走査装置2010の構成については後述する。ところで、各感光体ドラムにおいて、画像情報が書き込まれる領域は、有効走査領域、画像形成領域、有効画像領域などと呼ばれている。トナーカートリッジ2034aにはブラックトナーが格納されており、該トナーは現像ローラ2033aに供給される。トナーカートリッジ2034bにはシアントナーが格納されており、該トナーは現像ローラ2033bに供給される。トナーカートリッジ2034cにはマゼンタトナーが格納されており、該トナーは現像ローラ2033cに供給される。トナーカートリッジ2034dにはイエロートナーが格納されており、該トナーは現像ローラ2033dに供給される。各現像ローラは、回転に伴って、対応するトナーカートリッジからのトナーが、その表面に薄く均一に塗布される。そして、各現像ローラの表面のトナーは、対応する感光体ドラムの表面に接すると、該表面における光が照射された部分にだけ移行し、そこに付着する。すなわち、各現像ローラは、対応する感光体ドラムの表面に形成された潜像にトナーを付着させて顕像化させる。ここでトナーが付着した像トナー画像は、感光体ドラムの回転に伴って転写ベルト2040の方向に移動する。イエロー、マゼンタ、シアン、ブラックの各トナー画像は、所定のタイミングで転写ベルト2040上に順次転写され、重ね合わされてカラー画像が形成される。なお、転写ベルト2040上のトナー画像の移動方向は副方向、該副方向に直交する方向は主方向と呼ばれている。給紙トレイ2060には記録紙が格納されている。この給紙トレイ2060の近傍には給紙コロ2054が配置されており、該給紙コロ2054は、記録紙を給紙トレイ2060から1枚ずつ取り出し、レジストローラ対2056に搬送する。該レジストローラ対2056は、所定のタイミングで記録紙を転写ベルト2040と転写ローラ2042との間隙に向けて送り出す。これにより、転写ベルト2040上のカラー画像が記録紙に転写される。ここで転写された記録紙は、定着装置2050に送られる。定着装置2050では、熱と圧力とが記録紙に加えられ、これによってトナーが記録紙上に定着される。ここで定着された記録紙は、排紙ローラ2058を介して排紙トレイ2070に送られ、排紙トレイ2070上に順次、積み重ねられる。各クリーニングユニットは、対応する感光体ドラムの表面に残ったトナー残留トナーを除去する。残留トナーが除去された感光体ドラムの表面は、再度対応する帯電装置に対向する位置に戻る。濃度検出器2245は、転写ベルト2040の-X側に配置されている。この濃度検出器2245は、一例として図2に示されるように、5つの光学センサ2245a、2245b、2245c、2245d、2245eを有している。光学センサ2245aは、転写ベルト2040における有効画像領域内の-Y側端部近傍に対向する位置に配置され、光学センサ2245eは、転写ベルト2040における有効画像領域内のY側端部近傍に対向する位置に配置され、光学センサ2245b~光学センサ2245dは、Y軸方向に関して、光学センサ2245aと光学センサ2245eの間にほぼ等間隔に配置されている。ここでは、Y軸方向に関して、光学センサ2245aの中心位置をY1、光学センサ2245bの中心位置をY2、光学センサ2245cの中心位置をY3、光学センサ2245dの中心位置をY4、光学センサ2245eの中心位置をY5とする。各光学センサは、いずれも一例として図3に示されるように、転写ベルト2040に向けて光以下、検出用光ともいうを射出するLED11、転写ベルト2040あるいは転写ベルト2040上のトナー像からの正反射光を受光する正反射光受光素子12、転写ベルト2040あるいは転写ベルト2040上のトナー像からの拡散反射光を受光する拡散反射光受光素子13を有している。各受光素子は、いずれも受光量に応じた信号光電変換信号を出力する。ホームポジションセンサ2246aは、感光体ドラム2030aにおける回転のホームポジションを検出する。ホームポジションセンサ2246bは、感光体ドラム2030bにおける回転のホームポジションを検出する。ホームポジションセンサ2246cは、感光体ドラム2030cにおける回転のホームポジションを検出する。ホームポジションセンサ2246dは、感光体ドラム2030dにおける回転のホームポジションを検出する。次に、前記光走査装置2010の構成について説明する。光走査装置2010は、一例として図4~図7に示されるように、4つの光源2200a、2200b、2200c、2200d、4つのカップリングレンズ2201a、2201b、2201c、2201d、4つの開口板2202a、2202b、2202c、2202d、4つのシリンドリカルレンズ2204a、2204b、2204c、2204d、ポリゴンミラー2104、4つの走査レンズ2105a、2105b、2105c、2105d、6枚の折り返しミラー2106a、2106b、2106c、2106d、2108b、2108c、及び走査制御装置3022図4~図7では図示省略、図8参照などを備えている。そして、これらは、光学ハウジング図示省略の所定位置に組み付けられている。各光源は、複数の発光部が2次元配列されている垂直共振器型の面発光レーザアレイを含んでいる。該面発光レーザアレイの複数の発光部は、すべての発光部を副走査対応方向に伸びる仮想線上に正射影したときに、発光部間隔が等間隔となるように配置されている。なお、本明細書では、発光部間隔とは2つの発光部の中心間距離をいう。カップリングレンズ2201aは、光源2200aから射出された光束の光路上に配置され、該光束を略平行光束とする。カップリングレンズ2201bは、光源2200bから射出された光束の光路上に配置され、該光束を略平行光束とする。カップリングレンズ2201cは、光源2200cから射出された光束の光路上に配置され、該光束を略平行光束とする。カップリングレンズ2201dは、光源2200dから射出された光束の光路上に配置され、該光束を略平行光束とする。開口板2202aは、開口部を有し、カップリングレンズ2201aを介した光束を整形する。開口板2202bは、開口部を有し、カップリングレンズ2201bを介した光束を整形する。開口板2202cは、開口部を有し、カップリングレンズ2201cを介した光束を整形する。開口板2202dは、開口部を有し、カップリングレンズ2201dを介した光束を整形する。シリンドリカルレンズ2204aは、開口板2202aの開口部を通過した光束を、ポリゴンミラー2104の偏向反射面近傍にZ軸方向に関して結像する。シリンドリカルレンズ2204bは、開口板2202bの開口部を通過した光束を、ポリゴンミラー2104の偏向反射面近傍にZ軸方向に関して結像する。シリンドリカルレンズ2204cは、開口板2202cの開口部を通過した光束を、ポリゴンミラー2104の偏向反射面近傍にZ軸方向に関して結像する。シリンドリカルレンズ2204dは、開口板2202dの開口部を通過した光束を、ポリゴンミラー2104の偏向反射面近傍にZ軸方向に関して結像する。カップリングレンズ2201aと開口板2202aとシリンドリカルレンズ2204aとからなる光学系は、Kステーションの偏向器前光学系である。カップリングレンズ2201bと開口板2202bとシリンドリカルレンズ2204bとからなる光学系は、Cステーションの偏向器前光学系である。カップリングレンズ2201cと開口板2202cとシリンドリカルレンズ2204cとからなる光学系は、Mステーションの偏向器前光学系である。カップリングレンズ2201dと開口板2202dとシリンドリカルレンズ2204dとからなる光学系は、Yステーションの偏向器前光学系である。ポリゴンミラー2104は、Z軸に平行な軸まわりに回転する2段構造の4面鏡を有し、各鏡がそれぞれ偏向反射面となる。そして、1段目下段の4面鏡ではシリンドリカルレンズ2204bからの光束及びシリンドリカルレンズ2204cからの光束がそれぞれ偏向され、2段目上段の4面鏡ではシリンドリカルレンズ2204aからの光束及びシリンドリカルレンズ2204dからの光束がそれぞれ偏向されるように配置されている。また、シリンドリカルレンズ2204a及びシリンドリカルレンズ2204bからの各光束はポリゴンミラー2104の-X側に偏向され、シリンドリカルレンズ2204c及びシリンドリカルレンズ2204dからの各光束はポリゴンミラー2104のX側に偏向される。各走査レンズはそれぞれ、光束を対応する感光体ドラム近傍に集光する光学的パワー、及びポリゴンミラー2104の回転に伴って、対応する感光体ドラム面上で光スポットが主走査方向に等速で移動するような光学的パワーを有している。走査レンズ2105a及び走査レンズ2105bは、ポリゴンミラー2104の-X側に配置され、走査レンズ2105c及び走査レンズ2105dは、ポリゴンミラー2104のX側に配置されている。そして、走査レンズ2105aと走査レンズ2105bはZ軸方向に積層され、走査レンズ2105bは1段目の4面鏡に対向し、走査レンズ2105aは2段目の4面鏡に対向している。また、走査レンズ2105cと走査レンズ2105dはZ軸方向に積層され、走査レンズ2105cは1段目の4面鏡に対向し、走査レンズ2105dは2段目の4面鏡に対向している。ポリゴンミラー2104で偏向されたシリンドリカルレンズ2204aからの光束は、走査レンズ2105a、折り返しミラー2106aを介して、感光体ドラム2030aに照射され、光スポットが形成される。この光スポットは、ポリゴンミラー2104の回転に伴って感光体ドラム2030aの長手方向に移動する。すなわち、感光体ドラム2030a上を走査する。このときの光スポットの移動方向が、感光体ドラム2030aでの主走査方向であり、感光体ドラム2030aの回転方向が、感光体ドラム2030aでの副走査方向である。また、ポリゴンミラー2104で偏向されたシリンドリカルレンズ2204bからの光束は、走査レンズ2105b、折り返しミラー2106b及び折り返しミラー2108bを介して、感光体ドラム2030bに照射され、光スポットが形成される。この光スポットは、ポリゴンミラー2104の回転に伴って感光体ドラム2030bの長手方向に移動する。すなわち、感光体ドラム2030b上を走査する。このときの光スポットの移動方向が、感光体ドラム2030bでの主走査方向であり、感光体ドラム2030bの回転方向が、感光体ドラム2030bでの副走査方向である。また、ポリゴンミラー2104で偏向されたシリンドリカルレンズ2204cからの光束は、走査レンズ2105c、折り返しミラー2106c及び折り返しミラー2108cを介して、感光体ドラム2030cに照射され、光スポットが形成される。この光スポットは、ポリゴンミラー2104の回転に伴って感光体ドラム2030cの長手方向に移動する。すなわち、感光体ドラム2030c上を走査する。このときの光スポットの移動方向が、感光体ドラム2030cでの主走査方向であり、感光体ドラム2030cの回転方向が、感光体ドラム2030cでの副走査方向である。また、ポリゴンミラー2104で偏向されたシリンドリカルレンズ2204dからの光束は、走査レンズ2105d、折り返しミラー2106dを介して、感光体ドラム2030dに照射され、光スポットが形成される。この光スポットは、ポリゴンミラー2104の回転に伴って感光体ドラム2030dの長手方向に移動する。すなわち、感光体ドラム2030d上を走査する。このときの光スポットの移動方向が、感光体ドラム2030dでの主走査方向であり、感光体ドラム2030dの回転方向が、感光体ドラム2030dでの副走査方向である。なお、各折り返しミラーは、ポリゴンミラー2104から各感光体ドラムに至る各光路長が互いに一致するとともに、各感光体ドラムにおける光束の入射位置及び入射角がいずれも互いに等しくなるように、それぞれ配置されている。ポリゴンミラー2104と各感光体ドラムとの間の光路上に配置される光学系は、走査光学系とも呼ばれている。ここでは、走査レンズ2105aと折り返しミラー2106aとからKステーションの走査光学系が構成されている。また、走査レンズ2105bと2枚の折り返しミラー2106b、2108bとからCステーションの走査光学系が構成されている。そして、走査レンズ2105cと2枚の折り返しミラー2106c、2108cとからMステーションの走査光学系が構成されている。さらに、走査レンズ2105dと折り返しミラー2106dとからYステーションの走査光学系が構成されている。なお、各走査光学系において、走査レンズが複数のレンズから構成されていても良い。走査制御装置3022は、一例として図8に示されるように、CPU3210、フラッシュメモリ3211、RAM3212、IFインターフェース3214、画素クロック生成回路3215、画像処理回路3216、書込制御回路3219、光源駆動回路3221などを有している。なお、図8における矢印は、代表的な信号や情報の流れを示すものであり、各ブロックの接続関係の全てを表すものではない。IFインターフェース3214は、プリンタ制御装置2090との双方向の通信を制御する通信インターフェースである。上位装置からの画像データは、IFインターフェース3214を介して供給される。画素クロック生成回路3215は、画素クロック信号を生成する。なお、画素クロック信号は、1/8クロックの分解能で位相変調が可能である。画像処理回路3216は、CPU3210によって色毎にラスター展開された画像データに所定の中間調処理などを行った後、各光源の発光部毎のドットデータを作成する。書込制御回路3219は、画像形成ステーション毎に、不図示の同期検知センサの出力信号に基づいて書込開始のタイミングを求める。そして、書込開始のタイミングに合わせて、各発光部のドットデータを画素クロック生成回路3215からの画素クロック信号に重畳させるとともに、発光部毎にそれぞれ独立した変調データを生成する。光源駆動回路3221は、書込制御回路3219からの各変調データに応じて、各光源に各発光部の駆動信号を出力する。フラッシュメモリ3211には、CPU3210にて解読可能なコードで記述された各種プログラム、及びプログラムの実行に必要な各種データが格納されている。RAM3212は、作業用のメモリである。CPU3210は、フラッシュメモリ3211に格納されているプログラムに従って動作し、光走査装置2010の全体を制御する。ところで、前述したように、感光体ドラムに偏心や形状誤差があると図9及び図10参照、出力画像において、不要な副走査方向の濃度変動が生じる。また、感光体ドラムの回転軸と現像ローラの回転軸とが非平行であると図11参照、出力画像において、不要な主走査方向の濃度変動が生じる。そこで、CPU3210は、所定のタイミングで、不要な副走査方向の濃度変動及び主走査方向の濃度変動を抑制するための光量補正情報を取得する。以下では、この光量補正情報を取得する処理を光量補正情報取得処理と略述する。なお、上記所定のタイミングとして、電源投入時には、1感光体ドラムの停止時間が6時間以上のとき、2装置内の温度が10°C以上変化しているとき、3装置内の相対湿度が50以上変化しているとき、印刷時には、4プリント枚数が所定の枚数に達したとき、5現像ローラの回転回数が所定の回数に達したとき、6転写ベルトの走行距離が所定の距離に達したときなどに、光量補正情報取得処理が行われる。ここで、光量補正情報取得処理について、図12を用いて説明する。図12のフローチャートは、光量補正情報取得処理の際に、CPU3210によって実行される一連の処理アルゴリズムに対応している。なお、光量補正情報取得処理は、ステーション毎に行われるが、各ステーションで同様にして行われるので、ここでは、代表として、Kステーションでの光量補正情報取得処理について説明する。また、通常はシェーディング補正が行われるが、ここでは、説明をわかりやすくするため、便宜的にシェーディング補正は行わないものとする。最初のステップS401では、一例として図13に示されるように、ブラックに関して、互いにトナー濃度が異なる複数の領域を有する濃度チャートパターンを、一例として図14に示されるように、Y軸方向に関して有効画像領域とほぼ同じ大きさで形成する。ここでは、一例として、濃度チャートパターンは、10種類の濃度n1~n10領域を有している。そして、濃度n1が最も低濃度であり、濃度n10が最も高濃度である。なお、濃度チャートパターンを形成する際には、発光部の点灯時間は濃度に関係なく一定とし、発光パワーのみを濃度に応じて異ならしている。ここでは、濃度n1に対応する発光パワーをp1、濃度n2に対応する発光パワーをp2、、濃度n10に対応する発光パワーをp10とする。次のステップS403では、各光学センサのLED11を点灯させる。LED11からの光検出用光は、転写ベルト2040が回転するにつれて、すなわち、時間が経過するとともに、濃度チャートパターンにおける濃度n1の領域から濃度n10の領域までを順次照射する図15参照。そして、正反射光受光素子12及び拡散反射光受光素子13の出力信号を取得する。ところで、転写ベルト2040にトナーが付着していない場合には、転写ベルト2040で反射された検出用光は、正反射光成分が拡散反射光成分に比べて多い。そこで、正反射光受光素子12には多くの光が入射するが、拡散反射光受光素子13にはほとんど光が入射しない図16A参照。一方、転写ベルト2040にトナーが付着していると、トナーが付着していない場合と比較して、正反射光成分は減少し、拡散反射光成分は増加する。そこで、正反射光受光素子12に入射する光は減少し、拡散反射光受光素子13に入射する光は増加する図16B参照。すなわち、正反射光受光素子12及び拡散反射光受光素子13の出力レベルによって、転写ベルト2040に付着しているトナーの濃度を検出することが可能である。次のステップS405では、光学センサ毎に、濃度チャートパターンにおける濃度毎に、次の1式を用いて拡散反射光受光素子13の出力レベルを規格化する。なお、該規格化された拡散反射光受光素子13の出力レベルLを、以下では、便宜上センサ出力レベルともいう。L=拡散反射光受光素子13の出力レベル÷{正反射光受光素子12の出力レベル拡散反射光受光素子13の出力レベル}......1そして、各光学センサについて、センサ出力レベルと発光パワーとの相関関係を求める図17参照。ここでは、該相関関係を多項式で近似し、該多項式をフラッシュメモリ3211に格納する。なお、本実施形態では、センサ出力レベルと発光パワーとの相関関係が、5つの光学センサ間でばらつかないように調整されている。次のステップS407では、濃度変動測定用パターンを作成する。ここでは、濃度変動測定用パターンとして、ブラックのベタパターンをA3縦サイズで形成する図18参照。次のステップS409では、各光学センサのLED11を点灯させる。各LED11からの検出用光は、転写ベルト2040が回転するにつれて、すなわち、時間が経過するとともに、濃度変動測定用パターンを副走査対応方向に沿って照明する図19参照。そして、光学センサ毎に、所定の時間間隔で正反射光受光素子12及び拡散反射光受光素子13の出力信号を取得し、上記1式を用いてセンサ出力レベルを算出する図20参照。図20には、ホームポジションセンサ2246aの出力信号も示されている。なお、以下では、センサ出力レベルの時間変化をセンサ出力レベル波形ともいう。次のステップS411では、光学センサ毎に、センサ出力レベルの平均値を求める。以下では、便宜上、センサ出力レベルの平均値をレベル平均値と略述する。また、光学センサ2245aのレベル平均値をVa、光学センサ2245bのレベル平均値をVb、光学センサ2245cのレベル平均値をVc、光学センサ2245dのレベル平均値をVd、光学センサ2245eのレベル平均値をVeとする。次のステップS413では、主走査方向における濃度変動を表す式以下では、主走査濃度変動式と略述するを求める。ここでは、図21に示されるように、VaとVbを結ぶ直線L1を表す式と、VbとVcを結ぶ直線L2を表す式と、VcとVdを結ぶ直線L3を表す式と、VdとVeを結ぶ直線L4を表す式とを、主走査濃度変動式とする。そして、4本の直線直線L1~直線L4からなる折れ線を主走査濃度変動折れ線という。次のステップS415では、主走査方向における濃度変動を補正するための発光パワーを求める。ここでは、上記主走査濃度変動折れ線を上下反転させ、前記センサ出力レベルと発光パワーとの相関関係を用いて縦軸を発光パワーに変換する図22参照。ここでは、Y1での発光パワーをP1、Y2での発光パワーをP2、Y3での発光パワーをP3、Y4での発光パワーをP4、Y5での発光パワーをP5とする。次のステップS417では、主走査方向に関する位置と濃度変動を補正するための発光パワーとの関係を示す発光パワー補正式を求める。ここでは、図22に示されるように、P1とP2を結ぶ直線L12を表す式と、P2とP3を結ぶ直線L23を表す式と、P3とP4を結ぶ直線L34を表す式と、P4とP5を結ぶ直線L45を表す式とを、発光パワー補正式とする。そして、4本の直線直線L12、L23、L34、L45からなる折れ線を発光パワー補正折れ線という。なお、該発光パワー補正折れ線における最も大きい発光パワーを発光パワーPuといい、最も小さい発光パワーを発光パワーPdという。ここでは、Pu=P4、Pd=P1である。ところで、光源の発光光量を補正して濃度変動を低減する場合、濃度補正を急激に行うと、急峻な濃度変動が生じる。そして、この急峻な濃度変動が、2~3程度であっても、人間の眼でみたときには、出力画像において縦すじとなるおそれがある。また、光源は、その発光パワーに最大定格出力と最小定格出力とがある。そして、最大定格出力を超えて使用すると、光源寿命が著しく低下する。また、発光パワーが最大定格出力を超えたり、最小定格出力より小さいと、レーザの立上がり、立下りの光応答特性が劣化し、高速書込に対応できないという不都合がある。さらに、発光パワーが最小定格出力より小さいと、ドループ特性が劣化するため、ハーフトーンの画像濃度むらを発生しやすくなる。そこで、光源においては、最大定格出力と最小定格出力との範囲内で使用することが好ましい。次のステップS419では、上記発光パワー補正式を修正する。1一例として図23Aに示されるように、発光パワー補正折れ線において、発光パワーの変化が急峻な極値に対しては、図23Bに示されるように、主走査方向における該極値が含まれる区間ΔHの両端h1、h2を直線で繋ぎ、発光パワーの変化を緩和する。なお、区間ΔHは、5mm以下であれば濃度変動が目立ちやすくなり、30mm以上であれば他の画像領域での発光パワーの変化が急峻になるおそれがある。そこで、区間ΔHは、5mmよりも大きく、30mmよりも小さい範囲内で設定することが好ましい。このとき、発光パワーが最大定格出力Pmaxよりも大きくなる場合には、図24に示されるように、発光パワーが最大定格出力Pmaxよりも大きくならないように、さらに修正される。また、発光パワーが最小定格出力Pminよりも小さくなる場合には、発光パワーが最小定格出力Pminよりも小さくならないように、さらに修正される。2発光パワーPuに対して、一例として図25に示されるように、発光パワーがΔPだけ小さい2点h1,h2を直線で繋ぎ、発光パワーの変化を緩和する。なお、ΔPは、|Pu-Pd|の10よりも大きく、20よりも小さい範囲内で設定されるのが好ましい。仮に、ΔPが|Pu-Pd|の10以下であれば、濃度変動が目立ちやすくなり、20以上であれば他の画像領域での発光パワーの変化が急峻になるおそれがある。このとき、発光パワーが最大定格出力Pmaxよりも大きくなる場合には、図26に示されるように、発光パワーが最大定格出力Pmaxよりも大きくならないように、さらに修正される。また、発光パワーが最小定格出力Pminよりも小さくなる場合には、発光パワーが最小定格出力Pminよりも小さくならないように、さらに修正される。3発光パワー補正折れ線の端部に対して、27A及び図27Bに示されるように、該端部を一端とする区間ΔHでのh1を求め、h1での発光パワーと端部での発光パワーの差分Δpに対し、Δp/2となるh2を求め、該2点h1,h2を直線で繋ぎ、発光パワーの変化を緩和する。このとき、発光パワーが最小定格出力Pminよりも小さくなる場合には、図28に示されるように、最小定格出力Pminよりも小さくならないように、さらに修正される。本実施形態における発光パワー補正折れ線を上記のようにして修正したものが、図29に示されている。なお、図29におけるPaveは、最大定格出力Pmaxと最小定格出力Pminの平均の発光パワーである。次のステップS421では、修正された発光パワー補正式をフラッシュメモリ3211に保存する。ここでは、図29に示される9本の直線La~Liを表す式が、修正された発光パワー補正式となる。次のステップS431では、ホームポジションセンサ2246aの出力信号に基づいて、各センサ出力レベル波形から感光体ドラム2030aの回転周期と同じ周期の台形波を周期パターンとして抽出する図30参照。次のステップS433では、Y1~Y5のそれぞれについて、副走査方向に関する濃度変動を補正するための発光パワー補正信号を求める。ここでは、先ず、上記周期パターンを上下反転させた反転周期パターンを求める図31参照。そして、センサ出力レベルと発光パワーとの相関関係を参照して、縦軸をセンサ出力レベルから発光パワーに変換し、発光パワー補正信号とする図31参照。次のステップS435では、平均パワーが前記修正された発光パワー補正式に合致するように、各発光パワー補正信号をシフトさせる。次のステップS437では、シフトされた各発光パワー補正信号について、発光パワーが最大定格出力Pmaxよりも大きくなる部分は、発光パワーが最大定格出力Pmax以下となるように修正し、発光パワーが最小定格出力Pminよりも小さくなる部分は、発光パワーが最小定格出力Pmin以上となるように修正する。次のステップS439では、修正された5つの発光パワー補正信号を副走査方向の位置毎に平均化する。次のステップS441では、平均化された発光パワー補正信号をフラッシュメモリ3211に格納する。そして、光量補正情報取得処理を終了する。ところで、台形波信号は、一例として図32に示されるように、インクリメント時間T1と、ピーク時間T2と、デクリメント時間T3と、補正範囲量と、ドラム周期に対する位相シフト時間T4とする。図31参照とが分かっていれば生成が可能である。インクリメント時間T1は、センサ出力レベル波形から求められる。ピーク時間T2は、センサ出力レベル波形から求めても良いが、T1/2から求めても良い。デクリメント時間T3は、基本的にT1と等しい値である。位相シフト時間T4図31参照は、感光体ドラムの周期と書込開始のタイミングとの位相の調整に用いられる。なお、感光体ドラムの回転が1回転目のときは、予め設定されているデフォルト値の周期で規定される。図33には、比較例として、各センサ出力レベル波形から感光体ドラム2030aの回転周期と同じ周期の正弦波及び三角波を抽出した場合が示されている。図34には、正弦波と該正弦波に近づけた三角波とが示されている。なお、図34では、正弦波の振幅を1としている。図35には、正弦波と該正弦波に近づけた三角波との値の差分が示されている。この図35からわかるように、三角波の頂点部分では正弦波との差分が急峻な変動を示している。また、三角波を正弦波に近づけても、正弦波との光量の差分は約15近くある。図36には、正弦波と該正弦波に近づけた台形波が示されている。また、図37には、正弦波と該正弦波に近づけた台形波との値の差分が示されている。台形波の場合、台形の角部分では正弦波との差分にやや急峻な変動が見られるが、三角波の場合よりも小さい変動である。また、全体として正弦波との差分は約7以下となり、三角波の場合よりも高い精度で正弦波を模擬できる。すなわち、台形波は、三角波と異なり、ピーク位置での濃度変動が小さいという特徴がある。また、台形波は、ドラム周期が変動しても、つなぎ目がないため補正が可能であるという特徴がある図38参照。CPU3210は、画像形成が行われる際に、ステーション毎に、ホームポジションセンサの出力信号と不図示の同期検知センサの出力信号から得られる書込開始のタイミングとに基づいて、ホームポジションと書込開始の時間差を求め、該時間差に応じてフラッシュメモリ3211に格納されている発光パワー補正信号の位相をシフトさせる。そして、該発光パワー補正信号に基づいて光源を駆動させる。図39には、補正前後の光学センサ2245bのセンサ出力レベルが示されている。また、図40には、補正後の各光学センサのレベル平均値がそれぞれ示されている。このように、副走査方向の濃度変動及び主走査方向の濃度変動を抑制することができた。以上説明したように、本実施形態に係るカラープリンタ2000によると、光走査装置2010、4つの感光体ドラム2030a、2030b、2030c、2030d、4つの帯電装置2032a、2032b、2032c、2032d、4つの現像ローラ2033a、2033b、2033c、2033d、転写ベルト2040、濃度検出器2245、4つのホームポジションセンサ2246a、2246b、2246c、2246dなどを備えている。濃度検出器2245は、5つの光学センサ2245a、2245b、2245c、2245d、2245eを有している。光走査装置2010は、4つの光源2200a、2200b、2200c、2200d、4つの偏向器前光学系、ポリゴンミラー2104、4つの走査光学系、及び走査制御装置3022などを備えている。走査制御装置3022は、所定のタイミング毎に、各ステーションで、濃度検出器2245の出力信号及び対応するホームポジションセンサの出力信号に基づいて、副走査方向及び主走査方向の濃度変動を抑制するための発光パワー補正信号を求める。そして、走査制御装置3022は、発光パワー補正信号において、発光パワーが最大定格出力Pmaxよりも大きくなる部分は、発光パワーが最大定格出力Pmax以下となるように修正し、発光パワーが最小定格出力Pminよりも小さくなる部分は、発光パワーが最小定格出力Pmin以上となるように修正する。また、走査制御装置3022は、発光パワー補正信号において、発光パワーが急峻に変化する部分を、発光パワーの変化が緩和されるように修正する。そして、走査制御装置3022は、画像形成が行われる際に、ステーション毎に、修正された発光パワー補正信号を用いて各発光部の駆動信号を補正する。この場合は、光源寿命の低下を招くことなく、出力画像における副走査方向及び主走査方向の濃度ムラをいずれも低減することができる。その結果、高品質の画像を安定して形成することが可能となる。なお、上記実施形態において、イエロー画像のように、発光パワーの変化がある程度大きくても画像品質に対する影響が小さい場合は、図41に示されるように、発光パワーが、最大定格出力Pmaxと最小定格出力Pminの範囲内となるように修正しても良い。また、上記実施形態では、濃度検出器2245が、5つの光学センサを有する場合について説明したが、これに限定されるものではなく、例えば、濃度検出器2245が、3つの光学センサを有していても良い。また、上記実施形態において、走査制御装置3022によって行われる処理の一部がプリンタ制御装置2090で行われても良い。また、上記実施形態において、CPU3210によるプログラムに従う処理の少なくとも一部をハードウェアによって構成することとしても良いし、あるいは全てをハードウェアによって構成することとしても良い。"