WO2011036735A1 - プログラム、画像処理装置、及び画像処理方法 - Google Patents

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

Info

Publication number
WO2011036735A1
WO2011036735A1 PCT/JP2009/004934 JP2009004934W WO2011036735A1 WO 2011036735 A1 WO2011036735 A1 WO 2011036735A1 JP 2009004934 W JP2009004934 W JP 2009004934W WO 2011036735 A1 WO2011036735 A1 WO 2011036735A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
usage rate
error
noise
pixel
Prior art date
Application number
PCT/JP2009/004934
Other languages
English (en)
French (fr)
Inventor
原山健次
Original Assignee
株式会社ミマキエンジニアリング
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 株式会社ミマキエンジニアリング filed Critical 株式会社ミマキエンジニアリング
Priority to KR1020127007912A priority Critical patent/KR101350881B1/ko
Priority to PCT/JP2009/004934 priority patent/WO2011036735A1/ja
Priority to JP2011532816A priority patent/JP5230816B2/ja
Priority to EP09849766.2A priority patent/EP2485471B1/en
Priority to CN200980161666.2A priority patent/CN102687495B/zh
Priority to US13/498,328 priority patent/US8693057B2/en
Publication of WO2011036735A1 publication Critical patent/WO2011036735A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • H04N1/4052Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size

Definitions

  • the present invention relates to a program, an image processing apparatus, and an image processing method.
  • 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.
  • dither processing and error diffusion processing are known as quantization processing methods.
  • Patent Documents 1 and 2 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).
  • dither processing and error diffusion processing are selectively used depending on the density range.
  • 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.
  • Dither processing is a method of applying a dither matrix value (noise) to pixel data to determine 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.
  • a dither matrix value noise
  • 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.
  • 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.
  • the inventor of the present application has paid attention to the fact that dither processing has different ease of texture generation depending on the pixel density based on diligent research.
  • 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.
  • the present invention has the following configuration.
  • (Configuration 1) A program for causing a computer to quantize a density value indicating the color density of each pixel in an image, a pixel selection process for sequentially selecting pixels to be quantized, and a preset dither
  • the noise usage rate which indicates the degree to which the dither matrix noise, which is the noise specified by the matrix, affects the quantization process, and the accumulated error that is the accumulated quantization error, which is the error that occurs in the quantization of surrounding pixels, is quantized.
  • This is a process for determining the error usage rate indicating the degree of influence on the processing, and determining the noise usage rate and the error usage rate corresponding to the pixel in accordance with the density value of the pixels sequentially selected in the pixel selection processing.
  • ⁇ Dither processing and error diffusion processing differ in the density range where good image quality 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.
  • the spatial frequency characteristic of the error diffusion process (hereinafter, error diffusion characteristic) can be affected by the spatial frequency characteristic of the dither process (hereinafter, dither characteristic).
  • error diffusion characteristic the spatial frequency characteristic of the dither process
  • dither characteristic the spatial frequency characteristic of the dither process
  • 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.
  • pixel lines are sequentially selected, and pixels in the selected line are sequentially selected along a predetermined processing direction.
  • 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.
  • the quantization process becomes a bidirectional process, and the error diffusion direction is not constant, so that the dots can be more appropriately dispersed.
  • the usage rate determination process determines, for example, the noise usage rate and the error usage rate according to a preset calculation formula.
  • a preset calculation formula 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.
  • this enables smooth switching of the quantization processing method.
  • the optimum value of the parameter can be determined appropriately by, for example, experiments.
  • this program causes a computer to execute each process for each process color, for example.
  • the dither matrix to be used may be changed for each process color.
  • 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.
  • 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.
  • this program may cause the computer to further perform, for example, processing for calculating a cumulative error.
  • 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.
  • a diffusion filter for example, a matrix of Jarvis, Judice & Ninke can be suitably used.
  • 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 corresponding to the pixel
  • An error corrected input value calculation process for calculating a value obtained by adding the product of the usage rate and the accumulated error to the density value of the pixel as an error corrected input value, and dither matrix noise as a threshold value used in quantization.
  • This is a process for calculating a noise corrected threshold that is a threshold, and a value obtained by adding the product of the noise usage rate and dither matrix noise corresponding to the pixel to a preset initial threshold is calculated as the noise corrected threshold.
  • the computer further executes the noise corrected threshold value calculation process, and the quantization execution process performs the quantization by comparing the noise corrected threshold value with the error corrected input value.
  • 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 input value of quantization. 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.
  • the degree of influence of each of the error diffusion characteristic and the dither characteristic can be appropriately set according to the input value.
  • the input value it is possible to perform a quantization process that more appropriately utilizes a portion that each process is good at.
  • the quantization execution process includes a maximum value determination process for determining whether or not a density value of a pixel that 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
  • 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.
  • 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.
  • 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).
  • 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).
  • the output value when the 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.
  • 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.
  • the density value is larger than the noise usage rate when the density value is equivalent to a halftone part between the light part and the shadow part, 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.
  • the noise usage rate is, for example, 1 (100%) in the highlight portion and the shadow portion, and changes so that the value gradually decreases as it becomes a halftone.
  • 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.
  • 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.
  • the noise usage rate is 0 (0%) and the error usage rate is 1 (100%)
  • 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.
  • 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.
  • 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.
  • the usage rate determination process includes a first highlight reference value set in advance as a reference indicating a 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.
  • 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
  • the noise usage rate is set to 1
  • the pixel density Is equal to or higher than the first halftone reference value and equal to or lower than the second halftone reference value
  • the noise usage rate is set to the lowest noise usage rate
  • the pixel density value is equal to or higher than the first highlight reference value.
  • the noise usage rate is a value that is equal to or higher than the minimum noise usage rate and 1 or less, and is gradually decreased from 1 depending on the difference between the pixel density value and the first highlight reference value.
  • the noise usage rate is a value equal to or higher than the minimum noise usage rate and 1 or lower.
  • a value gradually increased from the lowest noise usage rate is set, and the pixel density value is not less than the second highlight reference value and not more than the first shadow reference value.
  • the error usage rate is set to 1 and the pixel density value is the second highlight reference.
  • the error usage rate is a value between 0 and 1, and is set to a value that gradually decreases from 1 in accordance with the difference between the second highlight reference value and the density value.
  • the error usage rate is 0 or more and 1 or less, 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.
  • each of the error usage rate and the noise usage rate can be appropriately set according to 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.
  • 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 a density range in the highlight 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.
  • the error usage rate is the third shadow If the difference between the quasi-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.
  • An image processing apparatus for quantizing a density value indicating the color density of each pixel in an image, a pixel selection processing unit for sequentially selecting pixels to be quantized, and a preset dither
  • the noise usage rate which indicates the degree to which the dither matrix noise, which is the noise specified by the matrix, affects the quantization process, and the accumulated error that is the accumulated quantization error, which is the error that occurs in the quantization of surrounding pixels, is quantized.
  • a processing unit that determines an error usage rate indicating a degree of influence on processing, and determines a noise usage rate and an error usage rate corresponding to the pixel according to a density value of pixels sequentially selected by the pixel selection processing unit.
  • a processing unit that performs quantization on density values of pixels that are sequentially selected by the pixel selection processing unit, and according to a noise usage rate corresponding to the pixel Using the dither matrix noise, and includes a quantization execution processing unit for performing quantization using the cumulative error according to the error use rate corresponding to the pixel. If comprised in this way, the effect similar to the structure 1 can be acquired, for example.
  • the image processing apparatus may be a computer that operates according to a predetermined program, for example.
  • the CPU of the computer operates as each unit of the image processing apparatus according to the program.
  • the noise usage rate which indicates the degree to which the dither matrix noise, which is the noise specified by the matrix, affects the quantization process, and the accumulated error that is the accumulated quantization error, which is the error that occurs in the quantization of surrounding pixels, is quantized.
  • This is a processing stage for determining the error usage rate indicating the degree of influence on the processing, and the noise usage rate and the error usage rate corresponding to the pixel are determined according to the density value of the pixels sequentially selected in the pixel selection processing stage.
  • a processing stage for performing quantization on density values of pixels sequentially selected in the pixel selection processing stage Using the dither matrix noise according to's usage, and includes a quantization execution processing step of performing quantization using the cumulative error according to the error use rate corresponding to the pixel. In this way, for example, the same effect as that of Configuration 1 can be obtained.
  • 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.
  • 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
  • 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. 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.
  • 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.
  • FIG. 812 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.
  • FIG. 1 is a diagram illustrating a program according to an embodiment of the present invention.
  • FIG. 1A shows an example of the configuration of a printing system 10 that uses this program.
  • the printing system 10 includes an image processing device 12 and a printing device 14.
  • the image processing device 12 is a device 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.
  • the image processing apparatus 12 quantizes a density value that indicates at least the color density of each pixel in the original image in the image forming process.
  • 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.
  • 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.
  • 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.
  • 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.
  • FIG. 1B is a diagram showing an outline of the quantization process 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.
  • the image processing apparatus 12 performs this quantization by a method using both dither matrix noise D (i, j) and cumulative error E (x, y) (hybrid error diffusion processing). Further, the image processing apparatus 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.
  • 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.
  • 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 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.
  • 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.
  • 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.
  • this enables, for example, quantization to be performed by a method in which a dither characteristic is incorporated into the error diffusion characteristic.
  • it is possible to appropriately prevent the occurrence of a boundary line due to the switching of processing.
  • 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.
  • the image processing apparatus 12 preferably changes the dither matrix to be used for each process color.
  • 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.
  • FIG. 2 is a flowchart showing an example of an operation for performing quantization.
  • the image processing apparatus 12 performs the following processing for each process color, for example.
  • 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).
  • 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 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).
  • 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).
  • 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 ′.
  • the image processing apparatus 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).
  • the image processing apparatus 12 diffuses the quantization error Q (x, y) caused by the quantization of the pixels to the surrounding pixels according to the diffusion filter (error distribution process S112).
  • 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).
  • the image processing apparatus 12 determines whether or not the pixel subjected to quantization is the last 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.
  • the degree of influence of the error diffusion characteristic can be appropriately adjusted.
  • the degree of influence of the dither characteristic can be adjusted appropriately.
  • 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.
  • 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.
  • 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.
  • FIG. 3B is a diagram illustrating an example of the effect of the bidirectional processing.
  • 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.
  • the error diffusion direction is not constant, so that dots can be more appropriately dispersed.
  • 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.
  • 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).
  • 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.
  • 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
  • a highlight side error usage ratio maximum density value He which is an example of a second highlight reference value
  • the shadow-side error usage maximum density value Se that is an example of the first shadow reference value
  • 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
  • the highlight side noise usage rate 0% density value Hnz the highlight side noise usage rate 0% density value Snz
  • the first halftone reference value C1 the second halftone reference value C2.
  • these parameters are set so that at least He ⁇ Hn ⁇ He ⁇ Se ⁇ Sn ⁇ Ses and Hn ⁇ Hnz ⁇ Snz ⁇ Sn.
  • 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.
  • 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.
  • the error usage rate Re and the noise usage rate Rn are set to values in 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%.
  • 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.
  • the minimum noise usage rate RnMin is preferably set to 0.1 to 0.2 (10 to 20%), for example.
  • the noise usage rate Rn calculated by the calculation formula is the minimum noise usage rate RnMin. Is equal to
  • 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.
  • 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.
  • the error usage rate Re is set to (Ses-In) / (Ses-Se). ) To be calculated.
  • the error use rate Re is set to zero.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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
  • the image processing apparatus 12 sets the noise usage rate Rn to 1 Set to (100%).
  • the noise usage rate Rn is set to the lowest noise usage rate RnMin.
  • the image processing apparatus 12 sets the noise use rate Rn to be not less than the minimum noise use rate RnMin.
  • 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.
  • 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.
  • 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.
  • 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.
  • the noise usage rate Rn is increased and the error usage rate Re is decreased in the highlight portion and the shadow portion where dot delay is likely to occur when the influence of the error diffusion characteristic is strong.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • FIG. 5 is a flowchart illustrating an example of processing for calculating the error usage rate Re.
  • the image processing apparatus 12 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).
  • 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.
  • FIG. 6 is a flowchart illustrating an example of processing for calculating the noise usage rate Rn.
  • the process proceeds to S316 without changing the value of the noise usage rate Rn.
  • 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.
  • FIG. 7 is a flowchart showing an example of the operation of the quantization execution process S110.
  • 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.
  • 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.
  • the image processing apparatus 12 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 ′.
  • 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). .
  • 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.
  • FIG. 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.
  • the diffusion filter is, for example, a matrix of Jarvis, Judice & Ninke.
  • 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.
  • 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.
  • FIG. 8B shows an example of how to distribute errors.
  • 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.
  • FIG. 9 is a flowchart showing an example of the operation of 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.
  • 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.
  • a loop for sequentially changing the X coordinate is executed between steps S504 and S524.
  • 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.
  • 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.
  • the process proceeds to S510 and subsequent steps.
  • the distribution destination coordinate X ′ is smaller than the image width (S510: Yes)
  • the coordinate X ′ is 0 or more (S512: Yes)
  • the distribution destination coordinate Y ′ is smaller than the image height (S514: Yes)
  • the error value to be distributed 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).
  • the image processing apparatus 12 updates the accumulated error in accordance with the generated quantization error.
  • the image processing device 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.
  • FIG. 10 shows an example of the printing result according to this example together with the printing 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.
  • FIG. 10C shows an example of a printing result when the dithering process and the error diffusion process are simply switched depending on the density range.
  • the switching process 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.
  • dither processing and error diffusion processing are switched.
  • 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.
  • FIG. 10D shows an example of the printing result according to this example.
  • it is possible to appropriately suppress, for example, dot delay in highlight portions and shadow portions.
  • 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.
  • quantization process has been described for the case where the number of gradations after quantization is two.
  • quantization by a similar method can be applied to processing when the number of gradations is 3 or more, for example.
  • the case where the number of gradations is 3 or more is, for example, a case where three or more types of dot sizes are used.
  • the quantization process corresponding to each dot of each size is the same as or similar to that in the case of two gradations, and dither matrix noise and accumulated error are changed according to the noise usage rate and the error usage rate. Do both. Then, the output results corresponding to the dots of the respective sizes are compared, and the dot having the largest size is determined as the final output. In this way, for example, even when the number of gradations is 3 or more, the quantization process can be performed more appropriately.
  • the present invention can be suitably used for a program that causes a computer to perform quantization, for example.

