(57)【特許請求の範囲】
【請求項１】
複数の画素からなり、該画素毎の階調値により画像を表す画像データを処理する画像処理装置であって、
前記画像データを入力する入力部と、
前記入力した画像データに基づいて、前記画像を少なくとも第１の領域と第２の領域とに区分する領域区分処理部と、
前記第１の領域の画素の階調値と、複数の閾値からなるディザマスクの前記第１の領域の画素に対応する閾値とを比較する比較部と、
前記第１の領域と第２の領域との境界近傍の第１の領域の画素である第１境界画素において、該第１境界画素の階調値に前記第１境界画素の近傍の処理済画素から分配された拡散誤差を加えて第１の補正階調値を算出し、前記比較の結果を少なくとも参照して前記第１の領域の画素のドット形成の有無の決定を行うとともに、前記第１境界画素における前記決定の結果により当該画素で表現される濃度に対応した値である第１の決定結果値と前記第１の補正階調値との誤差を算出して、該誤差を前記第１境界画素の近傍の未処理の画素に拡散誤差として分配する処理を行う第１ドット決定処理部と、
前記第２の領域の一部の画素において、該画素の階調値に前記第１境界画素を含む近傍の処理済画素から分配された拡散誤差を加えた第２の補正階調値を算出し、該第２の補正階調値と所定の閾値とを比較してドット形成の有無を決定し、該決定の結果により当該画素で表現される濃度に対応した値である第２の決定結果値と前記第２の補正階調値との誤差を算出し、該誤差を近傍の画素に拡散誤差として分配する処理を行う第２ドット決定処理部と、
前記第１，第２ドット決定処理部が決定したドット形成の有無を用いて前記画像データのドットデータを生成するドットデータ生成部と
を備える
画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記領域区分処理部は、前記複数の画素からなる前記画像のうち、ディザ法による処理に適した領域として予め定めた条件を満たす領域を前記第１の領域に区分し、誤差拡散法による処理に適した領域として予め定めた条件を満たす領域を前記第２の領域に区分する
画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置であって、
前記第１ドット決定処理部は、前記比較の結果として、前記第１の領域の画素の階調値が前記ディザマスクの前記第１の領域の画素に対応する閾値より大きい場合はドットを形成すると決定し、小さい場合はドットを形成しないと決定する
画像処理装置。
【請求項４】
請求項１または請求項２に記載の画像処理装置であって、
前記第１ドット決定処理部は、
前記第１の領域の画素の階調値に近傍の処理済画素から分配された拡散誤差を加えた第３の補正階調値と、所定の判定値とを比較してドット形成の有無を決定しており、前記比較部による比較の結果、前記第１の領域の画素の階調値が前記ディザマスクの前記第１の領域の画素に対応する閾値より大きい場合に適用する前記判定値が、前記第１の領域の画素の階調値が前記ディザマスクの前記第１の領域の画素に対応する閾値以下の場合に適用する前記判定値を上回らないように所定の幅で前記判定値を調整する
画像処理装置。
【請求項５】
請求項１ないし請求項４のいずれか記載の画像処理装置であって、
前記第２ドット決定処理部は、誤差拡散法に用いる閾値として予め用意した誤差拡散閾値を用いて前記誤差拡散法によるドット形成の有無を決定する
画像処理装置。
【請求項６】
請求項１ないし請求項５のいずれか記載の画像処理装置であって、
前記第１の領域は、近接する画素との階調値の差が所定以上であるエッジを構成する画素であるエッジ画素ではない画素からなる領域であり、
前記第２の領域は、前記エッジ画素からなる領域である
画像処理装置。
【請求項７】
請求項１ないし請求項５のいずれか記載の画像処理装置であって、
前記第２の領域は、前記画像に含まれる細線もしくは文字領域である
画像処理装置。
【請求項８】
請求項１ないし請求項５のいずれか記載の画像処理装置であって、
前記第１の領域は、前記画像に含まれる線画を構成する画素のうち、該線画の外縁を構成する外縁画素以外の画素である内側画素からなる領域であり、
前記第２の領域は、前記外縁画素からなる領域である
画像処理装置。
【請求項９】
請求項８記載の画像処理装置であって、
前記第１の領域は、前記内側画素のうち、前記外縁画素の近傍の画素からなる領域である
画像処理装置。
【請求項１０】
請求項１ないし請求項５のいずれか記載の画像処理装置であって、
前記第１の領域は、高周波数成分のノイズが所定値より少ない領域であり、
前記第２の領域は、前記高周波数成分のノイズが前記所定値より多い領域である
画像処理装置。
【請求項１１】
複数の画素からなり、該画素毎の階調値により画像を表す画像データに基づいて印刷を行う印刷装置であって、
前記画像データを入力する入力部と、
前記入力した画像データに基づいて、前記画像を少なくとも第１の領域と第２の領域とに区分する領域区分処理部と、
前記第１の領域の画素の階調値と、複数の閾値からなるディザマスクの前記第１の領域の画素に対応する閾値とを比較する比較部と、
前記第１の領域と第２の領域との境界近傍の第１の領域の画素である第１境界画素において、該第１境界画素の階調値に前記第１境界画素の近傍の処理済画素から分配された拡散誤差を加えて第１の補正階調値を算出し、前記比較の結果を少なくとも参照して前記第１の領域の画素のドット形成の有無の決定を行うとともに、前記第１境界画素における前記決定の結果により当該画素で表現される濃度に対応した値である第１の決定結果値と前記第１の補正階調値との誤差を算出して、該誤差を前記第１境界画素の近傍の未処理の画素に拡散誤差として分配する処理を行う第１ドット決定処理部と、
前記第２の領域の一部の画素において、該画素の階調値に前記第１境界画素を含む近傍の処理済画素から分配された拡散誤差を加えた第２の補正階調値を算出し、該第２の補正階調値と所定の閾値とを比較してドット形成の有無を決定し、該決定の結果により当該画素で表現される濃度に対応した値である第２の決定結果値と前記第２の補正階調値との誤差を算出し、該誤差を近傍の画素に拡散誤差として分配する処理を行う第２ドット決定処理部と、
前記第１，第２ドット決定処理部が決定したドット形成の有無を用いて前記画像データのドットデータを生成するドットデータ生成部と、
前記ドットデータに基づいて印刷を行う印刷部と
を備える
印刷装置。
【請求項１２】
複数の画素からなり、該画素毎の階調値により画像を表す画像データを処理する画像処理方法であって、
前記画像データを入力し、
前記入力した画像データに基づいて、前記画像を少なくとも第１の領域と第２の領域とに区分し、
前記第１の領域の画素の階調値と、複数の閾値からなるディザマスクの前記第１の領域の画素に対応する閾値とを比較し、
前記第１の領域と第２の領域との境界近傍の第１の領域の画素である第１境界画素において、該第１境界画素の階調値に前記第１境界画素の近傍の処理済画素から分配された拡散誤差を加えて第１の補正階調値を算出し、前記比較の結果を少なくとも参照して前記第１の領域の画素のドット形成の有無の決定を行うとともに、前記第１境界画素における前記決定の結果により当該画素で表現される濃度に対応した値である第１の決定結果値と前記第１の補正階調値との誤差を算出して、該誤差を前記第１境界画素の近傍の未処理の画素に拡散誤差として分配する処理を行い、
前記第２の領域の一部の画素において、該画素の階調値に前記第１境界画素を含む近傍の処理済画素から分配された拡散誤差を加えた第２の補正階調値を算出し、該第２の補正階調値と所定の閾値とを比較してドット形成の有無を決定し、該決定の結果により当該画素で表現される濃度に対応した値である第２の決定結果値と前記第２の補正階調値との誤差を算出し、該誤差を近傍の画素に拡散誤差として分配する処理を行い、
前記第１，第２の領域において決定したドット形成の有無を用いて前記画像データのドットデータを生成する
画像処理方法。
【請求項１３】
複数の画素からなり、該画素毎の階調値により画像を表す画像データを処理するための画像処理プログラムであって、
前記画像データを入力する機能と、
前記入力した画像データに基づいて、前記画像を少なくとも第１の領域と第２の領域とに区分する機能と、
前記第１の領域の画素の階調値と、複数の閾値からなるディザマスクの前記第１の領域の画素に対応する閾値とを比較する機能と、
前記第１の領域と第２の領域との境界近傍の第１の領域の画素である第１境界画素において、該第１境界画素の階調値に前記第１境界画素の近傍の処理済画素から分配された拡散誤差を加えて第１の補正階調値を算出し、前記比較の結果を少なくとも参照して前記第１の領域の画素のドット形成の有無の決定を行うとともに、前記第１境界画素における前記決定の結果により当該画素で表現される濃度に対応した値である第１の決定結果値と前記第１の補正階調値との誤差を算出して、該誤差を前記第１境界画素の近傍の未処理の画素に拡散誤差として分配する処理を行う機能と、
前記第２の領域の一部の画素において、該画素の階調値に前記第１境界画素を含む近傍の処理済画素から分配された拡散誤差を加えた第２の補正階調値を算出し、該第２の補正階調値と所定の閾値とを比較してドット形成の有無を決定し、該決定の結果により当該画素で表現される濃度に対応した値である第２の決定結果値と前記第２の補正階調値との誤差を算出し、該誤差を近傍の画素に拡散誤差として分配する処理を行う機能と
をコンピューターに実現させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の画像を表す画像データの印刷を行う印刷技術に関し、さらに詳しくは、ドットの形成の有無を表すドットデータを生成する技術に関する。
【背景技術】
【０００２】
印刷装置において、オリジナルの画像より階調の少ない表現方法で画像の階調表現を行う技術（以下、ハーフトーン技術という）として、ディザ法や誤差拡散法が広く知られている。ディザ法と誤差拡散法には、それぞれ長所及び短所があるため、従来からディザ法と誤差拡散法とを組み合わせて、ハーフトーン処理を行いたいという要望があった。例えば、下記の特許文献１や特許文献２には、誤差拡散法の閾値にディザマスクの閾値を用い、閾値を周期的に変動させることで、ディザ法的要素と誤差拡散法的要素とを組み合わせたハーフトーン処理を行う技術が開示されている。しかし、これらのハーフトーン処理技術では、所定の特性の画像において適切に画像処理が行えないという課題があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２９２３２０号公報
【特許文献２】特開平５−１２２５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、ディザ法と誤差拡散法とを取り入れた画像処理を適切に行う技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、上述した従来の課題を解決するためになされたものであり、ディザ法と誤差拡散法とを取り入れた画像処理を適切に行う技術を提供することを目的とする。
【０００６】
［適用例１］
複数の画素からなり、該画素毎の階調値により画像を表す画像データを処理する画像処理装置であって、前記画像データを入力する入力部と、前記入力した画像データに基づいて、前記画像を少なくとも第１の領域と第２の領域とに区分する領域区分処理部と、前記第１の領域の画素の階調値と、複数の閾値からなるディザマスクの前記第１の領域の画素に対応する閾値とを比較する比較部と、前記第１の領域と第２の領域との境界近傍の第１の領域の画素である第１境界画素において、該第１境界画素の階調値に前記第１境界画素の近傍の処理済画素から分配された拡散誤差を加えて第１の補正階調値を算出し、前記比較の結果を少なくとも参照して前記第１の領域の画素のドット形成の有無の決定を行うとともに、前記第１の境界画素における前記決定の結果により当該画素で表現される濃度に対応した値である第１の決定結果値と前記第１の補正階調値との誤差を算出して、該誤差を前記第１境界画素の近傍の未処理の画素に拡散誤差として分配する処理を行う第１ドット決定処理部と、前記第２の領域の一部の画素において、該画素の階調値に前記第１境界画素を含む近傍の処理済画素から分配された拡散誤差を加えた第２の補正階調値を算出し、該第２の補正階調値と所定の閾値とを比較してドット形成の有無を決定し、該決定の結果により当該画素で表現される濃度に対応した値である第２の決定結果値と前記第２の補正階調値との誤差を算出し、該誤差を近傍の画素に拡散誤差として分配する処理を行う第２ドット決定処理部と、前記第１，第２ドット決定処理部が決定したドット形成の有無を用いて前記画像データのドットデータを生成するドットデータ生成部とを備える画像処理装置
【０００７】
この画像処理装置によると、第１の領域における画像処理と第２の領域における画像処理との切り替えを滑らかに行い、ディザ法的要素と誤差拡散法的要素を組み合わせたドットデータの生成を適切に行うことができる。さらに、この画像処理装置は、第１境界画素の階調値とディザマスクの閾値との比較結果を用いてドット形成の有無の決定をしている。よって、ディザ法と誤差拡散法とを組み合わせた画像処理としてディザマスクの閾値を用いて誤差拡散法を行う場合、即ち、画素の階調値を拡散誤差で補正した補正階調値とディザマスクの閾値とを比較する誤差拡散法を行う場合と比較して、ディザマスクが備える特性を、より反映させることができる。
【０００８】
［適用例２］
適用例１記載の画像処理装置であって、前記領域区分処理部は、前記複数の画素からなる前記画像のうち、ディザ法による処理に適した領域として予め定めた条件を満たす領域を前記第１の領域に区分し、誤差拡散法による処理に適した領域として予め定めた条件を満たす領域を前記第２の領域に区分する画像処理装置。
【０００９】
この画像処理装置によると、ディザ法による処理に適した領域として予め定めた条件を満たす領域、および誤差拡散法による処理に適した領域として予め定めた条件を満たす領域を適切に画像処理することができる。
【００１０】
［適用例３］
適用例１または適用例２に記載の画像処理装置であって、前記第１ドット決定処理部は、前記比較の結果として、前記第１の領域の画素の階調値が前記ディザマスクの前記第１の領域の画素に対応する閾値より大きい場合はドットを形成すると決定し、小さい場合はドットを形成しないと決定する画像処理装置。
【００１１】
この画像処理装置によると、比較の結果として、第１の領域の画素の階調値がディザマスクの第１の領域の画素に対応する閾値より大きい場合はドットを形成すると決定し、小さい場合はドットを形成しないと決定する処理を行っているので、ディザマスクが備える特性を十分に反映させてドットデータを生成することができる。
【００１２】
［適用例４］
適用例１または適用例２に記載の画像処理装置であって、前記第１ドット決定処理部は、前記第１の領域の画素の階調値に近傍の処理済画素から分配された拡散誤差を加えた第３の補正階調値と、所定の判定値とを比較してドット形成の有無を決定しており、前記比較部による比較の結果、前記第１の領域の画素の階調値が前記ディザマスクの前記第１の領域の画素に対応する閾値より大きい場合に適用する前記判定値が、前記第１の領域の画素の階調値が前記ディザマスクの前記第１の領域の画素に対応する閾値以下の場合に適用する前記判定値を上回らないように所定の幅で前記判定値を調整する画像処理装置。
【００１３】
この画像処理装置によると、第１の領域において、判定値の調整の仕方によっては誤差拡散的要素（例えば、ドットの分散性や連続性に優れた特性）を強めたドットパターンや、ディザ法的要素を強めたドットパターンを生成することができる。従って、印刷対象である画像データの特性によって、判定値を調整し誤差拡散的要素とディザ法的要素の強弱を調整することにより、適切な画像処理を行うことができる。
【００１４】
［適用例５］
適用例１ないし適用例４のいずれか記載の画像処理装置であって、前記第２ドット決定処理部は、誤差拡散法に用いる閾値として予め用意した誤差拡散閾値を用いて前記誤差拡散法によるドット形成の有無を決定する画像処理装置。
【００１５】
この画像処理装置によると、第２の領域において、一般的に用いられる誤差拡散法、即ち、予め用意した誤差拡散閾値を用いた誤差拡散法によってドット形成の有無を決定することができる。
【００１６】
［適用例６］
適用例１ないし適用例５のいずれか記載の画像処理装置であって、前記第１の領域は、近接する画素との階調値の差が所定以上であるエッジを構成する画素であるエッジ画素ではない画素からなる領域であり、前記第２の領域は、前記エッジ画素からなる領域である画像処理装置。
【００１７】
この画像処理装置によると、エッジ画素は誤差拡散法を用いてドット形成の有無を決定しているので、生成したドットデータを用いて印刷を行うと、エッジの再現性に優れた印刷画像を得ることができる。
【００１８】
［適用例７］
適用例１ないし適用例５のいずれか記載の画像処理装置であって、前記第２の領域は、前記画像に含まれる細線もしくは文字領域である画像処理装置。
【００１９】
この画像処理装置によると、生成したドットデータを用いて印刷を行うと、細線、文字の再現性に優れた印刷画像を得ることができる。
【００２０】
［適用例８］
適用例１ないし適用例５のいずれか記載の画像処理装置であって、前記第１の領域は、前記画像に含まれる線画を構成する画素のうち、該線画の外縁を構成する外縁画素以外の画素である内側画素からなる領域であり、前記第２の領域は、前記外縁画素からなる領域である画像処理装置。
【００２１】
この画像処理装置によると、生成したドットデータを用いて印刷を行うと、線画の輪郭の再現性に優れた印刷画像を得ることができる。
【００２２】
［適用例９］
適用例８記載の画像処理装置であって、前記第１の領域は、前記内側画素のうち、前記外縁画素の近傍の画素からなる領域である画像処理装置。
【００２３】
この画像処理装置によると、生成したドットデータを用いて印刷を行うと、線画の輪郭の再現性に優れるとともに、ベタの領域は他の画像処理方法、即ち、例えばディザ法を用いたドット形成の有無の決定を行うことができ、処理速度の高速化を可能にする。
【００２４】
［適用例１０］
適用例１ないし適用例５のいずれか記載の画像処理装置であって、前記第１の領域は、高周波数成分のノイズが所定値より少ない領域であり、前記第２の領域は、前期高周波数成分のノイズが前期所定値より多い領域である画像処理装置。
【００２５】
この画像処理装置によると、生成したドットデータを用いて印刷を行うと、高周波数成分の多い領域においてディザマスクの周期性に起因する干渉による印刷画像の画像劣化を抑制することができる。
【００２６】
［適用例１１］
複数の画素からなり、該画素毎の階調値により画像を表す画像データに基づいて印刷を行う印刷装置であって、前記画像データを入力する入力部と、前記入力した画像データに基づいて、前記画像を少なくとも第１の領域と第２の領域とに区分する領域区分処理部と、前記第１の領域の画素の階調値と、複数の閾値からなるディザマスクの前記第１の領域の画素に対応する閾値とを比較する比較部と、前記第１の領域と第２の領域との境界近傍の第１の領域の画素である第１境界画素において、該第１境界画素の階調値に前記第１境界画素の近傍の処理済画素から分配された拡散誤差を加えて第１の補正階調値を算出し、前記比較の結果を少なくとも参照して前記第１の領域の画素のドット形成の有無の決定を行うとともに、前記第１の境界画素における前記決定の結果により当該画素で表現される濃度に対応した値である第１の決定結果値と前記第１の補正階調値との誤差を算出して、該誤差を前記第１境界画素の近傍の未処理の画素に拡散誤差として分配する処理を行う第１ドット決定処理部と、前記第２の領域の一部の画素において、該画素の階調値に前記第１境界画素を含む近傍の処理済画素から分配された拡散誤差を加えた第２の補正階調値を算出し、該第２の補正階調値と所定の閾値とを比較してドット形成の有無を決定し、該決定の結果により当該画素で表現される濃度に対応した値である第２の決定結果値と前記第２の補正階調値との誤差を算出し、該誤差を近傍の画素に拡散誤差として分配する処理を行う第２ドット決定処理部と、前記第１，第２ドット決定処理部が決定したドット形成の有無を用いて前記画像データのドットデータを生成するドットデータ生成部と、前記ドットデータに基づいて印刷を行う印刷部とを備える印刷装置。
【００２７】
この印刷装置によると、第１の領域における画像処理と第２の領域における画像処理との切り替えを滑らかに行い、ディザ法的要素と誤差拡散法的要素を組み合わせたドットデータの生成および印刷を適切に行うことができる。さらに、この印刷装置は、第１境界画素の階調値とディザマスクの閾値との比較結果を用いてドット形成の有無の決定をしている。よって、ディザ法と誤差拡散法とを組み合わせた画像処理としてディザマスクの閾値を用いて誤差拡散法を行う場合と比較して、ディザマスクが備える特性を、より反映させることができる。
【００２８】
［適用例１２］
複数の画素からなり、該画素毎の階調値により画像を表す画像データを処理する画像処理方法であって、前記画像データを入力し、前記入力した画像データに基づいて、前記画像を少なくとも第１の領域と第２の領域とに区分し、前記第１の領域の画素の階調値と、複数の閾値からなるディザマスクの前記第１の領域の画素に対応する閾値とを比較し、前記第１の領域と第２の領域との境界近傍の第１の領域の画素である第１境界画素において、該第１境界画素の階調値に前記第１境界画素の近傍の処理済画素から分配された拡散誤差を加えて第１の補正階調値を算出し、前記比較の結果を少なくとも参照して前記第１の領域の画素のドット形成の有無の決定を行うとともに、前記第１の境界画素における前記決定の結果により当該画素で表現される濃度に対応した値である第１の決定結果値と前記第１の補正階調値との誤差を算出して、該誤差を前記第１境界画素の近傍の未処理の画素に拡散誤差として分配する処理を行い、前記第２の領域の一部の画素において、該画素の階調値に前記第１境界画素を含む近傍の処理済画素から分配された拡散誤差を加えた第２の補正階調値を算出し、該第２の補正階調値と所定の閾値とを比較してドット形成の有無を決定し、該決定の結果により当該画素で表現される濃度に対応した値である第２の決定結果値と前記第２の補正階調値との誤差を算出し、該誤差を近傍の画素に拡散誤差として分配する処理を行い、前記第１，第２の領域において決定したドット形成の有無を用いて前記画像データのドットデータを生成する画像処理方法。
【００２９】
この画像処理方法によると、第１の領域における画像処理と第２の領域における画像処理との切り替えを滑らかに行い、ディザ法的要素と誤差拡散法的要素を組み合わせたドットデータの生成を行うことができる。さらに、この画像処理方法は、第１境界画素の階調値とディザマスクの閾値との比較結果を用いてドット形成の有無の決定をしている。よって、ディザ法と誤差拡散法とを組み合わせた画像処理としてディザマスクの閾値を用いて誤差拡散法を行う場合と比較して、ディザマスクが備える特性を、より反映させることができる。
【００３０】
［適用例１３］
複数の画素からなり、該画素毎の階調値により画像を表す画像データを処理するための画像処理プログラムであって、前記画像データを入力する機能と、前記入力した画像データに基づいて、前記画像を少なくとも第１の領域と第２の領域とに区分する機能と、前記第１の領域の画素の階調値と、複数の閾値からなるディザマスクの前記第１の領域の画素に対応する閾値とを比較する機能と、前記第１の領域と第２の領域との境界近傍の第１の領域の画素である第１境界画素において、該第１境界画素の階調値に前記第１境界画素の近傍の処理済画素から分配された拡散誤差を加えて第１の補正階調値を算出し、前記比較の結果を少なくとも参照して前記第１の領域の画素のドット形成の有無の決定を行うとともに、前記第１の境界画素における前記決定の結果により当該画素で表現される濃度に対応した値である第１の決定結果値と前記第１の補正階調値との誤差を算出して、該誤差を前記第１境界画素の近傍の未処理の画素に拡散誤差として分配する処理を行う機能と、前記第２の領域の一部の画素において、該画素の階調値に前記第１境界画素を含む近傍の処理済画素から分配された拡散誤差を加えた第２の補正階調値を算出し、該第２の補正階調値と所定の閾値とを比較してドット形成の有無を決定し、該決定の結果により当該画素で表現される濃度に対応した値である第２の決定結果値と前記第２の補正階調値との誤差を算出し、該誤差を近傍の画素に拡散誤差として分配する処理を行う機能とをコンピューターに実現させるための画像処理プログラム。
【００３１】
この画像処理プログラムによると、コンピューターは、第１の領域における画像処理と第２の領域における画像処理との切り替えを滑らかに行い、ディザ法的要素と誤差拡散法的要素を組み合わせたドットデータの生成を行うことができる。
【００３２】
また、本発明は、画像処理装置としての構成のほか、印刷データ生成装置、印刷装置で印刷する印刷方法、印刷用プログラム、当該プログラムを記録した記憶媒体等としても実現することができる。
【図面の簡単な説明】
【００３３】
【図１】プリンター２０の概略構成図である。
【図２】印刷処理の流れを示すフローチャートである。
【図３】ハーフトーン処理の流れを示したフローチャートである。
【図４】領域判定処理（Ｄ＝１）を説明する説明図である。
【図５】領域判定処理（Ｄ＝２）を説明する説明図である。
【図６】ドットＯＮ／ＯＦＦ判定処理の流れを示したフローチャートである。
【図７】ハーフトーン処理の特徴をまとめた説明図である。
【図８】第２実施例におけるドットＯＮ／ＯＦＦ判定処理の流れを示したフローチャートである。
【図９】第２実施例のハーフトーン処理の特徴についてまとめた説明図である。
【図１０】変形例３における領域判定処理（Ｄ＝１）を説明する説明図である。
【図１１】変形例３における領域判定処理（Ｄ＝２）を説明する説明図である。
【発明を実施するための形態】
【００３４】
Ａ．第１実施例：
（Ａ１）装置構成：
図１は、本発明の第１実施例としてのプリンター２０の概略構成図である。プリンター２０は、後述する双方向印刷を行うシリアル式インクジェットプリンターであり、図示するように、プリンター２０は、紙送り紙送りモーター７４によって印刷媒体Ｐを搬送（以下、搬送方向を副走査方向とも呼ぶ）する機構と、キャリッジモーター７０によってキャリッジ８０をプラテン７５の軸方向（以下、主走査方向とも呼ぶ）に往復動させる機構と、キャリッジ８０に搭載された印刷ヘッド９０を駆動してインクの吐出及びドット形成を行う機構と、これらの紙送り紙送りモーター７４，キャリッジモーター７０，印刷ヘッド９０及び操作パネル９９との信号のやり取りを司る制御ユニット３０とから構成されている。
【００３５】
キャリッジ８０をプラテン７５の軸方向に往復動させる機構は、プラテン７５の軸と平行に架設され、キャリッジ８０を摺動可能に保持する摺動軸７３と、キャリッジモーター７０との間に無端の駆動ベルト７１を張設するプーリ７２等から構成されている。
【００３６】
キャリッジ８０には、カラーインクとして、シアンインクＣ、マゼンタインクＭ、イエロインクＹ、ブラックインクＫ、ライトシアンインクＬｃ、ライトマゼンタインクＬｍをそれぞれ収容したカラーインク用のインクカートリッジ８２〜８７が搭載される。キャリッジ８０の下部の印刷ヘッド９０には、上述の各色のカラーインクに対応するノズル列が形成されている。キャリッジ８０にこれらのインクカートリッジ８２〜８７を上方から装着すると、各カートリッジから印刷ヘッド９０へのインクの供給が可能となる。
【００３７】
制御ユニット３０は、ＣＰＵ４０や、ＲＯＭ５１、ＲＡＭ５２、ＥＥＰＲＯＭ６０がバスで相互に接続されて構成されている。制御ユニット３０は、ＲＯＭ５１やＥＥＰＲＯＭ６０に記憶されたプログラムをＲＡＭ５２に展開し、実行することにより、プリンター２０の動作全般を制御するほか、入力部４１、ハーフトーン処理部４２、印刷部４９としても機能する。ハーフトーン処理部４２の機能は、領域判定処理部４３、ディザ法処理部４４、誤差拡散法処理部４５としての機能を含んでいる。これらの機能部の詳細については後述する。
【００３８】
ＥＥＰＲＯＭ６０の一部にはディザマスク６１が記憶されている。ディザマスク６１は、組織的ディザ法によるハーフトーン処理に用いるものであり、複数の閾値により構成される。ディザマスク６１は、本実施例では、閾値の分布が、いわゆるブルーノイズ特性を備えている。ブルーノイズ特性を有する閾値の分布とは、そのような閾値の分布を有するディザマトリックスを用いてドットを発生させたときに、ドットを不規則に発生させるとともに、設定されている閾値の空間周波数成分は、１周期が２画素以下の高周波数領域に最も大きな成分を有するような閾値の分布を言う。また、後述するグリーンノイズ特性を有する閾値の分布とは、そのような閾値の分布を有するディザマトリックスを用いてドットを発生させたときに、ドットを不規則に発生させるとともに、設定されている閾値の空間周波数成分は、１周期が２画素から十数画素の中間周波数領域に最も大きな成分を有するような閾値の分布をいう。
【００３９】
また、本実施例においては、ディザマスク６１は、所定のドット形成特性を有している。すなわち、双方向印刷におけるキャリッジ８０の往動で形成されるドット群のドットパターンと、復動で形成されるドット群のドットパターンと、これらを併せた全体のドット群のドットパターンいずれもが、良好なドット分散性を有する特性を有している。かかる技術は、例えば、特開２００７−１５３５９号公報に記載されている。なお、ディザマスク６１は、上述の往復動ごとのグループに代えて、または、加えて、キャリッジ８０の複数回の主走査のうちのいずれの主走査でドットが形成されるかを示す主走査グループごとに、良好なドット分散性が得られるものであってもよい。
【００４０】
ドット分散性が良好であるとは、ドットパターンがブルーノイズ特性やグリーンノイズ特性を有することとして特定することができる。あるいは、複数のグループの各々に属する画素に設定されているディザマスクの閾値の空間周波数分布の各々と、印刷画像の空間周波数分布とが相互に正の相関係数を有すること、望ましくは、０．７以上の相関係数を有することとして特定することができる。
【００４１】
制御ユニット３０には、メモリカードスロット９８が接続されており、メモリカードスロット９８に挿入したメモリカードＭＣから画像データＯＲＧを読み込んで入力することができる。本実施例においては、メモリカードＭＣから入力する画像データＯＲＧは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３色の色成分からなるデータであり、各色について８ｂｉｔの階調値で表現されている。
【００４２】
以上のようなハードウェア構成を有するプリンター２０は、キャリッジモーター７０を駆動することによって、印刷ヘッド９０を印刷媒体Ｐに対して主走査方向に往復動させ、また、紙送り紙送りモーター７４を駆動することによって、印刷媒体Ｐを副走査方向に移動させる。制御ユニット３０は、キャリッジ８０が往復動する動きや、印刷媒体の紙送りの動きに合わせて、印刷データに基づいて適切なタイミングでノズルを駆動することにより、印刷媒体Ｐ上の適切な位置に適切な色のインクドットを形成する。こうすることによって、プリンター２０は、印刷媒体Ｐ上にメモリカードＭＣから入力したカラー画像を印刷することが可能となっている。
【００４３】
（Ａ２）印刷処理：
プリンター２０における印刷処理について説明する。図２は、プリンター２０における印刷処理の流れを示すフローチャートである。ここでの印刷処理は、ユーザが操作パネル９９等を用いて、メモリカードＭＣに記憶された所定の画像の印刷指示操作を行うことで開始される。印刷処理を開始すると、ＣＰＵ４０は、まず、入力部４１の処理として、メモリカードスロット９８を介してメモリカードＭＣから印刷対象であるＲＧＢ形式の画像データＯＲＧを読み込んで入力する（ステップＳ１１０）。
【００４４】
画像データＯＲＧを入力すると、ＣＰＵ４０は、ＥＥＰＲＯＭ６０に記憶されたルックアップテーブル（図示せず）を参照して、画像データＯＲＧについて、ＲＧＢ形式をＣ（シアン），Ｍ（マゼンダ），Ｙ（イエロー），Ｋ（ブラック），Ｌｃ（ライトシアン），Ｌｍ（ライトマゼンダ）で表現される形式に色変換処理を行う（ステップＳ１２０）。
【００４５】
色変換処理を行うと、ＣＰＵ４０は、ハーフトーン処理部４２の処理として、画像データを各色のドットのＯＮ／ＯＦＦを表すドットデータに変換するハーフトーン処理を行う（ステップＳ１３０）。ここでのハーフトーン処理の詳細については後述する。なお、ハーフトーン処理は、ドットのＯＮ／ＯＦＦの２値化処理に限らず、大ドット及び小ドットのＯＮ／ＯＦＦなど、多値化処理であってもよい。また、ステップＳ１３０に供する画像データは、解像度変換処理やスムージング処理などの画像処理が施されたものであってもよい。
【００４６】
ハーフトーン処理を行うと、ＣＰＵ４０は、プリンター２０のノズル配置や紙送り量などに合わせて、１回の主走査単位で印画するドットパターンデータに並び替えるインターレース処理を行う（ステップＳ１６０）。インターレース処理を行うと、ＣＰＵ４０は、印刷ヘッド９０にドットデータを送出しつつ、キャリッジモーター７０、紙送りモーター７４等を駆動させて、印刷を実行する（ステップＳ１７０）。
【００４７】
（Ａ３）ハーフトーン処理：
次に、ハーフトーン処理（ステップＳ１３０）の詳細について説明する。本説明においては、各画素における階調値は０〜２５５であり、階調値が大きいほど、色が濃いものとして説明をする。図３は、ハーフトーン処理の流れを示したフローチャートである。この処理が開始されると、ＣＰＵ４０は、まず、ステップＳ１２０で色変換処理が行われた画像データについて、注目画素位置の座標データｎ（ｘ，ｙ）と、注目画素の階調値データである注目画素データＤｎとを取得する（ステップＳ１３１）。注目画素位置の座標データｎ（ｘ，ｙ）と注目画素データＤｎとを取得すると、ＣＰＵ４０は、領域判定処理部４３の処理として領域判定処理を行う（ステップＳ１３２）。
【００４８】
ここで、領域判定処理（ステップＳ１３２）の詳細について説明する。本実施例における領域判定処理は、注目画素（ｘ，ｙ）が、印刷画像におけるエッジを構成する画素（以下、エッジ画素とも呼ぶ）のうち、色の濃い側の画素（以下、高濃度側エッジ画素とも呼ぶ）か否かを判定する処理である。具体的には、注目画素の階調値から、注目画素から距離Ｄ（Ｄは正の整数）の位置にある画素（以下、差分調査対象画素とも呼ぶ）の階調値を減算し、減算値が所定の閾値（以下、エッジ判定閾値ＥＤＧＥ＿ＴＨとも呼ぶ）より大きいか判定する。距離Ｄの値は、印刷装置の設計段階での設定、ユーザが印刷を行う段階での手動での設定、および、印刷装置が印刷処理時に画像データの特性を判定し自動で設定するなど、種々の段階で設定することができる。
【００４９】
図４は、その一例として、Ｄ＝１に設定した場合の領域判定処理を説明する説明図である。Ｄ＝１に設定した場合には、差分調査対象画素を（ｘー１，ｙ）、（ｘ＋１，ｙ）、（ｘ，ｙ−１）、（ｘ，ｙ＋１）と設定することができる。そして、
ｄａｔｅ［ｘ，ｙ］−ｄａｔｅ［ｘ−１，ｙ］＞ＥＤＧＥ＿ＴＨ  または
ｄａｔｅ［ｘ，ｙ］−ｄａｔｅ［ｘ＋１，ｙ］＞ＥＤＧＥ＿ＴＨ  または
ｄａｔｅ［ｘ，ｙ］−ｄａｔｅ［ｘ，ｙ−１］＞ＥＤＧＥ＿ＴＨ  または
ｄａｔｅ［ｘ，ｙ］−ｄａｔｅ［ｘ，ｙ＋１］＞ＥＤＧＥ＿ＴＨ
ならば、注目画素（ｘ，Ｙ）は高濃度側エッジ画素と判定する。なお、ｄａｔｅ［    ］は、［    ］内の座標の画素の階調値を表す。
【００５０】
本実施例においては、印刷画像において所定の方向を基準に定めた場合、具体的には観察者が印刷画像を観察する向きに正対した場合における、上から下、左から右に、画像データ上で注目画素を移動させる。また、この場合、画像データの隅部に注目画素が位置している際には、一部の差分調査対象画素が存在しない場合が生じるが、その場合には、その存在しない差分調査対象画素に対してダミー画素を設定し、ダミー画素の階調値を注目画素の階調値と同じとして領域判定処理を行う。図４では、階調値の高い画素（以下、高階調画素とも呼ぶ）をドットハッチングで表現し、高濃度側エッジ画素を更に斜線ハッチングで表現した。
【００５１】
また、例えば距離Ｄ＝２に設定した場合には、図５に示したように、差分調査対象画素として、上記のＤ＝１の差分調査対象画素に（ｘ−２，ｙ）、（ｘ＋２，ｙ）、（ｘ，ｙ−２）、（ｘ、ｙ＋２）、（ｘ−１，ｙ−１）、（ｘ＋１，ｙ−１）、（ｘ−１，ｙ＋１）、（ｘ＋１，ｙ＋１）を加えた画素を差分調査対象画素として設定することができる。そしてＤ＝１の場合と同様に、エッジ判定閾値ＥＤＧＥ＿ＴＨとの大小の比較をすることにより、注目画素が高濃度側エッジ画素であるか否かの判定を行う。
【００５２】
ＣＰＵ４０は、注目画素を高濃度側エッジ画素であると判定した画素にはフラグを「１」に設定し、それ以外の画素はフラグ「０」に設定する。このようにしてＣＰＵ４０は領域判定処理を行う。
【００５３】
説明をハーフトーン処理（図３）に戻す。ＣＰＵ４０は領域判定処理を行った後、領域判定処理の結果に基づいて、各画素へのドット形成の有無を判定するドットＯＮ／ＯＦＦ判定処理を行う（ステップＳ１４０）。ドットＯＮ／ＯＦＦ判定処理の詳細は後述するが、その後、この処理において算出された補正データｄａｔａＸおよび２値化結果値ｒｓを用いて、２値化誤差Ｅｎを算出する（ステップＳ１６０）。２値化誤差Ｅｎの算出後、ＣＰＵ４０は、２値化誤差Ｅｎを、ドットのＯＮ／ＯＦＦを未決定の周辺画素である、注目画素の右隣の画素に対して７／１６、左下の画素に対して３／１６、下の画素に対して５／１６、右下の画素に対して１／１６の割合で、各画素のハーフトーン処理時に用いる拡散誤差Ｅｄｎとして分配する（ステップＳ１６１）。具体的には各画素用の拡散誤差Ｅｄｎを記憶する誤差バッファの値に、分配された値を加算する。これらステップＳ１３１〜ステップＳ１６１の処理を、注目画素を印刷画像に対して左から右、上から下に移動させながら（図４参照）、画像データにおける全ての画素に対して行う（ステップＳ１６２）。
【００５４】
次に、ドットＯＮ／ＯＦＦ判定処理（図３：ステップＳ１４０）について説明する。図６はドットＯＮ／ＯＦＦ判定処理の流れを説明するフローチャートである。領域判定処理（図３：ステップＳ１３２）の後、ＣＰＵ４０は、注目画素データＤｎの階調値に、別途用意した誤差バッファに記憶された拡散誤差Ｅｄｎを加算し、補正データｄａｔａＸを算出する（ステップＳ１４０）。拡散誤差Ｅｄｎは、他の画素のハーフトーン処理におけるステップＳ１６０において算出されたものである。
【００５５】
補正データｄａｔａＸを算出後、ＣＰＵ４０は、注目画素がエッジ画素か否かを上述した領域判定処理で設定したフラグにより判断し、注目画素がエッジ画素である場合（ステップＳ１４２：ＹＥＳ）、誤差拡散法処理部４５の機能として、誤差拡散処理法によるハーフトーン処理に用いる誤差拡散閾値ＥＤ＿ｔｈ（例えば１２８）と、補正データｄａｔａＸとを比較する。誤差拡散閾値ＥＤ＿ｔｈは、ＥＥＰＲＯＭ６０に予め記憶している（図示省略）。補正データｄａｔａＸと誤差拡散閾値ＥＤ＿ｔｈとの比較の結果、補正データｄａｔａＸの方が大きい場合（ステップＳ１４４：ＹＥＳ）、その注目画素のドットをＯＮに決定し、２値化結果値ｒｓ＝２５５に設定する（ステップＳ１４５）。一方、補正データｄａｔａＸが誤差拡散閾値ＥＤ＿ｔｈ以下である場合（ステップＳ１４３：ＮＯ）、その注目画素のドットをＯＦＦに決定し、２値化結果値ｒｓ＝０に設定する（ステップＳ１４６）。
【００５６】
一方、注目画素がエッジ画素以外の画素であった場合（ステップＳ１４２：ＮＯ）、ＣＰＵ４０は誤差拡散法処理部４５の機能として、注目画素データＤｎと、ＥＥＰＲＯＭ６０に記憶されたディザマスク６１を構成する複数の階調のうち、注目画素データＤｎに対応する閾値であるディザ閾値ＴＨ＿ｔｈとの比較をする（ステップＳ１４４）。ＣＰＵ４０は、比較の結果、注目画素データＤｎがディザ閾値ＴＨ＿ｔｈより大きい場合（ステップＳ１４４：ＹＥＳ）、その注目画素のドットをＯＮに決定し、２値化結果値ｒｓ＝２５５に設定する（ステップＳ１４５）。一方、比較の結果、注目画素データＤｎがディザ閾値ＴＨ＿ｔｈより小さい場合（ステップＳ１４４：ＮＯ）、その注目画素のドットをＯＦＦに決定し、２値化結果値ｒｓ＝０に設定する（ステップＳ１４６）。このようにして、ＣＰＵ４０は、ドットＯＮ／ＯＦＦ判定処理を行う。なお、ステップＳ１４３において、注目画素が画像の隅部である場合には、周囲の画素からの拡散誤差Ｅｄｎの分配がされていない場合があるが、その場合には、Ｅｄｎ＝０として、注目画素データＤｎと誤差拡散閾値ＥＤ＿ｔｈとを比較する。以上、ＣＰＵ４０が行うハーフトーン処理の流れについて説明した。
【００５７】
図７は上記ハーフトーン処理の特徴をまとめた説明図である。図７を用いて本実施例の効果を説明する。上記説明したように、プリンター２０は、ハーフトーン処理を行う際に、エッジ画素（本実施例では高濃度側エッジ画素）は誤差拡散法によってドットのＯＮ／ＯＦＦを決定している。一方、エッジ画素以外の画素はディザ法によってドットのＯＮ／ＯＦＦを決定している。誤差拡散法は、解像度および階調の再現性に優れているため、エッジ画素、特に本実施例では高濃度側エッジ画素に誤差拡散法を適用してハーフトーン処理を行うことにより、印刷画像において、低階調の細線からなるテキストや線画等が途切れにくくなり、精度良く細線を再現することができる。
【００５８】
一方、プリンター２０は、エッジ画素（本実施例では高濃度側エッジ画素）以外の画素にハーフトーン処理を行う場合には、ディザ法によってドットのＯＮ／ＯＦＦを決定しているので、用いるディザマスクに所定の特性を持たせることで、例えば、インクドットの着弾位置のずれによる画質劣化を抑制することができる。このように、プリンター２０は、印刷対象の画像データを所定の領域に分割し、誤差拡散法とディザ法のうち、各領域に対して有効に作用する処理法を適用してドットのＯＮ／ＯＦＦを決定している。
【００５９】
また、ディザ法によってドットのＯＮ／ＯＦＦを決定する領域（ディザ法領域）から、誤差拡散法によりドットのＯＮ／ＯＦＦを決定する領域（誤差拡散法領域）に切り替わる境界において、ディザ法領域での２値化誤差を拡散誤差として誤差拡散法領域にも分配している。よって、ディザ領域と誤差拡散法領域との境界においてドットの発生が連続性を持つスムーズなものとなり、印刷画像において、ハーフトーン処理の処理方法が切り替わったことによる擬似的な輪郭を発生しにくくすることができる。
【００６０】
さらに、本実施例ではディザ法によってハーフトーン処理を行う領域では、ドットのＯＮ／ＯＦＦを決定する際に、ディザマスクの閾値と比較する対象は注目画素の階調値である。誤差拡散法に準拠した誤差の拡散は行っているが、ディザマスクの閾値との比較対象は補正データｄａｔａＸではなく、注目画素の階調値（注目画素データＤｎ）である。よって、ディザマスクが予め備える特性（分散性、周期性など）を十分に反映させてドットのＯＮ／ＯＦＦを決定することが可能である。
【００６１】
通常行われるディザ法と誤差拡散法とを組み合わせたハーフトーン処理技術は、ディザマスクの閾値を誤差拡散法に用いるものである。かかるハーフトーン処理では、ディザマスクの閾値との比較対象は、注目画素の階調値と周辺画素から分配された拡散誤差とからなる補正データである。補正データとディザマスクの閾値との比較によりドットのＯＮ／ＯＦＦを決定すると、ディザマスクが本来備える特性（分散性やインク着弾位置のずれが目立つのを抑制する特性など）が抑制されてしまうという問題がある。本実施例におけるハーフトーン処理では、上述したように、ディザマスクの閾値との比較対象は注目画素の階調値であるので、かかる問題を解決している。
【００６２】
特許請求の範囲との対応関係としては、領域判定処理部４３が特許請求の範囲に記載の領域区分処理部に対応し、ドットＯＮ／ＯＦＦ判定処理（図３）におけるステップＳ１４３の処理が特許請求の範囲に記載の比較部の処理に該当し、ドットＯＮ／ＯＦＦ判定処理（図３）におけるステップＳ１４３−Ｓ１４５，Ｓ１４６およびＳ１６０−Ｓ１６１の処理が特許請求の範囲に記載の第１ドット決定処理部に該当し、ドットＯＮ／ＯＦＦ判定処理（図３）におけるステップＳ１４４−Ｓ１４５，Ｓ１４６およびＳ１６０−Ｓ１６１の処理が特許請求の範囲に記載の第２ドット決定処理部に該当する。
【００６３】
Ｂ．第２実施例：
次に第２実施例について説明する。プリンター２０ａの構成において、第１実施例のプリンター２０と異なる点は、ハーフトーン処理部４２が、第１実施例のディザ法処理部４４と誤差拡散法処理部４５に換えて、比較部４７と誤差拡散部４８を備える点である。その他のプリンター２０ａの構成は第１実施例のプリンター２０と同じである。比較部４７と誤差拡散部４８の詳細については後述する。また、第２実施例における印刷処理は、ハーフトーン処理のドットＯＮ／ＯＦＦ判定処理が第１実施例と異なるのみで、図２、図３で説明した印刷処理、ハーフトーン処理の大凡の流れは同じであるので、図２，図３に対応する説明は省略する。
【００６４】
次に、第２実施例におけるドットＯＮ／ＯＦＦ判定処理の流れについて説明する。図８は、第２実施例におけるドットＯＮ／ＯＦＦ判定処理の流れを示したフローチャートである。この処理が開始されると、ＣＰＵ４０は、領域判定処理で設定したフラグに基づき、注目画素がエッジ画素（本実施例においては高濃度側エッジ画素）であるか、否かの判定を行う（ステップＳ２４１）。ＣＰＵ４０は、注目画素を高濃度側エッジ画素であると判定した場合（ステップＳ２４１：ＹＥＳ）、その注目画素について、後の処理で用いるパラメータである閾値増減パラメータｔｈ＿ａｄｄを「０」と決定する（ステップＳ２４２）。一方、ＣＰＵ４０が注目画素を高濃度側エッジ画素ではないと判定した場合（ステップＳ２４１：ＮＯ）、その注目画素についての閾値増減パラメータｔｈ＿ａｄｄを「６４」と決定する（ステップＳ２４３）。
【００６５】
ＣＰＵ４０は、各注目画素について閾値増減パラメータｔｈ＿ａｄｄを決定した後、比較部４７の処理として、仮ディザ処理を行う（ステップＳ２４４）。ここでの仮ディザ処理とは、注目画素データＤｎの階調値と、ＥＥＰＲＯＭ６０に記憶されたディザマスク６１を構成する複数の閾値のうちの、注目画素データＤｎに対応するディザ閾値ＴＨ＿ｔｈの値との大小関係を比較する処理である。この処理は、形式的には、通常行われるディザ法によるドットのＯＮ／ＯＦＦ判断の処理と同一の処理である。実質的には、通常のディザ法では、注目画素データＤｎの階調値がディザ閾値ＴＨ＿ｔｈの値以上である場合には、ドットをＯＮにすると判断し、注目画素データＤｎの階調値がディザ閾値ＴＨ＿ｔｈの値未満である場合には、ドットをＯＦＦにすると判断するが、本実施例の仮ディザ処理は、後述する誤差拡散法によってドットのＯＮ／ＯＦＦを決定するための前処理、具体的には、誤差拡散法の閾値を決定するための処理である点が相違している。
【００６６】
仮ディザ処理の結果、注目画素データＤｎの階調値がディザ閾値ＴＨ＿ｔｈの値以上であれば（ステップＳ２４４：ＹＥＳ）、誤差拡散法に用いる閾値ＴＨｅを低位閾値ＴＨｅ＿Ｌに設定する（ステップＳ２４５）。ＣＰＵ４０は、低位閾値ＴＨｅ＿Ｌの設定に際し、予め設定している基準誤差拡散閾値ＥＤＴＨ（例えば１２８）から、先の処理で決定した閾値増減パラメータｔｈ＿ａｄｄを減算し、その減算値を低位閾値ＴＨｅ＿Ｌに設定する。例えば、注目画素が高濃度側エッジ画素である場合には、閾値増減パラメータｔｈ＿ａｄｄ＝０であるので、低位閾値ＴＨｅ＿Ｌ＝ＥＤＴＨ−０として算出する。注目画素が高濃度側エッジ画素ではない場合には、閾値増減パラメータｔｈ＿ａｄｄ＝６４であるので、低位閾値ＴＨｅ＿Ｌ＝ＥＤＴＨ−６４として算出する。
【００６７】
一方、仮ディザ処理の結果、注目画素データＤｎの階調値がディザ閾値ＴＨ＿ｔｈの値未満であれば（ステップＳ２４４：ＮＯ）、誤差拡散法に用いる閾値ＴＨｅを高位閾値ＴＨｅ＿Ｈに設定する（ステップＳ２４６）。ＣＰＵ４０は、高位閾値ＴＨｅ＿Ｈの設定に際し、予め設定している基準誤差拡散閾値ＥＤＴＨ（例えば１２８）から、先の領域判定処理で決定した閾値増減パラメータｔｈ＿ａｄｄを加算し、その加算値を高位閾値ＴＨｅ＿Ｈに設定する。例えば、注目画素が高濃度側エッジ画素である場合には、閾値増減パラメータｔｈ＿ａｄｄ＝０であるので、高位閾値ＴＨｅ＿Ｈ＝ＥＤＴＨ＋０として算出する。注目画素が高濃度側エッジ画素ではない場合には、閾値増減パラメータｔｈ＿ａｄｄ＝６４であるので、高位閾値ＴＨｅ＿Ｈ＝ＥＤＴＨ＋６４として算出する。このように、本実施例においては、誤差拡散法に用いる閾値ＴＨｅを仮ディザ処理の結果に基づいて変化させる構成としている。
【００６８】
ＣＰＵ４０は、閾値ＴＨｅを設定すると、注目画素データＤｎの階調値に、別途用意した誤差バッファに記憶された拡散誤差Ｅｄｎを加算して補正データｄａｔａＸを算出する（ステップＳ２４７）。ここで、拡散誤差Ｅｄｎの算出方法は、第１実施例と同じであるので説明は省略する。
【００６９】
注目画素データＤｎの階調値に拡散誤差Ｅｄｎを加算すると、ＣＰＵ４０は、補正データｄａｔａＸと、ステップＳ２４５またはステップＳ２４６で設定した閾値ＴＨｅとを比較する（ステップＳ２４８）。その結果、補正データｄａｔａＸが閾値ＴＨｅ以上であれば（ステップＳ２４８：ＹＥＳ）、注目画素のドットをＯＮに決定し、２値化結果値ｒｓ＝２５５に設定する（ステップＳ２４９）。一方、拡散誤差Ｅｄｎを加算した注目画素データＤｎの階調値が閾値ＴＨｅ未満であれば（ステップＳ２４８：ＮＯ）、注目画素のドットをＯＦＦに決定し、２値化結果値ｒｓ＝０に設定する（ステップＳ２５０）。このようにしてＣＰＵ４０はドットＯＮ／ＯＦＦ判定処理を行う。このドットＯＮ／ＯＦＦ判定処理以降のハーフトーン処理は第１実施例（図３のステップＳ１６０〜）と同じであるので、説明は省略する。
【００７０】
ドットのＯＮ／ＯＦＦを決定すると、ＣＰＵ４０は、補正データｄａｔａＸから２値化結果値ｒｓを減算することにより２値化誤差Ｅｎを算出する（ステップＳ２４８）。その後、第１実施例と同様に、拡散誤差Ｅｄｎを算出する（ステップＳ２４９）。本実施例においても、２値化誤差Ｅｎを、ドットのＯＮ／ＯＦＦを未決定の周辺画素である、注目画素の右隣の画素に対して７／１６、左下の画素に対して３／１６、下の画素に対して５／１６、右下の画素に対して１／１６の割合で、拡散誤差Ｅｄｎとして分配するものとした。こうして算出された拡散誤差Ｅｄｎは、誤差バッファに格納される。なお、本実施例のドットＯＮ／ＯＦＦ判定処理では、ドットのＯＮ／ＯＦＦのみを決定する２値化処理としたが、大ドット及び小ドットのＯＮ／ＯＦＦを決定するなど、多値化処理を行ってもよい。
【００７１】
かかるハーフトーン処理の原理について、図９を用いて以下に説明する。図９は第２実施例のハーフトーン処理の特徴についてまとめた説明図である。上述したように、ステップＳ２４４〜Ｓ２４６の処理においては、注目画素データＤｎの階調値がディザ閾値ＴＨ＿ｔｈの値以上の場合、即ち、仮にディザ法によって処理したとすればドットＯＮになる場合であれば、誤差拡散法に用いる閾値ＴＨｅは、低位閾値ＴＨｅ＿Ｌに設定され、注目画素データＤｎの階調値がディザ閾値ＴＨ＿ｔｈの値未満の場合、即ち、仮にディザ法によって処理をしたとすればドットＯＦＦになる場合であれば、閾値ＴＨｅは、高位閾値ＴＨｅ＿Ｈに設定される。
【００７２】
ここで、閾値差分値ΔＴＨｅ＝ＴＨｅ＿Ｈ−ＴＨｅ＿Ｌと定義し、閾値差分値ΔＴＨｅが値「０」である場合、すなわち、本実施例においては注目画素が高濃度側エッジ画素（閾値増減パラメータｔｈ＿ａｄｄ＝０）である場合を考える。この場合、仮ディザ処理の結果は、閾値ＴＨｅに影響を与えないのであるから、ステップＳ２４４〜Ｓ２４６の処理は、誤差拡散法（ステップＳ２４８〜Ｓ２５０）による最終的なドットのＯＮ／ＯＦＦの決定に対して意味を持たないことになる。このことは、ステップＳ１３０（図２参照）のハーフトーン処理において、最終的なドットのＯＮ／ＯＦＦが、誤差拡散法的要素のみによって決定されていることを意味する。図９においては、ドットデータの特性として誤差拡散法的要素が大と記載している。
【００７３】
次に、閾値差分値ΔＴＨｅが値０より大きい場合（ＴＨｅ＿Ｈ＞ＴＨｅ＿Ｌ）、すなわち、本実施例においては注目画素が高濃度側エッジ画素以外の画素（閾値増減パラメータｔｈ＿ａｄｄ＝６４）である場合を考える。この場合、ＣＰＵ４０は、仮ディザ処理によりドットＯＮと判断すると（注目画素データＤｎの階調値がディザ閾値ＴＨ＿ｔｈの値以上であることをいう）、閾値ＴＨｅを相対的に小さい低位閾値ＴＨｅ＿Ｌに設定する。一方、仮ディザ処理によりドットＯＦＦと判断すると（注目画素データＤｎの階調値がディザ閾値ＴＨ＿ｔｈの値未満であることをいう）、閾値ＴＨｅを相対的に大きい高位閾値ＴＨｅ＿Ｈに設定する。つまり、ＣＰＵ４０は、仮ディザ処理によりドットＯＮと判断すると、誤差拡散法によりドットがＯＮになりやすいように制御し、仮ディザ処理によりドットＯＦＦと判断すると、誤差拡散法によりドットがＯＦＦになりやすいように制御する。このことは、閾値差分値ΔＴＨｅが値０である場合と比べて、誤差拡散法による最終的なドットのＯＮ／ＯＦＦの判断結果が仮ディザ処理によるドットのＯＮ／ＯＦＦの判断結果に近づくことを意味している。つまり、最終的なドットのＯＮ／ＯＦＦを、誤差拡散法的要素に加え、ディザ法的要素を加えて判断していることになる。図９においては、ドットデータの特性としてディザ法的要素が大と記載している。
【００７４】
要するに、仮ディザ処理の結果に応じて閾値ＴＨｅを変化させることにより、具体的には、閾値差分値ΔＴＨｅの大きさを変化させることにより、ハーフトーン処理におけるディザ法的要素と誤差拡散法的要素とのそれぞれの寄与度を制御することができるのである。本実施例においては、こうした原理を利用して、注目画素が高濃度側エッジ画素か否かによって、ハーフトーン処理におけるディザ法的要素と誤差拡散法的要素とを動的に制御している。このことは、閾値差分値ΔＴＨｅの大きさによって、誤差拡散法によるドットの形成のされやすさの制御の程度を制御していると捉えることもできる。
【００７５】
以上説明したように、かかる構成のプリンター２０ａは、誤差拡散法によりドットデータを生成するに際して、仮ディザ処理の結果を用いて、誤差拡散法によるドットの形成のされやすさを制御する。つまり、仮にディザ法を用いたとした場合のドットのＯＮ／ＯＦＦの判断結果を用いて、誤差拡散法によるドットの形成のされやすさを制御する。したがって、ディザ法的要素と誤差拡散法的要素とを取り入れたハーフトーン処理が可能となる。
【００７６】
具体的には、プリンター２０ａは、仮ディザ処理の結果がドットＯＮの場合に、誤差拡散法に用いる閾値ＴＨｅを低位閾値ＴＨｅ＿Ｌに設定し、誤差拡散法によりドットが形成されやすいように制御する。一方、仮ディザ処理の結果がドットＯＦＦの場合に、閾値ＴＨｅを高位閾値ＴＨｅ＿Ｈに設定し、誤差拡散法によりドットが形成されにくいように制御する。いずれの制御によっても、単純な誤差拡散法によるドットデータと比べて、ドットの形成の有無が、ディザ法による結果に近づくことになるので、ディザ法的要素が強まる。したがって、これらの制御の程度、つまり閾値差分値ΔＴＨｅを適宜設定、本実実施例では閾値増減パラメータｔｈ＿ａｄｄの大きさを設定することで、ハーフトーン処理におけるディザ法的要素と誤差拡散法的要素との寄与度を、所望の程度に設定することができる。また、仮ディザ処理の結果に基づいて閾値ＴＨｅを変化させるだけで、誤差拡散法によるドットの形成のされやすさを制御するので、構成が簡単であり、処理の高速化に資する。
【００７７】
また、本実施例のプリンター２０ａは、印刷対象画像を形成する各画素が高濃度側エッジ画素か否かで、閾値差分値ΔＴＨｅを変えている。具体的には、注目画素が高濃度側エッジ画素である場合には、閾値差分値ΔＴＨｅを大きくすることによりハーフトーン処理における誤差拡散法的要素を強め、注目画素が高濃度側エッジ画素ではない場合にはハーフトーン処理におけるディザ法的要素を強める構成としている。
【００７８】
誤差拡散法によるハーフトーン処理は、解像度と階調の両要素の再現性に優れているため、印刷対象である画像に低濃度で描画された細線（例えば文字や描画された線画）が含まれる場合に、細線の輪郭を形成する画素およびその周辺画素に対して誤差拡散法を適用すると細線が途中で途切れることなく、精度良く細線を再現することができる。
【００７９】
一方、ディザ法によるハーフトーン処理は、用いるディザマスクに所定の特性を持たせることで、インクドットの着弾位置のずれによる画質劣化を抑制することができる。また、ディザマスク自体を高度な特性を持つように生成しても、ハーフトーン処理時の実行速度には影響しない。よって、印刷対象となる画像中のベタ領域には、着弾位置ずれによる画像劣化を抑制する点および処理速度の点においてディザ法によるハーフトーン処理は非常に有効である。
【００８０】
本実施例の場合、印刷対象画像の高濃度側エッジ画素では誤差拡散法的要素を強めてハーフトーン処理を行うことで細線の再現性を高め、それ以外の領域ではディザ法的要素を強めてハーフトーン処理行うことでインクドットの着弾位置のずれによる画質劣化の抑制および処理速度の高速化を図っている。すなわち、印刷対象の画像データにおいて、誤差拡散法によるメリットがディザ法によるメリットより活かされる領域では誤差拡散法的要素を強め、ディザ法によるメリットが誤差拡散法によるメリットより活かされる領域ではディザ法的要素を強めてハーフトーン処理を行っているので印刷画像における細線の再現性に優れ、かつ、インクドットによる着弾位置のずれによる画質劣化を抑えた印刷画像を得ることができる。
【００８１】
さらに、印刷対象画像における高濃度側エッジ画素と、エッジを構成するエッジ画素のうちの濃度の低い側の画素（以下、低濃度側エッジ画素とも呼ぶ）においても誤差拡散法的要素を強めたハーフトーン処理を行っても、十分に細線の再現性に優れた印刷画像を得ることは可能であるが、本実施例においては、高濃度側エッジ画素のみ誤差拡散法的要素を強めてハーフトーン処理を行う構成としている。すなわち、処理に時間を要する誤差拡散法的要素の強めたハーフトーン処理の領域を少なくする抑えることで、処理速度を高めることができる。
【００８２】
また、本実施例においても第１実施例と同様にディザマスクを用いているが、ディザマスクの閾値と比較する対象は注目画素の階調値であり、補正データｄａｔａＸではない。すなわち、ドットデータに表現されるディザ法的要素に、ディザマスクが予め備える特性（分散性、周期性など）を十分に反映させることができる。
【００８３】
Ｃ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００８４】
（Ｃ１）変形例１：
上記実施例では、領域判定処理として、エッジ画素（第１，第２実施例では高濃度側エッジ画素）と、それ以外の画素とに区分したが、他の区分方法を採用するとしてもよい。
【００８５】
ここで、第１実施例における、ステップＳ１４３（図６）の処理に供する画素、即ち、補正データｄａｔａＸと誤差拡散閾値ＥＤ＿ｔｈとの比較によってドットのＯＮ／ＯＦＦを決定する画素と、第２実施例における誤差拡散法的要素を強めた処理に供する画素とを、まとめて誤差拡散法的処理に供する画素と呼ぶことにする。また、第１実施例における、ステップＳ１４４（図６）の処理に供する画素、即ち、注目画素データＤｎとディザ閾値ＴＨ＿ｔｈとの比較によってドットのＯＮ／ＯＦＦを決定する画素と、第２実施例におけるディザ法的要素を強めた処理に供する画素とを、まとめてディザ法的処理に供する画素と呼ぶことにする。
【００８６】
このように定義した場合、例えば、領域判定処理としての区分方法として、画像データの各画素を、テキストを構成する文字領域や細線を構成する細線領域とそれ以外の領域とに区分し、文字領域や細線領域を誤差拡散法的処理に供する画素として処理し、それ以外の画素をディザ法的処理に供する画素として処理することもできる。このような区分および処理をした場合、誤差拡散法の特性（分散性、連続性）により、文字領域や細線領域の輪郭の再現性に優れ、かつ、他の領域ではディザ法の特性、即ち、予めディザマスクが備える特性（例えば、インクの着弾位置のずれが目立つのを抑制する特性）に優れた印刷画像を得ることができる。この場合の領域判定方法としては、印刷対象の画像データがテキストデータであった場合は、テキストデータの段階で、テキスト部分の画素とそれ以外の画素とに異なるフラグを設定することによって、領域判定することができる。
【００８７】
また、線画を構成する画素のうち、線画の外縁を構成する画素を誤差拡散法的処理により処理し、線画の内側を構成する画素をディザ法的処理により処理するとしてもよい。この場合、線画以外の画素は、例えば、ディザ法的手法で処理をする。このように処理することで、線画の輪郭の再現性に優れた印刷画像を得ることができる。
【００８８】
さらに、線画の外縁画素を誤差拡散法的処理によって処理し、それ以外の画素のうち、誤差拡散法的処理によって処理をする画素の近傍の画素のみ、ディザ法的処理、即ち、誤差の拡散を行う処理を行い、それ以外の画素については、一般的なディザ法による処理、即ち、注目画素の階調値とディザマスクの閾値とを比較してドットのＯＮ／ＯＦＦを決定し、かつ、誤差の拡散は行わない処理に供するとしてもよい。一般的なディザ法による処理は、閾値との比較のみでドットのＯＮ／ＯＦＦを決定する比較的簡易な処理であることから、一般的なディザ法によって処理をする領域を設けることによって、処理速度を高めることができる。
【００８９】
その他、画像データにおいて高周波数成分のノイズが所定の値より多い領域の画素を誤差拡散法的処理によって処理し、それ以外の領域（高周波数成分のノイズの少ない領域）の画素をディザ法的処理によって処理をするとしてもよい。このようにすることで、ディザマスクの周期と高周波数成分の周期とが干渉し画像が劣化するのを抑制することができる。高周波数成分のノイズの多い領域と少ない領域との区分は、印刷対象の画像データをハーフトーン処理の前にプレスキャンし、所定の方法により区分することが可能である。例えば、ＤＣＴ（Discrete Cosine Transform）を用い、画像データを各周波数成分の大きさへと変換することによって、領域の区分をすることができる。
【００９０】
（Ｃ２）変形例２：
変形例２として、ドットＯＮ／ＯＦＦ判定処理を、第１実施例におけるドットＯＮ／ＯＦＦ判定処理と第２実施例におけるドットＯＮ／ＯＦＦ判定処理とを組み合わせた処理としてもよい。例えば、エッジ画素からなる領域、文字領域、細線領域などの、誤差拡散法的処理に供するのが好適である画素の領域には第１実施例で説明したドットＯＮ／ＯＦＦ判定処理（図６）を採用し、ディザ法的処理に供するのが好適である画素の領域には第２実施例で説明したドットＯＮ／ＯＦＦ判定処理（図８）を採用するとしてもよい。また、これとは逆に、誤差拡散法的処理に供するのが好適である画素の領域に第２実施例のドットＯＮ／ＯＦＦ判定処理を採用し、ディザ法的処理に供するのが好適である画素の領域には第１実施例で説明したドットＯＮ／ＯＦＦ判定処理を採用するとしてもよい。
【００９１】
（Ｃ３）変形例３：
上記実施例では、線画の領域における上下左右の全てのエッジ画素（第１，第２実施例の場合は、エッジ画素の内の高濃度側エッジ画素）において、誤差拡散法的処理によるハーフトーン処理を行うとしたが、エッジの片側のみに対して誤差拡散法的処理によるハーフトーン処理を行うとしてもよい。即ち、左右のエッジに対しては、右側又は左側の一方のエッジ画素のみ、上下のエッジに対しては、上側又は下側の一方のエッジ画素のみに対して誤差拡散法的処理によるハーフトーン処理を行う。この場合、差分調査対象画素を図１０や図１１のように設定することで、線画における片側の高濃度側エッジ画素のみ誤差拡散法的要素を強めたハーフトーン処理を行うことができる。このようにしても、低濃度の細線において、誤差拡散法的要素を強めたエッジ近傍でドットが発生するので、細線が途切れることなく、細線の再現性に優れた印刷を行うことができる。
【００９２】
（Ｃ４）変形例４：
上記実施例では、エッジ画素のうち、高濃度側エッジ画素に対して誤差拡散法的処理によるハーフトーン処理を行ったが、それに限らず、低濃度側エッジ画素も含めたエッジ画素に対して誤差拡散法的処理によるハーフトーン処理を行うとしてもよい。例えば、距離Ｄ＝１（図４参照）の場合には、差分調査対象画素を（ｘー１，ｙ）、（ｘ＋１，ｙ）、（ｘ，ｙ−１）、（ｘ，ｙ＋１）と設定し、
｜ｄａｔｅ［ｘ，ｙ］−ｄａｔｅ［ｘ−１，ｙ］｜＞ＥＤＧＥ＿ＴＨ  または
｜ｄａｔｅ［ｘ，ｙ］−ｄａｔｅ［ｘ＋１，ｙ］｜＞ＥＤＧＥ＿ＴＨ  または
｜ｄａｔｅ［ｘ，ｙ］−ｄａｔｅ［ｘ，ｙ−１］｜＞ＥＤＧＥ＿ＴＨ  または
｜ｄａｔｅ［ｘ，ｙ］−ｄａｔｅ［ｘ，ｙ＋１］｜＞ＥＤＧＥ＿ＴＨ
ならば、注目画素（ｘ，Ｙ）をエッジ画素と判定することによって実現することができる。そして、このようにして検出したエッジ画素に対して誤差拡散法的要素を強めてハーフトーン処理を行う。このようにしても、低濃度の細線の再現性に優れた印刷処理を行うことができる。
【００９３】
（Ｃ５）変形例５：
上記実施例および変形例では、エッジ画素を検出する手段として注目画素と差分調査対象画素との階調の差分値の大きさを算出することによって検出したが、それに限ることなく、例えば印刷処理の対象となるデータがベクトルデータやテキストデータである場合には、文字や線画となる画素は自明であるので、入力されたデータに対して、文字や線画の領域の画素にフラグを付ける処理をすることで、輪郭を形成する画素、即ちエッジ画素を容易に検出することができる。このようにしてエッジ画素の検出をすることで、処理をさらに高速化することができる。
【００９４】
（Ｃ６）変形例６：
上述した実施形態のハーフトーン処理においては、注目画素の階調値を各種閾値と比較して、ドットのＯＮ／ＯＦＦの判断を行う構成としたが、注目画素の階調値（注目画素データＤｎ）を、所定の変換ルールに基づいて記録率に変換し、その記録率の階調値と各種閾値とを比較する構成であってもよい。記録率とは、任意の領域内の画素にドットを記録する割合をいう。例えば、プリンター２０，２０ａが、大ドットや小ドットなど、複数のサイズのドットで画像を形成する場合には、注目画素データＤｎに基づいて、ドットサイズごとに算出された記録率の階調値と、各種閾値とを比較してもよい。
【００９５】
（Ｃ７）変形例７：
上述した実施形態においては、プリンター２０，２０ａにおいて、図２に示した印刷処理の全てを実行する構成としたが、プリンターとコンピューターとが接続された印刷システム（広義の印刷装置）において印刷処理を行う場合には、印刷処理やハーフトーン処理の全部または一部が、コンピューターとプリンターのうちのいずれで行われてもよい。
【００９６】
以上、本発明の実施形態について説明したが、本発明はこうした実施形態に限られるものではなく、本発明の要旨を脱しない範囲において、種々なる態様で実施できることは勿論である。例えば、本発明は、上述の実施形態に示したシリアル方式のインクジェット式プリンターに限らず、インクジェット式のラインプリンター、レーザー式プリンターなど、種々の方式の印刷装置に適用可能である。また、本発明は、印刷装置としての構成のほか、印刷方法、プログラム、記憶媒体等としても実現することができる。
【符号の説明】
【００９７】
２０，２０ａ…プリンター
３０…制御ユニット
４０…ＣＰＵ
４１…入力部
４２…ハーフトーン処理部
４３…領域判定処理部
４４…ディザ法処理部
４５…誤差拡散法処理部
４７…比較部
４８…誤差拡散部
４９…印刷部
５２…ＲＡＭ
６１…ディザマスク
７０…キャリッジモーター
７１…駆動ベルト
７２…プーリ
７３…摺動軸
７４…モーター
７５…プラテン
８０…キャリッジ
８２…インクカートリッジ
９０…印刷ヘッド
９８…メモリカードスロット
９９…操作パネル
Ｐ…印刷媒体
Ｄ…距離
ＴＨ＿ｔｈ…ディザ閾値
ＥＤ＿ｔｈ…誤差拡散閾値
ｄａｔａＸ…補正データ
ＥＤＧＥ＿ＴＨ…エッジ判定閾値
ＴＨｅ＿Ｈ…高位閾値
ＴＨｅ＿Ｌ…低位閾値
ｔｈ＿ａｄｄ…閾値増減パラメータ
ＥＤＴＨ…基準誤差拡散閾値
ＭＣ…メモリカード
ＯＲＧ…画像データ
Ｄｎ…注目画素データ
Ｅｎ…２値化誤差
Ｅｄｎ…拡散誤差
【図１】
0005750969.tif 000002
【図２】
0005750969.tif 000003
【図３】
0005750969.tif 000004
【図４】
0005750969.tif 000005
【図５】
0005750969.tif 000006
【図６】
0005750969.tif 000007
【図７】
0005750969.tif 000008
【図８】
0005750969.tif 000009
【図９】
0005750969.tif 000010
【図１０】
0005750969.tif 000011
【図１１】
0005750969.tif 000012