(57)【特許請求の範囲】
【請求項１】
多値階調値で表現される画像データの画素を所定の閾値を基準として２値化或いは所定の複数値化し、処理対象画素の誤差を他の未処理画素に拡散する誤差拡散法に使用される画像処理方法であって、処理対象画素の濃度とその真上の画素の濃度を比較し、対象画素の濃度が真上の画素の濃度よりも低いときは、対象画素の濃度の値をその真上画素の濃度との平均の値に変更し、対象画素の濃度が真上画素の濃度と等しいか該濃度よりも高いときは、対象画素の濃度の値をそのまま使用するようにしたことを特徴とする画像処理方法。
【請求項２】
前記真上の画素の濃度の値を保存するための画像の１ライン分の専用の真上ピクセルバッファを用意したことを特徴とする請求項１に記載の画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多値画像データの各画素の階調値を２値などの所定の複数値で出力し、複数値化対象画素の誤差を他の画素に拡散するようにした誤差拡散法に使用される画像処理方法に関する。
【０００２】
【従来の技術】
従来、多くの階調をもつ画像データを２値化するための方法としてディザ法と誤差拡散方式が知られている。誤差拡散方式は、最も基本的には多階調のピクセル（画素）データを２値化する方法である。例えば、１ピクセルを２５６段階で表現するイメージを、１ピクセルを２段階（インクジェットプリンタ的に言えばドットを打つか打たないか）で表現するイメージに変換する方法である。
【０００３】
ピクセルの値が０〜１２７の場合、基本的には「０」にし、ピクセルの値が１２８〜２５５の場合、基本的には「２５５」にする。この「２５５」は一般的には「１」と表現する。このように、単純に１，０に変換だけすると、その変換したときの元になった数値と、変換された後の値との間には誤差が生じる。この誤差をそれぞれ２値化処理の対象となっているピクセルの周りのピクセルに振る即ち分配して、対象ピクセルの誤差を周りのピクセルに拡散している。従来の誤差拡散法には、走査方向を右に向けて一方向に移動するときに、誤差の１０分の３を次（右）のピクセルに、１０分の７を真下のピクセルに分配する方法や、誤差の１６分の７を次（右）のピクセルに、１６分の５を真下のピクセルに、１６分の３を左下のピクセルに、１６分の１を右下のピクセルに分配する方式が知られている。
【０００４】
また、特開昭６３−１５５９５２号公報のように、注目画素の周辺画素に対する２値化による誤差の配分比率を一定とせず、画素処理とともに複数組の配分係数セットの中から選択して用いる方法や、更に複雑な方法をとる特開平８−２２８２８４号公報に記載されたものなど、多数の誤差拡散方式が提案されている。
【０００５】
【発明が解決しようとする課題】
誤差拡散の方式がシンプルであると、画像に縞模様の発生が多くなり、逆に複雑に処理をすれば、それは解消されてくるが画像の処理に時間がかかってしまうという問題点が生じる。
また、一般的に誤差拡散法では、比較的色が濃いところから薄いところに変わるところで縞模様などの不具合が多く出てくる傾向がある。それを解消するために特開平７−１１１５９１号及び特開平１−１３０９４５号には閾値などをその濃度によって変更させる技術などが提案されている。
しかし、閾値などの変更をするのでは、処理が非常に複雑になり、処理時間が長くなってしまうという問題点が生じてしまう。
本発明は、上記問題点を解決することを目的とするものである。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、本発明は、多値階調値で表現される画像データの画素を所定の閾値を基準として２値化或いは所定の複数値化し、処理対象画素の誤差を他の未処理画素に拡散する誤差拡散法に使用される画像処理方法であって、処理対象画素の濃度とその真上の画素の濃度を比較し、対象画素の濃度が真上の画素の濃度よりも低いときは、対象画素の濃度の値をその真上画素の濃度との平均の値に変更し、対象画素の濃度が真上画素の濃度よりも高いときは、対象画素の濃度の値をそのまま使用するようにしたものである。
また本発明は、前記真上の画素の濃度の値を保存するための画像の１ライン分の専用の真上ピクセルバッファを用意したことを特徴とするものである。
【０００７】
【発明の実施の形態】
以下に本発明の実施の形態を添付したコンピュータの画像処理フローチャートを参照して詳細に説明する。
画像処理装置として機能するコンピュータのＣＰＵ（中央演算処理装置）とコンピュータに格納された画像処理プログラムとで構成される誤差拡散処理部、（２）は、画像処理動作を開始すると、まず真上ピクセルバッファメモリ（４）の初期化を行う。
【０００８】
画像処理コンピュータは、２値化の対象となるピクセル即ち注目画素の濃度値と、注目画素の真上のピクセルの濃度値とを比較参照するため、真上ピクセルの濃度データを保存するための１ライン分の専用のバッファ即ち真上ピクセルバッファメモリ（４）を備えている。ピクセルの誤差拡散処理は、多値画像メモリ（６）から読み出した画像データ（８）の最初の１ラインのピクセルから行われるが、この場合、対象となるピクセルの真上のピクセルが存在しない。
【０００９】
そのため、真上ピクセルバッファメモリ（４）は処理の開始に際しゼロに初期化される（ステップ１）。次に誤差拡散処理部（２）は、次ラインの処理を開始する（ステップ２）。図２において、誤差拡散処理部（２）による画素の走査は、画像データ（８）のラインの左端から右端に向かう右方向に行われる。誤差拡散処理部（２）は、注目画素即ち２値化処理対象の画素の階調値（Ｘ）に注目し（ステップ３）、真上ピクセルの階調値（Ａ）が注目画素の階調値（Ｘ）より大か否か判断する（ステップ４）。
【００１０】
ステップ４で肯定を判断すると、誤差拡散処理部（２）は、注目画素の値（Ｘ）をＸ＝（Ａ＋Ｘ）／２、即ち注目画素と真上ピクセルの値の平均値に変更する。ステップ４で否定を判断した場合には、誤差拡散処理部（２）は、注目画素の値（Ｘ）を変更しない。次に、誤差拡散処理部（２）は、この注目画素との比較に使用した真上ピクセルの値に変えて、この注目画素の値（Ｘ）を真上バッファメモリ（４）に格納（更新）する。この注目画素の値（Ｘ）が真上ピクセルとの比較によって変更されている場合は、その値を格納する（ステップ７）。
【００１１】
次に誤差拡散処理部（２）は、ピクセルの処理が１ライン分終了したか否か判断し（ステップ８）、否定を判断すると、ステップ３に戻り、肯定を判断すると、次にピクセルの処理が全ライン終了したか否か判断し（ステップ９）、肯定を判断すると、誤差拡散処理部を終了する（ステップ１０）。
図３は、注目画素の階調値（Ｘ）が真上ピクセルバッファメモリ（４）の値（Ａ）より小さい場合の具体例を示している。
【００１２】
図中、（１０）は真上ピクセルバッファメモリ（４）に格納されている真上ピクセルデータのライン、（１２）は現在処理中のラインを示している。注目画素の階調値（Ｘ）が例えば４０で、真上ピクセルの階調値（Ａ）が２００であれば、その注目画素の値と真上ピクセルの値の平均は、（２００＋４０）／２＝１２０となり、注目画素の値（Ｘ）は、１２０に修正され、真上ピクセルバッファメモリ（４）の真上ピクセルの値（Ａ）が注目画素の修正された値１２０に更新される。
【００１３】
図４は、注目画素の階調値が真上ピクセルの階調値（Ａ）より大きい場合の具体例を示している。
注目画素の階調値（Ｘ）が例えば２００で、真上ピクセルの階調値（Ａ）が１５０であれば、注目画素の階調値（Ｘ）はそのまま２００に保持され、真上ピクセルバッファメモリ（４）の真上ピクセルの値（Ａ）はその値２００に更新される。
【００１４】
上記処理により画像データ（８）の各画素の階調値を決定した後、各画素が誤差拡散処理法により２値化され、その結果が２値画像メモリ（１４）に格納される。また、処理対象画素の誤差が演算され、その値が誤差バッファメモリ（１６）に格納され、次ラインの処理対象画素への誤差配分データとして使用される。
【００１５】
【発明の効果】
本発明は上述の如く、簡単な方法で高品質の画像処理を行うことができる。
【図面の簡単な説明】
【図１】本発明の処理を示すフローチャートである。
【図２】本発明の説明図である。
【図３】本発明の説明図である。
【図４】本発明の説明図である。
【図５】本発明の機能ブロック説明図である。
【符号の説明】
２      誤差拡散処理部
４      ピクセルバッファメモリ
６      多値画像メモリ
８      画像データ
１０    ライン
１２    ライン
１４    ２値画像メモリ
１６    誤差バッファメモリ
【図１】
0004445150.tif 000002
【図２】
0004445150.tif 000003
【図３】
0004445150.tif 000004
【図４】
0004445150.tif 000005
【図５】
0004445150.tif 000006