Abstract

(課題)より適切な方法で量子化の処理を行う。 (解決手段)濃度値の量子化をコンピュータに行わせるプログラムであって、画素選択処理と、ディザマトリクスノイズを量子化の処理に影響させる度合いを示すノイズ使用率と、累積誤差を量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理であり、画素選択処理で順次選択される画素の濃度値に応じて、当該画素に対応するノイズ使用率及び誤差使用率を決定する使用率決定処理と、画素選択処理で順次選択される画素の濃度値に対する量子化を行う処理であり、ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、誤差使用率に応じて累積誤差を使用して量子化を行う量子化実行処理とをコンピュータに実行させる。

Description

プログラム、画像処理装置、及び画像処理方法
 本発明は、プログラム、画像処理装置、及び画像処理方法に関する。
 プリンタで画像を出力するためには、通常、画像に対する量子化の処理が必要になる。量子化の処理とは、連続階調で表現された画像を、プリンタが表現できる階調数に変換するハーフトーン処理である。従来、量子化の処理方法として、例えば、ディザ処理や誤差拡散処理が知られている。
 また、従来、ディザ処理と誤差拡散処理とを選択的に使用して量子化を行う方法が知られている(例えば、特許文献1、2参照。)。例えば、特許文献1に開示されている方法では、濃度範囲によってディザ処理と誤差拡散処理とを使い分けている。また、特許文献2に開示されている方法では、サイズが異なるN種類のドットを形成可能な印刷ヘッドを用い、ドットサイズに応じてディザ処理と誤差拡散処理とを使い分けている。
