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