以下、添付図面を参照しながら、本発明にかかる書込制御装置を備える画像形成装置の実施形態を詳細に説明する。以下の実施形態では、本発明の画像形成装置を、電子写真方式の印刷装置に適用した場合を例に取り説明するが、これに限定されるものではない。本発明の画像形成装置は、電子写真方式で画像を形成する装置であれば適用でき、例えば、電子写真方式の複写機や複合機(MFP:Multifunction Peripheral)などにも適用できる。なお、複合機とは、印刷機能、複写機能、スキャナ機能、及びファクシミリ機能のうち少なくとも2つの機能を有する装置である。
図1は、本実施形態の印刷装置10の全体構成の一例を示す模式図である。図1に示すように、印刷装置10は、給紙トレイ12と、給紙ローラ14と、分離ローラ対16と、画像形成部18と、定着部40とを、備える。なお図1に示す例では、後述するように、搬送ベルトに沿って各色の作像部が配列されたいわゆるタンデムタイプと称される印刷装置を示しているが、これに限定されるものではない。
給紙トレイ12には、複数の記録紙が重ね合わせて収容される。
給紙ローラ14は、給紙トレイ12の最上部に位置する記録紙Pに当接されており、当接している記録紙Pを給紙する。
分離ローラ対16は、給紙ローラ14により給紙された記録紙Pを画像形成部18へ送る。なお、給紙ローラ14により2枚以上の記録紙が給紙された場合には、分離ローラ対16は、記録紙P以外の記録紙を押し戻すことにより、記録紙Pと記録紙P以外の記録紙とを分離し、記録紙Pのみを画像形成部18へ送る。
画像形成部18は、分離ローラ対16から送られた記録紙Pに画像を形成するものであり、作像部20B、20M、20C、及び20Yと、VCSEL(Vertical Cavity Surface Emitting LASER)32B、32M、32C、及び32Y(光源の一例)と、搬送ベルト34と、駆動ローラ36と、従動ローラ38とを、備える。
作像部20B、20M、20C、及び20Yは、分離ローラ対16から送られた記録紙Pを搬送する搬送ベルト34の搬送方向の上流側から作像部20B、20M、20C、及び20Yの順番で搬送ベルト34に沿って配列されている。
作像部20Bは、感光体ドラム22B、並びに感光体ドラム22Bの周囲に配置された帯電器24B、現像器26B、転写器28B、感光体クリーナ(図示省略)、及び除電器30Bを備える。作像部20B及びVCSEL32Bは、感光体ドラム22B上で、作像プロセス(帯電工程、露光工程、現像工程、転写工程、クリーニング工程、及び除電工程)を行うことにより、感光体ドラム22B上にブラックのトナー画像を形成する。
なお、作像部20M、20C、及び20Yは、いずれも作像部20Bと共通の構成要素を備えており、作像部20Mは、作像プロセスを行うことによりマゼンタのトナー画像を形成し、作像部20Cは、作像プロセスを行うことによりシアンのトナー画像を形成し、作像部20Yは、作像プロセスを行うことによりイエローのトナー画像を形成する。このため、以下では、作像部20Bの構成要素についての説明を主に行い、作像部20M、20C、及び20Yの構成要素については、作像部20Bの構成要素の符号に付したBに替えてそれぞれM、C、Yを付すに留め、その説明を省略する。
感光体ドラム22Bは、駆動モータにより回転駆動される。
まず、帯電工程では、帯電器24Bは、回転駆動されている感光体ドラム22Bの外周面を暗中にて一様に帯電する。
続いて、露光工程では、VCSEL32Bは、回転駆動されている感光体ドラム22Bの外周面をブラック画像に応じた照射光で露光し、感光体ドラム22B上にブラック画像に基づく静電潜像を形成する。
続いて、現像工程では、現像器26Bは、感光体ドラム22B上に形成された静電潜像をブラックトナーで現像し、感光体ドラム22B上にブラックのトナー画像を形成する。
続いて、転写工程では、転写器28Bは、感光体ドラム22Bと搬送ベルト34により搬送される記録紙Pとが接する転写位置で、感光体ドラム22B上に形成されたブラックのトナー画像を記録紙Pに転写する。なお、感光体ドラム22B上には、トナー画像の転写後においても未転写トナーが僅かながら残存する。
続いて、クリーニング工程では、感光体クリーナは、感光体ドラム22B上に残存している未転写トナーを払拭する。
最後に、除電工程では、除電器30Bは、感光体ドラム22B上の残留電位を除電する。そして、作像部20Bは、次回の画像形成を待機する。
搬送ベルト34は、駆動ローラ36と従動ローラ38とに巻回されたエンドレスのベルトであり、分離ローラ対16から送られた記録紙Pが静電吸着作用により吸着される。搬送ベルト34は、駆動ローラ36が駆動モータにより回転駆動させられることにより無端移動し、吸着されている記録紙Pを作像部20B、20M、20C、20Yの順に搬送する。
そして、搬送ベルト34により搬送される記録紙Pには、まず、作像部20Bによりブラックのトナー画像が転写され、続いて、作像部20Mによりマゼンタのトナー画像、作像部20Cによりシアンのトナー画像、作像部20Yによりイエローのトナー画像が重畳して転写される。これにより、記録紙P上にフルカラーの画像が形成される。
定着部40は、搬送ベルト34から剥離された記録紙Pを加熱及び加圧することにより、作像部20B、20M、20C、及び20Yにより形成されたフルカラーの画像を記録紙Pに定着させる。画像が定着された記録紙Pは、印刷装置10の外部に排紙される。
なお、図1に示す例では、印刷装置10が1次転写方式を採用している場合について説明したが、これに限定されず、中間転写ベルトなどを用いた2次転写方式を採用してもよい。
図2は、本実施形態の印刷装置10の電気的構成の一例を示すブロック図である。図2に示すように、印刷装置10は、CPU(Central Processing Unit)101と、外部メモリ102と、第1の副走査変倍制御部110(第1の転送制御部の一例)と、第2の副走査変倍制御部120(第1の転送制御部の一例)と、プロッタ制御部130(第2の転送制御部の一例)と、画像展開部150と、CTL(コントローラ)160と、ページメモリ161と、VCSEL32B、32M、32C、及び32Yと、を備える。
第1の副走査変倍制御部110、第2の副走査変倍制御部120、及びプロッタ制御部130は、例えば、IC(Integrated Circuit)などのハードウェアにより実現できる。画像展開部150及びCTL160は、ICなどのハードウェアと、CPUなどの処理装置にプログラムを実行させること、即ち、ソフトウェアと、を併用して実現してもよいし、ソフトウェア単独で実現してもよい。
第1の副走査変倍制御部110は、パラメータ制御部111と、ビデオ入力部112と、DES(デシリアライザ)113と、ドライバ114B、114M(点灯制御部の一例)と、を備える。第2の副走査変倍制御部120は、パラメータ制御部121と、ビデオ入力部122と、DES123と、ドライバ124C、124Y(点灯制御部の一例)と、を備える。
プロッタ制御部130は、パラメータ制御部131と、ノイズ除去部132と、ビデオ入力部133と、ラインメモリ134(記憶部の一例)と、画像処理部135と、画素カウント部136と、スキュー補正部137と、ラインメモリ138と、8B/10B変換部139と、SER(シリアライザ)140と、を備える。
パラメータ制御部111は、メモリを有しており、第1の副走査変倍制御部110の各部を制御するためのパラメータを当該メモリに記憶し、第1の副走査変倍制御部110の各部にパラメータを伝達する。本実施形態では、パラメータ制御部111が有するメモリは、FF(flip-flop)メモリであるものとするが、これに限定されず、SRAM(Static Random Access Memory)やFIFO(First In First Out)メモリなどであってもよい。また、パラメータ制御部111は、CPU101と通信することで、記憶しているパラメータを書き換えることができる。なお、外部メモリ102を用いることで、パラメータ制御部111の記憶領域を拡大したり、パラメータ制御部111のパラメータを機種毎に最適化したりするようにしてもよい。
パラメータ制御部121については、対象が第2の副走査変倍制御部120である点を除き、パラメータ制御部111と同様であるため、説明を省略する。また、パラメータ制御部131についても、対象がプロッタ制御部130である点を除き、パラメータ制御部111と同様であるため、説明を省略する。
PC(Personal Computer)200は、PC200が有するプリンタドライバを介して、印刷装置10に印刷動作を指示し、1ページ以上の画像データを印刷装置10に送信する。
CTL160は、PC200から1ページ以上の画像データを受信し、受信した各ページの画像データをページメモリ161に展開してビットマップデータに変換することで、各ページの画像データを実際に印刷する画像データとし、画像展開部150に転送する。
CPU101は、PC200から印刷動作が指示された後、印刷装置10の印刷準備が整ったことを確認すると、第1の副走査変倍制御部110及び第2の副走査変倍制御部120においてスタートトリガ(STTRIG)を起動させる。例えば、CPU101は、パラメータ制御部111、121、又は外部信号を用いて、第1の副走査変倍制御部110及び第2の副走査変倍制御部120に対してスタートトリガ信号を送信する。
ビデオ入力部112は、スタートトリガ信号が送信されると、スタートトリガを生成し、生成したスタートトリガを起点として、ブラック及びマゼンタそれぞれのFSYNC_N信号及びLSYNC_N信号(第1のライン同期信号の一例)を生成し、プロッタ制御部130に転送する。同様に、ビデオ入力部122は、スタートトリガ信号が送信されると、スタートトリガを生成し、生成したスタートトリガを起点として、シアン及びイエローそれぞれのFSYNC_N信号及びLSYNC_N信号(第1のライン同期信号の一例)を生成し、プロッタ制御部130に転送する。
FSYNC_N信号は、ページ周期信号であり、LSYNC_N信号は、第1の副走査変倍制御部110でのライン周期信号である。
以降の処理は、ブラック、マゼンタ、シアン、及びイエローそれぞれに対し行われるが、説明が冗長になるため、以下では色についての言及は省略する。
ノイズ除去部132は、FSYNC_N信号やLSYNC_N信号が転送されると、転送されたFSYNC_N信号やLSYNC_N信号から、静電気パルスなどの外部環境によるノイズを除去する。
ノイズ除去部132は、ノイズを除去したFSYNC_N信号をFSYNC信号とし、ビデオ入力部133に転送する。またノイズ除去部132は、FSYNC信号を起点として、LSYNC_N信号の間引き処理を開始し、当該LSYNC_N信号をN(Nは自然数)本受信する毎に、LCLR信号(第2のライン同期信号の一例)を生成し、ビデオ入力部133に転送する。
本実施形態では、N=4の場合を例に取り説明するが、これに限定されるものではない。LCLR信号は、プロッタ制御部130でのライン周期信号である。
ビデオ入力部133は、画像展開部150と相互に信号をやり取りし、画像データをビデオ入力部133に転送させる。具体的には、ビデオ入力部133は、FSYNC信号を起点として、MFSYNC信号を生成し、画像展開部150に転送する。また、ビデオ入力部133は、LCLR信号を起点として、M(Mは自然数)本のMLSYNC信号を生成し、画像展開部150に転送する。
本実施形態では、M=4の場合を例に取り説明するが、これに限定されるものではない。MFSYNC信号は、ページ先端を示すパルス式の同期信号であり、MLSYNC信号は、ライン先端を示すパルス式の同期信号である。
画像展開部150は、転送されたM本のMLSYNC信号それぞれ毎に、当該MLSYNC信号の転送タイミングに合わせて1ライン分の画像データをビデオ入力部133に転送する。本実施形態では、M=4であるため、4ライン分の画像データがビデオ入力部133に転送される。
なお本実施形態では、画像展開部150とビデオ入力部133とは、同一の動作クロックで動作しているものとする。
ビデオ入力部133は、Mライン分の画像データが1ラインずつ転送されるので、1ライン分ずつ画像データをラインメモリ134に書き込む。これにより、Mライン分の画像データがラインメモリ134に書き込まれる。そして、ビデオ入力部133は、ラインメモリ134への書き込み後にLCLR信号が転送されると、O(Oは自然数)ライン分の画像データをラインメモリ134から同時に読み出す。本実施形態では、O=4の場合を例に取り説明するが、これに限定されるものではない。
画像処理部135は、ビデオ入力部133により同時に読み出されたOライン分の画像データそれぞれに、内部パターンの付加やトリミング処理などの各種画像処理を施す。なお、画像処理用のラインメモリを用意し、ジャギー補正などのラインメモリを要する画像処理を行うようにしてもよい。
また、画像処理部135は、Oライン分の画像データそれぞれに重畳されるテストパターンや偽造防止用パターンを生成したり、各調整用パターンを生成したりすることもできる。調整用パターンは、例えば、濃度調整用パターン、色ずれ補正用パターン、及びブレード捲れ回避用パターン(感光体全露光パターン)などが挙げられる。
画素カウント部136は、画像処理部135により各種画像処理が施されたOライン分の画像データそれぞれの画素量をカウントできる。画素カウント部136では、前述のテストパターン、偽造防止用パターン、及び各調整用パターンの画素もカウントできるので、最もトナー消費に近い画素情報を得ることができる。但し、LD(Laser Diode)書込みの場合、階調変換によって1画素辺りのトナー消費量が更に変化するため、画素カウント部136は、カウント対象の画像データに対して擬似的な階調変換を行って画素量をカウントすることもできる。
スキュー補正部137は、画像処理部135により各種画像処理が施されたOライン分の画像データを、スキュー補正用の複数のラインメモリ138に書き込むとともに、複数のラインメモリ138から画像位置に応じて読み出すことで、スキュー補正処理を行い、Oライン分の画像データを8Bitパッキングする。なお、スキュー補正部137では、複数のラインメモリ138に対するOライン分の画像データの書き込み及び読み出しを行うことで、周波数変換を行うこともできる。
このように、本実施形態のプロッタ制御部130では、ビデオ入力部133からスキュー補正部137までの処理をOライン同時に行うマルチデータパスとなっている。マルチデータパスを採用することで、解像度変換、面積階調補正、及び主走査・副走査の倍密変換が可能になる。副走査に倍密処理を行う場合であれば、MLSYNC信号の送信数を減らし、1回ライトされたデータを複数回リードすればよい。例えば、副走査に2倍密する場合であれば、4本のLSYNC_N信号に対して2本のMLSYNC信号を画像展開部150に転送することになる。そしてスキュー補正部137が、スキュー補正を行う際に、読み出し後のライン周期を書込み時の1/2とし、1つのラインメモリ138から2回データを読み出せば、スキュー補正後の画像データは書き込み時から副走査方向の解像度が2倍となった高密度データとなる。
また、マルチデータパスを採用することで、主走査・副走査に数画素ずつ、同時に2次元データを参照することが可能になり、エッジ処理やジャギー補正といった画像処理の精度が向上する。また、マルチデータパスを採用することで、高速印刷に対応できたり、2400dpi/4800dpiといった高解像度の画像を転送できたり、高解像度のパターンを重畳できたりするなどの様々なメリットがある。
第1の副走査変倍制御部110や第2の副走査変倍制御部120への画像データの転送は非常に高レートになるため、8B/10B変換部139は、スキュー補正部137により8Bitパッキングが施されたOライン分の画像データを、8Bitデータから10Bitデータに変換し、SER140は、10Bitデータに変換されたOライン分の画像データを8B/10B方式のフォーマットにパラレル・シリアル変換し、LVDS信号で第1の副走査変倍制御部110や第2の副走査変倍制御部120へ高速シリアル転送する。
Oライン分の画像データがブラックやマゼンタの画像データの場合、LVDS信号で第1の副走査変倍制御部110に転送されるので、DES113は、8B/10B方式に基づきプロッタ制御部130からLVDS信号を受信し、Oライン分の画像データを8Bitデータに逆変換する。そして、DES113は、Oライン分の画像データがブラックの画像データであれば、ドライバ114Bへ転送し、Oライン分の画像データがマゼンタの画像データであれば、ドライバ114Mへ転送する。
ドライバ114Bは、転送されたOライン分の画像データそれぞれに基づいてVCSEL32Bの点灯を制御することでVCSEL32Bを発光させ、ドライバ114Mは、転送されたOライン分の画像データそれぞれに基づいてVCSEL32Mの点灯を制御することでVCSEL32Mを発光させる。
Oライン分の画像データがシアンやイエローの画像データの場合、LVDS信号で第2の副走査変倍制御部120に転送されるので、DES123は、プロッタ制御部130からLVDS信号を受信し、Oライン分の画像データを8Bitデータに逆変換する。そして、DES123は、Oライン分の画像データがシアンの画像データであれば、ドライバ124Cへ転送し、Oライン分の画像データがイエローの画像データであれば、ドライバ124Yへ転送する。
ドライバ124Cは、転送されたOライン分の画像データそれぞれに基づいてVCSEL32Cの点灯を制御することでVCSEL32Cを発光させ、ドライバ124Yは、転送されたOライン分の画像データそれぞれに基づいてVCSEL32Yの点灯を制御することでVCSEL32Yを発光させる。
本実施形態では、光源がVCSELである場合を例に取り説明しているが、これに限定されず、LD、LDアレイ、又はLED(Light Emitting Diode)アレイなどであってもよい。
上述のように本実施形態では、LSYNC_N信号がN本受信される毎にLCLR信号が生成され、LCLR信号を起点としてM本のMLSYNC信号が生成される。ここでは、N=Mとする。そして、Nの値は、ビデオ入力部133が同時に処理するデータパス数Oで決まる(Nの値は、Oと等しい)。従って、O=4の場合、LSYNC_N信号が4本受信される毎に1本のLCLR信号が生成され、1本のLCLR信号から4本のMLSYNC信号が生成される。
更に、スキュー補正用の複数のラインメモリ138が存在するため、ビデオ入力部133からのデータ読み出しは、MLSYNC信号ではなくLCLR信号を基準に4ライン同時に行われる。
従って、ビデオ入力部133が前回のLCLR期間にラインメモリ134に書き込んだ4ライン分の画像データは、今回のLCLR期間に同時に読み出されるため、2回分のLCLR期間のうち後半のLCLR期間を用いて読み出すことができる。つまり、2×LCLR期間を用いて、LSYNC_N信号の変化率を吸収できる。
このため、LSYNC_N信号の変化率をMLSYNC信号で吸収できるレートは、数式(1)で表される。
{(LSYNC_N信号の周期×(O×2−1)+LSYNC_N信号の周期の変動量)}/{LSYNC_N信号の周期×O×2} …(1)
例えば、O=4、LSYNC_N信号の周期=100us、LSYNC_N信号の周期の変動量が50us(変動率:50%)の場合、(100×7+50)/(100×8)=750/800=0.9375となり、変動率を6.25%にまで緩和できる。
図3は、本実施形態の副走査変倍制御時に画像データの転送を成立させるためのビデオ入力部133による画像データの書き込み及び読み出し制御を行うタイミングの一例の説明図である。なお、図3に示す例では、600dpi解像度画像の副走査変倍制御を示している。
図3に示す例では、第1の副走査変倍制御部110や第2の副走査変倍制御部120からLSYNCIN_N信号が4本供給される毎に、lclre*x信号が生成されている。また、第1の副走査変倍制御部110や第2の副走査変倍制御部120が副走査変倍機能を使用するため、LSYNCIN_N信号の入力周期が定期的に変化しており、通常の3/4の周期のlclre*x信号(lclre*x信号(11))が間欠的に発生している。
この場合、画像データの転送が1ラインに収まらず、iplgateアサート中にlclre*x信号が入力されているが、本実施形態では、このような条件下でも画像データの転送を成立させるため、ビデオ入力部133は、iplgateアサート中にlclre*x信号が入力されても問題ないBRAM(バッファメモリ)制御を行う。また、rgate*x_r[15:0]の値を調節し、mlgate*x(BRAMリード制御ゲート信号)のアサートを遅らせる。これにより、BRAMライト制御とリード制御とが干渉せずに、画像転送を成立させることができる。
図4及び図5は、本実施形態の副走査変倍制御時に画像データの転送を成立させるためのビデオ入力部133による画像データの書き込み及び読み出し条件の一例の説明図であり、図4は、書き込み及び読み出し条件を満たす場合を示し、図5は、書き込み及び読み出し条件を満たさない場合を示す。
前述のように、ビデオ入力部133は、画像データの転送が1つのlclre*x間隔内に収まらず、iplgateアサート中にlclre*x信号が入力されても、画像データの転送を成立させるようBRAM制御を行う。以下では、このための各種IF信号及びレジスタの設定値の条件を説明する。
まず、第1の条件(図4及び図5の条件1)は、「規定ライン目のiplgate*のアサートエッジが、mfgate_add*xアサートより前であること」である。
BRAM制御では、ビデオ入力部133は、floadアサート(mlsync*送信後、最初のiplgate*のアサートエッジ)から、mfgate_add*xアサート前の期間、iplgate*のアサートエッジの本数をカウントする。そしてビデオ入力部133は、このカウント数と、mlsyncnum*x(lclre*x周期内のmlsync*出力本数設定値。lclre*xの1周期にmlsyncnum*x+1本のmlsync*を生成する。)と、を比較し、mfgate_add*xアサート後のBRAMリード制御を切替える。
このカウント数の比較を行うタイミングが、mfgate_add*xアサート時であるため、それまでに規定ライン目のiplgate*のアサートを受信する必要がある。
この規定ラインは、ビデオ入力部133の1回目のデータ出力時(mfgate_add*xアサート後の1回目のvin_lgate*xに同期したデータ)にBRAMリードできることを期待する、画像展開部150により転送された画像データの副走査方向のライン数である。
通常、規定ラインは、lclre*x周期内のmlsync*出力本数と一致するが、mfsync*生成タイミング、画像展開部150の副走査遅延量、データパス、副走査倍密、及びカスケード接続などの条件によって変動する。
第1の条件の詳細タイミング条件は、数式(2)に示す通りである。
7(※1)+mlsyncofs*x+(lastline_mlsyncnum−1)×mlsyncwid*x×{8/(mlsyncnum*x+1)}+ipu_delay<lclre*x周期カウント数+2(※2) …(2)
なお、mlsyncofs*xは、lclre*xから1本目のmlsync*を生成するまでの時間をclk_e単位で指定する設定値である。mlsyncwid*xは、1本目以降のmlsync*から2本目以降のmlsync*生成までの時間をclk_e単位で規定する設定値である。但し、mlsync*生成本数は規定するmlsyncnum*xにより変換するため、常にmlsync*が8本生成する前提で設定する。例えば、mlsyncnum*x=3で、mlsync*が4本生成する場合、1本目以降のmlsync*から2本目以降のmlsync*生成までの時間は、mlsyncwid*x×2となる。
ここで、7(※1)は、mlsync*信号の生成遅延である。
lastline_mlsyncnumは、規定ライン目のiplgate*の起点となるmlsync*が、mfgate_add*xアサートの直前のlclre*x周期内(floadアサートし、mfgate_add*xアサートするまでのlclre*周期内)で何本目かを示す値である。lastline_mlsyncnumは、通常、mlsyncnum*x+1である。例えば、4LDで1倍密の場合、lastline_mlsyncnumは4であり、4LDで2倍密の場合、lastline_mlsyncnumは2である。但し、カスケード接続し、マスターからスレーブへデータ転送する版では、DBGコントローラ遅延を考慮し、規定ラインはmlsync*本数−2となる。しかし、規定ライン目(4LDで1倍密のとき、2ライン目)のiplgate*の起点となるmlsync*は、mlsyncnum*x+1本目のmlsync*である。このため、lastline_mlsyncnumは、通常と同じ値(4LDで1倍密のとき、4)になる。
なお、DBGコントローラとは、プロッタ制御部をカスケード接続して多色印刷や大量のデータ転送を実現する際、マスターのプロッタ制御部の送信口、スレーブのプロッタ制御部の受信口になる機能ブロックである。DBGコントローラは、ラインメモリを用いて、マスター・スレーブ間のデータ受信を行うため、それぞれでラインメモリのライト・リード処理を行う。1回のラインメモリのライト・リード処理で1ラインの遅延が発生するため、カスケード接続時の同一色の画像データの転送タイミングは、マスター側に対してスレーブ側は2ライン分の遅延が発生する。
ipu_delayは、mlsync*受信からiplgate*送信までの画像展開部150の遅延量であり、画像展開部150がマスターの場合、134clk_e、画像展開部150がスレーブの場合、26clk_eである。
lclre*x周期カウント数は、lclre*x周期をclk_e換算したカウント数である。
2(※2)は、mfgate_add*x信号の生成遅延である。
次に、第2の条件(図4及び図5の条件2)は、「BRAMのライト終了がBRAMのリード開始の前であること」である。
BRAM制御では、ビデオ入力部133は、BRAMライトイネーブル信号とBRAMリードイネーブル信号とを生成している。ビデオ入力部133のBRAMは1port SRAMであるため、BRAMライト動作とリード動作とを同時に行うことができない。このため、BRAMライトイネーブル信号とBRAMリードイネーブル信号とが重なると正常なデータ生成ができない。なお、BRAMライトイネーブル信号は、iplgate*の2clk_e遅延した期間であり、BRAMリードイネーブル信号は、lclre*xアサートから、rgate*x+2clk_e遅延して開始し、rgate*x+lgate*x+2clk_eで終了する。
なお、lgate*xは、vin_lgate*xアサート時間をclk_e単位で指定する設定値である。本実施形態では、1clk_e=1画素である。また、2portSRAMを用いれば上記の制約は無くなる。但し、2portSRAMはコストが高いため、多色・大量の画像データを処理するために多くのSRAMを必要とするシステムでは特にコスト面で不利になるため、採用しない。
第2の条件の詳細タイミング条件は、数式(3)に示す通りである。
7(※1)+mlsyncofs*x+mlsyncnum*x×mlsyncwid*x×{8/(mlsyncnum*x+1)}+ipu_en<lclre*x周期カウント数+rgate*x+2(※2) …(3)
ここで、7(※1)は、mlsync*信号の生成遅延である。
ipu_enは、iplgate*のアサート期間であり、1200dpiの場合、ROUNDUP(vddtonum*x/4)、600dpiの場合、vddtonum*xである。なお、ROUNDUPは、小数点第1位で切り上げる関数である。また、vddtonum*xは、iplgate*アサート時間を画素単位で指定する設定値である。vddtonum*xの設定値は画素単位であるため、1画素内の階調が変化してトータルのデータ転送量が変化しても影響しない。
lclre*x周期カウント数は、lclre*x周期をclk_e換算したカウント数である。
2(※2)は、BRAMリードイネーブル信号の生成遅延である。
最後に、第3の条件(図4及び図5の条件3)は、「vin_lgate*x信号がlclre*xを跨がないこと」である。
BRAM制御では、ビデオ入力部133は、BRAMリードしたデータを加工し、画像処理部135に転送する。ビデオ入力部133のこの出力のデータ信号のイネーブル期間がvin_lgate*x信号である。vin_lgate*x信号がlclre*xを跨いでしまうと、vin_lgate*の生成回路がリセットされるため、vin_lgate*xが途中でネゲートする。なお、BRAMリードイネーブル信号はvin_lgate*x信号より6clk_e手前でアサート・ネゲートするため、vin_lgate*x信号がlclre*xを跨がなければ問題ない。
第3の条件の詳細タイミング条件は、数式(4)に示す通りである。
8(※1)+rgate*x_r+lgate*x<lclre*x周期カウント数 …(4)
ここで、8(※1)は、vin_lgate*x信号の生成遅延である。
lgate*xは、画像処理部135への主走査転送画素数であり、主走査1倍密の場合、vddtonum*x、走査2倍密の場合、vddtonum*x×2である。
lclre*x周期カウント数は、lclre*x周期をclk_e換算したカウント数である。
以下、上述の第1の条件〜第3の条件が全て成立する各種レジスタ設定値及び動作クロック(clk_e)周波数について説明する。
システムで決まるレジスタ設定値については、画像転送サイズが大きく、絶対線速が速く、最も画像転送がシビアな機種を想定する。この場合、各レジスタ設定値は、以下の通りである。
データパス:4
ipu_delay:134clk_e(画像展開部150と接続)
lastline_mlsyncnum:4(カスケード接続しない)
入力解像度:600×600dpi
書込み解像度:600×600dpi(主走査1倍密、副走査1倍密)
最大主走査サイズ:7016画素(vddtonum*x=7016)
絶対線速:352.8mm/sec
mlsyncnum*x[2:0]:3
mlsyncofs*x[15:0]:64
mlsyncwid*x[15:0]:7793
lclre*x周期については、絶対線速、データパス数、及び書込み解像度から以下のように算出する。
lclre*x周期[us]=データパス数×(25.4[mm]/副走査書込み解像度[dpi])/絶対線速[mm/sec]×106=479.97[us]
clk_e周波数については、上述の第1の条件〜第3の条件に各種設定値を導入し、lclre*x周期カウント数の最小値を算出する。
第1の条件の場合、7+64+3×7793×{8/4}+134<lclre*x周期カウント数+2より、lclre*x周期カウント数最小値>46961
第2の条件の場合、7+64+3×7793×{8/4}+7016<lclre*x周期カウント数+rgate*x_r+2より、lclre*x周期カウント数最小値>53843−rgate*x_r
第3の条件の場合、8+rgate*x_r+7016<lclre*x周期カウント数より、lclre*x周期カウント数最小値>7024+rgate*x_r
第2の条件&第3の条件の場合、lclre*x周期カウント数最小値>ROUNDUP((53843+7024)/2)=30434
第1の条件&第2の条件&第3の条件の場合、lclre*x周期カウント数最小値>46961
以上、第1〜第3の条件より、lclre*x周期カウント数は、常に46961より大きくなるように、clk_e周波数を設定しなければならないので、以下のように算出する。
clk_e周波数最小値[MHz]=lclre*x周期カウント数最小値/lclre*x周期[us]>46961/479.97[us]>97.8[MHz]
rgate*x_r設定範囲については、上記で算出したclk_e周波数最小値[MHz]を満足する実際のclk_e周波数[MHz]と、lclre*x周期[us]から、実際のlclre*x周期カウント数を算出する。この実際のlclre*x周期カウント数と、第2の条件、第3の条件からrgate*xの設定可能範囲を算出する。
clk_e周波数: 110[MHz]
lclre*x周期カウント数: 110[MHz]×479.97[us]=52797
第2の条件より、52797>53843−rgate*x_rなので、rgate*x_r>1046
第3の条件より、52797>7024+rgate*x_rなので、45773>rgate*x_r
以上、第2、第3の条件より、rgate*x_rは常に下記の範囲で設定しなければならない。
rgate*x_r設定範囲:1046<rgate*x_r<45773
なお、clk_e周波数が大きく、lclre*x周期カウント数が65520(主走査カウンタの上限値)を超えた場合、rgate*x_rに制約は発生しない。また、rgate*x_rに制約が発生し、一定量の値を加算する必要が出たとき、レジスト調整に影響が生じる。これは、dottop*x(スキュー補正部のBRAMライト位置を調整するレジスタ)に同じ値を加算することで、影響を相殺することができる。
以上のように本実施形態によれば、第1の副走査変倍制御部110及び第2の副走査変倍制御部120は、LSYNCN信号をプロッタ制御部130に転送し、プロッタ制御部130は、LSYNCN信号をN回受信する毎に、新たなデータ転送用のMLSYNC信号を生成してデータを転送するため、LSYNC信号の変動に影響されずに正常なデータ転送を実現できる。
特に本実施形態によれば、副走査変倍制御時に画像データの転送を成立させるための条件下でビデオ入力部133による画像データの書き込み及び読み出し制御を行うため、ライン同期信号が異なる周期で転送される場合であっても、ライン同期信号で要求される画像データの転送を成立させることができ、画像の生産性を向上できる。
(変形例)
図6は、変形例の印刷装置1010の電気的構成の一例を示すブロック図である。図6に示すように、変形例では、印刷装置1010のプロッタ制御部1130は、ビデオ入力部1133が上記実施形態と相違するとともに、画像処理部、画素カウント部、スキュー補正部、及びラインメモリを有しない点で相違する。
つまり、変形例のプロッタ制御部1130は、上記実施形態と比べ、データ転送に特化したコンパクトな構成となっており、解像度変換、面積階調補正、及び主走査・副走査の倍密変換などのような単調な処理が可能となっている。
なお、図6に示す例では、ビデオ入力部1133が、読み出したOライン分の画像データを8Bitパッキングする。また、変形例のプロッタ制御部1130では、ビデオ入力部1133がラインメモリ134からOライン分の画像データを順番に読み出して8B/10B変換部139に転送するシングルデータパスとなっている。但し、ラインメモリ134を利用することで、ビデオ入力部1133内では、マルチデータパスを採用することもできる。
変形例でも、LSYNC_N信号がN本受信される毎にLCLR信号が生成され、LCLR信号を起点としてM本のMLSYNC信号が生成される。ここでは、N=Mとする。そして、Nの値は、ビデオ入力部1133が順番に処理するデータパス数Oで決まる(Nの値は、Oと等しい)。従って、O=4の場合、LSYNC_N信号が4本受信される毎に1本のLCLR信号が生成され、1本のLCLR信号から4本のMLSYNC信号が生成される。
但し、ビデオ入力部1133以降にラインメモリなどのバッファメモリが存在しないため、プロッタ制御部1130からの出力(転送)もLCLR単位で実施される。従って、ビデオ入力部1133が前回のLCLR期間にラインメモリ134に書き込んだ4ライン分の画像データは、今回のLCLR期間に順番に読み出す必要がある。
このため、LSYNC_N信号の変化率をMLSYNC信号で吸収できるレートは、数式(5)で表される。
{(LSYNC_N信号の周期×(O−1)+LSYNC_N信号の周期の変動量)}/{LSYNC_N信号の周期×O} …(5)
例えば、O=4、LSYNC_N信号の周期=100us、LSYNC_N信号の周期の変動量が50us(変動率:50%)の場合、(100×3+50)/(100×4)=350/400=0.875となり、変動率を12.5%にまで緩和できる。
なお変形例では、第1の条件は、「BRAMのライト終了が、mfgate_add*xアサートより前であること」となる。
以上のように変形例においても、ライン同期信号が異なる周期で転送される場合であっても、ライン同期信号で要求される画像データの転送を成立させることができ、画像の生産性を向上できる。
なお上記実施形態及び変形例では、画像データを受信するプロッタ制御部、VCSEL32B、32M、32C、及び32Yと接続する第1の副走査変倍制御部110及び第2の副走査変倍制御部120を例に取り説明したが、これに限定されず、一方が他方にライン周期信号を送信してデータを受信し、ライン周期信号が変動する制御を実現するものであれば、適用できる。
また上記実施形態及び変形例では、ライン周期信号が変動する制御として、副走査変倍制御を例に取り説明したが、これに限定されず、解像度変換・倍密変換等の画像データフォーマットの変化に伴いライン周期信号が変動する制御、LEDAの周期変動補正のように感光体のホームポジション信号を起点としてライン周期信号が変動する制御などであってもよい。
また上記実施形態及び変形例では、N=Mとしたが、N=Mの整数倍としてもよい。また上記実施形態及び変形例では、Nを自然数としたが、Nを2の階乗としてもよい。また上記実施形態及び変形例では、Mを自然数としたが、Mを2以上の整数としてもよい。