(57)【特許請求の範囲】
【請求項１】
第１の方向に回転する感光体と、
複数の発光点を有する光源と、前記光源から出射された光ビームを偏向し前記感光体に照射して光ビームのスポットを前記第１の方向に直交する第２の方向に移動させ走査線を形成する偏向ユニットと、を有し、前記感光体が所定の速度よりも遅い速度で回転する場合に、前記感光体が前記所定の速度で回転する場合に前記感光体上に形成される複数の走査線の中から、前記遅い速度に応じた一部の走査線を用いて前記感光体に光ビームを照射する光走査装置と、
を備える画像形成装置であって、
前記複数の走査線の前記第１の方向の位置ずれに関する情報が格納された記憶ユニットと、所定の走査線と、前記所定の走査線を基準として前記第１の方向における進み方向及び戻り方向の所定の範囲内に含まれる走査線群と、を対象として、前記記憶ユニットに記憶された前記情報に基づき、前記所定の走査線及び前記走査線群の前記第１の方向における位置ずれ量を補正するための補正値を算出し、算出した補正値に基づいて、前記所定の走査線の前記第１の方向の位置ずれを補正する補正部と、
を備え、
前記補正部は、前記感光体が前記遅い速度で回転する場合に、前記記憶ユニットに記憶された前記情報の中から前記一部の走査線に対応する情報を抽出して、前記所定の走査線の位置ずれ量を補正するための補正値を算出することを特徴とする画像形成装置。
【請求項２】
前記記憶ユニットから読み出された前記複数の走査線に対応する情報が格納される第１のレジスタと、
前記記憶ユニットから読み出された前記一部の走査線に対応する情報が格納される第２のレジスタと、
を備え、
前記補正部は、前記感光体が前記所定の速度で回転する場合には前記第１のレジスタから前記情報を読み出し、前記感光体が前記遅い速度で回転する場合には前記第２のレジスタから前記情報を読み出すことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記補正部は、
前記抽出された前記情報に基づいて、前記感光体上の走査線の間隔が所定の間隔となるような座標変換を行うことにより、入力画像の画素の位置を変換する変換部と、
前記座標変換後の入力画像の画素の位置に基づいて、入力画像の画素の画素値に畳み込み演算を行い、出力画像の画素の画素値を求めるフィルタ処理部と、
を有することを特徴とする請求項１又は請求項２に記載の画像形成装置。
【請求項４】
前記入力画像の前記第１の方向におけるｎ番目の画素の位置を示す関数をｆｓ（ｎ）とし、
前記出力画像の前記第１の方向におけるｎ番目の画素の位置を示す関数をｆｔ（ｎ）とし、
前記座標変換後の前記入力画像の前記第１の方向におけるｎ番目の画素の位置を示す関数をｆｓ’（ｎ）とし、
前記座標変換後の前記出力画像の前記第１の方向におけるｎ番目の画素の位置を示す関数をｆｔ’（ｎ）としたとき、
前記変換部は、前記座標変換後の前記入力画像の画素の位置を、関数ｆｔ（ｎ）の逆関数ｆｔ−１（ｎ）を用いて、
ｆｓ’（ｎ）＝ｆｔ’（ｆｔ−１（ｆｓ（ｎ）））
から求めることを特徴とする請求項３に記載の画像形成装置。
【請求項５】
関数ｆｓ（ｎ）がｆｓ（ｎ）＝ｎを満たし、且つ、関数ｆｔ’（ｎ）がｆｔ’（ｎ）＝ｎを満たすとき、
前記変換部は、前記座標変換後の前記入力画像の画素の位置を、
ｆｓ’（ｎ）＝ｆｔ−１（ｎ）
から求めることを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記フィルタ処理部は、線形補間又はバイキュービック補間を用いて前記畳み込み演算を行うことを特徴とする請求項３から請求項５のいずれか１項に記載の画像形成装置。
【請求項７】
前記画素値は濃度値であり、
前記フィルタ処理部は、前記畳み込み演算を行う前と行った後とで、所定面積あたりの濃度値が保存されることを特徴とする請求項３から請求項６のいずれか１項に記載の画像形成装置。
【請求項８】
前記所定の間隔は、画像形成の解像度に応じて決定されることを特徴とする請求項３から請求項７のいずれか１項に記載の画像形成装置。
【請求項９】
前記偏向ユニットは、所定の数の面を有する回転多面鏡であり、
前記記憶ユニットに記憶される前記情報には、前記回転多面鏡の回転軸に対する前記面毎の角度のばらつきの情報が含まれていることを特徴とする請求項１から請求項８のいずれか１項に記載の画像形成装置。
【請求項１０】
前記感光体が前記遅い速度で回転する場合に、前記所定の数の面のうち一部の面が用いられることにより、前記複数の走査線の中から前記一部の走査線が用いられることを特徴とする請求項９に記載の画像形成装置。
【請求項１１】
前記感光体が前記遅い速度で回転する場合に、前記複数の発光点から照射される複数の光ビームのうち一部の光ビームが用いられることにより、前記複数の走査線の中から前記一部の走査線が用いられることを特徴とする請求項１から請求項１０のいずれか１項に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル複写機、複合機、又はレーザプリンタなど、二次元画像の画像形成における歪み及び濃度むらの補正方法を実施する画像形成装置に関する。
【背景技術】
【０００２】
レーザプリンタ又は複写機等の電子写真方式の画像形成装置において、レーザ光を走査する光走査装置を用いて、感光体上に潜像形成を行う方式が一般に知られている。レーザ走査方式の光走査装置では、コリメータレンズを用いて平行光にされたレーザ光を、回転多面鏡によって偏向し、偏向されたレーザ光を長尺のｆθレンズを用いて感光体上に結像させる。１つのパッケージ内に複数の発光点を有するレーザ光源があり、複数のレーザ光を同時に走査するマルチビーム走査方式がある。
【０００３】
濃度むら及びバンディングのない良好な画像を形成するためには、感光体の回転方向において隣接する位置を走査するレーザ光の走査ライン間の距離が等しいことが望ましい。しかし、以下の複数の要因によって、走査ライン間の距離の変動が発生する。例えば、感光体上における走査ライン間の距離の変動は、感光体の表面速度の変動、又は回転多面鏡の回転速度変動によって生じる。また、走査ライン間の距離の変動は、回転多面鏡の回転軸に対する回転多面鏡のミラー面の角度のばらつき、又はレーザ光源に配列された発光点の間隔のばらつきによっても生じる。図１８（ａ）では、レーザ光による走査を横線で表し、走査ラインの間隔が周期的に変動する様子を示している。図１８（ａ）に示すように、レーザ光の走査ラインの間隔が近接する場合は濃く、レーザ光の走査ラインの間隔が離れている場合は薄く現像され、縞模様（モアレ）等として検知されやすい。このような要因により発生する濃度むら又はバンディングに対して、光走査装置の露光量を制御することでバンディングを補正する技術が提案されている。例えば特許文献１では、感光体近傍に副走査方向のビーム位置検出手段を設け、検出されたビーム位置から得られた走査距離情報に基づき、光走査装置の露光量を調整してバンディングを目立たなくする構成が記載されている。
【０００４】
画像形成装置では、記録紙の紙種に応じて印刷速度を変更する際に、面飛ばし制御等の間引き制御を行う場合がある。例えば面飛ばし制御では、複数の走査に１回の頻度で露光を行う。間引き制御を行うことで、回転多面鏡のモータの速度を変更する制御を行うことなく、印刷速度の変更が可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−０９８６２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の露光量による濃度調整を行う方法では、画像形成装置の画像形成条件の変化に応じて最適な光量制御量が変化するため、安定的にバンディング補正を行うことが困難である。画像形成条件の変化として、画像形成装置の周囲温度環境の変化、及び感光体の光に対する感度の変化又はトナー材料の特性の経時的な変化により、光量に対する濃度の関係が変化することが挙げられる。
【０００７】
カラー画像形成装置では、比較的長周期に位置ずれが発生した場合、色間での位置ずれが長周期に発生し、色味むら等の画像不良となる。図１８（ｂ）に各走査ラインの位置ずれの様子を示す。Ａ４縦方向の画像幅２９７ｍｍの用紙に形成される画像（以下、単に画像という）に対して解像度１２００ｄｐｉ（走査ライン間隔２１．１６μｍ）で印字すると、走査ラインは約１４０００ラインとなる。感光体の表面速度の変動等の要因により、画像領域内において走査ラインの理想位置と実際の走査位置の位置ずれ量は、不均一に変動する。図１８（ｂ）では、画像の先端から２０００ライン目と７０００ライン目は、実線で示す走査ラインの走査位置が破線で示す理想位置に対して先頭方向にずれており、１００００ライン目は先頭方向とは反対方向にずれている。画像領域中において走査ライン、言い換えれば画像位置が理想位置からずれると、色味変動の課題が発生するため、画像データの絶対位置を移動させる方式が必要となる。
【０００８】
面飛ばし制御時には、従来の面倒れ（バンディング）補正の方式では適切にバンディングの抑制が行えないという課題がある。従来の面倒れ補正は、補正対象となる注目画素に対して副走査方向に上下の領域を対象として補正データを求める。補正データを求める際に、注目画素の副走査方向の上下の領域を対象にした場合には、面飛ばし制御で使用しない面が存在する。これにより、一律に適正なバンディング補正が行えないという課題がある。
【０００９】
本発明は、このような状況のもとでなされたもので、間引き制御を行った場合においても、バンディング及び色ずれ等の画像不良を改善することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決するために、本発明は、以下の構成を備える。
【００１１】
（１）第１の方向に回転する感光体と、複数の発光点を有する光源と、前記光源から出射された光ビームを偏向し前記感光体に照射して光ビームのスポットを前記第１の方向に直交する第２の方向に移動させ走査線を形成する偏向ユニットと、を有し、前記感光体が所定の速度よりも遅い速度で回転する場合に、前記感光体が前記所定の速度で回転する場合に前記感光体上に形成される複数の走査線の中から、前記遅い速度に応じた一部の走査線を用いて前記感光体に光ビームを照射する光走査装置と、を備える画像形成装置であって、前記複数の走査線の前記第１の方向の位置ずれに関する情報が格納された記憶ユニットと、所定の走査線と、前記所定の走査線を基準として前記第１の方向における進み方向及び戻り方向の所定の範囲内に含まれる走査線群と、を対象として、前記記憶ユニットに記憶された前記情報に基づき、前記所定の走査線及び前記走査線群の前記第１の方向における位置ずれ量を補正するための補正値を算出し、算出した補正値に基づいて、前記所定の走査線の前記第１の方向の位置ずれを補正する補正部と、を備え、前記補正部は、前記感光体が前記遅い速度で回転する場合に、前記記憶ユニットに記憶された前記情報の中から前記一部の走査線に対応する情報を抽出して、前記所定の走査線の位置ずれ量を補正するための補正値を算出することを特徴とする画像形成装置。
【発明の効果】
【００１２】
本発明によれば、間引き制御を行った場合においても、バンディング及び色ずれ等の画像不良を改善することができる。
【図面の簡単な説明】
【００１３】
【図１】実施例の画像形成装置全体を示す図、感光ドラムと光走査装置周辺の構成を示す図
【図２】実施例の画像形成装置のブロック図
【図３】実施例の通常制御時の走査ラインの位置ずれを示す図
【図４】実施例の面飛ばし制御時の走査ラインの位置ずれを示す図
【図５】実施例のメモリに情報を記憶する工程を説明するブロック図
【図６】実施例の通常制御時と面飛ばし制御時の１走査期間のタイムチャート
【図７】実施例の電源投入時の処理を示すフローチャート
【図８】実施例の画像形成時の処理を示すフローチャート
【図９】実施例の補正処理を示すフローチャート
【図１０】実施例の画素の位置ずれを分類毎に示す図
【図１１】実施例の副走査方向の画素位置の座標変換を示す図
【図１２】実施例の副走査方向の画素位置の座標変換を示す図
【図１３】実施例の副走査方向の画素位置の座標変換を示す図
【図１４】実施例のフィルタ処理に用いる畳み込み関数を示す図、補正値と係数を説明する図
【図１５】実施例のフィルタ演算部４０５を示す図
【図１６】実施例の位置ずれの分類毎のフィルタ処理を示す図
【図１７】実施例のフィルタ処理を示すフローチャート
【図１８】従来例の濃度むらを示す図、走査ラインの位置ずれを示す図
【図１９】画像データ（濃度データ）をＰＷＭ信号を生成するため駆動データに変換する変換テーブルを示す図
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施の形態を例示的に詳しく説明する。尚、レーザ光が走査される方向であって感光ドラムの回転軸方向を第２の方向である主走査方向とし、主走査方向に略直交する方向であって感光ドラムの回転方向を第１の方向である副走査方向とする。
【実施例】
【００１５】
＜画像形成装置全体の構成＞
図１（ａ）は、複数色のトナーを用いて画像形成を行うデジタルフルカラープリンタ（カラー画像形成装置）の概略断面図である。図１（ａ）を用いて実施例の画像形成装置１００について説明する。画像形成装置１００には色別に画像を形成する４つの画像形成部（画像形成手段）１０１Ｙ、１０１Ｍ、１０１Ｃ、１０１Ｂｋ（破線部）が備えられている。画像形成部１０１Ｙ、１０１Ｍ、１０１Ｃ、１０１Ｂｋはそれぞれ、イエロー、マゼンタ、シアン、ブラックのトナーを用いて画像形成を行う。Ｙ、Ｍ、Ｃ、Ｂｋは、それぞれイエロー、マゼンタ、シアン、ブラックを表しており、以下、特定の色について説明する場合を除き、添え字Ｙ、Ｍ、Ｃ、Ｂｋを省略する。
【００１６】
画像形成部１０１は感光体である感光ドラム１０２を備えている。感光ドラム１０２の周りには、帯電装置１０３、光走査装置１０４、及び現像装置１０５がそれぞれ設けられている。また、感光ドラム１０２の周りには、クリーニング装置１０６が配置されている。感光ドラム１０２の下方には無端ベルト状の中間転写ベルト１０７が配置されている。中間転写ベルト１０７は、駆動ローラ１０８と従動ローラ１０９、１１０とに張架され、画像形成中は図中の矢印Ｂ方向（時計回り方向）に回転する。中間転写ベルト１０７（中間転写体）を介して、感光ドラム１０２に対向する位置には、一次転写装置１１１が設けられている。本実施例の画像形成装置１００は、中間転写ベルト１０７上のトナー像を記録媒体である用紙Ｓに転写するための二次転写装置１１２、及び用紙Ｓ上のトナー像を定着するための定着装置１１３を備える。
【００１７】
画像形成装置１００の帯電工程から現像工程までの画像形成プロセスを説明する。各画像形成部１０１における画像形成プロセスは同一であるため、画像形成部１０１Ｙを例にして画像形成プロセスを説明し、画像形成部１０１Ｍ、１０１Ｃ、１０１Ｂｋにおける画像形成プロセスについては説明を省略する。画像形成部１０１Ｙの帯電装置１０３Ｙにより、図中矢印方向（反時計回り方向）に回転駆動される感光ドラム１０２Ｙを帯電する。帯電された感光ドラム１０２Ｙは、光走査装置１０４Ｙから出射される一点鎖線で示すレーザ光によって露光される。これにより、回転する感光ドラム１０２Ｙ上（感光体上）に静電潜像が形成される。感光ドラム１０２Ｙ上に形成された静電潜像は、現像装置１０５Ｙによってイエローのトナー像として現像される。画像形成部１０１Ｍ、１０１Ｃ、１０１Ｂｋでも、同様の工程が行われる。
【００１８】
転写工程以降の画像形成プロセスについて説明する。転写電圧が印加された一次転写装置１１１は、画像形成部１０１の感光ドラム１０２上に形成されたイエロー、マゼンタ、シアン、ブラックのトナー像を、中間転写ベルト１０７に転写する。これにより、中間転写ベルト１０７上で各色のトナー像が重ね合わされる。即ち、中間転写ベルト１０７に４色のトナー像が転写される（一次転写）。中間転写ベルト１０７上に転写された４色のトナー像は、二次転写装置１１２により、手差し給送カセット１１４又は給紙カセット１１５から二次転写部に搬送されてきた用紙Ｓ上に転写される（二次転写）。用紙Ｓ上の未定着のトナー像は定着装置１１３で加熱定着され、用紙Ｓ上のフルカラー画像が得られる。画像が形成された用紙Ｓは排紙部１１６に排紙される。
【００１９】
＜通常制御と面飛ばし制御の説明＞
画像形成装置は、一般的に、回転多面鏡の全ての面を用いてレーザ光の走査を行う。以下、回転多面鏡の全ての面を用いてレーザ光の走査を行うモードを、通常モードという。厚紙等の熱容量の高い記録材に印刷を行う場合、通常モードとは別に、プロセススピードを変更して画像形成を行う面飛ばし制御がある。以下、本実施例では、通常モード時の印刷速度の半分の速度で面飛ばし制御を行う場合について説明し、このような面飛ばし制御を行うモードを、半速モードという。面飛ばし制御では、回転多面鏡のモータの回転速度を変更する（以下、変速という）ために要する時間（以下、ダウンタイムという）をなくすために、回転多面鏡の回転速度を一定に維持しつつ印刷速度を下げる。面飛ばし制御時には、例えば感光ドラム１０２の回転速度及び用紙の搬送速度等のプロセススピードは、通常モード時の所定の速度よりも遅い半分の速度に変更される。回転多面鏡の回転速度を一定に維持したままでプロセススピードに整合させるための制御には、ビーム飛ばし制御もあり、面飛ばし制御及びビーム飛ばし制御等を間引き制御という。間引き制御は、感光ドラム１０２が通常モードの速度で回転する場合に感光ドラム１０２上に形成される複数の走査線の中から、半速モード時のプロセススピードに応じた一部の走査線を用いて感光ドラム１０２に光ビームを照射する制御ともいえる。
【００２０】
面飛ばし制御では、複数の走査に１回の頻度で露光を行う。例えば、レーザ光を反射するための反射ミラーの面を４面有する回転多面鏡の半速モードでは、次のようにレーザ光の走査が行われる。回転多面鏡の１面目でレーザ光の走査を行った後、２面目では走査を行わず、３面目で走査を行い、４面目では走査を行わない。例えば４つの鏡面を有する回転多面鏡では、レーザ光の走査に用いる面を１面ずつ飛ばして、２回の走査に１回の頻度でレーザ光の走査を行う。この面飛ばし制御では、変更するプロセススピードに応じて、レーザ光の走査に用いる鏡面を任意に飛ばして（間引いて）レーザ光の走査を行う。面飛ばし制御を行うことで、回転多面鏡の回転速度を変速させることなく、印刷速度を変更することが可能となる。
【００２１】
＜感光ドラムと光走査装置＞
図１（ｂ）に、感光ドラム１０２、光走査装置１０４、及び、光走査装置１０４の制御部の構成を示す。光走査装置１０４は、レーザ光源２０１と、コリメータレンズ２０２と、シリンドリカルレンズ２０３と、回転多面鏡２０４とを備える。レーザ光源２０１は、複数の発光点を備える。複数の発光点はそれぞれレーザ光（光ビーム）を出射する。コリメータレンズ２０２は、レーザ光を平行光に整形する。シリンドリカルレンズ２０３は、コリメータレンズ２０２を通過したレーザ光を副走査方向へ集光する。本実施例ではレーザ光源２０１は複数の発光点を配列した光源を例にして記載するが、単一の光源を用いた場合も同様に動作させる。レーザ光源２０１は、レーザ駆動回路３０４によって駆動される。回転多面鏡２０４は、回転動作するモータ部とモータ軸に取り付けられた反射ミラーを有する。以下、回転多面鏡２０４の反射ミラーの面を、ミラー面という。回転多面鏡２０４は、回転多面鏡駆動部３０５によって駆動される。光走査装置１０４は、回転多面鏡２０４によって偏向されたレーザ光（走査光）が入射するｆθレンズ２０５、２０６を備える。また、光走査装置１０４は、種々の情報が格納されたメモリ３０２を有する。
【００２２】
光走査装置１０４は、回転多面鏡２０４によって偏向されたレーザ光を検知し、レーザ光を検知したことに応じて水平同期信号（以下、ＢＤ信号）を出力する信号生成手段であるＢｅａｍ  Ｄｅｔｅｃｔｏｒ２０７（以下、ＢＤ２０７）を備える。光走査装置１０４から出射したレーザ光で、感光ドラム１０２上を走査する。レーザ光で感光ドラム１０２の回転軸に対して略平行な方向である。光走査装置１０４は、回転多面鏡２０４のミラー面が感光ドラム１０２上を１回走査する度に、レーザ光源から出射されたレーザ光を主走査方向に移動（走査）させ、発光点の数の走査ラインを同時に形成する。本実施例では、回転多面鏡２０４のミラー面数は４面であり、レーザ光源２０１は８つのレーザ素子を有する構成を例にして説明する。本実施例では、回転多面鏡２０４のミラー面の１面で、即ち、レーザ光の１回の走査で８ライン分の画像形成を行う。回転多面鏡２０４のミラー面の全てが用いられる通常モードでは、回転多面鏡２０４は１回転あたり４回レーザ光を走査して、３２ライン分の画像形成を行う。面飛ばし制御が用いられるモード、例えば、半速モードでは、回転多面鏡２０４の２面目、４面目がレーザ光の走査に用いられず、１面目、３面目がレーザ光の走査に用いられる。回転多面鏡２０４は、１回転あたり２回レーザ光を走査して、１６ライン分の画像形成を行う。
【００２３】
感光ドラム１０２は、回転軸にロータリーエンコーダ３０１を備えており、ロータリーエンコーダ３０１を用いて感光ドラム１０２の回転速度の検出が行われる。ロータリーエンコーダ３０１は、感光ドラム１０２が１回転する度に１０００発のパルスを発生する。ロータリーエンコーダ３０１には、内部の基板上にパルスの時間間隔を測定する不図示の測定部が設けられている。ロータリーエンコーダ３０１は、測定部によって測定されたパルスの時間間隔に基づいて、感光ドラム１０２の回転速度の情報（回転速度データ）をＣＰＵ３０３に出力する。感光ドラム１０２の回転速度が検出できる構成であれば、ロータリーエンコーダ以外の公知の速度検出技術を用いてもよい。エンコーダ以外の方法としては、例えば、レーザドップラーで感光ドラム１０２の表面速度を検出する方式がある。レジスタ４０１、４０２及びセレクタ４０３については後述する。
【００２４】
次に、図２を用いて、制御部であるＣＰＵ３０３、およびクロック信号生成部３０８について説明する。ＣＰＵ３０３およびクロック信号生成部３０８は、画像形成装置１００に取り付けられている。図２は、画像の歪み及び濃度むらを補正する補正処理を実行するＣＰＵ３０３の、補正手段、変換手段及びフィルタ処理手段としての機能をブロック図として示す。ＣＰＵ３０３は、フィルタ演算部４０５と、誤差拡散処理部５０２と、ＰＷＭ信号生成部５０３とを有する。フィルタ演算部４０５は、入力された画像データに畳み込み演算を行うことでフィルタ処理を行う。誤差拡散処理部５０２は、フィルタ処理後の画像データに誤差拡散処理を行う。ＰＷＭ信号生成部５０３は、誤差拡散処理後の画像データ（濃度データ）にＰＷＭ変換を行い、光走査装置１０４のレーザ駆動回路３０４にＰＷＭ信号を出力する。クロック信号生成部３０８は、クロック信号ＣＬＫ（１）とクロック信号ＣＬＫ（２）をＣＰＵ３０３に出力する。クロック信号ＣＬＫ（１）は後述する図６に示すクロック信号である。クロック信号ＣＬＫ（１）はクロック信号ＣＬＫ（２）を逓倍して生成された信号である。従って、クロック信号ＣＬＫ（１）とクロック信号ＣＬＫ（２）は同期関係にある。本実施例では、クロック信号生成部３０８は、クロック信号（２）を１６逓倍したクロック信号ＣＬＫ（１）をＣＰＵ３０３に出力する。クロック信号ＣＬＫ（２）は１画素に対応する周期の信号である。クロック信号ＣＬＫ（１）は１画素を１６分割した分割画素に対応する周期の信号である。
【００２５】
ＣＰＵ３０３は、フィルタ係数算出部４０４と、フィルタ関数出力部５０５と、補正値設定部５０６とを有する。フィルタ関数出力部５０５は、畳み込み演算に用いられる関数のデータ（例えば、テーブルのデータ）をフィルタ係数算出部４０４に出力する。畳み込み演算に用いられる関数には、例えば線形補間及びバイキュービック補間がある。補正値設定部５０６は、セレクタ４０３を介してレジスタ４０１又はレジスタ４０２から読み込んだ位置ずれ量の情報と、面特定部５０７から入力された面同期信号とに基づいて、走査ラインの位置ずれ量を算出する。レジスタ４０１、４０２には、電源投入時に光走査装置１０４のメモリ３０２から所定の情報が格納されている。補正値設定部５０６は、走査ラインの位置ずれ量に基づいて補正値を算出し、算出した補正値をフィルタ係数算出部４０４に出力する。フィルタ係数算出部４０４は、フィルタ関数出力部５０５から入力された畳み込み関数の情報と、補正値設定部５０６から入力された走査ラインの補正値とに基づいて、フィルタ係数を算出する。フィルタ係数は、フィルタ演算部４０５によるフィルタ処理に用いられる。フィルタ係数算出部４０４は、算出したフィルタ係数をフィルタ演算部４０５に設定する。
【００２６】
ＣＰＵ３０３は、面特定部５０７を有する。面特定部５０７は、光走査装置１０４のホームポジションセンサ（以下、ＨＰセンサとする）３０７から入力されたＨＰ信号と、ＢＤ２０７から入力されたＢＤ信号とに基づいて、回転多面鏡２０４のミラー面を特定する。面特定部５０７は、特定したミラー面の情報を面同期信号として補正値設定部５０６に出力する。
【００２７】
図１（ｂ）に示すように、ＣＰＵ３０３には、画像データを生成する不図示の画像コントローラから画像データが入力される。この画像データは濃度値を示す階調データである。この階調データは１画素毎の濃度値を示す複数ビットのデータである。例えば、４ビットの画像データであれば、１画素の濃度値は１６階調で表現され、８ビットの画像データであれば１画素の濃度値は２５６階調で表現される。本実施例では、画像コントローラからＣＰＵ３０３に入力される画像データは１画素あたり４ビットであるものとする。フィルタ処理部５０１は、クロック信号ＣＬＫ（２）に同期して１画素毎に画像データにフィルタ処理を加える。また、ＣＰＵ３０３は、ロータリーエンコーダ３０１、ＢＤ２０７、メモリ３０２、及び回転多面鏡駆動部（以下、ミラー駆動部）３０５と接続されている。ＣＰＵ３０３は、ＢＤ２０７から入力されたＢＤ信号に基づいて走査ラインの書き出し位置を検知し、ＢＤ信号の時間間隔をカウントすることで回転多面鏡２０４の回転速度を検知する。更に、ＣＰＵ３０３は、回転多面鏡２０４が所定の速度となるように、ミラー駆動部３０５に加速減速を指示するための加速減速信号を出力する。ミラー駆動部３０５は、ＣＰＵ３０３から入力された加速減速信号に応じて、回転多面鏡２０４のモータ部に駆動電流を供給し、モータ３０６を駆動する。
【００２８】
図２に示すように、回転多面鏡２０４にはＨＰセンサ３０７が搭載されている。ＨＰセンサ３０７は回転多面鏡２０４が回転動作中に所定角度になったタイミングで、ＣＰＵ３０３に対してＨＰ信号を出力する。例えば、ＨＰ信号が回転多面鏡２０４が一回転する間に一度生成される。面特定部５０７は、ＨＰ信号が生成されたことに応じて内部カウンタをリセットする。そして、面特定部５０７は、ＢＤ信号が入力されるごとに内部カウンタのカウント値を「１」インクリメントさせる。つまり、内部カウンタのカウント値は回転多面鏡２０４の複数のミラー面を示す情報である。ＣＰＵ３０３は、このカウント値を用いることによって入力された画像データが複数のミラー面のうちのどのミラー面に対応する画像データかを特定することができる。つまり、ＣＰＵ３０３は、カウント値を用いることによって、入力される画像データを補正するためのフィルタ係数を切り換えることができる。
【００２９】
メモリ３０２には、回転多面鏡２０４のミラー面によって反射された複数のレーザ光の副走査方向における理想走査位置からの位置ずれ量を示す位置情報（第１の走査位置情報）がミラー面毎に格納されている。また、メモリ３０２には、各発光点の配置間隔に起因するレーザ光の副走査方向における理想走査位置からの位置ずれ量を示す位置情報（第２の走査位置情報）が記憶されている。ＣＰＵ３０３によって各情報が読み出され、レジスタ４０１、４０２に格納される。ＣＰＵ３０３は、レジスタ４０１又はレジスタ４０２から、回転多面鏡２０４のミラー面毎の面倒れに起因する副走査方向の位置ずれ情報と、レーザ光源の発光点の間隔に起因する１２００ｄｐｉの副走査方向の理想位置に対する位置ずれ情報を読み出す。ＣＰＵ３０３は、レジスタ４０１又はレジスタ４０２から読み出した位置ずれ情報に基づいて、各走査ラインの位置情報を算出する。通常モード時に用いられる各走査ラインの位置ずれ情報は第１のレジスタであるレジスタ４０１に格納されている。面飛ばし制御時に用いられる走査ラインの位置ずれ情報は第２のレジスタであるレジスタ４０２に格納されている。
【００３０】
セレクタ４０３は、ＣＰＵ３０３から入力された指示信号に応じて、レジスタ４０１及びレジスタ４０２のいずれか一方の情報を、補正値設定部５０６に出力する。補正値設定部５０６は、セレクタ４０３を介してレジスタ４０１又はレジスタ４０２から入力された各走査ラインの位置情報に基づいて補正値を算出し、算出した補正値をフィルタ係数算出部４０４に出力する。フィルタ係数算出部４０４は、補正値設定部５０６から入力された補正値とフィルタ関数出力部５０５から入力されたフィルタ関数を用いて、フィルタ係数を算出する。フィルタ演算部４０５には、不図示の画像データを生成する画像コントローラから画像データが入力される。フィルタ演算部４０５は、フィルタ係数算出部４０４から入力されたフィルタ係数に基づいて画像データにフィルタ処理を行って、各走査ラインの位置を補正する情報を加味した画像データを算出する。ＣＰＵ３０３のＰＷＭ信号生成部５０３は、各走査ラインの位置が補正された情報が加味された画像データを駆動データに変換する。メモリ３０２には、図１９に示すような４ビットの画像データを１６ビットの駆動データに変換する変換テーブルが記憶されている。図１９に示す変換テーブルの縦軸は、４ビットの濃度値を示す画像データであり、１画素に対応する。図１９に示す変換テーブルの横軸は、４ビットの濃度値それぞれに個別に対応させた１６ビットの駆動データである。例えば、ＰＷＭ信号生成部５０３に入力された画像データが「０１１０」のビットパターンの場合、ＰＷＭ信号生成部５０３は、画像データ「０１１０」を変換テーブルを用いて「０００００００００１１１１１１１」のビットパターンである駆動データに変換する。ＰＷＭ信号生成部５０３は、変換後の駆動データは後述するクロック信号（１）に応じて１ビットずつシリアルに「０００００００００１１１１１１１」の順に出力する。ＰＷＭ信号生成部５０３が駆動データを出力することによってＰＷＭ信号が生成される。ＰＷＭ信号生成部５０３が「１」を出力することによって発光点はレーザ光を出射する。ＰＷＭ信号生成部５０３が「０」を出力することによって発光点はレーザ光を出力しない。
【００３１】
次に、図３、図４を用いて、レジスタ４０１、４０２に格納された走査位置情報について説明する。図３、図４は、各走査ラインの理想位置からの位置ずれの様子を示している。図３は通常モード時（回転多面鏡２０４の全ミラー面が使用されるとき）の位置ずれの様子を示している。図４は半速モード時（面飛ばし制御が行われるとき）の位置ずれの様子を示している。８つの発光点を有するレーザ光源から出射された各レーザ光が走査する走査ラインを、ＬＤ１、ＬＤ２、ＬＤ３、ＬＤ４、ＬＤ５、ＬＤ６、ＬＤ７、ＬＤ８とする。ここで、各走査ラインの理想的な間隔（所定の間隔）は、解像度によって決定する。例えば解像度１２００ｄｐｉの画像形成装置の場合、各走査ラインの理想的な間隔は、２１．１６μｍとなる。ＬＤ１を基準位置とした場合、走査ラインＬＤ１からの走査ラインＬＤ２〜ＬＤ８の理想距離Ｄ２〜Ｄ８は式（１）で算出される。
Ｄｎ＝（ｎ−１）×２１．１６μｍ  （ｎ＝２〜８）・・・式（１）
例えば、走査ラインＬＤ１から走査ラインＬＤ４までの理想距離Ｄ４は、６３．４８μｍ（＝（４−１）×２１．１６μｍ）となる。
【００３２】
複数の発光点の配置間隔の誤差又はレンズの特性によって、感光ドラム１０２上における走査ラインの間隔には誤差が生じる。理想距離Ｄ２〜Ｄ８によって決まる理想位置に対する走査ラインＬＤ２〜ＬＤ８の走査ライン位置の位置ずれ量を、Ｘ１〜Ｘ７とする。回転多面鏡２０４の１面目について、例えば、走査ラインＬＤ２の位置ずれ量Ｘ１は、走査ラインＬＤ２の理想位置（以下、ライン２、他の走査ラインについても同様とする）と実際の走査ラインとの差とする。例えば、走査ラインＬＤ４の位置ずれ量Ｘ３は、ライン４と実際の走査ラインとの差とする。
【００３３】
回転多面鏡２０４は各ミラー面の製造ばらつきにより、回転多面鏡２０４の回転軸に対するミラー面の角度が完全に平行にはならず、ミラー面毎にばらつきを有する。回転多面鏡２０４の各ミラー面における理想位置に対する位置ずれ量は、回転多面鏡２０４の面数が４面の場合Ｙ１〜Ｙ４で表わされる。図３では、一面目のＬＤ１の走査ラインの理想位置からのずれ量がＹ１、二面目のＬＤ１の走査ラインの理想位置からのずれ量がＹ２となる。
【００３４】
回転多面鏡２０４のミラー面をｍ面目、レーザ光源のｎ番目のレーザ光による走査ライン（ＬＤｎ）の位置ずれ量をＺｍｎとする。そうすると、位置ずれ量Ｚｍｎは、各走査ラインの位置ずれ量Ｘ１〜Ｘ７と、各ミラー面の位置ずれ量Ｙ１〜Ｙ４とを用いて式（２）で表わされる。
Ｚｍｎ＝Ｙｍ＋Ｘ（ｎ−１）      （ｍ＝１〜４、ｎ＝１〜８）・・・式（２）
（ただし、Ｘ（０）＝０とする）
例えば、回転多面鏡２０４の１面目の走査ラインＬＤ４についての位置ずれ量Ｚ１４は、式（２）からＺ１４＝Ｙ１＋Ｘ３と求められる。回転多面鏡２０４の２面目の走査ラインＬＤ１についての位置ずれ量Ｚ２１は、式（２）からＺ２１＝Ｙ２と求められる。
【００３５】
式（２）の演算で位置ずれ量Ｚｍｎを算出する場合、位置ずれ量Ｚｍｎの算出に用いられるデータは、回転多面鏡２０４のミラー面の数とレーザ光源の発光点の数に対応したデータ数を有していればよい。表１にレジスタ４０１に格納される位置ずれデータのアドレスマップを示す。
【００３６】
【表１】
0006723848.tif 000002
【００３７】
表１に示すように、レジスタ４０１のアドレス１からアドレス７までには、走査ラインＬＤ２から走査ラインＬＤ８それぞれの位置ずれ量（位置情報と記す）Ｘ１〜Ｘ７の情報が格納されている。レジスタ４０１のアドレス８からアドレス１１までには、回転多面鏡２０４のミラー面の１面目から４面目それぞれの位置ずれ量Ｙ１〜Ｙ４の情報が格納されている。
【００３８】
表２にレジスタ４０２に格納される位置ずれデータのアドレスマップを示す。
【表２】
0006723848.tif 000003
【００３９】
表２に示すように、レジスタ４０２のアドレス１からアドレス７までには、走査ラインＬＤ２から走査ラインＬＤ８までの位置ずれ量（位置情報と記す）Ｘ１〜Ｘ７の情報が格納されている。また、レジスタ４０２のアドレス８、アドレス９には、回転多面鏡２０４のミラー面の１面目と３面目の位置ずれ量Ｙ１、Ｙ３の情報が格納されている。
【００４０】
本実施例では、回転多面鏡２０４の各ミラー面の位置ずれによって、各レーザ光の８つの走査ラインが一律にずれるものとして説明している。即ち、本実施例では、１１個の位置情報をレジスタ４０１に、９個の位置情報をレジスタ４０２にそれぞれ保持する。しかし、回転多面鏡２０４のミラー面毎にレーザ光の各走査ラインの位置ずれ量がばらつく場合、回転多面鏡２０４の各ミラー面とレーザ光の各走査ラインの組み合わせの分だけ、位置ずれ量の情報を保持してもよい。即ち、この場合は、回転多面鏡２０４のミラー面の数４面、レーザ光源２０１の素子数８で、３２個の位置情報をメモリ３０２に格納しておき、この情報を読み出してレジスタ４０１に格納する。レジスタ４０２には、面飛ばし制御に用いられる面に応じてメモリ３０２から必要数の位置情報が格納される。
【００４１】
本実施例では、レジスタ４０１とレジスタ４０２のどちらの位置情報を参照するかは、通常モードか半速モードかによって異なる。回転多面鏡２０４の全てのミラー面を使用してレーザ光を走査する通常モード時の制御では、ＣＰＵ３０３は、レジスタ４０１に格納された情報を参照する。表１で示したように、レジスタ４０１には回転多面鏡２０４の４面全てのミラー面を用いた場合の走査ラインの位置ずれ量に関する情報が格納される。半速モード時の面飛ばし制御では、ＣＰＵ３０３は、レジスタ４０２に格納された情報を参照する。表２で示したように、レジスタ４０２には回転多面鏡２０４の一部のミラー面を用いた場合の走査ラインの位置ずれ量に関する情報が格納される。本実施例では、面飛ばし制御時には、回転多面鏡２０４の１面目と３面目を用いることにより、通常時の半分の印刷速度で画像形成を行う。レジスタ４０２には、ＣＰＵ３０３によりレーザ光の走査に用いる面１及び面３の情報のみ抽出され、格納される。
【００４２】
（メモリ格納動作）
メモリ３０２に格納される位置ずれ量の情報は、例えば工場等での光走査装置１０４の調整工程で測定されたデータとする。画像形成装置内部にレーザ光源２０１から出射されたレーザ光により走査される走査ラインの位置を検知する手段を備え、メモリ３０２に格納されている情報をリアルタイムに更新してもよい。走査光の副走査方向の位置検出手段としては、公知の技術を用いてよい。例えば、光走査装置内部又は感光ドラム近傍に配置したＣＭＯＳセンサ又はＰＳＤ（Ｐｏｓｉｔｉｏｎ  Ｓｅｎｓｉｔｉｖｅ  Ｄｅｔｅｃｔｏｒ）によって位置検出を行う方法を用いてよい。また、光走査装置内部又は感光ドラム近傍のレーザ光の走査経路上に配置したＰＤ（ｐｈｏｔｏ  ｄｉｏｄｅ）面上に三角スリットを配置してＰＤの出力パルス幅から位置検出を行う方法を用いてよい。
【００４３】
図５は、一例として、工場で光走査装置１０４のメモリ３０２に情報を格納する際のブロック図を示す。図２と同じ構成には同じ符号を付し、説明を省略する。光走査装置１０４の調整工程において、光走査装置１０４が画像形成装置に搭載されたときの感光ドラム上の走査位置に相当する位置に、測定工具４００を配置する。測定工具４００は、測定部４１０と演算部４２２を備えている。演算部４２２は、図２のＣＰＵ３０３の面特定部５０７から面同期信号が入力されるように構成されている。尚、図５では、ＣＰＵ３０３に面特定部５０７のみ描画している。まず、光走査装置１０４から測定部４１０にレーザ光を照射させる。測定部４１０は、三角スリット４１１とＰＤ４１２を有しており、図中、一点鎖線矢印で示す光走査装置１０４から走査されたレーザ光が三角スリット４１１上を走査する。測定部４１０は、三角スリット４１１を介してＰＤ４１２に入力されたレーザ光の情報に基づき、走査ラインの副走査方向の位置を測定する。測定部４１０は、測定した回転多面鏡２０４のミラー面毎の走査ラインの副走査方向の位置の情報（以下、面毎データという）を、演算部４２２に出力する。
【００４４】
面特定部５０７には、光走査装置１０４のＨＰセンサ３０７からＨＰ信号が入力され、ＢＤ２０７からＢＤ信号が入力されている。これにより、面特定部５０７は、回転多面鏡２０４のミラー面を特定し、特定したミラー面の情報を、面同期信号として演算部４２２に出力する。演算部４２２は、面特定部５０７から入力された回転多面鏡２０４のミラー面の情報に応じた光走査装置１０４のメモリ３０２上のアドレスに、測定部４１０により測定した走査ラインの副走査方向の位置の情報を書き込む。このように、レーザ光源２０１の８つの発光点の間隔のばらつきにより生じる走査ラインの位置ずれ量の情報（Ｘ１〜Ｘ７）と、回転多面鏡２０４のミラー面の面倒れにより生じる走査ラインの位置ずれ量の情報（Ｙ１〜Ｙ４）とが、メモリ３０２に格納される。
【００４５】
＜通常制御時の位置ずれ量算出方法＞
図６（ａ）は、本実施例のレーザ光の通常モード（通常制御）時の１走査期間内の制御タイミングを示す。（１）は１画素を１６分割した分割画素（１／１６画素）あたりの画素周期に対応したＣＬＫ信号を示しており、（２）はＣＰＵ３０３に対するＢＤ２０７からのＢＤ信号の入力タイミングを示している。（３）（４）はＣＰＵ３０３が駆動データＤＡＴＡｎ（ｎ＝１，２，・・・）を出力するタイミングを示している。
【００４６】
ＢＤ２０７から出力されるＢＤ信号を基準としたときに、ＢＤ信号がＣＰＵ３０３に入力されてから次のＢＤ信号が入力されるまでの間において、ＣＰＵ３０３にＢＤ信号が入力されてからＣＰＵ３０３に入力された画像データの処理を開始するまでの時間をＴ１とする。また、ＢＤ信号がＣＰＵ３０３に入力されてから次のＢＤ信号が入力されるまでの間において、ＣＰＵ３０３にＢＤ信号が入力されてからＣＰＵ３０３に入力された画像データの出力を完了するまでの時間をＴ２とする。ＣＰＵ３０３は、ＢＤ信号が入力された後、所定時間Ｔ１が経過するまで待機した後、入力された画像データのフィルタ処理をクロック信号ＣＬＫ（２）に同期して開始し、処理された画像データから順に駆動データを生成し、当該駆動データを１ビットずつ出力することによってＰＷＭ信号をレーザ駆動回路に出力する。そして、ＣＰＵ３０３は、ＢＤ信号が入力されてから所定時間Ｔ２が経過した後に、１走査ラインの画像データの処理を終了する。ＣＰＵ３０３は、走査毎に、ＢＤ信号を検知してから所定時間Ｔ１が経過するまでの間で、即ち、レーザ光が非画像領域を走査している期間に当該走査周期における走査ラインの位置ずれ量を算出する。そして、ＣＰＵ３０３は、算出した位置ずれ量に基づくフィルタ係数をフィルタ係数設定部５９４に設定させる。そして、ＣＰＵ３０３は、走査毎に、所定時間Ｔ１が経過してから所定時間Ｔ２が経過するまでの間で、フィルタ係数設定部５０４が設定したフィルタ係数を用いてフィルタ演算部４０５に画像データを補正させる。
【００４７】
＜面飛ばし制御時の位置ずれ量算出方法＞
図６（ｂ）は、本実施例のミラー面を４面有する回転多面鏡２０４を用いた半速モード、即ち、面飛ばし制御時の４走査期間内の制御タイミングを示す。本実施例では、回転多面鏡２０４の１面、３面でレーザ光を走査する際は、フィルタ演算部４０５によるフィルタ処理が施された画像データＤＡＴＡｎ’がレーザ駆動回路３０４に送信される。回転多面鏡２０４の２面、４面は面飛ばしの対象のミラー面であり、２面、４面を用いた印刷が行われないため、画像データは送信されない。１面、３面は、図６（ａ）と同様に画像データＤＡＴＡｎが１クロックに同期してレーザ駆動回路３０４に出力される。ＣＰＵ３０３は、モータ３０６のＨＰセンサ３０７によるホームポジションの検知タイミングから回転多面鏡２０４の面を特定した結果に基づき、不図示の画像コントローラに対して画像データの送信タイミングを制御することで、面飛ばし制御を実行する。
【００４８】
＜電源投入時のＣＰＵの動作＞
図７に、画像形成装置の電源が投入されてからＣＰＵ３０３が実行する処理のフローチャートを示す。ステップ（以下、Ｓとする）６００２でＣＰＵ３０３は、メモリ３０２から回転多面鏡２０４の面毎の位置情報（例えば、位置情報Ｙ１〜Ｙ４）とマルチビームレーザの位置情報（例えば、位置情報Ｘ１〜Ｘ７）を読み出す。Ｓ６００３で、ＣＰＵ３０３は、Ｓ６００２で読み出した位置情報（Ｙ１〜Ｙ４、Ｘ１〜Ｘ７）をレジスタ４０１、４０２に格納する。具体的には、ＣＰＵ３０３は、通常制御時に用いられる回転多面鏡２０４の全てのミラー面の位置情報（Ｙ１〜Ｙ４、Ｘ１〜Ｘ７）を、レジスタ４０１に格納する。また、ＣＰＵ３０３は、面飛ばし制御時に用いられる回転多面鏡２０４の該当するミラー面の位置情報（例えば、Ｙ１、Ｙ３、Ｘ１〜Ｘ７）を、レジスタ４０２に格納し、処理を終了する。本実施例では、図６で説明したように、時間Ｔ１中に位置ずれ量（Ｚｍｎ）を算出する例について説明する。しかし、図７の破線で示すＳ６００４でＣＰＵ３０３は、式（２）を用いて、Ｓ６００３でレジスタ４０１又はレジスタ４０２から読み出した面毎の位置情報及び走査ライン毎の位置情報に基づいて、各走査ラインの位置ずれ量（Ｚｍｎ）を算出してもよい。
【００４９】
画像形成装置を半速モードで動作させる場合には、ＣＰＵ３０３は、次のようにして各走査ラインの位置情報を算出する。即ち、ＣＰＵ３０３は、面飛ばし制御時の位置ずれ量Ｚｎｍを、１面飛ばし、及び２面飛ばし等、各々の制御に基づいてレーザ光の走査に用いられる面についての情報のみを抽出して、位置情報を算出する。例えば、図６（ｂ）のように回転多面鏡２０４の２面と４面を面飛ばしする場合、ＣＰＵ３０３は、次のように制御する。即ち、ＣＰＵ３０３は、ミラー面の位置情報Ｙ１、Ｙ３と走査ラインの位置情報Ｘ１〜Ｘ７を用いて式（２）から、１面についての走査ラインの位置ずれ量Ｚ１ｎと、３面についての位置ずれ量Ｚ３ｎを算出する。
【００５０】
＜印刷ジョブ時のＣＰＵの動作＞
図８に、印刷ジョブ（以下、単にジョブという）が開始されたときのＣＰＵ３０３の動作をフローチャートで示す。ＣＰＵ３０３は、ジョブが開始されると、Ｓ７００２で、開始されたジョブが通常モードの印刷速度である等速か否かを判断する。ＣＰＵ３０３は、Ｓ７００２で印刷速度が等速であると判断した場合、Ｓ７００３の処理に進む。ＣＰＵ３０３は、Ｓ７００２で印刷速度が等速ではない、即ち、半速モードの印刷速度であり面飛ばし制御を行う状況であると判断した場合、Ｓ７００４の処理に進む。Ｓ７００３でＣＰＵ３０３は、レジスタ４０１に格納されている、例えば表１で説明したような情報が補正値設定部５０６に入力されるように、セレクタ４０３を制御する。ＣＰＵ３０３は、通常モードの場合、プロセススピードを通常モードに対応した所定の速度に設定する。Ｓ７００４でＣＰＵ３０３は、レジスタ４０２に格納されている、例えば表２で説明したような情報が補正値設定部５０６に入力されるように、セレクタ４０３を制御する。ＣＰＵ３０３は、半速モードの場合、プロセススピードを通常モード時の所定の速度の半分の速度に設定する。
【００５１】
Ｓ７００５でＣＰＵ３０３は、画像形成を行う。ここで、ＣＰＵ３０３は、Ｓ７００２で印刷速度が等速であると判断した場合は、例えば図６（ａ）のように回転多面鏡２０４の全てのミラー面でレーザ光を走査することにより、感光ドラム１０２上に潜像を形成させる。また、ＣＰＵ３０３は、Ｓ７００２で印刷速度が半速であると判断した場合は、例えば図６（ｂ）のように回転多面鏡２０４の１面、３面でレーザ光を走査することにより、感光ドラム１０２上に潜像を形成させる。尚、Ｓ７００５の詳細な説明は後述する。Ｓ７００６でＣＰＵ３０３は、１ページの印刷が終了したか否かを判断し、１ページの印刷が終了したと判断した場合、Ｓ７００７の処理に進み、１ページの印刷が終了していないと判断した場合は、Ｓ７００５の処理に戻る。Ｓ７００７でＣＰＵ３０３は、ジョブが終了したか否かを判断する。Ｓ７００７でＣＰＵ３０３は、ジョブが終了していないと判断した場合はＳ７００２の処理に戻り、ジョブが終了したと判断した場合は処理を終了する。
【００５２】
＜フィルタ係数算出＞
図８のＳ７００５の画像形成処理中に行われる位置ずれ量の算出処理について図２を用いて説明する。補正値設定部５０６には、画像形成時において、セレクタ４０３により選択されたレジスタ４０１又はレジスタ４０２から回転多面鏡２０４のミラー面毎の位置情報と、マルチビームレーザの位置情報が入力される。補正値設定部５０６は、セレクタ４０３を介してレジスタ４０１又はレジスタ４０２から入力された情報に基づいて、位置ずれ量の補正値を算出する。補正値設定部５０６は、算出した補正値をフィルタ係数算出部４０４に出力する。フィルタ係数算出部４０４は、補正値設定部５０６から入力された補正値に基づいて、フィルタ演算に用いられるフィルタ係数を算出する。補正値設定部５０６は、式（２）により補正値を算出する加算手段で構成される。補正値設定部５０６は、レジスタ４０１又はレジスタ４０２から読み出したミラー面情報とビーム位置情報より、式（２）を用いて位置ずれ量（Ｚｍｎ）を算出する。
【００５３】
本実施例では、複数の走査ラインの画像データと位置ずれ量に基づいて、フィルタ演算を行う。画像形成時において、補正値設定部５０６は走査ライン毎に位置ずれ量と補正値の算出を行い、１走査に１回の頻度で、かつ、時間Ｔ１の期間において、フィルタ係数算出部４０４によりフィルタ係数が算出される。例えばフィルタ演算の範囲をＬ＝１とした場合、注目する走査ライン（以下、注目ラインという）の上下１画素の画像データを参照し、注目ラインと上下１画素の範囲における各走査ラインの位置ずれ量を算出し、フィルタ演算を行う。注目ラインに対応した走査ラインの位置ずれ量は、画像形成直前の期間において算出される。注目ラインより前に走査された走査ラインについては、不図示の記憶部に記憶されている、以前に算出した位置ずれ量の算出結果を用いる。
【００５４】
（入力画像の画素の副走査方向の位置の補正）
本実施例では、ＣＰＵ３０３は、レーザ光による走査ラインの副走査方向の位置ずれ量に基づいて、画像データに対して補正を行い、補正した画像データをレーザ駆動回路３０４に出力する。以下の説明では、回転多面鏡２０４の全てのミラー面を用いる通常モード時について説明するが、面飛ばし制御時は用いられる情報がレジスタ４０２から読み出される情報である以外は同様の処理となるため、説明を省略する。以下、図９のフローチャートについて説明する。図９は、副走査方向の位置ずれに起因して発生する濃度むら及びバンディングを補正するための補正処理を説明するフローチャートである。Ｓ３６０２でＣＰＵ３０３は、レジスタ４０１に格納された副走査方向の位置ずれ量を読み出す。具体的には、ＣＰＵ３０３は、表１で説明したＬＤ２〜ＬＤ８の位置情報Ｘ１〜Ｘ７と、回転多面鏡２０４の１〜４面目の位置情報Ｙ１〜Ｙ４をレジスタ４０１から読み出す。本実施例では、副走査方向の位置ずれ量に基づいて、入力された画像データの副走査方向の画素位置に対して補正を行った後、フィルタ処理を行うことによって画素データ、即ち濃度を出力する。
【００５５】
（走査ラインの位置ずれの状態）
走査ラインの位置ずれの状態は略４つに分類できる。位置ずれの状態には、（ａ）感光ドラム１０２上の走査ラインの位置（以下、走査位置）が理想の走査位置に対して進み方向にシフトする場合、（ｂ）感光ドラム１０２上の走査位置が理想の走査位置に対して戻り方向にシフトする場合がある。また、位置ずれの状態には、（ｃ）感光ドラム１０２上の走査位置の間隔が理想の走査位置の間隔に対して密になる場合、逆に、（ｄ）感光ドラム１０２上の走査位置の間隔が理想の走査位置の間隔に対して疎になる場合がある。これらの副走査方向の位置ずれの状態の具体例を図１０に示す。図中、破線は走査位置を示し、走査番号（１）〜（５）は走査の順番を示す。本実施例では８ビームを同時に走査するが、副走査方向に順に並ぶ１ビームずつに順番を振ったものとして説明する。図１０の左側の列が理想の走査位置、右側の列が感光ドラム１０２上の走査位置を示す。走査番号（１）〜（５）に対して、Ｓ１〜Ｓ５は理想の走査位置からの位置ずれ量を示す。位置ずれ量の単位は、理想のビーム間隔（１２００ｄｐｉで２１．１６μｍ）を１としたときを基準に表し、副走査方向におけるレーザ光の進み方向（以下、単に進み方向という）を正の値としている。また、副走査方向におけるレーザ光の戻り方向（以下、単に戻り方向という）を負の値としている。画像の様子を説明するために副走査方向に並ぶ１画素を走査線上に丸で示す。丸の色は濃度を表す。
【００５６】
図１０（ａ）は、感光ドラム１０２上の走査位置が、理想の走査位置から進み方向に一律に０．２ずつシフトしている例を示している。以降、図１０（ａ）のような位置ずれ量を、＋０．２のシフト量という。図１０（ｂ）は、感光ドラム１０２上の走査位置が、理想の走査位置から戻り方向に一律に０．２ずつシフトしている例を示している。以降、図１０（ｂ）のような位置ずれ量を、−０．２ラインのシフト量という。図１０（ａ）、図１０（ｂ）は、走査位置が一律にシフトしているため、感光ドラム１０２上の走査位置の間隔はいずれも１となっている。
【００５７】
図１０（ｃ）は、感光ドラム１０２上の所定の走査位置では、位置ずれ量が０である。しかし、位置ずれ量０の走査位置から走査位置が前に戻るほど進み方向への位置ずれ量が大きくなり、位置ずれ量０の走査位置から走査位置が後に進むほど戻り方向への位置ずれ量が大きくなる。例えば、走査番号（３）ではＳ３＝＋０であるが、走査番号（２）ではＳ２＝＋０．２、走査番号（１）ではＳ１＝＋０．４となり、走査番号（４）ではＳ４＝−０．２、走査番号（５）ではＳ５＝−０．４となる。図１０（ｃ）では、走査位置の間隔が１よりも小さい０．８となっている。以降、図１０（ｃ）のような位置ずれの状態を、（１−０．２）ラインの間隔で密、という。
【００５８】
図１０（ｄ）は、感光ドラム１０２上の所定の走査位置では、位置ずれ量が０である。しかし、位置ずれ量０の走査位置から走査位置が前に戻るほど戻り方向への位置ずれ量が大きくなり、位置ずれ量０の走査位置から走査位置が後に進むほど進み方向への位置ずれ量が大きくなる。例えば、走査番号（３）ではＳ３＝＋０であるが、走査番号（２）ではＳ２＝−０．２、走査番号（１）ではＳ１＝−０．４となり、走査番号（４）ではＳ４＝＋０．２、走査番号（５）ではＳ５＝＋０．４となる。図１０（ｄ）では、走査位置の間隔が１よりも大きい１．２となっている。以降、図１０（ｄ）のような位置ずれの状態を、（１＋０．２）ラインの間隔で疎、という。
【００５９】
図１０（ｃ）のような密の状態では、位置ずれが生じているだけでなく、走査位置の間隔が密になることによって感光ドラム１０２上で画素が密集し、所定面積あたりの画素値が増えることで濃度が濃くなる。逆に図１０（ｄ）のような疎の状態では、位置ずれが生じているだけでなく、走査位置の間隔が疎になることによって感光ドラム１０２上で画素が疎となって、所定面積あたりの画素値が減って濃度が薄くなる。電子写真プロセスにおいては、潜像電位の深さと現像特性の関係により濃淡差がさらに強調されることがある。図１０（ｃ）、図１０（ｄ）のような疎密が交互に発生すれば周期的な濃淡がモアレとなり、空間周波数によっては同じ量でも視覚的に検知されやすくなる。
【００６０】
図９のフローチャートの説明に戻る。Ｓ３６０３でＣＰＵ３０３は、補正値設定部５０６により入力画像の各画素に対する補正用属性情報を生成する。本実施例では、入力画像の副走査方向の画素位置を予め座標変換してから、補間することにより、位置ずれの補正と共に、入力画像の濃度を保存しながら局所的な濃淡の補正も同時に行うことを可能にする。補正用属性情報とは、具体的には、後述する補正値Ｃのことである。
【００６１】
（座標変換）
本実施例の座標変換の方法を、図１１〜図１３を用いて説明する。図１１〜図１３のグラフは、横軸を画素番号ｎ、縦軸を副走査方向の画素位置（走査位置でもある）ｙ（座標変換後はｙ’）としており、単位はラインとしている。また、図１１及び図１３は、それぞれ図１０（ａ）〜図１０（ｄ）に対応している。図１１及び図１３の左側のグラフは座標変換を行う前を、右側のグラフはｙ軸の座標変換を行った後を、それぞれ示している。グラフにプロットした四角のドットは感光ドラム１０２上の走査位置、丸のドットは理想の走査位置を表す。
【００６２】
（進み方向及び戻り方向にシフトしている場合）
図１１（ａ）左のグラフから順に説明する。座標変換を行う前のグラフでは、丸でプロットした理想の走査位置は、例えば画素番号２に対して副走査方向の画素位置ｙが２となっており、画素番号ｎとｙ座標が等しく、傾き１の直線（一点鎖線で示す）である。一点鎖線の直線は、以下の式（３）で表される。
ｙ＝ｎ・・・式（３）
【００６３】
丸でプロットした理想の走査位置に対して、四角でプロットした走査位置は、図１０Ａで説明したように、進み方向（ｙ軸＋方向）にＳ（＝０．２）ラインだけシフトしている。このため、四角でプロットした走査位置は、傾きは１のまま、オフセットした次の式（４）で表される直線（実線で示す）となる。
ｙ＝ｎ＋Ｓ・・・式（４）
【００６４】
本実施例では、実際の走査位置が理想の走査位置に変換されるように座標変換を行うため、図１１Ａに示す例の場合、以下の式を用いて座標変換を行えばよい。式（５）のＣが補正量となる。
ｙ’＝ｙ＋Ｃ・・・式（５）
従って、補正量Ｃはシフト量Ｓと以下の式（６）で表される。
Ｃ＝−Ｓ・・・式（６）
【００６５】
座標変換の式（５）と補正量Ｃを求める式（６）により、式（３）、式（４）はそれぞれ以下の式（７）、式（８）のように変換される。
ｙ’＝ｙ＋Ｃ＝ｎ＋（−Ｓ）＝ｎ−Ｓ・・・式（７）
ｙ’＝ｙ＋Ｃ＝（ｎ＋Ｓ）＋Ｃ＝（ｎ＋Ｓ）＋（−Ｓ）＝ｎ・・・式（８）
図１１（ｂ）について、シフト量をＳ＝−０．２とすれば、式（３）から式（８）が同様に成立して、図１１（ａ）と同様に説明できる。図１１（ａ）、図１１（ｂ）に示すように、走査ライン間に疎密が発生しておらず進み方向又は戻り方向にシフトしている走査ラインの場合には、変換前後で直線が一定の傾きとなっている。
【００６６】
（疎密が発生している場合）
走査位置の疎密が発生する図１３、及びシフトと疎密、図１１及び図１３の組み合わせのケースにも適用できる座標変換について説明する。図１２（ａ）は画素番号と走査位置の関係を示し、横軸は画素番号ｎ、縦軸ｙは副走査方向の走査位置で、四角ドットは感光ドラム１０２上の走査位置をプロットしたドットである。図１２（ａ）では、画素番号ｎ≦２の範囲では感光ドラム１０２上の走査ラインが密、画素番号ｎ≧２の範囲では感光ドラム１０２上の走査ラインが疎の場合について説明する。
【００６７】
図１２（ａ）に示すように、画素番号ｎ≦２では密、画素番号ｎ≧２では疎、となっている場合、画素番号ｎ≦２での直線の傾きと、画素番号ｎ≧２での直線の傾きは異なり、画素番号ｎ＝２において屈曲した形状となっている。図１２（ａ）では、四角ドットを通る走査位置の変化を表す関数をｆｔ（ｎ）とし、実線で表す。走査位置を表す関数ｆｔ（ｎ）は、次の式（９）で表される。
ｙ＝ｆｔ（ｎ）・・・式（９）
次に、副走査方向の走査位置であるｙ軸の座標変換を行った後の関数をｆｔ’（ｎ）で表すと、座標変換後の走査位置を表す関数ｆｔ’（ｎ）は、次の式（１０）で表される。
ｙ’＝ｆｔ’（ｎ）・・・式（１０）
【００６８】
本実施例では、座標変換後の走査位置が均等になるように、ｙ軸を伸縮したり、シフトしたりして、座標変換を行う。このため、座標変換後の走査位置を表す関数ｆｔ’（ｎ）は、以下の式（１１）で表される条件を満たす。
ｆｔ’（ｎ）＝ｎ・・・式（１１）
式（１１）は、例えば、画素番号２に対して、座標変換後の副走査方向の画素位置ｙ’（＝ｆｔ’（２））が２となることを意味する。
【００６９】
図１２（ａ）、図１２（ｂ）間を結ぶ破線は左から右へ、ｙ軸の元の座標位置から座標変換後のｙ’軸の座標位置との対応を示し、座標変換前後でｙ軸の下半分（ｎ≦２に対応）が伸長、上半分（ｎ≧２に対応）は縮小している様子を示す。図１２（ａ）から図１２（ｂ）の座標変換によって、入力された画像データの各画素の座標変換後の座標を求める手順を図１２（ｃ）、図１２（ｄ）で説明する。図１２（ｃ）、図１２（ｄ）は、図１２（ａ）、図１２（ｂ）と同様に、横軸は画素番号ｎ、縦軸ｙ（又はｙ’）は副走査方向の走査位置を示し、図１２（ｃ）は座標変換前、図１２（ｄ）は座標変換後を示す。入力された画像データの画素番号ｎと座標位置ｙの関係を以下に示す。図１２（ｃ）に示す破線は、座標変換前の理想の走査位置を表す関数ｆｓ（ｎ）であり、以下の式（１２）で表される。
ｙ＝ｆｓ（ｎ）・・・式（１２）
本実施例において、入力された画像データの副走査方向の画素の間隔は均等なので、関数ｆｓ（ｎ）は以下の式で表される。
ｆｓ（ｎ）＝ｎ・・・式（１３）
入力された画像データの注目する画素番号ｎｓに座標変換を行った後のｙ’座標の走査位置を、次の３つのステップにより求める。１つめのステップでは、入力された画像データの画素番号ｎｓに対応する理想の走査位置のｙ座標をｙｓとすると、ｙｓは、以下の式（１４）により求めることができる。
ｙｓ＝ｆｓ（ｎｓ）・・・式（１４）
感光ドラム１０２上（実線）で座標変換を行う前の走査位置が等しい画素番号ｎｔを求める（図１２（ｃ）の（１））。感光ドラム１０２上の走査位置は関数ｙ＝ｆｔ（ｎ）で表され、ｙｓ＝ｆｔ（ｎｔ）という関係が成り立つ。関数ｆｔ（ｎ）の逆関数をｆｔ−１（ｙ）とすると、画素番号ｎｔは、以下の式（１５）で表される。
ｎｔ＝ｆｔ−１（ｙｓ）・・・式（１５）
【００７０】
２つめのステップでは、感光ドラム１０２上の走査位置の画素番号ｎｔに対応する座標変換後のｙ’座標（ｙｔとする）を、座標変換後の関数ｆｔ’（ｎ）を用いて次の式（１６）により求める（図１２（ｄ）の（２））。
ｙｔ＝ｆｔ’（ｎｔ）・・・式（１６）
画素番号ｎｓは任意に選んでも成立するので、画素番号ｎｓから座標変換後のｙ’座標の位置ｙｔを求める式が、入力された画像データの画素番号ｎから演算上のｙ’座標を求める関数ｆｓ’（ｎ）に相当する。従って、式（１４）〜式（１６）から、以下のように式（１７）で表される一般式が導かれる。座標変換後の破線で示す理想の走査位置を示す関数は、ｙ’＝ｆｓ’（ｎ）で表される（図１２（ｄ）の（３））。
ｙｔ＝ｆｓ’（ｎｓ）＝ｆｔ’（ｎｔ）＝ｆｔ’（ｆｔ−１（ｙｓ））＝ｆｔ’（ｆｔ−１（ｆｓ（ｎｓ）））
ｎｓをｎに一般化して、
ｆｓ’（ｎ）＝ｆｔ’（ｆｔ−１（ｆｓ（ｎ）））・・・式（１７）
【００７１】
入力された画像データの画素間隔、及び座標変換後の走査位置の間隔を均等で、距離１とした式（１３）、式（１１）を式（１７）に代入する。そうすると、式（１７）は、画素番号ｎから走査位置を導く関数ｆｔ（ｎ）の逆関数ｆｔ−１（ｎ）を用いて、式（１８）のように表される。
ｆｓ’（ｎ）＝ｆｔ−１（ｎ）・・・式（１８）
【００７２】
図１１（ａ）、図１１（ｂ）に示した走査位置が進み方向、戻り方向に一律にシフトした式（４）と、入力された画像データの座標変換後の位置を求める式（７）も逆関数の関係にあり、式（１８）の成立を確認できる。図１３（ａ）、図１３（ｂ）に示すような走査位置に疎密が発生する場合に適用すると、座標変換前の走査位置を表す関数ｙは、（ｎ０、ｙ０）を通過する傾きｋの直線とする場合、以下の式（１９）で表せる。
ｆｓ（ｎ）＝ｙ＝ｋ×（ｎ−ｎ０）＋ｙ０・・・式（１９）
入力された画像データのｙ軸の座標変換後の画素位置を求めるために、式（１７）、式（１８）から、逆関数（（１／ｋ）×（ｙ−ｙ０）＋ｎ０）を求めて、逆関数に画素番号ｎを代入すればよいので、以下の式（２０）が導かれる。
ｙ’＝（１／ｋ）×（ｎ−ｙ０）＋ｎ０・・・式（２０）
図１３（ａ）に示す走査ラインの間隔が密な状態、図１３（ｂ）に示す走査ラインの間隔が疎な場合、いずれも座標変換後の感光ドラム１０２上の走査ラインの位置は、式（２０）で表すことができる。画素番号ｎの補正値Ｃｎは、Ｃｎ＝ｆｓ’（ｎ）−ｆｓ（ｎ）から求められる。
【００７３】
具体的には、図１３（ａ）では、ｎ０＝ｙ０＝３、ｋ＝０．８であり、
ｆｓ’（ｎ）＝（１／０．８）×（ｎ−３）＋３・・・式（２１）
となる。例えば、画素番号３では、ｆｓ’（３）＝３．００となり、補正値Ｃ３は０．００（＝３．００−３．００）となる。画素番号５では、ｆｓ’（５）＝５．５０となり、補正値Ｃ５は＋０．５０（＝＋５．５０−５．００）となる。走査位置が密である場合の補正値Ｃ１〜Ｃ５の値を図１６（ｃ）に示す。
【００７４】
図１３（ｂ）では、ｎ０＝ｙ０＝３、ｋ＝１．２であり、
ｆｓ’（ｎ）＝（１／１．２）×（ｎ−３）＋３・・・式（２２）
となる。例えば、画素番号３では、ｆｓ’（３）＝３．０００となり、補正値Ｃ３は０．０００（＝３．０００−３．０００）となる。画素番号５では、ｆｓ’（５）＝４．６６７となり、補正値Ｃ５は−０．３３３（＝４．６６７−５．０００）となる。走査位置が疎である場合の補正値Ｃ１〜Ｃ５の値を図１６（ｄ）に示す。
【００７５】
走査ラインに疎密又はシフトが混在していても、式（１７）又は式（１８）を用いることにより、座標変換後の理想の走査位置を求めることができる。補正値設定部５０６は、位置ずれ量に基づき理想の走査位置を座標変換して補正値Ｃｎを求めて、補正値Ｃｎの情報をフィルタ係数算出部４０４に出力する。
【００７６】
（フィルタ処理）
本実施例では、補正データを生成するためにフィルタ処理を実行する。ただし、本実施例では、フィルタ演算部４０５は、次のようなフィルタ関数による畳み込み演算でフィルタ処理を行う。即ち、フィルタ演算部４０５は、入力された画像データの画素の副走査方向の走査位置の補正による画素の副走査方向の画素位置と、座標変換によって走査ラインの間隔が均等に変換された画素の副走査位置との位置関係に基づいて、フィルタ処理を行う。フィルタ処理前の画素を入力画素、フィルタ処理後の画素を出力画素ともいう。また、フィルタ処理前の画素は、座標変換が行われた画素である。
【００７７】
本実施例の畳み込み関数として、図１４（ａ）に示す線形補間を用いる。フィルタ関数出力部５０５は、フィルタ処理に用いられる畳み込み関数の情報を、例えばテーブルの情報としてフィルタ係数算出部４０４に出力する。図１４は、縦軸ｙが副走査方向の位置を示し、単位を画素で示していて、横軸ｋは係数の大きさを示す。縦軸ｙの単位を画素としているが、副走査方向を示しているため、ラインを単位としてもよい。
【００７８】
図１４（ｂ）を用いてフィルタ処理について説明する。図１４（ｂ）は横軸にフィルタ処理に用いられる係数ｋ、縦軸に副走査方向の位置ｙを示す。フィルタ係数算出部４０４は、補正値設定部５０６から補正値Ｃｎを入力されると、フィルタ関数出力部５０５から入力されたフィルタ関数を用いて、補正値Ｃｎに対応する係数ｋｎを求める。図１４（ｂ）中の白丸は座標変換前の係数を示す。図１４（ｂ）中の黒丸は、補正値Ｃ１に対して係数ｋ１が、補正値Ｃ２に対して係数ｋ２が、それぞれフィルタ処理に用いられる係数ｋｎとして設定されたことを示す。本実施例では、入力された画像データの粗密の状態によらず、同じ畳み込み関数を適用し、理想の走査位置によってサンプリングすることで、入力された画像データの所定面積あたりの濃度が保存される。
【００７９】
注目ライン上で注目する画素（注目画素という）の一つ上の走査ライン上の画素に対するフィルタ係数は、式（２３）で表される。式（２３）中の変数ｙは、レジスタ４０１、４０２に格納された注目画素の１つ上の走査ラインの位置ずれ量を示す。
0006723848.tif 000004
注目画素に対するフィルタ係数は、式（２４）で表される。式（２４）中の変数ｙは、レジスタ４０１、４０２に格納された注目画素の走査ラインの位置ずれ量を示す。
0006723848.tif 000005
注目画素の一つ下の走査ラインの画素に対するフィルタ係数は、式（２５）で表される。式（２５）中の変数ｙはレジスタ４０１、４０２に格納された注目画素の走査ラインの位置ずれ量を示す。
0006723848.tif 000006
【００８０】
本実施例では、注目画素の補正値を算出する際に、注目画素が含まれる所定の走査線と、所定の走査線を基準として副走査方向における進み方向及び戻り方向の所定の範囲内に含まれる走査線群と、を対象としている。
【００８１】
＜フィルタ演算の方法＞
フィルタ演算部４０５の詳細を図１５に示す。図２で説明したようにフィルタ演算部４０５には、画像データと、フィルタ係数算出部４０４からフィルタ係数が入力される。フィルタ演算部４０５は、入力された画像データとフィルタ係数に基づいて、畳み込み演算（フィルタ処理）を行う。また、フィルタ演算部４０５は、演算した結果を誤差拡散処理部５０２、及びＰＷＭ信号生成部５０３を介してレーザ駆動回路３０４に出力する。フィルタ演算部４０５は、ＦＩＦＯメモリ３００１、３００２、３００３と、乗算器Ｍ０、Ｍ１、Ｍ２と、加算器Ａ０と、を有している。
【００８２】
画像形成が開始されると、フィルタ演算部４０５にはフィルタ係数と画像データが入力される。ＦＩＦＯメモリ３００２には注目ラインの１走査ライン分の画像データが逐次格納される。ＦＩＦＯメモリ３００１には注目ラインの一つ上の走査ラインの１走査ライン分の画像データが、ＦＩＦＯ３００３には注目ラインの一つ下の走査ラインの１走査ライン分の画像データが、夫々逐次格納される。
【００８３】
乗算器Ｍ０には、ＦＩＦＯメモリ３００１に格納された注目ラインの一つ上の走査ラインの画像データと、式（２３）で表されるフィルタ係数ｋ１が入力され、乗算した結果が加算器Ａ０に出力される。乗算器Ｍ１には、ＦＩＦＯメモリ３００２に格納された注目ラインの画像データと、式（２４）で表されるフィルタ係数ｋ２が入力され、乗算した結果が加算器Ａ０に出力される。乗算器Ｍ２には、ＦＩＦＯメモリ３００１に格納された注目ラインの一つ下の走査ラインの画像データと、式（２５）で表されるフィルタ係数ｋ３が入力され、乗算した結果が加算器Ａ０に出力される。加算器Ａ０は、乗算器Ｍ０〜Ｍ２から入力された値を加算し、出力する。フィルタ係数算出部４０４は、フィルタ関数出力部５０５から得たフィルタ関数の情報と、補正値設定部５０６から出力された補正値Ｃの情報と、に基づいて、フィルタ処理に用いられる係数ｋをフィルタ演算部４０５に出力する。
【００８４】
（フィルタ処理の具体例）
本実施例の座標変換を行った後の座標位置に基づいて、式（２３）〜式（２５）の線形補間によるフィルタ関数で畳み込み演算を用いたフィルタ処理を行う具体例を、図１６を用いて説明する。畳み込み演算を用いたフィルタ処理は、フィルタ演算部４０５により実行される。図１６は、図１０に対応している。図１６の左側の列は、座標変換後の入力画素を示している。図１６の右側の列は、座標変換後の感光ドラム１０２上の走査位置を示している。即ち、図１６の右側の列の走査位置が、均等な間隔で、且つ、距離１となるように座標変換されている。
【００８５】
より詳細には、座標変換後の入力画素の副走査方向の走査位置は、図１１及び図１３の右側に示す座標変換後のグラフの一点鎖線で示す直線（ｙ’＝ｆｓ’（ｎ））で表される。座標変換後の感光ドラム１０２上の走査位置は、図１１及び図１３の右側に示す座標変換後のグラフの実線で示す直線（ｙ’＝ｆｔ’（ｎ））で表される。例えば、図１１（ａ）では、シフト量が＋０．２（＝Ｓ）であるため、座標変換後は、ｆｓ’（ｎ）＝ｙ−０．２＝ｎ−０．２で表される。
【００８６】
図１６では、画素値、即ち濃度値の大きさを丸の濃淡で示している。括弧内の数字は走査ラインの番号であり、図１０に記載した画素番号と同じである。図１６の中央のグラフは、横軸に濃度、縦軸に副走査方向の位置を示している。畳み込み演算では、入力画素の各座標位置を中心としたフィルタ関数（図１４（ａ））に画素値を乗算した波形Ｗ（画素（１）〜（５）に対する波形Ｗ１〜Ｗ５）を展開し、重ね合わせて加算する。
【００８７】
図１６（ａ）から順に説明する。白丸で示す画素（１）、（５）は濃度０、即ち画素値０である。このため、フィルタ関数に画素値を乗じたＷは、それぞれ波形Ｗ１＝０、波形Ｗ５＝０である。黒丸で示す画素（２）、（３）、（４）の濃度は等しく、波形Ｗ２、Ｗ３、Ｗ４の最大値は等しくなり、入力画素の画素位置を中心にフィルタ関数を展開した波形となる。畳み込み演算の結果は、全ての波形の総和（ΣＷｎ、ｎ＝１〜５）である。
【００８８】
出力画素の画素値は、走査位置を座標変換した後の感光ドラム１０２上の走査位置でサンプルする。このため、例えば感光ドラム１０２上の走査位置に対応する画素値（１）は、波形Ｗ２と点Ｐ０で交わるので、濃度Ｄ１と演算される。画素値（２）は、波形Ｗ２と点Ｐ２で、波形Ｗ３と点Ｐ１でそれぞれ交わるので、濃度Ｄ１＋Ｄ２と演算される。以下、同様に画素値（３）〜（５）を求める。尚、画素値（５）は、どの波形とも交わらないので、画素値を０とする。また、図１６（ｂ）〜図１６（ｄ）の（１）〜（５）の画素値を演算した結果を、各右側の列の画素の濃淡で示している。
【００８９】
入力画素の位置ずれは、図１６の縦軸の各画素に対応して示している。図１６の縦軸に示す位置ずれ量は、入力画像の画素の副走査方向の走査位置の座標変換に従い、逆関数で求めた位置ずれ量の情報である。例えば、図１６（ａ）の場合、図１１（ａ）で説明したように、走査ラインの位置ずれ量Ｓの補正量Ｃは、−０．２である。また、例えば、図１６（ｃ）は式（２１）、図１６（ｄ）の場合は式（２２）をそれぞれ用いて算出した補正量Ｃである。
【００９０】
図１６（ａ）は、副走査方向の進み方向に走査ラインの走査位置がずれているが、画素値は逆の遅れ方向に重心がずれることとなるので、画素値の重心の位置が補正されている様子を示している。図１６（ｂ）は、副走査方向の戻り方向に走査ラインの走査位置がずれているが、画素値は逆の進み方向に重心がずれることとなるので、画素値の重心の位置が補正されている様子を示している。図１６（ｃ）は、走査位置の間隔が密な場合で、座標変換後の畳み込み演算によって濃度の分布が拡がり、濃度の局所的な集中をキャンセルして局所的な濃度変化を補正している様子を示している。図１６（ｄ）は、逆に走査位置の間隔が疎な場合で、座標変換後の畳み込み演算によって濃度の分布が縮まり、濃度の分散をキャンセルして局所的な濃度変化を補正している様子を示している。特に、図１６（ｄ）の画素値（３）は、１００％より濃い（１００＋α）％の濃度となっている。
【００９１】
（フィルタ処理）
図９の説明に戻る。図９のＳ３６０４でＣＰＵ３０３は、Ｓ３６０３で生成した補正用属性情報に基づき、フィルタ演算部４０５によりフィルタ処理を行う。詳細には、ＣＰＵ３０３は、入力画像への畳み込み演算と再サンプリングを行う。ここで、ＣＰＵ３０３が実行するＳ３６０４の処理を示した図１７のフローチャートを用いて詳細に説明する。ＣＰＵ３０３は、フィルタ演算部４０５により畳み込み演算によるフィルタ処理をスタートすると、Ｓ３７０３以降の処理を実行する。Ｓ３７０３でＣＰＵ３０３は、畳み込み関数の拡がりをＬとしたとき、注目する出力画像のラインｙｎの副走査位置の前後±Ｌ、即ち幅２Ｌの範囲（（ｙｓ−Ｌ）〜（ｙｓ＋Ｌ）の範囲）に含まれる入力画像のラインを抽出する。Ｌは畳み込み関数の＋Ｌ〜−Ｌの範囲外は畳み込み関数の値が０になる最小の値と定義する。例えば、図１４（ａ）の線形補間では、Ｌ＝１である。式（１８）を用い、対応する入力画像の範囲ｙｍｉｎ〜ｙｍａｘのｙｍｉｎ、ｙｍａｘは以下の条件を満たす。
ｆｔ−１（ｙｍｉｎ）＝ｙｎ−Ｌ、ｆｔ−１（ｙｍａｘ）＝ｙｎ＋Ｌ・・・式（２６）
式（２６）を変形することにより、ｙｍｉｎ、ｙｍａｘは、以下の式（２７）から求められる。
ｙｍｉｎ＝ｆｔ（ｙｎ−Ｌ）、ｙｍａｘ＝ｆｔ（ｙｎ＋Ｌ）・・・式（２７）
従って、注目する出力画像のラインｙｎに対して抽出される入力画像のラインは、ｙｍｉｎ〜ｙｍａｘの範囲の全ての整数のラインとなる。
【００９２】
注目する出力画像のラインｙｎと畳み込み演算の対象になる入力画像のラインをｙｍとしたとき、距離ｄｎｍは、以下の式（２８）で表される。
ｄｎｍ＝ｙｎ−ｆｔ−１（ｙｍ）・・・式（２８）
従って、Ｓ３７０４でＣＰＵ３０３は、フィルタ係数算出部４０４により、畳み込み関数ｇ（ｙ）として係数ｋｎｍを、以下の式で求める。
ｋｎｍ＝ｇ（ｄｎｍ）・・・式（２９）
【００９３】
Ｓ３７０５でＣＰＵ３０３は、ＢＤ信号を受信したときにスタートさせた内蔵のタイマを参照することにより、時間Ｔ１が経過したか否かを判断する。時間Ｔ１は、ＢＤ信号が出力されたタイミングから、レーザ光が感光ドラム１０２の主走査方向における画像領域の先端に到達するタイミングまでの時間である。Ｓ３７０５でＣＰＵ３０３は、時間Ｔ１が経過していないと判断した場合、Ｓ３７０５の処理に戻り、時間Ｔ１が経過したと判断した場合、Ｓ３７０６の処理に進む。Ｓ３７０６でＣＰＵ３０３は、主走査方向の位置ｘを初期化（１にセット）する。Ｓ３７０７でＣＰＵ３０３は、Ｓ３７０３で抽出した入力画像の副走査方向の位置と、注目する主走査方向の位置ｘの画素データを取得する。ここで、画素データを入力画素データＰｉｎｍとする。Ｓ３７０８でＣＰＵ３０３は、フィルタ演算部４０５により畳み込み演算を行う。より詳細には、フィルタ演算部４０５は、Ｓ３７０４で求めた対応する係数ｋｎｍと、Ｓ３７０７で取得した入力画素データＰｉｎｍを積和演算して、注目画素の値Ｐｏｕｔｎを求める。入力画素データＰｉｎｍは、フィルタ処理前の注目画素の濃度、注目画素の値Ｐｏｕｔｎは、出力画素データであり、フィルタ処理後の注目画素の濃度である。
0006723848.tif 000007
ここで、式（３０）は、図１６に対応しており、図１６の左側の丸の濃さ（濃度）は、入力画素データＰｉｎｍに対応し、図１６（ａ）のＤ１及びＤ２は、ｋｎｍ×Ｐｉｎｍに対応し、図１６の右側の丸の濃さ（濃度）は、Ｐｏｕｔｎに対応している。
【００９４】
Ｓ３７０９でＣＰＵ３０３は、主走査方向の位置ｘに１を加算する。Ｓ３７１０でＣＰＵ３０３は、１ラインが終了したか否か、即ち１ラインの最後の画素まで達したか否かを判断し、１ラインが終了していないと判断した場合はＳ３７０７の処理に戻り、１ラインが終了したと判断した場合は、フィルタ処理を終了する。本実施例では、図１５で説明したように、注目ラインと、１つ上の走査ライン、１つ下の走査ラインについてフィルタ処理を行う。
【００９５】
本実施例では、マルチビームの位置のばらつき又は回転多面鏡２０４のミラー面の面倒れによる照射位置のずれによる画像の歪み及び濃度むらを、入力画像の副走査方向の位置ずれのプロファイルに基づき入力画像の画素位置を座標変換する。その後、フィルタ処理、及びサンプリングすることで、各入力画素の濃度を保存しながら、位置ずれ、及びバンディングなどの局所的な濃度の偏りをキャンセルすることができ、良好な画像を得ることができる。
【００９６】
＜ビーム飛ばし制御＞
本実施例では、画像形成に使用される回転多面鏡２０４のミラー面を選択的に間引き、面飛ばし制御を行う例について示した。面飛ばし制御以外に、印刷速度を変更する方法としては、例えば、マルチビーム光源のうち、印刷に使用するビームを間引く方法があり、これをビーム飛ばし制御という。この場合、回転多面鏡２０４の全てのミラー面が使用されるが、例えば、８ビームのうち一部のビーム（例えば先頭の４ビーム）が点灯され、残りのビームが消灯される。ビーム飛ばし制御においても、プロセススピードは、ビーム飛ばし制御に応じて減速される。ビームを間引くビーム飛ばし制御を行う場合においても、レーザ光の走査に使用しないビームの位置ずれ情報を間引いた位置ずれ量のレジスタ４０２への格納又は位置ずれ量Ｚｍｎの算出及びフィルタ演算等を同様に行う。
【００９７】
本実施例では、間引き制御を用いた場合でも走査ライン毎に画像位置を所定の位置に調整することが可能となる。以上、本実施例によれば、間引き制御を行った場合においても、バンディング及び色ずれ等の画像不良を改善することができる。
【符号の説明】
【００９８】
２０１    レーザ光源
２０４    回転多面鏡
３０２    メモリ
３０３    ＣＰＵ
【図１】
0006723848.tif 000008
【図２】
0006723848.tif 000009
【図３】
0006723848.tif 000010
【図４】
0006723848.tif 000011
【図５】
0006723848.tif 000012
【図６】
0006723848.tif 000013
【図７】
0006723848.tif 000014
【図８】
0006723848.tif 000015
【図９】
0006723848.tif 000016
【図１０】
0006723848.tif 000017
【図１１】
0006723848.tif 000018
【図１２】
0006723848.tif 000019
【図１３】
0006723848.tif 000020
【図１４】
0006723848.tif 000021
【図１５】
0006723848.tif 000022
【図１６】
0006723848.tif 000023
【図１７】
0006723848.tif 000024
【図１８】
0006723848.tif 000025
【図１９】
0006723848.tif 000026