Image Processing Device

The image processing device addresses airflow turbulence in inkjet printing by converting all pixels to maximum values in the image data, using half-tone processing to suppress tone jumps and uneven wind patterns, ensuring high-quality output in low-resolution images.

JP7621135B2Active Publication Date: 2025-01-24RISO KAGAKU CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2021029398
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-05-12
Filing Date
2021-02-26
Publication Date
2025-01-24
Estimated Expiration
2041-02-26

AI Technical Summary

Technical Problem

Existing inkjet printing technologies face issues with airflow turbulence causing ink landing position displacement and uneven concentration, particularly in low-resolution image data, leading to tone jumps and uneven wind patterns.

Method used

An image processing device that applies half-tone processing to convert all pixels in the image data to maximum values, generating multi-value data through methods like dither or error diffusion, ensuring all pixels include a zero value to suppress airflow turbulence and maintain granularity without tone jumps.

Benefits of technology

The solution effectively suppresses airflow turbulence and maintains image quality by ensuring all pixels have a zero value, preventing tone jumps and uneven wind patterns even in low-resolution image data, resulting in smoother gradations and improved image quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007621135000001
    Figure 0007621135000001
  • Figure 0007621135000002
    Figure 0007621135000002
  • Figure 0007621135000003
    Figure 0007621135000003
Patent Text Reader

Abstract

To provide an image processing device capable of suppressing wind ripple unevenness for image data with low resolution without causing deterioration in granularity and a tone jump.SOLUTION: An image processing device includes an image data reception unit 11 for receiving image data and a half tone processing unit 13 for generating multi-valued data by subjecting the image data to half tone processing and converting the image data into at least 3 values or more. The half tone processing part 13 executes the half tone processing so that a zero value is included without fail except for a case in which all pixels constituting the image data are converted into a maximum value.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an image processing apparatus that performs halftone processing on image data. [Background technology]

[0002] 2. Description of the Related Art Inkjet printing devices have been proposed that perform printing by ejecting ink from an inkjet head onto a print medium transported along a transport path.

[0003] In such inkjet printing devices, air currents are generated when the print medium is transported directly below the inkjet head.

[0004] Furthermore, when ink is continuously ejected from the nozzles of the inkjet head, the ink droplets are ejected accompanied by their own air currents, which act like a wall blocking the air current caused by the transport of the print medium. The air current generated by the transport of the print medium may collide with the wall of the own air current, causing complex turbulence of the air current. This turbulent air current may cause the landing position of the ink ejected from the inkjet head to deviate from the desired position, which may result in density unevenness known as wind ripples.

[0005] As a method of correcting this density unevenness, Patent Document 1 proposes a method in which, when the image data is high resolution and the density is within a specified range, the resolution of the image data is converted to a low resolution depending on the degree of self-generated air currents, making the wind ripple unevenness less noticeable. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] JP 2016-013645 A Summary of the Invention [Problem to be solved by the invention]

[0007] However, the method described in Patent Document 1 cannot be applied when the image data is originally low resolution. In addition, the method described in Patent Document 1 has problems such as reduced graininess due to the large ink droplet size in the area converted to low resolution, and tone jumps occurring in the boundary area where the image data resolution is switched to low resolution. Tone jumps are a phenomenon in which the gradation of an area that is originally smooth changes suddenly, making it appear as a striped pattern.

[0008] In view of the above circumstances, an object of the present invention is to provide an image processing device that can suppress wind ripple unevenness even in low-resolution image data without causing a decrease in graininess or tone jumps. [Means for solving the problem]

[0009] The image processing device of the present invention comprises an image data receiving unit that receives image data, and a halftone processing unit that performs halftone processing on the image data to convert it into at least three or more values ​​and generate multi-value data, and the halftone processing unit performs halftone processing so that it always includes zero values, except in cases where all pixels that make up the image data are converted to maximum values. Effect of the Invention

[0010] According to the image processing device of the present invention, when halftone processing is performed on image data to convert it into at least three or more values ​​and generate multi-valued data, halftone processing is performed so that zero values ​​are always included, except in cases where all pixels constituting the image data are converted to maximum values, thereby suppressing wind ripple unevenness.This makes it possible to suppress wind ripple unevenness even in low-resolution image data without incurring a decrease in granularity or tone jumps. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 is a block diagram showing a configuration of an inkjet printing device using a first and second embodiment of an image processing device of the present invention. [Diagram 2] FIG. 1 is a block diagram showing a configuration of an image processing unit according to a first embodiment of the image processing device of the present invention. [Diagram 3] A diagram to explain the concept of existing halftone processing [Figure 4] FIG. 1 is a diagram for explaining the concept of halftone processing in a first embodiment of the image processing device of the present invention; [Diagram 5] 1 is a flowchart for explaining an outline of the calculation process of halftone processing in the first embodiment of the image processing device of the present invention. [Figure 6] FIG. 1 is a diagram for explaining specific calculation processing of halftone processing in the first embodiment of the image processing device of the present invention; [Figure 7] A flowchart for explaining specific calculation processing of halftone processing in the first embodiment of the image processing device of the present invention. [Figure 8] FIG. 11 is a block diagram showing the configuration of an image processing unit according to a second embodiment of the image processing device of the present invention. [Figure 9] FIG. 1 is a diagram for explaining binary error diffusion processing using the Floyd-Steinberg method; [Figure 10] FIG. 1 is a diagram for explaining a binary error diffusion process equivalent to the Floyd-Steinberg method. [Figure 11] FIG. 11 is a diagram for explaining a multi-value error diffusion process in a halftone processing unit according to a second embodiment; [Figure 12] 11 is a flowchart for explaining the flow of calculation processing in halftone processing according to the second embodiment. [Figure 13] FIG. 13 is a block diagram showing a configuration of a modified example of an image processing unit according to the second embodiment. [Figure 14] FIG. 13 is a diagram for explaining an example of density conversion processing for adjusting white pixel density; [Figure 15] FIG. 1 is a diagram for explaining a method for adjusting the white pixel density in binary error diffusion processing. [Figure 16] A diagram showing the results of applying existing multi-level error diffusion processing to a monochrome gradation image. [Figure 17]FIG. 13 is a diagram showing the result of performing halftone processing of the second embodiment on a monochrome gradation image. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] An inkjet printing apparatus 1 using a first embodiment of an image processing apparatus of the present invention will be described in detail below with reference to the drawings. Fig. 1 is a schematic diagram of the inkjet printing apparatus 1 of this embodiment.

