"画像形成に関わる回転体と、前記回転体の回転速度の回転むらに起因する濃度むらについて、前記濃度むらを軽減するように画像データを補正する補正手段と、前記補正手段によって補正された画像データにおける画素のうち、濃度が出力濃度の上限を超える注目画素について、前記上限を超える濃度の超過分を、濃度の重心を維持しつつ、複数の周辺画素に拡散する拡散手段とを備えることを特徴とする画像形成装置。前記拡散手段は、均等に前記濃度の超過分を前記複数の周辺画素へ拡散させた場合に、前記複数の周辺画素の濃度の何れかが、前記出力濃度の上限を超えるか否かを判定する手段を備え、前記複数の周辺画素の濃度の何れかが前記出力濃度の上限を超えると判定すると、前記複数の周辺画素の何れにおいても濃度が前記出力濃度の上限を超えないように、拡散量を下げることを特徴とする請求項1に記載の画像形成装置。前記拡散手段により拡散量を下げて前記拡散を実行した後に、拡散されずに残った前記注目画素の濃度の超過分を、前回の拡散時よりも前記注目画素からより距離が離れた別の周辺画素に拡散することを特徴とする請求項2に記載の画像形成装置。前記拡散手段による前記拡散が実行された後に、拡散されずに残った前記注目画素の濃度の超過分を切り捨てる手段をさらに備えることを特徴とする請求項1乃至3の何れか1項に記載の画像形成装置。画像形成に関わる回転体と、前記回転体の回転速度の回転むらに起因する濃度むらに対して、前記濃度むらを軽減するように画像データを補正する補正手段と、前記補正手段による補正前又は補正後において、前記濃度むらを軽減するための画像データの補正により、濃度が出力濃度の上限を超えないように、画像データの各画素の濃度の階調値を変換する濃度変換手段とを備えることを特徴とする画像形成装置。前記補正手段による補正を実行した後の画像データにおける最大濃度を算出する算出手段と、前記算出手段によって算出された最大濃度から前記濃度変換手段による濃度変換前と濃度変換後との濃度の関係を定義した濃度変換手段を生成する生成手段とをさらに備え、前記濃度変換手段は、前記生成手段によって生成された前記濃度変換手段を用いて、画像データの各画素の濃度を変換することを特徴とする請求項5に記載の画像形成装置。前記濃度変換手段は、前記出力濃度の上限の濃度から所定の濃度範囲内の高濃度の画素のみを濃度変換の対象にすることを特徴とする請求項5又は6に記載の画像形成装置。前記画像形成に係る部材は回転体であり、前記補正手段は、前記回転体の回転速度むらによって発生する、画像形成する際の各走査ラインの副走査方向への位置ずれ量であって、前記回転速度むらに対応する前記位置ずれ量を予測する予測手段と、前記予測手段によって予測された各走査ラインの位置ずれ量に従って、各走査ラインの画像データを、前記位置ずれ量を軽減する方向へずらすように、補正する位置補正手段と、を備えることを特徴とする請求項1乃至7の何れか1項に記載の画像形成装置。前記回転体は像担持体であり前記像担持体に露光することにより、該像担持体の表面に静電潜像を形成する露光手段と、前記像担持体に形成された静電潜像をトナーを用いて現像する現像手段と、前記像担持体の表面で現像された現像手段を中間転写体に転写する転写手段とをさらに備え、前記予測手段は、前記中間転写体に形成された際の画像における各走査ラインの位置ずれ量を予測することを特徴とする請求項8に記載の画像形成装置。前記補正手段は、前記回転体の回転速度むらによって発生する、画像形成する際の各走査ラインの濃度変動量であって、前記回転速度むらに対応する前記濃度変動量を予測する予測手段と、前記予測手段によって予測された各走査ラインの濃度変動量に従って、各走査ラインの濃度変動量を軽減するように、画像データの階調値を補正する濃度補正手段と、を備えることを特徴とする請求項1乃至7の何れか1項に記載の画像形成装置。前記画像形成に係る部材は回転体であり、前記予測手段は、前記回転速度むらに起因した濃度変動量を予測するためのパッチ画像を前記回転体上に形成するパッチ形成手段と、前記形成されたパッチ画像の濃度を検出する検出手段と、前記検出された濃度から、前記速度むらの位相に対応する濃度変動量を算出する算出手段とを備えることを特徴とする請求項10に記載の画像形成装置。しかしながら、上記の位置ずれを補正する手法や画像濃度を補正する手法において、補正後の画素の最大濃度が100を超えてしまうことで補正値が反映されず、濃度むらが十分に補正されない場合がある。ここで、図24を参照して、上記問題について説明する。図24は、副走査方向に隣接した位置i~i2にあるドット1、ドット2、ドット3に対して画像の位置を補正する処理を行う様子を示す。ここで、2400に示すように、各ドットの濃度の初期値を100とする。2401~2403に示すように、濃度むらを抑制するために、ドット1に対しては位置を補正せず、ドット2は図中上方向に0.01ドット位置を補正し、ドット3は図中上方向に0.03ドット位置を補正する。2404~2406は、位置を補正する際の各画素への濃度の振り分けを示す。ドット2では、2405に示すように、図中上方向に0.01ドット位置を補正するため、位置iの濃度を1、位置i1の濃度を99となるように2ラインにまたがってドット2の重心位置を0.01ドットずらすことで補正を行う。同様にドット3では、2406に示すように、図中上方向に0.03ドット位置を補正するため、位置i1の濃度を3、位置i2の濃度を97とする。最終的な補正後の濃度はこれらの濃度を合計したものとなり、2407に示すように、位置i~i2の濃度はそれぞれ101、102、97となる。しかしながら、100以上の濃度となるドットを形成することはできないため、100以上は切り捨てられ、位置i~i2の実際の濃度は100、100、97となる。このように、補正後の濃度が100を超えてしまうと、所望の位置にドットを補正することができないため、濃度むらを十分に補正できない場合がある。上記では、画像位置を補正する場合について述べたが、画像濃度を補正する手法においても同様の問題が発生する。本発明は、上述の問題に鑑みて成されたものであり、画像形成に関わる部材のメカ的要因に起因する濃度むらを補正する際に、補正後の画素の濃度が出力濃度の上限を超えないように調整するとともに、効果的に濃度むらを軽減する画像形成装置を提供することを目的とする。本発明は、例えば、画像形成装置として実現できる。画像形成装置は、回転体の回転速度の回転むらに起因する濃度むらについて、濃度むらを軽減するように画像データを補正する補正手段と、補正手段によって補正された画像データにおける画素のうち、濃度が出力濃度の上限を超える注目画素について、上限を超える濃度の超過分を、濃度の重心を維持しつつ、複数の周辺画素に拡散する拡散手段とを備えることを特徴とする。また、本発明の画像形成装置は、画像形成に関わる回転体と、回転体の回転速度の回転むらに起因する濃度むらに対して、濃度むらを軽減するように画像データを補正する補正手段と、補正手段による補正前又は補正後において、濃度むらを軽減するための画像データの補正により、濃度が出力濃度の上限を超えないように、画像データの各画素の濃度の階調値を変換する濃度変換手段とを備えることを特徴とする。本発明は、画像形成に関わる部材のメカ的要因に起因する濃度むらを補正する際に、補正後の画素の濃度が出力濃度の上限を超えないように調整するとともに、効果的に濃度むらを軽減する画像形成装置を提供できる。以下、本発明を実施するための形態について図面を用いて説明する。尚、以下の実施例は特許請求の範囲に係る発明を限定するものでなく、また実施例で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。<第1の実施例><画像形成装置の構成>以下では、図1乃至図10を参照して、本発明の第1の実施例について説明する。まず、図1aを参照して、イエローY、マゼンタM、シアンC、ブラックKの4色の画像形成部を備えた画像形成装置202について説明する。本画像形成装置202は、図1aに示す画像形成部と図示しない画像処理部とから構成される。画像形成部は、給紙部21、感光ドラム22Y、22M、22C、22K、注入帯電器23Y、23M、23C、23K、スキャナ部24Y、24M、24C、24K、トナーカートリッジ25Y、25M、25C、25K、現像器26Y、26M、26C、26K、中間転写ベルト27、転写ローラ28および定着部30を備える。像担持体である上記感光ドラム感光体22Y、22M、22C、22Kは、図示しないモータから駆動伝達を受けて回転する。本実施例では、当該モータの回転速度ムラに起因して副走査方向に発生する濃度むらバンディングを補正する。当該モータは感光ドラム22Y、22M、22C、22Kを画像形成動作に応じて反時計周り方向に回転させる。感光ドラム22Y、22M、22C、22Kの周囲には、感光ドラムを帯電させるための注入帯電器23Y、23M、23C、23K、及び、現像を行う現像器26Y、26M、26C、26Kが備えられている。また、各現像器には、現像スリーブ26YS、26MS、26CS、26KSが設けられており、トナー現像に伴い回転する。中間転写ベルト中間転写体27は、中間転写ベルト駆動ローラ32以下、駆動ローラの回転により、時計回り方向に回転し、その駆動ローラ32は、図示しないモータから駆動伝達を受けて回転するものである。中間転写ベルト27の駆動においても、感光ドラム22と同様に、当該モータの回転速度むらの影響を受ける。画像形成に際しては、まず、回転する感光ドラム22Y、22M、22C、22Kを注入帯電器23Y、23M、23C、23Kによって帯電する。帯電すると、感光ドラム22Y、22M、22C、22Kの表面にスキャナ24Y、24M、24C、24Kから選択的に露光をして静電潜像が形成される。当該静電潜像は、現像器26Y、26M、26C、26Kによってトナー現像されることで可視画像化される。そして、その単色トナー像は、感光ドラム22Y、22M、22C、22Kの回転にともなって時計回り方向に回転している中間転写ベルト27に重ね合わされて転写される。その後、中間転写ベルト27に転写ローラ28が接触して転写材11を狭持搬送し、転写材11に中間転写ベルト27上の多色トナー像が転写される。さらに、多色トナー像を保持した転写材11は、定着部30において熱および圧力を加えられ、トナーが表面に定着される。トナー像定着後の転写材11は、その後図示しない排出ローラによって図示しない排紙トレイに排出される。中間転写ベルト27上に残ったトナーは、クリーニング部29によってクリーニングされ、クリーニングされたトナーは、クリーナ容器に蓄えられる。次に、図2を参照して、本実施例の画像処理に係る構成ブロックについて説明する。尚、図2においては、CPU212と、各機能ブロックを区別して記載しているが、各機能ブロックの機能をCPU212に担わせても良い。またCPU212や各機能ブロックの機能をASIC等に担わせてよい。これは後述の図11、図15についても同様である。画像形成装置202は、ホストインターフェース以下、ホストI/F部205、色変換処理部206、γ補正部207、中間調処理部208、画像位置補正部209、PWM処理部210、レーザ駆動部211、CPU212、ROM213、RAM214、画像位置補正パラメータ生成部215、及び感光体速度センサ216を備える。これら各コンポーネントは、システムバス204で接続される。ホストコンピュータ201と画像形成装置202は通信線203を介して接続される。ホストI/F部205は、ホストコンピュータ201との間のデータの入出力を司る。CPU212は、画像形成装置202全体の制御を行う。ROM213は、CPU212で実行する制御プログラムや制御データを格納する。RAM214は、印字データの処理などのためのワークメモリに利用される。画像位置補正パラメータ生成部215は、後述する画像位置補正パラメータを生成し、画像位置補正部209に出力する。感光体速度センサ216は、感光ドラム22Y、22M、22C、22Kの回転速度を検出し、画像位置補正パラメータ生成部215へ回転速度情報を随時出力する。ここで、本実施例の画像処理の流れについて説明する。プリント動作が開始されると、ホストコンピュータ201からはRGBの画像信号が送出され、ホストI/F部205を介して画像形成装置202へ入力される。入力されたRGB信号には色変換処理部206でマスキング、UCRの処理が施され、色補正、下色除去が行われ、イエローY、マゼンタM、シアンC、ブラックKの画像信号CMYK信号へと変換される。そして、CMYK信号に対してγ補正部207によって出力濃度曲線が線形となるように補正をかけられ、中間調処理部208で組織的ディザ法や誤差拡散法等の手法によって中間調処理が行われる。中間調処理されたCMYK信号に対して、画像位置補正部209によって画像位置補正パラメータを用いて後述の画像位置補正処理が行われる。その後、画像位置補正処理されたCMYK信号は、PWM処理部210でパルス幅変調をかけられ、D/A変換された後にレーザ駆動部211へと入力される。スキャナ24Y、24M、24C、24Kは、レーザ駆動部211に入力された信号に従って、前述のように感光ドラム22Y、22M、22C、22Kを選択的に露光し、静電潜像が形成される。<濃度センサの構成>図1aに示す濃度センサ31は、中間転写ベルト27へ向けて配置されており、中間転写ベルト27の表面上に形成されたトナーパッチの濃度を測定する。この濃度センサ31の構成の一例を図1bに示す。濃度センサ31は、LEDなどの赤外発光素子51と、フォトダイオード等の受光素子52a、52bと、受光データを処理するICを備える。これらの各コンポーネントは、図示しないホルダによって収容される。赤外発光素子51は、中間転写ベルト27の法線方向に対して45度の角度で設置されており、赤外光を中間転写ベルト27上のトナーパッチ64に照射させる。受光素子52aはトナーパッチ64からの乱反射光強度を検知し、受光素子52bはトナーパッチからの正反射光強度を検知する。正反射光強度と乱反射光強度の両方を検知することにより、高濃度から低濃度までのトナーパッチの濃度を検知することができる。なお、図1bの濃度センサ31には、集光のために図示しないレンズなどの光学素子が用いられることもある。<画像位置補正パラメータの生成処理>次に、図3を参照して、画像形成に係る部材のメカ的要因に起因した濃度むらを補正する為の画像位置補正パラメータの生成手順について説明する。ここで、画像位置補正パラメータとは、例えばモータの回転速度むらに起因した濃度むらを抑制するためのパラメータであり、n走査ライン目の画像位置の副走査方向のずれ量を示すパラメータである。なお、以下では、説明を簡略化するため、イエローYの画像に対する処理のみを記述するが、実際にはCMYK各色に対してイエローYと同様の処理が行われる。まず、S301において、感光体速度センサ216は、感光ドラム22Yの回転速度を検出測定する。本実施例では、感光ドラム22Y、22M、22C、22Kの回転軸に取り付けた既知のロータリーエンコーダにより、感光ドラムの回転速度を検出する。ここで、図4を参照して、回転速度の検出について詳細に説明する。図4aの401は、ロータリーエンコーダから出力されるエンコーダパルス信号の一例である。エンコーダパルス信号は測定対象となる回転体ここでは感光ドラム22Yの回転速度を測定するために使用され、回転体が所定の位相だけ回転する毎に1パルスの矩形波が出力される。例えば、回転体1回転につきpパルスの矩形波が出力されるロータリーエンコーダにおいては、回転体が1/p周期分回転する毎に1パルスの矩形波が出力されることとなる。時刻t0からの感光ドラム22Yの表面速度Vdotの測定を行う例を説明する。まず、感光体速度センサ216は、時刻t0に出力されているエンコーダパルス信号401の1パルスに要する時間dt0を測定する。次に、感光体速度センサ216は式1を用いて感光ドラム22Yの表面速度Vdot0を算出する。Vdot0=π×R/p/dt01ここで、Rは感光ドラム22Yの直径であり、Vdot0は時刻t0における感光ドラム22Yの表面速度である。さらに、次の1パルスに要する時間dt1,dt2...を順次取得し、式1と同様の演算を行うことで、各時間における感光ドラム表面速度Vdotを算出することができる。時刻t0~tnまでの、感光ドラム22Yの表面速度Vdotの一例を図4bの403に示す。図のように、感光ドラム22Yは目標表面速度Vtdに対し、速度むらが発生している。また、403には様々な周期の速度むら速度成分が含まれており、それらが合成された波形が示されている。感光ドラム22Yに発生する回転速度表面速度ともいえる。むらの主要な要因として、感光ドラム22Yの偏心が原因となる感光ドラム1回転周期Tdの回転速度むらや、感光ドラム22Yを駆動するモータのモータ1回転周期Tmの回転速度むらがある。また、場合によっては、モータの回転力を伝達するギアの偏心等に起因する速度むらもある。以下の説明では、特に感光ドラム1回転周期Tdと、モータ1回転周期Tmの速度むらに着目し、これら要因に起因する濃度むらを抑制する。ただし、モータの回転力を伝達するギアの偏心による速度むら等の、他の速度むら起因の濃度むらを補正してもよい。図3の説明に戻る。次に、S302において、画像位置補正パラメータ生成部215は、感光体速度センサ216から測定結果を示す回転速度情報を取得し、感光ドラム22Yの表面速度Vdotから、以後の任意のタイミングtにおける感光ドラム22Yの回転速度を予測する。画像位置補正パラメータ生成部215は、S301において測定した感光ドラム22Yの表面速度Vdotから、感光ドラム一回転周期Tdの速度むらVdftを抽出し、速度むらの強度Ad、及び、時刻t0における速度むら初期位相φdt0を計算する。これは、例えばフーリエ変換の演算を感光ドラム22Yの表面速度Vdotに対して施した後、感光ドラム一回転周期Tdについての強度と初期位相を求めることで計算することができる。また、同様にして、モータ一回転周期Tmの速度むらVmftの強度Am、及び、時刻t0における速度むら初期位相φmt0を計算する。図4cは、上記方法で周期Tdと周期Tmの速度むらを抽出した結果の一例を示す。図4cの404はVdft、405はVmftを表している。計算結果より、任意の時刻tにおける感光ドラム22Yの速度Vdtを予測することができ、Vdt=VtdAd×cosωd×tφdt0Am×cosωm×tφmt0ωd=2π/Td,ωm=2π/Tm2のように表される。式2において、Vdtは、目標速度Vtdに対して、感光ドラム一回転周期Tdの速度むらと、モータ一回転周期Tmの速度むらとが重畳されている。尚、式2では、パラメータにtを用いる場合を説明したが、このtのかわりに、回転体の速度変動の位相を採用しても良い。また、回転体の速度は、回転体の回転位置にも対応して決まった変動をとる。従って、tのかわりに、回転体の回転位置位置位相を採用しても良い。図3の説明に戻る。次に、S303において、CPU212は、露光開始時刻tpを決定し、画像位置補正パラメータ生成部215へ通知する。露光開始時刻tpとは、画像形成装置202内の各装置が画像形成可能な状態となり、且つ、画像位置補正パラメータ生成処理と、後述する画像位置補正処理が完了し、画像の露光が可能な状態となった時刻を示す。次に、S304において、画像位置補正パラメータ生成部215は、露光時の感光ドラム22Yの表面速度Vetを計算する。表面速度Vetは、感光ドラム22Yの表面速度Vdtをそのまま用いることができるため、時刻tに露光したときの、感光ドラム22Yの表面速度Vetは、Vet=Vdt3のように表される。次に、S305において、画像位置補正パラメータ生成部215は、時刻tに露光された画像が一次転写されるときの、感光ドラム22Yの表面速度Vttを計算する。露光された画像は、現像器26Yで現像され、中間転写ベルト27へ一次転写される。この様子を図5に示す。スキャナ24Yによって、露光ポイント901に露光された画像は、現像器26Yの場所へと搬送され、トナー像に現像される。現像されたトナー像は、一次転写ポイント902まで搬送された後、中間転写ベルト27へ一次転写される。このように、画像が露光されてから一次転写されるまでには、一定の時間が経過している。露光から一次転写までの時間露光転写時間Δtは、露光位置から一次転写位置までの感光ドラム22Yの表面上の距離Ldと、感光ドラム22Yの平均表面速度から、Δt=Ld/Vtd4のように求めることができる。ここで、感光ドラム22Yの平均表面速度は、目標表面速度Vtdを使用することができる。露光転写時間Δtは、不図示の不揮発性記憶に保持され、画像位置補正パラメータ生成部215は、必要なときにΔtの情報を参照する。距離Ldは、スキャナ24Yの取り付け位置誤差等の影響により、露光位置が変化するため、本体毎に異なる値となることがある。そのため、本構成では画像形成装置製造工程において、本体毎に距離Ldを測定し、不図示の不揮発メモリに保持することが望ましい。画像位置補正パラメータ生成部215は、露光転写時間Δtを用いて、時刻tに露光された画像が一次転写されるときの、感光ドラム22Yの表面速度VttをVtt=VdtΔt5のように計算する。次に、S306において、画像位置補正パラメータ生成部215は、静電潜像のライン間隔の計算を行う。スキャナ24Yは、感光ドラム22Yが目標表面速度Vtdで回転した際に、一定の目標ライン間隔Wで静電潜像が形成されるように、一定の走査間隔tsで露光走査を行う。ここで、Wは各走査ラインの間隔であり、感光ドラム回転方向の解像度pd_res[dpi]の場合は略25.4/pd_res[mm]間隔となる。特に、中間転写ベルト27の搬送速度Vbが、感光ドラム22Yの目標表面速度Vtdと同じ場合、中間転写ベルト27上に形成される画像の間隔をWとすることができる。説明を簡単にするため、本実施例では、Vb=Vtd6とする。画像位置補正パラメータ生成部215は、走査間隔tsを例えば、ts=W/Vtd7のように計算する。図6aは、露光ポイント901において、静電潜像が形成される様子を、スキャナ24Y側上側から見た例である。図6aでは、露光開始時刻tpに静電潜像L1が形成され、時刻tptsに静電潜像L2、時刻tp2tsに静電潜像L3、時刻tp3tsに静電潜像L4がそれぞれ形成されている。このとき、静電潜像L1とL2との間の間隔We1、静電潜像L2とL3との間の間隔We2、さらに、任意の静電潜像Lnと、Ln1との間の間隔Wenは、画像位置補正パラメータ生成部215により、以下のように計算される。静電潜像L1は時刻tpに形成され、静電潜像は時刻tptsに形成されるため、その間隔We1は、感光ドラム22Y表面が時刻tpから時刻tptsまでに移動した距離となる。従って、時刻tpからtptsまでのVetの定積分値を計算すればよいが、走査間隔tsは十分に短いため、時刻tpからtptsまでの感光ドラム22Yの速度はVetpで近似することで、We1≒Vetp×tsWe2≒Vetpts×tsWen≒Vetpn-1ts×ts8のように計算することができる。次に、S307において、画像位置補正パラメータ生成部215は、中間転写ベルト27上に一次転写される画像のライン間隔を計算する。前述のように、静電潜像は、現像器26Yで現像され、一次転写ポイント902へ搬送される。一次転写ポイント902において、画像は中間転写ベルト27へと一次転写される。図6bは、図6aで露光された画像が、一次転写ポイント902へ搬送されてきた例を露光装置側上側から見た例であり、図6aと同じ画像には同じ記号を付している。また、各ライン間の間隔は、S306で計算した静電潜像のライン間隔と同じである。一次転写された画像L1とL2との間の間隔Wt1は、画像L1が一次転写されてから、距離We1だけ離れた画像L2が一次転写されるまでに経過する時間に、中間転写ベルト27が移動した距離で計算することができる。画像L1が一次転写されてから、距離We1だけ離れた画像L2が一次転写されるまでに経過する時間は、転写時の感光ドラム22Yの速度VttとWe1より、Vttの時刻tpからtpxまでの定積分値がWe1となるxを求めればよい。ただし、xは十分に短いため、時刻tpからtpxまでの感光ドラム22Yの速度はVttpで近似することで、x≒We1/Vttp9のように計算することができる。ここで、Wt1は中間転写ベルト27の搬送速度Vbを用いてWt1=x×Vbで求めることができるため、Wt1≒We1/Vttp×VbWt2≒We2/Vttpts×VbWtn≒Wen/Vttpn-1ts×Vb10のように計算する。同様にして、Wtnについても計算することができる。図6cに一次転写後の中間転写ベルト27上の画像の一例を示す。図6cにおいて、図6a及びbと同じ画像には、同じ記号を付している。このように、感光ドラム22Yの速度むらによって、中間転写ベルト27上の画像には、ラインの間隔に疎密むらが発生する。この疎密により、画像の濃度むらが発生する。図6dに、ライン間隔の疎密が無く、理想的な状態の画像例を示す。図6dにおいて、図6a,b及びcと同じ画像には、同じ記号を付している。図6dの画像L1は、図6cの画像L1と同じ位置に画像が一次転写されている。また、以降の画像については、一定の距離Wで一次転写された状態である。図6dのように、各ライン間隔が一定の距離Wとすることができれば、ラインの疎密を軽減することができ、濃度むらも発生しない。そこで、本実施例では、図6cのように一次転写される画像に対して、見かけ上図6dのように一定間隔で一次転写されるように、画像位置補正を行うことで、濃度むらの抑制を行う。つまり、本実施例では、図6dのように一定間隔でラインが形成されるように、抽出した速度むらを考慮して各ライン画像の副走査方向における形成位置を調整する。図3の説明に戻る。S308において、画像位置補正パラメータ生成部215は、中間転写ベルト27上に一次転写された画像の、理想的な状態との位置ずれ量画像位置補正パラメータを計算予測する。ここで、位置ずれ量とは、各走査ラインにおける副走査方向への位置ずれ量を示す。画像L1を基準として位置ずれ量を計算するため、画像L1については、位置ずれ量E1=0となる。画像L2の位置ずれ量E2、画像L3の位置ずれ量E3、さらに、任意の画像Lnの位置ずれ量Enは、E2=W-Wt1E3=2W-{Wt1Wt2}=E2{W-Wt2}En=En-1{W-Wtn-1}11のように計算される。Enが正の値をとるとき、画像は理想的な状態よりも中間転写ベルト27の搬送方向へずれていることを表し、負の値をとるときは、中間転写ベルト27の搬送方向と逆方向へずれていることを表す。以上の処理を行い、画像位置補正パラメータ生成処理を終了する。尚、図3のフローチャートの説明では、画像形成装置において、リアルタイムに位置ずれ量Enを計測するように説明したが、画像形成装置を製造する工場において計測するようにしても良い。この場合には、回転体としての感光体にマーキングをして、そのマーキングを基準に、工場にて計測したEnをROM213に記憶しておく。そして画像形成装置は、印刷時に感光体の回転に伴う、マーキングの検出タイミングを基準に、ROM213から予め記憶したEnを順次に読み込めば良い。<画像位置補正処理>次に、図7を参照して、本実施例における画像位置補正処理について説明する。画像位置補正処理では、図3を用いて説明した画像位置補正パラメータを用いて、画像データに対応する画像の形成位置をずらすように、当該画像データを補正する。また、本実施例の画像形成装置は、画像位置補正前の中間調処理した画像データを蓄積するバッファ前段バッファと、画像位置補正した後の画像データを蓄積するためバッファ後段バッファを別々に有している。なお、画像位置補正を処理している間は、後段バッファの画像データのみ書き換えられ、前段バッファの画像データは不変となる。画像位置補正処理が開始されると、まず、S801において、画像位置補正部209は、後段バッファを0で初期化する。次に、S802において、画像位置補正部209は、現在処理中のライン注目ラインを数えるカウンタnをn=0に初期化する。さらに、S803において、画像位置補正部209は、画像位置補正パラメータ生成部215から、第nラインの画像位置ずれ量En、即ち、画像位置補正パラメータを読み出す。本実施例における画像位置補正部209は、第nラインの画像を-Enだけ移動させることで、画像位置ずれの補正を行う。つまり、本実施例では、感光ドラム等のモータにおける回転速度むらに起因して発生する画像の位置ずれを軽減する方向、即ち、ずれと反対方向に当該画像をずらすことにより、画像の位置ずれを補正する。ここで、画像位置補正の詳細について、図8を用いて説明する。図8の1220、1221は、ライン単位での画像位置補正を示す。ライン1201を-Wだけ位置補正し、ライン1202を2Wだけ位置補正する場合を考える。この場合、1203に示すように、ライン1201を中間転写ベルト27の搬送方向と逆方向へ1ライン分だけ移動させ、1204に示すように、ライン1202を中間転写ベルト27の搬送方向へ2ライン分だけ移動させることで、補正を行うことができる。図8の1222、1223は、ライン未満での画像位置補正を示す。ライン1201を0.5Wだけ位置補正し、ライン1202を0.75Wだけ位置補正する場合を考える。この場合は、1205,1206に示すように、ライン1201を構成する各画素濃度の50をライン1205へ割り当て、残りの50をライン1206へ割り当てる。また、1207,1208に示すように、ライン1202を構成する各画素濃度の25をライン1207へ割り当て、残りの75をライン1208へ割り当てる。この状態で露光を行うことで、トナー像としては、1224に示すように、濃度の割り合いに応じた位置に画像が形成され、画像1209は0.5W、画像1210は0.75Wの画像位置補正を行うことができる。前段バッファにおける第nラインの主走査方向x番目の画素濃度値をPix,nとしたときの、後段バッファの補正画素濃度値Pox、nは以下の式12で計算することができる。ここで、式12においてPix,nのnに対してltを加算している部分がライン画像単位の画像位置補正を表している。一方、×β、×αは、画像の重心を移動させる画像処理を示しており、これにより1ライン未満の画像位置補正が行われる。なお、前述の通りS802で後段バッファを0で初期化しているため、Pox、nの初期値はPox、n=0である。lt=floor-En/Wα=-En/W-lt,β=1-αPox,nlt=Pox,nltPix,n×βPox,nlt1=Pox,nlt1Pix,n×α12ここで、floorxはx以下で最大の整数を求める関数で、負の無限大方向の整数への丸めをあらわす。例えば、-En/W=1.6のとき、以下のように計算する。lt=1,α=0.6,β=0.4であり、Pox,n1=Pox,n1Pix,n×0.4Pox,n2=Pox,n2Pix,n×0.6となる。このように、入力画像濃度値の60を、2ラインだけ中間転写ベルト27の搬送方向へずらした位置へ割り当て、40を1ラインだけ中間転写ベルト27の搬送方向へずらした位置へ割り当てる。これにより、露光後のトナー像を1.6ライン1.6Wずらした位置に形成することができる。図7の説明に戻る。次に、S804において、画像位置補正部209は、式12を用いて補正画像データPoを計算し、画像データを補正する。ここでは、式12のltに応じて、画像データの記憶位置が変更され、α及びβに応じて、記憶する画像濃度値が補正されることとなる。その後、S805において、画像位置補正部209は、全てのラインに対して処理が終了したか否かを判定し、終了していればS806に進み、終了していなければS807に進む。処理が終了していなければ、S807において、画像位置補正部209は、カウンタnをインクリメントし、S803に処理を戻す。一方、終了していれば、S806において、画像位置補正部209は、後述の図9で詳述するオーバーフロー処理を行い、画像位置補正処理を終了する。そして、オーバーフロー処理が施された画像データに従って、PWM処理部210へ入力され、前述のように感光ドラム22Y、22M、22C、22Kを選択的に露光し、静電潜像が形成される。<オーバーフロー処理の詳細>次に、図9を参照して、オーバーフロー処理について説明する。オーバーフロー処理では、画像位置補正処理を実行し、出力濃度の上限である100を超える濃度超過画素の上限を超えた超過分について、濃度の重心中心を維持しつつ、周辺画素に拡散する処理を行う。尚、オーバーフロー処理は、画像位置補正された画像データの全画素に対して適用される。処理される画素の順序はどの順序でも良いが、本実施例では、1ラインの画像を全て処理した後に、次のラインの処理を行うという順序とする。オーバーフロー処理が開始されると、S1001において、画像位置補正部209は、現在処理中のラインを数えるカウンタnをn=0に初期化し、S1002において、ラインnにおける注目画素の主走査方向の位置を示すカウンタxを0に初期化する。x=0はラインnの左端の位置を示し、ライン左端から右に注目画素を順に移動して処理する。続いて、S1003において、画像位置補正部209は、現在オーバーフロー処理に使用しているマトリクスを示すカウンタmを1に初期化する。本実施例におけるマトリクスには、注目画素における100の濃度を超える超過分の濃度を周辺画素へ拡散するための拡散方法超過分を拡散する割合が定義されている。マトリクスは複数あり、その個数をm_maxとする。本実施例においてはm_max=4とする。本実施例におけるマトリクスの一例として、図10aにマトリクス1~4の4つのマトリクスを示す。マトリクス1~4は、ROM213等に予め格納されている。各マトリクスの中心は注目画素に対応しており、Co_a、Co_b、Co_c、Co_dはマトリクス1の係数、Co_e、Co_f、Co_g、Co_hはマトリクス2の係数、Co_i、Co_j、Co_k、Co_lはマトリクス3の係数、Co_m、Co_n、Co_p、Co_qはマトリクス4の係数を表す。係数Co_e~Co_qはあらかじめ定められた値とする。マトリクス1~4は、各々係数の位置が異なっており、マトリクス1、2、3、4の順に係数が注目画素に対してより離れた位置に存在する。つまり、より近くに拡散させるため、マトリクス1、2、3、4の順番で使用する。これにより、なるべく近傍に超過濃度を分散させ、分散後の画像が分散前の画像に極力忠実になるようにしている。S1001乃至S1003の初期化処理が終了すると、S1004において、画像位置補正部209は、注目画素の濃度が100を超えているか否かを判定する。ここで、100を超えていなければ注目画素に対するオーバーフロー処理を行わずにS1010に進む。一方、注目画素の濃度が100を超えている場合、マトリクスmを用いて以下のように周囲の画素に拡散する値拡散値を計算する。以下の説明では、マトリクス1を用いた計算方法を一例として説明しているが、マトリクス2~4についてもマトリクス1と同様の計算方法である。図10bは、画素の位置を示す図である。注目画素の位置を位置oとし、その上の画素の位置を位置a、左の画素の位置を位置b、下の画素の位置を位置c、右の画素の位置を位置dと表す。S1005において、画像位置補正部209は、位置a、b、c、dにおける画像位置補正後の画素の濃度にマトリクス1の係数をかけることで、理想上の拡散値理想拡散値を計算する。位置o、a、b、c、dにおける画像位置補正後の画素の濃度をそれぞれPo_o、Po_a、Po_b、Po_c、Po_dとし、位置a、b、c、dにおけるマトリクス1の係数をそれぞれCo_a、Co_b、Co_c、Co_dとすると、位置a、b、c、dにおける理想拡散値Df0_a、Df0_b、Df0_c、Df0_dは、Df0_a=Co_a×Po_aDf0_b=Co_b×Po_bDf0_c=Co_c×Po_cDf0_d=Co_d×Po_d13のように表すことができる。理想拡散値を用いて周囲の画素に拡散させた場合、拡散後の濃度が100を超えてしまう場合がある。そのため、S1006において、画像位置補正部209は、注目画素の周囲の画素がオーバーフローしないように拡散する値をスケーリング調整する。また、拡散値をスケーリング調整した場合、注目画素の濃度が拡散後も100を超えていることになる。この拡散されず残存している濃度は、別のマトリクス2~4を用いることでより遠くの画素に拡散する。ここで、理想拡散値をスケーリング調整するためのスケーリング係数を求める方法を説明する。まず、式14のように位置a、b、c、dにおける画素の濃度と濃度100との差Mg_a、Mg_b、Mg_c、Mg_dをMg_a=100-Po_aMg_b=100-Po_bMg_c=100-Po_cMg_d=100-Po_d14のように求める。次に、上記Mg_a、Mg_b、Mg_c、Mg_dと理想拡散値Df0_a、Df0_b、Df0_c、Df0_dとの比Sd_a、Sd_b、Sd_c、Sd_dをSd_a=Mg_a/Df0_aSd_b=Mg_a/Df0_aSd_c=Mg_a/Df0_aSd_d=Mg_a/Df0_a15のように求める。次に、スケーリングの係数として、Sd_a、Sd_b、Sd_c、Sd_dの最小値をSd=min1、Sd_a,Sd_b,Sd_c,Sd_d16のように求める。ただし、Sd_a、Sd_b、Sd_c、Sd_dが全て1を超える場合は、スケーリング係数を1とする。このスケーリング係数をSdとする。なお、式15において、minは引数の最小値を求める関数である。次に、理想拡散値にスケーリング係数Sdを乗算し、位置a、b、c、dにおける実際の拡散値Df_a、Df_b、Df_c、Df_dをDf_a=Sd×Df0_aDf_b=Sd×Df0_bDf_c=Sd×Df0_cDf_d=Sd×Df0_d17のように求める。図9の説明に戻る。次に、S1007において、画像位置補正部209は、上記式17を用いて求めた拡散値に従って拡散処理を行う。位置o、a、b、c、dにおける拡散後の濃度Po_o’、Po_a’、Po_b’、Po_c’Po_d’は、Po_a’=Po_aDf_aPo_b’=Po_bDf_bPo_c’=Po_cDf_cPo_d’=Po_dDf_dPo_o’=Po_o-Df_aDf_bDf_cDf_d18のように求める。その後、S1008において、画像位置補正部209は、m≧m_maxであるかどうか、即ち、処理に用いていない残りのマトリクスがあるかどうかを判定する。ここで、残りのマトリクスがある場合は、S1012に進み、mをインクリメントし、S1004に処理を戻す。一方、残りのマトリクスが無い場合はS1009に進む。このS1008のループ処理により、注目画素位置により近傍の周囲に超過濃度を優先的に拡散するので、より濃度バランスを崩さないという効果が得られる。S1009において、画像位置補正部209は、注目画素において100以上の濃度を強制的に切り捨てる。このとき、マトリクス1~4を用いて100以上の濃度を周囲に拡散した後なので、ほとんどのケースにおいて、切り捨てられる濃度はオーバーフロー処理をしていない場合に比べて小さくなる。つまり、S1009では、マトリクス1~4を用いて注目画素の濃度を周辺画素へ拡散した後に、さらに、注目画素の濃度が100を超える場合に、その超過分を切り捨てる処理を実行している。その後、S1010において、画像位置補正部209は、ラインnの全ての画素でオーバーフロー処理が終わっているか否かを判定し、終わっていなければ、S1013に進み、カウンタxをインクリメントし、S1003に処理を戻す。一方、ラインnの処理が終わっていれば、S1011に進み、画像位置補正部209は、全てのラインでオーバーフロー処理が終わっているか否かを判定し、終わっていなければS1014に進み、カウンタnをインクリメントし、ステップ1002に処理を戻す。一方、終わっていれば、オーバーフロー処理を終了する。本実施例によれば、マトリクス1~4の係数割合は、注目画素に対して点対称に重み付けすることが望ましい。例えば、マトリクス1の場合、マトリクス1の係数はCo_a=Co_c、Co_b=Co_dとする。これにより、オーバーフロー処理の前後において濃度の重心位置がずれることがなくなり、画像位置補正処理における補正位置もずれることはない。また、マトリクスの個数は4に限らずいくつでもよく、マトリクスの形状も上記係数の条件を満たすことができるのであれば図10aに示したものに限る必要はない。図10cはマトリクス1、2の係数の値を示したものであり、図10dはオーバーフロー処理前の画素濃度値、マトリクス1で拡散処理した後の画素濃度値、マトリクス2で拡散処理した後の画素濃度値を示したもので、各画像の中心が注目画素である。図10dに示すように、画像位置補正処理を実行した後の注目画素の濃度は112である。従って、出力濃度の上限に対して、12分の濃度が超過していることとなる。従って、画像位置補正部209は、まずマトリクス1を用いて注目画素の濃度を周辺画素に均等に拡散させる。ここで、マトリクス1の係数は1/4であるため、12の1/4である3が各周辺画素に拡散されることとなる。しかし、3を拡散させると、100を超える周辺画素が発生しまうため、画像位置補正部209は、周辺画素の濃度が100を超えないように濃度ここでは、2となる。を周辺画素へ拡散させることとなる。従って、拡散量を下げて、4つの周辺画素へ夫々2分、合わせて8分拡散する。そして、マトリクス1を適用した後の注目画素の濃度階調値は104となり、更なる拡散処理が必要となる。従って、画像位置補正部209は、次にマトリクス2を適用して拡散されずに残った注目画素の出力濃度の上限に対する超過分を更に拡散させる。マトリクス2による拡散における注目画素と、拡散先である周辺画素マトリクス1を使用した場合とは別の周辺画素の距離は、前回の拡散時に用いたマトリクス1よりも離れている。このマトリクス1を使用した後にマトリクス2を使用することにより、なるべく近傍に超過濃度を分散させ、分散後の画像が分散前の画像に極力忠実になるようにしている。マトリクス2の説明に戻ると、ここで、マトリクス2の係数が1/4であり、超過分が4であるため、各周辺画素への拡散濃度は、1となる。さらに、各周辺画素に1を拡散させた場合に、100を超える画素が存在しないため、画像位置補正部209は、そのまま1を各周辺画素に拡散させる。これにより、マトリクス2を適用した後の注目画素の濃度は100となり、オーバーフロー処理を終了する。なお、注目画素の濃度が例えば103である場合は、本実施例で使用するマトリクスでは切りが悪いため、超過分の3を単に切り捨ててもよい。以上説明したように、画像形成に係る部材のメカ的要因に起因した濃度むらを軽減するように画像位置補正後に、濃度が100を超える画素が存在するという不具合に対して対応することができる。即ち、本実施例における画像形成装置は、100を超えた超過分を周辺画素に拡散することによって、効果的に濃度むらを補正することが可能となる。<第2の実施例>上記第1の実施例では、画像位置補正パラメータに応じて、画像位置補正を実施し、その後、濃度が100を超える画素について周辺画素への拡散処理オーバーフロー対策処理を実行する例について説明した。一方、本実施例は、この拡散処理にかわり、最大濃度自体を低くする場合を説明する。以下、図11乃至図15を参照して、第2の実施例について説明する。尚、第1の実施例と同様の構成に関しては、同一符号を付し、その説明を省略する。また、第1の実施例の図7のS806までの処理は、オーバーフロー対策処理前の処理に相当し、第2の実施例においても同様とし、その部分についての詳細な説明を省略する。以下、第2の実施例に特有のオーバーフロー対策処理に係る処理を中心に説明を行っていく。<画像形成装置の構成>まず、図11を参照して、本実施例における画像形成装置の画像処理に係る構成例について説明する。画像形成装置202は、第1の実施例における図2の構成に加えて、濃度変換部220を備え、さらに、濃度変換テーブルを生成するための濃度変換テーブル生成部222を備える。また、RAM214が、濃度変換テーブル格納部221を備える。濃度変換部220は、中間調処理されたCMYK信号に対して、濃度変換テーブル生成部222で生成された濃度変換テーブルを用いて後述の濃度変換処理を行う。濃度変換処理後は、第1の実施例と同様なので詳しい説明を省略する。<濃度変換テーブルの生成処理>次に、図12を参照して、濃度変換テーブルの生成手順について説明する。まず、S1401において、濃度変換テーブル生成部222は、画像位置補正パラメータ生成部215から画像位置ずれ量を読み出す。この画像位置ずれ量は、第1の実施例で説明した画像位置補正パラメータ生成部215が、式11のEnの演算で既に求めている。これについての詳しい説明は省略する。次に、S1402において、濃度変換テーブル生成部222は、濃度100の画像に対して、読み込んだ画像位置ずれ量Enを用いて画像位置補正処理を行い、位置補正後の画像における最大濃度Po_maxを求める。より具体的には、濃度変換テーブル生成部222が、第1の実施例で説明した、式12に従う演算をまず行う。そして、各ラインの濃度のうち最大の濃度値を最大濃度Po_maxとする。ここでの最大濃度Po_maxは、論理的に求められたものであり、実際に形成されたトナー画像を読み込んだものではない。尚、このとき濃度100の画像データは、直接的に画像位置補正部209に入力される。また、更なる改善として、感光ドラム一回転周期Tdとモータ一回転周期Tmの最小公倍数である合成濃度むら周期Tdmに従い、濃度変動を補間し、より精度の高い最大濃度Po_maxを求めるようにしても良い。尚、画像位置補正処理は、第1の実施例と同様に、画像位置補正部209により行わせても良い。図13は、濃度100の画像に対して画像位置補正を施した場合における濃度変動様子を示したもので、図13の1501は濃度100の画像に対して画像位置補正した後の各走査ラインの論理的な濃度変化を示す。尚、露光開始時刻tp=0として画像位置補正処理を行う。尚、ここでの説明では100の画像に対して画像位置補正をした場合の濃度変化に着目している。しかし、図13に見られるような濃度変化100超過分を概ね検出できるようであれば、例えば98の画像に対して画像位置補正を施した場合においても同様の効果が得られる。即ち、変動する濃度における最大値と最小値の差分の半分の濃度変動が超過分として略検出できれば、厳密に100でなくともよい。即ち、略100であればよい。次に、S1403において、濃度変換テーブル生成部222は、最大補正濃度Po_maxを用いて、図14で示すような最大補正濃度Po_maxをPi_maxに変換するような濃度変換テーブルを生成する。図14のグラフは、濃度変換前の画像の階調値濃度に対する濃度変換後の画像の階調値濃度の関係を示したものである。最大補正濃度Po_maxから、画像位置補正部209に入力される画像の最大濃度Pi_maxを、Pi_max=100/Po_max×10019のように求める。また、濃度変換テーブルPtpは、Pi_maxを用いて、Ptp=pp≦ThPtp=s×pTh×1-sp>Ths=Pi_max-Th/100-Th20と表すことができる。ここで、Thは濃度変換のための閾値であり、Th<Pi_maxとなる値である。例えば、Th=0.9×Pi_maxとする。また、sはp>Thにおける直線の傾きである。次に、S1404において、濃度変換テーブル生成部222は、生成した濃度変換テーブルを、RAM214に備えられた濃度変換テーブル格納部221に格納する。以上の処理により、濃度変換テーブルを生成する処理を終了する。そして、以後、濃度変換テーブル生成部222は、この格納した濃度変換テーブルを用いて濃度変更濃度補正を行っていく。<濃度変換処理>次に、濃度変換処理について説明する。濃度変換部220は、濃度変換テーブル格納部221に格納された濃度変換テーブルを読み込み、濃度変換テーブルに従い、中間調処理された画像の濃度を変換する。濃度変換処理によって、濃度0~濃度Thまでの画素の濃度は変化せず、濃度Th~100の画素の濃度は、濃度Th~Pi_maxに変換される。尚、Pi_maxの算出式は、上記式19で説明した通りである。このように、最大濃度100を含む所定の濃度範囲内の高濃度の画素だけ濃度変換され、画像位置補正前の最大濃度はPi_maxとなる。高濃度の画素だけ濃度変換する理由は、低濃度領域に画像位置補正処理を行っても濃度が100を超えることがないため、低濃度領域の濃度は変更せずに、画像全体の濃度低下をできるだけ抑えるためである。なお、濃度変換テーブルは図14で示す線形的な形状だけに限らず、曲線を用いてもよい。以上のように、濃度変換処理によって、最大濃度を低くすることで、画像形成に係る部材のメカ的要因に起因した濃度むらを軽減する為の画像位置補正後に濃度が100を超えることがない。このため、十分に濃度むらを補正することが可能である。図11においては、濃度変換部220が画像位置補正部209の上流に配置され、画像位置補正前の画像データに対して、濃度変換テーブルを用いた濃度変換を行うよう説明してきたがそれに限定されない。画像位置補正部209を濃度変換部220の上流に配置し、画像位置補正後の画像データに対して濃度変換テーブルを用い濃度変換を行うというように、画像位置補正後に、濃度変換によって100を超えた濃度を100以下に抑えてもよい。<第3の実施例>以下では、図15乃至図19を参照して、本発明の第3の実施例について説明する。なお、第1、第2の実施例と同様の構成に関しては、同一符号を付し、その説明を省略する。本実施例では、主に感光ドラムを駆動するモータの回転速度むらに起因して濃度むらが発生する場合において、上記実施例のような位置ずれ補正ではなく、濃度むらを補正することを特徴とする。なお、本実施例では、一例として、濃度むら補正前に濃度むらの補正量に応じて予め濃度を低下させる例について説明する。なお、本実施例において、他の実施例と同様、イエローYの画像に対する処理を記述するが、実際にはCMYK各色に対してイエローYの場合と同様の処理を行う。<画像形成装置の構成>まず、図15を参照して、本実施例における画像形成装置の画像処理に係る構成例について説明する。図2及び図11と同様の構成に関しては、同一符号を付し、その説明を省略する。画像形成装置202は、パッチ画像生成部231、濃度むら補正テーブル生成部232、A/Dポート233、及びモータ234をを更に備える。濃度むら補正テーブル生成部232は、後述する濃度むら補正テーブルを生成し、濃度むら補正部230に出力する。濃度センサ31のアナログ信号は、A/Dポート233によりデジタル信号に変換されて、RAM214に格納される。モータ234は、感光ドラム22Yを駆動しており、モータの回転数に応じた速度信号を出力する。なお、他のコンポーネントに関しては、上記第1及び第2の実施例と同様の構成であるため、説明を省略する。次に、本実施例の画像処理の流れについて説明する。プリント動作が開始されると、第1、第2の実施例と同様に、ホストコンピュータ201からはRGBの画像信号が送出され、ホストI/F部205、色変換処理部206、濃度変換部220、濃度むら補正部230を介して処理を行う。色変換処理されたCMYK信号に対して、濃度変換部220は、濃度変換テーブル生成部222で生成された濃度変換テーブルを用いて濃度変換処理を行う。濃度変換処理後は、濃度むら補正部230にて濃度むら補正テーブルを用いて後述の濃度むら補正処理を行う。その後、濃度むら補正処理されたCMYK信号は、γ補正部207、中間調処理部208、PWM処理部210、レーザ駆動部211を介して処理される。パッチ画像生成部231は、後述する濃度むら検出処理において濃度むらを検出するためのパッチ画像の信号を出力し、γ補正部207へ出力する。そして、パッチ画像のデータは、中間超処理部208、PWM処理部210を介し、PWMデータとしてレーザ駆動部211に出力される。本実施例の画像形成装置は、電源ON時、もしくは、所定枚数印字すると、濃度むら検出処理を行う。<濃度むら検出処理>次に、図16及び図17を参照して、濃度むら検出処理について説明する。図16は濃度むら検出処理のフローを示したものである。図17は濃度むら検出処理の様子を示したものである。濃度むら検出処理が開始されると、S1801において、パッチ画像生成部231は、図17の1901に示す濃度むらを検出するためのパッチ画像を生成する為のパッチ画像の信号を出力する。パッチ画像1901は、中間調処理された濃度D0の画像であり、D0は最も濃度の検出が容易な濃度とする。パッチ画像1901の中間転写ベルト27の搬送方向の長さはモータ一回転周期以上の長さである。次に、S1802において、CPU212は、A/Dポート233を介してモータ234の速度検出を開始する。モータ234から生成されたFG信号の一例を図17の1904に示すが、CPU212はこの出力されたFG信号を元にモータの回転速度を求める。FG信号から回転速度を求める方法は、第1の実施例においてロータリーエンコーダのパルス信号から感光ドラム22Yの表面速度を検出する場合と同様である。FG信号から算出されたモータの回転速度の一例を図17の1905に示す。次に、S1803において、S1801で生成されたパッチ画像の信号に基づきレーザ駆動部211が動作する。そして、レーザ駆動部211が動作すると、感光ドラム22Y、22M、22C、22Kを選択的に露光し、静電潜像が形成され、中間転写ベルト27上回転体上にパッチ画像が形成される。このときのパッチ画像1901の露光開始時刻をtm0とする。また、同時に、パッチ画像1901の画像形成が完了するまで、モータ234の速度検出を行う。上記S1801乃至S1803の処理は、パッチ形成手段の処理の一例である。S1804において、CPU212は、検出したモータ234の回転速度からモータ一回転周期Tmの速度むらVmtを抽出する。Vmtを抽出するため、フーリエ変換の演算によりVmtの強度Avm、及び、位相φvmを計算する。抽出した速度むらVmtは、Vmt=Avm×sinωm×tφvmωm=2π/Tm21のように表される。抽出したモータ一回転周期の速度むらの一例を1906に示す。中間転写ベルト27上に形成されたパッチ画像1901は、濃度センサ31の直下へと搬送される。S1805において、濃度センサ31は、パッチ画像1901の濃度を中間転写ベルト27の搬送方向に沿って検出する。検出した濃度の一例を1902に示す。その後、S1806において、CPU212は、検出した濃度からフーリエ変換の演算によりモータ一回転周期Tmの濃度むらを抽出する。濃度むらを抽出するために、フーリエ変換の演算により強度Adm、及び、位相φdmを計算する。抽出した濃度むらDdmyは、Ddmy=Ddmttm0y/VmoDdmtt=Adm×sinωm×tφdmωm=2π/Tm22のように表される。式22のDdmyでは、搬送方向の位置yの濃度むらが、t=tm0y/VmoのDdmttが示す濃度むらに等しいということを示している。yはパッチ画像1901における中間転写ベルト27の搬送方向の位置、tm0はパッチ画像1901の露光開始時刻、Vmoはモータの平均回転速度である。抽出した濃度むらの一例を1903に示す。次に、S1807において、CPU212は、抽出した濃度むらとモータ234の速度むらとの位相差Δtdを、Δtd=φdm-φvm23のように求める。続いて、S1808において、CPU212は、求めた濃度むらの強度Adm、位相差ΔtdをRAM214に格納する。以上の処理を行い、濃度むら検出処理を終了する。<濃度むら補正処理>次に、図18を参照して、濃度むら補正部230において濃度むら補正処理について説明する。まず、S2101において、濃度むら補正部230は、濃度むら補正処理が開始されると、露光開始時刻tpを決定する。露光開始時刻tpは、画像形成装置内の各装置が画像形成可能な状態となり、画像の露光が可能な状態となる時刻である。次に、S2102において、濃度むら補正部230は、前述の方法でFG信号からモータ234の回転速度を検出する。続いて、S2103において、濃度むら補正部230は、検出したモータ234の回転速度からモータ一回転周期Tmの速度むらVm’tを抽出し、Vm’tの位相を求める。Vm’tは、Vm’t=Avm’×sinωm×tφvm’ωm=2π/Tm24のように表される。次に、S2104において、濃度むら補正部230は、振幅Adm、位相差ΔtdをRAM214から読み込み、S2105において読み込んだ振幅Adm、位相差Δtdから濃度D0に対する濃度むらDdm’yを予測算出する。なお、1階調に限らず、複数の階調10、20、...、90でハイライトからシャドウまで精度良く予測してもよい。ここで、モータの一回転周期Tmの速度むらと濃度むらとの位相差はΔtdであることから、濃度むらDdm’yは、Ddm’y=Ddmt’tpy/VmoDdmt’t=Adm×sinωm×tφvm’Δtd25のように表される。式25のDdm’yでは、搬送方向の位置yの濃度むらが、t=tpy/VmoのDdmt’tが示す濃度むらに等しいということを示している。次に、S2106において、濃度むら補正部230は、現在処理中のラインを数えるカウンタnを0に初期化する。続いて、S2107において、濃度むら補正テーブル生成部232は、濃度むらDdm’yを元にライン毎に濃度むら補正テーブルを生成する。ここで、図19を用いて第nラインに対する濃度むら補正テーブルを生成する方法について説明する。図19aは、第nラインにおける濃度むら特性を示したものである。濃度むら特性は、濃度むらによって各濃度がどう変動するかを表したものである。第nラインに対する濃度むらを、搬送方向におけるラインの中間位置y=W×nW/2の濃度むらとすると、濃度D0における濃度変動量ΔD0nは、ΔD0n=Ddm’W×nW/226となる。ここで、Wは目標ライン間隔である。図19aの2201に、濃度D0が濃度むらによって濃度D0ΔD0nとなる場合の濃度むら特性を示す。2201で示すように、濃度D0が濃度むらによって濃度D0ΔD0nとなる場合、濃度Di1は濃度Ds1、濃度Di_maxは濃度100になると予測することができる。濃度むら補正テーブル生成部232は、濃度むら特性を基準に逆特性となる濃度むら補正テーブルを生成する。図19bは、第nラインにおける濃度むら補正テーブルを示したものである。図19aの2201で示すように濃度Ds1が濃度Di1となる濃度むら特性であるとすると、濃度むら補正テーブルは、濃度Di1を濃度Ds1に変換するようなテーブルであればよい。図19bの2202に濃度むら特性2201を基準に生成された濃度むら補正テーブルを示す。なお、濃度むら補正テーブルは前述のようにΔD0nを基に生成されており、ライン毎の濃度むら補正テーブルもΔD0nの変化の周期で繰り返し同じものが出現する。よって、全ラインの濃度むら補正テーブルを生成するのではなく、一周期分だけ生成し、RAM214などに保持す、繰り返し参照しても良い。図18の説明に戻る。次に、S2108において、濃度むら補正部230は、生成された濃度むら補正テーブルに基づいて、ラインnの各画素の濃度を濃度むら補正テーブルに従って変換する。濃度むら補正テーブルは濃度むら特性の逆特性であるため、濃度むら補正テーブルによる変換により濃度むらをキャンセルすることができる。その後、S2109において、濃度むら補正部230は、所定ライン濃度むら補正部230に入力された画像の最後のラインまでの処理が終了したか否かを判定する。処理が終了していなければS2110に進み、カウンタnをインクリメントし、S2107からの処理を繰り返す。終了していれば、濃度むら補正処理を終了する。尚、図18のフローチャートの説明では、画像形成装置において、リアルタイムにS2107で濃度むら補正テーブルを生成するよう説明したが、画像形成装置を製造する工場において予め生成しても良い。この場合には、モータの回転部にマーキングをして、そのマーキングを基準に、工場にて計測した濃度むら補正テーブルをROM213に記憶しておく。そして画像形成装置は、印刷時にそのマーキングの検出タイミングを基準に、ROM213から予め記憶した該当する濃度むら補正テーブルを各ライン毎に順次を読み込めば良い。<超過濃度に対する処理>上に説明した図16、図18のフローチャートを実施することで、濃度補正処理が施された画像データが生成される。そして、濃度補正処理が施された画像データについて、第1の実施例のS806で説明したオーバーフロー処理を実行すれば良い。或いは、濃度補正後の画像データの濃度について、第2の実施例と同様の手法で、最大濃度Po_maxを求め、濃度変換テーブル生成部222が、濃度変換テーブル図14を生成すれば良い。そして、オーバーフロー処理や、濃度変換テーブル図14を生成した後の処理は、第1、第2の実施例と同様となる。以上のように、第3の実施例では、濃度むらバンディングに対して、第1、2の実施例の式12で説明したような画像位置補正ではなく、濃度むら補正テーブル生成部232により生成された補正テーブルを用い濃度補正を行う場合を説明した。そして、このように補正がなされた画像データに対しても第1、2の実施例で説明した、出力濃度の上限100を超える画素へ濃度むら対策を行うことができる。尚、最大濃度対策として、第2の実施例で説明した濃度変換テーブル図14を用いる場合には、図18のフローチャートに従う濃度むら補正後に濃度変換によって100を超えた濃度を100以下に抑えてもよい。"