(57)【要約】【課題】特徴量を参照して閾値を切り替える誤差拡散処理において、特徴量の切り替わり部において出現する不要なドットを抑制することを可能とする。【解決手段】特徴量算出回路１１では、入力多値データから注目画素及びその注目画素の周辺画素を参照し特徴量を算出し、ＭＵＸ１７，ＭＵＸ１８へ出力する。ＭＵＸ１８では、注目画素の特徴量を参照し誤差拡散演算に使用する閾値を閾値保持手段１８０，１８１に夫々保持されたｎ−１個の閾値Ｔｈ０，Ｔｈ１との間で切り替え、量子化器１３へ出力する。ＭＵＸ１７では、注目画素の特徴量を参照し誤差拡散演算に使用する出力値を出力値保持手段１７０，１７１のｎ個の出力値Ｃｏｕｔ０，Ｃｏｕｔ１との間で切り替え、量子化器１３へ出力する。量子化器１３では、入力された閾値，出力値から量子化出力値を求め、外部出力し、他の注目画素の演算のため差分器１４へ出力する。【選択図】　　　　図１
2004088286.tif 000002
【特許請求の範囲】
【請求項１】
注目画素及び該注目画素の周辺画素を参照して特徴量を算出する特徴量算出手段と、前記注目画素の特徴量を参照して誤差拡散演算に使用する閾値を切り替える閾値切替手段とを有する誤差拡散処理装置であって、前記誤差拡散演算に用いる出力値を複数セット保持する出力値保持手段と、該当画素の特徴量を参照して出力値のセットを切り替える出力値切替手段とを有することを特徴とする誤差拡散処理装置。
【請求項２】
特徴量に対応する夫々の閾値の差に基づいて、前記誤差拡散演算に用いる出力値を決定することを特徴とする請求項１記載の誤差拡散処理装置。
【請求項３】
前記特徴量算出手段で算出された特徴量の変化を抽出する特徴量変化抽出手段を有し、前記出力値切替手段は、前記特徴量変化抽出手段における抽出結果に基づいて、特徴量が変化した箇所のみ、出力値のセットを切り替える手段を有することを特徴とする請求項１記載の誤差拡散処理装置。
【請求項４】
注目画素及び該注目画素の周辺画素を参照して特徴量を算出する特徴量算出手段と、前記注目画素の特徴量を参照して誤差拡散演算に使用する閾値を切り替える閾値切替手段と、前記誤差拡散演算に用いる出力値のセットを保持する出力値保持手段とを有する誤差拡散処理装置であって、前記特徴量算出手段で算出された特徴量の変化を抽出する特徴量変化抽出手段と、該特徴量変化抽出手段における抽出結果に基づいて、特徴量が変化した箇所でのみ、周辺誤差を係数で割り、誤差伝播を抑制する誤差伝播抑制手段とを有することを特徴とする誤差拡散処理装置。
【請求項５】
注目画素及び該注目画素の周辺画素を参照して特徴量を算出する特徴量算出手段と、前記注目画素の特徴量を参照して誤差拡散演算に使用する閾値を切り替える閾値切替手段と、前記誤差拡散演算に用いる出力値のセットを保持する出力値保持手段とを有する誤差拡散処理装置であって、画素毎に異なる閾値をもつ閾値テーブルと、前記閾値切替手段に画素毎に異なる閾値を入力する手段と、前記閾値テーブルの平均値を出力値のセットとして設定又は保持する手段と、該当画素の特徴量を参照して出力値のセットを切り替える出力値切替手段とを有することを特徴とする誤差拡散処理装置。
【請求項６】
注目画素及び該注目画素の周辺画素を参照して特徴量を算出する特徴量算出手段と、前記注目画素の特徴量を参照して誤差拡散演算に使用する閾値を切り替える閾値切替手段と、前記誤差拡散演算に用いる出力値のセットを保持する出力値保持手段とを有する誤差拡散処理装置であって、画素毎に異なる閾値をもつ閾値テーブルと、前記閾値切替手段に画素毎に異なる閾値を入力する手段と、前記閾値テーブルから注目画素に対する誤差マトリックス内の閾値の平均値を算出する閾値平均手段と、該閾値平均手段で算出した閾値の平均値から適応的に出力値のセットを設定する手段と、該当画素の特徴量を参照して出力値のセットを切り替える出力値切替手段とを有することを特徴とする誤差拡散処理装置。
【請求項７】
請求項１乃至６のいずれか１記載の誤差拡散処理装置を備えた画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、誤差拡散処理装置及び画像処理装置に関する。本発明の応用分野としては、ディジタル複写機、プリンタ、複合機などが挙げられる。
【０００２】
【従来の技術】
レーザプリンタ，インクジェットプリンタなどでは、画像データを少値化し、ドットを形成して印字を行なう場合が多い。そのため、このようなプリンタや複写機などでは、読み取った多値画像データに対し、誤差拡散法や平均誤差最小法などにより少値量子化を施し、擬似的に中間階調を再現できるように変換する画像処理装置を用いている。
【０００３】
誤差拡散処理は、この少値化画像処理において重要な技術であり、注目画素を閾値と比較し、生じた閾値と注目画素の差分（誤差）を近傍の画素に重みを付け分散させ、少値化画像全体の階調性を高めるものである。
以下に、具体的な誤差拡散の演算内容を示す。
【０００４】
図８は、誤差拡散処理を説明するためのデータ例を示す図で、図８（Ａ）は誤差拡散処理に用いる誤差拡散マトリクスを、図８（Ｂ）は注目画素及びその周辺画素を、図８（Ｃ）は周辺画素の誤差を、夫々示す図である。図８中、１００は誤差拡散マトリックスを、１０１は注目画素を、１０２は周辺画素を、１０３は注目画素及びその周辺画素を、１０４は周辺画素の誤差を、夫々示している。
【０００５】
また、図９は一般的な誤差拡散処理回路の概略図で、図１０は従来技術による誤差拡散処理回路の一構成例を示す図である。図９に示すように一般的な誤差拡散処理回路１０５は、多値データを入力して誤差拡散処理を施し、その結果として量子化データを出力する回路である。
【０００６】
誤差拡散マトリクスとは周辺画素の誤差を重み付けする際の係数の集合であり、少値化中間階調処理の特性を規定するもので、サイズ，パラメータともに処理の目的に応じて異なる。
以下、図１０に示す誤差拡散処理回路１１０において、仮に図８（Ａ）に示したサイズ５×２の誤差拡散マトリクス１００を使用すると想定して、入力多値データ中の注目画素１０１に誤差拡散処理を施し、量子化データを生成して出力する演算処理を説明する。また、ここでは出力値がｎ値である誤差拡散について説明する。
【０００７】
図８（Ａ）に示したサイズ５×２の誤差マトリクス１００を使用した場合、注目画素１０１と同一ラインの画素２個（ｂ１，ｂ２）と前ラインの５個（ａ１，ａ２，ａ３，ａ４，ａ５）の画素データを周辺画素１０２とする。また、これらの周辺画素１０２が夫々量子化された際の誤差１０４を、図８（Ｃ）に示すように、Ｅａ１，Ｅａ２，Ｅａ３，Ｅａ４，Ｅａ５，Ｅｂ１，Ｅｂ２とする。また、周辺画素１０２に対応する誤差拡散マトリクス重み付け係数を、図８（Ａ）に示すように、Ｐａ１，Ｐａ２，Ｐａ３，Ｐａ４，Ｐａ５，Ｐｂ１，Ｐｂ２とする。
【０００８】
誤差拡散処理回路１１０は、加算器１１２と、量子化器１１３と、差分器１１４と、誤差ＦＩＦＯ（Ｆｉｒｓｔ　Ｉｎ　Ｆｉｒｓｔ　Ｏｕｔ）回路１１５と、誤差マトリクス演算回路１１６と、ｎ個の出力値Ｃｏｕｔを保持する出力値保持手段１１７と、ｎ−１個の閾値Ｔｈを保持する閾値保持手段１１８とを備えるものとする。なお、出力値保持手段１１７及び閾値保持手段１１８は、量子化器１１３内に組み込んでもよいし、また出力値Ｃｏｕｔ，閾値Ｔｈを、夫々のレジスタに、或いは夫々別のＲＡＭ等の記憶装置や同じ記憶装置に保持してもよい。誤差マトリクス演算回路１１６は、誤差拡散マトリクス１００の各係数Ｐａ１，Ｐａ２，Ｐａ３，Ｐａ４，Ｐａ５，Ｐｂ１，Ｐｂ２が周辺画素１０２の誤差に乗算される回路構成をもち、各係数は各係数のレジスタや別途設けられた記憶装置に格納、保持される形態を採用してもよい。
【０００９】
誤差マトリクス演算回路１１６では、入力された多値データから、まず注目画素１０１に対する周辺画素１０２の誤差の重み付け総和Ｅｓｕｍを、下式（１）により算出し、注目画素１０１に加算されるべき分配誤差Ｅｍｔｘを算出する。分配誤差Ｅｍｔｘは、周辺誤差の重み付け総和Ｅｓｕｍを、下式（２）で表される重み付け係数の総和Ｐｓｕｍで割った値となる（下式（３）参照）。
【００１０】
【数１】
2004088286.tif 000003
【００１１】
加算器１１２では、入力画像の濃度Ｉに、誤差マトリクス演算回路１１６における演算結果である分配誤差Ｅｍｔｘを加算したＳｕｍ（下式（４）参照）を、量子化結果として量子化器１１３及び差分器１１４へ出力する。量子化結果は、Ｓｕｍと閾値Ｔｈと比較して決定する。なお、閾値Ｔｈの個数は量子化結果の値数ｎから１引いた個数（ｎ−１）になる。すなわち、量子化器１１３では、加算器１１２から入力されたＳｕｍに対し、ｎ−１個の閾値Ｔｈに基づいて各閾値に挟まれる値に対応する出力値Ｃｏｕｔを選択し、出力値として外部へ出力すると共に、差分器１１４へも出力する。
Ｓｕｍ＝Ｉ＋Ｅｍｔｘ　　　　　　　　　　　　　　　　　（４）
【００１２】
また、量子化結果に対応する出力値ＣｏｕｔとＳｕｍの差を注目画素の誤差Ｅｒｒとし、他の注目画素の演算に使用する。すなわち、差分器１１４では、出力値の誤差Ｅｒｒ（下式（５）参照）を、誤差マトリクス演算回路１１６に出力する。なお、誤差Ｅｒｒのうち前ラインの誤差Ｅａ１，Ｅａ２，Ｅａ３，Ｅａ４，Ｅａ５は、誤差ＦＩＦＯ回路１１５やその代替回路を経て１ライン分遅延させ、差分器１１４から直接入力される同一ラインの誤差Ｅｂ１，Ｅｂ２と共に誤差マトリクス演算回路１１６に入力されることとなる。
Ｅｒｒ＝Ｓｕｍ−Ｃｏｕｔ　　　　　　　　　　　　　　　（５）
【００１３】
以上のような一般的な誤差拡散処理においては、対象画面の全領域を画一的な方法で処理するため、一般的にテクスチャやワームと呼ばれる縞模様や、疑似輪郭が発生する問題があった。
【００１４】
この問題を解決するために、例えば、画像の特徴量（エッジ量）を抽出し、特徴量に応じ、量子化に用いるための閾値を切り替え等により変化させることで、入力画像の特性に応じた階調処理結果を出力する技術がある。この技術を、図１１に示す、従来技術による誤差拡散処理回路の他の構成例に基づいて説明する。ここでも、図１０の説明と同様に、仮に図８（Ａ）に示したサイズ５×２の誤差拡散マトリクス１００を使用して出力値がｎ値である誤差拡散処理を、図１０の誤差拡散処理回路１１０と同じ処理を省略して説明する。
【００１５】
誤差拡散処理回路１２０は、加算器１２２と、量子化器１２３と、差分器１２４と、誤差ＦＩＦＯ回路１２５と、誤差マトリクス演算回路１２６と、ｎ個の出力値Ｃｏｕｔを保持する出力値保持手段１２７とに加え、ｎ−１個の閾値を複数セット（ここでは２セット）保持する閾値保持手段１２８０，１２８１と、閾値切替回路（ＭＵＸ：マルチプレクサ）１２８と、特徴量算出回路１２１を備えるものとする。閾値保持手段１２８０，１２８１は例えば共通の記憶装置であってもよい。特徴量算出回路１２１では、入力多値データから注目画素１０１及びその注目画素の周辺画素１０２を参照して、エッジ等の特徴量を算出し、ＭＵＸ１２８へ特徴量を出力する。ＭＵＸ１２８では、注目画素１０１の特徴量を参照し、誤差拡散演算に使用する閾値を、閾値保持手段１２８０，１２８１に夫々保持されたｎ−１個の閾値Ｔｈ０とｎ−１個の閾値Ｔｈ１との間で切り替え、量子化器１２３へ出力する。
【００１６】
しかしながら、上述のごとき閾値の切り替えを行った場合、特徴量が変化する領域において正確な階調処理が実行できない場合がある。具体的には特徴量変化前の誤差が大きく、特徴量変化後の閾値が低かった場合、影のような画像が生じてしまう。
【００１７】
図１２は、特徴量変化領域における階調処理に際して生じ得る影の一例を示す図で、図１３は、図１２の影が生ずる原因を説明するための図である。
上述した影とは、例えば、ある特徴量（特徴量０とする）をもつ領域１３０と他の特徴量（特徴量１とする）をもつ領域１３１とが存在した場合、それら領域１３０，１３１の境界に、階調処理に際して生じ得る不正なドット１３２のことである。
【００１８】
図１３を参照してこの不正なドット１３２が生じ得る原因を説明する。図１３のような、データ入力時に特徴量領域１→０と変化する画像において、特徴量１の領域１３１に画素Ａ（１３４）、特徴量０の領域１３０に画素Ｂ（１３５）があり、特徴量領域１３１での閾値をＴｈ１、特徴量領域１３０での閾値をＴｈ０であるとする。ここで、画素Ａ，Ｂともに入力画像濃度は０であるとする。
【００１９】
特徴量領域１３１にある画素Ａ（１３４）に階調処理を施したときの誤差が、Ｔｈ１より僅かに小さいＥｂ２であった場合、注目画素としての画素Ｂ（１３５）に対する周辺誤差、すなわち画素Ｂ（１３５）に加算されるべき分配誤差Ｅｓｕｍｂは、式（１）〜（３）を参照して、周辺画素Ａに対する誤差拡散マトリクス重み付け係数をＰｂ２として、下式（６）のようになる。この周辺誤差と画素Ｂ（１３５）の入力画像の濃度との和が、特徴量領域１３０の閾値Ｔｈ０より大きかった場合、入力画像濃度が０であるにも拘らず、ドットが出力されることになる。この不具合は、閾値が領域によって変動していることにより、誤差量が領域によって変動してしまうことが原因である。
Ｅｓｕｍｂ＝（画素Ａ以外の周辺誤差総和＋Ｅｂ２＊Ｐｂ２）／Ｐｓｕｍ…（６）
【００２０】
また、特開平９−２４７４５０号公報には、テクスチャやワームと呼ばれる縞模様や疑似輪郭を生じさせないことを目的とした画像処理装置が記載されている。同公報に記載の発明では、特徴量に応じ、誤差拡散のマトリックス（重み付け係数）や拡散範囲を変化させて階調処理を行っている。
【００２１】
しかしながら、同公報に記載の発明においても、図１１で示した誤差拡散処理回路と同様に、閾値が領域によって変動していることにより、誤差量が領域によって変動してしまい、図１２に示すような不正なドット（影）を生ずる場合がある。
【００２２】
【発明が解決しようとする課題】
本発明は、上述のごとき実情に鑑みてなされたものであり、蓄積誤差により不要なドットを生ずることもなく、特徴量の変化に応じて誤差拡散処理を行うことが可能な、誤差拡散処理装置、及びその装置を備えた画像処理装置を提供することをその目的とする。
【００２３】
【課題を解決するための手段】
請求項１の発明は、注目画素及び該注目画素の周辺画素を参照して特徴量を算出する特徴量算出手段と、前記注目画素の特徴量を参照して誤差拡散演算に使用する閾値を切り替える閾値切替手段とを有する誤差拡散処理装置であって、前記誤差拡散演算に用いる出力値を複数セット保持する出力値保持手段と、該当画素の特徴量を参照して出力値のセットを切り替える出力値切替手段とを有することを特徴としたものである。
【００２４】
請求項２の発明は、請求項１の発明において、特徴量に対応する夫々の閾値の差に基づいて、前記誤差拡散演算に用いる出力値を決定することを特徴としたものである。
【００２５】
請求項３の発明は、請求項１の発明において、前記特徴量算出手段で算出された特徴量の変化を抽出する特徴量変化抽出手段を有し、前記出力値切替手段は、前記特徴量変化抽出手段における抽出結果に基づいて、特徴量が変化した箇所のみ、出力値のセットを切り替える手段を有することを特徴としたものである。
【００２６】
請求項４の発明は、注目画素及び該注目画素の周辺画素を参照して特徴量を算出する特徴量算出手段と、前記注目画素の特徴量を参照して誤差拡散演算に使用する閾値を切り替える閾値切替手段と、前記誤差拡散演算に用いる出力値のセットを保持する出力値保持手段とを有する誤差拡散処理装置であって、前記特徴量算出手段で算出された特徴量の変化を抽出する特徴量変化抽出手段と、該特徴量変化抽出手段における抽出結果に基づいて、特徴量が変化した箇所でのみ、周辺誤差を係数で割り、誤差伝播を抑制する誤差伝播抑制手段とを有することを特徴としたものである。
【００２７】
請求項５の発明は、注目画素及び該注目画素の周辺画素を参照して特徴量を算出する特徴量算出手段と、前記注目画素の特徴量を参照して誤差拡散演算に使用する閾値を切り替える閾値切替手段と、前記誤差拡散演算に用いる出力値のセットを保持する出力値保持手段とを有する誤差拡散処理装置であって、画素毎に異なる閾値をもつ閾値テーブルと、前記閾値切替手段に画素毎に異なる閾値を入力する手段と、前記閾値テーブルの平均値を出力値のセットとして設定又は保持する手段と、該当画素の特徴量を参照して出力値のセットを切り替える出力値切替手段とを有することを特徴としたものである。
【００２８】
請求項６の発明は、注目画素及び該注目画素の周辺画素を参照して特徴量を算出する特徴量算出手段と、前記注目画素の特徴量を参照して誤差拡散演算に使用する閾値を切り替える閾値切替手段と、前記誤差拡散演算に用いる出力値のセットを保持する出力値保持手段とを有する誤差拡散処理装置であって、画素毎に異なる閾値をもつ閾値テーブルと、前記閾値切替手段に画素毎に異なる閾値を入力する手段と、前記閾値テーブルから注目画素に対する誤差マトリックス内の閾値の平均値を算出する閾値平均手段と、該閾値平均手段で算出した閾値の平均値から適応的に出力値のセットを設定する手段と、該当画素の特徴量を参照して出力値のセットを切り替える出力値切替手段とを有することを特徴としたものである。
【００２９】
請求項７の発明は、請求項１乃至６のいずれか１記載の誤差拡散処理装置を備えた画像処理装置である。
【００３０】
【発明の実施の形態】
図１は、本発明の一実施形態に係る誤差拡散処理装置の一構成例を示す図である。図２は、図１の誤差拡散処理装置において従来技術のごとき影が生じない理由を説明するための図である。なお、図１０の説明と同様に、図８（Ａ）に示したようなサイズ５×２の誤差拡散マトリクスを使用して出力値がｎ値である誤差拡散処理を想定し、図１０の誤差拡散処理回路と同じ処理を省略して説明する。
【００３１】
本実施形態に係る誤差拡散処理装置の一構成例としての誤差拡散処理回路１０は、誤差拡散処理において、特徴量を参照して閾値を切り替えた場合、特徴量の切り替わり部で蓄積誤差により不要なドットが影のように発生しないようにした回路であり、加算器１２と、量子化器１３と、差分器１４と、誤差ＦＩＦＯ回路１５と、誤差マトリクス演算回路１６と、ｎ個の出力値を複数セット（ここでは２セット）保持する出力値保持手段１７０，１７１と、出力値切替手段としての出力値切替回路（ここではマルチプレクサを例示）１７と、ｎ−１個の閾値を複数セット（ここでは２セット）保持する閾値保持手段１８０，１８１と、閾値切替手段としての閾値切替回路（ここではマルチプレクサを例示）１８と、特徴量算出手段としての特徴量算出回路１１を備えるものとする。閾値保持手段１８０，１８１や出力値保持手段１７０，１７１は、例えば共通の記憶装置であってもよい。
【００３２】
特徴量算出回路１１では、入力多値データから注目画素及びその注目画素の周辺画素を参照して、エッジ等の特徴量を算出し、ＭＵＸ１８へ特徴量を出力する。ＭＵＸ１８では、注目画素の特徴量を参照し、誤差拡散演算に使用する閾値を、閾値保持手段１８０，１８１に夫々保持されたｎ−１個の閾値Ｔｈ０とｎ−１個の閾値Ｔｈ１との間で切り替え、量子化器１３へ出力する。
【００３３】
出力値保持手段１７０，１７１は、特徴量０に対応する出力値セットＣｏｕｔ０，特徴量１に対応する出力値セットＣｏｕｔ１のレジスタであり、その他、上述のごとく共通の記憶装置として構成してもよい。特徴量算出回路１１では、ＭＵＸ１８へ特徴量を出力すると共に、ＭＵＸ１７へも特徴量を出力する。ＭＵＸ１７では、注目画素の特徴量を参照し、誤差拡散演算に使用する出力値（特徴量に対応する出力値）を、出力値保持手段１７０，１７１に夫々保持されたｎ個の出力値Ｃｏｕｔ０とｎ個の出力値Ｃｏｕｔ１との間で切り替え、量子化器１３へ出力する。
【００３４】
量子化器１３では、ＭＵＸ１８から入力された閾値のセット（Ｔｈ０又はＴｈ１）と、ＭＵＸ１７から入力された出力値のセット（Ｃｏｕｔ０又はＣｏｕｔ１）に基づいて、加算器１２から出力されたＳｕｍ（式（４）参照）が閾値セット（Ｔｈ０又はＴｈ１）のどの閾値間に値する値かを求め、出力値セット（Ｃｏｕｔ０又はＣｏｕｔ１）からその閾値間に対応する出力値を外部及び差分器１４へ出力する。差分器１４へ出力された出力値は、加算器１２から出力されたＳｕｍとの差を誤差Ｅｒｒとして誤差マトリクス演算回路１６にて、他の注目画素の演算に使用されることとなる。
【００３５】
本実施形態においては、式（５）で用いられている、量子化結果に対応する出力値を、特徴量領域に応じて複数もつ（すなわち出力値を複数セットもつ）ことによって、特徴量を参照して閾値を切り替えた場合、特徴量の切り替わり部で蓄積誤差により不要なドットが影のように発生しないようにしている。
【００３６】
図２を参照して不正なドットの出現を抑制できることを説明する。図２のような、データ入力時に特徴量領域１→０と変化する画像において、特徴量１の領域２１に画素Ａ（２４）、特徴量０の領域２０に画素Ｂ（２５）があり、画素Ａ，Ｂともに入力画像濃度は０であるとする。また、特徴量領域２１での閾値をＴｈ１１（閾値セットＴｈ１内の一番低い閾値）、特徴量領域２０での閾値をＴｈ０１（閾値セットＴｈ０内の一番低い閾値）とする。さらに、画素Ａ（２４）に対してはその特徴量１に対応して出力値セットＣｏｕｔ１がＭＵＸ１７にて選択されているものとし、そのＣｏｕｔ１における０〜Ｔｈ１１に対応する出力値をＣｏｕｔ１１とする。
【００３７】
特徴量領域２１にある画素Ａ（２４）に階調処理を施したときの誤差が、Ｔｈ１より僅かに小さいＥｂ２であった場合にも、注目画素としての画素Ｂ（２５）に対する周辺誤差、すなわち画素Ｂ（２５）に加算されるべき分配誤差Ｅｓｕｍｂは、周辺画素Ａに対する誤差拡散マトリクス重み付け係数をＰｂ２として、式（６）のようになる。Ｃｏｕｔ１１を通常より閾値Ｔｈ１１に近い値に設定することで、画素Ａ（２４）での誤差（＝周辺誤差Ｅｂ２＋入力画像（＝０）−Ｃｏｕｔ１１）は、従来の方法による誤差（＝周辺誤差Ｅｂ２＋入力画像（＝０）−０）より小さくなり、画素Ｂ（２５）における不正なドットの出現を抑制することができる。これは、周辺誤差と画素Ｂ（２５）の入力画像の濃度との和が、特徴量領域２０の閾値Ｔｈ０１より小さいためである。
【００３８】
本実施形態によれば、特徴量を参照して閾値を切り替える誤差拡散処理において、特徴量の切り替わり部において出現する不要なドットを抑制することが可能となる。誤差拡散処理のワームやテクスチャ対策として、画素毎に異なる閾値を使用する技術（閾値テーブルをタイル上に用いる）ことがある（後述する）が、この手法においては、閾値が極端に低くなるケースがあり、本発明の対応がより有効に機能する。
【００３９】
図１で説明した誤差拡散処理回路１０では、誤差拡散に用いる出力値のセット（Ｃｏｕｔ１又はＣｏｕｔ２）を夫々設定する必要があるが、ユーザが実際に値を設定し、出力画像を確認することで経験的に設定することがその一例として挙げられる。しかしながら、設定者の経験に頼らないとならず不便である。
【００４０】
そこで、本発明の他の実施形態に係る誤差拡散処理装置（図示せず）として、誤差拡散演算に用いる出力値を、特徴量に対応する夫々の閾値の差に基づいて決定するようにすればよい。出力値のセットを複数用意しておき、新たな出力値のセットを決定してもよいし、特徴量に対応する夫々の閾値の差に基づいて予め決定した出力値を用意しておいてもよい。前者の場合、例えば、図１の誤差拡散処理回路１０におけるＭＵＸ１７において、この出力値を後述するように算出し決定することとなる。そのため、本実施形態に係る誤差拡散処理装置の一構成例としての誤差拡散処理回路は、図１の誤差拡散処理回路１０においてＭＵＸ１７が閾値保持手段１８０，１８１と直接或いはＭＵＸ１８を介して、接続されているものとする。
【００４１】
図２を再度参照すると、特徴量領域２１に対して、閾値Ｔｈ１１と演算に用いる出力値Ｃｏｕｔ１１をもち、特徴量領域２０に対して、閾値Ｔｈ０１と演算に用いる出力値Ｃｏｕｔ０１をもつ回路においては、特徴量１の領域２１に比して特徴量０の領域２０では誤差がＴｈ１１−Ｔｈ０１だけ大きくなる。したがって、演算に用いる出力値Ｃｏｕｔ０１，Ｃｏｕｔ１１を下式（７）に基づき算出するとよい。この出力値を設定することで、最適な階調処理を実行することができる。
Ｃｏｕｔ０１＝Ｃｏｕｔ１１−α×（Ｔｈ１１−Ｔｈ０１）　　　　　（７）
（αは重み付け係数で通常は１とする）
【００４２】
実際には、各閾値間で式（７）と同様の式（Ｃｏｕｔ０＝Ｃｏｕｔ１−α（Ｔｈ１−Ｔｈ０）に基づいて、各閾値間に対応する出力値Ｃｏｕｔ０を設定しておくことで、最適な階調処理を実行することができる。
本実施形態によれば、設定者の経験に頼らずとも、適切な出力値を設定することができ、良好な階調処理結果を得ることが可能となる。
【００４３】
上述したいずれの実施形態に係る誤差拡散処理装置においても、特徴量に応じて閾値，出力値を切り替えているので、特徴量が変化しない箇所で出力値が大きいままであると、階調性が悪くなる場合がある。すなわち、特徴量が同じ箇所全てに同じ出力値を用いて誤差拡散演算を行っており、ハイライト部などでノイズを生じることがある。具体的には、ハイライト領域において、量子化結果０を出力した際のＣｏｕｔ１１が０以外であると誤差が早くたまり、余分なノイズが生じ、画質上不利となる。
【００４４】
図３は、本発明の他の実施形態に係る誤差拡散処理装置の一構成例を示す図である。
本発明の他の実施形態に係る誤差拡散処理装置は、特徴量が変化しない箇所でも階調性が悪くならないようにした回路であり、その一構成例を図３中に誤差拡散処理回路３０として例示する。なお、本実施形態に係る誤差拡散処理回路３０に関し、図１で説明した誤差拡散処理回路１０と同じ部分の説明は省略する。
【００４５】
誤差拡散処理回路３０は、誤差拡散処理において、特徴量を参照して閾値を切り替えた場合、特徴量の切り替わり部で蓄積誤差により不要なドットが影のように発生しないようにした回路であり、加算器３２と、量子化器３３と、差分器３４と、誤差ＦＩＦＯ回路３５と、誤差マトリクス演算回路３６と、ｎ個の出力値を複数セット（ここでは２セット）保持する出力値保持手段３７０，３７１と、出力値切替手段としての出力値切替回路（ここではマルチプレクサを例示）３７と、ｎ−１個の閾値を複数セット（ここでは２セット）保持する閾値保持手段３８０，３８１と、閾値切替手段としての閾値切替回路（ここではマルチプレクサを例示）３８と、特徴量算出手段としての特徴量算出回路３１とを備え、さらに、特徴量変化抽出手段としての特徴量変化抽出回路３９を備えるものとする。
【００４６】
特徴量変化抽出回路３９は、特徴量算出回路３１からそこで算出された特徴量を入力し、特徴量の変化を算出（抽出）する回路である。特徴量算出回路３１で算出された特徴量は、直接ＭＵＸ３７へ入力されるのではなく、特徴量変化抽出回路３９を介してＭＵＸ３７へ入力されることとなる。ＭＵＸ３７では、通常は一方の出力値セット（例えば出力値Ｃｏｕｔ１）を使用するものとしておき、特徴量変化抽出回路３９にて算出される特徴量変化に基づいて、特徴量が変化した個所（特徴量が変化する領域）のみ出力値を切り替えて他方の出力値セット（例えば出力値Ｃｏｕｔ０）を量子化器３３へ出力する。なお、特徴量算出回路３１からＭＵＸ３８へ特徴量を出力してもよい。
本実施形態によれば、階調処理結果のノイズ等の低減が可能となる。
【００４７】
図４は、本発明の他の実施形態に係る誤差拡散処理装置の一構成例を示す図である。
本発明の他の実施形態に係る誤差拡散処理装置は、特徴量が変化しない箇所でも階調性が悪くならないようにした、図３の誤差拡散処理回路３０の代替回路であり、その一構成例を図４中に誤差拡散処理回路４０として例示する。なお、本実施形態に係る誤差拡散処理回路４０に関し、図３で説明した誤差拡散処理回路３０と同じ部分の説明は省略する。
【００４８】
誤差拡散処理回路４０は、誤差拡散処理において、特徴量を参照して閾値を切り替えた場合、特徴量の切り替わり部で蓄積誤差により不要なドットが影のように発生しないようにした回路であり、加算器４２と、量子化器４３と、差分器４４と、誤差ＦＩＦＯ回路４５と、誤差マトリクス演算回路４６と、ｎ個の出力値を保持する出力値保持手段４７と、ｎ−１個の閾値を複数セット（ここでは２セット）保持する閾値保持手段４８０，４８１と、閾値切替手段としての閾値切替回路（ここではマルチプレクサを例示）４８と、特徴量算出手段としての特徴量算出回路４１を備え、さらに、特徴量変化抽出手段としての特徴量変化抽出回路４９及び誤差伝播抑制手段としての誤差伝播抑制回路５０を備えるものとする。
【００４９】
誤差拡散処理回路４０は、図３で説明した誤差拡散処理回路３０における、ｎ個の出力値を複数セット保持する出力値保持手段３７０，３７１と、出力値切替手段としての出力値切替回路３７との代わりに、単にｎ個の出力値を保持する出力値保持手段４７と、誤差伝播抑制回路５０とを備えたものであり、誤差拡散処理回路３０における効果と同じ効果を得るために、特徴量の切り替わり部分のみで誤差拡散マトリクス演算回路４６の演算結果をある係数で割り、小さくすることで誤差の伝播を抑えるようにしたものである。
【００５０】
誤差伝播抑制回路５０は、特徴量変化抽出回路４９に接続され、そこから出力された特徴量が変化した個所でのみ、周辺誤差を係数で割り、誤差伝播を抑制する回路であり、誤差マトリクス演算回路４６と加算器４２との間に設けられている。
【００５１】
すなわち、誤差伝播抑制回路５０は、特徴量の変化部でのみ、下式（８）のごとく周辺誤差を伝播抑制係数Ｒｓで割る機能を有する。なお、伝播抑制係数Ｒｓが２の倍数である場合は、ビットシフトで構成できるため、回路動作上も負荷にならずに済む。
Ｅｍｔｘ＝Ｅｓｕｍ÷Ｐｓｕｍ÷Ｒｓ　　　　　　　　　　　　（８）
【００５２】
図５は、本発明の他の実施形態に係る誤差拡散処理装置における閾値テーブルの概念を説明するための図で、図５（Ａ）は誤差拡散処理に用いる誤差拡散マトリクスにおける注目画素及びその周辺画素に対して用いる閾値の例を示す図、図５（Ｂ）は入力画像に対して割り当てられた閾値が格納された閾値テーブルの例を示す図である。図５中、６０はサイズ５×２の誤差拡散マトリックスの閾値を、６１は注目画素を、６２は周辺画素を、６５は入力画像を、６６は入力画像６５の各タイルを、６７は各タイル６６毎に設定された閾値テーブルを、夫々示している。
【００５３】
誤差拡散処理のワームやテクスチャ対策として、画素毎に異なる閾値を使用する技術がある。例えば、図５（Ｂ）に示すように、閾値テーブル６７を、入力画像６５を所定領域で分割したタイル６６上に用いる技術である。この場合の誤差拡散マトリクスの閾値６０は図５（Ａ）のようになり、このような階調処理においては、閾値が画素毎に異なるため、上述した、特徴量に対応する夫々の閾値の差に基づいて誤差拡散演算に用いる出力値を決定するような手法が適用できない。すなわち、上述した、特徴量に対応する夫々の閾値の差に基づいて誤差拡散演算に用いる出力値を決定するような手法は、特徴量ごとに閾値が決まっている場合のみに適用可能であるため、１画素毎に異なる閾値を使用する誤差拡散処理（閾値テーブル６７をタイル６６上に用いる）においては適用できない。
【００５４】
そこで本発明の他の実施形態として、閾値テーブル６７の平均値を式（７）に適用することで、同様の効果を実現するようにしてもよい。本実施形態に係る誤差拡散処理装置（図示せず、後述の図６参照）では、閾値保持手段にて、画素毎に異なる閾値テーブル６７を保持している。さらに、本実施形態に係る誤差拡散処理装置では、閾値テーブル６７の平均値を求め、出力値のセットとして設定する手段（或いは閾値テーブル６７の平均値を求めておきそれを出力値のセットとして保持する手段（出力値保持手段に予め保持しておいてもよい））と、閾値テーブル６７に基づき画素毎に異なる閾値を閾値切替回路に入力する手段を備えるものとする。出力値保持手段にて保持する出力値は１セットあればよく（複数セットあってもよい）、出力値切替手段では、保持された出力値セットと、設定された出力値セットとで、該当画素の特徴量を参照して切り替える。
【００５５】
本実施形態によれば、画素毎に異なる閾値を使用する誤差拡散処理にあっても、設定者の経験に頼らずとも適切な出力値を設定することができ、良好な階調処理結果を得ることが可能となる。
【００５６】
図５を参照して説明した実施形態に係る誤差拡散処理装置においては、テーブル全体の閾値の平均を用いており、閾値が大きく変動する場合には画素によって使用される閾値と平均値の差が大きくなり、正しい処理とならない場合がある。すなわち、閾値テーブルの振り幅が大きい場合、求める効果が得られない場合がある。
【００５７】
図６は、本発明の他の実施形態に係る誤差拡散処理装置の一構成例を示す図である。
本発明の他の実施形態に係る誤差拡散処理装置は、閾値テーブルの振り幅が大きい場合でも、設定者の経験に頼らずに適切な出力値を設定することができ、良好な階調処理結果を得るようにした回路であり、その一構成例を図６中に誤差拡散処理回路７０として例示する。なお、本実施形態に係る誤差拡散処理回路７０に関し、図１で説明した誤差拡散処理回路１０と同じ部分の説明は省略する。
【００５８】
誤差拡散処理回路７０は、誤差拡散処理において、特徴量を参照して閾値を切り替えた場合、特徴量の切り替わり部で蓄積誤差により不要なドットが影のように発生しないようにした回路であり、加算器７２と、量子化器７３と、差分器７４と、誤差ＦＩＦＯ回路７５と、誤差マトリクス演算回路７６と、ｎ個の出力値を保持する出力値保持手段７７０と、出力値切替手段としての出力値切替回路（ここではマルチプレクサを例示）７７と、画素毎に異なる閾値をもつ閾値テーブルを複数セット（ここでは２セット）保持する閾値保持手段７８０，７８１と、閾値切替手段としての閾値切替回路（ここではマルチプレクサを例示）７８と、特徴量算出手段としての特徴量算出回路７１とを備えるものとする。閾値切替回路７８へは、閾値テーブルに基づき画素毎に異なる閾値を入力することとなる。
【００５９】
さらに、誤差拡散処理回路７０は、閾値テーブルの平均値を求めて閾値の平均値から適応的に出力値セットを決定し設定する手段として、平均値算出回路８４０，８４１、減算器８２，８３、重み付け回路８１を備えるものとする。平均値算出回路８４０，８４１は、閾値保持手段７８０，７８１の夫々に接続され、夫々で保持された閾値のテーブルのセットＴｈ０，Ｔｈ１から、夫々閾値テーブル上の閾値の平均値を算出する回路であり、閾値テーブルから注目画素に対する誤差マトリクス内の閾値の平均値を算出する閾値平均手段の一構成例である。上述の実施形態と異なり、平均値算出回路８４０，８４１では、注目画素６１に対する誤差マトリックス内（の周辺画素６２）の閾値の平均値を算出する（図５（Ａ）参照）。
【００６０】
注目画素に対する周囲の誤差マトリックス内の閾値を図５（Ａ）にあるようにＴａ１，Ｔａ２，Ｔａ３，Ｔａ４，Ｔａ５，Ｔｂ１，Ｔｂ２とし、マトリックスのセル数をＣｎ（この場合は７）とすると、誤差マトリクス内の閾値の平均値Ｔａｖｅは下式（９）で表すことができる。
【００６１】
【数２】
2004088286.tif 000004
【００６２】
そして、閾値の平均値から特徴量毎に適応的に出力値を算出し決定する。例えば、特徴量０に対応する閾値平均値Ｔａｖｅ０、特徴量１に対応する閾値平均値Ｔａｖｅ１とし、以下の式（１０）を適用し、注目画素の出力値を決定する。ここで、αは重み付け係数で通常は１とする。これにより閾値テーブルに対して適応的に出力値を設定することができ、特徴量切り替え部の影の不具合を解消することができる。
Ｃｏｕｔ１＝Ｃｏｕｔ０−α×（Ｔａｖｅ１−Ｔａｖｅ０）　　（１０）
【００６３】
誤差拡散処理回路７０で示す構成例では、減算器８２，８３と重み付け回路８１とを用いて上式（１０）の演算を実現している。すなわち、まず、閾値保持手段７８０，７８１に格納された閾値テーブルＴｈ０，Ｔｈ１の誤差拡散マトリックス内の閾値の平均値Ｔａｖｅ０，Ｔａｖｅ１を求め、それらの差を減算器８３で算出する。次に、算出した差（Ｔａｖｅ１−Ｔａｖｅ０）と出力値保持手段７７０に保持された出力値セットＣｏｕｔ０（セットの対応する出力値）との差を減算器８２で算出し、算出した差に基づいて重み付け回路８１で重み付けを行って（式（１０）のごとく差（Ｔａｖｅ１−Ｔａｖｅ０）に重み付けを行ってもよい）、出力値セットＣｏｕｔ１（対応する出力値）を設定し、出力値切替手段（ここではＭＵＸ７７）へ出力する。ＭＵＸ７７では、出力値保持手段７７０で保持された出力値セットＣｏｕｔ０と、設定された出力値セットＣｏｕｔ１とで、該当画素の特徴量を参照して切り替える。すなわち、本実施形態においては、注目画素に対する誤差マトリックス内の閾値の平均を算出する回路を設け、これを式（７）に適用することで、目的の効果を得るようにしている。
【００６４】
本実施形態によれば、振り幅の大きい閾値テーブルを用いても、設定者の経験に頼らずとも適切な出力値を設定することができ、良好な階調処理結果を得ることが可能となる。
【００６５】
以上、本発明の誤差拡散処理装置をモジュールとして実現する形態を中心に各実施形態を説明してきたが、上述した各実施形態における誤差拡散処理装置をコンピュータ（情報処理装置）にて実現する場合の形態の一構成例を、図７に示す一般的な情報処理装置の構成例を参照して説明する。
【００６６】
本発明に係る誤差拡散処理装置（或いは後述の画像処理装置）で取り扱われるデータは、その処理時に一時的にＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）９２に蓄積される。また、コンピュータを誤差拡散処理装置として機能させるための、ＣＰＵ９１の処理を記述する制御プログラム及び必要データ（閾値や出力値等）が、ＲＯＭ９３等の記憶部に蓄積されている。ＣＰＵ（中央演算処理装置）９１はこの制御プログラムを読み出すことにより、本発明に係る所定の誤差拡散処理を画像データに対して施し、プリンタ，通信ポート等の出力装置９６（或いはＣＲＴ，ＬＣＤ，ＰＤＰ等の表示装置９５）に出力することとなる。また、各種ユーザが使用する際に容易となるような表示装置９５用のグラフィカルユーザインターフェース（ＧＵＩ）を備え、閾値や出力値の設定画面、処理方法の選択画面、処理の途中経過や途中結果等は、表示装置９５を通してユーザに提示され、必要な場合には、キーボード，マウス（ポインティングデバイス）等からユーザが処理に必要なパラメータを入力指定するようにすればよい。また、その他の処理の実行中に作られる中間データもＲＡＭ９２に蓄積され、必要に応じて、ＣＰＵ９１によって読み出し、修正・書き込みが行われる。なお、ＣＰＵ９１，ＲＡＭ９２やＲＯＭ９３の記憶部，入力装置９４，表示装置９５，出力装置９６は、バス（内部バス）９７により接続されるか、各要素の一部がＬＡＮ等のネットワークを介して接続されていればよい。なお、通信ポートでは、ＣＰＵ９１による指示に従って、ＬＡＮやインターネットを介した通信等を制御する。
【００６７】
以上、本発明の誤差拡散処理装置を中心に各実施形態を説明してきたが、上述した各実施形態における誤差拡散処理装置の処理手順を実行する誤差拡散処理方法としての形態も、さらには上述した各実施形態における誤差拡散処理装置を備えた画像処理装置或いはその処理手順を実行する画像処理方法としての形態も採り得る。また、本発明は、コンピュータをそれら装置として機能させるための、或いはコンピュータにそれら装置の処理手順を実行させるためのプログラムとしても、或いは、そのプログラムを記録したコンピュータ読み取り可能な記録媒体としての形態も可能である。
【００６８】
さらに、本発明は、コンピュータを誤差拡散処理装置又は画像処理装置として機能させるための、或いはコンピュータにそれら装置の処理手順を実行させるためのプログラムやデータを記録したコンピュータ読み取り可能な記録媒体としての形態も可能である。記録媒体としては、具体的には、ＣＤ−ＲＯＭ、光磁気ディスク、ＤＶＤ−ＲＯＭ、ＦＤ、フラッシュメモリ、メモリスティック、及びその他各種ＲＯＭやＲＡＭ等が想定でき、これら記録媒体に上述した本発明の各実施形態の装置の機能をコンピュータに実行させ、誤差拡散処理の機能を実現するためのプログラムを記録して流通させることにより、当機能の実現を容易にする。そして図７で説明したような情報処理装置に上述のごとくの記録媒体を装着して、情報処理装置によりプログラムを読み出すか、若しくは情報処理装置が備えている記録媒体に当プログラムを記憶させておき、必要に応じて読み出すことにより、本発明に係わる誤差拡散処理の機能を実行することができる。
【００６９】
【発明の効果】
本発明によれば、特徴量を参照して閾値を切り替える誤差拡散処理において、特徴量の切り替わり部において出現する不要なドットを抑制することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る誤差拡散処理装置の一構成例を示す図である。
【図２】図１の誤差拡散処理装置において従来技術のごとき影が生じない理由を説明するための図である。
【図３】本発明の他の実施形態に係る誤差拡散処理装置の一構成例を示す図である。
【図４】本発明の他の実施形態に係る誤差拡散処理装置の一構成例を示す図である。
【図５】本発明の他の実施形態に係る誤差拡散処理装置における閾値テーブルの概念を説明するための図である。
【図６】本発明の他の実施形態に係る誤差拡散処理装置の一構成例を示す図である。
【図７】一般的な情報処理装置の構成例を示す図である。
【図８】誤差拡散処理を説明するためのデータ例を示す図である。
【図９】一般的な誤差拡散処理回路の概略図である。
【図１０】従来技術による誤差拡散処理回路の一構成例を示す図である。
【図１１】従来技術による誤差拡散処理回路の他の構成例を示す図である。
【図１２】特徴量変化領域における階調処理に際して生じ得る影の一例を示す図である。
【図１３】図１２の影が生ずる原因を説明するための図である。
【符号の説明】
１０，３０，４０，７０…誤差拡散処理回路、１１，３１，４１，７１…特徴量算出回路、１２，３２，４２，７２…加算器、１３，３３，４３，７３…量子化器、１４，３４，４４，７４…差分器、１５，３５，４５，７５…誤差ＦＩＦＯ回路、１６，３６，４６，７６…誤差マトリクス演算回路、１７０，１７１，３７０，３７１，４７，７７０…出力値保持手段、１７，３７，７７…出力値切替回路（ＭＵＸ）、１８０，１８１，３８０，３８１，４８０，４８１，７８０，７８１…閾値保持手段、１８，３８，４８，７８…閾値切替回路（ＭＵＸ）、３９，４９…特徴量変化抽出回路、５０…誤差伝播抑制回路、８１…重み付け回路、８２，８３…減算器、８４０，８４１…平均値算出回路。
【図１】
2004088286.tif 000005
【図２】
2004088286.tif 000006
【図３】
2004088286.tif 000007
【図４】
2004088286.tif 000008
【図５】
2004088286.tif 000009
【図６】
2004088286.tif 000010
【図７】
2004088286.tif 000011
【図８】
2004088286.tif 000012
【図９】
2004088286.tif 000013
【図１０】
2004088286.tif 000014
【図１１】
2004088286.tif 000015
【図１２】
2004088286.tif 000016
【図１３】
2004088286.tif 000017