JP5669249B2 - Program, image processing apparatus, and image processing method - Google Patents

Program, image processing apparatus, and image processing method Download PDF

Info

Publication number
JP5669249B2
JP5669249B2 JP2009222778A JP2009222778A JP5669249B2 JP 5669249 B2 JP5669249 B2 JP 5669249B2 JP 2009222778 A JP2009222778 A JP 2009222778A JP 2009222778 A JP2009222778 A JP 2009222778A JP 5669249 B2 JP5669249 B2 JP 5669249B2
Authority
JP
Japan
Prior art keywords
value
quantization
error
usage rate
noise
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.)
Active
Application number
JP2009222778A
Other languages
Japanese (ja)
Other versions
JP2011071882A (en
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.)
Mimaki Engineering Co Ltd
Original Assignee
Mimaki Engineering Co 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 Mimaki Engineering Co Ltd filed Critical Mimaki Engineering Co Ltd
Priority to JP2009222778A priority Critical patent/JP5669249B2/en
Publication of JP2011071882A publication Critical patent/JP2011071882A/en
Application granted granted Critical
Publication of JP5669249B2 publication Critical patent/JP5669249B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プログラム、画像処理装置、及び画像処理方法に関する。   The present invention relates to a program, an image processing apparatus, and an image processing method.

プリンタで画像を出力するためには、通常、画像に対する量子化の処理が必要になる。量子化の処理とは、連続階調で表現された画像を、プリンタが表現できる階調数に変換するハーフトーン処理である。従来、量子化の処理方法として、例えば、ディザ処理や誤差拡散処理が知られている。   In order to output an image with a printer, it is usually necessary to perform quantization processing on the image. The quantization process is a halftone process for converting an image expressed in continuous gradation into the number of gradations that can be expressed by a printer. Conventionally, for example, dither processing and error diffusion processing are known as quantization processing methods.

また、従来、ディザ処理と誤差拡散処理とを選択的に使用して量子化を行う方法が知られている(例えば、特許文献1、2参照。)。例えば、特許文献1に開示されている方法では、濃度範囲によってディザ処理と誤差拡散処理とを使い分けている。また、特許文献2に開示されている方法では、サイズが異なるN種類のドットを形成可能な印刷ヘッドを用い、ドットサイズに応じてディザ処理と誤差拡散処理とを使い分けている。   Conventionally, a method of performing quantization by selectively using dither processing and error diffusion processing is known (see, for example, Patent Documents 1 and 2). For example, in the method disclosed in Patent Document 1, dither processing and error diffusion processing are selectively used depending on the density range. In the method disclosed in Patent Document 2, a print head capable of forming N types of dots having different sizes is used, and dither processing and error diffusion processing are selectively used according to the dot size.

特開2006−240054号公報Japanese Patent Laid-Open No. 2006-240054 特開2008−87382号公報JP 2008-87382 A

ディザ処理は、ディザマトリクスの値(ノイズ)を画素のデータに当てはめ、中間調のドットの有無を決定する方法であり、ディザマトリクスを原画像にパネリングして量子化を行う。そのため、マトリクス内で発生した特定の模様が繰り返し発生してしまうテクスチャの問題が生じる場合がある。また、その結果、画質の劣化が生じる場合がある。   The dither processing is a method of applying a dither matrix value (noise) to pixel data and determining the presence or absence of halftone dots, and performing quantization by paneling the dither matrix to the original image. For this reason, there may be a texture problem in which a specific pattern generated in the matrix is repeatedly generated. As a result, image quality may be degraded.

尚、例えばディザ処理に特有のテクスチャの発生を防ぐためには、ディザマトリクスの値(ノイズ)を適切な値に調整することも考えられる。しかし、このような調整によりテクスチャの発生を抑えることが、多くの作業時間を要するため、実用上は困難である。   For example, in order to prevent the occurrence of a texture peculiar to dither processing, it is conceivable to adjust the value (noise) of the dither matrix to an appropriate value. However, suppressing the generation of texture by such adjustment requires a lot of work time and is difficult in practical use.

一方、誤差拡散処理は、画素のデータと比較する閾値が用意され、予め算出された累積誤差で補正した画素のデータの値とその閾値とを比較し、その大小によって中間調のドットの有無を決定する方法である。誤差拡散処理を用いた場合、量子化によって生じる誤差を画像全体で軽減することができるため、ディザ処理で発生するようなテクスチャは発生しない。   On the other hand, in the error diffusion processing, a threshold value to be compared with the pixel data is prepared, and the pixel data value corrected by the accumulated error calculated in advance is compared with the threshold value, and the presence / absence of halftone dots is determined depending on the magnitude. It is a method of determination. When the error diffusion process is used, an error caused by quantization can be reduced in the entire image, so that a texture that occurs in the dither process does not occur.

しかし、誤差拡散処理を用いる場合には、ハイライト部やシャドウ部での出力結果においてドットの配置が遅れてしまうドット遅延や、ドットが連なってしまうワームノイズや、中間調部でドット配置が部分的に市松模様とランダムな配置になるパタンノイズの問題が生じる場合がある。また、その結果、ドット遅延による画像のずれや、ワームノイズによる縞の発生等により、画質の劣化が生じる場合がある。   However, when error diffusion processing is used, dot delays that cause dot placement to be delayed in the output results at the highlight and shadow portions, worm noise that causes dots to be linked, and dot placement that is part of the halftone portion In particular, there may be a problem of pattern noise that is randomly arranged with a checkered pattern. As a result, image quality may be deteriorated due to an image shift due to dot delay, a stripe due to worm noise, or the like.

また、例えば特許文献1のようにディザ処理と誤差拡散処理とを使い分けた場合、ディザ処理から誤差拡散処理に切り替わる部分等で、量子化の処理方法の違いによる境界線が出てしまい、画質が劣化する問題等が生じるおそれがある。また、特許文献2のような方法を用いた場合、例えば、ハイライト部において誤差拡散処理を用いるため、ドットの遅延の発生による画質の劣化に繋がる問題等が生じるおそれがある。   For example, when dither processing and error diffusion processing are separately used as in Patent Document 1, a boundary line due to a difference in quantization processing method appears at a portion where the dither processing is switched to error diffusion processing, and the image quality is low. There is a risk of deteriorating problems. Further, when the method as in Patent Document 2 is used, for example, since error diffusion processing is used in a highlight portion, there is a possibility that a problem or the like that leads to degradation of image quality due to occurrence of dot delay may occur.

そのため、従来、より適切な方法で量子化の処理を行うことが望まれている。より具体的には、例えば、テクスチャ、ドットの遅延、ワームノイズ、パタンノイズの発生等を抑制して、高画質のハーフトーン処理を実現できる量子化の処理が望まれている。   Therefore, conventionally, it is desired to perform quantization processing by a more appropriate method. More specifically, for example, a quantization process capable of realizing high-quality halftone processing by suppressing generation of texture, dot delay, worm noise, pattern noise, and the like is desired.

また、近年、求められる印刷品質の高まり等に応じて、ドットサイズの異なる複数種類のインク滴を吐出することで多階調の印刷を行うインクジェットプリンタ等が用いられる場合がある。この場合、量子化の処理においては、例えば、複数種類のドットサイズに対応して、多階調の量子化を行うことが必要となる。この場合、例えば、多階調の量子化にも適用可能な、より適切な方法で量子化の処理を行うことが望まれる。そこで、本発明は、上記の課題を解決できるプログラム、画像処理装置、及び画像処理方法を提供することを目的とする。   In recent years, an inkjet printer or the like that performs multi-tone printing by ejecting a plurality of types of ink droplets having different dot sizes may be used in accordance with an increase in required print quality. In this case, in the quantization process, for example, it is necessary to perform multi-tone quantization corresponding to a plurality of types of dot sizes. In this case, for example, it is desired to perform the quantization process by a more appropriate method applicable to multi-gradation quantization. SUMMARY An advantage of some aspects of the invention is that it provides a program, an image processing apparatus, and an image processing method that can solve the above-described problems.

本願の発明者は、鋭意研究により、ディザ処理においては、画素の濃度により、テクスチャの発生のしやすさが異なることに着目した。また、誤差拡散法においても、画素の濃度により、ドット遅延やワームノイズの発生のしやすさが異なることに着目した。そして、例えばディザ処理又は誤差拡散処理を切り替えて一方の処理を行うのではなく、ディザ処理及び誤差拡散処理の影響力を割り振るようにして量子化を行うことにより、テクスチャ、ドット遅延、及びワームノイズ等の発生を抑えつつ、適切に量子化をし得ることを見出した。   The inventor of the present application, based on diligent research, has focused on the fact that the ease of texture generation differs depending on the pixel density in dither processing. In the error diffusion method, attention was also paid to the fact that dot delay and worm noise are likely to occur depending on the pixel density. Then, for example, instead of switching between dither processing or error diffusion processing and performing one processing, quantization is performed by allocating the influence of the dither processing and error diffusion processing, so that texture, dot delay, and worm noise are performed. It was found that quantization can be appropriately performed while suppressing the occurrence of the above.

また、本願の発明者は、更に鋭意研究を行うことにより、この方法が、多階調の量子化を行う場合にも有効であることを見出した。本発明は、以下の構成を有する。   In addition, the inventors of the present application have further conducted intensive studies and found that this method is also effective when performing multi-tone quantization. The present invention has the following configuration.

(構成1)画像中の各画素の色の濃度を示す濃度値を3段階以上の離散的な値に変換する処理である多階調の量子化の処理をコンピュータに行わせるプログラムであって、量子化を行うべき画素を順次選択する画素選択処理と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する量子化において生じる誤差である量子化誤差を累積した累積誤差を量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理であり、画素選択処理で順次選択される画素の濃度値に応じて、当該画素に対応するノイズ使用率及び誤差使用率を決定する使用率決定処理と、画素選択処理で順次選択される画素の濃度値に対する量子化を行う処理であり、当該画素に対応するノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する誤差使用率に応じて累積誤差を使用して量子化を行う量子化実行処理とをコンピュータに実行させ、使用率決定処理は、画素の濃度値がいずれの場合にも、ノイズ使用率を、0より大きな値に予め設定された最低ノイズ使用率以上の値に設定し、ハイライト部と中間調部との間において、ハイライト部から中間調部へ向かう方向への画素の濃度値の変化に対し、ノイズ使用率を徐々に小さくし、かつ、誤差使用率を徐々に大きくし、中間調部とシャドウ部との間において、中間調部からシャドウ部へ向かう方向への画素の濃度値の変化に対し、ノイズ使用率を徐々に大きくし、かつ、誤差使用率を徐々に小さくする。多階調の量子化とは、例えば、画素の濃度値に対して多値の量子化を行う多値化処理である。 (Configuration 1) A program for causing a computer to perform multi-gradation quantization processing, which is processing for converting density values indicating the color density of each pixel in an image into discrete values of three or more stages, Pixel selection processing for sequentially selecting pixels to be quantized, noise usage rate indicating the degree of influence of dither matrix noise, which is noise specified by a preset dither matrix, on quantization processing, and surrounding pixels Is a process for determining an error usage rate indicating the degree to which the accumulated error obtained by accumulating the quantization error, which is an error occurring in the quantization with respect to the quantization process, is affected, and the density value of the pixels sequentially selected in the pixel selection process The usage rate determination process for determining the noise usage rate and the error usage rate corresponding to the pixel and the density value of the pixels sequentially selected in the pixel selection process are quantized. A quantization execution process that uses dither matrix noise according to the noise usage rate corresponding to the pixel and performs quantization using the accumulated error according to the error usage rate corresponding to the pixel; the cause the computer to execute, usage determination process, even when the concentration value of the pixel is either the noise utilization, set to a preset minimum noise utilization value greater than or equal to a value greater than 0, the highlight The noise usage rate is gradually reduced and the error usage rate is gradually increased with respect to the change in the pixel density value in the direction from the highlight portion to the halftone portion between the halftone portion and the halftone portion. The noise usage rate is gradually increased and the error usage rate is gradually reduced with respect to the change in the density value of the pixel in the direction from the halftone portion to the shadow portion between the halftone portion and the shadow portion. To do . Multi-tone quantization is, for example, multi-value quantization processing for performing multi-value quantization on a pixel density value.

ディザ処理及び誤差拡散処理は、良質な画質が得られる濃度範囲が異なる。そのため、これらのいずれかを単独で使用する場合、一部の濃度範囲で量子化による画質の劣化が生じるおそれがある。また、例えば濃度範囲によって単にディザ処理と誤差拡散処理とを切り替えるとすれば、処理が切り替わる部分に、境界線等が生じるおそれがある。   The dither processing and the error diffusion processing are different in density range in which a high quality image can be obtained. Therefore, when any one of these is used alone, there is a possibility that the image quality is deteriorated due to quantization in a part of the density range. Further, for example, if the dithering process and the error diffusion process are simply switched depending on the density range, there is a possibility that a boundary line or the like is generated at a part where the process is switched.

これに対し、このように構成すれば、例えば、誤差拡散処理の空間周波数特性(以下、誤差拡散特性)にディザ処理の空間周波数特性(以下、ディザ特性)の影響を与えることができる。また、これにより、例えば、誤差拡散特性にディザ特性を組み込んだ方法により、量子化を行うことができる。尚、空間周波数特性とは、例えば、画質を評価する特性の一つである、出力結果のドットのオン、オフの繰り返しパタンを周波数として捉えたときの特性である。   On the other hand, if configured in this way, for example, the spatial frequency characteristic of the error diffusion process (hereinafter referred to as error diffusion characteristic) can be affected by the spatial frequency characteristic of the dither process (hereinafter referred to as dither characteristic). In addition, this enables, for example, quantization to be performed by a method in which a dither characteristic is incorporated into the error diffusion characteristic. The spatial frequency characteristic is, for example, a characteristic when one of the characteristics for evaluating the image quality is a repetition pattern of ON / OFF of an output result as a frequency.

更には、このように構成した場合、例えば単にディザ処理と誤差拡散処理とを切り替える場合等と異なり、それぞれの処理が得意とする部分をより適切に活かした量子化の処理を行うことができる。そのため、このように構成すれば、例えば、量子化の処理において生じる印刷に関しての種々の問題点を適切に解消し、より適切な方法で量子化の処理を行うことができる。   Furthermore, in the case of such a configuration, unlike the case of simply switching between dither processing and error diffusion processing, for example, it is possible to perform quantization processing that makes better use of the portion that each processing is good at. Therefore, with this configuration, for example, various problems relating to printing that occur in the quantization process can be appropriately solved, and the quantization process can be performed by a more appropriate method.

また、このように構成した場合、多階調の量子化の処理を行う場合であっても、処理が切り替わる部分に目立つ境界線等を発生させることなく、ディザ処理及び誤差拡散処理のそれぞれの処理が得意とする部分をより適切に活かした量子化の処理を行うことができる。そのため、このように構成すれば、例えば、より適切な方法で多階調の量子化の処理を行うことが可能となる。   Also, with this configuration, even when multi-tone quantization processing is performed, each process of dither processing and error diffusion processing is performed without causing a noticeable boundary line or the like at a portion where processing is switched. Thus, it is possible to perform a quantization process that makes better use of the portion that is good at. Therefore, with this configuration, for example, it is possible to perform multi-tone quantization processing by a more appropriate method.

尚、画素選択処理は、例えば、画素のラインを順次選択し、選択したライン中の画素を所定の処理方向に沿って、順次選択する。この場合、画素選択処理は、処理方向を、処理するライン毎に切り替えてもよい。例えば、奇数ラインにおいては左から右へ、偶数ラインにおいては右から左へ、順次画素を選択することが考えられる。このように構成すれば、例えば、量子化の処理が双方向処理となり、誤差の拡散方向が一定ではなくなるため、ドットをより適切に分散させることができる。   In the pixel selection process, for example, pixel lines are sequentially selected, and pixels in the selected line are sequentially selected along a predetermined processing direction. In this case, in the pixel selection process, the processing direction may be switched for each line to be processed. For example, it is conceivable to sequentially select pixels from left to right in odd lines and from right to left in even lines. With this configuration, for example, the quantization process becomes a bidirectional process, and the error diffusion direction is not constant, so that the dots can be more appropriately dispersed.

使用率決定処理は、例えば、予め設定された計算式に従い、ノイズ使用率及び誤差使用率を決定する。この場合、例えば、式中のパラメータを適切に設定することにより、ディザ特性が支配的な領域と、誤差拡散特性が支配的な領域との切り替え部分で境界線が発生することを適切に抑えることができる。また、これにより、量子化の処理の方法の切り替えを滑らかに行うことができる。パラメータの最適値は、例えば実験等により適切に求めることができる。   In the usage rate determination process, for example, a noise usage rate and an error usage rate are determined according to a preset calculation formula. In this case, for example, by appropriately setting the parameters in the equation, it is possible to appropriately suppress the occurrence of a boundary line at the switching portion between the area where the dither characteristic is dominant and the area where the error diffusion characteristic is dominant. Can do. In addition, this enables smooth switching of the quantization processing method. The optimum value of the parameter can be appropriately obtained by experiments or the like, for example.

また、このプログラムは、例えば、コンピュータに、プロセスカラー毎に、各処理を実行させる。この場合、例えば、使用するディザマトリクスを、プロセスカラー毎に変更してもよい。このように構成すれば、例えば、同じ画素に対する量子化において用いられるディザマトリクスの値を、プロセスカラー毎に異ならせることができる。また、これにより、ドットの重なりが生じることを適切に防ぐことができる。   Also, this program causes a computer to execute each process for each process color, for example. In this case, for example, the dither matrix to be used may be changed for each process color. With this configuration, for example, the value of the dither matrix used in quantization for the same pixel can be made different for each process color. Moreover, it can prevent appropriately that a dot overlap arises by this.

ディザマトリクスノイズとしては、例えば、ブルーノイズ特性のノイズを用いることが好ましい。ブルーノイズ特性とは、例えば、空間周波数特性で表現した場合に高い周波数に偏ったノイズであり、人間の視覚では知覚されにくい特性を有している。また、ブルーノイズ特性は、誤差拡散処理の周波数特性に類似している。そのため、このようなディザマトリクスを用いることにより、ディザ特性と誤差拡散特性の切り替えをより滑らかに行いやすくなる。   As the dither matrix noise, for example, it is preferable to use blue noise characteristics. The blue noise characteristic is, for example, noise biased to a high frequency when expressed by a spatial frequency characteristic, and has a characteristic that is difficult to perceive by human vision. The blue noise characteristic is similar to the frequency characteristic of error diffusion processing. Therefore, by using such a dither matrix, it becomes easier to smoothly switch between the dither characteristic and the error diffusion characteristic.

また、このプログラムは、コンピュータに、例えば、累積誤差を算出する処理等を更に行わせてよい。例えば、このプログラムは、コンピュータに、誤差分配処理等を更に実行させてよい。誤差分配処理は、例えば、画素の量子化により生じる量子化誤差を分配する処理であり、例えば、予め設定された拡散フィルタ(拡散マトリクス)に従って、量子化誤差を、当該画素の周辺の画素に拡散させる。また、これにより、当該周辺の画素のそれぞれに対応する累積誤差の値を更新する。拡散フィルタとしては、例えば、Jarvis,Judice&Ninkeのマトリクスを好適に用いることができる。   Further, this program may cause the computer to further perform, for example, processing for calculating an accumulated error. For example, this program may cause the computer to further execute error distribution processing and the like. The error distribution process is a process for distributing a quantization error caused by pixel quantization, for example, and diffuses the quantization error to pixels around the pixel according to a preset diffusion filter (diffusion matrix), for example. Let In this way, the value of the accumulated error corresponding to each of the surrounding pixels is updated. As the diffusion filter, for example, a matrix of Jarvis, Judice & Ninke can be suitably used.

(構成2)3段階以上の離散的な値は、最小の濃度値を量子化した結果に対応する値である最低量子化値と、最小の濃度値よりもそれぞれ所定量以上大きな値を量子化した結果に対応する値であり、最低量子化値よりも大きな離散的な値である2段階以上の量子化結果値とを少なくとも含み、量子化実行処理は、2段階以上の量子化結果値のそれぞれに対応して行う処理であり、濃度値を量子化した結果を当該量子化結果値以上の値とすべきか否かを判定する段階毎判定処理を含み、2段階以上の量子化結果値の少なくともいずれかに対応して行われる段階毎判定処理は、処理の対象となる画素に対応するノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する誤差使用率に応じて累積誤差を使用して、最低量子化値と、当該量子化結果値との2階調の間での2階調の量子化の処理を行い、量子化実行処理は、2段階以上の量子化結果値のそれぞれに対応する段階毎判定処理の結果に基づき、3段階以上の離散的な値のいずれかの値を、画素選択処理で順次選択される画素の濃度値に対する多階調の量子化の結果に決定する。最低量子化値とは、例えば、値0である。この場合、2段階以上の量子化結果値は、例えば、0より大きな2段階以上の離散的な値となる。   (Configuration 2) As for discrete values of three or more levels, the minimum quantized value corresponding to the result of quantizing the minimum density value and a value larger than the minimum density value by a predetermined amount or more are quantized. And at least two quantization result values that are discrete values larger than the minimum quantization value, and the quantization execution process includes two or more quantization result values. It is processing corresponding to each, and includes step-by-step determination processing for determining whether or not the result of quantizing the density value should be a value greater than or equal to the quantization result value. The step-by-step determination process performed corresponding to at least one uses dither matrix noise according to the noise usage rate corresponding to the pixel to be processed, and according to the error usage rate corresponding to the pixel. Use cumulative error to find minimum quantum Quantization processing of two gradations between two gradations of the value and the quantization result value is performed, and quantization execution processing is determined for each stage corresponding to each of two or more quantization result values Based on the result of the processing, one of the discrete values of three or more levels is determined as the result of multi-gradation quantization for the density values of the pixels that are sequentially selected in the pixel selection processing. The lowest quantized value is, for example, the value 0. In this case, the quantization result values of two or more steps are, for example, discrete values of two or more steps larger than 0.

このように構成すれば、例えば、多階調の量子化の処理において、ディザ処理及び誤差拡散処理のそれぞれの特性を適切に活かした処理を行うことができる。また、これにより、多階調の量子化の処理を適切に行うことができる。   With this configuration, for example, in multi-tone quantization processing, it is possible to perform processing that appropriately utilizes the respective characteristics of dither processing and error diffusion processing. This also makes it possible to appropriately perform multi-tone quantization processing.

尚、濃度値を量子化した結果を当該量子化結果値以上の値とすべきか否かを判定するとは、例えば、量子化の結果を当該量子化結果値と等しくすべきか否かを判定することであってもよく、量子化の結果を、当該量子化結果値自体以外の値も含め、当該量子化結果以上の値とすべきか否かを判定することであってもよい。後者の場合、段階毎判定処理は、例えば、対応する量子化結果値自体ではなく、より大きな量子化結果値を量子化の結果とすべき場合にも、量子化の結果を当該量子化結果値以上の値とすべきと判定してよい。   Note that determining whether or not the result of quantizing the density value should be a value greater than or equal to the quantization result value is, for example, determining whether or not the quantization result should be equal to the quantization result value. Alternatively, it may be determined whether or not the quantization result should include a value other than the quantization result value itself and be a value greater than or equal to the quantization result. In the latter case, the step-by-step determination processing is performed, for example, when the quantization result value is not the corresponding quantization result value itself but the larger quantization result value should be the quantization result. You may determine with the above value.

各量子化結果値に対応する段階毎判定処理は、例えば、他の段階の量子化結果値に対応する段階毎判定処理の結果に応じて、行う処理を変更してもよい。例えば、より大きな量子化結果値(以下、上位結果値とする)に対応する段階毎判定処理が、量子化の結果を当該上位結果値以上の値とすべきと判定した場合、より小さな量子化結果値(以下、下位結果値とする)に対応する段階毎判定処理は、例えば、ディザ処理及び誤差拡散処理を用いた量子化の処理を省略してもよい。   For example, the step-by-step determination process corresponding to each quantization result value may be changed according to the result of the step-by-step determination process corresponding to the quantization result value at another step. For example, if the step-by-step determination process corresponding to a larger quantization result value (hereinafter referred to as an upper result value) determines that the quantization result should be greater than or equal to the upper result value, a smaller quantization In the determination processing for each stage corresponding to the result value (hereinafter referred to as the lower result value), for example, a quantization process using a dither process and an error diffusion process may be omitted.

この場合、量子化の結果を下位結果値よりも大きな上位結果値以上とすることが既知となっているため、下位結果値に対応する段階毎判定処理は、例えば、下位結果値についての2階調の量子化の処理を省略しつつ、量子化の結果を当該下位結果値以上の値とすべきと判定してよい。   In this case, since it is known that the quantization result is greater than or equal to the higher result value than the lower result value, the step-by-step determination process corresponding to the lower result value is, for example, the second order for the lower result value. While omitting the key quantization process, it may be determined that the quantization result should be equal to or higher than the lower result value.

また、量子化の処理は、より具体的に、例えば以下のように行うことが好ましい。量子化実行処理は、例えば、それぞれの段階毎判定処理において2階調の量子化の処理を行う場合の処理として、以下の処理を行う。   More specifically, the quantization process is preferably performed as follows, for example. In the quantization execution processing, for example, the following processing is performed as processing in the case of performing two-tone quantization processing in each stage determination processing.

