(57)【特許請求の範囲】
【請求項１】
印字ヘッドを印刷媒体に対して主走査方向及び前記主走査方向と交差する副走査方向に相対的に移動させ、副走査方向に所定の間隔で配置された複数のノズルから前記印刷媒体にインク滴を吐出させ、前記印刷媒体上にドットを形成することによって画像を出力する画像出力装置であって、
前記複数のノズルを有し、前記印刷媒体に対し相対的に主走査方向に移動し、副走査方向について前記印刷媒体上に形成されるドット間隔より大きな間隔で配置された前記複数のノズルからインク滴を吐出することにより主走査方向に同時に複数の画素列を形成可能な前記印字ヘッドと、
画像の各画素についてドット形成の有無を表したドットデータを記憶したドットデータ記憶手段と、
前記印字ヘッドの前記主走査方向への相対的移動により前記複数のノズルにより形成される前記画素列に対応するドットデータのみを前記ドットデータ記憶手段から読み出し、前記読み出されたドットデータの各画素を複数ドットのデータに変換して高解像度ドットデータを作成し、前記印字ヘッドが主走査方向に相対的に移動し前記複数のノズルにより前記印刷媒体上にドットを形成する順序に従って、前記高解像度ドットデータの中で、前記複数のノズルにより前記印刷媒体上にドットを形成させるドットデータのみを前記印字ヘッドに供給する高解像度ドットデータ供給手段と、
を備えたことを特徴とする画像出力装置。
【請求項２】
請求項１記載の画像出力装置であって、
前記印字ヘッドは、前記印刷媒体上の１つの画素列について、主走査方向への１回の相対的移動で飛び飛びの位置の画素にドットを形成し、複数回の相対的移動で前記画素列を完成させるものであることを特徴とする画像出力装置。
【請求項３】
請求項１記載の画像出力装置であって、
前記高解像度ドットデータ供給手段は、前記読み出したドットデータの各画素を前記主走査の方向に配列する複数ドットのデータに変換した後、前記印字ヘッドに供給する手段であることを特徴とする画像出力装置。
【請求項４】
請求項１記載の画像出力装置であって、
前記高解像度ドットデータ供給手段は、前記読み出したドットデータの各画素を前記副走査方向に配列する複数ドットのデータに変換した後、前記印字ヘッドに供給する手段であることを特徴とする画像出力装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の画像出力装置であって、
前記印字ヘッドは、前記ノズルからインク液滴を吐出することにより、前記印刷媒体上に大きさの異なるドットを形成であり、
前記ドットデータ記憶手段は、前記ドットデータとして、前記ドット形成の有無及び大きさを記憶するものであり、
前記高解像度ドットデータ供給手段は、前記画素毎のドットデータを、前記ドットの有無及び大きさに応じて複数ドットのデータに変換した後、前記印字ヘッドに供給するものであることを特徴とする画像出力装置。
【請求項６】
請求項５記載の画像出力装置であって、
前記高解像度ドットデータ供給手段は、前記ドットデータが複数の大きさを表わすドットデータ中で最も大きなドットを示すドットデータである場合、前記ドットデータを、全てが最も大きなドットを示す複数データに変換した後、前記印字ヘッドに供給するものであることを特徴とする画像出力装置。
【請求項７】
請求項５記載の画像出力装置であって、
前記高解像度ドットデータ供給手段は、前記ドット形成の有無及び大きさを表わすドットデータと、前記ドットデータを複数ドットに変換する対応関係を複数組記憶しており、前記複数組中の対応関係を切り換え、前記切り換えられた組の対応関係によって前記ドットデータの各画素を複数ドットのデータに変換して高解像度ドットデータを作成し、前記高解像度ドットデータを前記印字ヘッドするものであることを特徴とする画像出力装置。
【請求項８】
請求項７記載の画像出力装置であって、
前記高解像度ドットデータ供給手段は、前記画像の解像度に応じて設定されたディザマトリックスに基づいて前記複数組の対応関係から一の組の対応関係を選択し、当該対応関係に基づいて前記ドットデータの各画素を複数ドットのデータに変換し、前記印字ヘッドに供給するものであることを特徴とする画像出力装置。
【請求項９】
印字ヘッドを印刷媒体に対して主走査方向及び前記主走査方向と交差する副走査方向に相対的に移動させ、副走査方向に所定の間隔で配置された複数の前記ノズルから前記印刷媒体にインク滴を吐出させ、前記印刷媒体上にドットを形成することによって画像を出力する画像出力方法であって、
画像の各画素についてドット形成の有無を表したドットデータを記憶する工程と、
前記複数のノズルを有する前記印字ヘッドを、前記印刷媒体に対し相対的に主走査方向に移動し、副走査方向について前記印刷媒体上に形成されるドット間隔より大きな間隔で配置された前記複数のノズルからインク滴を吐出することにより主走査方向に同時に複数の画素列を形成する工程と、
前記印字ヘッドの前記主走査方向への相対的移動により前記複数のノズルにより形成される前記画素列に対応するドットデータのみを前記ドットデータ記憶手段から読み出し、前記読み出されたドットデータの各画素を複数ドットのデータに変換して高解像度ドットデータを作成し、前記印字ヘッドが主走査方向に相対的に移動し前記複数のノズルにより前記印刷媒体上にドットを形成する順序に従って、前記高解像度ドットデータの中で、前記複数のノズルにより前記印刷媒体上にドットを形成させるドットデータのみを前記印字ヘッドに供給する工程と、
を備えたことを特徴とする画像出力方法。
【請求項１０】
印字ヘッドを印刷媒体に対して主走査方向及び前記主走査方向と交差する副走査方向に相対的に移動させ、副走査方向に所定の間隔で配置された複数の前記ノズルから前記印刷媒体にインク滴を吐出させ、前記印刷媒体上にドットを形成することによって画像を出力する画像出力方法を、コンピュータを用いて実現するためのプログラムであって、
画像の各画素についてドット形成の有無を表したドットデータを記憶する機能と、
前記複数のノズルを有する前記印字ヘッドを、前記印刷媒体に対し相対的に主走査方向に移動し、副走査方向について前記印刷媒体上に形成されるドット間隔より大きな間隔で配置された前記複数のノズルからインク滴を吐出することにより主走査方向に同時に複数の画素列を形成する機能と、
前記印字ヘッドの前記主走査方向への相対的移動により前記複数のノズルにより形成される前記画素列に対応するドットデータのみを前記ドットデータ記憶手段から読み出し、前記読み出されたドットデータの各画素を複数ドットのデータに変換して高解像度ドットデータを作成し、前記印字ヘッドが主走査方向に相対的に移動し前記複数のノズルにより前記印刷媒体上にドットを形成する順序に従って、前記高解像度ドットデータの中で、前記複数のノズルにより前記印刷媒体上にドットを形成させるドットデータのみを前記印字ヘッドに供給する機能と、
をコンピュータを用いて実現するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力媒体上にドットを形成して画像を出力する技術に関し、詳しくは、画像データを高解像度のデータに変換しながら画像を出力する技術に関する。
【背景技術】
【０００２】
印刷用紙や液晶表示画面などの出力媒体上にドットを形成することによって画像を出力する画像出力装置は、各種画像機器の出力装置として広く使用されている。また、今日では、有機ＥＬ（Electro-Luminescence）やいわゆる電子インクなどを利用した新たな画像出力装置も各種提案されている。これら画像出力装置では、通常、画像は格子状に細分された複数の画素の集合として取り扱われており、画素毎にドット形成の有無を表すデータ（ドットデータ）に従って各画素にドットを形成することにより表示されている。ドットデータは、画像のデータに適切な画像処理を施してやることで生成することができ、そのための画像処理手法としては、ディザ法や誤差拡散法と呼ばれる方法を初めとして種々の手法が知られている。このようにして生成したドットデータを受け取ると、画像出力装置は、ドットデータに従ってそれぞれの画素にドットを形成する。１つの画像には多数の画素が含まれているから、画像出力装置は、全てのドットを同時に形成するのではなく、通常は、画素の列に沿って順次ドットを形成していく。こうして画素列に沿ってドットを形成していくことによって、出力媒体上に画像が出力される。
【０００３】
こうした画像出力装置では、より高画質の画像を得ようとする場合、画像をより細かな画素に分割して、画像の出力を高解像度化することが効果的である。画像をより小さな画素に分割してやれば（すなわち画像の出力を高解像度化してやれば）、それぞれの画素に形成されるドットも小さくなるので、ドットの目立たない高画質の画像を得ることが可能である（例えば、特許文献１）。
【０００４】
【特許文献１】特開平６−３３４８４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、画像の出力を高解像度化すると、画像出力装置に搭載しなければならない記憶容量が増加してしまうという問題があった。すなわち、ドットデータは画像の先頭の画素列から順番に画像出力装置に供給され、画像出力装置は、前述したように、ドットデータに従って画素列に沿ってドットを形成しながら画像を出力するが、画素列が形成される順番は、必ずしも画像の先頭の画素列から順番に形成されるわけではない。このため、画像出力装置は受け取ったドットデータをメモリに一旦記憶しておき、ドットを形成しようとする画素のドットデータを読み出しながら、画素列に沿って順次ドットを形成していくことにより画像を出力している。このように画像出力装置は、ドットデータを受け取ると、このデータをメモリに一旦記憶しておく必要があるので、画像の出力を高解像度化して画素数が増加すると、それに伴って必要な記憶容量も増加してしまうのである。
【０００６】
更に、画像の出力を高解像度化して画素数が増加すると、画像のデータに画像処理を施してドットデータを生成するための時間も増加してしまう。このため、画像を迅速に出力することが困難になってしまうという問題もあった。
【０００７】
この発明は、従来技術が有する上述した課題を解決するためになされたものであり、画像出力装置に搭載すべき記憶容量の増大や、画像の出力速度の低下といった弊害を引き起こすことなく、高画質な画像を出力可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題の少なくとも一部を解決するために、本発明の画像出力装置は次の構成を採用した。すなわち、
出力媒体上にドットを形成することによって画像を出力する画像出力装置であって、
画像を構成する複数の画素の各々についてドット形成の有無を表したドットデータを記憶しておくドットデータ記憶手段と、
互いに間隔を有する複数本の画素列について、該画素列の先頭方向から同時にドットを形成可能なドット形成要素と、
前記ドット形成要素がドットを形成しようとする前記複数本の画素列のドットデータを、前記ドットデータ記憶手段から読み出して高解像度のデータに変換した後、ドットを形成する順序に従って該ドット形成要素に供給するドットデータ供給手段と
を備えることを要旨とする。
【０００９】
また、上記の画像出力装置に対応する本発明の画像出力方法は、
互いに間隔を有する複数本の画素列に、該画素列の先頭方向から同時にドットを形成可能なドット形成要素を駆動することで、出力媒体上に画像を表示する画像出力方法であって、
画像を構成する複数の画素の各々についてドット形成の有無を表したドットデータを記憶しておく第１の工程と、
前記ドット形成要素が同時に形成する複数本の画素列について、前記記憶されているドットデータを読み出して、高解像度のデータに変換する第２の工程と、
前記変換された高解像度のデータを、前記ドット形成要素がドットを形成する順序に従って該ドット形成要素に供給することで、前記出力媒体上にドットを形成する第３の工程と
を備えることを要旨とする。
【００１０】
こうした本発明の画像出力装置および画像出力方法においては、ドット形成要素にドットデータを供給しながら、互いに間隔を有する複数本の画素列にドットを形成することによって画像を表示する。ドットデータを供給するに際しては、ドット形成要素がドットを形成しようとする複数本の画素列についてのドットデータを読み出して、このデータを高解像度のデータに変換した後、ドットを形成する順序に従って該ドット形成要素に供給する。
【００１１】
こうしてドットデータを供給しながらドットを形成してやれば、高解像度のドットデータに基づいて画像を出力することができるので、高い画質の画像を得ることができる。また、高解像度に変換するドットデータは、ドット形成要素がドットを形成しようとする複数本の画素列についてのドットデータのみでよいので、画像出力装置でデータを高解像度化するために多大な記憶容量が必要となることはない。
【００１２】
更に、画像を出力する段階でドットデータを高解像度のデータに変換してやればよいので、ドットデータは、画像を出力しようとする解像度よりも低い解像度で生成することができる。一般に低解像度のドットデータは、高解像度のドットデータよりも迅速に生成することが可能であり、加えて画像出力装置に迅速に供給することができる。従って、本発明の画像出力装置および画像出力方法によれば、その分だけ画像を迅速に出力することが可能になるという利点も得られる。
【００１３】
こうした画像出力装置においては、画素列に含まれる複数の画素の中から所定数ずつ選択した複数の画素にドットを形成することで、それぞれの画素列を複数回に分けて形成することとしてもよい。
【００１４】
画素列を複数回に分けて形成する場合、ドット形成要素がドットを形成する順序は、それぞれの画素列についても、画素の並びとは異なった順序となるのが一般的である。このような場合、画像出力装置は画素列に全てのドットを形成してしまうまで、ドットデータを記憶しておく必要がある。従って、このように画素列を複数回に分けて形成する場合には、ドット形成要素が形成しようとする画素列のドットデータを、高解像度のデータに変換してから、ドットを形成する順序に従って供給してやることにより、ドットデータを記憶しておくための記憶容量を低減することが可能となる。
【００１５】
あるいは、こうした画像出力装置においては、ドットデータを画素列の方向に高解像度化した後、ドット形成要素に供給することとしても良い。
【００１６】
このようにしてドットデータの解像度を変換してやれば、複数本の画素列のドットデータが、同じ複数本分の画素列のドットデータに変換されることになる。このため、ドットデータを高解像度のデータに変換して、ドット形成要素に供給する処理を簡素なものとすることが可能となって好適である。
【００１７】
または、ドットデータを読み出して、該ドットデータを画素列とは交差する方向に高解像度化した後、ドット形成要素に供給することとしても良い。
【００１８】
このようにしても、高解像度化するドットデータは、ドット形成要素がドットを形成しようとする画素列を含むドットデータのみで足りるので、必要な記憶容量をいたずらに増加させることなく、高解像度で高画質な画像を出力することができる。
【００１９】
尚、高解像度化されたドットデータの内、直ちにドット形成要素に供給されないデータについては、該データが供給されるまで記憶しておくこともできるし、あるいは、一旦データを破棄して、必要になった場合に再度、高解像度化することとしても良い。ドットデータを記憶しておく場合は、高画質な画像を迅速に出力することができる。もちろん、ドットデータを記憶しておく分だけ、必要な記憶容量が若干増加するものの、画像データ全体を高解像度化する場合に比べれば、依然として大きく記憶容量を低減させることが可能である。一方、直ちにドット形成要素に供給されないデータについては一旦データを破棄して、必要になった場合に再度、高解像度化することとしてやれば、記憶容量を大幅に節約することが可能となる。
【００２０】
上述した画像出力装置が、大きさの異なる複数種類のドットを形成可能であり、ドットデータとして画素毎にドットの種類を表すデータを受け取って画像を表示する場合には、次のようにしてドットデータを高解像度のデータに変換することとしてもよい。すなわち、変換しようとする１画素分のドットデータを、解像度に応じた複数画素分のデータに変換することとして、ドットデータとして記憶されているドットの種類と、複数画素に形成されるドットの分布とを対応付けて予め記憶しておく。そして、この対応関係に従って、ドットデータを高解像度のデータに変換していく。
【００２１】
こうすれば、ドットの種類と、複数画素に形成されるドットの分布との対応関係を適切に設定しておくことで、ドットデータを高解像度のデータに適切に変換することができ、延いては高画質の画像を得ることが可能となる。
【００２２】
この時、最も大きなドットが形成される画素については、変換される複数の画素の全てにドットが形成されるような対応関係を設定しておいても良い。
【００２３】
大きさの異なる複数種類のドットを形成して画像を出力する場合、いわゆるベタ画像は全ての画素に最も大きなドットを形成することによって表現されるのが通常である。従って、最も大きなドットについては、複数の画素の全てにドットが形成されるような対応関係を設定しておけば、高解像度に変換後も、全ての画素にドットが形成されたベタ画像を得ることができるので好適である。
【００２４】
更に、複数種類のドットを形成して画像を出力する場合には、ドットの種類と複数画素に形成されるドットの分布との対応関係を複数組、記憶しておき、ドットデータを高解像度のデータに変換するに際しては、これら複数組の対応関係を切り換えながらドットデータを変換することとしてもよい。
【００２５】
ドットデータの変換に際して、常に同じ対応関係を使用するのではなく、複数組の対応関係を切り換えながらドットデータを高解像度のデータに変換することとして、こうして得られたデータに従ってドットを形成していけば、ドットが一定のパターンで形成されてしまうことを回避することができる。このため、ドットの分散性の良好な高画質の画像を出力することが可能となる。
【００２６】
複数組の対応関係を切り換えるに際しては、ランダムに切り換えることとしても良いが、ディザマトリックスに基づいて対応関係を切り換えることとしても良い。周知のようにディザマトリックスに設定されている閾値は、ドットが周期的なパターンで形成されないように、適切に分布した状態で設定されている。従って、ディザマトリックスに基づいて対応関係を切り換えてやれば、特定の対応関係が周期的なパターンで用いられることを回避することができ、延いては、ドットが周期的なパターンで形成されることを確実に回避することが可能となる。
【００２７】
また、この時に用いるディザマトリックスとしては、ドットデータを変換するまえの低い解像度に応じて設定されたディザマトリックスを用いることが望ましい。複数の対応関係の切り替えは低い解像度で発生することから、このようなディザマトリックスに基づいて切り換えてやれば、複数の対応関係をより適切に切り換えることが可能となるので好適である。
【００２８】
更に本発明は、上述した画像出力方法を実現するためのプログラムをコンピュータに読み込ませ、所定の機能を実行させることにより、コンピュータを用いて実現することも可能である。従って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体としての態様も含んでいる。すなわち、上述した画像出力方法に対応する本発明のプログラムは、
互いに間隔を有する複数本の画素列に、該画素列の先頭方向から同時にドットを形成可能なドット形成要素を駆動することで、出力媒体上に画像を出力する方法を、コンピュータを用いて実現するためのプログラムであって、
画像を構成する複数の画素の各々についてドット形成の有無を表したドットデータを記憶しておく第１の機能と、
前記ドット形成要素が同時に形成する複数本の画素列について、前記記憶されているドットデータを読み出して、高解像度のデータに変換する第２の機能と、
前記変換された高解像度のデータを、前記ドット形成要素がドットを形成する順序に従って該ドット形成要素に供給することで、前記出力媒体上にドットを形成する第３の機能と
をコンピュータを用いて実現することを要旨とする。
【００２９】
また、上記のプログラムに対応する本発明の記録媒体は、
互いに間隔を有する複数本の画素列に、該画素列の先頭方向から同時にドットを形成可能なドット形成要素を駆動することで、出力媒体上に画像を出力する方法を実現するためのプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
画像を構成する複数の画素の各々についてドット形成の有無を表したドットデータを記憶しておく第１の機能と、
前記ドット形成要素が同時に形成する複数本の画素列について、前記記憶されているドットデータを読み出して、高解像度のデータに変換する第２の機能と、
前記変換された高解像度のデータを、前記ドット形成要素がドットを形成する順序に従って該ドット形成要素に供給することで、前記出力媒体上にドットを形成する第３の機能と
をコンピュータを用いて実現するプログラムを記録していることを要旨とする。
【００３０】
これらのプログラムをコンピュータに読み込んで、上記の各種機能を実現させれば、必要な記憶容量をいたずらに増加させることなく、高解像度で出力された高画質な画像を得ることが可能となる。
【発明を実施するための最良の形態】
【００３１】
以下では、上述した本願発明の内容を明確にするために、次のような順序に従って実施例を説明する。
Ａ．実施例の概要：
Ｂ．装置構成：
Ｃ．画像印刷処理の概要：
Ｄ．第１実施例：
Ｄ−１．通常のオーバーラップ処理：
Ｄ−２．第１実施例のオーバーラップ処理：
Ｄ−３．第１実施例の変形例：
Ｅ．第２実施例：
【００３２】
Ａ．実施例の概要：
実施例の詳細な説明に入る前に、図１を参照しながら、実施例の概要について説明しておく。図１は、印刷システムを例にとって、本願発明の画像表示装置に関する実施例の概要を示した説明図である。図示した印刷システムは、コンピュータ１０に、画像表示装置としてのプリンタ２０などを組み合わせて構成されている。コンピュータ１０は、表示しようとする画像に所定の画像処理を施してドットデータを生成し、得られたドットデータをプリンタ２０に供給する。こうした画像処理は、コンピュータ１０に内蔵されたハーフトーンモジュールによって行われ、ハーフトーンモジュールは画像データを受け取ると、画素毎にドット形成の有無を判断することによってドットデータを生成する。
【００３３】
プリンタ２０は、表示媒体としての印刷用紙にドットを形成することによって画像を印刷するドットプリンタである。プリンタ２０は、ドットデータ記憶手段としてのメモリ２２と、ドットデータ供給モジュール２４と、ドット形成要素としての印字ヘッド２６などから構成されており、コンピュータ１０から供給されたドットデータは、一旦、メモリ２２に記憶される。尚、図１では、ドットデータはコンピュータ１０から供給されるものとして表示しているが、プリンタ２０内にハーフトーンモジュールを搭載しておき、内蔵したハーフトーンモジュールを用いて画像データからドットデータを生成することも可能である。こうした場合は、メモリ２２には、内蔵ハーフトーンモジュールから出力されたドットデータが記憶される。
【００３４】
印字ヘッド２６は、印刷用紙に対して相対的に移動しながらドットを形成することで、印刷用紙上にドットの列たるドット列を形成する。ここで印字ヘッド２６は、所定の間隔を空けて複数個のドットを同時に形成することにより、互いに間隔を空けて複数本のドット列を同時に形成することが可能である。ドットデータ供給モジュール２４は、印字ヘッド２６が印刷用紙に対して相対的に移動する動きに合わせて、該印字ヘッド２６が形成しようとする複数本のドット列に対応するドットデータをメモリ２２から読み出して、印字ヘッド２６に供給する。印字ヘッド２６は、供給されたドットデータに基づいて印刷用紙上にドットを形成する。こうすることで、印刷用紙上に画像が印刷されることになる。
【００３５】
このようにして画像を印刷するドットプリンタでは、画像の表示を高解像度化するほど、印刷画質を改善することができる。しかし、画像データの解像度を高くするほど画素数が増えてしまうので、ドットデータのデータ量も増加してしまい、このデータを一旦記憶しておくためのメモリ２２も、大きな記憶容量が必要になってしまう。また、画素数が増加すれば、ドットデータを生成するために要する時間も増えてしまうので、画像を迅速に表示することが困難となってしまう。
【００３６】
そこで、図１に示したプリンタ２０では、印字ヘッド２６に、次のようにしてドットデータを供給する。先ず、低解像度のドットデータを受け取ってメモリ２２に記憶しておく。ドットデータ供給モジュール２４は、印字ヘッド２６が形成しようとするドット列に対応するドットデータをメモリ２２から読み出して、このデータを高解像度のデータに変換した後、印字ヘッド２６がドットを形成する順序に従って、高解像度のデータを印字ヘッド２６に供給する。
【００３７】
このようにして印字ヘッド２６にドットデータを供給してやれば、メモリ２２に記憶されるドットデータは低解像度のデータなので、記憶容量が増加することはない。もちろん、ドットデータ供給モジュール２４の内部では、ドットデータを高解像度のデータに変換しなければならないが、印字ヘッド２６が形成しようとするドット列に対応するデータのみを変換すればよいので、大きな記憶容量が必要となることはない。また、ハーフトーンモジュールでは低解像度のドットデータを生成すればよいので、画像データからドットデータを迅速に生成することができ、画像を迅速に表示することが可能となる。以下では、こうした本願発明の画像表示装置および画像表示方法について、実施例に基づいて詳細に説明する。
【００３８】
Ｂ．装置構成：
図２は、本実施例の画像処理装置としてのコンピュータ１００の構成を示す説明図である。コンピュータ１００は、ＣＰＵ１０２を中心に、ＲＯＭ１０４やＲＡＭ１０６などを、バス１１６で互いに接続することによって構成されている。コンピュータ１００には、フレキシブルディスク１２４やコンパクトディスク１２６などからデータを読み込むためのディスクコントローラＤＤＣ１０９や、周辺機器との間でデータの授受を行うために用いられる周辺機器インターフェースＰＩＦ１０８、ＣＲＴ１１４を駆動するためのビデオインターフェースＶＩＦ１１２等が接続されている。ＰＩＦ１０８には、ハードディスク１１８や、後述するプリンタ２００等が接続されている。また、デジタルカメラ１２０や、カラースキャナ１２２等をＰＩＦ１０８に接続すれば、デジタルカメラ１２０やカラースキャナ１２２で取り込んだ画像を印刷することも可能である。また、ネットワークインターフェースカードＮＩＣ１１０を装着すれば、コンピュータ１００を通信回線３００に接続して、通信回線に接続された記憶装置３１０に記憶されているデータを取得することもできる。
【００３９】
図３は、本実施例のプリンタ２００の概略構成を示す説明図である。プリンタ２００はシアン，マゼンタ，イエロ，ブラックの４色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら４色のインクに加えて、染料濃度あるいは顔料濃度の低いシアン（淡シアン）インクと、染料濃度あるいは顔料濃度の低いマゼンタ（淡マゼンタ）インクとを含めた合計６色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では、シアンインク，マゼンタインク，イエロインク，ブラックインク，淡シアンインク，淡マゼンタインクを、必要に応じて、それぞれＣインク，Ｍインク，Ｙインク，Ｋインク，ＬＣインク，ＬＭインクと略称するものとする。
【００４０】
プリンタ２００は、図示するように、キャリッジ２４０に搭載された印字ヘッド２４１を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ２４０をキャリッジモータ２３０によってプラテン２３６の軸方向に往復動させる機構と、紙送りモータ２３５によって印刷用紙Ｐを搬送する機構と、ドットの形成やキャリッジ２４０の移動および印刷用紙の搬送を制御する制御回路２６０などから構成されている。
【００４１】
キャリッジ２４０には、Ｋインクを収納するインクカートリッジ２４２と、Ｃインク，Ｍインク，Ｙインクの各種インクを収納するインクカートリッジ２４３とが装着されている。キャリッジ２４０にインクカートリッジ２４２，２４３を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド２４１の下面に設けられた各色毎のインク吐出用ヘッド２４４ないし２４７に供給される。各色毎のインク吐出用ヘッド２４４ないし２４７は、こうして供給されたインクを用いてインク滴を吐出して、印刷媒体上にインクドットを形成する。
【００４２】
制御回路２６０は、ＣＰＵを中心として、ＲＯＭや、ＲＡＭ、周辺機器インターフェースＰＩＦ等に加えて、デジタルデータをアナログ信号に変換するＤ／Ａ変換器等から構成されている。もちろん、ＣＰＵを搭載せずに、ハードウェアあるいはファームウェアによって同様の機能を実現することとしても良い。制御回路２６０は、キャリッジモータ２３０および紙送りモータ２３５の動作を制御することによって、キャリッジ２４０の主走査動作および副走査動作の制御を行う。また、キャリッジ２４０の主走査および副走査に合わせて、適切なタイミングで印字ヘッド２４１を駆動することによってインク滴を吐出する。こうして制御回路２６０の制御の下で、各色のインク吐出用ヘッド２４４ないし２４７から適切なタイミングでインク滴が吐出され、その結果、印刷用紙Ｐ上にインクドットが形成されて、カラー画像が印刷される。
【００４３】
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡（バブル）を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
【００４４】
図４は、各色のインク吐出用ヘッド２４４ないし２４７の底面に、インク滴を吐出する複数のノズルＮｚが形成されている様子を示した説明図である。図示するように、各色のインク吐出用ヘッドの底面には、各色毎のインク滴を吐出する４組のノズル列が形成されており、１組のノズル列には、４８個のノズルＮｚがノズルピッチｐの間隔を空けて千鳥状に配列されている。これらノズルは、制御回路２６０の制御の元で駆動され、インク滴を吐出することによって印刷用紙上にインクドットを形成する。
【００４５】
また、本実施例のプリンタ２００は、吐出するインク滴の大きさを制御することにより、インクドットの大きさを制御することが可能である。以下、プリンタ２００が大きさの異なるインクドットを形成する方法について説明するが、その準備として、先ず、各色インクを吐出するノズルの内部構造について説明する。図５（ａ）は、インクを吐出するノズルの内部構造を示した説明図である。各色のインク吐出用ヘッド２４４ないし２４７には、このようなノズルが複数設けられている。図示するように、各ノズルにはインク通路２５５とインク室２５６とが設けられており、また、インク室の上面にはピエゾ素子ＰＥが設けられている。キャリッジ２４０にインクカートリッジ２４２，２４３を装着すると、カートリッジ内のインクがインクギャラリ２５７を経由してインク室２５６に供給される。ピエゾ素子ＰＥは、周知のように、電圧を印加すると結晶構造が歪んで極めて高速に電気−機械エネルギの変換を行う素子である。本実施例では、ピエゾ素子ＰＥの両端に設けられた電極間に所定波形の電圧を印加することで、インク室２５６の側壁を変形させる。その結果、インク室２５６の容積が減少し、容積の減少分に相当するインクがインク滴ＩｐとなってノズルＮｚから吐出される。このインク滴Ｉｐがプラテン２３６に装着された印刷用紙Ｐに染み込むことで、印刷用紙上にインクドットが形成される。
【００４６】
図５（ｂ）は、ピエゾ素子ＰＥに印加する電圧波形を制御することで、吐出するインク滴の大きさを変更する原理を示した説明図である。ノズルからインク滴Ｉｐを吐出するためには、ピエゾ素子ＰＥに府の電圧を印加してインクギャラリ２５７からインク室２５６内に一旦インクを吸入し、その後、ピエゾ素子ＰＥに正電圧を印加してインク室容積を減少させて、インク滴Ｉｐを吐出させる。ここで、インクの吸引速度が適切であればインク室容積の変化量に相当するインクが吸入されるが、吸引速度が速すぎると、インクギャラリ２５７とインク室２５６との間には通路抵抗があるためにインクギャラリ２５７からのインクの流入が間に合わなくなる。その結果、インク通路２５５のインクがインク室内に逆流して、ノズル付近のインク界面が大きく後退した状態となる。図５（ｂ）に実線で示した電圧波形ａは、適正な速度でインクを吸引する波形を示し、破線で示した電圧波形ｂは適切速度より大きな速度で吸引する波形の一例を示している。
【００４７】
十分なインクがインク室２５６内に供給された状態で、ピエゾ素子ＰＥに正電圧を印加すると、インク室２５６の容積減少に相当する体積のインク滴ＩｐがノズルＮｚから吐出される。これに対して、インクの供給量が不足してインク界面が大きく後退した状態で正電圧を印加すると、吐出されるインク滴は小さなインク滴となる。このように、本実施例のプリンタ２００では、インク滴の吐出前に印加する負の電圧波形を制御してインクの吸引速度を変更することで、吐出するインク滴の大きさを制御する。これにより、大ドット、中ドット、小ドットの３種類のインクドットを形成することが可能となっている。
【００４８】
もちろん、３種類に限らずより他種類のドットを形成することも可能である。更には、微細なインク滴を一度に複数吐出して、吐出するインク滴の数を制御するといった方法を用いて、印刷用紙上に形成されるインクドットの大きさを制御してもよい。
【００４９】
以上のようなハードウェア構成を有するプリンタ２００は、キャリッジモータ２３０を駆動することによって、各色のインク吐出用ヘッド２４４ないし２４７を印刷用紙Ｐに対して主走査方向に移動させ、また紙送りモータ２３５を駆動することによって、印刷用紙Ｐを副走査方向に移動させる。制御回路２６０は、キャリッジ２４０の主走査および副走査を繰り返しながら、適切なタイミングでノズルを駆動してインク滴を吐出する。こうすることで、印刷用紙Ｐ上の適切な位置にインクドットが形成されて、その結果、画像が印刷されることになる。
【００５０】
Ｃ．画像印刷処理の概要：
図６は、本実施例のコンピュータ１００およびプリンタ２００が、画像データに所定の画像処理を加えてドットデータを生成し、印刷用紙上に画像を印刷する処理の流れを示すフローチャートである。かかる画像印刷処理は、後述するように、ハーフトーン処理を行ってドットデータを生成するまでの処理はコンピュータ１００に内蔵されたＣＰＵの機能を利用して実行され、また、オーバーラップ処理以降の処理はプリンタ２００の制御回路２６０に内蔵されたＣＰＵの機能を利用して実行される。以下では、図６に従って、本実施例の画像印刷処理について説明する。
【００５１】
コンピュータ１００は、画像印刷処理を開始すると、先ず初めに、変換すべき画像データの読み込みを開始する（ステップＳ１００）。ここでは、画像データはＲＧＢカラー画像データであるものとして説明するが、カラー画像データに限らず、モノクロ画像データについても同様に適用することができる。
【００５２】
カラー画像データの読み込みに続いて、色変換処理を行う（ステップＳ１０２）。色変換処理とは、Ｒ，Ｇ，Ｂの階調値の組合せによって表現されているＲＧＢカラー画像データを、印刷のために使用される各色の階調値の組合せによって表現された画像データに変換する処理である。前述したように、プリンタ２００はＣ，Ｍ，Ｙ，Ｋの４色のインクを用いて画像を印刷している。そこで、本実施例の色変換処理ではＲＧＢ各色によって表現された画像データを、Ｃ，Ｍ，Ｙ，Ｋの各色の階調値によって表現されたデータに変換する処理を行うのである。
【００５３】
色変換処理は、色変換テーブル（ＬＵＴ）と呼ばれる３次元の数表を参照することで、迅速に行うことができる。図７は、色変換処理のために参照されるＬＵＴを概念的に示した説明図である。図示されているように、直交する３つの軸にＲ軸、Ｇ軸、Ｂ軸を取って色空間を考える。すると、全てのＲＧＢ画像データは、必ず色空間内の座標点に対応付けて表示することができる。このことから、Ｒ軸、Ｇ軸、Ｂ軸のそれぞれを細分して色空間内に多数の格子点を設定してやれば、それぞれの格子点はＲＧＢ画像データを表していると考えることができ、各ＲＧＢ画像データに対応するＣ，Ｍ，Ｙ，Ｋ各色の階調値を、各格子点に対応付けてやることができる。ＬＵＴは、こうして色空間内に設けた格子点に、Ｃ，Ｍ，Ｙ，Ｋ各色の階調値を対応付けて記憶した３次元の数表である。このような、ＬＵＴに記憶されているＲＧＢカラー画像データとＣ，Ｍ，Ｙ，Ｋ各色の階調データとの対応関係に基づいて色変換処理を行えば、ＲＧＢカラー画像データを、Ｃ，Ｍ，Ｙ，Ｋ各色の階調データに迅速に変換することができる。
【００５４】
こうしてＣ，Ｍ，Ｙ，Ｋ各色毎に階調データが得られると、コンピュータ１００は、ハーフトーン処理を開始する（ステップＳ１０４）。ハーフトーン処理とは、次のような処理である。色変換処理によって得られた画像データは、データ長を１バイトとすると、画素毎に、階調値０から階調値２５５までの値を取ることができる。これに対してプリンタは、ドットを形成することによって画像を表示しているから、それぞれの画素についてはドットを形成するか否かの状態しか取り得ない。そこで、２５６階調を有する画像データを、画素毎にドット形成の有無によって表現されたデータ（ドットデータ）に変換しておく必要がある。ハーフトーン処理とは、このように画像データをドットデータに変換する処理である。前述したように、本実施例のプリンタ２００では、大ドット、中ドット、小ドットの３種類のドットを形成可能であるから、ハーフトーン処理ではこれら３種類のドットについて、画素毎にドット形成の有無を判断することになる。
【００５５】
ハーフトーン処理を行う手法としては、誤差拡散法やディザ法などの種々の手法を適用することができる。誤差拡散法は、ある画素についてドットの形成有無を判断したことでその画素に発生する階調表現の誤差を、周辺の画素に拡散するとともに、周囲から拡散されてきた誤差を解消するように、各画素についてのドット形成の有無を判断していく手法である。また、ディザ法は、ディザマトリックスにランダムに設定されている閾値と画像データの階調値とを画素毎に比較して、画像データの方が大きい画素にはドットを形成すると判断し、逆に閾値の方が大きい画素についてはドットを形成しないと判断することで、各画素についてのドットデータを得る手法である。
【００５６】
本実施例のハーフトーン処理ではいずれの手法を適用することも可能であるが、ここではディザ法を用いてドットデータを生成しているものとする。また、説明上の都合から、ディザ法を用いてドット形成の有無を判断する方法について、概要のみを簡単に説明しておく。
【００５７】
図８は、ディザマトリックスの一部を拡大して例示した説明図である。図示したマトリックスには、縦横それぞれ６４画素、合計４０９６個の画素に、階調値０〜２５５の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値の階調値が０〜２５５の範囲から選択されているのは、本実施例では画像データが１バイトデータであり、画素に割り当てられる階調値が０〜２５５の値を取り得ることに対応するものである。尚、ディザマトリックスの大きさは、図８に例示したように縦横６４画素分に限られるものではなく、縦と横の画素数が異なるものも含めて種々の大きさとすることができる。
【００５８】
図９は、ディザマトリックスを参照しながら、画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。ドット形成有無の判断に際しては、先ず、判断の対象として着目している画素（着目画素）の階調値と、ディザマトリックス中の対応する位置に記憶されている閾値とを比較する。図中に示した細い破線の矢印は、着目画素の階調値を、ディザマトリックス中の対応する位置に記憶されている閾値と比較していることを模式的に表したものである。そして、ディザマトリックスの閾値よりも着目画素の階調値の方が大きい場合には、その画素にはドットを形成するものと判断する。逆に、ディザマトリックスの閾値の方が大きい場合には、その画素にはドットを形成しないものと判断する。図９に示した例では、画像データの左上隅にある画素の画像データは階調値１８０であり、ディザマトリックス上でこの画素に対応する位置に記憶されている閾値は１である。従って、左上隅の画素については、画像データの階調値１８０の方がディザマトリックスの閾値１よりも大きいから、この画素にはドットを形成すると判断する。図９中に実線で示した矢印は、この画素にはドットを形成すると判断して、判断結果をメモリに書き込んでいる様子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの階調値は１３０、ディザマトリックスの閾値は１７７であり、閾値の方が大きいので、この画素についてはドットを形成しないものと判断する。このように、画像データの階調値とディザマトリックスに設定された閾値とを比較することにより、ドットの形成有無を画素毎に決定することができる。
【００５９】
図６のステップＳ１０４では、このように、色変換処理によって得られたＣ，Ｍ，Ｙ，Ｋ各色の階調値と、ディザマトリックスに設定されている閾値とを比較して、画素毎にドット形成の有無を判断する処理を行う。前述したように、本実施例のプリンタ２００では、大ドット、中ドット、小ドットの３種類のドットを形成可能であるから、ステップＳ１０４では、大ドット、中ドット、小ドットの各ドットについて判断する。
【００６０】
これら大ドット、中ドット、小ドットの形成有無を判断するための具体的な方法は、提案されている種々の方法を適用して行うことができる。例えば、大ドット、中ドット、小ドットのそれぞれに専用のディザマトリックスを用意しておき、色変換処理によって各色毎に得られた画像データと、これら専用のマトリックスとを参照することにより、画素毎に各種ドットについての形成有無を判断することができる。あるいは、色変換処理によって得られた画像データを、大ドット用の階調データ、中ドット用の階調データ、小ドット用の階調データに各色毎に変換し、これら階調データを用いてドット形成の有無を判断することとしても良い。更には、これら階調データをそのまま用いるのではなく、次のようにしても良い。先ず初めに、大ドット用の階調データをディザマトリックスの閾値とを比較して、大ドットについてのドット形成有無を判断する。大ドットを形成すると判断されなかった画素については、大ドット用の階調データと中ドット用の階調データとを加算して中間データを生成する。そして、この中間データとディザマトリックスの閾値とを比較し、中間データの方が大きい場合には、その画素に中ドットを形成すると判断する。中ドットも形成すると判断されなかった画素については、この中間データと小ドット用の階調データとを加算して新たな中間データを生成し、得られた中間データとディザマトリックスの閾値とを比較する。そして、新たに生成した中間データの方が閾値よりも大きい場合は、その画素には小ドットを形成すると判断し、逆に中間データよりも閾値の方が大きい場合には、その画素にはいずれのドットも形成しないと判断することとしてもよい。
【００６１】
大ドット、中ドット、小ドットの形成有無を画素毎に判断する処理の詳細な内容は、本実施例の要点とは直接的な関係は薄いので、ここでは、更に詳しい説明は省略するが、本実施例のハーフトーン処理では、以上のような処理を行って、画像を構成する全ての画素について、「大ドットを形成する」・「中ドットを形成する」・「小ドットを形成する」・「ドットを形成しない」のいずれかの状態を決定する。こうすることにより、色変換処理によって得られた各色毎の画像データは、画素毎に大中小いずれのドットを形成するのか、あるいはいずれのドットも形成しないのかを表したドットデータに、各色毎に変換される。図６のステップＳ１０４では、こうして各色毎に得られたドットデータを、コンピュータ１００からプリンタ２００の制御回路２６０に向けて出力する。
【００６２】
プリンタ２００の制御回路２６０は、コンピュータ１００から各色のドットデータを受け取ると、このデータをＲＡＭに一旦記憶した後、オーバーラップ処理を行う（ステップＳ１０６）。オーバーラップ処理とは、次のような処理である。図３を用いて前述したように、プリンタ２００は、キャリッジ２４０を主走査させながら印字ヘッド２４１を駆動し、印刷用紙上にドットを形成することによって画像を印刷する。そして、図４に示すように、印字ヘッド２４１には各色毎に複数個のノズルが設けられており、同時に複数個のドットを形成可能である。しかし、これらノズルは、互いにノズルピッチｋの間隔を空けて設けられているので、ドットもノズルピッチｋの間隔を空けて形成される。すなわち、印字ヘッド２４１がドットを形成する順番は、画像の端から順番に形成していくのではなく、ノズルピッチｋの間隔を空けて飛び飛びの箇所にドットを形成していくことになる。結局、印字ヘッド２４１は、画像上に画素が並んでいる順番とは異なる順番で、印刷用紙上にドットを形成していくことになる。
【００６３】
また、印字ヘッド２４１がドットを形成する順番は、次のような理由からも、画像上での画素の順番とは一致していない。すなわち、本来、主走査方向に並んだ１本のドット列は１回の主走査で形成することが可能である。しかし画質上の要請から、後述するように、１本のドット列を複数回の主走査に分けて形成することとし、各回の主走査では主走査方向に飛び飛びの位置の画素にドットを形成することも行われている。このように、主走査方向に飛び飛びの画素にドットを形成した場合でも、ドットは、画像上で画素が並んでいる順序とは異なった順序で形成されることになる。オーバーラップ処理とは、画像を構成する画素毎にドット形成の有無を判断することによって生成されたドットデータを、印字ヘッド２４１で実際にドットが形成される順番に従って並べ替えた後、順次印字ヘッド２４１にドットデータを供給する処理である。印字ヘッド２４１は、こうして供給されるドットデータに従って、印刷用紙上にインク滴を吐出してドットを形成する。
【００６４】
オーバーラップ処理では、制御回路２６０内のＲＡＭ上にドットデータを記憶しておき、印字ヘッド２４１がドットを形成する画素のデータを順番に読み出して、ＲＡＭ上の別の領域に書き込んでいく操作が行われる。従って、高画質な画像を得るために画像を高解像度化すると、画素数が増加してドットデータのデータ量も増加してしまうので、それに伴って、ＲＡＭの必要な記憶容量も増加してしまう。こうした弊害の発生を回避するために、本実施例の画像印刷処理では、後述するように特殊な方法でオーバーラップ処理を行う。本実施例のオーバーラップ処理によれば、ＲＡＭの必要な記憶容量をいたずらに増加させることなく、高解像度の画像を印刷することが可能となる。本実施例のオーバーラップ処理の詳細な内容については後述する。
【００６５】
印字ヘッド２４１は、キャリッジ２４０の主走査とともに印刷用紙上を移動しながら、こうして供給されるドットデータに従ってインク滴を吐出する。その結果、印刷用紙上の適切な位置にドットが形成されて、画像が印刷されることになる。
【００６６】
Ｄ．第１実施例：
以上に説明したように、プリンタ２００側では画像の印刷に先立ってオーバーラップ処理が行われる。そして、オーバーラップ処理では、制御回路２６０のＲＡＭ上に記憶されているドットデータが、印字ヘッド２４１が実際にドットを形成する順番に従って並べ替えられる。このため通常は、高画質な印刷画像を得ようとして画像の表示を高解像度化すると、ドットデータを記憶するために必要なＲＡＭの容量が増加してしまうという弊害を引き起こす。こうした弊害を起こすことなく高画質な画像を得るために、第１実施例では、以下に説明するような特殊なオーバーラップ処理を行っている。以下では、第１実施例のオーバーラップ処理の内容について詳細に説明するが、その準備として、先ず、通常行われる一般的なオーバーラップ処理について簡単に説明しておく。
【００６７】
Ｄ−１．一般的なオーバーラップ処理：
図１０は、印字ヘッド２４１が、主走査と副走査とを行いながら印刷用紙上にドットを形成していく様子を概念的に示した説明図である。図４を用いて前述したように、本実施例の印字ヘッド２４１には、各色毎に多数（本実施例では各色あたり４８個）のノズルが設けられているが、説明が煩雑となることを避けるため、図１０ではノズルが４個だけ設けられているものとして説明する。図中に示したＮ１，Ｎ２，Ｎ３，Ｎ４はこれら４つのノズルを表している。また、ノズルピッチは３であり、１本のドット列を２回の主走査で形成し、１種類のドットのみを形成する場合について説明する。
【００６８】
図１０の左半分には、副走査を行うことにより、印字ヘッドが印刷用紙に対して相対的に少しずつ移動していく様子を示している。図１０の左半分に示した縦長の矩形は１色分の印字ヘッドを表している。図示されているように、各色のヘッドには４つのノズルが設けられている。また、ノズルピッチは「３」に設定されているので、これらノズルの間には、図中に破線で示されているように、ノズル２つ分に相当する距離（ノズル中心同士で見ればノズルの直径の３倍に相当する距離）が設けられている。
【００６９】
図１０の右半分には、印字ヘッドを主走査させながらインク滴を吐出することにより、印刷用紙上にドットが形成されていく様子を表している。図１０の右半分に示した丸印は印刷用紙上に形成されたドットを模式的に表したものである。尚、図３を用いて前述したように、実際の副走査は印刷用紙を紙送りすることによって行われており、印字ヘッド２４１が副走査方向に移動するわけではないが、図１０では説明の便宜から印刷用紙を基準に取って、あたかも印字ヘッドが移動しているかのように表現している。
【００７０】
印刷に際しては、先ず、図中で（１）と表示した位置に印字ヘッドある状態で、インク滴を吐出しながら主走査を行う。この主走査によって印刷用紙上には、図１０の右半分で「１」と表示されたドットが形成される。ここで、「１」と表示されたドットが、１画素おきに飛び飛びに形成されているのは、ここでは１本のドット列を２回の主走査に分けて形成するものとしているためである。仮に、１本のドット列を３回の主走査に分けて形成するものとした場合は２画素飛びに、４回の主走査に分けて形成するものとした場合は、３画素飛びにドットが形成されることになる。
【００７１】
次いで、印字ヘッドをノズル２つ分だけ副走査方向に移動させる。その結果、印字ヘッドは、図１０の左半分で（２）と表示した位置に移動する。図１０の左半分に示された実線の矢印は、印字ヘッドを副走査する動作を模式的に表したものである。こうして副走査を行った後、再び主走査を行って印刷用紙上にドットを形成する。この２回目の主走査によって印刷用紙上には、図１０の右半分で「２」と表示されたドットが形成される。前述したように、印字ヘッドにはノズルが、ノズル３つ分の間隔を空けて設けられているが、副走査では印字ヘッドをノズル２つ分だけ移動させているので、２回目の主走査で形成されるドット列（図中で「２」と表示されたドット列）は、１回目の主走査で形成したドット列（図中で「１」と表示されたドット列）の間に形成されることになる。
【００７２】
続いて、再びノズル２つ分だけ副走査を行って印字ヘッドを（３）と表示された位置まで移動させた後、３回目の主走査を行いながらインク滴を吐出することで、「３」と表示されたドットを形成する。３回目の主走査で形成されるドット列（図中で「３」と表示されたドット列）は、１回目の主走査で形成したドット列（図中で「１」と表示されたドット列）と、２回目の主走査で形成したドット列（図中で「２」と表示されたドット列）との間に形成されることになる。すなわち、１回目の主走査では４本のドット列が形成されるが、これらドット列の間には、２本分のドット列が形成されだけの間隔が空いている。２回目の主走査では、これら２本分のドット列の一方にドットが形成され、３回目の主走査では、残りの１本分のドット列にドットが形成されることになる。このように、副走査を行って印字ヘッドを少しずつ移動させながらドットを形成する操作を繰り返していくと、３回目の主走査を行った段階で、ドット列の間に形成された隙間をドット列で埋めることができる。
【００７３】
続いて行う４回目の主走査では、１回目の主走査で形成したドット列に重ねてドットが形成される。但し、前述したように、１回目の主走査では１画素おきに飛び飛びの位置にドットが形成されているので、４回目の主走査では、これらドットの間にドットを形成するのである。図１０の右半分には、「１」と表示されたドットの間に、４回目の主走査による「４」と表示されたドットが、形成されている様子が概念的に表されている。すなわち、１回目の主走査では、１本の画素列上の半分のドットを形成し、４回目の主走査で残りの半分のドットを形成することで、このドット列を結局２回の主走査に分けて形成したことになる。
【００７４】
こうして１本のドット列が完成したら、再び副走査を行って、図中で（５）と表示した位置に印字ヘッドを移動させた後、５回目の主走査を行って、図中で「５」と表示されたドットを形成する。５回目の主走査では、２回目の主走査で形成したドット列に重ねてドットが形成される。すなわち、図中で「２」と表示されたドットの間に「５」と表示されたドットを形成することで、また、新たなドット列を完成する。続いて、再び副走査を行って、図中で（６）と表示した位置に印字ヘッドを移動し、６回目の主走査を行って、「６」と表示されたドットを形成する。「６」と表示されたドットは、「３」と表示されたドットの間に形成され、新たなドット列が完成される。以降は、同様にして、７回目の主走査では、４回目の主走査で形成したドットの間にドットが形成され、８回目の主走査では、５回目の主走査で形成したドットの間にドットが形成される。
【００７５】
このように、印字ヘッドを所定量ずつ副走査させながら主走査を行ってドット列を形成する操作を繰り返していくと、やがて隙間無くドットが形成され、そしてそれ以降は、主走査を行ってドットを形成するたびに次々とドット列を完成させて、印刷用紙上に隙間無くドットを形成していくことが可能となる。図１０に示した例では、５回目の主走査以降で隙間無くドットが形成されている。すなわち、５回目の主走査以降にドットを形成する領域が、画像の有効表示領域となる。
【００７６】
このようにプリンタは、画像の有効表示領域の端にある画素から順番にドットを形成して行くのではなく、あたかもモザイクを形成するかのように、所定の順番に従ってドットを形成しながら画像を印刷している。そこで、ドットデータを受け取ると、オーバーラップ処理、すなわち、受け取ったドットデータを印字ヘッドが実際にドットを形成する順番に並べ替えた後、順番に印字ヘッドに供給する処理を行うのである。
【００７７】
図１１は、通常のプリンタで行われている一般的なオーバーラップ処理について示した説明図である。ここでも、図１０に示した場合と同様に、印字ヘッドにはノズルピッチ３の間隔で４つのノズルが設けられており、１本のドット列を２回の主走査に分けて形成するものとする。
【００７８】
図１１（ａ）は、画像の上端付近のドットデータが、制御回路２６０のＲＡＭ上に記憶されている様子を概念的に示した説明図である。図中に示した丸印は、画像を構成している画素を示しており、それぞれの画素について、「大ドットを形成する」、「中ドットを形成する」、「小ドットを形成する」、「ドットを形成しない」のいずれかの状態が設定されている。
【００７９】
一例として、５回目の主走査でドットを形成する場合について考える。図１０を用いて前述したように、５回目の主走査では、図１１（ａ）中で細かい斜線を付した画素について、ドットデータに従ってドットが形成される。言うまでもなく、ノズルＮ１では、１番上にあるドット列の中の、一画素おきに斜線を付した画素について、ドットデータに従ってドットが形成される。また、ノズルＮ２では、上から４本目のドット列の中の斜線を付した画素についてドットが形成され、ノズルＮ３では、上から７本目のドット列の斜線を付した画素に、そしてノズルＮ４では、上から１０本目のドット列の斜線を付した画素について、それぞれドットデータに従ってドットが形成される。オーバーラップ処理では、先ず初めに、このようにＲＡＭ上で飛び飛びの位置に記憶されているドットデータを読み出して、一旦、連続した状態でＲＡＭに書き込む操作を行う。
【００８０】
図１１（ｂ）は、図１１（ａ）で斜線を付した画素に記憶されているドットデータを、ＲＡＭ上の別の領域に、連続した状態で書き込んでいる様子を概念的に示した説明図である。図１１（ｂ）で「Ｎ１，１」と表示されているのは、図１１（ａ）で、ノズルＮ１が１番目に形成する画素のドットデータが書き込まれることを表したものである。また、図１１（ｂ）で「Ｎ１，２」と表示されているのは、ノズルＮ１が２番目に形成する画素のドットデータが書き込まれることを表している。このように、１行目には、ノズルＮ１が形成する画素のドットデータが書き込まれる。同様にして、２行目にはノズルＮ２が形成する画素のドットデータが書き込まれ、３行目にはノズルＮ３が形成する画素のドットデータが、４行目にはノズルＮ４が形成する画素のドットデータが書き込まれる。
【００８１】
こうして各ノズルが形成するドットデータを連続した状態で書き込んだら、今度はこのデータの行と列とを入れ換える操作を行う。例えば、データ「Ｎ１，２」は図１１（ｂ）では１行２列目の位置に書き込まれているので、行と列とを入れ換えて２行１列目の位置に書き込んでやる。同様に、データ「Ｎ２，３」は図１１（ｂ）では２行３列目の位置に書き込まれているので、このデータは３行２列目の位置に書き込んでやる。このように、行と列とを入れ換えることにより、図１１（ｂ）に示したデータは、図１１（ｃ）に示したデータに変換される。
【００８２】
図１１（ｃ）に示されているように、行と列とを入れ換えたことにより、１行目には「Ｎ１，１」、「Ｎ２，１」、「Ｎ３，１」、「Ｎ４，１」の４つのデータが書き込まれている。これらのデータは、ノズルＮ１ないしＮ４がそれぞれ１番目に形成する画素についてのドットデータである。また、２行目には、「Ｎ１，２」、「Ｎ２，２」、「Ｎ３，２」、「Ｎ４，２」の４つのデータが書き込まれており、これらはノズルＮ１ないしＮ４がそれぞれ２番目に形成する画素についてのドットデータである。同様に、３行目には、各ノズルが３番目に形成する画素についてのドットデータが書き込まれ、４行目には４番目に形成する画素についてのドットデータが書き込まれている。このように、各ノズルがドットを形成する順番に、ドットデータが書き込まれたデータとなっている。従って、図１１（ｃ）に示すような、行と列とを入れ換えたデータの先頭から、ノズルの数に相当する分のデータを読み出して、印字ヘッドの主走査に合わせてそのまま供給してやれば、図１１（ａ）に細かい斜線で示した画素のドットデータに従って、順次ドットを形成することができる。
【００８３】
以上のようにして、図１０中で５回目の主走査で形成する画素についてのドットを形成したら、今度は６回目の主走査で形成する画素（すなわち、図１１（ａ）中で粗い斜線を付して表示した画素）について、同様の操作を行えばよい。このように、通常のオーバーラップ処理では、図１１（ａ）に示すようにＲＡＭ上に画素の順番で記憶されているドットデータの中から、印字ヘッドがドットを形成する画素についてのデータだけを読み出して、図１１（ｂ）に示すように連続した状態で記憶し、記憶されたデータの行と列とを入れ換えた後、得られたデータの先頭からノズル数に相当するデータを順次印字ヘッドに供給する操作を行っている。
【００８４】
このような通常行われるオーバーラップ処理では、画像の表示を高解像度化すると、ＲＡＭに記憶しておくべきドットデータのデータ量が増加してしまう。例えば、主走査方向にも副走査方向にも７２０ｄｐｉの解像度（以下では、このような解像度を７２０ｄｐｉ×７２０ｄｐｉと表示することがあるものとする）の画像を、画質を向上させるために主走査方向の解像度を２倍にして、主走査方向１４４０ｄｐｉ、副走査方向に７２０ｄｐｉの解像度（以下では、このような解像度を１４４０ｄｐｉ×７２０ｄｐｉと表示することがあるものとする）で印刷しようとすると、ＲＡＭに一旦記憶しておくドットデータのデータ量も２倍に増加し、その分だけ必要な記憶容量も増加してしまう。更に、データ量が２倍に増える分だけ、ドットデータを生成するために要する時間も増加するため、画像を迅速に表示することも困難となる。こうした弊害を発生させることなく、画像の表示を高解像度化するために、第１実施例では、次のようなオーバーラップ処理を行いながら画像を印刷している。
【００８５】
Ｄ−２．第１実施例のオーバーラップ処理：
図１２は、第１実施例のオーバーラップ処理の流れを示すフローチャートである。かかる処理は、プリンタ２００の制御回路２６０が、コンピュータ１００から出力されたドットデータを受け取って、制御回路２６０のＣＰＵの機能を利用して実行する処理である。また、図１３は、制御回路２６０が第１実施例のオーバーラップ処理を行う様子を概念的に示した説明図である。以下、図１３を参照しながら、図１２のフローチャートに従って説明する。
【００８６】
第１実施例のオーバーラップ処理を開始すると、先ず初めに制御回路２６０は、ドットデータを受け取って、制御回路２６０内のＲＡＭに一旦記憶する（ステップＳ２００）。後述するように、本実施例のプリンタ２００は、高い画質の画像を得るために高解像度で画像を印刷するが、コンピュータ１００から受け取るドットデータは、印刷時の解像度よりは低い解像度のデータを受け取っている。説明の便宜から、ここでは、ドットデータは主走査方向および副走査方向のいずれの７２０ｄｐｉの解像度（すなわち、７２０ｄｐｉ×７２０ｄｐｉの解像度）で受け取り、印刷時には主走査方向には１４４０ｄｐｉ、副走査方向には７２０ｄｐｉの解像度（すなわち、１４４０ｄｐｉ×７２０ｄｐｉの解像度）で印刷するものとする。また、前述したように、本実施例のプリンタ２００は、大ドット、中ドット、小ドットの３種類のドットを形成可能であることから、コンピュータ１００から受け取るドットデータには、画素毎に「大ドットを形成する」、「中ドットを形成する」、「小ドットを形成する」、「ドットを形成しない」のいずれかの状態が設定されている。ここでは、「大ドットを形成する」画素にはドットデータ「３」が設定され、「中ドットを形成する」画素にはドットデータ「２」が設定され、「小ドットを形成する」画素にはドットデータ「１」が、そして「ドットを形成しない」画素にはドットデータ「０」が設定されているものとする。
【００８７】
図１３（ａ）は、制御回路２６０内のＲＡＭ上に、このようなドットデータが記憶されている様子を概念的に表したものである。図１３（ａ）中に示した丸印は、画像を構成している画素位置を表しており、それぞれの画素位置に「０」ないし「３」のいずれかのドットデータが設定されている。ドットデータは、画像上で画素が並んでいる順番でコンピュータ１００から供給されてくるので、プリンタ２００の制御回路２６０は、図１３（ａ）に示すように、ドットデータを受け取った順番で、すなわち画素の並びの順番でＲＡＭ上に一旦記憶するのである。
【００８８】
こうしてドットデータをＲＡＭ上に一旦記憶すると、今度は、ノズル位置に相当する画素のドットデータを読み込む処理を行う（図１２のステップＳ２０２）。すなわち、図１０を用いて前述したように、印字ヘッドにはノズルＮｚがノズルピッチｋの間隔を空けて設けられており、主走査と副走査とを繰り返し行いながら、あたかもモザイクを構成するかのようにして、所定の順序でドットを形成していくことにより画像を印刷している。ステップＳ２０２では、印字ヘッドが主走査を行ったときに、ノズルが通過する画素列についてのドットデータだけを読み込んで、ＲＡＭ上の別の領域に画素列単位で書き込む処理を行う。
【００８９】
説明の便宜から、ここでは、図１０および図１１で説明した場合と同様に、印字ヘッドには、ノズルＮ１ないしノズルＮ４の４つのノズルが、ノズルピッチ３の間隔で設けられているものとして説明する。図１３（ａ）に表示されたＮ１、Ｎ２、Ｎ３、Ｎ４は、それぞれ４つのノズルの位置を表しており、図１２のステップＳ２０２では、これらノズルがある位置のドットデータのみを読み出して、ＲＡＭ上の別領域に書き込むのである。尚、図１３（ａ）では、図示が煩雑となることを避けるために、ノズル位置に相当する画素についてのみドットデータの値を表示してある。
【００９０】
図１３（ｂ）は、こうしてＲＡＭ上の別領域にドットデータが書き込まれている様子を概念的に表したものである。前述したように、コンピュータ１００から供給されるドットデータは、主走査方向および副走査方向いずれの解像度も７２０ｄｐｉであり、図１３（ｂ）に示すデータは、ノズル位置に相当するドットデータのみを抜き出したものであるから、このデータも、解像度が７２０ｄｐｉ×７２０ｄｐｉのドットデータとなっている。
【００９１】
次いで、図１３（ｂ）に示すような、ノズル位置のみ抜き出したドットデータを、高解像度のデータに変換する処理を行う（ステップＳ２０４）。変換する解像度は、必要に応じて種々の解像度に設定することができるが、ここでは理解を容易とするために、最も単純な場合、すなわち、主走査方向のみ解像度を２倍とする場合について説明する。上述したように、図１３（ｂ）に示すドットデータは解像度７２０ｄｐｉ×７２０ｄｐｉのデータであるから、主走査方向の解像度を２倍としてやれば、１４４０ｄｐｉ×７２０ｄｐｉの解像度、すなわち主走査方向には１４４０ｄｐｉ、副走査方向には７２０ｄｐｉの解像度で印刷した画像が得られることになる。
【００９２】
ドットデータを高解像度のデータに変換するに際しては、画素毎に設定されているドットデータに応じて、予め設定しておいた高解像度のドットデータに画素毎に変換していく。すなわち、ここではドットデータは「０」ないし「３」の値を取り得るものとしているから、ドットデータが「０」の場合、「１」の場合、「２」の場合、「３」の場合のそれぞれについて、変換すべき高解像度のドットデータとを予め対応付けて設定しておき、この対応関係に従って、画素毎に高解像度のドットデータに変換していくのである。
【００９３】
図１４は、こうした低解像度のドットデータと、高解像度のドットデータとの対応関係を例示した説明図である。ここでは、主走査方向の解像度を２倍に変換するものとしているから、それぞれの画素は主走査方向に並んだ２つの画素に分割されて、変換前の１画素のドットデータがこれら２画素分のドットデータに変換されることになる。図１４（ａ）に示した対応関係Ａについて説明すると、先ず、ドットデータ「０」は、２画素分のドットデータ「０」に対応付けられている。すなわち、「ドットを形成しない」画素は、いずれも「ドットを形成しない」２つの画素に分割されることになる。また、ドットデータ「１」は、ドットデータ「１」およびドットデータ「０」の２画素分のデータに対応付けられている。すなわち、「小ドットを形成する」画素は左右２つの画素に分割されて、左側の画素は「小ドットを形成」し、右側の画素は「ドットを形成しない」画素に変換されることになる。ドットデータ「２」についても同様に、ドットデータ「２」およびドットデータ「０」の２画素分のデータに対応付けられている。すなわち、「中ドットを形成する」画素は、同じく「中ドットを形成する」左側の画素と「ドットを形成しない」右側の画素とに変換される。ドットデータ「３」については、２画素分のドットデータ「３」に対応付けられている。すなわち、「大ドットを形成する」画素は、いずれも「大ドットを形成する」２つの画素に変換されることになる。
【００９４】
図１３（ｃ）は、図１４（ａ）に示した上述の対応関係Ａに従って、図１３（ｂ）に示した低解像度のドットデータを高解像度のドットデータに変換した様子を示している。もちろん、低解像度のドットデータと、高解像度のドットデータとの対応関係は、図１４（ａ）に示した対応関係Ａに限られるものではなく、例えば図１４（ｂ）に示した対応関係Ｂ、図１４（ｃ）に示した対応関係Ｃ、図１４（ｄ）に示した対応関係Ｄ、図１４（ｅ）に示した対応関係Ｅ、図１４（ｆ）に示した対応関係Ｆなど、種々の対応関係とすることができる。
【００９５】
図１２のステップＳ２０４では、このような予め設定されている対応関係に従って、低解像度（ここでは７２０ｄｐｉ×７２０ｄｐｉの解像度）のドットデータを、高解像度（ここでは１４４０ｄｐｉ×７２０ｄｐｉの解像度）のドットデータに、画素毎に変換した後、制御回路２６０内のＲＡＭに一旦記憶する処理を行う。
【００９６】
プリンタ２００の制御回路２６０は、こうして低解像度のドットデータを高解像度のドットデータに変換したら、今度は、高解像度のドットデータから印字ヘッドが実際にドットを形成する画素（印字画素）のドットデータだけを抜き出して、抜き出したデータの行と列とを入れ換える操作を行う（ステップS２０６）。この処理について、図１３を参照しながら詳しく説明する。図１３（ｃ）に示されているように、高解像度に変換されたドットデータは、主走査方向（行方向）には画素の順番で並んでいるが、前述したように印字ヘッドは飛び飛びの画素にドットを形成しながら画像を印刷しているので、ドットを形成する順番は、画素の並びの順番とは一致しない。例えば、これからドットを形成しようとする画素が、図１３（ｃ）中で斜線を付して示した画素であるとすると、これら画素についてのドットデータだけを抜き出してきて、行と列とを入れ換えた状態でＲＡＭに書き込んでやる。一例として、図１３（ｃ）中で斜線を付して示した一番左端の１列分のドットデータであれば、行と列とを入れ換えて１行分のドットデータとして、ＲＡＭに書き込んでやる。また、図１３（ｃ）で斜線を付した左から２列目のドットデータは、行と列とを入れ換えて２行目のドットデータとしてＲＡＭに書き込んでやる。
【００９７】
図１３（ｄ）は、図１３（ｃ）に示した高解像度のドットデータに上述した操作を加えて得られたデータを概念的に表したものである。図示されているように、こうした操作を行うと、１行目のデータには、ノズルＮ１ないしノズルＮ４の各ノズルが１番初めに形成する各画素についてのドットデータが設定されることになる。同様に、２行目のデータには、各ノズルが２番目に形成する各画素についてのドットデータが設定され、３行目のデータには、各ノズルが３番目に形成する各画素についてのドットデータが設定されることになる。
【００９８】
制御回路２６０は、高解像度に変換したドットデータを、図１３（ｄ）に示すようなデータに変換した後、キャリッジ２４０が主走査する動きに合わせて、１行目からデータを順次読み出して印字ヘッドに供給する（図１２のステップＳ２０８）。その結果、印字ヘッドからインク滴が吐出されて、印刷用紙上の適切な位置にドットを形成することができる。
【００９９】
以上のような操作を繰り返し行い、全ての画素についてこうした操作を完了したら、図１２に示した第１実施例のオーバーラップ処理を抜けて、図６に示す画像印刷処理に復帰した後、画像の印刷を終了する。
【０１００】
以上に説明した第１実施例のオーバーラップ処理によれば、低解像度のドットデータ（上述した例では、解像度７２０ｄｐｉ×７２０ｄｐｉのデータ）を受け取って、高解像度のドットデータ（上述した例では解像度１４４０ｄｐｉ×７２０ｄｐｉのデータ）に変換してドットを形成することにより、高画質の画像を印刷することができる。
【０１０１】
ここで、図１２および図１３を用いて前述したように、第１実施例のオーバーラップ処理で高解像度に変換されるドットデータは、ノズル位置に相当する画素のドットデータのみである。すなわち、コンピュータ１００から供給された図１３（ａ）に示すドットデータの中で、ノズル位置に相当する図１３（ｂ）に示すドットデータだけを抜き出して、このデータだけを高解像度に変換している。換言すれば、大部分のドットデータは低解像度の状態でＲＡＭに記憶しておくことができる。このため、高解像度のドットデータをコンピュータ１００から受け取ってＲＡＭに記憶する場合に比べて、必要な記憶容量を大幅に低減することが可能となる。
【０１０２】
上述したオーバーラップ処理を行うことで、必要な記憶容量が大幅に低減される様子を補足して説明する。一般に、コンピュータから受け取ったドットデータの解像度よりも高解像度で印刷しようとする場合、ＲＡＭ上に記憶されている低解像度のドットデータを高解像度のドットデータに変換する必要がある。前述した図１２、図１３に即して説明すれば、解像度７２０ｄｐｉ×７２０ｄｐｉの低解像度のドットデータを、解像度１４４０ｄｐｉ×７２０ｄｐｉの高解像度のドットデータに変換しなければならない。
【０１０３】
図１５は、低解像度のドットデータを高解像度のドットデータに変換して記憶するために必要な記憶容量を、概念的に示した説明図である。図１５（ａ）は、コンピュータから供給された解像度７２０ｄｐｉ×７２０ｄｐｉのドットデータがＲＡＭ上に記憶されている様子を概念的に示している。このデータを解像度１４４０ｄｐｉ×７２０ｄｐｉに高解像度化した場合、ドットデータを記憶しておくために要する記憶容量は、図１５（ｂ）に示すように、高解像度化する前に要する容量の２倍に増加する。すなわち、通常は、コンピュータから受け取った低解像度のデータをより高い解像度で印刷しようとすると、高解像度のデータに変換して記憶するだけでも必要な記憶容量が大幅に増加してしまう。
【０１０４】
図１６は、本実施例のオーバーラップ処理において、低解像度のドットデータを高解像度のドットデータに変換するために要する記憶容量を概念的に示した説明図である。図１６（ａ）は、解像度７２０ｄｐｉ×７２０ｄｐｉのドットデータがＲＡＭ上に記憶されている様子を概念的に示している。本実施例のオーバーラップ処理では、前述したように、ノズル位置に相当するドットデータを高解像度のデータに変換する。図１６（ｂ）は、ＲＡＭ上に記憶されているドットデータの中から、ノズル位置に相当するドットデータを抜き出した様子を概念的に示している。図中で斜線を付して示した部分が、ノズル位置に相当するドットデータである。図示されているように、ＲＡＭ上に記憶されているドットデータの中で、ノズル位置に相当するドットデータの占める割合はごく僅かに過ぎない。本実施例のオーバーラップ処理では、このごく僅かなドットデータを高解像度のデータに変換する。図１６（ｃ）は、解像度１４４０ｄｐｉ×７２０ｄｐｉで印刷するために、ドットデータを高解像度に変換してＲＡＭ上に記憶した様子を概念的に示している。図示されているように、ノズル位置に相当するドットデータ（図中で斜線を付した部分）を高解像度化したことに伴って必要な記憶容量は確かに増加するが、高解像度化するデータはドットデータ全体の中の一部に過ぎず、大部分は依然として低解像度まま記憶しておくことができる。このため、高い解像度で印刷する場合にも、必要な記憶容量の増加はさほど多くはない。特に、図１５（ｂ）と図１６（ｃ）とを比較すれば、本実施例のオーバーラップ処理を行うことで、必要な記憶容量が大幅に低減されていることが分かる。
【０１０５】
尚、以上の説明では、ノズル位置に相当するドットデータのみを抜き出して高解像度化するものとして説明した。しかし、高解像度化するために抜き出すドットデータは、コンピュータ１００から供給されたドットデータ全体の一部であれば良く、必ずしもノズル位置に相当するドットデータのみである必要はない。すなわち、図１６（ｂ）および図１６（ｃ）で斜線を付したドットデータには、ノズル位置に相当するドットデータに加えて、他のドットデータが含まれていても構わない。もちろん、ノズル位置ではないドットデータが多くなるほど、必要な記憶容量は増加するが、それでもコンピュータ１００から供給されたドットデータ全体を高解像度化する場合に比べれば、依然として記憶容量を低減することが可能となる。
【０１０６】
同時に、上述した第１実施例のオーバーラップ処理によれば、高画質な画像を印刷しようとする場合でも、コンピュータ１００は高解像度のドットデータを生成する必要はなく、低解像度のドットデータを生成すれば足りる。そのため、ドットデータを迅速に生成し、しかも生成したドットデータをプリンタ２００に迅速に供給することができるので、画像を迅速に印刷することが可能となる。
【０１０７】
更に、第１実施例のオーバーラップ処理では、コンピュータ１００から受け取った低解像度のドットデータは、図１４に例示した対応関係に従って、高解像度のドットデータに変換される。例えば、解像度７２０ｄｐｉ×７２０ｄｐｉの画素に形成される小ドットは、解像度１４４０ｄｐｉ×７２０ｄｐｉの画素に形成される小ドットに変換される。解像度１４４０ｄｐｉ×７２０ｄｐｉの小ドットは、解像度７２０ｄｐｉ×７２０ｄｐｉの小ドットよりも画素が小さい分だけドットも小さく、それに伴って、ドットが目立ち難くなっている。中ドットについても同様に、解像度７２０ｄｐｉ×７２０ｄｐｉの中ドットは、よりドットが目立ち難い解像度１４４０ｄｐｉ×７２０ｄｐｉの中ドットに変換される。従って、小ドットや中ドットが形成されるような、明度の高い画像領域では、より目立ち難いドットによって画像が印刷されることになるので、画質を大きく改善することが可能となる。
【０１０８】
また、解像度７２０ｄｐｉ×７２０ｄｐｉの大ドットは、解像度１４４０ｄｐｉ×７２０ｄｐｉの２つの大ドットに変換される。すなわち、解像度７２０ｄｐｉ×７２０ｄｐｉの画素に大ドットが形成されている場合は、この画素を分割して得られる解像度１４４０ｄｐｉ×７２０ｄｐｉの２つの画素のいずれにも、大ドットが形成されることになる。ドットが形成されない場合についても同様に、解像度７２０ｄｐｉ×７２０ｄｐｉの画素にドットが形成されない場合には、この画素は、いずれもドットが形成されない解像度１４４０ｄｐｉ×７２０ｄｐｉの２つの画素に変換される。このように、変換してやることにより、低解像度で全ての画素にドットが形成される画像領域は、高解像度に変換した後も全ての画素にドットが形成され、また、低解像度でドットが全く形成されていない画像領域は、高解像度に変換した後も、ドットが形成されることはない。その結果、印刷用紙上に適切にドットを形成することができ、高画質な画像を印刷することが可能となるのである。
【０１０９】
ここで、上述したように第１実施例のオーバーラップ処理では、低解像度の小ドットおよび中ドットを、よりドットの小さい高解像度の小ドットおよび中ドットに変換している。プリンタ２００において、このような変換を行う場合でも、コンピュータ１００がドットデータを生成する際に、予めこうした変換を行うことを見越してドットデータを生成しておけば、適切な密度でドットを形成して高画質な画像を得ることが可能である。以下では、この点について若干補足して説明しておく。
【０１１０】
前述したように、プリンタ２００は大中小の３種類のドットを形成可能であり、コンピュータ１００は、大中小の各ドットについての形成有無を画素毎に判断することによってドットデータを生成する。こうしたドットデータを生成する方法としては種々の方法を適用することができるが、ここでは、色変換処理によって得られた各色毎の画像データを、大ドット用の階調データ、中ドット用の階調データ、小ドット用の階調データに一旦変換し、これら階調データに基づいて各画素についてのドット形成の有無を判断することによって、ドットデータを生成するものとする。
【０１１１】
図１７は、色変換処理によって得られた各色の画像データを、大中小の各ドット用の階調データに変換する様子を概念的に示した説明図である。図１７（ａ）は、通常のドットデータを生成する場合を示しており、図１７（ｂ）は、本実施例のオーバーラップ処理で解像度を変換することを考慮してドットデータを生成する場合を示している。先ず、図１７（ａ）を参照しながら、通常のドットデータを生成する場合について説明する。
【０１１２】
通常のドットデータを生成する場合は、図１７（ａ）に示すように、色変換後の画像データが大きくなるに従って、小ドット用の階調データ、中ドット用の階調データ、大ドット用の階調データを、この順序で次第に大きくしていく。すなわち、色変換後の画像データが小さい領域では、画像データの階調値が大きくなるに従って、小ドット用の階調データを大きくしていく。小ドット用の階調データが階調値２５５に達したら、小ドット用の階調データを少しずつ減らして、代わりに中ドット用の階調データを少しずつ大きくしていく。すなわち、色変換後の画像データが次第に大きくなるに従って、小ドット用の階調データを中ドット用の階調データに少しずつ置き換えていく。中ドット用の階調データが階調値２５５に達したら、今度は中ドット用の階調データを大ドット用の階調データに少しずつ置き換えていく。このようにして、色変換後の画像データを、小ドット用の階調データ、中ドット用の階調データ、大ドット用の階調データに一旦変換し、これら階調データを用いて、前述したように各ドットについて画素毎にドット形成の有無を判断していけば、適切なドットデータを生成することができる。
【０１１３】
ところが本実施例のオーバーラップ処理では、前述したように、低解像度の画素に小ドットあるいは中ドットが形成されていても、高解像度に変換すると、半分の画素にしかドットが形成されなくなってしまう。このことは、小ドット用の階調データおよび中ドット用の階調データについては、階調値が半分に減少していることに相当する。すなわち、色変換後の画像データを、図１７（ａ）に実線で示したような小ドット用の階調データに変換しても、実際にドットを形成する段階では、あたかも破線で示したような階調データに変換した場合と同じような密度でしか小ドットが形成されないことになる。中ドットについても全く同様で、図１７（ａ）に実線で示したような中ドット用の階調データに変換しても、実際にドットを形成する段階では、あたかも一点鎖線で示したような階調データに変換した場合と同じような密度でしか中ドットが形成されないことになる。
【０１１４】
このように解像度を変換することで、小ドットおよび中ドット用の階調データは目減りしてしまうので、これを考慮して、小ドット用の階調データおよび中ドット用の階調データを多めに発生させておけばよい。すなわち、図１７（ｂ）に示すように、色変換後の画像データが増加するにつれて、解像度変換に伴う目減りを補うように、小ドット用の階調データをより急激に増加させる。そして、小ドット用の階調データが階調値２５５に達したら、小ドット用の階調データを中ドット用の階調データに置き換えてやる。ここでも、解像度変換に伴う目減りを補うように、小ドット用の階調データをより速やかに中ドット用の階調データに置き換えていく。このように、色変換後の画像データを各ドット用の階調データに変換する際に、解像度を変換することによる影響を予め考慮しておき、こうして得られた階調データに基づいてドットデータを生成してやる。こうして得られたドットデータをプリンタ２００に供給してやれば、プリンタ２００の制御回路２６０がドットデータを高解像度のデータに変換しても、各種ドットを適切に高画質な画像を印刷することが可能となる。
【０１１５】
Ｄ−３．第１実施例の変形例：
上述した第１実施例のオーバーラップ処理では、低解像度のドットデータを高解像度のデータに変換するに際して、主走査方向の解像度を増加させるものとして説明した。しかし、解像度を増加させる方向は必ずしも主走査方向に限られるものではなく、副走査方向に増加させることも可能である。以下では、こうした第１実施例の変形例のオーバーラップ処理について簡単に説明する。
【０１１６】
図１８は、プリンタ２００の制御回路２６０が、第１実施例の変形例のオーバーラップ処理を行う様子を概念的に示した説明図である。図１８（ａ）は、コンピュータ１００から受け取った低解像度（７２０ｄｐｉ×７２０ｄｐｉ）のドットデータが、ＲＡＭ上に記憶されている様子を概念的に示した説明図である。変形例のオーバーラップ処理では、解像度７２０ｄｐｉ×１４４０ｄｐｉの画像を印刷するために、ＲＡＭ上に記憶されているドットデータの解像度を副走査方向に高解像度化する。そのために、先ず、ノズル位置を含んだドットデータを抜き出して、ＲＡＭ上の別領域に書き込んでやる。図１８（ｂ）は、こうして抜き出されたデータが記憶されている様子を概念的に表している。
【０１１７】
このデータは、解像度７２０ｄｐｉ×７２０ｄｐｉのドットデータを抜き出したものであるから、やはり解像度は７２０ｄｐｉ×７２０ｄｐｉとなっている。そこで、副走査方向の解像度を２倍に増加させて、解像度７２０ｄｐｉ×１４４０ｄｐｉのドットデータに変換してやる。図１８（ｃ）は、こうして高解像度化されたドットデータがＲＡＭ上に記憶されている様子を概念的に示している。副走査方向の解像度を増加させるに際しては、低解像度のドットデータと高解像度のドットデータとの対応関係を予め設定しておき、かかる対応関係に従ってドットデータを変換することにより、低解像度のドットデータを高解像度のドットデータに変換する。図１９には、このような対応関係が例示されている。
【０１１８】
次いで、高解像度化されたドットデータの中から、ノズルＮ１ないしＮ４がドットを形成する印字画素のデータを抜き出して、行と列とを入れ換える処理を行った後、ＲＡＭに書き込んでやる。図１８（ｃ）では印字画素のデータに斜線を付して表示している。また、図１８（ｄ）は、高解像度化されたドットデータの中から印字画素のデータが選択されて、行と列とを入れ換えた状態でＲＡＭ上に書き込まれた様子を概念的に表した説明図である。こうして行と列とを入れ換えたドットデータを、キャリッジ２４０の主走査にあわせて印字ヘッドに供給してやれば、印刷用紙上に高解像度の画像を印刷することができる。
【０１１９】
尚、図１８（ｃ）中で、印字画素ではない画素についてのドットデータは、後ほど必要になるまで記憶しておいても良いし、あるいは一旦データを破棄して、必要になったときに低解像度のドットデータから再度生成することとしても良い。印字画素ではないドットデータを記憶しておく場合は、ＲＡＭの必要な記憶容量がその分だけ増加するが、それでもすべてのドットデータを高解像度する場合に比べれば、依然として大幅に記憶容量を低減することが可能である。また、印字画素以外のドットデータを一旦破棄した場合は、低解像度のドットデータから高解像度のデータを再度生成しなければならないものの、ＲＡＭの記憶容量を大幅に低減することが可能となる。
【０１２０】
Ｅ．第２実施例：
以上に説明した第１実施例のオーバーラップ処理では、低解像度のドットデータを高解像度のドットデータに変換する際に、図１４に示すような予め設定しておいた対応関係を参照しながら変換した。前述したように、こうした対応関係は複数設定することができるから、これら複数の対応関係を切り換えて参照しながら、低解像度のドットデータを高解像度のドットデータに変換することとしても良い。以下では、こうした第２実施例のオーバーラップ処理について説明する。
【０１２１】
図２０は、第２実施例のオーバーラップ処理の流れを示したフローチャートである。第２実施例のオーバーラップ処理は、低解像度のドットデータを高解像度のドットデータに変換するに際して、複数の対応関係を切り換えて参照しながら変換している点で、前述した第１実施例のオーバーラップ処理とは大きく異なるが、その他はほぼ同様の操作を行う。以下では、第１実施例のオーバーラップ処理に対する相違点を中心として、第２実施例のオーバーラップ処理について説明する。
【０１２２】
第２実施例のオーバーラップ処理においても、処理を開始すると先ず初めに、コンピュータ１００から供給されたドットデータを受け取って、制御回路２６０内のＲＡＭに一旦記憶する（ステップＳ３００）。前述した第１実施例と同様に、コンピュータ１００から供給されるドットデータは、低解像度のデータとなっている。また、ドットデータには、「大ドットを形成する」、「中ドットを形成する」、「小ドットを形成する」、「ドットを形成しない」の状態をそれぞれ示す値「３」、「２」、「１」、「０」のいずれかが画素毎に設定されている。このようなドットデータは、図１３（ａ）に示したように、画像上で画素が並んでいる順番で、制御回路２６０のＲＡＭ上に記憶される。
【０１２３】
次いで、ＲＡＭ上に記憶したドットデータの中から、ノズル位置に相当する画素のドットデータを読み込んで、ＲＡＭ上の別の領域に画素列単位で書き込む処理を行う（ステップＳ３０２）。すなわち、図１３（ａ）のような状態で記憶されているドットデータから、ノズルＮ１ないしＮ４の各ノズルに対応する画素列のデータを読み出して、これらドットデータだけを、図１３（ｂ）に示すように、ＲＡＭ上の別の領域に書き込んでやるのである。
【０１２４】
第２実施例のオーバーラップ処理では、こうしてノズル位置に相当する画素のドットデータだけを抜き出した後、これら画素の中から高解像度化する画素を１つ選択する（ステップＳ３０４）。そして、低解像度のドットデータと高解像度のドットデータとの対応関係を１つ選択する（ステップＳ３０６）。すなわち、第２実施例のオーバーラップ処理では、図１４に例示したような、低解像度のドットデータと高解像度のドットデータとの対応関係が、予め複数組記憶されており、これら複数の対応関係の中から１つの対応関係を選択するのである。
【０１２５】
対応関係を選択するに際しては、複数の中からランダムに１つの対応関係を選択しても良いが、ここでは、対応関係が設定されたマトリックスを参照することによって対応関係を選択するものとする。すなわち、図２１に示すように、選択すべき対応関係が画素毎に設定されたマトリックスを予め記憶しておき、ドットデータの解像度を変換する際には、このマトリックスを参照して、変換しようとしている画素に設定されている対応関係を選択するのである。
【０１２６】
このようなマトリックスに設定される対応関係の分布を最適に設定しておけば、より高画質の印刷画像を得ることができる。複数の対応関係を適切な分布で設定する方法については後述する。
【０１２７】
こうして高解像度化しようとする画素と参照する対応関係とを選択したら（ステップＳ３０４，Ｓ３０６）、前述した第１実施例のオーバーラップ処理と同様に、選択した対応関係を参照しながら低解像度のドットデータを高解像度のドットデータに変換して、ＲＡＭに一旦記憶する（ステップＳ３０８）。
【０１２８】
以上のようにして、１画素分のドットデータを高解像度のデータに変換したら、ノズル位置に相当する全画素のドットデータを高解像度のデータに変換したか否かを判断する（ステップＳ３１０）。そして、まだ解像度を変換していない画素が残っている場合は（ステップＳ３１０：ｎｏ）、ステップＳ３０４に戻って新たな画素を選択して続く一連の処理を行う。こうした操作を繰り返し、ノズル位置に相当する全画素のドットデータを高解像度のデータに変換すると（ステップＳ３１０：ｙｅｓ）、ＲＡＭ上には、図１３（ｃ）に示すような高解像度のドットデータが得られることになる。
【０１２９】
こうして、低解像度のドットデータを高解像度のドットデータに変換したら、今度は、印字ヘッドが実際にドットを形成する画素、すなわち印字画素のドットデータを抜き出して、行と列とを入れ換えた後、ＲＡＭに書き込む操作を行う（ステップＳ３１２）。かかる操作は、図１２に示した第１実施例のオーバーラップ処理のステップＳ２０６で行う操作と同様であるため、ここでは詳細な説明は省略する。
【０１３０】
このような操作を行って最終的に得られたデータは、印字ヘッドが実際にドットを形成する順番でドットデータを並べ直したデータとなっている。すなわち、図１３（ｄ）に示したように、このデータの１行目には、ノズルＮ１ないしノズルＮ４の各ノズルが１番初めに形成する各画素についてのドットデータが記憶されている。また、２行目には、各ノズルが２番目に形成する各画素についてのドットデータが記憶され、３行目には、各ノズルが３番目に形成する各画素についてのドットデータが記憶されている。
【０１３１】
そこで制御回路２６０は、このように並べ直されたドットデータを、キャリッジ２４０が主走査する動きに合わせて、１行目からデータを順次読み出して印字ヘッドに供給する（ステップＳ３１４）。その結果、印字ヘッドからインク滴が吐出されて、印刷用紙上の適切な位置にドットが形成されることになる。
【０１３２】
以上のような操作を繰り返し行い、全ての画素についてこうした操作を完了したら、図２０に示す第２実施例のオーバーラップ処理を抜けて、図６に示す画像印刷処理に復帰した後、画像の印刷を終了する。
【０１３３】
第２実施例のオーバーラップ処理では、以上に説明したように、予め複数記憶されている対応関係を切り換えながら、ドットデータの解像度を変換している。こうすれば、ドットが一定のパターンで形成されることを回避することができるので、より高画質な印刷画像を得ることができる。
【０１３４】
また、複数の対応関係を切り換えながらドットデータの解像度を変換する場合、対応関係の切り換えを最適化してやれば、ドットの分散性を改善することができ、その分だけ画質を向上させることが可能である。前述したように第２実施例のオーバーラップ処理では、図２１に示すようなマトリックスに基づいて対応関係を切り換えているが、このマトリックスは、対応関係の最適な切り換えを実現するために、次のような方法で設定されている。
【０１３５】
前述したように、図２１のマトリックスには、画素毎に選択すべき対応関係が予め設定されているが、これら対応関係の分布はディザマトリックスに基づいて決定されている。図８に例示したように、ディザマトリクスには、画素毎に複数の閾値が設定されており、これら閾値の分布は、ドットの良好な分散性が得られるように最適化されている。そこで、ディザマトリックスに基づいて対応関係を設定することで、ドットの分散性を改善させるのである。図２１に示したマトリックスは、図８に例示したディザマトリックスに基づいて設定されたものである。以下では、図８に例示したディザマトリックスを参照しながら、具体的に説明する。
【０１３６】
図２１に示したマトリックスでは、対応関係Ａおよび対応関係Ｂの、２つの対応関係が設定されている。一方、図８に示したディザマトリックスには、階調値０から階調値２５５までの閾値が設定されている。そこで、階調値０と階調値２５５の中央値１２８を閾値として、ディザマトリックスを構成する複数の画素を、閾値よりも小さい画素と大きい画素とに分けて、一方の画素には対応関係Ａを設定し、他方の画素には対応関係Ｂを設定する。図２１に示したマトリックスは、閾値よりも小さい画素には対応関係Ａを設定し、閾値より大きい画素には対応関係Ｂを設定することによって得られたものである。
【０１３７】
図２１のマトリックスには、２つの対応関係が設定されているが、３つの対応関係を設定する場合は、階調値０から階調値２５５の範囲をほぼ３分割するような２つの閾値８５、１７０を想定し、これら閾値との大小関係に基づいて３つの対応関係を設定してやればよい。
【０１３８】
このようにして得られたマトリックスに従って複数の対応関係を切り換えてやれば、ドットが周期的な一定のパターンで形成されることを確実に回避することができる。このため、ドットの分散性の良好な高画質な画像を得ることが可能となる。
【０１３９】
また、このようにディザマトリックスに基づいて対応関係を切り換える場合は、低解像度側の画像データに対して、ドットが良好に分散するように最適化されたディザマトリックスを使用することが望ましい。すなわち、上述した第２実施例では、７２０ｄｐｉ×７２０ｄｐｉの低解像度のドットデータを、１４４０ｄｐｉ×７２０ｄｐｉの高解像度のデータに変換しているから、解像度７２０ｄｐｉ×７２０ｄｐｉの画像データに対して最適化されたディザマトリックスに基づいて、対応関係を切り換えることが望ましい。これは、高解像度のドットデータは、複数画素分のデータが一定の対応関係で低解像度の１画素分のデータに対応付けられているので、低解像度の画素毎の対応関係を最適に切り換えるためには、低解像度の画像データに対して最適化されたディザマトリックスに基づいて切り換えることが効果的であることによる。
【０１４０】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。例えば、上述の機能を実現するソフトウェアプログラム（アプリケーションプログラム）を、通信回線を介してコンピュータシステムのメインメモリまたは外部記憶装置に供給し実行するものであってもよい。もちろん、ＣＤ−ＲＯＭやフレキシブルディスクに記憶されたソフトウェアプログラムを読み込んで実行するものであっても構わない。
【０１４１】
また、以上の実施例では、印刷用紙上にドットを形成して画像を印刷するプリンタに本発明を適用した場合について説明したが、本発明の適用範囲はプリンタに限られるものではなく、例えば、液晶表示画面上で輝点を適切な密度で分散させることにより、階調が連続的に変化する画像を表現する液晶表示装置などにも、本発明を好適に適用することが可能である。
【図面の簡単な説明】
【０１４２】
【図１】印刷システムを例にとって本願発明の画像表示装置に関する実施例の概要を示した説明図である。
【図２】本実施例の画像処理装置としてのコンピュータの構成を示す説明図である。
【図３】本実施例のプリンタの概略構成を示す説明図である。
【図４】各色のインク吐出用ヘッドの底面にインク滴を吐出する複数のノズルが形成されている様子を示した説明図である。
【図５】吐出するインク滴の大きさを制御することで大きさの異なるドットを形成する原理を示す説明図である。
【図６】本実施例のコンピュータおよびプリンタが印刷用紙上に画像を印刷する処理の流れを示すフローチャートである。
【図７】色変換処理において参照される色変換テーブルを概念的に示した説明図である。
【図８】ディザマトリックスの一部を拡大して例示した説明図である。
【図９】ディザマトリックスを参照しながら画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。
【図１０】印字ヘッドが主走査と副走査とを行いながら印刷用紙上にドットを形成していく様子を概念的に示した説明図である。
【図１１】通常のプリンタで行われている一般的なオーバーラップ処理について示した説明図である。
【図１２】第１実施例のオーバーラップ処理の流れを示すフローチャートである。
【図１３】プリンタの制御回路が第１実施例のオーバーラップ処理を行う様子を概念的に示した説明図である。
【図１４】低解像度のドットデータに対応付けて高解像度のドットデータが設定されている対応関係を例示した説明図である。
【図１５】低解像度のドットデータを高解像度のドットデータに変換して記憶するために必要な記憶容量を概念的に示した説明図である。
【図１６】第１実施例のオーバーラップ処理において、低解像度のドットデータを高解像度のドットデータに変換するために要する記憶容量を概念的に示した説明図である。
【図１７】色変換処理によって得られた各色の画像データを、大中小の各ドット用の階調データに変換する様子を概念的に示した説明図である。
【図１８】プリンタの制御回路が第１実施例の変形例のオーバーラップ処理を行う様子を概念的に示した説明図である。
【図１９】第１実施例の変形例において低解像度のドットデータと高解像度のドットデータとが対応付けて設定されている様子を例示した説明図である。
【図２０】第２実施例のオーバーラップ処理の流れを示すフローチャートである。
【図２１】第２実施例のオーバーラップ処理で参照される複数組の対応関係が画素毎に設定されたマトリックスの一部を概念的に示す説明図である。
【符号の説明】
【０１４３】
１０…コンピュータ
２０…プリンタ
２２…メモリ
２４…ドットデータ供給モジュール
２６…印字ヘッド
１００…コンピュータ
１０８…周辺機器インターフェースＰＩＦ
１０９…ディスクコントローラＤＤＣ
１１０…ネットワークインターフェースカードＮＩＣ
１１２…ビデオインターフェースＶＩＦ
１１６…バス
１１８…ハードディスク
１２０…デジタルカメラ
１２２…カラースキャナ
１２４…フレキシブルディスク
１２６…コンパクトディスク
２００…プリンタ
２３０…キャリッジモータ
２３６…プラテン
２３５…モータ
２４０…キャリッジ
２４１…印字ヘッド
２４２…インクカートリッジ
２４３…インクカートリッジ
２４４…インク吐出用ヘッド
２５５…インク通路
２５６…インク室
２５７…インクギャラリ
２６０…制御回路
３００…通信回線
３１０…記憶装置
【図１】
0004691880.tif 000002
【図２】
0004691880.tif 000003
【図３】
0004691880.tif 000004
【図４】
0004691880.tif 000005
【図５】
0004691880.tif 000006
【図６】
0004691880.tif 000007
【図７】
0004691880.tif 000008
【図８】
0004691880.tif 000009
【図９】
0004691880.tif 000010
【図１０】
0004691880.tif 000011
【図１１】
0004691880.tif 000012
【図１２】
0004691880.tif 000013
【図１３】
0004691880.tif 000014
【図１４】
0004691880.tif 000015
【図１５】
0004691880.tif 000016
【図１６】
0004691880.tif 000017
【図１７】
0004691880.tif 000018
【図１８】
0004691880.tif 000019
【図１９】
0004691880.tif 000020
【図２０】
0004691880.tif 000021
【図２１】
0004691880.tif 000022