(57)【特許請求の範囲】
【請求項１】
注目画素及び当該注目画素と副走査方向に隣り合う画素を少なくとも含む注目画素群に含まれた複数の画素の夫々に対して量子化処理する量子化処理手段と、
前記量子化処理の結果から求められる量子化誤差を、前記注目画素群の近傍に位置する画素群における複数の画素に拡散する拡散手段と、
前記注目画素群に含まれた複数の画素に対する量子化処理の結果、前記注目画素が孤立ドットである場合、当該孤立ドットの大きさが小さくなるように前記量子化処理の結果を変更する変更手段と、
を備え、
前記変更手段は、前記注目画素群に対応するマトリクスと前記注目画素群の量子化処理の結果との論理積を取ることによって、前記注目画素群に含まれる複数の画素の一部が欠けたドットとなるように変更して、前記孤立ドットの大きさが小さくなるように制御する
ことを特徴とするハーフトーン処理装置。
【請求項２】
前記変更手段は、それぞれ異なる部分が欠けたドットを得ることが可能な複数のマトリクスの中から、適用する１のマトリクスをランダムに決定して、前記変更を行うことを特徴とする請求項１に記載のハーフトーン処理装置。
【請求項３】
前記変更手段は、擬似乱数を用いて、前記適用する１のマトリクスを決定することを特徴とする請求項２に記載のハーフトーン処理装置。
【請求項４】
前記注目画素が孤立ドットであるかどうかを、当該注目画素の周辺の量子化結果と所定のパターンとを比較するパターンマッチングによって判定する判定手段をさらに備えたことを特徴とする請求項１乃至３のいずれか１項に記載のハーフトーン処理装置。
【請求項５】
前記注目画素が孤立ドットであるかどうかを、当該注目画素の濃度によって判定する判定手段をさらに備えたことを特徴とする請求項１乃至３のいずれか１項に記載のハーフトーン処理装置。
【請求項６】
注目画素及び当該注目画素と副走査方向に隣り合う画素を少なくとも含む注目画素群に含まれた複数の画素の夫々に対して量子化処理する量子化処理ステップと、
前記量子化処理の結果から求められる量子化誤差を、前記注目画素群の近傍に位置する画素群における複数の画素に拡散する拡散ステップと、
前記注目画素群に含まれた複数の画素に対する量子化処理の結果、前記注目画素が孤立ドットである場合、当該孤立ドットの大きさが小さくなるように前記量子化処理の結果を変更する変更ステップと、
を含み、
前記変更ステップでは、前記量子化処理の結果を、前記注目画素群に対応するマトリクスと前記注目画素群の量子化処理の結果との論理積を取ることによって、前記注目画素群に含まれる複数の画素の一部が欠けたドットとなるように変更して、前記孤立ドットの大きさが小さくなるように制御する
ことを特徴とするハーフトーン処理方法。
【請求項７】
コンピュータを、請求項１乃至５のいずれか１項に記載のハーフトーン処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤差拡散処理を行う装置に関する。
【背景技術】
【０００２】
従来より、プリンタ、複写機、ファクシミリ等の画像処理装置においては、階調再現性の高い疑似中間調処理（ハーフトーン処理）方法として誤差拡散法や平均濃度保存法などが一般に知られている。誤差拡散法は、注目画素の多値画像データを２値化し、２値化の結果と２値化する前の多値画像データとの誤差に所定の重み付けをして、それを注目画素近坊の画素のデータに加算するものである。平均濃度保存法は、注目画素近傍の既に２値化されたデータを使用して重み付け平均濃度を求めて注目画素の画像データと比較し、比較結果の大小により注目画素を２値化し、２値化時に発生した誤差をまだ２値化していない近傍画素に拡散させるものである。図８の（ａ）は、誤差拡散法の中でも代表的な Floyd-Steinberg 法における誤差拡散係数の例を示したものである。この場合、注目画素（＊）の直後の画素に誤差の７/１６が渡され、１ライン下の３つの画素にそれぞれ誤差の３/１６, ５/１６, １/１６ が分配されることになる。
【０００３】
近年、高画質化の要求に応えるために、デジタルプリンティング技術の高解像度化が進んでいる。しかし、最小画素での孤立ドットが安定して形成できない状況にある。すなわち、記録制御信号のパルス幅は高解像度になればなるほど狭くなり、狭くするほど感光体上での静電潜像の電位分布はなまった形状となるので、ドットの再現が困難になっている。
【０００４】
これを解決する方法として、出力解像度に合わせて誤差拡散係数を切り替える技術が知られている（特許文献１）。この特許文献１に開示された方法では、注目画素で発生した誤差を拡散させる範囲を広げることで（図８の（ｂ）を参照）、例えば６００ＤＰＩ相当の画質を１２００ＤＰＩで処理した誤差拡散から得ることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１３５５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、この特許文献１に開示された方法の場合、誤差を保存するためにより多くのバッファ（メモリ）を用意する必要が生じる。例えば、６００ＤＰＩ用の誤差拡散テーブルを用いる時は注目画素の存在するラインの１ライン前の誤差を保存するバッファのみで足りるが、１２００ＤＰＩ用の誤差拡散テーブルを用いる時は２ライン前の誤差を保存するためのバッファも必要となる。このように多くのバッファを要する結果、コスト増を招いてしまうことになる。
【課題を解決するための手段】
【０００７】
本発明に係るハーフトーン処理装置は、注目画素及び当該注目画素と副走査方向に隣り合う画素を少なくとも含む注目画素群に含まれた複数の画素の夫々に対して量子化処理する量子化処理手段と、前記量子化処理の結果から求められる量子化誤差を、前記注目画素群の近傍に位置する画素群における複数の画素に拡散する拡散手段と、前記注目画素群に含まれた複数の画素に対する量子化処理の結果、前記注目画素が孤立ドットである場合、当該孤立ドットの大きさが小さくなるように前記量子化処理の結果を変更する変更手段と、を備え、前記変更手段は、前記注目画素群に対応するマトリクスと前記注目画素群の量子化処理の結果との論理積を取ることによって、前記注目画素群に含まれる複数の画素の一部が欠けたドットとなるように変更して、前記孤立ドットの大きさが小さくなるように制御することを特徴とする。
【発明の効果】
【０００８】
誤差を保存するためのバッファの増加を伴うことなく、誤差拡散の範囲を広げることができる。
【図面の簡単な説明】
【０００９】
【図１】画像形成装置の構成を示すブロック図である。
【図２】画像処理部の内部構成を示す図である。
【図３】実施例１に係るハーフトーン処理部の内部構成を示すブロック図である。
【図４】実施例１におけるハーフトーン処理の流れを示すフローチャートである。
【図５】注目画素と注目画素群の関係を示す図である。
【図６】注目画素群内の注目画素に対して、累積誤差が加算される状況を示す図である。
【図７】累積誤差メモリの内部構造の一例を示す図である。
【図８】（ａ）はFloyd-Steinberg 法における誤差拡散係数を示す図であり、（ｂ）は誤差を拡散させる範囲を広げた場合の一例を示す図である。
【図９】実施例２に係るハーフトーン処理部の内部構成を示すブロック図である。
【図１０】実施例２に係るハーフトーン処理の流れを示すフローチャートである。
【図１１】平均濃度の算出に使用する所定の係数と注目画素群との関係を示す図である。
【図１２】平均濃度の算出に使用する２値化結果と注目画素群との関係を示す図である。
【図１３】実施例３に係るハーフトーン処理部の内部構成を示すブロック図である。
【図１４】実施例３に係るハーフトーン処理の流れを示すフローチャートである。
【図１５】（ａ）、（ｂ）、（ｃ）、（ｄ）はそれぞれ制御ＭＡＴＲＩＸの一例を示す図である。
【図１６】注目画素の位置を説明する図である。
【図１７】パターンマッチングに使用される所定のパターンの一例を示す図である。
【図１８】実施例４に係るハーフトーン処理部の内部構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１１】
図１は、本実施例に係る画像形成装置（プリンタ）の構成を示すブロック図である。
【００１２】
１０１は、画像読取部であり、原稿読取台（不図示）にセットされた原稿の画像を読み取って、画像データを出力する。
【００１３】
１０２は、画像処理部であり、濃度調整処理、色変換処理、ガンマ補正処理、ハーフトーン処理等の各種画像処理を行う。なお、ここでは画像処理部１０２をプリンタの一構成要素として説明したが独立の装置（画像処理装置）としても機能し得るものである。画像処理部１０２の詳細については後述する。
【００１４】
１０３は記憶部であり、ＲＯＭ、ＲＡＭ、ハードディスク（ＨＤ）などから構成される。ＲＯＭには各種の制御プログラムや画像処理プログラムが格納される。ＲＡＭはＣＰＵ１０４がデータや各種情報を格納する参照領域や作業領域として用いられる。また、ＲＡＭやＨＤには印刷処理の対象となる画像データが蓄積される。
【００１５】
１０４はＣＰＵであり、ＲＯＭに格納された各種の制御プログラムや画像処理プログラムを実行して各部を統括的に制御する。
【００１６】
１０５は画像出力部であり、記録紙などの記録媒体に画像を形成して出力する。
【００１７】
１０６は上述の各部を繋ぐ画像形成装置の内部バスである。
【００１８】
なお、画像形成装置は、画像データを管理するサーバ、印刷の実行を指示するパーソナルコンピュータ（ＰＣ）などにネットワークなどを介して接続可能である。
【００１９】
次に画像処理部１０２で実行される各種画像処理について説明する。
【００２０】
図２は、画像処理部１０２の内部構成を示す図である。
【００２１】
画像処理部１０２は、圧縮処理部２０１、展開処理部２０２、色変換処理部２０３、濃度調整処理部２０４、ガンマ補正処理部２０５、ハーフトーン処理部２０６及び内部バス２０７によって構成される。
【００２２】
圧縮処理部２０１は、画像読取部１０１で取得した画像データを記憶部１０３内のＨＤへ格納するため、例えばＪＰＥＧなどの形式に圧縮する圧縮処理を行なう。なお、圧縮処理の対象となる画像データは、ＣＰＵ１０４によって、所定のブロック単位（例えば、８×８画素のブロック単位）で画像処理部１０２に供される。そして、圧縮処理部２０１で圧縮された８×８画素のブロック単位の画像データは、ＲＡＭを経由してＨＤに格納される。
【００２３】
展開処理部２０２は、圧縮された８×８画素のブロック単位の画像データを展開処理し、ラスタ画像へ戻す処理を行なう。この際、８×８画素のブロックはラインメモリに展開される。
【００２４】
色変換処理部２０３は、展開された画像データをプリンタの色空間にあわせるための色変換処理を行う。
【００２５】
濃度調整処理部２０４は、出力時の印刷濃度を調整する処理を行う。
【００２６】
ガンマ補正処理部２０５は、プリンタ毎に決まる画像形成時のプリンタガンマ特性のデータに基づき、画像データに対してガンマ補正を行なう。
【００２７】
ハーフトーン処理部２０６は、色変換された画像データに対し誤差拡散法等を用いてハーフトーン処理を行う。ここで、ハーフトーン処理とは、原稿を読み取って得られた画像データの階調値（例えば、２５６階調）を、画像出力部１０５で印刷可能なN値（例えば２値）の画像データに変換することをいう。
【００２８】
次に、ハーフトーン処理部２０６で実行される処理の詳細について説明する。
【００２９】
図３は誤差拡散法を用いてハーフトーン処理を行う、本実施例に係るハーフトーン処理部２０６の内部構成を示すブロック図であり、図４はそのハーフトーン処理の流れを示すフローチャートである。
【００３０】
本実施例に係るハーフトーン処理部２０６は、誤差加算部３０１、量子化部３０２、誤差拡散部３０３、累積誤差メモリ３０４で構成され、入力された２５６階調の画像データを２値の画像データに変換するものとする。
ステップ４０１において、ハーフトーン処理部２０６は、ガンマ補正処理部２０５から画像データを構成する各画素のデータを、順次受け取る。
【００３１】
ステップ４０２において、誤差加算部３０１は、入力された画素データに、横画素位置ｘに対応した累積誤差Ｅ（ｘ）の値を加算する。受け取った画素データをＩ、累積誤差を加算した後の画素データをＩ’とすれば、式（１）のような関係になる。  
Ｉ’＝Ｉ＋Ｅ（ｘ）                                    ・・・式（１）
【００３２】
本ステップにおける累積誤差の加算処理では、注目画素群を構成する各画素には同じ累積誤差Ｅ（ｘ）が加算される。
【００３３】
図５は、入力された画素（注目画素）と注目画素群の関係を示す図である。図５において、左から右が主走査方向であり、上から下が副走査方向である。実線で区切られた各矩形領域が個々の注目画素群を示しており、各注目画素群内の破線で区切られた各領域が入力される各画素を示している。入力される各画素及び各注目画素群は、座標によって特定される。ここでは、注目画素群は、２画素×２画素の計４画素で構成されている。例えば、参照符合５０１で示される注目画素群Ａの場合、座標Ａ（１，１）によってその位置が特定される。そして、座標Ａ（１，１）によって特定される注目画素群Ａは、それぞれ座標（２，２）、（３，２）、（２，３）、（３，３）で特定される４つの画素によって構成される。誤差加算部３０１は、入力された画素データの座標情報から当該入力された注目画素の属する注目画素群を導出して、累積誤差Ｅ（ｘ）を加算する。
【００３４】
図６は、注目画素群Ａ内の注目画素（ａ，ｂ，ｃ，ｄ）に対して、累積誤差Ｅ（ｘ）が加算される状況を示している。各注目画素（ａ，ｂ，ｃ，ｄ）には、近傍の画素群Ｂ、Ｃ、Ｄ、Ｅで発生した誤差の平均値が加算される。例えば、上述のFloyd-Steinberg 法における誤差拡散係数を採用したと仮定し、各画素群B、Ｃ、Ｄ、Ｅ内の各画素で生じた誤差をｅ（ｎ○○)とすると、注目画素群Ａの各画素に加算される累積誤差Ｅ（ｘ）は次の式（２）で求められる。  
E(x) = ｛(e(n46)+e(n45)+e(n36)+e(n35))*(1/16)+(e(n44)+e(n43)+e(n34)+e(n33))*(5/16)
+(e(n42)+e(n41)+e(n32)+e(n31))*(3/16)+(e(n26)+e(n25)+e(n16)+e(n15))*(7/16)｝        /4
・・・式（２）
【００３５】
累積誤差メモリ３０４には、上記式（２）によって算出された累積誤差Ｅ（ｘ）の値が格納されている。図７は、累積誤差メモリ３０４の内部構造の一例を示す図である。本実施例の場合、注目画素群は２画素×２画素の４画素からなるので、画像の横画素の数（Ｗ）の半分の数（Ｗ／２）の記憶領域に、累積誤差Ｅ（ｘ）がそれぞれ格納されることになる。例えば、画像データの横画素（主走査方向）の数が１０００（画素）であったとすれば、累積誤差メモリ３０４に格納される累積画素は、Ｅ（１）〜Ｅ（５００）となる。従来、誤差を拡散する範囲を同様の範囲にまで広げようと思えば、画素位置n46、画素位置n45、画素位置n36、画素位置n35で発生した誤差のすべてを（即ち、２ライン前の誤差も）保持する必要があった。これに対して、本実施例の方法では、４つの画素における誤差の平均値のみを保持すればよい（即ち、１ライン分で足りる）ので、メモリ容量を増やす必要がない。
【００３６】
このようにして、本ステップで、注目画素群を構成する各画素には同じ累積誤差Ｅ（ｘ）が加算されることになる。
【００３７】
ステップ４０３において、量子化部３０２は、量子化処理を行う。具体的には、累積誤差が加算された画素データＩ’と所定の閾値Ｔとを比較し、出力する画素値を決定する。２値化する場合の閾値Ｔは、最大入力画素値と最小入力画素値の中央値（入力画素値が０から２５５の範囲の整数値とすれば、閾値Ｔは、１２７乃至１２８）に設定される。そして、この場合の出力画素値Ｖは、次の式（３）により決定される。  
Ｖ＝０    （Ｉ’≦Ｔのとき）
Ｖ＝２５５（Ｉ’＞Ｔのとき）                            ・・・式（３）
【００３８】
ステップ４０４において、誤差拡散部３０３は、累積誤差が加算された画素データＩ’と出力画素値Ｖとの差分（量子化誤差Ｅ）を算出し、所定の誤差拡散係数に基づいて誤差の拡散処理を行う。そして、拡散処理によって新たに生じた誤差を基に上述の累積誤差Ｅ（ｘ）を算出して、累積誤差メモリ３０４に格納する。
【００３９】
ステップ４０５において、画像データ中のすべての画素について処理が完了したかどうかを判定し、未処理の画素がある場合はステップ４０１に戻ってステップ４０１〜ステップ４０４の処理を繰り返す。
【００４０】
以上説明したような、本実施例に係るハーフトーン処理によれば、メモリ容量を増やすことなく誤差拡散係数の範囲を広げることが可能となる。これにより、出力解像度が高くなってもメモリ容量の増大に伴うコスト増を招くことなく、高品位の画像を得ることができる。
【実施例２】
【００４１】
実施例１では、誤差格差法を用いたハーフトーン処理の場合について説明した。次に、平均濃度保存法を用いたハーフトーン処理の態様について実施例２として説明する。なお、実施例１と共通する部分については説明を簡略化ないしは省略し、ここでは差異点を中心に説明することとする。
【００４２】
図９は、平均濃度保存法を用いてハーフトーン処理を行う、本実施例に係るハーフトーン処理部２０６の内部構成を示すブロック図であり、図１０はそのハーフトーン処理の流れを示すフローチャートである。本実施例に係るハーフトーン処理部２０６は、誤差加算部９０１、量子化部９０２、誤差拡散部９０３、累積誤差メモリ９０４、量子化結果遅延メモリ、平均濃度算出部９０６で構成される。実施例１と同様、入力された２５６階調の画像データを２値の画像データに変換する場合を例に説明する。
【００４３】
ステップ１００１において、ハーフトーン処理部２０６は、ガンマ補正処理部２０５から画像データを構成する各画素のデータを、順次受け取る。
【００４４】
ステップ１００２において、誤差加算部９０１は、入力された画素データに、横画素位置ｘに対応した累積誤差Ｅ（ｘ）の値を加算する。受け取った画素データをＩ、累積誤差を加算した後の画素データをＩ’とすれば、式（４）のような関係になる。  
Ｉ’＝Ｉ＋Ｅ（ｘ）                                    ・・・式（４）
【００４５】
本ステップにおける累積誤差の加算処理においても、実施例１の場合と同様、注目画素群を構成する各画素には同じ累積誤差Ｅ（ｘ）が加算される。
【００４６】
ステップ１００３において、平均濃度算出部９０６は、量子化結果遅延メモリ９０５に格納された量子化結果（２値化結果）を取得し、予め設定された所定の係数と遅延された２値化結果とで積和演算を行い、量子化部９０２で使用する閾値Ｍ（平均濃度）を生成する。図１１は、平均濃度の算出に使用する所定の係数と注目画素群との関係を示す図である。図１２は、平均濃度の算出に使用する２値化結果と注目画素群との関係を示す図である。閾値Ｍとなる平均濃度は、式（５）によって求めることができる。  
M=(K35*(N6A+N69+N5A+N59)+K34*(N68+N67+N58+N57)+K33*(N66+N65+N56+N55)+K32*(N64+N63+N54+N53)+K31*(N62+N61+N52+N51)+K25*(N4A+N3A+N49+N39)+K24*(N48+N47+N38+N37)+K23*(N46+N45+N36+N35)+K22*(N44+N43+N34+N33)+K21*(N42+N41+N32+N31)+K15*(N2A+N29+N1A+N19)+K14*(N28+N27+N18+N17))/4
・・・式（５）
【００４７】
従来手法であれば、例えば、１ラインが４９９２画素だった場合には、４ライン分の２値化結果（4line*4992pix*1bit=19968bit）を保持しておく必要があった。本実施例によれば、２画素×２画素の計４画素（画素群Ｇ）の単位での２値化結果の保持で済むことになる。すなわち、２ラインと画素群当たり３ビット（０、１、２、３、４を保持するため）の２値化結果（2line*2496pix*3bit=14976bit）のみの保持で足りることになる。
ステップ１００４において、量子化部９０２は、累積誤差Ｅ（ｘ）を加算後の画素データＩ’と平均濃度算出部９０６で生成した閾値Ｍとを比較し、出力する画素値を決定する。すなわち、以下の式（６）によって出力画素値Ｖが決定される。  
Ｖ＝０    （Ｉ’≦Ｍのとき）
Ｖ＝２５５（Ｉ’＞Ｍのとき）                                ・・・式（６）
【００４８】
ステップ１００５において、誤差拡散部９０３は、累積誤差が加算された画素データＩ’と出力画素値Ｖとの差分（量子化誤差Ｅ）を算出し、所定の誤差拡散係数に基づいて誤差の拡散処理を行う。そして、拡散処理によって新たに生じた誤差を累積誤差メモリ９０４に格納する。
【００４９】
ステップ１００６において、画像データ中のすべての画素について処理が完了したかどうかを判定し、未処理の画素がある場合はステップ１００１に戻ってステップ１００１〜ステップ１００５の処理を繰り返す。
【００５０】
以上説明したように、本実施例に係る平均濃度法を用いたハーフトーン処理によっても、メモリ容量を増やすことなく誤差拡散係数の範囲を広げることが可能となる。
【実施例３】
【００５１】
実施例１及び２では、メモリ容量を抑えつつ誤差拡散係数や平均濃度係数の範囲を拡大し、例えば、１２００ＤＰＩ単位で処理をした場合に、６００ＤＰＩ相当の画質を得ることを可能にしている。この場合、最小孤立点は２画素×２画素となるが、プリンタの性能によっては大き過ぎる場合がある。更なる高画質を得るためには、プリンタの性能に合わせて最小孤立点の大きさを細かく制御する必要がある。そこで、最小孤立点の大きさを自由に制御する態様について実施例３として説明する。なお、実施例１及び２と共通する部分については説明を簡略化ないしは省略し、ここでは差異点を中心に説明することとする。
【００５２】
図１３は、本実施例に係るハーフトーン処理部２０６の内部構成を示すブロック図であり、図１４はそのハーフトーン処理の流れを示すフローチャートである。本実施例に係るハーフトーン処理部２０６は、実施例２と同様の構成（誤差加算部９０１、量子化部９０２、誤差拡散部９０３、累積誤差メモリ９０４、量子化結果遅延メモリ、平均濃度算出部９０６）に、以下の各部が追加される。すなわち、乱数発生部１３０１、制御マトリクス選択部１３０２、論理積処理部１３０３、パターンマッチング部１３０４、セレクタ１３０５をさらに備える。なお、本実施例においても、実施例１及び２と同様、入力された２５６階調の画像データを２値の画像データに変換する場合を例に説明する。
【００５３】
ステップ１４０１〜ステップ１４０５は、実施例２のステップ１００１〜ステップ１００５と同じである。すなわち、入力された画素データへの累積誤差Ｅ（ｘ）の加算（Ｓ１４０１及びＳ１４０２）、閾値Ｍ（平均濃度）の生成（Ｓ１４０３）、出力画素値の決定（Ｓ１４０４）を経て、誤差拡散処理が実行される（Ｓ１４０５）。
【００５４】
ステップ１４０６において、乱数発生部１３０１は、擬似乱数（例えば、Ｍ系列）を発生させる。発生させた擬似乱数は、制御ＭＡＴＲＩＸ選択部１３０２に送られる。
【００５５】
ステップ１４０７において、制御ＭＡＴＲＩＸ選択部１３０２は、入力された擬似乱数を使用して、一つの制御ＭＡＴＲＩＸをランダムに選択する。図１５の（ａ）〜（ｄ）は、それぞれ制御ＭＡＴＲＩＸの一例を示しており、このように予め用意された複数の制御ＭＡＴＲＩＸの中から、擬似乱数を用いて一の制御ＭＡＴＲＩＸがランダムに選択される。選択された制御ＭＡＴＲＩＸは、論理積処理部１３０３に送られる。
【００５６】
ステップ１４０８において、論理積処理部１３０３は、量子化部９０２の出力結果と制御ＭＡＴＲＩＸ選択部１３０２で選択された制御ＭＡＴＲＩＸとの論理積をとる。すなわち、量子化処理の結果を変更する。例えば、選択された制御ＭＡＴＲＩＸが図１５の（ａ）であり、注目画素が図１６のｊの位置であったとする。この場合、図１５の（ａ）においてａ１が図１６のｊに対応するので、このａ１との論理積が算出される。すなわち、この場合は、図１６におけるｊの位置が白く欠けたドットになるような結果が出力される。このようにして算出された論理積の結果は、セレクタ１３０５へ送られる。
【００５７】
ステップ１４０９において、パターンマッチング部１３０４は、量子化結果遅延メモリ９０５に格納されている注目画素の周辺の量子化結果と予め用意された所定のパターンとを比較して、注目画素が孤立点（孤立したドット）であるかどうかを判定する。この場合、量子化結果と所定のパターンとが合致すると、注目画素は孤立点であると判定されることになる。図１７は、予め用意され保持されている所定のパターンの一例を示す図である。図１７において、ｎ，ｏ，ｐ，ｑはそれぞれ注目画素を示している。この場合において、注目画素ｎ、ｏ、ｐ、ｑの出力値が２５５で、その周辺（図１７のs15、s16、s25、s26、s31〜s36、s41〜s46）の量子化結果が０であると、注目画素は孤立点であると判定されることになる。注目画素が孤立点と判定された場合にはステップ１４１０に進み、孤立点ではないと判定された場合にはステップ１４１１に進む。なお、この判定の結果は孤立点信号としてセレクタ１３０５に送られる。
【００５８】
ステップ１４１０及びステップ１４１１において、セレクタ１３０５は、パターンマッチング部１３０４から出力された孤立点信号に従って、出力を切り替える。具体的には、注目画素が孤立点だと判定された場合（ステップ１４１０）においては論理積の結果を出力し、注目画素が孤立点ではないと判定された場合（ステップ１４１１）においては量子化の結果をそのまま出力する。
【００５９】
ステップ１４１２において、画像データ中のすべての画素について処理が完了したかどうかを判定し、未処理の画素がある場合はステップ１４０１に戻ってステップ１４０１〜ステップ１４１１の処理を繰り返す。
以上説明したように、本実施例によれば、孤立点の大きさを細かく制御することが可能となる。これにより、より高品位の画像を得ることが可能となる。
【実施例４】
【００６０】
実施例３では、パターンマッチングによって孤立点の制御を行う態様について説明した。実施例３の手法で様々なパターンに対応するためには、多くのパターンを保持しておく必要があり、回路規模が増大してしまうという懸念がある。
【００６１】
そこで、パターンマッチングを用いずに、入力データから孤立点を制御する態様について実施例４として説明する。なお、実施例３と大部分が共通するので、ここでは実施例３との差異点を中心に説明することとする。
【００６２】
図１８は本実施例に係るハーフトーン処理部２０６の内部構成を示すブロック図である。実施例３に係る図１３との違いは、パターンマッチング部１３０４に代えて、濃度判定部１８０１が存在する点である。濃度判定部１８０１は、注目画素が低濃度域の場合に孤立点であると判定する。
【００６３】
本実施例におけるハーフトーン処理の流れ自体は実施例３と同じである。違いは、注目画素が孤立点かどうかを判定するステップ１４０９の中身である。以下、本実施例におけるステップ１４０９での処理について説明する。
【００６４】
ステップ１４０１〜ステップ１４０８を経て、ステップ１４０９において、濃度判定部１８０１は、予め設定された係数Ｌと入力画素データＩとを比較して、注目画素が孤立点であるかどうかを判定する。具体的には、入力画素データＩの値が係数Ｌより小さい場合には、孤立点（孤立したドット）と判定し、ステップステップ１４１０に進む。一方、入力画素データＩの値が、係数Ｌと等しい又は大きい場合には、孤立点ではないと判定し、ステップ１４１１へ進む。ここでの処理は、していることになる。
以降のステップ１４１０〜ステップ１４１２の処理は、実施例３の場合と同じなので省略する。
【００６５】
以上説明したように、本実施例によれば、回路規模を増大させることなく様々なパターンに対応することが可能となる。
【００６６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005921134.tif 000002
【図２】
0005921134.tif 000003
【図３】
0005921134.tif 000004
【図４】
0005921134.tif 000005
【図５】
0005921134.tif 000006
【図６】
0005921134.tif 000007
【図７】
0005921134.tif 000008
【図８】
0005921134.tif 000009
【図９】
0005921134.tif 000010
【図１０】
0005921134.tif 000011
【図１１】
0005921134.tif 000012
【図１２】
0005921134.tif 000013
【図１３】
0005921134.tif 000014
【図１４】
0005921134.tif 000015
【図１５】
0005921134.tif 000016
【図１６】
0005921134.tif 000017
【図１７】
0005921134.tif 000018
【図１８】
0005921134.tif 000019