例えば、プログラムは、画素選択処理で順次選択される画素に対し、累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理であり、当該画素に対応する誤差使用率と累積誤差との積を当該画素の濃度値に加算した値を、誤差補正済入力値として算出する誤差補正済入力値算出処理と、量子化で使用する閾値としてディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理であり、当該画素に対応するノイズ使用率とディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、ノイズ補正済閾値として算出するノイズ補正済閾値算出処理とを更にコンピュータに実行させ、量子化実行処理は、ノイズ補正済閾値と誤差補正済入力値とを比較することにより、量子化を行う。   For example, the program is a process of calculating an error-corrected input value, which is a density value after correction by cumulative error, for pixels sequentially selected in the pixel selection process, and an error usage rate corresponding to the pixel An error corrected input value calculation process for calculating a value obtained by adding the product of the accumulated error and the density value of the pixel as an error corrected input value, and a threshold value reflecting dither matrix noise as a threshold value used in quantization Is a process for calculating a noise-corrected threshold value, and a noise correction value for calculating a value obtained by adding the product of the noise usage rate corresponding to the pixel and the dither matrix noise to a preset initial threshold value as the noise-corrected threshold value The computer further executes the completed threshold value calculation process, and the quantization execution process performs the quantization by comparing the noise corrected threshold value and the error corrected input value.

このように構成した場合、誤差使用率を乗じた累積誤差を量子化の入力値である画素の濃度値に加算することにより、誤差拡散特性を影響させる度合いを適切に調節できる。また、ノイズ使用率を乗じたディザマトリクスノイズを初期閾値に加算することにより、ディザ特性を影響させる度合いを適切に調節できる。   In such a configuration, the degree of influence of the error diffusion characteristic can be appropriately adjusted by adding the accumulated error multiplied by the error usage rate to the density value of the pixel which is the quantization input value. Further, by adding the dither matrix noise multiplied by the noise usage rate to the initial threshold value, the degree of influence on the dither characteristics can be adjusted appropriately.

そのため、このように構成すれば、例えば、入力値に応じて、誤差拡散特性及びディザ特性のそれぞれを影響させる度合いを適切に設定できる。また、これにより、入力値に応じて、それぞれの処理が得意とする部分をより適切に活かした量子化の処理を行うことができる。   Therefore, with this configuration, for example, the degree of influence of each of the error diffusion characteristic and the dither characteristic can be appropriately set according to the input value. In addition, according to the input value, it is possible to perform a quantization process that more appropriately utilizes a portion that each process is good at.

また、例えば、量子化実行処理は、量子化の入力値である画素の濃度値と、濃度値が取り得る範囲の最大値とが等しいか否かを判定する最大値判定処理と、入力値である画素の濃度値と、濃度値が取り得る範囲の最小値とが等しいか否かを判定する最小値判定処理と、量子化の結果である量子化値を取得する量子化値取得処理とを有し、最大値判定処理において入力値と最大値とが等しいと判定された場合、量子化値取得処理は、量子化値として、濃度値が閾値よりも大きい場合に出力されるべき値を取得し、最小値判定処理において入力値と最小値とが等しいと判定された場合、量子化値取得処理は、量子化値として、濃度値が閾値よりも小さい場合に出力されるべき値を取得する。   Further, for example, the quantization execution process includes a maximum value determination process for determining whether or not a pixel density value, which is an input value for quantization, is equal to a maximum value in a range that the density value can take, and an input value. A minimum value determination process for determining whether a density value of a pixel is equal to a minimum value in a range that the density value can take, and a quantization value acquisition process for acquiring a quantization value as a result of quantization If the maximum value determination process determines that the input value is equal to the maximum value, the quantization value acquisition process acquires a value to be output when the density value is greater than the threshold value as the quantization value. When it is determined that the input value and the minimum value are equal in the minimum value determination process, the quantized value acquisition process acquires a value to be output when the density value is smaller than the threshold value as the quantized value. .

例えば、入力値が最大値と等しい場合、誤差補正済入力値やノイズ補正済閾値がいずれの場合であっても、量子化の結果は、濃度値が閾値よりも大きい場合に出力されるべき出力値(例えば1)とする必要がある。また、入力値が最小値と等しい場合、誤差補正済入力値やノイズ補正済閾値がいずれの場合であっても、量子化の結果は、濃度値が閾値よりも小さい場合に出力されるべき出力値(例えば0)とする必要がある。   For example, if the input value is equal to the maximum value, regardless of whether the error-corrected input value or the noise-corrected threshold value, the quantization result is an output that should be output when the density value is greater than the threshold value. It needs to be a value (for example, 1). In addition, when the input value is equal to the minimum value, the quantization result is an output to be output when the density value is smaller than the threshold value, regardless of the error-corrected input value or the noise-corrected threshold value. It needs to be a value (for example, 0).

これに対し、このように構成すれば、入力値が最大値又は最小値の場合の出力値を、容易かつ適切に設定できる。また、これにより、累積誤差及びディザマトリクスノイズの両方を用いて行う量子化の処理を、より適切に行うことが可能になる。尚、濃度値が閾値よりも大きい場合、及び小さい場合のそれぞれに出力されるべき出力値とは、例えば、累積誤差及びディザマトリクスノイズの両方を0として濃度値と閾値とを比較した結果を示す出力値である。   On the other hand, if comprised in this way, the output value in case an input value is the maximum value or the minimum value can be set easily and appropriately. This also makes it possible to more appropriately perform the quantization process using both the accumulated error and the dither matrix noise. The output value to be output when the density value is larger than or smaller than the threshold value indicates, for example, a result of comparing the density value with the threshold value when both the accumulated error and the dither matrix noise are set to 0. Output value.

また、例えば、使用率決定処理は、ノイズ使用率及び誤差使用率の決定において、画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合のノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合のノイズ使用率よりも大きな値にし、画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の誤差使用率を、中間調部に相当する濃度値である場合の誤差使用率よりも小さな値にする。   Further, for example, the usage rate determination process determines the noise usage rate when the density value of the pixel is a density value corresponding to either the highlight portion or the shadow portion in the determination of the noise usage rate and the error usage rate. When the density value is equivalent to a halftone part between the light part and the shadow part, the value is larger than the noise usage rate, and the density value of the pixel is a density value corresponding to either the highlight part or the shadow part. The error usage rate in a certain case is set to a value smaller than the error usage rate in the case of the density value corresponding to the halftone portion.

ノイズ使用率は、例えば、ハイライト部及びシャドウ部での値が1(100%)であり、中間調になるにつれて徐々に値が下がるように変化する。誤差使用率は、例えば、濃度範囲の両端では値が0(0%)であり、テクスチャ発生部の濃度範囲の手前で値1(100%)となるように変化する。   For example, the noise usage rate has a value of 1 (100%) in the highlight portion and the shadow portion, and changes so that the value gradually decreases as the tone becomes halftone. For example, the error usage rate changes so that the value is 0 (0%) at both ends of the density range, and the value is 1 (100%) before the density range of the texture generation unit.

このように構成した場合、例えば、誤差拡散特性の影響が強いとドット遅延が発生しやすいハイライト部及びシャドウ部において、ノイズ使用率を高くし、誤差使用率を低くすることとなる。これにより、例えば、ハイライト部及びシャドウ部において、ドットを分散して配置できるディザ特性の影響が大きくなるため、ドット遅延の発生を適切に抑えることができる。   In such a configuration, for example, in a highlight portion and a shadow portion where dot delay is likely to occur when the influence of the error diffusion characteristic is strong, the noise usage rate is increased and the error usage rate is decreased. Thereby, for example, in the highlight portion and the shadow portion, the influence of the dither characteristics that can disperse and arrange the dots becomes large, so that the occurrence of dot delay can be appropriately suppressed.

また、誤差拡散特性の影響を大きくして中間調部での量子化の処理を行うことにより、例えば、より自然な擬似階調を得ることができる。また、例えば、テクスチャ発生部の濃度範囲において、ノイズ使用率を低く、誤差使用率を高くすることにより、ドットの配置に変化を与え、例えば、テクスチャの発生を適切に抑えることができる。   Also, by increasing the influence of the error diffusion characteristic and performing the quantization process in the halftone part, for example, a more natural pseudo gradation can be obtained. Further, for example, in the density range of the texture generation unit, by changing the noise usage rate and increasing the error usage rate, the dot arrangement is changed, and for example, the occurrence of texture can be appropriately suppressed.

また、例えば、使用率決定処理は、画素の濃度値がいずれの場合にも、ノイズ使用率を、0より大きな値に予め設定された最低ノイズ使用率以上の値に設定する。   For example, in the usage rate determination process, the noise usage rate is set to a value equal to or higher than the minimum noise usage rate preset to a value larger than 0 regardless of the density value of the pixel.

中間調部において、ノイズ使用率を0(0%)とし、誤差使用率を1(100%)とすると、誤差拡散特性に特有のパタンノイズが発生するおそれがある。パタンノイズが中間調部で発生する原因は、例えば、中間調部での誤差拡散特性が非常に高周波であることからドットの配置が市松模様になりやすく、また、ディザ処理のようにドット配置パタンが一定でないことで、市松模様が部分的に発生することがあるためである。これに対し、最低ノイズ使用率を設け、ノイズ使用率が0にならないようにすることにより、例えば、中間調部において、僅かにディザ特性の影響を与えつつ、誤差拡散特性の影響を大きくすることで、ディザ処理のドット配置パタンの影響を僅かに受けるので、全体的な配置パタンが一定になりやすく、部分的な市松模様が発生しにくくなる。また、これにより、例えば、パタンノイズを適切に抑制できる。   In the halftone part, if the noise usage rate is 0 (0%) and the error usage rate is 1 (100%), there is a possibility that pattern noise peculiar to the error diffusion characteristic occurs. The cause of the pattern noise occurring in the halftone part is, for example, that the error diffusion characteristic in the halftone part is very high frequency, so that the dot arrangement tends to be a checkered pattern, and the dot arrangement pattern as in dither processing. This is because the checkerboard pattern may partially occur due to the fact that is not constant. On the other hand, by setting the minimum noise usage rate so that the noise usage rate does not become 0, for example, in the halftone part, the influence of the error diffusion characteristic is increased while slightly affecting the dither characteristic. Thus, since it is slightly affected by the dot arrangement pattern of the dither processing, the overall arrangement pattern is likely to be constant, and a partial checkered pattern is less likely to occur. Thereby, for example, pattern noise can be appropriately suppressed.

また、例えば、使用率決定処理は、ハイライト部にある濃度範囲を示す基準として、予め設定された第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から漸減させた値に設定する。   In addition, for example, the usage rate determination process includes a first highlight reference value set in advance as a reference indicating the density range in the highlight portion, and a second highlight reference having a value larger than the first highlight reference value. And a first shadow reference value that is set in advance and a second shadow reference value that is larger than the first shadow reference value as a reference that indicates the density range in the shadow portion. As a reference indicating the density range in the center, a first halftone reference value that is larger than the second highlight reference value and smaller than the first shadow reference value, and larger than the first halftone reference value, and When the second halftone reference value smaller than the first shadow reference value is used and the pixel density value is less than or equal to the first highlight reference value or greater than or equal to the second shadow reference value, the noise usage rate is set to 1 Set to If the value is greater than or equal to the first halftone reference value and less than or equal to the second halftone reference value, the noise usage rate is set to the lowest noise usage rate, and the pixel density value is greater than or equal to the first highlight reference value, and In the case of the first halftone reference value or less, the noise usage rate is a value that is equal to or higher than the minimum noise usage rate and 1 or lower, and is gradually decreased from 1 according to the difference between the pixel density value and the first highlight reference value. When the pixel density value is not less than the second halftone reference value and not more than the second shadow reference value, the noise usage rate is not less than the minimum noise usage rate and not more than 1 and the pixel Is set to a value that is gradually increased from the lowest noise usage rate in accordance with the difference between the density value and the second halftone reference value, and the pixel density value is not less than the second highlight reference value and not more than the first shadow reference value. In this case, the error usage rate is set to 1, and the pixel density value is set to the second highlight basis. If the value is less than or equal to the value, the error usage rate is a value between 0 and 1, and is set to a value that gradually decreases from 1 depending on the difference between the second highlight reference value and the density value. When the reference value is equal to or greater than the first shadow reference value, the error usage rate is a value between 0 and 1 and is set to a value that is gradually decreased from 1 according to the difference between the pixel density value and the first shadow reference value.

このように構成すれば、例えば、画素の濃度値に応じて、誤差使用率及びノイズ使用率のそれぞれを適切に設定できる。また、これにより、誤差拡散処理及びディザ処理のそれぞれの処理が得意とする部分をより適切に活かした量子化の処理を適切に行うことができる。   If comprised in this way, according to the density value of a pixel, each of an error usage rate and a noise usage rate can be set appropriately, for example. This also makes it possible to appropriately perform a quantization process that makes better use of the parts that the error diffusion process and the dither process are good at.

また、例えば、使用率決定処理は、ハイライト部にある濃度範囲を示す基準として、0より大きく、かつ第1ハイライト基準値以下の値の第3ハイライト基準値を更に用い、シャドウ部にある濃度範囲を示す基準として、第2シャドウ基準値以上、かつ濃度値が取り得る範囲の最大値よりも小さな値の第3シャドウ基準値を更に用い、画素の濃度値が、第3ハイライト基準値以下の場合、誤差使用率を0に設定し、画素の濃度値が、第3ハイライト基準値以上、かつ第2ハイライト基準値以下の場合、誤差使用率を、濃度値と第3ハイライト基準値との差を第2ハイライト基準値と第3ハイライト基準値との差で除した値に設定し、画素の濃度値が、第1シャドウ基準値以上、かつ第3シャドウ基準値以下の場合、誤差使用率を、第3シャドウ基準値と濃度値との差を第3シャドウ基準値と第1シャドウ基準値との差で除した値に設定し、画素の濃度値が、第3シャドウ基準値以上の場合、誤差使用率を0に設定する。このように構成すれば、例えば、誤差使用率をより適切に設定できる。   Further, for example, the usage rate determination process further uses a third highlight reference value that is greater than 0 and less than or equal to the first highlight reference value as a reference indicating the density range in the highlight portion, and uses the third highlight reference value for the shadow portion. As a reference indicating a certain density range, a third shadow reference value that is equal to or larger than the second shadow reference value and smaller than the maximum value of the range that the density value can take is further used. If the value is less than the value, the error usage rate is set to 0, and if the pixel density value is not less than the third highlight reference value and not more than the second highlight reference value, the error usage rate is set to the density value and the third high value. The difference from the light reference value is set to a value obtained by dividing the difference between the second highlight reference value and the third highlight reference value, and the pixel density value is equal to or greater than the first shadow reference value and the third shadow reference value. In the following cases, the error usage rate is set to the third shadow. When the difference between the reference value and the density value is divided by the difference between the third shadow reference value and the first shadow reference value, and the pixel density value is greater than or equal to the third shadow reference value, the error usage rate is set to Set to 0. If comprised in this way, an error usage rate can be set more appropriately, for example.

(構成3)プログラムは、印刷装置が解釈可能な形式により画像を示す印刷可能データを形成する画像形成処理中において、多階調の量子化をコンピュータに行わせ、印刷装置は、ドットサイズの異なる複数種類のインク滴を吐出することで多階調の印刷を行うインクジェットプリンタであり、2段階以上の量子化結果値のそれぞれは、複数種類のインク滴のそれぞれのドットサイズと対応付けられており、段階毎判定処理は、2階調の量子化の処理を行うことにより、当該段階毎判定処理に対応するドットサイズのインク滴のドットを形成するか否かを判定し、いずれの段階毎判定処理においてもドットを形成すると判定されなかった場合、量子化実行処理は、最低量子化値を、多階調の量子化の結果に決定し、いずれかの段階毎判定処理においてドットを形成すると判定された場合、量子化実行処理は、ドットを形成すると判定された段階毎判定処理のうち、最大のドットサイズに対応する量子化結果値を、多階調の量子化の結果に決定する。   (Configuration 3) A program causes a computer to perform multi-tone quantization during image forming processing for forming printable data indicating an image in a format that can be interpreted by the printing apparatus, and the printing apparatus has different dot sizes. This is an inkjet printer that performs multi-tone printing by ejecting multiple types of ink droplets, and each of the two or more levels of quantization result values is associated with the respective dot size of the multiple types of ink droplets. The step-by-step determination process determines whether or not to form dots of ink droplets of the dot size corresponding to the step-by-step determination process by performing a two-gradation quantization process. If it is not determined that a dot is formed in the process, the quantization execution process determines the lowest quantization value as the result of multi-tone quantization, and the determination process for each stage If it is determined that a dot is to be formed, the quantization execution process uses the multi-level quantization of the quantization result value corresponding to the maximum dot size in the determination process for each stage determined to form a dot. Determine the result.

このように構成すれば、例えば、多階調の量子化の結果に応じて、多階調の印刷を適切に行うことができる。また、これにより、高精細な印刷をより適切に行うことができる。   If comprised in this way, multi-tone printing can be performed appropriately according to the result of multi-tone quantization, for example. Thereby, high-definition printing can be performed more appropriately.

(構成4)量子化実行処理は、より大きなドットサイズに対応する段階毎判定処理をより先に行い、いずれかのドットサイズに対応する段階毎判定処理において、当該ドットサイズのインク滴のドットを形成すると判定された場合、当該ドットサイズよりも小さなドットサイズに対応する段階毎判定処理は、画素の濃度値にかかわらず、ドットを形成しないと判定する。ドットサイズに対応する段階毎判定処理とは、例えば、ドットサイズに対応する量子化結果値に対し、当該量子化結果値に更に対応する量子化実行処理である。   (Configuration 4) In the quantization execution process, the stage-by-stage determination process corresponding to a larger dot size is performed first, and in the stage-by-stage determination process corresponding to one of the dot sizes, the dot of the ink droplet of the dot size is When it is determined to form, the step-by-step determination process corresponding to a dot size smaller than the dot size determines not to form a dot regardless of the density value of the pixel. The step-by-step determination process corresponding to the dot size is, for example, a quantization execution process further corresponding to the quantization result value for the quantization result value corresponding to the dot size.

このように構成した場合、いずれかのドットサイズに対応する段階毎判定処理がドットを形成すると判定した場合、以降の段階毎判定処理で行う処理を省略又は簡略化できる。そのため、このように構成すれば、多階調の量子化をより効率的に行うことができる。   In such a configuration, when it is determined that the stage determination process corresponding to any dot size forms a dot, the process performed in the subsequent stage determination process can be omitted or simplified. Therefore, with this configuration, multi-tone quantization can be performed more efficiently.

尚、このように構成した場合、例えば、より大きな量子化結果値に対応する段階毎判定処理から順に、処理を行うこととなる。そして、先に行われたいずれの段階毎判定処理においてもドットを形成すると判定されていない場合、段階毎判定処理は、2階調の量子化の処理を行い、量子化の結果を対応する量子化結果値とすべきか否かを判定する。そして、量子化の結果を当該量子化結果値とすべきと判定した場合、ドットを形成すると判定する。   In the case of such a configuration, for example, the processing is performed in order from the step-by-step determination processing corresponding to a larger quantization result value. Then, if it is not determined that any dot is formed in any of the determination processes performed at each stage, the determination process for each stage performs a two-tone quantization process, and the quantization result is converted into a corresponding quantum. It is determined whether or not it should be a conversion result value. When it is determined that the quantization result should be the quantization result value, it is determined that a dot is to be formed.

また、先に行われたいずれかの段階毎判定処理において、ドットを形成すると判定された場合、段階毎判定処理は、2階調の量子化の処理を省略する。この場合、この段階毎判定処理は、先に行われた段階毎判定処理の結果に基づき、量子化の結果を、対応する量子化結果値よりも大きな量子化結果値とすべきと判定する。また、これにより、この段階毎判定処理に対応するドットサイズについては、ドットを形成しないと判定する。このように構成すれば、例えば、いずれか1の段階毎判定処理のみにドットを形成すると適切に判定させ、かつ、他の段階毎判定処理には、ドットを形成しないと適切に判定させることができる。   In addition, when it is determined that a dot is to be formed in any one of the determination processes performed in each step, the determination process for each step omits the two-gradation quantization process. In this case, this step-by-step determination process determines that the quantization result should be a quantization result value larger than the corresponding quantization result value based on the result of the step-by-step determination process performed previously. Accordingly, it is determined that no dot is formed for the dot size corresponding to the determination processing for each stage. With this configuration, for example, it is possible to appropriately determine that dots are formed only in one of the determination processes for each stage, and it is possible to appropriately determine that dots are not formed in the determination processes for other stages. it can.

(構成5)プログラムは、それぞれのドットサイズに対応する段階毎判定処理で入力値として用いる値である段階毎入力値を算出する処理であり、画素選択処理で順次選択される画素の濃度値に応じて、予め設定された入力値算出用データに基づき、それぞれのドットサイズに対応する段階毎入力値を算出する入力値算出処理を更にコンピュータに実行させ、段階毎入力値算出用データは、画素の濃度値に応じて単位面積あたりに形成すべきインク滴のドット数を、それぞれのドットサイズ毎に定めるデータであり、入力値算出処理は、画素選択処理で順次選択される画素の濃度値に対し、それぞれのドットサイズに対応する段階毎入力値を、入力値算出用データにおいて当該ドットサイズに対して当該濃度値と対応付けられているドット数に応じて算出し、2階調の量子化を行う場合、それぞれのドットサイズに対応する段階毎判定処理は、当該ドットサイズに対応する段階毎入力値に対し、2階調の量子化の処理を行う。段階毎入力値算出用データとしては、例えば、濃度毎に出力するドットサイズの割合を示すドットサイズ決定テーブルを用いることができる。   (Configuration 5) The program is a process of calculating an input value for each stage, which is a value used as an input value in the stage-by-stage determination process corresponding to each dot size, and sets the density value of the pixels sequentially selected in the pixel selection process. Accordingly, based on preset input value calculation data, the computer further executes an input value calculation process for calculating the input value for each stage corresponding to each dot size. The number of dots of ink droplets to be formed per unit area in accordance with the density value is determined for each dot size, and the input value calculation process uses the density value of the pixels sequentially selected in the pixel selection process. On the other hand, the input value for each stage corresponding to each dot size is represented by the number of dots associated with the density value for the dot size in the input value calculation data. Accordingly, when performing two-level quantization, the step-by-step determination processing corresponding to each dot size is performed by performing two-step quantization processing on the input value for each step corresponding to the dot size. Do. As the input value calculation data for each stage, for example, a dot size determination table indicating the ratio of dot sizes to be output for each density can be used.

このように構成すれば、画素の濃度値に合わせて、形成すべきドットサイズをより適切に設定できる。また、これにより、多階調の量子化をより適切に行い、高い品質の画像を適切に印刷できる。   With this configuration, the dot size to be formed can be set more appropriately according to the density value of the pixel. This also makes it possible to perform multi-tone quantization more appropriately and appropriately print a high quality image.

(構成6)量子化実行処理は、2段階以上の量子化結果値のそれぞれに対応して、当該量子化結果値に対応する累積誤差をそれぞれ算出する段階毎累積誤差算出処理を更に含み、段階毎判定処理は、累積誤差として、当該段階毎判定処理と同じ量子化結果値に対応する累積誤差を使用し、当該段階毎判定処理による処理の結果に基づき、段階毎累積誤差算出処理は、当該量子化結果値に対応する累積誤差を更新する。   (Configuration 6) The quantization execution process further includes a stage-by-stage cumulative error calculation process for calculating a cumulative error corresponding to the quantization result value corresponding to each of two or more stages of quantization result values. Each determination process uses the accumulated error corresponding to the same quantization result value as the step-by-step determination process as the cumulative error. Based on the result of the process by the step-by-step determination process, The accumulated error corresponding to the quantization result value is updated.

このように構成すれば、例えば、それぞれの段階毎累積誤差算出処理で行う処理において、適切な累積誤差を用いることができる。また、これにより、例えば、ディザ処理及び誤差拡散処理のそれぞれの処理が得意とする部分を活かした量子化の処理を、より適切に行うことができる。   If comprised in this way, an appropriate accumulation error can be used in the process performed by each stage accumulated error calculation process, for example. In addition, for example, it is possible to more appropriately perform a quantization process that makes use of a portion that each process of the dither process and the error diffusion process is good at.

(構成7)画像中の各画素の色の濃度を示す濃度値を3段階以上の離散的な値に変換する処理である多階調の量子化の処理を行う画像処理装置であって、量子化を行うべき画素を順次選択する画素選択処理部と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する量子化において生じる誤差である量子化誤差を累積した累積誤差を量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理部であり、画素選択処理部により順次選択される画素の濃度値に応じて、当該画素に対応するノイズ使用率及び誤差使用率を決定する使用率決定処理部と、画素選択処理部により順次選択される画素の濃度値に対する量子化を行う処理部であり、当該画素に対応するノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する誤差使用率に応じて累積誤差を使用して量子化を行う量子化実行処理部とを備える。このように構成すれば、例えば、構成1と同様の効果を得ることができる。   (Configuration 7) An image processing apparatus that performs multi-gradation quantization processing, which is processing for converting density values indicating the color density of each pixel in an image into discrete values of three or more stages, A pixel selection processing unit that sequentially selects pixels to be quantized, a noise usage rate indicating a degree of influence of the dither matrix noise, which is noise specified by a preset dither matrix, on quantization processing, and surrounding pixels Is a processing unit that determines an error usage rate that indicates a degree to which a cumulative error obtained by accumulating a quantization error, which is an error that occurs in quantization with respect to the quantization process, affects the quantization process. A usage rate determination processing unit that determines a noise usage rate and an error usage rate corresponding to the pixel in accordance with the density value, and a quantization for the density value of pixels sequentially selected by the pixel selection processing unit. Quantization execution that uses the dither matrix noise according to the noise usage corresponding to the pixel and performs quantization using the accumulated error according to the error usage corresponding to the pixel A processing unit. If comprised in this way, the effect similar to the structure 1 can be acquired, for example.

尚、この画像処理装置は、例えば、所定のプログラムに従って動作するコンピュータであってよい。この場合、例えばコンピュータのCPUが、プログラムに従って、画像処理装置の各部として動作する。   The image processing apparatus may be a computer that operates according to a predetermined program, for example. In this case, for example, the CPU of the computer operates as each unit of the image processing apparatus according to the program.

