(57)【特許請求の範囲】
【請求項１】
画素濃度と閾値との比較により中間調画像の各画素を順次、オンかオフかのいずれかに２値化するとともに、各画素において２値化する際に生じた２値化誤差を未２値化の周辺画素に拡散して、該周辺画素の２値化に反映させる誤差拡散法による画像２値化方法であって、
前記中間調画像が取り得る最小濃度の画素の２値化においては、オフに２値化するとともに、
前記最小濃度の画素が未２値化の周辺画素に拡散する２値化誤差の算出においては、
前記最小濃度よりも大きい仮想濃度Ａを設定して、該仮想濃度Ａに、既２値化の周辺画素から拡散される誤差を加えて得られた補正濃度を、前記閾値と比較し、
前記補正濃度が前記閾値よりも小さい場合は、前記補正濃度を２値化誤差とし、前記補正濃度が前記閾値よりも大きい場合は、前記補正濃度から値Ｘ（前記仮想濃度Ａ＜Ｘ≦前記中間調画像が取り得る最大濃度）を引いた値を２値化誤差とすることを特徴とする画像２値化方法。
【請求項２】
画素濃度と閾値との比較により中間調画像の各画素を順次、オンかオフかのいずれかに２値化するとともに、各画素において２値化する際に生じた２値化誤差を未２値化の周辺画素に拡散して、該周辺画素の２値化に反映させる誤差拡散法による画像２値化方法であって、
前記中間調画像が取り得る最大濃度の画素の２値化においては、オンに２値化するとともに、
前記最大濃度の画素が未２値化の周辺画素に拡散する２値化誤差の算出においては、
前記最大濃度よりも小さい仮想濃度Ｂを設定して、該仮想濃度Ｂに、既２値化の周辺画素から拡散される誤差を加えて得られた補正濃度を、前記閾値と比較し、
前記補正濃度が前記閾値よりも小さい場合は、前記補正濃度を２値化誤差とし、前記補正濃度が前記閾値よりも大きい場合は、前記補正濃度から値Ｙ（前記仮想濃度Ｂ＜Ｙ≦前記中間調画像が取り得る最大濃度）を引いた値を２値化誤差とすることを特徴とする画像２値化方法。
【請求項３】
画素濃度と閾値との比較により中間調画像の各画素を順次、オンかオフかのいずれかに２値化するとともに、各画素において２値化する際に生じた２値化誤差を未２値化の周辺画素に拡散して、該周辺画素の２値化に反映させる誤差拡散法による画像２値化方法であって、
前記中間調画像が取り得る最小濃度の画素の２値化においては、オフに２値化するとともに、
前記最小濃度の画素が未２値化の周辺画素に拡散する２値化誤差の算出においては、
前記最小濃度よりも大きい仮想濃度Ａを設定して、該仮想濃度Ａに、既２値化の周辺画素から拡散される誤差を加えて得られた補正濃度を、前記閾値と比較し、
前記補正濃度が前記閾値よりも小さい場合は、前記補正濃度を２値化誤差とし、前記補正濃度が前記閾値よりも大きい場合は、前記補正濃度から値Ｘ（前記仮想濃度Ａ＜Ｘ≦前記中間調画像が取り得る最大濃度）を引いた値を２値化誤差とし、
前記中間調画像が取り得る最大濃度の画素の２値化においては、オンに２値化するとともに、
前記最大濃度の画素が未２値化の周辺画素に拡散する２値化誤差の算出においては、
前記最大濃度よりも小さい仮想濃度Ｂを設定して、該仮想濃度Ｂに、既２値化の周辺画素から拡散される誤差を加えて得られた補正濃度を、前記閾値と比較し、
前記補正濃度が前記閾値よりも小さい場合は、前記補正濃度を２値化誤差とし、前記補正濃度が前記閾値よりも大きい場合は、前記補正濃度から値Ｙ（前記仮想濃度Ｂ＜Ｙ≦前記中間調画像が取り得る最大濃度）を引いた値を２値化誤差とすることを特徴とする画像２値化方法。
【請求項４】
前記仮想濃度Ａ＜前記仮想濃度Ｂであることを特徴とする請求項３記載の画像２値化方法。
【請求項５】
前記最小濃度は０（ゼロ）であり、前記仮想濃度Ａは１から前記中間調画像が取り得る最大濃度／１６の範囲に含まれる値であることを特徴とする請求項１、３または４のいずれか記載の画像２値化方法。
【請求項６】
前記仮想濃度Ａは、平均値が前記最小濃度よりも大きい値となるように、画素の２値化の進行に応じてランダムに選択される値を用いることを特徴とする請求項１、３または４のいずれか記載の画像２値化方法。
【請求項７】
前記仮想濃度Ａは、平均値が前記最小濃度よりも大きい値となる数値の配列から、画素の２値化の進行に応じて順次選択される値を用いることを特徴とする請求項１、３または４のいずれか記載の画像２値化方法。
【請求項８】
前記中間調画像が取り得る最小濃度は０（ゼロ）、前記中間調画像が取り得る最大濃度は２５５であり、前記仮想濃度Ａは１〜１６の範囲に含まれる値であることを特徴とする請求項１、３または４のいずれか記載の画像２値化方法。
【請求項９】
前記値Ｘは、前記中間調画像が取り得る最大濃度であることを特徴とする請求項１、３、４〜８のいずれか記載の画像２値化方法。
【請求項１０】
前記中間調画像が取り得る最小濃度は０（ゼロ）であり、前記仮想濃度Ｂは前記最大濃度−１〜前記最大濃度−前記最大濃度／１６の範囲に含まれる値であることを特徴とする請求項２〜４のいずれか記載の画像２値化方法。
【請求項１１】
前記仮想濃度Ｂは、平均値が前記最大濃度よりも小さい値となるように、画素の２値化の進行に応じてランダムに選択される値を用いることを特徴とする請求項２〜４のいずれか記載の画像２値化方法。
【請求項１２】
前記仮想濃度Ｂは、平均値が前記最大濃度よりも小さい値となる数値の配列から、画素の２値化の進行に応じて順次選択される値を用いることを特徴とする請求項２〜４のいずれか記載の画像２値化方法。
【請求項１３】
前記中間調画像が取り得る最小濃度は０（ゼロ）、前記中間調画像が取り得る最大濃度は２５５であり、前記仮想濃度Ｂは２３９〜２５４の範囲に含まれる値であることを特徴とする請求項２〜４のいずれか記載の画像２値化方法。
【請求項１４】
前記値Ｙは、前記中間調画像が取り得る最大濃度であることを特徴とする請求項２〜４、１０〜１３のいずれか記載の画像２値化方法。
【請求項１５】
画素濃度と閾値との比較により中間調画像の各画素を順次、オンかオフかのいずれかに２値化するとともに、各画素において２値化する際に生じた２値化誤差を未２値化の周辺画素に拡散して、該周辺画素の２値化に反映させる誤差拡散法による画像２値化装置であって、
２値化対象画素の濃度が、前記中間調画像が取り得る最小濃度か否かを判定する最小濃度画素判定手段と、
前記最小濃度画素判定手段にて最小濃度の画素であると判定された場合、２値化対象画素の濃度として、前記最小濃度よりも大きい仮想濃度Ａを設定する仮想濃度Ａ設定手段と、
前記仮想濃度Ａ設定手段にて仮想濃度Ａが設定された場合は該仮想濃度Ａに対し、前記仮想濃度Ａ設定手段にて仮想濃度Ａが設定されなかった場合は元の２値化対象画素の濃度に対し、既２値化の周辺画素から拡散される誤差を加えて補正濃度を算出する補正濃度算出手段と、
前記補正濃度算出手段にて算出された補正濃度を前記閾値と比較する比較手段と、
前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定された場合に、前記補正濃度を前記周辺画素に反映させる２値化誤差とし、前記補正濃度が前記閾値よりも大きいと判定された場合に、前記最小濃度画素判定手段にて最小濃度の画素であると判定されたときは前記補正濃度から値Ｘ（前記仮想濃度Ａ＜Ｘ≦前記中間調画像が取り得る最大濃度）を引いた値を前記周辺画素に反映させる２値化誤差とし、前記最小濃度画素判定手段にて最小濃度の画素であると判定されなかったときは前記補正濃度から前記中間調画像が取り得る最大濃度を引いた値を前記周辺画素に反映させる２値化誤差とする誤差算出手段と、
前記最小濃度画素判定手段にて最小濃度の画素であると判定された場合にはオフに２値化し、前記最小濃度画素判定手段にて最小濃度の画素であると判定されなかった場合には前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定されたときはオフに２値化し前記補正濃度が前記閾値よりも大きいと判定されたときはオンに２値化する２値化手段と、
を備えたことを特徴とする画像２値化装置。
【請求項１６】
画素濃度と閾値との比較により中間調画像の各画素を順次、オンかオフかのいずれかに２値化するとともに、各画素において２値化する際に生じた２値化誤差を未２値化の周辺画素に拡散して、該周辺画素の２値化に反映させる誤差拡散法による画像２値化装置であって、
２値化対象画素の濃度が、前記中間調画像が取り得る最大濃度か否かを判定する最大濃度画素判定手段と、
前記最大濃度画素判定手段にて最大濃度の画素であると判定された場合、２値化対象画素の濃度として、前記最大濃度よりも小さい仮想濃度Ｂを設定する仮想濃度Ｂ設定手段と、
前記仮想濃度Ｂ設定手段にて仮想濃度Ｂが設定された場合は該仮想濃度Ｂに対し、前記仮想濃度Ｂ設定手段にて仮想濃度Ｂが設定されなかった場合は元の２値化対象画素の濃度に対し、既２値化の周辺画素から拡散される誤差を加えて補正濃度を算出する補正濃度算出手段と、
前記補正濃度算出手段にて算出された補正濃度を前記閾値と比較する比較手段と、
前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定された場合は、前記補正濃度を前記周辺画素に反映させる２値化誤差とし、前記補正濃度が前記閾値よりも大きいと判定された場合に、前記最大濃度画素判定手段にて最大濃度の画素であると判定されたときは、前記補正濃度から値Ｙ（前記仮想濃度Ｂ＜Ｙ≦前記中間調画像が取り得る最大濃度）を引いた値を前記周辺画素に反映させる２値化誤差とし、前記最大濃度画素判定手段にて最大濃度の画素であると判定されなかったときは、前記補正濃度から前記中間調画像が取り得る最大濃度を引いた値を前記周辺画素に反映させる２値化誤差とする誤差算出手段と、
前記最大濃度画素判定手段にて最大濃度の画素であると判定された場合にはオンに２値化し、前記最大濃度画素判定手段にて最大濃度の画素であると判定されなかった場合には前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定されたときはオフに２値化し前記補正濃度が前記閾値よりも大きいと判定されたときはオンに２値化する２値化手段と、
を備えたことを特徴とする画像２値化装置。
【請求項１７】
画素濃度と閾値との比較により中間調画像の各画素を順次、オンかオフかのいずれかに２値化するとともに、各画素において２値化する際に生じた２値化誤差を未２値化の周辺画素に拡散して、該周辺画素の２値化に反映させる誤差拡散法による画像２値化装置であって、
２値化対象画素の濃度が、前記中間調画像が取り得る最小濃度か否かを判定する最小濃度画素判定手段と、
２値化対象画素の濃度が、前記中間調画像が取り得る最大濃度か否かを判定する最大濃度画素判定手段と、
前記最小濃度画素判定手段にて最小濃度の画素であると判定された場合、２値化対象画素の濃度として、前記最小濃度よりも大きい仮想濃度Ａを設定する仮想濃度Ａ設定手段と、
前記最大濃度画素判定手段にて最大濃度の画素であると判定された場合、２値化対象画素の濃度として、前記最大濃度よりも小さい仮想濃度Ｂを設定する仮想濃度Ｂ設定手段と、
前記仮想濃度Ａ設定手段にて仮想濃度Ａが設定された場合は該仮想濃度Ａに対し、前記仮想濃度Ｂ設定手段にて仮想濃度Ｂが設定された場合は該仮想濃度Ｂに対し、前記仮想濃度Ａ設定手段および前記仮想濃度Ｂ設定手段のいずれにおいても仮想濃度Ａも仮想濃度Ｂも設定されなかった場合は元の２値化対象画素の濃度に対し、既２値化の周辺画素から拡散される誤差を加えて補正濃度を算出する補正濃度算出手段と、
前記補正濃度算出手段にて算出された補正濃度を前記閾値と比較する比較手段と、
前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定された場合に、前記補正濃度を前記周辺画素に反映させる２値化誤差とし、前記補正濃度が前記閾値よりも大きいと判定された場合に、前記最小濃度画素判定手段にて最小濃度の画素であると判定されたときは前記補正濃度から値Ｘ（前記仮想濃度Ａ＜Ｘ≦前記中間調画像が取り得る最大濃度）を引いた値を前記周辺画素に反映させる２値化誤差とし、前記最大濃度画素判定手段にて最大濃度の画素であると判定されたときは、前記補正濃度から値Ｙ（前記仮想濃度Ｂ＜Ｙ≦前記中間調画像が取り得る最大濃度）を引いた値を前記周辺画素に反映させる２値化誤差とし、前記最小濃度画素判定手段にて最小濃度の画素と判定されず、なおかつ前記最大濃度画素判定手段にて最大濃度の画素と判定されなかったときは前記補正濃度から前記中間調画像が取り得る最大濃度を引いた値を前記周辺画素に反映させる２値化誤差とする誤差算出手段と、
前記最小濃度画素判定手段にて最小濃度の画素であると判定された場合にはオフに２値化し、前記最大濃度画素判定手段にて最大濃度の画素であると判定された場合にはオンに２値化し、前記最小濃度画素判定手段にて最小濃度の画素であると判定されずかつ前記最大濃度画素判定手段にて最大濃度の画素であると判定されなかった場合には前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定されたときはオフに２値化し前記補正濃度が前記閾値よりも大きいと判定されたときはオンに２値化する２値化手段と、
を備えたことを特徴とする画像２値化装置。
【請求項１８】
前記仮想濃度Ａ＜前記仮想濃度Ｂであることを特徴とする請求項１７記載の画像２値化装置。
【請求項１９】
前記最小濃度は０（ゼロ）であり、前記仮想濃度Ａは１から前記中間調画像が取り得る最大濃度／１６の範囲に含まれる値であることを特徴とする請求項１５、１７または１８のいずれか記載の画像２値化装置。
【請求項２０】
前記仮想濃度Ａは、平均値が前記最小濃度よりも大きい値となるように、画素の２値化の進行に応じてランダムに選択される値を用いることを特徴とする請求項１５、１７または１８のいずれか記載の画像２値化装置。
【請求項２１】
前記仮想濃度Ａは、平均値が前記最小濃度よりも大きい値となる数値の配列から、画素の２値化の進行に応じて順次選択される値を用いることを特徴とする請求項１５、１７または１８のいずれか記載の画像２値化装置。
【請求項２２】
前記中間調画像が取り得る最小濃度は０（ゼロ）、前記中間調画像が取り得る最大濃度は２５５であり、前記仮想濃度Ａは１〜１６の範囲に含まれる値であることを特徴とする請求項１５、１７または１８のいずれか記載の画像２値化装置。
【請求項２３】
前記値Ｘは、前記中間調画像が取り得る最大濃度であることを特徴とする請求項１５、１７、１８〜２２のいずれか記載の画像２値化装置。
【請求項２４】
前記中間調画像が取り得る最小濃度は０（ゼロ）であり、前記仮想濃度Ｂは前記最大濃度−１〜前記最大濃度−前記最大濃度／１６の範囲に含まれる値であることを特徴とする請求項１６〜１８のいずれか記載の画像２値化装置。
【請求項２５】
前記仮想濃度Ｂは、平均値が前記最大濃度よりも小さい値となるように、画素の２値化の進行に応じてランダムに選択される値を用いることを特徴とする請求項１６〜１８のいずれか記載の画像２値化装置。
【請求項２６】
前記仮想濃度Ｂは、平均値が前記最大濃度よりも小さい値となる数値の配列から、画素の２値化の進行に応じて順次選択される値を用いることを特徴とする請求項１６〜１８のいずれか記載の画像２値化装置。
【請求項２７】
前記中間調画像が取り得る最小濃度は０（ゼロ）、前記中間調画像が取り得る最大濃度は２５５であり、前記仮想濃度Ｂは２３９〜２５４の範囲に含まれる値であることを特徴とする請求項１６〜１８のいずれか記載の画像２値化装置。
【請求項２８】
前記値Ｙは、前記中間調画像が取り得る最大濃度であることを特徴とする請求項１６〜１８、２４〜２７のいずれか記載の画像２値化装置。
【請求項２９】
請求項１〜１４のいずれか記載の画像２値化方法をコンピュータシステムに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３０】
請求項１５〜２８のいずれか記載の画像２値化装置の各手段としてコンピュータシステムを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、誤差拡散法による画像２値化方法、画像２値化装置および記録媒体に関する。
【０００２】
【従来の技術】
中間調画像を２値化して擬似中間調画像に変換する処理として、誤差拡散法が知られている。この誤差拡散法は、ある画素を２値化した場合に、２値化によって生じた誤差を、未だ２値化していない周辺の画素の濃度に分配する方法（狭い意味の誤差拡散法・文献：Robert W.Floyd and Louis Steinberg,"An AdaptiveAlgorithm for Spatial Greyscale",Proceeding of the S.I.D. Vol.17/2,1976等）、あるいは２値化する際に周辺に存在する既に２値化した画素からその２値化の際に生じた誤差の所定割合を受け取る方法（平均誤差最小法とも言う。文献：J.F.Jarvis,C.N.Judice,and W.H.Ninke,"A Survey of Techniques for the Display of Continuous Tone Pictures on Bilevel Displays",Computer Graphicsand Image Processing.5,13-40(1976)等）等が良く知られている。本明細書にては、特に断らない限り、誤差拡散法は広い意味で用いている。
【０００３】
この誤差拡散処理を用いることにより、各画素が多値で表された中間調画像を擬似中間調画像として２値化することができる。したがって、インクをドット単位で置くか置かないかのいずれかしかできないプリンタにおいても、中間調画像を全体として中間調に近似の画像として印刷することができるようになる。
【０００４】
【発明が解決しようとする課題】
しかし、このような誤差拡散処理により画像を処理した場合、次のような問題が生じた。例えば、図６に示すごとく、誤差拡散処理対象の画像Ｄ（濃度範囲：０〜２５５）において、領域Ｒ１→領域Ｒ２→領域Ｒ３のように、主走査方向に画素を一列処理しつつ、副走査方向へ順次、誤差拡散してゆく処理を考える。ここで、領域Ｒ１は濃度が均一でない、すなわち二種以上の濃度の画素が存在する画素領域であり、領域Ｒ２は全ての画素が濃度＝０（最小濃度）の均一濃度の画素領域、領域Ｒ３は全ての画素が濃度＝１（１より大きくても良い。）の均一濃度の画素領域であるとする。
【０００５】
この画像Ｄの２値化の結果、人間の目には、領域Ｒ３の先頭部分Ｓにて、オンの画素が規則的に現れて、実際にはあり得ない模様を生じてしまった。このような現象は、領域Ｒ２が濃度＝２５５（最大濃度）の均一濃度の画素領域、領域Ｒ３が全ての画素が濃度＝２５４（２５４より小さくても良い。）の均一濃度の画素領域である場合も、領域Ｒ３の先頭部分Ｓにて、オフの画素が規則的に現れて、実際にはあり得ない模様を生じてしまった。
【０００６】
このため、得られた疑似中間調画像の品質を低下させることとなった。本発明は、画素濃度が最小濃度あるいは最大濃度の均一画素領域から、最小濃度と最大濃度との間の画素濃度である濃度が均一な領域に現れる模様の発生を防止して、品質の高い擬似中間調画像を得る画像２値化方法、画像２値化装置および記録媒体を提供することを目的とするものである。
【０００７】
【課題を解決するための手段及び発明の効果】
本発明の画像２値化方法は、中間調画像が取り得る最小濃度の画素の２値化においては、オフに２値化するとともに、この最小濃度の画素が未２値化の周辺画素に拡散する２値化誤差の算出においては、最小濃度よりも大きい仮想濃度Ａを設定して、該仮想濃度Ａに、既２値化の周辺画素から拡散される誤差を加えて得られた補正濃度を、前記閾値と比較する。
【０００８】
そして、最小濃度の画素については、補正濃度が閾値よりも小さい場合は、補正濃度を２値化誤差とし、補正濃度が前記閾値よりも大きい場合は、補正濃度から値Ｘ（仮想濃度Ａ＜Ｘ≦中間調画像が取り得る最大濃度）を引いた値を２値化誤差とする。例えば、Ａ＜Ｘ≦２５５である。
【０００９】
中間調画像のほとんどの領域が、図６で述べた領域Ｒ１のごとく、画素濃度に不均一性が存在すれば、その中間調画像の中に均一な画素濃度の領域が少々存在していても、２値化された画素のオン／オフの分布も規則的とならず、２値化画像の品質を低下させる模様も発生しにくい。
【００１０】
しかし、「発明が解決しようとする課題」にて述べたごとく、２値化の順番において、濃度が最低濃度の領域Ｒ２が存在し、次に均一な濃度の領域が存在する場合には、領域Ｒ２ではオンに２値化される画素が存在しないので、従来の誤差拡散処理では、領域Ｒ１から拡散されてきた誤差は、順次、領域Ｒ２内を副走査方向へ単に拡散により伝達してゆくのみとなる。この領域Ｒ２内での誤差拡散により、領域Ｒ１から離れるにつれて、次第に、誤差拡散を受ける各画素の誤差は均一なものとなる。
【００１１】
したがって、従来の誤差拡散処理では、領域Ｒ３の先頭部分Ｓにおける各画素列は、それぞれ領域Ｒ２からは均一な誤差の拡散を受ける。しかも、領域Ｒ３においては、画素濃度は１で均一であることから、領域Ｒ３の先頭部分Ｓにては、主走査方向へ伝達される誤差は、２値化対象の画素を移動する毎に、一定の値が蓄積されてゆく。このため、一定の画素数を移動する度に、補正濃度が閾値を越える画素が出現して、オンが設定される。
【００１２】
このように、従来の誤差拡散処理では、一定間隔でオンが設定されることにより、元来模様が存在しない領域である領域Ｒ３の先頭部分Ｓにて、品質を低下させる模様が出現することになる。（なお、領域Ｒ３にてある程度、誤差拡散が進めば、オン時の拡散誤差の減算により乱されて、模様は目立たなくなる。）
本発明の画像２値化方法における誤差拡散処理では、中間調画像が取り得る最小濃度（例えば、０）の画素の２値化においては、オフに２値化する。したがって、前述した例で示した領域Ｒ２においては、従来と同様にオフのみであり、オンが出現することはない。
【００１３】
しかも、本発明の画像２値化方法では、この領域Ｒ２のような最小濃度領域では、最小濃度よりも大きい仮想濃度Ａを設定し、この仮想濃度Ａに周辺画素から拡散される誤差を加えて補正濃度を求め、閾値と比較している。したがって、この仮想濃度Ａが蓄積されるため、最小濃度領域内においても、従来ではあり得なかった、閾値より補正濃度が大きくなる状態が発生する。
【００１４】
このように、最小濃度領域において、閾値より補正濃度が大きくなった場合は、補正濃度から値Ｘ（例えば、Ｘ＝最大濃度）を引いた値を２値化誤差としている。従来ならば、最小濃度領域の２値化を次第に進めてゆくに伴って、常に閾値より補正濃度が小さいので、誤差が次第に均一となって各画素に拡散されてゆく。
【００１５】
しかし、本発明では、最小濃度よりも大きい仮想濃度Ａを用いて補正濃度を計算しているため、従来ではあり得ない、補正濃度が閾値より大きくなる状況が発生し、補正濃度から値Ｘを引くという処理が最小濃度領域において時々実行される。このことにより、伝達されてゆく誤差の値が乱されて各画素で同じような値とならない。すなわち、最小濃度領域の２値化を進めていっても、各画素に拡散される誤差は均一になるのが阻止される。
【００１６】
このため、領域Ｒ３の先頭部分Ｓに対しても、画素によって同じような誤差が分配されることが無く、オンとなる画素位置が不規則に乱されて、画像の品質を低下させる模様の出現が防止される。
逆に、領域Ｒ２が最大濃度（例えば、２５５）の均一濃度の画素領域、領域Ｒ３が全ての画素が例えば濃度＝２５４の均一濃度の画素領域である場合を処理することを考慮して、次のような構成でも良い。
【００１７】
すなわち、中間調画像が取り得る最大濃度の画素の２値化においては、オンに２値化する。したがって、従来と同様にオフが出現することはない。
しかも、本発明の画像２値化方法では、最大濃度領域では、最大濃度よりも小さい仮想濃度Ｂを設定し、これに周辺画素から拡散される誤差を加えて補正濃度を求め、閾値と比較している。そして、最大濃度の画素については、補正濃度が閾値よりも小さい場合は、補正濃度を２値化誤差とし、補正濃度が前記閾値よりも大きい場合は、補正濃度から値Ｙ（仮想濃度Ｂ＜Ｙ≦中間調画像が取り得る最大濃度）を引いた値を２値化誤差とする。例えば、Ｂ＜Ｙ≦２５５（中間調画像が取り得る最大濃度＝２５５として）としても良く、Ｙ＝「中間調画像が取り得る最大濃度」としても良い。
【００１８】
したがって、最大濃度領域内においても、誤差がそのまま伝達されるのではなく、誤差は次第に小さくなって行き、従来ではあり得なかった、閾値より補正濃度が小さくなる状態が発生する。
このように、最大濃度領域においても、閾値より補正濃度が小さくなった場合は、補正濃度そのものを２値化誤差としている。従来ならば、常に補正濃度は閾値より大きく、拡散される値は常に最大濃度分減少された値となっているので、拡散により伝達される誤差は、最大濃度領域の２値化を次第に進めてゆくに伴って、次第に均一となって各画素に拡散されてゆく。
【００１９】
しかし、本発明では、補正濃度の計算において、最大濃度よりも小さい仮想濃度Ｂを用いているので、従来の処理ではあり得ない、補正濃度そのものを２値化誤差とする処理が時々実行されることになる。このため、誤差拡散される値が乱されて、最大濃度領域の２値化を進めていっても、各画素に拡散される誤差は均一になるのが阻止される。
【００２０】
このため、領域Ｒ３の先頭部分Ｓに対しても、画素によって同じような誤差が分配されることが無く、オフとなる画素位置が不規則に乱されて、画像の品質を低下させる模様の出現が防止される。
なお、最小濃度領域と最大濃度領域とに対処するために、上述した最小濃度の画素に対する処理と、最大濃度の画素に対する処理との両方を行うことが好ましい。
【００２１】
すなわち、中間調画像が取り得る最小濃度の画素の２値化においては、オフに２値化するとともに、最小濃度の画素が未２値化の周辺画素に拡散する２値化誤差の算出においては、最小濃度よりも大きい仮想濃度Ａを設定して、該仮想濃度Ａに、既２値化の周辺画素から拡散される誤差を加えて得られた補正濃度を、閾値と比較し、補正濃度が閾値よりも小さい場合は、補正濃度を２値化誤差とし、補正濃度が閾値よりも大きい場合は、補正濃度から値Ｘ（仮想濃度Ａ＜Ｘ≦中間調画像が取り得る最大濃度）を引いた値を２値化誤差とする。
【００２２】
そして、中間調画像が取り得る最大濃度の画素の２値化においては、オンに２値化するとともに、最大濃度の画素が未２値化の周辺画素に拡散する２値化誤差の算出においては、最大濃度よりも小さい仮想濃度Ｂを設定して、該仮想濃度Ｂに、既２値化の周辺画素から拡散される誤差を加えて得られた補正濃度を、閾値と比較し、補正濃度が閾値よりも小さい場合は、補正濃度を２値化誤差とし、補正濃度が閾値よりも大きい場合は、補正濃度から値Ｙ（仮想濃度Ｂ＜Ｙ≦中間調画像が取り得る最大濃度）を引いた値を２値化誤差とする。
【００２３】
ここで、仮想濃度Ａ＜仮想濃度Ｂと設定しても良い。
上述した画像２値化方法を、画像２値化装置として実現する場合は、例えば次のような構成が挙げられる。
すなわち、本発明の画像２値化装置は、
画素濃度と閾値との比較により中間調画像の各画素を順次、オンかオフかのいずれかに２値化するとともに、各画素において２値化する際に生じた２値化誤差を未２値化の周辺画素に拡散して、該周辺画素の２値化に反映させる誤差拡散法による画像２値化装置であって、２値化対象画素の濃度が、前記中間調画像が取り得る最小濃度か否かを判定する最小濃度画素判定手段と、前記最小濃度画素判定手段にて最小濃度の画素であると判定された場合、２値化対象画素の濃度として、前記最小濃度よりも大きい仮想濃度Ａを設定する仮想濃度Ａ設定手段と、前記仮想濃度Ａ設定手段にて仮想濃度Ａが設定された場合は該仮想濃度Ａに対し、前記仮想濃度Ａ設定手段にて仮想濃度Ａが設定されなかった場合は元の２値化対象画素の濃度に対し、既２値化の周辺画素から拡散される誤差を加えて補正濃度を算出する補正濃度算出手段と、前記補正濃度算出手段にて算出された補正濃度を前記閾値と比較する比較手段と、前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定された場合に、前記補正濃度を前記周辺画素に反映させる２値化誤差とし、前記補正濃度が前記閾値よりも大きいと判定された場合に、前記最小濃度画素判定手段にて最小濃度の画素であると判定されたときは前記補正濃度から値Ｘ（前記仮想濃度Ａ＜Ｘ≦前記中間調画像が取り得る最大濃度）を引いた値を前記周辺画素に反映させる２値化誤差とし、前記最小濃度画素判定手段にて最小濃度の画素であると判定されなかったときは前記補正濃度から前記中間調画像が取り得る最大濃度を引いた値を前記周辺画素に反映させる２値化誤差とする誤差算出手段と、前記最小濃度画素判定手段にて最小濃度の画素であると判定された場合にはオフに２値化し、前記最小濃度画素判定手段にて最小濃度の画素であると判定されなかった場合には前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定されたときはオフに２値化し前記補正濃度が前記閾値よりも大きいと判定されたときはオンに２値化する２値化手段と、を備えたことを特徴とする。
【００２４】
本発明の画像２値化装置では、最小濃度画素判定手段が、中間調画像が取り得る最小濃度（例えば、０）の画素であると判定した場合、その画素の２値化においては、２値化手段は、必ずオフに２値化する。したがって、前述した例では領域Ｒ２においては、従来と同様にすべてオフであり、オンが出現することはない。
【００２５】
しかし、仮想濃度Ａ設定手段は、この領域Ｒ２のような最小濃度領域では、最小濃度よりも大きい仮想濃度Ａを設定し、補正濃度算出手段は、この仮想濃度Ａに周辺画素から拡散される誤差を加えて閾値と比較するための補正濃度を求めている。したがって、比較手段の比較においては、最小濃度領域内においても次第に誤差が蓄積して、従来ではあり得なかった、閾値より補正濃度が大きくなる状態が発生する。
【００２６】
このように、最小濃度領域において、閾値より補正濃度が大きくなった場合、誤差算出手段は、補正濃度から値Ｘ（仮想濃度Ａ＜Ｘ≦中間調画像が取り得る最大濃度）を引いた値を２値化誤差としている。Ｘとしては例えば最大濃度（例えば、２５５）の値が用いられる。従来ならば、最小濃度領域の２値化を次第に進めてゆくに伴って、次第に均一となる誤差値が各画素に拡散されてゆく。しかし、最小濃度よりも大きい仮想濃度Ａを用いて補正濃度を計算しているため、従来ではあり得ない、補正濃度が閾値より大きくなる状況が発生し、補正濃度から値Ｘを引くという処理が最小濃度領域において時々実行される。このことにより、誤差により伝達されてゆく値が乱されて、最小濃度領域の２値化を進めていっても、各画素に拡散される誤差は均一になるのが阻止される。
【００２７】
このため、領域Ｒ３の先頭部分Ｓに対しても、乱された誤差が拡散するので、オンとなる画素位置が不規則に乱されて、画像の品質を低下させる模様の出現が防止される。
また、逆に、領域Ｒ２が最大濃度（例えば、２５５）の均一濃度の画素領域、領域Ｒ３が全ての画素が例えば濃度＝２５４の均一濃度の画素領域である場合を処理することを考慮して、次のような構成でも良い。
【００２８】
すなわち、
画素濃度と閾値との比較により中間調画像の各画素を順次、オンかオフかのいずれかに２値化するとともに、各画素において２値化する際に生じた２値化誤差を未２値化の周辺画素に拡散して、該周辺画素の２値化に反映させる誤差拡散法による画像２値化装置であって、２値化対象画素の濃度が、前記中間調画像が取り得る最大濃度か否かを判定する最大濃度画素判定手段と、前記最大濃度画素判定手段にて最大濃度の画素であると判定された場合、２値化対象画素の濃度として、前記最大濃度よりも小さい仮想濃度Ｂを設定する仮想濃度Ｂ設定手段と、前記仮想濃度Ｂ設定手段にて仮想濃度Ｂが設定された場合は該仮想濃度Ｂに対し、前記仮想濃度Ｂ設定手段にて仮想濃度Ｂが設定されなかった場合は元の２値化対象画素の濃度に対し、既２値化の周辺画素から拡散される誤差を加えて補正濃度を算出する補正濃度算出手段と、前記補正濃度算出手段にて算出された補正濃度を前記閾値と比較する比較手段と、前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定された場合は、前記補正濃度を前記周辺画素に反映させる２値化誤差とし、前記補正濃度が前記閾値よりも大きいと判定された場合に、前記最大濃度画素判定手段にて最大濃度の画素であると判定されたときは、前記補正濃度から値Ｙ（前記仮想濃度Ｂ＜Ｙ≦前記中間調画像が取り得る最大濃度）を引いた値を前記周辺画素に反映させる２値化誤差とし、前記最大濃度画素判定手段にて最大濃度の画素であると判定されなかったときは、前記補正濃度から前記中間調画像が取り得る最大濃度を引いた値を前記周辺画素に反映させる２値化誤差とする誤差算出手段と、前記最大濃度画素判定手段にて最大濃度の画素であると判定された場合にはオンに２値化し、前記最大濃度画素判定手段にて最大濃度の画素であると判定されなかった場合には前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定されたときはオフに２値化し前記補正濃度が前記閾値よりも大きいと判定されたときはオンに２値化する２値化手段と、を備えたことを特徴とする。
【００２９】
すなわち、２値化手段は、中間調画像が取り得る最大濃度の画素の２値化においては、必ず、オンに２値化する。したがって、従来と同様にすべてオンとなり、オフが出現することはない。
しかも、仮想濃度Ｂ設定手段は、最大濃度領域では、最大濃度よりも小さい仮想濃度Ｂを設定し、補正濃度算出手段は、これに周辺画素から拡散される誤差を加えて補正濃度を求め、比較手段が閾値と比較している。したがって、比較手段の判定において、最大濃度領域内においても、拡散される誤差が次第に小さくなり、従来ではあり得なかった、閾値より補正濃度が小さくなる状態が発生する。
【００３０】
このように、最大濃度領域において、閾値より補正濃度が小さくなった場合は、誤差算出手段は、補正濃度そのものを２値化誤差としている。従来ならば、常に補正濃度は閾値より大きく、拡散される値は常に最大濃度分減少された値となっているので、拡散により伝達される値は、最大濃度領域の２値化を進めてゆくに伴って、次第に誤差は均一となって各画素に拡散されてゆく。
【００３１】
しかし、本発明の補正濃度算出手段は、補正濃度の計算において、最大濃度よりも小さい仮想濃度Ｂを用いているので、従来の処理ではあり得ない、補正濃度そのものを用いるという処理が時々実行される。このことにより、誤差拡散される値が乱されて、最大濃度領域の２値化を進めていっても、各画素に拡散される誤差は均一になるのが阻止される。
【００３２】
このため、領域Ｒ３の先頭部分Ｓに対しても、乱された誤差が拡散するので、オフとなる画素位置が不規則に乱されて、画像の品質を低下させる模様の出現が防止される。
なお、最小濃度領域と最大濃度領域とに対処するために、上述した最小濃度の画素に対する処理と、最大濃度の画素に対する処理との両方を行う画像２値化装置の構成を次に示す。
【００３３】
すなわち、
画素濃度と閾値との比較により中間調画像の各画素を順次、オンかオフかのいずれかに２値化するとともに、各画素において２値化する際に生じた２値化誤差を未２値化の周辺画素に拡散して、該周辺画素の２値化に反映させる誤差拡散法による画像２値化装置であって、２値化対象画素の濃度が、前記中間調画像が取り得る最小濃度か否かを判定する最小濃度画素判定手段と、２値化対象画素の濃度が、前記中間調画像が取り得る最大濃度か否かを判定する最大濃度画素判定手段と、前記最小濃度画素判定手段にて最小濃度の画素であると判定された場合、２値化対象画素の濃度として、前記最小濃度よりも大きい仮想濃度Ａを設定する仮想濃度Ａ設定手段と、前記最大濃度画素判定手段にて最大濃度の画素であると判定された場合、２値化対象画素の濃度として、前記最大濃度よりも小さい仮想濃度Ｂを設定する仮想濃度Ｂ設定手段と、前記仮想濃度Ａ設定手段にて仮想濃度Ａが設定された場合は該仮想濃度Ａに対し、前記仮想濃度Ｂ設定手段にて仮想濃度Ｂが設定された場合は該仮想濃度Ｂに対し、前記仮想濃度Ａ設定手段および前記仮想濃度Ｂ設定手段のいずれにおいても仮想濃度Ａも仮想濃度Ｂも設定されなかった場合は元の２値化対象画素の濃度に対し、既２値化の周辺画素から拡散される誤差を加えて補正濃度を算出する補正濃度算出手段と、前記補正濃度算出手段にて算出された補正濃度を前記閾値と比較する比較手段と、前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定された場合に、前記補正濃度を前記周辺画素に反映させる２値化誤差とし、前記補正濃度が前記閾値よりも大きいと判定された場合に、前記最小濃度画素判定手段にて最小濃度の画素であると判定されたときは前記補正濃度から値Ｘ（前記仮想濃度Ａ＜Ｘ≦前記中間調画像が取り得る最大濃度）を引いた値を前記周辺画素に反映させる２値化誤差とし、前記最大濃度画素判定手段にて最大濃度の画素であると判定されたときは、前記補正濃度から値Ｙ（前記仮想濃度Ｂ＜Ｙ≦前記中間調画像が取り得る最大濃度）を引いた値を前記周辺画素に反映させる２値化誤差とし、前記最小濃度画素判定手段にて最小濃度の画素と判定されず、なおかつ前記最大濃度画素判定手段にて最大濃度の画素と判定されなかったときは前記補正濃度から前記中間調画像が取り得る最大濃度を引いた値を前記周辺画素に反映させる２値化誤差とする誤差算出手段と、前記最小濃度画素判定手段にて最小濃度の画素であると判定された場合にはオフに２値化し、前記最大濃度画素判定手段にて最大濃度の画素であると判定された場合にはオンに２値化し、前記最小濃度画素判定手段にて最小濃度の画素であると判定されずかつ前記最大濃度画素判定手段にて最大濃度の画素であると判定されなかった場合には前記比較手段にて前記補正濃度が前記閾値よりも小さいと判定されたときはオフに２値化し前記補正濃度が前記閾値よりも大きいと判定されたときはオンに２値化する２値化手段と、を備えたことを特徴とする。
【００３４】
なお、仮想濃度Ａ＜仮想濃度Ｂと設定しても良い。
ここで、最小濃度は０（ゼロ）であり、仮想濃度Ａは１から中間調画像が取り得る最大濃度／１６の範囲に含まれる値であることが、有効に模様の出現を防止する上で好ましい。
【００３５】
また、仮想濃度Ａは、平均値が最小濃度よりも大きい値となるように、画素の２値化の進行に応じてランダムに選択される値を用いても良い。このランダムな仮想濃度Ａの変化により、一層、模様が乱されて目立たなくなる。
また、仮想濃度Ａは、平均値が最小濃度よりも大きい値となる数値の配列から、画素の２値化の進行に応じて順次選択される値を用いても良い。このように仮想濃度Ａの値を変化させることで、一層、模様が乱されて目立たなくなる。
【００３６】
なお、中間調画像が取り得る最小濃度は０（ゼロ）、中間調画像が取り得る最大濃度は２５５とすると、例えば、仮想濃度Ａは１〜１６の範囲に含まれる値とすることが、元の画像の雰囲気を崩すことなく、模様を目立たなくできる。
また、中間調画像が取り得る最小濃度は０（ゼロ）である場合、仮想濃度Ｂは最大濃度−１〜最大濃度−前記最大濃度／１６の範囲に含まれる値であることが、有効に模様の出現を防止する上で好ましい。
【００３７】
また、仮想濃度Ｂは、平均値が最大濃度よりも小さい値となるように、画素の２値化の進行に応じてランダムに選択される値を用いても良い。このランダムな仮想濃度Ｂの変化により、一層、模様が乱されて目立たなくなる。
また、仮想濃度Ｂは、平均値が最大濃度よりも小さい値となる数値の配列から、画素の２値化の進行に応じて順次選択される値を用いても良い。このように仮想濃度Ｂの値を変化させることで、一層、模様が乱されて目立たなくなる。
【００３８】
なお、中間調画像が取り得る最小濃度は０（ゼロ）、前記中間調画像が取り得る最大濃度は２５５とすると、例えば、仮想濃度Ｂは２３９〜２５４の範囲に含まれる値とすることが、元の画像の雰囲気を崩すことなく、模様を目立たなくできる。
【００３９】
なお、このような画像２値化方法を実行する機能、あるいは、このような画像２値化装置の各手段をコンピュータシステムにて実現する機能は、例えば、コンピュータシステム側で起動するプログラムとして備えることができる。このようなプログラムの場合、例えば、フロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータシステムにロードして起動することにより用いることができる。この他、ＲＯＭやバックアップＲＡＭをコンピュータ読み取り可能な記録媒体として前記プログラムを記録しておき、このＲＯＭあるいはバックアップＲＡＭをコンピュータシステムに組み込んで用いても良い。
【００４０】
【発明の実施の形態】
［実施の形態１］図１は、上述した発明が適用された誤差拡散法による中間調画像データ２値化装置２の概略構成を示すブロック図である。
【００４１】
この中間調画像データ２値化装置２は、コンピュータを主体として構成され、ＣＰＵ１２、ＲＯＭからなるプログラム記憶部１３、ＲＡＭからなる閾値記憶部１４、ＲＡＭからなる誤差分配マトリックス記憶部１５、ＲＡＭからなる誤差バッファ用メモリ１６、ＲＡＭからなる入力画像データ記憶部１７、ＲＡＭからなる出力画像データ記憶部１８およびＲＡＭからなる作業用メモリ１９を備えて、これらがバス２０により接続されて、制御信号やデータ信号を交換可能としている。
【００４２】
また、中間調画像データ２値化装置２は、これ以外に、バス２０を介して、コンピュータとして必要なキーボード２１やディスプレイ２２等の入出力装置、ハードディスクやフロッピーディスクドライブ等の外部記憶装置２３およびプリンタ２４が接続されている。
【００４３】
プログラム記憶部１３には、コンピュータとして必要な基本的なプログラム、後述する誤差拡散処理プログラム、およびその他の処理プログラムが格納され、必要に応じてＣＰＵ１２により実行される。なお、外部記憶装置２３を介して、前記各種プログラムが記憶されたフロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記憶媒体から、必要に応じて作業用メモリ１９に読み込んで起動することにより実行しても良い。
【００４４】
閾値記憶部１４は、誤差拡散法に用いられる閾値を記憶している。誤差分配マトリックス記憶部１５は、誤差拡散法により算出された出力濃度と元の濃度あるいは仮想濃度Ａ，Ｂとの誤差を、誤差バッファ用メモリ１６内で各周辺画素に対して設定された誤差バッファｅに分配する際に、分配対象となる周辺画素およびその分配率を誤差分配マトリックスとして記憶している。この誤差分配マトリックスの例を図４に示す。
【００４５】
誤差バッファ用メモリ１６は、画素毎に設定された誤差バッファｅ（ｘ，ｙ）に、周辺画素から分配される誤差を蓄積している。入力画像データ記憶部１７は外部記憶装置２３等から導入された中間調画像データを記憶している。この中間調画像データの各画素の濃度範囲は０〜２５５である。出力画像データ記憶部１８は、入力画像データ記憶部１７に記憶されている中間調画像データを、後述する誤差拡散処理により２値化して得られたオン＝１／オフ＝０からなる擬似中間調画像データを記憶するものである。なお、必要に応じてこの擬似中間調画像データは、ディスプレイ２２に表示されたり、プリンタ２４により記録される。
【００４６】
次に、ＣＰＵ１２にて実行される誤差拡散処理を、図２および図３に示すフローチャートにより説明する。この誤差拡散処理は、入力画像データ記憶部１７に格納されている多値の中間調画像を２値化して擬似中間調画像を作成するために行われる。
【００４７】
誤差拡散処理が開始されると以下の手順を実行する。
まず、２値化処理する画素の位置を表す変数ｘ，ｙを、それぞれ０に初期化する（Ｓ１１０，Ｓ１２０）。なお、変数ｘ，ｙで示される２値化処理対象の画素のことを注目画素と呼ぶことにする。
【００４８】
次に、フラグＦＬＡＧをＯｆｆに設定する（Ｓ１２５）。そして、画素位置（ｘ，ｙ）に対応する入力画像の画素濃度Ｉ（０≦Ｉ≦２５５）を読み取る（Ｓ１３０）。
次に、画素濃度Ｉが、０（最小濃度）、２５５（最大濃度）、それ以外の値（０＜Ｉ＜２５５）のいずれに該当するか否かが判定される（Ｓ１３２）。
【００４９】
Ｉ＝０の場合は、画素濃度Ｉとして、仮想濃度Ａ（０＜仮想濃度Ａ＜２５５、好ましくは、仮想濃度Ａ＝１〜１６）を設定する。ここでは、Ａ＝１とする。その結果、Ｉ＝１となり、更に、ＦＬＡＧ＝Ｌｏｗに設定する（Ｓ１３４）。
Ｉ＝２５５の場合は、画素濃度Ｉとして、仮想濃度Ｂ（０＜仮想濃度Ｂ＜２５５、好ましくは、仮想濃度Ｂ＝２３９〜２５４）を設定する。ここでは、Ｂ＝２５４とする。その結果、Ｉ＝２５４となり、更に、ＦＬＡＧ＝Ｈｉｇｈに設定する（Ｓ１３６）。
【００５０】
ステップＳ１３４，Ｓ１３６の処理後、あるいはステップＳ１３２にて、０＜Ｉ＜２５５と判定された場合には、次に、誤差バッファ用メモリ１６から注目画素に対応する誤差バッファｅ（ｘ，ｙ）の値を読み取り、式１のごとく誤差バッファｅ（ｘ，ｙ）の値にて画素濃度Ｉを補正して、補正濃度Ｉ′を求める（Ｓ１４０）。
【００５１】
【数１】
Ｉ′＝  Ｉ  ＋  ｅ（ｘ，ｙ）        …  ［式１］
次にステップＳ１４０にて求められた補正濃度Ｉ′と閾値Ｔとが比較される（Ｓ１５０）。ここで閾値Ｔとしては、例えば「１２８」が設定されている。
【００５２】
Ｉ′≧Ｔであれば（Ｓ１５０で「ＹＥＳ」）、注目画素における２値化誤差値Ｅを式２のごとく算出する（Ｓ１５２）。
【００５３】
【数２】
Ｅ  ＝  Ｉ′−  ２５５          …  ［式２］
また、Ｉ′＜Ｔであれば（Ｓ１５０で「ＮＯ」）、注目画素における２値化誤差値Ｅを式３のごとく算出する（Ｓ１５６）。
【００５４】
【数３】
Ｅ  ＝  Ｉ′                    …  ［式３］
ステップＳ１５２の次にフラグＦＬＡＧ＝Ｌｏｗか否かが判定される（Ｓ１５４）。また、ステップＳ１５６の次にフラグＦＬＡＧ＝Ｈｉｇｈか否かが判定される（Ｓ１５８）。
【００５５】
ステップＳ１５４でフラグＦＬＡＧ＝Ｌｏｗであった場合（「ＹＥＳ」）、あるいはステップＳ１５８でフラグＦＬＡＧ≠Ｈｉｇｈであった場合（「ＮＯ」）、出力濃度Ｏｔとして、０（オフ）が設定される（Ｓ１６０）。また、ステップＳ１５４でフラグＦＬＡＧ≠Ｌｏｗであった場合（「ＮＯ」）、あるいはステップＳ１５８でフラグＦＬＡＧ＝Ｈｉｇｈであった場合（「ＹＥＳ」）、出力濃度Ｏｔとして、１（オン）が設定される（Ｓ１７０）。
【００５６】
この出力濃度Ｏｔの値は、出力画像データ記憶部１８に、注目画素の２値化データとして、ステップＳ１６０またはステップＳ１７０の処理がなされる毎に順次蓄積される。ステップＳ１６０またはステップＳ１７０の次に、注目画素の２値化誤差値Ｅの分配処理が行われる（Ｓ１９０）。この誤差分配処理は、図４に示すごとくの誤差分配マトリックスＢｍａｔ（）に基づいて、ステップＳ１５２またはステップＳ１５６で算出された注目画素の２値化誤差値Ｅを、式４に示すごとく、未２値化の周辺画素の各誤差バッファｅに分配する。
【００５７】
【数４】
ｅ（ｘ＋ｉ，ｙ＋ｊ）＋＝Ｂｍａｔ（ｉ，ｊ）×Ｅ    …  ［式４］
尚、「＋＝」は既に誤差バッファｅ（ｘ＋ｉ，ｙ＋ｊ）内に存在する値と加算処理して同じ誤差バッファｅ（ｘ＋ｉ，ｙ＋ｊ）に格納することを示す演算子である。図４に例示するごとく、ｉ，ｊは注目画素位置をｉ＝ｊ＝０とし、図に示す様な値をとる変数である。
【００５８】
次に、主走査方向（ｘ方向）の２値化処理、すなわち１ライン分の処理が終了したか否かを判定する（Ｓ２００）。終了していなければ（Ｓ２００で「ＮＯ」）、注目画素の主走査方向の位置ｘを１つ増加させて（Ｓ２１０）、再度ステップＳ１２５から、上述した処理を繰り返す。
【００５９】
１ライン分の２値化処理を終了したと判定された場合（Ｓ２００で「ＹＥＳ」）には、全画素の２値化が終了したか否かが判定される（Ｓ２２０）。終了していなければ（Ｓ２２０で「ＮＯ」）、注目画素の副走査方向の位置ｙを１つ増加させて（Ｓ２３０）、再度、ステップＳ１２０から上述した処理を繰り返す。
【００６０】
すべての画素について２値化が終了すれば（Ｓ２２０で「ＹＥＳ」）、誤差拡散処理を終了する。このとき、出力画像データ記憶部１８には２値化された擬似中間調画像データが完成されている。本実施の形態の誤差拡散処理では、中間調画像が取り得る最小濃度（＝０）の画素の２値化においては、ステップＳ１３４にてフラグＦＬＡＧ＝Ｌｏｗとなるので、ステップＳ１５４にて「ＹＥＳ」、あるいはステップＳ１５８にて「ＮＯ」と判定されることから、必ずステップＳ１６０が実行されて、オフに２値化される。したがって、図６で示した領域Ｒ２においては、従来と同様にオフのみであり、オンが出現することはない。
【００６１】
しかも、最小濃度（０）の画素濃度Ｉには、ステップＳ１３４にて最小濃度よりも大きい仮想濃度Ａ（＝１）が設定され、ステップＳ１４０にて、この画素濃度Ｉ（＝Ａ）に周辺画素から拡散される誤差を加えて補正濃度Ｉ′を求め、ステップＳ１５０にて閾値Ｔと比較している。この仮想濃度Ａが、後の画素に行くほどに誤差バッファｅに積み重なる。したがって、図６で示した領域Ｒ２（最小濃度領域）内においても、従来ではあり得なかった、閾値Ｔより補正濃度Ｉ′が大きくなる状態が発生する。
【００６２】
このように、最小濃度領域において、閾値Ｔより補正濃度Ｉ′が大きく（等しい場合も含める。）なった場合（Ｓ１５０にて「ＹＥＳ」）は、補正濃度Ｉ′から値２５５を引いた値を２値化誤差値Ｅとしている（Ｓ１５２）。従来ならば、最小濃度領域の２値化を次第に進めてゆくに伴って、誤差（ここでは誤差バッファｅの内容）は次第に均一となって各画素に拡散されてゆく。しかし、最小濃度よりも大きい仮想濃度Ａ（＝１）を用いて補正濃度Ｉ′を計算しているため、従来ではあり得ない、補正濃度Ｉ′が閾値Ｔより大きくなる状態が発生し（Ｓ１５０で「ＹＥＳ」）、補正濃度Ｉ′から値２５５を引くという処理（Ｓ１５２）が最小濃度領域において時々実行される。
【００６３】
このことにより、伝達されてゆく誤差の均一性が乱されて、最小濃度領域の２値化を進めて行っても、各画素に拡散される誤差は均一になるのが阻止される。
このため、領域Ｒ３の先頭部分Ｓに対しても、均一性が乱された誤差が拡散するので、オンとなる画素位置が不規則に乱されて、画像の品質を低下させる模様の出現が防止される。
【００６４】
同様に、中間調画像が取り得る最大濃度（＝２５５）の画素の２値化においては、ステップＳ１３６にてフラグＦＬＡＧ＝Ｈｉｇｈとなるので、ステップＳ１５４にて「ＮＯ」、あるいはステップＳ１５８にて「ＹＥＳ」と判定されることから、必ずステップＳ１７０が実行されて、オンに２値化される。したがって、図６で示した領域Ｒ２が最大濃度領域であった場合、従来と同様にオンのみであり、オフが出現することはない。
【００６５】
しかも、最大濃度（２５５）の画素濃度Ｉには、ステップＳ１３６にて最大濃度よりも小さい仮想濃度Ｂ（＝２５４）が設定され、ステップＳ１４０にて、この画素濃度Ｉ（＝Ｂ）に周辺画素から拡散される誤差を加えて補正濃度Ｉ′を求め、ステップＳ１５０にて閾値Ｔと比較している。
【００６６】
この仮想濃度Ｂと２５５との差「−１」が、後の画素に行くほどに誤差バッファｅに積み重なる。したがって、図６で示した領域Ｒ２（最大濃度領域）内においても、従来ではあり得なかった、閾値Ｔより補正濃度Ｉ′が小さくなる状態が発生する。
【００６７】
このように、最大濃度領域において、閾値Ｔより補正濃度Ｉ′が小さくなった場合（Ｓ１５０にて「ＮＯ」）は、補正濃度Ｉ′そのものを２値化誤差値Ｅとしている（Ｓ１５６）。従来ならば、最大濃度領域の２値化を次第に進めてゆくに伴って、誤差（ここでは誤差バッファｅの内容）は次第に均一となって各画素に拡散されて行く。
【００６８】
しかし、最大濃度（＝２５５）よりも小さい仮想濃度Ｂ（＝２５４）を用いて補正濃度Ｉ′を計算しているため、従来ではあり得ない、補正濃度Ｉ′が閾値Ｔより小さくなる状態が発生し（Ｓ１５０で「ＮＯ」）、補正濃度Ｉ′そのものを２値化誤差値Ｅとして設定する処理（Ｓ１５６）が最大濃度領域において時々実行される。このことにより、伝達されて行く誤差の均一性が乱されて、最大濃度領域の２値化を進めて行っても、各画素に拡散される誤差は均一になるのが阻止される。
【００６９】
このため、領域Ｒ３の先頭部分Ｓに対しても、均一性が乱された誤差が拡散するので、オフとなる画素位置が不規則に乱されて、画像の品質を低下させる模様の出現が防止される。
本実施の形態において、ステップＳ１３２が最小濃度画素判定手段および最大濃度画素判定手段としての処理に該当し、ステップＳ１３４が仮想濃度Ａ設定手段としての処理に該当し、ステップＳ１３６が仮想濃度Ｂ設定手段としての処理に該当し、ステップＳ１４０が補正濃度算出手段としての処理に該当し、ステップＳ１５０が比較手段としての処理に該当し、ステップＳ１５２およびステップＳ１５６が誤差算出手段としての処理に該当し、ステップＳ１５４、ステップＳ１５８、ステップＳ１６０およびステップＳ１７０が２値化手段としての処理に該当する。
【００７０】
［実施の形態２］図５は、前述した実施の形態１の中間調画像データ２値化装置２が実行している図２および図３の処理と同等の機能を、ハード的に実現した中間調画像データ２値化装置３２の構成を示している。
【００７１】
この中間調画像データ２値化装置３２は、入力変換部Ｈ１、入力補正部Ｈ２、２値化部Ｈ３、出力変換部Ｈ４、２値化誤差作成部Ｈ５、誤差分配部Ｈ６および誤差記憶部Ｈ７を備えている。
入力変換部Ｈ１は、処理対象の中間調画像データの各画素濃度Ｉ（濃度範囲０〜２５５）を入力して、最小濃度０であれば、出力変換部Ｈ４からオフを２値化画素データとして出力させ、最大濃度２５５であればオンを２値化画素データとして出力させる。また、入力変換部Ｈ１は、このように画素濃度Ｉが、最小濃度または最大濃度のいずれかであった場合には、出力変換部Ｈ４には、２値化部Ｈ３からの指示は無視させ、入力変換部Ｈ１が直接、オン／オフを指示する。
【００７２】
更に、入力変換部Ｈ１は、最小濃度０であれば仮想濃度Ａ（ここでは、１）を、最大濃度２５５であれば仮想濃度Ｂ（ここでは、２５４）を、最小濃度と最大濃度との間の濃度（１〜２５４）であれば、そのままの画素濃度Ｉを、入力補正部Ｈ２に出力する。
【００７３】
入力補正部Ｈ２は、誤差記憶部Ｈ７内の誤差バッファに蓄積されている、既に２値化された画素から現在処理中の画素に分配された分配誤差ｅの値を、入力変換部Ｈ１から入力された濃度値に加えて補正濃度Ｉ′として、２値化部Ｈ３に出力する。
【００７４】
２値化部Ｈ３では、内部に設定されている閾値と入力補正部Ｈ２から入力した補正濃度Ｉ′とを比較して、補正濃度Ｉ′が閾値よりも大きければ（等しい場合も含む）出力変換部Ｈ４にオンを出力させ、補正濃度Ｉ′が閾値よりも小さければ出力変換部Ｈ４にオフを出力させる。
【００７５】
２値化誤差作成部Ｈ５は、入力補正部Ｈ２から出力される補正濃度Ｉ′と、２値化部Ｈ３から出力されるオン／オフの指示とに基づき、２値化部Ｈ３からオン出力が指示されていれば前述した式２の計算により２値化誤差値Ｅを求める。また、２値化部Ｈ３からオフ出力が指示されていれば前述した式３の計算により２値化誤差値Ｅを求める。
【００７６】
誤差分配部Ｈ６は、２値化誤差作成部Ｈ５にて求められた２値化誤差値Ｅを、図４に示した誤差分配マトリックスＢｍａｔ（）により、周辺画素に分配し、誤差記憶部Ｈ７内の周辺画素に対応する誤差バッファに蓄積する。
誤差記憶部Ｈ７は、前述したごとく、入力補正部Ｈ２の要求により、該当する画素の分配誤差ｅを入力補正部Ｈ２に出力する。
【００７７】
本実施の形態の中間調画像データ２値化装置３２は、上述のごとく構成されているので、実施の形態１と同様に、領域Ｒ３の先頭部分Ｓに対しても、均一性が乱された誤差が拡散するので、オンとなる画素位置が不規則に乱されて、画像の品質を低下させる模様の出現が防止される。
【００７８】
［その他］前記実施の形態１のステップＳ１５２では、ステップＳ１３２にてＩ＝０であると判定された場合も、されなかった場合も共に、補正濃度Ｉ′から２５５を減算して、２値化誤差値Ｅとしていたが、ステップＳ１５２の処理を分けて、ステップＳ１３２にてＩ＝０であると判定された場合は、補正濃度Ｉ′から値Ｘ（仮想濃度Ａ＜Ｘ≦２５５、例えばＸ＝２５５）を引いた値を２値化誤差値Ｅとし、ステップＳ１３２にてＩ＝０であると判定されなかった場合は、補正濃度Ｉ′から２５５を引いた値を２値化誤差値Ｅとするようにしても良い。またステップＳ１５２では、ステップＳ１３２にてＩ＝２５５であると判定された場合も、されなかった場合も共に、補正濃度Ｉ′から２５５を減算して、２値化誤差値Ｅとしていたが、ステップＳ１５２の処理を分けて、ステップＳ１３２にてＩ＝２５５であると判定された場合は補正濃度Ｉ′から値Ｙ（仮想濃度Ｂ＜Ｙ≦２５５、例えばＹ＝２５５）を引いた値を２値化誤差値Ｅとしても良い。実施の形態２についても同様である。
【００７９】
前記実施の形態１，２における２値化は、注目画素を２値化した場合に２値化誤差値Ｅを未だ２値化していない周辺の画素の濃度に分配する方法による誤差拡散法であったが、２値化時に既に２値化している周辺画素から２値化誤差の分配を受けるタイプの誤差拡散法、いわゆる平均誤差最小法であっても良く、同様な効果を得られる。
【図面の簡単な説明】
【図１】  実施の形態１としての中間調画像データ２値化装置の概略構成を表すブロック図である。
【図２】  実施の形態１における誤差拡散処理の一部のフローチャートである。
【図３】  実施の形態１における誤差分配処理の一部のフローチャートである。
【図４】  実施の形態１における誤差分配マトリックスの構成説明図である。
【図５】  実施の形態２における中間調画像データ２値化装置の概略構成を表すブロック図である。
【図６】  従来例における模様発生の説明図である。
【符号の説明】
２…中間調画像データ２値化装置    １２…ＣＰＵ１３…プログラム記憶部    １４…閾値記憶部１５…誤差分配マトリックス記憶部    １６…誤差バッファ用メモリ１７…入力画像データ記憶部    １８…出力画像データ記憶部１９…作業用メモリ    ２０…バス    ２１…キーボード２２…ディスプレイ    ２３…外部記憶装置    ２４…プリンタ３２…中間調画像データ２値化装置Ｈ１…入力変換部  Ｈ２…入力補正部  Ｈ３…２値化部  Ｈ４…出力変換部Ｈ５…２値化誤差作成部  Ｈ６…誤差分配部  Ｈ７…誤差記憶部
【図１】
0003944951.tif 000002
【図２】
0003944951.tif 000003
【図３】
0003944951.tif 000004
【図４】
0003944951.tif 000005
【図５】
0003944951.tif 000006
【図６】
0003944951.tif 000007