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