JP3431779B2 - 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム - Google Patents

閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム

Info

Publication number
JP3431779B2
JP3431779B2 JP30834296A JP30834296A JP3431779B2 JP 3431779 B2 JP3431779 B2 JP 3431779B2 JP 30834296 A JP30834296 A JP 30834296A JP 30834296 A JP30834296 A JP 30834296A JP 3431779 B2 JP3431779 B2 JP 3431779B2
Authority
JP
Japan
Prior art keywords
matrix
threshold
density
binarization
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP30834296A
Other languages
English (en)
Other versions
JPH10150564A (ja
Inventor
昌史 上田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP30834296A priority Critical patent/JP3431779B2/ja
Priority to US08/971,189 priority patent/US6108450A/en
Publication of JPH10150564A publication Critical patent/JPH10150564A/ja
Application granted granted Critical
Publication of JP3431779B2 publication Critical patent/JP3431779B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、閾値マトリックス
誤差拡散法による2値化方法およびこの2値化方法を実
行可能に構成されたコンピュータシステムに関し、特
に、画素濃度と閾値との比較により中間調画像を2値化
するときに生じた誤差を周辺の画素の2値化に反映させ
るに際して、前記閾値として、n(nは2〜閾値マトリ
ックス要素数までの範囲の整数)種類の閾値の分布によ
り構成されている閾値マトリックスから、前記画素位置
に応じて抽出された閾値を用いる閾値マトリックス誤差
拡散法による2値化方法およびその方法を実行可能に構
成されたコンピュータシステムに関する。
【0002】
【従来の技術】フロイド(Floyd:"An Adaptive Algorit
hm for Spatial Gray Scale" SID 17[1976])らによっ
て提唱された誤差拡散法は、豊富な階調から成る自然画
像を良好な2値画像に変換する技法として広く知られて
いる。さらに、この誤差拡散法が持つ紋様の発生という
欠点を防止する手法として以下に記述する手法が知られ
ている。この手法の具体例としては、("On The Error
Diffusion Technique for Electronic Halftoninig" C.
Billotet-Hoffmann and O.Bryngdahl 1983 SID Vol.24/
3)[文献1参照]を挙げることができる。
【0003】まず図34を参照して、上記従来技術の動
作について説明する。まず誤差拡散処理が開始される
と、後述する誤差バッファを0に初期化すると共に、以
下の手順を実行する。S1,S2:2値化処理画素の位
置を判別するための変数x,yを0に初期化する。尚、
変数x,yで示される画素のことを注目画素と呼ぶ。
【0004】S3:画素位置(x,y)に対応する入力
画像の画素濃度値I(0≦I≦255)を読み取る。 S4:注目画素に対応する2値化誤差値e(x,y)を
誤差バッファから読み取り、次式1のごとく2値化誤差
値e(x,y)にて画素濃度値Iを補正して、補正濃度
値I′を求める。
【0005】
【数1】
【0006】S5:予め設定した閾値マトリックスMa
t()から画素位置(x,y)に応じて閾値Tを次式2
のごとく読み取る。
【0007】
【数2】
【0008】尚、Mat()は図35に示す様な2次元
配列のマトリックスであり、この例では8×8要素で構
成されている。各要素には閾値が1つづつ対応付けられ
て記憶されている。また、上式の「%」は除算後の余を
求める演算子であり、x%8はxを8で割つた後の余り
を示すものである。すなわち、x=8ならばx%8=0
であり、x=12ならばx%8=4となる。
【0009】この手順で読み取る閾値は、図35の例に
従えば、x=0,y=0ならば、x%8=0,y%8=
0なので、T=2であり、x=10,y=100なら
ば、x%8=2,y%8=4なので、T=46となる。 S6:S5で読み取った閾値TとS4で求めた補正濃度
値I′を比較し、2値化処理の分岐を行う。
【0010】S7:S6でI′<Tならば(「YE
S」)、出力濃度O=0とする。 S12:S6でI′≧Tならば(「NO」)、出力濃度
O=1とする。 S8:補正濃度値I′と出力濃度Oとに基づいて2値化
誤差値Eを次式3のごとく、算出する。
【0011】
【数3】
【0012】S9:予め設定した誤差分配マトリックス
Bmat()に基づいて、前記誤差値Eを、次式4に示
すごとく、未だ2値化されていない周辺画素の誤差バッ
ファeに分配する。
【0013】
【数4】
【0014】尚、「+=」は既に誤差バッファ内に存在
する値と加算処理して同じ誤差バッファに格納すること
を示す演算子である。Bmat()の具体例は図36に
示す通りであり、i,jは注目画素位置をi=j=0と
し、図示するような値をとる変数である。
【0015】S10:主走査方向(x方向)の2値化処
理が終了したか否かを判定する。 S11:S10にて終了したと判定された場合に(「Y
ES」)、全画素の2値化処理が終了したか否かを判定
する。 S13:S10にて終了していないと判定された場合に
(「NO」)、xに1を加算し、S3に戻る。
【0016】S14:S11にて全画素の2値化処理が
終了していないと判定された場合に(「NO」)、yに
1を加算し、S2に戻る。なお、S11にて全画素の2
値化処理が終了していると判定されると(「YES」)
誤差拡散処理は終了する。このように、閾値マトリック
スを誤差拡散に利用することによって、画質を劣化させ
る、紋様の発生や濃度急変部(エッジ)におけるドット
の偏りを防止することができるようになった。
【0017】
【発明が解決しようとする課題】しかしながら、以下に
記述するように特定の濃度レベルで粗さが目立つことが
新たに判明した。図29は2値閾値マトリックスを構成
するそれぞれの値がほぼ同じ割合で存在する2値パター
ンを示すものである。図30は濃度の高い閾値が75%
程度の割合で存在する2値パターンを示すものである。
図31は濃度の高い閾値が約88%程度の割合で存在す
る2値パターンを示すものである。
【0018】ここで、図29〜31はそれぞれ128×
128要素で構成される閾値マトリックスを示すもので
あり、例えば、黒く塗つぶされた要素は閾値Tとして2
が、白く塗つぶされた要素は閾値Tとして253が対応
付けられているものとする。尚、処理対象の中間調画像
においては、白は濃度255が該当し、黒は濃度レベル
0が該当する。
【0019】図32は、前記図29〜31の2値閾値マ
トリックスを利用した誤差拡散処理によって、入力濃度
として均一な濃度の画像を2値化した際の2値出力結果
を示すものである。図32からも判るように、濃度の高
い閾値の割合が50%の2値閾値マトリックスでは、入
力濃度が50%にて粗さが目立ち、濃度の高い閾値の割
合が75%の2値閾値マトリックスでは、入力濃度が7
5%にて粗さが目立ち、濃度の高い閾値の割合が87.
5%の2値閾値マトリックスでは、入力濃度が88%に
て粗さが目立った。この粗さが2値化された擬似中間調
画像の品質低下につながった。
【0020】本発明は、このような粗さを防止あるいは
目立たないようにすることを目的としてなされたもので
ある。
【0021】
【課題を解決するための手段及び発明の効果】ここに
は、1つまたはそれ以上の発明が記載され、それぞれ以
下に述べるような構成および効果を有する。本発明の閾
値マトリックス誤差拡散法による2値化方法は、入力画
像の画素濃度と閾値との比較により中間調画像を2値化
するときに生じた誤差を周辺の画素の2値化に反映させ
るに際して、前記閾値として、n(nは2〜閾値マトリ
ックス要素数までの範囲の整数)種類の閾値の分布によ
り構成されている閾値マトリックスから、前記画素位置
に応じて抽出された閾値を用いる閾値マトリックス誤差
拡散法による2値化方法において、前記閾値マトリック
スを構成している前記n種類の各閾値の構成割合が同一
でないことを特徴とするものである。
【0022】ここで、前述した図32を参照して、次の
ような傾向を読み取ることができることが判った。すな
わち、 1.図29の2値閾値マトリックスを利用した誤差拡散
処理の場合、50%の均一な濃度領域に対応する2値出
力画像は、50%より高い濃度レベル側に比べ著しく粗
さが目立つている。
【0023】2.図30,31のように2値閾値マトリ
ックスの濃度の高い閾値の構成割合を変化させると、そ
れに従い粗さが目立つ濃度レベルも変化する。すなわ
ち、濃度の高い閾値の構成割合と粗さが目立つ濃度レベ
ルの間には高い相関関係が存在する。
【0024】3.粗さが目立つ範囲は、2値の構成割合
や入力濃度において狭い範囲である。しかし、従来で
は、2値の構成割合はそれぞれ50%に設定しているた
め、入力濃度の内、粗さが目立つのは入力濃度50%と
なる。この入力濃度50%は中間調画像では比較的現れ
易いので、2値化された擬似中間調画像の品質低下は免
れなかったが、本発明では、閾値マトリックスを構成し
ているn種類の各閾値の構成割合が同一でないので、粗
さが目立つ入力濃度をシフトすることができる。
【0025】具体的には、前記閾値マトリックスを構成
している前記n種類の閾値の構成割合を設定することに
より、粗さを防止したり目立たなくしたりすることがで
きる。更に具体的には、2値化対象の中間調画像の各濃
度の存在割合に応じて、前記閾値マトリックスを構成し
ている前記n種類の閾値の構成割合を設定することとし
ても良い。
【0026】中間調画像が有していないあるいは有して
いても割合が少ない入力濃度で粗くなるように、n種類
の各閾値の構成割合を調整すれば、粗さの発生を防止し
たり目立たなくしたりすることができる。すなわち、2
値化対象の前記中間調画像の各濃度の内、存在割合が最
小または極小の濃度に対応させて、前記閾値マトリック
スを構成している前記n種類の閾値の構成割合を設定す
る。
【0027】また、図32からも判るように、入力濃度
にも粗さが大きい入力濃度と粗さが存在しても比較的小
さい入力濃度とがある。したがって、前記閾値マトリッ
クスにおいて、前記中間調画像が取り得る最大の濃度の
1/2を境として、濃度の高い方の閾値の要素数と濃度
の低い方の閾値の要素数との割合が同一ではないように
すれば、粗さが比較的目立たなくなる。
【0028】特に、粗さが大きいのは入力濃度が低い方
であり、入力濃度が高い方は粗さが小さいので、濃度の
高い方の閾値の要素数が、濃度の低い方の閾値の要素数
より多いこととすることにより、粗さを目立たなくする
ことができる。具体的には、例えば、濃度が高い方の閾
値の発生頻度が、約75%にすることが挙げられる。
【0029】また、閾値の種類数nとしては、例えば、
2にすることが挙げられる。なお、閾値マトリックスと
しては、次のような手法により形成されるものを挙げる
ことができる。すなわち、閾値マトリックスの閾値の配
置が、ブルーノイズマスクの手法により形成されている
ものである。
【0030】ブルーノイズマスクの手法とは、誤差拡散
法とは異なる中間調画像の2値化の手法であるディザマ
トリックスを作成するための1つの手法として知られて
いる。すなわち、ブルーノイズマスクの手法は、所定の
割合で存在する2値からなるマトリックスの2値の分布
を評価して、同一の値が集中しないように2値を分散
し、これに基づいて複数の2値のマトリックスを作成
し、この複数の2値のマトリックスに基づいて多値の閾
値のマトリックスを作成する手法である。
【0031】このブルーノイズマスクの手法は、例え
ば、"The Void & Cluster method fordither array gen
eration" Robert Ulichney SPIE Vol,1913 として知ら
れている手法を利用することができる。ただし、これに
限らず、他のブルーノイズマスクの手法として知られて
いる方法も適用できる。
【0032】ブルーノイズマスクの手法を用いて閾値が
分布された閾値マトリックスを、誤差拡散法に適用する
と、前述した効果に加えて、比較的小さいサイズの誤差
分配マトリックスを用いても、あるいは閾値マトリック
スに配置する閾値の種類が少なくても、画質を劣化させ
る紋様の発生や濃度急変部(エッジ)におけるドットの
偏りを防止でき、メモリ容量の不利も解消できる。
【0033】ブルーノイズマスクの手法としては、具体
的には、n=2であって、2種類の閾値をランダムに配
置したマトリックスの各閾値について、その周辺の同一
閾値の期待濃度を求め、各閾値について期待濃度の最大
となる位置の閾値同士を入れ替える処理を所定の閾値分
布状態になるまで繰り返すことにより、閾値マトリック
スを得る方法である。
【0034】この2種類の閾値において、最初に構成割
合を調整することにより、所望の構成割合の2値閾値マ
トリックスが生成できる。更に、このようにして得られ
た閾値マトリックスに対して、2種類の閾値のうち個数
の少ない方の閾値について、該個数の少ない方の閾値が
密に集まる部分の該個数の少ない方の閾値を個数の多い
方の閾値に置き換え、該要素位置に、置き換える前の前
記個数の少ない方の閾値の存在数を閾値として与えるこ
とを繰り返す処理、および、前記個数の少ない方の閾値
が疎に散る部分の前記個数の多い方の閾値の要素位置を
前記個数の少ない方の閾値に置き換え、該要素位置に、
置き換えた後の前記個数の少ない方の閾値の存在数を閾
値として与えることを繰り返す処理、を行って得られた
複数種類の閾値からなる閾値マトリックスを用いて閾値
マトリックスを得ても良い。
【0035】また、前記2つの処理のいずれかを実行す
ることにより、2種類の閾値が所望の構成割合となれ
ば、そこで処理を停止することで、2値の閾値が所望の
構成割合となっている閾値マトリックスを得ることがで
きる。ブルーノイズマスクの手法以外に、次のような手
法で閾値マトリックスを作成しても良い。
【0036】すなわち、前記閾値マトリックスの閾値の
配置が、均一濃度画素マトリックスを、画素濃度と閾値
との比較により2値化する際に生じた誤差を周辺の画素
の2値化に反映させて2値化する誤差拡散法を実行し、
得られた2値化マトリックスの2値にそれぞれ前記2種
類の閾値を対応させてなる配置方法にて行われることを
特徴とする。
【0037】この手法は、閾値マトリックスにおいて、
ブルーノイズマスクとは別個の手法で、好ましい閾値の
配置特性を実現するものであり、同様に、比較的小さい
サイズの誤差分配マトリックスを用いても、あるいは閾
値マトリックスに配置する閾値の種類が少なくても、画
質を劣化させる紋様の発生や濃度急変部(エッジ)にお
けるドットの偏りを防止し、メモリ容量の不利も解消で
きるものとなる。
【0038】最初の均一濃度画素マトリックスの濃度を
調整することにより、あるいはこの誤差拡散法における
閾値の値を調整することにより、所望の構成割合で2値
の閾値が存在する閾値マトリックスを得ることができ
る。また、このようにして得られた2値閾値マトリック
スに対して、ブルーノイズマスクにて述べた前記2つの
処理のいずれかを実行することにより、2種類の閾値が
所望の構成割合となれば、そこで処理を停止すること
で、2値の閾値が所望の構成割合となっている閾値マト
リックスを得ることができる。
【0039】更に、このような誤差拡散により2値を配
置させた閾値マトリックスに対して、前述したブルーノ
イズマスクの手法である、2種類の2値のいずれかの値
の所定個数を、同じ値の密度がほぼ均一になるようにす
る配置方法を実行しても良い。具体的には、閾値マトリ
ックスとして、前記誤差拡散により2値を配置させた閾
値マトリックスの各値について、その周辺の同一値の期
待濃度を求め、期待濃度の最大となる位置の一方の値を
期待濃度の最大となる位置の他方の値と入れ替える処理
を所定の値分布状態になるまで繰り返すことにより得ら
れたマトリックスを用いても良い。
【0040】異なる濃度の均一濃度画素マトリックスに
て既に2値化された2値化マトリックスの2値化状態を
参照しつつ、均一濃度画素マトリックスの各画素を、画
素濃度と閾値との比較により2値化する際に生じた誤差
を周辺の画素の2値化に反映させて2値化する誤差拡散
法を繰り返し、この繰り返しにより得られた、所望濃度
の均一濃度画素マトリックスによる2値化マトリックス
の2値に、それぞれ2種類の閾値を対応させる配置方法
でも良い。最後に処理される均一濃度画素マトリックス
の濃度値により、所望の構成割合の2値閾値マトリック
スを得ることができる。
【0041】このように他の均一濃度画素マトリックス
の2値化結果を考慮して、目的とする濃度の均一濃度画
素マトリックスを2値化すると、2値の分布が適当とな
り、比較的小さいサイズの誤差分配マトリックスを用い
ても、あるいは閾値マトリックスに配置する閾値の種類
が少なくても、画質を劣化させる紋様の発生や濃度急変
部(エッジ)におけるドットの偏りを防止し、メモリ容
量の不利も解消できるものとなる。
【0042】また、2値ばかりでなく、3値以上の多値
の閾値マトリックスを次のように作成しても良い。すな
わち、異なる濃度の均一濃度画素マトリックスにて既に
2値化された2値化マトリックスの2値化状態を参照し
つつ、均一濃度画素マトリックスの各画素を、画素濃度
と閾値との比較により2値化する際に生じた誤差を周辺
の画素の2値化に反映させて2値化する誤差拡散法を繰
り返し、この繰り返しにより得られた2値化マトリック
スのすべてについて同一位置の要素毎に2値を集積し、
この集積結果に基づいて、前記閾値マトリックスにおけ
る各要素の閾値を設定しても良い。
【0043】このような2値化マトリックスの集積によ
り、マトリックスには集積数に応じた数の種類が生じ、
それぞれに閾値を対応させれば、3値以上の閾値マトリ
ックスが作成できる。また、2値化状態の参照が、2値
化処理しようとする均一濃度画素マトリックスに最も近
い濃度の均一濃度画素マトリックスの2値化状態を参照
することによりなされても良い。
【0044】更に具体的には、2値化状態の参照が、2
値化処理しようとする均一濃度画素マトリックスに最も
近い濃度の均一濃度画素マトリックスによる2値化マト
リックスの要素の内、「1」である要素と同じ位置は必
ず「1」に2値化することにより行われても良い。
【0045】この場合、最初に、前記所定範囲において
設定された複数の濃度値の内の最小値を全要素の濃度値
とする均一濃度画素マトリックスについて、前記誤差拡
散法にて各要素の濃度値を「1」または「0」のいずれ
かに2値化し、その後、他の濃度値の均一濃度画素マト
リックスを2値化することとしても良い。
【0046】あるいは、最初に、前記所定範囲において
設定された複数の濃度値の内の最大値を全要素の濃度値
とする均一濃度画素マトリックスについて、前記誤差拡
散法にて各要素の濃度値を「1」または「0」のいずれ
かに2値化し、その後、他の濃度値の均一濃度画素マト
リックスを2値化するようにしても良い。
【0047】また、2値化状態の参照が、2値化処理し
ようとする均一濃度画素マトリックスに、濃度の高い側
および濃度の低い側にそれぞれ最も近い濃度の均一濃度
画素マトリックスの2値化状態を参照することとしても
良い。この場合、最初に、前記所定範囲において設定さ
れた複数の濃度値の内の最大値および最小値をそれぞれ
全要素の濃度値とする2つの均一濃度画素マトリックス
について、前記誤差拡散法にて各要素の濃度値を「1」
または「0」のいずれかに2値化し、その後、他の濃度
値の均一濃度画素マトリックスを2値化することとして
も良い。
【0048】具体的には、濃度の高い側の2値化マトリ
ックスにおいて「1」となり、かつ濃度の低い側の2値
化マトリックスにおいても「1」となっている要素位置
と同じ位置は必ず「1」とし、濃度の高い側の2値化マ
トリックスにおいて「0」となり、かつ濃度の低い側の
2値化マトリックスにおいても「0」となっている要素
位置と同じ位置は必ず「0」として誤差拡散処理するこ
とにより2値化することとしても良い。
【0049】2値化マトリックスもそのまま全て用いる
のではなく、最終的に得られた2値化マトリックスの一
部分を構成するマトリックスの2値にそれぞれ2種類の
閾値を対応させてなる配置方法にて行われても良い。こ
のようにすると、濃度急変部(エッジ)におけるドット
の偏りを防止する効果は、より一層、高いものとなる。
【0050】なお、閾値マトリックスの記憶に際して
は、閾値の代りに、該閾値の種類を識別するための、該
閾値よりも記憶容量が小さい識別値にて記憶され、閾値
マトリックスの使用に際しては、該当する要素位置から
読み出された前記識別値から対応する閾値を形成して使
用することとしても良い。
【0051】例えば、実際に用いられる2値が「64」
と「192」である場合、この値を「0」と「1」でそ
れぞれ表して、閾値マトリックスとして記憶しておき、
「0」の識別値が使用される場合は、閾値として「6
4」を用い、「1」の識別値が使用される場合は、閾値
として「192」を用いるようにすれば良い。「64」
と「192」とからなる閾値マトリックスと同等に使用
できる。このように実際の閾値よりも小さい識別値で記
憶することにより、メモリ容量の不利を一層解消でき
る。また、このように識別値であれば、「64」、「1
92」の組み合わせのみでなく、他の値に対応させるこ
ともできることから、一つの閾値マトリックスが、複数
種類の閾値マトリックスに対応することになり、更に一
層メモリ容量の不利を解消できる。
【0052】また、閾値マトリックスの記憶に際して
は、閾値の代りに、該閾値の種類を識別するための識別
値として記憶し、この識別値を、マトリックスの配置で
はなく、その要素位置とともに値順に配置されたテーブ
ルとして記憶しておき、閾値マトリックスの使用に際し
ては、必要な閾値の種類数に応じて、前記テーブルを分
割して、各分割された識別値に対して、該当する要素位
置にそれぞれ閾値を対応させて使用することとしても良
い。
【0053】このようにすると、閾値の値のみでなく、
閾値の種類数をも分割数の調整により任意に変更するこ
とが容易となり、目的に適合させて柔軟に閾値マトリッ
クスの閾値を調整することが容易にできる。また、分割
の均等に行うのではなく、分割された各ブロックの大き
さを任意に調整することにより、閾値の構成割合も任意
に調整することが容易となる。
【0054】なお、このような閾値マトリックス誤差拡
散法による2値化方法を実行する機能は、例えば、コン
ピュータシステム側で起動するプログラムとして備えら
れる。このようなプログラムの場合、例えば、フロッピ
ーディスク、光磁気ディスク、CD−ROM等の記憶媒
体に記憶し、必要に応じてコンピュータシステムにロー
ドして起動することにより用いることができる。この
他、ROMやバックアップRAMを記憶媒体として前記
プログラムを記憶しておき、このROMあるいはバック
アップRAMをコンピュータシステムに組み込んで用い
ても良い。
【0055】
【発明の実施の形態】[実施の形態1] 図1は、上述した発明のいくつかの閾値マトリックス誤
差拡散法による2値化方法が適用された中間調画像デー
タ2値化装置2の概略構成を表すブロック図である。
【0056】この中間調画像データ2値化装置2は、コ
ンピュータを主体として構成され、CPU12、ROM
からなるプログラム記憶部13、RAMからなる閾値マ
トリックス記憶部14、RAMからなる誤差分配マトリ
ックス記憶部15、RAMからなる誤差バッファ16、
RAMからなる入力画像データ記憶部17、RAMから
なる出力画像データ記憶部18およびRAMからなる作
業用メモリ19を備えて、これらがバス20により接続
されて、制御信号やデータ信号を交換可能としている。
【0057】また、中間調画像データ2値化装置2は、
これ以外に、バス20を介して、コンピュータとして必
要なキーボード21やディスプレイ22等の入出力装
置、ハードディスクやフロッピーディスクドライブ等の
外部記憶装置23およびカラープリンタ24が接続され
ている。
【0058】プログラム記憶部13には、コンピュータ
として必要な基本的なプログラム、後述する閾値マトリ
ックスを生成する処理プログラム、中間調画像を閾値マ
トリックス誤差拡散処理により2値化して擬似中間調画
像を形成するプログラム、およびその他の処理のプログ
ラムが格納され、必要に応じてCPU12により実行さ
れる。なお、外部記憶装置23を介して、前記各種プロ
グラムが記憶されたフロッピーディスク、光磁気ディス
ク、CD−ROM等の記憶媒体から、必要に応じて作業
用メモリ19に読み込んで起動することにより実行して
も良い。
【0059】閾値マトリックス記憶部14は、後述する
ごとく、2値閾値マトリックス生成処理により生成され
た閾値マトリックスを記憶するためである。この閾値マ
トリックスは、2種類の識別値がブルーノイズマスクの
手法によりあるいは類似の手法により分布されているマ
トリックスとして記憶されている。
【0060】誤差分配マトリックス記憶部15は、誤差
拡散法により算出された出力濃度値と元の濃度値との誤
差を、誤差バッファ16内の周辺画素に分配する際に、
分配対象となる周辺画素およびその分配率を誤差分配マ
トリックスとして記憶している。
【0061】誤差バッファ16は、誤差の分配対象とな
る画素毎に分配される誤差を蓄積している。入力画像デ
ータ記憶部17は外部記憶装置23等から導入された中
間調画像データを記憶している。出力画像データ記憶部
18は、入力画像データ記憶部17に記憶されている中
間調画像データを閾値マトリックス誤差拡散処理により
2値化して得られた擬似中間調画像データを記憶するも
のである。なお、必要に応じてこの擬似中間調画像デー
タは、ディスプレイ22に表示されたり、カラープリン
タ24により記録される。
【0062】次に、CPU12にて実行される図2のフ
ローチャートに示す閾値マトリックス生成処理について
説明する。この処理は誤差拡散法により任意の構成割合
の2値閾値マトリックスを生成している。尚、濃度レベ
ルは0〜255の256段階で表現されるものとし、0
が黒を示し255が白を示すものとする。
【0063】処理が開始されると、粗さの発生を許容す
る濃度レベルD(0≦D≦255)を設定する(S10
0)。 尚、この設定処理は操作者が所望の濃度レベル
を入力することによって設定されてもよいし、後述する
ように入力画像のヒストグラムの取得結果に基づいて設
定されてもよい。
【0064】次に2値閾値マトリックス作成のための基
準濃度Istを次式5のごとく算出する(S110)。
【0065】
【数5】
【0066】尚、この基準濃度Istは、閾値マトリック
ス記憶部14の一部に確保された基準濃度記憶領域に記
憶保存される。次に、誤差バッファ16の内容を0に初
期化する(S120)。次に、2値化処理画素の位置を
判別するための変数x,yを0に初期化する(S13
0,S140)。
【0067】次に、画素位置(x,y)の画素濃度を、
基準濃度Istとする(S150)。すなわち、2値閾値
マトリックスを、Istの均一濃度画素マトリックスに対
する2値化画像として、誤差拡散処理により求めること
になる。次に、注目画素に対応する2値化誤差値e
(x,y)を誤差バッファ16から読み取り、次式6の
ごとく2値化誤差値e(x,y)にて基準濃度Istを補
正して、補正濃度値I′を求める(S160)。
【0068】
【数6】
【0069】次に、この補正濃度値I′と閾値T=12
8とを比較して、I′<Tか否かを判定する(S17
0)。この比較の結果、I′≧Tであれば(S170で
「NO」)、出力濃度Omx=1として、閾値マトリック
ス記憶部14内に設けた2値閾値マトリックスの該当要
素位置に「1」を書き込む(S180)。I′<Tであ
れば(S170で「YES」)、出力濃度Omx=0とし
て、2値閾値マトリックスの該当要素位置に「0」を書
き込む(S190)。
【0070】次に、補正濃度値I′と出力濃度Omxとに
基づいて2値化誤差値Eを次式7のごとく算出する(S
200)。
【0071】
【数7】
【0072】次に、予め設定した誤差分配マトリックス
Bmat()に基づいて、前記誤差値Eを、次式8に示
すごとく、未だ2値化がなされていない周辺画素の誤差
バッファeに分配する(S210)。
【0073】
【数8】
【0074】尚、「+=」は既に誤差バッファe内に存
在する値と加算処理して同じ誤差バッファeに格納する
ことを示す演算子である。Bmat()の具体例は、例
えば図36に示す通りであり、i,jは注目画素位置を
i=j=0とし、図36に示すような値をとる変数であ
る。
【0075】次に、主走査方向(x方向)の2値化処理
が終了したか否か判定する(S220)。1ライン分の
2値化が終了した場合には(ステップS220にて「Y
ES」)、次に全画素の2値化処理が終了したか否かを
判定する(S230)。
【0076】ステップS220にて、1ライン分の処理
が終了していないと判定された場合に(ステップS22
0にて「NO」)、xに1を加算し(S240)、ステ
ップS150に戻る。ステップS230にて全画素の2
値化処理が終了していないと判定された場合に(ステッ
プS230にて「NO」)、yに1を加算し(S25
0)、ステップS140に戻る。
【0077】尚、ステップS230にて全画素の2値化
処理が終了していると判定されると(ステップS230
で「YES」)誤差拡散処理は終了する。このようにし
て、濃度レベルDを設定し、この濃度レベルDに基づい
て、2値閾値マトリックス基準濃度Istを設定し、閾値
T(ここでは128)を用いて2値化しているので、2
値閾値マトリックスの全要素数の中で、「1」として設
定される閾値の構成割合がD/256となり、「0」と
して設定される閾値の構成割合が(256−D)/25
6となる。
【0078】したがって、前記濃度レベルDを0〜25
5の間で任意に設定することにより、2値閾値マトリッ
クスの全要素数の中で、「0」および「1」対して設定
される閾値の構成割合を任意に設定できる。このため、
「0」および「1」に対してそれぞれ閾値を設定して図
32に示したごとく、中間調画像を2値化処理する場合
に、粗さが目立つ入力濃度を、中間調画像内で存在量が
少ない濃度あるいは存在しない濃度に設定することで、
2値化した擬似中間調画像における画像の粗さが目立つ
のを抑制あるいは防止して、品質の高い画像を得ること
ができる。
【0079】例えば、「0」と「1」との構成割合が
1:1である2値閾値マトリックス(上述した例では、
濃度レベルD≒128)を用いた閾値マトリックス誤差
拡散法にて、中間調画像を2値化して得られた擬似中間
調画像に粗さが目立った場合には、濃度レベルDを12
8(D/256=0.50)近傍から離れた値、例えば
D/256=0.75あるいは0.15といった値に変
更して再度形成した2値閾値マトリックスに基づく閾値
マトリックス誤差拡散法にて中間調画像を2値化すれば
良い。
【0080】尚、一度、このような調整を行っても、再
度、他の画像領域の濃度と一致して、異なる画像領域の
粗さが目立つ場合があるが、その場合は、濃度レベルD
の変更を繰り返せば解決する。また、上述のごとく得ら
れた2値閾値マトリックスを用いて行う閾値マトリック
ス誤差拡散法は、例えば、図3のフローチャートのよう
にして行われることにより、中間調画像を2値の擬似中
間調画像に変換することができる。
【0081】処理の前に、誤差バッファ16を0に初期
化して、以下の手順を実行する。まず、2値化処理する
画素の位置を判別するための変数x,yを0に初期化す
る(S310,S320)。尚、変数x,yで示される
画素のことを注目画素と呼ぶことにする。
【0082】画素位置(x,y)に対応する入力濃度I
(0≦I≦255)を読み取る(S330)。次に、こ
の注目画素に対応する2値化誤差値e(x,y)を誤差
バッファ16から読み取り、次式9のごとく2値化誤差
値e(x,y)にて入力濃度Iを補正して、補正濃度値
I′を求める(S340)。
【0083】
【数9】
【0084】次に、閾値生成処理(S350)が行われ
る。すなわち、閾値マトリックス生成処理にて形成され
た閾値マトリックスは、0,1の値のみで表されてい
る。この0,1は閾値の種類を表すための識別値であ
り、実際には、画素の濃度範囲(ここでは0≦I≦25
5)に適合させて、予め決めてある適切な閾値をそれぞ
れ設定する必要がある。ここでは識別値「1」には閾値
「64」を、識別値「0」には閾値「192」を対応付
ける。この対応関係は閾値マトリックス記憶部14に記
憶してある。
【0085】ステップS350では、この対応関係に基
づいて、図4のフローチャートに示すごとくの閾値生成
処理がなされる。まず、前述した閾値マトリックス生成
処理にて形成されている2値閾値マトリックスMat2
()から画素位置(x,y)に応じた要素位置(x%
M,y%N)から識別値tを次式10のごとく読み取る
(S352)。
【0086】
【数10】
【0087】尚、Mat2()は、前述した図2の2値
閾値マトリックス作成処理にて求めた2値閾値マトリッ
クスである。また、前記式10の「%」は除算後の余を
求める演算子であり、「x%M」はxをMで割つた後の
余りを示すものであり、「y%N」はyをNで割つた後
の余りを示すものである。M=128,x=200なら
ばx%128=72であり、x=112ならばx%12
8=112となる。
【0088】この識別値tを判断し(S354)、t=
1ならば、閾値Tとして「64」が設定され(S35
8)、t=0ならば閾値Tとして「192」が設定され
る(S356)。こうして閾値生成処理が終了すると、
次にステップS340にて求められた補正濃度値I′と
ステップS350で求められた閾値Tとが比較される
(S360)。
【0089】I′<Tであれば(S360で「YE
S」)、出力濃度Oとして「0」に設定され(S37
0)、I′≧Tであれば(S360で「NO」)、出力
濃度Oとして「1」が設定される(S380)。この出
力濃度Oの値は、出力画像データ記憶部18に2値化画
像データとして順次蓄積される。
【0090】次に、補正濃度値I′と出力濃度Oとに基
づいて2値化誤差値Eを次式11のごとく算出する(S
390)。
【0091】
【数11】
【0092】次に、予め設定した誤差分配マトリックス
Bmat()に基づいて、前記誤差値Eを、次式12に
示すごとく、2値化が未処理の周辺画素の誤差バッファ
eに分配する(S400)。
【0093】
【数12】
【0094】尚、「+=」は既に誤差バッファe内に存
在する値と加算処理して同じ誤差バッファeに格納する
ことを示す演算子である。誤差分配マトリックスBma
t()の具体例は例えば図33に示す通りであり、i,
jは注目画素位置をi=j=0とし、図33に示すごと
くの値をとる変数である。
【0095】Bmat()としては、、従来のものであ
る図36に示すBmat()よりも、サイズの小さいも
のを使用している。閾値マトリックスにブルーノイズ特
性を有するものを用いることで、このような従来のもの
より比較的小さなサイズのBmat()を使用しても十
分な画質が得られる。このような小さなサイズのBma
t()を用いれば、2値化の際の演算量が少なくて済む
ため、処理を高速に行える。勿論、従来のようなサイズ
のBmat()を用いれば、より良い画素が得られる。
【0096】次に、主走査方向(x方向)の2値化処理
が終了したか否かを判定する(S410)。終了してい
なければ(S410で「NO」)、注目画素の主走査方
向の位置xを1つ増加させて(S420)、再度ステッ
プS330から処理を繰り返す。
【0097】主走査方向の2値化処理が終了したと判定
された場合(S410で「YES」)には、全画素の2
値化処理が終了したか否かを判定する(S430)。全
画素の処理が終了していなければ(S430で「N
O」)、注目画素の副走査方向の位置yを1つ増加させ
て(S440)、再度ステップS320から処理を繰り
返す。
【0098】全画素の2値化が終了していれば(S43
0で「YES」)、閾値マトリックス誤差拡散処理を終
了する。このときには、出力画像データ記憶部18内に
は、ステップS370またはステップS380にて設定
された出力濃度Oにて各画素が2値化された擬似中間調
画像データが形成されている。
【0099】図3の閾値マトリックス誤差拡散法に用い
られる2値閾値マトリックスは、前述したごとく2値化
される擬似中間調画像における粗さが目立たないように
設定してあるため、出力画像データ記憶部18内に形成
された擬似中間調画像は高品質な画像として形成されて
いる。
【0100】[実施の形態2] 実施の形態2が、前記実施の形態1と異なるのは、ステ
ップS100,S110の代りに、図5に示す処理がな
される点である。他の構成については実施の形態1と同
じである。
【0101】まず、処理対象である中間調画像データが
入力される(S500)。そして、この中間調画像デー
タの各画素の濃度レベルを所定濃度幅を単位として、濃
度毎に集計し、ヒストグラムを作成する(S510)。
ヒストグラムの例を図6に示す。ここでは、濃度幅は、
濃度255を100%として、10%間隔で設けてい
る。
【0102】次に、図6のヒストグラムの内で、50%
の濃度レベルよりも明るい側(図6では、濃度レベルが
50%より小さい領域)でかつ最小あるいは極小の濃度
レベルを、濃度レベルDとして設定する(S520)。
図6では、15%が該当し、15%の中心濃度レベルで
ある38(≒255×0.15)が、濃度レベルDとし
て設定される。そして、この濃度レベルDに基づいて、
基準濃度Istを算出する(S525)。
【0103】以下、基準濃度Istは、「255−38」
である「217」に設定して、前述したステップS12
0以降の処理を行う。ここで、ステップS520にて濃
度50%よりも明るい領域から濃度レベルを検索するの
は、図32に示したごとく、濃度の高い領域ではドット
ゲインの発生により視覚的な粗さが目立ちにくいことに
基づくものであり、最も発生頻度が低い領域を選択する
のは、粗さが目立つ領域を極力低減させることにより画
質劣下を防ぐことに基づいている。
【0104】したがって、本実施の形態によれば、処理
対象である中間調画像に適合して自動的に粗さが目立た
ない2値化を行っているので、特に操作者が試行錯誤す
ることなく高品質の擬似中間調画像が効率的に得られ
る。 [実施の形態3] 本実施の形態3は、基準濃度Istの設定までは、実施の
形態1または実施の形態2と同じであるが、2値閾値マ
トリックスの生成方法が異なる。本実施の形態ではブル
ーノイズマスクの手法の一つを用いて2値閾値マトリッ
クスを生成している。
【0105】この2値閾値マトリックスの生成方法につ
いて、図7のフローチャートにて説明する。処理が開始
されると、まず、閾値マトリックスとして必要な大きさ
M×Nのマトリックス格納用のメモリが作業用メモリ1
9内に準備され、各要素値J(x,y)に「0」と
「1」とのいずれかの値を所定の確率でランダムに配置
する(S600)。このランダムな配置は例えば乱数の
発生により決定するが、「1」と「0」との構成比率
(すなわち乱数に基づく発生確率)は、「1」:「0」
≒(255−D):Dとなるように乱数計算してなされ
る。
【0106】次に、このように「1」,「0」がランダ
ムに配置されているマトリックスの各要素位置(x,
y)について、その期待濃度D(x,y)を算出する
(S610)。この期待濃度D(x,y)は次のように
して算出される。すなわち、要素(x,y)に近傍の要
素(x−Δx,y−Δy)に与えられた要素値J(x−
Δx,y−Δy)と、別に定める重み関数f(Δx,Δ
y)とに基づいて、下記式13に従い期待濃度D(x,
y)を算出する。
【0107】
【数13】
【0108】ここで、−i≦Δx≦i、−j≦Δy≦j
であり、0<i<M、0<j<Nである。ABS[]は
[]内の絶対値を求める関数である。「majority valu
e」は前述のステップS600にてランダムに配置した
「0」,「1」の値内で、数が多い方の値である。逆に
数が少ない方の値は「minority value」で表す。重み関
数f(Δx,Δy)は、距離に応じて小さくなる重み値
を算出する関数であり、種々の関数が使用できるが、例
えば、次式14のような関数を挙げることができる。
【0109】
【数14】
【0110】ここで「∧2」は二乗を表し、d∧2=Δx
∧2+Δy∧2である。また、「S」は調整用の係数であ
り、例えば「1.5」である。ここでのマトリックス
は、M×N要素からなる限られた領域のパターンである
ため、要素位置がマトリックスの周辺近傍に位置する場
合には、図8に示すように、期待濃度D(x,y)の計
算上参照すべき近傍の要素がマトリックスの領域外に存
在する場合がある。この場合、マトリックスは縦横に繰
り返すパターンであると想定することができる。
【0111】すなわち、参照すべき近傍の要素がマトリ
ックスの領域外にあるときは図8に示したエリアA1,
A2,A3を近傍要素として参照する。このようにして
全要素の期待濃度D(x,y)を算出した後に、要素値
J(x,y)=1である要素の内で最大の要素位置を
(xmax,ymax)とし、要素値J(x,y)=0である
要素の内で最小の要素位置を(xmin,ymin)とする
(S620)。
【0112】次に、(xmax,ymax)の要素の値と(x
min,ymin)の要素の値とを入れ替える(S630)。
すなわち、J(xmax,ymax)=0とし、J(xmin,
ymin)=1とする。次に、所定の評価により、マトリ
ックス中に「0」,「1」の値が均一に分散されている
か否かが判定される(S640)。この評価は、ディス
プレイ22やカラープリンタ24にてマトリックスを視
覚的に表現することにより、観察により人が主観的に判
断しても良いし、CPU12による次の処理により客観
的に行っても良い。
【0113】すなわち、ステップS610と同じ処理を
再度行って、全要素について期待濃度D(x,y)を算
出する。そして、要素値J(x,y)=minority value
である要素の内で期待濃度D(x,y)が最大となる期
待濃度Dmaxを求める。更に、要素値J(x,y)=maj
ority valueである要素の内で期待濃度D(x,y)が
最小となる期待濃度Dminを求める。次にDmaxとDmin
との差(Dmax−Dmin)として評価値Evaが求められ
る。この評価値EvaはステップS620,S630の処
理を繰り返す毎に減少し、次第に0に近づくが、評価値
Eva>0にて平衡状態となる。
【0114】この平衡状態に達したと判定したときに、
マトリックス中に「0」,「1」の値が均一に分散され
ていると判定し、平衡に達していないときは均一に分散
されていないと判定する。このような判定にて、ステッ
プS640にて、未だ均一に分散されていないと判定さ
れた場合(S640で「NO」)、再度、ステップS6
10〜S630を繰り返し、再度、ステップS640の
判定を行う。なお、ステップS640の判定で、ステッ
プS610と同じ処理を行った場合は、ステップS64
0の直後にステップS610を実行する必要はなく、ス
テップS620,S630のみ繰り返せば良い。
【0115】ステップS640にて均一に分散されてい
ると判定された場合(S640で「YES」)は、
「0」,「1」の2値で表される2値閾値マトリックス
が完成したので、閾値マトリックス記憶部14に記憶し
(S650)、2値閾値マトリックス生成処理を終了す
る。
【0116】このように形成された2値閾値マトリック
スを用いて、実施の形態1と同様に閾値マトリックス誤
差拡散法にて中間調画像を2値化処理したところ、粗さ
が目立つ部分がほとんどない高品質の擬似中間調画像が
得られた。 [実施の形態4] 本実施の形態4は、前記実施の形態3と異なり、ブルー
ノイズマスク以外の手法によって閾値マトリックス作成
処理を行っている点であり、他の構成は、実施の形態3
と同じである。
【0117】この閾値マトリックス作成処理について説
明する。閾値マトリックス生成処理のフローチャートを
図9以下に示す。まず、全画素が濃度値i=0である均
一濃度画素マトリックスと、全画素が濃度値i=255
である均一濃度画素マトリックスとを、誤差拡散法によ
り2値化する(S810)。この均一濃度画素マトリッ
クスは、図11に示すごとく、i=0,255の2種類
の均一濃度画素マトリックスD0,D255を作業用メ
モリ19に読み込んで用いれば良い。そして、その2つ
の2値化マトリックスを作業用メモリ19に保存する
(S820)。
【0118】ここでは誤差拡散法は、広い意味で用いて
おり、ある画素を2値化した場合に、2値化によって生
じた誤差を、未だ2値化していない周辺の画素の濃度に
分配する方法(狭い意味の誤差拡散法・文献:Robert
W.Floyd and Louis Steinberg,"An Adaptive Algorithm
for Spatial Greyscale",Proceeding of the S.I.D.Vo
l.17/2,1976等)、あるいは2値化する際に周辺に存在
する既に2値化した画素からその2値化の際に生じた誤
差の所定割合を受け取る方法(平均誤差最小法とも言
う。文献:J.F.Jarvis,C.N.Judice,and W.H.Ninke,"A S
urvey of Techniques for the Display of Continuous
Tone Pictures on Bilevel Displays",Computer Graphi
cs and Image Processing.5,13-40(1976)等)等が良く
知られているので、誤差拡散法自体の詳細な説明は省略
する。
【0119】ステップS810にて行われた濃度値i=
0,255の均一濃度画素マトリックスの誤差拡散法に
よる2値化結果は、i=0の場合は全画素「0」(以下
「オフ」と称する。)、i=255の場合は全画素
「1」(以下「オン」と称する。)となるので、特に誤
差拡散法による計算はせずに、予め全画素がオフの2値
化マトリックスと全画素がオンの2値化マトリックスと
を備えておいて、これらのマトリックスを用いても良
い。
【0120】次に濃度値iに「1」を設定し(S83
0)、全画素が濃度値i=1の均一濃度画素マトリック
スに対して、図10に示す2値化処理を実行する(S8
40)。この均一濃度画素マトリックスは、図11に示
したごとく、i=1〜254の254種類の均一濃度画
素マトリックスD1〜D254の内の必要なもの(すべ
て使用するとは限らない)を作業用メモリ19に読み込
んで用いれば良い。
【0121】図10の2値化処理について説明する。ま
ず、2値化済みの濃度値、すなわち既に2値化マトリッ
クスが求められている濃度値の内で、濃度値iを越えて
いて最も濃度値iに近い濃度値の均一濃度画素マトリッ
クスを2値化処理した2値化マトリックス(以下、「最
近上方2値化マトリックスH」と称する。)と、濃度値
i未満で最も濃度値iに近い濃度値の均一濃度画素マト
リックスを2値化処理した2値化マトリックス(以下、
「最近下方2値化マトリックスL」と称する。)とを作
業用メモリ19の内容から検索する(S842)。
【0122】本実施の形態4では、i=1から順次、所
望の濃度まで処理して行くので、最近上方2値化マトリ
ックスHは、常にi=255の2値化マトリックスであ
り、最近下方2値化マトリックスLは、i−1の2値化
マトリックスである。ただし、ここでは、2値閾値マト
リックスとして、識別値「0」,「1」が65%づつと
するので、所望の濃度としてはi=166であり、i=
166の処理で止める。
【0123】次に、濃度値iの均一濃度画素マトリック
スについて、誤差拡散法により2値化し、2値化マトリ
ックスFiを作成する(S846)。ただし、ステップ
S846では、次の条件,の下に2値化される。
最近上方2値化マトリックスHと最近下方2値化マトリ
ックスLとの両者にて共にオンが配置されている画素位
置は、必ずオンとする。
【0124】最近上方2値化マトリックスHと最近下
方2値化マトリックスLとの両者にて共にオフが配置さ
れている画素位置は、必ずオフとする。すなわち、通
常、誤差拡散法においては、周辺の画素から分配された
誤差と自己の濃度とを合計した値を、閾値と比較して、
閾値以上であれば「オン」、閾値未満であれば「オフ」
に2値化しているが、前記またはの条件に該当する
画素の場合には、その画素については閾値との比較をせ
ずに、前記またはの条件通りに、「オン」または
「オフ」に設定する。勿論、この閾値と比較しない設定
の結果も2値化誤差に反映され、その誤差は周辺画素へ
の分配の対象となる。
【0125】濃度値iの均一濃度画素マトリックスにつ
いて2値化を終了すると、このようにして得られた2値
化マトリックスを作業用メモリ19に保存し(S85
0)、濃度値i=所望濃度(ここではi=166)か否
かを判定する(S860)。最初は濃度値i=1である
ので(S860で「NO」)、次に濃度値iがインクリ
メントされる(S870)。したがって、次に全画素が
濃度値i=2の均一濃度画素マトリックスを前述のごと
く2値化処理し(S840)、その2値化マトリックス
F2を作業用メモリ19に保存する(S850)。
【0126】以後、順次、濃度値iをインクリメントし
つつ(S870)、該当する濃度値iの均一濃度画素マ
トリックスを2値化し(S840)、その2値化マトリ
ックスFiを作業用メモリ19に保存する(S850)
処理を繰り返す。所望濃度値i=166の均一濃度画素
マトリックスの処理(S840,S850)が終了する
と図12に示すごとく、作業用メモリ19内には、濃度
値i=0〜166,255の168個の2値化マトリッ
クスF0〜F166,F255が形成されている。
【0127】次に、濃度値i=166であるので(S8
60で「YES」)、i=166に該当する2値化マト
リックスF166を、2値閾値マトリックスとして閾値
マトリックス記憶部14に保存する(S880)。この
ようにして出来上がった2値化マトリックスF166
は、「0」と「1」とのドットが適度に分散して分布
し、かつ非周期性である。また途中で形成された2値化
マトリックスF1〜F165も、同様に「0」と「1」
とのドットが適度に分散して分布し、かつ非周期性であ
る。
【0128】このi=166の2値化マトリックスF1
66を2値閾値マトリックスとして用いて、実施の形態
1と同じ閾値マトリックス誤差拡散処理を実行したとこ
ろ、実施の形態1と同様な効果が得られた。本実施の形
態では、濃度値iを順次i=1から1つ増加させつつ目
的の濃度まで2値化処理していたので、特に前記の条
件は用いる必要はない。また、このように順次、濃度値
iを+1して行く場合には、前記の条件を用いず
に、単に最近下方2値化マトリックスLを参照しつつ、
最近下方2値化マトリックスLにてオンとなっている画
素位置は必ずオンにする条件にて、2値化しても良い。
すなわち、オンが現れたらそれ以降の濃度値の2値化に
おいては必ずオンにするとの規則で2値化しても良い。
【0129】また、本実施の形態において、i=254
から順次1つ減少させつつ目的とする濃度(ここではi
=166)まで2値化処理しても良い。この場合には、
前記条件はのみでも良い。また、このように順次、濃
度値iを−1して行く場合には、前記の条件を用い
ずに、単に最近上方2値化マトリックスHを参照しつ
つ、最近上方2値化マトリックスHにてオフとなってい
る画素位置は必ずオフにする条件にて、2値化しても良
い。すなわち、オフが現れたらそれ以降の濃度値の2値
化においては必ずオフにするとの規則で2値化しても良
い。
【0130】更に、i=0とi=255の中間であるi
=128の2値閾値マトリックスを作り、次にi=0と
i=128との中間のi=64、i=128とi=25
5との中間のi=191、……と言うように、既に2値
化した濃度を二分する中間付近を前記条件を用いな
がら2値化しても良い。
【0131】尚、途中で形成されている2値化マトリッ
クスF1〜F165を保存しておいて、基準濃度Ist
を、i=1〜165の範囲に設定する場合には、そのま
ま用いることができる。また、F1〜F254まで全て
計算して保存しておいて、その中から、基準濃度Istに
応じて選択して用いても良い。
【0132】[実施の形態5] 前記実施の形態4では、均一濃度画素マトリックスD0
〜D166,D255あるいはその2値化マトリックス
F0〜F166,F255の大きさとおなじ大きさの2
値閾値マトリックスを形成していたが、本実施の形態5
では、図13に示すごとく、均一濃度画素マトリックス
D0〜D166,D255およびその2値化マトリック
スF0〜F166,F255の大きさが、目的とする2
値閾値マトリックスに比較して非常に大きいものを用い
るとともに、2値化マトリックスF166の特定の領域
における2値化結果を抽出して2値閾値マトリックスと
して生成する。
【0133】本実施の形態における2値閾値マトリック
ス生成処理について説明する。尚、本2値閾値マトリッ
クス生成処理は、前記実施の形態4とは、ステップS8
40,S850の処理が異なり、他は同じであるので、
異なる部分のみ図14に示す。
【0134】ステップS830,S870で濃度値iが
設定された後、濃度値iの均一濃度画素マトリックスに
おける注目画素の濃度(濃度値iに等しい)を読み込む
(S910)。最初の注目画素は原点位置(0,0)の
画素である。次に、前記条件の下に注目画素の濃度
値iに周辺画素から分配される2値化誤差を加えた値を
誤差拡散法により2値化する(S920)。すなわち、
条件に該当する場合には、閾値によらず必ずオンに2
値化し、条件に該当する場合には、閾値によらず必ず
オフに2値化し、それ以外は閾値により2値化し、2値
化誤差を求める。
【0135】次に、現在の注目画素が特定領域A1に含
まれているか否かが判定される(S930)。特定領域
A1とは、図13に示したごとく、最終的な2値閾値マ
トリックスM1を形成する領域であり、本実施の形態で
は全ての均一濃度画素マトリックスD0〜D166,D
255において同一の位置に存在する領域である。
【0136】この特定領域A1は、誤差拡散処理におけ
る先頭画素ラインL0部分は含まず、最終画素ラインL
x部分を含んでいる。これは、先頭画素ラインL0部分
では、その前のラインが存在しないため2値化誤差の拡
散において、後方のラインと比較して歪みを生じてお
り、ドットの集中や特定のパターンが生じ易いからであ
り、この2値化誤差拡散の歪みの影響は先頭画素ライン
L0から後方に離れるにしたがって少なくなり、最終画
素ラインLx部分では最も影響が少ないからである。
【0137】現在の注目画素が特定領域A1に含まれて
いると判定されると(S930で「YES」)、注目画
素の2値化値が作業用メモリ19に保存される(S94
0)。現在の注目画素が特定領域A1に含まれていない
と判定されると(S930で「NO」)、注目画素の2
値化値は保存されない。
【0138】次に濃度値iにおいて未処理の画素が有る
か否かが判定されて(S950)、未処理画素が有れば
(S950で「YES」)、再度ステップS910に戻
り、未処理画素を注目画素として上述の処理を続ける。
尚、ステップS950での未処理画素の判定は、特定領
域A1内に未処理画素が有るか否かの判定でも良い。
【0139】ステップS950で「NO」と判定された
後、ステップS860の判定処理に移る。したがって、
ステップS860にて「YES」と判定された時には、
作業用メモリ19には、図13に示したと同じように濃
度値i毎に特定領域A1に該当する2値化マトリックス
F0〜F166,F255が形成されている。
【0140】この内、2値閾値マトリックスとして、2
値化マトリックスF166を閾値マトリックス記憶部1
4に保存する(S880)。こうして、閾値マトリック
ス生成処理を終了する。この2値閾値マトリックスを用
いて、実施の形態1と同じ閾値マトリックス誤差拡散処
理を実行した結果、前述した実施の形態4と同様な効果
が得られた。更に、均一濃度画素マトリックスから、先
頭画素ラインL0を含まず、かつ最終画素ラインLxを
含む特定領域A1の2値化マトリックスF166を求め
ているため、先頭画素ラインL0部分で生じている誤差
分配の歪みの影響が及びにくく、一層、紋様の発生が抑
制された疑似中間調の2値化画像を生成することができ
た。
【0141】[実施の形態6] 図14に示した前記実施の形態5の2値化処理の代わり
に、図15のフローチャートに示すごとくの処理を実行
しても良い。本実施の形態は、誤差拡散として平均誤差
最小法を用いている。
【0142】まず、最初の濃度値i=1の均一濃度画素
マトリックスを2値化処理対象とし、まず、2値化済み
の濃度値、すなわち既に2値化マトリックスが求められ
ている濃度値の内で、濃度値i=1に対する最近上方2
値化マトリックスHと、最近下方2値化マトリックスL
とを作業用メモリ19の内容から検索する(S102
1)。最初の濃度値i=1の場合は、既にステップS8
10にて2値化されている濃度値i=255の均一濃度
画素マトリックスが最近上方2値化マトリックスHに該
当し、濃度値i=0の均一濃度画素マトリックスが最近
下方2値化マトリックスLに該当する。
【0143】次に、誤差バッファ16を初期化する(S
1022)。次に、濃度値iの均一濃度画素マトリック
スの画素位置(x,y)の画素濃度値I(x,y)を読
み取る(S1023)。最初の画素位置は均一濃度画素
マトリックスの左上隅の原点(0,0)であり、各均一
濃度画素マトリックスのサイズがm×n画素であるとす
ると、以後ステップS1023が処理される毎に、主走
査方向(x方向)へ順次移動し、x=m−1の次には、
副走査方向(y方向)の次の画素ラインに移動してx=
0から主走査方向へ順次移動して行くように画素位置
(x,y)が指定される。
【0144】尚、この画素位置(x,y)の画素濃度値
I(x,y)は濃度値iの均一濃度画素マトリックスの
全ての画素において濃度値iと同じ値であるので、特に
濃度値iの均一濃度画素マトリックスから読み取らなく
ても、単にI(x,y)にiを設定するのみでも良い。
【0145】次に、式15のごとく、濃度値iが周辺画
素の2値化誤差和Eにて補正されて補正濃度値I′
(x,y)が算出される(S1024)。
【0146】
【数15】
【0147】2値化誤差和Eは、式16のごとく、係数
マトリックスαと周辺画素の2値化誤差eとに基づいて
計算される。
【0148】
【数16】
【0149】係数マトリックスαは、本実施の形態で
は、次のようなマトリックスが用いられている。αpqは
係数マトリックスαの位置(p,q)の係数を表してい
る。またeabは画素位置(a,b)における2値化誤差
を表している。
【0150】
【数17】
【0151】ここで、*は注目画素の位置を表してい
る。ただし、a,bは次式17,18のようにして設定
される。
【0152】
【数18】
【0153】ここで、%はmで割り算した場合の余りを
求める演算子、mは均一濃度画素マトリックスの主走査
方向のサイズ、int{}は{}内の値の整数部分のみ
を取り出す演算子である。また、p,qは、注目画素*
を原点とする係数マトリックスα上の座標位置を示し、
pは横軸座標、qは縦軸座標である。ここで、−2≦q
≦0であり、q=0のとき−2≦p≦−1、q=−1,
−2のとき−2≦p≦2である。
【0154】上述したa,bの設定は、図16に模式的
に示すごとく、均一濃度画素マトリックスを主走査方向
xの先端縁部AEと後端縁部BEとを、後端縁部BEの
画素が、主走査方向xの先端縁部AEの画素の内で副走
査方向yの次の画素ラインの画素へ螺旋状に連続した画
素配置状態で誤差分配されることを表している。
【0155】すなわち、図17に示すごとく通常の座標
で表すと、画素位置P0(m−3,k+1)が注目画素
であった場合、係数マトリックスαの分配係数が適用さ
れる画素は、前記式17,18から、q=0のときはa
=m−5,m−4、b=k+1であり、q=−1のとき
はa=m−5,m−4,m−3,m−2,m−1、b=
kであり、q=−2のときはa=m−5,m−4,m−
3,m−2,m−1、b=k−1である。すなわち、図
示の斜線の部分に該当し、P0の画素はこの斜線部分の
周辺画素から2値化誤差の分配を受ける。
【0156】次の注目画素の画素位置P1(m−2,k
+1)では、係数マトリックスαの分配係数が適用され
る画素は、図18に示すごとく、前記式17,18か
ら、q=0のときはa=m−4,m−3、b=k+1で
あり、q=−1のときはa=m−4,m−3,m−2,
m−1、b=kおよびa=0、b=k+1であり、q=
−2のときはa=m−4,m−3,m−2,m−1、b
=k−1およびa=0、b=kである。すなわち、図示
の斜線の部分に該当し、均一濃度画素マトリックスの主
走査方向xの後端縁部BEからはみ出た誤差分配領域の
一部が、先端縁部AE側で副走査方向yへ1画素ライン
ずれた位置に設定される。P1の画素はこの斜線部分の
周辺画素から2値化誤差の分配を受ける。
【0157】以後同様に、次の注目画素の画素位置P2
(m−1,k+1)では、係数マトリックスαの分配係
数が適用される画素は、図19に斜線で示すごとく、前
記式17,18から、q=0のときはa=m−3,m−
2、b=k+1であり、q=−1のときはa=m−3,
m−2,m−1、b=kおよびa=0,1、b=k+1
であり、q=−2のときはa=m−3,m−2,m−
1、b=k−1およびa=0,1、b=kである。P2
の画素はこの斜線部分の周辺画素から2値化誤差の分配
を受ける。
【0158】先端縁部AEに戻った次の注目画素の画素
位置P3(0,k+2)では、係数マトリックスαの分
配係数が適用される画素は、図20に斜線で示すごと
く、前記式17,18から、q=0のときはa=m−
2,m−1、b=k+1であり、q=−1のときはa=
m−2,m−1、b=kおよびa=0,1,2、b=k
+1であり、q=−2のときはa=m−2,m−1、b
=k−1およびa=0,1,2、b=kである。P3の
画素はこの斜線部分の周辺画素から2値化誤差の分配を
受ける。
【0159】次の注目画素の画素位置P4(1,k+
2)では、係数マトリックスαの分配係数が適用される
画素は、図21に斜線で示すごとく、前記式17,18
から、q=0のときはa=m−1、b=k+1およびa
=0、b=k+2であり、q=−1のときはa=m−
1、b=kおよびa=0,1,2,3、b=k+1であ
り、q=−2のときはa=m−1、b=k−1およびa
=0,1,2,3、b=kである。P4の画素はこの斜
線部分の周辺画素から2値化誤差の分配を受ける。
【0160】次の注目画素の画素位置P5(2,k+
2)では、係数マトリックスαの分配係数が適用される
画素は、図22に斜線で示すごとく、前記式17,18
から、q=0のときはa=0,1、b=k+2であり、
q=−1のときはa=0,1,2,3,4、b=k+1
であり、q=−2のときはa=0,1,2,3,4、b
=kである。P5の画素はこの斜線部分の周辺画素から
2値化誤差の分配を受ける。
【0161】このようにして、均一濃度画素マトリック
スの主走査方向xの後端縁部BEが誤差拡散処理におい
て先端縁部AE側へ螺旋状に連続する誤差分配がなされ
る。このことは、誤差拡散処理による2値化が、均一濃
度画素マトリックスの主走査方向xの後端縁部BEと先
端縁部AEとが螺旋状に連続してなされていることを意
味する。
【0162】このようにして2値化誤差和Eの補正によ
り求められた補正濃度値I′(x,y)は、次の条件の
いずれかに合致しないものが、閾値T(例えばT=12
8)と比較されて、I′(x,y)>Tならば、注目画
素をオン(「1」)に2値化し、I′(x,y)≦Tな
らば、注目画素をオフ(「0」)に2値化され、条件
のいずれかに合致するものは、その合致した条件にし
たがって2値化される(S1025)。
【0163】条件: 最近上方2値化マトリックスH
と最近下方2値化マトリックスLとの両者にて共に
「1」オンが配置されている画素位置。この位置に対応
する2値化マトリックスの要素は、必ず「1」オンとす
る。条件: 最近上方2値化マトリックスHと最近下
方2値化マトリックスLとの両者にて共に「0」オフが
配置されている画素位置。この位置に対応する2値化マ
トリックスの要素は、必ず「0」オフとする。
【0164】すなわち、通常、誤差拡散法においては、
周辺の画素から分配された誤差Eと注目画素の画素濃度
値I(x,y)とを合計した値を、閾値と比較して、閾
値以上であれば「1」オン、閾値未満であれば「0」オ
フに2値化しているが、前記またはの条件に該当す
る画素の場合には、その画素については閾値との比較を
せずに、前記またはの条件通りに、「1」オンまた
は「0」オフに設定する。尚、条件は、「最近上方
2値化マトリックスHの画素値=最近下方2値化マトリ
ックスLの画素値であるならば、最近上方2値化マトリ
ックスHまたは最近下方2値化マトリックスLのいずれ
かの画素値に設定する」と表現することもできる。
【0165】次いで注目画素をオンに2値化した場合、
次式19の計算により、注目画素の2値化誤差e(x,
y)が求められ、この2値化誤差e(x,y)が誤差バ
ッファ16に記憶される(S1026)。
【0166】
【数19】
【0167】また、注目画素をオフに2値化した場合に
は、次式20のごとく、注目画素の2値化誤差eにI′
(x,y)が設定される。
【0168】
【数20】
【0169】前記条件により、図23(a)に示す
ごとく、各要素位置において、濃度値の小さい方から見
ると、一旦、オンとなると、以後の濃度値iおいては必
ずオンとなる。次に、一つの均一濃度画素マトリックス
について全ての画素の2値化処理が終了したか否かが判
定され(S1027)、終了していなければ(S102
7で「NO」)、次の画素位置を設定して(S102
8)、ステップS1023の処理に戻る。
【0170】全ての画素の2値化が終了すれば(S10
27で「YES」)、ステップ850の処理に移る。こ
のようにして形成された2値閾値マトリックスを用いて
誤差拡散法により、中間調のカラー画像を2値化処理し
たところ、実施の形態5の効果とともに、次のような効
果も存在した。
【0171】すなわち、誤差拡散法による2値化処理に
て閾値マトリックスを作成する場合に、誤差拡散法の2
値化処理において、均一濃度画素マトリックスの主走査
方向xの先端縁部AEの画素と後端縁部BEの画素とを
連続した画素配置状態で2値化処理することにより主走
査方向xにおける縁部AE,BE同士の連続性を維持さ
せている。その結果、得られた2値閾値マトリックスに
て、画像データを2値化処理すると、領域の境界での色
むらや明暗むらによる疑似的な境界線の発生も十分に抑
制された。
【0172】特に、本実施の形態では、均一濃度画素マ
トリックスの主走査方向xの後端縁部BEの画素が、主
走査方向xの先端縁部AEの画素の内で副走査方向yの
次の画素ラインの画素へ連続した画素配置状態で2値化
処理すると、すなわち、主走査方向xの画素の配列が螺
旋状にされた状態で2値化処理すると、後端縁部BEの
画素から先端縁部AEの画素へと2値化処理が移行する
場合にも、同一の係数マトリックスαを用いて同じ2値
化誤差分配処理を行えば良いので、簡易な処理になると
共に、2値化処理の連続性が、より良好となり一層疑似
的な境界線の発生を抑制できる。
【0173】更に、本実施の形態では、図15における
2値化において、前記の条件を用いて、既に2値化
されている前後の均一濃度画素マトリックスの2値化状
態を考慮した2値化が行われている。もし、前記の
条件を用いない通常の2値化を行うと、図23(b)に
示すごとく、オンとなった後も同じ要素位置でオフが出
現する。このため、通常の2値化のみでは各要素位置に
おける1(オン)/0(オフ)の分布が偏る傾向が有る
が、本実施の形態では、適度に分散して好適な分布とな
る。したがって、特に、図23(b)に示したごとくの
各均一濃度画素マトリックス独立に2値化している場合
に得られる2値閾値マトリックスに比較して、図23
(a)のごとくに得られた2値閾値マトリックスは、中
間調画像データを閾値マトリックス誤差拡散法にて2値
化する際に用いれば、一層、解像度が向上し、紋様の抑
制が行われる。
【0174】[実施の形態7] 本実施の形態は、前述した各実施の形態にて形成された
2値閾値マトリックスを、更に、マトリックスの主走査
方向xに行くにつれて、各閾値要素列を副走査方向yに
1要素づつずらすことにより、図24に示すごとく、副
走査方向yの先端縁部UTおよび後端縁部DTを主走査
方向xに対して不一致とさせた2値閾値マトリックスM
2として形成している。
【0175】本実施の形態の場合は、2値閾値マトリッ
クスM2の副走査方向yの先端縁部UTおよび後端縁部
DTを斜めにして、主走査方向xに対して所定の角度θ
を有する直線状としているので、2値閾値マトリックス
M2全体は、平行四辺形に形成されている。
【0176】このように形成された2値閾値マトリック
スM2を用いて閾値マトリックス誤差拡散法でなされる
2値化は、図25に示すごとくに、領域EM毎に2値閾
値マトリックスM2が切り替わって2値化処理すること
になる。しかし、斜めの境界部分BTで色むらや明暗む
らが生じたとしても、そのことにより生じる疑似的な境
界線は斜めの状態、すなわち主走査方向xの直線以外の
状態となる。このような方法で2値化処理して見たとこ
ろ、疑似的な境界線は一層目立たなくなった。すなわ
ち、疑似的な境界線の発生を抑制できる。主走査方向x
の境界部分ATについては、前記実施の形態と同様に、
色むらや明暗むらを生じること無く、疑似的な境界線の
発生は無い。
【0177】尚、本実施の形態では、副走査方向yの先
端縁部UTおよび後端縁部DTは、主走査方向xに対し
て所定の角度θを有する直線状としているが、波を打つ
ように凸凹に形成しても良い。またV字形あるいは逆V
字形にしても良い。すなわち、2値閾値マトリックスの
副走査方向yの先端縁部および後端縁部を、主走査方向
xに直線状に配列されている状態から、斜めや凸凹に配
列し直せば、疑似的な境界線は目立たなくなる。すなわ
ち、疑似的な境界線の発生を抑制できる。
【0178】また、図24の閾値マトリックスM2を更
に、図26に示すごとく、図24にて、元の位置より副
走査方向yにずれてはみ出した分Zを、同じ閾値要素列
の上部に移動させることにより、平行四辺形から元の形
と同じ矩形に戻した閾値マトリックスM3としても良
い。このようにすると、閾値マトリックスM3が矩形で
あるので、通常、矩形である画像データに適用し易く、
中間調画像の2値化処理が容易となる。
【0179】[実施の形態8] 前記実施の形態4〜7において、順次、全画素が濃度値
i=1の画像から濃度値を上げつつ2値化して、最終的
に所望の濃度(上述した例では、i=166)にて2値
化したマトリックスを2値閾値マトリックスとして閾値
マトリックス誤差拡散法に利用したが、これを所定の濃
度値iまで行って、各濃度値における複数の2値化マト
リックスを求め、このマトリックスを利用して、複数種
類の閾値からなる閾値マトリックスを求め、閾値マトリ
ックス誤差拡散法に使用しても良い。
【0180】すなわち、前記実施の形態4〜7の方法
で、濃度値i=0〜最大濃度値i=255までについて
すべての濃度において2値化し、この2値化マトリック
スF0〜F255の各要素位置についてオン「1」の数
をカウントする。そして、このカウント値の小さい方か
ら大きい方へ、すなわち、「0」から〜「255」へ、
要素位置と対応づけて並べたテーブルを作成する。な
お、カウント値の大きい方から小さい方に並べても良
い。
【0181】このテーブルは、2値化マトリックスが1
28×128の大きさであれば、16384個の数字と
要素位置とのテーブルとなる。そして、閾値マトリック
ス誤差拡散法で、2種類の閾値からなる閾値マトリック
スを使用したいのであれば、前記基準濃度Ist(あるい
は濃度レベルD)に応じて、テーブルを分ける。
【0182】例えば、前述した図6のヒストグラムにお
いて最小あるいは極小である65%(濃度値≒153〜
176)に設定する場合には、テーブル全体の長さを、
カウント値の小さい方から35%の位置を境として、2
つに分けて、カウント値の小さい側(例えば、1〜57
34番目)に該当する要素位置に小さい方の閾値を与
え、大きい側(5735〜16384番目)に該当する
要素位置に大きい方の閾値を与えることにより、粗さを
目立たなくする2値閾値マトリックスが容易に生成でき
る。
【0183】このようにして、必要な割合で前記テーブ
ルを分割し、それぞれの分割ブロックに閾値を当てはめ
て、各要素位置にブロックに対応する閾値を配置すれ
ば、任意の構成割合の閾値からなる閾値マトリックスが
容易に生成できる。しかもこのように生成された閾値マ
トリックスは前述した各実施の形態の閾値マトリックス
と同様な閾値の配置特性を有しており、同様な優れた効
果を生じさせることができる。
【0184】[実施の形態9] 前述の実施の形態3では、ブルーノイズマスクの手法に
より、「1」,「0」の2値閾値マトリックスを作成し
たが、実施の形態1にて作成した2値閾値マトリックス
をベースにして、図27,28のフローチャートのよう
にして多値閾値マトリックスを作成することができる。
【0185】まず、図27の処理にて、2値閾値マトリ
ックスの全画素について、前記式13に基づいて期待濃
度D(x,y)を計算する(S1102)。この内、
「minority value」となる要素の内で、期待濃度D
(x,y)が最大の要素は、「minority value」が密に
集まる部分の「minority value」であるとして、「majo
rity value」に変更される(S1104)。
【0186】次にステップS1104の変更前における
「minority value」の数を閾値として、多値閾値マトリ
ックス内の該当要素位置(x,y)に設定する(S11
06)。次に、終了か否かが判定され(S1108)、
「minority value」が2値閾値マトリックス中に残って
いれば継続するので(S1108で「NO」)、再度、
ステップS1102〜S1106の処理が繰り返され
る。こうして、1つづつ小さくした閾値の要素位置が設
定される。
【0187】更に、大きい方の閾値については、図28
のように設定される。まず、2値閾値マトリックスの全
画素について、前記式13に基づいて期待濃度D(x,
y)を計算する(S1202)。この内、「majority v
alue」となる要素の内で、前記期待濃度D(x,y)が
最小の要素は、「minority value」が疎に散っている部
分の「majority value」であるとして、「minority val
ue」に変更される(S1204)。
【0188】次にステップS1204の変更後における
「minority value」の数を閾値として、多値閾値マトリ
ックス内の該当要素位置(x,y)に設定する(S12
06)。次に、終了か否かが判定され(S1208)、
「majority value」が2値閾値マトリックス中に残って
いれば継続するので(S1208で「NO」)、再度、
ステップS1202〜S1206の処理が繰り返され
る。こうして、1つづつ大きくした閾値の要素位置が設
定される。
【0189】したがって、図27,28の処理を行うこ
とにより、全要素の数の種類の閾値からなる多値閾値マ
トリックスが完成する。そして、閾値を識別値として捉
えて、小さい方から大きい方へ、または逆に大きい方か
ら小さい方へ、要素位置と対応づけて並べたテーブルを
作成することができる。このことにより、実施の形態8
と同様に、前記基準濃度Ist(あるいは濃度レベルD)
に応じて、テーブルを分け、それぞれに閾値を当てはめ
て、各要素位置に閾値を配置すれば、任意の構成割合の
閾値からなる閾値マトリックスが容易に生成できる。し
かもこのように生成された閾値マトリックスは前述した
実施の形態3と同様にブルーノイズマスクとしての性質
を有しており、同様な優れた効果を生じさせることがで
きる。
【0190】[その他] 前記実施の形態4において、所望濃度i=166をステ
ップS830で設定し、ステップS840で2値化処理
した結果を2値化マトリックスF166として閾値マト
リックス記憶部14に保存しても良い。
【0191】前記実施の形態6における2値化は、2値
化時に周辺画素から2値化誤差の分配を受けるタイプの
誤差拡散法、いわゆる平均誤差最小法であったが、前記
実施の形態1,2,4,5のごとく、注目画素を2値化
した場合に2値化の誤差を未だ2値化していない周辺の
画素の濃度に分配する方法による誤差拡散法であっても
良い。逆に、実施の形態1,2,4,5は実施の形態6
のごとく平均誤差最小法であっても良い。
【0192】このような閾値マトリックスをROMに格
納して、レーザプリンタ、インクジェットプリンタある
いは複写機等の画像形成装置や、イメージスキャナ等の
画像読み取り装置に使用することも可能である。
【図面の簡単な説明】
【図1】 実施の形態1としての閾値マトリックス誤差
拡散法による2値化方法が適用された中間調画像データ
2値化装置の概略構成を表すブロック図である。
【図2】 実施の形態1における2値閾値マトリックス
生成処理のフローチャートである。
【図3】 実施の形態1における閾値マトリックス誤差
拡散処理のフローチャートである。
【図4】 実施の形態1における閾値生成処理のフロー
チャートである。
【図5】 実施の形態2における中間調画像の濃度レベ
ルを調べる処理のフローチャートである。
【図6】 実施の形態2におけるヒストグラムである。
【図7】 実施の形態3における2値閾値マトリックス
生成処理のフローチャートである。
【図8】 実施の形態3における期待濃度の計算上参照
される近傍領域の説明図である。
【図9】 実施の形態4における閾値マトリックス生成
処理のフローチャートである。
【図10】 実施の形態4における2値化処理のフロー
チャートである。
【図11】 実施の形態4における均一濃度画素マトリ
ックスの構成説明図である。
【図12】 実施の形態4における2値化マトリックス
の構成説明図である。
【図13】 実施の形態5における均一濃度画素マトリ
ックスと特定領域との関係を示す説明図である。
【図14】 実施の形態5における2値化マトリックス
生成処理の一部を示すフローチャートである。
【図15】 実施の形態6における2値化マトリックス
生成処理の一部を示すフローチャートである。
【図16】 実施の形態6の2値化処理の連続性説明図
である。
【図17】 実施の形態6の誤差分配説明図である。
【図18】 実施の形態6の誤差分配説明図である。
【図19】 実施の形態6の誤差分配説明図である。
【図20】 実施の形態6の誤差分配説明図である。
【図21】 実施の形態6の誤差分配説明図である。
【図22】 実施の形態6の誤差分配説明図である。
【図23】 実施の形態6の各要素位置のオン・オフ設
定状態の説明図である。
【図24】 実施の形態7の閾値マトリックスの構成説
明図である。
【図25】 実施の形態7の閾値マトリックスの適用説
明図である。
【図26】 実施の形態7の閾値マトリックスの変形例
説明図である。
【図27】 実施の形態9における多値閾値マトリック
ス設定処理1のフローチャートである。
【図28】 実施の形態9における多値閾値マトリック
ス設定処理2のフローチャートである。
【図29】 2値閾値マトリックスを構成するそれぞれ
の値がほぼ同じ割合で存在する2値パターンの構成説明
図である。
【図30】 2値閾値マトリックスを構成する2値の
内、濃度レベルの高い閾値が75%程度の割合で存在す
る2値パターンの構成説明図である。
【図31】 2値閾値マトリックスを構成する2値の
内、濃度レベルの高い閾値が約88%程度の割合で存在
する2値パターンの構成説明図である。
【図32】 閾値マトリックス誤差拡散処理に用いられ
る2値の構成割合と処理対象の中間調画像からの入力濃
度の2値化処理結果との関係を表す説明図である。
【図33】 小さいサイズの誤差分配マトリックスの一
例を示す説明図である。
【図34】 従来技術の閾値マトリックス誤差拡散処理
のフローチャートである。
【図35】 従来技術の閾値マトリックスの構成説明図
である。
【図36】 誤差分配マトリックスの構成説明図であ
る。
【符号の説明】
2…中間調画像データ2値化装置 12…CPU 13…プログラム記憶部 14…閾値マトリックス記
憶部 15…誤差分配マトリックス記憶部 16…誤差バッ
ファ 17…入力画像データ記憶部 18…出力画像データ
記憶部 19…作業用メモリ 20…バス 21…キーボー
ド 22…ディスプレイ 23…外部記憶装置 24…
カラープリンタ
フロントページの続き (56)参考文献 特開 平3−149967(JP,A) 特開 平7−57081(JP,A) 特開 平4−107068(JP,A) 特開 平4−107067(JP,A) 特開 平4−299668(JP,A) 特開 平4−54768(JP,A) 特開 平6−70170(JP,A) 特開 平7−73310(JP,A) 特開 平8−279920(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04N 1/40 - 1/409 H04N 1/46 H04N 1/60

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】入力画像の画素濃度と閾値との比較により
    中間調画像を2値化するときに生じた誤差を周辺の画素
    の2値化に反映させるに際して、前記閾値として、n
    (nは2〜閾値マトリックス要素数までの範囲の整数)
    種類の閾値の分布により構成されている閾値マトリック
    スから、前記画素位置に応じて抽出された閾値を用いる
    閾値マトリックス誤差拡散法による2値化方法におい
    て、 前記閾値マトリックスを構成している前記n種類の各閾
    値の構成割合が同一でなく、2値化対象の前記中間調画
    像の各濃度の存在割合に応じて、前記閾値マトリックス
    を構成している前記n種類の閾値の構成割合を設定する
    ことを特徴とする閾値マトリックス誤差拡散法による2
    値化方法。
  2. 【請求項2】2値化対象の前記中間調画像の各濃度の
    内、存在割合が最小または極小の濃度に対応させて、前
    記閾値マトリックスを構成している前記n種類の閾値の
    構成割合を設定することを特徴とする請求項1記載の閾
    値マトリックス誤差拡散法による2値化方法。
  3. 【請求項3】前記閾値マトリックスにおいて、前記中間
    調画像が取り得る最大の濃度の1/2を境として、濃度
    が低い方の閾値の要素数と濃度が高い方の閾値の要素数
    との割合が同一ではないことを特徴とする請求項1記載
    の閾値マトリックス誤差拡散法による2値化方法。
  4. 【請求項4】前記濃度の高い方の閾値の要素数が、濃度
    が低い方の閾値の要素数より多いことを特徴とする請求
    項3記載の閾値マトリックス誤差拡散法による2値化方
    法。
  5. 【請求項5】前記閾値マトリックスを構成している前記
    濃度が高い方の閾値の発生頻度が、約75%であること
    を特徴とする請求項4記載の閾値マトリックス誤差拡散
    法による2値化方法。
  6. 【請求項6】n=2であることを特徴とする請求項1〜
    5のいずれか記載の閾値マトリックス誤差拡散法による
    2値化方法。
  7. 【請求項7】前記閾値マトリックスの閾値の配置が、ブ
    ルーノイズマスクの手法により形成されていることを特
    徴とする請求項1〜6のいずれか記載の閾値マトリック
    ス誤差拡散法による2値化方法。
  8. 【請求項8】n=2であって、2種類の閾値をランダム
    に配置したマトリックスの各閾値について、その周辺の
    同一閾値の期待濃度を求め、各閾値について期待濃度の
    最大となる位置の閾値同士を入れ替える処理を所定の閾
    値分布状態になるまで繰り返すことにより得られた閾値
    マトリックスが用いられていることを特徴とする請求項
    7記載の閾値マトリックス誤差拡散法による2値化方
    法。
  9. 【請求項9】前記閾値マトリックスとして、 請求項8にて得られた閾値マトリックスに対して、 前記2種類の閾値のうち個数の少ない方の閾値につい
    て、該個数の少ない方の閾値が密に集まる部分の該個数
    の少ない方の閾値を個数の多い方の閾値に置き換え、該
    要素位置に、置き換える前の前記個数の少ない方の閾値
    の存在数を閾値として与えることを繰り返す処理、 および、 前記個数の少ない方の閾値が疎に散る部分の前記個数の
    多い方の閾値の要素位置を前記個数の少ない方の閾値に
    置き換え、該要素位置に、置き換えた後の前記個数の少
    ない方の閾値の存在数を閾値として与えることを繰り返
    す処理、 を行って得られた複数種類の閾値からなる閾値マトリッ
    クスを用いて得られることを特徴とする閾値マトリック
    ス誤差拡散法による2値化方法。
  10. 【請求項10】前記閾値マトリックスの閾値の配置が、
    均一濃度画素マトリックスを、画素濃度と閾値との比較
    により2値化する際に生じた誤差を周辺の画素の2値化
    に反映させて2値化する誤差拡散法を実行し、得られた
    2値化マトリックスの2値にそれぞれ前記2種類の閾値
    を対応させてなる配置方法にて行われることを特徴とす
    る請求項6記載の閾値マトリックス誤差拡散法による2
    値化方法。
  11. 【請求項11】異なる濃度の均一濃度画素マトリックス
    にて既に2値化された2値化マトリックスの2値化状態
    を参照しつつ、均一濃度画素マトリックスの各画素を、
    画素濃度と閾値との比較により2値化する際に生じた誤
    差を周辺の画素の2値化に反映させて2値化する誤差拡
    散法を繰り返し、 この繰り返しにより得られた、所望濃度の均一濃度画素
    マトリックスによる2値化マトリックスの2値に、それ
    ぞれ2種類の閾値を対応させる配置方法にて、前記閾値
    マトリックスの閾値の配置が行われることを特徴とする
    請求項6記載の閾値マトリックス誤差拡散法による2値
    化方法。
  12. 【請求項12】異なる濃度の均一濃度画素マトリックス
    にて既に2値化された2値化マトリックスの2値化状態
    を参照しつつ、均一濃度画素マトリックスの各画素を、
    画素濃度と閾値との比較により2値化する際に生じた誤
    差を周辺の画素の2値化に反映させて2値化する誤差拡
    散法を繰り返し、 この繰り返しにより得られた2値化マトリックスのすべ
    てについて同一位置の要素毎に2値を集積し、この集積
    結果に基づいて、前記閾値マトリックスにおける各要素
    の閾値を設定することを特徴とする請求項1〜6のいず
    れか記載の閾値マトリックス誤差拡散法による2値化方
    法。
  13. 【請求項13】前記2値化状態の参照が、2値化処理し
    ようとする均一濃度画素マトリックスに最も近い濃度の
    均一濃度画素マトリックスの2値化状態を参照すること
    を特徴とする請求項11または12記載の閾値マトリッ
    クス誤差拡散法による2値化方法。
  14. 【請求項14】前記2値化状態の参照が、2値化処理し
    ようとする均一濃度画素マトリックスに最も近い濃度の
    均一濃度画素マトリックスによる2値化マトリックスの
    要素の内、「1」である要素と同じ位置は必ず「1」に
    2値化することにより行われることを特徴とする請求項
    11〜13のいずれか記載の閾値マトリックス誤差拡散
    法による2値化方法。
  15. 【請求項15】前記2値化状態の参照が、2値化処理し
    ようとする均一濃度画素マトリックスに、濃度が低い側
    および濃度が高い側にそれぞれ最も近い濃度の均一濃度
    画素マトリックスの2値化状態を参照することを特徴と
    する請求項11または12記載の閾値マトリックス誤差
    拡散法による2値化方法。
  16. 【請求項16】濃度が高い側の2値化マトリックスにお
    いて「1」となり、かつ濃度が低い側の2値化マトリッ
    クスにおいても「1」となっている要素位置と同じ位置
    は必ず「1」とし、濃度が高い側の2値化マトリックス
    において「0」となり、かつ濃度が低い側の2値化マト
    リックスにおいても「0」となっている要素位置と同じ
    位置は必ず「0」として誤差拡散処理することにより2
    値化することを特徴とする請求項15記載の閾値マトリ
    ックス誤差拡散法による2値化方法。
  17. 【請求項17】最終的に得られた2値化マトリックスの
    一部分を構成するマトリックスの2値にそれぞれ2種類
    の閾値を対応させてなる配置方法にて行われることを特
    徴とする請求項10〜16のいずれか記載の閾値マトリ
    ックス誤差拡散法による2値化方法。
  18. 【請求項18】前記閾値マトリックスの記憶に際して
    は、閾値の代りに、該閾値の種類を識別するための、該
    閾値よりも記憶容量が小さい識別値にて記憶され、前記
    閾値マトリックスの使用に際しては、該当する要素位置
    から読み出された前記識別値から対応する閾値を形成し
    て使用することを特徴とする請求項6,8,10,1
    1,17のいずれか記載の閾値マトリックス誤差拡散法
    による2値化方法。
  19. 【請求項19】前記閾値マトリックスの記憶に際して
    は、閾値の代りに、該閾値の種類を識別するための識別
    値にて記憶され、前記識別値がその要素位置とともに、
    値順に配置されたテーブルとして記憶され、前記閾値マ
    トリックスの使用に際しては、必要な閾値の種類数に応
    じて、前記テーブルを分割して、各分割された識別値に
    対して、該当する要素位置にそれぞれ閾値を対応させて
    使用することを特徴とする請求項6,8,10,11,
    17のいずれか記載の閾値マトリックス誤差拡散法によ
    る2値化方法。
  20. 【請求項20】n(nは2〜閾値マトリックス要素数ま
    での範囲の整数)種類の閾値の分布により構成されてい
    る閾値マトリックスを生成する手段と、 前記閾値マトリックスから入力画像の画素位置に応じて
    閾値を抽出して、該入力画像の画素濃度と前記抽出した
    閾値との比較により中間調画像を2値化すると共に、該
    2値化のときに生じた誤差を周辺の画素の2値化に反映
    させる手段と、を備えた、閾値マトリックス誤差拡散法
    による2値化方法を実行するためのコンピュータシステ
    ムにおいて、 前記閾値マトリックスを生成する手段は、前記閾値マト
    リックスを構成している前記n種類の各閾値の構成割合
    が同一でなく、2値化対象の前記中間調画像の各濃度の
    存在割合に応じて、前記閾値マトリックスを構成してい
    る前記n種類の閾値の構成割合を設定することを特徴と
    するコンピュータシステム。
JP30834296A 1996-11-19 1996-11-19 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム Expired - Fee Related JP3431779B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP30834296A JP3431779B2 (ja) 1996-11-19 1996-11-19 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム
US08/971,189 US6108450A (en) 1996-11-19 1997-11-17 Threshold matrix-employed error diffusion image conversion method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30834296A JP3431779B2 (ja) 1996-11-19 1996-11-19 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム

Publications (2)

Publication Number Publication Date
JPH10150564A JPH10150564A (ja) 1998-06-02
JP3431779B2 true JP3431779B2 (ja) 2003-07-28

Family

ID=17979913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30834296A Expired - Fee Related JP3431779B2 (ja) 1996-11-19 1996-11-19 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム

Country Status (1)

Country Link
JP (1) JP3431779B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881553B2 (en) 2005-12-06 2011-02-01 Ricoh Company, Ltd. Image processing apparatus, image processing method, and computer program product

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4755532B2 (ja) 2006-05-26 2011-08-24 株式会社リコー 画像形成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881553B2 (en) 2005-12-06 2011-02-01 Ricoh Company, Ltd. Image processing apparatus, image processing method, and computer program product

Also Published As

Publication number Publication date
JPH10150564A (ja) 1998-06-02

Similar Documents

Publication Publication Date Title
EP0730369A1 (en) Image processing apparatus
US20030231348A1 (en) Image processing method and image processing apparatus
US20020071140A1 (en) Threshold matrix, and method and apparatus of reproducing gray levels using threshold matrix
US20020054354A1 (en) Image processing apparatus and image processing method
JP3431779B2 (ja) 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム
US6985259B2 (en) Threshold matrix, and method and apparatus of reproducing gray levels using threshold matrix
US6195468B1 (en) Error-distributing image conversion method
JPH07307866A (ja) 画像信号2値化処理装置および方法
JP3431778B2 (ja) 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム
JP3943981B2 (ja) 画像処理装置及び方法
JP3431780B2 (ja) 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム
US6185006B1 (en) Error-distributing image conversion method
JP3834901B2 (ja) 中間調画像の2値化方法
US6563604B1 (en) Method of gradation reproduction
JP2003069819A (ja) 画像処理装置及び画像処理方法
JP3287717B2 (ja) 画像処理装置
JP3399341B2 (ja) 画像処理方法および画像処理装置
JP3302420B2 (ja) 画像処理装置
JP3402118B2 (ja) 画像信号処理方法及び画像信号処理装置
JP3300582B2 (ja) 画像処理装置
JP3990860B2 (ja) 画像処理装置及び画像処理方法
JP3740732B2 (ja) ディザマトリックス作成方法
JP3679260B2 (ja) 画像処理装置
JP3708191B2 (ja) 画像処理装置
JP4469511B2 (ja) 画像処理方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080523

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100523

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140523

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees