(57)【要約】【課題】シリアル型でドット画像を印刷するプリンタと、これに印刷させるホスト装置からなる印刷システムで、印刷の解像度の高さの割にプリンタのプリントバッファの容量を少なくでき、印刷速度の低下も抑えられるようにする。【解決手段】ホストＰＣ２１３は、印刷データとして、１ページ分のデータ内に、プリンタ２０側で記録ヘッド１０により印刷するために処理する必要があるラスターデータと、記録ヘッドによりそのまま印刷できるダイレクトデータとがプリンタでの印刷順に従って交互に混在するデータを作成し、前記印刷順に従ってラスターデータとダイレクトデータを交互にプリンタに送信する。プリンタは、順次、交互に送信されたラスターデータとダイレクトデータを受信して、ラスターデータは処理して記録ヘッドにより印刷し、ダイレクトデータはそのまま記録ヘッドにより印刷する。【選択図】図２
2007257222.tif 000002
【特許請求の範囲】
【請求項１】
記録ヘッドを主走査方向に移動させてドットの集合からなる画像を印刷するプリンタと、印刷データを作成し前記プリンタに送信して印刷させるホスト装置からなる印刷システムの印刷方法であって、
前記ホスト装置は、印刷データとして、１ページ分のデータ内に、前記プリンタ側で記録ヘッドにより印刷するために処理する必要があるラスターデータと、プリンタ側で記録ヘッドによりそのまま印刷できるダイレクトデータとがプリンタでの印刷順に従って交互に混在するデータを作成し、前記印刷順に従ってラスターデータとダイレクトデータを交互にプリンタに送信し、
前記プリンタは、順次、前記ホスト装置から交互に送信されたラスターデータとダイレクトデータを受信して、ラスターデータは処理して記録ヘッドにより印刷し、ダイレクトデータはそのまま記録ヘッドにより印刷することを特徴とする印刷システムの印刷方法。
【請求項２】
記録ヘッドを主走査方向に移動させてドットの集合からなる画像を印刷するプリンタに印刷データを送信して印刷させるホスト装置に搭載されるプリンタドライバであって、
印刷データとして、１ページ分のデータ内に、前記プリンタ側で記録ヘッドにより印刷するために処理する必要があるラスターデータと、プリンタ側で記録ヘッドによりそのまま印刷できるダイレクトデータとがプリンタでの印刷順に従って交互に混在するデータを作成し、前記印刷順に従ってラスターデータとダイレクトデータを交互にプリンタに送信することを特徴とするプリンタドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録ヘッドを主走査方向に移動させてドットの集合からなる画像を印刷するプリンタと、印刷データを作成し前記プリンタに送信して印刷させるホスト装置からなる印刷システムの印刷方法に関する。更に、前記ホスト装置に搭載されるプリンタドライバに関するものである。
【背景技術】
【０００２】
近年、記録ヘッドを主走査方向に移動させながら記録ヘッドの複数のノズルからインクを吐出させてドットの集合からなる画像を印刷するシリアル型のインクジェットプリンタにおいて、高画質化のため高解像度化が進んでいる。そのため、ホスト装置から送られる印刷データを格納しておくために必要なメモリ、いわゆるプリントバッファの容量も増加する傾向にある。また通常、インクジェットプリンタにおいては、記録ヘッドの各ノズルのインク吐出量やインク吐出方向のバラツキによる濃度ムラを低減して高画質化するために、マルチパス印刷を行っている。これは、同一の記録領域を複数回走査し、各走査で間引きパターンにしたがって間引きした画像を形成して同一の記録領域の画像を完成させるものである。しかし、高解像度でのマルチパス印刷では、プリントバッファの容量が増加すると共に、印刷速度が低下するという問題があった。以下、マルチパス印刷についてプリントバッファの容量に関連して説明する。
【０００３】
図１０は、２回の走査で同一の記録領域の画像を完成させる２パスマルチパス印刷の効果を説明するものである。最上段の左側は記録ヘッド１０１のノズルからインク滴Ｉが吐出される様子を表しており、マルチパス印刷の効果を説明するため、吐出方向にばらつきがある場合を示している。
【０００４】
１０２は記録ヘッド１０１を使用して、縦横４×４ドットのデータを１パス印刷した結果を表している。Ｄは記録されたドットである。印刷のときには記録ヘッド１０１を横方向に移動させながら、タイミングを合わせて各ノズルからインク滴Ｉを吐出させることにより印刷を行う。印刷結果１０２では、マルチパス印刷を行っていないため、吐出方向のばらつきがそのまま結果として表れているのが分かる。
【０００５】
１０３、１０４、１０５は縦横４×４ドットのデータを２パスマルチパス印刷するときの記録媒体の用紙に対する記録ヘッドの副走査方向への相対的な位置（以下、単にヘッド位置ともいう）を表している。実際には記録ヘッドは副走査方向には移動せず、用紙が移動することは勿論である。１０６は印刷結果である。１０７、１０８は２パスマルチパス印刷で使用される４×４ドットの間引きパターンである。
【０００６】
２パスマルチパス印刷では、まず記録ヘッドがヘッド位置１０３で印刷結果１０６の上側縦横２×４ドット部分を含む縦横４×４ドットの印刷データと間引きパターン１０７とのＡＮＤをとったデータを印刷する。その後、２ノズル分のピッチの紙送りが行われ、記録ヘッドが相対的にヘッド位置１０４に移動する。そして、縦横４×４ドットの印刷データと間引きパターン１０８とのＡＮＤをとったデータを印刷する。その後、２ノズル分の紙送りで記録ヘッドが相対的にヘッド位置１０５に移動する。そして印刷結果１０６の下側縦横２×４ドット部分を含む縦横４×４ドットの印刷データと間引きパターン１０７とのＡＮＤをとったデータを印刷する。
【０００７】
印刷結果１０６の縦横４×４ドットの上側２×４ドット部分の印刷データの印刷は、２つのヘッド位置１０３及び１０４での印刷で完成される。また、下側２×４ドット部分の印刷データの印刷も２つのヘッド位置１０４及び１０５での印刷で完成される。このように、各部分の印刷が２回のパスで完成される印刷方法が２パスマルチパス印刷と呼ばれている。
【０００８】
このような２パスマルチパス印刷で得られる印刷結果１０６を見ると、１パス印刷の印刷結果１０２と比較して、インク滴吐出方向のばらつきが分散されることで、濃度ムラが低減されているのが分かる。
【０００９】
しかしながら、図１０のマルチパス印刷では、規則的な間引きパターン１０７、１０８を繰り返し使用するため、画像によっては濃度ムラが低減されなかったり、モアレが発生したりして、十分な画質が得られないということがあった。
【００１０】
そのため、例えば特許文献１に記載されているように、間引きパターンをランダム（不規則）にし、間引きパターンの並びもランダムにすることにより、高品位な画像形成を実現できるようにした方法が採用されている。
【００１１】
図１１にランダム間引きパターンと、そのランダム間引きパターンを使用した４パスマルチパス印刷の例を示す。１１１は縦横４×４の４パスマルチパス印刷用のランダム間引きパターンである。各パターン１１１において、符号Ａ１,Ａ２,Ａ３,Ａ４が記入されている所はドットを打つ所、記入されていない所は打たない所を表している。各パターン１１１を見るとランダムになっていることがわかる。
【００１２】
１１２は、全ての間引きパターン１１１をオア（ＯＲ）した結果を表しており、４つのパターン１１１を合わせることにより、全てのドットが埋め尽くされることがわかる。
【００１３】
１１３は記録ヘッドであり、これに付された符号のＡ１,Ａ２,Ａ３,Ａ４は４パスマルチパス印刷を行う場合のヘッド位置を表している。それぞれ、記録ヘッドがＡ１の位置ではＡ１の間引きパターン、Ａ２の位置ではＡ２のパターン、Ａ３の位置ではＡ３のパターン、Ａ４の位置ではＡ４のパターンを使用して印刷する。これにより、１１４のような縦横４×４ドットの印刷結果が得られることになる。
【００１４】
図１１では説明を簡単にするため縦横４×４のデータを印刷する例としたが、実際には、縦が記録ヘッドのノズル数で例えば６４ドット、横が用紙幅とドット密度に対応した例えば９６００ドットのデータについて同様の間引き処理が行われる。
【００１５】
図１２は、印刷を行う場合に必要となるメモリ、すなわちプリントバッファの容量を説明するものである。記録ヘッド１２１は、インク滴を吐出するノズルが縦方向（副走査方向）に沿って６４個配列されたものとする。１２２は記録ヘッド１２１の上端部の８ノズルを拡大した図で、●はデータが有ってインク滴を吐出するノズル、○はデータが無くてインク滴を吐出しないノズルを表している。
【００１６】
１２３は印刷データを保存するプリントバッファである。１ノズルによる１ドットの印刷の有無を示す印刷データは、１ビットで表すことが可能である。すなわち、１ビットの値が１の場合ドットを印刷する、０の場合ドットを印刷しないと表すことができる。そのため、１２２の８ノズルのインク吐出状態に対応したデータは１２４のように表すことができる。
【００１７】
記録ヘッド１２１は縦方向に６４ノズルを持っているため、プリントバッファ１２３の縦方向の必要量は６４ビットとなる。横方向の必要量は、用紙サイズと印刷の解像度によって異なる。例えば、用紙サイズの横方向が８インチで解像度が１２００dpiとすると、必要量は９６００カラムとなる。これからプリントバッファ１２３の容量の必要量（以下、単にプリントバッファの必要量ともいう）を算出すると、
64bit×9,600カラム＝614,400bit＝76,800バイト
となる。
【００１８】
ところで図１２で説明したプリントバッファは、ホストＰＣとプリンタからなる印刷システムで、ホストＰＣのプリンタドライバが印刷データをラスターデータ形式でプリンタに送信する場合に、印刷のために最低限必要なメモリ容量を算出したものである。ラスターデータ形式の場合、プリンタは受け取ったラスターデータに縦横変換及び間引きパターンによる間引きなどの処理を施して記録ヘッドが実際に印刷する印刷データを作成する必要がある。このため、実際の製品では図１２の容量では不足する。その理由として、図１２では１回の印刷動作についてしか考慮しておらず、次の印刷動作をするために必要となる印刷データの作成を考慮していないため、印刷速度が極端に遅くなってしまうからである。つまり、１回の印刷動作が完了した後に、次の印刷動作に必要となる印刷データを作成することになるため、印刷速度が遅くなる。なお、ラスターデータ形式の印刷データの処理の詳細については後の実施例の項で図６により説明する。
【００１９】
図１３は、実際の製品で使用されるプリントバッファの必要量を算出するための説明図で、図１１で説明した４パスマルチパス印刷のときの例を示している。
【００２０】
１３１、１３２は縦方向６４ノズルの記録ヘッドで１回目と２回目の印刷を行なうヘッド位置である。ヘッド位置１３２はヘッド位置１３１から１６ノズル分紙送りをした位置である。記録ヘッドがヘッド位置１３１にあるときに、プリントバッファ１３３の灰色の塗り潰し部分のデータを印刷してから、次のヘッド位置１３２での印刷をスムーズに行うために、位置１３１での印刷動作と平行して１６ノズル分の印刷データを作成する必要がある。この印刷データはプリントバッファ１１３の斜線部分のデータである。このために、ヘッドのノズル数＋１６ノズル分に対応したプリントバッファ１３３の容量が必要となる。この図１３の例でプリントバッファの必要量を算出すると、
（64＋16）bit×9,600カラム＝768,000bit＝96,000バイト
となる。
【００２１】
図１４は４パスマルチパス印刷におけるプリントバッファの管理方法を説明するものである。縦方向６４ノズルの記録ヘッドによりヘッド位置１４１で印刷を行なった後、ヘッド位置１４２で印刷を行なう様子を表している。１４３は記録ヘッドがヘッド位置１４１にあるときのプリントバッファを示し、１４４はヘッド位置１４２にあるときのプリントバッファを示している。
【００２２】
プリントバッファ１４３の灰色の塗り潰し部分１４５、１４６は、ヘッド位置１４１で印刷される印刷データの範囲を示している。斜線部分１４７は、印刷データの作成される範囲を示し、その作成はヘッド位置１４１での印刷動作と並行して行われる。
【００２３】
ヘッド位置１４１での印刷が終了した後、１４６、１４７の範囲の印刷データは、次の印刷で必要となるため、そのまま保持される。しかし、１４５の範囲の印刷データは印刷が完了しているため必要なくなる。そのため、１４５の範囲のプリントバッファは空きの状態となる。この空きとなった１４５の範囲のプリントバッファは、記録ヘッドがヘッド位置１４２にあるときに、次の印刷データの作成用のプリントバッファ１４８として使用される。このような処理を繰り返し行うことにより、１ページ分の印刷を完成させる。
【００２４】
図１１では、横方向の解像度が１２００dpiの例を説明したが、更に横方向の解像度を上げた場合の例を図１５により説明する。図１５は、横方向の解像度を２４００dpiにした８パスマルチパス印刷の説明図である。
【００２５】
１５１は縦横２×２のランダム間引きパターンの例であり、ＡとＢで４個ずつある。１５２はＡとＢの４個ずつのランダム間引きパターンをオアした結果を表しており、すべてのドットが埋め尽くされているのが分かる。記録ヘッド１５３に付された符号Ａ１〜Ａ４及びＢ１〜Ｂ４は、８パスマルチパス印刷を行う場合の記録ヘッドの位置を表している。それぞれ、記録ヘッド１５３がヘッド位置Ａ１ではＡ１の間引きパターン、位置Ｂ１ではＢ１の間引きパターン、位置Ａ２ではＡ２の間引きパターン、位置Ｂ２ではＢ２の間引きパターンを使用する。さらに、位置Ａ３ではＡ３の間引きパターン、位置Ｂ３ではＢ３の間引きパターン、位置Ａ４ではＡ４の間引きパターン、位置Ｂ４ではＢ４の間引きパターンを使用する。これにより１５４のような縦横２×４ドットの印刷結果が得られることになる。
【００２６】
図１５では説明を簡単にするため、縦横２×４のデータを印刷する例としたが、実際には縦が記録ヘッドのノズル数で例えば６４、横が用紙幅と解像度に対応する例えば１９２００ドットの印刷データについて同様の間引き処理が行われる。
【００２７】
図１５を見ると、最終的な印刷結果１５４の解像度は横２４００dpiであるが、１回の印刷（走査）毎だけに着目すると、横方向に１２００dpiでしか印刷していないのが分かる。例えば、記録ヘッド１５３が位置Ａ１，Ａ２，Ａ３，Ａ４にある場合、印刷結果１５４の縦横２×４ドットの中で横方向の奇数ドット位置にしか印刷しないようになっている。また、ヘッド位置Ｂ１，Ｂ２，Ｂ３，Ｂ４にある場合、横方向の偶数ドット位置にしか印刷しないようになっている。これは以下のような理由による。
【００２８】
記録ヘッドの各ノズル毎に対してインクを連続して吐出させることができる周波数には上限がある。そのため、１回の印刷で横方向に全てのドットを印刷しようとした場合、横方向の解像度を２倍にするためには、記録ヘッドの横方向への移動速度を１／２にする必要がある。しかし、移動速度を１／２にした場合、記録ヘッドを移動させるキャリッジモーターなどのメカ的な問題により振動等の問題が発生するため印刷品位が低下することになる。
【００２９】
このような理由があるため、横方向の解像度を上げる場合には、図１５のように横方向の奇数ドットと偶数ドットの印刷動作を分けて印刷することが一般的である。すなわち、１回毎の印刷では１２００dpi間隔で印刷を行うが、２回に１回は２４００dpi分位置を横にずらして印刷することにより２４００dpi印刷を可能としている。
【００３０】
図１６は図１５で説明した横方向２４００dpiの８パスマルチパス印刷のときのプリントバッファを表している。
【００３１】
１６１、１６２はそれぞれ図１５のヘッド位置Ａ１、Ａ２に対応するヘッド位置である。１６３はＡ１，Ａ２，Ａ３，Ａ４用のプリントバッファであり、図１５で説明した横方向の奇数ドット位置用である。１６４、１６５はそれぞれヘッド位置Ｂ１、Ｂ２に対応するヘッド位置である。１６６はＢ１，Ｂ２，Ｂ３，Ｂ４用のプリントバッファであり、横方向の偶数ドット位置用である。
【００３２】
図１６を見ると分かるように、奇数ドット位置用のプリントバッファ１６３と偶数ドット位置用のプリントバッファ１６６は別々として扱っている。図１６の例でプリントバッファの必要量を算出すると、
（64＋16）bit×9,600カラム×2個＝1,536,000bit 
＝ 192,000バイト
となる。
【００３３】
図３は更に横方向の解像度を上げた横４８００dpiの１６パスマルチパス印刷の例を示している。図３の例では、１回毎の印刷は１２００dpi間隔で行い、各印刷を４８００dpi分ずつ位置をずらしながら行なうことにより、４８００dpiの印刷を可能としている。
【００３４】
図１７は図３の横方向４８００dpiの１６パスマルチパス印刷のときのプリントバッファを表している。これを見るとわかるように基準位置用、基準位置＋１／４８００dpi用、基準位置＋２／４８００dpi用、基準位置＋３／４８００dpi用で４個の別々のプリントバッファ１７３、１７６、１７９、１７１２を持っている。１７１、１７２、１７４、１７５、１７７、１７８、１７１０、１７１１はヘッド位置である。
【００３５】
図１７の例でプリントバッファの必要量を算出すると、
（64＋16）bit×9,600カラム×4個＝3,072,000bit
＝384,000バイト
となる。
【００３６】
図１３、図１６、図１７の各例のプリントバッファの必要量の算出結果を比較すると、記録ヘッドの縦ノズル数を６４、用紙幅を８インチと仮定した場合、横方向の解像度によって以下のようになる。
【００３７】
解像度１２００dpiのとき96,000バイト
解像度２４００dpiのとき192,000バイト
解像度４８００dpiのとき384,000バイト
このように、解像度を２倍にするとプリントバッファの必要量も２倍となり、解像度を４倍にするとプリントバッファの必要量も４倍になることがわかる。
【００３８】
一方、プリントバッファの必要量を減らす方法として、プリンタをいわゆるホストベースプリンタとして、ダイレクトデータ形式を採る方法が一般的に知られている。この方法は、ホストＰＣからプリンタに対して、印刷データを記録ヘッドの１回の走査毎に印刷する画像に対応する画像データ、いわゆるダイレクトデータの形式で送信する方法である。ラスターデータ形式では、プリンタは受け取ったラスターデータに縦横変換や間引きなどの処理を施して実際に記録ヘッドが印刷する印刷データを作成する必要がある。これに対してダイレクトデータ形式では、そのような必要はなく、受け取ったデータを記録ヘッドによりそのまま印刷できる。すなわち、ダイレクトデータは記録ヘッドが実際に印刷するデータと一致している。なお、ダイレクト形式の印刷データの処理の詳細については、後の実施例の項で図７により説明する。
【００３９】
図１８は、ダイレクトデータ形式の場合に図３の４８００dpiの１６パスマルチパス印刷を実現するために必要なプリントバッファの必要量を説明するものである。
【００４０】
１８１、１８３は記録ヘッドであり、縦方向に６４個のノズルを持っているものとする。１８２、１８４はプリントバッファであり、縦６４ビット、横は９６００カラム分の容量を持つ。ここでは２個のプリントバッファを用意している。これは、片方で印刷中に、もう一方でデータ受信と展開処理を並行して行うためである。そのため、２個のプリントバッファ１８２、１８４を交互に印刷に使用することになる。
【００４１】
図１８でプリントバッファの必要量を算出すると、
64bit×9,600カラム×2個＝1,228,800bit＝153,600バイト
となる。
【００４２】
このようにプリントバッファの必要量から見るとホストベースプリンタとした方が有利である。しかしながら、実際の製品では一部の低価格機を除いてほとんどの場合、線順次のラスターデータをホストＰＣから受信する方法を採っている。その理由は、ホストベースプリンタの場合、印刷時にホストＰＣから１回の走査毎に記録ヘッドに対応した印刷データをプリンタに送信するので、送信されるデータ量が非常に多くなってしまうためである。
【００４３】
例えば、図３の４８００dpiの１６パスマルチパス印刷において、データ圧縮なし、用紙は横８インチで縦１０インチ、縦の解像度は１２００dpi、記録ヘッドのノズル数は６４とする。この場合に印刷データをラスターデータ形式でホストＰＣからプリンタに送信するものとすると、データ量は、次のようになる。
【００４４】
8inch×4800dpi×10inch×1200dpi＝460,800,000bit
＝57,600,000バイト
一方、ダイレクトデータ形式で送信するものとすると、データ量は、次のようになる。
【００４５】
64ノズル×8inch×4800dpi×10inch×1200dpi／8ノズル 
＝3,686,400,000bit
＝460,800,000バイト
すなわち、ラスターデータ形式の約８倍となる。
【００４６】
図１９は図３の４８００dpiの１６パスマルチパス印刷を行ったときの、ダイレクトデータ形式でのデータ受信、データ展開処理と印刷処理の時間的な経過を説明するものである。図１９の上側から下側に時間が経過していく様子を表している。図１９の左側がデータ受信、データ展開処理を表しており、右側が印刷処理（メカ動作）で、印刷するためにキャリッジを移動したり、紙送りしたりする処理を表している。データ受信、展開処理と印刷処理は並行して行われるため図のような表現になっている。図１９を見るとデータ受信が間に合わず、印刷処理に待ち時間が発生しているため、印刷速度が低下しているのがわかる。
【００４７】
ここまでは、説明を簡単にするため、色についての説明は行っていなかったが、実際の製品では、カラープリンタの場合は複数の色を扱うため、その分データ量も更に増加することになる。低価格のカラープリンタではイエロー、マゼンタ、シアンの３色で印刷するものが多いが、高級機になるにつれ６色や８色と色数も増える傾向にある。色数が増えるとその分プリントバッファとして必要なメモリ容量も増加することになる。
【特許文献１】特開平７−５２３８９号公報
【発明の開示】
【発明が解決しようとする課題】
【００４８】
上述したように、従来の印刷システムで、ホストＰＣから印刷データをプリンタに対してラスターデータ形式で送信する構成では、解像度を上げるのと比例してプリンタのプリントバッファとして必要なメモリ容量が増加してしまい、コストアップにつながってしまう。また、ダイレクトデータ形式で送信する構成では、プリントバッファのメモリ容量は少なくてすむが、ホストＰＣからプリンタに送信されるデータ量が非常に増えてしまう。そして、データ受信処理や印刷データの展開処理も増加することになり、印刷速度が低下するという問題があった。特にマルチパス印刷では、同一の領域の印刷を複数回の走査で完成させるため、原理的に印刷速度が遅くなるので、できるだけ印刷速度の低下を抑える必要がある。
【００４９】
このような問題は、プリンタがインクジェット方式である場合に限らず、原理的には、シリアル型でドットの集合からなる画像を印刷するものならば、サーマル方式やワイヤドット方式など他のプリンタである場合にも共通する問題である。
【００５０】
本発明は、このような問題を解決するためになされたものである。本発明の課題は、上記のシリアル型のプリンタとホスト装置からなる印刷システムにおいて、印刷の解像度の高さの割に、プリンタのプリントバッファの容量を少なくできると共に、印刷速度の低下を最小限に抑えられるようにすることにある。
【課題を解決するための手段】
【００５１】
上記の課題を解決するため、本発明は、
記録ヘッドを主走査方向に移動させてドットの集合からなる画像を印刷するプリンタと、印刷データを作成し前記プリンタに送信して印刷させるホスト装置からなる印刷システムの印刷方法であって、
前記ホスト装置は、印刷データとして、１ページ分のデータ内に、前記プリンタ側で記録ヘッドにより印刷するために処理する必要があるラスターデータと、プリンタ側で記録ヘッドによりそのまま印刷できるダイレクトデータとがプリンタでの印刷順に従って交互に混在するデータを作成し、前記印刷順に従ってラスターデータとダイレクトデータを交互にプリンタに送信し、
前記プリンタは、順次、前記ホスト装置から交互に送信されたラスターデータとダイレクトデータを受信して、ラスターデータは処理して記録ヘッドにより印刷し、ダイレクトデータはそのまま記録ヘッドにより印刷することを特徴とする。
【００５２】
また、本発明は、
記録ヘッドを主走査方向に移動させてドットの集合からなる画像を印刷するプリンタに印刷データを送信して印刷させるホスト装置に搭載されるプリンタドライバであって、
印刷データとして、１ページ分のデータ内に、前記プリンタ側で記録ヘッドにより印刷するために処理する必要があるラスターデータと、プリンタ側で記録ヘッドによりそのまま印刷できるダイレクトデータとがある。これらがプリンタでの印刷順に従って交互に混在するデータを作成し、前記印刷順に従ってラスターデータとダイレクトデータを交互にプリンタに送信することを特徴とする。
【発明の効果】
【００５３】
本発明によれば、従来の印刷方法で、ホスト装置（のプリンタドライバ）が作成してプリンタに送信する印刷データを全部ラスターデータとする方法に比べて、プリントバッファに必要なメモリ容量を大幅に削減することができる。そして、印刷の解像度の高さの割に容量を小さくすることができる。また、従来の印刷方法で、プリンタに送信する印刷データを全部ダイレクトデータとする方法に比べて、ホスト装置から送信する印刷データの量を大幅に少なくして、印刷処理における待ち時間をなくすことができる。そして高解像度の印刷での印刷速度の低下を最小限に抑えることができる。従って、高解像度の印刷に対応することができるという優れた効果が得られる。
【発明を実施するための最良の形態】
【００５４】
以下、本発明を実施するための最良の形態の実施例を図１〜図９により説明する。実施例の印刷システムは、シリアル型のインクジェットプリンタと、これに印刷データを送信して印刷を行なわせるホストＰＣから構成される。なお、本発明は、プリンタがインクジェット方式である場合に限定されず、他の方式である場合にも適用できることは勿論である。
【実施例】
【００５５】
図１は、実施例の印刷システムを構成するインクジェットプリンタの要部の機械的構成を示している。図１において１１はキャリッジであり、インクタンク部のみ図示されている記録ヘッド１０を搭載している。記録ヘッド１０は、実際には、例えば４つのインクタンクに４色のインクを収容し、それぞれ副走査方向に沿って配列された４列のノズル列（不図示）の各ノズルから４色のインク滴を吐出してカラー記録を行なえるものとする。ただし、以下では印刷データの処理や転送などに関する説明を簡単にするため、１列のノズル列のみで単色記録を行なう場合に限って説明する。なお、記録ヘッド１０は、フレキシブルケーブル１２を介して、プリンタ本体の背面に取り付けられた不図示の制御基板上に設けられたヘッド用ドライバ２９（図２参照）に接続されている。
【００５６】
キャリッジ１１は、ガイド軸１７上に摺動可能に設けられている。またキャリッジ１１は、モータプーリ１３と従動プーリ１６に巻回して張架された駆動ベルト１４の所定部位に固定されている。
【００５７】
記録時には、ＣＲ（キャリッジ）モータ２１０（図２参照）の駆動によって、モータプーリ１３が回転して駆動ベルト１４が走行し、キャリッジ１１がガイド軸１７に沿って往復移動する。その往復移動の一方向又は両方向（主走査方向）への移動中に、ヘッド用ドライバ２９からフレキシブルケーブル１２を介して印刷データに対応した駆動信号が記録ヘッド１０に印加される。これにより記録ヘッド１０のノズル列の各ノズルが印刷データに対応して駆動されてインク滴を吐出し、不図示の印刷用紙上にノズル列の長さに対応した幅のバンド状の印刷（ドット記録）がなされる。
【００５８】
この記録ヘッド１０の１回の走査、又は所定の複数回の走査が終了する毎に、紙送り用のＬＦ（ラインフィード）モータ２１１（図２参照）の駆動によって紙送りローラ１５が所定量だけ回転し、用紙が副走査方向に沿って所定量送られる。その送り量は、マルチパス印刷の場合、ノズル列の長さの整数分の１とされる。このような記録ヘッド１０の走査と紙送りを繰り返すことにより、順次１ページの印刷がなされていく。なお、複数回の走査が終了する毎に紙送りを行なうのは、マルチパス印刷で横方向（主走査方向）の解像度を上げるために縦方向（副走査方向）に同じヘッド位置で横方向にドット記録位置をずらせて複数回の走査を行なう場合である。
【００５９】
図２はインクジェットプリンタの制御系の構成を示している。図２において、ホストＰＣ２１３は、インクジェットプリンタ２０に印刷データを送信して印刷を行なわせるホスト装置である。ホストＰＣ２１３には、プリンタ２０が印刷可能な形式の印刷データを作成してプリンタ２０に送信するプリンタドライバが搭載されている。そのプリンタドライバは、１つの印刷ジョブの印刷データとして、各ページ毎に、ラスターデータとダイレクトデータが交互に混在するデータを作成してプリンタ２０に送信するものとする。
【００６０】
プリンタ２０の構成において、インターフェース２１は、ホストＰＣ２１３との間でデータ送受信を行い、ホストＰＣ２１３から送信された印刷データを受信する。
【００６１】
ＭＰＵ２２は、ＲＯＭ２４に格納された制御プログラムを実行し、バス２６を介してＭＰＵ２２に接続されたプリンタ２０の各部を制御し、印刷動作を行なわせる。ＲＯＭ２４に格納された制御プログラムには、後述する本発明に係る印刷データの処理を行なうための制御プログラムが含まれる。
【００６２】
ゲートアレイ（Ｇ．Ａ．）２３は、ＭＰＵ２２からの命令に従って、インターフェース２１が受信した印刷データの内のラスターデータの縦横変換処理を行なう。また、印刷時に、縦横変換したラスターデータを１カラム分ずつヘッド用ドライバ２９に出力するときに間引きパターンによる間引き処理を行なう。
【００６３】
ＲＡＭ２５は、ＭＰＵ２２が各種の処理を行なうために必要な各種のデータを一時的に記憶しておくために用いられる。ＲＡＭ２５のメモリ領域の一部は、後述するプリントバッファ及びラスターバッファとして用いられる。
【００６４】
ＣＲモータドライバ２７は、印刷時にＭＰＵ２２からの命令に従ってＣＲモータ２１０を駆動し、キャリッジ１１を移動させる。すなわち記録ヘッド１０を主走査方向に往復移動させる。
【００６５】
ＬＦモータドライバ２８は、印刷時にＭＰＵ２２からの命令に従ってＬＦモータ２１１を駆動し、印刷用紙の紙送り動作を行なわせる。
【００６６】
ヘッド用ドライバ２９は、印刷時にＭＰＵ２２からの命令に従って、順次１カラム分ずつの印刷データをＲＡＭ２５のプリントバッファないしはゲートアレイ２３から読み取る。そしてその印刷データに対応した駆動信号を記録ヘッド１０に出力して記録ヘッド１０を駆動し、順次１列ずつのドット記録を行なわせる。
【００６７】
次に、本発明に係る印刷動作の詳細について、図３〜図９により説明する。まず、本実施例のプリンタは、ここでは図３に示すランダム間引きパターンを使用した横４８００dpiの１６パスマルチパス印刷を行なえるものとする。この１６パスマルチパス印刷について以下に説明する。なお、記録ヘッド１０のノズル列のノズル数は６４ノズルとする。
【００６８】
図３の記録ヘッド１０に付された符号Ａ１，Ｂ１，Ｃ１，Ｄ１…は、記録ヘッド１０の印刷用紙に対する相対的な位置を表しており、順次、紙送りによって、Ａ１，Ｂ１，Ｃ１，Ｄ１…という順番にヘッド位置が縦方向に相対的に移動していく様子を表している。なお、図示の便宜上、各ヘッド位置Ａ１，Ｂ１，Ｃ１，Ｄ１…は順次横（右）方向にずらせて図示してあるが、あくまでも縦方向、すなわち副走査方向の位置を示すものであり、横方向にずれているわけではない。すなわち、各ヘッド位置Ａ１，Ｂ１，Ｃ１，Ｄ１…における横方向、すなわち主走査方向への走査の開始位置と終了位置は同じである。ただし、ヘッド位置Ａ，Ｂ，Ｃ，Ｄでの各走査時で所定時間間隔で駆動される記録ヘッド１０のノズルの駆動タイミングはずらされる。
【００６９】
３１は、使用する２×２のランダム間引きパターンの例を示している。ここではＡ，Ｂ，Ｃ，Ｄのそれぞれについて４種類ずつ、合計１６種類のパターン３１が使用される。各パターン３１内の符号Ａ１，Ｂ１…は、ヘッド位置Ａ１，Ｂ１…と対応しており、ヘッド位置がＡ１での印刷ではＡ１のパターン３１が使用される。３２は、Ａ，Ｂ，Ｃ，Ｄのそれぞれの４種類ずつのパターン３１のオア結果を示しており、それぞれ２×２ドットが埋め尽くされる。
【００７０】
横４８００dpiの１６パスマルチパス印刷の動作では、まず記録ヘッド１０をヘッド位置Ａ１で横方向、例えば右方向に移動させつつ、所定時間間隔で１カラム分ずつの印刷データに応じてヘッドの６４ノズルを選択的に駆動する。これにより、横方向に１２００dpiの間隔で縦幅６４ドットの印刷を行なう。このとき、順次１カラム分ずつ与えられる印刷データはＡ１の間引きパターンで横方向と縦方向に繰り返し間引かれている。そして、縦横２×２ドットの繰り返しのそれぞれの中で左上の１ドットのみ当該ドットを印刷する「１」のデータがあれば印刷されることになる。
【００７１】
このようにしてヘッド位置Ａ１での走査が終了した後、ヘッド位置Ａ１と同じヘッド位置Ｂ１で同様にして横方向に１２００dpiの間隔で走査を行ない、間引きパターンＢ１で間引いた印刷データを印刷する。ただし、所定時間間隔で駆動する記録ヘッド１０のノズルの駆動タイミングをヘッド位置Ａ１での走査時に対して４８００dpi分に対応した時間だけ遅らせる。これにより、位置Ａ１での走査でなされた横方向１２００dpiのドット記録に対して右側に４８００dpi分ずれた１２００dpiのドット記録がなされる。
【００７２】
次に、記録ヘッド１０のノズル列の長さの１／８、すなわち８ノズル分の長さだけ印刷用紙を送ることにより、記録ヘッド１０を相対的にヘッド位置Ｃ１に移動する。そして、同様にして横方向に１２００dpiの間隔で走査を行ない、間引きパターンＣ１で間引いた印刷データを印刷する。所定時間間隔でのノズルの駆動タイミングはヘッド位置Ｂ１での走査時より４８００dpi分だけ遅らせる。
【００７３】
次に、ヘッド位置Ｃ１と同じヘッド位置Ｄ１で同様にして横方向に１２００dpiの間隔で走査を行ない、間引きパターンＤ１で間引いた印刷データを印刷する。ノズルの駆動タイミングはヘッド位置Ｃ１での走査時より４８００dpi分だけ遅らせる。
【００７４】
以下、８ノズル分の紙送りと、同じヘッド位置での２回の走査とを交互に繰り返して、ヘッド位置Ａ２以下での印刷を行なう。ヘッド位置Ａ２、Ａ３、Ａ４の各走査でのノズルの駆動タイミングはヘッド位置Ａ１での走査時と同じとする。ヘッド位置Ｂどうし、Ｃどうし、Ｄどうしの走査でもそれぞれ同じとする。
【００７５】
以上のようにしてヘッド位置Ａ１からＤ４まででの１６パスにより、符号３３のような印刷結果が得られる。印刷結果３３において○は印刷されたドットを表している。また、○の中の符号Ａ１，Ｂ１…はヘッド位置と対応しており、ヘッド位置Ａ１での印刷で印刷されたドットはＡ１ということを表している。右方向にヘッド位置ＡＢＣＤ順に４８００dpiでドットが印刷され、６００dpiの単位の長さ毎に８ドットずつ印刷される。
【００７６】
図４は、本実施例のプリンタ２０により図３で説明した横４８００dpiの１６パスマルチパス印刷を行うときに、プリンタ２０のＲＡＭ２５内に設定されるプリントバッファの構成を表している。
【００７７】
後述のようにホストＰＣ２１３のプリンタドライバが上記１６パスマルチパス印刷をプリンタ２０に行なわせる場合、ヘッド位置Ａ（Ａ１，Ａ２，Ａ３，Ａ４）とＣ（Ｃ１，Ｃ２，Ｃ３，Ｃ４）での走査で印刷する印刷データはラスター形式として送信する。また、ヘッド位置Ｂ（Ｂ１，Ｂ２，Ｂ３，Ｂ４）とＤ（Ｄ１，Ｄ２，Ｄ３，Ｄ４）での走査で印刷する印刷データはダイレクト形式で送信する。
【００７８】
これに対応して図４に示すように、ラスター形式のヘッド位置Ａ用の印刷データを格納するためのプリントバッファ４１と、ラスター形式のヘッド位置Ｃ用の印刷データを格納するためのプリントバッファ４２が設けられる。さらに、ダイレクト形式のヘッド位置Ｂ用の印刷データと、ヘッド位置Ｄ用の印刷データを格納するためのＢ，Ｄ共用のプリンタバッファ４３が設けられる。
【００７９】
ここで、ヘッド位置Ａ，Ｂ，Ｃ，Ｄでの走査はそれぞれ１２００dpiで行なわれ、記録ヘッド１０のノズル数は６４であるものとした。したがって、用紙幅を８インチとすれば、ヘッド位置Ａ用とＣ用のプリントバッファ４１，４２に必要なメモリ容量は、先述した図１３のプリントバッファ１３３と同じである。すなわち、
（64＋16）bit×9,600カラム＝768,000bit＝96,000バイト
となる。また、ヘッド位置Ｂ，Ｄ共用のプリントバッファ４３の必要量は、
64bit×9,600カラム＝614,400bit＝76,800バイト
となる。したがってバッファ４１，４２，４３の全体の必要量は、
（96,000バイト×２）＋76,800バイト＝268,800バイト
となる。
【００８０】
これに対して従来例で説明した横４８００dpiの１６パスマルチパス印刷では、図１７に示したように、それぞれラスター形式の印刷データを格納するプリントバッファを４個用いていた。そして、その４個全体の必要量は、ノズル数と用紙幅などの条件を本実施例と同じとして、384,000バイトであった。これに比べて本実施例ではプリントバッファを３個しか用いず、しかもバッファ４３の必要量は他より縦１６ドット分少なくて済むので、バッファ全体のメモリ容量の必要量を大幅に削減できる。
【００８１】
次に、ホストＰＣ２１３のプリンタドライバがプリンタ２０に横４８００dpiの１６パスマルチパス印刷を行わせるときの印刷データ作成処理について図５により説明する。
【００８２】
ユーザーがホストＰＣ２１３上で印刷を指令すると、プリンタドライバ５０は１ページ分の印刷データ５１をページの上側から下側に順番に横４８００dpiの１ラインずつのラスター画像（ビットマップ画像）データとして展開する。
【００８３】
５２は印刷データ５１のある時点の展開データで横方向の８ライン分のデータを拡大して示したものである。５３は５２のデータを更に拡大して１ライン分のデータの１部を示したものである。横4800dpiの印刷では、横方向に４ドット毎をＡ，Ｂ，Ｃ，Ｄとして分けて別々に処理し、それぞれを横１２００dpiで４８００dpi分ずつずらせて印刷する。このため、展開データ５３を横方向の４ドット毎に５４のようにＡ，Ｂ，Ｃ，Ｄに分離し、Ａどうし、Ｂどうし、Ｃどうし、Ｄどうしのデータを繋げる。そして、
Ａのデータはラスター形式で処理、
Ｂのデータはダイレクト形式で処理、
Ｃのデータはラスター形式で処理、
Ｄのデータはダイレクト形式で処理
して、それぞれラスターデータないしはダイレクトデータとしてプリンタ２０に送信する。その際に、ラスターデータとダイレクトデータを、後述のように８ラスター（８ライン）分のブロック単位で、プリンタ２０での１６パスマルチパス印刷の印刷順に従って、必要なブロック数を交互に送信する。なお、プリンタドライバ５０は、Ｂ及びＤのダイレクト形式のデータについては、縦横変換の処理と、図３に示したような間引きパターンによる間引き処理を行う。ＡとＣのラスター形式のデータについてはプリンタドライバ５０がこれらの処理を行なわず、プリンタが行うことは勿論である。
【００８４】
次に、ラスター形式の場合と、ダイレクト形式の場合のそれぞれでのホストＰＣのプリンタドライバによる印刷データの作成からプリンタの記録ヘッドによる印刷までの印刷データの処理について、図６及び図７により説明する。ここで説明する処理は、プリンタドライバからプリンタに送信する印刷データを単純にラスター形式のみとする場合の処理、及びダイレクト形式のみとする場合の処理のそれぞれである。本実施例では、プリンタに送信する印刷データとして、１ページ分のデータ内に、ラスターデータとダイレクトデータが交互に混在した印刷データを送信するので、図６と図７の処理を組み合わせて行なうことになる。
【００８５】
図６は、ラスター形式の場合の印刷データの作成から印刷までの処理を説明するものである。実際の製品では、データの圧縮／解凍や、縦横Ｍ×Ｎドットをまとめて多値データで表現するインデックス処理等を行う場合もあるが、説明を簡単にするため、これらの説明は省略する。
【００８６】
ユーザーがホストＰＣ上で印刷を指令すると、プリンタドライバ５０は１ページ分の印刷データ６１をページの上側から下側に順番に、プリンタ２０の処理できるラスター形式の縦方向の１ラインずつのデータとして展開する。そして、順次８ラスター（８ライン）のラスターデータ６２を１ブロックとしてブロック単位でプリンタ２０に送信する。
【００８７】
プリンタ２０はラスターデータ６２を受け取ると、それを一旦ラスターバッファ（ラスターデータ形式のバッファ）６３に読み込む。ラスターデータ６２は８ラスターを１ブロックとしてブロック単位で送信されるため、ラスターバッファ６３も８ラスター分の領域を必要とする。そして、ラスターバッファ６３に１ブロック分のラスターデータが貯まると、そのラスターデータに縦横変換等の処理を行いながら、処理したデータをプリントバッファ６４へ転送する。そして、プリントバッファ６４のデータが印刷できるまで貯まると、プリントバッファ６４のデータを順次１カラム分ずつ記録ヘッド１０により印刷する。なお、マルチパス印刷では、このとき出力されるデータに対して間引きパターンによる間引き処理がなされ、記録ヘッド１０は間引きされたデータを印刷する。
【００８８】
こうして、印刷結果６５に灰色部分として示すように、記録ヘッド１０のノズル列の長さに対応した幅で印刷データが記録ヘッド１０の縦方向の位置に対応した位置に印刷される。
【００８９】
図７は、ダイレクト形式の場合の印刷データの作成から印刷までの処理を説明するものである。
【００９０】
プリンタドライバ５０は、ユーザーの印刷指令に応じて、最初はラスター形式の場合と同様に、１ページ分の印刷データ７１を上側から下側に順番に１ラインずつのラスターデータとして展開する。７２は作成したラスターデータ７２の一部を拡大して示したものである。
【００９１】
プリンタドライバ５０は、作成したラスターデータ７２を縦横変換し、さらに間引きパターンによる間引き処理を施してプリンタドライババッファ７３に蓄える。そして、バッファ７３にプリンタ２０が印刷できるまでのデータ、すなわち縦が記録ヘッド１０のノズル数分の例えば６４ドット、横が印刷するカラム数分の例えば９６００ドット分のデータが貯まると、それをダイレクトデータとしてプリンタ２０に送信する。
【００９２】
プリンタ２０はダイレクトデータを受信すると、印刷データとしてプリントバッファ７４に格納する。このバッファ７４は縦が記録ヘッド１０のノズル数分、横は印刷するカラム数分の容量を持っている。このバッファ７４の全部の印刷データの格納が終わると、そのデータをそのまま順次１カラム分ずつ記録ヘッド１０により印刷する。
【００９３】
こうして、印刷結果７５に灰色部分として示すように、結果的にはラスター形式の場合と同様に、記録ヘッド１０のノズル列の長さに対応した幅で印刷データが記録ヘッド１０の縦方向の位置に対応した位置に印刷される。
【００９４】
このようなダイレクト形式の場合、プリンタドライバ５０が送信するダイレクトデータはプリンタ２０側で記録ヘッド１０により印刷するデータと一致している。プリンタドライバ５０は記録ヘッド１０のノズル数や位置も管理しており、プリンタ２０に対して記録ヘッド１０の位置に応じた印刷データ（ダイレクトデータ）を送信する。プリンタは、単純に、毎回受信したダイレクトデータをプリントバッファに展開し、展開が終了すると、その印刷データをそのまま印刷するだけである。
【００９５】
本実施例のプリンタドライバ５０とプリンタ２０は、プリンタドライバ５０が図５のようにＡ，Ｂ，Ｃ，Ｄに分解した印刷データの内で、ＡとＣのデータについては図６のようなラスター形式の処理を行なう。また、ＢとＤのデータについては図７のようなダイレクト形式の処理を行なう。プリンタ２０の図４に示したＡ用及びＣ用のプリントバッファ４１及び４２は図６中のプリントバッファ６４に相当するものとして用いられる。またＢ，Ｄ共用のプリントバッファ４３は図７中のプリントバッファ７４に相当するものとして用いられる。印刷データの印刷順がＡ，Ｂ，Ｃ，Ｄ順の繰り返しで１ページの印刷がなされるので、１ページの印刷においてラスター形式の処理とダイレクト形式の処理が交互に繰り返されることになる。
【００９６】
実際の印刷におけるホストＰＣ２１３からプリンタ２０へのラスターデータとダイレクトデータの転送は、例えば図８に示すような順序で行なわれる。
【００９７】
図８は図３の１６パスマルチパス印刷を行う場合に、ホストＰＣ２１３からプリンタ２０に転送される印刷データの順番を説明する図である。図８中の記録ヘッド１０の位置Ａ１，Ｂ１，…は図３中のヘッド位置Ａ１，Ｂ１，…と対応している。データ転送の単位は図６で説明したように８ラスター（８ライン）を１ブロックとしブロック単位で行われ、１回毎に必要な数のブロックが転送される。図８の各ヘッド位置Ａ１，Ｂ１，…にある記録ヘッド１０は、ノズル列のノズル数が例えば６４であり、それを印刷データのブロックに対応して８ノズルずつの８ブロックに分けて示してある。この８ブロックのそれぞれの中の数字がブロック（８ラスター）単位で転送されるデータの順番を表している。また、図８では説明を分かり易くするため、記録ヘッド１０に対して印刷データが転送されているかのように図示してあるが、実際には図６ないし図７のような流れでプリントバッファにデータがブロック単位で転送され、記録ヘッド１０の対応するブロックのそれぞれにより印刷される。
【００９８】
なお、ヘッド位置Ａ２，Ｃ２，Ａ３，Ｃ３，Ａ４，Ｃ４にある記録ヘッド１０の灰色で塗り潰したブロックの印刷データはラスターデータであって、既に転送され１度印刷に使用された後、続けて複数回使用されるデータを示している。ただし、このデータについては１回の使用毎（１回の走査毎）に異なる間引きパターンによる間引き処理がなされる。
【００９９】
図８を用いて、プリンタがラスターデータとダイレクトデータをブロック単位で交互に受信して、交互に印刷する動作を説明する。その動作は以下のような順序で行われる。
【０１００】
１）用紙を給紙し、記録ヘッド１０を用紙に対して相対的にＡ１の位置に合わせる。すなわち記録ヘッド１０のノズル列の先頭のブロックと次のブロックの境界が用紙上の印刷開始位置に一致する位置に合わせる。
【０１０１】
２）ブロック１のラスターデータを受信した後、これを処理して印刷データを作成し、Ａ１の印刷（ヘッド位置Ａ１での１回の走査による印刷）を行い、作成した印刷データを印刷する。
【０１０２】
３）ブロック２のダイレクトデータを受信した後、Ｂ１の印刷を行い、受信したダイレクトデータをそのまま印刷する。
【０１０３】
４）８ノズル分（１ブロック分）の紙送りを行う。
【０１０４】
５）ブロック３，４のラスターデータを受信した後、これを処理して印刷データを作成し、Ｃ１の印刷を行ない、作成した印刷データを印刷する。
【０１０５】
６）ブロック５，６のダイレクトデータを受信した後、Ｄ１の印刷を行い、受信したダイレクトデータをそのまま印刷する。
【０１０６】
７）８ノズル分の紙送りを行う。
【０１０７】
８）ブロック７，８のラスターデータを受信した後、これと、先に受信して１回使用したブロック１のラスターデータを処理して印刷データを作成し、Ａ２の印刷を行ない、作成した印刷データを印刷する。
【０１０８】
９）ブロック９〜１１のダイレクトデータを受信した後、Ｂ２の印刷を行い、受信したダイレクトデータをそのまま印刷する。
【０１０９】
１０）８ノズル分の紙送りを行う。
【０１１０】
１１）ブロック１２，１３のラスターデータを受信した後、これと、先に受信して１回使用したブロック３，４のラスターデータを処理して印刷データを作成し、Ｃ２の印刷を行い、作成した印刷データを印刷する。
【０１１１】
１２）ブロック１４〜１７のダイレクトデータを受信した後、Ｄ２の印刷を行い、受信したダイレクトデータをそのまま印刷する。
【０１１２】
１３）８ノズル分の紙送りを行う。
【０１１３】
１４）ブロック１８，１９のラスターデータを受信した後、これと既に使用したブロック１，７，８のラスターデータを処理して印刷データを作成し、Ａ３の印刷を行い、作成した印刷データを印刷する。
【０１１４】
１５）ブロック２０〜２４のダイレクトデータを受信した後、Ｂ３の印刷を行い、受信したダイレクトデータをそのまま印刷する。
【０１１５】
１６）８ノズル分の紙送りを行う。
【０１１６】
１７）ブロック２５，２６のラスターデータを受信した後、これと、既に使用したブロック３，４，１２，１３のラスターデータを処理して印刷データを作成し、Ｃ３の印刷を行い、作成した印刷データを印刷する。
【０１１７】
１８）ブロック２７〜３２のダイレクトデータを受信した後、Ｄ３の印刷を行い、受信したダイレクトデータをそのまま印刷する。
【０１１８】
１９）８ノズル分の紙送りを行う。
【０１１９】
２０）ブロック３３，３４のラスターデータを受信した後、これと、既に使用したブロック１，７，８，１８，１９のラスターデータを処理して印刷データを作成し、Ａ４の印刷を行い、作成した印刷データを印刷する。
【０１２０】
２１）ブロック３５〜４１のダイレクトデータを受信した後、Ｂ４の印刷を行い、受信したダイレクトデータをそのまま印刷する。
【０１２１】
２２）８ノズル分の紙送りを行う。
【０１２２】
２３）ブロック４２，４３のラスターデータを受信した後、これと、既に使用したブロック３，４，１２，１３，２５，２６のラスターデータを処理して印刷データを作成し、Ｃ４の印刷を行い、作成した印刷データを印刷する。
【０１２３】
２４）ブロック４４〜５１のダイレクトデータを受信した後、Ｄ４の印刷を行い、受信したダイレクトデータをそのまま印刷する。
【０１２４】
２５）８ノズル分の紙送りを行う。
【０１２５】
このような処理をページの終わりまで続けていく。
【０１２６】
図９は、図８で説明した動作におけるデータ受信、データ展開処理と印刷処理の時間的な経過を説明するものである。図９の上側から下側に時間が経過していく様子をあらわしている。図９の左側がブロック単位のデータ受信、データ展開処理を表している。また右側が印刷処理（メカ動作）であり、印刷するためにキャリッジを移動したり、紙送りをしたりする処理を表している。データ受信、展開処理と印刷処理は並行して行われるため図のような表現になっている。
【０１２７】
先に図１９で説明したように、印刷データをダイレクト形式だけの構成としたときには、ホストＰＣからプリンタへ送信されるデータ量が大量となるため、印刷処理に対して所々でデータ受信、データ展開処理が間に合わず、待ち時間が生じていた。それに対して、本実施例では、ラスター形式とダイレクト形式を混在させることにより、プリンタへ送信されるデータ量をダイレクト形式だけの場合に比べて大幅に減らすことができる。また、少量のラスター形式のデータの送信と大量のダイレクト形式のデータの送信を交互に行うことにより、送信するデータ量を経時的に平均化することができる。これにより、図９に示したように、印刷処理で待ち時間が発生しないようにすることができ、印刷速度の低下を抑えることができる。
【０１２８】
以上説明したように、本実施例によれば、印刷の解像度の高さの割に、インクジェットプリンタのプリントバッファに必要なメモリ容量を少なくすることができる。しかも、高解像度の印刷での印刷速度の低下を最小限に抑えることができる。そして高解像度の印刷に対応することができる。
【０１２９】
ところで、以上の実施例では説明を簡単にするためカラー印刷を考えなかった。しかし、カラープリンタが一般的であるため、以下に一例としてイエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）の４色プリンタの場合を考える。
【０１３０】
この場合、Ｙ，Ｍ，Ｃ，Ｋに対してそれぞれＡ，Ｂ，Ｃ，Ｄの印刷データが存在する。これらについて、データ転送の順番とデータ形式を以下のように割り当てることにより、ホストＰＣからプリンタに転送されるデータ量を平均化することができる。
【０１３１】
１）ＡのＹデータ（ラスター形式）
２）ＡのＭデータ（ダイレクト形式）
３）ＡのＣデータ（ラスター形式）
４）ＡのＫデータ（ダイレクト形式）
５）ＢのＹデータ（ラスター形式）
６）ＢのＭデータ（ダイレクト形式）
７）ＢのＣデータ（ラスター形式）
８）ＢのＫデータ（ダイレクト形式）
９）ＣのＹデータ（ラスター形式）
１０）ＣのＭデータ（ダイレクト形式）
１１）ＣのＣデータ（ラスター形式）
１２）ＣのＫデータ（ダイレクト形式）
１３）ＤのＹデータ（ラスター形式）
１４）ＤのＭデータ（ダイレクト形式）
１５）ＤのＣデータ（ラスター形式）
１６）ＤのＫデータ（ダイレクト形式）
この場合、印刷処理は、Ｙ，Ｍ，Ｃ，Ｋの４色分のデータが貯まったとき（４，８，１２，１６の後）に行うようにする。
【図面の簡単な説明】
【０１３２】
【図１】本発明の実施例におけるインクジェットプリンタの要部の機械的構成を示す斜視図である。
【図２】同プリンタの制御系の構成を示すブロック図である。
【図３】同プリンタで行うランダム間引きパターンを使用した横４８００dpiの１６パスマルチパス印刷を説明する説明図である。
【図４】図３の１６パスマルチパス印刷を行う場合のプリンタのプリントバッファの構成を示した説明図である。
【図５】実施例におけるプリンタドライバによる印刷データ作成処理を説明する説明図である。
【図６】ラスター形式の印刷データの作成から印刷までの処理を説明する説明図である。
【図７】ダイレクト形式の印刷データの作成から印刷までの処理を説明する説明図である。
【図８】実施例で１６パスマルチパス印刷を行う場合に、ホストＰＣからプリンタにブロック単位で送信される印刷データの送信の順番を示した説明図である。
【図９】実施例で１６パスマルチパス印刷を行う場合のプリンタの印刷データの受信及び展開処理と印刷処理の時間的な経過を説明する説明図である。
【図１０】２パスマルチパス印刷の方法と効果を説明する説明図である。
【図１１】ランダムパターンを使用した横２４００dpiの４パスマルチパス印刷を説明する説明図である。
【図１２】従来の構成で図１１の４パスマルチパス印刷を行う場合に最小限必要なプリントバッファのメモリ容量を説明する説明図である。
【図１３】従来の構成でプリンタに送信される印刷データをラスターデータ形式として図１１の４パスマルチパス印刷を行う場合に実際の製品で使用されるプリントバッファのメモリ容量を説明する説明図である。
【図１４】従来の構成でラスターデータ形式として４パスマルチパス印刷を行う場合のプリントバッファの管理方法を説明する説明図である。
【図１５】横２４００dpiの８パスマルチパス印刷を説明する説明図である。
【図１６】従来の構成でラスターデータ形式として８パスマルチパス印刷を行う場合のプリントバッファの構成を説明する説明図である。
【図１７】従来の構成でラスターデータ形式として１６パスマルチパス印刷を行う場合のプリントバッファの構成を説明する説明図である。
【図１８】従来の構成でダイレクトデータ形式として１６パスマルチパス印刷を行う場合のプリントバッファのメモリ容量を説明する説明図である。
【図１９】従来の構成でダイレクトデータ形式として１６パスマルチパス印刷を行う場合の印刷データの受信及び展開処理と印刷処理の時間的な経過を説明する説明図である。
【符号の説明】
【０１３３】
１０  記録ヘッド
１１  キャリッジ
２０  インクジェットプリンタ
２１  インターフェース
２２  ＭＰＵ
２３  ゲートアレイ
２４  ＲＯＭ
２５  ＲＡＭ
２１０  キャリッジモータ
２１１  ラインフィードモータ
２１３  ホストＰＣ
４１  Ａ用プリントバッファ（ラスター形式）
４２  Ｃ用プリントバッファ（ラスター形式）
４３  Ｂ，Ｄ共用プリントバッファ（ダイレクト形式）
５０  プリンタドライバ
【図１】
2007257222.tif 000003
【図２】
2007257222.tif 000004
【図３】
2007257222.tif 000005
【図４】
2007257222.tif 000006
【図５】
2007257222.tif 000007
【図６】
2007257222.tif 000008
【図７】
2007257222.tif 000009
【図８】
2007257222.tif 000010
【図９】
2007257222.tif 000011
【図１０】
2007257222.tif 000012
【図１１】
2007257222.tif 000013
【図１２】
2007257222.tif 000014
【図１３】
2007257222.tif 000015
【図１４】
2007257222.tif 000016
【図１５】
2007257222.tif 000017
【図１６】
2007257222.tif 000018
【図１７】
2007257222.tif 000019
【図１８】
2007257222.tif 000020
【図１９】
2007257222.tif 000021