JPH10150565A - 閾値マトリックス誤差拡散法による2値化方法および記憶媒体 - Google Patents

閾値マトリックス誤差拡散法による2値化方法および記憶媒体

Info

Publication number
JPH10150565A
JPH10150565A JP8308343A JP30834396A JPH10150565A JP H10150565 A JPH10150565 A JP H10150565A JP 8308343 A JP8308343 A JP 8308343A JP 30834396 A JP30834396 A JP 30834396A JP H10150565 A JPH10150565 A JP H10150565A
Authority
JP
Japan
Prior art keywords
matrix
threshold
binarization
density
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.)
Granted
Application number
JP8308343A
Other languages
English (en)
Other versions
JP3431780B2 (ja
Inventor
Masashi Ueda
昌史 上田
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 JP30834396A priority Critical patent/JP3431780B2/ja
Priority to US08/971,189 priority patent/US6108450A/en
Publication of JPH10150565A publication Critical patent/JPH10150565A/ja
Application granted granted Critical
Publication of JP3431780B2 publication Critical patent/JP3431780B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

(57)【要約】 【課題】 誤差拡散法における紋様の発生や濃度急変部
におけるドットの偏りを低減する。 【解決手段】 画素位置(x,y)の入力濃度を読み取
り(S230)、誤差バッファe(x,y)と入力濃度
Iに基づいて補正濃度値I′を算出し(S240)、ブ
ルーノイズの手法にて作成した2値の閾値マトリックス
の画素位置(x,y)の識別値を読み取り、それらの識
別値に2つの閾値をそれぞれ割り当て閾値を生成し(S
250)、その閾値Tと補正濃度I′により出力濃度O
を求め(S260,S270,S280)、その出力濃
度Oと補正入力I′に基づいて誤差値Eを算出し(S2
90)、その誤差値Eを誤差分配マトリックスに基づい
て誤差バッファに分配する(S300)ことを全ての画
素に対して行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、中間調画像の2値
化方法およびこの方法を実行するプログラムが記憶され
た記憶媒体に関し、この内でも特に、画素濃度と閾値と
の比較により中間調画像を2値化する際に生じた誤差を
周辺の画素の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】まず図32を参照して、上記従来技術の動
作について説明する。まず誤差拡散処理が開始される
と、後述する誤差バッファを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()は図33に示す様な2次元
配列のマトリックスであり、この例では8×8要素で構
成されている。各要素には閾値が1つづつ対応付けられ
て記憶されている。また、上式の「%」は除算後の余を
求める演算子であり、x%8はxを8で割つた後の余り
を示すものである。すなわち、x=8ならばx%8=0
であり、x=12ならばx%8=4となる。
【0009】この手順で読み取る閾値は、図33の例に
従えば、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】尚、「+=」は既に誤差バッファe内に存
在する値と加算処理して同じ誤差バッファeに格納する
ことを示す演算子である。Bmat()の具体例は図3
4に示す通りであり、i,jは注目画素位置をi=j=
0とし、図34に示す様な値をとる変数である。
【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】
【発明が解決しようとする課題】しかし、この閾値マト
リックスは、画像が取り得る最小の濃度値〜最大の濃度
にわたる値から、等間隔の数値を均等に選択して、値の
大小順に所定の配置形状に基づいて、閾値マトリックス
の各要素位置に配置していた。
【0018】例えば、図33の例では、画像が取り得る
濃度値は0〜255であるので、2〜254までの、間
隔が4の64個の数値2,6,10,…,254を、小
さい方から4つづつ一組として、閾値マトリックスから
選択された5×5の正方形の各頂点に当たる要素位置に
順番に配置することで、閾値マトリックスを形成してい
た。なお、図33の例は、説明上判り易くするために8
×8の閾値マトリックスで説明している。実際に用いら
れる閾値マトリックスは、128×128や256×2
56等の極めて大きなものである。したがって、閾値も
極めて多数が記憶されている。
【0019】このように閾値マトリックスは多種類の数
値が多数配置されたものであることから、メモリを大量
に消費しメモリ容量的に不利なものであった。しかし、
従来の配列による閾値マトリックスでは、この閾値の種
類やマトリックスの大きさを小さくすると、前述したご
とく、誤差拡散法における紋様の発生や濃度急変部にお
けるドットの偏りを防止するのが困難となり、閾値の種
類の減少やマトリックスの小型化はできず、メモリ容量
的に不利となるのは避けられなかった。
【0020】
【課題を解決するための手段及び発明の効果】ここに
は、1つまたはそれ以上の発明が記載され、それぞれ以
下に述べるような構成および効果を有する。本発明の閾
値マトリックス誤差拡散法による2値化方法は、画素濃
度と閾値との比較により中間調画像を2値化する際に生
じた誤差を周辺の画素の2値化に反映させるに際して、
前記閾値として、閾値が位置に応じて設定されている閾
値マトリックスから、前記画素位置に応じて抽出された
閾値を用いる閾値マトリックス誤差拡散法による2値化
方法であって、前記閾値マトリックスの閾値の配置が、
ブルーノイズマスクの手法により形成されていることを
特徴とする。
【0021】ブルーノイズマスクの手法とは、本発明が
採用している誤差拡散法とは異なる中間調画像の2値化
の手法であるディザマトリックスを作成するための1つ
の手法として知られている。すなわち、ブルーノイズマ
スクの手法は、所定の割合で存在する2値からなるマト
リックスの2値の分布を評価して、同一の値が集中しな
いように2値を分散し、これに基づいて複数の2値のマ
トリックスを作成し、この複数の2値のマトリックスに
基づいて多値の閾値のマトリックスを作成する手法であ
る。
【0022】このブルーノイズマスクの手法は、例え
ば、"The Void & Cluster method fordither array gen
eration" Robert Ulichney SPIE Vol,1913 として知ら
れている手法を利用することができる。ただし、これに
限らず、他のブルーノイズマスクの手法として知られて
いる方法も適用できる。
【0023】本発明では、ブルーノイズマスクの手法を
用いて閾値が分布された閾値マトリックスを、誤差拡散
法に適用するものであり、この閾値マトリックスを用い
て誤差拡散法により2値化すると、まず、比較的小さい
サイズの誤差分配マトリックスを用いても、あるいは閾
値マトリックスに配置する閾値の種類が少なくても、画
質を劣化させる紋様の発生や濃度急変部(エッジ)にお
けるドットの偏りを防止する効果は、従来と同等以上と
なり、メモリ容量の不利を解消できるものとなった。
【0024】閾値マトリックスを構成している閾値は、
例えば2種類であっても十分に、画質を高く維持するこ
とができる。このように閾値が少なければ、その種類を
識別する小さい数値のみ(例えば、0,1の1ビットか
らなる数値)を閾値マトリックスとしてメモリに記憶し
ておけば良いので、メモリが節約できる。実際に閾値と
して使用する場合は、識別値からテーブルの参照等によ
り復元して用いれば良い。
【0025】このような、2種類の数値で構成されてい
る閾値マトリックスを、ブルーノイズマスクの手法で作
成するには、例えば、前述した"The Void & Cluster me
thodfor dither array generation" Robert Ulichney S
PIE Vol,1913 の内、IBP(Initial Binary Patter
n)と呼ばれる2値画の作成手順を用いれば良い。2種
類の閾値からなる閾値マトリックスは、3種類以上の閾
値からなる閾値マトリックスに比較して、作成も極めて
迅速で効率的にできる。すなわち、3種類以上の閾値か
らなる閾値マトリックスを作成する場合は、2種類の閾
値からなる閾値マトリックス(すなわち、IBP:Init
ial Binary Pattern)を作成した後に、このIBPに基
づいて作成してゆく手法を行っているからである。
【0026】前記ブルーノイズマスクの手法による前記
閾値マトリックスの閾値の配置方法としては、例えば、
前記配置方法にて得られた閾値マトリックスに対して、
前記2種類の2値のいずれかの値の所定個数を、同じ値
の密度がほぼ均一になるようにする配置方法にて行われ
る。
【0027】更に、具体的には、前記ブルーノイズマス
クの手法として、前記2種類の閾値をランダムに配置し
たマトリックスの各値について、その周辺の同一値の密
度を求め、密度の最大となる位置の一方の値を密度の最
大となる位置の他方の値と入れ替える処理を所定の値分
布状態になるまで繰り返すことにより前記閾値マトリッ
クスを得るようにしても良い。
【0028】前記閾値マトリックスとして、前述のブル
ーノイズマスクの手法にて得られた閾値マトリックスに
対して、前記2種類の閾値のいずれか一方の閾値につい
て、該一方の閾値が密に集まる部分の該一方の閾値を他
方の閾値に置き換え、該要素位置に、置き換える前の前
記一方の閾値の存在数を閾値として与えることを繰り返
す処理、および、前記一方の閾値が疎に散る部分の前記
他方の閾値の要素位置を前記一方の閾値に置き換え、該
要素位置に、置き換えた後の前記一方の閾値の存在数を
閾値として与えることを繰り返す処理、を行って得られ
た複数種類の閾値からなる閾値マトリックスを用いて得
られるものであっても良い。この場合は、多数の閾値か
らなる閾値マトリックスが生成する。なお、この多数の
閾値は、後述する識別値として扱っても良い。
【0029】また、前述したブルーノイズマスクの手法
ではなく、次のような配置方法でも良い。すなわち、本
発明の閾値マトリックス誤差拡散法による2値化方法
は、画素濃度と閾値との比較により中間調画像を2値化
する際に生じた誤差を周辺の画素の2値化に反映させる
に際して、前記閾値として、閾値が位置に応じて設定さ
れている閾値マトリックスから、前記画素位置に応じて
抽出された閾値を用いる閾値マトリックス誤差拡散法に
よる2値化方法であって、前記閾値マトリックスの閾値
の配置が、均一濃度画素マトリックスを、画素濃度と閾
値との比較により2値化する際に生じた誤差を周辺の画
素の2値化に反映させて2値化する誤差拡散を行い、得
られた2値化マトリックスの2値にそれぞれ2種類の閾
値を対応させてなる配置方法にて行われることを特徴と
する。
【0030】この手法は、閾値マトリックスにおいて、
ブルーノイズマスクとは別個の手法で、好ましい閾値の
配置特性を実現するものであり、同様に、比較的小さい
サイズの誤差分配マトリックスを用いても、あるいは閾
値マトリックスに配置する閾値の種類が少なくても、画
質を劣化させる紋様の発生や濃度急変部(エッジ)にお
けるドットの偏りを防止する効果は、従来と同等以上と
なり、メモリ容量の不利を解消できるものとなる。
【0031】更に、このような誤差拡散により2値を配
置させた閾値マトリックスに対して、前述したブルーノ
イズマスクの手法である、2種類の2値のいずれかの値
の所定個数を、同じ値の密度がほぼ均一になるようにす
る配置方法を実行しても良い。具体的には、閾値マトリ
ックスとして、前記誤差拡散により2値を配置させた閾
値マトリックスの各値について、その周辺の同一値の密
度を求め、密度の最大となる位置の一方の値を密度の最
大となる位置の他方の値と入れ替える処理を所定の値分
布状態になるまで繰り返すことにより得られたマトリッ
クスを用いても良い。
【0032】異なる濃度の均一濃度画素マトリックスに
て既に2値化された2値化マトリックスの2値化状態を
参照しつつ、均一濃度画素マトリックスの各画素を、画
素濃度と閾値との比較により2値化する際に生じた誤差
を周辺の画素の2値化に反映させて2値化する誤差拡散
法を繰り返し、この繰り返しにより得られた、所望濃度
の均一濃度画素マトリックスによる2値化マトリックス
の2値に、それぞれ2種類の閾値を対応させる配置方法
でも良い。
【0033】このように他の均一濃度画素マトリックス
の2値化結果を考慮して、目的とする濃度の均一濃度画
素マトリックスを2値化すると、2値の分布が適当とな
り、比較的小さいサイズの誤差分配マトリックスを用い
ても、あるいは閾値マトリックスに配置する閾値の種類
が少なくても、画質を劣化させる紋様の発生や濃度急変
部(エッジ)におけるドットの偏りを防止する効果は、
従来と同等以上となり、メモリ容量の不利を解消できる
ものとなる。
【0034】また、2値ばかりでなく、3値以上の多値
の閾値マトリックスを次のように作成しても良い。すな
わち、異なる濃度の均一濃度画素マトリックスにて既に
2値化された2値化マトリックスの2値化状態を参照し
つつ、均一濃度画素マトリックスの各画素を、画素濃度
と閾値との比較により2値化する際に生じた誤差を周辺
の画素の2値化に反映させて2値化する誤差拡散法を繰
り返し、この繰り返しにより得られた2値化マトリック
スのすべてについて同一位置の要素毎に2値を集積し、
この集積結果に基づいて、前記閾値マトリックスにおけ
る各要素の閾値を設定しても良い。
【0035】このような2値化マトリックスの集積によ
り、マトリックスには集積数に応じた数の種類が生じ、
それぞれに閾値を対応させれば、3値以上の閾値マトリ
ックスが作成できる。また、2値化状態の参照が、2値
化処理しようとする均一濃度画素マトリックスに最も近
い濃度の均一濃度画素マトリックスの2値化状態を参照
することによりなされても良い。
【0036】更に具体的には、2値化状態の参照が、2
値化処理しようとする均一濃度画素マトリックスに最も
近い濃度の均一濃度画素マトリックスによる2値化マト
リックスの要素の内、「1」であるの要素と同じ位置は
必ず「1」に2値化することにより行われても良い。
【0037】この場合、最初に、前記所定範囲において
設定された複数の濃度値の内の最小値を全要素の濃度値
とする均一濃度画素マトリックスについて、前記誤差拡
散法にて各要素の濃度値を「1」または「0」のいずれ
かに2値化し、その後、他の濃度値の均一濃度画素マト
リックスを2値化することとしても良い。
【0038】あるいは、最初に、前記所定範囲において
設定された複数の濃度値の内の最大値を全要素の濃度値
とする均一濃度画素マトリックスについて、前記誤差拡
散法にて各要素の濃度値を「1」または「0」のいずれ
かに2値化し、その後、他の濃度値の均一濃度画素マト
リックスを2値化するようにしても良い。
【0039】また、2値化状態の参照が、2値化処理し
ようとする均一濃度画素マトリックスに、濃度が低い側
および濃度が高い側にそれぞれ最も近い濃度の均一濃度
画素マトリックスの2値化状態を参照することとしても
良い。この場合、最初に、前記所定範囲において設定さ
れた複数の濃度値の内の最大値および最小値をそれぞれ
全要素の濃度値とする2つの均一濃度画素マトリックス
について、前記誤差拡散法にて各要素の濃度値を「1」
または「0」のいずれかに2値化し、その後、他の濃度
値の均一濃度画素マトリックスを2値化することとして
も良い。
【0040】具体的には、濃度が高い側の2値化マトリ
ックスにおいて「1」となり、かつ濃度が低い側の2値
化マトリックスにおいても「1」となっている要素位置
と同じ位置は必ず「1」とし、濃度が高い側の2値化マ
トリックスにおいて「0」となり、かつ濃度が低い側の
2値化マトリックスにおいても「0」となっている要素
位置と同じ位置は必ず「0」として誤差拡散処理するこ
とにより2値化することとしても良い。
【0041】2値化マトリックスもそのまま全て用いる
のではなく、最終的に得られた2値化マトリックスの一
部分を構成するマトリックスの2値にそれぞれ2種類の
閾値を対応させてなる配置方法にて行われても良い。こ
のようにすると、濃度急変部(エッジ)におけるドット
の偏りを防止する効果は、より一層、高いものとなる。
【0042】なお、閾値マトリックスの記憶に際して
は、閾値の代りに、該閾値の種類を識別するための、該
閾値よりも記憶容量が小さい識別値にて記憶され、閾値
マトリックスの使用に際しては、該当する要素位置から
読み出された前記識別値から対応する閾値を形成して使
用することとしても良い。
【0043】例えば、実際に用いられる2値が「64」
と「192」である場合、この値を「0」と「1」でそ
れぞれ表して、閾値マトリックスとして記憶しておき、
「0」の識別値が使用される場合は、閾値として「6
4」を用い、「1」の識別値が使用される場合は、閾値
として「192」を用いるようにすれば良い。「64」
と「192」とからなる閾値マトリックスと同等に使用
できる。このように実際の閾値よりも小さい識別値で記
憶することにより、メモリ容量の不利を一層解消でき
る。また、このように識別値であれば、「64」、「1
92」の組み合わせのみでなく、他の値に対応させるこ
ともできることから、一つの閾値マトリックスが、複数
種類の閾値マトリックスに対応することになり、更に一
層メモリ容量の不利を解消できる。
【0044】また、閾値マトリックスの記憶に際して
は、閾値の代りに、該閾値の種類を識別するための識別
値として記憶し、この識別値を、マトリックスの配置で
はなく、その要素位置とともに値順に配置されたテーブ
ルとして記憶しておき、閾値マトリックスの使用に際し
ては、必要な閾値の種類数に応じて、前記テーブルを分
割して、各分割された識別値に対して、該当する要素位
置にそれぞれ閾値を対応させて使用することとしても良
い。
【0045】このようにすると、閾値の値のみでなく、
閾値の種類数をも任意に変更することが容易となり、目
的に適合させて柔軟に閾値マトリックスの閾値を調整す
ることが容易にできる。なお、このような閾値マトリッ
クス誤差拡散法による2値化方法を実行する機能は、例
えば、コンピュータシステム側で起動するプログラムと
して備えられる。このようなプログラムの場合、例え
ば、フロッピーディスク、光磁気ディスク、CD−RO
M等の記憶媒体に記憶し、必要に応じてコンピュータシ
ステムにロードして起動することにより用いることがで
きる。この他、ROMやバックアップRAMを記憶媒体
として前記プログラムを記憶しておき、このROMある
いはバックアップRAMをコンピュータシステムに組み
込んで用いても良い。
【0046】
【発明の実施の形態】
[実施の形態1]図1は、上述した発明のいくつかの閾
値マトリックス誤差拡散法による2値化方法が適用され
た中間調画像データ2値化装置2の概略構成を表すブロ
ック図である。
【0047】この中間調画像データ2値化装置2は、コ
ンピュータを主体として構成され、CPU12、ROM
からなるプログラム記憶部13、RAMからなる閾値マ
トリックス記憶部14、RAMからなる誤差分配マトリ
ックス記憶部15、RAMからなる誤差バッファ16、
RAMからなる入力画像データ記憶部17、RAMから
なる出力画像データ記憶部18およびRAMからなる作
業用メモリ19を備えて、これらがバス20により接続
されて、制御信号やデータ信号を交換可能としている。
【0048】また、中間調画像データ2値化装置2は、
これ以外に、バス20を介して、コンピュータとして必
要なキーボード21やディスプレイ22等の入出力装
置、ハードディスクやフロッピーディスクドライブ等の
外部記憶装置23およびカラープリンタ24が接続され
ている。
【0049】プログラム記憶部13には、コンピュータ
として必要な基本的なプログラム、後述する閾値マトリ
ックス作成処理プログラム、後述する閾値マトリックス
誤差拡散処理プログラム、およびその他の処理のプログ
ラムが格納され、必要に応じてCPU12により実行さ
れる。なお、外部記憶装置23を介して、前記各種プロ
グラムが記憶されたフロッピーディスク、光磁気ディス
ク、CD−ROM等の記憶媒体から、必要に応じて作業
用メモリ19に読み込んで起動することにより実行して
も良い。
【0050】閾値マトリックス記憶部14は後述するご
とく、閾値マトリックス生成処理により生成された閾値
マトリックスを記憶するためである。この閾値マトリッ
クスは、2種類の識別値がブルーノイズマスクの手法に
よりあるいは類似の手法により分布されているマトリッ
クスとして記憶されている。
【0051】誤差分配マトリックス記憶部15は、誤差
拡散法により算出された出力濃度値と元の濃度値との誤
差を、誤差バッファ16内の周辺画素に分配する際に、
分配対象となる周辺画素およびその分配率を誤差分配マ
トリックスとして記憶している。
【0052】誤差バッファ16は、誤差の分配対象とな
る画素毎に分配される誤差を蓄積している。入力画像デ
ータ記憶部17は外部記憶装置23等から導入された中
間調画像データを記憶している。出力画像データ記憶部
18は、入力画像データ記憶部17に記憶されている中
間調画像データを閾値マトリックス誤差拡散処理により
2値化して得られた擬似中間調画像データを記憶するも
のである。なお、必要に応じてこの擬似中間調画像デー
タは、ディスプレイ22に表示されたり、カラープリン
タ24により記録される。
【0053】次に、CPU12にて実行される図2のフ
ローチャートに示す閾値マトリックス生成処理について
説明する。この処理はブルーノイズマスクの手法の一つ
を用いて閾値マトリックスを生成している。処理が開始
されると、まず、閾値マトリックスとして必要な大きさ
M×Nのマトリックス格納用のメモリが作業用メモリ1
9に準備され、各要素値J(x,y)に「0」と「1」
とのいずれかの値をランダムに配置する(S100)。
このランダムな配置は例えば乱数の発生により決定すれ
ば良い。
【0054】次に、このように1/0がランダムに配置
されているマトリックスの各要素位置(x,y)につい
て、その期待濃度D(x,y)を算出する(S11
0)。この期待濃度D(x,y)は次のようにして算出
される。要素(x,y)に隣接する要素(x−Δx,y
−Δy)に与えられた要素値J(x−Δx,y−Δy)
と、別に定める重み関数f(Δx,Δy)とに基づい
て、下記式5に従い期待濃度D(x,y)を算出する。
【0055】
【数5】
【0056】ここで、−i<Δx<i、−j<Δy<j
であり、0<i<M、0<j<Nである。ABS[]は
[]内の絶対値を求める関数である。「majority valu
e」は前述のステップS100にてランダムに配置した
0/1の値内で、数が多い方の値である。逆に数が少な
い方の値は「minority value」で表す。重み関数f(Δ
x,Δy)は、距離に応じて小さくなる重み値を算出す
る関数であり、種々の関数が使用できるが、例えば、次
式6のような関数を挙げることができる。
【0057】
【数6】
【0058】ここで「^2」は二乗を表し、d^2=Δx^2
+Δy^2である。また、「S」は調整用の係数であり、
例えば「1.5」である。ここでのマトリックスはM×
N要素からなる限られた領域のパターンであるため、要
素位置がマトリックスの周辺近傍に位置する場合には、
図3に示すように、参照すべき近傍の要素がマトリック
スの領域外に存在する場合がある。この場合、マトリッ
クスは縦横に繰り返すパターンであると想定することが
できる。
【0059】すなわち、期待濃度D(x,y)を算出す
るために参照すべき近傍の要素がマトリックスの領域外
にあるときは図3に示したエリアA1,A2,A3を近
傍要素として参照する。このようにして全要素の期待濃
度D(x,y)を算出した後に、要素値J(x,y)=
1である要素の内で最大の要素位置を(xmax,ymax)
とし、要素値J(x,y)=0である要素の内で最小の
要素位置を(xmin,ymin)とする(S120)。
【0060】次に、(xmax,ymax)の要素の値と(x
min,ymin)の要素の値とを入れ替える(S130)。
すなわち、J(xmax,ymax)=0とし、J(xmin,
ymin)=1とする。次に、所定の評価により、マトリ
ックス中に0/1の値が均一に分散されているか否かが
判定される(S140)。この評価は、ディスプレイ2
2やカラープリンタ24にてマトリックスを視覚的に表
現することにより、観察により人が主観的に判断しても
良いし、CPU12による次の処理により客観的に行っ
ても良い。
【0061】すなわち、ステップS110と同じ処理を
再度行って、全要素について期待濃度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はステップS120,S130の処
理を繰り返す毎に減少し、次第に0に近づくが、評価値
Eva>0にて平衡状態となる。
【0062】この平衡状態に達したと判定したときに、
マトリックス中に0/1の値が均一に分散されていると
判定し、平衡に達していないときは均一に分散されてい
ないと判定する。このような判定にて、ステップS14
0にて均一に分散されていないと判定された場合(S1
40で「NO」)、再度、ステップS110〜S130
を繰り返し、再度、ステップS140の判定を行う。な
お、ステップS140の判定で、ステップS110と同
じ処理を行った場合は、ステップS140の直後にステ
ップS110を実行する必要はなく、ステップS12
0,S130のみ繰り返せば良い。
【0063】ステップS140にて均一に分散されてい
ると判定された場合(S140で「YES」)は、0/
1の2値で表される閾値マトリックスが完成したので、
閾値マトリックス記憶部14に記憶し(S150)、閾
値マトリックス生成処理を終了する。
【0064】この結果、生成した2値閾値マトリックス
(100×100要素)の例を図4に示す。また、12
8×128要素の2値閾値マトリックスの例を図5に示
す。図4,5においては白ドットが「0」の要素、黒ド
ットが「1」の要素を表している。
【0065】次に、前述した閾値マトリックス生成処理
にて形成された閾値マトリックスを用いてCPU12に
て実行される、閾値マトリックス誤差拡散処理を、図6
のフローチャートにより説明する。この処理は、入力画
像データ記憶部17に格納されている中間調画像を2値
化して擬似中間調画像を作成するために行われる。
【0066】閾値マトリックス誤差拡散処理が開始され
ると、誤差バッファ16を0に初期化すると共に、以下
の手順を実行する。まず、2値化処理する画素の位置を
判別するための変数x,yを0に初期化する(S21
0,S220)。尚、変数x,yで示される画素のこと
を注目画素と呼ぶことにする。
【0067】画素位置(x,y)に対応する入力画像の
入力濃度I(0≦I≦255)を読み取る(S23
0)。次に、この注目画素に対応する2値化誤差値e
(x,y)を誤差バッファ16から読み取り、次式7の
ごとく2値化誤差値e(x,y)にて画素濃度Iを補正
して、補正濃度I′を求める(S240)。
【0068】
【数7】
【0069】次に、閾値生成処理(S250)が行われ
る。すなわち、閾値マトリックス生成処理にて形成され
た閾値マトリックスは、0,1の値のみで表されてい
る。この0,1は閾値の種類を表すための識別値であ
り、実際には、画素の濃度範囲(ここでは0≦I≦25
5)に適合させて、予め決めてある適切な閾値をそれぞ
れ設定する必要がある。ここでは識別値「1」には閾値
「64」を、識別値「0」には閾値「192」を対応付
る。この対応関係は閾値マトリックス記憶部14に記憶
してある。
【0070】ステップS250では、この対応関係に基
づいて、図7のフローチャートに示すごとくの閾値生成
処理がなされる。まず、前述した閾値マトリックス生成
処理にて形成されている2値閾値マトリックスMat2
()から画素位置(x,y)に応じた要素位置(x%
M,y%N)から識別値tを次式8のごとく読み取る
(S252)。
【0071】
【数8】
【0072】尚、Mat2()は、例えば、図5に示す
様な閾値マトリックス(M=128,N=128)であ
る。各要素には閾値0,1のいずれかが記憶されてい
る。また、前記式8の「%」は除算後の余を求める演算
子であり、「x%M」はxをMで割つた後の余りを示す
ものであり、「y%N」はyをNで割つた後の余りを示
すものである。すなわち、図5の閾値マトリックスを用
いた場合、x=200ならばx%128=72であり、
x=112ならばx%128=112となる。
【0073】この手順で読み取る閾値は、図5の例に従
えば、x=0,y=0ならば、x%128=0,y%1
28=0なので、t=1(黒)であり、x=128,y
=129ならば、x%128=0,y%129=1なの
で、t=0(白)となる。この識別値tを判断し(S2
54)、t=1ならば、閾値Tとして「64」が設定さ
れ(S258)、t=0ならば閾値Tとして「192」
が設定される(S256)。
【0074】こうして閾値生成処理が終了すると、次に
ステップS240にて求められた補正濃度I′とステッ
プS250で求められた閾値Tとが比較される(S26
0)。I′<Tであれば(S260で「YES」)、出
力濃度Oとして「0」に設定され(S270)、I′≧
Tであれば(S260で「NO」)、出力濃度Oとして
「1」が設定される(S280)。この出力濃度Oの値
は、出力画像データ記憶部18に2値化画像データとし
て順次蓄積される。
【0075】次に、補正濃度I′と出力濃度Oとに基づ
いて2値化誤差値Eを次式9のごとく算出する(S29
0)。
【0076】
【数9】
【0077】次に、予め設定した誤差分配マトリックス
Bmat()に基づいて、前記誤差値Eを、次式10に
示すごとく、2値化が未処理の周辺画素の誤差バッファ
eに分配する(S300)。
【0078】
【数10】
【0079】尚、「+=」は既に誤差バッファe内に存
在する値と加算処理して同じ誤差バッファeに格納する
ことを示す演算子である。Bmat()の具体例は例え
ば図31に示す通りであり、i,jは注目画素位置をi
=j=0とし、図31に示すごとくの値をとる変数であ
る。
【0080】Bmat()としては、、従来のものであ
る図34に示すBmat()よりも、サイズの小さいも
のを使用している。閾値マトリックスにブルーノイズ特
性を有するものを用いることで、このような従来のもの
より比較的小さなサイズのBmat()を使用しても十
分な画質が得られる。このような小さなサイズのBma
t()を用いれば、2値化の際の演算量が少なくて済む
ため、処理を高速に行える。勿論、従来のようなサイズ
のBmat()を用いれば、より良い画素が得られる。
【0081】次に、主走査方向(x方向)の2値化処理
が終了したか否かを判定する(S310)。終了してい
なければ(S310で「NO」)、注目画素の主走査方
向の位置xを1つ増加させて(S320)、再度ステッ
プS230から処理を繰り返す。
【0082】主走査方向の2値化処理が終了したと判定
された場合(S310で「YES」)には、全画素の2
値化処理が終了したか否かを判定する(S330)。全
画素の処理が終了していなければ(S330で「N
O」)、注目画素の副走査方向の位置yを1つ増加させ
て(S340)、再度ステップS220から処理を繰り
返す。
【0083】全画素の2値化が終了していれば(S33
0で「YES」)、閾値マトリックス誤差拡散処理を終
了する。このときには、出力画像データ記憶部18内に
は、ステップS270またはステップS280にて設定
された出力濃度Oにて各画素が2値化された擬似中間調
画像データが形成されている。
【0084】本実施の形態によれば、閾値マトリックス
として、従来のような規則的に多種類の閾値が配置され
たものでなく、ブルーノイズマスクの手法により得られ
た閾値マトリックスを用いて誤差拡散法により、中間調
画像を擬似中間調画像に2値化しているので、従来の作
成方法で作成された閾値マトリックスを用いた場合より
も、比較的小さいサイズの誤差分配マトリックスを用い
ても、擬似中間調画像において紋様の発生や濃度急変部
におけるドットの偏りを十分に防止できて、高い画質が
得られた。また、閾値マトリックス記憶部14が小さく
て済み、メモリ容量の不利を招かない。
【0085】また、実際には、閾値は「64」や「19
2」といった8ビットで表さなくてはならない値で閾値
マトリックス記憶部14に記憶されているのではなく、
その識別値である「0」,「1」で記憶されているの
で、各要素を1ビットで表すことができ、その2値閾値
マトリックスも極めて小さいデータで済み。閾値マトリ
ックス記憶部14は非常に小さいメモリしか必要としな
い。
【0086】更に、このように識別値にて2値閾値マト
リックスが記憶されているので、前述した「64」や
「192」以外の値も、識別値に対応付けて閾値として
用いることができるので、複数の閾値マトリックスを記
憶しておく必要がなく、更に一層メモリが節約できると
ともに、画質調整の必要に応じて柔軟に閾値を変更で
き、中間調画像データの加工処理も効率的にできる。
【0087】[実施の形態2]次に、ブルーノイズマス
ク以外の手法による閾値マトリックス作成処理について
説明する。閾値マトリックス生成処理のフローチャート
を図8以下に示す。まず、全画素が濃度値i=0である
均一濃度画素マトリックスと、全画素が濃度値i=25
5である均一濃度画素マトリックスとを、誤差拡散法に
より2値化する(S410)。この均一濃度画素マトリ
ックスは、図10に示すごとく、i=0,255の2種
類の均一濃度画素マトリックスD0,D255を作業用
メモリ19に読み込んで用いれば良い。そして、その2
つの2値化マトリックスを作業用メモリ19に保存する
(S420)。
【0088】ここでは誤差拡散法は、広い意味で用いて
おり、ある画素を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)等)等が良く
知られているので、誤差拡散法自体の詳細な説明は省略
する。
【0089】ステップS410にて行われる濃度値i=
0,255の均一濃度画素マトリックスの誤差拡散法に
よる2値化結果は、i=0の場合は全画素「0」(以下
「オフ」と称する。)、i=255の場合は全画素
「1」(以下「オン」と称する。)となるので、特に誤
差拡散法による計算はせずに、予め全画素がオフの2値
化マトリックスと全画素がオンの2値化マトリックスと
を備えておいて、これらのマトリックスを用いても良
い。
【0090】次に濃度値iに「1」を設定し(S43
0)、全画素が濃度値i=1の均一濃度画素マトリック
スに対して、図9に示す2値化処理を実行する(S44
0)。この均一濃度画素マトリックスは、図10に示し
たごとく、i=1〜254の254種類の均一濃度画素
マトリックスD1〜D254の必要なものを作業用メモ
リ19に読み込んで用いれば良い。
【0091】図9の2値化処理について説明する。ま
ず、2値化済みの濃度値、すなわち既に2値化マトリッ
クスが求められている濃度値の内で、濃度値iを越えて
いて最も濃度値iに近い濃度値の均一濃度画素マトリッ
クスを2値化処理した2値化マトリックス(以下、「最
近上方2値化マトリックスH」と称する。)と、濃度値
i未満で最も濃度値iに近い濃度値の均一濃度画素マト
リックスを2値化処理した2値化マトリックス(以下、
「最近下方2値化マトリックスL」と称する。)とを作
業用メモリ19の内容から検索する(S442)。
【0092】本実施の形態2では、i=1から順次、所
望の濃度まで処理して行くので、最近上方2値化マトリ
ックスHは、常にi=255の2値化マトリックスであ
り、最近下方2値化マトリックスLは、i−1の2値化
マトリックスである。ただし、ここでは、2値閾値マト
リックスとして、識別値0,1が50%づつとするの
で、所望の濃度としてはi=128であり、i=128
の処理で止める。
【0093】次に、濃度値iの均一濃度画素マトリック
スについて、誤差拡散法により2値化し、2値化マトリ
ックスFiを作成する(S446)。ただし、ステップ
S446では、次の条件,の下に2値化される。 最近上方2値化マトリックスHと最近下方2値化マト
リックスLとの両者にて共にオンが配置されている画素
位置は、必ずオンとする。
【0094】最近上方2値化マトリックスHと最近下
方2値化マトリックスLとの両者にて共にオフが配置さ
れている画素位置は、必ずオフとする。 すなわち、通常、誤差拡散法においては、周辺の画素か
ら分配された誤差と自己の濃度とを合計した値を、閾値
と比較して、閾値以上であれば「オン」、閾値未満であ
れば「オフ」に2値化しているが、前記またはの条
件に該当する画素の場合には、その画素については閾値
との比較をせずに、前記またはの条件通りに、「オ
ン」または「オフ」に設定する。勿論、この閾値と比較
しない設定の結果も2値化誤差に反映され、周辺画素へ
の分配の対象となる。
【0095】濃度値iの均一濃度画素マトリックスにつ
いて2値化を終了すると、このようにして得られた2値
化マトリックスを作業用メモリ19に保存し(S45
0)、濃度値i=所望濃度(ここではi=128)か否
かを判定する(S460)。最初は濃度値i=1である
ので(S460で「NO」)、次に濃度値iがインクリ
メントされる(S470)。したがって、次に全画素が
濃度値i=2の均一濃度画素マトリックスを前述のごと
く2値化処理し(S440)、その2値化マトリックス
F2を作業用メモリ19に保存する(S450)。
【0096】以後、順次、濃度値iをインクリメントし
つつ(S470)、該当する濃度値iの均一濃度画素マ
トリックスを2値化し(S440)、その2値化マトリ
ックスFiを作業用メモリ19に保存する(S450)
処理を繰り返す。所望濃度値i=128の均一濃度画素
マトリックスの処理(S440,S450)が終了する
と図11に示すごとく、作業用メモリ19内には、濃度
値i=0〜128,255の130個の2値化マトリッ
クスF0〜F128,F255が形成されている。
【0097】次に濃度値i=128であるので(S46
0で「YES」)、i=128に該当する2値化マトリ
ックスF128を、2値閾値マトリックスとして閾値マ
トリックス記憶部14に保存する(S480)。図12
(a)に、本実施の形態2の手法で2値化した濃度値i
=128の場合の2値閾値マトリックスの一部を画像化
して示す。黒ドットが「1」の要素を表し、白ドットが
「0」の要素を表している。図12(b)は同じく濃度
値i=192まで図8の処理を行って、i=192に該
当する2値化マトリックスF192を2値閾値マトリッ
クスとして生成した場合である。図12(a),(b)
では、「0」と「1」とのドットが適度に分散して分布
し、かつ非周期性である。
【0098】このようにして形成された2値閾値マトリ
ックスを用いて、図6の閾値マトリックス誤差拡散処理
を実行したところ、実施の形態1と同様な効果が得られ
た。本実施の形態2では、濃度値iを順次i=1から1
つ増加させつつ目的の濃度まで2値化処理していたの
で、特に前記の条件は用いる必要はない。また、この
ように順次、濃度値iを+1して行く場合には、前記
の条件を用いずに、単に最近下方2値化マトリックス
Lを参照しつつ、最近下方2値化マトリックスLにてオ
ンとなっている画素位置は必ずオンにする条件にて、2
値化しても良い。すなわち、オンが現れたらそれ以降の
濃度値の2値化においては必ずオンにするとの規則で2
値化しても良い。
【0099】また、本実施の形態2において、i=25
4から順次1つ減少させつつ目的とする濃度まで2値化
処理しても良い。この場合には、前記条件はのみでも
良い。また、このように順次、濃度値iを−1して行く
場合には、前記の条件を用いずに、単に最近上方2
値化マトリックスHを参照しつつ、最近上方2値化マト
リックスHにてオフとなっている画素位置は必ずオフに
する条件にて、2値化しても良い。すなわち、オフが現
れたらそれ以降の濃度値の2値化においては必ずオフに
するとの規則で2値化しても良い。
【0100】更に、i=0とi=255の中間であるi
=128の2値閾値マトリックスを作り、次にi=0と
i=128との中間のi=64、i=128とi=25
5との中間のi=191、……と言うように、既に2値
化した濃度を二分する中間付近を前記条件を用いな
がら2値化しても良い。
【0101】[実施の形態3]前記実施の形態2では、
均一濃度画素マトリックスD0〜D128,D255あ
るいはその2値化マトリックスF0〜F128,F25
5の大きさと同じ大きさの2値閾値マトリックスを形成
していたが、本実施の形態3では、図13に示すごと
く、均一濃度画素マトリックスD0〜D128,D25
5およびその2値化マトリックスF0〜F128,F2
55の大きさが、目的とする2値閾値マトリックスに比
較して非常に大きいものを用いるとともに、2値化マト
リックスF128の特定の領域における2値化結果を抽
出して2値閾値マトリックスとして生成する。
【0102】本実施の形態3における2値閾値マトリッ
クス生成処理について説明する。尚、本2値閾値マトリ
ックス生成処理は、前記実施の形態2とは、ステップS
440,S450の処理が異なり、他は同じであるの
で、異なる部分のみ図14に示す。
【0103】ステップS430,S470で濃度値iが
設定された後、濃度値iの均一濃度画素マトリックスに
おける注目画素の濃度(濃度値iに等しい)を読み込む
(S510)。最初の注目画素は原点位置(0,0)の
画素である。次に、前記条件の基に注目画素の濃度
値iに周辺画素から分配される2値化誤差を加えた値を
誤差拡散法により2値化する(S520)。すなわち、
条件に該当する場合には、閾値によらず必ずオンに2
値化し、条件に該当する場合には、閾値によらず必ず
オフに2値化し、それ以外は閾値により2値化し、2値
化誤差を求める。
【0104】次に、現在の注目画素が特定領域A1に含
まれているか否かが判定される(S530)。特定領域
A1とは、図13に示したごとく、最終的な2値閾値マ
トリックスM1を形成する領域であり、本実施の形態で
は全ての均一濃度画素マトリックスにおいて同一の位置
に存在する領域である。
【0105】この特定領域A1は、誤差拡散処理におけ
る先頭画素ラインL0部分は含まず、最終画素ラインL
x部分を含んでいる。これは、先頭画素ラインL0部分
では、その前のラインが存在しないため2値化誤差の拡
散において、後方のラインと比較して歪みを生じてお
り、ドットの集中や特定のパターンが生じ易いからであ
り、この2値化誤差拡散の歪みの影響は先頭画素ライン
L0から後方に離れるにしたがって少なくなり、最終画
素ラインLx部分では最も影響が少ないからである。
【0106】現在の注目画素が特定領域A1に含まれて
いると判定されると(S530で「YES」)、注目画
素の2値化値が作業用メモリ19に保存される(S54
0)。現在の注目画素が特定領域A1に含まれていない
と判定されると(S530で「NO」)、注目画素の2
値化値は保存されない。
【0107】次に濃度値iにおいて未処理の画素が有る
か否かが判定されて(S550)、未処理画素が有れば
(S550で「YES」)、再度ステップS510に戻
り、未処理画素を注目画素として上述の処理を続ける。
尚、ステップS550での未処理画素の判定は、特定領
域A1内に未処理画素が有るか否かの判定でも良い。
【0108】ステップS550で「NO」と判定された
後、ステップS460の判定処理に移る。したがって、
ステップS460にて「YES」と判定された時には、
作業用メモリ19には、図13に示した場合と同じよう
に濃度値i毎に特定領域A1に該当する2値化マトリッ
クスF0〜F128,F255が形成されている。
【0109】この内、2値閾値マトリックスとして、2
値化マトリックスF128を閾値マトリックス記憶部1
4に保存する(S480)。こうして、閾値マトリック
ス生成処理を終了する。この2値閾値マトリックスを用
いて、図6に示した閾値マトリックス誤差拡散処理を実
行した結果、前述した実施の形態1,2と同様な効果が
得られた。更に、均一濃度画素マトリックスから、先頭
画素ラインL0を含まず、かつ最終画素ラインLxを含
む特定領域A1の2値化マトリックスF128を求めて
いるため、先頭画素ラインL0部分で生じている誤差分
配の歪みの影響が及びにくく、一層、紋様の発生が抑制
された疑似中間調の2値化画像を生成することができ
た。
【0110】[実施の形態4]実施の形態3の2値化処
理の代わりに、図15のフローチャートに示すごとくの
処理を実行しても良い。本実施の形態は、誤差拡散とし
て平均誤差最小法を用いている。
【0111】まず、最初の濃度値i=1の均一濃度画素
マトリックスを2値化処理対象とし、まず、2値化済み
の濃度値、すなわち既に2値化マトリックスが求められ
ている濃度値の内で、濃度値i=1に対する最近上方2
値化マトリックスHと、最近下方2値化マトリックスL
とを作業用メモリ19の内容から検索する(S62
1)。最初の濃度値i=1の場合は、既にステップS4
10にて2値化されている濃度値i=255の均一濃度
画素マトリックスが最近上方2値化マトリックスHに該
当し、濃度値i=0の均一濃度画素マトリックスが最近
下方2値化マトリックスLに該当する。
【0112】次に、誤差バッファ16を初期化する(S
622)。次に、濃度値iの均一濃度画素マトリックス
の画素位置(x,y)の濃度値I(x,y)を読み取る(S
623)。最初の画素位置は均一濃度画素マトリックス
の左上隅の原点(0,0)であり、各均一濃度画素マト
リックスのサイズがm×n画素であるとすると、以後ス
テップS623が処理される毎に、主走査方向(x方
向)へ順次移動し、x=m−1の次には、副走査方向
(y方向)の次の画素ラインに移動してx=0から主走
査方向へ順次移動して行くように画素位置(x,y)が
指定される。
【0113】尚、この画素位置(x,y)の濃度値I
(x,y)は濃度値iの均一濃度画素マトリックスの全ての
画素において濃度値iと同じ値であるので、特に濃度値
iの均一濃度画素マトリックスから読み取らなくても、
単にI(x,y)にiを設定するのみでも良い。
【0114】次に、式11のごとく、濃度値iが周辺画
素の2値化誤差和Eにて補正されて補正濃度値I′(x,
y)が算出される(S624)。
【0115】
【数11】
【0116】2値化誤差和Eは、式12のごとく、係数
マトリックスαと周辺画素の2値化誤差eとに基づいて
計算される。
【0117】
【数12】
【0118】係数マトリックスαは、本実施の形態4で
は、次のようなマトリックスが用いられている。αpqは
係数マトリックスαの位置(p,q)の係数を表してい
る。またeabは画素位置(a,b)における2値化誤差
を表している。
【0119】
【数13】
【0120】ここで、*は注目画素の位置を表してい
る。ただし、a,bは次式のようにして設定される。
【0121】
【数14】
【0122】ここで、%はmで割り算した場合の余りを
求める演算子、mは均一濃度画素マトリックスの主走査
方向のサイズ、int{}は{}内の値の整数部分のみ
を取り出す演算子である。また、p,qは、注目画素*
を原点とする係数マトリックスα上の座標位置を示し、
pは横軸座標、qは縦軸座標である。ここで、−2≦q
≦0であり、q=0のとき−2≦p≦−1、q=−1,
−2のとき−2≦p≦2である。
【0123】上述したa,bの設定は、図16に模式的
に示すごとく、均一濃度画素マトリックスを主走査方向
xの先端縁部AEと後端縁部BEとを、後端縁部BEの
画素が、主走査方向xの先端縁部AEの画素の内で副走
査方向yの次の画素ラインの画素へ螺旋状に連続した画
素配置状態で誤差分配されることを表している。
【0124】すなわち、図17に示すごとく通常の座標
で表すと、画素位置P0(m−3,k+1)が注目画素
であった場合、係数マトリックスαの分配係数が適用さ
れる画素は、前記式13,14から、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値化誤差の分配を受ける。
【0125】次の注目画素の画素位置P1(m−2,k
+1)では、係数マトリックスαの分配係数が適用され
る画素は、図18に示すごとく、前記式13,14か
ら、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値化誤差の分配を受ける。
【0126】以後同様に、次の注目画素の画素位置P2
(m−1,k+1)では、係数マトリックスαの分配係
数が適用される画素は、図19に斜線で示すごとく、前
記式13,14から、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値化誤差の分配
を受ける。
【0127】先端縁部AEに戻った次の注目画素の画素
位置P3(0,k+2)では、係数マトリックスαの分
配係数が適用される画素は、図20に斜線で示すごと
く、前記式13,14から、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値化誤差の分配を
受ける。
【0128】次の注目画素の画素位置P4(1,k+
2)では、係数マトリックスαの分配係数が適用される
画素は、図21に斜線で示すごとく、前記式13,14
から、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値化誤差の分配を受ける。
【0129】次の注目画素の画素位置P5(2,k+
2)では、係数マトリックスαの分配係数が適用される
画素は、図22に斜線で示すごとく、前記式13,14
から、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値化誤差の分配を受ける。
【0130】このようにして、均一濃度画素マトリック
スの主走査方向xの後端縁部BEが誤差拡散処理におい
て先端縁部AE側へ螺旋状に連続する誤差分配がなされ
る。このことは、誤差拡散処理による2値化が、均一濃
度画素マトリックスの主走査方向xの後端縁部BEと先
端縁部AEとが螺旋状に連続してなされていることを意
味する。
【0131】このようにして2値化誤差和Eの補正によ
り求められた補正濃度値I′(x,y)は、次の条件の
いずれかに合致しないものが、閾値T(例えばT=12
8)と比較されて、I′(x,y)>Tならば、注目画素を
オン(「1」)に2値化し、I′(x,y)≦Tならば、注
目画素をオフ(「0」)に2値化され、条件のいず
れかに合致するものは、その合致した条件にしたがって
2値化される(S625)。
【0132】条件: 最近上方2値化マトリックスH
と最近下方2値化マトリックスLとの両者にて共に
「1」オンが配置されている画素位置。この位置に対応
する2値化マトリックスの要素は、必ず「1」オンとす
る。 条件: 最近上方2値化マトリックスHと最近下方2
値化マトリックスLとの両者にて共に「0」オフが配置
されている画素位置。この位置に対応する2値化マトリ
ックスの要素は、必ず「0」オフとする。 すなわち、通常、誤差拡散法においては、周辺の画素か
ら分配された誤差Eと注目画素の濃度値I(x,y)とを合
計した値を、閾値と比較して、閾値以上であれば「1」
オン、閾値未満であれば「0」オフに2値化している
が、前記またはの条件に該当する画素の場合には、
その画素については閾値との比較をせずに、前記また
はの条件通りに、「1」オンまたは「0」オフに設定
する。尚、条件は、「最近上方2値化マトリックス
Hの画素値=最近下方2値化マトリックスLの画素値で
あるならば、最近上方2値化マトリックスHまたは最近
下方2値化マトリックスLのいずれかの画素値に設定す
る」と表現することもできる。 次いで注目画素をオン
に2値化した場合、次式の計算により、注目画素の2値
化誤差e(x,y)が求められ、この2値化誤差e(x,y)が誤
差バッファに記憶される(S626)。
【0133】
【数15】
【0134】また、注目画素をオフに2値化した場合に
は、次式のごとく、注目画素の2値化誤差eにI′(x,
y)が設定される。
【0135】
【数16】
【0136】前記条件により、図23(a)に示す
ごとく、各要素位置において、濃度値の小さい方から見
ると、一旦、オンとなると、以後の濃度値iおいては必
ずオンとなる。次に、一つの均一濃度画素マトリックス
について全ての画素の2値化処理が終了したか否かが判
定され(S627)、終了していなければ(S627で
「NO」)、次の画素位置を設定して(S628)、ス
テップS623の処理に戻る。
【0137】全ての画素の2値化が終了すれば(S62
7で「YES」)、ステップ450の処理に移る。この
ようにして形成された2値閾値マトリックスを用いて誤
差拡散法により、中間調のカラー画像を2値化処理した
ところ、実施の形態3の効果とともに、次のような効果
も存在した。
【0138】すなわち、誤差拡散法による2値化処理に
て閾値マトリックスを作成する場合に、誤差拡散法の2
値化処理において、均一濃度画素マトリックスの主走査
方向xの先端縁部AEの画素と後端縁部BEの画素とを
連続した画素配置状態で2値化処理することにより主走
査方向xにおける縁部AE,BE同士の連続性を維持さ
せている。その結果、得られた2値閾値マトリックスに
て、画像データを2値化処理すると、領域の境界での色
むらや明暗むらによる疑似的な境界線の発生も十分に抑
制された。
【0139】特に、本実施の形態では、均一濃度画素マ
トリックスの主走査方向xの後端縁部BEの画素が、主
走査方向xの先端縁部AEの画素の内で副走査方向yの
次の画素ラインの画素へ連続した画素配置状態で2値化
処理すると、すなわち、主走査方向xの画素の配列が螺
旋状にされた状態で2値化処理すると、後端縁部BEの
画素から先端縁部AEの画素へと2値化処理が移行する
場合にも、同一の係数マトリックスαを用いて同じ2値
化誤差分配処理を行えば良いので、簡易な処理になると
共に、2値化処理の連続性が、より良好となり一層疑似
的な境界線の発生を抑制できる。
【0140】更に、本実施の形態では、図15における
2値化において、前記の条件を用いて、既に2値化
されている前後の均一濃度画素マトリックスの2値化状
態を考慮した2値化が行われている。もし、前記の
条件を用いない通常の2値化を行うと、図23(b)に
示すごとく、オンとなった後も同じ要素位置でオフが出
現する。このため、通常の2値化のみでは各要素位置に
おける1(オン)/0(オフ)の分布が偏る傾向が有る
が、本実施の形態では、適度に分散して好適な分布とな
る。したがって、特に、図23(b)に示したごとくの
各均一濃度画素マトリックス独立に2値化している場合
に得られる2値閾値マトリックスに比較して、図23
(a)のごとくに得られた2値閾値マトリックスは、中
間調画像データを閾値マトリックス誤差拡散法にて2値
化する際に用いれば、一層、解像度が向上し、紋様の抑
制が行われる。
【0141】[実施の形態5]本実施の形態は、前述し
た各実施の形態にて形成された2値閾値マトリックス
を、更に、マトリックスの主走査方向xに行くにつれ
て、各閾値要素列を副走査方向yに1要素づつずらすこ
とにより、図24に示すごとく、副走査方向yの先端縁
部UTおよび後端縁部DTを主走査方向xに対して不一
致とさせた2値閾値マトリックスM2として形成してい
る。
【0142】本実施の形態の場合は、2値閾値マトリッ
クスM2の副走査方向yの先端縁部UTおよび後端縁部
DTを斜めにして、主走査方向xに対して所定の角度θ
を有する直線状としているので、2値閾値マトリックス
M2全体は、平行四辺形に形成されている。
【0143】このように形成された2値閾値マトリック
スM2を用いて閾値マトリックス誤差拡散法でなされる
2値化は、図25に示すごとくに、領域EM毎に2値閾
値マトリックスM2が切り替わって2値化処理すること
になる。しかし、斜めの境界部分BTで色むらや明暗む
らが生じたとしても、そのことにより生じる疑似的な境
界線は斜めの状態、すなわち主走査方向xの直線以外の
状態となる。このような方法で2値化処理して見たとこ
ろ、疑似的な境界線は一層目立たなくなった。すなわ
ち、疑似的な境界線の発生を抑制できる。主走査方向x
の境界部分ATについては、前記実施の形態と同様に、
色むらや明暗むらを生じること無く、疑似的な境界線の
発生は無い。
【0144】尚、本実施の形態では、副走査方向yの先
端縁部UTおよび後端縁部DTは、主走査方向xに対し
て所定の角度θを有する直線状としているが、波を打つ
ように凸凹に形成しても良い。またV字形あるいは逆V
字形にしても良い。すなわち、2値閾値マトリックスの
副走査方向yの先端縁部および後端縁部を、主走査方向
xに直線状に配列されている状態から、斜めや凸凹に配
列し直せば、疑似的な境界線は目立たなくなる。すなわ
ち、疑似的な境界線の発生を抑制できる。
【0145】また、図24の閾値マトリックスM2を更
に、図26に示すごとく、図24にて、元の位置より副
走査方向yにずれてはみ出した分Zを、同じ閾値要素列
の上部に移動させることにより、平行四辺形から元の形
と同じ矩形に戻した閾値マトリックスM3としても良
い。このようにすると、閾値マトリックスM3が矩形で
あるので、通常、矩形である画像データに適用し易く、
中間調画像の2値化処理が容易となる。
【0146】[実施の形態6]前記実施の形態2〜4に
おいて、順次、全画素が濃度値i=1の画像から濃度値
を上げつつ2値化して、最終的にi=128にて2値化
したマトリックスを2値閾値マトリックスとして閾値マ
トリックス誤差拡散法に利用したが、これを所望の濃度
値iまで行って、各濃度値における複数の2値化マトリ
ックスを求め、このマトリックスを利用して、複数種類
の閾値からなる閾値マトリックスを求め、閾値マトリッ
クス誤差拡散法に使用しても良い。
【0147】すなわち、たとえば64種類の閾値からな
る閾値マトリックスを生成したい場合には、i=63の
処理が終了した後に(図8のS460にて「YE
S」)、i=0からi=63までの2値化マトリックス
について、同一要素のオン「1」の数をカウントし、こ
のカウント値を要素とするマトリックスを形成する。
【0148】たとえば、図27に示すごとく、左上隅を
原点(0,0)として横方向をx軸、縦方向をy軸とす
ると、まず、2値化マトリックスF0〜F63の(0,
0)についてオン「1」の数をカウントする。そのカウ
ント結果を、図28に示すごとく作業用メモリ19内に
用意された集積マトリックスM1の同一要素位置に格納
する。このカウント処理を各要素位置について行い、集
積マトリックスM1をすべて埋める。このカウント処理
は、2値化マトリックスの各画素において、オンが
「1」で、オフが「0」で表されていれば、各画素につ
いて値を合計すれば、カウント値が得られる。
【0149】次に、集積マトリックスM1のカウント値
の低い要素位置から、順に閾値マトリックス用の64種
類の閾値をそれぞれ設定することにより、多値からなる
閾値マトリックスを生成し、メモリに保存し、閾値マト
リックス誤差拡散法に使用する。
【0150】この閾値マトリックスは、カウント値を識
別値として、カウント値のままで保存して、閾値化は実
際に中間調画像を2値化する際に行っても良い。このよ
うにすると、小さい値で保存できメモリが節約できる。 [実施の形態7]前記実施の形態6にては、濃度値i=
0から閾値の種類数nに該当する濃度値i=n−1まで
の濃度値を2値化したマトリックスについて集積して3
値以上の閾値マトリックスを生成したが、次のようにし
ても良い。
【0151】すなわち、濃度値i=0〜最大濃度値i=
255までについてすべての濃度において2値化し、こ
の2値化マトリックスF0〜F255の各要素位置につ
いて実施の形態6と同様にオン「1」の数をカウントす
る。そして、このカウント値の小さい方から大きい方
へ、すなわち、「0」から〜「255」へ、要素位置と
対応づけて並べたテーブルを作成する。なお、カウント
値の大きい方から小さい方に並べても良い。
【0152】このテーブルは、2値化マトリックスが1
28×128の大きさであれば、16384個の数字と
要素位置とのテーブルとなる。そして、閾値マトリック
ス誤差拡散法で、2種類の閾値からなる閾値マトリック
スを使用したいのであれば、テーブルのカウント値の小
さい方の半分(1〜8192番目)に該当する要素位置
に一方の閾値を与え、大きい方の半分(8193〜16
384番目)に該当する要素位置に他方の閾値を与える
ことにより、2値閾値マトリックスが容易に生成でき
る。
【0153】また、16種類の閾値からなる閾値マトリ
ックスを使用したいのであれば、テーブルを16のブロ
ックに分け、そのそれぞれに、16種類の閾値を振り分
けて、該当する要素位置に閾値を配置すれば、16種類
の閾値からなる多値の閾値マトリックスが容易に生成で
きる。
【0154】また、このブロックに分ける際、それぞれ
のブロックに含まれる要素位置の数は同一である必要は
ない。利用する出力装置(カラープリンタ24)等の入
出力特性に合わせて、ブロックに含まれる要素位置の数
を変えれば、より優れた効果を生じさせることができ
る。
【0155】このようにして、必要な閾値の種類数で前
記テーブルを分割し、それぞれの分割ブロックに閾値を
当てはめて、各要素位置にブロックに対応する閾値を配
置すれば、任意の種類の閾値からなる閾値マトリックス
が容易に生成できる。しかもこのように生成された閾値
マトリックスは前述した各実施の形態の閾値マトリック
スと同様な閾値の配置特性を有しており、同様な優れた
効果を生じさせることができる。
【0156】[実施の形態8]前述の実施の形態1で
は、「1」,「0」の2値閾値マトリックスを作成した
が、実施の形態1にて作成した図4,5に例示する2値
閾値マトリックスをベースにして、図29,30のフロ
ーチャートのようにして多値閾値マトリックスを作成す
ることができる。
【0157】まず、図29の処理にて、2値閾値マトリ
ックスの全画素について、前記式5に基づいて期待濃度
D(x,y)を計算する(S702)。この内、「mino
rity value」となる要素の内で、期待濃度D(x,y)
が最大の要素は、「minority value」が密に集まる部分
の「minority value」であるとして、「majority valu
e」に変更される(S704)。
【0158】次にステップS704の変更前における
「minority value」の数を閾値として、多値閾値マトリ
ックス内の該当要素位置に設定する(S706)。次
に、終了か否かが判定され(S708)、「minority v
alue」が2値閾値マトリックス中に残っていれば継続す
るので(S708で「NO」)、再度、ステップS70
2〜S706の処理が繰り返される。こうして、1つづ
つ小さくした閾値の要素位置が設定される。
【0159】更に、大きい方の閾値については、図30
のように設定される。まず、2値閾値マトリックスの全
画素について、前記式5に基づいて期待濃度D(x,
y)を計算する(S802)。この内、「majority val
ue」となる要素の内で、前記期待濃度D(x,y)が最
小の要素は、「minority value」が疎に散っている部分
の「majority value」であるとして、「minority valu
e」に変更される(S804)。
【0160】次にステップS804の変更後における
「minority value」の数を閾値として、多値閾値マトリ
ックス内の該当要素位置に設定する(S806)。次
に、終了か否かが判定され(S808)、「majority v
alue」が2値閾値マトリックス中に残っていれば継続す
るので(S808で「NO」)、再度、ステップS80
2〜S806の処理が繰り返される。こうして、1つづ
つ大きくした閾値の要素位置が設定される。
【0161】したがって、図29,30の処理を行うこ
とにより、全要素の数の種類の閾値からなる多値閾値マ
トリックスが完成する。更に、閾値を識別値として捉え
て、小さい方から大きい方へ、または逆に大きい方から
小さい方へ、要素位置と対応づけて並べたテーブルを作
成すれば、実施の形態7と同様に、必要な閾値の種類数
で前記テーブルを分割し、それぞれの分割ブロックに閾
値を当てはめて、各要素位置にブロックに対応する閾値
を配置すれば、任意の種類の閾値からなる閾値マトリッ
クスが容易に生成できる。しかもこのように生成された
閾値マトリックスは前述した実施の形態1の閾値マトリ
ックスと同様にブルーノイズマスクの性質を有してお
り、同様な優れた効果を生じさせることができる。
【0162】[その他]前記実施の形態2において、所
望濃度i=128をステップS430で設定し、ステッ
プS440で2値化処理した結果を2値化マトリックス
F128として閾値マトリックス記憶部14に保存して
も良い。
【0163】前記実施の形態4における2値化は、2値
化時に周辺画素から2値化誤差の分配を受けるタイプの
誤差拡散法、いわゆる平均誤差最小法であったが、前記
実施の形態1〜3のごとく、注目画素を2値化した場合
に2値化の誤差を未だ2値化していない周辺の画素の濃
度に分配する方法による誤差拡散法であっても良い。逆
に、実施の形態1〜3は実施の形態4のごとく平均誤差
最小法であっても良い。
【0164】また、閾値マトリックスは、その各閾値と
2値化処理対象の画素と1:1に対応させていたが、一
つの閾値を近傍同士の複数の画素の閾値として対応させ
ても良い。このような閾値マトリックスをROMに格納
して、レーザプリンタ、インクジェットプリンタあるい
は複写機等の画像形成装置や、イメージスキャナ等の画
像読み取り装置に使用することも可能である。
【図面の簡単な説明】
【図1】 実施の形態1としての閾値マトリックス誤差
拡散法による2値化方法が適用された中間調画像データ
2値化装置の概略構成を表すブロック図である。
【図2】 実施の形態1における閾値マトリックス生成
処理のフローチャートである。
【図3】 実施の形態1における期待濃度算出上参照さ
れる近傍範囲の説明図である。
【図4】 実施の形態1における100×100要素の
2値閾値マトリックスの構成説明図である。
【図5】 実施の形態1における128×128要素の
2値閾値マトリックスの構成説明図である。
【図6】 実施の形態1における閾値マトリックス誤差
拡散処理のフローチャートである。
【図7】 実施の形態1における閾値生成処理のフロー
チャートである。
【図8】 実施の形態2における閾値マトリックス生成
処理のフローチャートである。
【図9】 実施の形態2における2値化処理のフローチ
ャートである。
【図10】 実施の形態2における均一濃度画素マトリ
ックスの構成説明図である。
【図11】 実施の形態2における2値化マトリックス
の構成説明図である。
【図12】 実施の形態2における2値化マトリックス
の構成説明図である。
【図13】 実施の形態3における均一濃度画素マトリ
ックスと特定領域との関係を示す説明図である。
【図14】 実施の形態3における2値化マトリックス
作成処理の一部を示すフローチャートである。
【図15】 実施の形態4における2値化マトリックス
作成処理の一部を示すフローチャートである。
【図16】 実施の形態4の2値化処理の連続性説明図
である。
【図17】 実施の形態4の誤差分配説明図である。
【図18】 実施の形態4の誤差分配説明図である。
【図19】 実施の形態4の誤差分配説明図である。
【図20】 実施の形態4の誤差分配説明図である。
【図21】 実施の形態4の誤差分配説明図である。
【図22】 実施の形態4の誤差分配説明図である。
【図23】 実施の形態4の各要素位置のオン・オフ設
定状態の説明図である。
【図24】 実施の形態5の閾値マトリックスの説明図
である。
【図25】 実施の形態5の閾値マトリックスの適用説
明図である。
【図26】 実施の形態5の閾値マトリックスの変形例
説明図である。
【図27】 実施の形態6における2値化マトリックス
の構成説明図である。
【図28】 実施の形態6における集積マトリックスの
構成説明図である。
【図29】 実施の形態8における多値閾値マトリック
ス設定処理1のフローチャートである。
【図30】 実施の形態8における多値閾値マトリック
ス設定処理2のフローチャートである。
【図31】 小さいサイズの誤差分配マトリックスの一
例を示す説明図である。
【図32】 従来技術の誤差拡散処理のフローチャート
である。
【図33】 従来技術の閾値マトリックスの構成説明図
である。
【図34】 従来技術の誤差分配マトリックスの構成説
明図である。
【符号の説明】 2…中間調画像データ2値化装置 12…CPU 13…プログラム記憶部 14…閾値マトリックス記
憶部 15…誤差分配マトリックス記憶部 16…誤差バッ
ファ 17…入力画像データ記憶部 18…出力画像データ
記憶部 19…作業用メモリ 20…バス 21…キーボー
ド 22…ディスプレイ 23…外部記憶装置 24…
カラープリンタ

