(57)【要約】【課題】濃度毎に粒状度に関して最適な処理を行いつつ、ある濃度域において発生する違和感を抑制する。【解決手段】閾値マトリクス決定手段１０４は、低濃度域において分散型のドット配置となる閾値マトリクスを選択し、高濃度域において周期的なドット配置となる閾値マトリクスを選択し、さらに、分散型のドット配置となる濃度域と周期的なドット配置となる濃度域の間で、両者の中間的なドット配置となる閾値マトリクスを選択する。【選択図】図２
2008228106.tif 000002
【特許請求の範囲】
【請求項１】
入力する画像情報の注目画素位置周辺の誤差値に所定の重みを付けて入力値に加算し、修正入力値を算出する修正入力値算出手段と、複数の閾値マトリクスから注目画素の入力値、もしくは、注目画素周辺の入力値に基づいて適用する閾値マトリクスを決定する閾値マトリクス決定手段と、前記決定した閾値マトリクスと、前記注目画素位置とに基づいて適用する閾値を決定する閾値決定手段と、前記修正入力値算出手段が算出した注目画素位置の修正入力値に対して、前記決定した閾値に基づいて出力階調値を決定する出力階調値決定手段と、前記出力階調値決定手段が決定した出力階調値と前記修正入力値との差分を前記誤差値として算出し、算出された前記誤差値を前記修正入力値算出手段に送信する誤差値算出手段とを備えた画像処理装置であって、前記複数の閾値マトリクスは、各閾値マトリクスが用いられる入力階調値において平均量子化誤差が概ね一定の値となるものであることを特徴とする画像処理装置。
【請求項２】
前記閾値マトリクス決定手段は、低濃度域において分散型のドット配置となる閾値マトリクスを選択することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記分散型のドット配置は、非周期的なドット配置であることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記閾値マトリクス決定手段は、高濃度域において周期的なドット配置となる閾値マトリクスを選択することを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記周期的なドット配置は、集中型のドット配置であることを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記閾値マトリクス決定手段は、分散型のドット配置となる濃度域と周期的なドット配置となる濃度域の間で、両者の中間的なドット配置となる閾値マトリクスを選択することを特徴とする請求項１記載の画像処理装置。
【請求項７】
前記閾値マトリクスのうち少なくとも一つは、全面で概ね同一であることを特徴とする請求項１記載の画像処理装置。
【請求項８】
前記閾値マトリクスの内、周期的なドット配置を実現するための閾値マトリクスは一つで、残りは分散型のドット配置を実現するための閾値マトリクスであることを特徴とする請求項１記載の画像処理装置。
【請求項９】
前記閾値マトリクスの内、周期的なドット配置を実現するための閾値マトリクスは一つで、残りは分散型のドット配置を実現するための閾値マトリクスと、両者の中間的なドット配置を実現するための閾値マトリクスであることを特徴とする請求項１記載の画像処理装置。
【請求項１０】
前記出力階調値決定手段は、所定サイズに満たないドットに対応する出力値を孤立して出現させないことを特徴とする請求項１記載の画像処理装置。
【請求項１１】
前記閾値マトリクスのサイズは少なくとも一方向に関して同一であることを特徴とする請求項１記載の画像処理装置。
【請求項１２】
前記平均量子化誤差は概ね０であることを特徴とする請求項１記載の画像処理装置。
【請求項１３】
入力する画像情報の注目画素位置周辺の誤差値に所定の重みを付けて入力値に加算し、修正入力値を算出する修正入力値算出工程と、複数の閾値マトリクスから注目画素の入力値、もしくは、注目画素周辺の入力値に基づいて適用する閾値マトリクスを決定する閾値マトリクス決定工程と、前記決定した閾値マトリクスと、前記注目画素位置とに基づいて適用する閾値を決定する閾値決定工程と、前記修正入力値算出工程が算出した注目画素位置の修正入力値に対して、前記決定した閾値に基づいて出力階調値を決定する出力階調値決定工程と、前記出力階調値決定工程が決定した出力階調値と前記修正入力値との差分を前記誤差値として算出し、算出された前記誤差値を前記修正入力値算出工程に送信する誤差値算出工程とを備えた画像処理方法であって、前記複数の閾値マトリクスは、各閾値マトリクスが用いられる入力階調値において平均量子化誤差が概ね一定の値となるものであることを特徴とする画像処理方法。
【請求項１４】
請求項１３記載の画像処理方法をコンピュータに実現させるためのプログラム。
【請求項１５】
請求項１３記載の画像処理方法をコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１６】
請求項１乃至１２のいずれか１項に記載の画像処理装置を具備したことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、濃度に応じた最適な中間調処理を行う画像処理装置、画像処理方法、プログラム、記録媒体および画像形成装置に関し、例えば、電子写真方式を用いたプリンタやコピー機に好適な技術に関する。
【背景技術】
【０００２】
多値の入力画像を、少値もしくは二値での出力能力のみを持つ装置で出力する場合や、データ量を削減する目的とする場合には、入力画像の多値数より少ない値の出力画像に変換する中間調処理技術が用いられ、様々な手法が存在している。その中でも代表的な中間調処理技術として、ディザ法と誤差拡散法がある。
【０００３】
ディザ法は所定の閾値マトリクスと入力画像データとを比較し、各画素で閾値を超えていればドット出力するという手法である。この手法を用いると周期的なドット配置を容易に実現でき、一様な画像を粒状性良く出力することが可能である。しかし、ドットの出力しやすい領域が閾値マトリクスのパターンに依存するため、文字等の形が崩れることがあり、鮮鋭性には劣る。更に低濃度部でディザ法のような周期的な処理を行う際、出力可能なドットの大きさ（若しくは濃度）が小さくないと、ドットパターンの現れる周期が長くなってしまう。人間の視覚は低周波のパターン、つまり周期の長いパターンを認識し易く、逆に高周波のパターンを認識し難い仕組みとなっているため、ドットパターンの現れる周期が低周波となると、ドットパターンが目立つことになり画質が劣化する。そのため低濃度部を処理するには周期的な処理は不適であるといえる。
【０００４】
誤差拡散法は、入力画素データの各階調値が所定の閾値を超えていればドットを出力し、超えていなければ、該階調値を誤差として周囲に分散させる処理である。誤差拡散法を用いると階調値が保存され、ディザ法に比べると色の再現性に若干優れる。また、閾値マトリクスを用いないため、ドットの出力しやすさが一様で文字の形は崩れ難く鮮鋭性に優れる。一方、誤差拡散法のような処理を行うと、出力されるドット配置は非周期的であるため、領域によってはドットの偏りが生じ、粒状性が損なわれることになる。
【０００５】
そこで、粒状性に優れたディザ法と、鮮鋭性に優れた誤差拡散法を組み合わせた技術が考案されている。以下、この組み合わせた技術を、誤差補償型中間調処理と呼ぶことにする。この誤差補償型中間調処理では、多値の入力画像を誤差拡散法による量子化処理によって量子化する。一方、その量子化閾値はディザ処理における閾値と同様、画素位置に応じた値を用いるものである。
【０００６】
この誤差補償型中間調処理と誤差拡散処理とを、画像の特徴に応じて切り替えることで両手法の利点を生かした中間調処理結果を得る技術として、特許文献１がある。該手法では低濃度領域では誤差拡散のような非周期的な処理を行い、一方、中高濃度領域では、ディザのような周期的な処理を行う。前述したとおり、周期性が画質劣化の原因となる低濃度部では非周期的な処理を行うことで、ドット配置のパターンが目立つという現象を抑制することができ、一方、高濃度部では周期的な処理を行うことによって、非周期的な処理に比べて粒状度の高い画像を得ることができる。
【０００７】
【特許文献１】特開２００１−３４６０４１号公報
【特許文献２】特開平１１−３３１５８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、低濃度部と高濃度部とで両者を切り替えることによって、その境界では違和感が生ずる。これを示した図が図１７（ａ）である。図１７（ａ）は濃度値が近いパッチ画像をそれぞれ誤差拡散法とディザ法によって処理したものである。なお、図１７（ｂ）は全面誤差拡散処理、図１７（ｃ）は全面ディザ処理を行ったものであり、明らかに、後者二つに比べて前者では切り替わり部で違和感が生ずることがわかる。
【０００９】
本発明は上記問題点に鑑みてなされたものであり、
本発明の目的は、濃度毎に粒状度に関して最適な処理を行いつつ、ある濃度域において発生する違和感を抑制する画像処理装置、画像処理方法、プログラム、記録媒体および画像形成装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、入力する画像情報の注目画素位置周辺の誤差値に所定の重みを付けて入力値に加算し、修正入力値を算出する修正入力値算出手段と、複数の閾値マトリクスから注目画素の入力値、もしくは、注目画素周辺の入力値に基づいて適用する閾値マトリクスを決定する閾値マトリクス決定手段と、前記決定した閾値マトリクスと、前記注目画素位置とに基づいて適用する閾値を決定する閾値決定手段と、前記修正入力値算出手段が算出した注目画素位置の修正入力値に対して、前記決定した閾値に基づいて出力階調値を決定する出力階調値決定手段と、前記出力階調値決定手段が決定した出力階調値と前記修正入力値との差分を前記誤差値として算出し、算出された前記誤差値を前記修正入力値算出手段に送信する誤差値算出手段と、を備えた画像処理装置であって、前記複数の閾値マトリクスは各閾値マトリクスが用いられる入力階調値において平均量子化誤差が概ね一定の値となるものであることを最も主要な特徴とする。
【発明の効果】
【００１１】
請求項１：本発明の手法により、濃度毎に粒状度に関して最適な処理を行いつつ、ある濃度域に於いて発生する違和感を抑制できるため画質が向上する。更に閾値マトリクスを複数持ち、それらを切り替えることで、濃度に応じた最適な中間調処理を達成できるので、回路構成が簡素になるためコストが抑制される。
【００１２】
請求項２、３：低濃度部で分散型のドット配置になるよう処理を行うことで、処理後の画像の粒状性が向上し、画質が向上する。
【００１３】
請求項４、５：高濃度部で周期的なドット配置になるよう処理を行うことで、処理後の画像の粒状性と鮮鋭性を両立させることができ、画質が向上する。また、周期的且つドット集中型の閾値マトリクスが一意に決まる。
【００１４】
請求項６：中間濃度領域で分散型なドット配置と周期的なドット配置を混在させることで、両者の切り替わりにより生ずる違和感を抑制することができ、画質が向上する。
【００１５】
請求項７：閾値マトリクスの一部を全面で概ね同一とすることで、閾値マトリクスを保持するメモリ量を削減でき、製造コストの低減が可能となる。
【００１６】
請求項８、９：周期的且つ、平均量子化誤差が概ね０である閾値マトリクスが一意に定まるため、周期的な閾値マトリクスを一つにすることで最適な閾値マトリクスを選択でき、画質の向上に繋がる。
【００１７】
請求項１０：所定サイズ以下の孤立ドットの発生を抑制することにより、ドットを安定して出力することが可能となり、画質が向上する。
【００１８】
請求項１１：閾値マトリクスの大きさを全面一定にすることで、閾値マトリクスの選択を単純にできる。
【００１９】
請求項１２：平均量子化誤差を概ね０にすると、入力階調値が最低、若しくは最高値であった場合にも、全階調で概ね一定の平均量子化誤差を達成でき、平均量子化誤差の変化によるデフェクトが発生しないため画質の向上に繋がる。
【発明を実施するための最良の形態】
【００２０】
以下、発明の実施の形態について図面により詳細に説明する。実施例では、入力画像を８ｂｉｔ、つまり２５６階調として、また、階調値２５５を黒、階調値０を白として説明する。
【００２１】
本発明を電子写真方式のプリンタに適用した例を挙げて説明する。図１は、一般的なレーザプリンタを示す。ＰＣのアプリケーションにより作成した画像は、ドライバによってビットマップデータ（以下画像データ）に変換される。更に画像データはプリンタが出力できるように中間調処理を施される。中間調処理後の画像データはさらに、以下の所定処理が施される。レーザプリンタ内部では以下のようにして画像が作成される。まず、光源１はシアンの画像データに応じて光を発する。感光体２では光電効果により静電気が生ずる。静電気を帯びた感光体２に対し、リボルバー８を回してシアンの現像ユニット３から電荷を帯びたトナーを供給し像を作る。同様にＭＹＫの像を作ることにより、感光体２上にはＣＭＹＫの像が作られる。最後に感光体２に搬送ベルト７によって搬送されてくる静電気を帯びた紙を密着させることにより紙の上に像が作成され、定着することにより出力画像が得られる。
【００２２】
以下、本実施例の中間調処理について説明する。図２は、本発明の中間調処理の構成を示す。画像入力手段１０１は、例えばカラー複写機などにおいて、スキャナで読みとった画像データを、濃度補正処理、周波数補正処理を行い、ＣＭＹＫ各版毎の画像に変換した画像を入力して、入力階調値を画素毎に順次後段の処理に送る。閾値マトリクス決定手段１０４は、画像入力手段１０１の出力に応じて、当該画素に最適な閾値マトリクスを決定する。閾値決定手段１０５は、閾値マトリクス決定手段１０４の出力および画像入力手段１０１の出力に応じて閾値を決定する。一方、画像入力手段１０１の出力は修正入力値算出手段１０２へと送られる。ここで後述する量子化誤差との重み付け和が採られ、出力階調値決定手段１０６へと送られる。出力階調値決定手段１０６は前記閾値決定手段１０５の出力した閾値と、修正入力値算出手段１０２の出力した修正入力値との大小関係を比較し、出力階調値を決定する。さらに誤差値算出手段１０３では、前記修正入力値から、出力階調値決定手段１０６の出力である出力階調値を減じた値を量子化誤差として修正入力値算出手段１０２へと送る。
【００２３】
図３（ａ）は、修正入力値算出手段１０２の構成を示す。修正入力値算出手段１０２は、画像入力手段１０１からの出力に対し、加算器２０４で補正値を加算して出力する。補正値は以下のようにして算出される。誤差値算出手段１０３より得られた信号を、誤差の位置情報とともに保持している誤差バッファ２０１から誤差を読み出し、記憶手段２０２に保持される所定の誤差マトリクス（実施例では図３（ｂ）の誤差マトリクスを用いるものとする）の対応する値との積を誤差マトリクス全てに対して算出し、その和を以って補正値とする。なお、図３（ｂ）において×印で示した位置が注目画素を意味する。例えば、注目画素の１ライン真上の画素の量子化誤差値が３２であった場合、誤差マトリクス中のその画素に対応する値は４／３２であるから、その画素から注目画素に関与する量子化誤差は両者の積である４となる。このようにして、１つの注目画素に対して２ライン上の７画素、１ライン上の７画素、同一ラインの３画素の計１７画素における量子化誤差を誤差バッファ２０１から読み出し、誤差マトリクスと積和演算を行うことで注目画素に関与する誤差和を算出して補正値とする。なお、図３（ｂ）の誤差マトリクスは全ての要素を加算したとき１となるように設計している。これは、発生した量子化誤差を過不足なく周囲の画素で用いるためである。
【００２４】
ここで用いた誤差マトリクスは図３（ｂ）であるが、図３（ｃ）に示すような誤差マトリクスを利用しても良い。図３（ｃ）の誤差マトリクスは図３（ｂ）のマトリクス中の各値を３２倍したものである。例えば、注目画素の１ライン真上の画素において量子化誤差が３２であった場合、誤差マトリクス中のその画素に対応する値は４であるから、その画素から注目画素に関与する量子化誤差は両者の積である１２８とする。このようにして、１つの注目画素に対して２ライン上の７画素、１ライン上の７画素、同一ラインの３画素の計１７画素における量子化誤差を誤差バッファ２０１から読み出し、誤差マトリクスと演算を行うことで注目画素に関与する誤差和を算出する。その後、前記誤差和を３２で除する。このような方法をとることにより、高速なシフト演算や整数演算で注目画素に関与する誤差和を算出することが可能となり、低コストに回路を構成できる。
【００２５】
閾値マトリクス決定手段１０４は、注目画素の階調値に応じて閾値マトリクスを切り替える。図４は、閾値マトリクス決定手段１０４の構成を示す。閾値マトリクス１〜５はそれぞれ記憶手段に保存されており、セレクタ３０１において、画像入力手段１０１からの出力、即ち、当該画素の階調値に応じて最適な閾値マトリクスを選択する。この切り替えは、図５（ａ）に示すように、入力階調値に応じて行う。また、それぞれの閾値マトリクスは図５（ｂ）に示すように設定されているものとする。ここで説明した各閾値マトリクスを切り替えることによる効果は後に詳述する。
【００２６】
閾値決定手段１０５では以下のようにして閾値を決定する。まず、注目画素に対応する閾値マトリクス上の位置を算出する。即ち、出力画像に閾値マトリクスをタイル状に繰り返し敷き詰めたとき、注目画素が閾値マトリクス中のどの位置に相当するかにより決定する。ここで、本実施例では、閾値マトリクスのサイズを入力データの条件に依存せず、常に一定にしておくものとする。具体的な閾値マトリクス上での位置算出方法は以下の通りである。閾値マトリクスのサイズが横ｗ画素、縦ｈ画素である場合、出力画像座標で横Ｘ、縦Ｙの注目画素に対しては、閾値マトリクス座標で横軸（Ｘ  ｍｏｄ  ｗ）、縦軸（Ｙ  ｍｏｄ  ｈ）に示す位置の閾値を用いる。ここで、ｍｏｄは剰余演算子であり、（Ｘ  ｍｏｄ  ｗ）はＸをｗで割った時の余りを示す。例えば本実施例での閾値マトリクスはｗ＝ｈ＝４であるため、出力画像座標で（Ｘ、Ｙ）＝（９、６）の画素に対しては、閾値マトリクス座標で（ｘ、ｙ）＝（１、２）の位置の閾値を用いることとなる。この場合、出力階調値８５、１７０、２５５に相当するドットを出すか否かを決定するための閾値（Ａ）、閾値（Ｂ）、閾値（Ｃ）は、例えば閾値マトリクス５における、それぞれ閾値マトリクス（Ａ）、閾値マトリクス（Ｂ）、閾値マトリクス（Ｃ）の当該位置の値から、１７６、１９２、２０７となる。このように閾値マトリクスのサイズを常に一定にしておくことで、前記閾値マトリクス上での位置を算出するために必要な計算が単純化し、コスト削減に繋がる。
【００２７】
出力階調値決定手段１０６では、図６に示す処理フローに従い、閾値決定手段１０５で決定した閾値と、修正入力値算出手段１０２から出力された修正入力値との大小関係を比較して、出力階調値を決定する。以下、図６を用いて、出力階調値決定手段１０６が出力階調値を決定する方法について以下に示す。
【００２８】
修正入力値算出手段１０２から出力された修正入力値と、閾値決定手段１０５で決定された閾値Ｃとの大小関係を比較する（ステップＳ１）。修正入力値の方が閾値（Ｃ）より大きければ２５５を出力階調値とする（ステップＳ２）。修正入力値の方が閾値（Ｃ）より大きくない場合は、修正入力値と、閾値決定手段１０５で決定された閾値Ｂとの大小関係を比較する（ステップＳ３）。修正入力値の方が閾値（Ｂ）より大きければ１７０を出力階調値とする。（ステップＳ４）。修正入力値の方が閾値（Ｂ）より大きくない場合は、修正入力値と、閾値決定手段１０５で決定された閾値Ａとの大小関係を比較する（ステップＳ５）。修正入力値の方が閾値（Ａ）より大きければ８５を出力階調値とする（ステップＳ６）。修正入力値の方が閾値（Ａ）より大きくない場合は、０を出力階調値とする（ステップＳ７）。
【００２９】
各閾値マトリクスについて詳述する。図５（ｂ）の閾値マトリクス５は、図３（ｂ）の誤差拡散マトリクスを用いた場合に、図３（ｄ）に示す順序で網点が成長し、孤立した階調値１７０未満のドットが出ないよう、かつ、平均量子化誤差が０に近くなるよう設計したものである。孤立したドットとは、そのドットの上下左右に階調値０以外のドットが隣接しないドットのことを意味する。ただし、その画素の階調値が０である場合は孤立したドットとは呼ばない。一般に電子写真方式のプリンタでは孤立した低濃度のドットは濃度を安定して再現することが難しい。そのため、本実施例では孤立した階調値１７０未満の孤立したドットの出現を抑制することで安定した濃度再現を狙っている。
【００３０】
次に、平均量子化誤差について詳述する。平均量子化誤差とは、各画素位置で発生している量子化誤差、すなわち修正入力値から出力階調値を減じた値を平均した値のことである。本実施例ではこの平均量子化誤差が概ね一定になるように、閾値マトリクスを設計している。概ね一定にする理由に関して、図７を用いて説明する。図７の実線は平均量子化誤差を示している。図７のように、階調値が殆ど変わらないにもかかわらず平均量子化誤差が大きく異なる二領域、領域Ａおよび領域Ｂが存在していたとする。領域Ａでは平均量子化誤差が小さいため、領域Ｂに処理が移っても、なかなか所定の誤差に達せず、その結果、領域Ｂにおいて、白抜けが生じる。更にドットの密になる領域も発生するため、粒状性が悪化する。逆に平均量子化誤差が高いところから低いところへ処理が移ると、移った直後の領域でドットが集中的に発生してしまう。このように、領域毎で平均量子化誤差に極端な差が存在すると、ドットの粗密が発生し粒状性が悪化するため、平均量子化誤差は概ね一定であることが望ましい。
【００３１】
更に、本実施例では平均量子化誤差が概ね０になるように設計されている。これは、領域の入力階調値が０若しくは２５５である場合、その領域での平均量子化誤差は０になってしまうので、その他の入力階調値に対しても、平均量子化誤差が概ね０であることが望ましいからである。尚、このような閾値マトリクスを設計するために、以下の方法（特願２００４−２９５１８９号）を用いた。
【００３２】
最初、画像形成装置に出力させたい出力ドットパターンの定常状態における各画素位置での修正入力値を算出する。ここで定常状態とは、一定の入力階調値であるベタ画像を中間調処理した結果、安定して同じパターンが繰り返し発生している状態を指す。定常状態における各画素位置での修正入力値から、与えた出力ドットパターンとなる閾値の範囲を求める。この手順を種々の出力ドットパターンに対して行い、それぞれのパターンで求めた閾値の範囲を絞り込む。
【００３３】
図８は、閾値マトリクスの設計手順を説明するフローチャートである。まず、画像形成装置に出力させたい出力ドットパターンを複数、あるいは多数準備する。ここで出力ドットパターンをＮ個準備したと仮定する。最初に、Ｎ個の出力ドットパターンの中から１つの出力ドットパターンを選択して（ステップＳ１１）、選択された出力ドットパターンで定常状態をなしている時の各画素位置での修正入力値を算出する（ステップＳ１２）。算出した修正入力値から、与えたドットパターンとなるための閾値の範囲を求める（ステップＳ１３）。出力ドットパターンＮ個の全てについて、ステップＳ１１〜１３を終了したか否かを判定し（ステップＳ１４）、終了していない場合（ステップＳ１４のＮｏ）はステップＳ１１に戻り、終了した場合（ステップＳ１４のＹｅｓ）は終了する。ここで、各出力ドットパターンに対して求めた閾値の範囲を基にして、最終的な閾値の範囲を絞り込んで閾値を決定する。これらのステップについて、さらに詳細に説明する。
【００３４】
図９は、出力ドットパターンの組の一例を示す。図９に示された各出力ドットパターン１１０１〜１１２５を用いて、定常状態での各画素位置における修正入力値の算出方法を説明する。図９における各マトリクスのｘ方向を主走査方向、ｙ方向を副走査方向とする。すなわち、各マトリクスの左から右方向へレーザを走査して画像処理するものである。
【００３５】
図９の各出力ドットパターンは、各画素の出力階調値が０、８５、１７０、２５５のいずれかである４値出力のドットパターンを示している。例えば、図９の１１番目の出力ドットパターン１１１１は、出力画像データの値の平均値が、（０×８＋８５×２＋２５５×６）÷１６＝１０６．２５であることから、階調値が１０６．２５の大きなベタ画像を入力した場合、定常状態では出力ドットパターン１１１１で示す出力ドットパターンの繰り返しが出現することになる。ここで、上記平均値の算出は、マトリクス中の０の値が８つ、８５の値が２つ、２５５の値が６つあり、その各値を加算した値に対してマトリクス数である１６で除算したものが平均値である。
【００３６】
図１０（ａ）は、出力ドットパターンにおける画素位置の表記方法を説明する図である。出力ドットパターンにおける画素位置（ｘ、ｙ）＝（０、０）はｐ０、画素位置（ｘ、ｙ）＝（１、０）はｐ１などと表す。ここで、ｐ０の出力階調値をｂ０、ｐ０で発生する誤差値をｅ０、ｐ０での修正入力値をｆ０、入力階調値をｄと表すと、（式１）が成り立つ。
【００３７】
【数１】
2008228106.tif 000003
【００３８】
図１０（ｂ）は、出力ドットパターンを並べた図である。式１の意味は、例えばｐ０での修正入力値ｆ０は、入力階調値と、図１０（ｂ）中で網掛けをした画素位置からの誤差値に重み付けした値とを、加算して求めることから、
ｆ０＝ｄ＋１／３２×（０・ｅ３＋１・ｅ０＋１・ｅ１＋２・ｅ２＋１・ｅ３＋１・ｅ０＋０・ｅ１＋１・ｅ７＋１・ｅ４＋２・ｅ５＋４・ｅ６＋２・ｅ７＋１・ｅ４＋１・ｅ５＋２・ｅ１＋４・ｅ２＋８・ｅ３）＝ｄ＋１／３２×（２・ｅ０＋３・ｅ１＋６・ｅ２＋９・ｅ３＋２・ｅ４＋３・ｅ５＋４・ｅ６＋３・ｅ７）で表される。これは（式１）の第１行において確かめることができる。
【００３９】
また、ｐ０での誤差値ｅ０は、修正入力値と出力階調値との差分であるから、ｆｎ−ｂｎ＝ｅｎ（式２）よりｆｎ＝ｅｎ＋ｂｎ（ただし、０≦ｎ≦７）の式が成り立ち、式１に代入することで（式３）が導かれる。
【００４０】
【数２】
2008228106.tif 000004
（式３）からは、誤差値ｅｎや修正入力値ｆｎにはそれぞれ無数の解が存在するので、一意に求めることができない。一意の解を得るためには、条件式を加える必要があるが、グラデーション画像に対する階調段差抑制を図るため、誤差の平均値を条件として与える。
【００４１】
ここでは誤差の平均値を０として与える。これは、誤差値の総和を０とした式４を、式３の中の行の一つと置き換えることと同等である。
０＝ｅ０＋ｅ１＋ｅ２＋ｅ３＋ｅ４＋ｅ５＋ｅ６＋ｅ７  （式４）
最上位の行を置き換えた例を、式５に示す。
【００４２】
【数３】
2008228106.tif 000005
ここで、ｄ、ｂｎは定常状態の出力ドットパターンを与えることから、いずれも既知の定数となっているので、誤差値ｅｎが求まる。上記の場合は、最上位の行を置き換えたが、この理由は上述した無数の解が存在することから一意に求めるには、さらなる条件を加える必要があるからである。式３の中にある８つの行のうち、１つの行は意味をなしていない式であり、つまり、他の７行の式から求まる式であるからである。
【００４３】
図１１は、図９の出力ドットパターンの組に対応する修正入力値の組を説明する図である。修正入力値１７０１〜１７２５は、誤差値ｅｎをもとに式１、もしくは式２から算出される。例えば、図９の出力ドットパターン１１１１を与えた場合は、図１１の１７１１で示す修正入力値となる。
【００４４】
ここで、図９で与えた出力ドットパターンを得るためには、例えば、ｐ０においては、図１１の１７０１から１７１０に示す修正入力値に対しては出力階調値０、１７１１で示す修正入力値に対しては出力階調値８５、１７１２で示す修正入力値に対しては出力階調値１７０、１７１３から１７２５で示す修正入力値に対しては出力階調値２５５を発生させる閾値である必要がある。そこで、ｐ０で出力階調値８５を出すか否かを決定する閾値Ａは、１７０１から１７１０の修正入力値の最大値１２１．２以上で、１７１１から１７２５の修正入力値の最小値１３６．５より小さい必要がある。よって、１２１．２以上で、１３６．５より小さい数値のうち両者の中央値で小数点以下を切り捨てた値１２９を、ｐ０における閾値Ａとする。
【００４５】
同様に、出力階調値１７０を出すか否かを決定する閾値Ｂは、１７０１から１７１１の修正入力値の最大値１３６．５以上で、１７１２から１７２５の修正入力値の最小値１５１．８より小さい必要があることから１４４とする。同様に、出力階調値２５５を出すか否かを決定する閾値Ｃは、１７０１から１７１２の修正入力値の最大値１５１．８以上で、１７１３から１７２５の修正入力値の最小値１６７．０より小さい必要があることから、１５１．８と１６７．０の中央値で小数点以下を切り捨てた値の１５９とする。このようにして閾値Ａ〜Ｃが求まる。
【００４６】
上記方法から明らかであるが、ここで得られる最適な閾値マトリクスは一意に決定されるものである。ここで、図５（ｂ）の閾値マトリクス５における、閾値マトリクス（Ａ）、閾値マトリクス（Ｂ）、閾値マトリクス（Ｃ）はそれぞれ、出力階調値８５に相当するドット、１７０に相当するドット、２５５に相当するドットを出すか否かを決定する閾値を要素とするマトリクスであり、６００ｄｐｉの出力解像度において約２１２線、４５度の網点スクリーンを表現する４値出力用の閾値マトリクスである。すなわち、４種類の出力階調値、０と８５と１７０と２５５との中から出力階調値を決定する。図５（ｂ）の閾値マトリクス５を用いた場合は、低い階調値の入力画像、例えば階調値１８のみで構成された入力画像に対しては、おおむね（ｘ、ｙ）＝（１、１）、（３、３）に対応する画素位置でのみ階調値０もしくは１７０が出力され、その他の画素位置では階調値０のみが出力される。
【００４７】
ここでドットが分散して出やすいか、特定の位置に出やすいかを示す指標として自由度について述べる。閾値マトリクス内の画素数（本実施例では１６）に対し、出力階調値が複数の値から選択される画素の数の割合を以て自由度と呼ぶ。閾値マトリクス５の場合、おおむね１６画素あたり２画素で出力階調値が複数の値から選択され、他の１４画素では特定の値、ここでは０で固定されていることから、閾値マトリクス５の自由度は２／１６であると表現する。
【００４８】
次に、閾値マトリクス４について説明する。閾値マトリクス５と同様に、図５（ｂ）の閾値マトリクス４における閾値マトリクス（Ａ）、閾値マトリクス（Ｂ）、閾値マトリクス（Ｃ）はそれぞれ、出力階調値８５に相当するドット、１７０に相当するドット、２５５に相当するドットを出すか否かを決定する閾値である。比較的階調値の低い入力画像に対して閾値マトリクス４を用いることで、出力画像はおおむね出力階調値０、１７０のいずれかで表現される。また、おおむね（ｘ、ｙ）＝（１、０）、（０、１）、（１、１）、（３、２）、（２、３）、（３、３）に対応する画素位置では出力階調値は０もしくは１７０、それ以外の画素位置では出力階調値は０のみが出現する。すなわち、階調値が低い画像が入力された時に、閾値マトリクス４に基づく閾値を用いた場合に階調値１７０のドットが出る画素位置及びその周辺の画素位置で階調値１７０のドットが出ることとなる。おおむね１６画素あたり６画素で出力階調値が複数の値から選択されるから、閾値マトリクス４の自由度は６／１６と表現できる。
【００４９】
以上のように、閾値マトリクス５は自由度が非常に低いため、所定のスクリーンを作りやすい。一方、閾値マトリクス１〜３は自由度が非常に高いため（自由度１６／１６）ドットの分散性が高い。自由度が６／１６になるような閾値マトリクス４を間に挟むことによって、スクリーンを作りやすい濃度域とドット分散性が高い濃度域とを滑らかに繋ぐことが可能になり、本発明の目的で述べたように、両者の境界によって生ずる違和感を軽減することができ、画質が向上する。
【００５０】
ここで、閾値マトリクス４を用いた場合と、閾値マトリクス５を用いた場合とを比較すると、閾値マトリクス４を用いた場合の方が、出力画像の階調値分布の自由度が高まり、階調値１７０のドットが分散して配置されやすい。なお、閾値マトリクス４を用いた場合、出力階調値が２５５となる可能性はある。しかし、そうなるためには、修正入力値算出手段１０２により算出される修正入力値、即ち拡散された誤差と当該画素値との和が２５５を超える必要があり、その確率は低い。注目画素の入力階調値が低い場合は、その確率は低い。また、閾値マトリクス４に基づく閾値を用いる場合、図６の処理フローから明らかなように、孤立した階調値１７０未満のドットは出現しない。
【００５１】
図６の処理フローで明らかにしたように、階調値が２５５になる閾値マトリクス（Ｃ）、１７０になる閾値マトリクス（Ｂ）、及び８５になる閾値マトリクス（Ａ）という順番で補正入力値と閾値マトリクスの各閾値とを比較するが、（Ａ）と（Ｂ）の閾値マトリクスの各値が全く同じため、階調値１７０が出力されない画素では、階調値８５が出力されることもない。つまり孤立した階調値１７０未満のドットは出現しない。
【００５２】
閾値マトリクス４は、閾値マトリクス５に基づく閾値を用いる領域との切り替え部での歪みを抑制したい場合は入力階調値２２辺り、閾値マトリクス３に基づく閾値を用いる領域との切り替え部での歪みを抑制したい場合は入力階調値１８辺りの階調値のみで構成される入力画像に対して平均量子化誤差が０に近くなるよう設計することが、平均量子化誤差を処理同士で大きく変化させないために好ましい。つまり、平均量子化誤差が大きく変化することで、その境界部に画質劣化すなわち歪みが生じるためである。
【００５３】
その理由は以下の通りである。ディザ閾値誤差拡散処理と誤差拡散処理とを、画像の特徴に応じて切り替えることで両手法の利点を生かしたハーフトーン処理結果を得る技術として、画像データがディザ法に適する画像近傍では閾値をディザマトリクスに類似する形で変動させることにより拡散誤差マトリクスのマトリクスサイズを小さくしマトリクスの要素を小さくし、その一方で、画像データが誤差拡散法に適する画像近傍では閾値を一定値になるように設定することにより拡散誤差マトリクスのマトリクスサイズを大きくしてマトリクスの要素を大きくする画像処理装置が提案されている（例えば特許文献２を参照）。この画像処理装置では、画像データがディザ法に適する画像近傍では閾値をディザマトリクスに類似する形で変動させて、拡散誤差マトリクスのマトリクスサイズを小さくし、マトリクスの要素を小さくすることで、ディザ法に近いハーフトーン処理を行っているが、ディザ法に適する領域と、誤差拡散法に適する領域との境界部で中間調処理を施す場合、境界部を境として処理方式を異ならせることによって、白抜けなどの画質劣化が生じる。この画質劣化は、後述するように平均量子化誤差が一定でないために生じるものである。
【００５４】
図１２（ａ）は、従来のディザ閾値誤差拡散処理方式による画像状態を検査するために入力する原稿画像である。図１２（ｂ）〜（ｄ）は、図１２（ａ）に示された原稿画像を読み取って従来のディザ閾値誤差拡散処理方式により処理された文字領域の画像を示す図である。ここでは、画像中の文字領域内部においては閾値をディザマトリクスに類似する形で変動させ、かつ文字領域の境界部では閾値を一定にして２値化処理を施した。
【００５５】
図１２（ａ）は、入力する原稿画像であり、背景は階調値０であり、文字の階調値は画像１が６３、画像２が１２７、画像３が１９２である。階調値は０以上２５５以下の整数値をとり、値が大きいほど濃度が高い。使用したディザマトリクスは、平均量子化誤差が０となるよう設計したものである。
【００５６】
図１２（ｂ）、（ｃ）、（ｄ）は、文字領域の境界部で閾値をそれぞれ８１、１２７、１７３として画像を処理した結果の画像を示している。後述するが、入力階調値が６３の時は閾値８１、入力階調値が１２７の時は閾値１２７、入力階調値が１９２の時は閾値１７３とすることで、平均量子化誤差は略０となる。
【００５７】
ここで、画像の全領域で平均量子化誤差が略一定値０となっている図１２（ｂ）の画像１、図１２（ｃ）の画像２、および図１２（ｄ）の画像３では、白抜けやぼけが表れていない、ノイズのほとんど発生しない画像となっている。
【００５８】
これらと比較して、文字の縁の部分で平均量子化誤差が略０となっていない場合、以下のような画質劣化が発生する。すなわち、図１２（ｂ）の画像２、３、図１２（ｃ）の画像３、に示すように文字の内側で白抜けが発生する。また、図１２（ｃ）の画像１、および図１２（ｄ）の画像１、２のように、文字に近い背景部でドットが打たれて文字がぼけるといった現象が発生する。
【００５９】
次に、閾値マトリクス１〜３について詳述する。図５（ｂ）から明らかなように、閾値マトリクス１〜３は閾値（Ａ）と閾値（Ｂ）が同じ値となっている。そのため、出力階調値が８５となることはなく、出力階調値は１７０若しくは２５５が選択され、小さなドットが孤立して出力することはあり得ない。また、閾値（Ｃ）は一律２５５となっており、閾値マトリクス１〜３は注目画素が比較的低濃度の場合に選択されるため、修正入力値、即ち拡散された誤差と当該画素値との和が２５５を２５５を超える可能性が低いため、実際に２５５が出力される可能性は低い。また、各閾値マトリクスは一様であるため実質的に出力階調値が１７０である誤差拡散処理であるといえ、その出力ドット配置は非周期的な分散型になる。このように概ね一様の閾値マトリクスを用いると、閾値マトリクスとして保持するメモリ量を大幅に圧縮できるため、分散型のドット配置を発生させるという目的は達成しつつ、それに必要なメモリ量は最低限で済み、コスト削減に繋がる。
【００６０】
また、閾値マトリクス１〜３の閾値（Ａ）（Ｂ）の値は、図１３に基づいて決定する。後述するが、図１３は平均量子化誤差が概ね０になるような閾値マトリクスを提示するため、図１３を参考にした閾値マトリクスを用いると、前述した平均量子化誤差に関するデフェクトは発生しない。また、実施例では、図１３に基づいて閾値マトリクスを３種類用意したが、より多くの閾値マトリクスを用意した方がより平均量子化誤差が０に近づき好適な結果が得られる。更に、閾値マトリクス１〜３に基づく閾値に対してブルーノイズなどを付加する構成であっても良い。
【００６１】
ところで、閾値マトリクス５に基づく閾値を用いる処理では、入力階調値が高い画像に対して所望の線数を持つ網点スクリーンを形成できるため粒状性に優れているが、入力階調値が低い画像では所望の線数を形成するために必要なドット数に足らずに粒状性が悪くなる。これは、後者は低周波成分を多く含む画像となり人間の目ではざらつきと映るためと考える。
【００６２】
さて、孤立した最小ドットが階調値１７０以上であり、６００ｄｐｉの出力解像度において約２１２線、４５度である網点スクリーンは、図１４に示すとおり、１６画素あたり２画素の階調値１７０、１４画素の階調値０のドットで埋めつくされたものであり、このときの平均階調値は式６より２１．２５である。
｛１７０×２＋０×１４｝÷１６＝２１．２５（式６）
すなわち、平均階調値が２１．２５未満である入力画像に対してはこのスクリーンを作ることはできない。このような入力画像に対しては、ドットが均等に分散する処理を用いる方が結果としてざらつきが少なくなり粒状性が良いことが多い。
【００６３】
そこで、入力階調値が高い領域に対しては閾値マトリクス５に基づく閾値を用いて処理を行い、入力階調値が低い領域に対してはドットが分散する、例えば、閾値マトリクス１〜３に基づく閾値を用いて処理を行うことで、さまざまな入力階調値に対して粒状性に優れた画像を得られる。そして、両者の間の階調値である領域に対しては、中程度にドットが分散する閾値マトリクス４に基づく閾値を用いて処理を行う。ドットの分散が大きく異なる処理を切り替えた場合は、なだらかな階調変化を持つグラデーション画像などに対して処理切り替え部に歪みが発生しやすいが、中程度にドットが分散する閾値を間に用いることで、この歪みを低減することができる。
【００６４】
さらに、閾値マトリクス４に基づく閾値を用いる場合は、閾値マトリクス５に基づく閾値を用いた場合に、階調値１７０のドットが出る画素位置及びその周辺の画素位置でのみ階調値１７０のドットが出ることとなり、両者の間での処理切り替え部での歪みを低減することができる。どの入力階調値に対してどの閾値を用いるかは、それぞれの閾値で画像を出力して、ざらつきが少なく、処理切り替え部の歪みが目立たないよう決定する。また同時に、処理切り替え部の歪みが目立たないよう閾値マトリクス４を決定する。
【００６５】
次に、図１５を用いて、閾値マトリクス１〜３の設計方法について説明する。まず、入力階調値ｄに対して閾値を求めるために、十分大きな入力階調値ｄのベタ画像を入力画像として用意する。ここでは、図１５の９０１で示す１０００ｄｏｔ四方の画像とする。次に、仮の閾値を与える。閾値Ａと閾値Ｂは仮の値ｔとして、閾値Ｃの値は２５５で固定とする。次に、用意したベタ画像に対して仮の閾値を用いた中間調処理を行い、所定の範囲で発生している平均量子化誤差を求める。ここでは、図１５の９０２で示す２５５ｄｏｔ四方の領域における平均量子化誤差を求める。仮の値ｔを０から２５５まで１刻みで変えて以上の作業を繰り返すことで、入力階調値ｄに対して平均量子化誤差が最も０に近い閾値を得る。さらに、入力階調値ｄを変えて以上の作業を繰り返すことで、図１３に示す、入力階調値に対応する平均量子化誤差が最も０に近い閾値の関係を得る。図１３の入力階調値と閾値との関係を示す曲線をなだらかに、かつ、式７の関係を満たすよう補正する。
【００６６】
ｔ（ｄ＋１）≧ｔ（ｄ）    （式７）
但し、ｄは入力階調値、ｔ（ｄ）は入力階調値ｄに対する閾値である。また、図５（ｂ）に示す閾値マトリクス４の代わりに、閾値マトリクスの一部の値を変更した、図１６の閾値マトリクス４’を用いる構成であっても良い。また、図５（ｂ）に示す閾値マトリクス５の代わりに図１６に示す閾値マトリクス５’を用いる構成であっても良い。即ち、閾値マトリクスの（ｘ、ｙ）＝（１、０）、（０、１）、（１、１）、（３、２）、（２、３）、（３、３）を同じ値にする必要はなく、独立に設定することでそれぞれに対応する画素位置で階調値１７０のドットが発生する確率を制御できる。例えば、それぞれの画素位置でドットの発生する確率を同じくするよう閾値を設定することができる。また閾値マトリクス５を用いた際に最も階調値１７０のドットが出やすい（ｘ、ｙ）＝（１、１）、（３、３）の画素位置でドットの発生する確率を高めることで、閾値マトリクス４および閾値マトリクス５を切り替える境界部での歪みを抑制することができる。
【００６７】
本実施例は、低濃度領域、高濃度領域に最適な閾値マトリクスに加えて、中濃度領域に最適な閾値マトリクスを用いる構成としたが、出力プリンタによっては、そもそも低濃度領域と高濃度領域とで歪みが目立たない場合もあるので、その場合は、中濃度領域に最適な閾値マトリクスを用いない構成とすれば、必要なメモリ量が削減でき、低コスト化につながる。
【図面の簡単な説明】
【００６８】
【図１】本発明が適用される一般的なレーザプリンタを示す。
【図２】本発明の中間調処理の構成を示す。
【図３】修正入力値算出手段の構成を示す。
【図４】閾値マトリクス決定手段の構成を示す。
【図５】入力階調値に応じて切り替える閾値マトリクスを示す。
【図６】出力階調値を決定する処理フローチャートである。
【図７】平均量子化誤差を説明する図である。
【図８】閾値マトリクスの設計手順を説明するフローチャートである。
【図９】出力ドットパターンの組の一例を示す。
【図１０】出力ドットパターンにおける画素位置の表記方法を説明する図である。
【図１１】図９の出力ドットパターンの組に対応する修正入力値の組を説明する図である。
【図１２】平均量子化誤差を０にする理由を説明する図である。
【図１３】平均量子化誤差が０に近い、入力階調値と閾値との対応関係を示す。
【図１４】網点スクリーンの例を示す。
【図１５】閾値マトリクス１〜３の設計方法を説明する図である。
【図１６】閾値マトリクスの他の例を示す。
【図１７】従来技術の課題を説明する図である。
【符号の説明】
【００６９】
１０１  画像入力部
１０２  修正入力値算出手段
１０３  誤差値算出手段
１０４  閾値マトリクス決定手段
１０５  閾値決定手段
１０６  出力階調値決定手段
【図１】
2008228106.tif 000006
【図２】
2008228106.tif 000007
【図３】
2008228106.tif 000008
【図４】
2008228106.tif 000009
【図５】
2008228106.tif 000010
【図６】
2008228106.tif 000011
【図７】
2008228106.tif 000012
【図８】
2008228106.tif 000013
【図９】
2008228106.tif 000014
【図１０】
2008228106.tif 000015
【図１１】
2008228106.tif 000016
【図１２】
2008228106.tif 000017
【図１３】
2008228106.tif 000018
【図１４】
2008228106.tif 000019
【図１５】
2008228106.tif 000020
【図１６】
2008228106.tif 000021
【図１７】
2008228106.tif 000022