[0013] The inkjet printing device 1 performs printing processing by ejecting ink onto a sheet-like printing medium such as paper or film based on image data output from a computer or image data output from a document reading device. As shown in Fig. 1, the inkjet printing device 1 includes an image processing unit 10, a head drive control unit 20, an inkjet head unit 30, a transport unit 40, and a control unit 50.

[0014] The image processing unit 10 receives image data output from a computer or a document reading device, and performs various processes on the image data. In this embodiment, the image processing unit 10 corresponds to an embodiment of the image processing device of the present invention. The image processing unit 10 includes a CPU (Central Processing Unit) and a semiconductor memory. The CPU and the semiconductor memory of the image processing unit 10 may be common to the control unit 50 described later, or may be provided separately.

[0015] The image processing unit 10 executes an image processing program stored in advance in a storage medium such as a semiconductor memory or a hard disk, and operates electric circuits to perform the processes of each unit, which will be described later.

[0016] As shown in FIG. 2, the image processing unit 10 includes an image data receiving unit 11, a color conversion unit 12, and a halftone processing unit 13.

[0017] The image data receiving unit 11 receives image data in RGB format output from a computer or a document reading device, and outputs the image data to the color conversion unit 12 .

[0018] The color conversion unit 12 converts the image data in the RGB format into image data in the CMYK format, and outputs the converted image data to the halftone processing unit 13 .

[0019] The halftone processing unit 13 performs halftone processing on each of the C, M, Y, and K image data output from the color conversion unit 12, converting the data into at least three values ​​to generate multi-value data. The multi-value data in this embodiment is data that specifies the number of ink drops ejected from one nozzle of the inkjet head to form one dot of a print image, and is also called ink drop data.

[0020] The halftone processor 13 of the first embodiment performs halftone processing using a dither method, which suppresses the above-mentioned wind ripple unevenness. The halftone processor 13 of the present embodiment performs halftone processing so as to always include zero values, except when all pixels constituting the image data are converted to the maximum value (maximum drop number), and the specific processing method will be described in detail later.

[0021] The image processing unit 10 is not limited to the above-mentioned processing, and can also perform various other known image processing such as gamma correction processing and edge enhancement processing.

[0022] Based on the ink drop data for each color generated by the halftone processor 13, the head drive controller 20 drives the inkjet head unit 30 to eject ink from each nozzle of the inkjet head for each color.

[0023] The inkjet head unit 30 includes a plurality of inkjet heads that eject ink of each color of C, M, Y, and K. As described above, each inkjet head is controlled by the head drive control unit 20 based on the ink drop data of each color to eject ink onto the printing medium, thereby forming a print image on the printing medium.

[0024] The transport unit 40 includes a transport mechanism that transports the print medium to the inkjet head unit 30 .

[0025] The control unit 50 includes a CPU, a semiconductor memory, and the like, and controls the entire inkjet printing apparatus 1. The control unit 50 controls the operation of each part of the inkjet printing apparatus 1 by executing a control program pre-stored in a storage medium such as a semiconductor memory or a hard disk, and by operating electric circuits.

[0026] Next, before describing the halftone process of the inkjet printing device 1 of this embodiment, an existing halftone process will be described with reference to the conceptual diagram of Fig. 3. Note that the case where the maximum number of drops of ink ejected per print dot is three drops will be described here. The existing halftone process described here is also a halftone process that uses a dither method, and is a halftone process that uses a 4 x 4 dither matrix.

[0027] Figures 3(1)-(49) show the results of applying existing halftone processing to a given 4x4 pixel in image data, where the print density varies from minimum density (zero) to maximum density. As the number in parentheses increases, the print density increases by one step. Each square in Figures 3(1)-(49) represents one pixel.

[0028] Figures 3 (1) to (17) show the results of halftone processing when the print density changes from zero to 17 levels. As shown in Figures 3 (1) to (17), when the print density changes from zero to 17 levels, data "1" indicating the number of ink drops "1" is added one by one for each increase in print density in accordance with the distribution of each dither threshold value of the dither matrix. When the print density has 17 levels, all pixels become data "1".

[0029] 3(18) to (33), for print density levels 18 to 33, all pixels start out with data "1," and for each step of print density increase, data "2," indicating the number of ink drops "2," is added one by one according to the distribution of each dither threshold value in the dither matrix. Then, when the print density is at 33 steps, all pixels become data "2."

[0030] Next, as shown in FIG. 3 (34) to (49), from print density levels 34 to 49, all pixels start out with data "2," and as the print density increases by one level, data "3" indicating the number of ink drops "3" is added one by one according to the distribution of each dither threshold value in the dither matrix. Then, when the print density is at 49 levels, all pixels become data "3." In other words, all pixels become the maximum value (maximum number of drops).

