(57)【要約】【課題】  バッファ領域の効率的な利用を可能にする。【解決手段】  分割された領域内の任意の量の画像データをバッファに格納するために、領域内の任意の量の画像データの書き込みアドレス情報を色データ毎に制御する書き込み制御部と、格納された画像データを読み出すためのアドレス情報を生成する読み出し制御部と、生成されたアドレス情報に対応し、そのアドレス情報に従った画像データの読み出しを制御する設定情報をレジスタ群に格納管理する格納管理部とを備える。【選択図】  図３
2006168198.tif 000002
【特許請求の範囲】
【請求項１】
記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行うために、該記録ヘッドの走査方向の記録領域を複数の領域に分割し、該分割された領域内の任意の量の画像データを格納するバッファと、該記録ヘッドの位置を検知する記録ヘッド位置検知手段とを有する記録装置であって、
前記分割された領域内の任意の量の画像データを前記バッファに格納するために、該領域内の任意の量の画像データの書き込みアドレス情報を色データ毎に制御する書き込み制御部と、
前記格納された画像データを読み出すためのアドレス情報を生成する読み出し制御部と、
前記生成されたアドレス情報に対応し、該アドレス情報に従った画像データの読み出しを制御する第１設定情報を第１格納手段に格納管理する格納管理手段と、
前記格納管理手段により格納された第１設定情報と、前記アドレス情報とに基づき、前記バッファから前記格納されたデータを読み出し、記録データを生成する記録データ生成手段と、
前記生成された記録データを記録する前記記録ヘッドの走査位置を前記記録ヘッド位置検知手段で検出し、該検出された走査位置情報により各色データ毎の記録位置を制御する記録ヘッド位置制御手段と、
を備えることを特徴とする記録装置。
【請求項２】
次の記録領域の画像データを読み出すための第２設定情報を格納する第２格納手段を更に有し、
前記格納管理手段は、前記第１設定情報に基づく記録の完了に従い、前記第１格納手段の内容を該第２設定情報の内容に更新することを特徴とする請求項１に記載の記録装置。
【請求項３】
前記格納管理手段は、前記第１格納手段に対する前記第２設定情報の格納に従い、前記バッファからデータの読み出しを可能にするフラグ情報を更新することを特徴とする請求項１に記載の記録装置。
【請求項４】
前記記録ヘッド位置制御手段は、前記記録ヘッド位置検知手段で検知された位置情報が、該記録ヘッドの記録開始位置到達前に前記フラグ情報が更新されている場合は、該記録ヘッドの位置情報を更新して次の記録領域の記録を続行し、
該記録ヘッドの記録開始位置到達前に前記フラグ情報が更新されていない場合は、該記録ヘッドの位置情報を保持して記録を中断することを特徴とする請求項１乃至３のいずれか１項に記載の記録装置。
【請求項５】
前記記録ヘッド位置制御手段は、前記フラグ情報の更新に従い前記保持された記録ヘッドの位置情報に基づき記録開始位置を判断して記録を再開することを特徴とする請求項１乃至４のいずれか１項に記載の記録装置。
【請求項６】
前記分割された領域単位の画像データには、シアン、イエロー、マゼンタ、および黒の色データが含まれることを特徴とする請求項１に記載の記録装置。
【請求項７】
前記バッファは、先頭アドレス情報と最終アドレス情報とにより設定された領域間で循環して前記画像データを格納することが可能であることを特徴とする請求項１に記載の記録装置。
【請求項８】
前記書き込み制御部は、前記書き込みアドレス情報が前記読み出しアドレス情報と一致する場合は、前記バッファ内に格納されている画像データと重複したアドレスの設定を禁止する制御を実行することを特徴とする請求項１に記載の記録装置。
【請求項９】
前記読み出し制御部は、前記読み出しアドレス情報が前記書き込みアドレス情報と一致する場合、前記バッファに読み取るべきデータが未だ格納されていない状態として前記画像データの読み出しを停止する制御を実行することを特徴とする請求項１に記載の記録装置。
【請求項１０】
前記記録ヘッドは、インクを吐出して記録を行うインクジェット記録ヘッドであることを特徴とする請求項１に記載の記録装置。
【請求項１１】
前記記録ヘッドは、熱エネルギーを利用してインクを吐出する記録ヘッドであって、インクに与える熱エネルギーを発生するための熱エネルギー変換体を備えていることを特徴とする請求項１に記載の記録装置。
【請求項１２】
記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行うために、該記録ヘッドの走査方向の記録領域を複数の領域に分割し、該分割された領域内の任意の量の画像データを格納するバッファと、該記録ヘッドの位置を検知する記録ヘッド位置検知手段とを有する記録装置の制御方法であって、
前記分割された領域内の任意の量の画像データを前記バッファに格納するために、該領域内の任意の量の画像データの書き込みアドレス情報を色データ毎に制御する書き込み制御工程と、
前記格納された画像データを読み出すためのアドレス情報を生成する読み出し制御工程と、
前記生成されたアドレス情報に対応し、該アドレス情報に従った画像データの読み出しを制御する第１設定情報を第１レジスタで格納管理する格納管理工程と、
前記第１設定情報と、前記アドレス情報とに基づき、前記バッファから前記格納されたデータを読み出し、記録データを生成する記録データ生成工程と、
前記生成された記録データを記録する前記記録ヘッドの走査位置を前記記録ヘッド位置検知手段で検出し、該検出された走査位置情報により各色データ毎の記録位置を制御する記録ヘッド位置制御工程と、
を備えることを特徴とする記録装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置および記録装置の制御方法に関し、特に、安価で高速かつ高画質な記録装置を実現する技術に関するものである。詳しくは、記録装置内のＲＡＭ容量あるいはＲＯＭ容量あるいはＡＳＩＣのゲート数を削減し、ＡＳＩＣのコストの削減、安価な記録装置を実現しながらも高速かつ高画質を維持するインクジェット記録装置およびその記録装置の制御方法に関するものである。
【背景技術】
【０００２】
従来、インクジェット記録装置は、低騒音化、装置の低コスト化、低ランニングコスト化、装置の小型化、が容易であることから、記録装置や複写機等において広く利用されている。そのうちの一形態である、シリアル式インクジェット記録装置は、記録ヘッドを主走査方向への動作と副走査方向への被記録媒体の搬送を繰り返して１頁の記録を行う記録装置であり、少なくとも１主走査方向に記録をするデータの全てが確定するのに十分なメモリ量を確保して、１主走査方向に記録をするデータの全部が確定してから記録へッドの主走査駆動を開始するよう制御されている。
【０００３】
１主走査分のメモリより少ないメモリを持った装置で、記録デ−タを格納したアドレスを管理して少ないメモリを使いまわす提案がなされている（特許文献１）。
【０００４】
更に、１主走査分のデータをバッファに入力完了する前に主走査を開始する提案がされている（特許文献２）。
【特許文献１】特開昭58-146929号公報
【特許文献２】特開平11-259248号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、引用文献１には、記録しないデ−タであるヌルデ−タ（「０」データ）の扱いについては開示されておらず、データをメモリに格納するべきデータが無いにもかかわらず、メモリは所定の領域を確保することとなるため、よりメモリを効率的に使うための装置を開示するに至っていない。
【０００６】
また、記録中の記録動作に対して追加デ−タの転送が間に合わない場合にどのように動作するのかというデータの処理に関しては何等開示されていない。
【０００７】
また、引用文献２では、印刷パスを主走査しながらその走査の印刷中は必ず、その走査を完了するのに十分なデータを受信することを前提としていた。
【０００８】
したがって、例えば、印刷中は上位装置であるホストコンピュータは、記録装置に対しデータ転送をinterruption（妨害）なしに転送し続ける必要（５８０）がある。昨今の主流であるWindows（登録商標）Systemは、汎用性あるマルチタスクであり、ホスト処理がデータ転送に専念できる保証はなく、実現は困難である。
【０００９】
あるいは、ホスト処理がデータ転送に専念させるために、データ転送をinterruption（妨害）無く実行できるようプリンタドライバ部のプログラムを対応させる必要があるが、汎用性あるマルチタスクシステムを妨害してしまう欠点となる場合もある。
【００１０】
また、特許文献１、特許文献２のいずれも記録しないデ−タであるヌルデ−タの扱いについては開示されておらず、よりメモリを効率的に使う提案には至っていない。
【００１１】
本発明は、記録ヘッドによって記録媒体に記録されるカラー記録データの内容を、走査方向に複数の記録ブロックに分割し、記録ブロック内の任意のデータ量単位でホストからの画像データを格納し、記録を行う。そして、画像データの格納が記録動作に間に合わなかった場合でも、格納された画像データについて記録を行った後、残りの画像データを格納した後、再び走査を行って残りの画像データの記録を行うことで、記録を完成させる記録制御を実現する記録装置及びその記録装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために本発明にかかる記録装置及び記録装置の制御方法は、主として以下の構成を備えることを特徴とする。
【００１３】
すなわち、記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行うために、該記録ヘッドの走査方向の記録領域を複数の領域に分割し、該分割された領域内の任意の量の画像データを格納するバッファと、該記録ヘッドの位置を検知する記録ヘッド位置検知手段とを有する記録装置は、前記分割された領域内の任意の量の画像データを前記バッファに格納するために、該領域内の任意の量の画像データの書き込みアドレス情報を色データ毎に制御する書き込み制御部と、前記格納された画像データを読み出すためのアドレス情報を生成する読み出し制御部と、前記生成されたアドレス情報に対応し、該アドレス情報に従った画像データの読み出しを制御する第１設定情報を第１格納手段に格納管理する格納管理手段と、前記格納管理手段により格納された第１設定情報と、前記アドレス情報とに基づき、前記バッファから前記格納されたデータを読み出し、記録データを生成する記録データ生成手段と、前記生成された記録データを記録する前記記録ヘッドの走査位置を前記記録ヘッド位置検知手段で検出し、該検出された走査位置情報により各色データ毎の記録位置を制御する記録ヘッド位置制御手段と、を備えることを特徴とする。
【００１４】
また、本発明にかかる記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行うために、該記録ヘッドの走査方向の記録領域を複数の領域に分割し、該分割された領域内の任意の量の画像データを格納するバッファと、該記録ヘッドの位置を検知する記録ヘッド位置検知手段とを有する記録装置の制御方法は、前記分割された領域内の任意の量の画像データを前記バッファに格納するために、該領域内の任意の量の画像データの書き込みアドレス情報を色データ毎に制御する書き込み制御工程と、前記格納された画像データを読み出すためのアドレス情報を生成する読み出し制御工程と、前記生成されたアドレス情報に対応し、該アドレス情報に従った画像データの読み出しを制御する第１設定情報を第１レジスタで格納管理する格納管理工程と、前記第１設定情報と、前記アドレス情報とに基づき、前記バッファから前記格納されたデータを読み出し、記録データを生成する記録データ生成工程と、前記生成された記録データを記録する前記記録ヘッドの走査位置を前記記録ヘッド位置検知手段で検出し、該検出された走査位置情報により各色データ毎の記録位置を制御する記録ヘッド位置制御工程と、を備えることを特徴とする。
【発明の効果】
【００１５】
以上説明したように、本発明にかかる記録装置及び、記録装置の制御方法によれば、複数の色データを含むデータをブロック単位として、バッファへの書き込み、読み取りを制御することが可能となる。この制御は、複数の記録ブロックに分割し、記録ブロック毎に記録動作の管理をすることが可能になるので、記録動作に必要な記録バッファのサイズを小さくすることができ、バッファ領域の効率的な利用が可能となる。
【００１６】
また、記録データの格納が記録動作に間に合わずに記録が中断した場合でも、記録ヘッドの位置検知手段により検知した走査位置情報により記録位置を制御して、記録を再開させて走査方向の記録を完了させることが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、添付した図面を参照して本発明の実施形態を詳細に説明する。
【００１８】
図１は以下に説明する実施形態において共通に用いられるインクジェットプリンタの外観斜視図であり、インクジェットプリンタは、カラープリント、白黒モノカラープリントの両方が可能な構成を示している。図1に示すように、キャリッジ１０１上にはブラックは３２０個、カラーは各色毎に１２８個ずつのノズルを有したマルチノズルの記録ヘッド１０２とカートリッジガイド１０３とが搭載されており、記録ヘッド１０２はブラック（K）のインク、或いは、シアン（C）、マゼンタ（M）、イエロー（Y）、ブラック（K）のインクをそれぞれ吐出する。プリンタ動作時、記録ヘッド１０２にはブラックインクを収容したインクカートリッジ１１０と他の３色のインクを収容したインクカートリッジ１１１が装着されている。
【００１９】
そして、それぞれのインクカートリッジからシアン（C）、マゼンタ（M）、イエロー（Y）、ブラック（K）のインクが供給される。また、多数の導線を配列したフレキシブルケーブル（不図示）を介して記録ヘッドにおける各ノズルの駆動信号が供給される。
【００２０】
図７は本発明の実施形態において、インクジェットプリンタに適用が可能なカラープリント用の記録ヘッド１０２を記録媒体１０６側から示した外観斜視図である。各色用のノズル列（イエロー（Y）７０１、マゼンタ（M）７０２、シアン（C）７０３、ブラック（K）７０４）は走査方向（X方向）に対して略直交する方向に配列する。
【００２１】
一方、キャリッジ１０１は２本のガイドレール１０４、１０５上に搭載されており、キャリッジ１０１に連結した無端ベルト１０９をキャリアモータ（後述）で駆動することによりキャリッジ１０１をＸ方向（以下、このＸ方向を「主走査方向」という）に往復走査させる。また、搬送ローラ１０８は搬送モータ（後述）によって駆動され、記録媒体１０６をＹ方向（以下、このＹ方向を「副走査方向」という）に搬送する。
【００２２】
なお、ガイドレールと平行に不図示のエンコーダスリットが配置されており、キャリッジ１０１に搭載された不図示のセンサが、エンコーダスリット数を読み取ることで、走査方向の位置を捕捉し、この位置情報に基づきキャリッジの位置を１画素単位で制御する。
【００２３】
図２はインクジェットプリンタの制御回路を示すブロック図である。図２において、１７０は記録信号を入力するインタフェースであり、例えば、ホストコンピュータなどの外部装置からデータを入力する。１７１はＭＰＵであり、１７２はＭＰＵ１７１が実行する制御プログラム（必要によっては文字フォントを含む）を格納するＲＯＭ、１７３は各種データ（上記記録信号やヘッドに供給される記録データ等）を一時的に保存しておくＳＲＡＭである。
【００２４】
１７４は記録ヘッド１０２に対する記録制御を行うＡＳＩＣ（いわゆるゲートアレー）であり、インターフェース１７０、ＭＰＵ１７１、ＳＲＡＭ１７３間のデータ転送制御も行う。１７９は記録ヘッド１０２を主走査方向に移動させるためのキャリアモータであり、１７８は記録媒体を副走査方向に搬送するための搬送モータである。１７５は記録ヘッドを駆動するヘッドドライバ、１７６、１７７はそれぞれ搬送モータ１７８、キャリアモータ１７９を駆動するためのモータドライバである。
【００２５】
上記の制御回路ブロック図の動作の概要を説明すると、インターフェース１７０に記録信号が入るとＡＳＩＣ１７４とＭＰＵ１７１との間で記録信号がプリント用の記録データに変換される。そして、モータドライバ１７６、１７７が駆動されると共に、ヘッドドライバ１７５に送られた記録データに従って記録ヘッド１０２が駆動され、記録動作が実行される。
【００２６】
図５は、本発明にかかる記録装置の実施形態において、その記録装置の記録制御部を示すブロック図である。同図に於いて、参照番号１はインターフェース信号線Ｓ１を介してホストコンピュータ（不図示）から転送されてくるデータを受信し、その受信したデータの中から、記録装置の動作に必要なデータ及び画像データを抽出して一旦蓄えるインターフェース制御部（コントローラ）であり、インタフェースコントローラ１で抽出されたデータは信号線Ｓ２を介して受信バッファ２に格納される。
【００２７】
受信バッファ２はSRAMもしくはDRAM等の記憶装置で構成され、この受信バッファに蓄えられるデータは図１０（ａ）、（ｂ）で示すような構造のものとなる。
【００２８】
図１０（ａ）において受信バッファのデータ構造が示されるように、左から順に「コマンド」（１００１），「データ長」（１００２），「設定データ」（１００３）のデータが格納され、これに続いて「コマンド」（１００４），「データ長」（１００５），「設定データ」（１００６）のデータが格納されている。これは時系列順に転送されてきたデータが、受信バッファの連続したアドレスに格納されることを示し、ここで示す設定データ１００６は、例えば給紙の実行や紙送り量の設定、使用する記録ヘッド数等を示す情報であり、この設定データで定められた情報が全て揃って初めて記録装置で記録が可能となる。この後に、記録の対象となる画像データ（１００９、１０１２）が受信バッファ２に格納される。
【００２９】
この画像データ（１００９、１０１２）は、記録ヘッドが記録媒体上を１度の走査で記録する際に必要とされるデータ量を、それより少ないデータ量としてブロック単位に分割したデータであり、そのブロック単位で画像データを区切り、順次第1ブロックデータ（１００９）、第2ブロックデータ（１０１２）、・・・として格納される。
【００３０】
図１０（ｂ）はブロック単位に分割された画像データのデータ構造を詳細に示す図であり、同図で示すように、複数の色のデータ（１０１３〜１０１４）が各々圧縮されたデータとして順次格納される。この色データは「色変えコード」（１０１６、１０１７、１０１８）で区切られる。
【００３１】
例えば、シアン、イエロー、マゼンタ、それと黒の４色の色データを想定した場合、各色毎に縦１２８ノズルを１列としたノズル列が走査方向に配列する記録ヘッドを用いると、圧縮された第１色から第４色のデータが一つのデータブロック内に格納される。このノズル列の各ノズルは、被記録媒体の搬送方向に並んでいる。
【００３２】
また、ノズル列の別の形態として、シアン、イエロー、マゼンタ、それと黒の４色で、各色毎に縦６４ノズルを１列としたノズル列が走査方向に２列づつ配列する記録ヘッドを用いた場合には、ノズル２列が４色分、すなわち、圧縮された第１色から第８色の色データが一つのブロックデータ内に画像データとして格納される。例えば、第１色と第２色がシアンのデータ、第３色と第４色はマゼンタのデータ、第５色と第６色はイエローのデータ、第７色と第８色は黒のデータとなる。
【００３３】
図１１は画像データを保持する記録バッファの構造を説明する図である。例えば１回の走査で最大約８インチの長さを記録する場合、１つのブロックデータが走査方向に約１インチの記録ができるサイズとすると、トータル８ブロックの画像データを記録処理すれば、１走査分の画像が完成することになる。
【００３４】
第１ブロックから第８ブロックは記録ヘッドの走査方向に配置され、各ブロックデータには、第１色データから第８色データが格納される。各ブロック内に格納される各色データの長さは記録ヘッドのノズル数に対応するものである。
【００３５】
なお、この各色データについて、各ブロックの縦の長さ（ブロックの高さ）はノズル数に対応する。
【００３６】
説明を図５に戻し、各制御ブロックの説明を続ける。受信バッファ２に格納されるデータのうち、記録装置の制御用の設定値である「コマンド」，「データ長」，「設定データ」は、インタフェースコントローラ１から信号線Ｓ９０２を介してＣＰＵ９により読み出され、図中にある各部制御回路（７，８）に設定される（Ｓ９０３、Ｓ９０７）。ＣＰＵ９は読み出したデータ（図１０（ａ）の１００１〜１００８に相当するデータ）を解釈し、その結果に従って記録装置の全体的な記録制御を統括する。一方、ＣＰＵ９は画像データの処理に関してはデータ展開ブロック３を起動して処理を実行させるものとする。
【００３７】
データ展開ブロック３は受信バッファ２から、図１０（ｂ）で示されるように「圧縮ＴＡＧ」と「データ」及び「色変えコード」の３種類のデータを読み出し、これらのデータに基づきデータの展開制御を実行する。本実施形態ではデータの圧縮／解凍方法としてＰａｃｋＢｉｔｓ圧縮を用いたので、圧縮ＴＡＧが８ビットで００ｈから７Ｆｈまで値の場合、非連続なデータが１から１２８個データ領域に有るとして処理し、圧縮ＴＡＧが８ビットでＦＦｈから８１ｈまで値の場合、次の１バイトデータを連続した２から１２８個のデータに解凍する処理を行う。圧縮ＴＡＧの所で、８０ｈを読み出した場合は色変えコードとして処理する。解凍したデータを信号線Ｓ４に乗せ、記録バッファ４に書き込む。
【００３８】
記録バッファ４には解凍された画像データが図１１に示すデータ構造で格納される。記録バッファ４の先頭アドレスには第１ブロックの第１色データの先頭のデータが書き込まれ、その後に続くデータは、アドレスを１ずつ加算しながら順次書き込まれる。記録バッファのアドレスに一つの色データとして格納できる領域は、最初にＣＰＵ９が読み込んだ設定データで決定され、その値以上のデータは書き込めないので画像データを圧縮する際には、その設定データに従ったデータサイズの制限が加えられることになる。色変えコードを検出した後のデータは第２色データの先頭番地から順次書き込まれる。このアドレスデータの制御は後に説明する記録バッファリング制御構造回路８が実行することになる。
【００３９】
この書き込みを第１ブロックの第１色データから第８色データまで繰り返し、第８色データの書き込みを終えて色変えコードを検知すると、第１ブロックのデータが全て書き込み終えたことになる。データ展開ブロック３はデータの展開動作を終了し、ＣＰＵ９に対しブロック１個分のデータの展開が完成したことを割込み（INT１）で伝え、ＣＰＵ９からの次のデータ展開の起動を待つ。この割り込み（INT１）は図６の最終ブロックデータに対する割り込みに該当するか否かの判断に使用される。
【００４０】
記録バッファ４上に複数ブロックの画像データが揃った段階で、ＣＰＵ９は記録動作を開始すべくキャリアモータ１７９を動作させ、記録ヘッド６が走査しながら、画像データをキャリッジエンコーダ（ＣＲエンコーダ）１０に同期して転送し、記録することで紙面上（被記録媒体に）に画像を完成させることができる。記録ヘッド６が主走査方向に走査した後、搬送手段が被記録媒体を副走査方向に搬送する。こうして、記録ヘッドの走査と、被記録媒体の搬送を繰り返し行って、１ページ分の画像の記録を行う。
【００４１】
記録データ生成ブロック５は、記録バッファ４上に有る画像データの各ブロック構造を、ＣＰＵ９から指定された値に従って、ＣＲエンコーダ１０に同期したタイミングで信号線Ｓ５を介して読み出し、記録ヘッド６が記録できるデータ構造に変換しながら信号線Ｓ６に出力していく。この記録データ生成ブロック５は後で述べる記録バッファ内のブロック幅（ブロックの長さを示す。）の情報、ブロックの各色の高さ（色データの「ラスター数」という。）についての情報を保持する。
【００４２】
＜受信バッファの書き込み、読み込み制御＞
受信バッファ２には、インターフェースコントローラ１がデータを書き込み、データ展開ブロック３が画像データのみを読み出すが、その書き込みアドレスと読み出しアドレスを制御しているのが受信バッファリング構造制御回路７である。受信バッファリング構造制御回路７は受信バッファ２の先頭アドレスと最終アドレス、それと書き込みアドレスと読み出しアドレスの管理を行っている。
【００４３】
受信バッファリング構造制御回路７はインターフェースコントローラ１から受信する書き込み要求信号（Ｓ７０１）を受け付け毎に１アドレスずつ加算し、これを書き込みアドレスの情報として受信バッファ２に出力する（信号線Ｓ７０２）。そして、受信バッファリング構造制御回路７は受信バッファ２の最終アドレスに達した場合に書き込みアドレスを受信バッファ２の先頭のアドレスに戻す制御を行う。
【００４４】
また、書き込みアドレスが読み出しアドレスに到達（一致）した場合、受信バッファ２がデータでいっぱいになり、次のデータを書き込めない旨をインターフェースコントローラ１に信号線Ｓ７０３を介して通信する。
【００４５】
このとき同時にＣＰＵ９に対しても信号線Ｓ９０４の割込み信号により、受信バッファ２はデータの書き込みができない状態であることを知らせる。受信バッファ２の構造はＣＰＵ９が信号線Ｓ９０３のバスを用いて内部のレジスタに書き込むことで設定することができる。
【００４６】
読み出しアドレスは、ＣＰＵ９が受信バッファリング構造制御回路７の中に有るデータリード用レジスタを介して直接に受信バッファ２の中のデータを読み出す場合と、データ展開ブロック３がデータ読み出し要求信号線Ｓ７０５を介して要求した場合に、読み出しアドレスとして信号線Ｓ７０６を介して１アドレスづつ加算されて受信バッファ２に出力される。
【００４７】
受信バッファリング構造制御回路７は読み出しアドレスが最終アドレスに達した場合、読み出しアドレスを受信バッファ２の先頭アドレスに戻す制御を行う。また、読み出しアドレスが書き込みアドレスに到達(一致）した場合、受信バッファ上からデータがなくなったので、次のデータを読み出せない旨をデータ展開ブロックに信号線Ｓ７０４を介して通信する。このとき同時にＣＰＵ９に対しても信号線Ｓ９０４の割込み信号線で、受信バッファ２上には、読み出すデータが無い旨を知らせる。
【００４８】
以上が受信バッファ２に対するデータの書き込み、読み取り制御の処理内容である。次に、この受信バッファ２から読み出され、展開処理されたデータを記録バッファに書き込みし、あるいはその記録バッファからデータを読み取るための処理内容を説明する。
【００４９】
＜記録バッファの書き込み、読み取り制御＞
記録バッファ４に対して、データ展開ブロック３が画像データを書き込み、記録データ生成ブロック５がその書き込まれた画像データを読み出すが、その際、書き込みアドレスと読み出しアドレスを制御しているのが記録バッファリング構造制御回路８である。
【００５０】
記録バッファリング構造制御回路８は記録バッファの先頭アドレスと、最終アドレス、それと書き込みアドレスと、読み出しアドレスの管理を行っている。
【００５１】
記録バッファリング構造制御回路８はデータ展開ブロック３から受信する書き込み要求信号（Ｓ８０１）を受け付け毎に１アドレスずつ加算し、これを書き込みアドレスの情報として記録バッファ４に出力する（信号線Ｓ８０２）。そして、記録バッファリング構造制御回路８は記録バッファ４の最終アドレスに達した場合に書き込みアドレスを記録バッファ４の先頭のアドレスに戻す制御を行う。
【００５２】
また、書き込みアドレスが読み出しアドレスに到達（一致）した場合、記録バッファ４が画像データでいっぱいになり、次の画像データを書き込めない旨をデータ展開ブロック３に信号線Ｓ８０３を介して通信する。
【００５３】
また、データ展開ブロック３が色変えコードを受信バッファ２から読み込んだ場合、データ展開ブロック３は信号線Ｓ８０４を介してその旨を通信し、記録バッファリング構造制御回路８は次の色のデータを格納する先頭番地を信号線Ｓ８０２から出力するように準備する。記録バッファ４の構造はＣＰＵ９が信号線Ｓ９０７のバスを用いて内部のレジスタに書き込むことで設定することができる。
【００５４】
読み出しアドレスは、記録データ生成ブロック５が各色毎にデータ読み出し要求信号線Ｓ８０５を介して要求すると、読み出しアドレスとして信号線Ｓ８０６を介して１アドレスづつ加算されて記録バッファ４に出力される。
【００５５】
記録バッファリング構造制御回路８は読み出しアドレスが最終アドレスに達した場合、読み出しアドレスを記録バッファ４の先頭アドレスに戻す制御を行う。
【００５６】
記録データ生成ブロック５は現在読み出している画像データブロックのデータ構造をＣＰＵ９から信号線Ｓ９０８のバスを介して、記録データ生成ブロック５内部にあるレジスタに設定する。設定された画像データブロック構造内にある画像データを全て読み出すと終了信号Ｓ９０９をＣＰＵ９に対し割り込み信号として通信する。この際、記録バッファ４上に次の画像データブロックがすでに展開されているならば、その画像データブロック構造をレジスタに書き込む。
【００５７】
記録バッファ４は１画像データブロック単位でデータの書き込みを制御しており、書き込まれていない画像データブロックに対し記録データ生成ブロックを起動しないので、記録バッファの読み出しアドレスが書き込みアドレスを越えることは起きない。１１は、バッファ構造情報メモリである。これは、記録バッファの制御用の作業用メモリ（ワークRAM）で、後で述べる記録バッファ構造についての情報を一時的に格納する領域である。
【００５８】
以上が記録制御部における記録データの流れの概要である。
【００５９】
＜記録バッファリング構造制御回路の説明＞
記録バッファリング構造制御回路の説明を図８及び図９を用いて説明する。記録バッファリング構造制御回路の処理において、図８は書き込みアドレス制御を中心に説明する図であり、図９は記録バッファリング構造制御回路８の読み出しアドレス制御を中心に説明する図である。
【００６０】
記録バッファリング構造制御回路８は読み出し制御部８Aと書き込みアドレス制御部８Bで構成されている。また、記録バッファ４のバッファ領域は、記録バッファの先頭のアドレスをtop＿adrで示し、最終アドレスをbottom＿adrで表示する。この先頭アドレスは書き込みアドレス制御部８Ｂ内のレジスタ８０３に格納され、最終アドレスは書き込みアドレス制御部８Ｂ内のレジスタ８０４に格納される。
【００６１】
記録バッファ４に示される「RP」はリードポインタを示し、「WP」はライトポインタを示す。記録バッファの中のRPとWPの間のハッチング部分は記録データが格納されていることを表している。また、記録バッファ４の白色部分は記録データが格納されていないことを表す。
【００６２】
読み出しアドレス制御部８Ａ内の８０２は、データの読み出しアドレス（RP：リードポインタ）を示すレジスタである。８０５から８１２は第１色から第８色について、各色の情報を格納するレジスタである。ここで、レジスタ８０５には第１色のデータのバッファの高さ情報と、第1色データの存在位置を示す情報と、第１色データの有り無しを示す情報が格納され、同様にレジスタ８０６〜８１２についても第２色〜第８色について同様の情報が設定される。
【００６３】
８１３はブロックの幅情報を設定するレジスタであり、この幅情報は第１色〜第８色までブロック単位で、共通して使用される値である。
【００６４】
尚、上述のブロックデータの高さ情報及び幅情報は、図１０（a）で説明した設定データに含まれる情報である。
【００６５】
８１５は次のブロックデータのアドレスを格納するレジスタであり、このアドレスは各色に関する情報を格納するレジスタ８０５からレジスタ８１２のうちのいずれかの値と、ブロックデータに関する幅の情報を格納するレジスタ８１３の値を用いて決定することができる。
【００６６】
８１６はデータの書き込みアドレスを格納する書き込みアドレスレジスタである。８１４はアドレス制御レジスタで、書き込みアドレスが読み出しアドレスを追い越さないように（両アドレスが重複したアドレスを指定しないように）書き込み処理、読み出し処理の管理をする。
【００６７】
＜読み出しアドレス制御部の説明＞
図９において左側は記録バッファリング構造制御回路８の読み出しアドレス制御部８Ａを示し、同図の右側は記録バッファ４を示す。
【００６８】
記録バッファ４のバッファ領域は、図８と同様に、記録バッファの先頭のアドレスであるtop＿adrと、最終アドレスはbottom＿adrとで表される。この先頭アドレス（top＿adr）はレジスタ８０３に格納され、最終アドレス（bottom＿adr）はレジスタ８０４に格納される。記録バッファに示される「RP」は図８と同様にリードポインタであり、「WP」はライトポインタである。記録バッファ４におけるRPとWPの間のハッチング部分は記録データが格納されていることを表し、記録バッファの白色の部分は記録データが格納されていないことを表す。
【００６９】
読み出しアドレス制御部８Ａ内の８０２は、データの読み出しアドレス（RP：リードポインタ）を示すレジスタであり、破線の枠で囲った９００は第１レジスタ群、実線の枠で囲った９０１は第２レジスタ群である。
【００７０】
第１ブロックから第８ブロックの画像データを記録する場合、例えば、走査の開始時において、第１レジスタ群には第１ブロックについての情報が格納されている。また、第２レジスタ群には、第２ブロックについての情報が格納される。第１ブロックの記録が終了すると、第１レジスタ群９００には第２レジスタ群９０１の情報がコピーされ、第１レジスタ群９００には第２ブロックの情報が格納される。そして第２レジスタ群９０１には、第３ブロックの情報が格納される。以下、最後の第８ブロックのデータが格納されるまで順に行われる。そして、次の走査開始時には、再び、第１レジスタ群には第１ブロックの情報が格納され、第２レジスタ群には第２ブロックの情報が格納される。
【００７１】
第１レジスタ群内にあるレジスタ（1st＿hight/1st＿data＿start/1st＿data＿end/1 color bit)８１９は、第１色についての高さ情報とデータの位置情報と色データの有り無し情報を設定するレジスタである。各レジスタ８２２、８２４、８２６、８２８、８３０、８３２、８３４は第２色〜第８色についての高さ情報とデータの位置情報と色データの有り無し情報を設定するレジスタである。
【００７２】
８２０は各ブロックデータの幅情報を格納するレジスタである。この幅情報は第１色〜第８色までブロック単位で、共通して使用される値である。
【００７３】
レジスタ（1st＿color＿adr）８１８は第１色の読み出しアドレスを格納するレジスタである。第１色のデータが格納されている記録バッファ８１９からデータが読み出されるとアドレスが更新される。レジスタ８２１、８２３、８２５、８２７、８２９、８３１、８３３はそれぞれ第２色〜第８色の読み出しアドレスを格納するレジスタであり、第２色〜第８色の色データも第1色の色データと同様に順に１カラム分のデータが読み出される。
【００７４】
記録バッファ４に格納されるデータは複数の色データを含むため、例えば、第１、第２色、・・・の色データが混在した場合、各色単位の色データを格納するためのアドレスは、連続していないものとなる。そのため、読み出しアドレスのレジスタが色データ毎に１つであれば、例えば第１色データのアドレスの次に、第２色データを読み出す際、アドレス計算をする必要があるが、記録バッファ４に各色ごとに読み出しアドレスを格納するレジスタを用意することで、カラム単位での読み出しを行う際のアドレス計算を省くことができる。
【００７５】
８１７はアドレス制御レジスタである。読み出しアドレスは、記録データ生成ブロック５が各色毎にデータ読み出し要求信号線Ｓ８０５を介して要求すると、アドレス制御レジスタ８１７は読み出しアドレスとして信号線Ｓ８０６を介して１アドレスづつ加算して記録バッファ４に出力する。
【００７６】
８３５は次のブロックのアドレスを格納するレジスタである。現在読み出されているブロックが第１ブロックであれば、このレジスタには第２ブロックの先頭のアドレスが格納される。このレジスタの値は、現在読み出されているブロックデータの読み出しが終了すると、レジスタ８０２にコピーされる。これにより、次のブロックデータの読み出しがスムーズにできる。
【００７７】
レジスタ８３６は第１色から第８色のうち、読み出す順序を特定するための情報を格納するテーブルである。このテーブルに設定された値によって記録バッファからデータを読み出す順序を自由に設定することができる。例えば、図４の場合には、第１色→第２色→第３色→第４色と読み出す。また、８色ある場合には、第１色→第２色→・・→第８色の順に読み出すことができる。また、値を変えて、第１色→第２色→第５色→第６色→第７色→第８色のように第３色、第４色のデータの読み出しをスキップすることもできる。これによって、格納されていない色の画像データについては、正確に読みとばすことができる。
【００７８】
第２レジスタ群９０１は次のブロックデータに関する設定データを格納するバッファの集まりである。第１レジスタ群の各レジスタが読み出されたら、第２レジスタ群の各レジスタに設定されている値が、第１レジスタ群の対応するレジスタに設定される。例えば、レジスタ８３８に設定されている値がレジスタ８１９に設定される。レジスタ８３９〜８４５は、次のブロックデータにおける第２色〜第８色の色データについて同様の情報が設定されるレジスタである。
【００７９】
レジスタ８３８には第１色データのバッファの高さ情報と、第１色データの存在位置を示す情報と、第１色データの有り無しを示す情報が格納される。レジスタ８３９〜８４５についても第２色〜第８色について同様の情報が設定されるレジスタである。
【００８０】
８４６はレジスタ８２０と同様にブロックの幅情報を設定するレジスタである。この幅情報は第１色〜第８色までブロック単位で、共通して使われる値である。
【００８１】
レジスタ８７８は、先に設定したブロックのサイズと同じブロックのサイズが同じ場合、この値を「１」とすることで、第１レジスタ群に同じ値を再設定することができる。この場合、レジスタ８３８〜８４６の設定を省くことができる。レジスタ８７８の値が「０」の場合には、各レジスタ８３８〜８４６にそれぞれの値が設定される。レジスタ（same＿type）８７８によって、ブロックサイズが同じであれば、レジスタの設定を簡単に行うことができる。
【００８２】
以上が記録データに関するデータの書き込み、読み出し制御に関する処理の内容である。
【００８３】
図３において、参照番号３０１ａ〜ｇは記録媒体１０６に対して記録する主走査方向の記録データブロック（ＢＬＯＣＫ＿１〜７）と１走査記録領域３０２との対応を示す。記録媒体１０６に対して対応する各ブロックデータの記録を実行することにより、１走査記録領域３０２の記録が完了する。１走査記録領域３０２の記録のために本実施形態では記録するデータを一時格納する記録バッファを主走査方向に複数分割して用いているが、その複数の記録ブロックの利用管理のために、図３の３０３に示すような記録バッファ４を管理するためのデータ構造を特定するためのテーブルを用いてもよい。この場合、記録バッファ管理テーブル３０３の各欄３０１ａ〜ｇには、それぞれブロックに格納される色データの情報（BK＿１、C＿１、・・・）、その他、色データの有り無し、各ブロックの色データ毎のカラム数、色毎の使用ノズル位置等が格納される。
【００８４】
＜記録バッファのアドレス制御＞
図４は記録バッファに記録データを格納した場合の内部構成を例示する図である。ここでは、簡単のために記録ブロックは７つ（ＢＬＯＣＫ＿１〜７：この数字をブロックの識別ＩＤとする。）、記録ブロックに格納される色データは、第１ブロックが４つ（ＢＫ＿１、Ｃ＿１、Ｍ＿１、Ｙ＿１：この数字を色データの識別ＩＤとする。）、第２ブロックが４つ、第３ブロックが２つ、第４ブロックが１つ、第５ブロックが４つ、第６ブロックが１つ、そして第７ブロックが０とした合計１６個の色データが格納された状態である。
【００８５】
記録バッファのアドレスはＳＲＡＭ１７３のメモリアドレス"８０００００（ｈ：１６進表現を示す）"を開始アドレスとし、次々にＳＲＡＭ１７３の領域を分割して、各ブロックの色データ毎の記憶領域を割り当てる。
【００８６】
色データとブロックデータとの識別ＩＤの対応関係から、ＢＫ＿１は第１ブロックにおける黒の色データを示し、その記録領域の先頭アドレスは、黒は８０００００（ｈ）となり、シアン（Ｃ＿１）は８００４００（ｈ）、マゼンタ（Ｍ＿１）は８００８００（ｈ）、そしてイエロー（Ｙ＿１）は８００Ｃ００（ｈ）となる。第１ブロックには４色分の記録データが６４カラム分格納されている。
【００８７】
同様に第２ブロックについては、黒の色データ（ＢＫ＿２）の記録領域の先頭アドレスは８０１０００（ｈ）、シアン（Ｃ＿２）は８０１８００（ｈ）、マゼンタ（Ｍ＿２）は８０２０００（ｈ）、イエロー（Ｙ＿２）は８０２８００（ｈ）となる。第２ブロック２には、４色分の記録データが１２８カラム分格納される。
【００８８】
第３ブロックについては、黒の色データ（ＢＫ＿３）の記録領域の先頭アドレスは８０３０００（ｈ）、シアン（Ｃ＿３）は８０３４００（ｈ）となる。従って、ブロック３にはブラックとシアンの２色分の記録データが６４カラム分格納されている。また、マゼンタとイエローの画像データが無いので、記録バッファの割り当てはされていない。
【００８９】
第４ブロックについては、黒の色データ（ＢＫ＿４）の記録領域の先頭アドレスは８０３８００（ｈ）となる。従って、ブロック４にはブラック１色分の記録データが６４カラム分格納されている。その他のシアン、マゼンタ、イエローについては、画像データが無いので、記録バッファの割り当てはされていない。
【００９０】
第５ブロックについては、黒の色データ（ＢＫ＿５）の記録領域の先頭アドレスは８０３Ｃ００（ｈ）となり、シアン（Ｃ＿５）は８０４０００（ｈ）、マゼンタ（Ｍ＿５）は８０４４００（ｈ）、イエロー（Ｙ＿５）は８０４８００（ｈ）となる。第５ブロックについては、第１ブロックと同様に４色分の色データが６４カラム分格納される。
【００９１】
第６ブロックについては、イエローの色データ（Ｙ＿６）の記録領域の先頭アドレスは８０４Ｃ００（ｈ）となる。このブロックでは、黒、シアン、マゼンタに対応する画像データが無いので、その分のデータを格納するための記録バッファの割り当てはされていない。
【００９２】
また、ＳＲＡＭ１７３を記録バッファとして、データの格納領域を循環的に使用するため、第７ブロックとして示す領域の先頭アドレスは、第１ブロックにおける画像データの記録終了後、使用可能となった領域の先頭アドレス８０００００（ｈ）となる。
【００９３】
以上のように、それぞれ異なる記録領域に記録される画像データのみを、記録バッファに詰めて格納する（画像データの存在しない場合は、データを格納する領域を確保しない）ことにより、メモリを効率良く使うことができる。
【００９４】
一方、ＳＲＡＭ１７３には記録の際に使用する記録ブロック（１〜７）の順番を管理するために、次に使用する記録ブロックのＩＤ番号を管理する記録ブロックＩＤ番号格納領域を設ける。この記録ブロックＩＤ番号格納領域に格納されるＩＤ番号は記録バッファの記録ブロックが記録されることにより順次更新され、常に次に用いる記録ブロックのＩＤ番号がセットされる。このＩＤ番号により、次に読み出すべき記録ブロックを特定することができ、更に、記録が完了した記録ブロックには、後続のブロックデータが順次格納さる。
【００９５】
このようにして、記録動作中には常に記録バッファエリアにどの記録ブロックデータを書き込めば良いかが管理されることになる。そして、一連の記録動作中はこの情報がＳＲＡＭ１７３内に保持される。記録動作中、記録バッファのどのアドレスにデータを書き込めば良いかが管理できることになる。記録データの書き込みと、読み出しは一連の記録動作中、記録バッファを循環的に利用して制御される。
【００９６】
＜記録制御の処理＞
図６は記録制御のフローを示した図である。ステップＳ６０１で記録バッファから画像データの読み出しを行うために、第１レジスタ群（複数のレジスタで構成）の設定を行う。この第１レジスタ群の設定では、第１ブロックにおける色データの有無、ノズル数、カラム数、色毎の記録データカラム数などの設定データが設定される。例えば、図４で示すように第１ブロックには４色の画像データすべてが格納されているので、全ての色データが有る旨が設定される。この第１レジスタ群は先に説明した図９の９００に対応する。
【００９７】
ステップＳ６０２で第２レジスタ群（複数のレジスタで）の設定を行う。この第２レジスタ群の設定では、第２ブロックにおける色データの有無、ノズル数、カラム数、色毎の記録データカラム数などの設定データが設定される。第１レジスタ群の各レジスタは、第２レジスタ群の各レジスタにそれぞれ対応しており、第２レジスタ群に設定された値は、割り込み信号を受けて、第１レジスタ群にコピーされるので、設定を容易に行うことができる。なお、図４の第３ブロックのデータを設定する場合には、マゼンタ（M）とイエロー（Y）のデータは格納されていないので、マゼンタ（M）とイエロー（Y）のレジスタには色無し情報が設定されることになる。
【００９８】
ステップＳ６０３で記録動作を開始する。各ブロックにおける画像データは、そのアドレス情報（８１８、８２１、８２３、８２５、８２７、８２９、８３１、８３３）に従い読み出され、第１レジスタ群９００に格納されている設定データに従い記録データ生成ブロック５が記録データを生成する。例えば、キャリッジが走査を開始し、記録領域の手前まで加速し、その後等速で移動する。そして、記録開始位置にキャリッジが到達したところで、第１ブロックに格納された画像データの記録が開始される。従って、記録データが処理されるためには、データの準備は記録開始位置にキャリッジが到達する前に完了することになる。
【００９９】
ステップＳ６０４では現在、第１ブロックに格納されているデータの記録終了を示す割り込み信号の有無をチェックする。割り込み信号が有れば（Ｓ６０４−Ｙｅｓ）、現在第１ブロックに格納されている画像データは全て記録されたことになるので、第２レジスタ群に格納されているデータをそれぞれ第１レジスタ群へコピーして、次の記録処理が実行される。
【０１００】
一方、記録が完了した第１ブロックに対応する記録バッファには、次のブロックのデータが格納される。本実施形態では、図４に示すように記録バッファに第６ブロックまでのデータが格納されているので、７番目の第７ブロックのデータが第１ブロックの空領域に格納される。
【０１０１】
ステップＳ６０５で位置カウンタをラッチする。この位置カウンタの値は、エンコーダから得られたキャリッジの位置情報である。この位置情報は記録バッファに格納された画像データのカラム情報で、１画素単位の情報に対応する。
【０１０２】
ステップＳ６０６で、画像データの最終ブロックに対応するデータであるか否かチェックする。もし最終ブロックでなければ（Ｓ６０６−Ｎｏ）、処理をステップＳ６０７へ進める。最終ブロックであれば（Ｓ６０６−Ｙｅｓ）、１回の走査としての記録は終了するので、ステップＳ６０６で受信した最終ブロックの割り込み信号をクリアし（Ｓ６１０）、記録を終了する。
【０１０３】
ステップＳ６０７では、第２レジスタ群設定遅れ割り込みがあったかチェックする。この割り込みは、記録する位置（記録開始位置にキャリッジが到達した位置）にキャリッジが移動してきて、記録するタイミングまでに、記録バッファからの記録データ読み出しが間にあわない場合に発生する。本実施形態では、ブロック終了割り込み時に参照するフラグとして、第２レジスタ群設定遅れフラグが「１」になっているか否かで第２レジスタ群設定遅れの有無を判断する。設定遅れでなければ、このフラグは「０」である。尚、この第２レジスタ群設定遅れフラグは、第２レジスタ群にデータを設定する時、ＣＰＵ９の制御の下、ソフトウエアによる処理で「１」にセットされ、第２レジスタ群のデータが第１レジスタ群にコピーされるときに「０」に変更される、第２レジスタ群設定終了フラグを基に変更される。ブロック終了割り込み発生時、第２レジスタ群設定終了フラグが「１」であれば第２レジスタ群設定遅れフラグは「０」、第２レジスタ群設定終了フラグが「０」であれば第２レジスタ群設定遅れフラグは「１」になる。従って、第２レジスタ群設定遅れフラグが「１」の場合は、次に記録するべきブロックデータが記録バッファ４から読み出せない状態ということになる。
【０１０４】
もし、第２レジスタ群設定遅れ割り込みがあった場合（上述のフラグが１の場合）には（Ｓ６０７−Ｙｅｓ）、現在第１レジスタ群に設定されている画像データを記録後、次のブロックの記録は行わずに、記録は中断する（Ｓ６１１）。例えば第３ブロックの記録を行った後に記録を中断する場合には、ステップＳ６０５でラッチされた位置カウンタは第３ブロックの最終カラムに対応するキャリッジの位置情報を保存して記録を中断する。このときキャリッジの動作は、等速移動状態から減速して、停止した後、走査方向に原点復帰して記録開始位置に戻る。
【０１０５】
そして、CPU９は上記のフラグの設定値をモニタしており、上述の第２レジスタ設定遅れを示すフラグが「１」で中断したとわかると（Ｓ６１１）、第２レジスタ設定遅れフラグを「１」から「０」にクリアを行い（Ｓ６１２）、再び記録ヘッド６が走査を開始するための制御を行う（Ｓ６１３）。記録の再開は中断前と同じ走査領域で（副走査方向の搬送を行わずに）記録ヘッドを走査して、記録を中断した位置から記録を実行する。この場合、第３ブロックまで記録を行ったので、第４ブロックから記録を行う。記録の再開において、位置カウンタの値は記録の中断前の値が保持されており、この値を利用することにより、記録位置の連続性は中断前と後とで確保できる。このようにして、１回中断した場合は２回の走査回数で１走査領域の記録が処理できる。
【０１０６】
ステップＳ６０７で、第２レジスタ群設定遅れ割り込みがなかった場合（上述のフラグが０の場合）には、ステップＳ６０８で割り込み信号をクリアする。
【０１０７】
ステップＳ６０９で再び第２レジスタ群の設定を行う。格納していたデータの内容を第１レジスタ群にコピーすることで空領域ができた第２レジスタ群には、第３ブロックの設定データの設定を行い、ステップ処理をステップＳ６０４に戻す。
【０１０８】
ステップＳ６０４において、ブロック終了割り込みが有れば、ステップＳ６０９で処理された第２レジスタ群に設定された第３ブロックの設定データを第１レジスタ群にコピーして、次の記録処理が実行される。
【０１０９】
以下、最終ブロックの終了まで、図６に示すフローチャートに従いデータは処理される。
【０１１０】
＜記録の再開の説明＞
図１２は、記録データの格納が、記録のタイミングに間に間に合わない場合（図６のフローチャートで、第２レジスタ群設定遅れを示すフラグが１の場合）の記録動作を説明する図である。
【０１１１】
記録ヘッド６がスタート位置Ｓから矢印の走査方向に移動して、記録を行うことを示している。この記録ヘッド６の位置の制御はカラム信号Ｔに基づいて行われる。スタート位置（停止状態）から走査を開始して、記録ヘッド６を加速していき、例えば、位置Ａで加速を終了し、等速移動する。なお、データの格納が、記録ヘッド６の等速移動に遷移し、記録開始位置の到達するタイミングに間に間に合う場合には、１回の走査で１走査領域の全域に該当する位置Ａから位置Ｄ（Ａ−Ｄ間はキャリッジの等速移動領域）まで記録できる。
【０１１２】
図１２（a）は、位置Ｂから記録を開始し、位置Ｃまで領域Ｐ１の間で記録をしていることを示す。記録ヘッドの記録開始位置到達前までに、記録データの格納が間に合わなかったため位置Ｃまでしか記録されない。キャリアモータ１７９のモータドライバ１７７はどこまで記録したかを、カラム信号Ｔに基づいて記録位置を捕捉して、記録を再開するための記録タイミングｔ１を記憶する。そして、図１２（ｂ）に示すように、再びスタート位置Ｓから走査を開始し、記録タイミングｔ１から記録を実行する。この制御によって、中断した位置Ｃから記録を開始することができ、位置Ｄまで領域Ｐ２の間で記録を行い、走査方向の記録を完了する。
【０１１３】
図１３は、記録データ生成ブロック５内にあるエンコーダ信号処理ブロックに関する信号の説明図である。
【０１１４】
１５０ＤＰＩの分解能を有するエンコーダ信号を４等分したカラム信号（１画素の分解能と等しい。）を生成する。このカラム信号を図１４に示すカラムカウンタ１４０１でカウントする。このカラム信号に基づいて、それぞれのカラムの画像データが読み出される。
【０１１５】
各カラムの第１色から第８色の画像データが順に読み出される。この読み出しは、ＤＭＡ＿ＲＥＱ信号と、ＤＭＡ＿ＡＣＫ信号により行われる。ＤＭＡ＿ＡＣＫ信号の１周期において、１ノズル列分のデータが、この図では４回（ａ〜ｄ）に分けて、読み出されている。ここで、ノズル列が６４の場合だと、１６ノズル単位のデータが１回に読み出されることになる。すなわち、画像データａでは、第１ノズルから第１６ノズルのデータが読み出され、画像データｂでは第１７ノズルから第３２ノズルのデータが読み出され、画像データｃでは第３３ノズルから第４８ノズルのデータが、そして、画像データｄでは、第４９ノズルから第６４ノズルのデータが読み出される。同様に１列のノズル数が１２８であれば、８回に分けて読み出されることになる。
【０１１６】
データの読み出しのタイミングが、カラム信号のタイミングＴ８で行われるとすると、その読み出したデータについて記録ヘッドを駆動するタイミングは、１クロック分後のカラム信号Ｔ９で行われる。つまり、カラム信号のタイミングＴ８で画像データが読み出され、カラム信号のタイミングＴ９でその読み出したデータに対するインクの吐出（記録）が行われる。
【０１１７】
なお、このＤＭＡ＿ＲＥＱ信号は、図５及び図９に記載されているデータの読み出し要求信号線Ｓ８０５である。そして、この信号の応答として、図９に示されているＤＭＡ＿ＡＣＫ信号Ｓ８０５１が記録データ生成ブロックに返される。ここで、画像データは図９のＳ５で示され、ＤＭＡ転送で記録バッファ４から記録データ生成ブロック５に転送される。
【０１１８】
図１４は、カラム信号をカウントする回路の説明図である。カラムカウンタ１４０１とラッチ回路１４０２で構成されている。図１３で示したカラム信号をカラムカウンタがカウントアップする。このカウントアップ値をラッチ回路１４０２に出力する。そして、画像データなしの信号が入力されると、ラッチ回路１４０２はカウントを加算せずにカウントアップ値を保持する。
【０１１９】
例えば、図１３を使って説明すると、カラムカウント値８まで読み込んだタイミングで、画像データなしの信号が入力された場合（図６のフローチャートにおいて、第２レジスタ群の群設定遅れを示すフラグが１の場合）、カラムカウントのタイミングＴ８でカウント値８の値がラッチされる。この値８＋１（９カラム目）（順方向は＋１で９カラム目、逆方向は−１で７カラム目）は次の記録開始位置の第１カラム（記録開始のカラム）として使用される。
【０１２０】
尚、本実施形態では記録ヘッドの構造が副走査方向に各色成分に関して１６ビット分のデータを記録可能なノズルをもつものとして説明したが、本発明の趣旨はこれによって限定されるものではない。例えば、このノズルサイズは、ＭＰＵからのアクセスが容易なサイズであれば、８ビット、１６ビット、３２ビット等、何れのサイズでも良い。
【０１２１】
また、本実施形態では記録媒体よりも小さいサイズの管理テーブルをもつように構成されているが、本発明はこれによって限定されるものではない。例えば、１ページを越えるサイズの管理テーブルをもつように構成しても何ら問題なくその効果に変わりはない。その他、記録バッファの数や、記録バッファサイズについても本実施形態によって限定されるものではなく、装置構成等によって変更可能であることは言うまでもない。
【０１２２】
以上説明したように、本実施形態にかかる記録装置及び、記録装置の制御方法によれば、複数の色データを含むデータのうち、記録データの存在する部分のみを、バッファへの書き込み、読み取りを制御することが可能となる。また、この制御は、複数の記録ブロックに分割し、記録ブロック毎に記録動作の管理を行うので、記録動作に必要な記録バッファのサイズをより小さくすることができ、バッファ領域の効率的な利用が可能となる。
【０１２３】
また、記録データの格納が記録動作に間に合わずに記録が中断した場合でも、記録ヘッドの位置検知手段により検知した走査位置情報により記録位置を制御して、記録を再開させて走査方向の記録を完了させることが可能となる。
【０１２４】
本発明は、特にインクジェット記録方式の中でも、インク吐出を行わせるために利用されるエネルギーとして熱エネルギーを発生する手段（例えば電気熱変換体やレーザ光等）を備え、前記熱エネルギーによりインクの状態変化を生起させる方式のプリント装置について説明したが、かかる方式によれば記録の高密度化、高精細化が達成できる。
【０１２５】
また、本発明の記録装置の構成として設けられる、記録ヘッドに対しての回復手段、予備的な補助手段等を付加することは本発明の効果を一層安定にできるので好ましいものである。これらを具体的に挙げれば、記録ヘッドに対してのキャッピング手段、クリーニング手段、加圧あるいは吸引手段、電気熱変換体あるいはこれとは別の加熱素子あるいはこれらの組み合わせによる予備加熱手段、記録とは別の吐出を行う予備吐出モードを行うことも安定した記録を行うために有効である。
【０１２６】
さらに、記録装置の記録モードとしては黒色等の主流色のみの記録モードだけではなく、記録ヘッドを一体的に構成するか複数個の組み合わせによってでも良いが、異なる色の複色カラー、または混色によるフルカラーの少なくとも１つを備えた装置とすることもできる。
【０１２７】
以上説明した本発明実施形態においては、インクを液体として説明しているが、室温やそれ以下で固化するインクであっても、室温で軟化もしくは液化するものを用いても良く、あるいはインクジェット方式ではインク自体を３０°Ｃ以上７０°Ｃ以下の範囲内で温度調整を行ってインクの粘性を安定吐出範囲にあるように温度制御するものが一般的であるから、使用記録信号付与時にインクが液状をなすものであればよい。
【図面の簡単な説明】
【０１２８】
【図１】本発明の実施形態で共通に用いられるインクジェットプリンタの外観斜視図である。
【図２】インクジェットプリンタの制御回路の構成を示すブロック図である。
【図３】本発明の実施形態において、記録媒体１０６の走査方向に対応する記録データの構成を概略的に説明する図である。
【図４】本発明の実施形態にかかる記録バッファのデータ配置について説明する図である。
【図５】本発明にかかる記録装置の実施形態において、記録装置の記録制御部を示すブロック図である。
【図６】本発明の実施形態にかかる記録装置の記録制御工程を説明するフローチャートである。
【図７】本発明の実施形態において、インクジェットプリンタに適用が可能なカラープリント用の記録ヘッド１０２を記録媒体１０６側から示した外観斜視図である。
【図８】本発明の実施形態にかかる記録装置における記録バッファリング構造制御回路の書き込みアドレス制御部の詳細を説明する図である。
【図９】本発明の実施形態にかかる記録装置における記録バッファリング構造制御回路の読み出しアドレス制御部の詳細を説明する図である。
【図１０】ホストコンピュータから転送されるデータのデータ構造を示す図である。
【図１１】画像データを保持する記録バッファのデータ構造を示す図である。
【図１２】記録データの格納が記録処理のタイミングに間に合わない場合の記録動作の処理を説明する図である。
【図１３】記録データ生成ブロック５内にあるエンコーダ信号処理ブロックに関する信号の説明図である。
【図１４】カラム信号をカウントする回路の説明図である。
【符号の説明】
【０１２９】
１  インターフェース制御部
２  受信バッファ
３  データ展開ブロック
４  記録バッファ
５  記録データ生成ブロック
６  記録ヘッド
７  受信バッファリング構造制御回路
８  記録バッファリング構造制御回路
８A  読み出しアドレス制御部
８B  書き込みアドレス制御部
９  CPU
１０  CRエンコーダ
１１  バッファ構造情報メモリ
９００  第１レジスタ群
９０１  第２レジスタ群
RP  リードポインタ
WP  ライトポインタ
【図１】
2006168198.tif 000003
【図２】
2006168198.tif 000004
【図３】
2006168198.tif 000005
【図４】
2006168198.tif 000006
【図５】
2006168198.tif 000007
【図６】
2006168198.tif 000008
【図７】
2006168198.tif 000009
【図８】
2006168198.tif 000010
【図９】
2006168198.tif 000011
【図１０】
2006168198.tif 000012
【図１１】
2006168198.tif 000013
【図１２】
2006168198.tif 000014
【図１３】
2006168198.tif 000015
【図１４】
2006168198.tif 000016