画像データに基づいて供給される駆動電流に応じて点灯する光源と、前記光源から出力された光ビームにより露光されることによって静電潜像が形成される感光体と、前記光源に前記駆動電流を供給する前の前記光源の駆動状態に応じて前記光源に供給する前記駆動電流の値が異なりかつ時間経過とともに変化するように、前記駆動状態に応じて前記光源に供給する前記駆動電流の値を制御する制御手段とを備えることを特徴とする画像形成装置。前記制御手段は、前記駆動電流を供給する前の前記光源の駆動状態に対応する前記画像データまたは前記画像データに基づいて生成される駆動信号に基づいて前記駆動電流の値を制御することを特徴とする請求項1に記載の画像形成装置。前記制御手段は、前記画像データまたは前記駆動信号に基づいて前記光源の前記駆動状態を示す前記光源の点灯時間及び消灯時間を算出し、前記光源に前記駆動電流を供給する前の前記光源の前記消灯時間の伸長に伴い前記光源に供給する前記駆動電流の値が増加し、前記光源に前記駆動電流を供給する前の前記光源の点灯時間の伸長に伴い前記光源に供給する前記駆動電流の値が減少するように、前記駆動電流の値を制御することを特徴とする請求項2に記載の画像形成装置。前記消灯時間と前記点灯時間との比率を演算する演算手段をさらに備え、前記制御手段は、前記比率に基づいて補正量を算出し、前記補正量に基づいて前記光源に供給する前記駆動電流の値を制御することを特徴とする請求項3に記載の画像形成装置。前記補正量を算出するための前記比率または前記補正量を所定の上限値以下に制限する第1制限手段をさらに備えることを特徴とする請求項4に記載の画像形成装置。前記第1制限手段は、前記画像データまたは前記駆動信号の入力開始当初には前記比率または前記補正量を前記上限値に設定することを特徴とする請求項5に記載の画像形成装置。前記補正量を算出するための前記比率または前記補正量を所定の下限値以上に制限する第2制限手段をさらに備えることを特徴とする請求項4に記載の画像形成装置。前記制御手段は、前記光源の点灯時間および消灯時間の少なくとも一つと前記光ビームの強度を補正するための補正量との予め求められた関係を保持する保持手段と、前記画像データに対応した前記光源の点灯時間および消灯時間の少なくとも一つを特定する特定手段とを備え、前記特定手段により特定された前記光源の点灯時間および消灯時間の少なくとも一つに対応した補正量を、前記保持手段に保持されている前記関係から決定することを特徴とする請求項2に記載の画像形成装置。前記光ビームの発光強度を検出する発光強度検出手段をさらに備え、前記制御手段は、前記発光強度検出手段により検出された前記光ビームの発光強度に応じて前記補正量を可変制御することを特徴とする請求項4に記載の画像形成装置。前記画像形成装置の内部における温度を検知する温度検知手段をさらに備え、前記制御手段は、前記温度検知手段により検知された温度に応じて前記補正量を可変制御することを特徴とする請求項4に記載の画像形成装置。レーザ光源の発光応答特性、すなわちレーザビームの光量が所定値まで立ち上がるまでに要する時間立ち上がり時間は、レーザ光源を駆動するON/OFF信号に対して常に一定となることが望ましい。なぜなら、これらが一定でなければドットの形状が一定とならなくなってしまうからである。しかし、現実的には、レーザビームの点灯時間や消灯時間、発光強度等に依存してレーザ光源の温度状態が異なるため、レーザ光源の発光応答特性立ち上がり時間は一定とならない。例えば、レーザ光源の消灯時間が長ければ長いほど、その消灯時間後に点灯させる際のレーザ光源の発光応答特性が低下する。レーザビームを出射するレーザ光源を制御する制御系がレーザ光源の端子電圧をモニタしてレーザ光源の駆動量を補正する方法では、応答特性がこの制御系の応答特性に依存してしまう。つまり、制御系の応答速度が遅ければ、光ビームの立ち上がり時間が長くなってしまう。とりわけ、PWM信号に応じてレーザ光源をON/OFFする繰返し周期が数十nsと極めて短い場合、制御系の応答速度に求められる条件もかなり厳しいものとなる。そこで、本発明は、画像データによって決定される点灯時間/消灯時間に依存したレーザ光源の発光応答特性の鈍化を改善して、ドット形状を従来よりも安定化させることを特徴とする。本発明は、例えば、画像データに基づいて供給される駆動電流に応じて点灯する光源と、前記光源から出力された光ビームにより露光されることによって静電潜像が形成される感光体と、前記光源に前記駆動電流を供給する前の前記光源の駆動状態に応じて前記光源に供給する前記駆動電流の値が異なりかつ時間経過とともに変化するように、前記駆動状態に応じて前記光源に供給する前記駆動電流の値を制御する制御手段とを備えることを特徴とする画像形成装置を提供する。画像データから決定される光源の消灯時間が長くなる点灯時間が短くなるにつれて光ビームの光量の立ち上がり部分の形状が目標とする形状から乖離する傾向がある。なお、立ち上がり部分の形状とは、光源の点灯を開始した直後における光量の時間的な変化をいう。一方、画像データから決定される光源の点灯時間が長くなる消灯時間が短くなるにつれて光量の立ち上がり部分の形状が目標とする形状に近づく傾向がある。よって、光源の直前の点灯時間および消灯時間の長さに応じて光ビームの光量の立ち上がり期間において光源に通電される駆動電流の大きさを制御する。これにより、画像データによって決定される点灯時間/消灯時間に依存した光ビームの応答特性の鈍化が改善され、ドット形状を従来よりも安定化させることができる。[第1実施形態]図1に示される画像形成装置1は、画像読取装置300により読み取られた画像やホストコンピュータから送信された画像を転写材Pに形成する装置である。画像読取装置300は、本体制御装置200からの読取制御信号にしたがって原稿から画像を読み取って、画像信号を画像制御装置3に出力する。本体制御装置200は、画像制御信号を画像制御装置3に出力することで、画像制御装置3を制御する。画像制御装置3は、画像信号から画像データPWM信号22を生成し光学走査装置2へ出力する。また、画像制御装置3は、レーザ光源を制御するためのレーザ制御信号群23や、ポリゴンミラーを駆動するモータのモータ制御信号26などを光学走査装置2へ出力する。光学走査装置2は、後述するビーム検出信号BD信号21を画像制御装置3に送信する。感光ドラム4は光源から出射された光ビームレーザビームにより露光されることによって静電潜像が形成され、その静電潜像が現像されることによって形成されるトナー像を担持する像担持体感光体である。感光ドラム4の表面は帯電ローラ5によって所定の電位に一様に帯電する。光学走査装置2は、イエローY、マゼンタM、シアンC、ブラックBkの各色の画像データに応じて、順次レーザビームL1を感光ドラム4に照射する。これにより、静電潜像が形成される。その後、静電潜像は、現像ユニット6によって現像され、感光ドラム4上にはトナー像が形成される。感光ドラム4上のトナー像は、中間転写体である中間転写ベルト7Aに転写される。さらに、転写ローラ8によって、中間転写ベルト7A上のトナー像が所望の転写材Pに転写される。転写材P上に形成されたこの未定着のトナー像は、定着装置10によって定着される。図2は本実施形態における光学走査装置2の抜粋構成図である。半導体レーザ11は光源の一例である。半導体レーザ11は、レーザビームを出射する1つまたは複数の発光点を備える。半導体レーザ11には駆動信号であるPWM信号が供給される。PWM信号は、画像データ画素データに基づいて画素の濃度値に応じて1画素に対応するパルス幅デューティー比に設定される。消灯時間や点灯時間は画像データにおける各画素の濃度によって決定される。半導体レーザ11からは設定されたパルス幅に応じた時間レーザビームが出射される。PWM信号は、画素データに応じてパルス幅変調された信号であるため、PWM信号のパルス幅が広いほど半導体レーザの点灯時間が長くなる。点灯時間が長いほど、単位面積当たりの露光面積が増え、それに伴い静電潜像の面積も増えるため、感光ドラム4に付着する単位面積当たりのトナーの量が増加する。そのため、点灯時間が長いほど形成されるトナー像の濃度が高くなる。逆に、点灯時間が短いほど、単位面積当たりの露光面積が減少し、それに伴い静電潜像の面積も減少するため、感光ドラム4に付着する単位面積当たりのトナーの量が減少する。そのため、点灯時間が短いほどトナー像の濃度が低くなる。このように、半導体レーザ11は、画像データに基づいて生成されるPWM信号にしたがって点灯と消灯とを交互に繰り返す。半導体レーザ11に代えて、LEDや他の発光素子が採用されてもよい。光量検出ユニット以下PDユニット14と略す。は、ハーフミラー14aとビーム出力面にフォトディテクタ以下PD14bと略す。を備えている。ハーフミラー14aは、半導体レーザ11から出射し、コリメートレンズ13を透過してきたレーザビームを透過するレーザビームと反射するレーザビームとに分離する特性を有する。即ち、ハーフミラー14aは、コリメートレンズ13を透過してきたレーザビームの一部を反射して、PD14bに導く機能を果たす。PD14bは、ハーフミラー14aによって反射されたレーザビームを受光し、受光光量に応じた光量検出信号15を出力する。レーザ駆動装置12は、後述する補正信号生成手段により生成された補正信号により駆動信号を補正して光源を駆動する光源駆動手段として機能する。図2によれば、レーザ駆動装置12は、光学走査装置2内に配備され、光量検出信号15の検出結果に基づいて、半導体レーザ11から出射されるレーザビームが所定光量となるように駆動電流を制御する。レーザビームL1は、コリメートレンズ13及びシリンドリカルレンズ16を経て、ポリゴンミラー17aに到達する。ポリゴンミラー17aは、スキャナモータを含むスキャナモータユニット17によって一定の角速度で回転している。ポリゴンミラー17aに到達したレーザビームはポリゴンミラー17aによって偏向され、f-θレンズ18によって感光ドラム4の回転方向と直角方向に等速に走査する走査光に変換される。なお、BeamDetector20以下、BDは、非画像領域に対応する位置のレーザビームL1の走査光路上に配置されている。BD20は画像領域の基準位置を決定するBD信号21を出力する。BD信号21は、主走査方向レーザビームが回転する感光ドラム4上を移動する方向の書き出しタイミングを決定するために利用される。画像領域を走査するレーザビームL1は、f-θレンズ18を通過し、反射ミラー19を経由して感光ドラム4上を露光する。レーザビームL1によって露光されることにより感光ドラム4上には画像データに基づく静電潜像が形成される。ここで本実施例にかかる画像形成装置の課題について説明する。図4A、図4B、図4Cは、デューティ比が各々90、50、20のPWM信号それぞれが連続して生成され、それに応じて半導体レーザ11に駆動電流が供給されたときのレーザビームの出力波形光量波形を示している。図中の波線は目標値を示している。光波形の立ち上がり特性は、半導体レーザ11が数μs以上連続して駆動していない時間が継続してしまうと、顕著に鈍化する。また、図4A、図4B、図4Cによれば、半導体レーザ11が発光を繰り返すたびに、光波形の立ち上がり特性は良化し、さらに光量が目標値に徐々に近づいていくことがわかる。これは、半導体レーザ11の温度特性に起因した現象である。このように半導体レーザ11に駆動電流を供給する前の半導体レーザの駆動状態によって光量波形の立ち上がり特性が変動する。このような立ち上がり特性の変動は、画素の形成位置や形成される画素の濃度の不均一化につながる。この課題に対して、本実施例の画像形成装置は、半導体レーザの発光応答特性立ち上がり特性を補正するために、駆動電流を供給する前の半導体レーザ11の点灯時間や消灯時間に応じて半導体レーザ11に供給する駆動電流の値を調整する。以下では、立ち上がり特性を補正するための補正電流を生成するための補正量を設定し、補正量に基づいて補正した駆動電流を半導体レーザ11に供給する構成を例に説明をする。図3は画像制御装置3を示すブロック図である。画像出力制御部39は、本体制御装置200からの画像制御信号210を受信する。また、画像出力制御部39には、BD信号21が入力されている。画像制御信号210が印刷開始命令であれば、画像出力制御部39は、画像データに基づいてPWM信号22を生成し、BD信号21に応じてPWM信号22をレーザ駆動装置12へ出力する。レーザ駆動装置12は図示しない電流源から電流が供給されており、HighレベルのPWM信号が供給されたことに応じて駆動電流を半導体レーザ11に供給する。画像出力制御部39は、印刷開始命令が入力されると、動作開始を指示する演算制御信号40を演算部34に出力する。補正量生成部31やレーザ駆動装置12は、光ビームの光量の立ち上がり期間において半導体レーザ11に供給する駆動電流の値を制御する。駆動電流の値は、あるHighレベルのPWM信号に基づく駆動電流を半導体レーザ11に供給する前の点灯時間および消灯時間の長さ半導体レーザ11の駆動状態に応じて制御される。補正量生成部31は、半導体レーザ11の点灯時間および消灯時間の長さに応じて駆動電流の値を補正するための補正量を決定する。例えば、補正量生成部31は、PWM信号に応じて消灯する半導体レーザ11の消灯時間の伸長に伴い補正量を増加させたり、PWM信号に応じて点灯する半導体レーザ11の点灯時間の伸長に伴い補正量を減少させたりする。ここで、半導体レーザ11の消灯時間、点灯時間を演算する構成について説明する。ON時間計測部33には画像出力制御部39からPWM信号が入力されており、ON時間計測部33はあるHighレベルのPWM信号に基づく駆動電流を供給する前の点灯時間PWM信号がHighレベルの時間、以下、ON時間とする。をPWM信号に基づいて計測する。OFF時間計測部32には画像出力制御部39からPWM信号が入力されており、OFF時間計測部32はあるHighレベルのPWM信号に基づく駆動電流を供給する前の消灯時間PWM信号がLowレベルの時間、以下、OFF時間とする。をPWM信号に基づいて計測する。演算部34には、ON時間計測部33からON時間の計測結果に関するデータが入力され、OFF時間計測部32からOFF時間の計測結果に関するデータが入力される。ON時間計測部33及びOFF時間計測部32は、PWM信号を生成するための画像データに基づいてON時間とOFF時間とを演算しても良い。演算部34演算手段は入力されるデータに基づいてあるHighレベルのPWM信号に基づく駆動電流を供給する前の、ある所定時間内におけるOFF時間の割合またはON時間の割合を演算値として演算する。なお、演算部34は、ある所定時間内における累積のOFF時間とON時間の比率を演算する構成でも良い。また、演算部34は、PWM信号の入力が開始されてから累積のOFF時間とON時間の比率を演算する構成でも良い。以下では、演算部34は、ある所定時間内における累積のOFF時間とON時間の比率OFF時間に対するON時間の比率またはON時間に対するOFF時間の比率を演算する構成を例に説明を進める。なお、演算部34によって演算される演算値はあるHighレベルのPWM信号に基づく駆動電流を供給する前の半導体レーザ11の駆動状態を示す。補正量算出部36は、演算部34から出力される演算値または最大補正量格納部37に格納された最大補正量詳しくは後述する。に応じた補正量38を生成する。つまり、補正量38は、演算部34が算出した半導体レーザ11のON時間またはOFF時間に基づいて決定されたり、それに代えて最大補正量となったりする。レーザ駆動部43は、補正信号生成回路41とともにレーザ駆動装置12に備えられている。補正信号生成回路41は、補正量生成部31により生成された補正量38に対応した補正信号42を生成する信号生成手段である。レーザ駆動部43は、補正信号生成回路41が補正量38に応じて生成した補正信号42に基づいて半導体レーザ11に供給する駆動電流の値を補正し、補正した値の駆動電流を半導体レーザ11に出力する。なお、補正量生成部31がレーザ駆動装置12内に具備されて集積化されてもよい。図5や図6に示した通り、レーザビームの立ち上がり特性の鈍化は、あるPWM信号がLowレベルからHighレベルに変化するタイミング点灯タイミングの前の半導体レーザ11のOFF時間またはON時間の影響を受ける。そのため、レーザビームの立ち上がり特性の鈍化を補正するためには、ある点灯タイミングの前の半導体レーザ11のOFF時間またはON時間を測定し、その結果に基づいて駆動電流を補正するための補正量を求めればよい。例えば、PWM信号22によって決定される連続ON時間τonと連続OFF時間τoffとの関係から補正量38を以下のようにして求める。図7A、図7Bは、PWM信号22のON時間とOFF時間の異なる場合における補正量算出方法を示す図である。補正量算出部36は、演算部34によって演算される演算値に基づいて補正量38を演算する。さらに、本実施例の画像形成装置には、補正量38の上限と下限を設定するために格納部35が設けられている。演算部34は格納部35から上限値および下限値に関するデータを受け、それらのデータに基づいて補正量38が上限値及び下限値との間の値を取るように補正量38を演算する。つまり、演算部34は、補正量を所定の上限値以下に制限する第1制限手段として機能するとともに、補正量を所定の下限値以上に制限する第2制限手段として機能する。補正量38の上限値と下限値とが必要な理由について説明をする。図5A、図5Bには、半導体レーザ11が点灯する前の点灯状態ON時間とOFF時間との比率と光ビームの立ち上がり比率の関係が示されている。立ち上がり比率とは、予め設定した立ち上がりの目標時間Tにおける光ビームの発光強度の目標値P0への到達度である。立ち上がり比率は、例えば、次式により定義される。立ち上がり比率=ΔPn/P0×100[]ここで、nはいくつ目のパルスであるかを示すインデックスである。立ち上がり比率は、目標値に対する乖離率を意味し、この数値が高いほど、目標値に近いことを意味する。図5Aの横軸は半導体レーザ11に駆動電流を供給する前におけるOFF時間を示し、縦軸は立ち上がり比率を示している。また、ON時間100ns、500ns、2000nsは、横軸のOFF時間の直前のON時間を示している。つまり、図5Aからは2000ns点灯した後に1500ns消灯したあとに駆動電流を供給したときの立ち上がり比率が40図5A中のポイントXであることがわかる。図5Aによれば、半導体レーザ11は、駆動電流が供給される前のOFF時間が長いと、立ち上がり比率が低下し、駆動電流が供給しても目標時間T内に光量波形が目標値P0に立ち上がらないことがわかる。また、半導体レーザ11に駆動電流が供給される前のON時間とOFF時間との比率が高いと立ち上がり比率が低下することがわかる。さらに、図5Aによれば、半導体レーザ11に駆動電流を供給する前における消灯時間の増加に伴い立ち上がり比率が低下する領域立ち上がり時間が増加する領域。以下、比例領域とする。と、消灯時間が増加しても立ち上がり比率が変化しない領域立ち上がり時間が一定の領域。以下、飽和領域とするとがあることがわかる。比例領域では、任意の立ち上がり比率におけるOFF時間とON時間は図6に示すような関係にある。よって、OFF時間とON時間との関係から立ち上がり特性に対する補正量38を求めることができる。図6におけるOFF時間とON時間はほぼ比例関係にあるが、半導体レーザ11の特性によっては多高次関数で表される場合もある。一方、飽和領域ではOFF時間が所定時間以上図5Aでは2000ns~2500ns付近になると立ち上がり比率が約10に飽和する。よって、立ち上がり比率が飽和する際、補正量38は上限値に固定される。一方、図5Aによれば、ON時間が2000nsで、かつ、OFF時間が300[ns]以下となると立ち上がり比率が100とになる。よって、このような場合には補正する必要がないため、補正量38による駆動電流の値の補正を行わない。演算部34は、次のように補正量の上限値及び下限値を設定する。図7A及び図7Bは半導体レーザ11に供給されるPWM信号又は画像データとOFF時間とON時間との比率の上限値と下限値との対応関係を示すタイミングチャートである。図7Aは、補正量38が上限値に設定される場合の一例を示しており、図7Bは補正量38が下限値に設定される場合の一例を示している。まず、図7Aを用いてOFF時間に対するON時間の割合が上限に達し、それに基づいて補正量38が上限値後述する図9の最大補正量に対応に設定される場合について説明をする。図7Aは半導体レーザ11のOFF時間がτoffns続き、その後τonns点灯することを示している。図7AのOFF時間の開始時期においてOFF時間に対するON時間の割合は初期値に設定されているものとする。図7AにおいてOFF時間が続くことによってOFF時間に対するON時間の比率が低下するため、演算部34は、OFF時間に対するON時間の比率を時間経過に応じて初期値から徐々に増加させる。OFF時間がτoff’nsに至ると、演算部34が演算するOFF時間に対するON時間の比率が上限値に到達する。演算部34には格納部35から上限値に関するデータが入力されており、演算部34はOFF時間に対するON時間の比率が上限値に到達したことに応じてOFF時間に対するON時間の比率を上限値に設定固定する。つまり、演算部34は、補正量を算出するための比率を所定の上限値以下に制限する第1制限手段として機能する。そして、OFF時間の開始時期からτoffns経過後、PWM信号に応じて半導体レーザ11に駆動電流がτonns供給される。このとき、補正量算出部36には演算部34によって設定された上限値が入力されているため、補正量算出部36は、最大補正量格納部37から最大補正量に関するデータを読み出し、そのデータを補正信号生成回路41に出力する。補正信号生成回路41は、補正量算出部36からの最大補正量に関するデータに基づく補正信号42をレーザ駆動部43に出力する。レーザ駆動部43は、補正信号42に基づいて半導体レーザ11に供給する駆動電流の値を補正する。また、演算部34は、τoffns経過後に次に半導体レーザ11に駆動電流が供給される際にその駆動電流を補正する補正量38を算出する。このために、演算部34は、OFF時間に対するON時間の比率の演算を、τoffns経過後のOFF時間に対するON時間の比率を起点として開始する。即ち、OFF時間の開始時期からτoffns経過後、τonnsのON時間が続くことになるが、この期間はOFF時間に対するON時間の割合が増加する期間である。そのため、演算部34は図7Aに示すように時間経過に応じてOFF時間に対するON時間の割合を徐々に減少させる。そして、演算部34は、τoffτonns後のOFF時間の間、τoffτonnsの時点におけるOFF時間に対するON時間の割合を演算する。補正量算出部36は、演算部34から出力されるOFF時間に対するON時間の割合演算値に応じて上記τoffns間と同様に補正量38を算出する。続いて、図7Bを用いて補正量38が下限値に設定される場合について説明をする。図7Bは半導体レーザ11のOFF時間がτoffns続き、その後τonns点灯することを示している。図7BのOFF時間の開始時期においてOFF時間に対するON時間の割合は初期値に設定されているものとする。図7BにおいてOFF時間が続くことによってOFF時間に対するON時間の比率が低下するため、演算部34は、OFF時間に対するON時間の比率を時間経過に応じて初期値から徐々に増加させる。OFF時間がτoffnsになると、半導体レーザ11にはPWM信号に応じて駆動電流がτonnsの間供給される。このとき、演算部34が演算するOFF時間に対するON時間の比率は下限値に到達しておらず、演算部34は、τoffnsが経過した時点で演算されたOFF時間に対するON時間の比率演算値を補正量算出部36に出力する。補正量算出部36は、演算部34から出力されるOFF時間に対するON時間の比率に基づいて補正量38を算出し、その補正量38を補正信号生成回路41に出力する。補正信号生成回路41は、補正量算出部36によってτoffns経過した時点で補正量算出部36から出力される補正量38に基づく補正信号42をレーザ駆動部43に出力する。レーザ駆動部43は、補正信号42に基づいて半導体レーザ11に供給する駆動電流の値を補正する。また、演算部34は、τoffns経過後に次に半導体レーザ11に駆動電流が供給される際にその駆動電流を補正する補正量38を算出する。このために、演算部34は、OFF時間に対するON時間の比率の演算を、τoffns経過後のOFF時間に対するON時間の比率を起点として開始する。即ち、OFF時間の開始時期からτoffns経過後、τonnsのON時間が続くことになるが、この期間はOFF時間に対するON時間の割合が増加する期間である。そのため、演算部34は、図7Bに示すように時間経過に応じてOFF時間に対するON時間の割合を上限値から徐々に減少させていく。半導体レーザ11が点灯し始めてからτon’ns経過後、OFF時間に対するON時間の比率が下限値に到達する。演算部34には、格納部35から下限値に関するデータが入力されている。そのため、演算部34は、OFF時間に対するON時間の比率が下限値に到達すると、補正量38をこれ以上低下させることなくOFF時間に対するON時間の比率を下限値に設定固定する。つまり、演算部34は、補正量を算出するための比率を所定の下限値以上に制限する第2制限手段として機能する。演算部34によってOFF時間に対するON時間の比率が下限値に設定されている場合、立ち上がり比率が100であるので、駆動電流を補正する必要がない。そのため、演算部34によってOFF時間に対するON時間の比率が下限値に設定された場合、補正量算出部36は補正量を0に設定する。続いて、補正信号生成回路41及びレーザ駆動部43について図9を用いて説明する。補正信号生成回路41は、サンプルホールド回路44、スイッチ45及びコンデンサ46から構成される。サンプルホールド回路44には、補正量算出部36から出力される補正量38が入力される。サンプルホールド回路44にはPWM信号の内、非反転信号VDOが入力されており、サンプルホールド回路44は非反転信号VDOの立ち上がりのタイミングで補正量38をサンプルする。スイッチ45は、PWM信号22のうち非反転信号VDOがON期間中であるときに信号を出力し、それ以外の期間では出力がGNDレベルとなる。従って、非反転信号VDOが立ち上がりに同期して、サンプルホールド回路44から補正量38に応じた電荷がチャージされる。サンプルホールド回路44は、スイッチ45からの出力信号の立ち上がり信号に同期した微分成分を出力する。コンデンサ46からの出力が補正信号42補正電流となる。レーザ駆動部43は、比較器47、定電流源48およびトランジスタ49により構成されている。入力されたPWM信号22は比較器47を通じてトランジスタ49のベース端子に出力される。トランジスタ49のコレクタ端子には定電流源48が接続されている。よって、PWM信号22に応じた駆動電流がトランジスタ49のエミッタ端子に出力される。これが半導体レーザ11の駆動電流となる。一方、コンデンサ46の出力端子は、トランジスタ49のエミッタ端子に接続されている。よって、補正信号42は、半導体レーザ11の駆動電流に加算されることになる。補正量生成部31が行う処理を図8に示したタイミングチャートを用いて説明する。図8において、上からPWM信号22画像データ、ON時間計測部33の出力、OFF時間計測部32の出力、演算部34の出力、補正量算出部36の出力補正量38、図9のサンプルホールド回路44の出力、スイッチ45の出力、補正信号42、光波形が示されている。横軸は時間である。ON時間計測部33の出力は、ON時間が伸長するに従い数値が大きくなる。OFF時間計測部32の出力は、OFF時間が伸長するに従い数値が大きくなる。演算部34の出力演算値は、ON時間計測部33によって計測されたON時間及びOFF時間計測部32によって計測されたOFF時間の各計測値に基づいて算出された結果である。PWM信号がHighレベルである期間はON時間計測部33によって計測されるON時間が時間とともに増加する期間である。そのため、演算部34によって演算される演算値が減少し、PWM信号がLowレベルの期間はOFF時間計測部32によって計測されるOFF時間が時間とともに増加する期間であるため、演算部34によって演算される演算値が増加する。PWM信号22の入力が開始されると、演算部34は、演算値を上限値に設定する。これは、PWM信号22の入力開始タイミングより以前は半導体レーザ11の消灯状態が継続しているため、光量波形が立ち上がり難い状態である。そのため、半導体レーザ11を点灯させるための駆動電流を最大補正量によって補正するために、演算部34は、演算値を上限値に設定する。これによって、PWM信号22の入力が開始された後の最初の点灯タイミングにおいて、駆動電流の値は最大補正量に基づいて補正される。このように、演算部34は、画像データまたは駆動信号の入力開始当初には比率または補正量を上限値に設定する手段として機能する。補正量算出部36は、演算部34から出力される演算値に基づいて補正量38を算出する。すなわち、OFF時間τoffnsの終了後に、演算値が補正量38として出力される。なお、補正量算出部36は、演算部34によって演算される演算値が上限値に達すると最大補正量格納部37に格納された最大補正量を補正量38として補正信号生成回路41に出力する。また、補正量算出部36は、演算部34によって演算される演算値が下限値に達すると駆動電流の値を補正しないことを示す0を補正量38として補正信号生成回路41に出力する。なお、演算値が下限値に到達する状態は、あるHighレベルのPWM信号に基づく駆動電流が供給される前に半導体レーザ11のON時間が長いことによって立ち上がり特性が良好である状態立ち上がり比率が100の状態である。従って、このような場合、半導体レーザ11に供給する駆動電流の値を補正する必要がないため、補正量算出部36は0を補正量38として補正信号生成回路41に出力する。補正量生成部31が補正量38を生成する処理としては、別の処理が採用されてもよい。例えば、PWM信号22の出力開始から出力終了までのON信号の合計時間とOFF信号の合計時間から合計時間におけるON時間またはOFF時間の比率を算出し、その値を用いてもよい。図10は、補正量生成部31が実行する制御を示すフローチャートである。補正量生成部31は、PWM信号の入力が開始されたことに応じて補正量算出部36に、予め決定された最大補正量を最大補正量格納部37から読み出させ、初期の補正量38として最大補正量を補正信号生成回路41へ設定するS1001。補正量生成部31は、HighレベルのPWM信号ON信号が入力されたか否かを判定するS1002。補正量生成部31は、ON信号が入力されていないと判定された場合はS1003へ、ON信号が入力されたと判定された場合はS1004へ制御を進める。補正量生成部31は、画像出力制御部39からのPWM信号22の入力が終了したか否かを判定するS1003。すべてのPWM信号22についての入力が終了していなければ、補正量生成部31は、S1002に制御を戻す。すべてのPWM信号22についての入力が終了してれば、補正量生成部31は、ON時間計測部33の計測結果、OFF時間計測部32の計測結果、演算部34の演算結果及び補正量算出部36の補正量38を初期化して、本制御を終了するS1015。S1002においてON信号が入力されたと判定された場合、補正量生成部31は、ON時間計測部33にON時間計測部33に入力されるON信号の継続時間を計測させるS1004。ON時間計測部33は例えばカウンタで構成されており、カウンタはPWM信号22がHighになったことに応じてカウントアップを開始し、Lowになったことに応じてカウントアップを停止する。続いて、補正量生成部31は、LowレベルのPWM信号OFF信号が入力されたか否かを判定するS1005。OFF信号が入力されなかったと判定された場合、補正量生成部31は、制御をS1006へ進め、OFF信号が入力されたと判定された場合、S1007へ進む。補正量生成部31は、画像出力制御部39からのPWM信号22の入力が終了したか否かを判定するS1006。すべてのPWM信号22入力が終了していなければ、補正量生成部31は、S1005に制御を戻す。すべてのPWM信号22についての入力が終了してれば、補正量生成部31は、S1015へ制御を進める。補正量生成部31は、OFF時間計測部32にOFF時間計測部32に入力されるPWM信号22のOFF信号の継続時間を計測させるS1007。OFF時間計測部32は例えばカウンタで構成されており、カウンタはPWM信号22がLowになったことに応じてカウントアップを開始し、Highになったことに応じてカウントアップを停止する。補正量生成部31は、演算部34にON時間計測部33の計測結果連続ON時間と、OFF時間計測部32の計測結果連続OFF時間とに基づいて演算値を演算させるS1008。補正量生成部31は、演算部34によって演算された演算値が格納部35に格納される下限値以下か否かを補正量算出部36に判定させるS1009。補正量算出部36によって演算値が下限値以下であると判定された場合、補正量生成部31は制御をS1010に進め、補正量算出部36によって演算値が下限値以下でないと判定された場合、補正量生成部31は制御をS1011に進める。S1010において、補正量生成部31は、補正量算出部36に0の補正量38を補正信号生成回路41に出力させる。S1011において、補正量生成部31は、演算部34によって演算された演算値が格納部35に格納されている上限値以上か否かを補正量算出部36に判定させる。補正量算出部36によって演算値が上限値以上であると判定された場合、補正量算出部36はS1012に制御を進め、補正量算出部36によって演算値が上限値以上でないと判定された場合、補正量生成部31はS1013に制御を進める。S1011において補正量算出部36によって演算値が上限値以上であると判定された場合、補正量生成部31は、補正量算出部36に最大補正量格納部37から読み出した最大補正量を補正量38として補正信号生成回路41に出力させるS1012。一方、S1011において補正量算出部36によって演算値が上限値以上でないと判定された場合、補正量生成部31は、補正量算出部36に演算値に基づく補正量を算出し、その補正量を補正信号生成回路41へ出力する。補正量算出部36は演算値に予め設定した係数を乗じて補正量を演算する。予め設定した係数は半導体レーザの特性値や補正量算出のための実験結果、シミュレーションにより決定するものとする。演算部34は、例えば、ある所定の時間に対する半導体レーザ11に供給されるON信号の時間の割合およびある所定の時間に対する半導体レーザ11に供給されるOFF信号の時間の割合の少なくとも一つから決定される。なお、補正量算出部36は、例えば、演算部34によって演算される演算値から補正量を算出する一意的に決定された関数を実装したアナログ回路により実現される。あるいは、補正量算出部36が、演算値と補正量とを対応付けて記憶したテーブルや、演算値から補正量を算出するための関数を予め記憶したメモリを用いて上記の演算を実行する構成でも良い。なお、演算速度の観点からは前者の形態が有利であろう。このように、メモリやアナログ回路は、光源の点灯時間および消灯時間の少なくとも一つと光ビームの強度を補正するための補正量との予め求められた関係を保持する保持手段として機能する。補正量算出部36は、画像データに対応した光源の点灯時間および消灯時間の少なくとも一つを特定する特定手段として機能する。さらに、算出部36は、特定された光源の点灯時間および消灯時間の少なくとも一つに対応した補正量を、保持手段に保持されている関係から決定する。図8で示したように、この補正量は、OFF時間やON時間の長さに起因して発生する光波形の立ち上がり特性を補償するような補正量となる。補正信号生成回路41は、補正量に基づいて図8で示したような補正信号を生成して出力する。図8によれば、PWM信号に基づいて生成された駆動信号駆動電流または駆動電圧に対して補正信号を加算することで、立ち上がりの不十分さを補うことができる。[第2実施形態]経年変化等により発光強度と補正量との関係が変動することが予想される。そこで、本実施形態では、補正量38を生成するために、PWM信号22のON時間及びOFF時間に加え、半導体レーザ11の光ビームの発光強度に応じて補正量38を修正することを提案する。つまり、補正量算出部36は、検出された光ビームの発光強度に応じて補正量を可変制御することに特徴がある。既に説明した個所には同一の参照符号を付与することで説明を簡潔化する。図11は、補正量生成部を示したブロック図である。光量検出部51は光量検出ユニット14から入力される光量検出信号15から半導体レーザ11の光ビームの発光強度受光強度を検出する。光量検出ユニット14や光量検出部51は光ビームの発光強度を検出する発光強度検出手段として機能する。発光強度に対する補正量38の決定方法について、図12を用いて説明する。図12は、発光強度に対する半導体レーザ11の光ビームの立ち上がり比率を示している。図12のうち左側には光量検出信号15に対する発光強度が示されている。光量検出信号15が光ビームの発光強度に比例する特性を利用して、光量検出信号15を計測することにより発光強度を検出することが可能である。一方、図12の右側には発光強度に対する立ち上がり比率の関係が示されている。よって、半導体レーザ11の光ビームの立ち上がり比率は発光強度光量検出信号15に応じて一意的に決定することができる。光量検出部51は、半導体レーザ11の光ビームの発光強度から光ビームの立ち上がり比率を求め、補正量38に対する修正係数を算出する。光量検出部51は、例えば、光量検出信号15と修正係数との関係を表す関数またはテーブルを備えている。よって、光量検出部51は、光量検出信号15に対応する修正係数をテーブル等から取得して補正量算出部36へ出力する。補正量算出部36は、演算部34によって演算される演算値に基づいて補正量を算出し、光量検出部51から出力された修正係数をこれに乗算することで最終的な補正量を算出する。このように、経年変化等により発光強度と補正量との関係が変動するような場合には、第2の実施形態は有用であろう。[第3実施形態]画像形成装置の内部温度に応じて適した補正量が変動することが予想される。つまり、内部温度が高ければ、あるHighレベルのPWM信号に応じた駆動電流が半導体レーザ11に供給される前のON時間が長くても立ち上がり特性の劣化はそれほど大きくないことがあるからである。そこで、第3実施形態では、補正量38を生成するために、PWM信号22のOM時間及びOFF時間に加え、画像形成装置1内の温度を修正係数として用いる目的で温度検出部を設けている。これにより、検出された温度に応じて補正量を可変制御する。既に説明した個所には同一の参照符号を付与することで説明を簡潔化する。図13は、補正量生成部を示したブロック図である。温度検出部61は、画像形成装置の内部における温度を検知する温度検知手段として機能する。温度検出部61は、例えば、画像形成装置1の内部特にレーザ駆動装置12の内部に設けられており、半導体レーザの温度を検出する。温度に対する補正量38の決定方法について、図14を用いて説明する。図14には、測定された温度に対する半導体レーザ11の光ビームの立ち上がり比率が例示されている。図14の左側には温度検出部61の出力温度の測定値に対する発光強度が示されている。一方、図14の右側には発光強度に対する立ち上がり比率が示されている。よって、光ビームの立ち上がり比率は、レーザ駆動装置12の温度に応じて一意的に決定することができる。補正量算出部36は、温度の測定値から光ビームの立ち上がり比率を求め、求めた立ち上がり比率に対応する、補正量38に対する修正係数を算出する。補正量算出部36は、例えば、温度と修正係数との関係を表す関数またはテーブルを備えていてもよい。よって、補正量算出部36は、温度に対応する修正係数をテーブル等から取得する。補正量算出部36は、演算部34によって演算される演算値に基づいて補正量を算出し、修正係数をこれに乗算することで最終的な補正量を算出する。このように、内部温度に応じて適した補正量が変動するような場合には、第3実施形態は有用であろう。なお、第2実施形態と第3実施形態とを組み合わせてもよい。すなわち、補正量算出部36は、演算部34によって演算される演算値に基づいてから求めた補正量を2種類の修正係数を乗算することで修正してもよい。[第4実施形態]第4実施形態は、第1ないし第3実施形態で説明した機構を複数の発光素子を備えたマルチビームタイプの光源に適用する例である。とりわけ、本実施形態では、補正量決定手段、信号生成手段および光源駆動手段を1つのグループとした制御回路を複数の発光手段のそれぞれに対して1対1で設けることに特徴がある。図15は画像制御装置を示すブロック図である。マルチビーム半導体レーザ100は、複数の発光手段として、複数の半導体レーザLD1ないしLD4を備えている。半導体レーザLD1は、レーザ駆動装置12aにより駆動される。LD2はレーザ駆動装置12bにより駆動され、LD3はレーザ駆動装置12cにより駆動され、LD4はレーザ駆動装置12dにより駆動される。各レーザ駆動装置の内部構成と動作については第1実施形態ないし第3実施形態で説明したとおりである。画像制御装置3内に設けられた補正量生成部31aないし31dはそれぞれ対応するレーザ駆動装置12aないし12dへ補正量38aないし38dを供給する。また、これらは、図16に示したタイミングチャートにしたがって動作する。具体的な内容は、図8に関して説明した内容と同一であるため、説明を省略する。このように本発明の技術思想はマルチビーム半導体レーザに適用することが可能である。とりわけ、マルチビーム半導体レーザに備えられる各半導体レーザの特性は異なっているため、各半導体レーザをそれぞれ個別に補正することで、ドットの形状を安定化させることができる。[第5実施形態]第5実施形態は、第4実施形態の変形例である。第4実施形態では各半導体レーザごとにレーザ駆動装置と補正量生成部とを備えていたが、第5実施形態では補正量生成部の数を削減する構成を採用している。具体的には、補正量決定手段および信号生成手段を1つのグループとした制御回路を複数の発光手段に対して1対NNは2以上の自然数で設け、制御回路が、対応するN個の発光手段に対して同一の補正量を適用することに特徴がある。ここでは、Nが2の場合について説明するが、3以上の場合にも本実施形態を適用できることは明らかである。図17は画像制御装置を示すブロック図である。図18は画像合成部及び補正量生成部のタイミングチャートである。補正量生成部101aは、レーザ駆動装置12a、12bに補正量を供給するユニットである。補正量生成部101aに接続された画像合成部102aは、半導体レーザLD1用のPWM信号22aと半導体レーザLD2用のPWM信号22bとを合成して出力する。合成手法としては、例えば、PWM信号22aとPWM信号22bとの平均値を求める手法であろう。補正量生成部101aは、合成されたPWM信号103aにしたがって第1ないし第3実施形態で示した手法により補正量104aを出力する。補正量生成部101bに接続された画像合成部102bは、半導体レーザLD3用のPWM信号22cと半導体レーザLD4用のPWM信号22dとを合成して出力する。補正量生成部101bは、合成されたPWM信号103bにしたがって第1ないし第3実施形態で示した手法により補正量104bを出力する。第5実施形態によれば、第4実施形態と比較して簡素な構成を採用できる。とりわけ、ペアを形成する半導体レーザLD1、LD2LD3、LD4の特性が類似していたり、PWM信号のパターン自体も類似していたりする場合には、第5実施形態は有用であろう。なお、補正量の算出に関して第2実施形態を採用する場合には、ペアを形成する半導体レーザの双方の光量を測定してその平均値を用いたり、いずれか一方の光量のみを用いたりして補正量を算出してもよい。補正量の算出に関して第3実施形態を採用する場合には、ペアを形成する半導体レーザの双方に関して温度を測定してその平均値を用いたり、いずれか一方の温度のみを用いたりして補正量を算出してもよい。また、図17に示した構成をさらに簡潔化してもよい。具体的には、画像合成部を削除して、対応するN個の発光手段のうち特定の発光手段についてのデューティ比からN個の発光手段についての補正量を決定してもよい。例えば、ペアを形成する半導体レーザLD1、LD2に共通に適用される補正量を、PWM信号22a、22bの一方から求めてもよい。PWM信号22a、22bが類似しているケースでは、補正の精度を低下させることなく、回路構成を削減できるであろう。