特開2006-240054号公報 特開2008-87382号公報
 ディザ処理は、ディザマトリクスの値(ノイズ)を画素のデータに当てはめ、中間調のドットの有無を決定する方法であり、ディザマトリクスを原画像にパネリングして量子化を行う。そのため、マトリクス内で発生した特定の模様が繰り返し発生してしまうテクスチャの問題が生じる場合がある。また、その結果、画質の劣化が生じる場合がある。
 尚、例えばディザ処理に特有のテクスチャの発生を防ぐためには、ディザマトリクスの値(ノイズ)を適切な値に調整することも考えられる。しかし、このような調整によりテクスチャの発生を抑えることが、多くの作業時間を要するため、実用上は困難である。
 一方、誤差拡散処理は、画素のデータと比較する閾値が用意され、予め算出された累積誤差で補正した画素のデータの値とその閾値とを比較し、その大小によって中間調のドットの有無を決定する方法である。誤差拡散処理を用いた場合、量子化によって生じる誤差を画像全体で軽減することができるため、ディザ処理で発生するようなテクスチャは発生しない。
 しかし、誤差拡散処理を用いる場合には、ハイライト部やシャドウ部での出力結果においてドットの配置が遅れてしまうドット遅延や、ドットが連なってしまうワームノイズや、中間調部でドット配置が部分的に市松模様とランダムな配置になるパタンノイズの問題が生じる場合がある。また、その結果、ドット遅延による画像のずれや、ワームノイズによる縞の発生等により、画質の劣化が生じる場合がある。
 また、例えば特許文献1のようにディザ処理と誤差拡散処理とを使い分けた場合、ディザ処理から誤差拡散処理に切り替わる部分等で、量子化の処理方法の違いによる境界線が出てしまい、画質が劣化する問題等が生じるおそれがある。また、特許文献2のような方法を用いた場合、例えば、ハイライト部において誤差拡散処理を用いるため、ドットの遅延の発生による画質の劣化に繋がる問題等が生じるおそれがある。
 そのため、従来、より適切な方法で量子化の処理を行うことが望まれている。より具体的には、例えば、テクスチャ、ドットの遅延、ワームノイズ、パタンノイズの発生等を抑制して、高画質のハーフトーン処理を実現できる量子化の処理が望まれている。そこで、本発明は、上記の課題を解決できるプログラム、画像処理装置、及び画像処理方法を提供することを目的とする。
 本願の発明者は、鋭意研究により、ディザ処理においては、画素の濃度により、テクスチャの発生のしやすさが異なることに着目した。また、誤差拡散法においても、画素の濃度により、ドット遅延やワームノイズの発生のしやすさが異なることに着目した。そして、例えばディザ処理又は誤差拡散処理を切り替えて一方の処理を行うのではなく、ディザ処理及び誤差拡散処理の影響力を割り振るようにして量子化を行うことにより、テクスチャ、ドット遅延、及びワームノイズ等の発生を抑えつつ、適切に量子化をし得ることを見出した。本発明は、以下の構成を有する。
 (構成1)画像中の各画素の色の濃度を示す濃度値の量子化をコンピュータに行わせるプログラムであって、量子化を行うべき画素を順次選択する画素選択処理と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する量子化において生じる誤差である量子化誤差を累積した累積誤差を量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理であり、画素選択処理で順次選択される画素の濃度値に応じて、当該画素に対応するノイズ使用率及び誤差使用率を決定する使用率決定処理と、画素選択処理で順次選択される画素の濃度値に対する量子化を行う処理であり、当該画素に対応するノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する誤差使用率に応じて累積誤差を使用して量子化を行う量子化実行処理とをコンピュータに実行させる。
 ディザ処理及び誤差拡散処理は、良質な画質が得られる濃度範囲が異なる。そのため、これらのいずれかを単独で使用する場合、一部の濃度範囲で量子化による画質の劣化が生じるおそれがある。また、例えば濃度範囲によって単にディザ処理と誤差拡散処理とを切り替えるとすれば、処理が切り替わる部分に、境界線等が生じるおそれがある。
 これに対し、このように構成すれば、例えば、誤差拡散処理の空間周波数特性(以下、誤差拡散特性)にディザ処理の空間周波数特性(以下、ディザ特性)の影響を与えることができる。また、これにより、例えば、誤差拡散特性にディザ特性を組み込んだ方法により、量子化を行うことができる。尚、空間周波数特性とは、例えば、画質を評価する特性の一つである、出力結果のドットのオン、オフの繰り返しパタンを周波数として捉えたときの特性である。
 更には、このように構成した場合、例えば単にディザ処理と誤差拡散処理とを切り替える場合等と異なり、それぞれの処理が得意とする部分をより適切に活かした量子化の処理を行うことができる。そのため、このように構成すれば、例えば、量子化の処理において生じる印刷に関しての種々の問題点を適切に解消し、より適切な方法で量子化の処理を行うことができる。
 尚、画素選択処理は、例えば、画素のラインを順次選択し、選択したライン中の画素を所定の処理方向に沿って、順次選択する。この場合、画素選択処理は、処理方向を、処理するライン毎に切り替えてもよい。例えば、奇数ラインにおいては左から右へ、偶数ラインにおいては右から左へ、順次画素を選択することが考えられる。このように構成すれば、例えば、量子化の処理が双方向処理となり、誤差の拡散方向が一定ではなくなるため、ドットをより適切に分散させることができる。
 使用率決定処理は、例えば、予め設定された計算式に従い、ノイズ使用率及び誤差使用率を決定する。この場合、例えば、式中のパラメータを適切に設定することにより、ディザ特性が支配的な領域と、誤差拡散特性が支配的な領域との切り替え部分で境界線が発生することを適切に抑えることができる。また、これにより、量子化の処理の方法の切り替えを滑らかに行うことができる。パラメータの最適値は、例えば実験等により適切に求めることができる。
 また、このプログラムは、例えば、コンピュータに、プロセスカラー毎に、各処理を実行させる。この場合、例えば、使用するディザマトリクスを、プロセスカラー毎に変更してもよい。このように構成すれば、例えば、同じ画素に対する量子化において用いられるディザマトリクスの値を、プロセスカラー毎に異ならせることができる。また、これにより、ドットの重なりが生じることを適切に防ぐことができる。
 ディザマトリクスノイズとしては、例えば、ブルーノイズ特性のノイズを用いることが好ましい。ブルーノイズ特性とは、例えば、空間周波数特性で表現した場合に高い周波数に偏ったノイズであり、人間の視覚では知覚されにくい特性を有している。また、ブルーノイズ特性は、誤差拡散処理の周波数特性に類似している。そのため、このようなディザマトリクスを用いることにより、ディザ特性と誤差拡散特性の切り替えをより滑らかに行いやすくなる。
 また、このプログラムは、コンピュータに、例えば、累積誤差を算出する処理等を更に行わせてよい。例えば、このプログラムは、コンピュータに、誤差分配処理等を更に実行させてよい。誤差分配処理は、例えば、画素の量子化により生じる量子化誤差を分配する処理であり、例えば、予め設定された拡散フィルタ(拡散マトリクス)に従って、量子化誤差を、当該画素の周辺の画素に拡散させる。また、これにより、当該周辺の画素のそれぞれに対応する累積誤差の値を更新する。拡散フィルタとしては、例えば、Jarvis,Judice&Ninkeのマトリクスを好適に用いることができる。
 (構成2)プログラムは、画素選択処理で順次選択される画素に対し、累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理であり、当該画素に対応する誤差使用率と累積誤差との積を当該画素の濃度値に加算した値を、誤差補正済入力値として算出する誤差補正済入力値算出処理と、量子化で使用する閾値としてディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理であり、当該画素に対応するノイズ使用率とディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、ノイズ補正済閾値として算出するノイズ補正済閾値算出処理とを更にコンピュータに実行させ、量子化実行処理は、ノイズ補正済閾値と誤差補正済入力値とを比較することにより、量子化を行う。
 このように構成した場合、誤差使用率を乗じた累積誤差を量子化の入力値である画素の濃度値に加算することにより、誤差拡散特性を影響させる度合いを適切に調節できる。また、ノイズ使用率を乗じたディザマトリクスノイズを初期閾値に加算することにより、ディザ特性を影響させる度合いを適切に調節できる。
 そのため、このように構成すれば、例えば、入力値に応じて、誤差拡散特性及びディザ特性のそれぞれを影響させる度合いを適切に設定できる。また、これにより、入力値に応じて、それぞれの処理が得意とする部分をより適切に活かした量子化の処理を行うことができる。
 (構成3)量子化実行処理は、量子化の入力値である画素の濃度値と、濃度値が取り得る範囲の最大値とが等しいか否かを判定する最大値判定処理と、入力値である画素の濃度値と、濃度値が取り得る範囲の最小値とが等しいか否かを判定する最小値判定処理と、量子化の結果である量子化値を取得する量子化値取得処理とを有し、最大値判定処理において入力値と最大値とが等しいと判定された場合、量子化値取得処理は、量子化値として、濃度値が閾値よりも大きい場合に出力されるべき値を取得し、最小値判定処理において入力値と最小値とが等しいと判定された場合、量子化値取得処理は、量子化値として、濃度値が閾値よりも小さい場合に出力されるべき値を取得する。
 例えば、入力値が最大値と等しい場合、誤差補正済入力値やノイズ補正済閾値がいずれの場合であっても、量子化の結果は、濃度値が閾値よりも大きい場合に出力されるべき出力値(例えば1)とする必要がある。また、入力値が最小値と等しい場合、誤差補正済入力値やノイズ補正済閾値がいずれの場合であっても、量子化の結果は、濃度値が閾値よりも小さい場合に出力されるべき出力値(例えば0)とする必要がある。
 これに対し、このように構成すれば、入力値が最大値又は最小値の場合の出力値を、容易かつ適切に設定できる。また、これにより、累積誤差及びディザマトリクスノイズの両方を用いて行う量子化の処理を、より適切に行うことが可能になる。尚、濃度値が閾値よりも大きい場合、及び小さい場合のそれぞれに出力されるべき出力値とは、例えば、累積誤差及びディザマトリクスノイズの両方を0として濃度値と閾値とを比較した結果を示す出力値である。
 (構成4)使用率決定処理は、ノイズ使用率及び誤差使用率の決定において、画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合のノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合のノイズ使用率よりも大きな値にし、画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の誤差使用率を、中間調部に相当する濃度値である場合の誤差使用率よりも小さな値にする。
 ノイズ使用率は、例えば、ハイライト部及びシャドウ部での値が1(100%)であり、中間調になるにつれて徐々に値が下がるように変化する。誤差使用率は、例えば、濃度範囲の両端では値が0(0%)であり、テクスチャ発生部の濃度範囲の手前で値1(100%)となるように変化する。
 このように構成した場合、例えば、誤差拡散特性の影響が強いとドット遅延が発生しやすいハイライト部及びシャドウ部において、ノイズ使用率を高くし、誤差使用率を低くすることとなる。これにより、例えば、ハイライト部及びシャドウ部において、ドットを分散して配置できるディザ特性の影響が大きくなるため、ドット遅延の発生を適切に抑えることができる。
 また、誤差拡散特性の影響を大きくして中間調部での量子化の処理を行うことにより、例えば、より自然な擬似階調を得ることができる。また、例えば、テクスチャ発生部の濃度範囲において、ノイズ使用率を低く、誤差使用率を高くすることにより、ドットの配置に変化を与え、例えば、テクスチャの発生を適切に抑えることができる。
 (構成5)使用率決定処理は、画素の濃度値がいずれの場合にも、ノイズ使用率を、0より大きな値に予め設定された最低ノイズ使用率以上の値に設定する。
 中間調部において、ノイズ使用率を0(0%)とし、誤差使用率を1(100%)とすると、誤差拡散特性に特有のパタンノイズが発生するおそれがある。パタンノイズが中間調部で発生する原因は、例えば、中間調部での誤差拡散特性が非常に高周波であることからドットの配置が市松模様になりやすく、また、ディザ処理のようにドット配置パタンが一定でないことで、市松模様が部分的に発生することがあるためである。これに対し、最低ノイズ使用率を設け、ノイズ使用率が0にならないようにすることにより、例えば、中間調部において、僅かにディザ特性の影響を与えつつ、誤差拡散特性の影響を大きくすることで、ディザ処理のドット配置パタンの影響を僅かに受けるので、全体的な配置パタンが一定になりやすく、部分的な市松模様が発生しにくくなる。また、これにより、例えば、パタンノイズを適切に抑制できる。
 (構成6)使用率決定処理は、ハイライト部にある濃度範囲を示す基準として、予め設定された第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から漸減させた値に設定する。
 このように構成すれば、例えば、画素の濃度値に応じて、誤差使用率及びノイズ使用率のそれぞれを適切に設定できる。また、これにより、誤差拡散処理及びディザ処理のそれぞれの処理が得意とする部分をより適切に活かした量子化の処理を適切に行うことができる。
 (構成7)使用率決定処理は、ハイライト部にある濃度範囲を示す基準として、0より大きく、かつ第1ハイライト基準値以下の値の第3ハイライト基準値を更に用い、シャドウ部にある濃度範囲を示す基準として、第2シャドウ基準値以上、かつ濃度値が取り得る範囲の最大値よりも小さな値の第3シャドウ基準値を更に用い、画素の濃度値が、第3ハイライト基準値以下の場合、誤差使用率を0に設定し、画素の濃度値が、第3ハイライト基準値以上、かつ第2ハイライト基準値以下の場合、誤差使用率を、濃度値と第3ハイライト基準値との差を第2ハイライト基準値と第3ハイライト基準値との差で除した値に設定し、画素の濃度値が、第1シャドウ基準値以上、かつ第3シャドウ基準値以下の場合、誤差使用率を、第3シャドウ基準値と濃度値との差を第3シャドウ基準値と第1シャドウ基準値との差で除した値に設定し、画素の濃度値が、第3シャドウ基準値以上の場合、誤差使用率を0に設定する。このように構成すれば、例えば、誤差使用率をより適切に設定できる。
 (構成8)画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理装置であって、量子化を行うべき画素を順次選択する画素選択処理部と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する量子化において生じる誤差である量子化誤差を累積した累積誤差を量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理部であり、画素選択処理部により順次選択される画素の濃度値に応じて、当該画素に対応するノイズ使用率及び誤差使用率を決定する使用率決定処理部と、画素選択処理部により順次選択される画素の濃度値に対する量子化を行う処理部であり、当該画素に対応するノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する誤差使用率に応じて累積誤差を使用して量子化を行う量子化実行処理部とを備える。このように構成すれば、例えば、構成1と同様の効果を得ることができる。
 尚、この画像処理装置は、例えば、所定のプログラムに従って動作するコンピュータであってよい。この場合、例えばコンピュータのCPUが、プログラムに従って、画像処理装置の各部として動作する。
 (構成9)画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理方法であって、量子化を行うべき画素を順次選択する画素選択処理段階と、予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する量子化において生じる誤差である量子化誤差を累積した累積誤差を量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理段階であり、画素選択処理段階において順次選択される画素の濃度値に応じて、当該画素に対応するノイズ使用率及び誤差使用率を決定する使用率決定処理段階と、画素選択処理段階において順次選択される画素の濃度値に対する量子化を行う処理段階であり、当該画素に対応するノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する誤差使用率に応じて累積誤差を使用して量子化を行う量子化実行処理段階とを備える。このようにすれば、例えば、構成1と同様の効果を得ることができる。
 本発明によれば、例えば、より適切な方法で量子化の処理を行うことができる。また、これにより、例えば、ハーフトーン処理において、テクスチャ、ドットの遅延、パタンノイズの発生等を適切に抑制できる。