(構成8)画像中の各画素の色の濃度を示す濃度値を3段階以上の離散的な値に変換する処理である多階調の量子化の処理を行う画像処理方法であって、量子化を行うべき画素を順次選択する画素選択処理段階と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する量子化において生じる誤差である量子化誤差を累積した累積誤差を量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理段階であり、画素選択処理段階において順次選択される画素の濃度値に応じて、当該画素に対応するノイズ使用率及び誤差使用率を決定する使用率決定処理段階と、画素選択処理段階において順次選択される画素の濃度値に対する量子化を行う処理段階であり、当該画素に対応するノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する誤差使用率に応じて累積誤差を使用して量子化を行う量子化実行処理段階とを備える。このようにすれば、例えば、構成1と同様の効果を得ることができる。   (Configuration 8) An image processing method for performing multi-gradation quantization processing, which is processing for converting density values indicating the color density of each pixel in an image into discrete values of three or more stages, A pixel selection processing stage for sequentially selecting pixels to be quantized, a noise usage rate indicating the degree of influence of the dither matrix noise, which is noise specified by a preset dither matrix, on the quantization processing, and surrounding pixels This is a processing stage for determining an error usage rate indicating the degree to which the accumulated error obtained by accumulating the quantization error, which is an error occurring in the quantization with respect to the quantization process, affects the quantization process. According to the density value, the usage rate determination processing stage for determining the noise usage rate and the error usage rate corresponding to the pixel, and the density value of the pixels sequentially selected in the pixel selection processing stage Quantization is performed using the dither matrix noise according to the noise usage rate corresponding to the pixel and the accumulated error according to the error usage rate corresponding to the pixel. Performing a quantization execution processing stage. In this way, for example, the same effect as that of Configuration 1 can be obtained.

本発明によれば、例えば、より適切な方法で多階調の量子化の処理を行うことができる。また、これにより、例えば、ハーフトーン処理において、テクスチャ、ドットの遅延、パタンノイズの発生等を適切に抑制できる。   According to the present invention, for example, multi-tone quantization processing can be performed by a more appropriate method. Accordingly, for example, in halftone processing, texture, dot delay, pattern noise, and the like can be appropriately suppressed.

2階調の量子化の処理を行うプログラムの一例について説明する図である。図1(a)は、このプログラムを使用する印刷システム10の構成の一例を示す。図1(b)は、画像処理装置12が行う量子化の処理の概要を示す図である。FIG. 10 is a diagram illustrating an example of a program that performs a two-tone quantization process. FIG. 1A shows an example of the configuration of a printing system 10 that uses this program. FIG. 1B is a diagram illustrating an outline of quantization processing performed by the image processing apparatus 12. 量子化を行う動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation | movement which performs quantization. 画素選択処理S102について更に詳しく説明する図である。図3(a)は、画素を順次選択する順番の一例を示す。図3(b)は、双方向処理の効果の一例を示す図である。It is a figure explaining in more detail about pixel selection processing S102. FIG. 3A shows an example of the order in which pixels are sequentially selected. FIG. 3B is a diagram illustrating an example of the effect of bidirectional processing. 誤差使用率Re、及びノイズ使用率Rnと、濃度値In(x,y)とを対応付けるグラフ及び計算式の一例を示す。An example of a graph and a calculation formula for associating the error usage rate Re, the noise usage rate Rn, and the density value In (x, y) is shown. 誤差使用率Reを算出する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which calculates error utilization factor Re. ノイズ使用率Rnを算出する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which calculates noise usage rate Rn. 量子化実行処理S110の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of quantization execution process S110. 本例において使用する拡散フィルタの一例を示す図である。図8(a)は、双方向処理の各方向で用いる拡散フィルタの一例を示す。図8(b)は、誤差の分配の仕方の一例を示す。It is a figure which shows an example of the spreading | diffusion filter used in this example. FIG. 8A shows an example of a diffusion filter used in each direction of bidirectional processing. FIG. 8B shows an example of how to distribute errors. 誤差分配処理S112の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of error distribution process S112. 本例による印刷結果の一例を参考例による印刷結果と共に示す。図10(a)は、従来公知の典型的な誤差拡散処理のみを行った場合の印刷結果の一例を示す。図10(b)は、従来公知のディザ処理のみを行った場合の印刷結果の一例を示す。図10(c)は、濃度範囲によって単にディザ処理と誤差拡散処理とを切り替えた場合の印刷結果の一例を示す。図10(d)は、本例による印刷結果の一例を示す。An example of the printing result according to this example is shown together with the printing result according to the reference example. FIG. 10A shows an example of a print result when only a conventionally known typical error diffusion process is performed. FIG. 10B shows an example of a print result when only a conventionally known dither process is performed. FIG. 10C shows an example of a print result when the dither process and the error diffusion process are simply switched depending on the density range. FIG. 10D shows an example of the print result according to this example. 本発明の一実施形態に係る多階調の量子化の処理の第1の例を示すフローチャートである。It is a flowchart which shows the 1st example of the process of the multi-tone quantization which concerns on one Embodiment of this invention. 入力値算出処理S608及び入力値閾値補正処理S610について更に詳しく説明する図である。図12(a)は、入力値算出処理S608で用いるドットサイズ決定テーブルの一例を示すグラフである。図12(b)は、入力値閾値補正処理S610について説明する図である。It is a figure explaining in more detail about input value calculation processing S608 and input value threshold value correction processing S610. FIG. 12A is a graph showing an example of a dot size determination table used in the input value calculation process S608. FIG. 12B is a diagram for explaining the input value threshold value correction processing S610. 入力値閾値補正処理S610における具体的な処理の一例を示すフローチャートである。It is a flowchart which shows an example of the specific process in input value threshold value correction process S610. 量子化実行処理S612における処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process in quantization execution process S612. Large用量子化処理S642における処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process in Large quantization process S642. 量子化実行処理S612における処理の変形例を示すフローチャートである。It is a flowchart which shows the modification of the process in quantization execution process S612. 多階調の量子化の処理の第2の例を示すフローチャートである。It is a flowchart which shows the 2nd example of the process of multi-gradation quantization. 算出したノイズ使用率を補正する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which correct | amends the calculated noise usage rate. ノイズ使用率の補正を行う範囲の一例を示す図である。図19(a)は、ドットサイズ決定テーブルの一例を示す。図19(b)は、ドットサイズ決定テーブルの他の例を示す。It is a figure which shows an example of the range which corrects a noise usage rate. FIG. 19A shows an example of a dot size determination table. FIG. 19B shows another example of the dot size determination table.

以下、本発明に係る実施形態を、図面を参照しながら説明する。最初に、本発明に係る多階調の量子化の処理に先立ち、多階調の量子化の処理と関連する2階調の量子化の処理について、図1〜図10を用いて説明する。   Hereinafter, embodiments according to the present invention will be described with reference to the drawings. First, prior to the multi-gradation quantization processing according to the present invention, the two-gradation quantization processing related to the multi-gradation quantization processing will be described with reference to FIGS.

図1は、2階調の量子化の処理を行うプログラムの一例について説明する図である。図1(a)は、このプログラムを使用する印刷システム10の構成の一例を示す。本例において、印刷システム10は、画像処理装置12及び印刷装置14を備える。   FIG. 1 is a diagram illustrating an example of a program that performs two-tone quantization processing. FIG. 1A shows an example of the configuration of a printing system 10 that uses this program. In this example, the printing system 10 includes an image processing device 12 and a printing device 14.

画像処理装置12は、例えばRIP(Raster Image Processor)処理等の画像形成処理を行う装置である。画像処理装置12は、印刷データが示す原画像を展開することにより、印刷装置14が解釈可能な形式により画像を示す印刷可能データを形成する。   The image processing apparatus 12 is an apparatus that performs image forming processing such as RIP (Raster Image Processor) processing. The image processing device 12 develops the original image indicated by the print data, thereby forming printable data indicating the image in a format interpretable by the printing device 14.

また、本例において、画像処理装置12は、この画像形成処理において、少なくとも、原画像中の各画素の色の濃度を示す濃度値の量子化を行う。また、この場合、画像処理装置12は、印刷装置14で使用される各プロセスカラー毎に量子化を行う。これにより、画像処理装置12は、印刷データに基づき、各プロセスカラーに対応するハーフトーン画像を形成する。   In this example, the image processing apparatus 12 quantizes at least a density value indicating the color density of each pixel in the original image in the image forming process. In this case, the image processing apparatus 12 performs quantization for each process color used in the printing apparatus 14. Accordingly, the image processing apparatus 12 forms a halftone image corresponding to each process color based on the print data.

尚、画像処理装置12は、例えば印刷装置14を制御するホストPCであり、所定のプログラムに従って、画像処理装置として動作する。画像処理装置12は、印刷データを、例えば他のPCから受け取ってよい。また、印刷データは、ユーザにより、画像処理装置12上で作成されてもよい。   The image processing apparatus 12 is a host PC that controls the printing apparatus 14, for example, and operates as an image processing apparatus in accordance with a predetermined program. The image processing apparatus 12 may receive print data from another PC, for example. The print data may be created on the image processing apparatus 12 by the user.

印刷装置14は、例えばインクジェットプリンタであり、画像処理装置12から受け取る印刷可能データに従い、画像の印刷を実行する。また、本例において、印刷装置14は、CMYKインクの各色をプロセスカラーとして使用し、カラー印刷を行う。印刷装置14は、更に他の色のインクを用いて印刷を行ってもよい。   The printing device 14 is, for example, an ink jet printer, and executes image printing according to printable data received from the image processing device 12. In this example, the printing apparatus 14 performs color printing using each color of CMYK ink as a process color. The printing apparatus 14 may further perform printing using other colors of ink.

図1(b)は、画像処理装置12が行う量子化の処理の概要を示す図である。画像処理装置12は、プロセスカラー毎に、原画像に対する量子化により、ハーフトーン画像である擬似中間調画像を形成する。この量子化は、原画像の各座標における濃度値In(x,y)を、擬似中間調画像の同じ座標における量子化値out(x,y)に変換する処理である。   FIG. 1B is a diagram illustrating an outline of quantization processing performed by the image processing apparatus 12. The image processing device 12 forms a pseudo halftone image that is a halftone image by quantizing the original image for each process color. This quantization is a process of converting the density value In (x, y) at each coordinate of the original image into a quantized value out (x, y) at the same coordinate of the pseudo halftone image.

本例において、画像処理装置12は、この量子化を、ディザマトリクスノイズD(i,j)、及び累積誤差E(x,y)の両方を用いる方法(ハイブリッド誤差拡散処理)により行う。また、画像処理装置12は、ディザマトリクスノイズD(i,j)、及び累積誤差E(x,y)に関連するパラメータとして、それぞれ0以上1以下(0%〜100%)の範囲の値に設定されるノイズ使用率Rn、及び誤差使用率Reを更に用いる。   In this example, the image processing apparatus 12 performs this quantization by a method (hybrid error diffusion processing) that uses both dither matrix noise D (i, j) and cumulative error E (x, y). Further, the image processing device 12 sets the parameters related to the dither matrix noise D (i, j) and the accumulated error E (x, y) to values in the range of 0 to 1 (0% to 100%), respectively. The set noise usage rate Rn and error usage rate Re are further used.

ノイズ使用率Rnは、ディザマトリクスノイズD(i,j)を量子化の処理に影響させる度合いを示すパラメータであり、量子化を行う画素の濃度値In(x,y)に応じて算出される。画像処理装置12は、ディザマトリクスノイズD(i,j)をそのまま用いるのではなく、ディザマトリクスノイズD(i,j)とノイズ使用率Rnとの積を用いて量子化を行う。これにより、画像処理装置12は、各画素に対応するノイズ使用率Rnに応じて、ディザマトリクスノイズD(i,j)を使用する。   The noise usage rate Rn is a parameter indicating the degree of influence of the dither matrix noise D (i, j) on the quantization process, and is calculated according to the density value In (x, y) of the pixel to be quantized. . The image processing device 12 does not use the dither matrix noise D (i, j) as it is, but performs quantization using the product of the dither matrix noise D (i, j) and the noise usage rate Rn. Thereby, the image processing apparatus 12 uses the dither matrix noise D (i, j) according to the noise usage rate Rn corresponding to each pixel.

また、誤差使用率Reは、累積誤差E(x,y)を量子化の処理に影響させる度合いを示すパラメータであり、量子化を行う画素の濃度値In(x,y)に応じて算出される。画像処理装置12は、累積誤差E(x,y)をそのまま用いるのではなく、累積誤差E(x,y)と誤差使用率Reとの積を用いて、各画素の濃度値In(x,y)に対応する誤差補正済入力値In’(x,y)を算出する。そして、算出した誤差補正済入力値In’(x,y)を用いて、量子化の処理を行う。これにより、画像処理装置12は、各画素に対応する誤差使用率Reに応じて、累積誤差E(x,y)を使用する。尚、量子化の処理については、後に更に詳しく説明する。   The error usage rate Re is a parameter indicating the degree to which the accumulated error E (x, y) affects the quantization process, and is calculated according to the density value In (x, y) of the pixel to be quantized. The The image processing apparatus 12 does not use the accumulated error E (x, y) as it is, but uses the product of the accumulated error E (x, y) and the error usage rate Re, so that the density value In (x, y) of each pixel is used. An error-corrected input value In ′ (x, y) corresponding to y) is calculated. Then, quantization processing is performed using the calculated error-corrected input value In ′ (x, y). Accordingly, the image processing device 12 uses the accumulated error E (x, y) according to the error usage rate Re corresponding to each pixel. The quantization process will be described in detail later.

本例によれば、例えば、誤差拡散処理の空間周波数特性(誤差拡散特性)にディザ処理の空間周波数特性(ディザ特性)の影響を与えることができる。また、これにより、例えば、誤差拡散特性にディザ特性を組み込んだ方法により、量子化を行うことができる。また、この場合、例えば単にディザ処理と誤差拡散処理とを切り替える場合等と異なり、処理の切り替えに伴う境界線が発生すること等を適切に防ぐことができる。   According to this example, for example, the spatial frequency characteristic (dither characteristic) of the dither process can be influenced on the spatial frequency characteristic (error diffusion characteristic) of the error diffusion process. In addition, this enables, for example, quantization to be performed by a method in which a dither characteristic is incorporated into the error diffusion characteristic. Further, in this case, unlike the case of simply switching between dither processing and error diffusion processing, for example, it is possible to appropriately prevent the occurrence of a boundary line due to the switching of processing.

そのため、本例によれば、例えば、それぞれの処理が得意とする部分を適切に活かした量子化の処理を行うことができる。また、これにより、例えば、量子化の処理において生じる印刷に関しての種々の問題点を適切に解消し、より適切な方法で量子化の処理を行うことができる。   Therefore, according to this example, for example, it is possible to perform a quantization process that appropriately utilizes a portion that each process is good at. In addition, for example, various problems relating to printing that occur in the quantization process can be appropriately solved, and the quantization process can be performed by a more appropriate method.

尚、ディザマトリクスノイズD(i,j)は、例えば、予め設定されたディザマトリクスにより指定される値である。ディザマトリクスノイズD(i,j)は、例えば従来のディザ処理において使用されるディザマトリクスノイズと同一又は同様であってよい。ディザマトリクスノイズD(i,j)としては、例えば、ブルーノイズ特性のノイズを用いることが好ましい。また、画像処理装置12は、使用するディザマトリクスを、プロセスカラー毎に変更することが好ましい。   The dither matrix noise D (i, j) is a value designated by a preset dither matrix, for example. The dither matrix noise D (i, j) may be the same as or similar to the dither matrix noise used in the conventional dither processing, for example. As the dither matrix noise D (i, j), for example, it is preferable to use noise having a blue noise characteristic. The image processing apparatus 12 preferably changes the dither matrix to be used for each process color.

累積誤差E(x,y)は、周辺の画素に対する量子化において生じる誤差である量子化誤差Q(x,y)を累積した値であり、予め設定された拡散フィルタ(拡散マトリクス)を用いて算出される。また、算出された累積誤差E(x,y)は、例えば誤差バッファに格納される。画像処理装置12は、累積誤差E(x,y)を、例えば従来の誤差拡散処理で使用される累積誤差と同一又は同様の方法により算出する。   The accumulated error E (x, y) is a value obtained by accumulating the quantization error Q (x, y), which is an error generated in the quantization of the surrounding pixels, and uses a preset diffusion filter (diffusion matrix). Calculated. Further, the calculated accumulated error E (x, y) is stored in, for example, an error buffer. The image processing apparatus 12 calculates the accumulated error E (x, y) by the same or similar method as the accumulated error used in the conventional error diffusion process, for example.

図2は、量子化を行う動作の一例を示すフローチャートである。画像処理装置12は、以下の処理を例えば、プロセスカラー毎に行う。   FIG. 2 is a flowchart illustrating an example of an operation for performing quantization. The image processing apparatus 12 performs the following processing for each process color, for example.

量子化を行う動作において、本例の画像処理装置12は、先ず、原画像から、量子化を行うべき画素を選択する(画素選択処理S102)。そして、選択される画素の濃度値In(x,y)に応じて、その画素に対応するノイズ使用率Rn、及び誤差使用率Reを算出する。これにより、画像処理装置12は、その画素の量子化に使用するノイズ使用率Rn、及び誤差使用率Reを決定する(使用率決定処理S104)。   In the operation of performing quantization, the image processing apparatus 12 of this example first selects a pixel to be quantized from the original image (pixel selection processing S102). Then, according to the density value In (x, y) of the selected pixel, a noise usage rate Rn and an error usage rate Re corresponding to the pixel are calculated. As a result, the image processing apparatus 12 determines the noise usage rate Rn and the error usage rate Re used for quantization of the pixel (usage rate determination processing S104).

続いて、画像処理装置12は、累積誤差E(x,y)による補正を行った後の濃度値である誤差補正済入力値In’(x,y)を算出する(誤差補正済入力値算出処理S106)。この処理において、画像処理装置12は、例えば、画素選択処理S102で選択された画素に対応する誤差使用率Reと、累積誤差E(x,y)との積を、その画素の濃度値In(x,y)に加算し、加算後の値を、誤差補正済入力値In’(x,y)として算出する。   Subsequently, the image processing apparatus 12 calculates an error-corrected input value In ′ (x, y) that is a density value after correction by the accumulated error E (x, y) (error-corrected input value calculation). Process S106). In this process, for example, the image processing apparatus 12 calculates the product of the error usage rate Re corresponding to the pixel selected in the pixel selection process S102 and the accumulated error E (x, y), and the density value In ( x, y), and the value after the addition is calculated as an error-corrected input value In ′ (x, y).

また、画像処理装置12は、更に、量子化で使用する閾値として、ディザマトリクスノイズD(i,j)を反映させた閾値であるノイズ補正済閾値Th’を算出する(ノイズ補正済閾値算出処理S108)。この処理において、画像処理装置12は、例えば、画素選択処理S102で選択された画素に対応するノイズ使用率Rnと、ディザマトリクスノイズD(i,j)との積を、予め設定された初期閾値Thに加算し、加算後の値を、ノイズ補正済閾値Th’として算出する。   The image processing apparatus 12 further calculates a noise corrected threshold Th ′ that is a threshold reflecting the dither matrix noise D (i, j) as a threshold used in quantization (noise corrected threshold calculation processing). S108). In this process, for example, the image processing apparatus 12 calculates a product of the noise usage rate Rn corresponding to the pixel selected in the pixel selection process S102 and the dither matrix noise D (i, j) as a preset initial threshold value. The value after addition is calculated as the noise-corrected threshold Th ′.

そして、画像処理装置12は、算出されたノイズ補正済閾値Th’と、誤差補正済入力値In’(x,y)とを比較する。これにより、画像処理装置12は、画素選択処理S102で選択された画素に対する量子化を実行する(量子化実行処理S110)。   Then, the image processing device 12 compares the calculated noise corrected threshold value Th ′ with the error corrected input value In ′ (x, y). As a result, the image processing apparatus 12 performs quantization on the pixel selected in the pixel selection process S102 (quantization execution process S110).

続いて、画像処理装置12は、拡散フィルタに従って、この画素の量子化により生じる量子化誤差Q(x,y)を、周辺の画素に拡散させる(誤差分配処理S112)。これにより、画像処理装置12は、周辺画素の分配先座標に対応した拡散フィルタの値に量子化誤差Q(x,y)を積算し、周辺の画素のそれぞれに対応する累積誤差E(x,y)の値を更新する。   Subsequently, the image processing apparatus 12 diffuses the quantization error Q (x, y) generated by the quantization of the pixels to the peripheral pixels according to the diffusion filter (error distribution process S112). As a result, the image processing apparatus 12 adds the quantization error Q (x, y) to the value of the diffusion filter corresponding to the distribution destination coordinates of the peripheral pixels, and the accumulated error E (x, y) corresponding to each of the peripheral pixels. Update the value of y).

また、誤差分配処理S112の後、画像処理装置12は、量子化を実行した画素が原画像の最終の画素であるか否かを判定する(最終画素判定処理S114)。そして、最終画素であると判定した場合(S114:Yes)、原画像に対する量子化の処理を終了する。また、最終画素ではないと判定した場合(S114:No)、画素選択処理S102へ再度進み、次の画素を選択する。これにより、画像処理装置12は、画素選択処理S102において、量子化を行うべき画素を順次選択する。また、順次選択される画素に対して画素選択処理S102の以降の処理を行うことにより、その画素に対する量子化を実行する。   Further, after the error distribution process S112, the image processing apparatus 12 determines whether or not the pixel on which the quantization has been performed is the final pixel of the original image (final pixel determination process S114). When it is determined that the pixel is the final pixel (S114: Yes), the quantization process for the original image is terminated. If it is determined that the pixel is not the last pixel (S114: No), the process proceeds again to the pixel selection process S102, and the next pixel is selected. Thereby, the image processing apparatus 12 sequentially selects pixels to be quantized in the pixel selection process S102. In addition, by performing the processing subsequent to the pixel selection processing S102 for the sequentially selected pixels, quantization for the pixels is executed.

本例によれば、例えば、誤差使用率Reを乗じた累積誤差E(x,y)を濃度値In(x,y)に加算することにより、誤差拡散特性を影響させる度合いを適切に調節できる。また、ノイズ使用率Rnを乗じたディザマトリクスノイズD(i,j)を初期閾値Thに加算することにより、ディザ特性を影響させる度合いを適切に調節できる。   According to this example, for example, by adding the accumulated error E (x, y) multiplied by the error usage rate Re to the density value In (x, y), the degree of influence of the error diffusion characteristic can be appropriately adjusted. . Further, by adding the dither matrix noise D (i, j) multiplied by the noise usage rate Rn to the initial threshold value Th, the degree of influence of the dither characteristic can be adjusted appropriately.

これにより、例えば、入力値である濃度値In(x,y)に応じて、誤差拡散特性及びディザ特性のそれぞれを影響させる度合いを適切に設定できる。また、誤差拡散処理及びディザ処理のそれぞれが得意とする部分を適切に活かした量子化の処理を行うことができる。以下、量子化を行う動作中の各処理について、更に詳しく説明する。   Thereby, for example, the degree of influence of each of the error diffusion characteristic and the dither characteristic can be appropriately set according to the density value In (x, y) that is the input value. Further, it is possible to perform a quantization process that appropriately utilizes a portion that each of the error diffusion process and the dither process is good at. Hereinafter, each process during the operation of performing quantization will be described in more detail.

図3は、画素選択処理S102について更に詳しく説明する図である。図3(a)は、画素を順次選択する順番の一例を示す。本例の画素選択処理S102において、画像処理装置12は、例えば、画素のラインを順次選択し、選択したライン中の画素を所定の処理方向に沿って、順次選択する。また、画像処理装置12は、更に、この処理方向を、処理するライン毎に切り替える。例えば、画像処理装置12は、奇数ラインにおいては左から右へ、偶数ラインにおいては右から左へ、順次画素を選択する。これにより、画像処理装置12は、量子化の処理を、双方向処理により行う。   FIG. 3 is a diagram for explaining the pixel selection process S102 in more detail. FIG. 3A shows an example of the order in which pixels are sequentially selected. In the pixel selection process S102 of this example, for example, the image processing apparatus 12 sequentially selects pixel lines, and sequentially selects pixels in the selected lines along a predetermined processing direction. Further, the image processing apparatus 12 further switches the processing direction for each line to be processed. For example, the image processing apparatus 12 sequentially selects pixels from left to right in odd lines and from right to left in even lines. As a result, the image processing apparatus 12 performs the quantization process by bidirectional processing.

図3(b)は、双方向処理の効果の一例を示す図であり、処理方向を一定の一方向のみとした単方向処理を行った場合、及び双方向処理を行った場合のそれぞれについて、量子化の結果の一例を示す。双方向処理を行った場合、誤差の拡散方向が一定ではなくなるため、ドットをより適切に分散させることができる。また、その結果、例えば単方向処理により量子化を行う場合と比べ、ワームノイズの発生等をより適切に防ぐことができる。   FIG. 3B is a diagram illustrating an example of the effect of the bidirectional processing. When the unidirectional processing is performed in which the processing direction is only one direction, and when the bidirectional processing is performed, An example of the result of quantization is shown. When bidirectional processing is performed, the error diffusion direction is not constant, so that dots can be more appropriately dispersed. As a result, the generation of worm noise or the like can be more appropriately prevented as compared with the case where quantization is performed by, for example, unidirectional processing.

図4〜6は、使用率決定処理S104について更に詳しく説明する図である。図4は、誤差使用率Re、及びノイズ使用率Rnと、濃度値In(x,y)(以下、入力値Inとする)とを対応付けるグラフ及び計算式の一例を示す。   4 to 6 are diagrams for explaining the usage rate determination process S104 in more detail. FIG. 4 shows an example of a graph and a calculation formula for associating the error usage rate Re and the noise usage rate Rn with the density value In (x, y) (hereinafter referred to as the input value In).

