以下に添付図面を参照して、この発明にかかる画像形成装置、画像形成方法およびプログラムの最良な実施の形態を詳細に説明する。以下の実施の形態では、本発明の画像形成装置をカラー複写機に適用した例を示す。但し、カラー複写機に限られず、ファクシミリ、スキャナ機能やコピー、ファックス、プリンタなどの複数の機能を一つの筐体に収納した複合機等の画像処理を行うものであれば、本発明を適用することができる。
(実施の形態1)
まず、本実施の形態のカラー複写機の作像原理について図1を参照して説明する。図1は、カラー複写機の作像原理を説明するための画像プロセス部、露光部および転写ベルトの正面図である。カラー複写機は、電子写真方式の画像形成による転写紙上への画像を形成する装置である。
このカラー複写機は、各々異なる色(Y,M,C,K)の画像を形成する画像プロセス部1の内部の4個の作像ユニット1Y,1M,1C,1Kが、転写媒体としての転写紙2を搬送する転写ベルト3に沿って一列に配置されたタンデム型となっている。転写ベルト3は、駆動回転する駆動ローラ4と従動回転する従動ローラ5との間に架設されており、駆動ローラ4の回転によって、図中矢印の方向に回転駆動される。転写ベルト3の下部には、転写紙2が収納された給紙トレイ6が備えられる。この給紙トレイ6に収納された転写紙2のうち最上位置にある転写紙2が、画像形成時に転写ベルト3に向けて給紙され、静電吸着によって転写ベルト3上に吸着される。吸着された転写紙2は、作像ユニット1Yに搬送され、ここで最初にY色の画像形成が行われる。
作像ユニット1Y,1M,1C,1Kは、それぞれ感光体ドラム7Y,7M,7C,7Kと、感光体ドラム7Y,7M,7C,7Kの周囲に配置された帯電器8Y,8M,8C,8Kと、現像器10Y,10M,10C,10Kと、感光体クリーナ11Y,11M,11C,11Kと、転写器12Y,12M,12C,12Kと、を備える。
作像ユニット1Yの感光体ドラム7Yの表面は、帯電器8Yで一様に帯電された後、露光部9によりY色の画像に対応したレーザ光LYで露光され、静電潜像が形成される。形成された静電潜像は、現像器10Yで現像され、感光体ドラム7Y上にトナー像が形成される。このトナー像は、感光体ドラム7Yと転写ベルト3上の転写紙2とが接する位置(転写位置)で、転写器12Yによって転写紙2に転写され、これによって、転写紙2上に単色(Y色)の画像が形成される。転写が終わった感光体ドラム7Yでは、ドラム表面に残った不要なトナーが感光体クリーナ11Yによってクリーニングされ、つぎの画像形成に備えることとなる。
このように、作像ユニット1Yで単色(Y色)が転写された転写紙2は、転写ベルト3によって作像ユニット1Mに搬送される。ここでも同様に、感光体ドラム7M上に形成されたM色のトナー像が転写紙2上に重ねて転写される。転写紙2は、その後さらに作像ユニット1Cと作像ユニット1Kとに順に搬送され、同様に、形成されたC色とK色のトナー像が転写紙2に転写され、これによって転写紙2上にカラー画像が形成されてゆく。
そして、作像ユニット1Kを通過してカラー画像が形成された転写紙2は、転写ベルト3から剥離され、定着器13で定着された後、排紙される。
タンデム方式のカラー複写機においては、その構成上、各色間の位置合わせが重要である。各色間の色ずれには、主走査方向(感光体ドラム7K,7M,7C,7Yの回転軸に平行な方向)のレジストレーションずれ、副走査方向(感光体ドラム7K,7M,7C,7Yの回転軸に垂直な方向)のレジストレーションずれ、主走査倍率ずれ、スキューずれなどがある。そこで、このカラー複写機では、転写紙2に対して実際のカラー画像形成動作を行うに先立ち、補正パターンを用いた各色間の位置ずれ補正を行うことにしている。
図2は、補正パターンが形成された状態を示す転写ベルトの斜視図である。このカラー複写機では、位置ずれ補正のため、転写ベルト3上に各色の色ずれ補正用の補正パターン14を各作像ユニット1Y,1M,1C,1Kで形成し、この補正パターン14を複数の検知用の検知センサ15,16で検出する。この図2の例では、複数の検知センサ15,16を転写ベルト3における主走査方向の両端に配置し、転写ベルト3には、各々の検知センサ15,16の配置位置に対応して補正パターン14が形成されている。このような補正パターン14は、転写ベルト3が同図に示す搬送方向に転動移動し、検知センサ15,16を順に通過することによって検出される。この補正パターン14を検出すると、その検出結果から、種々のずれ量(主走査倍率ずれ量、主走査レジストレーションずれ量、副走査レジストレーションずれ量、スキューずれ量、歪み量)を算出するための演算処理が行われ、その色ずれ量から各ずれ成分の補正量が算出される。
つぎに、カラー複写機の制御動作に関連するブロックとその動作について説明する。図3は、カラー複写機の書込み制御と位置ずれ補正を行う機構の構成の一例を示すブロック図である。このカラー複写機で位置ずれ補正処理を行う処理部は、検知センサ15,16、プリンタコントローラ111、スキャナコントローラ112、エンジン制御部113、およびK,M,C,Y各色のLD(Laser Diode)制御部114K,114M,114C,114Yである。
検知センサ15,16は、各色の画像の位置ずれを算出するために、転写ベルト3に転写された補正パターン14を検知するためのものである。検知センサ15,16は、補正パターン14の位置を検出してアナログの検知信号をエンジン制御部113に出力する。
プリンタコントローラ111は、外部装置(たとえばパーソナルコンピュータ(以下、PCという))からネットワークを介して送信された画像データを受信するためのものである。プリンタコントローラ111は、受信した画像データを画像処理部124へ転送する。
スキャナコントローラ112は、図示しないスキャンで読み取った原稿画像を取得するためのものである。スキャナコントローラ112は、取得した画像データを画像処理部124へ転送する。
エンジン制御部113は、大別して、パターン検知部121と、CPU(Central Processing Unit)122と、RAM(Random Access Memory)123と、画像処理部124と、書込み制御部125と、を有する。
パターン検知部121は、検知センサ15,16から出力された検知信号を増幅し、増幅されたアナログの検知信号をデジタルデータへ変換し、変換したデジタルデータをRAM123に格納する。
CPU122は、RAM123に格納された補正パターン14の位置の検知信号であるデジタルデータから色ずれ量を算出し、算出した色ずれ量から色ずれを補正するための色ずれ補正量を算出する。ここで、色ずれ量としては、各色の歪み量、主走査方向の倍率誤差量、主走査方向レジストレーションずれ量および副走査方向レジストレーションずれ量(以下、主/副レジストずれ量という)、スキューずれ量などがある。また、色ずれ補正量としては、これらの各種ずれ量から、各色の歪み補正量、主走査倍率補正量、主走査方向レジストレーション補正量および副走査方向レジストレーション補正量(以下、主/副レジスト補正量という)、スキュー補正量などがある。
また、CPU122は、画像データの解像度、および算出した各色(Y,M,C,K)の歪み量に基づいて、K色を基準色とする場合のY色、M色、およびC色の歪みライン量を算出し、これらの基準色に対する各色の歪みライン量に基づいて、ラインメモリのライン数を決定する。なお、基準色とは、各色の歪み量を算出する際の基準位置となる色をいい、この例ではK色を基準色としている。
RAM123は、パターン検知部121からCPU122を介して取得した補正パターン14のデジタルデータを一時的に記憶するためのものである。なお、このRAM123を不揮発性メモリに代替し、不揮発性メモリに補正パターン14のデジタルデータを記憶する構成としてもよい。
画像処理部124は、プリンタコントローラ111によって受信した各画像データ、またはスキャナコントローラ112から取得した各画像データに応じた種々の画像処理を施す。また、画像処理部124は、書込み制御部125から送信された各色の副走査タイミング信号(K,M,C,Y)_FSYNC_Nを受信して、各色の主走査ゲート信号(K,M,C,Y)_IPLGATE_Nと副走査ゲート信号(K,M,C,Y)_IPFGATE_Nおよびこれら同期信号に伴う画像信号(K,M,C,Y)_IPDATA_Nを書込み制御部125に送信する。
書込み制御部125は、画像処理部124から転送された画像データを受け取り、受け取った画像データについて各種書込み処理を施して画像信号(K,M,C,Y)_LDDATAを生成し、それぞれLD制御部114K,114M,114C,114Yに送信する。
LD制御部114K,114M,114C,114Yは、露光部9内に備えられ、露光部9による感光体ドラム7Y,7M,7C,7Kへのレーザ光LY,LM,LC,LKの照射を制御するためのものである。レーザ光LY,LM,LC,LKが照射されることによって、感光体ドラム7Y,7M,7C,7K上にトナー画像が形成される。形成されたトナー画像は、転写紙2に転写され出力される。
このようなカラー複写機におけるカラー画像形成処理の概要について説明する。PCからのプリンタ画像はプリンタコントローラ111で、コピー画像はスキャナコントローラ112でそれぞれ処理され、エンジン制御部113の画像処理部124に転送される。画像処理部124では、各画像データに応じた種々の画像処理を行い、カラー各色の画像データに変換して書込み制御部125に転送する。書込み制御部125では、各色の印字タイミングを生成し、副走査タイミングに合わせて画像データを受け取り、各種書込み画像処理を施した後にLD発光データに変換し、各色のLD制御部114K,114M,114C,114YにてLDを発光し、感光体ドラム上に画像を形成する。
ここで、エンジン制御部113内の書込み制御部125について図4を参照してさらに説明する。図4は、書込み制御部の構成の一例を示すブロック図である。書込み制御部125は、大別して、K,M,C,Y各色の書込み制御部126K,126M,126C,126Yと、入力画像制御部127K,127M,127C,127Yと、ラインメモリ128K,128M,128C,128Yと、を備えている。
さらに、基準色のK色の書込み制御部126Kは、書込画像処理部131K、位置ずれ補正パターン生成部132K、LDデータ出力部133Kを備える。また、他のM,C,Y色の書込み制御部126M,126C,126Yは、K色と同様の構成である書込画像処理部131M,131C,131Y、位置ずれ補正パターン生成部132M,132C,132Y、LDデータ出力部133M,133C,133Yに加えて、スキュー補正処理部135M,135C,135Yを備える。
なお、この図4においては、説明を簡略にするために、図3で説明した各色の主走査ゲート信号(K,M,C,Y)_IPLGATE_Nと副走査ゲート信号(K,M,C,Y)_IPFGATE_Nおよびこれら同期信号に伴う画像信号(K,M,C,Y)_IPDATA_Nの3信号をあわせて書き込み制御信号(K,M,C,Y)_IPDATA[7:0]_Nと表記している。
書込画像処理部131K,131M,131C,131Yは、ラインメモリ128K,128M,128C,128Yに格納された画像データを用いて各種の画像処理を行うものである。
位置ずれ補正パターン生成部132K,132M,132C,132Yは、転写ベルト3上での各色の色ずれを補正するための補正値を算出するために、転写ベルト3に転写する補正パターン14の画像データを生成するためのものである。
LDデータ出力部133K,133M,133C,133Yは、CPU122によって算出された主副レジスト補正量に応じて補正書き込み指令(LDDATA)をLD制御部114K,114M,114C,114Yに送出し、レーザ光照射による書き込みタイミングのずれを補正する制御を行うものである。また、LDデータ出力部133K,133M,133C,133Yは、CPU122によって算出された主走査倍率補正量に応じた画像周波数の変更指令(LDDATA)をLD制御部114K,114M,114C,114Yに送出し、主走査方向の倍率誤差の補正制御を行うものである。さらに、LDデータ出力部133K,133M,133C,133Yは、位置ずれ補正パターン生成部132K,132M,132C,132Yから得られる補正パターン14を転写ベルト3上に形成する指令(LDDATA)を、LD制御部114K,114M,114C,114Yに送出するものである。また、LDデータ出力部133K,133M,133C,133Yは、出力周波数を非常に細かく設定できるデバイス、たとえば電圧制御発信器(VCO:Voltage Controlled Oscillator)を利用したクロックジェネレータなどが各色について備えられている。
入力画像制御部127K,127M,127C,127Yは、画像処理部124から転送された画像データを受け取り、受け取った画像データをラインメモリ128K,128M,128C,128Yに格納し、格納した画像データを各色の書込み制御部126K,126M,126C,126Yに転送するものである。また、入力画像制御部127K,127M,127C,127Yは、CPU122により算出された歪みライン量に基づいて、各色のラインメモリ128K,128M,128C,128Yへの格納を行う。本実施の形態にかかる入力画像制御部127K,127M,127C,127Yでは、画像処理部124から1ビットの2値画像の画像データを受信し、受信した画像データを書込み制御部126K,126M,126C,126Yに転送する。なお、本実施の形態では、2値画像の画像データを書込み制御部126K,126M,126C,126Yに転送しているが、これに限定するものではない。例えば、2値画像の画像データを4ビットの濃度値(0(=白画素)〜15(=黒画素))を取る画像データに変換して書込み制御部126K,126M,126C,126Yに転送してもよい。
ラインメモリ128K,128M,128C,128Yは、画像処理部124から転送された画像データを順次格納するためのメモリである。
スキュー補正処理部135M,135C,135Yは、K色を基準として画像データのスキュー補正を行うものである。本実施の形態では、主走査方向を1ラインとして副走査方向の画像データ(画像)を複数に分割して、ラインメモリ128M,128C,128Yに格納し、主走査方向の1ラインの画像を表現する画素を分割し、分割した画素をスキューとは逆の副走査方向にシフトさせて出力する。これにより、トナー画像が形成される際に生じるスキューを補正する。以下、書込み制御部126K,126M,126C,126Yによる画像書込み処理について詳細に説明する。
まず、この図4のK色における画像書込み処理について説明する。まず、画像信号K_IPDATA[7:0]_Nが、画像処理部124から入力画像制御部127Kに送信される。入力画像制御部127Kは、ラインメモリ128Kに画像信号を一時記憶しながら、書込み制御部126Kに画像信号を送信する。書込み制御部126K内部では、書込画像処理部131Kが、入力画像制御部127Kから送信された画像信号をLDデータ出力部133Kに送信する。LDデータ出力部133Kは、K色書き込み画像信号K_LDDATAを生成しLD制御部114Kに送信する。
次に、図4のM色、C色、Y色における画像書込み処理について説明する。まず、画像信号(M,C,Y)_IPDATA[7:0]_Nが、画像処理部124から入力画像制御部127M,127C,127Yに送信される。ついで、入力画像制御部127M,127C,127Yは、RAM123に記憶されたスキュー補正量に基づいてスキュー量補正を行うために、それぞれラインメモリ128M,128C,128Yに画像信号を一時記憶する。スキュー補正処理部135M,135C,135Yは、一時記憶された画像信号にスキュー補正量によるスキュー量補正処理を実行した後、書込画像処理部131M,131C,131Yにそれぞれの画像信号を送信する。そして、K色の動作と同様に、各色の書込画像処理部131M,131C,131Yから画像信号を受信した各色のLDデータ出力部133M,133C,133Yは、書き込み画像信号(M,C,Y)_LDDATAを生成し各色のLD制御部114M,114C,114Yにそれぞれ送信する。上記スキュー補正量については、後に詳細を説明する。
なお、位置ずれ補正パターン14を出力する際には、位置ずれ補正パターン生成部132K,132M,132C,132YからK,M,C,Y各色のパターン画像信号が各色のLDデータ出力部133K,133M,133C,133Yに送信される。その後は、上記における説明と同様の動作を行う。
上述したように、カラー画像を形成するためには、K,M,C,Yの各色の位置合わせが行われていなければならない。そこで、位置ずれ補正の動作処理について、図5のフローチャートを参照しながら説明する。以下の位置ずれ補正処理は、基準色をK色とした場合について説明する。基準色とは補正の基準となる色で、他の色を基準色に合わせることで各色間の位置ずれを補正するものである。
位置ずれ補正処理が開始されると、まず、図4の各色の書込み制御部126K,126M,126C,126Y内の位置ずれ補正パターン生成部132K,132M,132C,132Yで生成した位置ずれ補正パターンを転写ベルト3上に形成する(ステップS11)。ついで、検知センサ15,16によって、転写ベルト3上に形成された補正パターン14が検出される(ステップS12)。
その後、検知センサ15、16位置での基準色(K)に対する検知センサ位置でのずれ量を算出する(ステップS13)。
そして、主走査方向の補正については、センサ位置でのずれ量から、主走査方向のずれ量を算出する(ステップS14)。
次に、パターン検知部121で検出された補正パターン14がデジタルデータへと変換された後、CPU122によって、デジタルデータ化された補正パターンから基準色(K色)に対する主走査倍率補正量と、主走査レジスト補正量とが算出される(ステップS15)。
同時に、副走査方向の補正については、CPU122によって、センサ位置でのずれ量から、この値からスキュー補正を行うための主走査方向の分割位置を算出する(ステップS16)。次に、算出したエリアに対して、各エリアの基準色(K)に対するずれ量を検知センサ位置でのずれ量から算出する(ステップS17)。さらに、算出した各エリアのずれ量から各エリアでのスキュー補正量を算出する(ステップS18)。
そして、ステップS14で求めた主走査倍率、主走査レジスト補正量、ステップS16でスキュー補正用の主走査の分割位置、ステップS17で求めた各エリアのずれ量またはステップS18で求めた各エリアの補正量をRAM123(または不揮発性メモリ)に保存し(ステップS19)、位置ずれ補正処理が終了する。なお、RAM123に保存した補正量は、次回の位置ずれ補正処理を実施するまで、印刷時の補正量として使用される。
従来は、副走査方向の補正は、副走査のレジスト補正量の算出とスキュー補正量の算出を独立して別々の処理として実施していたため、処理が複雑になっていた。また、副走査のレジスト補正量とスキュー補正量の算出を別々の処理として実施するため、それぞれに最適な補正量を求めても、両者の組み合わせた結果が最適な補正にならないことがあるという問題があった。本実施の形態では、副走査方向の補正であるレジスト補正とスキュー補正を一連の処理として実行することで、最適な補正量を求めることができるという利点がある。
以上のように、主走査倍率補正量、主レジスト補正量、副レジスト補正量、およびスキュー補正量と、M,C,Y各色のスキュー補正用の主走査の分割位置、各エリアのずれ量、各エリアの補正量を保存した後に、印刷処理が行われる。図6は、印刷の処理手順の一例を示すフローチャートである。
まず、印刷要求を受信すると、ステップS31では、書込み制御部125は、前述した主走査倍率補正量に基づき、K,M,C,Y各色の画素クロック周波数を設定する。ついで、ステップS32では、RAM123に保存された主レジスト補正量に基づいて、各色の主走査遅延量を設定し、さらにステップS33では、RAM123に保存された副レジスト補正量に基づいて、各色の副走査遅延量を設定する。
その後、ステップS34では、各色のスキュー補正量と階調数情報に基づいて、基準色(K色)に対するM、CおよびY色のスキュー補正量を設定する。そして、ステップS35では、設定されたK,M,C,Y各色の主走査画素クロック周波数、主走査遅延量、副走査遅延量、スキュー補正量に基づいて画像補正を実行しながら印刷動作を開始し、印刷処理が終了する。
なお、主走査方向の色ずれの補正は、主走査倍率と主走査の書き出しタイミングを補正することによって行われ、主走査倍率補正は、書込み制御部125で検出した各色の倍率誤差量に基づく画像周波数を変更することによって行う。ただし、書込み制御部125には、周波数を非常に細かく設定できるデバイス、たとえばVCOを利用したクロックジェネレータなどが備えられている。また、主走査方向の書き出しタイミングは、各色の同期検知信号をトリガにして動作する主走査カウンタのどの位置からLDがデータを出力するかによって調整を行う。
さらに、副走査方向の色ずれ補正は、副走査方向の書き出しタイミングを調整することで行う。図7は、書込み制御部による副走査方向の書き出しタイミング補正の一例を示すタイミングチャートである。図7において、書込み制御部125は、CPU122からのスタート信号STTRIG_Nを基準として、ライン数をカウントし、画像処理部124に対して副走査タイミング信号(Y,M,C,K)_FSYNC_Nを出力する。
その後、画像処理部124では、副走査タイミング信号(Y,M,C,K)_FSYNC_Nの受信をトリガにして、副走査ゲート信号(Y,M,C,K)_IPFGATE_Nを書込み制御部125に出力し、画像データ(Y,M,C,K)_IPDATA[7:0]_Nを転送する。そして、各色の書込み制御部126Y,126M,126C,126Kでは、画像信号(Y,M,C,K)_LDDATAをLD制御部114Y,114M,114C,114Kに送信する。
なお、副走査方向のレジストを補正する場合には、スタート信号からの副走査遅延量(Y,M,C,K)_mfcntldを検出した位置ずれ量に応じて変更する。通常は、K色を基準としての位置ずれ量をカラー(M,C,Y)の副走査遅延量に反映して、(Y,M,C,K)_FSYNC_Nのタイミングを変更して副走査方向の位置合わせを行う。
つぎに、カラー複写機における位置ずれ量の検出とその補正処理について説明する。図8−1は、転写ベルトに形成された位置ずれ補正パターンの一例を示す図である。転写ベルト3上に形成された補正パターン14は検知センサ15,16で検知され、得られた信号は、パターン検知部121によってアナログデータからデジタルデータへと変換され、データがサンプリングされ、サンプリングされたデータはRAM123に格納される。一通り補正パターン14の検知が終了した後、RAM123に格納されていたデータを用いて、CPU122で種々の色ずれ量(主走査倍率、主レジストずれ量、副レジストずれ量、スキュー)を算出するための演算処理を行い、その色ずれ量から各ずれ成分の補正量を算出する。
ここでは、スキュー補正について説明する。図8−2は、スキュー量の算出方法の一例を示す図である。ここでは、K色を基準色とした場合の各色の歪量を算出する方法の一例を示している。スキュー補正については、まず基準色であるK色に対するカラー各色(M,C,Y)のスキュー量を求める。例えば、図8−2のようにC色の画像の右側が通常の位置よりも下にずれている場合を例に挙げて説明すると、左側の検知センサ15は、転写ベルト3に形成された左側パターンK11とC11の位置を検出し、その位置関係からK色とC色の左側距離KC_Lを算出する。一方、右側の検知センサ16は、転写ベルト3に形成された右側パターンK21とC21の位置を検出し、その位置関係からK色とC色の右側距離KC_Rを算出する。以上により、C色のK色に対するスキュー量:KC_Skewは、次式(1)のように求められる。
KC_Skew=KC_R−KC_L ・・・(1)
また、M色、Y色についても同様に、パターン検出によって次式(2)、(3)からそれぞれのスキュー量KM_Skew,KY_Skewが算出される。
KM_Skew=KM_R−KM_L ・・・(2)
KY_Skew=KY_R−KY_L ・・・(3)
以上のようにして、K色を基準としたC色、M色、Y色のスキュー量、KC_Skew,KM_Skew,KY_Skewが算出される。
ここで、スキュー量とスキュー補正量の関係についての詳細を説明する。図9−1は、副走査方向の解像度が600dpi時のK色基準の各色のスキュー量の一例を示す図である。上記の(1)〜(3)式を用いて、カラー各色のスキュー量が図9−1のように求められたものとする。すなわち、K色基準で各色のスキュー量が、M:−110[μm]、C:−130[μm]、Y:30[μm]であったとする。ここで、副走査方向の解像度が600dpiであるので、1ラインシフトすることによって、25,400[μm]/600=42.3[μm]移動する。したがって、スキュー補正量は、それぞれのずれ量(スキュー量)を1ラインあたりの移動量で割って、小数点以下は四捨五入して整数単位の値にし、符号を反転したものとして求めることができる。図9−2は、図9−1の場合のスキュー補正量の一例を示す図である。この図9−2に示されるように、図9−1に示されるスキュー量の場合のスキュー補正量は、それぞれM:+3ライン、C:+3ライン、Y:−1ラインとなる。
図10−1〜図10−6は、スキュー補正方法(スキュー補正量算出方法)の一例を示す図である。図10−1は、入力画像図を示す図であり、8ライン分の入力画像が示されている。ここで、1つのラインは1つのラインメモリに格納される画像を示している。図10−2は、スキューを補正しないで図10−1の入力画像図をそのままLDデータとして出力した状態を示す図である。この図に示されるように、走査ビームのスキューにより、入力画像図をそのままLDデータとして出力した場合には、図10−1と比較して用紙上で右側が上方向に3ラインに相当する量だけずれている(つまり、スキュー量のライン数は3である)。
このように、右側画像が上に3ラインずれている場合には、図10−3に示されるように、主走査方向を{(スキュー量のライン数)+1}等分割、すなわち4等分割する。ここで、ライン上の主走査方向に分割した位置(分割位置)をシフト位置といい、シフト位置で区切られるライン上の主走査方向の領域をシフト領域というものとする。
そして、図10−4に示されるように、右側のシフト領域に移る度に1ラインずつ下方向にシフトさせて画像を出力すれば、図10−5に示すように、用紙上で左右の画像位置を平行にさせることができる。つまり、ラインメモリに画像の一部を蓄積し、読み出し位置を切り替えながら読み出し、主走査方向に分割した画像(シフト領域)を副走査方向にシフトすることで各色のスキューを補正する。この副走査方向にシフトすることをシフトという。
図11−1〜図11−6は、スキュー補正方法(スキュー補正量算出方法)の他の例を示す図であり、入力画像図に対して、スキュー補正をしない場合に用紙上で右側の画像が通常の位置よりも下方向に1ラインずれている場合のスキュー補正方法を示している。この場合も上述した図10−1〜図10−5の場合と同様に処理を行うことで、スキューを補正することができる。つまり、主走査方向に2等分割し、右側のシフト領域に移る度に1ラインずつシフト領域を上方向にシフトさせることで、図11−5に示すように用紙上で左右の画像位置が平行になる。
実際のスキュー補正では、スキュー補正用のラインメモリに入力画像データを順次蓄積しておき、スキュー補正処理部135M,135C,135Yで、分割した各領域でどのラインメモリ128M,128C,128Yのデータをリードするかを切り替えることで、図10−4や図11−4の画像を出力する構成とする。そのため、図10−6と図11−6に示されるように、各色での主走査方向のシフト位置のアドレスと、それぞれのシフト位置で副走査方向の+方向か−方向にシフトするかの情報を求めておけばよい。この主走査方向のシフト位置のアドレスと、それぞれのシフト位置での副走査方向の+方向か−方向へのシフト方向を含む情報をシフト補正情報という。
たとえば、図10−3に示すように走査方向の画素数を4,800画素とした場合、左端に対して右端では3ライン上方向にシフトしているので、主走査方向に4分割される。そこで、1〜1,200画素、1,201〜2,400画素、2,401〜3,600画素、3,601〜4,800画素のシフト領域に分割し、それぞれのシフト領域を1ブロック目、2ブロック目、3ブロック目、4ブロック目というものとする。
その結果、図10−4のように1ライン目の0〜1,200画素までは1本目のラインメモリの画像データの1ブロック目を出力し、1,201〜4,800画素までは白画素を出力する。また、2ライン目の0〜1,200画素までは2本目のラインメモリの画像データの1ブロック目を出力し、1,201〜2,400画素では1本目のラインメモリの画像データの2ブロック目を出力し、2,401〜4,800画素までは白画素を出力する。このような画像データ出力処理を繰り返し実行することで、出力画像は図10−5に示すように左右の画像位置が平行になるように補正することができる。
図12−1〜図12−2は、ラインメモリのスキュー補正時のタイミングチャートである。ここでは、K色は基準色であるので分割なしであり、M色およびC色はスキュー補正量が3ドットであるので4分割補正であり、Y色はスキュー補正量が1ドットであるので、2分割補正であるものとする。
また、本実施の形態では、各色で独立して個別のラインメモリ128K,128M,128Y,128Cを設けた構成としているが、ラインメモリ128を1つだけ設け、各色で共通に使用する構成としても良い。
図12−1〜図12−2において、入力画像制御部127K,127M,127C,127Yは、CPU122からのスタート信号からの副走査遅延量(K,M,C,Y)_mfcntldによるタイミングで印刷動作を開始する。印刷動作が開始すると、ラインメモリK−1,M−1,C−1,Y−1に画像が記憶される。
ついで、ラインメモリK−2,M−2,C−2,Y−2に画像が記憶されると同時に、ラインメモリK−1,M−1,C−1,Y−1から画像が読み出される。そして、書込み制御部126Kを経てK色書込み信号K_LDDATAに全画素が出力され、書込み制御部126Mを経てM色書込み信号M_LDDATAに4分割の1ブロック目の画素が出力され、書込み制御部126Cを経てC色書込み信号C_LDDATAに4分割の1ブロック目の画素が出力され、書込み制御部126Yを経てY色書込み信号Y_LDDATAに2分割の1ブロック目の画素が出力される。
その後、ラインメモリK−1,M−3,C−3,Y−3に画像が記憶されると同時に、ラインメモリK−2,M−1,M−2,C−1,C−2,Y−1,Y−2から画像が読み出される。そして、書込み制御部126Kを経てK色書込み信号K_LDDATAに全画素が出力され、書込み制御部126Mを経てM色書込み信号M_LDDATAにラインメモリM−1の4分割の2ブロック目の画素とラインメモリM−2の4分割の1ブロック目の画素が出力される。また、書込み制御部126Cを経てC色書込み信号C_LDDATAにラインメモリC−1の4分割の2ブロック目の画素とラインメモリC−2の4分割の1ブロック目の画素が出力され、書込み制御部126Yを経てY色書込み信号Y_LDDATAにラインメモリY−1の2分割の2ブロック目の画素とラインメモリY−2の2分割の1ブロック目の画素が出力される。
ついで、ラインメモリK−2,M−4,C−4,Y−1に画像が記憶されると同時に、ラインメモリK−1,M−1,M−2,M−3,C−1,C−2,C−3,Y−2,Y−3から画像が読み出される。そして、書込み制御部126Kを経てK色書込み信号K_LDDATAに全画素が出力され、書込み制御部126Mを経てM色書込み信号M_LDDATAにラインメモリM−1の4分割の3ブロック目の画素とラインメモリM−2の4分割の2ブロック目の画素とラインメモリM−3の4分割の1ブロック目の画素が出力される。また、書込み制御部126Cを経てC色書込み信号C_LDDATAにラインメモリC−1の4分割の3ブロック目の画素とラインメモリC−2の4分割の2ブロック目の画素とラインメモリC−3の4分割の1ブロック目の画素が出力され、書込み制御部126Yを経てY色書込み信号Y_LDDATAにラインメモリY−2の2分割の2ブロック目の画素とラインメモリY−3の2分割の1ブロック目の画素が出力される。
その後、ラインメモリK−1,M−5,C−5,Y−2に画像が記憶されると同時に、ラインメモリK−2,M−1,M−2,M−3,M−4,C−1,C−2,C−3,C−4,Y−1,Y−3から画像が読み出される。書込み制御部126Kを経てK色書込み信号K_LDDATAに全画素が出力され、書込み制御部126Mを経てM色書込み信号M_LDDATAにラインメモリM−1の4分割の4ブロック目の画素とラインメモリM−2の4分割の3ブロック目の画素とラインメモリM−3の4分割の2ブロック目の画素とラインメモリM−4の4分割の1ブロック目の画素が出力される。また、書込み制御部126Cを経てC色書込み信号C_LDDATAにラインメモリC−1の4分割の4ブロック目の画素とラインメモリC−2の4分割の3ブロック目の画素とラインメモリC−3の4分割の2ブロック目の画素とラインメモリC−4の4分割の1ブロック目の画素が出力され、書込み制御部126Yを経てY色書込み信号Y_LDDATAにラインメモリY−3の2分割の2ブロック目の画素とラインメモリY−1の2分割の1ブロック目の画素が出力される。以上の処理が繰り返して実行され、スキュー補正された画像データが印刷される。
このような一連の画像処理により、各色間でスキューが発生している場合においてもスキュー補正処理を行うことにより、スキューによる色ずれが低減され、画質を向上することが可能となる。
次に、本実施の形態のスキュー補正処理において、図5に示すステップS16からS18のスキュー補正量算出処理の詳細について説明する。
図8−2に示すように、各検知センサ位置のKとC間の検出距離をそれぞれ、KC_L、KC_Rとずる。KC_L、KC_Rから、出力したパターンの間隔KCを引いた値が、各センサ位置でのずれ量になるので、各センサ位置でのずれ量をそれぞれΔKC_L、ΔKC_Rとすると、ΔKC_L、ΔKC_Rは次式で算出される。
ΔKC_L=KC_L−KC
ΔKC_R=KC_R−KC
次に、算出した検知センサ位置でのずれ量から、傾きの変化量:Skewを算出する。
Skew=ΔKC_R−ΔKC_L
次に、エリア幅を決定する。ここでは、全体を13個のエリアに均等に分割し、左右の検知センサ15、16の位置をそれぞれエリア1、エリア13の中心になるようにレイアウトするものとする。
エリアの分割数については、補正に必要な分割数より大きければよいが、スキュー補正の範囲は、用意したラインバッファの段数で決まるので、エリアの分割数はラインバッファの段数の2倍程度の値とするのが好ましい。
エリアの幅は、ここでは均等に分割しているが、均等である必要はなく、中央部と端部で幅をかえるような構成としても良い。
また、エリア幅は、C、M、Y、Kの各色で共通の値とし、C、M、Y、Kの各色が同じ位置で分割されるようにしてもよいし、幅を共通とし、基準位置をC、M、Y、Kの各色で異ならせることで、同じ位置に重ならないように制御しても良い。
また、スキュー補正のエリア幅を、擬似中間調処理で使用するディザマトリックスの整数倍にあわすことで、スキュー補正による画質の劣化を小さくするようにしても良い。
次に、ステップS17において、決定した各エリアに対して、ずれ量を計算する。傾きの変化量:Skewをエリア数−1で除算して、エリア単位の変化量Skew_Areaを求める。具体的には、次式により各エリアに対してずれ量を計算する。
Skew_Area=Skew/12
各エリアのずれ量Zure(n)は、両端のエリア間を1次近似で補間すると次式で定めることができる。
Zure_KC(n)=ΔKC_L +Skew_Area×(n−1)
ただし、n:エリア数(1〜13)
次に、ステップS18において、決定した各エリアに対しての補正量を計算する。求めた各エリアのずれ量を副走査方向の最小補正幅Sub_stepで割った値の符号を反転したものが各エリアの補正量になる。
副走査方向の解像度が600dpiの場合、最小補正幅Sub_stepは25.4mm/600=42.3umになるので、各エリアの補正量Hosei_KC(n)は、次式で示される。
Hosei_KC(n)=Zure_KC(n)/Sub_Step×(−1)=Zure(n)/42.3×(−1)
ただし、n:エリア数(1〜13)
算出した補正量Hosei(n)は、副走査のレジストずれの成分とスキューの成分とを含んだものであるため、レジスト補正部分とスキューの補正部分に分離する必要がある。算出したHosei(n)に対して、13個のエリアの中から最小値を求め、この値を副走査のレジスト補正量:Hosei_Reg_KCとする。
Hosei_Reg_KC=Min(Hosei(n)) ただし、n:エリア数(1〜13)
この最小値がレジストの補正量となる。
Hosei_Reg_KCの値が正の場合は、画像の書き出しのタイミングをこの値の量だけ遅延させて書き込みを行う。Hosei_Reg_KCの値が負の場合は、画像の書き出しのタイミングをこの値の量だけ早めて書き込みを行う。
そして、各エリアの補正量Hosei_KC(n)から、Hosei_Reg_KCを引いた値を求め、この値をスキュー補正量:Hosei_Skew_KC(n)とする。すなわち、次式で示される。
Hosei_Skew_KC(n)=Hosei_KC(n)−Hosei_Reg_KC
ただし、n:エリア数(1〜13)
各エリアでは、この値のラインバッファの内容を出力することで、スキューが補正された画像が出力されることになる。算出したレジスト補正量および各エリアのスキュー補正量は、ステップS19でRAM111又は別途設けた図示しない不揮発メモリに保存し、次回の色あわせ処理まで、この値を使用してレジストおよびスキュー補正を行い画像を出力する。
メモリに保存する情報は、各エリアのスキュー補正量としているが、各エリアのずれ量を保存する構成としても良い。また、副走査の解像度が2つ以上ある画像形成装置では、解像度ごとに補正量の計算を行い、補正量を不揮発のメモリに保存する構成としてもよい。さらに、解像度が最も高い場合の副走査方向の最小補正幅Sub_stepを使用して算出し、低い解像度の場合はその値から換算して設定値を求める構成とすることもできる。
具体的な計算例を図13〜16に示す。図13,14は、KC_L=4.80[mm]、KC_R=4.90[mm]、KC=5.00[mm]の場合の補正量算出の例である。
図13,14において、KC_L=4.80[mm]、KC_R=4.90[mm]、KC=5.00[mm]から次式のようになる。
ΔKC_L=KC_L−KC=−200[um]
ΔKC_R=KC_R−KC=−100[um]
Skew=ΔKC_R−ΔKC_L=100[um]
Skew_Area=Skew/12=8.33 [um]
各エリアのずれ量は、次式で示される。
Zure_KC(1)=ΔKC_R+Skew_Area×(1−1)=−200 [um]
Zure_KC(2)=ΔKC_R+Skew_Area×(2−1)=−192[um]
Zure_KC(3)=ΔKC_R+Skew_Area×(3−1)=−183[um]
Zure_KC(3)=ΔKC_R+Skew_Area×(4−1)=−175[um]
・
・
Zure_KC(13)=ΔKC_R+Skew_Area×(13−1)=100[um]
また、各ラインの補正量は、次式に示すようになる。
Hosei_KC(1)=−200/42.3×(−1)= 5[Line]
Hosei_KC(2)=−192/42.3×(−1)= 5[Line]
Hosei_KC(3)=−183/42.3×(−1)= 4[Line]
Hosei_KC(4)=−175/42.3×(−1)= 4[Line]
・
・
Hosei_KC(13)=−100/42.3×(−1)= 2[Line]
ここで、13エリア目が最小値となるので、
Hosei_Reg_KC=2[Line]
となり、各エリアの補正量は、図13に示すように次式で示される。
Hosei_Skew_KC(1)=Hosei_KC(1)−Hosei_Reg_KC=5−2= 3[Line]
Hosei_Skew_KC(2)=Hosei_KC(2)−Hosei_Reg_KC=5−2= 3[Line]
Hosei_Skew_KC(3)=Hosei_KC(3)−Hosei_Reg_KC=4−2= 2[Line]
Hosei_Skew_KC(4)=Hosei_KC(4)−Hosei_Reg_KC=5−2= 2[Line]
・
・
Hosei_Skew_KC(13)=Hosei_KC(13)−Hosei_Reg_KC=5−2= 0[Line]
図15,16は、KC_L=4.90[mm]、KC_R=5.00[mm]、KC=5.00[mm]の場合の計算結果を示す図である。
各エリアの補正量は、図15に示す値となる。
図13、図15ともに、スキュー量は100[um]であるので、どちらも右上がりの出力画像になるように補正されるが、レジストのずれ量がことなるため、補正結果は、図15と図17に示すように、スキュー補正の継ぎ目の位置が異なった位置になることがわかる。
このように本実施の形態では、スキュー補正処理部135においてスキュー補正量とレジスト補正量を同時に算出することにより、スキュー量だけで分割位置を決定する従来の方法に比べて、補正誤差を小さくすることができ最適な補正を行うことが可能となる。
また、本実施の形態では、スキュー補正処理部135においてスキュー補正量とレジスト補正量を同時に算出することにより、処理自体も複雑化することなく、最適な補正量を算出することが可能となる。
(実施の形態2)
実施の形態1では、スキュー補正を行っていたが、本実施の形態では、スキュー補正の他、さらに曲がり補正を行っている。
図17は、スキュー補正と曲がり補正の一例を示す図である。本実施の形態では、曲がり成分を検出するために、図17に示すように、位置ずれ補正パターンの検出のための3個のセンサ15,16,17を用いている。
センサおよび形成る位置ずれ補正パターンについては、実施の形態1で説明した図8−1の構成と同様であり、中央部にセンサ17を追加し、位置ずれ補正パターン14を中央部に形成する。
また、図4において、スキュー補正処理部135の代わりに、実施の形態1と同様のスキュー補正処理と以下に説明する曲がり補正処理を行う補正処理部を設けた構成とする。
なお、本実施の形態では、センサを3個使用して曲がり量を検出しているが、センサ数はこれに限定されるものではなく、4個以上のセンサを用いるように構成してもよい。
また、位置ずれ補正パターンの検出結果からパターンとパターンのずれ量への換算手法については、公知の手法を用いる。
図17に示すように、各センサ15、17、16の位置のKとC間の検出距離をそれぞれ、KC_L、KC_C、KC_Rとする。KC_L、KC_C、KC_Rから、出力したパターンの間隔KCを差し引いた値が、各センサ位置でのずれ量になるので、各センサ位置でのずれ量をそれぞれΔKC_L、ΔKC_C、ΔKC_Rとすると、ΔKC_L、ΔKC_C、ΔKC_Rは、次式で算出される。
ΔKC_L=KC_L−KC
ΔKC_C=KC_C−KC
ΔKC_R=KC_R−KC
次に、補正処理部は、算出した検知センサ位置でのずれ量から、左半分のエリアの傾きの変化量SkewLと右半分のエリアの傾きの変化量SkewRを次式により算出する。
左側エリアの傾きの変化量:Skew_L=ΔKC_C−ΔKC_L
右側エリアの傾きの変化量:Skew_R=ΔKC_R−ΔKC_C
次に、補正処理部は、エリア幅を決定する。ここでは、実施の形態1と同様に、全体を13個のエリアに均等に分割し、左右の検知センサの位置をそれぞれエリア1、エリア13の中心に、中央の検知センサをエリア7の中心になるようにレイアウトするものとする。
エリアの幅は、均等に分割しているが、均等に限定されるものではなく、中央部と端部で異なる幅となるように構成としても良い。
また、左側エリアの傾きの変化量SkewLと右側エリアの傾きの変化量SkewRを比較し、変化量の大きいエリアについてエリア幅を小さくし分割数を増やす構成としてもよい。
次に、補正処理部は、決定した各エリアに対して、ずれ量を計算する(図5のステップS17)。そして、補正処理部は、左側エリアの傾きの変化量Skew_Lと右側エリアの傾きの変化量Skew_Rをエリア数−1で除算して、エリア単位の変化量Skew_Area_L、Skew_Area_Rを次式により求める。
Skew_Area_L=Skew_L/6
Skew_Area_R=Skew_R/6
各エリアのずれ量Zure(n)は、左端と中央、中央と右端のエリア間をそれぞれ1次近似で補間すると次式で示される。
Zure_KC(n)=ΔKC_L+Skew_Area_L×(n−1) ただし、n:エリア数(1〜7)
Zure_KC(n)=ΔKC_C+Skew_Area_R×(n−6−1) ただし、n:エリア数(7〜13)
次に、補正処理部は、決定した各エリアに対しての補正量を計算する(図5のステップS18)。そして、求めた各エリアのずれ量を副走査方向の最小補正幅Sub_stepで除算した値の符号を反転した値が各エリアの補正量になる。
副走査方向の解像度が600dpiの場合、最小補正幅Sub_stepは25.4mm/600=42.3umになるので、各エリアの補正量Hosei_KC(n)は、次式で算出される。
Hosei_KC(n)=Zure_KC(n)/Sub_Step×(−1)=Zure(n)/42.3×(−1)
ただし、n:エリア数(1〜13)
次に、補正処理部は、算出したHosei(n)に対して、13個のエリアの中から最小値を求め、次式に示すように、この最小値を副走査のレジスト補正量Hosei_Reg_KCとする。この最小値がレジスト補正量となる。
Hosei_Reg_KC=Min(Hosei(n))
n:エリア数(1〜13)
レジスト補正量の値が正の場合は、画像全体の書き出しのタイミングを、レジストの補正量だけ遅延させて書き込みを行う。
そして最後に、補正処理部は、各エリアの補正量Hosei_KC(n)から、Hosei_Reg_KCを差し引いた値を求め、次式のように、この値をスキュー補正量Hosei_Skew_KC(n)とする。
Hosei_Skew_KC(n)=Hosei_KC(n)−Hosei_Reg_KC
ただし、n:エリア数(1〜13)
各エリアでは、この値のラインバッファの内容を出力することで、スキューが補正された画像が出力されることになる。
そして、補正処理部は、算出したレジスト補正量および各エリアのスキュー補正量は、不揮発のメモリに保存する。
具体的な計算例を図18、19に示す。図18は、KC_L=5.20[mm]、KC_R=4.90[mm]、KC_R=5.0[mm]、KC=5.00[mm]の場合の計算結果を示す図である。図19は、KC_L=4.90[mm] 、KC_R=5.10[mm]、KC_R=5.0[mm]、KC=5.00[mm]の場合の計算結果を示す図である。
本実施の形態では、スキューだけでなく曲がり成分まで補正することができるが、実施の形態1の2点間のスキューで行った補正処理と同様構成で処理することが可能であることがわかる。
また、図18の例の場合には、ビームが上方向に凸状になっており、図19の例の場合は、ビームが下方に凸になっているが、これらの相違がある場合でも同一構成で処理することが可能である。
(実施の形態3)
実施の形態2では、センサ間に位置する各エリアのずれ量は、両側のセンサのずれ量を1次近似して求める構成としていた。センサ間での副走査の位置ずれ量が小さい場合は、1次近似を用いて算出しても誤差は小さいが、スキューまたは曲がりの量が大きい場合には、1次近似による算出では誤差が増大してしまう。
走査線の歪は、書き込みユニットと感光体の位置関係および各色の感光体の平行度ずれによるスキューの成分と書き込みユニット内部のレンズ特性等の光学系の特性の影響による曲がり成分が重なり合ったものと考えられる。
本実施の形態の補正処理部は、センサ間のエリアのずれ量を求める際に、3点のセンサのずれ量から2次以上の近似式を使用して求めている。
本実施の形態の補正処理部では、3点のセンサのずれ量から2次以上の近似式を用いて、各エリアの中央点のずれ量を算出する構成とする他、図20、図21に示すように、エリアごとに予め重み係数を設定しておき、算出したずれ量にこの重み係数を乗算した値を実際のずれ量として、補正量を求める構成とすることができる。
図21に示すように、異なる重み係数を設定した場合には、図20の重み係数が一定の場合に比べて、補正量を変更することが可能になる。
この重み係数に予め測定しておいたレンズ特性等の光学系の特性を設定することで、補正時の誤差が小さくすることが可能となる。
このように本実施の形態では、補正処理部でセンサ間のエリアのずれ量を求める際に、3点のセンサのずれ量から2次以上の近似式を使用して求め、スキューまたは曲がりの量が大きい場合でも各エリアのずれ量の誤差を小さくすることができる。
なお、上記実施の形態の画像形成装置で実行される画像形成プログラムは、ROM等に予め組み込まれて提供される。
上記実施の形態の画像形成装置で実行される画像形成プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、上記実施の形態の画像形成装置で実行される画像形成プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上記実施の形態の画像形成装置で実行される画像形成プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
上記実施の形態の画像形成装置で実行される画像形成プログラムは、上述した各部(スキュー補正処理部、補正処理部、画像処理部等)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMから画像形成プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、スキュー補正処理部、補正処理部、画像処理部等が主記憶装置上に生成されるようになっている。