(57)【要約】【課題】誤差拡散処理もしくはディザ閾値誤差拡散処理において、処理負荷の少ない構成でプリンタの記録特性に合う高品質な出力画像を得る。【解決手段】注目画素の入力階調値、注目画素周辺の画素の階調値の少なくとも一方を用いて注目画素の特徴を示す特徴量を決定する特徴量算出部１０７と、特徴量を用いて注目画素に適用する量子化閾値を決定する閾値選択部１０８と、注目画素周辺の量子化誤差値に所定の重みを付けて注目画素の入力階調値に加算し修正入力値を算出する修正入力値算出部１０２と、修正入力値と量子化閾値とに基づいて出力階調値を決定する出力階調値決定部１０３と、特徴量と出力階調値に基づき修正出力値を決定し修正出力値と修正入力値との差分を注目画素の量子化誤差値として算出する量子化誤差算出部１０４と、を備える。【選択図】図１
2008078832.tif 000002
【特許請求の範囲】
【請求項１】
注目画素の入力階調値、注目画素周辺の画素の階調値の少なくとも一方を用いて注目画素の特徴を示す特徴量を決定する特徴量決定処理と、前記特徴量を用いて当該注目画素に適用する量子化閾値を決定する量子化閾値決定処理と、当該注目画素周辺の量子化誤差値に所定の重みを付けて、前記注目画素の入力階調値に加算し修正入力値を算出する修正入力値算出処理と、前記修正入力値と、前記量子化閾値とに基づいて出力階調値を決定する出力階調値決定処理と、前記特徴量と前記出力階調値に基づき修正出力値を決定する修正出力値決定処理と、前記修正出力値と前記修正入力値との差分を当該注目画素の量子化誤差値として算出する量子化誤差値算出処理と、を実行することを特徴とする中間調処理方法。
【請求項２】
請求項１に記載の中間調処理方法において、
前記量子化閾値決定処理は注目画素の座標情報を用いて量子化閾値を決定し、前記修正出力値決定処理は注目画素の座標情報を用いて修正出力値を決定することを特徴とする中間調処理方法。
【請求項３】
請求項１に記載の中間調処理方法において、
前記量子化閾値決定処理及び前記修正出力値決定処理が、それぞれ量子化閾値、及び修正出力値を決定するために注目画素の座標情報を用いるか否かを特徴量に基づき決定することを特徴とする中間調処理方法。
【請求項４】
請求項１乃至３の何れか１項に記載の中間調処理方法において、
注目画素の階調値が低濃度である場合、前記量子化閾値決定処理、及び前記修正出力値決定処理が、それぞれ量子化閾値及び修正出力値を決定するために当該注目画素の座標情報を用いないことを特徴とする中間調処理方法。
【請求項５】
請求項１乃至４の何れか１項に記載の中間調処理方法において、
注目画素に対応する特徴量が画像のエッジ部であることを示す場合、前記量子化閾値決定処理、及び前記修正出力値決定処理が、それぞれ量子化閾値、及び修正出力値を決定するために当該注目画素の座標情報を用いないことを特徴とする中間調処理方法。
【請求項６】
請求項１乃至５の何れか１項に記載の中間調処理方法において、
当該中間調処理方法により得られた出力画像を出力媒体で表現した画像が、入力画像に対して明度、濃度、もしくは反射率のいずれかに関してリニアな特性をとることを特徴とする中間調処理方法。
【請求項７】
請求項１乃至６の何れか１項に記載の中間調処理方法において、
前記修正出力値は、当該画素位置で当該出力階調値のドットを打つ場合と、ドットを打たない場合の出力画像をそれぞれ出力媒体で表現した画像の、明度差、濃度差、もしくは反射率差のいずれかに応じて決定されることを特徴とする中間調処理方法。
【請求項８】
請求項１乃至７の何れか１項に記載の中間調処理方法において、
入力階調値が一定である場合に量子化誤差の平均値がほぼ０となる量子化閾値を用いることを特徴とする中間調処理方法。
【請求項９】
請求項１乃至８の何れか１項に記載の中間調処理方法において、
入力階調値によらず量子化誤差の平均値がほぼ０となる量子化閾値を用いることを特徴とする中間調処理方法。
【請求項１０】
注目画素の入力階調値、注目画素周辺の画素の階調値の少なくとも一方を用いて注目画素の特徴を示す特徴量を決定する特徴量決定手段と、前記特徴量を用いて当該注目画素に適用する量子化閾値を決定する量子化閾値決定手段と、当該注目画素周辺の量子化誤差値に所定の重みを付けて、前記注目画素の入力階調値に加算し修正入力値を算出する修正入力値算出手段と、前記修正入力値と、前記量子化閾値とに基づいて出力階調値を決定する出力階調値決定手段と、前記特徴量と前記出力階調値に基づき修正出力値を決定する修正出力値決定手段と、前記修正出力値と前記修正入力値との差分を当該注目画素の量子化誤差値として算出する量子化誤差値算出手段と、を備えることを特徴とする画像処理装置。
【請求項１１】
請求項１０に記載の画像処理装置において、
前記量子化閾値決定手段は、注目画素の座標情報を用いて量子化閾値を決定し、
前記修正出力値決定手段は、注目画素の座標情報を用いて修正出力値を決定することを特徴とする画像処理装置。
【請求項１２】
請求項１０に記載の画像処理装置において、
前記量子化閾値決定手段及び前記修正出力値決定手段が、それぞれ量子化閾値、及び修正出力値を決定するために注目画素の座標情報を用いるか否かを特徴量に基づき決定することを特徴とする画像処理装置。
【請求項１３】
請求項１０乃至１２の何れか１項に記載の画像処理装置において、
注目画素の階調値が低濃度である場合、前記量子化閾値決定手段、及び前記修正出力値決定手段が、それぞれ量子化閾値及び修正出力値を決定するために当該注目画素の座標情報を用いないことを特徴とする画像処理装置。
【請求項１４】
請求項１０乃至１３の何れか１項に記載の画像処理装置において、
注目画素に対応する特徴量が画像のエッジ部であることを示す場合、前記量子化閾値決定手段、及び前記修正出力値決定手段が、それぞれ量子化閾値、及び修正出力値を決定するために当該注目画素の座標情報を用いないことを特徴とする画像処理装置。
【請求項１５】
請求項１０乃至１４の何れか１項に記載の画像処理装置において、
当該画像処理装置により得られた出力画像を出力媒体で表現した画像が、入力画像に対して明度、濃度、もしくは反射率のいずれかに関してリニアな特性をとることを特徴とする画像処理装置。
【請求項１６】
請求項１０乃至１５の何れか１項に記載の画像処理装置において、
前記修正出力値は、当該画素位置で当該出力階調値のドットを打つ場合と、ドットを打たない場合の出力画像をそれぞれ出力媒体で表現した画像の、明度差、濃度差、もしくは反射率差のいずれかに応じて決定されることを特徴とする画像処理装置。
【請求項１７】
請求項１０乃至１６の何れか１項に記載の画像処理装置において、
入力階調値が一定である場合に量子化誤差の平均値がほぼ０となる量子化閾値を用いることを特徴とする画像処理装置。
【請求項１８】
請求項１０乃至１７の何れか１項に記載の画像処理装置において、
入力階調値によらず量子化誤差の平均値がほぼ０となる量子化閾値を用いることを特徴とする画像処理装置。
【請求項１９】
請求項１０乃至１８の何れか１項に記載の画像処理装置を備えたことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レーザープリンタ、デジタル複写機、カラーレーザープリンタ、デジタルカラー複写機などに応用される画像処理装置に関するものであり、特に画質向上処理に関するものである。
【背景技術】
【０００２】
多値の入力画像を、少値もしくは二値での出力能力のみを持つ装置で出力するため、もしくはデータ量削減のためなどの目的で、入力画像の多値数より少ない値の出力画像に変換する中間調処理が用いられている。この中間調処理の中に誤差拡散処理と呼ばれている方式がある。誤差拡散処理においては、例えば特許文献１の段落［０００３］に記載されているように、算出される誤差量が実際のプリンタの記録特性に対して不正確という問題があり、前記特許文献１ではこの点について改善し、実際のプリンタの記録特性に合う誤差量を算出して高品質な誤差拡散画像を得ることが可能な画像処理装置を実現するための技術を開示している。
【０００３】
また他の中間調処理方法として、粒状性に優れたディザ法と、鮮鋭性に優れた誤差拡散法を組み合わせたディザ閾値誤差拡散処理がある。これは、多値の入力画像を誤差拡散法による量子化処理によって量子化し、その量子化閾値はディザ処理同様、画素位置に応じた値を用いるものである。
このディザ閾値誤差拡散処理においても前記特許文献１の技術を用いることで、実際のプリンタの記録特性に合う量子化誤差量を算出して高品質な誤差拡散画像を得ることが可能である。
【特許文献１】特開２００２−３６８９９１公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、前記特許文献１に示す周辺画素の出力状態に応じて量子化誤差算出を行う方法を用いることで、誤差拡散処理もしくはディザ閾値誤差拡散処理においてプリンタの記録特性に合う量子化誤差量を算出することを実現する場合、量子化誤差値の決定に周辺画素の出力状態を参照する必要があるため、処理負荷が高くなり装置の構成が複雑となる。
本発明は上記の問題点を解決するためになされたものであり、誤差拡散処理もしくはディザ閾値誤差拡散処理において、処理負荷の少ない構成でプリンタの記録特性に合う高品質な出力画像を得ることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、請求項１に記載の発明は、注目画素の入力階調値、注目画素周辺の画素の階調値の少なくとも一方を用いて注目画素の特徴を示す特徴量を決定する特徴量決定処理と、前記特徴量を用いて当該注目画素に適用する量子化閾値を決定する量子化閾値決定処理と、当該注目画素周辺の量子化誤差値に所定の重みを付けて、前記注目画素の入力階調値に加算し修正入力値を算出する修正入力値算出処理と、前記修正入力値と、前記量子化閾値とに基づいて出力階調値を決定する出力階調値決定処理と、前記特徴量と前記出力階調値に基づき修正出力値を決定する修正出力値決定処理と、前記修正出力値と前記修正入力値との差分を当該注目画素の量子化誤差値として算出する量子化誤差値算出処理と、を実行する中間調処理方法を特徴とする。
【０００６】
請求項２に記載の発明は、請求項１に記載の中間調処理方法において、前記量子化閾値決定処理は、注目画素の座標情報を用いて量子化閾値を決定し、前記修正出力値決定処理は、注目画素の座標情報を用いて修正出力値を決定することを特徴とする。
請求項３に記載の発明は、請求項１に記載の中間調処理方法において、前記量子化閾値決定処理及び前記修正出力値決定処理が、それぞれ量子化閾値、及び修正出力値を決定するために注目画素の座標情報を用いるか否かを特徴量に基づき決定することを特徴とする。
請求項４に記載の発明は、請求項１乃至３の何れか１項に記載の中間調処理方法において、注目画素の階調値が低濃度である場合、前記量子化閾値決定処理、及び前記修正出力値決定処理が、それぞれ量子化閾値及び修正出力値を決定するために当該注目画素の座標情報を用いないことを特徴とする。
【０００７】
請求項５に記載の発明は、請求項１乃至４の何れか１項に記載の中間調処理方法において、注目画素に対応する特徴量が画像のエッジ部であることを示す場合、前記量子化閾値決定処理、及び前記修正出力値決定処理が、それぞれ量子化閾値、及び修正出力値を決定するために当該注目画素の座標情報を用いないことを特徴とする。
請求項６に記載の発明は、請求項１乃至５の何れか１項に記載の中間調処理方法において、当該中間調処理方法により得られた出力画像を出力媒体で表現した画像が、入力画像に対して明度、濃度、もしくは反射率のいずれかに関してリニアな特性をとることを特徴とする。
請求項７に記載の発明は、請求項１乃至６の何れか１項に記載の中間調処理方法において、前記修正出力値は、当該画素位置で当該出力階調値のドットを打つ場合と、ドットを打たない場合の出力画像をそれぞれ出力媒体で表現した画像の、明度差、濃度差、もしくは反射率差のいずれかに応じて決定されることを特徴とする。
【０００８】
請求項８に記載の発明は、請求項１乃至７の何れか１項に記載の中間調処理方法において、入力階調値が一定である場合に量子化誤差の平均値がほぼ０となる量子化閾値を用いることを特徴とする。
請求項９に記載の発明は、請求項１乃至８の何れか１項に記載の中間調処理方法において、入力階調値によらず量子化誤差の平均値がほぼ０となる量子化閾値を用いることを特徴とする。
請求項１０に記載の発明は、注目画素の入力階調値、注目画素周辺の画素の階調値の少なくとも一方を用いて注目画素の特徴を示す特徴量を決定する特徴量決定手段と、前記特徴量を用いて当該注目画素に適用する量子化閾値を決定する量子化閾値決定手段と、当該注目画素周辺の量子化誤差値に所定の重みを付けて、前記注目画素の入力階調値に加算し修正入力値を算出する修正入力値算出手段と、前記修正入力値と、前記量子化閾値とに基づいて出力階調値を決定する出力階調値決定手段と、前記特徴量と前記出力階調値に基づき修正出力値を決定する修正出力値決定手段と、前記修正出力値と前記修正入力値との差分を当該注目画素の量子化誤差値として算出する量子化誤差値算出手段と、を備える画像処理装置を特徴とする。
【０００９】
請求項１１に記載の発明は、請求項１０に記載の画像処理装置において、前記量子化閾値決定手段は、注目画素の座標情報を用いて量子化閾値を決定し、前記修正出力値決定手段は、注目画素の座標情報を用いて修正出力値を決定することを特徴とする。
請求項１２に記載の発明は、請求項１０に記載の画像処理装置において、前記量子化閾値決定手段及び前記修正出力値決定手段が、それぞれ量子化閾値、及び修正出力値を決定するために注目画素の座標情報を用いるか否かを特徴量に基づき決定することを特徴とする。
請求項１３に記載の発明は、請求項１０乃至１２の何れか１項に記載の画像処理装置において、注目画素の階調値が低濃度である場合、前記量子化閾値決定手段、及び前記修正出力値決定手段が、それぞれ量子化閾値及び修正出力値を決定するために当該注目画素の座標情報を用いないことを特徴とする。
【００１０】
請求項１４に記載の発明は、請求項１０乃至１３の何れか１項に記載の画像処理装置において、注目画素に対応する特徴量が画像のエッジ部であることを示す場合、前記量子化閾値決定手段、及び前記修正出力値決定手段が、それぞれ量子化閾値、及び修正出力値を決定するために当該注目画素の座標情報を用いないことを特徴とする。
請求項１５に記載の発明は、請求項１０乃至１４の何れか１項に記載の画像処理装置において、当該画像処理装置により得られた出力画像を出力媒体で表現した画像が、入力画像に対して明度、濃度、もしくは反射率のいずれかに関してリニアな特性をとることを特徴とする。
請求項１６に記載の発明は、請求項１０乃至１５の何れか１項に記載の画像処理装置において、前記修正出力値は、当該画素位置で当該出力階調値のドットを打つ場合と、ドットを打たない場合の出力画像をそれぞれ出力媒体で表現した画像の、明度差、濃度差、もしくは反射率差のいずれかに応じて決定されることを特徴とする。
【００１１】
請求項１７に記載の発明は、請求項１０乃至１６の何れか１項に記載の画像処理装置において、入力階調値が一定である場合に量子化誤差の平均値がほぼ０となる量子化閾値を用いることを特徴とする。
請求項１８に記載の発明は、請求項１０乃至１７の何れか１項に記載の画像処理装置において、入力階調値によらず量子化誤差の平均値がほぼ０となる量子化閾値を用いることを特徴とする。
請求項１９に記載の発明は、請求項１０乃至１８の何れか１項に記載の画像処理装置を備えた画像形成装置を特徴とする。
【発明の効果】
【００１２】
本発明によれば、誤差拡散処理もしくはディザ閾値誤差拡散処理において、処理負荷の少ない構成でプリンタの記録特性に合う量子化誤差量の算出が可能になるので、プリンタの記録特性に合う高品質な出力画像を得ることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態について説明する。
＜第１の実施形態＞
図１は本発明の実施形態に係る画像処理装置の構成を示した図である。
なお、以下の説明では、入力階調値、出力階調値とも１画素１版あたり「０」以上「２５５」以下の整数値を取り、値が大きいほど濃度が高いものとする。
図１において、画像入力部１０１は、例えばカラー複写機などにおいて、スキャナで読みとった画像データを、濃度補正処理、周波数補正処理を行い、ＣＭＹＫ各版毎の画像に変換した画像を入力して入力階調値を画素毎に順次後段の処理に送る。
特徴量算出部１０７では、注目画素の入力階調値が所定の値より大きい場合は特徴量を「０」とし、そうでない場合は特徴量を「１」として、特徴量算出結果を閾値選択部１０８へ送る。ここでは後述する理由で所定の値を「４」として、注目画素の入力階調値が「４」より大きい場合は特徴量を「０」とし、そうでない場合は特徴量を「１」とする。
【００１４】
閾値選択部１０８では、特徴量算出部１０７から受けた特徴量に基づき、特徴量が「１」である場合は。図２に示す注目画素の入力階調値から求まる閾値を用いて、また、特徴量が「０」である場合は図３の閾値マトリクスより注目画素の位置から求まる閾値を用いて量子化を行うことを決定して、決定した閾値情報を出力階調値決定部１０３へ送る。
修正入力値算出部１０２では、画像入力部１０１から受けた画像データ中の注目画素における画素データと、後述する量子化誤差和算出部１０６から得られた周辺画素における量子化誤差和との和である修正入力値を算出して後段の処理に送る。
出力階調値決定部１０３では、閾値選択部１０８から受けた閾値情報から注目画素に適用する閾値と、修正入力値算出部１０２から受けた修正入力値との大小関係を比較して、出力階調値を決定する。
【００１５】
まず、閾値選択部１０８が図２に示す注目画素の入力階調値から求まる閾値を用いることを決定した場合の動作について説明する。
図２の注目画素の入力階調値と閾値との関係の設計方法については後述する。
例えば、注目画素の入力階調値が「３」の場合は図２から「９」を閾値として、注目画素の修正入力値が「９」より大きい場合、出力階調値は「８５」、そうでなければ出力階調値は「０」とする。即ち、２種類の出力階調値、「０」と「８５」との中から出力階調値を選択する。
【００１６】
次に、閾値選択部１０８が図３に示す閾値マトリクスを用いることを決定した場合の動作について説明する。
閾値マトリクスＡ３０１、閾値マトリクスＢ３０２、閾値マトリクスＣ３０３はそれぞれ、出力階調値「８５」に相当するドット、「１７０」に相当するドット、「２５５」に相当するドットを出すか否かを決定する閾値であり、図３は６００ｄｐｉの出力解像度において約２１２線、４５度の網点スクリーンを表現する４値出力用の閾値マトリクスである。閾値マトリクス上で注目画素に対応する閾値は、閾値マトリクスを出力画像にタイル状に繰り返し敷き詰めたとき、注目画素が閾値マトリクス中のどの位置に相当するかにより決定する。即ち、閾値マトリクスのサイズが横ｗ画素、縦ｈ画素である場合、出力画像座標で横Ｘ、縦Ｙの注目画素に対しては、閾値マトリクス座標で横（Ｘ％ｗ）、縦（Ｙ％ｈ）の閾値を用いる。ここで、（Ｘ％ｗ）はＸをｗで割ったときの剰余を意味する。
【００１７】
図３においては、ｗ＝ｈ＝４であり、例えば出力画像座標で（Ｘ，Ｙ）＝（９，６）である画素に対しては、閾値マトリクス座標で（ｘ，ｙ）＝（１，２）の位置の閾値を用いて、図７に示すような処理を行うことにより出力画素値を求める。即ち、出力階調値「８５」、「１７０」、「２５５」に相当するドットを出すか否かを決定するための閾値Ａ、閾値Ｂ、閾値Ｃはそれぞれ「２０９」、「２２３」、「２３６」となり、注目画素の修正入力値が「２３６」より大きければ（図３に示すＳ１でＹｅｓ）、出力階調値は「２５５」（Ｓ２）、そうでなくて修正入力値が「２２３」より大きければ（Ｓ３でＹｅｓ）、出力階調値は「１７０」（Ｓ４）、そうでなくて修正入力値が「２０９」より大きければ（図３に示すＳ５でＹｅｓ）、出力階調値は「８５」（Ｓ６）、そうでなければ（Ｓ５でＮｏ）出力階調値は「０」（Ｓ７）となる。なお、図３に示す閾値マトリクスの設計方法については後述する。
【００１８】
量子化誤差算出部１０４では、特徴量に応じて以下に示す算出方法を用いて量子化誤差を算出する。まず、特徴量が「０」の場合、即ち、閾値選択部１０８が図２に示すように注目画素の座標に依存せず、注目画素の入力階調値から求まる閾値を用いることを決定した場合は、出力階調値「０」に対応する修正出力値は「０」、出力階調値「８５」に対応する修正出力値は「３６」、出力階調値「１７０」に対応する修正出力値は「１３０」、出力階調値「２５５」に対応する修正出力値は「２１４」とする。
この値は図３の閾値マトリクスにおいて最も低い閾値に対応する画素位置における修正出力値と同じくしている。なぜならば、注目画素の座標に依存しない閾値を用いる場合は、誤差拡散処理の特性により出力階調値が大きい画素の周辺では出力階調値が小さくなりやすい。これにより特に低濃度の入力画像に対してはドットが孤立して存在しやすくなる。
【００１９】
一方、図３の閾値マトリクスを用いる場合は、注目画素の位置によって閾値が異なり、ドットが発生する可能性も異なる。前述のように修正入力値が閾値より大きい場合にドットが発生することになるため、閾値が最も小さい位置では周辺の画素よりドットが発生しやすく、そのためドットが孤立して発生しやすい。
また、図３の閾値マトリクスにおいて最も低い閾値に対応する画素位置における修正出力値は、後述するとおり、当該画素位置においてドットが発生し、その周辺画素位置においてはドットが発生していない状態、即ち孤立してドットが発生した状態において適切な修正出力値を用いるからである。
なお、本実施形態においては前述の通り、注目画素の入力階調値から求まる閾値を用いる場合、実際には出力階調値は「０」か「８５」のいずれかのみが発生する。
【００２０】
次に、特徴量が「１」の場合、即ち、閾値選択部１０８が図３に示す閾値マトリクスを用いることを決定した場合は、前記出力階調値と画素位置とから図４の修正出力値マトリクスに基づいて修正出力値を求め、前記修正入力値から前記修正出力値を減じた値を量子化誤差として量子化誤差バッファ１０５に格納する。
修正出力値マトリクスＡ４０１、修正出力値マトリクスＢ４０２、修正出力値マトリクスＣ４０３はそれぞれ、出力階調値「８５」に相当する修正出力値、「１７０」に相当する修正出力値、「２５５」に相当する修正出力値を出した時の修正出力値を示し、図３の閾値マトリクスと同様にして注目画素位置に対応する修正出力値を得る。なお、出力階調値「０」に対しては画素位置によらず修正出力値を「０」とする。
図４の修正出力値マトリクスの設計方法については後述する。
以上のようにして出力階調値を求める。
出力階調値決定部１０３から出力された出力階調値は、その後、図示しない位相制御部により主走査方向の前後の出力階調値の大小関係に基づき、大きな値の方へ寄せて出力するよう位相を付ける。
【００２１】
一方、修正入力値は以下のようにして求める。
量子化誤差和算出部１０６は、図５の誤差マトリクスを用いて注目画素に関与する量子化誤差の和を算出する。
図５において、ｘで示した位置が注目画素を意味する。例えば、注目画素の１ライン真上の画素の量子化誤差値が「３２」であった場合、誤差マトリクス中のその画素に対応する値は４／３２であるから、その画素から注目画素に関与する量子化誤差値は両者の積である「４」となる。このようにして、１つの注目画素に対して２ライン上の７画素、１ライン上の７画素、同一ラインの３画素の計１７画素における量子化誤差値を量子化誤差バッファ１０５から読み出し、誤差マトリクスと積和演算を行うことで注目画素に関与する量子化誤差和を算出して、その量子化誤差和を修正入力値算出部１０２へ送る。
図５の誤差マトリクスは全ての要素を加算したとき１となるように設計している。これは、発生した量子化誤差値を過不足なく周囲の画素で用いるためである。
【００２２】
ここで、量子化誤差値を算出するために、図６に示すような誤差マトリクスを利用しても良い。図６の誤差マトリクスは図５のマトリクス中の各値を３２倍したものである。例えば、注目画素の１ライン真上の画素の量子化誤差値が「３２」であった場合、誤差マトリクス中のその画素に対応する値は「４」であるから、その画素から注目画素に関与する量子化誤差値はひとまず両者の積である「１２８」とする。このようにして、１つの注目画素に対して２ライン上の７画素、１ライン上の７画素、同一ラインの３画素の計１７画素における量子化誤差値を量子化誤差バッファ１０５から読み出し、誤差マトリクスと演算を行うことで注目画素に関与する量子化誤差和を算出する。このような方法をとることにより、高速なシフト演算や整数演算で注目画素に関与する量子化誤差和を算出することができる。その後、前記量子化誤差和を「３２」で除する。
【００２３】
次に、図３の閾値マトリクスの設計方法について示す。
設計方法の概略は以下の通りである。
即ち、得たい出力ドットパターンを繰り返した画像を、紙などの画像記録媒体に出力して平均明度を測定して、入出力特性が明度リニアとなるよう、その出力ドットパターンを得るための入力階調値の条件を求め、画素位置毎の出力階調値に対応する修正出力値を決定する。
次に、前記出力ドットパターンで定常状態となるときの、各画素位置での修正入力値を求める。定常状態とは一定の入力階調値であるベタ画像を中間調処理した結果、安定して同じパターンが繰り返し発生している状態である。
この修正入力値から、与えた出力ドットパターンとなるための閾値の範囲を求める。
以上を様々な得たい出力ドットパターンに対して行い、それぞれのパターンで求めた閾値の範囲を絞り込む。
【００２４】
次に、図８に示す７０１から７２５の各出力ドットパターンが得たい出力ドットパターンである場合の閾値マトリクスを求める方法について説明する。
前述のように、図８は各画素の出力階調値が「０」、「８５」、「１７０」、「２５５」のいずれかである４値出力の約２１２線、４５度の網点スクリーンを表現する出力ドットパターンである。
ここで各座標を図９のように表すとする。即ち、（ｘ，ｙ）＝（０，０）の画素位置はｐ０、（ｘ，ｙ）＝（１，０）の画素位置はｐ１と表す。また、ｐ０の修正出力値を「ｂ０」、ｐ０で発生する量子化誤差値を「ｅ０」、ｐ０での修正入力値を「ｆ０」、入力階調値を「ｄ」と表す。ここで入力画像はベタ画像、即ち入力階調値ｄは画素位置によらず一定であることを前提とし、入力階調値の平均値と入力階調値ｄとは一致していることに注意する。
また、入力階調値「０」のときは全画素の出力階調値が「０」である出力ドットパターン７０１が対応し、入力階調値「２５５」のときは全画素の出力階調値が「２５５」である出力ドットパターン７２５を対応させる。
【００２５】
最初に図８の各出力ドットパターンを十分広く繰り返した画像を紙に出力して平均明度を測定する。ここでは、図１０に示す結果が得られたとする。
この図１０に示すように、入力階調値「０」に対応する出力ドットパターン７０１では平均明度９４．６、入力階調値「２５５」に対応する出力ドットパターン７２５では平均明度２５．８となっている。
次に、出力ドットパターン７０１と出力ドットパターン７０２の平均明度の差から、出力ドットパターン７０２が発生すべきときの入力階調値を求める。
明度がリニアな入出力特性を持つためには、入力階調値が、
（出力ドットパターン７０１の入力階調値）＋（出力ドットパターン７０２の平均明度−出力ドットパターン７０１の平均明度）÷（出力ドットパターン７２５の平均明度−出力ドットパターン７０１の平均明度）×｛（出力ドットパターン７２５の入力階調値）−（出力ドットパターン７０１の入力階調値）｝
即ち、０＋（９３．４−９４．６）÷（２５．８−９４．６）×２５５≒４．４４７であるとき出力ドットパターン７０２が発生する必要がある。
【００２６】
そこで、前記入力階調値のときに出力ドットパターン７０２を発生させるための条件を考える。前述のように発生した量子化誤差値を過不足なく周囲の画素で用いる誤差マトリクスを利用していることから、定常状態において修正出力値の平均値と入力階調値とは等しい。
出力ドットパターン７０１との違いに注目すると、全画素の１／８の面積に相当するｐ５の出力階調値が「０」から「８５」に変わったことで、修正出力値の平均値が「０」から４．４４７に変化すれば良い。よって、ｐ５における出力値が「８５」の場合の修正出力値は４．４４７×８＝３５．５７６、ここでは簡単のため整数に丸めた値「３６」とする。
ここで、出力ドットパターン７０２は出力ドットパターン７０１から出力ドットパターン７２５のうち、全ての画素で出力階調値が０である出力ドットパターン７０１を除いた中で最も平均出力値が小さい出力ドットパターンである。この出力ドットパターン７０２の修正出力値の平均値は４．４４７であるため、入力階調値が４．４４７より小さいときは出力ドットパターン７０２で（ｘ，ｙ）＝（１，１）もしくは（ｘ，ｙ）＝（３，３）に相当する画素位置においては出力階調値が「０」もしくは「８５」となり、それ以外の画素位置では「０」となることが期待される。この場合は、全ての画素位置で「０」もしくは「８５」となるような量子化処理に対して低い解像度で量子化処理を行うこととなり、分散性が悪く、ざらつきが目立つこととなる。
【００２７】
そこで、入力階調値が４．４４７より小さいときは全ての画素位置で「０」もしくは「８５」となるような量子化処理を行うこととする。
即ち、簡単のため整数値で判断することにして、入力階調値が「４」より大きいときは特徴量を「０」として図３の閾値マトリクスより注目画素の位置から求まる閾値を用いて、そうでない場合は特徴量を「１」として図２に示す注目画素の入力階調値から求まる閾値を用いることにする。
【００２８】
同様にして出力ドットパターン７０１と出力ドットパターン７０４の違いから、出力ドットパターン７０４を発生するときの入力階調値を求める。
明度がリニアな入出力特性を持つためには入力階調値が、
（出力ドットパターン７０１の入力階調値）＋（出力ドットパターン７０４の平均明度−出力ドットパターン７０１の平均明度）÷（出力ドットパターン７２５の平均明度−出力ドットパターン７０１の平均明度）×｛（出力ドットパターン７２５の入力階調値）−（出力ドットパターン７０１の入力階調値）｝
即ち、０＋（８７．４−９４．６）÷（２５．８−９４．６）×２５５≒２６．６８６であるとき出力ドットパターン７０４が発生する必要がある。
出力ドットパターン７０１との違いに注目すると、全画素の１／８の面積に相当するｐ５の出力値が「０」から「２５５」に変わったことで、修正出力値の平均値が「０」から２６．６８６に変化すれば良い。よって、ｐ５における出力値が「２５５」の場合の修正出力値は２６．６８６×８＝２１３．４８８、ここでは簡単のため整数に丸めた値「２１３」とする。
【００２９】
さらに同様にして、出力ドットパターン７０４と出力ドットパターン７０５の違いから、出力ドットパターン７０５が発生すべきときの入力階調値を求める。
明度がリニアな入出力特性を持つためには入力階調値が、
（出力ドットパターン７０４の入力階調値）＋（出力ドットパターン７０５の平均明度−出力ドットパターン７０４の平均明度）÷（出力ドットパターン７２５の平均明度−出力ドットパターン７０１の平均明度）×｛（出力ドットパターン７２５の入力階調値）−（出力ドットパターン７０１の入力階調値）｝
即ち、２６．６８６＋（８５．１−８７．４）÷（２５．８−９４．６）×２５５≒３５．２１０であるとき出力ドットパターン７０５が発生する必要がある。
【００３０】
出力ドットパターン７０４との違いから、全画素の１／８の面積に相当するｐ４の出力値が「０」から「８５」に変わったことで、修正出力値の平均値が２６．６８６から３５．２１０に変化すれば良い。よって、ｐ４における出力値が８５の場合の修正出力値を（３５．２１０−２６．６８６）×８＝６８．１９２、ここでは簡単のため整数に丸めた値「６８」とする。
以上のようにして各出力ドットパターンに対応する入力階調値を求め、さらに画素位置毎の出力階調値に対応する修正出力値を決定する。
【００３１】
図１１に上述の方法により求めた各出力ドットパターンに対応する入力階調値、図１２に画素位置毎の出力階調値に対応する修正出力値を示す。但し、図１２を用いる場合、全ての画素位置で出力階調値を「２５５」としたときに修正出力値の平均が「２５５」とならない。そのため、全ての画素位置で出力階調値を「２５５」としたときに修正出力値の平均が「２５５」となるよう、図１２の１１０３の各要素の平均値が「２５５」となるよう補正した図４を用いて中間調処理を行うこととする。
【００３２】
次に、各出力ドットパターンで定常状態となるときの、各画素位置での修正入力値を求める。例えば、図８の７１１で示す出力ドットパターンを出力したときの各画素位置での修正出力値は図１２に基づき図１３に示す値となる。即ち、ｐ０、ｐ１、ｐ２においては出力階調値「２５５」、ｐ３においては出力階調値「８５」、その他においては出力階調値「０」に対応する修正出力値となる。
このときの修正出力値の平均は、
（２１４＋３１７＋４１５＋９８＋０＋０＋０＋０）÷８＝１３０．５
であることから、入力階調値１３０．５の画像に対して、定常状態では図８の７１１で示す出力ドットパターンが繰り返して出現すると言える。
すると、式１が成り立つ。
2008078832.tif 000003
【００３３】
これは、例えば、ｐ０での修正入力値ｆ０は、図１４に示すように、入力階調値と、図中で網掛けをした画素位置における量子化誤差値に図５の誤差マトリクスを用いて重み付けした値とを加算して求めることから、
ｆ０＝ｄ＋１／３２×（０・ｅ３＋１・ｅ０＋１・ｅ１＋２・ｅ２＋１・ｅ３＋１・ｅ０＋０・ｅ１＋１・ｅ７＋１・ｅ４＋２・ｅ５＋４・ｅ６＋２・ｅ７＋１・ｅ４＋１・ｅ５＋２・ｅ１＋４・ｅ２＋８・ｅ３）＝ｄ＋１／３２×（２・ｅ０＋３・ｅ１＋６・ｅ２＋９・ｅ３＋２・ｅ４＋３・ｅ５＋４・ｅ６＋３・ｅ７）
で表される。
【００３４】
また、ｐ０での量子化誤差値ｅ０は、修正入力値から修正出力値を減じて求めることから、
ｆｎ＝ｅｎ＋ｂｎ  （ただし、０≦ｎ≦７）・・・式２
が成り立ち、式１に代入することで式３が導かれる。
2008078832.tif 000004
式３からは量子化誤差値ｅｎや修正入力値ｆｎにはそれぞれ無数の解が存在して一意に求めることができない。
一意の解を得るためには、条件式を加える必要がある。
【００３５】
ところで、特開２００６−１０９２６３公報に開示されているように、グラデーション画像に対する階調段差抑制を図るためには、量子化誤差値の総和が入力階調値の変化によって急激に変化しないことが必要である。
そこで、量子化誤差値の総和が０である条件、即ち式４を加える。
０＝ｅ０＋ｅ１＋ｅ２＋ｅ３＋ｅ４＋ｅ５＋ｅ６＋ｅ７・・・式４
この（式４）を（式３）の中の行のひとつと置き換える。式５に最上位の行を置き換えた例を示す。ここで、ｄ、ｂｎは定常状態の出力ドットパターンを与えることでいずれも既知の定数となっていることから量子化誤差値ｅｎが求まる。
2008078832.tif 000005
さらに量子化誤差値ｅｎを元に（式１）もしくは（式２）から修正入力値ｆｎが求まる。
【００３６】
このようにして求めた、図８で与えた出力ドットパターンに対応する修正入力値を図１５及び図１６に示す。例えば、図８の７１１で示す出力ドットパターンを与えた場合は、図１５の１４１１で示す修正入力値となる。
ここで、図８で与えた出力ドットパターンを得るためには、例えば、ｐ０においては、図１５の１４０１から１４１０に示す修正入力値に対しては出力階調値「０」、１４１１で示す修正入力値に対しては出力階調値「８５」、１４１２で示す修正入力値に対しては出力階調値「１７０」、１４１３から１４２１、及び図１６に示す１４２２から１４２５で示す修正入力値に対しては出力階調値「２５５」を発生させる閾値である必要がある。
【００３７】
そこで、ｐ０で出力階調値「８５」を出すか否かを決定する閾値Ａは、ｐ０における１４０１から１４１０の修正入力値の最大値１４６．７より大きく、ｐ０における１４１１から１４２５の修正入力値の最小値１６４．４以下である必要がある。よって、１４６．７より大きく、１６４．４以下である数値のうち両者の平均値を整数に丸めた値「１５６」をｐ０における閾値Ａとする。
なお、条件を満たす数値がない場合、例えば、ｐ０における１４０１から１４１０の修正入力値の最大値が「２００」、ｐ０における１４１１から１４２５の修正入力値の最小値が「１８０」である場合は、両者の平均値を整数に丸めた値である「１９０」をｐ０における閾値Ａとする。
【００３８】
同様に出力階調値「１７０」を出すか否かを決定する閾値Ｂは、１４０１から１４１１の修正入力値の最大値１６４．４より大きく、１４１２から１４２５の修正入力値の最小値１８８．８以下である必要があることから「１７７」、出力階調値「２５５」を出すか否かを決定する閾値Ｃは、１４０１から１４１２の修正入力値の最大値１８８．８より大きく、１４１３から１４２５の修正入力値の最小値２０５．９以下である必要があることから「１９７」とする。
このように閾値の範囲を絞り込み、各画素位置、各出力階調値に対応する閾値を求め、図３に示す閾値マトリクスを得る。
【００３９】
次に、図１７を用いて図２に示す注目画素の入力階調値と閾値との関係の設計方法について説明する。
まず、入力階調値ｄに対して閾値を求めるために、十分大きな入力階調値ｄのベタ画像を入力画像として用意する。ここでは、図１７の１５０１で示す１０００ｄｏｔ四方の画像とする。
次に、仮の閾値ｔを与える。
次に、用意したベタ画像に対して仮の閾値ｔを用いた中間調処理を行う。ここで、図１の閾値選択部１０８では注目画素の入力階調値から求まる閾値を用いることを決定した場合の処理を行い、画素位置毎に若干の閾値を変化させるノイズを重畳して、所定の範囲で発生している平均量子化誤差を求める。ここでは、所定の範囲を図１７の１５０２で示す２５５ｄｏｔ四方の領域における平均量子化誤差を求める。
このとき、修正出力値は注目画素の位置から求まる閾値を用いて量子化を行う場合の最も出やすい画素位置における値を用いる。
【００４０】
ここでは、図８の出力ドットパターンに基づき、（ｘ，ｙ）＝（１，１）、即ち、図４のｐ５に対応する画素位置での修正出力値である、出力階調値「８５」に対して「３６」を用いる。なお、出力階調値「０」に対しては修正出力値を「０」とする。
仮の閾値ｔを「０」から「２５５」まで１刻みで変えて以上の作業を繰り返すことで、図１８に示すように、入力階調値ｄに対して平均量子化誤差が最も「０」に近い閾値を得る。
さらに、入力階調値ｄを変えて以上の作業を繰り返すことで、入力階調値に対応する平均量子化誤差が最も「０」に近い閾値の関係を得、必要であればこの関係の急激な変化を抑えるよう補正を加えて図２の関係を得る。
【００４１】
本実施形態では閾値マトリクスや修正出力値マトリクスを各出力ドットパターンの平均明度に基づいて作成し、入出力特性が明度リニアになるような構成を示したが、本発明に基づく構成としてはこれに限らず、例えば濃度リニアや反射率リニアなどになるような構成であっても良い。
本実施形態では網点スクリーンの出力ドットパターンを与えたが、本発明に基づく構成としてはこれに限らず、例えば、万線スクリーンであっても良い。
本実施例では出力階調数を「４」としたが、本発明に基づく構成としてはこれに限らず、例えば、「２」、「３」、もしくは「１６」といった出力階調数を持つ画像処理方法であってもよい。
【００４２】
＜第２の実施形態＞
図１９を用いて本発明の第２の実施形態を既に説明した第１の実施形態と異なる点に注目して示す。図１に示す特徴量算出部１０７では、まず各方向に関するエッジ量を、図１９に示した注目画素及びその周辺画素の計５×５画素を参照するフィルタ演算によりそれぞれ算出する。即ち、注目画素位置を各エッジ算出フィルタの中心に置き、入力画像データとエッジ算出フィルタとの積和演算により求まる値の絶対値をとり、そのうちの最大値を注目画素のエッジ量とする。
このエッジ量と予め設定された閾値との大小関係に基づきエッジ情報を算出する。
図１９（ａ）は縦方向、（ｂ）は横方向、（ｃ）及び（ｄ）は斜め方向のエッジ画像にそれぞれ感応するフィルタである。
【００４３】
本実施形態では、エッジ量が３２以上であれば特徴量を「２」として、それ以外の場合は第１の実施形態に示すように注目画素の入力階調値に応じて特徴量を「０」もしくは「１」とする。
閾値選択部１０８では、特徴量算出部１０７から受けた特徴量に基づき、特徴量が「２」である場合は図２０に示す注目画素の入力階調値から求まる閾値を用いて、また、特徴量が「０」もしくは「１」の場合は、第１の実施形態に示すように閾値を用いて量子化を行うことを決定して、決定した閾値情報を出力階調値決定部１０３へ送る。
出力階調値決定部１０３では、閾値選択部１０８が図２０に示す注目画素の入力階調値から求まる閾値を用いることを決定した場合は、注目画素の修正入力値が閾値より大きい場合、出力階調値は「２５５」、そうでなければ出力階調値は「０」とする。即ち、２種類の出力階調値、「０」と「２５５」との中から出力階調値を選択する。
量子化誤差算出部１０４では、特徴量が「２」の場合、即ち、閾値選択部１０８が図２０に示す注目画素の入力階調値から求まる閾値を用いることを決定した場合は、出力階調値を修正出力値として、前記修正入力値から前記修正出力値を減じた値を量子化誤差として量子化誤差バッファ１０５に格納する。
【００４４】
図１７を用いて図２に示す注目画素の入力階調値と閾値との関係の設計方法について説明する。
まず、入力階調値ｄに対して閾値を求めるために、十分大きな入力階調値ｄのベタ画像を入力画像として用意する。ここでは、図１７の１５０１で示す１０００ｄｏｔ四方の画像とする。
次に、仮の閾値ｔを与える。
次に、用意したベタ画像に対して仮の閾値ｔを用いた中間調処理を行う。ここで、図１の閾値選択部１０８では注目画素の入力階調値から求まる閾値を用いることを決定した場合の処理を行い、画素位置毎に若干の閾値を変化させるノイズを重畳して、所定の範囲で発生している平均量子化誤差を求める。ここでは、所定の範囲を図１７の１５０２で示す２５５ｄｏｔ四方の領域における平均量子化誤差を求める。
【００４５】
修正入力値が仮の閾値ｔを超えた場合は出力階調値、及び修正出力値を「２５５」とし、そうでない場合は出力階調値、及び修正出力値を「０」とする。
仮の閾値ｔを「０」から「２５５」まで１刻みで変えて以上の作業を繰り返すことで、入力階調値ｄに対して平均量子化誤差が最も「０」に近い閾値を得る。
さらに、入力階調値ｄを変えて以上の作業を繰り返すことで、入力階調値に対応する平均量子化誤差が最も「０」に近い閾値の関係を得、必要であればこの関係の急激な変化を抑えるよう補正を加えて図２０の関係を得る。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施形態に係る画像処理装置の構成を示した図である。
【図２】注目画素の入力階調値と閾値との関係を示した図である。
【図３】画素位置毎の出力階調値の一例を示した図である。
【図４】画素位置毎の出力階調値に対応する修正出力値の一例を示した図である。
【図５】誤差マトリクスの一例を示した図である。
【図６】誤差マトリクスの一例を示した図である。
【図７】出力画素値を求める処理を示したフローチャートである。
【図８】閾値マトリクスの他の例を示した図である。
【図９】各座標の一例を示した図である。
【図１０】出力ドットパターンの平均明度を測定した測定結果の一例を示した図である。
【図１１】各出力ドットパターンに対応する入力諧調値を示した図である。
【図１２】画素位置毎の出力階調値に対応する修正出力値の一例を示した図である。
【図１３】画素位置毎の出力階調値に対応する修正出力値の一例を示した図である。
【図１４】各座標の一例を示した図である。
【図１５】図８に示した出力ドットパターンに対応する修正入力値を示した図である。
【図１６】図８に示した出力ドットパターンに対応する修正入力値を示した図である。
【図１７】図２に示す注目画素の入力階調値と閾値との関係の設計方法の説明図である。
【図１８】第１の実施形態による入力階調値と閾値との関係を示した図である。
【図１９】注目画素及びその周辺画素の計５×５画素を参照するフィルタ演算により求めた値を示した図である。
【図２０】第２の実施形態による入力階調値と閾値との関係を示した図である。
【符号の説明】
【００４７】
１０１…画像入力部、１０２…修正入力値算出部、１０３…出力階調値決定部、１０４…量子化誤差算出部、１０５…量子化誤差バッファ、１０６…量子化誤差和算出部、１０７…特徴量算出部、１０８…閾値選択部
【図１】
2008078832.tif 000006
【図２】
2008078832.tif 000007
【図３】
2008078832.tif 000008
【図４】
2008078832.tif 000009
【図５】
2008078832.tif 000010
【図６】
2008078832.tif 000011
【図７】
2008078832.tif 000012
【図８】
2008078832.tif 000013
【図９】
2008078832.tif 000014
【図１０】
2008078832.tif 000015
【図１１】
2008078832.tif 000016
【図１２】
2008078832.tif 000017
【図１３】
2008078832.tif 000018
【図１４】
2008078832.tif 000019
【図１５】
2008078832.tif 000020
【図１６】
2008078832.tif 000021
【図１７】
2008078832.tif 000022
【図１８】
2008078832.tif 000023
【図１９】
2008078832.tif 000024
【図２０】
2008078832.tif 000025