本例において、画像処理装置12は、最小入力値MinInである0以上、かつ最大入力値MaxIn以下の範囲の入力値Inに対して連続的に変化する関数に基づき、誤差使用率Re及びノイズ使用率Rnを算出する。最大入力値MaxIn、及び最小入力値MinInは、例えば、入力値Inとなる濃度値が取り得る範囲の最大値及び最小値である。   In this example, the image processing apparatus 12 uses the error usage rate Re and the noise usage based on a function that continuously changes with respect to the input value In in the range of 0 or more which is the minimum input value MinIn and less than or equal to the maximum input value MaxIn. The rate Rn is calculated. The maximum input value MaxIn and the minimum input value MinIn are, for example, the maximum value and the minimum value in the range that can be taken by the density value that becomes the input value In.

また、この関数において、画像処理装置12は、ハイライト部にある濃度範囲を示す基準として、第3ハイライト基準値の一例であるハイライト側誤差使用率最小濃度値Hesと、第1ハイライト基準値の一例であるハイライト側ノイズ使用率最大濃度値Hnと、第2ハイライト基準値の一例であるハイライト側誤差使用率最大濃度値Heとを用いる。また、シャドウ部にある濃度範囲を示す基準として、第1シャドウ基準値の一例であるシャドウ側誤差使用率最大濃度値Seと、第2シャドウ基準値の一例であるシャドウ側ノイズ使用率最大濃度値Snと、第3シャドウ基準値の一例であるシャドウ側誤差使用率最小濃度値Sesとを用いる。更に、中間調部の中央において初期閾値Thを挟む濃度範囲を示す基準として、ハイライト側ノイズ使用率0%濃度値Hnz、シャドウ側ノイズ使用率0%濃度値Snz、第1中間調基準値C1、及び第2中間調基準値C2を用いる。   In this function, the image processing apparatus 12 uses the highlight-side error usage minimum density value Hes, which is an example of the third highlight reference value, as the reference indicating the density range in the highlight portion, and the first highlight. A highlight side noise usage maximum density value Hn, which is an example of a reference value, and a highlight side error usage ratio maximum density value He, which is an example of a second highlight reference value, are used. In addition, as a reference indicating the density range in the shadow portion, the shadow-side error usage maximum density value Se that is an example of the first shadow reference value and the shadow-side noise usage maximum maximum density value that is an example of the second shadow reference value. Sn and the shadow-side error usage minimum density value Ses, which is an example of the third shadow reference value, are used. Further, as a reference indicating the density range sandwiching the initial threshold Th at the center of the halftone portion, the highlight side noise usage rate 0% density value Hnz, the shadow side noise usage rate 0% density value Snz, and the first halftone reference value C1 , And the second halftone reference value 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となるように設定される。   These parameters are set so that at least Hes ≦ Hn <He <Se <Sn ≦ Ses and Hn <Hnz <Snz <Sn. In this example, these parameters are 0 (MinIn) <Hes ≦ Hn <He <C1 <Hnz <Th <Snz <C2 <Se <Sn ≦ Ses <MaxIn, according to the magnitude relationship shown in the graph. Is set as follows.

そして、使用率決定処理S104において、画像処理装置12は、グラフの下に示した計算式に従い、誤差使用率Re、及びノイズ使用率Rnを決定する。但し、この数式により算出されるノイズ使用率Rnが、所定の最低ノイズ使用率RnMinより小さくなる場合、画像処理装置12は、ノイズ使用率Rnを、最低ノイズ使用率RnMinに設定する。これにより、画像処理装置12は、画素の濃度値がいずれの場合にも、ノイズ使用率Rnを、最低ノイズ使用率RnMin以上の値に設定する。   In the usage rate determination process S104, the image processing apparatus 12 determines the error usage rate Re and the noise usage rate Rn according to the calculation formula shown below the graph. However, when the noise usage rate Rn calculated by this mathematical formula is smaller than the predetermined minimum noise usage rate RnMin, the image processing apparatus 12 sets the noise usage rate Rn to the minimum noise usage rate RnMin. Accordingly, the image processing apparatus 12 sets the noise usage rate Rn to a value equal to or higher than the minimum noise usage rate RnMin regardless of the density value of the pixel.

尚、誤差使用率Re、及びノイズ使用率Rnは、0〜100%(値0〜1)の範囲内の値に設定される。グラフの下に示した計算式において、100%以上となる場合には、100%に設定される。また、0%以下となる場合には、0%に設定される。   The error usage rate Re and the noise usage rate Rn are set to values within the range of 0 to 100% (values 0 to 1). In the calculation formula shown below the graph, when it is 100% or more, it is set to 100%. If it is 0% or less, it is set to 0%.

また、最低ノイズ使用率RnMinは、例えばパラメータ設定時の調整時等に、0より大きな値に予め設定される。最低ノイズ使用率RnMinは、例えば0.1(10%)以上の値とすることが考えられる。例えば、最低ノイズ使用率RnMinは、例えば0.1〜0.2(10〜20%)とすることが好ましい。また、グラフから分かるように、入力値Inが第1中間調基準値C1、又は第2中間調基準値C2と等しい場合に、計算式で算出されるノイズ使用率Rnは、最低ノイズ使用率RnMinと等しくなる。   Further, the minimum noise usage rate RnMin is preset to a value larger than 0, for example, at the time of adjustment at the time of parameter setting. The minimum noise usage rate RnMin may be set to a value of 0.1 (10%) or more, for example. For example, the minimum noise usage rate RnMin is preferably 0.1 to 0.2 (10 to 20%), for example. As can be seen from the graph, when the input value In is equal to the first halftone reference value C1 or the second halftone reference value C2, the noise usage rate Rn calculated by the calculation formula is the minimum noise usage rate RnMin. Is equal to

以上の方法により、例えば、入力値Inが、ハイライト側誤差使用率最大濃度値He以上、かつシャドウ側誤差使用率最大濃度値Se以下の場合、画像処理装置12は、誤差使用率Reを、1(100%)に設定する。また、例えば、入力値Inがハイライト側誤差使用率最小濃度値Hes以下の場合、誤差使用率Reを0に設定する。入力値Inが、ハイライト側誤差使用率最小濃度値Hes以上、かつハイライト側誤差使用率最大濃度値He以下の場合、誤差使用率Reを、(In−Hes)/(He−Hes)で計算される値に設定する。これにより、例えば、入力値Inがハイライト側誤差使用率最大濃度値He以下の場合、誤差使用率Reを、0以上1(100%)以下の値であり、ハイライト側誤差使用率最大濃度値Heと入力値Inとの差に応じて1から漸減させた値に設定する。   With the above method, for example, when the input value In is equal to or higher than the highlight-side error usage rate maximum density value He and equal to or lower than the shadow-side error usage rate maximum density value Se, the image processing apparatus 12 sets the error usage rate Re to Set to 1 (100%). Further, for example, when the input value In is equal to or less than the highlight-side error usage rate minimum density value Hes, the error usage rate Re is set to zero. When the input value In is not less than the highlight side error usage rate minimum density value Hes and not more than the highlight side error usage rate maximum density value He, the error usage rate Re is (In-Hes) / (He-Hes). Set to the calculated value. Thus, for example, when the input value In is less than or equal to the highlight side error usage rate maximum density value He, the error usage rate Re is a value between 0 and 1 (100%), and the highlight side error usage rate maximum density. It is set to a value gradually decreased from 1 according to the difference between the value He and the input value In.

また、例えば、入力値Inが、シャドウ側誤差使用率最大濃度値Se以上、かつシャドウ側誤差使用率最小濃度値Ses以下の場合、誤差使用率Reを、(Ses−In)/(Ses−Se)で計算される値に設定する。入力値Inがシャドウ側誤差使用率最小濃度値Ses以上の場合、誤差使用率Reを0に設定する。これにより、例えば、入力値Inが、シャドウ側誤差使用率最大濃度値Se以上の場合、誤差使用率Reを、0以上1(100%)以下の値であり、入力値Inとシャドウ側誤差使用率最大濃度値Seとの差に応じて1から漸減させた値に設定する。   For example, when the input value In is not less than the shadow-side error use rate maximum density value Se and not more than the shadow-side error use rate minimum density value Ses, the error use rate Re is set to (Ses-In) / (Ses-Se). ) To be calculated. When the input value In is greater than or equal to the shadow side error use rate minimum density value Ses, the error use rate Re is set to zero. Thus, for example, when the input value In is equal to or greater than the shadow-side error usage rate maximum density value Se, the error usage rate Re is a value between 0 and 1 (100%), and the input value In and the shadow-side error usage are It is set to a value gradually decreased from 1 in accordance with the difference from the maximum rate density value Se.

この場合、ハイライト部から中間調部にかけての誤差使用率Reは、入力値Inに対し、例えば、ハイライト側誤差使用率最小濃度値Hesから徐々に増加し、ハイライト側誤差使用率最大濃度値Heにおいて最大値となる。また、シャドウ部から中間調部にかけての誤差使用率Reは、入力値Inに対し、シャドウ側誤差使用率最大濃度値Seから徐々に減少し、シャドウ側誤差使用率最小濃度値Sesにおいて最小値となる。   In this case, the error usage rate Re from the highlight portion to the halftone portion gradually increases from the highlight side error usage rate minimum density value Hes with respect to the input value In, for example, and the highlight side error usage rate maximum density. The value He is the maximum value. Further, the error usage rate Re from the shadow portion to the halftone portion gradually decreases from the shadow side error usage rate maximum density value Se with respect to the input value In, and becomes the minimum value in the shadow side error usage rate minimum density value Ses. Become.

これにより、画像処理装置12は、例えば、入力値Inがハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の誤差使用率Reを、中間調部に相当する濃度値である場合の誤差使用率Reよりも小さな値に設定する。また、この場合、誤差使用率Reは、例えば、濃度範囲の両端では値が0(0%)であり、ディザ処理に特有のテクスチャが発生する濃度範囲であるテクスチャ発生部Hd、Sdの手前で値1(100%)となるように変化する。このように構成すれば、例えば、誤差使用率Reを中間調で主に使用する構成を適切に実現できる。   Thereby, for example, the image processing apparatus 12 uses the error usage rate Re when the input value In is a density value corresponding to either the highlight part or the shadow part as the density value corresponding to the halftone part. Is set to a value smaller than the error usage rate Re. In this case, for example, the error usage rate Re has a value of 0 (0%) at both ends of the density range, and is in front of the texture generation units Hd and Sd, which are density ranges in which a texture peculiar to dither processing is generated. It changes so that it may become value 1 (100%). If comprised in this way, the structure which mainly uses the error usage rate Re by a halftone can be implement | achieved appropriately, for example.

また、例えば、入力値Inが、ハイライト側ノイズ使用率最大濃度値Hn以下の場合、又はシャドウ側ノイズ使用率最大濃度値Sn以上の場合、画像処理装置12は、ノイズ使用率Rnを、1(100%)に設定する。また、入力値Inが、第1中間調基準値C1以上、かつ第2中間調基準値C2以下の場合、ノイズ使用率Rnを、最低ノイズ使用率RnMinに設定する。   For example, when the input value In is less than or equal to the highlight side noise usage rate maximum density value Hn, or when the input value In is greater than or equal to the shadow side noise usage rate maximum density value Sn, the image processing apparatus 12 sets the noise usage rate Rn to 1 Set to (100%). When the input value In is equal to or higher than the first halftone reference value C1 and equal to or lower than the second halftone reference value C2, the noise usage rate Rn is set to the lowest noise usage rate RnMin.

また、例えば、入力値Inがハイライト側ノイズ使用率最大濃度値Hn以上、かつ第1中間調基準値C1以下の場合、画像処理装置12は、ノイズ使用率Rnを、最低ノイズ使用率RnMin以上、かつ1(100%)以下の値であり、入力値Inとハイライト側ノイズ使用率最大濃度値Hnとの差に応じて1から漸減させた値に設定する。更に、例えば、入力値Inが、第2中間調基準値C2以上、かつシャドウ側ノイズ使用率最大濃度値Sn以下の場合、画像処理装置12は、ノイズ使用率Rnを、最低ノイズ使用率RnMin以上、かつ1(100%)以下の値であり、入力値Inと第2中間調基準値C2との差に応じて最低ノイズ使用率RnMinから漸増させた値に設定する。   For example, when the input value In is not less than the highlight side noise use rate maximum density value Hn and not more than the first halftone reference value C1, the image processing apparatus 12 sets the noise use rate Rn to be not less than the minimum noise use rate RnMin. In addition, the value is 1 (100%) or less, and is set to a value that is gradually decreased from 1 in accordance with the difference between the input value In and the highlight side noise use rate maximum density value Hn. Further, for example, when the input value In is equal to or greater than the second halftone reference value C2 and equal to or less than the shadow side noise usage rate maximum density value Sn, the image processing apparatus 12 sets the noise usage rate Rn to be equal to or greater than the minimum noise usage rate RnMin. And a value of 1 (100%) or less, and is set to a value that is gradually increased from the minimum noise usage rate RnMin according to the difference between the input value In and the second halftone reference value C2.

これにより、画像処理装置12は、例えば、入力値Inがハイライト部又はシャドウ部のいずれかに相当する濃度値である場合のノイズ使用率Rnを、中間調部に相当する濃度値である場合のノイズ使用率Rnよりも大きな値に設定する。また、この場合、ノイズ使用率Rnは、例えば、ハイライト部及びシャドウ部での値が1(100%)であり、中間調になるにつれて徐々に値が下がるように変化する。   Thereby, for example, the image processing apparatus 12 uses the noise usage rate Rn when the input value In is a density value corresponding to either the highlight part or the shadow part as the density value corresponding to the halftone part. The noise usage rate Rn is set to a larger value. In this case, for example, the noise usage rate Rn has a value of 1 (100%) in the highlight portion and the shadow portion, and changes so that the value gradually decreases as it becomes a halftone.

本例によれば、例えば、誤差拡散特性の影響が強いとドット遅延が発生しやすいハイライト部及びシャドウ部において、ノイズ使用率Rnを高くし、誤差使用率Reを低くすることとなる。これにより、例えば、ハイライト部及びシャドウ部において、ドットを分散して配置できるディザ特性の影響が大きくなるため、ドット遅延の発生を適切に抑えることができる。   According to this example, for example, the noise usage rate Rn is increased and the error usage rate Re is decreased in a highlight portion and a shadow portion where dot delay is likely to occur when the influence of the error diffusion characteristic is strong. Thereby, for example, in the highlight portion and the shadow portion, the influence of the dither characteristics that can disperse and arrange the dots becomes large, so that the occurrence of dot delay can be appropriately suppressed.

また、誤差拡散特性の影響を大きくして中間調部での量子化の処理を行うことにより、例えば、より自然な擬似階調を得ることができる。また、例えば、テクスチャ発生部となる濃度範囲において、ノイズ使用率Rnを低く、誤差使用率Reを高くすることにより、ドットの配置に変化を与えることができる。また、これにより、例えば、テクスチャの発生を適切に抑えることができる。   Also, by increasing the influence of the error diffusion characteristic and performing the quantization process in the halftone part, for example, a more natural pseudo gradation can be obtained. Further, for example, in the density range that becomes the texture generation unit, the dot usage can be changed by lowering the noise usage rate Rn and increasing the error usage rate Re. Thereby, for example, generation of texture can be appropriately suppressed.

更には、例えば、最低ノイズ使用率RnMinを設け、ノイズ使用率Rnが0にならないようにすることにより、例えば、中間調部において、僅かにディザ特性の影響を与えつつ、誤差拡散特性の影響を大きくできる。また、これにより、例えば、パタンノイズを適切に抑制できる。   Further, for example, by providing the minimum noise usage rate RnMin so that the noise usage rate Rn does not become 0, for example, in the halftone part, the influence of the error diffusion characteristic is slightly affected while slightly affecting the dither characteristic. Can be big. Thereby, for example, pattern noise can be appropriately suppressed.

また、例えば、誤差使用率Re、及びノイズ使用率Rnを算出する計算式に従ってディザ特性の影響の大きさと、誤差拡散特性の影響の大きさを徐々に変化させることにより、ディザ特性が支配的な領域と、誤差拡散特性が支配的な領域との切り替え部分で境界線が発生することを適切に抑えることができる。また、これにより、量子化の処理の方法の切り替えを滑らかに行うことができる。   Further, for example, the dither characteristic is dominant by gradually changing the magnitude of the influence of the dither characteristic and the magnitude of the influence of the error diffusion characteristic according to the calculation formulas for calculating the error usage rate Re and the noise usage rate Rn. It is possible to appropriately suppress the occurrence of the boundary line at the switching portion between the region and the region where the error diffusion characteristic is dominant. In addition, this enables smooth switching of the quantization processing method.

従って、本例によれば、例えば、画素の濃度値に応じて、誤差使用率Re、及びノイズ使用率Rnのそれぞれを適切に設定できる。また、これにより、誤差拡散処理及びディザ処理のそれぞれの処理が得意とする部分をより適切に活かした量子化の処理を適切に行うことができる。   Therefore, according to this example, each of the error usage rate Re and the noise usage rate Rn can be appropriately set according to, for example, the density value of the pixel. This also makes it possible to appropriately perform a quantization process that makes better use of the parts that the error diffusion process and the dither process are good at.

続いて、誤差使用率Re、及びノイズ使用率Rnを算出する処理について、更に詳しく説明する。図5は、誤差使用率Reを算出する処理の一例を示すフローチャートである。   Next, the process of calculating the error usage rate Re and the noise usage rate Rn will be described in more detail. FIG. 5 is a flowchart illustrating an example of processing for calculating the error usage rate Re.

誤差使用率Reの算出において、画像処理装置12は、先ず、入力値Inがハイライト側誤差使用率最大濃度値He以上、かつシャドウ側誤差使用率最大濃度値Se以下の範囲にあるか否かを判定する(S202)。そして、この範囲にあると判定した場合(S202:Yes)、誤差使用率Reを、最大使用率である1(100%)に設定する(S204)。   In calculating the error usage rate Re, the image processing apparatus 12 first determines whether or not the input value In is in a range not less than the highlight side error usage rate maximum density value He and not more than the shadow side error usage rate maximum density value Se. Is determined (S202). And when it determines with it being in this range (S202: Yes), the error usage rate Re is set to 1 (100%) which is the maximum usage rate (S204).

また、この範囲にないと判定した場合(S202:No)、更に、入力値Inについて、ハイライト側誤差使用率最小濃度値Hesよりも大きく、かつハイライト側誤差使用率最大濃度値Heよりも小さい範囲にあるか否かを判定する(S206)。そして、この範囲にあると判定した場合(S206:Yes)、誤差使用率Reを、Re=(In−Hes)/(He−Hes)で計算される値に設定する(S208)。   Further, when it is determined that it is not within this range (S202: No), the input value In is larger than the highlight side error usage rate minimum density value Hes and is higher than the highlight side error usage rate maximum density value He. It is determined whether it is in a small range (S206). And when it determines with it being in this range (S206: Yes), the error usage rate Re is set to the value calculated by Re = (In-Hes) / (He-Hes) (S208).

また、S206において、入力値Inが範囲内にないと判定した場合(S206:No)、画像処理装置12は、更に、入力値Inについて、シャドウ側誤差使用率最大濃度値Seよりも大きく、かつシャドウ側誤差使用率最小濃度値Sesよりも小さい範囲にあるか否かを判定する(S210)。そして、この範囲にあると判定した場合(S210:Yes)、誤差使用率Reを、Re=(Ses−In)/(Ses−Se)で計算される値に設定する(S212)。また、S210において、入力値Inが範囲内にないと判定した場合(S210:No)、画像処理装置12は、誤差使用率Reを、0(0%)に設定する(S214)。   If it is determined in S206 that the input value In is not within the range (S206: No), the image processing apparatus 12 further determines that the input value In is greater than the shadow-side error usage maximum density value Se, and It is determined whether or not it is in a range smaller than the shadow-side error usage rate minimum density value Ses (S210). And when it determines with it being in this range (S210: Yes), the error usage rate Re is set to the value calculated by Re = (Ses-In) / (Ses-Se) (S212). If it is determined in S210 that the input value In is not within the range (S210: No), the image processing apparatus 12 sets the error usage rate Re to 0 (0%) (S214).

そして、画像処理装置12は、S204、S208、S212、又はS214のいずれかで設定した誤差使用率Reを、入力値Inに対応する誤差使用率Reとして採用する(S216)。本例によれば、誤差使用率Reを適切に算出できる。   Then, the image processing apparatus 12 employs the error usage rate Re set in any of S204, S208, S212, or S214 as the error usage rate Re corresponding to the input value In (S216). According to this example, the error usage rate Re can be calculated appropriately.

図6は、ノイズ使用率Rnを算出する処理の一例を示すフローチャートである。ノイズ使用率Rnの算出において、画像処理装置12は、先ず、入力値Inが、ハイライト側ノイズ使用率最大濃度値Hnより大きく、かつハイライト側ノイズ使用率0%濃度値Hnzより小さい範囲にあるか否かを判定する(S302)。そして、この範囲にあると判定した場合(S302:Yes)、ノイズ使用率Rnを、Rn=(Hnz−In)/(Hnz−Hn)で計算される値に設定する(S304)。   FIG. 6 is a flowchart illustrating an example of processing for calculating the noise usage rate Rn. In calculating the noise usage rate Rn, the image processing apparatus 12 first sets the input value In to a range that is larger than the highlight side noise usage rate maximum density value Hn and smaller than the highlight side noise usage rate 0% density value Hnz. It is determined whether or not there is (S302). And when it determines with it being in this range (S302: Yes), the noise usage rate Rn is set to the value calculated by Rn = (Hnz-In) / (Hnz-Hn) (S304).

また、この範囲にないと判定した場合(S302:No)、更に、入力値Inが、シャドウ側ノイズ使用率0%濃度値Snzより大きく、かつシャドウ側ノイズ使用率最大濃度値Snより小さい範囲にあるか否かを判定する(S306)。そして、この範囲にあると判定した場合(S306:Yes)、ノイズ使用率Rnを、Rn=(In−Snz)/(Sn−Snz)で計算される値に設定する(S308)。   Further, when it is determined that it is not within this range (S302: No), the input value In is further larger than the shadow side noise usage rate 0% density value Snz and smaller than the shadow side noise usage rate maximum density value Sn. It is determined whether or not there is (S306). And when it determines with it being in this range (S306: Yes), the noise usage rate Rn is set to the value calculated by Rn = (In-Snz) / (Sn-Snz) (S308).

そして、S304又はS308においてノイズ使用率Rnを計算値に設定した後、最小の使用率である最低ノイズ使用率RnMinよりも設定したノイズ使用率Rnが大きいか否かを判定する(S310)。そして、ノイズ使用率Rnが最低ノイズ使用率RnMin以下である場合(S310:No)、ノイズ使用率Rnの値を、最低ノイズ使用率RnMinに変更し(S312)S316へ進む。また、ノイズ使用率Rnが最低ノイズ使用率RnMinより大きい場合(S310:Yes)、ノイズ使用率Rnの値の変更を行うことなく、S316へ進む。   Then, after setting the noise usage rate Rn to the calculated value in S304 or S308, it is determined whether or not the set noise usage rate Rn is larger than the minimum noise usage rate RnMin which is the minimum usage rate (S310). If the noise usage rate Rn is equal to or lower than the lowest noise usage rate RnMin (S310: No), the value of the noise usage rate Rn is changed to the lowest noise usage rate RnMin (S312), and the process proceeds to S316. When the noise usage rate Rn is greater than the minimum noise usage rate RnMin (S310: Yes), the process proceeds to S316 without changing the value of the noise usage rate Rn.

また、S306において、入力値Inが上記の範囲にないと判定した場合(S306:No)、画像処理装置12は、ノイズ使用率Rnを、最大の使用率である1(100%)に設定する(S314)。そして、画像処理装置12は、S304、S308、S312、又はS314のいずれかで設定したノイズ使用率Rnを、入力値Inに対応するノイズ使用率Rnとして採用する(S316)。本例によれば、ノイズ使用率Rnを適切に算出できる。   If it is determined in S306 that the input value In is not within the above range (S306: No), the image processing apparatus 12 sets the noise usage rate Rn to 1 (100%) which is the maximum usage rate. (S314). Then, the image processing apparatus 12 employs the noise usage rate Rn set in any of S304, S308, S312 or S314 as the noise usage rate Rn corresponding to the input value In (S316). According to this example, the noise usage rate Rn can be calculated appropriately.

図7は、量子化実行処理S110の動作の一例を示すフローチャートである。本例の量子化実行処理S110において、画像処理装置12は、先ず、入力値Inと最大入力値MaxInとが等しいか否かを判定する(最大値判定処理S402)。そして、等しいと判定した場合(S402:Yes)、量子化の結果を示す出力値を、1に設定する(S404)。この値1は、入力値Inが閾値Thよりも大きい場合に出力されるべき値の一例である。また、この出力値の設定と共に、後の誤差分配処理S112で使用する誤差値を、誤差補正済入力値In’と最大入力値MaxInの差であるIn’−MaxInに設定する。   FIG. 7 is a flowchart illustrating an example of the operation of the quantization execution process S110. In the quantization execution process S110 of this example, the image processing apparatus 12 first determines whether or not the input value In and the maximum input value MaxIn are equal (maximum value determination process S402). If it is determined that they are equal (S402: Yes), the output value indicating the quantization result is set to 1 (S404). This value 1 is an example of a value to be output when the input value In is larger than the threshold value Th. In addition to setting the output value, the error value used in the subsequent error distribution process S112 is set to In'-MaxIn, which is the difference between the error-corrected input value In 'and the maximum input value MaxIn.

