JP4501607B2 - 画像処理装置、画像処理方法、および画像処理プログラム - Google Patents

画像処理装置、画像処理方法、および画像処理プログラム Download PDF

Info

Publication number
JP4501607B2
JP4501607B2 JP2004261808A JP2004261808A JP4501607B2 JP 4501607 B2 JP4501607 B2 JP 4501607B2 JP 2004261808 A JP2004261808 A JP 2004261808A JP 2004261808 A JP2004261808 A JP 2004261808A JP 4501607 B2 JP4501607 B2 JP 4501607B2
Authority
JP
Japan
Prior art keywords
value
noise
threshold
input pixel
relative
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
JP2004261808A
Other languages
English (en)
Other versions
JP2005110233A (ja
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 JP2004261808A priority Critical patent/JP4501607B2/ja
Publication of JP2005110233A publication Critical patent/JP2005110233A/ja
Application granted granted Critical
Publication of JP4501607B2 publication Critical patent/JP4501607B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、画像処理装置、画像処理方法、および画像処理プログラムに関し、特に、入力画像データと出力画像データの誤差を周辺の画素の画像データに拡散しながら量子化を行う画像処理装置、画像処理方法、および画像処理プログラムに関するものである。
近年、コンピュータの出力装置として、数色のインクをヘッドから吐出するタイプのカラープリンタ(例えば、インクジェット式のプリンタである)が広く普及し、コンピュータ等が処理した画像を多色多階調で印刷するのに広く用いられている。インクジェット式のプリンタでは、各領域におけるドットの発生比率を制御することにより、入力された階調データに応じた階調を表現している。
かかる考え方に基づき、各画素ごとにドットの発生を制御する方法の一つとして誤差拡散法がある。これは、入力された階調データに基づき表現されるべき濃度とドットの形成の有無により現実に表現される濃度との不一致により各画素ごとに生じる誤差を、周辺の未処理画素に拡散することにより、画像全体として表現される濃度誤差が非常に小さくなるようにドットの形成を制御する方法である。この方法によれば、各画素におけるドットの形成の有無は、入力された階調データに拡散された誤差を反映させた補正データに基づいて行われる。
この誤差拡散法は、ドットの形式を制御する他の方法に比較して画像全体としての誤差を小さくすることができ、画質を向上することができる。また、近年のインクジェットプリンタでは、1ドットをオン・オフの2値ではなく、ドットの大きさの大小を変化させることにより、1ドットあたり3値以上の値を表現できるようにしたものがある。誤差拡散法も、3値以上の多値に対応した多値誤差拡散法が用いられる。
ところが、多値誤差拡散法を行った場合には、階調が連続的に変化するグラデーション部分においていわゆる疑似輪郭が発生するという問題があるが、この疑似輪郭の低減方法が提案されている(例えば、特許文献1参照)。
図15は、プリンタが1画素あたりにn階調(nは3以上)を持つ場合に用いられる誤差拡散法における疑似輪郭を低減する処理の概略を説明するブロック図である。
このブロック図は4階調の場合の図である。4階調の出力Ioutは、濃度の大きいほうから、大ドットを出力する、中ドットを出力する、小ドットを出力する、ドットを出力しない、の4値となる。
図15において、入力値Iinが入力されると、それ以前に処理された画素の誤差を、誤差バッファ219から読み出し、その値を分散マトリクス213によって重み付け加算し、その結果を入力値Iinに加えて補正値Iin’を算出する。そして、算出された補正値Iin’と閾値203とを比較手段205によって比較する。なお、閾値TML,TSM,TNSには、入力値Iinに応じたノイズ値201が付加されている。
多値誤差拡散法では、閾値203は3個の閾値TML,TSM,TNSからなり、補正値Iin’は各閾値TML,TSM,TNSと比較される。ただしTML>TSM>TNSとする。補正値Iin’が閾値TMLよりも大きい時には大ドットを出力し、補正値Iin’が閾値TSMよりも大きい時には中ドットを出力し、補正値Iin’が閾値TNSよりも大きい時には小ドットを出力し、補正値Iin’が閾値TNS以下の時には、ドットを出力しないように処理する。こうして、出力Ioutとして、大ドット、中ドット、小ドット、ドットを出力しない(ドット無し)の4つの状態のうちのいずれかを示す値が出力される。
相対値表209には、大ドット、中ドット、小ドット、ドット無しの4つの状態に対応する4つの相対値Rが格納されている。なお、相対値Rとは、各色ごとに大ドットに対する、大、中、小ドットの相対的な濃度比を示した値である。そこで、変換手段208は、出力Ioutに対応する相対値Rを、相対値表209から選択し読み出す。次に、補正値Iin’と相対値との差を誤差バッファ219に登録する。
一方、ノイズ値は、入力値Iinが小ドットに対応する相対値Rの1/2の値近傍である場合に閾値TML,TSM,TNSに付加される。例えば、シアンインクを使用して小ドットで形成した画像の相対値が60である場合は、入力値が30近傍である場合に、ノイズ値が閾値TML,TSM,TNSに付加される。
特開2003−92689号公報
しかしながら、上記文献に記載されている疑似輪郭を低減する方法によっても疑似輪郭が発生する場合があり、また、ノイズ値の影響で画像が荒れてしまうことがあった。
本発明は、以上の問題を解決するためになされたものであり、疑似輪郭を効果的に低減することができる画像処理装置、画像処理方法、及び画像処理プログラムを提供することを目的としている。
この目的を達成するために、本発明の請求項1記載の画像処理装置は、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理装置において、1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手段と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与するものであって、該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値に等しい場合に最大となり、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値から離れるに従い減少するものである。
請求項2記載の画像処理装置は、請求項1記載の画像処理装置であって、該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
請求項3記載の画像処理装置は、請求項1または2記載の画像処理装置であって、該少なくとも1つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有しているものである。
請求項4記載の画像処理装置は、請求項1乃至3のいずれかに記載の画像処理装置であって、該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの各相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与するものである。
請求項5記載の画像処理装置は、請求項1乃至4のいずれかに記載の画像処理装置であって、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が、該複数の第1の値のうちの最小値以上で、かつ、該複数の第1の値のうちの最大値以下となるように、ノイズ値の大きさを設定するものである。
請求項記載の画像処理装置は、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理装置において、1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手段と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与し、該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
請求項記載の画像処理装置は、請求項に記載の画像処理装置であって、該少なくとも1つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有しているものである。
請求項記載の画像処理装置は、請求項6または7に記載の画像処理装置であって、該入力画素値が該少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値を含む所定の範囲内に位置している場合に、該ノイズ付与手段は、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与するものである。
請求項記載の画像処理装置は、請求項6乃至8のいずれかに記載の画像処理装置であって、該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値に等しい場合に最大となり、該入力画素値が該少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値から離れるに従い減少するものである。
請求項10記載の画像処理装置は、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理装置において、1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手段と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、該少なくとも1つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも1つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
請求項11記載の画像処理装置は、請求項10記載の画像処理装置であって、該少なくとも1つの閾値が該下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値より大きくなるように、ノイズ値の大きさを設定し、該少なくとも1つの閾値が該上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値より小さくなるように、ノイズ値の大きさを設定するものである。
請求項12記載の画像処理装置は、請求項10または11に記載の画像処理装置であって、該少なくとも1つの閾値が該最近接相対値に対応する最近接閾値と該下側隣接閾値とを含む場合には、該ノイズ付与手段は、該最近接閾値と該下側隣接閾値との差分に基づきノイズ値の大きさを設定するものである。
請求項13記載の画像処理装置は、請求項10乃至12のいずれかに記載の画像処理装置であって、該最近接相対値が該複数の相対値のうちの最大値である場合には、該ノイズ付与手段は、該複数の第1の値の最大値と該下側隣接閾値との差分に基づきノイズ値の大きさを設定するものである。
請求項14記載の画像処理装置は、請求項10乃至13のいずれかに記載の画像処理装置であって、該少なくとも1つの閾値が該最近接相対値に対応する最近接閾値と該上側隣接閾値とを含む場合には、該ノイズ付与手段は、該最近接閾値と該上側隣接閾値との差分に基づきノイズ値の大きさを設定するものである。
請求項15記載の画像処理装置は、請求項10乃至14のいずれかに記載の画像処理装置であって、該最近接相対値が該複数の相対値のうちの最小値である場合には、該ノイズ付与手段は、該複数の第1の値の最小値と該上側隣接閾値との差分に基づきノイズ値の大きさを設定するものである。
請求項16記載の画像処理装置は、請求項10乃至15のいずれかに記載の画像処理装置であって、該少なくとも1つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に対応する最近接閾値と、該最近接閾値に隣接し該最近接閾値より小さい下側隣接閾値と、該最近接閾値に隣接し該最近接閾値より大きい該上側隣接閾値とを含む場合には、該ノイズ付与手段は、該入力画素値にノイズ値を加算した値が該下側隣接閾値以上で、かつ、該上側隣接閾値以下となるようにノイズ値の大きさを設定するものである。
請求項17記載の画像処理装置は、請求項16に記載の画像処理装置であって、該ノイズ付与手段は、該入力画素値にノイズ値を加算した値が該下側隣接閾値より大きく該上側隣接閾値より小さくなるようにノイズ値の大きさを設定するものである。
請求項18記載の画像処理装置は、請求項16または17に記載の画像処理装置であって、該ノイズ付与手段は、該最近接閾値と該下側隣接閾値との差分と該最近接閾値と該上側隣接閾値との差分とのうち、小さい方の値に基づきノイズ値の大きさを設定するものである。
請求項19記載の画像処理装置は、請求項10乃至18のいずれかに記載の画像処理装置であって、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が、該複数の第1の値のうちの最小値以上で、かつ、該複数の第1の値のうちの最大値以下となるように、ノイズ値の大きさを設定するものである。
請求項20記載の画像処理装置は、請求項10乃至19のいずれかに記載の画像処理装置であって、前記少なくとも1つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有しているものである。
請求項21記載の画像処理装置は、請求項10乃至20のいずれかに記載の画像処理装置であって、該ノイズ付与手段は、該入力画素値が疑似輪郭が発生する疑似輪郭発生画素値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与するものである。
請求項22記載の画像処理装置は、請求項10乃至21のいずれかに記載の画像処理装置であって、該疑似輪郭発生画素値は、該複数の相対値のうちの少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値に等しいものである。
請求項23記載の画像処理装置は、請求項10乃至22のいずれかに記載の画像処理装置であって、該入力画素値が該疑似輪郭発生画素値を含む所定の範囲内に位置している場合に、該ノイズ付与手段は、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与するものである。
請求項24記載の画像処理装置は、請求項10乃至23のいずれかに記載の画像処理装置であって、該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該疑似輪郭発生画素値に等しい場合に最大となり、該入力画素値が該疑似輪郭発生画素値から離れるに従い減少するものである。
請求項25記載の画像処理方法は、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理方法において、1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与工程と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、該ノイズ付与工程は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与するものであり、該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値に等しい場合に最大となり、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値から離れるに従い減少するものである。
請求項26記載の画像処理方法は、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理方法において、1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与工程と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、該ノイズ付与工程は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与し、該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
請求項27記載の画像処理方法は、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理方法において、1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与工程と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、該少なくとも1つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも1つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
請求項28記載の画像処理プログラムは、コンピュータにより実行される、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理プログラムにおいて、1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手順と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、該ノイズ付与手順は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与するものであり、該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値に等しい場合に最大となり、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値から離れるに従い減少するものである。
請求項29記載の画像処理プログラムは、コンピュータにより実行される、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理プログラムにおいて、1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手順と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、該ノイズ付与手順は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与し、該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
請求項30記載の画像処理プログラムは、コンピュータにより実行される、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理プログラムにおいて、1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手順と、該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、該少なくとも1つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、該少なくとも1つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定するものである。
請求項1に記載の画像処理装置によれば、画像のうち、入力画素値が相対値もしくはその付近の値である位置に生じる疑似輪郭を低減することができる。また、入力画素値が少なくとも1つの相対値、もしくは、その付近の値である場合においてノイズ値の絶対値が最大となるので、入力画素値が相対値もしくはその付近の値である位置に生じる疑似輪郭を低減することができ、しかも、ノイズの付与し過ぎによる画像のがさつきや荒れを効果的に防止することができる。
請求項2に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止することができる。
請求項3に記載の画像処理装置によれば、入力画素値が示す入力画像を、出力画素値が示す出力画像により高精度に再現することができる。
請求項4に記載の画像処理装置によれば、画像のうち、入力画素値が複数の相対値もしくはその付近の値である位置に生じる複数の疑似輪郭を低減することができる。
請求項5に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が複数の第1の値のうちの最小値を下回らず最大値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを一層効果的に防止することができる。
請求項に記載の画像処理装置によれば、画像のうち、入力画素値が相対値もしくは相対値から所定の値ずれた値である位置に生じる疑似輪郭を低減することができる。また、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止することができる。
請求項に記載の画像処理装置によれば、入力画素値が示す入力画像を、出力画素値が示す出力画像により高精度に再現することができる。
請求項に記載の画像処理装置によれば、ノイズ値を付加する範囲が限定されているため、画像のがさつきや荒れを防止することができる。
請求項に記載の画像処理装置によれば、入力画素値が少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値である場合においてノイズ値の絶対値が最大となるので、入力画素値が相対値もしくは相対値から所定の値ずれた値である位置に生じる疑似輪郭を低減することができ、しかも、ノイズの付与し過ぎによる画像のがさつきや荒れを効果的に防止することができる。
請求項10に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止しつつ、疑似輪郭を低減することができる。
請求項11に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が下側隣接閾値や上側隣接閾値と等しくならないので、ノイズの付与し過ぎによる画像のがさつきや荒れをより効果的に防止することができる。
請求項12に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該下側隣接閾値を下回らないことを確保できる。
請求項13に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該下側隣接閾値を下回らないことを確保できる。
請求項14に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該上側隣接閾値を上回らないことを確保できる。
請求項15に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該上側隣接閾値を上回らないことを確保できる。
請求項16に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該下側隣接閾値と該上側隣接閾値との間に位置するので、ノイズの付与し過ぎによる画像のがさつきや荒れを効果的に防止することができる。
請求項17に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該下側隣接閾値や該上側隣接閾値と等しくならないので、ノイズの付与し過ぎによる画像のがさつきや荒れをより効果的に防止することができる。
請求項18に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が該下側隣接閾値と該上側隣接閾値との間に位置することを確保することができる。
請求項19に記載の画像処理装置によれば、入力画素値にノイズ値を加算した値が複数の第1の値のうちの最小値を下回らず最大値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを一層効果的に防止することができる。
請求項20に記載の画像処理装置によれば、入力画素値が示す入力画像を、出力画素値が示す出力画像により高精度に再現することができる。
請求項21に記載の画像処理装置によれば、疑似輪郭を効率的に低減することができる。
請求項22に記載の画像処理装置によれば、画像のうち、入力画素値が相対値、もしくは、相対値から所定の値ずれた値である位置に生じる疑似輪郭を低減することができる。
請求項23に記載の画像処理装置によれば、ノイズ値を付加する範囲が限定されているため、画像のがさつきや荒れを防止することができる。
請求項24に記載の画像処理装置によれば、入力画素値が疑似輪郭発生画素値である場合においてノイズ値の絶対値が最大となるので、疑似輪郭を低減することができ、しかも、ノイズの付与し過ぎによる画像のがさつきや荒れを効果的に防止することができる。
請求項25に記載の画像処理方法によれば、画像のうち、入力画素値が相対値もしくはその付近の値である位置に生じる疑似輪郭を低減することができる。また、入力画素値が少なくとも1つの相対値、もしくは、その付近の値である場合においてノイズ値の絶対値が最大となるので、入力画素値が相対値もしくはその付近の値である位置に生じる疑似輪郭を低減することができ、しかも、ノイズの付与し過ぎによる画像のがさつきや荒れを効果的に防止することができる。
請求項26に記載の画像処理方法によれば、画像のうち、入力画素値が相対値もしくは相対値から所定の値ずれた値である位置に生じる疑似輪郭を低減することができる。また、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止することができる。
請求項27に記載の画像処理方法によれば、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止しつつ、疑似輪郭を低減することができる。
請求項28に記載の画像処理プログラムによれば、画像のうち、入力画素値が相対値もしくはその付近の値である位置に生じる疑似輪郭を低減することができる。また、入力画素値が少なくとも1つの相対値、もしくは、その付近の値である場合においてノイズ値の絶対値が最大となるので、入力画素値が相対値もしくはその付近の値である位置に生じる疑似輪郭を低減することができ、しかも、ノイズの付与し過ぎによる画像のがさつきや荒れを効果的に防止することができる。
請求項29に記載の画像処理プログラムによれば、画像のうち、入力画素値が相対値もしくは相対値から所定の値ずれた値である位置に生じる疑似輪郭を低減することができる。また、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止することができる。
請求項30に記載の画像処理プログラムによれば、入力画素値にノイズ値を加算した値が下側隣接閾値を下回らず、上側隣接閾値を上回らないので、ノイズの付与し過ぎによる画像のがさつきや荒れを防止しつつ、疑似輪郭を低減することができる。
以下、本発明の実施の形態について、図面を参照して説明する。
図1を参照して、本実施の形態の画像処理装置1の構成を説明する。画像処理装置1は、パーソナルコンピュータからなる。画像処理装置1は、ネットワーク4を介して、プリンタ5に接続されている。
画像処理装置1は、シアン、マゼンタ、イエロー、ブラックの4つのインク色の各色につき、1画素あたり256階調を示す画像データ(以下、入力画素値Iinという)を多値誤差拡散処理して4階調の出力画素値Ioutに変換する。ここで、256階調の入力画素値Iinは、8ビットで表される0以上255以下の256個の値のうちのいずれかの値を有している。なお、入力画素値Iinが採りうる最大値(この例では、255)を、以下、入力画素値最大値Imaxといい、入力画素値Iinが採りうる最小値(この例では、0)を、以下、入力画素値最小値Iminという。また、4階調の出力Ioutは、濃度の大きいほうから、大ドットを出力する、中ドットを出力する、小ドットを出力する、ドットを出力しない、の4値のうちのいずれかの値を有している。プリンタ5は、出力画素値Ioutに基づき、対応する色のインクにて、1画素あたり4階調の画像を生成する。
画像処理装置1は、CPU10、ROM12,RAM14,ハードディスク(HD)16,CD−ROMドライブ18、ネットワークインターフェース20、及び、入/出力インターフェース22等を備えている。入/出力インターフェース22は、ディスプレイ24、キーボード26、及び、マウス28等に接続されている。
CPU10は、ROM12やハードディスク16に格納されたプログラムや、図示しないCD−ROMからCD−ROMドライブ18を介して供給されたプログラムを実行することにより、画像処理装置1全体の動作を制御する。
ROM12には、画像処理装置1の動作に必要なプログラムやデータが格納されている。
ハードディスク16には、本実施の形態の多値誤差拡散処理プログラム29と共に、閾値表30,相対値表32,及び、分散マトリックス34が格納されている。
ハードディスク16には、画像データを作成したり画像データの印字を指示するためのアプリケーションも格納されている。
RAM14には、画像データを記憶する領域が用意されている。RAM14には、誤差バッファ36も用意されている。
ネットワークインターフェース20は、ネットワーク4に接続されている。
CPU10は、入/出力インターフェースを介して、ディスプレイ24を制御して所望の表示を行うと共に、キーボード26やマウス28を介して入力されたユーザの指示を受け取る。
ユーザがアプリケーションに対し画像の印字を指示すると、CPU10は、本実施の形態の多値誤差拡散処理プログラム29を実行して、各入力画素値Iinを出力画素値Ioutに変換しプリンタ5に出力する。
プリンタ5は、ネットワークインターフェース50と、CPU52と、ROM54と、RAM56と、印字部58等を備えている。ネットワークインターフェース50は、ネットワーク4に接続されている。印字部58は、シアン、マゼンタ、イエロー、ブラックの4つの色のインクにて印字を行うことができる。画像処理装置1から送信されてきた4階調の出力画素値Ioutは、RAM56にいったん格納される。CPU52は、ROM54に格納されている印字プログラムを実行することにより、RAM56に格納されている出力画素値Ioutに基づき、印字部58を制御して、印字を行う。
図2に示すように、CPU10は、本実施の形態の多値誤差拡散処理プログラム29を実行することにより、ノイズ生成工程101,入力画素値補正工程102,ノイズ値加算工程104,比較工程105,変換工程108,及び、誤算演算工程112を実行する。
なお、1つの画像には、複数の画素が、互いに垂直なX方向及びY方向に2次元状に配置されている。すなわち、総計(Xmax+1)x(Ymax+1)個の画素が、(Ymax+1)行x(Xmax+1)列に2次元状に配置されている。多値誤差拡散処理においては、まず、Y=0の位置においてX方向に延びるライン上の全画素(0,0)〜(Xmax、0)が、この順に1画素ずつ処理される。次に、Y=1の位置においてX方向に延びるライン上の全画素(0,1)〜(Xmax、1)が、この順に1画素ずつ処理される。こうして、Y=0のラインからY=Ymax−1のラインまで1ラインずつ順に処理される。最後に、Y=Ymaxの位置においてX方向に延びるライン上の全画素(0,Ymax)〜(Xmax、Ymax)が、この順に1画素ずつ処理される。
分散マトリックス34は、例えば、図3に示すように、12個の重み付け係数を格納している。これら重み付け係数は、入力された任意の画素(X、Y)の入力画素値Iinに対し、既に処理された12個の周辺画素(X−2,Y−2)、(X−1,Y−2)、(X,Y−2)、(X+1,Y−2)、(X+2,Y−2)、(X−2,Y−1)、(X−1,Y−1)、(X,Y−1)、(X+1,Y−1)、(X+2,Y−1)、(X−2,Y)、(X−1,Y)で発生した誤差を分配する際に使用される。
相対値表32には、図4に示すように、各色ごとに、大、中、小ドット、及び、ドット無しの4つの状態に対応する4つの相対値R、R、R、Rが設定されている。相対値R、R、R、Rは、それぞれ、大ドットにて得られる濃度を255として、大ドットに対する、大、中、小ドット、及び、ドット無しの相対的な濃度比を示している。相対値は、インクの種類、メディア、解像度などのプリンタ5の印刷条件によって異なっており、相対値表32には、各色毎の相対値がそれぞれの条件ごとに記憶されている。
図4には、1つの条件に対して設定された各色毎の相対値が示されている。
閾値表30には、図5に示すように、各色ごとに、ドット無しもしくは小ドット形成を決定するための閾値TNS、小ドットもしくは中ドット形成を決定するための閾値TSM、及び、中ドットもしくは大ドット形成を決定するための閾値TMLが設定されている。
なお、いずれの色においても、TML>TSM>TNSの関係が満足されている。閾値TNS、TSM、及び、TMLは、それぞれ、相対値R、R、Rに対応している。この例では、各閾値TNS、TSM、及び、TMLの値は、それぞれ、対応する相対値R、R、Rと等しい。
CPU10は、多値誤差拡散処理プログラム29を実行することにより、図2に示すように動作して本実施の形態の画像処理方法(多値誤差拡散処理)を実行する。
まず、CPU10は、1つの画素(X、Y)についての1つの色(例えばシアン)に関する入力画素値Iin(0〜255内の値)を受け取ると、ノイズ生成工程101を実行し、入力画素値Iinに応じてノイズ値Nを演算する。
以下、ノイズ値Nの演算方法を説明する。
まず、CPU10は、以下の方法によりレートを求める。
CPU10は、まず、当該色(シアン)に対する4つの相対値R、R、R、R(この例では、0,106,192,255)を相対値表32から読み出す。CPU10は、以下の4つの数式を演算することにより、第1〜第4のレートを求める。
第1のレート=1−{[abs(Iin − R − F)]/Range}
第2のレート=1−{[abs(Iin − R − F)]/Range}
第3のレート=1−{[abs(Iin − R − F)]/Range}
第4のレート=1−{[abs(Iin − R − F)]/Range}
なお、abs( )は、( )内の数値の絶対値を表す。Fはシフト量であり、この例では2である。Rangeはノイズ発生範囲を示し、この例では10である。なお、各レートについて、演算結果が0以下となった場合には、当該レートを強制的に0に設定する。
これら第1〜第4のレートの一般式は、以下の数式(1)で表される。
レート=1−{[abs(Iin − R − F)]/Range} ・・・(1)
ここで、j=N、S、M、あるいは、Lである。図6に、数式(1)で定義されるレートが入力画素値Iinに応じて変化する様子を示す。横軸は入力画素値Iinを表し、縦軸はレートを表す。図6に示すように、レートは、Iin=R+Fにて最大値1を採り、Iin=R+Fから離れるに従って徐々に小さくなり、Iin≦(R+F)−Range、及び、Iin≧(R+F)+Rangeでは、強制的に0に設定される。
CPU10は、第1〜第4のレートのうちの最大値を選択して、当該入力値Iinに対するレートとして設定する。したがって、レートは、0もしくは正の値となる。
次に、CPU10は、以下の方法により、係数を求める。
入力値Iinが入力画素値最小値Imin(0)以上で(R+R)/2(この例では、53)より小さい場合には、CPU10は、閾値表30より閾値TSM(この例では、106)を読み出し、係数を(TSM−Imin)/Gに設定する。なお、値Gは所定の規格化定数であり、この例では291である。したがって、この例では、係数を106/291に設定する。
一方、入力値Iinが(R+R)/2(この例では、53)以上で(R+R)/2(この例では、149)より小さい場合には、CPU10は、閾値表30より閾値TML、TSM、TNS(この例では、192,106、0)を読み出し、係数を、(TSM−TNS)/Gと(TML−TSM)/Gとのうち、小さい方に設定する。この例では、係数を、106/291と86/291のうちの小さい方である86/291に設定する。
一方、入力値Iinが(R+R)/2(この例では、149)以上で(R+R)/2(この例では、224)より小さい場合には、CPU10は、閾値表30より閾値TML、TSM(この例では、192,106)を読み出し、係数を、(TML−TSM)/Gと(Imax−TML)/Gのうち、小さい方に設定する。この例では、係数を、86/291と63/291のうちの小さい方である63/291に設定する。
一方、入力値Iinが(R+R)/2(この例では、224)以上で入力画素値最大値Imax(255)以下の場合には、係数を、(Imax−TML)/Gに設定する。この例では、63/291に設定する。
次に、CPU10は、乱数を発生させる。なお、入力画素値IinがImin(0)以上で(R+R)/2より小さい場合には、乱数を、0以上+255以下の範囲で発生させる。入力画素値Iinが(R+R)/2(この例では53)以上で(R+R)/2(この例では224)より小さい場合には、乱数を、−255以上+255以下の範囲で発生させる。入力画素値Iinが(R+R)/2以上でImax(255)以下の場合には、乱数を、−255以上0以下の範囲で発生させる。
次に、CPU10は、上記のようにして求めたレート、係数、及び、乱数を掛け合わせてノイズ値Nを求める。すなわち、CPU10は、以下の数式(2)を演算することにより、ノイズ値Nを求める。
ノイズ値N=レート × 係数 × 乱数 ・・・(2)
次に、CPU10は、入力画素値補正工程102を実行し、現在処理中の画素(X、Y)の周辺に位置する処理済みの12個の画素の誤差を、誤差バッファ36から読み出し、その値を分散マトリクス34によって重み付け加算し、その結果を入力値Iinに加えて入力画素補正値Iin’を算出する。より詳しくは、CPU10は、画素(X−2,Y−2)で生じた誤差の1/48と、画素(X−1,Y−2)で生じた誤差の3/48と、画素(X,Y−2)で生じた誤差の5/48と、画素(X+1,Y−2)で生じた誤差の3/48と、画素(X+2,Y−2)で生じた誤差の1/48と、画素(X−2,Y−1)で生じた誤差の3/48と、画素(X−1,Y−1)で生じた誤差の5/48と、画素(X,Y−1)で生じた誤差の7/48と、画素(X+1,Y−1)で生じた誤差の5/48と、画素(X+2,Y−1)で生じた誤差の3/48と、画素(X−2,Y)で生じた誤差の5/48と、画素(X−1,Y)で生じた誤差の7/48とを、入力画素値Iinに加算して、入力画素補正値Iin’を生成する。
次に、CPU10は、ノイズ値加算工程104を実行し、入力画素補正値Iin’にノイズ値Nを加算し、値(Iin’+N)を求める。
次に、CPU10は、比較工程105を実行する。すなわち、CPU10は図7に示す比較処理を実行する。CPU10は、まず、(Iin’+N)が閾値TMLより大きいか判断する(S10)。大きい場合(S10にてyes)には、大ドットを設定する(S22)。一方、(Iin’+N)が閾値TML以下の場合(S10にてno)には、(Iin’+N)が閾値TSMより大きいか判断する(S12)。大きい場合(S12にてyes)には、中ドットを設定する(S20)。一方、(Iin’+N)が閾値TSM以下の場合(S12にてno)には、(Iin’+N)が閾値TNSより大きいか判断する(S14)。大きい場合(S14にてyes)には、小ドットを設定する(S18)。一方、(Iin’+N)が閾値TNS以下の場合(S14にてno)には、ドット無しを設定する(S16)。CPU10は、こうして設定された大ドット、中ドット、小ドット、ドット無しのいずれかの状態を示す値を、出力画素値Ioutとして、プリンタ5に対し出力する。
なお、判断工程S10,S12、S14では、(Iin’+N)が閾値より大きいか否かを判断している。このため、(Iin’+N)が閾値と等しい場合には、S10,S12,S14の判断が否定となり、閾値より小さい場合と同様に処理される。しかしながら、(Iin’+N)が閾値以上か否かを判断しても良い。この場合には、(Iin’+N)が閾値と等しい場合には、S10,S12,S14の判断が肯定となり、閾値より大きい場合と同様に処理されることになる。
次に、CPU10は、変換工程108を実行する。すなわち、CPU10は、出力画素値Ioutに対応する相対値R、R、R、もしくは、Rを、相対値表32から選択し読み出す。すなわち、出力画素値Ioutが大ドットなら相対値Rを読み出し、出力画素値Ioutが中ドットなら相対値Rを読み出し、出力画素値Ioutが小ドットなら相対値Rを読み出し、出力画素値Ioutがドット無しなら相対値Rを読み出す。
次に、CPU10は、誤差演算工程112を実行し、読み出された相対値と補正値Iin’との差を誤差バッファ36に登録する。
こうして、1つの画素(X、Y)に対する多値誤差拡散処理を終了すると、次の画素に対する多値誤差拡散処理に移行する。
以下、ノイズ生成工程101において生成するノイズ値Nについて、より詳細に説明する。
図8は、入力画素値Iinと、入力画素値Iinとノイズ値Nとの和(Iin+N)との関係を示す図である。横軸は入力画素値Iin、縦軸は(Iin+N)の値を示す。(Iin+N)の値が採りうる範囲を斜線で示す。横軸には、相対値R、R、R、R、及び、これらの例として、シアンについての値が()内の値として付記されている。
また、縦軸には、閾値TNS、TSM、TMLと、これらの例として、シアンについての値が()内の値として付記されている。また、横軸及び縦軸には、入力画素値最小値Imin(0)と入力画素値最大値Imax(255)も、付記されている。
入力画素値Iinは、横軸方向において定義されている領域D、D、D、D内のいずれかに位置する。領域Dは、Imin(0)以上で(R+R)/2より小さい範囲、領域Dは、(R+R)/2以上で(R+R)/2より小さい範囲、領域Dは、(R+R)/2以上で(R+R)/2より小さい範囲、領域Dは(R+R)/2以上でImax(255)以下の範囲である。
また、縦軸方向における閾値TNSと閾値TSMとの間の範囲、閾値TSMと閾値TMLとの間の範囲、及び、閾値TMLと入力画素値最大値Imax(255)との間の範囲を、それぞれ、H1,H2,H3とする。範囲H1,H2,H3の量を、それぞれ、h1,h2,h3とする。すなわち、h1=TSM−TNS、h2=TML−TSM、h3=Imax−TML=255−TMLである。なお、この例では、閾値TNSは入力画素値最小値Imin(0)と等しいため、h1=TSM−TNS=TSM−Imin=TSMである。
ところで、1つの画像に対しノイズ値Nを付加することなく多値誤差拡散処理すると、入力画素値Iinが相対値R、R、R、もしくは、R、あるいは、相対値付近の値(R+F)、(R+F)、(R+F)、(R+F)に等しい位置で疑似輪郭が発生する可能性がある。
例えば、処理しようとする画像がグラデーション画像であり、その濃度がY方向に沿って徐々に濃くなっていくもの(以下、正のグラデーション画像という)である場合、Y方向に誤差拡散を進めていくにつれ、ドットの遅れが生じる。このため、相対値R、R、R、Rよりわずかに濃度が高い部分で擬似輪郭が発生するおそれがある。そこで、相対値R、R、R、Rよりわずかに高い濃度値を疑似輪郭発生濃度値(R+F)、(R+F)、(R+F)、(R+F)として設定し、入力画素値が疑似輪郭発生濃度値近傍の値である場合にノイズを発生させればよいことがわかる。この場合、シフト量Fは正の値である。なお、シフト量Fは入力画素値0〜255に対し、例えば、2である。
一方、濃度がY方向に沿って徐々に薄くなっていく負のグラデーション画像に対しては、やはり、ドットの遅れにより、相対値R、R、R、Rと等しいか相対値R、R、R、Rよりわずかに濃度が低い部分で擬似輪郭が発生するおそれがある。そこで、相対値R、R、R、Rと等しいか相対値R、R、R、Rよりわずかに低い濃度値を疑似輪郭発生濃度値(R+F)、(R+F)、(R+F)、(R+F)として設定し、入力画素値が疑似輪郭発生濃度値近傍の値である場合にノイズを発生させれば良いことがわかる。この場合、シフト量Fは0もしくは負の値である。
このため、本実施の形態では、ノイズ生成工程101では、(R+F)−Range〜(R+F)+Rangeの範囲内、(R+F)−Range〜(R+F)+Rangeの範囲内、(R+F)−Range〜(R+F)+Rangeの範囲内、及び、(R+F)−Range〜(R+F)+Rangeの範囲内の入力画素値に対してノイズが生成される。
なお、(R+F)−Range〜(R+F)+Rangeの範囲内の入力画素値Iinは領域D内に位置し、(R+F)−Range〜(R+F)+Rangeの範囲内の入力画素値Iinは領域D内に位置し、(R+F)−Range〜(R+F)+Rangeの範囲内の入力画素値Iinは領域D内に位置し、(R+F)−Range〜(R+F)+Rangeの範囲内の入力画素値Iinは領域D内に位置している。したがって、(R+F)−Range〜(R+F)+Rangeの範囲内の入力画素値Iinは、全相対値R、R、R、Rのうち相対値Rに最も近接している。(R+F)−Range〜(R+F)+Rangeの範囲内の入力画素値Iinは全相対値R、R、R、Rのうち相対値Rに最も近接している。(R+F)−Range〜(R+F)+Rangeの範囲内の入力画素値Iinは全相対値R、R、R、Rのうち相対値Rに最も近接している。(R+F)−Range〜(R+F)+Rangeの範囲内の入力画素値Iinは全相対値R、R、R、Rのうち相対値Rに最も近接している。
このように、ノイズ生成工程101では、ノイズが、各疑似輪郭発生濃度値(R+F)、(R+F)、(R+F)、(R+F)を中心とした2xRangeの範囲内の入力画素値に対してのみ生成される。ノイズを生成する入力画素値範囲が広すぎると、画像が荒れてしまうからである。なお、ノイズ発生範囲Rangeの値は入力画素値0〜255に対し10が最適であることを、実験により確認した。
以下、各範囲で発生させるノイズ値Nについて、詳細に説明する。
<(R+F)−Range≦Iin≦(R+F)+Range>
(R+F)−Range≦Iin≦(R+F)+Rangeの入力画素値Iinに対して発生させるノイズ値N(以下、ノイズNという)は、以下の数式によって定義される。なお、ノイズ値Nは、正の値またはゼロ(0)である。
ノイズN=(係数)x(レート)x(乱数)
ここで、(レート)={1−[abs(Iin − R − F)/Range]}である。(レート)は、Iin=R+Fにて最大値1を採り、Iin=R+Fから離れるに従って徐々に小さくなり、Iin=(R+F)−Range、及び、Iin=(R+F)+Rangeでゼロ(0)となる。このため、投入するノイズ値が大きすぎることがなく、画像が荒れることを防止できる。
(乱数)は、0以上255以下の周期性の無い白色ノイズである。
(係数)は、入力画素値IinとノイズNとの和「Iin+N」が、範囲H1内、すなわち、入力画素値最小値Imin(0)と閾値TSM(106)との間に位置することを保証する大きさを有している。画像が荒れるのを防止するためである。
ここで、和「Iin+N」は入力画素値最小値Imin(0)以上であれば良い。和「Iin+N」が入力画素値最小値Imin(0)を下回ると、画像が荒れやすいからである。
また、和「Iin+N」は閾値TSM(106)以下であれば良い。和「Iin+N」が閾値TSM(106)を上回ると、入力画素補正値Iin’とノイズNとの和「Iin’+N」が閾値TSM(106)を上回ってしまいやすくなり(S12でyes)、中ドットが誤って生じて画像が荒れてしまうからである。
ただし、和「Iin+N」は閾値TSM(106)より小さいことがより好ましい。
和「Iin+N」が閾値TSM(106)と等しいと、入力画素補正値Iin’とノイズNとの和「Iin’+N」も閾値TSM(106)と等しくなりやすい。ここで、S12の比較方法を変更し(Iin’+N)が閾値TSMと等しい場合にも閾値TSMより大きい場合と同様に処理されるようにすると、中ドットが誤って生じてしまうからである。
(係数)は、具体的には、範囲H1の大きさに依存した大きさを有しており、以下の式により定義される正の値である。
(係数)=h1/G=(TSM−Imin)/G。
規格化定数Gは、後述するように、シフト量Fに依存して定まる255以上の値である。
<(RS+F)-Range≦Iin≦(RS+F)+Range>
(RS+F)-Range≦Iin≦(RS+F)+Rangeの入力画素値Iinに対して発生させるノイズ値N(以下、ノイズNという)は、以下の数式によって定義される。なお、ノイズNは、正の値、ゼロ(0),もしくは、負の値である。
ノイズN=(係数)x(レート)x(乱数)
ここで、(レート)={1−[abs(Iin − R − F)/Range]}である。したがって、(レート)は、Iin=R+Fにて最大値1を採り、Iin=R+Fから離れるに従って徐々に小さくなり、Iin=(R+F)−Range、及び、Iin=(R+F)+Rangeでゼロ(0)となる。
(乱数)は、−255以上255以下の周期性の無い白色ノイズである。
(係数)は、入力画素値IinとノイズNとの和「Iin+N」が、範囲H1及び範囲H2からなる範囲内、すなわち、閾値TNS(0)と閾値TML(192)との間に位置することを保証する大きさを有している。やはり、画像が荒れるのを防止するためである。
ここで、和「Iin+N」は閾値TNS(0)以上で閾値TML(192)以下であれば良い。和「Iin+N」が閾値TNS(0)を下回ると、入力画素補正値Iin’とノイズNとの和「Iin’+N」が閾値TNS(0)を下回ってしまいやすくなり(S14でno)、ドット無しが誤って生じて画像が荒れてしまうからである。同様に、和「Iin+N」が閾値TML(192)を上回ると、入力画素補正値Iin’とノイズNとの和「Iin’+N」が閾値TML(192)を上回ってしまいやすくなり(S10でyes)、大ドットが誤って生じて画像が荒れてしまうからである。
ただし、和「Iin+N」は閾値TNS(0)より大きく閾値TML(192)より小さいことが、より好ましい。和「Iin+N」が閾値TNS(0)と等しいと、入力画素補正値Iin’とノイズNとの和「Iin’+N」も閾値TNS(0)と等しくなりやすく(S14でno)、ドット無しが誤って生じてしまうからである。また、和「Iin+N」が閾値TML(192)と等しいと、入力画素補正値Iin’とノイズNとの和「Iin’+N」も閾値TML(192)と等しくなりやすい。ここで、S10の比較方法を変更し(Iin’+N)が閾値TMLと等しい場合にも閾値TMLより大きい場合と同様に処理されるようにすると、大ドットが誤って生じてしまいやすくなるからである。
(係数)は、具体的には、範囲H1と範囲H2との大きさに依存した大きさを有しており、以下の式により定義される正の値である。
(係数)=(h1とh2とのうち小さい方)/G={(TSM−TNS)と(TML−TSM)との小さい方}/G。
<(R+F)−Range≦Iin≦(R+F)+Range>
(R+F)−Range≦Iin≦(R+F)+Rangeの入力画素値Iinに対して発生させるノイズ値N(以下、ノイズNという)は、以下の数式によって定義される。なお、ノイズNは、正の値、ゼロ(0)、もしくは、負の値である。
ノイズN=(係数)x(レート)x(乱数)
ここで、(レート)={1−[abs(Iin − R − F)/Range]}である。したがって、(レート)は、Iin=R+Fにて最大値1を採り、Iin=R+Fから離れるに従って徐々に小さくなり、Iin=(R+F)−Range、及び、Iin=(R+F)+Rangeでゼロ(0)となる。
(乱数)は、−255以上255以下の周期性の無い白色ノイズである。
(係数)は、入力画素値IinとノイズNとの和「Iin+N」が範囲H2及び範囲H3からなる範囲内、すなわち、閾値TSM(106)と入力画素値最大値Imax(255)との間に位置することを保証する大きさを有している。画像が荒れるのを防止するためである。
ここで、和「Iin+N」は入力画素値最大値(255)以下であれば良い。和「Iin+N」が入力画素値最大値Imax(255)を上回ると、画像が荒れやすいからである。
また、和「Iin+N」は閾値TSM(106)以上であれば良い。和「Iin+N」が閾値TSM(106)を下回ると、入力画素補正値Iin’とノイズNとの和「Iin’+N」が閾値TSM(106)を下回ってしまいやすくなり(S12でno)、小ドットが誤って生じて画像が荒れてしまうからである。
ただし、和「Iin+N」は閾値TSM(106)より大きいことがより好ましい。
和「Iin+N」が閾値TSM(106)と等しいと、入力画素補正値Iin’とノイズNとの和「Iin’+N」も閾値TSM(106)と等しくなりやすく(S12でno)、小ドットが誤って生じてしまいやすいからである。
(係数)は、具体的には、範囲H2と範囲H3との大きさに依存した大きさを有しており、以下の式により定義される正の値である。
(係数)=(h2とh3とのうち小さい方)/G={(TML−TSM)と(Imax−TML)との小さい方}/G。
<(R+F)−Range≦Iin≦(R+F)+Range>
(R+F)−Range≦Iin≦(R+F)+Rangeの入力画素値Iinに対して発生させるノイズ値N(以下、ノイズNという)は、以下の数式によって定義される。なお、ノイズNは、負の値もしくはゼロ(0)である。
ノイズN=(係数)x(レート)x(乱数)
ここで、(レート)={1−[abs(Iin − R − F)/Range]}である。したがって、(レート)も、Iin=R+Fにて最大値1を採り、Iin=R+Fから離れるに従って徐々に小さくなり、Iin=(R+F)−Range、及び、Iin=(R+F)+Rangeでゼロ(0)となる。
(乱数)は、−255以上0以下の周期性の無い白色ノイズである。
(係数)は、入力画素値IinとノイズNとの和「Iin+N」が範囲H3内、すなわち、閾値TML(192)と入力画素値最大値Imax(255)との間に位置することを保証する大きさを有している。画像が荒れるのを防止するためである。
ここで、和「Iin+N」は入力画素値最大値Imax(255)以下であれば良い。和「Iin+N」が入力画素値最大値Imax(255)を上回ると、画像が荒れやすいからである。
また、和「Iin+N」は閾値TML(192)以上であれば良い。和「Iin+N」が閾値TML(192)を下回ると、入力画素補正値Iin’とノイズNとの和「Iin’+N」が閾値TML(192)を下回ってしまいやすくなり(S10でno)、中ドットが誤って生じて画像が荒れてしまうからである。
ただし、和「Iin+N」は閾値TML(192)より大きいことがより好ましい。
和「Iin+N」が閾値TML(192)と等しいと、入力画素補正値Iin’とノイズNとの和「Iin’+N」も閾値TML(192)と等しくなりやすく、中ドットが誤って生じてしまいやすいからである。
(係数)は、具体的には、範囲H3の大きさに依存した大きさを有しており、以下の式により定義される正の値である。
(係数)=(h3)/G=(Imax−TML)/G。
次に、規格化定数Gについて説明する。
規格化定数Gは、シフト量Fに依存して定まる255以上の値である。ただし、規格化定数Gは、256以上の範囲からシフト量Fに応じて選ぶことが好ましい。
G=255とすると、Fが0以外であると、(Iin+N)が入力画素値最小値Imin(0)を下回ったり閾値TSM(106)を上回ったり、(Iin+N)が閾値TNS(0)を下回ったり閾値TML(192)を上回ったり、(Iin+N)が閾値TSM(106)を下回ったり入力画素値最大値Imax(255)を上回ったり、(Iin+N)が閾値TML(192)を下回ったり入力画素値最大値Imax(255)を上回ったりして、出力画像がざらついてしまう可能性があるからである。
なお、F=0の場合には、G=255としても良い。ただし、この場合には、(Iin+N)が閾値TSM(106)と等しくなったり、(Iin+N)が閾値TNS(0)や閾値TML(192)と等しくなったり、(Iin+N)が閾値TSM(106)と等しくなったり、(Iin+N)が閾値TML(192)と等しくなる可能性がある。
本発明者は実験を行い、入力画素値0〜255とF=2との組み合わせに対しては、291が規格化定数Gとして最適であることを確認した。G=291に設定することにより、(Iin+N)が入力画素値最小値Imin(0)以上で閾値TSM(106)より小さく、(Iin+N)が閾値TNS(0)より大きく閾値TML(192)より小さく、(Iin+N)が閾値TSM(106)より大きく入力画素値最大値Imax(255)より小さく、(Iin+N)が閾値TML(192)より大きく入力画素値最大値Imax(255)以下となることを保証することができる。
以上より明らかなように、各相対値付近に付加されるノイズ値は、乱数とレートと係数との積で表される。レートは、対応する相対値からシフト量Fだけずれた位置にて最大値1を採り、対応する相対値からシフト量Fだけずれた位置から+Range以上及び−Range以下ずれた位置では0を採る。係数としては、ノイズ値と入力画素値との和が、対応する相対値より小さい隣接する相対値に対応する閾値もしくは入力画素値最小値を下回らず、且つ、対応する相対値より大きい隣接する相対値に対応する閾値もしくは入力画素値最大値を上回らないことを確保する値となっている。
換言すれば、ノイズ値は、図8において斜線で示すように、(R+F)−Range≦Iin≦(R+F)+Rangeの範囲内の入力画素値Iinに対しては(h1/G)x(レート)x0〜(h1/G)x(レート)x255の範囲内の値を採り、(R+F)−Range≦Iin≦(R+F)+Rangeの範囲内の入力画素値Iinに対しては{(h1とh2のうち小さい方)/G}x(レート)x(−255)〜{(h1とh2のうち小さい方)/G}x(レート)x255の範囲内の値を採り、(R+F)−Range≦Iin≦(R+F)+Rangeの範囲内の入力画素値Iinに対しては{(h2とh3のうち小さい方)/G}x(レート)x(−255)〜{(h2とh3のうち小さい方)/G}x(レート)x255の範囲内の値を採り、(R+F)−Range≦Iin≦(R+F)+Rangeの範囲内の入力画素値Iinに対しては(h3/G)x(レート)x(−255)〜(h3/G)x(レート)x0の範囲内の値を採る。
なお、画像内において、入力画素値Iinが相対値R、R、R、R付近の値(R+F)、(R+F)、(R+F)、(R+F)のうちいずれか1つ乃至3つの値に等しい位置で疑似輪郭が発生することが予想される場合には、入力画素値Iinが対応する1つ〜3つの値の近傍に位置している場合にのみノイズを発生させれば良い。
例えば、シアンの正のグラデーション画像において濃度が108(=R+2)及び194(=R+2)付近で疑似輪郭が生じるおそれがある場合には、ノイズ生成工程101では、入力画素値Iinが108近傍、もしくは、194近傍である場合にのみノイズを発生させれば良い。換言すれば、ノイズ値N及びノイズ値Nのみを発生させ、ノイズ値N及びノイズ値Nを強制的にゼロ(0)に設定すればよい。
シアンの正のグラデーション画像に対して本実施の形態の多値誤差拡散処理を施し、その結果をプリンタ5にて印刷する実験を行った。この正のグラデーション画像は、印刷位置Y=0から印刷位置Y=355までY方向に沿って入力画素値Iin(濃度)が徐々に濃くなっていく画像であった。また、各印刷位置Yにおいて、X方向に延びる1ライン(横1ライン)における全画素(0,Y)〜(Xmax、Y)の入力画素値Iinは互いに等しかった。印刷位置Y=0付近で、入力画素値Iinはドット無しの相対値R(0)であった。印刷位置Y=170付近で、入力画素値Iinは小ドットの相対値R(106)に達し、印刷位置Y=310付近で、入力画素値Iinは中ドットの相対値R(192)に達し、印刷位置Y=350付近で、入力画素値Iinは大ドットの相対値R(255)に達していた。この実験では、小ドットの相対値Rに対する(R+F)、及び、中ドットの相対値Rに対する(R+F)付近でノイズ値N、Nを付加した。
なお、F=2,Range=10、G=291に設定した。したがって、(係数)=86/291,(係数)=63/291であった。なお、ノイズ値N、Nは、強制的に0に設定した。
図9に示されている2つの画像のうち右側の図が、この実験で得られた印刷画像を示している。
なお、比較実験(以下、第1の比較実験という)も行った。この第1の比較実験では、同一のグラデーション画像に対して、第1の比較例の多値誤差拡散処理を実施した。第1の比較例の多値誤差拡散処理は、ノイズを付加しない点を除き、本実施の形態の多値誤差拡散処理と同一であった。すなわち、ノイズ値N、N、N、Nを全て強制的に0に設定した。図9の左側の図は、第1の比較実験で得られた印刷画像を示している。
図10は、図9に対応して、印刷された各部を模式的に表した図である。印刷画像においては、Y方向に沿って、ドット無しのみの領域161、小ドットとドット無しとが混在している領域163、小ドットがべたに発生している領域165、小ドットと中ドットとが混在している領域167、中ドットがべたに発生している領域169、及び、中ドットと大ドットとが混在している領域171とが、この順に並んでいる。
図9及び図10から明らかなように、擬似輪郭は、領域165と領域163との境界、領域165と領域167との境、領域169と領域167との境界、および、領域169と領域171との境に発生している。ノイズを付加しない(図9左側,図10左側)場合には、領域165、169いずれも幅が大きく、はっきりとした疑似輪郭が見られた。しかしながら、ノイズを付加すると(図9右側,図10右側)、領域165,169のいずれもその幅が狭くなり、疑似輪郭がかなり緩和されたことが確認された。
図11は、ノイズを付加しない場合(図9左側,図10左側)において、横軸Yを印刷位置、縦軸を0から255の濃度値として、入力画素値を細線で表し、出力画素値を相対値に変換しX方向の横1ラインの相対値を平均化して得られた値(以下、出力平均値という)を太線で表したものである。図12は、ノイズを付加した場合(図9右側,図10右側)において、横軸Yを印刷位置、縦軸を0から255の濃度値として、入力画素値を細線で表し、出力平均値を太線で表したものである。図12は、さらに、入力画素値が(R+F)付近あるいは(R+F)付近に達した時に付加されたノイズのノイズ値も示している。
図11より、印刷位置Yが170付近と310付近で出力平均値が水平となり入力画素値から乖離しているのがわかる。これが擬似輪郭として知覚される。出力平均値が水平となっている領域のY方向における略中央位置において、入力画素値が濃度値(R+F)、(R+F)に達している。なお、シフト量F=2である。
本実施の形態では、図12に示すように、ノイズ値のピークが、濃度値(R+F)、(R+F)の位置、すなわち、図11において出力平均値が水平になっている領域の略中央部分に位置している。かかるノイズを付加した結果、図12から明らかなように、出力平均値が水平になっていた部分がほぼ解消され、入力画素値との乖離部分が消滅し、疑似輪郭が低減した。
上記実験により、シフト量Fを2に設定し、Rangeを10に設定し、Gを291に設定することにより、相対値R付近の入力画素値にノイズを付加した結果が、相対値Rに対応するしきい値TML(192)を上回らず相対値Rに対応するしきい値TNSを下回らず、相対値R付近の入力画素値にノイズを付加した結果が、入力画素値最大値(255)を上回らず相対値Rに対応するしきい値TSM(106)を下回らないため、画像を荒れさせることなく疑似輪郭を消すことができることを確認した。
さらに、シアンインクの大ドット相対値付近や、他のインク色(黒、マゼンタ、イエロ)についてもノイズを付加したところ、上記と同様の効果が確認できた。
なお、ノイズが大きすぎ、入力画素値にノイズ値を加算した結果が、入力画素値が最も近接している相対値より大きい隣接する相対値に対応するしきい値や入力画素値最大値を上回ったり、入力画素値が最も近接している相対値より小さい隣接する相対値に対応するしきい値や入力画素値最小値を下回ったりすると、画像が荒れ、疑似輪郭が却って強く発生してしまう。本発明者は、上記の実験で使用した画像と同一の画像に対し第2の比較例の多値誤差拡散処理を施す第2の比較実験を実施した。第2の比較例の多値誤差拡散処理は、(係数)=(係数)=0.5に設定したノイズN、Nを付加し、かつ、ノイズN、Nを強制的にゼロ(0)に設定した点を除き、本実施の形態の多値誤差拡散処理と同一である。第2の比較実験の結果、図13に示す印刷画像が得られた。この印刷画像では、小ドットと中ドットとが混在する領域167内の小ドットべた領域165と接する側に大ドットやドット無しの点が誤って形成されてしまい、また、中ドットと大ドットとが混在する領域171内の中ドットべた領域169と接した側にドット無しの点が誤って形成されてしまい、画像が荒れ、疑似輪郭が強くなってしまった。
以上実施の形態に基づき本発明を説明したが、本発明は上記実施の形態に何ら限定されるものでなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
例えば、上記の実施の形態では、ノイズ値加算工程104では入力画素補正値Iin’に対しノイズ値Nを加算し、比較工程105では加算結果(Iin’+N)が閾値TNS、TSM、TMLと比較されていた。しかしながら、図14に示すように、ノイズ値加算工程104の代わりに、ノイズ値減算工程115を実行するようにしてもよい。ノイズ値減算工程115では、CPU10は、ノイズ値Nを閾値TNS、TSM、TMLから引き算する。この場合、比較工程105では、CPU10は、入力画素補正値Iin’自体を、引き算結果(TNS−N)、(TSM−N)、(TML−N)と比較する。すなわち、S10(図7)では、Iin’が(TML−N)より大きいか判断し、S12では、Iin’が(TSM−N)より大きいか判断し、S14では、Iin’が(TNS−N)より大きいか判断する。入力画素補正値+ノイズ値>閾値という式と、入力画素補正値>閾値−ノイズ値という式とは、ノイズ値を移項したにすぎず、互いに等価だからである。
レートは、入力画素値Iinが相対値付近(R+F)(ここで、j=N、S、M、または、L)になったところでピークとなり、相対値付近(R+F)から離れるに従い徐々に減少し、相対値付近(R+F)から±Range以上離れると0となるのであれば、上記の式(1)以外の式で定めても良い。例えば、レートは、入力画素値Iinが相対値付近になったところでピークとなり相対値付近から離れるに従いガウシアン状に減少するような値となるように、設定しても良い。
上記の実施の形態では、入力画素値が領域DもしくはD内に位置している場合、乱数を、−255以上255以下の範囲内で発生させた。しかしながら、乱数は、0以上255以下の範囲内、あるいは、−255以上0以下の範囲内で発生させてもよい。
上記の実施の形態では、ノイズ生成工程101では、CPU10は、入力画素値Iinに対してレートと係数とを求め、乱数を発生させて、乱数とレートと係数とを掛けてノイズ値とした。しかしながら、CPU10は、レートと係数とを求めた後、乱数の発生範囲の最大値と最小値とをそれぞれレートと係数とに掛けて、ノイズ値が採りうる値の範囲を求めても良い。この場合、ノイズが採りうる範囲は、図8に斜線で示した範囲と同一となる。その後、ノイズが採りうる範囲内でノイズ値を発生させても良い。
上記実施の形態では、入力される画素の値が8ビットで表される0から255の範囲としたが、16ビットで表される0から65535の値としてもよい。
上記の実施の形態では、各閾値TNS、TSM、TMLは、それぞれ、対応する相対値R、R、Rと等しかった。しかしながら、閾値は、対応する相対値とは異なっていても良い。例えば、閾値は、対応する相対値に対して、入力値範囲の約1%程度であれば異なっていても良い。具体的には、入力画素値が8ビット、すなわち、入力画素値の範囲が0〜255である場合には、閾値は対応する相対値に対し、入力画素値の範囲0〜255の約1%、すなわち、2.56程度異なっていても良い。また、入力画素値が16ビット、すなわち、入力画素値の範囲が0〜65535である場合には、閾値は対応する相対値に対し、入力画素値の範囲0〜65535の約1%、すなわち、655.35程度異なっていても良い。
本実施の形態では、画像処理装置1は、各色につき1画素あたり、8ビットで表される0以上255以下の互いに異なる256個のいずれかの値を有する入力画素値Iinに対して多値誤差拡散処理を実行して、互いに異なる4個のいずれかの値を有する出力画素値Ioutに変換した。しかしながら、本実施の形態の多値誤差拡散処理を、互いに異なる任意のm個(mは4以上)のいずれかの値を有する入力画素値Iinを互いに異なるn(nはmより小さく、3以上)個のいずれかの値を有するn階調の出力画素値Ioutに変換するように変更しても良い。この場合、使用する閾値の個数は(n−1)個である。さらに、本実施の形態の多値誤差拡散処理を、互いに異なるp個(pは3以上)のいずれかの値を有する入力画素値Iinを互いに異なる2個の値のいずれかの値を有する2階調の出力画素値Ioutに変換する2値誤差拡散処理に変更しても良い。この場合、使用する閾値の個数は1個である。
本実施の形態の多値誤差拡散処理プログラム29と閾値表30,相対値表32,及び、分散マトリックス34は、ハードディスク16に格納されていたが、ROM12に格納されていてもよく、あるいは、図示しないCD−ROMに格納されCD−ROMドライブ18を介して画像処理装置1に供給されるのでもよい。
本実施の形態の多値誤差拡散処理プログラム29は、CD−ROMの他、様々なコンピュータ読みとり可能なメディアに格納することができる。本実施の形態の画像処理装置1は、これら様々なメディアを読みとるためのドライブを備えていれば良い。もしくは、画像処理装置1は、本実施の形態の多値誤差拡散処理プログラム29を、インターネット等のネットワークからダウンロードしても良い。
本実施の形態の画像処理装置1は、コンピュータでなくても良い。本実施の形態の多値誤差拡散処理を実現するための素子を備えていれば良い。
また、本実施の形態の多値誤差拡散処理プログラム29を、プリンタ5のROM54に組み込んでも良い。画像処理装置1は、256階調の画像データIinをそのままプリンタ5に供給する。プリンタ5が、本実施の形態の多値誤差拡散処理プログラム29を実行して、256階調の画像データIinを4階調の画像データIoutに変換する。
本発明の実施の形態にかかる画像処理装置の構成を示す構成概略図である 図1の画像処理装置が実行する本発明の実施の形態にかかる多値誤差拡散処理を示す説明図である。 分散マトリックスの例を示す。 相対値表の例を示す。 閾値表の例を示す。 レートを模式的に示す図である。 比較工程にて実行される処理を示すフローチャートである。 入力値とノイズとの和が採りうる範囲を模式的に示す図である。 ノイズを付加しないで得られた印刷画像(左側)と、ノイズを付加して得られた印刷画像(右側)とを比較して示す図である。 図9に対応して、ノイズを付加しないで得られた印刷画像(左側)とノイズを付加して得られた印刷画像(右側)における各領域を説明する模式図である。 ノイズを付加しないで得られた印刷画像の印刷位置における入力画素値と出力平均値とを示す図である。 ノイズを付加して得られた印刷画像の印刷位置における入力画素値と出力平均値とを示す図である。 ノイズの入れすぎにより発生する擬似輪郭の様子を示す図である。 変更例にかかる多値誤差拡散処理を示す説明図である。 従来の多値誤差拡散の処理を示す説明図である。
1 画像処理装置
5 プリンタ
10 CPU
12 ROM
14 RAM
16 ハードディスク
18 CD−ROMドライブ
29 多値誤差拡散処理プログラム
30 閾値表
32 相対値表
34 分散マトリクス
36 誤差バッファ
101 ノイズ生成工程
102 入力画素値補正工程
104 ノイズ値加算工程
105 比較工程
108 変換工程
112 誤算演算工程
115 ノイズ値減算工程

Claims (30)

  1. 複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理装置において、
    1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、
    該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手段と、
    該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、
    該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、
    該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与するものであって、該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値に等しい場合に最大となり、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値から離れるに従い減少することを特徴とする画像処理装置。
  2. 該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
    該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする請求項1記載の画像処理装置。
  3. 該少なくとも1つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有していることを特徴とする請求項1または2記載の画像処理装置。
  4. 該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの各相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与することを特徴とする請求項1乃至3のいずれかに記載の画像処理装置。
  5. 該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が、該複数の第1の値のうちの最小値以上で、かつ、該複数の第1の値のうちの最大値以下となるように、ノイズ値の大きさを設定することを特徴とする請求項1乃至4のいずれかに記載の画像処理装置。
  6. 複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理装置において、
    1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、
    該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手段と、
    該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、
    該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、
    該ノイズ付与手段は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与し、
    該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
    該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理装置。
  7. 該少なくとも1つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有していることを特徴とする請求項に記載の画像処理装置。
  8. 該入力画素値が該少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値を含む所定の範囲内に位置している場合に、該ノイズ付与手段は、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与することを特徴とする請求項6または7に記載の画像処理装置。
  9. 該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値に等しい場合に最大となり、該入力画素値が該少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値から離れるに従い減少することを特徴とする請求項6乃至8のいずれかに記載の画像処理装置。
  10. 複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理装置において、
    1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手段と、
    該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手段と、
    該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手段と、
    該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手段とを備え、
    該少なくとも1つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
    該少なくとも1つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理装置。
  11. 該少なくとも1つの閾値が該下側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値より大きくなるように、ノイズ値の大きさを設定し、
    該少なくとも1つの閾値が該上側隣接閾値を含む場合には、該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値より小さくなるように、ノイズ値の大きさを設定することを特徴とする請求項10記載の画像処理装置。
  12. 該少なくとも1つの閾値が該最近接相対値に対応する最近接閾値と該下側隣接閾値とを含む場合には、該ノイズ付与手段は、該最近接閾値と該下側隣接閾値との差分に基づきノイズ値の大きさを設定することを特徴とする請求項10または11に記載の画像処理装置。
  13. 該最近接相対値が該複数の相対値のうちの最大値である場合には、該ノイズ付与手段は、該複数の第1の値の最大値と該下側隣接閾値との差分に基づきノイズ値の大きさを設定することを特徴とする請求項10乃至12のいずれかに記載の画像処理装置。
  14. 該少なくとも1つの閾値が該最近接相対値に対応する最近接閾値と該上側隣接閾値とを含む場合には、該ノイズ付与手段は、該最近接閾値と該上側隣接閾値との差分に基づきノイズ値の大きさを設定することを特徴とする請求項10乃至13のいずれかに記載の画像処理装置。
  15. 該最近接相対値が該複数の相対値のうちの最小値である場合には、該ノイズ付与手段は、該複数の第1の値の最小値と該上側隣接閾値との差分に基づきノイズ値の大きさを設定することを特徴とする請求項10乃至14のいずれかに記載の画像処理装置。
  16. 該少なくとも1つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に対応する最近接閾値と、該最近接閾値に隣接し該最近接閾値より小さい下側隣接閾値と、該最近接閾値に隣接し該最近接閾値より大きい該上側隣接閾値とを含む場合には、
    該ノイズ付与手段は、該入力画素値にノイズ値を加算した値が該下側隣接閾値以上で、かつ、該上側隣接閾値以下となるようにノイズ値の大きさを設定することを特徴とする請求項10乃至15のいずれかに記載の画像処理装置。
  17. 該ノイズ付与手段は、該入力画素値にノイズ値を加算した値が該下側隣接閾値より大きく該上側隣接閾値より小さくなるようにノイズ値の大きさを設定することを特徴とする請求項16に記載の画像処理装置。
  18. 該ノイズ付与手段は、該最近接閾値と該下側隣接閾値との差分と該最近接閾値と該上側隣接閾値との差分とのうち、小さい方の値に基づきノイズ値の大きさを設定することを特徴とする請求項16または17に記載の画像処理装置。
  19. 該ノイズ付与手段は、前記入力画素値にノイズ値を加算した値が、該複数の第1の値のうちの最小値以上で、かつ、該複数の第1の値のうちの最大値以下となるように、ノイズ値の大きさを設定することを特徴とする請求項10乃至18のいずれかに記載の画像処理装置。
  20. 前記少なくとも1つの閾値のそれぞれは、対応する相対値とほぼ同一の値を有していることを特徴とする請求項10乃至19のいずれかに記載の画像処理装置。
  21. 該ノイズ付与手段は、該入力画素値が疑似輪郭が発生する疑似輪郭発生画素値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与することを特徴とする請求項10乃至20のいずれかに記載の画像処理装置。
  22. 該疑似輪郭発生画素値は、該複数の相対値のうちの少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値に等しいことを特徴とする請求項10乃至21のいずれかに記載の画像処理装置。
  23. 該入力画素値が該疑似輪郭発生画素値を含む所定の範囲内に位置している場合に、該ノイズ付与手段は、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与することを特徴とする請求項10乃至22のいずれかに記載の画像処理装置。
  24. 該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該疑似輪郭発生画素値に等しい場合に最大となり、該入力画素値が該疑似輪郭発生画素値から離れるに従い減少することを特徴とする請求項10乃至23のいずれかに記載の画像処理装置。
  25. 複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理方法において、
    1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、
    該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与工程と、
    該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、
    該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、
    該ノイズ付与工程は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与するものであり、該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値に等しい場合に最大となり、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値から離れるに従い減少することを特徴とする画像処理方法。
  26. 複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理方法において、
    1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、
    該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与工程と、
    該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、
    該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、
    該ノイズ付与工程は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与し、
    該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
    該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理方法。
  27. 複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理方法において、
    1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正工程と、
    該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与工程と、
    該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力工程と、
    該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算工程とを備え、
    該少なくとも1つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
    該少なくとも1つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与工程は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理方法。
  28. コンピュータにより実行される、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理プログラムにおいて、
    1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、
    該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手順と、
    該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、
    該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、
    該ノイズ付与手順は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、その付近の値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与するものであり、該ノイズ値の絶対値が採りうる最大値は、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値に等しい場合に最大となり、該入力画素値が該少なくとも1つの相対値、もしくは、その付近の値から離れるに従い減少することを特徴とする画像処理プログラム。
  29. コンピュータにより実行される、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理プログラムにおいて、
    1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、
    該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手順と、
    該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、
    該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、
    該ノイズ付与手順は、該入力画素値が該複数の相対値のうちの少なくとも1つの相対値、もしくは、該少なくとも1つの相対値から所定の値ずれた値に等しい場合に、該入力画素補正値、もしくは、該少なくとも1つの閾値に対しノイズを付与し、
    該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
    該少なくとも1つの閾値が、該少なくとも1つの相対値に隣接し該少なくとも1つの相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理プログラム。
  30. コンピュータにより実行される、複数の互いに異なる第1の値のうちのいずれか1つにより特定される入力画素値から、誤差拡散法によって少なくとも1つの閾値を用いて、階調数が第1の値の階調数よりも少ない複数の互いに異なる第2の値のうちのいずれか1つにより特定される出力画素値を出力する画像処理プログラムにおいて、
    1つの画素に対応する入力画素値を、既に処理された画素において得られた誤差によって補正して入力画素補正値を決定する入力画素値補正手順と、
    該入力画素補正値にノイズ値を加算するか、もしくは、該少なくとも1つの閾値からノイズ値を減算することにより、該入力画素補正値もしくは該少なくとも1つの閾値にノイズを付与するノイズ付与手順と、
    該入力画素補正値にノイズ値が加算された場合には該ノイズ値が加算された入力画素補正値と該少なくとも1つの閾値とを比較し、該少なくとも1つの閾値からノイズ値が減算された場合には該入力画素補正値と該ノイズ値が減算された少なくとも1つの閾値とを比較し、比較結果に基づいて出力画素値を出力する出力手順と、
    該複数の第2の値に対応する複数の相対値のうち、該出力画素値に対応する相対値と該入力画素補正値との差分を当該画素の誤差として演算する誤差演算手順とを備え、
    該少なくとも1つの閾値が、該複数の相対値のうち該入力画素値が最も近接している最近接相対値に隣接し該最近接相対値より小さい下側隣接相対値に対応する下側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該下側隣接閾値以上となるように、ノイズ値の大きさを設定し、
    該少なくとも1つの閾値が、該最近接相対値に隣接し該最近接相対値より大きい上側隣接相対値に対応する上側隣接閾値を含む場合には、該ノイズ付与手順は、前記入力画素値にノイズ値を加算した値が該上側隣接閾値以下となるように、ノイズ値の大きさを設定することを特徴とする画像処理プログラム。
JP2004261808A 2003-09-12 2004-09-09 画像処理装置、画像処理方法、および画像処理プログラム Expired - Fee Related JP4501607B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004261808A JP4501607B2 (ja) 2003-09-12 2004-09-09 画像処理装置、画像処理方法、および画像処理プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003320772 2003-09-12
JP2004261808A JP4501607B2 (ja) 2003-09-12 2004-09-09 画像処理装置、画像処理方法、および画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2005110233A JP2005110233A (ja) 2005-04-21
JP4501607B2 true JP4501607B2 (ja) 2010-07-14

Family

ID=34554363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004261808A Expired - Fee Related JP4501607B2 (ja) 2003-09-12 2004-09-09 画像処理装置、画像処理方法、および画像処理プログラム

Country Status (1)

Country Link
JP (1) JP4501607B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100046532A (ko) 2008-10-27 2010-05-07 삼성전자주식회사 화상형성장치, 화상형성시스템 및 그 인쇄방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11252364A (ja) * 1998-03-02 1999-09-17 Fuji Xerox Co Ltd 画像処理方法および画像処理装置
JP2003023541A (ja) * 2001-07-06 2003-01-24 Sharp Corp 画像処理方法、画像処理装置および画像形成装置
JP2003219160A (ja) * 2002-01-24 2003-07-31 Ricoh Co Ltd 画像形成装置、画像形成方法、プログラムおよび記録媒体
JP2004015614A (ja) * 2002-06-10 2004-01-15 Konica Minolta Holdings Inc 画像処理装置および画像処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11252364A (ja) * 1998-03-02 1999-09-17 Fuji Xerox Co Ltd 画像処理方法および画像処理装置
JP2003023541A (ja) * 2001-07-06 2003-01-24 Sharp Corp 画像処理方法、画像処理装置および画像形成装置
JP2003219160A (ja) * 2002-01-24 2003-07-31 Ricoh Co Ltd 画像形成装置、画像形成方法、プログラムおよび記録媒体
JP2004015614A (ja) * 2002-06-10 2004-01-15 Konica Minolta Holdings Inc 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
JP2005110233A (ja) 2005-04-21

Similar Documents

Publication Publication Date Title
US7881553B2 (en) Image processing apparatus, image processing method, and computer program product
US6435657B1 (en) Method for multicolorant printing of digital images using reduced colorant amounts
JP4236804B2 (ja) 画像処理方法、その装置及び記憶媒体
JP6256108B2 (ja) 印刷装置、印刷用データ生成装置およびその方法、ならびに印刷用データ生成プログラム
JPH10112801A (ja) 入力イメージ処理方法
JP4783566B2 (ja) カラー・イメージ・データを処理するシステム及び方法
US8208751B2 (en) Image processing apparatus, image processing method, and program
US20130027753A1 (en) Dither matrix creating device
JP4501607B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP4068181B2 (ja) マルチレベル階調画素値のレベル数減少方法及びシステム
US7295347B2 (en) Image processing method for generating multi-level data
JP2004040303A (ja) 多値出力装置、プログラム及び記録媒体
JP3723046B2 (ja) 画像処理装置
JP2018160883A (ja) 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム
US7528992B2 (en) Image processing device and image processing method
JP2020082694A (ja) ディザマトリクスの生成装置、生成方法、当該ディザマトリクスを用いた画像処理装置、画像処理方法、及びプログラム
JP7250508B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US20240037895A1 (en) Storage medium, image processing apparatus, and image processing method
JP6159162B2 (ja) 画像処理装置およびその方法
JP2008306427A (ja) 画像処理装置および画像処理方法
JP4412213B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2006191457A (ja) 画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラム、画像形成装置、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2024019857A (ja) 画像処理装置、画像処理方法、およびプログラム
JP5505355B2 (ja) 画像処理装置およびプログラム
JP2021178503A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20091105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091224

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: 20100330

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100412

R150 Certificate of patent or registration of utility model

Ref document number: 4501607

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees