(57)【要約】【課題】  正確に記録ヘッドからのインク液滴を記録媒体に着弾させ高品位な記録を行なうことができる記録装置及び記録制御方法を提供することである。【解決手段】記録ヘッドを搭載したキャリッジを往復移動させながら記録媒体に前記記録ヘッドからインク滴を吐出して画像を記録する記録装置では、次の制御がなされる。即ち、キャリッジの往復移動において、そのキャリッジの位置を検出し、記録ヘッドから吐出されるインク滴の記録媒体上の着弾位置をキャリッジの移動方向にずらす。この時、検出されたキャリッジの位置に従って、着弾位置の補正値を設定した補正テーブルを参照しながら着弾位置のシフト量を定める。【選択図】  図３
2007152626.tif 000002
【特許請求の範囲】
【請求項１】
記録ヘッドを搭載したキャリッジを往復移動させながら記録媒体に前記記録ヘッドからインク滴を吐出して画像を記録する記録装置であって、
前記キャリッジの往復移動において、前記キャリッジの位置を検出する検出手段と、
前記記録ヘッドから吐出されるインク滴の前記記録媒体上の着弾位置を前記キャリッジの移動方向にずらすシフト手段と、
前記着弾位置の補正値を設定した補正テーブルを格納する記憶手段と、
前記検出手段によって検出された前記キャリッジの位置に従って、前記補正テーブルを参照しながら前記着弾位置のシフト量を前記シフト手段に指示するシフト制御手段とを有することを特徴とする記録装置。
【請求項２】
前記検出手段は、
前記キャリッジの移動方向に沿って設けられたリニアエンコーダと、
前記キャリッジに設けられ、前記キャリッジの移動に伴って前記リニアエンコーダを読取るリニアエンコーダセンサと、
前記リニアエンコーダセンサからの出力信号に基づいて、前記キャリッジの移動量をカウントする位置カウンタとを有することを特徴とする請求項１に記載の記録装置。
【請求項３】
前記検出手段は、さらに、
前記リニアエンコーダセンサからの出力信号の周期をカウントする周期カウンタと、
前記周期カウンタでカウントされた周期から、前記リニアエンコーダからの未来の出力信号の周期を予測する周期予測部と、
前記周期予測部によって予測された周期を除算して算出された周期に基づくトリガ信号を生成するトリガ生成部とを有し、
前記トリガ信号を前記記録ヘッドからのインク吐出周期の単位となるタイミングトリガとすることを特徴とする請求項２に記載の記録装置。
【請求項４】
前記着弾位置のシフト量に基づいて、前記記録ヘッドからのインク吐出周期を調整することにより前記記録ヘッドからのインク吐出タイミングを微調整する調整手段をさらに有することを特徴とする請求項３に記載の記録装置。
【請求項５】
前記位置カウンタによりカウントされた値に対応して前記補正テーブルを参照するタイミングを示す信号を生成する参照タイミング生成手段をさらに有することを特徴とする請求項２に記載の記録装置。
【請求項６】
前記記録ヘッドは複数のインク吐出ノズルを有し、
前記複数のインク吐出ノズルは複数のグループに分割され、該グループ単位で時分割駆動されることを特徴とする請求項１乃至５のいずれかに記載の記録装置。
【請求項７】
記録ヘッドを搭載したキャリッジを往復移動させながら記録媒体に前記記録ヘッドからインク滴を吐出して画像を記録する記録装置の記録制御方法であって、
前記キャリッジの往復移動において、前記キャリッジの位置を検出する検出工程と、
前記記録ヘッドから吐出されるインク滴の前記記録媒体上の着弾位置を前記キャリッジの移動方向にずらすシフト工程と、
前記検出工程において検出された前記キャリッジの位置に従って、着弾位置の補正値を設定した補正テーブルを参照しながら前記着弾位置のシフト量を前記シフト工程に指示するシフト制御工程とを有することを特徴とする記録制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記録装置及び記録制御方法に関し、特に、例えば、インクジェット方式に従う記録ヘッドを搭載して記録を行う記録装置及び記録制御方法に関する。
【背景技術】
【０００２】
シリアル型のインクジェット記録装置は記録ヘッドをキャリッジに搭載し、そのキャリッジを往復移動させつつ紙などの記録媒体にインク滴を吐出して所望の画像を形成する。このような記録装置は、キャリッジに搭載した記録ヘッドから最適なタイミングでインク滴を吐出させる必要がある。インク滴を吐出させるタイミングに誤差があると、それが着弾位置の誤差となり、印刷したい画像を忠実に紙面に形成することが出来なくなる。
【０００３】
従って、このような着弾誤差を補正する技術が従来より知られている。
【０００４】
この技術によれば、キャリッジ往路方向走査時と復路方向走査時の夫々に吐出タイミングを速めたり遅めたりする補正値を入力し、各走査時にその補正値に基づいて吐出タイミングを調整して着弾位置を微調節するのである。また、この補正値の最適値は、実際に形成される画像（調整パターン）の着弾誤差値に基づいて見いだされる。調整パターンの着弾誤差値の認識は人が行う場合と、機械が自動的に認識する場合がある。着弾位置は記録ヘッドと紙面の距離、キャリッジの速度、ノズルの吐出角度、キャリッジ位置検出用のエンコーダ精度などのパラメータに影響を受ける。従って、その位置はキャリッジの移動方向にばらつくものである。それは、上記各パラメータはキャリッジ移動方向（以下、Ｙ方向）に応じて変化する性質があるためである。そのため、着弾位置補正値のパラメータも、Ｙ方向の座標値に応じて変化させる必要がある。
【特許文献１】特開平１０−３２９３８１号公報
【特許文献２】特開２００２−１２０３６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら上記従来例では、上記パラメータの最適値をＹ座標に応じて変化させることが出来ず、そのため着弾誤差がＹ座標に応じて大きく変化する場合に、画質の劣化が目立ってしまっていたという問題点がある。
【０００６】
例えば、第１の座標ではパラメータの最適値は“１”であり、第２の座標ではパラメータの最適値は“１０”であるという場合がある。この場合、従来の技術によれば、補正パラメータを“１”と入力して、第１の座標での着弾誤差を０にすることが可能であるが、第２の座標での着弾誤差を“９”にしかできず、最適な着弾誤差補正が実現できない。そのため、第２の座標付近での画像品位が劣化し、特に往復記録時の罫線ずれなどは大きな問題であった。
【０００７】
罫線ずれとは、例えば、往復記録において、キャリッジ往路方向の記録では罫線の上半分５０％を記録し、キャリッジ復路方向の記録では罫線の下半分５０％を記録するとき、罫線の上半分５０％と下半分５０％の着弾位置が微妙にずれることで生じる。これが発生すると、記録された罫線は、見た目に美しくなく、記録品位が低下する。
【０００８】
また、例えば、特許文献１では、記録ヘッドの往復走査間での記録位置合わせや複数の記録ヘッド間の記録位置合わせを、ユーザ等の手を煩らわせることなくかつ簡易に行う記録装置および記録位置合わせ方法が提案されている。しかし、この技術は単に記録位置あわせ（着弾誤差補正）をユーザの手を煩わせることなく自動で行うものであり、上述の各座標で最適な補正値を入力させることはできない。
【０００９】
さらに、例えば、特許文献２では、記録ヘッドの位置のずれにより発生するインクの着弾位置のずれ量を電気的な信号を用いて補正し高品位な画像を得ることを提案している。しかしながら、この技術も単に最適なパラメータの選択方法に関するもので、Ｙ座標に応じて着弾誤差補正のパラメータを変化させることが出来ない。
【００１０】
本発明は上記従来例に鑑みてなされたもので、正確に記録ヘッドからのインク液滴を記録媒体に着弾させ高品位な記録を行なうことができる記録装置及び記録制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため本発明の記録装置は、以下のような構成からなる。
【００１２】
即ち、記録ヘッドを搭載したキャリッジを往復移動させながら記録媒体に前記記録ヘッドからインク滴を吐出して画像を記録する記録装置であって、前記キャリッジの往復移動において、前記キャリッジの位置を検出する検出手段と、前記記録ヘッドから吐出されるインク滴の前記記録媒体上の着弾位置を前記キャリッジの移動方向にずらすシフト手段と、前記着弾位置の補正値を設定した補正テーブルを格納する記憶手段と、前記検出手段によって検出された前記キャリッジの位置に従って、前記補正テーブルを参照しながら前記着弾位置のシフト量を前記シフト手段に指示するシフト制御手段とを有することを特徴とする。
【００１３】
ここで、前記検出手段は、前記キャリッジの移動方向に沿って設けられたリニアエンコーダと、キャリッジに設けられキャリッジ移動に伴って前記リニアエンコーダを読取るリニアエンコーダセンサと、そのセンサからの出力信号に基づいて、キャリッジ移動量をカウントする位置カウンタとを含むことが望ましい。
【００１４】
さらに、その検出手段は、リニアエンコーダセンサからの出力信号の周期をカウントする周期カウンタと、そのカウントされた周期かリニアエンコーダからの未来の出力信号の周期を予測する周期予測部と、その予測された周期を除算して算出された周期に基づくトリガ信号を生成するトリガ生成部とを有し、そのトリガ信号を記録ヘッドからのインク吐出周期の単位となるタイミングトリガとすることが望ましい。
【００１５】
さらに、その着弾位置のシフト量に基づいて、記録ヘッドからのインク吐出周期を調整することにより記録ヘッドからのインク吐出タイミングを微調整する調整手段を有することが望ましい。
【００１６】
一方、前記位置カウンタによりカウントされた値に対応して補正テーブルを参照するタイミングを示す信号を生成する手段をさらに有することが望ましい。
【００１７】
なお、前記記録ヘッドは複数のインク吐出ノズルを有し、これら複数のインク吐出ノズルは複数のグループに分割され、そのグループ単位で時分割駆動されることが望ましい。
【００１８】
また他の発明によれば、記録ヘッドを搭載したキャリッジを往復移動させながら記録媒体に前記記録ヘッドからインク滴を吐出して画像を記録する記録装置の記録制御方法であって、前記キャリッジの往復移動において、前記キャリッジの位置を検出する検出工程と、前記記録ヘッドから吐出されるインク滴の前記記録媒体上の着弾位置を前記キャリッジの移動方向にずらすシフト工程と、前記検出工程において検出された前記キャリッジの位置に従って、着弾位置の補正値を設定した補正テーブルを参照しながら前記着弾位置のシフト量を前記シフト工程に指示するシフト制御工程とを有することを特徴とする記録制御方法を備える。
【発明の効果】
【００１９】
従って本発明によれば、キャリッジの移動方向の位置に応じて変化するインク滴の着弾位置を補正テーブルを参照しながらシフトさせることで、インク滴の着弾誤差を少なくし印刷品位の高い印刷を行うことができるという効果がある。
【発明を実施するための最良の形態】
【００２０】
以下添付図面を参照して本発明の好適な実施例について、さらに具体的かつ詳細に説明する。
【００２１】
図１は本発明の代表的な実施例であるインクジェット記録ヘッド（以下、記録ヘッド）を搭載したプリンタの概略構成を示す部分破断斜視図である。
【００２２】
図２は記録ヘッドを搭載したキャリッジとその周辺の詳細な構成を示す斜視図である。
【００２３】
図３はプリンタの制御構成を示すブロック図である。
【００２４】
図１に示されるように、記録ヘッド１はキャリッジ２００に搭載され、キャリッジ２００はキャリッジモータ２０４により駆動される。
【００２５】
キャリッジ２００は図２に示されるように、光学式リニアエンコーダセンサ（ＥＮＣＯＤＥＲ）２０６と光学式リニアエンコーダ２０７とによりその位置が検出される。
【００２６】
図３に示すように、プリンタの各処理はシステムコントローラ２１４により電気的に処理される。システムコントローラ２１４は画像処理を実行するカスタムＩＣで有るＳＯＣ（system on chip）２１５を内蔵する。ＳＯＣ２１５はシステム全体を制御するＣＰＵ２１６とホストＰＣ（ＨＯＳＴ  ＰＣ）２２１から印刷したい所望の画像データを入力する外部インタフェース（ＥＸＴ  Ｉ／Ｆ）２１７とを内蔵する。ＣＰＵ２１７を制御するプログラムはＳＯＣ２１５に外付けされるフラッシュＲＯＭ（FLASH ROM）２１８に格納される。そのプログラムはフラッシュＲＯＭ２１８とＳＯＣ２１５のインタフェースであるＲＯＭインタフェース（ＲＯＭ  Ｉ／Ｆ）２１９により読み込まれる。さらに、ＳＯＣ２１５には、画像データ、位置補正値を格納するＳＤＲＡＭ２２０と、システムコントローラ２１４から転送される画像データに基づいてノズルからインク滴を吐出させる記録ヘッド１とＥＮＣＯＤＥＲ２０６とが外付けされる。
【００２７】
ＳＯＣ２１５はさらに、ＳＤＲＡＭ２２０にダイレクトにアクセスする制御をするインタフェース部であるメモリコントローラ（ＭＥＭＣ）２２２と含む。またさらに、ＳＯＣ２１５はＥＮＣＯＤＥＲ２０６からの入力信号に基づいて印刷駆動パルスの基準タイミングとなる印刷基準タイミング信号を生成するタイミング信号生成部（ＣＲＥＮＣ）２２３を含む。さらに、ＣＲＥＮＣ２２３からの印刷基準タイミング信号に同期してＳＤＲＡＭ２２０から画像データを読み出すプリントバッファ（ＰＢＵＦ）２２４を含む。またさらに、ＰＢＵＦ２２４から読み出された画像データをバッファするＳＲＡＭ２２５を含む。またさらに、ＳＲＡＭ２２５に格納された画像データをＣＲＥＮＣ２２３から生成される印刷基準タイミング信号に同期して記録ヘッド１に転送する転送制御部（ＨＳＲＡＭＣ）２２６を含む。またさらに、ＣＲＥＮＣ２２３からの印刷基準タイミング信号に同期して記録ヘッド１にヘッド駆動パルスを出力する駆動信号生成部（ＨＰＵＬＳＥＣ）２２７を含む。これら各部の働きは後述する。
【００２８】
さて、プリンタは図２に示すようにキャリッジ２００を矢印Ａ方向に往復移動させ、それに同期して記録紙のような記録媒体を図１に示すＢ方向（搬送方向）に搬送しつつ、記録ヘッド１からインクを吐出し、記録媒体に所望の画像を形成する。
【００２９】
図４は光学式エンコーダセンサからの出力信号波形を示す図である。
【００３０】
キャリッジの移動量、すなわち記録ヘッドの移動量は光学式エンコーダセンサ２０６の出力値から得られる。光学式エンコーダセンサ２０６からの出力信号波形は、キャリッジ２００が往路方向に移動する時は図４（ａ）に示すようになり、キャリッジ２００が復路方向に移動する時は図４（ｂ）に示すようになる。この相の形により、ＣＲＥＮＣ２２３に内蔵された位置カウンタはカウント値を計数し、キャリッジ２００の位置を決定する。
【００３１】
図５はエンコーダ信号の相とカウンタ値の対応を示す図である。
【００３２】
ＣＲＥＮＣ２２３は、内部位置カウンタ値が印刷領域に差し掛かったら印刷基準タイミング信号を生成する。
【００３３】
図６は印刷基準タイミング信号の生成源或いは受信先となるシステムコントローラ２１４の各部を示すブロック図である。図６から分かるように、印刷基準タイミング信号とは、データセットウインドウ、ブロックトリガ、スケールトリガ、ヒートトリガ、ヒートウインドウ、データトランスファウインドウである。
【００３４】
図７は記録ヘッド１をそのインク吐出面から眺め、ノズル配置を示す図である。
【００３５】
図７に示すように、記録ヘッド１にはインク６色夫々に対応したノズル列が配置されており、各色はＡ列、Ｂ列に分けられる。また、Ａ列ノズル、及びＢ列ノズルはさらに奇数（ｏｄｄ）列（Ｏ）、偶数（ｅｖｅｎ）列（Ｅ）に分けられる。即ち、記録ヘッド１には、６色×２×２＝２４列のノズル列が配置されている。また、図７に示すように、キャリッジ２００は各ノズル列に対して垂直の方向に駆動する。詳細は後述するが、このプリンタでは、各ノズル列のヘッド駆動タイミングを独立に駆動することができる。
【００３６】
＜ブロック分割駆動＞
熱エネルギーを運動エネルギーに変換してインクを吐出させるインクジェット記録ヘッドでは、図７に示した各ノズル列の全てのノズルを同時に駆動することはない。同時に駆動させると、記録ヘッドのヒータチップが同時に駆動され、電圧降下が発生し、印刷品位に影響を与えるからである。また、このような駆動の仕方をすると記録ヘッドの寿命が短命となり、故障率の増加を招くので、望ましくない。
【００３７】
従って、従来より記録ヘッドの時分割駆動が採用されている。これは、本来同時に吐出させるべき１ノズル列の印刷を、ノズル列のノズルを複数のブロックに分け、各ブロックを短い時間間隔を空けて駆動して記録する方式である。
【００３８】
例えば、１ノズル列のノズル数を６４０ノズルとすると、これを４０ブロックに分割する。この場合、１ブロックのノズル数は１６ノズルとなる。各ブロックを順番にブロック１、ブロック２、ブロック３…ブロック４０と番号を付け、ブロック１から順番に駆動する。そうすると、同時駆動されるノズル数は最大で１６ノズルであり、記録ヘッドの電圧降下を最小限にし、画質を良好にすることができる。また、ブロック１〜ブロック４０までの駆動時間は１カラム間に収まっていることが時分割駆動の条件である。１カラムとは、１ドット間と言い換えることもできる。また、各ブロックの駆動間隔は記録ヘッドへのデータ転送が間に合う間隔以上でなければならない。
【００３９】
例えば、ブロック１の１６ノズルを駆動するには、その１６ノズルに対応する画像データを記録ヘッドに転送してから、記録ヘッドのヒータを同時駆動してその１６ノズルを同時に駆動しなければならない。しかしながら、ブロック１駆動後、ブロック２のデータを転送開始し、転送完了する前に、ヒータが駆動されてしまうと、印刷データに忠実な記録が出来ないからである。そのため、各ブロックを駆動するタイミング信号は、１カラム内に収まるようにＣＲＥＮＣ２２３でその周期が計算され、ブロックトリガ信号として生成される。ブロックトリガ信号は各ノズル列に共通の信号でありシリアル信号である。名前の通りタイミングを示す信号であり、システムＣＬＫに同期したトリガ信号である。また、ＳＯＣは全て同期回路である。
【００４０】
＜クオータ分割駆動、ハーフ分割駆動、フル駆動＞
また、ブロック分割駆動において、１列のノズルを何分割するかは記録ヘッドの設計で決まることであり、システムコントローラ２１４が決定するものではない。この実施例では、記録ヘッド１は４０分割駆動であり、１０分割駆動、２０分割駆動、４０分割駆動に対応している。それぞれ、クオータ分割駆動、ハーフ分割駆動、フル駆動などと呼ばれている。
【００４１】
クオータ分割駆動の場合は、補正キャリッジ周期を１１等分した周期をブロックトリガ周期とし、ハーフ分割駆動の場合は、補正キャリッジ周期を２２等分した周期をブロックトリガ周期とする。さらに、フル駆動の場合は、補正キャリッジ周期を４４等分した周期をブロックトリガ周期とする。いずれの場合も、１列６４０ノズルは４０のブロックに分けられ、順番に駆動される。フル駆動の場合は１補正キャリッジ周期間（後述）に４０ブロック全て駆動され、ハーフ駆動の場合は１補正キャリッジ周期間に２０ブロックが駆動され、残りの２０ブロックは次の１補正キャリッジ周期で駆動される。クオータ分割駆動の場合は１補正キャリッジ周期間に１０ブロックが駆動され、次の１補正キャリッジ周期間に１０ブロックが駆動され…４補正キャリッジ周期間で４０ブロック全て駆動される。
【００４２】
＜エンコーダ周期予測制御＞
キャリッジ２００を加速させながら記録ヘッド１を駆動する場合がある。
【００４３】
この場合、リニアエンコーダ信号は一定周期のパルスにはならないので，前周期から算出されたブロックトリガ信号が必ずしも上述のように１カラム間に収まるとは限らない。従って、ある程度周期変動を予測して、前のエンコーダパルス周期から次のエンコーダパルス周期を予測して、予測したエンコーダパルス周期に基づいてブロックトリガパルス周期を計算する。
【００４４】
図８はエンコーダ周期予測制御を行なうキャリッジ加速時と減速時のエンコーダ信号を示す図である。図８において、（ａ）はキャリッジ加速時のエンコーダ信号を、（ｂ）はキャリッジ減速時のエンコーダ信号を示す。
【００４５】
図８に示されるように、予測した周期と実際の周期との差分（Ｔover／Ｔshort）をカウントし、その差分から次のエンコーダパルス周期を予測する必要がある。予測されたエンコーダパルス周期を補正キャリッジ周期と言うが、ブロックトリガ周期は、この補正キャリッジ周期を整数で割って計算する。
【００４６】
この実施例は１５０ｄｐｉのリニアエンコーダを使っているが、６００ｄｐｉの印刷をする場合、各補正キャリッジ周期間隔を４等分した間隔が１カラム間隔となる。さらに、その１カラム間隔を４０等分した周期がブロックトリガ周期として最大の周期となる。後述するが、この実施例では４０分割駆動をする場合、補正キャリッジ周期を４４分割してブロックトリガ周期としている。
【００４７】
また、キャリッジ加速時には、図８（ａ）に示すように、パルス周期の速度変動補正時、前周期から算出したパルス間隔時間前に次の周期パルスが来たときにオーバラップする時間を引いて次の周期を算出する。キャリッジ加速時パルス制御はキャリッジ加速記録中に、前周期が次のパルス周期より長いので、これを補正する為の機能である。補正キャリッジ周期に基づいてscaletrg周期、blktrg周期は算出される。
【００４８】
一方、キャリッジ減速時には、図８（ｂ）に示すように、パルス周期の速度変動補正時、前周期から算出したパルス間隔時間経過後に次の周期パルスが来たときに，オーバラップする時間を足して次の周期を算出する。キャリッジ減速時パルス制御はキャリッジ加速記録中、前周期が次のパルス周期より長いので、これを補正する為の機能である。補正キャリッジ周期に基づいてscaletrg周期、blktrg周期は算出される。なお、scaletrgとは基準スケールパルスのことであり、記録位置の基準スケールとなるパルスである。また、blktrgとはブロックトリガのことである。
【００４９】
＜スケールトリガ＞
市販のリニアエンコーダはほとんどが１５０ｄｐｉ、もしくは３００ｄｐｉであり、そのエンコーダセンサから得られる最小解像度はそれぞれ６００ｄｐｉ、１２００ｄｐｉである。そのため、それ以上の解像度で印刷を行うためには、上述の補正キャリッジ周期を等分割して得る必要があるが、実施例では、補正キャリッジ周期をｎ等分した周期で駆動する、スケールトリガを生成する。
【００５０】
図９はスケールトリガ生成の様子を示す図である。
【００５１】
特に、図９には補正キャリッジ周期をｎ分割して算出することが図示されている。そして、具体的にｎの値が示されている。なお、記録ヘッドの最小分割駆動数は１０分割駆動である。
【００５２】
スケールトリガ（scaletrg）は印刷タイミングの基準となる信号である。このように分割された周期で駆動されたスケールトリガの周期は動的レジモード時１１パルスでちょうど１カラム区間となる。静的レジモード時１０パルスでちょうど１カラム区間となる。
【００５３】
図１０はブロックトリガとスケールトリガの関係を示す図である。
【００５４】
スケールトリガの周期は、静的レジモード時は１０分割駆動時のブロックトリガ周期と等しい。動的レジモード時は１１分割駆動時のブロックトリガ周期と等しい。ブロックトリガと異なるのは、ブロックトリガは算出された周期で出力されつづけるのに対して、スケールトリガは１補正キャリッジ周期期間で所定回数しか出力しない点である。所定回数は図９に示したｎの値に等しい。
【００５５】
なお、図１０はキャリッジ減速時の波形を示している。キャリッジ減速時において、スケールトリガが出力されない期間が存在する。この区間は非印刷領域となるが、実際には非常に小さい区間なので印刷品位にそれほど大きな影響を及ぼさない。また、図１０は動的レジモード時のものであり、ブロックトリガ解像度は１カラムを１１の倍数で割り算した周期である。静的レジモード時はブロックトリガ解像度は１カラムを１０の倍数で割り算した周期となる。
【００５６】
＜ブロックトリガ前つめ駆動＞
上述したように、ブロックトリガ周期は１１分割、２２分割、４４分割が基本であるが、この実施例はでさらに細かい周期でブロックトリガを生成可能である。これは前つめ駆動と呼ばれる機能であり、ブロックトリガ周期をより細かくすることで１カラム分の印刷をより忠実に実行することができ、例えば、ＣＡＤなどの印刷画像を出力する場合に重宝する機能である。
【００５７】
１１分割のブロックトリガ周期から、１／２していけば、２２分割のブロックトリガ周期、４４分割のブロックトリガ周期、８８分割のブロックトリガ周期、１７６分割のブロックトリガ周期、３５２分割のブロックトリガ周期を算出することは容易である。前にブロックトリガのタイミングで記録ヘッドが駆動されることを述べたが、実際にはブロックトリガが出力され、かつある信号がアクティブのとき記録ヘッドが駆動される。ある信号とはヒートウインドウである。ヒートウインドウは、カラム毎の印刷タイミングにアクティブとなり、ブロックトリガが所定回数出力されるとネゲートされる。所定回数は、フル駆動時４０、ハーフ駆動時２０、クオータ駆動時１０である。
【００５８】
＜記録ヘッドへのデータ転送（データトランスファウインドウ、データトランスファウインドウ生成トリガ、ヘッド駆動パルス＞
データトランスファウインドウは、ノズル列毎に対応する信号で、この実施例ではノズル列が２４列あるのでそれぞれに対応するデータトランスファウインドウが有る。即ち、データトランスファウインドウは２４ビットの信号である。データトランスファウインドウがアクティブで、かつブロックトリガが出力されたタイミングでヘッドに対して印刷データが転送開始される。ＨＳＲＡＭＣ２２６は、ＣＲＥＮＣ２２３からデータ転送ウインドウ、ブロックトリガを入力し、ＳＲＡＭ２２５に格納されている画像データをブロックトリガを基準のタイミングで転送開始する。この転送はシリアル転送であり、この場合、１ブロック分の画像データ１６ビットが１単位である。これにブロックセレクト６ビットの情報を付加して、さらにダミー情報２ビットを付加して計２４ビットのデータを記録ヘッド１へシリアル転送する。データトランスファイウインドウはヒートウインドウ同様、フル駆動時４０ブロックトリガ区間、ハーフ駆動時２０ブロックトリガ区間、クオータ駆動時１０ブロックトリガ区間アクティブとなる。
【００５９】
また、出力のタイミングは図１０に示されるデータトランスファウインドウ生成トリガのタイミングである。データトランスファウインドウ生成トリガは、データセットウインドウ（後述）の開始位置からΔ（後述）＋２カラム後に出力が開始され、出力周期は通常１１スケールトリガ周期である。出力周期に関しては、後述するが着弾位置補正を実行するタイミングで１０スケールトリガ周期になる場合、または１２スケールトリガ周期になる場合がある。データトランスファウインドウ生成トリガはその名のごとく、データトランスファウインドウの出力タイミングとなる信号である。データトランスファウインドウ生成トリガが出力されると、データトランスファウインドウがアクティブとなり、上記所定区間アクティブとなる。ヒートウインドウはデータトランスファウインドウを２ブロックトリガ遅延させた信号である。
【００６０】
図１１はデータセットウィンドウとエンコーダアドレスとの関係を示す図である。
【００６１】
図１１によれば、エンコーダアドレスＣに対応するタイミングでデータトランスファウインドウがアクティブとなり、記録ヘッド１へのデータ転送が開始される。また、エンコーダアドレスＤに対応するタイミングでヒートウインドウがアクティブとなり、記録ヘッド１の駆動が開始される。即ち、エンコーダアドレスＣ〜Ｄの間に対応するタイミングでシステムコントローラ２１４から記録ヘッド１へ印刷データが転送される。
【００６２】
図１７は記録ヘッドへのデータ転送時の各信号の波形を示すタイムチャートである。
【００６３】
転送データ２４ビットはデータ転送クロック（clk）に同期して転送される。転送はそのクロック信号（clk）の両エッジで記録ヘッド内のレジスタにデータをラッチし、ラッチされたデータはヘッドのヒータ駆動回路にヘッドラッチ信号のタイミングで入力される。そして、アクティブな入力データに対応するヒータ駆動回路が、ヘッド駆動パルスの入力でＯＮされインクが吐出される。ヘッド駆動パルスの生成はＳＯＣ内部のＨＰＵＬＳＥＣ２２７で処理される。
【００６４】
図１７に示されるように、ヘッド駆動パルスのタイミングはブロックトリガ信号を基準にして決定される。ＰＴ０１、ＰＴ０２、ＰＴ０３の各パラメータをＨＰＵＬＳＥＣ２２７内部のレジスタに保持し、そのレジスタ値に基づいて、ブロックトリガ信号のタイミングを基準にヘッド駆動パルスは生成される。当然、それらのレジスタはＣＰＵ２１６からリード、ライト可能である。
【００６５】
＜データセットウインドウ＞
図１１に示すエンコーダアドレスがＡに対応するタイミングはデータセットウインドウが開くタイミングである。データセットウインドウの開くタイミングは、ＣＲＥＮＣ２２３内の読み書き可能なデータセットウインドウ開始位置レジスタの値と比較して、レジスタ値＝位置カウンタの値のときデータセットウインドウが開く。これにより、印刷開始位置はＣＰＵ２１６によって自在に設定可能である。データセットウインドウ開始位置レジスタは各ノズル列毎にあり、位置カウンタの値が夫々のレジスタ値に等しいとき、夫々のデータセットウインドウが開く。解像度１５０ｄｐｉのエンコーダを使用する場合、位置カウンタは６００ｄｐｉの解像度である。従って、データセットウインドウの開始位置は６００ｄｐｉの解像度で設定可能である。
【００６６】
図１２はデータセットウィンドウ（ＤＳＷＩＮ）に関する各信号のタイムチャートである。
【００６７】
データセットウインドウの開始位置と、内部位置カウンタとの値を比較し、データセットウインドウの開閉を処理するのはＣＲＥＮＣ２２３である。開始位置レジスタは１５：０の１６ビットで、開始位置は約１０９インチ（ｉｎｃｈ）まで設定することができる。開始位置レジスタに設定された値を開始アドレスとも印刷開始アドレスとも言う。
【００６８】
＜印刷モード設定レジスタ＞
記録ヘッド１へのデータ転送は出力解像度、ブロック分割数に応じて変えなければならない。システムコントローラ２１４はＳＯＣ２１５のＣＲＥＮＣ２２３に印刷モード設定レジスタを備えている。印刷モード設定レジスタはＣＰＵ２１６からリードライト可能で、任意の値を設定することができる。
【００６９】
図１３に印刷モード設定レジスタの構成を示す図である。
【００７０】
このレジスタに設定したとおりのデータ転送が記録ヘッド１に対して実行される。Ｄ１０〜Ｄ８は出力解像度である。出力解像度はスケールトリガの周期を決定する要素である。即ち、スケールトリガに関して説明した通り、図９に示したｎの値は出力解像度に応じて決定される。また、禁止書き込みの例外がある。それは、例えば、Ｄ１８−Ｄ１６＝“０００”の時、即ち、ブロックトリガ解像度がＤＴＷＩＮ生成トリガ周期の１１分の１のとき、２０分割駆動や１０分割駆動は出来ないので、Ｄ１−Ｄ０＝“１０”のみ書き込むことができる。同様の理由で、Ｄ１８−Ｄ１６＝“００１”のときはクオータ駆動、ハーフ駆動のみとなり、Ｄ１−Ｄ０＝“１０”もしくはＤ１−Ｄ０＝“０１”のみ書き込むことができる。
【００７１】
＜カラム数カウンタ＞
さて、図１２には解像度４８００ｄｐｉで印刷する場合のデータトランスファウインドウ生成トリガ（ＤＴＷＩＮ生成トリガ）を示されている。ＤＴＷＩＮ生成トリガの数を数えれば印刷したい画像のサイズを計測できるので、ＣＲＥＮＣ２２３はＤＴＷＩＮ生成トリガの数をカウントするカウンタを持っている。そして、開始アドレス同様、データセットウインドウ終了位置レジスタを持つ。カラム数カウンタの値と、データセットウインドウ終了位置レジスタの値を比較し、カラム数カウンタ値＝データセットウインドウ終了位置レジスタ値のとき、データセットウインドウを閉じる。終了位置レジスタは１８：０の１９ビットで、終了位置は４８００ｄｐｉ印刷時で約１０９インチ（inch）まで設定することができる。データセットウインドウ終了位置レジスタ値を終了アドレスとも、印刷終了アドレスとも言う。
【００７２】
＜静的レジ調整モード＞
この実施例のプリンタは、動的レジモードと静的レジモードをもっている。ＣＲＥＮＣ２２３に、静的レジモード、動的レジモード切替の１ビットのレジスタを持ち、このレジスタの値が０のとき動的レジモード、１のとき静的レジモードとなる。
【００７３】
動的レジモードのとき、図１３に示した印刷モード設定レジスタのＤ１８−Ｄ１６の値に応じて決定されるブロックトリガ解像度の値は１１分割の倍数である。一方、静的レジ調整モードのとき、その印刷モード設定レジスタのＤ１８−Ｄ１６の値に応じて決定されるブロックトリガ解像度の値が１０分割の倍数である。ブロックトリガ解像度とはブロックトリガ（blktrg）の周期の事であり、図１０には動的レジモード時のブロックトリガの波形が示されている。
【００７４】
静的レジモード時のブロックトリガ周期は、動的レジモード時のブロックトリガ周期よりも周期が１１／１０だけ長く、それだけ記録ヘッド１へのデータ転送に余裕がある。先述のように、あるブロックトリガから次のブロックトリガまでに１ブロック分の画像データ、及びブロック選択の情報合計で２４ビットをシリアルデータ転送しなければならない。従って、高速でキャリッジ２００を駆動して高速印刷する場合は、静的レジモードの方が有利である。
【００７５】
動的レジモードはレジ調整をエンコーダアドレスに対応させて行うモードで、本発明の主要な特徴である。動的レジモードでのみ、キャリッジ移動方向の座標（Ｙ座標）値に応じて変化するＹ座標方向のインク滴着弾誤差を補正する補正パラメータを、各座標に対応させて入力し、その入力パラメータに基づいて吐出タイミングを各座標に対応させて微調節する。静的レジモードはあくまで高速印刷のための機能である。
【００７６】
＜着弾位置補正値（Δ１、δdyn）＞
図１１に示したΔ１は着弾位置補正の静的な成分を示している。着弾位置補正しない場合のインク吐出の位置のキャリッジ移動方向の座標をｙとすると、実際の吐出位置の座標は式（１）で示される。
【００７７】
Ｙ＝ｙ＋Δ１＋δdyn（ｙ）    ……（１）
Δ１はＣＰＵ２１６からＣＲＥＮＣ２２３の着弾位置補正値レジスタに書き込むことによって定まる値である。
【００７８】
また、δdyn（ｙ）は静的レジモード時は常に“０”であり、動的レジモード時のみそれ以外の値をとりえる。また、δdyn（ｙ）はｙの関数としての性質があり、エンコーダアドレスに応じて変化する変数である。
【００７９】
図１４はΔ値とエンコーダアドレスとの関係を示す図である。図１４において、Δ＝Δ１＋δdyn（ｙ）として表されるΔの挙動の一例が示されている。Δの意味は、データセットウインドウが開いてから記録ヘッド１へのデータ転送を開始するまでにキャリッジ２００移動する距離であり、１スケールトリガが単位である。
【００８０】
Δはレジスタ値であり、ＣＲＥＮＣ２２３に保持される着弾位置補正値レジスタの値である。着弾位置補正値レジスタは、ノズル列毎に１本割り当てられる１５：０の１６ビットのレジスタで、スケールトリガ間隔単位で設定する。即ち、Δの設定単位はスケールトリガの解像度に等しい。例えば、印刷モードが解像度６００ｄｐｉで動的レジモードの場合、スケールトリガの解像度は６００ｄｐｉの１１倍の解像度であり、６６００ｄｐｉであるから、Δの設定単位は６６００ｄｐｉとなる。１２００ｄｐｉの印刷モードで、動的レジモードであれば、スケールトリガの解像度は１２００ｄｐｉの１１倍の解像度であり、１３２００ｄｐｉであるから、Δの設定単位は１３２００ｄｐｉとなる。２４００ｄｐｉの印刷モードで、静的レジモードであれば、スケールトリガの解像度は２４００ｄｐｉの１０倍の解像度であり、２４０００ｄｐｉであるから、Δの設定単位は２４０００ｄｐｉとなる。
【００８１】
なお、Δは−３２７６７〜＋３２７６７の値をとり得るが、基本的に常に０以上の値となるように考慮する必要がある。Δがマイナスの位置で印刷ウインドウが開くと、印刷ウインドウの開始位置に対してΔ分遅らせて印刷を開始しなければならないが、それは不可能な為である。実際のところ、着弾位置補正値は、印刷開始アドレスに対して実際の印刷をどれだけ遅らせるかを示す値であるため、この値がマイナスだと、０と見なして開始アドレスから０遅延（即ち、遅延なく）で印刷がなされる。このように、−（マイナス）の着弾位置補正値はすべて０とみなして印刷実行されてしまう。
【００８２】
この理由から着弾位置補正値の初期値、即ち、着弾位置補正値レジスタ値の初期値（Δ１）を十分大きな値とし、補正値の最小値が０以上となるようにする必要がある。
【００８３】
また、実際の印刷位置＝印刷開始アドレス＋Δ（往路走査時）となるため、Δ１の値に応じて、印刷開始アドレスも変化させる必要がある。そもそも、Δ１は従来の静的なレジ合わせ成分であり、ΔはΔ１に対して動的な成分を加算した値である。上述のように、Δ＝Δ１＋ｙと表すことができ、ｙはＡＤＪＴＲＧ（後述）入力毎にＳＤＲＡＭ２２０から取得する補正値更新値を加算して更新される変数値である。Δ１の成分はｏｄｄ−ｅｖｅｎ間レジ調整値を含み、Δの成分はΔ１と双方向レジ調整値と色間レジ調整値とを含む。ｏｄｄ列、ｅｖｅｎ列のノズルは別々の補正値テーブルを参照することが出来ないが、初期値Δ１は別々の値を設定することができる。
【００８４】
また、δdyn（ｙ）はＳＯＣ２１５がＳＤＲＡＭ２２０に格納されている補正値更新値をアクセスして補正値更新値によって示唆される値を着弾位置補正値レジスタのレジスタ値に加算した累積値である。
【００８５】
＜ＡＤＪＷＩＮ、ＡＤＪＴＲＧ＞
図１５は補正値（Δ）更新のタイミングについて示すタイムチャートである。
【００８６】
なお、図１５において、着弾位置補正値とはＥＮＣＡＤＪ部位置補正レジスタの値に等しく、ＣＰＵ２１６からモニタすることが可能である。
【００８７】
Δは上述のように着弾位置補正値レジスタの値であり、ＣＰＵ２１６の書き込みによって値が決定される。即ち、ＣＰＵ２１６の書き込みよって上述のΔ１が確定する。
【００８８】
δdyn（ｙ）はＡＤＪＷＩＮ、ＡＤＪＴＲＧの示唆するタイミングでＳＤＲＡＭ２２０の補正値更新値を読出して累積することで変化する変数である。δdyn（ｙ）を更新するタイミングを示すＡＤＪＷＩＮは、補正値更新を開始するタイミング信号である。ＡＤＪＷＩＮは、データセットウインドウ同様に、開始位置をレジスタ設定し、ＡＤＪＷＩＮ開始位置レジスタの値と位置カウンタの値を比較し、両者が一致したときＡＤＪＷＩＮがアクティブとなる。
【００８９】
また、ＡＤＪＷＩＮはデータセットウインドウと異なり、終了位置も位置カウンタとの比較で決定する。ＡＤＪＷＩＮ終了位置レジスタの値と位置カウンタの値を比較し、両者が一致したときＡＤＪＷＩＮが閉じる。また、データセットウインドウはノズル列毎に備えられていたが、ＡＤＪＷＩＮは１本の信号である。ＡＤＪＴＲＧも同様に１本のみの信号である。
【００９０】
ＣＲＥＮＣ２２３はＡＤＪＷＩＮがアクティブのときにＡＤＪＴＲＧ信号が設定された周期で出力される、ＡＤＪＴＲＧの周期を設定するレジスタを備えており、解像度３００ｄｐｉ単位で設定可能である。
【００９１】
なお、図１５はＡＤＪＴＲＧの周期を解像度３００ｄｐｉとしたときのＡＤＪＴＲＧの波形を示している。ＡＤＪＴＲＧはＡ相信号のエッジに同期して出力される。解像度３００ｄｐｉで出力する場合、ＡＤＪＴＲＧはＡ相信号の両エッジに同期して出力される。図１５に示すように、着弾位置補正値レジスタ値は、ＡＤＪＴＲＧが出力されるのに同期して更新される。しかし、その値の更新は、図１６に示すように、ＳＤＲＡＭの補正値更新テーブルを参照して行われる。
【００９２】
図１６は補正値更新テーブルと補正値更新の様子を示す図である。
【００９３】
図１６に示す補正値更新テーブルには、着弾位置補正値レジスタ値を＋１する“０１”、−１する“１０”、或いは、変化させない“１１”或いは“００”のいずれかの値が格納されている。ＡＤＪＴＲＧが出力されると、補正値更新テーブルの中から２ビットずつ参照して、着弾位置補正値レジスタ値を更新していく。更新は１ずつ行われる。
【００９４】
図１４に示すように、ＡＤＪＷＩＮ開始位置から補正値更新レジスタ値の値はＳＤＲＡＭ２２０の補正値更新テーブルに従って連続的に更新され、ＡＤＪＷＩＮ終了以降、その値を保つ。通常、ＡＤＪＷＩＮ開始位置からＡＤＪＷＩＮ終了位置にデータセットウインドウが包含される様にＡＤＪＷＩＮ開始位置、終了位置は設定される。
【００９５】
図１６に示す例において、着弾位置補正値レジスタは、補正値更新値レジスタ２の値を参照し、ＡＤＪＴＲＧが入力されるごとに参照先ビット（補正値更新値バッファの（ｄ１２７：１２６）の値に応じて補正値更新テーブルのａｄｄ値を加算する。また、補正値更新値バッファは、ＡＤＪＴＲＧが入力されるごとに下位ビットが２ビット分上位ビットにシフトする。このようにして、参照先ビットはＡＤＪＴＲＧが入力される毎に更新され、ＡＤＪＴＲＧが６４回入力されると全１２８ビットを参照する。補正値更新レジスタの値はＡＤＪＴＲＧが６４回入力されるごとにＳＤＲＡＭ２２０の補正値更新テーブルの値を読出して、更新する。
【００９６】
また、図１６に示すように、動的レジ補正値はＡＤＪＴＲＧのタイミングに同期してＳＤＲＡＭ２２０の補正値テーブルから読み込まれる。一方、着弾位置補正値レジスタの参照するバッファはＣＰＵ２１６からリード可能な補正値更新レジスタ１〜１２ではなく、補正値更新レジスタ１〜１２の値をラッチした補正値更新値バッファ１〜１２の値である。補正値更新値バッファ１〜１２に格納された補正値はＡＤＪＴＲＧが６４回入力されると空になるので、ＡＤＪＴＲＧが６４回入力される間に次のアドレスの補正値をＳＤＲＡＭ２２０の補正値テーブルからリード完了する必要がある。
【００９７】
＜着弾位置補正＞
図１７に示すヘッド駆動パルスが出力される位置が上述のＹである。ブロックトリガの入力からヘッド駆動パルスの出力までの期間（ＰＴ０２）は微小な区間であるから、ブロックトリガとヒートウインドウの論理積（ＡＮＤ）のパルスの出力される位置がＹであると近似することができる。
【００９８】
なお、図１７において、ＰＴ００＝ＰＴ０１＜ＰＴ０２と設定すると、プレパルスが生じないのでシングルパルスを生成する。また、記録ヘッドのデータラッチのパルス幅は１〜１６クロックのプログラマブルとなっている。パルスの反転タイミングはラッチ信号を避けるためにブロックトリガの立下りから少なくとも２５クロックのマージン分を加算して指定する必要がある。この例では、２５クロック×1÷１６６＝０．１５μｓである。
【００９９】
即ち、ブロックトリガとヒートウインドウの論理積のパルスの出力される位置をΔ１＋δdyn（ｙ）だけずらして補正後の吐出位置Ｙでインクを吐出させる。ブロックトリガは常に出力されつづけるトリガであるから、ブロックトリガとヒートウインドウの論理積のパルスの出力される位置をずらすということは、ヒートウインドウの位置をずらすと言うことに等しい。さらに、ヒートウインドウをずらすと言うことは、データトランスファウインドウをずらすということに等しい。ずらす単位はスケールトリガ単位であり、これはブロックトリガ周期の整数倍単位でもある。データトランスファウインドウ生成トリガの出力位置をスケールトリガ単位でずらして、補正後の吐出位置Ｙでインク滴を吐出させて、着弾位置補正を実行する。
【０１００】
図１８は、印刷開始時のデータトランスファウインドウ、ヒートウインドウ、スケールトリガ、ブロックトリガのタイミングチャートである。
【０１０１】
データトランスファウインドウは、トランスファウインドウ生成トリガを基準のタイミングとして生成されるが、図１８のＢ〜Ｃの間、即ち、データセットウインドウ開始位置から最初の２パルスはデータトランスファウインドウは開かない。その間は、最初のヒートトリガのタイミングでＳＤＲＡＭ２２０から記録ヘッド１に転送する画像データをリードするので、そのアクセス時間である。図１８のＡ〜Ｂの間に相当するΔは上述したとおりである。
【０１０２】
また、Δはスケールトリガ単位なので、Δの値に応じて吐出位置をスケールトリガ単位でずらすことが可能である。また、Δが正の値でなければならない点も、上述したとおりである。図１８のＣ〜Ｄの間隔は２ブロックトリガ間隔であり、この間に記録ヘッド１への画像データ転送がシリアルでなされることも、上述のとおりである。
【０１０３】
また、ΔはＡＤＪＷＩＮ開始位置から終了位置まで変化する変数であるが、図１８はＡの位置におけるΔの値によって、データ転送ウインドウ生成トリガの出力開始位置がΔ分遅れることを示している。また、図１８のＢ以降、吐出位置補正をするためには、データトランスファウインドウ生成トリガの周期を変化させて実行する。具体的には、ＡＤＪＴＲＧの出力されるタイミングで、着弾位置補正値更新テーブルの補正値更新値を参照して、その値に基づいて周期を速めたり遅めたりする。
【０１０４】
図１９はデータトランスファウィンドウ（ＤＴＷＩＮ）生成の様子を示すタイムチャートである。
【０１０５】
図１９に示すように、ＡＤＪＴＲＧが出力タイミングで図１６に示される補正値更新レジスタ２のＭＳＢ２ビットが参照され、その参照値に応じて、ＤＴＷＩＮ生成トリガの周期が変化する。参照値が“００”或いは“１１”の場合は、ＤＴＷＩＮ生成トリガの周期は変化せず、スケールトリガ１１パルスが周期である。参照値が“１０”の時は、ＤＴＷＩＮの周期を１周期間だけ１０スケールトリガ間隔とする。参照値が“０１”の時は、ＤＴＷＩＮの周期を１周期間だけ１２スケールトリガ間隔とする。
【０１０６】
このようにして、ＡＤＪＴＲＧが出力される毎にスケールトリガ１パルス分吐出位置をずらすことができる。また、前述のように、ＤＴＷＩＮ生成トリガはデータセットウインドウがアクティブの間、出力されつづける。そして、印刷カラム数カウンタがエンドアドレス＋２に一致したら、データセットウインドウが閉じ、ＤＴＷＩＮ生成トリガの出力が停止する。印刷カラム数カウンタは、上述のようにＤＴＷＩＮ生成トリガの数をカウントしている。ＤＴＷＩＮ生成トリガの最初の２回分は図１８に示すように吐出されないので、印刷カラム数カウント値−２が実際に吐出されるカラム数である。即ち、印刷したい画像のＹ方向のサイズをＳカラムとすると、Ｓ＝エンドアドレスとなるようにエンドアドレスを設定する。そして、エンドアドレス＝印刷カラム数カウント値−２の関係が成立したとき印刷終了と判断し、データセットウインドウを閉じる。
【０１０７】
なお、動的レジ調整モード時に、データトランスファウインドウ（ＤＴＷＩＮ）は、ＥＮＣＡＤＪＣの内部信号であるＤＴＷＩＮ生成トリガが“１”になるとＤＴＷＩＮ≦１となる。また、対応する記録モードのブロックトリガｎ周期（ｎはクオータ駆動時は１０、ハーフ駆動時は２０、フル駆動時は４０）の間保持され、次のＤＴＷＩＮ生成トリガが入力されないとＤＴＷＩＮ≦０となる。
【０１０８】
ＤＴＷＩＮ生成トリガは対応する記録モードのスケールトリガに同期して駆動される。一方、ヒートトリガはＤＴＷＩＮ生成トリガを１クロック分遅延させて出力される。また、ＤＴＷＩＮ生成トリガは、内部印刷ウインドウ信号が“１”の時駆動される。
【０１０９】
さて、ＤＴＷＩＮ生成トリガの周期は、“Ｌ（ロング）”、“Ｎ（ニュートラル）”、“Ｓ（ショート）”の３種類があり、通常は周期“Ｎ（ニュートラル）＝１カラム周期で駆動される。ＡＤＪＴＲＧ入力があると、参照先補正値に応じて１周期を周期“Ｌ”、周期“Ｎ”、周期“Ｓ”のいずれかで以下のように駆動する。即ち、
周期“Ｌ”＝対応する記録モードのスケールトリガ１２パルス分＞１カラム
周期“Ｎ”＝対応する記録モードのスケールトリガ１１パルス分＝１カラム
周期“Ｓ”＝対応する記録モードのスケールトリガ１０パルス分＜１カラム
である。
【０１１０】
図２０は印刷終了時のタイミングチャートを示す図である。
【０１１１】
従来、エンドアドレスに相当するアドレスは位置カウンタの値で設定していたが、着弾位置補正をすると、Δのとる値に応じてデータセットウインドウの閉じるＹ座標値が変化するので、エンドアドレスを位置カウンタで指定する方法はあまり望ましくない。一方、エンドアドレスを位置カウンタで設定するのではなく、カラム数で設定すると、Δの値に関係なくエンドアドレスは画像データのサイズで一意に定まるので、設計上煩雑さがなくシンプルで好ましい。
【０１１２】
なお、動的レジ調整モード時に、印刷終了時には、データトランスファウインドウ（ＤＴＷＩＮ）は、データセットウインドウから生成します。ビット表示は“１”＝ＥＮＡＢＬＥ、“０”＝ＤＩＳＡＢＬＥである。動的レジ調整モード時、データセットウインドウはカラム数カウンタの値が印刷終了アドレス＋２の値と等しくなったときに閉じられる。また、カラム数カウンタはＤＴＷＩＮ生成トリガの数をカウントする。
【０１１３】
＜画像データ読み出しトリガ＞
図１８〜図２０に示すように、画像データ読み出しトリガはＤＴＷＩＮ生成トリガに同期して出力される。
【０１１４】
図６に示されるように、画像データ読み出しトリガはＰＢＵＦ２２４に入力され、ＰＢＵＦ２２４は、画像データ読み出しトリガが入力されると、ＳＤＲＡＭ２２０から画像データをリードする。画像データ読み出しトリガ１回につき、１カラム分のデータを読み出す。画像データ読み出しトリガをタイミングトリガとしてＳＤＲＡＭ２２０から画像データを読み出す。そして、その画像データ読み出しトリガと１対に対応するＤＴＷＩＮ生成トリガに同期して出力されるＤＴＷＩＮアクティブのときブロックトリガのタイミングに同期して記録ヘッド１に対して読み出された画像データは転送される。従って、ＰＢＵＦ２２４では３カラム分の画像データをバッファするメモリをもって置けばよい。このバッファをＳＯＣ２１５内部のＳＲＡＭ２２５で構成する。
【０１１５】
＜Δの決定方法＞
図２１は着弾誤差の原因を説明する図である。
【０１１６】
図２１（ａ）は双方向着弾誤差を示す図である。キャリッジ２００が往路方向に移動するときに吐出されたインク滴が着弾する位置とキャリッジ２００が復路方向に移動するときに吐出されたインク滴が着弾する位置に差があり、この差分を双方向着弾誤差と言う。
【０１１７】
双方向着弾誤差は、キャリッジの移動速度、記録媒体の紙面と記録ヘッドのノズルのとの間の距離、インクの吐出速度に依存する値である。
【０１１８】
図２１（ｂ）は色間着弾誤差を示す図である。これは異なるインク色間、即ち、ノズル列間での着弾点の差によって生じる着弾誤差である。色間着弾誤差は、インク滴の吐出速度、キャリッジの速度に依存する値である。
【０１１９】
上記２種類以外の要因で発生する着弾誤差もあるが、どんな要因で発生する着弾誤差であっても、Ｙ座標に対応する着弾誤差であれば、Ｙ座標に応じて着弾点の補正値を着弾誤差を吸収するように変化させて、着弾誤差を限りなく０に近づけることが可能である。
【０１２０】
図２２は着弾位置補正の一例を示す図である。
【０１２１】
着弾誤差は、キャリッジ移動速度、記録ヘッドと記録媒体の紙面との間のパラメータに影響を受け、複雑な挙動を示す。この着弾誤差を０にするためには、図２２に示すように、着弾誤差と符号が逆の着弾補正が必要となる。
【０１２２】
しかし、印刷の全ての座標で着弾誤差を０にする理想的な着弾補正値を求めることは現実的には非常に困難である。したがって、この実施例では、図２２に示すように、複数の代表点（図中のＡ、Ｂ、Ｃ、……）で着弾補正値を求め，その中間の座標点は近似値を予測するという現実的な方法を採用している。
【０１２３】
また、複数の代表点は図２２のＡ、Ｂ、Ｃ…に示すように等間隔であるのが便宜上望ましいが、特にそれに制約されることはない。
【０１２４】
ただし、各代表点の間隔があまりにも大きすぎると、理想的な着弾補正値と予測値が大きく乖離してしまうので、着弾誤差を０に近づけることは出来ないであろう。一方、着弾誤差の波形は記録ヘッドとの記録媒体の紙面と間のピッチと等しい周波数成分を持つので、代表点の間隔はそのピッチの１／２〜１／４のあたりが妥当ではないかと思われる。また、代表点は、着弾誤差の極大値付近にあることが望ましく、そういう観点から代表点の座標は記録ヘッドと記録媒体の紙面との間のピッチの山、谷に合わせるのが望ましいであろう。
【０１２５】
以上説明した実施例に従えば、キャリッジの移動方向の位置に応じて変化するインク滴の着弾誤差を補正する補正パラメータを、各座標に対応させて入力し、入力された補正値を含む補正値テーブルをＳＤＲＡＭに作成する。そして、補正値テーブルを読込んで、その値に基づいて吐出タイミングを各座標に対応させて微調節することによってすべての座標においてインク滴の着弾誤差を限りなく０に近づけることができる。これにより、理想的な着弾位置にインク滴を着弾して印刷品位の高い印刷を行うことができる。
【０１２６】
これにより、ある座標では着弾誤差は小さいが、別の座標では着弾誤差が大きく、画質が美しくないといった問題も解消される。
【０１２７】
また、例えば、記録紙がコックリングした状態（紙面が波打ったような状態）で印刷する場合には、コックリングのピッチに応じて着弾誤差もＹ座標に対して周期性のあるパラメータとなる。本発明では、この着弾誤差を吸収する補正パラメータをＹ座標に対応させて入力し、その入力パラメータに基づいて吐出タイミングを各座標に対応させて微調節することによって、コックリングに起因した着弾ずれを解消することも可能である。
【０１２８】
また、多数のノズルを備えた記録ヘッドを搭載したプリンタではしばしばキャリッジが加減速中にもインク滴を吐出させて記録が行われる。このようなキャリッジ加減速中は記録ヘッドに加速度が加わるので、ノズルの向きが微妙に変化するので、Ｙ座標値に応じて変化する着弾誤差が発生する。本発明では、このような誤差も同様に解消することが可能である。また、着弾誤差補正パラメータは色毎に入力可能なので、色間の着弾ずれも同様にすべての座標において補正可能である。
【図面の簡単な説明】
【０１２９】
【図１】本発明の代表的な実施例であるインクジェット記録ヘッドを搭載したプリンタの概略構成を示す部分破断斜視図である。
【図２】記録ヘッドを搭載したキャリッジとその周辺の詳細な構成を示す斜視図である。
【図３】プリンタの制御構成を示すブロック図である。
【図４】光学式エンコーダセンサからの出力信号波形を示す図である。
【図５】エンコーダ信号の相とカウンタ値の対応を示す図である。
【図６】印刷基準タイミング信号の生成源或いは受信先となるシステムコントローラの各部を示すブロック図である。
【図７】記録ヘッドをそのインク吐出面から眺め、ノズル配置を示す図である。
【図８】エンコーダ周期予測制御を行なうキャリッジ加速時と減速時のエンコーダ信号を示す図である。
【図９】スケールトリガ生成の様子を示す図である。
【図１０】ブロックトリガとスケールトリガの関係を示す図である。
【図１１】データセットウィンドウとエンコーダアドレスとの関係を示す図である。
【図１２】データセットウィンドウ（ＤＳＷＩＮ）に関する各信号のタイムチャートである。
【図１３】印刷モード設定レジスタの構成を示す図である。
【図１４】Δ値とエンコーダアドレスとの関係を示す図である。
【図１５】補正値（Δ）更新のタイミングについて示すタイムチャートである。
【図１６】補正値更新テーブルと補正値更新の様子を示す図である。
【図１７】記録ヘッドへのデータ転送時の各信号の波形を示すタイムチャートである。
【図１８】印刷開始時のデータトランスファウインドウ、ヒートウインドウ、スケールトリガ、ブロックトリガのタイミングチャートである。
【図１９】データトランスファウィンドウ（ＤＴＷＩＮ）生成の様子を示すタイムチャートである。
【図２０】印刷終了時のタイミングチャートを示す図である。
【図２１】着弾誤差の原因を説明する図である。
【図２２】着弾位置補正の一例を示す図である。
【符号の説明】
【０１３０】
１  記録ヘッド
２００  キャリッジ２００
２０４  キャリッジモータ
２０６  光学式リニアエンコーダセンサ（ＥＮＣＯＤＥＲ）
２０７  光学式リニアエンコーダ
２１４  システムコントローラ
２１５  ＳＯＣ
２１６  ＣＰＵ
２１７  外部インタフェース（ＥＸＴ  Ｉ／Ｆ）
２１８  フラッシュＲＯＭ（FLASH ROM）
２１９  ＲＯＭインタフェース（ＲＯＭ  Ｉ／Ｆ）
２２０  ＳＤＲＡＭ
２２１  ホストＰＣ（ＨＯＳＴ  ＰＣ）
２２２  メモリコントローラ（ＭＥＭＣ）
２２３  タイミング信号生成部（ＣＲＥＮＣ）
２２４  プリントバッファ（ＰＢＵＦ）
２２５  ＳＲＡＭ
２２６  転送制御部（ＨＳＲＡＭＣ）
２２７  駆動信号生成部（ＨＰＵＬＳＥＣ）
【図１】
2007152626.tif 000003
【図２】
2007152626.tif 000004
【図３】
2007152626.tif 000005
【図４】
2007152626.tif 000006
【図５】
2007152626.tif 000007
【図６】
2007152626.tif 000008
【図７】
2007152626.tif 000009
【図８】
2007152626.tif 000010
【図９】
2007152626.tif 000011
【図１０】
2007152626.tif 000012
【図１１】
2007152626.tif 000013
【図１２】
2007152626.tif 000014
【図１３】
2007152626.tif 000015
【図１４】
2007152626.tif 000016
【図１５】
2007152626.tif 000017
【図１６】
2007152626.tif 000018
【図１７】
2007152626.tif 000019
【図１８】
2007152626.tif 000020
【図１９】
2007152626.tif 000021
【図２０】
2007152626.tif 000022
【図２１】
2007152626.tif 000023
【図２２】
2007152626.tif 000024