また、S402において、入力値Inと最大入力値MaxInとが等しくないと判定した場合(S402:No)、画像処理装置12は、更に、入力値Inと最小入力値MinInとが等しいか否かを判定する(最小値判定処理S406)。そして、等しいと判定した場合(S406:Yes)、出力値を、0に設定する(S408)。この値0は、入力値Inが閾値Thよりも小さい場合に出力されるべき値の一例である。また、この出力値の設定と共に、誤差値を、誤差補正済入力値In’に設定する。   When it is determined in S402 that the input value In and the maximum input value MaxIn are not equal (S402: No), the image processing apparatus 12 further determines whether or not the input value In and the minimum input value MinIn are equal. Determination (minimum value determination processing S406). If it is determined that they are equal (S406: Yes), the output value is set to 0 (S408). This value 0 is an example of a value to be output when the input value In is smaller than the threshold value Th. In addition to setting the output value, the error value is set to the error-corrected input value In ′.

また、S406において、入力値Inと最小入力値MinInとが等しくないと判定した場合(S406:No)、画像処理装置12は、誤差補正済入力値In’がノイズ補正済閾値Th’よりも大きいか否かを判定する(S410)。そして、大きいと判定した場合(S410:Yes)、出力値を1に、誤差値を、In’−MaxInにそれぞれ設定する(S412)。また、S410において、誤差補正済入力値In’がノイズ補正済閾値Th’以下であると判定した場合(S410:No)、出力値を0に、誤差値をIn’にそれぞれ設定する(S414)。   If it is determined in S406 that the input value In and the minimum input value MinIn are not equal (S406: No), the image processing apparatus 12 has the error-corrected input value In ′ larger than the noise-corrected threshold value Th ′. It is determined whether or not (S410). If it is determined that the value is large (S410: Yes), the output value is set to 1 and the error value is set to In'-MaxIn (S412). If it is determined in S410 that the error-corrected input value In ′ is equal to or less than the noise-corrected threshold Th ′ (S410: No), the output value is set to 0 and the error value is set to In ′ (S414). .

そして、画像処理装置12は、量子化実行処理S110の結果となる量子化値及び誤差値として、S404、S408、S412、又はS414で設定した出力値及び誤差値を取得する(量子化値取得処理S416)。また、取得した誤差値を、後の誤差分配処理S112へ受け渡す。本例によれば、例えば、出力値及び誤差値を、容易かつ適切に設定できる。   Then, the image processing apparatus 12 acquires the output value and error value set in S404, S408, S412, or S414 as the quantized value and error value resulting from the quantization execution process S110 (quantized value acquisition process). S416). Further, the acquired error value is transferred to a subsequent error distribution process S112. According to this example, for example, the output value and the error value can be easily and appropriately set.

図8及び図9は、誤差分配処理S112について更に詳しく説明する図である。図8は、本例において使用する拡散フィルタの一例を示す。図8(a)は、双方向処理の各方向で用いる拡散フィルタの一例を示す。   8 and 9 are diagrams for explaining the error distribution processing S112 in more detail. FIG. 8 shows an example of the diffusion filter used in this example. FIG. 8A shows an example of a diffusion filter used in each direction of bidirectional processing.

本例において、拡散フィルタは、例えば、Jarvis,Judice&Ninkeのマトリクスである。また、双方向処理の各方向である主走査方向及び逆主走査方向のそれぞれについて、図示の各フィルタを使用する。また、図示したフィルタにおいて、記号*が記入されている位置は、入力値Inの座標[0,0](原点)である。また、各マトリクス内の数値は、周辺の画素に誤差を分配する際の分配比率である。   In this example, the diffusion filter is, for example, a matrix of Jarvis, Judice & Ninke. Also, the illustrated filters are used for each of the main scanning direction and the reverse main scanning direction, which are the directions of bidirectional processing. In the illustrated filter, the position where the symbol * is entered is the coordinates [0, 0] (origin) of the input value In. The numerical value in each matrix is a distribution ratio when an error is distributed to surrounding pixels.

図8(b)は、誤差の分配の仕方の一例を示す。周辺の画素に誤差を分配する処理において、誤差の分配先の座標が画像幅から外れている場合、画像処理装置12は、分配先の座標を、次のラインの先頭の座標に変更する。また、反対側の座標が範囲外となっている場合も、同様の処理を行う。また、分配先のラインが存在しない場合、画像処理装置12は、誤差を分配しない。また、分配先の座標が処理済みの画素である場合も、誤差を分配しない。   FIG. 8B shows an example of how to distribute errors. In the process of distributing an error to surrounding pixels, when the error distribution destination coordinates are out of the image width, the image processing apparatus 12 changes the distribution destination coordinates to the first coordinates of the next line. The same processing is performed when the opposite coordinate is out of range. Further, when there is no distribution destination line, the image processing apparatus 12 does not distribute the error. Also, no error is distributed when the coordinates of the distribution destination are processed pixels.

図9は、誤差分配処理S112の動作の一例を示すフローチャートである。誤差分配処理S112において、画像処理装置12は、フローチャート中のステップS502とS526との間で、Y座標を順次変化させるループを実行する。このループにおいて、画像処理装置12は、0から拡散マトリクス高さまでの間で、Yの値を1ずつ増加させる。拡散マトリクス高さとは、例えば、拡散フィルタとして用いるマトリクスの行数である。   FIG. 9 is a flowchart showing an example of the operation of the error distribution process S112. In the error distribution process S112, the image processing apparatus 12 executes a loop for sequentially changing the Y coordinate between steps S502 and S526 in the flowchart. In this loop, the image processing apparatus 12 increases the value of Y by 1 between 0 and the diffusion matrix height. The diffusion matrix height is, for example, the number of matrix rows used as a diffusion filter.

また、ステップS504とS524との間で、X座標を順次変化させるループを実行する。このループにおいて、画像処理装置12は、0から拡散マトリクス幅までの間で、Xの値を1ずつ増加させる。拡散マトリクス幅とは、例えば、拡散フィルタとして用いるマトリクスの列数である。   Further, a loop for sequentially changing the X coordinate is executed between steps S504 and S524. In this loop, the image processing apparatus 12 increases the value of X by 1 between 0 and the diffusion matrix width. The diffusion matrix width is, for example, the number of matrix columns used as a diffusion filter.

そして、これらのループの中で、画像処理装置12は、先ず、フローチャート内に示したように、分配先の座標(X’、Y’)を設定する。また、拡散フィルタに従い、分配比率を設定する(S506)。そして、先ず、この時点で、分配比率が0より大きいか否かを判定し(S508)、分配比率が0以下である場合(S508:No)、誤差を分配せずに、再度S504へ進む。   In these loops, the image processing apparatus 12 first sets the distribution destination coordinates (X ′, Y ′) as shown in the flowchart. Further, a distribution ratio is set according to the diffusion filter (S506). First, at this time, it is determined whether or not the distribution ratio is greater than 0 (S508). If the distribution ratio is 0 or less (S508: No), the process proceeds to S504 again without distributing the error.

また、分配比率が0よりも大きい場合(S508:Yes)、S510以降の処理へ進む。この処理において、分配先の座標X’が画像幅より小さく(S510:Yes)、座標X’が0以上であり(S512:Yes)、分配先の座標Y’が画像高さより小さければ(S514:Yes)、分配する誤差値(量子化誤差)を、誤差値と、分配比率との積に設定し(S516)、累積誤差バッファに格納されている分配誤差値に加算する(S518)。これにより、画像処理装置12は、発生した量子化誤差に応じて、累積誤差を更新する。   If the distribution ratio is greater than 0 (S508: Yes), the process proceeds to S510 and subsequent steps. In this process, if the distribution destination coordinate X ′ is smaller than the image width (S510: Yes), the coordinate X ′ is 0 or more (S512: Yes), and the distribution destination coordinate Y ′ is smaller than the image height (S514: Yes), the error value to be distributed (quantization error) is set to the product of the error value and the distribution ratio (S516), and added to the distribution error value stored in the cumulative error buffer (S518). Thereby, the image processing apparatus 12 updates the accumulated error in accordance with the generated quantization error.

また、S510において、座標X’が画像幅以上である場合(S510:No)、座標X’=X’−画像幅、座標Y’=Y’+1として(S520)、S514へ進む。S512において、座標X’が0よりも小さい場合(S512:No)、座標X’=X’+画像幅、座標Y’=Y’+1として(S522)、S514へ進む。また、S514において、座標Y’が画像高さ以上である場合(S514:No)、誤差を分配せずに、S504へ進む。   In S510, when the coordinate X 'is equal to or larger than the image width (S510: No), the coordinate X' = X'-image width and the coordinate Y '= Y' + 1 are set (S520), and the process proceeds to S514. If the coordinate X ′ is smaller than 0 in S512 (S512: No), the coordinate X ′ = X ′ + image width and the coordinate Y ′ = Y ′ + 1 are set (S522), and the process proceeds to S514. In S514, if the coordinate Y 'is equal to or higher than the image height (S514: No), the process proceeds to S504 without distributing the error.

以上の動作により、画像処理装置12は、累積誤差バッファに格納されている値に量子化誤差を積算し、累積誤差を算出する。本例によれば、誤差を適切に分配できる。また、これにより、累積誤差を適切に算出できる。   With the above operation, the image processing apparatus 12 adds the quantization error to the value stored in the cumulative error buffer and calculates the cumulative error. According to this example, the error can be appropriately distributed. This also makes it possible to calculate the accumulated error appropriately.

図10は、本例による印刷結果の一例を参考例による印刷結果と共に示す。図10(a)〜(c)は、図1から9を用いて説明した本例と異なる参考例による印刷結果である。図10(a)は、従来公知の典型的な誤差拡散処理のみを行った場合の印刷結果の一例を示す。図10(b)は、従来公知のディザ処理のみを行った場合の印刷結果の一例を示す。   FIG. 10 shows an example of the print result according to this example together with the print result according to the reference example. FIGS. 10A to 10C show printing results according to a reference example different from the present example described with reference to FIGS. FIG. 10A shows an example of a print result when only a conventionally known typical error diffusion process is performed. FIG. 10B shows an example of a print result when only a conventionally known dither process is performed.

典型的な誤差拡散処理のみを行う場合、例えば、ハイライト部やシャドウ部では、ドットの遅延等の問題が発生する。また、ディザ処理のみを行う場合、例えば、ディザ処理に特有のテクスチャ等の問題が発生する。   When only typical error diffusion processing is performed, for example, a problem such as dot delay occurs in a highlight portion or a shadow portion. Further, when only the dither process is performed, for example, a problem such as a texture peculiar to the dither process occurs.

図10(c)は、濃度範囲によって単にディザ処理と誤差拡散処理とを切り替えた場合の印刷結果の一例を示す。この例においては、例えばハイライト部と中間調部との間や、中間調部をシャドウ部との間において、本例のようにノイズ使用率や誤差使用率を徐々に変化させる切り替え処理を行わずに、ディザ処理と誤差拡散処理とを切り替えている。このように、適切な切り替え処理を行わずに、単にディザ処理と誤差拡散処理とを切り替える場合、切り替えにより境界線が発生する等の問題が生じる。   FIG. 10C shows an example of a print result when the dither process and the error diffusion process are simply switched depending on the density range. In this example, for example, switching processing for gradually changing the noise usage rate and the error usage rate is performed between the highlight portion and the halftone portion or between the halftone portion and the shadow portion as in this example. Instead, dither processing and error diffusion processing are switched. As described above, when the dithering process and the error diffusion process are simply switched without performing an appropriate switching process, there is a problem that a boundary line is generated due to the switching.

図10(d)は、本例による印刷結果の一例を示す。図から分かるように、本例によれば、例えば、ハイライト部やシャドウ部におけるドット遅延を適切に抑えることができる。また、中間調においてテクスチャが発生することや、切り替えにより境界線が発生する等も適切に防ぐことができる。そのため、本例によれば、量子化の処理をより適切に行うことができる。   FIG. 10D shows an example of the print result according to this example. As can be seen from the figure, according to this example, it is possible to appropriately suppress, for example, dot delay in highlight portions and shadow portions. In addition, it is possible to appropriately prevent the occurrence of texture in halftones and the generation of boundary lines due to switching. Therefore, according to this example, the quantization process can be performed more appropriately.

ここで、以上において説明したのと同一又は同様の量子化の処理は、多階調の量子化にも適用可能である。そこで、以下において、多階調の量子化の処理について説明する。   Here, the same or similar quantization processing as described above can be applied to multi-gradation quantization. Accordingly, multi-tone quantization processing will be described below.

多階調の量子化の処理とは、例えば、画像中の各画素の色の濃度を示す濃度値を3段階以上の離散的な値に変換する処理である。この3段階以上の離散的な値は、例えば、最小の濃度値を量子化した結果に対応する値である最低量子化値と、最低量子化値よりも大きな離散的な値である2段階以上の量子化結果値とを少なくとも含む。2段階以上の量子化結果値は、例えば、最小の濃度値よりもそれぞれ所定量以上大きな値を量子化した結果に対応する値である。   The multi-tone quantization process is, for example, a process of converting a density value indicating the color density of each pixel in an image into a discrete value of three or more stages. The three or more discrete values are, for example, the lowest quantized value corresponding to the result of quantizing the minimum density value and two or more discrete values larger than the lowest quantized value. And a quantization result value of at least. The quantization result values of two or more levels are values corresponding to the result of quantizing a value larger than the minimum density value by a predetermined amount or more, for example.

多階調の量子化は、例えば図1(a)に示した構成と同一又は同様の構成により行うことができる。この場合、画像処理装置12は、画像形成処理中において、予め設定されたプログラムに基づき、多階調の量子化の処理を行う。また、印刷装置14は、ドットサイズの異なる複数種類のインク滴を吐出することで多階調の印刷を行う。この場合、量子化の結果のうち、最低量子化値は、ドットを形成しない状態と対応付けられる。また、各段階の量子化結果値は、それぞれのドットサイズと対応付けられる。   Multi-tone quantization can be performed by the same or similar configuration as that shown in FIG. In this case, the image processing apparatus 12 performs multi-tone quantization processing based on a preset program during the image forming processing. Further, the printing device 14 performs multi-tone printing by ejecting a plurality of types of ink droplets having different dot sizes. In this case, of the quantization results, the lowest quantized value is associated with a state where no dots are formed. The quantization result value at each stage is associated with each dot size.

図11は、本発明の一実施形態に係る多階調の量子化の処理の第1の例を示すフローチャートである。印刷装置14は、予め設定されたプログラムに従って、以下の処理を行う。   FIG. 11 is a flowchart showing a first example of multi-tone quantization processing according to an embodiment of the present invention. The printing apparatus 14 performs the following processing according to a preset program.

尚、以下において説明する構成において、印刷装置14は、大(Large)、中(Middle)、小(Small)の3種類のサイズのドットに対応するインク滴を吐出する。この場合、量子化の結果として取り得る値は、ドットを形成しない状態に対応する最低量子化値と、大、中、小のドットサイズにそれぞれ対応する3段階の量子化結果値とを含む合計4段階の離散的な値となる。また、この4段階の離散的な値は、例えば、2ビットの数値00、01、10、11と対応付けられる。   In the configuration described below, the printing apparatus 14 ejects ink droplets corresponding to dots of three types of sizes, large, medium, and small. In this case, the values that can be obtained as a result of quantization are the sum including the lowest quantization value corresponding to the state in which no dots are formed and the three-stage quantization result values corresponding to the large, medium, and small dot sizes, respectively. There are four levels of discrete values. Further, the discrete values in four stages are associated with, for example, 2-bit numerical values 00, 01, 10, and 11.

また、印刷装置14は、例えば、インクジェットヘッドのノズルから吐出する液滴のサイズを変化させることにより、ドットサイズの異なる複数種類のインク滴を吐出する。印刷装置14は、媒体上の1箇所へ重ねて着弾させるインク滴の数を変化させることにより、ドットサイズの異なる複数種類のインク滴を吐出してもよい。   Further, the printing apparatus 14 ejects a plurality of types of ink droplets having different dot sizes by changing the size of the droplets ejected from the nozzles of the inkjet head, for example. The printing apparatus 14 may eject a plurality of types of ink droplets having different dot sizes by changing the number of ink droplets to be landed in one place on the medium.

本フローチャートにおいて、画像処理装置12は、ステップS602とS616との間で、Y座標を順次変化させるループを実行する。このループにおいて、画像処理装置12は、0から画像高さまでの間で、Yの値を1ずつ増加させる。また、ステップS604とS614との間で、X座標を順次変化させるループを実行する。このループにおいて、画像処理装置12は、0から画像幅までの間で、Xの値を1ずつ増加させる。尚、本フローチャートにおけるこのループの実行は、図2に示したフローチャートにおいて最終画素判定処理S114を行うのと同一又は同様の処理である。   In this flowchart, the image processing apparatus 12 executes a loop for sequentially changing the Y coordinate between steps S602 and S616. In this loop, the image processing apparatus 12 increases the value of Y by 1 between 0 and the image height. Further, a loop for sequentially changing the X coordinate is executed between steps S604 and S614. In this loop, the image processing device 12 increases the value of X by 1 between 0 and the image width. Note that the execution of this loop in this flowchart is the same as or similar to the final pixel determination process S114 in the flowchart shown in FIG.

そして、画像処理装置12は、量子化を行うべき画素を順次選択する(画素選択処理S606)。このステップは、例えば、図2に示したフローチャートにおける画素選択処理S102と同一又は同様の処理である。画像処理装置12は、例えば、上記のループに従い、画素のラインを順次選択し、選択したライン中の画素を所定の処理方向に沿って、順次選択する。また、画像処理装置12は、更に、この処理方向を、処理するライン毎に切り替える。例えば、画像処理装置12は、奇数ラインにおいては左から右へ、偶数ラインにおいては右から左へ、順次画素を選択する。これにより、画像処理装置12は、量子化の処理を、双方向処理により行う。   Then, the image processing apparatus 12 sequentially selects pixels to be quantized (pixel selection process S606). This step is, for example, the same or similar processing as the pixel selection processing S102 in the flowchart shown in FIG. For example, the image processing apparatus 12 sequentially selects pixel lines in accordance with the above loop, and sequentially selects pixels in the selected line along a predetermined processing direction. Further, the image processing apparatus 12 further switches the processing direction for each line to be processed. For example, the image processing apparatus 12 sequentially selects pixels from left to right in odd lines and from right to left in even lines. As a result, the image processing apparatus 12 performs the quantization process by bidirectional processing.

続いて、画像処理装置12は、多階調の量子化の処理全体に対する入力値である画素の濃度値に基づき、以降に行う処理において各ドットサイズに対応する入力値としてそれぞれ用いる値である段階毎入力値を算出する(入力値算出処理S608)。この処理において、画像処理装置12は、予め設定されたドットサイズ決定テーブルに基づき、画素選択処理S606で順次選択される画素の濃度値に応じて、それぞれのドットサイズに対応する段階毎入力値を算出する。   Subsequently, the image processing apparatus 12 is a value that is used as an input value corresponding to each dot size in the subsequent processing based on the pixel density value that is the input value for the entire multi-tone quantization process. Each input value is calculated (input value calculation processing S608). In this process, the image processing apparatus 12 sets the input value for each stage corresponding to each dot size according to the density value of the pixels sequentially selected in the pixel selection process S606 based on a preset dot size determination table. calculate.

尚、ドットサイズ決定テーブルについては、後に更に詳しく説明する。また、以下の説明においては、大サイズのドットサイズ(以下、Largeドットとする)に対応する段階毎入力値を、Lカーブ値とする。中サイズのドットサイズ(以下、Middleドットとする)に対応する段階毎入力値を、Mカーブ値とする。小サイズのドットサイズ(以下、Smallドットとする)に対応する段階毎入力値を、Sカーブ値とする。   The dot size determination table will be described in detail later. In the following description, an input value for each stage corresponding to a large dot size (hereinafter referred to as a large dot) is an L curve value. An input value for each stage corresponding to a medium dot size (hereinafter referred to as “Middle dot”) is an M curve value. An input value for each stage corresponding to a small dot size (hereinafter referred to as a Small dot) is an S curve value.

また、本例の入力値算出処理S608において、画像処理装置12は、更に、画素選択処理S606で選択される画素に対する多階調の量子化の結果となる出力値(出力ドットサイズ)の値を、ドットを形成しない状態に対応する値である0に初期化する。   Further, in the input value calculation process S608 of this example, the image processing apparatus 12 further sets an output value (output dot size) that is a result of multi-gradation quantization for the pixel selected in the pixel selection process S606. , It is initialized to 0, which is a value corresponding to a state where no dots are formed.

続いて、画像処理装置12は、誤差補正済入力値及びノイズ補正済閾値を算出する(入力値閾値補正処理S610)。本例において、画像処理装置12は、各ドットサイズに対応する段階毎入力値に対し、図2を用いて説明した使用率決定処理S104、誤差補正済入力値算出処理S106、ノイズ補正済閾値算出処理S108と同一又は同様の処理を行う。これにより、画像処理装置12は、ドットサイズ毎に、それぞれ別の誤差補正済入力値及びノイズ補正済閾値を算出する。   Subsequently, the image processing apparatus 12 calculates an error-corrected input value and a noise-corrected threshold value (input value threshold value correcting process S610). In this example, the image processing apparatus 12 performs the usage rate determination process S104, the error-corrected input value calculation process S106, and the noise-corrected threshold value calculation described with reference to FIG. 2 for the input value for each stage corresponding to each dot size. The same or similar processing as the processing S108 is performed. As a result, the image processing apparatus 12 calculates different error-corrected input values and noise-corrected threshold values for each dot size.

続いて、画像処理装置12は、量子化を実行する(量子化実行処理S612)。本例の量子化実行処理S612において、画像処理装置12は、例えば、各ドットサイズに対応する段階毎入力値、誤差補正済入力値、及びノイズ補正済閾値を用いて、ドットサイズ毎に行う処理である段階毎判定処理を行う。そして、それらの結果に基づき、多階調の量子化の結果を決定する。これにより、画像処理装置12は、例えば、画素選択処理S606で順次選択される画素の濃度値に対し、当該画素に対応するノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する誤差使用率に応じて累積誤差を使用して、多階調の量子化を行う。   Subsequently, the image processing device 12 performs quantization (quantization execution processing S612). In the quantization execution process S612 of this example, the image processing apparatus 12 performs, for example, a process performed for each dot size using the input value for each stage, the error-corrected input value, and the noise-corrected threshold value corresponding to each dot size. A step-by-step determination process is performed. Based on those results, the result of multi-tone quantization is determined. Accordingly, for example, the image processing apparatus 12 uses dither matrix noise according to the noise usage rate corresponding to the pixel for the density value of the pixel sequentially selected in the pixel selection processing S606, and applies the pixel to the pixel. Multi-tone quantization is performed using the accumulated error according to the corresponding error usage rate.

また、本例において、画像処理装置12は、量子化実行処理S612の中で、誤差の分配処理を行う。画像処理装置12は、誤差の分配処理を、例えば、量子化実行処理S612と分離して、別のステップにおいて実行してもよい。   In this example, the image processing apparatus 12 performs an error distribution process in the quantization execution process S612. The image processing apparatus 12 may execute the error distribution process in another step separately from, for example, the quantization execution process S612.

そして、量子化実行処理S612の後、画像処理装置12は、ステップS614へ進み、次の回のループの処理を進める。本例によれば、多階調の量子化の処理を適切に行うことができる。   After the quantization execution process S612, the image processing apparatus 12 proceeds to step S614 and proceeds with the next loop. According to this example, multi-tone quantization processing can be performed appropriately.

続いて、図11を用いて説明した各処理について、更に詳しく説明する。図12は、入力値算出処理S608及び入力値閾値補正処理S610について更に詳しく説明する図である。図12(a)は、入力値算出処理S608で用いるドットサイズ決定テーブルの一例を示すグラフである。   Next, each process described with reference to FIG. 11 will be described in more detail. FIG. 12 is a diagram for explaining the input value calculation process S608 and the input value threshold value correction process S610 in more detail. FIG. 12A is a graph showing an example of a dot size determination table used in the input value calculation process S608.

ドットサイズ決定テーブルは、濃度毎に出力するドットサイズの割合を示すデータであり、例えば、ある濃度における単位面積あたりのドット数について、それぞれのドットサイズが占める割合を決定する。この場合、それぞれのドットサイズを合計した割合は、0から100%となる。また、ドットサイズ決定テーブルは、段階毎入力値算出用データの一例である。段階毎入力値算出用データは、例えば、画素の濃度値に応じて単位面積あたりに形成すべきインク滴のドット数を、それぞれのドットサイズ毎に定めるデータである。   The dot size determination table is data indicating the ratio of the dot size to be output for each density. For example, the ratio of the dot size to the number of dots per unit area at a certain density is determined. In this case, the total ratio of the respective dot sizes is 0 to 100%. The dot size determination table is an example of input value calculation data for each stage. The input value calculation data for each stage is data that determines, for each dot size, the number of dots of ink droplets to be formed per unit area according to the density value of the pixel.

本例において、ドットサイズ決定テーブルは、グラフに示したように、画素の濃度値に対し、Largeドット、Middleドット、Smallドットのそれぞれに対応する段階毎入力値を定める。このようなドットサイズ決定テーブルに基づき、入力値算出処理S608において、画像処理装置12は、画素選択処理S606で順次選択される画素の濃度値に対し、それぞれのドットサイズに対応する段階毎入力値を、ドットサイズ決定テーブルにおいて当該ドットサイズに対して当該濃度値と対応付けられているドット数に応じて算出する。   In this example, as shown in the graph, the dot size determination table defines input values for each stage corresponding to each of a large dot, a middle dot, and a small dot with respect to the density value of the pixel. Based on such a dot size determination table, in the input value calculation process S608, the image processing apparatus 12 inputs, for each pixel size value sequentially selected in the pixel selection process S606, an input value corresponding to each dot size. Is calculated according to the number of dots associated with the density value for the dot size in the dot size determination table.

尚、本例のドットサイズ決定テーブルにおいて、所定の濃度N1以下において、Mカーブ値及びLカーブ値は、0である。また、N1よりも大きな所定の濃度N2以下において、Lカーブ値は、0である。   In the dot size determination table of this example, the M curve value and the L curve value are 0 below a predetermined density N1. In addition, the L curve value is 0 at a predetermined density N2 or less greater than N1.

Sカーブ値は、濃度値が0と、N1又はその近傍との間の範囲において、所定の傾きm1で漸増し、かつ、濃度値がそれ以上となる範囲で、m1よりも小さな傾きm2で漸増する。Mカーブ値は、濃度値がN1と、N2又はその近傍との間の範囲において、所定の傾きm3で漸増し、かつ、濃度値がそれ以上となる範囲で、m3よりも小さな傾きm4で漸増する。Lカーブ値は、濃度値がN2と、N2よりも大きな所定の濃度N3との間の範囲において、所定の傾きm5で漸増し、かつ、濃度値がそれ以上となる範囲で、m5よりも大きな傾きm6で漸増する。   The S curve value gradually increases with a predetermined slope m1 in the range between the density value 0 and N1 or the vicinity thereof, and gradually increases with the slope m2 smaller than m1 in the range where the density value becomes more than that. To do. The M curve value gradually increases with a predetermined slope m3 in the range between the density value N1 and N2 or the vicinity thereof, and gradually increases with a slope m4 smaller than m3 in the range where the density value is more than that. To do. The L curve value gradually increases with a predetermined slope m5 in a range between the density value N2 and a predetermined density N3 larger than N2, and is larger than m5 in a range where the density value becomes more than that. It gradually increases with an inclination m6.

また、Sカーブ値と、Mカーブ値は、N1とN2との間の濃度値C1において交わる。Sカーブ値と、Lカーブ値は、N3よりも大きな濃度値C2において交わる。また、Mカーブ値と、Lカーブ値は、C2よりも大きな濃度値C3において交わる。その結果、濃度値がC1未満の範囲では、Sカーブ値>Mカーブ値>Lカーブ値となる。濃度値がC1からC2の範囲では、Mカーブ値>Sカーブ値>Lカーブ値となる。濃度値がC2からC3の範囲では、Mカーブ値>Lカーブ値>Sカーブ値となる。また、濃度値がC3を超える範囲では、Lカーブ値>Mカーブ値>Sカーブ値となる。   Further, the S curve value and the M curve value intersect at a density value C1 between N1 and N2. The S curve value and the L curve value intersect at a density value C2 greater than N3. Further, the M curve value and the L curve value intersect at a density value C3 larger than C2. As a result, in the range where the density value is less than C1, S curve value> M curve value> L curve value. When the density value is in the range from C1 to C2, M curve value> S curve value> L curve value. When the density value is in the range of C2 to C3, M curve value> L curve value> S curve value. In the range where the density value exceeds C3, L curve value> M curve value> S curve value.

図12(b)は、入力値閾値補正処理S610について説明する図であり、誤差使用率Re、及びノイズ使用率Rnと、段階毎入力値とを対応付けるグラフを示す。本例において、画像処理装置12は、入力値算出処理S608において算出される段階毎入力値であるLカーブ値、Mカーブ値、Sカーブ値のそれぞれに対し、グラフに示した関係に基づき、対応する誤差使用率Re及びノイズ使用率Rnを算出する。そして、画像処理装置12は、算出した誤差使用率Re及びノイズ使用率Rnに基づき、各ドットサイズ毎に、誤差補正済入力値、及びノイズ補正済閾値を算出する。   FIG. 12B is a diagram for explaining the input value threshold value correction processing S610, and shows a graph associating the error usage rate Re, the noise usage rate Rn, and the input value for each stage. In this example, the image processing apparatus 12 responds to each of the L-curve value, the M-curve value, and the S-curve value, which are input values for each stage calculated in the input value calculating process S608, based on the relationship shown in the graph. An error usage rate Re and a noise usage rate Rn are calculated. Then, the image processing device 12 calculates an error-corrected input value and a noise-corrected threshold value for each dot size based on the calculated error usage rate Re and noise usage rate Rn.

尚、図12(b)に示したグラフは、例えば、図4に示したグラフに対し、入力値Inの代わりに段階毎入力値を用い、図12(a)に合わせて表示の向きを変えたものである。このように構成すれば、例えば、各ドットサイズに対応する誤差使用率Re及びノイズ使用率Rnを適切に算出できる。   Note that the graph shown in FIG. 12B is different from the graph shown in FIG. 4 in that, for example, the input value at each stage is used instead of the input value In, and the display orientation is changed in accordance with FIG. It is a thing. With this configuration, for example, the error usage rate Re and the noise usage rate Rn corresponding to each dot size can be calculated appropriately.

また、本例において、画像処理装置12は、例えば、全てのドットサイズに対し、同じグラフに基づき、誤差使用率Re及びノイズ使用率Rnを算出する。この場合、グラフ中の各パラメータ(Hes、Hn、・・・等)としては、例えば、図4と同じパラメータを用いることができる。また、各パラメータを、ドットサイズ毎に変更してもよい。   In this example, the image processing apparatus 12 calculates the error usage rate Re and the noise usage rate Rn based on the same graph for all dot sizes, for example. In this case, for example, the same parameters as in FIG. 4 can be used as the parameters (Hes, Hn,...) In the graph. Each parameter may be changed for each dot size.

図13は、入力値閾値補正処理S610におけるより具体的な処理の一例を示すフローチャートである。本例の入力値閾値補正処理S610において、画像処理装置12は、先ず、例えば、入力値算出処理S608で算出された段階毎入力値であるLカーブ値、Mカーブ値、及びSカーブ値、及び図12(b)においてグラフに示した関係式に基づき、各ドットサイズに対応するノイズLカーブ値、Mカーブ値、及びSカーブ値使用率、及び誤差使用率を算出する(ノイズ使用率算出処理S620、誤差使用率算出処理S622)。これらの処理において、画像処理装置12は、例えば、図6及び図5を用いて説明した処理において、入力値Inに代えてLカーブ値、Mカーブ値、及びSカーブ値のそれぞれを用いることにより、ドットサイズ毎のノイズ使用率及び誤差使用率を算出する。   FIG. 13 is a flowchart illustrating an example of more specific processing in the input value threshold value correction processing S610. In the input value threshold value correction process S610 of this example, the image processing apparatus 12 first, for example, an L curve value, an M curve value, and an S curve value that are input values for each stage calculated in the input value calculation process S608, and Based on the relational expression shown in the graph of FIG. 12B, the noise L curve value, M curve value, S curve value usage rate, and error usage rate corresponding to each dot size are calculated (noise usage rate calculation processing). S620, error usage rate calculation processing S622). In these processes, the image processing apparatus 12 uses, for example, the L curve value, the M curve value, and the S curve value instead of the input value In in the process described with reference to FIGS. The noise usage rate and error usage rate for each dot size are calculated.

そして、算出した誤差使用率に基づき、Lカーブ値、Mカーブ値、及びSカーブ値のそれぞれを補正することにより、各ドットサイズに対応する誤差補正済入力値を算出する(誤差補正済入力値算出処理S624)。また、算出したノイズ使用率に基づき、予め設定された閾値を補正することにより、ノイズ補正済閾値を算出する(ノイズ補正済閾値算出処理S626)。   Then, by correcting each of the L curve value, the M curve value, and the S curve value based on the calculated error usage rate, an error corrected input value corresponding to each dot size is calculated (error corrected input value). Calculation process S624). In addition, a noise-corrected threshold value is calculated by correcting a preset threshold value based on the calculated noise usage rate (noise-corrected threshold value calculation process S626).

尚、本例の誤差補正済入力値算出処理S624において、画像処理装置12は、ドットサイズ毎に用意された累積誤差を用いて、誤差補正済入力値を算出する。また、誤差補正済入力値算出処理S624及びノイズ補正済閾値算出処理S626において、画像処理装置12は、例えば、図1(b)を用いて説明した処理において、入力値Inに代えてLカーブ値、Mカーブ値、及びSカーブ値のそれぞれを用いることにより、各ドットサイズに対応する誤差補正済入力値、及びノイズ補正済閾値を算出する。これにより、画像処理装置12は、ドットサイズ毎の誤差補正済入力値及びノイズ補正済閾値を取得し、次の量子化実行処理S612へ進む。   In the error-corrected input value calculation process S624 of this example, the image processing apparatus 12 calculates an error-corrected input value using the accumulated error prepared for each dot size. In the error-corrected input value calculation process S624 and the noise-corrected threshold value calculation process S626, the image processing apparatus 12 replaces the input value In with the L curve value in the process described with reference to FIG. By using each of the M curve value and the S curve value, an error corrected input value and a noise corrected threshold value corresponding to each dot size are calculated. As a result, the image processing apparatus 12 acquires the error-corrected input value and the noise-corrected threshold value for each dot size, and proceeds to the next quantization execution process S612.

図14は、量子化実行処理S612における処理の一例を示すフローチャートである。本例において、画像処理装置12は、Largeドットに対応する量子化及び誤差配分の処理であるLarge用処理S640、Middleドットに対応する量子化及び誤差配分の処理であるMiddle用処理S650、及びSmallドットに対応する量子化及び誤差配分の処理であるSmall用処理S660を、この順番で行う。   FIG. 14 is a flowchart illustrating an example of the process in the quantization execution process S612. In this example, the image processing apparatus 12 performs a Large process S640 that is a quantization and error distribution process corresponding to a Large dot, a Middle process S650 that is a quantization and error distribution process corresponding to a Middle dot, and a Small process. Small processing S660, which is quantization and error distribution processing corresponding to dots, is performed in this order.

これにより、画像処理装置12は、各ドットサイズに対応する量子化の処理の優先順位について、ドットサイズのより大きいものに対応する処理を優先する。より具体的には、例えば、本例のように、Largeドット、Middleドット、及びSmallドットの3種類のドットサイズが設定されている場合、画像処理装置12は、Largeドットに対応する量子化の処理の優先度を最も高く、Smallドットに対応する量子化の処理の優先度を最も低く設定して、多階調の量子化の処理を行う。   As a result, the image processing apparatus 12 gives priority to the processing corresponding to the dot size larger than the quantization processing priority corresponding to each dot size. More specifically, for example, as in this example, when three types of dot sizes, Large dots, Middle dots, and Small dots, are set, the image processing apparatus 12 performs quantization corresponding to the Large dots. Multi-tone quantization processing is performed by setting the processing priority to the highest and the quantization processing priority corresponding to the Small dot to the lowest.

続いて、Large用量子化処理S642、Middle用量子化処理S652、及びSmall用量子化処理S662の内容について、説明する。本例のLarge用処理S640において、画像処理装置12は、Large用量子化処理S642、及びLarge用誤差分配処理S644を行う。Large用量子化処理S642は、Largeドットに対応する段階毎判定処理の一例である。Large用量子化処理S642において、画像処理装置12は、例えば、Largeドットに対応する誤差補正済入力値及びノイズ補正済閾値を用いて、2階調の量子化の処理を行う。これにより、画像処理装置12は、Largeドットに対応する段階毎入力値であるLカーブ値に対し、2階調の量子化の処理を行う。また、本例において、画像処理装置12は、Large用量子化処理S642の中で、更に、量子化により生じる誤差値の設定を行う。   Next, the contents of the Large quantization process S642, the Middle quantization process S652, and the Small quantization process S662 will be described. In the large process S640 in this example, the image processing apparatus 12 performs a large quantization process S642 and a large error distribution process S644. The Large quantization process S642 is an example of a stage-by-stage determination process corresponding to a Large dot. In the Large quantization process S642, for example, the image processing apparatus 12 performs a two-tone quantization process using the error-corrected input value and the noise-corrected threshold value corresponding to the Large dot. As a result, the image processing apparatus 12 performs a two-gradation quantization process on the L curve value that is the input value for each stage corresponding to the Large dot. In this example, the image processing apparatus 12 further sets an error value caused by quantization in the large quantization process S642.

Large用誤差分配処理S644は、Largeドットに対応する段階毎累積誤差算出処理の一例である。Large用誤差分配処理S644において、画像処理装置12は、例えば、Large用量子化処理S642において設定された誤差値を、Largeドットの専用の誤差として、周辺の画素へ分配する。これにより、画像処理装置12は、Large用量子化処理S642の結果に応じて累積誤差を更新し、Largeドットに対応する新たな累積誤差を算出する。   Large error distribution processing S644 is an example of cumulative error calculation processing for each stage corresponding to large dots. In the Large error distribution process S644, for example, the image processing apparatus 12 distributes the error value set in the Large quantization process S642 to surrounding pixels as a dedicated error for Large dots. As a result, the image processing apparatus 12 updates the accumulated error in accordance with the result of the Large quantization process S642, and calculates a new accumulated error corresponding to the Large dot.

また、Middle用処理S650において、画像処理装置12は、Large用処理S640と同様にして、Middle用量子化処理S652、及びMiddle用誤差分配処理S654を行う。Middle用量子化処理S652、及びMiddle用誤差分配処理S654は、Largeドットに対応する各パラメータの代わりにMiddleドットに対応する各パラメータを使用する以外は、Large用量子化処理S642、及びLarge用誤差分配処理S644と、同一の処理である。また、この場合、Middle用量子化処理S652、及びMiddle用誤差分配処理S654は、Middleドットに対応する段階毎判定処理、及び段階毎累積誤差算出処理の一例となる。   In the middle processing S650, the image processing apparatus 12 performs the middle quantization processing S652 and the middle error distribution processing S654 in the same manner as the large processing S640. The middle quantization process S652 and the middle error distribution process S654 use the large quantization process S642 and the large error except that each parameter corresponding to the middle dot is used instead of each parameter corresponding to the large dot. This is the same process as the distribution process S644. In this case, the Middle quantization process S652 and the Middle error distribution process S654 are an example of a stage determination process and a stage cumulative error calculation process corresponding to a Middle dot.

また、Small用処理S660において、画像処理装置12は、Large用処理S640と同様にして、Small用量子化処理S662、及びSmall用誤差分配処理S664を行う。Small用量子化処理S662、及びSmall用誤差分配処理S664は、Largeドットに対応する各パラメータの代わりにSmallドットに対応する各パラメータを使用する以外は、Large用量子化処理S642、及びLarge用誤差分配処理S644と、同一の処理である。また、この場合、Small用量子化処理S662、及びSmall用誤差分配処理S664は、Smallドットに対応する段階毎判定処理、及び段階毎累積誤差算出処理の一例となる。   In the Small process S660, the image processing apparatus 12 performs the Small quantization process S662 and the Small error distribution process S664 in the same manner as the Large process S640. The Small quantization process S662 and the Small error distribution process S664 use the Large quantization process S642 and the Large error except that each parameter corresponding to the Small dot is used instead of each parameter corresponding to the Large dot. This is the same process as the distribution process S644. In this case, the Small quantization process S662 and the Small error distribution process S664 are an example of the determination process for each stage and the accumulated error calculation process for each stage corresponding to the Small dots.

尚、本例において、画像処理装置12は、Large用誤差分配処理S644、Middle用誤差分配処理S654、Small用誤差分配処理S664のそれぞれで用いる累積誤差バッファとして、各ドットサイズ毎に別に設けた累積誤差バッファを使用する。例えば、Large用誤差分配処理S644において、画像処理装置12は、Large用量子化処理S642で発生した誤差を、Largeドット用の累積誤差バッファに蓄積する。Middleドット、及びSmallドットについても同様である。   In this example, the image processing apparatus 12 is an accumulation error buffer provided for each dot size as an accumulation error buffer used in each of the error distribution process for large S644, the error distribution process for middle S654, and the error distribution process for small S664. Use error buffer. For example, in the large error distribution process S644, the image processing apparatus 12 accumulates the error generated in the large quantization process S642 in the large dot accumulation error buffer. The same applies to middle dots and small dots.

続いて、Large用量子化処理S642について、更に詳しく説明する。図15は、Large用量子化処理S642における処理の一例を示すフローチャートである。本例のLarge用量子化処理S642において、画像処理装置12は、先ず、多階調の量子化の結果となる出力値について、ドットを形成しない場合に対応する値である0以外の値に設定されているか否かを判定する(S702)。そして、出力値が0以外の値に設定されている場合(S702:Yes)、出力値の変更を行わず、誤差値の設定のみを行う(S704)。このステップS704において、画像処理装置12は、誤差値を、誤差補正済入力値In’に設定する。そして、誤差値の設定後、ステップS720へ進む。   Next, the Large quantization process S642 will be described in more detail. FIG. 15 is a flowchart illustrating an example of processing in the Large quantization processing S642. In the Large quantization process S642 in this example, the image processing apparatus 12 first sets the output value resulting from the multi-tone quantization to a value other than 0, which is a value corresponding to the case where no dot is formed. It is determined whether or not it has been performed (S702). If the output value is set to a value other than 0 (S702: Yes), only the error value is set without changing the output value (S704). In step S704, the image processing apparatus 12 sets the error value to the error-corrected input value In ′. Then, after setting the error value, the process proceeds to step S720.

尚、本例において、S702で判定の対象となる出力値は、量子化実行処理S612(図11参照)の前に、入力値算出処理S608(図11参照)において、0に初期化される。そのため、Large用量子化処理S642、Middle用量子化処理S652、及びSmall用量子化処理S662のうち、少なくとも最初に実行されるLarge用量子化処理S642の開始時点において、出力値は0になっている。これにより、画像処理装置12は、少なくともLarge用量子化処理S642のステップS702において、出力値が0に設定されていると判定し、以降で説明する2階調の量子化の処理を行う。   In this example, the output value to be determined in S702 is initialized to 0 in the input value calculation process S608 (see FIG. 11) before the quantization execution process S612 (see FIG. 11). For this reason, the output value becomes 0 at least at the start of the Large quantization process S642, which is executed first, among the Large quantization process S642, the Middle quantization process S652, and the Small quantization process S662. Yes. Thereby, the image processing apparatus 12 determines that the output value is set to 0 at least in Step S702 of the Large quantization process S642, and performs the two-tone quantization process described below.

出力値が0に設定されている場合(S702:No)、画像処理装置12は、更に、入力値Inと最大入力値MaxInとが等しいか否かを判定する(最大値判定処理S706)。そして、等しいと判定した場合(S706:Yes)、出力値を、Largeドットに対応する値に設定する(S708)。また、出力値の設定と共に、誤差値を、誤差補正済入力値In’と最大入力値MaxInの差であるIn’−MaxInに設定する。そして、これらの値の設定後、ステップS720へ進む。   When the output value is set to 0 (S702: No), the image processing apparatus 12 further determines whether or not the input value In and the maximum input value MaxIn are equal (maximum value determination processing S706). If it is determined that they are equal (S706: Yes), the output value is set to a value corresponding to the Large dot (S708). In addition to setting the output value, the error value is set to In′−MaxIn, which is the difference between the error-corrected input value In ′ and the maximum input value MaxIn. Then, after setting these values, the process proceeds to step S720.

また、S706において、入力値Inと最大入力値MaxInとが等しくないと判定した場合(S706:No)、画像処理装置12は、更に、入力値Inと、最小入力値MinInの値である0とが等しいか否かを判定する(最小値判定処理S710)。そして、等しいと判定した場合(S710:Yes)、出力値を、0に設定する(S712)。また、出力値の設定と共に、誤差値を、誤差補正済入力値In’に設定する。そして、これらの値の設定後、ステップS720へ進む。   When it is determined in S706 that the input value In and the maximum input value MaxIn are not equal (S706: No), the image processing apparatus 12 further sets the input value In and 0, which is the value of the minimum input value MinIn. Are equal to each other (minimum value determination processing S710). If it is determined that they are equal (S710: Yes), the output value is set to 0 (S712). In addition to setting the output value, the error value is set to the error-corrected input value In ′. Then, after setting these values, the process proceeds to step S720.

また、S710において、入力値Inと0とが等しくないと判定した場合(S710:No)、画像処理装置12は、誤差補正済入力値In’がノイズ補正済閾値Th’よりも大きいか否かを判定する(S714)。そして、大きいと判定した場合(S714:Yes)、出力値を、Largeドットに対応する値に設定する。また、誤差値を、In’−MaxInに設定する(S716)。また、S714において、誤差補正済入力値In’がノイズ補正済閾値Th’以下であると判定した場合(S714:No)、出力値を0に、誤差値をIn’にそれぞれ設定する(S716)。そして、これらの値の設定後、ステップS720へ進む。   If it is determined in S710 that the input value In is not equal to 0 (S710: No), the image processing apparatus 12 determines whether the error-corrected input value In ′ is greater than the noise-corrected threshold Th ′. Is determined (S714). And when it determines with it being large (S714: Yes), an output value is set to the value corresponding to a Large dot. Further, the error value is set to In'-MaxIn (S716). If it is determined in S714 that the error-corrected input value In ′ is equal to or less than the noise-corrected threshold Th ′ (S714: No), the output value is set to 0 and the error value is set to In ′ (S716). . Then, after setting these values, the process proceeds to step S720.

以上の処理の後、画像処理装置12は、Large用量子化処理S642の結果として、上記の処理の後に設定されている出力値と、誤差値とを取得する(S720)。このステップS720は、量子化値取得処理の一例である。そして、これらの値を、後の処理へ受け渡す。後の処理においては、例えばLarge用誤差分配処理S644において、誤差値に基づき、誤差の分配を行う。本例によれば、Large用量子化処理S642を適切に行うことができる。また、Large用誤差分配処理S644において、量子化で発生した誤差の周辺画素への分配を適切に行うことができる。   After the above processing, the image processing apparatus 12 acquires an output value and an error value set after the above processing as a result of the Large quantization processing S642 (S720). This step S720 is an example of a quantization value acquisition process. Then, these values are transferred to the subsequent processing. In the subsequent processing, for example, in Large error distribution processing S644, error distribution is performed based on the error value. According to this example, the Large quantization process S642 can be appropriately performed. Further, in the large error distribution process S644, it is possible to appropriately distribute the error generated by the quantization to surrounding pixels.

ここで、本例において、画像処理装置12は、Middle用量子化処理S652、及びSmall用量子化処理S662についても、図15に示したフローチャートに従った処理を行う。例えば、Middle用量子化処理S652において、画像処理装置12は、Largeドットに対応するパラメータに代えてMiddleドットに対応するパラメータを使用する以外は、上記と同様にして処理を行う。この場合、Middle用量子化処理S652のS708、S716において、画像処理装置12は、出力値を、Middleドットに対応する値に設定する。また、Small用量子化処理S662において、画像処理装置12は、Largeドットに対応するパラメータに代えてSmallドットに対応するパラメータを使用する以外は上記と同様にして処理を行う。この場合、Small用量子化処理S662のS708、S716において、画像処理装置12は、出力値を、Smallドットに対応する値に設定する。   Here, in this example, the image processing apparatus 12 also performs processing according to the flowchart shown in FIG. 15 for the middle quantization processing S652 and the small quantization processing S662. For example, in the middle quantization process S652, the image processing apparatus 12 performs the same process as described above except that the parameter corresponding to the middle dot is used instead of the parameter corresponding to the large dot. In this case, in S708 and S716 of Middle quantization processing S652, the image processing apparatus 12 sets the output value to a value corresponding to the Middle dot. In addition, in the Small quantization process S662, the image processing apparatus 12 performs the same process as described above except that the parameter corresponding to the Small dot is used instead of the parameter corresponding to the Large dot. In this case, in S708 and S716 of Small quantization processing S662, the image processing device 12 sets the output value to a value corresponding to the Small dot.

そして、この場合、Large用量子化処理S642以降に行われるMiddle用量子化処理S652、及びSmall用量子化処理S662においては、先に行われた処理において出力値が0以外の値に設定されているか否かに応じて、S702における判定の結果が変わる。また、その結果、Middle用量子化処理S652、及びSmall用量子化処理S662において、画像処理装置12は、出力値が0以外の値に設定されているか否かに応じて、行う処理を変更する。以下、この点について、更に詳しく説明する。   In this case, in the middle quantization process S652 and the small quantization process S662 performed after the large quantization process S642, the output value is set to a value other than 0 in the previously performed process. The determination result in S702 changes depending on whether or not there is. As a result, in the middle quantization process S652 and the small quantization process S662, the image processing apparatus 12 changes the process to be performed depending on whether or not the output value is set to a value other than 0. . Hereinafter, this point will be described in more detail.

例えば、Large用量子化処理S642の処理結果が、ドットを形成する場合に対応する結果(ドットがONの状態)であり、画像処理装置12が、出力値を、Largeドットに対応する値に設定した場合、Middle用量子化処理S652、及びSmall用量子化処理S662中のステップS702において、画像処理装置12は、出力値が0以外であると判定し、ステップS704へ進み、2階調の量子化を省略する。この場合、Middle用量子化処理S652、及びSmall用量子化処理S662の処理結果は、強制的に、ドットを形成しない場合に対応する結果(ドットがOFFの状態)となる。   For example, the processing result of Large quantization processing S642 is a result corresponding to the case of forming a dot (the dot is in an ON state), and the image processing apparatus 12 sets the output value to a value corresponding to the Large dot. In this case, in step S702 in the middle quantization process S652 and the small quantization process S662, the image processing apparatus 12 determines that the output value is other than 0, and proceeds to step S704. Omitted. In this case, the processing results of the Middle quantization processing S652 and the Small quantization processing S662 are forced to be the results corresponding to the case where dots are not formed (the dot is in an OFF state).

また、Large用量子化処理S642の処理結果が、ドットを形成しない場合に対応する結果(OFF)であり、Large用量子化処理S642の後においても出力値が0のままである場合、Middle用量子化処理S652において、画像処理装置12は、ステップS706以降へ進み、Middleドット用の誤差補正済入力値及びノイズ補正済閾値を用い、Large用量子化処理S642と同様の処理を行う。これにより、画像処理装置12は、MiddleドットのON/OFFの判定を行う。   Further, if the processing result of the Large quantization process S642 is a result (OFF) corresponding to the case where no dot is formed, and the output value remains 0 even after the Large quantization process S642, the result for Middle In the quantization process S652, the image processing apparatus 12 proceeds to step S706 and subsequent steps, and performs the same process as the large quantization process S642 using the error-corrected input value for middle dots and the noise-corrected threshold value. As a result, the image processing device 12 determines ON / OFF of the middle dot.