本発明の一実施形態に係るプログラムについて説明する図である。図1(a)は、このプログラムを使用する印刷システム10の構成の一例を示す。図1(b)は、画像処理装置12が行う量子化の処理の概要を示す図である。 量子化を行う動作の一例を示すフローチャートである。 画素選択処理S102について更に詳しく説明する図である。図3(a)は、画素を順次選択する順番の一例を示す。図3(b)は、双方向処理の効果の一例を示す図である。 誤差使用率Re、及びノイズ使用率Rnと、濃度値In(x,y)とを対応付けるグラフ及び計算式の一例を示す。 誤差使用率Reを算出する処理の一例を示すフローチャートである。 ノイズ使用率Rnを算出する処理の一例を示すフローチャートである。 量子化実行処理S110の動作の一例を示すフローチャートである。 本例において使用する拡散フィルタの一例を示す図である。図8(a)は、双方向処理の各方向で用いる拡散フィルタの一例を示す。図8(b)は、誤差の分配の仕方の一例を示す。 誤差分配処理S112の動作の一例を示すフローチャートである。 本例による印刷結果の一例を参考例による印刷結果と共に示す。図10(a)は、従来公知の典型的な誤差拡散処理のみを行った場合の印刷結果の一例を示す。図10(b)は、従来公知のディザ処理のみを行った場合の印刷結果の一例を示す。図10(c)は、濃度範囲によって単にディザ処理と誤差拡散処理とを切り替えた場合の印刷結果の一例を示す。図10(d)は、本例による印刷結果の一例を示す。
 以下、本発明に係る実施形態を、図面を参照しながら説明する。図1は、本発明の一実施形態に係るプログラムについて説明する図である。図1(a)は、このプログラムを使用する印刷システム10の構成の一例を示す。本例において、印刷システム10は、画像処理装置12及び印刷装置14を備える。
 画像処理装置12は、例えばRIP(Raster Image Processor)処理等の画像形成処理を行う装置である。画像処理装置12は、印刷データが示す原画像を展開することにより、印刷装置14が解釈可能な形式により画像を示す印刷可能データを形成する。
 また、本例において、画像処理装置12は、この画像形成処理において、少なくとも、原画像中の各画素の色の濃度を示す濃度値の量子化を行う。また、この場合、画像処理装置12は、印刷装置14で使用される各プロセスカラー毎に量子化を行う。これにより、画像処理装置12は、印刷データに基づき、各プロセスカラーに対応するハーフトーン画像を形成する。
 尚、画像処理装置12は、例えば印刷装置14を制御するホストPCであり、所定のプログラムに従って、画像処理装置として動作する。画像処理装置12は、印刷データを、例えば他のPCから受け取ってよい。また、印刷データは、ユーザにより、画像処理装置12上で作成されてもよい。
 印刷装置14は、例えばインクジェットプリンタであり、画像処理装置12から受け取る印刷可能データに従い、画像の印刷を実行する。また、本例において、印刷装置14は、CMYKインクの各色をプロセスカラーとして使用し、カラー印刷を行う。印刷装置14は、更に他の色のインクを用いて印刷を行ってもよい。
 図1(b)は、画像処理装置12が行う量子化の処理の概要を示す図である。画像処理装置12は、プロセスカラー毎に、原画像に対する量子化により、ハーフトーン画像である擬似中間調画像を形成する。この量子化は、原画像の各座標における濃度値In(x,y)を、擬似中間調画像の同じ座標における量子化値out(x,y)に変換する処理である。
 本例において、画像処理装置12は、この量子化を、ディザマトリクスノイズD(i,j)、及び累積誤差E(x,y)の両方を用いる方法(ハイブリッド誤差拡散処理)により行う。また、画像処理装置12は、ディザマトリクスノイズD(i,j)、及び累積誤差E(x,y)に関連するパラメータとして、それぞれ0以上1以下(0%~100%)の範囲の値に設定されるノイズ使用率Rn、及び誤差使用率Reを更に用いる。
 ノイズ使用率Rnは、ディザマトリクスノイズD(i,j)を量子化の処理に影響させる度合いを示すパラメータであり、量子化を行う画素の濃度値In(x,y)に応じて算出される。画像処理装置12は、ディザマトリクスノイズD(i,j)をそのまま用いるのではなく、ディザマトリクスノイズD(i,j)とノイズ使用率Rnとの積を用いて量子化を行う。これにより、画像処理装置12は、各画素に対応するノイズ使用率Rnに応じて、ディザマトリクスノイズD(i,j)を使用する。
 また、誤差使用率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)を使用する。尚、量子化の処理については、後に更に詳しく説明する。
 本例によれば、例えば、誤差拡散処理の空間周波数特性(誤差拡散特性)にディザ処理の空間周波数特性(ディザ特性)の影響を与えることができる。また、これにより、例えば、誤差拡散特性にディザ特性を組み込んだ方法により、量子化を行うことができる。また、この場合、例えば単にディザ処理と誤差拡散処理とを切り替える場合等と異なり、処理の切り替えに伴う境界線が発生すること等を適切に防ぐことができる。
 そのため、本例によれば、例えば、それぞれの処理が得意とする部分を適切に活かした量子化の処理を行うことができる。また、これにより、例えば、量子化の処理において生じる印刷に関しての種々の問題点を適切に解消し、より適切な方法で量子化の処理を行うことができる。
 尚、ディザマトリクスノイズD(i,j)は、例えば、予め設定されたディザマトリクスにより指定される値である。ディザマトリクスノイズD(i,j)は、例えば従来のディザ処理において使用されるディザマトリクスノイズと同一又は同様であってよい。ディザマトリクスノイズD(i,j)としては、例えば、ブルーノイズ特性のノイズを用いることが好ましい。また、画像処理装置12は、使用するディザマトリクスを、プロセスカラー毎に変更することが好ましい。
 累積誤差E(x,y)は、周辺の画素に対する量子化において生じる誤差である量子化誤差Q(x,y)を累積した値であり、予め設定された拡散フィルタ(拡散マトリクス)を用いて算出される。また、算出された累積誤差E(x,y)は、例えば誤差バッファに格納される。画像処理装置12は、累積誤差E(x,y)を、例えば従来の誤差拡散処理で使用される累積誤差と同一又は同様の方法により算出する。
 図2は、量子化を行う動作の一例を示すフローチャートである。画像処理装置12は、以下の処理を例えば、プロセスカラー毎に行う。
 量子化を行う動作において、本例の画像処理装置12は、先ず、原画像から、量子化を行うべき画素を選択する(画素選択処理S102)。そして、選択される画素の濃度値In(x,y)に応じて、その画素に対応するノイズ使用率Rn、及び誤差使用率Reを算出する。これにより、画像処理装置12は、その画素の量子化に使用するノイズ使用率Rn、及び誤差使用率Reを決定する(使用率決定処理S104)。
 続いて、画像処理装置12は、累積誤差E(x,y)による補正を行った後の濃度値である誤差補正済入力値In’(x,y)を算出する(誤差補正済入力値算出処理S106)。この処理において、画像処理装置12は、例えば、画素選択処理S102で選択された画素に対応する誤差使用率Reと、累積誤差E(x,y)との積を、その画素の濃度値In(x,y)に加算し、加算後の値を、誤差補正済入力値In’(x,y)として算出する。
 また、画像処理装置12は、更に、量子化で使用する閾値として、ディザマトリクスノイズD(i,j)を反映させた閾値であるノイズ補正済閾値Th’を算出する(ノイズ補正済閾値算出処理S108)。この処理において、画像処理装置12は、例えば、画素選択処理S102で選択された画素に対応するノイズ使用率Rnと、ディザマトリクスノイズD(i,j)との積を、予め設定された初期閾値Thに加算し、加算後の値を、ノイズ補正済閾値Th’として算出する。
 そして、画像処理装置12は、算出されたノイズ補正済閾値Th’と、誤差補正済入力値In’(x,y)とを比較する。これにより、画像処理装置12は、画素選択処理S102で選択された画素に対する量子化を実行する(量子化実行処理S110)。
 続いて、画像処理装置12は、拡散フィルタに従って、この画素の量子化により生じる量子化誤差Q(x,y)を、周辺の画素に拡散させる(誤差分配処理S112)。これにより、画像処理装置12は、周辺画素の分配先座標に対応した拡散フィルタの値に量子化誤差Q(x,y)を積算し、周辺の画素のそれぞれに対応する累積誤差E(x,y)の値を更新する。
 また、誤差分配処理S112の後、画像処理装置12は、量子化を実行した画素が原画像の最終の画素であるか否かを判定する(最終画素判定処理S114)。そして、最終画素であると判定した場合(S114:Yes)、原画像に対する量子化の処理を終了する。また、最終画素ではないと判定した場合(S114:No)、画素選択処理S102へ再度進み、次の画素を選択する。これにより、画像処理装置12は、画素選択処理S102において、量子化を行うべき画素を順次選択する。また、順次選択される画素に対して画素選択処理S102の以降の処理を行うことにより、その画素に対する量子化を実行する。
 本例によれば、例えば、誤差使用率Reを乗じた累積誤差E(x,y)を濃度値In(x,y)に加算することにより、誤差拡散特性を影響させる度合いを適切に調節できる。また、ノイズ使用率Rnを乗じたディザマトリクスノイズD(i,j)を初期閾値Thに加算することにより、ディザ特性を影響させる度合いを適切に調節できる。
 これにより、例えば、入力値である濃度値In(x,y)に応じて、誤差拡散特性及びディザ特性のそれぞれを影響させる度合いを適切に設定できる。また、誤差拡散処理及びディザ処理のそれぞれが得意とする部分を適切に活かした量子化の処理を行うことができる。以下、量子化を行う動作中の各処理について、更に詳しく説明する。
 図3は、画素選択処理S102について更に詳しく説明する図である。図3(a)は、画素を順次選択する順番の一例を示す。本例の画素選択処理S102おいて、画像処理装置12は、例えば、画素のラインを順次選択し、選択したライン中の画素を所定の処理方向に沿って、順次選択する。また、画像処理装置12は、更に、この処理方向を、処理するライン毎に切り替える。例えば、画像処理装置12は、奇数ラインにおいては左から右へ、偶数ラインにおいては右から左へ、順次画素を選択する。これにより、画像処理装置12は、量子化の処理を、双方向処理により行う。
 図3(b)は、双方向処理の効果の一例を示す図であり、処理方向を一定の一方向のみとした単方向処理を行った場合、及び双方向処理を行った場合のそれぞれについて、量子化の結果の一例を示す。双方向処理を行った場合、誤差の拡散方向が一定ではなくなるため、ドットをより適切に分散させることができる。また、その結果、例えば単方向処理により量子化を行う場合と比べ、ワームノイズの発生等をより適切に防ぐことができる。
 図4~6は、使用率決定処理S104について更に詳しく説明する図である。図4は、誤差使用率Re、及びノイズ使用率Rnと、濃度値In(x,y)(以下、入力値Inとする)とを対応付けるグラフ及び計算式の一例を示す。
 本例において、画像処理装置12は、最小入力値MinInである0以上、かつ最大入力値MaxIn以下の範囲の入力値Inに対して連続的に変化する関数に基づき、誤差使用率Re及びノイズ使用率Rnを算出する。最大入力値MaxIn、及び最小入力値MinInは、例えば、入力値Inとなる濃度値が取り得る範囲の最大値及び最小値である。
 また、この関数において、画像処理装置12は、ハイライト部にある濃度範囲を示す基準として、第3ハイライト基準値の一例であるハイライト側誤差使用率最小濃度値Hesと、第1ハイライト基準値の一例であるハイライト側ノイズ使用率最大濃度値Hnと、第2ハイライト基準値の一例であるハイライト側誤差使用率最大濃度値Heとを用いる。また、シャドウ部にある濃度範囲を示す基準として、第1シャドウ基準値の一例であるシャドウ側誤差使用率最大濃度値Seと、第2シャドウ基準値の一例であるシャドウ側ノイズ使用率最大濃度値Snと、第3シャドウ基準値の一例であるシャドウ側誤差使用率最小濃度値Sesとを用いる。更に、中間調部の中央において初期閾値Thを挟む濃度範囲を示す基準として、ハイライト側ノイズ使用率0%濃度値Hnz、シャドウ側ノイズ使用率0%濃度値Snz、第1中間調基準値C1、及び第2中間調基準値C2を用いる。
 また、これらのパラメータは、少なくとも、Hes≦Hn<He<Se<Sn≦Ses、及びHn<Hnz<Snz<Snとなるように設定される。また、本例において、これらのパラメータは、グラフに示された大小関係で、0(MinIn)<Hes≦Hn<He<C1<Hnz<Th<Snz<C2<Se<Sn≦Ses<MaxInとなるように設定される。
 そして、使用率決定処理S104において、画像処理装置12は、グラフの下に示した計算式に従い、誤差使用率Re、及びノイズ使用率Rnを決定する。但し、この数式により算出されるノイズ使用率Rnが、所定の最低ノイズ使用率RnMinより小さくなる場合、画像処理装置12は、ノイズ使用率Rnを、最低ノイズ使用率RnMinに設定する。これにより、画像処理装置12は、画素の濃度値がいずれの場合にも、ノイズ使用率Rnを、最低ノイズ使用率RnMin以上の値に設定する。
 尚、誤差使用率Re、及びノイズ使用率Rnは、0~100%(値0~1)の範囲内の値に設定される。グラフの下に示した計算式において、100%以上となる場合には、100%に設定される。また、0%以下となる場合には、0%に設定される。
 また、最低ノイズ使用率RnMinは、例えばパラメータ設定時の調整時等に、0より大きな値に予め設定される。最低ノイズ使用率RnMinは、例えば0.1(10%)以上の値とすることが考えられる。例えば、最低ノイズ使用率RnMinは、例えば0.1~0.2(10~20%)とすることが好ましい。また、グラフから分かるように、入力値Inが第1中間調基準値C1、又は第2中間調基準値C2と等しい場合に、計算式で算出されるノイズ使用率Rnは、最低ノイズ使用率RnMinと等しくなる。
 以上の方法により、例えば、入力値Inが、ハイライト側誤差使用率最大濃度値He以上、かつシャドウ側誤差使用率最大濃度値Se以下の場合、画像処理装置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から漸減させた値に設定する。
 また、例えば、入力値Inが、シャドウ側誤差使用率最大濃度値Se以上、かつシャドウ側誤差使用率最小濃度値Ses以下の場合、誤差使用率Reを、(Ses-In)/(Ses-Se)で計算される値に設定する。入力値Inがシャドウ側誤差使用率最小濃度値Ses以上の場合、誤差使用率Reを0に設定する。これにより、例えば、入力値Inが、シャドウ側誤差使用率最大濃度値Se以上の場合、誤差使用率Reを、0以上1(100%)以下の値であり、入力値Inとシャドウ側誤差使用率最大濃度値Seとの差に応じて1から漸減させた値に設定する。
 この場合、ハイライト部から中間調部にかけての誤差使用率Reは、入力値Inに対し、例えば、ハイライト側誤差使用率最小濃度値Hesから徐々に増加し、ハイライト側誤差使用率最大濃度値Heにおいて最大値となる。また、シャドウ部から中間調部にかけての誤差使用率Reは、入力値Inに対し、シャドウ側誤差使用率最大濃度値Seから徐々に減少し、シャドウ側誤差使用率最小濃度値Sesにおいて最小値となる。
 これにより、画像処理装置12は、例えば、入力値Inがハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の誤差使用率Reを、中間調部に相当する濃度値である場合の誤差使用率Reよりも小さな値に設定する。また、この場合、誤差使用率Reは、例えば、濃度範囲の両端では値が0(0%)であり、ディザ処理に特有のテクスチャが発生する濃度範囲であるテクスチャ発生部Hd、Sdの手前で値1(100%)となるように変化する。このように構成すれば、例えば、誤差使用率Reを中間調で主に使用する構成を適切に実現できる。
 また、例えば、入力値Inが、ハイライト側ノイズ使用率最大濃度値Hn以下の場合、又はシャドウ側ノイズ使用率最大濃度値Sn以上の場合、画像処理装置12は、ノイズ使用率Rnを、1(100%)に設定する。また、入力値Inが、第1中間調基準値C1以上、かつ第2中間調基準値C2以下の場合、ノイズ使用率Rnを、最低ノイズ使用率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から漸増させた値に設定する。
 これにより、画像処理装置12は、例えば、入力値Inがハイライト部又はシャドウ部のいずれかに相当する濃度値である場合のノイズ使用率Rnを、中間調部に相当する濃度値である場合のノイズ使用率Rnよりも大きな値に設定する。また、この場合、ノイズ使用率Rnは、例えば、ハイライト部及びシャドウ部での値が1(100%)であり、中間調になるにつれて徐々に値が下がるように変化する。
 本例によれば、例えば、誤差拡散特性の影響が強いとドット遅延が発生しやすいハイライト部及びシャドウ部において、ノイズ使用率Rnを高くし、誤差使用率Reを低くすることとなる。これにより、例えば、ハイライト部及びシャドウ部において、ドットを分散して配置できるディザ特性の影響が大きくなるため、ドット遅延の発生を適切に抑えることができる。
 また、誤差拡散特性の影響を大きくして中間調部での量子化の処理を行うことにより、例えば、より自然な擬似階調を得ることができる。また、例えば、テクスチャ発生部となる濃度範囲において、ノイズ使用率Rnを低く、誤差使用率Reを高くすることにより、ドットの配置に変化を与えることができる。また、これにより、例えば、テクスチャの発生を適切に抑えることができる。
 更には、例えば、最低ノイズ使用率RnMinを設け、ノイズ使用率Rnが0にならないようにすることにより、例えば、中間調部において、僅かにディザ特性の影響を与えつつ、誤差拡散特性の影響を大きくできる。また、これにより、例えば、パタンノイズを適切に抑制できる。
 また、例えば、誤差使用率Re、及びノイズ使用率Rnを算出する計算式に従ってディザ特性の影響の大きさと、誤差拡散特性の影響の大きさを徐々に変化させることにより、ディザ特性が支配的な領域と、誤差拡散特性が支配的な領域との切り替え部分で境界線が発生することを適切に抑えることができる。また、これにより、量子化の処理の方法の切り替えを滑らかに行うことができる。
 従って、本例によれば、例えば、画素の濃度値に応じて、誤差使用率Re、及びノイズ使用率Rnのそれぞれを適切に設定できる。また、これにより、誤差拡散処理及びディザ処理のそれぞれの処理が得意とする部分をより適切に活かした量子化の処理を適切に行うことができる。
 続いて、誤差使用率Re、及びノイズ使用率Rnを算出する処理について、更に詳しく説明する。図5は、誤差使用率Reを算出する処理の一例を示すフローチャートである。
 誤差使用率Reの算出において、画像処理装置12は、先ず、入力値Inがハイライト側誤差使用率最大濃度値He以上、かつシャドウ側誤差使用率最大濃度値Se以下の範囲にあるか否かを判定する(S202)。そして、この範囲にあると判定した場合(S202:Yes)、誤差使用率Reを、最大使用率である1(100%)に設定する(S204)。
 また、この範囲にないと判定した場合(S202:No)、更に、入力値Inについて、ハイライト側誤差使用率最小濃度値Hesよりも大きく、かつハイライト側誤差使用率最大濃度値Heよりも小さい範囲にあるか否かを判定する(S206)。そして、この範囲にあると判定した場合(S206:Yes)、誤差使用率Reを、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)。
 そして、画像処理装置12は、S204、S208、S212、又はS214のいずれかで設定した誤差使用率Reを、入力値Inに対応する誤差使用率Reとして採用する(S216)。本例によれば、誤差使用率Reを適切に算出できる。
 図6は、ノイズ使用率Rnを算出する処理の一例を示すフローチャートである。ノイズ使用率Rnの算出において、画像処理装置12は、先ず、入力値Inが、ハイライト側ノイズ使用率最大濃度値Hnより大きく、かつハイライト側ノイズ使用率0%濃度値Hnzより小さい範囲にあるか否かを判定する(S302)。そして、この範囲にあると判定した場合(S302:Yes)、ノイズ使用率Rnを、Rn=(Hnz-In)/(Hnz-Hn)で計算される値に設定する(S304)。
 また、この範囲にないと判定した場合(S302:No)、更に、入力値Inが、シャドウ側ノイズ使用率0%濃度値Snzより大きく、かつシャドウ側ノイズ使用率最大濃度値Snより小さい範囲にあるか否かを判定する(S306)。そして、この範囲にあると判定した場合(S306:Yes)、ノイズ使用率Rnを、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へ進む。
 また、S306において、入力値Inが上記の範囲にないと判定した場合(S306:No)、画像処理装置12は、ノイズ使用率Rnを、最大の使用率である1(100%)に設定する(S314)。そして、画像処理装置12は、S304、S308、S312、又はS314のいずれかで設定したノイズ使用率Rnを、入力値Inに対応するノイズ使用率Rnとして採用する(S316)。本例によれば、ノイズ使用率Rnを適切に算出できる。
 図7は、量子化実行処理S110の動作の一例を示すフローチャートである。本例の量子化実行処理S110において、画像処理装置12は、先ず、入力値Inと最大入力値MaxInとが等しいか否かを判定する(最大値判定処理S402)。そして、等しいと判定した場合(S402:Yes)、量子化の結果を示す出力値を、1に設定する(S404)。この値1は、入力値Inが閾値Thよりも大きい場合に出力されるべき値の一例である。また、この出力値の設定と共に、後の誤差分配処理S112で使用する誤差値を、誤差補正済入力値In’と最大入力値MaxInの差であるIn’-MaxInに設定する。
 また、S402において、入力値Inと最大入力値MaxInとが等しくないと判定した場合(S402:No)、画像処理装置12は、更に、入力値Inと最小入力値MinInとが等しいか否かを判定する(最小値判定処理S406)。そして、等しいと判定した場合(S406:Yes)、出力値を、0に設定する(S408)。この値0は、入力値Inが閾値Thよりも小さい場合に出力されるべき値の一例である。また、この出力値の設定と共に、誤差値を、誤差補正済入力値In’に設定する。
 また、S406において、入力値Inと最小入力値MinInとが等しくないと判定した場合(S406:No)、画像処理装置12は、誤差補正済入力値In’がノイズ補正済閾値Th’よりも大きいか否かを判定する(S410)。そして、大きいと判定した場合(S410:Yes)、出力値を1に、誤差値を、In’-MaxInにそれぞれ設定する(S412)。また、S410において、誤差補正済入力値In’がノイズ補正済閾値Th’以下であると判定した場合(S410:No)、出力値を0に、誤差値をIn’にそれぞれ設定する(S414)。
 そして、画像処理装置12は、量子化実行処理S110の結果となる量子化値及び誤差値として、S404、S408、S412、又はS414で設定した出力値及び誤差値を取得する(量子化値取得処理S416)。また、取得した誤差値を、後の誤差分配処理S112へ受け渡す。本例によれば、例えば、出力値及び誤差値を、容易かつ適切に設定できる。
 図8及び図9は、誤差分配処理S112について更に詳しく説明する図である。図8は、本例において使用する拡散フィルタの一例を示す。図8(a)は、双方向処理の各方向で用いる拡散フィルタの一例を示す。
 本例において、拡散フィルタは、例えば、Jarvis,Judice&Ninkeのマトリクスである。また、双方向処理の各方向である主走査方向及び逆主走査方向のそれぞれについて、図示の各フィルタを使用する。また、図示したフィルタにおいて、記号*が記入されている位置は、入力値Inの座標[0,0](原点)である。また、各マトリクス内の数値は、周辺の画素に誤差を分配する際の分配比率である。
 図8(b)は、誤差の分配の仕方の一例を示す。周辺の画素に誤差を分配する処理において、誤差の分配先の座標が画像幅から外れている場合、画像処理装置12は、分配先の座標を、次のラインの先頭の座標に変更する。また、反対側の座標が範囲外となっている場合も、同様の処理を行う。また、分配先のラインが存在しない場合、画像処理装置12は、誤差を分配しない。また、分配先の座標が処理済みの画素である場合も、誤差を分配しない。
 図9は、誤差分配処理S112の動作の一例を示すフローチャートである。誤差分配処理S112において、画像処理装置12は、フローチャート中のステップS502とS526との間で、Y座標を順次変化させるループを実行する。このループにおいて、画像処理装置12は、0から拡散マトリクス高さまでの間で、Yの値を1ずつ増加させる。拡散マトリクス高さとは、例えば、拡散フィルタとして用いるマトリクスの行数である。
 また、ステップS504とS524との間で、X座標を順次変化させるループを実行する。このループにおいて、画像処理装置12は、0から拡散マトリクス幅までの間で、Xの値を1ずつ増加させる。拡散マトリクス幅とは、例えば、拡散フィルタとして用いるマトリクスの列数である。
 そして、これらのループの中で、画像処理装置12は、先ず、フローチャート内に示したように、分配先の座標(X’、Y’)を設定する。また、拡散フィルタに従い、分配比率を設定する(S506)。そして、先ず、この時点で、分配比率が0より大きいか否かを判定し(S508)、分配比率が0以下である場合(S508:No)、誤差を分配せずに、再度S504へ進む。
 また、分配比率が0よりも大きい場合(S508:Yes)、S510以降の処理へ進む。この処理において、分配先の座標X’が画像幅より小さく(S510:Yes)、座標X’が0以上であり(S512:Yes)、分配先の座標Y’が画像高さより小さければ(S514:Yes)、分配する誤差値(量子化誤差)を、誤差値と、分配比率との積に設定し(S516)、累積誤差バッファに格納されている分配誤差値に加算する(S518)。これにより、画像処理装置12は、発生した量子化誤差に応じて、累積誤差を更新する。
 また、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へ進む。
 以上の動作により、画像処理装置12は、累積誤差バッファに格納されている値に量子化誤差を積算し、累積誤差を算出する。本例によれば、誤差を適切に分配できる。また、これにより、累積誤差を適切に算出できる。
 図10は、本例による印刷結果の一例を参考例による印刷結果と共に示す。図10(a)~(c)は、図1から9を用いて説明した本例と異なる参考例による印刷結果である。図10(a)は、従来公知の典型的な誤差拡散処理のみを行った場合の印刷結果の一例を示す。図10(b)は、従来公知のディザ処理のみを行った場合の印刷結果の一例を示す。
 典型的な誤差拡散処理のみを行う場合、例えば、ハイライト部やシャドウ部では、ドットの遅延等の問題が発生する。また、ディザ処理のみを行う場合、例えば、ディザ処理に特有のテクスチャ等の問題が発生する。
 図10(c)は、濃度範囲によって単にディザ処理と誤差拡散処理とを切り替えた場合の印刷結果の一例を示す。この例においては、例えばハイライト部と中間調部との間や、中間調部をシャドウ部との間において、本例のようにノイズ使用率や誤差使用率を徐々に変化させる切り替え処理を行わずに、ディザ処理と誤差拡散処理とを切り替えている。このように、適切な切り替え処理を行わずに、単にディザ処理と誤差拡散処理とを切り替える場合、切り替えにより境界線が発生する等の問題が生じる。
 図10(d)は、本例による印刷結果の一例を示す。図から分かるように、本例によれば、例えば、ハイライト部やシャドウ部におけるドット遅延を適切に抑えることができる。また、中間調においてテクスチャが発生することや、切り替えにより境界線が発生する等も適切に防ぐことができる。そのため、本例によれば、量子化の処理をより適切に行うことができる。
 以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
 また、以上において、量子化の処理の説明は、量子化後の階調数が2階調となる場合について行った。しかし、同様の方法による量子化は、例えば階調数が3以上の場合の処理にも適用できる。階調数が3以上の場合とは、例えば、3種類以上のドットサイズを用いる場合である。
 この場合、例えば、それぞれのサイズのドット毎に対応する量子化の処理を、2階調の場合と同一又は同様に、ノイズ使用率及び誤差使用率に応じて、ディザマトリクスノイズ、及び累積誤差の両方を用いて行う。そして、それぞれのサイズのドットに対応する出力結果同士を比較して、サイズが最も大きくなるドットを最終出力とする。このようにすれば、例えば、階調数が3以上の場合にも、より適切に量子化の処理を行うことができる。
 本発明は、例えば、量子化をコンピュータに行わせるプログラムに好適に利用できる。
