(57)【要約】【課題】  疑似輪郭を低減することができる画像処理装置、画像処理方法、及び画像処理プログラムを提供する。【解決手段】  各相対値付近に付加されるノイズ値は、乱数とレートと係数との積で表される。レートは、対応する相対値からシフト量Ｆだけずれた位置にて最大値１を採り、対応する相対値からシフト量Ｆだけずれた位置から＋Range以上及び−Range以下ずれた位置では０を採る。係数としては、ノイズ値と入力画素値との和が、対応する相対値より小さい隣接する相対値に対応する閾値もしくは入力画素値最小値を下回らず、且つ、対応する相対値より大きい隣接する相対値に対応する閾値もしくは入力画素値最大値を上回らないことを確保する値となっている。【選択図】図８
2005110233.tif 000002
【特許請求の範囲】
【請求項１】
複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理装置において、
１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、
該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手段と、
該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、
該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、
該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与することを特徴とする画像処理装置。
【請求項２】
該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
該少なくとも１つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有していることを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの各相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与することを特徴とする請求項１乃至３のいずれかに記載の画像処理装置。
【請求項５】
該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が、該複数の第１の値のうちの最小値以上で、かつ、該複数の第１の値のうちの最大値以下となるように、ノイズ値の大きさを設定することを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも１つの相対値、もしくは、その付近の値に等しい場合に最大となり、該入力画素値が該少なくとも１つの相対値、もしくは、その付近の値から離れるに従い減少することを特徴とする請求項１乃至５のいずれかに記載の画像処理装置。
【請求項７】
複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理装置において、
１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、
該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手段と、
該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、
該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、
該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与し、
該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理装置。
【請求項８】
該少なくとも１つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有していることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
該入力画素値が該少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値を含む所定の範囲内に位置している場合に、該ノイズ付与手段は、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与することを特徴とする請求項７または８に記載の画像処理装置。
【請求項１０】
該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値に等しい場合に最大となり、該入力画素値が該少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値から離れるに従い減少することを特徴とする請求項７乃至９のいずれかに記載の画像処理装置。
【請求項１１】
複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理装置において、
１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、
該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手段と、
該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、
該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、
該少なくとも１つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
該少なくとも１つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理装置。
【請求項１２】
該少なくとも１つの閾値が該下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値より大きくなるように、ノイズ値の大きさを設定し、
該少なくとも１つの閾値が該上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値より小さくなるように、ノイズ値の大きさを設定することを特徴とする請求項１１記載の画像処理装置。
【請求項１３】
該少なくとも１つの閾値が該最近接相対値に対応する最近接閾値と該下側隣接閾値とを含む場合には、該ノイズ付与手段は、該最近接閾値と該下側隣接閾値との差分に基づきノイズ値の大きさを設定することを特徴とする請求項１１または１２に記載の画像処理装置。
【請求項１４】
該最近接相対値が該複数の相対値のうちの最大値である場合には、該ノイズ付与手段は、該複数の第１の値の最大値と該下側隣接閾値との差分に基づきノイズ値の大きさを設定することを特徴とする請求項１１乃至１３のいずれかに記載の画像処理装置。
【請求項１５】
該少なくとも１つの閾値が該最近接相対値に対応する最近接閾値と該上側隣接閾値とを含む場合には、該ノイズ付与手段は、該最近接閾値と該上側隣接閾値との差分に基づきノイズ値の大きさを設定することを特徴とする請求項１１乃至１４のいずれかに記載の画像処理装置。
【請求項１６】
該最近接相対値が該複数の相対値のうちの最小値である場合には、該ノイズ付与手段は、該複数の第１の値の最小値と該上側隣接閾値との差分に基づきノイズ値の大きさを設定することを特徴とする請求項１１乃至１５のいずれかに記載の画像処理装置。
【請求項１７】
該少なくとも１つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に対応する最近接閾値と、該最近接閾値に隣接し該最近接閾値より小さい下側隣接閾値と、該最近接閾値に隣接し該最近接閾値より大きい該上側隣接閾値とを含む場合には、
該ノイズ付与手段は、該入力画素値にノイズ値を加算した値が該下側隣接閾値以上で、かつ、該上側隣接閾値以下となるようにノイズ値の大きさを設定することを特徴とする  請求項１１乃至１６のいずれかに記載の画像処理装置。
【請求項１８】
該ノイズ付与手段は、該入力画素値にノイズ値を加算した値が該下側隣接閾値より大きく該上側隣接閾値より小さくなるようにノイズ値の大きさを設定することを特徴とする請求項１７に記載の画像処理装置。
【請求項１９】
該ノイズ付与手段は、該最近接閾値と該下側隣接閾値との差分と該最近接閾値と該上側隣接閾値との差分とのうち、小さい方の値に基づきノイズ値の大きさを設定することを特徴とする請求項１７または１８に記載の画像処理装置。
【請求項２０】
該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が、該複数の第１の値のうちの最小値以上で、かつ、該複数の第１の値のうちの最大値以下となるように、ノイズ値の大きさを設定することを特徴とする請求項１１乃至１９のいずれかに記載の画像処理装置。
【請求項２１】
前記少なくとも１つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有していることを特徴とする請求項１１乃至２０のいずれかに記載の画像処理装置。
【請求項２２】
該ノイズ付与手段は、該入力画素値が疑似輪郭が発生する疑似輪郭発生画素値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与することを特徴とする請求項１１乃至２１のいずれかに記載の画像処理装置。
【請求項２３】
該疑似輪郭発生画素値は、該複数の相対値のうちの少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値に等しいことを特徴とする請求項１１乃至２２のいずれかに記載の画像処理装置。
【請求項２４】
該入力画素値が該疑似輪郭発生画素値を含む所定の範囲内に位置している場合に、該ノイズ付与手段は、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与することを特徴とする請求項１１乃至２３のいずれかに記載の画像処理装置。
【請求項２５】
該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該疑似輪郭発生画素値に等しい場合に最大となり、該入力画素値が該疑似輪郭発生画素値から離れるに従い減少することを特徴とする請求項１１乃至２４のいずれかに記載の画像処理装置。
【請求項２６】
複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理方法において、
１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、
該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与工程と、
該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、
該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、
該ノイズ付与工程は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与することを特徴とする画像処理方法。
【請求項２７】
複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理方法において、
１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、
該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与工程と、
該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、
該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、
該ノイズ付与工程は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与し、
該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理方法。
【請求項２８】
複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理方法において、
１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、
該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与工程と、
該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、
該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、
該少なくとも１つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
該少なくとも１つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理方法。
【請求項２９】
コンピュータにより実行される、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理プログラムにおいて、
１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、
該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手順と、
該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、
該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、
該ノイズ付与手順は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与することを特徴とする画像処理プログラム。
【請求項３０】
コンピュータにより実行される、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理プログラムにおいて、
１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、
該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手順と、
該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、
該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、
該ノイズ付与手順は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与し、
該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理プログラム。
【請求項３１】
コンピュータにより実行される、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理プログラムにおいて、
１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、
該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手順と、
該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、
該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、
該少なくとも１つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
該少なくとも１つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、および画像処理プログラムに関し、特に、入力画像データと出力画像データの誤差を周辺の画素の画像データに拡散しながら量子化を行う画像処理装置、画像処理方法、および画像処理プログラムに関するものである。
【背景技術】
【０００２】
近年、コンピュータの出力装置として、数色のインクをヘッドから吐出するタイプのカラープリンタ（例えば、インクジェット式のプリンタである）が広く普及し、コンピュータ等が処理した画像を多色多階調で印刷するのに広く用いられている。インクジェット式のプリンタでは、各領域におけるドットの発生比率を制御することにより、入力された階調データに応じた階調を表現している。
【０００３】
かかる考え方に基づき、各画素ごとにドットの発生を制御する方法の一つとして誤差拡散法がある。これは、入力された階調データに基づき表現されるべき濃度とドットの形成の有無により現実に表現される濃度との不一致により各画素ごとに生じる誤差を、周辺の未処理画素に拡散することにより、画像全体として表現される濃度誤差が非常に小さくなるようにドットの形成を制御する方法である。この方法によれば、各画素におけるドットの形成の有無は、入力された階調データに拡散された誤差を反映させた補正データに基づいて行われる。
【０００４】
この誤差拡散法は、ドットの形式を制御する他の方法に比較して画像全体としての誤差を小さくすることができ、画質を向上することができる。また、近年のインクジェットプリンタでは、１ドットをオン・オフの２値ではなく、ドットの大きさの大小を変化させることにより、１ドットあたり３値以上の値を表現できるようにしたものがある。誤差拡散法も、３値以上の多値に対応した多値誤差拡散法が用いられる。
【０００５】
ところが、多値誤差拡散法を行った場合には、階調が連続的に変化するグラデーション部分においていわゆる疑似輪郭が発生するという問題があるが、この疑似輪郭の低減方法が提案されている（例えば、特許文献１参照）。
【０００６】
図１５は、プリンタが１画素あたりにｎ階調（ｎは３以上）を持つ場合に用いられる誤差拡散法における疑似輪郭を低減する処理の概略を説明するブロック図である。
【０００７】
このブロック図は４階調の場合の図である。４階調の出力Ｉｏｕｔは、濃度の大きいほうから、大ドットを出力する、中ドットを出力する、小ドットを出力する、ドットを出力しない、の４値となる。
【０００８】
図１５において、入力値Ｉｉｎが入力されると、それ以前に処理された画素の誤差を、誤差バッファ２１９から読み出し、その値を分散マトリクス２１３によって重み付け加算し、その結果を入力値Ｉｉｎに加えて補正値Ｉｉｎ’を算出する。そして、算出された補正値Ｉｉｎ’と閾値２０３とを比較手段２０５によって比較する。なお、閾値ＴＭＬ，ＴＳＭ，ＴＮＳには、入力値Ｉｉｎに応じたノイズ値２０１が付加されている。
【０００９】
多値誤差拡散法では、閾値２０３は３個の閾値ＴＭＬ，ＴＳＭ，ＴＮＳからなり、補正値Ｉｉｎ’は各閾値ＴＭＬ，ＴＳＭ，ＴＮＳと比較される。ただしＴＭＬ＞ＴＳＭ＞ＴＮＳとする。補正値Ｉｉｎ’が閾値ＴＭＬよりも大きい時には大ドットを出力し、補正値Ｉｉｎ’が閾値ＴＳＭよりも大きい時には中ドットを出力し、補正値Ｉｉｎ’が閾値ＴＮＳよりも大きい時には小ドットを出力し、補正値Ｉｉｎ’が閾値ＴＮＳ以下の時には、ドットを出力しないように処理する。こうして、出力Ｉｏｕｔとして、大ドット、中ドット、小ドット、ドットを出力しない（ドット無し）の４つの状態のうちのいずれかを示す値が出力される。
【００１０】
相対値表２０９には、大ドット、中ドット、小ドット、ドット無しの４つの状態に対応する４つの相対値Ｒが格納されている。なお、相対値Ｒとは、各色ごとに大ドットに対する、大、中、小ドットの相対的な濃度比を示した値である。そこで、変換手段２０８は、出力Ｉｏｕｔに対応する相対値Ｒを、相対値表２０９から選択し読み出す。次に、補正値Ｉｉｎ’と相対値との差を誤差バッファ２１９に登録する。
【００１１】
一方、ノイズ値は、入力値Ｉｉｎが小ドットに対応する相対値Ｒの１／２の値近傍である場合に閾値ＴＭＬ，ＴＳＭ，ＴＮＳに付加される。例えば、シアンインクを使用して小ドットで形成した画像の相対値が６０である場合は、入力値が３０近傍である場合に、ノイズ値が閾値ＴＭＬ，ＴＳＭ，ＴＮＳに付加される。
【００１２】
【特許文献１】特開２００３−９２６８９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記文献に記載されている疑似輪郭を低減する方法によっても疑似輪郭が発生する場合があり、また、ノイズ値の影響で画像が荒れてしまうことがあった。
【００１４】
本発明は、以上の問題を解決するためになされたものであり、疑似輪郭を効果的に低減することができる画像処理装置、画像処理方法、及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１５】
この目的を達成するために、本発明の請求項１記載の画像処理装置は、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理装置において、１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手段と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与するものである。
【００１６】
請求項２記載の画像処理装置は、請求項１記載の画像処理装置であって、該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
【００１７】
請求項３記載の画像処理装置は、請求項１または２記載の画像処理装置であって、該少なくとも１つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有しているものである。
【００１８】
請求項４記載の画像処理装置は、請求項１乃至３のいずれかに記載の画像処理装置であって、該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの各相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与するものである。
【００１９】
請求項５記載の画像処理装置は、請求項１乃至４のいずれかに記載の画像処理装置であって、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が、該複数の第１の値のうちの最小値以上で、かつ、該複数の第１の値のうちの最大値以下となるように、ノイズ値の大きさを設定するものである。
【００２０】
請求項６記載の画像処理装置は、請求項１乃至５のいずれかに記載の画像処理装置であって、該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも１つの相対値、もしくは、その付近の値に等しい場合に最大となり、該入力画素値が該少なくとも１つの相対値、もしくは、その付近の値から離れるに従い減少するものである。
【００２１】
請求項７記載の画像処理装置は、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理装置において、１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手段と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与し、該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
【００２２】
請求項８記載の画像処理装置は、請求項７に記載の画像処理装置であって、該少なくとも１つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有しているものである。
【００２３】
請求項９記載の画像処理装置は、請求項７または８に記載の画像処理装置であって、該入力画素値が該少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値を含む所定の範囲内に位置している場合に、該ノイズ付与手段は、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与するものである。
【００２４】
請求項１０記載の画像処理装置は、請求項７乃至９のいずれかに記載の画像処理装置であって、該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値に等しい場合に最大となり、該入力画素値が該少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値から離れるに従い減少するものである。
【００２５】
請求項１１記載の画像処理装置は、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理装置において、１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手段と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、該少なくとも１つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも１つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
【００２６】
請求項１２記載の画像処理装置は、請求項１１記載の画像処理装置であって、該少なくとも１つの閾値が該下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値より大きくなるように、ノイズ値の大きさを設定し、該少なくとも１つの閾値が該上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値より小さくなるように、ノイズ値の大きさを設定するものである。
【００２７】
請求項１３記載の画像処理装置は、請求項１１または１２に記載の画像処理装置であって、該少なくとも１つの閾値が該最近接相対値に対応する最近接閾値と該下側隣接閾値とを含む場合には、該ノイズ付与手段は、該最近接閾値と該下側隣接閾値との差分に基づきノイズ値の大きさを設定するものである。
【００２８】
請求項１４記載の画像処理装置は、請求項１１乃至１３のいずれかに記載の画像処理装置であって、該最近接相対値が該複数の相対値のうちの最大値である場合には、該ノイズ付与手段は、該複数の第１の値の最大値と該下側隣接閾値との差分に基づきノイズ値の大きさを設定するものである。
【００２９】
請求項１５記載の画像処理装置は、請求項１１乃至１４のいずれかに記載の画像処理装置であって、該少なくとも１つの閾値が該最近接相対値に対応する最近接閾値と該上側隣接閾値とを含む場合には、該ノイズ付与手段は、該最近接閾値と該上側隣接閾値との差分に基づきノイズ値の大きさを設定するものである。
【００３０】
請求項１６記載の画像処理装置は、請求項１１乃至１５のいずれかに記載の画像処理装置であって、該最近接相対値が該複数の相対値のうちの最小値である場合には、該ノイズ付与手段は、該複数の第１の値の最小値と該上側隣接閾値との差分に基づきノイズ値の大きさを設定するものである。
【００３１】
請求項１７記載の画像処理装置は、請求項１１乃至１６のいずれかに記載の画像処理装置であって、該少なくとも１つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に対応する最近接閾値と、該最近接閾値に隣接し該最近接閾値より小さい下側隣接閾値と、該最近接閾値に隣接し該最近接閾値より大きい該上側隣接閾値とを含む場合には、該ノイズ付与手段は、該入力画素値にノイズ値を加算した値が該下側隣接閾値以上で、かつ、該上側隣接閾値以下となるようにノイズ値の大きさを設定するものである。
【００３２】
請求項１８記載の画像処理装置は、請求項１７に記載の画像処理装置であって、該ノイズ付与手段は、該入力画素値にノイズ値を加算した値が該下側隣接閾値より大きく該上側隣接閾値より小さくなるようにノイズ値の大きさを設定するものである。
【００３３】
請求項１９記載の画像処理装置は、請求項１７または１８に記載の画像処理装置であって、該ノイズ付与手段は、該最近接閾値と該下側隣接閾値との差分と該最近接閾値と該上側隣接閾値との差分とのうち、小さい方の値に基づきノイズ値の大きさを設定するものである。
【００３４】
請求項２０記載の画像処理装置は、請求項１１乃至１９のいずれかに記載の画像処理装置であって、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が、該複数の第１の値のうちの最小値以上で、かつ、該複数の第１の値のうちの最大値以下となるように、ノイズ値の大きさを設定するものである。
【００３５】
請求項２１記載の画像処理装置は、請求項１１乃至２０のいずれかに記載の画像処理装置であって、前記少なくとも１つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有しているものである。
【００３６】
請求項２２記載の画像処理装置は、請求項１１乃至２１のいずれかに記載の画像処理装置であって、該ノイズ付与手段は、該入力画素値が疑似輪郭が発生する疑似輪郭発生画素値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与するものである。
【００３７】
請求項２３記載の画像処理装置は、請求項１１乃至２２のいずれかに記載の画像処理装置であって、該疑似輪郭発生画素値は、該複数の相対値のうちの少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値に等しいものである。
【００３８】
請求項２４記載の画像処理装置は、請求項１１乃至２３のいずれかに記載の画像処理装置であって、該入力画素値が該疑似輪郭発生画素値を含む所定の範囲内に位置している場合に、該ノイズ付与手段は、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与するものである。
【００３９】
請求項２５記載の画像処理装置は、請求項１１乃至２４のいずれかに記載の画像処理装置であって、該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該疑似輪郭発生画素値に等しい場合に最大となり、該入力画素値が該疑似輪郭発生画素値から離れるに従い減少するものである。
【００４０】
請求項２６記載の画像処理方法は、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理方法において、１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与工程と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、該ノイズ付与工程は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与するものである。
【００４１】
請求項２７記載の画像処理方法は、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理方法において、１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与工程と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、該ノイズ付与工程は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与し、該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
【００４２】
請求項２８記載の画像処理方法は、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理方法において、１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与工程と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、該少なくとも１つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも１つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
【００４３】
請求項２９記載の画像処理プログラムは、コンピュータにより実行される、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理プログラムにおいて、１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手順と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、該ノイズ付与手順は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与するものである。
【００４４】
請求項３０記載の画像処理プログラムは、コンピュータにより実行される、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理プログラムにおいて、１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手順と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、該ノイズ付与手順は、該入力画素値が該複数の相対値のうちの少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも１つの閾値に対しノイズを付与し、該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも１つの閾値が、該少なくとも１つの相対値に隣接し該少なくとも１つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
【００４５】
請求項３１記載の画像処理プログラムは、コンピュータにより実行される、複数の互いに異なる第１の値のうちのいずれか１つにより特定される入力画素値から、誤差拡散法によって少なくとも１つの閾値を用いて、階調数が第１の値の階調数よりも少ない複数の互いに異なる第２の値のうちのいずれか１つにより特定される出力画素値を出力する画像処理プログラムにおいて、１つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも１つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも１つの閾値にノイズを付与するノイズ付与手順と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも１つの閾値とを比較し、該少なくとも１つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも１つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、該複数の第２の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、該少なくとも１つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも１つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
【発明の効果】
【００４６】
請求項１に記載の画像処理装置によれば、画像のうち、入力画素値が相対値もしくはその付近の値である位置に生じる疑似輪郭を低減することができる。
【００４７】
請求項２に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止することができる。
【００４８】
請求項３に記載の画像処理装置によれば、入力画素値が示す入力画像を、出力画素値が示す出力画像により高精度に再現することができる。
【００４９】
請求項４に記載の画像処理装置によれば、画像のうち、入力画素値が複数の相対値もしくはその付近の値である位置に生じる複数の疑似輪郭を低減することができる。
【００５０】
請求項５に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が複数の第１の値のうちの最小値を下回らず最大値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを一層効果的に防止することができる。
【００５１】
請求項６に記載の画像処理装置によれば、入力画素値が少なくとも１つの相対値、もしくは、その付近の値である場合においてノイズ値の絶対値が最大となるので、入力画素値が相対値もしくはその付近の値である位置に生じる疑似輪郭を低減することができ、しかも、ノイズの付与し過ぎによる画像のがさつきや荒れを効果的に防止することができる。
【００５２】
請求項７に記載の画像処理装置によれば、画像のうち、入力画素値が相対値もしくは相対値から所定の値ずれた値である位置に生じる疑似輪郭を低減することができる。また、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止することができる。
【００５３】
請求項８に記載の画像処理装置によれば、入力画素値が示す入力画像を、出力画素値が示す出力画像により高精度に再現することができる。
【００５４】
請求項９に記載の画像処理装置によれば、ノイズ値を付加する範囲が限定されているため、画像のがさつきや荒れを防止することができる。
【００５５】
請求項１０に記載の画像処理装置によれば、入力画素値が少なくとも１つの相対値、もしくは、該少なくとも１つの相対値から所定の値ずれた値である場合においてノイズ値の絶対値が最大となるので、入力画素値が相対値もしくは相対値から所定の値ずれた値である位置に生じる疑似輪郭を低減することができ、しかも、ノイズの付与し過ぎによる画像のがさつきや荒れを効果的に防止することができる。
【００５６】
請求項１１に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止しつつ、疑似輪郭を低減することができる。
【００５７】
請求項１２に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が下側隣接閾値や上側隣接閾値と等しくならないので、ノイズの付与し過ぎによる画像のがさつきや荒れをより効果的に防止することができる。
【００５８】
請求項１３に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該下側隣接閾値を下回らないことを確保できる。
【００５９】
請求項１４に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該下側隣接閾値を下回らないことを確保できる。
【００６０】
請求項１５に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該上側隣接閾値を上回らないことを確保できる。
【００６１】
請求項１６に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該上側隣接閾値を上回らないことを確保できる。
【００６２】
請求項１７に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該下側隣接閾値と該上側隣接閾値との間に位置するので、ノイズの付与し過ぎによる画像のがさつきや荒れを効果的に防止することができる。
【００６３】
請求項１８に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該下側隣接閾値や該上側隣接閾値と等しくならないので、ノイズの付与し過ぎによる画像のがさつきや荒れをより効果的に防止することができる。
【００６４】
請求項１９に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該下側隣接閾値と該上側隣接閾値との間に位置することを確保することができる。
【００６５】
請求項２０に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が複数の第１の値のうちの最小値を下回らず最大値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを一層効果的に防止することができる。
【００６６】
請求項２１に記載の画像処理装置によれば、入力画素値が示す入力画像を、出力画素値が示す出力画像により高精度に再現することができる。
【００６７】
請求項２２に記載の画像処理装置によれば、疑似輪郭を効率的に低減することができる。
【００６８】
請求項２３に記載の画像処理装置によれば、画像のうち、入力画素値が相対値、もしくは、相対値から所定の値ずれた値である位置に生じる疑似輪郭を低減することができる。
【００６９】
請求項２４に記載の画像処理装置によれば、ノイズ値を付加する範囲が限定されているため、画像のがさつきや荒れを防止することができる。
【００７０】
請求項２５に記載の画像処理装置によれば、入力画素値が疑似輪郭発生画素値である場合においてノイズ値の絶対値が最大となるので、疑似輪郭を低減することができ、しかも、ノイズの付与し過ぎによる画像のがさつきや荒れを効果的に防止することができる。
【００７１】
請求項２６に記載の画像処理方法によれば、画像のうち、入力画素値が相対値もしくはその付近の値である位置に生じる疑似輪郭を低減することができる。
【００７２】
請求項２７に記載の画像処理方法によれば、画像のうち、入力画素値が相対値もしくは相対値から所定の値ずれた値である位置に生じる疑似輪郭を低減することができる。また、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止することができる。
【００７３】
請求項２８に記載の画像処理方法によれば、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止しつつ、疑似輪郭を低減することができる。
【００７４】
請求項２９に記載の画像処理プログラムによれば、画像のうち、入力画素値が相対値もしくはその付近の値である位置に生じる疑似輪郭を低減することができる。
【００７５】
請求項３０に記載の画像処理プログラムによれば、画像のうち、入力画素値が相対値もしくは相対値から所定の値ずれた値である位置に生じる疑似輪郭を低減することができる。また、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止することができる。
【００７６】
請求項３１に記載の画像処理プログラムによれば、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止しつつ、疑似輪郭を低減することができる。
【発明を実施するための最良の形態】
【００７７】
以下、本発明の実施の形態について、図面を参照して説明する。
【００７８】
図１を参照して、本実施の形態の画像処理装置１の構成を説明する。画像処理装置１は、パーソナルコンピュータからなる。画像処理装置１は、ネットワーク４を介して、プリンタ５に接続されている。
【００７９】
画像処理装置１は、シアン、マゼンタ、イエロー、ブラックの４つのインク色の各色につき、１画素あたり２５６階調を示す画像データ（以下、入力画素値Ｉｉｎという）を多値誤差拡散処理して４階調の出力画素値Ｉｏｕｔに変換する。ここで、２５６階調の入力画素値Ｉｉｎは、８ビットで表される０以上２５５以下の２５６個の値のうちのいずれかの値を有している。なお、入力画素値Ｉｉｎが採りうる最大値（この例では、２５５）を、以下、入力画素値最大値Ｉｍａｘといい、入力画素値Ｉｉｎが採りうる最小値（この例では、０）を、以下、入力画素値最小値Ｉｍｉｎという。また、４階調の出力Ｉｏｕｔは、濃度の大きいほうから、大ドットを出力する、中ドットを出力する、小ドットを出力する、ドットを出力しない、の４値のうちのいずれかの値を有している。プリンタ５は、出力画素値Ｉｏｕｔに基づき、対応する色のインクにて、１画素あたり４階調の画像を生成する。
【００８０】
画像処理装置１は、ＣＰＵ１０、ＲＯＭ１２，ＲＡＭ１４，ハードディスク（ＨＤ）１６，ＣＤ−ＲＯＭドライブ１８、ネットワークインターフェース２０、及び、入／出力インターフェース２２等を備えている。入／出力インターフェース２２は、ディスプレイ２４、キーボード２６、及び、マウス２８等に接続されている。
【００８１】
ＣＰＵ１０は、ＲＯＭ１２やハードディスク１６に格納されたプログラムや、図示しないＣＤ−ＲＯＭからＣＤ−ＲＯＭドライブ１８を介して供給されたプログラムを実行することにより、画像処理装置１全体の動作を制御する。
【００８２】
ＲＯＭ１２には、画像処理装置１の動作に必要なプログラムやデータが格納されている。
【００８３】
ハードディスク１６には、本実施の形態の多値誤差拡散処理プログラム２９と共に、閾値表３０，相対値表３２，及び、分散マトリックス３４が格納されている。
【００８４】
ハードディスク１６には、画像データを作成したり画像データの印字を指示するためのアプリケーションも格納されている。
【００８５】
ＲＡＭ１４には、画像データを記憶する領域が用意されている。ＲＡＭ１４には、誤差バッファ３６も用意されている。
【００８６】
ネットワークインターフェース２０は、ネットワーク４に接続されている。
【００８７】
ＣＰＵ１０は、入／出力インターフェースを介して、ディスプレイ２４を制御して所望の表示を行うと共に、キーボード２６やマウス２８を介して入力されたユーザの指示を受け取る。
【００８８】
ユーザがアプリケーションに対し画像の印字を指示すると、ＣＰＵ１０は、本実施の形態の多値誤差拡散処理プログラム２９を実行して、各入力画素値Ｉｉｎを出力画素値Ｉｏｕｔに変換しプリンタ５に出力する。
【００８９】
プリンタ５は、ネットワークインターフェース５０と、ＣＰＵ５２と、ＲＯＭ５４と、ＲＡＭ５６と、印字部５８等を備えている。ネットワークインターフェース５０は、ネットワーク４に接続されている。印字部５８は、シアン、マゼンタ、イエロー、ブラックの４つの色のインクにて印字を行うことができる。画像処理装置１から送信されてきた４階調の出力画素値Ｉｏｕｔは、ＲＡＭ５６にいったん格納される。ＣＰＵ５２は、ＲＯＭ５４に格納されている印字プログラムを実行することにより、ＲＡＭ５６に格納されている出力画素値Ｉｏｕｔに基づき、印字部５８を制御して、印字を行う。
【００９０】
図２に示すように、ＣＰＵ１０は、本実施の形態の多値誤差拡散処理プログラム２９を実行することにより、ノイズ生成工程１０１，入力画素値補正工程１０２，ノイズ値加算工程１０４，比較工程１０５，変換工程１０８，及び、誤算演算工程１１２を実行する。
【００９１】
なお、１つの画像には、複数の画素が、互いに垂直なＸ方向及びＹ方向に２次元状に配置されている。すなわち、総計（Ｘｍａｘ＋１）ｘ（Ｙｍａｘ＋１）個の画素が、（Ｙｍａｘ＋１）行ｘ（Ｘｍａｘ＋１）列に２次元状に配置されている。多値誤差拡散処理においては、まず、Ｙ＝０の位置においてＸ方向に延びるライン上の全画素（０，０）〜（Ｘｍａｘ、０）が、この順に１画素ずつ処理される。次に、Ｙ＝１の位置においてＸ方向に延びるライン上の全画素（０，１）〜（Ｘｍａｘ、１）が、この順に１画素ずつ処理される。こうして、Ｙ＝０のラインからＹ＝Ｙｍａｘ−１のラインまで１ラインずつ順に処理される。最後に、Ｙ＝Ｙｍａｘの位置においてＸ方向に延びるライン上の全画素（０，Ｙｍａｘ）〜（Ｘｍａｘ、Ｙｍａｘ）が、この順に１画素ずつ処理される。
【００９２】
分散マトリックス３４は、例えば、図３に示すように、１２個の重み付け係数を格納している。これら重み付け係数は、入力された任意の画素（Ｘ、Ｙ）の入力画素値Ｉｉｎに対し、既に処理された１２個の周辺画素（Ｘ−２，Ｙ−２）、（Ｘ−１，Ｙ−２）、（Ｘ，Ｙ−２）、（Ｘ＋１，Ｙ−２）、（Ｘ＋２，Ｙ−２）、（Ｘ−２，Ｙ−１）、（Ｘ−１，Ｙ−１）、（Ｘ，Ｙ−１）、（Ｘ＋１，Ｙ−１）、（Ｘ＋２，Ｙ−１）、（Ｘ−２，Ｙ）、（Ｘ−１，Ｙ）で発生した誤差を分配する際に使用される。
【００９３】
相対値表３２には、図４に示すように、各色ごとに、大、中、小ドット、及び、ドット無しの４つの状態に対応する４つの相対値ＲＬ、ＲＭ、ＲＳ、ＲＮが設定されている。相対値ＲＬ、ＲＭ、ＲＳ、ＲＮは、それぞれ、大ドットにて得られる濃度を２５５として、大ドットに対する、大、中、小ドット、及び、ドット無しの相対的な濃度比を示している。相対値は、インクの種類、メディア、解像度などのプリンタ５の印刷条件によって異なっており、相対値表３２には、各色毎の相対値がそれぞれの条件ごとに記憶されている。図４には、１つの条件に対して設定された各色毎の相対値が示されている。
【００９４】
閾値表３０には、図５に示すように、各色ごとに、ドット無しもしくは小ドット形成を決定するための閾値ＴＮＳ、小ドットもしくは中ドット形成を決定するための閾値ＴＳＭ、及び、中ドットもしくは大ドット形成を決定するための閾値ＴＭＬが設定されている。なお、いずれの色においても、ＴＭＬ＞ＴＳＭ＞ＴＮＳの関係が満足されている。閾値ＴＮＳ、ＴＳＭ、及び、ＴＭＬは、それぞれ、相対値ＲＮ、ＲＳ、ＲＭに対応している。この例では、各閾値ＴＮＳ、ＴＳＭ、及び、ＴＭＬの値は、それぞれ、対応する相対値ＲＮ、ＲＳ、ＲＭと等しい。
【００９５】
ＣＰＵ１０は、多値誤差拡散処理プログラム２９を実行することにより、図２に示すように動作して本実施の形態の画像処理方法（多値誤差拡散処理）を実行する。
【００９６】
まず、ＣＰＵ１０は、１つの画素（Ｘ、Ｙ）についての１つの色（例えばシアン）に関する入力画素値Ｉｉｎ（０〜２５５内の値）を受け取ると、ノイズ生成工程１０１を実行し、入力画素値Ｉｉｎに応じてノイズ値Ｎを演算する。
【００９７】
以下、ノイズ値Ｎの演算方法を説明する。
【００９８】
まず、ＣＰＵ１０は、以下の方法によりレートを求める。
【００９９】
ＣＰＵ１０は、まず、当該色（シアン）に対する４つの相対値ＲＮ、ＲＳ、ＲＭ、ＲＬ（この例では、０，１０６，１９２，２５５）を相対値表３２から読み出す。ＣＰＵ１０は、以下の４つの数式を演算することにより、第１〜第４のレートを求める。
第１のレート＝１−｛［ａｂｓ（Ｉｉｎ  −  ＲＮ  −  Ｆ）］／Range｝
第２のレート＝１−｛［ａｂｓ（Ｉｉｎ  −  ＲＳ  −  Ｆ）］／Range｝
第３のレート＝１−｛［ａｂｓ（Ｉｉｎ  −  ＲＭ  −  Ｆ）］／Range｝
第４のレート＝１−｛［ａｂｓ（Ｉｉｎ  −  ＲＬ  −  Ｆ）］／Range｝
なお、ａｂｓ（  ）は、（  ）内の数値の絶対値を表す。Ｆはシフト量であり、この例では２である。Rangeはノイズ発生範囲を示し、この例では１０である。なお、各レートについて、演算結果が０以下となった場合には、当該レートを強制的に０に設定する。
【０１００】
これら第１〜第４のレートの一般式は、以下の数式（１）で表される。
【０１０１】
レート＝１−｛［ａｂｓ（Ｉｉｎ  −  Ｒｊ  −  Ｆ）］／Range｝  ・・・（１）
ここで、ｊ＝Ｎ、Ｓ、Ｍ、あるいは、Ｌである。図６に、数式（１）で定義されるレートが入力画素値Ｉｉｎに応じて変化する様子を示す。横軸は入力画素値Ｉｉｎを表し、縦軸はレートを表す。図６に示すように、レートは、Ｉｉｎｊ＝Ｒ＋Ｆにて最大値１を採り、Ｉｉｎ＝Ｒｊ＋Ｆから離れるに従って徐々に小さくなり、Ｉｉｎ≦（Ｒｊ＋Ｆ）−Range、及び、Ｉｉｎ≧（Ｒｊ＋Ｆ）＋Rangeでは、強制的に０に設定される。
【０１０２】
ＣＰＵ１０は、第１〜第４のレートのうちの最大値を選択して、当該入力値Ｉｉｎに対するレートとして設定する。したがって、レートは、０もしくは正の値となる。
【０１０３】
次に、ＣＰＵ１０は、以下の方法により、係数を求める。
【０１０４】
入力値Ｉｉｎが入力画素値最小値Ｉｍｉｎ（０）以上で（ＲＮ＋ＲＳ）／２（この例では、５３）より小さい場合には、ＣＰＵ１０は、閾値表３０より閾値ＴＳＭ（この例では、１０６）を読み出し、係数を（ＴＳＭ−Ｉｍｉｎ）／Ｇに設定する。なお、値Ｇは所定の規格化定数であり、この例では２９１である。したがって、この例では、係数を１０６／２９１に設定する。
【０１０５】
一方、入力値Ｉｉｎが（ＲＮ＋ＲＳ）／２（この例では、５３）以上で（ＲＳ＋ＲＭ）／２（この例では、１４９）より小さい場合には、ＣＰＵ１０は、閾値表３０より閾値ＴＭＬ、ＴＳＭ、ＴＮＳ（この例では、１９２，１０６、０）を読み出し、係数を、（ＴＳＭ−ＴＮＳ）／Ｇと（ＴＭＬ−ＴＳＭ）／Ｇとのうち、小さい方に設定する。この例では、係数を、１０６／２９１と８６／２９１のうちの小さい方である８６／２９１に設定する。
【０１０６】
一方、入力値Ｉｉｎが（ＲＳ＋ＲＭ）／２（この例では、１４９）以上で（ＲＭ＋ＲＬ）／２（この例では、２２４）より小さい場合には、ＣＰＵ１０は、閾値表３０より閾値ＴＭＬ、ＴＳＭ（この例では、１９２，１０６）を読み出し、係数を、（ＴＭＬ−ＴＳＭ）／Ｇと（Ｉｍａｘ−ＴＭＬ）／Ｇのうち、小さい方に設定する。この例では、係数を、８６／２９１と６３／２９１のうちの小さい方である６３／２９１に設定する。
【０１０７】
一方、入力値Ｉｉｎが（ＲＭ＋ＲＬ）／２（この例では、２２４）以上で入力画素値最大値Ｉｍａｘ（２５５）以下の場合には、係数を、（Ｉｍａｘ−ＴＭＬ）／Ｇに設定する。この例では、６３／２９１に設定する。
【０１０８】
次に、ＣＰＵ１０は、乱数を発生させる。なお、入力画素値ＩｉｎがＩｍｉｎ（０）以上で（ＲＮ＋ＲＳ）／２より小さい場合には、乱数を、０以上＋２５５以下の範囲で発生させる。入力画素値Ｉｉｎが（ＲＮ＋ＲＳ）／２（この例では５３）以上で（ＲＭ＋ＲＬ）／２（この例では２２４）より小さい場合には、乱数を、−２５５以上＋２５５以下の範囲で発生させる。入力画素値Ｉｉｎが（ＲＭ＋ＲＬ）／２以上でＩｍａｘ（２５５）以下の場合には、乱数を、−２５５以上０以下の範囲で発生させる。
【０１０９】
次に、ＣＰＵ１０は、上記のようにして求めたレート、係数、及び、乱数を掛け合わせてノイズ値Ｎを求める。すなわち、ＣＰＵ１０は、以下の数式（２）を演算することにより、ノイズ値Ｎを求める。
【０１１０】
ノイズ値Ｎ＝レート × 係数 × 乱数  ・・・（２）
次に、ＣＰＵ１０は、入力画素値補正工程１０２を実行し、現在処理中の画素（Ｘ、Ｙ）の周辺に位置する処理済みの１２個の画素の誤差を、誤差バッファ３６から読み出し、その値を分散マトリクス３４によって重み付け加算し、その結果を入力値Ｉｉｎに加えて入力画素補正値Ｉｉｎ’を算出する。より詳しくは、ＣＰＵ１０は、画素（Ｘ−２，Ｙ−２）で生じた誤差の１／４８と、画素（Ｘ−１，Ｙ−２）で生じた誤差の３／４８と、画素（Ｘ，Ｙ−２）で生じた誤差の５／４８と、画素（Ｘ＋１，Ｙ−２）で生じた誤差の３／４８と、画素（Ｘ＋２，Ｙ−２）で生じた誤差の１／４８と、画素（Ｘ−２，Ｙ−１）で生じた誤差の３／４８と、画素（Ｘ−１，Ｙ−１）で生じた誤差の５／４８と、画素（Ｘ，Ｙ−１）で生じた誤差の７／４８と、画素（Ｘ＋１，Ｙ−１）で生じた誤差の５／４８と、画素（Ｘ＋２，Ｙ−１）で生じた誤差の３／４８と、画素（Ｘ−２，Ｙ）で生じた誤差の５／４８と、画素（Ｘ−１，Ｙ）で生じた誤差の７／４８とを、入力画素値Ｉｉｎに加算して、入力画素補正値Ｉｉｎ’を生成する。
【０１１１】
次に、ＣＰＵ１０は、ノイズ値加算工程１０４を実行し、入力画素補正値Ｉｉｎ’にノイズ値Ｎを加算し、値（Ｉｉｎ’＋Ｎ）を求める。
【０１１２】
次に、ＣＰＵ１０は、比較工程１０５を実行する。すなわち、ＣＰＵ１０は図７に示す比較処理を実行する。ＣＰＵ１０は、まず、（Ｉｉｎ’＋Ｎ）が閾値ＴＭＬより大きいか判断する（Ｓ１０）。大きい場合（Ｓ１０にてｙｅｓ）には、大ドットを設定する（Ｓ２２）。一方、（Ｉｉｎ’＋Ｎ）が閾値ＴＭＬ以下の場合（Ｓ１０にてｎｏ）には、（Ｉｉｎ’＋Ｎ）が閾値ＴＳＭより大きいか判断する（Ｓ１２）。大きい場合（Ｓ１２にてｙｅｓ）には、中ドットを設定する（Ｓ２０）。一方、（Ｉｉｎ’＋Ｎ）が閾値ＴＳＭ以下の場合（Ｓ１２にてｎｏ）には、（Ｉｉｎ’＋Ｎ）が閾値ＴＮＳより大きいか判断する（Ｓ１４）。大きい場合（Ｓ１４にてｙｅｓ）には、小ドットを設定する（Ｓ１８）。一方、（Ｉｉｎ’＋Ｎ）が閾値ＴＮＳ以下の場合（Ｓ１４にてｎｏ）には、ドット無しを設定する（Ｓ１６）。ＣＰＵ１０は、こうして設定された大ドット、中ドット、小ドット、ドット無しのいずれかの状態を示す値を、出力画素値Ｉｏｕｔとして、プリンタ５に対し出力する。
【０１１３】
なお、判断工程Ｓ１０，Ｓ１２、Ｓ１４では、（Ｉｉｎ’＋Ｎ）が閾値より大きいか否かを判断している。このため、（Ｉｉｎ’＋Ｎ）が閾値と等しい場合には、Ｓ１０，Ｓ１２，Ｓ１４の判断が否定となり、閾値より小さい場合と同様に処理される。しかしながら、（Ｉｉｎ’＋Ｎ）が閾値以上か否かを判断しても良い。この場合には、（Ｉｉｎ’＋Ｎ）が閾値と等しい場合には、Ｓ１０，Ｓ１２，Ｓ１４の判断が肯定となり、閾値より大きい場合と同様に処理されることになる。
【０１１４】
次に、ＣＰＵ１０は、変換工程１０８を実行する。すなわち、ＣＰＵ１０は、出力画素値Ｉｏｕｔに対応する相対値ＲＬ、ＲＭ、ＲＳ、もしくは、ＲＮを、相対値表３２から選択し読み出す。すなわち、出力画素値Ｉｏｕｔが大ドットなら相対値ＲＬを読み出し、出力画素値Ｉｏｕｔが中ドットなら相対値ＲＭを読み出し、出力画素値Ｉｏｕｔが小ドットなら相対値ＲＳを読み出し、出力画素値Ｉｏｕｔがドット無しなら相対値ＲＮを読み出す。
【０１１５】
次に、ＣＰＵ１０は、誤差演算工程１１２を実行し、読み出された相対値と補正値Ｉｉｎ’との差を誤差バッファ３６に登録する。
【０１１６】
こうして、１つの画素（Ｘ、Ｙ）に対する多値誤差拡散処理を終了すると、次の画素に対する多値誤差拡散処理に移行する。
【０１１７】
以下、ノイズ生成工程１０１において生成するノイズ値Ｎについて、より詳細に説明する。
【０１１８】
図８は、入力画素値Ｉｉｎと、入力画素値Ｉｉｎとノイズ値Ｎとの和（Ｉｉｎ＋Ｎ）との関係を示す図である。横軸は入力画素値Ｉｉｎ、縦軸は（Ｉｉｎ＋Ｎ）の値を示す。（Ｉｉｎ＋Ｎ）の値が採りうる範囲を斜線で示す。横軸には、相対値ＲＮ、ＲＳ、ＲＭ、ＲＬ、及び、これらの例として、シアンについての値が（）内の値として付記されている。また、縦軸には、閾値ＴＮＳ、ＴＳＭ、ＴＭＬと、これらの例として、シアンについての値が（）内の値として付記されている。また、横軸及び縦軸には、入力画素値最小値Ｉｍｉｎ（０）と入力画素値最大値Ｉｍａｘ（２５５）も、付記されている。
【０１１９】
入力画素値Ｉｉｎは、横軸方向において定義されている領域ＤＮ、ＤＳ、ＤＭ、ＤＬ内のいずれかに位置する。領域ＤＮは、Ｉｍｉｎ（０）以上で（ＲＮ＋ＲＳ）／２より小さい範囲、領域ＤＳは、（ＲＮ＋ＲＳ）／２以上で（ＲＳ＋ＲＭ）／２より小さい範囲、領域ＤＭは、（ＲＳ＋ＲＭ）／２以上で（ＲＭ＋ＲＬ）／２より小さい範囲、領域ＤＬは（ＲＭ＋ＲＬ）／２以上でＩｍａｘ（２５５）以下の範囲である。
【０１２０】
また、縦軸方向における閾値ＴＮＳと閾値ＴＳＭとの間の範囲、閾値ＴＳＭと閾値ＴＭＬとの間の範囲、及び、閾値ＴＭＬと入力画素値最大値Ｉｍａｘ（２５５）との間の範囲を、それぞれ、Ｈ１，Ｈ２，Ｈ３とする。範囲Ｈ１，Ｈ２，Ｈ３の量を、それぞれ、ｈ１，ｈ２，ｈ３とする。すなわち、ｈ１＝ＴＳＭ−ＴＮＳ、ｈ２＝ＴＭＬ−ＴＳＭ、ｈ３＝Ｉｍａｘ−ＴＭＬ＝２５５−ＴＭＬである。なお、この例では、閾値ＴＮＳは入力画素値最小値Ｉｍｉｎ（０）と等しいため、ｈ１＝ＴＳＭ−ＴＮＳ＝ＴＳＭ−Ｉｍｉｎ＝ＴＳＭである。
【０１２１】
ところで、１つの画像に対しノイズ値Ｎを付加することなく多値誤差拡散処理すると、入力画素値Ｉｉｎが相対値ＲＮ、ＲＳ、ＲＭ、もしくは、ＲＬ、あるいは、相対値付近の値（ＲＮ＋Ｆ）、（ＲＳ＋Ｆ）、（ＲＭ＋Ｆ）、（ＲＬ＋Ｆ）に等しい位置で疑似輪郭が発生する可能性がある。
【０１２２】
例えば、処理しようとする画像がグラデーション画像であり、その濃度がＹ方向に沿って徐々に濃くなっていくもの（以下、正のグラデーション画像という）である場合、Ｙ方向に誤差拡散を進めていくにつれ、ドットの遅れが生じる。このため、相対値ＲＮ、ＲＳ、ＲＭ、ＲＬよりわずかに濃度が高い部分で擬似輪郭が発生するおそれがある。そこで、相対値ＲＮ、ＲＳ、ＲＭ、ＲＬよりわずかに高い濃度値を疑似輪郭発生濃度値（ＲＮ＋Ｆ）、（ＲＳ＋Ｆ）、（ＲＭ＋Ｆ）、（ＲＬ＋Ｆ）として設定し、入力画素値が疑似輪郭発生濃度値近傍の値である場合にノイズを発生させればよいことがわかる。この場合、シフト量Ｆは正の値である。なお、シフト量Ｆは入力画素値０〜２５５に対し、例えば、２である。
【０１２３】
一方、濃度がＹ方向に沿って徐々に薄くなっていく負のグラデーション画像に対しては、やはり、ドットの遅れにより、相対値ＲＮ、ＲＳ、ＲＭ、ＲＬと等しいか相対値ＲＮ、ＲＳ、ＲＭ、ＲＬよりわずかに濃度が低い部分で擬似輪郭が発生するおそれがある。そこで、相対値ＲＮ、ＲＳ、ＲＭ、ＲＬと等しいか相対値ＲＮ、ＲＳ、ＲＭ、ＲＬよりわずかに低い濃度値を疑似輪郭発生濃度値（ＲＮ＋Ｆ）、（ＲＳ＋Ｆ）、（ＲＭ＋Ｆ）、（ＲＬ＋Ｆ）として設定し、入力画素値が疑似輪郭発生濃度値近傍の値である場合にノイズを発生させれば良いことがわかる。この場合、シフト量Ｆは０もしくは負の値である。
【０１２４】
このため、本実施の形態では、ノイズ生成工程１０１では、（ＲＮ＋Ｆ）−Range〜（ＲＮ＋Ｆ）＋Rangeの範囲内、（ＲＳ＋Ｆ）−Range〜（ＲＳ＋Ｆ）＋Rangeの範囲内、（ＲＭ＋Ｆ）−Range〜（ＲＭ＋Ｆ）＋Rangeの範囲内、及び、（ＲＬ＋Ｆ）−Range〜（ＲＬ＋Ｆ）＋Rangeの範囲内の入力画素値に対してノイズが生成される。
【０１２５】
なお、（ＲＮ＋Ｆ）−Range〜（ＲＮ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎは領域ＤＮ内に位置し、（ＲＳ＋Ｆ）−Range〜（ＲＳ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎは領域ＤＳ内に位置し、（ＲＭ＋Ｆ）−Range〜（ＲＭ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎは領域ＤＭ内に位置し、（ＲＬ＋Ｆ）−Range〜（ＲＬ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎは領域ＤＬ内に位置している。したがって、（ＲＮ＋Ｆ）−Range〜（ＲＮ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎは、全相対値ＲＮ、ＲＳ、ＲＭ、ＲＬのうち相対値ＲＮに最も近接している。（ＲＳ＋Ｆ）−Range〜（ＲＳ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎは全相対値ＲＮ、ＲＳ、ＲＭ、ＲＬのうち相対値ＲＳに最も近接している。（ＲＭ＋Ｆ）−Range〜（ＲＭ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎは全相対値ＲＮ、ＲＳ、ＲＭ、ＲＬのうち相対値ＲＳに最も近接している。（ＲＬ＋Ｆ）−Range〜（ＲＬ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎは全相対値ＲＮ、ＲＳ、ＲＭ、ＲＬのうち相対値ＲＬに最も近接している。
【０１２６】
このように、ノイズ生成工程１０１では、ノイズが、各疑似輪郭発生濃度値（ＲＮ＋Ｆ）、（ＲＳ＋Ｆ）、（ＲＭ＋Ｆ）、（ＲＬ＋Ｆ）を中心とした２ｘRangeの範囲内の入力画素値に対してのみ生成される。ノイズを生成する入力画素値範囲が広すぎると、画像が荒れてしまうからである。なお、ノイズ発生範囲Rangeの値は入力画素値０〜２５５に対し１０が最適であることを、実験により確認した。
【０１２７】
以下、各範囲で発生させるノイズ値Ｎについて、詳細に説明する。
＜（ＲＮ＋Ｆ）−Range≦Ｉｉｎ≦（ＲＮ＋Ｆ）＋Range＞
（ＲＮ＋Ｆ）−Range≦Ｉｉｎ≦（ＲＮ＋Ｆ）＋Rangeの入力画素値Ｉｉｎに対して発生させるノイズ値Ｎ（以下、ノイズＮＮという）は、以下の数式によって定義される。なお、ノイズ値ＮＮは、正の値またはゼロ（０）である。
ノイズＮＮ＝（係数）Ｎｘ（レート）Ｎｘ（乱数）Ｎ
ここで、（レート）Ｎ＝｛１−［ａｂｓ（Ｉｉｎ  −  ＲＮ  −  Ｆ）／Range］｝である。（レート）Ｎは、Ｉｉｎ＝ＲＮ＋Ｆにて最大値１を採り、Ｉｉｎ＝ＲＮ＋Ｆから離れるに従って徐々に小さくなり、Ｉｉｎ＝（ＲＮ＋Ｆ）−Range、及び、Ｉｉｎ＝（ＲＮ＋Ｆ）＋Rangeでゼロ（０）となる。このため、投入するノイズ値が大きすぎることがなく、画像が荒れることを防止できる。
【０１２８】
（乱数）Ｎは、０以上２５５以下の周期性の無い白色ノイズである。
【０１２９】
（係数）Ｎは、入力画素値ＩｉｎとノイズＮＮとの和「Ｉｉｎ＋ＮＮ」が、範囲Ｈ１内、すなわち、入力画素値最小値Ｉｍｉｎ（０）と閾値ＴＳＭ（１０６）との間に位置することを保証する大きさを有している。画像が荒れるのを防止するためである。
【０１３０】
ここで、和「Ｉｉｎ＋ＮＮ」は入力画素値最小値Ｉｍｉｎ（０）以上であれば良い。和「Ｉｉｎ＋ＮＮ」が入力画素値最小値Ｉｍｉｎ（０）を下回ると、画像が荒れやすいからである。
【０１３１】
また、和「Ｉｉｎ＋ＮＮ」は閾値ＴＳＭ（１０６）以下であれば良い。和「Ｉｉｎ＋ＮＮ」が閾値ＴＳＭ（１０６）を上回ると、入力画素補正値Ｉｉｎ’とノイズＮＮとの和「Ｉｉｎ’＋ＮＮ」が閾値ＴＳＭ（１０６）を上回ってしまいやすくなり（Ｓ１２でｙｅｓ）、中ドットが誤って生じて画像が荒れてしまうからである。
【０１３２】
ただし、和「Ｉｉｎ＋ＮＮ」は閾値ＴＳＭ（１０６）より小さいことがより好ましい。和「Ｉｉｎ＋ＮＮ」が閾値ＴＳＭ（１０６）と等しいと、入力画素補正値Ｉｉｎ’とノイズＮＮとの和「Ｉｉｎ’＋ＮＮ」も閾値ＴＳＭ（１０６）と等しくなりやすい。ここで、Ｓ１２の比較方法を変更し（Ｉｉｎ’＋Ｎ）が閾値ＴＳＭと等しい場合にも閾値ＴＳＭより大きい場合と同様に処理されるようにすると、中ドットが誤って生じてしまうからである。
【０１３３】
（係数）Ｎは、具体的には、範囲Ｈ１の大きさに依存した大きさを有しており、以下の式により定義される正の値である。
【０１３４】
（係数）Ｎ＝ｈ１／Ｇ＝（ＴＳＭ−Ｉｍｉｎ）／Ｇ。
【０１３５】
規格化定数Ｇは、後述するように、シフト量Ｆに依存して定まる２５５以上の値である。
＜（ＲS＋Ｆ）-Range≦Ｉｉｎ≦（ＲS＋Ｆ）＋Range＞
（ＲS＋Ｆ）-Range≦Ｉｉｎ≦（ＲS＋Ｆ）＋Rangeの入力画素値Ｉｉｎに対して発生させるノイズ値Ｎ（以下、ノイズＮＳという）は、以下の数式によって定義される。なお、ノイズＮＳは、正の値、ゼロ（０），もしくは、負の値である。
ノイズＮＳ＝（係数）Ｓｘ（レート）Ｓｘ（乱数）Ｓ
ここで、（レート）Ｓ＝｛１−［ａｂｓ（Ｉｉｎ  −  ＲＳ  −  Ｆ）／Range］｝である。したがって、（レート）Ｓは、Ｉｉｎ＝ＲＳ＋Ｆにて最大値１を採り、Ｉｉｎ＝ＲＳ＋Ｆから離れるに従って徐々に小さくなり、Ｉｉｎ＝（ＲＳ＋Ｆ）−Range、及び、Ｉｉｎ＝（ＲＳ＋Ｆ）＋Rangeでゼロ（０）となる。
【０１３６】
（乱数）Ｓは、−２５５以上２５５以下の周期性の無い白色ノイズである。
【０１３７】
（係数）Ｓは、入力画素値ＩｉｎとノイズＮＮとの和「Ｉｉｎ＋ＮＳ」が、範囲Ｈ１及び範囲Ｈ２からなる範囲内、すなわち、閾値ＴＮＳ（０）と閾値ＴＭＬ（１９２）との間に位置することを保証する大きさを有している。やはり、画像が荒れるのを防止するためである。
【０１３８】
ここで、和「Ｉｉｎ＋ＮＳ」は閾値ＴＮＳ（０）以上で閾値ＴＭＬ（１９２）以下であれば良い。和「Ｉｉｎ＋ＮＳ」が閾値ＴＮＳ（０）を下回ると、入力画素補正値Ｉｉｎ’とノイズＮＳとの和「Ｉｉｎ’＋ＮＳ」が閾値ＴＮＳ（０）を下回ってしまいやすくなり（Ｓ１４でｎｏ）、ドット無しが誤って生じて画像が荒れてしまうからである。同様に、和「Ｉｉｎ＋ＮＳ」が閾値ＴＭＬ（１９２）を上回ると、入力画素補正値Ｉｉｎ’とノイズＮＳとの和「Ｉｉｎ’＋ＮＳ」が閾値ＴＭＬ（１９２）を上回ってしまいやすくなり（Ｓ１０でｙｅｓ）、大ドットが誤って生じて画像が荒れてしまうからである。
【０１３９】
ただし、和「Ｉｉｎ＋ＮＳ」は閾値ＴＮＳ（０）より大きく閾値ＴＭＬ（１９２）より小さいことが、より好ましい。和「Ｉｉｎ＋ＮＳ」が閾値ＴＮＳ（０）と等しいと、入力画素補正値Ｉｉｎ’とノイズＮＮとの和「Ｉｉｎ’＋ＮＮ」も閾値ＴＮＳ（０）と等しくなりやすく（Ｓ１４でｎｏ）、ドット無しが誤って生じてしまうからである。また、和「Ｉｉｎ＋ＮＳ」が閾値ＴＭＬ（１９２）と等しいと、入力画素補正値Ｉｉｎ’とノイズＮＳとの和「Ｉｉｎ’＋ＮＳ」も閾値ＴＭＬ（１９２）と等しくなりやすい。ここで、Ｓ１０の比較方法を変更し（Ｉｉｎ’＋Ｎ）が閾値ＴＭＬと等しい場合にも閾値ＴＭＬより大きい場合と同様に処理されるようにすると、大ドットが誤って生じてしまいやすくなるからである。
【０１４０】
（係数）Ｓは、具体的には、範囲Ｈ１と範囲Ｈ２との大きさに依存した大きさを有しており、以下の式により定義される正の値である。
【０１４１】
（係数）Ｓ＝（ｈ１とｈ２とのうち小さい方）／Ｇ＝｛（ＴＳＭ−ＴＮＳ）と（ＴＭＬ−ＴＳＭ）との小さい方｝／Ｇ。
＜（ＲＭ＋Ｆ）−Range≦Ｉｉｎ≦（ＲＭ＋Ｆ）＋Range＞
（ＲＭ＋Ｆ）−Range≦Ｉｉｎ≦（ＲＭ＋Ｆ）＋Rangeの入力画素値Ｉｉｎに対して発生させるノイズ値Ｎ（以下、ノイズＮＭという）は、以下の数式によって定義される。なお、ノイズＮＭは、正の値、ゼロ（０）、もしくは、負の値である。
ノイズＮＭ＝（係数）Ｍｘ（レート）Ｍｘ（乱数）Ｍ
ここで、（レート）Ｍ＝｛１−［ａｂｓ（Ｉｉｎ  −  ＲＭ  −  Ｆ）／Range］｝である。したがって、（レート）Ｍは、Ｉｉｎ＝ＲＭ＋Ｆにて最大値１を採り、Ｉｉｎ＝ＲＭ＋Ｆから離れるに従って徐々に小さくなり、Ｉｉｎ＝（ＲＭ＋Ｆ）−Range、及び、Ｉｉｎ＝（ＲＭ＋Ｆ）＋Rangeでゼロ（０）となる。
【０１４２】
（乱数）Ｍは、−２５５以上２５５以下の周期性の無い白色ノイズである。
【０１４３】
（係数）Ｍは、入力画素値ＩｉｎとノイズＮＮとの和「Ｉｉｎ＋ＮＭ」が範囲Ｈ２及び範囲Ｈ３からなる範囲内、すなわち、閾値ＴＳＭ（１０６）と入力画素値最大値Ｉｍａｘ（２５５）との間に位置することを保証する大きさを有している。画像が荒れるのを防止するためである。
【０１４４】
ここで、和「Ｉｉｎ＋ＮＭ」は入力画素値最大値（２５５）以下であれば良い。和「Ｉｉｎ＋ＮＭ」が入力画素値最大値Ｉｍａｘ（２５５）を上回ると、画像が荒れやすいからである。
【０１４５】
また、和「Ｉｉｎ＋ＮＭ」は閾値ＴＳＭ（１０６）以上であれば良い。和「Ｉｉｎ＋ＮＭ」が閾値ＴＳＭ（１０６）を下回ると、入力画素補正値Ｉｉｎ’とノイズＮＭとの和「Ｉｉｎ’＋ＮＭ」が閾値ＴＳＭ（１０６）を下回ってしまいやすくなり（Ｓ１２でｎｏ）、小ドットが誤って生じて画像が荒れてしまうからである。
【０１４６】
ただし、和「Ｉｉｎ＋ＮＭ」は閾値ＴＳＭ（１０６）より大きいことがより好ましい。和「Ｉｉｎ＋ＮＭ」が閾値ＴＳＭ（１０６）と等しいと、入力画素補正値Ｉｉｎ’とノイズＮＭとの和「Ｉｉｎ’＋ＮＭ」も閾値ＴＳＭ（１０６）と等しくなりやすく（Ｓ１２でｎｏ）、小ドットが誤って生じてしまいやすいからである。
【０１４７】
（係数）Ｍは、具体的には、範囲Ｈ２と範囲Ｈ３との大きさに依存した大きさを有しており、以下の式により定義される正の値である。
【０１４８】
（係数）Ｍ＝（ｈ２とｈ３とのうち小さい方）／Ｇ＝｛（ＴＭＬ−ＴＳＭ）と（Ｉｍａｘ−ＴＭＬ）との小さい方｝／Ｇ。
＜（ＲＬ＋Ｆ）−Range≦Ｉｉｎ≦（ＲＬ＋Ｆ）＋Range＞
（ＲＬ＋Ｆ）−Range≦Ｉｉｎ≦（ＲＬ＋Ｆ）＋Rangeの入力画素値Ｉｉｎに対して発生させるノイズ値Ｎ（以下、ノイズＮＬという）は、以下の数式によって定義される。なお、ノイズＮＬは、負の値もしくはゼロ（０）である。
ノイズＮＬ＝（係数）Ｌｘ（レート）Ｌｘ（乱数）Ｌ
ここで、（レート）Ｌ＝｛１−［ａｂｓ（Ｉｉｎ  −  ＲＬ  −  Ｆ）／Range］｝である。したがって、（レート）Ｌも、Ｉｉｎ＝ＲＬ＋Ｆにて最大値１を採り、Ｉｉｎ＝ＲＬ＋Ｆから離れるに従って徐々に小さくなり、Ｉｉｎ＝（ＲＬ＋Ｆ）−Range、及び、Ｉｉｎ＝（ＲＬ＋Ｆ）＋Rangeでゼロ（０）となる。
【０１４９】
（乱数）Ｌは、−２５５以上０以下の周期性の無い白色ノイズである。
【０１５０】
（係数）Ｌは、入力画素値ＩｉｎとノイズＮＮとの和「Ｉｉｎ＋ＮＬ」が範囲Ｈ３内、すなわち、閾値ＴＭＬ（１９２）と入力画素値最大値Ｉｍａｘ（２５５）との間に位置することを保証する大きさを有している。画像が荒れるのを防止するためである。
【０１５１】
ここで、和「Ｉｉｎ＋ＮＬ」は入力画素値最大値Ｉｍａｘ（２５５）以下であれば良い。和「Ｉｉｎ＋ＮＬ」が入力画素値最大値Ｉｍａｘ（２５５）を上回ると、画像が荒れやすいからである。
【０１５２】
また、和「Ｉｉｎ＋ＮＬ」は閾値ＴＭＬ（１９２）以上であれば良い。和「Ｉｉｎ＋ＮＬ」が閾値ＴＭＬ（１９２）を下回ると、入力画素補正値Ｉｉｎ’とノイズＮＭとの和「Ｉｉｎ’＋ＮＬ」が閾値ＴＭＬ（１９２）を下回ってしまいやすくなり（Ｓ１０でｎｏ）、中ドットが誤って生じて画像が荒れてしまうからである。
【０１５３】
ただし、和「Ｉｉｎ＋ＮＬ」は閾値ＴＭＬ（１９２）より大きいことがより好ましい。和「Ｉｉｎ＋ＮＬ」が閾値ＴＭＬ（１９２）と等しいと、入力画素補正値Ｉｉｎ’とノイズＮＬとの和「Ｉｉｎ’＋ＮＬ」も閾値ＴＭＬ（１９２）と等しくなりやすく、中ドットが誤って生じてしまいやすいからである。
【０１５４】
（係数）Ｌは、具体的には、範囲Ｈ３の大きさに依存した大きさを有しており、以下の式により定義される正の値である。
【０１５５】
（係数）Ｌ＝（ｈ３）／Ｇ＝（Ｉｍａｘ−ＴＭＬ）／Ｇ。
【０１５６】
次に、規格化定数Ｇについて説明する。
【０１５７】
規格化定数Ｇは、シフト量Ｆに依存して定まる２５５以上の値である。ただし、規格化定数Ｇは、２５６以上の範囲からシフト量Ｆに応じて選ぶことが好ましい。
【０１５８】
Ｇ＝２５５とすると、Ｆが０以外であると、（Ｉｉｎ＋ＮＮ）が入力画素値最小値Ｉｍｉｎ（０）を下回ったり閾値ＴＳＭ（１０６）を上回ったり、（Ｉｉｎ＋ＮＳ）が閾値ＴＮＳ（０）を下回ったり閾値ＴＭＬ（１９２）を上回ったり、（Ｉｉｎ＋ＮＭ）が閾値ＴＳＭ（１０６）を下回ったり入力画素値最大値Ｉｍａｘ（２５５）を上回ったり、（Ｉｉｎ＋ＮＬ）が閾値ＴＭＬ（１９２）を下回ったり入力画素値最大値Ｉｍａｘ（２５５）を上回ったりして、出力画像がざらついてしまう可能性があるからである。
【０１５９】
なお、Ｆ＝０の場合には、Ｇ＝２５５としても良い。ただし、この場合には、（Ｉｉｎ＋ＮＮ）が閾値ＴＳＭ（１０６）と等しくなったり、（Ｉｉｎ＋ＮＳ）が閾値ＴＮＳ（０）や閾値ＴＭＬ（１９２）と等しくなったり、（Ｉｉｎ＋ＮＭ）が閾値ＴＳＭ（１０６）と等しくなったり、（Ｉｉｎ＋ＮＬ）が閾値ＴＭＬ（１９２）と等しくなる可能性がある。
【０１６０】
本発明者は実験を行い、入力画素値０〜２５５とＦ＝２との組み合わせに対しては、２９１が規格化定数Ｇとして最適であることを確認した。Ｇ＝２９１に設定することにより、（Ｉｉｎ＋ＮＮ）が入力画素値最小値Ｉｍｉｎ（０）以上で閾値ＴＳＭ（１０６）より小さく、（Ｉｉｎ＋ＮＳ）が閾値ＴＮＳ（０）より大きく閾値ＴＭＬ（１９２）より小さく、（Ｉｉｎ＋ＮＭ）が閾値ＴＳＭ（１０６）より大きく入力画素値最大値Ｉｍａｘ（２５５）より小さく、（Ｉｉｎ＋ＮＬ）が閾値ＴＭＬ（１９２）より大きく入力画素値最大値Ｉｍａｘ（２５５）以下となることを保証することができる。
【０１６１】
以上より明らかなように、各相対値付近に付加されるノイズ値は、乱数とレートと係数との積で表される。レートは、対応する相対値からシフト量Ｆだけずれた位置にて最大値１を採り、対応する相対値からシフト量Ｆだけずれた位置から＋Range以上及び−Range以下ずれた位置では０を採る。係数としては、ノイズ値と入力画素値との和が、対応する相対値より小さい隣接する相対値に対応する閾値もしくは入力画素値最小値を下回らず、且つ、対応する相対値より大きい隣接する相対値に対応する閾値もしくは入力画素値最大値を上回らないことを確保する値となっている。
【０１６２】
換言すれば、ノイズ値は、図８において斜線で示すように、（ＲＮ＋Ｆ）−Range≦Ｉｉｎ≦（ＲＮ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎに対しては（ｈ１／Ｇ）ｘ（レート）Ｎｘ０〜（ｈ１／Ｇ）ｘ（レート）Ｎｘ２５５の範囲内の値を採り、（ＲＳ＋Ｆ）−Range≦Ｉｉｎ≦（ＲＳ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎに対しては｛（ｈ１とｈ２のうち小さい方）／Ｇ｝ｘ（レート）Ｓｘ（−２５５）〜｛（ｈ１とｈ２のうち小さい方）／Ｇ｝ｘ（レート）Ｓｘ２５５の範囲内の値を採り、（ＲＭ＋Ｆ）−Range≦Ｉｉｎ≦（ＲＭ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎに対しては｛（ｈ２とｈ３のうち小さい方）／Ｇ｝ｘ（レート）Ｓｘ（−２５５）〜｛（ｈ２とｈ３のうち小さい方）／Ｇ｝ｘ（レート）Ｓｘ２５５の範囲内の値を採り、（ＲＬ＋Ｆ）−Range≦Ｉｉｎ≦（ＲＬ＋Ｆ）＋Rangeの範囲内の入力画素値Ｉｉｎに対しては（ｈ３／Ｇ）ｘ（レート）Ｌｘ（−２５５）〜（ｈ３／Ｇ）ｘ（レート）Ｌｘ０の範囲内の値を採る。
【０１６３】
なお、画像内において、入力画素値Ｉｉｎが相対値ＲＮ、ＲＳ、ＲＭ、ＲＬ付近の値（ＲＮ＋Ｆ）、（ＲＳ＋Ｆ）、（ＲＭ＋Ｆ）、（ＲＬ＋Ｆ）のうちいずれか１つ乃至３つの値に等しい位置で疑似輪郭が発生することが予想される場合には、入力画素値Ｉｉｎが対応する１つ〜３つの値の近傍に位置している場合にのみノイズを発生させれば良い。
【０１６４】
例えば、シアンの正のグラデーション画像において濃度が１０８（＝ＲＳ＋２）及び１９４（＝ＲＭ＋２）付近で疑似輪郭が生じるおそれがある場合には、ノイズ生成工程１０１では、入力画素値Ｉｉｎが１０８近傍、もしくは、１９４近傍である場合にのみノイズを発生させれば良い。換言すれば、ノイズ値ＮＳ及びノイズ値ＮＭのみを発生させ、ノイズ値ＮＮ及びノイズ値ＮＬを強制的にゼロ（０）に設定すればよい。
【０１６５】
シアンの正のグラデーション画像に対して本実施の形態の多値誤差拡散処理を施し、その結果をプリンタ５にて印刷する実験を行った。この正のグラデーション画像は、印刷位置Ｙ＝０から印刷位置Ｙ＝３５５までＹ方向に沿って入力画素値Ｉｉｎ（濃度）が徐々に濃くなっていく画像であった。また、各印刷位置Ｙにおいて、Ｘ方向に延びる１ライン（横１ライン）における全画素（０，Ｙ）〜（Ｘｍａｘ、Ｙ）の入力画素値Ｉｉｎは互いに等しかった。印刷位置Ｙ＝０付近で、入力画素値Ｉｉｎはドット無しの相対値ＲＮ（０）であった。印刷位置Ｙ＝１７０付近で、入力画素値Ｉｉｎは小ドットの相対値ＲＳ（１０６）に達し、印刷位置Ｙ＝３１０付近で、入力画素値Ｉｉｎは中ドットの相対値ＲＭ（１９２）に達し、印刷位置Ｙ＝３５０付近で、入力画素値Ｉｉｎは大ドットの相対値ＲＬ（２５５）に達していた。この実験では、小ドットの相対値ＲＳに対する（ＲＳ＋Ｆ）、及び、中ドットの相対値ＲＭに対する（ＲＭ＋Ｆ）付近でノイズ値ＮＳ、ＮＭを付加した。なお、Ｆ＝２，Range＝１０、Ｇ＝２９１に設定した。したがって、（係数）Ｓ＝８６／２９１，（係数）Ｍ＝６３／２９１であった。なお、ノイズ値ＮＮ、ＮＬは、強制的に０に設定した。
【０１６６】
図９に示されている２つの画像のうち右側の図が、この実験で得られた印刷画像を示している。
【０１６７】
なお、比較実験（以下、第１の比較実験という）も行った。この第１の比較実験では、同一のグラデーション画像に対して、第１の比較例の多値誤差拡散処理を実施した。第１の比較例の多値誤差拡散処理は、ノイズを付加しない点を除き、本実施の形態の多値誤差拡散処理と同一であった。すなわち、ノイズ値ＮＮ、ＮＳ、ＮＭ、ＮＬを全て強制的に０に設定した。図９の左側の図は、第１の比較実験で得られた印刷画像を示している。
【０１６８】
図１０は、図９に対応して、印刷された各部を模式的に表した図である。印刷画像においては、Ｙ方向に沿って、ドット無しのみの領域１６１、小ドットとドット無しとが混在している領域１６３、小ドットがべたに発生している領域１６５、小ドットと中ドットとが混在している領域１６７、中ドットがべたに発生している領域１６９、及び、中ドットと大ドットとが混在している領域１７１とが、この順に並んでいる。
【０１６９】
図９及び図１０から明らかなように、擬似輪郭は、領域１６５と領域１６３との境界、領域１６５と領域１６７との境、領域１６９と領域１６７との境界、および、領域１６９と領域１７１との境に発生している。ノイズを付加しない（図９左側，図１０左側）場合には、領域１６５、１６９いずれも幅が大きく、はっきりとした疑似輪郭が見られた。しかしながら、ノイズを付加すると（図９右側，図１０右側）、領域１６５，１６９のいずれもその幅が狭くなり、疑似輪郭がかなり緩和されたことが確認された。
【０１７０】
図１１は、ノイズを付加しない場合（図９左側，図１０左側）において、横軸Ｙを印刷位置、縦軸を０から２５５の濃度値として、入力画素値を細線で表し、出力画素値を相対値に変換しＸ方向の横１ラインの相対値を平均化して得られた値（以下、出力平均値という）を太線で表したものである。図１２は、ノイズを付加した場合（図９右側，図１０右側）において、横軸Ｙを印刷位置、縦軸を０から２５５の濃度値として、入力画素値を細線で表し、出力平均値を太線で表したものである。図１２は、さらに、入力画素値が（ＲＳ＋Ｆ）付近あるいは（ＲＭ＋Ｆ）付近に達した時に付加されたノイズのノイズ値も示している。
【０１７１】
図１１より、印刷位置Ｙが１７０付近と３１０付近で出力平均値が水平となり入力画素値から乖離しているのがわかる。これが擬似輪郭として知覚される。出力平均値が水平となっている領域のＹ方向における略中央位置において、入力画素値が濃度値（ＲＳ＋Ｆ）、（ＲＭ＋Ｆ）に達している。なお、シフト量Ｆ＝２である。
【０１７２】
本実施の形態では、図１２に示すように、ノイズ値のピークが、濃度値（ＲＳ＋Ｆ）、（ＲＭ＋Ｆ）の位置、すなわち、図１１において出力平均値が水平になっている領域の略中央部分に位置している。かかるノイズを付加した結果、図１２から明らかなように、出力平均値が水平になっていた部分がほぼ解消され、入力画素値との乖離部分が消滅し、疑似輪郭が低減した。
【０１７３】
上記実験により、シフト量Ｆを２に設定し、Rangeを１０に設定し、Ｇを２９１に設定することにより、相対値ＲＳ付近の入力画素値にノイズを付加した結果が、相対値ＲＭに対応するしきい値ＴＭＬ（１９２）を上回らず相対値ＲＮに対応するしきい値ＴＮＳを下回らず、相対値ＲＭ付近の入力画素値にノイズを付加した結果が、入力画素値最大値（２５５）を上回らず相対値ＲＳに対応するしきい値ＴＳＭ（１０６）を下回らないため、画像を荒れさせることなく疑似輪郭を消すことができることを確認した。
【０１７４】
さらに、シアンインクの大ドット相対値付近や、他のインク色（黒、マゼンタ、イエロ）についてもノイズを付加したところ、上記と同様の効果が確認できた。
【０１７５】
なお、ノイズが大きすぎ、入力画素値にノイズ値を加算した結果が、入力画素値が最も近接している相対値より大きい隣接する相対値に対応するしきい値や入力画素値最大値を上回ったり、入力画素値が最も近接している相対値より小さい隣接する相対値に対応するしきい値や入力画素値最小値を下回ったりすると、画像が荒れ、疑似輪郭が却って強く発生してしまう。本発明者は、上記の実験で使用した画像と同一の画像に対し第２の比較例の多値誤差拡散処理を施す第２の比較実験を実施した。第２の比較例の多値誤差拡散処理は、（係数）Ｓ＝（係数）Ｍ＝０．５に設定したノイズＮＳ、ＮＭを付加し、かつ、ノイズＮＮ、ＮＬを強制的にゼロ（０）に設定した点を除き、本実施の形態の多値誤差拡散処理と同一である。第２の比較実験の結果、図１３に示す印刷画像が得られた。この印刷画像では、小ドットと中ドットとが混在する領域１６７内の小ドットべた領域１６５と接する側に大ドットやドット無しの点が誤って形成されてしまい、また、中ドットと大ドットとが混在する領域１７１内の中ドットべた領域１６９と接した側にドット無しの点が誤って形成されてしまい、画像が荒れ、疑似輪郭が強くなってしまった。
【０１７６】
以上実施の形態に基づき本発明を説明したが、本発明は上記実施の形態に何ら限定されるものでなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【０１７７】
例えば、上記の実施の形態では、ノイズ値加算工程１０４では入力画素補正値Ｉｉｎ’に対しノイズ値Ｎを加算し、比較工程１０５では加算結果（Ｉｉｎ’＋Ｎ）が閾値ＴＮＳ、ＴＳＭ、ＴＭＬと比較されていた。しかしながら、図１４に示すように、ノイズ値加算工程１０４の代わりに、ノイズ値減算工程１１５を実行するようにしてもよい。ノイズ値減算工程１１５では、ＣＰＵ１０は、ノイズ値Ｎを閾値ＴＮＳ、ＴＳＭ、ＴＭＬから引き算する。この場合、比較工程１０５では、ＣＰＵ１０は、入力画素補正値Ｉｉｎ’自体を、引き算結果（ＴＮＳ−Ｎ）、（ＴＳＭ−Ｎ）、（ＴＭＬ−Ｎ）と比較する。すなわち、Ｓ１０（図７）では、Ｉｉｎ’が（ＴＭＬ−Ｎ）より大きいか判断し、Ｓ１２では、Ｉｉｎ’が（ＴＳＭ−Ｎ）より大きいか判断し、Ｓ１４では、Ｉｉｎ’が（ＴＮＳ−Ｎ）より大きいか判断する。入力画素補正値＋ノイズ値＞閾値という式と、入力画素補正値＞閾値−ノイズ値という式とは、ノイズ値を移項したにすぎず、互いに等価だからである。
【０１７８】
レートは、入力画素値Ｉｉｎが相対値付近（Ｒｊ＋Ｆ）（ここで、ｊ＝Ｎ、Ｓ、Ｍ、または、Ｌ）になったところでピークとなり、相対値付近（Ｒｊ＋Ｆ）から離れるに従い徐々に減少し、相対値付近（Ｒｊ＋Ｆ）から±Range以上離れると０となるのであれば、上記の式（１）以外の式で定めても良い。例えば、レートは、入力画素値Ｉｉｎが相対値付近になったところでピークとなり相対値付近から離れるに従いガウシアン状に減少するような値となるように、設定しても良い。
【０１７９】
上記の実施の形態では、入力画素値が領域ＤＳもしくはＤＭ内に位置している場合、乱数を、−２５５以上２５５以下の範囲内で発生させた。しかしながら、乱数は、０以上２５５以下の範囲内、あるいは、−２５５以上０以下の範囲内で発生させてもよい。
【０１８０】
上記の実施の形態では、ノイズ生成工程１０１では、ＣＰＵ１０は、入力画素値Ｉｉｎに対してレートと係数とを求め、乱数を発生させて、乱数とレートと係数とを掛けてノイズ値とした。しかしながら、ＣＰＵ１０は、レートと係数とを求めた後、乱数の発生範囲の最大値と最小値とをそれぞれレートと係数とに掛けて、ノイズ値が採りうる値の範囲を求めても良い。この場合、ノイズが採りうる範囲は、図８に斜線で示した範囲と同一となる。その後、ノイズが採りうる範囲内でノイズ値を発生させても良い。
【０１８１】
上記実施の形態では、入力される画素の値が８ビットで表される０から２５５の範囲としたが、１６ビットで表される０から６５５３５の値としてもよい。
【０１８２】
上記の実施の形態では、各閾値ＴＮＳ、ＴＳＭ、ＴＭＬは、それぞれ、対応する相対値ＲＮ、ＲＳ、ＲＭと等しかった。しかしながら、閾値は、対応する相対値とは異なっていても良い。例えば、閾値は、対応する相対値に対して、入力値範囲の約１％程度であれば異なっていても良い。具体的には、入力画素値が８ビット、すなわち、入力画素値の範囲が０〜２５５である場合には、閾値は対応する相対値に対し、入力画素値の範囲０〜２５５の約１％、すなわち、２．５６程度異なっていても良い。また、入力画素値が１６ビット、すなわち、入力画素値の範囲が０〜６５５３５である場合には、閾値は対応する相対値に対し、入力画素値の範囲０〜６５５３５の約１％、すなわち、６５５．３５程度異なっていても良い。
【０１８３】
本実施の形態では、画像処理装置１は、各色につき１画素あたり、８ビットで表される０以上２５５以下の互いに異なる２５６個のいずれかの値を有する入力画素値Ｉｉｎに対して多値誤差拡散処理を実行して、互いに異なる４個のいずれかの値を有する出力画素値Ｉｏｕｔに変換した。しかしながら、本実施の形態の多値誤差拡散処理を、互いに異なる任意のｍ個（ｍは４以上）のいずれかの値を有する入力画素値Ｉｉｎを互いに異なるｎ（ｎはｍより小さく、３以上）個のいずれかの値を有するｎ階調の出力画素値Ｉｏｕｔに変換するように変更しても良い。この場合、使用する閾値の個数は（ｎ−１）個である。さらに、本実施の形態の多値誤差拡散処理を、互いに異なるｐ個（ｐは３以上）のいずれかの値を有する入力画素値Ｉｉｎを互いに異なる２個の値のいずれかの値を有する２階調の出力画素値Ｉｏｕｔに変換する２値誤差拡散処理に変更しても良い。この場合、使用する閾値の個数は１個である。
【０１８４】
本実施の形態の多値誤差拡散処理プログラム２９と閾値表３０，相対値表３２，及び、分散マトリックス３４は、ハードディスク１６に格納されていたが、ＲＯＭ１２に格納されていてもよく、あるいは、図示しないＣＤ−ＲＯＭに格納されＣＤ−ＲＯＭドライブ１８を介して画像処理装置１に供給されるのでもよい。
【０１８５】
本実施の形態の多値誤差拡散処理プログラム２９は、ＣＤ−ＲＯＭの他、様々なコンピュータ読みとり可能なメディアに格納することができる。本実施の形態の画像処理装置１は、これら様々なメディアを読みとるためのドライブを備えていれば良い。もしくは、画像処理装置１は、本実施の形態の多値誤差拡散処理プログラム２９を、インターネット等のネットワークからダウンロードしても良い。
【０１８６】
本実施の形態の画像処理装置１は、コンピュータでなくても良い。本実施の形態の多値誤差拡散処理を実現するための素子を備えていれば良い。
【０１８７】
また、本実施の形態の多値誤差拡散処理プログラム２９を、プリンタ５のＲＯＭ５４に組み込んでも良い。画像処理装置１は、２５６階調の画像データＩｉｎをそのままプリンタ５に供給する。プリンタ５が、本実施の形態の多値誤差拡散処理プログラム２９を実行して、２５６階調の画像データＩｉｎを４階調の画像データＩｏｕｔに変換する。
【図面の簡単な説明】
【０１８８】
【図１】本発明の実施の形態にかかる画像処理装置の構成を示す構成概略図である
【図２】図１の画像処理装置が実行する本発明の実施の形態にかかる多値誤差拡散処理を示す説明図である。
【図３】分散マトリックスの例を示す。
【図４】相対値表の例を示す。
【図５】閾値表の例を示す。
【図６】レートを模式的に示す図である。
【図７】比較工程にて実行される処理を示すフローチャートである。
【図８】入力値とノイズとの和が採りうる範囲を模式的に示す図である。
【図９】ノイズを付加しないで得られた印刷画像（左側）と、ノイズを付加して得られた印刷画像（右側）とを比較して示す図である。
【図１０】図９に対応して、ノイズを付加しないで得られた印刷画像（左側）とノイズを付加して得られた印刷画像（右側）における各領域を説明する模式図である。
【図１１】ノイズを付加しないで得られた印刷画像の印刷位置における入力画素値と出力平均値とを示す図である。
【図１２】ノイズを付加して得られた印刷画像の印刷位置における入力画素値と出力平均値とを示す図である。
【図１３】ノイズの入れすぎにより発生する擬似輪郭の様子を示す図である。
【図１４】変更例にかかる多値誤差拡散処理を示す説明図である。
【図１５】従来の多値誤差拡散の処理を示す説明図である。
【符号の説明】
【０１８９】
１                  画像処理装置
５                  プリンタ
１０                ＣＰＵ
１２                ＲＯＭ
１４                ＲＡＭ
１６                ハードディスク
１８                ＣＤ−ＲＯＭドライブ
２９                多値誤差拡散処理プログラム
３０                閾値表
３２                相対値表
３４                分散マトリクス
３６                誤差バッファ
１０１              ノイズ生成工程
１０２              入力画素値補正工程
１０４              ノイズ値加算工程
１０５              比較工程
１０８              変換工程
１１２              誤算演算工程
１１５              ノイズ値減算工程
【図１】
2005110233.tif 000003
【図２】
2005110233.tif 000004
【図３】
2005110233.tif 000005
【図４】
2005110233.tif 000006
【図５】
2005110233.tif 000007
【図６】
2005110233.tif 000008
【図７】
2005110233.tif 000009
【図８】
2005110233.tif 000010
【図９】
2005110233.tif 000011
【図１０】
2005110233.tif 000012
【図１１】
2005110233.tif 000013
【図１２】
2005110233.tif 000014
【図１３】
2005110233.tif 000015
【図１４】
2005110233.tif 000016
【図１５】
2005110233.tif 000017