JP2024019908A - プログラム、画像処理装置、及び画像処理方法 - Google Patents
プログラム、画像処理装置、及び画像処理方法 Download PDFInfo
- Publication number
- JP2024019908A JP2024019908A JP2022122675A JP2022122675A JP2024019908A JP 2024019908 A JP2024019908 A JP 2024019908A JP 2022122675 A JP2022122675 A JP 2022122675A JP 2022122675 A JP2022122675 A JP 2022122675A JP 2024019908 A JP2024019908 A JP 2024019908A
- Authority
- JP
- Japan
- Prior art keywords
- value
- error
- pixel
- quantization
- usage rate
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 340
- 238000003672 processing method Methods 0.000 title claims description 19
- 238000013139 quantization Methods 0.000 claims abstract description 403
- 230000001186 cumulative effect Effects 0.000 claims abstract description 129
- 238000000034 method Methods 0.000 claims description 209
- 230000008569 process Effects 0.000 claims description 195
- 239000011159 matrix material Substances 0.000 claims description 105
- 238000004364 calculation method Methods 0.000 claims description 50
- 238000012937 correction Methods 0.000 claims description 13
- 230000003247 decreasing effect Effects 0.000 claims description 9
- 238000009792 diffusion process Methods 0.000 abstract description 54
- 238000010586 diagram Methods 0.000 abstract description 14
- 230000006870 function Effects 0.000 abstract description 11
- 230000012447 hatching Effects 0.000 abstract description 6
- 230000000644 propagated effect Effects 0.000 description 8
- 238000009825 accumulation Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】量子化の対象が、誤差拡散処理が適用される中間階調値とのハッチングパターンのような高周波パターンの画像であっても、従来よりも領域としての濃度を保持すること。【解決手段】本発明の一実施形態は、コンピュータを、入力画像における各画素の画素値を量子化する画像処理装置として機能させるプログラムであって、前記コンピュータを、注目画素に対応する累積画素値と適用誤差値との間の差分の少なくとも一部を、量子化によって取得される量子化誤差値に加算する加算手段と、前記加算手段により取得される加算誤差を、前記注目画素の周辺の画素に拡散させる誤差分配手段と、として機能させることを特徴とするプログラムである。【選択図】図4
Description
本開示は、プログラム、画像処理装置、及び画像処理方法に関する。
プリンタで画像を出力するためには通常、画像を構成する各画素に対する量子化の処理が必要になる。量子化の処理とは、連続階調で表現された画像を、プリンタが表現できる階調数に変換するハーフトーン処理である。従来、量子化の処理方法として、例えば、ディザ処理や誤差拡散処理が知られている。
従来、ディザ処理と誤差拡散処理とを選択的に使用して量子化を行う方法が知られている。特許文献1では、ディザ処理と誤差拡散処理とを切り替えて一方の処理を行うのではなく、ディザ処理の影響力及び誤差拡散処理の影響力を割り振るようにして量子化を行う。特許文献1の方法によれば、テクスチャ、ドット遅延、及びワームノイズ等の発生を抑えることができる。
しかしながら、誤差拡散処理が適用される中間階調値のハッチングパターンのような高周波パターンの画像では、誤差拡散で処理されるにも関わらず、誤差使用率によっては誤差の伝搬が少ない、又は誤差伝搬されない場合がある。その結果、領域として濃度が保持されない場合があった。
そこで本開示は、上記課題に鑑み、量子化の対象が、誤差拡散処理が適用される中間階調値とのハッチングパターンのような高周波パターンの画像であっても、従来よりも領域としての濃度を保持することを目的とする。
本発明の一実施形態は、コンピュータを、入力画像における各画素の画素値を量子化する画像処理装置として機能させるプログラムであって、前記コンピュータを、注目画素を選択する画素選択手段と、前記注目画素の画素値に応じて、2次元マトリクスを量子化に影響させる度合いを示す第1使用率を決定する決定手段と、前記注目画素の画素値に応じて、前記注目画素の周辺の画素に対する量子化で生じる量子化誤差値の累積値である累積誤差を量子化に影響させる度合いを示す第2使用率を決定する決定手段と、前記注目画素に対応する前記累積誤差のうち、不使用誤差として、前記注目画素の量子化に使用されない誤差値を算出する算出手段と、前記注目画素に対応する前記累積誤差と前記第2使用率とに基づいて、前記注目画素の量子化に適用する適用誤差値を取得し、該取得した適用誤差値と前記注目画素の画素値とに基づいて、累積画素値を算出する算出手段と、前記2次元マトリクスと前記第1使用率とに基づいて、前記注目画素の量子化に適用する量子化閾値を算出する算出手段と、前記注目画素に対する量子化として、前記累積画素値と前記量子化閾値とを用いて、量子化値と量子化誤差値とを取得するための量子化を実行する実行手段と、前記注目画素に対応する前記累積画素値と前記適用誤差値との間の差分の少なくとも一部を、前記実行手段の量子化によって取得される前記量子化誤差値に加算する加算手段と、前記加算手段により取得される加算誤差を、前記注目画素の周辺の画素に拡散させる誤差分配手段と、として機能させることを特徴とするプログラムである。
本開示によれば、量子化の対象が、誤差拡散処理が適用される中間階調値とのハッチングパターンのような高周波パターンの画像であっても、従来よりも領域としての濃度を保持することを可能になる。
[第1実施形態]
以下、添付の図面を参照しながら、画像処理装置、画像処理方法、及びプログラムの実施形態の一例を詳細に説明する。尚、以下の実施形態は、本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせのすべてが本発明の解決手段に必須のものとは限らない。また、実施形態に記載されている構成要素の位置、形状などはあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
以下、添付の図面を参照しながら、画像処理装置、画像処理方法、及びプログラムの実施形態の一例を詳細に説明する。尚、以下の実施形態は、本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせのすべてが本発明の解決手段に必須のものとは限らない。また、実施形態に記載されている構成要素の位置、形状などはあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
<印刷システムの構成>
図1は、本開示の一実施形態に係るプログラムについて説明する図である。図1(a)は、このプログラムを使用する印刷システム10の構成の一例を示す。図示するように、印刷システム10は、画像処理装置11と、印刷装置12と、を有する。
図1は、本開示の一実施形態に係るプログラムについて説明する図である。図1(a)は、このプログラムを使用する印刷システム10の構成の一例を示す。図示するように、印刷システム10は、画像処理装置11と、印刷装置12と、を有する。
画像処理装置11は、例えばRIP(Raster Image Processor)処理等の画像形成処理を行う装置である。画像処理装置11は、印刷データが示す原画像を展開することにより、印刷装置12が解釈可能な形式により画像を示す印刷可能データを形成する。図示は省略するが、画像処理装置11は、少なくとも、中央処理装置(CPU)と、CPUにおいて実行する各種処理のプログラムなどを記憶するROMと、CPUのワークメモリなどとして使用されるRAMとを備えている。また、画像処理装置11は、各種の情報を記憶可能な記憶部を備えている。
また、本実施形態において、画像処理装置11は、この画像形成処理において、少なくとも、原画像中の各画素の画素値である色の濃度を示す濃度値の量子化を行う。また、この場合、画像処理装置11は、印刷装置12で使用されるプロセスカラー毎に量子化を行う。これにより、画像処理装置11は、印刷データに基づき、各プロセスカラーに対応するハーフトーン画像を形成する。
尚、画像処理装置11は、例えば印刷装置12を制御するホストPCであり、所定のプログラムに従って、画像処理装置として動作する。画像処理装置11は、印刷データを、例えば他のPCから受け取ってよい。また、印刷データは、ユーザにより、画像処理装置11上で作成されてもよい。
印刷装置12は、例えばインクジェットプリンタであり、画像処理装置11から受け取る印刷可能データに従い、画像の印刷を実行する。また、本実施形態において、印刷装置12は、CMYKインクの各色をプロセスカラーとして使用し、カラー印刷を行う。印刷装置12は、更に他の色のインクを用いて印刷を行ってもよい。
<量子化処理の概要>
次に、画像処理装置11で実行される量子化処理の概要について説明する。図1(b)は、画像処理装置11が行う量子化の処理の概要を示す図である。画像処理装置11は、プロセスカラー毎に、原画像に対する量子化により、ハーフトーン画像である擬似中間調画像を形成する。この量子化は、原画像の各座標における濃度値In(x,y)を、擬似中間調画像の同じ座標における量子化値out(x,y)に変換する処理である。
次に、画像処理装置11で実行される量子化処理の概要について説明する。図1(b)は、画像処理装置11が行う量子化の処理の概要を示す図である。画像処理装置11は、プロセスカラー毎に、原画像に対する量子化により、ハーフトーン画像である擬似中間調画像を形成する。この量子化は、原画像の各座標における濃度値In(x,y)を、擬似中間調画像の同じ座標における量子化値out(x,y)に変換する処理である。
本実施形態において、画像処理装置11は、この量子化を、ディザマトリクスノイズD(i,j)と、累積誤差E(x,y)との両方を用いる方法(ハイブリッド誤差拡散処理)により行う。また、画像処理装置11は、ディザマトリクスノイズD(i,j)と、累積誤差E(x,y)とに関連するパラメータとして、それぞれ0以上1以下(0%~100%)の範囲の値に設定されるノイズ使用率Rnと、誤差使用率Reとを更に用いる。
ノイズ使用率Rnは、2次元マトリクスであるディザマトリクスノイズD(i,j)を量子化の処理に影響させる度合いを示すパラメータであり、量子化を行う画素の濃度値In(x,y)に応じて算出される。画像処理装置11は、ディザマトリクスノイズD(i,j)をそのまま用いるのではなく、ディザマトリクスノイズD(i,j)とノイズ使用率Rnとの積を用いて量子化を行う。これにより、画像処理装置11は、各画素に対応するノイズ使用率Rnに応じて、ディザマトリクスノイズD(i,j)を使用する。
また、誤差使用率Reは、累積誤差E(x,y)を量子化の処理に影響させる度合いを示すパラメータであり、量子化を行う画素の濃度値In(x,y)に応じて算出される。画像処理装置11は、累積誤差E(x,y)をそのまま用いるのではなく、累積誤差E(x,y)と誤差使用率Reとの積を用いて、各画素の濃度値In(x,y)に対応する誤差補正済入力値In’(x,y)を算出する。そして、算出した誤差補正済入力値In’(x,y)を用いて、量子化の処理を行う。これにより、画像処理装置11は、各画素に対応する誤差使用率Reに応じて、累積誤差E(x,y)を使用する。尚、量子化の処理については、後に更に詳しく説明する。
また、累積誤差E(x,y)の内、使用されなかった不使用誤差R(x,y)は後述の量子化誤差Q(x,y)と合算されて、累積誤差E(x,y)に算入される。累積誤差E(x,y)は、以下の式を用いて算出される。
R(x,y)=E(x,y)-(E(x,y)×Re)
=E(x,y)×(1-Re)
つまり、従来例の様に不使用誤差を捨ててしまうのではなく、他の画素に伝搬させる事で、従来よりも領域としての濃度を保持することが可能となる。
R(x,y)=E(x,y)-(E(x,y)×Re)
=E(x,y)×(1-Re)
つまり、従来例の様に不使用誤差を捨ててしまうのではなく、他の画素に伝搬させる事で、従来よりも領域としての濃度を保持することが可能となる。
<公知技術における懸念>
以下、従来方法の処理結果について、図2及び図3を用いて説明する。従来方法では、各画素の濃度値In(x,y)に応じて、量子化を行う画素に対するノイズ使用率と、誤差使用率とが決定される。
以下、従来方法の処理結果について、図2及び図3を用いて説明する。従来方法では、各画素の濃度値In(x,y)に応じて、量子化を行う画素に対するノイズ使用率と、誤差使用率とが決定される。
図2は、本実施形態に係る入力画像と、該入力画像に対する処理結果とを例示する。図2(a)は、本実施形態の量子化処理で処理される入力画像として、任意の1つのプロセルカラーに対応する画像を示している。この入力画像は、濃度0の画素と濃度を持った画素とが千鳥状に配置されており、画像の左側から右側にかけて濃度を持った画素の濃度が徐々に高くなっている。図3(a)は、図2(a)の画像の中間調付近(濃度を持った画素の濃度値が125(8ビットの場合))を5×5画素で切り取った画像を示している。図3(a)で塗りつぶされた画素が濃度値125(8ビット)の画素であり、当該画素に対して、誤差使用率100%、ノイズ使用率0%である。一方、図3(a)で塗りつぶされていない画素の濃度値が濃度値0の画素であり、当該画素に対して、誤差使用率0%、ノイズ使用率100%である。また、拡散フィルタは図1(b)に示す拡散フィルタである。濃度値に対する誤差使用率、ノイズ使用率の割合は図5に示す通りであり、詳細は後述する。
図3(a)における画素301の濃度値は0であるため、これに対応するノイズ使用率は100%、誤差使用率は0%である。この画素を量子化する場合、周辺に濃度値125の画素があるため、周辺の画素で発生した誤差が伝搬することで画素301に適用される累積誤差Eは0ではない値となる。しかし、誤差使用率が0%であるため、累積誤差Eは入力値に反映されず、誤差拡散済入力値は0(=0+0)となる。そのため、本実施形態では、画素301に対応するディザマトリクスの値が―108、初期閾値が128とすると、ノイズ補正済み閾値が16(=-108×1.0+128)となる。その結果、入力値0と閾値16とが比較され、入力値が閾値未満であるため量子化結果は0となる。そして、誤差として0(=0-0)が算出されるため、周囲へ拡散する誤差はない。
一方、図3(a)における画素302の濃度値は125であるため、これに対応するノイズ使用率は0%、誤差使用率は100%である。この画素の周辺の画素は濃度値0の画素であり、当該周辺の画素で発生した誤差がないため、画素302に適用される累積誤差Eは0となる。その結果、誤差使用率は100%であるが、累積誤差Eが0のめ、誤差拡散済入力値は125(=125+0)となる。本実施形態では、画素302のディザマトリクスの値が―64、初期閾値が128とすると、ノイズ補正済み閾値が128(=―64×0.0+128)となる。その結果、入力値125と閾値128とが比較され、入力値が閾値未満であるため量子化結果は0となる。そして、誤差として+125(=125-0)が算出され、拡散フィルタによって周囲の画素へ誤差が拡散される。
上記のように、図3(a)の画像では、濃度を持った画素で発生した誤差が拡散されるが周辺の画素で適用されないため、図3(b)に示すように領域中の出力値が全て0となり、領域として濃度が保持されない量子化結果となる。そのため、図2(b)に示すように誤差使用率100%、ノイズ使用率0%となる入力値では、誤差拡散処理では基準の閾値を境に量子化結果の濃度が急激に変化する量子化結果となる。また、ノイズ使用率が低い階調では、領域として濃度が保持されない量子化結果となる場合がある。
また、図2(b)を見ると分かるように、従来例では明部(図中左端側)では一部量子化結果が255となり、暗部(図中右端側)では一部量子化結果が0となっている。これはノイズ使用率が100%に近づくことで、
明部:ノイズ補正済み閾値<画素濃度値
暗部:ノイズ補正済み閾値>画素濃度値
となる画素が生ずる為である。
明部:ノイズ補正済み閾値<画素濃度値
暗部:ノイズ補正済み閾値>画素濃度値
となる画素が生ずる為である。
図2(a)と図2(b)を見比べると、図2(b)は濃度階調が保持されず、中央付近で急峻に濃度が変化しているだけでなく、明部と暗部で濃度の逆転が生じている事が分かる。
本実施形態によれば、例えば、誤差拡散処理の空間周波数特性(誤差拡散特性)にディザ処理の空間周波数特性(ディザ特性)の影響を与えることができる。また、これにより、例えば、誤差拡散特性にディザ特性を組み込んだ方法により、量子化を行うことができる。また、この場合、例えば単にディザ処理と誤差拡散処理とを切り替える場合等と異なり、処理の切り替えに伴う境界線が発生すること等を適切に防ぐことができる。加えて、累積誤差の全てを使用しない画素においても、使用しなかった誤差を周辺画素に伝搬させる事が出来る。その結果、誤差拡散処理が適用される中間調値のハッチングパターンのような高周波パターンの画像においても、従来よりも領域としての濃度を保持することが可能となる。
そのため、本実施形態によれば、例えば、それぞれの処理が得意とする部分を適切に活かし、かつそれぞれの処理を併用した場合の量子化結果として濃度が保持されない弊害を抑制した量子化の処理を行うことができる。また、これにより、例えば、量子化の処理において生じる印刷に関しての種々の問題点を適切に解消し、より適切な方法で量子化の処理を行うことができる。
尚、ディザマトリクスノイズD(i,j)は、2次元マトリクスであり、例えば、予め設定されたディザマトリクスにより指定される値である。ディザマトリクスノイズD(i,j)は、例えば従来のディザ処理において使用されるディザマトリクスノイズと同一又は同様であってよい。ディザマトリクスノイズD(i,j)としては、例えば、ブルーノイズ特性のノイズを用いることが好ましい。また、画像処理装置11は、使用するディザマトリクスを、プロセスカラー毎に変更することが好ましい。
累積誤差E(x,y)は、周辺の画素に対する量子化において生じる誤差である量子化誤差Q(x,y)と上述の不使用誤差R(x,y)との加算値を累積した値であり、予め設定された拡散フィルタ(拡散マトリクス)を用いて算出される。また、算出された累積誤差E(x,y)は、例えば誤差バッファに格納される。画像処理装置11は、累積誤差E(x,y)を、例えば従来の誤差拡散処理で使用される累積誤差と同一又は同様の方法により算出する。
<量子化処理>
以下、本実施形態における画像処理装置11において実行される量子化処理について説明する。この量子化処理は、原画像における各画素に対して量子化の処理を実行する処理となる。図4は、量子化を行う動作の一例を示すフローチャートである。画像処理装置11は、以下の処理を例えば、プロセスカラー毎に行う。尚、図4における各ステップ(S~と記載する)は、画像処理装置11によって、より詳しくは、画像処理装置11のCPUによって実行される。
以下、本実施形態における画像処理装置11において実行される量子化処理について説明する。この量子化処理は、原画像における各画素に対して量子化の処理を実行する処理となる。図4は、量子化を行う動作の一例を示すフローチャートである。画像処理装置11は、以下の処理を例えば、プロセスカラー毎に行う。尚、図4における各ステップ(S~と記載する)は、画像処理装置11によって、より詳しくは、画像処理装置11のCPUによって実行される。
量子化を行う動作において、本実施形態の画像処理装置11は、先ず、原画像から、量子化を行うべき画素である注目画素を選択する(画素選択処理S401)。そして、選択される画素の画素値である濃度値In(x,y)に応じて、その画素に対応するノイズ使用率Rn及び誤差使用率Reを算出する。これにより、画像処理装置11は、注目画素の量子化に使用するノイズ使用率Rn及び誤差使用率Reを決定する(使用率決定処理S402)。
続いて、画像処理装置11は、累積誤差E(x,y)の内、量子化に使用されない不使用誤差値R(x,y)を以下の式に従い計算する。(不使用誤差算出処理S403)
R(x,y)=E(x,y)×(1-Re)
R(x,y)=E(x,y)×(1-Re)
続いて、画像処理装置11は、累積誤差E(x,y)による補正を行った後の濃度値である誤差補正済入力値In’(x,y)を算出する(誤差補正済入力値算出処理S404)。この処理において、画像処理装置11は、例えば、画素選択処理S401で選択された画素に対応する誤差使用率Reと、累積誤差E(x,y)との積である適用誤差値を、その画素の濃度値In(x,y)に加算する。そして、加算後の値を、累積画素値である誤差補正済入力値In’(x,y)として算出する。
また、画像処理装置11は、更に、量子化で使用する閾値として、ディザマトリクスノイズD(i,j)を反映させた閾値であるノイズ補正済閾値Th’を算出する(ノイズ補正済閾値算出処理S405)。この処理において、画像処理装置11は、例えば、画素選択処理S401で選択された画素に対応するノイズ使用率Rnと、ディザマトリクスノイズD(i,j)との積を、予め設定された初期閾値Thに加算する。そして、加算後の値を、量子化閾値であるノイズ補正済閾値Th’として算出する。
そして、画像処理装置11は、算出されたノイズ補正済閾値Th’と、誤差補正済入力値In’(x,y)とを比較する。これにより、画像処理装置11は、画素選択処理S401で選択された画素に対する量子化を実行することで量子化値を算出する(量子化実行処理S406)。
続いて、画像処理装置11は、この画素の量子化により生じる量子化誤差Q(x,y)と、不使用誤差R(x,y)とを加算して加算誤差Q‘(x,y)を算出する(誤差加算処理S407)。
続いて、画像処理装置11は、拡散フィルタに従って、この画素の加算誤差Q‘(x,y)を、周辺の画素に拡散させる(誤差分配処理S408)。これにより、画像処理装置11は、周辺画素の分配先座標に対応した拡散フィルタの値に加算誤差Q‘(x,y)を積算し、周辺の画素のそれぞれに対応する累積誤差E(x,y)の値を更新する。
また、誤差分配処理S408の後、画像処理装置11は、量子化を実行した画素が原画像の最終の画素であるか否かを判定する(最終画素判定処理S409)。そして、最終画素であると判定した場合(S409:Yes)、原画像に対する量子化の処理を終了する。また、最終画素ではないと判定した場合(S409:No)、画素選択処理S401へ再度進み、次の画素を選択する。これにより、画像処理装置11は、画素選択処理S401において、量子化を行うべき画素を順次選択する。また、順次選択される画素に対して画素選択処理S401の以降の処理を行うことにより、その画素に対する量子化を実行する。
本実施形態によれば、例えば、誤差使用率Reを乗じた累積誤差E(x,y)を濃度値In(x,y)に加算することにより、誤差拡散特性を影響させる度合いを適切に調節できる。また、ノイズ使用率Rnを乗じたディザマトリクスノイズD(i,j)を初期閾値Thに加算することにより、ディザ特性を影響させる度合いを適切に調節できる。
これにより、例えば、入力値である濃度値In(x,y)に応じて、誤差拡散特性及びディザ特性のそれぞれを影響させる度合いを適切に設定できる。また、誤差拡散処理及びディザ処理のそれぞれが得意とする部分を適切に活かした量子化の処理を行うことができる。更に、誤差使用率Reが1未満だった場合でも、使用されなかった誤差を周辺画素に伝搬する事ができる。以下、量子化を行う動作中の各処理について、更に詳しく説明する。
<画素選択処理>
図5は、画素選択処理S401について更に詳しく説明する図である。図5は、画素を順次選択する順番の一例を示す。本実施形態の画素選択処理S401おいて、画像処理装置11は、例えば、画素のラインを順次選択し、選択したライン中の画素を所定の処理方向に沿って、順次選択する。また、画像処理装置11は、更に、この処理方向を、処理するライン毎に切り替える。例えば、画像処理装置11は、奇数ラインにおいては左から右へ、偶数ラインにおいては右から左へ、順次画素を選択する。これにより、画像処理装置11は、量子化の処理を、双方向処理により行う。双方向処理を行った場合、誤差の拡散方向が一定ではなくなるため、ドットをより適切に分散させることができる。また、その結果、例えば単方向処理により量子化を行う場合と比べ、ドット遅延の発生等をより適切に防ぐことができる。
図5は、画素選択処理S401について更に詳しく説明する図である。図5は、画素を順次選択する順番の一例を示す。本実施形態の画素選択処理S401おいて、画像処理装置11は、例えば、画素のラインを順次選択し、選択したライン中の画素を所定の処理方向に沿って、順次選択する。また、画像処理装置11は、更に、この処理方向を、処理するライン毎に切り替える。例えば、画像処理装置11は、奇数ラインにおいては左から右へ、偶数ラインにおいては右から左へ、順次画素を選択する。これにより、画像処理装置11は、量子化の処理を、双方向処理により行う。双方向処理を行った場合、誤差の拡散方向が一定ではなくなるため、ドットをより適切に分散させることができる。また、その結果、例えば単方向処理により量子化を行う場合と比べ、ドット遅延の発生等をより適切に防ぐことができる。
<使用率決定処理>
図6~8は、使用率決定処理S402について更に詳しく説明する図である。図6は、誤差使用率Re及びノイズ使用率Rnのそれぞれと、濃度値とを対応付けるグラフ、並びに、計算式の一例を示す。
図6~8は、使用率決定処理S402について更に詳しく説明する図である。図6は、誤差使用率Re及びノイズ使用率Rnのそれぞれと、濃度値とを対応付けるグラフ、並びに、計算式の一例を示す。
本実施形態において、画像処理装置11は、最小入力値MinInである0以上、かつ最大入力値MaxIn以下の範囲の濃度値に対して連続的に変化する関数に基づき、誤差使用率Re及びノイズ使用率Rnを算出する。最大入力値MaxIn及び最小入力値MinInは、例えば、入力値である濃度値が取り得る範囲の最大値及び最小値である。
また、この関数において、画像処理装置11は、ハイライト部にある濃度範囲を示す基準として、下記の3つを用いる。
・第3ハイライト基準値の一例であるハイライト側誤差使用率最小濃度値Hes
・第1ハイライト基準値の一例であるハイライト側ノイズ使用率最大濃度値Hn
・第2ハイライト基準値の一例であるハイライト側誤差使用率最大濃度値He
・第3ハイライト基準値の一例であるハイライト側誤差使用率最小濃度値Hes
・第1ハイライト基準値の一例であるハイライト側ノイズ使用率最大濃度値Hn
・第2ハイライト基準値の一例であるハイライト側誤差使用率最大濃度値He
また、シャドウ部にある濃度範囲を示す基準として、下記の3つを用いる。
・第1シャドウ基準値の一例であるシャドウ側誤差使用率最大濃度値Se
・第2シャドウ基準値の一例であるシャドウ側ノイズ使用率最大濃度値Sn
・第3シャドウ基準値の一例であるシャドウ側誤差使用率最小濃度値Ses
・第1シャドウ基準値の一例であるシャドウ側誤差使用率最大濃度値Se
・第2シャドウ基準値の一例であるシャドウ側ノイズ使用率最大濃度値Sn
・第3シャドウ基準値の一例であるシャドウ側誤差使用率最小濃度値Ses
更に、中間調部の中央において初期閾値Thを挟む濃度範囲を示す基準として、ハイライト側ノイズ使用率0%濃度値Hnz、シャドウ側ノイズ使用率0%濃度値Snz、第1中間調基準値C1、及び第2中間調基準値C2を用いる。
また、これらのパラメータは、少なくとも、Hes≦Hn<He<Se<Sn≦Ses、及びHn<Hnz<Snz<Snとなるように設定される。また、本実施形態において、これらのパラメータは、グラフに示された大小関係で、0(MinIn)<Hes≦Hn<He<C1<Hnz<Th<Snz<C2<Se<Sn≦Ses<MaxInとなるように設定される。
そして、使用率決定処理S402において、画像処理装置11は、図6のグラフの下に示した計算式に従い、誤差使用率Re及びノイズ使用率Rnを決定する。但し、この数式により算出されるノイズ使用率Rnが、所定の最低ノイズ使用率RnMinより小さくなる場合、画像処理装置11は、ノイズ使用率Rnを、最低ノイズ使用率RnMinに設定する。これにより、画像処理装置11は、画素の濃度値が何れの場合にも、ノイズ使用率Rnを、最低ノイズ使用率RnMin以上の値に設定する。
尚、誤差使用率Re及びノイズ使用率Rnはそれぞれ、0~100%(値0~1)の範囲内の値に設定される。グラフの下に示した計算式において、100%以上となる場合には、100%に設定される。また、0%以下となる場合には、0%に設定される。
また、最低ノイズ使用率RnMinは、例えばパラメータ設定時の調整時等に、0より大きな値に予め設定される。最低ノイズ使用率RnMinは、例えば0.1(10%)以上の値とすることが考えられる。例えば、最低ノイズ使用率RnMinは、例えば0.1~0.2(10~20%)とすることが好ましい。また、グラフから分かるように、入力値Inが第1中間調基準値C1又は第2中間調基準値C2と等しい場合に、計算式で算出されるノイズ使用率Rnは、最低ノイズ使用率RnMinと等しくなる。
以上の方法により、例えば、入力値Inが、ハイライト側誤差使用率最大濃度値He以上、かつシャドウ側誤差使用率最大濃度値Se以下の場合、画像処理装置11は、誤差使用率Reを、1(100%)に設定する。また、例えば、入力値Inがハイライト側誤差使用率最小濃度値Hes以下の場合、誤差使用率Reを0に設定する。入力値Inが、ハイライト側誤差使用率最小濃度値Hes以上、かつハイライト側誤差使用率最大濃度値He以下の場合、誤差使用率Reを、(In-Hes)/(He-Hes)で計算される値に設定する。これにより、例えば、入力値Inがハイライト側誤差使用率最大濃度値He以下の場合、誤差使用率Reを、0以上1(100%)以下の値であり、ハイライト側誤差使用率最大濃度値Heと入力値Inとの差に応じて1から漸減させた値に設定する。
また、例えば、入力値Inが、シャドウ側誤差使用率最大濃度値Se以上、かつシャドウ側誤差使用率最小濃度値Ses以下の場合、誤差使用率Reを、(Ses-In)/(Ses-Se)で計算される値に設定する。入力値Inがシャドウ側誤差使用率最小濃度値Ses以上の場合、誤差使用率Reを0に設定する。これにより、例えば、入力値Inが、シャドウ側誤差使用率最大濃度値Se以上の場合、誤差使用率Reを、0以上1(100%)以下の値であり、入力値Inとシャドウ側誤差使用率最大濃度値Seとの差に応じて1から漸減させた値に設定する。
この場合、ハイライト部から中間調部にかけての誤差使用率Reは、入力値Inに対し、例えば、ハイライト側誤差使用率最小濃度値Hesから徐々に増加し、ハイライト側誤差使用率最大濃度値Heにおいて最大値となる。また、中間調部からシャドウ部にかけての誤差使用率Reは、入力値Inに対し、シャドウ側誤差使用率最大濃度値Seから徐々に減少し、シャドウ側誤差使用率最小濃度値Sesにおいて最小値となる。
これにより、画像処理装置11は、例えば、入力値Inがハイライト部又はシャドウ部の何れかに相当する濃度値である場合の誤差使用率Reを、中間調部に相当する濃度値である場合の誤差使用率Reよりも小さな値に設定する。また、この場合、誤差使用率Reは、例えば、濃度範囲の両端では値が0(0%)であり、ディザ処理に特有のテクスチャが発生する濃度範囲であるテクスチャ発生部Hd、Sdの範囲内で値1(100%)となるように変化する。このように構成すれば、例えば、誤差使用率Reを中間調で主に使用する構成を適切に実現できる。
また、例えば、入力値Inが、ハイライト側ノイズ使用率最大濃度値Hn以下の場合、又はシャドウ側ノイズ使用率最大濃度値Sn以上の場合、画像処理装置11は、ノイズ使用率Rnを、1(100%)に設定する。また、入力値Inが、第1中間調基準値C1以上、かつ第2中間調基準値C2以下の場合、ノイズ使用率Rnを、最低ノイズ使用率RnMinに設定する。
また、例えば、入力値Inがハイライト側ノイズ使用率最大濃度値Hn以上、かつ第1中間調基準値C1以下の場合、画像処理装置11は、ノイズ使用率Rnを、最低ノイズ使用率RnMin以上、かつ1(100%)以下の値にする。また、入力値Inとハイライト側ノイズ使用率最大濃度値Hnとの差に応じて1から漸減させた値に設定する。
更に、例えば、入力値Inが、第2中間調基準値C2以上、かつシャドウ側ノイズ使用率最大濃度値Sn以下の場合、画像処理装置11は、ノイズ使用率Rnを、最低ノイズ使用率RnMin以上、かつ1(100%)以下の値にする。また、入力値Inと第2中間調基準値C2との差に応じて最低ノイズ使用率RnMinから漸増させた値に設定する。
これにより、画像処理装置11は、例えば、入力値Inがハイライト部又はシャドウ部の何れかに相当する濃度値である場合のノイズ使用率Rnを、中間調部に相当する濃度値である場合のノイズ使用率Rnよりも大きな値に設定する。また、この場合、ノイズ使用率Rnは、例えば、ハイライト部及びシャドウ部での値が1(100%)であり、中間調になるにつれて徐々に値が下がるように変化する。
本実施形態によれば、例えば、誤差拡散特性の影響が強いとドット遅延が発生しやすいハイライト部及びシャドウ部において、ノイズ使用率Rnを高くし、誤差使用率Reを低くすることとなる。これにより、例えば、ハイライト部及びシャドウ部において、ドットを分散して配置できるディザ特性の影響が大きくなるため、ドット遅延の発生を適切に抑えることができる。つまり、中間値よりも明るい(または暗い)第1の画素値と、第1の画素値よりも中間値に近い第2の画素値があった場合、第1の画素値に対する誤差使用率は、第2の画素値に対する誤差使用率よりも低い。かつ、第1の画素値に対するノイズ使用率は、第2の画素値に対するノイズ使用率よりも高くなる画素の組が存在する。尚、中間値について、本実施形態のように入力値が0から255の範囲である場合には、その中間の値である例えば128を中間値とする。
また、誤差拡散特性の影響を大きくして中間調部での量子化の処理を行うことにより、例えば、より自然な擬似階調を得ることができる。また、例えば、テクスチャ発生部となる濃度範囲において、ノイズ使用率Rnを低く、誤差使用率Reを高くすることにより、ドットの配置に変化を与えることができる。また、これにより、例えば、テクスチャの発生を適切に抑えることができる。
更には、例えば、最低ノイズ使用率RnMinを設け、ノイズ使用率Rnが0にならないようにすることにより、例えば、中間調部において、僅かにディザ特性の影響を与えつつ、誤差拡散特性の影響を大きくできる。また、これにより、例えば、パタンノイズを適切に抑制できる。
また、例えば、誤差使用率Re及びノイズ使用率Rnを算出する計算式に従ってディザ特性の影響の大きさと、誤差拡散特性の影響の大きさとを徐々に変化させる。その結果、ディザ特性が支配的な領域と、誤差拡散特性が支配的な領域との切り替え部分で境界線が発生することを適切に抑えることができる。また、これにより、量子化の処理の方法の切り替えを滑らかに行うことができる。
従って、本実施形態によれば、例えば、画素の濃度値に応じて、誤差使用率Re及びノイズ使用率Rnのそれぞれを適切に設定できる。また、これにより、誤差拡散処理及びディザ処理のそれぞれの処理が得意とする部分をより適切に活かした量子化の処理を適切に行うことができる。
続いて、誤差使用率Re及びノイズ使用率Rnを算出する処理について、更に詳しく説明する。図7は、誤差使用率Reを算出する処理の一例を示すフローチャートである。尚、図7における各ステップ(S~と記載する)は、画像処理装置11によって、より詳しくは、画像処理装置11のCPUによって実行される。
誤差使用率Reの算出において、画像処理装置11は、先ず、入力値Inがハイライト側誤差使用率最大濃度値He以上、かつシャドウ側誤差使用率最大濃度値Se以下の範囲にあるか否かを判定する(S701)。そして、この範囲にあると判定した場合(S701:Yes)、誤差使用率Reを、最大使用率である1(100%)に設定する(S702)。
また、この範囲にないと判定した場合(S701:No)、更に、入力値Inについて、ハイライト側誤差使用率最小濃度値Hes以上、かつハイライト側誤差使用率最大濃度値He以下の範囲にあるか否かを判定する(S703)。そして、この範囲にあると判定した場合(S703:Yes)、誤差使用率Reを、Re=(In-Hes)/(He-Hes)で計算される値に設定する(S704)。
また、S703において、入力値Inが範囲内にないと判定した場合(S703:No)、画像処理装置11は、更に、次の判定を行う。入力値Inについて、シャドウ側誤差使用率最大濃度値Se以上、かつシャドウ側誤差使用率最小濃度値Ses以下の範囲にあるか否かを判定する(S705)。そして、この範囲にあると判定した場合(S705:Yes)、誤差使用率Reを、Re=(Ses-In)/(Ses-Se)で計算される値に設定する(S706)。また、S705において、入力値Inが範囲内にないと判定した場合(S705:No)、画像処理装置11は、誤差使用率Reを、0(0%)に設定する(S707)。
そして、画像処理装置11は、S702、S704、S706、又はS707の何れかで設定した誤差使用率Reを、入力値Inに対応する誤差使用率Reとして採用する(S708)。本実施形態によれば、誤差使用率Reを適切に算出できる。
図8は、ノイズ使用率Rnを算出する処理の一例を示すフローチャートである。尚、図8における各ステップ(S~と記載する)は、画像処理装置11によって、より詳しくは、画像処理装置11のCPUによって実行される。
ノイズ使用率Rnの算出において、画像処理装置11は、先ず、入力値Inが、ハイライト側ノイズ使用率最大濃度値Hnより大きく、かつハイライト側ノイズ使用率0%濃度値Hnzより小さい範囲にあるか否かを判定する(S801)。そして、この範囲にあると判定した場合(S801:Yes)、ノイズ使用率Rnを、Rn=(Hnz-In)/(Hnz-Hn)で計算される値に設定する(S802)。
また、この範囲にないと判定した場合(S801:No)、更に、入力値Inが、シャドウ側ノイズ使用率0%濃度値Snzより大きく、かつシャドウ側ノイズ使用率最大濃度値Snより小さい範囲にあるか否かを判定する(S803)。そして、この範囲にあると判定した場合(S803:Yes)、ノイズ使用率Rnを、Rn=(In-Snz)/(Sn-Snz)で計算される値に設定する(S804)。
そして、S802又はS804においてノイズ使用率Rnを計算値に設定した後、最小の使用率である最低ノイズ使用率RnMinよりも当該設定したノイズ使用率Rnが大きいか否かを判定する(S805)。そして、ノイズ使用率Rnが最低ノイズ使用率RnMin以下である場合(S805:No)、ノイズ使用率Rnの値を、最低ノイズ使用率RnMinに変更し(S806)、S808へ進む。また、ノイズ使用率Rnが最低ノイズ使用率RnMinより大きい場合(S805:Yes)、ノイズ使用率Rnの値の変更を行うことなく、S808へ進む。
また、S803において、入力値Inが上記の範囲にないと判定した場合(S803:No)、画像処理装置11は、ノイズ使用率Rnを、最大の使用率である1(100%)に設定する(S807)。そして、画像処理装置11は、S802、S804、S806、又はS807の何れかで設定したノイズ使用率Rnを、入力値Inに対応するノイズ使用率Rnとして採用する(S808)。本実施形態によれば、ノイズ使用率Rnを適切に算出できる。
<量子化実行処理>
図9は、量子化実行処理S406の動作の一例を示すフローチャートである。尚、図9における各ステップ(S~と記載する)は、画像処理装置11によって、より詳しくは、画像処理装置11のCPUによって実行される。
図9は、量子化実行処理S406の動作の一例を示すフローチャートである。尚、図9における各ステップ(S~と記載する)は、画像処理装置11によって、より詳しくは、画像処理装置11のCPUによって実行される。
本実施形態の量子化実行処理S406において、画像処理装置11は、先ず、入力値Inと最大入力値MaxInとが等しいか否かを判定する(最大値判定処理S901)。そして、等しいと判定した場合(S901:Yes)、量子化の結果を示す出力値を、1に設定する(S902)。この値1は、入力値Inが閾値Thよりも大きい場合に出力されるべき値の一例である。また、この出力値の設定と共に、後の誤差加算処理S407で使用する誤差値を、誤差補正済入力値In’と最大入力値MaxInとの差であるIn’-MaxInに設定する。
また、S901において、入力値Inと最大入力値MaxInとが等しくないと判定した場合(S901:No)、画像処理装置11は、更に、入力値Inと最小入力値MinInとが等しいか否かを判定する(最小値判定処理S903)。そして、等しいと判定した場合(S903:Yes)、出力値を、0に設定する(S904)。この値0は、入力値Inが閾値Thよりも小さい場合に出力されるべき値の一例である。また、この出力値の設定と共に、誤差値を、誤差補正済入力値In’に設定する。
また、S903において、入力値Inと最小入力値MinInとが等しくないと判定した場合(S903:No)、画像処理装置11は、誤差補正済入力値In’がノイズ補正済閾値Th’よりも大きいか否かを判定する(S905)。そして、大きいと判定した場合(S905:Yes)、出力値を1に、誤差値を、In’-MaxInにそれぞれ設定する(S906)。また、S905において、誤差補正済入力値In’がノイズ補正済閾値Th’以下であると判定した場合(S905:No)、出力値を0に、誤差値をIn’にそれぞれ設定する(S907)。
そして、画像処理装置11は、量子化実行処理S406の結果となる量子化値及び誤差値として、S902、S904、S906、又はS907で設定した出力値及び誤差値を取得する(量子化値取得処理S908)。また、取得した誤差値を、後の誤差加算処理S407へ受け渡す。本実施形態によれば、例えば、出力値及び誤差値を、容易かつ適切に設定できる。
<誤差分配処理>
図10及び図11は、誤差分配処理S408について更に詳しく説明する図である。図10は、本実施形態において使用する拡散フィルタの一例を示す。図10(a)は、双方向処理の各方向で用いる拡散フィルタの一例を示す。
図10及び図11は、誤差分配処理S408について更に詳しく説明する図である。図10は、本実施形態において使用する拡散フィルタの一例を示す。図10(a)は、双方向処理の各方向で用いる拡散フィルタの一例を示す。
本実施形態において、拡散フィルタは、例えば、Jarvis,Judice&Ninkeのマトリクスである。また、双方向処理の各方向である主走査方向及び逆主走査方向のそれぞれについて、図示の各フィルタを使用する。また、図示したフィルタにおいて、記号*が記入されている位置は、入力値Inの座標[0,0](原点)である。また、各マトリクス内の数値は、周辺の画素に誤差を分配する際の分配比率である。
図10(b)は、誤差の分配の仕方の一例を示す。周辺の画素に誤差を分配する処理において、誤差の分配先の座標が画像幅から外れている場合、画像処理装置11は、分配先の座標を、次のラインの先頭の座標に変更する。また、反対側の座標が範囲外となっている場合も、同様の処理を行う。また、分配先のラインが存在しない場合、画像処理装置11は、誤差を分配しない。また、分配先の座標が処理済みの画素である場合も、誤差を分配しない。
図11は、誤差分配処理S408の動作の一例を示すフローチャートである。尚、図11における各ステップ(S~と記載する)は、画像処理装置11によって、より詳しくは、画像処理装置11のCPUによって実行される。誤差分配処理S408において、画像処理装置11は、フローチャート中のステップS1101とS1113との間で、Y座標を順次変化させるループを実行する。このループにおいて、画像処理装置11は、0から拡散高さ-1までの間で、Yの値を1ずつ増加させる。ここで、拡散高さは、例えば、拡散マトリクス高さで計算される高さとする。拡散マトリクス高さとは、例えば、拡散フィルタとして用いるマトリクスの行数である。
また、ステップS1102とS1112との間で、X座標を順次変化させるループを実行する。このループにおいて、画像処理装置11は、-拡散幅(=拡散幅×(-1))から拡散幅までの間で、Xの値を1ずつ増加させる。ここで、拡散幅は、例えば、(拡散マトリクス幅-1)÷2で計算される幅とする。拡散マトリクス幅とは、例えば、拡散フィルタとして用いるマトリクスの列数である。
そして、これらのループの中で、画像処理装置11は、先ず、フローチャート内に示したように、分配先の座標(X’、Y’)を設定する。また、拡散フィルタに従い、分配比率を設定する(S1103)。そして、先ず、この時点で、分配比率が0より大きいか否かを判定し(S1104)、分配比率が0以下である場合(S1104:No)、誤差を分配せずに、再度S1102へ進む。
また、分配比率が0よりも大きい場合(S1104:Yes)、S1105以降の処理へ進む。この処理において、分配先の座標X’が画像幅より小さく(S1105:Yes)、座標X’が0以上であり(S1106:Yes)、分配先の座標Y’が画像高さより小さければ(S1107:Yes)、S1108とS1109の処理を行う。具体的には、分配する誤差値(量子化誤差)を、誤差値と、分配比率との積に設定し(S1108)、累積誤差バッファに格納されている分配誤差値に加算する(S1109)。これにより、画像処理装置11は、発生した量子化誤差に応じて、累積誤差を更新する。
また、S1105において、座標X’が画像幅以上である場合(S1105:No)、座標X’=X’-画像幅、座標Y’=Y’+1として(S1110)、S1107へ進む。S1106において、座標X’が0より小さい場合(S1106:No)、座標X’=X’+画像幅、座標Y’=Y’+1として(S1111)、S1107へ進む。また、S1107において、座標Y’が画像高さ以上である場合(S1107:No)、誤差を分配せずに、S1102へ進む。
以上の動作により、画像処理装置11は、累積誤差バッファに格納されている値に量子
化誤差を積算し、累積誤差を算出する。本実施形態によれば、誤差を適切に分配できる。また、これにより、累積誤差を適切に算出できる。
化誤差を積算し、累積誤差を算出する。本実施形態によれば、誤差を適切に分配できる。また、これにより、累積誤差を適切に算出できる。
典型的な誤差拡散処理のみを行う場合、例えば、ハイライト部やシャドウ部では、ドットの遅延等の問題が発生する。また、ディザ処理のみを行う場合、例えば、ディザ処理に特有のテクスチャ等の問題が発生する。この例においては、例えばハイライト部と中間調部との間や、中間調部とシャドウ部との間において、本実施形態(図6等)のようにノイズ使用率や誤差使用率を徐々に変化させる切り替え処理を行わずに、ディザ処理と誤差拡散処理とを切り替えている。このように、適切な切り替え処理を行わずに、単にディザ処理と誤差拡散処理とを切り替える場合、切り替えにより境界線が発生する等の問題が生じる。
本実施形態によれば、例えば、ハイライト部やシャドウ部におけるドット遅延を適切に抑えることができる。また、中間調においてテクスチャが発生することや、切り替えにより境界線が発生する等も適切に防ぐことができる。そのため、本実施形態によれば、量子化の処理をより適切に行うことができる。
加えて、累積誤差の全てを使用しない画素においても、使用しなかった誤差を周辺画素に伝搬させる事が出来る。その結果、誤差拡散処理が適用される中間調値のハッチングパターンのような高周波パターンの画像においても、従来よりも領域としての濃度を保持することが可能となる。
以上、第1実施形態について、具体的な実施形態を用いて説明した。しかし、第1実施形態の技術的範囲は、上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も、第1実施形態の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
例えば、上記実施形態では、不使用誤差を全て周辺画素に伝搬する形を説明したが、伝搬するべき不使用誤差の一部を周辺画素に伝搬する形態で有っても、第1実施形態の効果である、従来よりも領域としての濃度を保持することが可能となる。従って、そのためであれば、図6に記載の誤差使用率Reやノイズ使用率Rnの様に個別に入力値Inに対して設定しても良いし、誤差使用率Reに対して1未満の正の定数を乗じて算出しても良い。
また、上記実施形態における量子化の処理について、量子化後の階調数が2となる場合を説明した。しかし、同様の方法による量子化は、例えば階調数が3以上の場合の処理にも適用できる。階調数が3以上の場合とは、例えば、3種類以上のドットサイズを用いる場合である。
この場合、例えば、それぞれのサイズのドット毎に対応する量子化の処理を、2階調の場合と同一又は同様に、ノイズ使用率及び誤差使用率に応じて、ディザマトリクスノイズと累積誤差との両方を用いて行う。そして、それぞれのサイズのドットに対応する出力結果同士を比較して、サイズが最も大きくなるドットを最終出力とする。このようにすれば、例えば、階調数が3以上の場合にも、より適切に量子化の処理を行うことができる。
[第2実施形態]
第1実施形態では、量子化誤差が伝搬されないことに起因する課題を改善するための形態を説明した。これに対し、第2実施形態では、ディザ処理による量子化誤差が伝搬されてしまうことに起因する課題を改善するための形態を説明する。
第1実施形態では、量子化誤差が伝搬されないことに起因する課題を改善するための形態を説明した。これに対し、第2実施形態では、ディザ処理による量子化誤差が伝搬されてしまうことに起因する課題を改善するための形態を説明する。
従来例において、誤差利用率Re=100%、ノイズ利用率Rn=0%の場合、量子化によって発生する量子化誤差Q(x、y)は閾値Thを濃度の中心値とした場合、最大でTh、最小で-Thとなる。
一方、誤差利用率Re=0%、ノイズ利用率Rn=100%の場合、量子化によって発生する量子化誤差Q(x、y)は最大で約2×Th、最小で約-2×Thとなる。この大きな量子化誤差は、同じ画素値が連続している限りは、次の画素においても誤差利用率Re=0%となり事実上伝搬されない。しかし、画像中で濃度が急に変化し、例えば誤差利用率Re=0%の画素から誤差利用率Re=100%の画素に量子化誤差Q(x、y)が伝搬する箇所においては、量子化結果=255が集中的に発生してしまうことがある。
この傾向は、第1実施形態の改善を行った場合にはより顕著に発生する。従って、第2実施形態では、誤差利用率Reが低い場合には、周辺画素への誤差の伝搬を低く抑えることによって、上記量子化結果=255の集中的発生を低減する。
図12は、第2実施形態における量子化の処理の概要を示す図である。図1(b)に示した第1実施形態との違いは、「誤差伝搬率Rd」の有無で有り、それ以外の構成要素については図1(b)と同じである為、説明を省略する。
「誤差伝搬率Rd」は「誤差使用率Re」と同様に、0以上1以下(0%~100%)の範囲の値に設定され、具体的には量子化を行う画素の濃度値In(x,y)に応じて算出される。ここで、「誤差伝搬率Rd」は「誤差使用率Re」と略同じ値に設定して良い。
そして、画像処理装置11は、量子化誤差Q(x,y)と誤差伝搬率Rdとの積を用いて伝搬量子化誤差Qd(x、y)を算出する。
次に、画像処理装置11は、不使用誤差R(x、y)と伝搬量子化誤差Qd(x、y)とを加算して加算誤差Q‘(x,y)を算出する。
以降の処理は図1(b)と同じであるため、説明を省略する。
図13は、第2実施形態における量子化を行う動作の一例を示すフローチャートである。画像処理装置11は、図4を用いて説明した第1実施形態と同様に、以下の処理を例えば、プロセスカラー毎に行う。
まず、画素選択処理S1301は図4中S401と同じ処理なので説明を省略する。
そして、選択される画素の濃度値In(x,y)に応じて、その画素に対応するノイズ使用率Rn、誤差使用率Re、及び誤差伝搬率Rdを算出する。これにより、画像処理装置11は、注目画素の量子化に使用するノイズ使用率Rn、誤差使用率Re、及び誤差伝搬率Rdを決定する(使用率決定処理S1302)。
続いて、画像処理装置11は、累積誤差E(x,y)の内、量子化に使用されない不使用誤差値R(x,y)を以下の式に従い計算する。(不使用誤差算出処理S1303)
R(x,y)=E(x,y)×(1-Re)
R(x,y)=E(x,y)×(1-Re)
誤差補正済入力値算出処理S1304、ノイズ補正済閾値算出処理S1305、及び量子化実行処理S1306は、図4中の誤差補正済入力値算出処理S404、ノイズ補正済閾値算出処理S405、及び量子化実行処理S406と同じ処理なので説明を省略する。
続いて、画像処理装置11は、注目画素の量子化により生じる量子化誤差Q(x,y)と、誤差伝搬率Rdを乗算して伝搬誤差Qa(x,y)とを算出する。(伝搬量子化誤差算出処理S1307)
続いて、画像処理装置11は、伝搬量子化誤差Qd(x,y)と、不使用誤差R(x,y)とを加算して加算誤差Q‘(x,y)を算出する。(誤差加算処理S1308)
続く、誤差分配処理S1309及び最終画素判定処理S1310は、図4中の誤差分配処理S408及び最終画素判定処理S409と同じ処理なので説明を省略する。
以上説明した一連の処理によれば、「誤差使用率Reが高い画素に対しては誤差伝搬率Rdが高くなる一方、誤差使用率Reが低い画素に対しては誤差伝搬率Rdが低くなる」ようにする制御を行うことができる。従って、上記量子化結果=255の集中的発生を低減する事が出来る。
本実施形態で説明した伝搬誤差率Rdによる、上記量子化結果=255の集中的発生の低減効果は、第1実施形態に記載した不使用誤差の伝搬によって顕著化するが、そもそも従来例においても発生はする。
そこで、図14に、従来例に対して誤差伝搬率Rdによる効果のみを改善する例を示す。図12と比べて、不使用誤差に関する構成要素が無いだけであるため、詳細の説明は省略するが、誤差伝搬率Rdと誤差使用率Reとを略同じに設定することで、上記量子化結果=255の集中的発生の低減効果が得られる。
[その他の実施形態]
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[本開示の技術的特徴]
本開示は、以下の構成及び方法を含む。
本開示は、以下の構成及び方法を含む。
(構成1)コンピュータを、入力画像における各画素の画素値を量子化する画像処理装置として機能させるプログラムであって、前記コンピュータを、注目画素を選択する画素選択手段と、前記注目画素の画素値に応じて、2次元マトリクスを量子化に影響させる度合いを示す第1使用率を決定する決定手段と、前記注目画素の画素値に応じて、前記注目画素の周辺の画素に対する量子化で生じる量子化誤差値の累積値である累積誤差を量子化に影響させる度合いを示す第2使用率を決定する決定手段と、前記注目画素に対応する前記累積誤差のうち、不使用誤差として、前記注目画素の量子化に使用されない誤差値を算出する算出手段と、前記注目画素に対応する前記累積誤差と前記第2使用率とに基づいて、前記注目画素の量子化に適用する適用誤差値を取得し、該取得した適用誤差値と前記注目画素の画素値とに基づいて、累積画素値を算出する算出手段と、前記2次元マトリクスと前記第1使用率とに基づいて、前記注目画素の量子化に適用する量子化閾値を算出する算出手段と、前記注目画素に対する量子化として、前記累積画素値と前記量子化閾値とを用いて、量子化値と量子化誤差値とを取得するための量子化を実行する実行手段と、前記注目画素に対応する前記累積画素値と前記適用誤差値との間の差分の少なくとも一部を、前記実行手段の量子化によって取得される前記量子化誤差値に加算する加算手段と、前記加算手段により取得される加算誤差を、前記注目画素の周辺の画素に拡散させる誤差分配手段と、として機能させることを特徴とするプログラム。
(構成2)前記第1使用率は、中間値と異なる第1の画素値のときには、前記第1の画素値よりも当該中間値に近い第2の画素値のときよりも、その値が高くなり、前記第2使用率は、前記第1の画素値のときには、前記第2の画素値のときよりも、その値が低くなる、ことを特徴とする構成1に記載のプログラム。
(構成3)前記注目画素の周辺の画素に対する量子化により発生した前記量子化誤差値に基づいて、前記注目画素に対応する前記累積誤差の値が更新される、ことを特徴とする構成1又は2に記載のプログラム。
(構成4)前記実行手段は、前記注目画素の画素値、及び、前記累積画素値と前記量子化閾値との大小関係に基づいて、前記量子化誤差値を決定する、ことを特徴とする構成1乃至3の何れか1つに記載のプログラム。
(構成5)前記コンピュータを更に、前記注目画素に対応する誤差伝搬率を決定する決定手段として機能させ、前記加算誤差は、前記誤差伝搬率に基づいて算出される、ことを特徴とする構成1乃至4の何れか1つに記載のプログラム。
(構成6)入力画像における各画素の画素値を量子化する画像処理装置であって、注目画素を選択する画素選択手段と、前記注目画素の画素値に応じて、2次元マトリクスを量子化に影響させる度合いを示す第1使用率を決定する決定手段と、前記注目画素の画素値に応じて、前記注目画素の周辺の画素に対する量子化で生じる量子化誤差値の累積値である累積誤差を量子化に影響させる度合いを示す第2使用率を決定する決定手段と、前記注目画素に対応する前記累積誤差のうち、不使用誤差として、前記注目画素の量子化に使用されない誤差値を算出する算出手段と、前記注目画素に対応する前記累積誤差と前記第2使用率とに基づいて、前記注目画素の量子化に適用する適用誤差値を取得し、該取得した適用誤差値と前記注目画素の画素値とに基づいて、累積画素値を算出する算出手段と、前記2次元マトリクスと前記第1使用率とに基づいて、前記注目画素の量子化に適用する量子化閾値を算出する算出手段と、前記注目画素に対する量子化として、前記累積画素値と前記量子化閾値とを用いて、量子化値と量子化誤差値とを取得するための量子化を実行する実行手段と、前記注目画素に対応する前記累積画素値と前記適用誤差値との間の差分の少なくとも一部を、前記実行手段の量子化によって取得される前記量子化誤差値に加算する加算手段と、前記加算手段により取得される加算誤差を、前記注目画素の周辺の画素に拡散させる誤差分配手段と、を有する、ことを特徴とする画像処理装置。
(構成7)入力画像における各画素の画素値を量子化する画像処理方法であって、注目画素を選択するステップと、前記注目画素の画素値に応じて、2次元マトリクスを量子化に影響させる度合いを示す第1使用率を決定するステップと、前記注目画素の画素値に応じて、前記注目画素の周辺の画素に対する量子化で生じる量子化誤差値の累積値である累積誤差を量子化に影響させる度合いを示す第2使用率を決定するステップと、前記注目画素に対応する前記累積誤差のうち、不使用誤差として、前記注目画素の量子化に使用されない誤差値を算出するステップと、前記注目画素に対応する前記累積誤差と前記第2使用率とに基づいて、前記注目画素の量子化に適用する適用誤差値を取得し、該取得した適用誤差値と前記注目画素の画素値とに基づいて、累積画素値を算出するステップと、前記2次元マトリクスと前記第1使用率とに基づいて、前記注目画素の量子化に適用する量子化閾値を算出するステップと、前記注目画素に対する量子化として、前記累積画素値と前記量子化閾値とを用いて、量子化値と量子化誤差値とを取得するための量子化を実行するステップと、前記注目画素に対応する前記累積画素値と前記適用誤差値との間の差分の少なくとも一部を、前記実行するステップの量子化によって取得される前記量子化誤差値に加算するステップと、前記加算するステップにより取得される加算誤差を、前記注目画素の周辺の画素に拡散させるステップと、を有する、ことを特徴とする画像処理方法。
(構成8)画像中の各画素の色の濃度を示す濃度値の量子化をコンピュータに行わせるプログラムであって、前記量子化を行うべき画素を順次選択する画素選択処理と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理であり、前記画素選択処理で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理と、前記画素選択処理で順次選択される前記画素の前記濃度値に対する前記量子化を行う処理であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理とを前記コンピュータに実行させ、前記プログラムは、前記画素選択処理で順次選択される前記画素に対し、前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理であり、前記画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理と、前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理であり、前記画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理とを更に前記コンピュータに実行させ、前記量子化実行処理は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、前記使用率決定処理は、前記ノイズ使用率及び前記誤差使用率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、更に前記量子化実行処理は、前記累積誤差と、前記誤差使用率と前記累積誤差との積と、の間の差分の少なくとも一部を、前記量子化誤差に加算することを特徴とするプログラム。
(構成9)前記量子化実行処理は、前記量子化の入力値である前記画素の前記濃度値と、前記濃度値が取り得る範囲の最大値とが等しいか否かを判定する最大値判定処理と、
前記入力値である前記画素の前記濃度値と、前記濃度値が取り得る範囲の最小値とが等しいか否かを判定する最小値判定処理と、前記量子化の結果である量子化値を取得する量子化値取得処理とを有し、前記最大値判定処理において前記入力値と前記最大値とが等しいと判定された場合、前記量子化値取得処理は、前記量子化値として、前記濃度値が前記閾値よりも大きい場合に出力されるべき値を取得し、前記最小値判定処理において前記入力値と前記最小値とが等しいと判定された場合、前記量子化値取得処理は、前記量子化値として、前記濃度値が前記閾値よりも小さい場合に出力されるべき値を取得することを特徴とする構成8に記載のプログラム。
前記入力値である前記画素の前記濃度値と、前記濃度値が取り得る範囲の最小値とが等しいか否かを判定する最小値判定処理と、前記量子化の結果である量子化値を取得する量子化値取得処理とを有し、前記最大値判定処理において前記入力値と前記最大値とが等しいと判定された場合、前記量子化値取得処理は、前記量子化値として、前記濃度値が前記閾値よりも大きい場合に出力されるべき値を取得し、前記最小値判定処理において前記入力値と前記最小値とが等しいと判定された場合、前記量子化値取得処理は、前記量子化値として、前記濃度値が前記閾値よりも小さい場合に出力されるべき値を取得することを特徴とする構成8に記載のプログラム。
(構成10)前記使用率決定処理は、前記画素の濃度値がいずれの場合にも、前記ノイズ使用率を、0より大きな値に予め設定された最低ノイズ使用率以上の値に設定することを特徴とする構成8又は9に記載のプログラム。
(構成11)前記使用率決定処理は、ハイライト部にある濃度範囲を示す基準として、予め設定された第1ハイライト基準値と、前記第1ハイライト基準値よりも大きな値の第2ハイライト基準値とを用い、シャドウ部にある濃度範囲を示す基準として、予め設定された第1シャドウ基準値と、前記第1シャドウ基準値よりも大きな値の第2シャドウ基準値とを用い、中間調部の中央にある濃度範囲を示す基準として、第2ハイライト基準値よりも大きく、かつ、前記第1シャドウ基準値よりも小さな第1中間調基準値と、前記第1中間調基準値よりも大きく、かつ、前記第1シャドウ基準値よりも小さな第2中間調基準値とを用い、前記画素の濃度値が、前記第1ハイライト基準値以下の場合、又は前記第2シャドウ基準値以上の場合、前記ノイズ使用率を、1に設定し、前記画素の濃度値が、前記第1中間調基準値以上、かつ前記第2中間調基準値以下の場合、前記ノイズ使用率を、前記最低ノイズ使用率に設定し、前記画素の濃度値が、前記第1ハイライト基準値以上、かつ前記第1中間調基準値以下の場合、前記ノイズ使用率を、前記最低ノイズ使用率以上、かつ1以下の値であり、前記画素の濃度値と前記第1ハイライト基準値との差に応じて1から漸減させた値に設定し、 前記画素の濃度値が、前記第2中間調基準値以上、かつ前記第2シャドウ基準値以下の場合、前記ノイズ使用率を、前記最低ノイズ使用率以上、かつ1以下の値であり、前記画素の濃度値と前記第2中間調基準値との差に応じて前記最低ノイズ使用率から漸増させた値に設定し、前記画素の濃度値が、前記第2ハイライト基準値以上、かつ前記第1シャドウ基準値以下の場合、前記誤差使用率を、1に設定し、
前記画素の濃度値が、前記第2ハイライト基準値以下の場合、前記誤差使用率を、0以上1以下の値であり、前記第2ハイライト基準値と前記濃度値との差に応じて1から漸減させた値に設定し、前記画素の濃度値が、前記第1シャドウ基準値以上の場合、前記誤差使用率を、0以上1以下の値であり、前記画素の濃度値と前記第1シャドウ基準値との差に応じて1から漸減させた値に設定することを特徴とする構成8乃至10の何れか1つに記載のプログラム。
前記画素の濃度値が、前記第2ハイライト基準値以下の場合、前記誤差使用率を、0以上1以下の値であり、前記第2ハイライト基準値と前記濃度値との差に応じて1から漸減させた値に設定し、前記画素の濃度値が、前記第1シャドウ基準値以上の場合、前記誤差使用率を、0以上1以下の値であり、前記画素の濃度値と前記第1シャドウ基準値との差に応じて1から漸減させた値に設定することを特徴とする構成8乃至10の何れか1つに記載のプログラム。
(構成12)前記使用率決定処理は、ハイライト部にある濃度範囲を示す基準として、0より大きく、かつ前記第1ハイライト基準値以下の値の第3ハイライト基準値を更に用い、シャドウ部にある濃度範囲を示す基準として、前記第2シャドウ基準値以上、かつ濃度値が取り得る範囲の最大値よりも小さな値の第3シャドウ基準値を更に用い、前記画素の濃度値が、前記第3ハイライト基準値以下の場合、前記誤差使用率を0に設定し、前記画素の濃度値が、前記第3ハイライト基準値以上、かつ前記第2ハイライト基準値以下の場合、前記誤差使用率を、前記濃度値と前記第3ハイライト基準値との差を前記第2ハイライト基準値と前記第3ハイライト基準値との差で除した値に設定し、前記画素の濃度値が、前記第1シャドウ基準値以上、かつ前記第3シャドウ基準値以下の場合、前記誤差使用率を、前記第3シャドウ基準値と前記濃度値との差を前記第3シャドウ基準値と前記第1シャドウ基準値との差で除した値に設定し、前記画素の濃度値が、前記第3シャドウ基準値以上の場合、前記誤差使用率を0に設定することを特徴とする構成8乃至11の何れか1つに記載のプログラム。
(構成13)前記使用率決定処理は、更に、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率を決定する処理であり、前記画素選択処理で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記誤差伝搬率を決定し、前記使用率決定処理は、前記誤差伝搬率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とする構成8乃至12の何れか1つに記載のプログラム。
(構成14)画像中の各画素の色の濃度を示す濃度値の量子化をコンピュータに行わせるプログラムであって、前記量子化を行うべき画素を順次選択する画素選択処理と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率と、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率とを決定する処理であり、前記画素選択処理で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率を決定する使用率決定処理と、前記画素選択処理で順次選択される前記画素の前記濃度値に対する前記量子化を行う処理であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用し、かつ当該画素に対応する前記誤差伝搬率に応じて前記量子化誤差を使用して、前記量子化を行う量子化実行処理とを前記コンピュータに実行させ、前記プログラムは、前記画素選択処理で順次選択される前記画素に対し、前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理であり、前記画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理と、前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理であり、前記画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理とを更に前記コンピュータに実行させ、前記量子化実行処理は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、前記使用率決定処理は、前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とするプログラム。
(構成15)画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理装置であって、前記量子化を行うべき画素を順次選択する画素選択処理部と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理部であり、前記画素選択処理部により順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理部と、前記画素選択処理部により順次選択される前記画素の前記濃度値に対する前記量子化を行う処理部であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理部と、前記画素選択処理部により順次選択される前記画素に対し、前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理部であり、当該画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理部と、前記画素選択処理部により順次選択される前記画素に対し、前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理部であり、当該画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理部とを備え、前記量子化実行処理部は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、前記使用率決定処理部は、前記ノイズ使用率及び前記誤差使用率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、更に前記量子化実行処理部は、前記累積誤差と、前記誤差使用率と前記累積誤差との積と、の間の差分の少なくとも一部を、前記量子化誤差に加算することを特徴とする画像処理装置。
(構成16)前記使用率決定処理部は、更に、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率を決定する処理であり、前記画素選択処理部で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記誤差伝搬率を決定し、前記使用率決定処理部は、前記誤差伝搬率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とする構成15に記載の画像処理装置。
(構成17)画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理装置であって、前記量子化を行うべき画素を順次選択する画素選択処理部と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率と、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率とを決定する処理部であり、前記画素選択処理部で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率を決定する使用率決定処理部と、前記画素選択処理部で順次選択される前記画素の前記濃度値に対する前記量子化を行う処理部であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用し、かつ当該画素に対応する前記誤差伝搬率に応じて前記量子化誤差を使用して、前記量子化を行う量子化実行処理部と、前記画素選択処理部により順次選択される前記画素に対し、前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理部であり、当該画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理部と、前記画素選択処理部により順次選択される前記画素に対し、前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理部であり、当該画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理部とを備え、前記量子化実行処理部は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、前記使用率決定処理部は、前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とする画像処理装置。
(構成18)画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理方法であって、前記量子化を行うべき画素を順次選択する画素選択処理段階と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理段階であり、前記画素選択処理段階において順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理段階と、前記画素選択処理段階において順次選択される前記画素の前記濃度値に対する前記量子化を行う処理段階であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理段階と、前記画素選択処理段階において順次選択される前記画素に対し、前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理段階であり、当該画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理段階と、前記画素選択処理段階において順次選択される前記画素に対し、前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理段階であり、当該画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理段階とを備え、前記量子化実行処理段階は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、前記使用率決定処理段階は、前記ノイズ使用率及び前記誤差使用率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、更に前記量子化実行処理段階は、前記累積誤差と、前記誤差使用率と前記累積誤差との積と、の間の差分の少なくとも一部を、前記量子化誤差に加算することを特徴とする画像処理方法。
(構成19)前記使用率決定処理段階は、更に、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率を決定する段階であり、前記画素選択処理段階で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記誤差伝搬率を決定し、前記使用率決定処理段階は、前記誤差伝搬率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とする構成18に記載の画像処理方法。
(構成20)画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理方法であって、前記量子化を行うべき画素を順次選択する画素選択処理段階と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率と、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率とを決定する処理段階であり、前記画素選択処理段階で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率を決定する使用率決定処理段階と、前記画素選択処理段階で順次選択される前記画素の前記濃度値に対する前記量子化を行う処理段階であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用し、かつ当該画素に対応する前記誤差伝搬率に応じて前記量子化誤差を使用して、前記量子化を行う量子化実行処理段階と、前記画素選択処理段階により順次選択される前記画素に対し、前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理段階であり、当該画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理段階と、前記画素選択処理段階により順次選択される前記画素に対し、前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理段階であり、当該画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理段階とを備え、前記量子化実行処理段階は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、前記使用率決定処理段階は、前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とする画像処理方法。
10 印刷システム
11 画像処理装置
12 印刷装置
11 画像処理装置
12 印刷装置
Claims (20)
- コンピュータを、入力画像における各画素の画素値を量子化する画像処理装置として機能させるプログラムであって、前記コンピュータを、
注目画素を選択する画素選択手段と、
前記注目画素の画素値に応じて、2次元マトリクスを量子化に影響させる度合いを示す第1使用率を決定する決定手段と、
前記注目画素の画素値に応じて、前記注目画素の周辺の画素に対する量子化で生じる量子化誤差値の累積値である累積誤差を量子化に影響させる度合いを示す第2使用率を決定する決定手段と、
前記注目画素に対応する前記累積誤差のうち、不使用誤差として、前記注目画素の量子化に使用されない誤差値を算出する算出手段と、
前記注目画素に対応する前記累積誤差と前記第2使用率とに基づいて、前記注目画素の量子化に適用する適用誤差値を取得し、該取得した適用誤差値と前記注目画素の画素値とに基づいて、累積画素値を算出する算出手段と、
前記2次元マトリクスと前記第1使用率とに基づいて、前記注目画素の量子化に適用する量子化閾値を算出する算出手段と、
前記注目画素に対する量子化として、前記累積画素値と前記量子化閾値とを用いて、量子化値と量子化誤差値とを取得するための量子化を実行する実行手段と、
前記注目画素に対応する前記累積画素値と前記適用誤差値との間の差分の少なくとも一部を、前記実行手段の量子化によって取得される前記量子化誤差値に加算する加算手段と、
前記加算手段により取得される加算誤差を、前記注目画素の周辺の画素に拡散させる誤差分配手段と、
として機能させることを特徴とするプログラム。 - 前記第1使用率は、中間値と異なる第1の画素値のときには、前記第1の画素値よりも当該中間値に近い第2の画素値のときよりも、その値が高くなり、
前記第2使用率は、前記第1の画素値のときには、前記第2の画素値のときよりも、その値が低くなる、
ことを特徴とする請求項1に記載のプログラム。 - 前記注目画素の周辺の画素に対する量子化により発生した前記量子化誤差値に基づいて、前記注目画素に対応する前記累積誤差の値が更新される、
ことを特徴とする請求項2に記載のプログラム。 - 前記実行手段は、前記注目画素の画素値、及び、前記累積画素値と前記量子化閾値との大小関係に基づいて、前記量子化誤差値を決定する、
ことを特徴とする請求項3に記載のプログラム。 - 前記コンピュータを更に、前記注目画素に対応する誤差伝搬率を決定する決定手段として機能させ、
前記加算誤差は、前記誤差伝搬率に基づいて算出される、
ことを特徴とする請求項1乃至4の何れか1項に記載のプログラム。 - 入力画像における各画素の画素値を量子化する画像処理装置であって、
注目画素を選択する画素選択手段と、
前記注目画素の画素値に応じて、2次元マトリクスを量子化に影響させる度合いを示す第1使用率を決定する決定手段と、
前記注目画素の画素値に応じて、前記注目画素の周辺の画素に対する量子化で生じる量子化誤差値の累積値である累積誤差を量子化に影響させる度合いを示す第2使用率を決定する決定手段と、
前記注目画素に対応する前記累積誤差のうち、不使用誤差として、前記注目画素の量子化に使用されない誤差値を算出する算出手段と、
前記注目画素に対応する前記累積誤差と前記第2使用率とに基づいて、前記注目画素の量子化に適用する適用誤差値を取得し、該取得した適用誤差値と前記注目画素の画素値とに基づいて、累積画素値を算出する算出手段と、
前記2次元マトリクスと前記第1使用率とに基づいて、前記注目画素の量子化に適用する量子化閾値を算出する算出手段と、
前記注目画素に対する量子化として、前記累積画素値と前記量子化閾値とを用いて、量子化値と量子化誤差値とを取得するための量子化を実行する実行手段と、
前記注目画素に対応する前記累積画素値と前記適用誤差値との間の差分の少なくとも一部を、前記実行手段の量子化によって取得される前記量子化誤差値に加算する加算手段と、
前記加算手段により取得される加算誤差を、前記注目画素の周辺の画素に拡散させる誤差分配手段と、
を有する、
ことを特徴とする画像処理装置。 - 入力画像における各画素の画素値を量子化する画像処理方法であって、
注目画素を選択するステップと、
前記注目画素の画素値に応じて、2次元マトリクスを量子化に影響させる度合いを示す第1使用率を決定するステップと、
前記注目画素の画素値に応じて、前記注目画素の周辺の画素に対する量子化で生じる量子化誤差値の累積値である累積誤差を量子化に影響させる度合いを示す第2使用率を決定するステップと、
前記注目画素に対応する前記累積誤差のうち、不使用誤差として、前記注目画素の量子化に使用されない誤差値を算出するステップと、
前記注目画素に対応する前記累積誤差と前記第2使用率とに基づいて、前記注目画素の量子化に適用する適用誤差値を取得し、該取得した適用誤差値と前記注目画素の画素値とに基づいて、累積画素値を算出するステップと、
前記2次元マトリクスと前記第1使用率とに基づいて、前記注目画素の量子化に適用する量子化閾値を算出するステップと、
前記注目画素に対する量子化として、前記累積画素値と前記量子化閾値とを用いて、量子化値と量子化誤差値とを取得するための量子化を実行するステップと、
前記注目画素に対応する前記累積画素値と前記適用誤差値との間の差分の少なくとも一部を、前記実行するステップの量子化によって取得される前記量子化誤差値に加算するステップと、
前記加算するステップにより取得される加算誤差を、前記注目画素の周辺の画素に拡散させるステップと、
を有する、
ことを特徴とする画像処理方法。 - 画像中の各画素の色の濃度を示す濃度値の量子化をコンピュータに行わせるプログラムであって、
前記量子化を行うべき画素を順次選択する画素選択処理と、
予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理であり、前記画素選択処理で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理と、
前記画素選択処理で順次選択される前記画素の前記濃度値に対する前記量子化を行う処理であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理と
を前記コンピュータに実行させ、
前記プログラムは、前記画素選択処理で順次選択される前記画素に対し、
前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理であり、前記画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理と、
前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理であり、前記画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理と
を更に前記コンピュータに実行させ、
前記量子化実行処理は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、
前記使用率決定処理は、前記ノイズ使用率及び前記誤差使用率の決定において、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、
更に前記量子化実行処理は、前記累積誤差と、前記誤差使用率と前記累積誤差との積と、の間の差分の少なくとも一部を、前記量子化誤差に加算することを特徴とするプログラム。 - 前記量子化実行処理は、
前記量子化の入力値である前記画素の前記濃度値と、前記濃度値が取り得る範囲の最大値とが等しいか否かを判定する最大値判定処理と、
前記入力値である前記画素の前記濃度値と、前記濃度値が取り得る範囲の最小値とが等しいか否かを判定する最小値判定処理と、
前記量子化の結果である量子化値を取得する量子化値取得処理とを有し、
前記最大値判定処理において前記入力値と前記最大値とが等しいと判定された場合、前記量子化値取得処理は、前記量子化値として、前記濃度値が前記閾値よりも大きい場合に出力されるべき値を取得し、
前記最小値判定処理において前記入力値と前記最小値とが等しいと判定された場合、前記量子化値取得処理は、前記量子化値として、前記濃度値が前記閾値よりも小さい場合に出力されるべき値を取得することを特徴とする請求項8に記載のプログラム。 - 前記使用率決定処理は、前記画素の濃度値がいずれの場合にも、前記ノイズ使用率を、0より大きな値に予め設定された最低ノイズ使用率以上の値に設定することを特徴とする請求項8又は請求項9に記載のプログラム。
- 前記使用率決定処理は、
ハイライト部にある濃度範囲を示す基準として、予め設定された第1ハイライト基準値と、前記第1ハイライト基準値よりも大きな値の第2ハイライト基準値とを用い、
シャドウ部にある濃度範囲を示す基準として、予め設定された第1シャドウ基準値と、前記第1シャドウ基準値よりも大きな値の第2シャドウ基準値とを用い、
中間調部の中央にある濃度範囲を示す基準として、第2ハイライト基準値よりも大きく、かつ、前記第1シャドウ基準値よりも小さな第1中間調基準値と、前記第1中間調基準値よりも大きく、かつ、前記第1シャドウ基準値よりも小さな第2中間調基準値とを用い、
前記画素の濃度値が、前記第1ハイライト基準値以下の場合、又は前記第2シャドウ基準値以上の場合、前記ノイズ使用率を、1に設定し、
前記画素の濃度値が、前記第1中間調基準値以上、かつ前記第2中間調基準値以下の場合、前記ノイズ使用率を、前記最低ノイズ使用率に設定し、
前記画素の濃度値が、前記第1ハイライト基準値以上、かつ前記第1中間調基準値以下の場合、前記ノイズ使用率を、前記最低ノイズ使用率以上、かつ1以下の値であり、前記画素の濃度値と前記第1ハイライト基準値との差に応じて1から漸減させた値に設定し、 前記画素の濃度値が、前記第2中間調基準値以上、かつ前記第2シャドウ基準値以下の場合、前記ノイズ使用率を、前記最低ノイズ使用率以上、かつ1以下の値であり、前記画素の濃度値と前記第2中間調基準値との差に応じて前記最低ノイズ使用率から漸増させた値に設定し、
前記画素の濃度値が、前記第2ハイライト基準値以上、かつ前記第1シャドウ基準値以下の場合、前記誤差使用率を、1に設定し、
前記画素の濃度値が、前記第2ハイライト基準値以下の場合、前記誤差使用率を、0以上1以下の値であり、前記第2ハイライト基準値と前記濃度値との差に応じて1から漸減させた値に設定し、
前記画素の濃度値が、前記第1シャドウ基準値以上の場合、前記誤差使用率を、0以上1以下の値であり、前記画素の濃度値と前記第1シャドウ基準値との差に応じて1から漸減させた値に設定することを特徴とする請求項10に記載のプログラム。 - 前記使用率決定処理は、
ハイライト部にある濃度範囲を示す基準として、0より大きく、かつ前記第1ハイライト基準値以下の値の第3ハイライト基準値を更に用い、
シャドウ部にある濃度範囲を示す基準として、前記第2シャドウ基準値以上、かつ濃度値が取り得る範囲の最大値よりも小さな値の第3シャドウ基準値を更に用い、
前記画素の濃度値が、前記第3ハイライト基準値以下の場合、前記誤差使用率を0に設定し、
前記画素の濃度値が、前記第3ハイライト基準値以上、かつ前記第2ハイライト基準値以下の場合、前記誤差使用率を、前記濃度値と前記第3ハイライト基準値との差を前記第2ハイライト基準値と前記第3ハイライト基準値との差で除した値に設定し、
前記画素の濃度値が、前記第1シャドウ基準値以上、かつ前記第3シャドウ基準値以下の場合、前記誤差使用率を、前記第3シャドウ基準値と前記濃度値との差を前記第3シャドウ基準値と前記第1シャドウ基準値との差で除した値に設定し、
前記画素の濃度値が、前記第3シャドウ基準値以上の場合、前記誤差使用率を0に設定することを特徴とする請求項11に記載のプログラム。 - 前記使用率決定処理は、更に、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率を決定する処理であり、
前記画素選択処理で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記誤差伝搬率を決定し、
前記使用率決定処理は、前記誤差伝搬率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とする請求項12に記載のプログラム。 - 画像中の各画素の色の濃度を示す濃度値の量子化をコンピュータに行わせるプログラム
であって、
前記量子化を行うべき画素を順次選択する画素選択処理と、
予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率と、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率とを決定する処理であり、前記画素選択処理で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率を決定する使用率決定処理と、
前記画素選択処理で順次選択される前記画素の前記濃度値に対する前記量子化を行う処理であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用し、かつ当該画素に対応する前記誤差伝搬率に応じて前記量子化誤差を使用して、前記量子化を行う量子化実行処理と
を前記コンピュータに実行させ、
前記プログラムは、前記画素選択処理で順次選択される前記画素に対し、
前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理であり、前記画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理と、
前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理であり、前記画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理と
を更に前記コンピュータに実行させ、
前記量子化実行処理は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、
前記使用率決定処理は、前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率の決定において、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とするプログラム。 - 画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理装置であって、
前記量子化を行うべき画素を順次選択する画素選択処理部と、
予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理部であり、前記画素選択処理部により順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理部と、
前記画素選択処理部により順次選択される前記画素の前記濃度値に対する前記量子化を行う処理部であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理部と、
前記画素選択処理部により順次選択される前記画素に対し、前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理部であり、当該画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理部と、
前記画素選択処理部により順次選択される前記画素に対し、前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理部であり、当該画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理部と
を備え、
前記量子化実行処理部は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、
前記使用率決定処理部は、前記ノイズ使用率及び前記誤差使用率の決定において、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、
更に前記量子化実行処理部は、前記累積誤差と、前記誤差使用率と前記累積誤差との積と、の間の差分の少なくとも一部を、前記量子化誤差に加算することを特徴とする画像処理装置。 - 前記使用率決定処理部は、更に、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率を決定する処理であり、
前記画素選択処理部で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記誤差伝搬率を決定し、
前記使用率決定処理部は、前記誤差伝搬率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とする請求項15に記載の画像処理装置。 - 画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理装置であって、
前記量子化を行うべき画素を順次選択する画素選択処理部と、
予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率と、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率とを決定する処理部であり、前記画素選択処理部で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率を決定する使用率決定処理部と、
前記画素選択処理部で順次選択される前記画素の前記濃度値に対する前記量子化を行う処理部であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用し、かつ当該画素に対応する前記誤差伝搬率に応じて前記量子化誤差を使用して、前記量子化を行う量子化実行処理部と、
前記画素選択処理部により順次選択される前記画素に対し、前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理部であり、当該画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理部と、
前記画素選択処理部により順次選択される前記画素に対し、前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理部であり、当該画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理部と
を備え、
前記量子化実行処理部は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、
前記使用率決定処理部は、前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率の決定において、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とする画像処理装置。 - 画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理方法であって、
前記量子化を行うべき画素を順次選択する画素選択処理段階と、
予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理段階であり、
前記画素選択処理段階において順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理段階と、
前記画素選択処理段階において順次選択される前記画素の前記濃度値に対する前記量子化を行う処理段階であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理段階と、
前記画素選択処理段階において順次選択される前記画素に対し、前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理段階であり、当該画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理段階と、
前記画素選択処理段階において順次選択される前記画素に対し、前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理段階であり、当該画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理段階と
を備え、
前記量子化実行処理段階は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、
前記使用率決定処理段階は、前記ノイズ使用率及び前記誤差使用率の決定において、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、
更に前記量子化実行処理段階は、前記累積誤差と、前記誤差使用率と前記累積誤差との積と、の間の差分の少なくとも一部を、前記量子化誤差に加算することを特徴とする画像処理方法。 - 前記使用率決定処理段階は、更に、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率を決定する段階であり、
前記画素選択処理段階で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記誤差伝搬率を決定し、
前記使用率決定処理段階は、前記誤差伝搬率の決定において、前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とする請求項18に記載の画像処理方法。 - 画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理方法であって、
前記量子化を行うべき画素を順次選択する画素選択処理段階と、
予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率と、前記量子化において生じる誤差である量子化誤差を周辺の画素の前記量子化に影響させる度合いを示す誤差伝搬率とを決定する処理段階であり、前記画素選択処理段階で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率を決定する使用率決定処理段階と、
前記画素選択処理段階で順次選択される前記画素の前記濃度値に対する前記量子化を行う処理段階であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用し、かつ当該画素に対応する前記誤差伝搬率に応じて前記量子化誤差を使用して、前記量子化を行う量子化実行処理段階と、
前記画素選択処理段階により順次選択される前記画素に対し、前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理段階であり、当該画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理段階と、
前記画素選択処理段階により順次選択される前記画素に対し、前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理段階であり、当該画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理段階と
を備え、
前記量子化実行処理段階は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行い、
前記使用率決定処理段階は、前記ノイズ使用率、前記誤差使用率、及び前記誤差伝搬率の決定において、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にし、
前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差伝搬率を、前記中間調部に相当する濃度値である場合の前記誤差伝搬率よりも小さな値にすることを特徴とする画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022122675A JP2024019908A (ja) | 2022-08-01 | 2022-08-01 | プログラム、画像処理装置、及び画像処理方法 |
US18/350,931 US20240037895A1 (en) | 2022-08-01 | 2023-07-12 | Storage medium, image processing apparatus, and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022122675A JP2024019908A (ja) | 2022-08-01 | 2022-08-01 | プログラム、画像処理装置、及び画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024019908A true JP2024019908A (ja) | 2024-02-14 |
Family
ID=89853828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022122675A Pending JP2024019908A (ja) | 2022-08-01 | 2022-08-01 | プログラム、画像処理装置、及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024019908A (ja) |
-
2022
- 2022-08-01 JP JP2022122675A patent/JP2024019908A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0808055B1 (en) | Enhanced error-diffusion method for color or black-and-white reproduction | |
US6435657B1 (en) | Method for multicolorant printing of digital images using reduced colorant amounts | |
JP4559118B2 (ja) | ビットマスク生成システムおよびプリンタドライバーおよび生成されたビットマスクマスクを取り込んだ印刷方法ならびにその使用方法 | |
US5798846A (en) | Apparatus and method for selectively processing a scanned image | |
JP2000333010A (ja) | 階調依存型誤差拡散ハーフトーン化方法 | |
JP5230816B2 (ja) | プログラム、画像処理装置、及び画像処理方法 | |
JP2008539615A (ja) | デュアルフィードバックに基づく誤差拡散を用いた周波数変調スクリーンのための方法 | |
JP4107059B2 (ja) | 画像処理方法および画像処理装置 | |
JP4064023B2 (ja) | デジタル画像中間調処理方法及び装置、並びに、デジタル画像中間調処理プログラムを記録した記録媒体 | |
US8848254B2 (en) | Halftone screen producing apparatus, print controlling apparatus, image forming apparatus, method of producing halftone screen, method of controlling printing, method of forming image, and computer-readable recording medium | |
JP6175914B2 (ja) | 印刷装置、印刷方法、および画像処理装置 | |
KR101098713B1 (ko) | 디더 마스크 생성 방법과 이를 포함하는 이미지 하프토닝 방법, 디더 마스크 생성 장치 및 컴퓨터 판독가능 매체 | |
KR20190005114A (ko) | 화상 처리 장치, 화상 처리 방법 및 저장 매체 | |
US8139267B2 (en) | Method, apparatus and program for creating a threshold value matrix | |
JP2024019908A (ja) | プログラム、画像処理装置、及び画像処理方法 | |
JP4089862B2 (ja) | 画像形成装置、画像形成方法および記録媒体 | |
US7292728B1 (en) | Block quantization method for color halftoning | |
JP2024019937A (ja) | プログラム、画像処理装置、及び画像処理方法 | |
JP2024019939A (ja) | プログラム、画像処理装置、及び画像処理方法 | |
KR100621097B1 (ko) | 화상처리방법 및 화상처리장치 | |
JP6929825B2 (ja) | 画像形成装置および画像形成装置の制御方法、ならびにプログラム | |
JP2024019858A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
US20090074321A1 (en) | Image processing apparatus and image processing method | |
JP2024019857A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP3399341B2 (ja) | 画像処理方法および画像処理装置 |