(57)【要約】【課題】  ホストコンピュータでの記録データの生成に要する時間を短縮すると共に、記録装置でレジスト調整に必要となるバッファ容量を減少させる。【解決手段】  複数の記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、配列方向と交差する方向に走査させて記録を行う記録装置の記録データに関して、各記録素子列間の走査方向における相対位置に関するレジスト調整のうち、バイト単位での大まかな調整をホスト機器で行い、ビット単位でのレジスト調整を記録装置で行う。【選択図】  図１４
2006015739.tif 000002
【特許請求の範囲】
【請求項１】
複数の記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、前記配列方向と交差する方向に走査させて記録を行う記録装置であって、
接続されたホスト機器から送信された、各記録素子列間の走査方向における相対位置に関して第１の単位での調整がなされた各記録素子列の記録データ、及び前記走査方向における相対位置に関して前記第１の単位より小さい第２の単位でのレジスト情報を含む設定データを格納する受信バッファと、
各記録素子列の記録データを、前記走査方向における記録位置に関連付けて格納する記録バッファと、
前記レジスト情報に基づいて、各記録素子列の記録データの格納位置を前記第２の単位で調整して前記記録バッファに格納するように制御する書き込み制御手段と、
を備えることを特徴とする記録装置。
【請求項２】
前記第１の単位がバイトであり、前記第２の単位がビットであることを特徴とする請求項１に記載の記録装置。
【請求項３】
前記記録バッファに格納された記録データを読み出すための読み出しアドレス情報を各記録素子列毎に制御する読み出し制御手段と、
前記読み出しアドレス情報に基づいて読み出された記録データに従って各記録素子列を駆動して記録を行う記録制御手段と、を更に備えることを特徴とする請求項１又は２に記載の記録装置。
【請求項４】
各記録素子列によってそれぞれ異なった色で記録を行うように構成されていることを特徴とする請求項１から３のいずれか１項に記載の記録装置。
【請求項５】
前記記録バッファは、前記走査方向における記録領域を複数のブロックに分割し、該ブロック毎に記録データを格納するように構成されており、
前記書き込み制御手段は、前記記録データに含まれるデータの有無を識別するための情報と、該データのラスター数と、該データのレジスト情報と、を記録素子列毎に格納するレジスタを有することを特徴とする請求項１から４のいずれか１項に記載の記録装置。
【請求項６】
前記書き込み制御手段は、各ブロックに対する各記録素子列の記録データの有無に応じて、前記記録バッファに格納するためのアドレス情報を制御することを特徴とする請求項５に記載の記録装置。
【請求項７】
各記録素子からインクを吐出して記録を行うことを特徴とする請求項１から６のいずれか１項に記載の記録装置。
【請求項８】
複数の記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、前記配列方向と交差する方向に走査させて記録を行い、接続されたホスト機器から送信された、各記録素子列間の走査方向における相対位置に関して第１の単位での調整がなされた各記録素子列の記録データ、及び前記走査方向における相対位置に関して前記第１の単位より小さい第２の単位でのレジスト情報を含む設定データを格納する受信バッファと、各記録素子列の記録データを、前記走査方向における記録位置に関連付けて格納する記録バッファと、を備える記録装置のデータ処理方法であって、
前記レジスト情報に基づいて、各記録素子列の記録データの格納位置を前記第２の単位で調整して前記記録バッファに格納するように制御する書き込み制御工程と、
前記記録バッファに格納された記録データを読み出すための読み出しアドレス情報を各記録素子列毎に制御する読み出し制御工程と、
前記読み出しアドレス情報に基づいて読み出された記録データに従って各記録素子列を駆動して記録を行う記録制御工程と、
を備えることを特徴とする記録装置のデータ処理方法。
【請求項９】
複数の記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、前記配列方向と交差する方向に走査させて記録を行う記録装置と、該記録装置に接続され、前記記録装置に対して設定データ及び記録データを送信するホスト機器と、を含む記録システムであって、
前記ホスト機器が、各記録素子列間の走査方向における相対位置に関して第１の単位での調整がなされた各記録素子列の記録データと、各記録素子列間の前記走査方向における相対位置に関して前記第１の単位より小さい第２の単位でのレジスト情報を含む設定データを送信し、
前記記録装置が、各記録素子列の記録データを、前記走査方向における記録位置に関連付けて格納する記録バッファを備え、前記レジスト情報に基づいて、各記録素子列の記録データの格納位置を前記第２の単位で調整して前記記録バッファに格納するように制御することを特徴とする記録システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記録装置、記録装置のデータ処理方法、及び記録システムに関し、より詳細には、複数の記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、記録素子の配列方向と交差する方向に走査させて記録を行う記録装置における、記録データの処理に関するものである。
【背景技術】
【０００２】
例えばワードプロセッサ、パーソナルコンピュータ、ファクシミリ等に於ける情報出力装置として、所望される文字や画像等の情報を用紙やフィルム等シート状の記録媒体に記録を行うプリンタが広く使用されている。
【０００３】
プリンタの記録方式としては様々な方式が知られているが、用紙等の記録媒体に非接触記録が可能である、カラー化が容易である、静粛性に富む、等の理由でインクジェット方式が近年特に注目されており、又その構成としては、所望される記録情報に応じてインクを吐出する記録ヘッドを搭載したキャリッジを用紙等の記録媒体の搬送方向と交差する方向に往復走査させながら記録を行なう、シリアル記録方式が安価で小型化が容易などの点から一般的に広く用いられている。
【０００４】
従来、記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行うために、記録ヘッドの走査方向の記録領域を複数の領域に分割し、分割された領域単位の記録データを格納するバッファを有する記録装置（印刷装置）が知られている。
【０００５】
このような記録装置では、分割された領域単位の記録データをバッファに格納する際に、色データ毎にデータの格納領域を切替える情報と格納可能なバッファ残量及び書き込みアドレス更新量の比較の結果とに基づき、領域単位の記録データの書き込みアドレス情報を、色データ毎に制御する書き込み制御部を備えている。
【０００６】
また、バッファに格納された記録データを読み出すための読み出しアドレス情報を色データ毎に制御する読み出し制御部と、読み出しアドレス情報に基づいて読み出された記録データに従い、分割された領域単位の記録データを生成する記録データ生成手段とを備えている。
【０００７】
このように構成された従来の記録装置では、実際に記録を行う前に走査方向における記録位置の調整（レジスト調整）を行う必要があるが、このようなレジスト調整は、ホストコンピュータ（プリンタドライバ）側において実行する構成（特許文献１）と、記録装置側で実行する構成とがある。
【特許文献１】特開２００３−３０５８９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
記録装置に転送する記録データは記録・非記録を表す１ビット（２値）で表現されるのが一般的であるが、通常ホストコンピュータのデータ処理単位は１６ビットや３２ビットに設定されている。このため、ホストコンピュータで記録データのような１ビットのデータを処理するのは効率が悪く、処理に時間がかかってしまう。
【０００９】
従って、ホストコンピュータ（プリンタドライバ）でレジスト調整を行う場合、記録データの量が増大すると、ホストコンピュータでの記録データの生成に時間がかかり、記録を指示してから記録装置で記録が実行されるまでの実効的な速度が低下することとなる。
【００１０】
一方、記録装置でレジスト調整を行う際には、必ずレジスト調整の幅に応じたバッファサイズを必要とするため、レジスト調整の幅が大きくなると、記録装置で必要となるバッファサイズが大きくなってしまい、ハードウェアのコストが増大してしまう。
【００１１】
本発明は以上のような状況に鑑みてなされたものであり、ホストコンピュータでの記録データの生成に要する時間を短縮すると共に、記録装置でレジスト調整に必要となるバッファ容量を減少させることを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成する本発明の一態様としての記録装置は、複数の記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、前記配列方向と交差する方向に走査させて記録を行う記録装置であって、
接続されたホスト機器から送信された、各記録素子列間の走査方向における相対位置に関して第１の単位での調整がなされた各記録素子列の記録データ、及び前記走査方向における相対位置に関して前記第１の単位より小さい第２の単位でのレジスト情報を含む設定データを格納する受信バッファと、
各記録素子列の記録データを、前記走査方向における記録位置に関連付けて格納する記録バッファと、
前記レジスト情報に基づいて、各記録素子列の記録データの格納位置を前記第２の単位で調整して前記記録バッファに格納するように制御する書き込み制御手段と、
を備えている。
【００１３】
このようにすると、各記録素子列間の走査方向における相対位置に関する調整のうち、第１の単位での大まかな調整がホスト機器で行われ、第１の単位よりも小さい第２の単位での調整が記録装置で行われる。このため、ホスト機器で各記録素子列間の走査方向における相対位置の調整を全て行う場合と比べて、ホスト機器から記録データを転送するのに要する時間が短縮され、記録装置で各記録素子列間の走査方向における相対位置の調整を全て行う場合に比べて、記録装置のバッファサイズを低減することができる。
【００１４】
従って、記録装置のコストを上昇させずに、記録を指示してから実際に記録が開始されるまでの実効的な記録速度を向上させることができる。
【００１５】
なお、第１及び第２の単位の例としては、第１の単位がバイト、第２の単位がビットとすることが考えられる。
【００１６】
記録バッファに格納された記録データを読み出すための読み出しアドレス情報を各記録素子列毎に制御する読み出し制御手段と、読み出しアドレス情報に基づいて読み出された記録データに従って各記録素子列を駆動して記録を行う記録制御手段と、を更に備えるのがよい。
【００１７】
各記録素子列によってそれぞれ異なった色で記録を行うように構成されているのが好ましい。
【００１８】
好適には、記録バッファは、走査方向における記録領域を複数のブロックに分割し、該ブロック毎に記録データを格納するように構成されており、書き込み制御手段は、記録データに含まれるデータの有無を識別するための情報と、該データのラスター数と、該データのレジスト情報と、を記録素子列毎に格納するレジスタを有する。
【００１９】
書き込み制御手段は、各ブロックに対する各記録素子列の記録データの有無に応じて、記録バッファに格納するためのアドレス情報を制御するのがよい。
【００２０】
各記録素子はインクを吐出して記録を行うように構成されているのがよく、より好ましくは、各記録素子は、熱エネルギーを利用してインクを吐出すべく、インクに与える熱エネルギーを発生するための熱エネルギー変換体を備えている構成である。
【００２１】
上記目的を達成する本発明の別の態様としての記録システムは、複数の記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、前記配列方向と交差する方向に走査させて記録を行う記録装置と、該記録装置に接続され、前記記録装置に対して設定データ及び記録データを送信するホスト機器と、を含む記録システムであって、
前記ホスト機器が、各記録素子列間の走査方向における相対位置に関して第１の単位での調整がなされた各記録素子列の記録データと、各記録素子列間の前記走査方向における相対位置に関して前記第１の単位より小さい第２の単位でのレジスト情報を含む設定データを送信し、
前記記録装置が、各記録素子列の記録データを、前記走査方向における記録位置に関連付けて格納する記録バッファを備え、前記レジスト情報に基づいて、各記録素子列の記録データの格納位置を前記第２の単位で調整して前記記録バッファに格納するように制御する。
【００２２】
なお、上記の目的は、上記記録装置に対応したデータ処理方法、該方法をコンピュータ装置によって実現させるコンピュータプログラム、該コンピュータプログラムを格納した記憶媒体によっても達成される。
【発明の効果】
【００２３】
本発明によれば、各記録素子列間の走査方向における相対位置に関する調整のうち、第１の単位での大まかな調整がホスト機器で行われ、第１の単位よりも小さい第２の単位での調整が記録装置で行われる。このため、ホスト機器で各記録素子列間の走査方向における相対位置の調整を全て行う場合と比べて、ホスト機器から記録データを転送するのに要する時間が短縮され、記録装置で各記録素子列間の走査方向における相対位置の調整を全て行う場合に比べて、記録装置のバッファサイズを低減することができる。
【００２４】
従って、記録装置のコストを上昇させずに、記録を指示してから実際に記録が開始されるまでの実効的な記録速度を向上させることができる。
【発明を実施するための最良の形態】
【００２５】
以下に、図面を参照して、本発明の好適な実施の形態を例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００２６】
なお、この明細書において、「記録」（「プリント」という場合もある）とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わず、また人間が視覚で知覚し得るように顕在化したものであるか否かを問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
【００２７】
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
【００２８】
さらに、「インク」（「液体」と言う場合もある）とは、上記「記録（プリント）」の定義と同様広く解釈されるべきもので、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理（例えば記録媒体に付与されるインク中の色剤の凝固または不溶化）に供され得る液体を表すものとする。
【００２９】
またさらに、「ノズル」とは、特にことわらない限り吐出口ないしこれに連通する液路およびインク吐出に利用されるエネルギーを発生する素子を総括して言うものとする。
【００３０】
以下、本発明をインクジェット記録装置（印刷装置）に適用した一実施形態について具体的に説明する。
【００３１】
＜記録装置の概略構成＞
図１は、本実施形態のインクジェット記録装置の概略構成を示すカバーを外した状態の斜視図である。
【００３２】
図１において、キャリッジ１０１は記録ヘッド（不図示）とカートリッジ１１０を搭載し、ガイド軸１０２に沿って走行可能である。なお、本実施形態では、記録ヘッドは、インクジェット方式の記録ヘッドである。また、１０３はシャーシであり、メインシャーシ１０３ａと左右の側面板１０３ｂ及び１０３ｃから構成される。１０８はキャリッジの駆動源であるキャリッジモータであり、１０９はキャリッジに接続されキャリッジモータ１０８によって駆動されるベルト、１３０は記録ヘッド吐出面の清掃や吸引動作行う回復系ユニット、１４０はキャリッジ１０１に搭載された発光素子及び受光素子と共にキャリッジの位置及び速度を算出するＣＲエンコーダを構成するスケールである。
【００３３】
記録媒体としての記録紙は、給紙ローラ（不図示）によって装置本体内に送り込まれ、紙送りローラ１０５とピンチローラ（不図示）、紙押え板（不図示）によって狭持され、記録ヘッドの記録領域へと搬送され記録が行われる。
【００３４】
インクカートリッジ１１０は、イエロー、マゼンタ、シアンの３色のインクを収容したカラーインクカートリッジと、ブラックインクを収容したブラックインクカートリッジの２種類で、それぞれ別々にカートリッジガイド７に挿入され、記録ヘッドと接続される。
【００３５】
本実施形態のインクジェット記録装置は、ホストコンピュータと接続され、ホストコンピュータ（プリンタドライバ）から記録データの供給を受けて記録を行う。また、本実施形態の記録装置は、記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行うために、記録ヘッドの走査方向の記録領域を複数の領域に分割し、分割された領域単位で画像を記録（印刷）する。
【００３６】
その場合、本実施形態のインクジェット記録装置では、後述するように、ホストコンピュータ側では、バイトを単位とした記録データ位置の調整（レジスト調整）のみを行い、ビット単位のレジスト調整は、記録装置側の記録バッファリング構造制御回路８で行う。そのため、ホストコンピュータでの記録データの生成が高速化され、実効的な記録速度の高速化を図ることが可能となる。
【００３７】
＜記録制御部の構成＞
図２は、本発明にかかる記録装置の記録制御部の構成を示すブロック図である。同図に於いて、１はインターフェース信号線Ｓ１を介してホストコンピュータ（不図示）から転送されてくるデータを受信し、その受信したデータの中から、記録装置の動作に必要なデータ及び記録データを抽出して一旦蓄えるインターフェース制御部（コントローラ）であり、インターフェースコントローラ１で抽出されたデータは信号線Ｓ２を介して受信バッファ２に格納される。
【００３８】
受信バッファ２はＳＲＡＭもしくはＤＲＡＭ等の記憶装置（メモリ）で構成され、この受信バッファに蓄えられるデータは図３（ａ）、（ｂ）で示すような構造のものとなる。
【００３９】
図３（ａ）において受信バッファのデータ構造が示されるように、左から順に「コマンド」（２０１）、「データ長」（２０２）、「設定データ」（２０３）のデータが格納され、これに続いて「コマンド」（２０４）、「データ長」（２０５）、「設定データ」（２０６）のデータが格納されている。これは時系列順に転送されてきたデータが、受信バッファの連続したアドレスに格納されることを示し、ここで示す設定データ２０６は、例えば給紙の実行や紙送り量の設定、使用する記録ヘッド数等を示す情報であり、この設定データで定められた情報が全て揃って初めて記録装置で記録が可能となる。この後に、記録の対象となる記録データ（２０９、２１２）が受信バッファ２に格納される。
【００４０】
この記録データ（２０９、２１２）は、記録ヘッドが記録媒体上を１度の走査で記録する際に必要とされるデータ量を、それより少ないデータ量としてブロック単位に分割したデータであり、そのブロック単位で記録データを区切り、順次第１ブロックデータ（２０９）、第２ブロックデータ（２１２）、…として格納される。
【００４１】
図３（ｂ）はブロック単位に分割された記録データのデータ構造を詳細に示す図であり、同図で示すように、複数の色のデータ（２１３〜２１４）が各々圧縮されたデータとして順次格納される。この色データは、インクの色（シアン、イエロー、マゼンタ、黒）に対応した記録データのことであり、「色変えコード」（２１６、２１７、２１８）で区切られる。
【００４２】
例えば、シアン、イエロー、マゼンタ、それと黒の４色の色データを想定した場合、各色毎に縦６４ノズルを１列としたノズル列が走査方向に２列ずつ配列する記録ヘッドを用いると、各ノズル列単位のデータが１つの色データを構成することになるのでノズル２列が４色分、すなわち、圧縮された第１色から第８色の色データが一つのブロックデータ内に記録データとして格納される。このノズル列の各ノズルは、記録媒体の搬送方向に並んでいる。例えば、第１色と第２色がシアンのデータ、第３色と第４色はマゼンタのデータ、第５色と第６色はイエローのデータ、第７色と第８色は黒のデータとなる。
【００４３】
図４は記録データを保持する記録バッファのデータ構造を示す図である。例えば１回の走査で最大約８インチの走査方向の長さを記録する場合、１つのブロックデータが走査方向に約１インチの記録ができるサイズとすると、トータル８ブロックの記録データを記録すれば、１走査分の画像が完成することになる。第１ブロックから第８ブロックは記録ヘッドの走査方向に配置され、各ブロックデータには、第１色データから第８色データが格納される。各ブロック内に格納される各色データの長さは記録ヘッドのノズル数に対応するものである。
【００４４】
説明を図２に戻し、各制御ブロックの説明を続ける。受信バッファ２に格納されるデータのうち、記録装置の制御用の設定値である「コマンド」、「データ長」、「設定データ」は、インターフェースコントローラ１から信号線Ｓ９０２を介してＣＰＵ９により読み出され、図中にある各部制御回路（７、８）に設定される（Ｓ９０３、Ｓ９０７）。ＣＰＵ９は読み出したデータ（図３（ａ）の２０１〜２０８に相当するデータ）を解釈し、その結果に従って記録装置の全体的な記録制御を統括する。一方、ＣＰＵ９は記録データの処理に関してはデータ解凍ブロック５５を起動して処理を実行させるものとする。
【００４５】
データ解凍ブロック５５は受信バッファ２から、図３（ｂ）で示されるように「圧縮ＴＡＧ」と「データ」及び「色変えコード」の３種類のデータを読み出し、これらのデータに基づきデータの展開制御を実行する。本実施形態ではデータの圧縮／解凍方法としてＰａｃｋＢｉｔｓ圧縮を用いたので、圧縮ＴＡＧが８ビットで００ｈから７Ｆｈまでの値の場合、非連続なデータが１から１２８個データ領域に有るとして処理し、圧縮ＴＡＧが８ビットでＦＦｈから８１ｈまでの値の場合、次の１バイトデータを連続した２から１２８個のデータに解凍する処理を行う。圧縮ＴＡＧの所で、８０ｈを読み出した場合は色変えコードとして処理する。解凍したデータを信号線Ｓ４ａを介して、画像変換ブロック５４に送る。この画像変換ブロックにてＨＶ変換がなされ、信号線Ｓ４ｂを介してＨＶ変換されたデータが記録バッファ４に格納される。
【００４６】
記録バッファ４には解凍およびＨＶ変換された記録データが図４に示すデータ構造で格納される。記録バッファ４の先頭アドレスには第１ブロックの第１色データの先頭データが書き込まれ、その後に続くデータは、アドレスを適宜変更しながら順次書き込まれる。記録バッファのアドレスに一つの色データとして格納できる領域は、最初にＣＰＵ９が読み込んだ設定データで決定され、その値以上のデータは書き込めないので記録データを圧縮する際には、その設定データに従ったデータサイズの制限が加えられることになる。色変えコードを検出した後のデータは第２色データの先頭番地から順次書き込まれる。このアドレスデータの制御は後に説明する記録バッファリング制御構造回路８が実行することになる。
【００４７】
この書き込みを第１ブロックの第１色データから第８色データまで繰り返し、第８色データの書き込みを終えて色変えコードを検知すると、第１ブロックのデータが全て書き込み終えたことになる。データ解凍ブロック５５はデータの展開動作を終了し、ＣＰＵ９に対しブロック１個分のデータの展開が完成したことを割込み（Ｓ９０６）で伝え、ＣＰＵ９からの次のデータ展開の起動を待つ。
【００４８】
記録バッファ４上に複数ブロックの記録データが揃った段階で、ＣＰＵ９は記録動作を開始すべくキャリッジモータ（図１の１０８）を動作させ、記録ヘッド６を搭載したキャリッジを走査させながら、記録データをキャリッジエンコーダ（ＣＲエンコーダ）１０に同期して転送し、記録することで紙面上（記録媒体に）に画像を完成させることができる。記録ヘッド６が主走査方向に走査した後、搬送手段が記録媒体を副走査方向に搬送する。こうして、記録ヘッドの走査と、記録媒体の搬送を繰り返し行って、１ページ分の画像の記録を行う。
【００４９】
記録データ生成ブロック５は、記録バッファ４上に有る記録データの各ブロック構造を、ＣＰＵ９から指定された値に従って、ＣＲエンコーダ１０に同期したタイミングで信号線Ｓ５を介して読み出し、記録ヘッド６が記録できるデータ構造に変換しながら信号線Ｓ６に出力していく。この記録データ生成ブロック５は後で述べる記録バッファ内のブロック幅（ブロックの長さを示す。）の情報、ブロックの各色の高さ（色データの「ラスター数」という。）についての情報を保持する。
【００５０】
尚、記録バッファ４から読み出されたデータ領域は次の記録データを蓄えるために、零クリアされる。
【００５１】
＜受信バッファの書き込み、読み出し制御＞
以上説明したように受信バッファ２には、インターフェースコントローラ１がデータを書き込み、データ解凍ブロック５５が記録データのみを読み出すが、その書き込みアドレスと読み出しアドレスを制御しているのが受信バッファリング構造制御回路７である。受信バッファリング構造制御回路７は受信バッファ２の先頭アドレスと最終アドレス、それと書き込みアドレスと読み出しアドレスの管理を行っている。
【００５２】
受信バッファリング構造制御回路７はインターフェースコントローラ１から受信する書き込み要求信号（Ｓ７０１）を受け付け毎に１アドレスずつ加算し、これを書き込みアドレスの情報として受信バッファ２に出力する（Ｓ７０２）。そして、受信バッファリング構造制御回路７は受信バッファ２の最終アドレスに達した場合に書き込みアドレスを受信バッファ２の先頭のアドレスに戻す制御を行う。
【００５３】
また、書き込みアドレスが読み出しアドレスに到達（一致）した場合、受信バッファ２がデータでいっぱいになり、次のデータを書き込めない旨をインターフェースコントローラ１に信号線Ｓ７０３を介して通信する。
【００５４】
このとき同時にＣＰＵ９に対しても信号線Ｓ９０４の割込み信号により、受信バッファ２はデータの書き込みができない状態であることを知らせる。受信バッファ２の構造はＣＰＵ９が信号線Ｓ９０３のバスを用いて内部のレジスタに書き込むことで設定することができる。
【００５５】
読み出しアドレスは、ＣＰＵ９が受信バッファリング構造制御回路７の中に有るデータリード用レジスタを介して直接に受信バッファ２の中のデータを読み出す場合と、データ解凍ブロック５５がデータ読み出し要求信号線Ｓ７０５を介して要求した場合に、読み出しアドレスとして信号線Ｓ７０６を介して１アドレスずつ加算されて受信バッファ２に出力される。
【００５６】
受信バッファリング構造制御回路７は読み出しアドレスが最終アドレスに達した場合、読み出しアドレスを受信バッファ２の先頭アドレスに戻す制御を行う。また読み出しアドレスが書き込みアドレスに到達(一致）した場合、受信バッファ上からデータがなくなったので、次のデータを読み出せない旨をデータ解凍ブロックに信号線Ｓ７０４を介して通信する。このとき同時にＣＰＵ９に対しても信号線Ｓ９０４の割込み信号線で、受信バッファ２上には、読み出すデータが無い旨を知らせる。
【００５７】
以上が受信バッファ２に対するデータの書き込み、読み取り制御の処理内容である。次に、この受信バッファ２から読み出され、展開処理されたデータを記録バッファに書き込み、あるいはその記録バッファからデータを読み取るための処理内容を説明する。
【００５８】
＜記録バッファの書き込み、読み出し制御＞
記録バッファ４に対して、画像変換ブロック５４が記録データを書き込み、記録データ生成ブロック５がその書き込まれた記録データを読み出すが、その際、書き込みアドレスと読み出しアドレスを制御しているのが記録バッファリング構造制御回路８である。
【００５９】
記録バッファリング構造制御回路８は記録バッファの先頭アドレスと、最終アドレス、それと書き込みアドレスと、読み出しアドレスの管理を行っている。
【００６０】
記録バッファリング構造制御回路８は画像変換ブロック５４から受信する書き込み要求信号（Ｓ８０１）を受け付ける毎にアドレスを適宜変更し、これを書き込みアドレスの情報として記録バッファ４に出力する（Ｓ８０２）。そして、記録バッファリング構造制御回路８は記録バッファ４の最終アドレスに達した場合に書き込みアドレスを記録バッファ４の先頭のアドレスに戻す制御を行う。
【００６１】
また、書き込みアドレスが読み出しアドレスに到達（一致）した場合、記録バッファ４が記録データでいっぱいになり、次の記録データを書き込めない旨を画像変換ブロック５４に信号線Ｓ８０９を介して通信する。
【００６２】
また、データ解凍ブロック５５が色変えコードを受信バッファ２から読み込んだ場合、データ解凍ブロック５５は信号線Ｓ５４１を介して画像変換ブロック５４にその旨を通信し、画像変換ブロックは、信号線Ｓ８０７を介して、記録バッファリング構造制御回路に出力する。記録バッファリング構造制御回路８は次の色のデータを格納する先頭番地を信号線Ｓ８０２から出力するように準備する。記録バッファ４の構造はＣＰＵ９が信号線Ｓ９０７のバスを用いて内部のレジスタに書き込むことで設定することができる。
【００６３】
読み出しアドレスは、記録データ生成ブロック５が各色毎にデータ読み出し要求信号線Ｓ８０５を介して要求すると、読み出しアドレスとして信号線Ｓ８０６を介して１アドレスずつ加算されて記録バッファ４に出力される。
【００６４】
記録バッファリング構造制御回路８は読み出しアドレスが最終アドレスに達した場合、読み出しアドレスを記録バッファ４の先頭アドレスに戻す制御を行う。
【００６５】
記録データ生成ブロック５は現在読み出している記録データブロックのデータ構造をＣＰＵ９から信号線Ｓ９０８のバスを介して、記録データ生成ブロック５内部にあるレジスタに設定する。設定された記録データブロック構造内にある記録データを全て読み出すと終了信号Ｓ９０９をＣＰＵ９に対し割り込み信号として通信する。この際、記録バッファ４上に次の記録データブロックがすでに展開されているならば、その記録データブロック構造をレジスタに書き込む。
【００６６】
記録バッファ４は１記録データブロック単位でデータの書き込みを制御しており、書き込まれていない記録データブロックに対し記録データ生成ブロックを起動しないので、記録バッファの読み出しアドレスが書き込みアドレスを越えることは起きない。１１は、バッファ構造情報メモリである。これは、記録バッファの制御用の作業用メモリ（ワークＲＡＭ）で、後で述べる記録バッファ構造についての情報を一時的に格納する領域である。
【００６７】
＜記録バッファリング構造制御回路の説明＞
記録バッファリング構造制御回路の説明を図５及び図７を用いて説明する。記録バッファリング構造制御回路の処理において、図５は書き込みアドレス制御を中心に説明する図であり、図７は記録バッファリング構造制御回路８の読み出しアドレス制御を中心に説明する図である。
【００６８】
記録バッファリング構造制御回路８は読み出し制御部８Ａと書き込みアドレス制御部８Ｂで構成されている。また、記録バッファ４のバッファ領域は、記録バッファの先頭のアドレスをtop_adrで示し、最終アドレスをbottom_adrで表示する。この先頭アドレスは書き込みアドレス制御部８Ｂ内のレジスタ８０３に格納され、最終アドレスは書き込みアドレス制御部８Ｂ内のレジスタ８０４に格納される。
【００６９】
記録バッファ４に示される「ＲＰ」はリードポインタを示し、「ＷＰ」はライトポインタを示す。記録バッファの中のＲＰとＷＰの間のハッチング部分は記録データが格納されていることを表している。また、記録バッファ４の白色部分は記録データが格納されていないことを表す。
【００７０】
読み出しアドレス制御部８Ａ内の８０２は、データの読み出しアドレス（ＲＰ：リードポインタ）を示すレジスタである。８０５から８１２は第１色から第８色について、各色の情報を格納するレジスタである。ここで、レジスタ８０５には第１色目データのバッファの高さ情報（1st_hight）と、第１色データの有り無しを示す情報（1_color_bit）と、第１色目のレジスト調整値情報（1_reg_wnum）が格納され、同様にレジスタ８０６〜８１２についても第２色〜第８色について同様の情報が設定される。
【００７１】
なお、レジスト調整値情報は、ノズル列間のラスタ方向における相対位置に対応した値となるので、１つのノズル列に対しては常に同じ値となる。例えば、第１色データを基準とすると、第１色データの対するレジスト調整値情報は０、第２色データに対するレジスト調整値情報は第１色データを記録するノズル列と第２色データを記録するノズル列との間のラスタ方向における相対距離に対応した値となる（例えば、カラム数に対応する）。
【００７２】
８１３はブロックの幅情報（block_width）を設定するレジスタであり、この幅情報は第１色〜第８色までブロック単位で、共通して使われる値である。
【００７３】
上述のブロックの高さ情報、幅情報及びレジスト調整値情報は、図３（ａ）で説明した設定データに含まれる情報である。
【００７４】
８１５は次のブロックデータのアドレスを格納するレジスタであり、このアドレスは各色に関する情報を格納するレジスタ８０５からレジスタ８１２のうちのいずれかの値と、ブロックデータに関する幅の情報を格納するレジスタ８１３の値を用いて決定することができる。書き込み制御部８Ｂは、書き込み対象となる第１ブロックデータに関する設定情報に従い、次に書き込み対象となる第２ブロックデータの書き込み開始アドレスを決定し、このレジスタに格納する。
【００７５】
８１７はレジスト調整分の書き込み開始アドレスを格納するレジスタであり、このアドレスは各色に関する情報を格納するレジスタ８０５からレジスタ８１２のうち全ての値と、ブロックデータに関する幅の情報を格納するレジスタ８１３の値を用いて決定することができる。書き込み制御部８Ｂは、書き込み対象となる第１ブロックデータに関する設定情報に従い、次に書き込み対象となるレジスト調整分の書き込み開始アドレスを決定し、このレジスタに格納する。
【００７６】
なお、書き込み制御部８Ｂは、例えば第１の色データについて説明すると、所定のラスタ位置に格納する場合、第１ブロックのデータに対応する記録データの書き込み完了前に、第１ブロックのデータのレジスト調整幅分を反映した第２ブロックでの書き込み開始アドレス情報を決定している。従って、図８を用いて後述するが、第１ブロックに格納できなかった記録データを、第２ブロックにおいて第１の色データの同じラスタ位置に対応する先頭アドレスに格納することができる。このことは、他の色データ（第２色データ〜第８色データ）についても同様である。
【００７７】
書き込み制御部８Ｂは、第１ブロックデータに対応する記録データの書き込み完了前に、第１ブロックデータのレジスト幅分に対する書き込みアドレス情報を、決定した書き込み開始アドレスに更新することができる。
【００７８】
また、８１６はデータの書き込みアドレス（ＷＰ）を格納するレジスタである。
【００７９】
８１４はアドレス制御レジスタで、書き込みアドレス（ＷＰ）が読み出しアドレス（ＲＰ）を追い越さないように（両アドレスが重複したアドレスを指定しないように）書き込み処理、読み出し処理の管理をする。
【００８０】
＜記録バッファへのデータの格納（図６）＞
図６は、記録バッファ４に記録データがどのように格納されるか説明する図である。図６（ａ）では、第１色データとして縦に順に４ワード分ずつ、格納される状態を示す。ここで１ワードが１６画素分に対応している。レジスタに情報を格納するアドレスは１ずつインクリメントされるものとすると、ライトポインタ（ＷＰ）は１→２→３→４→５→…とカウントされる。
【００８１】
例えば、図６（ａ）のレジスタの設定は、バッファの高さ情報（ラスター数）の値（1st_hight）は「４」であり、データの有り無し情報（1_color_ビット）の値は「１（有り）」である。レジスタ８１３（ブロックの幅情報：block_width）の値は「２８」である。
【００８２】
図６（ｂ）は、第２色データがある場合に、記録バッファ４へのデータの書き込みを示す図である。第１色の格納領域に全てデータを格納した後、矢印のようにライトポインタ（ＷＰ）を第２色の先頭アドレスへ移動し、第２色のデータの格納を行う。図６（ｃ）では、第２色データが無い場合、第１色データの格納領域に続き、第３色データが格納されることを示す。この場合、図５で示すレジスタ８０６の第２色データの有り無し情報（2_color_bit）は、データ無しを示す「０（無し）」である。あるいは、バッファの高さ情報（2nd_hight）が「０」であれば、データが無いことを示すので、この情報を用いてもかまわない。あるいはデータの有り無し情報とバッファの高さ情報との論理積演算（ＡＮＤ処理）を行ってその結果を用いて判断しても良い。
【００８３】
図６（ｄ）では、第２色のデータについて、書き込み位置を示すｅ１（ＷＰ：ライトポインタ）は、読み出し位置を示すｅ２（ＲＰ：リードポインタ）の手前で書き込みを停止することを示す。これは、読み出しが終了していない位置には、データの書き込みを禁止して、上書きをすることを防ぐ制御を行うものである。以上の制御は、第３色から第８色の領域についても同様である。
【００８４】
＜記録バッファへのデータの格納処理＞
図８及び９は、レジスト調整値がゼロでない時に、記録バッファ４に記録データがどのように格納されるか説明する図である。図８及び９では、第１色データとして縦に順に３ワード分ずつ、格納されている状態を示す。ここで１ワードが１６画素分に対応している。
【００８５】
ここで、図８はデータが入力される順番を示し、図９は実際に書き込まれるアドレスを示している図である。
【００８６】
また、図８及び９の斜線部は第１色目のレジスト調整値（６）および第２色目のレジスト調整値（２）を示している。実際の書き込み開始位置は図８に示す位置からになるが、実アドレスは図９に示す通り、レジスト調整値に対応してスキップした位置（例えば左から７つ目の２４）から始まることになる。
【００８７】
また、図８及び９の２つの図は対応しているので、例えば１番目に書き込まれるデータのアドレスは、図９に示すように２４となり、２番目に書き込まれるデータのアドレスは図９に示すように２Ａとなる。
【００８８】
ここで、図８及び９のレジスタの設定は、バッファの高さ情報（ラスター数）の値（1st_hight）は「３」であり、データの有り無し情報の値（1_color_bit）は「１（有り）」である。レジスタ８１３（ブロックの幅情報：block_width）の値は「１６」である。第１色目のレジスト調整値（1_reg_wnum）は６で第２色目のレジスト調整値（2_reg_wnum）は３である。
【００８９】
この時、例えば図８において、レジスタに情報を格納するアドレスを右に１ずつインクリメントすると、図９においてライトポインタ（ＷＰ）の実アドレスは０→６→Ｃ→１２→１８→…とカウントアップされることになる。
【００９０】
ここで、データを書き込む順番は、図８及び図９の様に１６個単位で一つ下の段に行っても構わないし、データを受信する順序により、ブロック幅まで進んだ後（１０個単位）一つ下の段に移っても構わない（図８で、１０の位置の次に１７の位置に進む）。
【００９１】
また、図８に示す通りに、第１色データについて、１０個目までデータが書き込まれた（格納された）後、１１個目のデータを書き込む先は、次のブロック（第２ブロック）の先頭になる。これはレジスト調整を行うことによって、現在のブロック（第１ブロック）に入りきらなくなったデータを書き込む（格納する）ためである。
【００９２】
レジスト調整分の書き込みが終了（図８で１６番目のデータ書き込みが終了）すると、１７個目のデータは、現在のブロック（第１ブロック）から書かれることになる。これは実際のアドレスが図９で１６個目がＤＥで、１７個目が２６になると言うことである。
【００９３】
この様にして、現在のブロック（第１ブロック）と次のブロック（第２ブロック）との間を行き来することで、レジスト調整を行いながら、第１色目のデータを書き込んでいく。
【００９４】
第１色目のデータが全て書き終わると、同様の処理を第１ブロックの第２色目以降に行っていく。
【００９５】
また、レジスタに情報を格納するアドレスは、図６のように縦に１ずつインクリメントさせて、ライトポインタ（ＷＰ）の実アドレスを０→２→４→６→８→…とカウントアップさせてもよい。
【００９６】
ここで、図８においてレジスタに情報を格納するアドレスを縦に１ずつインクリメントさせないのは、画像変換ブロック３からのデータや、ホストからのデータの変更に柔軟に対応するためである。
【００９７】
例えば、画像変換ブロック３を使用しない時には、ホストからの記録データは、従来通りレジスタに情報を格納するアドレスは図６のように１ずつインクリメントさせて、ライトポインタ（ＷＰ）は１→２→３→４→５→…とカウントするように対応している。
【００９８】
しかし、画像変換ブロック３を使用して例えばＨＶ変換等を行うと、ＨＶ変換を行った後の記録記録データは、レジスタに情報を格納するアドレスは図６のように１ずつインクリメントさせて、ライトポインタ（ＷＰ）を１→２→３→４→５→…とカウントアップする事が出来なくなる。
【００９９】
その為、アドレスのインクリメント量に自由度を持たせることで、ホストからの様々なデータ転送方式にも対応でき、また画像変換ブロック３でのデータ変換にも対応することが出来るようになる。
【０１００】
＜レジスト調整による記録バッファ内のデータ＞
図１０Ａ、図１０Ｂ、図１０Ｃは、レジスト調整に関連したデータの状態を模式的に示す図である。図中の数字はいずれもブロック番号を示している。図１０Ａは、ホストコンピュータ（プリンタドライバ）で全てのレジスト調整を行った場合の転送データを示している。図１０Ｂは、ホストコンピュータから送信され記録装置が受信したデータを示している。このデータに対してはレジスト調整は行われていない。図１０Ｃは、図１０Ｂのようなデータに対して記録装置側でレジスト調整され、記録バッファに格納されたデータを示している。
【０１０１】
図１０Ａと図１０Ｃに示されたデータを記録媒体へ記録すると、いずれもレジスト調整がなされているため同様な記録結果となるが、図１０Ｃのデータは図１０Ｂの受信データに対して記録装置側でレジスト調整を行ったため、ラスタ方向にブロック位置がずれ、その結果として図１０Ｂのデータよりもブロック数が１つ増えている。
【０１０２】
このようにホストコンピュータから送信したブロック数と記録装置の記録バッファに書き込まれたブロック数が異なると、論理的な矛盾が生じてしまう。
【０１０３】
この様な矛盾が生じないように、図１０Ｂに示すようなデータをホストコンピュータから転送する場合、１ブロック余分なデータを付加して記録装置に送信し、ホストコンピュータと記録装置（記録バッファ）とのブロック数が同じとなるようにする。
【０１０４】
図１１Ａ、図１１Ｂ、図１１Ｃは、レジスト調整に関連したデータの状態を、図１０Ａ〜図１０Ｃと同様に示す図である。図１１Ａは、ホストコンピュータ（プリンタドライバ）で全てのレジスト調整を行った場合の転送データを示しており、図１０Ａと同様な構成となる。図１１Ｂは、ホストコンピュータから送信され記録装置が受信したデータを示している。このデータに対してはレジスト調整は行われていない。図１１Ｃは、図１１Ｂのようなデータに対して記録装置側でレジスト調整され、記録バッファに格納されたデータを示している。
【０１０５】
ここで、図１０Ｂ及び図１０Ｃに示したデータと、図１１Ｂ及び図１１Ｃに示したデータとを比較すると、図１０Ｂの受信データに対してレジスト調整を行った図１０Ｃのデータのブロック数は１つ増えているが、図１１Ｂの受信データに対してレジスト調整を行った図１１Ｃのデータのブロック数は増えていないことがわかる。ずなわち、ホストコンピュータから図１１Ｂのようなデータを転送する場合には、１ブロック余分に送信する必要はない。
【０１０６】
図１０Ｂ及び図１０Ｃに関連して、１ブロック余分に転送する場合についてもう少し詳しく説明する。図１２は、１ブロック余分に転送する場合のデータ構成を示す図である。この場合、留意すべきは１ブロック余分（追加された）に転送されたブロックの色変えコードの位置である。
【０１０７】
図１２において、（ａ）は圧縮前のデータを示し、（ｂ）は圧縮前のデータにレジスト調整幅を加えた状態を示し、（ｃ）は増えたブロックの後端を基準としたレジスト調整幅を示し、（ｄ）は色変えコードが挿入される位置（挿入されるべき位置）を示している。なお、（ｂ）のブロックは第ｎブロック、（ｃ）のブロックは第ｎ＋１ブロックとする。
【０１０８】
この場合、色変えコードの位置は、（ｄ）のクロスハッチの領域内にある必要がある。これは、（ｄ）の斜線部分の領域に色変えコードが入っていると、レジスト調整することによってブロックが更に１つ増えてしまうからである。
【０１０９】
図１３も図１２と同様に、（ａ）は圧縮前のデータを示し、（ｂ）は圧縮前のデータにレジスト調整幅を加えた状態を示し、（ｃ）は増えたブロックの後端を基準としたレジスト調整幅を示し、（ｄ）は色変えコードが挿入されるべき位置を示している。図１２と異なるのは、１ブロック余分に転送しない点である。
【０１１０】
この場合にも、（ｄ）のクロスハッチの領域以外に色変えコードが入っていると、レジスト調整することによって１ブロック増えてしまうため、色変えコードの位置は、（ｄ）に示すように、（ｃ）に示された後端を基準にしたレジスト調整幅の境界より前にある必要がある。
【０１１１】
＜レジスト調整値のデータ＞
図１４の（ａ）は、記録装置側のみでレジスト調整を行ったときに、レジスト調整値に基づく記録バッファの容量内に占めるレジスト調整領域（調整量）の割合を模式的に示し、（ｂ）はレジスト調整値の内訳を模式的に示す図である。
【０１１２】
（ａ）に示すように、記録バッファ１４００内において、レジスト調整値が占める部分を１４０１とすると、該レジスト調整値１４０１は、（ｂ）に示すように、バイトを単位とした調整値１４１１と１バイト未満（ビット単位）の調整値１４１２とに分けられる。
【０１１３】
本実施形態では、バイトを単位としたレジスト調整値１４１１をホストコンピュータで担当し、バイト単位に分けられない１バイト未満のレジスト調整値１４１２を、記録装置で担当するように分ける。
【０１１４】
図１５の（ａ）は、本実施形態の記録装置のレジスト調整値に基づく記録バッファ１４００’内に占めるレジスト調整領域（調整量）の割合を模式的に示し、（ｂ）はレジスト調整値の内訳を模式的に示す図である。（ｂ）に示すように、記録装置の記録バッファ１４００’内には１バイト未満（ビット単位）のレジスト調整値１４１２のみが格納される。このため、図１４との比較からも明らかなように、記録装置側のみでレジスト調整を行う場合よりも、記録装置のバッファ１４００’の容量を小さくできる。
【０１１５】
ここで、あるノズル列のデータについて、１バイト未満のレジ調整値が２ビット（２カラム相当）の場合を例として図１７に示す。行うべきレジ調整値３４カラム分である場合、この値をホスト装置で行うデータ単位で割った「余り」が、記録装置側で行うべきレジ調整の値である。また、行うべきレジ調整値をホスト装置で行うデータ単位で割った「商」が、ホスト装置側で行うべきレジ調整量である。この例では３４÷８＝４（商）、余り２である。つまり、ホスト装置側で、４バイト単位（３２カラム）の調整を行い、記録装置側で２ビット（２カラム）分の調整を行うのである。従って、ホスト装置において、１走査のデータの先頭に、４バイトに相当する２ブロック分（３２カラム＝１６カラム×２）のヌルデータが付加され、記録装置に転送される。記録装置は、２ビット分、全てのブロックについてシフトさせて格納する処理を行う。
【０１１６】
このように、レジスト調整値をホストコンピュータでの調整値と、記録装置での調整値とに分ける場合の処理方法について説明する。
【０１１７】
まずホストコンピュータにおいて、記録開始時にレジスト調整値をバイト単位のデータと、バイト未満のデータとに分ける。バイト未満のデータはビット単位で取り扱うことになる。
【０１１８】
この後の処理方法としては、大別して２つの方法がある。すなわち、ホストコンピュータと記録装置との両方でテーブルを用いて処理する方法と、テーブルを用いないで処理する方法である。
【０１１９】
このテーブルは、ノズル列ごとにレジスト調整値をもつ。例えば、記録ヘッドにおいて、シアンの色について第１のノズル列（偶数ノズルのグループ）と第２のノズル列（奇数ノズルのグループ）を有する場合には、でそれぞれ調整値をもつ。同様に、記録ヘッドが、マゼンタ、イエロ、ブラックの色についてそれぞれ２列づつ備えれば、各色のノズル列のために２つの調整値をもつ。従って、この場合テーブルは、８個（８＝２×４）の調整値を１つのテーブルとしてもっている。この調整値により、各ノズル列から吐出されるインクのレジずれを抑制することができる。
【０１２０】
また、このテーブルは、キャリッジが往復記録を行う場合には、往路用のテーブルと復路用のテーブルを有していても構わないし、キャリッジの走査速度を複数備えている場合には、各速度に応じたテーブルを備えていても構わない。
【０１２１】
例えば、速度優先モードと、画質優先モードにおいて、それぞれテーブルを備えて構わない。
【０１２２】
また、同じノズル列においても、例えば、大ドット/小ドットという異なるノズルで構成されていれば、ドットの大きさにあわせた調整値をテーブルとして備えても構わない。
【０１２３】
これらのテーブルは、予め記録装置の制御回路に備えられているＲＯＭに格納されていても構わないし、ホストコンピュータから入力し、制御回路に備えられているＲＡＭに格納しても構わない。
【０１２４】
テーブルを用いて処理する方法について説明すると、ホストコンピュータと記録装置とで同じテーブルを用意し、記録の時には同じテーブルの値を参照して、ホストコンピュータで取り扱わないバイト未満のデータと、記録装置に保存してあるユーザーによって変更可能なレジスト調整値を足し合わせる。
【０１２５】
この作業をホストコンピュータと記録装置の両方で行う。そして、足し合わせた値が８ビットを越える時は、バイト単位のデータをホストコンピュータで扱い、残りの８ビット未満を記録装置でレジスタに設定する値として取り扱う。
【０１２６】
このようにホストコンピュータと記録装置とで同じテーブルを用いることで、ホストコンピュータから記録装置へ送信するデータ、または記録装置からホストコンピュータへ送信するデータ量を低減することが可能になり、ホストコンピュータから記録装置へのデータの転送に要する時間を短縮することが出来る。
【０１２７】
一方、テーブルを用いないで処理する方法について説明すると、ホストコンピュータは、記録装置本体に保存してある、ユーザーによって変更可能なレジスト調整値を読み出して、ホストコンピュータで取り扱わないビット単位のデータと足し合わせる。この時、足し合わせた値が８ビットを越える時は、バイト単位のデータをホストコンピュータで扱い、残りの８ビット未満の調整値を記録装置が担当するレジスト調整値として、記録装置に転送する。
【０１２８】
このようにホストコンピュータで計算した調整値を記録装置に送信することで、ホストコンピュータと記録装置の両方に同じテーブルを持つ必要が無くなり、ホストコンピュータと記録装置とのプログラム容量を抑えることが出来る。
【０１２９】
以上、３つの方法を示したが、実際には使用するプログラム容量や転送速度、あるいはハードウェアのコスト等を考慮して、最適な方法を選ぶことになる。
【０１３０】
図１６は、レジスト調整値が８ビット〜１６ビットの時を例としてレジスト調整値を、ホストコンピュータと記録装置とでどのように割り振るのかを説明する図である。図中（ａ）〜（ｉ）は、レジスト調整値が８〜１６ビットの場合をそれぞれ示している。なお、レジスト調整値は、８ビット〜１６ビットに限定するものではない。
【０１３１】
図中、８ビットを単位とした部分はホストコンピュータで調整し、８ビット未満の部分を記録装置で調整する。このように本実施形態では、レジスト調整値が９ビット〜１２ビットの場合、それぞれ＋１ビット〜＋４ビットの調整を記録装置が担当する。レジスト調整値が１３ビット〜１５ビットの場合には、それぞれ−３ビット〜−１ビットの調整を記録装置が担当する。
【０１３２】
ここで、（ｆ）から（ｈ）に示す１３ビットから１５ビットのレジスト調整値を、＋の値ではなく−の値で表しているのは、レジスト調整値を表すビット数を小さくするためである。例えば、（ｆ）に示す１３ビットの時にレジスト調整値を＋の値で与えるならば、レジスト調整値は（８×１＋５）ビットになる。同様に（ｇ）に示す１４ビットの時にはレジスト調整値は（８×１＋６）ビットとなる。それに比べて、本実施形態ではレジスト調整値を−の値で与えることで、記録装置でのレジスト調整値を２〜６ビット小さくすることが出来る。
【０１３３】
なお、図示した例では１２ビットの時にレジスト調整値を、（８×１＋４）ビットと表しているが、これは（８×２−４）ビットと表しても構わない。
【０１３４】
ホストコンピュータで担当するバイト単位のレジスト調整は、１走査毎に記録データの先頭にヌルデータ等を付加することで行われ、これにより記録装置では付加されたレジスト調整値を記録データとして取り扱うことが出来るようになる。
【０１３５】
このように本実施形態によれば、記録装置で担当するレジスト調整値を、符号を含めても常に１バイト前後の小さな値とすることが出来、レジスト調整値に応じて記録バッファの容量を変更したり、バッファ容量を予め大きくする必要が無くなり、必要とされる記録バッファの容量を、無駄のない適切な大きさ（必要最小限のサイズ）にすることが可能となる。
【０１３６】
またホストコンピュータで行うレジスト調整を、バイトを単位とした処理のみとすることで、ホストコンピュータでの負荷を減らすことが出来、ホストコンピュータから記録装置へのデータの転送に要する時間を短縮し、記録開始を指示してから記録が行われるまでの時間を短縮することが出来る。
【０１３７】
＜記録バッファからのデータの読み出し＞
以下に、図７を参照して記録バッファからのデータの読み出し処理について説明する。図７において、左側は記録バッファリング構造制御回路８の読み出しアドレス制御部８Ａを示し、右側は記録バッファ４を示している。
【０１３８】
記録バッファ４のバッファ領域は、記録バッファの先頭のアドレスであるtop_adrで表され、最終アドレスはbottom_adrで表される。この先頭アドレスはレジスタ８０３に格納され、最終アドレスはレジスタ８０４に格納される。記録バッファに示される「ＲＰ」は図５と同様にリードポインタであり、「ＷＰ」はライトポインタである。記録バッファ４におけるＲＰとＷＰの間のハッチング部分は記録データが格納されていることを表し、それ以外の部分は記録データが格納されていないことを表す。
【０１３９】
読み出しアドレス制御部８Ａ内の８０２は、データの読み出しアドレス（ＲＰ：リードポインタ）を示すレジスタであり、破線の枠で囲った９００は第１レジスタ群、実線の枠で囲った９０１は第２レジスタ群である。
【０１４０】
第１ブロックから第８ブロックの記録データを記録する場合、例えば、走査の開始時において、第１レジスタ群には第１ブロックについての情報が格納されている。また、第２レジスタ群には、第２ブロックについての情報が格納される。第１ブロックの記録が終了すると、第１レジスタ群９００には第２レジスタ群９０１の情報がコピーされて格納される。そして第２レジスタ群９０１には、第３ブロックの情報が格納される。以下、最後の第８ブロックのデータが格納されるまで同様の処理が順に行われる。そして、次の走査開始時には、再び、第１レジスタ群には第１ブロックの情報が格納され、第２レジスタ群には第２ブロックの情報が格納される。
【０１４１】
第１レジスタ群が示す第ｎブロックの記録が終了した時、第２レジスタ群に第ｎ＋１ブロックの情報が格納されていない場合は、第ｎ＋１ブロックの記録データがまだ準備できていないので、第２レジスタ群の情報は第１レジスタ群にコピーされず、加えて記録バッファからのデータ読み出しを停止する。
【０１４２】
第１レジスタ群内にあるレジスタ８１９は、第１色についての高さ情報（1st_hight）と色データの有り無し情報（1_color_bit）を設定するレジスタである。各レジスタ８２２、８２４、８２６、８２８、８３０、８３２、８３４は第２色〜第８色について同様に高さ情報と色データの有り無し情報を設定するレジスタである。
【０１４３】
８２０は各ブロックデータの幅情報（block_width）を格納するレジスタである。この幅情報は第１色〜第８色までブロック単位で、共通して使われる値である。
【０１４４】
レジスタ８１８は第１色の読み出しアドレス（1st_color_adr）を格納するレジスタである。第１色のデータが格納されている記録バッファ８１９から読み出されるとアドレスが更新される。例えば図７（ａ）に示すように、第１色データの内、１→２→３→４と１カラム分のデータが読み出される。レジスタ８２１、８２３、８２５、８２７、８２９、８３１、８３３はそれぞれ第２色〜第８色の読み出しアドレスを格納するレジスタであり、第２色〜第８色の色データも第１色の色データと同様に順に１カラム分のデータが読み出される。
【０１４５】
記録バッファ４に格納されるデータは複数の色データを含むため、例えば、第１色、第２色、…の色データが混在した場合、各色単位の色データを格納するためのアドレスは、連続していないものとなる。そのため、読み出しアドレスのレジスタが１つであれば、例えば第１色の記録バッファ４のアドレスの次に第２色の記録バッファ１のアドレス読み出しを行う際、アドレス計算をする必要があるが、記録バッファ４に各色ごとに読み出しアドレスを格納するレジスタを用意することで、カラム単位での読み出しを行う際のアドレス計算を省くことができる。
【０１４６】
８１７はアドレス制御レジスタである。読み出しアドレスは、記録データ生成ブロック５が各色毎にデータ読み出し要求信号線Ｓ８０５を介して要求すると、アドレス制御レジスタ８１７は読み出しアドレスとして信号線Ｓ８０６を介して１アドレスずつ加算して記録バッファ４に出力する。
【０１４７】
８３５は次のブロックのアドレスを格納するレジスタである。現在読み出されているブロックが第１ブロックであれば、このレジスタには第２ブロックの先頭のアドレスが格納される。このレジスタの値は、現在読み出されているブロックデータの読み出しが終了すると、レジスタ８０２にコピーされる。これにより、次のブロックデータの読み出しがスムーズにできる。
【０１４８】
レジスタ８３６は第１色から第８色のうち、読み出す順序を特定するための情報を格納するテーブルである。このテーブルに設定された値によって記録バッファからデータを読み出す順序を自由に設定することができる。例えば、第１色→第２色→…→第８色の順に読み出すことができる。また、値を変えて、第１色→第２色→第５色→第６色→第７色→第８色のように第３色、第４色のデータの読み出しをスキップすることもできる。これによって、格納されていない色の記録データについては、正確に読みとばすことができる。
【０１４９】
第２レジスタ群９０１は次のブロックデータに関する情報を格納するバッファの集まりである。第１レジスタ群の各レジスタが読まれたら、第２レジスタ群の各レジスタに設定されている値が、第１レジスタ群の対応するレジスタに設定される。例えば、レジスタ８３８に設定されている値がレジスタ８１９に設定される。レジスタ８３９〜８４５は、次のブロックデータにおける第２色〜第８色の色データについて同様の情報が設定されるレジスタである。
【０１５０】
レジスタ８３８（８１９）には第１色目のデータのバッファの高さ情報と、第１色データの有り無しを示す情報が格納される。
【０１５１】
８４６（８２０）はブロックの幅情報を設定するレジスタである。この幅情報は第１色〜第８色までブロック単位で、共通して使われる値である。
【０１５２】
レジスタ８７８は、先に設定したブロックのサイズとブロックのサイズが同じであるか否かを表す情報（same_type）を格納するレジスタであり、ブロックのサイズが同じ場合、この値を「１」とすることで、第１レジスタ群に同じ値を容易に再設定することができる。この場合、レジスタ８３８〜８４６の設定を省くことができる。一方、レジスタ８７８の値が「０」の場合には、各レジスタ８３８〜８４６にそれぞれの値が設定される。
【０１５３】
以上説明したように好適な一実施形態によればインクジェット記録装置において、ホストコンピュータで走査方向におけるバイト単位のレジスト調整を行い、記録装置で走査方向におけるビット単位のレジスト調整を行うことで、ホストコンピュータからの記録データの転送に要する時間を短縮すると共に、記録装置で必要となるバッファ容量を低減することが出来、インクジェット記録装置を安価に提供することが出来る。
【０１５４】
＜他の実施形態＞
なお以上の実施形態では本発明をインクジェット方式に従って記録を行うインクジェット記録装置に適用した場合を例に挙げて説明したが、本発明は複数の記録素子が配列された記録ヘッドを記録素子の配列方向と交差する方向に走査して記録を行う記録装置であれば、他の方式の記録装置にも適用できる。
【０１５５】
以上の実施形態は、特にインクジェット記録方式の中でも、インク吐出を行わせるために利用されるエネルギとして熱エネルギを発生する手段（例えば電気熱変換体やレーザ光等）を備え、前記熱エネルギによりインクの状態変化を生起させる方式を用いることにより記録の高密度化、高精細化が達成できる。
【０１５６】
加えて、上記の実施形態で説明した記録ヘッド自体に一体的にインクタンクが設けられたカートリッジタイプの記録ヘッドのみならず、装置本体に装着されることで、装置本体との電気的な接続や装置本体からのインクの供給が可能になる交換自在のチップタイプの記録ヘッドを用いてもよい。
【０１５７】
また、以上説明した記録装置の構成に、記録ヘッドに対する回復手段、予備的な手段等を付加することは記録動作を一層安定にできるので好ましいものである。これらを具体的に挙げれば、記録ヘッドに対してのキャッピング手段、クリーニング手段、加圧あるいは吸引手段、電気熱変換体あるいはこれとは別の加熱素子あるいはこれらの組み合わせによる予備加熱手段などがある。また、記録とは別の吐出を行う予備吐出モードを備えることも安定した記録を行うために有効である。
【０１５８】
さらに、記録装置の記録モードとしては黒色等の主流色のみの記録モードだけではなく、記録ヘッドを一体的に構成するか複数個の組み合わせによってでも良いが、異なる色の複色カラー、または混色によるフルカラーの少なくとも１つを備えた装置とすることもできる。
【０１５９】
さらに加えて、本発明に係る記録装置の形態としては、コンピュータ等の情報処理機器の画像出力端末として一体または別体に設けられるものの他、リーダ等と組み合わせた複写装置、さらには送受信機能を有するファクシミリ装置の形態を取るものであっても良い。
【図面の簡単な説明】
【０１６０】
【図１】本発明の好適な実施形態としてのインクジェット記録装置のカバーを外した状態の外観斜視図である。
【図２】図１のインクジェット記録装置の記録制御部の構成を示すブロック図である。
【図３】ホストコンピュータから転送され、受信バッファに格納されるデータの構造を示す図である。
【図４】記録データを保持する記録バッファのデータ構造を示す図である。
【図５】記録バッファリング構造制御回路の書き込みアドレス制御を説明する図である。
【図６】記録バッファに記録データがどのように格納されるか説明する図である。
【図７】記録バッファリング構造制御回路の記録バッファからのデータの読み出し処理について説明する図である。
【図８】レジスト調整値がゼロでない時の、データの書き込み順番を説明する図である。
【図９】レジスト調整値がゼロでない時の、実アドレスを説明する図である。
【図１０Ａ】レジスト調整に関連したデータの状態を模式的に示す図である。
【図１０Ｂ】レジスト調整に関連したデータの状態を模式的に示す図である。
【図１０Ｃ】レジスト調整に関連したデータの状態を模式的に示す図である。
【図１１Ａ】レジスト調整に関連したデータの状態を模式的に示す図である。
【図１１Ｂ】レジスト調整に関連したデータの状態を模式的に示す図である。
【図１１Ｃ】レジスト調整に関連したデータの状態を模式的に示す図である。
【図１２】レジスト調整による最終ブロックのデータ構成を示す図である。
【図１３】レジスト調整による最終ブロックのデータ構成を示す図である。
【図１４】バッファ容量におけるレジスト調整値の割合を模式的に示した図である。
【図１５】バッファ容量におけるレジスト調整値の割合を模式的に示した図である。
【図１６】レジスト調整値が８ビット〜１６ビットの時のデータの振り分けを説明する図である。
【図１７】レジスト調整によるデータの格納について説明する図である。
【図１】
2006015739.tif 000003
【図２】
2006015739.tif 000004
【図３】
2006015739.tif 000005
【図４】
2006015739.tif 000006
【図５】
2006015739.tif 000007
【図６】
2006015739.tif 000008
【図７】
2006015739.tif 000009
【図８】
2006015739.tif 000010
【図９】
2006015739.tif 000011
【図１０Ａ】
2006015739.tif 000012
【図１０Ｂ】
2006015739.tif 000013
【図１０Ｃ】
2006015739.tif 000014
【図１１Ａ】
2006015739.tif 000015
【図１１Ｂ】
2006015739.tif 000016
【図１１Ｃ】
2006015739.tif 000017
【図１２】
2006015739.tif 000018
【図１３】
2006015739.tif 000019
【図１４】
2006015739.tif 000020
【図１５】
2006015739.tif 000021
【図１６】
2006015739.tif 000022
【図１７】
2006015739.tif 000023