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