(57)【要約】【課題】記録データを生成し、そのデータに含まれるヌルデータから、走査領域を算出するが、従来の方法では、ヌルデータの検出単位が大きく、記録ヘッドの走査単位が大きくなり、記録動作のスループットが向上しない。【解決手段】ホストコンピューターとプリンターとで構成されるプリンタシステムで、ホストコンピューターは、記録データを生成する際に、ラスターブロック単位の左端位置と右端位置を算出し、プリンターへ出力する。プリンターは、左端及び右端位置の情報を受信して、データの長さを算出し、その値から走査幅を求め、記録を行う。【選択図】      図１
2004192022.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピューターとプリンターとがインターフェースを介して通信と記録を行うプリンタシステムであって、
前記ホストコンピューターは、コマンドと複数ラスターで構成される記録データを生成する生成手段と、
前記記録データを生成する際に、ラスターブロック単位の左端位置と右端位置を算出する算出手段と、
前記左端及び右端位置の情報を生成する位置情報生成手段と、
前記左端及び右端位置の情報を出力する出力手段を備え、
前記プリンターは、前記ホストコンピューターから送られる前記記録データ、前記左端及び右端位置の情報を受信する受信手段と、
前記記録データを一時的に格納する格納手段と、
前記左端及び右端位置の情報から記録ヘッドの走査で記録するデータの長さを算出するデータ長算出手段と、
前記算出手段で算出した複数のデータ長から走査幅を算出する走査幅算出手段と、
前記走査幅算出手段が算出した前記走査幅に基づいて記録ヘッドを制御する制御手段とを備えていることを特徴とするプリンタシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストコンピューターと記録装置とで構成される記録システムに関するものである。
【０００２】
【従来の技術】
従来、上位装置（例えば、ホストコンピューターやホスト等）から、記録データ（印字データ）が記録装置に送られ、記録装置は被記録媒体（例えば記録用紙）に対して記録動作を行う。この記録動作を行う場合、印字（記録）の左端および右端の検知は、ホストのプリンタドライバからコマンドとして送られてくるページマージン情報によって、印字最大幅を求める。
【０００３】
このラスター（ラスタ）方向（記録ヘッドの走査方向）の印字最大幅をあらかじめ定められた数のヌル（ＮＵＬＬ）検知ブロックに分割して、ヌル（ＮＵＬＬ）ブロックに印字データがあるかないかの判定を行って、同一ラスターの印字データのない最左端のＮＵＬＬブロックと最右端のＮＵＬＬブロックを求めて、印字データの記録用紙の左端位置及び右端位置を決定していた。
【０００４】
【特許文献１】
特開２００２−２５１２６９号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、ページ単位で最大印字幅を分割されたヌル検知ブロックの横幅が固定となるために、たとえば、１ラスターブロック中の１つのヌル検知ブロックの中に１ドット分の印字データがなくても、１つのＮＵＬＬ検知ブロックの横幅が印字中の印字ヘッドの最小移動単位になってしまい、その１つのＮＵＬＬ検知ブロックの幅が大きければ、それだけ無駄に移動しなければならず、結果として記録動作に要する時間が増大してしまい、スループットが向上しない。
【０００６】
【課題を解決するための手段】
本発明は、上記目的を達成するために、ホストコンピューターとプリンターとがインターフェースを介して通信と記録を行うプリンタシステムであって、前記ホストコンピューターは、コマンドと複数ラスターで構成される記録データを生成する生成手段と、前記記録データを生成する際に、ラスターブロック単位の左端位置と右端位置を算出する算出手段と、前記左端及び右端位置の情報を生成する位置情報生成手段と、前記左端及び右端位置の情報を出力する出力手段を備え、前記プリンターは、前記ホストコンピューターから送られる前記記録データ、前記左端及び右端位置の情報を受信する受信手段と、前記記録データを一時的に格納する格納手段と、前記左端及び右端位置の情報から記録ヘッドの走査で記録するデータの長さを算出するデータ長算出手段と、前記算出手段で算出した複数のデータ長から走査幅を算出する走査幅算出手段と、前記走査幅算出手段が算出した前記走査幅に基づいて記録ヘッドを制御する制御手段とを備える。
【０００７】
【発明の実施の形態】
【実施例】
以下、添付図面を参照して本発明の好適な実施形態について詳細に説明する。
【０００８】
図１は、記録装置（プリンター）の回路構成図を示す。１は、インターフェース部（Ｉ／Ｆ）で、ホスト装置（ホストコンピューター、図１０参照）からのデータを入力する。２は、ＭＰＵで記録装置の制御を行う。３はＲＯＭでＭＰＵが実行する制御プログラムやデータが保存されている。４はＲＡＭで、受信バッファ４１、ワークバッファ４２、プリントバッファ４３を備えている。５は記録ヘッド（印字ヘッド）ドライバーであり、記録ヘッドを駆動する。６はモータドライバーで、キャリッジモータや搬送モータを駆動する。７はＤＭＡ手段で、バッファ間のデータ転送を行う。
【０００９】
図１０は、プリンターシステムの構成図である。１０はホストコンピューター（例えば、パーソナルコンピューター）、２０はプリンター、３０はインターフェース（ケーブル）である。なお、このインターフェースは赤外線通信、ブルーツース等の無線による通信方法でも構わない。このホストコンピューターにおいて、例えば、ユーザーが印刷開始の指示を行うと、ドライバーが動作を開始する。
【００１０】
図２は、ラスターデータのブロックを説明する図である。１ラスターブロック（ＲａｓｔｅｒＢｌｏｃｋ）はｎ（例えば８）ラスターで構成されている。このラスターブロック単位で、ホストコンピューターから送られてくる。
【００１１】
そして、被記録媒体の１ページの長さ（ページ長：例えばＡ４サイズであれば２９７ｍｍ）はＬ個のラスターブロックに相当する。この場合、最大の印字幅は、例えば２１０ｍｍ（左右の余白がない場合）である。
【００１２】
図３は、ヌルラスターブロックを複数（ｍ個）に分割した説明図である。記録ヘッド（印字ヘッド）の１回の走査範囲の最大幅をｍ個に分割したものである。また、印字ヘッドの１回の走査で使用するノズル数（例えば６４ノズル）はラスターブロック数Ｎ（例えば８）を示す。
【００１３】
図４は、１スキャン（１回の走査）分の印字幅とラスターブロック、記録ヘッドのノズル数との関係を説明する図である。
【００１４】
図５は、ワークバッファにおいて、ラスターデータとラスターブロックの長さ、ワークバッファとラスターブロックの関係を説明する図である。斜線部分は“１”（この“１”があれば、例えば、ブラックのデータならば黒のインクが１ドット被記録媒体に記録される。また、シアンのデータならば、シアンのインクが１ドット記録される）がある領域、空白部分はすべて“０”であるヌルデータ領域である。例えば、ワークバッファ０（ｗｏｒｋ＿ｂｕｆ［０］）の左端はｔｏｐ［０］、右端はｅｎｄ［０］であることを示す。
【００１５】
そして、ｎ個のワークバッファに格納されている左端位置、右端位置の情報から、ラスターブロックの長さ（Ｒａｓｔｅｒ  Ｂｌｏｃｋ  Ｌｅｎｇｔｈ：カラム数に相当する）が求められる。例えばこの図２においては、左端はｔｏｐ［２］、右端はｅｎｄ［ｎ］であり、この情報から求められる。
【００１６】
図６は、各ラスターについて、ＮＵＬＬ（ヌル）ラスターブロック中のデータの有無を示す概念図である。図７は、各ラスターについて、ヌルラスターブロックの判定の一例を示す図である。それぞれ、後で説明する。
【００１７】
図８は、ラスターブロックの左端及び右端の印字開始位置情報の処理を説明する図である。この処理は、ホスト装置にて動作するドライバーが行う。
【００１８】
ドライバーでラスターデータに変換する処理は、既存の方法で行われる。
【００１９】
処理８．１では、初期化の処理として、左端印字開始位置情報ｔｏｐ＿ｍｉｎにラスターの最大幅の値ＴＯＰ＿ＭＡＸを代入し、右端印字終端位置情報ｅｎｄ＿ｍａｘには、最小値のＥＮＤ＿ＭＩＮを代入する。また、ループのカウンターｉに０を代入する。
【００２０】
処理８．２では、ラスター単位に変換されたデータをホスト装置のメモリに設けられたワークバッファｗｏｒｋ＿ｂｕｆ［ｉ］に格納する。
【００２１】
図５に示すように、処理８．３では、ワークバッファｗｏｒｋ＿ｂｕｆ［ｉ］上の印字データの開始位置の先頭アドレスからオフセット量（ｗｏｒｋｂｕｆ［０］の先頭アドレス＋ワークバッファの幅×（ｉ−１））を引いた値をｔｏｐ［ｉ］に代入する。
【００２２】
処理８．４では、ワークバッファｗｏｒｋ＿ｂｕｆ［ｉ］上の印字データの終了位置に相当する終端アドレスからオフセット量（ｗｏｒｋｂｕｆ［０］の先頭アドレス＋ワークバッファの幅×（ｉ−１））を引いた値をｅｎｄ［ｉ］，に代入する。ｉは１ラスタブロック単位のラスタ数ｎより小さい正の整数（０≦ｉ＜ｎ−１）である。
【００２３】
処理８．５では、ｔｏｐ＿ｍｉｎとｔｏｐ［ｉ］との大小比較を行い、小さい方の値を変数ｔｏｐ＿ｍｉｎに格納する。処理８．６では、ｅｎｄ＿ｍａｘとｅｎｄ［ｉ］との大小比較を行い、大きい値を変数ｅｎｄ＿ｍａｘに格納する。
【００２４】
処理８．１０、８．１１は、１ラスタブロック単位のラスター数分の回数ｎ回処理をするための判別処理である。
【００２５】
処理８．１２では、ラスター数分の処理が終了すれば、ラスターブロックの左端印字開始情報および右端印字終端情報をパラメータとしたコマンドが作成される。
【００２６】
処理８．１３では、ワークバッファの印字データは、圧縮処理等が行われたのち、コマンド部分とラスターデータ部分にターミネーションコードが付加されて、ラスターブロック単位で、コマンドおよび記録（印字）データが作成される。
【００２７】
以上の処理で、１ラスターブロックの左端印字開始位置情報ｔｏｐ＿ｍｉｎおよび右端印字終端位置情報ｅｎｄ＿ｍａｘが求められ、左右端印字情報コマンドと印字データ転送コマンドが作成される。
【００２８】
ラスターブロックの左右端印字情報、印字データ、転送コマンドがホスト装置から記録装置（プリンタ）に転送される。
【００２９】
次に、記録装置の処理について説明する。ホスト装置から送られたコマンドおよび印字データは、図１に示すように、Ｉ／Ｆを介して受信バッファへ格納される。
【００３０】
図９の処理９．１では、左右端処理や、コマンドディスパッチ等に必要なパラメータの初期化が行われる。Ｌｅｆｔ０には、展開されるワークバッファの幅の最大値ＬＥＦＴ＿ＭＡＸ、Ｒｉｇｈｔ０には、最小値のＲＩＧＨＴ＿ＭＩＮがそれぞれ初期値として代入される。
【００３１】
図２に示した受信バッファ４１のデータを処理９．２では、図２のＲＯＭに格納されているプログラムであるコマンド解析処理ルーチン従って、１バイトづつ読みこまれ、該当するコマンドがあるかどうかディスパッチ処理される。
【００３２】
該当するコマンドと判定された場合は処理９．３に進む。ラスタブロックの左右端情報であれば、処理９．４において、左右端印字情報コマンドのパラメータである、左端印字開始情報ｔｏｐ＿ｍｉｎ、および右端印字終端端情報ｅｎｄ＿ｍａｘをそれぞれ、変数Ｌｅｆｔ１，Ｒｉｇｈｔ１に格納する。
【００３３】
処理９．５において、Ｌｅｆｔ０とＬｅｆｔ１の大小比較を行い、処理９．６において、小さな値がＬｅｆｔ０に代入される。処理９．７において、Ｒｉｇｈｔ０とＲｉｇｈｔ１の大小比較を行い、処理９．８において、大きな値がＲｉｇｈｔ０に代入される。
【００３４】
上記ｌｅｆｔ０，ｒｉｇｈｔ０の値に基づいて、処理９．９では、ラスターブロックのヌル（ＮＵＬＬ）ラスターブロック分割数の１ブロックの幅ＮＵＬＬＢｌｏｃｋ＿ｗｉｄｔｈを決定する。すなわち、ＮＵＬＬＢｌｏｃｋ＿ｗｉｄｔｈ＝（ｒｉｇｈｔ０−ｌｅｆｔ０＋１）／Ｎとなる。ここで、Ｎは、１ラスターブロックの分割数である。
【００３５】
処理９．１０では、ワークバッファにリリースするかどうか判定し、リリースするのであれば、処理９．１１でＬｅｆｔ０およびＲｉｇｈｔ０が初期化される。
【００３６】
処理９．１２で、ラスターブロック印字データであれば、処理９．１３に進み、そうでなければ、９．２０のその他のコマンド処理に進む。
【００３７】
処理９．１３では、図２に示すＤＭＡ手段を用いて、受信バッファのラスターブロックの印字データをワークバッファに転送する。
【００３８】
処理９．１４では、Ｌｅｆｔ０，Ｒｉｇｈｔ０，ＮＵＬＬＢｌｏｃｋ＿Ｗｉｄｔｈをもとに図６に示すように各ラスターのＮＵＬＬラスターブロックにデータが有るか無いかの判定（有無の判定）を行い、さらに、各ラスターブロック単位でデータの有無の判定を行う。
【００３９】
たとえば、８つのラスターについて、それぞれ、１６個に分割したＮＵＬＬラスターブロックがあるとする。図６は各ラスターのデータの有無を判定した結果イメージ図である。
【００４０】
図６でハッチングがなされたブロックには、データが“１”が少なくとも１個あり、ハッチングされてないブロックはデータ“１”がない、すなわちＮＵＬＬのブロックである。
【００４１】
例えば、図６において、ラスター０（Ｒａｓｔｅｒ０）では、４と１０のブロックにハッチングがなされているので、ブロック４と１０にはデータがあり、他のブロックはＮＵＬＬのブロックであることを示す。図６に示した０から１５の各ＮＵＬＬラスターブロックは、図７で表される１６ビットのレジスタデータの各ビットに対応している。
【００４２】
これを図７では、Ｒａｓｔｅｒ０の値は“ＦＢＥＦ”の１６進数で表すことができる。ここで、ＮＵＬＬのブロックには“１”、データがあるブロックは“０”となる。ここで、ブロック４はビット４、ブロック１０はビット１０に相当する。
【００４３】
また、ラスターブロック３（Ｒａｓｔｅｒ３）では、すべてのブロックがＮＵＬＬのブロックであるので、Ｒａｓｔｅｒ３の値は“ＦＦＦＦ”の１６進数で表される。
【００４４】
そして、Ｒａｓｔｅｒ０〜Ｒａｓｔｅｒ７の各ビットについてＡＮＤ処理を行ったのが、結果“Ｃ８０７”である。
【００４５】
この結果が、レジスターに格納される。各ビットに“１”がセットされているところがヌル（ＮＵＬＬ）のブロックであることを示している。
【００４６】
処理９．１３では、Ｌｅｆｔ２には、ＤＭＡ手段で受信バッファから転送され、ワークバッファに格納された後の、ヌルラスターブロック検知によって得られた最左端のヌルブロックから求めた左端印字開始位置の値が格納される。
【００４７】
また、Ｒｉｇｔｈ２には、ＤＭＡ手段で受信バッファから転送され、ワークバッファに格納された後の、ヌルラスターブロック検知によって得られた最右端のヌルブロックから求めた右端印字開始位置の値が格納される。
【００４８】
図６および図７における説明では、左端印字開始位置は、ＮＵＬＬラスターブロック３ブロック目と４ブロック目の境界が左端印字開始位置になり、右端印字終了位置は、ＮＵＬＬラスターブロック１４ブロック目と１５ブロック目の境界が右端印字終了位置になる。
【００４９】
処理９．１５，９．１６では、Ｌｅｆｔ０とＬｅｆｔ２の大小比較が行われ、小さい方の値がＬｅｆｔ０に代入される。
【００５０】
処理９．１７，９．１８では、Ｒｉｇｈｔ０とＲｉｇｈｔ２の大小比較が行われ、大きい方の値がＲｉｇｈｔ０に代入される。
【００５１】
処理９．１９では、上述した処理でえられた記録範囲の記録動作を行う。例えば１回の走査記録で、例えば３ラスターブロック（２４ラスター）分の画像記録を行い、搬送動作を行う。
【００５２】
この処理をワークバッファのデータが無くなるまで繰り返し行われる。左端印字開始位置情報Ｌｅｆｔ０、および右端印字終端位置情報Ｒｉｇｈｔ０が、印字可能なラスターブロック分で、Ｌｅｆｔ０の最小値、Ｒｉｇｈｔ０の最大値を求められたことになり、キャリッジの最短移動量（最短の走査量）を確定することができた。
【００５３】
図１０は、本実施例で説明した記録装置（プリンター）の斜視図である。１００５は記録ヘッドであり、キャリッジ１００４上に搭載されてシャフト１００３に沿って、左右に走査する。記録ヘッドより吐出されたインクは、記録ヘッドと微小な間隔をおいて、プラテン１００１に記録面を規制された被記録材１００２に到達し、その上に画像を形成する。
【００５４】
記録ヘッドには、フレキシブルケーブル１０１９を介して画像データに応じて吐出信号が供給される。なお、１０１４はキャリッジ１００４をシャフト１００３に沿って走査させるためのキャリッジモーターである。１０１３はモーター１０１４の駆動力をキャリッジ１００４に伝達するワイヤである。また、１０１８はプラテンローラー１００１に結合して被記録材１００２を搬送させるための搬送モーターである。
【００５５】
以上のように、本発明の実施態様の例を以下に列挙する。
【００５６】
［実施態様１］
ホストコンピューターとプリンターとがインターフェースを介して通信と記録を行うプリンタシステムであって、前記ホストコンピューターは、コマンドと複数ラスターで構成される記録データを生成する生成手段と、前記記録データを生成する際に、ラスターブロック単位の左端位置と右端位置を算出する算出手段と、前記左端及び右端位置の情報を生成する位置情報生成手段と、前記左端及び右端位置の情報を出力する出力手段を備え、前記プリンターは、前記ホストコンピューターから送られる前記記録データ、前記左端及び右端位置の情報を受信する受信手段と、前記記録データを一時的に格納する格納手段と、前記左端及び右端位置の情報から記録ヘッドの走査で記録するデータの長さを算出するデータ長算出手段と、前記算出手段で算出した複数のデータ長から走査幅を算出する走査幅算出手段と、前記走査幅算出手段が算出した前記走査幅に基づいて記録ヘッドを制御する制御手段とを備えていることを特徴とするプリンタシステム。
【００５７】
［実施態様２］
前記データ長算出手段は、１走査分のラスターデータについて前記前記左端及び右端位置の情報から算出することを特徴とする実施態様１に記載のプリンタシステム。
【００５８】
【発明の効果】
以上の本発明によれば、ラスターブロック単位で、最大印字幅を求めて、ヌル検知ブロックの幅が決めるので、記録データに応じて変えることができ、記録ヘッドの走査の移動単位を小さくすることができ、記録動作のスループットを向上させることができる。
【図面の簡単な説明】
【図１】記録装置のブロック図
【図２】ラスターブロックの説明図
【図３】ラスターブロックにおける複数のブロックの説明図
【図４】記録ヘッドの１走査の最大記録幅とラスターブロックの説明図
【図５】ラスターブロックおよびヌルラスターブロックの説明図
【図６】ヌルラスターブロックにおけるデータの有無の説明図
【図７】ラスターブロックの判定データの説明図
【図８】
ホスト装置における左右端情報の処理のフロー
【図９】
記録装置における左右端情報処理の処理のフロー
【図１０】
記録装置の斜視図
【図１１】
プリンタシステムの説明図
【図１】
2004192022.tif 000003
【図２】
2004192022.tif 000004
【図３】
2004192022.tif 000005
【図４】
2004192022.tif 000006
【図５】
2004192022.tif 000007
【図６】
2004192022.tif 000008
【図７】
2004192022.tif 000009
【図８】
2004192022.tif 000010
【図９】
2004192022.tif 000011
【図１０】
2004192022.tif 000012
【図１１】
2004192022.tif 000013