そして、Middleドットの量子化結果がONになった場合、上記と同様にして、Smallドットの量子化結果は、強制的にOFFとなる。また、Middleドットの量子化結果がOFFになった場合、Small用量子化処理S662において、画像処理装置12は、ステップS706以降へ進み、Smallドット用の誤差補正済入力値及びノイズ補正済閾値を用い、Large用量子化処理S642と同様の処理を行う。これにより、画像処理装置12は、SmallドットのON/OFFの判定を行う。   When the Middle dot quantization result is turned ON, the Small dot quantization result is forcibly turned OFF in the same manner as described above. When the quantization result of the Middle dot is OFF, in the Small quantization process S662, the image processing apparatus 12 proceeds to Step S706 and subsequent steps, and sets the error corrected input value and the noise corrected threshold value for the Small dot. The same process as the Large quantization process S642 is performed. Thereby, the image processing apparatus 12 determines ON / OFF of the Small dot.

そのため、本例においては、例えば、いずれかのドットサイズに対応する段階毎判定処理(Large用量子化処理S642、Middle用量子化処理S652、又はSmall用量子化処理S662)において、その処理に対応するドットサイズのインク滴のドットを形成すると判定された場合、そのドットサイズよりも小さなドットサイズに対応する段階毎判定処理において、画像処理装置12は、画素の濃度値にかかわらず、ドットを形成しないと判定する。そして、例えば、いずれかの段階毎判定処理においてドットを形成すると判定された場合、画像処理装置12は、ドットを形成すると判定された段階毎判定処理のうち、最大のドットサイズに対応する量子化結果値を、量子化の結果に決定する。   Therefore, in this example, for example, in each stage determination process (Large quantization process S642, Middle quantization process S652 or Small quantization process S662) corresponding to any dot size, this process is supported. When it is determined that a dot of an ink droplet having a dot size to be formed is formed, in the step-by-step determination process corresponding to a dot size smaller than the dot size, the image processing device 12 forms a dot regardless of the density value of the pixel. Judge that not. For example, when it is determined that a dot is to be formed in any of the determination processes for each stage, the image processing apparatus 12 performs quantization corresponding to the maximum dot size among the determination processes for each stage determined to form dots. The result value is determined as the quantization result.

また、いずれの段階毎判定処理においてもドットを形成すると判定されなかった場合、画像処理装置12は、ドットを形成しない場合に対応する値を、量子化の結果に決定する。これにより、量子化実行処理S612において、画像処理装置12は、Large用量子化処理S642、Middle用量子化処理S652、及びSmall用量子化処理S662の結果に基づき、各ドットサイズにそれぞれ対応する離散的な値のいずれかの値を、量子化の結果に決定し、出力値に設定する。本例によれば、多階調の量子化の処理を適切に行うことができる。   If it is not determined that dots are formed in any of the determination processes for each stage, the image processing apparatus 12 determines a value corresponding to the case where dots are not formed as a result of quantization. Accordingly, in the quantization execution process S612, the image processing apparatus 12 performs discrete processing corresponding to each dot size based on the results of the Large quantization process S642, the Middle quantization process S652, and the Small quantization process S662. One of the typical values is determined as the quantization result and set as the output value. According to this example, multi-tone quantization processing can be performed appropriately.

尚、例えば従来の方法により多階調の量子化を行う場合、画素の濃度によって、ドットサイズが異なるインク滴のドットが混在して形成される場合がある。例えば、本例のように、Largeドット、Middleドット、及びSmallドットの3種類のドットサイズを用いる場合、画素の濃度が小さい範囲では、Smallドットのみを用いて印刷が行われる。そして、濃度が大きくなると、Smallドットと、Middleドットが混在して形成されることとなる。この場合、サイズの異なるドットが混ざり始める濃度において、例えば、よりサイズの大きなMiddleドットだけで見ると、ハイライト部の濃度値にあたることとなる。この場合、量子化の処理において、例えば誤差拡散処理のみを行うとすれば、ドットの遅延が発生し、画質が低下することとなる。そのため、多階調の量子化においては、サイズの異なるドットが混ざり始める部分で発生するドットの遅延についても、適切に解消することが望まれる。   For example, when multi-tone quantization is performed by a conventional method, dots of ink droplets having different dot sizes may be mixedly formed depending on the pixel density. For example, as in this example, when using three types of dot sizes, Large dots, Middle dots, and Small dots, printing is performed using only Small dots in a range where the pixel density is small. When the density is increased, Small dots and Middle dots are mixedly formed. In this case, at a density at which dots of different sizes begin to mix, for example, when viewed only with a larger size of middle dots, it corresponds to the density value of the highlight portion. In this case, in the quantization process, for example, if only the error diffusion process is performed, a dot delay occurs and the image quality deteriorates. For this reason, in multi-tone quantization, it is desirable to appropriately eliminate the dot delay that occurs at the part where dots of different sizes begin to mix.

これに対し、本例においては、例えば、Large用量子化処理S642、Middle用量子化処理S652、及びSmall用量子化処理S662のそれぞれにおいて、処理の開始時点において出力値が0であった場合、画像処理装置12は、最低量子化値である0と、対応するドットサイズに対応する値との2階調の間での量子化の処理を行う。また、この2階調の量子化の処理において、処理の対象となる画素に対応するノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する誤差使用率に応じて累積誤差を使用する。そのため、本例によれば、例えば、多階調の量子化を行う場合においても、例えば、ディザ処理及び誤差拡散処理のそれぞれの処理が得意とする部分を活かした量子化の処理を、適切に行うことができる。   On the other hand, in this example, for example, in each of the Large quantization process S642, the Middle quantization process S652, and the Small quantization process S662, the output value is 0 at the start of processing. The image processing apparatus 12 performs a quantization process between two gradations of 0, which is the lowest quantization value, and a value corresponding to the corresponding dot size. Also, in this two-tone quantization process, dither matrix noise is used in accordance with the noise usage rate corresponding to the pixel to be processed, and the accumulated error is in accordance with the error usage rate corresponding to the pixel. Is used. Therefore, according to this example, for example, even when performing multi-gradation quantization, for example, a quantization process that makes good use of a portion that each process of the dither process and the error diffusion process is good at is appropriately performed. It can be carried out.

また、この場合、ハイライト部におけるドットの遅延の発生を適切に抑えることができるため、例えば、サイズの異なるドットが混ざり始める部分においても、ドットの遅延の発生を適切に解消できる。また、これにより、例えば、ドットサイズの変化を滑らかにできる。更には、ディザ処理と誤差拡散処理とを濃度値によって単に切り替える場合等と異なり、ディザ処理と誤差拡散処理の切り替え部分で境界線が発生することもない。そのため、本例によれば、例えば、多階調の量子化をより適切に行うことができる。これにより、例えば、画素の濃度値に合わせて、形成すべきドットサイズを適切に設定できる。また、多階調の量子化をより適切に行い、高精細な高い品質の画像を適切に印刷できる。   In this case, since the occurrence of dot delay in the highlight portion can be appropriately suppressed, for example, the occurrence of dot delay can be appropriately eliminated even in a portion where dots of different sizes start to mix. Thereby, for example, the change in dot size can be smoothed. Furthermore, unlike the case where the dither processing and the error diffusion processing are simply switched according to the density value, no boundary line is generated at the switching portion between the dither processing and the error diffusion processing. Therefore, according to this example, for example, multi-tone quantization can be performed more appropriately. Thereby, for example, the dot size to be formed can be appropriately set according to the density value of the pixel. In addition, multi-tone quantization can be performed more appropriately, and high-definition, high-quality images can be printed appropriately.

図16は、量子化実行処理S612における処理の変形例を示すフローチャートである。尚、以下に説明する点を除き、図16において、図14と同じ符号を付したステップは、図14におけるステップと同一又は同様の処理を行う。   FIG. 16 is a flowchart showing a modification of the process in the quantization execution process S612. Except for the points described below, in FIG. 16, steps denoted by the same reference numerals as those in FIG. 14 perform the same or similar processing as the steps in FIG.

本例において、画像処理装置12は、多階調の量子化の結果を示す出力値の設定を、Large用量子化処理S642、Middle用量子化処理S652、Small用量子化処理S662の外部の別のステップにおいて行う。   In this example, the image processing apparatus 12 sets an output value indicating the result of multi-gradation quantization separately from the Large quantization process S642, the Middle quantization process S652, and the Small quantization process S662. In the steps of

例えば、Large用処理S640において、画像処理装置12は、Large用量子化処理S642、及びLarge用誤差分配処理S644を行った後、Large用量子化処理S642の結果の判定を行う(量子化結果判定処理S646)。そして、Largeドットについての量子化結果がOFF、すなわち、誤差補正済入力値がノイズ補正済閾値以下であった場合(S646:Yes)、出力値の値を変更することなく、次のMiddle用処理S650へ進む。また、Largeドットについての量子化結果がON、すなわち、誤差補正済入力値がノイズ補正済閾値より大きかった場合(S646:No)、出力値を、Largeドットに対応する値に設定し(出力値設定処理S648)、次のMiddle用処理S650へ進む。   For example, in the large process S640, the image processing apparatus 12 performs the large quantization process S642 and the large error distribution process S644, and then determines the result of the large quantization process S642 (quantization result determination). Process S646). If the quantization result for the Large dot is OFF, that is, the error-corrected input value is equal to or less than the noise-corrected threshold value (S646: Yes), the next Middle processing is performed without changing the output value. Proceed to S650. When the quantization result for the Large dot is ON, that is, when the error-corrected input value is larger than the noise-corrected threshold (S646: No), the output value is set to a value corresponding to the Large dot (output value). The setting process S648) proceeds to the next Middle process S650.

尚、本例のLarge用処理S640において、画像処理装置12は、例えば、図15を用いて説明した処理のように出力値の変更を行う代わりに、量子化結果がON又はOFFのいずれであったかを示す情報を、後の処理へ受け渡す。量子化結果判定処理S646において、画像処理装置12は、この情報に基づき、量子化結果を判定する。   In the large process S640 in this example, the image processing apparatus 12 has determined whether the quantization result is ON or OFF instead of changing the output value as in the process described with reference to FIG. Is transferred to the subsequent processing. In the quantization result determination process S646, the image processing apparatus 12 determines the quantization result based on this information.

Middle用処理S650において、画像処理装置12は、Large用処理S640と同様にして、Middle用量子化処理S652、Middle用誤差分配処理S654、量子化結果判定処理S656、及び出力値設定処理S658を行う。Middle用量子化処理S652、Middle用誤差分配処理S654、量子化結果判定処理S656、及び出力値M設定処理S658のそれぞれは、Largeドットに対応する各パラメータの代わりにMiddleドットに対応する各パラメータを使用する以外は、Large用量子化処理S642、Large用誤差分配処理S644、量子化結果判定処理S646、及び出力値設定処理S648のそれぞれと、同一又は同様の処理である。   In the middle processing S650, the image processing apparatus 12 performs the middle quantization processing S652, the middle error distribution processing S654, the quantization result determination processing S656, and the output value setting processing S658 in the same manner as the large processing S640. . The middle quantization process S652, the middle error distribution process S654, the quantization result determination process S656, and the output value M setting process S658 each replaces each parameter corresponding to the middle dot with each parameter corresponding to the large dot. Except for the use, the processing is the same as or similar to the Large quantization processing S642, the Large error distribution processing S644, the quantization result determination processing S646, and the output value setting processing S648.

また、Small用処理S660において、画像処理装置12は、Large用処理S640と同様にして、Small用量子化処理S662、Small用誤差分配処理S664、量子化結果判定処理S666、出力値設定処理S668、及び出力値0設定処理S670を行う。このうち、Small用量子化処理S662、Small用誤差分配処理S664、量子化結果判定処理S666、及び出力値設定処理S668のそれぞれは、Largeドットに対応する各パラメータの代わりにSmallドットに対応する各パラメータを使用する以外は、Large用量子化処理S642、Large用誤差分配処理S644、量子化結果判定処理S646、及び出力値設定処理S648のそれぞれと、同一又は同様の処理である。   In the Small process S660, the image processing apparatus 12 performs the Small quantization process S662, the Small error distribution process S664, the quantization result determination process S666, the output value setting process S668, in the same manner as the Large process S640. And the output value 0 setting process S670 is performed. Among these, each of the Small quantization process S662, the Small error distribution process S664, the quantization result determination process S666, and the output value setting process S668, each corresponding to the Small dot instead of each parameter corresponding to the Large dot. Except for the use of parameters, the processing is the same as or similar to the Large quantization processing S642, the Large error distribution processing S644, the quantization result determination processing S646, and the output value setting processing S648.

また、Small用処理S660の量子化結果判定処理S666において、Smallドットについての量子化結果がOFFであった場合(S666:Yes)、画像処理装置12は、出力値0設定処理S670に進み、出力値を、ドットを形成しない場合に対応する値である0に設定する。本例においても、多階調の量子化の処理を適切に行うことができる。   In the quantization result determination process S666 of the Small process S660, when the quantization result for the Small dot is OFF (S666: Yes), the image processing apparatus 12 proceeds to the output value 0 setting process S670, and outputs it. The value is set to 0, which is a value corresponding to the case where no dot is formed. Also in this example, multi-tone quantization processing can be performed appropriately.

図17は、多階調の量子化の処理の第2の例を示すフローチャートであり、図11におけるステップS604とS614との間で実行される処理の変形例を示す。尚、以下に説明する点を除き、図17において、図11〜図16と同じ符号を付したステップは、図11〜図16におけるステップと同一又は同様の処理を行う。   FIG. 17 is a flowchart showing a second example of the multi-tone quantization process, and shows a modification of the process executed between steps S604 and S614 in FIG. Except for the points described below, in FIG. 17, steps denoted by the same reference numerals as in FIGS. 11 to 16 perform the same or similar processing as the steps in FIGS. 11 to 16.

本例において、画像処理装置12は、S604に続いて、画素選択処理S606及び入力値算出処理S608を行う。これらの処理は、例えば、図11を用いて説明した画素選択処理S606及び入力値算出処理S608と同じ処理であってよい。また、画像処理装置12は、例えば入力値算出処理S608において、図11の処理とは異なるドットサイズ決定テーブルを用いて、Lカーブ値、Mカーブ値、Sカーブ値等を算出してもよい。   In this example, the image processing apparatus 12 performs a pixel selection process S606 and an input value calculation process S608 following S604. These processes may be, for example, the same processes as the pixel selection process S606 and the input value calculation process S608 described with reference to FIG. Further, for example, in the input value calculation process S608, the image processing apparatus 12 may calculate the L curve value, the M curve value, the S curve value, and the like using a dot size determination table different from the process of FIG.

続いて、画像処理装置12は、Large用処理S640、Middle用処理S650、及びSmall用処理S660を並列に行う。これらの処理は、各ドットサイズに対応する量子化及び誤差配分の処理である。画像処理装置12は、これらの処理において、例えば図14を用いて説明したLarge用処理S640、Middle用処理S650、及びSmall用処理S660と同様に、それぞれのドットサイズに対応する量子化処理と、誤差配分処理とを行う。   Subsequently, the image processing apparatus 12 performs a large process S640, a middle process S650, and a small process S660 in parallel. These processes are quantization and error distribution processes corresponding to each dot size. In these processes, the image processing apparatus 12 performs a quantization process corresponding to each dot size, similarly to the large process S640, the middle process S650, and the small process S660 described with reference to FIG. Perform error distribution processing.

この量子化処理において、画像処理装置12は、例えば、図15を用いて説明したLarge用量子化処理S642と同様の処理を行う。但し、この場合、画像処理装置12は、例えば、図15におけるステップS702、S704を省略し、ステップS706から処理を開始する。また、S708、及びS716に対応する処理において、画像処理装置12は、例えば、出力値を直接変更する代わりに、量子化処理の出力結果を示す別のパラメータに、各ドットサイズに対応する値を設定する。   In this quantization process, for example, the image processing apparatus 12 performs the same process as the Large quantization process S642 described with reference to FIG. However, in this case, for example, the image processing apparatus 12 omits steps S702 and S704 in FIG. 15 and starts the processing from step S706. In the processing corresponding to S708 and S716, for example, instead of directly changing the output value, the image processing apparatus 12 sets a value corresponding to each dot size in another parameter indicating the output result of the quantization processing. Set.

尚、本例において、各ドットサイズに対応する値とは、Largeドット、Middleドット、及びSmallドットのそれぞれに対応する値である。また、本例において、Largeドットに対応する値は、Middleドットに対応する値よりも大きな値である。Middleドットに対応する値は、Smallドットに対応する値よりも大きな値である。Smallドットに対応する値は、ドットを形成しない状態を示す値である0よりも大きな値である。また、Large用処理S640、Middle用処理S650、及びSmall用処理S660において、画像処理装置12は、例えば、図14におけるLarge用誤差分配処理S644、Middle用誤差分配処理S654、及びSmall用誤差分配処理S664と同様に、誤差配分の処理を行う。   In this example, the value corresponding to each dot size is a value corresponding to each of a large dot, a middle dot, and a small dot. In this example, the value corresponding to the Large dot is larger than the value corresponding to the Middle dot. The value corresponding to the Middle dot is a value larger than the value corresponding to the Small dot. The value corresponding to the Small dot is a value larger than 0 which is a value indicating a state where no dot is formed. In the large process S640, the middle process S650, and the small process S660, the image processing apparatus 12 performs, for example, the large error distribution process S644, the middle error distribution process S654, and the small error distribution process in FIG. Similar to S664, error distribution processing is performed.

これらの並列処理の後、画像処理装置12は、次の処理を行うS682へ進み、入力値算出処理S608において0に初期化した出力値と、Large用処理S640中の量子化処理の出力結果とを比較する(S682)。そして、量子化処理の出力結果の方が出力値よりも大きい場合(S682:Yes)、出力値を、Largeドットに対応する値に設定し(S684)、次のステップS614へ進む。   After these parallel processes, the image processing apparatus 12 proceeds to S682 for performing the next process, and the output value initialized to 0 in the input value calculation process S608, the output result of the quantization process in the large process S640, and Are compared (S682). If the output result of the quantization process is larger than the output value (S682: Yes), the output value is set to a value corresponding to the Large dot (S684), and the process proceeds to the next step S614.

また、S682において、量子化処理の出力結果が出力値以下であった場合(S682:No)、画像処理装置12は、出力値と、Middle用処理S650中の量子化処理の出力結果とを比較する(S686)。そして、量子化処理の出力結果の方が出力値よりも大きい場合(S686:Yes)、出力値を、Middleドットに対応する値に設定し(S688)、次のステップS614へ進む。   In S682, when the output result of the quantization process is equal to or less than the output value (S682: No), the image processing apparatus 12 compares the output value with the output result of the quantization process in the Middle process S650. (S686). If the output result of the quantization process is larger than the output value (S686: Yes), the output value is set to a value corresponding to the Middle dot (S688), and the process proceeds to the next step S614.

また、S686において、量子化処理の出力結果が出力値以下であった場合(S686:No)、画像処理装置12は、出力値と、Small用処理S650中の量子化処理の出力結果とを比較する(S690)。そして、量子化処理の出力結果の方が出力値よりも大きい場合(S690:Yes)、出力値を、Smallドットに対応する値に設定し(S692)、次のステップS614へ進む。また、S690において、量子化処理の出力結果が出力値以下であった場合(S690:No)、画像処理装置12は、出力値を初期化値である0に保ったまま、次のステップS614へ進む。   In S686, when the output result of the quantization process is equal to or less than the output value (S686: No), the image processing apparatus 12 compares the output value with the output result of the quantization process in the Small process S650. (S690). If the output result of the quantization process is larger than the output value (S690: Yes), the output value is set to a value corresponding to the Small dot (S692), and the process proceeds to the next step S614. In S690, if the output result of the quantization process is equal to or less than the output value (S690: No), the image processing apparatus 12 proceeds to the next step S614 while keeping the output value at 0, which is the initialization value. move on.

このように構成した場合、画像処理装置12は、多階調の量子化の処理のそれぞれ一部として、2階調の量子化の処理を、Largeドット用処理S640、Middleドット用処理S650、及びSmallドット用処理S660のそれぞれにおいて実行する。そして、それぞれのドットサイズ毎の処理の後、それぞれの処理の出力結果に基づく比較を順次行い、ドットがONの状態となったドットサイズのうち、最も大きなドットサイズに対応する値を、多階調の量子化の処理の出力値に設定する。また、全てのドットサイズに対応する処理においてドットが配置されない結果(OFF)となった場合、出力値として、ドットを形成しない状態に対応する値0を設定する。本例においても、例えば、ディザ処理及び誤差拡散処理のそれぞれの処理が得意とする部分を活かして、多階調の量子化の処理を適切に行うことができる。   When configured in this manner, the image processing apparatus 12 performs the two-tone quantization process as a part of the multi-tone quantization process as a large dot process S640, a middle dot process S650, and This is executed in each of the small dot processing S660. Then, after the processing for each dot size, the comparison based on the output result of each processing is sequentially performed, and the value corresponding to the largest dot size among the dot sizes in which the dots are in the ON state is calculated. Set to the output value of the key quantization process. Further, when the result corresponding to all dot sizes results in no dots being placed (OFF), the value 0 corresponding to the state in which no dots are formed is set as the output value. In this example as well, for example, multi-tone quantization processing can be appropriately performed by making use of the advantages of the dither processing and error diffusion processing.

以下、本発明の更なる変形例について説明する。図18は、算出したノイズ使用率を補正する処理の一例を示すフローチャートである。画像処理装置12は、このフローチャートの処理を、例えば、Largeドット用処理S640、Middleドット用処理S650、及びSmallドット用処理S660の中で、量子化の処理の前に実行する。   Hereinafter, further modifications of the present invention will be described. FIG. 18 is a flowchart illustrating an example of a process for correcting the calculated noise usage rate. The image processing apparatus 12 executes the process of this flowchart before the quantization process in, for example, the Large dot process S640, the Middle dot process S650, and the Small dot process S660.

尚、以下に説明する処理は、例えば、図17を用いて説明した多階調の量子化の処理に対して適用できる。また、例えば、図11〜16を用いて説明した多階調の量子化の処理に対して適用してもよい。   Note that the process described below can be applied to the multi-tone quantization process described with reference to FIG. Further, for example, the present invention may be applied to the multi-gradation quantization process described with reference to FIGS.

ディザマトリクスノイズ及び累積誤差の両方を用いる2階調の量子化の処理(ハイブリッド誤差拡散処理)を、例えば図17を用いて説明した処理のように、各ドットサイズ毎に行った場合、ドットサイズによって,誤差使用率及びノイズ使用率が異なり、ドットの配置に若干の相違が生じる場合がある。そして、その結果、干渉が生じ、印刷結果においてドットが玉状となる部分が生じる場合がある。   When two-tone quantization processing (hybrid error diffusion processing) using both dither matrix noise and accumulated error is performed for each dot size, for example, as described with reference to FIG. Depending on the error, the error usage rate and the noise usage rate are different, and the dot arrangement may be slightly different. And as a result, interference arises and the part where a dot becomes a ball shape in a printing result may arise.

これに対しては、例えば、各ドットサイズ毎のノイズ使用率の差を小さくする補正を行うことにより、玉状となる部分の発生を抑えることができる。この補正の処理は、例えば、予め設定された関係式から算出したノイズ使用率に対し、処理中のドットサイズ以外のドットサイズに対応するカーブ値に応じて、ノイズ使用率を変動させることで実行できる。   In response to this, for example, by performing a correction that reduces the difference in noise usage rate for each dot size, the occurrence of a ball-shaped portion can be suppressed. This correction process is executed by, for example, varying the noise usage rate according to the curve value corresponding to the dot size other than the dot size being processed with respect to the noise usage rate calculated from a preset relational expression. it can.

より具体的には、例えば、Largeドット用処理S640の中でノイズ使用率の補正を行う場合、画像処理装置12は、図18のフローチャートに示すように、先ず、図13を用いて説明したノイズ使用率算出処理S620で算出したノイズ使用率に対し、ノイズ使用率が最大値であるか否かを判定する(S802)。そして、最大値ではない場合(S802:No)、Middleドット及びSmallドットのそれぞれに対応する段階毎入力値であるMカーブ値及びSカーブ値のそれぞれについて、シャドウ側ノイズ使用率最大濃度値Snよりも大きいか否かを判定する(S804)。   More specifically, for example, when the noise usage rate is corrected in the large dot processing S640, the image processing apparatus 12 first performs the noise described with reference to FIG. 13 as shown in the flowchart of FIG. It is determined whether the noise usage rate is the maximum value with respect to the noise usage rate calculated in the usage rate calculation processing S620 (S802). If it is not the maximum value (S802: No), for each of the M curve value and S curve value, which are input values for each stage corresponding to each of the Middle dot and Small dot, from the shadow-side noise use rate maximum density value Sn. Is also larger (S804).

そして、いずれかのカーブ値がシャドウ側ノイズ使用率最大濃度値Snよりも大きい場合(S804:Yes)、Largeドットに対応するノイズ使用率に対し、予め設定された使用率加算値RnAddを加算する。これにより、画像処理装置12は、処理中のドットサイズ以外のカーブ値がシャドウ側ノイズ使用率最大濃度値Snよりも大きい場合、ノイズ使用率算出処理S620で算出したノイズ使用率を、少し大きな値に補正する(S806)。そして、補正後のノイズ使用率を、量子化の処理で用いる新たなノイズ使用率に決定する(S808)。   If any of the curve values is larger than the shadow-side noise usage rate maximum density value Sn (S804: Yes), a preset usage rate addition value RnAdd is added to the noise usage rate corresponding to the Large dot. . As a result, when the curve value other than the dot size being processed is larger than the shadow-side noise usage rate maximum density value Sn, the image processing apparatus 12 sets the noise usage rate calculated in the noise usage rate calculation processing S620 to a slightly larger value. (S806). Then, the corrected noise usage rate is determined as a new noise usage rate used in the quantization process (S808).

