JP3711615B2 - Dither matrix creation method and image data binarization method - Google Patents

Dither matrix creation method and image data binarization method Download PDF

Info

Publication number
JP3711615B2
JP3711615B2 JP07893096A JP7893096A JP3711615B2 JP 3711615 B2 JP3711615 B2 JP 3711615B2 JP 07893096 A JP07893096 A JP 07893096A JP 7893096 A JP7893096 A JP 7893096A JP 3711615 B2 JP3711615 B2 JP 3711615B2
Authority
JP
Japan
Prior art keywords
pixel
scanning direction
matrix
dither matrix
binarized
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
JP07893096A
Other languages
Japanese (ja)
Other versions
JPH09270916A (en
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 JP07893096A priority Critical patent/JP3711615B2/en
Priority to US08/803,959 priority patent/US5953459A/en
Publication of JPH09270916A publication Critical patent/JPH09270916A/en
Application granted granted Critical
Publication of JP3711615B2 publication Critical patent/JP3711615B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、多値画像を2値画像化するためのディザマトリックスの作成方法および画像データ2値化方法に関する。
【0002】
【従来の技術】
画像を構成するデータは通常8ビット程度の濃淡階調で表現されている。しかし、この画像データを人が見ることのできる画像として出力する機器、例えばプリンタなどの出力機器においては、機構が簡単であることや制御の容易性から、インク等の色素を記録紙にドットとして付着させるか否かしか行わない、いわゆる2値記録が一般的である。
【0003】
このような2値記録の出力機器を使用して、8ビット濃淡階調で表された画像を記録する場合には、単に各画素の値を閾値で判断してインクを付着させるか否かを決定することになる。しかし、このように閾値で単純に2値化するだけでは、8ビット濃淡階調が持つ豊富な濃淡状態(1色なら256階調、3原色が各256階調ならば、約1670万色を表すことができる。)を表現することは不可能となる。そのため、このような2値記録の出力機器でも疑似的に濃淡状態を表現する方法が考えられている。すなわち、所定の面積の中で配置されるドット数によって濃淡を表現しようと言う面積階調の考え方である。
【0004】
この考え方を実現する方法としては種々の提案がなされている。例えば、誤差拡散法、乱数発生型ディザ法、組織的ディザ法等である。
【0005】
【発明が解決しようとする課題】
しかし、これらの方法には、次のような問題があった。
誤差拡散法は、誤差拡散あるいは誤差分配演算のために、2値化の処理が遅くなり、また2値化された画像に独特の紋様が発生し易かった。乱数発生型ディザ法は、ディザマトリックスを使用するために2値化処理自体は高速であるが、乱数を用いるため、画質が非常にノイジー、すなわち、多くのノイズが画像に満ちているような画質となると言う問題が有った。
【0006】
ディザマトリックスを用いる他の方法として、組織的ディザ法に属する渦巻型があるが、この渦巻型は、ドットが密集し易く、密集したものが大きなドットと認識されるので解像度が悪化し易かった。組織的ディザ法の内で、ベイヤー(Bayer)法があるが、このベイヤー(Bayer)法は、ドットが分散するので解像度は良いが、独特な紋様が発生し、暗部の階調性も悪いものであった。
【0007】
また、ディザマトリックスの大きさよりも広い画像を処理する場合には、図19に示すごとく、画像の部分部分を順次、ディザマトリックスの大きさの領域DM毎に2値化処理することになるが、この処理の境界近傍部分BD1,BD2,BD3,BD4で色むらや明暗むらが生じて、白線などの疑似的な境界線が現れてしまう場合があった。特に主走査方向の先端縁部の境界近傍部分BD1および主走査方向の後端縁部の境界近傍部分BD2においては疑似的な境界線が目立った。
【0008】
本発明は、ディザ法を用いても、ノイジーとならず、解像度が悪化せず、紋様の発生を抑制し、更にディザマトリックスにより処理された領域間に疑似的な境界線も生じないディザマトリックスを作成することおよび疑似的な境界線が現れにくい画像データ2値化方法の提供を目的とするものである。
【0009】
【課題を解決するための手段及び発明の効果】
本発明のディザマトリックス作成方法は、画素において表すことができる濃度範囲内に設定された所定範囲において離散的に設定された複数の濃度値の各々を、複数の均一濃度画素マトリックスの各々における全画素の濃度値として、均一濃度画素マトリックス毎に誤差拡散法にて濃度値をオン/オフのいずれかに2値化し、この2値化された均一濃度画素マトリックスの濃度値に基づいて、ディザマトリックスにおける各画素の閾値を設定している。
【0010】
このようにして閾値が設定されたディザマトリックスによって画像を2値化すると、人間の目に対してノイジーとならず、解像度が悪化せず、紋様の発生を抑制した2値化画像を生成することができる。
誤差拡散法により生じる2値の並びは、一見不規則に見えるけれども、まったくのでたらめではない。すなわち、紋様はできにくいがノイジーな画像にはなりにくい性質がある。このように本発明のディザマトリックス作成方法は、誤差拡散法により生じる2値の並びを利用することにより、ディザマトリックスにも誤差拡散法における2値の並びの性質を取り込んで作成されたものである。
【0011】
したがって、2値化の計算処理が高速に可能となるディザマトリックスにおいて、前述のごとく誤差拡散法により、不規則ではあるがまったくのでたらめではない適切な閾値の分布を形成しているので、人間の目に対してノイジーとならず、かつ解像度が悪化せず、更に、紋様の発生を抑制した2値化画像を生成することができたものと考えられる。
【0012】
更に、均一濃度画素マトリックスが、主走査方向の先端縁部の画素と後端縁部の画素とが連続した画素配置状態で2値化処理されている。ディザマトリックスで処理された領域の境界で色むらや明暗のむらが生じるのは、ディザマトリックスの左右の縁部(主走査方向の先端縁部および後端縁部)や上下の縁部(副走査方向の先端縁部および後端縁部)において縁部同士の連続性が無いからである。尚、本明細書では、主走査方向および副走査方向は誤差拡散による2値化処理の主走査方向および副走査方向を意味している。
【0013】
特に、上述のごとく誤差拡散法による2値化処理にてディザマトリックスを作成する場合には、誤差拡散法の2値化処理の主走査方向における縁部同士の誤差拡散処理の不連続性が色むらや明暗むらに大きく影響する。この問題を、本発明では、均一濃度画素マトリックスの主走査方向の先端縁部の画素と後端縁部の画素とを連続した画素配置状態で2値化処理することにより主走査方向における縁部同士の連続性を維持させている。その結果、得られたディザマトリックスは、画像データを2値化処理すると、領域の境界での色むらや明暗むらを生じること無く、疑似的な境界線の発生が無い。
【0014】
前記連続状態の一例として、均一濃度画素マトリックスの主走査方向の後端縁部の画素が、主走査方向の先端縁部の画素の内で副走査方向の次の画素ラインの画素へ連続した画素配置状態で2値化処理すると、すなわち、主走査方向の画素の配列が螺旋状にされた状態で2値化処理すると、後端縁部の画素から先端縁部の画素へと2値化処理が移行する場合に、同じ2値化誤差分配または2値化誤差拡散処理を行えば良いので、簡易な処理になると共に、2値化処理の連続性が、より良好となり一層疑似的な境界線の発生を抑制できる。
【0015】
また、2値化された均一濃度画素マトリックスの副走査方向における一部の特定領域の濃度値に応じて、ディザマトリックスにおける各画素の閾値を設定しても良い。この場合、特に、前記特定領域が、誤差拡散法の処理が開始された副走査方向における先頭画素ライン部分を含まないことにすると、誤差拡散の初期における誤差拡散あるいは誤差分配の歪みがディザマトリックスへ影響し難くなり、でき上がったディザマトリックスを使用して画像を2値化しても、ドットの偏りや紋様の発生を抑制することができる。更に、この場合、できるだけ前記歪みの影響を無くすためには、特定領域としては、先頭画素ライン部分から最も離れたラインである、誤差拡散法の処理が終了する副走査方向における最終画素ライン部分を含むようにすることが好ましい。
【0016】
尚、2値化の結果に基づくディザマトリックスの閾値の設定は、例えば、2値化された均一濃度画素マトリックスの濃度値を、均一濃度画素マトリックスのすべてについて同一位置の画素毎に集積し、この同一位置の画素毎の集積結果に基づいて行っても良い。
【0017】
更に、ディザマトリックスの副走査方向の先端縁部および後端縁部において縁部同士の連続性が無いために生じる疑似的な境界線の発生を抑制するには、例えば、上述のごとく形成したディザマトリックスを、更に、ディザマトリックスの主走査方向の先端縁部にて副走査方向に並んだ閾値要素列から後端縁部にて副走査方向に並んだ閾値要素列にかけて、各閾値要素列を副走査方向にずらすことにより、ディザマトリックスの副走査方向の先端縁部および後端縁部を前記主走査方向に対して不一致とさせたものとして形成しても良い。
【0018】
すなわち、ディザマトリックスの副走査方向の先端縁部および後端縁部を、主走査方向に直線状に配列されている状態から、斜めや凸凹に配列し直す。このように、ディザマトリックスの副走査方向の先端縁部および後端縁部を、主走査方向の直線以外の状態にすると、当然に疑似的な境界線は、主走査方向の直線以外の状態となるはずであるが、このようにすると、疑似的な境界線は目立たなくなる。すなわち、疑似的な境界線の発生を抑制できる。尚、ディザマトリックスの副走査方向の先端縁部および後端縁部を斜めにして、主走査方向に対して所定の角度を有する直線状とすれば、ディザマトリックスは平行四辺形に形成される。
【0019】
また、このようにディザマトリックス自体を変形しなくても、前述のように形成したディザマトリックスによる2値化処理時に、ディザマトリックスの主走査方向の先端縁部にて副走査方向に並んだ閾値要素列から後端縁部にて副走査方向に並んだ閾値要素列にかけて、ディザマトリックスの副走査方向の先端縁部および後端縁部が主走査方向に対して不一致となるように各閾値要素列を副走査方向にずらした閾値の配置に基づいて画像データの各画素の濃度値を2値化することによっても同様に副走査方向の先端縁部および後端縁部において発生する疑似的な境界を抑制できる。
【0020】
また、ある濃度値の均一濃度画素マトリックスの2値化処理を行う場合に、既に2値化された他の均一濃度画素マトリックスの2値化状態に応じて、各画素が2値化処理されることとしても良い。この「既に2値化された他の均一濃度画素マトリックスの2値化状態に応じてなされる2値化処理」とは、例えば、既に2値化された他の均一濃度画素マトリックスの内で、2値化処理しようとする均一濃度画素マトリックスに最も近い濃度値の均一濃度画素マトリックスの2値化状態に応じて2値化処理する手法が挙げられる。すなわち、均一濃度画素マトリックスの誤差拡散法による2値化処理がまったく独立に実行されるのではなく、既になされている他の濃度値の均一濃度画素マトリックスにおける2値化状態が反映される。
【0021】
この反映により、単に各均一濃度画素マトリックス独立に2値化している場合に比較して、各画素位置における集積状態が特定の値に偏ることが無く、各種の値に分散化する。したがって、このような集積状態に基づいて最終的に得られるディザマトリックスは、閾値の値が、所定範囲で適度に分散して分布するものとなる。
【0022】
更に具体的には、濃度値iを全画素の濃度値とする均一濃度画素マトリックスにてなされる誤差拡散法において、濃度値i未満で最も濃度値iに近い濃度値について既に2値化されて得られた最近下方2値化画素マトリックスにてオンとなっている画素位置と同じ画素位置は、必ずオンとして誤差拡散処理することにより2値化すれば、前述した効果を得ることができる。この場合、最初に、離散的に設定された複数の濃度値の内の最小値minを全画素の濃度値とする均一濃度画素マトリックスについて、誤差拡散法にて各画素の濃度値をオン/オフのいずれかに2値化し、その後、他の濃度を前記濃度値iとして2値化しても良い。
【0023】
また、濃度値iを全画素の濃度値とする均一濃度画素マトリックスにてなされる誤差拡散法において、濃度値iを越えていて最も濃度値iに近い濃度値について既に2値化されて得られた最近上方2値化画素マトリックスにてオフとなっている画素位置と同じ画素位置は、必ずオフとして誤差拡散処理することにより2値化すれば、前述した効果を得ることができる。この場合、最初に、離散的に設定された複数の濃度値の内の最大値maxを全画素の濃度値とする均一濃度画素マトリックスについて、誤差拡散法にて各画素の濃度値をオン/オフのいずれかに2値化し、その後、他の濃度値を前記濃度値iとして2値化しても良い。
【0024】
また、濃度値iを全画素の濃度値とする均一濃度画素マトリックスにてなされる誤差拡散法において、濃度値i未満で最も濃度値iに近い濃度値について既に2値化されて得られた最近下方2値化画素マトリックスにおいてオンおよび濃度値iを越えていて最も濃度値iに近い濃度値について既に2値化されて得られた最近上方2値化画素マトリックスにおいてもオンとなっている画素位置と同じ画素位置は必ずオンとし、前記最近下方2値化画素マトリックスにおいてオフおよび前記最近上方2値化画素マトリックスにおいてもオフとなっている画素位置と同じ画素位置は必ずオフとして誤差拡散処理することにより2値化しても良く、前述した効果を得ることができる。この場合、最初に、離散的に設定された複数の濃度値の内の最小値minおよび最大値maxを全画素の濃度値とする2つの均一濃度画素マトリックスについて、誤差拡散法にて各画素の濃度値をオン/オフのいずれかに2値化することが好ましい。
【0025】
また、前記濃度値iは、前記最近下方2値化画素マトリックスと前記最近上方2値化画素マトリックスとの各濃度値の中央の整数値に対応させること、あるいはほぼ中央の整数値に対応させることが、得られたディザマトリックスにて処理されて得られた疑似中間調画像の解像度の向上や紋様の抑制の上で好ましい。
【0026】
また、前記所定範囲は、画素において表すことができる濃度範囲に等しいこととしても良い。この場合、前記所定範囲は例えば0〜255の範囲が挙げられる。これは、特に2値化処理対象の画像を構成するデータが8ビットの濃淡階調で表現されている場合に好ましい。
【0027】
また、前述した効果を一層向上させるためには、前記所定範囲に離散的に設定された複数の濃度値が、その最小値minから最大値maxまで1づつ変化させて設定したmax−min+1個の値であることが好ましい。
前記同一位置の画素毎の集積結果としては、例えば、同一位置の画素における2値化された濃度値の内の一方の値の個数であって、この個数に応じてディザマトリックスの各画素の閾値を設定することができる。例えば、2値が「1」(オン)と「0」(オフ)とで表されているとすると、2値化した複数の均一濃度画素マトリックスの同一位置に存在する「1」(オン)をカウントし、そのカウント値を、そのまま、あるいは係数をかけてディザマトリックスの同一位置における閾値として設定しても良い。またカウント値からテーブルに基づいて閾値を設定しても良い。「1」(オン)の代りに「0」(オフ)をカウントしても良い。
【0028】
また、閾値の設定は、上述の方法以外に、離散的に設定された複数の濃度値の内の最小値minの均一濃度画素マトリックスから最大値maxの均一濃度画素マトリックスまで見た場合に、2値化された均一濃度画素マトリックスに最初に「1」(オン)となって現れる画素位置に対して、最初に「1」(オン)となった均一濃度画素マトリックスの濃度値に応じて閾値が設定されることとしても良い。例えば、各画素位置を濃度値の小さい方から順次チェックして、「1」(オン)が最初に現れた均一濃度画素マトリックスの濃度値をそのまま閾値として設定しても良い。またこの濃度値に所定の係数をかけて閾値として設定しても良い。
【0029】
また、閾値の設定は、離散的に設定された複数の濃度値の内の最大値maxの均一濃度画素マトリックスから最小値minの均一濃度画素マトリックスまで見た場合に、2値化された均一濃度画素マトリックスに最初に「0」(オフ)となって現れる画素位置に対して、最初に「0」(オフ)となった均一濃度画素マトリックスの濃度値に応じて閾値が設定されることとしても良い。例えば、各画素位置を濃度値の大きい方から順次チェックして、「0」(オフ)が最初に現れた均一濃度画素マトリックスの濃度値をそのまま閾値として設定しても良い。またこの濃度値に所定の係数をかけて閾値として設定しても良い。
【0030】
【発明の実施の形態】
[実施の形態1]
図1は、ディザマトリックス作成装置2の主要ブロック図である。
このディザマトリックス作成装置2の主体を成すマイクロコンピュータ部11はCPU12、ROMからなるプログラムメモリ13、RAMからなるワーキングメモリ14、RAMからなるディザマトリックス格納メモリ16およびRAMからなる出力イメージメモリ17により構成されている。また、マイクロコンピュータ部11にはシステムバス18を介して入力部10および出力部19が接続されている。
【0031】
入力部10は、キーボードや外部の記憶装置から入力するためのインターフェースを備え、ディザマトリックス作成に必要なデータや指示の入力を行うものである。また、入力部10は、作成されたディザマトリックスの効果を確認するために、各画素が8ビットで表される階調を有する画像データを入力する。
【0032】
CPU12は、後述するごとくディザマトリックスの作成を実行するものであり、プログラムメモリ13は、このCPU12で行う様々な制御を実施するためのプログラムを記憶している。また、ワーキングメモリ14は、CPU12がプログラムメモリ13に記憶されたプログラムを実行するときに必要なデータを一時的に記憶するものである。
【0033】
ディザマトリックス格納メモリ16は、CPU12の処理によって形成されたディザマトリックスデータを記憶する。
出力イメージメモリ17は、CPU12が、ディザマトリックス格納メモリ16に格納されているディザマトリックスを用いて、8ビットで表される階調を有する画像データを2値化した、その2値化された出力イメージデータを記憶する。
【0034】
出力部19は、出力イメージメモリ17に格納した2値化画像データを電子写真方式によりドットの有無で印字する装置である。
次に、ディザマトリックス作成装置2により実行されるディザマトリックス作成処理について説明する。ディザマトリックス作成処理のフローチャートを図2以下に示す。
【0035】
まず、全画素が濃度値i=0である均一濃度画素マトリックスと、全画素が濃度値i=255である均一濃度画素マトリックスとを誤差拡散法により2値化する(S100)。この均一濃度画素マトリックスは、図4に示すごとく、i=0,255の2種類の均一濃度画素マトリックスD0,D255をワーキングメモリ14に読み込んで用いれば良い。そして、その2値化画素マトリックスF0,F255(図5)をワーキングメモリ14に保存する(S200)。ただし、ステップS100にて行われる濃度値i=0,255の均一濃度画素マトリックスの誤差拡散法による2値化結果は、i=0の場合は全画素「0」(オフ)、i=255の場合は全画素「1」(オン)となるので、特に誤差拡散法による計算はせずに、予め全画素がオフの2値化画素マトリックスと全画素がオンの2値化画素マトリックスとを備えておいて、これらのマトリックスを用いても良い。
【0036】
次に、均一濃度画素マトリックスの処理順序を決定するために、1〜254の濃度値について濃度値配列の作成を行う(S300)。濃度値の配列は、既に2値化処理された濃度値の中央の濃度値が2値化処理対象の濃度値iに設定されるように作成される。すなわち、配列の先頭は「0」と「255」の中央の整数値である「128」(もう一つの中央の整数値の「127」でも良い。)、次が、「0」と「128」との中央の「64」、「128」と「255」との中央の「192」(もう一つの中央の整数値の「191」でも良い。)、次が「0」と「64」との中央の「32」、「64」と「128」との中央の「96」、「128」と「192」との中央の「160」、「192」と「255」との中央の「224」(もう一つの中央の整数値の「223」でも良い。)と言うように、前に得られている値の中央の整数値を求めて、「1」〜「254」までの濃度値の配列「128,64,192,32,96,160,224,……」を作成する。この配列は予め計算して配列データとして記憶しておき、本処理時に配列データのみ読み込んで用いても良い。
【0037】
次にその配列の先頭から順次、一つづつ濃度値iに読み込んで(S400)、2値化処理(S500)の処理を行う。
ステップS500の2値化処理の詳細を図3のフローチャートに示す。
まず、配列の最初の濃度値i=128の均一濃度画素マトリックスを2値化処理対象とし、まず、2値化済みの濃度値、すなわち既に2値化画素マトリックスが求められている濃度値の内で、濃度値i=128に対する最近上方2値化画素マトリックスHと、最近下方2値化画素マトリックスLとをワーキングメモリ14の内容から検索する(S521)。配列の最初の濃度値i=128の場合は、既にステップS100にて2値化されている濃度値i=255の均一濃度画素マトリックスが最近上方2値化画素マトリックスHに該当し、濃度値i=0の均一濃度画素マトリックスが最近下方2値化画素マトリックスLに該当する。
【0038】
次に、ワーキングメモリ14内に設定した誤差バッファを初期化する(S522)。
次に、濃度値iの均一濃度画素マトリックスの画素位置(x,y)の濃度値Ixyを読み取る(S523)。最初の画素位置は均一濃度画素マトリックスの左上隅の原点(0,0)であり、各均一濃度画素マトリックスのサイズがm×n画素であるとすると、以後ステップS523が処理される毎に、主走査方向(x方向)へ順次移動し、x=m−1の次には、副走査方向(y方向)の次の画素ラインに移動してx=0から主走査方向へ順次移動して行くように画素位置(x,y)が指定される。
【0039】
尚、この画素位置(x,y)の濃度値Ixyは濃度値iの均一濃度画素マトリックスの全ての画素において濃度値iと同じ値であるので、特に濃度値iの均一濃度画素マトリックスから読み取らなくても、単にIxyにiを設定するのみでも良い。
【0040】
次に、式1のごとく、濃度値iが周辺画素の2値化誤差和Eにて補正されて補正濃度値I′xyが算出される(S524)。
【0041】
【数1】

Figure 0003711615
【0042】
2値化誤差和Eは、式2のごとく、係数マトリックスαと周辺画素の2値化誤差eとに基づいて計算される。
【0043】
【数2】
Figure 0003711615
【0044】
係数マトリックスαは、本実施の形態1では、次のようなマトリックスが用いられている。αpqは係数マトリックスαの位置(p,q)の係数を表している。またeabは周辺画素の2値化誤差を表している。
【0045】
【数3】
Figure 0003711615
【0046】
ここで、*は注目画素の位置を表している。
ただし、a,bは次式のようにして設定される。
【0047】
【数4】
Figure 0003711615
【0048】
ここで、%はmで割り算した場合の余りを求める演算子、mは均一濃度画素マトリックスの主走査方向のサイズ、int{}は{}内の値の整数部分のみを取り出す演算子である。
また、p,qは、注目画素*を原点とする係数マトリックスα上の座標位置を示し、pは横軸座標、qは縦軸座標である。ここで、−2≦q≦0であり、q=0のとき−2≦p≦−1、q=−1,−2のとき−2≦p≦2である。
【0049】
上述したa,bの設定は、図6に模式的に示すごとく、均一濃度画素マトリックスを主走査方向xの先端縁部AEと後端縁部BEとを、後端縁部BEの画素が、主走査方向xの先端縁部AEの画素の内で副走査方向yの次の画素ラインの画素へ螺旋状に連続した画素配置状態で誤差分配されることを表している。
【0050】
すなわち、図7に示すごとく通常の座標で表すと、画素位置P0(m−3,k+1)が注目画素であった場合、係数マトリックスαの分配係数が適用される画素は、前記式3,4から、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値化誤差の分配を受ける。
【0051】
次の注目画素の画素位置P1(m−2,k+1)では、係数マトリックスαの分配係数が適用される画素は、図8に示すごとく、前記式3,4から、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値化誤差の分配を受ける。
【0052】
以後同様に、次の注目画素の画素位置P2(m−1,k+1)では、係数マトリックスαの分配係数が適用される画素は、図9に斜線で示すごとく、前記式3,4から、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値化誤差の分配を受ける。
【0053】
先端縁部AEに戻った次の注目画素の画素位置P3(0,k+2)では、係数マトリックスαの分配係数が適用される画素は、図10に斜線で示すごとく、前記式3,4から、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値化誤差の分配を受ける。
【0054】
次の注目画素の画素位置P4(1,k+2)では、係数マトリックスαの分配係数が適用される画素は、図11に斜線で示すごとく、前記式3,4から、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値化誤差の分配を受ける。
【0055】
次の注目画素の画素位置P5(2,k+2)では、係数マトリックスαの分配係数が適用される画素は、図12に斜線で示すごとく、前記式3,4から、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値化誤差の分配を受ける。
【0056】
このようにして、均一濃度画素マトリックスの主走査方向xの後端縁部BEが誤差拡散処理において先端縁部AE側へ螺旋状に連続する誤差分配がなされる。このことは、誤差拡散処理による2値化が、均一濃度画素マトリックスの主走査方向xの後端縁部BEと先端縁部AEとが螺旋状に連続してなされていることを意味する。
【0057】
このようにして2値化誤差和Eの補正により求められた補正濃度値I′xyは、次の条件▲1▼▲2▼のいずれかに合致しないものが、閾値t(本実施の形態1では例えばt=128)と比較されて、I′xy >tならば、注目画素をオン(「1」)に2値化し、I′xy ≦tならば、注目画素をオフ(「0」)に2値化され、条件▲1▼▲2▼のいずれかに合致するものは、その合致した条件にしたがって2値化される(S525)。
【0058】
条件▲1▼: 最近上方2値化画素マトリックスHと最近下方2値化画素マトリックスLとの両者にて共に「1」オンが配置されている画素位置。この画素位置は、必ず「1」オンとする。
条件▲2▼: 最近上方2値化画素マトリックスHと最近下方2値化画素マトリックスLとの両者にて共に「0」オフが配置されている画素位置。この画素位置は、必ず「0」オフとする。
【0059】
すなわち、通常、誤差拡散法においては、周辺の画素から分配された誤差Eと注目画素の濃度値Ixyとを合計した値を、閾値と比較して、閾値以上であれば「1」オン、閾値未満であれば「0」オフに2値化しているが、前記▲1▼または▲2▼の条件に該当する画素の場合には、その画素については閾値との比較をせずに、前記▲1▼または▲2▼の条件通りに、「1」オンまたは「0」オフに設定する。尚、条件▲1▼▲2▼は、「最近上方2値化画素マトリックスHの画素値=最近下方2値化画素マトリックスLの画素値であるならば、最近上方2値化画素マトリックスHまたは最近下方2値化画素マトリックスLのいずれかの画素値に設定する」と表現することもできる。
【0060】
次いで注目画素をオンに2値化した場合、次式の計算により、注目画素の2値化誤差exyが求められ、この2値化誤差exyが誤差バッファに記憶される(S526)。
【0061】
【数5】
Figure 0003711615
【0062】
また、注目画素をオフに2値化した場合には、次式のごとく、注目画素の2値化誤差eにI′xyが設定される。
【0063】
【数6】
Figure 0003711615
【0064】
前記条件▲1▼▲2▼により、図13(a)に示すごとく、各画素位置において、濃度値の小さい方から見ると、一旦、オンとなると、以後の濃度値iおいては必ずオンとなる。
次に、一つの均一濃度画素マトリックスについて全ての画素の2値化処理が終了したか否かが判定され(S527)、終了していなければ(S527で「NO」)、次の画素位置を設定して(S528)、ステップS523の処理に戻る。
【0065】
全ての画素の2値化が終了すれば(S527で「YES」)、ステップS500の処理を終了して、図2に示すごとく、濃度値の配列が終了したか否かを判定し(S600)、終了していなければ(S600で「NO」)、配列中の次の濃度値を濃度値iに設定し(S400)、この濃度値iに基づいて、ステップS500の2値化処理を繰り返す。
【0066】
配列の最後の濃度値について、その均一濃度画素マトリックスの2値化処理(S500)が終了する(S600で「YES」)と図5に示すごとく、ワーキングメモリ14内には、濃度値i=0〜255の256個の2値化画素マトリックスF0〜F255が形成されている。
【0067】
次に、全ての2値化画素マトリックスについて、同一位置の画素の内、オンに2値化されている数をカウントし、このカウント値を要素とする集積結果マトリックスM1を形成する(S700)。
すなわち、図5に示すごとく、左上隅を原点(0,0)として横方向をx軸、縦方向をy軸とすると、まず、全ての2値化画素マトリックスF0〜F255の(0,0)について、オンとなった画素をカウントする。そのカウント結果を、図14に示すごとくワーキングメモリ14内に用意された集積結果マトリックスM1の同一位置(0,0)に格納する。このカウント処理を各画素位置について行い、集積結果マトリックスM1をすべて埋める。このカウント処理は、各画素がオンの場合は「1」に、オフの場合は「0」に2値化されているので、同一位置の画素における数値を合計して求めても良い。
【0068】
次に、集積結果マトリックスM1のカウント値の低い画素位置から、順にディザマトリックス用の閾値を設定し(S800)、その閾値からなるマトリックスをディザマトリックスとして、ディザマトリックス格納メモリ16に保存する(S900)。
【0069】
この閾値の設定の方法としては、カウント値そのものを閾値として設定しても良い。この場合はステップS700のカウント処理がディザマトリックスの閾値設定の処理に該当するので、ステップS800では特に処理は行わない。そして、集積結果マトリックスM1そのものをディザマトリックスとして、ディザマトリックス格納メモリ16に保存する(S900)。
【0070】
ステップS800にては、単に集積結果マトリックスM1の各カウント値自体をそのまま閾値とする代りに、予め用意されたカウント値と閾値とのテーブルに応じて、集積結果マトリックスM1の各カウント値を閾値に変換しても良い。
また、ステップS800にては、カウント値の低い順番から、閾値を「0,1,2,…」と設定して行っても良いし、逆にカウント値の高い順番から、閾値を「255,254,253,…」と設定して行っても良い。この場合、同一のカウント値が2つ以上存在する場合は、それらはすべて同一の閾値が与えられるものとしても良いし、同一のカウント値を順番付けして、異なるカウント値と同様に閾値を設定しても良い。
【0071】
このようにして形成されたディザマトリックスを用いて、中間調のカラー画像を2値化処理し、カラープリンタにて記録したところ、人間の目に対してノイジーとならず、かつ解像度が悪化せず、紋様の発生が抑制された疑似中間調の2値化画像を生成することができた。勿論、ディザ法であり、誤差拡散法のように多数の計算は行わないので、迅速に処理できた。
【0072】
更に、誤差拡散法による2値化処理にてディザマトリックスを作成する場合に、誤差拡散法の2値化処理において、均一濃度画素マトリックスの主走査方向xの先端縁部AEの画素と後端縁部BEの画素とを連続した画素配置状態で2値化処理することにより主走査方向xにおける縁部AE,BE同士の連続性を維持させている。その結果、得られたディザマトリックスにて、画像データを2値化処理すると、領域の境界での色むらや明暗むらを生じること無く、疑似的な境界線の発生が無い。
【0073】
特に、本実施の形態では、均一濃度画素マトリックスの主走査方向xの後端縁部BEの画素が、主走査方向xの先端縁部AEの画素の内で副走査方向yの次の画素ラインの画素へ連続した画素配置状態で2値化処理すると、すなわち、主走査方向xの画素の配列が螺旋状にされた状態で2値化処理すると、後端縁部BEの画素から先端縁部AEの画素へと2値化処理が移行する場合にも、同一の係数マトリックスαを用いて同じ2値化誤差分配処理を行えば良いので、簡易な処理になると共に、2値化処理の連続性が、より良好となり一層疑似的な境界線の発生を抑制できる。
【0074】
更に、本実施の形態では、ステップS520における2値化において、前記▲1▼▲2▼の条件を用いて、既に2値化されている前後の均一濃度画素マトリックスの2値化状態を考慮した2値化が行われている。
もし、前記▲1▼▲2▼の条件を用いない通常の2値化を行うと、図13(b)に示すごとく、オンとなった後も同じ画素位置でオフが出現する。このため、通常の2値化のみでは各画素位置におけるオンの数が、0〜255内の特定の値に偏る傾向が有るが、本実施の形態では、0〜255の範囲の各種の値に分散して好適な分布となる。したがって、このようにして得られるディザマトリックスは、閾値の値も0〜255の範囲に適度に分散して分布するものとなる。このため、特に、図13(b)に示したごとくの各均一濃度画素マトリックス独立に2値化している場合に得られるディザマトリックスに比較して、図13(a)のごとくに得られたディザマトリックスは、画像データの2値化において、一層、解像度が向上し、紋様の抑制が行われる。
【0075】
[実施の形態2]
実施の形態2として、中央の値を計算で求める例を図15に示す。この処理は、図2におけるステップS300〜S600の代りに実行される。本処理において、最初は8つの変数I0 〜I7 を「0」で初期化し(S1010〜S1080)、次にI0 〜I7 までを合計して、濃度値iに設定する(S1090)。この濃度値iが「0」であれば、I7 を「128」増加させ(S1120)、次にI7 >128ではないので(S1130で「NO」)、ステップS1090の合計処理で濃度値iに「128」が設定され、i=0でなく(S1100で「NO」)、i=255でもないので(S1110で「NO」)、ステップS500の処理(図2の処理と同じ)がなされる。
次にステップS1120の処理にてI7 =256となり、ステップS1130にて「YES」と判定されて、I6 が「64」増加され(S1140)、I6 =64となり、I6 >64ではないので(S1150で「NO」)、ステップS1080にてI7 =0に初期化され、ステップS1090ではi=64となる。したがって、ステップS1100,S1110からステップS500に移って、濃度値i=64の均一濃度画素マトリックスについて2値化処理がなされる。
【0076】
次に、ステップS1120にてI7 =128となり、ステップS1130にて「NO」と判定されて、ステップS1090では、I0 〜I5 =0、I6 =64、I7 =128であることから、i=192となり、ステップS1100,S1110の後、ステップS500で濃度値i=192の均一濃度画素マトリックスについて2値化がなされる。
【0077】
次にI0 〜I5 =0、I6 =64、I7 =128であることから、ステップS1120からステップS1160まで進み、ステップS1160でI5 =32となる。I5 >32ではないので(S1170で「NO」)、ステップS1070,S1080が処理されて、I0 〜I4 =0、I5 =32、I6 =0、I7 =0となる。したがって、ステップS1090ではi=32となり、ステップS500では濃度値i=32の均一濃度画素マトリックスが2値化される。
【0078】
次にI7 =0となったので、ステップS1120,S1130を経て、ステップS1090に戻る。このとき、I0 〜I4 =0、I5 =32、I6 =0、I7 =128となる。したがって、ステップS1090ではi=160となり、ステップS500では濃度値i=160の均一濃度画素マトリックスが2値化される。
【0079】
次に、ステップS1120〜S1150,S1080が処理されて、I0 〜I4 =0、I5 =32、I6 =64、I7 =0となる。したがって、ステップS1090ではi=96となり、ステップS500では濃度値i=96の均一濃度画素マトリックスが2値化される。
【0080】
以後、I0 〜I7 の値に応じて、ステップS1020〜S1080,S1120〜S1260のいずれかの処理により、順次、濃度値iに、224、16,144,80,…,127が設定されて、濃度値iの均一濃度画素マトリックスの2値化と保存が行われ、最後に、I0 =1、I1 =2、I2 =4、I3 =8、I4 =16、I5 =32、I6 =64、I7 =128となる。このとき、ステップS1090にて濃度値i=255が設定されるので、ステップS1110にて「YES」と判定されて、ステップS700の処理に移る。このようにして、計算にても中央の値をたどって、均一濃度画素マトリックスの2値化を行うことができる。
【0081】
[実施の形態3]
本実施の形態は、図14に示した実施の形態1または2にて形成されたディザマトリックスを、更に、ディザマトリックスの主走査方向xの先端縁部AEにて副走査方向yに並んだ閾値要素列「1,19,251,…」から後端縁部BEにて副走査方向yに並んだ閾値要素列「31,157,44,…」にかけて、各閾値要素列を副走査方向yにずらすことにより、図16に示すごとく、副走査方向yの先端縁部UTおよび後端縁部DTを主走査方向xに対して不一致とさせたディザマトリックスM2として形成している。
【0082】
本実施の形態の場合は、ディザマトリックスM2の副走査方向yの先端縁部UTおよび後端縁部DTを斜めにして、主走査方向xに対して所定の角度θを有する直線状としているので、ディザマトリックスM2全体は、平行四辺形に形成されている。
【0083】
このように形成されたディザマトリックスM2を用いてなされる2値化は、図17に示すごとくに、ディザマトリックスM2の大きさの領域EM毎に2値化処理することになる。しかし、斜めの境界部分BTで色むらや明暗むらが生じたとしても、そのことにより生じる疑似的な境界線は斜めの状態、すなわち主走査方向xの直線以外の状態となる。このような方法で2値化処理し、カラープリンタにて記録して見たところ、疑似的な境界線は目立たなくなった。すなわち、疑似的な境界線の発生を抑制できる。主走査方向xの境界部分ATについては、前記実施の形態1,2と同様に、色むらや明暗むらを生じること無く、疑似的な境界線の発生は無い。
【0084】
尚、本実施の形態では、副走査方向yの先端縁部UTおよび後端縁部DTは、主走査方向xに対して所定の角度θを有する直線状としているが、波を打つように凸凹に形成しても良い。またV字形あるいは逆V字形にしても良い。すなわち、ディザマトリックスの副走査方向yの先端縁部および後端縁部を、主走査方向xに直線状に配列されている状態から、斜めや凸凹に配列し直せば、疑似的な境界線は目立たなくなる。すなわち、疑似的な境界線の発生を抑制できる。
【0085】
[その他]
前記各実施の形態では、2値化対象の均一濃度画素マトリックスと作成されるディザマトリックスとの大きさは同じで有ったが、特に、均一濃度画素マトリックスは、作成しようとするディザマトリックスよりも、副走査方向yにおいて大きいマトリックスを用いても良い。
【0086】
例えば、図7〜図12に示すごとく、均一濃度画素マトリックスの2値化結果の内で、太い実線で囲った特定領域A[m×(n−k)]の結果を用いてディザマトリックスを形成しても良い。
すなわち、この特定領域Aの2値化値のカウント処理を行って、集積結果マトリックスM1を形成する。また、この特定領域Aは、全ての均一濃度画素マトリックスD0〜D255において同一の位置に存在しても良いし、異なる位置に存在しても良い。
【0087】
更に、この特定領域Aは、誤差拡散処理における先頭画素ライン部分(図示していない)は含まず、最終画素ライン(y=n−1)部分を含んでいる。これは、先頭画素ライン部分では、その前のラインが存在しないため2値化誤差の拡散において、後方のラインと比較して2値化誤差の分配に歪みを生じており、ドットの集中や特定のパターンが生じ易いからであり、この2値化誤差拡散の歪みの影響は先頭画素ラインから後方に離れるに従って少なくなり、最終画素ライン部分では最も影響が少ないからである。
【0088】
また、濃度値iに応じて、先頭画素ライン部分で生じている誤差拡散の歪みが後方へ影響する程度が異なるため、全ての均一濃度画素マトリックスの2値化において誤差拡散の歪みの影響を無くすため、均一濃度画素マトリックスの大きさを濃度値iの値に応じて調整しても良い。
【0089】
前記各実施例では、均一濃度画素マトリックスの濃度値を中央値を順次選んで2値化処理していたが、濃度値i=0〜255を昇順あるいは降順に処理しても良い。この場合、ステップS525のごとく、条件▲1▼▲2▼を用いて最近上方2値化画素マトリックスHと最近下方2値化画素マトリックスLとの2値化状態を考慮した2値化を行っても良いし、条件▲1▼▲2▼を用いない個々の均一濃度画素マトリックス単独に2値化を行っても良い。
【0090】
前記各実施の形態では、中央の整数値をたどって2値化処理したが、完全に中央の整数値でなくても、1:2の位置、1:3の位置、2:1の位置、3:1の位置といったように、2値化済みの2つの濃度値の中間の値では有るが、小側あるいは大側に偏った整数値をたどって2値化処理しても良い。
【0091】
前記各実施の形態において、前記カウント値もそのまま集積結果マトリックスM1として用いるのではなく、所定の係数をかけても良い。また、濃度値iの均一濃度画素マトリックスの2値化値Iixy に対して次式のごとく濃度値i毎に異なる係数k(i) を設定して、全ての均一濃度画素マトリックスの合計値Cxyを求めることにより、集積結果マトリックスM1を作成しても良い。
【0092】
【数7】
Figure 0003711615
【0093】
尚、ここで、x,yは均一濃度画素マトリックスあるいは集積結果マトリックスM1上の画素位置を表す。
均一濃度画素マトリックスの2値化は、オン(「1」)またはオフ(「0」)への2値化であったが、いかなる値の2値化でも良く、いずれか一方の値の個数をカウントして、集積結果マトリックスM1を形成し、この集積結果マトリックスM1をディザマトリックスに変換すれば良い。また、上述したような個数のカウントではなく、2値化値の合計であっても良い。
【0094】
前記各実施の形態における2値化は、2値化時に周辺画素から2値化誤差の分配を受けるタイプの誤差拡散法、いわゆる平均誤差最小法であったが、注目画素を2値化した場合に2値化の誤差を未だ2値化していない周辺の画素の濃度に分配する方法による誤差拡散法であっても良い。
【0095】
前記実施の形態3において、変形したディザマトリックスM2を用いていたが、ディザマトリックス自体を変形しなくても、前記実施の形態1,2のように形成したディザマトリックスによる2値化処理時に、ディザマトリックスの主走査方向xの先端縁部AEにて副走査方向yに並んだ閾値要素列から後端縁部BEにて副走査方向yに並んだ閾値要素列にかけて、ディザマトリックスの副走査方向yの先端縁部UEおよび後端縁部DEが主走査方向xに対して不一致となるように各閾値要素列を副走査方向yにずらした閾値の配置に基づいて画像データの各画素の濃度値を2値化することによっても同様に疑似的な境界を抑制できる。
【0096】
また、前記実施の形態3のように変形したディザマトリックスM2を更に、図18に示すごとく、図16にて、元の位置より副走査方向yにずれてはみ出した分Zを、同じ閾値要素列の上部に移動させることにより、平行四辺形から元の形と同じ矩形に戻したディザマトリックスM3としても良い。このようにすると、実施の形態3と同じ効果が得られると共に、ディザマトリックスM3が矩形であるので、通常、矩形である画像データに適用し易いので、画像の2値化処理が容易となる。
【図面の簡単な説明】
【図1】 実施の形態1のディザマトリックス作成装置の主要ブロック図である。
【図2】 実施の形態1のディザマトリックス作成処理のフローチャートである。
【図3】 実施の形態1の2値化処理のフローチャートである。
【図4】 実施の形態1の均一濃度値画像データを示す説明図である。
【図5】 実施の形態1の均一濃度値画像データを2値化した状態を示す説明図である。
【図6】 実施の形態1の2値化処理の連続性説明図である。
【図7】 実施の形態1の誤差分配説明図である。
【図8】 実施の形態1の誤差分配説明図である。
【図9】 実施の形態1の誤差分配説明図である。
【図10】 実施の形態1の誤差分配説明図である。
【図11】 実施の形態1の誤差分配説明図である。
【図12】 実施の形態1の誤差分配説明図である。
【図13】 実施の形態1の各画素位置のオン・オフ設定状態の説明図である。
【図14】 実施の形態1の集積結果マトリックスの説明図である。
【図15】 実施の形態2の均一濃度画素マトリックスの処理順序を決定する方法を示すフローチャートである。
【図16】 実施の形態3のディザマトリックスの説明図である。
【図17】 実施の形態3のディザマトリックスの適用説明図である。
【図18】 実施の形態3のディザマトリックスの変形例説明図である。
【図19】 従来例を示す説明図である。
【符号の説明】
2…ディザマトリックス作成装置 10…入力部
11…マイクロコンピュータ部 12…CPU
13…プログラムメモリ 14…ワーキングメモリ
16…ディザマトリックス格納メモリ
17…出力イメージメモリ 18…システムバス
19…出力部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a dither matrix creation method and image data binarization method for binarizing a multilevel image.
[0002]
[Prior art]
The data constituting the image is usually expressed in shades of about 8 bits. However, in a device that outputs this image data as an image that can be seen by a person, for example, an output device such as a printer, a dye such as ink is used as dots on recording paper because of its simple mechanism and ease of control. So-called binary recording, in which only the attachment is performed, is common.
[0003]
When using such a binary recording output device to record an image expressed in 8-bit grayscale, whether or not to apply ink by simply determining the value of each pixel based on a threshold value. Will be determined. However, by simply binarizing with the threshold value in this way, the rich shade state possessed by the 8-bit shade gradation (256 gradations for one color and 256 gradations for each of the three primary colors, approximately 16.7 million colors) can be obtained. It is impossible to express. Therefore, a method of expressing a shaded state in a pseudo manner with such a binary recording output device has been considered. In other words, this is the concept of area gradation in which shading is expressed by the number of dots arranged in a predetermined area.
[0004]
Various proposals have been made as methods for realizing this concept. For example, an error diffusion method, a random number generation type dither method, a systematic dither method, or the like.
[0005]
[Problems to be solved by the invention]
However, these methods have the following problems.
In the error diffusion method, binarization processing is slow due to error diffusion or error distribution calculation, and a unique pattern is easily generated in the binarized image. The random number generation type dither method uses a dither matrix, so the binarization process itself is fast. However, since the random number is used, the image quality is very noisy, that is, the image quality is such that a lot of noise fills the image. There was a problem to say.
[0006]
As another method using the dither matrix, there is a spiral type belonging to the systematic dither method. However, this spiral type easily collects dots, and the dense one is recognized as a large dot, so the resolution is easily deteriorated. Among the systematic dither methods, there is a Bayer method, but this Bayer method has good resolution because dots are dispersed, but a unique pattern is generated, and the gradation of dark parts is also poor. Met.
[0007]
When processing an image wider than the size of the dither matrix, as shown in FIG. 19, the partial portions of the image are sequentially binarized for each region DM having the size of the dither matrix. In some cases, color unevenness and light / darkness unevenness occur in the vicinity portions BD1, BD2, BD3, and BD4 of this processing, and a pseudo boundary line such as a white line appears. In particular, a pseudo boundary line is conspicuous in the boundary vicinity portion BD1 of the front end edge portion in the main scanning direction and the boundary vicinity portion BD2 of the rear end edge portion in the main scanning direction.
[0008]
The present invention provides a dither matrix that does not become noisy even when the dither method is used, the resolution does not deteriorate, the generation of a pattern is suppressed, and a pseudo boundary line does not occur between regions processed by the dither matrix. The object of the present invention is to provide an image data binarization method that makes it difficult to create a pseudo boundary line.
[0009]
[Means for Solving the Problems and Effects of the Invention]
In the dither matrix creation method of the present invention, each of a plurality of density values discretely set in a predetermined range set within a density range that can be represented by a pixel is converted into all pixels in each of a plurality of uniform density pixel matrices. For each uniform density pixel matrix, the density value is binarized to either ON / OFF by the error diffusion method, and the dither matrix is based on the binarized density value of the uniform density pixel matrix. A threshold value for each pixel is set.
[0010]
When the image is binarized by the dither matrix having the threshold value set in this way, a binarized image is generated which is not noisy to human eyes, does not deteriorate in resolution, and suppresses generation of a pattern. Can do.
The binary sequence produced by the error diffusion method looks irregular at first glance, but is not at all random. That is, there is a property that it is difficult to form a pattern, but it is difficult to form a noisy image. As described above, the dither matrix creation method of the present invention is created by incorporating the characteristics of the binary sequence in the error diffusion method into the dither matrix by using the binary sequence generated by the error diffusion method. .
[0011]
Therefore, in the dither matrix that enables the binarization calculation processing at high speed, an appropriate threshold value distribution that is irregular but not random is formed by the error diffusion method as described above. It is considered that a binarized image that is not noisy to the eyes, does not deteriorate in resolution, and further suppresses the generation of patterns can be generated.
[0012]
Further, the uniform density pixel matrix is binarized in a pixel arrangement state in which the pixels at the leading edge and the trailing edge in the main scanning direction are continuous. The unevenness of color and light / darkness occurs at the boundary of the area processed by the dither matrix because the left and right edges (leading edge and trailing edge in the main scanning direction) and the upper and lower edges (sub-scanning direction) of the dither matrix This is because there is no continuity between the edges at the front edge and the rear edge). In the present specification, the main scanning direction and the sub-scanning direction mean the main scanning direction and the sub-scanning direction of binarization processing by error diffusion.
[0013]
In particular, when the dither matrix is created by the binarization processing by the error diffusion method as described above, the discontinuity of the error diffusion processing between edges in the main scanning direction of the binarization processing by the error diffusion method is color. It greatly affects unevenness of light and darkness. In the present invention, this problem is solved by binarizing the pixels at the leading edge and the trailing edge in the main scanning direction of the uniform density pixel matrix in a continuous pixel arrangement state, thereby providing an edge in the main scanning direction. The continuity between them is maintained. As a result, when the obtained dither matrix is subjected to binarization processing on the image data, there is no color irregularity or light / dark irregularity at the boundary of the region, and no pseudo boundary line is generated.
[0014]
As an example of the continuous state, the pixels at the rear end edge in the main scanning direction of the uniform density pixel matrix are continuous to the pixels on the next pixel line in the sub scanning direction among the pixels at the front end edge in the main scanning direction. When the binarization process is performed in the arrangement state, that is, when the binarization process is performed in a state where the pixel arrangement in the main scanning direction is spiraled, the binarization process is performed from the rear edge pixel to the front edge pixel. Since the same binarization error distribution or binarization error diffusion process may be performed in the case of transition, the simple process and the continuity of the binarization process become better, and a more pseudo boundary line is obtained. Can be suppressed.
[0015]
Further, the threshold value of each pixel in the dither matrix may be set according to the density value of a part of a specific area in the sub-scanning direction of the binarized uniform density pixel matrix. In this case, in particular, if the specific area does not include the first pixel line portion in the sub-scanning direction where the error diffusion method has been started, error diffusion or error distribution distortion in the initial stage of error diffusion is applied to the dither matrix. Even if the image is binarized using the completed dither matrix, it is possible to suppress the deviation of dots and the generation of patterns. Furthermore, in this case, in order to eliminate the influence of the distortion as much as possible, the specific pixel is a final pixel line portion in the sub-scanning direction in which the error diffusion method processing is completed, which is a line farthest from the top pixel line portion. It is preferable to include it.
[0016]
For example, the threshold value of the dither matrix based on the binarization result is obtained by accumulating the binarized uniform density pixel matrix density values for each pixel at the same position for all uniform density pixel matrices. You may perform based on the integration result for every pixel of the same position.
[0017]
Furthermore, in order to suppress the occurrence of a pseudo boundary line due to the lack of continuity between the edges at the front edge and the rear edge in the sub-scanning direction of the dither matrix, for example, the dither formed as described above can be used. The matrix is further subdivided from a threshold element row arranged in the sub-scanning direction at the leading edge in the main scanning direction of the dither matrix to a threshold element row arranged in the sub-scanning direction at the trailing edge, and By shifting in the scanning direction, the leading edge and the trailing edge in the sub-scanning direction of the dither matrix may be formed so as not to coincide with the main scanning direction.
[0018]
That is, the front end edge and the rear end edge in the sub-scanning direction of the dither matrix are rearranged diagonally or unevenly from a state where they are linearly arranged in the main scanning direction. Thus, if the leading edge and the trailing edge of the dither matrix in the sub-scanning direction are set to a state other than the straight line in the main scanning direction, the pseudo boundary line naturally becomes a state other than the straight line in the main scanning direction. This should be true, but if you do this, the pseudo boundary will not be noticeable. That is, generation of a pseudo boundary line can be suppressed. The dither matrix is formed in a parallelogram if the front edge and the rear edge in the sub-scanning direction of the dither matrix are slanted to form a straight line having a predetermined angle with respect to the main scanning direction.
[0019]
In addition, even if the dither matrix itself is not deformed in this way, the threshold elements lined up in the sub-scanning direction at the leading edge portion of the dither matrix in the main scanning direction during the binarization process using the dither matrix formed as described above. Each threshold element row is arranged such that the leading edge portion and the trailing edge portion in the sub-scanning direction of the dither matrix do not coincide with the main scanning direction from the row to the threshold element row arranged in the sub-scanning direction at the trailing edge portion. A pseudo boundary generated at the leading edge and the trailing edge in the sub-scanning direction is also obtained by binarizing the density value of each pixel of the image data based on the arrangement of threshold values shifted in the sub-scanning direction. Can be suppressed.
[0020]
Also, when performing binarization processing of a uniform density pixel matrix having a certain density value, each pixel is binarized according to the binarization state of another binarization density pixel matrix that has already been binarized. It's also good. This “binarization processing performed according to the binarization state of another uniform density pixel matrix that has already been binarized” is, for example, within the other uniform density pixel matrix that has already been binarized. There is a method of performing binarization processing according to the binarization state of the uniform density pixel matrix having the density value closest to the uniform density pixel matrix to be binarized. In other words, the binarization process by the error diffusion method of the uniform density pixel matrix is not executed completely independently, but the binarization state in the uniform density pixel matrix of other density values already made is reflected.
[0021]
As a result of this reflection, the integrated state at each pixel position is not biased to a specific value and is dispersed into various values as compared with a case where each pixel pixel matrix is binarized independently. Therefore, in the dither matrix finally obtained based on such an accumulation state, the threshold values are distributed in a moderately distributed manner within a predetermined range.
[0022]
More specifically, in the error diffusion method performed in the uniform density pixel matrix in which the density value i is the density value of all pixels, the density value that is less than the density value i and closest to the density value i is already binarized. If the pixel position that is the same as the pixel position that is turned on in the recently obtained lower binarized pixel matrix is always turned on and binarized by error diffusion processing, the above-described effect can be obtained. In this case, first, the density value of each pixel is turned on / off by the error diffusion method for a uniform density pixel matrix in which the minimum value min of a plurality of discretely set density values is the density value of all pixels. It is also possible to binarize to any of the above, and then binarize the other density as the density value i.
[0023]
Further, in the error diffusion method performed in the uniform density pixel matrix in which the density value i is the density value of all pixels, the density value exceeding the density value i and closest to the density value i is already binarized. In addition, if the pixel position that is the same as the pixel position that is turned off in the upper binarized pixel matrix is always turned off and binarized by error diffusion processing, the above-described effect can be obtained. In this case, first, for a uniform density pixel matrix in which the maximum value max among a plurality of discrete density values is set as the density value of all pixels, the density value of each pixel is turned on / off by the error diffusion method. It is also possible to binarize to any one of the above, and then binarize the other density values as the density value i.
[0024]
Further, in the error diffusion method performed in the uniform density pixel matrix in which the density value i is the density value of all pixels, the density value that is less than the density value i and closest to the density value i has already been binarized. Pixel positions that are also on in the most recently binarized pixel matrix that has already been binarized for the density value that is on and in the lower binarized pixel matrix that exceeds the density value i and is closest to the density value i The same pixel position is always turned on, and the error diffusion processing is performed with the pixel position same as the pixel position that is off in the latest lower binarized pixel matrix and off in the latest upper binarized pixel matrix being off. By binarizing, the above-described effects can be obtained. In this case, first, with respect to two uniform density pixel matrices having the minimum value min and the maximum value max of a plurality of discretely set density values as the density values of all pixels, the error diffusion method is used for each pixel. It is preferable to binarize the density value to either on / off.
[0025]
Further, the density value i is made to correspond to the central integer value of the density values of the nearest lower binarized pixel matrix and the nearest upper binarized pixel matrix, or to almost the middle integer value. Is preferable in terms of improving the resolution and suppressing the pattern of the pseudo halftone image obtained by processing with the obtained dither matrix.
[0026]
The predetermined range may be equal to a density range that can be expressed in a pixel. In this case, examples of the predetermined range include a range of 0 to 255. This is particularly preferable when the data constituting the image to be binarized is represented by 8-bit grayscale.
[0027]
In order to further improve the above-described effect, a plurality of density values discretely set in the predetermined range are set to max-min + 1 set by changing one by one from the minimum value min to the maximum value max. It is preferably a value.
The integration result for each pixel at the same position is, for example, the number of one of the binarized density values at the pixel at the same position, and the threshold value of each pixel of the dither matrix according to this number Can be set. For example, assuming that binary values are represented by “1” (on) and “0” (off), “1” (on) existing at the same position in a plurality of binarized uniform density pixel matrices. The count value may be set as the threshold value at the same position of the dither matrix as it is or by applying a coefficient. Further, the threshold value may be set based on the table from the count value. “0” (off) may be counted instead of “1” (on).
[0028]
In addition to the above-described method, the threshold value is set to 2 when a uniform density pixel matrix having a minimum value min to a uniform density pixel matrix having a maximum value max among a plurality of discretely set density values is viewed. For a pixel position that first appears as “1” (on) in the digitized uniform density pixel matrix, a threshold value is set according to the density value of the uniform density pixel matrix that first becomes “1” (on). It may be set. For example, the pixel positions may be sequentially checked from the smaller density value, and the density value of the uniform density pixel matrix in which “1” (ON) first appears may be set as a threshold value. Alternatively, a threshold value may be set by multiplying the density value by a predetermined coefficient.
[0029]
In addition, the threshold value is set as a binary uniform density when viewed from a uniform density pixel matrix having a maximum value max to a uniform density pixel matrix having a minimum value min among a plurality of density values set discretely. The threshold value may be set according to the density value of the uniform density pixel matrix that first becomes “0” (off) for the pixel position that appears first as “0” (off) in the pixel matrix. good. For example, the pixel positions may be sequentially checked from the larger density value, and the density value of the uniform density pixel matrix in which “0” (off) first appears may be set as a threshold value as it is. Alternatively, a threshold value may be set by multiplying the density value by a predetermined coefficient.
[0030]
DETAILED DESCRIPTION OF THE INVENTION
[Embodiment 1]
FIG. 1 is a main block diagram of the dither matrix creation device 2.
The microcomputer unit 11 constituting the main body of the dither matrix creating apparatus 2 includes a CPU 12, a program memory 13 made of ROM, a working memory 14 made of RAM, a dither matrix storage memory 16 made of RAM, and an output image memory 17 made of RAM. ing. An input unit 10 and an output unit 19 are connected to the microcomputer unit 11 via a system bus 18.
[0031]
The input unit 10 includes an interface for inputting from a keyboard or an external storage device, and inputs data and instructions necessary for creating a dither matrix. In addition, the input unit 10 inputs image data having a gradation in which each pixel is represented by 8 bits in order to confirm the effect of the created dither matrix.
[0032]
The CPU 12 executes creation of a dither matrix as described later, and the program memory 13 stores programs for performing various controls performed by the CPU 12. The working memory 14 temporarily stores data necessary for the CPU 12 to execute a program stored in the program memory 13.
[0033]
The dither matrix storage memory 16 stores dither matrix data formed by the processing of the CPU 12.
The output image memory 17 uses the dither matrix stored in the dither matrix storage memory 16 by the CPU 12 to binarize image data having a gradation represented by 8 bits. Store image data.
[0034]
The output unit 19 is a device that prints the binarized image data stored in the output image memory 17 with or without dots by an electrophotographic method.
Next, a dither matrix creation process executed by the dither matrix creation device 2 will be described. A flowchart of the dither matrix creation process is shown in FIG.
[0035]
First, a uniform density pixel matrix in which all pixels have a density value i = 0 and a uniform density pixel matrix in which all pixels have a density value i = 255 are binarized by an error diffusion method (S100). As shown in FIG. 4, this uniform density pixel matrix may be used by reading two types of uniform density pixel matrices D0 and D255 of i = 0 and 255 into the working memory 14. Then, the binarized pixel matrices F0 and F255 (FIG. 5) are stored in the working memory 14 (S200). However, the binarization result by the error diffusion method of the uniform density pixel matrix having the density values i = 0 and 255 performed in step S100 is all pixels “0” (off) when i = 0, and i = 255. In this case, since all the pixels are “1” (on), a binary pixel matrix in which all the pixels are off and a binary pixel matrix in which all the pixels are on are provided in advance without performing calculation by the error diffusion method. In addition, these matrices may be used.
[0036]
Next, in order to determine the processing order of the uniform density pixel matrix, a density value array is created for density values 1 to 254 (S300). The density value array is created such that the density value in the center of the already binarized density values is set as the density value i to be binarized. That is, the beginning of the array is “128” which is the central integer value of “0” and “255” (may be another central integer value “127”), and the next is “0” and “128”. "64" in the middle of "128", "192" in the middle of "128" and "255" (another integer value of "191" may be acceptable), and the next is "0" and "64" Central “32”, “64” and “128” in the middle “96”, “128” and “192” in the middle “160”, “192” and “255” in the middle “224” (Another central integer value “223” may be used.) As described above, the central integer value of the previously obtained values is obtained, and an array of density values from “1” to “254” is obtained. “128, 64, 192, 32, 96, 160, 224,...” Are created. This array may be calculated in advance and stored as array data, and only the array data may be read and used during this processing.
[0037]
Next, the density values i are read one by one from the top of the array (S400), and the binarization process (S500) is performed.
The details of the binarization process in step S500 are shown in the flowchart of FIG.
First, the uniform density pixel matrix having the first density value i = 128 in the array is subjected to binarization processing. First, binarized density values, that is, of the density values for which a binarized pixel matrix has already been obtained. Thus, the most recently binarized pixel matrix H and the most recently binarized pixel matrix L for the density value i = 128 are searched from the contents of the working memory 14 (S521). In the case of the first density value i = 128 in the array, the uniform density pixel matrix of density value i = 255 already binarized in step S100 corresponds to the upper binarized pixel matrix H, and the density value i The uniform density pixel matrix with = 0 corresponds to the lower binarized pixel matrix L most recently.
[0038]
Next, the error buffer set in the working memory 14 is initialized (S522).
Next, the density value Ixy at the pixel position (x, y) of the uniform density pixel matrix having the density value i is read (S523). If the first pixel position is the origin (0, 0) of the upper left corner of the uniform density pixel matrix and the size of each uniform density pixel matrix is m × n pixels, the main pixel position is processed each time step S523 is processed thereafter. Move sequentially in the scanning direction (x direction), then move to the next pixel line in the sub-scanning direction (y direction) after x = m−1, and move sequentially from x = 0 to the main scanning direction. Thus, the pixel position (x, y) is designated.
[0039]
The density value Ixy at the pixel position (x, y) is the same value as the density value i in all the pixels of the uniform density pixel matrix having the density value i. However, it is also possible to simply set i to Ixy.
[0040]
Next, as shown in Expression 1, the density value i is corrected by the binarization error sum E of the peripheral pixels, and the corrected density value I′xy is calculated (S524).
[0041]
[Expression 1]
Figure 0003711615
[0042]
The binarization error sum E is calculated on the basis of the coefficient matrix α and the binarization error e of the surrounding pixels as shown in Equation 2.
[0043]
[Expression 2]
Figure 0003711615
[0044]
In the first embodiment, the following matrix is used as the coefficient matrix α. αpq represents a coefficient at the position (p, q) of the coefficient matrix α. Eab represents a binarization error of peripheral pixels.
[0045]
[Equation 3]
Figure 0003711615
[0046]
Here, * represents the position of the target pixel.
However, a and b are set as follows.
[0047]
[Expression 4]
Figure 0003711615
[0048]
Here,% is an operator for obtaining a remainder when dividing by m, m is a size of the uniform density pixel matrix in the main scanning direction, and int {} is an operator for extracting only the integer part of the value in {}.
Further, p and q indicate coordinate positions on the coefficient matrix α with the pixel of interest * as the origin, p is the horizontal coordinate, and q is the vertical coordinate. Here, −2 ≦ q ≦ 0, −2 ≦ p ≦ −1 when q = 0, and −2 ≦ p ≦ 2 when q = −1 and −2.
[0049]
The a and b are set as described above, as schematically shown in FIG. 6, in the uniform density pixel matrix, the leading edge AE and the trailing edge BE in the main scanning direction x, and the pixels at the trailing edge BE are This indicates that error distribution is performed in a spiral pixel arrangement state to pixels on the next pixel line in the sub-scanning direction y within the pixels at the leading edge AE in the main scanning direction x.
[0050]
That is, when expressed in normal coordinates as shown in FIG. 7, when the pixel position P0 (m−3, k + 1) is the pixel of interest, the pixel to which the distribution coefficient of the coefficient matrix α is applied is expressed by the above equations 3 and 4. From the above, when q = 0, a = m-5, m-4, b = k + 1, and when q = -1, a = m-5, m-4, m-3, m-2, m −1, b = k, and when q = −2, a = m−5, m−4, m−3, m−2, m−1, and b = k−1. That is, it corresponds to the shaded portion shown in the figure, and the pixel P0 receives the binarization error distribution from the surrounding pixels of the shaded portion.
[0051]
At the pixel position P1 (m−2, k + 1) of the next pixel of interest, the pixel to which the distribution coefficient of the coefficient matrix α is applied is a as shown in FIG. = M−4, m−3, b = k + 1, and when q = −1, a = m−4, m−3, m−2, m−1, b = k and a = 0, b = When k + 1 and q = −2, a = m−4, m−3, m−2, m−1, b = k−1, a = 0, and b = k. That is, a part of the error distribution area corresponding to the shaded portion in the figure and protruding from the rear edge BE of the uniform density pixel matrix in the main scanning direction x is one pixel in the sub scanning direction y on the front edge AE side. It is set at a position shifted from the line. The pixel P1 receives a binarization error distribution from surrounding pixels in the shaded area.
[0052]
Thereafter, similarly, at the pixel position P2 (m-1, k + 1) of the next pixel of interest, the pixel to which the distribution coefficient of the coefficient matrix α is applied is represented by q from the above equations 3 and 4, as indicated by hatching in FIG. When = 0, a = m−3, m−2 and b = k + 1, and when q = −1, a = m−3, m−2, m−1, b = k and a = 0, 1, b = k + 1, and when q = -2, a = m−3, m−2, m−1, b = k−1, a = 0, 1, and b = k. The pixel P2 receives a binarization error distribution from surrounding pixels in the shaded area.
[0053]
At the pixel position P3 (0, k + 2) of the next pixel of interest that has returned to the leading edge AE, the pixel to which the distribution coefficient of the coefficient matrix α is applied is expressed by the above equations 3 and 4, as indicated by the oblique lines in FIG. When q = 0, a = m−2, m−1, b = k + 1, and when q = −1, a = m−2, m−1, b = k and a = 0, 1, 2 , B = k + 1, and when q = −2, a = m−2, m−1, b = k−1 and a = 0, 1, 2, and b = k. The pixel P3 receives a binarization error distribution from surrounding pixels in the shaded area.
[0054]
At the pixel position P4 (1, k + 2) of the next pixel of interest, the pixel to which the distribution coefficient of the coefficient matrix α is applied is a as shown by the oblique lines in FIG. = M-1, b = k + 1 and a = 0, b = k + 2, and when q = -1, a = m-1, b = k and a = 0, 1, 2, 3, b = k + 1 Yes, when q = -2, a = m-1, b = k-1, a = 0, 1, 2, 3, and b = k. The pixel P4 receives a binarization error distribution from surrounding pixels in the shaded area.
[0055]
At the pixel position P5 (2, k + 2) of the next pixel of interest, the pixel to which the distribution coefficient of the coefficient matrix α is applied is a as shown by the diagonal lines in FIG. = 0, 1, b = k + 2, a = 0, 1, 2, 3, 4, b = k + 1 when q = -1, and a = 0, 1, 2, when q = -2. , 3, 4 and b = k. The pixel P5 receives a binarization error distribution from surrounding pixels in the shaded area.
[0056]
In this way, error distribution is performed in which the trailing edge BE of the uniform density pixel matrix in the main scanning direction x is spirally continued toward the leading edge AE in the error diffusion process. This means that the binarization by the error diffusion process is such that the trailing edge BE and the leading edge AE of the uniform density pixel matrix are continuously spiraled.
[0057]
The corrected density value I′xy obtained by correcting the binarization error sum E in this way does not meet any of the following conditions (1) and (2), but the threshold value t (the first embodiment) For example, if I′xy> t, the pixel of interest is binarized to ON (“1”), and if I′xy ≦ t, the pixel of interest is OFF (“0”). Those that match one of the conditions (1) and (2) are binarized according to the matched condition (S525).
[0058]
Condition {circle around (1)}: Pixel positions where “1” ON is arranged in both the most recently binarized pixel matrix H and the most recently binarized pixel matrix L. This pixel position is always “1” on.
Condition {circle over (2)}: Pixel positions where “0” OFF is arranged in both the most recently binarized pixel matrix H and the most recently binarized pixel matrix L. This pixel position is always “0” off.
[0059]
That is, in the error diffusion method, the sum of the error E distributed from the surrounding pixels and the density value Ixy of the target pixel is compared with a threshold value. If it is less than “0”, it is binarized to OFF. However, in the case of a pixel that satisfies the above condition (1) or (2), the pixel is not compared with the threshold value without being compared with the threshold value. “1” is turned on or “0” is turned off according to the condition of 1 ▼ or (2). The condition (1) (2) is “If the pixel value of the most recently binarized pixel matrix H = the pixel value of the most recently binarized pixel matrix L, the most recently binarized pixel matrix H or the most recent binarized pixel matrix H It can also be expressed as “set to any pixel value in the lower binarized pixel matrix L”.
[0060]
Next, when the pixel of interest is turned on and binarized, a binarization error exy of the pixel of interest is obtained by calculation of the following equation, and this binarization error exy is stored in the error buffer (S526).
[0061]
[Equation 5]
Figure 0003711615
[0062]
Further, when the target pixel is binarized off, I′xy is set to the binarization error e of the target pixel as shown in the following equation.
[0063]
[Formula 6]
Figure 0003711615
[0064]
Under the conditions (1) and (2), as shown in FIG. 13 (a), at each pixel position, when viewed from the smaller density value, once turned on, the subsequent density value i is always turned on. Become.
Next, it is determined whether or not the binarization processing for all the pixels is completed for one uniform density pixel matrix (S527). If not completed ("NO" in S527), the next pixel position is set. Then (S528), the process returns to step S523.
[0065]
When the binarization of all the pixels is completed (“YES” in S527), the process in step S500 is terminated, and it is determined whether or not the arrangement of density values is completed as shown in FIG. 2 (S600). If not completed (“NO” in S600), the next density value in the array is set to the density value i (S400), and the binarization process in step S500 is repeated based on this density value i.
[0066]
When the binarization processing (S500) of the uniform density pixel matrix for the last density value in the array is completed (“YES” in S600), the density value i = 0 is stored in the working memory 14 as shown in FIG. 256 binarized pixel matrices F0 to F255 of .about.255 are formed.
[0067]
Next, for all the binarized pixel matrices, the number of pixels binarized to ON among the pixels at the same position is counted, and an integration result matrix M1 having this count value as an element is formed (S700).
That is, as shown in FIG. 5, assuming that the upper left corner is the origin (0, 0), the horizontal direction is the x axis, and the vertical direction is the y axis, first, (0, 0) of all the binarized pixel matrices F0 to F255. The pixels that are turned on are counted. The count result is stored in the same position (0, 0) of the integration result matrix M1 prepared in the working memory 14 as shown in FIG. This counting process is performed for each pixel position, and all the integration result matrix M1 is filled. This count process is binarized to “1” when each pixel is on, and to “0” when it is off, so the numerical values of the pixels at the same position may be summed up.
[0068]
Next, threshold values for the dither matrix are set in order from the pixel position having a low count value in the integration result matrix M1 (S800), and the matrix composed of the threshold values is stored in the dither matrix storage memory 16 as a dither matrix (S900). .
[0069]
As a method for setting the threshold value, the count value itself may be set as the threshold value. In this case, the counting process in step S700 corresponds to the dither matrix threshold setting process, and thus no particular process is performed in step S800. Then, the integration result matrix M1 itself is stored as a dither matrix in the dither matrix storage memory 16 (S900).
[0070]
In step S800, instead of simply using the count values themselves of the accumulation result matrix M1 as threshold values, the count values of the accumulation result matrix M1 are set as threshold values according to a table of count values and threshold values prepared in advance. It may be converted.
In step S800, the threshold values may be set to “0, 1, 2,...” From the lowest count value. 254, 253, ... "may be set. In this case, if there are two or more of the same count value, they may all be given the same threshold value, or the same count value may be ordered and the threshold value set in the same way as different count values. You may do it.
[0071]
Using the dither matrix formed in this way, a halftone color image is binarized and recorded by a color printer, so that it is not noisy to human eyes and resolution is not deteriorated. Thus, it was possible to generate a pseudo-halftone binarized image in which the generation of patterns was suppressed. Of course, this method is a dither method, and many calculations are not performed unlike the error diffusion method, so that it can be processed quickly.
[0072]
Further, when the dither matrix is created by the binarization processing by the error diffusion method, the pixels and the rear edge of the leading edge portion AE in the main scanning direction x of the uniform density pixel matrix in the binarization processing of the error diffusion method. The continuity between the edges AE and BE in the main scanning direction x is maintained by binarizing the pixels of the part BE in a continuous pixel arrangement state. As a result, when the image data is binarized using the obtained dither matrix, there is no color unevenness or light / dark unevenness at the boundary of the region, and no pseudo boundary line is generated.
[0073]
In particular, in the present embodiment, the pixel at the rear edge BE of the main scanning direction x in the uniform density pixel matrix is the next pixel line in the sub-scanning direction y among the pixels at the front edge AE in the main scanning direction x. If the binarization processing is performed in a continuous pixel arrangement state on the pixels of the pixel, that is, if the binarization processing is performed in a state where the arrangement of the pixels in the main scanning direction x is spiraled, the pixel from the rear end edge BE to the front edge Even when the binarization process shifts to the AE pixel, it is only necessary to perform the same binarization error distribution process using the same coefficient matrix α. And the generation of a pseudo boundary line can be further suppressed.
[0074]
Furthermore, in the present embodiment, in the binarization in step S520, the binarization state of the uniform density pixel matrix before and after the binarization that has already been binarized is considered using the conditions of the above (1) and (2). Binarization is performed.
If normal binarization is performed without using the above conditions (1) and (2), as shown in FIG. 13B, after turning on, off appears at the same pixel position. For this reason, the number of ONs at each pixel position tends to be biased to a specific value in the range of 0 to 255 only with normal binarization, but in the present embodiment, various values in the range of 0 to 255 are obtained. Dispersed to obtain a suitable distribution. Therefore, the dither matrix obtained in this way is distributed in a moderately distributed manner in the range of the threshold value from 0 to 255. For this reason, in particular, as shown in FIG. 13B, the dither matrix obtained as shown in FIG. 13A is compared with the dither matrix obtained when each uniform density pixel matrix is binarized independently. The matrix further improves the resolution and suppresses the pattern when the image data is binarized.
[0075]
[Embodiment 2]
FIG. 15 shows an example in which the central value is obtained by calculation as the second embodiment. This process is executed instead of steps S300 to S600 in FIG. In this process, first, eight variables I0 to I7 are initialized with "0" (S1010 to S1080), then I0 to I7 are summed and set to a density value i (S1090). If the density value i is “0”, I7 is increased by “128” (S1120), and then I7> 128 is not satisfied (“NO” in S1130). 128 ”is set, i is not 0 (“ NO ”in S1100), and i is not 255 (“ NO ”in S1110), so the processing in step S500 (same as the processing in FIG. 2) is performed.
Next, in step S1120, I7 = 256, it is determined "YES" in step S1130, I6 is increased by "64" (S1140), I6 = 64, and I6> 64 is not satisfied (in S1150). “NO”), it is initialized to I7 = 0 in step S1080, and i = 64 in step S1090. Accordingly, the process proceeds from steps S1100 and S1110 to step S500, and binarization processing is performed on the uniform density pixel matrix having density value i = 64.
[0076]
Next, I7 = 128 is determined in step S1120, and "NO" is determined in step S1130. In step S1090, I0 to I5 = 0, I6 = 64, and I7 = 128, i = 192. After steps S1100 and S1110, binarization is performed for the uniform density pixel matrix having density value i = 192 in step S500.
[0077]
Next, since I0 to I5 = 0, I6 = 64, and I7 = 128, the process proceeds from step S1120 to step S1160, and in step S1160, I5 = 32. Since I5> 32 is not satisfied (“NO” in S1170), steps S1070 and S1080 are processed, and I0 to I4 = 0, I5 = 32, I6 = 0, and I7 = 0. Accordingly, i = 32 in step S1090, and the uniform density pixel matrix having the density value i = 32 is binarized in step S500.
[0078]
Next, since I7 = 0, the process returns to step S1090 via steps S1120 and S1130. At this time, I0 to I4 = 0, I5 = 32, I6 = 0, and I7 = 128. Accordingly, i = 160 in step S1090, and the uniform density pixel matrix having the density value i = 160 is binarized in step S500.
[0079]
Next, steps S1120 to S1150 and S1080 are processed, and I0 to I4 = 0, I5 = 32, I6 = 64, and I7 = 0. Accordingly, i = 96 in step S1090, and the uniform density pixel matrix having the density value i = 96 is binarized in step S500.
[0080]
Thereafter, 224, 16, 144, 80,..., 127 are sequentially set to the density value i by any one of steps S1020 to S1080 and S1120 to S1260 according to the values of I0 to I7. The binarization and storage of the uniform density pixel matrix of value i is performed, and finally I0 = 1, I1 = 2, I2 = 4, I3 = 8, I4 = 16, I5 = 32, I6 = 64, I7 = 128. At this time, since the density value i = 255 is set in step S1090, “YES” is determined in step S1110, and the process proceeds to step S700. In this manner, the uniform density pixel matrix can be binarized by following the central value in the calculation.
[0081]
[Embodiment 3]
In the present embodiment, the threshold value in which the dither matrix formed in the first or second embodiment shown in FIG. 14 is further aligned in the sub-scanning direction y at the leading edge AE in the main scanning direction x of the dither matrix. From the element row “1, 19, 251,...” To the threshold element row “31, 157, 44,...” Arranged in the sub-scanning direction y at the rear edge BE, each threshold element row is arranged in the sub-scanning direction y. By shifting, as shown in FIG. 16, the front edge portion UT and the rear edge portion DT in the sub-scanning direction y are formed as a dither matrix M2 that does not match the main scanning direction x.
[0082]
In the case of the present embodiment, the front edge portion UT and the rear edge portion DT of the dither matrix M2 in the sub-scanning direction y are slanted and linear with a predetermined angle θ with respect to the main scanning direction x. The entire dither matrix M2 is formed in a parallelogram.
[0083]
The binarization performed using the dither matrix M2 formed in this way is performed for each region EM having the size of the dither matrix M2, as shown in FIG. However, even if color unevenness or light / dark unevenness occurs in the oblique boundary portion BT, a pseudo boundary line generated by the unevenness is in an oblique state, that is, a state other than a straight line in the main scanning direction x. When the binarization process was performed by such a method and recorded by a color printer, the pseudo boundary line became inconspicuous. That is, generation of a pseudo boundary line can be suppressed. As for the boundary portion AT in the main scanning direction x, as in the first and second embodiments, no color unevenness or light / dark unevenness occurs, and no pseudo boundary line occurs.
[0084]
In the present embodiment, the front edge portion UT and the rear edge portion DT in the sub-scanning direction y are linear with a predetermined angle θ with respect to the main scanning direction x. You may form in. Further, it may be V-shaped or inverted V-shaped. That is, if the leading edge and the trailing edge of the dither matrix in the sub-scanning direction y are arranged linearly in the main scanning direction x, the pseudo boundary line is Disappears. That is, generation of a pseudo boundary line can be suppressed.
[0085]
[Others]
In each of the above embodiments, the size of the uniform density pixel matrix to be binarized and the created dither matrix are the same. In particular, the uniform density pixel matrix is more than the dither matrix to be created. A large matrix in the sub-scanning direction y may be used.
[0086]
For example, as shown in FIGS. 7 to 12, a dither matrix is formed using the result of the specific area A [m × (n−k)] surrounded by a thick solid line among the binarization results of the uniform density pixel matrix. You may do it.
That is, the binarized value count process of the specific area A is performed to form the accumulation result matrix M1. The specific area A may exist at the same position in all the uniform density pixel matrices D0 to D255, or may exist at different positions.
[0087]
Further, the specific area A does not include the first pixel line portion (not shown) in the error diffusion process, but includes the final pixel line (y = n−1) portion. This is because in the first pixel line portion, there is no previous line, so in the diffusion of the binarization error, the binarization error distribution is distorted compared to the back line. This is because the influence of the distortion of the binarized error diffusion decreases as the pattern moves away from the first pixel line and the least influence is exerted in the final pixel line portion.
[0088]
Further, since the degree of influence of the error diffusion distortion occurring in the head pixel line portion on the back differs depending on the density value i, the influence of the error diffusion distortion is eliminated in the binarization of all uniform density pixel matrices. Therefore, the size of the uniform density pixel matrix may be adjusted according to the density value i.
[0089]
In each of the above embodiments, the density value of the uniform density pixel matrix is binarized by sequentially selecting the median value. However, the density values i = 0 to 255 may be processed in ascending order or descending order. In this case, as in step S525, binarization is performed in consideration of the binarized state of the most recently binarized pixel matrix H and the most recently binarized pixel matrix L using the conditions (1) and (2). Alternatively, binarization may be performed for each uniform density pixel matrix alone without using the conditions (1) and (2).
[0090]
In each of the above embodiments, binarization processing is performed by following the central integer value. However, even if it is not a completely central integer value, the 1: 2 position, the 1: 3 position, the 2: 1 position, Although it is an intermediate value between two binarized density values such as a 3: 1 position, binarization processing may be performed by following an integer value biased to the small side or the large side.
[0091]
In each of the above embodiments, the count value is not directly used as the integration result matrix M1, but may be multiplied by a predetermined coefficient. Also, a different coefficient k (i) is set for each density value i for the binarized value Iixy of the uniform density pixel matrix of density value i as shown in the following formula, and the total value Cxy of all uniform density pixel matrices is set. The accumulation result matrix M1 may be created by obtaining the value.
[0092]
[Expression 7]
Figure 0003711615
[0093]
Here, x and y represent pixel positions on the uniform density pixel matrix or the integration result matrix M1.
The binarization of the uniform density pixel matrix was binarization to ON (“1”) or OFF (“0”), but any value may be binarized. Counting may be performed to form an accumulation result matrix M1, and the accumulation result matrix M1 may be converted into a dither matrix. Further, the total of binarized values may be used instead of the number of counts as described above.
[0094]
The binarization in each of the above embodiments is an error diffusion method of receiving a binarization error distribution from surrounding pixels at the time of binarization, that is, a so-called average error minimum method. Alternatively, an error diffusion method based on a method of distributing binarization errors to the density of peripheral pixels that have not yet been binarized may be used.
[0095]
In the third embodiment, the deformed dither matrix M2 is used. However, the dither matrix M2 can be used in the binarization process using the dither matrix formed as in the first and second embodiments without modifying the dither matrix itself. The dither matrix sub-scanning direction y extends from the threshold element row arranged in the sub-scanning direction y at the leading edge AE in the main scanning direction x to the threshold element row arranged in the sub-scanning direction y at the rear edge BE. The density value of each pixel of the image data based on the arrangement of the threshold values in which the threshold element rows are shifted in the sub-scanning direction y so that the leading edge portion UE and the trailing edge portion DE do not coincide with the main scanning direction x Similarly, the pseudo boundary can be suppressed by binarizing.
[0096]
Further, as shown in FIG. 18, the dither matrix M2 deformed as in the third embodiment is further replaced with the same threshold value element sequence by the amount Z that protrudes in the sub-scanning direction y from the original position in FIG. The dither matrix M3 may be returned to the same rectangle as the original shape from the parallelogram. In this way, the same effects as those of the third embodiment can be obtained, and since the dither matrix M3 is rectangular, it is usually easy to apply to rectangular image data, so that the binarization processing of the image is facilitated.
[Brief description of the drawings]
FIG. 1 is a main block diagram of a dither matrix creating apparatus according to a first embodiment.
FIG. 2 is a flowchart of a dither matrix creation process according to the first embodiment.
FIG. 3 is a flowchart of binarization processing according to the first embodiment.
4 is an explanatory diagram illustrating uniform density value image data according to Embodiment 1. FIG.
5 is an explanatory diagram showing a state in which uniform density value image data according to Embodiment 1 is binarized. FIG.
6 is a continuity explanatory diagram of binarization processing according to Embodiment 1. FIG.
FIG. 7 is an explanatory diagram of error distribution according to the first embodiment.
FIG. 8 is an explanatory diagram of error distribution according to the first embodiment.
FIG. 9 is an explanatory diagram of error distribution according to the first embodiment.
FIG. 10 is an explanatory diagram of error distribution according to the first embodiment.
FIG. 11 is an explanatory diagram of error distribution according to the first embodiment.
FIG. 12 is an explanatory diagram of error distribution according to the first embodiment.
13 is an explanatory diagram of an on / off setting state of each pixel position according to the first embodiment. FIG.
FIG. 14 is an explanatory diagram of an integration result matrix according to the first embodiment.
FIG. 15 is a flowchart illustrating a method for determining the processing order of the uniform density pixel matrix according to the second embodiment;
FIG. 16 is an explanatory diagram of a dither matrix according to the third embodiment.
FIG. 17 is an explanatory diagram of application of the dither matrix of the third embodiment.
FIG. 18 is a diagram for explaining a modification of the dither matrix according to the third embodiment.
FIG. 19 is an explanatory diagram showing a conventional example.
[Explanation of symbols]
2 ... Dither matrix creation device 10 ... Input section
11 ... Microcomputer part 12 ... CPU
13 ... Program memory 14 ... Working memory
16 ... Dither matrix storage memory
17 ... Output image memory 18 ... System bus
19 ... Output section

