(57)【要約】      （修正有）【課題】画像データの階調値が高く、インクデューティがほぼ１００％になるべき領域で、ドット抜けが生じて画質が低下することのない印刷装置、印刷用データ生成装置およびその方法、ならびに印刷用データ生成プログラムを提供する。【解決手段】ドットの形成の有無を表すドットデータを生成するハーフトーン処理部４２に、画像データの階調値であるデータ階調値を閾値の１つと比較する比較部４３と、データ階調値を誤差拡散法用閾値と比較することにより、ドットデータを生成する誤差拡散部４４とを備える。このとき、比較部の比較結果が、データ階調値が前記閾値未満の場合には、データ階調値が前記閾値以上である場合に設定される低位閾値より大きな高位閾値に設定するものとし、更に、高位閾値は、データ階調値が所定の値以上で、データ階調値の最大値以上となり、所定の値以上の所定の階調範囲で、前記最大値より小さな値となるよう定める。【選択図】図１
2015167306.tif 000002
【特許請求の範囲】
【請求項１】
所定の画像を表す画像データの印刷を行う印刷装置であって、
前記画像データを入力する入力部と、
前記画像データに基づいて、ドットの形成の有無を表すドットデータを生成するハーフトーン処理部と、
前記生成されたドットデータを用いて、前記画像の印刷を行う印刷部と
を備え、
前記ハーフトーン処理部は、
複数の閾値の１つと、前記入力された画像データの階調値であるデータ階調値とを比較する比較部と、
前記データ階調値を、誤差拡散法におけるドット形成の有無の判断に用いる閾値である誤差拡散法用閾値と比較することにより、前記ドットデータを生成する誤差拡散部と
を備え、
前記誤差拡散法用閾値は、前記比較部の比較結果が、前記データ階調値が前記閾値未満の場合には、前記データ階調値が前記閾値以上である場合に設定される低位閾値より大きな高位閾値に設定され、
前記高位閾値は、前記データ階調値が所定の値以上で、前記データ階調値の最大値以上となり、前記所定の値以上の所定の階調範囲で、前記最大値より小さな値となるよう定められている
印刷装置。
【請求項２】
前記高位閾値は、前記所定の範囲では、前記データ階調値に対して単調減少する値として定められた請求項１記載の印刷装置。
【請求項３】
前記複数の閾値は、組織的ディザ法に用いるディザマスクとして用意される請求項１または請求項２に記載の印刷装置。
【請求項４】
前記ディザマスクは、ブルーノイズ特性を有する請求項１から請求項３のいずれか一項記載の印刷装置。
【請求項５】
前記高位閾値は、前記所定値までは、前記データ階調値に応じて、単調増加する値として定められた請求項１から請求項４のいずれか一項に記載の印刷装置。
【請求項６】
前記低位閾値は、前記データ階調値が、予め定めた値以下では、前記データ階調値の最小値未満の値に設定された請求項１から請求項５のいずれか一項に記載の印刷装置。
【請求項７】
前記ハーフトーン処理部は、前記データ階調値が、前記所定の値を含む所定の範囲において、前記データ階調値が前記閾値以上の場合には、前記誤差拡散部による処理に代えて、前記比較部の比較結果に基づいて、前記ドットデータを生成する請求項１から請求項６のいずれか一項に記載の印刷装置。
【請求項８】
請求項１から請求項７のいずれか一項記載の印刷装置であって、
前記誤差拡散部は、前記ドットデータの生成に伴って生じる階調誤差を、前記ドットデータを生成した着目画素の周辺の複数の画素に拡散する際、前記所定の階調値以上の所定の階調範囲の少なくとも一部では、前記周辺の複数の画素に拡散した階調誤差の総和が、前記生じた階調誤差より少なくなるように、前記誤差拡散を行なう
印刷装置。
【請求項９】
請求項８記載の印刷装置であって、
前記誤差拡散部は、前記生じた階調誤差を前記周辺の複数の各画素に拡散する拡散量を、前記着目画素において生じた階調誤差に、前記周辺の各画素への拡散の割合を定めた拡散係数を乗じて決定しており、前記拡散係数の総和が１未満である印刷装置。
【請求項１０】
所定の画像を表す画像データの印刷用データを生成する印刷用データ生成装置であって、
前記画像データを入力する入力部と、
前記画像データに基づいて、ドットの形成の有無を表すドットデータを生成するハーフトーン処理部と、
を備え、
前記ハーフトーン処理部は、
複数の閾値の１つと、前記入力された画像データの階調値であるデータ階調値とを比較する比較部と、
前記データ階調値を、誤差拡散法におけるドット形成の有無の判断に用いる閾値である誤差拡散法用閾値と比較することにより、前記ドットデータを生成する誤差拡散部と
を備え、
前記誤差拡散法用閾値は、前記比較部の比較結果が、前記データ階調値が前記閾値以上の場合には、前記データ階調値が前記閾値未満である場合に設定される低位閾値より大きな高位閾値に設定され、
前記高位閾値は、前記データ階調値が所定の値以上で、前記データ階調値の最大値以上となり、前記所定の値以上の所定の階調範囲で、前記最大値より小さな値となるよう定められている
印刷用データ生成装置。
【請求項１１】
所定の画像を表す画像データの印刷用データを生成する方法であって、
前記画像データを入力し、
複数の閾値の１つと、前記入力された画像データの階調値であるデータ階調値とを比較し、
前記比較結果が、前記データ階調値が前記閾値以上の場合には、誤差拡散法におけるドット形成の有無の判断に用いる閾値である誤差拡散法用閾値を、前記データ階調値が前記閾値未満である場合に設定される低位閾値より大きな高位閾値に設定し、
該設定した前記誤差拡散法用閾値を用いて、前記誤差拡散法により、前記ドット形成の有無を表すドットデータを生成し、
前記高位閾値は、前記データ階調値が所定の値の以上で、前記データ階調値の最大値以上となり、前記所定の値以上の所定の階調範囲で、前記最大値より小さな値となるよう定められている
印刷用データの生成方法。
【請求項１２】
所定の画像を表す画像データの印刷用データを生成するための印刷用データ生成プログラムであって、
前記画像データを入力する機能と、
複数の閾値の１つと、前記入力された画像データの階調値であるデータ階調値とを比較する機能と、
前記比較結果が、前記データ階調値が前記閾値以上の場合には、誤差拡散法におけるドット形成の有無の判断に用いる閾値である誤差拡散法用閾値を、前記データ階調値が前記閾値未満である場合に設定される低位閾値より大きな高位閾値に設定する機能と、
該設定した前記誤差拡散法用閾値を用いて、前記誤差拡散法により、前記ドットの形成の有無を表すドットデータを生成する機能と、
をコンピューターに実現させ、
前記高位閾値は、前記データ階調値が所定の値の以上で、前記データ階調値の最大値以上となり、前記所定の値以上の所定の階調範囲で、前記最大値より小さな値となるよう定められている
印刷用データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを用いて印刷する技術および印刷用データを生成する技術に関する。
【背景技術】
【０００２】
多階調の画像データを、階調数の少ないドットデータにより印刷するハーフトーン処理としては、階調数変換をした場合の濃度誤差を周辺の画素に配分する誤差拡散法や、分散性のよい閾値配置がなされたディザマスクを用いてドットデータを生成する組織的ディザ法などが知られている。ブルーノイズ特性を付与されたディザマスクを用いたり、ベイヤー型ディザマスクを用いたりする場合、ドット配置の分散性は良好なものとなり、階調変化が比較的小さいデータが２次元的な広がりを持っている画像の再現性に優れる。また、こうした組織的ディザ法は、ディザマスクにおける閾値の配置に特定の特性を与えることで、ドットの形成を制御できるという利点がある。
【０００３】
例えば、下記特許文献１に示す手法は、双方向印字を行なう場合の往動時のドット形成の判断に用いるディザマスクと、復動時のドット形成の判断に用いるディザマスクとを独立に作成する。それぞれのディザマスクにブルーノイズ特性を付与することで、双方印字位置のドット形成位置のズレに対して画質低下の少ない印刷を可能としている。
【０００４】
こうしたディザ法と誤差拡散法との利点を共に生かす技術を、出願人は、提案している（下記特許文献２参照）。この技術では、着目している画素の階調値をまずディザマスクを構成する閾値と比較し、その比較結果によって、誤差拡散法に用いる閾値を異ならせ、かつその閾値を着目画素の階調値により変化させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１５３５９号公報
【特許文献２】特開２０１１ー６６５９４号公報
【特許文献３】特許第３３６０３９１公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
かかる手法は、生成させるドットデータに、誤差拡散法とディザ法のそれぞれの特長が反映される度合いを、コントロールすることができる優れたものであり、その応用範囲は広い。出願人は、この手法を更に改良し、インクデューティがほぼ１００％になるべき領域での画像の品質を一層高めることができた。本発明の手法を用いれば、画像データの階調値が高く、インクデューティがほぼ１００％になるべき領域で、ドット抜けが生じて画質が低下するという課題を解決することができる。また、従来の画像処理や印刷においては、装置の小型化や、低コスト化、省資源化、製造の容易化、使い勝手の向上等が望まれてもいた。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。
【０００８】
（１）本発明の一実施形態として、所定の画像を表す画像データの印刷を行う印刷装置が提供される。この印刷装置は、前記画像データを入力する入力部と、前記画像データに基づいて、ドットの形成の有無を表すドットデータを生成するハーフトーン処理部と、前記生成されたドットデータを用いて、前記画像の印刷を行う印刷部とを備える。前記ハーフトーン処理部は、複数の閾値の１つと、前記入力された画像データの階調値であるデータ階調値とを比較する比較部と、前記データ階調値を、誤差拡散法におけるドット形成の有無の判断に用いる閾値である誤差拡散法用閾値と比較することにより、前記ドットデータを生成する誤差拡散部とを備えて良い。ここで、前記誤差拡散法用閾値は、前記比較部の比較結果が、前記データ階調値が前記閾値未満の場合には、前記データ階調値が前記閾値以上である場合に設定される低位閾値より大きな高位閾値に設定される。前記高位閾値は、前記データ階調値が所定の値以上で、前記データ階調値の最大値以上となり、前記所定の値以上の所定の階調範囲で、前記最大値より小さな値となるよう定められてよい。
【０００９】
所定階調値範囲で、高位閾値を最大値より小さな値とすれば、ドットの発生が抑制されにくくなり、インクデューティがほぼ１００％になるべき領域でのドット抜けが抑制される。
【００１０】
（２）こうした印刷装置において、前記高位閾値は、前記所定の範囲では、前記データ階調値に対して単調減少する値として定められてよい。単調減少するようにすれば、ドット発生の変化が連続的なものとなり、特異なドットパターンなど生じにくくなる。
【００１１】
（３）前記複数の閾値は、組織的ディザ法に用いるディザマスクとして用意されてよい。こうすれば、ディザ法による影響を強めた場合に、組織的ディザ法よるドットデータの生成に近い特性のドットデータを得ることができる。
【００１２】
（４）前記ディザマスクは、ブルーノイズ特性を有するものとしてよい。こうすれば、ディザ法による影響の下で生成されるドットデータにブルーノイズ特性に近い特性を付与することができる。
【００１３】
（５）前記高位閾値は、前記所定値までは、前記データ階調値に応じて、単調増加する値として定められてよい。こうすれば、ドット発生の変化が連続的なものとなり、特異なドットパターンなど生じにくくなる。
【００１４】
（６）前記低位閾値は、前記データ階調値が、予め定めた値以下では、前記データ階調値の最小値未満の値に設定されてよい。こうすれば、低位閾値を用いて誤差拡散法によるドット形成の有無を判断すると、必ずドットが形成されることになり、ドットデータの特性をディザ法による特性に一致させることができる。
【００１５】
（７）前記ハーフトーン処理部は、前記データ階調値が、前記所定の値を含む所定の範囲において、前記データ階調値が前記閾値以上の場合には、前記誤差拡散部による処理に代えて、前記比較部の比較結果に基づいて、前記ドットデータを生成するものとして良い。こうすれば、誤差拡散処理の一部を省略でき、処理の負担を軽減することができる。
【００１６】
（８）前記誤差拡散部は、前記ドットデータの生成に伴って生じる階調誤差を、前記ドットデータを生成した着目画素の周辺の複数の画素に拡散する際、前記所定の階調値以上の所定の階調範囲の少なくとも一部では、前記周辺の複数の画素に拡散した階調誤差の総和が、前記生じた階調誤差より少なくなるように、前記誤差拡散を行なうものとして良い。こうすれば、前記所定の階調範囲の少なくとも一部において、ドットが形成された際に生じる誤差の蓄積が軽減され、拡散された誤差の蓄積によりドットが形成されないという現象が生じにくくなる。この結果、インクデューティが１００％となるべき領域でのドット抜けの発生を一層確実に抑制することができる。
【００１７】
（９）誤差拡散部において、前記生じた階調誤差を前記周辺の複数の各画素に拡散する拡散量を、前記着目画素において生じた階調誤差に、前記周辺の各画素への拡散の割合を定めた拡散係数を乗じて決定していれば、かかる処理は、前記拡散係数の総和を１未満とすることで、容易に実現することができる。
【００１８】
（１０）本発明は、所定の画像を表す画像データの印刷用データを生成する印刷用データ生成装置として実施することができる。かかる印刷用データ生成装置は、前記画像データを入力する入力部と、前記画像データに基づいて、ドットの形成の有無を表すドットデータを生成するハーフトーン処理部と、を備え、前記ハーフトーン処理部は、複数の閾値の１つと、前記入力された画像データの階調値であるデータ階調値とを比較する比較部と、前記データ階調値を、誤差拡散法におけるドット形成の有無の判断に用いる閾値である誤差拡散法用閾値と比較することにより、前記ドットデータを生成する誤差拡散部とを備えて良い。前記誤差拡散法用閾値は、前記比較部の比較結果が、前記データ階調値が前記閾値未満の場合には、前記データ階調値が前記閾値以上である場合に設定される低位閾値より大きな高位閾値に設定され、前記高位閾値は、前記データ階調値が所定の値以上で、前記データ階調値の最大値以上となり、前記所定の値以上の所定の階調範囲で、前記最大値より小さな値となるよう定められてよい。
【００１９】
かかる印刷用データ生成装置では、高位閾値を最大値より小さな値とすれば、ドットの発生が抑制されにくくなり、インクデューティがほぼ１００％になるべき領域でのドット抜けを抑制することができる。
【００２０】
（１１）本発明は、この他、方法やプログラムとしても実施可能である。例えば、所定の画像を表す画像データの印刷用データを生成する方法としても実施できる。この方法は、前記画像データを入力し、複数の閾値の１つと、前記入力された画像データの階調値であるデータ階調値とを比較し、前記比較結果が、前記データ階調値が前記閾値未満の場合には、誤差拡散法におけるドット形成の有無の判断に用いる閾値である誤差拡散法用閾値を、前記データ階調値が前記閾値以上である場合に設定される低位閾値より大きな高位閾値に設定し、該設定した前記誤差拡散法用閾値を用いて、前記誤差拡散法により、前記ドット形成の有無を表すドットデータを生成して良い。ここで、前記高位閾値は、前記データ階調値が所定の値の以上で、前記データ階調値の最大値以上となり、前記所定の値以上の所定の階調範囲で、前記最大値より小さな値となるよう定められて良い。かかる印刷用データの生成方法によっても、前述の印刷装置と同様の作用効果を奏することができる。
【００２１】
（１２）また、所定の画像を表す画像データの印刷用データを生成するための印刷用データ生成プログラムとして実施することもできる。このプログラムは、前記画像データを入力する機能と、複数の閾値の１つと、前記入力された画像データの階調値であるデータ階調値とを比較する機能と、前記比較結果が、前記データ階調値が前記閾値未満の場合には、誤差拡散法におけるドット形成の有無の判断に用いる閾値である誤差拡散法用閾値を、前記データ階調値が前記閾値以上である場合に設定される低位閾値より大きな高位閾値に設定する機能と、該設定した前記誤差拡散法用閾値を用いて、前記誤差拡散法により、前記ドットの形成の有無を表すドットデータを生成する機能と、をコンピューターに実現させて良い。ここで、前記高位閾値は、前記データ階調値が所定の値の以上で、前記データ階調値の最大値以上となり、前記所定の値以上の所定の階調範囲で、前記最大値より小さな値となるよう定められて良い。かかるプログラムをコンピューターに実行させた場合、上記方法と同様の作用効果を得ることができる。
【００２２】
本発明は、印刷装置や画像データ生成装置以外の種々の形態で実現することも可能である。例えば、印刷装置の製造方法や印刷装置の制御方法、その制御方法を実現するコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することができる。
【図面の簡単な説明】
【００２３】
【図１】実施例の画像処理装置を示す概略構成図。
【図２】プリンター２０における印刷処理の流れを示すフローチャート。
【図３】第１実施形態におけるハーフトーン処理を例示するフローチャート。
【図４】実施態様で用いるディザマスク６１を例示する説明図。
【図５】実施態様で用いるディザマスク６１が備えるノイズ特性を例示する説明図。
【図６】第１実施形態における高域側閾値ＴＨｅ＿Ｈおよび低域側閾値ＴＨｅ＿Ｌと注目画素データＤｎとの関係を示すグラフ。
【図７】誤差拡散範囲と重み付けを例示する説明図。
【図８】第１実施形態を適用した場合の入力画像のデューティとドット発生率との関係を示すグラフ。
【図９】第１実施形態を適用した場合の細線の表示の一例を示す説明図。
【図１０】第１実施形態を適用した場合の文字の表示の一例を示す説明図。
【図１１】第１実施形態の変形例における高域側閾値ＴＨｅ＿Ｈおよび低域側閾値ＴＨｅ＿Ｌと注目画素データＤｎとの関係を示すグラフ。
【図１２】第２実施形態におけるハーフトーン処理を例示するフローチャート。
【図１３】第３実施形態におけるハーフトーン処理を例示するフローチャート。
【発明を実施するための形態】
【００２４】
Ａ．第１実施形態：
本発明の第１実施形態について説明する。
Ａ−１．装置構成：
図１は、本発明の印刷装置の第１実施形態としてのプリンター２０の概略構成図である。プリンター２０は、いわゆるラインプリンターであり、後述する４色のインクを用いるインクジェットプリンターである。図示するように、プリンター２０は、紙送りモータ７４によって紙送りローラ７５を駆動して印刷媒体Ｐを搬送する機構と、印刷媒体Ｐに対向する位置に設けられた印刷ヘッド９０を駆動してインクの吐出及びドット形成を行なう機構と、これらの紙送りモータ７４、印刷ヘッド９０及び操作パネル９９との信号のやり取りを司る制御ユニット３０とから構成されている。本実施形態では、紙送りローラ７５は、プラテンを兼ねているが、プラテンは紙送りローラと別体としても良い。この場合には、表面が平らな平プラテンとしても良い。また、紙送りローラ７５は、印刷ヘッド９０の上流・下流にそれぞれ設けても良い。
【００２５】
印刷ヘッド９０には、カラーインクとして、シアンインクＣ、マゼンタインクＭ、イエロインクＹ、ブラックインクＫを吐出可能な多数のノズルＮｚが、印刷媒体Ｐの幅方向に亘っても受けられている。これら複数のノズルの１つ１つには、アクチュエータとしての図示しないピエゾ素子が設けられている。ピエゾ素子は、ドットデータに対応したデータ信号ＤＤと、駆動信号ＤＳとにより、駆動される。なお、ノズルＮｚからのインクを吐出させるアクチュエータとしては、ピエゾ素子に限らず、インクの突沸を利用して吐出を行なうヒータタイプのものや、レーザを用いたものなど、種々の構成を採用することができる。もとより、インクドットの形成は、インクジェットに限らず、インクリボンを用いた熱転写や熱昇華型、感光ドラムに潜像を形成する方式、あるいは印刷用のヘッドを印刷媒体の幅方向に往復動させつつノズルからインクを吐出するシリアルプリンターなど、種々の方式を採用可能である。
【００２６】
この印刷ヘッド９０には、各色インクをそれぞれ収容したカラーインク用のインクカートリッジ８２〜８５から、インクの供給管９２ないし９５を介して、各色インクが供給される。なお、インク色としては、上述したＣＭＹＫに加えて、ライトシアンインクＬｃ、ライトマゼンタインクＬｍなどを用いるものとしてもよい。もとより赤、青、緑などの特色インクを用いることや、ゴールド、パールホワイト、などのいわゆるメタリックインクを用いるものとしても良い。更には、白黒印刷用のインクシステムを備えたもののであっても良い。
【００２７】
制御ユニット３０は、ＣＰＵ４０や、ＲＯＭ５１、ＲＡＭ５２、ＥＥＰＲＯＭ６０を備え、これらがバスで相互に接続された構成を備える。制御ユニット３０は、ＲＯＭ５１やＥＥＰＲＯＭ６０に記憶されたプログラムをＲＡＭ５２に展開し、実行することにより、プリンター２０の動作全般を制御するほか、入力部４１、ハーフトーン処理部４２、印刷部４６としても機能する。ハーフトーン処理部４２の機能は、比較部４３、誤差拡散部４４としての機能を含んでいる。
【００２８】
印刷部４６は、印刷ヘッド９０を駆動するための回路であり、ドットデータに対応した信号ＤＤと、複数のピエゾ素子を一度に駆動するための駆動信号ＤＳとを、印刷ヘッド９０に出力する。ピエゾ素子は、ＣＭＹＫの色毎にグループ化されており、図示しないラッチに保持されるドットデータに対応する信号ＤＤと、所定のタイミングで出力される駆動信号ＤＳとにより、グループ毎に駆動される。信号ＤＤがオン（ドットデータが値１）の場合に、駆動信号ＤＳが与えられると、ピエゾ素子は伸長し、図示しないインク室内のインクを加圧して、ノズルＮｚからインク滴を吐出させるのである。なお、本実施形態のプリンター２０では、ラインプリンターであることから、各色ノズルは、印刷媒体Ｐの送り方向に所定ピッチずつずれて配置されている。また、同色のインク用のノズルも、印刷媒体幅方向の解像度を高くするために、一つおきに印刷媒体送り方向にずれた、いわゆる千鳥配列とされている。したがって、印刷媒体Ｐの送り方向における同じ位置にドットを形成する場合のノズルの駆動タイミングは、それぞれ異なっている。このため、後述するように、形成しようとする画像の階調データを処理して得られたドットデータを、ノズル配置に合わせたものとする並び替え処理を行なっている。こうした印刷部の処理を含む各機能部の処理の詳細については、図２、図３のフローチャートを参照して、後述する。
【００２９】
ＥＥＰＲＯＭ６０には、ディザマスク６１と、誤差拡散閾値テーブル６２とが記憶されている。ディザマスク６１は、後述するハーフトーン処理において用いるものであり、図４に一部を例示するように、横（ｘ：印刷媒体幅方向）２５６×縦（ｙ：印刷媒体送り方向）６４の大きさを有する。このディザマスク６１は、複数の閾値ＴＨｎ＿ｄが配列されたものである。この閾値ＴＨｎ＿ｄは、本実施形態では、１〜２５５までの値をとる。各閾値ＴＨｎ＿ｄは、この閾値との比較により形成されるドットの空間周波数が、いわゆるブルーノイズ特性となるように配置されている。
【００３０】
図５は、こうしたディザマスク６１が備えるノイズ特性を例示する説明図である。図には、ブルーノイズ特性およびグリーンノイズ特性を有するディザマスクの各画素に設定されている閾値の空間周波数特性を概念的に例示した。ディザマスクにおけるブルーノイズ特性は、１周期の長さが２画素付近の高い周波数領域に最も大きな周波数成分を有するものとなっている。これは、高周波領域において感度が低いという人間の視覚特性を考慮して、高周波領域に最も大きな周波数成分が発生するように閾値の格納位置が調整されていることを意味する。こうしたブルーノイズ特性を備えたディザマスクを用いてドットを発生させると、ドットの分散性に優れた画像が得られる。
【００３１】
図５には、さらに、グリーンノイズ特性を破線の曲線として例示している。図示されているように、グリーンノイズ特性は、ブリーノイズ特性よりやや低周波側に最も大きな周波数成分を有するもので、画素サイズが十分に小さければグリーンノイズ特性でも粒状感の感じられない良好な画像が得られる。ディザマスク６１は、こうしたブルーノイズ特性やグリーンノイズ特性などの所定の空間周波数特性を有するものとされている。
【００３２】
更に、本実施形態においては、ディザマスク６１は、次のドット形成特性を有している。すなわち、双方向印刷におけるキャリッジ８０の往動で形成されるドット群のドットパターンと、復動で形成されるドット群のドットパターンと、これらを併せた全体のドット群のドットパターンいずれもが、ブルーノイズ特性に近い特性を有している。かかる技術は、例えば、特許文献１や特開２００７−１５３５９号公報に記載されている。なお、ディザマスク６１の大きさや特性は任意であり、本実施例以外の大きさや特性のものを採用することができる。例えば、組織的ディザ法を実現するために６４×３２以上の大きさを持つものとしても良いし、網点に近い特性を実現するドット集中型のディザマスクであっても良い。
【００３３】
ＥＥＰＲＯＭ６０に記憶された誤差拡散閾値テーブル６２は、誤差拡散法におけるドットのＯＮ／ＯＦＦの判断に用いる高位閾値および低位閾値が記憶されたテーブルである。これらの閾値の役割については、後で詳述する。
【００３４】
制御ユニット３０には、メモリカードスロット９８が接続されており、メモリカードスロット９８に挿入したメモリカードＭＣから画像データＯＲＧを読み込んで入力することができる。本実施例においては、メモリカードＭＣから入力する画像データＯＲＧは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３色の色成分からなるデータである。
【００３５】
以上のようなハードウェア構成を有するプリンター２０は、紙送りモータ７４を駆動することによって、印刷媒体Ｐをその送り方向に移動させつつ、印刷ヘッド９０を駆動して、各色インクドットを、印刷媒体Ｐ上に形成する。制御ユニット３０は、印刷媒体Ｐの紙送りに合わせて、印刷データに基づいて適切なタイミングでノズルを駆動することにより、印刷媒体Ｐ上の適切な位置に適切な色のインクドットを形成する。こうすることによって、プリンター２０は、印刷媒体Ｐ上にメモリカードＭＣから入力したカラー画像を印刷することが可能となっている。
【００３６】
Ａ−２．印刷処理：
プリンター２０における印刷処理について説明する。図２は、プリンター２０における印刷処理の流れを示すフローチャートである。ここでの印刷処理は、ユーザが操作パネル９９等を用いて、メモリカードＭＣに記憶された所定の画像の印刷指示操作を行なうことで開始される。印刷処理を開始すると、ＣＰＵ４０は、まず、入力部４１の処理として、メモリカードスロット９８を介してメモリカードＭＣから印刷対象であるＲＧＢ形式の画像データＯＲＧを読み込んで入力する（ステップＳ１１０）。
【００３７】
画像データＯＲＧを入力すると、ＣＰＵ４０は、ＥＥＰＲＯＭ６０に記憶されたルックアップテーブル（図示せず）を参照して、画像データＯＲＧについて、ＲＧＢ形式をＣＭＹＫＬｃＬｍ形式に色変換する（ステップＳ１２０）。
【００３８】
色変換処理を行なうと、ＣＰＵ４０は、ハーフトーン処理部４２の処理として、画像データを各色のドットのＯＮ／ＯＦＦを画素毎に定めたドットデータに変換するハーフトーン処理を行なう（ステップＳ１３０）。ここでのハーフトーン処理の詳細については後述する。なお、本明細書では、「ハーフトーン処理」は、ドットのＯＮ／ＯＦＦの２値化処理に限らず、大小ドットや大中小ドットなどのＯＮ／ＯＦＦなど、多値化処理を含んだ階調数変換（低減）処理一般を意味している。また、ステップＳ１３０に供する画像データは、解像度変換処理やスムージング処理などの画像処理が施されたものであってもよい。
【００３９】
ハーフトーン処理を行なうと、ＣＰＵ４０は、プリンター２０のノズル配置や紙送り量などに合わせて、印刷ヘッド９０の各ノズルを同時に駆動するドットパターンデータに並び替える並び替え処理を行なう（ステップＳ１５０）。並び替え処理は、上述したように、ハーフトーン処理（ステップＳ１３０）により得られたドットデータを、印刷ヘッド９０におけるノズルＮｚの配置に合わせて並び替える処理である。並び替え処理を（ステップＳ１５０）を行なった後、ＣＰＵ４０は、印刷部４６の処理として、印刷ヘッド９０、モータ７４等を駆動して、印刷を実行する（ステップＳ１６０）。
【００４０】
Ａ−３．ハーフトーン処理の詳細：
上述したハーフトーン処理（ステップＳ１３０）の詳細について図３を用いて説明する。図示するように、この処理が開始されると、ＣＰＵ４０は、まず、ステップＳ１２０で色変換処理が行なわれた画像データについて、注目画素位置の座標データｎ（ｘ，ｙ）と、注目画素データＤｎとを取得する（ステップＳ１３１）。注目画素位置は、画像の原点（左上）からスタートし、以下の処理が繰り返される毎に、主走査方向（ｘ方向）に１画素ずつ移動する。注目画素位置が画像の主走査方向右端に至ると、副走査方向（ｙ方向）に１つ移動し、再度ｘ方向左端から主走査方向に移動する。以下の説明では、注目画素位置の座標データをｎ（ｘ，ｙ）として表すものとするが、注目画素位置を示す添え字として用いるときは、直接（ｘ，ｙ）として表記する。
【００４１】
注目画素位置の座標データｎ（ｘ，ｙ）と注目画素データＤｎとを取得すると、ＣＰＵ４０は、比較部４３の処理として、仮ディザ処理を行なう（ステップＳ１３２）。ここでの仮ディザ処理とは、注目画素データＤｎの階調値と、ＥＥＰＲＯＭ６０に記憶されたディザマスク６１を構成する複数の閾値のうちの、注目画素の座標（ｘ，ｙ）に対応する閾値ＴＨｎ＿ｄの値との大小関係を比較する処理である。この処理は、形式的には、通常行なわれるディザ法によるドットのＯＮ／ＯＦＦ判断の処理と同一の処理である。通常のディザ法では、注目画素データＤｎの階調値が閾値ＴＨｎ＿ｄの値以上である場合には、ドットをＯＮにすると判断し、注目画素データＤｎの階調値が閾値ＴＨｎ＿ｄの値未満である場合には、ドットをＯＦＦにすると判断する。これに対して、本実施例の仮ディザ処理は、後述する誤差拡散法によってドットのＯＮ／ＯＦＦを決定するための前処理、具体的には、誤差拡散法の閾値を決定するための処理である点が相違している。
【００４２】
仮ディザ処理の結果、注目画素データＤｎの階調値が閾値ＴＨｎ＿ｄの値以上であれば（ステップＳ１３２：ＹＥＳ）、誤差拡散法に用いる閾値ＴＨｅを低位閾値ＴＨｅ＿Ｌに設定する（ステップＳ１３３）。一方、注目画素データＤｎの階調値が閾値ＴＨｎ＿ｄの値未満であれば（ステップＳ１３２：ＮＯ）、誤差拡散法に用いる閾値ＴＨｅを高位閾値ＴＨｅ＿Ｈに設定する（ステップＳ１３４）。このように、本実施例においては、誤差拡散法に用いる閾値ＴＨｅ（以下、単に閾値ＴＨｅとも呼ぶ）を仮ディザ処理の結果に基づいて変化させる構成としている。かかる閾値ＴＨｅの設定は、ＥＥＰＲＯＭ６０に記憶された誤差拡散閾値テーブル６２を参照して行なわれる。
【００４３】
誤差拡散閾値テーブル６２の一例をグラフとして図６に示す。図示するように、誤差拡散閾値テーブル６２では、注目画素データＤｎ（ここでは０〜２５５）と、低位閾値ＴＨｅ＿Ｌ及び高位閾値ＴＨｅ＿Ｈとが、それぞれ対応付けられている。図６に示す例では、高位閾値ＴＨｅ＿Ｈは、注目画素データＤｎの階調値が０の場合に値０をとり、階調値が０から大きくなるに従って大きくなり、最終的には、階調値が１９２の場合に最大値２５６となる。更に注目画素データＤｎが高階調となると、高位閾値ＴＨｅ＿Ｈは、徐々に値を小さくし、注目画素データＤｎの階調値が２２４のとき値１９２となるまで低下する。これより高階調値の範囲では、高位閾値ＴＨｅ＿Ｈは、同じ値に保たれる。
【００４４】
他方、低位閾値ＴＨｅ＿Ｌは、注目画素データＤｎの階調値が０から１６０の範囲では、階調値の大きさによらず、着目画素データの階調範囲（０〜２５５）の下限である値０より小さな値である−２５６に固定されている。また、注目画素データＤｎの階調値が１６０から２２４の範囲では、低位閾値ＴＨｅ＿Ｌは、−２５６から値０まで単調に増加し、その後同じ値０に維持される。
【００４５】
ＣＰＵ４０は、誤差拡散閾値テーブル６２を参照して、高位閾値ＴＨｅ＿Ｈまたは低位閾値ＴＨｅ＿Ｌを取得し、ステップＳ１３３またはＳ１３４での設定に用いている。本実施例では、誤差拡散閾値テーブル６２を参照することにより、階調値に応じた高位閾値ＴＨｅ＿Ｈ及び低位閾値ＴＨｅ＿Ｌを設定する構成としたが、関数により求めてもよい。
【００４６】
上述した図３のステップＳ１３７またはＳ１３８において、誤差拡散閾値テーブル６２を参照して閾値ＴＨｅを設定すると、ＣＰＵ４０は、注目画素データＤｎの階調値に、別途用意した誤差バッファに記憶された拡散誤差Ｅｄｎを加算する（ステップＳ１３５）。拡散誤差Ｅｄｎは、後述するステップＳ１３９において算出されるものであり、その内容は後述する。
【００４７】
注目画素データＤｎの階調値に拡散誤差Ｅｄｎを加算すると、ＣＰＵ４０は、拡散誤差Ｅｄｎを加算した注目画素データＤｎの階調値（以下、補正データとも呼ぶ）と、ステップＳ１３３またはステップＳ１３４で設定した閾値ＴＨｅとを比較する（ステップＳ１３６）。その結果、補正データ（Ｄｎ＋Ｅｄｎ）が閾値ＴＨｅ以上であれば（ステップＳ１３６：ＹＥＳ）、注目画素のドットデータをＯＮ（ドットを形成する）に決定する（ステップＳ１３７）。他方、拡散誤差Ｅｄｎを加算した注目画素データＤｎの階調値が閾値ＴＨｅ未満であれば（ステップＳ１３６：ＮＯ）、注目画素のドットデータをＯＦＦ（ドットを形成しない）に決定する（ステップＳ１３８）。
【００４８】
ドットのＯＮ／ＯＦＦを決定すると、ＣＰＵ４０は、２値化誤差Ｅｎと拡散誤差Ｅｄｎとを算出する（ステップＳ１３９）。２値化誤差Ｅｎとは、補正データとドットのＯＮ／ＯＦＦ結果実現される階調値ＲＳＬＴ（ここでは値２５５または０）との差分である。数式で表せば、次式（１）として表される。
Ｅｎ＝｛Ｄｎ（ｘ，ｙ）＋Ｅｄｎ（ｘ，ｙ）｝−ＲＳＬＴ（255 or 0） … （１）
多くの場合、ドットが形成されなければ２値化誤差Ｅｎは正の値になり、ドットが形成されれば２値化誤差は負の値となる。但し、累積された拡散誤差Ｅｄｎの値によっては、逆の結果となることも、僅かながらあり得る。
【００４９】
この結果、以下に説明する誤差拡散の処理により、２値化の処理によってドットが形成されればその周辺の画素ではドットが形成されにくくなり、ドットが形成されなければその周辺の画素ではドットが形成されやすくなる。誤差拡散は、以下の式（２）により拡散誤差Ｅｄｎを求めて、着目画素において発生した誤差を周辺の画素の配分する処理である。配分された誤差は累積され、上記ステップＳ１３５において注目画素データＤｎの階調値に加算される。本実施形態では、図７に（Ａ）として示したように、２値化誤差Ｅｎを、ドットのＯＮ／ＯＦＦが未決定の周辺画素である４つの画素配分している。即ち、注目画素の右隣の画素に対して７／１６、左下の画素に対して３／１６、下の画素に対して５／１６、右下の画素に対して１／１６の割合で、拡散誤差Ｅｄｎとして配分するものとした。こうして算出された拡散誤差Ｅｄｎは、ＲＡＭ５２に用意された誤差バッファに格納される。
Ｅｄｎ（ｘ＋１，Ｙ    ）＝Ｅｄｎ（ｘ＋１，ｙ    ）＋Ｅｎ×（７／１６）
Ｅｄｎ（ｘ−１，Ｙ＋１）＝Ｅｄｎ（ｘ−１，ｙ＋１）＋Ｅｎ×（３／１６）
Ｅｄｎ（ｘ    ，Ｙ＋１）＝Ｅｄｎ（ｘ    ，ｙ＋１）＋Ｅｎ×（５／１６）
Ｅｄｎ（ｘ＋１，Ｙ＋１）＝Ｅｄｎ（ｘ＋１，ｙ＋１）＋Ｅｎ×（１／１６）
… （２）
【００５０】
かかるステップＳ１３５〜Ｓ１３９の処理は、誤差拡散法によるハーフトーン処理であり、誤差拡散部４４の処理として実行される。誤差拡散法については、周知の技術であるため、詳細な説明は省略するが、各画像データの量子化誤差を周囲の画像データに所定の配分比率で加算しながら、各画像データと所定の閾値とを比較して各画像データを量子化する手法である。上述の例では、ステップＳ１３５〜Ｓ１３９は、ドットのＯＮ／ＯＦＦのみを決定する２値化処理としたが、大ドット及び小ドットのＯＮ／ＯＦＦを決定するなど、多値化処理を行なってもよい。
【００５１】
２値化誤差Ｅｎ及び拡散誤差Ｅｄｎを算出すると、ＣＰＵ４０は、全画素についての上記の処理が完了したかを判断し（ステップＳ１４０）、全画素についての処理が終了するまで、注目画素位置（ｘ，ｙ）をインクリメントしつつ、上記ステップＳ１３１〜Ｓ１３９の処理を繰り返す。こうして、ステップＳ１３０のハーフトーン処理は終了する。
【００５２】
Ａ−４．第１実施形態の効果：
かかるハーフトーン処理を実施する効果について、以下に説明する。上述したように、ステップＳ１３２〜Ｓ１３４の処理においては、注目画素データＤｎの階調値が閾値ＴＨｎ＿ｄの値以上であれば、誤差拡散法に用いる閾値ＴＨｅは、低位閾値ＴＨｅ＿Ｌに設定される。他方、注目画素データＤｎの階調値が閾値ＴＨｎ＿ｄの値未満であれば、閾値ＴＨｅは、高位閾値ＴＨｅ＿Ｈに設定される。
【００５３】
この結果、誤差拡散法によるドットデータの生成結果は、ディザマスク６１を用いた判定結果が強く反映されたものになることが了解される。特に、高位閾値ＴＨｅ＿Ｈ、低位閾値ＴＨｅ＿Ｌが図６のように定められているので、ドットの形成は次のように行なわれる。
【００５４】
（１）仮ディザの判定により、低位閾値ＴＨｅ＿Ｌが誤差拡散用の閾値ＴＨｅとして設定された場合には、注目画素データＤｎの階調値が２２４以下では、周辺画素からの拡散誤差を考慮しても、ほとんどの場合、図３、ステップＳ１３６での判断は「ＹＥＳ」となるから、ドットが形成されることになり、仮ディザの判定結果がそのまま反映されることになる。
（２）他方、仮ディザの判定により、高位閾値ＴＨｅ＿Ｈが誤差拡散用の閾値ＴＨｅとして設定された場合には、注目画素データＤｎの階調値が１９２以下では、周辺画素からの拡散誤差を加算した補正データＤｎ＋Ｅｄｎと高位閾値ＴＨｅ＿Ｈとが比較されることになり、仮ディザの結果をある程度は反映しつつ、ハーフトーン処理済みの周辺画素から拡散される拡散誤差の影響を受けつつドット形成の有無の判断がなされることになる。このため、ディザマスク６１の特性を基本としながら、誤差拡散の利点も生かすことができる。
【００５５】
（３）更に、第１実施形態では、図６に示したように、高位閾値ＴＨｅ＿Ｈは、注目画素データＤｎの階調値が１９２までは単調増加し、階調値１９２を超えると、最大値から漸減し、階調値２２４以上では一定値（本実施形態では１９２）とされている。この結果、注目画素データＤｎの階調値が値１９２を超えると、ドットは、高位閾値ＴＨｅ＿Ｈを漸減しない場合より、形成されやすくなる。この様子を図８に示した。図８において、実線ＪＡは、図６に示した高位閾値ＴＨｅ＿Ｈを用いた場合のドット発生率を示しており、破線ＪＢは、階調値１９２以上における高位閾値を図６の破線ＴＨｅ＿Ｓのように設定した場合のドット発生率を、それぞれ示している。
【００５６】
図６および図８から、注目画素データＤｎの階調値が高い領域で、高位閾値ＴＨｅ＿Ｈを最大値より下げているので、高位閾値ＴＨｅ＿Ｈを最大値に維持した場合（図６、閾値ＴＨｅ＿Ｓ）と比べて、図４ステップＳ１３５〜Ｓ１３９により実現される誤差拡散法による判断において、ドットが形成されやすくなっていることが了解される。ドットを形成したことにより生じる誤差の拡散を受けて、拡散誤差Ｅｄｎがマイナスになっても、閾値ＴＨｅに設定され。高位閾値ＴＨｅ＿Ｈが小さくされているので、
Ｄｎ＋Ｅｄｎ≧ＴＨｅ
という判断が、「ＮＯ」となりにくいのである。
【００５７】
この結果、細線や文字を表現する場合のドット抜けが抑制されるという効果を奏する。この様子を図９、図１０に示した。図９は、細線の形成について説明する説明図である。図９の（Ａ）は、元の画像データとして、様々な斜線が描かれてる元図を示している。これらの細線は、アプリケーションソフトにより描画された場合には、黒色に指定されており、その階調値２５５，インクデューティ１００％されているが、ハーフトーン処理される際の階調値は、２２９／２５５となっている。これは、印刷ヘッド９０毎のインク吐出の状態に起因する特性の補正が行なわれるからである。もとより、こうした補正なしで階調値が１９０程度以上２５５未満となっている場合でも同様である。この階調範囲の細線（画像ＳＳ）を、第１実施形態の手法でハーフトーン処理した場合の結果を、図９（Ｂ）に示した。また、図９（Ｃ）には、これを従来の手法（図６における高位階調値をＴＨｅ＿Ｓとした場合）で処理した例を示した。
【００５８】
図示するように、細線のように、描画されている部分のデューティがある程度高く（図９の例では２２９／２５５）、かつ１ドットか２ドットの幅しか持たないような画像の場合でも、本実施形態によれば、図９（Ｂ）に示したように、ドット抜けが生じにくく、斜めの細線の再現性を高めることができる。こうした細線の場合、高位閾値を所定の階調値以上で最大値にしておくと（図６、閾値ＴＨｅ＿Ｓ）、１つのドットをオンとしたことよる濃度誤差（ここではマイナスの誤差）が周辺画素に拡散され、図９（Ｃ）にＳＢとして示した領域のように、ドット抜けが生じることがある。これに対して、本実施形態では、図９（Ｂ）のＳＡとして示したように、ドットが抜けの発生は抑制され、細線の再現性は好適に維持される。
【００５９】
また、図１０（Ａ）に示したように、文字（図１０では数字「９」）においても、ドット抜けが生じにくくなっていることが分かる。文字は、細線と同様、同じ濃度で塗りつぶされたベタの領域が狭く、デューティが高い領域では、拡散誤差（Ｅｄｎ）の影響で、ドット抜けが生じやすくなる。図１０に示したように、第１実施形態の処理によれば、高位閾値ＴＨｅ＿Ｈが、所定の階調値以上で、最大値から小さな値となるように設定されているので、こうした階調値の範囲で表現されている文字の印刷においてドット抜けが生じにくくなる。図１０（Ｂ）は第１実施形態で処理した場合の文字の印刷例を、図１０（Ｃ）は従来の手法（高位閾値を図６のＴＨｅ＿Ｓとした手法）で処理した場合の文字の印刷例を、それぞれ示している。図１０（Ｂ）（Ｃ）にそれぞれ領域ＴＡ，ＴＢとして示したように、本実施形態によれば、比較例と比べて、ドット抜けなどが生じにくくなっていることが分かる。
【００６０】
以上説明したように、本実施形態によれば、高階調値の領域の細線や文字などにドット抜けが生じて画質が低下するといった問題は生じにくくなる。このとき、図３に示したハーフトーン処理は、処理している対象が線図や文字であるか写真画像のような自然画像であるかといった判断は一切していない。仮に線図の領域からそのまま自然画像の領域に移行したり、自然画像の中に線画や文字が存在したりしても、同じハーフトーン処理（図３）を実施する。その結果、線画や文字の領域では、誤差拡散法によるドットの形成を行ないながらドット抜けの抑制された画像が形成でき、かつ自然画像の領域では、ディザ法により、ディザマスク６１が有する特性（例えばブルーノイズ特性）によるドットを発生させることができる。このため、印刷しようとする画像の特性を問わず、双方向印字での粒状性を含む画質を十二分に保持することができる。
【００６１】
また、本実施形態では、誤差拡散法の際に用いる閾値（高位閾値ＴＨｅ＿Ｈ）として、図６に示すように、着目画素データの階調値に応じて増加する値を用いているため、特許文献３に記載されているように、尾引などの現象を生じることがない。更に、図７に示した誤差拡散範囲を、着目画素データの階調値に応じて切り替える処理を行なえば、更に画質の向上が期待できる。拡散範囲を切替ながら誤差拡散を行なう手法は、公知の技術であるため、詳しい説明は省略するが、入力階調値と２値化結果の組み合わせに応じて誤差拡散範囲を切り替えると、種々の効果を奏する。例えば、低階調値でドットＯＮになった時のみ広い範囲に誤差拡散すれば、低階調領域の粒状性を改善し、ドットの非所望な連続、いわゆるワームの発生を抑制することができる。
【００６２】
Ａ−５．変形例：
第１実施形態では、高位閾値ＴＨｅ＿Ｈと低位閾値ＴＨｅ＿Ｌとを図６に示したように設定したが、両者の設定値はこれに限られないことは勿論である。高位閾値ＴＨｅ＿Ｈは、画素データの階調値が所定の値の以上で、画素データの階調値の最大値以上となり、所定の値以上の所定の階調範囲で、この最大値より小さな値となるよう定められていればよい。「最大値以上」とは、例えば画素データＤｎが、８ビットで表現されている場合に、その最大値２５５以上の値であれば良い。２５５を超える値にする場合は、高位閾値ＴＨｅ＿Ｈを８ビットより多いビット数で表現するものとすれば良い。もとより、画素データが８ビットとは異なるビット数で表現されていても差し支えない。
【００６３】
例えば、高位閾値ＴＨｅ＿Ｈは、図１１に示すような関係であっても良い。図１１に示した例では、高位閾値ＴＨｅ＿Ｈは、画素データの階調値の最大値以上とされた階調値以上では、変曲点を持つことなく、単調減少する値に設定されている。また、低位閾値ＴＨｅ＿Ｌについては、必ずしも階調値の最小値以下の値とする必要はなく、高位閾値ＴＨｅ＿Ｈより小さな値であれば、どのように設定されても良い。
【００６４】
また、第１実施形態では、誤差拡散による誤差の拡散範囲は、図７に示したように、着目画素の周辺４画素としたが、これより広いまたは狭い範囲としても差し支えない。また、注目画素の階調値に応じて、拡散の判定を変更するものとしても良い。例えば、階調値が小さいほど、広い範囲に拡散するものとすることも、低階調域での粒状性を改善する上で好適である。また、図７（Ｂ）に示したように、誤差拡散する差異の重み付けの総和を値１以下とすることも望ましい。図７（Ｂ）に示した例では、着目画素で生じた濃度誤差は、周辺の４つの画素に６／１６，２／１６，４／１６，１／１６の割合で拡散され、その総和は、生じた誤差の１３／１６とされている。この結果、誤差拡散により生じた濃度誤差が周辺の画素に与える影響が緩和されることになり、図９、図１０に示した例で言えば、ドット抜けが更に生じにくくなる。逆に、低濃度領域では、ドットが一旦形成されると、その周辺にはドットが形成されにくくなる。
【００６５】
Ｂ．第２実施形態：
次に本発明の第２実施形態について説明する。第２実施形態のプリンター２０は、第１実施形態と同一のハードウェア構成を備え、同一の印刷処理（図２）を実行する。第２実施形態のプリンター２０が第１実施形態と異なるのは、そのハーフトーン処理である。第２実施形態のプリンター２０が実行するハーフトーン処理を図１２に示した。第２実施形態のプリンター２０が実行するハーフトーン処理は、第１実施形態と比べて、以下に説明するステップＳ４３１，Ｓ４３２のみ異なり、他のステップＳ４３３ないしＳ４４０は、第１実施形態のステップＳ１３３ないしＳ１４０と同一である。
【００６６】
第２実施形態では、ハーフトーン処理を開始すると、まずＣＰＵ４０は、注目画素位置の座標データｎ（ｘ，ｙ）と、注目画素データＤｎとを取得し、注目画素データＤｎの階調値に所定の係数αdr（０＜αdr≦１）を乗算した値Ｄｎ′を求める処理を行なう（ステップＳ４３１）。こうして算出されたデータは、注目画素データＤｎの階調値に関連する階調値であることから、関連データＤｎ’（Ｄｎ’＝Ｄｎ×αdr）ともいう。本実施例では、係数α＝０．９とした。
【００６７】
関連データＤｎ’を算出すると、ＣＰＵ４０は、比較部４３の処理として、仮ディザ処理を行なう（ステップＳ４３２）。図３に示したステップＳ１３２の仮ディザ処理との違いは、注目画素データＤｎの階調値と、ディザマスク６１の閾値ＴＨｎ＿ｄとを比較する代わりに、関連データＤｎ’と閾値ＴＨｎ＿ｄとを比較する点である。
【００６８】
その結果、関連データＤｎ’が閾値ＴＨｎ＿ｄの値以上であれば（ステップＳ４３２：ＹＥＳ）、誤差拡散法に用いる閾値ＴＨｅを低位閾値ＴＨｅ＿Ｌに設定する（ステップＳ４３３）。一方、関連データＤｎ’が閾値ＴＨｎ＿ｄの値未満であれば（ステップＳ４３２：ＮＯ）、誤差拡散法に用いる閾値ＴＨｅを高位閾値ＴＨｅ＿Ｈに設定する（ステップＳ４３４）。このとき設定される高位閾値ＴＨｅ＿Ｈと低位閾値ＴＨｅ＿Ｌは、第１実施形態の図６に例示したものと同一の閾値を用いる。また、以降の誤差拡散法の処理（ステップＳ４３５〜Ｓ４３９）は、第１実施例と同様であるため、説明を省略する。なお、誤差拡散法のドットのＯＮ／ＯＦＦ判断は、関連データＤｎ’ではなく、注目画素データＤｎの階調値を用いて行なう。
【００６９】
本実施形態では、係数αdr＝０．９としているので、仮ディザの判断によりドットを発生すると判断する割合が、第１実施形態等で説明した通常の判断の９０％に抑えられる。この結果、不足する１０％は誤差拡散法での判断（ステップＳ４３６）で発生させることになる。このようにすれば、ディザによる判断で発生させるドットと、それを補完する形で誤差拡散法による判断で発生させるドットとの比率を、任意に設定することができる。しかも、高位閾値ＴＨｅ＿Ｈは、図６に示したように、所定の階調値以上で、最大値より小さな値とされているので、この階調範囲では誤差拡散法の判断によるドットの形成がされ易くなる。このため、第１実施形態で示したように、線画や文字のドット抜けという問題は回避される。
【００７０】
第２実施形態では、係数αdrは、０から１．０の間で任意に設定できるので、ディザによる判断で発生するドットと誤差拡散法による判断で発生するドットとの合計を適正に設定することが可能である。例えば、係数αdr＝１とすると、第１実施形態と同一となるが、この場合には、ディザによる判断で発生するドットにプラスする形で誤差拡散法によるドットが発生する。従って、この場合には、本来の画像の濃度と比べると、若干多めにドットが形成される場合がある（図８参照）。これに対して、第２実施例のように、係数αdrを０．９のように、１．０より若干小さな値にすると、仮ディザの判断により発生するドットがやや少なくなっているので、足りない分を必要十分なだけ誤差拡散法による判断で発生させることができる。トータルで発生するドットにより表現される階調を、元の画像の階調に、より一致させることが可能となる。
【００７１】
更に、この係数αdrを、着目画素データＤｎの関数にすれば、画像の階調値に応じて、ディザにより発生されるドットの割合を任意の比率に設定することも可能である。係数αdrのデフォルト値を１としておき、ドットの発生が割合が高いと判断される階調値があれば、着目画素データのその階調付近で、係数αdrを、少し小さくすれば、ドット発生の割合をより均一にすることができる。なお、階調値に応じて係数αdrを変化させる場合には、漸増・漸減させて、ドット発生の割合が滑らかに変化するようにすれば、一層好ましい。
【００７２】
Ｃ．第３実施形態：
次に本発明の第３実施形態について説明する。第３実施形態のプリンター２０は、第１実施形態と同一のハードウェア構成を備え、同一の印刷処理（図２）を実行する。第３実施形態のプリンター２０が第１実施形態と異なるのは、そのハーフトーン処理である。第３実施形態のプリンター２０が実行するハーフトーン処理を図１３に示した。第３実施形態のプリンター２０が実行するハーフトーン処理は、第１実施形態と比べて、各ステップの処理はほぼ同一であるものの、処理の順序が異なる。図１３において、図３と同一の処理は、ステップの下２桁を同一とした。
【００７３】
第３実施形態では、ハーフトーン処理を開始すると、まずＣＰＵ４０は、注目画素位置の座標データｎ（ｘ，ｙ）と、注目画素データＤｎとを取得する（ステップＳ５３１）。続いて、ＣＰＵ４０は、注目画素データＤｎの階調値に、別途用意した誤差バッファに記憶された拡散誤差Ｅｄｎを加算する（ステップＳ５３５）。拡散誤差Ｅｄｎは、後述するステップＳ５３９において算出されるものである。注目画素データＤｎの階調値に拡散誤差Ｅｄｎを加算した値は、他の実施形態と同様、補正データとも呼ぶ。
【００７４】
続いて、比較部４３の処理として、第１実施形態と同様、仮ディザ処理を行なう（ステップＳ５３２）。仮ディザ処理とは、注目画素データＤｎの階調値と、ＥＥＰＲＯＭ６０に記憶されたディザマスク６１を構成する複数の閾値のうちの、注目画素の座標（ｘ，ｙ）に対応する閾値ＴＨｎ＿ｄの値との大小関係を比較する処理である。
【００７５】
仮ディザ処理の結果、注目画素データＤｎの階調値が閾値ＴＨｎ＿ｄの値未満であれば（ステップＳ５３２：ＮＯ）、誤差拡散法に用いる閾値ＴＨｅを高位閾値ＴＨｅ＿Ｈに設定する（ステップＳ５３４）。ここで用いられる高位閾値ＴＨｅ＿Ｈは、第１実施形態で説明した高位閾値ＴＨｅ＿Ｈと同じものである（図６、図１１参照）。閾値ＴＨｅの設定を行なった後、ＣＰＵ４０は、ステップＳ５３５で求めた補正データと、閾値ＴＨｅとを比較する（ステップＳ５３６）。その結果、補正データ（Ｄｎ＋Ｅｄｎ）が閾値ＴＨｅ以上であれば（ステップＳ５３６：ＹＥＳ）、注目画素のドットをＯＮ（ドットを形成する）に決定し（ステップＳ５３７）、補正データの階調値が閾値ＴＨｅ未満であれば（ステップＳ５３６：ＮＯ）、注目画素のドットをＯＦＦ（ドットを形成しない）に決定する（ステップＳ５３８）。
【００７６】
他方、ステップＳ５３２の仮ディザの判断において、注目画素データＤｎの階調値が閾値ＴＨｎ＿ｄの値以上であれば（ステップＳ５３２：ＹＥＳ）、補正データ（Ｄｎ＋Ｅｄｎ）が閾値ＴＨｅ以上である場合（ステップＳ５３６：ＹＥＳ）と同様、ドットをＯＮに決定する（ステップＳ５３７）。
【００７７】
こうしてドットのＯＮ／ＯＦＦを決定すると、ＣＰＵ４０は、２値化誤差Ｅｎと拡散誤差Ｅｄｎとを算出する（ステップＳ５３９）。２値化誤差Ｅｎおよび拡散誤差Ｅｄｎの算出は、第１実施形態で詳しく説明したので、ここでの説明は省略する。
【００７８】
２値化誤差Ｅｎ及び拡散誤差Ｅｄｎを算出すると、ＣＰＵ４０は、全ての画素についての上記の処理が完了したかを判断し（ステップＳ５４０）、全画素についての処理が終了するまで、注目画素位置（ｘ，ｙ）をインクリメントしつつ、上記ステップＳ５３１〜Ｓ５３９の処理を繰り返す。
【００７９】
以上説明した第３実施形態によれば、仮ディザの処理により、着目画素データＤｎがディザ閾値ＴＨｎ＿ｄ以上であれば、誤差拡散による判断を待たずにドットを形成する。従って、仮ディザの結果がＯＮであれば、必ずドットが形成されることになる。これは、低位閾値ＴＨｅ＿Ｌとしてマイナスの大きな値、例えばマイナス無限大の値を設定したのと同じことに相当する。このため、仮ディザの判断結果により、低位閾値ＴＨｅ＿Ｌの値を、階調値の範囲の下限値より小さな値にした場合と同様の処理結果を得ることができ、少ない処理により、第１実施形態とほぼ同様の作用効果を奏することができる。
【００８０】
以上、第１ないし第３実施形態を用いて説明したように、本実施形態のプリンター２０によれば、細線や文字の印刷において、ドット抜けなどが生じにくく、高い画質を維持することができる。しかも細線や文字かどうかの領域判定なしで、領域に応じて、ディザ法的な処理と誤差拡散法的な処理とが自動的に切り替わったかのようにふるまうハーフトーン処理方法を実現することができる。また、同一の階調値において、ディザ法の利点と線画再現性に優れた誤差拡散法の利点とを両立できる。このため、線画再現が主要課題の低階調領域に適した誤差拡散法から、着弾位置ずれによる粒状性劣化が主要課題の中高階調領域に適したディザ法に、どの階調域でどの程度切り替えるかを、試行錯誤によって決定する必要がない。従って、両手法の切り替え領域において、各手法の効果が低下したり、粒状性が劣化したりするといった不具合を避けることができる。
【００８１】
Ｄ．変形例：
Ｄ−１．変形例１：
以上の実施形態では、ディザマスクとして、誤差拡散と特性が似ているブルーノイズマスクを用いたが、ベイヤー型ディザなどの、規則パターンを持つドット分散型の組織的ディザを用いてもよい。この場合は、「線が消失する場合がある。」というベイヤー型ディザ最大の課題が解決できる。また、網点ディザや、グリーンノイズマスクなどのドット集中型ディザを用いても、網点ピッチで線がとぎれとぎれになる、などの問題が解消できて有用である。２次元的な広がりを持つ通常部はベイヤーや網点、グリーンノイズマスクなどのディザパターンでありながら、細線部では誤差拡散法が働いて、細線が消失したり分断されたりせずに再現できるハーフトーンが実現できるからである。
【００８２】
Ｄ−２．変形例２：
第２実施形態において、着目画素データＤｎに乗算する係数αdrを、着目画素データＤｎの関数にする際、ルックアップテーブルを参照して、係数αdrを求めるものとしても良い。こうすれば、係数αdrを自由に設定することができる。画像の階調値に応じて変えるだけでなく、画像の種類（線画か自然画像か等）を判断して変更するようにしても良い。インク色毎に、係数αdrを設定するものとしても良い。こうすれば、カラー印刷において、インク毎に、ディザにより発生するドットと誤差拡散により発生するドットとの比率を変更することができる。更に、インク滴が大中小など複数種類発生できるプリンターにおいて、階調値から各種類のドットの発生率をルックアップテーブルなどにより求めてからハーフトーン処理する構成を採用した場合、ドットの種類毎に、係数αdrを設定するものとしても良い。
【００８３】
Ｄ−３．変形例３：
誤差拡散法の適用に際して、誤差拡散範囲を、着目画素データＤｎによって適宜変更するだけでなく、例えば仮ディザの判断結果によって変更しても良い。あるいは、ドットが形成されるとされた場合の結果値ＲＳＬＴを、仮ディザの判断結果によって変更するものとしても良い。仮ディザの判断結果によって、ドットＯＮと判断された場合に、ドットが形成されるとされる場合の結果値ＲＳＬＴを２５５より大きな値にすれば、配分される拡散誤差が大きくなり、周辺でのドットの発生が抑制され、トータルでのドット数が過剰になることを防ぐことができる。
【００８４】
Ｄ−４．変形例４：
上記実施形態では、印刷装置として、ラインプリンタータイプのインクジェトプリンター２０を用いたが、他の形式のプリンター、例えば印刷ヘッドが印刷媒体の幅方向に移動しながらドットを形成するシリアルプリンター、レーザープリンターのようなページプリンターなどとして実現しても良い。また、カラープリンターに限られず、モノクロ印刷の用プリンターとして実現しても良い。更に、インクジェットタイプに限られず、熱昇華型プリンターやドットインパクト型など、種々のタイプのプリンターにも適用可能である。インクジェットプリンターにあっては、インクの吐出をピエゾなどの電歪素子によるものの他、ヒーターを用いたインクの突沸によるもの（いわゆるバブルジェット（登録商標）方式）なども採用可能である。
【００８５】
また、画像処理のみを行なう画像処理装置に適用することも差し支えない。図３、図１２、図１３などに例示したハーフトーン処理は、コンピューターで実行される専用のアプリケーションプログラムとして実現しても良いし、ＲｉＰなど専用の装置において実施しても良い。あるいは、コンピューターとプリンターとを接続して用いるものとし、プリンタードライバ内で画像処理の一部または全部を実行するものとして良い。更には、ネットワーク上に、こうした画像処理を行なう専用のサーバを置き、他のコンピューターやプリンターからの要求に応じて、画像データを処理する形態で運用しても差し支えない。
【００８６】
本発明は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行なうことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【００８７】
２０…プリンター
３０…制御ユニット
４０…ＣＰＵ
４１…入力部
４２…ハーフトーン処理部
４３…比較部
４４…誤差拡散部
４６…印刷部
５１…ＲＯＭ
５２…ＲＡＭ
６０…ＥＥＰＲＯＭ
６１…ディザマスク
６２…誤差拡散閾値テーブル
７４…紙送りモータ
７５…プラテン
８２〜８５…インクカートリッジ
９０…印刷ヘッド
９２〜９５…供給管
９８…メモリカードスロット
９９…操作パネル
Ｐ…印刷媒体
ＭＣ…メモリカード
【図１】
2015167306.tif 000003
【図２】
2015167306.tif 000004
【図３】
2015167306.tif 000005
【図４】
2015167306.tif 000006
【図５】
2015167306.tif 000007
【図６】
2015167306.tif 000008
【図７】
2015167306.tif 000009
【図８】
2015167306.tif 000010
【図９】
2015167306.tif 000011
【図１０】
2015167306.tif 000012
【図１１】
2015167306.tif 000013
【図１２】
2015167306.tif 000014
【図１３】
2015167306.tif 000015