画像処理コントローラー、及び、印刷装置
【課題】多岐に渡る配列パターンのラインヘッドについてジグザグ補正を行う技術を提供するとともに、複数の副走査解像度に対応可能なジグザグ補正の技術を提供する。
【解決手段】画像処理回路140は、複数の発光素子を非直線状に配列させたラインヘッドを制御する。画像処理回路140は、複数のメモリー領域420と、ラスターデータを取得する取得手段410と、取得したラスターデータを、順次、前記複数のメモリー領域420に振り分けて記憶させる書き込み制御手段450と、複数のメモリー領域420からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段440と、を備え、前記書き込み制御手段450は、前記各ラスターデータを格納する前記メモリー領域420上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する。
【解決手段】画像処理回路140は、複数の発光素子を非直線状に配列させたラインヘッドを制御する。画像処理回路140は、複数のメモリー領域420と、ラスターデータを取得する取得手段410と、取得したラスターデータを、順次、前記複数のメモリー領域420に振り分けて記憶させる書き込み制御手段450と、複数のメモリー領域420からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段440と、を備え、前記書き込み制御手段450は、前記各ラスターデータを格納する前記メモリー領域420上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ラインヘッドを制御する技術に関する。
【背景技術】
【0002】
印刷装置やスキャナー装置などに用いられるラインヘッドには、複数の発光素子が配置されている。ラインヘッドの中には、隣接する発光素子間の光量低下を防ぐために、各発光素子をジグザグ(千鳥:chidori、或いは、スタガ:staggerd)状に配列させたものもある。
【0003】
しかし、発光素子をジグザグ状に配列させた場合に、全ての発光素子を同じタイミングで動作(発光)させると、副走査方向についての発光位置にずれが生じてしまう。そのため、近年では、発光素子を動作(発光)させるタイミングをずらして、発光位置にずれが生じないように補正する技術(以下では、「ジグザグ補正」とよぶ)が開発されている。
【0004】
また、発光素子をジグザグ状に配列させる配列パターンは多岐に渡る。そのため、異なる配列パターンのラインヘッドに対してジグザグ補正を行うためには、ラインヘッドごとに専用の制御ハードウェアを用意するか、レジスター設定によってパターン制御が変更可能なハードウェアを用意する必要がある。
【0005】
例えば、特許文献1には、レジスター設定によってパターン制御が変更可能なハードウェアについて記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−76148号
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、上記特許文献1では、各記録(発光)素子チップの記録(発光)タイミングを、所定の記録(発光)素子チップ列を基準として制御しているだけであるため、異なる副走査解像度で動作させる場合には対応できない。
【0008】
本発明は、多岐に渡る配列パターンのラインヘッドについてジグザグ補正を行う技術を提供するとともに、複数の副走査解像度に対応可能なジグザグ補正の技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するための本願発明は、複数の発光素子を非直線状に配列させたラインヘッドを制御する画像処理コントローラーであって、ラスターデータを格納するための複数のメモリー領域と、ラスターデータを取得する取得手段と、取得したラスターデータを、順次、前記複数のメモリー領域に振り分けて記憶させる書き込み制御手段と、複数のメモリー領域からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段と、を備え、前記書き込み制御手段は、前記各ラスターデータを格納する前記メモリー領域上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態に係るプリンターのハードウェア構成の一例を示すブロック図である。
【図2】画像処理回路および設定レジスターの詳細な構成の一例を示す図である。
【図3】ラインヘッドにおける発光素子の配列パターンを示す図である。(A)第1の配列パターンを示す図である。(B)第2の配列パターンを示す図である。(C)第3の配列パターンを示す図である。(D)第4の配列パターンを示す図である。
【図4】(A)第1の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。(B)第2の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。(C)第3の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。(D)第4の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。
【図5】第1の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図6】第2の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図7】第3の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図8】第4の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図9】第3の配列パターンのラインヘッドを使用し、副走査解像度が2400DPIの場合における、ビデオデータの出力例を示す図である。
【図10】第3の配列パターンのラインヘッドを使用し、副走査解像度が1200DPIの場合における、ビデオデータの出力例を示す図である。
【図11】書き込み制御処理を示すフローチャートである。
【図12】ビデオデータ分割部が行う分割処理についての概要を示す図である。
【図13】発光パターン情報の概略データ構造を示す図である。
【図14】SRAM上のアドレスを概念的に示す図である。
【図15】読み出し制御処理を示すフローチャートである。
【図16】ジグザグ補正データ結合部が行う結合処理についての概要を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態の一例を図面を参照して説明する。
【0012】
図1は、本発明の一実施形態が適用されたプリンター100のハードウェア構成の一例を示すブロック図である。図示するように、プリンター100は、コントローラー110と、メモリー制御ASIC120と、メモリー130と、画像処理回路140と、設定レジスター145と、ラインヘッド150と、を備える。
【0013】
ただし、プリンター100の構成はこれに限定されるものではなく、例えば、印刷エンジン(感光体、ラインヘッド150などを含む)、ネットワークインターフェイス、入力装置(ボタン、タッチパネルなど)、表示装置(表示パネル)、などを備えていてもよい。また、プリンター100は、プリンター専用機に限定されず、例えば、複合機、スキャナー装置、FAX装置などでもよい。
【0014】
コントローラー110は、プリンター100全体を制御する。例えば、コントローラー110は、ラインヘッド150を制御して、一様に帯電させた感光体の外周面を選択的に露光する。そして、コントローラー110は、露光することで形成した静電潜像に現像剤であるトナーを付与して現像する。なお、コントローラー110は、CPUなどにより構成される。
【0015】
メモリー制御ASIC120は、メモリー130を制御する。具体的には、メモリー制御ASIC120は、コントローラー110からの指示に基づいて、メモリー130からデータ(ビデオデータなど)を読み出す制御や、メモリー130にデータを書き込む制御を行う。
【0016】
メモリー130は、RAM、ROM、ハードディスクといった一般的な記憶装置からなり、印刷対象のビデオデータなどを記憶する。なお、メモリー130に記憶されるビデオデータは、プリンター100のホストPCで生成されたビデオデータであってもよいし、プリンター100で生成したビデオデータであってもよい。また、メモリー130は、揮発性メモリーであってもよいし、不揮発性メモリーであってもよい。また、可搬型のメモリーであってもよい。
【0017】
画像処理回路140は、ラインヘッド150に備わる各発光素子の発光タイミングを決定し、決定した発光タイミングに合わせて印刷対象のビデオデータをラインヘッド150に供給する。なお、詳細については後述するが、ラインヘッド150にはジグザグ状に各発光素子が配列されており、画像処理回路140は、ラインヘッド150に配列された各発光素子の配列パターンに応じて、各発光素子の発光タイミングを補正(ジグザグ補正)する。
【0018】
設定レジスター145は、ラインヘッド150の制御に関する設定値を格納する。例えば、設定レジスター145は、ラインヘッド150の副走査方向の解像度を指定する副走査情報と、ラインヘッド150に配列されている各発光素子の配列パターンを指定するジグザグパターン情報と、感光体に形成する静電潜像を鏡像とするか正像とするかを指定する鏡像ON/OFF情報と、を格納している。なお、設定レジスター145の設定値は、例えば、図示しないプリンターホスト(PC)やプリンター100に備わる入力装置などからコントローラー110経由で変更することができる。
【0019】
図2は、画像処理回路140および設定レジスター145の詳細な構成の一例を示す図である。図示するように、画像処理回路140は、ビデオデータ分割部410と、複数(図示する例だと8個)の記憶領域に区分けされたSRAM420と、ジグザグ補正データ結合部430と、SRAM読み出し制御部440と、SRAM書き込み制御部450と、ラインヘッドインターフェイス(I/F)460と、を備える。
【0020】
ビデオデータ分割部410は、メモリー制御ASIC120を介して線順次に入力されたビデオデータを分割し、SRAM420に供給する(振り分ける)。なお、ビデオデータ分割部410への入力ビット幅は32ビットとする。
【0021】
SRAM420は、複数の記憶領域に区分けされ、例えば、図示するように、8個のSRAM0〜7からなる。各SRAM0〜7(記憶領域)は、同様の構成からなり、例えば、4ビット×26420の記憶容量を有する。各SRAM0〜7(記憶領域)には、ビデオデータ分割部410から4ビット単位で供給されたビデオデータが格納(入力)され、ジグザグ補正データ結合部430に4ビット単位で出力する。
【0022】
ジグザグ補正データ結合部430は、SRAM420から読み出されたビデオデータ(ジグザグ補正済み)を結合し、ラインヘッドI/F460に供給する。なお、ジグザグ補正データ結合部430からの出力ビット幅は32ビットとする。また、ラインヘッドI/F460は少なくとも1ライン分のラスターバッファを有するが、ここでは省略する。
【0023】
SRAM書き込み制御部450は、ビデオデータ分割部410に線順次に入力されたビデオデータ(32ビット)を、SRAM420に書き込む制御を行う。SRAM書き込み制御部450は、設定レジスター145の設定値を参照して、各発光素子の発光タイミング(格納順序)を決定し、決定した発光タイミング(格納順序)で、4ビットに分割したビデオデータを各SRAM0〜7(記憶領域)に書き込む。具体的には、SRAM書き込み制御部450は、設定レジスター145に格納されているジグザグパターン情報を読み出してラインヘッド150に配列された発光素子の配列パターンを特定し、特定した配列パターンに応じて、発光タイミング(格納順序)を記述した発光パターン情報(パターン1〜4)を選択する。そして、選択した発光パターン情報の記述に従って、ビデオデータ分割部410が分割したビデオデータを、それぞれSRAM0〜7(記憶領域)に書き込む。
【0024】
SRAM読み出し制御部440は、SRAM0〜7(記憶領域)に格納されているビデオデータを、並列に4ビットずつジグザグ補正データ結合部430に読み出す。具体的には、SRAM読み出し制御部400は、コントローラー110から供給される垂直同期信号および水平同期信号に同期させて、各SRAM0〜7(記憶領域)から並列に4ビットずつビデオデータ(ジグザグ補正済み)を読み出す。なお、SRAM読み出し制御部440は、各SRAM0〜7(記憶領域)からビデオデータを読み出す場合には、各SRAM0〜7の同アドレスを指定して読み出す。
【0025】
ラインヘッドI/F460は、ジグザグ補正データ結合部430から供給されたビデオデータを、ラインヘッド150に出力する。
【0026】
図1に戻り、ラインヘッド150は、ジグザグ状(主走査方向)に配列された複数の発光素子(例えば、LED)を有する。
【0027】
図3(A)〜(D)は、ラインヘッド150における発光素子の配列パターンを示す図である。
【0028】
図3(A)は、第1の配列パターンを示す図である。第1の配列パターンでは、発光素子が1画素(1ドット)おきに副走査方向にずれるジグザグ構成であり、図示するように、副走査方向上流側の列と副走査方向下流側の列の2列の構成からなる。
【0029】
図3(B)は、第2の配列パターンを示す図である。第2の配列パターンでは、発光素子が1画素(1ドット)おきに副走査方向にずれるジグザグ構成であり、図示するように、副走査方向に4列の構成からなる。
【0030】
図3(C)は、第3の配列パターンを示す図である。第3の配列パターンでは、発光素子が1画素(1ドット)おきに副走査方向にずれるジグザグ構成であり、図示するように、副走査方向に8列の構成からなる。
【0031】
図3(D)は、第4の配列パターンを示す図である。第4の配列パターンでは、発光素子が1画素(1ドット)おきに副走査方向に(数画素分)ずれるジグザグ構成であり、図示するように、副走査方向に8列の構成からなる。
【0032】
本発明は、図3(A)〜(D)に示すいずれの配列パターンであっても、ジグザグ補正を可能とする。ただし、これらの配列パターンに限定されず、副走査方向に8列以下の構成であれば、他の配列パターンであってもよい。なお、発光素子の配列パターンを9列以上にする場合には、SRAM420を構成する各SRAM0〜7の個数を増加させればよい。例えば、発光素子の配列パターンを副走査方向に16列にする場合には、SRAM420を16個のSRAM0〜15で構成すればよい。
【0033】
また、図4(A)〜(D)は、第1〜第4の配列パターンのラインヘッド150を使用した場合における、発光タイミングを示す図である。
【0034】
図4(A)は、第1の配列パターンのラインヘッド150を使用した場合における、発光タイミング(印字タイミング)を示す図である。図示するように、第1の配列パターンでは、主走査方向に向かって1番目、3番目、5番目、・・・の発光素子(第1列)が同タイミングで発光し、主走査方向に向かって2番目、4番目、6番目、・・・の発光素子(第2列)が、第1列の発光素子の発光から(副走査1ラスター分)遅れて発光する。このように発光タイミングをずらす(ジグザグ補正を行う)ことにより、発光素子が図3(A)に示すようなジグザグ構成(第1の配列パターン)で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【0035】
なお,この例では、隣接する発光素子の主走査方向の間隔は、解像度が1200DPIの場合の印字間隔であり、隣接する発光素子の副走査方向の間隔は、解像度が600DPIの場合の印字間隔となっている。なお、隣接する発光素子の主走査方向および副走査方向の間隔は、第2〜第4の配列パターンにおいても同様とする。
【0036】
図4(B)は、第2の配列パターンのラインヘッド150を使用した場合における、発光タイミング(印字タイミング)を示す図である。図示するように、第2の配列パターンでは、主走査方向に向かって4番目、8番目、12番目、16番目、・・・の発光素子(第1列)が同タイミングで発光する。また、主走査方向に向かって3番目、7番目、11番目、15番目、・・・の発光素子(第2列)が、第1列の発光素子の発光から(副走査1ラスター分)遅れて発光する。また、主走査方向に向かって2番目、6番目、10番目、14番目、・・・の発光素子(第3列)が、第2列の発光素子の発光から(副走査1ラスター分)遅れて発光する。また、主走査方向に向かって1番目、5番目、9番目、13番目、・・・の発光素子(第4列)が、第3列の発光素子の発光から(副走査1ラスター分)遅れて発光する。このように発光タイミングをずらす(ジグザグ補正を行う)ことにより、発光素子が図3(B)に示すようなジグザグ構成(第2の配列パターン)で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【0037】
図4(C)は、第3の配列パターンのラインヘッド150を使用した場合における、発光タイミング(印字タイミング)を示す図である。図示するように、第3の配列パターンでは、主走査方向に向かって8番目、16番目、・・・の発光素子(第1列)が同タイミングで発光する。また、主走査方向に向かって7番目、15番目、・・・の発光素子(第2列)が、第1列の発光素子の発光から(副走査1ラスター分)遅れて発光する。また、主走査方向に向かって6番目、14番目、・・・の発光素子(第3列)が、第2列の発光素子の発光から(副走査1ラスター分)遅れて発光する。以下、同様に、第4列の発光素子は、第3列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第5列の発光素子は、第4列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第6列の発光素子は、第5列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第7列の発光素子は、第6列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第8列の発光素子は、第7列の発光素子の発光から(副走査1ラスター分)遅れて発光する。このように発光タイミングをずらす(ジグザグ補正を行う)ことにより、発光素子が図3(C)に示すようなジグザグ構成(第3の配列パターン)で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【0038】
図4(D)は、第4の配列パターンのラインヘッド150を使用した場合における、発光タイミング(印字タイミング)を示す図である。図示するように、第4の配列パターンでは、主走査方向に向かって8番目、16番目、・・・の発光素子(第1列)が同タイミングで発光する。また、主走査方向に向かって3番目、11番目、・・・の発光素子(第2列)が、第1列の発光素子の発光から(副走査1ラスター分)遅れて発光する。また、主走査方向に向かって6番目、14番目、・・・の発光素子(第3列)が、第2列の発光素子の発光から(副走査1ラスター分)遅れて発光する。以下、同様に、第4列の発光素子は、第3列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第5列の発光素子は、第4列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第6列の発光素子は、第5列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第7列の発光素子は、第6列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第8列の発光素子は、第7列の発光素子の発光から(副走査1ラスター分)遅れて発光する。このように発光タイミングをずらす(ジグザグ補正を行う)ことにより、発光素子が図3(D)に示すようなジグザグ構成(第4の配列パターン)で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【0039】
次に、図5〜図8は、ビデオデータの出力(発光タイミング)例を示す図である。各図において、1ページ分のビデオデータは、Mラスター分(M≧1)のビデオデータから構成されているものとする。そして、各ラスターは、所定のビット数(例えば、15680ビット)からなる。また、1ラスター目のビデオデータについては「dot1−1」〜「dot1−15680」と表記し、2ラスター目のビデオデータについては「dot2−1」〜「dot2−15680」と表記し、他のラスターも同様に表記し、Mラスター目のビデオデータについては「dotM−1」〜「dotM−15680」と表記する。ただし、実際の各ビデオデータ(1ビット)の値は、「0」と「1」のように、出力(発光)、非出力(非発光)を示す値からなる。
【0040】
また、各図において、図示する各列は、ラインヘッド150に配列された発光素子に対応している。各図で図示する例では、ラインヘッド150に配列されている発光素子のうち、左から1番目〜8番目の発光素子の出力例のみを示している。
【0041】
そして、同行の各ビデオデータ(1ビット)は、同タイミングで各発光素子(1番目〜8番目)から出力(発光)される出力例である。なお、「0」は非出力(非発光)を示す。
【0042】
図5は、第1の配列パターンのラインヘッド150を使用した場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0043】
図示するように、各発光素子(1番目〜8番目)は、最初の発光タイミングで、それぞれ、「dot1−1」、「0」、「dot1−3」、「0」、「dot1−5」、「0」、「dot1−7」、「0」に対応する出力(発光)を行う。そして、次の水平同期信号による発光タイミングで、各発光素子(1番目〜8番目)は、それぞれ、「dot2−1」、「0」、「dot2−3」、「0」、「dot2−5」、「0」、「dot2−7」、「0」に対応する出力(発光)を行う。
【0044】
このように、1番目、3番目、5番目、7番目、・・・、といった奇数番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。これに対し、2番目、4番目、6番目、8番目、・・・、といった偶数番目の発光素子は、奇数番号の発光素子が8個(8ラスター)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。
【0045】
なお、1ラスター分のビデオデータは、解像度が4800DPIの場合の印字間隔で印字されるものとする。従って、偶数番号の発光素子が奇数番号の発光素子よりも8個(8ラスタ)分遅れて出力(発光)を開始することは、偶数番号の発光素子の出力(発光)開始位置が、奇数番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることを意味する。
【0046】
また、奇数番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、偶数番目の発光素子は、奇数番号の発光素子が出力(発光)を終了した後も、8個(8ラスター)分のビデオデータに対応する出力(発光)を行う。
【0047】
ここで、偶数番号の発光素子が奇数番号の発光素子よりも8個(8ラスター)分遅れて出力(発光)を終了することは、偶数番号の発光素子の出力(発光)終了位置が、奇数番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることを意味する。
【0048】
このように、第1の配列パターンのラインヘッド150を使用する場合において、図5に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0049】
次に、図6は、第2の配列パターンのラインヘッド150を使用した場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0050】
図示するように、4番目、8番目、・・・、といった(4の倍数)番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。また、3番目、7番目、・・・、といった(4の倍数−1)番目の発光素子は、(4の倍数)番号の発光素子が8個(8ラスター)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。また、2番目、6番目、・・・、といった(4の倍数−2)番目の発光素子は、(4の倍数−1)番目の発光素子が8個(8ラスター)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。また、1番目、5番目、・・・、といった(4の倍数−3)番目の発光素子は、(4の倍数−2)番目の発光素子が8個(8ラスター)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。
【0051】
すなわち、(4の倍数−1)番号の発光素子の出力(発光)開始位置は、(4の倍数)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(4の倍数−2)番号の発光素子の印字(発光)開始位置は、(4の倍数−1)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(4の倍数−3)番号の発光素子の出力(発光)開始位置は、(4の倍数−2)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。
【0052】
また、(4の倍数)番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、(4の倍数−1)番目の発光素子は、(4の倍数)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(4の倍数−2)番目の発光素子は、(4の倍数−1)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(4の倍数−3)番目の発光素子は、(4の倍数−2)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。
【0053】
すなわち、(4の倍数−1)番号の発光素子の出力(発光)終了位置は、(4の倍数)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(4の倍数−2)番号の発光素子の出力(発光)終了位置は、(4の倍数−1)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(4の倍数−3)番号の発光素子の出力(発光)終了位置は、(4の倍数−2)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。
【0054】
このように、第2の配列パターンのラインヘッド150を使用する場合において、図6に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0055】
次に、図7は、第3の配列パターンのラインヘッド150を使用した場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0056】
図示するように、(8の倍数)番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。また、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が8個(8ラスター)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。そして、(8の倍数−2)番目の発光素子、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力(発光)を開始する。
【0057】
すなわち、(8の倍数−1)番号の発光素子の出力(発光)開始位置は、(8の倍数)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の印字(発光)開始位置は、(8の倍数−1)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に、出力(発光)開始位置がずれることになる。
【0058】
また、図示していないが、(8の倍数)番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(8の倍数−2)番目の発光素子は、(8の倍数−1)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様のタイミングで、出力(発光)を終了する。
【0059】
すなわち、(8の倍数−1)番号の発光素子の出力(発光)終了位置は、(8の倍数)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の出力(発光)開始位置は、(8の倍数−1)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に、出力(発光)終了位置がずれることになる。
【0060】
このように、第3の配列パターンのラインヘッド150を使用する場合において、図7に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0061】
次に、図8は、第4の配列パターンのラインヘッド150を使用した場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0062】
図示するように、(8の倍数)番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。また、(8の倍数−5)番目の発光素子は、(8の倍数)番号の発光素子が8個(8ラスタ)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。そして、(8の倍数−2)番目の発光素子、(8の倍数−7)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−1)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−3)番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力(発光)を開始する。
【0063】
すなわち、(8の倍数−5)番号の発光素子の出力(発光)開始位置は、(8の倍数)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の印字(発光)開始位置は、(8の倍数−5)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−7)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−1)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−3)番目の発光素子についても、同様に、出力(発光)開始位置がずれることになる。
【0064】
また、図示していないが、(8の倍数)番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、(8の倍数−5)番目の発光素子は、(8の倍数)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(8の倍数−2)番目の発光素子は、(8の倍数−5)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。そして、(8の倍数−7)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−1)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−3)番目の発光素子についても、同様のタイミングで、出力(発光)を終了する。
【0065】
すなわち、(8の倍数−5)番号の発光素子の出力(発光)終了位置は、(8の倍数)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の出力(発光)開始位置は、(8の倍数−5)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−7)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−1)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−3)番目の発光素子についても、同様に、出力(発光)終了位置がずれることになる。
【0066】
このように、第4の配列パターンのラインヘッド150を使用する場合において、図8に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0067】
次に、図9は、第3の配列パターンのラインヘッド150を使用し、副走査解像度が2400DPIの印字間隔で1ラスター分のビデオデータを印字する場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0068】
図示するように、(8の倍数)番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。また、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が4個(4ラスタ)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。そして、(8の倍数−2)番目の発光素子、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力(発光)を開始する。
【0069】
すなわち、(8の倍数−1)番号の発光素子の出力(発光)開始位置は、(8の倍数)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の印字(発光)開始位置は、(8の倍数−1)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に、出力(発光)開始位置がずれることになる。
【0070】
また、図示していないが、(8の倍数)番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が出力(発光)を終了してから、4個(4ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(8の倍数−2)番目の発光素子は、(8の倍数−1)番号の発光素子が出力(発光)を終了してから、4個(4ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様のタイミングで、出力(発光)を終了する。
【0071】
すなわち、(8の倍数−1)番号の発光素子の出力(発光)終了位置は、(8の倍数)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の出力(発光)開始位置は、(8の倍数−1)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に、出力(発光)終了位置がずれることになる。
【0072】
このように、1ラスター分のビデオデータを印字する印字間隔を変更した場合(副走査解像度:2400DPI)においても、図9に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0073】
また、図10は、第3の配列パターンのラインヘッド150を使用し、副走査解像度が1200DPIの印字間隔で1ラスター分のビデオデータを印字する場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0074】
図示するように、(8の倍数)番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。また、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が2個(2ラスタ)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。そして、(8の倍数−2)番目の発光素子、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力(発光)を開始する。
【0075】
また、図示していないが、(8の倍数)番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が出力(発光)を終了してから、2個(2ラスタ)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(8の倍数−2)番目の発光素子は、(8の倍数−1)番号の発光素子が出力(発光)を終了してから、2個(2ラスタ)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様のタイミングで、出力(発光)を終了する。
【0076】
このように、1ラスター分のビデオデータを印字する印字間隔を変更した場合(副走査解像度:1200DPI)においても、図10に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0077】
次に、上記構成からなるプリンター100の特徴的な動作について説明する。図11は、プリンター100で行われる書き込み制御処理について説明するフローチャートである。
【0078】
プリンター100の画像処理回路140は、プリンター100に電源が投入されると、書き込み制御処理を開始する。
【0079】
書き込み制御処理を開始後、画像処理回路140のビデオデータ分割部410は、ビデオデータ(ラスターデータ)を取得する(ステップS101)。具体的には、メモリー制御ASIC120がメモリー130に格納されているビデオデータを32ビット単位で画像処理回路140に供給し、ビデオデータ分割部410は、供給されたビデオデータを受け付ける。
【0080】
続いて、ビデオデータ分割部410は、取得したビデオデータ(32ビット)を分割する(ステップS102)。
【0081】
図12は、ビデオデータ分割部410が行う分割処理についての概要を示す図である。図示するように、ビデオデータ分割部410は、32ビットのビデオデータを8分割し、4ビットずつのビデオデータを生成する。具体的には、32ビットのビデオデータのうち、1ビット目、9ビット目、17ビット目、25ビット目のビデオデータを合成した4ビットのビデオデータを生成する。また、他のビットについても同様に4ビットのビデオデータを生成する。
【0082】
図11に戻り、SRAM書き込み制御部450は、ステップS102で分割された4ビットずつのビデオデータを格納するSRAM0〜7上のアドレスを決定する(ステップS103)。
【0083】
具体的には、SRAM書き込み制御部450は、まず、設定レジスター145からジグザグパターン情報を読み出して、ラインヘッド150に配列されている発光素子の配列パターンを特定する。例えば、ジグザグパターン情報には、上述した第1の配列パターン〜第4の配列パターンのいずれかを特定するデータが含まれている。
【0084】
そして、SRAM書き込み制御部450は、特定した配列パターンに対応する発光パターン情報を選択する。ここで、発光パターン情報は、SRAM書き込み制御部450が予め保有(記憶)しているデータであり、発光タイミング(格納順序)が記述されている。
【0085】
図13は、発光パターン情報のデータ構造を示す図である。「パターン1」は、第1の配列パターンに対応する発光パターン情報であり、「パターン2」は、第2の配列パターンに対応する発光パターン情報であり、「パターン3」は、第3の配列パターンに対応する発光パターン情報であり、「パターン4」は、第4の配列パターンに対応する発光パターン情報である。
【0086】
図示するように、各発光パターン情報は、8個のタイミング情報(PTN0〜7)から構成される。各タイミング情報(PTN0〜7)は、ラインヘッド150に配列されている発光素子にそれぞれ対応付けられている。具体的には、タイミング情報「PTN0」は、ラインヘッド150の主走査方向に配列された発光素子のうち、「8の倍数−7」番目の発光素子に対応付けられ、タイミング情報「PTN1」は、主走査方向に配列された発光素子のうち、「8の倍数−6」番目の発光素子に対応付けられている。以下、同様に、タイミング情報「PTN2」は「8の倍数−5」番目の発光素子に、タイミング情報「PTN3」は「8の倍数−4」番目の発光素子に、タイミング情報「PTN4」は「8の倍数−3」番目の発光素子に、タイミング情報「PTN5」は「8の倍数−2」番目の発光素子に、タイミング情報「PTN6」は「8の倍数−1」番目の発光素子に、タイミング情報「PTN7」は「8の倍数」番目の発光素子に対応付けられている。
【0087】
また、各タイミング情報(PTN0〜7)は、最大3ビット(0〜7)の情報を格納可能であり、副走査方向の発光タイミング(発光順序)を示す。具体的には、「0」、「1」、「2」〜「7」の順序で発光させることを示し、「パターン1」の例では、「8の倍数−7」番目、「8の倍数−5」番目、「8の倍数−3」番目、「8の倍数−1」番目の発光素子を最初に発光させ、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)分遅れて、「8の倍数−6」番目、「8の倍数−4」番目、「8の倍数−2」番目、「8の倍数」番目の発光素子を発光させることを示す。
【0088】
同様に、「パターン2」の例では、「8の倍数−4」番目、「8の倍数」番目の発光素子を最初に発光させ、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)分遅れて、「8の倍数−5」番目、「8の倍数−1」番目の発光素子を発光させる。さらに解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)分遅れて、「8の倍数−6」番目、「8の倍数−2」番目の発光素子を発光させる。さらに解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)分遅れて、「8の倍数−7」番目、「8の倍数−3」番目の発光素子を発光させる、ことを示す。
【0089】
「パターン3」、「パターン4」の例でも、同様に発光タイミング(発光順序)を示す。
【0090】
そして、SRAM書き込み制御部450は、1つの発光パターン情報を選択すると、分割されたビデオデータを書き込むアドレス(書き込みアドレス)をSRAM0〜7ごとに算出する。
【0091】
以下に、図14を参照して書き込みアドレスの算出方法について説明する。図14は、SRAM0〜1上のアドレスを概念的に示す図である。
【0092】
SRAM書き込み制御部450は、まず、発光パターン情報(タイミング情報)に基づいて定められる書き込み開始アドレス(StOffset)を求める。ここで、各SRAM0〜7の書き込み開始アドレス(StOffset)は、それぞれ、タイミング情報(PTN0〜7)の値に応じて定められる。例えば、SRAM書き込み制御部450は、書き込み開始アドレス(StOffset)を、
StOffset=PtnNum×VertRes×MaxDot/BitWidth ・・・(数式1)
に従って求める。なお、PtnNumは図13に示したタイミング情報(PTN0〜7)の値(「0」〜「7」)を示す。また、VertResは副走査方向の解像度比(副走査解像度/隣接する発行素子の副走査方向の解像度)を示す。例えば、SRAM書き込み制御部450は、設定レジスター145に予め格納されている副走査情報を読み出して解像度を特定する。そして、特定した解像度が600DPIの場合にはVertResの値を「1」とし、1200DPIの場合には「2」とし、2400DPIの場合には「4」とし、4800DPIの場合には「8」とする。また、MaxDotは主走査方向最大ドット数(1ラスター分のドット数)を示し、BitWidthはビデオデータ分割部410への入力ビット幅を示す。ここで、MaxDot/BitWidthは1ラスター分のビデオデータをSRAM0〜7に格納するために必要となるアドレス数(行数)を示す。
【0093】
以上のように、書き込み開始アドレス(StOffset)を、発光パターン情報(タイミング情報)に基づいて求めることにより、発光素子の配置(パターン)がどのようなパターンであっても、適切にジグザグ補正を行うことができる。
【0094】
また、書き込み開始アドレス(StOffset)を、副走査方向の解像度に比例して変更(下げる)している。そのため、副走査方向の解像度がどのような値であっても、適切に(発光素子の副走査方向へのずれに応じて)ジグザグ補正を行うことができる。
【0095】
なお、上記の数式1は、鏡像ON/OFF情報がOFFの場合に用いる数式である。設定レジスター145にONを示す鏡像ON/OFF情報が格納されている場合には、SRAM書き込み制御部450は、発光パターン情報(タイミング情報)の順序を入れ替えて、書き込み開始アドレス(StOffset)を求める。ここで、発光パターン情報(タイミング情報)の順序を入れ替えることは、PTN0〜7をPTN7〜0に入れ替えることを指す。この場合、書き込み制御部450は、書き込み開始アドレス(StOffset)を、
StOffset=(MaxPtnNum−PtnNum)×VertRes×MaxDot/BitWidth ・・・(数式2)
に従って求める。ただし、MaxPtnNumはタイミング情報(PTN0〜7)の最大値を示す。
【0096】
次に、SRAM書き込み制御部450は、既にSRAM0〜7に書き込んだビデオデータのドット数をカウントし、書き込み開始アドレス(StOffset)に加えて、ビデオデータを書き込むアドレス(書き込みアドレス)を算出する。なお、SRAM0〜7の最後(SRAMアドレスの最大値「6F03」)までビデオデータを書き込み終えると、SRAM0〜7の最初(SRAMアドレスの最小値「0」)からビデオデータを書き込むように、書き込みアドレスを算出する。
【0097】
具体的には、SRAM書き込み制御部450は、
SramWAdr={StOffset+(WrasCnt×MaxDot+WDotCnt)/BitWidth} mod MaxSramWAdr ・・・(数式3)
を用いて書き込みアドレスを算出する。ここで、SramWAdrは、書き込みアドレスを示す。また、StOffsetはSRAM0〜7の書き込み開始アドレスを示し、WrasCntはラスター(副走査)カウント値を示し、MaxDotは主走査方向最大ドット数(1ラスター分のドット数)を示し、WDotCntは主走査方向のドットカウント値を示す。また、BitWidthはビデオデータ分割部410への入力ビット幅を示し、MaxSramWAdrはSRAMアドレスの最大値を示す。
【0098】
以上のように、SRAM書き込み制御部450は、各SRAM0〜7にビデオデータを書き込む開始アドレス(StOffset)を、発光素子の配置ずれ(副走査方向へのずれ)に応じて求めている。そして、ビデオデータの書き込みアドレスを、書き込み開始アドレス(StOffset)を基準に決定している。このように決定した書き込みアドレスの位置(SRAM0〜7)にビデオデータを格納しておけば、同一アドレスを指定して各SRAM0〜7のビデオデータ(例えば、点線の枠で囲まれているビデオデータ)を読み出すことで、図5〜図10に示した発光タイミングで、ビデオデータを出力する(ジグザグ補正を行う)ことができる。
【0099】
図11に戻り、SRAM書き込み制御部450は、ステップS103で決定した書き込みアドレスの位置(SRAM0〜7)に、ビデオデータを書き込む処理を行う(ステップS104)。そして、画像処理回路140は、ステップS101〜104の処理を、ビデオデータ(ラスターデータ)を取得するたびに繰り返し、ビデオデータをSRAM0〜7に格納する。
【0100】
次に、図15は、プリンター100で行われる読み出し制御処理について説明するフローチャートである。
【0101】
プリンター100のSRAM読み出し制御部440は、SRAM0〜7にビデオデータが書き込まれると、読み出し制御処理を開始する。
【0102】
読み出し制御処理を開始後、SRAM読み出し制御部440は、SRAM0〜7に格納されているビデオデータを読み出す処理(読み出し処理)を行う(ステップS201)。具体的には、SRAM読み出し制御部440は、各SRAM0〜7の同一アドレスに格納されているビデオデータ(図14の例では4ドット×8ごとのビデオデータ)を並列に読み出して、ジグザグ補正データ結合部430に供給する。
【0103】
続いて、ジグザグ補正データ結合部430は、SRAM0〜7から供給されたビデオデータ(32ビット)を結合する(ステップS202)。
【0104】
図16は、ジグザグ補正データ結合部430が行う結合処理についての概要を示す図である。図示するように、ジグザグ補正データ結合部430は、各SRAM0〜7から4ビットずつ供給されたビデオデータを結合し、32ビットのビデオデータを生成する。例えば、SRAM4から読み出した4ビットのビデオデータは、矢印で示すように、生成する32ビットのデータにおいて、5ビット目、13ビット目、21ビット目、29ビット目に結合される。他のビットについても図示するように結合される。なお、ここでの結合処理は、図12に示した分割処理と反対の処理であればよく、必ずしも図16に示す結合処理を行う必要はない。
【0105】
続いて、ジグザグ補正データ結合部430は、結合したビデオデータを、ラインヘッド150に出力する(ステップS203)。具体的には、ジグザグ補正データ結合部430は、ステップS202で結合した32ビットのビデオデータを、ラインヘッドI/F460を介して、ラインヘッド150に出力する。
【0106】
そして、画像処理回路140は、ステップS201〜203の処理を、SRAM0〜7に格納された全てのビデオデータ(ラスターデータ)をラインヘッド150に出力するまで繰り返す。
【0107】
また、以上の読み出し処理によって画像処理回路140から順次、出力されてくるビデオデータに基づいて、ラインヘッド150は、各発光素子を発光させる。
【0108】
以上の書き込み制御処理および読み出し制御処理を、プリンター100で行うことにより、多岐に渡る配列パターンのラインヘッド150についてジグザグ補正を行うことができるとともに、複数の副走査解像度に対応することもできる。また、複数のSRAM0〜7に分割して格納したビデオデータを、同一アドレスを指定して並列に読み出すため、ビデオデータの読み出しを高速に行うことができる。
【0109】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【0110】
例えば、上記実施形態では、SRAM420を構成するSRAM0〜7(記憶領域)の個数は、8個としている。しかし、本発明は、SRAM420の構成をこれに限定する必要はない。また、各SRAM0〜7(記憶領域)におけるデータの入出力ビット幅は4ビットである必要もない。ただし、図2に示す例のように、(SRAM0〜7の個数)×(各SRAM0〜7の入出力ビット幅)=(ビデオデータ分割部410への入力ビット幅)が成立するように設計しておくと、各SRAM0〜7上のアドレス計算が単純になり、SRAM420(各SRAM0〜7)へのデータの読み書きを高速に行うことができる。
【符号の説明】
【0111】
100・・・プリンター、110・・・コントローラー、120・・・メモリー制御ASIC、130・・・メモリー、140・・・画像処理回路、145・・・設定レジスター、150・・・ラインヘッド、410・・・ビデオデータ分割部、420・・・SRAM、430・・・ジグザグ補正データ結合部、440・・・SRAM読み出し制御部、450・・・SRAM書き込み制御部、460・・・ラインヘッドI/F。
【技術分野】
【0001】
本発明は、ラインヘッドを制御する技術に関する。
【背景技術】
【0002】
印刷装置やスキャナー装置などに用いられるラインヘッドには、複数の発光素子が配置されている。ラインヘッドの中には、隣接する発光素子間の光量低下を防ぐために、各発光素子をジグザグ(千鳥:chidori、或いは、スタガ:staggerd)状に配列させたものもある。
【0003】
しかし、発光素子をジグザグ状に配列させた場合に、全ての発光素子を同じタイミングで動作(発光)させると、副走査方向についての発光位置にずれが生じてしまう。そのため、近年では、発光素子を動作(発光)させるタイミングをずらして、発光位置にずれが生じないように補正する技術(以下では、「ジグザグ補正」とよぶ)が開発されている。
【0004】
また、発光素子をジグザグ状に配列させる配列パターンは多岐に渡る。そのため、異なる配列パターンのラインヘッドに対してジグザグ補正を行うためには、ラインヘッドごとに専用の制御ハードウェアを用意するか、レジスター設定によってパターン制御が変更可能なハードウェアを用意する必要がある。
【0005】
例えば、特許文献1には、レジスター設定によってパターン制御が変更可能なハードウェアについて記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−76148号
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、上記特許文献1では、各記録(発光)素子チップの記録(発光)タイミングを、所定の記録(発光)素子チップ列を基準として制御しているだけであるため、異なる副走査解像度で動作させる場合には対応できない。
【0008】
本発明は、多岐に渡る配列パターンのラインヘッドについてジグザグ補正を行う技術を提供するとともに、複数の副走査解像度に対応可能なジグザグ補正の技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するための本願発明は、複数の発光素子を非直線状に配列させたラインヘッドを制御する画像処理コントローラーであって、ラスターデータを格納するための複数のメモリー領域と、ラスターデータを取得する取得手段と、取得したラスターデータを、順次、前記複数のメモリー領域に振り分けて記憶させる書き込み制御手段と、複数のメモリー領域からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段と、を備え、前記書き込み制御手段は、前記各ラスターデータを格納する前記メモリー領域上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態に係るプリンターのハードウェア構成の一例を示すブロック図である。
【図2】画像処理回路および設定レジスターの詳細な構成の一例を示す図である。
【図3】ラインヘッドにおける発光素子の配列パターンを示す図である。(A)第1の配列パターンを示す図である。(B)第2の配列パターンを示す図である。(C)第3の配列パターンを示す図である。(D)第4の配列パターンを示す図である。
【図4】(A)第1の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。(B)第2の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。(C)第3の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。(D)第4の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。
【図5】第1の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図6】第2の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図7】第3の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図8】第4の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図9】第3の配列パターンのラインヘッドを使用し、副走査解像度が2400DPIの場合における、ビデオデータの出力例を示す図である。
【図10】第3の配列パターンのラインヘッドを使用し、副走査解像度が1200DPIの場合における、ビデオデータの出力例を示す図である。
【図11】書き込み制御処理を示すフローチャートである。
【図12】ビデオデータ分割部が行う分割処理についての概要を示す図である。
【図13】発光パターン情報の概略データ構造を示す図である。
【図14】SRAM上のアドレスを概念的に示す図である。
【図15】読み出し制御処理を示すフローチャートである。
【図16】ジグザグ補正データ結合部が行う結合処理についての概要を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態の一例を図面を参照して説明する。
【0012】
図1は、本発明の一実施形態が適用されたプリンター100のハードウェア構成の一例を示すブロック図である。図示するように、プリンター100は、コントローラー110と、メモリー制御ASIC120と、メモリー130と、画像処理回路140と、設定レジスター145と、ラインヘッド150と、を備える。
【0013】
ただし、プリンター100の構成はこれに限定されるものではなく、例えば、印刷エンジン(感光体、ラインヘッド150などを含む)、ネットワークインターフェイス、入力装置(ボタン、タッチパネルなど)、表示装置(表示パネル)、などを備えていてもよい。また、プリンター100は、プリンター専用機に限定されず、例えば、複合機、スキャナー装置、FAX装置などでもよい。
【0014】
コントローラー110は、プリンター100全体を制御する。例えば、コントローラー110は、ラインヘッド150を制御して、一様に帯電させた感光体の外周面を選択的に露光する。そして、コントローラー110は、露光することで形成した静電潜像に現像剤であるトナーを付与して現像する。なお、コントローラー110は、CPUなどにより構成される。
【0015】
メモリー制御ASIC120は、メモリー130を制御する。具体的には、メモリー制御ASIC120は、コントローラー110からの指示に基づいて、メモリー130からデータ(ビデオデータなど)を読み出す制御や、メモリー130にデータを書き込む制御を行う。
【0016】
メモリー130は、RAM、ROM、ハードディスクといった一般的な記憶装置からなり、印刷対象のビデオデータなどを記憶する。なお、メモリー130に記憶されるビデオデータは、プリンター100のホストPCで生成されたビデオデータであってもよいし、プリンター100で生成したビデオデータであってもよい。また、メモリー130は、揮発性メモリーであってもよいし、不揮発性メモリーであってもよい。また、可搬型のメモリーであってもよい。
【0017】
画像処理回路140は、ラインヘッド150に備わる各発光素子の発光タイミングを決定し、決定した発光タイミングに合わせて印刷対象のビデオデータをラインヘッド150に供給する。なお、詳細については後述するが、ラインヘッド150にはジグザグ状に各発光素子が配列されており、画像処理回路140は、ラインヘッド150に配列された各発光素子の配列パターンに応じて、各発光素子の発光タイミングを補正(ジグザグ補正)する。
【0018】
設定レジスター145は、ラインヘッド150の制御に関する設定値を格納する。例えば、設定レジスター145は、ラインヘッド150の副走査方向の解像度を指定する副走査情報と、ラインヘッド150に配列されている各発光素子の配列パターンを指定するジグザグパターン情報と、感光体に形成する静電潜像を鏡像とするか正像とするかを指定する鏡像ON/OFF情報と、を格納している。なお、設定レジスター145の設定値は、例えば、図示しないプリンターホスト(PC)やプリンター100に備わる入力装置などからコントローラー110経由で変更することができる。
【0019】
図2は、画像処理回路140および設定レジスター145の詳細な構成の一例を示す図である。図示するように、画像処理回路140は、ビデオデータ分割部410と、複数(図示する例だと8個)の記憶領域に区分けされたSRAM420と、ジグザグ補正データ結合部430と、SRAM読み出し制御部440と、SRAM書き込み制御部450と、ラインヘッドインターフェイス(I/F)460と、を備える。
【0020】
ビデオデータ分割部410は、メモリー制御ASIC120を介して線順次に入力されたビデオデータを分割し、SRAM420に供給する(振り分ける)。なお、ビデオデータ分割部410への入力ビット幅は32ビットとする。
【0021】
SRAM420は、複数の記憶領域に区分けされ、例えば、図示するように、8個のSRAM0〜7からなる。各SRAM0〜7(記憶領域)は、同様の構成からなり、例えば、4ビット×26420の記憶容量を有する。各SRAM0〜7(記憶領域)には、ビデオデータ分割部410から4ビット単位で供給されたビデオデータが格納(入力)され、ジグザグ補正データ結合部430に4ビット単位で出力する。
【0022】
ジグザグ補正データ結合部430は、SRAM420から読み出されたビデオデータ(ジグザグ補正済み)を結合し、ラインヘッドI/F460に供給する。なお、ジグザグ補正データ結合部430からの出力ビット幅は32ビットとする。また、ラインヘッドI/F460は少なくとも1ライン分のラスターバッファを有するが、ここでは省略する。
【0023】
SRAM書き込み制御部450は、ビデオデータ分割部410に線順次に入力されたビデオデータ(32ビット)を、SRAM420に書き込む制御を行う。SRAM書き込み制御部450は、設定レジスター145の設定値を参照して、各発光素子の発光タイミング(格納順序)を決定し、決定した発光タイミング(格納順序)で、4ビットに分割したビデオデータを各SRAM0〜7(記憶領域)に書き込む。具体的には、SRAM書き込み制御部450は、設定レジスター145に格納されているジグザグパターン情報を読み出してラインヘッド150に配列された発光素子の配列パターンを特定し、特定した配列パターンに応じて、発光タイミング(格納順序)を記述した発光パターン情報(パターン1〜4)を選択する。そして、選択した発光パターン情報の記述に従って、ビデオデータ分割部410が分割したビデオデータを、それぞれSRAM0〜7(記憶領域)に書き込む。
【0024】
SRAM読み出し制御部440は、SRAM0〜7(記憶領域)に格納されているビデオデータを、並列に4ビットずつジグザグ補正データ結合部430に読み出す。具体的には、SRAM読み出し制御部400は、コントローラー110から供給される垂直同期信号および水平同期信号に同期させて、各SRAM0〜7(記憶領域)から並列に4ビットずつビデオデータ(ジグザグ補正済み)を読み出す。なお、SRAM読み出し制御部440は、各SRAM0〜7(記憶領域)からビデオデータを読み出す場合には、各SRAM0〜7の同アドレスを指定して読み出す。
【0025】
ラインヘッドI/F460は、ジグザグ補正データ結合部430から供給されたビデオデータを、ラインヘッド150に出力する。
【0026】
図1に戻り、ラインヘッド150は、ジグザグ状(主走査方向)に配列された複数の発光素子(例えば、LED)を有する。
【0027】
図3(A)〜(D)は、ラインヘッド150における発光素子の配列パターンを示す図である。
【0028】
図3(A)は、第1の配列パターンを示す図である。第1の配列パターンでは、発光素子が1画素(1ドット)おきに副走査方向にずれるジグザグ構成であり、図示するように、副走査方向上流側の列と副走査方向下流側の列の2列の構成からなる。
【0029】
図3(B)は、第2の配列パターンを示す図である。第2の配列パターンでは、発光素子が1画素(1ドット)おきに副走査方向にずれるジグザグ構成であり、図示するように、副走査方向に4列の構成からなる。
【0030】
図3(C)は、第3の配列パターンを示す図である。第3の配列パターンでは、発光素子が1画素(1ドット)おきに副走査方向にずれるジグザグ構成であり、図示するように、副走査方向に8列の構成からなる。
【0031】
図3(D)は、第4の配列パターンを示す図である。第4の配列パターンでは、発光素子が1画素(1ドット)おきに副走査方向に(数画素分)ずれるジグザグ構成であり、図示するように、副走査方向に8列の構成からなる。
【0032】
本発明は、図3(A)〜(D)に示すいずれの配列パターンであっても、ジグザグ補正を可能とする。ただし、これらの配列パターンに限定されず、副走査方向に8列以下の構成であれば、他の配列パターンであってもよい。なお、発光素子の配列パターンを9列以上にする場合には、SRAM420を構成する各SRAM0〜7の個数を増加させればよい。例えば、発光素子の配列パターンを副走査方向に16列にする場合には、SRAM420を16個のSRAM0〜15で構成すればよい。
【0033】
また、図4(A)〜(D)は、第1〜第4の配列パターンのラインヘッド150を使用した場合における、発光タイミングを示す図である。
【0034】
図4(A)は、第1の配列パターンのラインヘッド150を使用した場合における、発光タイミング(印字タイミング)を示す図である。図示するように、第1の配列パターンでは、主走査方向に向かって1番目、3番目、5番目、・・・の発光素子(第1列)が同タイミングで発光し、主走査方向に向かって2番目、4番目、6番目、・・・の発光素子(第2列)が、第1列の発光素子の発光から(副走査1ラスター分)遅れて発光する。このように発光タイミングをずらす(ジグザグ補正を行う)ことにより、発光素子が図3(A)に示すようなジグザグ構成(第1の配列パターン)で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【0035】
なお,この例では、隣接する発光素子の主走査方向の間隔は、解像度が1200DPIの場合の印字間隔であり、隣接する発光素子の副走査方向の間隔は、解像度が600DPIの場合の印字間隔となっている。なお、隣接する発光素子の主走査方向および副走査方向の間隔は、第2〜第4の配列パターンにおいても同様とする。
【0036】
図4(B)は、第2の配列パターンのラインヘッド150を使用した場合における、発光タイミング(印字タイミング)を示す図である。図示するように、第2の配列パターンでは、主走査方向に向かって4番目、8番目、12番目、16番目、・・・の発光素子(第1列)が同タイミングで発光する。また、主走査方向に向かって3番目、7番目、11番目、15番目、・・・の発光素子(第2列)が、第1列の発光素子の発光から(副走査1ラスター分)遅れて発光する。また、主走査方向に向かって2番目、6番目、10番目、14番目、・・・の発光素子(第3列)が、第2列の発光素子の発光から(副走査1ラスター分)遅れて発光する。また、主走査方向に向かって1番目、5番目、9番目、13番目、・・・の発光素子(第4列)が、第3列の発光素子の発光から(副走査1ラスター分)遅れて発光する。このように発光タイミングをずらす(ジグザグ補正を行う)ことにより、発光素子が図3(B)に示すようなジグザグ構成(第2の配列パターン)で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【0037】
図4(C)は、第3の配列パターンのラインヘッド150を使用した場合における、発光タイミング(印字タイミング)を示す図である。図示するように、第3の配列パターンでは、主走査方向に向かって8番目、16番目、・・・の発光素子(第1列)が同タイミングで発光する。また、主走査方向に向かって7番目、15番目、・・・の発光素子(第2列)が、第1列の発光素子の発光から(副走査1ラスター分)遅れて発光する。また、主走査方向に向かって6番目、14番目、・・・の発光素子(第3列)が、第2列の発光素子の発光から(副走査1ラスター分)遅れて発光する。以下、同様に、第4列の発光素子は、第3列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第5列の発光素子は、第4列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第6列の発光素子は、第5列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第7列の発光素子は、第6列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第8列の発光素子は、第7列の発光素子の発光から(副走査1ラスター分)遅れて発光する。このように発光タイミングをずらす(ジグザグ補正を行う)ことにより、発光素子が図3(C)に示すようなジグザグ構成(第3の配列パターン)で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【0038】
図4(D)は、第4の配列パターンのラインヘッド150を使用した場合における、発光タイミング(印字タイミング)を示す図である。図示するように、第4の配列パターンでは、主走査方向に向かって8番目、16番目、・・・の発光素子(第1列)が同タイミングで発光する。また、主走査方向に向かって3番目、11番目、・・・の発光素子(第2列)が、第1列の発光素子の発光から(副走査1ラスター分)遅れて発光する。また、主走査方向に向かって6番目、14番目、・・・の発光素子(第3列)が、第2列の発光素子の発光から(副走査1ラスター分)遅れて発光する。以下、同様に、第4列の発光素子は、第3列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第5列の発光素子は、第4列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第6列の発光素子は、第5列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第7列の発光素子は、第6列の発光素子の発光から(副走査1ラスター分)遅れて発光し、第8列の発光素子は、第7列の発光素子の発光から(副走査1ラスター分)遅れて発光する。このように発光タイミングをずらす(ジグザグ補正を行う)ことにより、発光素子が図3(D)に示すようなジグザグ構成(第4の配列パターン)で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【0039】
次に、図5〜図8は、ビデオデータの出力(発光タイミング)例を示す図である。各図において、1ページ分のビデオデータは、Mラスター分(M≧1)のビデオデータから構成されているものとする。そして、各ラスターは、所定のビット数(例えば、15680ビット)からなる。また、1ラスター目のビデオデータについては「dot1−1」〜「dot1−15680」と表記し、2ラスター目のビデオデータについては「dot2−1」〜「dot2−15680」と表記し、他のラスターも同様に表記し、Mラスター目のビデオデータについては「dotM−1」〜「dotM−15680」と表記する。ただし、実際の各ビデオデータ(1ビット)の値は、「0」と「1」のように、出力(発光)、非出力(非発光)を示す値からなる。
【0040】
また、各図において、図示する各列は、ラインヘッド150に配列された発光素子に対応している。各図で図示する例では、ラインヘッド150に配列されている発光素子のうち、左から1番目〜8番目の発光素子の出力例のみを示している。
【0041】
そして、同行の各ビデオデータ(1ビット)は、同タイミングで各発光素子(1番目〜8番目)から出力(発光)される出力例である。なお、「0」は非出力(非発光)を示す。
【0042】
図5は、第1の配列パターンのラインヘッド150を使用した場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0043】
図示するように、各発光素子(1番目〜8番目)は、最初の発光タイミングで、それぞれ、「dot1−1」、「0」、「dot1−3」、「0」、「dot1−5」、「0」、「dot1−7」、「0」に対応する出力(発光)を行う。そして、次の水平同期信号による発光タイミングで、各発光素子(1番目〜8番目)は、それぞれ、「dot2−1」、「0」、「dot2−3」、「0」、「dot2−5」、「0」、「dot2−7」、「0」に対応する出力(発光)を行う。
【0044】
このように、1番目、3番目、5番目、7番目、・・・、といった奇数番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。これに対し、2番目、4番目、6番目、8番目、・・・、といった偶数番目の発光素子は、奇数番号の発光素子が8個(8ラスター)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。
【0045】
なお、1ラスター分のビデオデータは、解像度が4800DPIの場合の印字間隔で印字されるものとする。従って、偶数番号の発光素子が奇数番号の発光素子よりも8個(8ラスタ)分遅れて出力(発光)を開始することは、偶数番号の発光素子の出力(発光)開始位置が、奇数番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることを意味する。
【0046】
また、奇数番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、偶数番目の発光素子は、奇数番号の発光素子が出力(発光)を終了した後も、8個(8ラスター)分のビデオデータに対応する出力(発光)を行う。
【0047】
ここで、偶数番号の発光素子が奇数番号の発光素子よりも8個(8ラスター)分遅れて出力(発光)を終了することは、偶数番号の発光素子の出力(発光)終了位置が、奇数番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることを意味する。
【0048】
このように、第1の配列パターンのラインヘッド150を使用する場合において、図5に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0049】
次に、図6は、第2の配列パターンのラインヘッド150を使用した場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0050】
図示するように、4番目、8番目、・・・、といった(4の倍数)番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。また、3番目、7番目、・・・、といった(4の倍数−1)番目の発光素子は、(4の倍数)番号の発光素子が8個(8ラスター)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。また、2番目、6番目、・・・、といった(4の倍数−2)番目の発光素子は、(4の倍数−1)番目の発光素子が8個(8ラスター)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。また、1番目、5番目、・・・、といった(4の倍数−3)番目の発光素子は、(4の倍数−2)番目の発光素子が8個(8ラスター)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。
【0051】
すなわち、(4の倍数−1)番号の発光素子の出力(発光)開始位置は、(4の倍数)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(4の倍数−2)番号の発光素子の印字(発光)開始位置は、(4の倍数−1)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(4の倍数−3)番号の発光素子の出力(発光)開始位置は、(4の倍数−2)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。
【0052】
また、(4の倍数)番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、(4の倍数−1)番目の発光素子は、(4の倍数)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(4の倍数−2)番目の発光素子は、(4の倍数−1)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(4の倍数−3)番目の発光素子は、(4の倍数−2)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。
【0053】
すなわち、(4の倍数−1)番号の発光素子の出力(発光)終了位置は、(4の倍数)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(4の倍数−2)番号の発光素子の出力(発光)終了位置は、(4の倍数−1)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(4の倍数−3)番号の発光素子の出力(発光)終了位置は、(4の倍数−2)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。
【0054】
このように、第2の配列パターンのラインヘッド150を使用する場合において、図6に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0055】
次に、図7は、第3の配列パターンのラインヘッド150を使用した場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0056】
図示するように、(8の倍数)番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。また、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が8個(8ラスター)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。そして、(8の倍数−2)番目の発光素子、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力(発光)を開始する。
【0057】
すなわち、(8の倍数−1)番号の発光素子の出力(発光)開始位置は、(8の倍数)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の印字(発光)開始位置は、(8の倍数−1)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に、出力(発光)開始位置がずれることになる。
【0058】
また、図示していないが、(8の倍数)番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(8の倍数−2)番目の発光素子は、(8の倍数−1)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様のタイミングで、出力(発光)を終了する。
【0059】
すなわち、(8の倍数−1)番号の発光素子の出力(発光)終了位置は、(8の倍数)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の出力(発光)開始位置は、(8の倍数−1)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に、出力(発光)終了位置がずれることになる。
【0060】
このように、第3の配列パターンのラインヘッド150を使用する場合において、図7に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0061】
次に、図8は、第4の配列パターンのラインヘッド150を使用した場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0062】
図示するように、(8の倍数)番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。また、(8の倍数−5)番目の発光素子は、(8の倍数)番号の発光素子が8個(8ラスタ)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。そして、(8の倍数−2)番目の発光素子、(8の倍数−7)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−1)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−3)番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力(発光)を開始する。
【0063】
すなわち、(8の倍数−5)番号の発光素子の出力(発光)開始位置は、(8の倍数)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の印字(発光)開始位置は、(8の倍数−5)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−7)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−1)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−3)番目の発光素子についても、同様に、出力(発光)開始位置がずれることになる。
【0064】
また、図示していないが、(8の倍数)番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、(8の倍数−5)番目の発光素子は、(8の倍数)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(8の倍数−2)番目の発光素子は、(8の倍数−5)番号の発光素子が出力(発光)を終了してから、8個(8ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。そして、(8の倍数−7)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−1)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−3)番目の発光素子についても、同様のタイミングで、出力(発光)を終了する。
【0065】
すなわち、(8の倍数−5)番号の発光素子の出力(発光)終了位置は、(8の倍数)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の出力(発光)開始位置は、(8の倍数−5)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−7)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−1)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−3)番目の発光素子についても、同様に、出力(発光)終了位置がずれることになる。
【0066】
このように、第4の配列パターンのラインヘッド150を使用する場合において、図8に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0067】
次に、図9は、第3の配列パターンのラインヘッド150を使用し、副走査解像度が2400DPIの印字間隔で1ラスター分のビデオデータを印字する場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0068】
図示するように、(8の倍数)番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。また、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が4個(4ラスタ)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。そして、(8の倍数−2)番目の発光素子、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力(発光)を開始する。
【0069】
すなわち、(8の倍数−1)番号の発光素子の出力(発光)開始位置は、(8の倍数)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の印字(発光)開始位置は、(8の倍数−1)番号の発光素子の出力(発光)開始位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に、出力(発光)開始位置がずれることになる。
【0070】
また、図示していないが、(8の倍数)番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が出力(発光)を終了してから、4個(4ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(8の倍数−2)番目の発光素子は、(8の倍数−1)番号の発光素子が出力(発光)を終了してから、4個(4ラスター)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様のタイミングで、出力(発光)を終了する。
【0071】
すなわち、(8の倍数−1)番号の発光素子の出力(発光)終了位置は、(8の倍数)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。同様に、(8の倍数−2)番号の発光素子の出力(発光)開始位置は、(8の倍数−1)番号の発光素子の出力(発光)終了位置から、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)だけずれることになる。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に、出力(発光)終了位置がずれることになる。
【0072】
このように、1ラスター分のビデオデータを印字する印字間隔を変更した場合(副走査解像度:2400DPI)においても、図9に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0073】
また、図10は、第3の配列パターンのラインヘッド150を使用し、副走査解像度が1200DPIの印字間隔で1ラスター分のビデオデータを印字する場合における、ビデオデータの出力(発光タイミング)例を示す図である。
【0074】
図示するように、(8の倍数)番目の発光素子は、最初から1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を、順次、行う。また、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が2個(2ラスタ)分のビデオデータに対応する出力(発光)を行った後に、1ラスター目、2ラスター目、といった各ラスターのビデオデータに対応する出力(発光)を開始する。そして、(8の倍数−2)番目の発光素子、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力(発光)を開始する。
【0075】
また、図示していないが、(8の倍数)番目の発光素子は、Mラスター目のビデオデータに対応する出力(発光)を行った後は、出力(発光)を終了する。これに対し、(8の倍数−1)番目の発光素子は、(8の倍数)番号の発光素子が出力(発光)を終了してから、2個(2ラスタ)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。また、(8の倍数−2)番目の発光素子は、(8の倍数−1)番号の発光素子が出力(発光)を終了してから、2個(2ラスタ)分のビデオデータに対応する出力(発光)を行い、出力(発光)を終了する。そして、(8の倍数−3)番目の発光素子、(8の倍数−4)番目の発光素子、(8の倍数−5)番目の発光素子、(8の倍数−6)番目の発光素子、(8の倍数−7)番目の発光素子についても、同様のタイミングで、出力(発光)を終了する。
【0076】
このように、1ラスター分のビデオデータを印字する印字間隔を変更した場合(副走査解像度:1200DPI)においても、図10に示す出力(発光タイミング)で出力(発光)を行うことによって、印刷媒体上には、「dot1−1」、「dot1−2」、「dot1−3」、「dot1−4」、「dot1−5」、・・・といった1ラスター分のビデオデータが直線状に印字される。
【0077】
次に、上記構成からなるプリンター100の特徴的な動作について説明する。図11は、プリンター100で行われる書き込み制御処理について説明するフローチャートである。
【0078】
プリンター100の画像処理回路140は、プリンター100に電源が投入されると、書き込み制御処理を開始する。
【0079】
書き込み制御処理を開始後、画像処理回路140のビデオデータ分割部410は、ビデオデータ(ラスターデータ)を取得する(ステップS101)。具体的には、メモリー制御ASIC120がメモリー130に格納されているビデオデータを32ビット単位で画像処理回路140に供給し、ビデオデータ分割部410は、供給されたビデオデータを受け付ける。
【0080】
続いて、ビデオデータ分割部410は、取得したビデオデータ(32ビット)を分割する(ステップS102)。
【0081】
図12は、ビデオデータ分割部410が行う分割処理についての概要を示す図である。図示するように、ビデオデータ分割部410は、32ビットのビデオデータを8分割し、4ビットずつのビデオデータを生成する。具体的には、32ビットのビデオデータのうち、1ビット目、9ビット目、17ビット目、25ビット目のビデオデータを合成した4ビットのビデオデータを生成する。また、他のビットについても同様に4ビットのビデオデータを生成する。
【0082】
図11に戻り、SRAM書き込み制御部450は、ステップS102で分割された4ビットずつのビデオデータを格納するSRAM0〜7上のアドレスを決定する(ステップS103)。
【0083】
具体的には、SRAM書き込み制御部450は、まず、設定レジスター145からジグザグパターン情報を読み出して、ラインヘッド150に配列されている発光素子の配列パターンを特定する。例えば、ジグザグパターン情報には、上述した第1の配列パターン〜第4の配列パターンのいずれかを特定するデータが含まれている。
【0084】
そして、SRAM書き込み制御部450は、特定した配列パターンに対応する発光パターン情報を選択する。ここで、発光パターン情報は、SRAM書き込み制御部450が予め保有(記憶)しているデータであり、発光タイミング(格納順序)が記述されている。
【0085】
図13は、発光パターン情報のデータ構造を示す図である。「パターン1」は、第1の配列パターンに対応する発光パターン情報であり、「パターン2」は、第2の配列パターンに対応する発光パターン情報であり、「パターン3」は、第3の配列パターンに対応する発光パターン情報であり、「パターン4」は、第4の配列パターンに対応する発光パターン情報である。
【0086】
図示するように、各発光パターン情報は、8個のタイミング情報(PTN0〜7)から構成される。各タイミング情報(PTN0〜7)は、ラインヘッド150に配列されている発光素子にそれぞれ対応付けられている。具体的には、タイミング情報「PTN0」は、ラインヘッド150の主走査方向に配列された発光素子のうち、「8の倍数−7」番目の発光素子に対応付けられ、タイミング情報「PTN1」は、主走査方向に配列された発光素子のうち、「8の倍数−6」番目の発光素子に対応付けられている。以下、同様に、タイミング情報「PTN2」は「8の倍数−5」番目の発光素子に、タイミング情報「PTN3」は「8の倍数−4」番目の発光素子に、タイミング情報「PTN4」は「8の倍数−3」番目の発光素子に、タイミング情報「PTN5」は「8の倍数−2」番目の発光素子に、タイミング情報「PTN6」は「8の倍数−1」番目の発光素子に、タイミング情報「PTN7」は「8の倍数」番目の発光素子に対応付けられている。
【0087】
また、各タイミング情報(PTN0〜7)は、最大3ビット(0〜7)の情報を格納可能であり、副走査方向の発光タイミング(発光順序)を示す。具体的には、「0」、「1」、「2」〜「7」の順序で発光させることを示し、「パターン1」の例では、「8の倍数−7」番目、「8の倍数−5」番目、「8の倍数−3」番目、「8の倍数−1」番目の発光素子を最初に発光させ、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)分遅れて、「8の倍数−6」番目、「8の倍数−4」番目、「8の倍数−2」番目、「8の倍数」番目の発光素子を発光させることを示す。
【0088】
同様に、「パターン2」の例では、「8の倍数−4」番目、「8の倍数」番目の発光素子を最初に発光させ、解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)分遅れて、「8の倍数−5」番目、「8の倍数−1」番目の発光素子を発光させる。さらに解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)分遅れて、「8の倍数−6」番目、「8の倍数−2」番目の発光素子を発光させる。さらに解像度が600DPIの場合の印字間隔(図4の副走査方向の間隔)分遅れて、「8の倍数−7」番目、「8の倍数−3」番目の発光素子を発光させる、ことを示す。
【0089】
「パターン3」、「パターン4」の例でも、同様に発光タイミング(発光順序)を示す。
【0090】
そして、SRAM書き込み制御部450は、1つの発光パターン情報を選択すると、分割されたビデオデータを書き込むアドレス(書き込みアドレス)をSRAM0〜7ごとに算出する。
【0091】
以下に、図14を参照して書き込みアドレスの算出方法について説明する。図14は、SRAM0〜1上のアドレスを概念的に示す図である。
【0092】
SRAM書き込み制御部450は、まず、発光パターン情報(タイミング情報)に基づいて定められる書き込み開始アドレス(StOffset)を求める。ここで、各SRAM0〜7の書き込み開始アドレス(StOffset)は、それぞれ、タイミング情報(PTN0〜7)の値に応じて定められる。例えば、SRAM書き込み制御部450は、書き込み開始アドレス(StOffset)を、
StOffset=PtnNum×VertRes×MaxDot/BitWidth ・・・(数式1)
に従って求める。なお、PtnNumは図13に示したタイミング情報(PTN0〜7)の値(「0」〜「7」)を示す。また、VertResは副走査方向の解像度比(副走査解像度/隣接する発行素子の副走査方向の解像度)を示す。例えば、SRAM書き込み制御部450は、設定レジスター145に予め格納されている副走査情報を読み出して解像度を特定する。そして、特定した解像度が600DPIの場合にはVertResの値を「1」とし、1200DPIの場合には「2」とし、2400DPIの場合には「4」とし、4800DPIの場合には「8」とする。また、MaxDotは主走査方向最大ドット数(1ラスター分のドット数)を示し、BitWidthはビデオデータ分割部410への入力ビット幅を示す。ここで、MaxDot/BitWidthは1ラスター分のビデオデータをSRAM0〜7に格納するために必要となるアドレス数(行数)を示す。
【0093】
以上のように、書き込み開始アドレス(StOffset)を、発光パターン情報(タイミング情報)に基づいて求めることにより、発光素子の配置(パターン)がどのようなパターンであっても、適切にジグザグ補正を行うことができる。
【0094】
また、書き込み開始アドレス(StOffset)を、副走査方向の解像度に比例して変更(下げる)している。そのため、副走査方向の解像度がどのような値であっても、適切に(発光素子の副走査方向へのずれに応じて)ジグザグ補正を行うことができる。
【0095】
なお、上記の数式1は、鏡像ON/OFF情報がOFFの場合に用いる数式である。設定レジスター145にONを示す鏡像ON/OFF情報が格納されている場合には、SRAM書き込み制御部450は、発光パターン情報(タイミング情報)の順序を入れ替えて、書き込み開始アドレス(StOffset)を求める。ここで、発光パターン情報(タイミング情報)の順序を入れ替えることは、PTN0〜7をPTN7〜0に入れ替えることを指す。この場合、書き込み制御部450は、書き込み開始アドレス(StOffset)を、
StOffset=(MaxPtnNum−PtnNum)×VertRes×MaxDot/BitWidth ・・・(数式2)
に従って求める。ただし、MaxPtnNumはタイミング情報(PTN0〜7)の最大値を示す。
【0096】
次に、SRAM書き込み制御部450は、既にSRAM0〜7に書き込んだビデオデータのドット数をカウントし、書き込み開始アドレス(StOffset)に加えて、ビデオデータを書き込むアドレス(書き込みアドレス)を算出する。なお、SRAM0〜7の最後(SRAMアドレスの最大値「6F03」)までビデオデータを書き込み終えると、SRAM0〜7の最初(SRAMアドレスの最小値「0」)からビデオデータを書き込むように、書き込みアドレスを算出する。
【0097】
具体的には、SRAM書き込み制御部450は、
SramWAdr={StOffset+(WrasCnt×MaxDot+WDotCnt)/BitWidth} mod MaxSramWAdr ・・・(数式3)
を用いて書き込みアドレスを算出する。ここで、SramWAdrは、書き込みアドレスを示す。また、StOffsetはSRAM0〜7の書き込み開始アドレスを示し、WrasCntはラスター(副走査)カウント値を示し、MaxDotは主走査方向最大ドット数(1ラスター分のドット数)を示し、WDotCntは主走査方向のドットカウント値を示す。また、BitWidthはビデオデータ分割部410への入力ビット幅を示し、MaxSramWAdrはSRAMアドレスの最大値を示す。
【0098】
以上のように、SRAM書き込み制御部450は、各SRAM0〜7にビデオデータを書き込む開始アドレス(StOffset)を、発光素子の配置ずれ(副走査方向へのずれ)に応じて求めている。そして、ビデオデータの書き込みアドレスを、書き込み開始アドレス(StOffset)を基準に決定している。このように決定した書き込みアドレスの位置(SRAM0〜7)にビデオデータを格納しておけば、同一アドレスを指定して各SRAM0〜7のビデオデータ(例えば、点線の枠で囲まれているビデオデータ)を読み出すことで、図5〜図10に示した発光タイミングで、ビデオデータを出力する(ジグザグ補正を行う)ことができる。
【0099】
図11に戻り、SRAM書き込み制御部450は、ステップS103で決定した書き込みアドレスの位置(SRAM0〜7)に、ビデオデータを書き込む処理を行う(ステップS104)。そして、画像処理回路140は、ステップS101〜104の処理を、ビデオデータ(ラスターデータ)を取得するたびに繰り返し、ビデオデータをSRAM0〜7に格納する。
【0100】
次に、図15は、プリンター100で行われる読み出し制御処理について説明するフローチャートである。
【0101】
プリンター100のSRAM読み出し制御部440は、SRAM0〜7にビデオデータが書き込まれると、読み出し制御処理を開始する。
【0102】
読み出し制御処理を開始後、SRAM読み出し制御部440は、SRAM0〜7に格納されているビデオデータを読み出す処理(読み出し処理)を行う(ステップS201)。具体的には、SRAM読み出し制御部440は、各SRAM0〜7の同一アドレスに格納されているビデオデータ(図14の例では4ドット×8ごとのビデオデータ)を並列に読み出して、ジグザグ補正データ結合部430に供給する。
【0103】
続いて、ジグザグ補正データ結合部430は、SRAM0〜7から供給されたビデオデータ(32ビット)を結合する(ステップS202)。
【0104】
図16は、ジグザグ補正データ結合部430が行う結合処理についての概要を示す図である。図示するように、ジグザグ補正データ結合部430は、各SRAM0〜7から4ビットずつ供給されたビデオデータを結合し、32ビットのビデオデータを生成する。例えば、SRAM4から読み出した4ビットのビデオデータは、矢印で示すように、生成する32ビットのデータにおいて、5ビット目、13ビット目、21ビット目、29ビット目に結合される。他のビットについても図示するように結合される。なお、ここでの結合処理は、図12に示した分割処理と反対の処理であればよく、必ずしも図16に示す結合処理を行う必要はない。
【0105】
続いて、ジグザグ補正データ結合部430は、結合したビデオデータを、ラインヘッド150に出力する(ステップS203)。具体的には、ジグザグ補正データ結合部430は、ステップS202で結合した32ビットのビデオデータを、ラインヘッドI/F460を介して、ラインヘッド150に出力する。
【0106】
そして、画像処理回路140は、ステップS201〜203の処理を、SRAM0〜7に格納された全てのビデオデータ(ラスターデータ)をラインヘッド150に出力するまで繰り返す。
【0107】
また、以上の読み出し処理によって画像処理回路140から順次、出力されてくるビデオデータに基づいて、ラインヘッド150は、各発光素子を発光させる。
【0108】
以上の書き込み制御処理および読み出し制御処理を、プリンター100で行うことにより、多岐に渡る配列パターンのラインヘッド150についてジグザグ補正を行うことができるとともに、複数の副走査解像度に対応することもできる。また、複数のSRAM0〜7に分割して格納したビデオデータを、同一アドレスを指定して並列に読み出すため、ビデオデータの読み出しを高速に行うことができる。
【0109】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【0110】
例えば、上記実施形態では、SRAM420を構成するSRAM0〜7(記憶領域)の個数は、8個としている。しかし、本発明は、SRAM420の構成をこれに限定する必要はない。また、各SRAM0〜7(記憶領域)におけるデータの入出力ビット幅は4ビットである必要もない。ただし、図2に示す例のように、(SRAM0〜7の個数)×(各SRAM0〜7の入出力ビット幅)=(ビデオデータ分割部410への入力ビット幅)が成立するように設計しておくと、各SRAM0〜7上のアドレス計算が単純になり、SRAM420(各SRAM0〜7)へのデータの読み書きを高速に行うことができる。
【符号の説明】
【0111】
100・・・プリンター、110・・・コントローラー、120・・・メモリー制御ASIC、130・・・メモリー、140・・・画像処理回路、145・・・設定レジスター、150・・・ラインヘッド、410・・・ビデオデータ分割部、420・・・SRAM、430・・・ジグザグ補正データ結合部、440・・・SRAM読み出し制御部、450・・・SRAM書き込み制御部、460・・・ラインヘッドI/F。
【特許請求の範囲】
【請求項1】
複数の発光素子を非直線状に配列させたラインヘッドを制御する画像処理コントローラーであって、
ラスターデータを格納するための複数のメモリー領域と、
ラスターデータを取得する取得手段と、
取得したラスターデータを、順次、前記複数のメモリー領域に振り分けて記憶させる書き込み制御手段と、
複数のメモリー領域からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段と、を備え、
前記書き込み制御手段は、
前記各ラスターデータを格納する前記メモリー領域上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する、
ことを特徴とする画像処理コントローラー。
【請求項2】
請求項1に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
前記ラスターデータに基づいて制御される発光素子の副走査方向の配置ずれが大きいほど、前記ラスターデータを格納するアドレスのずれ幅が大きくなるように、前記アドレスを決定する、
ことを特徴とする画像処理コントローラー。
【請求項3】
請求項2に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
設定されている副走査解像度が高いほど、前記アドレスのずれ幅が大きくなるように、前記アドレスを決定する、
ことを特徴とする画像処理コントローラー。
【請求項4】
請求項2に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
前記アドレスを、
SramWAdr={StOffset+(WrasCnt×MaxDot+WDotCnt)/BitWidth} mod MaxSramWAdr
に従って算出する、
(ただし、SramWAdr:前記アドレス、
StOffset:前記メモリー領域への書き込み開始アドレス、
WrasCnt:ラスター(副走査)カウント値、
MaxDot:主走査方向最大ドット数(1ラスタ分のドット数)、
WDotCnt:主走査方向のドットカウント値、
BitWidth:前記取得手段が一度に取得するラスターデータのビット幅、
MaxSramWAdr:前記アドレスの最大値、とする)
ことを特徴とする画像処理コントローラー。
【請求項5】
請求項4に記載の画像処理コントローラーであって、
前記書き込み開始アドレス(StOffset)を、
StOffset=PtnNum×VertRes×MaxDot/BitWidth
に従って算出する、
(ただし、PtnNum:前記発光素子の副走査方向の配置ずれを示す値
VertRes:副走査方向の解像度に比例する値、とする)
ことを特徴とする画像処理コントローラー。
【請求項6】
請求項1乃至5のいずれか1項に記載の画像処理コントローラーであって
前記読み出し制御手段は、
複数のメモリー領域からそれぞれラスターデータを並列に所定ビットずつ読み出す、
ことを特徴とする画像処理コントローラー。
【請求項7】
請求項6に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
取得したラスターデータを所定ビットずつのデータに分割し、順次、前記複数のメモリー領域に振り分けて記憶させ、
前記読み出し制御手段は、
前記複数のメモリー領域からラスターデータを読み出す場合には、各メモリー領域の同アドレスを指定して読み出す、
ことを特徴とする画像処理コントローラー。
【請求項8】
複数の発光素子を非直線状に配列させたラインヘッドを制御する印刷装置であって、
ラスターデータを格納するための複数のメモリー領域と、
ラスターデータを取得する取得手段と、
取得したラスターデータを、順次、前記複数のメモリー領域に振り分けて記憶させる書き込み制御手段と、
複数のメモリー領域からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段と、を備え、
前記書き込み制御手段は、
前記各ラスターデータを格納する前記メモリー領域上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する、
ことを特徴とする印刷装置。
【請求項1】
複数の発光素子を非直線状に配列させたラインヘッドを制御する画像処理コントローラーであって、
ラスターデータを格納するための複数のメモリー領域と、
ラスターデータを取得する取得手段と、
取得したラスターデータを、順次、前記複数のメモリー領域に振り分けて記憶させる書き込み制御手段と、
複数のメモリー領域からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段と、を備え、
前記書き込み制御手段は、
前記各ラスターデータを格納する前記メモリー領域上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する、
ことを特徴とする画像処理コントローラー。
【請求項2】
請求項1に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
前記ラスターデータに基づいて制御される発光素子の副走査方向の配置ずれが大きいほど、前記ラスターデータを格納するアドレスのずれ幅が大きくなるように、前記アドレスを決定する、
ことを特徴とする画像処理コントローラー。
【請求項3】
請求項2に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
設定されている副走査解像度が高いほど、前記アドレスのずれ幅が大きくなるように、前記アドレスを決定する、
ことを特徴とする画像処理コントローラー。
【請求項4】
請求項2に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
前記アドレスを、
SramWAdr={StOffset+(WrasCnt×MaxDot+WDotCnt)/BitWidth} mod MaxSramWAdr
に従って算出する、
(ただし、SramWAdr:前記アドレス、
StOffset:前記メモリー領域への書き込み開始アドレス、
WrasCnt:ラスター(副走査)カウント値、
MaxDot:主走査方向最大ドット数(1ラスタ分のドット数)、
WDotCnt:主走査方向のドットカウント値、
BitWidth:前記取得手段が一度に取得するラスターデータのビット幅、
MaxSramWAdr:前記アドレスの最大値、とする)
ことを特徴とする画像処理コントローラー。
【請求項5】
請求項4に記載の画像処理コントローラーであって、
前記書き込み開始アドレス(StOffset)を、
StOffset=PtnNum×VertRes×MaxDot/BitWidth
に従って算出する、
(ただし、PtnNum:前記発光素子の副走査方向の配置ずれを示す値
VertRes:副走査方向の解像度に比例する値、とする)
ことを特徴とする画像処理コントローラー。
【請求項6】
請求項1乃至5のいずれか1項に記載の画像処理コントローラーであって
前記読み出し制御手段は、
複数のメモリー領域からそれぞれラスターデータを並列に所定ビットずつ読み出す、
ことを特徴とする画像処理コントローラー。
【請求項7】
請求項6に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
取得したラスターデータを所定ビットずつのデータに分割し、順次、前記複数のメモリー領域に振り分けて記憶させ、
前記読み出し制御手段は、
前記複数のメモリー領域からラスターデータを読み出す場合には、各メモリー領域の同アドレスを指定して読み出す、
ことを特徴とする画像処理コントローラー。
【請求項8】
複数の発光素子を非直線状に配列させたラインヘッドを制御する印刷装置であって、
ラスターデータを格納するための複数のメモリー領域と、
ラスターデータを取得する取得手段と、
取得したラスターデータを、順次、前記複数のメモリー領域に振り分けて記憶させる書き込み制御手段と、
複数のメモリー領域からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段と、を備え、
前記書き込み制御手段は、
前記各ラスターデータを格納する前記メモリー領域上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する、
ことを特徴とする印刷装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2010−149497(P2010−149497A)
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願番号】特願2009−164544(P2009−164544)
【出願日】平成21年7月13日(2009.7.13)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願日】平成21年7月13日(2009.7.13)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]