(57)【要約】【課題】  様々な構成の記録ヘッドに対して共通の制御回路を使用する。【解決手段】  所定方向に配列された複数の記録素子を有する記録ヘッドを搭載したキャリッジを、記録素子の配列方向と交差する方向に記録媒体上で走査させて記録を行う記録装置において、ラスタ形式の記録データを記録データメモリ６に格納し、記録データメモリ６に格納された記録データを各記録素子に対応して格納領域を有するバッファメモリ７に格納する構成において、記録ヘッドの構成に関する情報を格納するヘッドパラメータ部４を設け、ヘッドパラメータ部４に格納された情報に応じて、記録データメモリ６に格納された記録データのバッファメモリ７への転送順序と、バッファメモリ７に格納された記録データの読み出し順序とをバッファ制御部２及び記録データ用メモリ読み出し制御部１１で制御する。【選択図】  図２
2004306596.tif 000002
【特許請求の範囲】
【請求項１】
所定方向に配列された複数の記録素子を有する記録ヘッドを搭載したキャリッジを、前記記録素子の配列方向と交差する方向に記録媒体上で走査させて記録を行う記録装置であって、
ラスタ形式の記録データを格納する記録データメモリと、
各記録素子に対応して格納領域を有し、前記記録データメモリに格納された記録データを格納するバッファメモリと、
前記記録ヘッドの構成に関する情報を格納するヘッドパラメータ部と、
前記ヘッドパラメータ部に格納された情報に応じて、前記記録データメモリに格納された記録データを読み出して前記バッファメモリへの格納処理と、前記バッファメモリに格納された記録データの読み出し処理とを制御するバッファ制御部と、を備えることを特徴とする記録装置。
【請求項２】
前記ヘッドパラメータ部に格納された情報は、少なくとも前記記録ヘッドのノズル列数、前記ノズル列を構成するノズル数、前記ノズル列における駆動するノズルを含むことを特徴とする請求項１に記載の記録装置。
【請求項３】
前記バッファ制御部は、前記バッファメモリに格納された記録データの読み出しを行う際、前記ラスタデータをカラムデータに変換することを特徴とする請求項１又は２に記載の記録装置。
【請求項４】
前記バッファ制御部は、前記バッファメモリに格納された記録データの読み出しを行う際、１アドレス単位で行うことを特徴とする請求項１から３のいずれか１項に記載の記録装置。
【請求項５】
前記記録ヘッドは、所定のノズル数単位で分散駆動を行い、前記バッファ制御部は、前記バッファメモリに格納された記録データの読み出しを行う際、前記分散駆動数に応じて、読出すアドレスを演算することを特徴とする請求項４に記載の記録装置。
【請求項６】
前記バッファ制御部は、前記バッファメモリに対して１アドレス単位でアクセスして読み出した所定ビットのデータを、複数アドレス分保持するレジスタを有することを特徴とする請求項４に記載の記録装置。
【請求項７】
所定方向に配列された複数の記録素子を有する記録ヘッドを、前記記録素子の配列方向と交差する方向に、記録媒体に対して走査させて記録を行う記録装置であって、
ラスタ形式の記録データを格納する記録データメモリと、
各記録素子に対応して所定ビット分のラスタデータを格納する複数のバッファメモリと、
前記記録ヘッドに関する情報を保持するヘッドパラメータ部と、
前記記録データメモリから読み出した記録データを前記バッファメモリへ格納する際に、前記記録ヘッドに関する情報に基づいて、前記記録データメモリの読み出すべきアドレス情報を取得する取得手段と、
前記取得手段によって取得した前記記録データメモリのアドレス情報に基づいて、前記記録データメモリから読み出した記録データを前記バッファメモリへ格納するバッファ制御部と、
前記バッファメモリから読み出したデータを前記記録ヘッドへ転送する転送手段と、を備えることを特徴とする記録装置。
【請求項８】
所定方向に配列された複数の記録素子を有する記録ヘッドを搭載したキャリッジを、前記記録素子の配列方向と交差する方向に記録媒体上で走査させて記録を行う記録装置における記録データの制御方法であって、
ラスタ形式の記録データを記録データメモリに格納する記録データ格納工程と、
各記録素子に対応して格納領域を有し、前記記録データメモリに格納された記録データをバッファメモリに格納するバッファ工程と、
前記記録ヘッドの構成に関する情報をヘッドパラメータ部に格納するパラメータ格納工程と、
前記ヘッドパラメータ部に格納された情報に応じて、前記記録データメモリに格納された記録データを読み出して前記バッファメモリへの格納処理と、前記バッファメモリに格納された記録データの読み出し処理とを制御するバッファ制御工程と、を備えることを特徴とする記録データの制御方法。
【請求項９】
所定方向に配列された複数の記録素子を有する記録ヘッドを、前記記録素子の配列方向と交差する方向に、記録媒体に対して走査させて記録を行う記録装置における記録データの制御方法であって、
ラスタ形式の記録データを記録データメモリに格納する記録データ格納工程と、
各記録素子に対応して所定ビット分のラスタデータを複数のバッファメモリに格納するバッファ工程と、
前記記録ヘッドに関する情報をヘッドパラメータに保持するパラメータ格納工程と、
前記記録データメモリから読み出した記録データを前記バッファメモリに格納する際に、前記記録ヘッドに関する情報に基づいて、前記記録データメモリの読み出すべきアドレス情報を取得する取得工程と、
前記取得工程で取得した前記記録データメモリのアドレス情報に基づいて、前記記録データメモリから読み出した記録データを前記バッファメモリへ格納するバッファ制御工程と、
前記バッファメモリから読み出したデータを前記記録ヘッドへ転送する転送工程と、を備えることを特徴とする記録データの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記録装置及び記録データの制御方法に関し、特に、所定方向に配列された複数の記録素子を有する記録ヘッドを搭載したキャリッジを、記録素子の配列方向と交差する方向に記録媒体上で走査させて記録を行う記録装置における記録データを処理する技術に関する。
【背景技術】
【０００２】
例えばワードプロセッサ、パーソナルコンピュータ、ファクシミリ等に於ける情報出力装置として、所望される文字や画像等の情報を用紙やフィルム等シート状の記録媒体に記録を行うプリンタが広く使用されている。
【０００３】
プリンタの記録方式としては様々な方式が知られているが、用紙等の記録媒体に非接触記録が可能である、カラー化が容易である、静粛性に富む、等の理由でインクジェット方式が近年特に注目されており、又その構成としては所望される記録情報に応じてインクを吐出する記録ヘッドを装着すると共に用紙等の記録媒体の搬送方向と交差する方向に往復走査しながら記録を行なうシリアル記録方式が安価で小型化が容易などの点から一般的に広く用いられている。
【０００４】
このようなインクジェットプリンタの記録ヘッドは、１回の走査で記録する領域を大きくして記録速度を向上すべく、記録媒体の搬送方向とほぼ同じ方向に多数の記録素子（ノズル）が配列され、カラー記録及び／又は多階調記録のために、使用する複数のインクに対応して記録素子の列あるいは記録ヘッドを複数備える構成が一般的である。
【０００５】
通常、パーソナルコンピュータ等のホスト機器から画像データは、走査方向（水平方向）に展開された１ライン単位のラスタデータとして送信され、これを受信したプリンタでは、記録素子の配列方向（垂直方向）にあわせて、画像データを並び替えるＨ−Ｖ変換が行われている。
【０００６】
インクジェット方式のプリンタで高速でかつ安定したインクの吐出を行うために、全てのノズルから同時にインクを吐出させるのではなく、ある特定の間隔で配列された複数のノズルを同時に吐出させるように制御する分散吐出制御方式が用いられている（特許文献１）。
【０００７】
この分散吐出制御方式を用いたインクジェット方式のプリンタにおいて、カラー記録等で複数のインクを用いて記録を行う場合、使用するインク毎に、データ管理および分散吐出の駆動制御を行っている。
【０００８】
例えば、使用するインクとして、減色混色の３原色であるイエロー、マゼンタ、シアンの３色のインクを用いるカラープリンタでは、各色の記録ヘッドの構成（ノズル数、記録ヘッドの位置関係等）に応じて制御回路を構成しており、記録ヘッドの構成が異なる場合には、制御回路をその構成に応じて変更している。
【特許文献１】特開２０００−４３３４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
近年、インクジェットプリンタは様々な用途で使用される機会が増えているが、記録速度の向上や高画質化に対する要望も強い。このため、記録ヘッドの構成は、用途や目的に応じて非常に多岐にわたっている。
【００１０】
開発を容易にし、かつ低価格化を可能とするためには、様々な記録ヘッドの構成に対応できる制御回路を設計するのが望ましい。
【００１１】
具体的に制御回路は、記録ヘッド毎にバッファメモリを設けてヘッドへ転送するデータの生成を行うように設計されるが、このように記録ヘッドの構成が様々であると、制御回路の構成は、使用する記録ヘッドの構成毎に異なる回路構成となり、他の構成の記録ヘッドに対して利用することが不可能である。
【００１２】
例えば、最も簡単な構成として、１回の走査で記録されるデータを格納するバッファメモリを記録ヘッド（インク）毎に設ける構成では、バッファメモリの容量が記録に用いる記録媒体のサイズ及び解像度に応じて変化する。処理の高速化のために、このバッファメモリを超大規模集積回路（ＶＬＳＩ）に形成する場合、バッファメモリがＶＬＳＩ上のほとんどの領域を占めることとなる。たとえバッファメモリのサイズを小さくしたとしても、様々な構成の記録ヘッドに対応して複数種類ものバッファメモリを形成すると、メモリが占める物理的領域が増大することになり効率的ではない。
【００１３】
また、予め記録ヘッドの仕様にあわせて、メモリアクセスを効率良く行えるように、複数のアドレスのデータをまとめてアクセスするように構成されている制御回路もある。このような回路には、例えば、図１１に示すように先頭アドレスを設定するレジスタ及びカウンタが設けられている。このカウンタを用いて、所望のアドレスから、カウンタに設定された数のデータをアクセスできる。
【００１４】
しかしながら、このような回路構成によって、対応できる記録ヘッドの仕様には限度があり、仕様変更の内容によっては、制御回路を変更する必要が生じる。
【００１５】
以上のように、記録ヘッドの制御回路及び該制御回路を含む大規模な論理回路を様々な構成の記録ヘッドに対して共通とすることは困難であり、このため、記録ヘッドの制御回路は、開発の効率化及び装置の低価格化を達成するのに障害となっている。
【００１６】
本発明は以上のような状況に鑑みてなされたものであり、シリアル記録方式の記録装置において、様々な構成の記録ヘッドに対して共通の制御回路を使用可能とすることを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成する本発明の一態様としての記録装置は、所定方向に配列された複数の記録素子を有する記録ヘッドを搭載したキャリッジを、前記記録素子の配列方向と交差する方向に記録媒体上で走査させて記録を行う記録装置であって、
ラスタ形式の記録データを格納する記録データメモリと、
各記録素子に対応して格納領域を有し、前記記録データメモリに格納された記録データを格納するバッファメモリと、
前記記録ヘッドの構成に関する情報を格納するヘッドパラメータ部と、
前記ヘッドパラメータ部に格納された情報に応じて、前記記録データメモリに格納された記録データを読み出して前記バッファメモリへの格納処理と、前記バッファメモリに格納された記録データの読み出し処理とを制御するバッファ制御部と、を備えている。
【００１８】
すなわち、本発明では、所定方向に配列された複数の記録素子を有する記録ヘッドを搭載したキャリッジを、記録素子の配列方向と交差する方向に記録媒体上で走査させて記録を行う記録装置において、送信された画像情報を印刷に使用するデータに処理したラスタ形式化された記録データ、あるいは、ラスタ形式で送信された記録データを、記録データメモリに格納し、記録データメモリに格納された記録データを各記録素子に対応して格納領域を有するバッファメモリに格納する構成において、記録ヘッドの構成に関する情報を格納するヘッドパラメータ部を設け、ヘッドパラメータ部に格納された情報に応じて、記録データメモリに格納された記録データを読み出してバッファメモリへの格納処理と、バッファメモリに格納された記録データの読み出し処理とを制御する。
【００１９】
このようにすると、様々な構成の記録ヘッドに対して共通の制御回路を使用することが可能となり、制御回路の共通化によるコストダウン、並びに装置の設計期間を短縮することができる。
【００２０】
なお、ヘッドパラメータ部に格納された情報としては、少なくとも記録ヘッドのノズル列数、ノズル列を構成するノズル数、ノズル列における駆動するノズルを含むのがよい。
【００２１】
バッファ制御部は、バッファメモリに格納された記録データの読み出しを行う際、ラスタデータをカラムデータに変換してもよい。
【００２２】
更に、バッファ制御部は、バッファメモリに格納された記録データの読み出しを行う際、１アドレス単位で行ってもよい。
【００２３】
この場合、記録ヘッドが所定のノズル数単位で分散駆動を行い、バッファ制御部は、バッファメモリに格納された記録データの読み出しを行う際、分散駆動数に応じて、読出すアドレスを演算してもよい。
【００２４】
また、バッファ制御部が、バッファメモリに対して１アドレス単位でアクセスして読み出した所定ビットのデータを、複数アドレス分保持するレジスタを有していてもよい。
【００２５】
上記目的を達成する本発明の別の態様としての記録装置は、所定方向に配列された複数の記録素子を有する記録ヘッドを、前記記録素子の配列方向と交差する方向に、記録媒体に対して走査させて記録を行う記録装置であって、
ラスタ形式の記録データを格納する記録データメモリと、
各記録素子に対応して所定ビット分のラスタデータを格納する複数のバッファメモリと、
前記記録ヘッドに関する情報を保持するヘッドパラメータ部と、
前記記録データメモリから読み出した記録データを前記バッファメモリへ格納する際に、前記記録ヘッドに関する情報に基づいて、前記記録データメモリの読み出すべきアドレス情報を取得する取得手段と、
前記取得手段によって取得した前記記録データメモリのアドレス情報に基づいて、前記記録データメモリから読み出した記録データを前記バッファメモリへ格納するバッファ制御部と、
前記バッファメモリから読み出したデータを前記記録ヘッドへ転送する転送手段と、を備えている。
【００２６】
なお、本発明は上記の記録装置としての態様以外にも、記録装置における記録データの制御方法、該記録データの制御方法を実現するコンピュータプログラム、該コンピュータプログラムを格納する記憶媒体の態様でも実現可能である。
【発明の効果】
【００２７】
本発明によれば、様々な構成の記録ヘッドに対して共通の制御回路を使用することが可能となり、制御回路の共通化によるコストダウン、並びに装置の設計期間を短縮することができる。
【発明を実施するための最良の形態】
【００２８】
以下添付図面を参照して本発明の好適な実施形態について詳細に説明する。
【００２９】
なお、以下に説明する実施形態では、インクジェット記録方式を用いた記録装置としてプリンタを例に挙げ説明する。
【００３０】
本明細書において、「記録」（「プリント」という場合もある）とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わず、また人間が視覚で知覚し得るように顕在化したものであるか否かを問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
【００３１】
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
【００３２】
さらに、「インク」（「液体」と言う場合もある）とは、上記「記録（プリント）」の定義と同様広く解釈されるべきもので、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理（例えば記録媒体に付与されるインク中の色剤の凝固または不溶化）に供され得る液体を表すものとする。
【００３３】
図７は、本発明の代表的な実施の形態であるインクジェットプリンタＩＪＲＡの構成の概要を示す外観斜視図である。図７において、駆動モータ５０１３の正逆回転に連動して駆動力伝達ギア５００９〜５０１１を介して回転するリードスクリュー５００５の螺旋溝５００４に対して係合するキャリッジＨＣはピン（不図示）を有し、ガイドレール５００３に支持されて矢印ａ，ｂ方向を往復移動する。キャリッジＨＣには、記録ヘッド１０とインクタンクＩＴとを内蔵した一体型インクジェットカートリッジＩＪＣが搭載されている。
【００３４】
５００２は紙押え板であり、キャリッジＨＣの移動方向に亙って記録用紙Ｐをプラテン５０００に対して押圧する。５００７，５００８はフォトカプラで、キャリッジのレバー５００６のこの域での存在を確認して、モータ５０１３の回転方向切り換え等を行うためのホームポジション検知器である。
【００３５】
５０１６は記録ヘッド１０の前面をキャップするキャップ部材５０２２を支持する部材で、５０１５はこのキャップ内を吸引する吸引器で、キャップ内開口５０２３を介して記録ヘッドの吸引回復を行う。５０１７はクリーニングブレードで、５０１９はこのブレードを前後方向に移動可能にする部材であり、本体支持板５０１８にこれらが支持されている。なお、ブレードは、この形態に限らず周知のクリーニングブレードが本例に適用できることは言うまでもない。
【００３６】
又、５０２１は、吸引回復の動作を開始するためのレバーで、キャリッジと係合するカム５０２０の移動に伴って移動し、駆動モータからの駆動力がクラッチ切り換え等の公知の伝達機構で移動制御される。
【００３７】
これらのキャッピング、クリーニング、吸引回復は、キャリッジがホームポジション側の領域に来た時にリードスクリュー５００５の作用によってそれらの対応位置で所望の処理が行えるように構成されているが、周知のタイミングで所望の動作を行うようにすれば、本例にはいずれも適用できる。
【００３８】
図２は、本実施形態のインクジェットプリンタの記録に関する制御構成のブロック図である。
【００３９】
図示されたように、本実施形態のプリンタの記録に関する制御ブロックは、記録に関する制御を受け持つ記録制御部１、装置全体を制御するＣＰＵ５、記録データを格納する記録データ用メモリ６、記録データ用メモリ６へのアクセスを制御するメモリ制御部１２、インクを吐出して記録を行う記録ヘッド１０、及び記録ヘッドを搭載したキャリッジ駆動機構並びに記録媒体搬送機構を含む記録機構駆動部９を含んでいる。
【００４０】
記録制御部１は、バッファメモリ７、バッファメモリへのアクセスを制御するバッファ制御部２、記録ヘッドへの転送方法（インタフェース）に合わせる記録データ変換部３、記録ヘッドの構成に関する情報を格納するヘッドパラメータ部４、記録機構駆動部からの情報に基づきタイミング信号を制御する記録タイミング制御部８を含んでいる。
バッファ制御部２は、図１２に示すように、バッファメモリ７の格納／読出しを行う際に、バッファ７−１、７−２の状態を参照するバッファ指定レジスタ１２１を備えている。
【００４１】
また、バッファ制御部２は、バッファメモリ７の読出しを行う場合に使用するための、カラムカウンタ１２２、データパックレジスタ１２３、カラム分割カウンタ１２４を備えている。データパックレジスタは、バッファメモリ７の読出した１ビットのデータを複数ビット分ひとまとめにして保持するレジスタである。更に、バッファ制御部２は、バッファメモリ７への格納を行う場合に使用するための、色数カウンタ１２５、ノズルカウンタ１２６を備えている。
【００４２】
このバッファ制御部２は、バッファメモリ７の格納処理と読出し処理が並行して実行できるような構成となっている。つまり、例えば、バッファメモリ７−１への格納処理と、バッファメモリ７−２からの読出し処理が同時に実行できる。
【００４３】
本実施形態における記録の際の処理の概要は、ＣＰＵ５が不図示のＣＰＵの制御プログラムを格納したメモリから、記録制御用のプログラムを読み出し、不図示の電気回路により記録機構駆動部９に動作用の信号を供給し、この信号により動作する記録機構駆動部９から位置情報などを受け取り、記録データ用メモリ６に格納されているラスタデータを記録制御部１内のバッファメモリ７に格納し、バッファメモリ７から読み出す際にカラム形式に変換して記録ヘッド１０にデータを転送し、記録を実行する。
【００４４】
記録ヘッド１０への転送方式は、ここではシリアル転送であるがパラレル転送であってもかまわない。シリアル転送の場合、１本のデータラインによりデータを転送し、記録ヘッド内に設けられたシフトレジスタ及びラッチを含むロジック回路により、シリアルに転送されたデータをパラレルに変換して各記録素子の駆動回路に供給する。なお、パラレル転送の場合には、例えば１６本のデータラインによりデータを転送する。
【００４５】
図３及び図４は、本実施形態のプリンタに搭載する記録ヘッドの代表的ノズル構成を示す図である。ここではいずれも３種類のインクを使用する場合の例を示しているが、使用するインクの種類の数は３以上であってもよいのはもちろんである。
【００４６】
図３は、それぞれのインクに対して複数（０〜ｎ）のノズルを有する３つの記録ヘッド３０１〜３０３が１直線上に配置された構成である。３つの記録ヘッドのノズルが並んでいる方向と交差する方向に記録ヘッドが移動（走査）されて記録が行われ、各走査の終了後、記録媒体のノズルの配列方向とほぼ同じ方向への搬送を繰り返すことにより、１枚の記録媒体への記録を行う。
【００４７】
この例のように、３種類のインクを使用する場合には、各走査終了後に１つの記録ヘッドの長さ（ノズル列の長さ）に相当する距離だけ記録媒体を搬送することにより、３種類のインクを同じ位置（画素）に対して選択的に吐出することが可能となり、３種類のインクによる記録が可能となる。
【００４８】
より具体的に説明すると、記録ヘッド３０１がシアンインク、３０２がマゼンタインク、３０３がイエローインクをそれぞれ吐出すると想定すると、１回目の走査でノズルＣ０−０によって記録された画素に対して、２回目の走査ではノズルＣ１−０で記録紙、３回目の走査ではノズルＣ２−０で記録を行うことにより、３色のインクによる混色カラー記録が可能となる。
【００４９】
図４は、それぞれのインクに対して複数（０〜ｎ）のノズルを有する３つのノズル列４０１、４０２及び４０３が並列に配置された構成である。この場合にも、走査方向及び記録媒体の搬送方向は図３の場合と同様であり、各走査の終了後、記録媒体のノズルの配列方向とほぼ同じ方向への、１つのノズル列の長さに相当する距離の搬送を繰り返すことにより、１枚の記録媒体への記録を行う。
【００５０】
図３の構成と図４の構成を比較すると、図３の構成では３つのノズル列が１直線上に並ぶように直列に配置されているが、図４の構成では３つのノズル列が同じ水平位置となるように並列に配置されている点で異なっている。
【００５１】
図４に示すような構成では、１回の走査で同じ画素に対して３種類のインクを選択的に吐出できる、すなわち、１パスでカラー記録が可能となるが、３つのノズル列をそれぞれ異なったタイミングで駆動する制御が必要となる。
【００５２】
記録ヘッドの構成としては、図３及び図４に示した以外にも様々な構成が知られており、どのような構成とするのかは、装置の価格や大きさ、目標とする記録速度や対象とする記録媒体のサイズなどの様々な要因によって決定される。
【００５３】
上述のように従来は、記録ヘッド毎にバッファメモリを設けていたため、記録ヘッドの構成が異なるとバッファメモリの構成も異なっていたが、本実施形態ではノズル毎にバッファメモリを割当てて、記録ヘッドの構成に関らず、同じ構成のバッファメモリを使用可能とする。
【００５４】
そのアクセスを行うのが、図２に示したバッファ制御部２である。
【００５５】
その説明を図１３と図１４を参照して説明する。図１３及び図１４は、記録データ用メモリ６に同じデータが格納されている状態を示している。記録データ用メモリ６には色毎に、Ｃ０、Ｃ１、Ｃ２の記録データが格納されている。この格納状態は、記録媒体の記録方向に対応している。矢印Ａは主走査方向であり、矢印Ｂはノズル列方向（搬送方向）である。
【００５６】
そして、格納されているデータのうち、読み出すデータを図１３の１３１、１３２、１３３、図１４の１４１、１４２、１４３とする。これらの領域の大きさは、それぞれ矢印Ａの方向については１６ビット分、矢印Ｂの方向についてはノズル数分である。
【００５７】
図１３は、図３のようにノズル列が縦並びの場合の説明図である。この場合、図１３に示すように、１３１、１３２、１３３の各領域から読出し、バッファメモリ７−１又はバッファメモリ７−２の一方に格納する。なお、ノズル列方向については、ノズル列間の距離に対応してアドレスが読み出される。この読み出すアドレスは、主走査方向について同じオフセット量となっている。
【００５８】
図１４は、図４のようにノズル列が横並びの場合の説明図である。この場合、図１４に示すように、１４１、１４２、１４３の各領域から読出し、バッファメモリ７−１又はバッファメモリ７−２の一方に格納する。なお、主走査方向について距離に対応してアドレスが読み出される。この読み出すアドレスは、ノズル列方向について同じオフセット量となっている。
【００５９】
このように、ノズル列の構成に対応して、記録データ用メモリ６から記録データが読み出され、バッファメモリ７−１、７−２の各アドレスに格納される。
【００６０】
本実施形態においては、図１に示すバッファメモリ７の構成例のように、記録データ格納用のバッファメモリとして全てのノズルに対するバッファメモリを一つにまとめたバッファメモリ７として構成し、ヘッドパラメータ部４のレジスタに格納された情報（記録ヘッドの色数、各記録ヘッドのノズル数、分割駆動数、ノズル列間の距離等）により、記録ヘッドの配列方向が直列（図３）であるかあるいは並列（図４）であるかを意識することなく、各ノズルに対するデータの書込み／読み出しを制御する。この構成により、図３又は図４に示したいずれのヘッド構成であっても同じ論理回路によりノズルに対するデータ生成を行うことを可能にする。
【００６１】
なお、図２のブロック図においてバッファメモリ７が７−１と７−２の２つの部分に分かれているのは、バッファメモリ７に保存された記録データを記録データ変換部３にバッファ制御部２を経由して転送する際に、一方でバッファ制御部２にデータを転送し、他方で記録データ用メモリ６からデータを受信するようにして、記録ヘッドへのデータ転送をより高速に実行するためである。後述するように、７−１及び７−２は、データ転送及びデータ受信をそれぞれ交互に行う。従って、１６カラム分のデータが交互に記録データ変換部に転送され、１主走査分のカラムデータが全て転送される。
【００６２】
なお、バッファメモリ７−１、７−２からデータ転送する際（バッファメモリから読出しを行う際）、ラスタデータをカラムデータに変換する。この変換処理について、はあとで述べる。
【００６３】
以下、本実施形態における記録ヘッドへのデータ転送の動作について説明する。
【００６４】
ヘッドパラメータ部４には、記録ヘッドの構成に関する情報が格納されている。図９にヘッドパラメータ４に設けられたレジスタに格納される情報の例を示す。具体的には、ノズル列の数（ｃ＿ｎｕｍ）、各ノズル列を構成するノズルの数（ｎ＿ｎｕｍ）、及び次のノズルの記録データが記録データ用メモリ６に記録されている位置を表す情報（ｎｌ＿ｄｉｆｆ）、次のノズル列の記録データが記録データ用メモリ６に格納されているアドレスを示す情報（ｃ０＿ｄｉｆｆ、ｃ１＿ｄｉｆｆ、ｃ２＿ｄｉｆｆ）、記録データの先頭が記録されている位置を表す情報（ｂｍ＿ｓｔｒｔ＿ａｄｒ）が格納されている。なお、ｃ＿ｎｕｍは記録ヘッドの色数としてもかまわない。
【００６５】
このノズル列の数ｃ＿ｎｕｍと各ノズル列のノズル数ｎ＿ｎｕｍを用いたバッファ７におけるデータの管理を図１のバッファ構成例を用いて説明する。図１の例で使用する記録ヘッドの色数は、Ｃ０，Ｃ１，Ｃ２の３色であり、１ノズル列につき１色となっている。従って、ｃ＿ｎｕｍは３となる。また、３つのノズル列Ｃ０，Ｃ１，Ｃ２のノズル数ｎ＿ｎｕｍをそれぞれｎ，ｍ，ｌ、バッファメモリ７の記録データ格納用の素子（アレイ）の数をＮ（ｎ＋ｍ＋ｌ＜Ｎ）として説明する。バッファメモリ７のアドレスは、アレイを指定するアドレスであり、０からＮ−１の値をとる。ここで、ノズル数ｎ、ｍ、ｌは互いに等しい値であっても構わないし、異なっていても構わない。また、色数も３つに限定するものではない。
【００６６】
バッファメモリ７に格納する順番をＣ０，Ｃ１，Ｃ２とすると、バッファメモリ７のアドレス０からｎ−１まではノズル列Ｃ０の０からｎ−１までのｎ個のノズルに対する記録データ、バッファメモリ７のアドレスｎからｎ＋ｍ−１まではノズル列Ｃ１の０からｍ−１までのｍ個のノズルに対する記録データ、バッファメモリ７のアドレスｎ＋ｍからｎ＋ｍ＋ｌ−１まではノズル列Ｃ２の０からｌ−１までのｌ個のノズルに対する記録データがそれぞれ格納される。バッファメモリ７のアドレスｎ＋ｍ＋ｌからＮ−１までは、本例では使用されない。
【００６７】
次に、バッファメモリ７からの読出し処理について、図１０を参照して説明する。
まず、バッファ７−１からの読出しについて説明する。バッファ７−２についてはバッファ７−１の読出しと同様であるので省略する。
【００６８】
図１２に記載されているカラムカウンタ１２２、カラム分割カウンタ１２４を用いて、バッファメモリからの読出しを行う。いずれのカウンタも初期値はゼロである。
【００６９】
１アドレスに１６ビットデータが格納されている。まず、１カラム目のデータの読み出しを行う。ここでは、同時に駆動される数は３であるので、アドレス０、８、１６からそれぞれ１ビットずつ読み出される。この場合、まずアドレス０がアクセスされ、ビットデータ０１を読みだす、次に、アドレス８がアクセスされ、ビットデータ８１を読みだす、次にアドレス１６がアクセスされ、ビットデータ１６１を読みだす。このように、１ビットずつ読み出したデータを１６ビットデータとすることで、ラスタデータをカラムデータに変換する。アドレス０、８、１６からの読出しが完了すれば、カラム分割カウンタ１２４を１にカウントアップする。
【００７０】
なお、この１ビットずつ読み出したデータは、図１２のデータパックレジスタ１２３にて一時的に保持される。同時駆動する３ビット分のデータが格納された後、記録データ変換部３に転送される。
【００７１】
次に、アドレス１、９、１７からそれぞれ１ビットずつデータが読み出されて、データパックレジスタ１２３に格納される。そして、データパックレジスタ１２３に格納されたデータが、記録データ変換部３に転送される。この際、カラム分割カウンタ１２４をカウントアップして２にする。
【００７２】
以下順に、データの読出しを行い、アドレス７、１５、２３のデータが記録データ変換部３に転送されれば、カラム分割カウンタ１２４を８にする。ここで、バッファ制御部２は、カラム分割カウンタ１２４の値が８であるので、１カラム目のデータの転送が完了したと判断する。そして、カラムカウンタ１２２をカウントアップして１をセットし、カラム分割カウンタ１２４の値をゼロにする。
【００７３】
２カラム目以降のデータについては、読出しアドレスを替えて、同様にバッファにアクセスする。例えば、２カラム目の読出しは、アドレス０、アドレス８、アドレス１６に順にアクセスし、それぞれ、ビットデータ０２、ビットデータ８２、ビットデータ１６２が読み出される。読み出したデータは、データパックレジスタ１２３にて一時的に保持される。そして、１カラム目と同様に、アドレス７、１５、２３のデータまで読出しを行う。そして、カラムカウンタ１２２にカウントアップして２をセットし、カラム分割カウンタ１２４の値をゼロにする。以降１６カラム目まで、繰り返し、バッファメモリから読出しを行い、カラムカウンタ１２２をカウントアップする。カラムカウンタ１２２の値が１６になれば、バッファ７−１の読出しは完了したと、バッファ制御部２は判断する。このように、カラムカウンタ１２２と、カラム分割カウンタ１２４の値に基づいて、読出し制御を行う。
【００７４】
このような読出し処理は、記録ヘッドの駆動方法に対応して行なわれる。記録ヘッドの駆動方法の一つに、所定数のノズル数毎に駆動される分散駆動がある。例えば、２４ノズルの記録ヘッドにおいて、８ノズルおきに同時に駆動する場合、記録ヘッドは、第１ノズル、第９ノズル、第１７ノズルが同時駆動される。この場合、先に述べた３つのノズルに対応するデータを記録ヘッドに転送する。
【００７５】
ここでの例は先に述べたように、８ノズルおきに駆動される分散駆動であるので、８アドレスおきのバッファアクセスを行う。従って、４ノズルおきの駆動であれば、４アドレスおきのバッファアクセスを行うように制御を行う。このように、１アドレス単位でアクセスすることで、分散駆動数が任意の値であっても対応できる。このように、ヘッドパラメータ部４に格納されている分散駆動数の情報を参照して、バッファ制御部２は記録ヘッドに記録データを正しく転送することができる。
【００７６】
なお、本実施形態では、データパックレジスタ１２３に１ビットずつ読み出されて格納されているが、記録データ用メモリに格納されているデータの形式に応じて、複数ビット単位であっても構わない。
【００７７】
バッファメモリ７の記録データ格納用の単位となるデータのサイズ（データ幅、あるいはビット数）は、システムの構成条件により決定される。この条件は、記録制御部１において２個あるバッファメモリを前述したように交互に切り替えて使用するときに、一方のバッファを記録データの生成に使用している間に他方のバッファに次の記録データの読み出しを行うのに要する時間、もしくは、システムで使用されているデータ幅（８ビット／１６ビット／３２ビットなど）を考慮して決定される。
【００７８】
以上のような構成におけるバッファ制御処理の流れを、図５のフローチャートと図６のタイミングチャートを参照して説明する。
【００７９】
バッファ制御部２によるバッファメモリ７への書き込みは、ＣＰＵ５からの指示により開始する。ＣＰＵ５は、記録開始に先立ち、記録に必要な記録データを記録データ用メモリ６に格納する。バッファ制御部２はバッファメモリ７への書き込み時には、必要なデータを記録データ用メモリ６から読み出す。メモリ制御部１２は、ＣＰＵ５からのアクセスに対応すると共に、バッファ制御部２からの要求に基づき記録データをバッファ制御部２に転送する２つの動作を行う。
【００８０】
ここで、図６のタイミングチャートに示された信号について説明すると、位置パルス（ａ）は記録機構駆動部９のエンコーダ等から発生される信号であり、この信号に基づいて、位置カウント（ｂ）が生成される。カラムパルス（ｄ）は記録タイミング制御部８で位置パルス（ａ）から記録するカラムに対応して生成するパルスであり、このカラムパルスを複数に分割して記録ヘッドを駆動する際のカラム分割パルス（ｅ）を生成し、カラム分割パルスからバッファ制御部２へのデータ要求パルス（ｆ）を生成する。また、（ｇ）、（ｈ）及び（ｉ）は、（ｄ）、(ｅ）及び（ｆ）の信号をそれぞれ時間軸方向に拡大して示したものである。
【００８１】
バッファ制御部２はＣＰＵ５からの開始指示によりバッファ７への格納処理を開始する。まず、記録データ用メモリのアドレスｒｄ＿ａｄｒは初期値ｂｍ＿ｓｔｒｔ＿ａｄｒに設定され、バッファメモリ７−１に対して、図１のバッファの構成に基づいて、記録データ用メモリ６のｒｄ＿ａｄｒから読み出した記録データをバッファメモリ７−１のアドレス０に格納し、ｂｍ＿ｓｔｒｔ＿ａｄｒ＋ｎｌ＿ｄｉｆｆから読み出した記録データをバッファメモリ７−１のアドレス１に格納し、ｂｍ＿ｓｔｒｔ＿ａｄｒ＋ｎｌ＿ｄｉｆｆ×（ｎ−１）の記録データをアドレスｎ−１に格納する。ｒｄ＿ａｄｒとバッファメモリのアドレスとの関係は、ｋをバッファメモリのアドレスとすると、
ｃ０：ｒｄ＿ａｄｒ＝ｂｍ＿ｓｔｒｔ＿ａｄｒ＋ｎｌ＿ｄｉｆｆ×（ｋ−１）
ｃ１：ｒｄ＿ａｄｒ＝ｂｍ＿ｓｔｒｔ＿ａｄｒ＋ｎｌ＿ｄｉｆｆ×（ｋ−２）＋ｃ０＿ｄｉｆｆ
ｃ２：ｒｄ＿ａｄｒ＝ｂｍ＿ｓｔｒｔ＿ａｄｒ＋ｎｌ＿ｄｉｆｆ×（ｋ−３）＋ｃ０＿ｄｉｆｆ＋ｃ１＿ｄｉｆｆ
となる。
【００８２】
上記の関係で逐次データをバッファメモリ7−1に記録データを格納する。ｒｄ＿ａｄｒは前記関係式で常に計算するのではなく前回の結果に対してハードウエアによるアドレス演算処理を行い、記録データ用メモリ６のアドレス情報を取得する。そして、記録データ用メモリからの読出し処理、バッファ７−１、７−２のいずれか一方への格納処理を行なう。この一連の処理（第１にアドレス演算処理、第２にアドレス演算結果に基づく記録データ用メモリからの読出し処理、及び第３に読み出したデータのバッファへの格納処理）を繰り返して、１アドレス単位で記録データ用メモリ６のデータをバッファメモリ７に格納する（ステップＳ５０１）。
【００８３】
その場合、図１２の色数カウンタ１２５の値と、ノズルカウンタ１２６の値を参照しながら実行される。ヘッドパラメータ４の情報に基づいて、所定の値になれば次の処理に進む。
【００８４】
例えば、Ｃ０のデータを記録データメモリから読み出して、バッファメモリ７−１に順に格納する。１個データを格納するたびに、ノズルカウンタ１２６はカウントアップされ、格納するごとに所定の数だけ格納したかを、Ｃ０＿ｎ＿ｎｕｍの値に基づいてコンパレータで判断する。コンパレータがｎ個のＣ０のデータをすべて格納したことを検知すれば、色数カウンタ１２５をカウントアップして１をセットする。そして、ノズルカウンタ１２６をゼロにする。
【００８５】
同様に、Ｃ１のデータを記録データメモリから読み出して、バッファメモリ７−１に順に格納する。Ｃ１＿ｎ＿ｎｕｍの値に基づいてコンパレータがｍ個のＣ１のデータをすべて格納したことを検知すれば、色数カウンタをカウントアップして２をセットする。そして、ノズルカウンタ１２６をゼロにする。
【００８６】
同様に、Ｃ２のデータを格納したら、色数カウンタをカウントアップして３をセットする。ここで、ｃ＿ｎｕｍの値に基づき、全ての色データについて、１６カラム分のデータデータを格納したと判断して、バッファメモリ７−２に、次の１６カラム分のデータを格納する。
【００８７】
このバッファメモリ７−１へのデータ格納終了後、後続する記録データを同様にして、前回のｒｄ＿ａｄｒにｃ１＿ｄｉｆｆを足した値をバッファメモリ７−２のアドレス０のアドレスとして記録データ用メモリ６から読み出してバッファメモリ７−２に格納し、以下上記処理を繰り返し格納する（ステップＳ５０２）。
【００８８】
バッファメモリを転送待機状態とした（ステップＳ５０３）後、記録動作が開始されタのを検知したら（ステップＳ５０４）、記録機構駆動部９から記録タイミング制御部８に送られる、図６Ａに示す位置パルスおよびＦｉｇ．６Ｂの位置カウントなどの位置情報に応じて生成されるＦｉｇ．６Ｆ及びＦｉｇ．６Ｉに示すデータ要求パルスの受信により、記録タイミング制御部８からバッファ制御部２に対して記録データ変換部３へのデータ転送について要求されたのを検知して（ステップＳ５０５）、バッファ制御部２によるバッファメモリ７−１からのデータ転送が実行される。
【００８９】
なお、図６において、位置カウントＰにおいて、４つのカラムパルスが出力されている。例えば、（ｄ）に示すカラムパルスが４回出力されて、バッファ７−１から１６カラム分のデータがすべて読み出される。従って、次の４回のカラムパルスが出力される場合は、バッファ７−２からデータが読み出される。
【００９０】
図６(ｅ）のカラム分割パルスで出力されるデータは、図１０で説明したデータパックレジスタ１２３に保持されているデータである。
【００９１】
なお、１カラムパルスに対応するカラム分割パルスの数は、１６であるが、図１０の説明のような場合には、８である。
【００９２】
また、バッファ制御部２は、バッファ制御部２から記録データ変換部３に送信したデータが有効であることを示す信号を供給し、記録データ変換部３は、記録データを記録ヘッドに供給する。
【００９３】
バッファメモリ７−１からバッファ制御部２へのデータ転送であると判定されたら（ステップＳ５０６）、バッファメモリの格納単位毎に、図６の（ｆ）及び（ｉ）に示すデータ要求パルスに対応して行われる（ステップＳ５０７）。データ要求パルスを受信する度にこの格納単位のデータ転送を繰り返し、バッファメモリ７−１に格納された分だけデータ要求パルスが出力されたときに、バッファメモリ７−１のデータが全部使用されたと判定する（ステップＳ５０８）。この時、転送待機状態をバッファメモリ７−１からバッファメモリ７−２に移行させ（ステップＳ５０９）、記録データ用メモリに格納された記録データのバッファメモリ７−１への転送を開始する（ステップＳ５１０）。
【００９４】
図６の（ａ）から（ｃ）の信号から記録終了か否かを判定し（ステップＳ５１５）、記録終了でないと判定された場合には、次の４つ分のカラムパルスに対するデータ要求に対して、バッファ７−２からのデータを記録データ変換部３へ転送すべく、ステップＳ５０５に戻る。
【００９５】
このとき、今回はバッファメモリ７−２のデータ転送であるので、ステップＳ５０６からＳ５１１へ進み、上記と同様にデータ要求パルスを受信する度にこのアレイ毎のデータ転送を繰り返し、バッファメモリ７−２に格納された分だけデータ要求パルスが出力されたときに、バッファメモリ７−２のデータが全部使用されたと判定する（ステップＳ５１２）。この時、転送待機状態をバッファメモリ７−２からバッファメモリ７−１に移行させ（ステップＳ５１３）、記録データ用メモリに格納された記録データのバッファメモリ７−２への転送を開始する（ステップＳ５１４）。
【００９６】
そして、ステップＳ５１５で記録終了と判定された場合、バッファ制御処理を終了する。なお、バッファ７−１、７−２への格納処理について、ステップＳ５０１、Ｓ５０２の処理に限定するものではなく、データの格納が記録動作に間に合えば、記録を開始する前に、バッファメモリ７−１へのデータ格納を行い、記録を開始した後に、バッファメモリ７−２へのデータ格納を行なっても構わない。
【００９７】
＜ＶＨＤＬによる具体例＞
以下、上記実施形態の構成を、ハードウェア記述言語を用いた場合の記述例について説明する。図８Ａ〜８Ｋは、図２のブロック図のバッファ制御部２と記録データ用メモリ読み出し制御部１１の構成を、ハードウェア記述言語としてＶＨＤＬを用いた場合の記述例を示している。本記述例は、図５のフローチャートに基づいているが、ひとつの処理で図５のフローチャート中の複数の処理をかねている。以下、この記述の内容に関して説明する。
【００９８】
図８Ａにおいて、entityで始まりendで終わる部分は、このブロック全体の入出力を宣言している部分であり、このうちＧＥＮＥＲＩＣ（  ）内は、このブロックで使用されるデータのサイズを他のシステムに利用するとき最適なサイズに変更して使用することができるようにした変数を宣言している記述であり、本例では、横方向の列の最大値、すなわち、１回の走査での最大記録位置数を８１９２個（０〜８１９１個、Ｘ＿ＭＳＢ＝１３）、バッファ制御部２から記録データ変換部３へのデータの幅が６ビット（Ｂ＿ＮＵＭ＝５）、外部の記録用データメモリ６にアクセスする際のアドレスが２２ビットであり、データ幅が３２ビット（Ａ＿ＬＳＢ＝２）であるシステムに適用したものであることが記述されている。
【００９９】
port（  ）内は、このブロックに対する入力信号と出力信号を定義している部分である。本例では、４種類の情報を記録するシステムに適用しており、各情報に対して固有に使用される信号は、信号名の頭に、C0_，C1_，C2_，C3_のいずれかが付加されているかで各情報に対する信号か識別される。さらに、１列の記録を行う際に、記録ヘッドのノズルを１６のブロックに分割して時分割駆動するものに適用している。
【０１００】
図８Ｂから８Ｋの、ARCHITECTURE RTL OF  以下で始まりEND RTL;で終わる部分は、上記の実施形態の動作を実行するための論理記述であり、図８Ｂの部分は、論理記述で使用する定数（CONSTANT）及び信号（SIGNAL）を定義する部分であり、図８Ｃ以降が実際の論理である。
【０１０１】
図８Ｃ以降の内容に関して、より詳細に説明する。
【０１０２】
本例のブロックは、init入力を‘１’に設定することで初期化が開始され、init入力が‘０’に遷移すると初期化後からの起動が実行される。起動開始後は、８０１で示す部分の記述により初期化のパルスおよび記録タイミング制御部８からの要求による読み出しの起動パルスが生成される（ステップＳ５０１の一部である）。
【０１０３】
図８Ｃの８０１以降から図８Ｆまでの部分は、バッファメモリからのデータの読み出しを記録ヘッドの構成に合わせて制御するための記述である（Ｓ５０４、Ｓ５０５およびＳ５０７、Ｓ５１１の一部、Ｓ５１５）。
【０１０４】
図８Ｇに示される部分は、２つのメモリバッファを交互に使用するためにバッファの使用状態を検出するための記述である（ステップＳ５０６、Ｓ５０８、Ｓ５０９、Ｓ５１２、Ｓ５１３）。
【０１０５】
図８Ｈに示される部分は、メモリバッファから読み出されたデータに対して、記録データ変換部３で記録ヘッドの構成に応じてデータを変換し、要求された構成でデータを生成するための記述である（ステップＳ５０７、Ｓ５１１の一部）。
【０１０６】
図８Ｉに示される部分は、２つのメモリバッファを交互に使用するために、図８Ｇに示す記述で検出された状態に応じて、バッファメモリへのデータ書き込みを行うための記述である（ステップＳ５１０、Ｓ５１４）。
【０１０７】
図８Ｊに示される部分は、図８Ｉに示される部分でメモリバッファへの書き込みの要求が発生したときに、外部の記録データ用メモリ６に対してデータの要求と、その要求に対する応答を検出し、図８Ｉのブロックに記録データ用メモリ６から有効なデータが供給されていることを通知制御するための記述である（ステップＳ５０１の一部およびＳ５１４、Ｓ５１０のデータ保存部に関する処理である）。
【０１０８】
図８Ｋに示される部分は、図８Ｊに示す部分で記録データ用メモリ６にデータを要求する際に、記録の進展状況に応じて、記録データ用メモリ６内の必要となるデータが存在する場所（アドレス）を演算し、要求されるタイミングで演算されたアドレスを生成するための記述である（ステップＳ５０１の一部およびＳ５０２，Ｓ５０３、Ｓ５１４、Ｓ５１０を実施する）。
【０１０９】
＜他の実施形態＞
以上本発明をインクジェットプリンタに適用した場合について説明したが、本発明はシリアル方式の記録装置であれば、インクジェット方式以外の他の方式を採用する記録装置にも適用できる。
【０１１０】
なお、本発明は、複数の機器（例えばホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【０１１１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１１２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１３】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１１４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１５】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１６】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図５および／または図８Ａ〜８Ｋに示す）フローチャートやハードウェア記述言語の記述に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１１７】
【図１】本発明の実施形態におけるバッファメモリの構成例を示す図である。
【図２】本発明の実施形態の制御構成を示すブロック図である。
【図３】記録ヘッドの構成例を説明するための図である。
【図４】記録ヘッドの別の構成例を説明するための図である。
【図５】実施形態における記録データのバッファ処理を示すフローチャートである。
【図６】実施形態における信号の変化を示すタイミングチャートである。
【図７】本発明の好適な実施形態としてのインクジェットプリンタの概略構成を示す外観図である。
【図８Ａ】、
【図８Ｂ】、
【図８Ｃ】、
【図８Ｄ】、
【図８Ｅ】、
【図８Ｆ】、
【図８Ｇ】、
【図８Ｈ】、
【図８Ｉ】、
【図８Ｊ】、
【図８Ｋ】ハードウェア記述言語による記述の例を示す図である。
【図９】ヘッドパラメータ部に格納される情報の例を示す図である。
【図１０】バッファメモリからの読出し処理の説明図である。
【図１１】従来のプリントバッファへのアクセス制御を示す図である。
【図１２】本発明の実施形態におけるバッファ制御部の構成を示す図である。
【図１３】本発明の実施形態におけるノズル列が縦並びの場合の、記録データメモリからの読出し原理を示す図である。
【図１４】本発明の実施形態におけるノズル列が横並びの場合の、記録データメモリからの読出し原理を示す図である。
【符号の説明】
【０１１８】
１  記録制御部
２  バッファ制御部
３  記録データ変化部
４  ヘッドパラメータ部
５  ＣＰＵ
６  記録データ用メモリ
７−１  第１のバッファメモリ
７−２  第２のバッファメモリ
８  記録タイミング制御部
９  記録機構駆動部
１０  記録ヘッド
１１  記録データ用メモリ読み出し制御部
１２  メモリ制御部
【図１】
2004306596.tif 000003
【図２】
2004306596.tif 000004
【図３】
2004306596.tif 000005
【図４】
2004306596.tif 000006
【図５】
2004306596.tif 000007
【図６】
2004306596.tif 000008
【図７】
2004306596.tif 000009
【図８Ａ】
2004306596.tif 000010
【図８Ｂ】
2004306596.tif 000011
【図８Ｃ】
2004306596.tif 000012
【図８Ｄ】
2004306596.tif 000013
【図８Ｅ】
2004306596.tif 000014
【図８Ｆ】
2004306596.tif 000015
【図８Ｇ】
2004306596.tif 000016
【図８Ｈ】
2004306596.tif 000017
【図８Ｉ】
2004306596.tif 000018
【図８Ｊ】
2004306596.tif 000019
【図８Ｋ】
2004306596.tif 000020
【図９】
2004306596.tif 000021
【図１０】
2004306596.tif 000022
【図１１】
2004306596.tif 000023
【図１２】
2004306596.tif 000024
【図１３】
2004306596.tif 000025
【図１４】
2004306596.tif 000026