(57)【特許請求の範囲】
【請求項１】
画像形成装置における記録ヘッドの複数の記録素子の位置ずれを示す第１の位置補正値を、２の累乗で表される記録素子の値毎に求め、
前記第１の位置補正値に基づいたラスタバッファの読出しアドレスにより、
前記ラスタバッファから２の累乗単位で補正すべきラスタデータを読出す補正方法であって、
前記第１の位置補正値が格納されている補正メモリから前記第１の位置補正値を取り込むステップと、
前記記録ヘッドの前記画像形成装置に対する配置ずれを示す第２の位置補正値を取り込むステップと、
前記取り込んだ前記第１の位置補正値と前記第２の位置補正値で示す各変化点の変化方向が同一で、変化点で変化する量が所定値より大きいか否かを判定するステップと、
前記変化する量が前記所定値より大きいときには前記第２の位置補正値の変化点をずらすステップと、
前記第１の位置補正値と前記変化点をずらした第２の位置補正値とを合成して補正データを生成するステップと、
を含むことを特徴とする補正方法。
【請求項２】
前記第１の位置補正値は差分データ構成を有することを特徴とする請求項１記載の補正方法。
【請求項３】
前記第１の位置補正値は、前記記録ヘッドの歪み及びヘッドアレイの段差を位置ずれとして示し、前記第２の位置補正値は前記記録ヘッドの配置の傾きを配置ずれとして示していることを特徴とする請求項１記載の補正方法。
【請求項４】
複数の記録素子をライン状に配列したチップを主走査方向に複数個ライン状に配列した記録ヘッドを用いて画像を記録するプリンタにおいて、
特定のヘッド補正単位毎に予め記録された前記記録ヘッドの各記録素子の位置ずれを示す第１の位置補正値を読出すと共に、当該ヘッド補正単位の値を２の累乗でかつ前記チップを構成する複数の記録素子の約数となる値をデータ補正単位として、このデータ補正単位で前記第１の位置補正値を求め、かつ前記記録ヘッドのプリンタに対する位置ずれを示す第２の位置補正値を取り込み、前記第１の位置補正値と前記第２の位置補正値で示す各変化点の変化方向が同一で、変化点で変化する量が所定値より大きいときには前記第２の位置補正値の変化点をずらして前記第１及び第２の位置補正値を合成して補正データとして出力する補正データ書込み手段と、
前記補正データ書込み手段から出力された前記データ補正単位毎の補正データを記憶する補正値記憶部と、
画像データを一時格納するラスタバッファ記憶部と、
前記補正値記憶部の前記補正データに基づいて補正を行い、前記第１の位置補正値に基づくアドレスを、前記ラスタバッファ記憶部へのデータ補正単位毎の読出しアドレスとして与えるラスタバッファ制御部と、
前記ラスタバッファ記憶部から前記読出しアドレスに基づいて前記データ補正単位ずつ画像データを読出し、前記記録ヘッドに与えるヘッド制御部とを備えたことを特徴とするプリンタ。
【請求項５】
前記第１の位置補正値は差分データ構成を有することを特徴とする請求項４記載のプリンタ。
【請求項６】
前記第１の位置補正値は、前記記録ヘッドの歪み及びヘッドアレイの段差を位置ずれとして示し、前記第２の位置補正値は前記記録ヘッドの配置の傾きを配置ずれとして示していることを特徴とする請求項４記載のプリンタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ライン状に配列した記録素子を有する記録ヘッドを有するプリンタに関し、特にその記録素子の位置補正を行う補正方法に関する。
【０００２】
【従来の技術】
一般に、カラープリンタでは、ＬＥＤといった記録素子をライン状に配列した記録ヘッドを有するイエロー、マゼンタ、シアン、ブラックの各画像形成手段を配設している。そして、記録媒体を記録素子の配列方向と直交する方向に搬送し、各カラー画像データに基づいて、イエロー、マゼンタ、シアン、ブラックのトナーにより、ライン単位で順次カラー画像の記録を行っている。このように、各色の画像形成手段によって同一の記録媒体上に順次異なる色のトナーを重ねて転写しているため、各画像形成手段が正規の位置からずれて取り付けられていると、色ずれが生じ、所望の色再現が実現できず、画像品位を劣化させることになる。
【０００３】
このように記録素子をライン上に並べた記録ヘッドにより記録媒体に記録を行うプリンタにおいて、記録素子の取付位置の誤差等に対して、装置への取付後に記録ヘッドに対して画像データの走査タイミングを電気的に調整して補正を行う方法がある。このような記録ヘッドに関する補正としては次のようなものがある。
１．主走査補正：ヘッド取付時の主走査方向（媒体搬送方向と直交する方向；Ｘ方向ともいう）の補正
２．副走査補正：ヘッド取付時の副走査方向（媒体搬送方向と平行な方向；Ｙ方向ともいう）の補正
３．傾き補正：ヘッド取付時の副走査方向へのヘッド傾き（主走査方向とヘッドとのなす角度）の補正
４．ヘッド歪み補正：副走査方向へのヘッド歪みの補正
５．ヘッド段差補正：ヘッド内のＬＥＤアレイ間の副走査方向への段差の補正
【０００４】
ここで、上記１．〜３．はヘッドを装置に取り付けた時の位置ずれであり、４．と５．はヘッド自身の位置ずれである。
これらの位置ずれに対する補正を行うため、ヘッドを特定のドット数の補正単位で補正値を求め、これらの補正値に基づいた補正データを作成し、この補正データにも基づいてラスタバッファから画像データを読出し、補正した画像データを記録ヘッドに送っていた。
【０００５】
【発明が解決しようとする課題】
しかしながら、記録ヘッドの場合は、記録するサイズや解像度といった要素に合わせて設計される関係上、その記録素子の補正単位もこれに応じて決定され、従って、ラスタバッファからデータを読出すための効率的なデータ転送の単位には必ずしも一致していない場合がある。
例えば、従来、ヘッド補正単位が９６ドットであった場合、ラスタバッファに格納されるデータの補正単位も９６ドット単位であるため、メモリのバースト転送といった効率的なデータ読出しができず、プリンタとしての高速化の妨げとなっていた。
【０００６】
更に、従来では、ページ外のアドレスの部分や、記録媒体のレフトマージンやライトマージンのアドレス等、正味の画像データが存在しない領域に対してはラスタバッファに０データを書込んでいた。このため、余分なデータ書込みをラスタバッファに対して行わなければならず、これらの点からも高速化への妨げとなっていた。
【０００７】
そして、従来では、ヘッド歪み・段差の補正値とヘッド傾きの補正値との変化点が重なり、かつ、その変化点で変化する量が大きい場合、実際の記録ヘッドの位置ずれ量との差が大きくなってしまい、その結果、印刷時に縦縞が発生し易くなり画質劣化の恐れがあった。
【０００８】
また、記録ヘッドの副走査方向の補正値は、そのプリンタにおける副走査方向の解像度によって異なるが、従来では、印刷する解像度が切り替わった場合は、その都度、ラスタバッファから読出す副走査方向のラインの値を設定し直す必要があり、解像度の切替えに柔軟に対応することができなかった。
【０００９】
【課題を解決するための手段】
本発明は、前述の課題を解決するため次の構成を採用する。
〈構成１〉
画像形成装置における記録ヘッドの複数の記録素子の位置ずれを示す第１の位置補正値を、２の累乗で表される記録素子の値毎に求め、前記第１の位置補正値に基づいたラスタバッファの読出しアドレスにより、前記ラスタバッファから２の累乗単位で補正すべきラスタデータを読出す補正方法であって、前記第１の位置補正値が格納されている補正メモリから前記第１の位置補正値を取り込むステップと、前記記録ヘッドの前記画像形成装置に対する配置ずれを示す第２の位置補正値を取り込むステップと、前記取り込んだ前記第１の位置補正値と前記第２の位置補正値で示す各変化点の変化方向が同一で、変化点で変化する量が所定値より大きいか否かを判定するステップと、前記変化する量が前記所定値より大きいときには前記第２の位置補正値の変化点をずらすステップと、前記第１の位置補正値と前記変化点をずらした第２の位置補正値とを合成して補正データを生成するステップと、を含むことを特徴とする。
【００１０】
〈構成２〉
複数の記録素子をライン状に配列したチップを主走査方向に複数個ライン状に配列した記録ヘッドを用いて画像を記録するプリンタにおいて、特定のヘッド補正単位毎に予め記録された前記記録ヘッドの各記録素子の位置ずれを示す第１の位置補正値を読出すと共に、当該ヘッド補正単位の値を２の累乗でかつ前記チップを構成する複数の記録素子の約数となる値をデータ補正単位として、このデータ補正単位で前記第１の位置補正値を求め、かつ前記記録ヘッドのプリンタに対する位置ずれを示す第２の位置補正値を取り込み、前記第１の位置補正値と前記第２の位置補正値で示す各変化点の変化方向が同一で、変化点で変化する量が所定値より大きいときには前記第２の位置補正値の変化点をずらして前記第１及び第２の位置補正値を合成して補正データとして出力する補正データ書込み手段と、
前記補正データ書込み手段から出力された前記データ補正単位毎の補正データを記憶する補正値記憶部と、画像データを一時格納するラスタバッファ記憶部と、前記補正値記憶部の前記補正データに基づいて補正を行い、前記第１の位置補正値に基づくアドレスを、前記ラスタバッファ記憶部へのデータ補正単位毎の読出しアドレスとして与えるラスタバッファ制御部と、前記ラスタバッファ記憶部から前記読出しアドレスに基づいて前記データ補正単位ずつ画像データを読出し、前記記録ヘッドに与えるヘッド制御部とを備えたことを特徴とする。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて詳細に説明する。
《具体例１》
〈構成〉
図１は、本発明のプリンタにおける補正方法を示すフローチャートであり、（ａ）は書込み処理、（ｂ）は読出し処理を示す。
図２は、本発明のプリンタの具体例１の構成図である。
【００１６】
図２は、本発明のプリンタにおける１色あたりの構成を示すもので、カラープリンタとしてはこれが４色分（イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｂ））あり、タンデム構成のドラムに対応するようになっている。尚、これらの機構部については公知であるためここでの説明は省略し、本発明の特徴点である制御構成を重点的に説明する。
図２に示す装置は、ＬＥＤヘッド１、ＥＥＰＲＯＭ２、ヘッド制御部３、補正データ書込み手段４、補正ＲＡＭ（補正値記憶部）５、ラスタバッファ制御部６、ラスタバッファＲＡＭ（ラスタバッファ記憶部）７、補正データ読出制御手段８からなる。
【００１７】
ＬＥＤヘッド１は、複数のＬＥＤアレイを一列に配置して構成されたプリンタにおける記録素子である。ここでは、説明を簡略化するため、ＬＥＤアレイが１９２ドット、全体で１５３６０（１９２０バイト）ドットであるとする。即ち、１９２個のＬＥＤ素子からなるＬＥＤアレイのチップが、８０個直列に並んで構成されている。
ＬＥＤヘッド１には、ヘッド歪み・段差データを格納するためのＥＥＰＲＯＭ２が内蔵されている。ヘッド歪み・段差データは、ＬＥＤヘッド１組立時に特定のドット単位に測定した位置情報であり、ＬＥＤヘッド１の副走査方向の位置ずれ（ヘッド歪み、チップ段差（ＬＥＤアレイ間の段差））を示す値である。尚、これらの値は公知の手段により別途測定して書込むものである。ここでは、特定のドット単位として、９６ドット単位でヘッド歪み・段差データが書込まれているとする。また、９６ドットとは、一つのＬＥＤアレイのチップのドット数である１９２を２分割した値であり、これをヘッド補正単位として以下説明を行う。即ち、ＬＥＤヘッド１の副走査方向の補正データとして、１６０個の位置補正値が格納されているものである。
【００１８】
ヘッド制御部３は、印刷時では、補正された画像データが格納されたラスタバッファ４から、その画像データを本具体例のデータ補正単位である６４ビット単位で入力し、これをシリアル化してＬＥＤヘッド１に送信する機能を有している。また、補正ＲＡＭ５への補正値書込み時では、補正データ書込み手段４からのポート切替え指令によって、ＥＥＰＲＯＭ２からヘッド歪み・段差データを読出して、これを補正データ書込み手段４に送信する機能を有している。
【００１９】
補正データ書込み手段４は、ＣＰＵとＲＡＭ等により構成される機能部であり、ＥＥＰＲＯＭ２からのヘッド歪み・段差データと、ＬＥＤヘッド１をプリンタに取り付けた状態に測定される傾きデータを合成して補正データを生成すると共に、ヘッド補正単位が２の累乗ではなかった場合は、値の補間処理等を行い２ｎかつ一つのＬＥＤアレイのドット数の約数で表されるデータ補正単位の補正データを生成し（本具体例では、９６ドット毎のヘッド補正単位→６４ドット毎のデータ補正単位）、この補正データを補正ＲＡＭ５に書込む機能を有している。尚、これらの処理については、図１の（ａ）を参照して後で詳細に説明する。
【００２０】
補正ＲＡＭ５は、ＬＥＤヘッド１の上記補正データを格納するためのメモリであり、本具体例では、データ補正単位である６４ドット毎の補正単位のデータを格納するものである。即ち、上記補正データ書込み手段４で生成した２４０個のデータがＸ方向に昇順で格納されている。また、本具体例では位置ずれ補正のためのライン数（Ｙ方向のライン数）として２５６ライン分としている。従って、それぞれの補正データの値は８ビットで表され、この８ビットの値がラスタバッファ制御部６内の後述する加算器１０３に供給されるよう構成されている。
【００２１】
ラスタバッファ制御部６は、ラスタバッファＲＡＭ７への書込みアドレス（Ｘ座標、Ｙ座標）を与えると共に、補正ＲＡＭ５からの補正データを加算したアドレス（Ｘ座標、Ｙ座標）をラスタバッファＲＡＭ７からの読出しアドレスとして与えるための制御部であり、ＲＤ＿Ｘポインタ１０１、ＲＤ＿Ｙポインタ１０２、加算器１０３、ＷＲ＿Ｘポインタ１０４、ＷＲ＿Ｙポインタ１０５を備えている。
【００２２】
ＲＤ＿Ｘポインタ１０１は、本具体例のデータ補正単位である６４ドット単位でインクリメントするポインタであり、この値が補正ＲＡＭ５へのアドレスとして与えられると共に、ラスタバッファＲＡＭ７への読出し用下位アドレスとして与えられるようになっている。ＲＤ＿Ｙポインタ１０２は１ラインを読出す度に１インクリメントするポインタであり、これはＬＥＤヘッド１における補正なしのボトムラインを示すものである。加算器１０３は、ＲＤ＿Ｙポインタ１０２の値と、補正ＲＡＭ５からの値を加算して生成したＹ座標のデータをラスタバッファＲＡＭ７への読出し用上位アドレスとして与えるものである。ＷＲ＿Ｘポインタ１０４は６４ドット単位でインクリメントした値を出力するポインタであり、ラスタバッファＲＡＭ７への書込み用下位アドレスとして供給する。ＷＲ＿Ｙポインタ１０５は、１ライン書込む度に１インクリメントし、Ｙ座標としてラスタバッファＲＡＭ７の書込み用上位アドレスに入力するようになっている。
【００２３】
ＲＤ＿Ｘポインタ１０１およびＷＲ＿Ｘポインタ１０４はバイト単位、つまり６４ドットずつ更新するためこれらポインタの出力値は８ずつ更新される。また、ＲＤ＿Ｙポインタ１０２およびＷＲ＿Ｙポインタ１０５はライン単位である。尚、書込み時は同一ラインを連続して書込むので６４ドット単位は必須ではない。書込み効率を上げるため例えば２５６ドット単位で書込むよう構成してもよい。
【００２４】
ラスタバッファＲＡＭ７は、ＬＥＤヘッド１の副走査方向の位置ずれ（ヘッド歪み、チップ段差（ＬＥＤアレイ間の段差）、ヘッド傾き）の和に対応するライン分の画像データを、データ補正単位に合わせて格納するＲＡＭである。本具体例では、上述したように位置ずれ補正のためのライン数として２５６ライン分とし、画像データの補正単位は６４ビットであるとする。また、ラスタバッファＲＡＭ４は、画像データの書込み／読出しのためのバス幅を６４ビットとしている。尚、３２ビット幅であれば、連続２回アクセスを１単位とする。
【００２５】
図３は、ラスタバッファＲＡＭ７のデータ構成例の説明図である。
図中の（ａ）に示すように、ＬＥＤヘッド１の１ラインのドット数に対応して、１ライン１９２０バイトを２Ｋバイト間隔で配置している。例えば、７８０ｈ〜７ＦＦｈのアドレスは空きエリアとして使用せず、８００ｈを２ライン目の最初のＸ座標となるよう配置している。これはラスタバッファＲＡＭ７のアドレス下位がＸ座標、上位がＹ座標に対応し易くするためである。尚、実際にはラスタバッファＲＡＭ７のバス幅を６４ビット幅としているため、（ｂ）に示すように、６４ビット単位の構成となっている。
【００２６】
補正データ読出制御手段８は、ラスタバッファ制御部６の制御情報に基づき、ラスタバッファＲＡＭ７からのデータ読出しを制御する機能を有しており、本具体例のデータ補正単位である６４ドット分ずつラスタバッファＲＡＭ７からヘッド制御部３にデータ転送を行うための制御手段であり、図示しないＣＰＵとＲＡＭ等により実現されている。
【００２７】
〈動作〉
本具体例の動作として、補正ＲＡＭ５への補正データ書込み処理と、印刷時の処理があり、最初に、図１に沿って補正ＲＡＭ５への補正データ書込み処理を説明する。
【００２８】
［（ａ）補正データ書込み処理］
先ず、プリンタの電源投入がなされると、ヒートローラのウォーミングアップやドラムのクリーニング等、各機構部の初期設定が行われると共に、制御部の初期設定が行われる。即ち、補正ＲＡＭ５やラスタバッファＲＡＭ７のメモリクリアが行われると共に、ラスタバッファ制御部６における各ポインタが０に初期化される。これらの初期化が終了すると上位の図示しないＣＰＵは、補正ＲＡＭ５への補正データ書込み処理を指示する。これにより、補正データ書込み手段４は、ヘッド制御部３のポートを切替え、ＥＥＰＲＯＭ２からヘッド歪み・段差データを読出す（ステップＳ１１）。このデータはデータ量を少なくするため、左隣９６ドット単位のＹ方向位置を基準とした差分データになっている。
【００２９】
図４は、補正データの説明図である。
図中、（ａ）に示すのが、ＥＥＰＲＯＭ２から読出した歪み・段差データであり、左隣との差分データで表されている。尚、以下の説明で“左”“右”とは図面上での“左”“右”と同一であるとする。また、図４の（ａ）〜（ｄ）はＬＥＤヘッド１のうち、左端からの部分データを示している。
【００３０】
ＬＥＤヘッド１の歪み・段差データは差分データとなっているため、補正データ書込み手段４は、これを絶対値データに復号する（ステップＳ１２）。この処理は、ＬＥＤヘッド１の左端のデータを０として差分値を順次加算する処理である。従って、（ａ）に示すように、＋１，＋１，０，０，＋１，…のデータは、０，＋１，＋２，＋２，＋２，＋３，…といったデータに復号される。
【００３１】
次に、補正データ書込み手段４は、歪み・段差データの補正単位（＝ヘッド補正単位Ａ）が２の累乗の値であるかを調べ（ステップＳ１３）、そうでない場合は、本具体例のデータ補正単位である６４ドット単位の歪み・段差データに変換する（ステップＳ１４）。この処理は、各データから６４ドット単位の値を補間して求め、かつ、補間値が小数の場合は四捨五入等により整数値とする。また、ヘッド補正単位が２の累乗であった場合はステップＳ１４の変換処理は行わない。
【００３２】
次に、補正データ書込み手段４は傾きデータを入手する（ステップＳ１５）。傾きデータは、図示しない傾き検出手段、傾き入力手段等により入手するものである。この傾きデータはＬＥＤヘッド１左端のＹ座標を基準とした右端のＹ方向位置データであり、例えば＋３という形で与えられる。＋３という値は右肩下がりであり、１ラインを６４ドットで分割し、かつ、１ラインを４分割したＸ座標で階段状に０から＋３ラインになる。即ち、本具体例では、（１５３６０／６４）／４＝６０であるため、６４ドット単位で６０番目の位置で切り替える。割り切れない場合は値を四捨五入する等の処理を行う。このようにして得られるのが、図４の（ｂ）に示すデータである。
【００３３】
補正データ書込み手段４は、ステップＳ１２で求めた値（歪み・段差データ）またはステップＳ１４で変換した値と、ステップＳ１５で入手した傾きデータから合成した位置ずれデータを作成し、それから補正データを求める（ステップＳ１６）。データは、歪み・段差データと傾きデータの６４ドット単位で各々対応するＹ方向の値を加算して求める。このようにして求めたのが図４（ｃ）に示すデータである。
【００３４】
次に、補正データ書込み手段４は、ステップＳ１６で求めた合成値の最大値を求め、その差を補正値とする（ステップＳ１７）。また、この補正値は全て正になるようにする。このようにして求めたのが図４（ｄ）に示すデータである。
尚、これらの処理は、実際には、補正データ書込み手段４におけるＣＰＵがＲＡＭ上で行うものである。また、上記ステップＳ１３、Ｓ１４の補正値処理を傾きデータとの合成後に行ってもよい。
【００３５】
最後に、補正データ書込み手段４は、求めた補正値を補正ＲＡＭ５に書込む（ステップＳ１８）。
図５は、補正ＲＡＭ５内のデータ構成の説明図である。
図示のように、アドレス０には値５、アドレス１には値４といったように値を格納する。尚、このアドレス０，１，…は、ＲＤ＿Ｘポインタ１０１から与えられたアドレスである。
【００３６】
次に、印刷時の動作について図１の（ｂ）に沿って説明する。
［印刷時の動作］
先ず、機構部の初期動作が行われ、また、カラー画像から色分解が行われて各色の図示しないメモリに格納されるが、これらの処理は従来と同様であるため、ここでの説明は省略する。
【００３７】
画像データが、図示しない上位より送信され、図３に示すようなデータ構成でラスタバッファＲＡＭ７に格納される。即ち、ＷＲ＿Ｘポインタ１０４およびＷＲ＿Ｙポインタ１０５でＸ座標、Ｙ座標を制御し、画像データを格納する（ステップＳ２１）。
【００３８】
補正データ読出制御手段８は、ラスタバッファＲＡＭ７へのデータ書込みが補正できる２５６ライン分以上になったかを判定し（ステップＳ２２）、２５６ライン分に達したらヘッド制御部３へのデータ読出しを開始し、データ補正単位である６４ドットずつデータ転送する（ステップＳ２３）。この読出し処理は次のようになる。先ず、ＲＤ＿Ｘポインタ１０１＝０、ＲＤ＿Ｙポインタ１０２＝０にする。これにより、補正ＲＡＭ５より値５（図５参照）が出力され、その結果、加算器１０３の出力は５となり、ラスタバッファＲＡＭ７への上位アドレスとして値５が与えられる。これにより、ラスタバッファＲＡＭ７からは５ライン目のデータ（６４ドット分のデータ）が、ヘッド制御部３に出力される。次に、ＲＤ＿Ｘポインタ１０１がインクリメントされ、次の６４ドットのＸ座標を示す。これにより補正ＲＡＭ５からは次の値である４が出力され、従って、ラスタバッファＲＡＭ７からは４ライン目のデータが出力される。このような処理を、ステップＳ２４で１ライン分の読出しが終了したと判定されるまで繰り返して行い、１ライン分の読出しを行う。これにより、補正ＲＡＭ５に格納されている補正データの通りの補正が行われる。
【００３９】
１ライン分の読出しが終了すると、ＲＤ＿Ｘポインタ１０１が０を戻し、ＲＤ＿Ｙポインタ１０２を１インクリメントする（ステップＳ２５）。そして、上記と同様のステップＳ２３の読出し処理を実行する。即ち、補正ＲＡＭ５からは値５が出力され、この値とＲＤ＿Ｙポインタ１０２の値が加算器１０３で加算され、値６がラスタバッファＲＡＭ７に上位アドレスとして与えられる。これにより、ラスタバッファＲＡＭ７からは６ライン目のデータが、ヘッド制御部３に出力される。これを１ライン分繰り返して行い、１ページ分のラインを行うことで補正された印刷データが生成される。
【００４０】
以上のような、画像データの読出し処理がイエロー、マゼンタ、シアン、ブラックの４色分行われ、各色毎に印刷動作が行われるが、これらの動作は従来と同様であるためここでの説明は省略する。
【００４１】
〈効果〉
以上のように、具体例１によれば、ヘッド補正単位毎の補正値から、データ補正単位毎の補正値を求めて補正データを形成し、このデータ補正単位でラスタバッファＲＡＭ７へのアクセスを行うようにしたので、例えば、メモリのバースト転送等に対応でき、従って、ラスタバッファＲＡＭ７からのデータ読出しの高速化が図れ、印刷処理の高速化を図ることができる。また、ヘッド補正単位がどのようなものであっても、効率的なデータ転送を行うことができる効果がある。
【００４２】
《具体例２》
具体例２は、画像データ領域外のラスタバッファＲＡＭ７への余分な０データ書込みを無くすようにしたものである。
【００４３】
〈構成〉
図６は、具体例２によるプリンタの１色あたりの構成図である。
図の装置は、ＬＥＤヘッド１、ＥＥＰＲＯＭ２、ヘッド制御部３、補正データ書込み手段４、補正ＲＡＭ５、ラスタバッファ制御部６ａ、ラスタバッファＲＡＭ７、補正データ読出制御手段８、セレクタ９からなる。ここで、ラスタバッファ制御部６ａの構成とセレクタ９以外の構成は具体例１と同様であるため、対応する部分に同一符号を付してその説明を省略する。
【００４４】
ラスタバッファ制御部６ａは、ＲＤ＿Ｘポインタ１０１、ＲＤ＿Ｙポインタ１０２、加算器１０３、ＷＲ＿Ｘポインタ１０４、ＷＲ＿Ｙポインタ１０５、ページ開始ラインレジスタ１０６、ページ終了ラインレジスタ１０７、セレクタ１０８、比較器１０９を備えている。ここで、ＲＤ＿Ｘポインタ１０１〜ＷＲ＿Ｙポインタ１０５は、具体例１と同様であるため、ここでの説明は省略する。
ページ開始ラインレジスタ１０６は、ラスタバッファＲＡＭ７に格納する画像データのページ開始時のライン番号を保持するレジスタである。ページ終了ラインレジスタ１０７はラスタバッファＲＡＭ７に格納する画像データのページ終了時のライン番号を保持するレジスタである。これらのレジスタは、図示しない上位のＣＰＵが、画像データ書込み開始・終了時のＹ座標を検知して書込むものである。または、ハードウェアにより書込み開始・終了時のＷＲ＿Ｙポインタ１０５の値をコピーすることにより書込まれるよう構成してもよい。
【００４５】
セレクタ１０８は、ページ開始ラインレジスタ１０６の値かページ終了ラインレジスタ１０７の値を選択して出力するセレクタであり、初期化後は、ページ開始ラインレジスタ１０６の出力を選択し、加算器１０３の出力値が全てページ開始ラインレジスタ１０６の値以上になったタイミングでページ終了ラインレジスタ１０７側の値を選択するよう構成されている。比較器１０９は、セレクタ１０８から出力されたレジスタの値と加算器１０３からの補正されたＹ座標とを比較するための比較器であり、セレクタ１０８で選択した値がページ開始ラインレジスタ１０６の値である範囲では、加算器１０３の出力値がセレクタ１０８の値よりも大きい場合にページ内であると判定し、加算器１０３の出力値が全てページ開始ラインレジスタ１０６の値以上になったタイミングで、加算器１０３の出力値がセレクタ１０８の値より大きくなった時点でページ外であると判定するものであり、ページ内と判定した場合にセレクタ９へのページ内信号をオンとするよう構成されている。尚、これらのセレクタ１０８の切替え制御、比較器１０９における値の比較制御はラスタバッファ制御部６ａ内の図示しない制御手段により行われるものである。
【００４６】
セレクタ９は、０データとラスタバッファＲＡＭ７の出力とを入力し、比較器１０９からのページ内信号を切替信号としてこれらの信号を切り替えるためのセレクタであり、０データ出力手段を構成している。
【００４７】
〈動作〉
図７は、具体例２における動作説明図であり、これらの図はラスタバッファＲＡＭ７内のデータ格納状態を示すものである。
図において、（ａ）はページ開始時、（ｂ）はページ開始直後、（ｃ）はページ終了直前、（ｄ）はページ終了の４ケースを示している。これらの図において、ラスタバッファＲＡＭ７に書込まれた画像データ（印刷データ）の領域は網掛けで示しており、非表示の領域は何も書込まれていないことを示している。つまり、非表示の領域のデータを仮に読出すと不定値が出力されることになる。また、ＲＤポインタであるＲＤＰＴＲ＿Ｂ（ボトムラインの読出しアドレス用ポインタ）はＲＤ＿Ｙポインタ１０２の値に対応しており、弓状の曲線で示すのが補正後のＹ座標の軌跡で、加算器１０３の出力に対応している。また、ＲＤＰＴＲ＿Ｔ（トップラインの読出しアドレス用ポインタ）は、その軌跡の最大値を示している。
【００４８】
また、印刷データの開始ラインがページ開始ラインレジスタ１０６の値と一致しており、印刷データの終了ラインがページ終了ラインレジスタ１０７の値と一致している。尚、図中のレフトマージン、ライトマージンについては、次の具体例３で説明するため、本具体例ではその説明は省略する。
【００４９】
先ず、プリンタへの電源投入がなされると、図示しない上位のＣＰＵにより、各ポインタやレジスタが初期化される。そして、具体例１で説明したのと同様に、ラスタバッファＲＡＭ７に画像データが格納される。先ず、（ａ）に示すように、ページ開始時はページ開始ラインレジスタ１０６の値より傾き歪み最大値分より小さい値からＲＤポインタは開始する。このとき、セレクタ１０８は図示しないラスタバッファ制御部６ａ内の制御手段により、ページ開始ラインレジスタ１０６の出力を選択している。補正後のＹ座標の軌跡は全てページ開始ラインレジスタ１０６の値より小さいため、比較器１０９はページ外であると判定する。これによりセレクタ９は０データを選択してヘッド制御部３に出力する。
【００５０】
次に、（ｂ）に示すように、ページ開始直後では補正後のＹ座標の軌跡は途中からページ開始ラインレジスタ１０６の値を超える。つまり、加算器１０３の出力がページ開始ラインレジスタ１０６の値よりも大きくなる領域が存在する。従って、超えた領域ではページ内であるため、セレクタ９はラスタバッファＲＡＭ７からの印刷データをそのまま選択してヘッド制御部３に出力し、そうでない領域では０データを選択してヘッド制御部３に出力する。そして、更に経過して補正後のＹ座標の軌跡が全てページ開始ラインレジスタ１０６の値を超えたとき以降はページ内であるため、セレクタ９は全て印刷データのみを出力する。このタイミングでセレクタ１０８は、図示しない制御手段によりページ終了ラインレジスタ１０７側に切り替えられる。
【００５１】
次に、（ｃ）に示すように、ページ終了直前では、補正後のＹ座標の軌跡は途中からページ終了ラインレジスタ１０７の値を超える。即ち、セレクタ１０８の出力より加算器１０３の出力の方が大きな値となる。これにより比較器１０９はページ外であるかを判定し、ページ内信号をオフとする。これによりセレクタ９は、０データを選択し、ヘッド制御部３に出力する。
【００５２】
次に、（ｄ）に示すように、ページ終了時では、補正後のＹ座標の軌跡は全てページ終了ラインレジスタ１０７の値よりも大きいため、比較器１０９はページ内信号をオフとする。これにより、セレクタ９は０データを選択してヘッド制御部３に出力する。そして、ＲＤポインタがページ終了ラインレジスタ１０７の値と一致した時点で１ページ分の印刷データのラスタバッファＲＡＭ７からの読出しは終了する。
【００５３】
〈効果〉
以上のように具体例２によれば、具体例１の構成に加えて、補正後のＹ座標の軌跡がページ内であるか否かを判別し、ページ外ならば値０を選択してラスタバッファＲＡＭ７からの読出しデータの代わりのデータとするようにしたので、具体例１の効果に加えて、従来のようなラスタバッファＲＡＭ７への値０の書込み処理が不要となり、従ってより高速化を図ることができる。
【００５４】
尚、上記具体例２では、０データ出力手段としてセレクタ９を用いたが、ラスタバッファ制御部６ａからのページ内信号をヘッド制御部３に与えるようにし、ページ内信号がオフの場合はヘッド制御部３で０データを生成するようにしてもよい。
【００５５】
《具体例３》
具体例３は、ＬＥＤヘッド１における主走査方向の補正を行うようにしたものである。即ち、従来では、ラスタバッファに記録ヘッドのヘッド長分のデータを書込み、それを読出していた。しかし、実際に印刷する画像の大きさは用紙サイズの全てではなく、とじしろ等、用紙４辺から内側に余白領域を設定している。更に、ヘッド長は用紙横幅よりも長くなるように設定されている。従って、上位からの画像データは、画像データに対して、ヘッド長分になるよう余白分のデータが付加されたデータであるため、この余白分のデータを受信し、ラスタバッファに書込む時間が余計にかかっていた。また、上位にしてもこの余白データを付加する処理と、データ送信の分時間がかかっていた。このため、本具体例では、正味の画像が存在しない領域ではラスタバッファへの書込み・読出しをしないようにしたものである。
【００５６】
〈構成〉
図８は、具体例３によるプリンタの１色あたりの構成図である。
図の装置は、ＬＥＤヘッド１、ＥＥＰＲＯＭ２、ヘッド制御部３、補正データ書込み手段４、補正ＲＡＭ５、ラスタバッファ制御部６ｂ、ラスタバッファＲＡＭ７、補正データ読出制御手段８ａ、セレクタ９、ビットシフト回路１０からなる。ここで、ラスタバッファ制御部６ｂ、補正データ読出制御手段８ａおよびビットシフト回路１０以外の構成は具体例１と同様であるため、対応する部分に同一符号を付してその説明を省略する。
【００５７】
ラスタバッファ制御部６ｂは、ＲＤ＿Ｘポインタ１０１、ＲＤ＿Ｙポインタ１０２、加算器１０３、ＷＲ＿Ｘポインタ１０４、ＷＲ＿Ｙポインタ１０５、ページ開始ラインレジスタ１０６、ページ終了ラインレジスタ１０７、セレクタ１０８、比較器１０９、レフトマージンレジスタ１１０、ライトマージンレジスタ１１１を備えている。ここで、ＲＤ＿Ｘポインタ１０１〜比較器１０９は、具体例２と同様であるため、ここでの説明は省略する。
【００５８】
レフトマージンレジスタ１１０は、ＬＥＤヘッド１の左端から正味の画像データ右端までの余白領域の値を保持するレジスタである。ライトマージンレジスタ１１１は、正味の画像データ右端からＬＥＤヘッド１の右端までの余白領域の値を保持するレジスタである。両レジスタは単に余白領域設定だけでなく、主走査方向の補正値を加算した値を与える。従って、１色毎に独立して存在する。
【００５９】
補正データ読出制御手段８ａは、具体例１における補正データ読出制御手段８の機能に加えて次のような機能を有している。即ち、レフトマージンレジスタ１１０の値を含むデータ補正単位のアドレスから、ライトマージンレジスタ１１１の値を含むデータ補正単位のアドレスまでは、ビットシフト回路１０からのデータをラスタバッファＲＡＭ７に書込み、ラスタバッファＲＡＭ７からデータを読出す場合は、ビットシフト回路１０からラスタバッファＲＡＭ７にデータが書込まれた領域では、ラスタバッファＲＡＭ７からデータを読出すようセレクタ９に指示し、それ以外の領域では０データを出力するようセレクタ９の制御を行うよう構成されている。
【００６０】
ビットシフト回路１０は、ラスタバッファＲＡＭ７の手前に接続され、バレルシフタとレジスタ等により構成されるもので、レフトマージンレジスタ１１０の下位６ビットの値（０から６３ドット）分ビットシフトし、一つ前のデータの残りと連結して６４ビット単位でラスタバッファＲＡＭ７に出力する。また、レフトマージンレジスタ１１０の値で示す書込み開始部分では一つ前のデータの残りの代わりに値０にする。そして、ライトマージンレジスタ１１１の値で示す書込み終了部分ではライトマージンレジスタ１１１の下位６ビットの値（０から６３ドット）から６３ドットまでを値０としてラスタバッファＲＡＭ７に出力するよう構成されている。即ち、ビットシフト回路１０は、レフトマージンレジスタ１１０の値のうち、データ補正単位（６４ドット）のビット数で切り捨てた値の残りのビット数分ビットシフトし、その結果、データが存在しない書込みラインの開始および終了時は、０データを埋めるようにした回路である。
【００６１】
〈動作〉
図９は、各色のＬＥＤヘッド１とレフトマージン／ライトマージンとの関係を示す説明図である。
図１０は、１色分の動作説明図である。
【００６２】
図９に示すように、現在の用紙幅での標準レフトマージン値、標準ライトマージン値はアプリケーションの用紙余白設定等により予め決められている。例えば図９において、ヘッドＫの主走査方向補正量が分かると、その値を標準レフトマージン値、標準ライトマージン値に加算した値をレフトマージンレジスタ１１０およびライトマージンレジスタ１１１に設定する。
【００６３】
例えば、本具体例では、補正を加えた設定値が、レフトマージンレジスタ１１０の値（ＬＭ）＝４５ｈ（６９）、ライトマージンレジスタ１１１の値（ＲＭ）＝４０３ｈ（１０２７）、ＬＥＤヘッド１のヘッド長＝７ｆｆｈ（２０４７）として以下の動作を説明する。尚、ライトマージンレジスタ１１１の値は、ＬＥＤヘッド１の左端から正味の画像データの右端までの値を設定している。以下、ラスタバッファＲＡＭ７への書込み処理と読出し処理に分けて説明を行う。
【００６４】
［ラスタバッファＲＡＭ７への書込み処理：Ａ］
Ａ１：ＷＲ＿Ｘポインタ１０４はＬＭ値を６４ドット単位で切り捨てた４０ｈ／８ビット＝８ｈがロードされる。また、ＷＲ＿Ｙポインタ１０５＝０でライン０から書込みを開始する。上位から画像データがビットシフト回路１０に入力されると、ビットシフト回路１０では、ＬＭ値の下位６ビット＝０５ｈであるため最初から５ビット分は０、残りは５ビット分シフトして６４ビットにしたデータを出力する。このデータをラスタバッファＲＡＭ７のＷＲ＿Ｘポインタ１０４に示すアドレスに書込む。これが図１０におけるＡ１に示す状態である。即ち、ＷＲ＿Ｘポインタ１０４で示す６４ビット目のアドレスに、ビットシフト回路１０で生成した最初の５ビット分が０、残りを５ビット分シフトして６４ビットにしたデータを書込む。図中の０ＷＲが最初の０データを表している。
【００６５】
Ａ２：ＷＲ＿Ｘポインタ１０４はインクリメントし、１０ｈ（８ｈ×２）となる。次に画像データがビットシフト回路１０に入力されると、先程の残りの５ビットと今回５ビット分シフトしたデータを連結して６４ビットにしたデータが出力される。これが、図中のＡ２に示す状態である。
【００６６】
Ａ３：上記のＡ２の処理を繰り返し、ＷＲ＿Ｘポインタ１０４がＲＭ値を６４ドット単位で切り捨てた４００ｈ／８ビット＝８０ｈになると、補正データ読出制御手段８ａは、ビットシフト回路１０に対して、ライン最後のデータ補正単位分のデータであることを知らせる。ビットシフト回路１０は、この信号を受けて、ＬＭ値の下位６ビット＜ＲＭ値の下位６ビットの判定を行い、この関係が成り立つ場合は、図１０の（ａ）に示すように、残りビットと今回ビットシフトしたデータを連結して６４ビットにした後、ＲＭ値の下位６ビットの値から６３ドットまでを値０にして出力する。一方、ＬＭ値の下位６ビット≧ＲＭ値の下位６ビットの条件を満たした場合は、図１０の（ｂ）に示すように、残りビットの内、ＲＭ値の下位６ビットの値から６３ドットまでを値０にして出力する。Ａ３における０ＷＲがこれらの０データとした範囲を表している。本具体例では０５ｈ＞０３ｈなので、図１０（ｂ）に示すケースである。つまり、残り５ビットのうち３ビットまでが有効で残りは値０にして出力する。このようなデータをラスタバッファＲＡＭ７に書込む。
【００６７】
Ａ４：ＷＲ＿Ｙポインタ１０５は１インクリメントし、ＷＲ＿Ｘポインタ１０４は再び８ｈがロードされる。以降、同様にＡ１からの処理を繰り返す。
【００６８】
以上のように、ＷＲ＿Ｘポインタ１０４は、８ｈから８０ｈまでしか動作していないため、それ以外の領域は何も書込まれていないことになる。
【００６９】
［ラスタバッファＲＡＭ７からの読出し処理：Ｂ］
Ｂ１：ＲＤ＿Ｘポインタ１０１は値０、ＲＤ＿Ｙポインタ１０２＝０から読出しを開始する。尚、実際は具体例２で説明したようにＲＤ＿Ｙポインタ１０２＝０−傾き歪み最大値から読出しを開始するが、ここでは説明を簡略にするため０からとする。先ず、ＲＤ＿Ｘポインタ１０１の値＜ＬＭ値を６４ドット単位で切り捨てた値（４０ｈ／８ビット＝８ｈ）であるため、ラスタバッファＲＡＭ７から読出さず、セレクタ９に対して０データを出力するよう補正データ読出制御手段８ａが指示を行う。これが、図１０のＢ１の状態である。
【００７０】
Ｂ２：次に、ＲＤ＿Ｘポインタ１０１はインクリメントし、値は８ｈとなる。従って、ＲＤ＿Ｘポインタ１０１の値＝ＬＭ値を６４ドット単位で切り捨てた値となるので、ラスタバッファＲＡＭ７からデータを読出すよう補正データ読出制御手段８ａはセレクタ９に指示を行う。
【００７１】
Ｂ３：上記のＢ２の処理を繰り返し、ＲＤ＿Ｘポインタ１０１の値＞ＲＭ値を６４ドット単位で切り捨てた値（４００ｈ／８ビット＝８０ｈ）の条件を満たすようになったら、ラスタバッファＲＡＭ７からデータを読出さず、０データを選択するようセレクタ９に指示を行う。
【００７２】
Ｂ４：更に、ＲＤ＿Ｘポインタ１０１＝ヘッド長（７ｆｆｈ＋１）／８ビット＝１００ｈになったらＲＤ＿Ｙポインタ１０２を１インクリメントし、ＲＤ＿Ｘポインタ１０１を０とする。
【００７３】
Ｂ５：Ｂ１からの処理を繰り返す。
以上のように、データが書込まれていない領域では０を出力し、そうでない領域はラスタバッファＲＡＭ７から出力するようにしている。
【００７４】
〈効果〉
以上のように具体例３によれば、レフトマージンレジスタ１１０の値を含むデータ補正単位のアドレスから、ライトマージンレジスタ１１１の値を含むデータ補正単位のアドレスまでは、ビットシフト回路１０からのデータをラスタバッファＲＡＭ７に書込み、ラスタバッファＲＡＭ７からデータを読出す場合は、ビットシフト回路１０からラスタバッファＲＡＭ７にデータが書込まれた領域ではラスタバッファＲＡＭ７からデータを読出し、それ以外の領域では０データを出力するようにしたので、ラスタバッファＲＡＭ７への余分なデータの書込み・読出しがなくなると共に、主走査補正のための余分なデータをＬＥＤヘッド１に送る必要がなくなり、ヘッド長分ラスタバッファＲＡＭ７に書込み／読出しする必要がないため、その分高速化を図ることができる。
【００７５】
尚、上記具体例３では、ラスタバッファＲＡＭ７にデータが書込まれていない領域ではセレクタ９を切り替えて０データをヘッド制御部３に送るようにしたが、レフトマージンレジスタ１１０およびライトマージンレジスタ１１１の値に基づき、補正データ読出制御手段８ａがヘッド制御部３に対して指示を行って、０データを生成するよう構成してもよい。
【００７６】
《具体例４》
具体例４は、ＬＥＤヘッド１における歪み・段差データの変化点と傾きデータとの変化点が重なり、変化する量が所定量より大きい場合に、傾きデータの変化点をずらして変化する量が大きい変化点を抑えるようにしたものである。
【００７７】
〈構成〉
図面上の構成は図２に示した具体例１と同様であるため、図２を援用して説明する。
具体例４の補正データ書込み手段４は、具体例１における補正データ書込み手段４の機能を有すると共に、ＥＥＰＲＯＭ２に格納されたＬＥＤヘッド１の歪み・段差データから求めた補正値の変化点と、傾きデータから求めた補正値の変化点が重なり、かつ、その変化点で変化する量が所定値より大きい場合は、傾きデータの変化点をずらして補正値を求める機能を有している。
【００７８】
〈動作〉
図１１は、従来例と本具体例の補正データ作成の説明図である。
図中の従来例に示すように、傾きデータが右肩下がりに１変化（＋１とする）箇所で、ＬＥＤヘッド１の歪み段差データは＋２すると、合成したデータの変化は加重されるので＋３になり、その結果、印刷時に縦縞が発生し易くなる。一方、傾きが＋１変化する箇所では、ＬＥＤヘッド１の歪み段差データは−２なので合成したデータの変化は相殺されて−１になり、変化が目立たない。
【００７９】
ところで、ＬＥＤヘッド１の段差はＬＥＤアレイ間のずれであるため、その箇所でしか補正できないが、歪みや傾きは段差に比べもともと変化がなだらかでその箇所でなくても、つまり位置を多少ずらしても問題はない。但し、歪みは段差と一緒にＬＥＤヘッド１内のＥＥＰＲＯＭ２に格納されるので、歪み成分だけを抽出することは、歪みと段差を別に格納しない限りは困難である。そこで、本具体例では、傾きについて変化が加重される箇所では一つずらす処理を行う。これが図中の本具体例の図示部分であり、変化箇所を一つずらしているため、合成データではその変化が軽減されている。
【００８０】
図１２は、補正データ書込み手段４が行う具体例４の処理のフローチャートである。
先ず、補正単位（例えば６４ドット単位）を０にする（ステップＳ３１）。次に、補正単位がＬＥＤヘッド１の最後（１５３６０／６４＝２４０）かを判断する（ステップＳ３２）。そうであった場合はずらし処理を終了し、最後でなかった場合はステップＳ３３に進み、その補正単位の箇所で傾きが変化しているかを判断する。傾きが変化している箇所であったならば、その傾き変化箇所は、歪み段差と変化が同じ方向でかつ変化する量が所定値以上であるかを判断する（ステップＳ３４）。ここで、歪み段差変化が０である場合は“Ｎｏ”であり、それぞれの変化が＋と−または−と＋ならば違う方向で相殺されるのでこれも“Ｎｏ”である。これ以外の場合でかつ変化する量が所定値以上の場合が“Ｙｅｓ”でありステップＳ３５に進む。尚、本具体例では所定値として＋３としているが、この値は適宜選択が可能である。ステップＳ３５では傾き変化箇所を右に一つずらす（ステップＳ３６）。そして、補正単位を一つ加算してステップＳ３３に戻る。また、ステップＳ３３において、傾き変化箇所ではなかった場合は、そのままステップＳ３６に移行する。
【００８１】
〈効果〉
以上のように具体例４によれば、補正データを生成する処理において、ＬＥＤヘッド１の歪み段差データの変化点と傾きデータの変化点が重なった箇所で、変化する量が増える方向の場合は傾きデータの変化点をずらすようにしたので、補正データのずれ量を抑えることができ、その結果、印刷時の縦縞の発生を抑えることができる。
【００８２】
《具体例５》
具体例５は、補正データの縦解像度が切り替わった場合でも補正ＲＡＭ５への補正データの変更なしに切替えができるようにしたものである。
即ち、従来では、画像データの解像度が切り替わった場合、補正値の記憶部に格納する補正値を再度設定する必要があった。例えば、縦１２００ｄｐｉと縦２４００ｄｐｉである。そこで、本具体例では、補正の対象となる歪み・段差・傾きは全て長さで表される値であるため、一番細かい解像度の補正値を補正ＲＡＭ５に格納しておき、印刷する解像度に合わせて切替え、再設定を不要としたものである。
【００８３】
〈構成〉
図１３は、具体例５によるプリンタの１色あたりの構成図である。
図の装置は、ＬＥＤヘッド１、ＥＥＰＲＯＭ２、ヘッド制御部３、補正データ書込み手段４ａ、補正ＲＡＭ５ａ、ラスタバッファ制御部６ｃ、ラスタバッファＲＡＭ７からなる。ここで、補正データ書込み手段４ａ、補正ＲＡＭ５ａおよびラスタバッファ制御部６ｃ以外の構成は具体例１と同様であるため、対応する部分に同一符号を付してその説明を省略する。
【００８４】
補正データ書込み手段４ａは、具体例１の補正データ書込み手段４の機能を有すると共に、そのプリンタで使用する縦解像度のうち、最も細かい縦解像度の補正値を補正ＲＡＭ５に与える機能を有している。本具体例では、最も細かい縦解像度の補正値として４８００ｄｐｉの値としている。また、補正ＲＡＭ５ａは、この、最も細かい解像度の補正値を格納するメモリである。
【００８５】
図１４は、補正ＲＡＭ５ａの補正値格納状態を示すと共に、解像度との関係を示す説明図である。
例えば、アドレス０には値５が格納されており、これを縦解像度４８００ｄｐｉ（ｖ４８００ｄｐｉ）ではそのまま５、縦解像度２４００ｄｐｉでは２．５、縦解像度１２００ｄｐｉでは１．２５に値を桁シフトして用いるものである。
【００８６】
ラスタバッファ制御部６ｃは、ＲＤ＿Ｘポインタ１０１、ＲＤ＿Ｙポインタ１０２ａ、加算器１０３、ＷＲ＿Ｘポインタ１０４、ＷＲ＿Ｙポインタ１０５、縦解像度レジスタ１１２、丸め回路１１３を備えている。ここで、ＲＤ＿Ｙポインタ１０２ａ、縦解像度レジスタ１１２および丸め回路１１３以外の構成は、具体例１と同様であるため、ここでの説明は省略する。
ＲＤ＿Ｙポインタ１０２ａは、縦解像度に応じてインクリメントする値を切り替えるポインタであり、縦解像度４８００ｄｐｉでは＋１インクリメント、縦解像度２４００ｄｐｉでは＋２インクリメント、縦解像度１２００ｄｐｉでは＋４インクリメントするよう構成されている。
【００８７】
縦解像度レジスタ１１２は、縦解像度を４８００ｄｐｉ、２４００ｄｐｉ、１２００ｄｐｉに切り替えるためのモードレジスタであり、上位のアプリケーション等からそのモードが設定されるよう構成されている。丸め回路１１３は、加算器１０３の値を縦解像度レジスタ１１２のモードにより整数に丸める（小数を含む値を整数値とする）処理を行う回路である。本具体例では、丸め回路１１３の整数値化処理として小数点以下の値を四捨五入しているが、切り捨てや切り上げによる整数値化であってもよい。
【００８８】
〈動作〉
先ず、補正データ書込み手段４ａは、補正ＲＡＭ５ａへの補正値書込み処理として、一番細かい解像度である縦解像度４８００ｄｐｉの補正値を書込む。次に図示しない上位のアプリケーション等から縦解像度が縦解像度レジスタ１１２に指定されると、ラスタバッファ制御部６ｃでは、補正ＲＡＭ５ａからの補正値をそのモードに対応した値に桁シフトして加算器１０３に与え、かつ、ＲＤ＿Ｙポインタ１０２ａは、そのモードに対応したインクリメントを行う。また、丸め回路１１３は、加算器１０３からの出力された値に対して、丸め処理を行い、補正されたラインとしてラスタバッファＲＡＭ７に与える。例えば、縦解像度２４００ｄｐｉの場合、補正ＲＡＭ５ａのアドレス０から読出される値は、２．５であるため、３に丸め、ラスタバッファＲＡＭ７から３ライン目のデータを読出す。縦解像度１２００ｄｐｉの場合、補正ＲＡＭ５ａのアドレス０から読出される値は１．２５であるため、１に丸め、ラスタバッファＲＡＭ７から１ライン目のデータを読出す。
【００８９】
〈効果〉
以上のように、具体例５によれば、補正ＲＡＭ５ａへの補正値として最も細かい解像度の補正値を格納し、ラスタバッファ制御部６ｃでは、印刷する解像度に応じて補正ＲＡＭ５ａに格納された補正値を求め、この補正値と読出しラインを指定するポインタの値とを加算すると共に、整数値化し、これをラスタバッファＲＡＭ７の読出しラインとして与えるようにしたので、縦解像度が切り替わっても補正ＲＡＭへの補正値の再設定が不要となり、解像度の変更にも柔軟に対処することができる。
【００９０】
《利用形態》
上記各具体例では、記録ヘッドを複数具備するカラープリンタの場合を説明したが、記録ヘッドが単数であるモノクロプリンタであっても位置補正に関して効果を有する。
【００９１】
また、上記具体例５では具体例１の構成に基づいて構成したが、具体例２〜４に対しても適用可能である。
【図面の簡単な説明】
【図１】本発明のプリンタにおける補正方法を示すフローチャートである。
【図２】本発明のプリンタの具体例１の構成図である。
【図３】ラスタバッファＲＡＭ７のデータ構成例の説明図である。
【図４】補正データの説明図である。
【図５】補正ＲＡＭ内のデータ構成の説明図である。
【図６】具体例２のプリンタの構成図である。
【図７】具体例２における動作説明図である。
【図８】具体例３のプリンタの構成図である。
【図９】ＬＥＤヘッドとレフトマージン／ライトマージンとの関係を示す説明図である。
【図１０】具体例３の動作説明図である。
【図１１】具体例４の補正データ作成を従来例と比較して示す説明図である。
【図１２】具体例４の処理のフローチャートである。
【図１３】具体例５のプリンタの構成図である。
【図１４】具体例５の補正ＲＡＭの補正値格納状態を示す説明図である。
【符号の説明】
１  ＬＥＤヘッド（記録ヘッド）
２  ＥＥＰＲＯＭ
３  ヘッド制御部
４、４ａ  補正データ書込み手段
５、５ａ  補正ＲＡＭ（補正値記憶部）
６、６ａ、６ｂ、６ｃ  ラスタバッファ制御部
７  ラスタバッファＲＡＭ（ラスタバッファ記憶部）
８、８ａ  補正データ読出制御手段
９  セレクタ（０データ出力手段）
１０  ビットシフト回路
１０１  ＲＤ＿Ｘポインタ
１０２、１０２ａ  ＲＤ＿Ｙポインタ
１０３  加算器
１０４  ＷＲ＿Ｘポインタ
１０５  ＷＲ＿Ｙポインタ
１０６  ページ開始ラインレジスタ
１０７  ページ終了ラインレジスタ
１１０  レフトマージンレジスタ
１１１  ライトマージンレジスタ
１１２  縦解像度レジスタ
１１３  丸め回路
【図１】
0004391042.tif 000002
【図２】
0004391042.tif 000003
【図３】
0004391042.tif 000004
【図４】
0004391042.tif 000005
【図５】
0004391042.tif 000006
【図６】
0004391042.tif 000007
【図７】
0004391042.tif 000008
【図８】
0004391042.tif 000009
【図９】
0004391042.tif 000010
【図１０】
0004391042.tif 000011
【図１１】
0004391042.tif 000012
【図１２】
0004391042.tif 000013
【図１３】
0004391042.tif 000014
【図１４】
0004391042.tif 000015