[0031] As mentioned above, with existing halftone processing, when the print density reaches level 17, all pixels have data other than 0, and when the print density reaches level 18 and above, data of "2" or "3" is added sequentially. In other words, when the print density reaches level 17 and above, there is no zero value between pixels, so the print dot density is always high, making it easy for the self-current caused by the ink ejection mentioned above to occur, and wind ripples to easily occur.

[0032] Next, the concept of halftone processing in the inkjet printing device 1 of this embodiment will be described with reference to Fig. 4. Note that here too, the case will be described where the maximum number of ink drops ejected per print dot is three. The halftone processing of this embodiment described here also uses a 4x4 dither matrix.

[0033] 4(1)-(37) are diagrams showing the results of halftone processing of this embodiment performed on a specific 4×4 pixel in image data, and show the results of halftone processing when the print density changes from the minimum density (zero) to the maximum density. As the number in parentheses increases, the print density increases by one step. Note that, for ease of explanation, it is assumed here that all 4×4 pixels have the same density.

[0034] In the halftone process of this embodiment, first, the number of ink drops "1" is sequentially added in accordance with the increase in print density, but the addition of "1" data is stopped when a zero value remains. In other words, the addition of "1" data is stopped when the number of pixels with a zero value reaches a predetermined number of pixels.

[0035] Next, as the print density increases, data "2" is added sequentially, but is arranged according to the same arrangement rule as when data "1" was arranged. Then, the addition of data "2" is stopped when zero values ​​remain. Furthermore, as the print density increases, data "3" is added sequentially, but is arranged according to the same arrangement rule as when data "2" was arranged. Then, zero values ​​remain until the print density reaches its maximum density, and at the point when the print density reaches its maximum density, all pixels become their maximum value (data "3"). Below, a more specific explanation will be given with reference to FIG. 4.

[0036] FIG. 4 (1) to (9) show the halftone process results when the print density changes from zero to ninth level. As shown in FIG. 4 (1) to (9), when the print density changes from zero to ninth level, data "1" indicating the number of ink drops "1" is added one by one according to the distribution of each dither threshold value of the dither matrix for each increase in density level. Then, as described above, the addition of "1" data is stopped while leaving zero values, but here, the addition of "1" data is stopped when the print density reaches ninth level. The print density at which the addition of "1" data is stopped is not limited to 9 levels, but is set to a level at which wind ripples can be suppressed.

[0037] Next, as shown in FIG. 4 (10) to (21), for print density levels 10 to 21, data "1" or "0" is replaced with data "2."

[0038] First, as shown in Fig. 4 (10) to (17), for print density levels 10 to 17, data "1" is replaced with data "2" using the same arrangement rule as the arrangement rule for data "0" when the print density varies from zero to nine levels. This makes it possible to replace data "1" with data "2" while maintaining the number of zero values ​​in the nine levels.

[0039] Therefore, the effect of suppressing wind ripple unevenness can be maintained, and the print density gradation can be made smooth, so that tone jumps can be suppressed.

[0040] Next, as shown in Fig. 4 (18) to (21), for print density levels 18 to 21, data "0" is replaced with data "2" according to the distribution of each dither threshold value of the dither matrix. In the halftone process of this embodiment, the addition of data "2" is stopped while leaving zero values ​​as described above, but here the addition of data "2" is stopped when the print density reaches level 21. The print density at which the addition of data "2" is stopped is not limited to level 21, but is set to a level at which wind ripple unevenness can be suppressed.

[0041] The number of zero values ​​at the time when the addition of the data "2" is stopped can be made smaller than the number of zero values ​​at the time when the addition of the data "1" is stopped. This is because the size of the ink droplets increases as the number of ink drops increases, and therefore the gaps between the ink dots on the printing surface are small or overlap, so that even if the landing position is shifted due to the influence of air currents, wind ripples are unlikely to occur.

[0042] In this way, by making the number of zero values ​​at the point where the addition of the data "2" is stopped less than the number of zero values ​​at the point where the addition of the data "1" is stopped, in other words, by performing halftone processing so that the proportion of zero values ​​contained in the entire multi-value data decreases as the multi-value data becomes larger, the print density gradation can be increased and the image quality of the printed image can be improved.

[0043] Next, as shown in FIG. 4 (22) to (37), for print density levels 22 to 37, data "2" or "0" is replaced with data "3."

[0044] First, as shown in Figure 4 (22) to (33), when the print density is from 22 to 33 levels, the data "2" is replaced with data "3" using the same arrangement rule as the arrangement rule for data "2" when the print density changes from, for example, 10 to 21 levels, while maintaining the 21 levels of data "2". This makes it possible to replace the data "2" with data "3" while maintaining the number of zero values ​​in the 21 levels.

[0045] Therefore, the effect of suppressing wind ripple unevenness can be maintained, and the print density gradation can be made smooth, so that tone jumps can be suppressed.

[0046] Next, as shown in Fig. 4 (34) to (37), for print density levels 34 to 37, data "0" is replaced with data "3" according to the distribution of each dither threshold value of the dither matrix. Then, zero values ​​remain until the print density reaches its maximum density, at which point all pixels become the maximum value (data "3").

[0047] As shown in Figures 4 (1) to (37), the halftone processing unit 13 of this embodiment performs halftone processing so as to always include zero values, except when all pixels constituting the image data are converted to maximum values ​​(as in Figure 4 (37)). This makes it possible to achieve a lower print dot density than with existing halftone processing, making it difficult for the self-generated airflow caused by the ink ejection described above to occur, and making it possible to suppress wind ripple unevenness. Furthermore, wind ripple unevenness can be suppressed even with low-resolution image data, without causing a decrease in graininess or tone jumps.

