以下、添付図面に従って本発明にかかる実施形態を詳細に説明する。
図2は本実施形態における画像形成装置の構造断面図である。
図示のように、本実施形態では4ドラム方式のカラーレーザビームプリンタの構造を有する。
この画像形成装置は、図示の右側面下部に転写材カセット53を装着している。転写材カセット53にセットされた記録媒体(記録紙、透過シート等)は、給紙ローラ54によって一枚ずつ取り出され、搬送ローラ対55−a、55−bによって画像形成部に給送される。画像形成部には、記録媒体を搬送する転写搬送ベルト10が複数の回転ローラによって記録媒体搬送方向(図1では右から左方向)に扁平に張設され、その最上流部においては、記録媒体が搬送ベルト10に静電吸着される。またこのベルト搬送面に対向して4個のドラム状の像担持体としての感光体ドラム14−C、Y、M、Kが直線状に配設されて画像形成部を構成している(ここで、Cはシアン、Yはイエロー、Mはマゼンタ、Kはブラックの各色成分を示している)。
なお、各色成分毎の画像形成部は、搭載するトナーの色が異なるだけで、構造上の違いがないので、色成分Cについて説明する。
C色用の画像形成部は、感光ドラム14−Cの表面を一様に帯電させる帯電器50−C、C色トナーを収納し、感光ドラム14−C上に生成された静電潜像を顕像(現像)する現像器52−C、並びに、露光部51−Cを有する。現像ユニット52−Cと帯電器50−Cとの間には、所定の間隙が設けらている。帯電器50−Cによってその表面が均一に帯電した感光ドラム14−C上に、上記の間隙を介してレーザスキャナからなる露光部51−Cからのレーザ光を図面に垂直な方向に走査露光することで、走査露光した部分を非露光部分と異なる帯電状態、すなわち、静電潜像を生成する。現像器52−Cは上記の静電潜像にトナーを転移させて顕像化(トナー像化;現像)する。
転写搬送ベルト10の搬送面を挟んで転写部57−Cが配置されている。感光体ドラム14−Cの周面上に形成(現像)されたトナー象は、それらに対応する転写部57で形成される転写電界によって、搬送されてきた記録媒体上に電荷吸着されて、記録媒体面上に転写される。
上記処理を、他の色成分Y、M、Kについても同様に行なうことで、C,M,Y,Kの各色トナーが記録媒体に次々と転写されることになる。この後、定着器58により、記録媒体上の各色トナーを熱溶融して定着させ排紙ローラ対59−a、59−bによって機外に排出される。
なお、上記は記録媒体上に各色成分のトナー像を転写する例であった。しかし、転写搬送ベルト上に各色成分のトナー像を転写したと、その転写搬送ベルトに生成されたトナー像を記録媒体に再度転写する(二次転写)する構成でも構わない。この場合の転写ベルトを中間転写ベルトという。
図3は、像担持体である感光ドラム14−C(M,Y,Kでも良い)に走査される主走査線のずれを説明するイメージ図である。図示の水平方向が、レーザ光の走査方向を示し、垂直方向が感光ドラムの回転方向(記録媒体の搬送方向でもある)を示している。
図中の301が理想的な主走査線を示している。302は感光体ドラム14の位置精度や径のずれ、および各色の露光部51−Cにおける光学系の位置精度ずれに起因した右上がりの傾き、および湾曲が発生している実際の主走査線の例を示している。
このような主走査線の傾き、湾曲が、何れかの色の画像形成部において存在する場合、転写媒体に複数色のトナー像を一括転写した際に、色ずれが発生することになる。
本実施形態では、主走査方向(X方向)において、印字領域の走査開始位置となるポイントAを基準点として、複数のポイント(ポイントB、ポイントC、ポイントD)で、理想的な主走査線301と実際の主走査線302の副走査方向のずれ量を測定し、そのずれ量を測定したポイントごとに複数の領域(Pa-Pb間を領域1、Pb-Pc間を領域2、Pc-Pd間を領域3とする)に分割して考え、各ポイント間を結ぶ直線(Lab、Lbc、Lcd)により、各領域の主走査線の傾きを近似するものとする。従って、ポイント間のずれ量の差(領域1はm1、領域2はm2-m1、領域3はm3-m2)が正の値である場合、該当領域の主走査線は右上がりの傾きを有することを示しており、負の値である場合、右下がりの傾きを有することを示す。なお、実施形態では、領域の数を3つとしているが、これは便宜的なものであり、この数に限定されるものではない。
図4は、本実施形態において行われる上記走査線の傾き、湾曲により発生する色ずれを補正する色ずれ補正処理の動作を説明するためのブロック図である。
図中、401はプリンタエンジンで、コントローラ402で生成された画像ビットマップ情報をもとに実際に印字処理を行う。コントローラ402は基板に収容され、装置に収容した際に、プリンタエンジン401との電気的接続が行われる。
403C、M、Y、Kは色毎の露光プロファイル記憶部であり、装置製造段階で各色毎の画像形成部毎の上記ずれ量情報を書き込み、保持するものである。一例としては、EEPROM等の書き込み可能で不揮発性メモリで実現できよう。なお、図示では各色成分毎に露光プロファイル記憶部を設けるように示しているが、記憶する情報量は十分に少ないので1つのメモリ素子で全色成分の色ずれ量を記憶しても構わない。
本実施形態における露光プロファイル記憶部403C、M、Y、Kは、図3で説明した、複数のポイントで測定した実際の主走査線302と、理想的な主走査線301の副走査方向のずれ量を主走査線の傾き、および湾曲を示す情報として色ずれ量情報を記憶する。また、印刷プロファイル記憶部420は、プリンタエンジンにおける印刷に係る構成情報を記憶している。この印刷プロファイル記憶部420もまた、不揮発性の書き込み可能なメモリで構成されている。
説明を分かりやすくするため、以下では印刷プロファイル記憶部420を除いて説明し、その後で、この印刷プロファイル記憶部420を用いた補正処理について詳述することとする。
図5は、露光プロファイル記憶部403C(M、Y、Kも同様であるが、格納される情報は個体差によって異なる)に記憶される情報の例を示しており、L1乃至L3、及び、m1乃至m3は図3の同符号と同じ意味である。
なお本実施形態では、色ずれ量記憶手段に、理想的な主走査線と、実際の主走査線のずれ量を記憶するようにしているが、実際の主走査線の傾き、および湾曲の特性が識別可能な情報であれば、これに限ったものではない。また、露光プロファイル記憶部403C,M,Y,Kに記憶される情報は、先に説明したように、製造工程において、上記ずれ量を測定し、装置固有の情報として予め記憶するものである。但し、本装置自体に、上記ずれ量を検出する検出機構を準備して、各色の像担持体ごとにずれを測定するための所定のパターンを形成し、上記検出機構により検出したずれ量を記憶するような構成でも構わない。
コントローラ402は、露光プロファイル記憶部403C,M,Y,Kに記憶された主走査線のずれ量を相殺するように、各色成分毎の画像データを補正して印刷処理を行う。以下は実施形態におけるコントローラ402の説明である。
画像生成部404は、不図示の外部装置(例えばコンピュータ装置)等から受信する印刷データ(PDLデータ、イメージデータ等)より、印刷処理が可能なラスターイメージデータを生成し、RGBデータ(各8ビットの256階調)としてドット毎に出力する。この処理は、公知のものであるので詳述は省略する。
色変換部405は、このRGBデータを、プリンタエンジン402で処理可能なCMYK空間のデータ(各8ビット)に変換(LOG変換、UCR処理で実現する)し、後段の各記録色成分毎のビットマップメモリ406C,M,Y,Kに蓄積する。ビットマップメモリ406C(M、Y、Kも同様)は、印刷処理を行うラスターイメージデータを一旦蓄積するものであり、1ページ分のイメージデータを蓄積するページメモリを有する。但し、複数ライン分のデータを記憶するバンドメモリのいずれでも構わない。説明を単純なものとするため、ここでは1ページ分のC,M,Y,Kのビットマップデータを記憶する容量を有するものとして説明する。
色ずれ補正量演算部407C、M、Y、Kは、露光プロファイル記憶部403C,M,Y,Kに蓄積された主走査線のずれ量の情報に基づき、主走査方向の座標情報に応じた副走査方向の色ずれ補正量を算出して、その結果を色ずれ補正部408C、M、Y、Kにそれぞれ出力し、設定させる(ここでは、印刷プロファイル記憶部420は除外している点に注意されたい)。
主走査方向の座標データをx(ドット)、副走査方向色ずれ量をy(ドット)とした場合、図3を基にした各領域の演算式を以下に示すようなものとなる。なお、実施形態における記録解像度は600dpiとする。
領域1:y = x * (m1 / L1)
領域2:y = m1 * 23.622 + (x - L1 * 23.622) * ((m2 - m1)/(L2 - L1))
領域3:y = m2 * 23.622 + (x - L2 * 23.622) * ((m3 - m2)/(L3 - L2)) …(1)ここで、L1、L2、L3は、印刷開始位置から、領域1、領域2、領域3の右端までの主走査方向の距離(単位mm)である。m1、m2、m3は領域1、領域2、領域3の右端における理想的な主走査線301と、実際の主走査線302のずれ量である。
色ずれ補正部408C、M、Y、Kは、上記式(1)の主走査線の傾き、歪みによる色ずれを補正するために、それぞれ色ずれ量演算部407C、M、Y、Kによってドット毎に算出される色ずれ補正量に基づいて、ビットマップメモリ406に蓄積されたビットマップデータの出力タイミングの調整、および画素毎の露光量の調整を行い、各色のトナー像を、転写媒体に転写したときの色ずれ(レジストレーションずれ)を防ぐものである。
そして、色ずれ補正部408C、M、Y、Kは後段に位置するハーフトーン処理部409C、M、Y、K、または、例外処理部411C、M、Y、Kのいずれか一方に該当する処理を行なわせ、セレクタ412C、M、Y、Kに対して、処理した結果の選択するよう制御信号を発生する。選択されたデータは、PWM処理部410C、M、Y、Kに出力され、ここで公知のPパルス幅変調信号を生成し、各露光ユニット51−C、M、Y、Kにて走査露光が行われる。
色ずれ補正部408C、M、Y、Kは、夫々の補正量が異なるものの、構成そのものは同じであるので、ここでもC成分の色ずれ補正部408Cについて説明することとする。
図8は実施形態における色ずれ補正部408Cのブロック構成図である。
図示するように、実施形態における色ずれ補正部408Cは、座標カウンタ801、座標変換部802、ラインバッファ部803、エッジパターン記憶部805、エッジ検出部806、階調補正部807で構成される。
座標カウンタ801は、先に示した式(1)に基づき、色ずれ補正処理を行う主走査方向、および副走査方向の座標を生成するに必要な情報を座標変換部802に出力すると共に、副走査方向のずれの度合(後述するように小数点以下の値)を示す情報を階調補正部804に出力する。
座標変換部802は、座標カウンタ801からの主走査方向の座標位置データ(Xアドレス)、および副走査方向の座標位置データ(Yアドレス)を用いて、ビットマップメモリ406Cに対して読出しアクセスを行なう。この結果、読み出されたデータ(ここではC成分データ)はラインバッファ部803に出力される。
ラインバッファ部803には、図示のように、3つのラインバッファ803a,803b、803cで構成され、注目画素データ(座標変換して得られたデータ)を含む3×3のウインドウとしてエッジ検出部806に出力される。
エッジ検出部806は、入力した3×3のウインドウのデータと、エッジパターン記憶部805に記憶されたパターンと比較し、注目画素が文字線画等のエッジ部に属しているか否かを判定する。エッジ部にあると判定した場合には、階調補正行うため注目画素Pn(x)(nライン目の画像データを記憶しているラインバッファ803b)と、n+1ライン目の主走査方向が同じ座標位置の画素データPn+1(x)(ラインバッファ803a)とを階調補正部807に出力し、階調補正を行なわせ、その後、例外処理部409Cにて例外処理を行なわせる。
一方、文字線画のエッジではないと判断した場合、すなわち、注目画素が写真画像等の階調画像に属していると判定した場合には、階調補正はスキップして、ハーフトーン処理部にてハーフトーン処理を行なわせる。
このとき、エッジ検出部806でのエッジ検出したか否か、すなわち、エッジパターン記憶部802内に一致するパターンがあったか否かを示す信号をセレクタ412Cに出力し、一方を選択させる。
色ずれ補正部408Cの処理は上記の通りであるが、画像カウンタ801及び座標変換部802の具体的例を図23に示す。
先ず、前提として色ずれ補正量演算部407Cは、露光プロファイル記憶部403Cに記憶されたmm単位の距離L1、L2、L3に基づき、L1、L2、L3に相当する水平方向(理想とする走査方向)の画素位置L1’、L2’、L3’を算出する。また、色ずれ補正量演算部407cは、各領域のずれ量を結ぶ直線の傾きを算出する。ここで言う傾きとは画素単位の傾きであるのでΔyとして表現する。
図5の例の場合、傾きΔyは、
領域1:Δy1 = m1 / L1
領域2:Δy2 =(m2 - m1)/(L2 - L1)
領域3:Δy3 =(m3 - m2)/(L3 - L2)
となる。
図23におけるレジスタ82には、上記L1’、L2’、L3’を格納し、レジスタ84には各領域のΔy1,Δy2,Δy3(正負の符号付き)を格納する。
Xアドレス発生器81はレーザ光の1スキャン分の補正データを作成する際にリセットされ、画素クロックclkを加算していくことでビットマップメモリ406Cに対する水平方向の読出しアドレス、すなわち、Xアドレスを発生する。この結果、画素クロックclkが入力される度にXアドレスは0、1、2…と増加していくことになる。
コンパレータ83はXアドレス発生器83からのXアドレスの値と、レジスタL1’、L2’、L3’とをそれぞれ比較することで、現在のXアドレスが図3の領域1、2、3のいずれの範囲にあるかを判定し、その結果を出力する。3つの状態が取り得るわけであるから、出力信号が2ビットで十分である。
セレクタ85は、上記コンパレータからの信号に従って、レジスタ84に格納されている傾きΔy1,Δy2,Δy3の中の1つを選択し、出力する。要するに、現在のXアドレスが領域1の範囲(X≦L1’)にある場合には、Δy1を選択し、出力することになる。また、L1<X≦L2’の場合にはΔy2を選択出力し、L2’<Xの場合にはΔy1を選択出力することになる。
カウンタ86は、1スキャンに先立ってリセットされ、カウンタ86から出力される傾きΔyを内部のレジスタ86aに累積加算し、その値を保持する。傾きΔyは小数点を含むので、このレジスタ86aも適度のビット数を持つことになる。また、カウンタ86は、自身が保持するレジスタ86の整数部分をYアドレス発生器87に出力し、小数点以下の値を階調補正部807に出力する。
Yアドレス発生器87は、1スキャンに先立って、ビットマップメモリ406Cにおける基準Yアドレスが設定され、その基準Yアドレスとカウンタ86からの整数値とを加算し、その結果をビットマップメモリ406Cに対する読出しYアドレスとして発生する。
以上の結果、先に示した式(1)での整数のX、Yアドレスを生成し、該当する位置のC成分のデータをラインバッファ部803に読込むことが可能になる。
ここで、より具体的な例を説明することととする。今、基準Yアドレスが“100”であるとする。つまり、100回めのスキャンを行なうためのデータを生成する場合である。そして、カウンタ86内のレジスタ86aに格納されている値が“0.1”であるとする。
このとき、理想的にはビットマップメモリ406CのY座標が“100.1”の位置にある画素データを読込めば良いが、ビットマップメモリ406Cの画素位置は整数で表わされるので、Y座標“100.1”というのは存在しない。座標“100.1”を見方を変えると、アドレス“100”と“101”との間にあり、求める画素値(階調補正後の画素値)の90%はアドレス“100”の画素値の影響を受け、残りの10%がアドレス“101”の画素値の影響を受けていると考えて良い。つまり、小数点で示される値に依存した重み付け係数で階調補正後の値を算出すれば良いことになる。式で示すと、次の通りである。
Hx,y=Cx,y * β + Cx,y+1 * α (2)
ここでカウンタ86から出力される小数点部分の値をγで表わしたとき、
β=1−γ
α=γ
の関係にある。
上記処理を行なっているのが、図8の階調補正部807である。この階調補正部807はカウンタ86から出力される小数点以下の値γを入力する。また、この階調補正部807は、注目ラインのデータを記憶しているラインバッファ803bから出力される注目画素のC成分データPn(x)と、主走査方向が同じで、n+1ライン目のラインバッファ803aに格納されているC成分データPn+1(x)データと入力する。そして、値γで決定される補正係数α、βを求め、先に示した重み付け平均値を算出し、それを階調補正後のデータHx,yとして出力する。
なお、注目画素が文字線画のエッジにない場合には、上記階調補正は行なわず、注目しているC成分データPn(x)をそのままハーフトーン処理部411Cに出力する。
ここで注意したい点は、実施形態の場合、毎スキャンする度に、基準となるYアドレスは“1”だけ増加していくものの、その基準Yアドレスに対する色ずれ補正量、すなわち、オフセット量は同じになる点である。従って、座標カウンタ801(カウンタ86)からの小数点は、主走査方向の座標が同じであれば、毎回同じになる。従って、座標カウンタ801が着目しているライン位置が、階調補間する注目画素が存在するライン位置と異なっていても問題は発生しない。
実施形態における色ずれ補正部408Cの構成と動作は上記の通りであるが、図6を参照して更に詳しく説明する。
図示において符号60が露光プロファイル記憶部403Cに記憶された情報に基づいてプロットした色ずれ曲線を示している。領域1の傾きはΔy1、領域2の傾きはΔy2である。
また、符号61はビットマップメモリ406Cにおけるデータ格納状況を示し、同図の符号62は出力される1スキャン分の階調補正データを示している。また、符号63は画素単位での色ずれ補正をおこなった画像データを像担持体に露光したの露光イメージである。また、ビットマップメモリ406Cの副走査の正方向は、符号61で示すように図面に対して下方向であることを示している。
図示のように、Xアドレスが更新されていく最中、Δy1が順次累積加算されていくが、アドレスXa以前では整数桁に桁上がりが発生しないので、Yアドレスはnライン目のままである。
そしてアドレスXaになったところで、整数桁への桁上がりが発生し、Yアドレスがn+1ライン目を指し示すように更新されることを示している。
この整数桁上がりが発生するのは、図示の場合XアドレスがXb、Xc、Xd…の時になる。ここで注意したい点は、桁上がり発生する周期は領域1内と領域2内とは異なる点である。理由はそれぞれの領域での傾きが異なることに起因する。
図7は、実施形態における階調補正部804がおこなう画素単位未満の色ずれ補正、つまり色ずれの補正傾き△yの小数点以下のずれ量を補正する動作内容を説明するためのイメージ図である。小数点以下のずれ量の補正は、副走査方向の前後のドットの露光比率を調整することによりおこなわれる。
図7(a)は、右上がりの傾きを有する主走査線のイメージである。図7(b)は階調補正前の水平な直線のビットマップイメージであり、図7(c)は同図(a)の主走査線の傾きによる色ずれを相殺するための補正イメージである。図7(c)の補正イメージの生成を実現するために、副走査方向の前後のドットの露光量調整をおこなう。図7(d)は色ずれの補正傾き△yと階調補正をおこなうための補正係数の関係を表した表である。kは色ずれ補正量△yの整数部分(小数点以下を切り捨て)であり、画素単位での副走査方向の補正量を表す。βとαは、画素単位未満の副走査方向の補正をおこなうための補正係数で、その関係は先に示した式(2)の通りである。すなわち、αは先行するドット(図8のラインバッファ803aから出力されるデータに対する分配率、βはラインバッファ803bから出力される注目ドットの分配率を表す。
図7(d)は、同図(e)の補正係数に従って、副走査方向の前後のドットの露光比率を調整するための階調補正をおこなったビットマップイメージである。図7(e)は、階調補正されたビットマップイメージの像担持体での露光イメージであり、主走査ラインの傾きが相殺され、水平な直線が形成されることになる。
以上実施形態における色ずれ補正部408C及び階調補正部807について説明したが、他の色成分M、Y、Kの色ずれ補正部408M、Y、Kについても同様に行なうことで、記録色間の色ずれが最大でも1画素分未満に設定することができることになる。
また、階調補正部807で階調補正を行なう対象は、文字線画等のエッジ部にあると判定された場合である。
次に、実施形態における例外処理部409C、M、Y、K及びハーフトーン処理部411C、M、Y、Kについて説明する。
先ず、入力画像に対してハーフトーン処理→色ずれ補正の順で処理を行った場合と、入力画像に対して色ずれ補正→ハーフトーン処理の順で行った場合について考察する。
図9は、入力画像に対してハーフトーン処理→色ずれ補正の順で処理を行った場合の一例である。図示の符号900は濃度50%の一定濃度の入力画像である。この画像に対して4×4のハーフトーンパターンを用いてハーフトーン処理した場合、画像901が得られる。この画像901が求める画像であり、色ずれ補正を行った後でも、この画像と同等の画像が得られれば、画像劣化がなく色ずれ補正が実現できたと言える。ここで、該ハーフトーン処理後の画像901に対して、上方向(垂直方向)に1/2画素色ずれ補正を行った場合に得られるのが画像902である。図からわかるように、該ハーフトーン処理後の画像に色ずれ補正を行うことにより、ハーフトーン処理による中間階調画像の網点の再現性劣化が生じている。
これに対し、図10は入力画像に対して色ずれ補正→ハーフトーン処理の順で処理を行った場合の一例である。図示の符号100が入力画像であり、前述した画像900と同様に、一定濃度(50%)の画像である。この入力画像100に対して、上方向(垂直方向)に1/2画素色ずれ補正を行った場合に得られるのが画像101である。色ずれ補正を行うことにより、上下1ライン部分に25%の濃度の画像が生じる結果となる。この色ずれ補正後の画像に対してハーフトーン処理を行った結果が、画像102である。画像102において上端及び下端の1ライン分に濃度25%の画像が生じたために、上下1ラインにおいては、画像100と異なる画像となっているが、その他の部分に関しては画像901と同様の画像が得られており、画像920に見られたような中間階調画像の網点の劣化も見られていない。
つまり、画像900や画像100のように、エッジのない画像の場合には、色ずれ補正を行なった画像に対してハーフトーン処理することで、画像の劣化を抑制することが可能になると言える。
一方、文字や線画等、回りの濃度に対して急峻に変化する画像エッジ部の場合、図11に示すように、ハーフトーン処理によりエッジ部がハーフトーンパターンに従って形成されるため、階調補正が無効化されてしまい、露光による生成される画像は図11の符号1100のようにエッジ部において隙間や不連続性が生じる。この結果、文字線画等の画像エッジ部ではジャギーが発生することになる。
これを防ぐためには、文字線画等の画像エッジ部については、色ずれ補正後の画像に対して例外処理を行うようにした。
例外処理部409C(M、Y、Kも同様)では、エッジ検出部806によりエッジであると検出された画像に対して、通常のハーフトーン処理とは異なる例外処理を行う。
例外処理としては、次の3通りである。
・ハーフトーン処理を行なわない(スルー)。エッジ検出部806によりエッジであると検出された画像に対してはハーフトーン処理を行わないことにより、エッジ部において生じるハーフトーン処理による隙間や不連続性を防ぐことが可能である。
・エッジ部用のハーフトーンパターンを使用してハーフトーン処理を行う。図11に示すようにエッジ部において通常のハーフトーンパターンを使用した場合にはハーフトーンパターンの成長方向により隙間や不連続性が生じるため、エッジ部に関しては、通常とは成長方向が異なるハーフトーンパターンを使用することにより、通常のハーフトーンパターンを使用した場合に生じる隙間や不連続性を防ぐことが可能である。
・通常のハーフトーン処理後にドットを補ったりするなどの処理を行う。通常のハーフトーン処理を行った後に、ハーフトーン処理により生じる隙間や不連続性を補うために隙間や不連続部にドットを補うことにより、通常のハーフトーン処理により生じる隙間や不連続性を補うことが可能である。
対して、非エッジ部の画像に対しては、ハーフトーン処理手段411C(M,Y,K)にて通常のハーフトーン処理を行う。
一連の処理フローは図12に示す様にすれば良いであろう。
先ず、ステップS121にて、座標変換部802を用いて座標変換をして、1ライン以上の色ずれに対する補正を行う。
そして、ステップS122にて、座標変換部802にて得られた変換後のデータをラインバッファ部803に格納する。
そしてステップS123にて、エッジ検出部806により、文字線画等のエッジ部分を検出する。エッジであった場合は、ステップS124に進み、非エッジである場合にはステップS125に進む。
ステップS124では、エッジ部分の画像に対して階調補正部807により階調補正を行い、1画素未満の色ずれ補正を行う。そして、ステップS126の例外処理を行なう。すなわち、通常とは異なるハーフトーンパターンによるハーフトーン処理、ハーフトーン処理によって生じた不連続部や隙間にドットを追加するなどの例外処理行う。
一方、非エッジであると判断した場合には、ステップS125にてハーフトーン処理を行う。
以上の例外処理部409C、ハーフトーン処理部411Cにおけるのいずれか一方から得られた画像データに基づいてパルス幅変調されて2値のレーザ駆動信号に変換され、その後、露光ユニットに供給され、露光ユニットから露光される。そして、かかる処理と同様の処理を他の色成分M,Y,Kにも同様に行なうことになる。
また、上記実施形態では、色ずれ補正部408C(他の色成分も同様である)の構成として図8並びに図11を例にして説明した。図11の構成の場合、カウンタ86内のレジスタ86aにΔyを順に累積加算することで、Yアドレスのオフセット(ずれ)量を求めたが、レジスタ86aの小数点以下の演算精度(ビット数)は高いほど都合が良い。換言すれば、レジスタ86aのビット数が少ないと、Δyを累積加算していくと次第に丸め誤差が発生し、そのレジスタの値が図6の傾きΔy1、Δy2の軌跡上からはずれる可能性がある。
従って、ビットマップメモリ406Cから読込むためのXアドレスが更新される度に、式(1)に従ってその都度演算するようにしても構わない。累積加算による丸め誤差は発生しないので、正しい軌跡で示される位置の画素データを読み出すことが可能になる。
以上、露光プロファイル記憶部403C、M、Y、Kに基づく色ずれ補正について説明したが、次に、印刷プロファイル記憶部420に記憶された情報を加味して行なう補正処理について説明する。
図13に、露光プロファイル記憶部に格納されや露光プロファイルと、印刷プロファイル記憶部420に格納された印刷プロファイルとの関係を示している。
ここで、レーザビームの走査露光方向、並びに、走査露光ビーム数(図示では各画像形成部での生成されるビーム数は4であることを示している)での傾き量について図14を用いて考察する。
図14(a)は1走査で1ドットラインを記録し、M(マゼンタ)成分とC(シアン)成分の走査方向が逆の場合の例であり、同図(b)は1走査で2ドットライン(レーザ素子、ポリゴンミラーが2組)、同図(c)は1走査で4ドットラインの場合の例である。
図14(a)の例を説明すると、画像の書き始め位置は、マゼンタ4m、シアン4cであるが走査方向が逆であるため、主走査画像領域走査完了時の各ドットの位置は、4m’、4c’となる。この位置関係による傾きは、1走査でビームの移動する距離(露光範囲)をLmax、ドット間の距離をmdotとすると、
mdot/Lmax
となる。
以下、同図(b)、(c)のドット位置関係からそれぞれの傾きは、
2ビーム:2*mdot/Lmax
4ビーム:4*mdot/Lmax
となり、1走査で使用されるビーム数をnとすると、傾きは、
n*mdot/Lmax
となる。また、図2におけるずれ方向を正とすると、Forward時の符号は負、Reverse時の符号は正として傾きの計数を付加して、演算を行う。
次に、印刷の速度が異なる時の例を図15に示し説明する。
同図(a)は通常速度であり、同図(b)は1/2倍速、同図(c)は2倍速の例を示している。
図15(b)に示すように、1/2倍速(感光ドラムの回転速度が通常の1/2倍速)のときは、主走査2回のうち1回分の主走査で画像出力を行うため、傾きは前記ビームの数により求めた傾き係数を1/2にして演算を行う。
また、図15(c)のように、2倍速の時は、1回の主走査で感光体が2走査分移動するため、傾きは前記ビーム数の数により求めた傾き係数を2倍にして演算を行う。
すなわち、印刷の速度をk倍とすると、ビーム数・印刷速度から得られる傾きは
k*n*mdot/Lmax
となる。
従って、露光プロファイルと印刷プロファイルを含めた、全領域での基準となるY座標からの副走査方向の変位yは、走査方向がForwardの場合、
y = -x*k*n*mdot/Lmax + x*(m1/L1) (0≦x<L)
= -x*k*n*mdot/Lmax + m1/Ldot+(x−L/Ldot)*(m2/L) (L≦x<2L)
= -x*k*n*mdot/Lmax + (m1+m2) /Ldot +(x−2L/Ldot)*(m3/L) (2L≦x≦3L)
となる。なお、ここでは、図2のL2=2*L1、L3=3*L1として計算している。
また、走査方向がReverseの場合
y = x*k*n*mdot/Lmax + x*(m1/L) (0≦x<L)
= x*k*n*mdot/Lmax +m1/Ldot +(x−L/Ldot)*(m2/L) (L≦x<2L)
= x*k*n*mdot/Lmax +(m1+m2) /Ldot +(x−2L/Ldot)*(m3/L) (2L≦x≦3L)
となる。
印刷処理は、紙のサイズにより、その露光開始位置が異なる。すなわち、Xアドレスのオフセット位置を変える必要がある。このため、画像の副走査方向の座標変換処理に使用するyは、オフセット位置におけるyobjからはじまる。オフセットの位置での垂直方向の補正量は、上記yを求める式で算出できる。
従って、図23の構成を採用するなら、各画像形成部における露光方向が上記forward或いはreverseであるか否かに応じて、各領域の位置を図23に示すレジスタ82にセットし、且つ、露光プロファイルと印刷プロファイルに基づく合成傾きをレジスタ84にセットすれば良いであろう。
<第2の実施形態>
図23の構成を採用する場合には、Xアドレスが更新される度に、小数点を含むΔyを累積カウントする必要があるが、一旦、1ページの走査露光を開始すると、各スキャン毎にx座標が同じであれば、Y軸へのオフセット量(整数部分、小数点部分)は同じになるので、予めX、Y軸オフセットアドレスと、重み付け係数を演算により求めておき、これをテーブルにして格納し、実際にスキャンする際には、このテーブルを参照して座標変換、階調補正のための重み付け係数を読出して処理することも可能である。
かかる処理を実現する場合の座標カウンタ801の構成を図16に示し、その構成に関する処理のフローを図17に示す。
既に説明したように、この演算処理は、エンジンの状態(印刷モードを含む)で一度決定すればよく、図示はしない本画像処理装置ないのCPUで前記演算を実施し、この結果を補正演算テーブル623に記憶させる。この書き込み処理は、本画像処理装置の起動時に行うか、印刷の速度を変更するときに行う。選択器622は、図示はしないCPUが補正演算テーブル623へのアクセスが必要なときに、テーブル参照アドレス65をテーブルアドレス64として補正演算テーブル623に供給する。CPUがアクセスを実施しないときは、加算器621からの座標アドレスをテーブルアドレス64とする。このとき、オフセット値を記憶するレジスタ620には、記録媒体サイズ、向きに応じたオフセット(図13のO1、O2、O3等)をセットすることになる。
印刷処理が開始されるときには、対象となる紙のサイズ・方向が決定しているので、図示はしないCPUからXアドレスのオフセットを、オフセット値レジスタ620にオフセットデータ610を書き込むことで設定する。
上記構成において、CPUは、補正テーブル623にXアドレスのオフセットから、順に、傾きΔyの加算した結果の整数部分と、小数点以下で決定される重み付け係数α、βを書き込みを行なう。以下は、傾きΔy=+0.2であるものとしている。
書き込みアドレス:0 1 2 3 4 5 6 7 8 …
Yアドレスオフセット:0 0 0 0 0 1 1 1 1 …
重み付け係数α :0.0 0.2 0.4 0.6 0.8 0.0 0.2 0.4 0.6 …
重み付け係数β :1.0 0.8 0.6 0.4 0.2 1.0 0.8 0.6 0.4 …
座標カウンタ801は、Xアドレスに従って、対応するYアドレスオフセット値を座標変換部802に供給する。また、同時に、座標カウンタ801は、上記α、βの値を階調補正部807に出力する。この結果、座標変換部802は、小数点を含む加算処理が不要になり、且つ、階調補正部807もα、βを算出する処理が無くなる分だけ、負荷を軽減することが可能になる。
上記処理を実現する場合の、実施形態における処理は図17のフローチャートに従って処理すれば良いであろう。ここでも、C成分について説明するが、他の成分でも同様である。
ステップS1701では、露光プロファイルを露光プロファイル記憶部403C、M、Y、Kより読込む。ついて、ステップS1702にて、印刷プロファイルを印刷プロファイル記憶部420より読込む。
この後、ステップS1703に進んで、印刷モード(記録紙のサイズや搬送方向、印刷速度等)を加味して、これらプロファイルに基づく補正データ(Xアドレスのオフセット値、Yアドレスオフセット値、重み付け係数α、βを算出する。そして、ステップS1704にて、算出したこれらのデータを補正テーブル623の該当するアドレス位置に書き込む。
ステップS1705では印刷モードが変更されたか否かを判定する。印刷モードの変更があったと判断した場合には、ステップS1703以降の処理を再度実行する。すなわち、補正テーブル623を更新することになる。
そして、ステップS1706では印刷が開始されたことを検出すると、ステップS1707に進んで補正テーブル623からオフセット値を読込み、ステップS1708にて座標データを決定し、ステップS1709にて該当する座標位置のデータを、ビットマップメモリ406Cより読出し、ステップS1710にて補正処理(補間処理、例外処理)を行なう。そして、ステップS1711にて、印刷終了と判断するまでステップS1708以降の処理を繰り返すことになる。
上記処理における、ステップS1703の補正演算処理及びステップS1704の書き込み処理は、図18に示す処理を行なえばよい。以下、同図に従って説明する。
先ず、ステップS1801、1802にて、露光プロファイル、印刷プロファイルを読込む。次いで、ステップS1803にて、Xアドレスを示す変数xを“0”に初期化する。
この後、ステップS1804にて、変数xにおけるYアドレスのオフセット値、並びに、重み付け係数α、βを算出する。そして、ステップS1805にて、算出されたデータを補正テーブル623に書き込む。この後、ステップS1806にて、Yアドレスのオフセット値が、最大オフセットを保持する変数ymax(初期状態では0にリセットされる)を超えたか否かを判断する。ymaxを超えたと判断した場合には、その際のYアドレスのオフセット値でymaxを更新する(ステップS1807)。
ステップS1808では、オフセットの演算が終了したか否かを、その際の変数xが1ラインの終端座標xendと比較することで判定する。否の場合には、ステップS1809にて、変数xを“1”だけ増分し、ステップS1804以降の処理を繰り返すことになる。
また、1ライン分の演算が終了したと判断した場合には、ステップS1810に進んで、最終的なY軸のオフセット値ymaxが“1”を超えたか否かを判断し、否の場合には補正する必要がないので、補正テーブル623には全て0を書き込む。
<第3の実施形態>
色変換部405から該当する印刷情報が単色、すなわち、1つの画像形成部のみを利用して印刷であることが指示された場合には、色ずれが発生することはない。従って、このような状況では、各プロファイルは無視して、補正テーブルには無条件に“0”を書き込むようにしても良い。
また、色ずれ量補正の実施を判別するために、別途色ずれ演算量処理部内にymaxの最大値を評価する値を設定しておき、ymaxがこの評価用の値よりも大きいときには、単色での印刷であっても色ずれ補正を実施する。
図19は、これを実現するための、図16に代わるブロック構成図である。
図中、91乃至98の信号、及び、920乃至923は、図16における信号61乃至68及び620乃至623と同じである。また、異なる点は、ymaxを検出する最大値検出部928、色ずれ補正するか否かの境界値を記憶するレジスタ926、判定部927、及び、選択器925を設けた点である。
つまり、判定部927は、単色モードであって、尚且つ、最大値検出部928からのデータがレジスタ926のデータ以下の場合には、選択器925に無条件に“0”を出力させ、いろずれ補正をしないように制御する。これ以外の条件では、補正テーブル923からのデータを選択するように制御する。
<第4の実施形態>
上記実施形態では、露光プロファイル情報は、工場製造段階で露光プロファイル記憶部403C、M、Y、Kに書き込むものとして説明したが、機械的動作部品等を多数搭載しているので、計時変化により、工場出荷時と異なっていくことも有り得る。
そこで、本第4の実施形態では、露光プロファイル記憶部403に対して、コントローラ402側から書換え更新する例を説明する。書換えのためには、露光プロファイル記憶部403に対する書き込み用の回路を備えるものとするが、その回路は公知のものであるので、ここでは、露光プロファイルを更新するために、露光ユニットの色ずれ量を検出することが必要になる。
そこで、本第4の実施形態では、図20に示すように、感光ドラムの全露光域を領域(通常の印刷では利用しない領域で、その長さ(ドット数)をLpatという)上に、1ドットラインのパターンで露光し、それを記録紙に転写し、その後で、左右の末端の座標位置を検出する。このとき、正常な感光ドラムであれば、1ドットラインの左右端のパターン2008、2009を検出するタイミングは、ちょうど印刷プロファイルに応じた分だけ異なる。すなわち、正常なら、k*m/Lpatだけずれたタイミングで検出される。
従って、実際に検出されたずれ量から、上記「k*m/Lpat」を減算した結果が、現時点での露光プログラムアイルの左端、右端のずれ量となる。実施形態では、図3に示すように両端を含めると4点の位置におけるずれ量を求めているので、中央の2点については両端点と同じ比率で、工場出荷時のずれ量となっているものとして再設定(上書き)する。
以上の結果、露光プロファイルを更新することで、計時変化に対応して、色ずれの発生を抑制することが可能になる。なお、露光プロファイルの更新は、不図示の操作パネルからの指示があった場合に実行されるものである。
<第5の実施形態>
本第5の実施形態における、先に説明した図16に代わるブロック構成図を図21に示す。
印刷プロファイルデータ分は固定の係数であるため、その情報を印刷別項での処理を行う構成である。この構成であれば、起動時に露光プロファイルを一度設定し、内部の状態によるプリントプロファイルの値を変更するのみで、前記目的の処理を達成することができる。なお、図中、符号1101乃至1108は、図16における信号61乃至68と同じであり、各構成要素の符号1120乃至1123は、図16の620乃至623と同じである。また、図16に対して、加算器1125、掛算器1127、印刷プロファイル係数を保持するレジスタ1126が追加された点が異なる。
この例における処理フローを図22に示す。ここでも、C成分について説明するが、他の成分でも同様である。
ステップS2201では、露光プロファイルを露光プロファイル記憶部403Cより読込む。ついて、ステップS2202にて、露光プロファイルに基づく色ずれ補正量を演算し、ステップS2203にて、一時記憶用の露光プロファイルテーブル1123に演算結果を書き込む。
この後、ステップS2204に進んで、印刷プロファイルを印刷プロファイル記憶部420より取得し、印刷モード(記録紙のサイズや搬送方向、印刷速度等)を加味した印刷プロファイルを作成する。そして、ステップS2205にて、その作成した印刷プロファイルをレジスタ1126に一時的な印刷プロファイル係数として格納する。
ステップS2206では印刷モードが変更されたか否かを判定する。印刷モードの変更があったと判断した場合には、ステップS2204以降を行なう。すなわち、更新するのは、レジスタ1126のみということになる。
そして、ステップS2207で印刷が開始されたことを検出すると、ステップS2208に進んでテーブル1123からオフセット値を読込み、ステップS2209にて座標データを決定し、ステップS2210て該当する座標位置のデータを、ビットマップメモリ406Cより読出し、ステップS2211にて補正処理(補間処理、例外処理)を行なう。そして、ステップS2212にて、印刷終了と判断するまでステップS2209以降の処理を繰り返すことになる。
以上本発明に係る各実施形態を説明したが、図4に係る構成は、ソフトウェア(ファームウェア)でもって実現しても良い。この場合には、同図に従って画像データが流れるような処理を実現すれば良いし、上記実施形態の記載からすれば当業者は容易に実施できるであろう。