Image processing device, image processing method
A separate printing mode for two-dimensional codes and characters ensures accurate reading of codes while maintaining character readability by optimizing edge processing independently.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-06-18
- Publication Date
- 2026-04-07
AI Technical Summary
Existing techniques for improving the reading accuracy of two-dimensional codes, such as barcodes and QR codes, risk reducing the line width of characters, leading to decreased readability.
A printing method that separates the printing modes for two-dimensional codes and characters, allowing for independent optimization of edge processing to maintain readability without affecting character printing.
Enables the printing of two-dimensional codes with improved reading accuracy without compromising the readability of characters.
Smart Images

Figure 2026059718000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to printing technology.
Background Art
[0002] In order to record printed matter in which reading errors are unlikely to occur for two-dimensional codes such as barcodes and QR codes (registered trademark), etc., a technique for changing the recording process of the edges of images (hereinafter referred to as edge processing) is generally known. In Patent Document 1, in order to suppress a decrease in reading accuracy due to bleeding of ink forming black cells of a code image outside the black cells, a technique is disclosed in which a region that serves as a floating water area is provided by reducing the amount of ink inside the edge pixels of the code image.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, when edge processing specialized for improving the reading accuracy of a code image is also performed on characters, there is a risk that the line width of the characters becomes too thin and the readability decreases instead. The present invention provides a technique capable of printing a two-dimensional code image considering reading accuracy without affecting character printing.
Means for Solving the Problems
[0005] One aspect of the present invention is characterized by including printing means for thinning and printing a two-dimensional code image when a mode for printing a two-dimensional code image different from the mode for character printing is set.
Effects of the Invention
[0006] According to the present invention, it is possible to provide a technology that enables the printing of two-dimensional code images with readability taken into consideration without affecting the printing of characters. [Brief explanation of the drawing]
[0007] [Figure 1] A perspective view showing an overview of the recording unit in recording device 2. [Figure 2] (a) is a diagram showing an example of the configuration of the printing system, and (b) is a block diagram showing an example of the hardware configuration of the image processing device 100. [Figure 3] (a) is a flowchart of edge detection and image recording, (b) is a flowchart showing the details of the processing in step S303, and (c) is a flowchart of dot position adjustment using the ejection position adjustment value. [Figure 4] A diagram illustrating edge pattern detection. [Figure 5] A diagram to explain pattern matching. [Figure 6] Flowchart of the color separation quantization process performed in step S304. [Figure 7] (a) is a flowchart of the nozzle disassembly process performed in step S305, and (b) and (c) are diagrams showing examples of settings for the first tone correction process. [Figure 8] A diagram showing examples of dot placement patterns and reference index patterns. [Figure 9] A schematic diagram showing the recording head H as viewed from above the recording device 2. [Figure 10A] A diagram illustrating the data after each process performed by the image processing unit 208. [Figure 10B] A diagram illustrating the data after each process performed by the image processing unit 208. [Figure 11] A diagram illustrating the data after each process performed by the image processing unit 208. [Figure 12](a) is a flowchart of the color separation quantization process performed in step S304 for cyan, magenta, and yellow, (b) is a flowchart showing the details of the nozzle decomposition process performed in step S305, and (c) and (d) are diagrams showing an example of the dot arrangement pattern used in the index expansion process. [Figure 13] (a) is a flowchart showing the details of the color separation quantization process performed in step S304, and (b) is a diagram showing an example of the setting of the second gradation correction process. [Figure 14A] A diagram for explaining the data obtained by executing each process of the image processing unit 208. [Figure 14B] A diagram for explaining the data obtained by executing each process of the image processing unit 208. [Figure 15] A diagram for explaining the data obtained by executing each process of the image processing unit 208. [Figure 16A] A diagram for explaining the data obtained by executing each process of the image processing unit 208. [Figure 16B] A diagram for explaining the data obtained by executing each process of the image processing unit 208. [Figure 17] A diagram for explaining the second gradation correction process. [Figure 18A] A diagram for explaining the data obtained by executing each process of the image processing unit 208. [Figure 18B] A diagram for explaining the data obtained by executing each process of the image processing unit 208. [Figure 19A] A diagram for explaining the discharge position adjustment [Figure 19B] A diagram for explaining the discharge position adjustment
Embodiments for Carrying Out the Invention
[0008] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the invention according to the claims. Although a plurality of features are described in the embodiments, not all of these plurality of features are essential to the invention, and the plurality of features may be arbitrarily combined. Further, in the accompanying drawings, the same or similar configurations are given the same reference numerals, and redundant descriptions are omitted.
[0009] <Structure of the recording device> First, the main structure of the recording device according to each of the following embodiments will be described with reference to FIG. 1. FIG. 1 is a perspective view showing an outline of a recording unit in the recording device 2. A recording medium P such as paper fed to the recording unit is conveyed in the -Y direction (sub-scanning direction) as the conveyance roller 101 rotates, by the nip portion of the conveyance roller 101 disposed on the conveyance path of the recording medium P and the pinch roller 102 driven thereby. The platen 103 is provided at a recording position facing the surface (nozzle surface) where the nozzles of the inkjet recording head H are formed, and maintains a constant distance between the surface of the recording medium P and the nozzle surface of the recording head H by supporting the back surface of the recording medium P from below. The recording medium P on which an image has been recorded on the platen 103 is conveyed in the -Y direction as the discharge roller 105 rotates while being nipped by the discharge roller 105 and the accelerating roller 106 driven thereby, and is discharged to the paper discharge tray 107.
[0010] The recording head H is detachably mounted on the carriage 108 with its nozzle surface facing the platen 103 or the recording medium P. The carriage 108 is moved back and forth along two guide rails 109 and 110 in the X direction by the driving force of a carriage motor (not shown), and during this movement, the recording head H performs an ejection operation in accordance with the ejection signal. The ±X direction in which the carriage 108 moves is perpendicular to the -Y direction in which the recording medium P is transported, and is called the main scanning direction. In contrast, the -Y direction in which the recording medium P is transported is called the sub-scanning direction. By alternately repeating the main scanning (movement accompanied by ejection) of the carriage 108 and the recording head H and the transport of the recording medium P (sub-scanning), an image is formed on the recording medium P in stages. Hereafter, the main scanning of the recording head H in the +X direction will be called the forward scan, and the main scanning in the -X direction will be called the reverse scan.
[0011] <Structure of recording head H> Next, the structure of the recording head H in each of the following embodiments will be described with reference to Figure 9. Figures 9(a) to (c) are schematic diagrams of the recording head H as seen from the top surface of the recording device 2. The recording head H has recording chips 1105 and 1106, which each receive recording signals from the main body of the recording device 2 via contact pads (not shown) and are supplied with the power necessary to drive the recording head H. As shown in Figure 9(a), the recording chip 1105 has a nozzle row (K row) 1101 (hereinafter also referred to as the black nozzle row) in which a plurality of nozzles for ejecting black ink are arranged in the Y direction. The recording chip 1106 has a nozzle row (C row) 1102 in which a plurality of nozzles for ejecting cyan ink are arranged in the Y direction, a nozzle row (M row) 1103 in which a plurality of nozzles for ejecting magenta ink are arranged in the Y direction, and a nozzle row (Y row) 1104 in which a plurality of nozzles for ejecting yellow ink are arranged in the Y direction.
[0012] Figure 9(b) is a magnified view of nozzle row 1101. Figure 9(c) is a magnified view of one of the nozzle rows 1102, 1103, and 1104. This magnified view is common to all color inks. Nozzles 1108 and 1111 that eject ink are located on both sides of the ink chambers 1107 and 1110, and ejection heaters 1109 and 1112 are located directly below them (towards the +Z direction). When voltage is applied, both ejection heaters 1109 and 1112 generate heat and create bubbles, ejecting ink from their respective nozzles 1108 and 1111. Nozzle 1108 has 832 openings, and nozzle 1111 has 768 openings. Nozzle 1108 is a nozzle for ejecting black ink, and consists of an Ev row 1121 (hereinafter also referred to as the Ev nozzle row) composed of nozzles 1108 arranged in the Y direction at a pitch of 600 dpi, and an Od row 1122 (hereinafter also referred to as the Od nozzle row) composed of nozzles 1108 arranged in the Y direction at a pitch of 600 dpi. In the Ev nozzle row 1121, the nozzles 1108 are positioned with a half-pitch offset in the -Y direction relative to the Od nozzle row 1122. By performing recording scanning using nozzle rows 1101 with this configuration, an image can be recorded on the recording medium at a recording density of 1200 dpi.
[0013] Similarly, nozzle rows 1102, 1103, and 1104 each have Ev rows 1123-1125, where nozzles 1111 are arranged in the Y direction at a pitch of 600 dpi, and Od rows 1126-1128, where nozzles 1111 are arranged in the Y direction at a pitch of 600 dpi. Here, Ev row 1123 and Od row 1126 correspond to nozzle row 1102, Ev row 1124 and Od row 1127 correspond to nozzle row 1103, and Ev row 1125 and Od row 1128 correspond to nozzle row 1104. The nozzles 1111 in Ev rows 1123-1125 are positioned with a half-pitch offset in the -Y direction compared to Od rows 1126-1128. In other words, the image forming apparatus 10 has two or more nozzle rows of the same color that are offset by half a pitch in the nozzle arrangement direction.
[0014] In the following embodiments, the recording head H is assumed to have a recording chip having a row of black nozzles and a recording chip having a row of cyan nozzles, a row of magenta nozzles, and a row of yellow nozzles. However, the configuration of the recording head H is not limited to this configuration. Specifically, the row of black nozzles, a row of cyan nozzles, a row of magenta nozzles, and a row of yellow nozzles may all be mounted on a single chip. Alternatively, a recording head equipped with a recording chip having a row of black nozzles and a recording head equipped with a recording chip having a row of cyan nozzles, a row of magenta nozzles, and a row of yellow nozzles may be provided separately. Alternatively, the row of black nozzles, a row of cyan nozzles, a row of magenta nozzles, and a row of yellow nozzles may each be mounted on separate recording heads. Furthermore, the recording head H is a so-called bubble jet system that ejects ink by applying voltage to a heater to generate heat, but the configuration is not limited to this. Specifically, the recording head H may be configured to eject ink using an electrostatic actuator or a piezoelectric element.
[0015] <Printing System Configuration> An example of the configuration of a printing system including an image forming apparatus 10 equipped with the recording device 2 described above will be explained using Figure 2(a). As shown in Figure 2(a), the printing system according to each of the following embodiments has a cloud print server 12, a terminal device 11, and an image forming apparatus 10, and each of these devices is connected to a network 13 such as a LAN or the internet, and this configuration constitutes a cloud print system.
[0016] The cloud print server 12 is a server device that provides cloud print services. In other words, in the configuration shown in Figure 2(a), the image forming apparatus 10 is a cloud print-compatible printer. The network 13 is a wired network, a wireless network, or a network that includes both. Network 13 could be an internet, WAN, or VPN environment, for example. However, the printing system is not limited to a cloud print system. For example, network 13 may be configured as an internal LAN, or the terminal device 11 and the image forming apparatus 10 may be configured to be directly connected without going through network 13. Also, although Figure 2(a) shows a configuration in which the printing system has one terminal device 11 and one image forming apparatus 10, the number of terminal devices 11 and image forming apparatus 10 in the printing system is not limited to one; there may be multiple units. Furthermore, the cloud print server 12 may be a server system implemented using multiple information processing devices. Also, the printing system may be a cloud print system in which multiple cloud print services cooperate.
[0017] Terminal device 11 is an information processing device such as a PC, tablet device, or smartphone, and has a cloud printer driver for the cloud print service installed. Any application software can be executed on terminal device 11. For example, terminal device 11 generates a print job via the cloud printer driver based on image data generated on a printing application. Terminal device 11 then sends the generated print job to an image forming apparatus 10 registered with the cloud print service via the cloud print server 12. The image forming apparatus 10 is a device that prints images and characters onto a recording medium such as paper, and prints images and characters onto the recording medium based on the received print job.
[0018] <Control system configuration> Next, an example of the hardware configuration of the image processing device 100, which operates as a control system in the image forming apparatus 10, will be explained using the block diagram in Figure 2(b). As an alternative configuration of the printing system, the device including the image processing device 100, the recording device 2, and the scanner 202 may be configured as a separate device from the image forming apparatus 10, and this device may be configured to communicate with the image forming apparatus 10. Alternatively, as another example of the printing system configuration, the image processing device 100 may be included in the host computer 201, in which case the image processing device 100 does not need to include the recording head control unit 213 and the scanner IF control unit 205.
[0019] The host computer 201 corresponds to the terminal device 11 and generates a print job that includes input image data (input image), which is the image and character data to be printed, and recording condition information (information such as the type and size of the recording medium and the recording quality) that defines various conditions related to printing, and transmits the generated print job to the image forming apparatus 10.
[0020] The scanner 202 is a scanner device connected to the image processing device 100, which optically reads a document placed on the scanner bed and converts the generated analog data into digital data via an AD converter. The scanning operation by the scanner 202 is performed in response to the host computer 201 sending a scan job to the image processing device 100, but is not limited to this; it can also be replaced by, for example, a dedicated UI (user interface) device connected to the image processing device 100 or the scanner 202.
[0021] The CPU 203 executes various processes using computer programs and data stored in the RAM 207. In doing so, the CPU 203 controls the overall operation of the image forming apparatus 10 and executes or controls the various processes described as those performed by the image forming apparatus 10.
[0022] ROM 206 stores configuration data for the image forming apparatus 10, computer programs and data related to the startup of the image forming apparatus 10, and computer programs and data related to the basic operation of the image forming apparatus 10. ROM 206 also stores computer programs and data for causing the CPU 203 and image processing unit 208 to execute or control various processes described as those performed by the image forming apparatus 10.
[0023] The host IF control unit 204 controls data communication with the host computer 201, and for example, receives print jobs sent from the host computer 201. The CPU 203 stores the received print jobs in the RAM 207.
[0024] RAM 207 has an area for storing computer programs and data loaded from ROM 206, and an area for storing data received from the host computer 201 by the host IF control unit 204. RAM 207 also has an area for storing data received from the scanner 202 via the scanner IF control unit 205. Furthermore, RAM 207 has a work area used by the CPU 203 and image processing unit 208 when performing various processes. Thus, RAM 207 is not limited to the areas described above; it can provide various other areas as needed.
[0025] The image processing unit 208 generates "nozzle data decomposed into recordable nozzle units" from the input image data contained in the print job, according to the recording condition information contained in the print job received from the host computer 201. The image processing unit 208 then stores the generated nozzle data in the RAM 207. The various functions of the image processing unit 208 will be described later.
[0026] The recording head control unit 213 generates recording data based on nozzle data stored in the RAM 207 and controls the recording head H of the recording device 2. Furthermore, the recording head control unit 213 sets multiple ejection position adjustment values stored in the RAM 207 for nozzle rows 1121 to 1128 and controls the ejection positions of the nozzles included in nozzle rows 1121 to 1128 during the main scan of the recording head H. The ejection position is controlled using an encoder strip (not shown) mounted on the recording device 2.
[0027] The CPU 203, ROM 206, RAM 207, host IF control unit 204, image processing unit 208, recording head control unit 213, and scanner IF control unit 205 are all connected to the shared bus 215 and are configured to communicate data with each other.
[0028] <Overall Flow> Next, edge detection and image recording performed in the image processing unit 208 of the image forming apparatus 10 will be explained according to the flowchart in Figure 3(a). By processing according to the flowchart in Figure 3(a), the input image data can be converted into nozzle data.
[0029] In step S301, the image processing unit 208 acquires the input image data stored in the RAM 207. In step S302, the decoder unit 209 performs decoding on the input image data acquired in step S301. There are various formats for storing input image data, but it is common to use compressed formats such as JPEG to reduce the amount of communication between the host computer 201 and the image forming apparatus 10. If the input image data is stored in JPEG format, the decoder unit 209 decodes the input image data stored in JPEG format and converts it into a bitmap image, which is an image in bitmap format (an information format in which an image is recorded as a continuous value of pixel values).
[0030] When the host computer 201 communicates with the image forming apparatus 10 via a dedicated driver, a dedicated storage format may be used. If both the driver and the image forming apparatus 10 have a dedicated storage format that is convenient for them, the decoder unit 209 can convert the input image data into data in the dedicated storage format. For example, it is possible to apply a storage format that changes the compression ratio between areas where information needs to be retained with fine precision and areas where it does not, in accordance with the characteristics of the inkjet recording device. If image quality is to be prioritized over reducing the amount of data transmitted, the input image data may be in bitmap format (i.e., a bitmap image), in which case the decoder unit 209 can simply output the bitmap format input image data as the conversion result.
[0031] In step S303, the image analysis unit 210 performs image analysis on the bitmap image obtained as a result of the decoding process in step S302. In each of the following embodiments, by performing image analysis on the bitmap image, it is estimated, based on the features within the bitmap image, whether the target pixel is at the edge of the paper white or a pixel formed with a different ink relative to the target pixel. In each of the following embodiments, it is also estimated whether the target pixel is at the edge in the shape formed by the pixel group in the top, bottom, left, or right direction. Details of the processing in step S303 will be explained according to the flowchart in Figure 3(b).
[0032] In step S401, the image analysis unit 210 converts the pixel value of each pixel in the bitmap image obtained as a result of the decoding process in step S302 into a luminance value (luminance conversion). For example, if the pixel value of each pixel in the bitmap image is RGB 3-channel information, this information is converted into luminance Y 1-channel information (luminance value). Note that if the image transmitted by the application is already represented in terms of luminance, and the luminance value has already been obtained, the processing in step S401 can be omitted.
[0033] In step S402, the image analysis unit 210 converts the brightness value of each pixel in the bitmap image into binary data for edge detection. In each of the following embodiments, as an example, a threshold Th, which is set in advance as a threshold corresponding to the recording mode of the image forming apparatus 10, is used to compare the magnitude of the brightness value Y of each pixel in the bitmap image with the threshold th according to the following conditional expression (1), and a binary value (Bin) corresponding to the brightness value Y is obtained.
[0034] IF Y > Th : Bin = 0 else : Bin = 1 ···(1) In other words, if the brightness value Y of a pixel is greater than the threshold th, the binary Bin for edge detection of that pixel becomes "0", and if the brightness value Y of the pixel is less than or equal to the threshold th, the binary Bin for edge detection of that pixel becomes "1". Note that conditional equation (1) is just one example, and the design of the inequality condition and the form of the equation are not limited to this.
[0035] In the following embodiments, image analysis is performed using luminance as an indicator. In inkjet recording devices, the gradations for which black ink is used in color separation are limited. This is because black ink causes a large change in paper density with each drop relative to the paper white, and using a large amount of black ink from light gradations tends to lead to a decrease in image quality in terms of granularity. For this reason, compared to other colored inks, it is easier to determine the ink generation position of black ink based on the luminance information of the input image data. By setting the threshold Th mentioned above to an appropriate value, it is possible to set a luminance value corresponding to the gradation in which a predetermined amount or more of black ink after ink separation begins to be ejected relative to the luminance information. In the following embodiments, it is possible to control the number and arrangement of black ink dots, as well as the number and arrangement of other colored ink dots adjacent to the black ink, and the use of luminance values is in line with that control. However, the following embodiments are not limited to this. For example, color separation may be performed in advance for this analysis process to accurately identify the pixels from which black ink as a predetermined color component is generated. If color separation is performed in advance, it is possible to understand not only the pixels from which cyan, magenta, and yellow inks are generated and the ejection amounts, so a more detailed analysis becomes possible. In some cases, the input image data may contain information useful for analysis, such as being in CMYK format instead of RGB format. If the ejection amounts of cyan, magenta, and yellow inks are known, when the ejection amount is small, it can be considered the same as the white of the paper, and the analysis of the black ink occurring in the area equivalent to the white of the paper can be performed. In the following embodiments, these judgments are expressed using a threshold Th. The threshold Th may be updated sequentially from the degree of wear of each nozzle in the nozzle row 1101 to 1104 of the recording head H.
[0036] In step S403, the image analysis unit 210 performs edge pattern detection using the binary Bin of each pixel in the bitmap image obtained by the conversion process in step S402.
[0037] Figures 4(a) and 4(b) show examples of pattern information for edge pattern detection. There are two types of pattern information: "for generating pattern matching data" and "for generating edge pattern detection results".
[0038] The pattern information for generating pattern matching data, which is pattern information for generating pattern matching data, is pattern information for performing bit AND processing on each pixel in the rectangular region of the bitmap image obtained in step S402, where the pixel value of each pixel is a binary Bin. The pattern matching data obtained as a result of the bit AND processing is in a form in which only the information necessary to detect edge patterns in the rectangular region has been extracted.
[0039] The pattern information for "edge pattern detection result generation" is pattern information used to perform pattern matching processing on the pattern matching data. If a perfect match is found as a result of the pattern matching processing, the corresponding rectangular area is determined to be a predetermined edge pattern. The determination result is linked to the central pixel within the rectangular area.
[0040] Figure 4(a) shows an example of pattern information used to determine that a target pixel is "the left or right end of a 1-dot vertical line," with an example of information for generating pattern matching data on the left and an example of information for generating edge pattern detection results on the right.
[0041] The information for generating pattern matching data is set to perform edge pattern detection on a 3x3 pixel grid including the target pixel. Pixels assigned "0" in the pattern matching data generation information are considered pixels that are not considered in pattern matching, regardless of how the binary bin is formed.
[0042] The information used to generate edge pattern detection results corresponds to the predetermined edge pattern described above, and in this example, it is a pattern in which only the central column and vertical 3 pixels within a 3x3 pixel area are set to 1. The information used to generate edge pattern detection results is equivalent to determining whether the central column and vertical 3 pixels are low brightness and the other 6 pixels are high brightness. If the pattern matching data perfectly matches this pattern, it can be seen that at least the left and right sides have high brightness features = paper white or low-density color ink, and the target pixel and the areas above and below it have low brightness features = black ink.
[0043] Figure 4(b) shows an example of pattern information used to determine that a target pixel is not only "the left and right ends of a 1-dot vertical line" but also "part of a 1-dot 1-space," with an example of pattern matching data generation information on the left and edge pattern detection result generation information on the right.
[0044] "1dot1space" refers to a pattern in which multiple 1-dot vertical lines are arranged at 1-dot intervals. By expanding the range of the pattern matching data generation information to 7x3 pixels, information surrounding the 1-dot line to which the target pixel belongs can also be included in the determination.
[0045] Figure 4(c) shows the results of sequentially performing pattern matching on binary data as shown in Figures 4(a) and (b). When the pattern matching data generation information and edge pattern detection result generation information from Figure 4(a) are applied to the target binary data, the result is determined to be a "match". However, when the pattern matching data generation information and edge pattern detection result generation information from Figure 4(b) are applied, the result is determined to be a "mismatch". Based on the detection results of the two patterns, it can be seen that the target binary data is "the left and right ends of a 1-dot vertical line" and "not part of a 1-dot 1-space".
[0046] Based on the above method, it is possible to detect a variety of edge patterns. In the following embodiments, the target of pattern matching is set to 7x7 pixels, but this is just one example. For example, if it is sufficient to detect the patterns in Figures 4(a) and (b), then 7x3 pixels are sufficient for pattern matching. On the other hand, if it is desired to individually detect line shapes of 4 dots or more, 7x7 pixels may not be sufficient, and a wider area may be set as the target. Expanding the target area requires more work memory to hold the binary data to be compared and more work memory to hold the pattern information. The work memory corresponds to RAM 207. If the image analysis unit 210 is a dedicated circuit and it is desired to process multiple pixels in parallel clk for pattern matching, the number of processing registers and processing circuits will also increase. In addition, since the pattern information must be stored in the ROM 206 of the image processing device 100 beforehand, the capacity of ROM 206 is also required. When checking edge patterns in detail and in a variety of ways, a large amount of pattern information must be held, so the design must take into account this memory capacity and the increase in analysis time due to the increased number of comparisons. Implementing a "0" judgment in the pattern matching data generation information, which means "not to be considered in pattern matching," contributes to reducing memory usage and the number of comparisons.
[0047] Furthermore, as an alternative configuration to reduce memory capacity, as shown in Figure 5, pattern matching can be performed with different variations by processing such as rotation and phase shift. In the upper part of Figure 5, the pattern information shown in Figure 4(a) has been rotated by 90 degrees, and using the processed pattern information, it can be determined that these are the upper and lower ends of a 1-dot horizontal line. In the lower part of Figure 5, the pattern information shown in Figure 4(a) has been shifted horizontally by 1 pixel, and using the processed pattern information, it can be determined that these are adjacent pixels to a 1-dot vertical line. In Figure 5, the variations were increased by processing the pattern information, but it is also possible to increase the variations by processing the binary data side.
[0048] As shown in Figure 4(c), applying multiple pattern information sequentially is effective in narrowing down the judgment results and acquiring information that could not be obtained from individual pattern information. For example, in Figure 4(c), once a pattern "matches" the pattern in Figure 4(a), it may be unnecessary to perform the pre-prepared judgment regarding lines of 2 or more dots. Also, as shown in Figure 4(b), applying only pattern information that determines more detailed information about 1-dot lines can reduce the number of comparisons. Furthermore, by applying Figures 4(a) and (b), it can be determined that the target binary data is "the left and right ends of a 1-dot vertical line" and "not part of a 1-dot 1-space". By deriving this information from the results of both Figures 4(a) and (b) rather than preparing individual pattern information that can be obtained, it is effective in reducing memory usage. Through the processing described above, it is possible to determine whether each pixel is a pixel that should undergo special processing, such as thinning out dots or changing the arrangement of dots.
[0049] The results determined in the image analysis process in step S303 above are output in an information format suitable for processing in subsequent steps. For example, the determination result can be represented as a 3-bit multi-value such as: not detected (not matching any detection pattern) = 0, upper edge detected = 1, lower edge detected = 2, left edge detected = 3, right edge detected = 4, adjacent to any edge = 5. Alternatively, a 5-bit representation with each bit assigned is also possible, such as: not detected = 00000, upper edge detected = 00001, lower edge detected = 00010, left edge detected = 00100, right edge detected = 01000, adjacent to any edge = 10000. The former uses less data and can be transmitted to the next process. The latter has the advantage of reducing the processing load by allowing bit processing to be used in the next process. Here, we describe transmitting five pieces of information to the subsequent steps, but as explained in the explanation of step S303, "pattern information can be represented in various ways," so more information than the control information required in the subsequent processing steps may be detected and transmitted.
[0050] The following describes various embodiments of the technique for printing two-dimensional code images by thinning them out when a mode for printing two-dimensional code images, different from the mode for printing text, is set.
[0051] [First Embodiment] In this embodiment, we will describe a case in which the image forming apparatus 10 has a recording mode that prioritizes improving the readability of characters through edge processing, and a recording mode that prioritizes improving the reading accuracy of two-dimensional code images such as barcodes and QR codes through edge processing.
[0052] <Edge processing to improve text readability> Edge processing to improve text readability (text readability enhancement edge processing) is generally applied only to black ink, which is commonly used in document printing and has relatively low brightness, making ink bleeding more noticeable.
[0053] Figures 6 and 7(a) are flowcharts showing the details of the color separation quantization process performed in step S304 and the nozzle separation process performed in step S305, respectively.
[0054] As a premise for the following explanation, the bitmap image obtained as a result of the decoding process in step S302 is assumed to have 8-bit 256-level brightness values for each of the pixels arranged at 600 dpi, for R (red), G (green), and B (blue).
[0055] Furthermore, in the edge information detected in step S303, the upper end is defined as the pixel on the side where the binary Bin changes from 1 to 0 and binary Bin = 1 in the -Y direction, the lower end as the +Y direction, the right end as the +X direction, and the left end as the -X direction. Since the nozzles for each color of the recording head H are arranged at 1200 dpi in the Y direction for each color, each pixel is recorded using the nozzles of the consecutive Ev row (hereinafter referred to as Ev nozzles) and the nozzles of the Od row (hereinafter referred to as Od nozzles). Here, the nozzle located on the upper end side of each pixel is defined as the upstream nozzle, and the nozzle located on the lower end side of each pixel is defined as the downstream nozzle. In this embodiment, the upstream nozzle corresponds to the Ev nozzle, and the downstream nozzle corresponds to the Od nozzle. That is, in this embodiment, the recording resolution in the Y direction is twice that of the resolution of the image on which edge pattern detection is performed.
[0056] In step S801, the color separation quantization unit 211 performs a color correction process that converts the luminance values RGB (RGB data) of each pixel in the bitmap image obtained as a result of the decoding process in step S302 into luminance values R'G'B' (R'G'B' data) expressed in a color space specific to the image forming apparatus 10. For example, RGB data can be converted to R'G'B' data by referring to a lookup table stored in memory such as the ROM 206 in advance.
[0057] In step S802, the color separation quantization unit 211 performs color separation processing on the R'G'B' data. Specifically, the color separation quantization unit 211 refers to a lookup table stored in memory such as the ROM 206 and converts the luminance values R'G'B' of each pixel into 8-bit 256-level density values CMYK corresponding to the ink colors used by the image forming apparatus 10. Furthermore, the color separation quantization unit 211 duplicates the density values of one or more of the CMYK colors to prepare a total of two identical density values. For simplicity, the following example shows the duplication (generation) of density values K1 and K2 from the density value of K. Density values K1 and K2 are applied to the Ev nozzle and Od nozzle in the nozzle array 1101, respectively, through processing described later.
[0058] Then, in steps S803 to S805, the color separation quantization unit 211 performs gradation correction processing on the density value K1 according to whether the pixel to be processed is at the second edge or not. Also, in steps S806 to S808, the color separation quantization unit 211 performs gradation correction processing on the density value K2 according to whether the pixel to be processed is at the first edge or not.
[0059] Here, the gradation correction process is a correction that ensures a linear relationship between the input density value and the optical density represented by the recording medium P. Through this gradation correction process, the 8-bit, 256-level density values K1 and K2 are converted to 8-bit, 256-level density values K1' and K2', respectively.
[0060] In step S303, if it is determined that the pixel to be processed is at the second end, the process proceeds to step S805 via step S803. If it is determined that the pixel to be processed is not at the second end, the process proceeds to step S804 via step S803.
[0061] In step S805, the color separation quantization unit 211 converts the density value K1 of the pixel to be processed to a density value K1'=0. In step S804, the color separation quantization unit 211 converts the density value K1 of the pixel to be processed to a density value K1' by the first tone correction process.
[0062] In step S303, if it is determined that the pixel to be processed is at the first end, the process proceeds to step S808 via step S806. If it is determined that the pixel to be processed is not at the first end, the process proceeds to step S807 via step S806.
[0063] In step S808, the color separation quantization unit 211 converts the density value K2 of the pixel to be processed to a density value K2'=0. In step S807, the color separation quantization unit 211 converts the density value K2 of the pixel to be processed to a density value K2' by the first grayscale correction process.
[0064] Figures 7(b) and 7(c) show examples of settings for the first tone correction process, where In corresponds to the density value K1 (K2) and Out corresponds to the density value K1' (K2'). For simplicity, this explanation shows an example where In and Out have a linear relationship.
[0065] In step S809, the color separation quantization unit 211 performs quantization on the density value K1' and converts it into one of three 4-bit quantized data values (quantized values) of "0000", "0001", or "0010". In this example, the quantized values are represented as three values: low density, intermediate density, and high density.
[0066] In step S303, if it is determined that the pixel to be processed is at the first end, the process proceeds to step S812 via step S810. If it is determined that the pixel to be processed is not at the first end, the process proceeds to step S811 via step S810.
[0067] In step S812, the color separation quantization unit 211 generates a 4-bit quantized value K1'' by setting the most significant bit of the quantized value of the density value K1' of the pixel to be processed to 1. In step S811, the color separation quantization unit 211 generates a 4-bit quantized value K1'' by setting the most significant bit of the quantized value of the density value K1' of the pixel to be processed to 0.
[0068] In step S813, the color separation quantization unit 211 performs quantization on the density value K2' and converts it into one of three 4-bit quantized data values (quantized values) of "0000", "0001", or "0010". In this example, the quantized values are represented as three values: low density, intermediate density, and high density.
[0069] In step S303, if it is determined that the pixel to be processed is at the second end, the process proceeds to step S816 via step S814. If it is determined that the pixel to be processed is not at the second end, the process proceeds to step S815 via step S814.
[0070] In step S816, the color separation quantization unit 211 generates a 4-bit quantized value K2'' by setting the most significant bit of the quantized value of the density value K2' of the pixel to be processed to 1. In step S815, the color separation quantization unit 211 generates a 4-bit quantized value K2'' by setting the most significant bit of the quantized value of the density value K2' of the pixel to be processed to 0.
[0071] In step S305, the nozzle decomposition unit 212 performs index expansion processing on the quantized values K1'' and K2'' generated in step S304. In the index expansion processing of this embodiment, a pre-prepared index pattern is used to convert the 600dpi x 600dpi quantized values K1'' and K2'' into binary nozzle data K1p and K2p, respectively, of 600dpi x 600dpi. In other words, in step S817, the nozzle decomposition unit 212 generates nozzle data K1p by performing first index expansion processing on the quantized value K1''. Then, in step S818, the nozzle decomposition unit 212 generates nozzle data K2p by performing second index expansion processing on the quantized value K2''.
[0072] Here, the index pattern is, in other words, a dot placement pattern for placing dots in pixels. Figures 8(a) to 8(d) show examples of dot placement patterns and reference index patterns used in the index expansion process. Figure 8(a) shows the dot placement pattern for the first index expansion process. If the quantization value K1'' of a 600dpi x 600dpi pixel is "0000" or "1000", no dot is placed in that pixel. If the quantization value K1'' is "0001", two patterns are prepared: pattern A, which places a dot, and pattern B, which does not place a dot. If the quantization value K1'' is "0010", "1001", or "1010", a dot is always placed in that pixel.
[0073] Figure 8(b) shows the dot placement patterns for the second index expansion process. When the quantization value K2'' of one pixel at 600dpi x 600dpi is "0001", two patterns are prepared: pattern A, where no dots are placed, and pattern B, where dots are placed. When the quantization value K2'' is any of "0000", "1000", "0010", "1001", or "1010", the process is the same as the first index expansion process.
[0074] Figure 8(c) shows an example of a reference index pattern. In this embodiment, different index patterns are used in the first index expansion process and the second index expansion process, but both are created based on the reference index pattern in Figure 8(c). In the reference index pattern, each rectangle corresponds to a 1-pixel area of 600dpi x 600dpi, and it is determined whether to place dots in pattern A or pattern B at each pixel. The nozzle decomposition unit 212 generates nozzle data K1p for each pixel after the first index expansion process as data for the Ev nozzle of the nozzle row 1101 corresponding to each pixel and stores it in the RAM 207. Furthermore, the nozzle decomposition unit 212 generates nozzle data K2p for each pixel after the second index expansion process as data for the Od nozzle of the nozzle row 1101 corresponding to each pixel and stores it in the RAM 207.
[0075] Figure 8(d) shows the binary data at 600 dpi in the X direction and 1200 dpi in the Y direction after index expansion processing, and the positional relationship between that data and the nozzles of the nozzle row 1101, when the quantization value of each pixel is uniformly "0001" (intermediate density). As shown in Figure 8(d), among the quantization values in the Y direction, the 0th, 2nd, 4th, ... (even-numbered) dots are formed by the Ev nozzle, and the 1st, 3rd, 5th, ... (odd-numbered) dots are formed by the Od nozzle. Thus, for each pixel of the 600 dpi x 600 dpi input image data, recording and non-recording are set for each nozzle of the nozzle row 1101, and recording and non-recording are set for 600 dpi x 1200 dpi.
[0076] Figure 10A(a) shows an example of input image data in which pixels are arranged at 600 dpi, with each pixel having 8 bits and 256 levels for R, G, and B, and all pixels being so-called "black pixels" with a brightness value of 0. The image also shows an object (edge region) that includes the top, bottom, left, and right edge pixels.
[0077] The input image data is first acquired by the image processing unit 208 in step S301, and then decoded by the decoder unit 209 in step S302. For simplicity, the input image data after decoding is assumed to be the same as in Figure 10A(a).
[0078] In step S303, the image analysis unit 210 detects which edge each pixel in the decoded input image data corresponds to. Figure 10A(b) shows the luminance Y data after luminance conversion in step S401. Figure 10A(c) shows the binary Bin obtained by binarizing the luminance Y data using Th=50 in step S402. Figure 10A(d) shows the result of edge determination on this binary Bin. Here, in Figure 10A(d), "0" indicates no detection, "1" indicates the upper and left edges, and "2" indicates the lower and right edges.
[0079] Next, in step S304, the bitmap image obtained by the decoding process in step S302 is subjected to color separation quantization by the color separation quantization unit 211 based on the edge detection result (edge information) in step S303. Figure 10A(e) shows the density values K1 and K2 after the color separation process in step S802.
[0080] Figure 10B(a) shows the density value K1' after the gradation correction processing in steps S803 to S805. In this example, in step S803, the second end is determined to be the bottom end and the right end. Therefore, the pixels that are "2" in Figure 10A(d), i.e., the bottom end pixels and the right end pixels, have a density value of 0.
[0081] Figure 10B(b) shows the density value K2' after the gradation correction processing in steps S806 to S808. In this example, in step S806, the first end is determined to be the top end and the left end. Therefore, the pixels that are "1" in Figure 10A(d), i.e., the top end pixels and the left end pixels, have a density value of 0.
[0082] Figure 11(a) shows the quantized value K1'' obtained after processing in steps S809 to S812, and Figure 11(b) shows the quantized value K2'' obtained after processing in steps S813 to S816. Here, both steps S809 and S813 show examples where the intensity value 128 is quantized as "0001" and the intensity value 255 is quantized as "0010". Also, the definitions of the first end and the second end in steps S810 and S814 are the same as in steps S806 and S803, respectively. Therefore, as shown in Figure 11(a), among the pixels with an intensity value K1'=255 in Figure 10B(a), the pixels that are "1" in Figure 10A(d), i.e., the upper end pixels, have a quantized value of "1010", while the other pixels have a quantized value of "0010". On the other hand, as shown in Figure 11(b), among the pixels with a density value K2'=255 in Figure 10B(b), the pixels that are "2" in Figure 10A(d), i.e., the lower end pixels, have a quantization value of "1010", while the other pixels have a quantization value of "0010".
[0083] Next, in step S305, the bitmap image quantized in step S304 is subjected to index expansion processing by the nozzle decomposition unit 212. Figures 11(c) and (d) show the nozzle data K1p and K2p after the index expansion processing in steps S817 and S818, respectively. Figure 11(e) shows the dot arrangement when the recording head H records at 600dpi x 1200dpi based on the nozzle data K1p and nozzle data K2p. Comparing Figures 10A(a), (d) and 11(e), it can be seen that in Figure 10A(a), among the pixels with a brightness value of 0, the pixels that are not at the top, bottom, left, or right edge in Figure 10A(d) are dots arranged in the respective 600dpi x 1200dpi areas in Figure 11(e). Furthermore, in Figure 11(e), it can be seen that among the pixels with a brightness value of 0 in Figure 10A(a), the pixels determined to be the upper and left ends in Figure 10A(d) have dots only on the upstream nozzle, i.e., the Ev nozzle. Additionally, in Figure 11(e), it can be seen that among the pixels with a brightness value of 0 in Figure 10A(a), the pixels determined to be the lower and right ends in Figure 10A(d) have dots only on the downstream nozzle, i.e., the Od nozzle.
[0084] As described above, in the character readability improvement edge processing, in a device configuration that can record dots at a higher resolution in the Y direction than the image on which edge detection is performed, the upper and left edge pixels are detected as the first edge on the object side of the edge portion of the object in the image, and the lower and right edge pixels are detected as the second edge. Then, by changing the arrangement of dots according to the determination result, the dots at the edges are thinned out. In this embodiment, by thinning out the dots of the edge pixels, it is possible to reduce the deterioration of image quality due to ink bleeding on the recording medium, and by thinning out the dots in the area closer to the inside of the object (hereinafter also referred to as the non-edge side) for the upper and lower edge pixels, it is also possible to suppress the deterioration of readability due to lines becoming too thin.
[0085] The edge processing for improved character readability is applied only to black ink. However, if the background color of the black text is a color such as yellow where ink bleeding at the black-color boundary is easily noticeable, yellow pixels adjacent to black pixels may be detected using the method described above, and the dots may be thinned out.
[0086] Figures 12(a) and 12(b) are flowcharts showing the details of the color separation quantization process performed in step S304 and the nozzle separation process performed in step S305 for cyan, magenta, and yellow, respectively.
[0087] Steps S4701 and S4702 in Figure 12(a) are the same processes as steps S801 and S802 in Figure 6, respectively, so the explanation for these steps is omitted. Also, steps S4703 and S4704 in Figure 12(a) are the same processes as steps S804 and S809 in Figure 6, respectively, so the explanation for these steps is omitted.
[0088] In step S4701, the 8-bit RGB of each pixel is converted to 8-bit R'G'B', and in step S4702, the 8-bit R'G'B' is converted to 8-bit CMY. Then, in step S4703, the 8-bit CMY is converted to 8-bit C'M'Y', and in step S4704, the 8-bit C'M'Y' is converted to 4-bit C'M'Y' (quantized value).
[0089] In step S4705, the color separation quantization unit 211 determines, based on the edge information detected in step S303, which edge the pixel to be processed is adjacent to. Here, "which edge" refers to, for example, the first edge, the second edge, etc.
[0090] As a result of this determination, if the pixel to be processed is adjacent to any edge, the process proceeds to step S4707; otherwise, the process proceeds to step S4706.
[0091] In step S4707, the color separation quantization unit 211 generates a 4-bit quantization value C"M"Y" by setting the most significant bit of the 4-bit C'M'Y' (quantization value) to 1. In step S4706, the color separation quantization unit 211 generates a 4-bit quantization value C"M"Y" by setting the most significant bit of the 4-bit C'M'Y' (quantization value) to 0.
[0092] In step S4708, the nozzle decomposition unit 212 performs a second index expansion process on each of the quantized values C'', M'', and Y'' generated in step S304. In the second index expansion process, a pre-prepared index pattern is used to convert the 600dpi x 600dpi quantized values C'', M'', and Y'' into 600dpi x 600dpi binary nozzle data C1p, C2p, M1p, M2p, Y1p, and Y2p.
[0093] Figures 12(c) and (d) show examples of dot placement patterns used in the index expansion process. Figure 12(c) shows the dot placement pattern for Y'', and Figure 12(d) shows the dot placement patterns for C'' and M''. The dot placement patterns in Figures 12(c) and (d) are concatenated vertically with 600dpi x 1200dpi placement information. When the quantization values C'', M'', and Y'' are "0000" and "1000" respectively, no dots of that color are placed above or below the corresponding pixel. When the quantization values C'', M'', and Y'' are "0001", pattern A is prepared, where a dot of that color is placed above, and pattern B is prepared, where a dot of that color is placed below. When the quantization values C'', M'', and Y'' are "0010", a dot of that color is always placed above or below the corresponding pixel. For quantization values C'' and M'', even when they represent "1010", dots of the corresponding color must always be placed in both the upper and lower parts of the corresponding pixel.
[0094] On the other hand, if the quantization value Y'' indicates "1010", pattern A is prepared, in which the dot of that color is placed on the upper side, and pattern B is prepared, in which the dot of that color is placed on the lower side. The reference index pattern is the same as in Figure 8(c). The nozzle decomposition unit 212 generates the upper data of the upper and lower position information of the cyan dot of each pixel as nozzle data C1p, which is used as data for the Ev nozzle of the nozzle row 1102 corresponding to each pixel, and stores it in the RAM 207. Furthermore, the nozzle decomposition unit 212 generates the lower data of the upper and lower position information of the cyan dot of each pixel as nozzle data C2p, which is used as data for the Od nozzle of the nozzle row 1102 corresponding to each pixel, and stores it in the RAM 207. The nozzle decomposition unit 212 performs the same processing for magenta and yellow.
[0095] As described above, for cyan and magenta, the dot arrangement will be the same regardless of whether the pixel is adjacent to any edge, so no dot thinning is performed. On the other hand, for yellow, if the pixel is adjacent to any edge, dot thinning is performed. Here, we have explained that dot thinning is performed for yellow when it is adjacent to any edge, but it may also be applied to cyan and magenta when they are adjacent to any edge, not just yellow.
[0096] <Edge processing to improve accuracy in code image reading> Two-dimensional code images such as barcodes, QR codes, SP codes, Vericodes, Maxicodes, CP codes, DataMatrix, and PDF417 are geometric patterns that represent information through arrangements of dark (bars, cells) and light (spaces) elements according to specific rules. For accurate reading of two-dimensional code images, it is crucial that the bars, cells, and spaces are printed to the correct dimensions specified by the standard. In particular, QR codes, as the amount of information they represent increases, have a larger number of cells, making them susceptible to ink bleeding when printed on a limited space on a recording medium. In fact, it has been shown that if the width of the printed lines (according to ISO 13660) becomes thicker than the ideal input line width due to ink bleeding, the readability grade of two-dimensional code images printed with the same printing control (according to ISO / IEC 15416 and ISO / IEC 15415) decreases. Furthermore, with the widespread use of smartphones in recent years, allowing anyone to read two-dimensional code images, the number of cases where colorful two-dimensional code images, such as designer QR codes, are output has increased.
[0097] In light of the above, the code image reading accuracy improvement edge processing of this embodiment sets a high decimation rate to aim for the ideal line width of the input, and further applies edge processing to color ink in addition to black ink.
[0098] Figure 13(a) is a flowchart showing the details of the color separation quantization process performed in step S304. In the flowchart of Figure 13(a), processing steps similar to those in Figure 6 are given the same step number, and the explanation for these processing steps is omitted.
[0099] In step S2601, the color separation quantization unit 211 determines whether the pixel to be processed is at the first edge. If the pixel to be processed is at the first edge, the process proceeds to step S2602; otherwise, the process proceeds to step S809.
[0100] In step S2602, the color separation quantization unit 211 performs a second gradation correction process on the density value K1' obtained by the first gradation correction process in step S804 for the pixels to be processed.
[0101] In step S2603, the color separation quantization unit 211 determines whether the pixel to be processed is at the second edge. If the pixel to be processed is at the second edge, the process proceeds to step S2604; otherwise, the process proceeds to step S813.
[0102] In step S2604, the color separation quantization unit 211 performs a second gradation correction process on the density value K2' obtained by the first gradation correction process in step S807 for the pixels to be processed.
[0103] Figure 13(b) shows an example of the settings for the second tone correction process, where In represents the density values K1' and K2' before processing, and Out represents the density values K1' and K2' after processing. This allows the density values of edge pixels to be reduced, making it possible to thin out the dots in the nozzle row used for pixels that the image analysis unit 210 has determined to be edge pixels.
[0104] Next, an example of edge processing to improve the accuracy of code image reading according to this embodiment will be described using Figures 14A, 14B, and 15. Figure 14A(a) is a diagram showing an example of a bitmap image obtained by the decoding process by the decoder unit 209 in step S302. In step S303, the image analysis unit 210 detects which edge each pixel in the bitmap image corresponds to. Figure 14A(b) shows the luminance Y data after luminance conversion in step S401, and Figure 14A(c) shows the binary Bin, which is the result of binarizing the luminance Y data using Th=50 in step S402. These are the same as Figures 10A(a), (b), and (c) described above, so their explanation will be omitted.
[0105] Figure 14A(d) shows the results of edge detection for the above-mentioned binary Bin. Here, "1" in Figure 14A(d) represents the bottom and left edges, and "2" represents the top and right edges, and the settings for the first and second edges differ from those of the character readability improvement edge processing described above.
[0106] Next, in step S304, the bitmap image obtained by the decoding process in step S302 is subjected to color separation quantization by the color separation quantization unit 211 based on the edge detection results (edge information) in step S303. Figure 14A(e) shows the density values K1 and K2 after the color separation process in step S802, and is the same as Figure 10A(e).
[0107] Figure 14B(a) shows the density value K1' after the gradation correction processing in steps S803-S805 and S2601-S2602. In step S803, the second end is determined to be the upper end and the right end, so the pixels that are "2" in Figure 14A(d), i.e., the upper end pixels and the right end pixels, have a density value of 0. On the other hand, after the first gradation correction processing in step S804, the first end is determined to be the lower end and the left end in step S2601, and the second gradation correction processing is performed in step S2602 according to the settings shown in Figure 13(b). In this embodiment, if the density value K1 = 255 for In, a setting is applied in which the density value K1' = 64 for Out.
[0108] Figure 14B(b) shows the density value K2' after the gradation correction processing in steps S806-S808 and S2603-S2604. In step S806, the first end is determined to be the bottom end and the left end, so the pixels that are "1" in Figure 14A(d), i.e., the bottom end pixels and the left end pixels, have a density value of 0. On the other hand, after the first gradation correction processing in step S807, the second end is determined to be the top end and the right end in step S2603, and the second gradation correction processing is performed in step S2604 according to the settings shown in Figure 13(b). In this embodiment, if the density value K2 = 255 for In, a setting is applied in which the density value K2' = 64 for Out.
[0109] Figure 15(a) shows the quantized value K1'' obtained after processing in steps S809 to S812, and Figure 15(b) shows the quantized value K2'' obtained after processing in steps S813 to S816. Here, in both steps S809 and S813, the intensity value 64 is quantized as "0000" and "0001" in equal proportions, and the intensity value 255 is quantized as "0010". Also, the definitions of the first end and the second end in steps S810 and S814 are the same as in steps S806 and S803, respectively. Therefore, as shown in Figure 15(a), the quantized values of the pixels that are "1" in Figure 14A(d), i.e., the lower end pixels and the left end pixels, are arranged in equal proportions of "1000" and "1001", and the quantized value of the pixels that are "0" in Figure 14A(d) is "0010". On the other hand, as shown in Figure 15(b), the pixels that are "2" in Figure 14A(d), i.e., the upper and rightmost pixels, have quantization values of "1000" and "1001" in equal numbers, while the pixels that are "0" in Figure 14A(d) have quantization values of "0010".
[0110] Next, in step S305, the bitmap image quantized in step S304 is subjected to index expansion processing by the nozzle decomposition unit 212. Figures 15(c) and (d) show the nozzle data K1p and K2p after the index expansion processing in steps S817 and S818, respectively. Figure 15(e) shows the dot arrangement when the recording head H records at 600dpi x 1200dpi based on the nozzle data K1p and nozzle data K2p. Comparing Figures 14A(b), (d) and 15(e), it can be seen that in Figure 14A(b), among the pixels with a brightness value of 0, the pixels that are not at the top, bottom, left, or right edge in Figure 14A(d) are dots arranged in the respective 600dpi x 1200dpi areas in Figure 15(e). Furthermore, in Figure 15(e), it can be seen that among the pixels with a brightness value of 0 in Figure 14A(b), the pixels determined to be the bottom edge and left edge in Figure 14A(d) have dots only on the upstream nozzle, i.e., the Ev nozzle, and the decimation rate is set higher than that of the edge processing for improving character readability. Also, in Figure 15(e), it can be seen that among the pixels with a brightness value of 0 in Figure 14A(b), the pixels determined to be the top edge and right edge in Figure 14A(d) have dots only on the downstream nozzle, i.e., the Od nozzle, and the decimation rate is set higher than that of the edge processing for improving character readability.
[0111] As described above, in the code image reading accuracy improvement edge processing, in a device configuration that can record dots at a higher resolution in the Y direction than the image on which edge detection is performed, the lower and left edge pixels are detected and identified as the first edge on the object side of the object's edge portion in the image, and the upper and right edge pixels are detected and identified as the second edge. Then, by changing the arrangement of dots according to the identification result, the dots at the edges are thinned out. In this embodiment, for the upper and lower edge pixels, dots in the area closer to the outside of the object (hereinafter also referred to as the edge side) are preferentially thinned out, making it possible to bring the size of bars, cells, and spaces in the two-dimensional code image closer to the ideal input size even if ink bleeding occurs.
[0112] Up to this point, the processing from step S803 onwards has been explained using black data, but in step S802, density values for colors other than black data, namely cyan, magenta, and yellow, are also output. In the code image reading accuracy improvement edge processing, cyan, magenta, and yellow are also processed in the same way as black data, with the optimal decimation rate set for each in the second gradation correction processing in steps S2602 and S2604. For example, a lower decimation rate than for black may be set depending on conditions such as the fact that color inks have higher brightness and ink bleeding is less noticeable compared to black, or that the dot diameter of the ink droplets, i.e., the ejection amount, is set small considering photo printing applications.
[0113] An example of setting a different decimation rate for cyan data than for black data will be explained using Figures 16A and 16B. Figure 16A(a) shows the density value C1' after processing in steps S803 to S805 and steps S2601 to S2602. In step S803, the second edge is determined to be the top edge and right edge, similar to the black data, so the pixels that are "2" in Figure 14A(d), i.e., the top edge pixels and right edge pixels, have a density value of 0. On the other hand, after the first tone correction processing in step S804, the first edge is determined to be the bottom edge and left edge in step S2601, and the second tone correction processing is performed in step S2602 according to the settings shown in Figure 13(b). For cyan data, if the density value K1 for In is 255, the setting that results in a density value K1' for Out being 96 is applied, thereby performing edge processing with a lower decimation rate than for black data.
[0114] Figure 16A(b) shows the density value C2' after processing in steps S806-S808 and S2603-S2604. In step S806, the first edge is determined to be the bottom edge and left edge, similar to the black data, so the pixels that are "1" in Figure 14A(d), i.e., the bottom edge pixels and left edge pixels, have a density value of 0. On the other hand, after the first gradation correction processing in step S807, the second edge is determined to be the top edge and right edge in step S2603, and the second gradation correction processing is performed in step S2604 according to the settings shown in Figure 13(b). For cyan data, if the density value K2 = 255 for In, the setting is applied so that the density value K2' = 96 for Out, thereby performing edge processing with a lower decimation rate than for black data.
[0115] Figure 16A(c) shows the quantized value C1'' obtained after processing in steps S809 to S812, and Figure 16A(d) shows the quantized value C2'' obtained after processing in steps S813 to S816. Here, in both steps S809 and S813, the concentration value 96 is shown as "0000" and "0001" in a ratio of approximately 1:4, and the concentration value 255 is quantized as "0010". The definitions of the first end and the second end in steps S810 and S814 are the same as in steps S806 and S803, respectively. Therefore, as shown in Figure 16A(c), the quantized values of the pixels that are "1" in Figure 14A(d), i.e., the bottom and leftmost pixels, are arranged in a ratio of approximately 1:4 between "1000" and "1001", and the quantized value of the pixels that are "0" in Figure 14A(d) is "0010". On the other hand, as shown in Figure 16A(d), the quantized values of the pixels that are "2" in Figure 14A(d), i.e., the top and rightmost pixels, are arranged in a ratio of approximately 1:4 between "1000" and "1001", and the quantized value of the pixels that are "0" in Figure 14A(d) is "0010".
[0116] Next, in step S305, the bitmap image quantized in step S304 is subjected to index expansion processing by the nozzle decomposition unit 212. Figures 16A(e) and (f) show the nozzle data C1p and C2p after the index expansion processing in steps S817 and S818, respectively. Figure 16B shows the dot arrangement when the recording head H records at 600dpi x 1200dpi based on the nozzle data C1p and nozzle data C2p. Comparing Figures 14A(b), (d) and Figure 16B, it can be seen that in Figure 14A(b), among the pixels with a brightness value of 0, the pixels that are not at the top, bottom, left, or right edge in Figure 14A(d) have dots arranged in the respective 600dpi x 1200dpi areas. In Figure 16B, it can be seen that among the pixels with a brightness value of 0 in Figure 14A(b), the pixels determined to be the bottom edge and left edge in Figure 14A(d) have dots only placed on the upstream nozzle, i.e., the Ev nozzle, and furthermore, the decimation rate is set lower than that of the black data. Similarly, in Figure 16B, it can be seen that among the pixels with a brightness value of 0 in Figure 14A(b), the pixels determined to be the top edge and right edge in Figure 14A(d) have dots only placed on the downstream nozzle, i.e., the Od nozzle, and furthermore, the decimation rate is set lower than that of the black data. In this way, edge processing is performed on magenta and yellow as well, by setting the optimal decimation rate for each.
[0117] Furthermore, for inks with sufficiently high brightness, such as yellow, where ink bleeding is less noticeable, it is not necessary to prioritize the thinning of dots on the object's edge side for the upper and lower edge pixels. For example, in the flow shown in Figure 13(a), the edges are not detected in steps S803 and S806, and either the first or second edge is detected in steps S2601 and S2603. Then, in step S305, the bitmap image quantized in step S304 is subjected to index expansion processing by the nozzle decomposition unit 212 using the dot arrangement pattern shown in Figures 12(c) and (d). This allows dots to be thinned at the set thinning rate without considering priority for the upper and lower edge pixels. Moreover, for inks with sufficiently high brightness, such as yellow, where ink bleeding is less noticeable, the thinning rate may be set lower than for other color inks with relatively lower brightness, such as magenta and cyan, and the amount of each edge pixel used may be increased. For example, in the second gradation correction process in steps S2602 and S2604, if the density value K1=255 for the yellow data, applying a setting where the density value K1'=160 for the Out data allows edge processing to be performed with a lower decimation rate than for the cyan data. As described in steps S402 to S403, when detecting edge patterns after binarizing the brightness value of each pixel, a considerable amount of ink may be used for both pixels with Bin=1 and pixels with Bin=0, depending on Th in condition (1), for inks with high brightness such as yellow. In the case of an image composed only of pixels with brightness values near Th and in which edges are detected, the amount of high-brightness ink used can be reduced by edge processing only for pixels determined to be the ends of the edge. If the amount of reduction is very large, it may be visible, but this reduction can be suppressed by setting a low decimation rate for the ink.
[0118] The degree to which black, cyan, magenta, and yellow inks bleed depends on the type of recording medium used for printing and the number of passes taken during printing. Therefore, the ink thinning rate for each ink may be set in relation to the type and quality of the recording medium.
[0119] Up to this point, we have explained edge processing using an image forming apparatus equipped with black, cyan, magenta, and yellow inks as an example. However, there are also image forming apparatuses that are equipped with multiple types of black ink depending on the function and application. For example, there are image forming apparatuses that are equipped with a black ink with relatively high surface tension mainly for printing text, and a black ink with relatively low surface tension mainly for photo printing on specialty paper. In such cases where multiple inks capable of expressing the same hue exist, the dots placed on the pixels at the edges of the object may be set to 0 for any of the inks. Furthermore, even if multiple black inks are not equipped, process black can be formed by mixing cyan, magenta, and yellow. If the object to be edge-processed is formed with black and process black, either the black or process black dots placed on the pixels at the edges of the object may be set to 0.
[0120] As an embodiment of edge processing to improve the accuracy of code image reading, in Figure 13(a), an example was described in which, as a condition for determining the first and second ends in step S803, dots on the object end side are preferentially decimated for the upper and lower end pixels. However, this is not limited to this, as long as it is possible to approach the ideal size of the input.
[0121] <Switching recording modes> When printing on recording media of paper types that are often used for printing text, such as plain paper, a recording mode that performs edge processing to improve text readability is applied. When printing on recording media that are often used for printing photographs, such as specialty paper, a recording mode that does not perform edge processing is applied.
[0122] For example, when a user uses a user interface such as a keyboard or mouse on the terminal device 11 to operate a GUI (Graphical User Interface) provided by the "driver for the image forming apparatus 10" installed on the terminal device 11 to select the paper type and quality of the recording medium, the driver sets the recording mode corresponding to the selected paper type and quality.
[0123] Furthermore, for example, if a user operates a user interface such as an operation panel of the image forming apparatus 10 to select the paper type and quality of the recording medium, the image forming apparatus 10 sets a recording mode corresponding to the selected paper type and quality.
[0124] Furthermore, when printing a two-dimensional code image, the user sets a dedicated code image recording mode, which is a dedicated recording mode that applies edge processing to improve the accuracy of code image reading. For example, if the user uses the user interface of the terminal device 11 to operate the GUI (Graphical User Interface) provided by the "driver for the image forming apparatus 10" installed on the terminal device 11 and selects the dedicated code image recording mode, the driver sets the dedicated code image recording mode.
[0125] Furthermore, for example, if a user operates the user interface of the image forming apparatus 10 to select a recording mode dedicated to code images, the image forming apparatus 10 sets the selected recording mode dedicated to code images.
[0126] The image forming apparatus 10 then performs printing according to the set recording mode. Note that the above method for setting the recording mode is merely an example and is not limited to a specific method. For example, instead of the user setting (switching) the recording mode according to the purpose, the processing flow performed by the image forming apparatus 10 may include a step in which it detects objects (characters or two-dimensional code images) from the input image data and performs edge processing appropriate to the detected objects.
[0127] Thus, when edge processing, which is specialized for improving the reading accuracy of two-dimensional code images, is also applied to characters, there is a risk that the line width of the characters will become too thin, actually reducing readability. However, in this embodiment, by switching to the optimal edge processing depending on the object, it is possible to provide a technology that can achieve both improved reading accuracy of two-dimensional code images and readability of characters.
[0128] [Second Embodiment] In the following embodiments, including this embodiment, the differences from the first embodiment will be described, and unless otherwise specified below, they will be the same as the first embodiment. In the first embodiment, regarding the second gradation correction processing of the code image reading accuracy improvement edge processing, an example of the setting when the density value Out after processing is linear with respect to the density value In before processing was described, as shown in Figure 13(b). However, when the density value In before processing is low, since the original amount of ink used is small, further thinning of the dots of pixels at the edges will greatly impair the linearity at the edges, which may lead to a deterioration in reading accuracy. Therefore, by applying the setting values shown in Figure 17 in the second gradation correction processing of steps S2602 and S2604 in Figure 13(a), when the density value In before processing is low (when the density value In is below the threshold), the density value Out after processing = In, that is, dot thinning of edge pixels is not performed in the second gradation correction processing, and a certain amount of thinning is performed on the two-dimensional code image above the midtone (when the density value In is above the threshold). This second gradation correction process also involves setting appropriate values for each ink. For example, for black, a setting is applied where In=Out is set up to a pre-processing density value of In=64, while for cyan, magenta, and yellow, a setting is applied where In=Out is set up to a pre-processing density value of In=96, and dot thinning is performed on the pixels at the edges of each color.
[0129] [Third Embodiment] In the first and second embodiments, examples were described in which edge processing was performed on one pixel at the edge of an object. In this embodiment, with regard to edge processing to improve the accuracy of code image reading, an example is shown in which edge processing is performed on multiple pixels at the edge of an object, with the aim of suppressing ink bleeding and bringing the printed material closer to the ideal size of the input.
[0130] The following example illustrates edge processing for the two pixels at the edge of an object, using Figures 18A and 18B. The processing in steps S301, S302, and S401 and S402 in step S303 is the same as in Figures 10A(a), (b), and (c) above, so a detailed explanation will be omitted.
[0131] Figure 18A(a) shows the result of edge determination according to this embodiment on the binary Bin obtained by binarizing the luminance Y data using Th=50 in step S402. In Figure 18A(a), "1" indicates the lower and left edges, and "2" indicates the upper and right edges. This differs from the above embodiment in that the number of pixels determined as edge pixels is two pixels.
[0132] Next, in step S304, the bitmap image obtained by the decoding process in step S302 is subjected to color separation quantization by the color separation quantization unit 211 based on the edge detection results (edge information) in step S303. The density values K1 and K2 after the color separation process in step S802 are the same as in Figure 10A(e).
[0133] Figure 18A(b) shows the density value K1' after the gradation correction processing in steps S803-S805 and S2601-S2602. In step S803, the second end is determined to consist of two pixels at the top and right ends, so the pixels that are "2" in Figure 18A(a), i.e., the two pixels at the top and right ends, have a density value of 0. On the other hand, after the first gradation correction processing in step S804, in step S2601 the first end is determined to consist of two pixels at the bottom and left ends, and in step S2602 the second gradation correction processing is performed according to the setting that In=Out up to the pre-processing density value In=64 shown in Figure 17. In other words, if the density value K1=255 for In, the density value K1'=64 for Out.
[0134] Figure 18A(c) shows the density value K2' after the gradation correction processing in steps S806-S808 and S2603-S2604. In step S806, the first end is determined to consist of two pixels at the bottom and left ends, so the pixels that are "1" in Figure 18A(a), i.e., the two pixels at the bottom and left ends, have a density value of 0. On the other hand, after the first gradation correction processing in step S807, in step S2603 the second end is determined to consist of two pixels at the top and right ends, and in step S2604 the second gradation correction processing is performed according to the setting that In=Out up to the pre-processing density value In=64 shown in Figure 17. In other words, if the density value K2=255 for In, the density value K2' for Out becomes 64.
[0135] Figure 18A(d) shows the quantized value K1'' obtained after processing in steps S809 to S812, and Figure 18A(e) shows the quantized value K2'' obtained after processing in steps S813 to S816. Here, in both steps S809 and S813, the intensity value 64 is quantized as "0000" and "0001" in equal proportions, and the intensity value 255 is quantized as "0010". Also, the definitions of the first end and the second end in steps S810 and S814 are the same as in steps S806 and S803, respectively. Therefore, as shown in Figure 18A(d), the quantized values of the pixels that are "1" in Figure 18A(a), i.e., the two pixels at the bottom end and the left end, are arranged in equal proportions of "1000" and "1001", and the pixels that are "0" in Figure 18A(a) become "0010". On the other hand, as shown in Figure 18A(e), the quantized data of the pixels that are "2" in Figure 18A(a), i.e., the two pixels at the top and right edges, consists of half "1000" and half "1001", while the pixels that are "0" in Figure 18A(a) become "0010".
[0136] Next, in step S305, the bitmap image quantized in step S304 is subjected to index expansion processing by the nozzle decomposition unit 212. Figures 18B(a) and (b) show the nozzle data K1p and K2p after the index expansion processing in steps S817 and S818, respectively. Figure 18B(c) shows the dot arrangement when the recording head H records at 600dpi x 1200dpi based on the nozzle data K1p and K2p. It can be seen that among the pixels with a brightness value of 0 in Figure 14A(b), the pixels that are not at the top, bottom, left, or right edge in Figure 18A(a) are dots arranged in the respective 600dpi x 1200dpi areas in Figure 18B(c). Furthermore, in Figure 14A(b), of the pixels with a brightness value of 0, the pixels identified as the bottom edge and left edge in Figure 18A(a) have dots only on the upstream nozzle, i.e., the Ev nozzle, and it can be seen in Figure 18B(c) that the edge-processed edges are set to two pixels. Also, in Figure 14A(b), of the pixels identified as the top edge and right edge in Figure 18A(a), the pixels identified as the downstream nozzle, i.e., the Od nozzle, have dots only, and it can be seen in Figure 18B(c) that the edge-processed edges are set to two pixels.
[0137] As described above, in this embodiment, the lower and leftmost pixels are detected and identified as the first ends on the object side of the object's edge portion in the input image data, and the upper and rightmost pixels are identified as the second ends. The arrangement of dots is then changed according to the identification result, and the dots at the ends are thinned out. By setting the area of two pixels at the ends as the target for edge processing, and further prioritizing the thinning of dots on the object's edge side for the upper and lower end pixels, it is possible to bring the size of the bars, cells, and spaces in the two-dimensional code image closer to the ideal input size even if ink bleeding occurs.
[0138] Up to this point, the processing from step S803 onwards has been explained using black data, but in step S802, density values for cyan, magenta, and yellow are also output in addition to the black data. In this embodiment as well, cyan, magenta, and yellow are processed in the same way as black data in the second gradation correction processing in steps S2602 and S2604, after setting the optimal decimation rate for each. For example, a lower decimation rate than black may be set depending on conditions such as the fact that color inks have higher brightness than black ink and ink bleeding is less noticeable, or that the dot diameter of the ink droplets, i.e., the ejection amount, is set small considering photo printing applications. In that case, after the first gradation correction processing in steps S804 and S807, the respective ends are determined in steps S2601 and S2603, and the second gradation correction processing is performed in steps S2602 and S2604 according to the setting that In=Out up to the pre-processing density value In=96 shown in Figure 17. In other words, if the density value before processing was In=255, the density value after processing will be Out=96, and a lower decimation rate than the black edge pixel decimation rate described above will be applied. Furthermore, in this embodiment as well, for the same reasons as in the first embodiment, for inks with high brightness such as yellow, the decimation rate may be set lower than that of other color inks with relatively lower brightness such as magenta and cyan, and the amount of each edge pixel used may be increased. In that case, in steps S2602 and S2604, the setting is applied only to the yellow data so that In=Out when the density value In≦160, and Out=160 when the density value In>160, and the second gradation correction processing is performed. In other words, if the density value before processing was In=255, only the yellow data will have a density value Out=160 after processing, and a lower decimation rate than the cyan and magenta edge pixel decimation rates will be applied.
[0139] In this embodiment, we have described a case where edge processing is performed on two pixels at the edge of an object. However, this is only one example of a case where edge processing is performed on at least the outermost pixel and the pixels adjacent to the outermost pixel in the edge region.
[0140] [Fourth Embodiment] In the above embodiment, regarding edge processing to improve code image reading accuracy, an example was described in which, for pixels at the upper and lower edges, dots on the object edge side are preferentially thinned out to suppress ink bleeding and bring the line width of horizontal lines closer to the ideal input size.
[0141] In this embodiment, we will describe an example in which the process (processing in step S501) according to the flowchart in Figure 3(c) is performed to adjust the dot position using the ejection position adjustment value set by the recording head control unit 213, and to bring the line width of the vertical lines closer to the ideal size of the input.
[0142] First, the ejection position adjustment process in this embodiment will be described. The recording head control unit 213 sets the Ev nozzle data and the ejection position adjustment value for the Ev nozzle stored in the RAM 207 for the Ev column 1121. Furthermore, the recording head control unit 213 sets the Od nozzle data and the ejection position adjustment value for the Od nozzle stored in the RAM 207 for the Od column 1122. Based on the Ev nozzle data and ejection position adjustment value, and the Od nozzle data and ejection position adjustment value, the recording head H records an image on the recording medium in the main scanning direction. Here, the ejection position adjustment value includes a reference value stored in the ROM 206, and a correction value from the reference value predetermined for each recording mode and object. Furthermore, it may also include a value corrected from the reference value based on an ejection position adjustment function arbitrarily performed by the user. In addition, the ejection position adjustment value may be relative position information with respect to the position of the recording head H identified by the encoder strip of the image forming apparatus 10, or it may be relative time information.
[0143] Figures 19A and 19B show an example where the Ev nozzles in the Ev column and the Od nozzles in the Od column form a dot for a non-edge pixel at point B on the recording medium. For simplicity, it is assumed that when the recording head H is not scanning, the ink droplets ejected from the Ev nozzles and the ink droplets ejected from the Od nozzles are both oriented horizontally in the Z direction.
[0144] Figures 19A(a) and (c) show the case where the dot position is not adjusted, in other words, when the Ev row 1121 and Od row 1122 aim at the same location relative to point B and eject ink. As shown in Figure 19A(a), the ink droplet 1602 ejected from the nozzle in the Ev row 1121 (and similarly from the nozzle in the Od row 1122) travels a trajectory 1601 due to the inertia of the scanning direction of the recording head H, and then lands on point B on the recording medium P. Therefore, the recording head control unit 213, based on the encoder strip and ejection position adjustment value, ejects ink from the Ev nozzle at the timing when it determines that the Ev row 1121 has reached point A on the recording medium P, causing the ink droplet 1602 to land on point B. Subsequently, when it determines that the Od row 1122 has reached point A on the recording medium P, it ejects ink from the Od nozzle, causing the ink droplet 1603 to land on point B on the recording medium P.
[0145] Figure 19A(c) shows the case when the recording head H performs a rescan. The ink droplets ejected from each nozzle travel along a trajectory 1606 due to the inertia of the recording head H in the -X direction before landing on the recording medium P. Therefore, the recording head control unit 213 determines, based on the encoder strip and ejection position adjustment value, that the Od row has reached point E on the recording medium P, and ejects ink from the Od nozzle at that timing, causing the ink droplet 1607 to land on point B on the recording medium P. Subsequently, when it determines that the Ev row has reached point E on the recording medium P, it ejects ink from the Ev nozzle at that timing, causing the ink droplet 1608 to land on point B on the recording medium P. When an image with edge processing of one pixel at the edge is recorded in this state, the dot arrangement shown in Figure 19B(a) is formed regardless of the scanning direction of the recording head H, and the landing dot width in the X direction at that time is D1. Furthermore, even when Ev nozzle and Od nozzle dots are mixed at both the left and right edges, as in known edge processing techniques, the dot width in the X direction is approximately the same as D1.
[0146] In contrast, Figures 19A(b) and (d) show the forward scan and reverse scan when adjusting the dot position. In the case of a forward scan, as shown in Figure 19A(b), the recording head control unit 213 determines, based on the encoder strip and ejection position adjustment value, that the Ev column has reached point A on the recording medium P, and ejects ink from the Ev nozzle at that timing, causing the ink droplet 1604 to land at point B on the recording medium P. Subsequently, the recording head control unit 213 determines, based on the encoder strip and ejection position adjustment value, that the Od column has reached point C, which is offset in the -X direction from point A on the recording medium P, and ejects ink from the Od nozzle at that timing. This causes the ink droplet 1605 to land at point D, which is offset in the -X direction from point B on the recording medium P. Here, by setting the ejection position adjustment value to a higher resolution than the print resolution, the distance in the X direction between points B and D can be adjusted with a resolution of less than 1 pixel width. In the case of a rescan, as shown in Figure 19A(d), the recording head control unit 213 determines, based on the encoder strip and ejection position adjustment value, that the Od row has reached point F, which is offset in the -X direction from point E on the recording medium P, and ejects ink from the Od nozzle at that timing. This causes the ink droplet 1609 to land at point D on the recording medium P. Subsequently, when it determines that the Ev row has reached point E on the recording medium P, it ejects ink from the Ev nozzle, causing the ink droplet 1610 to land at point B on the recording medium P. Figure 19B(b) shows the dot arrangement formed in the forward scan and rescan by this adjustment, and the flight characteristics of the recording head H in this figure are the same as in Figure 19B(a). Compared to Figure 19B(a), the landing positions of the dots formed by the Od nozzle are uniformly offset in the -X direction, and the landing dot width D2 in the X direction is smaller than D1. In other words, by performing edge processing, the leftmost pixels are composed of ink from the Ev nozzle, and the rightmost pixels are composed of ink from the Od nozzle. Therefore, by appropriately offsetting the landing positions of the Ev and Od rows according to the level of ink bleeding, the line width of the vertical lines can also be brought closer to the ideal input size.
[0147] Furthermore, since the position offset amount can be set to less than 1 pixel width, D2 can also be adjusted to less than 1 pixel width. In other words, it is possible to adjust the width of the lines formed on the recording medium to less than 1 pixel width. Note that Figures 19A and 19B illustrate an example where the ejection position adjustment is performed only on the Od column, but this is not the only option; the adjustment amount may be allocated equally to both the Ev and Od columns.
[0148] [Fifth Embodiment] In the first to fourth embodiments, a process of thinning out dots placed on pixels at the edges of an object was described. However, depending on the level of ink bleeding, this may be insufficient as a measure to approach the ideal size of the input. Therefore, in addition to thinning out dots on pixels at the edges of an object, dots placed on pixels at the non-edges of the object may also be thinned out. This suppresses ink bleeding across the entire image, and the areas where dots have been thinned out at the edges of the object function more effectively as a retention area.
[0149] Furthermore, although the first to fourth embodiments described a serial-type image processing device, it is not limited thereto, as long as the features and configuration are similar. For example, a line-type recording head may be used, or a configuration in which serial-type heads are arranged vertically may be used.
[0150] Furthermore, although the image forming apparatus 10 was described as an inkjet printer in the first to fourth embodiments, it is not limited to this as long as its features and configuration are similar. For example, the image forming apparatus 10 may be a laser printer using toner, or a copier.
[0151] Furthermore, in the first to fourth embodiments, the bitmap data area and the like were described as areas within the RAM 207, but this is not limited to any rewritable storage device. For example, a separate HDD or eMMC (Embedded Multi Media Card) may be provided in addition to the RAM 207, and the entire data area may be placed within the storage area of the HDD or eMMC, or only a part of the data area may be placed there.
[0152] Furthermore, while the first to fourth embodiments described examples where the quantization of concentration values was converted entirely to three values, this is not limited to this, as long as the features and configuration are similar. For example, it may be converted to two values or four or more values.
[0153] Furthermore, while the first to fourth embodiments were described assuming that the recording head has Ev nozzles and Od nozzles, they are not limited to this, as long as the features and configuration are similar. In the cases of the first to fourth embodiments where recording is performed at a higher resolution in the Y direction than the image being edge-detected, the first to fourth embodiments can be applied as long as the nozzles are arranged at a higher resolution than the image being edge-detected.
[0154] Furthermore, although the first to fourth embodiments were described as performing image processing, including edge processing, within the image forming apparatus 10, the invention is not limited to this, as long as the features and configuration are similar. Specifically, some or all of the image processing, including edge processing, may be performed in a separate apparatus from the image forming apparatus 10, and subsequent processing may be performed within the image forming apparatus 10 based on the processing results.
[0155] The numerical values, processing timing, processing order, processing entity, data (information) structure / acquisition method / destination / source / storage location, etc., used in the above embodiment are given as examples for the purpose of providing a concrete explanation, and are not intended to limit the scope to such examples.
[0156] Furthermore, some or all of the embodiments described above may be used in appropriate combinations. Alternatively, some or all of the embodiments described above may be used selectively.
[0157] (Other embodiments) The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.
[0158] The inventions described herein include the following image processing apparatus and image processing methods. (Item 1) An image processing apparatus characterized by comprising a printing means that, when a mode for printing two-dimensional code images different from a mode for printing text is set, prints two-dimensional code images by thinning them out. (Item 2) The image processing apparatus according to item 1, characterized in that when a mode for printing characters is set, the printing means prints characters with fewer characters than when a mode for printing two-dimensional code images is set, and when a mode for printing two-dimensional code images is set, the two-dimensional code images are printed with fewer characters than when printed in the character printing mode. (Item 3) moreover, The recording head has two or more nozzle rows of the same color, which are offset by half a pitch in the nozzle arrangement direction. The image processing apparatus according to item 1 or 2, characterized in that when a mode for printing two-dimensional code images is set, the printing means preferentially decimates the dots on the edge side at the upper and lower edge pixels inside the edge region of the two-dimensional code image before printing. (Item 4) The image processing apparatus according to any one of items 1 to 3, characterized in that when a mode for printing a two-dimensional code image is set, the printing means performs edge processing on at least the outermost pixel and the pixels adjacent to the outermost pixel in the edge region. (Item 5) The recording head moves relative to the recording medium in the main scanning direction, When the mode for printing two-dimensional code images is set, the printing means, For pixels inside the first edge region of the two-dimensional code image, the dots of the first nozzle row in the recording head are thinned out; for pixels inside the second edge region of the two-dimensional code image, the dots of the second nozzle row in the recording head are thinned out. The distance in the main scanning direction between the position of the dot recorded by the second nozzle row for the outermost pixel of the first edge region and the position of the dot recorded by the first nozzle row for a non-edge pixel adjacent to the inside of the first edge region is less than the width of the first edge region in the main scanning direction, such that the positions of the dots in the first nozzle row and the positions of the dots in the second nozzle row are uniformly offset for each pixel of the two-dimensional code image. The image processing apparatus according to item 3, characterized in that (Item 6) When the mode for printing two-dimensional code images is set, the printing means, If the density values for each ink color obtained by performing color separation on the brightness values of the input image entered as the print target are below the threshold, For pixels inside the first edge region in the two-dimensional code image, the dots of the second nozzle row in the recording head are not thinned out. For pixels inside the second edge region in the two-dimensional code image, the dots of the first nozzle row in the recording head are not thinned out. If the density value of the input image is greater than or equal to the threshold, the threshold is set to the density value of the pixels inside the edge region. The image processing apparatus according to item 3, characterized in that (Item 7) The image processing apparatus according to any one of items 1 to 6, characterized in that when the printing means prints an object to be printed with multiple black inks in a mode for printing a two-dimensional code image, the black of any of the pixels in the edge region of the object is set to 0. (Item 8) The image processing apparatus according to any one of items 1 to 7, characterized in that when printing an object to be printed in a mode for printing a two-dimensional code image using black ink and multiple color inks, the black ink and the black represented by multiple color inks in the edge region pixels of the object are set to 0. (Item 9) moreover, The system includes a detection means for detecting a two-dimensional code image from an input image that has been input as a target for printing. The image processing apparatus according to any one of items 1 to 8, characterized in that when a mode for printing two-dimensional code images is set for the printing means, edge processing is performed on the two-dimensional code image detected by the detection means. (Item 10) The printing means is In text printing mode, black ink is used to print by omitting pixels inside the edge regions of objects. In the mode for printing 2D barcode images, black and color inks are used to print by thinning out the pixels inside the edge areas of the object. The image processing apparatus according to item 1, characterized in that it is a picture processing apparatus. (Item 11) moreover, The recording head has two or more nozzle rows of the same color, which are offset by half a pitch in the nozzle arrangement direction. The image processing apparatus according to item 10, characterized in that when a mode for printing two-dimensional code images is set, the printing means preferentially decimates the dots on the edge side at the upper and lower edge pixels inside the edge region of an object of at least one color. (Item 12) The image processing apparatus according to item 10 or 11, characterized in that when a mode for printing a two-dimensional code image is set, the printing means performs edge processing on at least the outermost pixel and the pixels adjacent to the outermost pixel in the edge region. (Item 13) The recording head moves relative to the recording medium in the main scanning direction, When the mode for printing two-dimensional code images is set, the printing means, For pixels inside the first edge region of the object, the dots of the first nozzle row in the recording head are thinned out. For pixels inside the second edge region of the object, the dots of the second nozzle row in the recording head are thinned out. The distance in the main scanning direction between the position of a dot recorded by the second nozzle row on the outermost pixel of the first edge region and the position of a dot recorded by the first nozzle row on an adjacent non-edge pixel inside the first edge region is less than the width of the first edge region in the main scanning direction, such that the positions of the dots in the first nozzle row and the positions of the dots in the second nozzle row are uniformly offset at each pixel of the object. The image processing apparatus according to item 11, characterized in that (Item 14) When the mode for printing two-dimensional code images is set, the printing means, If the density values for each ink color obtained by performing color separation on the brightness values of the input image entered as the print target are below the threshold, For pixels inside the first edge region of the object, the dots of the second nozzle row in the recording head are not thinned out. For pixels inside the second edge region of the object, the dots of the first nozzle row in the recording head are not thinned out. If the density value of the input image is greater than or equal to the threshold, the threshold is set to the density value of the pixels inside the edge region. The image processing apparatus according to item 11, characterized in that (Item 15) The image processing apparatus according to any one of items 10 to 14, characterized in that when the printing means prints an object to be printed with multiple black inks in a mode for printing a two-dimensional code image, the black of any of the pixels in the edge region of the object is set to 0. (Item 16) The image processing apparatus according to any one of items 10 to 15, characterized in that when printing an object to be printed in a mode for printing a two-dimensional code image using black ink and multiple color inks, the black ink and the black represented by multiple color inks in the edge region pixels of the object are set to 0. (Item 17) moreover, The system includes a detection means for detecting a two-dimensional code image from an input image that has been input as a target for printing. The image processing apparatus according to any one of items 10 to 16, characterized in that when a mode for printing two-dimensional code images is set for the printing means, edge processing is performed on the two-dimensional code image detected by the detection means. (Item 18) An image processing method performed by an image processing device, An image processing method characterized in that, when the printing means of the image processing device is set to a mode for printing two-dimensional code images different from a mode for printing characters, it prints the two-dimensional code images by thinning them out.
[0159] The invention is not limited to the embodiments described above, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, claims are attached to disclose the scope of the invention. [Explanation of Symbols]
[0160] 2: Recording device 10: Image forming apparatus 100: Image processing device 201: Host computer 202: Scanner 203: CPU 204: Host IF control unit 205: Scanner IF control unit 206: ROM 207: RAM 208: Image processing unit 209: Decoder unit 210: Image analysis unit 211: Color separation quantization unit 212: Nozzle separation unit 213: Recording head control unit 215: Shared bus 216: Scan image correction unit
Claims
1. An image processing apparatus characterized by comprising a printing means that, when a mode for printing two-dimensional code images different from a mode for printing text is set, prints two-dimensional code images by thinning them out.
2. The image processing apparatus according to claim 1, characterized in that when a mode for printing characters is set, the printing means prints characters with fewer characters than when a mode for printing two-dimensional code images is set, and when a mode for printing two-dimensional code images is set, the two-dimensional code images are printed with fewer characters than when printed in the character printing mode.
3. moreover, The recording head has two or more nozzle rows of the same color, which are arranged with a half-pitch offset in the nozzle arrangement direction. The image processing apparatus according to claim 1, characterized in that when a mode for printing two-dimensional code images is set, the printing means preferentially decimates the dots on the edge side at the upper and lower edge pixels inside the edge region of the two-dimensional code image before printing.
4. The image processing apparatus according to claim 1, characterized in that when a mode for printing a two-dimensional code image is set, the printing means performs edge processing on at least the outermost pixel and the pixels adjacent to the outermost pixel in the edge region.
5. The recording head moves relative to the recording medium in the main scanning direction, When the mode for printing two-dimensional code images is set, the printing means, For pixels inside the first edge region of the two-dimensional code image, the dots of the first nozzle row in the recording head are thinned out; for pixels inside the second edge region of the two-dimensional code image, the dots of the second nozzle row in the recording head are thinned out. The distance in the main scanning direction between the position of a dot recorded by the second nozzle row for the outermost pixel of the first edge region and the position of a dot recorded by the first nozzle row for a non-edge pixel adjacent to the inside of the first edge region is less than the width of the first edge region in the main scanning direction, such that the positions of the dots in the first nozzle row and the positions of the dots in the second nozzle row are uniformly offset for each pixel of the two-dimensional code image. The image processing apparatus according to claim 3.
6. When the mode for printing two-dimensional code images is set, the printing means, If the density values for each ink color obtained by performing color separation on the brightness values of the input image entered as the print target are below the threshold, For pixels inside the first edge region in the two-dimensional code image, the dots of the second nozzle row in the recording head are not thinned out. For pixels inside the second edge region in the two-dimensional code image, the dots of the first nozzle row in the recording head are not thinned out. If the density value of the input image is greater than or equal to the threshold, the threshold is set to the density value of the pixels inside the edge region. The image processing apparatus according to claim 3.
7. The image processing apparatus according to claim 1, characterized in that when the printing means prints an object to be printed with multiple black inks in a mode for printing a two-dimensional code image, the black of any of the pixels in the edge region of the object is set to 0.
8. The image processing apparatus according to claim 1, characterized in that when the printing means prints an object to be printed in a mode for printing a two-dimensional code image using black ink and multiple color inks, either the black ink or the black represented by the multiple color inks in the edge region pixels of the object is set to 0.
9. moreover, The system includes a detection means for detecting a two-dimensional code image from an input image that has been input as a target for printing. The image processing apparatus according to claim 1, characterized in that when a mode for printing two-dimensional code images is set on the printing means, edge processing is performed on the two-dimensional code image detected by the detection means.
10. The printing means is In text printing mode, black ink is used to print by omitting pixels inside the edge regions of objects. In the mode for printing 2D barcode images, black and color inks are used to print by thinning out the pixels inside the edge areas of the object. The image processing apparatus according to feature 1.
11. moreover, The recording head has two or more nozzle rows of the same color, which are arranged with a half-pitch offset in the nozzle arrangement direction. The image processing apparatus according to claim 10, characterized in that when a mode for printing a two-dimensional code image is set, the printing means preferentially omits dots on the edge side at the upper and lower edge pixels inside the edge region of an object of at least one color.
12. The image processing apparatus according to claim 10, characterized in that when a mode for printing a two-dimensional code image is set, the printing means performs edge processing on at least the outermost pixel and the pixels adjacent to the outermost pixel in the edge region.
13. The recording head moves relative to the recording medium in the main scanning direction, When the mode for printing two-dimensional code images is set, the printing means, For pixels inside the first edge region of the object, the dots of the first nozzle row in the recording head are thinned out. For pixels inside the second edge region of the object, the dots of the second nozzle row in the recording head are thinned out. The distance in the main scanning direction between the position of a dot recorded by the second nozzle row on the outermost pixel of the first edge region and the position of a dot recorded by the first nozzle row on an adjacent non-edge pixel inside the first edge region is less than the width of the first edge region in the main scanning direction, such that the positions of the dots in the first nozzle row and the positions of the dots in the second nozzle row are uniformly offset at each pixel of the object. The image processing apparatus according to feature 11.
14. When the mode for printing two-dimensional code images is set, the printing means, If the density values for each ink color obtained by performing color separation on the brightness values of the input image entered as the print target are below the threshold, For pixels inside the first edge region of the object, the dots of the second nozzle row in the recording head are not thinned out. For pixels inside the second edge region of the object, the dots of the first nozzle row in the recording head are not thinned out. If the density value of the input image is greater than or equal to the threshold, the threshold is set to the density value of the pixels inside the edge region. The image processing apparatus according to feature 11.
15. The image processing apparatus according to claim 10, characterized in that when the printing means prints an object to be printed with multiple black inks in a mode for printing a two-dimensional code image, the black of any of the pixels in the edge region of the object is set to 0.
16. The image processing apparatus according to claim 10, characterized in that when the printing means prints an object to be printed in a mode for printing a two-dimensional code image using black ink and multiple color inks, either the black ink in the pixel of the edge region of the object or the black represented by the multiple color inks is set to 0.
17. moreover, The system includes a detection means for detecting a two-dimensional code image from an input image that has been input as a target for printing. The image processing apparatus according to claim 10, characterized in that when a mode for printing two-dimensional code images is set on the printing means, edge processing is performed on the two-dimensional code image detected by the detection means.
18. In the mode for printing the two-dimensional code image, when printing by thinning out the color ink of the inner pixels of the edge region of the object, The image processing apparatus according to claim 10, characterized in that the maximum amount of ink applied to the pixel with the first color ink having the highest brightness among the color inks is greater than the maximum amount of ink applied to the pixel with the second color ink having a lower brightness than the first color ink among the color inks.
19. An image processing method performed by an image processing device, An image processing method characterized in that, when the printing means of the image processing device is set to a mode for printing two-dimensional code images different from a mode for printing characters, it prints the two-dimensional code images by thinning them out.
Citation Information
Patent Citations
Two dimensional code printing method, its program and inkjet printer
JP2008183778A