[0048] Also, as shown in FIG. 4(1)-(9), when converting data of "0" to data of "1", it is preferable to make pixels of data of "0" adjacent to pixels of data of "1" and to prevent pixels of data of "1" from being consecutive for more than two pixels in the vertical and horizontal directions. However, the arrangement of data of "0" and data of "1" depends on the density of each pixel of the image data. Therefore, for example, in halftone processing, after converting each pixel of the image data to data of "0" and "1", a part where data of "1" is consecutive for more than two pixels in the vertical or horizontal directions may be detected, and the "1" data of the detected part may be further converted to data of "0" so that pixels of data of "1" are not consecutive for more than two pixels in the vertical and horizontal directions. This makes it possible to maintain a low print dot density without depending on image data.

[0049] Next, an outline of the calculation process of the halftone process of this embodiment will be described with reference to the flowchart shown in FIG.

[0050] First, the halftone processor 13 sets the y coordinate of a pixel constituting the image data to y = 0 (S10) and sets the x coordinate to x = 0 (S12). Note that the initial values ​​of the x and y coordinates of a pixel constituting the image data are zero.

[0051] Then, the density data data[x][y] of the pixel at the x-coordinate and y-coordinate positions set in S10 and S12 and the dither threshold value dth of the dither matrix Dth corresponding to the x-coordinate and y-coordinate positions are obtained (S14). The position of the dither threshold value dth in the dither matrix Dth can be found, for example, by calculating the remainder when the x-coordinate of data[x][y] is divided by the size of the dither matrix Dth in the x-direction and the remainder when the y-coordinate is divided by the size of the dither matrix Dth in the y-direction. The dither matrix Dth and the dither threshold value dth will be described in detail later.

[0052] Then, the halftone processor 13 executes a calculation process using the density data data[x][y] calculated in S14 and the dither threshold dth to calculate multi-value data (ink drop data) corresponding to the density data data[x][y] (S16). The specific calculation process will be described in detail later.

[0053] Next, the halftone processor 13 increments the x coordinate by 1 (S18), and if the x value is smaller than the size in the x direction (x_size) of the image data (S20, YES), repeats the processes of S14 to S18.

[0054] Then, in S20, if x≧x_size (S20, NO), the halftone processing unit 13 increments the y coordinate by 1 (S22), and if the y value is smaller than the size of the image data in the y direction (y_size) (S24, YES), repeats the processes of S12 to S22.

[0055] Then, at the point in time when y≧y_size is satisfied in S24 (S24, NO), the halftone processor 13 ends the process. This makes it possible to obtain multi-value data (ink drop data) for all pixels constituting the image data.

[0056] Next, the calculation process of S16 in Fig. 5 in the halftone process of this embodiment will be specifically described. Here, the density data of each pixel of the image data is set to 0 to 255, and is converted to multi-value data of 0 to 3 by performing the halftone process as shown in Fig. 4.

[0057] First, the density threshold value Th and the dither matrix Dth used in the halftone process of this embodiment will be described. In this embodiment, as shown in FIG. 6, the density range of 0 to 255 is divided into three ranges. The horizontal axis of FIG. 6 is density data, and the vertical axis is print density. The boundary values ​​of the divisions are density threshold values ​​Th[0], Th[1], Th[2], and Th[3]. Th[0]=0, and Th[3]=255. Th[1] is a value that determines the print density range in which data "1" is added by halftone process, and is a value that determines the print density range from 0 to 9 levels shown in FIG. 4. That is, it is the print density at which the addition of data "1" is stopped. For example, Th[1]=30 is set. If Th[1] is increased, the density of the "1" data will increase, i.e., the print dot density will increase and wind ripples will appear. If Th[1] is decreased, wind ripples will not appear, but there will be fewer small dots and the graininess will increase. Therefore, Th[1] should be set to a value that strikes a balance between wind ripples and graininess through experimentation, etc.

[0058] Th[2] is a value that determines the print density range in which data "2" is added by halftone processing, and is a value that determines the print density range from 10 levels to 21 levels shown in Figure 4. In other words, it is the print density at which the addition of data "2" stops. For example, Th[2] = 110 is set. Like Th[1], Th[2] is also set to a value that strikes a good balance between wind ripple unevenness and graininess through experiments, etc.

[0059] In this embodiment, Th[0] to Th[1] is defined as a concentration range index m=0, Th[1] to Th[2] is defined as a concentration range index m=1, and Th[2] to Th[3] is defined as a concentration range index m=2. The concentration range index m=0 to 2 will be used in the description of specific calculation processing later.

[0060] Next, in this embodiment, halftone processing is performed using three dither matrices Dth[1], Dth[2], and Dth[3] in accordance with the three density ranges of the image data. The dither matrix Dth[1] is a dither matrix that converts image data in the first density range of 0 to 105 into data of "0" or "1" by halftone processing. The dither matrix Dth[1] is obtained by normalizing the dither matrix made of a blue noise mask with density values ​​in the first density range of 0 to 105. For example, when one threshold value of the dither matrix made of a blue noise mask is dth and one corresponding threshold value of the dither matrix Dth[1] is dth[1], it is calculated by the following formula. Note that, although a dither matrix made of a blue noise mask is used in this embodiment, a halftone dot type dither matrix may be used. dth[1] = (first normalized value × dth) / 256

[0061] The first normalization value in the above formula is a value that controls the speed at which the dots become dense. For example, if the first normalization value is 256, and dth is 10 and 100, then dth[1] will be 10 and 100, but if the first normalization value is 128, then dth[1] will be 5 and 50, which is a smaller threshold value and makes it easier to print. In other words, this means that the smaller the first normalization value is, the faster the dots become dense. In this embodiment, 105 is set as the first normalization value.

