以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。図1は、本発明の一実施形態に係る画像形成装置の一例であるプリンタの正面断面視の説明図である。なお、画像形成装置は、プリンタに限られず、複写機、ファクシミリ、あるいはこれらを複合した複合機等であってもよい。
図1に示すプリンタ1は、印刷処理に供する用紙Pを貯留する用紙貯留部12と、この用紙貯留部12に貯留された用紙束P1から繰り出された1枚ずつの用紙Pに対して画像の転写処理を施す画像形成部13と、この画像形成部13で転写処理の施された用紙Pに対して定着処理を施す定着装置14と、これら各部の動作を制御する制御部80とが装置本体11に内装されると共に、定着装置14で定着処理の施された用紙Pが排紙される排紙部15が装置本体11の頂部に設けられて構成されている。
用紙貯留部12には、用紙カセット121が装置本体11に対して挿脱自在に設けられている。用紙カセット121の上流端(図1の右方)には、用紙束P1から1枚ずつの用紙Pを繰り出すピックアップローラ122が設けられている。このピックアップローラ122の駆動によって用紙カセット121から繰り出された用紙Pは、給紙搬送路123およびこの給紙搬送路123の下流端に設けられたレジストローラ対124を介して画像形成部13に給紙されるようになっている。
画像形成部13は、パーソナルコンピュータ等から、LAN(Local Area Network)やUSB(Universal Serial Bus)等の伝送路を介してプリンタ1へ送信された画像データに基づき用紙Pにトナー画像の転写処理を施すものであり、前後方向(図1の紙面と直交する方向)に延びるドラム軸回りに回転可能に設けられた感光体ドラム20(感光体)の周面に沿うように、当該感光体ドラム20の直上位置から時計方向に向けて帯電ローラ30、現像装置50、転写ローラ60およびクリーニング装置70が配設されることによって形成されている。また、画像形成部13の上方には、露光装置40(露光部)が配設されている。
感光体ドラム20は、周面にアモルファスシリコン層が積層されている。かかる感光体ドラム20は、装置本体11の略中央部で前後方向(図1の紙面に直交する方向)に延びるドラム軸に同心で一体的に軸支され、図略の駆動手段によって、ドラム軸を中心に時計回りに回転される。
帯電ローラ30は、時計回りに回転している感光体ドラム20の周面に一様な電荷を形成させるものであり、周面が感光体ドラム20の周面と当接しながら従動回転しつつ感光体ドラム20へ電荷を付与するようになっている。なお、帯電ローラ30に代えてワイヤからのコロナ放電により感光体ドラム20の周面に電荷を付与するコロナ放電方式のものを採用してもよい。
露光装置40は、パーソナルコンピュータ等の外部の機器から送信されてきた画像データに基づき、レーザ光を回転している感光体ドラム20の周面に照射し、レーザ光が照射された部分で電荷を消去させることによって当該周面に静電潜像を形成させる。
図2は、図1に示す露光装置40の上面斜視図である。図2に示す露光装置40は、略箱状の筐体401に、レーザ光源402、ポリゴンミラー403、ビームディテクタ404、fθレンズ405、コンデンサレンズ406、全反射ミラー407が収納されて構成されている。また、筐体401には、全反射ミラー407からのレーザ光の光路を感光体ドラム20の外周面に案内するように形成されたスリット408が設けられている。
レーザ光源402は、レーザ光をポリゴンミラー403へ照射する例えば半導体レーザ装置である。ポリゴンミラー403は、多角形(図2では例として6角形)の柱状にされており、その側面が反射面にされている。また、ポリゴンミラー403は、図略の駆動機構により時計回りに高速回転されることにより、レーザ光源402から照射されたレーザ光を反射して主走査方向に走査する。ビームディテクタ404は、例えば光センサであり、ポリゴンミラー403により走査されたレーザ光が、ビームディテクタ404に照射されたタイミングを示す信号を、制御部80へ出力する。
fθレンズ405及びコンデンサレンズ406は、ポリゴンミラー403により反射されたレーザ光を平行光に変換して全反射ミラー407へ供給する。全反射ミラー407は、fθレンズ405及びコンデンサレンズ406により平行光にされたレーザ光の光路を曲げて、スリット408を介して感光体ドラム20の外周面に照射する。
このように構成された露光装置40では、レーザ光源402から照射されたレーザ光は、ポリゴンミラー403の回転に伴い、ポリゴンミラー403の反射面で反射されて、ビームディテクタ404に照射され、さらに全反射ミラー407の図中右端から左端に移動することで、感光体ドラム20の主走査方向への1ライン分の走査が行われて露光される。そして、ポリゴンミラー403の回転に伴い、このような主走査方向へのレーザ光による走査が繰り返されると共に、感光体ドラム20が時計回りに回転することで、副走査方向への走査が行われ、感光体ドラム20の周面が露光されて静電潜像が形成される。
現像装置50は、感光体ドラム20の周面に現像剤であるトナーを供給することによって周面の静電潜像を現像し、これによって感光体ドラム20の周面にトナー像を形成する。転写ローラ60は、感光体ドラム20の直下位置に送り込まれた用紙Pに対して感光体ドラム20の周面に形成されているプラスに帯電したトナー像を用紙Pに転写させるものであり、トナー像の電荷と逆極性であるマイナスの電荷を用紙Pに付与するようになっている。
従って、感光体ドラム20の直下位置を越えた用紙Pは、転写ローラ60と感光体ドラム20とによって押圧挟持されつつ、プラスに帯電した感光体ドラム20周面のトナー像がマイナスに帯電した用紙Pの表面に向けて引き剥がされ、これによって用紙Pに対し転写処理が施される。
クリーニング装置70は、転写処理後の感光体ドラム20の周面に残留しているトナーを取り除いて清浄化する。このクリーニング装置70によって清浄化された感光体ドラム20の周面は、次の画像形成処理のために再び帯電ローラ30へ向かう。
定着装置14は、画像形成部13によって転写処理の施された用紙Pのトナー像に加熱による定着処理を施すものであり、内部にハロゲンランプ等の通電発熱体が装着されたヒートローラ141と、このヒートローラ141の下部で周面が対向配置された加圧ローラ142とを備えて構成されている。そして、転写処理後の用紙Pは、時計回りに駆動回転するヒートローラ141と、反時計回りに従動回転している加圧ローラ142との間のニップ部を通過することによって、ヒートローラ141からの熱を得て定着処理が施される。定着処理の施された用紙Pは、排紙搬送路143を通って排紙部15へ排出される。
排紙部15は、装置本体11の頂部が凹没されることによって形成され、この凹没した凹部の底部に排紙された用紙Pを受ける排紙トレイ151が形成されている。
制御部80は、例えば所定の演算処理を実行するCPU(Central Processing Unit)と、所定の制御プログラムが記憶されたROM(Read Only Memory)と、データを一時的に記憶するRAM(Random Access Memory)と、これらの周辺回路等とを備えて構成され、ROMに記憶された制御プログラムを実行することにより、上述のプリンタ1内の各部の動作を制御する。
図3は、図1に示すプリンタ1の電気的構成の一例を示すブロック図である。図1に示すように、プリンタ1は、制御部80に、通信I/F部81、線幅設定スイッチ82、画像処理部83、レーザ光照射制御部84、露光装置40、画像形成部13、及び用紙搬送路120が接続されて構成されており、制御部80からの制御信号に応じて、画像処理部83、レーザ光照射制御部84、露光装置40、画像形成部13、及び用紙搬送路120が動作することで、通信I/F部81によって受信された画像データに基づく画像が、用紙カセット121に収納されている用紙Pに形成されるようになっている。
通信I/F部81は、例えばLANやUSB(Universal Serial Bus)等の伝送路811を介して接続されたパーソナルコンピュータ等との間で通信を行う通信インターフェイス回路である。そして、通信I/F部81は、パーソナルコンピュータ等から伝送路811を介して送信されてきた印刷指示や、印刷対象となる画像データを受信し、制御部80で処理可能な信号形式に変換して制御部80へ出力する。制御部80は、通信I/F部81から出力された画像データS1を、画像処理部83へ出力して画像処理を行わせる。
線幅設定スイッチ82は、例えばディップスイッチやロータリスイッチ等の設定スイッチであり、副走査方向にのびる線の線幅を調節するための設定値の設定を受け付けて、制御部80へ出力する。設定値は、例えば副走査方向へのびる線の線幅を増大させるための増大量を示す情報である。制御部80は、線幅設定スイッチ82により受け付けられた設定値を、レーザ光の走査時間に換算し、さらにその走査時間を後述する単位時間tsで除算した商を、設定情報S3としてレーザ光照射制御部84へ出力する。
なお、線幅設定スイッチ82は、例えば図略の操作パネルに取り付けられたテンキーやタッチパネル等の操作入力装置であってもよい。また、線幅設定スイッチ82は、設定情報S3を直接設定値として設定可能にされていてもよく、制御部80は、設定値の換算処理を実行しなくてもよい。この場合、線幅設定スイッチ82は、設定値取得部の一例に相当している。また、通信I/F部81を用いて、伝送路811を介して接続されたパーソナルコンピュータ等から送信されてきた設定値を受け付けるようにしてもよい。この場合、通信I/F部81が、設定値取得部の一例に相当する。
また、設定値取得部は、必ずしもユーザの操作入力や、通信を介して外部から設定値を取得する例に限られない。例えば、用紙Pに形成された画像の線幅を検出するセンサを備え、画像形成部13によって、用紙Pに予め設定された既知の線幅で副走査方向にのびる線の画像を形成させて当該線幅をセンサで検出し、センサで検出された線幅と、設定された線幅との差に基づき、設定値を取得するものであってもよい。
用紙搬送路120は、ピックアップローラ122、給紙搬送路123、レジストローラ対124、及び排紙搬送路143等からなる用紙搬送機構である。
画像処理部83は、制御部80から出力された画像データS1に、例えばスムージング処理等の画像処理を施す。そして、画像処理が施された画像データの各画素を表す画素データS2を、露光装置40によるレーザ光の走査順に、順次レーザ光照射制御部84へ出力する。画像処理部83は、具体的には、デジタルデータ化された画像データに基づく画像に現れるデジタル画像特有のギザギザ感を減少させるために、1画素の最大処理時間、すなわち、露光装置40によるレーザ光の主走査方向への走査期間中において各画素に対応する各ドットの露光を順次行うための一定の周期であるドット周期の範囲内で、各ドットの位置を左寄せ、中央、右寄せの3位置のうちいずれかに設定し、ドットが連続して画像が形成されたときに、直線や曲線などを構成する各ドットが、連続してスムーズに繋がるようにする。
図4は、画像処理部83によってスムージング処理が施された画素データS2の一例を示す説明図である。図4(a)は、画像処理部83によって左寄せの設定がされた画素データS2を示し、図4(b)は、画像処理部83によって中央に配置する設定がされた画素データS2を示し、図4(c)は、画像処理部83によって右寄せの設定がされた画素データS2を示している。
図4に示すように、各画素データS2は例えば6ビットで構成されており、そのうち4ビットで当該画素の濃度値を0〜15の16段階で示し、残りの2ビットで当該画素を示すドットの寄せ位置の設定がされている。この場合、例えば画素データS2の濃度値が「0」であれば、当該画素は白色であることを示しており、当該画素に対応するドットの形成は行われない。また、画素データS2の濃度値が「1」〜「15」であれば、当該濃度値が大きくなるほどレーザ光の主走査方向への走査時間(ドットの長さ)が長くされることで、当該画素の濃度に応じた画像を形成するようになっている。
レーザ光照射制御部84は、画像処理部83から出力された画素データS2に応じて、各画素の階調性(濃度)に応じたパルス幅を有するレーザ制御信号S4を、各画素の寄せ位置に応じたタイミングで生成し、露光装置40へ出力する。露光装置40は、レーザ光による主走査方向への走査中に、レーザ制御信号S4のパルス幅に応じた時間、レーザ光源402を発光(オン)して感光体ドラム20を露光し、1つの画素を表すドットの静電潜像を感光体ドラム20上に形成する。ビームディテクタ404は、レーザ光が照射されることによって、1ラインごとの走査開始のタイミングをとるための、ビームディテクト信号BD(主走査同期信号)をレーザ光照射制御部84へ出力する。
図5は、レーザ光照射制御部84の詳細な構成の一例を示すブロック図である。図5に示すレーザ光照射制御部84は、発振器841(基本周期信号生成部)、分周回路842(ドット周期信号生成部)、レーザ出力タイミング設定部843、LUT(Look Up Table)844、エッジ変換部845、スキュー調整部846、レーザ出力タイミング調節部847、パルス生成部848、ディレイチェーン回路849(直列遅延回路)、切替回路850、スキュー検出部851、及び出力切替回路852を備えている。
発振器841は、エッジ変換部845、スキュー調整部846、レーザ出力タイミング調節部847、パルス生成部848、ディレイチェーン回路849、切替回路850、スキュー検出部851、及び出力切替回路852を同期させて動作させるための基本クロック信号CLK1(基本周期信号)を生成する発振器で、例えば水晶発振器が用いられる。基本クロック信号CLK1は、例えば250MHzに設定されており、基本クロック信号CLK1の基本周期t1が4nsecに設定されている。
分周回路842は、発振器841から出力された基本クロック信号CLK1を分周して、露光装置40による主走査方向への走査期間中において各ドットの露光を順次行うための一定の周期であるドット周期を示すドットクロック信号CLK2(ドット周期信号)を生成する。ドットクロック信号CLK2は、例えば50MHzにされており、ドット周期t2が20nsecに設定されている。
また、ディレイチェーン回路849には、基本周期t1を、予め設定された分割数nに等分割した時間である単位時間tsだけ信号を遅延させる単位遅延回路が、複数段直列に、例えば128個接続されている。この場合、分割数nは例えば40、単位時間tsは、例えば0.1nsecに設定されている。
LUT844には、画素データS2で示される濃度値と寄せ位置とに応じて、レーザ光をオンさせるべき第1オンタイミングとオフさせるべき第1オフタイミングとを示すデータが対応付けられて記憶されている。また、LUT844には、第1オンタイミングは、ドット周期t2の先頭タイミングから当該第1オンタイミングに至るまでの時間を単位時間tsで除算した商に相当する第1オンタイミング換算値として表されており、第1オフタイミングは、ドット周期t2の先頭タイミングから当該第1オフタイミングに至るまでの時間を単位時間tsで除算した商に相当する第1オフタイミング換算値として表されている。
レーザ出力タイミング設定部843は、LUT844を参照することによって、画像処理部83から出力された画素データS2に応じて、第1オンタイミング換算値と第1オフタイミング換算値とを設定し、その第1オンタイミング換算値と第1オフタイミング換算値とを示す第1タイミング情報S21をエッジ変換部845へ出力する。
エッジ変換部845は、レーザ出力タイミング設定部843から出力された第1タイミング情報S21に基づいて、主走査方向のスキャンライン上で隣り合う画素同士が比較され、本来連続するドット同士が、同じ立ち下がりエッジ(レーザ光がオフするタイミング)と立ち上がりエッジ(レーザ光がオフするタイミング)位置を持つ場合、それらのドットが切れ目無く連続して描画されるように、第1タイミング情報S21で示される第1オンタイミング換算値及び第1オフタイミング換算値を調整し、タイミング情報S22としてスキュー調整部846へ出力する。
スキュー調整部846は、パルス生成部848及びディレイチェーン回路849が、例えば250MHzの基本クロック信号CLK1と同期して動作しているのに対して、ビームディテクト信号BDのタイミングが基本クロック信号CLK1とは非同期であるために生じてしまうタイミングのずれを補正する。具体的には、スキュー検出部851から出力されるスキュー値を、タイミング情報S22で示される第1オンタイミング換算値及び第1オフタイミング換算値に加算することで、スキューの補正を行い、タイミング情報S23としてレーザ出力タイミング調節部847へ出力する。
レーザ出力タイミング調節部847は、スキュー調整部846から出力されたタイミング情報S23により示される第1オンタイミング換算値と第1オフタイミング換算値との差を、制御部80から出力された設定情報S3に応じて調節することで得られる新たな第1オンタイミング換算値と第1オフタイミング換算値とを、第2オンタイミング換算値と第2オフタイミング換算値としてそれぞれ設定する。
より具体的には、レーザ出力タイミング調節部847は、タイミング情報S23により示される第1オンタイミング換算値をそのまま第2オンタイミング換算値として設定すると共に、設定情報S3により示される増大量が大きいほど、タイミング情報S23により示される第1オフタイミング換算値に対する第2オフタイミング換算値の増加量が大きくなるように、例えば第1オフタイミング換算値に設定情報S3を加算することにより、第2オフタイミング換算値を設定する。そして、レーザ出力タイミング調節部847は、当該第2オンタイミング換算値及び第2オフタイミング換算値を示す第2タイミング情報S24を、パルス生成部848へ出力する。
図6は、パルス生成部848の構成の一例を示すブロック図である。また、図7は、ディレイチェーン回路849の構成の一例を示す回路図である。まず、図7に示すディレイチェーン回路849は、128個のフリップフロップ回路100_1〜100_128と、128個のEX−OR(排他的論理和)ゲート200_1〜200_128(論理ゲート)と、128個のフリップフロップ回路300_1〜300_128とを備えている。EX−ORゲート200_1〜200_128は、それぞれ、ゲート遅延時間が単位時間tsの単位遅延回路の一例に相当している。以下、総称する場合には添え字を省略した参照符号で示し、個別の構成を指す場合には添え字を付した参照符号で示す。
そして、切替回路850の出力信号が入力バッファ202を介してEX−ORゲート200_128の一方の入力端子に入力され、EX−ORゲート200_1〜200_127の各2つの入力端子のうち一方に、前段のEX−ORゲート200の出力端子が接続されることにより、EX−ORゲート200が128段直列に接続されて、直列遅延回路が構成されている。
フリップフロップ回路100_1〜100_128のデータ入力端子には、パルス生成部848が接続されている。フリップフロップ回路100_1〜100_128の出力信号は、EX−ORゲート200_1〜200_128の他方の入力端子へ出力される。EX−ORゲート200_1〜200_128の出力信号は、フリップフロップ回路300_1〜300_128のデータ入力端子へ出力され、フリップフロップ回路300_1〜300_128の出力信号は、スキュー検出部851へ出力される。フリップフロップ回路100_1〜100_128、及びフリップフロップ回路300_1〜300_128のクロック入力端子には、基本クロック信号CLK1が入力されている。そして、EX−ORゲート200_1〜200_128の直列遅延回路における最終段のEX−ORゲート200_1の出力信号が、レーザ制御信号S4として露光装置40へ出力される。
フリップフロップ回路100_1〜100_128、EX−ORゲート200_1〜200_128、及びフリップフロップ回路300_1〜300_128の各添え字は、直列遅延回路における最終段から数えた段数に対応している。
図6に示すパルス生成部848は、第1減算回路481、第1遅延制御部482、第2減算回路483、第2遅延制御部484、第3減算回路485、第3遅延制御部486、第4減算回路487、及び第4遅延制御部488を備えている。
第1減算回路481は、レーザ出力タイミング調節部847から、ドットクロック信号CLK2と同期して第2タイミング情報S24が出力されると、第2オンタイミング換算値がセットされ、ドット周期の先頭タイミングから基本クロック信号CLK1の周期毎に、第2オンタイミング換算値から分割数nずつ順次減算し、その減算結果を第1遅延制御部482へ出力する。
第1遅延制御部482は、例えば比較回路を用いて構成されており、第1減算回路481による減算の結果得られた数値が分割数nを下回った場合、当該数値の段数(添え字)に該当するフリップフロップ回路100のデータ入力信号を、ハイレベルに変化させる。
第2減算回路483は、レーザ出力タイミング調節部847から、ドットクロック信号CLK2と同期して第2タイミング情報S24が出力されると、第2オフタイミング換算値がセットされ、ドット周期の先頭タイミングから基本クロック信号CLK1の周期毎に、第2オフタイミング換算値から分割数nずつ順次減算し、その減算結果を第2遅延制御部484へ出力する。
第2遅延制御部484は、例えば比較回路を用いて構成されており、第2減算回路483による減算の結果得られた数値が分割数nを下回った場合、当該数値の段数(添え字)に該当するフリップフロップ回路100のデータ入力信号を、ハイレベルに変化させる。
第3減算回路485、第3遅延制御部486、第4減算回路487、及び第4遅延制御部488は、第1減算回路481、第1遅延制御部482、第2減算回路483、及び第2遅延制御部484と並行して動作することで、連続する2つの画素のドットを走査するためのタイミングを、並行して生成可能にするためのものである。第3減算回路485、第3遅延制御部486、第4減算回路487、及び第4遅延制御部488は、第1減算回路481、第1遅延制御部482、第2減算回路483、及び第2遅延制御部484と同様に構成されているため、その説明を省略する。この場合、パルス生成部848とディレイチェーン回路849とが、露光制御部の一例に相当している。
スキュー検出部851は、フリップフロップ回路300_1〜300_128の出力信号に基づいて、基本周期t1あたりのEX−ORゲート200の遅延段数、すなわち分割数nの校正値を検出してLUT844やパルス生成部848へ出力したり、ビームディテクト信号BDのタイミングと基本クロック信号CLK1とのタイミングのずれ(スキュー)を検出してスキュー調整部846へ出力したりする。
次に、上述のように構成されたプリンタ1の動作について説明する。まず、通信I/F部81によって、伝送路811を介して接続されたパーソナルコンピュータ等から受信された画像データS1が、制御部80によって、画像処理部83へ出力される。そして、画像処理部83によって、画像データS1に例えばスムージング処理等の画像処理が施され、図4に示すように各画素の濃度と寄せ位置とを示す画素データS2が生成され、レーザ光照射制御部84へ出力される。
また、画素データS2に基づくレーザ光の走査に先立ち、スキュー検出部851によるスキュー値の検出がスキャンラインごとの先頭タイミングで行われ、スキュー調整部846へ出力される。
次に、レーザ光照射制御部84におけるレーザ出力タイミング設定部843によって、LUT844を用いて画像処理部83から出力された画素データS2に応じて、第1オンタイミング換算値と第1オフタイミング換算値とが設定され、その第1オンタイミング換算値と第1オフタイミング換算値とを示す第1タイミング情報S21がエッジ変換部845へ出力される。
図8は、LUT844の内容を説明するための説明図である。図8(a)は、左寄せの変換テーブルを示し、図8(b)は、中央配置の変換テーブルを示し、図8(c)は、右寄せの変換テーブルを示している。図8において、レーザ光をオンさせる第1オンタイミングが第1オンタイミング換算値として示されており、レーザ光をオフさせる第1オフタイミングが第1オフタイミング換算値として示されている。
この場合、濃度値が大きいほど、第1オンタイミング換算値と第1オフタイミング換算値との差が大きくなるようにされている。第1オンタイミング換算値と第1オフタイミング換算値との差が大きければ、レーザ光による走査時間が長くなり、画像形成されるドットの大きさが増大されることで、画素の濃度が表現されるようになっている。
この場合、ドット周期t2の最初から最後まで、レーザ光をオンさせることが、画素の濃度を最大にすることになるから、LUT844では、ディレイチェーン回路849によって、ドット周期t2分の遅延を生じさせるために必要なEX−ORゲート200の数、すなわちドット周期t2あたりの遅延段数が、濃度値の最大値15と対応するように、濃度値と遅延段数との対応関係が設定され、第1オンタイミング換算値と第1オフタイミング換算値との差が濃度値に対応する遅延段数となるように、第1オンタイミング換算値と第1オフタイミング換算値とが設定されている。
ドット周期t2は20nsec、EX−ORゲート200のゲート遅延時間、すなわち単位時間tsは0.1nsecであるから、最大濃度15は、遅延段数単位で表すと200である。また、最小濃度0は、遅延段数単位で表すと0である。
まず、図8(a)に示す左よせ画素データの変換について説明する。LUT844は、プリンタ1の特性に応じて換算値が設定されるが、説明を簡単にするため、ここでは、濃度値は直線補完されて第1オンタイミング換算値と第1オフタイミング換算値とに変換されるものとする。上述したドット周期t2あたりの総遅延段数200を最大濃度15に対応させると、図8(a)に示すように、濃度dは、左寄せであるため、第1オンタイミング換算値が0で、第1オフタイミング換算値は、200×d/15(小数点以下四捨五入)で表せる。なお、濃度15の第1オフタイミング換算値は、本来200であるが、後続する画素の第1オンタイミング換算値が0の場合、レーザ発光を制御するレーザ制御信号S4の立ち下がりと立ち上がりとがほぼ同時に発生し、ノイズや画素の切れ目が発生する場合がある。そのため、第1オフタイミング換算値が200の場合は、第1オフタイミング換算値として、例えばソフトウェア或いはハードウェアで構成されるLUT844が扱える最大値を付与する。この例では、その最大値を4095に設定している。
次に、図8(b)に示す中央配置の画素データの変換について説明する。基本的には、は、第1オンタイミング換算値が、最大濃度幅、すなわち総遅延段数200の前半分100の中央値となるように、かつ、第1オフタイミング換算値が、後ろ半分100の中央値となるように、第1オンタイミング換算値及び第1オフタイミング換算値が設定される。
第1オフタイミング換算値が200になる場合、4095に変更することは前記したとおりである。濃度dの第1オンタイミング換算値は、100−100×d/15(小数点以下四捨五入)で、また、第1オフタイミング換算値は、100+100×d/15(小数点以下四捨五入)で表される。
さらに、図8(c)に示す右寄せの画素データの変換について説明する。基本的には、左寄せの基点を左右逆にしたものになる。濃度dの第1オンタイミング換算値は、200−200×d/15(小数点以下四捨五入)の位置となり、第1オフタイミング換算値は、全ての濃度において200となり、上記した理由で4095に変更される。なお、符号d1〜d3を附したデータは、以降の説明に使用するデータの例を示している。
ここで、基本周期t1は4nsecであり、ドット周期t2の5倍になっている。そこで、レーザ出力タイミング設定部843は、スキュー検出部851から出力された分割数n(基本周期t1あたりのEX−ORゲート200の遅延段数)の校正値に5倍の倍率を乗じて得られた値を、ドット周期t2あたりの遅延段数として用いて第1オンタイミング換算値と第1オフタイミング換算値とを新たにLUT844に設定することで、LUT844の値を構成するようになっている。
次に、エッジ変換部845の動作について説明する。図9は、エッジ変換部845及びスキュー調整部846の動作を説明するための説明図である。図9(a)は、隣り合う画素データが連続する場合において、レーザ制御信号S4に切れ目が生じる例を示す図である。レーザ制御信号S4は、ローレベルでレーザ光源402が消灯し、ハイレベルでレーザ光源402が発光するようになっている。図9(a)において、gap1やgap2として示すように、注目画素の第1オフタイミング換算値が200(レーザ出力タイミング設定部843で4095に変換するのは、200であることを示すフラッグである)で、次の画素データの第1オフタイミング換算値が0の場合、2つの画素データは本来連続する。
しかし、注目画素の第1オフタイミング換算値が200で、次の画素の第1オンタイミング換算値が0の場合、そのまま第1オフタイミング換算値と第1オンタイミング換算値とに基づいてレーザ制御信号S4を生成すると、ディレイチェーン回路849でレーザ制御信号S4における画素の境界で、レーザ制御信号S4に切れ目が発生する可能性がある。
そのため、エッジ変換部845では、ディレイチェーン回路849でレーザ制御信号S4に切れ目が発生しないように、以下の手順で変換を行う。すなわち、前画素の第1オフタイミング換算値が終端(4095)で、注目画素の第1オンタイミング換算値が先端(0)のとき、注目画素の第1オンタイミング換算値を8191に変更する。これ以外で、前画素の第1オンタイミング換算値が4095の場合には、注目画素の立ち上がりエッジ位置を200に置き換える。また、後画素の第1オフタイミング換算値が先端(0)で、注目画素の第1オフタイミング換算値が4095のとき、注目画素の第1オフタイミング換算値を8191に置き換える。これ以外で、後画素の第1オフタイミング換算値が4095の場合には、注目画素の第1オンタイミング換算値を200に置き換える。
図9(b)は、図8で示した画素データd1、d2、d3が、画素1、画素2、画素3としてエッジ変換部845に入力されるときの第1オンタイミング換算値と第1オフタイミング換算値とを示す説明図である。図9(c)は、エッジ変換部845が、上記したエッジ変換の手順に従って、図9(b)の画素データをエッジ変換した(置き換える)後の画素データを示す説明図である。
次に、スキュー調整部846の動作について説明する。スキュー調整のためのスキュー値が如何にして生成されるかは後述する。スキュー調整部846では、スキュー検出部851で検出されたスキュー値がフィードバックされて、図示しない演算回路で、それぞれの画素データの第1オンタイミング換算値と第1オフタイミング換算値とに一律に加算される。但し、それらの値が8191の場合は加算されない。図9(d)は、エッジ変換部845から出力された図9(c)に示す画素データに、上記したスキュー値がスキュー調整部846で加算された例を示す説明図である。この例では、遅延段数単位で10のスキュー値が加算されて、補正された画素データを示している。このようにして補正された第1オンタイミング換算値と第1オフタイミング換算値とが、タイミング情報S23としてレーザ出力タイミング調節部847へ出力される。
次に、レーザ出力タイミング調節部847の動作について説明する。図10は、レーザ出力タイミング調節部847の動作を説明するための説明図である。レーザ出力タイミング調節部847は、スキュー調整部846から出力されたタイミング情報S23に含まれる第1オンタイミング換算値をそのまま第2オンタイミング換算値とし、第1オフタイミング換算値に、値が8191のもの以外に、制御部80から出力された設定情報S3を加算して第2オフタイミング換算値とし、このようにして得られた第2オンタイミング換算値と第2オフタイミング換算値とを第2タイミング情報S24としてパルス生成部848へ出力する。
なお、レーザ出力タイミング調節部847は、第2オンタイミング換算値と第2オフタイミング換算値との差を、第1オンタイミング換算値と第1オフタイミング換算値との差よりも設定情報S3だけ増大させるものであればよく、例えば設定情報S3の1/2の値を、第1オンタイミング換算値から減算して第2オンタイミング換算値とし、設定情報S3の1/2の値を、第1オフタイミング換算値に加算することで第2オフタイミング換算値としてもよい。
次に、レーザ出力タイミング調節部847から出力された第2タイミング情報S24に基づいて、パルス生成部848及びディレイチェーン回路849によって、レーザ制御信号S4が生成され、図略のレーザ駆動電圧生成回路によって、レーザ制御信号S4に応じてレーザ光源402を発光させるための電圧、電流が生成され、レーザ光源402へ供給される。
図11は、線幅設定スイッチ82によって、設定値の入力が行われなかった場合、すなわち設定情報S3が「0」であった場合のパルス生成部848及びディレイチェーン回路849の動作の一例を示すタイミングチャートである。この場合、レーザ出力タイミング調節部847から出力される第2タイミング情報S24における第2オンタイミング換算値、第2オフタイミング換算値は、図9(d)に示す第1オンタイミング換算値、第1オフタイミング換算値と等しい。
そうすると、まず、ドットクロック信号CLK2の立ち上がりと同期して、レーザ出力タイミング調節部847から出力された画素1の第2オンタイミング換算値「143」、及び第2オフタイミング換算値「210」が、第1減算回路481、及び第2減算回路483にセットされる。また、フリップフロップ回路100_1〜100_128は、事前にクリアされる。そして、第1減算回路481、第2減算回路483によって、基本クロック信号CLK1の立ち上がりタイミングと同期して、分割数n「40」ずつ順次減算され、その減算結果が第1遅延制御部482、第2遅延制御部484へそれぞれ出力される。
そして、基本クロック信号CLK1の3つめのクロックの立ち上がりタイミングで、第1減算回路481の減算値が23となり、分割数n「40」より小さくなると、第1遅延制御部482によって、減算値「23」に対応するディレイチェーン回路849のフリップフロップ回路100_23のデータ入力信号がハイレベルにされ、次の基本クロック信号CLK1の立ち上がりタイミング(タイミングT1)でEX−ORゲート200_23の一方の入力信号がハイレベルにされる。
入力バッファ202には、切替回路850からローレベルの信号が入力されており、EX−ORゲート200_1〜200_128の出力レベルは予めローレベルにされているので、EX−ORゲート200_23の一方の入力信号がハイレベルにされると、EX−ORゲート200_23の出力信号が反転してハイレベルになって、以降のEX−ORゲート200_22〜200_1の出力レベルが順次ハイレベルに変化する結果、タイミングT1からEX−ORゲート200_23〜200_1のゲート遅延時間、すなわち単位時間ts×23の時間が経過した後にレーザ制御信号S4が立ち上がる。
一方、第2減算回路483の減算値は、基本クロック信号CLK1の5つめのクロックの立ち上がりタイミングで10となり、分割数n「40」より小さくなると、第2遅延制御部484によって、減算値「10」に対応するディレイチェーン回路849のフリップフロップ回路100_10のデータ入力信号がハイレベルにされ、次の基本クロック信号CLK1の立ち上がりタイミング(タイミングT2)でEX−ORゲート200_10の一方の入力信号がハイレベルにされる。そうすると、EX−ORゲート200_10〜200_1の出力レベルが順次反転してローレベルに変化する結果、タイミングT2からEX−ORゲート200_10〜200_1のゲート遅延時間、すなわち単位時間ts×10の時間が経過した後にレーザ制御信号S4が立ち下がる。
一方、次の画素2の第2オンタイミング換算値「197」、及び第2オフタイミング換算値「8191」が、ドットクロック信号CLK2の次の立ち上がり(タイミングT3)と同期して、第3減算回路485、及び第4減算回路487にそれぞれセットされる。以降、第3減算回路485、第3遅延制御部486、第4減算回路487、第4遅延制御部488、及びディレイチェーン回路849によって、第1減算回路481、第1遅延制御部482、第2減算回路483、及び第2遅延制御部484の場合と同様の動作によって、画素2に対応するレーザ制御信号S4のパルス信号が、タイミングT4から単位時間ts×37の時間が経過した後に立ち上がり、タイミングT5から単位時間ts×23の時間が経過した後に立ち下がる。このようにして得られたレーザ制御信号S4に応じて、レーザ光源402が発光することで、画像データS1に応じてドットが形成される。
図12は、線幅設定スイッチ82によって、設定値の入力が行われ、例えば設定情報S3が「100」であった場合のパルス生成部848及びディレイチェーン回路849の動作の一例を示すタイミングチャートである。この場合、レーザ出力タイミング調節部847から出力される第2タイミング情報S24は、例えば図10に示すようになっている。
そうすると、まず、画素1におけるレーザ制御信号S4の立ち上がりタイミングは、図11に示す場合と同様に、タイミングT1から単位時間ts×23の時間が経過したタイミングとなる。一方、画素1における第2オフタイミング換算値は、図11に示す場合における第2オフタイミング換算値「210」に、設定情報S3「100」が加算されて「310」にされており、この「310」が第2減算回路483で減算される。そうすると、設定情報S3「100」は、基本クロック信号CLK1の基本周期t1×2+単位時間ts×20に相当するから、図11におけるタイミングT2より2クロック遅いタイミングT6から、図11に示す場合よりもEX−ORゲート200の10個分遅延時間が大きい単位時間ts×30の時間が経過したタイミングで、レーザ制御信号S4が立ち下がる。
そうすると、レーザ制御信号S4におけるハイレベルの期間が、線幅設定スイッチ82によって設定が受け付けられた設定値に応じて単位時間ts×100の時間だけ延長される。従って、1ドットの主走査方向におけるレーザ光の走査長さが増大されるので、当該ドットに隣接するドットの有無にかかわらず、副走査方向にのびる線の線幅が1ドットであっても画像データS1を変更することなく、副走査方向にのびる線の線幅を、線幅設定スイッチ82によって設定が受け付けられた設定値に応じて太くして、主走査方向の線幅と副走査方向の線幅との差異を低減することが容易となる。
これにより、例えばプリンタ1の工場からの出荷時にテストパターンを印字させた結果、主走査方向にのびる線より、副走査方向にのびる線が細く画像形成される場合や、プリンタ1の経年劣化等による特性変化に伴って、主走査方向にのびる線より副走査方向にのびる線が細く画像形成される場合等に、作業者やユーザが、副走査方向にのびる線を太くさせるように線幅設定スイッチ82の設定値を調節したり、あるいは画像形成装置の機種毎に固有の特性に応じて実験的に求められた設定値を、工場からの出荷時に線幅設定スイッチ82で設定したりすることで、制御部80によって、線幅設定スイッチ82により受け付けられた設定値がレーザ光の走査時間に換算され、さらにその走査時間を単位時間tsで除算した商が設定情報S3としてレーザ光照射制御部84へ出力される。そして、レーザ出力タイミング調節部847によって、第1オフタイミング換算値に設定情報S3が加算されることで、画素に対応するドットの主走査方向の露光時間が増大される結果、副走査方向にのびる線の線幅を太くして、主走査方向の線と副走査方向の線との間での線幅の差異を低減し、画像品質を向上させることが容易となる。この場合、画像処理部83によって、画像形成しようとする画像データを、副走査方向の線を太くするような画像処理によって変更する必要がなく、レーザ出力タイミング調節部847による設定情報S3の加算処理によって、副走査方向の線を太くすることができるので、処理を簡素化することができる。
次に、スキュー検出部851の動作について説明する。図13は、スキュー検出部851によるスキュー値の検出動作を説明するためのタイミングチャートで、(a)はビームディテクト信号BDが基本クロック信号CLK1の立ち上がりタイミングより30遅延段数分遅れている例で、(b)はビームディテクト信号BDが基本クロック信号CLK1の立ち上がりタイミングより20遅延段数分遅れている例である。
ビームディテクト信号BDと基本クロック信号CLK1とのずれをラインごとのスキャン開始前に検出してフィードバックするため、まず図7に示すフリップフロップ回路300_1〜300_128がクリアされる。続いて、図5に示す切替回路850によって、ビームディテクト信号BDが選択され、図7に示す入力バッファ202にビームディテクト信号BDが入力される準備が整う。
図10(a)の上段から、基本クロック信号CLK1、ビームディテクタ404から出力されるビームディテクト信号BD、出力バッファ201から出力されるビームディテクト信号BD、スキュー検出部851によるフリップフロップ回路300_1〜300_128の出力状態の検出値、そのフリップフロップ回路300の出力状態に基づくスキュー値、画像信号がそれぞれ図示されている。
まず、時間T1aで、入力バッファ202を介して、ビームディテクタ404からのビームディテクト信号BDが最上流のEX−ORゲート200_128に入力される。その後、ビームディテクト信号BDは、下流に向けてEX−ORゲート200_nを遅延伝搬する。そのため、刻々と変化するEX−ORゲート200_nの出力を受けて、フリップフロップ回路300_nに入力される基本クロック信号CLK1の立ち上がりごとに、フリップフロップ回路300_nの出力がスキュー検出部851によって検出される。つまり、時間T2aで最初の検出が行われるが、その時、ビームディテクト信号BDは、既にEX−ORゲート200を上流から10遅延段数進んでいるため、フリップフロップ回路300_128〜300_119までハイレベルが検出される(残り段数118)。図13(a)では単に118と数値で示す。
基本クロック信号CLK1あたりの遅延段数は40であるため、次の基本クロック信号CLK1で、フリップフロップ回路300_128〜フリップフロップ回路300_79までハイレベルと検出される(残り段数78)。同様に、時間T3aの基本クロック信号CLK1で、フリップフロップ回路300_128〜フリップフロップ回路300_39までハイレベルと検出される(残り段数38)。更に遅延が伝搬し、残り段数38ディレイ分経過した時間T4aで、出力バッファ201からビームディテクト信号BDが出力される。その後、時間T5aの基本クロック信号CLK1で、フリップフロップ回路300_1までハイレベルと検出される。
この例では、フィードバックされるスキュー値は、全てのフリップフロップ回路300_128〜300_1がハイレベルになる直前に、スキュー検出部851が検出した値、すなわち、遅延段数38になる。また、この値は、スキュー検出部851が検出する値が0になる1つ前の基本クロック信号CLK1で検出された値でもある。更に、この値は、基本クロック信号CLK1で検出されたフリップフロップ回路300_nのn、或いは残り段数が、基本クロック信号CLK1あたりのディレイ段数未満(この例では40未満)になった値でもある。
その後、スキュー検出部851が検出する値が0になる時間T5aから基本クロック信号CLK1の1クロック分(遅延段数40)遅れた、時間T6aから、画素データに基づいたデータ出力が開始されるわけであるが、前記したように画素データの立ち上がりと立ち下がりエッジ位置は、それぞれスキュー値が加算されているため、時間T6aからスキュー値分(この例では38)遅れた時間T7aから、実質的にデータ出力が開始されることになる。また、スキュー値を検出しているときは、出力バッファ201から遅延したビームディテクト信号BDが出力されているため、時間T7aで画像信号が同じ出力バッファから出力されるまでに、全てのフリップフロップ回路100_1〜100_128をクリアして、EX−ORゲート200_1〜200_128の出力をローレベルにし、更にフリップフロップ回路300_1〜300_128もクリアしておく。
図13(b)の例では、ビームディテクト信号BDが基本クロック信号CLK1より20遅延段数分遅れている。時間T1bで、入力バッファ202を介して、ビームディテクト信号BDが最上流のEX−ORゲート200_128に入力される。その後、ビームディテクト信号BDは、下流に向けてEX−ORゲート200_nを遅延伝搬する。そのため、刻々と変化するEX−ORゲート200_nの出力を受けて、フリップフロップ回路300_nに入力される基本クロック信号CLK1の立ち上がりごとに、フリップフロップ回路300_nの出力がスキュー検出部851によって検出される。つまり、時間T2bで最初の検出が行われるが、その時、ビームディテクト信号BDは、既にEX−ORゲート200を上流から20遅延段数進んでいるため、フリップフロップ回路300_128〜フリップフロップ回路300_109までハイレベルが検出される(残り段数108)。図では単に108と数値で示す。
基本クロック信号CLK1の1周期あたりの遅延段数は40であるため、次の基本クロック信号CLK1で、フリップフロップ回路300_128〜フリップフロップ回路300_69までハイレベルと検出される(残り段数68)。同様に、時間T3bの基本クロック信号CLK1によって、フリップフロップ回路300_128〜フリップフロップ回路300_29までハイレベルと検出される(残り段数28)。更に遅延が伝搬し、残り段数28ディレイ分経過した時間T4bで、出力バッファ201からビームディテクト信号BDが出力される。その後、時間T5bの基本クロック信号CLK1で、フリップフロップ回路300_1までハイレベルと検出される。
この例では、フィードバックされるスキュー値は、全てのフリップフロップ回路300_128〜300_1がハイレベルになる直前に、スキュー検出部851が検出した値、すなわち、遅延段数28になる。また、この値は、スキュー検出部851が検出する値が0になる1つ前の基本クロック信号CLK1で検出された値でもある。更に、この値は、基本クロック信号CLK1で検出されたフリップフロップ回路300_nのn、或いは残り段数が、基本クロック信号CLK1あたりのディレイ段数未満(この例では40未満)になった値でもある。
その後、スキュー検出部851が検出する値が0になる時間T5bから基本クロック信号CLK1の1クロック分(遅延段数40)遅れた、時間T6bから、画素データに基づいたデータ出力が開始されるわけであるが、前記したように画素データの立ち上がりと立ち下がりエッジ位置は、それぞれスキュー値が加算されているため、時間T6bからスキュー値分(この例では28)遅れた時間T7bから、実質的にデータ出力が開始されることになる。また、スキュー値を検出しているときは、出力バッファ201から遅延したビームディテクト信号BDが出力されているため、時間T7bで画像信号が同じ出力バッファから出力されるまでに、全てのフリップフロップ100_1〜100_128をクリアして、EX−ORゲート200_1〜200_128をクリアし、更に、フリップフロップ回路300_1〜300_128もクリアしておく。
上記の説明から明らかなように、図13(a)、(b)の例とも、時間T4a或いはT4bのビームディテクト信号BDが出力バッファ201から出力される時点から、常に80遅延段数分遅れて、時間T7a或いはT7bのデータ出力開始が行われる。或いは、時間T1a又はT1bのビームディテクト信号BDの立ち上がりから、常に一定の遅延段数分経過してから、時間T4a又はT4bのパルス出力が行われる。そのため、前述したように、ビームディテクト信号BDから画像信号出力開始までの時間がスキャンラインごとに変動せず、画質劣化の少ない半導体レーザの制御を行うことができる。
上記LUT844からスキュー検出部851までの制御では、1基本クロック信号CLK1あたりのディレイ段数を40として説明したが、同じディレイチェーン回路849を使用していても、温度や電源の変動によっては、ディレイチェーン回路849の遅延速度が変化する場合も考えられる。その場合も、画素の濃度の変動やスキャンラインの開始タイミングのずれとなって影響が現れるが、ビームディテクト信号BDと基本クロック信号CLK1のずれのように、スキャンラインごとに発生するものではないため、画質に与える影響は大きくない。しかし、高速或いは高解像度の画像形成装置では、その影響が無視できなくなる。そのため、本実施例では、以下のような方法によって、動作環境の変動によって発生する1基本クロック信号CLK1あたりのディレイ段数、すなわち分割数nの補正を行う。
プリンタ1の制御において、プリントジョブごと、或いはプリントページごとに、遅延段数校正を行う。校正を行う場合、図5に示した切替回路850で、入力信号として、校正信号を選択する。選択された校正信号は、図7のEX−ORゲート300_128から下流に向かって遅延伝搬していく。スキュー検出部851の説明と同様に、基本クロックごとに、スキュー検出部851がフリップフロップ回路300_128〜300_1の状態を検出し、逐次基本クロック信号CLK1あたりの遅延段数(分割数n)を取得する。最後に、それらの平均を計算して、LUT844にフィードバックする分割数nとする。
実際には、図5に示すように、スキュー検出部851の出力側に出力切替回路29を設け、スキュー値を検出する場合は、スキュー調整部846へのフィードバックを有効とし、基本クロックあたりの遅延段数を検出する場合は、LUT844へのフィードバックを有効とする制御を行う。
これにより、動作環境の変動によって発生する1基本クロック信号CLK1あたりのディレイ段数を補正することができるので、動作環境の変動によるレーザ光の走査タイミングへの影響を低減することができる。