(57)【要約】【課題】多岐に渡る配列パターンのラインヘッドについてジグザグ補正を行う技術を提供するとともに、複数の副走査解像度に対応可能なジグザグ補正の技術を提供する。【解決手段】画像処理回路１４０は、複数の発光素子を非直線状に配列させたラインヘッドを制御する。画像処理回路１４０は、複数のメモリー領域４２０と、ラスターデータを取得する取得手段４１０と、取得したラスターデータを、順次、前記複数のメモリー領域４２０に振り分けて記憶させる書き込み制御手段４５０と、複数のメモリー領域４２０からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段４４０と、を備え、前記書き込み制御手段４５０は、前記各ラスターデータを格納する前記メモリー領域４２０上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する。【選択図】図２
2010149497.tif 000002
【特許請求の範囲】
【請求項１】
複数の発光素子を非直線状に配列させたラインヘッドを制御する画像処理コントローラーであって、
ラスターデータを格納するための複数のメモリー領域と、
ラスターデータを取得する取得手段と、
取得したラスターデータを、順次、前記複数のメモリー領域に振り分けて記憶させる書き込み制御手段と、
複数のメモリー領域からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段と、を備え、
前記書き込み制御手段は、
前記各ラスターデータを格納する前記メモリー領域上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する、
ことを特徴とする画像処理コントローラー。
【請求項２】
請求項１に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
前記ラスターデータに基づいて制御される発光素子の副走査方向の配置ずれが大きいほど、前記ラスターデータを格納するアドレスのずれ幅が大きくなるように、前記アドレスを決定する、
ことを特徴とする画像処理コントローラー。
【請求項３】
請求項２に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
設定されている副走査解像度が高いほど、前記アドレスのずれ幅が大きくなるように、前記アドレスを決定する、
ことを特徴とする画像処理コントローラー。
【請求項４】
請求項２に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
前記アドレスを、
ＳｒａｍＷＡｄｒ＝｛ＳｔＯｆｆｓｅｔ＋（ＷｒａｓＣｎｔ×ＭａｘＤｏｔ＋ＷＤｏｔＣｎｔ）／ＢｉｔＷｉｄｔｈ｝ ｍｏｄ ＭａｘＳｒａｍＷＡｄｒ
に従って算出する、
（ただし、ＳｒａｍＷＡｄｒ：前記アドレス、
ＳｔＯｆｆｓｅｔ：前記メモリー領域への書き込み開始アドレス、
ＷｒａｓＣｎｔ：ラスター（副走査）カウント値、
ＭａｘＤｏｔ：主走査方向最大ドット数（１ラスタ分のドット数）、
ＷＤｏｔＣｎｔ：主走査方向のドットカウント値、
ＢｉｔＷｉｄｔｈ：前記取得手段が一度に取得するラスターデータのビット幅、
ＭａｘＳｒａｍＷＡｄｒ：前記アドレスの最大値、とする）
ことを特徴とする画像処理コントローラー。
【請求項５】
請求項４に記載の画像処理コントローラーであって、
前記書き込み開始アドレス（ＳｔＯｆｆｓｅｔ）を、
ＳｔＯｆｆｓｅｔ＝ＰｔｎＮｕｍ×ＶｅｒｔＲｅｓ×ＭａｘＤｏｔ／ＢｉｔＷｉｄｔｈ
に従って算出する、
（ただし、ＰｔｎＮｕｍ：前記発光素子の副走査方向の配置ずれを示す値
ＶｅｒｔＲｅｓ：副走査方向の解像度に比例する値、とする）
ことを特徴とする画像処理コントローラー。
【請求項６】
請求項１乃至５のいずれか１項に記載の画像処理コントローラーであって
前記読み出し制御手段は、
複数のメモリー領域からそれぞれラスターデータを並列に所定ビットずつ読み出す、
ことを特徴とする画像処理コントローラー。
【請求項７】
請求項６に記載の画像処理コントローラーであって、
前記書き込み制御手段は、
取得したラスターデータを所定ビットずつのデータに分割し、順次、前記複数のメモリー領域に振り分けて記憶させ、
前記読み出し制御手段は、
前記複数のメモリー領域からラスターデータを読み出す場合には、各メモリー領域の同アドレスを指定して読み出す、
ことを特徴とする画像処理コントローラー。
【請求項８】
複数の発光素子を非直線状に配列させたラインヘッドを制御する印刷装置であって、
ラスターデータを格納するための複数のメモリー領域と、
ラスターデータを取得する取得手段と、
取得したラスターデータを、順次、前記複数のメモリー領域に振り分けて記憶させる書き込み制御手段と、
複数のメモリー領域からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段と、を備え、
前記書き込み制御手段は、
前記各ラスターデータを格納する前記メモリー領域上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する、
ことを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラインヘッドを制御する技術に関する。
【背景技術】
【０００２】
印刷装置やスキャナー装置などに用いられるラインヘッドには、複数の発光素子が配置されている。ラインヘッドの中には、隣接する発光素子間の光量低下を防ぐために、各発光素子をジグザグ（千鳥：chidori、或いは、スタガ：staggerd）状に配列させたものもある。
【０００３】
しかし、発光素子をジグザグ状に配列させた場合に、全ての発光素子を同じタイミングで動作（発光）させると、副走査方向についての発光位置にずれが生じてしまう。そのため、近年では、発光素子を動作（発光）させるタイミングをずらして、発光位置にずれが生じないように補正する技術（以下では、「ジグザグ補正」とよぶ）が開発されている。
【０００４】
また、発光素子をジグザグ状に配列させる配列パターンは多岐に渡る。そのため、異なる配列パターンのラインヘッドに対してジグザグ補正を行うためには、ラインヘッドごとに専用の制御ハードウェアを用意するか、レジスター設定によってパターン制御が変更可能なハードウェアを用意する必要がある。
【０００５】
例えば、特許文献１には、レジスター設定によってパターン制御が変更可能なハードウェアについて記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−７６１４８号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上記特許文献１では、各記録（発光）素子チップの記録（発光）タイミングを、所定の記録（発光）素子チップ列を基準として制御しているだけであるため、異なる副走査解像度で動作させる場合には対応できない。
【０００８】
本発明は、多岐に渡る配列パターンのラインヘッドについてジグザグ補正を行う技術を提供するとともに、複数の副走査解像度に対応可能なジグザグ補正の技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するための本願発明は、複数の発光素子を非直線状に配列させたラインヘッドを制御する画像処理コントローラーであって、ラスターデータを格納するための複数のメモリー領域と、ラスターデータを取得する取得手段と、取得したラスターデータを、順次、前記複数のメモリー領域に振り分けて記憶させる書き込み制御手段と、複数のメモリー領域からそれぞれラスターデータを読み出して、前記ラインヘッドに送り、前記発光素子の発光を制御する読み出し制御手段と、を備え、前記書き込み制御手段は、前記各ラスターデータを格納する前記メモリー領域上のアドレスを、前記ラインヘッドにおける発光素子の配列パターンと副走査解像度とに応じて決定する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るプリンターのハードウェア構成の一例を示すブロック図である。
【図２】画像処理回路および設定レジスターの詳細な構成の一例を示す図である。
【図３】ラインヘッドにおける発光素子の配列パターンを示す図である。（Ａ）第１の配列パターンを示す図である。（Ｂ）第２の配列パターンを示す図である。（Ｃ）第３の配列パターンを示す図である。（Ｄ）第４の配列パターンを示す図である。
【図４】（Ａ）第１の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。（Ｂ）第２の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。（Ｃ）第３の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。（Ｄ）第４の配列パターンのラインヘッドを使用した場合の発光タイミングを示す図である。
【図５】第１の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図６】第２の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図７】第３の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図８】第４の配列パターンのラインヘッドを使用した場合における、ビデオデータの出力例を示す図である。
【図９】第３の配列パターンのラインヘッドを使用し、副走査解像度が２４００ＤＰＩの場合における、ビデオデータの出力例を示す図である。
【図１０】第３の配列パターンのラインヘッドを使用し、副走査解像度が１２００ＤＰＩの場合における、ビデオデータの出力例を示す図である。
【図１１】書き込み制御処理を示すフローチャートである。
【図１２】ビデオデータ分割部が行う分割処理についての概要を示す図である。
【図１３】発光パターン情報の概略データ構造を示す図である。
【図１４】ＳＲＡＭ上のアドレスを概念的に示す図である。
【図１５】読み出し制御処理を示すフローチャートである。
【図１６】ジグザグ補正データ結合部が行う結合処理についての概要を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態の一例を図面を参照して説明する。
【００１２】
図１は、本発明の一実施形態が適用されたプリンター１００のハードウェア構成の一例を示すブロック図である。図示するように、プリンター１００は、コントローラー１１０と、メモリー制御ＡＳＩＣ１２０と、メモリー１３０と、画像処理回路１４０と、設定レジスター１４５と、ラインヘッド１５０と、を備える。
【００１３】
ただし、プリンター１００の構成はこれに限定されるものではなく、例えば、印刷エンジン（感光体、ラインヘッド１５０などを含む）、ネットワークインターフェイス、入力装置（ボタン、タッチパネルなど）、表示装置（表示パネル）、などを備えていてもよい。また、プリンター１００は、プリンター専用機に限定されず、例えば、複合機、スキャナー装置、ＦＡＸ装置などでもよい。
【００１４】
コントローラー１１０は、プリンター１００全体を制御する。例えば、コントローラー１１０は、ラインヘッド１５０を制御して、一様に帯電させた感光体の外周面を選択的に露光する。そして、コントローラー１１０は、露光することで形成した静電潜像に現像剤であるトナーを付与して現像する。なお、コントローラー１１０は、ＣＰＵなどにより構成される。
【００１５】
メモリー制御ＡＳＩＣ１２０は、メモリー１３０を制御する。具体的には、メモリー制御ＡＳＩＣ１２０は、コントローラー１１０からの指示に基づいて、メモリー１３０からデータ（ビデオデータなど）を読み出す制御や、メモリー１３０にデータを書き込む制御を行う。
【００１６】
メモリー１３０は、ＲＡＭ、ＲＯＭ、ハードディスクといった一般的な記憶装置からなり、印刷対象のビデオデータなどを記憶する。なお、メモリー１３０に記憶されるビデオデータは、プリンター１００のホストＰＣで生成されたビデオデータであってもよいし、プリンター１００で生成したビデオデータであってもよい。また、メモリー１３０は、揮発性メモリーであってもよいし、不揮発性メモリーであってもよい。また、可搬型のメモリーであってもよい。
【００１７】
画像処理回路１４０は、ラインヘッド１５０に備わる各発光素子の発光タイミングを決定し、決定した発光タイミングに合わせて印刷対象のビデオデータをラインヘッド１５０に供給する。なお、詳細については後述するが、ラインヘッド１５０にはジグザグ状に各発光素子が配列されており、画像処理回路１４０は、ラインヘッド１５０に配列された各発光素子の配列パターンに応じて、各発光素子の発光タイミングを補正（ジグザグ補正）する。
【００１８】
設定レジスター１４５は、ラインヘッド１５０の制御に関する設定値を格納する。例えば、設定レジスター１４５は、ラインヘッド１５０の副走査方向の解像度を指定する副走査情報と、ラインヘッド１５０に配列されている各発光素子の配列パターンを指定するジグザグパターン情報と、感光体に形成する静電潜像を鏡像とするか正像とするかを指定する鏡像ＯＮ／ＯＦＦ情報と、を格納している。なお、設定レジスター１４５の設定値は、例えば、図示しないプリンターホスト（ＰＣ）やプリンター１００に備わる入力装置などからコントローラー１１０経由で変更することができる。
【００１９】
図２は、画像処理回路１４０および設定レジスター１４５の詳細な構成の一例を示す図である。図示するように、画像処理回路１４０は、ビデオデータ分割部４１０と、複数（図示する例だと８個）の記憶領域に区分けされたＳＲＡＭ４２０と、ジグザグ補正データ結合部４３０と、ＳＲＡＭ読み出し制御部４４０と、ＳＲＡＭ書き込み制御部４５０と、ラインヘッドインターフェイス（Ｉ／Ｆ）４６０と、を備える。
【００２０】
ビデオデータ分割部４１０は、メモリー制御ＡＳＩＣ１２０を介して線順次に入力されたビデオデータを分割し、ＳＲＡＭ４２０に供給する（振り分ける）。なお、ビデオデータ分割部４１０への入力ビット幅は３２ビットとする。
【００２１】
ＳＲＡＭ４２０は、複数の記憶領域に区分けされ、例えば、図示するように、８個のＳＲＡＭ０〜７からなる。各ＳＲＡＭ０〜７（記憶領域）は、同様の構成からなり、例えば、４ビット×２６４２０の記憶容量を有する。各ＳＲＡＭ０〜７（記憶領域）には、ビデオデータ分割部４１０から４ビット単位で供給されたビデオデータが格納（入力）され、ジグザグ補正データ結合部４３０に４ビット単位で出力する。
【００２２】
ジグザグ補正データ結合部４３０は、ＳＲＡＭ４２０から読み出されたビデオデータ（ジグザグ補正済み）を結合し、ラインヘッドＩ／Ｆ４６０に供給する。なお、ジグザグ補正データ結合部４３０からの出力ビット幅は３２ビットとする。また、ラインヘッドＩ／Ｆ４６０は少なくとも1ライン分のラスターバッファを有するが、ここでは省略する。
【００２３】
ＳＲＡＭ書き込み制御部４５０は、ビデオデータ分割部４１０に線順次に入力されたビデオデータ（３２ビット）を、ＳＲＡＭ４２０に書き込む制御を行う。ＳＲＡＭ書き込み制御部４５０は、設定レジスター１４５の設定値を参照して、各発光素子の発光タイミング（格納順序）を決定し、決定した発光タイミング（格納順序）で、４ビットに分割したビデオデータを各ＳＲＡＭ０〜７（記憶領域）に書き込む。具体的には、ＳＲＡＭ書き込み制御部４５０は、設定レジスター１４５に格納されているジグザグパターン情報を読み出してラインヘッド１５０に配列された発光素子の配列パターンを特定し、特定した配列パターンに応じて、発光タイミング（格納順序）を記述した発光パターン情報（パターン１〜４）を選択する。そして、選択した発光パターン情報の記述に従って、ビデオデータ分割部４１０が分割したビデオデータを、それぞれＳＲＡＭ０〜７（記憶領域）に書き込む。
【００２４】
ＳＲＡＭ読み出し制御部４４０は、ＳＲＡＭ０〜７（記憶領域）に格納されているビデオデータを、並列に４ビットずつジグザグ補正データ結合部４３０に読み出す。具体的には、ＳＲＡＭ読み出し制御部４００は、コントローラー１１０から供給される垂直同期信号および水平同期信号に同期させて、各ＳＲＡＭ０〜７（記憶領域）から並列に４ビットずつビデオデータ（ジグザグ補正済み）を読み出す。なお、ＳＲＡＭ読み出し制御部４４０は、各ＳＲＡＭ０〜７（記憶領域）からビデオデータを読み出す場合には、各ＳＲＡＭ０〜７の同アドレスを指定して読み出す。
【００２５】
ラインヘッドＩ／Ｆ４６０は、ジグザグ補正データ結合部４３０から供給されたビデオデータを、ラインヘッド１５０に出力する。
【００２６】
図１に戻り、ラインヘッド１５０は、ジグザグ状（主走査方向）に配列された複数の発光素子（例えば、ＬＥＤ）を有する。
【００２７】
図３（Ａ）〜（Ｄ）は、ラインヘッド１５０における発光素子の配列パターンを示す図である。
【００２８】
図３（Ａ）は、第１の配列パターンを示す図である。第１の配列パターンでは、発光素子が１画素（１ドット）おきに副走査方向にずれるジグザグ構成であり、図示するように、副走査方向上流側の列と副走査方向下流側の列の２列の構成からなる。
【００２９】
図３（Ｂ）は、第２の配列パターンを示す図である。第２の配列パターンでは、発光素子が１画素（１ドット）おきに副走査方向にずれるジグザグ構成であり、図示するように、副走査方向に４列の構成からなる。
【００３０】
図３（Ｃ）は、第３の配列パターンを示す図である。第３の配列パターンでは、発光素子が１画素（１ドット）おきに副走査方向にずれるジグザグ構成であり、図示するように、副走査方向に８列の構成からなる。
【００３１】
図３（Ｄ）は、第４の配列パターンを示す図である。第４の配列パターンでは、発光素子が１画素（１ドット）おきに副走査方向に（数画素分）ずれるジグザグ構成であり、図示するように、副走査方向に８列の構成からなる。
【００３２】
本発明は、図３（Ａ）〜（Ｄ）に示すいずれの配列パターンであっても、ジグザグ補正を可能とする。ただし、これらの配列パターンに限定されず、副走査方向に８列以下の構成であれば、他の配列パターンであってもよい。なお、発光素子の配列パターンを９列以上にする場合には、ＳＲＡＭ４２０を構成する各ＳＲＡＭ０〜７の個数を増加させればよい。例えば、発光素子の配列パターンを副走査方向に１６列にする場合には、ＳＲＡＭ４２０を１６個のＳＲＡＭ０〜１５で構成すればよい。
【００３３】
また、図４（Ａ）〜（Ｄ）は、第１〜第４の配列パターンのラインヘッド１５０を使用した場合における、発光タイミングを示す図である。
【００３４】
図４（Ａ）は、第１の配列パターンのラインヘッド１５０を使用した場合における、発光タイミング（印字タイミング）を示す図である。図示するように、第１の配列パターンでは、主走査方向に向かって１番目、３番目、５番目、・・・の発光素子（第１列）が同タイミングで発光し、主走査方向に向かって２番目、４番目、６番目、・・・の発光素子（第２列）が、第１列の発光素子の発光から（副走査1ラスター分）遅れて発光する。このように発光タイミングをずらす（ジグザグ補正を行う）ことにより、発光素子が図３（Ａ）に示すようなジグザグ構成（第１の配列パターン）で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【００３５】
なお，この例では、隣接する発光素子の主走査方向の間隔は、解像度が１２００ＤＰＩの場合の印字間隔であり、隣接する発光素子の副走査方向の間隔は、解像度が６００ＤＰＩの場合の印字間隔となっている。なお、隣接する発光素子の主走査方向および副走査方向の間隔は、第２〜第４の配列パターンにおいても同様とする。
【００３６】
図４（Ｂ）は、第２の配列パターンのラインヘッド１５０を使用した場合における、発光タイミング（印字タイミング）を示す図である。図示するように、第２の配列パターンでは、主走査方向に向かって４番目、８番目、１２番目、１６番目、・・・の発光素子（第１列）が同タイミングで発光する。また、主走査方向に向かって３番目、７番目、１１番目、１５番目、・・・の発光素子（第２列）が、第１列の発光素子の発光から（副走査1ラスター分）遅れて発光する。また、主走査方向に向かって２番目、６番目、１０番目、１４番目、・・・の発光素子（第３列）が、第２列の発光素子の発光から（副走査1ラスター分）遅れて発光する。また、主走査方向に向かって１番目、５番目、９番目、１３番目、・・・の発光素子（第４列）が、第３列の発光素子の発光から（副走査1ラスター分）遅れて発光する。このように発光タイミングをずらす（ジグザグ補正を行う）ことにより、発光素子が図３（Ｂ）に示すようなジグザグ構成（第２の配列パターン）で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【００３７】
図４（Ｃ）は、第３の配列パターンのラインヘッド１５０を使用した場合における、発光タイミング（印字タイミング）を示す図である。図示するように、第３の配列パターンでは、主走査方向に向かって８番目、１６番目、・・・の発光素子（第１列）が同タイミングで発光する。また、主走査方向に向かって７番目、１５番目、・・・の発光素子（第２列）が、第１列の発光素子の発光から（副走査1ラスター分）遅れて発光する。また、主走査方向に向かって６番目、１４番目、・・・の発光素子（第３列）が、第２列の発光素子の発光から（副走査1ラスター分）遅れて発光する。以下、同様に、第４列の発光素子は、第３列の発光素子の発光から（副走査1ラスター分）遅れて発光し、第５列の発光素子は、第４列の発光素子の発光から（副走査1ラスター分）遅れて発光し、第６列の発光素子は、第５列の発光素子の発光から（副走査1ラスター分）遅れて発光し、第７列の発光素子は、第６列の発光素子の発光から（副走査1ラスター分）遅れて発光し、第８列の発光素子は、第７列の発光素子の発光から（副走査1ラスター分）遅れて発光する。このように発光タイミングをずらす（ジグザグ補正を行う）ことにより、発光素子が図３（Ｃ）に示すようなジグザグ構成（第３の配列パターン）で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【００３８】
図４（Ｄ）は、第４の配列パターンのラインヘッド１５０を使用した場合における、発光タイミング（印字タイミング）を示す図である。図示するように、第４の配列パターンでは、主走査方向に向かって８番目、１６番目、・・・の発光素子（第１列）が同タイミングで発光する。また、主走査方向に向かって３番目、１１番目、・・・の発光素子（第２列）が、第１列の発光素子の発光から（副走査1ラスター分）遅れて発光する。また、主走査方向に向かって６番目、１４番目、・・・の発光素子（第３列）が、第２列の発光素子の発光から（副走査1ラスター分）遅れて発光する。以下、同様に、第４列の発光素子は、第３列の発光素子の発光から（副走査1ラスター分）遅れて発光し、第５列の発光素子は、第４列の発光素子の発光から（副走査1ラスター分）遅れて発光し、第６列の発光素子は、第５列の発光素子の発光から（副走査1ラスター分）遅れて発光し、第７列の発光素子は、第６列の発光素子の発光から（副走査1ラスター分）遅れて発光し、第８列の発光素子は、第７列の発光素子の発光から（副走査1ラスター分）遅れて発光する。このように発光タイミングをずらす（ジグザグ補正を行う）ことにより、発光素子が図３（Ｄ）に示すようなジグザグ構成（第４の配列パターン）で配列されている場合でも、印刷媒体上での印字結果は直線状になる。
【００３９】
次に、図５〜図８は、ビデオデータの出力（発光タイミング）例を示す図である。各図において、１ページ分のビデオデータは、Ｍラスター分（M≧１）のビデオデータから構成されているものとする。そして、各ラスターは、所定のビット数（例えば、１５６８０ビット）からなる。また、１ラスター目のビデオデータについては「ｄｏｔ１−１」〜「ｄｏｔ１−１５６８０」と表記し、２ラスター目のビデオデータについては「ｄｏｔ２−１」〜「ｄｏｔ２−１５６８０」と表記し、他のラスターも同様に表記し、Ｍラスター目のビデオデータについては「ｄｏｔＭ−１」〜「ｄｏｔＭ−１５６８０」と表記する。ただし、実際の各ビデオデータ（１ビット）の値は、「０」と「１」のように、出力（発光）、非出力（非発光）を示す値からなる。
【００４０】
また、各図において、図示する各列は、ラインヘッド１５０に配列された発光素子に対応している。各図で図示する例では、ラインヘッド１５０に配列されている発光素子のうち、左から１番目〜８番目の発光素子の出力例のみを示している。
【００４１】
そして、同行の各ビデオデータ（１ビット）は、同タイミングで各発光素子（１番目〜８番目）から出力（発光）される出力例である。なお、「０」は非出力（非発光）を示す。
【００４２】
図５は、第１の配列パターンのラインヘッド１５０を使用した場合における、ビデオデータの出力（発光タイミング）例を示す図である。
【００４３】
図示するように、各発光素子（１番目〜８番目）は、最初の発光タイミングで、それぞれ、「ｄｏｔ１−１」、「０」、「ｄｏｔ１−３」、「０」、「ｄｏｔ１−５」、「０」、「ｄｏｔ１−７」、「０」に対応する出力（発光）を行う。そして、次の水平同期信号による発光タイミングで、各発光素子（１番目〜８番目）は、それぞれ、「ｄｏｔ２−１」、「０」、「ｄｏｔ２−３」、「０」、「ｄｏｔ２−５」、「０」、「ｄｏｔ２−７」、「０」に対応する出力（発光）を行う。
【００４４】
このように、１番目、３番目、５番目、７番目、・・・、といった奇数番目の発光素子は、最初から１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を、順次、行う。これに対し、２番目、４番目、６番目、８番目、・・・、といった偶数番目の発光素子は、奇数番号の発光素子が８個（８ラスター）分のビデオデータに対応する出力（発光）を行った後に、１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を開始する。
【００４５】
なお、１ラスター分のビデオデータは、解像度が４８００ＤＰＩの場合の印字間隔で印字されるものとする。従って、偶数番号の発光素子が奇数番号の発光素子よりも８個（８ラスタ）分遅れて出力（発光）を開始することは、偶数番号の発光素子の出力（発光）開始位置が、奇数番号の発光素子の出力（発光）開始位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることを意味する。
【００４６】
また、奇数番目の発光素子は、Ｍラスター目のビデオデータに対応する出力（発光）を行った後は、出力（発光）を終了する。これに対し、偶数番目の発光素子は、奇数番号の発光素子が出力（発光）を終了した後も、８個（８ラスター）分のビデオデータに対応する出力（発光）を行う。
【００４７】
ここで、偶数番号の発光素子が奇数番号の発光素子よりも８個（８ラスター）分遅れて出力（発光）を終了することは、偶数番号の発光素子の出力（発光）終了位置が、奇数番号の発光素子の出力（発光）終了位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることを意味する。
【００４８】
このように、第１の配列パターンのラインヘッド１５０を使用する場合において、図５に示す出力（発光タイミング）で出力（発光）を行うことによって、印刷媒体上には、「ｄｏｔ１−１」、「ｄｏｔ１−２」、「ｄｏｔ１−３」、「ｄｏｔ１−４」、「ｄｏｔ１−５」、・・・といった１ラスター分のビデオデータが直線状に印字される。
【００４９】
次に、図６は、第２の配列パターンのラインヘッド１５０を使用した場合における、ビデオデータの出力（発光タイミング）例を示す図である。
【００５０】
図示するように、４番目、８番目、・・・、といった（４の倍数）番目の発光素子は、最初から１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を、順次、行う。また、３番目、７番目、・・・、といった（４の倍数−１）番目の発光素子は、（４の倍数）番号の発光素子が８個（８ラスター）分のビデオデータに対応する出力（発光）を行った後に、１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を開始する。また、２番目、６番目、・・・、といった（４の倍数−２）番目の発光素子は、（４の倍数−１）番目の発光素子が８個（８ラスター）分のビデオデータに対応する出力（発光）を行った後に、１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を開始する。また、１番目、５番目、・・・、といった（４の倍数−３）番目の発光素子は、（４の倍数−２）番目の発光素子が８個（８ラスター）分のビデオデータに対応する出力（発光）を行った後に、１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を開始する。
【００５１】
すなわち、（４の倍数−１）番号の発光素子の出力（発光）開始位置は、（４の倍数）番号の発光素子の出力（発光）開始位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。同様に、（４の倍数−２）番号の発光素子の印字（発光）開始位置は、（４の倍数−１）番号の発光素子の出力（発光）開始位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。同様に、（４の倍数−３）番号の発光素子の出力（発光）開始位置は、（４の倍数−２）番号の発光素子の出力（発光）開始位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。
【００５２】
また、（４の倍数）番目の発光素子は、Ｍラスター目のビデオデータに対応する出力（発光）を行った後は、出力（発光）を終了する。これに対し、（４の倍数−１）番目の発光素子は、（４の倍数）番号の発光素子が出力（発光）を終了してから、８個（８ラスター）分のビデオデータに対応する出力（発光）を行い、出力（発光）を終了する。また、（４の倍数−２）番目の発光素子は、（４の倍数−１）番号の発光素子が出力（発光）を終了してから、８個（８ラスター）分のビデオデータに対応する出力（発光）を行い、出力（発光）を終了する。また、（４の倍数−３）番目の発光素子は、（４の倍数−２）番号の発光素子が出力（発光）を終了してから、８個（８ラスター）分のビデオデータに対応する出力（発光）を行い、出力（発光）を終了する。
【００５３】
すなわち、（４の倍数−１）番号の発光素子の出力（発光）終了位置は、（４の倍数）番号の発光素子の出力（発光）終了位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。同様に、（４の倍数−２）番号の発光素子の出力（発光）終了位置は、（４の倍数−１）番号の発光素子の出力（発光）終了位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。同様に、（４の倍数−３）番号の発光素子の出力（発光）終了位置は、（４の倍数−２）番号の発光素子の出力（発光）終了位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。
【００５４】
このように、第２の配列パターンのラインヘッド１５０を使用する場合において、図６に示す出力（発光タイミング）で出力（発光）を行うことによって、印刷媒体上には、「ｄｏｔ１−１」、「ｄｏｔ１−２」、「ｄｏｔ１−３」、「ｄｏｔ１−４」、「ｄｏｔ１−５」、・・・といった１ラスター分のビデオデータが直線状に印字される。
【００５５】
次に、図７は、第３の配列パターンのラインヘッド１５０を使用した場合における、ビデオデータの出力（発光タイミング）例を示す図である。
【００５６】
図示するように、（８の倍数）番目の発光素子は、最初から１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を、順次、行う。また、（８の倍数−１）番目の発光素子は、（８の倍数）番号の発光素子が８個（８ラスター）分のビデオデータに対応する出力（発光）を行った後に、１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を開始する。そして、（８の倍数−２）番目の発光素子、（８の倍数−３）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−５）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−７）番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力（発光）を開始する。
【００５７】
すなわち、（８の倍数−１）番号の発光素子の出力（発光）開始位置は、（８の倍数）番号の発光素子の出力（発光）開始位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。同様に、（８の倍数−２）番号の発光素子の印字（発光）開始位置は、（８の倍数−１）番号の発光素子の出力（発光）開始位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。そして、（８の倍数−３）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−５）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−７）番目の発光素子についても、同様に、出力（発光）開始位置がずれることになる。
【００５８】
また、図示していないが、（８の倍数）番目の発光素子は、Ｍラスター目のビデオデータに対応する出力（発光）を行った後は、出力（発光）を終了する。これに対し、（８の倍数−１）番目の発光素子は、（８の倍数）番号の発光素子が出力（発光）を終了してから、８個（８ラスター）分のビデオデータに対応する出力（発光）を行い、出力（発光）を終了する。また、（８の倍数−２）番目の発光素子は、（８の倍数−１）番号の発光素子が出力（発光）を終了してから、８個（８ラスター）分のビデオデータに対応する出力（発光）を行い、出力（発光）を終了する。そして、（８の倍数−３）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−５）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−７）番目の発光素子についても、同様のタイミングで、出力（発光）を終了する。
【００５９】
すなわち、（８の倍数−１）番号の発光素子の出力（発光）終了位置は、（８の倍数）番号の発光素子の出力（発光）終了位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。同様に、（８の倍数−２）番号の発光素子の出力（発光）開始位置は、（８の倍数−１）番号の発光素子の出力（発光）終了位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。そして、（８の倍数−３）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−５）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−７）番目の発光素子についても、同様に、出力（発光）終了位置がずれることになる。
【００６０】
このように、第３の配列パターンのラインヘッド１５０を使用する場合において、図７に示す出力（発光タイミング）で出力（発光）を行うことによって、印刷媒体上には、「ｄｏｔ１−１」、「ｄｏｔ１−２」、「ｄｏｔ１−３」、「ｄｏｔ１−４」、「ｄｏｔ１−５」、・・・といった１ラスター分のビデオデータが直線状に印字される。
【００６１】
次に、図８は、第４の配列パターンのラインヘッド１５０を使用した場合における、ビデオデータの出力（発光タイミング）例を示す図である。
【００６２】
図示するように、（８の倍数）番目の発光素子は、最初から１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を、順次、行う。また、（８の倍数−５）番目の発光素子は、（８の倍数）番号の発光素子が８個（８ラスタ）分のビデオデータに対応する出力（発光）を行った後に、１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を開始する。そして、（８の倍数−２）番目の発光素子、（８の倍数−７）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−１）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−３）番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力（発光）を開始する。
【００６３】
すなわち、（８の倍数−５）番号の発光素子の出力（発光）開始位置は、（８の倍数）番号の発光素子の出力（発光）開始位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。同様に、（８の倍数−２）番号の発光素子の印字（発光）開始位置は、（８の倍数−５）番号の発光素子の出力（発光）開始位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。そして、（８の倍数−７）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−１）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−３）番目の発光素子についても、同様に、出力（発光）開始位置がずれることになる。
【００６４】
また、図示していないが、（８の倍数）番目の発光素子は、Ｍラスター目のビデオデータに対応する出力（発光）を行った後は、出力（発光）を終了する。これに対し、（８の倍数−５）番目の発光素子は、（８の倍数）番号の発光素子が出力（発光）を終了してから、８個（８ラスター）分のビデオデータに対応する出力（発光）を行い、出力（発光）を終了する。また、（８の倍数−２）番目の発光素子は、（８の倍数−５）番号の発光素子が出力（発光）を終了してから、８個（８ラスター）分のビデオデータに対応する出力（発光）を行い、出力（発光）を終了する。そして、（８の倍数−７）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−１）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−３）番目の発光素子についても、同様のタイミングで、出力（発光）を終了する。
【００６５】
すなわち、（８の倍数−５）番号の発光素子の出力（発光）終了位置は、（８の倍数）番号の発光素子の出力（発光）終了位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。同様に、（８の倍数−２）番号の発光素子の出力（発光）開始位置は、（８の倍数−５）番号の発光素子の出力（発光）終了位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。そして、（８の倍数−７）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−１）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−３）番目の発光素子についても、同様に、出力（発光）終了位置がずれることになる。
【００６６】
このように、第４の配列パターンのラインヘッド１５０を使用する場合において、図８に示す出力（発光タイミング）で出力（発光）を行うことによって、印刷媒体上には、「ｄｏｔ１−１」、「ｄｏｔ１−２」、「ｄｏｔ１−３」、「ｄｏｔ１−４」、「ｄｏｔ１−５」、・・・といった１ラスター分のビデオデータが直線状に印字される。
【００６７】
次に、図９は、第３の配列パターンのラインヘッド１５０を使用し、副走査解像度が２４００ＤＰＩの印字間隔で１ラスター分のビデオデータを印字する場合における、ビデオデータの出力（発光タイミング）例を示す図である。
【００６８】
図示するように、（８の倍数）番目の発光素子は、最初から１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を、順次、行う。また、（８の倍数−１）番目の発光素子は、（８の倍数）番号の発光素子が４個（４ラスタ）分のビデオデータに対応する出力（発光）を行った後に、１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を開始する。そして、（８の倍数−２）番目の発光素子、（８の倍数−３）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−５）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−７）番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力（発光）を開始する。
【００６９】
すなわち、（８の倍数−１）番号の発光素子の出力（発光）開始位置は、（８の倍数）番号の発光素子の出力（発光）開始位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。同様に、（８の倍数−２）番号の発光素子の印字（発光）開始位置は、（８の倍数−１）番号の発光素子の出力（発光）開始位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。そして、（８の倍数−３）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−５）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−７）番目の発光素子についても、同様に、出力（発光）開始位置がずれることになる。
【００７０】
また、図示していないが、（８の倍数）番目の発光素子は、Ｍラスター目のビデオデータに対応する出力（発光）を行った後は、出力（発光）を終了する。これに対し、（８の倍数−１）番目の発光素子は、（８の倍数）番号の発光素子が出力（発光）を終了してから、４個（４ラスター）分のビデオデータに対応する出力（発光）を行い、出力（発光）を終了する。また、（８の倍数−２）番目の発光素子は、（８の倍数−１）番号の発光素子が出力（発光）を終了してから、４個（４ラスター）分のビデオデータに対応する出力（発光）を行い、出力（発光）を終了する。そして、（８の倍数−３）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−５）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−７）番目の発光素子についても、同様のタイミングで、出力（発光）を終了する。
【００７１】
すなわち、（８の倍数−１）番号の発光素子の出力（発光）終了位置は、（８の倍数）番号の発光素子の出力（発光）終了位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。同様に、（８の倍数−２）番号の発光素子の出力（発光）開始位置は、（８の倍数−１）番号の発光素子の出力（発光）終了位置から、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）だけずれることになる。そして、（８の倍数−３）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−５）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−７）番目の発光素子についても、同様に、出力（発光）終了位置がずれることになる。
【００７２】
このように、１ラスター分のビデオデータを印字する印字間隔を変更した場合（副走査解像度：２４００ＤＰＩ）においても、図９に示す出力（発光タイミング）で出力（発光）を行うことによって、印刷媒体上には、「ｄｏｔ１−１」、「ｄｏｔ１−２」、「ｄｏｔ１−３」、「ｄｏｔ１−４」、「ｄｏｔ１−５」、・・・といった１ラスター分のビデオデータが直線状に印字される。
【００７３】
また、図１０は、第３の配列パターンのラインヘッド１５０を使用し、副走査解像度が１２００ＤＰＩの印字間隔で１ラスター分のビデオデータを印字する場合における、ビデオデータの出力（発光タイミング）例を示す図である。
【００７４】
図示するように、（８の倍数）番目の発光素子は、最初から１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を、順次、行う。また、（８の倍数−１）番目の発光素子は、（８の倍数）番号の発光素子が２個（２ラスタ）分のビデオデータに対応する出力（発光）を行った後に、１ラスター目、２ラスター目、といった各ラスターのビデオデータに対応する出力（発光）を開始する。そして、（８の倍数−２）番目の発光素子、（８の倍数−３）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−５）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−７）番目の発光素子についても、同様に図示するタイミングで、各ラスターのビデオデータに対応する出力（発光）を開始する。
【００７５】
また、図示していないが、（８の倍数）番目の発光素子は、Ｍラスター目のビデオデータに対応する出力（発光）を行った後は、出力（発光）を終了する。これに対し、（８の倍数−１）番目の発光素子は、（８の倍数）番号の発光素子が出力（発光）を終了してから、２個（２ラスタ）分のビデオデータに対応する出力（発光）を行い、出力（発光）を終了する。また、（８の倍数−２）番目の発光素子は、（８の倍数−１）番号の発光素子が出力（発光）を終了してから、２個（２ラスタ）分のビデオデータに対応する出力（発光）を行い、出力（発光）を終了する。そして、（８の倍数−３）番目の発光素子、（８の倍数−４）番目の発光素子、（８の倍数−５）番目の発光素子、（８の倍数−６）番目の発光素子、（８の倍数−７）番目の発光素子についても、同様のタイミングで、出力（発光）を終了する。
【００７６】
このように、１ラスター分のビデオデータを印字する印字間隔を変更した場合（副走査解像度：１２００ＤＰＩ）においても、図１０に示す出力（発光タイミング）で出力（発光）を行うことによって、印刷媒体上には、「ｄｏｔ１−１」、「ｄｏｔ１−２」、「ｄｏｔ１−３」、「ｄｏｔ１−４」、「ｄｏｔ１−５」、・・・といった１ラスター分のビデオデータが直線状に印字される。
【００７７】
次に、上記構成からなるプリンター１００の特徴的な動作について説明する。図１１は、プリンター１００で行われる書き込み制御処理について説明するフローチャートである。
【００７８】
プリンター１００の画像処理回路１４０は、プリンター１００に電源が投入されると、書き込み制御処理を開始する。
【００７９】
書き込み制御処理を開始後、画像処理回路１４０のビデオデータ分割部４１０は、ビデオデータ（ラスターデータ）を取得する（ステップＳ１０１）。具体的には、メモリー制御ＡＳＩＣ１２０がメモリー１３０に格納されているビデオデータを３２ビット単位で画像処理回路１４０に供給し、ビデオデータ分割部４１０は、供給されたビデオデータを受け付ける。
【００８０】
続いて、ビデオデータ分割部４１０は、取得したビデオデータ（３２ビット）を分割する（ステップＳ１０２）。
【００８１】
図１２は、ビデオデータ分割部４１０が行う分割処理についての概要を示す図である。図示するように、ビデオデータ分割部４１０は、３２ビットのビデオデータを８分割し、４ビットずつのビデオデータを生成する。具体的には、３２ビットのビデオデータのうち、１ビット目、９ビット目、１７ビット目、２５ビット目のビデオデータを合成した４ビットのビデオデータを生成する。また、他のビットについても同様に４ビットのビデオデータを生成する。
【００８２】
図１１に戻り、ＳＲＡＭ書き込み制御部４５０は、ステップＳ１０２で分割された４ビットずつのビデオデータを格納するＳＲＡＭ０〜７上のアドレスを決定する（ステップＳ１０３）。
【００８３】
具体的には、ＳＲＡＭ書き込み制御部４５０は、まず、設定レジスター１４５からジグザグパターン情報を読み出して、ラインヘッド１５０に配列されている発光素子の配列パターンを特定する。例えば、ジグザグパターン情報には、上述した第１の配列パターン〜第４の配列パターンのいずれかを特定するデータが含まれている。
【００８４】
そして、ＳＲＡＭ書き込み制御部４５０は、特定した配列パターンに対応する発光パターン情報を選択する。ここで、発光パターン情報は、ＳＲＡＭ書き込み制御部４５０が予め保有（記憶）しているデータであり、発光タイミング（格納順序）が記述されている。
【００８５】
図１３は、発光パターン情報のデータ構造を示す図である。「パターン１」は、第１の配列パターンに対応する発光パターン情報であり、「パターン２」は、第２の配列パターンに対応する発光パターン情報であり、「パターン３」は、第３の配列パターンに対応する発光パターン情報であり、「パターン４」は、第４の配列パターンに対応する発光パターン情報である。
【００８６】
図示するように、各発光パターン情報は、８個のタイミング情報（ＰＴＮ０〜７）から構成される。各タイミング情報（ＰＴＮ０〜７）は、ラインヘッド１５０に配列されている発光素子にそれぞれ対応付けられている。具体的には、タイミング情報「ＰＴＮ０」は、ラインヘッド１５０の主走査方向に配列された発光素子のうち、「８の倍数−７」番目の発光素子に対応付けられ、タイミング情報「ＰＴＮ１」は、主走査方向に配列された発光素子のうち、「８の倍数−６」番目の発光素子に対応付けられている。以下、同様に、タイミング情報「ＰＴＮ２」は「８の倍数−５」番目の発光素子に、タイミング情報「ＰＴＮ３」は「８の倍数−４」番目の発光素子に、タイミング情報「ＰＴＮ４」は「８の倍数−３」番目の発光素子に、タイミング情報「ＰＴＮ５」は「８の倍数−２」番目の発光素子に、タイミング情報「ＰＴＮ６」は「８の倍数−１」番目の発光素子に、タイミング情報「ＰＴＮ７」は「８の倍数」番目の発光素子に対応付けられている。
【００８７】
また、各タイミング情報（ＰＴＮ０〜７）は、最大３ビット（０〜７）の情報を格納可能であり、副走査方向の発光タイミング（発光順序）を示す。具体的には、「０」、「１」、「２」〜「７」の順序で発光させることを示し、「パターン１」の例では、「８の倍数−７」番目、「８の倍数−５」番目、「８の倍数−３」番目、「８の倍数−１」番目の発光素子を最初に発光させ、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）分遅れて、「８の倍数−６」番目、「８の倍数−４」番目、「８の倍数−２」番目、「８の倍数」番目の発光素子を発光させることを示す。
【００８８】
同様に、「パターン２」の例では、「８の倍数−４」番目、「８の倍数」番目の発光素子を最初に発光させ、解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）分遅れて、「８の倍数−５」番目、「８の倍数−１」番目の発光素子を発光させる。さらに解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）分遅れて、「８の倍数−６」番目、「８の倍数−２」番目の発光素子を発光させる。さらに解像度が６００ＤＰＩの場合の印字間隔（図４の副走査方向の間隔）分遅れて、「８の倍数−７」番目、「８の倍数−３」番目の発光素子を発光させる、ことを示す。
【００８９】
「パターン３」、「パターン４」の例でも、同様に発光タイミング（発光順序）を示す。
【００９０】
そして、ＳＲＡＭ書き込み制御部４５０は、１つの発光パターン情報を選択すると、分割されたビデオデータを書き込むアドレス（書き込みアドレス）をＳＲＡＭ０〜７ごとに算出する。
【００９１】
以下に、図１４を参照して書き込みアドレスの算出方法について説明する。図１４は、ＳＲＡＭ０〜１上のアドレスを概念的に示す図である。
【００９２】
ＳＲＡＭ書き込み制御部４５０は、まず、発光パターン情報（タイミング情報）に基づいて定められる書き込み開始アドレス（ＳｔＯｆｆｓｅｔ）を求める。ここで、各ＳＲＡＭ０〜７の書き込み開始アドレス（ＳｔＯｆｆｓｅｔ）は、それぞれ、タイミング情報（ＰＴＮ０〜７）の値に応じて定められる。例えば、ＳＲＡＭ書き込み制御部４５０は、書き込み開始アドレス（ＳｔＯｆｆｓｅｔ）を、
ＳｔＯｆｆｓｅｔ＝ＰｔｎＮｕｍ×ＶｅｒｔＲｅｓ×ＭａｘＤｏｔ／ＢｉｔＷｉｄｔｈ      ・・・（数式１）
に従って求める。なお、ＰｔｎＮｕｍは図１３に示したタイミング情報（ＰＴＮ０〜７）の値（「０」〜「７」）を示す。また、ＶｅｒｔＲｅｓは副走査方向の解像度比（副走査解像度／隣接する発行素子の副走査方向の解像度）を示す。例えば、ＳＲＡＭ書き込み制御部４５０は、設定レジスター１４５に予め格納されている副走査情報を読み出して解像度を特定する。そして、特定した解像度が６００ＤＰＩの場合にはＶｅｒｔＲｅｓの値を「１」とし、１２００ＤＰＩの場合には「２」とし、２４００ＤＰＩの場合には「４」とし、４８００ＤＰＩの場合には「８」とする。また、ＭａｘＤｏｔは主走査方向最大ドット数（１ラスター分のドット数）を示し、ＢｉｔＷｉｄｔｈはビデオデータ分割部４１０への入力ビット幅を示す。ここで、ＭａｘＤｏｔ／ＢｉｔＷｉｄｔｈは１ラスター分のビデオデータをＳＲＡＭ０〜７に格納するために必要となるアドレス数（行数）を示す。
【００９３】
以上のように、書き込み開始アドレス（ＳｔＯｆｆｓｅｔ）を、発光パターン情報（タイミング情報）に基づいて求めることにより、発光素子の配置（パターン）がどのようなパターンであっても、適切にジグザグ補正を行うことができる。
【００９４】
また、書き込み開始アドレス（ＳｔＯｆｆｓｅｔ）を、副走査方向の解像度に比例して変更（下げる）している。そのため、副走査方向の解像度がどのような値であっても、適切に（発光素子の副走査方向へのずれに応じて）ジグザグ補正を行うことができる。
【００９５】
なお、上記の数式１は、鏡像ＯＮ／ＯＦＦ情報がＯＦＦの場合に用いる数式である。設定レジスター１４５にＯＮを示す鏡像ＯＮ／ＯＦＦ情報が格納されている場合には、ＳＲＡＭ書き込み制御部４５０は、発光パターン情報（タイミング情報）の順序を入れ替えて、書き込み開始アドレス（ＳｔＯｆｆｓｅｔ）を求める。ここで、発光パターン情報（タイミング情報）の順序を入れ替えることは、ＰＴＮ０〜７をＰＴＮ７〜０に入れ替えることを指す。この場合、書き込み制御部４５０は、書き込み開始アドレス（ＳｔＯｆｆｓｅｔ）を、
ＳｔＯｆｆｓｅｔ＝（ＭａｘＰｔｎＮｕｍ−ＰｔｎＮｕｍ）×ＶｅｒｔＲｅｓ×ＭａｘＤｏｔ／ＢｉｔＷｉｄｔｈ      ・・・（数式２）
に従って求める。ただし、ＭａｘＰｔｎＮｕｍはタイミング情報（ＰＴＮ０〜７）の最大値を示す。
【００９６】
次に、ＳＲＡＭ書き込み制御部４５０は、既にＳＲＡＭ０〜７に書き込んだビデオデータのドット数をカウントし、書き込み開始アドレス（ＳｔＯｆｆｓｅｔ）に加えて、ビデオデータを書き込むアドレス（書き込みアドレス）を算出する。なお、ＳＲＡＭ０〜７の最後（ＳＲＡＭアドレスの最大値「６Ｆ０３」）までビデオデータを書き込み終えると、ＳＲＡＭ０〜７の最初（ＳＲＡＭアドレスの最小値「０」）からビデオデータを書き込むように、書き込みアドレスを算出する。
【００９７】
具体的には、ＳＲＡＭ書き込み制御部４５０は、
ＳｒａｍＷＡｄｒ＝｛ＳｔＯｆｆｓｅｔ＋（ＷｒａｓＣｎｔ×ＭａｘＤｏｔ＋ＷＤｏｔＣｎｔ）／ＢｉｔＷｉｄｔｈ｝ ｍｏｄ ＭａｘＳｒａｍＷＡｄｒ      ・・・（数式３）
を用いて書き込みアドレスを算出する。ここで、ＳｒａｍＷＡｄｒは、書き込みアドレスを示す。また、ＳｔＯｆｆｓｅｔはＳＲＡＭ０〜７の書き込み開始アドレスを示し、ＷｒａｓＣｎｔはラスター（副走査）カウント値を示し、ＭａｘＤｏｔは主走査方向最大ドット数（１ラスター分のドット数）を示し、ＷＤｏｔＣｎｔは主走査方向のドットカウント値を示す。また、ＢｉｔＷｉｄｔｈはビデオデータ分割部４１０への入力ビット幅を示し、ＭａｘＳｒａｍＷＡｄｒはＳＲＡＭアドレスの最大値を示す。
【００９８】
以上のように、ＳＲＡＭ書き込み制御部４５０は、各ＳＲＡＭ０〜７にビデオデータを書き込む開始アドレス（ＳｔＯｆｆｓｅｔ）を、発光素子の配置ずれ（副走査方向へのずれ）に応じて求めている。そして、ビデオデータの書き込みアドレスを、書き込み開始アドレス（ＳｔＯｆｆｓｅｔ）を基準に決定している。このように決定した書き込みアドレスの位置（ＳＲＡＭ０〜７）にビデオデータを格納しておけば、同一アドレスを指定して各ＳＲＡＭ０〜７のビデオデータ（例えば、点線の枠で囲まれているビデオデータ）を読み出すことで、図５〜図１０に示した発光タイミングで、ビデオデータを出力する（ジグザグ補正を行う）ことができる。
【００９９】
図１１に戻り、ＳＲＡＭ書き込み制御部４５０は、ステップＳ１０３で決定した書き込みアドレスの位置（ＳＲＡＭ０〜７）に、ビデオデータを書き込む処理を行う（ステップＳ１０４）。そして、画像処理回路１４０は、ステップＳ１０１〜１０４の処理を、ビデオデータ（ラスターデータ）を取得するたびに繰り返し、ビデオデータをＳＲＡＭ０〜７に格納する。
【０１００】
次に、図１５は、プリンター１００で行われる読み出し制御処理について説明するフローチャートである。
【０１０１】
プリンター１００のＳＲＡＭ読み出し制御部４４０は、ＳＲＡＭ０〜７にビデオデータが書き込まれると、読み出し制御処理を開始する。
【０１０２】
読み出し制御処理を開始後、ＳＲＡＭ読み出し制御部４４０は、ＳＲＡＭ０〜７に格納されているビデオデータを読み出す処理（読み出し処理）を行う（ステップＳ２０１）。具体的には、ＳＲＡＭ読み出し制御部４４０は、各ＳＲＡＭ０〜７の同一アドレスに格納されているビデオデータ（図１４の例では４ドット×８ごとのビデオデータ）を並列に読み出して、ジグザグ補正データ結合部４３０に供給する。
【０１０３】
続いて、ジグザグ補正データ結合部４３０は、ＳＲＡＭ０〜７から供給されたビデオデータ（３２ビット）を結合する（ステップＳ２０２）。
【０１０４】
図１６は、ジグザグ補正データ結合部４３０が行う結合処理についての概要を示す図である。図示するように、ジグザグ補正データ結合部４３０は、各ＳＲＡＭ０〜７から４ビットずつ供給されたビデオデータを結合し、３２ビットのビデオデータを生成する。例えば、ＳＲＡＭ４から読み出した４ビットのビデオデータは、矢印で示すように、生成する３２ビットのデータにおいて、５ビット目、１３ビット目、２１ビット目、２９ビット目に結合される。他のビットについても図示するように結合される。なお、ここでの結合処理は、図１２に示した分割処理と反対の処理であればよく、必ずしも図１６に示す結合処理を行う必要はない。
【０１０５】
続いて、ジグザグ補正データ結合部４３０は、結合したビデオデータを、ラインヘッド１５０に出力する（ステップＳ２０３）。具体的には、ジグザグ補正データ結合部４３０は、ステップＳ２０２で結合した３２ビットのビデオデータを、ラインヘッドＩ／Ｆ４６０を介して、ラインヘッド１５０に出力する。
【０１０６】
そして、画像処理回路１４０は、ステップＳ２０１〜２０３の処理を、ＳＲＡＭ０〜７に格納された全てのビデオデータ（ラスターデータ）をラインヘッド１５０に出力するまで繰り返す。
【０１０７】
また、以上の読み出し処理によって画像処理回路１４０から順次、出力されてくるビデオデータに基づいて、ラインヘッド１５０は、各発光素子を発光させる。
【０１０８】
以上の書き込み制御処理および読み出し制御処理を、プリンター１００で行うことにより、多岐に渡る配列パターンのラインヘッド１５０についてジグザグ補正を行うことができるとともに、複数の副走査解像度に対応することもできる。また、複数のＳＲＡＭ０〜７に分割して格納したビデオデータを、同一アドレスを指定して並列に読み出すため、ビデオデータの読み出しを高速に行うことができる。
【０１０９】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【０１１０】
例えば、上記実施形態では、ＳＲＡＭ４２０を構成するＳＲＡＭ０〜７（記憶領域）の個数は、８個としている。しかし、本発明は、ＳＲＡＭ４２０の構成をこれに限定する必要はない。また、各ＳＲＡＭ０〜７（記憶領域）におけるデータの入出力ビット幅は４ビットである必要もない。ただし、図２に示す例のように、（ＳＲＡＭ０〜７の個数）×（各ＳＲＡＭ０〜７の入出力ビット幅）＝（ビデオデータ分割部４１０への入力ビット幅）が成立するように設計しておくと、各ＳＲＡＭ０〜７上のアドレス計算が単純になり、ＳＲＡＭ４２０（各ＳＲＡＭ０〜７）へのデータの読み書きを高速に行うことができる。
【符号の説明】
【０１１１】
１００・・・プリンター、１１０・・・コントローラー、１２０・・・メモリー制御ＡＳＩＣ、１３０・・・メモリー、１４０・・・画像処理回路、１４５・・・設定レジスター、１５０・・・ラインヘッド、４１０・・・ビデオデータ分割部、４２０・・・ＳＲＡＭ、４３０・・・ジグザグ補正データ結合部、４４０・・・ＳＲＡＭ読み出し制御部、４５０・・・ＳＲＡＭ書き込み制御部、４６０・・・ラインヘッドＩ／Ｆ。
【図１】
2010149497.tif 000003
【図２】
2010149497.tif 000004
【図３】
2010149497.tif 000005
【図４】
2010149497.tif 000006
【図５】
2010149497.tif 000007
【図６】
2010149497.tif 000008
【図７】
2010149497.tif 000009
【図８】
2010149497.tif 000010
【図９】
2010149497.tif 000011
【図１０】
2010149497.tif 000012
【図１１】
2010149497.tif 000013
【図１２】
2010149497.tif 000014
【図１３】
2010149497.tif 000015
【図１４】
2010149497.tif 000016
【図１５】
2010149497.tif 000017
【図１６】
2010149497.tif 000018