以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法、及びプログラムの一実施の形態を詳細に説明する。
(実施の形態)
本発明は、複数種類の光源デバイスに対応した制御に際して、光源デバイス選択信号に応じて、フォーマット変換、メモリ選択、メモリ制御を切り替えるものである。以下の図面を参照して詳細に解説する。
本実施の形態では画像形成装置の例として、タンデム方式のカラー画像形成装置を用いた場合を例にとるものとする。図1は、本実施の形態にかかるレーザ光源を用いたタンデム方式のカラー画像形成装置の構成を示す説明図である。
このカラー画像形成装置は、4つの感光体ドラム10a〜d、4つの帯電ユニット11a〜d、現像ユニットとしての4つのトナーカートリッジ12a〜d、4つの転写ローラ13a〜d、中間転写ベルト15、中間転写ローラ14、転写装置17、給紙レジストローラ18、定着装置19、排紙装置20、光走査装置21を備える。この他にカラー画像形成装置は、各感光体ドラム10a〜d上のトナーを除去する4つのクリーナー(不図示)、中間転写ベルトクリーニング装置(不図示)を備える。なお、以下、上記a〜dについては色ごとの同一機構を有するユニットであり、支障のない限りa〜dを省略する。
光走査装置21は、カラー画像形成装置の開始ボタンが押下されると、またはプリンタホストからの印刷ジョブ開始信号が有効にされると、タイミング制御したビームを各感光体ドラム上に露光する。
この光走査装置21では、ポリゴンモータによりポリゴンミラーを回転させ、光源からのビームを走査させ、各感光体ドラム10の被走査面にそれぞれビームを書き込み、静電潜像を形成する。その形成された静電潜像は、トナーカートリッジ12から供給されるトナーにより現像され、各感光体ドラム10上では単色画像が形成される。
図1に示すカラー画像形成装置では、まず、最初の感光体ドラム10aではシアン(C)のトナーが付着され、シアン画像が形成されて、転写ローラ13aにより中間転写ベルト15上に転写される。次の感光体ドラム10bではマゼンタ(M)のトナーが付着され、マゼンタ画像が形成されて、転写ローラ13bにより中間転写ベルト15上に転写される。なお、この中間転写ベルト15上には既にシアン画像が転写されているため、その上にマゼンタ画像が転写される。さらに次の感光体ドラム10cではイエロー(Y)のトナーが付着され、イエロー画像が形成されて、転写ローラ13cにより中間転写ベルト15上に転写される。この中間転写ベルト15上には既にシアン画像およびマゼンタ画像が転写されているため、それらの上にイエロー画像が転写される。最後の感光体ドラム10dではブラック(Bk)のトナーが付着され、転写ローラ13dにより中間転写ベルト15上に転写される。
中間転写ベルト15上には既にシアン画像およびマゼンタ画像およびイエロー画像上にブラック画像が転写される。なお、中間転写ベルト15は、中間転写ローラ14を駆動ローラとして回転駆動することにより転写された各色のトナー像を所定方向へ搬送する。このように中間転写ベルト15上に各色のトナー像が重ね合わされることにより、合成カラー像が形成される。ここでは、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(Bk)の順に作像しているが、作像する色順はこれに限られるものではない。
一方、このカラー画像形成装置は、ジョブ開始信号が有効にされると、給紙装置から転写紙Sを1枚ずつ分離し、給紙搬送させ、レジストローラ18の直前に配置されたレジストセンサで転写紙Sが検知されると、その給紙動作を一旦停止させる。
その後、中間転写ベルト15上の合成カラー画像と転写紙Sとを所定の位置関係となるように搬送タイミングを合わせ、レジストローラ18を回転させ、中間転写ベルト15と転写装置17との間に転写紙Sを送り込む。転写装置17は、転写紙Sへ合成カラー画像を転写し、定着装置19は、搬送される合成カラー画像が転写された転写紙Sに、熱と圧力を加えて定着させる。定着後、転写紙Sは、排紙装置20に取り付けられた排紙ローラにより排出され、排紙トレイ上にスタックされる。
図2は、レーザ光源の光走査装置21が備える制御部の構成を示す説明図である。図2を参照して、光走査装置21が備える制御部の構成およびその制御部により行われる走査の制御について詳細に説明する。この制御部は、画像処理部100、光学センサ部101、CPU(Central Processing Unit)102、データ制御部110、を主に備える。データ制御部110は、データ選択部111、画像出力制御部112、同期検知検出部113、光源制御部114を備える。光走査装置21は、光源デバイスとしての光源22、ポリゴンミラー23、同期検知板24を有する。
光源制御部114は、光源22からポリゴンミラー23に出射するビームを制御するために、光源22に対し画像データに応じた変調信号を出力し、光源22から出射されたビームは、ポリゴンミラー23のミラー面に入射する。
ポリゴンミラー23の回転によりビームは、主走査方向へ走査し、図示しない走査レンズとミラーとを介して各感光体ドラム10を走査する。同期検知検出部113は、ポリゴンミラー23の回転位置を、走査先端位置に配置された同期検知板24の受光素子により上述のポリゴンミラー23の回転によりビームから主走査の書き出し位置を示す同期検知信号として検出する。
光学センサ部101は、上記図1にある中間転写ベルト15の搬送方向の最下流側に位置し、中間転写ベルト15の幅方向に均等に配置されるものである。このセンサ部は光学式の拡散光センサを1つまたは複数有するものであり、中間転写ベルト15上に形成された画像に対する拡散光を内蔵の受光素子にて受光する。
光走査装置21と各感光体ドラム10の配置により、光源で作像するトナー色を決定する。画像処理部100は、ブラック(Bk)、シアン(C)、イエロー(Y)、マゼンタ(M)の4色の画像データをデータ選択部111へ入力する。データ選択部111では、作像順にあわせて各色のデータ信号が画像出力制御部112からのLD点灯信号に基づき出力される。
レーザビームを感光体ドラム10上の被走査面に照射することにより画像を形成するレーザビーム方式の中には、2つ以上のレーザ光源を用いて感光体上に画像を形成するマルチビーム方式がある。
マルチビーム方式の画像形成装置は、例えば副走査方向に1色につき2つ以上のレーザ光源を設け、画像データの主走査ライン2つ分以上を同時にビームスポットを感光体上に書き込むことにより、潜像の形成速度を向上させている。各レーザ光源毎に書き出し位置は異なり、レーザ光源によるレーザビームの射出タイミング制御を行うための画素クロックを、図示しないクロック生成部にてそれぞれレーザ光源ごとに独立して生成する。そのため1色あたりのレーザ光源の数が多ければ多いほど生成する画素クロックが増えることになる。
また、光源制御部114は、データ選択部111及び画像出力制御部112から送られてくるデータに基づいて光源22に対し変調信号を出力し、光源22がこれを基に各ビームを出射し、走査しながら各感光体ドラム10に露光することで所望の静電潜像を形成する。光源22には、単独の光源素子で1つの発光点をもつ半導体レーザだけではなく、複数の発光点を有する半導体レーザダイオードアレイや、二次元に発光点を配置した面発光型半導体レーザを光源デバイスに使用することもできる。
本実施の形態では、光源22としてのLD光源デバイスは、VCSEL光源デバイス、LED光源デバイスの3種類の光源デバイスに対応した制御IC(Integrated Circuit)のデータ制御部110を備えた画像形成装置を例にして説明する。なお、この3つの光源デバイスに拘らず、その他の光源デバイスと接続する構成としてもよい。なお、LDは、半導体レーザ素子、VCSELは、多チャンネル面発光型半導体レーザアレイ素子、LEDは、発光ダイオードである。
図3は、本実施の形態にかかるシステム構成を示すブロック図である。本システムは、バス上に、画像処理部100、CPU101、ROM102、RAM103、光学センサ部104、データ制御部110、光走査装置21、エンジン130が主に接続された構成となっている。CPU101は、ROM(Read Only Memory)102に格納された制御プログラムに従ってRAM(Random Access Memory)103をワーキングメモリとして用い、所定の制御を実行する。エンジン130は、前述した図1に示すカラー画像形成装置に該当する。
図4は、本実施の形態にかかるデータ制御部110の機能構成を示すブロック図である。データ制御部110は、光源選択信号出力部115、メモリ制御部116、フォーマット変換出力部117の機能を有する。
光源選択信号出力部115は、複数種類の光源デバイスのうち一つの光源デバイスを特定し、特定した光源デバイスを動作させる動作モードに切り替える光源デバイス選択信号を出力する。記憶部(後述するSRAM(Static Random Access Memory:図5−1、図5−2参照)は、光源デバイスが変調する画像データを一時的に格納する。メモリ制御部116は、光源デバイス選択信号に基づいて記憶部を選択し制御する。フォーマット変換出力部117は、光源デバイス選択信号に基づいて画像データの画像フォーマットを決定する。
なお、データ制御部110の機能の一部または全部をソフトウェアまたはハードウェアで構成してもよい。
以下、上述のデータ制御部110について詳細に説明する。図5−1、図5−2は、複数の光源デバイスに対応したデータ制御部110の構成例を示す説明図である。データ制御部110は、パッキング処理部121、CHデータセレクタ122、SRAMライトリード制御部123、フォーマット変換出力部117、ラインシフト制御部124、スキュー補正制御部125、光源選択信号出力部115を備える。CHデータセレクタ122は、光源デバイスごとに異なる入力画像データのチャンネル(CH)の切り替えを行う。フォーマット変換出力部117は、光源デバイスごとに異なるが画像データを決定し出力する。なお、これら各部の詳細な具体的動作については後述する。
データ制御部110は、画像処理部100から4bit×4ch(チャンネル)×5版の画像データを入力し、各光源デバイスに対応した画像フォーマットで生成した画像データを光源制御部114に出力する。
データ制御部110の光源選択信号出力部115は、接続されている光源デバイスを特定するための光源デバイス選択信号:MODE[1:0]を出力する。この光源デバイス選択信号は、例えばLD光源デバイスが接続されたときはMODE=0、LED光源デバイスが接続されたときはMODE=1、VCSEL光源デバイスが接続されたときはMODE=2、のように値が一意に決まる。
LD光源デバイスが接続された場合、データ制御部110は、光源デバイス選択信号の値を参照して、LD用のパッキング処理、CHデータセレクタ制御、SRAMライトリード制御を行う。データ制御部110は、ラインシフト、ミラーリング機能、LDフォーマット変換機能を有効にし、光源制御部114にLD用のみの画像データを出力する。
VCSEL光源デバイスが接続された場合、データ制御部110は、光源デバイス選択信号の値を参照して、VCSEL用のパッキング処理、CHデータセレクタ制御、SRAMライトリード制御を行う。データ制御部110は、VCSELフォーマット変換機能を有効にし、光源制御部114にVCSEL用のみの画像データを出力する。
LED光源デバイスが接続された場合、データ制御部110は、光源デバイス選択信号の値を参照して、LED用のパッキング処理、CHデータセレクタ制御、SRAMライトリード制御を行う。データ制御部110は、ミラーリング、スキュー補正、LEDAフォーマット変換機能を有効にし、光源制御部114にLEDA用のみの画像データを出力する。
本実施の形態では、LD光源デバイスがマルチビーム方式で1色あたり2つのレーザ光源×4色で構成されている場合を最大の構成とする。または1色あたり4つのレーザ光源×2色、または1色あたり8つのレーザ光源×1色、またはVCSEL光源デバイスが1色あたり2レーン転送×4色で構成されている場合を最大の構成とする。また、本実施の形態では、lk生成部(不図示)よりデータ制御部110のSRAMライト以前に対し共通画素クロック:clk_eを供給するものとする。また、データ制御部110のSRAMリード以降及び光源制御部114に対し最大8つの独立した画素クロック:clk_w$c($:0〜7)を供給するものとする。
データ制御部110では各色のこれらの独立したクロックに変換してデータを出力するSRAMライトリード制御部123を設けている。SRAMライトリード制御部123では光源デバイス毎にSRAMを実装するとSRAM総サイズが増大するため、全ての光源デバイスで共通に使用する共通SRAMを用意することで総サイズを低減する。
共通SRAMを例えば、想定機種の主走査最大仕様として、主走査最大書込み幅:330.2[mm](13[inch])とすると、次のようになる。1ライン最大画素数:15,600[dot](1200dpi)、最大画素bit数がLD光源デバイス接続時では1200dpi 4bit/画素となる。また、VCSEL光源デバイス接続時では1200dpi 2bit/画素となる。また、LED光源デバイス接続時では1200dpi 1bit/画素の場合、1ライン最大画素bit数は、LD光源デバイス接続時では62,400[bit]、VCSEL光源デバイス接続時では31,200[bit]、LED光源デバイス接続時では15,600[bit]となる。
これらの仕様を満足するため、本実施の形態では、主走査最大書込み幅:346.8[mm]とし、1ライン最大画素数16,384[dot]とし、SRAM構成は1port、1024wまたはd×16bitとする。これはLED光源デバイス接続時において後述するスキュー補正の主走査補正単位を小さくし、16画素単位で主走査位置を調整可能にする。このとき、LD光源デバイス接続時はSRAM4本で1ライン、VCSEL光源デバイス接続時はSRAM2本で1ライン、LED光源デバイス接続時はSRAM1本で1ラインを扱う。
SRAM本数について、こちらも後述するスキュー補正の要求がある場合を想定し、236本を持つ構成とする。本実施の形態では、SRAMを使う構成としているが、これに拘らない。
次に、パッキング処理部121について説明する。パッキング処理部121は、画像処理部100から出力された画像データ:ptsy_data*x_#[3:0](*:色版:0〜4、#:チャンネル:0〜3)に対して各光源デバイス選択信号に応じてパッキング処理を行う。
本実施の形態では、16bitのSRAMを例にして記載しているのでパッキングの単位を16bitとして記載しているが、16bitに拘らず、様々なbit仕様に合わせてフォーマット変換してもよい。また、パッキング処理は、予め画像処理部100からメモリ仕様に合わせた画像フォーマットをそのまま使用する仕様としてもよい。本例では、光源デバイスごとに異なるパッキング処理を適用する。以下に光源デバイスごとのパッキング処理について説明する。
LD光源デバイス接続時のパッキング処理部121の入力画像データ:ptsy_data*x_#[3:0](*:色版:0〜3、#:チャンネル:0〜3)は、画像処理部100から入力される。パッキング処理部121は、16bitにパッキングした出力画像データ:spsdata*x_#[15:0](*:色版:0〜3、#:チャンネル:0〜3)をCHデータセレクタ122に出力する。
なお、8LD(データパス数:8)のとき、色版としてはBk版(:0x)のみ有効であるが、データパスとしてはptsy_data0x_#[3:0]とptsy_data1x_#[3:0]を使用して画像処理部100からデータが出力されるものとする。このとき8LDのうち、先行4チャンネルデータがptsy_data0x_#[3:0]、後行4チャンネルデータがptsy_data1x_#[3:0]に割り付けられるものとする。
LD光源デバイス接続の場合のパッキング処理仕様としては、4bitデータを4画素分パッキングして16bitデータフォーマットに変換する。このときパッキング処理部121は、4clk_eごとに16bitのパッキングデータを生成する。図6には、0版0チャンネルのパッキング処理例のみを示すが、その他の色版、チャンネルも同様のパッキング処理を適用する。
なお、8LD(データパス数:8)のとき、先行4チャンネルデータをspsdata0x_#[15:0]、後行4チャンネルデータをspsdata1x_#[15:0]に割り付ける。
VCSEL光源デバイス接続時のパッキング処理部121の入力画像データ:ptsy_data*x_#[3:0](*:色版:0〜4、#:チャンネル:0〜3)は、画像処理部から入力される。パッキング処理部121は、16bitにパッキングした出力画像データ:spsdata*x_#[15:0](*:色版:0〜4、#:チャンネル:0〜3)をCHデータセレクタ122に出力する。
なお、高速モノクロモード(データパス数:8)のとき、色版としてはBk版(:0x)のみ有効であるが、データパスとしてはptsy_data0x_#[3:0]とptsy_data1x_#[3:0]を使用して画像処理部100からデータが出力されるものとする。このとき8チャンネルデータのうち、先行4チャンネルデータがptsy_data0x_#[3:0]、後行4チャンネルデータがptsy_data1x_#[3:0]に割り付けられるものとする。
VCSEL光源デバイス接続の場合、パッキング処理部121は、画像データbit数によって異なるパッキング処理を行う。パッキング処理部121は、画像データbit数:1のとき上位1bitデータを16画素分取り出した16bitデータを生成し16clk_eごとに16bitのパッキングデータを生成する。パッキング処理部121は、画像データbit数:2のとき上位2bitデータを8画素分取り出した16bitデータを生成し、8clk_eごとに16bitのパッキングデータを生成する。パッキング処理部121は、画像データbit数:4のとき4画素分の16bitデータを生成し、4clk_eごとに16bitのパッキングデータを生成する。なお、VCSEL光源デバイス接続の場合の対応解像度、画像データbit数は、600dpi1/2/4bit、1200dpi1/2bitとする。
図7−1〜図7−3には、0版0チャンネルのパッキング処理例のみを示すが、その他の色版、チャンネルも同様のパッキング処理を適用する。なお、高速モノクロモード(データパス数:8)の時、先行4チャンネルデータをspsdata0x_#[15:0]、後行4チャンネルデータをspsdata1x_#[15:0]に割り付ける。
LED光源デバイス接続時のパッキング処理部121の入力画像データ:ptsy_data*x_#[3:0](*:色版:0〜3、#:チャンネル:0〜3)は、画像処理部100から入力される。パッキング処理部121は、16bitにパッキングした出力画像データ:spsdata*x_#[15:0](*:色版:0〜4、#:チャンネル:0〜3)をCHデータセレクタ122に出力する。
LED光源デバイス接続の場合、パッキング処理部121は、上位1bitデータを16画素分取り出した16bitデータを生成し16clk_eごとに16bitのパッキングデータを生成する。図8には、0版0チャンネルのパッキング処理例のみを示すが、その他の色版、チャンネルも同様のパッキング処理を適用する。
LD光源デバイス接続、またはVCSEL光源デバイス接続の場合、パッキング処理後のデータに対して、CHデータセレクタ制御を行う。LED光源デバイス接続時についてはデータの置き換えのみ実施する。
光源デバイスごとに異なるCHデータセレクタ機能を適用する。以下に光源デバイスごとのデータセレクタ機能について説明する。
LD光源デバイス接続の場合、CHデータセレクタ122からの入力画像データ:spsdata*x_#[15:0](*:色版:0〜3、#:チャンネル:0〜3)をセレクタで切り替えて出力画像データ:schdata$c_#[15:0]($:0〜7、#:チャンネル:0)をSRAMライトリード制御部123に出力する。なお、8LD(データパス数:8)のときの入力画像データは、色版としてはBk版(:0x)のみ有効であるが、データパスとしてはspsdata0x_#[15:0]とspsdata1x_#[15:0]を使用する。8LDのうち、先行4チャンネルデータをspsdata0x_#[15:0]、後行4チャンネルデータをspsdata1x_#[15:0]に割り付ける。
CHデータセレクタ122は、パッキングデータ:spsdata*x_#[15:0]とSRAMライトデータ:schdata$c_#[15:0]のデータ接続を色版切り替えレジスタ:chdtselst$c_r[2:0] ($:0〜7)と色版内チャンネル切り替えレジスタ:chdtselln$c_r[1:0]($:0〜7)により切り替える。
ラインシフト制御部124は、後述するラインシフト制御を行う場合、色版内のチャンネルをラインシフト量(shift*x_r[1:0])分、+方向にシフトした後のデータに対してデータ接続する。chdtselst$c_r[2:0]は、有効な色版に対して設定値:0〜3を設定する。chdtselln$c_r[1:0]は、有効な色版内チャンネルに対して設定値:0〜3を設定する。chdtselln$c_r[1:0]は、1LD時(データパス数:1)、設定値:0のみ有効、2LD時(データパス数:2)、設定値:0,1のみ有効、4,8LD時(データパス数:4、8)、設定値:0〜3を有効とする。
8LD時(データパス数:8)、chdtselst$c_r[2:0]は、設定値:0,1のみ有効とし、chdtselst$c_r[2:0]を0設定時、先行4チャンネルデータを選択、1設定時、後行4チャンネルデータを選択するものとする。またchdtselst$c_r[2:0]を1設定時、chdtselln$c_r[1:0]は、後行4チャンネルデータの0〜3チャンネルに対応する(8チャンネルデータのうち5〜8チャンネル目と対応)。
図9−1〜図9−4に、LD光源デバイス接続のときのデータパス数(beam数)ごとのCHデータセレクタ設定例を示す。2LD/4LD接続においては、ラインシフト量をそれぞれ1,3のときの例を示す。
VCSEL光源デバイス接続の場合、CHデータセレクタ122からの入力画像データ:spsdata*x_#[15:0](*:色版:0〜4、#:チャンネル:0〜3)をセレクタで切り替えて出力画像データ:schdata$c_#[15:0]($:0〜7、#:チャンネル:0〜3)をSRAMライトリード制御部123に出力する。なお、高速モノクロモード(データパス数:8)のとき、色版としてはBk版(:0x)のみ有効であるが、データパスとしてはspsdata0x_#[15:0]とspsdata1x_#[15:0]を使用する。8LDのうち、先行4チャンネルデータをspsdata0x_#[15:0]、後行4チャンネルデータをspsdata1x_#[15:0]に割り付ける。
CHデータセレクタ122は、パッキングデータ:spsdata*x_#[15:0]とSRAMライトデータ:schdata$c_#[15:0]のデータ接続を色版切り替えレジスタ:chdtselst$c_r[2:0]($:0〜7)により切り替える。さらにCHデータセレクタ122は、SRAMライトデータの$に割り当てるデータパス単位で接続を切り替える(色版内のチャンネルは切り替えない)。
1色あたりのレーン数:1の場合、chdtselst$c_r[2:0]は、有効な色版に対して設定値を排他に設定する(1つのspsdata*x_#の色版データに対して1つのschdata$c_#のチャンネル単位のデータを生成)。1色あたりのレーン数:2の場合、chdtselst$c_r[2:0]は、有効な色版に対してspsdata*x_#の各色版データを各2つのschdata$c_#に接続するように設定する(1つのspsdata*x_#の色版データに対して2つのschdata$c_#のチャンネル単位のデータを生成)。
通常モード(データパス数:4)の場合は、chdtselst$c_r[2:0]により、spsdata*x_#の各色版データを各schdata$c_#に接続する。chdtselst$c_r[2:0]は、有効な色版に対して設定値:0〜4を設定する。高速モノクロモード(データパス数:8)の場合、chdtselst$c_r[2:0]は、有効なチャンネルに対して設定値:0を設定する。このときchdtselst$c_r[2:0]は、chdtselst0c_r[2:0]〜chdtselst3c_r[2:0]のみ有効、chdtselst4c_r[2:0]〜chdtselst7c_r[2:0]は無効とする。
chdtselst$c_r[2:0]により、spsdata0x_#、spsdata1x_#のBk版データを2つのschdata$c_#に接続する。schdata$c_#への接続と適応するclk_w$cのチャンネルの対応は、chdtselst$c_r[2:0]の設定値に基づいて一意に決まる。
chdtselst0c_r[2:0]:0のとき、schdata0c_#、schdata4c_#と接続、対応する$チャンネルは0である。chdtselst1c_r[2:0]:0のとき、schdata1c_#、schdata5c_#と接続、対応する$チャンネルは1である。chdtselst2c_r[2:0]:0のとき、schdata2c_#、schdata6c_#と接続、対応する$チャンネルは2である。chdtselst3c_r[2:0]:0のとき、schdata3c_#、schdata7c_#と接続、対応する$チャンネルは3とする。
図10−1、図10−2に、VCSEL光源デバイス接続のときの1色あたりの転送レーン数ごとのCHデータセレクタ設定例を示す。
LED光源デバイス接続の場合、CHデータセレクタ122からの入力画像データ:spsdata*x_#[15:0](*:色版:0〜3、#:チャンネル:0〜3)をセレクタで切り替えて出力画像データ:schdata$c_#[15:0]($:0,2,4,6、#:チャンネル:0〜3)をSRAMライトリード制御部123に出力する。LED光源デバイスの場合、CHデータセレクタ設定は固定で使用し、データの置き換えのみ実施する。
パッキングデータ:spsdata*x_#[15:0]とSRAMライトデータ:schdata$c_#[15:0]のデータ接続をCHデータセレクタレジスタ:色版:chdtselst$c_r[2:0]により切り替え$チャンネルに割り当てるデータパス単位(色版単位)で接続を切り替える(色版内のチャンネルは切り替えない)。chdtselst$c_r[2:0]により、spsdata*x_#の色版データをschdata$c_#に接続する。chdtselst$c_r[2:0]は、図11のCHデータセレクタ設定に従い設定する。図11に、LED光源デバイス接続のときのCHデータセレクタ設定を示す。
次にSRAMライトリード制御部123によるSRAMライトリード制御について説明する。SRAMライトリード制御部123は、CHデータセレクタ122の出力データ:schdata$c_#[15:0]を、データパス数応じた1/2/4/8ラインデータをlclre*x周期でSRAMにライトし、光源デバイスに応じたラインデータをlclrw$c周期でSRAMからリードする。SRAMに対して、ライト制御をlclre*x周期にて、リード制御をlclrw$c周期にて、トグル動作させることで、clk_e(ライトクロック)→clk_w$c(リードクロック)への速度変換を実現する。
光源デバイスごとのSRAM割付とリードクロック:clk_w$cとの接続関係を図12のように指定する(なお、ライトクロックは全てclk_eである)。
また、SRAMは、光源デバイスに応じて、SRAMとSRAMライトデータ:schdata$c_#[15:0]との接続関係を図13のように指定する。すなわち、光源デバイスごとに、schdata$c_#[15:0]とSRAMとclk_w$cとの接続関係を指定しており、schdata$c_#[15:0]と$チャンネルとの接続関係は予め指定している。
適用する光源デバイスに対して、SRAMライトリード制御部123の制御を切り替える。以下に各光源デバイスごとのSRAMライトリード制御を説明する。
LD光源デバイス接続の場合、CHデータセレクタ122からSRAMライトリード制御部123の入力画像データ:schdata$c_#[15:0]($:0〜7、#:チャンネル:0)を元にSRAMにデータをライトし、SRAMからのリードデータを元にSRAMライトリード制御部123の出力画像データ:srdata$c[15:0]($:0〜7)を生成し、フォーマット変換出力部117に出力する。
LD光源デバイス接続の場合、SRAM:4本で1ラインデータを扱う。SRAMライトクロックはclk_e、SRAMリードクロックはclk_w$c($: 0〜7)を使用し、SRAMライト処理は4clk_eごと、SRAMリード処理は4clk_w$c($:0〜7)ごと行う。
LD光源デバイス接続時では、使用する各SRAMとリードクロック:clk_w$c($:0〜7)を図14のように指定する。
LD光源デバイス接続時のSRAMライトリード制御の詳細について説明する。まず、画像処理部100から出力される副走査ゲート信号をCHデータセレクタ122でセレクトしたskwfgate_add$cアサートトリガから次のlclre*xアサートまでの期間において、最初のデータパス数(beam数)単位のラインデータをSRAMライト用ブロックカウンタ:skwblkcount$cの値に対応するSRAMに対して4clk_eごとにライトする。
skwblkcount$cは、skwfgate_add$c基準のカウンタで、skwfgate_add$cアサートトリガでカウンタ初期値:0をロードし、lclre*xにて+1ずつインクリメントする。skwblkcount$cは、skwfgate_add$cがアクティブのときにアクティブであり、LD光源デバイス接続の場合、3に達すると0をロードする。
次のlclre*x周期に、次のデータパス数(beam数)単位のラインデータをskwblkcount$cの値に対応するSRAMに対して4clk_eごとにライトしつつ、最初にライトしたデータパス数(beam数)単位のラインデータをskrblkcount$cの値に対応するSRAMから、lclrw$c単位で4clk_w$cごとにリードする。
skrblkcount$cは、skrfgate_add$c基準のカウンタで、skrfgate_add$cアサートトリガでカウンタ初期値:0をロードし、lclrw$cにて+1ずつインクリメントする。skrblkcount$cは、skrfgate_add$cがアクティブのときにアクティブであり、LD光源デバイス接続の場合、3に達すると0をロードする。
skrfgate_add$cとは、skwfgate_add$cを1lclre*x遅延し、lclrw$c基準で生成したSRAMリード後の副走査ゲート信号である。次のlclre*x周期以降同様にデータパス数(beam数)単位でskwblkcount$cの値に対応するSRAMに対してライト制御を、lclrw$c単位でskrblkcount$cの値に対応するSRAMに対してリード制御を、それぞれ繰り返す。
また、SRAMライトリード制御部123は、LD光源デバイス接続の場合、データパス数(beam数)、ラインシフト量に応じてライトリード制御の対象SRAMを切り替える(ラインシフトはライト制御対象SRAMのみ切り替える)。
図15−1〜図15−4にラインシフトなしの場合のSRAMライトリード制御のタイミングチャートを示す。
SRAMライトリード制御部123は、VCSEL光源デバイス接続の場合、CHデータセレクタ122からの入力画像データ:schdata$c_#[15:0]($:0〜7、#:チャンネル:0〜3)を元にSRAMにデータをライトし、SRAMからのリードデータを元にSRAMライトリード制御部の出力画像データ:srdata$c[15:0]($:0〜7)を生成し、VCSELのフォーマット変換出力部117に出力する。
SRAMライトリード制御部123は、VCSEL光源デバイス接続の場合、SRAM:2本で1ラインデータを扱う。SRAMライトクロックは、clk_e、SRAMリードクロックは、clk_w$c($:0〜7)を使用する。SRAMライト処理は、画像データbit数に応じて処理単位を変え、画像データbit数が1のとき、16clk_eごと、画像データbit数が2のとき、8clk_eごと、画像データbit数が4のとき、4clk_eごとに行う。SRAMリード処理は、転送レーン数に応じて処理単位を変え、転送レーン数が1のとき、2clk_w$c($:0〜7)ごと、転送レーン数が2のとき、1clk_w$c($:0〜7)ごと行う。
なお、データパス数:8(高速モノクロモード)のとき、リードクロック:clk_w$cは0〜3のみを使用し、4〜7は使用しない。
SRAMライトリード制御部123は、VCSEL光源デバイス接続時では、データパス数(4または8、通常モードまたは高速モノクロモード)によって対象のSRAMを切り替える。使用する各SRAMとリードクロック:clk_w$c($:0〜7)を図16−1、図16−2のように指定する。
次にVCSEL光源デバイス接続時のSRAMライトリード制御の詳細について説明する。まず、SRAMライトリード制御部123は、skwfgate_add$cアサートトリガから次のlclre*xアサートまでの期間において、最初のデータパス数(4または8)単位のラインデータをskwblkcount$cの値に対応するSRAMに対して、画像データbit数に基づいた処理単位(4または8または16clk_e)ごとにライトする。skwblkcount$cは、VCSEL光源デバイス接続の場合、1に達すると0をロードする。
SRAMライトリード制御部123は、次のlclre*x周期に、次のデータパス数(4または8line)単位のラインデータのライト及びリードを行う。SRAMライトリード制御部123は、skwblkcount$cの値に対応するSRAMに対して、画像データbit数に基づいた処理単位(4または8または16clk_e)ごとにライトしつつ、最初にライトしたデータパス数(4または8line)単位のラインデータをskrblkcount$cの値に対応するSRAMから、lclrw$c(1line)単位で、lclre*x周期のlclrw$c分(4または8line分)、SRAMから転送レーン数に応じて1または2clk_w$cごとにリードする。
skrblkcount$cは、VCSEL光源デバイス接続の場合、データパス数:4のとき7、データパス数:8のとき15に達すると0をロードする。
SRAMライトリード制御部123は、次のlclre*x周期以降同様にデータパス数(4または8line)単位でskwblkcount$cの値に対応するSRAMに対してライト制御を、lclrw$c(1line)単位でskrblkcount$cの値に対応するSRAMに対してリード制御を、それぞれ繰り返す。
また、SRAMライトリード制御部123は、VCSEL光源デバイス接続の場合、データパス数(4または8line)、転送レーン数に応じてライトリード制御の対象SRAMを切り替える(ラインシフトはライト制御対象SRAMのみ切り替える)。図17−1〜図17−3にSRAMライトリード制御のタイミングチャートを示す。
また、SRAMライトリード制御部123は、LED光源デバイス接続の場合、CHデータセレクタ122からSRAMライトリード制御部123の入力画像データ:schdata$c_#[15:0]($:0,2,4,6、#:チャンネル:0〜3)を元にSRAMにデータをライトする。SRAMライトリード制御部123は、SRAMからのリードデータを元にSRAMライトリード制御部123の出力画像データ:srdata$c[15:0]($:0,2,4,6)を生成し、LEDのフォーマット変換出力部117に出力する。LED光源デバイス接続の場合、SRAM:1本で1ラインデータを扱う。
SRAMライトクロックは、clk_e、SRAMリードクロックはclk_w$c($:0,2,4,6)を使用し、SRAMライト処理は16clk_eごと行い、SRAMリード処理は1clk_w$c($:0,2,4,6)ごと行う。LED光源デバイス接続時では、使用する各SRAMとリードクロック:clk_w$c($:0,2,4,6)を図18のように指定する。
次にLED光源デバイス接続時のSRAMライトリード制御の詳細について説明する。まず、SRAMライトリード制御部123は、skwfgate_add$cアサートトリガから次のlclre*xアサートまでの期間において、最初のデータパス数(4line)単位のラインデータをskwblkcount$cの値に対応するSRAMに対して、16clk_eごとにライトし、それ以外のSRAMに対して同じタイミングで白データ(0データ)をライトする。
skwblkcount$cは、LED光源デバイス接続の場合、Bk:skwblkcount0cは4、その他のCol:skwblkcount$c($:2,4,6)は17に達すると0をロードする。
次のlclre*x周期に、次のデータパス数(4line)単位のラインデータをskwblkcount$cの値に対応するSRAMに対して、16clk_eごとにライトしつつ、最初にライトしたデータパス数(4line)単位のラインデータをskrblkcount$cの値に対応するSRAMから、lclrw$c(1line)単位で、lclre*x周期のlclrw$c分(4line分)、SRAMから1clk_w$cごとにリードする。
skrblkcount$cは、LED光源デバイス接続の場合、Bk:skrblkcount0cは19、その他のCol:skrblkcount$c($:2,4,6)は71に達すると0をロードする。
SRAMライトリード制御部123は、次のlclre*x周期以降同様にデータパス数(4line)単位でskwblkcount$cの値に対応するSRAMに対してライト制御を、lclrw$c(1line)単位でskrblkcount$cの値に対応するSRAMに対してリード制御を、それぞれ繰り返す。図19−1、図19−2、図19−3にSRAMライトリード制御のタイミングチャートを示す。
次にラインシフト制御部124のラインシフト制御について説明する。LD光源デバイス接続時において、カラーマルチビーム書込の場合、基準色の潜像画像に対して、多色の副走査書き出し位置補正手段として、出力画像データの副走査方向のレジストずれ量を1[line]以下に抑えることが可能となるラインシフト機能を持つ構成とする。
なお、本実施の形態では8LD書込においてはモノクロ機種想定のため対応しないが、2または4LD書込において対応する。また通常基準色はBkとするためBkのラインシフト機能は不要とできるが、前述のCHデータセレクタ122においてデータパスを切り替えることができるので全版分対応する。
ラインシフト量は、2LD書込の場合、0,1[line]、4LD書込の場合、0,1,2,3[line]、ラインシフト補正方向は、+方向を画像下方向とし、ラインシフト補正レジスタ:shift*x_rを持つ構成とする。
次にラインシフト制御時のSRAMライトリード制御の詳細について説明する。まず、skwfgate_add$cアサートトリガから次のlclre*xアサートまでの期間において、白データ(0データ)をラインシフト量(shift*x_r)とskwblkcount$cの値に対応するSRAMに対してライトしつつ、パッキング処理部121で16bitのパッキングに変換後のデータのデータパス数(LD数)単位のラインデータをラインシフト量分、CHデータ接続をシフトし(schdata$c_#[15:0]とSRAMの色版内の$cに対応したSRAMとの割付関係をシフトし)、SRAMに4clk_eごとにライトする。
次のlclre*x周期に、次のデータパス数(beam数)単位のラインデータをskwblkcount$cの値に対応するSRAMに対して4clk_eごとにライトしつつ、最初にライトした白データ(0データ)とライトしたラインデータのうち、白データ(0データ)からデータパス数(beam数)分を、skrblkcount$cの値に対応するSRAMから、lclrw$c単位で4clk_w$cごとにリードする。
次のlclre*x周期以降同様にデータパス数(beam数)単位でskwblkcount$cの値に対応するSRAMに対してライト制御を、lclrw$c単位でskrblkcount$cの値に対応するSRAMに対してリード制御を、それぞれ繰り返す。図20にラインシフト時の場合のSRAMライトリード制御のタイミングチャートを示す。
次にミラーリング処理について説明する。図21−1にLD光源デバイス接続時のミラーリングbit配置入れ替え例、図21−2にLED光源デバイス接続時のミラーリングbit配置入れ替え例を示す。LD光源デバイス接続、LED光源デバイス接続時において、SRAMリード時にミラーリング機能を有する。主走査の潜像をドラム後端から行う場合(ミラーリング設定レジスタ:mirror$c_r=1($:0〜7))、SRAMに格納した画像データの読出しを主走査の後端から開始する。画像データのdot数情報から、SRAMの読出し位置を決定する(ミラー時、読出し開始アドレスの決定に使用)。
また、リードデータのbitの配置を入れ替える。光源デバイス選択信号に応じて、画素単位でデータのbit配置のmsb⇔lsbを入れ替える。bit配置の入れ替えは各光源デバイスごとのフォーマット変換で行う。
次にスキュー補正制御部125のスキュー補正について説明する。LED光源デバイス接続時において、LEDA(発光ダイードを主走査方向に一体的に配列したデバイス)の取り付けスキューとうねり(ヘッド単体の固有のずれ量)やLEDAと感光体ドラム10の位置のずれなどによって生じるスキューずれや曲がりを補正する。スキュー補正制御部125は、画像データを主走査分割し、分割したブロック単位の画像データを副走査方向にシフトして色ずれをキャンセルするスキュー補正機能を持つ。スキュー補正制御部125は、色合わせ実行時にスキュー量を検出し、スキュー量に応じてシフト量とシフト位置を決定し、スキュー補正制御を行うことで色ずれを1ライン(副書込解像度)以下にキャンセルすることが可能となる。図22にスキュー補正の概念図を示す。
本実施の形態では、スキュー補正機能によるキャンセル可能な色ずれ補正量は、Bk以外とBkとで異なる仕様とする。Bk以外はうねり補正+スキュー補正分、Bkはうねり補正分のみの対応とし、色間の補正はBk以外にて補正することとすることでSRAMの容量を抑える。
スキュー補正の最大補正量は、Bk以外は64ライン、Bkは12ライン(Bk以外は65ライン分、Bkは13ライン分記憶可能)とする。この場合、副走査書込解像度:600dpiのとき、Bk以外は2707.2[um]、Bkは507.6[um]まで補正可能、副走査書込解像度:1200dpiのとき、Bk以外は1353.6[um]、Bkは253.8[um]まで補正可能、副走査書込解像度:2400dpiのとき、Bk以外は676.8[um]、Bkは126.9[um]補正可能となる。
スキュー補正の主走査エリア分割仕様としては、最大164分割可能(エリア1〜163は等分割)とし、先端エリア開始幅(エリア0幅)レジスタ:skstart$c_rとエリア1からエリア163の幅レジスタ:skwd$c_rによって任意の幅に設定できるようにする。ただし、16画素単位とする。
スキュー補正量は、スキュー補正シフト量レジスタとスキュー補正シフト方向レジスタに基づいて決定する。エリア0のスキュー補正量を、sksft0_$c_r[6:0]により設定する。エリア1〜163のスキュー補正量は、各エリアの前エリアからの補正量と副走査方向を、sksft0_$c_r[6:0]とsksftθ_$c_rとskphsθ_$c_rにより指定する(θ:スキュー補正エリア:1〜163)。
各エリアにおけるスキュー補正量をスキュー補正量カウンタ:sksft$c[6:0]($:0,2,4,6)にてカウントする。sksft$c[6:0]は主走査位置が各エリアの開始位置に位置するとスキュー補正(エリア0)設定レジスタ:sksft0_$c_r[6:0]とスキュー補正シフト量(エリア1〜163)設定レジスタ:sksftθ_$c_rとスキュー補正方向(エリア1〜163)設定レジスタ:skphsΔ_$c_rの設定値に基づいて値を更新する。sksft$c[6:0]の最大設定値は、sksft0c[6:0]:12、sksft$c[6:0]:64($:2,4,6)である。
sksft0_$c_r[6:0]は、skstart$c_r[13:0]により指定したエリア0に対するスキュー補正量である。sksft0_$c_r[6:0]の最大設定値は、sksft0_0c_r[6:0]:12、sksft0_$c_r[6:0]:64($:2,4,6)である。
スキュー補正シフト量(エリア1〜163)設定レジスタ:sksftθ_$c_r(θ:エリア:1〜163、$:0,2,4,6)は、sksftθ_$c_rは、前エリアのスキュー補正量に対するシフト量を指定し、前エリアのスキュー補正量に対してシフトしない場合、0を、前エリアのスキュー補正量に対してシフトする場合、1を設定する。
スキュー補正方向(エリア1〜163)設定レジスタ:skphsθ_$c_r(θ:エリア:1〜163、$:0,2,4,6)は、前エリアのスキュー補正量に対してシフトする場合の副走査のシフト方向を指定する。skphsθ_$c_rは、sksftθ_$c_r:1のとき、−方向(画像上で上方向)にシフトしたい場合、1を設定、+方向(画像上で下方向)にシフトしたい場合、0を設定する。
sksft$cと、skrblkcount$cと、SRAMリードブロックカウンタ初期化設定値:ini$c(Bk:19、その他の色:71)に基づいてSRAMリードセレクタ:skrsramsel$cを設定し、SRAMリードデータより有効にする画像データを設定する。skrsramsel$cにより選択されないSRAMリードデータについては白データ(0データ)でマスクし、選択されたデータとORしてスキュー補正後画像を生成し、SRAMライトリード制御部の出力画像データ:srdata$c[15:0]とする。
skrblkcount$c ≧ sksft$cのとき、sramsel$c = skrblkcount$c − sksft$c
skrblkcount$c < sksft$cのとき、sramsel$c = skrblkcount$c − sksft$c + ini$c + 1
次にフォーマット変換出力部117のLDフォーマット変換について説明する。LD光源デバイス接続時において、SRAMライトリード制御部123からの16bitの入力画像データ:srdata$c[15:0]($:0〜7)に対して、4bit×4画素の画像データに変換して、光源制御部のγ変換制御部に出力する。SRAMから4clk_w$cごとにリードされた画像データを元に生成されたsrdata$c[15:0]を4clk_w$cごとにリードし、1clk_w$cごとにslddata$c[3:0]を生成する。また、ミラーリング時、slddata$c[3:0]生成時に画素単位でデータのbit配置のmsb⇔lsbを入れ替える。
図23に、1LD時の0cのLDフォーマット変換の例のみを示すが、その他の場合も同様のフォーマット変換処理を適用する。
次にフォーマット変換出力部117のVCSELフォーマット変換について説明する。VCSEL光源デバイス接続時において、SRAMライトリード制御部123からの16bitの入力画像データ:srdata$c[15:0]($:0〜7)に対して、8bitデータに変換して、光源制御部のシリアライザ部に出力する。VCSELフォーマット変換処理は、転送レーン数により変換処理が異なる。
フォーマット変換出力部117は、転送レーン数:1の場合、1色あたり1ch分の入出力画像データを扱い、SRAMから2clk_w$cごとにリードして生成したsrdata$c[15:0]に対して、1clk_w$cごとにパラレル・シリアル変換し、svcdata$c[7:0]×2を生成する。svcdata$c[7:0]は、先行clkでsrdata$c[15:0]の上位8bit、後行clkでsrdata$c[15:0]の下位8bitを割り付ける。図24に、転送レーン数:1の時の0cのVCSELフォーマット変換時の例を示すが、その他の場合も同様のフォーマット変換処理を適用する。
フォーマット変換出力部117は、転送レーン数:2の場合、1色あたり2ch分の入出力画像データを扱い、SRAMから1clk_w$cごとにリードして生成したsrdata$c[15:0]×2chに対して、一方は上位8bit、一方は下位8bitを有効とする。上下8bit選択レジスタ:serdsel$c_r($: 0〜7)により、同じ色版の2ch分の設定を排他にする。
図25に、転送レーン数:2の時の1色分(2ch分:0,1ch)のVCSELフォーマット変換時の例を示すが、その他の場合も同様のフォーマット変換処理を適用する。
次にフォーマット変換出力部117のLEDフォーマット変換について説明する。LED光源デバイス接続時において、SRAMライトリード制御部123からの16bitの入力画像データ:srdata$c[15:0]($:0,2,4,6)に対して、1clk_w$cごとにリードし、sledata$c[15:0]を生成し、光源制御部114のLEDI/F部に出力する。また、ミラーリング時、sledata$c[15:0]生成時にデータのbit配置のmsb⇔lsbを入れ替える。
したがって、上述してきた実施の形態によれば、1つのデータ制御部110で複数の光源デバイスに対応することが可能となる。また、本実施の形態では、LED光源デバイス接続時、スキュー補正機能実現のためスキュー補正で必要なSRAM容量を持つ構成としている。他の光源デバイス接続時では、このSRAM領域を使って、幾つかの機能を実現することが可能となる。
また、LD光源デバイス接続時ではラインシフト、VCSEL光源デバイス接続時では転送レーン数の増加と高速モノクロモード対応が可能となる。また、SRAMライト前にCHデータセレクタ122を設けて、SRAM制御前に任意のchを自由に切り替えることも可能である。LD光源デバイス接続時、VCSEL光源デバイス接続時に$チャンネルごとにSRAM容量を確保することができるためであり、出力chを自由に選択設定することが可能となる。
ところで、本実施の形態の画像処理装置で実行されるプログラムは、ROM等に予め組み込まれて提供される。また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供してもよい。
さらに、本実施の形態で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
本実施の形態で実行されるプログラムは、上述した各部を含むモジュール構成となっている。実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっている。
なお、本実施の形態では、カラー画像形成装置を例にとっているが、これに限定されずことなく、複数の光源デバイスに対応可能な例えばプリンタ装置、ファクシミリ装置などにも適用可能である。