(57)【特許請求の範囲】
【請求項１】
複数色に対しそれぞれ階調値を有する画像データについて、各画素毎にハーフトーン処理を行う画像処理装置であって、
前記画像データを入力する入力手段と、
前記入力された画像データに応じて拡散誤差補正データを生成する拡散誤差補正データ生成手段と、
前記複数色について、誤差拡散法によって各色ごとにハーフトーン処理を行う第１のハーフトーン手段と、
前記複数色のうち予め選択された２以上の色の階調値のいずれもが、ドット密度が０となる階調値より高く予め設定された所定の階調値以下の範囲内であるときには、前記予め選択された２以上の色について、前記第１のハーフトーン手段に代えて、同一の画素に前記予め選択された２以上の色のドットが形成されないようにディザ法によってハーフトーン処理を行う第２のハーフトーン手段と、
を備え、
前記第２のハーフトーン手段は、各画素ごとに記録すべき階調値と、前記ディザ法によるハーフトーン処理の結果に基づいて各画素ごとに記録される階調値との間の誤差を周辺画素に拡散する誤差拡散手段を有し、
前記拡散誤差補正データ生成手段は、前記ハーフトーン処理を行った前記第１のハーフトーン手段と第２のハーフトーン手段のいずれかによって拡散された誤差と前記入力された画像データとを用いて、前記第１のハーフトーン手段と第２のハーフトーン手段で共通に使用される前記拡散誤差補正データを生成する画像処理装置。
【請求項２】
複数色に対しそれぞれ階調値を有する画像データについて、各画素毎にハーフトーン処理を行う画像処理方法であって、
（ａ）前記画像データを入力する工程と、
（ｂ）前記入力された画像データに応じて拡散誤差補正データを生成する拡散誤差補正データ生成工程と、
（ｃ）前記複数色について、誤差拡散法によって各色ごとにハーフトーン処理を行う第１のハーフトーン工程と、
（ｄ）前記複数色のうち予め選択された２以上の色の階調値のいずれもが、ドット密度が０となる階調値より高く予め設定された所定の階調値以下の範囲内であるときには、前記予め選択された２以上の色について、前記第１のハーフトーン手段に代えて、同一の画素に前記予め選択された２以上の色のドットが形成されないようにディザ法によってハーフトーン処理を行う第２のハーフトーン工程と、
を備え、
前記第２のハーフトーン工程は、各画素ごとに記録すべき階調値と、前記ディザ法によるハーフトーン処理の結果に基づいて各画素ごとに記録される階調値との間の誤差を周辺画素に拡散する誤差拡散工程を含み、
前記拡散誤差補正データ生成工程は、前記ハーフトーン処理を行った前記第１のハーフトーン手段と第２のハーフトーン手段のいずれかによって拡散された誤差と前記入力された画像データとを用いて、前記第１のハーフトーン手段と第２のハーフトーン手段で共通に使用される前記拡散誤差補正データを生成する工程を含む画像処理方法。
【請求項３】
複数色に対しそれぞれ階調値を有する画像データについて、各画素毎にハーフトーン処理を行うためのプログラムをコンピュータ読み取り可能に記録した記録媒体であって、
前記画像データを入力する機能と、
前記入力された画像データに応じて拡散誤差補正データを生成する拡散誤差補正データ生成機能と、
前記複数色について、誤差拡散法によって各色ごとにハーフトーン処理を行う第１のハーフトーン機能と、
前記複数色のうち予め選択された２以上の色の階調値のいずれもが、ドット密度が０となる階調値より高く予め設定された所定の階調値以下の範囲内であるときには、前記予め選択された２以上の色について、前記第１のハーフトーン手段に代えて、同一の画素に前記予め選択された２以上の色のドットが形成されないようにディザ法によってハーフトーン処理を行う第２のハーフトーン機能と、
をコンピュータに実現させるプログラムを備え、
前記第２のハーフトーン機能は、各画素ごとに記録すべき階調値と、前記ディザ法によるハーフトーン処理の結果に基づいて各画素ごとに記録される階調値との間の誤差を周辺画素に拡散する誤差拡散機能を含み、
前記拡散誤差補正データ生成機能は、前記ハーフトーン処理を行った前記第１のハーフトーン手段と第２のハーフトーン手段のいずれかによって拡散された誤差と前記入力された画像データとを用いて、前記第１のハーフトーン手段と第２のハーフトーン手段で共通に使用される前記拡散誤差補正データを生成する機能を含む記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多階調の画像データを各画素毎に順次ハーフトーン処理する画像処理装置、画像処理方法、およびそのためのプログラムを記録した記録媒体、並びに該ハーフトーン処理に基づいて画像を印刷する印刷装置に関する。
【０００２】
【従来の技術】
従来、コンピュータの出力装置として、種々のプリンタが多色多階調の画像を印刷するのに広く用いられている。かかるプリンタの一つとして、例えば、ヘッドに備えられた複数のノズルから吐出される数色のインクによりドットを形成して画像を記録するインクジェットプリンタがある。インクジェットプリンタは、通常、各画素ごとにはドットのオン・オフの２階調しか表現し得ない。従って、原画像データの有する多階調をドットの分布により表現するための画像処理、いわゆるハーフトーン処理を施した上で画像を印刷する。
【０００３】
近年では、階調表現を豊かにするために、各画素ごとにオン・オフだけでなく３値以上の階調表現を可能としたプリンタ、いわゆる多値プリンタが提案されている。例えば、ドット径やインク濃度を変化させることにより各ドットごとに３種類以上の濃度を表現可能としたプリンタや各画素ごとに複数のドットを重ねて形成することにより多階調を表現可能としたプリンタである。かかるプリンタであっても各画素単位では原画像データの有する階調を十分表現し得ないため、ハーフトーン処理が必要となる。
【０００４】
高画質な印刷を実現するためには、ドットの分布によって表現される濃度と、画像データに基づいて表現されるべき濃度との誤差が小さくなるようにハーフトーン処理をする必要がある。一方、インクジェットプリンタのようにドットを形成して画像を印刷するプリンタでは、ドットが局所的に偏って形成されると、濃度ムラを生じたり、ドットが視認されやすくなったりして、画質が低下する。従って、高画質な印刷を実現するために、濃度の誤差を小さくする他、ドットの分散性を確保したハーフトーン処理を行うことが求められる。また、実用的なハーフトーン処理を行うためには、画質の向上の他、処理に要する時間の短縮を図る必要もある。
【０００５】
ハーフトーン処理の方法としては、いわゆる誤差拡散法やディザ法が知られている。誤差拡散法とは、各画素ごとに生じた濃度誤差を周辺の未処理の画素に拡散するとともに、それぞれの画素については処理済みの画素から拡散されてきた濃度誤差を該画素の画像データに反映させてドットのオン・オフを決定する方法である。かかる方法によれば、濃度誤差を極小にすることができ、高画質なハーフトーン処理を実現することができる。一方、ディザ法とは、予め用意されたディザマトリックスによって各画素ごとに与えられる閾値と画像データとの大小関係によってドットのオン・オフを判定する方法である。かかる方法によれば、短時間でハーフトーン処理を実現することができる。従来は、これらの方法によって、各色ごとに処理を行っており、各色ごとにドットの分散性が確保されたハーフトーン処理を実現していた。
【０００６】
【発明が解決しようとする課題】
しかし、従来は、異なる色間のドットの分散性については、ほとんど考慮されていなかった。このため、各色ごとのドットの分散性が確保されていても、画像全体で見れば、異なる色のドットが隣り合って形成されるなど、局所的に偏ってしまうことがあった。異なる色で形成されたドットであっても、局所的に偏って形成されることにより、ドットが視認されやすくなるため、画像の粒状感を損ね、画質を低下させることがあった。
【０００７】
各色ごとに独立して行われているハーフトーン処理において、一の色についてのドットのオン・オフの判定結果を他の色の画像データに反映させることによって、各色の相関を持ったハーフトーン処理を実行すれば、色間のドットの分散性を確保可能であることは知られていた。しかしながら、誤差拡散法において、相関を持ったハーフトーン処理を行えば、処理が複雑になるため、処理時間に膨大な時間を要するという別の課題を招くことになる。また、ディザ法においては、階調値が高い領域での画質が低下するという別の課題を招くことになる。
【０００８】
本発明は、上記課題を解決するためになされたものであり、従来のハーフトーン処理の利点を損ねることなく、色間のドットの分散性を確保した高画質な画像処理技術を提供することを目的とする。また、該画像処理技術を適用して、高画質な画像を高速で印刷する印刷装置を提供することを目的とする。
【０００９】
【課題を解決するための手段およびその作用・効果】
上述の課題の少なくとも一部を解決するため、本発明は、次の構成を採用した。
本発明の画像処理装置は、
複数色に対しそれぞれ階調値を有する画像データについて、各画素毎にハーフトーン処理を行う画像処理装置であって、
前記画像データを入力する入力手段と、
前記複数色につき、各色ごとにハーフトーン処理を行う第１の多値化手段と、前記複数色のうち２以上の特定色の階調値が、該特定色間のドットの分散性によって画質に有意の影響を与える所定の範囲にある画素において、前記特定色につき、前記第１の多値化手段に代えて、各色間でのドットの分散性を確保可能なハーフトーン処理を行う第２の多値化手段とを備える画像処理装置ことを要旨とする。
【００１０】
かかる画像処理装置は、画像データの階調値に応じて第１の多値化手段と、第２の多値化手段とを使い分けてハーフトーン処理を実行する。第１の多値化手段は、画質に優れた手段や処理速度が速い手段など、種々の特性を有する手段を適用することができる。第２の多値化手段は、一部の特定色について、各色間でのドットの分散性を確保可能な処理を行う。第２の多値化手段は、画像データの階調値が、特定色について色間のドットの分散性によって画質が有意の影響を受ける所定の範囲にある場合に適用される。このように２つの特性を有する多値化手段を、階調値に応じて使い分けることにより、本発明の画像処理装置は、第１の多値化手段が有する特定を活かしつつ、所定の範囲にある画素では、各色間のドットの分散性を確保することができ、全体として画質を向上することができる。
【００１１】
なお、本明細書において複数色および特定色は、異なる色相の色のみならず同一の色相で濃度の異なるものも含む。従って、本発明の画像処理装置は、異なる色相間でのドットの分散性を確保する場合のみならず、同一の色相について濃淡の異なる２つの特定色につきドットの分散性を確保する態様で構成することができる。また、異なる色相についての画像データを対象とする場合のみならず、同一の色相で濃度の異なる複数色につき、それぞれ階調値を有する画像データを対象とする態様で構成することも可能である。
【００１２】
本発明の画像処理装置において、第１の多値化手段を適用する階調値は、画像の種類や解像度などに応じて種々設定可能であるが、例えば、
前記所定の範囲は、０近傍の低階調の範囲であるものとすることができる。
一般に非常に低階調の領域では、ドットがまばらに形成されるため、ドットの局所的な偏りによって画像の粒状感を損ねやすい。このような低階調の領域において、前記特定色の色間でのドットの分散性を確保すれば、粒状感に優れた高画質な画像処理を実現することができる。
【００１３】
本発明の画像処理装置において、
第１の多値化手段は、第２の多値化手段よりも高い画質でのハーフトーン処理を行い得る手段であるものとすることが望ましい。
つまり、画像データとの濃度差が小さく、各色ごとの分散性が確保されたハーフトーン処理を行い得る手段であるものとすることが望ましい。こうすれば、第２の多値化手段と組み合わせることで、画像全体として非常に高画質なハーフトーン処理を実現することができる。
【００１４】
本発明の画像処理装置において、前記第２の多値化手段としては、例えば、一の色についてドットをオンにすべきと判定された場合には、該画素においては他の色についてドットを一義的にオフに設定する方法など、色間のドットの分散性を確保可能な種々の方法を適用することができる。
【００１５】
こうした種々の方法のうち、
前記第２の多値化手段は、前記特定色のうちの一の色についてハーフトーン処理を行うとともに、該処理結果を、特定色のうちの他の色により実現すべき記録濃度に反映させた上で該他の色のハーフトーン処理を行う手段であるものとすることが望ましい。
【００１６】
第２の多値化手段として、かかる手段を採用すれば、一の色についてドットをオンにすべきと判定された画素では、その情報を他の色により実現すべき記録濃度に反映させることができ、他の色によるドットが形成されにくいようにすることができる。従って、上述の第２の多値化手段によれば、色間でのドットの分散性を比較的容易に確保することができる。
【００１７】
なお、処理結果の反映は種々の方法が適用可能である。例えば、処理結果を表す所定のパラメータを他の色に反映するものとしてもよい。また、処理結果に基づいて一の色の階調値を反映させるものとしてもよい。
【００１８】
かかる方法を適用する場合、
前記第２の多値化手段は、ディザ法によりハーフトーン処理を行う手段であるものとすることが更に望ましい。
【００１９】
ディザ法とは、予め定められたディザマトリックスによって各画素ごとに与えられる閾値と画像データとの大小関係に基づいて、各画素ごとのドットのオン・オフを判定する方法である。かかる方法によれば、ディザマトリックスの設定に基づいて、ドットの分散性を確保しやすく、処理が速いという利点がある。従って、第２の多値化手段として、ディザ法を適用するものとすれば、色間のドットの分散性をより適切に確保することができる。また、処理速度が速いため、通常のハーフトーン処理よりも付加的な処理、即ち一の色についてのハーフトーン処理結果を他の色に反映させる処理を行っても、画像処理の速度を極端に低下させることがないという利点もある。
【００２０】
本発明の画像処理装置において、前記第１の多値化手段としては、ディザ法など種々のハーフトーン処理方法を適用することができるが、
前記第１の多値化手段は、誤差拡散法によりハーフトーン処理を行う手段であるものとすることが望ましい。
【００２１】
一般に誤差拡散法は、画像データとハーフトーン処理結果に基づいて表現される濃度との誤差が小さいという特質がある。従って、第２の多値化手段として、誤差拡散法によるハーフトーン処理を行うものとすれば、高画質な画像処理を行うことができる。
【００２２】
第１の多値化手段として、誤差拡散法による処理を適用する場合には、
前記第２の多値化手段は、さらに、各画素ごとに実現すべき記録濃度と、前記ハーフトーン処理の結果に基づいて各画素ごとに実現される記録濃度の評価値との間の誤差を周辺の未処理の画素に拡散する拡散手段を備えるものとすることが望ましい。
【００２３】
誤差拡散法は、先に説明した通り、各画素ごとにドットのオン・オフを判定した結果生じた濃度誤差を周辺の未処理の画素に拡散するハーフトーン処理方法である。つまり、誤差拡散法では、各画素はその周辺の画素と密接な関わりをもってハーフトーン処理される。従って、第１の多値化手段として、誤差拡散法によりハーフトーン処理を行う手段を適用する場合、十分高画質な画像処理を実現するためには、第２の多値化手段によってハーフトーン処理される画素と、第１の多値化手段によってハーフトーン処理される画素との関わりを保つことが望ましい。
【００２４】
上記画像処理装置によれば、第２の多値化手段は、各画素ごとに生じた記録濃度の誤差を周辺の未処理の画素に拡散することができる。この結果、第２の多値化手段が適用される画素でのハーフトーン処理の結果を反映して、第１の多値化手段によるハーフトーン処理を実行することができる。従って、上記画像処理装置によれば、第１の多値化手段が適用される領域と第２の多値化手段が適用される領域の境界部分において、階調値が滑らかに変化するようにハーフトーン処理を行うことができる。この結果、かかる境界部分において、ドットの分布が不自然に変化することによって生じる疑似輪郭を抑制することができ、高画質な画像処理を実現することができる。
【００２５】
第２の多値化手段が濃度誤差を拡散する拡散手段を有する場合において、
前記拡散手段は、前記濃度の評価値として各画素の階調値に応じた値を用いて、前記誤差の拡散を行う手段であるものとすることが望ましい。
【００２６】
ドットが形成された場合の濃度評価値は、ドットの密度に応じて変化する。例えば、所定の領域にドットが一つ形成された場合の濃度と、２つ形成された場合の濃度を比較した場合、後者は必ずしも前者の倍の濃度として視認はされない。ここで、第２の多値化手段としてディザ法によるハーフトーン処理を行う場合には、所定の領域でのドットの密度はディザマトリックスの設定に基づき、画像データの階調値に応じた値となる。上述の画像処理装置では、かかる事情を踏まえ、画像データの階調値、即ち予想されるドットの記録密度に応じて濃度評価値を変更することにより、誤差計算および誤差の拡散をより適切に行うことができ、ディザ法によりハーフトーン処理された画素から誤差拡散法によりハーフトーン処理される画素への誤差の拡散を適切な値にすることができる。従って、両者の境界近傍での階調表現を滑らかにすることができ、高画質なハーフトーン処理を実現することができる。
【００２７】
本発明は、以下に示す画像処理方法として構成することもできる。
本発明の画像処理方法は、
複数色に対しそれぞれ階調値を有する画像データについて、各画素毎にハーフトーン処理を行う画像処理方法であって、
（ａ）前記画像データを入力する工程と、
（ｂ）前記複数色のうち２以上の特定色の階調値が、該特定色間のドットの分散性によって画質に有意の影響を与える所定の範囲にある画素であるか否かを判定する工程と、
（ｃ）前記条件を満足する画素において、前記特定色につき、各色間でのドットの分散性を確保可能なハーフトーン処理を行う工程と、
（ｄ）その他の画素において、前記複数色につき、各色ごとにハーフトーン処理を行う工程とを備える画像処理方法である。
かかる画像処理方法によれば、先に画像処理装置として説明したのと同様の作用により、高画質なハーフトーン処理を実現することができる。
【００２８】
本発明は、以下に示すプログラムを記録した記録媒体として構成することもできる。
本発明の記録媒体は、
複数色に対しそれぞれ階調値を有する画像データについて、各画素毎にハーフトーン処理を行うためのプログラムをコンピュータ読み取り可能に記録した記録媒体であって、
前記画像データを入力する機能と、
前記複数色のうち２以上の特定色の階調値が、該特定色間のドットの分散性によって画質に有意の影響を与える所定の範囲にある画素であるか否かを判定する機能と、
前記条件を満足する画素において、前記特定色につき、各色間でのドットの分散性を確保可能なハーフトーン処理を行う機能と、
その他の画素において、前記複数色につき、各色ごとにハーフトーン処理を行う機能とを実現するプログラムを記録した記録媒体である。
【００２９】
上記の記録媒体に記録されたプログラムが、コンピュータに実行されることにより、先に説明した本発明の画像処理装置および画像処理方法を実現することができる。なお、記憶媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。また、通信経路を介して、上記コンピュータプログラムをコンピュータに供給するプログラム供給装置としての態様も含む。
【００３０】
本発明は、上述の印刷方法を実現可能な印刷装置の態様でも成立する。
本発明の印刷装置は、
複数色に対しそれぞれ階調値を有する画像データに基づいて印刷媒体上に各画素毎にドットを形成して、画像を印刷する印刷装置であって、
前記画像データを入力する入力手段と、
前記複数色につき、各色ごとにハーフトーン処理を行う第１の多値化手段と、
前記複数色のうち２以上の特定色の階調値が、該特定色間のドットの分散性によって画質に有意の影響を与える所定の範囲にある画素において、前記特定色につき、前記第１の多値化手段に代えて、各色間でのドットの分散性を確保可能なハーフトーン処理を行う第２の多値化手段と、
前記ハーフトーン処理結果に基づいて、各画素ごとにドットを形成するドット形成手段とを備える印刷装置である。
【００３１】
かかる印刷装置は、先に画像処理装置で説明したのと同様の作用により、色間のドットの分散性が確保された高画質な印刷を行うことができる。
【００３２】
【発明の実施の形態】
以下、本発明の実施の形態について、実施例に基づき説明する。
（１）装置の構成：
図１は、本発明の一実施例としての画像処理装置を適用した印刷装置の構成を示すブロック図である。図示するように、コンピュータＰＣにスキャナ１２とプリンタ２２とが接続されている。このコンピュータＰＣに所定のプログラムがロードされ実行されることにより画像処理装置として機能し、プリンタ２２と併せて印刷装置として機能する。本印刷装置は、例えば、スキャナ１２で読み込んだカラー画像に種々のレタッチを施した上でプリンタ２２により印刷を行う機能を実現することができる。
【００３３】
印刷装置の一部を構成するコンピュータＰＣは、プログラムに従って印刷に関わる動作を制御するＣＰＵ８１、ＲＯＭ８２、ＲＡＭ８３を中心に、バス８０により相互に接続された次の各部を備える。入力インターフェイス８４は、スキャナ１２やキーボード１４からの信号の入力を司り、出力インタフェース８５は、プリンタ２２へのデータの出力を司る。ＣＲＴＣ８６は画像を表示可能なＣＲＴ２１への信号出力を制御し、ディスクコントローラ（ＤＤＣ）８７は、ハードディスク１６やＣＤ−ＲＯＭドライブ１５あるいは図示しないフレキシブルドライブとのデータの授受を制御する。ハードディスク１６には、ＲＡＭ８３にロードされて実行される各種プログラムやデバイスドライバの形式で提供される各種プログラムなどが記憶されている。
【００３４】
このほか、バス８０には、シリアル入出力インタフェース（ＳＩＯ）８８が接続されている。このＳＩＯ８８は、モデム１８に接続されており、モデム１８を介して、公衆電話回線ＰＮＴに接続されている。コンピュータＰＣは、このＳＩＯ８８およびモデム１８を介して、外部のネットワークに接続されており、特定のサーバーＳＶに接続することにより、画像の印刷に必要なプログラムをハードディスク１６にダウンロードすることも可能である。また、必要なプログラムをフレキシブルディスクＦＤやＣＤ−ＲＯＭによりロードし、コンピュータＰＣに実行させることも可能である。当然、これらのプログラムは、印刷に必要なプログラム全体をまとめてロードする態様を採ることもできるし、その一部のみをモジュールとしてロードする態様を採ることもできる。
【００３５】
図２は実施例の印刷装置のソフトウェア構成を示すブロック図である。コンピュータＰＣでは、所定のオペレーティングシステムの下で、アプリケーションプログラムＡＰが動作している。オペレーティングシステムにはプリンタドライバ９０が組み込まれている。アプリケーションプログラムＡＰは、スキャナ１２からレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の階調値で表されるカラー画像データＯＲＧを読み込み、画像のレタッチなどの処理を行う。
【００３６】
このアプリケーションプログラムＡＰが、印刷命令を発すると、コンピュータＰＣのプリンタドライバ９０が、画像データをアプリケーションプログラムＡＰから受け取り、これをプリンタ２２が処理可能な信号に変換している。図２に示した例では、プリンタドライバ９０の内部には、解像度変換モジュール９１と、色補正モジュール９２および色補正テーブルＬＵＴと、ハーフトーンモジュール９３と、ラスタライザ９４とが備えられている。
【００３７】
解像度変換モジュール９１は、アプリケーションプログラムＡＰが扱っているカラー画像データの解像度、即ち単位長さ当たりの画素数を印刷条件に応じた解像度に変換する役割を果たす。色補正モジュール９２は、色補正テーブルＬＵＴを参照して、各画素ごとに画像データの色成分をＲＧＢから、プリンタ２２が使用する各インクに対応した階調値に変換する。後述する通り、プリンタ２２には、シアン（Ｃ）、ライトシアン（ＬＣ）、マゼンタ（Ｍ）、ライトマゼンタ（ＬＭ）、イエロ（Ｙ）、ブラック（Ｋ）の６色が備えられている。ライトシアン（ＬＣ）、ライトマゼンタ（ＬＭ）とは、それぞれ濃度の低いシアン、マゼンタのインクである。色補正テーブルＬＵＴは、ＲＧＢの階調値で与えられた色を表現するために各色インクで形成されるドットの記録率を与えるテーブルである。本実施例では、各インクごとに８ビット、即ち２５６階調のデータを与えるものとした。
【００３８】
プリンタ２２は、各画素ごとに見れば、ドットのオン・オフの２階調しか表現し得ない。ハーフトーンモジュール９３は、ドットの分布によってプリンタ２２で多階調を表現するためのハーフトーン処理を実行する。つまり、ハーフトーンモジュール９３は、画像データの階調値に基づいて、各画素ごとに各インクによるドットのオン・オフを判定する。こうして処理された画像データは、ラスタライザ９４によりプリンタ２２に転送すべきデータ順に並べ替えられて、最終的な印刷データＦＮＬとして出力される。プリンタ２２は、ヘッドを主走査および副走査しつつ、プリンタドライバ９０から転送された印刷データＦＮＬに基づいて、印刷用紙上にドットを形成して、画像を印刷する。本実施例では、プリンタ２２は印刷データＦＮＬに従ってドットを形成する役割を果たすのみであり画像処理は行っていないが、もちろんこれらの処理をプリンタ２２側で行うものとしても差し支えない。
【００３９】
図３によりプリンタ２２の概略構成を説明する。図示するように、プリンタ２２は、紙送りモータ２３によって用紙Ｐを搬送する回路と、キャリッジモータ２４によってキャリッジ３１をプラテン２６の軸方向に往復動させる回路と、キャリッジ３１に搭載された印字ヘッド２８を駆動してインクの吐出およびドット形成を行う回路と、これらの紙送りモータ２３，キャリッジモータ２４，印字ヘッド２８および操作パネル３２との信号のやり取りを司る制御回路４０とから構成されている。
【００４０】
キャリッジ３１をプラテン２６の軸方向に往復動させる回路は、プラテン２６の軸と並行に架設されキャリッジ３１を摺動可能に保持する摺動軸３４と、キャリッジモータ２４との間に無端の駆動ベルト３６を張設するプーリ３８と、キャリッジ３１の原点位置を検出する位置検出センサ３９等から構成されている。
【００４１】
キャリッジ３１には、黒インク（Ｋ）用のカートリッジ７１とシアン（Ｃ）、ライトシアン（ＬＣ）、マゼンタ（Ｍ）、ライトマゼンタ（ＬＭ）、イエロ（Ｙ）の３色のインクを収納したカラーインク用カートリッジ７２が搭載可能である。キャリッジ３１の下部の印字ヘッド２８には計６個のインク吐出用ヘッド６１〜６６が形成されている。キャリッジ３１の底部には、これらのヘッドにそれぞれのインクタンクからインクを導くインク通路６８が設けられている。
【００４２】
図４は、印字ヘッド６１〜６６におけるノズルＮｚの配列を示す説明図である。これらのノズルの配置は、６色のインクに対応した６組のノズルアレイから成っており、４８個のノズルＮｚが一定のノズルピッチｋで千鳥状に配列されている。各ノズルアレイの副走査方向の位置は互いに一致している。
【００４３】
図５は印字ヘッド２８によるドットの形成原理を示す説明図である。図示の都合上、インクＫ，Ｃ，ＬＣを吐出する部分について示した。カートリッジ７１がキャリッジ３１に装着されると、各色のインクは図５に示すインク通路６８を通じて各色ヘッド６１〜６６に供給される。図示する通り、ヘッド６１〜６６には、各ノズル毎にピエゾ素子ＰＥが配置されている。ピエゾ素子ＰＥは、周知の通り、電圧の印加により結晶構造が歪み、極めて高速に電気−機械エネルギの変換を行う素子である。ピエゾ素子ＰＥの両端に設けられた電極間に所定の時間幅で電圧を印加すると、図５に矢印で示すように、ピエゾ素子ＰＥが電圧の印加時間だけ伸張し、インク通路６８の一側壁を変形させる。この結果、インク通路６８の体積はピエゾ素子ＰＥの伸張に応じて収縮し、この収縮分に相当するインクが、粒子Ｉｐとなって、ノズルＮｚの先端から高速に吐出される。このインク粒子Ｉｐがプラテン２６に装着された用紙Ｐに染み込むことにより印刷が行われる。
【００４４】
プリンタ２２の各機能を制御する制御回路４０は、ＣＰＵ，ＰＲＯＭ，ＲＡＭを備えるマイクロコンピュータとして構成されている。制御回路４０には、ヘッド６１〜６６のそれぞれにピエゾ素子を駆動するための駆動波形を出力する発信器が設けられている。制御回路４０が、ヘッド６１〜６６の各ノズルについてドットのオン・オフを指定するデータに基づいて、駆動波形を出力すると、先に説明した原理に基づいて、オンに設定されたノズルからインクが吐出される。
【００４５】
以上説明したハードウェア構成を有するプリンタ２２は、紙送りモータ２３により用紙Ｐを搬送する副走査と、キャリッジ３１をキャリッジモータ２４により往復動させつつ各ヘッド６１〜６６のピエゾ素子ＰＥを駆動してドットを形成する主走査とを繰り返し行って用紙Ｐ上に単色の画像を多階調で印刷する。
【００４６】
なお、本実施例では、上述の通りピエゾ素子ＰＥを用いてインクを吐出するヘッドを備えたプリンタ２２を用いているが、他の方法によりインクを吐出するプリンタを用いるものとしてもよい。例えば、インク通路に配置したヒータに通電し、インク通路内に発生する泡（バブル）によりインクを吐出するタイプのプリンタに適用するものとしてもよい。また、インクを吐出するタイプのプリンタのみならず、いわゆる熱転写型、昇華型、ドットインパクト型などの種々のタイプのプリンタを適用することができる。
【００４７】
（２）ドット形成制御処理ルーチン：
図６はドット形成制御処理ルーチンのフローチャートである。このルーチンはプリンタドライバ９０による処理であり、本実施例ではコンピュータＰＣのＣＰＵ８１により実行されるルーチンである。
【００４８】
ドット形成制御処理ルーチンが実行されると、ＣＰＵ８１は、画像データを入力する（ステップＳ１０）。この画像データは、図２に示したアプリケーションプログラムＡＰから受け渡されるデータであり、画像を構成する各画素ごとにＲ，Ｇ，Ｂそれぞれの色について、値０〜２５５の２５６段階の階調値を有するデータである。ＣＰＵ８１は、また、入力された画像データをプリンタ２２が印刷するための解像度に変換する（ステップＳ２０）。
【００４９】
次に、ＣＰＵ８１は、色補正処理を行う（ステップＳ３０）。色補正処理とはＲ，Ｇ，Ｂの階調値からなる画像データをプリンタ２２で使用する６色の各インクに対応した階調データに変換する処理である。この処理は、Ｒ，Ｇ，Ｂのそれぞれの組み合わせからなる色をプリンタ２２で表現するための各インクの組み合わせを予め記憶した色補正テーブルＬＵＴを用いて行われる。色補正テーブルＬＵＴを用いて色補正する処理自体については、公知の種々の技術が適用可能であり、例えば画像データの階調値に応じて色補正テーブルＬＵＴを補間する処理が適用できる。この処理により画像データは、６色の各インクごとに２５６階調を有するデータに変換される。
【００５０】
こうして色補正された画像データに対して、ＣＰＵ８１はハーフトーン処理を行う（ステップＳ１００，Ｓ２００）。ハーフトーン処理とは、画像データとして与えられる２５６段階の階調値をドットの分布によって表現するように、各画素ごとにドットのオン・オフに対応した２値への変換を行う処理をいう。本実施例のプリンタ２２は、各画素ごとにドットのオン・オフの２値しか表現し得ないが、インク重量の異なるドットを用いて各画素ごとに３値以上の濃度を表現可能なプリンタを使用する場合には、３値以上への多値化を行うものとしてもよい。
【００５１】
本実施例では、シアン、マゼンタ、イエロ、ブラックの各インクと、ライトシアン、ライトマゼンタの各インクとは異なる方法によってハーフトーン処理を行っている。図６のフローチャートでは、前者をＣ，Ｍ，Ｙ，Ｋ処理（ステップＳ１００）、後者をＬＣ，ＬＭ処理（ステップＳ２００）として示した。それぞれの処理内容は後述する。
【００５２】
ハーフトーン処理が全画素について終了すると（ステップＳ３００）、ＣＰＵ８１はラスタライズを行う（ステップＳ３０５）。これは、１ラスタ分のデータをプリンタ２２のヘッドに転送する順序に並べ替えることをいう。プリンタ２２がラスタを形成する記録方法には種々のモードがある。最も単純なのは、ヘッドの１回の往運動で各ラスタのドットを全て形成するモードである。この場合には１ラスタ分のデータを処理された順序でヘッドに出力すればよい。他のモードとしては、いわゆるオーバラップがある。例えば、１回目の主走査では各ラスタのドットを例えば１つおきに形成し、２回目の主走査で残りのドットを形成する記録方法である。この場合は各ラスタを２回の主走査で形成することになる。かかる記録方法を採用する場合には、各ラスタのドットを１つおきにピックアップしたデータをヘッドに転送する必要がある。このようにプリンタ２２が行う記録方法に応じてヘッドに転送すべきデータを作成するのが上記ステップＳ３０５での処理である。別途入力された印刷条件に応じてラスタライズの内容が選択される。こうしてプリンタ２２が印刷可能なデータが生成されると、ＣＰＵ８１は該データを出力し、プリンタ２２に転送する（ステップＳ３１０）。プリンタ２２は、このデータを受け取って各画素にそれぞれのドットを形成して画像を印刷する。
【００５３】
本実施例におけるハーフトーン処理について説明する。最初にシアン、マゼンタ、イエロ、ブラックの各インクのハーフトーン処理であるＣ，Ｍ，Ｙ，Ｋ処理について説明する。図７は、Ｃ，Ｍ，Ｙ，Ｋ処理ルーチンのフローチャートである。本実施例では、シアン、マゼンタ、イエロ、ブラックの各インクについては、誤差拡散法によるハーフトーン処理を行っている。
【００５４】
画像データの階調値は、値０〜２５５までの正数値を取りうるが、ドットの形成によって各画素ごとに表現されるのは、ドットの形成時の濃度と、ドットの非形成時の濃度の２つである。従って、各画素ごとにドットのオン・オフを決定すれば、画像データの階調値に基づいて表現されるべき濃度との間に濃度誤差が生じる。濃度誤差は、ドットのオン・オフによって表現される濃度を２５６段階の階調値で表した濃度評価値と、画像データの階調値との差で求められる。誤差拡散法では、こうして各画素で生じた濃度誤差を該画素の周辺の未処理の画素に拡散する。また、各画素でのドットのオン・オフの判定は、処理済みの画素から拡散された濃度誤差を反映して行われる。誤差拡散法は、このように濃度誤差の拡散・反映を繰り返し行うことにより、局所的な濃度誤差を極小に抑えたハーフトーン処理を行う。
【００５５】
かかる処理を行うため、ＣＰＵ８１はＣ，Ｍ，Ｙ，Ｋ処理ルーチンが開始されると、画像データＤＩを入力し（ステップＳ１０５）、拡散誤差補正データＤＩＸの生成を行う（ステップＳ１１０）。拡散誤差補正データＤＩＸとは、処理済みの画素について生じた濃度誤差を、処理対象となる着目画素の画像データＤＩに反映させる処理をいう。着目している画素ＰＰに対して、周辺のどの画素にどの程度の重み付けで、この誤差を配分するかを、図８に例示した。着目画素ＰＰに対して、走査方向および副走査方向にそれぞれ隣接する数画素に対して、濃度誤差が所定の重みを付けて配分される。
【００５６】
ＣＰＵ８１は、こうして生成された拡散誤差補正データＤＩＸと閾値ＴＨとの大小を比較し（ステップＳ１１５）、補正データＤＩＸが閾値ＴＨ以上である場合には、ドットを形成すべきと判定して、処理結果を表す結果値ＲＤにドットの形成を意味する値１を代入する（ステップＳ１２５）。補正データＤＩＸが閾値ＴＨよりも小さい場合には、ドットを形成すべきでないと判定して、結果値ＲＤにドットの非形成を意味する値０を代入する（ステップＳ１２０）。閾値ＴＨはこのようにドットのオン・オフを判定する基準となる値である。閾値ＴＨは、いずれの値に設定することもできるが、本実施例ではドットを形成した場合の濃度評価値と非形成の場合の濃度評価値との平均値に設定されている。
【００５７】
次に、ＣＰＵ８１は、多値化により生じた誤差Ｅｒｒを計算し、その誤差を周辺の画素に拡散する処理を実行する（ステップＳ１３０）。誤差Ｅｒｒとは多値化後の各ドットにより表現される濃度評価値から画像データの階調値を引いた値をいう。例えば、画像データにおける階調値２５５の画素と、階調値１７５の画素を考え、ドットの形成による濃度の評価値を階調値２５５相当、ドットの非形成による濃度の評価値を階調値０相当とする。階調値２５５の画素について、ドットを形成するものと判定された場合は、画像データの階調値と表現される濃度評価値は共に値２５５で一致しているため誤差Ｅｒｒ＝０となる。一方、階調値１７５の画素について、ドットを形成するものと判定された場合は、誤差Ｅｒｒ＝２５５−１７５＝８０となる。
【００５８】
こうして演算された誤差Ｅｒｒは図８に示した割合で周辺の画素に拡散される。例えば、着目画素ＰＰにおいてＥｒｒ＝８０の誤差が算出された場合、隣の画素Ｐ１には誤差の１／４である階調値２０に相当する誤差が拡散される。その他の画素についても同様に図８で示した割合で誤差が拡散される。こうして拡散された誤差が、先に説明したステップＳ１１０で画像データＤＩに反映され、拡散誤差補正データＤＩＸが生成されるのである。ＣＰＵ８１は、Ｃ，Ｍ，Ｙ，Ｋの各インクにつき、以上の処理を繰り返し実行した後（ステップＳ１３５）、Ｃ，Ｍ，Ｙ，Ｋ処理ルーチンを終了する。
【００５９】
なお、Ｃ，Ｍ，Ｙ，Ｋ処理は種々の方法が適用可能である。例えば、周知の技術であるディザ法による多値化を行うものとしても構わない。また、これらの一部のインクについては誤差拡散法を適用し、残余のインクについてはディザ法を適用するものとしてもよい。
【００６０】
次に、ライトシアン、ライトマゼンタの各インクについてのハーフトーン処理に相当するＬＣ，ＬＭ処理ルーチンについて説明する。図９は、ＬＣ，ＬＭ処理ルーチンのフローチャートである。これらの２つのインクについては、誤差拡散法とディザ法の２種類を使い分けてハーフトーン処理を行う。
【００６１】
この処理が開始されると、ＣＰＵ８１は、画像データとして、ライトシアンの階調値ＤＣ、ライトマゼンタの階調値ＤＭを入力し（ステップＳ２０５）、拡散誤差補正データを生成する（ステップＳ２１０）。階調値ＤＣ，ＤＭは色補正処理（図６のステップＳ３０）の結果、値０〜２５５の範囲で与えられるデータである。ライトシアンの階調値ＤＣに対して、ライトシアンの拡散誤差を反映したデータを補正データＤＣＸとする。ライトマゼンタの階調値ＤＭに対して、ライトマゼンタの拡散誤差を反映したデータを補正データＤＭＸとする。
【００６２】
次に、ＣＰＵ８１は、ライトシアンの階調値ＤＣおよびライトマゼンタの階調値ＤＭがともに値３よりも小さいか否かを判定する（ステップＳ２１５）。両者の階調値が非常に小さい低階調領域の画像データであるか否かを判定するのである。ＬＣ，ＬＭ処理ルーチンでは、この判定結果に応じて、２つの方法を使い分けてハーフトーン処理を実行する。
【００６３】
ステップＳ２１５において、階調値ＤＣ，ＤＭのいずれか一方が値３以上であると判定された場合には、ライトシアン、ライトマゼンタのそれぞれのインクについて独立に誤差拡散法を適用してハーフトーン処理を行う。まず、ライトシアンの拡散誤差補正データＤＣＸと所定の閾値ＴＨとの大小関係を比較し（ステップＳ２２０）、補正データＤＣＸが閾値ＴＨ以上の場合には、ライトシアンのドットをオンにすべきと判定して、結果値ＲＤＣに値１を代入する（ステップＳ２３０）。補正データＤＣＸが閾値ＴＨよりも小さい場合には、ライトシアンのドットをオフにすべきと判定して、結果値ＲＤＣに値０を代入する（ステップＳ２２５）。本実施例では、閾値ＴＨをＣ，Ｍ，Ｙ，Ｋ処理ルーチン（図７）と同じ値に設定しているが、異なる値に設定することも可能である。
【００６４】
ライトシアンについてドットのオン・オフを判定した後、ＣＰＵ８１はライトマゼンタについての判定に移行する。つまり、ライトマゼンタの拡散誤差補正データＤＭＸと所定の閾値ＴＨとの大小関係を比較し（ステップＳ２３５）、補正データＤＭＸが閾値ＴＨ以上の場合には、ライトマゼンタのドットをオンにすべきと判定して、結果値ＲＤＭに値１を代入する（ステップＳ２４５）。補正データＤＭＸが閾値ＴＨよりも小さい場合には、ライトマゼンタのドットをオフにすべきと判定して、結果値ＲＤＭに値０を代入する（ステップＳ２４０）。ここで用いられる閾値ＴＨについても、Ｃ，Ｍ，Ｙ，Ｋ処理ルーチン（図７）およびライトシアンの判定に用いられる値（ステップＳ２２０）と異なる値に設定することも可能である。
【００６５】
以上の処理によって、ライトシアン、ライトマゼンタのオン・オフが判定されると、ＣＰＵ８１は、その画素で生じた濃度誤差ＥＣ，ＥＭを計算し、周辺の画素に拡散する処理を行う（ステップＳ２８０）。濃度誤差ＥＣはライトシアンについての濃度誤差を意味し、濃度誤差ＥＭはライトマゼンタについての濃度誤差を意味する。それぞれの濃度誤差の計算方法は、Ｃ，Ｍ，Ｙ，Ｋ処理ルーチン（図７）において説明したのと同様である。つまり、ドットのオン・オフによって表現される濃度評価値から拡散誤差補正データを引いた値を濃度誤差とする。こうして計算された濃度誤差ＥＣ，ＥＭは、それぞれ図８に示す重みをつけて周辺の画素に拡散される。
【００６６】
一方、ステップＳ２１５において、階調値ＤＣ，ＤＭの双方が値３よりも小さいと判定された場合には、ライトシアンとライトマゼンタのドットを十分に分散して形成するために、ディザ法を用いてドットのオン・オフを判定する。つまり、ＣＰＵ８１はライトシアンの階調値ＤＣと閾値ＴＨＤとの大小関係を比較し（ステップＳ２６０）、階調値ＤＣが閾値ＴＨＤ以上の場合には、ドットをオンにすべきと判定して結果値ＲＤＣに値１を代入する（ステップＳ２７０）。階調値ＤＣが閾値ＴＨＤよりも小さい場合には、ドットをオフにすべきと判定して結果値ＲＤＣに値０を代入する（ステップＳ２６５）。
【００６７】
ここで用いられる閾値ＴＨＤは、予め定められたディザマトリックスにより各画素ごとに与えられる。図１０にディザ法によるハーフトーン処理の考え方を示した。図示の都合上、一部の画素についてのみ示してある。図１０（ａ）に示す通り、各画素の階調値ＤＣとディザマトリックスによって与えられる閾値とを各画素ごとに比較し、階調値ＤＣが閾値以上の値である画素についてドットをオンにする。図１０（ａ）では、ドットを形成すべき画素にハッチングを付した。ディザマトリックスは、ドットの分散性を確保した態様で階調値に応じた密度のドットが形成されるように設定された分散型のテーブルを用いている。本実施例では、６４×６４画素の範囲で設定されたブルーノイズマスク型のマトリックスを使用した。かかるマトリックスの例を図１１に示す。
【００６８】
次に、ＣＰＵ８１は、ライトマゼンタについてのハーフトーン処理に移行する。ここでは、ライトシアンおよびライトマゼンタの階調値が共に低い領域でのハーフトーン処理を対象としているため、双方のインクともにドットの記録密度が低い。従って、両インクにより形成されるドット全体を分散して形成することが可能である。かかる観点から、ＣＰＵ８１は、ライトシアンについてドットをオンにすべきと判定された場合、その画素にはライトマゼンタを形成すべきでないと判定し、一義的にライトマゼンタの結果値ＲＤＭに値０を代入する（ステップＳ２８５）。
【００６９】
一方、ライトシアンのドットをオフにすべきと判定された画素については、ＣＰＵ８１は、ディザ法によりライトマゼンタのドットのオン・オフを判定する。但し、ここでは、ライトシアンの階調値ＤＣとライトマゼンタの階調値ＤＭの総和と閾値ＴＨＤとの大小関係を比較する（ステップＳ２７５）。総和が閾値ＴＨＤ以上である場合には、ドットをオンにすべきと判定して結果値ＲＤＭに値１を代入する（ステップＳ２８０）。総和が閾値ＴＨＤよりも小さい場合には、ドットをオフにすべきと判定して結果値ＲＤＭに値０を代入する（ステップＳ２８５）。閾値ＴＨＤはライトシアンについて用いられたのと同じディザマトリックスによって与えられる閾値である。
【００７０】
ディザ法によるライトマゼンタのハーフトーン処理を図１０（ｂ）に示した。図１０（ｂ）中の下段に示したのがライトマゼンタの階調値ＤＭであり、中段に示したのがライトシアンの階調値ＤＣである。上段に両者の総和を示した。本実施例では、この総和がディザマトリックスによって与えられる閾値ＴＨＤよりも大きい画素でライトマゼンタのドットをオンにすべきと判定する。図１０（ｂ）中のハッチングを示した画素がオンと判定された画素である。図１０（ａ）と対比すれば、ライトシアンのドットと重ならない画素でライトマゼンタのドットががオンになっていることが分かる。本実施例では、このように一方の色について階調値の総和を用いてドットのオン・オフを判定することにより、２つの色について同一のディザマトリックスを用いつつドットの分散性を確保している。
【００７１】
以上の処理によって、ディザ法を用いてライトシアン、ライトマゼンタのオン・オフが判定されると、ＣＰＵ８１は、その画素で生じた濃度誤差ＥＣ，ＥＭの計算に用いられる濃度評価値の設定を行う（ステップＳ２９０）。濃度評価値は、誤差拡散法で用いられた濃度評価値と同じ値を用いることも可能であるが、本実施例では、ディザ法でドットのオン・オフを判定した場合の濃度評価値として、画像データの階調値に応じて異なる値を用いている。かかる値は、階調値に応じたテーブルとしてＲＯＭ８２に記憶されている。ライトシアンとライトマゼンタで共通のテーブルを使用する。ＣＰＵ８１は、ステップＳ２９０において、このテーブルに基づいてライトシアンの階調値ＤＣに応じた濃度評価値ＶＣと、ライトマゼンタの階調値ＤＭに応じた濃度評価値ＶＭとを設定する。濃度評価値の設定については後述する。
【００７２】
次に、ＣＰＵ８１は、濃度誤差の計算および周辺の画素への拡散を行う（ステップＳ２９５）。それぞれの濃度誤差の計算方法は、Ｃ，Ｍ，Ｙ，Ｋ処理ルーチン（図７）において説明したのと同様である。つまり、ドットのオン・オフによって表現される濃度評価値から拡散誤差補正データを引いた値を濃度誤差とする。但し、Ｃ，Ｍ，Ｙ，Ｋ処理ルーチン（図７）とは異なり、ここでは、画像データの階調値ＤＣ，ＤＭに応じてステップＳ２９０で設定された濃度評価値ＶＣ，ＶＭを用いる。こうして計算された濃度誤差ＥＣ，ＥＭは、それぞれ図８に示す重みをつけて周辺の画素に拡散される。
【００７３】
図１２に、ＬＣ，ＬＭ処理における誤差の拡散の様子を示す。図中のマスは印刷用紙Ｐ上の画素を示している。ハッチングを施した画素は、階調値ＤＣ，ＤＭのいずれか一方が値３以上の領域、つまり誤差拡散法によってハーフトーン処理が行われる領域を意味している。ハッチングを付していない画素は、ディザ法によってハーフトーン処理が行われる領域である。
【００７４】
誤差拡散法によってハーフトーン処理が行われると、図８のテーブルに従って、周辺の画素に誤差が拡散される。例えば、画素Ｃ１について処理が行われた場合には、ディザ法でハーフトーン処理される画素Ｃ２，Ｃ３にも誤差が拡散される。但し、図９のステップＳ２６０〜Ｓ２８５で示した通り、この領域ではディザ法によってハーフトーン処理しているため、この誤差は、画素Ｃ２，Ｃ３におけるドットのオン・オフの判定に何ら影響を与えない。画素Ｃ２，Ｃ３から更に周辺の画素に拡散される誤差の計算に関与するのみである。
【００７５】
本実施例では、ディザ法でハーフトーン処理を行った場合にも誤差の拡散を実行する（図９のステップＳ２９５）。例えば、図１２中の画素Ｃ４についてハーフトーン処理を行った後、そこで生じた誤差を周辺の画素Ｃ５，Ｃ６などに拡散する。画素Ｃ５，Ｃ６もディザ法によってハーフトーン処理される画素であるから、画素Ｃ４から拡散された誤差はこれらの画素におけるドットのオン・オフの判定に何ら影響を与えない。画素Ｃ５，Ｃ６から更に周辺の画素に拡散される誤差の計算に関与するのみである。
【００７６】
ディザ法でハーフトーン処理を行った画素から拡散される誤差がドットのオン・オフに影響を与える場合もある。例えば、図１２中の画素Ｃ７のように誤差拡散法でハーフトーン処理される領域近傍の画素で生じた誤差は、誤差拡散法でハーフトーン処理される画素Ｃ８，Ｃ９などに拡散される場合がある。かかる場合には、この誤差が画素Ｃ８，Ｃ９におけるドットのオン・オフに影響を与えることになる。
【００７７】
本実施例では、各画素について常に誤差を拡散することにより、ディザ法によってハーフトーン処理される領域（以下、ディザ領域という）と誤差拡散法によってハーフトーン処理される領域（以下、ＥＤ領域という）との境界部分でドットの分布が滑らかに変化するようにしている。誤差拡散法は処理済みの画素からの誤差を反映して着目画素のドットのオン・オフを決定するとともに、該着目画素で生じた濃度誤差を周辺の未処理の画素に拡散することによって濃度誤差を極小に抑えたハーフトーン処理を実現する方法である。ディザ法でハーフトーン処理した場合に誤差の拡散を行わないものとすれば、例えば、図１２中の画素Ｃ８，Ｃ９では処理済みの画素からの誤差を反映することなくドットのオン・オフを判定することになるから、画素Ｃ７と画素Ｃ８との境界部分でドットの形成パターンが急激に変化する可能性がある。本実施例では、ディザ領域からＥＤ領域への誤差の拡散を行うことにより、このようなドットの形成パターンの急激な変化を抑制し、いわゆる疑似輪郭の発生を抑制している。
【００７８】
ここで、ディザ法における濃度評価値の設定（図９のステップＳ２９０）について説明する。通常、ディザ法では誤差の拡散は行われない。これは、ディザマトリックスによって、所定の領域内での濃度誤差が小さくなるようにドットが形成されるからである。これに対し、本実施例では、図１２に示した通り、ディザ領域とＥＤ領域との境界でドットの分布が滑らかに変化するように、両者の間で誤差の拡散を行っている。この場合、ＥＤ領域のうちディザ領域から誤差が拡散される画素で濃度誤差の小さいドットの分布を実現するためには、ディザ領域において用いられる濃度評価値を適切な値に設定する必要がある。かかる観点から、ディザ領域での濃度評価値は、階調値が一定の領域に対してディザ法でドットのオン・オフを判定した結果、各画素ごとに生じる濃度誤差の平均値がほぼ値０になる値に設定する。このような値は、画像データの階調値、ディザマトリックスの設定などに応じて変化する。
【００７９】
一方、印刷されたドットの濃度評価値は、ドットの密度に応じて変化することが知られている。例えば、所定の領域にドットが１つ形成されて表現される場合の濃度と、２つ形成されて表現される濃度とを比較すると、後者は必ずしも前者の倍の濃度として視認はされない。ディザ法でドットのオン・オフを判定する場合には、ディザマトリックスの設定に基づき、画像データの階調値に応じて発生するドットの密度が概ね定まる。従って、ディザ領域での濃度評価値は、画像データの階調値に応じたドットの密度を反映した値に設定することが望ましい。
【００８０】
本実施例では、これら２点を考慮して、階調値に応じた濃度評価値が設定されており、階調値が値１の画素では濃度評価値を値１００，階調値が値２の画素では濃度評価値を値１２０に設定している。本実施例では、階調値が３よりも小さいときのみディザ法によるハーフトーン処理を行うため、上述の２種類の濃度評価値を設定しておけば十分である。ディザ法によるハーフトーン処理を行う階調値を広げた場合には、更に多くの階調値に応じた濃度評価値を設定すればよい。なお、かかる濃度評価値は、先に説明した２点を考慮して、解析等によって設定することも可能であるが、濃度評価値を種々変化させてハーフトーン処理を実行し、ディザ領域とＥＤ領域との境界付近でドットの分布が滑らかに変化する値を選択する方法により実験的に設定するものとしてもよい。
【００８１】
以上で説明した本実施例の画像処理装置および印刷装置によれば、誤差拡散法を主体としてハーフトーン処理することにより、全体に高画質な画像処理および印刷を実行することができる。また、ＬＣ、ＬＭ処理ルーチンに示した通り、低階調の領域においては、ディザ法を用いてハーフトーン処理することにより、ライトシアンおよびライトマゼンタそれぞれのインクによるドットの分散性のみならず、両色間のドットの分散性をも確保した画像処理を行うことができる。一般に低階調の領域では、ドットの形成密度が低いため、ドットの形成に局所的な偏りが生じると、ドットが視認され易く、画像の粒状感を損ねやすい。本実施例の画像処理装置は、低階調の領域でディザ法を用いることにより、かかる局所的な偏りを抑制することができ、低階調領域での画質を向上することができる。
【００８２】
以上で説明した実施例では、ライトシアンおよびライトマゼンタについてのみディザ法によるハーフトーン処理を適用した。これらのインクが、低階調の領域において色間のドットの分散性が画質に影響を与えやすいからである。ディザ法による処理は、このように一部のインクにのみ適用するものとしてもよいし、その他のインクについても適用するものとしてもよい。
【００８３】
ディザ法を適用する基準となる階調値は、値３（図９のステップＳ２１５参照）に限られるものではなく、色間のドットの分散性が画質に影響を与えやすい範囲で種々の値に設定可能である。また、ライトシアンは階調値が値３よりも小さく、ライトマゼンタは階調値が値４よりも小さい画素でディザ法によるハーフトーン処理を行うというように、各インクごとに基準となる値を変えてもよい。
【００８４】
ディザ法を適用するか否かの判断は、各インクの階調値に基づいて行った。これに対し、色補正処理（図６のステップＳ３０）を行う前の原画像データの階調値に基づいて判断するものとしてもよい。プリンタ２２のように同一の色相で濃度の異なるインクを有している場合、高濃度の領域においては、濃度の低いインクの記録率が低く、濃度の高いインクの記録率が高く設定されるのが通常である。かかる場合には、濃度の低いインクの階調値が小さいからといって、必ずしも該画素が低階調の領域に該当するとは限らない。これに対し、色補正処理前の画像データに基づいてディザ法を適用するか否かの判断を行うものとすれば、低階調の画素を適切に識別することができ、真に色間でのドットの分散性を確保したい画素についてのみディザ法によるハーフトーン処理を適用することが可能となる。もちろん、各インクに対応して設定された階調値ではなく、各色相に対応して階調値を与える態様で色補正処理が行われる場合には、色補正後の階調値を用いるものとしても同様の効果を得ることができる。
【００８５】
本実施例では、ライトマゼンタについて階調値ＤＣと階調値ＤＭの和を用いてドットのオン・オフを判定することで、ライトシアンとライトマゼンタとの色間のドットの分散性を確保している。異なるインク間のドットの分散性の確保は、その他種々の方法によっても可能である。例えば、ライトシアンとライトマゼンタとを、それぞれのドットの分散性が確保されるように設定された２つのディザマトリックスをそれぞれ用いてハーフトーン処理するものとしてもよい。この場合には、ライトシアンについて階調値ＤＣ、ライトマゼンタについて階調値ＤＭをそれぞれ用いてハーフトーン処理することにより、ドットの分散性を適切に確保することができる。
【００８６】
上述の方法で用いられるディザマトリックスは、２つを個別に設定することも可能であるが、基本となる一つのマトリックスに基づいて生成するものとしてもよい。このように生成されたマトリックスの例を図１３に示す。図示の都合上４×４のマトリックスについて示す。図中のマトリックスＴＭが基本となるマトリックスであり、マトリックスＵＭはマトリックスＴＭの各閾値を上下対称に反転させて生成されたマトリックスである。こうすることで、マトリックスＵＭ、ＴＭの閾値の大小関係が逆転し、マトリックスＵＭで大きな閾値に設定された画素に対してマトリックスＴＭでは小さな閾値が設定される。従って、両者を用いてハーフトーン処理することにより、色間の分散性を確保することができる。
【００８７】
本実施例では、カラー印刷を行うプリンタを例にとって説明した。これに対し、本発明を単色での印刷を行うプリンタに適用することも可能である。例えば、濃度の異なる黒インクを複数備えるプリンタを用いた印刷装置において、低階調の領域では、各インクにより形成されるドットの分散性を確保するためにディザ法を適用するものとしてもよい。また、本実施例では、一定のインク重量でドットを形成するプリンタを例にとって説明したが、インク重量の異なるドットを形成可能なヘッドを備えるプリンタに適用することもできる。
【００８８】
以上、本発明の種々の実施例について説明してきたが、本発明はこれらに限定されるものではなく、その要旨を逸脱しない範囲で、種々の形態による実施が可能である。例えば、上記実施例で説明した種々の制御処理は、その一部または全部をハードウェアにより実現してもよい。
【図面の簡単な説明】
【図１】実施例の印刷装置の概略構成図である。
【図２】実施例の印刷装置のソフトウェア構成を示す説明図である。
【図３】プリンタ２２の概略構成を示す説明図である。
【図４】プリンタ２２におけるノズル配置を示す説明図である。
【図５】プリンタ２２によるドットの形成原理を示す説明図である。
【図６】ドット形成制御処理ルーチンのフローチャートである。
【図７】Ｃ，Ｍ，Ｙ，Ｋ処理ルーチンのフローチャートである。
【図８】誤差拡散の重み値の設定例を示す説明図である。
【図９】ＬＣ，ＬＭ処理ルーチンのフローチャートである。
【図１０】ディザ法の考え方を示す説明図である。
【図１１】ブルーノイズマスク型のディザマトリックスの例を示す説明図である。
【図１２】ハーフトーン処理の方法と誤差拡散との関係を示す説明図である。
【図１３】変形例のディザマトリックスを示す説明図である。
【符号の説明】
１２…スキャナ
１４…キーボード
１５…ＣＤ−ＲＯＭドライブ
１６…ハードディスク
１８…モデム
２１…ＣＲＴ
２２…プリンタ
２３…モータ
２４…キャリッジモータ
２６…プラテン
２８…印字ヘッド
３１…キャリッジ
３２…操作パネル
３４…摺動軸
３６…駆動ベルト
３８…プーリ
３９…位置検出センサ
４０…制御回路
６１〜６６…インク吐出用ヘッド
６８…インク通路
７１、７２…カートリッジ
８０…バス
８４…入力インターフェイス
８５…出力インタフェース
８７…ディスクコントローラ
８８…シリアル入出力インタフェース
９０…プリンタドライバ
９１…解像度変換モジュール
９２…色補正モジュール
９３…ハーフトーンモジュール
９４…ラスタライザ
【図１】
0004097170.tif 000002
【図２】
0004097170.tif 000003
【図３】
0004097170.tif 000004
【図４】
0004097170.tif 000005
【図５】
0004097170.tif 000006
【図６】
0004097170.tif 000007
【図７】
0004097170.tif 000008
【図８】
0004097170.tif 000009
【図９】
0004097170.tif 000010
【図１０】
0004097170.tif 000011
【図１１】
0004097170.tif 000012
【図１２】
0004097170.tif 000013
【図１３】
0004097170.tif 000014