(57)【要約】【課題】  ノズル列の傾きに係わらず、記録データの転送処理を効率よく行う。【解決手段】  前記記録ヘッドの駆動タイミングをノズル列毎に行うウインド信号を生成する生成手段と、記録データの格納と読み出しを行うためにアドレスが記録媒体の搬送方向に対応して連続アドレスであり記録バッファと、記録バッファから読み出したデータを格納する第１格納手段と、傾きに関する情報に基づいて、第１格納手段から読み出されたデータを格納する第２格納手段と、第２格納手段に格納されたデータを記録ヘッドの各ノズル列に転送する手段を備える。【選択図】  図１
2007118595.tif 000002
【特許請求の範囲】
【請求項１】
被記録媒体の搬送方向に対して傾きを持った方向に複数の記録素子で構成された記録素子列を複数のブロックで構成し、前記記録素子列を主走査方向に複数備える記録ヘッドを用いて、前記被記録媒体に対して記録を行う記録装置であって、
外部から記録データを入力する入力手段と、
前記傾きに対応する補正情報をブロック毎に独立して取得する取得手段と、
前記取得手段が取得した前記補正情報に基づき、複数の記録素子をブロック毎に駆動を許可する許可信号を生成する生成手段と、
前記入力手段が入力した記録データをｍカラム分保持可能なバッファを複数備える保持する第１記憶手段と、
前記第１記憶手段から読み出したｍカラム分のデータを保持するバッファを複数備える第２記憶手段と、
１回のＤＭＡ転送により、ｍカラム単位のデータを前記第１記憶手段から読み出して、前記第２記憶手段のいずれか一方のバッファに格納する第１格納手段と、
前記第１記憶手段から１カラム分の読み出し処理を、ブロックにそれぞれ対応したポインタと前記補正情報とに基づき、ブロック毎に行う読み出し手段と、
前記第１読み出し手段により読み出された１カラム分のデータを第３記憶手段に対して同じカラム位置に格納する第２格納手段と、
前記読み出し手段の読み出し処理及び前記第２格納手段の格納処理をｍカラム分を、前記第１読み出し手段の読み出すカラム位置及び前記第２格納手段の格納するカラム位置をそれぞれ更新して、繰り返し実行させる制御手段と、
前記第２記憶手段から１カラム分のデータを読み出し記録ヘッドに対して転送する転送手段と、
前記生成手段により生成された前記許可信号に基づきブロック単位で記録素子を駆動する駆動手段とを備えることを特徴とする記録装置。
【請求項２】
前記制御手段は、前記ポインタを複数のバンクのうち一方のバンクの最終カラム位置に移動した後、前記複数のバンクのうち他方のバンクの先頭のカラム位置に移動させることを特徴とする請求項１に記載の記録装置。
【請求項３】
前記読み出し手段は、複数のバンクのうち一方のバンクから１カラム分のデータを読み出すモードと、複数のバンクからあわせて１カラム分のデータを読み出すモードとを備えることを特徴とする請求項２に記載の記録装置。
【請求項４】
前記第１格納手段は、予め定められたタイミング信号に基づき、前記ＤＭＡ転送を実行することを特徴とする請求項１に記載の記録装置。
【請求項５】
前記記録装置は、前記ＤＭＡ転送を実行するタイミングであるか否かを判定する判定手段を備えることを特徴とする請求項４に記載の記録装置。
【請求項６】
予め定められたタイミング信号に基づき、前記転送手段による１カラム分のデータの転送処理と、前記読み出し手段による読み出し処理及び第２格納手段による格納処理を実行することを特徴とする請求項１に記載の記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録ヘッドを用いて記録を行う記録装置であり、記録データの処理に関するものである。
【背景技術】
【０００２】
インクジェット記録装置においては、近年更なる高画質化ならびに高速化を図るため、多色化、多ノズル化技術が加速化している。そのため印字データに関しても大量のデータを高速に記録ヘッドに転送するための工夫がなされている。
【０００３】
図５は大量のデータを高速に記録ヘッドに転送することを考慮した印字データの転送制御構成であり、図６は印字データ格納形式を表す図である（特許文献１）。
【０００４】
図５に示すように印字バッファに格納された記録データは各種印字モードで決定される印字データとして１６カラム単位でＳＲＡＭ１に一時的に格納される。然る後に記録ヘッド（この図においては１２８ノズルで構成されている）に１カラムづつ転送されるように構成されている。
【０００５】
記録ヘッドに転送された印字データは別に与えられるブロック駆動順信号ならびにヒータ駆動パルス信号で制御され、インクとして吐出されることになる。
【０００６】
ここで、印字バッファはバーストリード機能を持つＳＤＲＡＭ上に設けられている。図６の（Ｉ）で示すように記録データはノズル列方向（図中Ｙ方向）に連続アドレスとなるような形で格納されている。以後、この形式の印字バッファ構成をラスタ形式の印字バッファと表現する。
【０００７】
印字バッファから記録データをＤＭＡリードする際は、リードスタートアドレスＡを指定すると、ＳＤＲＡＭのバーストリード機能を用いることにより自動的にアドレスがインクリメントされる。すなわち、ノズル列方向に８ワード分のデータが各アドレスＡ、Ａ＋２、Ａ＋４、Ａ＋６、Ａ＋８、Ａ＋１２、Ａ＋１４から高速にＤＭＡリードされることになる。これを図６の（ＩＩに示す）。
【０００８】
さらに、次のノズル方向にデータをリードする場合はリードスタートアドレスをＡ＋１６に設定することで連続アドレスから８ワード分のデータがＤＭＡリード可能である。記録ヘッド長（＝ノズル数）分だけ印字バッファのリードスタートアドレスを更新しながらＤＭＡリードを繰り返すことで一度に１６カラム分のデータを読み出すことが可能になる。
【０００９】
また、記録ヘッドの走査方向（図中Ｘ方向）にリードスタートアドレスを更新する場合は、リードスタートアドレスをＡ＋Ｂに更新し、同様にデータをリードする。ここで「Ｂ」はあらかじめ定められたオフセット値である。なお、リードスタートアドレスおよびオフセットの値は所定レジスタに設定値をセットすることにより決定される構成となっており、リードスタートアドレスのレジスタ値は順次更新されていく。
【００１０】
読み出された１６カラム分のデータはＳＲＡＭ１に格納される。ＳＲＡＭ１では記録ヘッドの形式に応じて１カラム毎（カラム（１）〜カラム（１６））の印字データを読み出し可能なような形に変換格納される（図６の（ＩＩＩ）参照）。
【００１１】
図６（ＩＩＩ）において、ＳＲＡＭ１のアドレスａ、ａ＋１、ａ＋２、ａ＋３からデータを読み出すと１カラム分（カラム（１））の印字データが読み出されることになる。
【００１２】
図８は記録ヘッドを駆動する駆動回路である。記録ヘッドはシリアル形式の記録データ信号、ヘッドクロック信号、データをラッチするためのラッチ信号、ブロックイネーブル信号、ヒータ駆動パルス信号で制御される。
【００１３】
ブロックイネーブル信号は、記録ヘッドの複数のノズルで構成されるブロック毎のイネーブル信号である。ヒータ駆動パルス信号は記録ヘッドに備えられている吐出ヒータを駆動制御する信号である。
【００１４】
図８において、記録ヘッドは２５６個のヒータ（記録素子）６０６を１６ブロックに分割（１ブロックは１６のヒータで構成される）して駆動し、それぞれ１ブロックで１６個のヒータを駆動する。ＳＲＡＭから読み出した１カラム分の印字データはブロック毎に並べ替えられる。ここで例えば、ブロック０はＳＥＧ０、ＳＥＧ１６、・・・、ＳＥＧ２４０から構成されている。また、ブロック１は、ＳＥＧ１、ＳＥＧ１７、・・・、ＳＥＧ２４１から構成されている。ブロック２からブロック１５も同様な構成である。このように、各ブロックは１６ｂｉｔで構成されることになる。
【００１５】
並べ替えられた印字データはヘッドクロック信号によって記録ヘッドへシリアル転送される。印字データは１６ビットのシフトレジスタ８０１で受け取った後、ラッチ８０２にて、ラッチ信号の立ち上がりでラッチされる。ブロック指定は４本のブロックイネーブル信号で示され、デコーダ８０３で展開された指定ブロックのヒータ８０６が選択される。
【００１６】
ブロックイネーブル信号とヒータ記録データ信号の両方で指定されたヒータ８０６のセグメントのみが実際のヒータ駆動パルス信号によって駆動され（ＡＮＤゲート８０５）、インクを吐出して記録が行われる。
【００１７】
なお、ブロック駆動順はノズルの製造工程上のばらつきにより生じるインクの着弾位置のばらつきを最小限にするように決定され、制御されている。
【００１８】
また、近年では印字データのシリアル信号にシリアルデータに変換したブロックイネーブルデータを付加することで、ブロックイネーブル信号の削減を図る手段が用いられている場合もある。
【００１９】
図９は記録データにブロックデータに付加して転送する場合のヘッドクロック信号と記録データ信号の関係を表す図である。
【００２０】
図において記録データはヘッドクロック信号の立ち上がりおよびヘッドクロック信号の立ち下がりで記録ヘッド転送される。例えばブロック１のデータを転送する場合、図中のデータ０としてＳＥＧ０、のデータ、データ１でＳＥＧ１６のデータ、・・・、データ１５でＳＥＧ２４０のデータを転送する。これらのデータの後に続く４ｂｉｔＢＥ０、ＢＥ１、ＢＥ２、ＢＥ３によりブロックの指定をする。例えば、順に「１」、「０」、「０」、「０」というデータを転送することでブロック１が選定されることになる。
【特許文献１】特開２００３−１５４６４０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
記録ヘッドが正確にキャリッジに搭載されていない状態、つまりはインク吐出口が記録媒体の搬送方向に対して傾いて配列された場合、記録位置がずれ所望の記録結果を得ることができなくなる。特に複数の色を重ねあわせることで画像を形成しているカラー印刷においてはその現象は顕著となる。
【００２２】
使用者の装着ミスのために、記録ヘッドが傾いてキャリッジに搭載されてしまう場合がある。この他、予めノズル列を傾けた記録ヘッドを装着して使用する場合がある。この場合には、調整モードなどからノズル列の傾きに関する情報を収得し、その情報に基づいて記録ヘッドの制御を行う。
【００２３】
また、記録ヘッドのノズル数の増加、ノズル列の長尺のために、１カラムという範囲を超えて補正が必要な場合もある。
【００２４】
この場合、記録ヘッドのノズル列を例えば３２ノズル単位のブロックで区切り、ブロック毎にウインド信号を用意する。そして１つの記録ヘッドを複数の記録ヘッドとみなして、ブロック毎にウインド信号のタイミングをずらすことで１カラムトリガ単位で印字タイミングを補正する制御が行われている。
【００２５】
図１０は、カラムトリガ単位で補正を行う制御方法を表す図である。なお、ここで傾き方は図１０に示す形態に限定されるものではない。図において、記録ヘッドは２５６ノズルで構成されており６４ノズル単位で１カラムトリガの時間だけずれた位置に印字する状態でキャリッジに取り付けられている。
【００２６】
このような記録ヘッドで傾きを補正して良好な高画質の画像形成を実現するために、あらかじめ３２ノズル単位のブロック（１）〜（８）毎にウインド信号として、ウインド（１）〜ウインド（８）信号が設けられている。
【００２７】
ウインド（１）〜ウインド（８）信号がすべて同タイミングでオープン（イネーブルとなると）すると、記録ヘッドは傾いている為、例えばブロック（３）のデータはブロック（１）のデータよりも１カラムトリガだけ速くインクと吐出することになる。
【００２８】
そこで、ウインド（３）信号をウインド（１）信号よりも１カラムトリガ（１カラム分）だけ遅らせてオープンさせる。この制御によりあたかもノズル列は傾いていない記録ヘッドでインクを吐出しているような画像を形成できる。
【００２９】
つまりは、１つの記録ヘッドを複数のヘッドの集合体とみなして、それぞれ独立に制御することで記録ヘッドの傾きを補正している。
【００３０】
図１１は、図１０で示す記録ヘッドの傾き補正の制御を、図５に示す構成にて行う場合のＳＲＡＭ１におけるデータ読み出し位置を説明する図である。
【００３１】
図１１において横軸のａ〜ｐ、縦軸の０〜７はＳＲＡＭのアドレスを示すための指標である。ａ０、ａ１、・・・、ａ７が連続アドレスに配置されることになり、同様にｂ０、ｂ１、・・・、ｂ７、ｃ０、ｃ１、・・・、ｃ７・・・、ｐ０、ｐ１、・・・、ｐ７が連続アドレスに配置されている。このアドレスは、記録媒体の搬送方向に対応している。別の表現を使えば、記録ヘッドの走査方向に垂直方向に対応している。
【００３２】
また、四角内の値はそのアドレスに格納されているデータで、つまりはアドレスａにデータａが、アドレスａ＋１にデータａ＋１が・・・・、アドレスｐ＋７にデータｐ＋７が格納されていることを示している。
【００３３】
記録ヘッド（あるいはノズル列）が図１０に示すように傾いている場合、図５に示すＳＲＡＭ１から連続するアドレス（例えば、ａ、ａ＋１、ａ＋２、ａ＋３、ａ＋４、ａ＋５、ａ＋６、ａ＋７）にアクセスして１カラム分の記録データの読み出しを行うと、記録ヘッドの傾きに応じて記録媒体にインクが着弾し、ドットの傾きが生ずる。
【００３４】
従って、このようなドットの傾きの発生を無くすためには、アドレスｄ、ｄ＋１、ｃ＋２、ｃ＋３、ｂ＋４、ｂ＋５、ａ＋６、ａ＋７とアクセスを行って１カラム分のデータを読み出せば良い。
【００３５】
しかし、図５に示す構成では、ＳＲＡＭ１に格納されている１カラム分のデータを読み出す場合ために４回のトリガ（タイミング）が必要である。なぜならば、アドレスｄ及びｄ＋１、アドレスｃ＋２及びｃ＋３、アドレスｂ＋４及びｂ＋５、アドレスａ＋６及びａ＋７はそれぞれカラム位置が異なっているからである。
【００３６】
前述しているように１つのバンクに対して仮にトリガ間に時間をＴ、１６カラムのデータを書き込む処理時間をＷ、記録ヘッドの数をＮとすると、
１６Ｔ＞ＮＷ      ・・・（Ｉ）
という関係が成立しなければならない。
【００３７】
しかしながら、記録ヘッドの傾きを補正するために複数のカラムトリガにまたがって本来１カラム分のデータの読み出し処理をする場合、図１０で示すようにのように３カラムの傾きをもっていれば（Ｉ）式は、
（１６−３）Ｔ＞ＮＷ      ・・・（ＩＩ）
という関係が必要となる。これは、記録ヘッドの数Ｎが多くなった場合や、１列あたりのノズル数が増加、つまりはＷが大きくなった場合、記録ヘッドへ転送するためのデータの読み出し処理が間に合わない。
【００３８】
別の表現をすると、図５に示す構成において、１つのバンクについてＳＲＡＭ１から記録ヘッドへ転送できるデータ量（カラム数）を考えると、傾きが０の場合には、１６カラム分のデータを転送できる。しかし、傾きが３の場合、１つのバンクから１３カラム分のデータしか読み出せない。
【００３９】
従って、図５の構成では、傾きが大きいほど、１つのバンクからの読み出しできるデータ量が少なくなる。ＳＲＡＭ１から記録ヘッドへの転送処理工程が、記録バッファから記録ヘッドまでのデータ転送処理系のなかで、ボトルネックになる。
【００４０】
また、ＳＲＡＭ１に格納するタイミングを記録ヘッドの傾きに応じて独立にした場合、印字バッファのリードアドレス等のアドレス管理もそれぞれ独立に行うために、その制御が煩雑になる。あるいは、ＳＲＡＭ１から読み出す時に、記録ヘッドの傾きに応じて独立にした場合も、同様に複雑になる。
【００４１】
また、上述した制御を行うために、余分なＤＭＡ処理の発生によるバスアクセス比率の増加してしまう。
【００４２】
本発明は、上記課題に鑑みてなされ、その目的は、効率よいデータのメモリアクセスやデータ転送処理を行うことができる記録装置及び装置の制御方法を提供することである。
【課題を解決するための手段】
【００４３】
上述の課題を解決し、目的を達成するために、本発明の記録装置は、被記録媒体の搬送方向に対して傾きを持った方向に複数の記録素子で構成された記録素子列を複数のブロックで構成し、前記記録素子列を主走査方向に複数備える記録ヘッドを用いて、前記被記録媒体に対して記録を行う記録装置であって、外部から記録データを入力する入力手段と、前記傾きに対応する補正情報をブロック毎に独立して取得する取得手段と、前記取得手段が取得した前記補正情報に基づき、複数の記録素子をブロック毎に駆動を許可する許可信号を生成する生成手段と、前記入力手段が入力した記録データをｍカラム分保持可能なバッファを複数備える保持する第１記憶手段と、前記第１記憶手段から読み出したｍカラム分のデータを保持するバッファを複数備える第２記憶手段と、１回のＤＭＡ転送により、ｍカラム単位のデータを前記第１記憶手段から読み出して、前記第２記憶手段のいずれか一方のバッファに格納する第１格納手段と、前記第１記憶手段から１カラム分の読み出し処理を、ブロックにそれぞれ対応したポインタと前記補正情報とに基づき、ブロック毎に行う読み出し手段と、前記第１読み出し手段により読み出された１カラム分のデータを第３記憶手段に対して同じカラム位置に格納する第２格納手段と、前記読み出し手段の読み出し処理及び前記第２格納手段の格納処理をｍカラム分を、前記第１読み出し手段の読み出すカラム位置及び前記第２格納手段の格納するカラム位置をそれぞれ更新して、繰り返し実行させる制御手段と、前記第２記憶手段から１カラム分のデータを読み出し記録ヘッドに対して転送する転送手段と、前記生成手段により生成された前記許可信号に基づきブロック単位で記録素子を駆動する駆動手段とを備える。
【発明の効果】
【００４４】
以上説明したように、本発明によれば、記録ヘッドのノズルに対応して記録データメモリへのアクセス制御行う場合であっても、その処理に要する時間を抑制することができる。さらにデータ転送を行うための回路の複雑化を抑制することができる。
【発明を実施するための最良の形態】
【００４５】
以下に、本発明に係る実施の形態について添付図面を参照して詳細に説明する。
【００４６】
図３は本発明の実施形態として適応可能な記録装置の構成を表す図である。本実施形態の記録装置は、いわゆるインクジェット記録方式の記録ヘッド１を備えたインクジェット記録装置である。
【００４７】
この記録ヘッド１は、インクジェット記録方式の中でも特にエネルギー発生手段として発熱抵抗体を有する発熱素子等の電気熱変換体を用いて、インクを加熱して熱エネルギーによってインク滴を吐出させる。
【００４８】
記録ヘッド１はシアン記録ヘッド１Ｃ、マゼンタ記録ヘッド１Ｍ、イエロー記録ヘッド１Ｙおよびブラック記録ヘッド１Ｋの４色の記録ヘッドを有する。各色の記録ヘッド１Ｃ、１Ｍ、１Ｙ、１Ｋはガイド軸３の長さ方向に沿って配列された状態でキャリッジ２に搭載されている。つまり、キャリッジ２の移動方向（走査方向）に沿って各記録ヘッドは並んだ状態で、キャリッジ２に搭載されている。なお、記録ヘッド１は、キャリッジに搭載された状態で、各色ともノズル列は、記録媒体の搬送方向と所定の角度をなす。
【００４９】
図３において記録ヘッド１は図示下向きにインクを吐出する姿勢でキャリッジ２に搭載されており、キャリッジ２の軸受け部２ａがガイド軸３に沿って移動しながらインク液滴を吐出して、記録用紙等の記録媒体４上に１走査分の画像を形成していく。
【００５０】
なお、キャリッジ２のガイド軸３に沿った往復運動は、キャリッジモータ５の駆動力が伝達されたプーリ６の回転により、タイミングベルト７を介して行われる。
【００５１】
記録ヘッド１による１走査分の記録が終了すると、記録ヘッド１は記録を中断し搬送モータ９が駆動されて、プラテン８上に位置する記録媒体４がキャリッジ２の移動方向に対して直行する方向に所定量だけ搬送される。次いで再びキャリッジ２をガイド軸３に沿って移動させながら次の１走査分の画像形成を行う。これらの動作を繰り返すことにより、記録媒体４の全体が記録される。
【００５２】
記録装置の右側には、記録ヘッド１のインク吐出状態を良好に保つための回復動作を行う回復機器１０が配設されている。回復機器１０には記録ヘッド１をキャップするキャップ１１、記録ヘッド１のインク吐出面を拭うワイパ１２、および記録ヘッド１のインク吐出ノズルからインクを吸引するための吸引ポンプ（不図示）等が設けられている。
【００５３】
また、本実施形態の記録装置はエンコーダスケール１３およびエンコーダ１４を備えており、キャリッジ２の移動速度の検出を行い、キャリッジモータ５の駆動時にそのフィードバック制御を行うように構成されている。またエンコーダスケール１３の位置情報をエンコーダ１４により読み取ることで、記録ヘッド１のインク吐出タイミング（以後ヒートタイミングと呼ぶ）がとられている。このエンコーダからの信号に基づきトリガ信号（ＴＲＧ）を生成する。この信号ＴＲＧは、データの転送処理に使われる。
【００５４】
図４は、記録装置の内部制御構成を表す図である。なお、この図において細線は制御信号、太腺はデータの流れを表している。１００は記録装置と接続されているホストとの間で記録データの授受を行うＩ／Ｆブロック（インターフェースブロック）であり、ＦＩＦＯメモリで構成されている。
【００５５】
記録データを含むデータを受信すると一旦保持し、ＡＳＩＣ１０３が一旦保持されたデータの中から制御コードを解析し、ＤＭＡ手段を用いてデータの中から記録データをＲＡＭ１０５に設けられた記録バッファに格納する。この制御を各色に対応するデータについて行う。
【００５６】
１０１は記録動作等の各種制御を行うＣＰＵである。１０２は記録動作の手順等のプログラムを格納するＲＯＭである。１０３はＡＳＩＣでありＣＰＵ１０１の管理下でシステム全体を制御する。このＡＳＩＣは、前述した録データの解析処理、後述する記録バッファから記録データをＤＭＡリードする処理、記録ヘッドのノズル配置に適した形式に変換する変換処理、記録ヘッド１へ転送する処理などの制御を行う。
【００５７】
１０４は本記録装置で使用されている複数のＤＭＡチャンネルを制御するＤＭＡＣ（ＤＭＡコントローラ）である。例えばＤＭＡ要求が重なった場合は所定の優先順位で調停制御を行う。
【００５８】
１０５はデータを一時的に格納するＲＡＭであり、印字バッファもこの中に設けられる。なお本実施例ではＲＡＭ（記憶手段）としてＳＤＲＡＭを用い、１回のＤＭＡリード動作（ＤＭＡ読み出し処理）で連続アドレスから８ワードのデータをリード可能である。この８ワードの読み出し処理はバーストリード機能により行われる。
【００５９】
１０６はＳＤＲＡＭ１０５に配置された印字バッファからＤＭＡリードした記録データを記録ヘッド１に適した形式に変換した後データを格納するＳＲＡＭ１である。具体的には、記録バッファから読み出したデータをＨＶ変換して、その変換されたデータをＳＲＡＭ１に格納する。
【００６０】
１０８はＳＲＡＭ１に格納された印字データを記録ヘッドの傾きを補正するために、記録ヘッドの傾きに応じてカラム単位で並べ直したデータを格納するためのＳＲＡＭ２である。
【００６１】
１０７はインクジェット記録を実施する記録ヘッド１を制御する記録ヘッドドライバである。なおその駆動タイミングは前述したエンコーダ１４からの情報から作成され、ＡＳＩＣ１０３によって制御される。
【００６２】
図１は、実施形態における記録データの転送制御構成を表す図である。図１に示すように記録バッファ（印字バッファ）から記録ヘッドに記録データ（印字データ）を転送するシステム構成内にＳＲＡＭ１に加えて、ＳＲＡＭ１と記録ヘッド１の間に領域ＳＲＡＭ２をさらに設けている。従来のデータ処理系では、図１１に示すＳＲＡＭ１のみであった。
【００６３】
さらに、ＡＳＩＣ１０３から記録ヘッド１に供給されていたブロック駆動順信号は新規に設けたＳＲＡＭ２に対しても出力される。さらに、ＡＳＩＣ１０３はＳＲＡＭ１に対して記録ヘッド傾きを補正する補正値（記録ヘッド傾き補正信号、ノズル列傾き補正信号）を出力する。これは、記録素子の配列の傾き状態をブロック毎にデータとしたものである。
【００６４】
ここで、補正値とは図１１で示されるようなＳＲＡＭ１から記録データを読み出すカラム位置を指示する信号である。この信号は、ブロック毎に独立して出力される。
【００６５】
図１に示すように、ＡＳＩＣ１０３から記録バッファに対して記録データの読み出し信号が出力され、ＡＳＩＣ１０３からＳＲＡＭ１に対して記録データの格納信号が出力される。また、ＡＳＩＣ１０３からＳＲＡＭ１に対して記録データの読み出し信号が出力され、ＡＳＩＣ１０３からＳＲＡＭ２に対して記録データの格納信号が出力される。これらのデータ転送処理は、１つのノズル列（記録素子列）について説明する。従って、記録ヘッドが４つのノズル列を備えている場合、この処理系がそれぞれ独立して行われる。
【００６６】
＜ＳＲＡＭ１とＳＲＡＭ２に対する処理フロー＞
さらに、図２は本実施形態におけるＳＲＡＭ１とＳＲＡＭ２のアクセスについての制御シーケンスを説明するフローチャートである。
【００６７】
ステップＳ２０１でトリガが入力されると、まずステップＳ２０２でＳＲＡＭ２から記録ヘッド１カラム分のデータが読み出され、記録ヘッドへの転送が行われる。次にステップＳ２０３でＳＲＡＭ１の格納タイミングに合致するか否かを確認する。
【００６８】
前述しているように記録バッファ（印字バッファ）からＳＲＡＭ１への格納タイミングは１６トリガ毎に実施されるので、今回のトリガタイミングがそのタイミングに合致するか否かを確認するのである。
【００６９】
ステップＳ２０３で、ＳＲＡＭ１への格納タイミングであると判断すれば、ステップＳ２０４でＳＲＡＭ１への格納処理を実施する。
【００７０】
格納処理が終了した後（ステップＳ２０４でＮの場合）、ステップＳ２０５においてＳＲＡＭ１に格納されている記録データを、１カラム分読み出してＳＲＡＭ２に格納する。なお、このステップＳ２０５は、ステップＳ２０３でＮと判断された場合にも実行される。
【００７１】
補足すると、図２に示した制御は、ＳＲＡＭ２からの読み出しを第１の優先とする。そして、ＳＲＡＭ１への格納タイミングを調べて、格納タイミングであれば、ＤＭＡ転送処理により印字バッファからＳＲＡＭ１へ格納を行う。ＳＲＡＭ１への格納タイミングは例えば、ＳＲＡＭ１から１６カラム分のデータが読み出されたか否かで判断する。この判断は例えば、ＡＳＩＣ１０３が行う。このＳＲＡＭ１への格納処理が２番目に優先される。そして、ＳＲＡＭ１からＳＲＡＭ２への転送処理は、３番目の優先順位である。
【００７２】
このＳＲＡＭ１は、１６カラム分のデータを格納する領域を２面（バンク０、バンク１）備えている。また、このＳＲＡＭ２は１６カラム分の記録データを格納する領域を２面（バンク０、バンク１）を備えている。図７に示すようにＳＲＡＭ２の２面（２つの領域）のうち一方のバンクから順次記録ヘッドに転送している間に、もう一方のバンクにデータを格納していくように制御されている。
【００７３】
また、ＳＲＡＭ１についても、一方のバンクからＳＲＡＭ２に転送している間に、もう一方のバンクにデータを格納していくように制御されている。
【００７４】
ここで、説明では、１つの記録ヘッド（１ノズル列）あたり、記憶手段（ＳＲＡＭ１、ＳＲＡＭ２）が夫々設けられているものとする。夫々色毎に独立して記憶手段を設けている。
【００７５】
＜ＳＲＡＭに対するアクセスタイミング＞
図７は、１つのノズル列に対応するデータについて、ＳＲＡＭ１についてのデータ格納タイミングおよび読み出しタイミング、ＳＲＡＭ２についてのデータ格納タイミングおよび読み出しタイミングの説明図である。
【００７６】
ＳＲＡＭ１−Ｗは、ＳＲＡＭ１に対する格納処理を表す。ＳＲＡＭ１−Ｒは、ＳＲＡＭ１からの読み出し処理を表す。ＳＲＡＭ２−Ｗは、ＳＲＡＭ２に対する格納処理を表す。ＳＲＡＭ２−Ｒは、ＳＲＡＭ２からの読み出し処理を表す。
【００７７】
これらのメモリアクセスは、信号ＴＲＧに同期して行われる。ＳＲＡＭ１に対する格納処理は、ＤＭＡ手段により行われ、１６カラム分のデータを２トリガ分の期間で転送する。図に示すように、１６カラム周期で、バンク０（Ｂ０）とバンク１（Ｂ１）に対して交互に格納する。
【００７８】
ＳＲＡＭ１からの読み出し処理について説明すると、ＢＬＯＣＫ０はブロック０に対応するデータの読み出し期間を示す。ＢＬＯＣＫ２はブロック２に対応するデータの読み出し期間を示す。ＢＬＯＣＫ６は、はブロック６に対応するデータの読み出し期間を示す。図に示すように、ＳＲＡＭ１のバンク１への格納が終了したタイミングで、バンク０から読み出しを行う。
【００７９】
ここで、ブロック毎に、読み出し期間の長さが異なるのは、読み出し開始位置がブロックごとで異なるからである。この違いは先に説明した補正値に依存する。
【００８０】
ＳＲＡＭ１の読み出しについてブロック０を例にして説明する。ＴＲＧ１９にてバンク０について読み出しを開始する。この読み出しは、矢印で示す期間Ｂ０の間に行われる。１トリガあたり１カラム分の読み出しが行われる。この期間の長さは１３トリガ分であるので、１３カラム分の読み出しが行われる。次のＴＲＧ信号にて、バンク１について読み出しを行う。これ以降は、１６カラム分の読み出しを行う。バンク０とバンク１が交互に読み出しを行う。他のブロックについても同様に、読み出しを行う。
【００８１】
ここで、補足すると、例えばＴＲＧ３２においては、ブロック０のデータはバンク１から読み出されているが、ブロック２のデータはバンク０から読み出されていることである。
【００８２】
次に、ＳＲＡＭ２に対する格納処理について説明する。ＳＲＡＭ２に対する格納の開始タイミングは、ＳＲＡＭ１からの読み出し開始タイミングの１トリガ後である。例えば、ＳＲＡＭ２に対する格納の開始タイミングはＴＲＧ２０であり、ＳＲＡＭ１からの読み出し開始タイミングはＴＲＧ１９である。そして、図に示すように１６トリガ分の時間でＳＲＡＭ２に対して１６カラム分の格納処理を行う。ＳＲＡＭ２に対する格納処理も、１トリガあたり１カラム分の格納が行われるのである。
【００８３】
次に、ＳＲＡＭ２からの読み出し処理について説明する。ＳＲＡＭ２からの読み出しは、ＳＲＡＭ２の一方のバンクに格納された後、開始する。開始のタイミングは、ＳＲＡＭ２に対する格納開始タイミングと同じである。
【００８４】
例えば、ＳＲＡＭ２のバンク１に対する格納の開始タイミングはＴＲＧ３６であり、ＳＲＡＭ２からの読み出し開始タイミングもＴＲＧ３６である。
【００８５】
なお、記録ヘッドの駆動の開始タイミングは、ＳＲＡＭ２からの読み出し開始タイミングの１トリガ分後である。
【００８６】
＜ＳＲＡＭ２の格納状態＞
図１２は実施形態におけるＳＲＡＭ２の格納状態を説明する図である。記録ヘッドの走査方向にアドレスａ，ｂ，ｃ，ｄ，・・・と割り当てられている。また、記録媒体の搬送方向に、アドレスａ，ａ＋１，ａ＋２，・・・とアドレスが連続して割り当てられている。ＳＲＡＭ２には、１アドレスあたり３２ビットのデータが格納される。なお、ＳＲＡＭ１も、１アドレスあたり３２ビットのデータが格納される。
【００８７】
また、図１２は、アドレスと記録ヘッドの記録素子との対応関係を示している。例えば、アドレスａ，ｂ，・・・，ｐに格納されているデータは、ＳＥＧ０からＳＥＧ３１に対応し、アドレスａ＋１，ｂ＋１，・・・，ｐ＋１に格納されているデータは、ＳＥＧ３２からＳＥＧ６３に対応している。つまり、１ビットのデータが１ＳＥＧに対応している。
【００８８】
なお、図１１と図１２について、説明を簡単にするために、アドレスはいずれも同じ記号（ａ，ａ＋１，・・・，ｐ＋６，ｐ＋７）で表してしるが、実際のアドレスはそれぞれ固有に割り当てられており、別の領域を設けている。
【００８９】
図１２に示されるように、ＳＲＡＭ２に格納された印字データは記録ヘッドの傾きを補正して連続アドレスになるようにデータが並べ替えられて格納されている。
【００９０】
つまりアドレスａ〜ａ＋７には順にデータｄ、ｄ＋１、ｃ＋２、ｃ＋３、ｂ＋４、ｂ＋５、ａ＋６、ａ＋７が格納されていることになる。
【００９１】
＜記録バッファからの読み出したデータのＳＲＡＭ１への格納処理＞
図１３は記録バッファについて、記録ヘッドの走査方向Ａ、ノズル列方向Ｂとの対応関係を説明する説明図である。
【００９２】
記録バッファは、少なくとも１バンド分のデータ量を保持する領域を備えている。図１３に示すように１バンド分のデータを格納する領域を、Ｎ個のデータブロックにわけている。ＤＭＡ転送手段によりデータブロック毎に読み出され、格納されているデータブロックが順にＳＲＡＭ１に格納される。このＳＲＡＭ１に格納する際、ＨＶ変換を行う。
【００９３】
この１つのデータブロックのサイズは１６カラム分のデータである。そして、１回の走査による記録を開始する際、データブロック１をＳＲＡＭ１のバンク０に格納する。そして、次のデータブロック２を記録バッファから読み出して、ＳＲＡＭ１のバンク１に格納する。そして、バンク０の読み出しが終わった後に、次のデータブロック３をＳＲＡＭ１のバンク０に格納する。このように、ＡＳＩＣ１０３は、ＳＲＡＭ１が備える２つのバンクに交互に格納を行う。
【００９４】
＜ポインタを用いたＳＲＡＭ１からの読み出し処理＞
ＡＳＩＣ１０３は、ＳＲＡＭ１の読み出し制御部を備える。この読み出し制御部は、ブロックに対応して、それぞれ独立したポインタを備えている。即ちブロック数が８であるので、８つのポインタを備えている。
【００９５】
このポインタは、バンクをまたがってカラム位置を指定することができる。
【００９６】
例えば、ブロック０に対応するポインタは、ポインタ０とする。同様にブロック１に対応するポインタはポインタ１、ブロック２に対応するポインタはポインタ２とする。このように８つのポインタにより読み出しを行う。
【００９７】
ブロック０、ブロック１の補正値（傾きに関する値）が３、ブロック２、ブロック３の補正値が２、ブロック４、ブロック５の補正値が１、ブロック６、ブロック７の補正値が０の場合を説明する。図１１に示すように、ポインタ０とポインタ１はカラム位置ｄを指し、ポインタ２とポインタ３は、カラム位置ｃを指す。ここでは、いずれのポインタもバンク０を指定しているものとする。
【００９８】
そして、ポインタに基づき、各ブロックからデータが読み出される。例えば、ブロック０のデータとしてアドレスｄから読み出され、ブロック７のデータとしてアドレスａ＋７から読み出される。
【００９９】
そして、読み出しを行った後、１カラム位置づつポインタを１カラム分進める。即ち、ポインタ０はカラム位置ｅを指し、ポインタ７はカラム位置ｂを指す。このように、読み出し制御部は、読み出しを行うたびに、それぞれのポインタは、１カラム位置づつ指している位置を進める。この図からわかるように、１つのバンクから読み出しが行われている。
【０１００】
そして、例えば、ポインタ０は、カラムｐを指定して読み出しを行った後、バンク０のカラム位置ａを指定するのではなく、バンク１のカラムａを指定する。このとき、ポインタ２とポインタ３は、バンク０のカラム位置ｐを指定している。
【０１０１】
このように、ポインタは、バンク０の最終カラム位置（ここではカラム位置ｐ）の次は、バンク１の先頭カラム位置を指定するように、読み出し制御部により制御される。従って、ポインタはバンク１の最終カラム位置（ここではカラム位置ｐ）の次は、バンク０の先頭カラム位置を指定する。
【０１０２】
このように、ポインタは、２つのバンクにまたがって、カラム位置を順に指定する。
【０１０３】
以上のように、ＳＲＡＭ１からの読み出し処理には、一方のバンクから読み出すモードと両方のバンクから読み出すモードを備えている。
【０１０４】
＜ＳＲＡＭ２に対する格納処理＞
ＳＲＡＭ２について、図１２に示すような格納状態にするための処理の説明する。
【０１０５】
図１１の斜線で示すように、上述したようなブロックごとに独立した補正値に基づき読み出しが行われる。即ち、ＳＲＡＭ１のバンク０のアドレスｄ，ｄ＋１，ｃ＋２，ｃ＋３，ｂ＋４，ｂ＋５，ａ＋６，ａ＋７から読み出され、１カラム分のデータの読み出しが行われる。
【０１０６】
そして、読み出した１カラム分のデータは、ＳＲＡＭ２のバンク０のアドレスａ，ａ＋１，・・・，ａ＋７に格納する。
【０１０７】
この格納は、読み出されたブロックに対応している。即ち、ＳＲＡＭ１のブロック０から読み出されたデータは、ＳＲＡＭ２においてもブロック０に格納される。あるいは、ＳＲＡＭ１のブロック３から読み出されたデータは、ＳＲＡＭ２においてもブロック３に格納される。
【０１０８】
ここで、格納順は、例えば、ブロック０のデータが格納され、次にブロック１のデータが格納され、最後にブロック７のデータが格納される。ＳＲＡＭ２への格納の制御は、上述したような順序で行われる。
【０１０９】
読み出し処理について説明を戻すと、次の１カラム分のデータの読み出しは、ＳＲＡＭ１のバンク０のアドレスｅ，ｅ＋１，ｄ＋２，ｄ＋３，ｃ＋４，ｃ＋５，ｂ＋６，ｂ＋７について行い、ＳＲＡＭ２のバンク０のアドレスｂ，ｂ＋１，・・・，ｂ＋７に格納する。以降、同様に読み出しを行う。
【０１１０】
そして、ＳＲＡＭ１のバンク０のアドレスｐ，ｐ＋１，ｏ＋２，ｏ＋３，ｎ＋４，ｎ＋５，ｍ＋６，ｍ＋７から読み出しをおこなって、ＳＲＡＭ２のバンク０のアドレスｍ，ｍ＋１，・・・，ｍ＋７に格納する。ここまでは、１つのバンクから読み出しを行い、１つのバンクへ格納を行う処理である。
【０１１１】
図１４（Ａ）は、ＳＲＡＭ１のバンク０を説明する図であり、領域Ａは、上述した説明で読み出した領域である。そして、図１５（Ａ）は、ＳＲＡＭ２のバンク０を説明する図であり、領域Ａ２は、上述した説明で格納された領域である。カラム位置ａからカラム位置ｍまでの１３カラム分のデータを格納した状態を示している。
【０１１２】
次の処理は、ＳＲＡＭ１の２つのバンクから読み出しを行い、ＳＲＡＭ２の１つのバンクへ格納を行う処理を行う。つまり、１カラム分のデータを、ＳＲＡＭ１の２つのバンクにまたがって読み出す処理をおこなうのである。
【０１１３】
図１４（Ｂ）はＳＲＡＭ１のバンク１を説明する図である。そして、図１４（Ａ）に示す領域Ｂ１と図１４（Ｂ）に示す領域Ｂ２から読み出し、図１５（Ｂ）に示すＳＲＡＭ２のバンク０の領域Ａ３に格納する。
【０１１４】
具体的には、ＳＲＡＭ１において、バンク１のアドレスａ，ａ＋１（領域Ｂ１に含まれる）と、バンク０のアドレスｐ＋２，ｐ＋３，ｏ＋４，ｏ＋５，ｎ＋６，ｎ＋７（領域Ｂ２に含まれる）から読み出しを行う。そして、ＳＲＡＭ２のバンク０のアドレスｎ，ｎ＋１，・・・，ｎ＋７に順に格納する。
【０１１５】
ＳＲＡＭ２のバンク０に対するデータの格納順は、まず、ブロック０、ブロック１、ブロック２という順に格納し、最後にブロック７の対応するデータを格納する。
【０１１６】
残る２カラム分のデータについても、同様にＳＲＡＭ１の２つのバンクから１カラム分のデータを読み出し、ＳＲＡＭ２のバンク０に書込みを行う。
【０１１７】
即ち、ＳＲＡＭ１のバンク１のアドレスｂ，ｂ＋１，ａ＋２，ａ＋３とＳＲＡＭ１のバンク０のアドレスｐ＋４，ｐ＋５，ｏ＋６，ｏ＋７から読み出して、ＳＲＡＭ２のバンク０のアドレスｏ，ｏ＋１，・・・，ｏ＋７に順に格納する。
【０１１８】
更に、ＳＲＡＭ１のバンク１のアドレスｃ，ｃ＋１，ｂ＋２，ｂ＋３，ａ＋４，ａ＋５とＳＲＡＭ１のバンク０のアドレスｐ＋６，ｐ＋７から読み出して、ＳＲＡＭ２のバンク０のアドレスｐ，ｐ＋１，・・・，ｐ＋７に順に格納する。
【０１１９】
以上の処理を行うことで、図１５（Ｂ）のＡ３の領域（３カラム分）の格納を行うことができ、ＳＲＡＭ２のバンク０に対する１６カラム分のデータの格納処理が完了する。格納処理が完了すると図１５（Ｂ）に示す状態になる。
【０１２０】
次に、ＳＲＡＭ２に対する１６カラム分のデータの格納はバンク１に対して行われる。この場合も、バンク０に対応する処理と同様に行われる。即ち、図１４（Ｂ）の領域Ｃについて、図１５（Ｃ）の領域Ｃ２に示すように１３カラム分のデータが格納される。そして、図１４（Ｂ）のＳＲＡＭ１のバンク１の領域Ｄ１と図１４（Ｃ）のＳＲＡＭ１のバンク０の領域Ｄ２から読み出しを行い、図１５（Ｄ）に示すＳＲＡＭ２のバンク１の領域Ｃ３に格納する。
【０１２１】
ＳＲＡＭ２のバンク１に対して１６カラム分のデータの格納処理完了した後、次の１６カラム分のデータの格納は、再びバンク０に対して行われる。即ち、図１４（Ｃ）の領域Ｅから読み出した１３カラム分のデータを、図１５（Ｅ）に示すように、ＳＲＡＭ２のバンク０の領域Ｅ２に格納する。
【０１２２】
以上のように、ＳＲＡＭ２に対するデータの格納処理は、バンク０とバンク１に対して交互に実行される。
【０１２３】
＜ＳＲＡＭ２からの読み出し処理＞
さて、ＳＲＡＭ２のバンク０に格納されたデータは、記録ヘッドへ１カラム分づつ転送される。まず、アドレスａ〜ａ＋７を読み出して転送する。次の転送はアドレスｂ〜ｂ＋７を読み出して転送する。以下１カラムづつ、読み出して記録ヘッドへ転送される。アドレスｐ〜ｐ＋７を読み出して転送すればＳＲＡＭ２のバンク０の読み出し処理は終了する。
【０１２４】
このＳＲＡＭ２のバンク０についての読み出しが終了した後、ＳＲＡＭ２のバンク０には、ＳＲＡＭ１から読み出されたデータが格納される。
【０１２５】
また、このＳＲＡＭ２のバンク０についての読み出しが終了した後、このＳＲＡＭ２のバンク１についての読み出しが行われる。
【０１２６】
以上説明したように、本発明によれば、記録ヘッドの傾き、ノズル列の傾きがあっても、ブロックに対応して独立にデータの読み出し、書込みを行うことにより、データ処理に要する時間を抑制することができる。
【０１２７】
＜別の実施形態＞
＜カラム位置のポインタの変形例＞
上述した実施形態において、ポインタは、２つのバンクをまたがって制御していたが、別の形態でも構わない。
【０１２８】
例えば、各ブロックのポインタについて、ＳＲＡＭ１のバンク０用のポインタと、バンク１用のリードポインタをそれぞれ独立に設けても構わない。即ち、１バンクあたり８個のポインタをもちい、２つのバンクをあわせて１６個のポインタを備えても構わない。
【０１２９】
用いて読み出しを行う。ＳＲＡＭ２のバンク０への格納処理の場合を例にとって説明する。
【０１３０】
ここでは、例えば、ブロック０についてのポインタ００、ブロック１についてのポインタ０１、ブロック７についてのポインタ０７である。なお、バンク１のポインタも同様で、例えば、バンク１のブロック０についてのポインタ１０、ブロック１についてのポインタ１１である。
【０１３１】
ここでは、ブロック０について説明する。他のブロックも制御は同様であるので、説明を省略する。そして、ブロック０の補正値が３の場合で説明する。
【０１３２】
図１１に示すように、ポインタ００はカラム位置ｄを指す。そして、ポインタに基づき、ブロック０のデータとしてアドレスｄから読み出す。ここで、バンク１のポインタ０は無効状態である。
【０１３３】
そして、１カラム分の読み出しを終えた後、ポインタ００はカラム位置ｅへすすめ、読み出しを行う。このように、読み出しを行うたびに、１カラム位置づつそれぞれのポインタを進める制御は上述した実施形態と同じである。
【０１３４】
異なるのは、ポインタ００がカラム位置ｐで読み出しを行った後、次のブロック０についての読み出しは、バンク１のポインタ１０に基づき読み出しを行うことである。ここで、ポインタ００は無効になり、ポインタ１０が有効になる。このとき、読み出し制御部は、ポインタ１０がカラム位置ａを指定しているように制御する。そして、ポインタ１０は読み出しを行うたびに、カラム位置を勧める。
【０１３５】
そして、ポインタ１０がカラム位置ｐへ読み出しを行った後、ポインタ１０は無効になる。次はポインタ００が有効になり、カラム位置ａから読み出しを行う。
【０１３６】
なお、上述したＳＲＡＭ１及びＳＲＡＭ２の１つのバンクのサイズは１６カラム分に限定するものではなく、他の値でも構わない。例えば、このカラム数は３２や６４であっても構わない。
【図面の簡単な説明】
【０１３７】
【図１】実施形態における印字データの転送制御構成を表す図。
【図２】本実施形態におけるＳＲＡＭ２のアクセスタイミングを示すフローチャート。
【図３】実施形態として適応可能な記録装置の構成を表す図。
【図４】実施形態として適応可能な記録装置の内部構成を表す図。
【図５】従来の実施形態としての印字データの転送制御構成を表す図。
【図６】従来の実施形態としての印字データの格納形式を表す図。
【図７】トリガ信号に基づくメモリへのアクセスタイミングを説明する図。
【図８】記録ヘッドを駆動する駆動回路である。
【図９】記録データにブロックデータに付加して転送する場合のヘッドクロック信号と記録データ信号の関係を表す図。
【図１０】カラムトリガ単位で傾いている記録ヘッドに対する補正制御方法を表す図。
【図１１】図１０で示す記録ヘッドの補正制御時のＳＲＡＭ１からのデータ読み出し位置を説明する図。
【図１２】実施形態におけるＳＲＡＭ２の格納形式を表す図。
【図１３】記録バッファのデータの説明図
【図１４】実施形態におけるＳＲＡＭ１の読み出しについて説明する図
【図１５】実施形態におけるＳＲＡＭ２に対する格納を説明する図
【符号の説明】
【０１３８】
１００  Ｉ／Ｆブロック
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＡＳＩＣ
１０４  ＤＭＡＣ
１０５  ＲＡＭ
１０６  ＳＲＡＭ１
１０７  記録ヘッドドライバ
１０８  ＳＲＡＭ２
８０１  シフトレジスタ
８０２  ラッチ
８０３  デコーダ
８０４、８０５  ＡＮＤゲート
８０６  ヒータ（記録素子）
【図１】
2007118595.tif 000003
【図２】
2007118595.tif 000004
【図３】
2007118595.tif 000005
【図４】
2007118595.tif 000006
【図５】
2007118595.tif 000007
【図６】
2007118595.tif 000008
【図７】
2007118595.tif 000009
【図８】
2007118595.tif 000010
【図９】
2007118595.tif 000011
【図１０】
2007118595.tif 000012
【図１１】
2007118595.tif 000013
【図１２】
2007118595.tif 000014
【図１３】
2007118595.tif 000015
【図１４】
2007118595.tif 000016
【図１５】
2007118595.tif 000017