"画像データに基づく走査光で感光体を露光して静電潜像を形成し、当該静電潜像を現像して可視化する画像形成手段を備える画像形成装置において、前記画像データを副走査方向に画素単位で複数のエリアに分割し、前記エリア内の所定の副走査位置で画素の挿入又は間引きを行い、当該画素の挿入又は間引きした位置を主走査位置毎に変化させ、前記画像データの画素を挿入又は間引くことによって副走査方向の変倍処理を行う変倍手段と、前記変倍手段において挿入又は間引きの行われた画素の副走査位置情報、副走査方向の変倍処理が縮小あるいは拡大のいずれかであったかを示す情報、及び注目画素に隣接する画素のデータ値を基に、前記副走査方向の変倍処理による画像のズレ方向及びエッジ形状の変化を画素毎に判別する判別手段と、前記判別手段による判別結果に応じて、前記画像形成手段における露光量の補正が変倍処理の有無によって変化しないように変換テーブルを選択し、画像のエッジ部と非エッジ部の露光量が異なるように露光補正を行う補正手段とを備えることを特徴とする画像形成装置。前記変倍処理の画素の挿入又は間引きの位置が乱数によって決定されることを特徴とする請求項1記載の画像形成装置。前記補正手段は、前記判別手段による判別結果に応じて前記変換テーブルを切り替えることを特徴とする請求項1または2に記載の画像形成装置。画像データに基づく走査光で感光体を露光して静電潜像を形成し、当該静電潜像を現像して可視化する画像形成手段を備える画像形成装置の制御方法において、前記画像データを副走査方向に画素単位で複数のエリアに分割し、前記エリア内の所定の副走査位置で画素の挿入又は間引きを行い、当該画素の挿入又は間引きした位置を主走査位置毎に変化させ、前記画像データの画素を挿入又は間引くことによって副走査方向の変倍処理を行う変倍工程と、前記変倍工程において挿入又は間引きの行われた画素の副走査位置情報、副走査方向の変倍処理が縮小あるいは拡大のいずれかであったかを示す情報、及び注目画素に隣接する画素のデータ値を基に、前記副走査方向の変倍処理による画像のズレ方向及びエッジ形状の変化を画素毎に判別する判別工程と、前記判別工程による判別結果に応じて、前記画像形成手段における露光量の補正が変倍処理の有無によって変化しないように変換テーブルを選択し、画像のエッジ部と非エッジ部の露光量が異なるように露光補正を行う補正工程とを備えることを特徴とする制御方法。請求項4に記載の制御方法を画像形成装置に実行させるためのコンピュータに読み取り可能なプログラム。しかしながら、補正画素の挿入または間引きの対象をずらした変倍処理を行った場合、補正領域内の画像には画像段差が生じる。この画像段差が画像エッジに重なると、画像エッジの形状が変化する。この画像に対してエッジ部と非エッジ部で補正値が異なるような画像の補正を加えると、エッジ部形状が変化した分、補正度合いが異なり、変倍の有無で濃度が変動してしまう問題がある。例えば、図13に示すように、縮小処理と露光補正を行った画像1301と露光補正のみを行った画像1302とを比較すると、画像を構成する画素のデータ値の構成比率が変化し、変倍の有無で濃度変動が生じることが分かる。本発明は、上記問題に鑑みて成されたものであり、画像に対する副走査方向の変倍処理と露光補正処理の干渉によって生じる濃度変動を抑制することができる画像形成装置及びその制御方法、並びにプログラムを提供することを目的とする。上記目的を達成するために、本発明の画像形成装置は、画像データに基づく走査光で感光体を露光して静電潜像を形成し、当該静電潜像を現像して可視化する画像形成手段を備える画像形成装置において、前記画像データを副走査方向に画素単位で複数のエリアに分割し、前記エリア内の所定の副走査位置で画素の挿入又は間引きを行い、当該画素の挿入又は間引きした位置を主走査位置毎に変化させ、前記画像データの画素を挿入又は間引くことによって副走査方向の変倍処理を行う変倍手段と、前記変倍手段において挿入又は間引きの行われた画素の副走査位置情報、副走査方向の変倍処理が縮小あるいは拡大のいずれかであったかを示す情報、及び注目画素に隣接する画素のデータ値を基に、前記副走査方向の変倍処理による画像のズレ方向及びエッジ形状の変化を画素毎に判別する判別手段と、前記判別手段による判別結果に応じて、前記画像形成手段における露光量の補正が変倍処理の有無によって変化しないように変換テーブルを選択し、画像のエッジ部と非エッジ部の露光量が異なるように露光補正を行う補正手段とを備えることを特徴とする。本発明によれば、画像に対する副走査方向の変倍処理と露光補正処理の干渉によって生じる濃度変動を抑制することができる。以下、本発明の実施の形態を図面を参照して詳細に説明する。図1は、本発明の実施形態に係る画像形成装置の一例である複合機の概略構成を示す図である。図1の複合機は、原稿搬送部130、原稿読取部120、画像形成部100、搬送ユニット190、デッキ給紙段180、後処理装置10を備える。原稿搬送部130は、次のように動作する。原稿置き台131にセットされた原稿は、給紙ローラー132によって1枚ずつ原稿読取位置まで搬送される。原稿読取位置から、モータ136によって駆動される原稿搬送ベルト137で所定の位置に原稿が配置され、原稿の読取動作が原稿読取部120にてなされる。原稿の読取動作後は、フラッパ135にて搬送経路が変更され、モータ136を逆転することで原稿が排出ローラー134を経由して排出トレイ138に排出される。原稿読取部120は、次のように動作する。露光ランプ122は、蛍光灯、ハロゲンランプ等からなり、その長手方向に対して垂直方向に移動しながら、原稿載置ガラス原稿台126上の原稿に対して光を照射する。露光ランプ122の光照射による原稿からの散乱光は、第1ミラー台121、第2ミラー台123に反射され、レンズ124に到達する。このとき、第1ミラー台121の移動速度に対して、第2ミラー台123は1/2の速度で移動し、照射した原稿面からレンズ124までの距離が常に一定に保たれる。第1ミラー台121、第2ミラー台123はモータ125で移動する。原稿上の像は、第1ミラー台121、第2ミラー台123、レンズ124を介して、数千個の受光素子がライン配列されたCCDラインセンサ127の受光部上に結像し、CCDラインセンサ127により逐次、ライン単位で光電変換される。光電変換された信号は、後述する画像処理部200で処理され、PWM変調されて出力される。なお、画像処理部200は装置内に設置されているものとする。画像形成部100は、次のように動作する。後述する画像処理部200の出力であるPWM変調された画像信号により半導体レーザ101が駆動し、光ビーム走査光を定速回転している感光体107の表面に照射して露光する。このとき、ドラム状の感光体107の回転軸方向と平行にモータ103で回転しているポリゴンミラー102を用いて光ビームを偏向走査する。なお、感光体107は、光ビームを照射する前に、不図示の前露光ランプにより残留電荷が除電され、不図示の1次帯電器によりその表面が均一に帯電されている。したがって、感光体107は、回転しながら光ビームを受けることにより、感光体表面に静電潜像が形成される。そして、感光体表面に形成された静電潜像を現像器104により所定色の現像剤トナーで可視化する。本体給紙段140,150,160,170,180から搬送された転写紙は、レジストローラー106まで搬送される。センサ105が転写紙を検知するとレジストローラー106が駆動を開始して、感光体107に形成されたトナー画像の端と転写紙の先端とが転写位置で合わさるように転写紙が給紙される。転写帯電器108は、感光体107上のトナー画像を、給送された転写紙に転写する。転写後、不図示のクリーナーにより感光体107の表面に残ったトナーが除去される。転写が終了した転写紙は、感光体107の曲率が大きいため、感光体107から分離しやすいが、さらに、不図示の除電針に電圧をかけることで、感光体107と転写紙との間の吸着力を弱め、分離を行いやすくしている。感光体107から分離された転写紙は定着部109に送られ、トナーが定着される。定着部109は、セラミックヒーター110と、フィルム111とを備える。セラミックヒーター110の熱は、薄いフィルム111を介して効率よく転写紙に伝達される。方向フラッパ112は、転写紙の排出先を動作モードに応じてトレイ114と搬送ユニット190とに切り替える。搬送ユニット190は、次のように動作する。搬送ユニット190は、転写紙を後処理装置10まで搬送するための装置で、搬送ローラー191にて転写紙を搬送する。本体給紙段140,150,160,170は、いずれも複合機本体に設置された本体給紙段である。本体給紙段140,150,160,170は、いずれも略同一の構成を有するので、本体給紙段140を例にとってその構成を説明する。転写紙を蓄積収納するカセット141の底面には、リフトアップモータ143によって上下する底板142が配置されている。この底板142が上昇することで所定の待機位置で転写紙を待機させることができる。所定の位置で待機している転写紙は、ピックアップローラ144を使って給紙ローラー対145まで搬送される。給紙ローラー対145は、給紙と逆回転方向にトルクがかけられており、これにより転写紙の重送を防止しつつ転写紙を1枚ずつ搬送パスへと送り出している。また、搬送ローラー対146は、本体給紙段140より下方にある給紙段から搬送されてきた転写紙をさらに上方に搬送するためのローラー対である。デッキ給紙段180は、次のように動作する。デッキ給紙段180は、複合機に外部から接続され、本体給紙段140,150,160,170よりも大量の転写紙を蓄積することができる。転写紙を蓄積収納する紙庫181の底面にも転写紙を待機位置まで上昇させる底板182が配置されている。底板182はモータ183によって回転するベルトに接続されており、ベルトが移動することで底板182の上昇下降を制御している。待機位置にある転写紙は、ピックアップローラ185で給紙ローラー対184まで搬送される。これにより、本体給紙と同様に、転写紙の重送を防止しつつ転写紙を搬送パスへと搬送している。後処理装置10は、次のように動作する。後処理装置10は、ローラー対11を経由して画像形成部100からの転写紙を受け取る。受け取った転写紙の出力先としてトレイ14が選択されている場合にはフラッパ12にて搬送方向が切り替えられ、ローラー対13により転写紙がトレイ14に排出される。トレイ14は、例えば通常処理中の割り込み処理の排出先として、テンポラリに使用する排出トレイである。通常排出用のトレイはトレイ18,19である。フラッパ12で下方に搬送路が切り替えられた後、さらにフラッパ13aでローラー対16の方へ搬送路が切り替えられるとトレイ18,19に排紙される。フラッパ13aと14aで搬送路が垂直下方に切り替えられ、反転ローラー対15で搬送方向が逆転した場合には反転排紙が可能である。トレイ18,19への排紙時には、ステイプラ17を用いたステイプルが可能となっている。また、転写紙をトレイ18とトレイ19のいずれに出力するかはシフトモータ20を用いてトレイ自体を上下させることで行う。トレイ27は、製本時に使用する排出トレイである。反転ローラー対15からローラー対21へ転写紙を搬送して、1次蓄積部23に転写紙を所定量蓄積させる。蓄積が終了した後、ステイプラ24で製本作業が行われる。その後、フラッパ25で搬送路を切り替えて、転写紙蓄積時とは逆方向にローラー対22を回転させ、ローラー26を経由してトレイ27へと排出させる。図2は、図1の複合機における画像処理部200の概略構成を示すブロック図である。画像処理部200は、CPU201と記憶装置202で構成されている。CPU201は、入力された画像信号に対して、画像形成装置の作像モードに従ってPWM変調を行い、レーザ駆動信号として画像形成部100に出力する。記憶装置202には、不図示のPWM変換テーブル、紙種毎に副走査方向の伸縮率情報が記録された第1のテーブル、紙種毎に主走査方向の伸縮率情報が記録された第2のテーブルが格納されている。さらに、記憶装置202には、副走査変倍エリア内の挿入間引き位置情報格納用ラインバッファ、露光補正用の空間フィルタ係数、濃度補正用のルックアップテーブル等の画像処理に必要な設定情報が格納されている。また、記憶装置202は、画像処理の際に画像データバッファとしても用いられる。次に、図2のCPU201が行う画像処理について図3を参照して説明する。図3は、CPU201により実行される画像処理の流れを示すフローチャートである。ステップS301では、CPU201は、入力された画像信号を標本化量子化して、ディジタル画像データに変換する。次に、ステップS302では、CPU201は、変換されたディジタル画像データのハーフトーン部分に対してスクリーン形成等の疑似中間調処理を行い、2値化する。次に、ステップS303では、CPU201は、ステップS302で2値化された画像データに対して、画素の挿入間引きによる副走査変倍処理を行う。副走査変倍処理の詳細については後述する。ステップS304では、CPU201は、画像再現性向上を目的とした露光補正処理を行う。この露光補正処理の際に、ステップS303の副走査変倍処理によって生じた画像ズレによる濃度変動を抑制する。露光補正処理の詳細については後述する。ステップS305では、CPU201は、画像データを、半導体レーザ101を駆動するためのPWM信号に変換するPWMテーブル変換処理を行う。ステップ306では、CPU201は、主走査変倍処理を行って、変換したPWM信号に対して補助画素の追加や削除を行う。図4は、図3のステップS303における副走査変倍処理の詳細を示すフローチャートである。なお、本処理についてもCPU201により行われる。ステップS401では、CPU201は、ユーザにより予めコントロールパネル不図示から入力された紙種情報を取得する。ステップS402では、CPU201は、ステップS401で取得した紙種情報を元に、記憶装置202内の第1のテーブルから、副走査方向の伸縮率情報を取得する。なお、このステップS401は省略可能であり、ユーザが伸縮率を直接設定するように構成してもよい。ステップS403では、CPU201は、作像するページ全体の画像データを記憶装置202内のフレームバッファ不図示に保存する。ステップS404では、CPU201は、変倍処理に必要なパラメータの初期化を行う。具体的には、副走査カウンタy=0、変倍エリア位置カウンタyecnt=0とする。また、CPU201は、変倍エリア長yelenを算出する。入力画像サイズと副走査変倍後の画像サイズの差分を算出し、副走査入力画像を差分画素数の絶対値で分割した値がyelenである。例えば、入力画像の副走査方向のサイズが100画素であり、副走査方向の伸縮が10の拡大であった場合、変倍後のサイズは次式で求まる。100×10010=110画素その結果、差分画素は次式となる。差分画素=|110-100|=10画素yelenは次式で求まる。yelen=100/10=10このように、本実施形態では、画像データが副走査方向に画素単位で複数のエリアに分割される。ステップS405では、CPU201は、副走査方向の変倍処理を行う。変倍処理の詳細は後述する。ステップS406では、CPU201は、ステップS405から入力される1Line分のデータを出力する。ステップS407では、CPU201は、全ライン数分のデータを処理したかどうかを判定し、全ライン数分のデータを処理していない場合はステップS405に戻る一方、全ライン数分のデータを処理した場合にはリターンする。具体的には、CPU201は、ステップS406で出力されたライン数の合計をカウントしておき、その合計と入力画像データを変倍した後のライン数が等しくなったときに全Lineが処理されたと判定する。次に、図4のステップS405における副走査方向の変倍処理について説明する。図5A、図5Bは、図4のステップS405における副走査方向の変倍処理の詳細を示すフローチャートである。図5Aにおいて、ステップS501では、CPU201は、記憶装置202内のフレームバッファ不図示からラインバッファ不図示にy-1,y,y1ラインの画像データを転送する。なお、y-1,y,y1が画像データ外のラインを示す場合はトナー像を形成しないデータを表すデータ0を転送する。次に、ステップS502では、CPU201は、主走査カウンタx=0にして初期化を行う。次に、ステップS503では、CPU201は、主走査位置毎に変倍エリア内のどの副走査位置で画素の挿入間引きを行うかを設定する。具体的には、主走査位置x毎に0~yelen-1までの乱数値を生成し、挿入間引き位置情報の配列R[x]として、記憶装置202内の挿入間引き位置情報格納用ラインバッファ不図示に順番に格納する。ステップS504では、CPU201は、挿入間引き位置情報格納用ラインバッファにアクセスし、挿入間引き位置情報R[x]が現変倍エリア位置カウンタ値yecnt以下かどうかを判定する。R[x]<=yecntと判定した場合はステップS505へ進む一方、そうでない場合はステップS508へ移行し、CPU201は出力画像ラインy’にyを代入する。この場合、画素の挿入、間引きのいずれも行わない。ステップS505では、CPU201は、伸縮率から縮小か拡大かを判定する。縮小と判定した場合はステップS506へ進み、CPU201は、出力画像ラインy’にy-1を代入する。この場合、画素の間引きとなる。一方、拡大と判定した場合はステップS507へ進み、CPU201は、出力画像ラインy’にy1を代入する。この場合、画素の拡大となる。次に、ステップS509では、CPU201は、主走査カウンタx、出力画像ラインy’に相当する画素を複数のラインバッファ不図示から読み出して出力する。y’は複数のラインバッファの選択に用いられる。なお、CPU201は、ステップS506経由のときは第1のラインバッファ、ステップS507経由のときは第2のラインバッファ、ステップS508経由のときは第3のラインバッファを参照する。xはラインバッファ中の主走査方向位置の選択に用いられる。次に、ステップS510では、CPU201は、主走査カウンタxに1を加算して更新する。次に、ステップS511では、CPU201は、主走査サイズの処理がすべて終了したか否かを判定する。主走査カウンタxが入力画像データの主走査サイズに到達したと判定した場合、ステップS512へ進み、CPU201は副走査カウンタyに1を加算して更新する。一方、そうでない場合はステップS504へ移行する。次に、ステップS513では、CPU201は、変倍エリアカウンタyecntに1を加算して更新する。図5Bにおいて、ステップS514では、CPU201は、変倍エリア内の処理が終了したかどうかを判定する。拡大の場合には、エリアカウンタyecntが変倍エリア長yelen1と等しくなったときに処理終了と判定される。縮小の場合には、エリアカウンタyecntが変倍エリア長yelen-1と等しくなったときに処理終了と判定される。変倍が行われない場合には、エリアカウンタyecntが変倍エリア長yelenと等しくなったときに処理終了と判定される。処理終了と判定された場合にはステップS515へ進み、そうでない場合は本処理を終了する。次に、ステップS515では、CPU201は、変倍エリアカウンタyecnt=0として初期化する。次に、ステップS516では、CPU201は、変倍が行われたかどうか、つまり伸縮率が0であったかどうかを判定する。変倍が行われた場合はステップS517へ進み、それ以外はステップS520へ移行する。ステップS517では、CPU201は、変倍が縮小であったか否かを判定する。変倍が縮小であると判定した場合はステップS518へ進み、CPU201は、yに1を加算して、次の変倍エリア向けに副走査カウンタ値を調整する。一方、ステップS517で変倍が縮小でない即ち拡大であると判定した場合はステップS519へ進み、CPU201は、yから1を減算して、次の変倍エリア向けに副走査カウンタ値を調整する。次に、ステップS520では、CPU201は、挿入間引き位置情報R[x]を挿入間引き位置情報格納用ラインバッファから読み出し、退避用ラインバッファ不図示へと退避させる。ステップS521では、CPU201は、ステップS503と同様の手順で挿入間引き位置情報R[x]を記憶装置202内の挿入間引き位置情報格納用ラインバッファに順番に格納して更新する。図6は、図3のステップS304における露光補正処理の詳細を示すフローチャートである。なお、本処理についてもCPU201により行われる。ステップS601では、CPU201は、画素毎に適用するテーブルの種類を決定するテーブル決定処理。テーブル決定処理の詳細は後述する。次に、ステップS602では、CPU201は、画素毎に画像の再現性向上を目的として、画像のエッジ部と非エッジ部の露光量に差をつける空間フィルタ演算処理を行う。空間フィルタ演算処理の詳細は後述する。ステップS603では、CPU201は、ステップS601で決定されたテーブルの種類に従い、画素毎にテーブルを切り替えてテーブル変換を行うテーブル変換処理。次に、CPU201が行う空間フィルタ演算処理について図7を参照して説明する。図7に示す補正フィルタCは、n次nは1より大きい奇数の正方行列で表される。この正方行列の1要素は画像データの1画素に対応している。この正方行列の中心と画像データの注目画素とを対応させ、注目画素の周囲n-1/2画素の範囲に対してフィルタの係数と画像データ値との積をとり、その和を注目画素の補正後の値とする。計算式は図7に示す通りである。画像データが露光量を表すものとすれば、中心以外の補正フィルタの係数に負の値を設定することで演算結果は画像のエッジ部では強露光、中央部では弱露光となり、画像エッジ部における鮮鋭度を高めることができる。図8は、図6のステップS601におけるテーブル決定処理の詳細を示すフローチャートである。ステップS801では、CPU201は、作像するページ全体の画像データを記憶装置202内のフレームバッファ不図示に保存展開する。ステップS802では、CPU201は、副走査カウンタv=0にして初期化を行う。ステップS803では、CPU201は、変倍エリアカウンタvecnt=0にして初期化を行う。ステップS804では、CPU201は、フレームバッファからv-1,v,v1ラインの画像データを複数のラインバッファ不図示に読み込む。なお、画像領域外が参照される場合には0が読み込まれる。ステップS805では、CPU201は、主走査カウンタh=0にして初期化を行う。ステップS806では、CPU201は、退避用ラインバッファから読み出した挿入間引き位置情報R[x]を元に副走査変倍処理による画像ずれによってエッジ形状に変化が生じたかどうかを判別する。そして、この判別結果に応じて画素毎に適用する変換テーブルを選択し、その変換テーブル情報をテーブル番号格納用ラインバッファ不図示に格納するパターン判別処理。パターン判別処理の詳細については後述する。ステップS807では、CPU201は、主走査カウンタhに1を加算して更新する。ステップS808では、CPU201は、主走査が終了したかどうかを判定する。具体的には、主走査カウンタhの値が画像領域の主走査方向の画素数と等しいときに終了とする。終了と判定されたときにはステップS809へ進み、そうでない場合はステップS806へ移行する。次に、ステップS809では、CPU201は、テーブル番号格納用ラインバッファ不図示から読み出した選択テーブル番号情報を1Line分出力する。次に、ステップS810では、CPU201は、変倍エリアカウンタvecntに1を加算して更新する。ステップS811では、CPU201は、副走査カウンタvに1を加算して更新する。ステップS812では、CPU201は、変倍エリアが終了したかどうかを判定する。具体的には、縮小の場合はvecnt=yelen-1、拡大の場合はvecnt=yelen1、縮小も拡大もされていない場合にはvecnt=yelenとなった場合に変倍エリア終了と判定される。終了と判定された場合にはステップS813へ進む一方、そうでない場合はステップS804へ移行する。ステップS813では、CPU201は、処理が全Line分終了したかどうかを判定する。具体的には、副走査カウンタvの値が画像領域の副走査方向の画素数と等しいときに終了とする。処理が全Line分終了したと判定したときに本処理を終了する一方、そうでない場合にはステップS803へ移行する。図9A、図9Bは、図8のステップS806におけるパターン判別処理の詳細を示すフローチャートである。ステップS901~S905では、注目画素と左隣りの画素との間でズレの有無とズレの方向を判定する。この判定方法について図10を参照して説明する。図10に示すように、本実施形態における副走査変倍処理によって拡大縮小のどちらが成されたかを判定することができる。また、注目画素の変倍エリア位置カウンタ値vcnt、注目画素の挿入間引き位置R[x]と左隣りの画素の挿入間引き位置R[x-1]の関係を判定することができる。さらに、注目画素とその左隣りの画素の間に副走査変倍によって、ズレ無、上ズレ、下ズレの3パターンを判定することができる。次に、ステップS901~S905の処理について説明する。ステップS901では、CPU201は、縮小処理が行われたかどうかを判定する。縮小処理であった場合はステップS902へ、そうでない場合はS903へ移行する。ステップS902では、CPU201は、ズレの発生個所であるか否かを判定する。具体的には、変倍エリア位置カウンタ値vecntと、注目画素の挿入間引き位置情報R[h]と、注目画素の左隣りの挿入間引き位置情報R[h-1]を比較する。そして、vecnt<R[h-1]かつvecnt>=R[h]の場合、またはvecnt>=R[h-1]かつvecnt<R[h]の場合では副走査変倍によるズレが発生した場所としてステップS904へ移行する。一方、そうでない場合はステップS918へ移行する。ステップS903では、CPU201は、ズレの発生個所であるか否かを判定する。具体的には、変倍エリアカウンタvecntと、注目画素の挿入間引き位置情報R[h]と、注目画素の左隣りの挿入間引き位置情報R[h-1]を比較する。vecnt<R[h-1]かつvecnt>=R[h]の場合、またはvecnt>=R[h-1]かつvecnt<R[h]の場合では副走査変倍によるズレが発生した場所としてステップS905へ進む。一方、そうでない場合はステップS918へ移行する。ステップS904では、CPU201は、左隣りの画素が注目画素に比べて上にズレたかどうかを判定する。具体的にはvecnt>=R[h-1]の場合、上ズレと判定し、ステップS906へ、そうでない場合はS907へ移行する。ステップS905では、CPU201は、左隣りの画素が注目画素に比べて下にズレたかどうかを判定する。具体的にはvecnt>=R[h-1]の場合、下ズレと判定し、ステップS908へ、そうでない場合はS909へ移行する。ステップS906~S917では、ズレによって生じた画像形状の変化を判定している。この判定方法を図11a、図11bを参照して説明する。本実施形の副走査変倍処理では、変倍エリア内で各主走査位置において副走査位置に1画素挿入もしくは間引きが行われる。したがって、副走査変倍処理による画像のズレは最大でも1画素のみである。つまり、図11aに示すように変倍前の元画像Dx,yにおいて左隣であった画素Dx-1,yは、変倍後では左上D’x-1,y-1、左隣りD’x-1,y、左下D’x-1,y1のいずれかにあることが分かる。但し、左隣りであった画素自体が挿入間引き対象になる場合を除く。このため、注目画素とこれらの画素を比較することで、図11bのように副走査変倍処理による画像のズレ方向によって、エッジ形状に変化無、角増加、角減少の3パターンを判定することができる。次に、ステップS906~S917の処理について説明する。ステップS906では、CPU201は、注目画素と左隣り画素が同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左隣りの画素のデータ値D’h-1,vを比べ、D’h,v=D’h-1,vであれば同じであるとしてステップS910へ、そうでない場合はステップS911へ移行する。ステップS907では、CPU201は、注目画素と左隣り画素と同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左隣りの画素のデータ値D’h-1,vを比べ、D’h,v=D’h-1,vであれば同じであるとしてステップS912へ、そうでない場合はステップS913へ移行する。ステップS908では、CPU201は、注目画素と左隣り画素が同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左隣りの画素のデータ値D’h-1,vを比べ、D’h,v=D’h-1,vであれば同じであるとしてステップS914へ、そうでない場合はステップS915へ移行する。ステップS909では、CPU201は、注目画素と左隣り画素と同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左隣りの画素のデータ値D’h-1,vを比べ、D’h,v=D’h-1,vであれば同じであるとしてステップS916へ、そうでない場合はステップS917へ移行する。ステップS910では、CPU201は、注目画素と左上画素が同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左上の画素のデータ値D’h-1,v-1を比べ、D’h,v=D’h-1,v-1であれば同じであるとしてステップS918へ、そうでない場合はステップS920へ移行する。ステップS911では、CPU201は、注目画素と左上画素が同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左上の画素のデータ値D’h-1,v-1を比べ、D’h,v=D’h-1,v-1であれば同じであるとしてステップS919へ、そうでない場合はステップS918へ移行する。ステップS912では、CPU201は、注目画素と左下画素が同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左下の画素のデータ値D’h-1,v1を比べ、D’h,v=D’h-1,v1であれば同じであるとしてステップS918へ、そうでない場合はステップS920へ移行する。ステップS913では、CPU201は、注目画素と左下画素が同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左下の画素のデータ値D’h-1,v1を比べ、D’h,v=D’h-1,v1であれば同じであるとしてステップS919へ、そうでない場合はステップS920へ移行する。ステップS914では、CPU201は、注目画素と左下画素が同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左下の画素のデータ値D’h-1,v1を比べ、D’h,v=D’h-1,v1であれば同じであるとしてステップS918へ、そうでない場合はステップS920へ移行する。ステップS915では、CPU201は、注目画素と左下画素が同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左下の画素のデータ値D’h-1,v1を比べ、D’h,v=D’h-1,v1であれば同じであるとしてステップS919へ、そうでない場合はステップS918へ移行する。ステップS916では、CPU201は、注目画素と左上画素が同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左上の画素のデータ値D’h-1,v-1を比べ、D’h,v=D’h-1,v-1であれば同じであるとしてステップS918へ、そうでない場合はステップS920へ移行する。ステップS917では、CPU201は、注目画素と左上画素が同じであるかどうかを判定する。具体的には、注目画素のデータ値D’h,v、左上の画素のデータ値D’h-1,v-1を比べ、D’h,v=D’h-1,v-1であれば同じであるとしてステップS919へ、そうでない場合はステップS920へ移行する。ステップS918~S920では、CPU201は。それぞれの場合に適したテーブルを選択する。変換テーブルの一例を図12に示す。ステップS918へ移行した場合は、副走査変倍の前後で注目画素と左隣りとの間でズレが生じていないか、ズレが生じてはいるが、両者の画素値の関係が副走査変倍前と同じ場合である。この場合、副走査変倍によるエッジ形状に変化はないため、適用されるテーブルは、副走査変倍処理無しLUT1となる。ステップS919へ移行した場合は、副走査変倍の前では注目画素と左隣りとの間で揃っていた画素値が副走査変倍によるズレで異なり、画像のエッジ部に角が生じた場合である。この場合、ステップS602の空間フィルタ演算でエッジと判断される部分が増加する。このため、エッジ部の露光量を多くする本実施形態のような空間フィルタ演算の場合、入力データに対して副走査変倍無しLUT1に比べて濃度値を小さくするテーブルLUT2が選択される。ステップS920へ移行した場合は、副走査変倍の前では注目画素と左隣りとの間で異なっていた画素値が副走査変倍によるズレで揃い、画像のエッジ部に角が消滅した場合である。この場合、ステップS602の空間フィルタ演算でエッジと判断される部分が減少する。このため、エッジ部の露光量を多くする本実施形態のような空間フィルタ演算の場合、入力データに対して副走査変倍無しLUT1に比べて濃度値を大きくするテーブルLUT3が選択される。次に、ステップS906~S917の処理について説明する。ステップS918では、CPU201は、テーブル番号格納用ラインバッファの主走査位置hの場所に1を入れ、終了する。ステップS919では、CPU201は、テーブル番号格納用ラインバッファの主走査位置hの場所に2を入れ、終了する。ステップS920では、CPU201は、テーブル番号格納用ラインバッファの主走査位置hの場所に3を入れ、終了する。以上のように、副走査方向の変倍処理による挿入又は間引きの行われた画素の副走査位置情報、該変倍処理が縮小か拡大かを示す情報、及び注目画素に隣接する画素のデータ値を基に、該変倍処理による画像のズレ方向及びエッジ形状の変化を画素毎に判別する。そして、エッジ部に角が発生している場合は濃度値を小さくなる方向に、角が消滅している場合は濃度値が大きくなる方向にテーブルを切り替える。これにより、画像に対する副走査方向の変倍処理と露光補正処理の干渉によって生じる濃度変動を抑制することができる。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。"