10・・・印刷システム、12・・・画像処理装置、14・・・印刷装置

Claims (9)

  1.  画像中の各画素の色の濃度を示す濃度値の量子化をコンピュータに行わせるプログラムであって、
     前記量子化を行うべき画素を順次選択する画素選択処理と、
     予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理であり、前記画素選択処理で順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理と、
     前記画素選択処理で順次選択される前記画素の前記濃度値に対する前記量子化を行う処理であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理と
    を前記コンピュータに実行させることを特徴とするプログラム。
  2.  前記プログラムは、前記画素選択処理で順次選択される前記画素に対し、
     前記累積誤差による補正を行った後の濃度値である誤差補正済入力値を算出する処理であり、当該画素に対応する前記誤差使用率と前記累積誤差との積を当該画素の濃度値に加算した値を、前記誤差補正済入力値として算出する誤差補正済入力値算出処理と、
     前記量子化で使用する閾値として前記ディザマトリクスノイズを反映させた閾値であるノイズ補正済閾値を算出する処理であり、当該画素に対応する前記ノイズ使用率と前記ディザマトリクスノイズとの積を予め設定された初期閾値に加算した値を、前記ノイズ補正済閾値として算出するノイズ補正済閾値算出処理と
    を更に前記コンピュータに実行させ、
     前記量子化実行処理は、前記ノイズ補正済閾値と前記誤差補正済入力値とを比較することにより、前記量子化を行うことを特徴とすることを特徴とする請求項1に記載のプログラム。
  3.  前記量子化実行処理は、
     前記量子化の入力値である前記画素の前記濃度値と、前記濃度値が取り得る範囲の最大値とが等しいか否かを判定する最大値判定処理と、
     前記入力値である前記画素の前記濃度値と、前記濃度値が取り得る範囲の最小値とが等しいか否かを判定する最小値判定処理と、
     前記量子化の結果である量子化値を取得する量子化値取得処理と
    を有し、
     前記最大値判定処理において前記入力値と前記最大値とが等しいと判定された場合、前記量子化値取得処理は、前記量子化値として、前記濃度値が前記閾値よりも大きい場合に出力されるべき値を取得し、
     前記最小値判定処理において前記入力値と前記最小値とが等しいと判定された場合、前記量子化値取得処理は、前記量子化値として、前記濃度値が前記閾値よりも小さい場合に出力されるべき値を取得することを特徴とする請求項1又は2に記載のプログラム。
  4.  前記使用率決定処理は、前記ノイズ使用率及び誤差使用率の決定において、
     前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記ノイズ使用率を、ハイライト部とシャドウ部との中間の中間調部に相当する濃度値である場合の前記ノイズ使用率よりも大きな値にし、
     前記画素の濃度値がハイライト部又はシャドウ部のいずれかに相当する濃度値である場合の前記誤差使用率を、前記中間調部に相当する濃度値である場合の前記誤差使用率よりも小さな値にすることを特徴とする請求項1から3のいずれかに記載のプログラム。
  5.  前記使用率決定処理は、前記画素の濃度値がいずれの場合にも、前記ノイズ使用率を、0より大きな値に予め設定された最低ノイズ使用率以上の値に設定することを特徴とする請求項4に記載のプログラム。
  6.  前記使用率決定処理は、
     ハイライト部にある濃度範囲を示す基準として、予め設定された第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から漸減させた値に設定することを特徴とする請求項5に記載のプログラム。
  7.  前記使用率決定処理は、
     ハイライト部にある濃度範囲を示す基準として、0より大きく、かつ前記第1ハイライト基準値以下の値の第3ハイライト基準値を更に用い、
     シャドウ部にある濃度範囲を示す基準として、前記第2シャドウ基準値以上、かつ濃度値が取り得る範囲の最大値よりも小さな値の第3シャドウ基準値を更に用い、
     前記画素の濃度値が、前記第3ハイライト基準値以下の場合、前記誤差使用率を0に設定し、
     前記画素の濃度値が、前記第3ハイライト基準値以上、かつ前記第2ハイライト基準値以下の場合、前記誤差使用率を、前記濃度値と前記第3ハイライト基準値との差を前記第2ハイライト基準値と前記第3ハイライト基準値との差で除した値に設定し、
     前記画素の濃度値が、前記第1シャドウ基準値以上、かつ前記第3シャドウ基準値以下の場合、前記誤差使用率を、前記第3シャドウ基準値と前記濃度値との差を前記第3シャドウ基準値と前記第1シャドウ基準値との差で除した値に設定し、
     前記画素の濃度値が、前記第3シャドウ基準値以上の場合、前記誤差使用率を0に設定することを特徴とする請求項6に記載のプログラム。
  8.  画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理装置であって、
     前記量子化を行うべき画素を順次選択する画素選択処理部と、
     予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理部であり、前記画素選択処理部により順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理部と、
     前記画素選択処理部により順次選択される前記画素の前記濃度値に対する前記量子化を行う処理部であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理部と
    を備えることを特徴とする画像処理装置。
  9.  画像中の各画素の色の濃度を示す濃度値の量子化を行う画像処理方法であって、
     前記量子化を行うべき画素を順次選択する画素選択処理段階と、
     予め設定されたディザマトリクスにより指定されるノイズであるディザマトリクスノイズを前記量子化の処理に影響させる度合いを示すノイズ使用率と、周辺の画素に対する前記量子化において生じる誤差である量子化誤差を累積した累積誤差を前記量子化の処理に影響させる度合いを示す誤差使用率とを決定する処理段階であり、前記画素選択処理段階において順次選択される画素の前記濃度値に応じて、当該画素に対応する前記ノイズ使用率及び前記誤差使用率を決定する使用率決定処理段階と、
     前記画素選択処理段階において順次選択される前記画素の前記濃度値に対する前記量子化を行う処理段階であり、当該画素に対応する前記ノイズ使用率に応じてディザマトリクスノイズを使用し、かつ、当該画素に対応する前記誤差使用率に応じて前記累積誤差を使用して前記量子化を行う量子化実行処理段階と
    を備えることを特徴とする画像処理方法。