Claims (15)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP30834396A JP3431780B2 (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
JP30834396A JP3431780B2 (ja) 1996-11-19 1996-11-19 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム

Publications (2)

Publication Number Publication Date
JPH10150565A true JPH10150565A (ja) 1998-06-02
JP3431780B2 JP3431780B2 (ja) 2003-07-28

Family

ID=17979927

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP3431780B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003028362A1 (en) * 2001-09-21 2003-04-03 Ricoh Company, Ltd. Threshold value matrix creating method, image output system, storage medium, gradation reproducing method, threshold value matrix, image processing method, image processing apparatus, image forming apparatus and printer driver
US6700680B2 (en) 2001-10-30 2004-03-02 Hitachi, Ltd. Image formation apparatus
US8419151B2 (en) 2008-09-12 2013-04-16 Brother Kogyo Kabushiki Kaisha Inkjet printer

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003028362A1 (en) * 2001-09-21 2003-04-03 Ricoh Company, Ltd. Threshold value matrix creating method, image output system, storage medium, gradation reproducing method, threshold value matrix, image processing method, image processing apparatus, image forming apparatus and printer driver
CN100385908C (zh) * 2001-09-21 2008-04-30 株式会社理光 灰度再现方法、图像处理方法、图像处理装置、图像形成装置
US6700680B2 (en) 2001-10-30 2004-03-02 Hitachi, Ltd. Image formation apparatus
US7151619B2 (en) 2001-10-30 2006-12-19 Hitachi, Ltd. Image formation apparatus
US8419151B2 (en) 2008-09-12 2013-04-16 Brother Kogyo Kabushiki Kaisha Inkjet printer

Also Published As

Publication number Publication date
JP3431780B2 (ja) 2003-07-28

Similar Documents

Publication Publication Date Title
EP0356225B1 (en) Image processing apparatus
US5521989A (en) Balanced error diffusion system
US6108450A (en) Threshold matrix-employed error diffusion image conversion method
US6195468B1 (en) Error-distributing image conversion method
JP3431780B2 (ja) 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム
US6185006B1 (en) Error-distributing image conversion method
JP3431778B2 (ja) 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム
JP3834901B2 (ja) 中間調画像の2値化方法
JP3431779B2 (ja) 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム
JPH03151762A (ja) 画像処理装置
JP3287717B2 (ja) 画像処理装置
JP3399341B2 (ja) 画像処理方法および画像処理装置
JP3263201B2 (ja) 画像処理装置
JP2745527B2 (ja) 中間調画像再現方法
JP3965713B2 (ja) 誤差拡散法によるカラー画像の2値化方法
JP3679260B2 (ja) 画像処理装置
JP3549475B2 (ja) 画像処理方式
JPH06339013A (ja) 階調画像の二値化方法および装置
JP3136285B2 (ja) 画像処理装置及び画像処理方法
JPH08321949A (ja) 中間調画像の2値化処理方法
JPH09233327A (ja) ディザマトリックス作成方法
JPH0983794A (ja) 画像処理方法及び装置
JPH0465974A (ja) 画像処理装置
JPH09307755A (ja) ディザマトリックス作成方法
JP2005064941A (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