(57)【要約】【課題】  記録データの変換処理を効率化して、実質的なデータ処理速度を向上させる。【解決手段】  接続されたホスト装置から送信され、制御コマンド及びランレングス符号化で圧縮されたラスタ形式の記録データが格納された受信バッファ２５１から、ＣＰＵの制御の下、記録データを解凍するデータ解凍ブロック１０１において、縦横変換ブロック１０２のバッファに格納されるデータが全て同じデータとなると判定したときに、記録データの解凍を行わずに、１バイト分のデータをローカルバスに載せ、縦横変換ブロックにバーストフィル信号とＲＥＱ信号をアサートする。【選択図】  図１
2006103208.tif 000002
【特許請求の範囲】
【請求項１】
所定方向に配列された複数の記録素子を有する記録ヘッドを、前記記録素子の配列方向と交差する方向に沿って記録媒体上を走査して記録を行う記録装置であって、
接続されたホスト装置から送信される、記録装置を制御するための制御コマンド、及び所定の符号化方式で圧縮されたラスタ形式の記録データを格納する受信バッファと、
前記制御コマンドを解釈すると共に前記記録データの解凍に関する制御を行なう制御手段と、
前記制御手段の制御により、圧縮された前記記録データを解凍する解凍手段と、
所定サイズの記録データを格納する変換用バッファを備え、前記解凍された記録データを前記変換用バッファに格納して、前記所定サイズ毎に記録データの配列を変換する変換処理を行う変換手段と、
前記変換手段により変換された後の記録データを格納する記録バッファと、を備え、
前記解凍手段は、前記変換用バッファに格納されるデータが全て同じデータとなると判定したとき、前記記録データを全て解凍せずに、前記変換手段に所定の信号を送信することを特徴とする記録装置。
【請求項２】
前記変換手段は、前記所定の信号に従って、前記変換用バッファに格納する記録データを全て同じ記録データとすることを特徴とする請求項１に記載の記録装置。
【請求項３】
前記変換手段は、記録ヘッドの走査方向に沿って配列された記録データを、前記複数の記録素子が配列される前記所定方向の配列に変換することを特徴とする請求項１または２に記載の記録装置。
【請求項４】
前記解凍手段は、前記変換手段のバッファに格納されるデータが全て「０」データとなると判定したときに、前記記録データの解凍を行わずに、前記変換手段に第２の所定の信号を送信し、
前記変換手段は、前記第２の所定の信号を受信したときに、前記縦横変換及び前記記録バッファへの格納を行なわないことを特徴とする請求項１乃至３のいずれかに記載の記録装置。
【請求項５】
前記所定の符号化方式が、ランレングス符号化であることを特徴とする請求項１乃至４のいずれかに記載の記録装置。
【請求項６】
前記変換手段のバッファが、ｎビット×ｎ行のサイズであり、前記解凍手段は、前記解凍した記録データをｎビット単位で前記変換手段に送信することを特徴とする請求項１乃至５のいずれかに記載の記録装置。
【請求項７】
前記ｎが８であることを特徴とする請求項６に記載の記録装置。
【請求項８】
所定方向に配列された複数の記録素子を有する記録ヘッドを、前記記録素子の配列方向と交差する方向に沿って記録媒体上を走査して記録を行う記録装置に用いる記録データを変換する記録データ変換方法であって、
接続されたホスト装置から送信される、記録装置を制御するための制御コマンド及び所定の符号化方式で圧縮されたラスタ形式の記録データを受信バッファに格納する受信工程と、
前記制御コマンドを解釈すると共に前記記録データの解凍に関する制御を行なう制御工程と、
前記制御工程での制御に従って、圧縮された前記記録データを解凍する解凍工程と、
前記解凍された記録データを所定サイズの変換用バッファに格納し、該所定サイズ毎に記録データの配列を変換するとともに、変換後の記録データを記録バッファに格納する変換工程と、からなり、
前記解凍工程において、前記変換用バッファに格納されるデータが全て同じデータとなると判定したときに、前記記録データを全て解凍せずに、前記変換用バッファに対して格納する記録データを制御するための所定の信号を出力することを特徴とする記録データ変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置及び記録データ変換方法に関し、より詳細には、所定方向に配列された複数の記録素子を有する記録ヘッドを、前記記録素子の配列方向と交差する方向に沿って記録媒体上を走査して記録を行う記録装置における、ホスト装置から受信した記録データの変換処理に関するものである。
【背景技術】
【０００２】
例えばワードプロセッサ、パーソナルコンピュータ、ファクシミリ等に於ける情報出力装置として、所望される文字や画像等の情報を用紙やフィルム等シート状の記録媒体に記録を行う記録装置が広く使用されている。
【０００３】
現在知られている記録方式の中で、インクジェット方式は、用紙等の記録媒体に非接触記録が可能である、カラー化が容易である、静粛性に優れている、等の特徴を備えている。そのため、近年、インクジェット方式を採用した記録装置が特に注目されている。インクジェット方式を採用した記録装置の基本的な構成としては、所望される記録情報に応じてインクを吐出する記録ヘッドを用紙等の記録媒体の搬送方向と交差する方向に往復走査させながら記録を行なうシリアル記録方式が、安価で小型化が容易などの点から一般的に広く用いられている。
【０００４】
シリアル型のインクジェット記録装置で用いられる記録ヘッドの基本動作について、図３を参照して説明する。
【０００５】
図３は、電気熱変換体の発熱によりインク中に気泡を発生させてインクを吐出する、いわゆるバブルジェット(登録商標)方式の記録ヘッドを示している。また、図３は、記録ヘッド９のインク吐出部の一部分の縦断面図を模式的に示した図である。図３において、記録媒体１に対向する面には、縦方向に所定ピッチで複数のインク吐出口（ノズル）１０が形成されている。１０Ａは液路、１３はインクである。
【０００６】
記録情報に基づいて各インク吐出口１０に対応して設けられた電気熱変換体（ヒータ、発熱抵抗など）１１を駆動回路により通電加熱すると、インク内に膜沸騰現象が起き、吐出口近辺にバブル（気泡）１２が発生する。この圧力により吐出口からインクを吐出させ、飛翔インク滴１３Ａが形成される。このインク滴を記録媒体１上に所定パターンで付着させることにより、ドットパターンによる記録が行われる。この電気熱変換体１１への通電加熱を停止すると、インク吐出口内のバブル１２は消失する。
【０００７】
各吐出口１０に対応して電気熱変換体１１への通電をオン・オフするためのヒートドライバ１４が設けらており、各ヒートドライバ１４は、記録ヘッド制御回路２９から出力された信号が入力される記録データシリアル／パラレル変換回路１６及び、ヒート信号発生回路１７の出力信号を元に駆動される。
【０００８】
インクジェット記録装置の電気的構成について、図４のブロック図を参照して説明する。図４において、ＣＰＵ２１はＲＯＭ等のプログラムメモリ２４に格納されている制御プログラムに基づいて各種制御を行う。ＲＡＭ等のワーキングメモリ２５はＣＰＵ２１がホスト装置１００からインターフェース２２を介して受信した各種制御信号や記録データを一時的に記憶させ、加工、処理するために用いる。ＣＰＵ２１は前述の記録データに基づいて各種モータ等の駆動源を出力ポート２６を介して各モータ制御回路４１、４２又は４４を制御することにより動作させ、また、キャリッジ６上の記録ヘッド制御回路２９を介して各記録ヘッド９Ａから９Ｄに電気熱変換体の駆動信号を送る。これにより記録媒体上に画像を形成する。
【０００９】
また電源回路２８からは、制御ロジック回路を動作させるためのロジック駆動電圧Ｖｃｃ（例えば５Ｖ）、各種モータ駆動電圧ＶＭ（例えば３０Ｖ）、記録ヘッド９の電気熱変換体１１に通電し発熱させるためのヒート電圧ＶＨ（例えば２５Ｖ）等が供給される。
【００１０】
図２は、従来のインクジェット方式のカラーインクジェット記録装置の構成例を示す外観斜視図である。図２において、用紙またはプラスチックシートなどの記録媒体１は記録領域の上下に配置された一対の搬送ローラ２、３によって支持され、シート送りモータ７０で駆動される搬送ローラ２によって矢印Ａ方向へ搬送される。搬送ローラ２、３の前方にはこれと平行にガイドシャフト５が設けられている。このガイドシャフトに沿ってキャリッジユニット６がキャリッジモータ７２の出力によりベルト８を介して矢印Ｂ方向に往復移動される。
【００１１】
ヘッド移動手段としてのキャリッジユニット６には、上述した方式でインクを吐出するインクジェット記録ヘッド９が搭載されている。この記録ヘッド９は、カラー記録用であり、キャリッジの走査方向に並んで配置され、それぞれ、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｂｋ）の各色のインクに対応させて設けた４個の記録ヘッド９、すなわち黒ヘッド９Ａ、シアンヘッド９Ｂ、マゼンタヘッド９Ｃ、イエローヘッド９Ｄからなっている。各記録ヘッドはある一定間隔（例えば１２ｍｍ）をおいて配置されている。
【００１２】
各記録ヘッド９の前面、すなわち記録媒体１の記録面と所定間隔（例えば５ｍｍ）を於て対向する面には複数（例えば６４個）のインク吐出口を配列したインク吐出部が設けられている。このインク吐出部には、キャリッジの走査方向と交差する方向に沿って複数のインク吐出口を配列した吐出口列が、インクの色毎に対応して設けられている。
【００１３】
記録装置の外装ケース（不図示）には、記録装置の操作を行うための操作パネル１６０が設けられている。この操作パネル１６０には、オンライン／オフライン切換えキー６０Ａ、ラインフィードキー６０Ｂ、フォームフィードキー６０Ｃ、記録モード切換えキー６０Ｄ等のキー設定部が設けられている。さらに、操作パネル１６０には、アラームＬＥＤ６１Ａやオンライン／オフライン表示用ＬＥＤ６１Ｂ等のＬＥＤ、記録装置の状態を外部に知らせるための表示用ＬＣＤ６５を含む表示部が設けられている。
【００１４】
また、図２でキャリッジユニット６に隠された部分（キャリッジユニット６のホームポジション付近）には、図４に示した、キャッピング機構４５や、拭き機構４６、さらに、キャッピング機構４５、拭き機構４６を動作させるための回復用モータ７２が設けられている。なお、キャッピング機構４５は、記録を行わないときに記録ヘッドを保護する機構である。また、拭き機構４６は、記録ヘッドのインク吐出口が形成された面を拭くためのブレードと、ブレードを支持する支持部材から構成されている。
【００１５】
記録動作を行う場合の記録データの流れについて、図５及び図６を参照して説明する。ホスト装置から送られてくるデータは、以下の様に作成される。
【００１６】
ホスト装置において画像データは通常、記録装置の記録解像度（例えば６００ｄｐｉ）の細かさのＢｋ（ブラック）、Ｙ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）の点（ドット）に分解される。ただしここでは説明を簡単にするために、モノクロ画像（Ｂｋのみ）の場合について説明する。６００ｄｐｉのドットで示されたラスタ形式の記録データは、図５に示すように分割され、ランレングス符号化方式による圧縮がかけられる。
【００１７】
この圧縮方式は、連続データが続いた場合は、そのデータと繰り返される個数を記述することによりデータを圧縮する方法である。具体的には、データはタグ部とデータ部からなり、先頭は必ずタグ部となっている。タグ部にはまず、続くデータが、連続データか非連続データかを示す。さらに連続データの場合は何バイトが同じデータであるかを示し、続くデータ部１バイトに繰り返されるデータを示す。非連続データの場合は、タグ部に、非連続データが何バイト続くかを示し、続くデータ部（この場合は複数バイト）に非連続データを羅列する。本例では、図５の１から８までのデータはバラバラ（非連続）なデータ、９から１６までは同じ（連続）データであるとする。
【００１８】
圧縮されたデータは、プリンタを制御するためのコマンドを先頭に付加される。よってホスト側から転送されるデータは、図６の左側に示されるような形態となる。
【００１９】
これらのデータ群がホスト装置１００から、ワーキングメモリ２５内に用意された受信バッファ２５１に順次転送される。転送に利用されるインタフェースとしては、例えば、ＩＥＥＥ１２８４に準拠したパラレルインターフェースやＵＳＢなどがある。
【００２０】
受信バッファ２５１に蓄えられたデータは、記録装置のＣＰＵ２１により読み出される。受信されたデータの先頭部は必ず制御用コマンドであるため、ＣＰＵ２１は、制御用コマンドに含まれる記録媒体の大きさか、または、１回のスキャンでキャリッジが移動する最も左の位置（左端）の情報と最も右の位置（右端）の情報により、記録バッファの容量を求め、ワーキングメモリ２５内に領域を確保する。
【００２１】
その後、データ解凍ブロック１０１に解凍するデータ数を設定し、データ解凍ブロックを起動する。
【００２２】
データ解凍ブロック１０１は、自動的に受信バッファ２５１からデータを読み出し、タグ部を解釈しながらデータの解凍を行うとともに、ラスタ形式の記録データを記録ヘッドのノズルの配列に合わせた形式に変換する縦横変換ブロック１０２にデータを渡す。このときに渡す単位は１バイト毎、または２バイト毎で行われる。なお、本例では１バイト単位であるとする。
【００２３】
縦横変換ブロック１０２は、受け取ったデータを一旦内部に格納する。格納方法としては、データの縦横比が等しくなるように行われる。すなわち１バイト単位で受け取る場合は８バイト格納し、２バイト単位で受け取る場合は、３２バイト格納する。なお、上記のように本例では８バイトを単位として受け取る。ただし、ページ終了等で、データが所定量（８バイト）格納できない場合には別の制御を行うが、ここではその説明は省略する。データが所定量格納されたら、縦横変換処理を実行し、記録バッファへ転送する。
【００２４】
このように、受信バッファに格納されたラスタ形式の記録データを、記録ヘッドの記録素子（ノズル）の配列に合わせた形式で並び替えたデータに変換し、記録バッファに格納する一連の処理を記録データ変換処理とも言う。
【００２５】
なお、記録バッファの容量を削減するために、縦横変換ブロック１０２内に格納されたデータがすべて「０」（空白部）であった場合には、記録バッファにデータを転送しないように制御する構成が、最近知られている。
【００２６】
その後、データはさらに記録バッファから記録ヘッドへ転送され、実際の記録が行われる。
【００２７】
なお、特許文献１には、縦横変換処理を行なう間に、並行してデータ処理を実行することが記載されており、特許文献２には、所定領域のデータをチェックして縦横変換やスムージングが必要か否かを判定し、必要でないときにこれらの処理をスキップすることが記載されている。
【特許文献１】特開平１０−２１７５８４号公報
【特許文献２】特開平１１−１３８９０６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２８】
近年、インクジェット記録装置に対する高画質化及び高速化の要求は、ますます増えているがこれを達成するのは技術的に厳しいものとなっている。
【００２９】
高画質化及び高速化のために、これまではロジック部等の処理回路を高速なクロック信号で動作させたり、メモリへのアクセスにできる限りＤＭＡを利用する等により、記録データの変換処理を高速化してきた。
【００３０】
しかしながら、最近の高画質化に伴うデータ量の増大により、さらなる処理速度の向上が要求されており、実質的に処理速度を向上させるべく、必要のない処理を可能な限り行わないようにして処理を効率化することも必要となっている。
【００３１】
従来においても、上述のように縦横変換ブロックで格納したデータがすべて「０」（空白部）であった場合には、記録バッファにデータを転送しない制御が行われているが、この判定が行われるのは、縦横変換ブロックに所定量のデータが格納された後である。
【００３２】
しかしながら、上記の従来例において説明したように、解凍ブロックではタグ部を解釈しながらデータの解凍を行うが、例えば、この時点で縦横変換ブロックに転送するデータが全て同一データであることがわかれば、処理の効率を一層向上させることができる。
【００３３】
本発明は以上のような状況に鑑みてなされたものであり、記録データの変換処理を効率化して、実質的なデータ処理速度を向上させることを目的とする。
【課題を解決するための手段】
【００３４】
上記目的を達成する本発明の一態様としての記録装置は、所定方向に配列された複数の記録素子を有する記録ヘッドを、前記記録素子の配列方向と交差する方向に沿って記録媒体上を走査して記録を行う記録装置であって、
接続されたホスト装置から送信される、記録装置を制御するための制御コマンド、及び所定の符号化方式で圧縮されたラスタ形式の記録データを格納する受信バッファと、
前記制御コマンドを解釈すると共に前記記録データの解凍に関する制御を行なう制御手段と、
前記制御手段の制御により、圧縮された前記記録データを解凍する解凍手段と、
所定サイズの記録データを格納する変換用バッファを備え、前記解凍された記録データを前記変換用バッファに格納して、前記所定サイズ毎に記録データの配列を変換する変換処理を行う変換手段と、
前記変換手段により変換された後の記録データを格納する記録バッファと、を備え、
前記解凍手段は、前記変換用バッファに格納されるデータが全て同じデータとなると判定したとき、前記記録データを全て解凍せずに、前記変換手段に所定の信号を送信する。
【００３５】
すなわち、本発明では、所定方向に配列された複数の記録素子を有する記録ヘッドを、記録素子の配列方向と交差する方向に沿って記録媒体上を走査して記録を行い、接続されたホスト装置から送信される、記録装置を制御するための制御コマンド及び所定の符号化方式で圧縮されたラスタ形式の記録データを格納する受信バッファと、制御コマンドを解釈すると共に記録データの解凍に関する制御を行なう制御手段と、制御手段の制御により、圧縮された記録データを解凍する解凍手段と、所定サイズの記録データを格納する変換用バッファを備え、解凍された記録データを変換用バッファに格納し、前記所定サイズ毎に記録データの配列を変換する変換処理を行う変換手段と、変換手段により変換された後の記録データを格納する記録バッファと、を備えた記録装置において、解凍手段は、変換用バッファに格納されるデータが全て同じデータとなると判定したとき、記録データを全て解凍せずに、変換手段に所定の信号を送信する。
【００３６】
このようにすると、記録データ解凍の際に、変換手段のバッファに格納されるデータが全て同じデータとなると判定されたときには、所定の信号を送信するだけで実際の解凍処理を省略することができる。
【００３７】
従って、記録データの変換処理を効率化し、実質的なデータ処理速度を向上させることができる。
【００３８】
なお、変換手段は、所定の信号に従って、変換用バッファに格納する記録データを全て同じ記録データとしてもよい。
【００３９】
変換手段は、記録ヘッドの走査方向に沿って配列された記録データを、複数の記録素子が配列される所定方向の配列に変換してもよい。
【００４０】
解凍手段は、変換手段のバッファに格納されるデータが全て「０」データとなると判定したときに、記録データの解凍を行わずに、変換手段に第２の所定の信号を送信し、変換手段は、第２の所定の信号を受信したときに、変換及び記録バッファへの格納を行なわないようにしてもよい。
【００４１】
所定の符号化方式としては、ランレングス符号化等が利用できる。
【００４２】
変換手段のバッファが、ｎビット×ｎ行のサイズであり、解凍手段は、解凍した記録データをｎビット単位で変換手段に送信してもよい。また、ｎは８であってもよい。
【００４３】
上記の目的を達成する本発明の別の態様としての記録データ変換方法は、所定方向に配列された複数の記録素子を有する記録ヘッドを、前記記録素子の配列方向と交差する方向に沿って記録媒体上を走査して記録を行う記録装置に用いる記録データを変換する記録データ変換方法であって、
接続されたホスト装置から送信される、記録装置を制御するための制御コマンド及び所定の符号化方式で圧縮されたラスタ形式の記録データを受信バッファに格納する受信工程と、
前記制御コマンドを解釈すると共に前記記録データの解凍に関する制御を行なう制御工程と、
前記制御工程での制御に従って、圧縮された前記記録データを解凍する解凍工程と、
前記解凍された記録データを所定サイズの変換用バッファに格納し、該所定サイズ毎に記録データの配列を変換するとともに、変換後の記録データを記録バッファに格納する変換工程と、からなり、
前記解凍工程において、前記変換用バッファに格納されるデータが全て同じデータとなると判定したときに、前記記録データを全て解凍せずに、前記変換用バッファに対して格納する記録データを制御するための所定の信号を出力する。
【００４４】
また、上記の目的は、上記の記録データ変換方法をコンピュータ装置によって実施するコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体によっても達成される。
【発明の効果】
【００４５】
本発明によれば、記録データ解凍の際に、変換手段のバッファに格納されるデータが全て同じデータとなると判定されたときには、所定の信号を送信するだけで実際の解凍処理を省略することができる。
【００４６】
従って、記録データの変換処理を効率化し、実質的なデータ処理速度を向上させることができる。
【発明を実施するための最良の形態】
【００４７】
以下に、添付図面を参照して、本発明の好適な実施の形態を例示的に詳しく説明する。ただし、以下の実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００４８】
なお、以下に説明する実施形態では、インクジェット方式に従う記録ヘッドを用いた記録装置を例に挙げて説明する。
【００４９】
なお、この明細書において、「記録」（「プリント」という場合もある）とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わず、また人間が視覚で知覚し得るように顕在化したものであるか否かを問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
【００５０】
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
【００５１】
さらに、「インク」（「液体」と言う場合もある）とは、上記「記録（プリント）」の定義と同様広く解釈されるべきもので、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理（例えば記録媒体に付与されるインク中の色剤の凝固または不溶化）に供され得る液体を表すものとする。
【００５２】
またさらに、「ノズル」（「記録素子」と言う場合もある）とは、特にことわらない限り吐出口ないしこれに連通する液路およびインク吐出に利用されるエネルギーを発生する素子を総括して言うものとする。
【００５３】
＜第１の実施形態＞
本発明に係る記録装置の第１の実施形態の外観及び基本的構成は、上記で従来例に関して図２から図４に示したものと同様であり、以下では、本実施形態の特徴を中心に説明する。
【００５４】
図１は、本実施形態の記録データ変換処理に関する構成を簡潔に表したブロック図である。なお、図６に関して説明した従来例と同様な部分には同じ参照符号を付して説明を省略する。
【００５５】
図示されたように、ホスト装置から受信したランレングス符号化で圧縮されたラスタ形式の記録データを格納する受信バッファ２５１、受信バッファ２５１のデータを解凍するデータ解凍ブロック１０１、記録ヘッドのノズル配列に合わせた縦横変換処理を行なって記録データの並びを変換する縦横変換ブロック１０２、変換された記録データを格納する記録バッファ、及び全体を制御するＣＰＵ２１を有し、これらはアドレスバス及びデータバスを介して接続されている。また、データ解凍ブロック１０１と縦横変換ブロック１０２との間の信号としては、データ解凍ブロック１０１から縦横変換ブロック１０２へ送信される信号として、ＲＥＱ（要求）信号、バーストフィル信号、８ビットのローカルデータバスがあり、縦横変換ブロック１０２からデータ解凍ブロック１０１へ送信される信号としてＡＣＫ（確信応答）信号がある。
【００５６】
また、本実施形態では、縦横変換ブロック１０２では８×８ビット毎に縦横変換を行い、８バイトのバッファを有しているものとする。ここで、縦横変換ブロック１０２の処理単位である８バイトのデータをブロックデータと呼ぶ。更に、以下では、１から８バイトまでのデータはバラバラ（非連続）なデータ、９から１８バイトまでは同じ（連続）データを解凍して記録データを変換する場合の動作について説明する。
【００５７】
受信バッファ２５１内の制御コマンドデータをＣＰＵ２１が解釈した後、後続するデータを解凍処理するべくＤＭＡを起動する。データ解凍ブロック１０１はＤＭＡにより、受信バッファ２５１の領域から１バイトずつデータを読み出す。データ解凍ブロック１０１では、最初の１バイトのタグを解釈する。本例では、８バイトの非連続データであることが解釈される。すると、データ解凍ブロック１０１は、この８バイトを順次読み出して縦横変換ブロック１０２へ転送する。
【００５８】
この間のハンドシェークは、ＲＥＱ／ＡＣＫ信号を用いて行なう。すなわちデータ解凍ブロック１０１は、転送すべきデータがある場合にはローカルデータバスにデータを載せてからＲＥＱ信号をアサートする。一方、縦横変換ブロック１０２はデータを受信したらＡＣＫを１パルス分アサートする。これに応じてデータ解凍ブロック１０１はＲＥＱ信号をネゲートする、というハンドシェークである。
【００５９】
縦横変換ブロック１０２は、７バイト目のデータ受信までは１バイト受信する度にＡＣＫ信号をアサートするが、８バイト目を受信した時はＡＣＫ信号をアサートせず、縦横変換処理を行いながら、データをＤＭＡにより記録バッファへ書き込む。書き込みがすべて終了した時点で初めてＡＣＫ信号をアサートし、データ解凍ブロック１０１からの、次のデータ受信を許可する。こうして最初のブロックデータに対する記録データ変換処理が終了する。
【００６０】
次にデータ解凍ブロック１０１は、次のブロックデータに対する記録データ変換処理を行なうべく、受信バッファ２５１から１バイトのタグを読み出す。この場合には、タグは１０バイトのデータが連続していることを示している。このように、データ解凍ブロック１０１が、ブロックデータの先頭（１番目）のデータを転送するタイミングにおいて、当該ブロック内のデータが全て同じデータとなるときに、本実施形態ではデータ解凍ブロック１０２は、８バイト分のデータ解凍処理を行なわず、１バイトのデータを受信バッファ２５１から読み出してローカルデータバスに載せると同時に、縦横変換ブロック１０２のバッファ全体を同じデータで充填することを示すバーストフィル信号もアサートし、ＲＥＱ信号をアサートする。
【００６１】
これに応じて縦横変換ブロック１０２は、内部のバッファをすべて同じデータで書き換え、縦横変換処理を行いながら、データを記録バッファに転送する。そしてデータ転送が終了したら、ＡＣＫ信号をアサートする。これに応答してデータ解凍ブロック１０１は、ＲＥＱ信号、バーストフィル信号をネゲートする。
【００６２】
なお、連続データは残り２バイトあるが、バッファサイズより小さいため、後続する縦横変換ブロック１０２のバッファへのデータ転送は、通常と同様に１バイト単位で行なわれる。
【００６３】
以上説明した例では、ブロックデータを単位とした、データ解凍ブロック１０１から縦横変換ブロック１０２へのデータ転送において、ブロックデータの先頭からデータが８バイト以上連続している場合であるが、例えば、最初のブロックデータの７番目から１０バイト同じデータが連続している場合には、最初のブロックデータについては通常の１バイト単位のデータ転送が行なわれるが、２番目のブロックデータの転送は、上記の例と同様に、１バイトのデータをローカルデータバスに載せて、バーストフィル信号とＲＥＱ信号をアサートすることによってブロック単位で行なわれる。
【００６４】
すなわち、縦横変換ブロック１０２内のバッファに全て同じデータが格納されると判定したときに、実際の解凍処理を行なわず、バーストフィル信号とＲＥＱ信号をアサートすることによって、ブロック単位でのデータ転送を行なう。
【００６５】
このような処理は、データ解凍ブロック１０１内に、タグを解凍して得られた後続するデータのバイト数を変数に代入し、ブロックの先頭（１番目）のデータ転送のときにデータが「連続」しており、かつ、この変数の値が８以上であるときに、上記のようにブロック単位でデータを転送すればよい。
【００６６】
本実施形態におけるデータ解凍ブロック１０１による縦横変換ブロック１０２へのデータ転送に関する動作を、図８のフローチャートを参照して再度説明する。
【００６７】
制御コマンドがＣＰＵによって解釈された後、後続する圧縮データに対してデータ解凍ブロック１０１の動作が開始される。データ解凍ブロックは、最初に、タグを読み出して後続するバイト数の変数ＣＮＴに代入する（ステップＳ１０１）。
【００６８】
次に、タグがデータの「連続」を表しているか、「非連続」を表しているかを判定する（ステップＳ１０２）。「連続」データを表している場合には、次に転送すべきバイトがブロックの先頭データであるのか否かを判定する（ステップＳ１０３）。ブロックの先頭でなければ、通常の方法で１バイト単位のデータ転送を行い（ステップＳ１０４）、変数ＣＮＴをデクリメントし（ステップＳ１０５）、変数ＣＮＴが０となったか否かを判定する（ステップＳ１０６）。変数ＣＮＴが０となっていなければ、ステップＳ１０３に戻り以降の処理を繰り返す。すなわち、転送すべきバイトがブロックの先頭データとなるまでＳ１０４〜Ｓ１０６を繰り返す。
【００６９】
ステップＳ１０３でブロックの先頭データであると判定された場合、変数ＣＮＴがブロックサイズ（８）以上であるか否かを判定する（ステップＳ１０４）。８以上であれば、上記のように１バイトのデータをローカルデータバスに載せて、バーストフィル信号とＲＥＱ信号をアサートすることによってブロック単位でデータを転送し（ステップＳ１０８）、変数ＣＮＴから８を減算し（ステップＳ１０９）、ＣＮＴが０となったか否かを判定する（ステップＳ１１０）。ＣＮＴが０でなければ、ステップＳ１０７に戻り、以降の処理を繰り返す。
【００７０】
ステップＳ１０７で変数ＣＮＴが８未満であると判定された場合、通常の方法で１バイト単位のデータ転送を行い（ステップＳ１１１）、変数ＣＮＴをデクリメントし（ステップＳ１１２）、変数ＣＮＴが０となったか否かを判定する（ステップＳ１１３）。変数ＣＮＴが０となっていなければ、ステップＳ１１１に戻り以降の処理を繰り返す。すなわち、ＣＮＴが０となるまでＳ１１１〜Ｓ１１３を繰り返す。
【００７１】
ステップＳ１０６、Ｓ１１０及びＳ１１３で変数ＣＮＴが０となったと判定された場合、タグに後続するデータの処理が終了したので、ステップＳ１０１に戻り、次のタグのデータを読み出して同様の処理を行なう。
【００７２】
以上説明したように本実施形態では、データ解凍ブロック１０１が、縦横変換ブロック１０２のバッファに最初にデータを転送するタイミングにおいて、縦横変換ブロック１０２のバッファサイズ以上同じデータが連続すると判定したときに、縦横変換ブロック１０２へバーストフィル信号と１バイトのデータだけを送信する。このため、データ解凍ブロック１０１でのデータ解凍処理と縦横変換ブロック１０２へのデータの送信とが簡略化され、記録データの変換処理が効率化され、実質的なデータ処理速度が向上する。
【００７３】
＜第２の実施形態＞
以下、本発明に係る第２の実施形態について説明する。第２の実施形態も第１の実施形態と同様な記録装置であり、以下の説明では上記第１の実施携帯と同様な部分については説明を省略し、本実施形態の特徴的な部分を中心に説明する。
【００７４】
第１の実施形態は、データ解凍ブロック１０１でのデータ解凍処理と縦横変換ブロック１０２へのデータの送信とを簡略化して、実質的なデータ処理を高速化するものであるが、第２の実施形態は、縦横変換ブロックのバッファに格納される１ブロックのデータ全てが「０」（空白データ）である場合に、データ解凍ブロックから縦横変換ブロックへのデータ転送と、縦横変換ブロックから記録バッファへのデータ転送とを行なわないようにして、処理を一層効率化し、実質的な処理速度をより高速とするものである。
【００７５】
図７は、第２の実施形態の記録データ変換処理に関する構成を図１と同様に示すブロック図である。図１の構成との違いは、データ解凍ブロック１０１から縦横変換ブロック１０２への信号として、データオールゼロ信号が追加されている点である。この信号は、縦横変換ブロックのバッファに格納される１ブロックのデータ全てが「０」（空白データ）である場合にアサートされ、縦横変換ブロック１０２はこの信号を受信すると、記録バッファへのデータ転送を行なわない。
【００７６】
この場合、図８のＳ１０８において、データが「０」である場合に、データ解凍ブロックは、データオールゼロ信号とバーストフィル信号を同時にアサートし、ＲＥＱ信号をアサートすることにより、１ブロックのデータ転送処理を行なう。なお、上述のようにこの信号を受けた縦横変換処理ブロック１０２は、記録バッファへのデータ転送を行なわない。
【００７７】
以上説明したように本実施形態によれば、縦横変換ブロックのバッファに格納される１ブロックのデータ全てが「０」（空白データ）である場合に、データ解凍ブロックから縦横変換ブロックへのデータ転送と、縦横変換ブロックから記録バッファへのデータ転送とを行なわないので、処理が一層効率化され、実質的な処理速度がより高速となる。
【００７８】
＜その他の実施形態＞
本発明は、記録装置の含む複数の機器から構成される記録システムに適用しても良いし、また、一つの機器からなる記録装置に適用しても良い。
【００７９】
本発明はインクジェット方式の記録装置だけでなく、複数の記録素子が走査方向と交差する方向に配列された記録ヘッドを有する装置であれば、他の方式の記録装置にも適用できる。
【００８０】
更に、上記の実施形態では、ホスト装置から送信されるデータがランレングス符号化によって圧縮されているものとしたが、使用される圧縮方式はこれに限定されるものではない。加えて、データ解凍ブロックから縦横変換ブロックへのデータ転送方式や縦横変換ブロックのバッファサイズも、装置の構成や仕様に応じて適宜変更可能である。
【００８１】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（本実施形態では図８に示すフローチャートに対応した処理を含むプログラム）を、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００８２】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００８３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【００８５】
【図１】本発明の第１の実施形態の記録データの変換に関する構成を示すブロック図である。
【図２】カラーインクジェットプリンタの主要部を示す模式的斜視図である。
【図３】記録ヘッドの断面を模式的に表した図である。
【図４】図２のインクジェットプリンタの電気的な構成を表わしたブロック図である。
【図５】インクジェットプリンタの記録データの転送順序を示した図である。
【図６】インクジェットプリンタにおけるデータの流れを示した図である。
【図７】第２の実施形態の記録データの変換に関する構成を示すブロック図である。
【図８】第１の実施形態のデータ解凍ブロックの動作を示すフローチャートである。
【符号の説明】
【００８６】
２１  ＣＰＵ
１０１  データ解凍ブロック
１０２  縦横変換ブロック
２５１  受信バッファ
【図１】
2006103208.tif 000003
【図２】
2006103208.tif 000004
【図３】
2006103208.tif 000005
【図４】
2006103208.tif 000006
【図５】
2006103208.tif 000007
【図６】
2006103208.tif 000008
【図７】
2006103208.tif 000009
【図８】
2006103208.tif 000010