PCT/JP2009/004934 2009-09-28 2009-09-28 プログラム、画像処理装置、及び画像処理方法 WO2011036735A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020127007912A KR101350881B1 (ko) 2009-09-28 2009-09-28 프로그램, 화상처리장치, 및 화상처리방법
PCT/JP2009/004934 WO2011036735A1 (ja) 2009-09-28 2009-09-28 プログラム、画像処理装置、及び画像処理方法
JP2011532816A JP5230816B2 (ja) 2009-09-28 2009-09-28 プログラム、画像処理装置、及び画像処理方法
EP09849766.2A EP2485471B1 (en) 2009-09-28 2009-09-28 Program, image processing device, and image processing method
CN200980161666.2A CN102687495B (zh) 2009-09-28 2009-09-28 图像处理装置以及图像处理方法
US13/498,328 US8693057B2 (en) 2009-09-28 2009-09-28 Quantization using dither matrix noise based on noise use rate and accumulated error based on error use rate

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/004934 WO2011036735A1 (ja) 2009-09-28 2009-09-28 プログラム、画像処理装置、及び画像処理方法

Publications (1)

Publication Number Publication Date
WO2011036735A1 true WO2011036735A1 (ja) 2011-03-31

Family

ID=43795507

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/004934 WO2011036735A1 (ja) 2009-09-28 2009-09-28 プログラム、画像処理装置、及び画像処理方法