[0062] The dither matrix Dth[2] is a dither matrix that converts image data in the second density range of 30 to 135 into data of "2" by halftone processing. The dither matrix Dth[2] is obtained by normalizing the dither matrix made of a blue noise mask with density values ​​in the second density range of 30 to 135. For example, when one threshold value of the dither matrix made of a blue noise mask is dth and one corresponding threshold value of the dither matrix Dth[2] is dth[2], it is calculated by the following formula. The meaning of the second normalization value is the same as that of the first normalization value, and in this embodiment, 105 is set as the second normalization value. dth[2] = (second normalized value × dth) / 256

[0063] The dither matrix Dth[3] is a dither matrix that converts image data in the third density range of 105 to 255 into data of "3" by halftone processing. The dither matrix Dth[3] is obtained by normalizing the dither matrix made of a blue noise mask with density values ​​in the second density range of 105 to 255. For example, when one threshold value of the dither matrix made of a blue noise mask is dth and one corresponding threshold value of the dither matrix Dth[3] is dth[3], it is calculated by the following formula. The meaning of the third normalization value is the same as that of the first normalization value, and in this embodiment, the third normalization value=255-Th[2]. By using such a value, it is possible to obtain solid data of the ink drop of "3" when the density data is 255. dth[3] = (third normalized value × dth) / 256

[0064] Also, in FIG. 6, the regions converted into ink drop data of "0" and "1" (0, 1 drop region), the regions converted into ink drop data of "0", "1", and "2" (0, 1, 2 drop region), the regions converted into ink drop data of "0" and "2" (0, 2 drop region), the regions converted into ink drop data of "0", "2", and "3" (0, 2, 3 drop region), and the regions converted into ink drop data of "0" and "3" (0, 3 drop region) are shown.

[0065] Next, the halftone process using the above-described density thresholds Th[0] to Th[3] and dither matrices Dth[1] to [3] will be described with reference to the flowchart shown in FIG. 7.

[0066] First, the halftone processing unit 13 acquires the density data of a predetermined pixel constituting the image data, and determines whether the density data data belongs to any of the above-described density range indicators m = 0 to 2 (S30). Specifically, m that satisfies Th[m] ≤ data < Th[m + 1] is determined.

[0067] Next, the halftone processing unit 13 calculates the above-described dth[1] to dth[3] (S32).

[0068] Then, when the value of m determined in S13 is zero (S34, YES), the density data data of the pixel is compared with the dither threshold dth[1] of the dither matrix Dth[1] at the position corresponding to the pixel. When data > dth[1] (S36, YES), the multi-valued data (ink drop data) of the pixel is set to "1" (S38).

[0069] On the other hand, when data ≤ dth[1] (S36, NO), the multi-valued data (ink drop data) of the pixel is set to "0" (S40).

[0070] Furthermore, if the value of m determined in S30 is not zero (S34, NO), the halftone processor 13 compares the value (data-Th[m]) obtained by subtracting Th[m] from the density data of that pixel with the dither threshold value dth[m+1] of the dither matrix Dth[m+1] at the position corresponding to that pixel (S42). Note that data-Th[m] is a calculation for making the density data of the pixel into input data based on Th[m].

[0071] If the input data is greater than dth[m+1] (S42, YES), the halftone processor 13 sets the multi-value data (ink drop data) for that pixel to m+1 (S44).

[0072] Specifically, for example, when m is 1, the halftone processor 13 compares data-Th[1] with dth[2]. Then, when data-Th[1] is greater than dth[2], the multi-value data (ink drop data) for that pixel is set to 2. As a result, the data "2" shown in Fig. 4 (10) to (21) is arranged.

[0073] On the other hand, in S42, if data-Th[m]≦dth[m+1] (S42, NO), the dither threshold dth[m] of the dither matrix Dth[m] at the position corresponding to the pixel is compared with Th[m]-Th[m-1] (S46).

[0074] Here, Th[m]-Th[m-1] is Th[1]-Th[0] when m=1, and indicates the concentration range from when the addition of data "1" starts to when it stops, as shown in Fig. 4 (1)-(9). As shown in Fig. 4 (10)-(17), data "2" needs to be placed in the same position as data "1", which is achieved by placing data "2" based on the conditions in S42.

[0075] However, if the condition of S42 is not met, the cardinality at time Th[1] must be maintained. Therefore, if data "2" is not placed in S42, data "1" must be placed in the location where data "1" was placed at time Th[1].

[0076] Therefore, if the data "2" was not placed in S42, in the comparison formula of S46, if the dither threshold value dth[1] for the data "1" is smaller than the density at which the addition of the data "1" was stopped, the data "1" is placed (S48). This is because if the dither threshold value dth[1] is smaller than Th[1]-Th"0", it indicates that the data "1" has already been placed at that position.

[0077] On the other hand, if the comparison formula in S46 satisfies dth[m]≧Th[m]−Th[m−1], the multi-value data (ink drop data) of the pixel is set to 0 (S50).

[0078] As a result, when the density data of a pixel in the image data is in the density range of m=1, it can be converted to data of "0," "1," or "2." In other words, it is possible to smooth out the change in print density while still mixing in data of "0."

[0079] In the above explanation, the case of m=1 has been explained, but even in the case of m=2, by carrying out the processing based on the comparison formulas in S42 and S46, it is possible to convert the density data in the density section of m=2 to data of "0," "2," or "3." In other words, it is possible to smooth the change in print density while still mixing in data of "0."

[0080] Next, an inkjet printing apparatus 2 using an image processing apparatus according to a second embodiment of the present invention will be described in detail. The schematic configuration of the inkjet printing apparatus 2 according to the second embodiment is similar to that of the inkjet printing apparatus 1 according to the first embodiment shown in Fig. 1, but the configuration of the image processing unit 10 is different from that of the first embodiment.

[0081] The halftone processing unit 13 in the first embodiment performs halftone processing using the dither method as described above, while the image processing unit 10 in the second embodiment performs halftone processing using a multi-value error diffusion method. In the case of halftone processing using the dither method as in the first embodiment, memory capacity is required to store a dither matrix. For example, When using a 256 x 256 dither matrix, 64 kBytes of memory capacity is required. In contrast, multi-level error diffusion processing does not require the storage of a dither matrix, so the memory capacity can be reduced, and the calculation processing can be realized by simple hardware, so the overall hardware can be reduced. The memory capacity required for multi-level error diffusion processing will be described in detail later.

[0082] 8 is a block diagram showing the configuration of an image processing unit 10 according to the second embodiment. As in the first embodiment, the halftone processing unit 13 according to the second embodiment performs halftone processing so as to always include zero values, except when all pixels constituting image data are converted to maximum values ​​(maximum drop number), and in order to perform such halftone processing, the image processing unit 10 according to the second embodiment is provided with a binary error diffusion processing unit 14. The halftone processing unit 13 according to the second embodiment performs multi-level error diffusion processing based on the processing result of the binary error diffusion processing unit 14, thereby performing halftone processing that always includes zero values, as described above.

[0083] The binary error diffusion processing unit 14 performs binary error diffusion processing on each of the C, M, Y, and K image data before the halftone processing by the halftone processing unit 13. As a binary error diffusion processing, for example, a binary error diffusion processing by the Floyd-Steinberg method using a diffusion coefficient as shown in FIG. 9 is known, but in this embodiment, the binary error diffusion processing is performed using a method equivalent to this. The Floyd-Steinberg method is a method of dispersing an error generated in a pixel of interest by multiplying it by a diffusion coefficient to surrounding pixels as shown in FIG. 9, but in this embodiment, a method of multiplying the error of the surrounding pixels by a diffusion coefficient and distributing it to the pixel of interest as shown in FIG. 10 is used. In this method, the error err_bin distributed to the pixel of interest is expressed by the following formula. In the following formula, err_mem0[] is a memory that stores the error of the line immediately before the pixel of interest, err_pre is the error of the pixel immediately before the pixel of interest, and err_mem1[] is a memory that stores the error used in the line next to the pixel of interest. err_bin=err_mem0[x-1]*1 / 16+err_mem0[x]*3 / 16+err_mem0[x+1]*5 / 16+err_pre*7 / 16

[0084] If the density data of the pixel of interest is D, the pixel data Derr after the error is distributed is expressed by the following formula. Derr = D + err_bin

[0085] If Derr>127, it is determined to be black, and its quantization value is set to 255. On the other hand, if Derr≦127, it is determined to be white, and its quantization value is set to 0.

[0086] Then, err=Derr-quantized value is calculated, and err_mem1[x]=err and err_pre=err.

[0087] By performing binary error diffusion processing using the above-mentioned calculation process, the hardware only requires two lines of memory, err_mem0[] and err_mem1[]. Also, by shifting the timing of saving the error, the error of the pixel of interest can be written back to the used area of ​​err_mem0[] after the error is read out, so that only one line of memory is actually required. The error distributed to the pixel on the first line (y=0) can be set in advance.

[0088] Then, the binary error diffusion processing unit 14 performs binary error diffusion processing on the C, M, Y, and K image data, respectively, and as a result, adds a white pixel flag to pixels that are determined to be white, i.e., pixels whose quantization value is 0.

[0089] When performing halftone processing by multi-value error diffusion processing, the halftone processing unit 13 of the second embodiment always sets the value of pixels determined to be white by the binary error diffusion processing unit 14 to zero. The multi-value error diffusion processing in the halftone processing unit 13 of this embodiment will be described below.

[0090] The halftone processor 13 quantizes the density data of each pixel using a quantization threshold value, as in the binary error diffusion process, and calculates an error from the quantized value and the density data.

[0091] Specifically, if the quantization value is q[i], the quantization threshold is q_th[i], and the density data of each pixel is D, when the maximum drop number is maxdrop=3, each value can be set as shown in FIG. 11, for example.

[0092] Then, as in the binary error diffusion process, if the error distributed from the surrounding pixels to the pixel of interest is err_mlt, the value of i, which determines which of the quantization thresholds q_th[1] to q_th[3] shown in Fig. 11 to use, can be calculated by the following formula: Note that INT() is a function that rounds down the decimal point and returns the maximum integer not exceeding the original number. i=INT((D+err_mlt)*maxdrop / 255)

[0093] For example, when D+err_mlt=150 as shown in FIG. 11, i is calculated as 1 according to the following formula. i = INT(150*3 / 255) = INT(1.76) = 1

[0094] In this case, the quantization threshold used is q_th[1]=127, and D+err_mlt=150 is quantized to q[1]=85 or q[2]=170, but since D+err_mlt=150 is greater than q_th[1]=127, the quantization value becomes q[2]=170. The multi-value data (ink drop data) becomes "2", which corresponds to q[2]=170.

[0095] More specifically, first, the above-mentioned Derr is calculated, and then the value of i is calculated. If i>maxdrop, then i=maxdrop is set. If i=maxdrop, then the quantization value becomes q[maxdrop], and the multi-value data becomes maxdrop.

[0096] If i=maxdrop is not satisfied, it is checked whether or not a white pixel flag has been added to that pixel, and if a white pixel flag has been added, zero is calculated as the quantization value of that pixel, and the multi-value data also becomes zero. As described above, for pixels to which a white pixel flag has been added, the quantization value becomes zero, but because the error between the input density and the quantization value of zero is compensated for by surrounding pixels, the density does not decrease due to the characteristics of error diffusion.

[0097] On the other hand, if the white pixel flag is not added, if Derr>q_th[i], the quantization value is calculated as q[i+1] and the multi-value data becomes i+1. If Derr≦q_th[i], the quantization value is calculated as q[i] and the multi-value data becomes i.

[0098] Next, the flow of calculation processing in the halftone processing of the second embodiment will be described with reference to the flowchart shown in FIG.

[0099] First, the halftone processor 13 sets the y coordinate of a pixel constituting the image data to y=0 (S90) and sets the x coordinate to x=0 (S92). Note that the initial values ​​of the x and y coordinates of a pixel constituting the image data are zero.

[0100] Then, binary error diffusion processing is performed on the density data of the pixel at the x-coordinate and y-coordinate position set in S90 and S92 (S94). If the pixel is determined to be white, a white pixel flag is added to that pixel (S96).

[0101] Next, multi-value error diffusion processing is applied to the density data of the pixel at the x-coordinate and y-coordinate positions set in S90 and S92, and multi-value data for that pixel is calculated (S98). During the multi-value error diffusion processing, the white pixel flag added in S96 as described above is referenced.

[0102] Next, the halftone processor 13 increments the x coordinate by 1 (S100), and if the x value is smaller than the size in the x direction (x_size) of the image data (S102, YES), repeats the processes of S94 to S100.

[0103] Then, in S102, if x≧x_size (S102, NO), the halftone processing unit 13 increments the y coordinate by 1 (S104), and if the y value is smaller than the size of the image data in the y direction (y_size) (S106, YES), repeats the processes of S92 to S104.

[0104] Then, in S106, when y≧y_size holds (S106, NO), the halftone processor 13 ends the process. This makes it possible to obtain multi-value data (ink drop data) for all pixels constituting the image data.

[0105] Next, a modified example of the second embodiment described above will be described. In the second embodiment, a white pixel flag is added to pixels determined to be white by performing binary error diffusion processing, and the multi-value data of the pixels is forcibly set to zero. However, for example, in a bright density area, the density of white pixels is originally high, so when the above-mentioned processing is performed, the quantization value of the multi-value error diffusion processing of most pixels becomes zero. In such a state, during the multi-value error diffusion processing, errors of pixels whose quantization value becomes zero accumulate, and the quantization value suddenly becomes large in the printable area. For example, in a bright density area, it is desired to mix 0 drop and 1 drop, but 0 drop and 3 drop are mixed, and the graininess of the printed image deteriorates.

[0106] Therefore, in the modified example of the second embodiment, the density of white pixels is prevented from becoming too high after the binary error diffusion process. Fig. 13 is a diagram showing the configuration of a modified example of the image processing unit 10 of the second embodiment. As shown in Fig. 13, the modified example of the image processing unit 10 of the second embodiment further includes a white pixel density adjustment unit 15.

[0107] The white pixel density adjustment unit 15 performs density conversion processing as white pixel density adjustment processing on each of the input image data of C, M, Y, and K. Specifically, as shown in Fig. 14, the white pixel density adjustment unit 15 performs density conversion processing on each image data such that the density of pixels determined to be white becomes sparser as the input density of the image data becomes brighter or darker, and the density of pixels determined to be white becomes maximum at intermediate densities.

[0108] In the graph shown in Fig. 14, in the intermediate densities, the output density is controlled so that the white pixel density is sufficient to reduce wind ripple unevenness, and in areas brighter than the intermediate density, the output density relative to the input density becomes darker (white pixel density becomes sparser) as the area becomes brighter, and in areas darker than the intermediate density, the output density relative to the input density becomes darker (white pixel density becomes sparser) as the area becomes darker. The density conversion process may be realized by a lookup table or a function such as a predetermined linear equation.

[0109] Then, the binary error diffusion processing unit 14 performs binary error diffusion processing on each image data that has been subjected to density conversion processing by the white pixel density adjusting unit 15. The other configurations of the modified example of the second embodiment are similar to those of the second embodiment.

[0110] According to the modified example of the second embodiment, the density of pixels determined to be white is made sparser as the input density of image data becomes brighter, so that deterioration of graininess can be prevented.

[0111] The method for adjusting the density of white pixels after the binary error diffusion process is not limited to the above method. The density of pixels determined to be white in the binary error diffusion processor 14 may be adjusted.

[0112] Specifically, the quantization value of a pixel determined to be white is set to a negative value, and a quantization threshold is set based on this negative value and the quantization value of a pixel determined to be black, and binary error diffusion processing is performed. Specifically, as shown in FIG. 15, the quantization value of a pixel determined to be white is set to a negative value white_dens (for example, -20), and a quantization threshold (137) is calculated based on this negative value white_dens and the quantization value black_dens (255) of a pixel determined to be black, and binary error diffusion processing is performed. As described above, when the quantization value is set to a negative value (-20), even if the input density is 0, for example, the error is input density (0) - quantization value (-20) = 20, so a positive error is distributed to the surrounding pixels. In other words, it acts to make the density of the surrounding pixels higher, which makes the density of white pixels lower.

[0113] By applying this type of binary error diffusion processing to areas of the image data that are brighter than the intermediate densities, the density of white pixels after the binary error diffusion processing can be made sparse, which makes it possible to prevent graininess from worsening even in bright densities, just like the modified example of the second embodiment.

[0114] Figures 16A to 16D are diagrams showing the results of applying existing multi-value error diffusion processing to a monochrome gradation image. Figures 16A to 16D are diagrams showing a portion of a gradation image that has been applied with multi-value error diffusion processing, with the density decreasing from A to D. Figure 16A includes a portion that has been converted to the maximum density. If only existing multi-value error diffusion processing is applied, wind ripple unevenness is likely to occur in the density range R.

[0115] 17A to 17D are diagrams showing the results of applying the halftone process of the second embodiment to a monochrome gradation image similar to that of FIGS. 16A to 16D. In FIGS. 17A to 17D, the image has been converted so that all white pixels (zero value) are included except for the portion converted to the maximum density. In particular, it can be seen that white pixels are included in the solid portions of FIGS. 17B and 17C. This makes it possible to suppress the effects of wind ripple unevenness in the density range R.

[0116] The following supplementary notes are further disclosed regarding the image processing device of the present invention. (Additional Note)

[0117] In the image processing device of the present invention, in the process of converting image data into multi-value data including n values ​​(n is an integer greater than or equal to 0) and n+1 values ​​according to the density of the image data, the halftone processing unit stops increasing the number of n+1 value pixels when a predetermined number of zero-value pixels are reached in the multi-value data, and then can place the n+2 value in the same position as the n+1 value according to the increase in the density of the image data.

[0118] In the image processing device of the present invention, the halftone processing unit can perform halftone processing by placing a pixel with a value of 1 adjacent to a pixel with a value of 0, so that there are no more than two consecutive pixels with a value of 1.

[0119] Furthermore, in the image processing device of the present invention, the halftone processing section can perform halftone processing so that the proportion of zero values ​​contained in the entire multi-value data decreases as the multi-value data corresponding to each pixel becomes larger.

[0120] In addition, the image processing device of the present invention can be provided with a binary error diffusion processing unit that performs binary error diffusion processing on image data before halftone processing by the halftone processing unit, and when performing halftone processing, the halftone processing unit can set the quantization values ​​and multi-value data of pixels determined to be white in the binary error diffusion processing unit to zero values.

[0121] In addition, the image processing device of the present invention can be provided with a white pixel density adjustment unit that applies white pixel density adjustment processing to image data before the binary error diffusion processing by the binary error diffusion processing unit, adjusting the density of pixels that are determined to be white by the binary error diffusion processing, and the binary error diffusion processing unit can apply binary error diffusion processing to the image data that has been subjected to the white pixel density adjustment processing.

[0122] In addition, in the image processing device of the present invention, the binary error diffusion processing unit can perform binary error diffusion processing by setting the quantization value of a pixel determined to be white as a negative value, and setting a binary threshold based on that negative value and the quantization value of a pixel determined to be black.

[0123] Furthermore, in the image processing apparatus of the present invention, the density of pixels determined to be white can be made sparser as the density of image data becomes brighter. [Explanation of symbols]

[0124] 1 Inkjet printing device 10 Image processing section 11 Image data reception section 12 Color conversion section 13 Halftone Processing Section 14 Binary error diffusion processing section 15 White pixel density adjustment section 20 Head drive control unit 30 Inkjet head unit 40 Conveyor 50 Control section

Claims

1. an image data receiving unit that receives image data; a halftone processing unit that performs halftone processing on the image data to convert it into at least three values ​​and generate multi-value data that represents the print density of the image data; An image processing device in which the halftone processing unit generates the multi-value data that always includes zero values ​​through the halftone processing, except when all pixels that make up the image data are converted to maximum values.

2. 2. The image processing device according to claim 1, wherein, in the process of converting the image data into multi-value data including an n value (n is an integer equal to or greater than 0) and an n+1 value according to the density of the image data, the halftone processing unit stops increasing the number of pixels of the n+1 value when a predetermined number of pixels in the multi-value data have a zero value, and then places the n+2 value in the same position as the n+1 value according to the increase in the density of the image data.

3. 3. The image processing apparatus according to claim 2, wherein the halftone processing section performs the halftone processing such that a pixel with a value of 1 is adjacent to a pixel with a value of zero, so that two or more pixels with a value of 1 are not consecutive.

4. 4. The image processing device according to claim 1, wherein the halftone processing unit performs the halftone processing such that a proportion of the zero values ​​contained in the entire multi-value data decreases as the multi-value data corresponding to each pixel becomes larger.

5. a binary error diffusion processing unit that performs binary error diffusion processing on the image data before the halftone processing by the halftone processing unit; 2. The image processing apparatus according to claim 1, wherein said halftone processing section sets the quantized value and the multi-value data of a pixel determined to be white by said binary error diffusion processing section to a zero value when performing said halftone processing.

6. a white pixel density adjustment unit that performs a white pixel density adjustment process on the image data to adjust a density of pixels determined to be white by the binary error diffusion process before the binary error diffusion process is performed by the binary error diffusion processing unit, 6. The image processing apparatus according to claim 5, wherein the binary error diffusion processing section performs binary error diffusion processing on the image data that has been subjected to the white pixel density adjustment processing.

7. 6. The image processing device according to claim 5, wherein the binary error diffusion processing unit sets the quantization value of a pixel determined to be white as a negative value, and sets a quantization threshold based on the negative value and the quantization value of a pixel determined to be black to perform the binary error diffusion processing.

8. 8. The image processing apparatus according to claim 6, wherein the density of pixels determined to be white is made sparser as the density of the image data becomes brighter.

Citation Information

Patent Citations

  • Multi-gradation printer

    JP1997247438A

  • Ink jet printing device

    JP2016013645A

  • Colorant splitting method

    WO2015078827A1