(57)【要約】【課題】データを並べ替える処理を合理化して画像処理速度を向上させる。【解決手段】印刷媒体上でドットの列たるラスタを形成しながら画像を印刷する。ラスタを形成するラスタ形成要素は、印刷媒体上で主走査を所定回数ずつ行いながら複数本のラスタを形成する。ドットの形成に用いられるデータは、画像データに画像処理を施して画素毎にドット形成の有無を判断することで生成した後、該データをメモリからラスタ形成要素に供給する。生成したデータの記憶に際しては、ドット形成の有無を判断した画素が、ラスタを形成するための前記所定回数の往復動の中のいずれの往復動でドットを形成されるかに応じて、グループ分けして記憶しておく。こうすれば、生成したデータをメモリから読み出してラスタ形成要素に供給するための操作が極めて簡素なものとなり、画像処理速度が向上して、延いては、画像を迅速に印刷することが可能となる。【選択図】  図１
2004276524.tif 000002
【特許請求の範囲】
【請求項１】
印刷媒体上に形成されたドットの列たるラスタを、該印刷媒体上にドットを形成しつつ所定回数ずつ往復動を繰り返することによって形成するラスタ形成要素を備え、該ラスタ形成要素を該ラスタとは交差する方向に相対的に移動させながら、複数本のラスタを形成することで画像を印刷する印刷装置であって、
前記印刷しようとする画像に対応した画像データを受け取る画像データ受取手段と、
前記画像を構成する複数の画素についてのドット形成の有無を、前記画像データに基づいて判断するドット形成有無判断手段と、
前記ドット形成の有無を判断した画素が、前記ラスタを形成するための前記所定回数の往復動の中のいずれの往復動でドットを形成されるかに応じて、該画素の前記判断結果を複数のグループに分けて記憶する判断結果記憶手段と、
前記ラスタ形成要素の往復動に応じて、前記記憶されている判断結果を前記グループ分けに従って読み出しながら、該ラスタ形成要素に供給する判断結果供給手段と
を備える印刷装置。
【請求項２】
請求項１記載の印刷装置であって、
前記判断結果記憶手段は、前記印刷装置内でのデータのやり取りに標準的に用いられるデータ量の整数倍ずつ、前記判断結果をグループ分けして記憶する手段である印刷装置。
【請求項３】
印刷媒体上にドットを形成しつつ所定回数ずつ往復動を繰り返することによって、該印刷媒体上にドットの列たるラスタを形成するラスタ形成要素を、該ラスタとは交差する方向に相対的に移動させながら、複数本のラスタを形成することで画像を印刷する印刷部に、該ラスタ形成要素の駆動を制御するための制御データを供給して該印刷を制御する印刷制御装置であって、
前記印刷しようとする画像に対応した画像データを受け取る画像データ受取手段と、
前記画像を構成する複数の画素についてのドット形成の有無を、前記画像データに基づいて判断するドット形成有無判断手段と、
前記ドット形成の有無を判断した画素が、前記ラスタを形成するための前記所定回数の往復動の中のいずれの往復動でドットを形成されるかに応じて、該画素の前記判断結果を複数のグループに分けて記憶する判断結果記憶手段と、
前記ラスタ形成要素の往復動に応じて、前記記憶されている判断結果を前記グループ分けに従って読み出しながら、前記制御データとして前記印刷部に供給する制御データ供給手段と
を備える印刷制御装置。
【請求項４】
請求項３記載の印刷制御装置であって、
前記判断結果記憶手段は、前記印刷制御装置内でのデータのやり取りに標準的に用いられるデータ量の整数倍ずつ、前記判断結果をグループ分けして記憶する手段である印刷制御装置。
【請求項５】
請求項３記載の印刷制御装置であって、
前記判断結果記憶手段は、前記ラスタ形成要素が１回の前記往復動でドットを形成する画素数分ずつ、前記判断結果をグループ分けして記憶する手段である印刷制御装置。
【請求項６】
請求項３ないし請求項５のいずれかに記載の印刷制御装置であって、
前記判断結果記憶手段は、前記判断を行った画素を含むラスタ中で、該画素を該ラスタの先頭の画素から数えた順番たる画素番号に基づいて、前記判断結果のグループ分けを行う手段である印刷制御装置。
【請求項７】
請求項６記載の印刷制御装置であって、
前記判断結果記憶手段は、前記ラスタを形成するための前記所定回数によって、前記画素番号を除算したときの剰余数に基づいて、前記判断結果のグループ分けを行う手段である印刷制御装置。
【請求項８】
請求項３記載の印刷制御装置であって、
前記印刷部は、前記ラスタ形成要素を前記ラスタと交差する方向に相対的に移動させつつ、該ラスタを形成するための前記往復動の回数を切り換えながら画像を印刷する印刷部であり、
前記画像を形成するために用いられる複数種類の前記往復動の回数の中で、主に用いられる回数の往復動によって形成される主要ラスタを、該画像を構成する複数本のラスタの中から選択する主要ラスタ選択手段を備えるとともに、
前記判断結果記憶手段は、前記主要ラスタの画素については、該主要ラスタを形成するための往復動に対応したグループ分けを行った状態で、前記判断結果を記憶する手段である印刷制御装置。
【請求項９】
請求項８記載の印刷制御装置であって、
前記判断結果記憶手段は、前記画像を構成する複数本のラスタの中から前記主要ラスタを除いた残余ラスタの画素についても、該主要ラスタを形成するための往復動に対応したグループ分けを行った状態で、前記判断結果を記憶する手段であり、
前記制御データ供給手段は、前記主要ラスタの画素については、該画素の判断結果を前記グループ分けに従って読み出しながら前記印刷部に供給するとともに、前記残余ラスタの画素については、前記記憶されている判断結果の中から、前記ラスタ形成要素の往復動に応じてドットを形成する画素の判断結果を選択して、該印刷部に供給する手段である印刷制御装置。
【請求項１０】
請求項８記載の印刷制御装置であって、
前記判断結果記憶手段は、前記画像を構成する複数本のラスタの中から前記主要ラスタを除いた残余ラスタの画素については、前記判断結果を該画像上での画素の並びの順番で記憶する手段であり、
前記制御データ供給手段は、前記主要ラスタの画素については、該画素の判断結果を前記グループ分けに従って読み出しながら前記印刷部に供給するとともに、前記残余ラスタの画素については、前記記憶されている判断結果の中から、前記ラスタ形成要素の往復動に応じてドットを形成する画素の判断結果を選択して、該印刷部に供給する手段である印刷制御装置。
【請求項１１】
印刷媒体上にドットを形成しつつ所定回数ずつ往復動を繰り返することによって、該印刷媒体上にドットの列たるラスタを形成するラスタ形成要素を、該ラスタとは交差する方向に相対的に移動させながら、複数本のラスタを形成することで画像を印刷する印刷部に、該ラスタ形成要素の駆動を制御するための制御データを供給して該印刷を制御する方法であって、
前記印刷しようとする画像に対応した画像データを受け取る第１の工程と、
前記画像を構成する複数の画素についてのドット形成の有無を、前記画像データに基づいて判断する第２の工程と、
前記ドット形成の有無を判断した画素が、前記ラスタを形成するための前記所定回数の往復動の中のいずれの往復動でドットを形成されるかに応じて、該画素の前記判断結果を複数のグループに分けて記憶する第３の工程と、
前記ラスタ形成要素の往復動に応じて、前記記憶されている判断結果を前記グループ分けに従って読み出しながら、前記制御データとして前記印刷部に供給する第４の工程と
を備える制御方法。
【請求項１２】
請求項１１記載の制御方法であって、
前記第３の工程は、データのやり取りに標準的に用いられるデータ量の整数倍ずつ、前記判断結果をグループ分けして記憶する工程である制御方法。
【請求項１３】
印刷媒体上にドットを形成しつつ所定回数ずつ往復動を繰り返することによって、該印刷媒体上にドットの列たるラスタを形成するラスタ形成要素を、該ラスタとは交差する方向に相対的に移動させながら、複数本のラスタを形成することで画像を印刷する印刷部に、該ラスタ形成要素の駆動を制御するための制御データを供給して該印刷を制御する方法を、コンピュータにより実現するためのプログラムであって、
前記印刷しようとする画像に対応した画像データを受け取る第１の機能と、
前記画像を構成する複数の画素についてのドット形成の有無を、前記画像データに基づいて判断する第２の機能と、
前記ドット形成の有無を判断した画素が、前記ラスタを形成するための前記所定回数の往復動の中のいずれの往復動でドットを形成されるかに応じて、該画素の前記判断結果を複数のグループに分けて記憶する第３の機能と、
前記ラスタ形成要素の往復動に応じて、前記記憶されている判断結果を前記グループ分けに従って読み出しながら、前記制御データとして前記印刷部に供給する第４の機能と
を実現するプログラム。
【請求項１４】
請求項１３記載のプログラムであって、
前記第３の機能は、データのやり取りに標準的に用いられるデータ量の整数倍ずつ、前記判断結果をグループ分けして記憶する機能であるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、印刷媒体上にドットを形成して画像を印刷する技術に関し、詳しくは、画像の印刷に先立って、ドットの形成を制御するためのデータを処理する技術に関する。
【０００２】
【従来の技術】
印刷媒体上にドットを形成して画像を印刷するドットプリンタは、コンピュータなどで作成した画像や、デジタルカメラなどで撮影した画像の出力装置として広く使用されている。インクジェットプリンタに代表されるこれらのドットプリンタは、印刷媒体上にドットを形成するためのヘッドを搭載しており、印刷媒体に対するヘッドの位置を、相対的に変更しながらドットを形成することによって画像を印刷している。
【０００３】
こうしたドットプリンタでは、ドットは、必ずしも画像の端にあるドットから順番に形成されるわけではない。例えば、印刷媒体上でヘッドを往復動させながらドットを形成することで、ドットの列たるラスタを形成しながら画像を印刷する印刷装置では、画質上の要請から、１回の往復動でラスタを完成させるのではなく、複数回の往復動に分けて形成することがある。このようにラスタを複数回で形成しようとすると、ラスタ上でドットが並んでいる順番とは異なった順番でドットが形成されることになる。このように、ドットプリンタが、画像上でドットが並んでいる順番とは異なった順番でドットを形成する場合には、ドットを形成する順番にデータを並び換える操作を行っていた（例えば、特許文献１）。
【０００４】
【特許文献１】
特開２００２−２９２８５０号公報
【０００５】
【発明が解決しようとする課題】
しかし、ドットを形成する順番にデータをいちいち並び換える操作は、比較的長い処理時間を要する操作であるため、画像を迅速に印刷する上での一つの制約となっていた。
【０００６】
この発明は、従来の技術における上述した課題を解決するためになされたものであり、ドットを形成する順番にデータを並び換える操作を合理的に行うことで、画像を迅速に印刷可能とする技術の提供を目的とする。
【０００７】
【課題を解決するための手段およびその作用・効果】
上述の課題の少なくとも一部を解決するため、本発明の印刷装置は、次の構成を採用した。すなわち、
印刷媒体上に形成されたドットの列たるラスタを、該印刷媒体上にドットを形成しつつ所定回数ずつ往復動を繰り返することによって形成するラスタ形成要素を備え、該ラスタ形成要素を該ラスタとは交差する方向に相対的に移動させながら、複数本のラスタを形成することで画像を印刷する印刷装置であって、
前記印刷しようとする画像に対応した画像データを受け取る画像データ受取手段と、
前記画像を構成する複数の画素についてのドット形成の有無を、前記画像データに基づいて判断するドット形成有無判断手段と、
前記ドット形成の有無を判断した画素が、前記ラスタを形成するための前記所定回数の往復動の中のいずれの往復動でドットを形成されるかに応じて、該画素の前記判断結果を複数のグループに分けて記憶する判断結果記憶手段と、
前記ラスタ形成要素の往復動に応じて、前記記憶されている判断結果を前記グループ分けに従って読み出しながら、該ラスタ形成要素に供給する判断結果供給手段と
を備えることを要旨とする。
【０００８】
上記の印刷装置に対応する本発明の印刷制御装置は、
印刷媒体上にドットを形成しつつ所定回数ずつ往復動を繰り返することによって、該印刷媒体上にドットの列たるラスタを形成するラスタ形成要素を、該ラスタとは交差する方向に相対的に移動させながら、複数本のラスタを形成することで画像を印刷する印刷部に、該ラスタ形成要素の駆動を制御するための制御データを供給して該印刷を制御する印刷制御装置であって、
前記印刷しようとする画像に対応した画像データを受け取る画像データ受取手段と、
前記画像を構成する複数の画素についてのドット形成の有無を、前記画像データに基づいて判断するドット形成有無判断手段と、
前記ドット形成の有無を判断した画素が、前記ラスタを形成するための前記所定回数の往復動の中のいずれの往復動でドットを形成されるかに応じて、該画素の前記判断結果を複数のグループに分けて記憶する判断結果記憶手段と、
前記ラスタ形成要素の往復動に応じて、前記記憶されている判断結果を前記グループ分けに従って読み出しながら、前記制御データとして前記印刷部に供給する制御データ供給手段と
を備えることを要旨とする。
【０００９】
更に、上記の印刷制御装置に対応する本発明の印刷制御方法は、
印刷媒体上にドットを形成しつつ所定回数ずつ往復動を繰り返することによって、該印刷媒体上にドットの列たるラスタを形成するラスタ形成要素を、該ラスタとは交差する方向に相対的に移動させながら、複数本のラスタを形成することで画像を印刷する印刷部に、該ラスタ形成要素の駆動を制御するための制御データを供給して該印刷を制御する方法であって、
前記印刷しようとする画像に対応した画像データを受け取る第１の工程と、
前記画像を構成する複数の画素についてのドット形成の有無を、前記画像データに基づいて判断する第２の工程と、
前記ドット形成の有無を判断した画素が、前記ラスタを形成するための前記所定回数の往復動の中のいずれの往復動でドットを形成されるかに応じて、該画素の前記判断結果を複数のグループに分けて記憶する第３の工程と、
前記ラスタ形成要素の往復動に応じて、前記記憶されている判断結果を前記グループ分けに従って読み出しながら、前記制御データとして前記印刷部に供給する第４の工程と
を備えることを要旨とする。
【００１０】
これら印刷装置、印刷制御装置、および印刷制御方法においては、画像を構成する複数の画素についてドット形成有無を判断し、判断結果を記憶する。判断結果を記憶するに際しては、該判断を行った画素が、ラスタを形成するために前記ラスタ形成要素が所定回数ずつ行う往復動の中の、いずれの往復動でドットを形成される画素であるかに応じて、複数のグループに分けた状態で該判断結果を記憶する。次いで、こうして記憶された判断結果を読み出して、該ラスタ形成要素に供給する。
【００１１】
前記ラスタ形成要素は、ドットを形成しながら所定回数ずつ往復動することによってラスタを形成しているので、ドット形成有無の判断結果を供給する際には、該ラスタ形成要素の往復動に合わせて、対象となる画素についての判断結果を供給することが重要である。この点で、本願発明のように、判断結果を記憶使用とする画素が、該ラスタ形成要素が所定回数ずつ往復動する中の、いずれの往復動で形成される画素かに応じて、予めグループ分けした状態で判断結果を記憶しておけば、該ラスタ形成要素に判断結果を供給する処理を簡素なものとすることができるので、処理の迅速化を図ることが可能となる。
【００１２】
こうした印刷装置、印刷制御装置、および印刷制御方法においては、前記画像データの処理中でデータのやり取りに標準的に用いられるデータ量の整数倍のデータ量ずつ、前記判断結果をグループ分けして記憶しておくこととしても良い。ここで、データ量の整数倍には、データ量そのものも含まれる。
【００１３】
画像データを処理するために使用される、いわゆるＣＰＵなどを初めとする各種の処理器には、標準的に用いられるデータ量（例えば、８ビット、１６ビット、３２ビットなど）が存在しており、こうしたデータ量を処理単位として処理を行えば、効率よい処理を行うことが可能である。ところが、画素１つあたりのドット形成有無の判断結果は、標準的に用いられるデータ量よりも通常は小さなデータ量となっている。従って、ドット形成有無の判断結果を、こうした標準的に用いられるデータ量の整数倍のデータ量ずつ、グループ分けして記憶しておけば、データを記憶したり、あるいは記憶されたデータを読み出して前記ラスタ形成要素に供給する処理を、標準的なデータ量を用いて行うことができるので、効率のよい処理が可能となる。
【００１４】
このことについて、若干、補足して説明する。ドット形成有無の判断結果を記憶する際に、前記ラスタ形成要素がドットを形成する往復動を考慮することなく（例えば、画像での画素の並びの順序で）記憶したものとする。この場合、ドット形成有無の判断結果を読み出して、該ラスタ形成要素の往復動に合わせて供給する処理は、次のようなものとなる。先ず、記憶されている判断結果の中から、該当する画素（すなわち、続く往復動でドットが形成される画素）の判断結果を含んだデータを読み出す。このとき読み出されるデータのデータ量は、標準的に用いられるデータ量である。前述したように、画素１つあたりの判断結果は、標準的に用いられるデータ量よりも小さなデータであるから、こうして読み出したデータには、複数画素分の判断結果が含まれている。しかも、これらドット形成有無の判断結果は、該ラスタ形成要素がドットを形成する往復動を考慮することなく記憶されていることから、読み出した判断結果の中には、該当する画素ではない画素についての判断結果も含まれる。従って、読み出したデータの中から該当する画素についてのデータのみを取り出して、これらデータを標準的に用いられるデータ量にまとめた後、ラスタ形成要素に供給することになる。
【００１５】
こうした一連の処理の中で、読み出したデータの中から該当する画素についてのデータを取り出す処理や、取り出したデータをまとめる処理は、いずれも、標準的に用いられるデータ量よりも小さなデータ量を扱う処理であり、効率的に処理することが困難である。これに対して、ドット形成有無の判断結果を、標準的に用いられるデータ量の整数倍のデータ量ずつ、グループ分けして記憶しておいた場合は、読み出したデータに含まれる判断結果は、いずれも該当する画素についての判断結果となる。このため、該当する画素のデータを取り出す処理や、取り出したデータをまとめる処理が不要となるので、ドット形成有無の判断結果をラスタ形成要素に供給する処理を迅速に行うことが可能となるのである。
【００１６】
こうした印刷装置、あるいは印刷制御方法においては、前記ラスタ形成要素が１回の前記往復動でドットを形成する画素数分ずつ、前記判断結果をグループ分けして記憶することとしてもよい。
【００１７】
こうすれば、該ラスタ形成要素の往復動に合わせて、ドット形成有無の判断結果を供給する処理を簡便に行うことが可能となるので好適である。
【００１８】
上述の印刷装置あるいは印刷制御装置においては、ドット形成有無の判断結果を記憶するに際して、該判断した画素を含むラスタ中で、該画素を該ラスタの先頭の画素から数えた順番たる画素番号に基づいて、該判断結果のグループ分けを行うこととしても良い。
【００１９】
前記ラスタ形成要素を所定回数ずつ往復動しながらラスタを形成する場合、該ラスタに含まれる画素のドットが、該所定回数の往復動の中のいずれの往復動で形成されるかは、該画素の画素番号に応じて定まることが多い。従って、画素番号に基づいて判断結果をグループ分けしてやれば、適切にグループ分けすることが可能となって好ましい。
【００２０】
こうした画素番号に基づくグループ分けに際しては、該画素番号を、ラスタを形成するために前記ラスタ形成要素を往復動させる回数で除算し、そのときの剰余数に基づいてグループ分けすることとしてもよい。
【００２１】
ラスタに含まれる画素のドットが、所定回数の往復動の中のいずれの往復動で形成されるかは、該往復動の回数で画素番号を除算したときの、剰余数に応じて応じて定まることが多い。従って、こうして剰余数に基づいてグループ分けしてやれば、簡便に且つ適切にグループ分けすることが可能となる。
【００２２】
また、前記ラスタ形成要素をラスタと交差する方向に相対的に移動させながら、複数本のラスタを形成することによって画像を印刷する場合に、次のようにして画像を印刷することがある。すなわち、ラスタを形成するために行う該ラスタ形成要素の往復動の回数を切り換えながら前記複数本のラスタを形成することによって画像を印刷する場合がある。この様な場合は、次のようにしても良い。先ず、画像を形成するために用いられる複数種類の前記往復動の回数の中で、主に用いられる回数の往復動によって形成される主要ラスタを、該画像を構成する複数本のラスタの中から選択する。そして、選択した該主要ラスタの画素については、該主要ラスタを形成するための往復動に対応したグループ分けを行って、前記判断結果を記憶する。次いで、この様な状態で記憶されたドット形成有無の判断結果を、前記ラスタ形成要素に供給する。このとき、該主要ラスタの画素については、該画素の判断結果を前記グループ分けに従って読み出しながら供給することとしてもよい。
【００２３】
前記主要ラスタは、画像を構成する複数本のラスタ中に占める比率が高くなっている。従って、主要ラスタの画素については、該ラスタ形成要素の往復動に応じてグループ分けした状態で、ドット形成有無の判断結果を記憶しておけば、例え、主要ラスタ以外のラスタについては、例え、該ラスタを形成するための往復動に応じたグループ分けが行われていなくても、全体としては画像を迅速に印刷することが可能となる。加えて、こうした方法によれば、往復動の回数を複雑に切り換えながら画像を形成する場合に対しても、容易に対応することが可能となる。
【００２４】
また、画像を構成する複数本のラスタの中から前記主要ラスタを除いた残余ラスタの画素については、該主要ラスタの画素と同様にグループ分けした状態、すなわち該主要ラスタを形成するための往復動に対応したグループ分けを行った状態で、前記判断結果を記憶してもよい。あるいは、こうしたグループ分けを行わず、画像上での画素の並びに従って、前記判断結果を記憶することとしてもよい。そして、前記ラスタ形成要素が該残余ラスタのドットを形成する場合には、前記記憶されている判断結果の中から、該ラスタ形成要素の往復動に合わせて、ドットを形成する画素についての判断結果を選択し、該選択した判断結果を供給することとしても良い。
【００２５】
このように、前記残余ラスタの画素についても、前記主要ラスタの画素と同様にグループ分けして記憶しておけば、画像中の全ての画素について、同じグループ分けを行うことができる。このため、処理が簡素なものとなり、延いては処理の迅速化を図ることが可能となる。
【００２６】
あるいは、前記残余ラスタの画素については、該画素の判断結果を、画像上での画素の並びの順番で記憶することとしても良い。そして、判断結果を前記ラスタ形成要素に供給するに際しては、該記憶されている判断結果の中から、該ラスタ形成要素の往復動に応じてドットを形成する画素の判断結果を選択して供給する。こうした場合にも、残余ラスタの画素については、グループ分けすることなく記憶すればよいので、処理を簡素なものとすることができる。
【００２７】
また、本発明によって画像を印刷する方法は、所定の機能を実現するプログラムをコンピュータに組み込んで、コンピュータを用いて印刷装置を制御することによっても実現することができる。従って、本発明は次のようなプログラムあるいは該プログラムを記録した記録媒体としての態様も含んでいる。すなわち、本発明の印刷制御方法に対応するプログラムは、
印刷媒体上にドットを形成しつつ所定回数ずつ往復動を繰り返することによって、該印刷媒体上にドットの列たるラスタを形成するラスタ形成要素を、該ラスタとは交差する方向に相対的に移動させながら、複数本のラスタを形成することで画像を印刷する印刷部に、該ラスタ形成要素の駆動を制御するための制御データを供給して該印刷を制御する方法を、コンピュータにより実現するためのプログラムであって、
前記印刷しようとする画像に対応した画像データを受け取る第１の機能と、
前記画像を構成する複数の画素についてのドット形成の有無を、前記画像データに基づいて判断する第２の機能と、
前記ドット形成の有無を判断した画素が、前記ラスタを形成するための前記所定回数の往復動の中のいずれの往復動でドットを形成されるかに応じて、該画素の前記判断結果を複数のグループに分けて記憶する第３の機能と、
前記ラスタ形成要素の往復動に応じて、前記記憶されている判断結果を前記グループ分けに従って読み出しながら、前記制御データとして前記印刷部に供給する第４の機能と
を実現するプログラムとしての態様である。
【００２８】
ここで、上記のプログラムにおいて前記判断結果を記憶するに際しては、データのやり取りに標準的に用いられるデータ量の整数倍ずつ、前記判断結果をグループ分けして記憶する機能であるプログラムとしても良い。
【００２９】
また、本発明の印刷制御方法に対応する記録媒体は、
印刷媒体上にドットを形成しつつ所定回数ずつ往復動を繰り返することによって、該印刷媒体上にドットの列たるラスタを形成するラスタ形成要素を、該ラスタとは交差する方向に相対的に移動させながら、複数本のラスタを形成することで画像を印刷する印刷部に、該ラスタ形成要素の駆動を制御するための制御データを供給して該印刷を制御するためのプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記印刷しようとする画像に対応した画像データを受け取る第１の機能と、
前記画像を構成する複数の画素についてのドット形成の有無を、前記画像データに基づいて判断する第２の機能と、
前記ドット形成の有無を判断した画素が、前記ラスタを形成するための前記所定回数の往復動の中のいずれの往復動でドットを形成されるかに応じて、該画素の前記判断結果を複数のグループに分けて記憶する第３の機能と、
前記ラスタ形成要素の往復動に応じて、前記記憶されている判断結果を前記グループ分けに従って読み出しながら、前記制御データとして前記印刷部に供給する第４の機能と
を実現するプログラムを記録した記録媒体としての態様である。
【００３０】
これらプログラムをコンピュータに読み込ませれば、ラスタ形成要素を往復動しながら、ドット形成有無の判断結果に従って複数のラスタを形成しつつ、画像を印刷する処理を迅速に行うことが可能となる。
【００３１】
【発明の実施の形態】
本発明の作用・効果をより明確に説明するために、以下では、本発明の実施の形態を次のような順序に従って説明する。
Ａ．発明の概要：
Ｂ．装置構成：
Ｃ．画像処理の概要：
Ｄ．ハーフトーン処理：
Ｅ．データ出力処理：
Ｆ．変形例：
【００３２】
Ａ．発明の概要：
以下では、実施例に基づいて詳細な説明を行うが、理解の便宜から、初めに発明の概要につき、例示を用いて概念的に説明しておく。図１は、本発明の印刷装置１０を例示した説明図である。例示の印刷装置１０は、画像データに所定の画像処理を施すハーフトーンモジュール１２や、印刷媒体上にドットの列たるラスタを形成するラスタ形成要素１６、ラスタ形成要素１６がドットを形成するためのデータを蓄えておくメモリ１４などから構成されている。ラスタ形成要素１６は、ドットを形成しながら印刷媒体上を所定回数往復動することによって、該ラスタを形成する。こうしてラスタを形成しながら、印刷媒体上をラスタと交差する方向に移動して、複数本のラスタを形成することによって画像を印刷する。
【００３３】
印刷装置１０に画像データを供給すると、ハーフトーンモジュール１２は、この画像データに基づいて、画像を構成する複数の画素についてドットを形成するか否かを判断する。判断結果は、一旦、メモリ１４に記憶された後、ラスタ形成要素１６の動きに合わせて読み出されて、ラスタ形成要素１６に供給される。ラスタ形成要素１６は、こうして供給されたデータに基づいてドットを形成することでラスタを形成しつつ、印刷媒体に対して相対的に移動しながら複数本のラスタを形成することで画像を印刷する。
【００３４】
図１では、白い部分と黒い部分とが市松模様状に配列された画像を印刷する場合を概念的に表している。ここでは説明を簡単にするために、ハーフトーンモジュール１２は、市松模様の黒い部分の画素にはドットを形成すると判断し、白い部分の画素にはドットを形成しないと判断するものとする。また、ラスタ形成要素１６は、それぞれのラスタを、往復動を２回行うことによって形成するものとして、１回目の往復動時にはラスタ上で奇数番目にある画素のドットを形成し、２回目の往復動時には偶数番目にある画素のドットを形成するものとする。
【００３５】
ハーフトーンモジュール１２は、各画素についてのドット形成の有無を判断すると、各画素が、ラスタを形成するための２回の往復動の中のいずれでドットを形成する画素かに応じて、判断結果をグループ分けした状態でメモリ１４に記憶する。ここでは、ラスタ上で奇数番目にある画素のドットは１回目の往復動時に形成し、偶数番目にある画素のドットは２回目の往復動時に形成することとしているから、各画素についてのドット形成有無の判断結果は、奇数番目の画素についての判断結果と、偶数番目の画素についての判断結果とにグループ分けして記憶されることになる。図１に示した例では、メモリ１４の初めの１列には、１回目の往復動時に形成される奇数番目の画素についての判断結果が記憶され、次の１列には、２回目の往復動時に形成される偶数番目の画素についての判断結果が記憶されるものとしている。尚、メモリ１４中で斜線が付された小さな正方形は、ドットを形成すると判断された画素を表しており、斜線の付されていない正方形はドットを形成しないと判断された画素を表している。そして、その次の１列には、３回目の往復動時に形成される奇数番目の画素の判断結果が、更にその次の１列には、４回目の往復動時に形成される偶数番目の画素の判断結果が記憶される。以降、奇数番目の画素についての判断結果と、偶数番目の画素についての判断結果とが、所定数ずつ交互にグループ分けされた状態で記憶される。
【００３６】
尚、図１に示した例では、理解の便宜から、奇数番目の画素のかたまりと、偶数番目の画素のかたまりとは、それぞれに含まれる画素数が、メモリ１４のちょうど１列分の画素数に相当している場合について示している。もちろん、１つのかたまりに含まれる画素数は、メモリ１４のちょうど１列分の画素数でなくとも構わない。
【００３７】
このようにハーフトーンモジュール１２は、ドット形成有無の判断結果をメモリ１４に記憶する際に、各ドットが、各ラスタを形成するために行うそれぞれ２回の往復動の中の、いずれの往復動で形成されるかに応じて、判断結果をグループ分けした状態で記憶している。この結果、図１に示されているように、メモリ１４上でドット形成有無の判断結果が記憶されている順序は、画像上での画素の並びとは異なった順序となっている。各画素についての判断結果を、このようにグループ分けした状態で記憶しておけば、メモリ１４からデータを読み出してラスタ形成要素１６に供給する操作を簡素化することができるので、画像を迅速に印刷することが可能となる。以下では、実施例に基づいて詳細に説明する。
【００３８】
Ｂ．装置構成：
図２は、本実施例の印刷制御装置としてのコンピュータ１００の構成を示す説明図である。コンピュータ１００は、ＣＰＵ１０２を中心に、ＲＯＭ１０４やＲＡＭ１０６などを、バス１１６で互いに接続して構成された周知のコンピュータである。コンピュータ１００には、フレキシブルディスク１２４やコンパクトディスク１２６などからデータを読み込むためのディスクコントローラＤＤＣ１０９や、周辺機器とデータの授受を行うための周辺機器インターフェースＰＩＦ１０８、ＣＲＴ１１４を駆動するためのビデオインターフェースＶＩＦ１１２等が接続されている。ＰＩＦ１０８には、ハードディスク１１８や、後述するプリンタ２００等が接続されている。また、デジタルカメラ１２０や、カラースキャナ１２２等をＰＩＦ１０８に接続すれば、デジタルカメラ１２０やカラースキャナ１２２で取り込んだ画像を印刷することも可能である。また、ネットワークインターフェースカードＮＩＣ１１０を装着すれば、コンピュータ１００を通信回線３００に接続して、通信回線に接続された記憶装置３１０に記憶されているデータを取得することもできる。
【００３９】
図３は、本実施例のプリンタ２００の概略構成を示す説明図である。プリンタ２００はシアン，マゼンタ，イエロ，ブラックの４色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら４色のインクに加えて、染料濃度の低いシアン（淡シアン）インクと染料濃度の低いマゼンタ（淡マゼンタ）インクとを含めた合計６色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では、シアンインク，マゼンタインク，イエロインク，ブラックインクのそれぞれを、必要に応じて、Ｃインク，Ｍインク，Ｙインク，Ｋインクと略称するものとする。
【００４０】
プリンタ２００は、図示するように、キャリッジ２４０に搭載された印字ヘッド２４１を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ２４０をキャリッジモータ２３０によってプラテン２３６の軸方向に往復動させる機構と、紙送りモータ２３５によって印刷用紙Ｐを搬送する機構と、ドットの形成やキャリッジ２４０の移動および印刷用紙の搬送を制御する制御回路２６０などから構成されている。
【００４１】
キャリッジ２４０には、Ｋインクを収納するインクカートリッジ２４２と、Ｃインク，Ｍインク，Ｙインクの各種インクを収納するインクカートリッジ２４３とが装着されている。キャリッジ２４０にインクカートリッジ２４２，２４３を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド２４１の下面に設けられた各色毎のインク吐出用ヘッド２４４ないし２４７に供給される。各色毎のインク吐出用ヘッド２４４ないし２４７は、こうして供給されたインクを用いてインク滴を吐出して、印刷媒体上にインクドットを形成する。
【００４２】
制御回路２６０は、ＣＰＵを中心として、ＲＯＭや、ＲＡＭ、周辺機器インターフェースＰＩＦ等に加えて、デジタルデータをアナログ信号に変換するＤ／Ａ変換器２６２や、印字ヘッド２４１に供給するデータを一時的に蓄えておく駆動バッファ２６１等から構成されている。もちろん、ＣＰＵを搭載せずに、ハードウェアあるいはファームウェアによって同様の機能を実現することとしても良い。制御回路２６０は、キャリッジモータ２３０および紙送りモータ２３５の動作を制御することによって、キャリッジ２４０の主走査動作および副走査動作の制御を行う。また、キャリッジ２４０の主走査および副走査に合わせて、適切なタイミングで印字ヘッド２４１を駆動する。印字ヘッド２４１の駆動は、Ｄ／Ａ変換器２６２から駆動信号を供給するとともに、駆動バッファ２６１から制御データを供給することによって行う。駆動信号および制御データを供給して印字ヘッド２４１を駆動し、インク滴を吐出するメカニズムについては別図を用いて後述する。こうして制御回路２６０の制御の下で、各色のインク吐出用ヘッド２４４ないし２４７からは、適切なタイミングでインク滴が吐出され、その結果、印刷用紙Ｐ上にインクドットが形成されて、カラー画像が印刷される。
【００４３】
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡（バブル）を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
【００４４】
図４は、各色のインク吐出用ヘッド２４４ないし２４７の底面に、インク滴を吐出する複数のノズルＮｚが形成されている様子を示した説明図である。図示するように、各色のインク吐出用ヘッドの底面には、各色毎のインク滴を吐出する４組のノズル列が形成されており、１組のノズル列には、４８個のノズルＮｚがノズルピッチｐの間隔を空けて千鳥状に配列されている。これらノズルは、制御回路２６０から供給される駆動信号および制御データに従って、一斉にインク滴を吐出する。このメカニズムについて、図５を参照しながら説明する。
【００４５】
図５は、インク吐出用ヘッド２４４ないし２４７が駆動信号および制御データに従って、インク滴を吐出するメカニズムを概念的に示した説明図である。図４に示したように、インク吐出用ヘッドの底面には複数のノズルＮｚが設けられており、それぞれのノズルは駆動バッファ２６１に接続されている。Ｄ／Ａ変換器２６２が駆動信号を出力すると、駆動信号は全てのノズルＮｚに一斉に供給される。とは言え、駆動信号が供給されるだけで直ちにノズルＮｚが駆動されるわけではない。駆動信号によって実際に駆動されるのは、駆動信号を受けたときに、駆動バッファ２６１からノズルが選択されていることを意味する制御データ「１」が供給されているノズルＮｚのみであり、これらのノズルだけがインク滴を吐出してドットを形成する。逆に言えば、駆動バッファ２６１からノズルが選択されていないことを意味する制御データ「０」が供給されているノズルＮｚは、駆動信号が供給されていても、実際には駆動されず、インク滴を吐出することはない。このように、インク吐出用ヘッド２４４ないし２４７に設けられた複数のノズルＮｚの中で、制御データによって選択されたノズルのみが、インク滴を吐出することになる。
【００４６】
図３に示した制御回路２６０は、インク滴の吐出を制御するための制御データと、駆動信号とを、キャリッジ２４０の主走査および副走査に同期させながらインク吐出用ヘッド２４４〜２４７に出力する。こうすることで、印刷用紙Ｐ上の適切な位置にインクドットが形成されて、その結果、画像が印刷されることになる。
【００４７】
Ｃ．画像処理の概要：
このようにインク滴の吐出を制御するために用いられる制御データは、印刷しようとする画像に所定の画像処理を施すことによって生成される。図６は、本実施例で行われる画像処理の流れを示したフローチャートである。かかる処理は、主に、コンピュータ１００に搭載されたＣＰＵ１０２の機能を用いて実行される。以下、図６に従って、画像処理の概要を説明する。
【００４８】
画像処理を開始すると、先ず初めに、印刷しようとする画像の画像データを読み込む（ステップＳ１００）。ここで読み込まれるデータは、ＲＧＢカラー画像データ、すなわちＲ，Ｇ，Ｂの各色毎に、階調値０から階調値２５５の２５６階調幅を有する画像データである。もちろん、読み込む画像データは、このような形式の画像データに限定されるものではなく、周知の画像データとすることも可能である。
【００４９】
次いで、取り込んだ画像データの解像度を、プリンタ２００が印刷するための解像度に変換する（ステップＳ１０２）。画像データの解像度が印刷解像度よりも低い場合は、線形補間を行うことで隣接する画像データ間に新たなデータを生成し、逆に印刷解像度よりも高い場合は、一定の割合でデータを間引くことによって画像データの解像度を印刷解像度に変換する。
【００５０】
解像度を変換したら、色変換処理を開始する（ステップＳ１０４）。色変換処理とは、Ｒ，Ｇ，Ｂの階調値の組み合わせによって表現されているＲＧＢ画像データを、印刷のために使用される各色の階調値の組合せによって表現された画像データに変換する処理である。前述したように、プリンタ２００はＣ，Ｍ，Ｙ，Ｋの４色のインクを用いて画像を印刷しているから、本実施例の色変換処理ではＲＧＢ画像データを、Ｃ，Ｍ，Ｙ，Ｋの各色の階調値によって表現されたデータに変換する。色変換処理は、色変換テーブル（ＬＵＴ）と呼ばれる３次元の数表を参照することで行う。ＬＵＴには、ＲＧＢ画像データに対して、色変換によって得られるＣ，Ｍ，Ｙ，Ｋ各色の階調値が予め記憶されているので、このＬＵＴを参照しながら変換すれば、迅速に色変換することが可能である。
【００５１】
こうして色変換処理を終了すると、続いて、ハーフトーン処理を開始する（ステップＳ１０６）。ハーフトーン処理とは、大まかには次のような処理である。色変換処理によって得られた画像データは、画像データが１バイトデータであるとすると、階調値０から階調値２５５までの値を取る２５６階調を有する階調データである。これに対して、プリンタ２００は、印刷用紙上にドットを「形成する」か「形成しない」かのいずれかの状態しか取り得ない。そこで、２５６階調を有する階調データを、ドット形成の有無に対応する２階調のデータに変換する必要がある。このようにハーフトーン処理とは、２５６階調を有する画像データをドット形成の有無を示すデータに変換する処理である。
【００５２】
ハーフトーン処理によって変換されたデータは、コンピュータ１００のＲＡＭ１０６に記憶され、プリンタ２００に転送された後、駆動バッファ２６１からインク吐出用ヘッド２４４〜２４７に供給される。ここで、インク吐出用ヘッド２４４〜２４７は、印刷媒体上を往復動しながらドットを形成することでドットの列たるラスタを形成して画像を印刷するが、それぞれのラスタは１回の往復動で形成されるのではなく、画質上の要請から複数回の往復動に分けて形成されている。詳細には後述するが、本実施例のハーフトーン処理では、各画素のドットが、それぞれのラスタを形成するために行う複数回の往復動の中の、いずれの往復動で形成されるかに応じて、ドット形成有無の判断結果をグループ分けした状態でＲＡＭ１０６に記憶している。本実施例のハーフトーン処理については、別図を用いて後述する。
【００５３】
ハーフトーン処理を終了したら、ハーフトーン処理後のデータをＲＡＭ１０６から読み出して、プリンタ２００の駆動バッファ２６１に転送し、このデータを制御データとして駆動バッファ２６１からインク吐出用ヘッド２４４〜２４７に出力する処理を行う（ステップＳ１０８）。本実施例では、ハーフトーン処理されたデータが、各ラスタを形成するために行う複数回の往復動に応じてグループ分けされた状態で、ＲＡＭ１０６に記憶されている。このため、ＲＡＭ１０６上のデータを読み出してプリンタ２００に転送する処理を大幅に簡素化することが可能となっている。かかる処理の詳細についても、別図を用いて後述する。図５を用いて前述したように、インク吐出用ヘッド２４４〜２４７は、こうして供給された制御データに従って、それぞれのノズルから一斉にインク滴を吐出する。その結果、印刷用紙上には、画像データに対応した画像が印刷される。
【００５４】
Ｄ．ハーフトーン処理：
以下では、図６に示した画像処理中で行われる本実施例のハーフトーン処理について詳しく説明する。図７は、本実施例のハーフトーン処理の流れを示すフローチャートである。以下、フローチャートに従って説明する。
【００５５】
ハーフトーン処理を開始すると、先ず初めに、画像を構成する複数の画素の中から、ドット形成の有無を判断しようとする着目画素を選択する（ステップＳ２００）。ここでは、画像は格子状に分割されて、縦横に並んだ複数の画素から構成されているものとして、ステップＳ２００では、これら複数の画素の中から１つの画素を着目画素として選択する。
【００５６】
次いで、画像データに基づいて、着目画素についてのドット形成の有無を判断する処理を開始する（ステップＳ２０２）。ドット形成の有無を判断する手法としては、いわゆる誤差拡散法やディザ法などの種々の手法が知られており、いずれの手法を適用することもできる。
【００５７】
着目画素についてのドット形成の有無を判断したら、着目画素のグループ分けを行う（ステップＳ２０４）。この処理の内容について、図８を参照しながら説明する。図８は、画像を構成する格子状に配列された複数の画素の中から、主走査方向に並んだ任意の１行分の画素列を取り出して、概念的に表した説明図である。ラスタは、こうした画素列にドットを形成することによって形成される。前述したようにプリンタ２００は、印字ヘッド２４１を主走査方向に往復動させつつ、印刷用紙上にドットを形成する。ここで、ラスタに含まれるドットを１回の主走査で全て形成することも可能であるが、印刷速度を最優先して印刷する場合を除いて、画質上の要請から、ラスタを複数回の主走査に分けて形成することが行われる。
【００５８】
図８は、ラスタ上のドットを、４回の主走査に分けて形成する場合を例示している。ここでは、それぞれの主走査を、パスＡ、パスＢ、パスＣ、パスＤと呼ぶことにする。図示されているように、パスＡでは、ラスタの先頭の画素（図上で左端にある画素）に続いて、左から５番目の画素、９番目の画素、１３番目の画素と、４つずつ離れた画素のドットを形成する。パスＢでは、ラスタの先頭から２番目の画素を先頭として、６番目の画素、１０番目の画素と、４つずつ離れた画素のドットを形成する。同様に、パスＣでは、ラスタの先頭から３番目の画素を先頭として４画素ずつ離れた画素のドットを形成し、パスＤでは、ラスタの先頭から４番目の画素を先頭として４画素ずつ離れた画素のドットを形成する。このように、図８に示したラスタ上の画素は、必ず、パスＡないしパスＤのいずれかのパスでドットが形成されることになる。図７に示したステップＳ２０４では、着目画素についてのドットが、いずれのパスで形成されるかに応じて、グループ分けを行う。
【００５９】
本実施例では、前述したようにパスＡないしパスＤでは、いずれも４画素おきにドットを形成するから、いわゆる剰余系を利用すれば簡便にグループ分けを行うことができる。図８の例示に即して具体的に説明する。例えばパスＡでは、先頭から数えて１番目の画素、５番目の画素、９番目の画素と、４画素おきにドットを形成するから、先頭から数えた画素の番号を４で割ったときの余りの数（剰余数）が「１」であれば、その画素のドットはパスＡで形成されると考えることができる。同様にして、先頭から数えた画素の番号を４で割ったときの剰余数が「２」であれば、その画素のドットはパスＢで形成され、４で割ったときの剰余数が「３」であれば、その画素のドットはパスＣで形成されると考えることができる。また、４で割ったときの剰余数が「０」すなわち、先頭から数えた画素の番号が４で割り切れる場合は、その画素のドットはパスＤで形成されると考えることができる。一例として、図８中で斜線付きの丸印が付された着目画素は、ラスタの先頭から７番目（すなわち、７列目）の画素であるから、剰余数は「３」となるので、パスＣでドットが形成されると判断することができる。
【００６０】
尚、図８に示した例では、着目画素の剰余数の値が異なっていれば、パスも異なっているものとして説明した。しかし、剰余数とパスとを対応付ける方法は、こうした方法に限られるものではない。例えば、図９に示したように、剰余数が「１」の画素はパスＡに対応付けて、剰余数が「３」の画素はパスＢに対応付け、剰余数が「２」または「０」の画素はパスＣに対応付けることとしても良い。このように判断した場合は、ラスタは、パスＡないしパスＣのパスに対応する３回の主走査に分けて形成されることになる。
【００６１】
ラスタを何回の主走査に分けて形成するかは、印刷モードに応じて予め設定されている。すなわち画像の印刷に先立って、印刷速度を優先した印刷を行うのか、あるいは画質を優先した印刷を行うのかを表す印刷モードを、ＣＲＴ画面上からコンピュータ１００に対して予め設定しておく。そして、印刷モードとして「速度優先」のモードが選択されている場合は、プリンタ２００は、１回の主走査でラスタ上の全ての画素を形成し、「画質優先」のモードが選択されている場合は、ラスタを複数回（例えば４回）の主走査で形成する。もちろん、印刷モードを「速度優先」、「画質優先」の２段階だけでなく、よりきめ細かく設定可能として、設定したモードに応じて、より多種類の主走査の回数（以下では、パス数と呼ぶ）を選択可能としても良い。また、以下の実施例では、１枚の画像中では、いずれのラスタについてもパス数は同じ値に設定されているものとして説明するが、設定されている印刷モードによっては、ラスタによって異なるパス数とすることも可能である。このように１枚の画像中で異なるパス数が用いられる場合については後述する。
【００６２】
以上のようにして着目画素のグループ分けを行ったら、該着目画素についての判断結果をグループ分けした状態でＲＡＭ１０６上に記憶する（図７のステップＳ２０６）。この処理の内容について、図８および図１０を参照しながら説明する。図８を用いて説明したように、ラスタ上の全ての画素は、パスＡないしパスＤのいずれかにグループ分けされる。本実施例のハーフトーン処理では、これら各画素のドット形成有無の判断結果を、グループ毎にまとめてＲＡＭ１０６上に記憶する。
【００６３】
図１０は、ドット形成有無の判断結果が、こうした状態でＲＡＭ１０６上に記憶されている様子を例示した説明図である。ＲＡＭ１０６上の所定のデータ領域（図１０中では一番上の領域）には、最初の主走査で形成する画素についての判断結果が、ひとまとまりとして記憶されている。ここでは、図８に示すように、１つのラスタを、パスＡ→パスＢ→パスＣ→パスＤの順番で４回の主走査で形成するものとすると、ＲＡＭ１０６上のデータ領域の先頭部分には、パスＡの画素についての判断結果が、１回の主走査で形成する画素数分だけまとめられて記憶されることになる。尚、ここでは、１つの画素についてのドット形成有無の判断結果は、ドットを形成するか、形成しないかの２通りしか取らないものとすれば、各画素の判断結果は１ビットのデータで表すことができるから、図１０に示したデータ領域にはビットの並びが記憶されることになる。
【００６４】
パスＡのデータが記憶された領域に続くデータ領域には、今度はパスＢの画素についての判断結果が、１回の主走査で形成する画素数分だけまとめられた状態で記憶される。同様にして、続くデータ領域にはパスＣの画素についての判断結果が、その次のデータ領域にはパスＤの画素についての判断結果が、それぞれ１回の主走査で形成する画素数分ずつまとめられて記憶される。この結果、ＲＡＭ１０６上には、ラスタ１本分のドット形成有無の判断結果が、パスＡないしパスＤの４つのパスに応じてグループ分けした状態で記憶されることになる。例えば、図８中に斜線付きの丸印で示した画素は、パスＣの先頭から２番目の画素であるから、各画素の判断結果が１ビットのデータで表すことができるものとすれば、この画素についての判断結果は、図１０上では、上から３列目の先頭から２ビット目に記憶される。こうしてラスタ１本分の判断結果をグループ分けした状態で記憶したら、次のラスタについても同様に、パスＡないしパスＤの各パスに応じてグループ分けした状態で記憶する。
【００６５】
以上の説明では、いずれのラスタも、パスＡ→パスＢ→パスＣ→パスＤの順序で形成されるものとして説明したが、それぞれのラスタを形成するためのパスの順序は、こうした順序に限られるものではない。例えば、１つの画像中でも、パスの順序の異なるラスタが混在する場合もある。こうした場合でも、ドット形成有無の判断結果を、それぞれのパスに応じてグループ分けして記憶しておけば、読み出す順序が変更されるだけ対応することができる。
【００６６】
ここで、判断結果をＲＡＭ１０６に書き込む操作について説明する。各画素の判断結果は１ビットのデータで表されているが、ＲＡＭ１０６にはビット単位で書き込まれるのではなく、実際にはワード単位で書き込まれる。ワードとは、コンピュータがデータを効率的に取り扱うことのできる最小単位である。例えば、いわゆる８ビットコンピュータは、データの書き込みや読み出しを８ビット（１バイト）単位で行うように設計されており、８ビットが１ワードとなる。また、１６ビットコンピュータであれば１６ビットが１ワードとなり、３２ビットコンピュータであれば３２ビットが１ワードとなる。本実施例のコンピュータ１００では、８ビットが１ワードとなっており、着目画素についての判断結果は、８ビット単位で書き込まれるものとして説明する。
【００６７】
図１１は、着目画素についての判断結果を、１ワード（８ビット）単位で書き込む操作を概念的に示した説明図である。ここでは着目画素は、図８中で斜線付きの丸印を付して示した画素であるものとしている。この着目画素のビット位置（すなわち、先頭から２番目のビット）に、ドットを形成することを意味するデータ「１」を書き込むためには、次のような操作を行う。以下、図１１（ａ）を参照しながら説明する。先ず、データを書き込もうとしているビットは、ワード単位で考えれば、先頭のワードの前から２番目のビットである。そこで、先頭から２番目のビットだけが「１」であり、他のビットは「０」であるような８ビットデータ（１６進数表示では４０ｈ）を用意する。次に、ＲＡＭ１０６上の該当するデータ領域の中で、データを書き込もうとしているビットを含んだワード（ここでは、先頭のワード）のデータを読み出す。そして、先に用意したデータと、読み出したデータとの間で論理ＯＲ演算を行い、得られた結果を元のワードの位置に上書きする。こうすれば、着目画素のビット位置に、ドットを形成することを意味するデータ「１」を書き込むことができる。
【００６８】
また、着目画素にドットを形成しないことを意味するデータ「０」を書き込む場合には、図１１（ｂ）に示すような操作を行う。先ず、先頭から２番目のビットだけが「０」であり、他のビットは「１」であるような８ビットのデータ（１６進数表示ではＢＦｈ）を用意する。次に、ＲＡＭ１０６上の該当するデータ領域の中で、先頭のワードのデータを読み出して、先に用意したデータとの間で、今度は論理ＡＮＤ演算を行い、得られた結果を元のワードの位置に上書きしてやる。こうして、ドット形成有無の判断結果はワード単位で記憶されることから、グループ分けした状態で記憶されるひとまとまりのデータは、通常はワードの整数倍のデータとなっている。
【００６９】
図７に示したハーフトーン処理中のステップＳ２０６では、このようにして、着目画素についての判断結果を、該着目画素が属するパスに応じてグループ分けした状態で、ＲＡＭ１０６に記憶する処理を行う。
【００７０】
こうして、１つの着目画素についての判断結果を書き込んだら、全ての画素についての処理を終了したか否かを判断し（ステップＳ２０８）、未判断の画素が残っていれば（ステップＳ２０８：ｎｏ）、ステップＳ２００に戻って新たな着目画素を選択する。以上の処理を繰り返して、全ての画素について処理を終了したと判断したら（ステップＳ２０８：ｙｅｓ）、図７に示すハーフトーン処理を抜けて図６の画像処理に復帰する。
【００７１】
尚、以上の説明では、ドット形成有無の判断結果は、１回の主走査で形成する画素数ずつにまとめられた状態で、ＲＡＭ１０６上に記憶されているものとした。もっとも、判断結果を、パスに応じてグループ分けした状態で記憶する方法は、こうした方法に限られるものではない。例えば、図１２に示すように、各画素の判断結果を、パス毎に、１ワード（本実施例では８ビット＝１バイト）分ずつあるいは数ワード分ずつをまとめた状態で記憶してもよい。
【００７２】
Ｅ．データ出力処理：
以上に説明したハーフトーン処理を終了して、図６に示した画像処理に復帰すると、今度は、データ出力処理を開始する。データ出力処理では、ハーフトーン処理中でＲＡＭ１０６上に記憶された判断結果を読み出して、プリンタ２００の駆動バッファ２６１に出力する処理を行う。図１３は、こうしたデータ出力処理の流れを示すフローチャートである。以下、フローチャートに従って説明する。
【００７３】
データ出力処理を開始すると、先ず初めに、対象ノズルを選択する（ステップＳ３００）。図４に示したように、インク吐出用ヘッドの底面には、複数のノズルが設けられており、各ノズルには駆動バッファ２６１が接続されている。ステップＳ３００では、ＲＡＭ１０６上に記憶された判断結果のデータを駆動バッファ２６１に出力するに先立って、対象とするノズルを選択する。
【００７４】
次いで、選択した対象ノズルの印刷パスを設定する（ステップＳ３０２）。すなわち、前述したように、プリンタ２００では１つのラスタを、パスＡないしパスＤの４回の主走査に分けて形成しているので、これから主走査して形成しようとするドットが、いずれのパスであるかを設定するのである。印刷パスとは、このように、これからドットを形成しようとするパスを言う。
【００７５】
次いで、ＲＡＭ１０６に記憶されているドット形成有無の判断結果から、１回の主走査で形成する画素数分（１パス分）のデータを読み出して、対象ノズルの駆動バッファ２６１に書き込む処理を行う（ステップＳ３０４）。ここでは、図１０あるいは図１２に示したように、ドット形成有無の判断結果は、ドットがパスＡないしパスＤのいずれのパスで形成されるかに応じてグループ分けされた状態で記憶されている。このため、ＲＡＭ１０６上に記憶された対象ノズルのデータを読み出して、駆動バッファ２６１に書き込む処理を迅速に行うことができる。
【００７６】
次いで、インク吐出用ヘッド２４４〜２４７に設けられている全ノズルを選択して、選択したノズルのデータを駆動バッファ２６１に書き込んだか否かを判断する（ステップＳ３０６）。未だ対象ノズルとして選択していないノズルがあれば（ステップＳ３０６：ｎｏ）、ステップＳ３００に戻って、新たなノズルを対象ノズルとして選択し、続く一連の処理を繰り返す。こうして、全てのノズルについて、ＲＡＭ１０６上に記憶された判断結果のデータを駆動バッファ２６１に書き込んだら（ステップＳ３０６：ｙｅｓ）、ヘッドを主走査させながら、駆動バッファ２６１上のデータをそれぞれのノズルに向けて、制御データとして出力する（ステップＳ３０８）。その結果、各ノズルからは制御データに従ってインク滴が吐出され、印刷用紙上にドットが形成される。
【００７７】
こうして、ドットを形成しながら１回分の主走査を行ったら、画像の印刷が終了したか否かを判断し（ステップＳ３１０）、終了していなければ（ステップＳ３１０：ｎｏ）、所定量の副走査を行った後（ステップＳ３１２）、ステップＳ３００に戻って印刷パスを１つ進め、続く一連の処理を行う。そして、印刷終了（ステップＳ３１０：ｙｅｓ）と判断されるまで、こうした処理を繰り返す。
【００７８】
以上に説明したように、本実施例の画像処理では、ハーフトーン処理において、ドット形成有無の判断結果をＲＡＭ１０６に記憶する際に、ドットを形成するパスに応じてグループ分けした状態で記憶している。このため、対象ノズルのデータをＲＡＭ１０６から読み出して、駆動バッファ２６１に１パス分ずつ書き込む処理を迅速に行うことが可能となり、延いては画像の印刷に要する時間を短縮化することが可能となる。また、ＲＡＭ１０６上にグループ分けして記憶されているデータは、ワードあるいはワードの整数倍に相当するデータ量をひとまとまりとして記憶されている。前述したように、コンピュータはワード単位のデータを高速に処理可能に設計されていることから、このような大きさのデータ量ずつ、ひとまとまりとして記憶しておけば、ＲＡＭ１０６からデータを読み出して駆動バッファ２６１に書き込む処理を、さらに迅速に行うことが可能となる。
【００７９】
ここで、本実施例によって印刷時間が短縮化される効果を、明確に示す説明するために、通常のハーフトーン処理およびデータ出力処理について簡単に説明する。図１４は、通常のハーフトーン処理の流れを示すフローチャートである。フローチャートに示すように、通常のハーフトーン処理では、先ず初めに着目画素を選択し（ステップＳ４００）、その着目画素について、ドット形成の有無を判断する（ステップＳ４０２）。かかる判断には、誤差拡散法やディザ法などの種々の手法を適用することができる。次いで、着目画素についての判断結果を、画像上での画素の並びと同じ順序でＲＡＭに記憶する（ステップＳ４０４）。
【００８０】
図１５は、通常のハーフトーン処理において、着目画素についての判断結果をＲＡＭ上に書き込む様子を説明する概念図である。図１５（ａ）では、斜線付きの丸印を付すことによって着目画素を表している。図１５（ａ）に示されているように、ラスタを先頭から１バイト分ずつ区切っていくと、着目画素はバイト中で先頭から７番目の画素となっている。この着目画素にドットを形成すると判断した場合は、図１５（ｂ）に示した１ワード（８ビット）のデータを用意する。用意するデータは、着目画素の位置に対応させて、先頭から７番目のビットが「１」に設定され、他のビットには「０」が設定されたデータである。
【００８１】
次いで、ＲＡＭ上の判断結果を書き込もうとする箇所から１ワード分のデータを読み出して、図１５（ｂ）に示すデータとの間で論理ＯＲ演算を行った後、演算結果をＲＡＭ上の同じ箇所に書き込む操作を行う。一方、着目画素にドットを形成しないと判断した場合には、図１５（ｃ）に示す１ワードのデータを用意して、ＲＡＭ上から読み出したデータとの間で論理ＡＮＤ演算を行い、演算結果をＲＡＭ上の同じ位置に書き込む操作を行う。
【００８２】
図１４に示した通常のハーフトーン処理と、図７に示した本実施例のハーフトーン処理とを比較すれば明らかなように、本実施例のハーフトーン処理では、着目画素の判断結果を記憶する際に、グループ分けした状態で記憶している分だけ、通常のハーフトーン処理よりも処理時間が長くなる。しかし、ドット形成有無の判断に要する時間や、判断結果を書き込むために必要なデータを用意したり論理演算を行ったりするための時間に比べれば、グループ分けするための時間は、それほど長い時間ではないので、通常のハーフトーン処理に比べて、それほど処理時間が長くなるわけではない。
【００８３】
次に、ＲＡＭ上のデータをヘッドのノズルに向けて出力するデータ出力処理について説明する。本実施例では、前述したように、着目画素についての判断結果は、該着目画素のドットがいずれのパスで形成されるかに応じて、グループ分けした状態で記憶されている。これに対して通常のハーフトーン処理では、ドット形成有無の判断結果は、画像上での画素の並びと同じ順番で記憶されているので、このデータを読み出してノズルに出力する処理は、複雑なものとなってしまう。以下では、これを図１６を参照しながら説明する。
【００８４】
図１６は、ドット形成有無の判断結果が、画像上で画素の並びと同じ順番でＲＡＭに書き込まれている場合に、あるラスタ上のデータを読み出して、駆動バッファに書き込む様子を概念的に示した説明図である。図１６の一番上に、複数の矩形が一列に並んで示されているのは、対象とするラスタのデータが、ＲＡＭ上に記憶されている様子を模式的に表したものである。今、このラスタの中で、斜線付きの丸印を付した画素（ここでは、対象画素と呼ぶ）についてのデータを、駆動バッファに書き込むものとする。
【００８５】
前述したように、ＲＡＭ上のデータはワード単位で読み書きされるから、先ず初めに対象画素を含んだ１ワード分のデータを、ハーフトーン済みのデータから読み出す。図１６では、読み出したデータが、１６進数表示で５Ａｈであったものとしている。
【００８６】
こうして読み出した１ワード分のデータの中で、対象画素についての判断結果のデータは先頭から４ビット目のデータだけであり、他のビットのデータは対象画素ではない他の画素についてのデータである。そこで、対象画素の判断結果だけを取り出すため、対象画素の画素位置に対応するマスクデータを用意して、読み出した１ワード分のデータ（ここでは、５Ａｈ）とマスクデータとの論理ＡＮＤ演算を行う。マスクデータは、１ワード中で対象画素のデータが記憶されている位置、すなわち先頭から４番目のビットのみが「１」で、他のビットは全て「０」となっているデータ（１６進数表示すれば、１０ｈ）を使用する。このようなマスクデータを用いて論理ＡＮＤ演算を行えば、読み出した１ワード分のデータ（ここでは、５Ａｈ）から対象画素についての判断結果のみを取り出すことができる。
【００８７】
対象画素の判断結果を取り出したら、今度はビットシフトを行って、駆動バッファに書き込むためのデータを作成する。ここでは、次のような操作を行う。先ず、対象画素はラスタ上で先頭から４番目の画素としており、また、図８の例に即してラスタを３回の主走査で形成するものとすると、対象画素は、１パス目に２番目に形成される画素である。そこで、先に取り出した対象画素のデータをビットシフトすることにより、先頭から２番目のビットのみが「１」で他のビットは「０」となるようなデータ（１６進数表示では、４０ｈ）を作成する。こうして書き込み用のデータが得られたら、１パス目のデータを記憶するＲＡＭ上の所定のデータ領域に書き込んでやる。具体的には、書き込もうとするデータ領域から１ワード分のデータを読み出して、書き込み用のデータ（ここでは、４０ｈ）と論理ＯＲ演算を行い、演算結果を元のデータ領域に書き込む操作を行う。尚、対象画素のデータを１画素分ずつＲＡＭに書き込む代わりに、中間的なバッファに蓄えておき、１ワード分のデータを蓄えたら、まとめてＲＡＭに書き込む場合もある。
【００８８】
以上のような一連の操作を行うことによって、対象画素についての判断結果がＲＡＭ上に画素の順序で記憶されている判断結果の中から取り出され、ＲＡＭ上に別に設けられたデータ領域に書き込まれたことになる。こうした操作を、印刷しようとしているラスタの全ての画素について行う。以上の全ての操作が完了すれば、ＲＡＭ上に画素の順序で記憶されている判断結果が、ノズルでドットを形成する順序に並べ替えられて、ＲＡＭ上の別のデータ領域に移し替えられたことになる。こうして判断結果を並べ替えたら、このデータを、プリンタ内の駆動バッファに書き込んだ後、駆動バッファから出力してやれば、印刷用紙上にドットが形成されることになる。
【００８９】
上述したように、画素の順序で記憶された判断結果を並べ替えるためには、単にデータを並べ替えるのではなく、少なくとも次の３つの操作が必要となる。すなわち、対象画素のデータを読み出すための論理ＡＮＤ演算と、書き込み用のデータを作成する操作と、データを書き込むための論理ＯＲ演算の３つの操作である。こうした操作を全ての画素について実施する必要があるので、ＲＡＭ上から読み出したデータを並べ替えてノズルに出力するためには、どうしてもある程度の時間がかかってしまう。
【００９０】
これに対して、本実施例のハーフトーン処理では、着目画素についてのドット形成有無の判断結果が、該着目画素のドットがいずれのパスで形成されるかに応じてグループ分けされた状態で記憶されている。このため、ドットを形成するに際しては、ＲＡＭ１０６上のデータをひとまとまりずつ読み出して駆動バッファ２６１に書き込むことで、データを迅速に出力することができる。加えて、ひとまとまりのデータは、コンピュータが迅速に取り扱うことの可能な、ワードあるいはワードの整数倍のデータ量となっているので、この点からも、ＲＡＭ１０６上のデータを駆動バッファ２６１に迅速に書き込むことが可能となっている。こうした理由から、図１２に示す本実施例のデータ出力処理は、図１６を用いて説明した通常のデータ出力処理に比べて、きわめて迅速に実行することが可能なのである。
【００９１】
Ｆ．変形例：
上述した本実施例の画像処理には、いくつかの変形例が存在する。以下では、これら変形例につき簡単に説明する。
【００９２】
（１）第１の変形例：
上述した実施例では、単一の画素については、ドットを形成するかしないかの、２つの状態しか表現し得ないものとして説明した。しかし、ドットの大きさを変えるなどして、単一画素でもより多くの状態を表現可能なプリンタも存在する。本発明は、こうしたプリンタにも好適に適用することが可能である。例えば、ドットの大きさを大・中・小の３段階に変更することができるものとすると、「ドットを形成しない」、「小ドットを形成する」、「中ドットを形成する」、「大ドットを形成する」の４つの状態を取り得ることになる。こうした４つの状態を表現するために、ハーフトーン処理の判断結果は、１つの画素あたり２ビットのデータで表現されることになる。
【００９３】
図１７は、２ビットのデータを用いて、ドット形成有無の判断結果を表現する様子を例示した説明図である。例えば、図１７（ａ）に例示するように、いずれのビットにも「０」が設定されたデータ「００」は「ドットを形成しない」状態を表すものとする。逆に、いずれのビットにも「１」が設定されたデータ「１１」は「大ドットを形成する」状態を表すものとする。また、下位ビットにだけ「１」が設定されたデータ「０１」は「小ドットを形成する」状態を表すものとし、逆に上位ビットにだけ「１」が設定されたデータ「１０」は「中ドットを形成する」状態を表すものとする。こうすれば、２ビットのデータを用いて、４つの状態を表現することができる。ハーフトーン処理の判断結果をＲＡＭ１０６に記憶する場合は、こうした２ビットのデータを組み合わせて１ワードのデータにまとめて記憶する。ここでは、１ワードは１バイトのデータであるとしているから、図１７（ｂ）に例示するように、１ワード中には４画素分の判断結果が含まれることになる。
【００９４】
図１７に例示したように、１画素あたり２ビットのデータとして表現されている場合に、ハーフトーン処理の判断結果をＲＡＭ１０６に記憶する様子について補足して説明する。図１８は、あるラスタ上の着目画素についての判断結果を、記憶する様子を示す説明図である。図１８（ａ）に示した小さな正方形は、ラスタを構成する画素を表しており、斜線つきの丸印が付された画素は着目画素を表している。今、パス数が４、すなわち、１つのラスタを４回の主走査に分けて形成するものとすると、図１８（ａ）に示した着目画素は、パスＣ中の５番目の画素となる。ここで、図１７に示したように、ハーフトーン処理の判断結果は、画素あたり２ビットで表現されるから、５番目の画素についての判断結果は、図１８（ｂ）に斜線を付して示したように、２バイト目の先頭の２ビットに記憶される。例えば、着目画素にドットを形成しないと判断されている場合は、図１８（ｂ）の斜線を付した２ビットには、データ「００」が記憶される。また、着目画素に中ドットを形成すると判断されている場合は、データ「１０」が記憶されることになる。
【００９５】
こうして、１画素あたりの判断結果が、２ビットずつ記憶されている場合は、ＲＡＭ上から２ビットずつデータを読み出して、ノズルに向かって出力すればよい。
【００９６】
（２）第２の変形例：
また、上述した各種実施例では、１枚の画像中ではパス数は同一であるものとして説明した。しかし、１枚の画像を、複数種類のパス数を切り換えながら印刷する場合もある。本発明は、この様な場合にも好適に適用することができる。以下では、こうした第２の変形例について説明する。
【００９７】
図１９は、複数種類のパス数を切り換えながら画像を印刷する様子を概念的に示した説明図である。図１９（ａ）は、１枚の画像中でパス数２の領域とパス数３の領域とを切り換えながら印刷する場合を例示した説明図である。また、図１９（ｂ）には、参考として、全てのラスタがパス数２で形成される場合を示してある。説明の便宜から、初めに図１９（ｂ）を参照しながら、画像中の全てのラスタをパス数２で形成する場合について簡単に説明する。
【００９８】
前述したようにプリンタ２００は、印刷用紙上にドットを形成しながらインク吐出用ヘッドを主走査することでラスタを形成するとともに、ヘッドを所定量ずつ副走査させて、印刷用紙上での位置を少しずつずらしながら複数のラスタを形成することで画像を印刷している。図１９（ｂ）中の左半分には、インク吐出用ヘッド２４４〜２４７を所定量ずつ副走査している様子を表しており、図中の右半分には、それぞれの副走査位置で主走査することにより、印刷用紙上に複数のラスタが形成されていく様子を概念的に表している。尚、本実施例のプリンタ２００には、各色インク毎に４つのインク吐出用ヘッド２４４〜２４７が備えられているが、図示が煩雑となることを避けるために、図１９では、これら４つのヘッドを１つのヘッドで代表して表示している。
【００９９】
画像の全ラスタをパス数２で形成する場合は、例えば、図１９（ｂ）に示されているように、インク吐出用ヘッドを１回主走査させてドットを形成した後、ヘッドの長さのちょうど半分だけ副走査させ、この位置で２回目の主走査を行う。２回目の主走査を行ってドットを形成したら、再び、ヘッドを同じ量だけ副走査させて、３回目の主走査を行う。図１９中に示した破線の矢印は、ヘッドを所定量ずつ副走査する様子を模式的に表したものである。このように副走査して行けば、インク吐出用ヘッドは、ヘッドの長さのちょうど半分ずつ副走査方向に位置がずれていくことになり、同じ部分をヘッドが２回ずつ主走査することになる。このため、画像中の全てのラスタをパス数２で形成することができる。
【０１００】
この様子を、図１９（ｂ）の右半分に示した図を用いて説明する。画像中の一番上の部分は、１回目の主走査時および２回目の主走査時にヘッドが通過するので、この領域では、１パス目と２パス目の２回に分けて（すなわち２パスで）ラスタを形成することができる。図１９（ａ）中で、「２パス（１＋２）」と表示されているのは、この領域のラスタを、１パス目および２パス目の２パスで形成可能なことを表したものである。画像中でこの領域の直ぐ下にある領域は、２回目の主走査時および３回目の主走査時にヘッドが通過するので、この領域では、２パス目と３パス目の２パスでラスタを形成することができる。以下、同様に、その下の領域は３パス目と４パス目の２パスで、更にその下の領域は４パス目と５パス目の２パスで、それぞれラスタを形成することができる。結局、画像中の全てのラスタをパス数２で形成することが可能となる。
【０１０１】
次に、図１９（ａ）を参照しながら、１枚の画像中に２種類のパス数が現れる場合について説明する。図１９（ａ）においても、前述した図１９（ｂ）と同様に、インク吐出用ヘッドを所定量ずつ副走査しているが、図１９（ａ）での副走査量は、図１９（ｂ）での副走査量よりも少しだけ小さな値に設定されている。こうすることにより、１枚の画像中に２パスの領域と３パスの領域とが現れる。すなわち、前述した図１９（ｂ）に示した例では、副走査を２回行うことで、インク吐出用ヘッドはちょうどヘッド１つ分だけ副走査方向に移動させることができた。これに対して、図１９（ａ）では副走査量が小さな値に設定されているので、２回の副走査で移動する距離はヘッドの長さより小さくなってしまい、ヘッドの一部に重複する部分が発生する。例えば、図１９（ａ）中で、１パス目にヘッドが主走査する領域と、３パス目にヘッドが主走査する領域とは、ヘッドの端部で重複する。同様に、２パス目にヘッドが通過する領域と４パス目にヘッドが通過する領域についても、あるいは３パス目と５パス目についても、それぞれヘッドの端部が通過する領域が重複する。結局、画像中でヘッドの端部が通過する領域でのパス数は、他の部分が通過する領域のパス数よりも大きな値となるのである。
【０１０２】
一般に、インク吐出用ヘッドの製造上の都合から、ヘッドの端部ではノズルの精度が低下し易く、従って、ヘッドの端部が主走査する部分の画像は画質が低下し易い傾向にある。このため、副走査量を適切な値に設定することで、ヘッドの端部が形成する領域でのパス数を、他の領域のパス数より大きな値としてやれば、画質が低下し易い部分だけを大きなパス数で印刷することができるので、印刷速度の低下を最小限に抑制しながら、高画質な画像を印刷することが可能となる。
【０１０３】
次に、１枚の画像中にパス数の異なる領域が含まれている場合に、本発明を適用した第２の変形例について説明する。図２０は、こうした第２の変形例において、画像データにハーフトーン処理およびデータ出力処理が施されて、変換されたデータが駆動バッファに書き込まれる様子を概念的に示したものである。図中の左側に示した矩形は、印刷しようとする画像の画像データを模式的に表したものである。ここでは、図１９を用いて説明したように、画像中には、ラスタが２パスで形成される領域と、３パスで形成される領域とが存在しているものとする。インク吐出用ヘッドのヘッド長さは決まっているので、ヘッドの副走査量が決まれば、画像中で３パスで形成される領域は自ずから決定される。図２０では、ラスタが３パスで形成される領域を、ハッチングを付して表している。
【０１０４】
ハーフトーン処理では、各画素についてのドット形成の有無を画像データに基づいて判断した後、判断結果をＲＡＭ１０６に記憶する。ここで、画像中でラスタが２パスで形成される領域については、判断結果をパスＡおよびパスＢに対応する２つのグループに分けた状態で記憶する。また、画像中でラスタが３パスで形成される領域については、パスＡ、パスＢ、およびパスＣに対応する３つのグループに分けた状態で判断結果を記憶する。図２０の中央部分に示した矩形は、ドット形成有無の判断結果が書き込まれるＲＡＭ１０６を模式的に表したものである。図示されているように、画像中で２パスの領域についての判断結果は、パスＡおよびパスＢの２つにグループ分けされた状態でＲＡＭ１０６に記憶され、ハッチングを付して示した３パスの領域についての判断結果は、パスＡ、パスＢ、およびパスＣの３つのグループにグループ分けした状態でＲＡＭ１０６に記憶される。
【０１０５】
続くデータ出力処理では、ＲＡＭ１０６に記憶されているデータを読み出して駆動バッファに書き込んでいく。そして、主走査１回分のデータを書き込んだら、蓄積したデータをインク吐出用ヘッドの主走査に合わせてノズルに出力することにより、印刷用紙上にドットを形成する。ここで、駆動バッファには、続く主走査でドットが形成される画素についての判断結果を、ヘッドに複数設けられたノズル毎に書き込んでやる必要がある。この点、第２の変形例では、ラスタが２パスで形成される領域はパスＡおよびパスＢの２つにグループ分けした状態でＲＡＭ１０６に記憶され、ラスタが３パスで形成される領域はパスＡないしパスＣの３つにグループ分けした状態で記憶されている。このため、ＲＡＭ１０６上からデータを読み出して駆動バッファに書き込む処理を迅速に行うことが可能となる。
【０１０６】
あるいは、第２の変形例では、次のようにすることもできる。すなわち、図２１に示すように、ハーフトーン処理中でドット形成の有無を判断したら、画像中のいずれの領域であるかに関わらず、一旦、パスＡおよびパスＢの２つのグループに分けた状態でＲＡＭ１０６に記憶する。そして、ＲＡＭ１０６上に記憶されたデータを駆動バッファに書き込む際には、画像中でラスタが２パスで形成される領域については、グループ毎にデータを読み出して駆動バッファに書き込んでいく。また、画像中でラスタが３パスで形成される領域については、ＲＡＭ１０６上に記憶されているグループ分けは、ノズルがラスタを形成するための主走査と対応したグループ分けにはなっていない。そこで、３パスで形成される領域については、パスＡおよびパスＢにグループ分けして記憶されているデータの中から、続く主走査で形成する画素についてのデータを選択して、駆動バッファに書き込んでいく。こうして、主走査１回分のデータが蓄積されたら、インク吐出用ヘッドの主走査に合わせて、蓄積したデータを駆動バッファからノズルに出力することにより、印刷用紙上にドットを形成する。
【０１０７】
こうした方法では、ラスタを３パスで形成する領域については、ＲＡＭ１０６上に記憶されているグループ分けは、実際にラスタを形成するための主走査に対応したグループ分けとはなっていない。このため、ＲＡＭ１０６上に記憶されているデータの中から、続く主走査で形成する画素についてのデータを選択して、駆動バッファに書き込む操作が必要となる。もちろん、こうした操作には時間がかかる。しかし、画像中で３パスで形成される領域は、２パスで形成される領域に比べて僅かな領域にすぎず、大部分の領域については、ドット形成有無の判断結果は、実際にラスタを形成するために行う主走査と対応してグループ分けした状態で記憶される。このため、全体としてみれば、ＲＡＭ１０６に記憶されたドット形成有無の判断結果を読み出して、駆動バッファに書き込む処理を迅速に行うことが可能となる。
【０１０８】
尚、図２１に示した例では、ラスタが３パスで形成される領域については、ＲＡＭ１０６上のデータの中から、続く主走査で形成する画素についてのデータを選択する操作が必要となる。従って、こうした操作が必要となる領域については、ハーフトーン処理後のデータを記憶する際に、グループ分けすることなく、画像上での画素の並びに従って記憶しておくこととしても良い。
【０１０９】
また、上述したように、画像中の一部の領域については、ＲＡＭ１０６上に記憶されたデータの中から、続く主走査で形成する画素についてのデータを取り出すこととすれば、１枚の画像中でパス数が複雑に切り替わる場合でも、本発明を比較的容易に適用することが可能となる。
【０１１０】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。例えば、上述した各実施例は、いずれもカラー画像を印刷するものとして説明したが、モノクロ画像を印刷するプリンタに対しても同様に適用することが可能である。
【０１１１】
また、上述の機能を実現するソフトウェアプログラム（アプリケーションプログラム）を、通信回線を介してコンピュータシステムのメインメモリまたは外部記憶装置に供給し実行するものであってもよい。もちろん、ＣＤ−ＲＯＭやフレキシブルディスクに記憶されたソフトウェアプログラムを読み込んで実行するものであっても構わない。
【０１１２】
加えて、上述した各種実施例では、画像データ変換処理はコンピュータ内で実行されるものとして説明したが、画像データ変換処理の一部あるいは全部をプリンタ側、あるいは専用の画像処理装置を用いて実行するものであっても構わない。
【図面の簡単な説明】
【図１】発明の概要を例示した説明図である。
【図２】本実施例の画像処理装置としてのコンピュータの構成を概念的に示した説明図である。
【図３】本実施例のプリンタの構成を概念的に示した説明図である。
【図４】インク吐出用ヘッドの底面に形成されたノズルの配列を示す説明図である。
【図５】制御回路の制御の下で、ノズルからインク滴が吐出されるメカニズムを示した説明図である。
【図６】本実施例の画像処理の流れを示したフローチャートである。
【図７】本実施例のハーフトーン処理の流れを示したフローチャートである。
【図８】ラスタを構成する画素が印刷パス毎に分類される一態様を例示した説明図である。
【図９】ラスタを構成する画素が印刷パス毎に分類される他の態様を例示した説明図である。
【図１０】ドット形成有無の判断結果を印刷パス毎に分けて記憶する一態様を示した説明図である。
【図１１】着目画素についての判断結果をワード単位で記憶する様子を示した説明図である。
【図１２】ドット形成有無の判断結果を印刷パス毎に分けて記憶する他の態様を示した説明図である。
【図１３】本実施例のデータ出力処理の流れを示すフローチャートである。
【図１４】参考としての通常のハーフトーン処理の流れを示したフローチャートである。
【図１５】参考としての通常のハーフトーン処理において、判断結果を記憶する様子を示した説明図である。
【図１６】参考としての通常のハーフトーン処理で記憶された判断結果を読み出して、駆動バッファに書き込む様子を示す説明図である。
【図１７】２ビットを用いて着目画素についての４つの状態を表現している様子を例示した説明図である。
【図１８】着目画素についての判断結果を２ビットデータで表現する第１の変形例を示した説明図である。
【図１９】複数種類のパス数を切り換えながら画像を印刷する第２の変形例を示した説明図である。
【図２０】第２の変形例において画像データに画像処理が施されて駆動バッファに書き込まれる一態様を概念的に示した説明図である。
【図２１】第２の変形例において画像データに画像処理が施されて駆動バッファに書き込まれる他の態様を概念的に示した説明図である。
【符号の説明】
１０…印刷装置
１２…ハーフトーンモジュール
１４…メモリ
１６…ドット形成要素
１００…コンピュータ
１０２…ＣＰＵ
１０４…ＲＯＭ
１０６…ＲＡＭ
１０８…ＰＩＦ
１０８…周辺機器インターフェースＰＩＦ
１０９…ディスクコントローラＤＤＣ
１１０…ネットワークインターフェースカードＮＩＣ
１１２…ビデオインターフェースＶＩＦ
１１４…ＣＲＴ
１１６…バス
１１８…ハードディスク
１２０…デジタルカメラ
１２２…カラースキャナ
１２４…フレキシブルディスク
１２６…コンパクトディスク
２００…プリンタ
２３０…キャリッジモータ
２３５…紙送りモータ
２３６…プラテン
２４０…キャリッジ
２４１…印字ヘッド
２４２，２４３…インクカートリッジ
２４４〜２４７…インク吐出用ヘッド
２６０…制御回路
２６１…駆動バッファ
２６２…Ｄ／Ａ変換器
３００…通信回線
３１０…記憶装置
【図１】
2004276524.tif 000003
【図２】
2004276524.tif 000004
【図３】
2004276524.tif 000005
【図４】
2004276524.tif 000006
【図５】
2004276524.tif 000007
【図６】
2004276524.tif 000008
【図７】
2004276524.tif 000009
【図８】
2004276524.tif 000010
【図９】
2004276524.tif 000011
【図１０】
2004276524.tif 000012
【図１１】
2004276524.tif 000013
【図１２】
2004276524.tif 000014
【図１３】
2004276524.tif 000015
【図１４】
2004276524.tif 000016
【図１５】
2004276524.tif 000017
【図１６】
2004276524.tif 000018
【図１７】
2004276524.tif 000019
【図１８】
2004276524.tif 000020
【図１９】
2004276524.tif 000021
【図２０】
2004276524.tif 000022
【図２１】
2004276524.tif 000023