(57)【要約】【課題】  平均誤差最小法を用いて二値化処理を行う画像処理装置において、ドット遅延の発生を抑制することを目的とする。【解決手段】  本プリンタ装置では、平均誤差最小法に基づき重み付け誤差和ｅ［ｉ，ｊ］を算出すると共に（Ｓ３２０）、閾値ｔｈを決定する（Ｓ３３０）。具体的には、変数Ｉ値が大きいほど閾値ｔｈを小さい値（大きなマイナス値）にする。そしてｅ［ｉ，ｊ］が閾値ｔｈ未満であると、変数Ｉの値を補正するためのｅ０の値を、ｅ０＝ｅ［ｉ，ｊ］からｅ０＝ｔｈに変更する（Ｓ３４５）。本プリンタ装置では、このｅ０を変数Ｉに加えて、濃度値Ｉｃを得る（Ｓ３５０）。従ってｅ［ｉ，ｊ］が過度に大きいマイナス値となった場合、濃度値Ｉｃは、通常時の濃度値Ｉｃ＝Ｉ＋ｅ［ｉ，ｊ］より大きな値をとる。本プリンタ装置では、この濃度値Ｉｃが基準値ｔｈｒｅ以上であるとドット出力をオンにする（Ｓ３６３）。【選択図】  図５
2005244795.tif 000002
【特許請求の範囲】
【請求項１】
各画素の濃度値が多値表現された多値画像データを二値化する画像処理装置であって、
前記多値画像データから、二値化する画素の濃度値を取得する取得手段と、
前記取得手段が取得した前記画素の濃度値を補正するための補正値を、周辺画素の重み付け誤差に基づいて算出する補正値算出手段と、
前記補正値算出手段が算出した補正値が閾値以上であると、前記取得手段が取得した前記画素の濃度値に、前記補正値算出手段が算出した補正値を加算して、前記画素の濃度値を補正し、前記補正値算出手段が算出した補正値が閾値未満であると、前記取得手段が取得した前記画素の濃度値に、前記補正値算出手段が算出した補正値より大きい値を加算して、前記画素の濃度値を補正する補正手段と、
前記補正手段による補正後の濃度値を、所定の基準値と比較して、二値化する二値化手段と、
前記取得手段が取得した前記画素の濃度値に基づき、前記閾値を決定する閾値決定手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記補正手段は、前記補正値算出手段が算出した補正値が、前記閾値決定手段が決定した閾値未満であると、前記取得手段が取得した前記画素の濃度値に、前記補正値算出手段が算出した補正値より大きい値として、前記閾値決定手段が決定した閾値を加算し、前記画素の濃度値を補正することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記閾値決定手段は、前記二値化手段により用いられる前記基準値を加味して、前記取得手段が取得した前記画素の濃度値に基づき、前記閾値を決定することを特徴とする請求項１又は請求項２記載の画像処理装置。
【請求項４】
前記閾値決定手段は、前記画素の濃度値が大きくなるに従って、前記閾値を、小さい値に決定することを特徴とする請求項１〜請求項３のいずれかに記載の画像処理装置。
【請求項５】
前記閾値決定手段は、前記画素の濃度値が大きくなると小さい値を示す一次関数を用いて、前記閾値を決定することを特徴とする請求項４記載の画像処理装置。
【請求項６】
乱数を生成する乱数生成手段、
を備え、
前記補正手段は、前記補正値算出手段が算出した補正値が閾値未満であると、前記取得手段が取得した前記画素の濃度値に、前記補正値算出手段が算出した補正値より大きい値として、前記閾値決定手段が決定した閾値を加算すると共に、前記乱数生成手段が生成した乱数を加算して、前記画素の濃度値を補正することを特徴とする請求項１〜請求項５のいずれかに記載の画像処理装置。
【請求項７】
請求項１〜請求項５のいずれかに記載の画像処理装置における前記取得手段、前記補正値算出手段、前記補正手段、前記二値化手段、及び、前記閾値決定手段としての機能を、コンピュータに実現させるためのプログラム。
【請求項８】
請求項６記載の画像処理装置における前記取得手段、前記補正値算出手段、前記補正手段、前記二値化手段、前記閾値決定手段、及び、前記乱数生成手段としての機能を、コンピュータに実現させるためのプログラム。
【請求項９】
請求項１〜請求項６のいずれかに記載の画像処理装置と、
該画像処理装置により二値化された画像データに基づく画像を、記録媒体に形成する画像形成手段と、
を備えることを特徴とする画像形成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各画素の濃度値が多値表現された多値画像データを二値化する画像処理装置、及び、それに用いるプログラム、並びに、その画像処理装置を用いた画像形成システムに関する。
【背景技術】
【０００２】
従来より、多値画像データを構成する各画素の濃度値を、所定の基準値と比較し、濃度値が基準値以上であれば、出力値を「１」とし（換言するとドット出力をオンにし）、濃度値が基準値未満である場合には、出力値を「０」として（換言するとドット出力をオフにして）、多値画像データを二値化する二値化処理方法が知られている（例えば、特許文献１参照）。二値化処理では基準値以上の濃度値を全て「１」とするため、多値表現された画素の濃度と二値化された画素の濃度には、誤差が生じる。このため、二値化処理では、上記誤差の補正を行うために、誤差拡散法や平均誤差最小法などが用いられる。
【０００３】
平均誤差最小法は、注目画素の濃度値に、既に二値化した周辺画素の重み付け誤差を加算して補正し、その補正後の濃度値を基準値と比較して、二値化するものである。この平均誤差最小法では、誤差を重み付けするために、Ｍ行Ｎ列の誤差配分マトリックスＷ［ｍ，ｎ］が用いられる。
【０００４】
例えば、座標（ｉ，ｊ）に位置する画素を注目画素とする。この注目画素の濃度値を補正するための補正値ｅ［ｉ，ｊ］は、平均誤差最小法によって次のように算出される。尚、この補正値ｅ［ｉ，ｊ］は、下式に示すように、周辺画素の重み付け誤差の和である。座標（ｉ，ｊ）の補正値ｅ［ｉ，ｊ］算出の際には、既に二値化処理が終了した注目画素周囲の画素群（集合Ｋ）に属する各画素（Ｋｍ，Ｋｎ）の誤差値Ｅ［Ｋｍ，Ｋｎ］が用いられる。下式の総和記号は、集合（ｍ，ｎ）についての総和を表すものとする。
【０００５】
【数１】
2005244795.tif 000003
【０００６】
補正値ｅ［ｉ，ｊ］の算出後、注目画素の濃度値Ｉは、次のように補正される（補正後の濃度値Ｉｃ）。二値化は、この濃度値Ｉｃに基づいて行われる。
Ｉｃ＝Ｉ＋ｅ［ｉ，ｊ］
また、二値化された座標（ｉ，ｊ）における画素の誤差値Ｅは、次のように算出される。尚、ここでは、多値画像データの濃度値が、ａビットで表されているものとする。変数ｙは、二値化処理後の出力値（即ち、二値化後の画素の濃度値）であり、「０」又は「１」をとる。
【０００７】
Ｅ＝Ｉｃ−（２a−１）・ｙ
このような原理で濃度値Ｉの補正を行うのが、平均誤差最小法である。
ところで、上記誤差拡散法及び平均誤差最小法では、濃度値Ｉに対して補正を施し、その補正後の濃度値Ｉｃを二値化するため、多値画像において濃度値が急激に変化する領域では、二値化の際にドット遅延が生じる。例えば、濃度値Ｉが、中濃度値乃至高濃度値から、低濃度値に急激に変化する領域においては、低濃度であっても濃度値Ｉを小さくする方向に補正が加わるため、二値化処理後の画像において、その境界領域に、ドットが殆ど形成されない領域が発生してしまうのである。
【０００８】
このような問題を解決するために、誤差拡散法を用いた特許文献１記載の発明では、濃度値Ｉを濃度値Ｉｃに補正する際に用いる補正値ｅ［ｉ，ｊ］に、所定条件で係数を掛けるようにしている。このような技術を用いれば、二値化処理の際に、ドット遅延が生じるのを抑制することができる。
【特許文献１】特開平１０−１９１０５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、誤差拡散法を用いた二値化処理では、平均誤差最小法を用いた二値化処理と比較して計算量が多いといった欠点があった。このため、平均誤差最小法を用いた二値化処理において、上記ドット遅延の問題を解消することが待たれていた。
【００１０】
本発明は、こうした問題に鑑みなされたものであり、平均誤差最小法を用いて二値化処理を行う画像処理装置において、ドット遅延の発生を抑制することを目的とする。更には、この画像処理装置を用いた画像形成システム、及び、画像処理装置としての機能をコンピュータに実現させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
かかる目的を達成するためになされた請求項１記載の発明は、各画素の濃度値が多値表現された多値画像データを二値化する画像処理装置であって、取得手段と、補正値算出手段と、補正手段と、二値化手段と、閾値決定手段と、を備えるものである。この画像処理装置における取得手段は、多値画像データから、二値化する画素の濃度値を取得する。補正値算出手段は、この取得手段が取得した上記画素の濃度値を補正するための補正値を、周辺画素の重み付け誤差に基づいて算出する。
【００１２】
補正手段は、この補正値算出手段が算出した補正値に基づいて、取得手段が取得した上記画素の濃度値を補正する。具体的に、補正手段は、補正値算出手段が算出した補正値が閾値以上であると、取得手段が取得した画素の濃度値に、補正値算出手段が算出した補正値を加算して、上記濃度値の補正を行う。
【００１３】
また、補正手段は、補正値算出手段が算出した補正値が閾値未満であると、取得手段が取得した画素の濃度値に、補正値算出手段が算出した補正値より大きい値を加算して、上記画素の濃度値の補正を行う。二値化手段は、この補正手段による補正後の濃度値を、所定の基準値と比較して、二値化する。この他、閾値決定手段は、取得手段が取得した上記画素の濃度値に基づいて、補正手段が上記補正方法の切替の際に用いる上記閾値を決定する。
【００１４】
この画像処理装置によれば、周囲画素の誤差（二値化前と後の濃度の差）を重み付けしてなる周辺画素の重み付け誤差に基づき補正値を算出する（具体的に、平均誤差最小法の場合には、二値化が終了した周囲画素の誤差を重み付けし、その重み付け誤差の和を補正値とする）補正値算出手段の動作に対して、閾値決定手段が、濃度値に基づく閾値を設定し、補正値算出手段の補正値が過度に小さい場合（閾値未満である場合）には、補正手段が、補正値算出手段が算出した補正値より大きい値を濃度値に加えて、濃度値の補正を行うので、注目画素の濃度値に対して、補正値算出手段の補正値が過度に小さくなる（具体的には、補正値が過度に大きなマイナス値となる）のを抑制することができる。
【００１５】
即ち、この画像処理装置によれば、高濃度から低濃度に移行する多値画像の領域において、高濃度領域の画素の二値化の際に蓄えられた誤差の影響により、低濃度領域の画素の二値化の際に、その画素の濃度値に対して、過度に小さい（換言すると、二値化の際、低濃度に評価される方向の）補正値が加算されてしまうのを抑制することができ、ドット遅延が生じるのを（換言すると、高濃度領域と低濃度領域の境界においてドットが殆ど形成されない領域が生じるのを）抑制することができる。
【００１６】
また、本発明の画像処理装置によれば、平均誤差最小法を用いて、従来の誤差拡散法を用いた二値化処理よりも高速に、ドット遅延の少ない二値化処理を行うことができるので大変便利である。
【００１７】
尚、補正手段は、補正値算出手段が算出した補正値が、閾値決定手段が決定した閾値未満であると、取得手段が取得した画素の濃度値に、補正値算出手段が算出した補正値より大きい値として、補正値算出手段が算出した補正値にプラスの一定値を加算した値を加えて、濃度値を補正する構成にされてもよいが、請求項２記載のように構成されると一層好ましい。
【００１８】
請求項２記載の画像処理装置における補正手段は、補正値算出手段が算出した補正値が、閾値決定手段が決定した閾値未満であると、取得手段が取得した画素の濃度値に、補正値算出手段が算出した補正値より大きい値として、閾値決定手段が決定した閾値を加算し、濃度値を補正する。この画像処理装置によれば、簡単な構成でドット遅延を抑制することができる。
【００１９】
また、上記閾値決定手段は、上記基準値を加味して、閾値を決定する構成にされるとよい。このように構成された請求項３記載の画像処理装置によれば、閾値を用いた補正の切替を、適切に行うことができる。よって、この画像処理装置によれば、不適切な補正の切替によって、二値化後の画像にムラ等が生じるのを抑制することができる。
【００２０】
この他、上記閾値決定手段は、画素の濃度値が大きくなるに従って、閾値を、小さい値に決定する構成にされるとよい。上述したように、ドット遅延は、多値画像における画素の濃度が高濃度から低濃度に移行するときに発生しやすい。即ち、注目画素の濃度値が小さいときには、ドット遅延が起こりやすく、注目画素の濃度値が大きいときには、ドット遅延が起こりにくい。
【００２１】
このため、請求項４記載の画像処理装置のように、画素の濃度値が小さくなるに従って、閾値を大きめに決定するようにしておけば、閾値を用いた補正の切替を、適切に行うことができる。よって、この画像処理装置によれば、不適切な補正の切替によって、二値化後の画像にムラ等が生じるのを抑制することができる。
【００２２】
尚、閾値決定手段は、請求項５記載のように、画素の濃度値が大きくなると小さい値を示す一次関数を用いて、上記閾値を決定する構成にされるとよい。一次関数にて閾値を計算する構成にすれば、他の関数を用いる場合と比較して高速に、閾値を計算することができる。
【００２３】
また、補正値算出手段が算出した補正値と、閾値との比較により、補正方法を切り替えるようにすると、補正値算出手段が算出した補正値が閾値未満である状態が続いた場合に、補正手段により濃度値に加えられる補正値に、周囲画素の誤差が考慮されていない状態（均一な状態）が続き、規則的なドット出力が生じる場合がある。このような周辺誤差の重み付け誤差で求めた補正値とは異なる値を濃度値の補正に用いることによる問題を解消するため、補正手段は、請求項６記載のように、構成されるとよい。
【００２４】
請求項６記載の画像処理装置における補正手段は、補正値算出手段が算出した補正値が閾値未満であると、取得手段が取得した画素の濃度値に、補正値算出手段が算出した補正値より大きい値として、閾値決定手段が決定した閾値を加算すると共に、乱数生成手段が生成した乱数を加算して、画素の濃度値を補正する構成にされている。
【００２５】
この画像処理装置によれば、濃度値を補正する際に乱数を加えるため、補正値算出手段が算出した補正値が閾値未満である状態が続く場合に、一定の補正値（閾値）を濃度値の補正に用いることによる上記問題を解消することができる。従って、この発明によれば、二値化処理後の画像の質を向上させることができる。
【００２６】
尚、上述した画像処理装置は、コンピュータに、上記各手段としての機能を実現させるためのプログラムを実行させることにより、実現されてもよい。
請求項７記載のプログラムは、請求項１〜請求項５のいずれかに記載の画像処理装置における取得手段、補正値算出手段、補正手段、二値化手段、及び、閾値決定手段としての機能を、コンピュータに実現させるためのプログラムである。このプログラムを、コンピュータに実行させれば、請求項１〜５記載の画像処理装置を構成することができる。
【００２７】
また、請求項８記載のプログラムは、請求項６記載の画像処理装置における取得手段、補正値算出手段、補正手段、二値化手段、閾値決定手段、及び、乱数生成手段としての機能を、コンピュータに実現させるためのプログラムである。このプログラムを、コンピュータに実行させれば、請求項６記載の画像処理装置を構成することができる。尚、これらのプログラムは、記録媒体（ＣＤ−ＲＯＭ、ＤＶＤ、光磁気ディスク、磁気ディスク、半導体製メモリ等）に格納して、利用者に提供されるとよい。
【００２８】
この他、請求項９記載の画像形成システムは、請求項１〜請求項６のいずれかに記載の画像処理装置と、その画像処理装置により二値化された画像データ、に基づく画像を記録媒体（記録紙等）に形成する画像形成手段と、を備えるものである。本発明の画像処理装置を用いて、画像形成システム（例えば、プリンタ装置等）を構成すれば、ドット出力のオン・オフで構成される二値画像を、良好な画質で形成することができる。
【発明を実施するための最良の形態】
【００２９】
以下に本発明の実施例について、図面とともに説明する。図１は、本発明が適用されたプリンタ装置１の構成を表すブロック図である。
本実施例のプリンタ装置１は、当該装置を統括制御するＣＰＵ１１と、ＣＰＵ１１が実行する各種プログラムやプログラム実行時に必要な各種データ等を記憶するＲＯＭ１３と、プログラムの実行時に作業メモリ１５ａとして使用されるＲＡＭ１５と、利用者が操作可能な各種操作キーからなる操作部１７と、各種情報を表示するための液晶ディスプレイ等からなる表示部１９と、外部装置３（パーソナルコンピュータ等）と通信可能なインタフェース２１と、ドットの集合にて表現される二値画像を記録紙に形成する周知の（例えば、インクジェット記録方式の）画像形成部２３と、からなる。
【００３０】
具体的に説明すると、本実施例におけるプリンタ装置１のＲＯＭ１３は、ＣＰＵ１１にて実行されるプログラムを記憶するプログラム記憶部１３ａ、後述する誤差配分マトリックスＭｅ，Ｍｏを記憶する誤差配分マトリックス記憶部１３ｂとして機能する構成にされている。また、ＲＡＭ１５は、作業メモリ１５ａとして使用される他、外部装置３からインタフェース２１を介して当該プリンタ装置１に入力された画像データを記憶する入力画像データ記憶部１５ｂ、及び、後述する二値化処理により二値化された画像データを記憶する出力画像データ記憶部１５ｃ、として機能する構成にされている。
【００３１】
図２は、このプリンタ装置１のＣＰＵ１１が、プログラム記憶部１３ａに記憶されているプログラムに基づいて実行する受信画像形成処理を表すフローチャートである。ＣＰＵ１１は、受信画像形成処理を実行すると、外部装置３から画像形成要求信号を受信するまで待機し、画像形成要求信号を受信すると（Ｓ１１０でＹｅｓ）、その要求信号と共に外部装置３から送信されてくる多値画像データを受信し、その受信データをＲＡＭ１５の入力画像データ記憶部１５ｂに格納する（Ｓ１２０）。尚、ここでいう多値画像データとは、各画素の濃度値が多値（即ち、３段階以上で）表現された画像データのことである。
【００３２】
この多値画像データの受信が完了すると、ＣＰＵ１１は、後述する二値化処理を実行して、多値画像データを、二値画像データに変換し（Ｓ１３０）、二値画像データに基づく画像を、周知の方法で画像形成部２３に形成させる（Ｓ１４０）。尚、二値画像データとは、各画素の濃度値が二段階（具体的には、ドット出力オフを表す「０」及びドット出力オンを表す「１」）で表わされた画像データのことである。画像形成部２３は、この二値画像データに基づいて、記録紙に、画像をドットの集合にて形成（印刷）する。この後、ＣＰＵ１１は、当該受信画像形成処理を終了する。
【００３３】
図３は、ＣＰＵ１１が実行する二値化処理を表すフローチャートである。また、図４は、二値化処理の対象となる画素の順序を示した説明図である。当該装置におけるＣＰＵ１１は、図３に示す二値化処理を実行することにより、ライン毎に、図４に示す順序で、各画素を二値化する。即ち、偶数ライン（ｊ＝０，２，４，…）については、順方向に各画素を二値化し、奇数ライン（ｊ＝１，３，５…）については、逆方向に各画素を二値化する。以下では、画像を構成する画素の位置座標を、行（ライン）番号を表す変数ｉ及び列番号を表す変数ｊを用いて（ｉ，ｊ）と表すことにする。
【００３４】
尚、多値画像データは、０≦ｉ≦ｉｍａｘ、０≦ｊ≦ｊｍａｘの画素から構成される（ｉｍａｘ＋１）行（ｊｍａｘ＋１）列の画像データである。また、この多値画像データを構成する画素の濃度値ｘ［ｉ，ｊ］は、ａビットで表現されているものとする（即ち、０≦ｘ［ｉ，ｊ］≦（２a−１））。
【００３５】
二値化処理を実行すると、ＣＰＵ１１は、変数ｉをｉ＝０に設定すると共に（Ｓ２０５）、変数ｊをｊ＝０に設定する（Ｓ２１０）。その後、ＣＰＵ１１は、処理をＳ２２０に移して、図５に示すハーフトーン処理を実行する。図５は、ＣＰＵ１１が実行するハーフトーン処理を表すフローチャートである。
【００３６】
ハーフトーン処理を実行すると、ＣＰＵ１１は、入力画像データ記憶部１５ｂに格納されている多値画像データから、座標（ｉ，ｊ）に位置する二値化対象の画素の濃度値ｘ［ｉ，ｊ］を読み出し（Ｓ３０５）、Ｓ３１０にて、変数Ｉに、読み出した濃度値ｘ［ｉ，ｊ］を設定する（Ｉ＝ｘ［ｉ，ｊ］）。その後、ＣＰＵ１１は、図６に示す誤差演算処理を実行して、二値化対象の画素の濃度値ｘ［ｉ，ｊ］を表す変数Ｉの値を補正するための周辺画素の重み付け誤差の和である重み付け誤差和ｅ［ｉ，ｊ］を、平均誤差最小法に基づいて算出する（Ｓ３２０）。図６は、ＣＰＵ１１が実行する誤差演算処理を表すフローチャートである。
【００３７】
誤差演算処理を実行すると、ＣＰＵ１１は、現在の変数ｉの値（換言すると、二値化の対象とされている画素（注目画素）のライン番号）が偶数であるか否か判断し（Ｓ４１０）、偶数であると判断すると（Ｓ４１０でＹｅｓ）、ＲＯＭ１３の誤差配分マトリックス記憶部１３ｂに記憶されている誤差配分マトリックスＭｅを読み出す（Ｓ４２０）。尚、ここでいう偶数としては、ゼロも含むものとする。その後、ＣＰＵ１１は、現在までに二値化が終了した周辺画素の誤差値Ｅと、読み出した誤差配分マトリックスＭｅとに基づいて、重み付け誤差和ｅ［ｉ，ｊ］を次式に従い算出する（Ｓ４３０）。
【００３８】
【数２】
2005244795.tif 000004
【００３９】
尚、図７（ａ）上図は、誤差配分マトリックスＭｅの構成を表す図であり、図７（ａ）下図は、Ｓ４３０で重み付け誤差和ｅ［ｉ，ｊ］算出の際に用いられる誤差値Ｅを表す図である。上式による重み付け誤差和ｅ［ｉ，ｊ］の算出の際には、座標（ｉ，ｊ）の周囲に位置する座標（ｉ−２，ｊ−２）、（ｉ−２，ｊ−１）、（ｉ−２，ｊ）、（ｉ−２，ｊ＋１）、（ｉ−２，ｊ＋２）、（ｉ−１，ｊ−２）、（ｉ−１，ｊ−１）、（ｉ−１，ｊ）、（ｉ−１，ｊ＋１）、（ｉ−１，ｊ＋２）、（ｉ，ｊ−２）、（ｉ，ｊ−１）の画素群の誤差値Ｅ［ｉ−２，ｊ−２］、Ｅ［ｉ−２，ｊ−１］、Ｅ［ｉ−２，ｊ］、Ｅ［ｉ−２，ｊ＋１］、Ｅ［ｉ−２，ｊ＋２］、Ｅ［ｉ−１，ｊ−２］、Ｅ［ｉ−１，ｊ−１］、Ｅ［ｉ−１，ｊ］、Ｅ［ｉ−１，ｊ＋１］、Ｅ［ｉ−１，ｊ＋２］、Ｅ［ｉ，ｊ−２］、Ｅ［ｉ，ｊ−１］が用いられる。
【００４０】
但し、ｉが２未満、ｊが２未満である画素について、重み付け誤差和ｅ［ｉ，ｊ］を求める際には、存在しない画素についての誤差値Ｅを一律にゼロ（例えば、Ｅ［０，−１］＝０）として取り扱う。同様に、ｊが（ｊｍａｘ−１）以上である画素について、重み付け誤差和ｅ［ｉ，ｊ］を求める際には、存在しない画素についての誤差値Ｅを一律にゼロ（例えば、Ｅ［０，ｊｍａｘ＋１］＝０）として取り扱う。具体的に、図７（ａ）に示す誤差配分マトリックスＭｅを用いる場合、上式は以下のように表現される。
【００４１】
【数３】
2005244795.tif 000005
【００４２】
このようにして重み付け誤差和ｅ［ｉ，ｊ］を算出すると、ＣＰＵ１１は、当該誤差演算処理を終了する。
一方、ＣＰＵ１１は、Ｓ４１０で、変数ｉの値が奇数であると判断すると（Ｓ４１０でＮｏ）、ＲＯＭ１３の誤差配分マトリックス記憶部１３ｂに記憶されている誤差配分マトリックスＭｏを読み出し（Ｓ４４０）、現在までに二値化が終了した周辺画素の誤差値Ｅと、読み出した誤差配分マトリックスＭｏとに基づいて、重み付け誤差和ｅ［ｉ，ｊ］を次式に従い算出する（Ｓ４５０）。
【００４３】
【数４】
2005244795.tif 000006
【００４４】
図７（ｂ）上図は、誤差配分マトリックスＭｏの構成を表す図であり、図７（ｂ）下図は、Ｓ４５０で重み付け誤差和ｅ［ｉ，ｊ］算出の際に用いられる誤差値を表す図である。上式による重み付け誤差和ｅ［ｉ，ｊ］算出の際には、座標（ｉ，ｊ）の周囲に位置する座標（ｉ−２，ｊ−２）、（ｉ−２，ｊ−１）、（ｉ−２，ｊ）、（ｉ−２，ｊ＋１）、（ｉ−２，ｊ＋２）、（ｉ−１，ｊ−２）、（ｉ−１，ｊ−１）、（ｉ−１，ｊ）、（ｉ−１，ｊ＋１）、（ｉ−１，ｊ＋２）、（ｉ，ｊ＋１）、（ｉ，ｊ＋２）の画素群の誤差値Ｅ［ｉ−２，ｊ−２］、Ｅ［ｉ−２，ｊ−１］、Ｅ［ｉ−２，ｊ］、Ｅ［ｉ−２，ｊ＋１］、Ｅ［ｉ−２，ｊ＋２］、Ｅ［ｉ−１，ｊ−２］、Ｅ［ｉ−１，ｊ−１］、Ｅ［ｉ−１，ｊ］、Ｅ［ｉ−１，ｊ＋１］、Ｅ［ｉ−１，ｊ＋２］、Ｅ［ｉ，ｊ＋１］、Ｅ［ｉ，ｊ＋２］が用いられる。
【００４５】
但し、ｉが２未満、ｊが２未満である画素について、重み付け誤差和ｅ［ｉ，ｊ］を求める際には、存在しない画素についての誤差値Ｅを一律にゼロ（例えば、Ｅ［１，−１］＝０）として取り扱う。同様に、ｊが（ｊｍａｘ−１）以上である画素について、重み付け誤差和ｅ［ｉ，ｊ］を求める際には、存在しない画素についての誤差値Ｅを一律にゼロ（例えば、Ｅ［１，ｊｍａｘ＋１］＝０）として取り扱う。尚具体的に、図７（ｂ）に示す誤差配分マトリックスＭｏを用いる場合、上式は以下のように表現される。
【００４６】
【数５】
2005244795.tif 000007
【００４７】
このようにしてｅ［ｉ，ｊ］を算出し、誤差演算処理を終了すると、ＣＰＵ１１は、Ｓ３２５にて、濃度値を補正するための変数ｅ０に、誤差演算処理にて算出した重み付け誤差和ｅ［ｉ，ｊ］を設定する（ｅ０＝ｅ［ｉ，ｊ］）。その後、ＣＰＵ１１は、変数Ｉの値に基づき、次式に従って、変数ｅ０の値の置換要否を判断する際に必要な閾値ｔｈを、算出する（Ｓ３３０）。
【００４８】
【数６】
2005244795.tif 000008
【００４９】
尚、定数ｔｈｒｅは、濃度値を二値化する際に用いる基準値である（詳細後述）。例えば、多値画像データがａ＝８ビットの画像データである場合には、ｔｈｒｅ＝２とし、多値画像データがａ＝１０ビットの画像データである場合には、ｔｈｒｅ＝８とすればよい。また、定数ＴＨＮは、２の倍数であって、例えば、ＴＨＮ＝２やＴＨＮ＝４とすることができる。
【００５０】
このようにして濃度値を二値化する際に用いる基準値（定数ｔｈｒｅ）を加味した閾値ｔｈを算出した後、ＣＰＵ１１は、Ｓ３４０にて、ｅ０が閾値未満であるか否か判断することにより、変数ｅ０の値の置換の要否を判断する。ここでｅ０が閾値未満（即ちｅ０＜ｔｈ）であると判断すると（Ｓ３４０でＹｅｓ）、ＣＰＵ１１は、Ｓ３４５に処理を移して、変数ｅ０の値を閾値ｔｈに置換し（ｅ０＝ｔｈ）、この後に処理をＳ３５０に移行する。
【００５１】
一方、Ｓ３４０においてｅ０が閾値以上（即ちｅ０≧ｔｈ）であると判断すると（Ｓ３４０でＮｏ）、ＣＰＵ１１は、変数ｅ０の値を置換することなく、Ｓ３５０に処理を移す。また、Ｓ３５０において、ＣＰＵ１１は、変数Ｉに変数ｅ０の値を加算することにより濃度値ｘ［ｉ，ｊ］を補正し、補正後の濃度値Ｉｃを得る。
【００５２】
Ｉｃ＝Ｉ＋ｅ０        …式（７）
その後、ＣＰＵ１１は、濃度値Ｉｃと、基準値ｔｈｒｅとを比較して（Ｓ３６０）、濃度値Ｉｃを二値化する。具体的に、ＣＰＵ１１は、濃度値Ｉｃが基準値ｔｈｒｅ以上である（Ｉｃ≧ｔｈｒｅ）と判断すると（Ｓ３６０でＹｅｓ）、出力値ｙを１に設定し（ｙ＝１）、ドット出力をオンにする（Ｓ３６３）。一方、濃度値Ｉｃが基準値ｔｈｒｅ未満である（Ｉｃ＜ｔｈｒｅ）と判断すると（Ｓ３６０でＮｏ）、出力値ｙを０に設定し（ｙ＝０）、ドット出力をオフにする（Ｓ３６７）。また、Ｓ３６３，Ｓ３６７の実行時には、出力値ｙを出力画像データ記憶部１５ｃに記憶させる。
【００５３】
Ｓ３６３又はＳ３６７の処理を終了すると、ＣＰＵ１１は、Ｓ３７０に処理を移し、座標（ｉ，ｊ）の画素について、二値化前と二値化後における濃度の差を表す誤差値Ｅ［ｉ，ｊ］を次式に従い算出する。
【００５４】
Ｅ［ｉ，ｊ］＝Ｉｃ−（２a−１）・ｙ        …式（８）
この後、ＣＰＵ１１は、Ｓ３７０での処理の結果得られた誤差値Ｅ［ｉ，ｊ］をＲＡＭ１５に格納して（Ｓ３８０）、当該ハーフトーン処理を終了する。
【００５５】
ハーフトーン処理を終了すると、ＣＰＵ１１は、１ライン分の画素についてハーフトーン処理が終了したか否か判断し（Ｓ２３０）、１ライン分の画素についてハーフトーン処理が終了していないと判断すると（具体的には、変数ｊの値が、ｊｍａｘ未満（ｊ＜ｊｍａｘ）であると判断すると）、処理をＳ２３５に移して、変数ｊの値を１インクリメントする。また、この後、処理をＳ２２０に戻し、現在の変数ｉ，ｊが示す画素について、上述のハーフトーン処理を実行する。
【００５６】
一方、ＣＰＵ１１は、Ｓ２３０において、１ライン分のハーフトーン処理が終了していると判断すると（具体的には、変数ｊの値が、ｊｍａｘである（ｊ＝ｊｍａｘ）と判断すると）、処理をＳ２４０に移して、変数ｉの値を１インクリメントし、その後に、１ページ分の各画素について、上述のハーフトーン処理が終了したか否か判断する（Ｓ２４５）。ここで、１ページ分の各画素についてハーフトーン処理が終了していると判断すると（Ｓ２４５でＹｅｓ）、ＣＰＵ１１は、当該二値化処理を終了し、１ページ分の各画素についてハーフトーン処理が終了していないと判断すると（Ｓ２４５でＮｏ）、Ｓ２４７で、変数ｊにｊｍａｘを設定した後（ｊ＝ｊｍａｘ）、Ｓ２５０にて、上述のハーフトーン処理（図５，図６参照）を実行する。
【００５７】
尚、Ｓ２２０におけるハーフトーン処理では、Ｓ４１０でｉが偶数であると判断され、誤差配分マトリックスＭｅを用いた重み付け誤差和ｅ［ｉ，ｊ］の算出がなされるが、Ｓ２５０におけるハーフトーン処理では、ｉが奇数であるので、上述したように、誤差配分マトリックスＭｏを用いた重み付け誤差和の算出がなされる。
【００５８】
Ｓ２５０でのハーフトーン処理が終了すると、ＣＰＵ１１は、１ライン分の画素についてハーフトーン処理が終了したか否か判断し（Ｓ２６０）、１ライン分の画素についてハーフトーン処理が終了していないと判断すると（具体的には、変数ｊの値が、ゼロより大きい（ｊ＞０）と判断すると）、処理をＳ２６５に移して、変数ｊの値を１デクリメントする。その後、ＣＰＵ１１は、処理をＳ２５０に戻し、現在の変数ｉ，ｊが示す画素について、上述のハーフトーン処理を実行する。
【００５９】
一方、ＣＰＵ１１は、Ｓ２６０において、１ライン分のハーフトーン処理が終了していると判断すると（具体的には、変数ｊの値が、ゼロである（ｊ＝０）であると判断すると）、変数ｉの値を１インクリメントし（Ｓ２６７）、その後に、１ページ分の各画素について、上述のハーフトーン処理が終了したか否か判断する（Ｓ２７０）。ここで、１ページ分の各画素についてハーフトーン処理が終了していないと判断すると（Ｓ２７０でＮｏ）、ＣＰＵ１１は、処理をＳ２１０に移して、ｊ＝０に設定し、上述のハーフトーン処理を実行する。一方、ＣＰＵ１１は、Ｓ２７０において、１ページ分の各画素のハーフトーン処理が全て終了していると判断すると（Ｓ２７０でＹｅｓ）、当該二値化処理を終了する。
【００６０】
図８（ｂ）は、図８（ａ）に示す構成の多値画像データを当該プリンタ装置１にて二値化処理し、印刷を行った場合の出力画像のイメージ図であり、図８（ｃ）は、図８（ａ）に示す構成の多値画像データを従来装置にて処理し印刷を行った場合の出力画像のイメージ図である。尚、ここでいう従来装置とは、従来の手法で平均誤差最小法を用いた二値化処理を行うプリンタ装置のことであり、具体的には、Ｓ３２５の処理後、Ｓ３４０及びＳ３４５の処理を行わずにＳ３６０の処理を実行するプリンタ装置のことである。また、図９は、当該プリンタ装置１を用いて実際に印刷を行った場合の出力画像と、従来装置を用いて印刷を行った場合の出力画像と、を表す図である（但し、多値画像データはａ＝１０ビットの画像データであり、基準値はｔｈｒｅ＝８である）。
【００６１】
当該プリンタ装置１では、ＣＰＵ１１が、平均誤差最小法に基づき周辺画素の重み付け誤差和ｅ［ｉ，ｊ］を算出すると共に（Ｓ４３０，Ｓ４５０）、閾値ｔｈを、濃度値を表す変数Ｉの値に基づいて決定し（Ｓ３３０）、ｅ［ｉ，ｊ］が閾値ｔｈ未満である場合には、濃度値を表す変数Ｉの値を補正するためのｅ０の値を、ｅ０＝ｅ［ｉ，ｊ］からｅ０＝ｔｈに変更し、そのｅ０を、濃度値を表す変数Ｉに加えて、濃度値Ｉｃを得る。このため、ｅ［ｉ，ｊ］が過度に大きいマイナス値となった場合、補正後の濃度値Ｉｃは、通常時の濃度値Ｉｃ＝Ｉ＋ｅ［ｉ，ｊ］より大きな値をとる（Ｉｃ＝Ｉ＋ｔｈ＞Ｉ＋ｅ［ｉ，ｊ］）。
【００６２】
従って、本実施例のプリンタ装置１では、多値画像データにおいて高濃度から低濃度へ濃度が急激に変化する領域において、ｅ［ｉ，ｊ］が大きなマイナス値をとるために、二値化後の値が継続的にｙ＝０となってしまうのを抑制することができ、ドット遅延の発生領域ＲＤの面積を従来装置（図８（ｃ），図９右図参照）と比較して小さくすることができる。
【００６３】
また、本実施例のプリンタ装置１によれば、平均誤差最小法を用いて二値化処理を行うので、計算量が誤差拡散法を用いた二値化処理よりも少なくて済み、高速にドット遅延の少ない二値化処理を行うことができる。
【００６４】
また、本実施例のプリンタ装置１では、濃度値Ｉを変数に持つ単調非増加の一次関数ｆｕｎｃ（Ｉ）を用いることで、閾値ｔｈを、画素の濃度値Ｉ＝ｘ［ｉ，ｊ］が大きくなるに従って、小さい値に設定するようにした。上述したように、ドット遅延は、注目画素の濃度値が小さいときに起こりやすく、注目画素の濃度値が大きいときに起こりにくい。
【００６５】
このため、本実施例のプリンタ装置１によれば、濃度値Ｉｃの算出方法の切替（Ｓ３４０）を、適切に行うことができ、不適切な切替によって、二値化後の画像にムラ等が生じるのを抑制することができる。
【００６６】
尚、ｅ［ｉ，ｊ］が閾値ｔｈ未満である状態が続くと、Ｉｃ＝Ｉ＋ｔｈの計算が継続的に行われるため、周囲画素の誤差が考慮されていない状態で、二値化処理が継続されることになり、それが原因で、図９，１１に示すように、低濃度領域において、規則的なドット出力が生じる。この規則的なドット出力は、ドット遅延と比較してさほど目立つものではないが、画質の点から言えば解消されるのが好ましい。図１０は、このような規則的なドット出力を抑制する機能を備えたハーフトーン処理を示すフローチャートである。
【００６７】
規則的なドット出力を抑制するためには、図５に示すハーフトーン処理に代えて、図１０に示すハーフトーン処理を、Ｓ２２０、Ｓ２５０でＣＰＵ１１に実行させるとよい。以下、変形例のハーフトーン処理について説明する。
【００６８】
図１０に示すハーフトーン処理を実行すると、ＣＰＵ１１は、多値画像データから、座標（ｉ，ｊ）に位置する二値化対象の画素の濃度値ｘ［ｉ，ｊ］を読み出し（Ｓ５０５）、Ｓ５１０にて、変数Ｉに、読み出した濃度値ｘ［ｉ，ｊ］を設定する（即ち、Ｉ＝ｘ［ｉ，ｊ］）。その後、ＣＰＵ１１は、図６に示す誤差演算処理を実行して、平均誤差最小法に基づく重み付け誤差和ｅ［ｉ，ｊ］を算出する（Ｓ５２０）。
【００６９】
誤差演算処理を終了すると、ＣＰＵ１１は、Ｓ５２５にて、濃度値を補正するための変数ｅ０に、誤差演算処理にて算出した重み付け誤差和ｅ［ｉ，ｊ］を設定し（ｅ０＝ｅ［ｉ，ｊ］）、その後、式（５）（６）に従って、閾値ｔｈを算出する（Ｓ５３０）。
【００７０】
閾値ｔｈを算出した後、ＣＰＵ１１は、変数ｅ０の値が閾値未満であるか否か判断することにより、変数ｅ０の値の置換の要否を判断する（Ｓ５４０）。
ここでｅ０が閾値未満（即ちｅ０＜ｔｈ）であると判断すると（Ｓ５４０でＹｅｓ）、ＣＰＵ１１は、Ｓ５４３に処理を移して、一様乱数ｒａｎｄを生成する。この一様乱数ｒａｎｄは、例えば、−２a／８から＋２a／８までを範囲として生成される。その後、ＣＰＵ１１は、Ｓ５４７にて、変数ｅ０を閾値ｔｈと乱数ｒａｎｄとの加算値に変更する（ｅ０＝ｔｈ＋ｒａｎｄ）。
【００７１】
Ｓ５４７での処理が終了すると、ＣＰＵ１１は、Ｓ５５０に処理を移行する。一方、Ｓ５４０でｅ０が閾値以上であると判断すると（Ｓ５４０でＮｏ）、ＣＰＵ１１は、上述したＳ５４３及びＳ５４７の処理を行わずに、処理をＳ５５０に移行する。Ｓ５５０において、ＣＰＵ１１は、変数Ｉに変数ｅ０の値を加算することにより、濃度値Ｉｃ（Ｉｃ＝Ｉ＋ｅ０）を得る。
【００７２】
その後、ＣＰＵ１１は、濃度値Ｉｃが基準値ｔｈｒｅ以上である（Ｉｃ≧ｔｈｒｅ）か否か判断し（Ｓ５６０）、濃度値Ｉｃが基準値ｔｈｒｅ以上であると判断すると（Ｓ５６０でＹｅｓ）、出力値ｙを１に設定し（ｙ＝１）、ドット出力をオンにする（Ｓ５６３）。一方、濃度値Ｉｃが基準値ｔｈｒｅ未満である（Ｉｃ＜ｔｈｒｅ）と判断すると（Ｓ５６０でＮｏ）、出力値ｙを０に設定し（ｙ＝０）、ドット出力をオフにする（Ｓ５６７）。
【００７３】
Ｓ５６３又はＳ５６７での処理を終了すると、ＣＰＵ１１は、Ｓ５７０に処理を移し、座標（ｉ，ｊ）の画素について、二値化前と二値化後における濃度の差を表す誤差値Ｅ［ｉ，ｊ］を式（８）に従い算出する。その後、ＣＰＵ１１は、Ｓ５７０での処理の結果得られた誤差値Ｅ［ｉ，ｊ］をＲＡＭ１５に格納して（Ｓ５８０）、当該ハーフトーン処理を終了する。
【００７４】
図１１は、図１０に示すハーフトーン処理を実行する変形例のプリンタ装置を用いて、実際に印刷を行った場合の出力画像を表す図である。図１１に示すように、変形例のプリンタ装置では、濃度値ｘ［ｉ，ｊ］を表す変数Ｉの値を補正する際に乱数を加えるため、ｅ［ｉ，ｊ］が閾値ｔｈ未満である状態が続く場合であっても、濃度値Ｉｃが一定とならず、規則的な（具体的には直線的な）ドット出力が生じるのを抑制することができる。従って、この変形例によれば二値化処理後の画像の質を向上させることができる。
【００７５】
以上、本実施例のプリンタ装置１及びその変形例について説明したが、本実施例のプリンタ装置１が、本発明の画像形成システムに相当する。また、本発明の取得手段は、ＣＰＵ１１が実行するＳ３０５，Ｓ５０５の処理にて実現され、補正値算出手段は、ＣＰＵ１１が実行する誤差演算処理（Ｓ３２０，Ｓ５２０）にて実現されている。
【００７６】
その他、補正手段は、ＣＰＵ１１が実行するＳ３４０〜Ｓ３５０の処理、Ｓ５４０〜Ｓ５５０の処理にて実現されており、二値化手段は、ＣＰＵ１１が実行するＳ３６０〜Ｓ３６７の処理、ＣＰＵ１１が実行するＳ５６０〜Ｓ５６７の処理にて実現されている。また、閾値決定手段は、ＣＰＵ１１が実行するＳ３３０，Ｓ５３０の処理にて実現されている。その他、乱数生成手段は、ＣＰＵ１１が実行するＳ５４３の処理にて実現されている。
【００７７】
また、本発明の画像処理装置及びプログラム並びに画像形成システムは、上記実施例に限定されるものではなく、種々の態様を採ることができる。
図１２（ａ）は、第二変形例のプリンタ装置１００の構成を表すブロック図である。プリンタ装置１００は、閾値ｔｈを閾値テーブルに基づいて決定する構成にされており、そのための閾値テーブル記憶部１５ｄを、ＲＡＭ１５内に備える。尚、図１２（ｂ）は、閾値テーブル記憶部１５ｄに格納される閾値テーブルの構成を表す説明図である。図１２（ｂ）に示すように、閾値テーブルは、多値画像データを構成する画素がとりえる範囲の各濃度値Ｉと、二値化対象の画素が濃度値Ｉである場合に設定すべき閾値ｔｈとの対応関係が示されたものである。
【００７８】
図１３（ａ）は、プリンタ装置１００のＣＰＵ１１が実行する第二変形例の受信画像形成処理を表すフローチャートである。ＣＰＵ１１は、図１３（ａ）に示す受信画像形成処理を実行すると、外部装置３から画像形成要求信号を受信するまで待機し、画像形成要求信号を受信すると（Ｓ１１０でＹｅｓ）、その要求信号と共に外部装置３から送信されてくる多値画像データを受信し、その受信データをＲＡＭ１５の入力画像データ記憶部１５ｂに格納する（Ｓ１２０）。
【００７９】
その後、ＣＰＵ１１は、Ｓ１２５に処理を移して、テーブル作成処理を実行する。尚、図１３（ｂ）は、プリンタ装置１００のＣＰＵ１１がＳ１２５にて実行するテーブル作成処理を表すフローチャートである。
【００８０】
テーブル作成処理を実行すると、ＣＰＵ１１は、変数Ｉを初期値Ｉ＝０に設定して（Ｓ１２５１）、その変数Ｉに対応する閾値テーブル記憶部１５ｄの領域Ｔａｂｌｅ［Ｉ］に、式（６）により求めた値ｆｕｎｃ（Ｉ）を格納し（Ｓ１２５３）、その後に、変数Ｉを１インクリメントする（Ｓ１２５５）。但し、Ｔａｂｌｅ［Ｉ］に設定する値ｆｕｎｃ（Ｉ）は、整数値である。
【００８１】
その後、ＣＰＵ１１は、変数Ｉが、上限値（２a−１）より大きいか否か、即ち、変数Iが値２a以上であるか否か判断し（Ｓ１２５７）、変数Iが値２a以上ではないと判断すると（Ｓ１２５７でＮｏ）、処理をＳ１２５３に戻し、次の変数Ｉについて、上述したＳ１２５３の処理を行う。一方、変数Iが値２a以上であると判断すると（Ｓ１２５７でＹｅｓ）、ＣＰＵ１１は、当該テーブル作成処理を終了して、Ｓ１３０に移行し、図３に示す二値化処理を実行する。
【００８２】
但し、第二変形例では、二値化処理のＳＳ２２０及びＳ２５０で実行されるハーフトーン処理のＳ３３０において、関数ｆｕｎｃ（Ｉ）を用いた閾値ｔｈの算出を行わず、閾値テーブル記憶部１５ｄに作成された閾値テーブルの変数Ｉに対応する値Ｔａｂｌｅ［Ｉ］を、その閾値テーブル記憶部１５ｄから読出し、閾値ｔｈに設定する（ｔｈ＝Ｔａｂｌｅ［Ｉ］）。二値化処理で多値画像データを、二値画像データに変換し終えると、ＣＰＵ１１は、二値画像データに基づく画像を、周知の方法で画像形成部２３に形成させる（Ｓ１４０）。この後、ＣＰＵ１１は、当該第二変形例の受信画像形成処理を終了する。
【００８３】
この第二変形例によれば、閾値テーブルを用いて閾値ｔｈを決定するので、関数ｆｕｎｃ（Ｉ）を毎回呼び出して閾値ｔｈを決定するよりも、閾値ｔｈ決定に要する時間を短縮することができ、二値化処理を高速に行うことができる。また、第二変形例によれば、閾値テーブルの各値Ｔａｂｌｅ［Ｉ］を、微調整することが簡単にできるので、ドットパターンを利用者の好みに簡単に合わせることができ、ドット遅延の問題を一層良好に解決することができる。
【００８４】
以上に第二変形例について説明したが、上記実施例においては、式（６）に示す関数ｆｕｎｃ（Ｉ）を用いなくてもよく、変数Ｉが増加すると値が小さくなるその他の関数（単調非増加関数）を用いても良い。例えば、関数ｆｕｎｃ（Ｉ）としては、次の関数を用いても良い。
【００８５】
【数７】
2005244795.tif 000009
【００８６】
その他、以上では多値画像データを二値化するプリンタ装置１，１００に関する実施例を説明したが、多値画像データを、三値化、四値化するプリンタ装置に、本発明の概念を適用してもよい。また、基準値ｔｈｒｅは、定数ではなく、変数としてもよい。
【図面の簡単な説明】
【００８７】
【図１】本発明が適用されたプリンタ装置１の構成を表すブロック図である。
【図２】プリンタ装置１のＣＰＵ１１が実行する受信画像形成処理を表すフローチャートである。
【図３】ＣＰＵ１１が実行する二値化処理を表すフローチャートである。
【図４】二値化処理の対象となる画素の処理順序を示した説明図である。
【図５】ＣＰＵ１１が実行するハーフトーン処理を表すフローチャートである。
【図６】ＣＰＵ１１が実行する誤差演算処理を表すフローチャートである。
【図７】偶数ラインの重み付け誤差和ｅ［ｉ，ｊ］算出の際に用いる誤差配分マトリックスＭｅ及び誤差値Ｅの構成を表す図（ａ）と、奇数ラインの重み付け誤差和ｅ［ｉ，ｊ］算出の際に用いる誤差配分マトリックスＭｏ及び誤差値Ｅの構成を表す図（ｂ）である。
【図８】多値画像データの一例を表す図（ａ）、及び、その多値画像データをプリンタ装置１にて二値化処理した場合の出力画像のイメージ図（ｂ）、並びに、同一の多値画像データを従来装置にて処理した場合の出力画像のイメージ図（ｃ）である。
【図９】プリンタ装置１を用いて印刷を行った場合の出力画像と、従来装置を用いて印刷を行った場合の出力画像と、を表す図である。
【図１０】変形例のハーフトーン処理を表すフローチャートである。
【図１１】変形例のハーフトーン処理を実行するプリンタ装置を用いて印刷を行った場合の出力画像を表す図である。
【図１２】第二変形例のプリンタ装置１００の構成を表すブロック図（ａ）及び閾値テーブルの構成を表す説明図（ｂ）である。
【図１３】ＣＰＵ１１が実行する第二変形例の受信画像形成処理を表すフローチャート（ａ）及びテーブル作成処理を表すフローチャート（ｂ）である。
【符号の説明】
【００８８】
１，１００…プリンタ装置、３…外部装置、１１…ＣＰＵ、１３…ＲＯＭ、１３ａ…プログラム記憶部、１３ｂ…誤差配分マトリックス記憶部、１５…ＲＡＭ、１５ａ…作業メモリ、１５ｂ…入力画像データ記憶部、１５ｃ…出力画像データ記憶部、１５ｄ…閾値テーブル記憶部、１７…操作部、１９…表示部、２１…インタフェース、２３…画像形成部
【図１】
2005244795.tif 000010
【図２】
2005244795.tif 000011
【図３】
2005244795.tif 000012
【図４】
2005244795.tif 000013
【図５】
2005244795.tif 000014
【図６】
2005244795.tif 000015
【図７】
2005244795.tif 000016
【図１０】
2005244795.tif 000017
【図１２】
2005244795.tif 000018
【図１３】
2005244795.tif 000019
【図８】
2005244795.tif 000020
【図９】
2005244795.tif 000021
【図１１】
2005244795.tif 000022