(57)【特許請求の範囲】
【請求項１】
周期Ｔで互いに位相差Ｔ／Ｐずつ位相をずらした相数Ｐの多相クロックを生成する多相クロック生成手段と、
入力される第１及び第２の同期信号のエッジを、該同期信号に含まれるノイズを除去して検出するエッジ検出手段と、
前記第１及び第２の同期信号の時間間隔を検出し、検出値と目標値とを比較し、両者の誤差を出力する比較手段と、
前記比較手段の出力する誤差に従って、画素クロック周波数の設定値を演算し、該演算した設定値に従って画素クロック周波数を指示する周波数指示信号を出力する周波数演算手段と、
前記多相クロックの位相差Ｔ／Ｐを単位時間とし、前記周波数指示信号に従って、前記単位時間の数を計数することにより画素クロックの立上り時刻及び立下り時刻を算出する計数手段と、
前記多相クロックを基準とし、前記計数手段により算出される画素クロックの立上り時刻及び立下り時刻に従って画素クロックを生成して出力する画素クロック出力手段と、
を備える画素クロック生成装置において、
前記多相クロックの１つをＱ分周（Ｑは１以上の整数）した内部クロックを生成する分周手段をさらに備え、
前記計数手段は、前記画素クロックの立上り時刻及び立下り時刻の算出を、前記内部クロックを基準にした計数と、該内部クロック周期に満たない端数部の加減算による演算とにより行うことを特徴とする画素クロック生成装置。
【請求項２】
請求項１記載の画素クロック生成装置において、
前記エッジ検出手段が、前記同期信号を検出した後、シフトレジスタを用いて前記端数部を求めて前記計数手段に供給することを特徴とする画素クロック生成装置。
【請求項３】
請求項１記載の画素クロック生成装置において、
前記エッジ検出手段が、前記同期信号を検出した後、前記内部クロックからの端数部を前記多相クロックの数をカウントすることで求めて前記計数手段に供給することを特徴とする画素クロック生成装置。
【請求項４】
請求項１及至３のいずれか１項に記載の画素クロック生成装置において、
前記計数手段は、前記画素クロックの立上り時刻を、前記内部クロックを基準としたセットパルスと端数部の表す該セットパルスの位相情報とで表し、前記画素クロックの立下がり時刻を、前記内部クロックを基準としたリセットパルスと端数部の表す該リセットパルスの位相情報として出力することを特徴とする画素クロック生成装置。
【請求項５】
請求項４記載の画素クロック生成装置において、
前記画素クロック出力手段は、前記多相クロックを基準として、前記セットパルスを前記セットパルスの位相情報に従って遅延させたパルスでセットし、前記リセットパルスを前記リセットパルスの位相情報に従って遅延させたパルスでリセットをすることにより画素クロックを生成することを特徴とする画素クロック生成装置。
【請求項６】
請求項５記載の画素クロック生成装置において、
前記画素クロック出力手段は、前記セットパルスまたは前記リセットパルスの位相情報を元に窓関数を生成し、前記多相クロックの中から前記位相情報によって選ばれたクロックと前記窓関数との論理積によって遅延パルスを生成する遅延手段を備えることを特徴とする画素クロック生成装置。
【請求項７】
請求項５記載の画素クロック生成装置において、
前記画素クロック出力手段は、前記セットパルスまたは前記リセットパルスの位相情報を元に前記多相クロックの各クロックに同期したデータを生成し、それらの論理和によって遅延パルスを生成する遅延部を備えることを特徴とする画素クロック生成装置。
【請求項８】
請求項１及至３のいずれか１項に記載の画素クロック生成装置において、
前記画素クロック出力手段は、
前記画素クロックの立上り時刻及び立下り時刻に従って、前記内部クロックを基準とし、該内部クロックをＱ×Ｐに時分割した各領域に対応する前記画素クロックの状態を表す画素クロックパターンを生成するクロックパターン生成手段と、
前記多相クロックを基準として、前記画素クロックパターンを順次出力することにより画素クロックを生成するシリアライザと、
を備えることを特徴とする画素クロック生成装置。
【請求項９】
請求項８記載の画素クロック生成装置において、
前記シリアライザは、入力されたデータをビットごとにそれぞれの多相クロックに同期させ、多相クロックの状態に基づいて適切なビットを選択して出力することで、所望のパラレル−シリアル変換を行うことを特徴とする画素クロック生成装置。
【請求項１０】
請求項１乃至９のいずれか１項に記載の画素クロック生成装置において、
前記比較手段は、
前記第１の同期信号を前記内部クロックを基準とした第１同期パルスと端数部の表す該第１同期パルスの位相情報とで表した第１同期情報を生成し、前記第２の同期信号を前記内部クロックを基準とした第２同期パルスと端数部の表す該第２同期パルスの位相情報とで表した第２同期情報を生成する同期情報検出手段と、
前記第１同期パルスと前記第２同期パルスとの間の、前記計数手段から供給される前記画素クロックの立上り時刻の数である画素クロック数を計数し、該計数値と前記画素クロック数の目標数で設定される目標値との画素クロックサイクル誤差を求める第１誤差検出手段と、
前記第１及び第２同期パルスのそれぞれの位相情報と前記計数手段から供給される画素クロックの計数情報とから位相誤差を求める第２誤差検出手段と、
前記画素クロックサイクル誤差と前記位相誤差とから位相差Ｔ／Ｐを単位とする誤差に換算して出力する誤差演算手段と、
を備えることを特徴とする画素クロック生成装置。
【請求項１１】
請求項１０記載の画素クロック生成装置において、
前記第２誤差検出手段は、前記第１及び第２同期パルスのそれぞれの位相情報と前記計数手段から供給される画素クロックの計数情報と位相差Ｔ／Ｐを単位とする第２目標値とから位相誤差を求めることを特徴とする画素クロック生成装置。
【請求項１２】
請求項１乃至１１のいずれか１項に記載の画素クロック生成装置を利用し、該画素クロック生成装置で生成された画素クロックに基づき、入力される画像データに従ってパルス変調をしたパルス変調信号を生成するパルス変調装置であって、
前記画像データを、前記画素クロックをＲ個に時分割した各領域に対応しオンオフを示すビット列である所望のパルス変調信号を表す変調データに変換する画像データ変換手段と、
前記画素クロックの立ち上がり時刻と前記画素クロック周波数指示信号に従って、画素クロックをＲ個に時分割した各領域を前記位相差Ｔ／Ｐに区分された各領域に対応して表すクロックパターンを生成するクロックパターン生成手段と、
前記変調データと前記クロックパターンとから前記位相差Ｔ／Ｐに区分された各領域に対応して表される変調パターンを生成する変調パターン生成手段と、
前記多相クロックを基準とし、前記変調パターンを順次出力することによりパルス変調信号を生成するシリアライザと、
を備えることを特徴とするパルス変調装置。
【請求項１３】
請求項１２記載のパルス変調装置において、
前記シリアライザは、入力されたデータをビットごとにそれぞれの多相クロックに同期させ、多相クロックの状態に基づいて適切なビットを選択して出力することで、所望のパラレル−シリアル変換を行う事を特徴とするパルス変調装置。
【請求項１４】
画素クロックに基づき画像データに従ってパルス変調をしたパルス変調信号で光源を駆動し、該光源から出力される光束を被走査媒体上に走査して画像を形成する画像形成装置において、
前記画素クロックを生成する請求項１乃至１１のいずれか１項に記載の画素クロック生成装置を備えることを特徴とする画像形成装置。
【請求項１５】
請求項１４記載の画像形成装置において、
前記光束の走査ライン上に２つの光検出手段を備え、前記光検出手段の各々で第１及び第２の同期信号が検出されることを特徴とする画像形成装置。
【請求項１６】
複数の光源を備え、該光源をそれぞれ画素クロックに基づき画像データに従ってパルス変調をしたパルス変調信号で駆動し、該光源から出力される光束を被走査媒体上に走査して画像を形成する画像形成装置において、
前記複数の光源の各クロックに対応した請求項１乃至１１のいずれか１項に記載の画素クロック生成装置と、前記光束の走査ライン上に設けた２つの光検出手段と、前記光検出手段で検出される第１及び第２の同期信号を、各光源に対応した第１及び第２の同期信号に分離する検出信号分離手段とを備え、
前記分離された各々の第１及び第２の同期信号を入力して、各々の画素クロック生成装置で生成される画素クロックに基づいて生成する各パルス変調信号により、対応する光源を駆動することを特徴とする画像形成装置。
【請求項１７】
被走査媒体を複数備え、該被走査媒体に各々対応した複数の光源を画素クロックに基づき画像データに従ってパルス変調をしたパルス変調信号で駆動し、該光源から出力される光束を前記被走査媒体上に走査して複数の画像を形成し、前記被走査媒体上に形成した複数の画像を１つの画像形成媒体に重ね合わせることにより画像を形成する画像形成装置において、
前記複数の光源の各々に対応した請求項１乃至１１のいずれか１項に記載の画素クロック生成装置と、前記複数の光源から出力される光束の走査ライン上に設けられた２つの光検出手段とを備え、
前記光検出手段で検出される第１及び第２の同期信号をそれぞれ入力として、各々の画素クロック生成装置で生成される各画素クロックに基づいて生成される各パルス変調信号により、複数の被走査媒体に対応した各々の光源を駆動することを特徴とする画像形成装置。
【請求項１８】
請求項３４乃至１７のいずれか１項に記載の画像形成装置において、
前記光源から出力される光束を前記被走査媒体上に走査する際、Ｎｆラインの周期性を持って走査する光走査手段を備え、
前記画素クロック生成装置における前記周波数演算手段が、画素クロック周波数の設定値をＮｆ個格納する周波数設定値格納手段と、前記Ｎｆ個の設定値を前記第１または第２の同期信号毎に循環して選択する設定値選択手段と、前記選択された設定値に従って前記周波数指示信号に変換する周波数指示信号変換手段と、前記比較手段から出力される前記誤差に従って、前記選択されている設定値を演算し前記周波数設定値格納手段に格納した設定値を更新する設定値演算更新手段と、
を備えることを特徴とする画像形成装置。
【請求項１９】
請求項１８記載の画像形成装置において、
前記光走査手段が、面数がＮｆであるポリゴンミラーを備え、該ポリゴンミラーが回転することにより走査を行うことを特徴とする画像形成装置。
【請求項２０】
請求項１８または１９記載の画像形成装置において、
前記設定値演算更新手段は、前記誤差に従って全ての設定値を演算更新するか、選択されている設定値のみ演算更新するかを、入力される演算変更信号に従い変更することを特徴とする画像形成装置。
【請求項２１】
請求項２０記載の画像形成装置において、
前記演算変更信号は、前記誤差に応じて生成され周波数制御がロックしたか否かを示すロック検知信号であることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レーザプリンタ、デジタル複写機、その他の画像形成装置に係り、より詳しくは、これら画像形成装置で使用される画素クロック及びパルス変調信号の生成装置、並び画像形成装置に関する。
【背景技術】
【０００２】
レーザプリンタ、デジタル複写機等の画像形成装置の従来の一般的な構成を図４４に示す。図４４において、半導体レーザユニット９から発光されたレーザ光は、回転するポリゴンミラー３によりスキャンされ、走査レンズ２を介して被走査媒体である感光体１上に光スポットを形成し、該感光体１を露光して静電潜像を形成する。このとき、１ライン毎に、フォトディテクタ４が走査ビームを検出する。位相同期回路６は、クロック生成回路５からのクロックを入力し、フォトディテクタ４の出力信号に基づいて、１ライン毎に、位相同期のとれた画像クロック（画素クロック）を生成して画像処理ユニット７とレーザ駆動回路８へ供給する。画像処理ユニット７は、位相同期回路６から与えられる画素クロックを基準に画像データを生成してレーザ駆動回路８へ出力する。レーザ駆動回路８は、画像処理ユニット７により生成された画像データと位相同期回路６により１ライン毎に位相が設定された画像クロックに従い、半導体レーザの発光時間をコントロールする。
【０００３】
このような走査光学系において、被走査面上を走査する光スポット（走査ビーム）の走査速度のムラは画像の揺らぎとなり画像品質の劣化を招く。特にカラー画像においては、各色の主走査ドット位置ずれが生じるため色ずれを生じ、色再現性の劣化、解像度の劣化を招く。従って高品位の画質を得るためには走査速度ムラの補正は不可欠である。
【０００４】
この走査速度ムラ（誤差）は大別すると以下のものが挙げられる。それぞれについて主な要因を述べる。
【０００５】
（１）ポリゴンミラーの面毎（走査ライン毎）の誤差
このような走査速度ムラを引き起こす要因としては、ポリゴンミラー等の偏向器の偏向反射面の回転軸からの距離のばらつき（すなわちポリゴンミラーの偏芯）や、ポリゴンミラーの各面の面精度などがある。この種の誤差は数ライン（例えばポリゴンミラーの面数分のライン数）の周期性を持った誤差となる。以下、適宜、この種の誤差を面毎の誤差と称す。
【０００６】
（２）走査平均速度変動による誤差
走査平均速度とはポリゴンミラーの各面の走査速度の平均を示したものである。このような走査速度ムラを引き起こす要因としては、ポリゴンミラーの回転速度の変動や、温度、湿度や振動等の種々の環境変動による走査光学系の変動によるものがある。また、温度変動等により光源である半導体レーザの発振波長が変化するため走査光学系の色収差により走査速度が変動するものなどがある。この種の誤差は比較的緩やかな変動となる。
【０００７】
（３）光源毎の誤差
これは、例えば半導体レーザアレイ等の複数の光源を備え、共通の走査光学系で複数の光ビームを同時に走査するマルチビーム光学系の場合に発生する。これの主な要因は、各光源の発振波長に差があり、走査光学系の色収差により走査速度が変動することによる。なお、発振波長の変動は光源毎に異なるので、上記（２）の誤差は光源毎に異なることもある。また複数の光源の組み付け精度によっても複数ビームの走査速度に差を生じる。
【０００８】
（４）走査光学系毎の誤差
これは、複数の感光体・走査光学系を備えて多色対応とした画像形成装置の場合であり、各走査光学系の走査速度差が、画像品質に大きく影響する。これの主な要因としては、走査光学系の各部品の製造精度や組付け精度、経時変化などによる変形などがあり、光源も異なるので前述の（３）の誤差も生じる。この誤差は、走査平均速度そのものが異なり、さらに上記誤差（１）、（２）が個別に生じる。
なお、画像形成装置の中には走査光学系の一部ユニットを共通に用いるものもあるが、それぞれの光源から被走査媒体（感光体）への光路は異なるので、これも（４）に含まれる。
【０００９】
従来、これらの走査速度の誤差を補正する方法としては、画素クロックの周波数を走査速度に応じて変化させる方法（例えば、特許文献１）がある。これは、走査の開始から終了までの画素クロックのカウント数が所定値になるよう画素クロックを発生させる発振器の周波数を制御（いわゆるPLL（Phase  Locked  Loop）制御）するものである。
【００１０】
また、走査速度の誤差を補正する別の方法として、生成した高周波クロックを基に画素クロックの位相制御を行う方法（例えば、特許文献２）がある。これは、走査の開始から終了までの高周波クロックのカウント数が所定値になるよう画素クロックの位相を制御するものである。この高周波クロックは例えば水晶発振器のような精度のよいクロックを基準クロックとして生成できるので、精度のよいクロックが得られ、これを基準に画素クロックの位相制御を行うので、画素クロックの制御精度もよいものが生成できる。
【００１１】
【特許文献１】特開２００１−１８３６００号公報
【特許文献２】特開２００４−２６２１０１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来の画素クロック周波数の制御方法では次のような問題があった。すなわち、位相比較を行う基準クロックの周波数が１ラインの周波数であるので、発振する画素クロックに対して極めて低く（数千〜数万分の１）、充分なPLLのオープンループゲインが確保できず、充分な制御精度を得ることができない。また、外乱にも弱くクロック周波数が変動してしまい精度の良いクロックが生成できない。さらには、面毎の誤差を補正する場合は、１走査毎に発振器であるVCOの制御電圧を変化させるため、クロック周波数が安定して発振するまでに時間を要してしまう。
【００１３】
また、高周波クロックを基に画素クロックの位相制御を行う方法は、画素クロックの位相制御をするだけであるので走査速度の誤差の補正可能範囲に限度がある。換言すれば、走査速度の誤差が補正可能範囲に収まるように、ポリゴンミラーの回転精度や走査光学系の製造誤差や組付け誤差などの許容値を厳しく要求しなければならない。
【００１４】
さらに、一般に図４４のような構成の画像形成装置においては、走査ビームを検出するフォトディテクタから位相同期回路までの距離は、数十センチメートルから数メートルに達する事もあり、フォトディテクタの出力信号は非常に長い立ち上がり時間を持つばかりでなく、外部からの雑音の影響も受けてしまうために、あたかも複数の立ち上がりエッジを持つように見え、正しく同期タイミングが検出できないという問題がある。
【００１５】
本発明は上記の問題を鑑みてなされたものであり、様々な要因により生じる走査速度の誤差を高精度に補正できる画素クロック生成装置及びパルス変調装置、並びに走査速度の誤差を高精度に補正する画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の画素クロック生成装置は、周期Ｔで互いに位相差Ｔ／Ｐずつ位相をずらした相数Ｐの多相クロックを生成する多相クロック生成手段と、入力される第１及び第２の同期信号のエッジを、該同期信号に含まれるノイズを除去して検出するエッジ検出手段と、前記第１及び第２の同期信号の時間間隔を検出し、検出値と目標値とを比較し、両者の誤差を出力する比較手段と、前記比較手段の出力する誤差に従って、画素クロック周波数の設定値を演算し、該演算した設定値に従って画素クロック周波数を指示する周波数指示信号を出力する周波数演算手段と、前記多相クロックの位相差Ｔ／Ｐを単位時間とし、前記周波数指示信号に従って、前記単位時間の数を計数することにより画素クロックの立上り時刻及び立下り時刻を算出する計数手段と、前記多相クロックを基準とし、前記計数手段により算出される画素クロックの立上り時刻及び立下り時刻に従って画素クロックを生成して出力する画素クロック出力手段とを備えることを特徴とする。
【００１９】
また、本発明のパルス変調装置は、上記画素クロック生成装置を利用し、該画素クロック生成装置で生成された画素クロックに基づき、入力される画像データに従ってパルス変調をしたパルス変調信号を生成するパルス変調装置であって、前記画像データを、前記画素クロックをＲ個に時分割した各領域に対応しオンオフを示すビット列である所望のパルス変調信号を表す変調データに変換する画像データ変換手段と、前記画素クロックの立ち上がり時刻と前記画素クロック周波数指示信号に従って、画素クロックをＲ個に時分割した各領域を前記位相差Ｔ／Ｐに区分された各領域に対応して表すクロックパターンを生成するクロックパターン生成手段と、前記変調データと前記クロックパターンとから前記位相差Ｔ／Ｐに区分された各領域に対応して表される変調パターンを生成する変調パターン生成手段と、前記多相クロックを基準とし、前記変調パターンを順次出力することによりパルス変調信号を生成するシリアライザとを備えることを特徴とする。
【００２０】
また、本発明は、画素クロックに基づき画像データに従ってパルス変調をしたパルス変調信号で光源を駆動し、該光源から出力される光束を被走査媒体上に走査して画像を形成する画像形成装置において、上記画素クロック生成装置を使用することを特徴とする。画像形成装置は、光束の走査ライン上に２つの光検出手段を備え、該光検出手段の各々で第１及び第２の同期信号が検出される。
【００２１】
また、本発明は、複数の光源を備え、該光源をそれぞれ画素クロックに基づき画像データに従ってパルス変調をしたパルス変調信号で駆動し、該光源から出力される光束を被走査媒体上に走査して画像を形成する画像形成装置において、前記複数の光源の各クロックに対応した上記画素クロック生成装置と、前記光束の走査ライン上に設けた２つの光検出手段と、前記光検出手段で検出される第１及び第２の同期信号を、各光源に対応した第１及び第２の同期信号に分離する検出信号分離手段とを備え、前記分離された各々の第１及び第２の同期信号を入力して、各々の画素クロック生成装置で生成される画素クロックに基づいて生成する各パルス変調信号により、対応する光源を駆動することを特徴とする。
【００２２】
また、本発明は、被走査媒体を複数備え、該被走査媒体に各々対応した複数の光源を画素クロックに基づき画像データに従ってパルス変調をしたパルス変調信号で駆動し、該光源から出力される光束を前記被走査媒体上に走査して複数の画像を形成し、前記被走査媒体上に形成した複数の画像を１つの画像形成媒体に重ね合わせることにより画像を形成する画像形成装置において、前記複数の光源の各々に対応した上記画素クロック生成装置と、前記複数の光源から出力される光束の走査ライン上に設けられた２つの光検出手段とを備え、前記光検出手段で検出される第１及び第２の同期信号をそれぞれ入力として、各々の画素クロック生成装置で生成される各画素クロックに基づいて生成される各パルス変調信号により、複数の被走査媒体に対応した各々の光源を駆動することを特徴とする。
【発明の効果】
【００２３】
本発明によれば、高精度に生成された高周波クロックVCLKを基準として画素クロックを生成し、走査時間の変動に合わせて画素クロック周波数を制御しているので、走査平均速度の変動があってもこの誤差を高精度に補正できる画素クロックが生成でき、さらに画素クロック周波数の制御はポリゴンミラーの各面に対応してそれぞれ制御しているので、面毎の走査速度誤差があっても高精度に補正できる画素クロックが生成できる。また、画素クロック生成に使用する同期信号に含まれるノイズをフィルタ等を用いて除去するので、正確に同期のタイミングを検出でき、高精度な画素クロックを生成できる。この画素クロック生成部を画像形成装置に適用しているので、走査速度誤差を高精度に補正した画素クロックを基準に画像を形成でき、高品質な画像が得られる。
【００２４】
また、高精度に生成された多相クロックを基準として画素クロックを生成し、走査時間の変動に合わせて画素クロック周波数を制御しているので、走査平均速度の変動があってもこの誤差を高精度に補正できる画素クロックが生成でき、さらに画素クロック周波数の制御はポリゴンミラーの各面に対応してそれぞれ制御しているので、面毎の走査速度誤差があっても高精度に補正できる画素クロックが生成できる。また、画素クロック生成に使用する同期信号に含まれるノイズをフィルタ等を用いて除去するので、正確に同期のタイミングを検出でき、高精度な画素クロックを生成できる。また、画素クロックの生成は多相クロックの位相差Tvの単位で正確に制御できるので、多相クロックの発振周波数を高くしないでもよいので、回路の設計が容易となり消費電流も低減できる。さらには、多相クロックの１つをさらに分周したクロックGCLKで動作するようにしているので、動作周波数がさらに低下され、消費電流の低減ができる。画素クロック及び変調データを実際に生成する回路は、多相クロックに同期したロジック回路となるので、通常のロジック回路と同様の設計手法を用いる事ができ、回路の設計が容易であり消費電流も低減できる。
【００２５】
また、この画素クロック生成部を画像形成装置に適用しているので、走査速度誤差を高精度に補正した画素クロックを基準に画像を形成でき、高品質な画像が得られる。
【００２６】
また、複数の光源からの光束を走査して画像を形成する場合に、光源の波長差などにより光源毎の走査速度誤差があっても、それぞれの走査速度変動に合わせて画素クロック周波数を独立に制御しているので、速度変動が高精度に補正でき、高品質の画像が形成できる。
【００２７】
さらには、複数の被走査媒体を有する多色対応の画像形成装置において、走査光学系毎の速度誤差を含めた様々な要因で走査速度誤差が生じても、それぞれの走査速度差・変動に合わせて画素クロックPCLKの周波数を独立に制御しているので、このようにして形成されたカラー画像は、色ずれが生じず、色再現性、解像度の劣化が生じず、高品位の画質を得ることができる。
【発明を実施するための最良の形態】
【００２８】
図１に、本発明による画像形成装置の第一の実施形態の全体構成図を示す。この画像形成装置は、単一の光源からの出射光を走査光学系により感光体に照射して画像（静電潜像）を形成するシングルビーム走査光学系を用いたものである。
【００２９】
図１において、光源としての半導体レーザ１１から出射されたレーザ光はコリメータレンズ１２とシリンダーレンズ１３を介することで整形され、その後、偏光器としてのポリゴンミラー１４に入射することで、周期性を持って感光体１８を走査するように反射される。ポリゴンミラー１４で反射されたレーザ光は、ｆθレンズ１５、ミラー１６、及びトロイダルレンズ１７を介して感光体１８に照射され、光スポットを形成する。これにより、感光体１０５上には、半導体レーザ１０１の出力に応じた画像（静電潜像）が形成される。
【００３０】
ミラー１６の両端にはフォトディテクタ（ＰＤ１）１９、フォトディテクタ（ＰＤ２）２０がそれぞれ配置されており、毎ラインごとの走査の開始時点と終了時点とが検出される。すなわち、ポリゴンミラー１４により反射されたレーザ光は感光体１８を１ライン走査する前にＰＤ１（１９）に入射され、走査後にＰＤ２（２０）に入射される。これらのフォトディテクタ１９、２０では、入射されたレーザ光をそれぞれライン走査の開始を示す第１の同期信号SPSYNC及び終了時点を示す第２の同期信号EPSYNCに変換し、画素クロック生成部２１に供給する。画素クロック生成部２１は、２つの同期信号SPSYNC及びEPSYNCから、ＰＤ１（１９）とＰＤ２（２０）間をレーザ光が走査される時間間隔を測定し、その時間間隔に予め定められた所定数のクロックが収まるように求められた周波数の画素クロックPCLKを生成し、それを画像処理部２２とレーザ変調データ生成部２３に供給する。フォトディテクタ（ＰＤ１）１９の出力信号である第１の同期信号SPSYNCは、ライン同期信号として画像処理部２２にも与えられる。画像処理部２２は、同期信号SPSYNCと画素クロックPCLKを基準に画像データを生成して変調データ生成部２３に出力する。変調データ生成部２３は、画素クロックPCLKを基準として、入力された画像データから変調データを生成し、レーザ駆動部２４を介して半導体レーザ１１を駆動する。
【００３１】
本発明の画像クロック生成装置及びパルス変調装置は、図１に示すような画像形成装置の画素クロック生成部や変調データ生成部に使用される。これにより、走査速度誤差を高精度に補正した画素クロックを基準に感光体上に画像を形成でき、高品質な画像が得られる。
【００３２】
以下に、本発明における画素クロック生成装置及びパルス変調装置の実施形態を図面に基づき詳しく説明する。
【００３３】
図２は、本発明による画素クロック生成装置の第１の実施形態を示す全体的な構成図である。この画素クロック生成装置１００は高周波クロック生成部１１０、第１エッジ検出部１２０、第２エッジ検出部１３０、分周器１４０、比較部１５０、フィルタ１６０、及び周波数演算部１７０を備えている。
【００３４】
高周波クロック生成部１１０は基準クロックRefCLKを基に、逓倍した高周波クロックVCLKを生成するものであり、一般的なPLL（Phase  Locked  Loop）回路により構成される。入力する基準クロックRefCLKを例えば精度のよい水晶発振器出力を用いることにより精度のよい高周波クロックVCLKが得られる。この高周波クロックVCLKを基準に画素クロックPCLKを生成する。
【００３５】
分周器１４０は、高周波クロックVCLKをＭ分周した画素クロックPCLKを生成する。これは例えばＭ進カウンタにより構成され、カウント値countMを出力する。ここで同期信号SPSYNCの立ち上がりでカウントを開始するようにすれば、走査開始時点に位相同期した画素クロックが生成できる。また、分周比Ｍは周波数演算部１７０からの画素クロック周波数指示信号Mnowに従って変更される。このように画素クロックPCLKの生成は安定かつ高精度に発振させた高周波クロックVCLKを分周することにより生成されるので、この分周比を変更することにより瞬時にかつ安定に画素クロック周波数を変更することが可能となる。よって、ライン毎周波数を変更しても瞬時に移行できる。
【００３６】
第１エッジ検出部１２０は、第１の同期信号SPSYNCの立ち上がりエッジを高周波クロックVCLKを基準として検出するものであり、同期信号SPSYNCの立ち上がりを検出すると画素クロックPCLKに同期した検出パルスSPplsを出力する。第２エッジ検出部１３０は、第２の同期信号EPSYNCの立ち上がりエッジを高周波クロックVCLKを基準として検出し、検出パルスEPplsとカウント値EPmを出力する。これら第１エッジ検出部１２０及び第２エッジ検出部１３０は、入力される第１の同期信号SPSYNCや第２の同期信号EPSYNCに含まれるノイズを除去する機能を備えている。この詳細については詳述する。
【００３７】
比較部１５０は、２つの同期信号SPSYNC、EPSYNC間の時間Tlineを検出し、書き込み周波数と２つのフォトディテクタＰＤ１とＰＤ２との距離に応じて予め定められた基準時間RefNと該計測した時間Tlineとの差を当該ラインの誤差Lerrとして算出する。つまり適正な走査時間（基準時間）RefNと当該ラインの実際の走査時間Tlineとの差が走査速度の誤差である。この誤差Lerrは高周波クロックVCLKを基準としてカウントし演算を行っても良いが、高周波クロックVCLKは非常に高周波であり、またカウントするビット数も非常に大きくなるので、回路規模、消費電力の点で不利である。そこで本実施形態では、時間Tlineを画素クロックPCLKを基準としてカウントし、基準値RefNとの比較をし、最後に高周波クロック基準の当該ラインの誤差Lerrとして変換している。
【００３８】
フィルタ１６０は、ライン誤差Lerrをフィルタリングして誤差データErrを出力するデジタルフィルタであり、例えば簡単には、直近の複数ライン分の誤差Lerrを平均して誤差データErrを得る。
【００３９】
周波数演算部１７０は、誤差データErrに従って適正な画素クロック周波数を算出し、これを画素クロック周波数指示信号Mnowに変換して出力する。高周波クロック周期をTv、画素クロック周期をTpとし、今、Tp=KTvとして画素クロック周波数を設定して走査した時、目標値Tp'（Tp'=K'Tv）との誤差Errが入力される。従って、RefN・Tp'=RefN・Tp＋Err・Tvであるので、
K'=K＋Err/RefN            （1）
としてK'を設定するようにすれば、画素クロック周波数を目標値に制御することができる。
【００４０】
つまり、分周器１４０、比較部１５０、フィルタ１６０及び周波数演算部１７０でデジタルPLL制御を行っている。ここで、フィルタ１６０の特性がこのPLL制御特性を決定し、制御系が安定になるようにフィルタ特性が決定される。なお、K'=K＋α・Err/RefNとしてループゲインを変えるようにしても良い。
【００４１】
また、分周器１４０の分周比Ｍは自然数であるので、画素クロック周波数の設定値Kを次のようにして画素クロック周波数指示信号Mnowに変換すると、まるめ誤差を低減することができ、より精度のよい画素クロックが得られる。例えば、通常は設定値Kを四捨五入して整数にまるめた値をMとし、Mnow=Mとし、画素クロックのＣサイクルに１回、Mnow=M+1またはM-1とすることにより、K=(M±1/C)となり丸め誤差を低減できる。また丸め誤差の振り分けも均等に行えるので、画素クロックの局所的な偏差も抑えられる。この場合は前記Ｍ値とＣ値を制御するようにすればよい。詳細な説明は後述する。
【００４２】
以下、図２の画素クロック生成装置の高周波クロック生成部１００、分周器１４０を除く各部の詳細構成例及び動作について説明する。
【００４３】
図３は第１エッジ検出部１２０の詳細構成例を示す図である。この第１エッジ検出部１２０は受信部１２０１、デジタルフィルタ１２０２、コンパレータ１２０３、及び、フリップフロップ１２０５とＡＮＤゲート１２０６を組み合わせたエッジ検出部１２０４からなる。図４は図３の第１エッジ検出部における内部信号の一例を示したものである。図４に基づき、図３に示す第１エッジ検出部１２０の構成例の動作を詳述する。
【００４４】
図４において、(a)SPSYNCは該第１エッジ検出部１２０に入力される走査開始を示す第１の同期信号であり、(b)VCLKは立ち上がりエッジ検出の基準となる高周波クロック生成部１１０で生成される高周波クロックである。図４に示すように、同期信号SPSYNCは伝送距離や雑音の影響により、高周波クロックVCLKに対して単調増加ではない劣悪な信号である場合が多い。受信部１２０１は高周波クロックVCLKを基準クロックとして同期信号SPSYNCを取り込み、適切な閾値電圧Vtに基づいた二値化信号を、(c)SPrcvとして出力する。SPrcvはデジタルフィルタ１２０２によって適切な平滑化を施され、(d)SPfilとして出力され、コンパレータ１２０３によって再二値化されて、(e)SPcmpとして出力される。
【００４５】
平滑化を行うデジタルフィルタ１２０２についてはIIRフィルタやFIRフィルタを用いて実現する事が可能であり、それらは公知の技術であるので、詳細説明は省略する。図４の例では、デジタルフィルタ１２０２は、伝達関数H(z)=1+2*z^(-1)+z^(-2)を持つFIRフィルタとし、コンパレータ１２０３の閾値はref=2とした例を挙げている。なお、デジタルフィルタ１２０２の特性を、外的要因等に基づいて変更する手段を設ければ、様々なシステムや環境に対応する事が可能となる。
【００４６】
エッジ検出部１２０４は、画素クロックPCLKに同期して動作し、フリップフロップ１２０５とＡＮＤゲート１２０６により、二値化信号SPcmpの立ち上がりエッジを検出してエッジ検出信号を、(f)SPplsとして出力する。ここでは、エッジ検出部１２０４にはフリップフロップ１２０５とＡＮＤゲートを組み合わせた構成を用いたが、必ずしもこの構成である必要はない。
【００４７】
図５は第２エッジ検出部１３０の詳細構成例を示す図である。この第２エッジ検出部１３０は受信部１３０１、デジタルフィルタ１３０２、コンパレータ１３０３、フリップフロップ１３０５とＡＮＤゲート１３０６を組み合わせたエッジ検出部１３０４、カウンタ１３０７及びラッチ１３０８からなる。
【００４８】
図３の第１エッジ検出部１２０の構成例と同様に、この第２エッジ検出部１３０においても、受信部１３０１は高周波クロックVCLKを基準クロックとして、走査終了を示す第２の同期信号EPSYNCを二値化してEPrcvとして出力し、デジタルフィルタ１３０２はEPrcvを平滑化してEPfilとし、コンパレータ１３０３はEPfilを再度二値化してEPcmpとして出力する。エッジ検出部１３０４はPCLKに同期し、フリップフロップ１３０５とＡＮＤゲート１３０６により、EPcmpの立ち上がりエッジを検出してEPplsとして出力する。ここまでの動作は、図４において、(a)SPSYNC，（c）SPrev，（d）SPfil，（e）SPcmp，(g)SPplsを、それぞれ(a)EPSYNC，（c）EPrev，（d）EPfil，（e）EPcmp，(g)EPplsと置き換えれば、図３の第１エッジ検出部１２０と同じである。
【００４９】
第２エッジ検出部１３０には、更にカウンタ１３０７とラッチ１３０８が付加されている。カウンタ１３０７はVCLKに同期して動作し、EPcmpが「Ｌ」の時にリセットされ、「Ｈ」の時にインクリメントされるカウンタである。カウンタ１３０７の出力をEPcountとする。ラッチ１３０８は画素クロックPCLKに同期して動作し、EPplsが「Ｌ」の時にカンウト値EPmを保持し、「Ｈ」の時にカウンタ１３０７からの出力値EPcountに更新される。
【００５０】
図６は第１エッジ検出部１２０の別の詳細構成例を示す図である。この第１エッジ検出部１２０はシュミットトリガ回路１２１１、フリップフロップ１２１２、及びフリップフロップ１２１４とＡＮＤゲート１２１５を組み合わせたエッジ検出部１２１３からなる。図７は図６の構成例における内部信号の一例を示したものである。図７に基づき、図６に示す第１エッジ検出部１２０の構成例の動作を説明する。
【００５１】
図７において、(a)SPSYNCは第１エッジ検出部１２０に入力される第１の同期信号である。シュミットトリガ回路１２１１は、該同期信号SPSYNCを二値化して、(b)SPschmittとして出力する。フリップフロップ１２０２は、シュミットトリガ出力SPschmittを(c)VCLKにより取り込んで、(d)SPcmpとして出力する。エッジ検出部１２１３は、(e)PCLKに同期して動作し、SPcmpの立ち上がりエッジを検出してエッジ検出信号(f)SPplsとして出力する。エッジ検出部１２１３の動作は、図３の場合と同じである。
【００５２】
シュミットトリガ回路１２１１は、出力が「Ｌ」の場合に閾値電圧Vhを、出力が「Ｈ」の場合には閾値電圧Vlを持つような、ヒステリシス特性を持つコンパレータの事である。Vh、Vlの値をそれぞれ外部から設定できるような手段を設ければ、様々なシステムや環境に対応する事が可能となる。この種のシュミットトリガ回路は公知の技術であり、その詳細な説明は省略する。
【００５３】
図８は第２エッジ検出部１３０の別の詳細構成例を示す図である。この第２エッジ回路１３０はシュミットトリガ回路１３１１、フリップフロップ１３１２、フリップフロップ１３１４とＡＮＤゲート１３１５を組み合わせたエッジ検出部１３１３、カウンタ１３１６及びラッチ１３１７からなる。
【００５４】
図６の第１エッジ検出部１２０の構成例と同様に、シュミットトリガ回路１３１１は第２の同期信号EPSYNCを二値化してEPschmittとし、フリップフロップ１３１２は、シュミットトリガ出力EPschmittを高周波クロックVCLKにより取り込んでEPcmpとして出力する。エッジ検出部１３１３は、画素クロックPCLKを基準としてEPcmpの立ち上がりエッジを検出してEPplsとして出力する。また、カウンタ１３１６は高周波クロックVCLKに同期して動作し、EPcmpが「Ｌ」の時にリセットされ、「Ｈ」の時にインクリメントされるカウンタであり、その出力はEPcountである。ラッチ１３１７は、画素クロックPCLKに同期して動作し、EPplsが「Ｌ」の時にカウント値EPmを保持し、「Ｈ」の時にカウンタ１３０７からの出力値EPcountに更新する。エッジ検出部１３１３、カウンタ１３１６、ラッチ１３１７は図５の構成例と同じである。
【００５５】
図９は比較部１５０の詳細構成例を示す図ある。この比較部１５０はカウンタ１５０１、演算部１５０２及び誤差演算部１５０３からなる。図１０は、図２の画素クロック生成装置１００における一部信号のタイミング図の一例であり、これに基づき図９に示す比較部１５０の動作を詳述する。
【００５６】
図１０において、(a)SPSYNCは走査開始を示す第１の同期信号であり、先に説明した第１エッジ検出部１２０に入力される。(b)EPSYNCは走査終了を示す第２の同期信号であり、先に説明した第２エッジ検出部１３０に入力される。(c)VCLKは高周波クロック生成部１１０で生成される高周波クロックの立ち上がりエッジを示している。(d)countMは分周器１４０で高周波クロックVCLKを基準としてカウントされるカウント値であり、(e)PCLKは(d)countMが0の時立ち上がる画素クロックである。(f-1)SPpls及び(f-2)EPplsは先に説明した第１エッジ検出部１２０と第２エッジ検出部１３０から出力される信号で、それぞれSPSYNC，EPSYNCの立ち上がりを示すPCLKに同期したパルスである。(g-2)EPmは、先に説明した第２エッジ検出部１３０から出力されるカウント値で、(b)EPSYNCの立ち上がり時の(d)countMの値である。(h)は当該比較部１５０における画素クロックPCLK基準でカウントするカウンタ１５０１の値であり、(f-1)SPplsで０にリセットされ、(f-2)EPplsでカウントが停止される。
【００５７】
図９において、カウンタ１５０１は、上記のように画素クロックPCLKをカウントするカウンタであり、SPplsで０にリセットされ、EPplsでカウントを停止する。減算器１５０２はカウント停止後のカウンタ１５０２の値countN（図１０ではn）から適正走査時間を示す基準カウント値RefNの減算を行い、減算結果diffNを出力する。誤差演算部１５０３は、下記(2)式の演算を行い高周波クロックVCLKの周期Tvを単位とする誤差Lerrを出力する。
Lerr=diffN・K+EPm            （2）
ここで、diffN=n-RefN,EPm=m2,Tp=K・Tvであり、TpはPCLKの周期である。
【００５８】
なお、走査開始時点と終了時点を検出する２つのフォトディテクタＰＤ１とＰＤ２（図１）との距離がドット幅の整数倍でない場合、つまり基準時間が目標とする画素クロック周期の整数倍でない場合、その端数を高周波クロックVCLKのサイクル数に換算し、これをRefMとして誤差演算部１５０３に入力し、Lerr=diffN・K+EPm-RefMと演算するようにすると、より正確な画素クロック周波数の制御が行えるようになる。
【００５９】
図１１は周波数演算部１７０の詳細構成例を示す図である。この周波数演算部１７０は演算制御部１７０１、レジスタ群１７０３、１７０４、１７０５、選択部１７０６、１７０７、カウンタ１７０８及び加算部１７０９からなる。本実施形態では、ポリゴンミラーは６面構成であるとし、面毎の誤差を補正するため面毎に画素クロック周波数を制御するとする。
【００６０】
図１１において、演算部１７０２は、現在の設定値Ｍ，Ｃ，Ｒとフィルタ１６０から与えられる誤差データErrとから次の設定値NextM，NextC，NextRを演算するものであり、この演算を演算面指示信号CalcNoに従い、各面（ここでは６面）毎行う。このＭ，Ｃ，Ｒの関係は、上述したようにTp=(M±1/C)Tvであり、C=RefN/Rである。これらの式と先の（1）式より、（NextM=M'、NextR=R'、RefN=Nrと記す）
M'+R'/Nr=M+R/Nr+Err/Nr、  C'=Nr/R'
であるので、演算は次の手順で行う。
（１）  R+Err（=TmpRとする）を計算する。
（２）  TmpR>Nr/2であれば、M'=M+1としてR'=TmpR-Nrとする。TmpR<-Nr/2であれば、M'=M-1としてR'=TmpR+Nrとする。それ以外は、M'=M、R'=TmpRとする。
（３）  Nr÷R'の商をC'とする。なお、R'=0であれば、C'=0とする。
【００６１】
レジスタ１７０３は上記の演算により求めたＭ値を保持しておくデータ保持部であり、保持する値はポリゴンミラーの各面毎F0M〜F5Mの値を保持する。また、更新信号Renewに従い対応するレジスタ値をNextMに更新する。ここでF＊（＊はポリゴンミラーの面番号０〜５）はポリゴンミラーの面番号に対応する値であることを示す（以下同様）。なお、この面番号は相対的な関係を示すものであり、対応する値は自動的に制御されるので、実際の面と一致させる必要はない。同様にレジスタ１７０４は現在設定しているＣ値を保持しておくデータ保持部であり、レジスタ１７０５は現在設定しているＲ値を保持しておくデータ保持部である。これらレジスタ１７０４、１７０５も、それぞれ更新信号Renewに従い対応するレジスタ値をNextC，NextRに更新する。
【００６２】
選択部１７０６は、面選択信号FNoに従い、レジスタ１７０３におけるF0M〜F5Mのうち対応するＭ値を選択出力するものである。同様に選択部１７０７は、面選択信号FNoに従い、レジスタ１７０４らおけるF0C〜F5Cのうち対応するC値を選択出力するものである。なお、CsignはＣ値の符号を示す。
【００６３】
カウンタ１７０８は、画素クロックPCLKを基準としてＣ値をカウント（0からC-1まで）するもので、カウント値がC-1となったとき、Csignが正を示していれば+1を、負を示していれば-1を出力し、それ以外の時は0を出力する。なお、C=0の時は常に0を出力する。
【００６４】
加算部１７０９は選択部１７０６の出力するＭとカウンタ１７０８の出力する値を加算し、結果を画素クロック周波数指示信号Mnowとして出力する。よって、画素クロックPCLKのCサイクルに１回、Ｍ値が+1または-1されるように変換され、画素クロックの平均周期は（M±1/C）Tvとなる。
【００６５】
演算制御部１７０１は上述した演算を制御するものであり、図１２に示すフローチャートに従い、演算面指示信号CalcNo、更新信号Renew及び面選択信号FNoを生成し出力する。
【００６６】
図１２において、ステップ１ではFNo=0、CalcNo=0として初期化を行う。ステップ２では１ラインの走査が終了するまで待機する。つまり、信号EPplsにより走査終了を検知するまで待機する。なお、待機時間には誤差データErrの演算が確定するまでの時間の猶予も含む。ステップ３では現在のCalcNoに対応した前述の演算を行う。ステップ４では現在のCalcNoに対応した更新信号Renewをアクティブにし、各レジスタ１７０３、１７０４、１７０５の値をNext値に更新する。ステップ５ではCalcNoをインクリメントする。なお、CalcNo=5の時は0に戻る。
【００６７】
ステップ６では、画素クロック周波数制御がロックしているか否かを示すロックフラグLockに従い分岐する。ここでロックフラグLockは、例えば、所定ラインの間（例えば６ラインとする）、誤差Lerr（あるいは誤差データErr）が所定の範囲内（面間誤差のバラツキ範囲や所望の制御精度などから決めればよく、例えば±2M以内とする）に収まっていれば、ロックしているとみなす信号で、この信号の生成部は例えばフィルタ１６０内に備えればよい。あるいは制御応答性より予め制御開始より所定時間（ライン数などで指定）を決めておき、この時間が経過したらLock信号をアクティブにするようにしても良い。
【００６８】
ステップ７では、ステップ６の判定結果がNoの場合（つまりまだロックしていない場合）、全ての面で演算を行い設定値を更新したかを判定する。6面全て演算していればFNo=CalcNoとなるのでステップ８に移る。否であればステップ２に戻り別の面の演算を行う。ステップ８ではFNoをインクリメントし（5の場合は0に戻る）、CalcNoにFNoを代入する（インクリメント後の値）。これにより画素クロック周波数指示信号Mnowに変換するＭ及びＣ値が次ラインの設定値に変更される。
【００６９】
なお、ここまでの操作を次ラインの走査開始（SPSYNCが検知される）までに行う。その後ステップ２に戻り上記のルーチンを繰り返す。
【００７０】
以上のように制御すれば、各面のクロック周波数が所定誤差内に収まるまでは、全ての面で誤差Errを縮小するように制御していくので高速な引き込みができ、また所定誤差内に収まった後は各面毎個別に制御するので面間の誤差も低減され、高精度なクロック周波数制御ができる。
【００７１】
図１３は、上記の制御方法による引き込み過程の様子の一例を示す図であり、横軸は時間、縦軸はライン誤差Lerrである。また黒丸は第0面に対応する誤差であり、その他の面の誤差は×で示す。また点線は６面分の誤差の平均値を示す。
【００７２】
図１４は周波数演算部１７０の別の詳細構成例を示す図である。この周波数演算部１７０は演算制御部１７１１、演算部１７１２、レジスタ群１７１３、１７１４、選択部１７１５、１７１６、カウンタ１７１７、変換部１７１８及び加算部１７１９からなる。演算制御部１７１１は図１１の演算制御部１７０１と同様であり、演算部１７１２、レジスタ群１７１３、１７１４、選択部１７１５、１７１６を制御する。
【００７３】
演算部１７１２は、現在の設定値Ｍ，Ｆと誤差データErrとから次の設定値NextM,NextFを演算するものであり、この演算を演算面指示信号CalcNoに従い、各面毎行う。この実施形態では画素クロック周波数の設定値Ｋは次のようにして画素クロック周波数指示信号Mnowに変換する。すなわち、設定値Kの整数部をMとし、小数部をa桁（２進数表記）の値Fに丸める。そして2^a（=Naとする）サイクルにF回、Mnow=M+1とすることにより、K=(M+F/Na)と設定される。ここで設定値による丸め誤差は最大Nref/Naとなるので、所望の誤差許容値に収まるように小数部の桁数aを決定すればよい。また、局所的な周波数偏差を抑えるため+1するF回のサイクルは均等に振り分けられるようにする。この機能は変換部１７１８が担う。
【００７４】
ここで、（1）式と上記Kの関係式により、（NextF=F'とする）
K'+F'/Na=M+F/Na+Err/Nr
であるので、演算は次の手順で行う。
（１）  F+Err/Nr*Na（=TmpFとする）を計算する。Naは2^aであるので、*Naは被乗数（Err/Nr）の上位aビットを取ればよく、またNrはこの周波数制御を行っている間は固定であるので、予めNrの逆数を計算しておいてこれをErrに乗算すれば演算は簡便に行える。
（２）  TmpF>Naであれば、M'=M+1、F'=TmpF-Naとする。TmpF<0であれば、M'=M-1、F'=TmpF+Naとする。
【００７５】
レジスタ１７１３は上記の演算により求められたＭ値を保持しておくデータ保持部であり、レジスタ１７１４は同様にＦ値を保持しておくデータ保持部である。レジスタ１７１３、１７１４では、これら値M，Fをはポリゴンミラーの各面毎F0〜F5に保持する。そして、それぞれ更新信号Renewに従い対応するレジスタ値をNextC、NextRに更新する。
【００７６】
選択部１７１５は、面選択信号FNoに従い、F0M〜F5Mのうち対応するM値を選択して出力する。同様に選択部１７１６は、面選択信号FNoに従い、F0F〜F5Fのうち対応するC値を選択して出力する。
【００７７】
カウンタ１７１７は、画素クロックPCLKを基準にカウントするaビットカウンタであり、そのカウント値countAを出力する。変換部１７１８は、カウント値countAに従い、Na（=2^a）サイクル中、Ｆサイクルは「1」を、残りのNa-Ｆサイクルは「0」として信号UPを出力する。このUP信号の生成は、カウント値countA[a-1:0]のビット並びを逆転させたcountA[0:a-1]をArevとした時、ArevがFより小さい場合１とするようにすれば（UP=(Arev＜F)）、Naサイクル中均等にF回「１」が生成される。
【００７８】
加算部１７１９は、選択部１７１５の出力するMと変換部３１の出力するUPを加算し、結果を画素クロック周波数指示信号Mnowとして出力する。よって、PCLKのNaサイクルにF回、Ｍ値が+1されるように変換され、画素クロックの平均周期は（M＋F/Na）Tvとなる。
【００７９】
前述したように、画素クロック周波数の制御は1ライン毎に位相誤差Lerrを検出し、これが０になるようにディジタルPLL制御を行っている。図２のフィルタ１６０は制御ループ内に置かれたデジタルフィルタであり、このフィルタ特性を変更することにより、制御帯域を設定できる。
【００８０】
以下にフィルタ１６０の設定例を示す。ループフィルタを除くDPLL制御系のループゲインは図１５の(a)に示すようになる。ここでfsはサンプリング周波数で、つまりここではライン周波数である。この制御系に(b)のような特性を持つラグリードフィルタを挿入し、(c)のループゲインとすることにより、制御系を安定化させることができる。
【００８１】
いま、τ1=1/2πf1、τ2=1/2πf2とすると、ループフィルタの伝達関数H(s)は次の式(2)のようになる。
H(s)=(1+τ2s)/(1+τ1s)            (3)
上記式(2)を、双一次変換（s=2/T・(1-z^-1)/(1+z^-1)）してz変換形式にし、さらにT=1として正規化すれば、ループフィルタの伝達関数H(z)は次の式(4)となる。
H(z)=(b0+b1z^-1)/(1+a1z^-1)        (4)
ここで、a1=(1-2τ1)/(1+2τ1)、b0=(1+2τ2)/(1+2τ1)、b1=(1-2τ2)/(1+2τ1)である。
【００８２】
図１６は上記式(4)の伝達関数H(z)を実現するフィルタ１６０の構成例であり、１６０１と１６０６は加算器、１６０２は遅延素子、１６０３、１６０４、１６０５は乗算器を示している。このフィルタ１６０は、一次のIIR型フィルタであり、加算器１６０１及び１６０６はそれぞれの入力を加算し、乗算器１６０３、１６０４、１６０５はそれぞれ入力に対し、計数-a1、b1、b0を掛けた値を出力し、遅延素子１６０２は中間変数wを１サンプル毎（つまり１ライン毎）遅延させる。
【００８３】
このフィルタ１６０１に比較部１５０から出力させるライン誤差Lerrを入力すれば、誤差データErrが得られる。また、乗算器１６０３、１６０４、１６０５の各計数を変更する手段を設ければ、動的にフィルタ特性を変更可能となり、例えば、上述のLock信号に従いフィルタ特性を変更するようにしても良い。
【００８４】
なお、本例のフィルタ特性及び構成は一例であり、本発明はその他の構成のフィルタでも適用できる。デジタルフィルタについては公知技術であるので、その他の構成の例示は省略する。
【００８５】
次に、図１の画素クロック生成部２１に図２の実施形態の画素クロック生成装置１００を用い、該画素クロック生成装置１００で生成した画素クロックPCLKを基準に画像データに従いパルス幅変調する図２の変調データ生成部２３の好適な変調方法を説明する。
【００８６】
図１７は、変調データ生成部２３の動作を説明するタイミング図である。ここでは画像データPDataに従い８値のパルス幅変調を行った変調データMDataを生成する場合とする。図１７において、(a)VCLKは高周波クロック（周期Tv）の立ちあがりを示し、(b)countMは分周器１４０でカウントしたカウント値であり、今、Mnow=16と設定されているものとする。(c)PCLKは画素クロックであり、ここでは周期は16Tvとなっている。(d)PDataはPCLKに同期して入力される画像データであり、この値Dmに従って出力する変調データ(e)MDataのパルス幅Twを変調する。変調データMDataの生成は高周波クロックVCLKを基準にして行われ、Dm≠0であれば、countM=0の時「H」とする。また、countM=Dm/Nm・Mnow（Nmは階調数でここでは８）の時「L」とする。またはcountM=(Nm-Dm)/Nm・Mnowの時「H」とし、Dm≠8であれば、countM=0の時「L」とするようにすると、(e')のような変調データが生成できる。またこれら２つの生成モードを切り替えられるようにし、ドット毎変更できるようにしても良い。
【００８７】
なお、上記説明では、走査開始と終了との２点間の走査時間の変動に合わせて画素クロック周波数を制御する形態について説明したが、１ライン中の走査速度がほぼ一定であれば、１ライン中の任意の２点間の走査時間の変動に合わせて制御を行うようにしても良く、この第１の実施形態で適用できる。
【００８８】
また、図３乃至８に述べたような構成によってSPSYNC及びEPSYNCの立ち上がりエッジを検出する事ができるが、PCLKをSPSYNCに同期させる為には、分周器１４０の中にも同様のエッジ検出部を持つ必要がある。この場合、図３または図６に示した第１エッジ検出部１２０のSPcmpを出力するパートまでを用いてSPcmpを生成し、この立ち上がりエッジとPCLKを同期させるようにする事で、所望の画素クロックPCLKを生成する。あるいは、第１エッジ検出部１２０から直接SPcmpを分周器１４０に入れる構成でも構わない。
【００８９】
また、画素クロック生成装置１００はSPSYNCの立ち上がりエッジとEPSYNCの立ち上がりエッジの時間差を検出して画素クロックの制御を行うため、実際のSPSYNC/EPSYNCの立ち上がりから検出までの遅延時間が検出部によって異なると、正確な制御が行えない。そのため、第１エッジ検出部１２０、第２エッジ検出部１３０及び分周器１４０で用いるエッジ検出は、同じ回路構成であることが必要である。
【００９０】
以上説明したように、画素クロック生成装置の第１の実施形態によれば、高精度に生成された高周波クロックVCLKを基準として画素クロックを生成し、走査時間の変動に合わせて画素クロック周波数を制御しているので、走査平均速度の変動があってもこの誤差を高精度に補正できる画素クロックが生成でき、さらに画素クロック周波数の制御はポリゴンミラーの各面に対応してそれぞれ制御しているので、面毎の走査速度誤差があっても高精度に補正できる画素クロックが生成できる。また、この画素クロック生成装置を画像形成装置に適用すれば、走査速度誤差を高精度に補正した画素クロックを基準に画像を形成するので、高品質な画像が得られる。
【００９１】
特に、図３乃至図８で説明した第１エッジ検出部及び第２エッジ検出部の実施形態によれば、同期信号SPSYNC及びEPSYNCの立ち上がりエッジを検出する際に、ノイズ等の影響による信号揺らぎを除去する為のフィルタを一度通してから、高精度に生成された高周波クロックVCLKによって立ち上がりエッジを検出しているので、画像形成装置内部の様々な要因により同期信号が劣化していても、高精度にその立ち上がりエッジを検出する事ができ、高精度の画素クロックが生成できる。また、このエッジ検出部を適用した画素クロック生成装置を画像形成装置に適用すれば、走査速度誤差を高精度に補正した画素クロックを基準に画像を形成するので、高品質な画像が得られる。
【００９２】
次に、図１８は本発明による画素クロック生成装置の第２の実施形態を示す全体的構成図である。この画素クロック生成装置２００は高周波クロック生成部２１０、第１エッジ検出部２２０、第２エッジ検出部２３０、計数部２４０、比較部２５０、フィルタ２６０、周波数演算部２７０及び画素クロック出力部２８０で構成される。
【００９３】
図１８において、高周波クロック生成部２１０は、基準クロックRefCLKを基に逓倍し、位相差が等間隔の多相クロックを生成するものであり、本実施形態では１６位相の多相クロックVCLK0〜15を生成するものとする。高周波クロック生成部２１０は、また、多相クロックのうちの１つをＱ分周（ここではＱ＝４とする）した内部動作用クロックGCLKを生成し、図１８では省略したが、当該画素クロック生成装置２００の各部へ供給する。高周波クロック生成部２１０の詳細構成例は後述する。
【００９４】
図１９は、高周波クロック生成部２１０で生成する各クロックのタイミングを示す図である。(a-0)〜(a-15)は多相クロックVCLK0〜15のそれぞれのクロックであり、互いに等間隔の位相差を有しており、この時間間隔をTvとする。また、(b)GCLKは(a-0)VCLK0を４分周したクロックである。画素クロック生成装置２００は基本的にこのクロックGCLKを動作クロックとして動作する。ここで、GCLKを４分割した期間を順にQT0、QT1、QT2、QT3と称し、また多相クロックVCLK0〜15の立ち上がりにそれぞれ対応した時刻をPH0〜PH15と称し、この期間QTと位相PHとによりGCLK中の時間情報QPを表す。この時間情報QPは0〜63の64値であり、本実施形態ではこの多相クロックの等間隔の位相差Tvを基準として画素クロックPCLKを生成する。つまり、画素クロック周波数の制御演算を、動作クロックGCLKを基準に時間情報QP（QT,PH）の演算を行うことにより実施する。
【００９５】
図１８に戻り、第１エッジ検出部２２０は、第１の同期信号SPSYNCの立ち上がりエッジを多相クロックVCLK0〜15を基準として検出するものであり、同期信号SPSYNCの立ち上がりを検出すると、クロックGCLKに同期した検出パルスSPplsと立ち上がり時の期間QTと位相PHを示す時間情報SPqpを出力する。同様に、第２エッジ検出部２３０は、第２の同期信号EPSYNCの立ち上がりエッジを多相クロックVCLK0〜15を基準として検出するものであり、同期信号EPSYNCの立ち上がりを検出すると、クロックGCLKに同期した検出パルスEPplsと立ち上がり時の期間QTと位相PHを示す時間情報EPqpを出力する。
【００９６】
計数部２４０は、周波数演算部２７０からの画素クロック周波数指示信号Mnowに従って画素クロックPCLKの立上り時刻及び立下がり時刻を計数するものであり、Mnowに達する度にSet信号（GCLKに同期したSETpls信号と時間情報SETqpからなる）を生成し、またSet信号からMnow/2にあたる時間を計数し、Rst信号（GCLKに同期したRSTpls信号と時間情報RSTqpからなる）を生成する。この計数する時間単位は多相クロックVCLK0〜15の位相差Tvである。
【００９７】
比較部２５０は、２つの同期信号SPSYNC、EPSYNCの間の時間Tlineを計測し、書き込み周波数と２つのフォトディテクタＰＤ１とＰＤ２（図１）との距離に応じて予め定められた基準時間Rewと該計測した時間Tlineとの差を当該ラインの誤差Lerrとして算出する。つまり、適正な走査時間（基準時間）と当該ラインの走査時間Tlineとの差が走査速度の誤差である。ここでは、SPpls入力後EPplsが入力されるまでの期間中に計数部２４０から入力されるSETplsの数をカウントし、この値と基準値RefNとの比較をし、さらに各パルスの時間情報とから当該ラインの誤差Lerrとして変換している。この誤差の単位は位相差Tvである。
【００９８】
フィルタ２６０は、ライン誤差Lerrをフィルタリングして誤差データErrを出力するデジタルフィルタである。これは、図２におけるフィルタ１６０と同様である。
【００９９】
周波数演算部２７０は、フィルタ２６０が出力する誤差データErrに従って適正な画素クロック周波数を算出し、これを画素クロック周波数指示信号Mnowに変換して出力する。画素クロック周期をTpとし、今、Tp=KTvとして画素クロック周波数を設定して走査した時、目標値Tp'（Tp'=K'Tv）との誤差Errが入力される。よって、前述と同様に（１）式により求めたK'を設定するようにすれば、画素クロック周波数を目標値に制御することができる。周波数演算部２７０は、図２の周波数演算部１７０と同様の機能を果たし、構成も図１４の構成が同様に適用できる。
【０１００】
画素クロック出力部２８０は、計数部２４０より供給されるSet信号及びRst信号に従って「H」<->「L」を切り替えて画素クロックPCLKを生成し出力する。
【０１０１】
以下に、図１８の第２の実施形態の画素クロック生成装置２００におけるフィルタ２６０及び周波数演算部２７０を除く各部の詳細構成及び動作を説明する。
【０１０２】
図２０は高周波クロック生成部２１０の構成例を示す図である。この高周波クロック生成部２１０は、図１９に示したように、基準クロックRefCLKから、多相クロックVCLK0〜15と内部動作用クロックGCLKを生成するもので、分周器２１０１、位相周波比較器（PFD）２１０２、ローパスフィルタ（LPF）２１０３、電圧制御発振器（VCO）２１０４及び分周器２１０６からなる。
【０１０３】
電圧制御発振器（VCO）２１０４は、８段の差動バッファ２１０５a〜２１０５ｈを接続したリングオシレータで構成され、１６位相のクロックVCLK0〜VCLK15を生成する。分周器２１０１は、この多相クロックのうちの１つ（ここではVCLK8）をNv分周する。位相周波比較器（PFD）２１０２は、基準クロックRefCLKと分周器２１０１出力との位相比較を行い、この位相差情報に基づき内在するチャージポンプを駆動する。ローパスフィルタ（LPF）２１０３はチャージポンプ出力を平滑化し、制御電圧VcをVCO２１０４に供給する。VCO２１０４内の差動バッファ２１０５a〜２１０５hは、この制御電圧Vcに従って遅延量が変化し、位相同期制御が行われる。例えば基準クロックRefCLKとして100MHzのクロックを供給し、分周比Nvを20とすると、多相クロックVCLK0〜VCLK15は2GHzで互いに等間隔の位相差を有するクロックが生成できる。分周器２１０６は、多相クロックVCLK0〜VCLK15のうちの１つ（ここではVCLK0）をＱ分周（ここではＱ=4とする）して、クロックGCLKを生成する。このクロックGCLKが図１８の各部に供給されることになる。なお、適用しうる多相クロックの相数は本実施例の１６に限らないが、演算の簡便性より２のべき乗がもっとも望ましい。同様にGCLKを生成するための分周比Ｑも２のべき乗がもっとも望ましい。
【０１０４】
図２１は第１エッジ検出部２２０の構成例を示す図である。この第１エッジ検出部２２０はＰＨ検出部２２１０、ＱＴ検出部２２２０及びエンコーダ２２３０からなる。PH検出部２２１０は、第１の同期信号SPSYNCの立ち上がりエッジがVCLK0〜VCLK15のどこにあるかを検出し、その結果をVCLKの中の一つに同期させ、SPphとして出力する。QT検出部２２２０は、PH検出部２２１０が出力したSPphを元に、SPSYNCの立ち上がりエッジがクロックGCLKの中のどのQT（図１９）に含まれるかを検出し、SPqtとして出力する。エンコーダ２２３０はSPqtとSPphを元にして適切なエンコードを施し、クロックGCLKに同期したSPplsとSPqpを生成して出力する。エンコード方法等はインターフェイスの形態によって様々なので、詳細な説明は省略する。
【０１０５】
図２２はPH検出部２２１０の詳細構成例を示す図である。このPH検出部２２１０は多相受信部２２１１、同期部２２１２、デジタルフィルタ２２１３、各ビット二値化部２２１４及びエッジ検出部２２１５からなる。図２３は各信号のタイミングの一例を示す図であり、これに基づき図２２のPH検出部２２１０の詳細動作を説明する。
【０１０６】
図２３において、(a)SPSYNCは該第１エッジ検出部２２０に入力される第１の同期信号であり、(b-0)〜(b-15)は多相クロックVCLK0〜VCLK15である。多相受信部２２１１は、先の図３における受信部１２０１を多相クロックの位相数（本実施例では16個）だけ並列に並べたものであり、それぞれ多相クロックVCLK0〜VCLK15に同期して第１の同期信号SPSYNCを取り込み、閾値電圧Vtに基づいて二値化した出力(c-0)SPrcv0〜(c-15)SPrcv15として出力する。同期部２２１２は二値化出力SPrcv0〜SPrcv15を一旦それぞれのVCLK0〜VCLK15で取り込み、それらを全て一つのクロック（本実施例ではVCLK0）に同期するように取り直して１５ビット並列データ(d)SPparaとして出力する。これ以降、本PH検出部２２１０は全て同一のクロックで動作する。
【０１０７】
デジタルフィルタ２２１３は、15ビット並列データSPparaを適当なフィルタリングによって平滑化する。その際にデータSPparaは時間順に並んだシリアルデータであるとみなし、必要であれば１クロックないし複数クロック前のSPparaを保持してフィルタリングに用いる等の処理を行う。各ビット二値化部２２１４はデジタルフィルタ２２１３が平滑化したデータを各ビットごとにそれぞれ再二値化して、１５ビット並列データ(e)SPcmpとして出力する。エッジ検出部２２１５は再二値化出力SPcmpの隣接ビットを比較してSPSYNCの立ち上がりエッジを検出し、(f)SPphとして出力する。その際、１クロック前の最下位ビット（LSB）のデータを残しておき、現在の最上位ビット（MSB）のデータと比較する事で全ビットの検出を行う。図２３の例では、SPpara、SPcmp及びSPphはMSBから時間順に並んでおり、簡単の為に16進数（HEX）で表されている。
【０１０８】
なお、デジタルフィルタ２２１３が行う平滑化と各ビット二値化部２２１４が行う再二値化の詳細については、先の図３の構成のものと同様なので、詳細説明は省略する。ただし、デジタルフィルタ２２１３のフィルタ次数は図３のデジタルフィルタ１２０２とは異なっている。エッジ検出部２２１５は、例えば図３に示した回路１２０４を並列に並べる事で実現する事ができる。こうして、第１の同期信号SPSYNCの立ち上がりエッジが、VCLK0〜VCLK15のどこにあるかという位相PHの情報としてデータSPphを得る。
【０１０９】
図２４はPH検出部２２１０の別の詳細構成例を示す図である。このPH検出部２２１０はシュミットトリガ回路２２１６、フリップフロップ２２１７-ａ〜２２１７-ｐ、同期部２２１２、エッジ検出部２２１８及びエッジ検出部２２１９からなる。シュミットトリガ回路２２１６及びフリップフロップ２２１７-ａ〜２２１７-ｐは、先の図６の構成例と同様である。ただし、フリップフロップ２２１７-ａ〜２２１７-ｐは多相クロックの位相数（本実施例では16個）だけ用意される。同期部２２１８及びエッジ検出部２２１９は図２２で述べたものと同じである。
【０１１０】
図２５は、図２４のPH検出部２２１０の各部の信号のタイミングのいた例を示す図である。シュミットトリガ回路２２１６は(a)SPSYNCを閾値Vh、Vlに基づいて二値化して(b)SPshumittとする。フリップフロップ２２１７-ａ〜２２１７-ｐは、それぞれ(c-0)VCLK0〜(c-15)VCLK15に同期して動作し、シュミットトリガ出力SPshumittをそれぞれのクロックに同期して取り込んで(d-0)SPff0〜(d-15)SPff15とする。同期部２２１８はSPff0〜15を取り込み、ある一つのクロック（本実施例ではVCLK0）に同期するように取り直し、多相クロックの位相数だけの１５ビット並列データ(e)SPcmpとして出力する。エッジ検出部２２１９は並列データSPcmpの隣接ビットを比較してSPSYNCの立ち上がりエッジを検出し、(f)SPphとして出力する。
【０１１１】
図２６はQT検出部２２２０の詳細構成例を示す図である。このQT検出部２２２０は論理ゲート２２２１、シフトレジスタ２２２２及びラッチ回路２２２３からなる。シフトレジスタ２２２２は適当なビット数（本実施例では４ビット）を持ち、信号SPphと同期したVCLK（本実施例ではVCLK0）で動作する。該シフトレジスタ２２２２には、論理ゲート２２２１を介して、SPphによってエッジが検出された時に「Ｈ」が、エッジが検出されていない場合は「Ｌ」が入力され、VCLK0ごとに順次シフトされる。該シフトレジスタ２２２２のデータはクロックGCLKによってラッチ回路２２２３にロードされ、必要ならば何らかのエンコードを施されてSPqtとして出力される。
【０１１２】
図２７はQT検出部２２２０の別の詳細構成例を示す図である。このQT検出部２２２０は論理ゲート２２２４、カウンタ２２２５及びQT変換部２２２６からなる。カウンタ２２２５は必要なビット数（本実施例では２ビット）を持つカウンタであり、そのカウント値をSPcountとして出力する。該カウンタ２２２５はSPphと同期したVCLK（本実施例ではVCLK0）でカウントアップされ、GCLKによってリセットされる。QT変換部２２２６は、論理ゲート２２２４を介してSPphによってエッジが検出された時にSPcountを読み出し、必要ならば適当なエンコードを施して、SPqtとしてGCLKに同期して出力する。
【０１１３】
以上、図１８の第１エッジ検出部２２０の詳細構成例を説明したが、第２エッジ検出部２３０についても同様に実現できるので、その詳細は省略する。なお、第１及び第２の同期信号の検出にかかる遅延時間を揃える為に、二つのエッジ検出部２２０、２３０は同じ構成のものを用いる事が望まれる。
【０１１４】
図２８は、図１８における計数部２４０の構成例を示す図である。また、図２９は画素クロック出力部２８０の構成例を示す図である。計数部２４０はSET時間演算部２４０１、RST時間演算部２４０２、カウンタ２４０３、フリップフロップ２４０４、２４０５、カウンタ２４０６及びフリップフロップ２４０７からなる。画素クロック出力部２８０は遅延部２８１０、２８２０及びSRフリップフロップ２８３０からなる。
【０１１５】
図３０は計数部２４０及び画素クロック出力部２８０の各信号のタイミングの一例を示す図である。図３０に基づき、図２８の計数部２４０と図２９の画素クロック出力部２８０により、画素クロック周波数指示信号Mnowに従って画素クロックPCLKを生成する動作を詳述する。
【０１１６】
図２８において、各部はクロックGCLKに同期して動作する。SET時間演算部２４０１は、現在のPCLK立ち上がり時間情報に画素クロック周波数指示信号Mnowを加算し、次のPCLKの立ち上がり時間を表すセット時間情報nextSを演算するものであり、この演算の更新はカウンタ２４０３の出力であるpSet信号により行う。なお、セット時間情報nextSを64で割った商をnextSc、余りをnextSqpとする。つまりnextSc=nextS[MSB:6]、nextSqp=nextS[5:0]とする。また、SPSYNCの立ち上がりに位相同期してPCLKの生成を始めるので（正確には所定の信号処理時間後でここでは2GCLK後）、最初のPCLK立ち上がり時間情報はSPqpとする。
【０１１７】
同様に、RST時間演算部２４０２は、現在のPCLK立ち上がり時間情報に画素クロック周波数指示信号Mnowの1/2を加算し、次のPCLKの立ち下がり時間を表すリセット時間情報nextRを演算するものであり、この演算の更新も、カウンタ２４０３の出力であるpSet信号により行う。また、nextRc=nextR[MSB:6]、nextRqp=nextR[5:0]とする。なお、Mnow/2を加算するのはPCLKのデューティをほぼ50％にするためであり、デューティー50％を要求しない場合はこの演算を簡略化できるような値を加算するようにしても良い。
【０１１８】
カウンタ２４０３は、クロックGCLKを基準としてnextScサイクルのカウントを行い、pSet信号を生成する。このpSet信号が「H」の時カウンタは「1」にクリアされ、カウント値がnextScと一致する時、pSet信号を「H」とする。フリップフロップ２４０４はpSet信号及びSPpls信号を1GCLK遅延させてSETpls信号を生成するフリップフロップである。フリップフロップ２４０５は、pSet信号をイネーブルとしてnextSqpを、SPplsをイネーブルとしてSPqpをラッチし、SETqp信号を生成するフリップフロップである。このSETpls信号はPCLKの立ち上がりをGCLK単位で指定し、これに同期したSETqp信号によりそのGCLKサイクル内での立ち上がり時間情報を指定する。これらSETplsとSETqpをSet信号として、画素クロック出力部２８０に供給する。
【０１１９】
また、カウンタ２４０６は、クロックGCLKを基準としてnextRcサイクルのカウントを行い、RSTpls信号を生成する。SETplsが「H」の時カウンタを「1」にクリアし、カウント値がnextRcに一致する時、RSTpls信号を「H」とする。フリップフロップ２４０７は、SETplsをイネーブルとしてnextRqpをラッチし、RSTqp信号を生成するフリップフロップである。RSTpls信号はPCLKの立ち下がりをGCLK単位で指定し、RSTqp信号によりそのGCLKサイクル内での立ち下がり時間情報を指定する。これらRSTplsとRSTqpをRst信号と称し、画素クロック出力部５８に供給する。
【０１２０】
なお、SETqp信号及びRSTqp信号は、それぞれSETpls及びRSTpls信号が「H」の時有効となってればよいので、各部の制御タイミングはこの実施形態のみに限定されるものではない。
【０１２１】
図２９において、遅延部２８１０は、多相クロックVCLK0〜VCLK15を基準として、計数部２４０から供給されるSETplsを時間情報SETqpに従って遅延させたパルスSを出力するものであり、また、GCLKサイクル中の期間QTを特定するためクロックGCLKも入力する。あるいは期間を示す期間信号QTを入力しても良い（この場合は高周波クロック生成部５１でこのQT信号を生成する）。つまり、パルスSはSETplsをSETqp・Tvだけ遅延させたパルスとなる。遅延部２８１０の詳細構成例については後述する。遅延部２８２０は、同様に、多相クロックVCLK0〜VCLK15を基準として、計数部２４０から供給されるRSTplsを時間情報RSTqpに従って遅延させたパルスRを出力するものであり、パルスRはRSTplsをRSTqp・Tvだけ遅延させたパルスとなる。SRフリップフロップ２８３０は、パルスSの立ち上がりでセット「H」し、パルスRの立ち上がりでリセット「L」した画素クロックPCLKを出力するSet-Resetフリップフロップである。
【０１２２】
図３０において、(a)はGCLKである。第１エッジ検出部２２０では、第１の同期信号(b)SPSYNCの立ち上がりを検出すると、その次のGCLK１サイクルが「H」となる（c-1）SPpls信号を出力し、またGCLKサイクル内のどの時刻で立ち上がったかを示す(c-2)SPqp信号（本例では10とする）も出力する。(d)Mnowは周波数演算部２７０から供給される画素クロック周波数指示信号であり、図示したように入力されるものとする。
【０１２３】
(e-1)nextSは、計数部２４０のSET時間演算部２４０１で演算される次のPCLKの立ち上がり時間を表す。まず、最初はSPSYNCの立ち上がりに同期してPCLKが立ち上がるようになっているので、次のPCLKの立ち上がりはSPqp+Mnow=250Tv後となる。ここで右辺のカンマの前の数値はnextScを、カンマの後の数値はnextSqpを表す。その次のnextSは、nextSqp+Mnow=298となる。(e-2)nextRはRST時間演算部２４０２で演算される次のPCLKの立ち下がり時間を表す。まず、最初はSPSYNCの立ち上がりにMnow/2を加算した値（=130）がPCLKの立下がり時間となる。(e-1)nextSと同様に右辺のカンマの前の数値はnextRcを、カンマの後の数値はnextRqpを表す。
【０１２４】
(f)pSetは、SETqp信号を更新するためにSETplsの1GCLK前に出力するパルスであり、計数部２４０のカウンタ２４０３のカウント値がnextScと一致した時「H」となる。なお、図中示した丸数字はnextScのカウント値を表す。(g-1)SETplsは、SPplsとpSet信号を1GCLK遅延させたパルスであり、PCLKの立ち上がりをGCLK単位で指定する。(g-2)SETqpはこのSETplsの遅延値を示すPCLK立ち上がり時間情報であり、(f)pSetが「H」の時の(e-1)nextSqpの値に更新していく。(h-1)RSTplsはPCLKの立ち下がりをGCLK単位で指定したパルスであり、カウンタ２４０７のカウント値がnextRcと一致した時「H」となる。(h-2)RSTqpはRSTplsの遅延値を示すPCLK立ち下がり時間情報である。
【０１２５】
(i-1)Sは、画素クロック出力部２８０における遅延部２８１０の出力パルスで(g-1)SETplsを対応する(g-2)SETqpの値だけ遅延させたパルスであり、遅延値の単位は多相クロックVCLK0〜15の位相差Tvである。同様に、(i-2)Rは遅延部２８２０の出力パルスで、(h-1)RSTplsを対応する(h-2)RSTqpの値だけ遅延させたパルスである。(j)PCLKはSRフリップフロップ２８３０の出力で、(i-1)Sの立ち上がりで「H」に、(i-2)Rの立ち上がりで「L」として生成される画素クロックである。
【０１２６】
図３１は画素クロック出力部２８０の遅延部２８１０の詳細構成例を示す図である。この遅延部２８１０はセレクタ２８１１、窓関数生成部２８１２及び演算器２８１３からなる。図３２は図３０に示す遅延部２８１０の構成例における内部信号の一例を示したもので、これに基づき該遅延部２８１０の動作を詳述する。
【０１２７】
図３２において、(a)GCLKと(b-0)VCLK0〜(b-15)VCLK15の関係は、先の図１９に示した通りとする。(c)SETplsと(d)SETqpは遅延部２８１０に入力される信号であり、SETplsはパルス生成を指示し、SETqpは生成するパルスのGCLK立ち上がりからの遅延時間を示す。セレクタ２８１１は、入力信号SETqpを元にVCLK0〜VCLK15の中から適切なクロックを選択し、(e)VCLKphとして出力する。本実施例においては、選択されるのはVCLK{SETqp
mod 16}であり、従って、図３２ではVCLK1が選択される。窓関数生成部２８１２は、SETplsが「Ｈ」の時に、SETqpによって決まる窓関数(f)SETwinを生成する。窓関数SETwinはあるQTの期間だけVCLKphを通し、それ以外のVCLKphは通さないような適切な形をしている事が求められる。窓関数SETwinはVCLK0〜VCLK15の中の適当なクロックに同期して生成する事ができる。演算器２８１３は、こうして得られたVCLKphとSETwinの論理積を出力パルス(g)Sとして出力する。なお、本実施例でのセレクタ２８１１と窓関数生成部２８１２の動作順番を入れ替えても、全く同じ結果を得ることができる。
【０１２８】
図３３は遅延部２８１０の別の詳細構成例を示す図である。この遅延部２８１０はQT遅延部２８１４、フリップフロップ２８１５-ａ〜２８１５-ｐ及び演算器２８１６からなる。図３４は図３３に示す遅延部２８１０の構成例における内部信号の一例を示したもので、これに基づき該遅延部２８１０の動作を詳述する。
【０１２９】
図３４において、(a)GCLKと(b-0)VCLK0〜(b-15)VCLK15の関係は、先の図１９に示した通りとする。(c)SETplsと(d)SETqpは遅延部２８１０に入力される信号であり、SETplsはパルス生成を指示し、SETqpは生成するパルスのGCLK立ち上がりからの遅延時間を示す。QT遅延部２８１４はVCLKの中の一つ（本実施例ではVCLK0）を基準として動作し、SETplsが「Ｈ」の時に、SETqpを元に(e)SETdelayを生成する。SETdelayはVCLKの本数（本実施例では１６）だけのビット数を持ち、SETplsが「Ｌ」の間は全ビットが「０」である。SETplsが「Ｈ」の時には、SPqpによって示される所望のPHにあたるビットが「１」で、残りのビットは「０」となる。図３４ではSPdelayは時間順にMSBから並んでおり、SETqp=33であるため{33  mod  16}=1ビット目（図３４の実施例ではMSBを0ビット目とする）が「１」となり、他のビットは全て「０」となっている。QT遅延部２８１４はさらに、GCLKの立ち上がりからSETqpが示すQTのクロック数だけ遅延させたタイミングで次段のフリップフロップ２８１５-ａ〜２８１５-ｐに取り込まれるように、SETdelayを遅延させて出力する。本実施例ではSETqp/16=2であり、GCLKの立ち上がりから２クロック後に取り込まれるようにしてSETdelayが出力されている。フリップフロップ２８１５-ａ〜２８１５-ｐはそれぞれVCLK0〜VCLK15で動作し、SETdelayの各ビットを各VCLK0〜VCLK15に同期して出力する。演算器２８１６は、これらのフリップフロップ２５１−ａ〜２５１−ｐの出力の論理和を出力パルス(f)Sとして出力する。全てのビットの論理和を取る演算器２８１６の好適な構成としては、ワイヤードオアが挙げられるが、必ずしもその限りではない。
【０１３０】
以上、図２８に示した画素クロック出力部２８０内のパルスSを生成する遅延部２８１０の詳細構成例を説明したが、全く同じ構成でパルスRを生成する遅延部２８２０も実現できる。なお、パルスSとRの遅延を一致させる為には二つの遅延部２８１０、２８２０は同じ回路構成であることが求められる。
【０１３１】
図１８に戻り、図３５は比較部２５０の詳細構成例を示す図である。この比較部２５０はカウンタ２５０１、減算部２５０２、誤差演算部２５０３及び誤差検出部２５０４からなる。図３６は該比較部２５０の各信号のタイミングの一例を示したもので、これに基づき該比較部２５０の動作を詳述する。
【０１３２】
図３６において、(a)はGCLKである。(b-1)はSPSYNC、(b-2)はEPSYNCである。この２つの信号の立ち上がりの時間間隔が当該ラインの走査時間Tlineである。(c-1)はSPpls、(c-2)はEPplsである。また、(d-2)EPqpは同期信号EPSYNCの時間情報である。さらに(e-1)SETpls、(e-2)SETqpはPCLKの立ち上がりを表す時間情報である。これらは前述したので説明は省略する。(e-3)SETcntは、計数部２４０（図２８）のカウンタ２４０３のカウント値である。本例ではMnow=192で一定とする。このとき(f)PCLKが生成される。PCLKはSPSYNCの丁度2GCLK後に同期して生成されるので、走査終了時点EPもEPSYNCから2GCLK遅らせた時点で検出する。よって、(c-2)EPplsを1GCLK遅延させた(d-1)EPdetが「H」の時の各信号値から誤差Lerrを検出する。(g)はpSetであり、(h)countNは、(c-1)SPplsで'0'クリアされ、(g)pSetによりインクリメントされるカウンタ２５０１のカウント値である。これらより、走査開始から走査終了時点EPまでのPCLKのサイクル数ｎと位相誤差ｍ2を検出する。
【０１３３】
図３５において、カウンタ２５０１は、SPplsで'0'クリアし、pSetによりインクリメントするカウンタであり、そのカウント値countN（図３６の(h)）を出力する。減算部２５０２は、EPdetが「H」の時のカウンタ２５０１の値countN（図３６ではｎ）から基準カウント値RefNの減算を行い、減算結果diffN（=n-RefN）を出力する。
【０１３４】
誤差検出部２５０４は、EPdetが「H」の時のSETqp及びSETcntをそれぞれEndqp、Endcntとすると、次式(5)の演算を行い位相差diffMを算出する。
【０１３５】
diffM=Endcnt・Mp+(EPqp-Endqp)        (5)
ここでMpはGCLKの時間情報分割数であり、本実施例では64である。また、図３６の例ではdiffM=144となる。
【０１３６】
誤差演算部２５０３は、下記次式(6)の演算を行い多相クロックVCLK0〜15の位相差Tvを単位とする誤差Lerrを出力する。
Lerr=diffN・K+diffM                (6)
ここで、Tp=K・Tv,Tp：PCLKの周期である。
【０１３７】
なお、先の図９と同様に、Lerr=diffN・K+diffM-RefM  と演算し、基準時間の設定値をより細かく設定するようにして、より正確な画素クロック周波数の制御を行うようにしても良い。
【０１３８】
次に、図１８の画素クロック生成装置２００で生成した画素クロックPCLKを基準に画像データに従い変調データを生成する変調データ生成部２３の好適な構成例及びその動作を説明する。
【０１３９】
図３７は、図１８の変調データ生成部２３として用いられるパルス変調装置の詳細構成例を示す図である。本パルス変調装置３００はクロックパターン生成部３１０、画像データデコード部３２０、変調パターン生成部３３０及びシリアルライザ３４０からなる。図３８は、該パルス異変調装置３００の各信号のタイミング図の一例を示したもので、これに基づき該パルス変調装置３００の動作を詳述する。なお、本例では画像データPDataに従い８値のパルス幅変調を行った変調データMDataを生成するものとする。
【０１４０】
図３７において、パルス変換装置３００はクロックGCLKが各部へ供給され、基準クロックとして動作する。クロックパターン生成部３１０は、画素クロック生成装置２００から供給されるSETpls及びSETqp信号から構成されるSet信号と画素クロック周波数指示信号Mnowとから、画素クロックPCLKの所定の位相差を持ったクロックに相当するクロックパターン信号CKP（ここではCKP0〜CKP3で、PCLKとそれぞれ、0、π/8、π/4、3π/8位相の遅れたクロックのパターン）を生成する。このクロックパターン信号CKPは、クロックGCLKを基準に変化する信号で、GCLKサイクルを時間情報QPで区切った６４の期間Tqpにそれぞれ対応する６４ビットのデータであり、期間Tqpが「H」の場合は対応するビットが「1」であり、「L」の場合は「0」となる。
【０１４１】
クロックパターンの生成手順は次のようにして行う。まず、各クロックパターンの立ち上がりを示すオフセットデータsofs0〜3及び立ち下がりオフセットデータrofs0〜3を求める。それぞれ、sofs0=SETqp、sofs1=SETofs+Mnow/8、sofs2=SETofs+Mnow/4、sofs3=SETofs+3Mnow/8であり、rofs0〜3はそれぞれsofs0〜3にMnow/2を加算する。次に、GCLKのサイクル毎クロックパターンCKPのMSBから順にsofsまでは「0」に、sofsからrofsまでは「1」に、rofsからは「0」へと変換する。なお、各オフセットデータが64以上であれば、64毎に1GCLK遅らせて、この変換を行う。例えば、Mnow=192、SETqp=16の場合、CKP1は、sofs=40、rofs=136(=2GCLK+8)であるので、第1のGCLKサイクルのパターンはMSB（=63）〜24ビット目までは「0」、23〜0ビットは「1」に、第2のGCLKサイクルのパターンは全て「1」に、第3のGCLKサイクルのパターンは63〜56ビットは「1」、55〜0ビットは「0」になる。
【０１４２】
画像データデコード部３２０は、画像データPDataを８値のパルス幅変調データDecData（８ビット）に変換する。このパルス幅変調データDecDataは、画素クロックPCLKの1サイクルを８つに時分割した期間の時間順に、MSBからLSBの順で各ビットが対応する。例えば、PData=3であれば、DecData='b11100000と変換する（'bはバイナリ表記であることを示す）。あるいは、DecData='b00000111と変換するようにしても良いし、モード切換信号を付加して双方のモードを切り換えられるようにしても良い。なお、この変換方式は、本発明の要旨に反しない範囲で自由に選択できる。
【０１４３】
変調パターン生成部３３０は、パルス幅変調データDecDataとクロックパターン信号CKP0〜CKP3とから、変調パターン信号MDPを生成する。この変調パターン信号MDPは、クロックパターン信号CKPと同様に、GCLKを基準に変化する信号で、GCLKサイクルを時間情報QPで区切った６４の期間Tqpにそれぞれ対応する６４ビットのデータである。
【０１４４】
シリアライザ３４０は、変調パターン信号MDPを多相クロックVCLK0〜15を基準として、MSBから順に（つまり時間順に）Tv時間ずつシリアル出力した変調データMDataを生成する。
【０１４５】
次に、図３８により、具体的数値例を挙げて説明する。(a)は基準クロックとなるGCLKである。今、Set信号を構成する(b-1)SETpls及び(b-2)SETqpが図３８のように供給される時、画素クロックは(c-1)PCLKのように生成されている。また、画素クロック周波数指示信号Mnow=192であるとする。また実際には生成しないが、PCLKをそれぞれπ/8、π/4、3π/8だけ位相を遅らせたクロックを(c-2)PCLK1、(c-3)PCLK2、(c-4)PCLK3に説明のため示す。(d-1)〜(d-4)はそれぞれPCLK、PCLK1〜3を表すクロックパターンCKP0〜3である。それぞれ64ビットのデータでMSBからLSBに時間順であり、16進（HEX）表記している。よって、これらのクロックパターンCKP0〜3から、画素クロックPCLKを８つに時分割した期間（tp0〜tp7）を示すパターン（それぞれ時間順にPT0〜7と称する）が生成できる。すなわち、PT0=CKP0&~CKP1、PT1=CKP1&~CKP2、・・・、PT7=~CKP3&~CKP0である。ここで、「&」は論理積を、「~」は否定論理を示す。
【０１４６】
(e)DecDataはパルス幅変調データであり、図３８のように変換されているとする。(f)MDPは変調パターン信号であり、まずiを0〜7まで変化させた時の({64{DecData[7-i]}}&PTi)を演算し、次にこれらの論理和を演算することにより得られる。ここで、{64{DecData[i]}}はDecData[i]を64ビット分連接させたデータである。こうして生成された変調パターン信号をシリアライズすることにより(g)MDataの変調データが生成できる。この例ではPCLK周期Tpのうち最初の3/8の期間が「H」で、残りが「L」となるようにパルス幅変調されたパルスが生成される。
【０１４７】
なお、画素クロックをπ/8ずつ位相をずらしたクロックパターンCKP0〜3を生成する代わりに、画素クロックPCLKの１サイクルを８つに時分割したそれぞれの期間を示すパターンPT0〜PT7を生成し、これらとパルス幅変調データDecDataとから変調パターン信号MDPを生成するようにしても良い。
【０１４８】
また、本実施例では８値のパルス幅変調を行う場合について説明したが、他の変調方式であっても適用できる。例えば１６値のパルス幅変調を行う場合は、画像データデコード部３２０は、画像データPDataを１６ビットのパルス幅変調データDecDataに変換し、クロックパターン生成部３１０は、画素クロックPCLKとπ/16ずつ位相をずらした８つのクロックパターンCKP0〜CKP7を生成し、変調パターン生成部３３０で同様にして変調パターン信号MDPを生成するようにすればよい。
【０１４９】
さらに、図３７の構成例は、図１８の画素クロック出力部２８０に適用してもよい。つまり、画素クロックＰＣＬＫのクロックパターンPCKPを生成し（前述のクロックパターン信号CKP0を用いればよい）、これを多相クロックVCLK0〜15を基準として、MSBから順に（つまり時間順に）Tv時間ずつシリアル出力すれば画素クロックPCLKを生成できる。
【０１５０】
多相クロックを基準クロックとしてシリアライズを行うシリアライザ３４０の実現方法としては、例えば、特許第３５１５０８７号の特許公報に記載されている多相シリアル−パラレル変換装置が挙げられる。それによれば、高精度に生成された多相クロックVCLK0〜VCLK15に同期して変調データMdataを生成しており、Tvの時間刻みで正確にパルスを出力する事ができる。また、多相クロックVCLK0〜15に同期して動作するので、多相クロックの発振周波数を高くしないでもよいので、回路の設計が容易となり消費電流も低減できる。逆にいえば、同等の発振周波数とした場合、変調データ生成分解能を16倍に向上できる。つまり高精度な変調データが生成できる。
【０１５１】
以上説明したように、画素クロック生成装置の第２実施形態によれば、高精度に生成された多相クロックVCLK0〜VCLK15を基準として画素クロックを生成し、走査時間の変動に合わせて画素クロック周波数を制御しているので、走査平均速度の変動があってもこの誤差を高精度に補正できる画素クロックが生成でき、さらに画素クロック周波数の制御はポリゴンミラーの各面に対応してそれぞれ制御しているので、面毎の走査速度誤差があっても高精度に補正できる画素クロックが生成できる。また、画素クロックの生成は多相クロックVCLK0〜15の位相差Tvの単位で正確に制御できるので、多相クロックの発振周波数を高くしないでもよいので、回路の設計が容易となり消費電流も低減できる。例えば、前述の第１実施形態と同等の分解能で画素クロックを生成する場合は、多相クロックの発振周波数は1/16でよい。逆にいえば、同等の発振周波数とした場合、画素クロック生成分解能を16倍に向上できる。つまり高精度な画素クロックが生成できる。さらには、画素クロック生成部の大部分は多相クロックの１つをさらに分周したクロックGCLKで動作するようにしているので、動作周波数がさらに低下され、消費電流の低減ができる。
【０１５２】
この画素クロック生成装置を画像形成装置に適用すれば、走査速度誤差を高精度に補正した画素クロックを基準に画像を形成するので、高品質な画像が得られる。
【０１５３】
また、図２１乃至図２７で説明した第１エッジ検出部及び第２エッジ検出部の第２の実施形態によれば、同期信号SPSYNC及びEPSYNCの立ち上がりエッジを検出する際に、ノイズを除去する為のフィルタを一度通してから、高精度に生成された多相クロックVCLK0〜VCLK15によって立ち上がりエッジを検出しているので、画像形成装置内部の様々な要因により同期信号が劣化していても、高精度にその立ち上がりエッジを検出する事ができ、高精度の画素クロックが生成できる。また、立ち上がりエッジの検出は多相クロックVCLK0〜VCLK15の位相差Tvの単位で正確に検出できるので、多相クロックの発振周波数を高くしないでもよく、回路の設計が容易となり消費電流も低減できる。逆にいえば、同等の発振周波数とした場合、立ち上がりエッジ検出分解能を16倍に向上できる。つまり高精度なエッジ検出が実現できる。
【０１５４】
このようなエッジ検出部を適用した画素クロック生成部を画像形成装置に適用すれば、走査速度誤差を高精度に補正した画素クロックを基準に画像を形成するので、高品質な画像が得られる。
【０１５５】
さらに、図３１乃至図３４で説明した遅延部の構成例によれば、高精度に生成された多相クロックVCLK0〜VCLK15に同期して遅延パルスを生成しているので、Tvの時間刻みで正確にパルスを出力する事ができる。また、遅延部の内部もそれぞれ多相クロックVCLK0〜15に同期して動作するので、一般的なロジック回路を用いて実現する事ができ、多相クロックの発振周波数を高くしないでもよいので、回路の設計が容易となり消費電流も低減できる。逆にいえば、同等の発振周波数とした場合、遅延パルス生成分解能を16倍に向上できる。つまり高精度な遅延パルスが生成できる。
【０１５６】
このような遅延部を適用した画素クロック生成部を画像形成装置に適用すれば、走査速度誤差を高精度に補正した画素クロックを基準に画像を形成するので、高品質な画像が得られる。
【０１５７】
次に、本発明による画像形成装置の別の実施形態を説明する。図３９は、画像形成装置の第２の実施形態である。この画像形成装置は、複数の光源からの出射光を共通の走査光学系を用いて感光体に照射して画像（静電潜像）を形成するマルチビーム走査光学系を用いたものである。
【０１５８】
図３９において、半導体レーザ１１ａ及び１１ｂは、コリメートレンズ１２ａ、１２ｂとの光軸を一致させ主走査方向に対称に射出角度を持たせ、ポリゴンミラー１４の反射点で射出軸が交差するようレイアウトされている。それぞれの半導体レーザ１２ａ、１２ｂより射出した複数のビームはコリメートレンズ１２ａ、１２ｂ、スリット部１０、シリンダーレンズ１３を介してポリゴンミラー１４で一括して走査され、ｆθレンズ１５、ミラー１３、及びトロイダルレンズ１７により感光体１８上に結像される。画像処理部２２には各光源ごとに１ライン分の画像データが蓄えられ、ポリゴンミラー１面毎に読み出されて、２ラインずつ同時に書き込みがおこなわれる。
【０１５９】
ミラー１６の両端にはフォトディテクタ（ＰＤ１）１９、フォトディテクタ（ＰＤ２）２０がそれぞれ配置されており、走査の開始時と終了時とが検出される。すなわち、つまりポリゴンミラー１４により反射された２つの光源から出射されたレーザ光は感光体１８を１ライン走査する前に順次フォトディテクタ（ＰＤ１）１９に入射され、走査後にフォトディテクタ（ＰＤ２）２０に入射される。それぞれのフォトディテクタ１９、２０では、入射されたレーザ光をそれぞれ第１の同期信号SPSYNC及び第２の同期信号EPSYNCに変換し、同期信号分離部３０に入力する。２つの光源は感光体１８上を時差を持って走査するように配置されているので、同期信号分離部３０は、第１の同期信号SPSYNCをそれぞれの光源に対応した同期信号SPSYNCaとSPSYNCbに、同様に第２の同期信号EPSYNCをそれぞれの光源に対応した同期信号EPSYNCa及びEPSYNCbに分離する。
【０１６０】
図４０は、これらの同期信号のタイミング図の一例を示す図である。(a)は第１の同期信号SPSYNCであり、(b)は第２の同期信号EPSYNCである。ここでは半導体レーザ１１ａのレーザ光が先に走査されているとすると、同期信号(a)SPSYNCは（c-1）SPSYNCa及び(c-2)SPSYNCbのように分離される。同様に同期信号（b）EPSYNCは、(d-1)EPSYNCa及び(d-2)EPSYNCbのように分離される。
【０１６１】
図３９に戻り、同期信号分離部３０で分離された一方の同期信号の組SPSYNCaとEPSYNCaとは画素クロック生成部２１ａに供給され、他方の組SPSYNCbとEPSYNCbとは画素クロック生成部２１ｂに供給される。画素クロック生成部２１ａは、２つの同期信号SPSYNCa及びEPSYNCaから走査時間Tlineaを測定し、その時間間隔に予め定められた所定数のクロックが収まるように求められた周波数の画素クロックPCLKaを生成する。画像処理部２２は、画素クロックPCLKaを基準に画像データaを生成する。変調データ生成部２３ａは、画素クロックPCLKaを基準として、入力された画像データaから変調データaを生成し、レーザ駆動部２１ｂを介して半導体レーザ１１ａを駆動する。同様にして、画素クロック生成部１２４ａは、２つの同期信号SPSYNCb及びEPSYNCbから画素クロックPCLKbを生成し、画像処理部２２において画素クロックPCLKbを基準に生成された画像データbから変調データ生成部２３ｂにて変調データｂを生成し、レーザ駆動部２４ｂを介して半導体レーザ１１ｂを駆動する。
【０１６２】
ここで、画素クロック生成部２１ａ、２１ｂは図１の画素クロック生成部２１と同様の機能を果たし、前述した画素クロック生成装置の第１実施形態及び第２実施形態を適用できるので、その詳細構成及び動作説明は省略する。変調データ生成部２３ａ、２３ｂも同様に説明を省略する。
【０１６３】
なお、先の高周波クロック生成部は、画素クロック生成部２１ａと２１ｂとで共通に用いる構成とすれば、回路規模の小型化や消費電流の低減が図れる。また同期信号を検出する２つのエッジ検出部も、画素クロック生成部２１ａと２１ｂとでそれぞれ共通化して検出し、検出信号を分離する構成としても良い。
【０１６４】
さらには、フィルタや周波数演算部の演算処理の一部は１ラインに１回動作するだけであるので、これを共通化し、複数の画素クロック周波数演算に対し時系列に処理するようにしてもよい。
【０１６５】
この実施形態によれば、前述の課題で示した（３）光源毎の走査速度誤差があっても、つまり２つの光源の波長が異なり、走査光学系の色収差により走査速度が変動するなどにより２つのビームの走査速度が異なっても（図４０の２つのビームの走査時間TlineaとTlinebが各々独立に変動しても）、それぞれの走査速度変動に合わせて画素クロックPCLKa及びPCLKbの周波数を独立に制御しているので、速度変動が高精度に補正でき、高品質の画像が形成できる。
【０１６６】
また、マルチビーム走査光学系は複数の半導体レーザを備えたものでなく、１つの半導体レーザアレイから出射される複数のレーザビームを共通の走査光学系を用いて走査するものもある。このような光学系に対しても同様に適用できる。なお、マルチビーム走査光学系は様々な実施形態があるが、本発明の作用効果は走査光学系の形態によらず適用できるものであるので、詳細な構成の図示及び説明は省略する。
【０１６７】
次に、本発明による画像形成装置の第３の実施形態を説明する。図４１は機構部の構成例で副走査断面図であり、一部ユニットのみ図示したものである。図４２は処理系の構成例で、画像処理部４００と処理ユニット４１０ａ〜４１０ｄからなる。処理ユニット４１０ａは画素クロック生成部４１１ａ、変調データ生成部４１２ａ、レーザ駆動部４１３ａ及び半導体レーザ４１４ａで構成される。処理ユニット４１０ｂ、４１０ｃ、４１０ｄも同様である。
【０１６８】
この画像形成装置の第３の実施形態は、複数の感光体を有する多色対応の画像形成装置であり、シアン、マゼンダ、イエロー、ブラックの各色に対応した別々の感光体３０９ａ〜３０９ｄを備え、走査光学系もそれぞれの感光体に対応して備えられ、各色に対応した画像（静電潜像）をそれぞれの感光体上に形成する。そして、１枚の画像形成媒体（例えば紙）に各色の画像を転写することによりカラー画像を形成する。この実施形態は単純には図１の画像形成装置を４つ備えることにより実現できる。また、小型化のため走査光学系の一部を共通化した形態も採られるが、それぞれの光路は異なるので、異なる画像形成装置を複数個備えたものと考えてよい。以下、図４１及び図４２に基づき第３の実施形態の説明を行う。
【０１６９】
図４１において、ポリゴンミラー３０１は２段構成となっており、点線を軸として回転しており、各走査光学系で共通に用いている。処理ユニット４１０ａの半導体レーザ４１４aから出射したレーザ光はコリメータレンズ、シリンダーレンズを介して（いずれも不図示）、ポリゴンミラー３０１のａ点で反射される。同様に、処理ユニット４１０ｂ〜４１０ｄの半導体レーザ４１４ｂ〜４１４ｄから出射したレーザ光はポリゴンミラー３０１のｂ〜ｄ点で反射される。ポリゴンミラー３０１で反射された各レーザ光は、走査レンズ３０２ａ〜３０２ｄ、３０４ａ〜３０４ｄ、及び折り返しミラー３０３ａ〜３０３ｄ、３０６ａ〜３０６ｄを経由して感光体３０９ａ〜３０９ｄ上を走査し（ビームの走査方向つまり主走査方向は、図面に対して垂直方向である）、画像（静電潜像）を形成する。ここで、図番末尾のa〜dは半導体レーザa〜dに対応したものであり、それぞれイエロー、マゼンタ、シアン、ブラックの各色に対応した画像を形成しているものとする。各感光体３０９ａ〜３０９ｄに形成された各色の画像は中間転写ベルト３１０上に置かれ矢印方向に移動する画像形成媒体へ順次、転写されていきカラー画像が形成される。
【０１７０】
一方、有効走査範囲外の両側に配備されたミラー３０７ａ〜３０７ｄにより、各ビームは検出器（フォトディデクタ）３０８ａ〜３０８ｄに導光されて、走査の開始時点と終了時点とが検出され、同期信号SPSYNCａ〜ｄ、EPSYNCａ〜ｄに変換される。処理ユニット４１０ａでは、同期信号SPSYNCａ、EPSYNCａが、画素クロック生成部４１１ａに供給され、走査速度誤差を補正するように周波数が制御された画素クロックPCLKａを生成する。また、画像処理部４００は、画素クロックPCLKａを基準に画像データPDataａを生成する。変調データ生成部４１２ａは、画素クロックPCLKａを基準として、入力された画像データPDataａから変調データを生成し、レーザ駆動部４１３ａを介して半導体レーザ４１４ａを駆動する。処理ユニット４１０ｂ、４１０ｃ、４１０ｄでも同様である。つまり、これらを各色の対応ビーム毎同様に行う。
【０１７１】
画素クロック生成部４１１は前述した画素クロック生成部の第１実施形態及び第２実施形態を適用できる。ここで、走査光学系の各部品の製造精度や組付け精度、経時変化などによる変形などの影響により、各走査光学系での走査時間はそれぞれ異なり、また走査開始及び終了を検出する２つのフォトディデクタ間の距離も組付け精度などにより異なるので、画像クロック周波数制御の基準となる基準値RefNを各走査光学系毎に画像形成装置の製造時などに予め求めておき（経時変化などにより画像劣化が生じた時は再度求めなおすようにしても良い）、これらを基準値RefNとして画素クロック生成部４１１にそれぞれ与える。また、同期信号SPSYNCによる走査開始検出位置も走査光学系毎異なる場合があるので、同期信号SPSYNCの立ち上がりから所定時間後（画素クロックPCLKの所定サイクル後）に、画像の書き込み開始するようにしておき（書き込み開始オフセットと称する）、この書き込み開始オフセットを各走査光学系毎予め求めておく。
【０１７２】
図４３は、各走査光学系による走査幅、走査時間の関係を示す図である。(a-1)は走査光学系aの１ラインの走査幅を示す。SPa及びEPaは走査開始と終了とを検出する検出器の位置を感光体上に対応付けた位置である。この距離をLaとする。また、画像の１ドット幅をLpとした時、La/Lp=RefNaが１ライン中のドット数となり、これを基準値RefNとして設定する。また実際に画像を形成する範囲はPSPとPEPとの間の領域とする。また(a-2)は、走査光学系aの１ラインの走査時間を示す。走査開始位置SP及び終了位置EPに対応して、同期信号SPSYNC及びEPSYNCがそれぞれ検出され、この時間間隔を走査時間Tlaとする。この走査時間Tlaは前述したように様々な要因により変動するが、画素クロック周期Tpaを、Tpa=Tla/RefNaの関係が成り立つように制御しているので、SPSYNCから所定のPCLKサイクル後（N1とN2とする）、出力する書き込みパルスは常に走査線上の同じ位置にドットを形成する（D1及びD2）。また、実際の画像の書き込み開始をNofsaサイクル後にする。
同様にして、(b-1)は走査光学系bの１ラインの走査幅を示し、走査開始位置SPbと終了位置EPb間の距離をLbとすると、Lb/Lp=RefNbを基準値RefNとして設定する。また(b-2)は走査光学系bの１ラインの走査時間を示し、同期信号SPSYNCとEPSYNCとの時間間隔を走査時間Tlbとする。これも同様に、画素クロック周期Tpbを、Tpb=Tlb/RefNbの関係が成り立つように制御している。さらに双方の走査開始位置SPa及びSPbとの距離差に応じて、画像の書き込み開始オフセットNofsbを設定することにより、実際に画像を形成する範囲PSP〜PEPが走査光学系によらず一致する。
【０１７３】
すなわち、この実施形態によれば、走査光学系毎の速度誤差を含め、様々な要因で走査速度誤差が生じても、それぞれの走査速度差・変動に合わせて画素クロックPCLKの周波数を独立に制御しているので、このようにして形成されたカラー画像は、色ずれが生じず、色再現性、解像度の劣化が生じず、高品位の画質を得ることができる。
【０１７４】
以上、本発明の画像形成装置、それに使用される画素クロック生成装置及びパルス変調装置の実施形態を説明したが、本発明はこれら実施形態の構成例に限定されるものではないことは云うまでもない。
【図面の簡単な説明】
【０１７５】
【図１】本発明の第１の実施形態による画像形成装置の全体的構成図である。
【図２】本発明の第１の実施形態の画素クロック生成装置１００の全体的ブロック図である。
【図３】第１エッジ検出部１２０の構成例を示す図である。
【図４】図３の第１エッジ検出部１２０の各信号のタイミング図である。
【図５】第２エッジ検出部１３０の構成例を示す図である。
【図６】第１エッジ検出部１２０の別の構成例を示す図である。
【図７】図６の第１エッジ検出部１２０の各信号のタイミング図である。
【図８】第２エッジ検出部１３０の別の構成例を示す図である。
【図９】比較部１５０の構成例を示す図である。
【図１０】図９の比較部１５０の各信号のタイミング図である。
【図１１】周波数演算部１７０の構成例を示す図である。
【図１２】周波数演算部１７０内の演算制御部１７０１のフローチャートである。
【図１３】周波数演算部１７０による引き込み過程の様子の一例を示す図である。
【図１４】周波数演算部１７０の別の構成例を示す図である。
【図１５】フィルタ特性の一例を示す図である。
【図１６】フィルタ１６０の構成例を示す図である。
【図１７】変調データ生成部２３の動作を説明するためのタイミング図である。
【図１８】本発明の第２の実施形態の画素クロック生成装置２００の全体的ブロック図である。
【図１９】高周波クロック生成部２１０が生成する各クロックのタイミング図である。
【図２０】高周波クロック生成部２１０の構成例を示す図である。
【図２１】第１エッジ検出部２２０の構成例を示す図である。
【図２２】第１エッジ検出部２２０内のＰＨ検出部２２１０の構成例を示す図である。
【図２３】図２２のＰＨ検出部２２１０の各信号のタイミング図である。
【図２４】ＰＨ検出部２２１０の別の構成例を示す図である。
【図２５】図２４のＰＨ検出部２２１０の各信号のタイミング図である。
【図２６】第１エッジ検出部２２０内のＱＴ検出部２２２０の構成例を示す図である。
【図２７】ＱＴ検出部２２２０の別の構成例を示す図である。
【図２８】計数部２４０の構成例を示す図である。
【図２９】画素クロック出力部２８０の構成例を示す図である。
【図３０】計数部２４０と画素クロック出力部２８０の各信号のタイミング図である。
【図３１】画素クロック出力部２８０内の遅延部２８１０の構成例を示す図である。
【図３２】図３１の遅延部２８１０の各信号のタイミング図である。
【図３３】遅延部２８１０の別の構成例を示す図である。
【図３４】図３３の遅延部２８１０の各信号のタイミング図である。
【図３５】比較部２５０の構成例を示す図である。
【図３６】比較部２５０の各信号のタイミング図である。
【図３７】変調データ生成部２３として用いられるパルス変調装置３００の一実施形態を示す図である。
【図３８】パルス変調装置３００の各信号のタイミング図である。
【図３９】本発明の第２の実施形態による画像形成装置の全体的構成図である。
【図４０】本発明の第２の実施形態における各同期信号のタイミング図である。
【図４１】本発明の第３の実施形態による画像形成装置の機構部分の概略構成図である。
【図４２】本発明の第３の実施形態による画像形成装置の処理系の概略構成図である。
【図４３】本発明の第３の実施形態の各走査光学系における走査時間に対する走査幅の関係を示す図である。
【図４４】従来の画像形成装置の一般的な構成例を示す図である。
【符号の説明】
【０１７６】
１１  半導体レーザ
１２  コリメータレンズ
１３  シリンダーレンズ
１４  ポリゴンミラー
１５  ｆθレンズ
１６  ミラー
１７  トロイダルレンズ
１８  感光体
１９、２０  フォトディテクタ
２１  画素クロック生成部
２２  画像処理部
２３  変調データ生成部
２４  レーザ駆動部
１００  画素クロック生成装置
１１０  高周波クロック生成部
１２０  第１エッジ検出部
１３０  第２エッジ検出部
１４０  分周器
１５０  比較部
１６０  フィルタ
１７０  周波数演算部
２００  画素クロック生成装置
２１０  高周波クロック生成部
２２０  第１エッジ検出部
２３０  第２エッジ検出部
２４０  計数部
２５０  比較部
２６０  フィルタ
２７０  周波数演算部
２８０  画素クロック出力部
３００  パルス変調装置
３１０  クロックパターン生成部
３２０  画像データデコード部
３３０  変調パターン生成部
３４０  シリアライザ
【図１】
0004726061.tif 000002
【図２】
0004726061.tif 000003
【図３】
0004726061.tif 000004
【図４】
0004726061.tif 000005
【図５】
0004726061.tif 000006
【図６】
0004726061.tif 000007
【図７】
0004726061.tif 000008
【図８】
0004726061.tif 000009
【図９】
0004726061.tif 000010
【図１０】
0004726061.tif 000011
【図１１】
0004726061.tif 000012
【図１２】
0004726061.tif 000013
【図１３】
0004726061.tif 000014
【図１４】
0004726061.tif 000015
【図１５】
0004726061.tif 000016
【図１６】
0004726061.tif 000017
【図１７】
0004726061.tif 000018
【図１８】
0004726061.tif 000019
【図１９】
0004726061.tif 000020
【図２０】
0004726061.tif 000021
【図２１】
0004726061.tif 000022
【図２２】
0004726061.tif 000023
【図２３】
0004726061.tif 000024
【図２４】
0004726061.tif 000025
【図２５】
0004726061.tif 000026
【図２６】
0004726061.tif 000027
【図２７】
0004726061.tif 000028
【図２８】
0004726061.tif 000029
【図２９】
0004726061.tif 000030
【図３０】
0004726061.tif 000031
【図３１】
0004726061.tif 000032
【図３２】
0004726061.tif 000033
【図３３】
0004726061.tif 000034
【図３４】
0004726061.tif 000035
【図３５】
0004726061.tif 000036
【図３６】
0004726061.tif 000037
【図３７】
0004726061.tif 000038
【図３８】
0004726061.tif 000039
【図３９】
0004726061.tif 000040
【図４０】
0004726061.tif 000041
【図４１】
0004726061.tif 000042
【図４２】
0004726061.tif 000043
【図４３】
0004726061.tif 000044
【図４４】
0004726061.tif 000045