尚、S802において、ノイズ使用率が最大値であると判定した場合(S802:Yes)、画像処理装置12は、ノイズ使用率の補正を行わず、そのままのノイズ使用率を、量子化の処理で用いるノイズ使用率に決定する(S808)。また、Middleドット用処理S650の中でノイズ使用率の補正を行う場合、S804において、画像処理装置12は、Lカーブ値又はSカーブ値のいずれかがシャドウ側ノイズ使用率最大濃度値Snよりも大きいか否かを判定する。Smallドット用処理S660の中でノイズ使用率の補正を行う場合、S804において、画像処理装置12は、Lカーブ値又はMカーブ値のいずれかがシャドウ側ノイズ使用率最大濃度値Snよりも大きいか否かを判定する。   If it is determined in S802 that the noise usage rate is the maximum value (S802: Yes), the image processing apparatus 12 does not correct the noise usage rate and converts the noise usage rate as it is by the quantization process. The noise usage rate to be used is determined (S808). When correcting the noise usage rate in the middle dot processing S650, in S804, the image processing apparatus 12 determines that either the L curve value or the S curve value is greater than the shadow side noise usage rate maximum density value Sn. Determine whether it is larger. When the noise usage rate is corrected in the small dot processing S660, in S804, the image processing apparatus 12 determines whether either the L curve value or the M curve value is larger than the shadow side noise usage rate maximum density value Sn. Determine whether or not.

このようにした場合、例えば、処理中のドットサイズについて誤差使用率が大きく、ノイズ使用率が小さな状態であり、他のドットサイズについてはノイズ使用率が大きい場合に、処理中のドットサイズのノイズ使用率を、少し大きな値に適切の補正できる。また、少し大きな値のノイズ使用率を使用することにより、各ドットサイズに対応するノイズ使用率の差が小さくなり、均一化する。そのため、本例によれば、例えば、ドットの配置にドットサイズ毎の相違が生じることを適切に抑えることができる。また、これにより、印刷結果においてドットが玉状となる部分が生じることを適切に抑えることができる。   In this case, for example, when the error usage rate is large and the noise usage rate is low for the dot size being processed, and the noise usage rate is high for other dot sizes, the noise of the dot size being processed The usage rate can be appropriately corrected to a slightly large value. Also, by using a slightly larger value of the noise usage rate, the difference in noise usage rate corresponding to each dot size is reduced and uniformized. Therefore, according to this example, it is possible to appropriately suppress, for example, a difference in dot arrangement for each dot size. Moreover, it can suppress appropriately that the part from which a dot becomes a ball shape arises in a printing result by this.

図19は、ノイズ使用率の補正を行う範囲の一例を、ドットサイズ決定テーブルの例と共に示す。尚、以下に説明するドットサイズ決定テーブルは、図12を用いて説明したドットサイズ決定テーブルの変形例であり、例えば図17を用いて説明した多階調の量子化の処理において使用できる。また、これらのドットサイズ決定テーブルは、例えば、図11〜図16を用いて説明した多階調の量子化の処理において使用してもよい。   FIG. 19 shows an example of a range for correcting the noise usage rate together with an example of a dot size determination table. The dot size determination table described below is a modification of the dot size determination table described with reference to FIG. 12, and can be used, for example, in the multi-tone quantization process described with reference to FIG. Further, these dot size determination tables may be used in the multi-tone quantization process described with reference to FIGS.

図19(a)は、ドットサイズ決定テーブルの一例を示す。図19(b)は、ドットサイズ決定テーブルの他の例を示す。ドットサイズ決定テーブルは、例えば印刷装置の性能、画像形成処理の内容、又は求める印刷結果等に応じて、様々に変更可能である。そのため、図17を用いて説明した多階調の量子化の処理においては、図12(a)に示したドットサイズ決定テーブルに代えて、図19(a)のようなドットサイズ決定テーブルを用いることもできる。   FIG. 19A shows an example of a dot size determination table. FIG. 19B shows another example of the dot size determination table. The dot size determination table can be variously changed according to, for example, the performance of the printing apparatus, the contents of the image forming process, or the desired printing result. Therefore, in the multi-tone quantization process described with reference to FIG. 17, a dot size determination table as shown in FIG. 19A is used instead of the dot size determination table shown in FIG. You can also

この場合、例えば、図17における入力値算出処理S608において、画像処理装置12は、入力値である濃度値に応じて、Largeドットカーブが示す値を、Lカーブ値に設定する。また、Middleドットカーブが示す値と、Lカーブ値とを加算した値を、Mカーブ値に設定する。Smallドットカーブが示す値と、Mカーブ値とを加算した値を、Sカーブ値に設定する。   In this case, for example, in the input value calculation process S608 in FIG. 17, the image processing apparatus 12 sets the value indicated by the large dot curve to the L curve value according to the density value that is the input value. Further, a value obtained by adding the value indicated by the Middle dot curve and the L curve value is set as the M curve value. A value obtained by adding the value indicated by the Small dot curve and the M curve value is set as the S curve value.

また、ドットサイズ決定テーブルとしては、例えば、図19(b)のようなドットサイズ決定テーブルを用いることもできる。この場合、例えば、図17における入力値算出処理S608において、画像処理装置12は、図11における入力値算出処理S608と同一又は同様にして、Lカーブ値、Mカーブ値、及びSカーブ値を算出する。   Further, as the dot size determination table, for example, a dot size determination table as shown in FIG. 19B can be used. In this case, for example, in the input value calculation process S608 in FIG. 17, the image processing apparatus 12 calculates the L curve value, the M curve value, and the S curve value in the same or similar manner as the input value calculation process S608 in FIG. To do.

以上のようにした場合も、Lカーブ値、Mカーブ値、及びSカーブ値をそれぞれ適切に算出できる。また、これら場合、画像処理装置12は、各図において、網掛けの四角で囲った範囲において、ノイズ使用率の補正を行う。以上のようにすれば、例えば、ノイズ使用率の補正を適切に行うことができる。また、これにより、高い品質の印刷をより適切に行うことができる。   Also in the case described above, the L curve value, the M curve value, and the S curve value can be calculated appropriately. In these cases, the image processing apparatus 12 corrects the noise usage rate in a range surrounded by a shaded square in each figure. In this way, for example, it is possible to appropriately correct the noise usage rate. This also makes it possible to perform high-quality printing more appropriately.

以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。   As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be added to the above embodiment. It is apparent from the description of the scope of claims that embodiments with such changes or improvements can be included in the technical scope of the present invention.

本発明は、例えば、量子化をコンピュータに行わせるプログラムに好適に利用できる。   The present invention can be suitably used for a program that causes a computer to perform quantization, for example.

10・・・印刷システム、12・・・画像処理装置、14・・・印刷装置 DESCRIPTION OF SYMBOLS 10 ... Printing system, 12 ... Image processing apparatus, 14 ... Printing apparatus

Claims (8)

画像中の各画素の色の濃度を示す濃度値を3段階以上の離散的な値に変換する処理である多階調の量子化の処理をコンピュータに行わせるプログラムであって、
前記量子化を行うべき画素を順次選択する画素選択処理と、
予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理であり、前記画素選択処理で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理と、
前記画素選択処理で順次選択される前記画素の前記濃度値に対する前記量子化を行う処理であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理と
を前記コンピュータに実行させ、
前記使用率決定処理は、前記画素の濃度値がいずれの場合にも、前記ノイズ使用率を、0より大きな値に予め設定された最低ノイズ使用率以上の値に設定し、
ハイライト部と中間調部との間において、前記ハイライト部から前記中間調部へ向かう方向への前記画素の濃度値の変化に対し、前記ノイズ使用率を徐々に小さくし、かつ、前記誤差使用率を徐々に大きくし、
前記中間調部とシャドウ部との間において、前記中間調部から前記シャドウ部へ向かう方向への前記画素の濃度値の変化に対し、前記ノイズ使用率を徐々に大きくし、かつ、前記誤差使用率を徐々に小さくすることを特徴とするプログラム。
A program for causing a computer to perform a multi-tone quantization process, which is a process of converting a density value indicating the color density of each pixel in an image into a discrete value of three or more stages,
A pixel selection process for sequentially selecting the pixels to be quantized;
Accumulate a noise usage rate indicating the degree of influence of the dither matrix noise, which is noise specified by a preset dither matrix, on the quantization process, and a quantization error that is an error generated in the quantization of surrounding pixels. And determining an error usage rate indicating a degree of influence of the accumulated error on the quantization process, and according to the density value of pixels sequentially selected in the pixel selection process, the pixel corresponding to the pixel A usage rate determination process for determining a noise usage rate and the error usage rate;
A process for performing the quantization on the density values of the pixels sequentially selected in the pixel selection process, using dither matrix noise according to the noise usage rate corresponding to the pixel, and corresponding to the pixel And causing the computer to execute a quantization execution process for performing the quantization using the accumulated error according to the error usage rate,
The usage rate determination process sets the noise usage rate to a value greater than or equal to a minimum noise usage rate preset to a value greater than 0, regardless of the density value of the pixel .
The noise usage rate is gradually reduced with respect to the change in the density value of the pixel in the direction from the highlight portion toward the halftone portion between the highlight portion and the halftone portion, and the error is increased. Gradually increase the usage rate,
Between the halftone portion and the shadow portion, the noise usage rate is gradually increased with respect to a change in the density value of the pixel in the direction from the halftone portion to the shadow portion, and the error use is performed. A program characterized by gradually decreasing the rate .
前記3段階以上の離散的な値は、最小の前記濃度値を量子化した結果に対応する値である最低量子化値と、最小の前記濃度値よりもそれぞれ所定量以上大きな値を量子化した結果に対応する値であり、前記最低量子化値よりも大きな離散的な値である2段階以上の量子化結果値とを少なくとも含み、
前記量子化実行処理は、前記2段階以上の量子化結果値のそれぞれに対応して行う処理であり、前記濃度値を量子化した結果を当該量子化結果値以上の値とすべきか否かを判定する段階毎判定処理を含み、
前記2段階以上の量子化結果値の少なくともいずれかに対応して行われる前記段階毎判定処理は、処理の対象となる前記画素に対応する前記ノイズ使用率に応じて前記ディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して、前記最低量子化値と、当該量子化結果値との2階調の間での2階調の量子化の処理を行い、
前記量子化実行処理は、前記2段階以上の量子化結果値のそれぞれに対応する前記段階毎判定処理の結果に基づき、前記3段階以上の離散的な値のいずれかの値を、前記画素選択処理で順次選択される画素の濃度値に対する前記多階調の量子化の結果に決定することを特徴とすることを特徴とする請求項1に記載のプログラム。
The discrete values of the three or more levels are quantized by a minimum quantized value that is a value corresponding to a result of quantizing the minimum density value and a value that is larger than the minimum density value by a predetermined amount or more. A value corresponding to the result, and including at least two or more stages of quantization result values that are discrete values larger than the lowest quantization value,
The quantization execution process is a process performed corresponding to each of the two or more stages of quantization result values, and whether or not the result of quantizing the density value should be a value greater than or equal to the quantization result value. Including stage-by-stage judgment processing,
The determination processing for each step performed corresponding to at least one of the two or more quantization result values uses the dither matrix noise according to the noise usage rate corresponding to the pixel to be processed. And, using the accumulated error according to the error usage rate corresponding to the pixel, quantization of two gradations between the two gradations of the lowest quantization value and the quantization result value Process
In the quantization execution process, one of the discrete values of the three or more stages is selected as the pixel selection based on the result of the determination process for each stage corresponding to each of the quantization result values of the two or more stages. 2. The program according to claim 1, wherein the program is determined as a result of the multi-gradation quantization with respect to a density value of pixels sequentially selected in processing.
前記プログラムは、印刷装置が解釈可能な形式により画像を示す印刷可能データを形成する画像形成処理中において、前記多階調の量子化を前記コンピュータに行わせ、
前記印刷装置は、ドットサイズの異なる複数種類のインク滴を吐出することで多階調の印刷を行うインクジェットプリンタであり、
前記2段階以上の量子化結果値のそれぞれは、前記複数種類のインク滴のそれぞれのドットサイズと対応付けられており、
前記段階毎判定処理は、前記2階調の量子化の処理を行うことにより、当該段階毎判定処理に対応する前記ドットサイズのインク滴のドットを形成するか否かを判定し、
いずれの前記段階毎判定処理においても前記ドットを形成すると判定されなかった場合、前記量子化実行処理は、前記最低量子化値を、前記多階調の量子化の結果に決定し、
いずれかの前記段階毎判定処理において前記ドットを形成すると判定された場合、前記量子化実行処理は、前記ドットを形成すると判定された前記段階毎判定処理のうち、最大の前記ドットサイズに対応する前記量子化結果値を、前記多階調の量子化の結果に決定することを特徴とする請求項2に記載のプログラム。
The program causes the computer to perform the multi-gradation quantization during an image forming process for forming printable data indicating an image in a format that can be interpreted by a printing apparatus,
The printing apparatus is an inkjet printer that performs multi-tone printing by ejecting a plurality of types of ink droplets having different dot sizes.
Each of the two or more stages of quantization result values is associated with the respective dot sizes of the plurality of types of ink droplets,
The step-by-step determination process determines whether or not to form dots of ink droplets of the dot size corresponding to the step-by-step determination process by performing the two-tone quantization process.
If it is not determined to form the dot in any of the determination processes for each stage, the quantization execution process determines the minimum quantization value as a result of the multi-gradation quantization,
When it is determined in any one of the determination processes for each step that the dots are formed, the quantization execution process corresponds to the maximum dot size among the determination processes for each step determined to form the dots. The program according to claim 2, wherein the quantization result value is determined as a result of the multi-tone quantization.
前記量子化実行処理は、より大きなドットサイズに対応する前記段階毎判定処理をより先に行い、
いずれかの前記ドットサイズに対応する前記段階毎判定処理において、当該ドットサイズのインク滴のドットを形成すると判定された場合、当該ドットサイズよりも小さな前記ドットサイズに対応する前記段階毎判定処理は、前記画素の濃度値にかかわらず、前記ドットを形成しないと判定することを特徴とする請求項3に記載のプログラム。
The quantization execution process first performs the determination process for each stage corresponding to a larger dot size,
In the step-by-step determination process corresponding to any one of the dot sizes, when it is determined to form a dot of an ink droplet having the dot size, the step-by-step determination process corresponding to the dot size smaller than the dot size is performed. The program according to claim 3, wherein it is determined that the dot is not formed regardless of the density value of the pixel.
前記プログラムは、それぞれの前記ドットサイズに対応する前記段階毎判定処理で入力値として用いる値である段階毎入力値を算出する処理であり、前記画素選択処理で順次選択される前記画素の前記濃度値に応じて、予め設定された入力値算出用データに基づき、それぞれの前記ドットサイズに対応する前記段階毎入力値を算出する入力値算出処理を更に前記コンピュータに実行させ、
前記段階毎入力値算出用データは、前記画素の濃度値に応じて単位面積あたりに形成すべきインク滴のドット数を、それぞれの前記ドットサイズ毎に定めるデータであり、
前記入力値算出処理は、前記画素選択処理で順次選択される前記画素の前記濃度値に対し、それぞれの前記ドットサイズに対応する前記段階毎入力値を、前記入力値算出用データにおいて当該ドットサイズに対して当該濃度値と対応付けられている前記ドット数に応じて算出し、
前記2階調の量子化を行う場合、それぞれの前記ドットサイズに対応する前記段階毎判定処理は、当該ドットサイズに対応する前記段階毎入力値に対し、前記2階調の量子化の処理を行うことを特徴とする請求項3又は4に記載のプログラム。
The program is a process of calculating an input value for each stage, which is a value used as an input value in the determination process for each stage corresponding to each of the dot sizes, and the density of the pixels sequentially selected in the pixel selection process In accordance with the value, based on preset input value calculation data, the computer further executes an input value calculation process for calculating the input value for each stage corresponding to each dot size,
The input value calculation data for each stage is data that determines the number of dots of ink droplets to be formed per unit area according to the density value of the pixel for each dot size.
In the input value calculation process, the input value for each step corresponding to each dot size is set in the input value calculation data for the density value of the pixels sequentially selected in the pixel selection process. Is calculated according to the number of dots associated with the density value,
When performing the two-gradation quantization, the step-by-step determination processing corresponding to each dot size performs the two-gradation quantization processing on the step-by-step input value corresponding to the dot size. The program according to claim 3 or 4, wherein the program is executed.
前記量子化実行処理は、前記2段階以上の量子化結果値のそれぞれに対応して、当該量子化結果値に対応する前記累積誤差をそれぞれ算出する段階毎累積誤差算出処理を更に含み、
前記段階毎判定処理は、前記累積誤差として、当該段階毎判定処理と同じ前記量子化結果値に対応する前記累積誤差を使用し、
当該段階毎判定処理による処理の結果に基づき、前記段階毎累積誤差算出処理は、当該量子化結果値に対応する前記累積誤差を更新することを特徴とする請求項2から5のいずれかに記載のプログラム。
The quantization execution process further includes a stage-by-stage cumulative error calculation process for calculating the cumulative error corresponding to the quantization result value corresponding to each of the two or more stages of quantization result values.
The step-by-step determination process uses the cumulative error corresponding to the quantization result value that is the same as the step-by-step determination process as the cumulative error,
6. The cumulative error calculation process for each stage updates the cumulative error corresponding to the quantization result value based on a result of the process by the determination process for each stage. Program.
画像中の各画素の色の濃度を示す濃度値を3段階以上の離散的な値に変換する処理である多階調の量子化の処理を行う画像処理装置であって、
前記量子化を行うべき画素を順次選択する画素選択処理部と、
予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理部であり、前記画素選択処理部により順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理部と、
前記画素選択処理部により順次選択される前記画素の前記濃度値に対する前記量子化を行う処理部であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理部と
を備え、
前記使用率決定処理部は、前記画素の濃度値がいずれの場合にも、前記ノイズ使用率を、0より大きな値に予め設定された最低ノイズ使用率以上の値に設定し、
ハイライト部と中間調部との間において、前記ハイライト部から前記中間調部へ向かう方向への前記画素の濃度値の変化に対し、前記ノイズ使用率を徐々に小さくし、かつ、前記誤差使用率を徐々に大きくし、
前記中間調部とシャドウ部との間において、前記中間調部から前記シャドウ部へ向かう方向への前記画素の濃度値の変化に対し、前記ノイズ使用率を徐々に大きくし、かつ、前記誤差使用率を徐々に小さくすることを特徴とする画像処理装置。
An image processing apparatus that performs multi-tone quantization processing, which is processing for converting density values indicating the color density of each pixel in an image into discrete values of three or more stages,
A pixel selection processing unit that sequentially selects the pixels to be quantized;
Accumulate a noise usage rate indicating the degree of influence of the dither matrix noise, which is noise specified by a preset dither matrix, on the quantization process, and a quantization error that is an error generated in the quantization of surrounding pixels. A processing unit for determining an error usage rate indicating a degree of affecting the quantization process, and corresponding to the pixel according to the density value of pixels sequentially selected by the pixel selection processing unit. A usage rate determination processing unit for determining the noise usage rate and the error usage rate;
The processing unit that performs the quantization on the density values of the pixels sequentially selected by the pixel selection processing unit, uses dither matrix noise according to the noise usage rate corresponding to the pixel, and the pixel A quantization execution processing unit that performs the quantization using the accumulated error according to the error usage rate corresponding to
The usage rate determination processing unit sets the noise usage rate to a value equal to or higher than a minimum noise usage rate preset to a value larger than 0 regardless of the density value of the pixel .
The noise usage rate is gradually reduced with respect to the change in the density value of the pixel in the direction from the highlight portion toward the halftone portion between the highlight portion and the halftone portion, and the error is increased. Gradually increase the usage rate,
Between the halftone portion and the shadow portion, the noise usage rate is gradually increased with respect to a change in the density value of the pixel in the direction from the halftone portion to the shadow portion, and the error use is performed. An image processing apparatus characterized by gradually reducing the rate .
画像中の各画素の色の濃度を示す濃度値を3段階以上の離散的な値に変換する処理である多階調の量子化の処理を行う画像処理方法であって、
前記量子化を行うべき画素を順次選択する画素選択処理段階と、
予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理段階であり、前記画素選択処理段階において順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理段階と、
前記画素選択処理段階において順次選択される前記画素の前記濃度値に対する前記量子化を行う処理段階であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理段階と
を備え、
前記使用率決定処理段階は、前記画素の濃度値がいずれの場合にも、前記ノイズ使用率を、0より大きな値に予め設定された最低ノイズ使用率以上の値に設定し、
ハイライト部と中間調部との間において、前記ハイライト部から前記中間調部へ向かう方向への前記画素の濃度値の変化に対し、前記ノイズ使用率を徐々に小さくし、かつ、前記誤差使用率を徐々に大きくし、
前記中間調部とシャドウ部との間において、前記中間調部から前記シャドウ部へ向かう方向への前記画素の濃度値の変化に対し、前記ノイズ使用率を徐々に大きくし、かつ、前記誤差使用率を徐々に小さくすることを特徴とする画像処理方法。
An image processing method for performing a multi-tone quantization process, which is a process of converting a density value indicating a color density of each pixel in an image into a discrete value of three or more stages,
A pixel selection processing step of sequentially selecting the pixels to be quantized;
Accumulate a noise usage rate indicating the degree of influence of the dither matrix noise, which is noise specified by a preset dither matrix, on the quantization process, and a quantization error that is an error generated in the quantization of surrounding pixels. And an error usage rate indicating a degree of influence of the accumulated error on the quantization process, and corresponding to the pixel according to the density value of the pixels sequentially selected in the pixel selection process stage. A usage rate determination processing step for determining the noise usage rate and the error usage rate;
A step of performing the quantization on the density values of the pixels sequentially selected in the pixel selection processing step, using dither matrix noise according to the noise usage rate corresponding to the pixel, and the pixel A quantization execution processing stage that performs the quantization using the accumulated error in accordance with the error usage rate corresponding to:
The usage rate determination processing step sets the noise usage rate to a value equal to or higher than a minimum noise usage rate preset to a value larger than 0 regardless of the density value of the pixel .
The noise usage rate is gradually reduced with respect to the change in the density value of the pixel in the direction from the highlight portion toward the halftone portion between the highlight portion and the halftone portion, and the error is increased. Gradually increase the usage rate,
Between the halftone portion and the shadow portion, the noise usage rate is gradually increased with respect to a change in the density value of the pixel in the direction from the halftone portion to the shadow portion, and the error use is performed. An image processing method characterized by gradually reducing the rate .
JP2009222778A 2009-09-28 2009-09-28 Program, image processing apparatus, and image processing method Active JP5669249B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009222778A JP5669249B2 (en) 2009-09-28 2009-09-28 Program, image processing apparatus, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009222778A JP5669249B2 (en) 2009-09-28 2009-09-28 Program, image processing apparatus, and image processing method

Publications (2)

Publication Number Publication Date
JP2011071882A JP2011071882A (en) 2011-04-07
JP5669249B2 true JP5669249B2 (en) 2015-02-12

Family

ID=44016687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009222778A Active JP5669249B2 (en) 2009-09-28 2009-09-28 Program, image processing apparatus, and image processing method

Country Status (1)

Country Link
JP (1) JP5669249B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6691017B2 (en) * 2016-08-08 2020-04-28 株式会社ミマキエンジニアリング Modeling method and modeling system
JP7152323B2 (en) * 2019-01-18 2022-10-12 株式会社ミマキエンジニアリング PRINTING SYSTEM, IMAGE PROCESSING APPARATUS, AND PRINTING METHOD

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4107108B2 (en) * 2003-03-05 2008-06-25 コニカミノルタビジネステクノロジーズ株式会社 Image processing method and apparatus
US7369276B2 (en) * 2004-03-05 2008-05-06 Eastman Kodak Company Multi-level halftoning providing improved texture uniformity

Also Published As

Publication number Publication date
JP2011071882A (en) 2011-04-07

Similar Documents

Publication Publication Date Title
JP4634292B2 (en) Image processing apparatus, image processing method, and program for causing computer to execute the method
JP5230816B2 (en) Program, image processing apparatus, and image processing method
JP6516449B2 (en) Image processing apparatus, image forming apparatus, image processing method and program
JP5505029B2 (en) Printing apparatus, printing method, and dither mask creation method
JP4935916B2 (en) Image processing program and image processing apparatus
JP6175914B2 (en) Printing apparatus, printing method, and image processing apparatus
JP6175915B2 (en) Printing apparatus, printing method, program, and image processing apparatus
JP5115575B2 (en) Image processing program and image processing apparatus
JP5669249B2 (en) Program, image processing apparatus, and image processing method
JP5824942B2 (en) Dither matrix creation device and dither matrix creation program
JP2013258621A (en) Print controller and computer program
JP2013258570A (en) Print controller and computer program
JP3979372B2 (en) Image processing apparatus, image processing method, and image processing program
US9894245B2 (en) Image processing device including image size adjustment unit
JP6318954B2 (en) Image processing apparatus and computer program
JP3956098B2 (en) Image data processing apparatus, image data processing method, printing apparatus, image data processing program, and medium on which image data processing program is recorded
JP2020082694A (en) Dither matrix generation device and generation method, and image processing device, image processing method, and program using the dither matrix
JP7434502B2 (en) Image processing device, image processing method, program
JP7250508B2 (en) Image processing device, image processing method, and program
JP2018152666A (en) Image formation system, image formation device, image formation method, and program
JP2003219168A5 (en)
JP4548090B2 (en) Image processing apparatus, image processing method, computer program, and printing apparatus
JP2007097064A (en) Image processing apparatus, image processing method, and image processing program
US7528992B2 (en) Image processing device and image processing method
JP2005354129A (en) Execution of halftoning dependent on image

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141212

R150 Certificate of patent or registration of utility model

Ref document number: 5669249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250