(57)【特許請求の範囲】
【請求項１】
画素クロックを生成する画素クロック生成装置と、前記画素クロック生成装置により生成された画素クロックに基づき、画像データに従ってパルス幅変調をしたパルス幅変調信号を生成するパルス幅変調装置とを備えた画像形成装置において、
前記画素クロック生成装置は、周期Ｔで互いに位相差Ｔ／Ｐずつ位相をずらした相数Ｐの多相クロックを生成する多相クロック生成手段と、入力される第１及び第２の同期信号の時間間隔を検出し、検出された時間間隔を目標値と比較して、目標値との誤差を出力する比較手段と、前記比較手段から出力される誤差に従って、画素クロック周波数の設定値を演算し、演算した画素クロック周波数の設定値に従って、画素クロック周波数を指示する周波数指示信号を出力する周波数演算手段と、前記多相クロックの位相差Ｔ／Ｐを単位時間とし、前記周波数指示信号に従って前記単位時間の数を計数することにより画素クロックの立上がり時刻及び立下り時刻を算出する計数手段と、前記多相クロックを基準とし、前記計数手段により算出される画素クロックの立上がり時刻および立下り時刻に従って画素クロックを生成する画素クロック出力手段とを備えており、
前記パルス幅変調装置は、前記画像データのドットの濃度を指示する濃度データを目標とする画素クロック周波数の逆数に比例して前記位相差Ｔ／Ｐを単位とするパルス幅データに変換するデータ変換手段と、前記計数手段により算出される画素クロックの立上がり時刻に基づき、前記パルス幅データに従って前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とを算出するエッジ時刻演算手段と、前記多相クロックを基準とし、前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とに従ってパルス幅変調信号を生成するパルス幅変調信号出力手段とを備えていることを特徴とする画像形成装置。
【請求項２】
請求項１記載の画像形成装置において、前記画像データがドットの位相を指示する位相データを含むものであって、前記エッジ時刻演算手段は、前記計数手段により算出される画素クロックの立上がり時刻に基づき、前記パルス幅データ及び前記位相データに従って前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とを算出することを特徴とする画像形成装置。
【請求項３】
請求項１または請求項２記載の画像形成装置において、前記パルス幅変調装置は、前記データ変換手段における目標とする画素クロック周波数と現在の画素クロック周波数との差に従って、前記パルス幅データを現在の画素クロック周波数に応じたデータへと補正するパルス幅データ補正手段を備え、前記エッジ時刻演算手段は、パルス幅データ補正手段によって補正されたパルス幅データに従って、前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とを算出することを特徴とする画像形成装置。
【請求項４】
請求項３記載の画像形成装置において、
前記画素クロック生成装置の前記周波数演算手段は、前記第１及び第２の同期信号間の期間を複数に分割した領域に対応させて、前記画素クロック周波数の設定値からの差分データである周波数変調データを生成する周波数変調データ生成手段と、前記画素クロック周波数の設定値と前記周波数変調データとを加算し、この加算値に従って画素クロック周波数を指示する周波数指示信号を出力する周波数変調手段とを備え、
前記パルス幅データ補正手段は、前記周波数変調データに従ってデータの補正を行うことを特徴とする画像形成装置。
【請求項５】
パルス幅変調装置によって生成されたパルス幅変調信号で光源を駆動し、前記光源から出力される光束を被走査媒体上に走査して画像を形成する画像形成装置において、
前記パルス幅変調装置は、周期Ｔで互いに位相差Ｔ／Ｐずつ位相をずらした相数Ｐの多相クロックを生成する多相クロック生成手段と、入力される第１及び第２の同期信号の時間間隔を検出し、検出された時間間隔を目標値と比較して、目標値との誤差を出力する比較手段と、前記比較手段から出力される誤差に従って、画素クロック周波数の設定値を演算し、演算した画素クロック周波数の設定値に従って、画素クロック周波数を指示する周波数指示信号を出力する周波数演算手段と、前記多相クロックの位相差Ｔ／Ｐを単位時間とし、前記周波数指示信号に従って前記単位時間の数を計数することにより画素クロックの立上がり時刻及び立下り時刻を算出する計数手段と、画像データのドットの濃度を指示する濃度データを目標とする画素クロック周波数の逆数に比例して前記位相差Ｔ／Ｐを単位とするパルス幅データに変換するデータ変換手段と、前記計数手段により算出する画素クロックの立上がり時刻に基づき、前記パルス幅データに従って前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とを算出するエッジ時刻演算手段と、前記多相クロックを基準とし、前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とに従ってパルス幅変調信号を生成するパルス幅変調信号出力手段とを備えていることを特徴とする画像形成装置。
【請求項６】
パルス幅変調装置によって生成されたパルス幅変調信号で光源を駆動し、前記光源から出力される光束を被走査媒体上に走査して画像を形成する画像形成装置において、
前記パルス幅変調装置は、周期Ｔで互いに位相差Ｔ／Ｐずつ位相をずらした相数Ｐの多相クロックを生成する多相クロック生成手段と、入力される第１及び第２の同期信号の時間間隔を検出し、検出された時間間隔値を目標値と比較して、目標値との誤差を出力する比較手段と、前記比較手段から出力される誤差に従って、画素クロック周波数の設定値を演算し、演算した画素クロック周波数の設定値に従って、画素クロック周波数を指示する周波数指示信号を出力する周波数演算手段と、前記第１及び第２の同期信号間の期間を複数に分割した領域に対応させて、前記画素クロック周波数の設定値からの差分データである周波数変調データを生成する周波数変調データ生成手段と、前記画素クロック周波数の設定値と前記周波数変調データとを加算し、この加算値に従って画素クロック周波数を指示する周波数指示信号を出力する周波数変調手段と、前記多相クロックの位相差Ｔ／Ｐを単位時間とし、前記周波数指示信号に従って前記単位時間の数を計数することにより画素クロックの立上がり時刻及び立下り時刻を算出する計数手段と、画像データのドットの濃度を指示する濃度データを目標とする画素クロック周波数の逆数に比例して前記位相差Ｔ／Ｐを単位とするパルス幅データに変換するデータ変換手段と、前記周波数変調データに従って前記パルス幅データを補正するパルス幅データ補正手段と、前記計数手段により算出される画素クロックの立上がり時刻に基づき、前記補正されたパルス幅データに従って前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とを算出するエッジ時刻演算手段と、前記多相クロックを基準とし、前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とに従ってパルス幅変調信号を生成するパルス幅変調信号出力手段とを備えていることを特徴とする画像形成装置。
【請求項７】
請求項５または請求項６記載の画像形成装置において、前記データ変換手段は、前記目標とする画素クロック周波数の逆数をパルス幅データの最大値とし、かつ、前記濃度データと形成された画像の濃度との非線形性特性を補正することを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関する。
【背景技術】
【０００２】
図２６は、レーザプリンタ、デジタル複写機等の画像形成装置の一般的な概略構成を示す図である。図２６において、半導体レーザユニット１００９から発光されたレーザ光は、回転するポリゴンミラー１００３によりスキャンされ、走査レンズ１００２を介して被走査媒体である感光体１００１上に光スポットを形成し、該感光体１００１を露光して静電潜像を形成する。このとき、１ライン毎に、フォトディテクタ１００４が走査ビームを検出する。
【０００３】
位相同期回路１００６は、クロック生成回路１００５からのクロックを入力し、フォトディテクタ１００４の出力信号に基づいて、１ライン毎に、位相同期のとれた画像クロック（画素クロック）を生成して、画像処理ユニット１００７とレーザ駆動回路１００８へ供給する。また、半導体レーザユニット１００９は、画像処理ユニット１００７により生成された画像データと位相同期回路１００６により１ライン毎に位相が設定された画像クロックに従い、半導体レーザの発光時間をコントロールすることにより、感光体１００１上の静電潜像の形成をコントロールする。
【０００４】
このような走査光学系において、走査速度のムラは画像の揺らぎとなり画像品質の劣化を招く。特にカラー画像においては、各色の主走査ドット位置ずれが生じるため色ずれを生じ、色再現性の劣化、解像度の劣化を招く。従って高品位の画質を得るためには走査速度ムラの補正は不可欠である。
【０００５】
この走査速度ムラ（誤差）は大別すると以下のものが挙げられる。それぞれについて主な要因を述べる。
【０００６】
（１）ポリゴンミラーの面毎（走査ライン毎）の誤差（以下、適宜、面毎の誤差と称する）。
このような走査速度ムラを引き起こす要因としては、ポリゴンミラー等の偏向器の偏向反射面の回転軸からの距離のばらつき（すなわちポリゴンミラーの偏芯）や、ポリゴンミラーの各面の面精度などがある。この種の誤差は数ライン（例えばポリゴンミラーの面数分のライン数）の周期性を持った誤差となる。
【０００７】
（２）走査平均速度変動による誤差。
走査平均速度とはポリゴンミラーの各面の走査速度の平均を示し、このような走査速度ムラを引き起こす要因としては、ポリゴンミラーの回転速度の変動や、温度、湿度や振動等の種々の環境変動による走査光学系の変動によるものがある。また温度変動等により光源である半導体レーザの発振波長が変化するため走査光学系の色収差により走査速度が変動するものなどがある。この種の誤差は比較的緩やかな変動となる。
【０００８】
（３）光源毎の誤差。
例えば半導体レーザアレイ等の複数の光源を備え、共通の走査光学系で複数の光ビームを同時に走査するマルチビーム光学系の場合に生じる走査速度ムラである。この主な要因としては、各光源の発振波長に差があり、走査光学系の色収差により走査速度が変動する。なお、発振波長の変動は光源毎に異なるので、前述の（２）の誤差は光源毎に異なることもある。また、複数の光源の組み付け精度によっても複数ビームの走査速度に差を生じる。
【０００９】
（４）走査光学系毎の誤差。
複数の感光体・走査光学系を備えて多色対応とした画像形成装置の場合には、各走査光学系の走査速度差が画像品質に大きく影響する。この主な要因は、走査光学系の各部品の製造精度や組付け精度、経時変化などによる変形などがある。また、光源も異なるので、前述の（３）の誤差も生じる。この誤差は、走査平均速度そのものが異なり、さらに上記誤差（１）、（２）が個別に生じる。なお、画像形成装置の中には走査光学系の一部ユニットを共通に用いるものもあるが、それぞれの光源から被走査媒体（感光体）への光路は異なるので、これも（４）に含む。
【００１０】
これらの走査速度の誤差を補正する方法として、例えば特許文献１に示されているように、画素クロックの周波数を走査速度に応じて変化させる方法がある。これは、走査の開始から終了までの画素クロックのカウント数が所定値になるよう画素クロックを発生させる発振器の周波数を制御（いわゆるＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）制御）するものである。
【００１１】
しかしながら、従来の画素クロック周波数の制御方法では次のような問題があった。すなわち、位相比較を行う基準クロックの周波数が１ラインの周波数であるので、発振する画素クロックに対して極めて低く（数千〜数万分の１）、充分なＰＬＬのオープンループゲインが確保できず、充分な制御精度を得ることができない。また、外乱にも弱く、クロック周波数が変動してしまい、精度の良いクロックが生成できない。さらには、特許文献１のようにして面毎の誤差を補正する場合は、１走査毎に発振器であるＶＣＯの制御電圧を変化させるため、クロック周波数が安定して発振するまでに時間を要してしまう。
【００１２】
また、走査速度の誤差を補正する別の方法として、例えば特許文献２に示されているように、生成した高周波クロックを基に画素クロックの位相制御を行う方法がある。これは、走査の開始から終了までの高周波クロックのカウント数が所定値になるよう画素クロックの位相を制御するものである。この高周波クロックは例えば水晶発振器のような精度のよいクロックを基準クロックとして生成できるので、精度のよいクロックが得られ、これを基準に画素クロックの位相制御を行うので、画素クロックの制御精度もよいものが生成できる。
【００１３】
しかしながら、画素クロックの位相制御を適宜行うことにより、走査速度の誤差を補正しているため、この１走査ライン分の位相制御データを生成する必要があり、さらに画素クロックの位相変化による局所的な偏差を低減するためには、すなわち高精度な画素クロックを生成するためには、高分解能な位相制御を行う必要があるので、位相制御データが増大する。よって、この位相制御データを高速かつ高精度に生成することは容易ではなかった。また、面毎の誤差を補正する装置に適用する場合には、面毎に位相制御データを生成する必要があり、高精度な補正をするためには膨大な位相制御データの生成と格納が必要になり、容易に実現できるものではなかった。さらに、走査光学系の各ユニットの精度誤差や組付け誤差により、１ラインの走査中にも走査速度の変動が生じる。
【００１４】
（５）非線形性誤差。
図２７（ａ）は１ライン中の走査速度の非線形性誤差の一例を示す図である。ここで、横軸ｘは走査ラインの位置であり、縦軸は位置ｘに対する走査速度Ｖ（ｘ）である。また、一点鎖線Ｖａｖｇは１ライン中の走査速度の平均値である。このような走査速度変動が生じた時、一定速度で走査した理想値からのずれΔは図２７（ｂ）のようになる。これは、すなわちドット位置ずれを意味し、画像劣化を招く。なお、図２７において位置Ｘ２からＸ１の方向に走査する場合は、理想値からのずれΔは点線のようになる。従って、特にこのように走査中心に対して非対称な位置ずれを生じる走査光学系において走査を双方向に行う場合、色ずれが大きくなり、画像劣化は重大となる。さらにはポリゴンミラーの各面の面精度により、この非線形性誤差の誤差量及び分布は面毎に異なることもある。また、この誤差は走査光学系毎にも異なる。
【００１５】
このような走査速度の非線形性誤差を補正する方法として、例えば特許文献３に示されているように、走査ライン中の位置に対応して画素クロックの周波数を変調し補正する方法がある。しかしながら、画素クロックの中心周波数の生成が従来と同様のため、前述したように精度よいクロックが生成できず、十分な補正ができないため、高画質化の要求に対しては不十分であった。
【特許文献１】特開２００１−１８３６００号公報
【特許文献２】特開２００４−２６２１０１号公報
【特許文献３】特開２０００−１５２００１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明は上記の問題を鑑みてなされたものであり、様々な要因により生じる走査速度の誤差及び非線形性誤差を高精度に補正できる画素クロックを生成し、この画素クロックに基づいて階調再現性の高く、高分解能なパルス幅変調を行うことの可能な画像形成装置を提供することを目的としている。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、請求項１記載の発明は、画素クロックを生成する画素クロック生成装置と、前記画素クロック生成装置により生成された画素クロックに基づき、画像データに従ってパルス幅変調をしたパルス幅変調信号を生成するパルス幅変調装置とを備えた画像形成装置において、前記画素クロック生成装置は、周期Ｔで互いに位相差Ｔ／Ｐずつ位相をずらした相数Ｐの多相クロックを生成する多相クロック生成手段と、入力される第１及び第２の同期信号の時間間隔を検出し、検出された時間間隔を目標値と比較して、目標値との誤差を出力する比較手段と、前記比較手段から出力される誤差に従って、画素クロック周波数の設定値を演算し、演算した画素クロック周波数の設定値に従って、画素クロック周波数を指示する周波数指示信号を出力する周波数演算手段と、前記多相クロックの位相差Ｔ／Ｐを単位時間とし、前記周波数指示信号に従って前記単位時間の数を計数することにより画素クロックの立上がり時刻及び立下り時刻を算出する計数手段と、前記多相クロックを基準とし、前記計数手段により算出される画素クロックの立上がり時刻および立下り時刻に従って画素クロックを生成する画素クロック出力手段とを備えており、前記パルス幅変調装置は、前記画像データのドットの濃度を指示する濃度データを目標とする画素クロック周波数の逆数に比例して前記位相差Ｔ／Ｐを単位とするパルス幅データに変換するデータ変換手段と、前記計数手段により算出される画素クロックの立上がり時刻に基づき、前記パルス幅データに従って前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とを算出するエッジ時刻演算手段と、前記多相クロックを基準とし、前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とに従ってパルス幅変調信号を生成するパルス幅変調信号出力手段とを備えていることを特徴としている。
【００１８】
また、請求項２記載の発明は、請求項１記載の画像形成装置において、前記画像データがドットの位相を指示する位相データを含むものであって、前記エッジ時刻演算手段は、前記計数手段により算出される画素クロックの立上がり時刻に基づき、前記パルス幅データ及び前記位相データに従って前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とを算出することを特徴としている。
【００２０】
また、請求項３記載の発明は、請求項１または請求項２記載の画像形成装置において、前記パルス幅変調装置は、前記データ変換手段における目標とする画素クロック周波数と現在の画素クロック周波数との差に従って、前記パルス幅データを現在の画素クロック周波数に応じたデータへと補正するパルス幅データ補正手段を備え、前記エッジ時刻演算手段は、パルス幅データ補正手段によって補正されたパルス幅データに従って、前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とを算出することを特徴としている。
【００２１】
また、請求項４記載の発明は、請求項３記載の画像形成装置において、前記画素クロック生成装置の前記周波数演算手段は、前記第１及び第２の同期信号間の期間を複数に分割した領域に対応させて、前記画素クロック周波数の設定値からの差分データである周波数変調データを生成する周波数変調データ生成手段と、前記画素クロック周波数の設定値と前記周波数変調データとを加算し、この加算値に従って画素クロック周波数を指示する周波数指示信号を出力する周波数変調手段とを備え、前記パルス幅データ補正手段は、前記周波数変調データに従ってデータの補正を行うことを特徴としている。
【００２２】
また、請求項５記載の発明は、パルス幅変調装置によって生成されたパルス幅変調信号で光源を駆動し、前記光源から出力される光束を被走査媒体上に走査して画像を形成する画像形成装置において、前記パルス幅変調装置は、周期Ｔで互いに位相差Ｔ／Ｐずつ位相をずらした相数Ｐの多相クロックを生成する多相クロック生成手段と、入力される第１及び第２の同期信号の時間間隔を検出し、検出された時間間隔を目標値と比較して、目標値との誤差を出力する比較手段と、前記比較手段から出力される誤差に従って、画素クロック周波数の設定値を演算し、演算した画素クロック周波数の設定値に従って、画素クロック周波数を指示する周波数指示信号を出力する周波数演算手段と、前記多相クロックの位相差Ｔ／Ｐを単位時間とし、前記周波数指示信号に従って前記単位時間の数を計数することにより画素クロックの立上がり時刻及び立下り時刻を算出する計数手段と、画像データのドットの濃度を指示する濃度データを目標とする画素クロック周波数の逆数に比例して前記位相差Ｔ／Ｐを単位とするパルス幅データに変換するデータ変換手段と、前記計数手段により算出する画素クロックの立上がり時刻に基づき、前記パルス幅データに従って前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とを算出するエッジ時刻演算手段と、前記多相クロックを基準とし、前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とに従ってパルス幅変調信号を生成するパルス幅変調信号出力手段とを備えていることを特徴としている。
【００２３】
また、請求項６記載の発明は、パルス幅変調装置によって生成されたパルス幅変調信号で光源を駆動し、前記光源から出力される光束を被走査媒体上に走査して画像を形成する画像形成装置において、前記パルス幅変調装置は、周期Ｔで互いに位相差Ｔ／Ｐずつ位相をずらした相数Ｐの多相クロックを生成する多相クロック生成手段と、入力される第１及び第２の同期信号の時間間隔を検出し、検出された時間間隔値を目標値と比較して、目標値との誤差を出力する比較手段と、前記比較手段から出力される誤差に従って、画素クロック周波数の設定値を演算し、演算した画素クロック周波数の設定値に従って、画素クロック周波数を指示する周波数指示信号を出力する周波数演算手段と、前記第１及び第２の同期信号間の期間を複数に分割した領域に対応させて、前記画素クロック周波数の設定値からの差分データである周波数変調データを生成する周波数変調データ生成手段と、前記画素クロック周波数の設定値と前記周波数変調データとを加算し、この加算値に従って画素クロック周波数を指示する周波数指示信号を出力する周波数変調手段と、前記多相クロックの位相差Ｔ／Ｐを単位時間とし、前記周波数指示信号に従って前記単位時間の数を計数することにより画素クロックの立上がり時刻及び立下り時刻を算出する計数手段と、画像データのドットの濃度を指示する濃度データを目標とする画素クロック周波数の逆数に比例して前記位相差Ｔ／Ｐを単位とするパルス幅データに変換するデータ変換手段と、前記周波数変調データに従って前記パルス幅データを補正するパルス幅データ補正手段と、前記計数手段により算出される画素クロックの立上がり時刻に基づき、前記補正されたパルス幅データに従って前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とを算出するエッジ時刻演算手段と、前記多相クロックを基準とし、前記パルス幅変調信号の立ち上がり時刻と立ち下がり時刻とに従ってパルス幅変調信号を生成するパルス幅変調信号出力手段とを備えていることを特徴としている。
【００２４】
また、請求項７記載の発明は、請求項５または請求項６記載の画像形成装置において、前記データ変換手段は、前記目標とする画素クロック周波数の逆数をパルス幅データの最大値とし、かつ、前記濃度データと形成された画像の濃度との非線形性特性を補正することを特徴としている。
【発明の効果】
【００２５】
以上に説明したように、請求項１乃至請求項７記載の発明によれば、高精度に生成された多相クロック（ＶＣＬＫ０〜１５）を基準として画素クロックを生成し、走査時間の変動に合わせて画素クロック周波数を制御しているので、走査平均速度の変動があってもこの誤差を高精度に補正できる画素クロックが生成でき、さらに、画素クロック周波数をポリゴンミラーの各面に対応させてそれぞれ制御しているので、面毎の走査速度誤差があっても高精度に補正できる画素クロックが生成できる。さらには、走査速度の非線形性誤差を補正するようにして画素クロック周波数を変調しているので、より高精度な画素クロックが生成でき、この走査速度誤差を高精度に補正した画素クロックを基準にパルス幅変調信号を生成していることで、高品質な画像が得られる。また、パルス幅変調分解能を向上させても回路は煩雑になることも無く回路規模が増大することなく簡便な構成で実現できるため、分解能の高いパルス幅変調を行った変調データを生成できる。また、走査速度の非線形性誤差に応じた画素クロック周波数補正を行ってもその画素クロックの周波数変動に応じた補正がなされるので、走査速度の非線形誤差にかかわらず所望の濃度データに対して忠実な階調の画像が得られる。さらに、画素クロックの生成及びパルス幅変調データの生成は多相クロック（ＶＣＬＫ０〜１５）の位相差Ｔｖの単位で正確に制御できるので、多相クロックの発振周波数を高くしなくてもよく、回路の設計が容易となり、消費電流も低減できる。さらには、多相クロックの１つをさらに分周したクロックＧＣＬＫで動作するようにしているので、動作周波数がさらに低下され、消費電流の低減ができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施形態を図面に基づいて説明する。
【００２７】
まず、本発明の基本となる前述の誤差（１）〜（４）を補正するための基本実施形態について説明する。
【００２８】
（第１の実施形態）
図１は、本発明による画像形成装置の第１の実施形態の全体構成を示す図である。この画像形成装置では、光源としての半導体レーザ１０１からのレーザ光がコリメータレンズ１０２とシリンダーレンズ１０３を介することで整形され、その後、偏向器としてのポリゴンミラー１０４に入射することで、周期性を持って感光体１０５を走査するようにポリゴンミラー１０４から反射される。反射されたレーザ光は、ｆθレンズ１０６、ミラー１１０、及びトロイダルレンズ１０７を介して感光体１０５を照射し、光スポットを形成する。これにより、感光体１０５上には、半導体レーザ１０１の出力に応じた画像（静電潜像）が形成される。
【００２９】
また、ミラー１１０の両端には、フォトディテクタＰＤ１（１０８）、フォトディテクタＰＤ２（１０９）がそれぞれ配置されており、走査の開始と終了とが検出される。つまり、ポリゴンミラー１０４により反射されたレーザ光は感光体１０５を１ライン走査する前にＰＤ１に入射され、走査後にＰＤ２に入射される。それぞれのフォトディテクタＰＤ１，ＰＤ２では、入射されたレーザ光をそれぞれ第１の同期信号ＳＰＳＹＮＣ及び第２の同期信号ＥＰＳＹＮＣに変換し、画素クロック生成部１１１に供給する。画素クロック生成部１１１は、２つの同期信号ＳＰＳＹＮＣ及びＥＰＳＹＮＣから、ＰＤ１とＰＤ２との間をレーザ光が走査される時間間隔を測定し、その時間間隔に予め定められた所定数のクロックが収まるように求められた周波数の画素クロックＰＣＬＫを生成し、それを画像処理部１１２とレーザ変調データ生成部１１３に供給する。この画素クロック生成部１１１の構成については後述する。フォトディテクタＰＤ１の出力信号である第１の同期信号ＳＰＳＹＮＣは、ライン同期信号として画像処理部１１２にも与えられる。画像処理部１１２は、画素クロックＰＣＬＫを基準に画像データを生成する。変調データ生成部１１３は、画素クロックＰＣＬＫを基準として、入力された画像データから変調データを生成し、レーザ駆動部１１４を介して半導体レーザ１０１を駆動する。
【００３０】
次に、上述の画像形成装置における画素クロック生成部１１１の詳細についてに基づき説明する。
【００３１】
図２は、本発明による画素クロック生成部の第１の構成例を示す図である。図２の画素クロック生成部において、高周波クロック生成部１は、基準クロックＲｅｆＣＬＫを基に、逓倍した高周波クロックＶＣＬＫを生成するものであり、一般的なＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路により構成される。入力する基準クロックＲｅｆＣＬＫに例えば精度のよい水晶発振器出力を用いることにより、精度のよい高周波クロックＶＣＬＫが得られる。この高周波クロックＶＣＬＫを基準に画素クロックＰＣＬＫが生成される。すなわち、分周器４は、高周波クロックＶＣＬＫをＭ分周した画素クロックＰＣＬＫを生成する。これは、例えばＭ進カウンタにより構成され、カウント値ｃｏｕｎｔＭを出力する。ここで、同期信号ＳＰＳＹＮＣの立ち上がりでカウントを開始するようにすれば、走査開始時点に位相同期した画素クロックが生成できる。また、分周比Ｍは周波数演算部７からの画素クロック周波数指示信号Ｍｎｏｗに従って変更される。このように、画素クロックＰＣＬＫは、安定かつ高精度に発振させた高周波クロックＶＣＬＫを分周することにより生成されるので、この分周比を変更することにより瞬時にかつ安定に画素クロック周波数を変更することが可能となる。よって、ライン毎周波数を変更しても瞬時に移行できる。
【００３２】
第１エッジ検出部２は、第１の同期信号ＳＰＳＹＮＣの立ち上がりエッジを高周波クロックＶＣＬＫを基準として検出するものであり、同期信号ＳＰＳＹＮＣの立ち上がりを検出すると画素クロックＰＣＬＫに同期した検出パルスＳＰｐｌｓを出力する。
【００３３】
第２エッジ検出部３は、第２の同期信号ＥＰＳＹＮＣの立ち上がりエッジを高周波クロックＶＣＬＫを基準として検出し、検出パルスＥＰｐｌｓとカウント値ＥＰｍを出力する。
【００３４】
比較部５は、２つの同期信号ＳＰＳＹＮＣ，ＥＰＳＹＮＣ間の時間Ｔｌｉｎｅを検出し、書き込み周波数と２つのフォトディテクタＰＤ１，ＰＤ２間の距離とに応じて予め定められた基準時間と計測した時間Ｔｌｉｎｅとの差を当該ラインの誤差Ｌｅｒｒとして算出する。つまり、適正な走査時間（基準時間）と当該ラインの走査時間Ｔｌｉｎｅとの差が走査速度の誤差である。
【００３５】
この誤差Ｌｅｒｒは、高周波クロックＶＣＬＫを基準としてカウントし演算を行っても良いが、高周波クロックＶＣＬＫは非常に高周波であり、またカウントするビット数も非常に大きくなるので、回路規模，消費電力の点で不利である。そこで、本発明では、時間Ｔｌｉｎｅを画素クロックＰＣＬＫを基準としてカウントし、基準値ＲｅｆＮとの比較を行ない、最後に高周波クロック基準の当該ラインの誤差Ｌｅｒｒとして変換している。
【００３６】
フィルタ６は、ライン誤差Ｌｅｒｒをフィルタリングして誤差データＥｒｒを出力するデジタルフィルタであり、例えば簡単には、直近の複数ライン分の誤差Ｌｅｒｒを平均して誤差データＥｒｒを得る。
【００３７】
周波数演算部７は、誤差データＥｒｒに従って適正な画素クロック周波数を算出し、これを画素クロック周波数指示信号Ｍｎｏｗに変換して出力する。高周波クロック周期をＴｖ、画素クロック周期をＴｐとし、今、Ｔｐ＝ＫＴｖとして画素クロック周波数を設定して走査した時、目標値Ｔｐ’（Ｔｐ’＝Ｋ’Ｔｖ）との誤差Ｅｒｒが入力される。従って、ＲｅｆＮ・Ｔｐ’＝ＲｅｆＮ・Ｔｐ＋Ｅｒｒ・Ｔｖであるので、
Ｋ’＝Ｋ＋Ｅｒｒ／ＲｅｆＮ      （式１）
としてＫ’を設定するようにすれば、画素クロック周波数を目標値に制御することができる。
【００３８】
つまり、分周器４と比較部５とフィルタ６と周波数演算部７とでデジタルＰＬＬ制御を行っている。そして、フィルタ６の特性がこのＰＬＬ制御特性を決定し、制御系が安定になるようにフィルタ特性が決定される。また、Ｋ’＝Ｋ＋α・Ｅｒｒ／ＲｅｆＮとしてループゲインを変えるようにしても良い。
【００３９】
また、分周器４の分周比Ｍは自然数であるので、画素クロック周波数の設定値Ｋを次のようにして画素クロック周波数指示信号Ｍｎｏｗに変換すると、まるめ誤差を低減することができ、より精度のよい画素クロックが得られる。例えば、通常は設定値Ｋを四捨五入して整数にまるめた値をＭとし、Ｍｎｏｗ＝Ｍとし、画素クロックのＣサイクルに１回、Ｍｎｏｗ＝Ｍ＋１またはＭ−１とすることにより、Ｋ＝（Ｍ±１／Ｃ）となり、丸め誤差を低減できる。また、丸め誤差の振り分けも均等に行えるので、画素クロックの局所的な偏差も抑えられる。この場合は前記Ｍ値とＣ値を制御するようにすればよい。詳細な説明は後述する。
【００４０】
図３は、図２の画素クロック生成部における信号の一例を示すタイミング図である。また、図４は比較部５の詳細構成例を示す図である。図３と図４とを参照して、比較部５の動作の詳細説明を行う。
【００４１】
図３において、（ａ）ＳＰＳＹＮＣは走査開始を示す第１の同期信号であり、第１エッジ検出部２に入力される。（ｂ）ＥＰＳＹＮＣは走査終了を示す第２の同期信号であり、第２エッジ検出部３に入力される。（ｃ）ＶＣＬＫは高周波クロック生成部１で生成される高周波クロックの立ち上がりエッジを示している。（ｄ）ｃｏｕｎｔＭは分周器４で高周波クロックＶＣＬＫを基準としてカウントされるカウント値であり、（ｅ）ＰＣＬＫは（ｄ）ｃｏｕｎｔＭが０の時立ち上がる画素クロックである。（ｆ−１）ＳＰｐｌｓ及び（ｆ−２）ＥＰｐｌｓはそれぞれ（ａ）ＳＰＳＹＮＣ、（ｂ）ＥＰＳＹＮＣの立ち上がりを示すＰＣＬＫに同期したパルスである。（ｇ−２）ＥＰｍは、（ｂ）ＥＰＳＹＮＣの立ち上がり時の（ｄ）ｃｏｕｎｔＭの値である。（ｈ）は比較部５にある画素クロックＰＣＬＫ基準でカウントするカウンタの値であり、（ｆ−１）ＳＰｐｌｓで０にリセットされ、（ｆ−２）ＥＰｐｌｓでカウントが停止される。
【００４２】
図４の比較部５において、カウンタ１１は、画素クロックＰＣＬＫを基準にカウントするカウンタであり、ＳＰｐｌｓで０にリセットされ、ＥＰｐｌｓでカウントを停止する。減算器１２はカウント停止後のカウンタ１１の値ｃｏｕｎｔＮ（図３ではｎ）から基準カウント値ＲｅｆＮの減算を行い、減算結果ｄｉｆｆＮを出力する。誤差演算部１３は、下記の演算を行い高周波クロックＶＣＬＫ周期Ｔｖを単位とする誤差Ｌｅｒｒを出力する。
Ｌｅｒｒ＝ｄｉｆｆＮ・Ｋ＋ＥＰｍ
ここで、ｄｉｆｆＮ＝ｎ−ＲｅｆＮ，ＥＰｍ＝ｍ２，Ｔｐ＝Ｋ・Ｔｖ，Ｔｐ：ＰＣＬＫの周期である。
【００４３】
また、２つのフォトディテクタＰＤ１，ＰＤ２間の距離がドット幅の整数倍でない場合、つまり基準時間が目標とする画素クロック周期の整数倍でない場合、その端数を高周波クロックＶＣＬＫのサイクル数に換算し、これをＲｅｆＭとして誤差演算部１３に入力し、Ｌｅｒｒ＝ｄｉｆｆＮ・Ｋ＋ＥＰｍ−ＲｅｆＭ
と演算するようにすると、より正確な画素クロック周波数の制御が行えるようになる。
【００４４】
図５は周波数演算部７の詳細構成例を示す図である。ここでは、ポリゴンミラーは６面構成であるとし、面毎の誤差を補正するため面毎に画素クロック周波数を制御する。
【００４５】
演算部１６は、現在の設定値Ｍ，Ｃ，Ｒと誤差データＥｒｒとから次の設定値ＮｅｘｔＭ，ＮｅｘｔＣ，ＮｅｘｔＲを演算するものであり、この演算を演算面指示信号ＣａｌｃＮｏに従い、各面毎行う。このＭ，Ｃ，Ｒの関係は、上述したようにＴｐ＝（Ｍ±１／Ｃ）Ｔｖであり、Ｃ＝ＲｅｆＮ／Ｒである。これらの式と（式１）より、
ＮｅｘｔＭ＝Ｍ’、ＮｅｘｔＲ＝Ｒ’、ＲｅｆＮ＝Ｎｒと略記して、
Ｍ’＋Ｒ’／Ｎｒ＝Ｍ＋Ｒ／Ｎｒ＋Ｅｒｒ／Ｎｒ、Ｃ’＝Ｎｒ／Ｒ’
であるので、演算は次の手順で行う。
【００４６】
（１）  Ｒ＋Ｅｒｒ（＝ＴｍｐＲとする）を計算する。
（２）  ＴｍｐＲ＞Ｎｒ／２であれば、Ｍ’＝Ｍ＋１としてＲ’＝ＴｍｐＲ−Ｎｒとする。ＴｍｐＲ＜−Ｎｒ／２であれば、Ｍ’＝Ｍ−１としてＲ’＝ＴｍｐＲ＋Ｎｒとする。それ以外は、Ｍ’＝Ｍ、Ｒ’＝ＴｍｐＲとする。
（３）  Ｎｒ÷Ｒ’の商をＣ’とする。なお、Ｒ’＝０であれば、Ｃ’＝０とする。
【００４７】
レジスタ１７は上記の演算により求めたＭ値を保持しておくデータ保持部であり、保持する値はポリゴンミラーの各面毎Ｆ０Ｍ〜Ｆ５Ｍの値を保持する。また、更新信号Ｒｅｎｅｗに従い、対応するレジスタ値をＮｅｘｔＭに更新する。ここで、＊はポリゴンミラーの面番号０〜５をとるものとして、Ｆ＊はポリゴンミラーの面番号に対応する値であることを示す（以下同様）。なお、この面番号は相対的な関係を示すものであり、対応する値は自動的に制御されるので、実際の面と一致させる必要はない。
【００４８】
同様に、レジスタ１８は現在設定しているＣ値を保持しておくデータ保持部であり、レジスタ１９は現在設定しているＲ値を保持しておくデータ保持部である。それぞれ更新信号Ｒｅｎｅｗに従い対応するレジスタ値をＮｅｘｔＣ、ＮｅｘｔＲに更新する。
【００４９】
選択部２０は、面選択信号ＦＮｏに従い、Ｆ０Ｍ〜Ｆ５Ｍのうち対応するＭ値を選択出力するものである。同様に選択部２１は、面選択信号ＦＮｏに従い、Ｆ０Ｃ〜Ｆ５Ｃのうち対応するＣ値を選択出力するものである。なお、ＣｓｉｇｎはＣ値の符号を示す。
【００５０】
カウンタ２３は、ＰＣＬＫを基準としてＣ値をカウントする。カウントされるＣ値は０からＣ−１までである。カウント値がＣ−１となったとき、Ｃｓｉｇｎが正を示していれば＋１を、負を示していれば−１を出力し、それ以外の時は０を出力する。なお、Ｃ＝０の時は常に０を出力する。
【００５１】
加算部２２は選択部２０の出力するＭとカウンタ２３の出力する値を加算し、結果を画素クロック周波数指示信号Ｍｎｏｗとして出力する。よって、ＰＣＬＫのＣサイクルに１回、Ｍ値が＋１または−１されるように変換され、画素クロックの平均周期は（Ｍ±１／Ｃ）Ｔｖとなる。
【００５２】
演算制御部１５は、上述した演算を制御するものであり、演算面指示信号ＣａｌｃＮｏ、更新信号Ｒｅｎｅｗ及び面選択信号ＦＮｏを生成し出力する。これらの信号の出力については、以下のフローチャートとともに説明する。
【００５３】
図６は、演算制御部が信号を出力する手順を説明するフローチャートである。図６において、まずＳｔｅｐ１では、演算制御部１５は、ＦＮｏ＝０、ＣａｌｃＮｏ＝０として初期化を行う。次に、Ｓｔｅｐ２では、１ラインの走査が終了するまで待機する。つまりＥＰｐｌｓにより走査終了を検知するまで待機する。なお、待機時間には誤差データＥｒｒの演算が確定するまでの時間の猶予も含む。
【００５４】
次いで、Ｓｔｅｐ３では、演算制御部１５は、現在のＣａｌｃＮｏに対応した前述の演算を行う。Ｓｔｅｐ４では、現在のＣａｌｃＮｏに対応した更新信号Ｒｅｎｅｗをアクティブにし、各レジスタの値をＮｅｘｔ値に更新する。Ｓｔｅｐ５では、ＣａｌｃＮｏをインクリメントする。なお、ＣａｌｃＮｏ＝５の時は０に戻る。Ｓｔｅｐ６では、画素クロック周波数制御がロックしているか否かを示すロックフラグＬｏｃｋに従い分岐する。ここでロックフラグＬｏｃｋは、例えば、所定ラインの間（例えば６ラインとする）、誤差Ｌｅｒｒ（あるいは誤差データＥｒｒ）が所定の範囲内（面間誤差のバラツキ範囲や所望の制御精度などから決めればよく、例えば±２Ｍ以内とする）に収まっていれば、ロックしているとみなす信号で、この信号の生成部は例えばフィルタ６内に備えればよい。あるいは制御応答性より予め制御開始より所定時間（ライン数などで指定）を決めておき、この時間が経過したらＬｏｃｋ信号をアクティブにするようにしても良い。
【００５５】
Ｓｔｅｐ７では、Ｓｔｅｐ６の判定結果がＮｏの場合（つまりまだロックしていない場合）、全ての面で演算を行い設定値を更新したかを判定する。６面全て演算していればＦＮｏ＝ＣａｌｃＮｏとなるので、Ｓｔｅｐ８に移る。否であればＳｔｅｐ２に戻り、別の面の演算を行う。
【００５６】
Ｓｔｅｐ８では、ＦＮｏをインクリメントし（５の場合は０に戻る）、ＣａｌｃＮｏにＦＮｏを代入する（インクリメント後の値）。これにより画素クロック周波数指示信号Ｍｎｏｗに変換するＭ及びＣ値が次ラインの設定値に変更される。なお、ここまでの操作を次ラインの走査開始（ＳＰＳＹＮＣが検知される）までに行う。その後Ｓｔｅｐ２に戻り以上のルーチンを繰り返す。
【００５７】
演算制御部１５がこのように制御すれば、各面のクロック周波数が所定誤差内に収まるまでは、全ての面で誤差Ｅｒｒを縮小するように制御していくので、高速な引き込みができ、また所定誤差内に収まった後は各面毎個別に制御するので面間の誤差も低減され、高精度なクロック周波数制御ができる。
【００５８】
図７は、上述した制御方法による引き込み過程の様子の一例を示す図であり、横軸は時間、縦軸はライン誤差Ｌｅｒｒである。また黒丸は第０面に対応する誤差であり、その他の面の誤差は×で示す。また点線は６面分の誤差の平均値を示す。
【００５９】
図８は周波数演算部７の別の詳細構成例を示す図である。図８の構成例においても、演算制御部１５は図５のそれと同様にして、ここでの演算を制御する。演算部２５は、現在の設定値Ｍ，Ｆと誤差データＥｒｒとから次の設定値ＮｅｘｔＭ，ＮｅｘｔＦを演算し、この演算を演算面指示信号ＣａｌｃＮｏに従い、各面毎に行う。図８の構成例では、画素クロック周波数の設定値Ｋは、次のようにして画素クロック周波数指示信号Ｍｎｏｗに変換する。すなわち、設定値Ｋの整数部をＭとし、小数部をａ桁（２進数表記）の値Ｆに丸める。そして、２＾ａ（＝Ｎａとする）サイクルにＦ回、Ｍｎｏｗ＝Ｍ＋１とすることにより、Ｋ＝（Ｍ＋Ｆ／Ｎａ）と設定される。ここで、設定値による丸め誤差は最大Ｎｒｅｆ／Ｎａとなるので、所望の誤差許容値に収まるように小数部の桁数ａを決定すればよい。また、局所的な周波数偏差を抑えるため＋１するＦ回のサイクルは均等に振り分けられるようにする。この機能は変換部３１が担う（動作詳細は後述する）。よって、（式１）とこのＫの関係式により、ＮｅｘｔＦ＝Ｆ’と記して、
Ｋ’＋Ｆ’／Ｎａ＝Ｍ＋Ｆ／Ｎａ＋Ｅｒｒ／Ｎｒ
であるので、演算は次の手順で行う。
【００６０】
（１）  Ｆ＋Ｅｒｒ／Ｎｒ＊Ｎａ（＝ＴｍｐＦとする）を計算する。Ｎａは２＾ａであるので、＊Ｎａは被乗数（Ｅｒｒ／Ｎｒ）の上位ａビットを取ればよく、またＮｒはこの周波数制御を行っている間は固定であるので、予めＮｒの逆数を計算しておいてこれをＥｒｒに乗算すれば演算は簡便に行える。
【００６１】
（２）  ＴｍｐＦ＞Ｎａであれば、Ｍ’＝Ｍ＋１、Ｆ’＝ＴｍｐＦ−Ｎａとする。ＴｍｐＦ＜０であれば、Ｍ’＝Ｍ−１、Ｆ’＝ＴｍｐＦ＋Ｎａとする。
【００６２】
図５の場合と同様に、レジスタ２６は上記の演算により求められたＭ値を保持しておくデータ保持部である。レジスタ２７は、同様にＦ値を保持しておくデータ保持部である。これら保持する値はポリゴンミラーの各面毎Ｆ０〜Ｆ５に対応して保持する。そして、それぞれ更新信号Ｒｅｎｅｗに従い対応するレジスタ値をＮｅｘｔＣ、ＮｅｘｔＲに更新する。
【００６３】
選択部２８は、面選択信号ＦＮｏに従い、Ｆ０Ｍ〜Ｆ５Ｍのうち対応するＭ値を選択出力するものである。同様に選択部２９は、面選択信号ＦＮｏに従い、Ｆ０Ｆ〜Ｆ５Ｆのうち対応するＣ値を選択出力する。
【００６４】
カウンタ３０は、ＰＣＬＫを基準にカウントするａビットカウンタであり、そのカウント値ｃｏｕｎｔＡを出力する。変換部３１は、カウント値ｃｏｕｎｔＡに従い、Ｎａ（＝２＾ａ）サイクル中、Ｆサイクルは「１」を、残りのＮａ−Ｆサイクルは「０」として信号ＵＰを出力する。このＵＰ信号の生成は、カウント値ｃｏｕｎｔＡ［ａ−１：０］のビット並びを逆転させたｃｏｕｎｔＡ［０：ａ−１］をＡｒｅｖとした時、ＡｒｅｖがＦより小さい場合１とするようにすれば（ＵＰ＝（Ａｒｅｖ＜Ｆ））、Ｎａサイクル中均等にＦ回「１」が生成される。
【００６５】
加算部３２は、選択部２８の出力するＭと変換部３１の出力するＵＰを加算し、結果を画素クロック周波数指示信号Ｍｎｏｗとして出力する。よって、ＰＣＬＫのＮａサイクルにＦ回、Ｍ値が＋１されるように変換され、画素クロックの平均周期は（Ｍ＋Ｆ／Ｎａ）Ｔｖとなる。
【００６６】
前述したように、画素クロック周波数の制御は１ライン毎に位相誤差Ｌｅｒｒを検出し、これが０になるようにデジタルＰＬＬ制御を行っている。フィルタ６は制御ループ内に置かれたデジタルフィルタであり、このフィルタ特性を変更することにより、制御帯域を設定できる。以下に、フィルタの設定例を示す。
【００６７】
図９は、フィルタ特性の設定例を説明するための図である。まず、ループフィルタを除くＤＰＬＬ制御系のループゲインは図９に（ａ）で示すようになる。ここで、ｆｓはサンプリング周波数で、つまりここではライン周波数である。この制御系に（ｂ）のような特性を持つラグリードフィルタを挿入し、（ｃ）のループゲインとすることにより、制御系を安定化させることができる。
【００６８】
τ１＝１／２πｆ１、τ２＝１／２πｆ２とすると、ループフィルタの伝達関数Ｈ（ｓ）は次式のようになる。
Ｈ（ｓ）＝（１＋τ２ｓ）／（１＋τ１ｓ）
上式を、双一次変換（ｓ＝２／Ｔ・（１−ｚ＾−１）／（１＋ｚ＾−１））してｚ変換形式にし、さらにＴ＝１として正規化すれば、ループフィルタの伝達関数Ｈ（ｚ）は次式となる。
Ｈ（ｚ）＝（ｂ０＋ｂ１ｚ＾−１）／（１＋ａ１ｚ＾−１）
ここで、ａ１＝（１−２τ１）／（１＋２τ１）、ｂ０＝（１＋２τ２）／（１＋２τ１）、ｂ１＝（１−２τ２）／（１＋２τ１）
【００６９】
図１０は上式の伝達関数Ｈ（ｚ）を実現するフィルタ６の詳細構成例を示す図である。フィルタ６は、一次のＩＩＲ型フィルタであり、加算器４０及び４５はそれぞれの入力を加算し、乗算器４２、４３、４４はそれぞれ入力に対し、係数−ａ１、ｂ１、ｂ０を掛けた値を出力し、遅延素子４１は中間変数ｗを１サンプル毎（つまり１ライン毎に）遅延させる。このフィルタ６にライン誤差Ｌｅｒｒを入力すれば、誤差データＥｒｒを得る。
【００７０】
また、乗算器４２，４３，４４の各係数を変更する手段を設ければ、動的にフィルタ特性を変更可能となり、例えば、上述のＬｏｃｋ信号に従いフィルタ特性を変更するようにしても良い。
【００７１】
なお、本例のフィルタ特性及び構成は一例であり、本発明はその他の構成のフィルタでも適用できる。デジタルフィルタについては公知技術であるので、その他の構成の例示は省略する。
【００７２】
次に、図２の画素クロック生成部１１１で生成した画素クロックＰＣＬＫを基準に画像データに従い変調する変調データ生成部１１３の好適な変調方法を説明する。
【００７３】
図１１は、変調データ生成部１１３の動作を説明するための図である。ここでは画像データＰＤａｔａに従い８値のパルス幅変調を行った変調データＭＤａｔａを生成する場合とした。図１１において、（ａ）ＶＣＬＫは高周波クロック（周期Ｔｖ）の立ち上がりを示し、（ｂ）ｃｏｕｎｔＭは分周器４でカウントしたカウント値であり、今、Ｍｎｏｗ＝１６と設定されているものとする。（ｃ）ＰＣＬＫは画素クロックであり、ここでは周期は１６Ｔｖとなっている。（ｄ）ＰＤａｔａはＰＣＬＫに同期して入力される画像データであり、この値Ｄｍに従って出力する変調データ（ｅ）ＭＤａｔａのパルス幅Ｔｗを変調する。
【００７４】
変調データＭＤａｔａの生成は高周波クロックＶＣＬＫを基準にして行われ、Ｄｍ≠０であれば、ｃｏｕｎｔＭ＝０の時「Ｈ」とする。また、ｃｏｕｎｔＭ＝Ｄｍ／Ｎｍ・Ｍｎｏｗ（Ｎｍは階調数でここでは８）の時「Ｌ」とする。またはｃｏｕｎｔＭ＝（Ｎｍ−Ｄｍ）／Ｎｍ・Ｍｎｏｗの時「Ｈ」とし、Ｄｍ≠８であれば、ｃｏｕｎｔＭ＝０の時「Ｌ」とするようにすると、（ｅ’）のような変調データが生成できる。またこれら２つの生成モードを切り替えられるようにし、ドット毎変更できるようにしても良い。
【００７５】
なお、上記説明では、走査開始と終了との２点間の走査時間の変動に合わせて画素クロック周波数を制御する形態について説明したが、１ライン中の走査速度がほぼ一定であれば、１ライン中の任意の２点間の走査時間の変動に合わせて制御を行うようにしても良い。
【００７６】
以上説明したように、画素クロック生成部の第１の構成例によれば、高精度に生成された高周波クロックＶＣＬＫを基準として画素クロックを生成し、走査時間の変動に合わせて画素クロック周波数を制御しているので、走査平均速度の変動があってもこの誤差を高精度に補正できる画素クロックが生成できる。さらに、画素クロック周波数の制御はポリゴンミラーの各面に対応してそれぞれ制御しているので、面毎の走査速度誤差があっても高精度に補正できる画素クロックが生成できる。また、この画素クロック生成部を画像形成装置に適用すれば、走査速度誤差を高精度に補正した画素クロックを基準に画像を形成するので、高品質な画像が得られる。
【００７７】
また、図１２は本発明による画素クロック生成部の第２の構成例を示す図である。図１２の画素クロック生成部１１８において、高周波クロック生成部５１は、基準クロックＲｅｆＣＬＫを基に逓倍し、位相差が等間隔の多相クロックを生成するものである。この第２の構成例では、１６位相の多相クロックＶＣＬＫ０〜１５を生成するものとする。また、多相クロックのうちの１つをＱ分周（ここではＱ＝４とする）した内部動作用クロックＧＣＬＫを生成し、図示はしないが画素クロック生成部１１８の各部へ供給する。
【００７８】
図１３は、高周波クロック生成部５１で生成される各クロックのタイミングを示す図である。図１３中の信号（ａ−０）〜（ａ−１５）は、多相クロックＶＣＬＫ０〜１５のそれぞれのクロックであり、互いに等間隔の位相差を有しており、この時間間隔をＴｖとする。また、信号（ｂ）ＧＣＬＫは、（ａ−０）ＶＣＬＫ０を４分周したクロックである。図１２の画素クロック生成部１１８は、基本的にこのクロックＧＣＬＫを動作クロックとして動作し、ＧＣＬＫを４分割した期間を順にＱＴ０、ＱＴ１、ＱＴ２、ＱＴ３と称し、また多相クロックＶＣＬＫ０〜１５の立ち上がりにそれぞれ対応した時刻をＰＨ０〜ＰＨ１５と称し、この期間ＱＴと位相ＰＨとによりＧＣＬＫ中の時間情報ＱＰを表す。
【００７９】
ここで、時間情報ＱＰは０〜６３の６４値であり、この第２の構成例では、この多相クロックの等間隔の位相差Ｔｖを基準として画素クロックＰＣＬＫを生成する。つまり画素クロック周波数の制御演算を動作クロックＧＣＬＫを基準に時間情報ＱＰ（ＱＴ，ＰＨ）の演算を行うことにより行う。
【００８０】
図１２に戻り、第１エッジ検出部５２は、第１の同期信号ＳＰＳＹＮＣの立ち上がりエッジを多相クロックＶＣＬＫ０〜１５を基準として検出し、同期信号ＳＰＳＹＮＣの立ち上がりを検出するとクロックＧＣＬＫに同期した検出パルスＳＰｐｌｓと立ち上がり時の期間ＱＴと位相ＰＨを示す時間情報ＳＰｑｐを出力する。
【００８１】
同様に、第２エッジ検出部５３は、第２の同期信号ＥＰＳＹＮＣの立ち上がりエッジを多相クロックＶＣＬＫ０〜１５を基準として検出し、同期信号ＥＰＳＹＮＣの立ち上がりを検出するとクロックＧＣＬＫに同期した検出パルスＥＰｐｌｓと立ち上がり時の期間ＱＴと位相ＰＨを示す時間情報ＥＰｑｐを出力する。
【００８２】
計数部５４は、周波数演算部５７からの画素クロック周波数指示信号Ｍｎｏｗに従って時間を計数し、Ｍｎｏｗに達する度にＳｅｔ信号（ＧＣＬＫに同期したＳＥＴｐｌｓ信号と時間情報ＳＥＴｑｐからなる）を生成し、またＳｅｔ信号からＭｎｏｗ／２にあたる時間を計数し、Ｒｓｔ信号（ＧＣＬＫに同期したＲＳＴｐｌｓ信号と時間情報ＲＳＴｑｐからなる）を生成する。この計数する時間単位は多相クロックＶＣＬＫ０〜１５の位相差Ｔｖである。
【００８３】
画素クロック出力部５８は、計数部５８より供給されるＳｅｔ信号及びＲｓｔ信号に従って「Ｈ」と「Ｌ」との間で切り替えて画素クロックＰＣＬＫを生成し出力する。これらの詳細構成及び動作説明は後述する。
【００８４】
比較部５５は、２つの同期信号ＳＰＳＹＮＣ、ＥＰＳＹＮＣ間の時間Ｔｌｉｎｅを検出し、書き込み周波数と２つのフォトディテクタＰＤ１とＰＤ２との距離に応じて予め定められた基準時間と計測した時間Ｔｌｉｎｅとの差を当該ラインの誤差Ｌｅｒｒとして算出する。つまり適正な走査時間（基準時間）と当該ラインの走査時間Ｔｌｉｎｅとの差が走査速度の誤差である。ここでは、ＳＰｐｌｓ入力後ＥＰｐｌｓが入力されるまでの期間中に入力されるＳＥＴｐｌｓの数をカウントし、この値と基準値ＲｅｆＮとの比較をし、さらに各パルスの時間情報とから当該ラインの誤差Ｌｅｒｒとして変換している。この誤差の単位は位相差Ｔｖである。
【００８５】
フィルタ５６は、ライン誤差Ｌｅｒｒをフィルタリングして誤差データＥｒｒを出力するデジタルフィルタである。周波数演算部５７は誤差データＥｒｒに従って適正な画素クロック周波数を算出し、これを画素クロック周波数指示信号Ｍｎｏｗに変換して出力する。
【００８６】
画素クロック周期をＴｐとし、今、Ｔｐ＝ＫＴｖとして画素クロック周波数を設定して走査した時、目標値Ｔｐ’（Ｔｐ’＝Ｋ’Ｔｖ）との誤差Ｅｒｒが入力される。よって、前述と同様に（式１）により求めたＫ’を設定するようにすれば、画素クロック周波数を目標値に制御することができる。
【００８７】
なお、これらフィルタ５６及び周波数演算部５７は、図２のフィルタ６及び周波数演算部７と同様の機能を果たし、構成も同様に適用できるので詳細な説明は省略する。
【００８８】
次に画素クロック生成部の第２の構成例の各部を説明する。図１４は高周波クロック生成部５１の構成例を示す図である。この高周波クロック生成部５１は、基準クロックＲｅｆＣＬＫから、多相クロックＶＣＬＫ０〜１５と、内部動作用クロックＧＣＬＫとを生成する。
【００８９】
電圧制御発振器ＶＣＯ６３は、８段の差動バッファ６４ａ〜ｈを接続したリングオシレータで構成され、１６位相のクロックＶＣＬＫ０〜１５を生成する。分周器６０はこの多相クロックのうちの１つ（ここではＶＣＬＫ８）をＮｖ分周する。
【００９０】
位相周波比較器ＰＦＤ６１は基準クロックＲｅｆＣＬＫと分周器６０出力との位相比較を行い、この位相差情報に基づき内在するチャージポンプを駆動する。ローパスフィルタＬＰＦ６２はチャージポンプ出力を平滑化し制御電圧ＶｃをＶＣＯ６３に供給する。
【００９１】
ＶＣＯ６３内の差動バッファ６４ａ〜ｈはこの制御電圧Ｖｃに従って遅延量が変化し、位相同期制御が行われる。例えば基準クロックＲｅｆＣＬＫとして１００ＭＨｚのクロックを供給し、分周比Ｎｖを２０とすると、多相クロックＶＣＬＫ０〜１５は２ＧＨｚで互いに等間隔の位相差を有するクロックが生成できる。また、分周器６５は多相クロックＶＣＬＫ０〜１５のうちの１つ（ここではＶＣＬＫ０）をＱ分周（ここではＱ＝４とする）してクロックＧＣＬＫを生成する。なお、適用しうる多相クロックの相数は、この例の１６に限らないが、演算の簡便性より２のべき乗がもっとも望ましい。同様に、ＧＣＬＫを生成するための分周比Ｑも２のべき乗がもっとも望ましい。
【００９２】
図１５は、計数部５４の構成例を示す図である。また図１６は画素クロック出力部５８の構成例を示す図である。さらに、図１７は計数部５４及び画素クロック出力部５８の各信号のタイミングの一例を示す図である。これらの図を参照して、画素クロック周波数指示信号Ｍｎｏｗに従って画素クロックＰＣＬＫを生成する詳細な構成および動作を説明する。
【００９３】
図１５において、各部はクロックＧＣＬＫに同期して動作する。ＳＥＴ時間演算部７０は、現在のＰＣＬＫ立ち上がり時間情報に画素クロック周波数指示信号Ｍｎｏｗを加算し、次のＰＣＬＫの立ち上がり時間を表すセット時間情報ｎｅｘｔＳを演算するものであり、この演算の更新はｐＳｅｔ信号により行う。なお、セット時間情報ｎｅｘｔＳを６４で割った商をｎｅｘｔＳｃ、余りをｎｅｘｔＳｑｐとする。つまりｎｅｘｔＳｃ＝ｎｅｘｔＳ［ＭＳＢ：６］、ｎｅｘｔＳｑｐ＝ｎｅｘｔＳ［５：０］とする。
【００９４】
また、ＳＰＳＹＮＣの立ち上がりに位相同期してＰＣＬＫの生成を始めるので（正確には所定の信号処理時間後でここでは２ＧＣＬＫ後）、最初のＰＣＬＫ立ち上がり時間情報はＳＰｑｐとする。
【００９５】
同様にして、ＲＳＴ時間演算部７１は、現在のＰＣＬＫ立ち上がり時間情報に画素クロック周波数指示信号Ｍｎｏｗの１／２を加算し、次のＰＣＬＫの立ち下がり時間を表すリセット時間情報ｎｅｘｔＲを演算するものであり、この演算の更新はｐＳｅｔ信号により行う。また、ｎｅｘｔＲｃ＝ｎｅｘｔＲ［ＭＳＢ：６］、ｎｅｘｔＲｑｐ＝ｎｅｘｔＲ［５：０］とする。なお、Ｍｎｏｗ／２を加算するのはＰＣＬＫのデューティをほぼ５０％にするためであり、デューティー５０％を要求しない場合はこの演算を簡略化できるような値を加算するようにしても良い。
【００９６】
カウンタ７２は、クロックＧＣＬＫを基準としてｎｅｘｔＳｃサイクルのカウントを行い、ｐＳｅｔ信号を生成する。このｐＳｅｔ信号が「Ｈ」の時カウンタは「１」にクリアされ、カウント値がｎｅｘｔＳｃと一致する時、ｐＳｅｔ信号を「Ｈ」とする。
【００９７】
Ｆ／Ｆ７３はｐＳｅｔ信号及びＳＰｐｌｓ信号を１ＧＣＬＫ遅延させてＳＥＴｐｌｓ信号を生成するフリップフロップである。Ｆ／Ｆ７４は、ｐＳｅｔ信号をイネーブルとしてｎｅｘｔＳｑｐを、また、ＳＰｐｌｓをイネーブルとしてＳＰｑｐをラッチし、ＳＥＴｑｐ信号を生成するフリップフロップである。このＳＥＴｐｌｓ信号はＰＣＬＫの立ち上がりをＧＣＬＫ単位で指定し、これに同期したＳＥＴｑｐ信号によりそのＧＣＬＫサイクル内での立ち上がり時間情報を指定する。これらをＳｅｔ信号と称し、画素クロック出力部５８に供給する。
【００９８】
カウンタ７５は、クロックＧＣＬＫを基準としてｎｅｘｔＲｃサイクルのカウントを行い、ＲＳＴｐｌｓ信号を生成する。ＳＥＴｐｌｓが「Ｈ」の時カウンタを「１」にクリアし、カウント値がｎｅｘｔＲｃに一致する時、ＲＳＴｐｌｓ信号を「Ｈ」とする。Ｆ／Ｆ７６は、ＳＥＴｐｌｓをイネーブルとしてｎｅｘｔＲｑｐをラッチし、ＲＳＴｑｐ信号を生成するフリップフロップである。このＲＳＴｐｌｓ信号はＰＣＬＫの立ち下がりをＧＣＬＫ単位で指定し、ＲＳＴｑｐ信号によりそのＧＣＬＫサイクル内での立ち下がり時間情報を指定する。これらをＲｓｔ信号と称し、画素クロック出力部５８に供給する。
【００９９】
なお、ＳＥＴｑｐ信号及びＲＳＴｑｐ信号は、それぞれＳＥＴｐｌｓ及びＲＳＴｐｌｓ信号が「Ｈ」の時有効となってればよいので、各部の制御タイミングはこの構成例のみに限定されるものではない。
【０１００】
図１６において、遅延部７７は、多相クロックＶＣＬＫ０〜１５を基準として、計数部５４から供給されるＳＥＴｐｌｓを時間情報ＳＥＴｑｐに従って遅延させたパルスＳを出力するものであり、また、ＧＣＬＫサイクル中の期間ＱＴを特定するためクロックＧＣＬＫも入力する。あるいは期間を示す期間信号ＱＴを入力しても良く、この場合は高周波クロック生成部５１でこのＱＴ信号を生成する。つまり、パルスＳはＳＥＴｐｌｓをＳＥＴｑｐ・Ｔｖだけ遅延させたパルスとなる。
【０１０１】
遅延部７８は、同様に、多相クロックＶＣＬＫ０〜１５を基準として、計数部５４から供給されるＲＳＴｐｌｓを時間情報ＲＳＴｑｐに従って遅延させたパルスＲを出力するものであり、パルスＲはＲＳＴｐｌｓをＲＳＴｑｐ・Ｔｖだけ遅延させたパルスとなる。ＳＲ−Ｆ／Ｆ７９は、パルスＳの立ち上がりでセット「Ｈ」し、パルスＲの立ち上がりでリセット「Ｌ」した画素クロックＰＣＬＫを出力するＳｅｔ−Ｒｅｓｅｔフリップフロップである。
【０１０２】
図１７において、（ａ）はＧＣＬＫである。第１エッジ検出部５２では、第１の同期信号（ｂ）ＳＰＳＹＮＣの立ち上がりを検出すると、その次のＧＣＬＫ１サイクルが「Ｈ」となる（ｃ−１）ＳＰｐｌｓ信号を出力し、またＧＣＬＫサイクル内のどの時刻で立ち上がったかを示す（ｃ−２）ＳＰｑｐ信号（本例では１０とする）も出力する。
【０１０３】
（ｄ）Ｍｎｏｗは、周波数演算部５７から供給される画素クロック周波数指示信号であり、図示したように入力されるものとする。（ｅ−１）ｎｅｘｔＳは、ＳＥＴ時間演算部７０で演算される次のＰＣＬＫの立ち上がり時間を表す。最初は、ＳＰＳＹＮＣの立ち上がりに同期してＰＣＬＫが立ち上がるようになっているので、次のＰＣＬＫの立ち上がりはＳＰｑｐ＋Ｍｎｏｗ＝２５０Ｔｖ後となる。ここで右辺のカンマの前の数値はｎｅｘｔＳｃを、カンマの後の数値はｎｅｘｔＳｑｐを表す。またその次のｎｅｘｔＳは、ｎｅｘｔＳｑｐ＋Ｍｎｏｗ＝２９８となる。
【０１０４】
（ｅ−２）ｎｅｘｔＲは、ＲＳＴ時間演算部７１で演算される次のＰＣＬＫの立ち下がり時間を表す。まずはＳＰＳＹＮＣの立ち上がりにＭｎｏｗ／２を加算した値（＝１３０）がＰＣＬＫの立下り時間となり、（ｅ−１）ｎｅｘｔＳと同様に右辺のカンマの前の数値はｎｅｘｔＲｃを、カンマの後の数値はｎｅｘｔＲｑｐを表す。
【０１０５】
（ｆ）ｐＳｅｔは、ＳＥＴｑｐ信号を更新するためにＳＥＴｐｌｓの１ＧＣＬＫ前に出力するパルスであり、カウンタ７２のカウント値がｎｅｘｔＳｃと一致した時「Ｈ」となる。なお、図中示した丸数字はｎｅｘｔＳｃのカウント値を表す。
【０１０６】
（ｇ−１）ＳＥＴｐｌｓは、ＳＰｐｌｓとｐＳｅｔ信号を１ＧＣＬＫ遅延させたパルスであり、ＰＣＬＫの立ち上がりをＧＣＬＫ単位で指定する。（ｇ−２）ＳＥＴｑｐはこのＳＥＴｐｌｓの遅延値を示すＰＣＬＫ立ち上がり時間情報であり、（ｆ）ｐＳｅｔが「Ｈ」の時の（ｅ−１）ｎｅｘｔＳｑｐの値に更新していく。（ｈ−１）ＲＳＴｐｌｓはＰＣＬＫの立ち下がりをＧＣＬＫ単位で指定したパルスであり、カウンタ７５のカウント値がｎｅｘｔＲｃと一致した時「Ｈ」となる。（ｈ−２）ＲＳＴｑｐはＲＳＴｐｌｓの遅延値を示すＰＣＬＫ立ち下がり時間情報である。
【０１０７】
（ｉ−１）Ｓは、（ｇ−１）ＳＥＴｐｌｓを対応する（ｇ−２）ＳＥＴｑｐの値だけ遅延させたパルスであり、遅延値の単位は多相クロックＶＣＬＫ０〜１５の位相差Ｔｖである。同様に、（ｉ−２）Ｒは、（ｈ−１）ＲＳＴｐｌｓを対応する（ｈ−２）ＲＳＴｑｐの値だけ遅延させたパルスである。（ｊ）ＰＣＬＫは、（ｉ−１）Ｓの立ち上がりで「Ｈ」に、（ｉ−２）Ｒの立ち上がりで「Ｌ」として生成される画素クロックである。
【０１０８】
図１８は、比較部５５の詳細構成例を示す図である。また、図１９は各信号のタイミングの一例を示す図である。図１８，図１９を参照して、比較部５５の詳細な動作を説明する。
【０１０９】
図１９において、（ａ）はＧＣＬＫである。（ｂ−１）はＳＰＳＹＮＣ、（ｂ−２）はＥＰＳＹＮＣである。この２つの信号の立ち上がりの時間間隔が当該ラインの走査時間Ｔｌｉｎｅである。（ｃ−１）はＳＰｐｌｓ、（ｃ−２）はＥＰｐｌｓである。また、（ｄ−２）ＥＰｑｐは同期信号ＥＰＳＹＮＣの時間情報である。さらに（ｅ−１）ＳＥＴｐｌｓ、（ｅ−２）ＳＥＴｑｐは、ＰＣＬＫの立ち上がりを表す時間情報である。これらは前述したので説明は省略する。
【０１１０】
（ｅ−３）ＳＥＴｃｎｔは、カウンタ７２のカウント値である。本例では、Ｍｎｏｗ＝１９２で一定とする。このとき（ｆ）ＰＣＬＫが生成される。ＰＣＬＫは、ＳＰＳＹＮＣの丁度２ＧＣＬＫ後に同期して生成されるので、走査終了時点ＥＰもＥＰＳＹＮＣから２ＧＣＬＫ遅らせた時点で検出する。よって、（ｃ−２）ＥＰｐｌｓを１ＧＣＬＫ遅延させた（ｄ−１）ＥＰｄｅｔが「Ｈ」の時の各信号値から誤差Ｌｅｒｒを検出する。
【０１１１】
（ｇ）はｐＳｅｔであり、（ｈ）ｃｏｕｎｔＮは、（ｃ−１）ＳＰｐｌｓで‘０’クリアされ、（ｇ）ｐＳｅｔによりインクリメントされるカウンタ８１のカウント値である。これらより、走査開始から走査終了時点ＥＰまでのＰＣＬＫのサイクル数ｎと位相誤差ｍ２を検出する。
【０１１２】
図１８において、カウンタ８１は、ＳＰｐｌｓで‘０’クリアし、ｐＳｅｔによりインクリメントするカウンタであり、そのカウント値ｃｏｕｎｔＮを出力する。減算部８２は、ＥＰｄｅｔが「Ｈ」の時のカウンタ８１の値ｃｏｕｎｔＮ（図１９ではｎ）から基準カウント値ＲｅｆＮの減算を行い、減算結果ｄｉｆｆＮ（＝ｎ−ＲｅｆＮ）を出力する。
【０１１３】
誤差検出部８４は、ＥＰｄｅｔが「Ｈ」の時のＳＥＴｑｐ及びＳＥＴｃｎｔをそれぞれＥｎｄｑｐ、Ｅｎｄｃｎｔとすると、次式の演算を行い位相差ｄｉｆｆＭを算出する。
ｄｉｆｆＭ＝Ｅｎｄｃｎｔ・Ｍｐ＋（ＥＰｑｐ−Ｅｎｄｑｐ）
ここで、ＭｐはＧＣＬＫの時間情報分割数であり、この例では６４である。また図１９の例ではｄｉｆｆＭ＝１４４となる。
【０１１４】
誤差演算部８３は、下記の演算を行い多相クロックＶＣＬＫ０〜１５の位相差Ｔｖを単位とする誤差Ｌｅｒｒを出力する。
Ｌｅｒｒ＝ｄｉｆｆＮ・Ｋ＋ｄｉｆｆＭ
ここで、Ｔｐ＝Ｋ・Ｔｖ，Ｔｐ：ＰＣＬＫの周期である。
【０１１５】
なお、図４と同様に、Ｌｅｒｒ＝ｄｉｆｆＮ・Ｋ＋ｄｉｆｆＭ−ＲｅｆＭと演算し、基準時間の設定値をより細かく設定するようにして、より正確な画素クロック周波数の制御を行うようにしても良い。
【０１１６】
次に図１２の画素クロック生成部１１８で生成した画素クロックＰＣＬＫを基準に画像データに従い変調する変調データ生成部１１９の好適な構成及びその動作を説明する。
【０１１７】
図２０は変調データ生成部１１９の詳細構成例を示す図である。また、図２１は、変調データ生成部１１９の各信号のタイミング図の一例を示す図である。図２０，図２１を参照して、詳細な動作を説明する。なお、本例では画像データＰＤａｔａに従い８値のパルス幅変調を行った変調データＭＤａｔａを生成する場合とする。
【０１１８】
図２０において、変調データ生成部１１９は、ＧＣＬＫが各部へ供給され、基準クロックとして動作する。クロックパターン生成部９０は、画素クロック生成部１１８から供給されＳＥＴｐｌｓ及びＳＥＴｑｐ信号から構成されるＳｅｔ信号と画素クロック周波数指示信号Ｍｎｏｗとから、画素クロックＰＣＬＫの所定の位相差を持ったクロックに相当するクロックパターン信号ＣＫＰ（ここではＣＫＰ０〜３で、ＰＣＬＫとそれぞれ、０、π／８、π／４、３π／８位相の遅れたクロックのパターン）を生成する。このクロックパターン信号ＣＫＰは、ＧＣＬＫを基準に変化する信号で、ＧＣＬＫサイクルを時間情報ＱＰで区切った６４の期間Ｔｑｐにそれぞれ対応する６４ビットのデータであり、期間Ｔｑｐが「Ｈ」の場合は対応するビットが「１」であり、「Ｌ」の場合は「０」となる。
【０１１９】
そしてクロックパターンの生成手順は次のようにして行う。まず各クロックパターンの立ち上がりを示すオフセットデータｓｏｆｓ０〜３及び立下りオフセットデータｒｏｆｓ０〜３を求める。それぞれ、ｓｏｆｓ０＝ＳＥＴｑｐ、ｓｏｆｓ１＝ＳＥＴｏｆｓ＋Ｍｎｏｗ／８、ｓｏｆｓ２＝ＳＥＴｏｆｓ＋Ｍｎｏｗ／４、ｓｏｆｓ３＝ＳＥＴｏｆｓ＋３Ｍｎｏｗ／８であり、ｒｏｆｓ０〜３はそれぞれｓｏｆｓ０〜３にＭｎｏｗ／２を加算する。次にＧＣＬＫのサイクル毎クロックパターンＣＫＰのＭＳＢから順にｓｏｆｓまでは「０」に、ｓｏｆｓからｒｏｆｓまでは「１」に、ｒｏｆｓからは「０」へと変換する。
【０１２０】
なお各オフセットデータが６４以上であれば、６４毎に１ＧＣＬＫ遅らせて、この変換を行う。例えば、Ｍｎｏｗ＝１９２、ＳＥＴｑｐ＝１６の場合、ＣＫＰ１は、ｓｏｆｓ＝４０、ｒｏｆｓ＝１３６（＝２ＧＣＬＫ＋８）であるので、第１のＧＣＬＫサイクルのパターンはＭＳＢ（＝６３）〜２４ビット目までは「０」、２３〜０ビットは「１」に、第２のＧＣＬＫサイクルのパターンは全て「１」に、第３のＧＣＬＫサイクルのパターンは６３〜５６ビットは「１」、５５〜０ビットは「０」になる。
【０１２１】
画像データデコード部９１は、画像データＰＤａｔａを８値のパルス幅変調データＤｅｃＤａｔａ（８ビット）に変換する。このパルス幅変調データＤｅｃＤａｔａは、画素クロックＰＣＬＫの１サイクルを８つに時分割した期間の時間順に、ＭＳＢからＬＳＢの順で各ビットが対応する。例えば、ＰＤａｔａ＝３であれば、ＤｅｃＤａｔａ＝’ｂ１１１０００００と変換する（’ｂはバイナリ表記であることを示す）。あるいは、ＤｅｃＤａｔａ＝’ｂ０００００１１１と変換するようにしても良いし、モード切換信号を付加して双方のモードを切り換えられるようにしても良い。なお、この変換方式は、本発明の要旨に反しない範囲で自由に選択できる。
【０１２２】
変調パターン生成部９２は、パルス幅変調データＤｅｃＤａｔａとクロックパターン信号ＣＫＰ０〜３とから、変調パターン信号ＭＤＰを生成する。この変調パターン信号ＭＤＰは、クロックパターン信号ＣＫＰと同様に、ＧＣＬＫを基準に変化する信号で、ＧＣＬＫサイクルを時間情報ＱＰで区切った６４の期間Ｔｑｐにそれぞれ対応する６４ビットのデータである。
【０１２３】
シリアライザ９３は、変調パターン信号ＭＤＰを多相クロックＶＣＬＫ０〜１５を基準として、ＭＳＢから順に（つまり時間順に）Ｔｖ時間ずつシリアル出力した変調データＭＤａｔａを生成する。
【０１２４】
図２１において、具体的数値例を挙げて説明する。（ａ）は基準クロックとなるＧＣＬＫである。今、Ｓｅｔ信号を構成する（ｂ−１）ＳＥＴｐｌｓ及び（ｂ−２）ＳＥＴｑｐが図のように供給される時、画素クロックは（ｃ−１）ＰＣＬＫのように生成されている。また、画素クロック周波数指示信号Ｍｎｏｗ＝１９２であるとする。また実際には生成しないが、ＰＣＬＫをそれぞれπ／８、π／４、３π／８だけ位相を遅らせたクロックを（ｃ−２）ＰＣＬＫ１、（ｃ−３）ＰＣＬＫ２、（ｃ−４）ＰＣＬＫ３に説明のため示す。
【０１２５】
（ｄ−１）〜（ｄ−４）はそれぞれＰＣＬＫ、ＰＣＬＫ１〜３を表すクロックパターンＣＫＰ０〜３である。それぞれ６４ビットのデータでＭＳＢからＬＳＢに時間順であり、ＨＥＸ表記している。よってこれらのクロックパターンＣＫＰ０〜３から、画素クロックＰＣＬＫを８つに時分割した期間（ｔｐ０〜ｔｐ７）を示すパターン（それぞれ時間順にＰＴ０〜７と称する）が生成できる。すなわち、ＰＴ０＝ＣＫＰ０＆〜ＣＫＰ１、ＰＴ１＝ＣＫＰ１＆〜ＣＫＰ２、・・・、ＰＴ７＝〜ＣＫＰ３＆〜ＣＫＰ０である。ここで、＆は論理積を、〜は否定論理を示す。
【０１２６】
（ｅ）ＤｅｃＤａｔａはパルス幅変調データであり、図にように変換されているとする。（ｆ）ＭＤＰは変調パターン信号であり、まずｉを０〜７まで変化させた時の（｛６４｛ＤｅｃＤａｔａ［７−ｉ］｝｝＆ＰＴｉ）を演算し、次にこれらの論理和を演算することにより得られる。ここで、｛６４｛ＤｅｃＤａｔａ［ｉ］｝｝はＤｅｃＤａｔａ［ｉ］を６４ビット分連接させたデータである。
【０１２７】
こうして生成された変調パターン信号をシリアライズすることにより（ｇ）ＭＤａｔａの変調データが生成できる。この例ではＰＣＬＫ周期Ｔｐのうち最初の３／８の期間が「Ｈ」で、残りが「Ｌ」となるようにパルス幅変調されたパルスが生成される。
【０１２８】
また、画素クロックをπ／８ずつ位相をずらしたクロックパターンＣＫＰ０〜３を生成する代わりに、画素クロックＰＣＬＫの１サイクルを８つに時分割したそれぞれの期間を示すパターンＰＴ０〜ＰＴ７を生成し、これらとパルス幅変調データＤｅｃＤａｔａとから変調パターン信号ＭＤＰを生成するようにしても良い。
【０１２９】
さらに、上記の例では、８値のパルス幅変調を行う場合について説明したが、他の変調方式であっても適用できる。例えば１６値のパルス幅変調を行う場合は、画像データデコード部９１は、画像データＰＤａｔａを１６ビットのパルス幅変調データＤｅｃＤａｔａに変換し、クロックパターン生成部９０は、画素クロックＰＣＬＫとπ／１６ずつ位相をずらした８つのクロックパターンＣＫＰ０〜７を生成し、変調パターン生成部９２で同様にして変調パターン信号ＭＤＰを生成するようにすればよい。
【０１３０】
また、この構成例は図１２の画素クロック出力部５８に適用してもよい。つまり、画素クロックＰＣＬＫのクロックパターンＰＣＫＰを生成し（前述のクロックパターン信号ＣＫＰ０を用いればよい）、これを多相クロックＶＣＬＫ０〜１５を基準として、ＭＳＢから順に（つまり時間順に）、Ｔｖ時間ずつシリアル出力すれば画素クロックＰＣＬＫを生成できる。
【０１３１】
以上説明したように、画素クロック生成部の第２の構成例によれば、高精度に生成された多相クロックＶＣＬＫ０〜１５を基準として画素クロックを生成し、走査時間の変動に合わせて画素クロック周波数を制御しているので、走査平均速度の変動があってもこの誤差を高精度に補正できる画素クロックが生成でき、さらに画素クロック周波数の制御はポリゴンミラーの各面に対応してそれぞれ制御しているので、面毎の走査速度誤差があっても高精度に補正できる画素クロックが生成できる。
【０１３２】
また、画素クロックの生成は多相クロックＶＣＬＫ０〜１５の位相差Ｔｖの単位で正確に制御できるので、多相クロックの発振周波数を高くしないでもよいので、回路の設計が容易となり消費電流も低減できる。例えば、前述の第１の構成例と同等の分解能で画素クロックを生成する場合は、多相クロックの発振周波数は１／１６でよい。逆にいえば、同等の発振周波数とした場合、画素クロック生成分解能を１６倍に向上できる。つまり高精度な画素クロックが生成できる。さらには、画素クロック生成部の大部分は多相クロックの１つをさらに分周したクロックＧＣＬＫで動作するようにしているので、動作周波数がさらに低下され、消費電流を低減できる。
【０１３３】
また、この画素クロック生成部を画像形成装置に適用すれば、走査速度誤差を高精度に補正した画素クロックを基準に画像を形成するので、高品質な画像が得られる。
【０１３４】
（第２の実施形態）
次に、本発明による画像形成装置の第２の実施形態を説明する。図２２は、本発明による画像形成装置の第２の実施形態の構成を示す図である。第２の実施形態の画像形成装置が、第１の実施形態と異なる点は、複数の光源からの出射光を共通の走査光学系を用いて感光体に照射して画像（静電潜像）を形成するマルチビーム走査光学系を用いた点である。
【０１３５】
図２２において、半導体レーザ１２４及び１２５は、コリメートレンズ１２２、１２３との光軸を一致させ、主走査方向に対称に射出角度を持たせ、ポリゴンミラー１０４の反射点で射出軸が交差するようレイアウトされている。それぞれの半導体レーザ１２４、１２５より射出した複数のビームは、シリンダレンズ１２０を介してポリゴンミラー１０４で一括して走査され、ｆθレンズ１０６、ミラー１１０、及びトロイダルレンズ１０７により感光体１０５上に結像される。画像処理部１３３には各光源ごとに１ライン分の画像データが蓄えられ、ポリゴンミラー１面毎に読み出されて、２ラインずつ同時に書き込みが行なわれる。
【０１３６】
またミラー１１０の両端にはフォトディテクタＰＤ１（１０８）、フォトディテクタＰＤ２（１０９）がそれぞれ配置されており、走査の開始と終了とが検出される。つまりポリゴンミラー１０４により反射された２つの光源から出射されたレーザ光は、感光体１０５を１ライン走査する前に順次ＰＤ１に入射され、走査後にＰＤ２に入射される。
【０１３７】
それぞれのフォトディテクタＰＤ１，ＰＤ２では、入射されたレーザ光をそれぞれ第１の同期信号ＳＰＳＹＮＣ及び第２の同期信号ＥＰＳＹＮＣに変換し、同期信号分離部１２６に入力する。２つの光源は感光体１０５上を時差を持って走査するように配置されているので、同期信号分離部１２６は、同期信号ＳＰＳＹＮＣをそれぞれの光源に対応した同期信号ＳＰＳＹＮＣａとＳＰＳＹＮＣｂに、同様に同期信号ＥＰＳＹＮＣをそれぞれの光源に対応した同期信号ＥＰＳＹＮＣａ及びＥＰＳＹＮＣｂに分離する。
【０１３８】
図２３は、フォトディテクタからの同期信号のタイミングの一例を示す図である。（ａ）は第１の同期信号ＳＰＳＹＮＣであり、（ｂ）は第２の同期信号ＥＰＳＹＮＣである。ここでは半導体レーザ１２５のレーザ光が先に走査されているとすると、同期信号（ａ）ＳＰＳＹＮＣは（ｃ−１）ＳＰＳＹＮＣａ及び（ｃ−２）ＳＰＳＹＮＣｂのように分離される。同様に同期信号（ｂ）ＥＰＳＹＮＣは、（ｄ−１）ＥＰＳＹＮＣａ及び（ｄ−２）ＥＰＳＹＮＣｂのように分離される。
【０１３９】
分離された一方の同期信号の組ＳＰＳＹＮＣａとＥＰＳＹＮＣａとは、図２２に示すように画素クロック生成部１２７に供給され、他方の組ＳＰＳＹＮＣｂとＥＰＳＹＮＣｂとは画素クロック生成部１３０に供給される。
【０１４０】
画素クロック生成部１２７は、２つの同期信号ＳＰＳＹＮＣａ及びＥＰＳＹＮＣａから走査時間Ｔｌｉｎｅａを測定し、その時間間隔に予め定められた所定数のクロックが収まるように求められた周波数の画素クロックＰＣＬＫａを生成する。画像処理部１３３は、画素クロックＰＣＬＫａを基準に画像データａを生成する。
【０１４１】
変調データ生成部１２８は、画素クロックＰＣＬＫａを基準として、入力された画像データａから変調データａを生成し、レーザ駆動部１２９を介して半導体レーザ１２５を駆動する。
【０１４２】
同様にして、画素クロック生成部１３０は、２つの同期信号ＳＰＳＹＮＣｂ及びＥＰＳＹＮＣｂから画素クロックＰＣＬＫｂを生成し、画像処理部１３３において画素クロックＰＣＬＫｂを基準に生成された画像データｂから変調データ生成部１３１にて変調データｂを生成し、レーザ駆動部１３２を介して半導体レーザ１２４を駆動する。
【０１４３】
ここで、画素クロック生成部１２７、１３０は、図１の画素クロック生成部１１１と同様の機能を果たし、前述した画素クロック生成部の第１の構成例及び第２の構成例を適用できるので、詳細構成及び動作説明は省略する。変調データ生成部１２８、１３１も同様に説明を省略する。
【０１４４】
なお、高周波クロック生成部１および５１は、画素クロック生成部１２７と１３０とで共通に用いる構成とすれば、回路規模の小型化や消費電流の低減が図れる。また同期信号を検出する２つのエッジ検出部２及び３（または５２及び５３）を画素クロック生成部１２７と１３０とでそれぞれ共通化して検出し、検出信号を分離する構成としても良い。
【０１４５】
さらには、フィルタ６、５６や周波数演算部７、５７の演算処理の一部は１ラインに１回動作するだけであるので、これを共通化し、複数の画素クロック周波数演算に対し時系列に処理するようにしてもよい。
【０１４６】
この実施形態によれば、前述の従来技術の問題点で示した（３）光源毎の走査速度誤差があっても、つまり２つの光源の波長が異なり、走査光学系の色収差により走査速度が変動するなどにより２つのビームの走査速度が異なっても（図２３の２つのビームの走査時間ＴｌｉｎｅａとＴｌｉｎｅｂが各々独立に変動しても）、それぞれの走査速度変動に合わせて画素クロックＰＣＬＫａ及びＰＣＬＫｂの周波数を独立に制御しているので、速度変動が高精度に補正でき、高品質の画像が形成できる。
【０１４７】
また、マルチビーム走査光学系は複数の半導体レーザを備えた構成でなく、１つの半導体レーザアレイから出射される複数のレーザビームを共通の走査光学系を用いて走査する構成もある。このような光学系に対しても同様に適用できる。なお、マルチビーム走査光学系は様々な形態があるが、本発明の作用効果は走査光学系の形態によらず適用できるものであるので、詳細な構成の図示及び説明は省略する。
【０１４８】
（第３の実施形態）
さらに、本発明による画像形成装置の第３の実施形態を説明する。本発明による画像形成装置の第３の実施形態は、複数の感光体を有する多色対応の画像形成装置であり、シアン、マゼンダ、イエロー、ブラックの各色に対応した別々の感光体を備え、走査光学系もそれぞれの感光体に対応して備えられ、各色に対応した画像（静電潜像）をそれぞれの感光体上に形成する。そして、１枚の画像形成媒体（例えば紙）に各色の画像を転写することによりカラー画像を形成する。
【０１４９】
第３の実施形態の画像形成装置は、単純には図１の画像形成装置を４つ備えることにより実現できる。また、小型化のため走査光学系の一部を共通化した形態も適用できるが、それぞれの光路は異なるので、異なる画像形成装置を複数個備えたものと考えてよい。
【０１５０】
図２４はこのような構成の一例を示す図である。なお、図２４は副走査断面図であり、一部のユニットのみを図示している。以下、図２４に基づき第３の実施形態の説明を行う。
【０１５１】
図２４において、ポリゴンミラー１５１は、２段構成であり、点線を軸として回転しており、各走査光学系で共通に用いている。半導体レーザー１６１ａから出射したレーザ光は、コリメータレンズ、シリンダーレンズを介して（いずれも図示せず）、ポリゴンミラー１５１のａ点で反射される。同様に、半導体レーザ１６１ｂ〜ｄから出射されたレーザ光は、ポリゴンミラー１５１のｂ〜ｄ点で反射される。ポリゴンミラー１５１で反射されたレーザ光は、走査レンズ１５２、１５４及び折り返しミラー１５３、１５５、１５６を経由して感光体１５７上を走査し（ビームの走査方向つまり主走査方向は、図面に対して垂直方向である）、画像（静電潜像）を形成する。ここで図番末尾のａ〜ｄは半導体レーザａ〜ｄに対応したものであり、それぞれイエロー、マゼンタ、シアン、ブラックの各色に対応した画像を形成しているものとする。そして中間転写ベルト１５８上に置かれ矢印方向に移動する画像形成媒体へ、各感光体１５７ａ〜ｄに形成された各色の画像を転写してカラー画像が形成される。
【０１５２】
このとき、有効走査範囲外の両側に配備されたミラー１７０によりビームを検出器（フォトディデクタ）１７１に導光して、走査の開始と終了とを検出し、同期信号ＳＰＳＹＮＣ、ＥＰＳＹＮＣに変換する。これらの同期信号ＳＰＳＹＮＣ、ＥＰＳＹＮＣは前述と同様に、画素クロック生成部１６４に供給され、走査速度誤差を補正するように周波数が制御された画素クロックＰＣＬＫを生成する。また、画像処理部１６５は、画素クロックＰＣＬＫを基準に画像データＰＤａｔａを生成する。変調データ生成部１６３は、画素クロックＰＣＬＫを基準として、入力された画像データＰＤａｔａから変調データを生成し、レーザ駆動部１６２を介して半導体レーザ１６１を駆動する。これらを各色の対応ビーム毎に同様に行う。
【０１５３】
また、画素クロック生成部１６４には、前述した画素クロック生成部の第１の構成例，第２の構成例を適用できる。ここで、走査光学系の各部品の製造精度や組付け精度、経時変化などによる変形などの影響により、各走査光学系での走査時間はそれぞれ異なり、また走査開始及び終了を検出する２つのフォトディデクタ間の距離も組付け精度などにより異なるので、画像クロック周波数制御の基準となる基準値ＲｅｆＮを各走査光学系毎に画像形成装置の製造時などに予め求めておき（経時変化などにより画像劣化が生じた時は再度求めなおすようにしても良い）、これらを基準値ＲｅｆＮとして画素クロック生成部１６４にそれぞれ与える。
【０１５４】
また、同期信号ＳＰＳＹＮＣによる走査開始検出位置も走査光学系毎に異なる場合があるので、同期信号ＳＰＳＹＮＣの立ち上がりから所定時間後（画素クロックＰＣＬＫの所定サイクル後）に、画像の書き込みを開始するようにしておき（書き込み開始オフセットと称する）、この書き込み開始オフセットを各走査光学系毎に予め求めておく。
【０１５５】
図２５は、各走査光学系における走査時間に対する走査幅の関係を示す図である。（ａ−１）は、走査光学系ａの１ラインの走査幅を示す。ＳＰａ及びＥＰａは、走査開始と終了とを検出する検出器の位置を感光体上に対応付けた位置である。この距離をＬａとする。また、画像の１ドット幅をＬｐとした時、Ｌａ／Ｌｐ＝ＲｅｆＮａが１ライン中のドット数となり、これを基準値ＲｅｆＮとして設定する。また実際に画像を形成する範囲はＰＳＰとＰＥＰとの間の領域とする。また（ａ−２）は、走査光学系ａの１ラインの走査時間を示す。
【０１５６】
走査開始位置ＳＰ及び終了位置ＥＰに対応して、同期信号ＳＰＳＹＮＣ及びＥＰＳＹＮＣがそれぞれ検出され、この時間間隔を走査時間Ｔｌａとする。この走査時間Ｔｌａは前述したように様々な要因により変動するが、画素クロック周期Ｔｐａを、Ｔｐａ＝Ｔｌａ／ＲｅｆＮａの関係が成り立つように制御しているので、ＳＰＳＹＮＣから所定のＰＣＬＫサイクル後（Ｎ１とＮ２とする）、出力する書き込みパルスは常に走査線上の同じ位置にドットを形成する（Ｄ１及びＤ２）。また、実際の画像の書き込み開始をＮｏｆｓａサイクル後にする。
【０１５７】
同様にして、（ｂ−１）は、走査光学系ｂの１ラインの走査幅を示し、走査開始位置ＳＰｂと終了位置ＥＰｂとの間の距離をＬｂとすると、Ｌｂ／Ｌｐ＝ＲｅｆＮｂを基準値ＲｅｆＮとして設定する。また、（ｂ−２）は、走査光学系ｂの１ラインの走査時間を示し、同期信号ＳＰＳＹＮＣとＥＰＳＹＮＣとの時間間隔を走査時間Ｔｌｂとする。これも同様に、画素クロック周期Ｔｐｂを、Ｔｐｂ＝Ｔｌｂ／ＲｅｆＮｂの関係が成り立つように制御している。さらに双方の走査開始位置ＳＰａ及びＳＰｂとの距離差に応じて、画像の書き込み開始オフセットＮｏｆｓｂを設定することにより、実際に画像を形成する範囲ＰＳＰ〜ＰＥＰが走査光学系によらず一致する。
【０１５８】
このように、この第３の実施形態の画像形成装置によれば、走査光学系毎の速度誤差を含め、様々な要因で走査速度誤差が生じても、画像形成する各色それぞれに対応する走査速度差・変動に合わせて画素クロックＰＣＬＫの周波数を独立に制御しているので、このようにして形成されたカラー画像は、色ずれが生じず、色再現性、解像度の劣化が生じず、高品位の画質を得ることができる。
【０１５９】
以上説明したように、第１〜第３の実施形態によれば、前述した従来技術の問題点に示した（１）〜（４）の走査速度誤差を高精度に補正することができる。本発明では、さらに、第１〜第３の実施形態に以下に説明する変更を行うことにより（以下のような第４の実施形態とすることにより）、走査速度の非線形性誤差をも高精度に補正することができる。
【０１６０】
（第４の実施形態）
以下図面に基づき、第４の実施形態を説明する。図２８は画素クロック生成部の第３の構成例を示す図である。図２８の画素クロック生成部は、図１、図２２、図２４の画像形成装置のそれぞれの画素クロック生成部として適用できる。図２８において、図２と同一図番を付したブロックは同様の構成で、同様の機能を果たすので詳細説明は省略する。
【０１６１】
図２８の周波数演算部２０１は、図２の周波数演算部７と同様にして、誤差データＥｒｒに従って適正な画素クロック周波数を算出し、これを画素クロック平均周波数信号Ｍａｖｇに変換して出力する。
【０１６２】
また、周波数変調部２０２は、後述の周波数変調データ生成部２０３から供給される周波数変調データＦＭＤａｔａに従って、画素クロック平均周波数信号Ｍａｖｇの変換を行うことにより、所望の周波数変調を行う画素クロック周波数指示信号Ｍｎｏｗを生成し、分周器４へ供給する。分周器４ではこの画素クロック周波数指示信号Ｍｎｏｗに従って高周波クロックＶＣＬＫを分周して画素クロックＰＣＬＫを生成するので、画素クロック平均周波数信号Ｍａｖｇを変調することにより、画素クロックＰＣＬＫの周波数変調が行える。
【０１６３】
周波数変調データ生成部２０３は、第１の同期信号ＳＰＳＹＮＣを原点とした走査位置（ここでは画素クロックＰＣＬＫ数ｎで表す）に対応した周波数変調データＦＭＤａｔａを生成する。この周波数変調データＦＭＤａｔａは、走査位置ｎにおける走査速度Ｖ（ｎ）に対応した画素クロック周波数であり、ここでは高周波クロックＶＣＬＫの分周値で表すしたＭ（ｎ）と画素クロック平均周波数信号Ｍａｖｇとの差である。
【０１６４】
図２９は、走査位置ｎに対する走査速度Ｖ（ｎ）（図２９（ａ））と理想位置からのずれΔ（ｎ）（同図（ｂ））と周波数変調データＦＭＤａｔａ（ｎ）（同図（ｃ））の一例を示す図である。理想位置からのずれΔは、Ｖ（ｎ）−Ｖａｖｇの積分した値となる。走査速度の非線形性誤差は、走査光学系の精度や組付け誤差が主因となり決まるので、周波数変調データＦＭＤａｔａは、例えば装置の製造時に予め取得しておき、これを格納しておけばよい。周波数変調データの取得方法の一例を示す。まず一定の画素クロック周波数で走査を行い、各走査位置における理想位置からのずれΔを測定する。このずれΔの微分値が走査速度Ｖであるので、これより画素クロック周波数に換算し画素クロック平均周波数信号Ｍａｖｇとの差分を求める。簡単には、所定の走査位置間（図２９のΔｎ）の傾きを走査速度Ｖ’と近似し、この領域内ではその値からの換算値を周波数変調データとして用いる（図２９の各図破線）。このようにすれば、簡便に周波数変調データを求めることができ、かつその領域間は同一データでいいので、データを格納するメモリ量も低減できる。また走査速度補正をより高精度に行いたい場合には、領域Δｎを短くすれば良い。周波数変調データＦＭＤａｔａは、簡単には分周比Ｍの差分データΔＭを求めればよい。画素クロック周波数指示信号Ｍｎｏｗへの変換は、画素クロック平均周波数信号Ｍａｖｇに差分データΔＭを加算することにより行える。
【０１６５】
また、画素クロックの周波数変調をより高精度に行うため、周波数変調データは分周比Ｍだけでなく、その小数部も含むようにするとよい。この小数部の処理は前述と同様にすればよい。すなわち図５におけるＭ値とＣ値、あるいは図８におけるＭ値とＦ値である。上記のように周波数変調を領域に分けて行う場合は、領域長ΔｎをＮａ（Ｎａ＝２＾ａ、ａ：２進数表記小数部の桁数）の整数倍（１以上）とすると処理が簡便となり、より好適である。以下の詳細説明では、周波数変調データＦＭＤａｔａを整数部ΔＭ及びａ桁の小数部ΔＦで扱う場合について説明する。
【０１６６】
次に、画素クロック生成部の第３の構成例の各部詳細を説明する。周波数演算部２０１は、図８と同様の構成を適用する（図示省略）。但し、カウンタ３０、変換部３１と加算部３２は、後述する周波数変調部２０２と同等の機能を持つので共通化し、周波数演算部２０１からは削除するものとする。よって、選択部２８の出力Ｍと選択部２９の出力Ｆを画素クロック平均周波数信号Ｍａｖｇとして出力する。
【０１６７】
図３０は、周波数変調部２０２の詳細構成例を示す図である。図３０の周波数変調部２０２は、画素クロック平均周波数信号Ｍａｖｇ（Ｍ、Ｆ）と周波数変調データＦＭＤａｔａ（ΔＭ、ΔＦ）とを加算した周波数データ（Ｍ’、Ｆ’）を画素クロック周波数指示信号Ｍｎｏｗに変換する。ここで、ΔＭは正負の数であり、ΔＦは正数である。すなわち、加算部２１１は、ＦとΔＦを加算してＦ’を得る。このとき桁上がりがあればＣＯを出力する。また、加算部２１０は、ＭとΔＭと桁上がり信号ＣＯとを加算してＭ’を得る。カウンタ２１２、変換部２１３及び加算部２１４は、図８のカウンタ３０、変換部３１及び加算部３２とそれぞれ同等の機能を果たし、Ｍ’とＦ’を画素クロック周波数指示信号Ｍｎｏｗに変換する。前述と同様の動作であるので、詳細説明は省略する。
【０１６８】
図３１は、周波数変調データ生成部２０３の詳細構成例を示す図である。図３１の周波数変調データ格納部２２０は、走査ライン中の各領域に対応する周波数変調データＦＭＤａｔａを、各領域番号をアドレスとして格納しておくメモリであり、供給されるアドレス信号に対応したデータを出力する。格納するデータは上述のようにして予め求められている。このデータは装置内の他の格納部に保存しておき、装置の立ち上げ時等にロードするようにしても良い。また、周波数変調制御部２２１は、走査ライン中の領域番号を演算しアドレス信号を生成する。すなわち、同期信号ＳＰＳＹＮＣの入力によりアドレスを０クリアし、画素クロックＰＣＬＫをカウントして、領域長Δｎに達する毎にアドレス信号をインクリメントしていく。なお、同期信号ＳＰＳＹＮＣの代わりに検出パルスＳＰｐｌｓを入力するようにしても良い。また、各領域の領域長を予め設定しておき、それぞれの領域長に達する毎にアドレスをインクリメントするようにしておけば、周波数変化量に応じて領域長を変えることができ、格納メモリ量の低減と周波数補正精度向上との両立を果たせる。
【０１６９】
ところで、走査速度または画素クロック周波数を変更すると、周波数変調データはこれに比例して変更する必要がある。例えば走査速度（ポリゴン回転速度）を変えずに、画素クロック周波数を変化させ画素密度を変更する場合、予め求めておいた周波数変調データを、変更する倍率に応じて比例して変更すればよい。つまり、例えば周波数変調データを、算出する際の画素クロック周波数を１／２倍して画素密度を１／２にする場合、算出時の周波数変調データを１／２倍したデータを周波数変調データ格納部２２０に格納するようにすればよい。
【０１７０】
この画素クロック生成部の第３の構成例によれば、第１の構成例の効果に加え、非線形性誤差をも補正した高精度な画素クロックが生成できる。また、この画素クロック生成部を画像形成装置に適用すれば、走査速度誤差を高精度に補正した画素クロックを基準に画像を形成するので、高品質な画像が得られる。また、ポリゴンミラーの面毎に走査速度の非線形性誤差が異なるなど非線形性誤差が走査ライン毎の周期性を持つ場合、予め各々の面毎に対応した周波数変調データを取得し、走査時にはその面に対応した周波数変調データを用いるようにすればよい。
【０１７１】
図３２はこのような場合に好適な周波数データ生成部の別の構成例を示す図である。図３２において、周波数変調制御部２２１は、図３１と同様に走査ライン中の領域番号を演算しアドレス信号を生成する。周波数変調データ格納メモリ２２３（１）〜（Ｎｆ）は、ポリゴンミラーの面数をＮｆとした時に、各面に対応し、走査ライン中の各領域に対応する周波数変調データＦＭＤａｔａを、各領域番号をアドレスとして格納しておくメモリであり、供給されるアドレス信号に対応したデータを出力する。ここで、どの面に対応するメモリが有効に選択されるかはメモリ選択信号によって選択される。メモリ選択信号生成部２２２は、周波数演算部２０１から出力される面選択信号ＦＮｏをメモリ選択信号に変換し出力する。ここで面選択信号ＦＮｏは相対的な面番号を示すものであり、メモリ選択信号は絶対的な面番号に対応しているので、ここでその対応付けを行う。
【０１７２】
この対応付けの方法の一例を示す。周波数変調データの取得時に、まず一定の画素クロック周波数で（周波数制御を行わずに）走査を行い、各面毎に各走査位置における理想位置からのずれΔを測定するが、このとき各面毎走査速度が異なるので比較部５の出力Ｌｅｒｒは各面毎固有であり異なった値をとる。通常、少なくともその誤差Ｌｅｒｒの順列から各面の絶対的な面番号は特定できる。よって、この各面毎の誤差Ｌｅｒｒも理想位置からのずれΔから算出した周波数変調データを格納したメモリ番号に対応して格納しておく。次に通常動作時には、ポリゴンミラーの回転が安定した後、一定の画素クロック周波数で（周波数制御を行わずに）走査を行い、面選択信号ＦＮｏと誤差Ｌｅｒｒを対応付けて取得し、その計測した誤差Ｌｅｒｒの並びと格納しておいた誤差Ｌｅｒｒの並びとを一致させることにより、面選択信号ＦＮｏとメモリ番号が対応付けられることになる。その後、画素クロック周波数制御動作を行うようにすればよい。なお、誤差Ｌｅｒｒの複数ライン分の平均を使用することにより確度を向上できる。このようにすれば、ポリゴンミラーの面毎に走査速度の非線形性誤差が異なっていても、各々の非線形性誤差に応じた画素クロック周波数補正を行えるので、より高精度な画素クロックが生成できる。
【０１７３】
次に、画素クロック生成部の別の構成例を説明する。図３３は画素クロック生成部の第４の構成例を示す図である。図３３の画素クロック生成部は、図１、図２２、図２４の画像形成装置のそれぞれの画素クロック生成部として適用できる。図３３において、図１２と同一図番を付したブロックは同様の構成で、同様の機能を果たすので、詳細説明は省略する。図３３の周波数演算部２３１は、図１２の周波数演算部５７と同様にして、誤差データＥｒｒに従って適正な画素クロック周波数を算出し、これを画素クロック平均周波数信号Ｍａｖｇに変換して出力する。周波数変調部２３２及び周波数変調データ生成部２３３は、図２８の周波数変調部２０２及び周波数変調データ生成部２０３と同様の機能を果たし、同様の構成で適用できるので、詳細説明は省略する。但し本例では、画素クロックＰＣＬＫの代わりにクロックＧＣＬＫを基準に動作し、セットパルスＳｅｔをカウントすることにより走査位置（ｎ）を計数する。もちろん、画素クロックＰＣＬＫを基準に動作させても良い。この画素クロック生成部の第４の構成例によれば、第２の構成例の効果に加え、非線形性誤差をも補正した高精度な画素クロックが生成できる。また、この画素クロック生成部を画像形成装置に適用すれば、走査速度誤差を高精度に補正した画素クロックを基準に画像を形成するので、高品質な画像が得られる。
【０１７４】
以上説明したように、本発明の第４の実施形態によれば、前述した従来技術の問題点に示した（１）〜（５）の走査速度誤差を高精度に補正する画素クロックを生成することができる。この画素クロックを基準にして、以下に説明する変調データ生成部により画像データを変調した変調データを生成し、レーザ駆動部を介して半導体レーザを駆動することにより、走査速度の誤差をも高精度に補正した高品位な画像を形成できる。
【０１７５】
また、図３４は、変調データ生成部１１９の構成例を示す図である。図３４の変調データ生成部１１９は、濃度データＤｄｅｎと位相データＤｐｈからなる画像データから半導体レーザを駆動するための変調データを生成する。この変調は１ドットのパルス幅を変調するＰＷＭ変調であり、濃度データがパルス幅を、位相データがドット中のパルス位置を示す。図３４の変調データ生成部は、図１２、２２、２４、３３の画像形成装置の変調データ生成部として適用すると好適である。
【０１７６】
図３４において、データ変換部３０１は、濃度データＤｄｅｎをＰＷＭ変調パルス幅データＤｏｕｔに変換するものである。上述してきたように１ドットの幅つまり画素クロックＰＣＬＫの１周期は高周波多相クロックＶＣＬＫ０〜１５の位相差Ｔｖを単位とするＭ値で表され、目標の画素クロック周波数がＭｔａｒｇｅｔで定められているとする。このとき濃度データＤｄｅｎの最大値をｄｍａｘとすると（例えば濃度データが４ビットで表されるとすると最大値ｄｍａｘ＝１５）、Ｄｏｕｔ＝Ｍｔａｒｇｅｔ＊Ｄｄｅｎ／ｄｍａｘなる演算をして変換データＤｏｕｔを得る。この変換は１ドット毎演算をして求めてもよいが、予め濃度データに対応する変換データを定めた変換データ表ＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）を変換データ生成部３０７により生成しておき、これをデータ変換部３０１に供給して、この変換データに従って変換するようにしておけばよい。あるいは、変換データ生成部３０７は、別途求めた変換データを格納するものであっても良い。図３５（ａ）はこの変換データの一例を示す図である。また、データ変換部３０１は、濃度データが０であるときにＤｚｅｒｏをＨに、濃度データがフル濃度（ｄｍａｘ）であるときにＤｆｕｌｌをＨとする信号を生成する。実際は走査速度の変動により、画素クロックＰＣＬＫ周波数はその都度制御されており、そのときの画素クロック周波数はＭｔｒａｇｅｔと一致しないこともある。その場合はその差分を補正データとして供給し、データ補正部３０２により、その差分を補正し、補正したＰＷＭ変調データＤｐｗｍを生成する。また、画素クロック周波数を１ライン中に周波数変調し、走査速度の非線形誤差を補正する図３３の画素クロック生成部を用いる場合は、周波数変調データＦＭＤａｔａを補正データとして供給すると、画素クロックの周波数変調に応じた補正が行われる。詳細な構成及び動作は後述する。また、画素クロックのＭｔａｒｇｅｔとの差が微小な場合、一般にフル濃度での微小な差は画像としてほとんど差異はないので、簡便のためデータ補正部３０２を省略しても良い。
【０１７７】
遅延部３０３は、位相データＤｐｈをデータ変換部３０１及びデータ補正部３０２の演算時間分だけ遅延させるものであり、ＰＷＭ変調データＤｐｗｍと供給する時間を一致させる。またＤｆｕｌｌ及びＤｚｅｒｏ信号も遅延調整がなされて出力されているものとする。
【０１７８】
エッジ時刻演算部３０４は、ＰＷＭ変調データＤｐｗｍ、フル濃度信号Ｄｆｕｌｌ、ゼロ濃度信号Ｄｚｅｒｏおよび位相データＤｐｈに従い、また画素クロック生成部より供給される画素クロックＰＣＬＫの立ち上がり時刻情報などを表すＰＣＬＫデータを基準として、変調データの立ち上がり時刻情報ＷＰＳ及び立下り時刻情報ＷＰＲを後述する演算により生成するものである。
【０１７９】
Ｓｅｔ／Ｒｓｔパルス生成部３０５は、変調データの立ち上がり及び立下り時刻情報ＷＰＳ、ＷＰＲからセットパルスＷＰＳｐｌｓ、リセットパルスＷＰＲｐｌｓ及びその位相情報ＷＰＳｑｐ、ＷＰＲｑｐを生成するものである。
【０１８０】
変調データ出力部３０６は、セットパルスＷＰＳｐｌｓ、リセットパルスＷＰＲｐｌｓ及びその位相情報ＷＰＳｑｐ、ＷＰＲｑｐから変調データパルスを生成し出力するものである。
【０１８１】
次に、図３４の各部の詳細構成及び動作を説明する。図３６は、データ補正部３０２の一例を示す図である。図３６のデータ補正部３０２は、目標画素クロック周波数Ｍｔａｒｇｅｔと現在の画素クロック周波数Ｍとの差分をΔＭとした時、Ｄｐｗｍ＝Ｄｏｕｔ（１＋ΔＭ／Ｍｔａｒｇｅｔ）なる演算を行ってデータの補正を行う。なお、前述したように周波数変調データＦＭＤａｔａ（またはその上位一部のデータ）を差分データに加算してもよい。データ補正部３０２において、まず割算器３１０はΔＭ÷Ｍｔａｒｇｅｔの演算を行う。なお、通常、高速な割算器を構成するのは困難なので、Ｍｔａｒｇｅｔの逆数を与え、ΔＭ×１／Ｍｔａｒｇｅｔの演算を行う掛算器としてもよい。また、掛算器３１１は、入力したＰＷＭ変調データＤｏｕｔに割算器３１０の出力を掛け、Ｄｏｕｔ・ΔＭ／Ｍｔａｒｇｅｔを求める掛算器である。また、遅延部３１２は、掛算器３１１の演算時間分ＰＷＭ変調データＤｏｕｔを遅延させる。また、加算器３１３は、遅延部３１２出力と掛算器３１１出力とを加算し、補正したＰＷＭ変調データＤｐｗｍ（＝＝Ｄｏｕｔ（１＋ΔＭ／Ｍｔａｒｇｅｔ））を出力する。
【０１８２】
図３７は、エッジ時刻演算部３０４で行なう演算を表す表を示す図であり、図３８は、演算の一例を示す信号波形図である。いまの例では、画素クロックＰＣＬＫの立ち上がり時刻情報などを表すＰＣＬＫデータとして、内部動作クロックＧＣＬＫを基準に生成されたデータであり、画素クロックの立ち上がりを表すセットパルスＰＣＫｓｅｔとその位相情報ｓｅｔｐｈ、セットパルスＰＣＫｓｅｔ立ち上がりエッジを起点としその画素クロックの中心位置を表すデータｃｅｎｔｐｏｓ、及びセットパルスＰＣＫｓｅｔ立ち上がりエッジを起点とし次の画素クロックの立ち上がり位置を表すデータｎｅｘｔｐｏｓと、からなる情報が供給されている。
【０１８３】
そのドットがフル濃度のドットであるかを示すフル濃度信号Ｄｆｕｌｌ（Ｈがフル濃度時）、そのドットがゼロ濃度（つまり白ドット）のドットであるかを示すゼロ濃度信号Ｄｚｅｒｏ（Ｈがゼロ濃度時）、位相データＤｐｈ（ここでは左／右／中の３つのドット位相状態があるものとする）と、前ドットが点灯状態で終わっているか否かを示す信号ｐｒｅｖ’の各状態（Ｓ１〜Ｓ１０）に応じて、変調データの立ち上がり時刻情報ＷＰＳ及び立下り時刻情報ＷＰＲと前ドット立下り時刻情報ｐｒｅｖＲＳＴと、当該ドットが点灯状態で終わるか否かを示す信号ｐｒｅｖ（次ドットでのｐｒｅｖ’になる）が図３７に示すように生成される。ここで、Ｘは、その信号の状態が何であっても良いという意味であり、ＷＰＳ等の欄に示す”−”はそのドットでは有効データではないことを表す。一例を説明すると、フル濃度信号Ｄｆｕｌｌ＝Ｈの時は、他の信号がどの状態であってもｐｒｅｖ＝Ｈとし、ｐｒｅｖ’＝ＬであればＷＰＳ＝ｓｅｔｐｈを代入し出力する。このとき他の情報は有効データではない。
【０１８４】
図３８に基づき、さらに演算例を説明する。ここではＤｐｗｍ＝ｆｕｌｌの時、Ｄｆｕｌｌ＝Ｈを示し、Ｄｐｗｍ＝ｚｅｒｏの時、Ｄｚｅｒｏ＝Ｈであり、その他は変調データの値を記す。まず、（１）のドットサイクルでは、Ｄｐｗｍ＝ｄ０であり（つまりＤｆｕｌｌ＝Ｌ、Ｄｚｅｒｏ＝Ｌ）、Ｄｐｈ＝左、またｐｒｅｖ’＝Ｌであるので、図３７のＳ５の状態であるので、ＷＰＳ＝ｓｅｔｐｈ、ＷＰＲ＝ｓｅｔｐｈ＋ｄ０、ｐｒｅｖＲＳＴ＝無効、ｐｒｅｖ＝Ｌとなる。図中、各時刻情報を矢印で記し、記入の無いサイクルで無効を表す。
以降、ドットサイクル（２）では、Ｓ７の状態であるので、ＷＰＳ＝ｎ１−ｄ１、ＷＰＲ，ｐｒｅｖＲＳＴ＝無効、ｐｒｅｖ＝Ｈ
ドットサイクル（３）では、状態Ｓ４で、ｐｒｅｖＲＳＴ＝ｓｅｔｐｈ、他無効、ｐｒｅｖ＝Ｌ
と演算される（以降サイクルの記述は省略）。
【０１８５】
また、（ｋ）ＰＣＬＫ及び（ｌ）ＷｒＰＬＳは、説明のため、画素クロックと変調データを実時間で表したものである。
【０１８６】
次に、Ｓｅｔ／Ｒｓｔパルス生成部３０５は、変調データの立ち上がり時刻情報ＷＰＳが、ＧＣＬＫのカウント数ＷＰＳｃｎｔと位相情報ＷＰＳｑｐに分けられ（具体的には、例えば、下位６ビットが位相情報、それ以上がカウント数を示す）、ＰＣＫｓｅｔパルスをＧＣＬＫのカウント数ＷＰＳｃｎｔ分遅延させたパルスをセットパルスＷＰＳｐｌｓとして出力し、その出力に合わせて位相情報ＷＰＳｑｐも出力する。また同様に、ｐｒｅｖＲＳＴ時刻情報が無効であれば、変調データの立ち下がり時刻情報ＷＰＲをＧＣＬＫのカウント数ＷＰＲｃｎｔと位相情報ＷＰＲｑｐに分け、ＣＫｓｅｔパルスをＷＰＲｃｎｔ分遅延させたパルスをリセットパルスＷＰＲｐｌｓとして出力し、合わせて位相情報ＷＰＲｑｐを出力する。ｐｒｅｖＲＳＴ時刻情報が有効であれば、その前にＰＣＫｓｅｔパルスと同一サイクルでリセットパルスＷＰＲｐｌｓと位相情報ｓｅｔｐｈを出力し、続いて変調データの立ち下がり時刻情報ＷＰＲに基づいた生成を行う。
【０１８７】
図３９は変調データ出力部３０６の構成例を示す図である。図３９において、遅延部３２０は、多相クロックＶＣＬＫ０〜１５を基準として、Ｓｅｔ／Ｒｓｔパルス生成部３０５から供給されるＷＰＳｐｌｓを位相情報ＷＰＳｑｐに従って遅延させたパルスＳを出力するものであり、また、ＧＣＬＫサイクル中の期間ＱＴを特定するためクロックＧＣＬＫも入力する。あるいは期間を示す期間信号ＱＴを入力しても良い（この場合は高周波クロック生成部５１でこのＱＴ信号を生成する）。つまり、パルスＳはＷＰＳｐｌｓをＷＰＳｑｐ・Ｔｖだけ遅延させたパルスとなる。また、遅延部３２１は、同様に、多相クロックＶＣＬＫ０〜１５を基準として、Ｓｅｔ／Ｒｓｔパルス生成部３０５から供給されるＷＰＲｐｌｓを位相情報ＷＰＲｑｐに従って遅延させたパルスＲを出力するものであり、パルスＲはＷＰＲｐｌｓをＷＰＲｑｐ・Ｔｖだけ遅延させたパルスとなる。ＳＲ−Ｆ／Ｆ３２２は、パルスＳの立ち上がりでセット「Ｈ」し、パルスＲの立ち上がりでリセット「Ｌ」した変調データＷｒＰＬＳを出力するＳｅｔ−Ｒｅｓｅｔフリップフロップである。
【０１８８】
このように、フル濃度信号Ｄｆｕｌｌを適用することにより、目標画素クロック周波数Ｍｔａｒｇｅｔが現在の画素クロック周波数Ｍと一致しなくても、例えばＤｐｗｍ＝Ｍ−１となっても、パルスが欠けることなくフル濃度のパルスが生成できる。よって、現在の画素クロック周波数を補正データとして供給しなくても良いので、簡便な構成となり、また高速化にも対応できる。
【０１８９】
また、通常、画像形成装置には所望の濃度データが忠実に実際の画像濃度として再現できるように、その装置に依存した階調非線形性を補正するため、濃度データを一般にガンマ補正と呼ばれる補正がなされる。このガンマ補正を図３４のデータ変換部で同時に行うようにしても良い。つまり、変換データを図３５（ｂ）の曲線に示すように、フル濃度ｄｍａｘが目標画素クロック周波数Ｍｔａｒｇｅｔとなるようなガンマ補正データを変換データとして格納しておくようにすればよい。このようにすれば、回路規模の縮小ができる。
【０１９０】
以上説明したように、本実施形態の変調データ生成部とすれば、パルス幅変調分解能を向上させても回路は煩雑になることも無く回路規模が増大することなく簡便な構成で実現できるため、分解能の高いパルス幅変調を行った変調データを生成でき、さらには走査速度の変動があってもその誤差を高精度に追従した画素クロックに基づいて生成しているので、高品質な画像が得られる。また、走査速度の非線形性誤差に応じた画素クロック周波数補正を行ってもその画素クロックの周波数変動に応じた補正がなされるので、走査速度の非線形誤差に拘わらず所望の濃度データに対して忠実な階調の画像が得られる。
【産業上の利用可能性】
【０１９１】
本発明は、レーザプリンタ、デジタル複写機などに利用可能である。
【図面の簡単な説明】
【０１９２】
【図１】本発明の画像形成装置の第１の実施形態の全体構成を示す図である。
【図２】画素クロック生成部の第１の構成例を示す図である。
【図３】図２の画素クロック生成部における信号の一例を示すタイミング図である。
【図４】比較部の構成例を示す図である。
【図５】周波数演算部の構成例を示す図である。
【図６】演算制御部が信号を出力する手順を説明するフローチャートである。
【図７】第１の実施形態の制御方法による引き込み過程の一例を説明する図である。
【図８】周波数演算部の別の構成例を示す図である。
【図９】フィルタ特性の一例を説明する図である。
【図１０】伝達関数Ｈ（ｚ）を実現するフィルタの構成例を示す図である。
【図１１】変調データ生成部の動作を説明する図である。
【図１２】画素クロック生成部の第２の構成例を示す図である。
【図１３】高周波クロック生成部で生成される各クロックのタイミングを示す図である。
【図１４】高周波クロック生成部の構成例を示す図である。
【図１５】計数部の構成例を示す図である。
【図１６】画素クロック出力部の構成例を示す図である。
【図１７】計数部および画素クロック出力部の各信号のタイミングの一例を示す図である。
【図１８】比較部の構成例を示す図である。
【図１９】比較部の各信号のタイミングの一例を示す図である。
【図２０】変調データ生成部の構成例を示す図である。
【図２１】変調データ生成部の各信号のタイミングの一例を示す図である。
【図２２】本発明の画像形成装置の第２の実施形態の構成を示す図である。
【図２３】フォトディテクタからの同期信号のタイミングの一例を示す図である。
【図２４】本発明の画像形成装置の第３の実施形態の構成を示す図である。
【図２５】各走査光学系における操作時間に対する走査幅の関係を示す図である。
【図２６】従来例による画像形成装置の一般的な概略構成図である。
【図２７】１ライン中の走査速度の非線形性誤差の一例を示す図である。
【図２８】画素クロック生成部の第３の構成例を示す図である。
【図２９】走査位置ｎに対する走査速度Ｖ（ｎ）と理想位置からのずれΔ（ｎ）と周波数変調データＦＭＤａｔａ（ｎ）の一例を示す図である。
【図３０】周波数変調部の詳細構成例を示す図である。
【図３１】周波数変調データ生成部の詳細構成例を示す図である。
【図３２】周波数データ生成部の別の構成例を示す図である。
【図３３】画素クロック生成部の第４の構成例を示す図である。
【図３４】変調データ生成部の構成例を示す図である。
【図３５】変換データの一例を示す図である。
【図３６】データ補正部の一例を示す図である。
【図３７】エッジ時刻演算部で行なう演算を表す表を示す図である。
【図３８】演算の一例を示す信号波形図である。
【図３９】変調データ出力部の構成例を示す図である。
【符号の説明】
【０１９３】
１                高周波クロック生成部
２                第１エッジ検出部
３                第２エッジ検出部
４                分周器
５                比較部
６                フィルタ
７                周波数演算部
５１              高周波クロック生成部
５２              第１エッジ検出部
５４              計数部
５８              画素クロック出力部
７０              ＳＥＴ時間演算部
７１              ＲＳＴ時間演算部
７２              カウンタ
７５              カウンタ
７８              遅延部
９２              変調パターン生成部
９３              シリアライザ
１０１            半導体レーザ
１０２            コリメータレンズ
１０３            シリンダレンズ
１０４            ポリゴンミラー
１０５            感光体
１０６            ｆθレンズ
１０８，１０９    フォトディテクタＰＤ１、およびＰＤ２
１１０            ミラー
１１１            画素クロック生成部
１１２            画像処理部
１１３            変調データ生成部
１１４            レーザ駆動部
１１８            画素クロック生成部
１１９            変調データ生成部
１２６            同期信号分離部
１２７            画素クロック生成部
１２８            変調データ生成部
１３０            画素クロック生成部
１３１            変調データ生成部
１３３            画像処理部
１５３，１５５，１５６  折り返しミラー
２０１            周波数演算部
２０２            周波数変調部
２０３            周波数変調データ生成部
２１０，２１１，２１４  加算部
２１２            カウンタ
２１３            変換部
２２０            周波数変調データ格納部
２２１            周波数変調制御部
２２２            メモリ選択信号生成部
２２３            周波数変調データ格納メモリ
２３１            周波数演算部
２３２            周波数変調部
２３３            周波数変調データ生成部
３０１            データ変換部
３０２            データ補正部
３０３            遅延部
３０４            エッジ時刻演算部
３０５            Ｓｅｔ／Ｒｓｔパルス生成部
３０６            変調データ出力部
３０７            変換データ生成部
【図１】
0004796408.tif 000002
【図２】
0004796408.tif 000003
【図３】
0004796408.tif 000004
【図４】
0004796408.tif 000005
【図５】
0004796408.tif 000006
【図６】
0004796408.tif 000007
【図７】
0004796408.tif 000008
【図８】
0004796408.tif 000009
【図９】
0004796408.tif 000010
【図１０】
0004796408.tif 000011
【図１１】
0004796408.tif 000012
【図１２】
0004796408.tif 000013
【図１３】
0004796408.tif 000014
【図１４】
0004796408.tif 000015
【図１５】
0004796408.tif 000016
【図１６】
0004796408.tif 000017
【図１７】
0004796408.tif 000018
【図１８】
0004796408.tif 000019
【図１９】
0004796408.tif 000020
【図２０】
0004796408.tif 000021
【図２１】
0004796408.tif 000022
【図２２】
0004796408.tif 000023
【図２３】
0004796408.tif 000024
【図２４】
0004796408.tif 000025
【図２５】
0004796408.tif 000026
【図２６】
0004796408.tif 000027
【図２７】
0004796408.tif 000028
【図２８】
0004796408.tif 000029
【図２９】
0004796408.tif 000030
【図３０】
0004796408.tif 000031
【図３１】
0004796408.tif 000032
【図３２】
0004796408.tif 000033
【図３３】
0004796408.tif 000034
【図３４】
0004796408.tif 000035
【図３５】
0004796408.tif 000036
【図３６】
0004796408.tif 000037
【図３７】
0004796408.tif 000038
【図３８】
0004796408.tif 000039
【図３９】
0004796408.tif 000040