Claims (8)

画素において表すことができる濃度範囲内に設定された所定範囲において離散的に設定された複数の濃度値の各々を、複数の均一濃度画素マトリックスの各々における全画素の濃度値として、前記均一濃度画素マトリックス毎に誤差拡散法にて前記濃度値をオン/オフのいずれかに2値化し、この2値化された均一濃度画素マトリックスの濃度値に基づいて、ディザマトリックスにおける各画素の閾値を設定するディザマトリックス作成方法であって、
前記均一濃度画素マトリックスが、主走査方向の先端縁部の画素と後端縁部の画素とが連続した画素配置状態で2値化処理されていることを特徴とするディザマトリックス作成方法。
The uniform density pixel is obtained by using each of a plurality of density values discretely set in a predetermined range set within a density range that can be expressed in the pixel as a density value of all pixels in each of the plurality of uniform density pixel matrices. For each matrix, the density value is binarized to either ON / OFF by an error diffusion method, and a threshold value of each pixel in the dither matrix is set based on the binarized density value of the uniform density pixel matrix. A dither matrix creation method,
A dither matrix creation method, wherein the uniform density pixel matrix is binarized in a pixel arrangement state in which pixels at the leading edge and trailing edge in the main scanning direction are continuous.
前記均一濃度画素マトリックスの主走査方向の後端縁部の画素が、主走査方向の先端縁部の画素の内で副走査方向の次の画素ラインの画素へ連続した画素配置状態で2値化処理されていることを特徴とする請求項1記載のディザマトリックス作成方法。The pixel at the rear edge in the main scanning direction of the uniform density pixel matrix is binarized in a pixel arrangement state in which the pixels at the front edge in the main scanning direction are continuously connected to the pixels on the next pixel line in the sub scanning direction. 2. The dither matrix creation method according to claim 1, wherein the dither matrix is processed. 前記2値化された均一濃度画素マトリックスの副走査方向における一部の特定領域の濃度値に基づいて、ディザマトリックスにおける各画素の閾値を設定することを特徴とする請求項1または2記載のディザマトリックス作成方法。3. The dither according to claim 1, wherein a threshold value of each pixel in the dither matrix is set based on a density value of a part of a specific region in the sub-scanning direction of the binarized uniform density pixel matrix. Matrix creation method. 前記特定領域は、前記誤差拡散法の処理が開始された副走査方向における先頭画素ライン部分を含まないことを特徴とする請求項3記載のディザマトリックス作成方法。4. The dither matrix generation method according to claim 3, wherein the specific region does not include a head pixel line portion in the sub-scanning direction in which the error diffusion method has been started. 前記特定領域は、前記誤差拡散法の処理が終了する副走査方向における最終画素ライン部分を含むことを特徴とする請求項3または4記載のディザマトリックス作成方法。5. The dither matrix creation method according to claim 3, wherein the specific region includes a final pixel line portion in a sub-scanning direction where the error diffusion method is finished. 請求項1〜5のいずれかに記載のディザマトリックス作成方法により作成されたディザマトリックスを、該ディザマトリックスの主走査方向の先端縁部にて副走査方向に並んだ閾値要素列から後端縁部にて副走査方向に並んだ閾値要素列にかけて、各閾値要素列を副走査方向にずらしたことにより、副走査方向の先端縁部および後端縁部を前記主走査方向に対して不一致とさせたディザマトリックスとして形成することを特徴とするディザマトリックス作成方法。A dither matrix created by the dither matrix creating method according to any one of claims 1 to 5, wherein the dither matrix is arranged from the threshold element row arranged in the sub-scanning direction at the leading edge in the main scanning direction of the dither matrix. By shifting each threshold element row in the sub-scanning direction over the threshold element rows arranged in the sub-scanning direction, the front edge and the rear edge in the sub-scanning direction are made inconsistent with the main scanning direction. A dither matrix creating method, characterized by forming as a dither matrix. 前記ディザマトリックスが、副走査方向の先端縁部および後端縁部を主走査方向に対して所定の角度を有する直線状とした平行四辺形に形成されていることを特徴とする請求項6記載のディザマトリックス作成方法。7. The dither matrix is formed in a parallelogram having a leading edge and a trailing edge in the sub-scanning direction that are linear with a predetermined angle with respect to the main scanning direction. Dither matrix creation method. 請求項1〜5のいずれかに記載のディザマトリックス作成方法により作成されたディザマトリックスを、該ディザマトリックスの主走査方向の先端縁部にて副走査方向に並んだ閾値要素列から後端縁部にて副走査方向に並んだ閾値要素列にかけて、前記ディザマトリックスの副走査方向の先端縁部および後端縁部が前記主走査方向に対して不一致となるように各閾値要素列を副走査方向にずらした閾値の配置に基づいて画像データの各画素の濃度値を2値化することを特徴とする画像データ2値化方法。A dither matrix created by the dither matrix creating method according to any one of claims 1 to 5, wherein the dither matrix is arranged from the threshold element row arranged in the sub-scanning direction at the leading edge in the main scanning direction of the dither matrix. The threshold element rows in the sub-scanning direction are arranged in the sub-scanning direction so that the leading edge portion and the trailing edge portion of the dither matrix in the sub-scanning direction do not coincide with the main scanning direction. An image data binarization method characterized in that the density value of each pixel of image data is binarized based on the arrangement of threshold values shifted to.
JP07893096A 1996-02-23 1996-04-01 Dither matrix creation method and image data binarization method Expired - Fee Related JP3711615B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP07893096A JP3711615B2 (en) 1996-04-01 1996-04-01 Dither matrix creation method and image data binarization method
US08/803,959 US5953459A (en) 1996-02-23 1997-02-21 Dither matrix producing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07893096A JP3711615B2 (en) 1996-04-01 1996-04-01 Dither matrix creation method and image data binarization method