Country Status (6)

Country Link
US (1) US8693057B2 (ja)
EP (1) EP2485471B1 (ja)
JP (1) JP5230816B2 (ja)
KR (1) KR101350881B1 (ja)
CN (1) CN102687495B (ja)
WO (1) WO2011036735A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5428696B2 (ja) * 2009-09-16 2014-02-26 セイコーエプソン株式会社 印刷装置、印刷用データ生成装置、印刷方法及びそのプログラム
JP5472617B2 (ja) * 2010-02-09 2014-04-16 富士ゼロックス株式会社 画像処理装置、画像形成装置、画像処理プログラム
US20130069968A1 (en) * 2011-09-16 2013-03-21 Qualcomm Mems Technologies, Inc. Methods and apparatus for hybrid halftoning of an image
US20140071153A1 (en) * 2012-09-13 2014-03-13 Chang-Jing Yang Image processing method and image display device
TWI546798B (zh) * 2013-04-29 2016-08-21 杜比實驗室特許公司 使用處理器來遞色影像的方法及其電腦可讀取儲存媒體
CN105900412B (zh) 2013-10-15 2018-11-06 惠普发展公司,有限责任合伙企业 使用基于内容的加权抖动进行图像处理的方法、图像处理器和打印机
JP7152323B2 (ja) 2019-01-18 2022-10-12 株式会社ミマキエンジニアリング 印刷システム、画像処理装置、及び印刷方法
JP2022086626A (ja) * 2020-11-30 2022-06-09 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07307866A (ja) * 1994-05-10 1995-11-21 Fuji Photo Film Co Ltd 画像信号2値化処理装置および方法
JP2000333010A (ja) * 1999-05-07 2000-11-30 Hewlett Packard Co <Hp> 階調依存型誤差拡散ハーフトーン化方法
JP2001352448A (ja) * 2000-04-07 2001-12-21 Ricoh Co Ltd 画像形成方法、画像処理装置及び記憶媒体
JP2005252583A (ja) * 2004-03-03 2005-09-15 Konica Minolta Holdings Inc 画像処理装置、画像処理方法及び画像処理プログラム
JP2006240054A (ja) 2005-03-03 2006-09-14 Seiko Epson Corp 印刷データ作成時のハーフトーン処理アルゴリズムの選択
JP2008087382A (ja) 2006-10-03 2008-04-17 Seiko Epson Corp 高画質ハーフトーン処理

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2667860B2 (ja) * 1988-02-25 1997-10-27 キヤノン株式会社 画像処理方法及び装置
US6160921A (en) * 1998-06-15 2000-12-12 Apple Computer, Inc. Error diffusion with homogeneous distribution in highlight and shadow regions
US6271936B1 (en) * 1998-12-11 2001-08-07 Eastman Kodak Company Combining error diffusion, dithering and over-modulation for smooth multilevel printing
JP2001119574A (ja) * 1999-10-14 2001-04-27 Matsushita Graphic Communication Systems Inc 画像処理装置及び画像処理方法
JP2002325177A (ja) * 2001-04-26 2002-11-08 Mutoh Ind Ltd 画像処理方法
JP3949931B2 (ja) * 2001-10-30 2007-07-25 株式会社ルネサステクノロジ 画像形成装置
JP4014083B2 (ja) * 2002-03-06 2007-11-28 株式会社リコー 画像形成装置
JP2006287474A (ja) * 2005-03-31 2006-10-19 Kyocera Mita Corp 画像処理装置、画像処理プログラム
EP1798951B1 (en) 2005-12-14 2015-04-08 Océ-Technologies B.V. Method, apparatus and computer program for halftoning digital images
JP2008227759A (ja) * 2007-03-09 2008-09-25 Sharp Corp 画像処理装置、画像形成装置、画像処理方法、画像処理プログラムおよびコンピュータ読み取り可能な記録媒体
JP5369851B2 (ja) * 2008-09-16 2013-12-18 株式会社リコー 画像処理装置、画像処理方法、コンピュータが実行可能なプログラム、およびコンピュータが読み取り可能な記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07307866A (ja) * 1994-05-10 1995-11-21 Fuji Photo Film Co Ltd 画像信号2値化処理装置および方法
JP2000333010A (ja) * 1999-05-07 2000-11-30 Hewlett Packard Co <Hp> 階調依存型誤差拡散ハーフトーン化方法
JP2001352448A (ja) * 2000-04-07 2001-12-21 Ricoh Co Ltd 画像形成方法、画像処理装置及び記憶媒体
JP2005252583A (ja) * 2004-03-03 2005-09-15 Konica Minolta Holdings Inc 画像処理装置、画像処理方法及び画像処理プログラム
JP2006240054A (ja) 2005-03-03 2006-09-14 Seiko Epson Corp 印刷データ作成時のハーフトーン処理アルゴリズムの選択
JP2008087382A (ja) 2006-10-03 2008-04-17 Seiko Epson Corp 高画質ハーフトーン処理

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2485471A4

