"画像形成装置であって、画像信号の補正量を決定する補正量決定手段と、前記補正量決定手段によって決定された補正量に従って、nビットの画像信号の各画素値を補正して、第1の補正画像信号として出力する画像補正手段と、前記画像補正手段によって補正された第1の補正画像信号を、nビットよりも低いmビットの第2の補正画像信号へ画素ごとに量子化する量子化手段とを備え、前記量子化手段は、前記第1の補正画像信号を前記第2の補正画像信号へ量子化する際の量子化誤差を、各主走査ラインにおいて連続した複数の画素を含む所定の領域内で打ち消すように分散させることを特徴とする画像形成装置。前記量子化手段は、着目画素の前記第2の補正画像信号と前記第1の補正画像信号との差分を計算する差分計算手段と、前記差分計算手段によって計算された差分を、前記着目画素に対して主走査方向において隣接する隣接画素の前記第1の補正画像信号に加算する加算手段とを備えることを特徴とする請求項1に記載の画像形成装置。前記量子化手段は、各主走査ラインの画素ごとに前記第2の補正画像信号と前記第1の補正画像信号との差分を計算する差分計算手段と、前記差分計算手段によって計算された差分について、主走査ラインにおいて連続した複数の画素を含む所定のブロック単位で総和を計算する総和計算手段と、前記総和の絶対値を小さくするようにブロック内の第2の補正画像信号を修正する修正手段とを備えることを特徴とする請求項1に記載の画像形成装置。前記修正手段は、前記総和が正の場合は、ブロック内の差分のうち、正の値でかつ絶対値が最も大きい差分を有する画素の第2の補正画像信号を1つ小さい量子化レベルに変更し、前記総和が負の場合は、ブロック内の差分うち、負の値でかつ絶対値が最も大きい差分を有する画素の第2の補正画像信号を1つ大きい量子化レベルに変更する量子化処理を実行するとともに、前記総和の絶対値が所定の値より小さくなるまで前記量子化処理を繰り返し実行することを特徴とする請求項3に記載の画像形成装置。前記補正量決定手段は、各主走査ラインの画像信号を副走査方向における隣接ラインにシフトする位置補正量を、前記補正量として決定することを特徴とする請求項1乃至4の何れか1項に記載の画像形成装置。回転体と、該回転体を駆動するためのモータとを含み、画像を形成するための画像形成手段と、前記画像形成手段を用いて、前記モータの回転ムラに伴う濃度ムラを検出するためのパッチ画像を形成するパッチ形成手段とをさらに備え、前記補正量決定手段は、前記パッチ画像の濃度を検出する濃度センサからの濃度検出信号の平均濃度と、前記モータの駆動に関する位相信号が出力されるごとの濃度検出信号との差分をそれぞれ算出する手段と、前記位相信号が出力される各タイミングにおいて、前記差分から濃度変動率を算出する手段と、前記位相信号が出力される各タイミングにおいて、前記濃度変動率に予め定められた係数を乗算することにより、副走査方向における位置補正量を算出する手段と、前記位相信号が出力される各タイミング間で前記位置補正量を補間することにより、主走査ラインごとの位置補正量を決定する手段と、各主走査ラインと、決定された位置補正量とを対応付けて定義したテーブルを作成し、記憶手段に記憶する手段とを備え、前記画像補正手段は、前記記憶手段に記憶されたテーブルを用いて、前記第1の補正画像信号を生成することを特徴とする請求項5に記載の画像形成装置。画像信号にハーフトーン処理を施し、前記mビットの画像信号を出力するハーフトーン処理手段をさらに備え、前記画像補正手段は、ハーフトーン処理後において、mビットの画像信号の各画素値をnビットの画像信号に変換した後に、前記第1の補正画像信号へ補正することを特徴とする請求項1乃至6の何れか1項に記載の画像形成装置。画像形成装置であって、画像信号の補正量を決定する補正量決定手段と、前記補正量決定手段によって決定された前記補正量をnビットから該nビットより低いmビットに量子化する量子化手段と、前記量子化手段によって量子化された前記補正量を、主走査方向において連続した複数の画素を含むブロック単位での補正量を示す修正補正量に変換する変換手段と、前記変換手段によって変換されたブロック単位の修正補正量を、mビットの画像信号の該ブロックに対応する画素に加算することにより、該画像信号を補正する画像補正手段とを備え、前記変換手段は、ブロック単位の修正補正量の平均値が補正量に最も近くなるように変換することを特徴とする画像形成装置。前記変換手段は、前記ブロック内の変換した値がブロック内、及びブロックの繰り返しの周期内で偏らないように前記補正量を前記修正補正量へ変換することを特徴とする請求項8に記載の画像形成装置。前記補正量決定手段は、主走査ラインごとに画像信号の濃度補正量を、前記補正量として決定することを特徴とする請求項8又は9に記載の画像形成装置。画像信号にハーフトーン処理を施し、前記mビットの画像信号を出力するハーフトーン処理手段をさらに備え、前記画像補正手段は、ハーフトーン処理後において、mビットの画像信号の前記ブロックに対応する画素に、前記ブロック単位の修正補正量を加算することを特徴とする請求項8乃至10の何れか1項に記載の画像形成装置。しかしながら、画像信号のビット数が少ない場合、補正量を反映させる為の分解能が十分でない為、補正精度が足りなくなり、補正誤差に起因する横スジが発生するなどかえって画質が劣化する問題があった。図24はある周期のピッチ誤差によるバンディングに対して、ハーフトーン処理後に上記位置補正を行い、補正量を8ビット及び4ビットにそれぞれ量子化した場合の補正結果のピッチ誤差の例を示している。元のピッチ誤差太線に対して8ビット実線の場合はピッチ誤差はほぼ0に抑えられているのに対して4ビット破線では突発的に大きなピッチ誤差が生じていることが分かる。このピッチ誤差が突発的なスジとして画質劣化を引き起こすことになる。つまり、補正量を表すためのビット数が小さいほど量子化誤差が増大してしまうことになる。本発明は、上述の問題に鑑みて成されたものであり、できるだけ少ないビット数でのバンディング画像補正を実施するとともに、量子化誤差を所定の領域内で分散させることで高精度なバンディング画像補正を実現する画像形成装置を提供することを目的とする。本発明は、例えば、画像形成装置として実現できる。画像形成装置は、画像信号の補正量を決定する補正量決定手段と、補正量決定手段によって決定された補正量に従って、nビットの画像信号の各画素値を補正して、第1の補正画像信号として出力する画像補正手段と、画像補正手段によって補正された第1の補正画像信号を、nビットよりも低いmビットの第2の補正画像信号へ画素ごとに量子化する量子化手段とを備え、量子化手段は、第1の補正画像信号を第2の補正画像信号へ量子化する際の量子化誤差を、各主走査ラインにおいて連続した複数の画素を含む所定の領域内で打ち消すように分散させることを特徴とする。また、本発明は、画像形成装置として実現できる。画像形成装置は、画像信号の補正量を決定する補正量決定手段と、補正量決定手段によって決定された補正量をnビットより低いmビットに量子化する量子化手段と、量子化手段によって量子化された補正量を、主走査方向において連続した複数の画素を含むブロック単位での補正量を示す修正補正量に変換する変換手段と、変換手段によって変換されたブロック単位の修正補正量を、mビットの画像信号のブロックに対応する画素に加算することにより、画像信号を補正する画像補正手段とを備え、変換手段は、ブロック単位の修正補正量の平均値が補正量に最も近くなるように変換することを特徴とする。本発明は、できるだけ少ないビット数でのバンディング画像補正を実施するとともに、量子化誤差を所定の領域内で分散させることで高精度なバンディング画像補正を実現する画像形成装置を提供できる。以下、本発明を実施するための形態について図面を用いて説明する。尚、以下の実施例は特許請求の範囲に係る発明を限定するものでなく、また実施例で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。<実施例1><画像形成装置の構成>まず、図1を参照して、本発明における画像形成装置の構成例について説明する。当該画像形成装置においては、まず、画像処理部から供給される画像情報に基づいて点灯される露光光により静電潜像を形成し、この静電潜像を現像して単色トナー像を形成する。そして、各色の単色トナー像を形成し、これらを重ね合わせ、それらを記録材Pへ転写し、その記録材P上の多色トナー像を定着させ、当該記録材を機外へ排出する。以下、詳細に説明する。まず、給紙部21a又は21bから記録材Pが給紙される。感光ドラム像担持体22Y、22M、22C、22Kは、アルミシリンダの外周に有機光導伝層を塗布して構成され、図示しない駆動モータ6a~6dの駆動力が伝達されて回転する。注入帯電器23は感光ドラム22を帯電させる。4個の注入帯電器23Y、23M、23C、23Kは、イエローY、マゼンダM、シアンC、ブラックKに夫々対応する。各注入帯電器23には丸断面で示されるようにスリーブが備えられている。露光光はスキャナ部24Y、24M、24C、24Kから出力される。感光ドラム22Y、22M、22C、22Kの表面を選択的に露光することにより、静電潜像が形成される。尚、感光ドラム22Y~Kは、一定の偏心成分をもって回転しているが、静電潜像が形成される時点においては、各感光ドラム22の位相関係は、転写部において同じ偏心影響になるよう既に調整されている。現像器26は、トナーカートリッジ25Y、25M、25C、25Kから供給される現像剤により、静電潜像を現像化すべく現像剤を用いて現像剤像を形成する。4個の現像器26Y、26M、26C、26Kは、イエローY、マゼンダM、シアンC、ブラックKに夫々対応する。各現像器には、スリーブ26YS、26MS、26CS、26KSが設けられており、また、各々の現像器は脱着可能に画像形成装置に取り付けられている。中間転写体27は、感光ドラム22Y、22M、22C、22Kに接触しており、中間転写体の駆動ローラ52によって画像形成時に時計周り方向に回転し、感光ドラム22Y、22M、22C、22Kの回転に伴って、各トナー像が重畳転写される。その後、中間転写体27に転写ローラ28が接触して記録材Pを狭持搬送し、記録材Pに中間転写体27上の多色トナー像が転写される。転写ローラ28は、記録材P上に多色トナー像を転写している間、28aの位置で記録材Pに当接し、転写処理後は28bの位置に離間する。定着器30は、記録材Pを搬送させながら、転写された多色トナー像を溶融定着させるものであり、図1に示すように記録材Pを加熱する定着ローラ31と記録材Pを定着ローラ31に圧接させるための加圧ローラ32を備えている。定着ローラ31と加圧ローラ32は中空状に形成され、内部にそれぞれヒータ33、34が内蔵されている。すなわち、多色トナー像を保持した記録材Pは定着ローラ31と加圧ローラ32により搬送されるとともに、熱および圧力が加えられ、トナーが表面に定着される。トナー像定着後の記録材Pは、その後、排出ローラによって排紙トレイに排出されて画像形成動作が終了する。クリーニング手段29は、中間転写体27上に残ったトナーをクリーニングするものであり、中間転写体27上に形成された4色の多色トナー像を記録材Pに転写した後の廃トナーは、クリーナ容器に蓄えられる。濃度センサ51は、図1の画像形成装置において中間転写体27へ向けて配置されており、中間転写体27の表面上に形成されたトナーパッチの濃度を測定し、濃度検出信号を出力する。なお、本実施例では中間転写体27を備えた画像形成装置を例に説明するが、本発明は感光ドラム22に現像されたトナー像現像剤像を記録材に直接転写する一次転写方式を採用した画像形成装置にも適用することができる。この場合、以下の説明において、中間転写体27を、記録材搬送ベルト記録材担持体上に置き換えることで、発明を実施できる。また、図1に示される断面図では各感光ドラム22に駆動手段であるモータ6が設けられているが、複数の感光ドラム22でモータ6を共通化してもよい。また、以下では、画像の主走査方向に対して、上からみた場合に主走査方向と垂直に交わる、例えば記録材の搬送方向や、中間転写体の回転方向の称呼を、搬送方向もしくは副走査方向と称する。<濃度センサ51の構成>次に、図2を参照して、光学特性検出センサである濃度センサ51の一例について説明する。図2aに示すように、濃度センサ51は、発光素子であるLED8と、受光素子であるフォトトランジスタ10により構成される。ここで、LED8により照射された光は、拡散光を抑えるためのスリット9を通過し、中間転写体27表面に到達する。そして、乱反射光を開口部11により抑制した上で正反射成分をフォトトランジスタ10で受光する。図2bは濃度センサ51の回路構成を示す図である。抵抗12はフォトトランジスタ10とVccの電圧を分圧するためのものであり、抵抗13はLED8を駆動する電流を制限する。トランジスタ14は、CPU401からの信号により、LED8をオンオフする。そして、図2bに示される回路では、LED8により光を照射したときのトナー像からの正反射光量が大きいと、フォトトランジスタ10に流れる電流が大きくなり、OutPutとして検出される電圧V1の値が大きくなる。換言すれば、図2bの構成では、トナーパッチの濃度が低く正反射光が大きいときに検出電圧V1は高くなり、トナーパッチの濃度が高く正反射光が小さいときに検出電圧V1は小さくなる。<モータ6の構成>次に、図3を参照して、補正対象となるバンディングの発生源であるモータの構成について説明する。まず、図3のa乃至dを参照して、モータ6の一般的な構成を説明し、その後に図3のe等を用い、モータ6で発生する周期的な回転ムラのメカニズムについて説明する。尚、以下においては、バンディングの発生源として回転体であるモータを例に説明を行うがそれに限定されない。画像形成に係る回転体であれば、例えば、ベルト駆動ローラや、感光ドラムや、現像ローラ等をバンディングの発生源として想定することができる。モータの一般的な構成の説明まず、図3のaに、モータ6の断面図を、図3のbに正面図を、また、図3のcに回路基板303を取り出した図を夫々一例として示す。尚、モータ6とは、例えば上に説明した感光ドラム22を駆動するモータ6a~dや、駆動ローラ52を駆動するモータ6e等、画像形成部に含まれる様々なモータに相当させることができる。図3のa、bにおいて、ロータフレーム301の内側には、永久磁石で構成されるロータマグネット302が接着されている。ステータ308にはコイル309が巻かれている。そして複数のステータ308が、ロータフレーム301の内周方向に沿って配置されている。シャフト305は回転力を外部に伝達する。具体的には、当該シャフト305を加工しギアを形成したり、或いはPOMなどの樹脂により構成されたギアを当該シャフト305に挿入し、回転力を相手ギアに伝達する。ハウジング307は、ベアリング306を固定し、且つ取り付けプレート304に勘合される。一方、図3cに示すような回路基板303のロータ側の面には、FGFrequencyGeneratorマグネット311に対向するように、環状にFGパッチ速度パッチ310がプリントされている。また、回路基板303の他方の面には、不図示の駆動制御用の回路部品が実装されている。駆動制御用の回路部品には、制御用IC、複数のホール素子例えば3つ、抵抗、コンデンサ、ダイオード、MOSFET等がある。そして、不図示の制御ICは、ロータマグネット302の位置情報ホール素子出力に基づき、電流を流すコイルと、その電流の向きを切り替え、ロータフレーム301や、それに接続された各パーツを回転させる。次に、図3のdにロータマグネット302を取り出した図を示す。ロータマグネット302の内周表面には312で示すように着磁が施され、ロータマグネット302の開放面端にはFGマグネット311の着磁が施されている。本実施例では、ロータマグネット302は8極4N極、4S極の駆動用着磁を持っている。また着磁312は理想的には等間隔でN極とS極が交互に着磁されている。一方、当該FGマグネット311は、N、S磁極が駆動用着磁の数より多く着磁されている本実施例ではN極S極の対が32個。尚、図3のcに示されるFGパッチ310は、FGマグネット311の着磁極数と等しい数の矩形を、直列かつ環状に接続して形成している。尚、駆動用着磁数及びFGマグネット数については上の例に限定されることはなく、その他の形態でも適用可能であることは言うまでもない。ここで、図3に例示されるモータでは、モータの速度センサとして、回転速度に比例した周波数信号を発生する周波数発電機FrequencyGenerator方式、即ちFG方式を採用している。以下それについて説明する。FGマグネット311がロータフレーム301と一体的に回転すると、FGパッチ310には、FGマグネット311との相対的な磁束変化により、回転速度に応じた周波数の正弦波状の信号が誘起される。不図示の制御ICは、発生した誘起電圧と所定閾値とを比較することにより、パルス状のFG信号を生成する。そして、当該生成されたFG信号に基づきモータ6の速度/駆動制御、及び後述する各種処理が行なわれる。尚、モータの速度センサとしては、速度発電型のものに限らず、MRセンサ式やスリット板式等のエンコーダー型を採用してもよい。後述するが本実施例では、モータの回転ムラが周期的な濃度ムラバンディングに連動してくると想定している。つまり、どのような周期的濃度ムラが発生しているかを予測するときに、モータの回転ムラの回転位相をパラメータにしている。そして、後述するCPU401は、モータ6から出力されるFG信号に基づき、回転ムラの回転位相を特定している。モータの回転ムラ発生のメカニズム一般的に、モータ1回転周期の回転ムラの態様は、モータの構造に起因して決定される。代表例として、ロータマグネット302の着磁具合ロータ1周での着磁バラツキと、ロータマグネット302とステータ308の中心位置のずれとの2つにより、モータ1回転周期の回転ムラの態様が決まる。これは、当該2つの要因により、各ステータ308全体とロータマグネット302全体とで発生している総合モータ駆動力が、モータ6の1周期の中で変化することに起因する。ここで図3のeを用いて着磁のバラツキがどのようなものかを示す。図3のeは、着磁312を正面から見た図である。A1~A8、及びA1’~A8’は夫々極が変化する境界を示す。円周に沿って等間隔でプロットされるA1~A8は着磁バラツキがないときのN極及びS極の境界を示す。一方、A1’~A8’は着磁バラツキがあるときのN極及びS極の境界を示す。また、その他、モータシャフトピニオンギア305の偏心もモータの回転ムラの一要因として挙げることができる。この回転ムラが回転する相手に伝達され、それが濃度ムラとなって現れる。このモータシャフトピニオンギア305の偏心も、モータ6の1回転周期に依存するが、この回転ムラと、上述した着磁バラツキの回転ムラとを合成した回転ムラが、駆動力の伝達先に伝わり、それが濃度ムラとなって現れる。以上の説明が、代表的なモータ1回転周期の回転ムラのメカニズムである。他方、モータ6からは、上述した1回転周期の回転ムラ以外の周期の回転ムラも発生している。ロータマグネット302に8極の着磁がなされた駆動磁極を持つモータの場合、4組のN極及びS極の組み合わせがあるので、モータ1回転において、不図示の各ホール素子からは、4周期分の磁束変化が検出される。そして、何れかのホール素子の配置が理想配置からずれてしまうと、1周期の磁束変化において、各ホール素子からの出力の位相関係が崩れる。すると、各ホール素子からの出力に基づき、ステータに巻かれたコイルへの励磁切替えを行うモータ駆動制御において、その切替タイミングがずれてしまう。結果、モータ6の1周分周期の1/4周期の回転ムラが、モータ6が1周する間に4回発生する。尚、ロータマグネット302の駆動用着磁の極数に応じた整数分の1周期整数倍の周波数の回転ムラが発生することは自明であろう。<信号処理に関するハードウェア構成>次に、図4を参照して、信号処理に関するハードウェア構成について説明する。ここで、濃度信号処理部405、FG信号処理部406は、例えば、特定用途向け集積回路ASICや、SOCSystemOnChipで構成される。CPU401は、記憶部402、画像形成部403、FG信号処理部406、濃度信号処理部405、濃度センサ51の各ブロックと連携し各種制御を行う。また、CPU401は入力される情報に基づき各種演算処理も行う。記憶部402は、EEPROM及びRAMを含む。EEPROMは、モータ6の位相信号としてのFG信号を識別するカウント値モータの位相信号に相当と、画像濃度を補正するための補正情報との対応関係を書換え可能な形態で格納している。また、EEPROMは、CPU401の画像形成制御に用いられる、その他の各種設定情報も格納している。また、記憶部402のRAMは、CPU401が各種処理を実施する際の情報を一時的に格納するために用いられる。画像形成部403は、図1において説明した画像形成に係る各部材の総称であり、ここでの詳しい説明は省略する。また濃度センサ51も、図2で説明した通りである。濃度信号処理部405は、濃度センサ51の濃度検出信号を入力とし、CPU401が着目すべきモータ6に関する濃度ムラを容易に抽出できるように、入力された信号を加工することなく或いは加工し、それをCPU401に供給出力する。他方、FG信号処理部406は、図3で説明した、モータ6から出力されるFG信号を入力とし、そのFG信号に係る処理を行う。例えば、FG信号処理部406は、CPU401がモータの位相を特定するために、FG信号を加工し、それをCPU401へ出力したり、FG信号に係る処理の判定結果をCPU401へ通知したりする。本実施例によれば、CPU401は、濃度信号処理部405から出力される濃度信号と、FG信号処理部406からの出力される位相信号と、に基づき、モータの回転位相と濃度補正バンディング補正のための補正情報との対応付けテーブルを作成する。また、CPU401は、FG信号処理部406から供給されるFG信号に基づき特定したモータ6の位相変化に同期させ、モータ6の回転ムラの位相に応じた画像補正が反映された露光をスキャナ部24に行わせる。これについての詳細は、後述のフローチャート等により説明する。<濃度信号処理部405の構成>次に、図4aで説明した濃度信号処理部405の詳細について、図4bを用いて説明する。ローパスフィルタLPF407は特定の周波数成分の信号を選択的に通過させる。フィルタの遮断周波数はモータの1回転で1周期の周波数成分以下W1成分以下の信号を主に通過させ、且つその他W1成分の整数倍周波数の信号を減衰させる設定となっている。図5のaにLPFの動作例を示す。濃度センサ出力をLPFに通過させることにより、W1成分の濃度ムラを容易に抽出することができる。また、バンドパスフィルタBPF408は、濃度センサ51の出力のうち、所定の周波数成分を抽出することができる。本実施例では一例としてモータ1回転周波数の4倍周波数1/4周期:以下W4成分の回転ムラを抽出する構成となっている。フィルタ特性はW4成分の周波数を中心に、遮断周波数を2つ設けている。図5のbにBPFの動作例を示す。濃度センサ出力をBPFに通過させることによりW4成分の濃度ムラを容易に抽出することができる。また、濃度信号処理部405は、濃度センサ51の検出結果からモータの回転ムラの成分を除去しない生センサ出力データもCPU401に供給する。この生センサ出力データは、例えば、CPU401が、濃度センサ51の平均検出値を算出するときに利用される。尚、後述するが、本実施例によるCPU401は、モータの回転ムラに起因したW1成分とW4成分との双方の濃度ムラを補正するための補正値を算出する。また算出された補正値を、位相信号であるFG信号のカウント値と関連付け、記憶部402に格納され、画像形成時露光時に、モータ6の回転位相に応じて利用できるようにしておく。ここで、モータ6の回転ムラの位相とは、モータ6の周期的な回転速度変動における、ある状態に対応させることができる。そして、モータの回転ムラの位相が変化するとは、先のある速度状態から、モータ6の速度が変化することを意味する。<FG信号処理部406の構成>次に、図4aで説明したFG信号処理部406の詳細を図4cを用いて説明する。F/V変換器409は、取得されたFG信号の周波数解析を行う。具体的には、FG信号のパルス周期を計測し、周期に応じた電圧を出力する。ローパスフィルタ410におけるフィルタの遮断周波数は、W1成分以下を通過させ、W1成分より上の周波数は減衰させる設定になっている。尚、F/V変換器409及びローパスフィルタ410にかわり、FFT解析部を設け、FG信号の周波数解析を行ってもよい。SW411はスイッチであり、ローパスフィルタ410から出力される信号を判定部412へ入力するか否かを切り替える。SW制御部413は、初期化信号によりSW411をONさせ、リセット終了後においては次に入力されるFGカウンタ信号によりSW411をオフさせる。判定部412は、ローパスフィルタ410から入力された信号をモータ1周分取得し、平均値を算出する。平均値算出後はローパスフィルタ410から入力される値と平均値を比較し、所定の条件となった場合にカウンタリセット信号を出力する。カウンタリセット信号は、SW制御部413とFGカウンタ414へ入力される。また、カウンタリセット信号はCPU401へ送られ、リセットが行われたことがCPUへ報知される。FGカウンタ414は、モータ1周分のFGパルス数をカウントアップしトグルする。本実施例ではモータが1回転すると、32パルスのFG信号が出力されるので、FGカウンタ414は0~31をカウントする。また、FGカウンタ414は、カウンタリセット信号が入力されるとカウントを0にリセットする。<主要なハードウェア構成及び機能構成>次に、図6aを参照して、本実施例における主要なハードウェア構成及び機能構成について説明する。図6aは、画像形成装置の一部の部材、及び図4に示した一部のブロック図、及びCPU401が司る機能ブロック図との関係を示す。尚、図1、図4と同一の構成を指すときは、同一の符号を付してあり、ここでの詳しい説明は省略する。図6aにおいて、テストパッチ生成部35は、パッチ形成手段として機能し、中間転写体27上に濃度検出のためのトナー像で構成されるパッチ画像以下テストパッチ39の形成機能を司る。テストパッチ生成部35は、テストパッチのデータに基づき、スキャナ部24により感光ドラム22上に静電潜像を形成させる。そして、不図示の現像部により形成された静電潜像に基づくトナー像テストパッチを中間転写体27上に形成させる。濃度センサ51は、中間転写体27上に形成されたテストパッチ39に光を照射し、その反射光特性を検出し、濃度信号処理部405にその検出結果を入力する。補正情報生成部36は、濃度センサ51により検出されたテストパッチ39の検出結果に基づき、濃度補正情報を生成する。詳細については、図11を用いて後述する。画像処理部37は、各種画像に中間調処理などの画像処理を実行する。画像処理部37の構成については後述する。露光制御部38は、FGカウント値に同期させて、スキャナ部24を露光させ、電子写真プロセスを経て中間転写体27上へテストパッチを形成させる。尚、ハードウェア構成と機能ブロックとの対応について、図4、図6aで示した形態は一例であり、本発明はこの構成例にに限定されることはない。例えば、図4、図6aでCPU401に担わせた機能の一部、或いは全てを特定用途向け集積回路に担わせてもよい。また、逆に、図4、図6aで特性用途向け集積回路に担わせた機能の一部、或いは全てをCPU401に担わせてもよい。<画像処理部37の構成>次に、図6bを参照して、画像処理部37の構成例について説明する。ホストコンピュータ等からのプリント指示によりプリントが開始されると、カラーマッチング処理部701では、予め用意されているカラーマッチングテーブルにより色変換処理が行われる。より具体的には、カラーマッチング処理部701は、ホストコンピュータから送られてくる画像の色を表すRGB信号を画像形成装置の色再現域に合わせたデバイスRGB信号以下DevRGBと称する。に変換する。色分解処理部702では、予め用意されている色分解テーブルにより、DevRGB信号を画像形成装置のトナー色材色であるCMYK信号に変換する。濃度補正処理部703は、RAM402に格納された階調‐濃度特性を補正する濃度補正テーブルをCPU401の指示により読み込み、この濃度補正テーブルによって上記CMYK信号を階調‐濃度特性の補正を加えたC’M’Y’K’信号へ変換する。本実施例ではC’M’Y’K’信号のデータ長は8ビットである。その後、中間調処理部704で、C’M’Y’K’信号に対して中間調処理ハーフトーン処理を行う。中間調処理部704は多値ディザ処理を行い、入力される8ビットの信号を4ビットのC’’M’’Y’’K’’信号へと変換する。その後、後述するバンディング補正を行う画像補正部705により、バンディングの補正処理が行われ、4ビットのC’’’M’’’Y’’’K’’’信号となる。なお、本実施形態によれば、画像補正部705は、ハーフトーン処理後の4ビットmビットの画像信号を、一度、8ビットnビット表現に変換してバンディング画像補正を実施する。その後、画像補正部705は、8ビットの補正信号を4ビットの補正信号に量子化する。ここで、本実施形態では、この際の量子化誤差を、各主走査ラインにおいて連続した複数の画素を含む所定の領域内で打ち消すように分散させる。これらの方法の詳細については後述する。さらに、PWM処理部706で、PWMPulseWidthModulationテーブルにより、上記C’’’M’’’Y’’’K’’’信号を、スキャナ部24C、24M、24Y、24Kの露光時間Tc、Tm、Ty、Tkへ変換する。<出力補正テーブル作成処理>次に、図7を参照して、出力補正テーブル作成処理の処理手順について説明する。以下で説明する処理により、モータの位相信号と濃度ムラとの対応関係を特定し、また濃度ムラに対して濃度補正情報を演算し、モータの位相信号と濃度補正情報との対応テーブルを作成する。そして、ここで作成されたテーブルが後のプリント実行時にバンディングを軽減させるために用いられる。以下、具体的に説明する。まず、S801において、モータ制御部40は、出力補正調整モードの処理を開始する。続いて、S802において、モータ制御部40は、モータが所定の回転数範囲であることを確認し、確認できた後に、速度制御部43の制御ゲイン42の設定を最低値に変更する。尚、ゲイン設定について、最低値に限定するわけではなく、少なくとも通常の画像形成時よりも、低い設置値にゲインを設定すればよい。このようにゲインを設定することで、モータの1回転の周期の回転ムラを大きくしその検出を容易に行える。ここで、通常の画像形成とは、例えば、画像形成装置の外部のコンピュータから入力された画像情報であって、ユーザのコンピュータ操作に応じて作成された画像情報に従う画像形成のことを指す。続いて、CPU401は、S803で、モータの回転位相を検出するために、SW制御部413を介して、SW411をONし、モータFG信号のカウントを開始する。そして、判定部412は、S804で、F/V変換器409の出力、即ち、LPF410で処理されたモータの1回転の周期の回転ムラを抽出し、それを平均化する。また、判定部412は、S805で、W1成分のモータ回転ムラの位相が所定位相になったか否かを判定する。ここでは、モータ6の回転ムラの位相が零になったかを調べる。S805でYESと判定された場合、判定部412は、S806で、カウンタリセット信号を発行し、FGカウンタ414をリセットする。また、CPU401は、S806で、モータ位相信号であるFG信号のカウント監視を開始する。このFG信号に係るカウントによりモータ6の位相が特定される。また、このFG信号のカウント値の監視は、印刷ジョブが終了するまで継続される。一方、S807で、モータ制御部40は、制御ゲイン42の設定を最低値から元の設定値へ戻す。これにより、テストパッチ形成において、制御ゲイン42について、通常の画像形成時と同じ条件とすることができる。テストパッチ生成部35は、S808で、パッチ39のためのテストパッチデータを生成する。テストパッチ生成部35は、S809で、モータのFG信号のカウント値が所定値例えば0になったか否かを判定する。そして、S809でYESと判定すると、テストパッチ生成部35は、S810で、スキャナ部24による露光を開始させる。尚、テストパッチ形成時には画像補正は行われない。具体的には、ここでは、プレパッチと、通常パッチとが形成される。ここで、プレパッチとは、通常パッチより所定距離ほど先行した位置に形成され、濃度センサ51による通常パッチの濃度計測を開始するタイミングを生成するためのものである。また、通常パッチは、副走査方向においてモータ6の1周分の長さを有する。濃度センサ51は、S811で、中間転写体27上に形成されたテストパッチから得られる反射光を検知する。ここで濃度センサ51による検知結果は濃度信号処理部405を介してCPU401へ入力される。CPU401へ入力される信号は、図4のbで説明した通り3種類である。補正情報生成部36は、補正量決定手段として機能し、S812で、S811における検知結果に基づき、モータの回転ムラに起因する濃度ムラを軽減するための濃度補正情報を算出する。またそれと共に、算出した濃度補正情報をEEPROMに格納する。ここで、S811の処理では、図4のbで説明した如く、LPF407とBPF408とによりW1、W4の夫々について検出が行われる。尚、W4成分の反射光の検出開始タイミングはW1のそれと同じである。また、S812の処理では、検出されたW1及びW4成分の濃度ムラに基づき、補正情報生成部36が、W1とW4成分の夫々のムラを補正するための補正情報を演算する。そして、以上の各ステップの処理を終えて、S813で、露光出力補正テーブル作成の処理を終了する。<モータ位相とトナー像の濃度変動の関連付け処理>次に、図8を参照して、図7のS802~S806の処理の詳細について説明する。図8は、モータFGカウンタ値のリセット処理の一実施例を示すタイミングチャートである。この図8に示されるタイミングチャートにより、モータ6のどういう速度変動状態をどういう位相例では位相零FG0に相当させるかを決めることができる。図8の例では、モータの速度が、平均よりも高い速度の状態から、低い状態に向かう途中の、正に平均値を横切る状態を位相零FG0に割り当てた。尚、図8は一例であり、モータ6の任意或いは所定の速度変動状態を何れかの位相例えば位相零FG0に割り当ててもよい。要は、再現性を前提に、モータ6の任意或いは所定の速度状態を、モータ6の何れの位相任意或いは所定位相に割り当て、後々の処理で、その割り当てられた位相を特定できるようにすればよい。こうすることで、他のタイミングにおいて、モータ6の位相をパラメータにして各種処理を行うことができるようになる。以下、具体的に説明する。まず、CPU401がt0で初期化信号をFG信号処理部406へ出力すると、SW制御部413へ初期化信号が伝わる。SW制御部413はt0以降最初に入力されたFG信号に同期してSW411をONさせるS803。t1~t2の間FG信号モータ1周分、判定部412は、ローパスフィルタ410からの入力値の平均値Vaveを算出する。判定部412はt2以降、算出されたVaveとローパスフィルタ410から入力される値を比較し、所定の条件、例えば、入力値が平均値Vaveより高い側から低い側へ横切ったタイミングt3S805でYESでカウンタリセット信号を出力する。FGカウンタ414は、t3のタイミングでカウンタリセット信号を受信すると、カウントを0にリセットするS806。また、CPU401はカウンタリセット信号を受けて、位相信号FGカウント値の初期化が完了したことを認識する。次に、図9のaを参照して、パッチ画像テストパッチについての露光タイミング、即ち、図7におけるS808の処理の詳細について説明する。尚、図9のaのタイミングチャートでは、図8の処理からFG信号のカウントが継続されているものとする。つまり、CPU401が、モータ6の回転ムラ位相を、FGカウンタ値の変化に応じて継続的に特定していることを前提としている。以下、図9のaについて詳細を説明していく。まずテストパッチについて詳細に定義すると、上述したように、読み取りタイミング生成用のプレパッチと濃度ムラ計測用の通常パッチとで構成される。テストパッチ生成部35は通常パッチの露光を開始するべき所定のFGカウンタ値に到達する前のt4のタイミング本実施例では通常パッチを露光する10FGカウント前にプレパッチの形成露光を開始する。プレパッチは濃度センサ51によるテストパッチの検知開始タイミングの同期を取るためのものであり、副走査方向の長さは短くてよい。例えばモータ1回転周期の長さは不要である。濃度センサ51で検知できる長さがあれば十分である。図9のaでは、プレパッチにおける露光時間を、FGカウントで2カウント分とし、t5のタイミングでプレパッチのための露光を停止する。そして、テストパッチ生成部35は、t6のタイミングで、所定FGカウントが零になったら再び通常パッチのための露光を開始するS809。この後、少なくともモータ1周分以上のFGカウントが行われるまで露光を継続するS810。そして図1で説明した電子写真プロセスを経て、最終的に中間転写体27上に、トナー像としてテストパッチが形成される。図9のbは、テストパッチを読み取るタイミングチャートを示したものであり、図7のS811の詳細を説明する図である。図9aの説明においては、テストパッチ生成部35は、プレパッチの露光開始から10FGカウント後にテストパッチの露光を開始した。そのため、テストパッチは、プレパッチを濃度センサ51で検出してから9カウント経過後に読み取りを行う。t8で濃度センサ51がプレパッチを検出し、CPU401は、次のFGパルスを検知するt9のタイミングを起点とし、9カウント経過後のt10で、パッチの読み取りを開始する。また、図中の1001は、CPU401により管理されており、光学特性が読み取られた通常のテストパッチを露光したときの、CPU401により認識されていたモータ6の位相信号であるFG信号を示す。その様子を模式的に図10に示す。図10のi~iiiは、スキャナ部24の露光タイミングと、そのときにCPU401が認識しているモータ6の位相信号と、の関係を模式的に示す。i及びiiは、テストパッチに対する静電潜像を形成する際に、CPU401がモータ6の位相信号を認識している様子を示している。図中では、位相θ1に対してFGs1が、位相θ2に対してFGs2が夫々対応していることを示している。またiiiは、形成されたテストパッチの移動方向に沿った各位置において、画像露光時におけるモータ6の、どの位相信号が対応しているかを示す図である。このiiiにおける対応関係もCPU401により管理されている。尚、図9のbでは図示していないが、実際には、W4成分の光学特性検出もt10のタイミングに同期してBPFから出力され、CPU401へ入力されているものとする。そして、濃度センサ51で得られたテストパッチの光学特性は、濃度信号処理部405でLPF407やBPF408を経由後、CPU401へ入力される。CPU401は、濃度信号処理部405から出力された光学特性値濃度値に相当と、その検知対象となったパッチを形成したときのモータ6の位相信号FGカウント値と、を関連付け、EEPROMへ格納する。タイミングがt11に達し、少なくともモータ1周分のFGカウント分の濃度センサ51による検出結果が得られると、CPU401はテストパッチの読み取りを終了する。<テストパッチの濃度ムラ成分>ここで、図10からも理解できるように、テストパッチの検出結果には、露光時におけるモータ6の回転ムラ影響と、転写時におけるモータ6の回転ムラ影響とが含まれている。ここで、露光時も転写時も、回転ムラの発生源は同一となっている。そして、テストパッチからは、今述べたような、影響が統合された濃度ムラが検出される。尚、濃度ムラについては、モータの物理的形状に起因するため、モータの1回転周期の回転ムラの位相は、モータの物理的形状に対応して再現性あるものとなっている。<出力補正テーブルの一例>図11は、図7のフローチャートにおけるS812の処理に従って作成された補正テーブルの一例を示す。この図11に示される情報はEEPROMに格納されたものであり、画像形成時に、当該テーブルをCPU401が参照し、モータの回転ムラ位相に応じたバンディング補正が行われる。図11のテーブルAは、モータ位相とトナー像の濃度値との対応を示す。図11中ではW1とW4の夫々についてテーブルAが作成されている。ここで、W1については、LPF407を介して検出される電圧値V1を濃度値に変換することで、図11aに示される濃度値を算出できる。また、W4については、BPF408を介して得られる検出結果を濃度値に換算し、それに平均濃度値を加算することで図11bの濃度値を算出できる。なお平均濃度値についてはW1の検出結果より求めてもよいし、図4bに示される生センサ出力データを補正情報生成部36が平均化することで算出してもよい。次に、補正情報生成部36は、W1とW4の夫々について、各濃度値と平均値との差分Δd1、Δd2を算出し、算出したΔd1、Δd2を、各位相信号に対応付けてテーブルBを作成する。ここでは、平均値を10.000としている。そして、補正情報生成部36は、テーブルBに格納された各位相信号に対応したΔd1、Δd2を加算し、W1とW4の差分値を合計する。そのテーブルを図11のcのテーブルCに示す。補正情報生成部36は、各位相信号に対応した合計差分値に基づき、画像の各主走査ラインに対する位置補正値を算出する。具体的には、まず、モータ6のある位相におけるFGnにおける濃度変動率をDc_n、平均濃度値をDaveとすると、Dc_nは、Dc_n=合計差分値/Dave×100として与えられるテーブルD。次に、補正値Dc_nをTc_n=K×Dc_nによって位置補正量Tc_nに変換するテーブルE。ここでKは予め定められた係数で、濃度変動率[]と副走査方向の画像解像度単位での位置補正値[line]との対応を決めるものである。図11の例ではK=1.5となっている。また、位置補正量の単位はドットであり、副走査方向に隣接する隣接ラインに対して、画像信号をどれだけシフトするかを表す。なお、濃度変動率Dcnと位置補正値Tc_nが比例関係にないような場合には、濃度変動率Dc_nと距離補正値Tc_nとの対応関係をテーブル化して保持しておき、テーブルによってDc_nをTc_nに変換してもよい。次に、FG信号間の位置補正値Tc_nを補間し、各主走査ライン毎の位置補正値T_mのデータを生成する。具体的には画像データの各主走査ラインの走査間隔をΔT[sec]とし、モータ1回転の時間をMt[sec]、モータ1回転のFGカウント数をnとすると、FG信号の間隔、即ち、FG信号位相信号が出力されるタイミング間隔がΔFt=Mt/nとなる。従って、走査間隔ΔFt間のデータを線形補間やスプライン補間などの方法で補間し、ΔT間隔のデータを生成し図12、テーブルFとする。図12では簡単のためにΔFt=ΔT×3となる場合について示している。図のようにFG信号が1周期進むと再びFGカウント=0として画像1ページのライン数分繰り返す。以上により副走査方向のライン単位の位置補正値を得ることができる。CPU401は、算出されたテーブルFの情報を、再度利用できるようにEEPROMに格納する。このように、本実施例では、モータ6という1つの回転体から複数周期周波数の回転ムラが発生し、それがバンディングに影響するような場合に対応することができ、木目細かな対応を行うことができる。次に、図13を参照して、画像形成時のFGカウンタ値と露光のタイミングの関係について説明する。ここでは説明を簡単にするためにY,M,C,K各色の感光ドラム22Y,22M,22C,22Kを同一のモータで駆動しているものとして説明する。1色目のY画像に対して時刻tY11で後述する画像データ補正処理を開始し、FGカウンタ値が0となるタイミング時刻tY12でY画像の露光を開始する。さらに時刻tM11で2色目のM画像に対して後述する画像データ補正処理を開始し、Y画像の露光後tYM経過した時刻tY21にM画像の露光を開始する。ここで、tYMは、感光ドラム22Y、22M間の配置位置の違いを解消して、Y画像とM画像の搬送方向の画像位置が合うように予め調整されている時間差である。時刻tM12におけるFGカウンタ値FGmはtYM/ΔFtによって画像形成前に予め算出し、Mの補正テーブルはFGmを基準として作成しておけばよい。C,Mについても同様である。また、Y,M,C,Kの感光ドラム22Y,22M,22C,22Kがそれぞれ別モータで駆動する場合も、各色のモータそれぞれのFGカウント値を上述と同様の方法で取得すれば同様の処理が可能なことは明らかである。尚、画像データの補正処理については後述にて詳しく説明する。<画像データ補正>次に、図14及び図15を参照して、画像補正部705における画像補正工程及び補正量修正工程について説明する。まず、図14を参照して、画像補正工程について説明する。中間調処理部704で処理された画像信号はRAM402内のラインバッファ入力画像バッファに一旦ロードされる。本実施例では入力画像バッファは1ページ分のサイズを持つものとする。同時にRAM402内には入力画像バッファと同じサイズの補正画像バッファ、及び出力画像バッファが確保されているものとする。入力画像バッファには中間調処理が行われた図17aのような4ビットの画素値が格納されている。まず、画像補正部705は、S1401で入力画像バッファに格納されている4ビットの画素値Q4_n=0~15を図17bのように8ビット値Q8_n=0~255に変換する。次に、画像補正部705は、S1402で補正画像バッファの値を0クリアする初期化を行う。次に、画像補正部705は、S1403でライン番号m=0とし、第1主走査ラインL_0に対する累積位置補正量TL_0を0とする。また、前述のようにFGカウント値FGsが0となるタイミングで画像データの露光を開始する為、ラインL_mに対する位置補正値はT_mとなる。次に、主走査ラインL_mに対する補正を行う。以下、主走査ラインL_mの補正方法について説明する。まず、画像補正部705は、S1404で、mラインに対する位置補正値T_mを位置補正テーブル図11より読み込み、m-1ラインの累積位置修正量TL_m-1とT_mから主走査ラインL_mの累積位置補正量TL_mを以下の処理によって算出する。TL_m=TL_m-1T_m続いて、入力画像信号の補正を行う。これは、L_mラインの画像信号をTL_mライン分シフトするための補正である。まず、S1405で下式によって補正量を求める。y1=ceilTL_my2=y1-1r1=1.0-y1-TL_mr2=1.0-r1ただし、ceilは正の無限大方向の整数への丸めを意味する。次に、画像補正部705は、S1406で主走査方向の画素番号kを0に初期化し、S1407で下式によって画像信号に対する補正を行う。I‘my1,k=I’my1,kr1×Im,kI‘my2,k=I’my1,kr2×Im,kここで、Im,kは副走査mライン,主走査k画素の入力画像バッファの値を、I’m,kは副走査mライン,主走査k画素の補正画像バッファの値を示す。上式による処理の内容を図18abを用いて説明する。図のようにL_mに対する位置補正量TL_m=1.3[line]の場合、L_mラインを副走査方向に1.3ライン分シフトする。この場合、ライン単位のシフト量=1ラインと1ライン未満のシフト量=0.3ラインとなり、1ライン未満のシフト量は2ラインに画素値を分散させることにより補正する。例えば、TL_m=1.3[line]の場合、y1=2、y2=1、r1=0.3、r2=0.7となる。当該2ラインにおいて、my1は副走査方向に対してより下流のラインを示し、my2はより上流のラインを示す。また、r1はmy1ラインに振り分ける重みを示し、r2はmy2ラインに振り分ける重みを示す。L_mラインの入力画素値Iy,kが図18aとすると、補正画像バッファ上のmy1=m2ラインの画素値I‘m2,kには入力画像バッファのmラインの画像信号Im,kの値に重みr1=0.3をかけた値を加算する。また、出力画像バッファ上のmy2=m1ラインの画素値I‘m1,kには入力画像バッファのmラインの画像信号Im,kの値に重みr2=0.7をかけた値を加算する。これにより補正画像バッファのL_m1,L_m2ラインには図18bのような画素値が加算される。次に、画像補正部705は、S1408でライン内の全画素に対して処理が完了したか否かを判定し、完了していなければS1410でkを1つ進めて再びS1407の処理へ移る。S1408で全画素に対して完了していればS1409へ進む。以上の処理によってL_mラインの位置補正が行われる。CPU401は、S1409で所定の主走査ラインページ内での最後の主走査ラインに対して処理が完了したか否かを判定し、完了していなければS1411でmを1つ進めて次の主走査ラインに対して再びS1404の処理を実行する。一方、所定主走査ライン数の処理が完了し、CPU401が、S1409でYESと判定すると、画像補正工程を終了し、次の補正量修正工程に移る。なお、画像補正工程において、出力される画像信号が第1の補正画像信号に相当する。次に、図15を参照して、補正量修正処理について説明する。補正量修正工程は補正画像バッファの8ビットデータを4ビットに変換し、出力画像バッファへ格納する補正を行う。補正画像バッファのL_mライン上の画素値を走査方向の左端からP_0、P_1...として、k番目の画素値をP_kとする。まずS1501で、画像補正部705は、m=0と設定し、S1502で差分Eを0に初期化すると共に着目画素の主走査番号k=0とする。その後、主走査ラインL_mに対する修正を行う。まず、画像補正部705は、S1503でP_kに差分Eを加算しP’_k=P_kE、P’_kとする。次に、画像補正部705は、S1504で4ビット値への量子化を行う。ここで4ビット値の各値は上述の8ビット表現の値Q8_nを用いて、P’_kと最も近い4ビット値Q8_nを量子化信号Pq_kとする。量子化は例えば下式の計算によって行うことができる:Pq_k=floorP’_k8/17×17ここで、floorは負の無限大方向の整数への丸めを意味する。次に、画像補正部705は、差分計算手段として機能し、S1505でE=P’_k-Pq_kによって量子化前後の値の差分量子化誤差を計算し、Eとする。次に、画像補正部705は、S1506で8ビット表現から4ビット表現への変換Q8_nからQ4_nへの変換を行い、変換後の値Q_kを着目画素の出力画像信号として出力画像バッファへ格納し、着目画素の処理を完了する。次に、画像補正部705は、S1507でライン上のすべての画素についての処理が完了したか否かを判定し、完了していなければS1509でkを1つ進めて再びS1503へと移る。S1507ですべての画素について処理が完了していれば次にS1508で所定の主走査ラインページ内での最後の主走査ラインに対して処理が完了したか否かを判定し、完了していなければS1510でmを1つ進め、再びS1502の処理に移る。一方、S1508で所定主走査ライン数の処理が完了し、CPU401がYESと判定すると、1ページ分の補正量修正工程を完了する。なお、補正量修正工程において、出力される画像信号が第2の補正画像信号に相当する。上記のS1503~S1506の一連の処理の様子を図18cの例を用いて説明する。図18cの1801は、補正画像バッファのL_mラインの値を示す。最初の着目画素はP_0=48であり、Eは初期化されているため0である。したがってS1503の処理によってP’_k=48となり、次のS1504で量子化を行い、Pq_k=floor488/17×17=51となる。次にS1505で差分E=48-51=-3となり、その後S1506で51→3の変換8ビット表現から4ビット表現への変換、図17を参照すると、51は3へ変換される。が行われ、出力値Q_0=3となる。次に、P_1の処理へと移り、P_1=179であるのでS1503でP’_1=P_1E=179-3=176となり、S1504でPq_k=floor1768/17×17=170となる。次にS1505で差分E=176-170=6となり、その後S1506で170→10の変換が行われ、出力値Q_1=10となる。上記のように着目画素を走査方向に進めながら順次処理を行う。その結果、主走査ラインの各画素の量子化信号Pq_kと量子化前の値P_kの量子化誤差は主走査ライン内で拡散され、主走査ライン内の量子化誤差の総和は非常に小さくなる。<画像データとFGパルスとの同期>次に、図16を参照して、画像データとFGパルスとの同期について説明する。図16のフローチャートは、図15の補正量修正工程に連動して処理が開始される。まず、S1601でプリント開始すると、CPU401は、S1602で、補正量修正工程が終了したか判定し、終了していなければ終了するまで待機する。補正量修正工程が終了し、S1602でYESと判定すると、S1603で、CPU401は、印刷ジョブにおける1ページ目の処理か否かを判定する。1ページ目と判定した場合、CPU401は、S1604で、図8を用いて説明した、モータFGカウンタ値のリセット処理位相信号の初期化処理を実行する。このリセット処理により、図8のタイミングチャートで決定した所定のタイミングにおけるモータ6の速度変動状態に対するモータ6の位相対応付けを再現できるようになる。そして、以後、FGカウント値をパラメータに、モータの位相変化を特定モニタリングする。これにより、次のステップでは、特定されたモータ6の回転ムラの位相変化に同期させ、モータ6の回転ムラをキャンセルさせるための露光をスキャナ部24に行わせることができる。そして、S1605において、CPU401は、モータ6の回転ムラの位相変化を特定し、モータ6の回転ムラの位相がFGカウント値0になると、それに同期させ、スキャナ部24により、露光を開始し、画像形成を行う。S1605では、モータの回転ムラの位相に応じた画像補正が行われた露光がスキャナ部24により行われる。ここで、上述のようにFGカウント値0と露光開始タイミングの同期を取ることにより、画像補正工程、補正量修正工程での補正の位相とバンディングの位相が一致するため、バンディングを効果的に低減することが可能となる。続いて、CPU401は、S1606で、全てのページについて処理を終了したか否かを判定する。S1606でYESと判定すると、CPU401は処理を終了する。以上説明したように、上述の実施例によれば、モータの回転ムラに起因した濃度ムラを軽減することができる。また、モータ6の回転ムラに着目した場合に、常に記録材の同位置で同様のバンディングが発生するとは限らない。しかし、上述の実施例によれば、そのような場合にも対応して、適切に濃度ムラバンディングの補正を行うことができる。なお、本実施例では説明を容易にするために1ページ分のページメモリを有する構成としたが、メモリ節約のために必要なライン数分のラインバッファを有するのみの構成としてもよい。また、副走査方向へ量子化信号の同じ値が続かないようにライン毎に補正量修正工程を開始する画素番号を前後させてもよい。また、バンディングの発生源として、画像形成に係る回転体であれば、例えば、ベルト駆動ローラや、感光ドラムや、現像ローラ等をバンディング発生源として想定できることは上述した通りであるが、上記補正は、バンディング補正に限定されるものでもない。バンディング補正以外にも適用できる。<実施例2>上記実施例1では補正量修正工程で、着目画素の差分を隣接画素に加算することによって修正を行ったが、本実施例では他の補正量修正方法について説明する。具体的には、本実施例では同一の主走査ラインにおいて連続した複数の画素を含むブロック単位で量子化誤差を最小化するように補正量を修正する。まず、図14の濃度補正までの流れは実施例1と同様であるため、説明は省略する。以下では、上記実施例とは異なる構成及び技術について説明する。まず、図19を参照して、本実施例における補正量修正工程について説明する。補正量修正工程に入ると、画像補正部705は、まずS2001でライン番号mを0に初期化する。次に、画像補正部705は、S2002で主走査番号k=0に初期化し、S2003でブロック内画素番号jを0に初期化すると共にブロック内の差分の総和E_totalを0に初期化する。次に、ブロック単位の処理に入る。画像補正部705は、S2004で補正画像信号P_kの4ビット値への量子化を行い、Pq_kとする。量子化の方法は実施例1、S1504と同様に8ビット表現の値Q8_nを用いて、P_kと最も近い4ビット値Q8_nをPq_kとする。次に画像補正部705は、差分計算手段及び総和計算手段として機能し、S2005で量子化前後の差分E_jをE_j=Pq_k-P_kで算出し、S2006でE_total=E_totalE_jでブロック内の差分の総和E_totalを更新する。本実施例ではブロックサイズを8としており、S2007でj=7、すなわちブロック内の全画素に対する処理が完了したか否かを判定し、Noであればk、jを1つ進めて再び処理をS2004に戻す。一方、S2007でYesであればS2008以降の修正処理に移る。画像補正部705は、S2008で差分の総和E_totalが8よりも大きいか否かを判定し、大きければS2009へ進み、ブロック内の差分E_0~E_7の中で最も差分の大きな画素j’を選択し、対応する画素番号k’の量子化値Pq_k’を1つ下の量子化レベルへ下げる即ち、Q8_n→Q8_n-1。同時にE_j’=E_j’-17とする。本実施例では量子化値Q8_nのステップ量は17であるのでPq_k’=Pq_k’-17となる。次に、画像補正部705は、S2010で差分の総和E_totalの値もE_total=E_total-17にし、S2014へ移る。一方、S2008でNoであればS2011へ進み、画像補正部705は、差分の総和E_totalが-8よりも小さいか否かを判定する。S2011でYesであればS2012へ進み、画像補正部705は、ブロック内の差分E_0~E_7の中で最も差分の小さな画素j’を選択し、対応する画素番号k’の量子化値Pq_k’を1つ上の量子化レベルへ上げる即ち、Q8_n→Q8_n1。同時にE_j’=E_j’17とする。本実施例では量子化値Q8_nのステップ量は17であるのでPq_k’=Pq_k’17となる。次に、画像補正部705は、S2013で差分の総和E_totalの値もE_total=E_total17にし、S2014へ移る。S2014では、画像補正部705は、E_totalの値が/-量子化ステップ量/2以内に収まっているか、すなわち-8≦E_total≦8か否かを判定し、Noであれば再度S2008の処理を行う。なお、S2009、S2012において最も差分の大きい、または小さい画素が複数存在する場合は例えば最もjの小さい画素を選択するようにすればよい。S2014でYesであれば、差分の総和の絶対値が許容範囲内に収束したと判断して修正作業を完了し、S2015へ進む。また、S2011でNoであれば-8≦E_total≦8ということであるので、そのままS2015へ進む。S2015では、画像補正部705は、実施例1のS1506と同様に、Q8_n→Q4_nの変換が行われ、変換後の値Q_kを着目画素の出力値として出力画像バッファへ格納し、ブロック内の処理を完了する。次に、画像補正部705は、S2016でライン内の全画素の処理が終了したか否かを判定し、終了していなければS2019で画素番号kを1つ進め、再びS2003へ進み、次のブロックの処理を行う。S2016ですべての画素について処理が完了していれば次にS2017で、画像補正部705は、所定の主走査ラインページ内での最後の主走査ラインに対して処理が完了したか否かを判定し、完了していなければS2020でmを1つ進め、再びS2002の処理に移る。一方、S2020で所定の主走査ライン数の処理が完了し、CPU401がYESと判定すると、1ページ分の補正量修正工程を完了する。上記のS2004~S2015の一連の処理の様子を図20の例を用いて説明する。実施例1と同様、画像補正工程の結果、補正画像バッファのL_mラインには2101のような値が入っているものとする。まず、S2004で補正画像信号P_0=48が量子化され、Pq_0=51となり、S2005で差分E_0=3となり差分の総和E_totalは0に初期化されているため、S2006でE_total=3となる。順次ブロック内のP_1~P_7に上記処理がなされ、2102に示す量子化信号Pq_0~Pq_7、及び2103に示す差分E_1~E_7が計算され、差分の総和E_total=28となる2108。Pq_7の処理が完了するとj=7であるのでS2007がYesとなり、次の処理S2008へ移る。S2008ではE_total=28>8であるのでYesとなり、S2009へ進み、E_0~E_7で最も差分の大きい画素を選択する。図20の例では差分2103の中で最も大きな差分値は8であり、差分が8の画素がE_1,E_2,E_5,E_6の4つ存在するため、最も画素番号の小さいE_1を選択し、対応するPq_1の量子化レベルを1つ下げる。すなわちPq_1の値を187→170に変更する。また、E_1の値から17を減算し、E_1=-9とする。図20の2104が量子化レベル変更後の画素値、2105が差分を表す。2104の網掛けで示された画素Pq_1が値の変更された画素である。次にS2010で差分の総和E_total=28から17を減算し、E_total=11となる2109。次に、画像補正部705は、S2014で-8≦E_total≦8の判定を行い、E_total=11>8であるのでNoとなり、S2008へ移る。S2008ではYesとなり、S2009で差分2105の中で最も大きい画素を選択する。差分2105の中で最も大きな差分値は8であり、差分が8の画素がE_2,E_5,E_6の3つ存在するため、最も画素番号の小さいE_2を選択し、対応するPq_2の量子化レベルを1つ下げる。すなわちPq_2の値を187→170に変更する。また、E_2の値から17を減算し、E_2=-9とする。図20の2106が量子化レベル変更後の画素値、2107が差分を表す。2106の網掛けで示された画素Pq_2が値の変更された画素である。次にS2010で差分の総和E_total=11から17を減算し、E_total=-6となる2110。次にS2014で-8≦E_total≦8の判定を行い、Yesと判定し、ブロック内の修正処理を終了し、S2015へと移る。S2015では実施例1のS1506と同様のQ8_n→Q4_nの変換が行われ、変換後の値Q_kを着目画素の出力画像信号として出力画像バッファへ格納し、当該ブロック処理が完了する。その後は次の8画素に処理を移し、以降8画素を1ブロックとして順次処理を行う。このように、本実施形態における量子化処理において、画像補正部705は、差分の総和が正の場合は、ブロック内の差分のうち、正の値でかつ絶対値が最も大きい差分を有する画素の値の量子化レベルを1つ小さいレベルに変更する。一方、差分の総和が負の場合は、画像補正部705は、ブロック内の差分うち、負の値でかつ絶対値が最も大きい差分を有する画素の値の量子化レベルを1つ大きいレベルに変更する。さらに、画像補正部705は、差分の総和の絶対値が所定の値ここでは、8より小さくなるまで当該量子化処理を繰り返し実行する。以上説明したように、ブロック単位で量子化誤差を最小化することにより、本発明を効果的に実施することが可能である。なお、本実施例ではブロック長を8画素としたが、ブロックの画素数はこれに限定されない。また、補正量修正の処理周期と中間調処理の周期と干渉しないようにブロック長と中間調処理の周期とを整数倍にさせることにより、効果的に本発明を実施することが可能である。<実施例3>上記実施例1、2では位置を補正することにより、バンディングを低減する実施例について説明したが、本実施例では濃度を補正する濃度補正量を求めることにより、バンディングを低減する実施例について説明する。本実施例でもモータのFGパルスに同期して画像を補正する基本的な構成は実施例1と同様であるため、補正テーブル及び、画像補正部705における画像補正工程についてのみ説明する。まず、図21を参照して、本実施例における補正テーブルの例を示す。テーブルA~Dは実施例1、図11と同様であるので説明は省略する。本実施例ではテーブルDの補正値Dc_nをDcc_n=K’×Dc_nによって濃度補正値Dcc_nに変換するテーブルE。ここでK’は予め定められた係数で、濃度変動率[]と濃度補正値との対応を決めるものである。ここで濃度補正値Dcc_nは4ビット0-15の画像信号値に対する補正量を表す。図21の例ではK’=0.075となっている。なお、濃度変動率Dcnと濃度補正値Dcc_nが比例関係でない場合には、濃度変動率Dc_nと濃度補正値Dcc_nとの対応関係をテーブル化して保持しておき、テーブルによってDc_nをDcc_nに変換してもよい。次に、実施例1の図12と同様に濃度補正値Dcc_nを補間し、各主走査ライン毎の濃度補正値D_mのデータを生成し、テーブルFとする。さらに、D_mに17を乗算し、四捨五入して整数に丸めることによって量子化された濃度補正値Dq_mを演算し、テーブルGを生成する。具体的にはDq_m=floorD_m×170.5の式によってDq_mの値を計算する。テーブルGの値の意味としてはp/17p=0,1,...,17の中で最もテーブルFに近いpの値を求めている。CPU401は、算出されたテーブルGの情報を、再度利用できるようにEEPROMに格納する。<画像補正工程>次に、図22を参照して、本実施例における画像補正工程について説明する。中間調処理部704で処理された画像信号はRAM402内のラインバッファ入力画像バッファに一旦ロードされる。本実施例でも実施例1と同様に入力画像バッファは1ページ分のサイズを有するものとする。入力画像バッファには中間調処理が行われた図17aのような4ビットの画素値が格納されている。まず、画像補正部705は、S2301でライン番号m=0とする。また、本実施例でもFGカウント値FGsが0となるタイミングで画像データの露光を開始するため、ラインL_mに対する濃度補正値はD_mとなる。次に、画像補正部705は、S2302で主走査方向の画素番号kを0に初期化し、S2303で濃度補正値Dq_mを図23の変換テーブルによってブロック単位の補正量修正補正量に変換する。上述したように濃度補正値Dq_m=pは4ビット0-15の入力画像信号に対する補正量p/17を表わしている。例えばDq_mが1の場合は2401のような17画素のブロックに変換される。2401のブロックは補正量1の画素1個と、補正量0の画素16個で構成されている。したがって、ブロック内の平均補正量は1/17となり、ブロック単位で補正量1/17を表すことになる。同様にDq_m=2の場合は補正量1の画素2個と、補正量0の画素15個出構成され、ブロック内の平均補正量は2/17となり、ブロック単位で補正量2/17を表すことになる。Dq_m=3~5も同様である。また、図を見て分かるように補正量が1の画素はブロック内で偏らないように、さらには、ブロックの繰り返しの周期内で偏らないように配置されている。以上の変換によって1/17単位での補正が可能となる。上記によって変換されたブロック単位の補正量を順にD_bk_0~D_bk_16とする。なお、ここでは、Dq_mが正の値について説明したが、本発明では負の値の場合も想定される。Dq_mが負の値の場合は、上記ブロック内の1の画素が-1の画素となる。次に、画像補正部705は、S2304でブロック内の画素番号jを0に初期化し、S2305で入力画像信号にS2303で変換された補正量を下式で加算する。Im、k=Im,kD_bk_j上式によって入力画像バッファのラインmの左端の画素から順に、対応するブロック単位の補正量D_bk_jが加算される。S2306で、画像補正部705は、j=16か否かを判定し、NoであればS2309でk、jを1つ進めて再びS2307で補正処理を行う。一方、S2306でYesであれば、画像補正部705は、当該ブロックの補正を完了し、S2307でライン内の全画素に対して処理が終了したか否かを判定し、終了していなければS2310でkを1つ進め、S2304でjを0に初期化して次のブロックに対してS2305の補正処理を行う。S2307で、画像補正部705は、ライン内の全画素に対して処理が終了していればS2308で所定の主走査ラインページ内での最後の主走査ラインに対して処理が完了したか否かを判定し、完了していなければS2311でmを1つ進め、次のラインに対して再びS2302の処理を行う。一方、S2308で所定主走査ライン数の処理が完了し、CPU401がYESと判定すると、1ページ分の画像補正工程を完了する。以上説明したように、本実施例によれば、4ビット値0-15で1/17単位での補正が可能となり、高精度な補正を行うことが可能となる。"