Publications (2)

Publication Number Publication Date
JPH09270916A JPH09270916A (en) 1997-10-14
JP3711615B2 true JP3711615B2 (en) 2005-11-02

Family

ID=13675598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07893096A Expired - Fee Related JP3711615B2 (en) 1996-02-23 1996-04-01 Dither matrix creation method and image data binarization method

Country Status (1)

Country Link
JP (1) JP3711615B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008092191A (en) * 2006-09-29 2008-04-17 Fujifilm Corp Image processing method and device, and image formation method and device

Also Published As

Publication number Publication date
JPH09270916A (en) 1997-10-14

Similar Documents

Publication Publication Date Title
EP0356225B1 (en) Image processing apparatus
EP0260020B1 (en) A method of generating a gray scale image
US5008950A (en) Image processing method and apparatus for error-dispersion digitization without moire or spurious stripe formation
US5226096A (en) Digital halftoning with selectively applied dot-to-dot error diffusion
US6014226A (en) Multilevel halftoning with reduced texture contours and coverage control
JP2005138585A (en) Method for camouflaging print element with defect in printer
US7417771B2 (en) Error diffusion halftoning system
US20050195443A1 (en) Method and apparatus for processing images
JP3711615B2 (en) Dither matrix creation method and image data binarization method
JP3732883B2 (en) Multidot dither matrix generation method
JP3943981B2 (en) Image processing apparatus and method
US7433083B2 (en) Halftone-image processing device
JP2877356B2 (en) Image data processing method
JP4108262B2 (en) Image processing method and image processing apparatus
JPH08307720A (en) System and method for gradation number conversion of color image
US11084299B2 (en) Printing system, image processing apparatus, and print method
JP4839872B2 (en) Image forming apparatus, image forming method, and image forming program
JPH0738767A (en) Image binarizing processor
JP3709598B2 (en) Dither matrix creation method
JP3709599B2 (en) Dither matrix creation method
JP3711617B2 (en) Dither matrix creation method
JP3287717B2 (en) Image processing device
JP3740732B2 (en) Dither matrix creation method
JP3685148B2 (en) Image processing apparatus and method
JP3740739B2 (en) Dither matrix creation method

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050808

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080826

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090826

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100826

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110826

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120826

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120826

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130826

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees