(57)【要約】【課題】  記録ヘッドの１回の走査で記録可能な記録データのデータ量よりも容量が少ないメモリを効率良く使用して記録を行う。【解決手段】  ホスト装置から送信された記録データに従って記録ヘッドを記録媒体上で走査させて記録を行う記録装置と、ホスト装置とを含む記録システムで、ホスト装置において、記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成し、記録装置において、ホスト装置より受信した記録データをブロックを単位としてメモリに格納するようにし（Ｓ３）、１回の走査で記録する記録データに関する情報に基づいて、所定数のブロックの記録データをメモリに格納したときに、走査を開始させるように制御する（Ｓ４，Ｓ５）。【選択図】  図７
2005053191.tif 000002
【特許請求の範囲】
【請求項１】
記録ヘッドを記録媒体上で走査させて記録を行う記録装置と、前記記録装置に記録データを送信するホスト装置とを含む記録システムであって、
前記ホスト装置は、
前記記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成する記録データ生成手段と、
前記１回の走査で記録する記録データに関する情報を前記記録データと共に前記記録装置に送信する送信手段と、を備え、
前記記録装置は、
前記記録ヘッドが１回の走査で記録可能な記録データのデータ量よりも容量が少なく、前記ホスト装置から送信された記録データを格納するためのメモリと、
前記ホスト装置より受信した記録データを前記ブロックを単位として前記メモリに格納する格納制御手段と、
前記記録データに関する情報に基づいて、前記メモリに所定数のブロックの記録データが格納されたときに、前記走査を開始させるように制御する走査制御手段と、を備えることを特徴とする記録システム。
【請求項２】
記録ヘッドを記録媒体上で走査させて記録を行う記録装置と、前記記録装置に記録データを送信するホスト装置とを含む記録システムであって、
前記ホスト装置は、
前記記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成する記録データ生成手段と、
前記１回の走査で記録する記録データに関する情報に基づいて、前記記録装置に送信した前記ブロックの数が所定数となったときに、走査開始要求を前記記録装置に送信する走査開始指示手段と、を備え、
前記記録装置は、
前記記録ヘッドが１回の走査で記録可能な記録データのデータ量よりも容量が少なく、前記ホスト装置から送信された記録データを格納するためのメモリと、
前記ホスト装置より受信した記録データを前記ブロックを単位として前記メモリに格納する格納制御手段と、
前記走査開始要求を受信したときに、前記走査を開始させるように制御する走査制御手段と、を備えることを特徴とする記録システム。
【請求項３】
前記記録データに関する情報が記録すべき解像度の情報を含み、前記所定数が前記解像度の情報に応じて決定されることを特徴とする請求項１又は２に記載の記録システム。
【請求項４】
前記記録データに関する情報が走査速度の情報を含み、前記所定数が前記走査速度の情報に応じて決定されることを特徴とする請求項１又は２に記載の記録システム。
【請求項５】
前記記録データに関する情報が記録データに含まれる色数の情報を含み、前記所定数が前記色数の情報に応じて決定されることを特徴とする請求項１又は２に記載の記録システム。
【請求項６】
前記記録データに関する情報が走査方向の長さの情報を含み、前記所定数が前記走査方向の長さの情報に応じて決定されることを特徴とする請求項１又は２に記載の記録システム。
【請求項７】
記録ヘッドを記録媒体上で走査させて記録を行う記録装置と、前記記録装置に記録データを送信するホスト装置とを含む記録システムであって、
前記ホスト装置は、
前記記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成する記録データ生成手段を備え、
前記記録装置は、
前記記録ヘッドが１回の走査で記録可能な記録データのデータ量よりも容量が少なく、前記ホスト装置から送信された記録データを格納するためのメモリと、
前記ホスト装置より受信した記録データを前記ブロックを単位として前記メモリに格納する格納制御手段と、
前記メモリに格納された記録データの量が、前記メモリの容量の所定の割合を超えたときに、前記走査を開始させるように制御する走査制御手段と、を備えることを特徴とする記録システム。
【請求項８】
前記記録データ生成手段は、前記記録ヘッドによって記録されるデータを含むブロックに対する記録データのみを生成することを特徴とする請求項１から７のいずれか１項に記載の記録システム。
【請求項９】
前記格納制御手段は、前記記録ヘッドによって記録されるデータを含むブロックのみを前記メモリに格納することを特徴とする請求項１から７のいずれか１項に記載の記録システム。
【請求項１０】
ホスト装置から送信された記録データに従って記録ヘッドを記録媒体上で走査させて記録を行い、前記記録ヘッドが１回の走査で記録可能な記録データのデータ量よりも容量が少ない前記記録データを格納するためのメモリを有する記録装置の走査開始タイミング制御方法であって、
前記ホスト装置において、前記記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成し、前記１回の走査で記録する記録データに関する情報を前記記録データと共に前記記録装置に送信し、
前記記録装置において、前記ホスト装置より受信した記録データを前記ブロックを単位として前記メモリに格納し、前記記録データに関する情報に基づいて、前記メモリに所定数のブロックの記録データを格納したときに、前記走査を開始させるように制御することを特徴とする記録装置の走査開始タイミング制御方法。
【請求項１１】
ホスト装置から送信された記録データに従って記録ヘッドを記録媒体上で走査させて記録を行い、前記記録ヘッドが１回の走査で記録可能な記録データのデータ量よりも容量が少ない前記記録データを格納するためのメモリを有する記録装置の走査開始タイミング制御方法であって、
前記ホスト装置において、前記記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成し、前記１回の走査で記録する記録データに関する情報に基づいて、前記記録装置に送信した前記ブロックの数が所定数となったときに、走査開始要求を前記記録装置に送信し、
前記記録装置において、前記ホスト装置より受信した記録データを前記ブロックを単位として前記メモリに格納し、前記走査開始要求を受信したときに、前記走査を開始させるように制御することを特徴とする記録装置の走査開始タイミング制御方法。
【請求項１２】
ホスト装置から送信された記録データに従って記録ヘッドを記録媒体上で走査させて記録を行い、前記記録ヘッドが１回の走査で記録可能な記録データのデータ量よりも容量が少ない前記記録データを格納するためのメモリを有する記録装置の走査開始タイミング制御方法であって、
前記ホスト装置において、前記記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成し、
前記記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成する記録データ生成手段を備え、
前記記録装置において、前記ホスト装置より受信した記録データを前記ブロックを単位として前記メモリに格納し、前記メモリに格納された記録データの量が、前記メモリの容量の所定の割合を超えたときに、前記走査を開始させるように制御することを特徴とする記録装置の走査開始タイミング制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記録システム及び記録装置の走査開始タイミング制御方法に関し、特に、ホスト装置から送信された記録データに従って記録ヘッドを記録媒体上で走査させて記録を行い、記録ヘッドが１回の走査で記録可能な記録データのデータ量よりも容量が少ない記録データを格納するためのメモリを有する記録装置の走査開始タイミングの制御に関するものである。
【背景技術】
【０００２】
インクジェット記録装置は、低騒音、低コスト、低ランニングコストであり、かつ装置の小型化が容易であるため、一般的なプリンタ装置や複写機等において広く利用されている。
【０００３】
このうちシリアル式のインクジェット記録装置は、記録ヘッドを記録媒体上で主走査方向に往復移動させ、画像を記録する毎にその記録幅（副走査方向の長さ）に応じた長さだけ副走査方向に記録紙を搬送させ、このような動作を繰り返して１頁の記録を行う記録装置である。
【０００４】
このような記録装置では、少なくとも１回の主走査で記録する記録データの全てをメモリ（プリントバッファ）に格納し、１回の主走査で記録すべき記録データの全てが確定されプリントバッファに格納された後に、記録ヘッドの主走査を開始するように制御するのが一般的である。このため、高価なメモリを多く必要とし、装置のコストが高くなってしまうという問題が生じる。
【０００５】
そこで、例えば、特許文献１（特開昭５８−１４６９２９号公報）には、１回の主走査分の記録データを格納できるメモリ容量よりも少ないメモリ容量のメモリをプリントバッファとして使用する記録装置が提案されており、該文献には、記録データを格納したプリントバッファのアドレスを管理して、そのプリントバッファに格納された記録データに基づいて記録を行う技術が記載されている。
【０００６】
また、特許文献２（特開平１１−２５９２４８号公報）には、１回の主走査分の記録データが確定されるのを待たずに記録ヘッドの主走査を開始するプリンタ装置が提案されている。しかしながら、この文献に記載されたプリンタ装置では、記録ヘッドを主走査させながら記録している間には必ず、その主走査による記録を完了するのに十分な記録データが送られてくることを前提としている。即ち、記録ヘッドの主走査に間に合うように記録データが供給されることが前提となっている。
【特許文献１】特開昭５８−１４６９２９号公報
【特許文献２】特開平１１−２５９２４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載された技術では、メモリを効率的に使うことができず、また、記録中の動作に対して記録データの転送が間に合わない場合にどのように動作するのかが開示されていない。
【０００８】
また、特許文献２に記載された技術では、記録データを供給しているホストコンピュータは、その記録中には、プリンタ装置に対して記録ヘッドの走査に間に合うように記録データを供給する必要がある。
【０００９】
しかしながら、通常ホストコンピュータとして使用されるパーソナルコンピュータには、一般的にウインドウシステムが組込まれており、汎用性のあるマルチタスク処理が可能なように構成されている。このためホストコンピュータにおける処理が、記録データの生成及び転送に専念できるという保証がなく、上述したような、プリンタ装置への記録データの転送を保証することが困難になってきている。
【００１０】
更に、プリンタ装置への記録データの転送を保証するためには、ホストコンピュータ内のプリンタドライバの処理についてデータ転送を保証する仕様に変更する必要があるが、このような保証を行うと、そのＯＳの有する汎用的なマルチタスク機能を阻害することにもなってしまう。
【００１１】
本発明は以上のような状況に鑑みてなされたものであり、記録ヘッドの１回の走査で記録可能な記録データのデータ量よりも容量が少ない記録データを格納するためのメモリを備え、そのメモリを効率良く使用して記録を行うことができる、記録システム及び記録装置の走査開始タイミング制御方法を提供することを目的としている。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明の一態様としての記録システムは、記録ヘッドを記録媒体上で走査させて記録を行う記録装置と、前記記録装置に記録データを送信するホスト装置とを含む記録システムであって、
前記ホスト装置は、
前記記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成する記録データ生成手段と、
前記１回の走査で記録する記録データに関する情報を前記記録データと共に前記記録装置に送信する送信手段と、を備え、
前記記録装置は、
前記記録ヘッドが１回の走査で記録可能な記録データのデータ量よりも容量が少なく、前記ホスト装置から送信された記録データを格納するためのメモリと、
前記ホスト装置より受信した記録データを前記ブロックを単位として前記メモリに格納する格納制御手段と、
前記記録データに関する情報に基づいて、前記メモリに所定数のブロックの記録データが格納されたときに、前記走査を開始させるように制御する走査制御手段と、を備える。
【００１３】
また、上記目的を達成する本発明の別の態様としての記録システムは、記録ヘッドを記録媒体上で走査させて記録を行う記録装置と、前記記録装置に記録データを送信するホスト装置とを含む記録システムであって、
前記ホスト装置は、
前記記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成する記録データ生成手段と、
前記１回の走査で記録する記録データに関する情報に基づいて、前記記録装置に送信した前記ブロックの数が所定数となったときに、走査開始要求を前記記録装置に送信する走査開始指示手段と、を備え、
前記記録装置は、
前記記録ヘッドが１回の走査で記録可能な記録データのデータ量よりも容量が少なく、前記ホスト装置から送信された記録データを格納するためのメモリと、
前記ホスト装置より受信した記録データを前記ブロックを単位として前記メモリに格納する格納制御手段と、
前記走査開始要求を受信したときに、前記走査を開始させるように制御する走査制御手段と、を備える。
【００１４】
すなわち、本発明では、ホスト装置から送信された記録データに従って記録ヘッドを記録媒体上で走査させて記録を行い、記録ヘッドが１回の走査で記録可能な記録データのデータ量よりも容量が少ない記録データを格納するためのメモリを有する記録装置と、ホスト装置とを含む記録システムで、ホスト装置において、記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成し、記録装置において、ホスト装置より受信した記録データをブロックを単位としてメモリに格納するようにし、１回の走査で記録する記録データに関する情報に基づいて、所定数のブロックの記録データをメモリに格納したとき又は記録装置に送信したときに、走査を開始させるように制御する。
【００１５】
このようにすると、記録ヘッドの１回の走査で記録可能な記録データのデータ量よりも容量が少ない記録データを格納するためのメモリを備える記録装置で、メモリを効率良く使用して記録を行うことができ、かつ記録データに応じて記録ヘッドによる走査開始のタイミングが決定されるので、記録に要する時間を短縮できる。
【００１６】
なお、上記２つの態様のいずれにおいても記録データに関する情報としては、記録すべき解像度の情報、走査速度の情報、記録データに含まれる色数の情報、及び走査方向の長さの情報のいずれかを含み、所定数が記録データに関する情報に応じて決定されるのが好ましい。
【００１７】
また、上記目的を達成する本発明の更に別の態様としての記録システムは、記録ヘッドを記録媒体上で走査させて記録を行う記録装置と、前記記録装置に記録データを送信するホスト装置とを含む記録システムであって、
前記ホスト装置は、
前記記録ヘッドが１回の走査で記録する記録データを、少なくとも走査方向に分割したブロックを単位として生成する記録データ生成手段を備え、
前記記録装置は、
前記記録ヘッドが１回の走査で記録可能な記録データのデータ量よりも容量が少なく、前記ホスト装置から送信された記録データを格納するためのメモリと、
前記ホスト装置より受信した記録データを前記ブロックを単位として前記メモリに格納する格納制御手段と、
前記メモリに格納された記録データの量が、前記メモリの容量の所定の割合を超えたときに、前記走査を開始させるように制御する走査制御手段と、を備える。
【００１８】
なお、以上３つの態様のいずれにおいても、記録ヘッドによって記録されるデータを含むブロックに対する記録データのみを生成する、あるいは記録ヘッドによって記録されるデータを含むブロックのみをメモリに格納するようにするのが好ましい。
【００１９】
更に、上記目的は、上記の３つの態様の記録システムのいずれかに対応した記録装置の走査開始タイミング制御方法によっても達成される。
【発明の効果】
【００２０】
本発明によれば、記録ヘッドの１回の走査で記録可能な記録データのデータ量よりも容量が少ない記録データを格納するためのメモリを備える記録装置で、メモリを効率良く使用して記録を行うことができ、かつ記録データに応じて記録ヘッドによる走査開始のタイミングが決定されるので、記録に要する時間を短縮できる。
【発明を実施するための最良の形態】
【００２１】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。尚、以下で説明する実施形態では、インクジェット記録装置を例に説明するが、本発明はこれに限定されるものでなく、記録ヘッドを記録媒体上で走査させて記録を行う記録装置であれば、例えば、サーマルプリンタ、ワイヤドットプリンタなどの他の方式の記録装置にも適用できる。
【００２２】
なお、本明細書において「格納」とは「記憶」と同様に、メモリ領域にデータを書き込む、あるいは転送する処理を表している。
【００２３】
［第１の実施形態］
図１は、本発明の第１の実施形態に係るインクジェット記録装置の概略構成を示す斜視図である。
【００２４】
本実施形態のインクジェット記録装置１００の給紙位置に挿入された記録媒体１０５は、送りローラ１０６の回転によって矢印Ｐ方向に送られ、記録ヘッド１０４による記録領域へ搬送される。この記録領域における記録媒体１０５の下部には、プラテン１０７が設けられている。キャリッジ１０１は、２つのガイド軸１０２と１０３によって、それらの軸方向に沿って移動可能に支持されており、不図示のキャリッジモータの駆動により、記録領域を含む走査領域を、主走査方向である矢印Ｑ１，Ｑ２で示す方向に沿って往復走査する。キャリッジ１０１による１回の主走査が終了すると、記録媒体１０５を矢印Ｐ方向である副走査方向に一定量（記録ヘッド１０４による記録幅に相当する距離）だけ搬送し、次の主走査に備える。これらの主走査と副走査を繰り返して１頁の記録を行う。
【００２５】
図１において、キャリッジ１０１に登載された記録ヘッド１０４は、インクを吐出可能な吐出口（ノズル）とインクを収容するインクタンクとを含んでおり、記録ヘッド１０４の吐出口は、下方に位置する記録媒体１０５上にインクを吐出して記録するように、吐出口を下に向けてキャリッジ１０１上に搭載されている。
【００２６】
また、１０８はスイッチと表示部を備える操作部で、スイッチは記録装置１００の電源のオン／オフの切り替えや各種記録モードの設定等に使用され、表示部は記録装置１００の状態を表示可能に構成されている。
【００２７】
記録ヘッド１０４は、Ｂｋ（ブラック），Ｃ（シアン），Ｍ（マゼンタ），Ｙ（イエロー）の４色を記録可能であり、Ｂｋ，Ｃ，Ｍ，Ｙの各色のヘッドの吐出口の数はそれぞれ１２８個であり、各色の吐出口の配置ピッチは副走査方向に対して６００ｄｐｉ（１／６００インチ）で、その間隔は約４２ミクロンである。また、この記録ヘッド１０４の駆動周波数は１５ｋＨｚであり、主走査方向に対して６００ｄｐｉの解像度で記録可能である。従って、記録動作時のキャリッジ１０１の主走査方向への移動速度は２５［inch／sec］である。
【００２８】
また、記録ヘッド１０４の各吐出口付近には、インク滴を吐出するために熱エネルギーを発生する発熱体が設けられている。この発熱体の発熱により急速に加熱されたノズル内のインクは膜沸騰により気泡を形成し、この気泡の圧力によりインク滴が記録媒体１０５の方向に向かって吐出口から吐出され、記録媒体１０５上に文字や画像を記録する。このような電気・熱変換体である発熱体を使用したインクジェット記録方法は、インク滴の吐出時に、熱エネルギーの印加により形成される気泡を使用しているため、通称、バブルジェット（登録商標）記録方法と呼ばれている。
【００２９】
尚、本実施形態は、この方式のインクジェットヘッドに限定されることは無く、例えば圧電素子を使用したインク吐出方式の記録ヘッドでも良い。
【００３０】
図２は、本実施形態に係るインクジェット記録装置１００の主要部の構成を示すブロック図である。
【００３１】
ホスト装置５００からインクジェット記録装置１００に対して記録すべき文字や画像データが送信されると、そのデータは受信バッファ４０１に蓄えられる。また、このデータ受信時には、正しくデータが転送されているかどうかを確認するためのデータ、及びインクジェット記録装置１００の動作状態を知らせるデータが記録装置１００からホスト装置５００に送信される。
【００３２】
こうして受信バッファ４０１に蓄えられたデータは、ＣＰＵ４０２の制御の下に、記録ヘッド１０４が主走査した時に記録を行うための記録データに加工されてＲＡＭ４０３のプリントバッファ４２０に格納される。このプリントバッファ４２０に格納された記録データは、記録ヘッドコントロール部４１０の制御により記録ヘッド１０４に転送され、この記録データに基づいて記録ヘッド１０４が駆動されて文字や画像が記録される。また、記録ヘッドコントロール部４１０は、記録ヘッド１０４の状態を示す温度情報等を検出してＣＰＵ４０２に送信する。これによりＣＰＵ４０２は、記録ヘッドコントロール部４１０に対して記録ヘッドの状態に応じた制御情報を伝達し、これにより記録ヘッド１０４を、その状態に応じて駆動制御することができる。
【００３３】
機械コントロール部４０４は、ＣＰＵ４０２からの指令により記録ヘッド１０４の主走査や記録媒体の搬送を行う機械部４０５を制御し、機械部４０５にはキャリッジモータやラインフィードモータ等のモータも設けられている。センサ／ＳＷコントロール部４０６は、各種センサやＳＷ（スイッチ）を有するセンサ／スイッチ（ＳＷ）部４０７からの信号をＣＰＵ４０２に送信する。表示素子コントロール部４０８は、ＣＰＵ４０２からの指令に応じて操作パネル１０８のＬＥＤや液晶表示素子等を有する表示部４０９への表示を制御する。尚、上述のスイッチ部、表示部４０９は、前述の操作部１０８に設けられている。
【００３４】
本実施形態に係るインクジェット記録装置１００では、ＲＡＭ４０３のプリントバッファ４２０の容量は、記録ヘッドの１回の主走査で記録する記録データの全てを格納するのに必要な容量よりも少ない。
【００３５】
以下では、本実施形態に係るインクジェット記録装置１００によって、記録ヘッド１０４におけるＢｋ，Ｃ，Ｍ，Ｙ各色のヘッドの吐出口（ノズル）をそれぞれ１２８個使用して１パスで画像を記録する場合で説明する。
【００３６】
１回の主走査で記録する全ての記録データを格納できるプリントバッファの容量を、記録幅を８インチとし、これを６００ｄｐｉの密度で記録する場合で考えると、
８［インチ］×６００［ｄｐｉ］×１２８［個］×４［色］＝３００［ｋバイト］
のメモリ容量が必要になる。
【００３７】
これに対して本実施形態では、プリントバッファ４２０のメモリ容量を、全幅８インチに対応する４８００ドットに対して、それより少ない幅で、かつその１／２より大きい幅である２５６０ドット分とした。これにより、プリントバッファ４２０の必要なメモリ容量は、
２５６０［ドット］×１２８［個］×４［色］＝１６０［ｋバイト］
となり、全幅の記録データを格納可能なメモリ容量（３００ｋバイト）に比べて約１／２のメモリ容量となる。
【００３８】
次に、このプリントバッファ４２０におけるデータ構成について説明する。
【００３９】
各色の記録データは、Ｂｋ，Ｃ，Ｍ，Ｙの色毎に区別して格納されており、副走査方向の長さが１２８ドットで、主走査方向に５１２ドットを記録する４色分の記録データを示す矩形状のブロック単位で、この記録データをプリントバッファ４２０に格納する構成としている。
【００４０】
この時の各ブロックの最大サイズは、１色当り１２８×５１２ドット＝６５，５３６ドット＝８，１９２バイト＝８ｋバイトとなり、４色分で３２ｋバイトとなる。各ブロックの縦方向のサイズは、１６のｎ１倍（ｎ１は、１以上の整数）で設定可能であり、本実施形態では、上述したように各色の記録ヘッドの吐出口数に対応させてｎ１＝８とし、１２８（＝１６×８）とした。また、各ブロックの横方向のサイズは、２ｎ２（ｎ２は、０以上の整数）で設定可能であり、本実施形態では、ｎ２＝９として、２９＝５１２とした。従って、本実施形態に係るプリントバッファ４２０は、記録媒体１０５の記録幅（８インチ）に対して、主走査方向に少なくとも、２５６０／５１２＝５［個］のブロックに分割されている構成となる。
【００４１】
図３は、Ａ４サイズの記録媒体１０５に幅（主走査方向の長さ）８インチのデータを１スキャン（主走査）で記録する時に、プリントバッファ４２０に設定されるブロックの様子を示す概念図である。
【００４２】
本実施形態に係るインクジェット記録装置では、主走査方向に記録する解像度が６００ｄｐｉであるので、８インチの全幅を記録するには、幅５１２ドットのブロック３００が１０個（４８００／５１２＝９．３７５）必要である。しかし本実施形態では、プリントバッファ４２０のメモリ容量は、上述したように、幅２５６０ドット分しか有していないため、このプリントバッファ４２０に格納できる記録データのブロック３００の数は最小で５個となる。
【００４３】
また、上述したプリントバッファ４２０の構成において、更に、記録のための記録ヘッド１０４の主走査において、各色毎に、記録データが存在しないブロックにおいてはプリントバッファ４２０内にメモリ領域を確保せず、代りにゼロフラグを立てて代用し、記録時に、ゼロフラグが存在した場合には、当該ブロックをヌルデータとして扱うようにすることで、プリントバッファ４２０の使用するメモリ容量を節約している。これについては以下に詳しく説明する。
【００４４】
図４（Ａ）及び（Ｂ）は、あるブロックにおいて、マゼンタ（Ｍ）の記録データがない場合、Ｂｋ，Ｃ，Ｙの記録データのみをブロックデータとしてプリントバッファ４２０に格納し、プリントバッファ４２０における使用するメモリ容量を節約する例を説明する図である。
【００４５】
図４（Ａ）は、あるブロックにおける各色に対応する記録データが格納されている状態を説明する図で、ここでは黒（Ｂｋ），シアン（Ｃ），マゼンタ（Ｍ），イエロー（Ｙ）の順に、それぞれ最大１２８×５１２ドット分のデータが格納できるようになっている。
【００４６】
図４（Ｂ）は、マゼンタ（Ｍ）のドットを記録する記録データが存在しない場合を示し、この場合には、黒（Ｂｋ），シアン（Ｃ）に続いてイエロー（Ｙ）の記録データが格納されており、このブロックのメモリ容量は、１２８×５１２×３ドット分に縮小されている。
【００４７】
このような場合、本実施形態では各色毎に記録データの有無をブロック色情報によって表す。すなわち、図４（Ａ）では、全ての色データが存在するため、ブロック色情報は、Ｂｋ，Ｃ，Ｍ，Ｙ＝（１１１１）（４ビット）となるのに対し、図４（Ｂ）の例では、マゼンタの記録データが存在しないため、ブロック色情報は、Ｂｋ，Ｃ，Ｍ，Ｙ＝（１１０１）（４ビット）となる。
【００４８】
このようにすることにより、記録データを詰めてプリントバッファ４２０に格納できるため、プリントバッファ４２０における各ブロックの使用領域を節約できる。
【００４９】
更に、各色の記録データが存在している場合でも、１２８×５１２ドットの全体に亙って記録データが存在する可能性が低いため、１ブロック内における各色の記録データをより細かく小ブロックに分割し、各小ブロック毎に、ドットを記録する記録データの存在の有無を調べ、ドットを記録する記録データが存在しない小ブロックに該当するメモリエリアを詰めてプリントバッファ４２０に格納する。これにより、より多くの有効な記録データをプリントバッファ４２０に格納できるようにしている。
【００５０】
図５は、図４で示したＢｋ，Ｃ，Ｍ，Ｙの各ブロックをさらに、１６ドット単位に分けて小ブロック化し、各小ブロック毎に、ドットを記録する記録データの存在の有無を表す小ブロック情報を設ける例を説明する図である。
【００５１】
ここでは、各ブロックの各色の記録データを、縦方向に吐出口の数に対応した１６ドット単位で、横方向は５１２ドットの幅に分割した８個（番号０〜７）の小ブロックに分割している。ブロックを分割する際の縦方向のサイズは、ｎ３（ｎ３は１以上の整数）ドット単位で設定可能であり、本実施形態では、ｎ３＝１６ドットとした。
【００５２】
そして、各小ブロック単位で、ドットを記録する記録データの有無を判別し、その記録データが存在しない小ブロックに対してはメモリ領域を確保せず、ゼロフラグを立てて代用する。そして、その小ブロックの記録時には、ゼロフラグが存在した場合には、当該小ブロックをその小ブロックに対応する吐出口の記録データをヌルデータとすることにより、プリントバッファ４２０の使用するメモリ容量を抑えて記録を行っている。
【００５３】
図５の例では、番号が２〜４の小ブロックだけにしか記録データが存在しないので、残りの小ブロックの格納エリアはプリントバッファ４２０内に確保されず、番号が２〜４の小ブロックだけが確保される。これにより、プリントバッファ４２０の使用するメモリ容量が節約できる。尚、図５において、縦方向は吐出口の配列方向に対応しており、本実施の形態に係る記録ヘッド１０４の吐出口の数は１２８個であるので、ｎ３＝１６より８つの小ブロックに分割されることになる。この図５では、番号２〜４の小ブロックに、ドットを記録する記録データが格納されているが、これは記録ヘッド１０４の３３〜８０番目の吐出口（ノズル）に対応している。
【００５４】
又、本実施形態では、シアンの小ブロック情報として、ドットを記録する記録データが存在している小ブロックに対応するビット位置にのみ「１」をセットし、その他の小ブロックに対応するビット位置に「０」をセットした小ブロック情報がＲＡＭ４０３に格納される。図５の例では、８つの小ブロックに分割しているので、小ブロック情報は、各色のブロック毎に８ビットの情報としてＲＡＭ４０３に格納される。尚、この小ブロック情報は、ドットを記録する記録データが存在している小ブロックの開始番号と終了番号（図５の例では番号２と４）に対応するビットに「１」を設定するようにしても良い。
【００５５】
このようにして、格納する記録データの量を節約することにより、プリントバッファ４２０に格納するブロックデータの量を減少させることができ、これにより、メモリ容量が制限されているプリントバッファ４２０（本実施形態では１６０ｋＢ）に格納できるブロックの数を増やすことができる。
【００５６】
図６（Ａ）及び（Ｂ）は、このようなプリントバッファ４２０における記録データの管理を説明する図である。尚、この図６（Ａ）のプリントバッファ４２０及び図６（Ｂ）の管理テーブルは前述のＲＡＭ４０３に設けられている。
【００５７】
図６（Ａ）は、１６０ｋバイトのプリントバッファ４２０に、それぞれが最大３２ｋバイトのブロック（ブロック１〜５）を格納した状態を示す図である。
【００５８】
しかし、前述したように各ブロックのサイズは、そのブロックの各色の記録データの量に応じて変化するため、図６（Ｂ）に示すように、各ブロック毎に、そのブロックのプリントバッファ４２０内における先頭アドレス及び最終アドレス、各色毎の記録データの有無を示すブロック色情報（４ビット）、及び各色毎の小ブロックにおける記録データ有無を示す小ブロック情報（８ビット）が格納されている。図６（Ｂ）ではブロック１に対する管理テーブルを示しているが、他のブロックに関しても同様の管理テーブルが設けられる。
【００５９】
上述したプリントバッファ４２０の構成においては、記録を行う際、ホスト装置５００から送信される１回の主走査分の記録データをプリントバッファ４２０に格納できないため、記録データの一部が確定した時点で記録ヘッド１０４の主走査を開始し、記録が終了したブロックを次の記録データを格納するためのブロックとして使用する。
【００６０】
具体的には、図７〜図９のフローチャートを参照して、以下に動作を詳しく説明する。
【００６１】
図７は、本実施形態に係るインクジェット記録装置１００における、１回の主走査に関するデータ受信及び記録動作を説明するフローチャートで、この処理を実行するプログラムはＲＯＭ４１１に格納されている。
【００６２】
まずステップＳ１で、ホスト装置５００より記録データを受信するとステップＳ２に進み、その受信した記録データを受信バッファ４０１に格納する。尚、ここでのホスト装置５００によるデータ生成処理については、図８のフローチャートを参照して詳しく後述する。
【００６３】
次に、ステップＳ３に進み、受信バッファ４０１に格納された記録データをブロック単位でプリントバッファ４２０に格納する。
【００６４】
そしてステップＳ４に進み、所定の数（本実施形態では「５」）のブロックの記録データがプリントバッファ４２０に格納されたか、或いはプリントバッファ４２０に、これ以上、ブロックデータが格納できなくなったかを判定し、所定ブロック数に達していないと判定された場合、Ｓ１に戻り、ホスト装置５００からの記録データの受信処理を実行する。こうしてステップＳ４の条件を満足するとステップＳ５に進み、キャリッジモータの回転駆動を開始してキャリッジ１０１（記録ヘッド１０４）の走査を開始する。
【００６５】
次にステップＳ６に進み、プリントバッファ４２０に格納されている１ブロック分の記録データの記録処理を実行する。この１ブロックの記録処理については図９のフローチャートを参照して詳しく後述する。
【００６６】
こうして１ブロック分の記録データの記録が終了するとステップＳ７に進み、記録ヘッド１０４の１回の走査による記録が終了したか否かを判定する。１回の走査分の記録が終了していないと判定された場合にはステップＳ８に進み、プリントバッファ４２０に既に１回の走査分の記録データが既に格納されているか否かを判定する。
【００６７】
ステップＳ８で１回の走査分の記録データが既に格納されていると判定されれば、現在の走査において、これ以上プリントバッファ４２０に記録データを格納する必要が無いため、ステップＳ６に戻って前述の処理を実行する。
【００６８】
一方、ステップＳ８でプリントバッファ４２０に１回の走査分の記録データがまだ格納されていないと判定された場合はステップＳ９に進み、記録済みのブロックの記録データが格納されていたエリアを解放し、その解放したエリアに後続のブロックの記録データを格納する。尚、この時、その解放されたメモリエリアの容量よりも後続のブロックの記録データの容量の方が大きくて、そのブロックの記録データを格納できない場合は、更に次のブロックの記録が終了するのを待って、その後続のブロックの記録データが格納できるだけの空エリアが確保された時点で、そのブロックの記録データをプリントバッファ４２０に格納する。
【００６９】
そして、このステップＳ９の処理が終了するとステップＳ６に戻り、次のブロックの記録データに基づいて１ブロック分の記録データの記録を行う。
【００７０】
以上の処理を繰り返してステップＳ７で、記録ヘッド１０４による１回の走査分の記録が終了したと判定された場合、ステップＳ１０に進み、キャリッジ１０１（記録ヘッド１０４）の走査を停止させて、ステップＳ１１に進み、その１回の走査で記録した画像の幅（副走査方向の長さ）に対応する距離だけ記録媒体を副走査方向に搬送する。
【００７１】
尚、ステップＳ５以降で記録処理が開始された後でも、ホスト装置５００からの記録データの受信処理は並行して実行されており、その受信処理で受信バッファ４０１に格納された記録データが、ステップＳ９でプリントバッファ４２０に格納されることになる。
【００７２】
図８は、本実施形態に係るホスト装置５００において、記録すべき元のデータから１回の走査毎にブロック単位の記録データを生成する処理を示すフローチャートである。
【００７３】
まずステップＳ８１で、記録すべき元のデータから１回の走査で記録する分の記録データを読み出し、主走査方向に幅５１２ドット毎にブロック化する。そしてステップＳ８２に進み、ブロック毎に、Ｂｋ，Ｃ，Ｍ，Ｙの各色の記録データの内、ドットを記録する記録データが存在しない色成分があるかどうかを調べ、その記録データが存在しない色成分のフラグを「０」に、それ以外の色成分のフラグを「１」にしてブロック色情報をセットする（図４参照）。
【００７４】
次にステップＳ８３に進み、ドットを記録する記録データが存在する色成分の記録データの内、１６ノズル×５１２ドット単位の小ブロックに分割した各小ブロックに、ドットを記録する記録データが存在するかどうかを調べ、その記録データが全く存在しない小ブロックがあれば、その小ブロックに対応するフラグを「０」にセットし、それ以外の小ブロックに対応するフラグを「１」にセットして、小ブロック情報をセットする（図５参照）。
【００７５】
そしてステップＳ８４に進み、小ブロック及び各色成分の記録データの内、ドットを記録する記録データが存在しないブロック又は小ブロックを詰めて（これらのメモリエリアを確保することなく）、記録装置１００に転送する。その際、転送するブロックに対応したブロック色情報や小ブロック情報が付随して転送される。
【００７６】
そしてステップＳ８５に進み、１回の走査で記録する全てのデータをブロック単位の記録データとして生成し、記録装置１００に転送したかどうかを判定し、１回の走査で記録する全てのデータの生成・転送が終了したと判定された場合には処理を終了する。一方、１回の走査で記録する全てのデータをブロックデータとして生成・転送していないと判定された場合には、ステップＳ８１に戻り、次のブロックの記録データについて同様に処理を続ける。
【００７７】
図９は、図７のステップＳ６における、プリントバッファ４２０に格納されている記録データに基づく１ブロック分の記録処理を詳細に示すフローチャートである。
【００７８】
まずステップＳ６１で、１ブロック分の４色の記録データをプリントバッファ４２０から読み出し、ＲＡＭ４０３に格納されている図６（Ｂ）に関して説明した管理テーブルを参照してステップＳ６２で、ブロック色情報が「０」である色情報があるかどうかを判定する。ブロック色情報が「０」である色情報があると判定されればステップＳ６３に進み、該当する色ブロックの記録データを全て「０（ヌル）」にした記録データを生成して、ステップＳ６４に進む。
【００７９】
一方ステップＳ６２で、ブロック色情報が「０」である色情報がないと判定された場合には、ステップＳ６３をスキップしてステップＳ６４に進む。
【００８０】
ステップＳ６４では、小ブロック情報が「０」である色情報があるかどうかを判定する。小ブロック情報が「０」である色情報があると判定されればステップＳ６５に進み、該当する色ブロックのその小ブロックに対応する記録データを全て「０」（ヌル）にした記録データを生成してステップＳ６６に進む。
【００８１】
一方ステップＳ６４で、ブロック色情報が「０」である色情報がないと判定された場合にはステップＳ６５をスキップしてステップＳ６６に進む。
【００８２】
ステップＳ６６では、１ブロック分の４色のイメージデータをバッファ（ＲＡＭ４０３）に展開する。次に、ステップＳ６７に進み、次の記録タイミングで記録するデータを記録ヘッド１０４に転送し、ステップＳ６８で記録ヘッド１０４が記録位置に到達したかを調べ、記録位置に到達するとステップＳ６９に進み、記録ヘッド１０４を駆動して記録を行う。
【００８３】
そしてステップＳ７０で、１ブロック分に相当する５１２ドット分の記録ヘッド１０４による走査或いは記録が行われたか、即ち、１ブロック分の記録が終了したか否かを判定し、終了していないと判定された場合にはステップＳ６７に戻り、次の記録タイミングで記録すべき記録データを記録ヘッド１０４に転送する。
【００８４】
以上の処理を繰り返して、ステップＳ７０で１ブロック分の記録が終了したと判定された場合に処理を終了する。
【００８５】
図１０は、前述した１回の主走査での記録動作に伴うプリントバッファ４２０のデータ及び記録媒体１０５への記録の様子を説明する図である。
【００８６】
図１０において、（ａ）〜（ｅ）は記録媒体１０５に記録されるブロックを模式的に示していおり、（ｆ）〜（ｊ）はプリントバッファ４２０の各ブロックに格納されているブロック番号を、（ａ）〜（ｅ）に対応させて示している。
【００８７】
上述のように本実施形態では、プリントバッファ４２０に所定の数（例えば５個とする）のブロック分の記録データが格納された時点（ｆ）で、記録ヘッド１０４の主走査を開始する（ａ）。そして、最初のブロック１に相当する５１２ドット分記録ヘッドが走査してブロック１に格納された記録データの記録を終了すると（ｂ）、プリントバッファ４２０における、そのブロック１が格納されていたメモリエリアにブロック６の記録データを格納する（ｇ）。
【００８８】
続いて、次の５１２ドット分記録ヘッドが走査してブロック２の記録が終了すると（ｃ）、そのブロック２のメモリエリアにブロック７の記録データを格納する（ｈ）。同様にして、次の５１２ドット分記録ヘッドが走査してブロック３の記録が終了すると（ｄ）、そのブロック３のメモリエリアにブロック７の記録データを格納する（ｉ）。
【００８９】
以下、順次、記録済みのブロックのメモリエリアを循環的に再利用しながら記録ヘッドの走査によって記録を続行する。（ｅ）はブロック２の記録が終了した状態を示しており、この時点でプリントバッファ４２０に格納されている記録データは、（ｊ）に示すようにブロック１０の記録データだけである。
【００９０】
以上のようにして、最終のブロック１０の記録データの記録を終了すると、その記録ヘッド１０４の主走査を終了する。
【００９１】
尚、このようして記録ヘッド１０４の主走査が終了した後、次の主走査は記録ヘッド１０４を前回とは逆の方向に走査させて記録を行うようにしてもよく、或いは記録ヘッド１０４を一旦ホーム位置に戻して、前回と同じ方向に記録ヘッド１０４を走査させて記録を行うようにしてもよい。
【００９２】
このように、記録ヘッドの１回の主走査中において、記録済みのブロックの記録データを格納していたメモリエリアを解放して、受信した次のブロックの記録データを、そのメモリエリアに格納するようにすると、次のブロックの記録データの受信が当該ブロックの記録に間に合わない場合が起こり得る。即ち、記録ヘッド１０４が、そのブロックの記録位置にまで走査してきているにも拘わらず、そのブロックに対応するエリアを記録できない事態が発生する可能性がある。
【００９３】
この場合、本実施形態では、受信が間に合わないブロックの直前までのブロックの記録データに基づく記録を完了させて、一旦、記録ヘッドの走査を終了させる。そして、記録ヘッドを停止させている間に、記録に間に合わなかったブロックを含むそれ以降の記録データを受信し、所定量以上のブロックの記録データの受信が完了した後、再度、記録ヘッドの主走査を開始して、その受信が間に合わなかったブロック以降の記録データに基づく記録を行って、１回の主走査による記録を完了させる（このような記録を「再スキャン記録」と呼ぶ）。
【００９４】
［第２の実施形態］
以下、本発明に係る第２の実施形態について説明する。なお、以下の説明では、上記第１の実施形態と同様な部分については説明を省略し、本実施形態の特徴的な部分を中心に説明する。
【００９５】
本実施形態も第１の実施形態と同様なインクジェット記録装置であるが、本実施形態のインクジェット記録装置は、記録解像度の異なる２つの記録モードを有し、各記録モード毎に記録ヘッドの走査を開始するタイミングを異ならせる。
【００９６】
上記第１の実施形態では、プリントバッファ４２０に所定数（５個）のブロック分の記録データが格納された時点でキャリッジ（記録ヘッド１０４）の主走査を開始して記録を行うように制御した。これに対して第２の実施形態では、記録ヘッドの走査を開始するタイミング、即ち、記録ヘッド１０４の走査開始を決定するための、プリントバッファ４２０に格納されるブロック数Ｎを、記録を行う際の記録モードに基づいて切り替える。
【００９７】
尚、本実施形態の記録モードには、主走査方向６００ｄｐｉ×副走査方向６００ｄｐｉの解像度で送られてくる記録データを記録する「ＨＱ（高解像度）モード」と、主走査方向３００ｄｐｉ×副走査方向３００ｄｐｉの解像度で送られてくる記録データを記録する、「ＨＳ（高速）モード」との２つの記録モードがある。この記録モードは、ホスト装置側のプリンタドライバのユーザインタフェースを介してユーザが指定する。
【００９８】
「ＨＱモード」では、キャリッジ１０１の移動速度は４０インチ／秒、記録ヘッド１０４の駆動周波数は２４ｋＨｚである。一方、「ＨＱモード」では、主走査方向のキャリッジ１０１の移動速度及び記録ヘッド１０４の駆動周波数を変更して主走査方向３００ｄｐｉの解像度とし、副走査方向に対しては、６００ｄｐｉの解像度で配置されたノズルを１つおきに使用して３００ｄｐｉの解像度で記録する。
【００９９】
このように、本実施形態では、記録解像度の異なる２つの記録モードがあり、同じ記録データを記録する場合、「ＨＱモード」に対して「ＨＳモード」で記録を行う場合には、解像度が低いため記録データのデータ量が少なくなる。
【０１００】
そこで、本実施形態では、ホスト装置５００は、１記録ジョブ或いは１回の主走査毎に、記録データを送信する前に、その記録データを記録する記録モードの情報を記録装置１００に対して送信する。
【０１０１】
これにより記録装置１００は、ホスト装置５００から送信された記録モードの情報が「ＨＱモード」である場合には、プリントバッファ４２０に５ブロック分の記録データを格納した時点で記録ヘッド１０４による走査を開始させて記録を行うように制御する。一方、記録モードの情報が「ＨＳモード」である場合には、プリントバッファ４２０に３ブロック分の記録データが格納された時点で記録ヘッド１０４による走査を開始させて記録を行うように制御する。
【０１０２】
なお、「ＨＳモード」で記録を開始させるために必要なブロック数Ｎは、「ＨＱモード」より記録速度が１．５倍速いことと、記録データ量が１／４でよいことを考慮に入れて、プリントバッファ４２０への記録データの格納が間に合うように決定されればよい。
【０１０３】
図１１は、本実施形態における処理の一部を示すフローチャートであり、ここで示すステップＳ１１１〜Ｓ１１４の処理は、図７のフローチャートのステップＳ４の代わりに実行される、尚、この処理を実行するプログラムはＲＯＭ４１１に格納されている。
【０１０４】
上記で説明した図７のステップＳ１〜Ｓ３で、ホスト装置５００から送信された記録データを受信バッファに格納し、ブロック単位でプリントバッファ４２０に格納すると、ステップＳ１１１に進み、この主走査で記録する解像度モードが「ＨＱモード」か「ＨＳモード」かを判定する。「ＨＱモード」と判定された場合にはステップＳ１１２に進み、記録走査を開始するブロック数Ｎを「５」に設定する。一方、ステップＳ１１１で、記録モードが「ＨＳモード」と判定された場合にはステップＳ１１３に進み、記録走査を開始するブロック数Ｎを「３」に設定する。
【０１０５】
こうしてステップＳ１１２，Ｓ１１３のいずれかで、ブロック数Ｎの値が設定されるとステップＳ１１４に進み、その設定されたＮブロック分の記録データの受信が完了してプリントバッファ４２０に格納されているかどうかを判定する。格納されていると判定されたら、図７のステップＳ５に進み、キャリッジモータの回転駆動を開始して記録ヘッド１０４の走査を開始する。又、そうでない時は図７のステップＳ１に戻り、次のブロックの記録データを受信する。
【０１０６】
このように本実施形態によれば、記録する解像度の情報に応じて、記録ヘッド１０４の走査開始タイミング、即ち、記録開始タイミングを決定することにより、記録データの量が少ないほど時間の遅れを少なくして記録を開始でき、結果的に記録時間を短縮できる。
【０１０７】
また上記記録ヘッドの走査開始タイミングの切り替え判定を、１回の主走査毎ではなく、１ページ毎や１記録ジョブ毎に行っても良い。
【０１０８】
［第３の実施形態］
以下、本発明に係る第３の実施形態について説明する。なお、以下の説明では、上記第１及び第２の実施形態と同様な部分については説明を省略し、本実施形態の特徴的な部分を中心に説明する。
【０１０９】
本実施形態も第１の実施形態と同様なインクジェット記録装置であるが、本実施形態のインクジェット記録装置は、走査速度の異なる２つの記録モードを有し、各記録モード毎に記録ヘッドの走査を開始するタイミングを異ならせる。
【０１１０】
上記第１の実施形態では、プリントバッファ４２０に所定数（５個）のブロック分の記録データが格納された時点でキャリッジ（記録ヘッド１０４）の主走査を開始して記録を行うように制御した。これに対して本実施形態では、記録ヘッドの走査を開始するタイミング、即ち、記録ヘッド１０４の走査開始を決定するための、プリントバッファ４２０に格納されるブロック数Ｎを、記録を行う際の走査速度に基づいて切り替える。
【０１１１】
尚、本実施形態では走査速度の異なる記録モードとして、キャリッジ１０１の移動速度が２０インチ／秒、記録ヘッド１０４の駆動周波数が１２ｋＨｚの「きれいモード」と、キャリッジ１０１の移動速度が２５インチ／秒、記録ヘッド１０４の駆動周波数が１５ｋＨｚの「はやいモード」とがある。両モードとも、主走査方向６００ｄｐｉ×副走査方向６００ｄｐｉの解像度で送られてくる記録データを記録するモードであり、記録データについての差異は無い。
【０１１２】
同じ記録データを記録する場合、「きれいモード」に対して「はやいモード」の方がキャリッジの移動速度が速いので、記録する際に、記録データの受信が当該ブロックの記録に間に合わない場合が起こりやすく、「再スキャン記録」が発生しやすくなる。
【０１１３】
そこで、本実施形態では、ホスト装置５００は、１記録ジョブ或いは１回の主走査毎に、記録データを送信する前に、その記録データを記録する走査速度の情報を記録装置１００に対して送信する。
【０１１４】
これにより記録装置１００は、ホスト装置５００より送られた走査速度の情報が「はやいモード」に対応する場合には、プリントバッファ４２０に５ブロック分の記録データを格納した時点で記録ヘッド１０４による走査を開始させて記録を行うように制御する。一方、走査速度の情報が「きれいモード」に対応する場合には、プリントバッファ４２０に４ブロック分の記録データが格納された時点で記録ヘッド１０４による走査を開始させて記録を行うように制御する。すなわち、「はやいモード」の場合には、「きれいモード」の場合よりキャリッジの走査速度が速いことを考慮に入れて、プリントバッファ４２０への記録データの格納が間に合うように、記録走査を開始するブロック数Ｎを決定する。
【０１１５】
図１２は、本実施形態における処理の一部を示すフローチャートであり、ここで示すステップＳ１２１〜Ｓ１２４の処理は、図７のフローチャートのステップＳ４の代わりに実行される。尚、この処理を実行するプログラムはＲＯＭ４１１に格納されている。
【０１１６】
上記で説明した図７のステップＳ１〜Ｓ３で、ホスト装置５００から送信された記録データを受信バッファに格納し、ブロック単位でプリントバッファ４２０に格納すると、ステップＳ１２１に進み、この主走査で記録する走査速度が「はやいモード」に設定されているか「きれいモード」に設定されているかを判定する。「はやいモード」に設定されていると判定され場合にはステップＳ１２２に進み、記録走査を開始するブロック数Ｎを「５」に設定する。一方、ステップＳ１２１で、走査速度が「きれいモード」に設定されていると判定された場合にはステップＳ１２３に進み、記録走査を開始するブロック数Ｎを「４」に設定する。
【０１１７】
こうしてステップＳ１２２，Ｓ１２３のいずれかで、ブロック数Ｎの値が設定されるとステップＳ１２４に進み、その設定されたＮブロック分の記録データの受信が完了してプリントバッファ４２０に格納されているかどうかを判定する。格納されていると判定されたら、図７のステップＳ５に進み、キャリッジモータの回転駆動を開始して記録ヘッド１０４による走査を開始する。又、そうでないと判定された場合には図７のステップＳ１に戻り、次のブロックの記録データを受信する。
【０１１８】
このように本実施形態によれば、記録する際の走査速度の情報に応じて、記録ヘッド１０４の走査開始タイミング、即ち、記録開始タイミングを決定することにより、記録データの受信が当該ブロックの記録に間に合わない、いわゆる「再スキャン記録」の発生を低減させるよう制御できる。
【０１１９】
また上記記録ヘッドの走査開始タイミングの切り替え判定を、１回の主走査毎ではなく、１ページ毎や１記録ジョブ毎に行っても良い。
【０１２０】
［第４の実施形態］
以下、本発明に係る第４の実施形態について説明する。なお、以下の説明では、上記第１から第３の実施形態と同様な部分については説明を省略し、本実施形態の特徴的な部分を中心に説明する。
【０１２１】
本実施形態も第１の実施形態と同様なインクジェット記録装置であるが、本実施形態のインクジェット記録装置は、記録ヘッドの走査を開始するタイミングを記録データを構成している色情報に基づいて切り替える。
【０１２２】
上記第１の実施形態では、プリントバッファ４２０に所定数（５個）のブロック分の記録データが格納された時点でキャリッジ（記録ヘッド１０４）の主走査を開始して記録を行羽陽に制御した。これに対して本実施形態では、記録ヘッドによる走査を開始するタイミング、即ち、記録ヘッド１０４の走査開始を決定するための、プリントバッファ４２０に格納されるブロック数Ｎを、その記録データを構成している色情報に基づいて切り替える。
【０１２３】
プリントバッファ４２０に格納されている記録データについて考えると、記録データによっては、１回の主走査において空白部（ドットを記録しないデータ部分）があったり、全ての色の記録データが存在しない場合がある。本実施形態に係るプリントバッファ４２０には、上述のようにヌルデータを格納しないため、使用するメモリ量を少なくすることができ、限られたメモリ容量のプリントバッファ（本実施形態では１６０ｋバイト）に格納できるブロック数を増やすことができる。
【０１２４】
例えば、１回の主走査の記録に際して、Ｙ（イエロー）の記録データが全く存在しない場合には、１ブロック分の記録データの容量は、全ての色（４色分）の記録データが存在している場合に比べて実質的に３／４となる。これは、全ての色（４色分）の記録データが存在している場合にプリントバッファ４２０に５ブロックまで格納できるのと同じ容量に、記録データが３色分の場合には、その４／３倍の、約６ブロック分の記録データを格納することができることを意味している。
【０１２５】
また、記録データがモノクロデータで、例えば、Ｂｋ（ブラック）１色分の記録データしか含まれていない場合には、１ブロック分に相当するデータ量は、全色（４色）の記録データを含む場合に比べて約１／４となり、本実施形態に係るプリントバッファ４２０のメモリ容量に、１回の主走査を記録する全てのブロック（１０ブロック）分の記録データを格納することができる。
【０１２６】
このように、記録データによって、プリントバッファに格納できるブロック数が変わってくるため、記録ヘッド１０４の走査を開始するタイミング、即ち、記録ヘッド１０４の走査開始を決定するための、プリントバッファ４２０に格納されるブロック数Ｎの決定（図７におけるステップ４の処理）を、記録データに含まれている色情報に応じて決定することにより、記録する色数が少ない（記録データの量が少ない）場合ほど記録開始を早くすることができ、結果的に記録時間を短縮できる。
【０１２７】
ホスト装置５００は、１回の主走査毎に、記録データを送信する前に、その１回の主走査の記録データを構成する色構成情報を記録装置１００に送信する。これにより、このインクジェット記録装置１００は、ホスト装置５００から送信された色構成情報に応じて、格納する１回の主走査分の記録データがどの色情報で構成されているかを判別する。
【０１２８】
ここで、その記録データが、Ｙ，Ｍ，Ｃ，Ｂｋの４色のデータで構成されている場合には、プリントバッファ４２０に最大格納できるブロック数（上記の例では５）分の記録データの格納を完了した時点で記録ヘッド１０４による走査を開始させるように制御する。
【０１２９】
また、ホスト装置５００より送信された記録データが、Ｙ，Ｍ，Ｃ，Ｂｋのうちのいずれか２〜３色の記録データを含んでいる場合には、プリントバッファ４２０に４ブロック分の記録データが格納された時点で記録ヘッド１０４による走査を開始させるように制御する。
【０１３０】
さらにまた、ホスト装置５００より送信された記録データが、Ｙ，Ｍ，Ｃ，Ｂｋのいずれか１色のみの記録データのみからなる場合には、プリントバッファ４２０に３ブロック分の記録データが格納された時点で記録ヘッド１０４による走査を開始させるように制御する。
【０１３１】
図１３は、本実施形態における処理の一部を示すフローチャートであり、ここで示すステップＳ１３１〜Ｓ１３６の処理は、図７のフローチャートのステップＳ４の代わりに実行される。尚、この処理を実行するプログラムはＲＯＭ４１１に格納されている。
【０１３２】
上記で説明した図７のステップＳ１〜Ｓ３で、ホスト装置５００から送信された記録データを受信バッファに格納し、ブロック単位でプリントバッファ４２０に格納すると、ステップＳ１３１に進み、この主走査で記録する記録データが４色分の記録データを含んでいるかどうかを判定する。４色分の記録データを含んでいると判定された場合はステップＳ１３２に進み、記録走査を開始するブロック数Ｎを「５」に設定する。
【０１３３】
一方、ステップＳ１３１で、４色分の記録データが含まれていないと判定された場合にはステップＳ１３３に進み、２〜３色分の記録データが含まれているかどうかを判定する。２〜３色分の記録データが含まれていると判定された場合にはステップＳ１３４に進み、記録走査を開始するブロック数Ｎを「４」に設定する。またステップＳ１３３で、２〜３色分の記録データが含まれていないと判定された場合にはステップＳ１３５に進み、記録データが１色のみであるとして記録走査を開始するブロック数Ｎを「３」に設定する。
【０１３４】
こうしてステップＳ１３２，Ｓ１３４，Ｓ１３５のいずれかで、ブロック数Ｎの値が設定されるとステップＳ１３６に進み、その設定されたＮブロック分の記録データの受信が完了してプリントバッファ４２０に格納されているかどうかを判定する。格納されていると判定された場合には、図７のステップＳ５に進み、キャリッジモータの回転駆動を開始して記録ヘッド１０４による走査を開始する。又、そうでないと判定された場合には図７のステップＳ１に戻り、次のブロックの記録データを受信する。
【０１３５】
このように本実施形態によれば、記録データを構成する色情報に応じて、記録ヘッドの走査開始タイミング、即ち、記録開始タイミングを決定することにより、記録に使用する色数が少ない（記録データの量が少ない）場合ほど、記録開始までに要する時間を少なくでき、結果的に記録時間を短縮できる。
【０１３６】
また、上記記録ヘッド１０４の走査開始タイミングの切り替えの判定を、１回の主走査毎にではなく、１ページ毎や１記録ジョブ毎に行っても良い。
【０１３７】
［第５の実施形態］
以下、本発明に係る第５の実施形態について説明する。なお、以下の説明では、上記第１から第４の実施形態と同様な部分については説明を省略し、本実施形態の特徴的な部分を中心に説明する。
【０１３８】
本実施形態も第１の実施形態と同様なインクジェット記録装置であるが、本実施形態のインクジェット記録装置は、記録ヘッドの走査開始を決定するプリントバッファのブロック数を１回の走査の記録幅に基づいて切り替える。
【０１３９】
上記第１の実施形態では、プリントバッファ４２０に所定数（５個）のブロック分の記録データが格納された時点でキャリッジ（記録ヘッド１０４）の主走査を開始して記録を行うように制御した。これに対して本実施形態では、記録ヘッドの走査を開始するタイミング、即ち、記録ヘッド１０４の走査開始を決定するための、プリントバッファ４２０に格納されるブロック数Ｎを、１回の走査の記録幅（主走査方向の長さ）に基づいて切り替える。
【０１４０】
例えば、１回の走査の記録幅が４ブロックのプリントバッファに格納できる場合、上記第１の実施形態では、記録ヘッドの走査を開始するタイミングは、１回の走査全ての記録データ（４ブロック分）を格納した時点となる。このように記録幅が短い（５ブロック未満）場合、１回の走査で記録する全ての記録データが格納された後に記録ヘッドの走査を開始することとなる。このようにすると、１回の走査の記録幅が短い場合でも、あらかじめ決められたブロック分の記録データがプリントバッファ４２０に格納されるまで記録が開始されないので、待ち時間が発生してしまう。
【０１４１】
本実施形態では、このような待ち時間を低減すべく、ホスト装置５００は、１回の主走査毎に、記録データを送信する前に、その走査で記録される記録幅の情報を記録装置１００に対して送信する。
【０１４２】
これにより記録装置１００は、ホスト装置５００から送信された１回の走査の記録幅の情報から、プリントバッファへの記録データの格納時間を短縮するように、記録走査を開始する閾値となるブロック数Ｎを決定すればよい。
【０１４３】
図１４は、本実施形態における処理の一部を示すフローチャートであり、ここで示すステップＳ１４１〜Ｓ１４４の処理は、図７のフローチャートのステップＳ４の代わりに実行される。尚、この処理を実行するプログラムはＲＯＭ４１１に格納されている。
【０１４４】
上記で説明した図７のステップＳ１〜Ｓ３で、ホスト装置５００から送信された記録データを受信バッファに格納し、ブロック単位でプリントバッファ４２０に格納すると、ステップＳ１４１に進み、この主走査で記録する記録幅がブロック単位で６ブロック以上となるか否かを判定する。記録幅が６ブロック以上であると判定された場合はステップＳ１４２に進み、記録走査を開始するブロック数Ｎを「５」に設定する。
【０１４５】
一方、ステップＳ１４１で、記録幅が６ブロック未満であると判定された場合はステップＳ１４３に進み、記録走査を開始するブロック数Ｎを「記録幅−１」（ただし、記録幅が１のときはＮ＝１）に設定する。
【０１４６】
こうしてステップＳ１４２，Ｓ１４３のいずれかで、ブロック数Ｎの値が設定されるとステップＳ１４４に進み、その設定されたＮブロック分の記録データの受信が完了してプリントバッファ４２０に格納されているかどうかを判定する。格納されていると判定された場合には図７のステップＳ５に進み、キャリッジモータの回転駆動を開始して記録ヘッド１０４による走査を開始する。又、そうでないと判定された場合には図７のステップＳ１に戻り、次のブロックの記録データを受信する。
【０１４７】
このように本実施形態によれば、１回の走査で記録する記録幅に応じて、記録ヘッド１０４の走査開始タイミング、即ち、記録開始の閾値となるプリントバッファに格納されたブロック数を決定することにより、１回の走査での記録幅が短い場合に、１回の走査の全ての記録データがプリントバッファ４２０に格納されるまで記録ヘッド１０４による主走査の開始を待機するのを防止でき、その分、記録時間を短縮できることになる。
【０１４８】
［第６の実施形態］
以下、本発明に係る第６の実施形態について説明する。なお、以下の説明では、上記第１から第５の実施形態と同様な部分については説明を省略し、本実施形態の特徴的な部分を中心に説明する。
【０１４９】
本実施形態も第１の実施形態と同様なインクジェット記録装置であるが、本実施形態のインクジェット記録装置は、記録ヘッドの走査開始を、プリントバッファに格納されたデータ量に基づいて決定する。
【０１５０】
上記の実施形態では、記録ヘッドの走査開始タイミング、即ち、走査を開始するときのブロック数を、予め決められた数としたり、記録するデータの解像度、走査速度、１回の走査で使用する色数、１回の走査の記録幅によって決定するようにしていた。これに対して本実施形態では、上記実施形態のようにプリントバッファのブロック数Ｎによって走査開始タイミングを決定するのではなく、プリントバッファに格納された記録データのデータ量（ブロック数には拠らない）に基づいて、記録ヘッド１０４の走査開始を決定する。
【０１５１】
このプリントバッファに格納されたデータ量に基づいた記録ヘッド１０４の走査開始の判定処理を以下に説明する。
【０１５２】
本実施形態に係る記録装置１００は、ブロック単位で送信された記録データをプリントバッファ４２０に格納するが、その格納した記録データの総データ量が、プリントバッファ４２０のメモリ容量における所定の割合（本実施形態では、８０％とする）を超えているか否かを判定する。超えていないと判定された場合は、次のブロックの記録データを格納するが、超えていると判定された場合、或いは、１回の主走査の全てのブロック分の記録データの格納を完了した場合には、記録ヘッド１０４の走査を開始する。
【０１５３】
この場合の処理は、図７のフローチャートのステップＳ４の所定ブロック数格納できたかどうかの判定処理の代わりに、プリントバッファ４２０に格納した記録データの総データ量が、プリントバッファ４２０のメモリ容量の８０％を越えているかどうかを判定する処理を行い、越えていないと判定されれれば図７のステップＳ１に戻り、次のブロックの記録データを受信する。一方、プリントバッファ４２０のメモリ容量の８０％を越えていると判定されると、図７のステップＳ５に進み、キャリッジモータの回転駆動を開始してキャリッジ１０１（記録ヘッド１０４）の走査を開始する。
【０１５４】
このように本実施形態によれば、記録ヘッド１０４の走査開始タイミングの判定、即ち、記録開始タイミングの判定をブロック数ではなく、実際にプリントバッファ４２０に格納された記録データのデータ量に基づいて行っているため、空白部の割合や、記録する色数、記録モードによって１ブロックの記録データのサイズが変化しても最適なタイミングで記録を開始することができる。
【０１５５】
また、記録ヘッド１０４の走査を開始する閾値となる、プリントバッファ４２０における格納された記録データのデータ量の割青を、ユーザが任意に設定できるようにしても良い。
【０１５６】
この設定は、例えば、記録装置１００のセンサ／ＳＷコントロール部４０７に付随するＳＷ（スイッチ）を用いるようにしたり、記録データを送信するホスト装置５００の入力手段等を用いて設定された値を、ホスト装置５００から記録データとともに記録装置１００に送信するようにしてもよい。また、記録装置１００に、不揮発性記録素子等の記録手段を設け、その設定された値を記憶手段に保持するようにしてもよい。
【０１５７】
［第７の実施形態］
以下、本発明に係る第７の実施形態について説明する。なお、以下の説明では、上記第１から第６の実施形態と同様な部分については説明を省略し、本実施形態の特徴的な部分を中心に説明する。
【０１５８】
本実施形態も第１の実施形態と同様なインクジェット記録装置であるが、本実施形態のインクジェット記録装置は、記録ヘッドの走査開始を、ホスト装置側で決定する。
【０１５９】
上記実施の形態では、記録ヘッドの走査開始のタイミングを、ホスト装置５００から送信される記録データのブロック数、解像度・走査速度・色数・記録幅等の付随情報、あるいは記録データのデータ量に基づいて、記録装置１００において決定していた。これに対して本実施形態では、記録装置１００において決定するのではなく、ホスト装置５００において決定し、ブロックデータの送信に付随して、走査開始要求コマンドを記録装置１００に送信する。記録装置では１回の走査の記録データをブロック単位でプリントバッファ４２０に格納し、ホスト装置５００から走査開始要求コマンドを受信したタイミングで、記録ヘッド１０４の走査を開始する。
【０１６０】
図１５は、本実施形態における処理の一部を示すフローチャートであり、図示したステップＳ１５１〜Ｓ１５３の処理は、ホスト装置５００においてブロック単位の記録データを生成する処理を示す図８のフローチャートのステップＳ８４とステップＳ８５の間で実行される。
【０１６１】
上記図８のステップＳ８１〜Ｓ８４で、ブロック単位で記録データを生成して記録装置１００に転送すると、ステップＳ１５１に進み、そのブロックのタイミングで記録装置１００が記録ヘッド１０４の走査を開始してよいか判定する。ここで、このステップＳ１５１での判定処理は、上記第１〜第６の実施形態における記録装置１００での判定処理と同様に、ブロック数、記録するデータの解像度・走査速度・色数・記録幅の情報、もしくは、記録データの送信済みデータ量に基づいて判定する。
【０１６２】
そしてステップＳ１５２に進み、ステップＳ１５１の判定処理により、走査開始ブロックであるか否かを判定し、走査開始ブロックであると判定された場合にはステップ１５３に進み、走査開始要求コマンド（例えば、Ｅｓｃ（ｚＳコード））を記録装置１００に転送して、ステップＳ８５に進む。一方、ステップＳ１５１の判定処理により、走査開始ブロックではないと判定された場合のは、そのままステップＳ８５に進む。
【０１６３】
そしてステップＳ８５では、１回の走査の全てのデータをブロック単位の記録データとして生成し、記録装置１００への転送が完了したかどうかを判定し、１回の走査の全てのデータをブロックデータとして生成・転送していない場合にはステップＳ８１に戻り、次のブロックの記録データについて同様に処理を続ける。
【０１６４】
また、記録装置１００においては、図７のステップＳ４における「所定ブロック数の判定処理」の代わりに、「走査開始要求コマンドの受信判定処理」を実行すればよい。
【０１６５】
すなわち、上記図７のステップＳ１〜Ｓ３で、ホスト装置５００から送信された記録データを受信バッファに格納し、ブロック単位でプリントバッファ４２０に格納するが、その際、ホスト装置５００から「走査開始要求コマンド」を受信したかを判定し、受信していれば、ステップＳ５に進み、キャリッジモータの回転駆動を開始して記録ヘッド１０４による走査を開始するように制御する。又、そうでない時はステップＳ１に戻り、次のブロックの記録データを受信する。
【０１６６】
このように本実施形態によれば、記録ヘッドの走査開始タイミング、即ち、走査を開始するときのブロック数を、ホスト装置１００において決定することができる。
【０１６７】
＜他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【０１６８】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１６９】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１７０】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１７１】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７２】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７３】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図７から図９および／または図１１から図１５に示す）フローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１７４】
【図１】本発明の第１の実施形態に係るインクジェット記録装置の概略構成を示す斜視図である。
【図２】図１のインクジェット記録装置の主要部の構成を示すブロック図である。
【図３】本発明に係るインクジェット記録装置のプリントバッファに設定されるブロックの様子を示す概念図である。
【図４】１ブロックにおける各色毎の記録データの格納状態を説明する図である。
【図５】シアンの記録データのブロックを小ブロックに分けた構成を示す概念図である。
【図６】本発明に係るインクジェット記録装置におけるプリントバッファのブロック構成とその管理テーブルを説明する図である。
【図７】第１の実施形態に係るインクジェット記録装置における１回の主走査に関するデータ受信及び記録動作を説明するフローチャートである。
【図８】第１の実施形態に係るホスト装置における１回の走査毎にブロック単位の記録データを生成する処理を示すフローチャートである。
【図９】図７のステップＳ６における、１ブロック分の記録データの記録処理を詳細に示すフローチャートである。
【図１０】本発明に係るインクジェット記録装置における１回の主走査での記録動作に伴うプリントバッファのデータ及び記録媒体への記録の様子を説明する図である。
【図１１】第２の実施形態における処理の一部を示すフローチャートである。
【図１２】第３の実施形態における処理の一部を示すフローチャートである。
【図１３】第４の実施形態における処理の一部を示すフローチャートである。
【図１４】第５の実施形態における処理の一部を示すフローチャートである。
【図１５】第７の実施形態における処理の一部を示すフローチャートである。
【図１】
2005053191.tif 000003
【図２】
2005053191.tif 000004
【図３】
2005053191.tif 000005
【図４】
2005053191.tif 000006
【図５】
2005053191.tif 000007
【図６】
2005053191.tif 000008
【図７】
2005053191.tif 000009
【図８】
2005053191.tif 000010
【図９】
2005053191.tif 000011
【図１０】
2005053191.tif 000012
【図１１】
2005053191.tif 000013
【図１２】
2005053191.tif 000014
【図１３】
2005053191.tif 000015
【図１４】
2005053191.tif 000016
【図１５】
2005053191.tif 000017