Also Published As

Publication number Publication date
JPWO2011036735A1 (ja) 2013-02-14
KR20120061935A (ko) 2012-06-13
US8693057B2 (en) 2014-04-08
US20120182586A1 (en) 2012-07-19
CN102687495A (zh) 2012-09-19
CN102687495B (zh) 2015-07-08
EP2485471A1 (en) 2012-08-08
KR101350881B1 (ko) 2014-01-13
JP5230816B2 (ja) 2013-07-10
EP2485471B1 (en) 2017-03-15
EP2485471A4 (en) 2013-09-04

Similar Documents

Publication Publication Date Title
JP5230816B2 (ja) プログラム、画像処理装置、及び画像処理方法
US8208172B2 (en) Image forming apparatus and image forming method
JP5534787B2 (ja) 画像処理装置及び画像処理方法
US8724174B2 (en) Image processing apparatus, image forming apparatus, image processing method, and computer-readable medium
US6753978B1 (en) Higher order error diffusion of digital halftoning
JP2019125899A (ja) 画像処理装置、画像処理装置の制御方法、及び印刷装置
JP6175914B2 (ja) 印刷装置、印刷方法、および画像処理装置
JP5824942B2 (ja) ディザマトリクス作成装置及びディザマトリクス作成プログラム
US8139267B2 (en) Method, apparatus and program for creating a threshold value matrix
JP5669249B2 (ja) プログラム、画像処理装置、及び画像処理方法
JP7391619B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2024019857A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2024019858A (ja) 画像処理装置、画像処理方法、およびプログラム
JP7250508B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7434502B2 (ja) 画像処理装置、画像処理方法、プログラム
JP2006311241A (ja) 画像処理装置
JP7031763B2 (ja) 画像処理プログラム及び画像処理装置
US20240037895A1 (en) Storage medium, image processing apparatus, and image processing method
JP2024019908A (ja) プログラム、画像処理装置、及び画像処理方法
JP2009135637A (ja) 画像処理装置、画像処理方法及びプログラム
JP2011120027A (ja) 画像処理装置およびその方法
JP4238660B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2024019937A (ja) プログラム、画像処理装置、及び画像処理方法
JP5950694B2 (ja) 画像処理装置およびその制御方法
JP5018878B2 (ja) 解像度変換プログラム、解像度変換方法および解像度変換装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980161666.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09849766

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011532816

Country of ref document: JP

REEP Request for entry into the european phase

Ref document number: 2009849766

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2009849766

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20127007912

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13498328

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE