(57)【特許請求の範囲】
【請求項１】
それぞれ対応する記録幅で記録が可能な複数の記録ヘッドを主走査方向に走査して記録を行うプリンタに接続される情報処理装置であって、
前記プリンタに提供すべき１ページ分の記録データをバンドを単位として生成する生成手段と、
前記バンド単位で生成された記録データを順に格納するメモリと、
前記バンドを単位として生成された記録データを、前記複数の記録ヘッドの１回の走査に対応する量を単位として前記プリンタへ送信する送信手段と、
前記メモリに保持された記録データのうち前記１回の走査に対応する記録データに基づいて前記主走査方向の記録範囲を示す範囲情報を取得する取得手段と、
前記取得手段で取得された範囲情報を前記プリンタに通知する通知手段と、
前記１回の走査に対応する記録データがバンドの境界によって分割されるか否かを判断する判断手段と、
前記判断手段により分割されると判断された場合、前記１回の走査に対応する記録データをバンドの境界に従って分割して送信するよう前記送信手段を制御し、前記バンドの境界によって分割された前記１回の走査に対応する記録データに関して、分割されたそれぞれの記録データに関して記録範囲を調べて範囲情報を取得するよう前記取得手段を制御する制御手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記取得手段は、前記１回の走査に対応する記録データの全体を対象として前記範囲情報を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、前記複数の記録ヘッドの各記録ヘッドの走査に対応した記録データ毎に前記範囲情報を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記取得手段で取得した範囲情報を前記プリンタの駆動系に対応した制御値に変換する変換手段を更に備え、
前記通知手段は前記変換手段によって得られた制御値を前記プリンタに通知することを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
前記取得手段によって取得される範囲情報は、走査において実際に記録が行われる範囲の、前記主走査方向の左端記録位置と右端記録位置を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記取得手段によって取得される範囲情報は、走査において実際に記録が行われる範囲の、前記主走査方向の両端の位置情報を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記変換手段は、前記左端記録位置と右端記録位置に前記記録ヘッドの加減速領域に基づくオフセット、ノズル配置に基づくオフセットを加味して該記録ヘッドの動作範囲を決定することを特徴とする請求項４に記載の情報処理装置。
【請求項８】
前記複数の記録ヘッドの各々の記録走査における副走査方向の長さを単位として、前記バンド内を該副走査方向へ進むポインタを管理し、
前記判断手段は、前記１回の走査における記録範囲の調査の進行に応じて該ポインタを進めた際に該ポインタが当該バンドの外へ出た場合に当該１回の走査がバンドの境界で分割されると判断することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
それぞれ対応する記録幅で記録が可能な複数の記録ヘッドを主走査方向に走査して記録を行うプリンタと、該プリンタに記録データを送信するホスト装置を備えた画像形成システムであって、
前記プリンタに提供すべき１ページ分の記録データをバンドを単位として生成する生成手段と、
前記バンド単位で生成された記録データを順に格納するメモリと、
前記バンドを単位として生成された記録データを、前記複数の記録ヘッドの１回の走査に対応する量を単位として前記プリンタへ送信する送信手段と、
前記メモリに保持された記録データのうち前記１回の走査に対応する記録データに基づいて前記主走査方向の記録範囲を示す範囲情報を取得する取得手段と、
前記取得手段で取得された範囲情報を前記プリンタに通知する通知手段と、
前記１回の走査に対応する記録データがバンドの境界によって分割されるか否かを判断する判断手段と、
前記判断手段により分割されると判断された場合、前記１回の走査に対応する記録データをバンドの境界に従って分割して送信するよう前記送信手段を制御し、前記バンドの境界によって分割された前記１回の走査に対応する記録データに関して、分割されたそれぞれの記録データに関して記録範囲を調べて範囲情報を取得するよう前記取得手段を制御する制御手段と、
前記プリンタにおいて、前記通知手段によって通知された範囲情報に基づいて前記複数の記録ヘッドの走査範囲を決定する決定手段と、
前記決定手段で決定された走査範囲内で前記複数の記録ヘッドを移動して前記送信手段で送信された前記記録データに基づく画像形成を行う像形成手段とを備えることを特徴とする画像形成システム。
【請求項１０】
前記取得手段は、前記複数の記録ヘッドの各記録ヘッドの走査に対応した記録データ毎に前記範囲情報を取得し、
前記決定手段は、前記通知手段によって通知される範囲情報を少なくとも前記複数の記録ヘッド分保持し、保持された範囲情報に基づいて前記走査範囲を決定することを特徴とする請求項９に記載の画像形成システム。
【請求項１１】
それぞれ対応する記録幅で記録が可能な複数の記録ヘッドを主走査方向に走査して記録を行うプリンタに接続された情報処理装置における情報処理方法であって、
前記プリンタに提供すべき１ページ分の記録データをバンドを単位として生成し、順にメモリに保持する生成工程と、
前記バンドを単位として生成された記録データを、前記複数の記録ヘッドの１回の走査に対応する量を単位として前記プリンタへ送信する送信工程と、
前記メモリに保持された記録データのうち前記１回の走査に対応する記録データに基づいて前記主走査方向の記録範囲を示す範囲情報を取得する取得工程と、
前記取得手段で取得された範囲情報を前記プリンタに通知する通知工程と、
前記１回の走査に対応する記録データがバンドの境界によって分割されるか否かを判断する判断工程と、
前記判断工程により分割されると判断された場合、前記送信工程において前記１回の走査に対応する記録データをバンドの境界に従って分割して送信し、前記取得工程において前記バンドの境界によって分割された前記１回の走査に対応する記録データに関して、分割されたそれぞれの記録データに関して記録範囲を調べて範囲情報を取得するよう制御する制御工程とを備えることを特徴とする情報処理方法。
【請求項１２】
請求項１１に記載の情報処理方法をコンピュータに実行させるための制御プログラムを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【従来の技術】
本発明は主走査方向に記録ヘッドをスキャンさせて画像の記録を行う画像形成装置と該画像形成装置に接続されて印刷情報を提供する情報処理装置、及び画像形成システム及びその制御方法に関する。
【０００２】
従来より、記録ヘッドの主走査方向への記録走査と副走査方向への記録媒体の搬送を繰り返すことで画像形成を行うプリンタがある。この種のプリンタにおいて、記録ヘッドの記録走査時に、その走査幅を制限するものと制限しないものが知られている。記録走査時に走査幅を制限しない場合は、まず、記録ヘッドが記録用紙の最上部の行の端から端まで、主走査方向にスキャンをして印字を行う。そして、その後副走査方向に紙送りを行い、次の行も同じ処理を行う。これを、当該記録用紙の最下部の行に至るまで繰り返して、メディア全体への画像記録を行う。また、記録ヘッドによる主走査方向の走査幅を制限する場合は、プリンタ内でデータのチェックを行い、実際に印字を行う主走査方向の記録位置に基づいてその走査幅を決定している。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来例において、記録ヘッドの主走査方向のスキャン幅を制限しない場合は、印字を行わない範囲にもスキャンを行うことになるので、無駄な印刷処理時間が生じるという問題がある。
【０００４】
一方、主走査方向のスキャン幅を制限する場合には、プリンタ内でデータのチェックを行い、実際に印字を行う主走査方向のデータ位置から主走査方向のスキャン幅を決定するので、プリンタ内におけるデータのチェックに時間を要してしまい、印刷時間の短縮化が期待通りには達成されなくなるという問題がある。
【０００５】
特に、複数の記録ヘッドを用いて１回の記録走査における副走査方向の記録幅を大きくした場合は、記録走査幅の決定に多くのチェック時間が必要となる。
【０００６】
本発明は上記の問題に鑑みてなされたものであり、主走査方向への記録ヘッドの記録走査範囲を効率的に制御し、印刷時間の短縮を可能とすることを目的とする。
【０００７】
また、本発明の他の目的は、プリンタに印刷データを提供するホスト装置において、記録ヘッドの走査範囲を検出し、これをプリンタへ通知することによりシステムの記録処理を高速化することにある。
【０００８】
また、本発明の他の目的は、走査範囲をプリンタエンジンの制御用の値を用いて通知することを可能とし、プリンタ側の負荷を更に低減することにある。
【０００９】
【課題を解決するための手段】
上記の目的を達成するための本発明の一態様による情報処理装置は、例えば以下の構成を備える。すなわち、
それぞれ対応する記録幅で記録が可能な複数の記録ヘッドを主走査方向に走査して記録を行うプリンタに接続される情報処理装置であって、
前記プリンタに提供すべき１ページ分の記録データをバンドを単位として生成する生成手段と、
前記バンド単位で生成された記録データを順に格納するメモリと、
前記バンドを単位として生成された記録データを、前記複数の記録ヘッドの１回の走査に対応する量を単位として前記プリンタへ送信する送信手段と、
前記メモリに保持された記録データのうち前記１回の走査に対応する記録データに基づいて前記主走査方向の記録範囲を示す範囲情報を取得する取得手段と、
前記取得手段で取得された範囲情報を前記プリンタに通知する通知手段と、
前記１回の走査に対応する記録データがバンドの境界によって分割されるか否かを判断する判断手段と、
前記判断手段により分割されると判断された場合、前記１回の走査に対応する記録データをバンドの境界に従って分割して送信するよう前記送信手段を制御し、前記バンドの境界によって分割された前記１回の走査に対応する記録データに関して、分割されたそれぞれの記録データに関して記録範囲を調べて範囲情報を取得するよう前記取得手段を制御する制御手段とを備える。
【００１０】
また、上記の目的を達成するための本発明の他の態様による画像形成システムは、例えば以下の構成を備える。すなわち、
それぞれ対応する記録幅で記録が可能な複数の記録ヘッドを主走査方向に走査して記録を行うプリンタと、該プリンタに記録データを送信するホスト装置を備えた画像形成システムであって、
前記プリンタに提供すべき１ページ分の記録データをバンドを単位として生成する生成手段と、
前記バンド単位で生成された記録データを順に格納するメモリと、
前記バンドを単位として生成された記録データを、前記複数の記録ヘッドの１回の走査に対応する量を単位として前記プリンタへ送信する送信手段と、
前記メモリに保持された記録データのうち前記１回の走査に対応する記録データに基づいて前記主走査方向の記録範囲を示す範囲情報を取得する取得手段と、
前記取得手段で取得された範囲情報を前記プリンタに通知する通知手段と、
前記１回の走査に対応する記録データがバンドの境界によって分割されるか否かを判断する判断手段と、
前記判断手段により分割されると判断された場合、前記１回の走査に対応する記録データをバンドの境界に従って分割して送信するよう前記送信手段を制御し、前記バンドの境界によって分割された前記１回の走査に対応する記録データに関して、分割されたそれぞれの記録データに関して記録範囲を調べて範囲情報を取得するよう前記取得手段を制御する制御手段と、
前記プリンタにおいて、前記通知手段によって通知された範囲情報に基づいて前記複数の記録ヘッドの走査範囲を決定する決定手段と、
前記決定手段で決定された走査範囲内で前記複数の記録ヘッドを移動して前記送信手段で送信された前記記録データに基づく画像形成を行う像形成手段とを備える。
【００１１】
また、上記の目的を達成する本発明の情報処理方法は、
それぞれ対応する記録幅で記録が可能な複数の記録ヘッドを主走査方向に走査して記録を行うプリンタに接続された情報処理装置における情報処理方法であって、
前記プリンタに提供すべき１ページ分の記録データをバンドを単位として生成し、順にメモリに保持する生成工程と、
前記バンドを単位として生成された記録データを、前記複数の記録ヘッドの１回の走査に対応する量を単位として前記プリンタへ送信する送信工程と、
前記メモリに保持された記録データのうち前記１回の走査に対応する記録データに基づいて前記主走査方向の記録範囲を示す範囲情報を取得する取得工程と、
前記取得手段で取得された範囲情報を前記プリンタに通知する通知工程と、
前記１回の走査に対応する記録データがバンドの境界によって分割されるか否かを判断する判断工程と、
前記判断工程により分割されると判断された場合、前記送信工程において前記１回の走査に対応する記録データをバンドの境界に従って分割して送信し、前記取得工程において前記バンドの境界によって分割された前記１回の走査に対応する記録データに関して、分割されたそれぞれの記録データに関して記録範囲を調べて範囲情報を取得するよう制御する制御工程とを備える。
【００１３】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００１４】
［第１の実施形態］
図１は、本発明が適用できるインクジェット記録装置の概観図である。同図において、リードスクリュー５００４は、駆動モータ５０１３の正逆回転に連動して駆動力伝達ギア５０１１，５００９を介して回転する。キャリッジＨＣは、リードスクリュー５００４の螺旋溝５００５に対して係合するピン（不図示）を有し、リードスクリュー５００４の回転に伴って矢印ａ，ｂ方向に往復移動される。このキャリッジＨＣには、インクジェットカートリッジＩＪＣが搭載されている。また、インクジェットカートリッジには、それぞれ同一の記録幅に対応したノズル列を有する４つのインクジェットヘッドＩＪＨが搭載されている。
【００１５】
５００２は紙押え板であり、キャリッジの移動方向に亙って紙をプラテン５０００に対して押圧する。５００７，５００８はフォトセンサで、キャリッジのレバー５００６のこの域での存在を確認して、モータ５０１３の回転方向切り換え等を行うためのホームポジション検知手段である。５０１６は記録ヘッドの前面をキャップするキャップ部材５０２２を支持する部材である。また、５０１５はこのキャップ内を吸引する吸引手段で、キャップ内開口５０２３を介して記録ヘッドの吸引回復を行う。５０１７はクリーニングブレードで、５０１９はこのブレードを前後方向に移動可能にする部材であり、本体支持板５０１８にこれらが支持されている。ブレードは、この形態でなく周知のクリーニングブレードが本例に適用できることは言うまでもない。又、５０２１は、吸引回復の吸引を開始するためのレバーで、キャリッジと係合するカム５０２０の移動に伴って移動し、駆動モータからの駆動力がクラッチ切り換え等の公知の伝達手段で移動制御される。
【００１６】
これらのキャッピング、クリーニング、吸引回復は、キャリッジがホームポジション側の領域に来た時にリードスクリュー５００４の作用によってそれらの対応位置で所望の処理が行えるように構成されているが、周知のタイミングで所望の作動を行うようにすれば、本例にはいずれも適用できる。
【００１７】
次に、上述した装置の記録制御を実行するための制御構成について、図２に示すブロック図を参照して説明する。制御回路を示す同図において、１７００は記録信号を入力するインターフェース、１７０１はＭＰＵ、１７０２はＭＰＵ１７０１が実行する制御プログラムを格納するプログラムＲＯＭ、１７０３は各種データ（上記記録信号やヘッドに供給される記録データ等）を保存しておくダイナミック型のＲＡＭ（以下、ＤＲＡＭ）である。１７０４は記録ヘッド１７０８に対する記録データの供給制御を行うゲートアレイであり、インターフェース１７００、ＭＰＵ１７０１、ＲＡＭ１７０３間のデータ転送制御も行う。１７１０は記録ヘッド１７０８を搬送するためのキャリアモータ、１７０９は記録紙搬送のための搬送モータである。１７０５はヘッドを駆動するヘッドドライバ、１７０６、１７０７はそれぞれ搬送モータ１７０９、キャリアモータ１７１０を駆動するためのモータドライバである。
【００１８】
上記制御構成の動作を説明すると、インターフェース１７００に記録信号が入るとゲートアレイ１７０４とＭＰＵ１７０１との間で記録信号がプリント用の記録データに変換される。そして、モータドライバ１７０６、１７０７が駆動されると共に、ヘッドドライバ１７０５に送られた記録データに従って記録ヘッドが駆動され、印字が行われる。
【００１９】
第１の実施形態では、ホストコンピュータ側で記録走査幅を制御する場合について説明する。なお、本実施形態では、上述のように同一の記録幅で記録が可能な４つの記録ヘッドを備えたプリンタへの適用例を述べる。各記録ヘッドのノズル列の高さが記録幅に相当することから、以下、各記録ヘッドの記録幅をカラム高ともいう。
【００２０】
図３は、第１の実施形態によるプリンタシステムの構成を示す図である。１はホストコンピュータである。ホストコンピュータ１において、２はＣＰＵであり、不図示のマイクロプロセッサ、ＲＯＭ、ＲＡＭ等を備え、各種制御を実現する。３はＲＡＭであり、本実施形態の記録走査幅制御に必要な各種の値を記憶する。１０はＩ／Ｏインターフェースであり、例えばセントロニクスやＲＳ２３２Ｃによってプリンタ１１との通信を行う。
【００２１】
ＲＡＭ３には、レジスタ４〜９として機能する領域が確保されている。最左端値レジスタ４には、印字データのヘッド全高の空間分（本実施形態では、４ヘッド（４カラム）分）の主走査方向スキャン範囲の最左端値が格納される（図４を用いて後述する）。最右端値レジスタ５には、印字データのヘッド全高の空間分の主走査方向スキャン範囲の最右端値が格納される。左端値レジスタ６には、ヘッド全高の空間分の各カラム毎の左端値が格納される。同様に右端値レジスタ７には、ヘッド全高の空間分の各カラム毎の右端値が格納される。また、ヘッド先端ポインタレジスタ８には、ヘッド先端ポインタが、ヘッド後端ポインタレジスタ９にはヘッド後端ポインタがそれぞれ格納される。なお、ヘッド先端ポインタとヘッド後端ポインタの役割は以下の説明から明らかになろう。以下、上述の各レジスタを、レジスタ４〜９と記すことにする。
【００２２】
図４は、４つの記録ヘッドに対応するデータの主走査方向のスキャン範囲が異なっていることを示す図である。各ヘッドのスキャン範囲に対応するデータは、１つのヘッドの記録幅に等しい高さのカラム１５毎に格納されている。本実施形態では、ヘッド高（カラム高）単位で左端、右端を検出していき、それらの値をレジスタ６及び７に格納していく。本実施形態では、４ヘッドによる記録走査を行うので１回の主走査方向スキャンが４カラム分であり、４つずつの左端値、右端値をレジスタ６及びレジスタ７にそれぞれ格納することになる。そして、格納されている左端値及び右端値から、最も左側のものが最左端値、右側のものを最右端値としてそれぞれレジスタ４およびレジスタ５に格納される。図４の例では、１６で示される位置が最左端値としてレジスタ４に、１７で示される位置が最右端値としてレジスタ５に格納されることになる。
【００２３】
具体的には、次のような処理により最左端値と最右端値をレジスタ４、５に保持させる。図４において、一番上のカラムについて左端値と右端値を検出してレジスタ６及び７に格納する。ここで、一番上のカラムについて処理した場合のみ、その左端値及び右端値を最左端値及び最右端値としてレジスタ４及び５に格納する。
【００２４】
次にヘッド先頭ポインタ１２を一つ進めて、２番目のカラムを指すようにする（実際には２番目のカラムの最下端ラインを指すようにする）。そして、レジスタ４及びレジスタ５に格納された最左端値と最右端値を、次の記録空間（１カラムの空間）における主走査方向スキャン範囲の左端値、右端値と比較する。上述のように、ヘッド先頭ポインタは既に１カラム分移動しているので、ヘッド先端ポインタ１２が指し示すスキャン範囲の左端値及び右端値とレジスタ４及び５に格納されている最左端値及び最右端値とを比較することになる。そして、この比較の結果、左端値が最左端値よりも左側を示していれば、最左端値に変化が生じたものとしてレジスタ４を当該左端値で更新する。同様に、上記比較の結果、右端値が最右端値よりも右側を示していれば、最右端値に変化が生じたものとして、レジスタ５を当該右端値で更新する。
【００２５】
こうして４カラム分の左端値及び右端値の検出を終えると当該ヘッド全高さ空間における最左端値と最右端値がレジスタ４及び５に格納されていることになるので、これを当該ヘッド全高さ空間の記録データとともにインクジェットプリンタ１１へ通知する。インクジェットプリンタ１１は、通知された最左端値、最右端値によって示される範囲で記録ヘッドを移動して印字を行う。
【００２６】
以上の処理については、図５のフローチャートを参照して更に詳細に説明を加える。
【００２７】
さて、一般に、ホストコンピュータ１側で印刷イメージへの展開処理を行う場合には、バンド単位での展開処理（バンド内展開処理）を行う。ここで、バンドとは、ページを複数個に分割したものを指し、１つのバンドの処理が終了したら次のバンド処理を行う。なお、バンドの大きさはプリンタドライバが使用可能なメモリの大きさ等で変わってくる。本実施形態では、このようなバンド展開処理によるバンド高さがカラム高さと一致しないような場合でも、正しく最左端値や最右端値を検出できる。
【００２８】
図５は、バンド内展開処理が完了した後のホストコンピュータの処理手順を説明するフローチャートである。バンド内展開処理が完了した後、ヘッド先端ポインタの位置により図５に示すように処理の流れが異なる。なお、以下に示す処理は、プリンタドライバ等の制御プログラムが実行することになる。
【００２９】
すなわち、図１０に示すように外部記憶装置１２にインストールされたプリンタドライバ１３をＣＰＵ２が必要に応じて不図示のＲＡＭ（メインメモリ）へロードして、これを実行する。なお、第１の実施形態では、左右端検知モジュール１３ａが実行されて、図５のフローチャートにより後述する処理を実現する。キャリッジ動作範囲決定モジュール１３ｂは第３の実施形態で用いられるプログラムモジュールである。
【００３０】
なお、以下の説明では、ヘッド先端ポインタを先端ポインタ、ヘッド後端ポインタを後端ポインタと称する。
【００３１】
まず、ステップＳ１１において、当該バンド展開が最初のバンド展開のときは先端ポインタ１２を１カラム目に、後端ポインタ１３を４カラム目にセットする（図４の状態となる）。次に、ステップＳ１２へ進み、当該バンド展開が２回目以降のバンド展開の場合であって、前回のバンド処理で先端ポインタがバンドの外に出た場合には、先端ポインタまでの左右端検知を行う。ステップＳ１３では、先端ポインタ１２の示す１カラム分の左端値及び右端値を検出し、検出された左端値と右端値をそれぞれレジスタ６及びレジスタ７に格納する。これは、例えば、レジスタ６及びレジスタ７に格納されている最も古いカラムの左端値と右端値を破棄して、ヘッド先端ポインタが示しているカラムの左端値及び右端値を保持させることで行われる。
【００３２】
なお、後端ポインタ１３が更新された直後の最初のステップＳ１３の処理では、先頭ポインタ１２が指すカラムの左端値及び右端値がそれぞれレジスタ４及び５に最左端値及び最右端値として格納される。
【００３３】
次にステップＳ１４において、レジスタ６及びレジスタ７に格納されている最新の左端値と右端値をそれぞれレジスタ６及びレジスタ７に格納されている最左端値及び最右端値と比較する。この結果、最左端値及び最右端値の少なくともいずれかを変更する必要があれば、ステップＳ１５において、レジスタ４、５の最左端値及び／又は最右端値を更新する。次に、ステップＳ１６で先端ポインタと後端ポインタが一致したときは、４カラム分の検知が終了したことを意味するので、ステップＳ１８で、１スキャン分の記録データを送出するとともに、レジスタ４及び５に格納されている最左端値、最右端値をプリンタに通知する。なお、記録データは、バンド展開処理によって得られたデータである。そして、次のヘッド高分の領域について処理を行うためにステップＳ１９で後端ポインタをヘッド高分（４カラム）シフトする。
【００３４】
一方、ステップＳ１４で最左端値及び最右端値が変化していなければ、ステップＳ１７へ処理を進め、先端ポインタと後端ポインタが一致していないかチェックする。ステップＳ１７で先端ポインタと後端ポインタが一致したときは、４カラム分の検知が終了したことを意味するので、次のヘッド高分の領域について処理を行うためにステップＳ１９へ処理を進める。なお、ステップＳ１６、ステップＳ１７において先端ポインタと後端ポインタが一致していなければ、まだ当該ヘッド高領域において未処理のカラムが存在するので、ステップＳ２０へ処理を分岐する。
【００３５】
ステップＳ２０では、次のカラムを処理するために、１カラム分先端ポインタ１２をインクリメントする。ステップＳ２１で先端ポインタが当該バンド内にあるか否かを判断し、当該バンド内に有れば１カラム分のデータ転送が可能なのでステップＳ１３に戻り左右端検知を行う。
【００３６】
図６Ａはこの場合の様子を示す図である。先端ポインタ１２はカラム▲１▼を示す位置（図示の位置）からカラム▲２▼、▲３▼、▲４▼を示す位置へ順次移動し、最左端値、最右端値の検出処理を行う。そして、先端ポインタ１２の位置が後端ポインタ１３と一致（カラム▲４▼の最下端位置）することでヘッド全高さ空間の処理を終えたものと判断する。図６Ａの場合、先端ポインタ１２の位置は当該処理対象バンド６０１内にあるので、当該４カラム分に関するデータが転送され、後端ポインタ１３が４カラム分シフトされ（Ｓ１９）、先端ポインタ１２が次のカラムを指すべく１カラム分シフトされる（Ｓ２０）。そして、先端ポインタ１２の位置が引き続き当該バンド内であれば（Ｓ２１）、ステップＳ１３へ戻り、次のカラムに対する処理を行う。
【００３７】
なお、４カラムを単位として最左右端値の変化をチェックするので、当該４カラムのうちの１つでも最左右端値を変化させるものがあれば、それ以降は、後端ポインタをシフトするまで、ステップＳ１４から「ＹＥＳ」へ分岐する。そして、ステップＳ１５では、先端ポインタ１２が指すカラムの左右端の値がそれぞれ最左端値及び最右端値を越えている場合に、最左端値或いは最右端値レジスタの内容が更新される。
【００３８】
また、ステップＳ２０によるポインタの移動の結果、ヘッド先端ポインタの外に出た場合は、ステップＳ２２へ進み、当該バンドの残データについて左右端検知を行い、次のバンドの処理（次のバンド処理のイメージ展開の開始）へ移行する。
【００３９】
図６Ｂはこの場合の様子を示す図である。ヘッド先端ポインタ１２がカラム▲３▼を示す位置（カラム▲３▼の最下端）に来ると、処理対象バンド６０１から出てしまう。従って、ステップＳ２２でバンド６０１の残りのデータ（カラム▲３▼のバンド６０１に属するデータ）について最左右端の検知を行う。すなわち、カラム▲３▼のバンド６０１に属する部分の記録幅の左端値及び右端値に基づいて、レジスタ４及び５に格納されている最左端値及び最右端値を必要に応じて更新さる。そして、当該カラムの先頭ラインからバンド６０１の最終ラインまでのデータが転送されることになる。
【００４０】
次に、新たな処理対象バンド（バンド６０２）のイメージ展開を終えると再度ステップＳ１２からの処理が開始される。そして、当該バンド内にヘッド先端ポインタ１２が存在することから、ステップＳ１２において、当該ヘッド先端ポインタが示すライン（図６Ｂのカラム▲３▼の最下端位置）までの左右端検知処理が行われる。すなわち、カラム▲３▼のバンド６０２に属する部分の記録幅の左端値及び右端値に基づいて、レジスタ４及び５に格納されている最左端値及び最右端値が必要に応じて更新される。その後ステップＳ１３へ進み、上述の処理が繰り返される。なお、ステップＳ１２で左右端検知処理が行われた直後はステップＳ１４をスキップする。
【００４１】
また、図６Ｃに示されるように、バンド境界とカラムの境界が一致する場合は、先端ポインタがカラム▲３▼を示す位置に移動したときにステップＳ２２の処理が実行されることになる。しかしながら、この場合は、バンド６０１に属するカラム▲３▼のデータが存在しないので、ステップＳ２２の処理は実質的には省略されることになる。
【００４２】
以上の処理を行うことにより、プリンタには、常に４カラムの範囲における最左端値、最右端値が与えられるので、この範囲でデータの印字を行えば、ヘッド全高の印字が保証されることになる。この結果、ヘッドの走査幅が印字する内容に応じた範囲となるので、印字の高速化が可能となる。また、プリンタ側でカラム単位に左端値、右端値を決定する必要が無くなるので処理速度が向上する。
【００４３】
［第２の実施形態］
第１の実施形態ではホストコンピュータより最左端値及び最右端値の通知を受けて記録ヘッドの走査範囲を制御したが、第２の実施形態では、最左端値及び最右端値をプリンタ側で決定する場合を説明する。
【００４４】
図７はプリンタ側で最左端値及び最右端値の取得を行う場合のプリンタの構成を示すブロック図である。ホスト１８は、ヘッド高（カラム）単位毎に記録ヘッドのスキャン範囲（左端値及び右端値）をプリンタ２０に通知する。プリンタ２０側では、ホスト１８側から転送される印字データのヘッド全高の空間（４カラム）分過去の左端値及び右端値をそれぞれバッファ２５及び２６に格納する。また、バッファ２３、２４には、それぞれヘッドの走査範囲を決定する最左端値及び最右端値が格納される。なお、最左端値及び最右端値は、レジスタ２５及びレジスタ２６に格納された４カラム分の左端値及び右端値から決定される。
【００４５】
図８は第２の実施形態によるプリンタにおける記録走査幅の決定処理を説明するフローチャートである。図８において、まず、ステップＳ３１で、左端値及び右端値の値をカラム単位で受信する。そして、ステップＳ３２において、ステップＳ３１で受信した左端値と右端値をレジスタ２５及び２６に保持する。ステップＳ３３では、４カラム分の左端値と右端値がレジスタ２５、２６に保持されたかどうかを判断する。４カラム分の左端値と右端値がレジスタ２５、２６に保持されたならば、ステップＳ３４へ進み、保持されている４カラム分の左端値と右端値から最左端値と最右端値を抽出する。そして、ステップＳ３５で、ステップＳ３４で抽出した最左端値と最右端値をレジスタ２３、２４へセットする。ステップＳ３６ではレジスタ２５、２６の内容をリセットして次の記録データに対する記録走査幅の決定処理に備える。
【００４６】
以上のように、レジスタ２５、２６でヘッド全高の空間分の過去の左端値及び右端値を保持し、これら左端値及び右端値から決定される最左端値及び最右端値でバッファ２３、２４で保持している最左端値及び最右端値の更新を行う。
【００４７】
そして、プリンタ２０は、バッファ２３及びバッファ２４で示される最左端値及び最右端値の走査範囲で印字ヘッドを走査させて印字を行えば、ヘッド全高の印字が保証されることになる。
【００４８】
なお、この場合のホスト側の処理手順は図９に示すようになる。
【００４９】
まず、最初のバンドが展開されると、ステップＳ５１はスキップされて、ステップＳ５２において先端ポインタが指示するカラムについての左端値と右端値が獲得される。次に、ステップＳ５３でそれらの値をプリンタへ通知する。そして、ステップＳ５４で先端ポインタを１カラム分シフトする。この結果、先端ポインタが当該バンド内にあればステップＳ５５からステップＳ５２に戻り、次のカラムについての左端値と右端値の通知を行う。一方、先端ポインタが当該バンドの外へでてしまった場合は、ステップＳ５６で、当該カラムの当該バンドに属する部分について左端値と右端値の検出を行う。
【００５０】
次のバンド展開を終えると、ステップＳ５１において、先のステップＳ５４で移動された先端ポインタまでの左右端検出を行う。ステップＳ５２では、ステップＳ５１による左右端検出が行われた直後の場合には、先のステップＳ５６とステップＳ５１で行われた検出処理の結果から、当該カラムの左右端値を獲得する。
【００５１】
以上のようにして、ホスト装置は各カラム単位の左端値と右端値をプリンタに通知することができる。
【００５２】
［第３の実施形態］
第３の実施形態では、最左端値、最右端値を第１の実施形態の方法で決定し、更にこれらの値をプリンタエンジンによるキャリッジ（記録ヘッド）の動作制御用の値に変換してプリンタへ提供する。このため、プリンタエンジン側では、記録ヘッドの走査範囲を制御するための計算を行う必要が無く、記録処理の高速化が達成される。
【００５３】
図１０は第３の実施形態によるプリンタドライバのプログラム構成を説明する図である。図１０に示すように外部記憶装置１２にインストールされたプリンタドライバ１３をＣＰＵ２が必要に応じて不図示のＲＡＭ（メインメモリ）へロードして、これを実行する。プリンタドライバ１３により左右端検知モジュール１３ａ及びキャリッジ動作範囲決定モジュール１３ｂが制御される。左右端検知モジュール１３ａは第１の実施形態で説明したとおりでありここでは説明を省略する。キャリッジ動作範囲決定モジュール１３ｂは、この左右端検知モジュール１３ａによる最左右端値の検知結果に基づいて、インクジェットプリンタ１１におけるキャリッジ動作制御に適したデータ（制御値）を、Ｉ／Ｏインターフェース１０介してインクジェットプリンタ１１へ出力する。
【００５４】
なお、キャリッジ制御に適したデータ（制御値）は、主走査による記録の最左端位置と最右端位置を示す情報を、プリンタの制御に応じた値に変更する処理によって得ることができる。
【００５５】
以下、キャリッジ動作範囲決定モジュール１３ｂの動作について説明する。図１１は、第３の実施形態によるキャリッジの動作範囲決定処理を説明するフローチャートである。なお、以下では、プリンタのキャリッジ動作がエンコーダセンサを用いて制御される場合を例に挙げて説明する。
【００５６】
まず、ステップＳ６１では、左右端検知モジュール１３ａによって、第１の実施形態で説明した処理により最左右端値が検出される。ここで得られる最左右端値は、ドライバがデータを展開して得られる解像度が単位となる。従って、ステップＳ６２ではこの最左右端値を、プリンタ側のエンコーダ側の単位に変換する。例えば、ドライバがデータを展開して得られるイメージの解像度が６００ｄｐｉであり、プリンタ側のエンコーダセンサが３００ｄｐｉであった場合、ステップＳ６１で求めた左右端値を２で割り、３００ｄｐｉの単位に変換する。そして、以降の処理における演算は、全て３００ｄｐｉの単位のもとで行われる。
【００５７】
次に、ステップＳ６３において、最左右端値をプリンタエンジンにおけるキャリッジのホームポジションからの距離に変換する。そしてステップＳ６４において、キャリッジの加減速領域を確保するためのオフセットや、ノズル間／色間オフセットを最左右端値に付加する。例えば、実際のキャリッジの動作範囲は、印字する範囲をキャリッジの定速領域とする必要があるので、順方向（左から右への方向）に印刷するときは最左端値から加速距離を減算し、最右端値には減速距離を加算する。また、各色に対応するノズル列を主走査方向に沿って配置した構成（横並びノズルのヘッド構成ともいう）においては、更にオフセットとしてノズル列間（色間）のオフセットを最左右端値に加算する必要がある。
【００５８】
ステップＳ６５では、以上のようにして得られた最左右端値を実際にプリンタエンジンへ転送するデータとして決定し、ステップＳ６６でプリンタへ転送する。
【００５９】
以上の処理により、プリンタ側では、キャリッジの動作範囲を決定するための計算を行う必要が無く、決定されたキャリッジの動作範囲に従って印刷を実行することが可能となる。
【００６０】
なお、上述した各実施形態において適用されるインクジェット記録装置として、複数の記録ヘッドそれぞれの記録幅が同一の構成を例に説明したが、本発明は複数の記録ヘッドの記録幅が異なる構成のインクジェット記録装置においても適用することができる。例えば、モノクロの文書等を高速に印刷できるように、黒インクに対応した記録ヘッドのノズル数を多くすることで、黒に対応する記録幅を大きくした構成においても、複数の記録ヘッドに対応する画像の左端と右端とを検知して主走査方向の最左端と最右端を決定すればよい。
【００６１】
また、複数の記録ヘッドを主走査方向に沿って所定の距離を隔てて配置した構成、複数の記録ヘッドを記録媒体を搬送する副走査方向（主走査方向と直交する方向）に沿って配置した構成のいずれにおいても、本発明を適用することができる。なお、複数の記録ヘッドを副走査方向に沿って配置する構成は複数のノズルからなるノズル列を複数のグループに分割してノズル駆動を制御する構成も含む。
【００６２】
また、上述した実施形態においては、インクを吐出して記録を行うインクジェット記録方式を例に挙げて説明したが、本発明はこれに限らず、他の記録法式にも好適に適用可能である。
【００６３】
本発明は、特にインクジェット記録方式の中でも熱エネルギーを利用して飛翔的液滴を形成し、記録を行うインクジェット方式の記録ヘッドを用いた記録装置において優れた効果をもたらすものである。
【００６４】
その代表的な構成や原理については、例えば、米国特許第４７２３１２９号明細書、同第４７４０７９６号明細書に開示されている基本的な原理を用いて行うものが好ましい。この方式は、所謂オンデマンド型、コンティニュアス型のいずれにも適用可能であるが、特に、オンデマンド型の場合には、液体（インク）が保持されているシートや液路に対応した配置されている電器熱変換体に、記録情報に対応していて核沸騰を越える急速な温度上昇を与える少なくとも一つの駆動信号を印加することによって、電器熱変換体に熱エネルギを発生せしめ、記録ヘッドの熱作用面に膜沸騰を生じさせて、結果的にこの駆動信号に一対一で対応した液体（インク）内の気泡を形成できるので有効である。
【００６５】
以上のように上記各実施形態によれば、ヘッド全高の空間分過去の主走査方向のスキャン範囲の最左端値、最右端値を最左端値、最右端値レジスタに格納して保持する。このため、短時間で主走査方向の範囲を決定し、記録ヘッドが当該走査範囲にだけ移動するように制御する。このように、記録ヘッドが印字範囲にだけ移動するように制御して印字を行えば、印字を行う際の記録ヘッドの無駄な動作時間を省け印刷時間の短縮化が計れる。
【００６６】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００６７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００６８】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６９】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７０】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７２】
【発明の効果】
以上説明したように、本発明によれば、主走査方向への記録ヘッドの記録走査範囲を効率的に制御し、印刷時間の短縮が可能となる。
【図面の簡単な説明】
【図１】本発明が適用できるインクジェット記録装置の概観図である。
【図２】インクジェット記録装置の制御構成を示すブロック図である。
【図３】第１の実施形態によるプリンタシステムの構成を示す図である。
【図４】４つの記録ヘッドに対応するデータの主走査方向のスキャン範囲が異なっていることを示す図である。
【図５】バンド内展開処理が完了した後のホストコンピュータの処理手順を説明するフローチャートである。
【図６Ａ】ヘッド先頭ポインタの位置と転送データを説明する図である。
【図６Ｂ】ヘッド先頭ポインタの位置と転送データを説明する図である。
【図６Ｃ】ヘッド先頭ポインタの位置と転送データを説明する図である。
【図７】プリンタ側で最左端値及び最右端値の取得を行う場合のプリンタの構成を示すブロック図である。
【図８】プリンタ側で最左端値及び最右端値の取得を行う場合のプリンタ側の処理を示すフローチャートである。
【図９】プリンタ側で最左端値及び最右端値の取得を行う場合のホスト装置側の処理を示すフローチャートである。
【図１０】第３の実施形態による画像形成システムの概略構成を表わすブロック図である。
【図１１】第３の実施形態によるキャリッジの動作範囲決定処理を説明するフローチャートである。
【図１】
0003825937.tif 000002
【図２】
0003825937.tif 000003
【図３】
0003825937.tif 000004
【図４】
0003825937.tif 000005
【図５】
0003825937.tif 000006
【図６Ａ】
0003825937.tif 000007
【図６Ｂ】
0003825937.tif 000008
【図６Ｃ】
0003825937.tif 000009
【図７】
0003825937.tif 000010
【図８】
0003825937.tif 000011
【図９】
0003825937.tif 000012
【図１０】
0003825937.tif 000013
【図１１】
0003825937.tif 000014