Image processing device, image processing method, and computer program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2023-04-28
- Publication Date
- 2026-05-11
AI Technical Summary
Existing color mapping technologies, such as 'perceptual' and 'absolute colorimetric' mapping, result in decreased saturation and color degeneracy issues, where the distance between colors after mapping differs from the original distance, leading to colors being recognized as the same when they should be distinct.
A method for color conversion using a correction means to adjust color conversion information, ensuring that the color difference before and after conversion remains within a predetermined threshold, thereby reducing color degeneracy by correcting color information in specific areas of the image data.
The proposed method effectively reduces color degeneracy by maintaining color differences within perceivable limits, ensuring that colors are accurately distinguished post-conversion.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to color mapping techniques. [Background technology]
[0002] There is known an image processing device that receives a digital document described in a specific color space, maps each color in the color space to a color gamut that can be reproduced by a printer, and outputs the result. Patent Document 1 describes "perceptual" mapping and "absolute colorimetric" mapping. Patent Document 2 describes the determination of whether or not to perform color space compression and the direction of compression for an input color image signal. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2020-27948 A [Patent Document 2] Japanese Patent Application Publication No. 07-203234 Summary of the Invention [Problem to be solved by the invention]
[0004] When the "perceptual" mapping described in Patent Document 1 is performed, the saturation may be reduced even for colors that the printer can reproduce in the color space of the digital document. Furthermore, when the "absolute colorimetric" mapping is performed, color degeneration may occur in which the distance between multiple colors included in the digital document, which is outside the printer's reproduction color gamut, becomes smaller after mapping than the distance between the colors before mapping. Furthermore, in Patent Document 2, a unique compression is performed in the saturation direction on the input color image signal, so there are concerns about the effect of reducing the degree of color degeneration. The present invention provides a technology that enables color conversion that reduces the degree of color degeneration. [Means for solving the problem]
[0005] One aspect of the present invention includes a correction means for correcting color conversion information used for color conversion, and a conversion means for converting color information of image data into color information of a different color gamut using the color conversion information corrected by the correction means, wherein when it is determined that first color information included in a first region in the image data and second color information included in a second region in the image data are a combination of color degenerate information, the correction means corrects the color conversion information so that the color difference between the first color information and the second color information before and after color conversion is within a predetermined color difference. Effect of the Invention
[0006] According to the configuration of the present invention, it is possible to perform color conversion with a small degree of color degeneration. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 is a block diagram showing an example of a system configuration. [Diagram 2] 3 is a flowchart of the overall processing of the image processing device 101. [Diagram 3] 10 is a flowchart showing details of the process in step S103. [Figure 4] FIG. 4 is a schematic diagram for explaining the process of step S202. [Diagram 5] 5A and 5B are schematic diagrams illustrating a color degeneration determination process. [Figure 6] 5A and 5B are schematic diagrams illustrating color degeneration correction processing. [Figure 7] FIG. 13 is a diagram showing a correction table for expanding lightness in the lightness direction. [Figure 8] FIG. 4 is a schematic diagram for explaining the process of step S202. [Figure 9] 11 is a flowchart of a series of processes for performing color degeneration correction for each area after an area is set for a single page. [Figure 10] FIG. 4 is a diagram for explaining an example of a page of input image data input in step S101. [Figure 11] 11 is a flowchart showing the area setting process in step S103 performed on a tile-by-tile basis. [Figure 12] A diagram showing how a page can be tiled. [Figure 13] 6A and 6B are diagrams showing unit tiles after the area setting process is completed. [Figure 14] FIG. 2 is a diagram illustrating a recording head 115. [Figure 15] FIG. 13 is a diagram showing an example of a GUI display. [Figure 16] 11A and 11B are diagrams showing the state of manuscript data before color degeneration correction is applied to each page. [Figure 17] 13A and 13B are diagrams showing the results of applying color degeneration correction to each page. [Figure 18] 1 is a flowchart showing a gamut mapping flow. [Figure 19] 11 is a flowchart showing details of the process in step S507. [Figure 20] FIG. 11 is a diagram showing an example of a list of information acquired for each page in step S601. [Figure 21] 11 is a flowchart showing the overall processing of the image processing device when color matching correction of the color degeneration correction TBL is performed. [Figure 22] 10 is a flowchart showing details of the process in step S702. [Figure 23] Gamut mapping process flowchart [Figure 24] 4 is a flowchart of a gamut mapping process. [Diagram 25] 10 is a flowchart showing details of the process of step S1001. [Figure 26] FIG. 11 is a diagram for explaining an example of the process in step S1103. [Figure 27] 4 is a flowchart of a gamut mapping process. [Figure 28] 11 is a flowchart showing details of the process in step S1201. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] Hereinafter, the embodiments will be described in detail with reference to the attached drawings. Note that the following embodiments do not limit the invention according to the claims. Although the embodiments describe a number of features, not all of these features are essential to the invention, and the features may be combined in any manner. Furthermore, in the attached drawings, the same reference numbers are used for the same or similar configurations, and duplicated descriptions are omitted.
[0009] [First embodiment] First, the terms used in this specification are defined as follows.
[0010] (Color Gamut) A color gamut refers to the range of colors that can be reproduced in an arbitrary color space. It is also called a color reproduction range, color gamut, or gamut. In addition, a color gamut volume is an index that indicates the width of this color gamut. A color gamut volume is a three-dimensional volume in an arbitrary color space. The chromaticity points that make up the color gamut may be discrete. For example, a specific color gamut may be represented by 729 points on the CIE-L*a*b*, and the points between them may be calculated using known interpolation calculations such as tetrahedral interpolation and cubic interpolation. In such a case, the corresponding color gamut volume can be calculated and accumulated according to the interpolation calculation method, for example, the volume of a tetrahedron or cube on the CIE-L*a*b* that makes up the color gamut.
[0011] Although the color reproduction area and color gamut in this specification are not limited to a specific color space, the color reproduction area in the CIE-L*a*b* space is used as an example for explanation. Similarly, the numerical values of the color reproduction area in this specification indicate the volume when cumulatively calculated in the CIE-L*a*b* space on the premise of tetrahedral interpolation.
[0012] (Gamut Mapping) Gamut mapping is a conversion process between different color gamuts, for example, mapping an input color gamut to an output color gamut. Conversion within the same color gamut is not called gamut mapping. Common examples are Perceptual, Saturation, and Colorimetric in ICC profiles. Mapping may be performed using one 3DLUT. Also, mapping may be performed after color space conversion to a standard color space. For example, if the input color space is sRGB, it is converted to the CIE-L*a*b* color space. Mapping is performed to the output color gamut on the CIE-L*a*b* color space. Mapping may be performed using a 3DLUT or a conversion formula. Also, conversion between the color space at the time of input and the color space at the time of output may be performed simultaneously. For example, the color space at the time of input may be sRGB, and at the time of output, it may be converted to RGB values or CMYK values specific to the recording device.
[0013] (Manuscript data) The original data refers to the entire input digital data to be processed, and may be data for one page (single page) or multiple pages. The single page data may be expressed as image data or as drawing commands. When the single page data is expressed as drawing commands, rendering may be performed based on the drawing commands to convert the data into image data before processing. The image data is image data composed of multiple pixels arranged two-dimensionally. The pixels hold information representing colors in a color space. Examples of information representing colors include RGB values, CMYK values, K values, CIE-L*a*b* values, HSV values, and HLS values.
[0014] (Color degeneracy) In this specification, color degeneracy is defined as a state where the distance between colors after mapping in a predetermined color space becomes smaller than the distance between colors before mapping when gamut mapping is performed on any two colors. Specifically, assume that there are colors A and B in a digital manuscript, and color A is converted to color C and color B is converted to color D by mapping to the printer's color gamut. In this case, color degeneracy is defined as a state where the distance between colors C and D is smaller than the distance between colors A and B. When color degeneracy occurs, colors that were recognized as different in the digital manuscript are recognized as the same color when printed. For example, in a graph, different items are made to have different colors so that they are recognized as different items. When color degeneracy occurs, different colors are recognized as the same color, which may cause a problem that different items in the graph are mistakenly recognized as the same item. The predetermined color space for calculating the distance between colors may be any color space. For example, these include the sRGB color space, Adobe RGB color space, CIE-L*a*b* color space, CIE-LUV color space, XYZ color space, xyY color space, HSV color space, and HLS color space.
[0015] <System configuration example> First, an example of the configuration of a system according to this embodiment will be described with reference to the block diagram of Fig. 1. As shown in Fig. 1, the system according to this embodiment has an image processing device 101 and a recording device 108, and is configured so that the image processing device 101 and the recording device 108 can communicate data with each other via a wired and / or wireless network 107 such as a LAN. Note that the network 107 may be a wireless communication network using a USB hub or a wireless access point, a connection using a Wifi Direct communication function, or the like.
[0016] First, a description will be given of the image processing device 101. The image processing device 101 is a computer device such as a PC (personal computer), a tablet terminal device, a smartphone, or a server.
[0017] The CPU 102 executes various types of processing using computer programs and data stored in the RAM 103. As a result, the CPU 102 controls the overall operation of the image processing device 101, and executes or controls various types of processing described as processing performed by the image processing device 101. For example, the CPU 102 acquires a command from a user via an HID (Human Interface Device) I / F (not shown), and executes various types of image processing according to the acquired command or a computer program stored in a storage medium 104.
[0018] The RAM 103 has an area for storing computer programs and data loaded from the storage medium 104, and an area for storing data received from an external device via the data transfer I / F 106. The RAM 103 also has a work area used when the CPU 102 and the image processing accelerator 105 execute processing. In this way, the RAM 103 can provide various areas as appropriate.
[0019] The storage medium 104 is a non-volatile memory device such as a hard disk. The storage medium 104 stores an OS (operating system), computer programs and data for causing the CPU 102 and the image processing accelerator 105 to execute various processes described as processes performed by the image processing device 101, and the like. The computer programs and data stored in the storage medium 104 are loaded into the RAM 103 as appropriate under the control of the CPU 102, and become targets for processing by the CPU 102 and the image processing accelerator 105.
[0020] The image processing accelerator 105 is hardware capable of executing image processing at a higher speed than the CPU 102. The image processing accelerator 105 is started by the CPU 102 writing parameters and data required for image processing to a predetermined address in the RAM 103. The image processing accelerator 105 reads the parameters and data and then executes image processing on the data. However, the image processing accelerator 105 is not an essential element, and equivalent processing may be executed by the CPU 102. Specifically, the image processing accelerator 105 is a GPU or an electric circuit designed specifically for it. The parameters may be stored in the storage medium 104 or may be obtained from an external device via the data transfer I / F 106. The data transfer I / F 106 is a communication interface for performing data communication with an external device via a network 107.
[0021] Next, a description will be given of the recording device 108. The recording device 108 is a device that has a function of printing (recording) images and characters on a print medium such as paper, and is, for example, a printer or a multifunction machine.
[0022] The CPU 111 executes various processes using computer programs and data stored in the RAM 112. As a result, the CPU 111 controls the overall operation of the recording device 108, and executes or controls various processes that will be described as processes performed by the recording device 108.
[0023] The RAM 112 has an area for storing computer programs and data loaded from the storage medium 113, and an area for storing data received from an external device via the data transfer I / F 110. The RAM 112 also has a work area used when the CPU 111 and the image processing accelerator 109 execute processing. In this way, the RAM 112 can provide various areas as appropriate.
[0024] The storage medium 113 is a non-volatile memory device such as a hard disk. The storage medium 113 stores an OS (operating system), computer programs and data for causing the CPU 111 and the image processing accelerator 109 to execute various processes described as processes performed by the recording device 108, and the like. The computer programs and data stored in the storage medium 113 are loaded into the RAM 112 as appropriate under the control of the CPU 111, and become targets for processing by the CPU 111 and the image processing accelerator 109.
[0025] The image processing accelerator 109 is hardware capable of executing image processing at a higher speed than the CPU 111. The image processing accelerator 109 is started by the CPU 111 writing parameters and data required for image processing to a predetermined address of the RAM 112. After reading the parameters and data, the image processing accelerator 109 executes image processing on the data. However, the image processing accelerator 109 is not an essential element, and equivalent processing may be executed by the CPU 111. Specifically, the image processing accelerator 109 is a GPU or an electric circuit designed specifically for it. The parameters may be stored in the storage medium 113 or may be obtained from an external device via the data transfer I / F 110. The data transfer I / F 110 is a communication interface for performing data communication with an external device via the network 107.
[0026] Here, we will explain the image processing performed by the CPU 111 or the image processing accelerator 109. The image processing is, for example, processing to generate data indicating the ink dot formation positions in each scan by the print head 115 based on the print data acquired from the image processing device 101. The CPU 111 or the image processing accelerator 109 performs color conversion processing and quantization processing of the acquired print data.
[0027] The color conversion process is a process of separating colors into ink densities to be handled by the recording device 108. For example, the acquired recording data includes image data representing an image. If the image data is data representing an image in color space coordinates such as sRGB, which is the representation color of a monitor, the data representing the image in the sRGB color coordinates (R, G, B) is converted into ink data (CMYK) handled by the recording device 108. The color conversion method is realized by a matrix calculation process, a process using a three-dimensional LUT (lookup table), a four-dimensional LUT, or the like.
[0028] The recording device 108 of this embodiment uses black (K), cyan (C), magenta (M), and yellow (Y) inks, as an example. Therefore, RGB image data is converted into image data having 8-bit color information for each of K, C, M, and Y. The color information for each color corresponds to the amount of each ink applied. Although the number of ink colors is exemplified by four colors, K, C, M, Y, and K, other ink colors, such as light-density light cyan (Lc), light magenta (Lm), and gray (Gy) inks, may be used to improve image quality. In that case, ink signals corresponding to those colors are generated.
[0029] After the color conversion process, a quantization process is performed on the ink data. The quantization process is a process for reducing the number of gradation levels of the ink data. In this embodiment, quantization is performed using a dither matrix in which threshold values for comparison with the ink data value for each pixel are arranged. After the quantization process, binary data is ultimately generated that indicates whether or not a dot will be formed at each dot formation position.
[0030] After image processing, the binary data is transferred to the recording head 115 by the recording head controller 114. At the same time, the CPU 111 performs recording control via the recording head controller 114 to operate a carriage motor that operates the recording head 115, and further to operate a transport motor that transports the print medium. The recording head 115 scans over the print medium, and an image is formed on the print medium by the recording head 115 ejecting ink droplets onto the print medium.
[0031] In the following, the recording head 115 will be described as having recording nozzle rows (115c, 115m, 115y, 115k) for four color inks of cyan (C), magenta (M), yellow (Y), and black (K). The recording head 115 will be described with reference to FIG.
[0032] In this embodiment, an image is recorded in a unit area of one nozzle row by multiple scans N times. The recording head 115 has a carriage 116, nozzle rows 115k, 115c, 115m, and 115y, and an optical sensor 118. The carriage 116 carrying the nozzle rows 115k, 115c, 115m, and 115y and the optical sensor 118 can be moved back and forth along the X direction (main scanning direction) in the figure by the driving force of a carriage motor transmitted via a belt 117. As the carriage 116 moves in the X direction relative to the printing medium, ink droplets are ejected in the gravity direction (-Z direction in the figure) from each nozzle of the nozzle rows 115k, 115c, 115m, and 115y based on the recording data. As a result, an image of 1 / N main scans is recorded on the printing medium placed on the platen 119. When one main scan is completed, the print medium is transported along a transport direction that intersects with the main scan direction (-Y direction in the figure) a distance corresponding to the width of 1 / Nth of a main scan. Through these operations, an image the width of one nozzle row is recorded on the print medium over N multiple scans. By alternately repeating such main scans and transport operations, an image is gradually formed on the print medium. In this way, it is possible to control so that image recording on a specified area is completed.
[0033] <Overall flow> The overall processing of the image processing device 101 will be described with reference to the flowchart in Fig. 2. In this embodiment, the processing according to the flowchart in Fig. 2 makes it possible to increase the distance between colors in a predetermined color space for color combinations that cause color degeneration, thereby reducing the degree of color degeneration.
[0034] 2 is realized, for example, by the CPU 102 reading a computer program stored in the storage medium 104 into the RAM 103 and executing the program. Note that a part or all of the processing according to the flowchart in FIG. 2 may be executed by the image processing accelerator 105.
[0035] In step S101, the CPU 102 acquires manuscript data stored in the storage medium 104 into the RAM 103. Note that the method for acquiring manuscript data into the RAM 103 is not limited to a specific method. For example, the CPU 102 may acquire manuscript data received from an external device via the data transfer I / F 106 into the RAM 103.
[0036] Then, the CPU 102 performs color information acquisition to acquire image data (input image data) including color information from the original data acquired in the RAM 103. The image data includes values representing colors expressed in a predetermined color space as color information. In color information acquisition, values representing colors are acquired from the original data. Examples of values representing colors include sRGB data, Adobe RGB data, CIE-L*a*b* data, CIE-LUV data, XYZ color system data, xyY color system data, HSV data, and HLS data.
[0037] In step S102, the CPU 102 performs color information conversion on the image data using color conversion information stored in advance in the storage medium 104. The color conversion information according to this embodiment is a gamut mapping table, and gamut mapping is performed on the color information of each pixel of the image data. The image data after gamut mapping is stored / saved in the RAM 103 or the storage medium 104 by the CPU 102. Specifically, the gamut mapping table is a three-dimensional lookup table. The three-dimensional lookup table can calculate a combination of output pixel values (Rout, Gout, Bout) for a combination of input pixel values (Rin, Gin, Bin). When the input pixel values Rin, Gin, and Bin each have 256 gradations, it is preferable to use table Table 1
[0256]
[0256]
[0256] [3], which has a total of 16,777,216 sets of output pixel values of 256 x 256 x 256, as the gamut mapping table.
[0038] In this embodiment, the color conversion of the image data is performed using such a gamut mapping table. Specifically, the CPU 102 performs the following process on each pixel (each pixel having color information (Rin, Gin, Bin)) of the image data acquired in step S101, thereby acquiring image data in which each pixel has color information (Rout, Gout, Bout).
[0039] Rout=Table1[Rin][Gin][Bin][0]...(Formula 1) Gout=Table1[Rin][Gin][Bin][1]...(Formula 2) Bout=Table1[Rin][Gin][Bin][2]...(Formula 3) Also, known techniques for reducing the table size of the gamut mapping table may be used, such as reducing the number of grids in the gamut mapping table from 256 grids to, for example, 16 grids and determining the output value by interpolating table values of multiple grids.
[0040] In step S103, the CPU 102 creates a color degeneration correction table (TBL) using the image data acquired in step S101, the image data after gamut mapping acquired in step S102, and the gamut mapping table. The format of the color degeneration correction table is the same as the format of the gamut mapping table. Details of the process in step S103 will be described later.
[0041] In step S104, the CPU 102 generates corrected image data that has been subjected to color degeneration correction by converting color information of the image data acquired in step S101 using the table after color degeneration correction created in step S103. The generated corrected image data is stored / saved in the RAM 103 or the storage medium 104 by the CPU 102.
[0042] In step S105, the CPU 102 outputs the corrected image data generated in step S104 to an external device via the data transfer I / F 106. For example, the CPU 102 may generate print data by converting the corrected image data into data in a print format, and output the print data to the recording device 108. The gamut mapping may be mapping from the sRGB color space to the color reproduction gamut of the recording device 108. In this case, it is possible to suppress a decrease in saturation and color difference due to gamut mapping into the color reproduction gamut of the recording device 108.
[0043] Next, details of the process in step S103 above will be described with reference to the flowchart in Fig. 3. In step S201, CPU 102 detects unique color information contained in the image data acquired in step S101, and registers the detected color information in a unique color list stored / preserved in RAM 103 or storage medium 104. The unique color list is initialized by CPU 102 at the start of the process in step S201 (emptying the unique color list).
[0044] The CPU 102 performs a color information detection process for each pixel included in the image data. The CPU 102 then determines whether the color information of the pixel is different from the unique color information detected up to that point, and if it determines that the color information of the pixel is unique color information, it registers the color information of the pixel in the unique color list. As a method of determination, it determines whether the color information of the target pixel is color information included in the unique color list, and if not, it registers the color information of the target pixel in the unique color list. Through such processing, it is possible to register the unique color information included in the image data in the unique color list.
[0045] In the above, if the image data is sRGB data, each has 256 gradations, and therefore unique color information is detected from a total of 16,777,216 colors, 256 x 256 x 256. In this case, the amount of color information becomes enormous, and the processing speed decreases. Therefore, the CPU 102 may detect unique color information discretely. For example, the number of colors may be reduced from 256 gradations to 16 gradations, and then the unique color information may be detected. When reducing the number of colors, it is sufficient to reduce the number of colors to the color information of the nearest grid. As described above, unique color information can be detected from a total of 4096 colors, 16 x 16 x 16, and the processing speed is improved.
[0046] In step S202, the CPU 102 detects the number of color-degenerated combinations of color information among the unique color information combinations included in the image data based on the unique color list generated in step S201. The process of step S202 will be described with reference to the schematic diagram of FIG.
[0047] A color gamut 401 is the color gamut of the input image data. A color gamut 402 is the color gamut of the image data generated from the input image data by gamut mapping in step S102. The input image data includes color information 403 and color information 404. The color information 405 is color information obtained by performing gamut mapping on the color information 403. The color information 406 is color information obtained by performing gamut mapping on the color information 404. If a color difference 408 between the color information 405 and the color information 406 is smaller than a color difference 407 between the color information 403 and the color information 404, it is determined that color degeneration occurs. The determination process is repeated the number of times corresponding to the number of combinations of color information registered in the unique color list. The Euclidean distance in the color space is used as a method for calculating the color difference. In this embodiment, the Euclidean distance in the CIE-L*a*b* color space (hereinafter, referred to as color difference ΔE) is used as a suitable example for explanation. Since the CIE-L*a*b* color space is a visually uniform color space, the Euclidean distance can be approximated to the amount of change in color information. Therefore, when the Euclidean distance in the CIE-L*a*b* color space is small, humans perceive the color information as being closer, and when it is large, humans perceive the color information as being farther apart. Color information in the CIE-L*a*b* color space is represented in a color space with three axes, L*, a*, and b*. Color information 403 is represented by L403, a403, and b403. Color information 404 is represented by L404, a404, and b404. Color information 405 is represented by L405, a405, and b405. Color information 406 is represented by L406, a406, and b406. If the input image data is represented in another color space, it is converted to the CIE-L*a*b* color space using a known technique. Color difference 407 (ΔE 407 ) and color difference 408 (ΔE 408 ) can be calculated according to the following (Equation 4) and (Equation 5), respectively.
[0048]
number
[0049] ΔE 408 is ΔE 407 If it is smaller than ΔE408 If the difference in color information is not large enough to distinguish the difference, it is determined that there is color degeneracy. This means that if the color information 405 and the color information 406 have a color difference that can be distinguished as different color information based on human visual characteristics, it can be determined that there is no need to correct the color difference. Based on visual characteristics, the color difference ΔE that can be distinguished as different color information is 2.0. In other words, ΔE 408 is ΔE 407 is smaller than ΔE 408 If it is smaller than 2.0, it may be determined that color degeneration occurs.
[0050] In step S203, CPU 102 determines whether or not the "number of combinations of color information that are color-degenerated" detected in step S202 is 0. If the result of this determination is that the "number of combinations of color information that are color-degenerated" is 0, processing proceeds to step S204. On the other hand, if the "number of combinations of color information that are color-degenerated" is not 0, it is determined that the image data requires color degeneration correction, and processing proceeds to step S205. In step S204, CPU 102 sets the image data to be excluded from color degeneration correction (no correction) since the image data does not require color degeneration correction.
[0051] On the other hand, color degeneration correction changes color information. Therefore, color changes occur even for combinations of color information that are not color degenerated, resulting in unnecessary color changes. Therefore, the need for color degeneration correction may be determined based on the total number of unique color information combinations and the number of color information combinations that are color degenerated. Specifically, it may be determined that color degeneration correction is necessary when the number of color information combinations that are color degenerated is more than half of the total number of unique color information combinations. In this way, the adverse effects of color changes caused by color degeneration correction can be suppressed.
[0052] In step S205, the CPU 102 performs color degeneration correction on the combination of colors that degenerate based on the image data, the image data after gamut mapping, and the gamut mapping table. Details of the process in step S205 will be described with reference to FIG.
[0053] Color information 403 and color information 404 are input color information included in the input image data. Color information 405 is color information obtained by converting color information 403 using gamut mapping. Color information 406 is color information obtained by converting color information 404 using gamut mapping. In FIG. 4, the combination of color information 403 and color information 404 indicates color degeneracy. Thus, color degeneracy can be corrected by separating color information 405 and color information 406 from each other by a color distance in a predetermined color space. Specifically, a correction process is performed to increase the color distance between color information 405 and color information 406 beyond the color distance at which the color information can be distinguished as different colors based on human visual characteristics. The color distance at which the color information can be distinguished as different colors based on visual characteristics is ΔE of 2.0 or more. More preferably, ΔE 407 It is desirable that the color degeneration correction process is approximately equal to that of the combinations of color information that are subject to color degeneration. The results of color degeneration correction for the number of combinations of color information are managed by storing the color information before and after correction in a table. In FIG. 4, the color information is color information in the CIE-L*a*b* color space. Therefore, it is also possible to convert the color information into the color space of the input image data and the output image data. In that case, the color information before correction in the color space of the input image data and the color information after correction in the color space of the output image data are stored in a table.
[0054] Next, the above-mentioned color degeneration correction will be described in detail. 408 The color difference correction amount 409 that widens the color difference ΔE is calculated from the above. The color difference ΔE that can be recognized as different color information due to visual characteristics is 2.0 and ΔE 408 The difference between the two is the color difference correction amount 409. More preferably, ΔE 407 and ΔE 408 The difference between these is the color difference correction amount 409. The result of correcting the color information 405 by the color difference correction amount 409 on the extension line of the color information 405 from the color information 406 in the CIE-L*a*b* color space is color information 410. The color information 410 is obtained by subtracting ΔE 408The color difference ΔE between the color information 406 and the color information 410 is the sum of the color difference ΔE and the color difference correction amount 409. In the above, the color information 406 is on an extension line from the color information 405, but this is not limited to this in the present embodiment. 408 As long as the color difference obtained by combining the amount of color difference correction 409 and the color difference correction amount 409 is different, the direction may be any of the lightness direction, saturation direction, and hue angle direction in the CIE-L*a*b* color space. Also, the direction may be a combination of the lightness direction, saturation direction, and hue angle direction, not just one direction. Furthermore, in the above, the color degeneration is corrected by changing the color information 405, but the color information 406 may be changed. Also, both the color information 405 and the color information 406 may be corrected. When correcting the color information 406, since it cannot be corrected to the outside of the color gamut 402, the color information 406 is corrected (moved) to the boundary surface of the color gamut 402. Then, the color degeneration correction may be performed by correcting the color information 405 for the insufficient color difference ΔE.
[0055] Next, in step S206, CPU 102 changes the gamut mapping table (GMTBL) using the result of the color degeneration correction performed in step S205. The gamut mapping table before the change is a table for converting color information 403, which is an input color, into color information 405, which is an output color. Based on the result of the color degeneration correction performed in step S205, the gamut mapping table is changed to a table in which color information 403, which is an input color, is converted into color information 410, which is an output color. The change of the gamut mapping table is repeated the number of times equal to the number of color combinations that are color degenerated.
[0056] In other words, when CPU 102 determines that the first color information included in a first region in the image data and the second color information included in a second region in the image data are a combination of color degenerate information, CPU 102 corrects the color conversion information so that the color difference between the first color information and the second color information before and after color conversion is within a predetermined color difference.
[0057] By carrying out the above-mentioned processing, the gamut mapping table after the color degeneration correction can be applied to the input image data, and the distance between colors can be increased for combinations of color information that are color degenerate among the unique color information combinations that the input image data has. As a result, color degeneration can be reduced for combinations of color information that are color degenerate. This is because, when the input image data is sRGB data, the gamut mapping table is created on the premise that the input image data has color information of 16,777,216 colors. The gamut mapping table created under this premise is created taking into consideration color degeneration and saturation even for color information that the input image data does not have. In this embodiment, the gamut mapping table can be corrected adaptively to the input image data by detecting color information that the input image data has. Then, a gamut mapping table limited only to color information that the input image data has can be created. As a result, suitable adaptive gamut mapping can be performed for the input image data, and color degeneration can be reduced.
[0058] In this embodiment, the processing in the case where the input image data is one page has been described, but the input image data may be multiple pages. When the input image data is multiple pages, the processing according to the flowchart in FIG. 2 may be performed for all pages. Furthermore, the processing according to the flowchart in FIG. 2 may be performed for each page. This makes it possible to reduce the degree of color degeneracy due to gamut mapping even when the input image data is multiple pages. However, when correction is performed for each page, the same processing is not necessarily performed for the same color information. Therefore, when color information of the same color exists on different pages in the original data, the color information may be corrected to different color information for each page according to the surrounding colors. When the color information is corrected to different color information, it may be misidentified as having different meanings in an original in which the color information is given meaning.
[0059] Fig. 16 shows the state of the original data before applying color reduction correction to each page, and Fig. 17 shows the result of applying color reduction correction to each page. Each original data contains objects with common color information. As an example, we will explain the correction of objects that exist on different original pages.
[0060] One is a pie chart object 1601 that exists on an original page 1600 and has input colors 1607, 1608, and 1609. The other is a pie chart object 1603 that exists on an original page 1602 and has input colors 1610, 1611, 1612, and 1613.
[0061] Objects 1601 and 1603 have a common input color. Input color 1607 is equal to input color 1610, input color 1608 is equal to input color 1611, and input color 1609 is equal to input color 1612. However, object 1603 has input color 1613 that object 1601 does not have. The results of performing color degeneration correction on objects 1601 and 1603 are pie chart object 1701 and pie chart object 1703 in original data 1700 and 1702, respectively, shown in FIG. 17. Input color 1607 in object 1601 is corrected to output color 1707, input color 1608 is corrected to output color 1708, and input color 1609 is corrected to output color 1709. Also, in the object 1603, the input color 1610 is corrected to the output color 1710, the input color 1611 to the output color 1711, the input color 1612 to the output color 1712, and the input color 1613 to the output color 1713. Here, the amount of correction is determined by the distribution of the input colors. Therefore, for example, it is assumed that the input color 1613 present only in the object 1603 is close to the input color 1612, and the input color 1612 is the target of the color degeneration correction. On the other hand, it is assumed that the same input color 1609 in the object 1601 is not the target of the color degeneration correction. In this case, the input color 1609 and the input color 1612 before the correction are the same color, but the output color 1709 and the output color 1712 after the correction are different colors. As a result, when the objects 1701 and 1703 are viewed individually, they are corrected to appropriate values from the viewpoint of distinguishability. However, for example, if a user sets input color 1609 and input color 1612 to the same color with the intention of expressing the same data even in different graphs, it is considered that it is more important that output color 1709 and output color 1712 are the same color rather than their distinguishability from other colors. In this way, a mismatch with user expectations due to correction processing becomes an issue. This is not limited to input color 1609 and input color 1612, but is similar to input color 1607 and input color 1610, and input color 1608 and input color 1611. Even if colors that are not exactly the same color in the data but have a difference of ΔE2.0 or less, which is considered to be indistinguishable from the naked eye, exist in different regions, they may be corrected to extremely different colors due to differences in color distribution in each region, and a similar issue occurs.
[0062] Fig. 18 shows a gamut mapping flow in this embodiment. In Fig. 18, the same process steps as those shown in Fig. 2 are given the same step numbers, and the description of those process steps will be omitted.
[0063] In step S501, the CPU 102 analyzes pages of the document data that have not yet been analyzed. In step S502, the CPU 102 determines whether or not color degeneration correction is necessary based on the results of the analysis in step S501. If it is determined that color degeneration correction is necessary, the process proceeds to step S503, and if it is determined that color degeneration correction is not necessary, the process proceeds to step S506.
[0064] Here, the criterion for determining that color degeneration correction is necessary may be when color degeneration occurs as a result of mapping the input colors in the page, or when color degeneration occurs at a predetermined rate or more in the input colors in the page. Here, it is assumed that color degeneration correction is necessary for all of original page 1600, original page 1602, and original page 1604.
[0065] In step S503, for the page determined to require color degeneration correction, the CPU 102 stores information (flag) indicating that the page requires color degeneration correction in the RAM 103 in association with the page.
[0066] In step S504, the CPU 102 creates a color degeneration-corrected TBL for the page for which it has been determined that color degeneration correction is necessary. The method of creating the color degeneration-corrected TBL is the same as in step S103.
[0067] In step S505, the CPU 102 applies the color degeneration corrected TBL created in step S504 to the page for which it is determined that color degeneration correction is required. In step S506, it is determined whether the analysis process in step S501 has been performed for all pages of the document data.
[0068] If it is determined that the analysis process of step S501 has been performed on all pages of the manuscript data, the process proceeds to step S507. On the other hand, if there are pages in the manuscript data that have not yet been subjected to the analysis process of step S501, the process proceeds to step S501.
[0069] In step S507, the CPU 102 performs color matching correction on the page for which it has been determined that color degeneration correction is necessary. Details of the process in step S507 will be described with reference to the flowchart in FIG.
[0070] 16, an object 1601 exists on an original page 1600, an object 1603 exists on an original page 1602, and an object 1605 and an object 1606 exist on an original page 1604. In step S503, information indicating that color degeneration correction is required for the original page 1600, the original page 1602, and the original page 1604 is stored in the RAM 103.
[0071] In step S601, the CPU 102 acquires information on the input color of each page for which color degeneration correction has been performed. Specifically, the CPU 102 acquires information on the input color, output color, and hue angle of the input color of each page for which color degeneration correction has been performed. An example of a list of information acquired for each page in step S601 is shown in FIG. 20.
[0072] Table 2001 is a list of information acquired from manuscript page 1600 , table 2002 is a list of information acquired from manuscript page 1602 , and table 2003 is a list of information acquired from manuscript page 1604 .
[0073] The information on the input color (input), output color (output), and hue angle is determined by the acquisition process in step S601. The information shown in the tabs "Common colors" and "Colors that are common colors" is determined in steps following step S601.
[0074] In step S602, the CPU 102 determines whether or not there is a color common to other pages in the input colors of each page that has been subjected to color degeneration correction. The common color may be the exact same color or a color within a predetermined color difference. An example of color difference calculation is shown below.
[0075] The color difference is calculated using Euclidean distance in a color space, and in this embodiment, as a suitable example, Euclidean distance in the CIE-L*a*b* color space (hereinafter, referred to as color difference ΔE) is used. Since the CIE-L*a*b* color space is a perceptually uniform color space, numerical color changes and differences in the CIE-L*a*b* color space can approximate changes perceived by the human eye. Take input color 1607, which is one of the input colors of original page 1601, and input color 1610, which is one of the input colors of original page 1602, as an example.
[0076] An input color 1607 is represented by L1607, a1607, and b1607 in the CIE-L*a*b* color space, and an input color 1610 is represented by L1610, a1610, and b1610. A color difference ΔE 1611 between the input color 1607 and the input color 1610 can be calculated according to the following (Equation 6).
[0077]
number
[0078] Color difference ΔE 1611 is 0, the input color 1607 and the input color 1610 are the same color and are determined to be common colors. 1611 However, if the difference in color is not large enough to distinguish it, the human eye cannot recognize it as a different color, so it can be determined that the input color 1607 and the input color 1611 are common colors. In terms of visual characteristics, the color difference ΔE that can be distinguished as different colors is 2.0. In other words, the color difference ΔE 1611is greater than or equal to 0 and less than or equal to 2.0, the colors are determined to be common colors. In this example, there are three common colors between manuscript page 1601 and manuscript page 1602, one common color between manuscript page 1601 and manuscript page 1604, and one common color between manuscript page 1602 and manuscript page 1604. An example of information obtained by this process is shown in FIG. 20.
[0079] The "Common Colors" tab in table 2001 indicates whether the corresponding input color is a common color, and the "Common Colors" tab indicates which input colors the input color is common to.
[0080] In step S603, the CPU 102 determines whether or not a page to be subjected to color matching correction exists. If there is no common color, it is determined that there is no page to be subjected to color matching correction, and the process proceeds to step S105. On the other hand, if there is a common color, it is determined that there is a page to be subjected to color matching correction, and the process proceeds to step S603.
[0081] As a criterion for determining which pages are to be subject to color matching correction, for example, pages with only one common color may be regarded as having a low degree of relevance, and pages with a certain number of common colors may be targeted. Also, pages may be subject to color matching when the similarity of the color histograms within the page is above a certain level.
[0082] In step S604, CPU 102 performs color matching correction on pages that contain a common color and that have been subjected to color degeneracy correction. In the example of Fig. 16, original page 1601, original page 1602, and original page 1604 are the targets, and color matching correction is performed on original page 1701, original page 1702, and original page 1704, which are the outputs thereof.
[0083] Note that original page 1604 contains object 1605 having input color 1614 and input color 1615, and object 1606 having input color 1616 and input color 1617. The results of performing color degeneration correction on object 1605 and object 1606 are object 1705 and object 1706 in original data 1704 shown in Fig. 17. Input color 1614 is corrected to output color 1714, input color 1615 is corrected to output color 1715, input color 1616 is corrected to output color 1716, and input color 1617 is corrected to output color 1717.
[0084] Here, an example of a specific correction method will be shown. In this example, there are three common color combinations: input color 1607·input color 1610, input color 1608·input color 1611, and input color 1609·input color 1612·input color 1615.
[0085] First, the output colors of the input color 1607 and the input color 1610 are the output color 1707 and the output color 1710, respectively, and the two output colors are corrected so that the color difference between the two output colors is within a predetermined color difference. In this embodiment, as a suitable example, the correction is performed within a color difference ΔE2.0, which is a value that can be identified as different colors. At this time, the standard for bringing the colors closer together may be the output color 1607, the output color 1610, or the average value of the output color 1607 and the output color 1610. This process is performed for all combinations of common colors. Here, by performing this process, the relationship between the other output colors that are not common colors and the output colors that are common colors that exist on each page may change, and in some cases, the effect of the color degeneration correction may be reduced. In response to this, the hues of the common colors and the output colors that are not common colors are obtained. If the hues are the same, the direction in which the output colors that are common colors have moved in the color space due to the color matching correction is obtained as a vector, and the vector is multiplied in the color space by the output colors that are not common colors. This maintains the relative positional relationship between the common color and the output color in the color space, making it possible to suppress a reduction in the effect of the color degeneration correction.
[0086] By the above-mentioned process, the input colors recognized as the same are corrected to the output colors recognized as the same while maintaining the relationship between the output colors present on each page as much as possible. As a result, the colors can be recognized as the same even on different pages in a document in which the colors are given meaning, while suppressing the decrease in the distinguishability between the output colors present on each page as much as possible.
[0087] In this embodiment, a judgment is made for each page of the document and a correction is made for the page, but a judgment may be made for a color degeneration-corrected TBL generated for each page, and color matching correction may be made for that TBL. A flowchart of the process in this case is shown in Fig. 21. In Fig. 21, the same step numbers are used for the same processing steps as those shown in Figs. 2 and 18, and the description of those processing steps will be omitted.
[0088] In step S701, the CPU 102 stores the color degeneration corrected TBL created in step S503 in the RAM 103 / storage medium 104. If the result of the determination in step S506 is that the analysis process in step S501 has been performed on all pages of the original data, the process proceeds to step S702. On the other hand, if there are pages in the original data that have not yet been subjected to the analysis process in step S501, the process proceeds to step S501.
[0089] In step S702, the CPU 102 performs color matching correction on the color degeneration-corrected TBL. Details of the process in step S702 will be described with reference to the flowchart in FIG.
[0090] In step S801, the CPU 102 detects a grid to be corrected in the color degeneration corrected TBL. Since the grids are common to all the color degeneration corrected TBLs, the grids having different output values for the same grid among the color degeneration corrected TBLs are detected as the grids to be corrected.
[0091] In step S802, the CPU 102 judges whether or not a grid to be corrected exists. The criterion for this judgment may be whether the color difference between the output colors of the TBL after different color degeneration correction is within a predetermined color difference, or whether the difference is even slight. If the result of this judgment is that a grid to be corrected exists, the process proceeds to step S803, and if no grid to be corrected exists, the process proceeds to step S505.
[0092] In step S803, the CPU 102 performs color matching correction on the TBL after color degeneration correction. A specific processing method will be described. For grids with different output colors in common grids between different TBL after color degeneration correction, correction is performed so that the color difference of the output colors falls within a predetermined color difference. In this embodiment, as a suitable example, correction is performed to within a color difference ΔE2.0, which is a color that can be identified as different colors. At this time, the standard for approximating the colors may be either TBL after color degeneration correction. Also, the average value of both TBL after color degeneration correction may be used.
[0093] 15 may be displayed on a display screen (not shown) of the image processing device 101 to enable various settings related to correction in response to user operations. User operations on the GUI are input by the user operating a user interface such as a keyboard, mouse, or touch panel connected to the image processing device 101, for example.
[0094] In "Color correction," radio buttons are provided to enable the setting of performing driver correction (first row), performing ICM correction (second row), or performing no correction (third row), and the setting corresponding to the radio button selected by the user's operation is made.
[0095] "Adaptive gamut mapping" has radio buttons that allow the user to set whether gamut mapping is performed (first row) or not (second row), and the setting corresponding to the radio button selected by the user is made.
[0096] Note that the above-described GUI configuration, setting contents, setting methods, GUI operation methods, devices for displaying the GUI, etc. are merely examples and are not intended to be limiting.
[0097] [Second embodiment] In the following embodiments including this embodiment, the difference from the first embodiment will be described, and unless otherwise specified, it is assumed that the embodiment is the same as the first embodiment. In the above-mentioned first embodiment, color degeneration correction is performed for each single color. Therefore, depending on the combination of color information in the input image data, the degree of color degeneration is reduced, but a change in color tone may occur. Specifically, when color degeneration correction is performed on two color information with different hue angles, if the color information is changed by changing the hue angle, the color tone will be different from the color tone of the color information in the input image data. For example, if color degeneration correction is performed on blue and purple colors by changing the hue angle, the purple color will change to red. If the color tone changes, the user may be reminded of a device problem such as poor ink ejection.
[0098] In the first embodiment described above, the color degeneration correction is repeated for the number of combinations of unique color information that the input image data has. Therefore, the distance between the color information can be reliably increased. However, when the number of combinations of unique color information that the input image data has increases, the distance between the color information may become smaller with respect to other unique color information after the change as a result of changing the color information to increase the distance between the color information. Therefore, the CPU 102 needs to repeat the color degeneration correction in step S205 so that the expected distance between the color information is obtained for all combinations of unique color information that the input image data has. However, the processing to increase the distance between the color information becomes enormous, so the processing time increases. In this embodiment, the color degeneration correction is performed in the same correction direction for multiple unique color information as one color information group for each predetermined hue angle. In order to correct multiple unique color information as one color information group, a unique color information serving as a reference is selected from the color information group. The correction direction is limited to the lightness direction, so that the change in color tone can be suppressed. By correcting a plurality of unique color information as one color information group, it becomes unnecessary to process all combinations of color information contained in the input image data, and processing time can be reduced.
[0099] FIG. 5 is a schematic diagram for explaining the color degeneration judgment process in this embodiment, and is a diagram showing two axes, the a* axis and the b* axis, in the CIE-L*a*b* color space, in a plane (a*b* plane). The hue range 501 represents a range in which a plurality of unique color information within a predetermined hue angle is treated as one color information group. In FIG. 5, the hue angle of 360 degrees is divided into six equal parts, so the hue range 501 represents a range from 0 degrees to 60 degrees. The hue range is preferably a hue range that can be recognized as the same color. For example, the hue angle in the CIE-L*A*B* color space is in units of 30 degrees to 60 degrees. When it is 60 degrees, it is possible to separate six colors, red, green, blue, cyan, magenta, and yellow. When it is 30 degrees, it is also possible to separate by color information between the color information separated by 60 degrees. As shown in FIG. 5, the hue range may be determined fixedly. It may also be determined by unique color information included in the input image data. The CPU 102 detects the number of color information combinations that are color degenerate within the hue range 501 by the above-mentioned process for the unique color information combinations that the input image data has. In FIG. 5, color information 504, color information 505, color information 506, and color information 507 represent input colors. In FIG. 5, it is determined whether or not color degeneration occurs for the combinations of four color information, color information 504, color information 505, color information 506, and color information 507. This process is repeated for all hue ranges. In this way, the number of color information combinations that are color degenerate for each hue range can be detected. In FIG. 5, six combinations of color information that are color degenerate are detected. In this embodiment, the hue range is set for every 60 degrees of hue angle, but this is not limited to this. For example, the hue range may be determined for every 30 degrees of hue angle, or the hue range may be determined without dividing equally. Preferably, the range of hue angles is set as the hue range so as to be visually uniform. Since color information in the same color information group is visually perceived as the same color information, color degeneration correction can be performed on the same color information. Furthermore, for each hue range, the number of combinations of color information that are color degenerated in two hue ranges, including adjacent hue ranges, may be detected.
[0100] FIG. 6 is a schematic diagram for explaining the color degeneration correction process in this embodiment. FIG. 6 is a diagram showing two axes, the L* axis and the C* axis in the CIE-L*a*b* color space, in a plane. L* represents lightness, and C* represents saturation. In FIG. 6, color information 601, color information 602, color information 603, and color information 604 are input colors. Color information 601, color information 602, color information 603, and color information 604 represent color information included within the range (hue angle range) of the hue range 501 in FIG. 5. Color information 605 is color information obtained after the color information 601 is color-converted by gamut mapping. Color information 606 is color information obtained after the color information 602 is color-converted by gamut mapping. Color information 607 is color information obtained after the color information 603 is color-converted by gamut mapping. Color information 604 after color conversion by gamut mapping represents the same color information.
[0101] First, the CPU 102 determines unique color information that serves as the basis for the color degeneration correction process for each hue range. As a suitable example, the maximum lightness color, the minimum lightness color, and the maximum saturation color are determined as the reference colors. In Fig. 6, color information 601 is the maximum lightness color, color information 602 is the minimum lightness color, and color information 603 is the maximum saturation color.
[0102] Next, the CPU 102 calculates a correction factor R from the number of unique color information combinations and the number of color-degenerated color information combinations in the target hue range for each hue range. A suitable calculation formula is shown below.
[0103] Correction rate R = number of degenerate color information combinations / number of unique color information combinations The correction rate R is smaller if the number of combinations of color information that are color-degenerated is smaller, and is larger if the number of combinations of color information that are color-degenerated is larger. As described above, the more combinations of color information that are color-degenerated, the stronger the color degeneration correction can be applied. In FIG. 6, it is shown that there are four colors within the range of the hue range 501 in FIG. 5. Therefore, the number of unique combinations of color information is six. Of these, the number of combinations of color information that are color-degenerated is four. In this case, the correction rate R is 0.667. In FIG. 6, all combinations are color-degenerated by gamut mapping. However, even after gamut mapping, if the difference is greater than the minimum distinguishable color difference, the color information is not considered to be color-degenerated. Therefore, the combinations of color information 604 and color information 603, and color information 604 and color information 602 are not considered to be color-degenerated color information. The minimum distinguishable color difference ΔE is 2.0.
[0104] Next, the CPU 102 calculates a correction amount for each hue range from the correction rate R, the maximum lightness color, the minimum lightness color, and the maximum saturation color. As the correction amount, a correction amount Mh on the side brighter than the maximum saturation color and a correction amount Ml on the side darker than the maximum saturation color are calculated.
[0105] Color information 601, which is the maximum lightness color, is represented as L601, a601, and b601. Color information 602, which is the minimum lightness color, is represented as L602, a602, and b602. Color information 603, which is the maximum saturation color, is represented as L603, a603, and b603. A suitable correction amount Mh is a value obtained by multiplying the color difference ΔE between the maximum lightness color and the maximum saturation color by a correction rate R. A suitable correction amount Ml is a value obtained by multiplying the color difference ΔE between the maximum saturation color and the minimum lightness color by a correction rate R. The calculation formulas for the correction amounts Mh and Ml are shown in the following (Formula 7) and (Formula 8), respectively.
[0106]
number
[0107] As described above, the color difference ΔE to be retained after gamut mapping can be calculated. The color difference ΔE to be retained after gamut mapping is the color difference ΔE before gamut mapping. In FIG. 6, the correction amount Mh is a value obtained by multiplying the color difference ΔE 608 by the correction rate R, and the correction amount Ml is a value obtained by multiplying the color difference ΔE 609 by the correction rate R. Furthermore, if the color difference ΔE before gamut mapping is larger than the minimum distinguishable color difference, the color difference ΔE to be retained may be larger than the minimum distinguishable color difference ΔE. By processing as described above, the color difference ΔE reduced by gamut mapping can be restored to a distinguishable color difference ΔE. Furthermore, the color difference ΔE to be retained may be the color difference ΔE before gamut mapping. In this case, it is possible to approach the ease of distinction before gamut mapping. Furthermore, the color difference ΔE to be retained may be larger than the color difference before gamut mapping. In this case, it is possible to make it easier to distinguish than before gamut mapping.
[0108] Next, CPU 102 generates a color degeneration post-correction table for each hue range. The color degeneration post-correction table is a correction table for expanding the lightness in the lightness direction based on the lightness of the maximum saturation color, the correction amount Mh, and the correction amount Ml. In FIG. 6, the lightness of the maximum saturation color is the lightness L603 of the color information 603. The correction amount Mh is the color difference ΔE608. The correction amount Ml is the color difference ΔE609. A method for creating a table that expands the lightness in the lightness direction will be described below.
[0109] The correction table that expands the lightness in the lightness direction is a 1DLUT (one-dimensional lookup table). The input is the lightness before correction, and the output is the lightness after correction. The lightness after correction is determined by three points: the minimum lightness after correction, the lightness of the maximum saturation color after gamut mapping, and the maximum lightness after correction. The maximum lightness after correction is the lightness obtained by adding a correction amount Mh to the lightness of the maximum saturation color after gamut mapping. The minimum lightness after correction is the lightness obtained by subtracting a correction amount Ml from the lightness of the maximum saturation color after gamut mapping. The table that expands the lightness in the lightness direction is created by linearly changing the minimum lightness after correction and the lightness of the maximum saturation color after gamut mapping, and linearly changing the lightness of the maximum saturation color after gamut mapping to the minimum lightness after correction. In FIG. 6, the maximum lightness before correction is the lightness L601 of the color information 601, which is the maximum lightness color. The minimum lightness before correction is the lightness L602 of the color information 602, which is the minimum lightness color. The lightness of the maximum saturation color after gamut mapping is the lightness L607 of the color information 607. The maximum lightness after correction is the lightness L610 obtained by adding the color difference ΔE608, which is the correction amount Mh, to the lightness L607. The minimum lightness after correction is the lightness L611 obtained by subtracting the color difference 609, which is the correction amount Ml, from the lightness L607. FIG. 7 shows a correction table for expanding the lightness in the lightness direction in FIG. 6. In this embodiment, as a suitable example, the color degeneration correction is performed by converting the color difference ΔE to a lightness difference. In terms of visual characteristics, the lightness difference is highly sensitive. Therefore, by converting the saturation difference to a lightness difference, even a small lightness difference can be perceived as having a color difference ΔE in terms of visual characteristics. In addition, in terms of the relationship between the sRGB color gamut and the color gamut of the recording device 108, the lightness difference is smaller than the saturation difference. Therefore, by converting to a lightness difference, the narrow color gamut can be effectively utilized. In this embodiment, as a suitable example, the lightness of the maximum saturation color is not changed. As described above, the most saturated color is not changed, so the color difference ΔE can be corrected while maintaining saturation. Correction of values greater than the maximum brightness and less than the minimum brightness can be indefinite, since they are not included in the input image data. When using an interpolated correction table, values greater than the maximum brightness and less than the minimum brightness are also referenced, so values can be set to result in a linear change, as shown in Figure 7.As described above, the capacity of the correction table can be reduced by reducing the number of grids, and the processing time required for transferring the correction table can be reduced.
[0110] Moreover, if the maximum brightness after correction exceeds the maximum brightness of the color gamut after gamut mapping, the CPU 102 performs maximum value clipping processing. In the maximum value clipping processing, the difference between the maximum brightness after correction and the maximum brightness of the color gamut after gamut mapping is subtracted from the entire correction table. In this case, the brightness of the maximum saturation color after gamut mapping is also changed to the low brightness side. As described above, if the unique color information of the input image data is biased toward the high brightness side, the color difference ΔE can be improved by also using the brightness gradation on the low brightness side. Furthermore, if the minimum brightness after correction is lower than the minimum brightness of the color gamut after gamut mapping, the CPU 102 performs minimum value clipping processing. In the minimum value clipping processing, the difference between the minimum brightness after correction and the minimum brightness of the color gamut after gamut mapping is added to the entire correction table. As described above, if the color information of the input image data is biased toward the low brightness side, the color degeneration can be reduced by also using the brightness gradation on the high brightness side.
[0111] Next, CPU 102 applies the color degeneration correction table created for each hue range to the gamut mapping table. First, it determines which hue angle of the color degeneration correction table to apply based on the color information of the output color of the gamut mapping. For example, if the hue angle of the output color of the gamut mapping is 25 degrees, it applies the color degeneration correction table of hue range 501 in FIG. 5. Then, it applies the determined color degeneration correction table to the output color of the gamut mapping table for correction. The corrected color information is set as the new output color after gamut mapping.
[0112] As described above, by applying the color degeneration correction table created based on the reference color to color information other than the reference color, the correction direction is limited to the lightness direction, thereby suppressing changes in color tone. Furthermore, it is no longer necessary to perform color degeneration correction processing for all unique combinations of color information contained in the input image data, thereby reducing processing time.
[0113] Furthermore, the color degeneration correction table of adjacent hue ranges may be blended according to the hue angle of the output color of the gamut mapping. For example, when the hue angle of the output color of the gamut mapping is Hn degrees, the color degeneration correction table of the hue range 501 and the color degeneration correction table of the hue range 502 are blended. Specifically, the lightness value of the output color after the gamut mapping is corrected with the color correction table of the hue range 501 to obtain the lightness value Lc501. The lightness value of the output color after the gamut mapping is corrected with the color correction table of the hue range 502 to obtain the lightness value Lc502. The angle H501 is the intermediate hue angle of the hue range 501, and the angle H502 is the intermediate hue angle of the hue range 502. The corrected lightness value Lc501 and the corrected lightness value Lc502 are interpolated according to the hue angle of the output value after the gamut mapping according to each hue angle. The formula for calculating Lc is the following (Formula 9).
[0114]
number
[0115] As described above, by blending the color degeneration correction table to be applied depending on the hue angle, it is possible to reduce the abrupt change in correction strength due to a change in hue angle. If the color space of the corrected color information is different from the color space of the output color after gamut mapping, the color space is converted to make it the output color after gamut mapping. For example, if the color space of the corrected color information is the CIE-L*a*b* color space, a search is performed to make it the output color after gamut mapping.
[0116] Furthermore, if the corrected value is outside the color gamut after gamut mapping, mapping is performed to the color gamut after gamut mapping. A suitable mapping method is color difference minimum mapping that prioritizes lightness and hue. Color difference minimum mapping that prioritizes lightness and hue calculates the color difference ΔE by the following calculation formula (Formula 10). Let Ls, as, and bs be the color information of the color that exceeds the color gamut in the CIE-L*a*b* color space. Let Lt, at, and bt be the color information of the color within the color gamut after gamut mapping. Let ΔL be the lightness difference, ΔC be the saturation difference, and ΔH be the hue difference. Let Wl be the lightness weight, Wc be the saturation weight, Wh be the hue angle weight, and ΔEw be the weighted color difference. In this case, the formulas for calculating the weighted color difference ΔEw are the following (Formula 11) to (Formula 14).
[0117]
number
[0118] Because the color difference ΔE has been extended in the lightness direction, color degeneration correction can be performed more correctly by mapping with more importance placed on lightness than on saturation. In other words, the lightness weight Wl is greater than the saturation weight Wc. Furthermore, because hue has a large effect on color, mapping with more importance placed on hue than lightness and than saturation can minimize the change in color before and after correction. In other words, the hue weight Wh is greater than or equal to the lightness weight Wl and greater than the saturation weight Wc. As described above, the color difference ΔE can be corrected while maintaining the color.
[0119] Furthermore, the color space may be converted when performing color difference minimum mapping. It is known that the color change in the saturation direction is not equal to the hue in the CIE-L*a*b* color space. Therefore, if the change in the hue angle is suppressed by increasing the weight of the hue, the color is not mapped to a color of equal hue. Therefore, the color space may be converted to one in which the hue angle is bent so that the color change in the saturation direction is equal to the hue. As described above, even if weighted color difference minimum mapping is performed, the change in color can be suppressed. In FIG. 6, color information 605 after gamut mapping for color information 601 is corrected to color information 612 by the color degeneration correction table. Since color information 612 exceeds the color gamut 616 after gamut mapping, it is mapped to the color gamut 616. Color information 612 is mapped to color information 614. As a result, when the input of the corrected gamut mapping table is color information 601, the output is color information 614.
[0120] In this embodiment, a color degeneration correction table is created for each hue range. A color degeneration correction table may be created by combining adjacent hue ranges. Specifically, the number of combinations of color information that are color degenerated in the hue range 501 and the hue range 502 in FIG. 5 is detected. Next, the number of combinations of color information that are color degenerated in the hue range 502 and the hue range 503 is detected. By detecting one hue range by overlapping it, it is possible to suppress a sharp change in the number of combinations of color information that are color degenerated when crossing the hue range. In this case, a suitable hue range is preferably a hue angle range in which the two hue ranges can be combined and recognized as the same color information. For example, the hue angle in the CIE-L*A*B* color space is 30 degrees. In other words, one hue angle range is 15 degrees. In this way, it is possible to suppress a sharp change in correction strength across the hue range.
[0121] In this embodiment, a color difference ΔE is corrected in the lightness direction by treating a plurality of unique color information as one color information group. As a visual characteristic, the sensitivity to lightness difference differs depending on saturation. The sensitivity to lightness difference of low saturation is higher than that of high saturation. Therefore, the correction amount in the lightness direction may be controlled by the saturation value. In low saturation, the correction amount is small, and in high saturation, the correction amount is the above-mentioned correction amount. Specifically, when the color degeneration corrected table is applied to the gamut mapping table, the lightness value Ln before correction and the lightness value Lc after correction are divided internally by the saturation correction rate S as shown in the following (Equation 16). The saturation correction rate S is calculated by the saturation value Sn of the output color of the gamut mapping and the maximum saturation value Sm of the color gamut after gamut mapping at the hue angle of the output color of the gamut mapping as shown in the following (Equation 15).
[0122]
number
[0123] Furthermore, the amount of correction may be set to zero in the low saturation color gamut. As described above, color change on the gray axis can be suppressed. As described above, color degeneration correction can be performed according to visual sensitivity, so overcorrection can be suppressed.
[0124] [Third embodiment] In the second embodiment described above, color degeneration correction is performed for each hue range. Therefore, when the color information of the input image data has different hue angles and the brightness difference after gamut mapping is low, discrimination may decrease. When the color information is high saturation and the hue angle is different, the distance between the color information is sufficient to be discriminated even after gamut mapping. However, when the brightness difference is low, discrimination becomes difficult. In this embodiment, when the brightness difference after gamut mapping is reduced to a predetermined color difference ΔE or less, a correction is performed to increase the brightness difference, thereby suppressing the deterioration of discrimination.
[0125] The color degeneracy judgment process in this embodiment will be described. In step S202 in this embodiment, the CPU 102 detects the number of combinations of color information that are lightness degenerated among the combinations of unique color information included in the image data based on the unique color list generated in step S201. The process of step S202 in this embodiment will be described with reference to the schematic diagram of FIG.
[0126] The vertical axis in FIG. 8 is the lightness L in the CIE-L*a*b* color space. The horizontal axis is the projection onto an arbitrary hue angle plane. A color gamut 801 is the color gamut of the input image data. A color gamut 802 is the color gamut after gamut mapping in step S102. The input image data includes color information 803 and color information 804. The color information 805 is the color information after the color information 803 is color converted by gamut mapping. The color information 806 is the color information after the color information 804 is color converted by gamut mapping. If the lightness difference 808 between the color information 805 and the color information 806 is smaller than the lightness difference 807 between the color information 803 and the color information 804, it is determined that the lightness difference has decreased. This is repeated as many times as the number of combinations of unique color information included in the image data. The lightness difference in the CIE-L*a*b* color space is a suitable method for calculating the lightness difference. Color information in the CIE-L*a*b* color space is represented by a three-axis color space of L*, a*, and b*. Color information 803 is represented by L803, a803, and b803. Color information 804 is represented by L804, a804, and b804. Color information 805 is represented by L805, a805, and b805. Color information 806 is represented by L806, a806, and b806. If the input image data is represented in another color space, it is converted to the CIE-L*a*b* color space using a known technique. The calculation formulas for the lightness difference ΔL807 and the lightness difference ΔL808 are the following (Formula 17) and (Formula 18), respectively.
[0127]
number
[0128] When the lightness difference ΔL808 is smaller than the lightness difference ΔE807, it is determined that the lightness difference has decreased. Furthermore, when the lightness difference ΔL808 is not large enough to distinguish the color difference, it is determined that the color has degenerated. This means that if the color information 805 and the color information 806 have a lightness difference large enough to distinguish them as different colors based on human visual characteristics, it can be determined that there is no need to correct the lightness difference. An example of a lightness difference ΔL that can distinguish them as different colors based on visual characteristics is 0.5. In other words, when the lightness difference ΔL808 is smaller than the lightness difference ΔL807 and when the lightness difference ΔL808 is smaller than 2.0, it may be determined that the lightness difference has decreased.
[0129] Next, the color degeneration correction process in step S205 in this embodiment will be described with reference to Fig. 8. The CPU 102 calculates a correction factor T from the number of unique color information combinations in the input image data and the number of color information combinations with reduced brightness difference. A suitable calculation formula is shown below.
[0130] Correction rate T = number of color information combinations with reduced brightness difference / number of unique color information combinations The correction rate T is smaller if the number of combinations of color information with reduced brightness difference is small, and is larger if the number of combinations of color information with reduced brightness difference is large. As described above, the more combinations of color information with reduced brightness difference there are, the stronger the color degeneration correction can be applied.
[0131] Next, brightness difference correction is performed based on the correction rate T and the brightness before gamut mapping. The brightness Lc after brightness difference correction is the value obtained by internally dividing the difference between the brightness Lm before gamut mapping and the brightness Ln after gamut mapping by the correction rate T. The calculation formula is as follows:
[0132] Lc = Tx (Lm - Ln) + Ln The above brightness difference correction is repeated the number of times equal to the number of unique color information in the input image data. In FIG. 8, brightness L803 of color information 803 and brightness L805 of color information 805 are corrected for brightness difference using a correction rate T. This results in color information 809. Since color information 809 is outside the gamut after gamut mapping, the above-mentioned search is performed and it is mapped to color information 810 within the gamut after gamut mapping. The same process is performed for color information 804. As described above, gamut mapping with wider brightness difference can be performed on the colors included in the image data, and the degree of color degeneration due to gamut mapping can be reduced.
[0133] This embodiment may be performed simultaneously with the second embodiment. In that case, the brightness difference correction process is performed on the reference color of the color degeneration correction process. By correcting the brightness difference of the reference color, it is also possible to process the brightness difference correction of other color information. As described above, it is possible to reduce color degeneration and the decrease in brightness difference due to gamut mapping, and further reduce changes in color tone.
[0134] [Fourth embodiment] In the first, second and third embodiments described above, the processing is performed on the entire input image data. The color information included in the input image data may have different meanings even if it is the same color information. For example, the color information used in the graph and the color information used as part of the gradation have different meanings in terms of identification. For the color information used in the graph, it is important to distinguish it from other color information in the graph, so it is necessary to perform strong color degeneration correction. However, for color information used as part of the gradation, it is important to perform weak color degeneration correction because the gradation with the color information of the surrounding pixels becomes important. There are cases where these two pieces of color information are the same color information and are corrected at the same time. In that case, if the color degeneration correction of the color information in the graph is emphasized, the color degeneration correction is applied strongly and the gradation in the gradation is impaired. On the other hand, if the gradation in the gradation is emphasized, the color degeneration correction is applied weakly and the identification of the color information in the graph is impaired. Furthermore, the number of unique combinations of color information that reduce the degree of color degeneration increases, and the reduction effect decreases. This is remarkable when the input image data is multiple pages and the color degeneration correction process is performed on the entire multiple pages. Even if the input image data is for one page, the color degeneration correction process is performed on the entire page, so the same problem occurs.
[0135] In this embodiment, by setting multiple regions even for multiple pages, color degeneration correction processing can be performed independently for each region. Then, the color degeneration correction processing of the target color information can be performed with an appropriate correction strength according to the surrounding color information. As described above, color information in a graph can be corrected with emphasis on distinctiveness, and color information in a gradation can be corrected with emphasis on gradation.
[0136] Fig. 9 shows a flow chart of a series of processes in this embodiment, in which a region is set for a single page, and then color degeneration correction is performed for each region. It shows the flow of processing. In Fig. 9, the same process steps as those in Fig. 2 are given the same step numbers, and the description of those process steps is omitted.
[0137] In step S303, the CPU 102 sets an area for the input image data. Details of step S303 will be described later. In step S304, the CPU 102 selects an unselected area from the areas set in step S303 as a selected area, and creates the above-mentioned color degeneration corrected TBL for the selected area. Then, in step S305, the CPU 102 applies the color degeneration corrected TBL created in step S304 for the selected area to the selected area to perform correction.
[0138] In step S306, CPU 102 determines whether or not all of the areas set in step S303 have been selected as selected areas. If the result of this determination is that all of the areas set in step S303 have been selected as selected areas, the process proceeds to step S105. On the other hand, if any areas set in step S303 remain that have not yet been selected as selected areas, the process proceeds to step S304.
[0139] Here, the area setting process in step S303 above will be described in detail. Fig. 10 is a diagram for explaining an example of a page of input image data input in step S101 of Fig. 9 in this embodiment. Here, it is assumed that the data (document data) of page 1000 illustrated in Fig. 10 is described in PDL. PDL is an abbreviation for Page Description Language, and is composed of a set of drawing commands on a page-by-page basis. The types of drawing commands are defined for each PDL specification, but in this embodiment, the following three types are used as an example.
[0140] Command 1) TEXT drawing command (X1, Y1, color, font information, string information) Command 2) BOX drawing command (X1, Y1, X2, Y2, color, fill shape) Command 3) IMAGE drawing command (X1, Y1, X2, Y2, image file information) Other drawing commands may be used as appropriate depending on the application, such as a DOT drawing command for drawing a point, a LINE drawing command for drawing a line, a CIRCLE drawing command for drawing an arc, etc. For example, a general PDL such as PDF (Portable Document Format) proposed by Adobe (registered trademark), XPS proposed by Microsoft (registered trademark), or HP-GL / 2 proposed by HP (registered trademark) may be used.
[0141] 10 represents one page, and as an example, the number of pixels is 600 pixels wide and 800 pixels high. An example of a PDL corresponding to the document data of page 1000 in FIG.
[0142] <PAGE=001> <text> 50,50,550,100,BLACK,STD-18,"ABCDEFGHIJKLMNOPQR"< / text> <text> 50,100,550,150,BLACK,STD-18,"abcdefghijklmnopqrstuv"< / text> <text> 50,150,550,200,BLACK,STD-18,"1234567890123456789"< / text> <box> 50,350,200,550,GRAY,STRIPE< / box> 250,300,580,700,“PORTRAIT.jpg” <PAGE=001> is a tag that indicates the number of pages in this embodiment. Normally, PDL is designed to be able to describe multiple pages, so tags that indicate page breaks are described in the PDL. In this example, up to indicates that this is the first page. In this embodiment, this corresponds to page 1000 in FIG. 10. If there is a second page, the above PDL is followed by<PAGE=002> will be described.
[0143] The second line <text> From the third line< / text> This is drawing command 1, which corresponds to the first line of area 1001 in Figure 10. The first two coordinates indicate the coordinates (X1, Y1) of the upper left corner of the drawing area, and the next two coordinates indicate the coordinates (X2, Y2) of the lower right corner of the drawing area. Next, it is written that the color is BLACK (black: R=0, G=0, B=0), the font is "STD" (standard), the character size is 18 points, and the string to be written is "ABCDEFGHIJKLMNOPQR".
[0144] The fourth line <text> From the 5th line< / text> The above is drawing command 2, which corresponds to the second line of area 1001 in Fig. 10. The first four coordinates and two character strings indicate the drawing area, character color, and character font, respectively, just like command 1, and state that the character string to be written is "abcdefghijklmnopqrstuv".
[0145] Line 6 <text> From the 7th line< / text> The first four coordinates and two character strings indicate the drawing area, text color, and text font, just like drawing command 1 and drawing command 2, and state that the text string to be written is "1234567890123456789".
[0146] Line 8 <box> from< / box> The above is drawing command 4, which corresponds to area 1002 in FIG. 10. The first two coordinates indicate the upper left coordinates (X1, Y1) which are the drawing start point, and the next two coordinates indicate the lower right coordinates (X2, Y2) which are the drawing end point. Next, a color of GRAY (gray: R=128, G=128, B=128) and a fill shape of STRIPE, which is a striped pattern, are specified. In this embodiment, the direction of the stripes is a line in the lower right direction, but the angle and period of the lines may also be specified in the BOX command.
[0147] Next, from line 9 to line 10 The IMAGE commands from to correspond to area 1003 in Fig. 10. The first two coordinates indicate the upper left coordinates (X1, Y1) of the drawing start point, and the next two coordinates indicate the lower right coordinates (X2, Y2) of the drawing end point. Next, it is written that the file name of the image existing in area 1003 is "PORTRAIT.jpg", which indicates that it is a JPEG file, a commonly used image compression format. And the statement on line 11 indicates that drawing of the page has ended.
[0148] In actual PDL files, in addition to the above group of drawing commands, there are cases where the "STD" font data and the "PORTRAIT.jpg" image file are also included as one file. This is because when the font data and image files are managed separately, the character and image portions cannot be formed with drawing commands alone, and there is insufficient information to form the image in Figure 10. Also, area 1004 in Figure 10 is an area where no drawing commands exist, and is blank.
[0149] In the case of a document page described in PDL such as page 1000 in Fig. 10, the area setting process in step S303 in Fig. 9 can be realized by analyzing the above PDL. Specifically, the start and end points of the drawing Y coordinates of each drawing command are as follows, and are continuous in area.
[0150] Drawing command Y start point Y end point First TEXT command 50 100 Second TEXT instruction 100 150 Third TEXT instruction 150 200 BOX instruction 350 550 IMAGE instruction 300 700 We can also see that the BOX and IMAGE commands are both 100 pixels away from the TEXT command in the Y direction. Next, the start and end points of the drawing X coordinates for the BOX and IMAGE commands are as follows, and we can see that they are 50 pixels away in the X direction.
[0151] Drawing command X start point X end point BOX instruction 50 200 IMAGE instruction 250 580 Based on the above, three areas can be set as follows:
[0152] Area X start point Y start point X end point Y end point First area 50 50 550 200 Second area 50 350 200 550 Third area 250 300 580 700 In addition to the above-described configuration in which the area is set by analyzing the PDL, the area may be set using the drawing result. Such a configuration will be described below. Fig. 11 is a flow chart showing the process of setting the area in units of tiles in step S303.
[0153] In step S401, the CPU 102 divides the page into a plurality of unit tiles. In this embodiment, the page is divided into "unit tiles each having a size of 30 pixels vertically and horizontally", but the size of the unit tiles is not limited to a specific size. First, the CPU 102 sets an array Area_number
[20]
[27] for holding area numbers to be set for each unit tile. As described above, the page is 600×800 pixels, and there are 20 unit tiles in the horizontal (X) direction and 27 in the vertical (Y) direction, each having a size of 30 pixels vertically and horizontally.
[0154] Fig. 12 is a diagram showing an image of tile settings for a page in this embodiment. A page 1200 in Fig. 12 represents the entire page. An area 1201 in Fig. 12 is an area drawn in accordance with a TEXT drawing command, an area 1202 is an area drawn in accordance with a BOX drawing command, an area 1203 is an area drawn in accordance with an IMAGE drawing command, and an area 1204 is an area that is not drawn at all.
[0155] In step S402, CPU 102 determines for each unit tile whether the unit tile is a blank tile. As described above, this determination may be made based on the start and end points of the XY coordinates of the drawing command, or tiles in which all pixel values in the actual unit tile are R=G=B=255 may be detected as blank tiles. Whether to make the determination based on the drawing command or the pixel values may be determined based on the processing speed and detection accuracy. In step S403, CPU 102 sets the initial values of each value as follows:
[0156] Set the area number "0" for the unit tiles that are determined to be blank tiles in step S402. Set the area number "-1" for unit tiles that were not determined to be blank tiles (determined to be non-blank tiles) in step S402 - Set the maximum area number to "0" Specifically, set it as follows:
[0157] Blank tile(x1,y1) :area_number[x1][y1]=0 Non-blank tile(x2,y2):area_number[x1][y1]=-1 Maximum area number: max_area_number=0 That is, at the completion of the process of step S402, "0" or "-1" is set as the area number for all unit tiles. In step S404, CPU 102 searches for a unit tile with "-1" set as the area number. Specifically, CPU 102 determines whether area_number[x][y]=-1 for the range of x=0 to 19 and y=0 to 26, and searches for a unit tile corresponding to a combination of x and y that satisfies area_number[x][y]=-1 as a blank tile. When a unit tile with an area number of "-1" is detected for the first time, the process proceeds to step S405.
[0158] In step S405, CPU 102 determines whether or not there is a unit tile with "-1" set as its area number. If the result of this determination is that there is a unit tile with "-1" set as its area number, the process proceeds to step S406. On the other hand, if there is no unit tile with "-1" set as its area number, the process proceeds to step S410.
[0159] In step S406, the CPU 102 increments the maximum area number value by 1, and sets the area number of the unit tile determined to be a blank tile to the updated maximum area number value. Specifically, if area_number[x3][y3]=-1, the following process is performed.
[0160] max_area_number=max_area_number+1 area_number[x3][y3]=max_area_number For example, since this is the first time that the process of step S406 is executed and detection is performed for the first time, the maximum area number value is "1", and therefore the area number of this tile is set to "1". After that, max_area_number is incremented by 1 each time step S406 is executed. After that, in steps S407 to S409, the process of expanding consecutive non-blank tiles into the same area is performed.
[0161] In step S407, CPU 102 searches for a unit tile whose area number is -1 and is adjacent to the unit tile with the maximum area number. Specifically, the following determination is made for the range of x=0 to 19 and y=0 to 26.
[0162] if (area_number[x][y]=max_area_number) if((area_number[x-1][y]=-1)or (area_number[x+1][y]=-1)or (area_number[x][y-1]=-1)or (area_number[x][y+1]=-1)) → An adjacent tile with area number "-1" was found. else → No adjacent tiles with region number "-1" are found When the search in step S407 detects the first adjacent tile with area number "-1", the process proceeds to step S408. In step S408, CPU 102 determines whether or not the adjacent tile with area number "-1" has been detected.
[0163] If the result of this determination is that an adjacent tile with area number "-1" is detected, the process proceeds to step S409. On the other hand, if an adjacent tile with area number "-1" is not detected, the process proceeds to step S404.
[0164] In step S409, the CPU 102 sets the region number of the unit tile adjacent to the adjacent tile with region number "-1" to the maximum region number. Specifically, the position of the adjacent tile with region number "-1" (position of the tile of interest) is set to (x4, y4), and the following process is performed.
[0165] if((area_number[x4-1][y4]=-1) area_number[x4-1][y4]=max_area_number if((area_number[x4+1][y4]=-1) area_number[x4+1][y4]=max_area_number if((area_number[x4][y4-1]=-1) area_number[x4][y4-1]=max_area_number if((area_number[x4][y4+1]=-1) area_number[x4][y4+1]=max_area_number Once the area numbers of the adjacent tiles have been updated in step S409, processing proceeds to step S407, where the search continues to check whether there are any other adjacent non-blank tiles. If there are no more non-blank adjacent tiles, i.e., if there are no more tiles to which the maximum area number should be assigned, processing proceeds to step S404.
[0166] If the area numbers of all unit tiles are not "-1", that is, if all unit tiles are blank tiles or any of the unit tiles has an area number set, it is determined that no unit tile with area number "-1" exists.
[0167] In step S410, CPU 102 sets the maximum region number value as the number of regions. That is, the maximum region number value set so far becomes the number of regions present on the page. This ends the region setting process within the page.
[0168] Fig. 13 is a diagram showing each unit tile after the area setting process is completed. Page 1300 in Fig. 13 represents the entire page. Area 1301 in Fig. 13 is an area drawn according to a TEXT drawing command, area 1302 is an area drawn according to a BOX drawing command, area 1303 is an area drawn according to an IMAGE drawing command, and area 1304 is an area that has not been drawn at all. In this case, the result of area setting is as follows:
[0169] ·Number of areas=3 ·Area number=0 Blank area 1304 Area number = 1 Text area 1301 Area number = 2 Box area 1302 Area number = 3 Image area 1303 As shown in Fig. 13, each region is spatially separated by at least one blank tile. In other words, unit tiles that are not separated by even one blank tile are considered to be adjacent to each other and are processed as the same region.
[0170] Human vision has the characteristic that it is relatively easy to perceive the difference between two colors that are spatially adjacent or very close, but relatively difficult to perceive the difference between two colors that are spatially separated. In other words, the result of "outputting in a different color" described above is easily perceivable when it is performed on the same color that is spatially adjacent or very close, but is difficult to perceive when it is performed on the same color that is spatially separated.
[0171] In this embodiment, the areas considered to be different areas are separated by a predetermined distance or more on the paper surface. When printed on A4 size paper, the distance is preferably 0.7 mm or more. The preferable distance may be changed depending on the size of the paper to be printed on. It may also be changed depending on the expected observation distance. Furthermore, even if the areas are not separated by a predetermined distance on the paper surface, they may be considered to be different areas if they are different objects. For example, even if the image area and the box area are not separated by a predetermined distance, they may be set as different areas because they are different types of objects.
[0172] In this embodiment, pixel positions regarded as the same region are within a predetermined distance on the paper surface with the background color in between. Examples of the background color are white, black, and gray. The background color may also be a color defined in the manuscript data. The predetermined distance is preferably less than 0.7 mm when printed on A4 size paper. The preferable distance may be changed depending on the paper size to be printed. Also, it may be changed depending on the expected observation distance. Furthermore, even if the pixel positions are within a predetermined distance on the paper surface, they may be regarded as different regions if they are different objects. For example, even if the image region and the box region are within a predetermined distance, they may be set as different regions because the types of objects are different.
[0173] As described above, in this embodiment, by dividing the regions in this manner, it is possible to limit the number of combinations of color information that are the subject of color degeneration correction processing. By limiting the number of combinations of color information, it is possible to perform the same color degeneration correction on regions that have the same color distribution, even if they are different regions. As a result, it is possible to obtain the same correction result for graphs that use the same color information but are separated as regions.
[0174] Furthermore, by limiting the number of combinations of color information that are the subject of color degeneration correction processing, the color gamut for providing distance between color information can be increased, and the degree of color degeneration can be reduced.
[0175] As described above, in this embodiment, even within the same page, spatially separated parts are set as separate areas, and suitable mapping is set for each, thereby making it possible to reduce both the decrease in saturation and the degree of color degeneration.
[0176] Also, in step S303, the CPU 102 may divide the manuscript data into a plurality of "partial pages". Here, the "partial pages" in this embodiment will be described. As described above, the manuscript data to be printed is document data consisting of a plurality of pages. The "partial pages" represent how the plurality of pages included in the document data are grouped together to be used as the target for creating the above-mentioned color degeneracy correction gamut mapping table. For example, assume that the document data is composed of the first to third pages. If each page is to be used as the target for creating the mapping table, the first, second, and third pages are each "partial pages". Also, if the first and second pages and the third page are to be used as the target for creating the mapping table, the first and second pages are "partial pages", and the third page is also a "partial page". Also, the "partial pages" are not limited to groups of pages included in the document data. For example, a part of the area of the first page may be used as the "partial page". In step S303, the manuscript data is divided into a plurality of "partial pages" according to a group of "partial pages" determined in advance. The group of "partial pages" may be specified by the user.
[0177] As described above, in this embodiment, even within multiple pages, partial pages can be set as separate areas and a gamut mapping table after color degeneration correction can be applied to each of them, thereby reducing both the decrease in saturation and the degree of color degeneration.
[0178] In this embodiment, the correction process is performed for each region. Therefore, the same input color in different regions on the same page may be corrected to different color information due to differences in color distribution in the regions. This becomes an issue when it is desired to give meaning to the same color information in different regions, as described in the first embodiment.
[0179] This can be solved by performing the color matching correction described in the first embodiment on the area. A flowchart of the gamut mapping process is shown in Fig. 23. In Fig. 23, the same step numbers are used for processing steps that are the same as those in Figs. 2, 9, and 18, and descriptions of these processing steps will be omitted.
[0180] In step S901, CPU 102 performs an analysis process of the set area. In this analysis process, the area is the subject of the page analysis in step S501, and in step S502, CPU 102 judges whether color degeneration correction is necessary for the area. The criterion for judging that color degeneration correction is necessary may be that the area is a graphic area, that color degeneration has occurred as a result of mapping the input color of the area, or that color degeneration has occurred at a predetermined rate or more in the input color of the area. If it is judged that color degeneration correction is necessary as a result of this judgment, the process proceeds to step S902, and if it is judged that color degeneration correction is not necessary, the process proceeds to step S306.
[0181] In step S902, the CPU 102 stores, in the RAM 103, information (flag) indicating that the color degeneration correction is required for the area determined to require the color degeneration correction, in association with the area.
[0182] In step S304, the CPU 102 creates a TBL after color degeneration correction for the area determined to require color degeneration correction in the same manner as in step S103 above.
[0183] In step S305, the CPU 102 applies the color degeneration corrected TBL created in step S304 to the area determined to require color degeneration correction. In step S306, it is determined whether the analysis process in step S901 has been performed on all areas.
[0184] If it is determined that the analysis process of step S901 has been performed on all regions, the process proceeds to step S903. On the other hand, if there are regions that have not yet been subjected to the analysis process of step S901, the process proceeds to step S901.
[0185] In step S903, the CPU 102 performs color matching correction on the area determined to require color degeneration correction. Details of the process in step S507 will be described with reference to the flowchart in Fig. 19. This is similar to the case where the target of the color matching correction of the page in step S507 is a region.
[0186] The above-mentioned process maintains the relationship between the output colors in each region as much as possible, while correcting color information that is recognized as the same in the input colors to color information that is recognized as the same in the output colors. As a result, it is possible to make color information that is recognized as the same even in different regions in a document in which colors are given meaning, while suppressing the decrease in distinguishability between the output colors in each region as much as possible. In addition, this process may be performed on the color degeneration corrected TBL generated for each region, and color matching correction may be performed on the TBL.
[0187] [Fifth embodiment] When the image processing accelerator 105 is used to perform the process according to the flowchart of Fig. 23 described above, the upper limit of the number of arithmetic circuits that apply the color degeneration corrected TBL to image data is determined by the characteristics of the image processing accelerator 105. Therefore, when the number of areas in the image data exceeds the upper limit of the number of arithmetic circuits, a decrease in processing speed becomes an issue. This is the same even when the CPU 102 is the main processing unit. In this embodiment, a processing flow that makes it possible to suppress a decrease in processing speed even when the main processing unit is the CPU 102 will be described, but the following processing may be performed by the image processing accelerator 105.
[0188] The gamut mapping process in this embodiment will be described with reference to the flowchart in Fig. 24. In Fig. 24, the same process steps as those in Figs. 2, 9, 18 and 23 are given the same step numbers, and descriptions of those process steps will be omitted.
[0189] In step S1001, the CPU 102 performs area joining processing. Details of the processing in step S1001 will be described with reference to the flowchart in Fig. 25. In step S1101, the CPU 102 acquires color information of each area (color information other than the output color because the TBL after color degeneration correction has not yet been applied to the image data at this point).
[0190] In step S602, CPU 102 acquires color information of the common color by performing the same process as in step S602 described above on the region, as in the fourth embodiment. In step S1102, CPU 102 determines whether or not a region to be subjected to color matching correction exists. If a common color does not exist, it is determined that a region to be subjected to color matching correction does not exist, and the process proceeds to step S901. On the other hand, if a common color exists, it is determined that a region to be subjected to color matching correction exists, and the process proceeds to step S1103.
[0191] In step S1103, the CPU 102 joins the regions to be subjected to color matching correction to set one new region including all the regions to be subjected to color matching correction. The process in step S1103 will be described with reference to FIG.
[0192] 26 is an example of image data including multiple graphic areas. Areas 2602, 2603, 2605, and 2606 are graphic areas, and are assumed to be areas associated with flags indicating that color degeneration correction is required in this process. Input color 2608 is assumed to be equal to input color 2611, input color 2609 is assumed to be equal to input color 2612, and input color 2610, input color 2613, and input color 2616 are assumed to be equal.
[0193] In such image data, if there is at least one common color and the image data is set as a color matching target, in step S1103, a new area 2607 including the three areas 2602, 2603, and 2605 is set. Then, including the area newly set by this process, area analysis is performed again, and a TBL after color degeneration correction is created for each area. In FIG. 26, a TBL after color degeneration correction is created for areas 2606 and 2607. Here, without setting area 2607, areas 2602, 2603, and 2605 may be regarded as one area, area analysis may be performed again, and a TBL after color degeneration correction may be created. In other words, the areas do not need to be continuous on the image data, and it is sufficient that the correction process can be performed on all areas including a common color.
[0194] By the above processing, for the areas 2602, 2603, and 2605, a common post-color degeneration-corrected TBL is created based on the colors of the three areas, and the colors common to the three areas are corrected to the same color.
[0195] If it is determined in step S1102 that color matching correction is not necessary because the input colors of each region only have combinations with a predetermined color difference or more and there is no region that includes a common color, the process proceeds to step S901. Then, CPU 102 performs region analysis processing in step S901, creates a color degeneration-corrected TBL for the selected region in step S304, and applies the color degeneration-corrected TBL created for the selected region to the selected region to perform correction in step S305.
[0196] By the above-mentioned process, in the area where the common color exists, the common color is corrected to be the same, and when the common color exists, the number of areas to be corrected is reduced. This reduces the number of times that exceeds the number of calculation circuits, and improves the processing speed.
[0197] [Sixth embodiment] In the first embodiment, when the case shown in FIG. 21 is implemented, in the fourth embodiment, when a judgment is made on the color-reduction-corrected TBL generated for each region and color matching correction is performed on the color-reduction-corrected TBL, it is necessary to store the color-reduction-corrected TBL. Taking FIG. 21 as an example, the color-reduction-corrected TBL stored / saved in step S701 is stored / saved in the RAM 103 or the storage medium 104, and is transferred to the CPU 102 for application. In other words, since the number of color-reduction-corrected TBLs is always proportional to the number of pages, the problem is that it takes a long time to process image data with a large number of pages. This problem is also the same in the fourth embodiment in which the correction target is a region, and it takes a long time to process image data with a large number of regions.
[0198] The gamut mapping process in this embodiment will be described with reference to the flowchart in Fig. 27. In Fig. 27, the processing steps with the same step numbers as in the other figures are as described above, and therefore their description will be omitted.
[0199] If it is determined in step S306 that all of the areas set in step S303 have been selected as selected areas, the process proceeds to step S1201. In step S1201, the CPU 102 performs integration of the TBL after color degeneration correction and color matching correction. Details of the process in step S1201 will be described with reference to the flowchart in Fig. 28. As an example, it is assumed here that this process is performed on areas 2602 and 2603 in Fig. 26.
[0200] In step S1301, the CPU 102 acquires input colors for each area. For the area 2602, input colors 2608, 2609, and 2610 are acquired, and for the area 2603, input colors 2611, 2612, 2613, and 2614 are acquired.
[0201] Next, in step S1302, the CPU 102 calculates the ratio of common colors in the input colors for each region. In this example, the input colors 2608 and 2611, the input colors 2609 and 2612, and the input colors 2610 and 2613 are common colors.
[0202] In step S1303, CPU 102 determines whether all input colors of all regions are 100% common colors. If the result of this determination is that all input colors of all regions are 100% common colors (YES), the process proceeds to step S1304. On the other hand, if the condition that all input colors of all regions are 100% common colors is not met (NO), the process proceeds to step S1305.
[0203] In the example of Fig. 26, there are three input colors in area 2602, all of which are common colors. On the other hand, there are four input colors in area 2603, of which input color 2614 is not a common color. Therefore, the result of the determination in step S1303 is NO. Here, the result of the determination is YES when all of the input colors in all areas are common colors.
[0204] In step S1304, the CPU 102 selects one of the color degeneration correction TBLs, and discards all the color degeneration correction TBLs that are not selected. In step S1305, the CPU 102 first acquires the hue of the non-common color present in each region. In this example, the hue of the input color 2614 is acquired. Then, the CPU 102 checks for each region whether the color is different in hue from the common color. In this example, it is determined whether the non-common color 2614 in the region 2603 has the same hue as the other common colors. Here, the same hue may mean that the hue angle is exactly the same or within a predetermined value. Here, the hue angle unit is the target when performing the color degeneration correction. If the hue is the same, the non-common color is involved in the correction of the other common color. On the other hand, if the hue is different, the non-common color is not involved in the correction of the common color, so the correction of the common color is performed in the same manner in both regions. If the color 2614 is a different hue from the common color, then a YES determination is made in step S1305, and the process proceeds to step S1306.
[0205] In step S1306, the CPU 102 integrates the color degeneration-corrected TBLs created in the respective regions into one color degeneration-corrected TBL that reflects the portions where correction has been performed in the color degeneration-corrected TBLs. A specific method for the integration procedure will be described. In this example, the first color degeneration-corrected TBL created for the region 2602 and the second color degeneration-corrected TBL created for the region 2603 are integrated. The portion where the input color 2614, which is not a common color, is corrected is the portion of the grid of the second color degeneration-corrected TBL that is closest to the input color 2614 in the color space. Therefore, a TBL in which the value of the second color degeneration-corrected TBL is copied is created in the corresponding grid portion of the first color degeneration-corrected TBL, and the second color degeneration-corrected TBL is discarded. Alternatively, the second color degeneration-corrected TBL may be adopted as it is, and the first color degeneration-corrected TBL may be discarded. Alternatively, the two color degeneration-corrected TBLs may be discarded, and a new color degeneration-corrected TBL may be created by performing analysis processing on a new area that includes both areas.
[0206] If the color 2614 is not a different hue from the common color, NO is determined in step S1305, and the process proceeds to step S803. In step S803, the CPU 102 performs color matching correction processing of the TBL after color degeneration correction.
[0207] When the process of step S1304 or step S1306 is performed, one color degeneration-corrected TBL is applied to multiple regions. Therefore, after completing the process according to the flowchart in Fig. 28, in step S1202, the CPU 102 applies the color degeneration-corrected TBL to each color degeneration-corrected TBL, not to each region.
[0208] In step S1203, the CPU 102 determines whether or not all the color degeneration-corrected TBLs have been applied in step S1202. If the result of this determination is that all the color degeneration-corrected TBLs have been applied in step S1202, the process proceeds to step S105. On the other hand, if there is any color degeneration-corrected TBL that has not been applied in step S1202, the process proceeds to step S1202.
[0209] In this way, according to this embodiment, the number of TBLs after color degeneration correction is reduced depending on the color distribution of the area, thereby reducing the transfer time of the TBLs after color degeneration correction and improving the processing speed.
[0210] The numerical values, processing timing, processing order, processing subject, data (information) structure / acquisition method / send destination / send source / storage location, etc. used in each of the above embodiments are given as examples to provide a concrete explanation, and are not intended to be limited to these examples.
[0211] In addition, a part or all of the embodiments described above may be used in appropriate combination. In addition, a part or all of the embodiments described above may be used selectively.
[0212] (Other embodiments) The present disclosure can also be realized by a process in which a program for implementing one or more functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that implements one or more functions.
[0213] The invention of this specification includes the following image processing device, image processing method, and computer program. (Item 1) a correction means for correcting color conversion information used in color conversion; a conversion means for converting color information of the image data into color information of a different color gamut using the color conversion information corrected by the correction means; Equipped with The correction means is When it is determined that the first color information included in the first region in the image data and the second color information included in the second region in the image data are a combination of color information that is color degenerated, the color conversion information is corrected so that a color difference between the first color information and the second color information before and after color conversion falls within a predetermined color difference. 13. An image processing device comprising: (Item 2) The image processing device described in item 1, characterized in that when the third color information included in the first area and the first color information are within a predetermined hue angle range, the correction means performs correction so that the result of color conversion of the first color information and the result of color conversion of the third color information have a predetermined color difference or more. (Item 3) 3. The image processing device according to item 2, wherein the predetermined hue range is a range of hue angles in which the colors are recognized as the same color. (Item 4) 4. The image processing device according to item 3, wherein the predetermined hue range is a range of hue angles obtained by dividing the a*b* plane in the CIE-L*a*b* color space in units of 30 degrees to 60 degrees. (Item 5) The image processing device described in item 1, characterized in that when it is determined that the first color information and the second color information are the combination, the correction means performs color difference correction for a third area including the first area and the second area. (Item 6) The image processing device described in item 1, characterized in that when the first color information and the second color information are determined to be the combination and the correction direction is the same, the correction means corrects the color difference based on the area with the larger number of colors between the first area and the second area. (Item 7) The image processing device described in item 1, characterized in that the correction means generates first color conversion information for the first area, generates second color conversion information for the second area, and corrects the color conversion information using the first color conversion information and the second color conversion information. (Item 8) 8. The image processing device according to item 7, characterized in that when the first color conversion information and the second color conversion information are identical, the first color conversion information or the second color conversion information is applied to the first region and the second region. (Item 9) 8. The image processing device according to item 7, characterized in that when there is a difference between the first color conversion information and the second color conversion information, third color conversion information created from the first color conversion information and the second color conversion information is applied to the first region and the second region. (Item 10) when there is a difference between the first color conversion information and the second color conversion information, third color conversion information and fourth color conversion information are generated from the first color conversion information and the second color conversion information; 8. The image processing device according to item 7, wherein the third color transformation information is applied to the first region, and the fourth color transformation information is applied to the second region. (Item 11) 2. The image processing device according to item 1, wherein the first area and the second area are graphic areas. (Item 12) 2. The image processing device according to item 1, wherein the predetermined color difference is 2.0. (Item 13) An image processing method performed by an image processing device, comprising: a correction step in which a correction unit of the image processing device corrects color conversion information used for color conversion; a conversion step in which a conversion means of the image processing device converts color information of the image data into color information of a different color gamut using the color conversion information corrected in the correction step; Equipped with In the correction step, When it is determined that the first color information included in the first region in the image data and the second color information included in the second region in the image data are a combination of color information that is color degenerated, the color conversion information is corrected so that a color difference between the first color information and the second color information before and after color conversion falls within a predetermined color difference. 13. An image processing method comprising: (Item 14) A computer program for causing a computer to function as each of the means of the image processing device according to any one of items 1 to 12.
[0214] The invention is not limited to the above-described embodiments, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]
[0215] 101: Image processing device 102: CPU 103: RAM 104: Storage medium 105: Image processing accelerator 106: Data transfer I / F 107: Network 108: Recording device 109: Image processing accelerator 110: Data transfer I / F 111: CPU 112: RAM 113: Storage medium 114: Recording head controller 115: Recording head
Claims
1. A correction means for correcting the color conversion information used for color conversion, A conversion means that uses the color conversion information corrected by the correction means to convert the color information of the image data into color information of a different color gamut. Equipped with, The correction means is If it is determined that the first color information contained in the first region of the image data and the second color information contained in the second region of the image data are a combination of color information that is color-degraded, the color conversion information is corrected so that the color difference between the first color information and the second color information before color conversion and the color difference after color conversion are within a predetermined color difference. An image processing apparatus characterized by the following:
2. The image processing apparatus according to claim 1, characterized in that the correction means performs correction such that, when the third color information and the first color information included in the first region are within a predetermined hue angle range, the result of the color conversion of the first color information and the result of the color conversion of the third color information are greater than or equal to a predetermined color difference.
3. The image processing apparatus according to claim 2, characterized in that the predetermined hue angle range is the range of hue angles that are recognized as the same color.
4. The image processing apparatus according to claim 3, characterized in that the predetermined hue angle range is a range of hue angles obtained by dividing the a*b* plane in the CIE-L*a*b* color space into units of 30 to 60 degrees.
5. The image processing apparatus according to claim 1, characterized in that the correction means performs color difference correction for a third region including the first region and the second region when it is determined that the first color information and the second color information are the combination.
6. The image processing apparatus according to claim 1, characterized in that, when the correction means determines that the first color information and the second color information are the combination and the correction direction is the same, it performs color difference correction based on the region with a larger number of colors in the first region and the second region.
7. The image processing apparatus according to claim 1, characterized in that the correction means generates first color conversion information for the first region, generates second color conversion information for the second region, and corrects the color conversion information using the first color conversion information and the second color conversion information.
8. The image processing apparatus according to claim 7, characterized in that if the first color conversion information and the second color conversion information are the same, the first color conversion information or the second color conversion information is applied to the first region and the second region.
9. The image processing apparatus according to claim 7, characterized in that if there is a difference between the first color conversion information and the second color conversion information, the third color conversion information created from the first color conversion information and the second color conversion information is applied to the first region and the second region.
10. If there is a difference between the first color conversion information and the second color conversion information, the third color conversion information and the fourth color conversion information are generated from the first color conversion information and the second color conversion information. The image processing apparatus according to claim 7, characterized in that the third color conversion information is applied to the first region and the fourth color conversion information is applied to the second region.
11. The image processing apparatus according to claim 1, characterized in that the first region and the second region are graphic regions.
12. The image processing apparatus according to claim 1, characterized in that the predetermined color difference is 2.
0.
13. An image processing method performed by an image processing device, The correction means of the image processing device includes a correction step of correcting the color conversion information used for color conversion, The conversion means of the image processing device performs a conversion step that uses the color conversion information corrected in the correction step to convert the color information of the image data into color information of a different color gamut. Equipped with, In the correction process, If it is determined that the first color information contained in the first region of the image data and the second color information contained in the second region of the image data are a combination of color information that is color-degraded, the color conversion information is corrected so that the color difference between the first color information and the second color information before color conversion and the color difference after color conversion are within a predetermined color difference. An image processing method characterized by the following:
14. A computer program for causing a computer to function as one of the means of an image processing apparatus according to any one of claims 1 to 12.