"画素クロックに基づいてレーザ光を発光させる半導体レーザと、前記半導体レーザを発光させるためのパルス状の駆動電流を生成する駆動電流生成部と、前記駆動電流生成部が生成する前記駆動電流の立ち上がり時間に、前記駆動電流を補助する駆動補助電流を生成する駆動補助電流生成部と、前記画素クロックの周波数と前記半導体レーザの光量に対応して、前記駆動補助電流量の値を、ルックアップテーブルとして保持するメモリ部と、を有することを特徴とする半導体レーザ駆動装置。前記半導体レーザが前記パルス状の駆動電流に応じて発光するまでの発光遅延時間を補うパルス拡張部を有し、前記メモリ部が、前記画素クロックの周波数と前記半導体レーザの光量に対応して、前記駆動電流のパルスを拡張するパルス拡張時間の値を、ルックアップテーブルとして保持することを特徴とする請求項1に記載の半導体レーザ駆動装置。前記半導体レーザは、前記駆動電流に、前記ルックアップテーブルに保持された前記駆動補助電流量が重畳された電流が印加されて発光することを特徴とする請求項1又は2に記載の半導体レーザ駆動装置。前記半導体レーザは、前記ルックアップテーブルに保持された前記パルス拡張時間だけ前記駆動電流のパルスを拡張して電流が印加されることを特徴とする請求項2又は3に記載の半導体レーザ駆動装置。前記ルックアップテーブルに保持された値に基づいて電流が印加された前記半導体レーザの出力光波形から求められる積分光量と、目標とする理想積分光量との比である積分光量比が、所定の範囲内になることを特徴とする請求項1から4のいずれか一項に記載の半導体レーザ駆動装置。前記半導体レーザを発光させるために印加される発光制御電圧がアナログ値の場合には、前記アナログ値をデジタルコードに変換するA/D変換部を有し、前記アナログ値の発光制御電圧をA/D変換部にてデジタルコードに変換して前記半導体レーザの光量を求めることを特徴とする請求項1から5のいずれか一項に記載の半導体レーザ駆動装置。前記半導体レーザを発光させるために印加される発光制御電圧がデジタル値の場合には、前記半導体レーザの光量を、前記デジタル値の発光制御電圧を光量に直接変換して求めることを特徴とする請求項1から5のいずれか一項に記載の半導体レーザ駆動装置。前記ルックアップテーブルは、前記画素クロックの周波数及び前記半導体レーザの光量のそれぞれ一定の範囲の値に対応して、前記駆動補助電流量及び前記パルス拡張時間の補正値を保持していることを特徴とする請求項2から7のいずれか一項に記載の半導体レーザ駆動装置。前記積分光量比は、前記画素クロックの1周期単位で点灯、消灯を繰り返す点灯パターンから得られる前記半導体レーザの出力光波形から求めることを特徴とする請求項5から8のいずれか一項に記載の半導体レーザ駆動装置。前記積分光量比は、前記画素クロックの複数周期単位で点灯、消灯を繰り返す点灯パターンから得られる前記半導体レーザの出力光波形求めることを特徴とする請求項5から8のいずれか一項に記載の半導体レーザ駆動装置。しかしながら、特許文献1に係る発明では、重畳する微分パルスのピークを制御できないため、半導体レーザの定格出力を大きく超えた場合には半導体レーザが破壊してしまう可能性がある。また、その重畳するパルスも微分波形に依存するため、初期のごく低濃度の領域は補正できても、その後の階調表現がリニアに増加せず、結果として得られる画像のコントラストが低下してしまう場合があった。特許文献2に係る発明では、光源ごとに最適な補助電流度合を設定するために、半導体レーザの光量の検出及び制御機構が必要となり、回路が複雑化し、コストが増大すると共に小型化できないといったことが考えられる。また、半導体レーザに印加する駆動電流の補助度合の調整に時間がかかる場合もあった。そこで、本発明では上記課題を鑑みて、画素クロックに基づいてレーザ光を発光させる半導体レーザと、前記半導体レーザを発光させるための駆動電流を生成する駆動電流生成部と、前記駆動電流生成部が生成する前記駆動電流の立ち上がり期間に、前記駆動電流を補助する駆動補助電流を生成する駆動補助電流生成部と、前記画素クロックの周波数と前記半導体レーザの光量に対応して、前記駆動補助電流量の値を、ルックアップテーブルとして保持するメモリ部と、を有することを特徴とする。半導体レーザに印加する電流を、画像形成装置の画素クロックや、半導体レーザ光量の条件ごとに最適な補正を簡単な構成で行うことにより、発振遅延を補い、且つ、鈍りを抑制した出力波形が得られる半導体レーザ駆動装置を提供することができる。以下、本発明の好適な実施の形態以下実施形態というについて、図面を用いて詳細に説明する。<半導体レーザ駆動装置の構成>図1に、本実施形態に係る半導体レーザ駆動装置100の構成を示す。半導体レーザ駆動装置100は、半導体レーザとしてのレーザダイオード以下、LDLaserDiodeという1を有し、LD1を駆動するためのバイアス電流源5、変調電流源6、補助電流源7を備えている。また、LD1から発光された光をモニターするための受光素子であるフォトダイオード以下、PDPhotoDiodeという2、コンパレータ8、D/A変換部9、駆動補助電流生成部10、パルス拡張部11、メモリ12、画素クロック設定部13、マイコン14、A/D変換部15を備えている。このうち、バイアス電流源5から出力されるバイアス電流は1mA程度であり、大きくても数mA程度である。変調電流源6は、発光時間拡張部11において生成された変調信号に基づいて変調された電流を出力する。補助電流源7は、駆動補助電流生成部10で生成された補助信号に基づき、駆動電流が立ち上がる初期の時間、例えば0.5ns~5nsに補助電流以下、オーバーシュート電流というを出力する。駆動補助電流生成部10及びパルス拡張部11は、それぞれスイッチ3,4を介して各電流源と接続している。LD1は、これらの変調信号及び補助変調信号に応じて、バイアス電流、変調電流及びオーバーシュート電流の3つの電流の和によって駆動する。なお、図1には光源として1つのLD1が示されているが、光源としてはLDに限られるものではなく、例えばVCSELやLDアレイのように複数の光源を有する半導体レーザであっても良い。LD1から発光された光は、モニター用の受光素子であるPD2に入射され、PD2では光量に応じた電流が流れる。この時、例えば抵抗を用いてPD2に流れた電流を電圧に変換する。コンパレータ8では、PD2において変換された電圧と、発光制御電圧とを比較して、変調電流源6を調整することができる。メモリ12は、画素クロックの周波数及びLD1の光量に対応して、オーバーシュート電流量とパルス拡張時間の値を、後述するルックアップテーブルとして保持している。<半導体レーザの出力光波形について>図2に、半導体レーザの点灯パターンと積分光量の関係を示す。上段から、点灯光量レベルPの半分であるP/2で連続点灯した場合、光量Pで1画素点灯、1画素消灯を繰り返した場合、以下、2画素の場合、3画素の場合の、理想的なLDが点灯及び消灯を繰り返した際の光量を表している。理想的なLDであれば、画素数によらず点灯と消灯を繰り返した場合の積分光量は、上段に示した光量P/2で連続点灯した場合の積分光量と等しくなる。そこで、光量レベルP/2で連続点灯した時の積分光量と、実際のLD1の出力波形の積分光量との比を積分光量比として算出し、LD1への入力信号の評価を行う。図3には、半導体レーザに、矩形波の駆動パルス電流を印加した場合の出力光波形を示す。点線が理想の出力波形であり、実線が実際にLD1から出力された光波形である。この様に、LD1の光出力は発振遅延し、入力信号である矩形波のパルス電流に対して出力波形の立ち上がりは鈍ったものになるのが一般的である。図3における積分光量比は0.79であり、理想的な出力状態に比べると得られる光量が低い結果になっている。その理由としては、前記した様に、半導体レーザは駆動回路と共に基板上に実装した場合、半導体レーザと駆動回路間の配線や自身のパッケージ内配線での寄生容量、インダクタンス、抵抗成分等の光波形応答に関係する要因を複数持っていることが挙げられる。そこで、半導体レーザに対する電流の印加方式を変えることによって、波形の立ち上がり鈍りと発振遅延を減少させることができる。具体的には、駆動電流が立ち上がる初期の短い時間、例えば0.5ns~数ns程度の間、オーバーシュート電流を駆動電流に重畳して印加する。図4に、本実施形態におけるLD1に印加する駆動パルス電流にオーバーシュート電流を重畳した場合の例を示す。図4aは、オーバーシュート電流が無い場合の駆動パルス電流で、bは、オーバーシュート電流を重畳した場合を示している。オーバーシュート電流は、補助電流量と、補助電流印加時間によって制御することが出来る。図5に、オーバーシュート電流を重畳して駆動電流を印加した場合の出力光波形を示す。点線が理想の出力光波形で、実線が実際の出力光波形である。オーバーシュート電流が無い図3の場合に比べると、出力光波形の立ち上がりの鈍りと発振遅延量が改善されていることが分かる。また、積分光量比においてもオーバーシュート電流が無い場合が0.79であったのに対して0.98となり、オーバーシュート電流を重畳することによってLD1の積分光量を補償できていることが分かる。さらに、駆動パルス電流を拡張することで、半導体レーザの発振遅延を補うことができる。図6に、本実施形態における半導体レーザに印加する駆動電流とパルス拡張時間の例を示す。図6aは、パルス拡張していない駆動電流で、bは一定時間パルス拡張した場合の駆動電流を示している。パルス電流の拡張時間は、ドライバから半導体レーザに至る部分に寄生する寄生容量に起因する半導体レーザの駆動電流とレーザ発光の点灯時間差である発光遅延時間を考慮し、駆動電流波形を0.5ns~3ns程度前倒しにして、LD1の発光時間を拡張させることで積分光量を補償することができる。図7に、本実施形態においてLD1への駆動パルス電流を一定時間拡張した場合の出力光波形の例を示す。駆動パルス電流の印加時間を拡張することで、半導体レーザの発振遅延を補って、LD1の発光時間を拡張し、積分光量を確保できていることが分かる。上記した様に、オーバーシュート電流を重畳した場合、あるいは駆動電流のパルス拡張を行うことによって、半導体レーザの光量を補償することができる。しかし、図5に示したオーバーシュート電流を加えた場合の出力光波形では、立ち上がり時の鈍りが改善されるものの、立ち上がり部分で目標光量を超えて発光している。半導体レーザが所定の光量である、例えば定格光量を大きく超えて発光すると、半導体レーザが劣化して寿命が短くなってしまう可能性がある。また、図7に示した駆動電流の印加時間を拡張した場合には、LD1の出力光波形が理想波形に近づいてはいるが、出力光波形の立ち上がり部分の鈍りを完全に解消できた訳ではない。そこで、オーバーシュート電流に加えて駆動パルス電流の印加時間を拡張させることで、いずれの問題も解消して、理想の出力光波形にさらに近づいた出力を得ることが可能になる。図8に、本実施形態における半導体レーザに印加する駆動パルス電流と、オーバーシュート電流を重畳し、且つ、パルス拡張した場合の例を示す。図8aは補正が無い場合の駆動電流で、bはオーバーシュート電流及びパルス拡張した場合を示している。図9に、本実施形態のLD1に図8に示した駆動電流を印加した場合の出力光波形を示す。点線が理想の出力光波形で、実線が実際の出力光波形である。単にオーバーシュート電流を重畳させた場合と比較して、立ち上がり時の光量のピークの上昇を目標光量の8以内に抑えることができている。この様に、立ち上がり時の光量のピークが所定の光量を大きく超えることを防ぐことができ、LD1の寿命の低下を防止することができる。同時に、出力光波形の立ち上がり鈍りを改善し、より理想の出力光波形に近づけることができている。以上で説明した様に、オーバーシュート電流を重畳させるだけでも、LD1の光量を補償することができるが、駆動パルス電流を印加する時間を拡張することによって、さらに出力光波形を理想の波形に近づけることが可能になる。また、出力光波形の立ち上がりの鈍りを抑え、立ち上がり時間を短縮出来るため、理想的な出力に近い出力光波形を得る事が可能になる。さらに、本実施形態に係る半導体レーザを用いた画像形成装置では、理想波形に近い光出力で露光が行われるため、低濃度から高濃度に至るまで適正な潜像形成が可能になり、階調の再現性に優れた画像を取得でき、且つ、画像ムラを軽減する効果も得ることができる。<ルックアップテーブルについて>本実施形態に係る半導体レーザ駆動装置では、図1に示す構成により駆動電流にオーバーシュート電流を重畳し、且つ、パルス拡張してLD1に電流を印加する様に構成されている。ここで、オーバーシュート電流量及び駆動パルス電流の拡張時間は、画素クロックの周波数及びLD1の光量によって最適値が異なる。従って、本実施形態に係る半導体レーザ駆動装置では、画素クロックの周波数及び拡張時間に対応する形で、オーバーシュート電流量及び拡張時間の値をルックアップテーブルとしてメモリ12内に保持している。図10に、本実施形態に係るルックアップテーブルの例を示す。図10では、画素クロック周波数が25~50MHz、50~75MHz、75~100MHzの範囲及びLD1の光量が3~6mW、6~9mW、9~12mWの範囲に対応するオーバーシュート電流量及び拡張時間の例を示している。オーバーシュート電流量は、例えば1.3~2.0mAの範囲で、拡張時間としては、例えば0.5~3nSの範囲でそれぞれ最適な値が保持されている。メモリ12の容量にもよるが、画素クロック周波数及び光量の範囲をさらに小さくしても良い。また、オーバーシュート電流量のみを保持し、LD1に印加する電流にオーバーシュート電流を重畳するだけでも、前述した様に出力光波形を改善できるため有効である。本実施形態に係る半導体レーザ駆動装置100では、マイコン14が画素クロック設定部13から画素クロック周波数を取得し、発光制御電圧から光量を求め、メモリ12のルックアップテーブルを参照してオーバーシュート電流及び発光拡張時間の設定を行う。A/D変換部15は、発光制御電圧がアナログ値の場合にはデジタル値に変換してマイコン14に送り、デジタル値の場合には直接マイコン14に送信する。ここで、図11に示すように、発光制御電圧とLD1の光量とは比例関係にあるため、マイコン14にて発光制御電圧のデジタル値に応じて、図12に例示するようなアドレスに切り替える。マイコン14は、切り替えたアドレスに対応するメモリ12内のルックアップテーブルからオーバーシュート電流量及びパルス拡張時間を読み出すよう設定しても良い。D/A変換部9は、補助電流源7に接続されており、マイコン14においてオーバーシュート電流を制御する際に、メモリ12に格納されたデータをアナログ変換する。マイコン14が画素クロック周波数や光量に応じてメモリ12内のルックアップテーブルを参照し、オーバーシュート電流量やパルス拡張時間を設定し、各条件に適した駆動電流をLD1に供給することで、半導体レーザ駆動装置100では常に積分光量比が高く、良好な出力光波形を得ることができる。半導体レーザ駆動装置100では常時画素クロック周波数及びLD1の光量からルックアップテーブルを参照して駆動電流の補正値を変更する必要は無く、画像形成装置等における使用開始時に、マイコン14がメモリ12内のルックアップテーブルを参照してLD1への駆動電流の補正値を決定する。この様に、メモリ12がルックアップテーブルを保持しておくことによって、LD1の積分光量の検出機構を設け、使用の都度積分光量を検出してオーバーシュート電流量や拡張時間の調整を行うといった工程も不要になる。そのため、回路を複雑にする必要がなく、コストの増大を防ぎ、光量の調整に時間を要することも無い、半導体レーザ駆動装置を実現することができる。また、近年の半導体レーザでは微分抵抗のばらつきが3未満であり、基板の寄生容量も配置配線が等しければ個体差が少なく、経時的な変化も少ないため、初期設定だけで足りる場合も多い。しかしながら、半導体レーザの経時的な変化による光量の低下、画素クロックの設定条件に応じてルックアップテーブルから駆動電流の補正値を読み出し、適宜最適な状態の出力光波形を得る様に設定することも可能である。この場合にも、PD2においてLD1の光量変化の検出結果及び画素クロック設定部13から設定内容を取得し、ルックアップテーブルを参照するだけで良いため、回路を複雑化する必要もなく、調整時間を要することもない。ここで、図13にルックアップテーブルのオーバーシュート電流量と拡張時間を決定する際のフローチャートを示す。まず、S1にて画素クロックの周波数を設定し、S2にて光量の設定を行う。次に、S3にてパルス拡張時間を設定し、設定したパルス拡張時間に基づいた駆動電流によってLD1を点灯させる。LD1が点灯すると、モニター用受光素子であるPD2に入射され、PD2では光量に応じたPD電流が流れる。このPD電流を、例えば図示しない抵抗を用いてPD電圧に変換し、検出した信号をLPFLow-PassFilterで積分することで、DCレベルの信号として検出し、S4にて積分光量比を算出する。S5にて、積分光量比が特定の範囲内、例えば0.90~0.95以内であるか確認し、範囲外の場合にはパルス拡張時間を変更し、再度積分光量比の測定を行う。積分光量比が上記範囲内であった場合には、次にS6にてオーバーシュート電流量を設定し、再度同一条件でLD1を点灯させる。また、S7にて同様に積分光量比の算出を行う。算出した積分光量比の値が、例えば0.95~1.05以内であるか確認を行い、範囲外である場合にはオーバーシュート電流量を変更し、再度積分光量比の測定を行う。積分光量比が所定の範囲内であった場合には、S9にてメモリ12内のルックアップテーブルに画素クロック周波数及び光量に対応させてオーバーシュート電流量及びパルス拡張時間を保存する。S10及びS11にて、以上の処理を全ての光量及び画素クロック周波数の範囲で実施されたか確認し、全範囲の設定が完了するまで繰り返して行う。上記フローチャートの例では、拡張時間は積分光量の粗調整に使用し、オーバーシュート電流は積分光量の微調整に使用している。駆動電流の補正をオーバーシュート電流のみによって行う場合には、S3からS5を除いた処理を繰り返し、積分光量比が所定の範囲内になるオーバーシュート電流量をルックアップテーブルに保存する。また、積分光量比を測定する場合には、画素クロックの1周期単位で点灯、消灯を繰り返すパルス状の駆動電流を入力してLD1を発光させて求めると、画像形成装置等に用いた場合に細線の再現性を向上させることができる。さらに、複数周期単位で点灯、消灯を繰り返す駆動電流を入力して積分光量比の測定を行えば、画像形成装置において最も使用される2ドットラインパターンや、太い線の再現性を向上させることが可能になる。半導体駆動装置100におけるLD1の駆動電流と、時間拡張及びオーバーシュート電流を重畳した際の出力光波形の変化を図14に示す。図14は、上段からaが入力信号に対応した駆動パルス電流、bが駆動電流を補正せずにLD1を発光させた場合の出力光波形で、cがパルス拡張時間を設定した場合、dがパルス拡張時間及びオーバーシュート電流を設定した場合の出力光波形を表している。図示した様に、拡張時間及びオーバーシュート電流を設定することで、高精度に積分光量を調整でき、また波形のピークが目標光量を大きく超えることもなく、出力光波形を理想的な形に近づけることが可能となる。<まとめ>以上説明した様に、本実施形態に係る半導体レーザ駆動装置では、メモリ12内のルックアップテーブルを参照することで、画素クロック周波数及び光量に対応するオーバーシュート電流量及び拡張時間に基づいて駆動電流の補正を行うため、条件に応じて最適な出力光波形を得ることができる。また、ルックアップテーブルを保持しておくことによって、LDの積分光量の検出機構や、使用の際に都度積分光量を検出してオーバーシュート電流量や拡張時間を調整するといった工程も不要になる。従って、回路を複雑にすることなく、コストの増大を防ぎ、光量の調整に時間を要することも無い、半導体レーザ駆動装置を実現することができる。なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の主旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。"